>u9Ib{yzzzz{{|||z||}}{{z{{z{{||||{|{{z{z{z|z{{{}||||{z|{zz{{{{|{{{}|{{{zz{{{{|{z{|{|{{zz{zz{|{{{z{|{{{{z|zzz{|{{{|{{{z{zz{z{{{z|{{{{{{|z{yz{{z|{z{{{{{{z{{z{|{{{{{{|{{{{zzzzz{z{||{|{z{zzzzy||{zz{||{{z{zzz{z|zz{||{{z{z{z{{z{z{{z|{{{{{zzzz{{{{|{{{z{{zzz{z{|{|{{|{{{{{{zz{|{{{{{{{{{z{{z|z|}{{||{|{{z{{{{z{{{{{{|z{|{{{yz{|{||{|{z{{{{{z{{{|||{|{{{|z{{z|{{|{|||}|{{z{{{zz||{|}|||{z{{|{|{{|||||||{|{{{{}{||||||}|{{{{{{{{{||||||||{{|z|{z}{|{|||||{{|{{{{{{|||||||{z{||{{}{|{||||{zzz||{z|{{{|}|{{{z{zzz{{{|{{{{|{{{{{zz{|z{{||{}||{{|||z|||||}|{{{|{|z{{{{|z{||}|{{z{z{{||}{}|{{{|{{{z{{|{{|{{|{z{{{{|{z{|{{{}{|{{zz{|{zz||{|{}||{z{z{{z{{|{|{|{{{zzzz{{{{{{{{z|zz{{{z|{{z{|{||{{z{{|{{{{{{{{|||z|zzz{|zz{|||{|{{zz{{||z{{{{z|{{z|{zz{{{|{zz{|{|{y{z{{z||{{{||||{{zy|z{{{||{{{{{{z|z{{z{}{{{||{{{z{{{{y{{{{}|{|z{{{z{z|{{{|||||}|{zz{{||||}{|||{||z{{z{{{|||{|}{z{|{{{{{{||||}{}{{|{|||{||||{{||{{{{{|{|{|}}{||{{{{{{||{|||{||||{z{{{|||{||}|}|~|{{{{z{{{}}}}}||}{|||{{z|||~|||{||z|{{z{}|{||{|||||{{{{{{|||{}||{|{z{{{|||{{}|{|{{|{z{zz|{{}{|{{{{{z{{zz}{{z{|{|{{|||z{{{||||||}{{{{|{{{||}{{||}|{{{{{{{{{}{||}|||{{{z|{{{|||{||{z{zz{z{|{{|{||||{z{zz{|||{|||}|{z|{{{{z|||z{||{||{{{{z{{z{||{{|zzzzz{zz{||{{{||{{z{z{z{|||{||||{z{{{{z|{{{{{{{|{{{{z{zz{{|{{}{}||{z{{{{{{|z||{|{{z{||zz||{|{{{||{z{{{{{{||{{{{{{{{{{{{{||||{|||{{{{{z{||}|{|||}z{|||z||{||{{||{{z{{|zz{{||{}z|||{z{{{{|{|{{{||}{|{|{{|{||{}|{}||{{|||{{{}||||||{z{|{{{z{|}||||||{|{|{|{}|}|}||||{|{{|{{{}||{|||||{{|{||{~}|}}}}{{|{z{{||}|}||||{{|||{{||{|||||||||{|{|||}|{||}|{{|z|{{{{|||||}}||{{||{||{{||}|{|{|{{{{{{{||{||{||{|{|{|{{|{{||}{||{|{z||}|||}||{{zz{|{|{{|{|}{{||z{{{{{{{|{|||{{{{zz{{z|{|{{{||{{{{{z{z{|{{{|||{|{{{{{{{{||{|{||{{{z{{zz{{{{{{|{{zz{z{{{{|{|z{|{z{{{{{z{{{{{||{{z{{{{{{{||{|z}{|{{{zy{{z{{{}||z{{{z{{{{{{{{{{{{{{z{z{z{{|{|{||{{{z{{zz{{}{{{{|{|{|{{{{z|z|||{||z{{{{{{{{|||||{||{{z|{|{z|{|||||{{{{{z{z{|||||}|{{{|||{z{|||||{|{{{||z|{||||{{{|{{{}{z{{{{|||{}|{|{{{{{{{{|{}|||{{||||{|{}|}}}|}|z{{{||}{}||}}}}}|{{|||{||}|}||}|{{{{z}{{||}||||}{{{||{||{{{}||}{{{||{|{}{}||}|}{|z{{z{{||{||{|||{{z{z|{|||{||{|{{|{{{{{{{{{{||}}{{z}{{{|}|{||}}|||||{{{|{}|}||}}{{{{{{{||{z{|{|{}{{z{|{{|||{||||{{{{{z{{{|||||}{{zz{{{{z|{{|||{|{{z|{{z{{|{{|z|{{|{z{z{{{z|{{{{z|z{|{{z{{z||{|{{{|{y{z{|{|{|{{{|{{{z{{{{{|{|z||{{{z{z{{{|{|{{{|{{z{{z{{{|{|||{{{{{{{||{|{|{{{}{|{{{{z{{|||||{}{{zzz{{{{{|{|{|{|{{z{y{{{|{|||}|||||z{{z{{{}{|||{{||{{{{|{||z{{|{{{{||{{{{|||{{||{|zzz{{z{{||||{|{{{{{{||{|||{||||{{{{{|{|{|||}}{{{}{}|z{|}||{{|{|||{{||{||||}|}}||{}{|{||||||||||{|{|{|{|}|}|||}|{||{{|{|}||}|}||{{|{}{{|{{}||}|||{{|{|z{|||||}}|||{{|{{||{{||||||{z{{{{{|||||}}||||{z{{||}|{|}}|{|{|zz{{}|||||}|zzz{{{{z|{{|{||{{{|{{{{{z|{{{|{{{{{zzz{{{||{{||z{{{{z{{{{{|{||{{{zz{{zz{z||{{{|{{zyzz{z{{z{{{z{{{{zz{zzy{{{{{{{{{z{zz{{z|{{|{}||{{z{z|{z{|{z{||{zzzzzzz{{{{z|{{|zzz{z{{z{{z{{{{z{{z{{{z{zz|{|}||zzz|z{{|{|{{|||{z{z{zy{{{{{{{{|zz{z{zzz|{|{{|{}|{|z{z{z{|{|{|{{{{|zz{z{|{{{{|{{{z{{z{{{{{|z|{{{|{|{|{{{||{||{||z|{{|z|{{|{|{|||{{{|{z|{{|}||}{|{||{|{{|||{{{||}{{|{{z{{|}|||||||{{|zz|||{}|}}}}|{|||z{|||}{{|{{|z|{|{{{}|||}||}{{|{|{{{||z|}||}|{{{{{{{{{{|{||||{{|{{zz|}{|{z|{{{{{{{{{{{|z{|{{||z{{{|z{|}{|}|||||{z{{|{{{|}|||{{{{{{{z{}|}|||||{|{{{{{|{||{|{|{{{{z{{z{|}||{}|{{{{|{{{{|||}||{|{|{{z{{{{{z||{|yz{zy{{|{|{z{{|{zz{zzy{{zz{z{|{{{{{{zyz{{{{|||||{|{{zzz{z{z{{||}|z{{{{{{z{{{{z|{{{zz{{zz|{{{{{{|z{|zz{{z{|{{|{{|{|{{{z{z{{{|{{|||{{|{z|{z|||{{|{{||{zz{z{}|{|||||{|{{z{z{|{|{{{|{{|z{{z|{{}}{|}{{z{|{{{{{|||||{}{|{{z{{|{|||||||{{}|{{{{{|{||}|}|{{{{{{{{}|||||||{|||{{z|}{|||||z{||{||{|}{}|}|}|{||{|{|||}{||||{{{{|{|{}{|||}|z{{{||||z{{|{{{}}{|{{{{|{||||}|}{{}|||z{z{||{{|}|{zzzz{{{{||||{{|{|{{z{{{{||z|}|||{|||{||||{|||||||{}{{{||{|{}||||{z{{{{{{{{{|||}||{{{{{{{{{{|z}|{{{{{z{{|{||{||||{{z{z{{|{{{||{|{{{{{{z{{{{{{{{|{|zz{{{{{|{{z{|{{{zzzzzz{|{}z||{z{{{{zzz{{|{|{{z{{|{{zz{{{{{{{{{{|{zzzzz{{{{|{{|{{{{z{{{z{||{|z|{{{z{{z{{{{{{{{{{{{{zz|{{{|{|{{|}{|{{z{{|{{{|{{|{{{{{z{{|{{||}|||{z{{zz|{|{|{|{{{|z{z{{{|{||||{||{yz{z|{z|{|||{{|{{{{{|{|{||||||{{{z{{|{{{{||||}{{{{{{{|||{|||||||{{{{{||}||||}}{{{{{||{{|{|}}|}}||zz|||{|||{||}|||||{{{|||{||{||{||{||{{{|{|||}||{|{{{{|{{||}}|{||z{{|{{{|{{||{|{{||{{{{{{{{}}{{{{{zz{z{z{{||}}{||}{{|{{|}{{{}||}z{|{{{|}||{}||{|{{{|{{}|{||{|||{|{|z{{{||||}{{|zzzz{{z{|{{{||||{{{{{z{z{{|{||{{{z|z{|z{||{z|{||{z{{{{{{{{{{z||{{{zzz{{z{{{||{|{{{z{{z{z{|{{|{|{{{{{{zz{{|||{|{{{{|{{{|z{z{{{{|z{{{{z{z{|z|||{|{{z{|{zz{z{||}{|{|{{{{|{{|{|||}{{{{|{z{{{||{||||{{|{{{z{|||||{|{{{{{{{{{z{|{||||{{{z{{{z||||{{|||z{{||{z|{{{{}|{{{{{{{|{{|{}}|||}{|{{|{{{|||z}|}|{||{z|{{}||||{||z{{z{{{{}|||{}}{{}||{||||}{|}|||{|{{|}|{|}{|}}||{|}|}||}{|||}|||{{{||{||}|{}||~||{|{zz||||}||||{{{{|{{z|{|{|{|}{|{{{{zz{||||{|||{{z|{{{{{{z{}|{{||z{{{z|||||||}||||zz{{|{|||}}||{zzz{{z|||{||||{{{zz{zz{{{{z|}||{z{{z{z{{{|{|{{|{{zz{{z{|{{{||z{{{z{{{{|z|{{}||zzzz{{z{{{{{|{{{zzzz{yz{y{|{{|{{{zz{{zz{{{|z{{}{|{{zz{zz{|{|{{{|z{{{{{zz{{zz{{{{zz{zzzz{{{|{{{z{{{{{z{z{{{{{{{|{{z{{{zz{{{|{{{||{{z{{{{z{{{{||||{||z{{{z{z{{|{{|{{{z{z{{|{|{{||}{{{z{z{{{||{||}{{{||{z{z{|||z|{||{{z{{{{||||{}{|z{{{z{{{{|{|{{||z{z{z{{{|||{|{||{{{||zz{|{{|{}|}|{|{{||z|}{||}}|||z{{{||{}|{|}|}}{z{z|{{{||||||{{z{{||{{|||{|}||||{{{{|{|{{|||||{{{z{{{z{{{{||{|{z{z{zyz{|{|||||{{z{{{{zz{|z{}||||{{|{|||}}||}||||{{{z{{|||||}||{|{z{{|{{{{{|||{|||{||{z{{||{{|||z|zz{|{{{|||{}{z{{zzz{{{}|{{||{{{{zzy{{{{{y{{|{zzz{zz{y{z|z{{{|zzzzzzzzz|{zz{|{{{{{z{zz{|{z{{|{|z{yzzz{z{}|{{{{{{z{zzzzzz{z||{{{{{{zzzz|{{|{{z{{{{{zz{{|{{{{{}|{{zy{z{{|||{|{||{{{{z{z{z|{{{|{|z{{z{zzz{{|{|{||{y{|{{{z{||{{||{{{{|{{|{z||||{{||{{{{{z|{{{{|{||||{|z{{{{{|||{||z{{{{{|z{|z{|{{|{{{{{{{{{|{{{|}||z|{{{{|{|||{{||||{{{|||||}||||}|{{{{||{|}|||||{|{||{{{|||}{{||}|zzz{{{{|{||{|}{||z{|{{{|{||{|{{|z|z{{{{||{||{|{{{|{{{{{|{{|{{}|z{zzzz{{{{|y{|||{|{{|{|{|}|}||||zz||{z{z|{}||||}|||z|{{{||z{|||{|z|{|{{{{||{{||||{{{{z{y{{|zz|{z{z{{zz{z{{|||||{{|{{{{{z{{{{{{{z{z{{{{z{{{{{{{{{z{{zzz{zz|z{{||{zz{{z{zz{z{{|||z{{{{yz{{{{{|{{{|{{z{z|z{z|{z{{{{{zzz{zz{{{{{{|z{z||z{{zy{|{z{|{{{{{y{{{{z{{{{|||{{|z{{{{|{{{{||{{z{z{z|z{}{{||{{{||{{z|{{{{{|{|{|z{zz{{{{{||{|{|{{{z{|{{||{{{{}|{z{{{{{{||{|{|{}{{{{{|{{|{{|||{|{z||{{{{{||{||{|||{{{{z{|||||{|{{||{{{{}{||||}|{||{|{{{{|}||{|||}{{|{{{{}|}|||||{{{{{{z{{{|{|}}|{|{{{{z|{|{{||||{z{{{|{{{|}{}{|||{|z{{{z{|{||{{|{{{z|{z{{|{z||}}|z{|z{|z{|{|||{}|{{|{|{|}}|||||}|{{{{{{z||{}}|||{{{z|{{||z|{{{}||||{z{zz{{|}||||{{{{{{zz{{|{z||z{z|zyzzz{{|{{|z|{{zzzz{z{z{{{|z{{{zz{yz{{|{{{|{{{{z{zz{|{z{{||{{{{zzzzzz{{{||{{{{{zz|{|z{{{z|z{{z{zz{z{zzzz|{{||zz{{z{zz{{|{{|||{{{{zz{z{|{{|{{z{yz|{z{z|z||{{{|{{z{{z{z|||{{||{z{zz{zz{{{{||||{z{{zz{{{{{|||{~|{{z|{z{{{|{{|{||{|||||{{||{|||||{{|{{|{{|{||{||||{{{z{{{||||||~{|{{{|{{{|||||||||{{|{|{|{|}||}|{||{}|{{||{}}|}}||{{|{{|z{{||}}}{|{|{|{{{||{|||||||{z|{{{|||{{||{{{{{zz{z{}||{{|{{{{{{{{y{||||{||z{{z{{{z|{|{{|||}{{|{|}{}|}}|}||||z{|{|{||{|||{|{{{|{{{{||{{{|||{|{z{z||{||}{{{|||{zz{{{{||{{|{|{z{z{{{z{|zz{||{{z{{{{{z{||{|{{z{z{{y|z{{{{{{{|{{z{zzz{{|{{{{{||{zzz{{zzz{|{||||{{{zz{z{{||z{{||z{z{zz{z{{{|{{|{{z{z{z{{{z{|{{{|{{{zz{zz{{|{{||{z{{{{{{z||zz|{{}|{{|{y{{{{{|z{|||{z{{z{z{|{|{{||{{{z{{{y{||{||||{{{{{{{{||{{||||{z|{{{{{{{{||||{|z{{{{{{{||}||}||{{{z{||{{||||{|{zz|{{{{||||{{}{|{{|}{{|||||}||}{{{{{{||{||}|}||}|{{z||{{}||{}||||||{{{{|||||||}|{{||{z{|||}|||||{{{{|{{||||||}|{{{{|{z|{{||||||{|y{yyz|{|z||{|{z{zz{zzz{|}|{}{|}||||{{{||}||}||{z}||{{{||||||||{{z{|{{{|{||{||{{|{|{z|{|{|}{}||{{{{{|{{|{{|{||{z{|{z|{z{}}{{{|||y{{{zzz{||z{{}|{z{{{{zz|{{zz{{{{zz{zz{|{{{{{{||zz{{{|{zz|{{||{{zz{|zzzz{{z{{{|}{z{y{zzzz{{{{z|{|zzz{||zz{{{{|{||z|{{{zz||{||{{||{{zz{{{|||{{||||z{{{|{z{{}|zz{|z{{|z{{{|||{||{|{zz{{z{{{{|{||{|{{{{{{{{|||{z||{z{{|z{{{{|{{{|{||{{{zz{{{{||{|||{{|{{zz{|z{|{{|||z|{|{z{{{|||{|||{||{||{||||{|||{{{{{||z}|{|}|||}{|{{{{z||}{}||||||z{|{z{{{}{|||}{z{{|{|{|{{|{|}|{{{||{{|{||}{}||{{{{z{||||{|||{|{{zz{{{{{{}|{|{{{{z{zzz{{{{{}|}|||{|||{||{{||}||{||{{{{{||}}||||{{z{{{{|||{||||{zz|{{z{z{||z{|{|{z{z{z{||}{{|{{{{{{{{{z{{|{z{|{{zy{z{{|{||z{{|z{{{zzz|{{{{{{{{{zzzz{z{z{|{{z{|{zz{{zzzz{{{z{{{|z{{{yzz{z{{{{{{||{z{{{zz|{z{z{{{{z{zy{zy{|z{{|||z|{{z{zzz{||{|}{{{{{zz{{{{{||{|{{{z{zz{{|{{{{{||{{{zz{{{|}|{||||{|z{{z{{{{||{}|z{{{z{{{||{{z{{|{|{{{{z{|{|||{{}}z{{{||{{|{{||||{{{{{z{|{|||||{|{{{||z{zz|||{||{|||{|zz|{{{{||}}|{{|{||||{{z|||}}{|{||{{{}{|{||||{zz{|z{{|||}|}||||z{{{{|||||}|}||{{|{|{{|||{|||}z{{{{{{||{{|||||{{|z{z{{|{{|zz{{zz{z{zzzz{{|{}||||||||||}}|}|}~~||z}{{|{|{|{||}||{{z{{{|||||||||{{{|{zz{|{||||{||{{{z{zzz{||{||{{{z{zz|z{}|z{|{z{{{zzy{{{}||{|{{{{{z{{z{{{{|z||{{zz{zz{{{{{{|||{{z{y{{z{{||{|{{|{{{{zzz{{{{||{|{{zzz{{{z||{z{{{{{{z{{zzz{|{{{|}|z{{z{{z{{{z{|{||||{z{z{{{{{{|{{|z{{{|z{{{{|{{|{|{{{{z{yz|||{||||z{{|{z{z{{{|||||{{{z{z{{||{{{||{{{{y{{{{{|{z||{|||z{{{{{{|{||{||{||{{||{{|{||||{{{{|{{{z||}||{{{|{|{{{{|||{{}|||{{|{{|{|{||}||}|}||||{|{{}||}|}}}|{|{{|{|}||}|}|{z{z{{|||{||||||{{{{{|{{{|{||{||||{z{{{{|||||{||{{{|{|{z{{{{{|||{z{{{{{{{{{{|}}}}}{{|||||||}|}}}|||}{{{|{}|}}|||z|z{|{{{|{{{||||{z{{{|z{|{}|{||{{{zzz{{{{||z|{{{|z{||z{||||{{|{{{z{{zz{z{{{{{{~{{z{zz{z|{|{|{|{{z{yyzz{{{|{{{{|{|zzzyz{{{z{|||{{z|{{{{zzz{z{{|{|z{{{zz{{z{|{{{|{{zz|{z{z{z{{|{{{zz{{z{z{|z{|{|{|{{z{{zz{{|{{{|||{{{{{z{z{{{{{{||{{{{yz|{{|{{{{||{|{{{{|{{|{{||{{{{|z{|{{{{{{|||{{{z{|{z{{{|{{|{|{{|{{|{{||||||{|{{z{||{z{|{|{||||{z|{{{z|{|||||{|z{||{{{||{{||||z|||||}{||{}||{{|{{{|||{||}||}|||{{{{z}{|||||||||z{{|{z{|||{|||||{z{{zz{||||{||||{{{{z{|{|{||||}{{{{{{{z{{|}|||{{{{z{z{z{{{{{}}|||}}||{||}}}|{~}|||||{|{}{|{|}}|||{{{{|{}||{|{}||{{{{{z|{{||{|{||{|z{{z{|{{{||{|z{{{z{{{{}{||{{{{{z{{|{{z{{{{{|{{{{{{{{{{{{{{{{|{z{{{z{zz{|{z{{{{y{{{{zz{{{z{{|{{{z{z{{{{{||{{|{{{{{{{zz{{{{{{{{{{{{z{z{{{{{z{|{{{{zz{zzz{|{||{{z|{{|z{z|{|{{||}{z{{{z{|||{|||{{{{{{{{{z{||{{{{{{{{{|z{{||{{{|||z{|{{z||{||{|{|{|{z{z{z{|{{||||{{{{|{{zz|{{}|{|}||{{{{|||||}|||||{z{|{z{}|{|}|{||{{|{{|{{}{{{||||{{||||||{|||}}|{{|||{||{|||{|||{{{||{{{}}{||~{{|{|{{{{||||{}|}}|{|{{|{||||}|}|{{|{{{|{|{{||{{|||{{{{{{|{||{{{{||{{zz{z{||{|{|}}}}|}{{|{{}}|}|}}|{|{{z{{||}{||}}||{{z{{{{{|{{|||{{{{zzz{|z{|{|{{|{{zzy{{|{{{z|{{z{{z{{z{{{|{{{|{{|zzzz{z{z{{{{||{zz|z{{z{z{{{{z{{zzz{{zy{{{z|{{{{zz{zzzzz{||||{|z{{{{z{{{{{|{{{{{zzz{z{y{|{{{{{|{{zz{zzz{{{{{{{|{{|z{{zzz{{|{{{{{{zzzzzz{{{|{|||{{z{zzz{{{{{{|z{{{{{z{{{{{{||||{{{{||z{{{|||||||{{z{{{{z{{{||{{{|{{zzyz{{{{z|||{{{{{y{zz{{{{{||{{{{{|{{{||{{{{|}{{z{zz{z|z}|{{|{|z{{{|{{|}||||}{|z{{|{|{|z|{{}||||{|z{{{{}||||||{|||{{{{|}||{{{{{|}|{|{{||{|}}|}|z{{|{{|{|{|||||{{{z{zz{{||{|||||{zz{{{z{{{{{{{|{{zz{yz{|{{{|~~~|}{||||{{}}|||}|||||{{|{}||||}}||{{{||{|{{|z}{|||||z{{{{{{z{{{}{{{{{z{{z|{{{{|{|{{{zzz{{|||{|{|{{z{z{{{zz||{{{{|{z{{zzzz{{{{{{{{{{z{{z{zzz|{{{|{{z{zz{zz{{{{||{{{{zzyzz{{z|||{{|{zz{zzzzz{{{{{{{{{{{zzz|{|{{{|{{zz{zz{{zz{{{||{||{{z{z{{{|{|{|{|{{z{{{|{|{{{{{||zz{{|z{z{{|{{{{}{{{{|{{{{|{{|||{{{z|{{{{|{||{|||{z|{{{{z{|||z|{{{{{{{{zz||||}|||{||{||{z|||||{|}|{{{|||zz}|{|||||{{||{|||{|{}{{}|{|{{||{{|{|||||}{|z|{{{{}{{||||{{{{|z||{}|||||{|z{{|{|{}||{||{|{z{{|||{|{||{{|}||{zzz|{||{|{{}||{{{{z{z{{|{|{{{zz{zz|{z||{|{~}~|}|}||}}||}||}}}|||{|{|{}{}||}||}|{{{z{{{||||}||{||{|z{{{|{|{{|||{{z{{{{|{|}{|{{|{||y|{z{{|{|{|{{z|{{{{{{{{{{|{{{z{z{{zz{{}{{||{z{zz{z{z{{{|{{{|{{{z{{z{{{|||{|{{z{{zzz{{||{|{||{z{{{{{z{{{zzz|||{{{{zzz{{{{{{{|zz{{z{z{|{{|{{||{z{{z{zz{|{{{|{|{{|{{{{|{||{{}}|{z{{{{z{||z{||||{{{{|{z{{||||{}|zz{{{|{{{|||{||||{{|{{{{{||z{||||{||{{z{|{}|||||z{|z{||{||{||||{{{{||zz{{|{||{{{|{{{|{|{z}||}|||{{||{|||{|||}{|}}{{{|}||||{||}|}}||{{{z{}|{}||{{{{{{{{|||}|||{|}{{z{{|{{{|}|||}|{{|z{{{{{|{{z||||{{z{{|{}|{{|||}|z{z{{{{{{z{|}~~}}||||}{}~}}||}}|}{|||{||}{}}}}|{{{z||{z{{|{||||{{{{z{{|||{|{{|}|{{{{{{{{||{{{{}{z{z{{zy{{|{||{z{{{{z{z{{{|{{{{|{{z{z{zz{{{{{{{{|zzz{z{{{{{{{|{{{{{{|zzz{{|||{{{{z|{z{{z{{{{z{{{{zz{|{{{{z{z||{{z{{z{{zz|{z|{{{|{z{z{{{z{{||z{|{{z{{{{{{{{{{|{|||{{{{{{{{|{|{||{z{{{{zyz{{{{{{{|{{|{{{z{{z||{|||{|{{z{{{}|{{||||{{{{{|{|{{|{{||||z|{{{|z||{{{||}{{{{|{|{|{{|{{{{{|{{{z{{{|{|||}{{z{{{z|z||}{}}||z{{{{{|{{}|||||}|{{|{{{|{|{}|{{|{||||{{|{|{{|||||{|||{{{||{{}||~{{{{{{{{{|||{|}}{z{z{{||{||{|{}}{{{{z{z{{{{|{{{z|{{{{zz{{{{||}~}}}||}||}}}}~}}|}~||||||||}|}}|}||}}|||{{{|{{|}}||{{{|{z{{|||||||{|{{y{{{||||{|||{{|{{z{z{|||{|{{{{{{{{z{|{|z{|{{{{z{z{{{{{{|{|{|zz{z{zzz{z{z||||{{{{z{z{{}{{{{{{{z{zzzy{{}{|z{|{{z{{{zzz{{z{||{{zz{z{{{{{{{z{||||{{y{{{zz{{{{|||{{{|{z{{{||{|{|||z{|z{{|{||{{|{|zz{{{z{{{||||{{|{{{|{{{z||||{|{{{z|{{{{|{{|{|{|{{{{{{{{{|||{||||{{{z{|z{|||}{}||{{{{{|z{||||{|}}{{{|{{{z||{{}}}}|{z{{{|{|}}|||||{{{{{{z{{|{{||||}|||{|{|{}{||||{|{{|z{{z|||{||~||{{|{{|{{|||{|}}|}||{{{||||}|}|||{{{zz{{{||{{{|}{{{{|z{{{|||{{}|{{{{z{{{{||{|~~~}}~}||~|}~}|}~}}|{||{}{|||}}|}~||{z||{{}}||{~|}||{||{{{{}{}|z|}{{|{{{{z{|}||}{{|z|z|{|{||{{{{{|{z{{{{z|{}|{{|||||{{z{z{{{{{|}{}z{zzz{z{{{|{{{{{z{{{z{{z{{}{|{{{{|{|zz{z{{{z{z||{{z{z{z{{|{{||{|{|{z{z{{{|{{{||{{{|{{{|{|{||{{||{zz{{zz{||||{{}}{z||{z||{|||{{}|{{{{|z|{}}||{||{|{|||{|z||||||||zz|{{{|{|{{{||||{z{{{{z||||{|}|{{{{|{{{{||{||}|}z{|||||{||||||||||{{||{{||||}}|{|{||{{|{|}}}||||||{{{|||{}||}||}}{||||||{}|||}||||{|{||{|{{}||}||z{|{{||||{~|}||{{||||{||{|||}|}|{{{|{|{{|||||}{{{{z{{|{{||{||~{{{|{{z{{|{|{{~~}}}}}}|}|}|||}|~}||||}{|||||}|}|{|z{|||z|}|||}|||z{{{{z|{||||{|{{{{{{z{z||{{{{||{{{|{z|z{{{{{|{z|z{{z{zz|||{z{}|{z{{z{{{{{{{{{|{{z{z|z|z{{{|{||z{zz{{{zz{|{{{{{z|{y{z{{z{|{z{{|||y{{{zzz{{{z{z|{|{z{zy{z{{{{{|{|{z|z{{{{{{{{|{{|{{{{zz{{{|{{{{}}{{{z{z{z|{||{{||{z|{{{z|{{{{||||z{{{{{{{{|||||{|{z{|{{zz{||{{{~{{{{{{{{{{||{{||{z{{{{{{|||||{|||{|{{{{{|||{|{{}||z{|{|{{||||{}}{{{|z{{z{{|||||||{{{{{{|||||{{||{|{{{{|{z{}{}|{|||z{||{{{{{|{{{|||{z|{|{{|{|{}||||{{{|{{{{}||||||{{{{||{|{{|||||||{{{{|{z{||||{||zz{z{{{z{{}zz~~~}}}}|{{|}}||||}}|{|||{{{}|}{~|}}{{{{{{{{|{|{{||}{{|{{{{{||}|{||||||{{{{z|||{{|||{z{{|{{{z{{{{z{{{z{zzyzz|||z{{{{zz{{z{zz{||{{{{|{zzz{{{z|{{|{{{{|zzz{{{z{{|{{{{|{{{{{{zz{{||{||{|{{{{zz{{{{zz||{{z{{{zzz{{{{||{|{z{z{{|z|{{{||{|{zz{{{{{|{{|{|||{{{{{y{|{{{{{{|{{z{z{{{{|||{{||||{{{z{|z{{{|{|{|{zz{{z{z||{|{{{|{{{{{{z{|||{{||{z{{{|{{{||||{|||{|{{{{|{|}|{||||z{{{|{z||{|}|||||{|z||{z{}}}{}}}{{z{}{||{}{}|||}|{|||{{{{|}}|}{}|{{{{|{|||}||}|{|{{|{|{{{|{}||}||z|{|{{|||{||}|}||{{|{{{{{{|{z|||{z{|z{z||{||{|{{{{{zzz{|{{{{}~~}~|}|~|~}~~~|~}{|{||||{}||}||}|}||{|{||||{|}|}||{|||{{|{{|||{||||zz{|zz{{|{||||{{{{{|{{||{{||}|{{{zz{z{|{||{{|{{z{zzz{|z{{{{|||z{{|z{{{|}{{|{|{{{|{z{z{{{{|{|{{{{{z{{{{{{{|{{||{y{{{{z{{|{{{}{|{{|{z{z{{{|{||{|{z{{{{{{{z{|{|||{z{z{|{|{|{{|{|||z|{{{{{||||}|}{{|||{{{{{{||||{||{{{{|{|{|||||}|zz||{{z|{||{|||{{{|{|{z{{}||{}|||{{{}|{{||}|{||}|{{{{||{}{{}|{||{|{||{||{{||}||||{|{{{{|||}|{||||{||{||{{}||{||{}|{{{||||}}}|}{||||||{|{|||}{|}||{|||{{||{|||||}}{{|{{||~||||||}|}{{{z{z{|||{|}}||{{z{|{||{{}{|{{{{|{z|y{z{{{~~~~}}}}}|}~}}}~}}{|}{||{}|}}|}}{}|||{{{{{||{{|||}||||{{{|{{|||z}||{{z{||z|{{{|{{|{z|{|{z{{|{{{|{z{{{{z{zz{{|{{|{{{{zz|{{z|z{{z{{|{z{zzzzz{{||{{|{zz{zz{{z{{|{|{||y{|z{zz{{||{{{|{|zz{{z{z{||z{{{|z{{z{zz{{z{z{{{{zz{|zzzz{|{|{|{|{z|z{{z{{{|{z||{{{{{{{{z{{||{{{}{z|{{{{{|||{{|||{{|{|{{{|{|{||{{{{{{{{{z{||{{{}{{z{|{{{{|||{{|}||{{z{{{{||||{~||{{z{{{{{{{{||{{||{|{|{{z{|}{||{|{{|{|{{{|}{||||}{{|{{|}{{{|||||||{{{z|}{|}|}||||{{|{||{||||||}||{{{{|{{{|{|}}||||{z|{|z{{|{||}||||{z{{{{||{||{|{||zz{{{{|{|||{|{{{{z{{z{||{{{~~~}|~||}}}|~|}}}}{{{||{||{||}{|}||||z{|{|{}|||||||{|{{{{|{||{||}|{{{{{{z{{{|{{|z|{{{{{zz{{|{{z|{{{{{{{{zz{{{{{{{{{z|{{zzzzz{{{{z{{{{z{zzz{|{{{{}{{zz{zzzyz{{{|||{{{{{z{zzz{{||{{{{z{{{z{y{{{{{{{{{{zy{y{z{{|{z{||{zz|zz{{{{{|{|||{z{{{{{{{|{{{{{{{{{|{z{{{{{{{||{{z{{z{{{{z|{|{{|{{{{{{{{{{{|{|{{{{{{z{z{{||||{|{{z{|{{{{|{{{{{|||z{{|z{|||||{|{{{|{{{{{{||z{{}{|z{{|{{{{|{|{||||{{{{{{{{{{|{{||{|{{{{|zzz|{||||{|{|||{z{{}|}||{}|{{{{{|{{|{{||{||zz||{|{{z|z|||}{|z|{{z{||{}|}||||z{z{z{{||{||}{z{{zz{zz{||{{|{|{zz{{zz{|{{{{}~~}~}}}~|}~|}|~~||||||||||||}|}}|{{{|{{{||{|}||||{{z|zz|{}{|{||z{{{{zz{{{|z{{{{{z{{z{{zzz{zz{|}z{{zzz{y|{{{{z~{{{z{{{{{||{{{{{{{{z{z{{zz{{|{|{|{zzz{z{zzz{}{{{{}{{|zz{z{{{{{{|{{{z{zyz{zy{{{{z{|{zzz{{zz{|{|{||{{zz{{{zz{{{|{{||{z{y{z{z}{|z||{{z{{zzz{{{{{{{|||z{{{z{{{{{|{||||zz{z{{z{||{{|||{|{{{|{{{{|||z||{{zy{|{{zz|{{{||{{{zz{{z{|}||{}{|{||{{z|{{{{{||}|{{{{{{{{{||{|||}|{{{{{{z||||}|||}{z{|{{|{{{|{||||{|{|||{|}||{||||{|{|{{|{|||{||||{{z{{|{|{{}|||}|{zz{zz{|{{|}|{|{{{|z|{{{|{|{{}|{{{|{zzz{|{|{|}{{{{z{{z||{||{~}~~}~~}|}}}}}||||}}||z}|}}}||~}|{||{{||||||{{{}|{{{|{zz||||{{|}{{||z{{zz{{{{z}{{z{{{z{{{|{{{{{|{|{{z{z{z{{|z{{{{{z{y|{z{z{{{z{{{|{z|{zzzz|z{{|{{|z{z{zz{{||{{{{}{{|zzzzz{{{zz|{{{{{{{z{{z{{{{|{||{{zz{zz{|{{{{{{{{{{|{{z|{{|{|}|{{{{zz{{{|{|{|{||{||{{{{{{|z{|||{z{{z{z{{||z|{|||{{{{z{z{|}||{|{{{{{z{z{|||{{||{{|{||z{||||{z||}{{{|{{{{||||}|||{{|{{{{{{||}{||{{{|{{{{z||}||}}|||{|{{{z|}||||||{{|{||{{||z|||}||{|{||{|||||{}|||{{{{{{{|||||||||{|{{|{||||{|}|||{{z{{{{}}|{|||||{{{{{{{|||||{{||{|{{{{z{{z|{||{|{{{zz|{||{{{~~~~}~}|}}}}~}~}}}~|||~{~}}{|~|~}~|{|{{{|{||}|~~~|{z|||{{|||{||{|}|{{z{{{{{{||{||{{{{}{{|z{{{|||{||{{{zzz{||||{||{{z{z{{{{|{{||{|{{{z{|{|{{{|{{||{{zz{{{{{{|{z{{|{{|{{zz{{{z||{{|{{{{{{yzzz{z{{||{z{z{zzz{{}{{{|{{z{zz|{|{|{||{{|||{{z{{|{{|||{{||{z{z{{{z||||||||{z{zzy{|}{||{||{{z{{zz{{{||||{{{|{|{z{{z{{{||||}{{{{{{{|||||{|||{{{{{{{|{{|||}}||{||{{|{{{{|{|}|{z{|{{{z{|{||||{|{{{|{{|||}|||}|{||{{}||{|||||}}}z|{z|{{{}}}|{}||{|{||{{||{}|||}|{||{{{{|}||||}}|||{|||{||{}}}}|{|{{{{{{{|}|{|||||{{{{{z{}|}|{{|{z|{z{{z||||{~~}}}}~}~~}~}~~}}|||||}{|}|}|}||~{{{|{{||||||||}{|{z{{{||{|z||||{||{{{z|{}{{{{{z{{z{{{{|{|z{{|||{|z{zz{{{}{{{{z{{{zzz{zz{|{{{}{zzzz{{{{|{{{|{{|{{|z{z{{{||{|||{||zzz{{{z{{{|{}{|{z{z{{z||{{{{||{{|{z{{{{{||{{{|zz|z{{zz{{{|{{{||{zz{{{{||{|{|{}{{z{y{zz||{{|{|~{{|zzz{{{{|||||||{{{{{|z{|{||||{|{{{{zz{|||{{{||{{|{|z{{{{||{|||{{{{|{{||}||{|||{{|{{z|{{||||{}||{{{|{{{|||||||||z{}{||{||{{}{}}{{{||||{||}{|}|}||||{||{||||||}{|{{||{{{||{{|z}{|{|||{{|{||{|{}}|{{{}{{|||}||||}||{{{|z{{|||||||||{{z{{{{||||{|{|{z|z|{{|||||~~~}~|~}~~~}}~|||||||}|}}}}|}|||{{{{{{||||}{|{|{{{{z{{||z||}{{z|z|z{z|||||{||{z{{{{{z{z{{z|||{{}{z{zzz|||z|{|{z{z|{{z{{{|{{|{{zz{{z{{{{{z{{|{{{{{zzyz{{{{|{|{}|{{{z{{{||{{||{{|{{{{{{{z|{{{{{{{{{z{{zz{|||{{{|zzzz|{{{{|{{||||{{z|{{zz|{|z{|}|z{z|{{{{|{{{{|}|{{{{z{{{{|||{|}{z{z{{{{{|{|{|||{z{|{|{z{|||{{||{zz|{{{z{|z{{||||{|{{{{z|||||}{|z{{{{{{||||}{||}|{{{{{{{|||{|||||{{{{{{{}}|{|{||{{{||||{||||}||||{||{||}}}|}||||{|{{{{{{|||||||{{{|{{z{||||}}}||{|z|z|{||{||}|{|||{zz|{z{|||{}||{|z|zz|{|||||{{|{{|z{|{z{{|{|~~~}}~}~~}|~~~|{|}|||||}|||{|}||||{||||||||||||{{{|{z||{{||||{{z{{{{|z{|{|{|{{zz{z{{{zz{|{z{|{{z{z{{z{{|{z{|{{|zzz|{{{{z||{{||{{{zzz{z{|{|{{|{|{{{zzzz{||{||{|{zz{zzzz{{{{|{|{{{z{zzz{z|{zz|{{{{{{zz|z{{{{{|{{{z|{{zz{{{||{{{{}{z{{z{|{|{z{||{{{{{{{{{{{{|||||{|{z{{zz{z|{z|||{{{{{z{z{||}{|{|{{{{{z{z||{||{||||{z{{z{|||{{|{||z{{{{z{{||{|{{|z{{{{|{||{||||||{|{{{z|{|{||{|}||{{|{{{{|||{}|{|}{{{{{|||{{||}}||{z|||{{{}}{|||}|{{{{{{{||{|}||||{{||{||{|{}|||~|{z||{{|}{{||||}{||{{{{{{|||{{|||{{zz||{{|||{||{{{{{{y{{{|{{|~}}~~~}}~~~}}}}}}||||||}}|||}}}|||{|{|||{|||||{{||{z{{{{z{|z{{||||zz|z{{z{{||{{{{{{{z{{{{z{|||||z{z|{z{|z{{|zz{{z{{{zzz|{{|{|{|{zz{z{zz{z|{{||{|zz{{zzz{z{z|{|{z{{z{zyzz{z|{{|{{z{{z|zzz|{z{{{{zzzz{z{zz{{{{}{|{z{{{z|z{{{{||{|{{|z{{zz{{|z{|{|zz{{zzzz{|z{{|{{z{{zzz{z||||{{|z{z||{{{|z|{{{{|}{{{{|z|y{{{z{||{|z{{{{{{{||{{|{{|z{{{||{{|{{||{{{|{{||{z{|||{|||{||zz{{{|||}|{{{|z{{|{{z|}{|{|||{{{|{|{{z{|||||||{{|{{z{{{|}{|||{||{{{{{|{||{}|{|{{|{{{|{|{|}|||{{z{{{z{{{||{||{|{{{{{zz|||{||||{zz{{{{zz{{|||||{z{y{z{z{z|{z~~}}~}~~~}|}~}||}||{}|||{}||}|}{}|{{||{|{{||||||z{z{{{{{{{{{{{{{z{zy{{{{{|{{|||{{{z{{zz|{|{{{|{zz{{{{{z{{|{{|{z{|{zzz{zzzz|{z{|{z{zzzzzz{{{{{{{{z{{zz{z{{{{{{{{{{|zz{zy{{{{{{{|zz{{{zz{{yzzz||z{zzzz{{{{zz{z{{{{{{{zzzz{{{{{z{{|zz{{{{{z{|z||{|z{{{zz{{{{{{|{{{{{{zzzz{{{|{{||{{z{{{{{{{||||||{{{||zz{zzz{|{||{{|{{z{zz{{|{{||{|{|{{{z{{{||||{|z{z{{{{{z|{|{{}{|{{{{{zz|{{{{||}|{{{{|z|||||{{|||z{|z|{{||{|||{{|{{{{||{{|||{|||{{{|{{{{||||||{|{zz{z{|z||{{|{{}}|{{{{{{||||{{|{{{{z{z{{{||{||||{{y{{|z{{|}}{{}{y{{zz{zz{z{{{~~~~~~~~~}~~~~~}|||||}}}|}~|}|||{{|{|{|{|}|}|||z|{{{{{{|{|{{|}{{{zz|z{|{{z{|||{z{zzzz{{|{{{{||{{|{{zz{{{|{{|{||{{z{zzy{{z{|||{{{{{zz{z{{{{}{{{|z{{z{y{{{|{|{||{z{zz{{{{z{z{{|{{{{{z{|||{|{{||{|{zz{zz{{{{{|||{{z{z{{zz{|||{|{|{{{{{{|||{|{|{|{z{{z{z{z{{{{{{||{{|zzzz{}{{{|{|{{{{z{{{{{|{|{|{{{{{{{z{{{||||{}||{{{{{{{|||{|{{|{{{{{{{|{||}||}|||{{{|{{{{||||||{|{{{{{{||{{|}|{|{z|zz{{|}{{|||}{|||{{||{|||}|{||{{|z{{||}|}}}||||{{{z{||||}||}||{{{{{{{||{|{||{||{{{{|{||{||{||{{zz{|{{{||{|{||z|{{{z{z|{||{{|{|{{z|{{z{{||{~~~~}~~}}}}||{}|||}||||}{||{||{|{{|{|{}{|{|z{{|{z{{z}{{{||{{{z{z{z{|{{{|{|{z{z{z{z{{{{{{{{z{{z{z{{zz{{z|{|||{{z{zz{z{{{z||zzz{zzzz{{{{{{{z{yzzzzzz{|{{|{||{{{yz{{{{{{{|{{{{z{zz{zzz{{y{{{|{{{zzzz{z{zz{|{|zyzy{{zz|{{{{{{|{{{{{{{{{|{{{|||{z{yzz{z{|{|{{{{z{{{zzzz{{zz|{{{|{{z{z{{{||||||{{{z{{{{z{{||{||{{{{zz{{z{{{{{{{||z|{|{zz{||}|{|{{|{z{||z|||{{|{|zz{|z{{{{|{{{}{|{{z|{{z{}|}}|||||{{{{{{||||{|}||}{{{{{{|{}|||{}|{|{|{z|{||{{|}|{|{{{{{{{|{|}|z}||{|{{{{|||||||{}{{{z{|{{{||{{||}|{{{z{{{{{||{{|{{{|{{{|{{|{{{~~}~~}~~}{{{~||}}{}~}}}|||{{|{|||{|{||}}{{|{{{z{{{|{|z||{{{{{{{{||{{{}|{{{z{|{{zz|{z{{|{{{{{{zz{|{||z{{{{zz{yzz{{{|{{{{{zzz{{{{{{{|z{||{{{{{z{zy{{{{|{{{{{{yz{{{z|{{{{|{z{z{|{{z{|{{{||{|z{zz{|{z|z{{|{|z{{z{{{z||{z{|z{{{{{{{{{{|{{||||zzzz{{{{{{{|{|{|{z{{z{z{||{{z|}{z|{{{z{||||{||{|{z|{{|{{{{{}{|||{{{{{z{{{||{||{|{{{{{{z{||{|||||{{{{z{z{}|||{|}{{{z||{zz|{|{}||||{|{z|z{{}z}||||{||{{{{{{{{|{||{||{{{{z{{|||||||{{{|||{{|}|||{{||{z|{{{{|{{{|||||{|{{{{|{|{||||{{|{y{{{{z{{||||||zzz|{{{{|{|{{|||{{zz{{z{{{{|~~~}}}~~}||}||}}}}}}|||||{||{|||||{|||}z{|{{{{|{|}{|||||{{z{{z{|||{|{|{{zzzzzz{{{|{|{{|{{{{{{{{{||{{{{{{{zz{zz||z{{|{|z{{{{z{{{|{{{{||{z{{zzz{z{z{|{}{z{{{{{zzz|}z|{|{{{{zzz{{{{{{{{||{{z{{z{y{|{{{||{{{z{{{{{{{{{{{{{{{{z{z{{{{{{{{{|{{{zzz{{{{{{{{||zz|{z{{z|||{|||{z{{{{{zz|{{|{}z||{{|zy{{|||{{{|{|{{|{{{{||}{|{}{|{{z|z{{{{{||{|||{{{{|{|{|{}{{||||}{{{{|||||||}{{{|z{{{{|}|{|||{|{|{{|{|{{||{|||}{{|{|{{|~|||}}||{{|{{{{|||||||}|z{{z{{{||{{||}}||{{|{{{{{|||||||{{{{|||{|{|{|}||{{|{{{{{{|}{{||{{|z{zz{z|{{|~~~~~~~~~}~~}|{}{{||}~|{}|||}{{z|||||||{}||{{{{{zz{{{||||{|{{{{z{{zz{|{|||{{{{zzz{{z{||{{{{{|{z{{{zz{{|z{z{{{zzzz{{z|{z{{{{{{zzz{y{z{{||{|{|{{zzzzz{{{{{{|{{{z{zz{y{{|{{|{|{{zz{{zzzz|{|{{z|{{zzz{{{{|{z{{|{z{z{{{{y{{{{z|{{z|{{{z{z{|||{{|||{{{{z|z{{{|{|||{{z{{z{{{{||{{|{{{||{{z{||z{{{||{{{{{yzz||||{{{{{{zz{zz|{||{z|||{{{{|{{{{||{|}{{{z{||{{z|{z}{|||{z{{z{{{{|||||}}||{{{{|z|||{|||{||{{{||{|||||{|}{|z{z{|z{}{}|}|||{|{z{{{|{}||||||{z|{z|{|{|||||||{|||{{{{||{|{||{z{z{{{{{||||||{z{{{{{{{{{{{{{}|||z{z{z{|{||{~~~~~}~~}}|||}}|}}||||}||{|{||}}|||{|}|{{z|{z{z||{{{{|{{{zz{{z|{||{{{}{{{|{{{z{{|{{|{{{{{{z{zy{{|{{|{{{{z{zzzz{{{{z{||{zzy{y{zz{{y{{|{{z{zz{{{z{{{{|{{|{{zy{z{z|z{{{{|{{{{{z{z{{|{z|||}yz{|z{{z{z{{|{{zzzzz{z{z{{{{{|{|{{{zz{{{|z{{{||{{|y|{{{{{z{{||{{z{{z{{|{||{{{}||{{z{z{z{|||||||||{{z{{{{||{{{}{{zzz{{z{||{||}||{z{||y{z{{{|||||{z{{{{||||{|{|||{{{{{zz{{|{||{}{|||z{z{{|||}|}|}{|{|{{{{|{|||||{||||{||{|||||||{}{|{{{{||{{|||}||{{{{||||||||||}|{{{|{{|{||||||}{{||{|{{{||||{|}{||{{{z{|{|||{|}|z|{z{{{|{|{{}~~}}}|}}||||~}~~}||||{||{{||||||{{{{|z{{{{{{}|{|||{{|{{||{{z{||{{|z{|{{{{z{|||{{|z{{{{{z{{{{{{|||{{{{zzz|{{{z{{{|{{{{{{{{z{||{||||{{{{{{{{{{|{||{{{{{{zz{{{{{{||{}{{z{zz{y{{|{{{{z|{{zz{{{|{|{{{||z{{z{{{z|||{{||||{{z{z{{{||{|||{|{{z{{{{{{||{|||{{z{{{zz{{|{||{}{|z|{{{{{{|||}||{|z|{z{z{}||||{{{{{{{zz{{{{z|||||{{{|{{||||}{|{{{{|{|{{{{||{||{||z{|{{z{|}{~{|{|}{|{|{{{|||{||}||{|{{|z|||||||}|}|{{{{|{{||||{||||{{|{{{||{|||}||{|{||{||||||{}}}{||}{|{}|}|{|||{{|||{{||||{|||||{{{||{{||{|{}{{{zz{{{z{|||{|~~~~}}}|{}}{{||||}}}}|}z||{|{{{{{{}{||z{|{z{{{{{|{{{}|{z{zzyz|{{{{{|{{zz{{zzzz{{{{z{{{{{z{zzz{z{{z{{{{{{zy{zy{{z{z{|{{zzzzzyz{{zz{{z{|{|z{zzz{{zzz{|{{zzzzz{z{z{z{z|{||{zzzzz{{|{{{|{zz|{z{|{z{zz{{{z{{{z{{{zzz{{{{{||{zz{zz{{{|{{|{||{z|{z{zz{{{{{{{{z{{zz{z{{|{|{{|{{{z{{zzz{{{{|{{{{{|{z{yz{{{|||}|{zzzz{z{{|z{{|{{{{{{zz{{{{|{}|{|{{|{|{{z|{{|{|{{{{|{{zz{||{||}|{|{{{{z{{{|{{|{||{{{{z|{z{}|||}{{|z{|zz}{y}{|}}||{{{{{{{{{{{||||{{z|z{{{|||{||{|||{{{{{z{|{||||||{{{z|{{{{{{{z|{|{{zzzz{{{{}{{||{{z{yz{zz{{{|{~~~~}||}|{}|||}|||}||{{|{{|z||{{||{{|||{{|{|z{||{{}|{{|{z{{{|{|||{{|z{{z{zzy{{z{{{|{{z{{{{{z{||{{z{|zz{zz{zzz{z{|z{zzy{zzzy{{{{{|||{z{zz{{zz{{{|{{|{{{{{{{zzzz|{{|{{{zzz{zz{z{zz{{{||zz{{zzz{{{{{|{zz{{{{{{zz{{{{|{|||{z|{{{{{{{{|{|{z{{{z{{{|||||{{zz{{{zz{{{{||||{|{|{{{{z{|{{{}{{{zz{z{{{|{{z||{||z{{{|z{|||{z|{{z{z|z{{|{{||{{||{z{{{{|z{|{{|{|||||{{{z{|||}{|{|{z{{{z{z|}|||{|{{|z|{{|||{||}||||{|||{{{z||||||||{{{{{{{||}|{{{||z||z{{||{|{|||}|{z{|z{{||||||{{{{|y{{z{{|{|{||{{{{{{{{{{|{|{{{{{{{{{y{{{{{{{~~~~}}|}{}|}}||~}}}~}||{|||||}|}{|||||z|{{{{y|}|{{||||z{zz{{z{||||}{|z{{z|{z{z{|{{|}|z{{z{z{z{{{|{{{{zz{{z{zz{z{{{|{{{z{{{z{zy{{{{||{{{z{zzz{{{||{|{{zz{{yz{{{{{|{{|{{z{z{z{{{|{{||{|{{{zzz{{{||{||{{{z{{{{{|{{|{{{{{{{z{{{{{||}z{||{{z|{{{|{|||{{|{}z{|z{{|{|z{{|{||{{{{{{z{{|{||||{{{{zz{{z{||||{|{{{z{|{{z||{{{|{||{{{||{{{||{||||{|{{{{{{{{{||||||{{{{{{{|{|||||||z{{|{{||{||||}}||{|{|||{|||{{{|{{|{{{{{{|{|{||||{{|{|{{{{||}||||{{{|{{{{{}||{|}|{{||{{{||||||||z{{{|{z|{{{|{{|||{z{{{zz||{|||||{{|z{|{||{{||~~}}|{}||}|||}||}||{|||{{{{{{|{|{{}||{{{|{{{{|}{{{}{{{|z{{{z{||z|{|{{zzz{|zzz{{zz{{{|zzz{zxz{{|{{|{||zzz{{{{{z{{{{{{zzz{{z{{z{z|{{{{zzzz{zz{{z|z{{|{z{{z{{zz{{{{||{{y{zz|yzzz{{zz{{{{{{zz{zzz{z{{||{zz{{{zzz|{|{z{|||{zzzzzz|{{{{|{|zz{{zz{{{|z{{{{{{{{{z{{{{|{|{{{{z{|z{{zz|{{{{||z{{zz{{|z{{|{{{|{{{z{{{{z||{|{|{{{zz{z{zz{|||{||||{{|{{{{||||{||{{|{|{{{{|{||{||||{|{|z{{}}{||||{{{|z{|{{|||||{}||{||||{{|~{||||||z{|{|{z{}||||}|{zz{{|z{|{{||{||{{z{|z{{z{{||||||{{z|{{z{|{||{}|{{{{{{|z{|{|{{{|{{z{zzz{{z|{|~~~~~}||{|||{}|||}~{}|}|{|{||||}||||||{{{{{{{{{{|{||||{{z{z|{{{{{{z{{|{|{z{{zz||{z{|{{{{{{{{{{z{{{|{{{|zzz{zzz{z|z}{zzzzz{yyzz{{|z{|{{zzzzzzz{||z{{{|{|z{z{{{z{{{{{{{{{zzz{{z{{{z|{||z{{{{zzz{{{{{|z{{{z{{zz{{{{{{{||{z{z{zzz{{{{{{{|z{z{{z{{{|z|{|{|{z{{z{{{|{|{{}{|z{{|{z{|z{|{|{|z{{{{{{{{{{{||{|{{{z{{{z{{||{|}|{{|z{{{{z{{|||{|{z|z{{|{{{||}{|{{{z{{z{{{{||||||||{{{|{z{}||{||}||{{{{{||{||{|}|}|{||{{{{{}|||||||{||{{z|{{}|{{||z{{{||{{{|{{{|}{{{z||{{{{{||{|}|{|{{|{z|||||||}|||{{z{{|{{|{{|||{zz{{zzz{|||{~~~~~}}}||}|}}}|}}}}||{{}|{|||{||{|||z{{|{|{z{|{{|||{{|{{zz{|{{{||{|{{{z{zz{{{{{{|||{zzz{{z|{z{z{|{{{{zz{{{z|{{{{{{{zz{zzz|{z{{{|{|{zz{{z{{y{{{{{{{{z{z{z{zy{{|{{|{{{z{{zz{zz{{{{||{{|{{{zzz{{{{{|{{zz{{{{{z|{|{{{{|{z{z|z{{{{|{{|||{{{{|zzz|||{{|{||{{zz{{{|{|{{{|{{|{{|{{z|{z{|{||{z{{z|zz|{|{{||{{zz{|zz|{{{|||{||{{z{z{{|{||||}}{|{z{z{{{|{|||{||z|{{{z{{{}||{|{{{{{z{{{||}||}|}{{|z||{|||{|||}{|{|z{|{{{}|||}|||{||{{{{||||{}|}|{{{{{{|}{{}}|||{|{{{|{|||{{|||{{z{{{{{{{{{{{{||{{z{{{{z|{{||{}|{{zz{{{{{}||{~~~}~|}|}||~}~}}|}{}|||{{{|{}{{||||||{{{yz}|z{{|}|{{{{|{{z{||||{|}{z{{|{{z{||{{||z{{zz|{yy{|{{{{{{|{{{z{z{{{{|{{{|{z{yzzzz{{||{{{{{z{|z|z{{||{{{||{{{{z|yz{|{{|{|{{{|{{z|{z{{z{{|}{{{z{{zz{{|{{|{{z{{z{zzz{||{||{|{{{{|{z{||{{{{||zz{{{z{{||{|{|{|{zz{{{{z{{||||{||{{{|{{{{||||||{|{{{{|z{{||||{|{{{{{{{{{{||{||{|{{{{|||z||||||{{{||zz{|{{{|}|}|}|{{|{|{|{||}}||||{{{|{|z|||}|||||{}{z|{|}{{{|}|||{||||{||}||}|}|||{{{|{{{|||}||}|{{|||||{{|{|}|}||{||{|||{{||}||{{z{||{{||||{||{|{zz{{{{{|||||}||||{{{z|{|{||~}~}}}{|}}}|}|}}||}|||{|{|{||}}||||{||{{{|||{{|{}|{{{{z{z}||{z{{|{{{{{z{z{{|}{||{|{{{{{z{|{{z{||{{{{zz{|z{{||||{{{zzz{{{{{{{|z{{{|zz{z{z{z||{||||{{|{{|{{z{{||||||{z{{{{z{{{{{|{|{|{{{{|{|||{z{|{z{|{{{z{|{{z{|{|{z{zz|{z{||{{{{|{zz{{{{{{||{|{|{{{|{{{{|{{z|{{|{|{|{{z{{||||||{{z{{{z{{|{{|}|||}{{||{{|{||{|{||}|{|{{{{{|||||||{{{||{{{|||{|{||||}{|||{|{|}|||{{{{{{|{{|||||}|}||{{{{||||{{||}}}|{{|{|{{{}||{||}||{||{{||}{||}}|}|{{|{z{{}||{||||||{{{{{}{|||||{|||{|{||{||}|||}{|{z|{{|{|||{{||{{{z{{|{{|{|{~~}}~~}}|}|}}}|}}|~||{{|||{}|{|}||||{{|z|zz||z||{|{|{{{z||{{{||{|||{{{z{{{yz{|z{|||{z{{{zzz{z|{{z{zz{{z{{zzzz{{{{{|{|z{y{{{{{{z{{|{{z{zz{z{z{{{{||{{z{{zzz{{{{{{|||{z{{{z{zz{{|{|{{z{z{z{{{{{{|{|||{z{zz{|z|||{{{|{z{{{{{{|z|{{}||{{z{{{z{z|||{{}{|{z|z{{{{||{|{{{|z|{{{z{{{{||{}|{{zz{{|z|{{||||}{|{{|{z{{||||{{||{{{|{zz{||||||||{|{z{{|z{|{{{{||{zz|{z{{|||{|}|||{|{{||{|}|{{||}{z{{{{||||{|{||||{{{{{{|{|}|{||||{{{{{||||{|||{||{{||||{|||||||}{{{||zz{{|||}|||{{|{{zzz{||||{}||{{{{{{z{{{||}}{|{{z{{{z{{|{{~~~}~~|}~||}|}~}||}|||{{||||||||||}|z{|{z{z{{{{|{||||z|yz|zz{{{z||{{z{zz{{{z{z{|{{|{z{zzz{{{{{{{{|{{{{zyzzzz{{{{{|{{z{{y{z{z{{|z{||{{zz{{zzz{{||{|{|{{{{{{z{{{{z{|||{{{zzzz{{{{{z{{{{{z{zzzzzzz{{||||{z{z{{z{{{{{{|{{z{{zz{|z{{{{|{|{z{{{z{z|z||{|||{{{{{zzz{{||{|{{{{{z{y|y{{{{{|{{{||{z{z{||{{z|||{z{||{zz{|{{{{{|{z{z{{z|{|{|{|||{{{{{{|{{zz|{{|||{{{{{zz{{|||{|{{zz{{z{{|||{{|||{{{{|{{|{|||||||{{{{{|z{{}|z}||||{||{{{{{||||{{||{{{{{{||{||||}|{z{{|{|{{||}||||z{{{{z{{{}{{}|||{{{z{{zz{{{{{||{{{{{{{|z{|{{{~~}~~~}}}||}}}}}}}|}|{||||}{}|{}|||{|||{z{{{{||{z}}|{{{{zz{z|||{{|{{{{|z|{zz{{{z{{{{zz{zzzzz|{|{|{|{{z{{{|{{|z{{{{{|{{z{{{z{z||{{{|{{{{z{{{{{||{||||{||{zz{z||{{z{||{|{{{{{{{{{||{||{{{z{{{z{|zz{|||zzz{{{zz{{||{|||{{zz{z{{{z{{|{{|zz{{{z|{{{{|{|{|z{z{y{{{{z{{{||}|{zz|z{z{|||||||zz{{z{{{||||{{|{{{{{|{{z|||||||{{{|z{{{{{{{||||}z{{z{{|{{{||{|{}|z{|{{{z||}||||||z{|{{{|||{{}||}{z|{{{}{|{||{|||{{{{{||||}|||}|{}{||z||{}|||}|}||{{{|{{{{||||||}|{||{{{|||{}|||{{||{{{z{|||{|{||||{{{{{{{{||||{|{{{z{{z{{|{|{~~}}}}}}|}|}}|}}}}}|}{{{|{|{{|{{}|||{{{|{{|{|{|{}|{{zzzz{{|{{{{{|}{{{z{zz{{{z{{{|{|z{{{{{{zz{|{|{{{z{zzzz{{|z{{{{|{z{zzz{z{{{{{z||{{y{z{{{{{|{{{{|{{{{zzz{{{|{{{{{{{zz{z{zz|{{{{{z{{{zz{z{{{{|{|{{|zz{{z{z{{{{{{||z|{z{zz{|{||||{|{{{zzz{{{{{{{{|{{{{{zz{{{{|{{||{{{{|{{{{|{{{{|||{{z{{zzz{{|||||zz{{{{z{{|{||{{||{{|{{{zz{|{}|||{{{|{|z}{|{{|||{{{|{{{{{z|{|{|||{|{{{{{|{|||{||}{|{z{z|{|{||}{||}|{{{{|{||||||}|||||{{{{{{||||{|{{{{{|{{{{|{||||}{{{z{{{||{|||||{{{{{|{{{{||||}|}{{z{zz{z{|{}{{}|{|{{zzzz{|{{{}~~}}||{}}}~}}}}}}}}|{||{{z|{|{|}|}{{{|{{z{{{{{{{{{{{{zzz{zz{||||||{{{z{z{zz|{{{|{{{{zzzzz{{{|z{z|{{{z{{zz{{{z{{{{{{zzz{yy{{z{z|{|{{z{zz{{zz{{{{{|{{z{{zzzzz{{{|{|{{zzz{zz{zzzz{{zzy{zyz{{zzzz{z{{{zzzz{{z{zz{{z||{{{{z{zz{z{{{{{{||{{{{{{{|{{{{|||{|z{zz{z{{{{{{|{z{{{{z|{{|{|{|{||z{{z{{{{{{{||{|{{{{{{{{{|z{|{{{{{{{{z{{||{{||||{||{{{{{}{||{{{||{z{z{|{|||{|}{{|z{z|z{||{{|||||{{{||{|z{|{{}|{{{{{{{|z{{||||{||{z{{|{z{|{{}{|{|{{{|{zz{|{|||||}z{{||{z{||{{||{|{{{{{{|{{|||{{|{zz{{{{z{{||{z||{|{zz{zzz|z{|z}~}}}|}|{|~{||}~}||{|{|||{{|{|{}{||z{{{{{{{{|{{{{}{{{{z{z{{|{z||}|{zz{{{{{z|{{{{{{zz{z{{{z{{{z{|{|z{zzy{z{{{{{z{{zzyz{{z{zz|{{{{{{z{zz{zzz{{z{{{{{zzzzz{z{z|{|{{{{yzzzz{zzz{zz{z{{{{zz{zz{{|{z{{|{z|{{z{zz{{z{z||z{z{zyz{{{{{{{{|{{{|{z{{z{{{{|{{|{{zzzz{{{{||{||{|zzz{z{{{{{z|{{{{zz{z{z{{{{{{}|{{{{zzz{{{||{{||{{{{z{|{{{|{|{{||z{|{||{{{|{|{}||{{z{{{{z||{{{||{|z{{|z{{||}{||}|z{{{z{|z|}{{||{||{z|{|{{|}{}|||||{{{{z|z{|||{}}|{z{{z{|{{|||||||||{{|{{{|||{{|{|{{{z{yz{z{{|||||{|{{{z{zzz{{{{{{|z|zzy{{{{|{{~~~}~}|||}|}}}}~}}}|{{{|{{}||{||}||||{{|{z|||}z|||{{|{|{{z||{||{{|{{{zzz{zz{{{z|{{{z{zzzz{{||{{{{|{zzz{|{z{{zz{{z|zzz|zzzzz|{{{{{|{zz{{{z{{||z{|{{{{{{{{zzz{{|{{{{{z{{z{zzz{{{z{{|{{z{{{{z{{z|{|{{z{y{|{{z{|{{{|{{|zz{zz{z{|{|||{|{{{z{{{z{{{|{|||{{{{z{{z{{|{{{{{z{{y{zz{{{{|{|{||{zzz|z|{{{{|{}||{z|{{{{{||{{{|{{{{|z{{{||{|{{||{{|z{{|{|||||}{||z{{{|{{{{|||{|{|{{|{{|z{|{||||||z{{|{|{{|||||{||{{|{||{{|||{||||||||{{||{||{}{|{|{{{{zz||{{|{||{{{{{{{|{{||{|||{|{z{{{{{{{|{{|}{{z{{{z{{{|{{{}{z|{{zz|z{|{{|~~}~~||{|}}|}|}}~{}}{{{{z||}{}|{||{{|{z|{{{||||||{|{zz{z{{{|{|||}{{|{{{{z{z|z{{{|{{{z{z{z{{{{{|{{{{zz{{{{{{{{|{{|z{zz{{{zz{||{||zzzz{z{zz{{|{|{{|{{{|zzz{{{|{{{||{{z|{{{{z{{||{{|||{{{{{zz{||{|{{zz{{{{{z{{{||||{{|{y{z{{{{|||{||{{{|{|{{{{{{||{|{{|{z{{z||{{{|||{{{{{{{{z||{{}||{{{{{{y{{||||||||{{{|z{{||{}{|||||||{|{{|{||||||{|{|{{|{||{}||}}{{{||{{z|||}||}{|{{|{|{{|{}{{|||||z|{||{||{||}||}{|{{{|||}{|{|}||{|z{{{{}||||{|||{{{|{|{|}||{}|||}{|||{|{{|}||{|{|{z||{{{{{||}}||{{|y{{||||||z|{zz{{{z{{{{{{{~~~~~{}}}~}|}}}}~}}||{{{|{{}}|||||{|{{|{|{{||||{|||{{{{zzzz|{{{{{z||{{{{z{z{|{{{{{{|z{|{{z{{{{{||{{{{{zzz{{{{|{|{|{{zzyzzzzzz{{{{{z{zz|z{{zz{{{{z{{{{{{{z{y{{|}{{||{{zz{y{{z|{z{|||{zzz{{{{{{z||||{{z{{{{zzz|{|{||}{y{z{z{{{{|{||{{z{{{{z{|{{}|||{||z{z{{z{|{|{||z|{|||zz{{{{{|||{|z{{|{z{{{||{||{{{{{{z{z{{||{{{{|}{{|{{z{|{|{|}{{{{|{{{|{{|{|||}|{z{|z{{{{||{|||||{z{|z|{{|||||||{{z|{||{{|{{|{||{{||{{{{|}||{||||{||{z{||}|||||||{{{|z{|{||{|{|{|{z{||{{{|||||{}{{{{{{{{||{{|{|{|{{{{z{{|{|||{{{{zz{z{{{}|{||~~~}||}||||}~}~|}|}|z|{{{{|{|}|}||{{|{{{{{{{}||{||z{|{z{|z{|||{|{||{{{{|{zz{{{z||{|zz{zzz{|{z|{||{{{zyzzzz{{z{{|{{z{zz{z{z{{{{{{}{{{{|{{{z{z{{{{|{{{z{|z{{{{{|{|||{zz{{zzy{{{{zz{|z{z{zz{zz{{{{|{|{z{z|zyz{{||{{|{||{zzz{zz||{{|||{z|z{z{{{|{{{{||{{|{{z{{||z|||{{{z{{{{z|{{|||||{{{z{{z{z||{|{||||z{{{{{z{|{{||}|{{{z{{{|||||||{|{{{|||{|{}{{|}}||{|{{{{{||}|||||{{{||{{{|||{||}|{z{z|{{{|}|{{}{|{{{{{{||{||||}{||{|{{{{{|||{|}|{{{{|{{{|z{||||}|{{{||{|||||||}|||{{{{{z{{|{|{{}|{{z{z{{{|{||{||||{{{{{{{|{|{{~~~}~~|}|{}}|||~}}}|||||{{{|{||||}}|||z{z{|{{}|{}||{{{{zz{z{||{|}||{{{{{{{z{{{{{||{{{z{z{z{||{{{|{{{{|zz|{{{{{|{{{{zzz{y{z{{{|{z{|{{{{zz{{z{z|{|{||{|{{z{{z{|{{{{|{z{{{{z{z||{{{|z{{{z{{z{{{|{{{{{|zz{z{|zz{|{{{|||{z{z{z{{{{||z{{{{{|{{{z{{|{{|||{|{{|z{{z{|||||{|{{{{|{{{{|||||{{{{{{{|{{{}|{|{|{{{{{{{z{|||{{|{|{|{{{|{{||{||||||{{{{{|z||{|{||}{{||{{|{||{||{}{|{z|{{{|}|{||}~|{|{{|{|{||||{|}}}|{{||{|{|{||||||||{z|{{{{|}{|||||{{{|{{||{{|{|}||{|{||{||}|||||||{{|{{{{|||{{}||{|{{{{{}{{{||{{{{|{{z|{{{{|{~~~~|~}}}}|~~~~|~}||z{{{||{}||||~|||z{{|{{|{{|||{|}{|{zz{{{}{||}}||{{z{{{{z{{|{{}{{{{{{|zz{{||zz{{{{{z{zyz{{{|||{{{{zz{zzzzzz{||{|{{{{z{{zz{z|{{{{{||{z{{{{{|{{||||{{zz|{{z{|z{||{||{|{z{zzz{{{z|{{{{{z{z{{{|{{|||{{{{{{{{|{||}|{|||{||{{{{{{||||}|{{{{z{{{|{|{|{||||z{|z{z|||{{|{||{|{z{{{{{{{{||{{{{{{z{{|{{|{{|{{{{{{{{|{{||||{|{{{||{|{||||{||}|{||{{|z{}||||{{}{{}{{{|}{|{|||{|{{{|{|{{}||{{}|||||{{{{||||}}}|{||||{|{||}}}||}|{|{{z{|{||{|}|||{{{|}{||||}||||{|{|{|{{||{}|||||{{{z|{{|{||{||||||{{z{{|{|{{~}~~|}||}|}}}}|||}|{||||{{|||{|}}||{z|{{z{z{|||{||{|{{zz{z{{}|||{{{{{zzz|z{|{{{{|zz{{zzy{z{{|{|{{{{{{{z{z{|{{{{|{{zyz{zyzz{|zz{|||{{{{{{z{z{{{{|{{{{zzz{{z{z{{||{|{{{{{z{{{|{{{{{{|{zz{zz{{{{|{|{{zz{zz{{{{{{|{|}{{|zz{z{{||{{{{|}{z{{{z{{{|{{{|||{z{{{{{{{|{|||{|{||z{{z{||{||||||{{{|z{{{|||{|||{{{|{{z{|||{{{{|zzz{{z{{{|{{{{{}{z{{{{{{||{||{||{z{z{{z{{|{|{||||{|{{z|z|{{{|||||z{{z|{{{|z||}{{||{{{|{{{|{{|||||{||{||{{{|}}{|{|{{z|{{{||||}|}|}||{{{{{{|{{||{|{{|{{|{{|{|{||||{{{{{{z{||||{{|{{{{zzz|{}|{{{~~~~}}}|}||}|||}}}}||{{{{||||||{}||{||z|{{{|{||{{}{z{z{z{{{|{|{{{}zz{|{{{z{|{z{|||{||{{{y{{{||{{}{|{z{zz{{|{|{{{{|yz{{{zz{z|{{{||{{{z{yzz{{{|{|{{|{z{zzy|{{||{{|}|{{zz{zzz{{{{z}|}{{{z{{{z{{{||{{{zz{{{{z{{{||{{|{|z{z{z{{{|{{z{|||{{{{z{{|{{|{|{|{{zzz{zz{{{{||{{{|{|{{{zz|{|{||||{{{|z{{||{|{{{|{z{zz{|{|{{{z{|||z{{{{{z|{{|{}||{|{z{{{{{|{{{||}z{{{|zz||||{|||||{{{||{{|||{|{}|{{{{{|{{{||{|}||z{||{|{|{}||||}|}{|{z{||{|z||||||{{{z|{{{||||||}||{{{{{{|||{||||{{zz{{{{{|||{|||{zz{{{{{||{|{|||{{{{{z{{|||{|~~~~~~~}}}{|||}}}}||||{|{{|{{|}||||||||{{{z{{{{{}{|||{z|z{z{{|{{{{||{|{{z{z{{{{{{{||{{{zzz{{z{{||{z||{{{{z|z{z{{{|{{{zzzz{zz{|{{z{|{{zzz{z{zz{{|z{{||{{z{{{z{z{{|{||{{zz{yz|zy{z{{|||{{zzz{zz{{z{{{{|{{z|{{zz{{|||{}|{z{zzz{{||||{|{{{z{zz{{{{{z{{|||z{{{zz{{{||{{|||{{|{{z{{{|{|{{{{{{{{|z{z{{|{{{{{{z{{{z{{{|{{{|{{|{{{{{z{|||||{{{{{z{{||z{|{||||{{{{{{{{{{|{|||{}{{{{{{z{}|||{|}{{{|{{{{{{{||{|{{||{{{{{||~||||}}{|{{{|{{|||}|||{{{{|{{{||{|{||}|||{|{{|{||||||{||{{{{{|{{|{|{|||{{{{{{{z{{||}|{|{z|{z{{|z{{{{~~~~~~|}}||}|}}}}|}|||{|{{|z|}||}||{{{{|{z{{{|{||{|}{{{z{{{{||{|||z||z|{{zz{{{{z|{{{{z{zyzz{z{{{{{{|{z{{{{z{z{z|{{{{zz{zzz{z|{{|{{{{zz{z{|z{{z|z{{{|{z{{z{zzz{{{{{{}{zz{{z{{z{zz{{{||{z{{{z{{{{{||{|zzz{z|{z{z{|z{|{{z{{zz||z||{{{|||{z{{{{z{{{|||{{z{{zz{{{{{{{{z||{{{{{z{{z|{z{||{{{{{{{{z{||{|||{{{{z|{{{{||{{|}}{|{{{{{|{{|||||||||{{{|z|||{{||{{{zz{{{z{{||}||||z|z|{|z||{{||}{|{z{{{{|||{||||}|z{{{{{{{}{{|||}}z{{{{{{|}|{|||||{{|{{{||||||{|||{{|||{{|||{||||{||{|{{{|||{{{||{|yz{{{z{}|{{z{|{{{y{{|{||{||~~~}~}}}}~}}||}|}|{|||{{{|z{|z{{|||}|{{{{{{{{{||{{|||{|z{{{{||{{{{|}{z{{z{z{z{{|{||{|z{z{{z{{|||{||{{zzz{zz{{{{{{|{{|zzzz{z{|{{|{{{|{{{{z{z{|{zz|{{|{{{zzzz{{|{{{{{|{|{y{{z{{{|{{||{|{{z{{z{z|{|{|{|{{{|z{{{||{|{|{|{{zz{{{{|{||{|{}{{{z{z|{{z{{{{{{{zz{{{{{|{z|{{||{{{|zz{z{{{|{|}|{z{{{z{{|||{|{|{{|{z|{z{{{{|||{{{{{{{|{{|{|{|||{z|{|{{|{{||{{|||{{{||{|{z||}}{|{|z|{|{{{|||{||}|{z{{{|{|||{||||||z|z{|{{}}}|}}}|{|{{{{z{|{||}{|||{{{|{{{{{{|}||||||||||{{}|{{|{}{{{{{{{|z||{||||{z{{|{{{{}{{{{|||{zz{|{{{{|{|~~~}}}|||{|}}~~}}|||||{{}||}||||||}{{|{z{|{{|{||||||{}{|z|{|{{||||||{|{{{{z{|{{{{{{{|y{{{zz{{{{{|{||{z{zzzz{{{{{|||{{{z{z|z{{{{{{|{|{z{z{yz|{|{{|{|{z{{z{{zz|{|{|{|{{{z{z{{{z{{{||{|{{{zz{{{{{|||||{z||{|{z{{{{||||{{y{{z{{||zz|||}{z{{zz{{{{||{{{{{{{{zz{{{|z|z{||{|{{{z|{z|}|{}}{{||{|{{{|{||{{}{{{{|{{{||{|z{{||z{{{{{{|{|||{|{|{z|{{|{{{|||{|{||z{{{{{{|}||||}||{{z|{{{||||||||||{{|{{||}{|||}||{{|{|z{|}|{z}||{|{|{{{}||{|{}||}{{{{{{|{{{{||}|}{{{{|{{|{|}||}}{|{{{|{{||{|{|{||{{|z{{z||||{{||{{{{z{{z|{|{|~~}}}}}|{|}||}||}|||{|{||}|{|||||{{{|{||||{{|{|{||{{z{z{{{}|{|{||{z|zzz{{||{{{{|{{{{{{{{{|{|{|{||{z{zzzzz{{{|z||{z{{y|z{{{{{|{{|{{zz{{{{{{{|||||{|z{z{{|{z{{{|{{z|{{{z{{|{|{{{{||z{zz{{{z{||{z|||{{|z{||{{{|{{|||{{{{{{||}|||z{{|{{z{zzz{||||{||{{||{{z{{{{||||{|z{|{{z{zz}{{{}|}{{{{{{{{{{||{{||{z{|{{|{|||{|~||{{z{|{z{{{||||||z|{{{{z{|}|{|{||z|{{{{{z{||{{}|||{{|{{|{|}|||}|}|{|{z{|}{|{}||}|}{|||{|{{~}||||}|}{{{{{|}||}{||||{{{{{{|{{{||}|||{{{{|{|||{|||||{||{||z|{|{{{|||{{{{|{{|||||{|}}{|{{z{{z{||||~~~}|}~~|}}}}}}|}~||{{{{|{}|||}}||{|{{|{{{|||||{|||{{{{|zz}{{z||{}{{{z{{{z{|{{||{{{z{|{{{z{{{|z|||{{{{|{z{|{{|z{{|zz{{{zzz||||{{}{{{{|{{{|{{{{|||}|{z{z{|z{|||||}|{zz{{{zzz||{{{{|{{{z|{{y{{||{}||z{|{{z|z{{|{{{||{|{{{z{{{|{||||}{{{{zz{||{|{{}{{{{|{{{{{||||||||{{|z{{{{|}|{||{{{z|{{{{z|{||}{||{{{{{|{z||||{|||{||{|{||{}||||||{{z{|z|{||}||{||||{{{{{z||}|{|||}{{{{{{{|}|||||{z{{|{{||{}||{||}|{{}{|{{|}}||{}|{{|{{{|z}|}|}|}}|{{|{|{{|||{|||}|{{|||{{|}||||||||{{|{{||{{||||||{{{{{|{|}||{{|{{|{z{yz{{||||}~~}}}}~|}{~}}||}}}}|||||{z{||}}}|}||z{{{{{{{{|{{{|||{{{z{{{|{{|{|{{z{{z{{{{z||{z||{z{{{z{zz{{|{{||{{{{z{zz{zz{{z|{|z{{z{z{{||{{{|{||z{{{y{{{zz||||||{{z{zzzy{|{{|||{z{z{{{z{{|{{|{|{{z{z{{zy{{{{{|{{{z{{{z{{{{{{{||{{{zzzyz{|{{||||{{{z{{{{{{{{{|||{{|{{zz{|||{|{|{{{{z|z{zz}{{{||{{{{{{{zz||{{|{||{z{{|{|{|{{{||||{{|{{{|{|||{}|}||{{{{{{{|{||||||{{z{z{z{{||{||||{{{{{|||||||||z|{{||{{|{{|||||||}{{{{{{{{}}|||{||{{z{|{{||||}||||{{|{{{{|||||||}|{|{{{|{|{{||{{}{|{{z{|||{||||||||{|{{{{{||||||{{{{{zz{z{{||{~~}~~|}|}}}|}|}}||}~}|||z|{{}{{|{}|||{{{}{z{||||{z||{{z{zz{{{||||{{|{zzzz|{{z{z{{||{{{{{|zz{|{|z||||z{|zz{z{|{{|z||z{{{{|z{z|z|{{||{{|{|z{zz{|||||{||{{|{|z{{{|{{|{|{{{{|{z{z|{z{z||{zzz{{zz{|z||||{{zzz{zzy{|z{|{||{|{z|yzz{|||||{||z{z{{{{|{{|{{||{z{{z{|{{{||||||{{|{{zz{{||}{||{{|z{{zz{{{|||z|z{zz|{{{{{|{{{{{{|{z||{{|{|{|}||{z|{{|{|||{{|||||{{{{{z{{||||||{||{{{{z|{||||||||{{|{{z|{||{|||}||{|{z||{|}||||}|||{|{|{{}||||||||{{{{{z{|{||||}}|{{{{{{{{{|}|||{{||z{z{{{||{{}||{{{z{}y{|{||||}|{{|{{{{{z|{{|}~}~~~|~}}|{}|}}}||}|{{{|{|{z{}|{||||{|{||{||{{|}{{{}{{|{z{{{{||{{{{|{|{{|zzzz{{{|}||{z{{{zz{{{|{z{{{{{{{z{zz{{{{z{{{z{zz{{{z{|{|{{|{{zz{{{zz{{|z{{|{z{{z|{{z{z{{|{{|zzzzz{{z||{{{||}|{zz{z{y{|z{{}|{|{z{{z{{{{{{{{{||z{{{{|{{{{zz{{|{z|{{|{{|{||{{|{{|{{{{zz{||{|{||{{{|{{{{{|{||||{|z{zzz{{{{{|{{|z|{{|zz{{||{|{{{|{{z{{{|{{||||||{||{{{{|||{{|||||{|{{|{{{{|{}|||{{z{{{||{}{|{{|}|||{{|{{|z{{||{}{|z{{{||{{|{|||||}{{{{|{{||||{||||z{{{{{{||}{||||{|{{{{{{||{|{}||{|{{{{{{{|||||||{{z|z{{z{{||{|||{|{{zz{{|{|||~~~~~~~}}~}}}||}}}}|}}}|z|{{{|{}|||}|||{{|{{z{{{{{|{{{|{z{{{z{{|{{||||{{{{{zz{z{{{|{{{{{{{|{z{{{{|{z|{|{{{{z{z{{z{{{{||z{{{|{{{|{|z|{{{{z{{{{{{{{{{|{|{zz{{{{zz{||{|{||{y{{{z|{{{zz{{{|{{{{{{{zz{{z{{|{{{{|{{zz{||{|||{{{{z{{{z{|{|||{{{{{|z{z{|{{{z|{|z{{{{{{{{{|{|{|{|{{{{{|{{|{{{|{|{zzy|zz{|}|{|{}||zz{{{{|||{|{|{|{{{z{{{{{{|||||{z{|{{{{{||{{|||}{{{|{{z{||{{|{{||{{{{{{{{||}|{|||{{|{{{{||{}{}}}{{||{{{||}|||}}|||||{{|{{||{|||||{{z{{{{{|{}}|}||{{|{{{{||{||{||{{{{{|{{{|{{||~||{{{{{{{{|||{|{|{{{z{z{z{{{{{}}~~~}}}}}|}||}{|}{{}}}}{|{{{|{{|{||||||{z{{{{z{{|z{|||}|{{{{z{z{{{|{{{}|z{{zzzzz|{{{{|{|{zyz{|y{{{{z{|{|z{zy{{z{{z{z{{{zzzzzzyzz|{{{|{{{zzzz{{z{z|z|{{|zz{{zz{zz{{{|{|{|{z{{{zyz{{{z|{{{{z{z{zz{{{{||z{{z{z{zz{{{{{{|{{{zz{{zzz||{{z{|{{{{zz{zz{||{{|{{{z|zz{{{{|{|{{{{|{zzzy{{{|||{|||{||z{{{{|||}{{|{|{{|{{{z|{}{{|{{{{{{|{{{{|}}|||||z{{{||{||{{{||}{{{{{{{{|}|{{}|{|z||z{|{{}{{||||||{||||||{||||{}{|{{{|{{{|||||}||{{||||{|{||||||{z{{||{{{|||{|||}{{{|{{{{||||}|}{||{z{|{z{|||||||||{{zz{{|{{{|||{{{{zy{z|{|{{}|~~~~}}}}|||||{}}|}||}|||{|z|{{||{{|||z{z|{zz{z{|{{{z{|zz{{z{z|{{|{{{|{{{zzz{{z{||{{{{{z{z{|zz{{|{{|{|zzzyz{zz{{{{{{|||{z{zyzz{{{{z{{{zz{zz{zyz|{z{{z{{{{zzy{{{{z{{{{{{z{z{zz{z{{z{z{{{{z{zzzzz{{{{||{{{{zz{{z|{{{{z||{{z{z{zz{|{{|{{|{zzzzy{{{{{{z|{{{{|{z{yz{{{{|{|{{{{{zz{yz{{{{||{{{{zzz{||}|{{|{|{{z|{zz{{|{||z{||z{{|||z{|{|{{z|{{{z{z|{{|{|{|||z{{||{yz{{{|{{||{z{{{{{{|}{||||||{{{|{|{{{{{|||||{|{{{|{|}{||||~|z{|||{{||{|||||{{{{{{{|{||||||}|z{{{{{{{|{{|||{{z{{{{{z{{{{||||{{{{{z{{z{{|||||{{{z{z{z||{{|~~~~||}}}}}}|{|||}|||||||{|{{{|{|{|{|{|{|z{{{z{{|z}{{{{||{{zz{z{{{|{{{{{z|zz{{{z{{{{{{{{zz{zzz{z{{|{{|{{zzzz{zzz{{{z{{||zzz{zy{z{zz{{||{{{zzzzzzz{{z{{{{{yzzz{z{{|z{{{{{{{{zzzzz{{{{{{{{|{{zz{{zz{zz{|{zzzz{{{z{z{{{{z{{zz{z|z{{z{{z|{{{{{|zzz{{{z{{{{{{z{{{{{zz{||{{{|}z{{zz{{z{|{{||{||{{z{zz{{}||{{|{|zz{zz{{{|||{||{|{z{z{|z|{z|{{||z{{zzz|zz{|||{|||{||{{{{{{z||{|{{zz{{{{z|}|{|}{|{{{{z{{{{{{{|||||{||z{z{{|{||{|{{{{|{{|{||}|||{|{{{|{{|{||||{|{|||{{{{{{|{|||{{|{{{{{{z{z|{{z||}|{y{{{{z{|{{||||{|{{z{zz|{|{{}~~~~~}|}|{{|{}|}|}}}}||||||{{|z}{|}|||{|{{{{|{z{|{|||{{zzz{{z||{{{{||z{{z|{{{{|{z{{{{|{{zzz{||{}{||{{z{{{{{z{z{{|{|{{{{{{{z{{{|{{{{{{{zz{z{z{{{|{z{{{{{|{{{{{{{{|{{||{z{{zz{zz{{{{|||{{{z{{z{z|{{{|{{{z{{z{{z{{z||{{|{z{{{{zz|{|{||{|{{{{zz|{|{|{z{||{{{{{{{z|||{{|||{|{{{{||||{|{{}{{|{zz{{||{||{|||{{{z{{z{{{}|{||||{{{z{z||}||{|{{{||{{{|{}{|||||{{{{{{{{{{{{}{{|{|{{{{||{||{||{|}||||{||{{|{|}|}}|{{{{|{||}||{|}}{|||{{{||||{{|{||z||{{{|{||||||}|{|||{|{{|||{|||{z{|{{{{{||{|||||{{||z{{{||{{{{{|||z{{{{||{||~~~~~|~~~|}|}||||}}|||}}||{|{{z|{}|~|{|{}|{||{{z{||||{{||{{{z{z|z|{z{||{|{z{z|z{z||{{z{|{{{|zzz{z{{{zz{|{{{{z{z{z|{{{z{{|z{{{{zzy{{||{{{{yz{z{zz{{|{{||{|{|{zz{{{{{z{z{{|{{{{|z{z{z|{{{{{{|{z{{zzz{{{{{{{{{{z{z{z{{{{{{|{|z{z|zzz{|{{{|||{|z{z{{||{zz{||{{z|zz|{z|{||{|{}{{{{{z{z||{{||{|{|{{{|z{||z||{|{{z{z|{{{{|||{{z{{{{|{{z{|{|{{|{|{{{{{||{|||{|{}|{z{{{z{{{{{|{z}{|{{{z{{{||||||}{{||{{||{||{|||||||{{{{{||}{||||||{{{{||{|}||||||{{{z|{z||||||||}{||{{{{|||||}||}|{zz{{|{{}||{}|{|{|||{{z{||{{||}|{{{|zzz{||{{~}~~~~~}|}}}|{}|}~~}}}}|{{|{{{|||||{}|||{|{{z{{{||{{{||{{z{zz{{{{||{{{||{|{z|{z{|{{|{|{{zzzzz{{{{||}{{{{{zz{{zz{{{{||||z{zz{zzz{{|{{|||{{{{z|z{|{zz|{|{{{zzzz{{{|{{z|{|{zz{z{{{{{}{{||{{{{{z{{zz{{{{||{z{{{zz{z||{|{{||{{{zzz{{{|{{{|{|{{{{{{{{|{{{|{||z{{{{{z{|}|{{|}||{{z{z|{{||{{}|{{{{{zz{||{{{{||{{{{z{{|{{|||{|||{{{|{{z|{|{|||||{{||z{|{|}{|{|||{{{{z|{z}|||||}||{{{||{{|||||||||||||||z|}{|}|||{{{|||{{|||{|}|}|{{{|{|{{|}{}{|||{{|||z{|||{||||||{{{{{|||||}{|{{|z{{||z{{{||||}|||{|{|z|{|{|{|{|z{{{|z|{|{||~~}~~~|}~}~~}}|}{}||}{|}|||}}}|{{{{{{||{{{|||||{{{{{{z|{|{z{|{{{{{{{{z{{z{|{{|{y{z{{{{||{|{|{|||{{{zzz{|{{|||{{zzzz{z{{z{{{{z{zzz{{{{z{z{{{{|{{zz{z{z{{{|{{{||{{|{z{zz{{||{{|{{{{{zzz{{{|{{|{|{z{{z{zz{{{z{{|{zz{{{{{{{{{{|||{|z{zz{z{{|{||{||{{|{zz|{||{z{{{{{{z{z{{z{{|{{{|{{{{|{y{z{|{{||{{|zz{{{{||||{{|}{||{{{{z{{{{{|||||z{{{{{{{{{{{}|}|{||{z{{{|{||}|||{{|zz{{{{|||||{}z{{{||{{|{|{|||{|{{||{{||}{|||}}{|{{|{z|{||||{{}{{|{|{|||}|}||||{{|{{{{{|||||}{|{|||{|{|||||||||{|z{z{|||{{||||z|{{{{{{|||||{}{{z{{{zzz{{|{{~~~~~|~}}}~~~|}}|||||||||}|}||{{|{{{|{{|{{|}{{{{{z{z{|||{{|{{{|z{z{{{|{{z|{|{zzzzz{z{{z{|{|z{{{{{{{{z{{{{z|{{{{zz{z{z{|{z{{|{zz{{{z{zzz{{{|{{zz{z{y{|{{|{|||{{z{zzzz|{zz{z|{|{{zzzzz{{z{{z{|z{zz{|z{{|zzz{||z{{|z{zz{{{|{z||zzzz{{z{{{|z|{{||z{{|zzz{{{{{}||{{{{{{{z{{||{||{{z{{|z{zz{z{{{|||{z{zz{z{{|{{{|{{{{{{z{{|||{{|{|{zz|z{{{{||||||{{{zy{{||||{||}{|y{{|{{z{{|||{|||{z|{{{{{||||||{|{|{z{{|||||{{||{{{{|z||{{|{}||||{z{{|{{|{|||||}||{{{|||{{{||z||||{|{||z{||{|||||{{{{z{|{|{|{||{{{{z{zz{{{}{||{||{{{z{{{{{{||{~~}~|~~~~}~|}}|{}}|||{{|||}}|}|{{{{{{{|{|}|||}{{{z|{{{{{{}{{|{|{{zz{{z{{{{{|{{z|{{|zzyz|{{||{||{{z{z{{{{{{z|z{zzzzzzyzz{{{{{||{{{z{z{z{{{|{{|{{{{zzzzy{{{||{{{{{z{zzzy|{{|z{|z{{z{{yzzzz|{|{{{{{zzzzzy{|{{{{{{{zzz{{{z{{{{||{}zzz{zz{|{{{{{||||{{z{z{{{{{{{|{|{{{{z{z{{{{{{{{{{|zz{{{yz{{z{{|{{z{{{{{{|||{{||{{z{|{zz{{{|{||{{{{{|{zz{{{||{|||{{z{{{{{||||{|||{{{{z{zz{||||||{|{z|{{z|{||{}|||{{{{|||{{{||{}||{{{|{|{{{|||}|||}{|{z{z{||||||{||{{{{||{{|{{}||}{{{||{{{||{|z|}{{{|{{{{z{{|{{{|||{||{{{z|||z|{|{{{z{{{{{{|||{~~~|}|~}}~|~~}}|}}|{{||}}}}|}|||{||{{{|{|{{}{|z|{|{{{||{||||}{{{{{z{z{{{|{|||{{zz|z{z{|{{{|{|{|zz{zz{|{|{{{|{zzzz{{z{{z{{{{{z{{zzzzz{z{{{|||{{|z{{{z{{z{{||||{{|{z{{{{z{}{{}|z{z{{z{z{zz|{{|{}z{zzz{{{z{||||{zzz{z{{{{z|z{{|||{{{z{{{{|{{{{|{{z{{{{{{|{|{{|||zz{z{{{{||{|{|{|{{{{zz{{{||{z||{{z{{z{{z||||{|}|{|{{{z{z{{{|{||{{{{{|{{|{|||}|||{{{{z||{{||{{|{||{{|{{z{{{{|{|}{|{{{{z{{{|{{|||||{|z||{{||{{{||||{{{{z{{{~}}|||{{{z|{|{{}|}||}|||{|{}{z{|{{|{}||}}|||{{||}{|||}|{{|{zz{{|||{|{|{|{{{{{{{{z||||||{{zz|z{z{{|{{}~~~~}}~}}}}~|||}||{||}||}}~}|{||{{{||{|{|}|{|{{{{z|{|{|{|{|{z{{z{{zz||z{||{|{z|{{z{{|{{{{{{{{{z{{zzz|{{{{|{{{|{z{{{z|{{|||z{{z{|zzzz|{|{|{|{{{{|z{yz||{{{{|}|{{{{{{z{|||{{{{zzz{{zz{{z|{|{{{|zzz{{{{z|{{{{||zz{zzz{{{{{|z||{{{{{{{zz{{{{{|{|{z{|{{{|{|z{z{{{{{{|zz{z||||}||{{{|z{{{{{}{{{{|||z|z{z{{{|{||{}{z{{|{{{{||{{{|{{{|{z{zz{z|{|||||{|}z|z{z|{{|{{{||{|{{{{z|{{}||||{z{{{{{z{{|{|}}|{|{{{|{{||{||||||{{|{|{|{|||{}||{{{|{{{|{|||{||{{|||{|z{||||||}||{{||{{{||||||||{{|{{|{{{|||||||{z{{{{z{{|{|{|||||{{{z|{|{}||~~~}}~~}}}|}}|}|~}|||||||{{{}|}|}|zz{|{|z|{|z||{}{z|{{{z{|||{{{||{{{|zzzz{|||{|{|zz{z{{zz|zz{{|{{z{zz{y{z{{|{{{{|zzzzz{z{{z{{{|z|{z{zz{zz{|{{zz{{{yzzzzz{{{z{z{{zy{zz{zzzy{{{{||{zyz{zz{yz{{{z{{{{z{zz{zzz{{{{{{{{zzz{|zz}{{{{{|{zz{z{|z{|{|{{{{{{{{zzz{{{{{{{z|{z{zzzzz{{{{{||{|{{{{{{z{{{||{{{|{{{{{{z{{{{{{z|{|{z{|z{{{|z{||||{|z{y{{z{|{{|{{|{{{{z{{{{{|}|{|||{{|{{{{||||{{|||z|{{{|z{}||||||{{{{{{|{||{||{|||{{{{{z{{}||}|}|||{{{{{{||{||||||{{||{z|{{||||||{|{{{{z{||{|||||{|z{{{{{{z{|{{||{{z{z{{z{||{||{{{z{z{{{z{{{{z~~}}}}|}|}}}}~|}||{|{||{{|||}||}}}|z{{{{z|{{}{||{|{|{yz{|{{{{{{|{{{{{{{{zzz{|{{{|zzzzzzzyz||zz{|{{zz{{z{z{{{{z{{z{zzzzy{zzzzz{{z|zzzzzzz{z{{zz|}{z{zzzzzz{{z{|{|z{zzzzz{y{{|{z|{zy{{zzzzz{{{y{|{{z{zz{z|z{|z{||{{{|{z{{{zz{{{{|||{zzz{z{zz|{{{{{|zy{zzz{zzz{||{||{{z{{zz{{|{{|||z{z|z{z{z{{{|{|{{|{zzz{z{{{{|{||{{{{z{|{{|{{|{{||{z{{{{z|{||}{{||{|z{{{{{||{{||||{{{{{{z{{{||||}||{{{{z{{{z{{{|||{{{|{{|{{|z{|||{|{z{{{{{{}||||||{{z|z{{{{||||{|z|z{{{z{{||{||{{|{{|z{{{z{}{|||||{zz{{{zz{{||||||z{z{{z{{{||}{{{{{{zz{{{{|{{{|}}}}}}~}}~}~}}}||}|}|{|||}}|}|}|||zz|||{|{||{|{||z|{{z{z||{{{||{z{z{zzz{{||z|{|{{|z{{zz{{|z{||{z{|{zz{z{{{zz}{|zz{{yz{{{{{{||{{zzzz{z{{{{|{{{{{{{{zzzz{{{{{{{|{{{zzzzzz{{{|{{{{|zz{|zzz{||{{|{{{{zz{{{{z{{{{{|{z{{y{{zz{{|{{{{|{z{{{z|{{{{{|{{|zz{|{{{|{|{{{|||{{{zzz{{{|{|{{|{{{{{{z{{{|{|{{|{{{{|zzz{|{|{{{||{{|z{{{{|}{{||||{{{{{{{|||{|||{{|{{{{{{|{}{|}{||z{|{|{z{}||{|{|{{{{||{||{||||||||{{|{|{{||}{|||}{{{z{{{{{~|}||||{z{{{|{{|{||||||{{{|{{z|{{z|}|||||{|{|{|{{|||||}|{{{{z|{|||{{||{{{{|{{{{{||||{||{{{{{{{{{{|}|~~~~~}|}~|}}}}}~~}}|||}|}{{}|||}||~{{|{{||z|{|}|}|}{z{|{{{{{{|{{|||||{z{|{z||{||{||z{{{{{|{{{{z}|{zz{{{zz{{{||{|{|{z{z{{zz{{{||||{{z{{{{zz{{{{{{{{{{{zz{{z|{|{|{|||{{zz{z{{|||||{{{|{z{z{z{{|{|{z|zz{z{z{{{{{{{|{{{{{z|{{z{{{|{{{{||{{{z{z{|{{{|{||{z{{{{|{|||||||{{{z{{{{{|||{||{{{|{{{{{{}||{|{{{{{{{z{{{|||||||{z{{{{zz{{||{{|{|{{{{{{{{{|||||{{{{||z{{|{|||||}|z|{{{{{|{{|||{||{{{{{{||}|}|||||{||{{|{{{{{}}|}|{|{{{{{{}{{}||}|{||z|{|}}{}||||}{{{|{|{{|||{||||{{||z{|||||||}|{||z{{{{{}{|{||||{{zzz|{{|{||{{{{|{||zzz{{{{z~~}~}}}|~}}}}}~~}}}|{||||||}}}}|||{|{{{{||||||||{{{{{{{z|||{|{{{{{z{{{{y}|{|{|{{{|zz{{|z|{z|{{{||{|{{{zz|{{{{{{{|zzzz{{{{{{{{|{{z{{{zz{z{{{|{{|||{{z{{{zz|}|{|{{zz{|z{{{z{||{{|z{z{z|{zzz{z{{{{|{zzz{|zzz|{{{|{||zzzzz{{{{|{{{|{|{z{zzz{{|{{{|{{{z{|{zz|{zz{|{|{z{{{{{{z{{{{{||{z{{|{z|zz{{|||{|{z|{{{{z|{|{||{{zzzzzz{z{||{z|||{{{{|{{{|{||}||{{|{{{{{{||{||||}{{{|{z|z{{}||||{{{|{|{{{{|||||||{{z{{||{{|||||{{}||{{||||}|||{||}||{{{{z||||}|||{|{{{{{|||||}||||{|{{{{||||||{{|{{|z{{|{{||{|{{|||{{z{{z{|||{||{{||{{z{{|{{{{~~~~|}}}|}}~}}}~|}||}{|||||}||||{~{{|{z{|||||||||||zz{z{{{{|{|{{||{{{{z|{z{{{{||{{z|{{z{{z{{{{|{|{{z{z{zz{{{|z{|{{{zz{{{z{{{{{{{||z{{zz{{{{||{{|}|{z{zz{zz{{{{{{{{{{{zz{{z|{{zz||z{{z{{z{z{{{{{|{{zz{zzz{{z{{z{|{||{|{{zzz{{{||{||{{{{{z{z{{|{{{|{z{|zzz{{|{{{||{|{{zzzzz{{|{|||||{||z{{z{{|||{||{|{{|z{|{|{|{{|}{|{{{{z{{|||{{||||{{|{{{{{||||}|{|z{|{z|{{{||{||||{{{||z{|||{|}|||z{|{{{||}||{{|}{||{{{{|||{|||{{||{|{||{|}|{|||||{|{z|{{||||}|||~{{||||{{|}{|||{{{{|||{{|}||||}}{{|z{{{{|||||}|||}|{z{{z|||}|||{z{|{{|z{{{{{{~}~~~}|~}|{|}}|~}|}|{}{}{||}}|||||}{|}{z|{{||{{|||||z|z{{z{z|{|{z|{{{{{{zz{|{{}{{||{|{z{{{{{||{{||{z{z{zzy{|{|{{|{{zz{yyzzz{z{{{{{||{zzz{zz{{||{||||y{{{{z{z{{{{||{{z{{{{z{{{{{|||{{z{{{zz{{{z{{{{{{{{zzz{z|{z{{|{|zzzz{{{{{|{{|{|{{{{zz{z{{z||z{{|{z|zzz|{|zz{||{|{z|z{{z{{{}{||{|{{{{{z{{{}||}||{{{{{{{yz{{}{|{}{|{|{{{{{|{|{{{{z|{|z{{{z{|{|{|{|{{|||{||}|{||||}z{|||{{{{||||z||{{{{{{{{{|{{|||{|{{{{||}{{|{||||{|z{|{{{{|{|||}||{|{{{|{|{||{}|{|{{z{{{{{|{{|}|||{{||z{|{{|{|||{|{{{{z{{{||||||||{{{{{{z{||{|{}{{}|{{{{{|}{|{}~~|}|||}}}}}}}||}}{}{|{{{|||{|}|}|||{{{{|||{|{}{|{{{{{{z{|{{|z{||{{zz{{{z{{{|{|{|{{{zz{zz{|{z{|{{|{{{z{{{|{|{{{|z{{|zz{{{|{||{{|{{zz{zzzz{{{{z{|z{{{{{{{{|||z|{|{{z||zzz{{{z{{{{|z{z{zzzz{{{z|{{{{{|{{{{z{{z{{{||zzz{zz{z|z{{{|}{{zz{{{z{|{{{|{z|{z{{{z{{{|{{|{{}{{{{{{{{{|||{|{|{|{zz{|{{|{{||||{{{{{{{|{||{|{|{||z||{y{{{{{{}{{{{{{{z{{|}||||{|{{|{{{{{||{}{}}|{{{{{{{z{||}}|}|{|{|{{{{{||{||}{{|z{||||{{|||||}||{{{|{{{}||||{|{{{|{{|{|||}|||||{|{{{{{||{{|{||{|{{{{{{|{}|||{|{{{{|{{|{|{{|{|{{z{{{zzz{||||}|{z{{{zzz{|||{{}}~}}}{}|{{|}{}|}|{|||{|y{|||||||{|{{zz{{{{{{|{|{|{{z{z{zz{{{||{{|{||{{zz{{z{{z{|{|{zzzzzzzz{|{z|||z{zzy{zz{y{{z{{zz{zzzzz{{{{zzz{{zzzzzz{z{zz{{|{{{zzyyzzz{{|z{|z{|{{zzz{z{z{{{{{|zz{z{y{z{{z{z{|{yz{yzzzz{{{{z{{{zz{{zzzz{z{{|{{{zzzzzzzzz{{{z{{{zzz{yzzzz{z{z{{|zz{zz{zzz{{|{{{|{zz{|zyz{|z{{{{|{zzyzzzz{|{{{z|zzz{{z{|{{|{{z{{{z{z{{{{{z{{|{|z}{{{zz{{{|{{{{|{|z{z{{{zz{{|||{|{{y{z{{z{|||{{{{|{z|{|{{zz{|{||||{zz{{{{z{}{}{|||{z{z{{{{|{||{|||{z{{{{z{{{{|{{|||{z{{{zz{z{{{|{}z|{{{{z{{{{||{{{{{z{z{{y{{|}{{|{zz{{zz{zz{{zz}~}|}}||||{~||}|}}||{{||{{||{|{|||}}{|z{{{{{|{{||||{{{{{{{{{|{z{{}|z{|{{{{z{z{{{{z|{z{zzz{z{zz{z{{{zz{zzyz{{z{|z||zzzzzzzz{{{z{{{{{zzzyzzz{{{zzz{{{{{{z{zzz{|{z{{{|z{{yyzzzz{{|{{{{{zz{{zzy{{{zz{{{{zzzyz{z{z{{|{|{{zzyz{zz|{{{{{{|{z{{zzy{|{{{{z{{{z{{yz{{{{{{{|{zz{{zz{z{z{|{{{{|{{{{{y{{{{|{|{{{z|{z{{{{{|{{|{|{{{{{zz{{|||{{{{{{zz|{z{z{|{||{|{z{{z{{{{|zz{{{||{{{|zz{z{{|z|{||{z{{|{{z||{|||||z{{{{{||{|{{{|{}|z{{{{{{||{{{||}|{z|{z|{|{|{{{{{{|{{{{{{z|{{|||{|{{|{{z{{{{|{|||{|{{z{zz{{{||||{{{zz|z|{{|{|{{}{z{{z{zy{{|{{{~~~|~|{{||}}}}{{||||||{{z|z{{||{||||{{z{{z||{{|{{||z|{z{zzz{{{|{{|{{zzzzzzzz{{{{{{{zz{z{zzz{{z{{|{{z{zz{z{zz{||z{{z{zzzz{yz{zz{{{{z{yzzzzzzz{zz|{{{zz{zzzyz{z{{{||z{{{zz{zz{z|{|||{{zzy{yzzz{|z{{z{z{{zz{zyz{{{{{{{zy{zzzzz{{{{{{|{{{zzzzzy{{{|||{|{z|z{z{{{{|z{{{{{zzz{zzz{{{{{|{|z{{z{z{{z{|{{{|{zz{{{zzz|||zz||z{{{{zz{{{||{z{{{{zz{{{{|{{||{||{z{{{{z|{{{|{{{||{{{zz{z{|{|{|{|{{z{{{zz{{|{{||||{{{|{{|{|{{{|{||{z{{{{{z||{z{||||z|||z{z||||}{|{{{|{z{{||{||{{||{{{{z|{z||{z||||||z{{{zz|{{{{}|{||{z{{{{||z|{{{|{{{{z{z{zzz|z||}}{||}{{||}}|}{||y{{{{{{{||{{|z||{{|{{{{{||{||}{{{{{z{zzz||{|{{|{{{zz{zzz||{|{|{{zz{z{zzz{{{z{|{z{z{zy{zzzz{zz{|{zzz{z{z{{zz{z|||zz{z{zz{zz{z{{{{zzzzzzzzzz{{{z{{z{{zyz{z{{{{{|{{z{zzz{{z{{{zz{{{z{zzzyz{z|zzz{{zzzzz{{z{{z{|{{{|zzyy{z{{{|{{z{}{{|{{{z{{{{zz{|{|zz{z{z{z|{||{{|{{{{z{z{{{{|{||z{{zz{{z{{{|{{|{{{{z{{zzz{{{{z{|z|zz{z{{{{|{{{}|}zzz{{{{|z||z||||||{z{|yzz{{||{{|{|{{{|{{z||{{|{||z{|z{{||{z||{|{||z{{z{{z{|{z|}{{|{|{{{{z{|{{||{{|z{{{{{{{|{{||||{||{||{z{{{{|{||{{{{{z{{{{{||||{{{z{z|{{{{{{||{{|{zzzzzz|{z{{~}}||||||}||~}{}|~|{{{|{{{|||{{z|||{{z{{z{{{{{z{{|{|{|{|{z{{|||{||{z{|z{z{z{{{{{{{|zzzzzzzz{{z|{{||{z{zz{zyzz|{{{{{|zzz{{|{{z{{|{{|zzzz{{yy{{{{{|{{{zzzzzzzz{|z{{{|{{y{zzzzz{{|{||{|yy{{{zz|{z|{{|z{zzzzz{{{{z{{|{{{zzz{{{zz{|{{|||{z{{{zz{{{{{{{{|zzzyz{{z{z{{{{|{{{zzz{y{{{|{{{{{{{{{{{{z{{|{{|{|zz{|z{zz{|||{{||z{y|{{z{{{zz{}|{z{{{{z{||||{|}||z{|{|{{{{|{|{|||{zz{|zz{{{|{{{|{|{{{{z|{{||{{}}|{{||{{||{{||}|}{||{{z{{|{||||}||{{{{{{|{{{{||||{|zz|{{{{{{|z{|}}|{z|{{{{{}{{{{||y{{{{{{{z||||||{{|{{{{{z{|{{|||{|zz{{z|z||{{{}|}}|{||}}||}~}|||~|||z||{||||{}}}|||{{z||{{{{|||}{{|{{y{{{{|||{|}|{|yz{{{z|{||||{|{z|{{{z{{|{{|{||{z{{zzyz{{{|{{{{{{z{{yzz{{||{|{|{zzz{zzzz|{||{|{{z{{zzzz|{{{|{z|{{|z{z{z{{{{zz{{{z{{z{zzz{{{z{|||zzz{zzzz{{{{{{{zz{z{z{z|{{{{||{{z{{{{zzz|{{{{||{{{zz{|{|{{{{|{{{z{{zz{{{|{{{{{||{{{z{{|{{|{{||||{{{{{{{|{|{{{||{{z{{{z{||{{z|{||{|{{{{z{|{{|||}{z{{{||{|{z}|{||{{{|{{zz||{}|||||z{{{z{{}}{{||}|{{|{{z{|{}|||}|||{{{z{{{||{{{}}}}z{{z{z{||}{|{{||z{{|{{{|||z{||{|z{|{{{{{{{|{|}{{{|z{{{|{|||{|}}{zz|z{{{|{{|||{{z|{{{z{z{{|{|~}|}||||{|{}|}||{}|}|||{{{{||||||||{|z|{{{z|{||||||zzz{{{|{{z||z{{||{{{z{{z{z{{||{|{{{z{zzz|{{{z{{|{z{zzzzz{z{{{{|{|zzz{{|{{z{{|{||{yzzzz{{{{z{{{|{zz{z{{z{{{{z|{{{{z{z{{zz||{{{{{|{{|{zz{yzz{{z{z{|{zz{zz{{|z{{{{|{{{z{{{zz{{z{{|z{zz{zz{{{{{|{{{|{{{{zz{{|{{{z{{{{{zz{{{{{{zz{{|z|{{z{z{z{{|{{{z{|{{{{{z{{|{{|{{|{zz{{{{{{|{|{{{|||{z{z{|{{||||||{{|{{|{z{{{{{||}{z|{z{zz||||{||{|z{{|{||||{|{||}{{z||z{z{|{||||{||{{z{|{{||||||{{{z{{{|z{|{|||||{z{{{{{{|{{{|||||{{{{{z||{{{}{||zzzz{{{z|{{{{|||||{{{{{{|z|{{{{{{{{{{zzz|{|{{|||{||{|||{{||}||}|||{{{{{{|{|||{}|}zz{{{{{||{}{{|{|{{z|{z{{{{{{{{|{|{z{z{{{||{{{{{{z{{z{|z{z|{z{{{zz{{zy{z{{{z{|{{{{{zzz{{{z{{{{{|{{zzz{{{{{{{{{{|{{zz{zzz{||{||{{{|y{{z|{{z{|{|||{{zz{z{zzzzz{{{yz{{z{zzz{{{|{{{|zz{z{zyz{|{{{{||{zyzzz{zz|{{{{{|zz{{zz{z{{{|||||z{{|zzz{|{z{{||{|z{zzy{z|{{|z|{||{{z{zz{{||{{{|{{{{{|zz|{||{{{||{zz{|{z{|{|{{|||{{{{|z{{{z{|{|||{z|{{zz|{||{{||{|{z{{z{{{|{|||||{{{|{{{|||{{}}|{|{{{z|{z||{|}||||{{|{y{|{{|{{|{||{{z|{{{{z{|{|||{{{{||{||{{||{|||{{y{{{{|{z{|||{{{{z{{z{||{{{{{|{|{zyzzy{{||z~}||}{z}||{{||}||}|||{{||{{||}|||||||{y{{{z|{{||||{{z{|zz{{z{||{||{{{zz{z{{|{{z{{||{{{{{z{zz{{z{{{{{{zz{{zzz|{z{{{z{z{zzz|zz{zz{{{z{y{z{yzz{{{|z|{{{{{zzzzz{{{{{{{|{z{{zzyzz|z{z|{{zy{{{z{zz{{z{z{{z{zzz{zzz|z{{{y{{{{z{zzy{z|{||{{{zzzz{z{{{|{z|||{zzzzz{yz|{|{{|{z{{{zy{{{{{|{{{{{|{z{yz{z|{|{|{{zz{{zzzzz|{{|{|{{{|{{z|z|{z{||{|{{z|z{{{{{||||{|{z|z{{{{{|{|}|||}{z|{{zz{||{|||{{zzz{z{{|||||{|||{{z{|{z|||{|{||{|{{{{z{{}|{|||{{{|{zz{{{|{|||{}|{|{{z{z{||||{|{{zz{{{z{{|z|}{||{{{zz|z{|{|{{|||{{{zyz{|||{{{{{|{{|{{{|{{{|||~}}}|||{{|z{|||}}}{{{||{{{z{{{|||||{{{{||{z|{|{|{||z{{{zz{{{{|{{{||{{{{zzzzy{{{{{{{zz{{zyzzz{{zz{||zz{{{zyz{{zzz|{{{z{zzzz{{{z{z{zy{{z{{z{zz|{{|{{z|zz{z{zzzz|{{{{|{|{zzz{{{{z{zz{{z{zzyzyzzz{{{{||{{{zzyzzz{z{y{{|zz{z{z{z{{z{{{|{zzz{{z{{|{{|z{|{{zzzz{{{{z{||{{|zz{{{{{zz{{{{|{{{{{{z{{z{|{{|||{{zz{zzzzz{||}{|{|z{|{zz{{{|{{{{{{|{{z{|{zz||{}|{z{{z{z{{||||{|||{z{|z{{z{}{|||||{zzz|z{{{||||}||{{|{z{{{||{{|{|||||{{{{z{}||{|||{z{{{{z{|||{||{||{z{z{z|{|||{}{{{|z{{zz{{|{|{{|}{z{{{{{{{{{{{|||{{z{{{{{||{|{|{{{{{z{z{|{|{{{}||||{|{{{|||}{{|}}{|{{|{{{{{|}{|{|}{|{|{z{{|{|||{|{{zz{{{{|z|{||}|{z{zzz{y|zz{{||{{zz{{z{{{{z{{{{{{{{zzyzz{{{{z{{{{z{{y{zz{zy{{{z{{zzz{y{z{{{{{|{{{z{yz{yz{{|{{z||z{{zz{zz{{z{|z||{zzzzzzz{|zz{{{zz{{zyyz{{{{{{{{{zz{z{{yz{{{z{|||{z{{zz{z{z{|z{{{{z{{{{{{{{{|{|{{z{{{zz{z{|z{zz{{z{{z{z{{{{||{{{{{{{{z{z{{{{{{{|{{{z{{zzz|{{{{{{{||{{{z{{z{{{{}{{{{{{{||||||{{{||{z{z{{{y{{z}{{}{{yzz{{{{||||||}{{||{{{|{}{{{z{}||{z|{{{{{||{||}{|{{|{z{{|{||||||{z{{z|{{{|||||{|{{z{zzz{|{|||||{{{zz{{zz|{|{|||{{|{zz{z{{{|{|{|{{zzz{{{zz{{|z}}{|{||{{|{|{||}{{|{{|||{|{{|||{}{|{z{z{z{{|{{{|||{|yzy{{zz{z{|{{{|zzz{{z{{{{{|{{{{zz{z{yzyz{{{{{{{z{{z{zzz{{{{{|{{z{{zz{yz{z{z{{{{zzzzzzzz{{{{zz|{{zz{zzz{z{{{|z{{{{zzzzzz{{zz{{|{zzzzzz{z{zz{z{{{{{{{{zz{z{z{zz{{{y{yz{z{{{{|{|{|{yzz{{z{{z{{{{{{zzz{zzz{{{{z{|{{{z{zzz{{{{|zzz{{zz{z{{{z{|{|{{{{{{{z{{zzz|{{z{{{{z{{z{{{{{||{{||z{{zzz{{{||}||}|{|{{|zz{}|||||||{{{{z{zz|{{{{|{||{{{{|{z|{{{{{|{z{{|{{{{{|||~||{|z{{{{z|{|{|{{||{{{{{{z{|{||{{{||z{z|z{{z{{{|||||{z{{{{|{z{{||{|z{{zz{z{{{||{||{|{|z{z{{||{||||{{{{z{zzzz{{{{||}|{{|||{|{|||}|||{|{{|{{{|||}}}|}z{{zzz{z{{|{|{|{{{zzzzz{z||{|{|{z{{zzz{zz{{||{{|z{zzzz{{{{z{{||{zz{yz{{{{|{{{|{{zz{z{zzz{z{{{z{z{z{zz{zzz|{{{{|{{zz{{zz{{{{{|z{zz{{{zzzzz|z{{{{|{{z{{z{yzz{zzz{|zz{{z{zzz{{{z{{{{y{{z{zz{{{|{{|{{zz{zz{z{{{{{{{||z{{z{zz{{{{{{{|zz{zz{{{{{|{{{{{{y{zzzzz{{|{|{{{z{z{{zz{{{{{z{|{|z{{{{{{{||||{{|{z{{{{{|{|z|{||{{{{{z{zz{{{|{||||{zz{{z{{||{||{{|{{{{{{{|||{||||{{z{{||{{|{||{}||{{{z|{{{}{||{|{|{|{{y{{{{|||||||z{{|{{{{||{{|{|{{{{{{{{{||}{{{|{{zz{{{{z|{{{|||{{zz{zz{z|||{{||{{{zzzzz{|{{{|||}|}|||{{{|}|||}}|{{||{z{|||||}|}|{{{z{z{{{{{{|}{{{{{|{{z{{{||{{|{{z{z{zy{{z{{{{{{zzz{z{{{{|{{{|z{{{zyz{{|{|{{|{zzzzzzzyz{{{{|{z||{z{zzz{{{{{{{|{{z|{z{yzz{{z{{{{z|{zyz{z{{{{{z{{|{{z{z{yz{{|{|z|{{{z{{{z{zzz{|{{|y{z{{y{{{{{{{{{{{{y{|{{{z{{{{{|{{zz{zz{z{{{{|{|zz{zz{{z|z{{z{{{{z{zzzzz|{|||}|{{{z{{z{{{{||{|{{{z{{{z{{{{{||||{z{zz|{|z||{|{|{{{|{|{{|{|{|||}||{{z{z{{{{{|{||{z{z{|{|||{{||{{|{{|{{{{|{{{|}|}|||z{||{{|{}|||{||{{{|{{{{|{||{}||{z|zzz{{|{|z|{{||{{{|{z{|{||{||||z{zz{|z{|{{{|||{{z{{z{z}||{{{|{z{{z{{z{{{{{{||~}|z}}{{{{||{|||||{{z{{z{z{{|{{|}{{{{{{{{{|{}{{|{{{{{zz{z{{{{{||{{{{{zzzz{{{}z|{}{z{{{y{zz{{zz|{{{z{z{{{z{{{{{{{zz{zzzzzzz{{{z{z{y{zzyz{{{|{{{{{z{zyzz{z|{{{{{{{|{{{{{zzzz{||{||{{zzzyzzzzz|{z|{{{{zz{zz{z|{{{{{{z{z{yz{{zz{z{{{{|z{zzz{{{{{z|{{||y{{zyz{{|zz{{{|zz{z{{z{z{|||||zz{z||z{z{|{||z|{{z|{{{z{{|{{{|{|{{z{z{z{z{{z{|{{{{|{{zz{||||{{||{z{{{z{{{|||{||}{{{{{{|z{|||{||||{{{{|{{{{||||}|{{{z{|{{{{|{{||||z|{{z|z|}{|||}}{{||{{{{{|{|{||||{z{{{{{{|{{|{{||z{{{{{{|}{|{{{|{{{z|z{{{z|{|{||{{{{z{{z{z|||{|{{zzz{z{zz||{}}}|{}||}{|z|||}{||}||{{z{{z||||{||{||z{{{{z||||{{|{|z{zz{z{{|{{{{|{|{{zz{{{{{{|{{|{z|{{{z{{{{{{{|{{{zzz{z{{z{|{{{|{{z{zz{{z|zz{{{{zzyz{zz{{{{|z|{||zz{zyzzz{{|{|{{|{z{zz{zzz{{{z|||z{{{{{{{z{{y{{{{{{zzz{{z{{z{{{{{{{{{{{zzz{{{||{{|z{z|zz{{{||{|||z{|zzzz|{{{{{|{{{{{z|{z{{||{|{{{{{{{{z{{{||z{|{|{z{{{{{{{|{||{{{z{z{{{{{{||{{|{{{z{{|{|{|||||}{{z|{z|{{{{||||}|||{{|z{|{||{|{|||{{{{|{|{|||z|{||zz{{{{|{||{|}||||{{{|{{{{}|}{||{z|{{{{{{|{{|{{{||{{z{{z{|}{||||}|{|{z{{|||{}{|||{{{{z{{{{{||{||||{{{z{{z{{|{{{z|z{|{zz{{|{|z{|{|||{||{{{{{|{||||{{{|{{z{{|z{{|{}{{{{|{z{zzz{{z|{{z{{{zz{{||{{{{{|zzzzz{z{{z|{{{{{{zz{{{{{|{|z|{{{zz{zzy{zz{{z{{||{z{z{yz{{|{|{{|{zzzyz{{z{{{|z{{{{{zyzz{z{|{|||{{{z{zz{z{{{{{{{{zzzz{z{zz{z{{{{|{z{z{zzzz|z{{{{{{{{yzz{z{{{{{{{|{{{y{zz{z{{{{{zz{z{{zz|{{{{{{{{{z{{{zz{z{{||{||{{z{z|yzz{{z{|{{{{{zz{z{z||{{|||{{zz{zz{z{{{{{||{{z{{{|{|z|||{{||z{{|{z||z|{}|{||{{{{{z{{{|||}|||{z{{|{{{z}{{{|||{{{zz|{{|||{{|||{{{{{|z{{|{{{|}{|{{{{z|{|{||{||||{{{|{z{{{||{|}|{{z{z{z{|{{|{|||{z|zz{z|{{{{{{||||z{z{z{{|||{{|{{{zz{z{z{|{|{||||{{|||{z{|}|{|{||{{{z{{{{{||{||||z{{{{zy{zz|z{|{{{z{z{z{{{{z{{{}z{zzyzzz|z|{|{{{{z{z{zzzz{{{{{|||{{z{zzz{z|{z|{{zzzy{z{zz{{{zz|{{zzz{{zz{z{{{{{z{zzzzzz{{{|{{{z{zz{zyzzz{{{zz{{{{{zzzzzy{{z{{|{{z{{zz{zzz{zz{{{{{zz{zz{z{{{{{{{z|zz{z{yz{|z{{{{{{z{zzzz{{z{{{||{{z{zzz|zz{|z{{||{{{z{y{{{{|{{{{z|z|{{zz{{{{|z{|{{{z{{z{z||{{z|||{{z{{|{z{||}{||{z{|z{{z{|{{}|||||{{{{zzz{{||{{{{|{z{z|{{||||z}|||z||z{|{{{|{|||{{|||{|z|{|||||||{{{|{z|z{|{|{|{||{z{z{{z{|{||{||||z{{{z{{{{|{||{|{{{zzz{|{{{|||{|{z{{zzz{|{|z{{{{{{zzz{z{{{{|||||{{|}|z|{|{|{{}|{|z|{z||{||{{|||{z{z{{{z{{{|{{{|{zz{{z|zz{{|{{||{zz{zzz{{|{|{|{|{zzzz{{{z|z{z{|{||{z|zz{zz{yz{{|{z{z|{zz{{{{{{z{zyz{{zz{z|{{{{{{|z{zzzz{{|{z{|{{{z{{{{{z{{|z|{|{{{{{zz{z{|zz{{{{{z|{{{z{{|{{{{{yz{{z{{{z{{{{|{||{{zz{z{z{|{{z{{|{{|zz{zz{{{{{}||{z{{zy{{{{{{{|{|{zz{|z{{z{{{|||{{{{zz{{z|||||{{{{z{z{z{{|{{{z|{|{zz{{{z{|||||{{{z{{{{z{{{{|{||||{|{zz{z{{|{{{||||z{{|z{{{}|{{{{|{{|{{{|{z|{||{||{{{||{{{{{{||||||{{|{z{{{{}|{|{||{{|{{|{|{|{{{||{{{{{{z||}|||||{{{{z{z{z|{{|||||{z|||{{{{{|{|{||{zzzz{{{||{z{}|{{{|{z{{{{||{}{{||{{|{{{|{|||{{|||{{zz{zz|z{||{|{{zzzzz{z{{{{{z{{{zzy{zzz{{{{{{{zz{zzzy{{z{{{{{{{{z{z{zzzzz{zy|{{{{{zyz{z{{{{{{{{{zzz{z{z{z|{{{|z|{zzzzzz{z{{{{{{zz{{zz{y{||z|{{|zzzzzyz{{{{z{{|||zzzzz{zz{z{{|{{{zz{zzzz{|{|{{|{{z{{{zzz{||{{{{{{{|zzyz{{{zz{{{{{{|zzy{z{{{z{||{zz{zz{{z{{{{|{|{{{{zz{{z{|{|{|||{{{{z{{z|{{{|{||z||y||{|{{||||{|{{{z{z{{||{|||||{|{{{{{z|{|||||||z{{|{{{|||||||{{z{{{||{|{zz|||||{z|{|{{{}{{|}|||{|{{{z{{{{|{|}{{{{{|zz{{{{{{{|{{|{{{{{}|{|||{|{|{|{z{z{{{}{|{}{|{{{z{{z{|{||{}||z{{{{zz{z|{|{||{{|{{{{z||||{{||{{{z{zz{||z|{{||{{|{{{{y{|{{{|{|z{|{z{zz{z{z{{|{{{zzzz{z|{{|{{{|zz{zzzzzz{{{z|{z{z{{y{{{{{{{{{|{{{zz{{z{{z{{|{{zz{zzz{zz{{{{{{{z{{zzz{z{{|z|{{{{z{{{z{zzz{{{|{{{zz{zzz{{{{{z{|z{{{zzzzyy{zzz{}{||zzzz{{z{{{|{{{{{z{zzyz{{{{z{{z{z{z{{zz|zz{zz{{|zz{{{y{{|z|{||{{z{{z{z{z{{{{{|{zz{|yz{zz{{{{|{|{{zzzzz{z{||{{{||{z{{{z{{|{||||{|{{|{{{{{|z{|{||}{{{z{zyz{|{||||}|{{z{{{|||z{{||{{{{{{{{{{|{||||||{{{z{z{{||||||||{{{zzz{||{{||||{{{z{{{{{|{|{{||{|{|{zz||{{|{|||z{{z{{zzz{z|{|{|{|{{{zz{{|||{z||zz{{zz{{{|{{{{||{{{{{||{|}||||||{{{{zz{z{{{{{|||z{{zz{{z{{{|{}|{{{z{{zzz{{{|z{||zzz{zzz{{{{|{{{|zyzz{{{zzz{|{|{{{zzz{{y{z{{zz{|z{{zz{{zz{zz|z{{{{zzyzyz{{{{z{{{z{z{zzzy{{{{{z{{{{z{z{z{yz{z{zz{{{|zyz{{zzzzz{{{|{zz{zyzzz{z{{{{{zzzz{{yz{{{{{z{|zzzy{{{{{{{z{|||zz{{z{z{{|{{{z||zz{zzzz{|{{||{{{{y{z{{zz||{z{|{{z{{{zz{{{|{z{{{|{zzz{{{z{{{{{z|z|{{{{{z{{{|}{|||z{{{{{{{||{{{|{}{z{{{{z{{{{{|||{|zzz{z{{{|{{{|}{{{{y{{{{{|{|{|||{{|{{||z{}{}{{|||{|{zz{{}{{{{|||{z{||{z{|{{||||{{z{{z{zzz{{|{|||{{{z{{{zz{z{|{|{|{z{{|{{{{|{{{{{{z{z{z{z{{|{{|||zz{{{|{{{{|{{{||{{zz{{{{{{{{{{{{{{|{{{{{{{|||{|{{{{{z{zzz{{|{|{|{z{zzzzz{||{{|{{zzzzzz{zz|{{{|{||z{z{zzz{|{{z|{zz{{zzzyz{z{{z|{{{zzz{zyz{{z|{|{{z{{z{zzz{{|{{{{|{zzyzyzzz|z|{{{{{zz{z{zy{{{{{{{{zzz{zzzzzzzz{{{zzyz{z{zzz|{|{{|{|{{z{z{z{{z{{|z{{z{zy{zzz{{{{z{{{{{{{{z{z{{{|{|{{z{z{zz{{|{{{|{{{{{z{zzz{{{{{{{{{z{yzz{z||{zz{|{z{|{{zz{{{|||||{{{{{{{{{{||}{||}{{z|{{z{{{}||||{{{||{{{{||{{{{|{{{{{{|{{{|{||||{|{{{{|{zz}||||{||z|{{z{z{|{|{||{|{{{|{z{|{{|{{|{{{{{{{z|{{|||{||{{zz{z{z||{{||{|{z{{z{{z{|{||||{{{{y{{z{|{|{{{{}|{{||}{{||||z|||{{{{{{|{|{{{|||||{z{{|z|{{|{{{{|{{z|z{z|{{||z{||{z{{zz{y{{z{{{{|{{{zz{{{{|{{{|z||zz{zz{zzz{{{{{{zzz{z{{z{z{z{|{{{yzyyz{{y|{{{{|{zzz{zzzz{{|{{z|{{zzzz{z{z|||{{{{{zzzzzzz{{{{{{{{{z{{yzzz{|zz{{{|zz{yz{{{{{{{{z{{{|{z|zzz{}|{{{z{{zz{z{{z{|||}{{|{z{{zzz{{{{{|{{{{{{{zy{z{{{|{|{{{z{{z{{z{||{|{{{zzz{z{{z{|{{|{|||{{z{{z{{|||||||z{z{|{|{||{|{}|}{{z{{z{{||{|||{|{{z{{{{{{|{||||z|{{{z||{}||{}|{||{{{z|{{||{||{{||{{{{{z{{|{{}||{|{zz|{{{{{{||||{{|}{{zz{{{|||{|}|{{z{{{{{{|{||}||{{|{{z{{|}|{{|||z{z{z{||||{{{||{|{|{zz{||}||{{|{{{zz{z{{|{z{||||{z{{|{z|{{|||{{|{{z{{zz{|{{{|}{|z{zy{{z{||{{|{{{{{z{{zz{{|{{{|z{{zzzz{z{{|{{{|{zz{{yzz{{{{{{{{{{zz{zzzz{{{{{{z{zzz{z{yz{z{{z{{{{{zy{{{z{z{|{{{{zzz{{{{z|{|zzz{|{{{z{{zzz{yz{{|{{zz{z|{{{{}{z{{||zzz{{zzz|{z{{||{{z{{z{{{z{{{|{|zz{z{zzz{|{{{z{{{{{{{z{{z{|{||||zzz{{{{z|{|||||{{z{{{{{{{{{{{{{|{{z{z{z||}|}{}|{z{{z{|{{||z|{{||{{{|{z{z||{{|||||z{{y{z{{||||||{{{|{{||{|{|||{||}{z{{{|{{|}|||||{z|{{{{{|||{{||||{{{|{z{{{{|||||{{||{{{{{{{|{|{|{{{|{z{z{|{{||||zz{{zz{z{|{||{||{{zy{z{{{|||{||||{{|{{{y{|{{|{|}{{{z{{zz{{|{|}|{|{zz{z{{{{|{|{{{{zz|{{|{z|||{z{{|z{zzz{y{{{{{{{|z{{zz{zz{{{z{z|{{z{zzzz{{{{{z{{zz{{z{{{z{{{|z||{{z{{zzz{{{{{z|{{zz{z{zz{{z{{{{{|{zzz{zzz{z|zzz{|{zzzzzzzz{{z{{{|{{{z{zzzz{{{{{{{{zz{{z{z|{z{|{{{{zzzzzzy{{{{{{{|zzy{{yz{{{{{{|{|z{{z{z{{{z{{{{}{zz{{zz{zz|{{{||{{zz{z{{{{{|{|||{{z{{|{|{z{{{{{{|{{z{{zz{{{|{||{|z{|{{{{{||||||{||{{{{{z{||||{||{|z{z{{{{{|{|{||{zz{{||{{|{{||{{}{{{{{{{||||||{||}{{{{{z|{{{|{||||{{{{{{|{{{{{|{|{{{{{zzz{{z|{{|{{zz{{{{{{|{|||}|{z{{zz{z{|||{{||{z{z{{{z|||{{}|}|||{{{|{||||{{||z{|{z|z{{{{}{||||{{{|{{|||{{{z|{{z{{{{{|{{{{z{{|z{|zz||z|{{|{{{|{z{z{{{{{|zz{{{{{{{{zz{{z{|{{{{|{z{yz|{{|{z{{||{z{zz|y{z{{{{|z{{zzzzz{zz{{{{|{{{z{{zzzz{{||{{{z|{{zzzz{zz{{{{|{{}{zzz{zz{{zz|{|{{{{{{|zzz{{z{z|{{z{z{{{z|{{{{|||z{{zzzz{|z{{{{{{{z{{{zzzz|{{{||z{{{{zz{z{{|{{{{z{{{{{{zz|{|{z{||{{{{{z{{{||z{|{|{{z{z{{{z|}}|{}||{|{|{{{||{}|||||||{|{z{{||{|||{|z|{{{z{||{|||{||{|{{{|{|{{{{||||{{z{{{{{|||{||}{{|{{{z{|{|}{||}|{{|z{{{|||{|}||{{{{|{|{||{|}|||z{{z{{{{|{||{|}||{{{{{|z{|||z|{|{{|z{z{z{{{{{{|||zz{{{|{{{|||{{{|z{{{{z{{|{}{}|||{{{zz|{{{|{{||||{z{{zz{{{{{zz|{|{zzz{zz{{{{{{{|{{{{z{zz{{{{z{||z{{zzzzz{{|{{{{{{{zz{{z{{{{{{|{{zzzzzy{{z{zz{{|{{zz{zzzzz{{{{{|z{zz{{z{|{z{{{z{{{y|zz|zzz{z{z{{{{zzzzz{zz{z{z||{{z{zyzz{{{{z{|{{{z{{zz{{zzzz|{|}{z{z{zz{{{z{{z{{z{zzz{zy{{{{||{|{z{z|{{{{{{||||{{z{z|z{{|{|{{{||{{{{{{{|{|{|||||{{z{|{{{{||{z|||{{{{{|{{{{{|||{{{{|{{{z{||{{|||{{{z{{z{z{||z{|||{{{{{{z{|{{{|||||{z{{{{{||{{}{|}|{{{z{z|||{|{{||{{{{{{|z{{||||||||{{|z||{{{{{|||{{{zz{zz{{{||{|||{{{zzz{{|{||{|{{zzz{{z{{|{|z|||z{|{zz|{|{|z|z}|{zzz|z{{|{||{|||z{{zz{{{{z{|{z{{{|zz{{{z{{{{{{||{{{{yy{{{{{{z{z|{zzy{zzz{{z{{{{z|zzz{zz{z{{{{{zz{{zzzzzz{zz{{z{{z{zzzzy{{{z{{{zz{z{{z{zz{z|y|z|z{{{{zzyy{{{{|{{{{{z{zzzyz|{{z{{||{zz{z{{|{{{{|z{z{{{z{z{z|{{{z|{zz|z{zz{{{{zz|{{{{{zzzz{z{zz{{|{{zzy{z{{{{{{{{|{{zz{{zzz{{{{{{{{{{{{{z{z{|{{{{{{{zz{z{zz{{|{|{|{{z{{{|zz|||{||||{{{{{{{{{{z|||||{{z{z{zz|z{||z|{{z{{{|{{{||{{||{|{z{{{{|{|{{|||{}{{z|{{{{|{|{||||{{zz{{{|{||{||{{z{|{z|{{{{|{{{{|{{z{{zz{{{|{|||z{z{z{{{z{{{{{|||{{zzzz{{|{|{zzz{{{z{{zy{{{|{{{{{{{|{{{|{|{{||{||zz{{{{{{{z{{||{{{{z{{zzz{{{z{||{{{zz{{{z{{{{{|{|z{z{z{z{{{{{{{|yz{z{zz{{{|{z{|{{z{zyzzz|{{{{{{{{{|z{z{z{{{{{{z|zyz{zzy{zzz{{{{{zzz{{zz{{{|{{{{{zy{zz{z{{{|{{{|{{{zzzzzzzzz{{{{z{{{z{{{{z{z{{|z|{zzzz{z{{|{{{{|{{zzz{zz{{|{z{|{}zz{{zz{z{{{|{|{|{{{zz{zz{{{{z||{{{{{{z{{y{{|{|{{z{{z{{{z{{||{|}||yz{{zz{||||{||||{{{{{z|{|{{||||{{z{{|{{|{|||||}{{{{{z{|{{{{|||||z{z{{{{{|{|{|||{{|{{{{{{|{||{|||{{{{{{{|||}{{}||{|{{{{{{{||}|{}|{{z|{{{{||{||{||{{{{{{{}{|{|||}{{{z{{{{|{{{{|}{|{z{z{zz{{{{{{|{{{{z{y{{{z|{{|{{{{z|{{{{{{|{{{{|{|{{{{|{z{|{||||{z{zzzzz{|{yz{{{zzzzzzzz|{{|z{{{{{{zyz|zz{|{{{{{{{zzzzyz{{{z{{||{{zz|zy{{{z{z|{z{z{zzzz{{zz{z{{{{zzyzzz{|{z{{{{z{zzyyzyzzz{{z{{{zzzyzzzzz{{z{{||z{z|zyzz{{z{{z{zzzzyz{y{z{z{{|{{zzzzz{zzz|z{{||{zzzzzyzz{{{{{|{|zzzzzzzz{|z{{|{{z{zz{z{zz{{{{{{|z{{{{z{zz{{{|{{|{zy{zzzzz|{zzz||zzz{{{z{{{{{{{{|{{zz{zz{{{{{{{{|{|{{{{|z{|{{{||}|z{{zz{zz|{|{||{|{{{{{zz||{z{{||{{{zzz{{{|{|||{||{{{{z{z|{||{{|{|{{{|{{z||||{|{{{{{z{z{{{{|{||||{{zz{zz{zz|{{|||{z{zz{zz{||z{|{{{{zzz{{z{{{||{|z{{{zzz{{z{|{{||}{{{{|{|{|{{z{{|}{z{{{z{{{{{{{|{|{zzz{z{z|{{{}{{{{zzzzzzz|{{{z{{z|zzyzzzz|{{{{{{{{zz{{zzz||{|{||{|zzzy{{{{{{zz{{{{yzy{zzzz{z{z{|{zzzz{zzz{||{{{{{z{zzzzz{{{z{{|zz{{zz{zz{{{{|{{|{{zz{zz{zz{z{z{{{{{zzzzzz{{zz{z{{zzz{{{z{{{{{{z{|z{zz{yzz{|{y{||{{zzyzz|z{zzz{{{{{zz{zz{z{|{{|{{|{z{z{z{{{{{{{|z{{|{zz{zz{{{{z{|{{zz{zz{z{||{z|{z{z{{zz{z{|||{|{|{yz{{{{|{|{|{}||{{z{zzz{|{|{|{|z|zz{{{zz|||{{{{||z{|{{{{||{|||||z{{{|||{{z{{}|{||z|{{{z{|{z{|}|||{z{z{z{|{{{||{{|{{{|{z{{{{{{|{{{z{z{z{zz{|||{{{|{z{{{{z{|z|{{||{{|zzz{{z{zzz||{{{{|{{{z{{{|{{{|{{|{{zz{|{{|{{{{{{{{{{zz{{z{{||{{{zzzzzz{|{|{{{{|zzy{zyy{{{{{|||{zz{{zzyz{{{z{{{{{|{zzzz{{|{{|{|y{{{zzzzz{{{z{|{{zzzzz{yz{{{{{{z{zzzzzyyz{{{|{{{zz{zz{y{z{|{{{|{{{zzzzz{{|zzz{yz{{z{{zzzz{z{{{z{yzz{zzzz{||{{z}|{zzzzzz{{|{{{||zz{zzzz|{{{{{{|||zz{z{{zz{{{{|{{||zz{zz{{y|{|||z|{z{yzzz{{z{{{{|{{{y{{{z{{|{zz{|}{{{{{z{{{{{{|||}z{{z{||{{{{|||{}zz{|{zz{{{{||{|||{{z{{{{{||{{|{||{|z{{|{||z{||{{|{{zz{{z||||{|||{{|{{{{{||{{|{{{|zzz{z|{{{|{{{||{{{{|{{z{|{||||zz{zy{{|{{|{{{|{||{{z{{{{{{{{{{{|{z{|zz{z|{|{{}{||{{z{{{z{{{{{{|||z{{{{zz{|{|||}|{z{z{z|zz{|z|{}{zzz{zz{z{{{{|{{{{{{{zz{z{z{{z||{zz{z{yz{|{{z{z|{zz{z{{zz{{{{zzz{zz{z{{z{zzzzz{z{z{zy{z{z{|{|{z{{{z{{zzzz{{{|{{{{{{{zzzzzz{||z{|{{zz|zzzzz{zz{|{{{z{z{z{{{||{z{{{zz{z{z{z{zz{|{|{{z{zzzzzz{|{z{{||z{{zz{{|{{|{z{{{{{{zzz{|z|z{|{{z{{{{zz{z{{{{{|{{{zz{{{z{{{{zz||{zzz{{{z{|{|{|{{{z{{{{{{{{z{{||}{{z{z{{z{{|{{|{{{z{{zzzz{|{|||{|z{{{|{{{|{|{{{|||{z{{{{{|{{{|}||}z{{|{{{{||{|||{{{{{{z{z{||{{||{|{|{|{z{||{{|||}{{z|{zz{{||z||{{{{z{{{{|z||||{|||{{|z{{|||{{{{||{{{{{z{{{|{{{||{{{{zz|{z|{|{|{|||{zzzzzz{{{{|{||{{{z{zzzz|{z|{|{{{{z{yz{{{{|{z||{{{zyzzz{{{{{{{z{zzzz{zzz{{{{{{z{{zzzzz{{y{z{{z{zzzzzzzz|zzz{zz{{{{z{yzzz{|zz{{{{z{z{zzz{{{{{{|{{{{zyzyzy{{{{z|{{|z{zzzzz{{z{{zz{{yz{zzz{{{{z{{{{z{{{z{z{|{{{z{|zz{z{{{|{z{{|zz|{z{z{{{z|{{{{{|{{{z{{{{zzz{{{{{{zz{{{z{{z||{{||{{z{y{{{z{{{|{{||{z{|{{{{{z{|{{z{|zz{{{{{{{{{{||{z{{{{zz{||{{|}|{zz{|{zz{|{{}{{{|{{{{{{zz||{{||||{z{{z|{{{z{{{||z|z{|z{{{z{{||{|||z{{z{{{{{||||{{{z{{zz{{{|{z|{|{{{{{|{z{|{||{|}|{{{zz{{z{{|{{{||{{zz{{z{{{{|{z{{{|zzy{{{{{{{{|{|z{zz{z{z{|{z{{z}{{{z|{{{{z{z||{||{z{z{{{z{z|{|{|{{|{|zz{{{||z{{|{{{zz{{z{{{{{|z|{y{z{{{z{{{z{{{{z{zy{z{y|||z{{{{zz{{z|{z{z{{{z|{{{zzyz{zzz{{{|{z|zy{yy{{{z|{{z|{{z{{zyzy{{{{{{{{{zzzzz{z{|{z|{{{z{zzz{{z{z{{{{{{{z{y{{zzz{{{{{||{{zz{{{{{{{{{{|{{z{z{z{z{|{{{|{|{{zzzz{z{{{{||{zzz{{{zz{{|z|z{|{zz{z{z{z{|{|{|||zz{{{z{{{z|z{|{{||{z{{{{z{|||{{{{||{z{|z{z{||{|}|{{{y{z{|||||{|||z{{zz{{||{|{{||{{{|{{{{{|{|}|{{{|{{{{{z{|||{||{|zz|{z{z|{|{z||z|z|{|{z|{{|{{|}}|{z{|{z{{|||||||{{{{{{{{z|{{|{{|{zz{zz{{{|z|z|{{{{{{zz{z{z{|{|{|{{z{z{zz{|}{|{||{|z{zzz{{{{|{||{{zzzzzzz|{{{|{|{|z|{yzzz{zz|{|{{{z{zy|{z{{{{{{{{zzzzzzz{{z|z{{{{{{z{{{zz{{{{z|{{z{{zz{zzzz{{{{z{z{zzzzzz{zz{z{{{zzz{zzyz{z{z{{|zzyzyz{z{z{{{{{|{zz{{{zzz{{zz{{{zz{zzzzzz{{{{y{{{{zzzzzzz{{{{{{{{{yzzzzzzz||z{{{z{zzzzz{{||z{{{{{zzzz{yzz{{{z{{||{z{z{zyzz|{}||{{{z{{zz{z{{|{{{{||zzzzzz{|||z{|{|{z|yzz{{|||{{{{{{{{{{z|{{||{{|{|{zz|{z{{{||{{{|{|{{{|{zz|}||||||{{{{{{{{{{{{|{|||z{z|{{{{}{{{||}|{{zzz|{||||{|}|{z{{{{|{|{{{|{||{{{{{{{z{|{|{||{{{zz{z{{{{{||||{{zz{zzzz{{{{{||z|z|zzzz{z{{{|{|{{z{{z{{z|||{|}||{{{y{z{z|{{||{{|zz{{zzz{|{|{z|||{z{z{zz{{z|{{{|{zz|zzz{{{z{{z{{|{zzz{zzz{{z{{||z{zz{zzzz{{zz{zz{{|zzzzzz{{{{{z{{zzyzzy{{z{|{zz{{zz|zzyzz{z{{{{{|{z{{zzzzzz{{z{||{z{zzz{{y{|{z{{{{{{zzzz{{z{{{{{z{zzzzz{z{{{{z{{z{yzz{y{z|{{z|{{|{z{zz{{{{{{{|zz}{{{yyz{zz{|||{||z{z{{yz|zz{{{{{|z{zzzzzy|z{{{{|z{{{z{z{{{||{{{|{{{{z{zz{{||{||{|z{{z{{{z|{{{{{|}|z{{zz{z{}|{}||{zzz{{{{{||{{|{||{{{zz{{{{|{z{||||{|{{{{{{||||{|{|{{{{{{{|{{|{|{{{{{{{{{{z{{||||||{{{{z{|{||{{{{{z{z{{zz{z|{|{||||y{{{{{{{||{||||{z{{z{zz{{||{{{|{{{{zz{zz{}|{|||{zzzz{{{|{{|{z{{{|zz{{zyzz|{{|{{{{{zzz{{{{|{{{{|z{zz{zzz{{{{{{{|zz{zz{yzz{{zzz{|{z{{zzz{{zz|{|zz{{{z{z{z{z{{zz{{zy{yz{z{{{{{zz{{{zzzzzzz{z{{{||{{{{zy{z{{{||{{{{zzz{zzzz{zzz{{{{{{zz{{{zz{{{{|{{{zz{{{zz{zz{|||z|zzz{z{zz{{{{||{z{z{{z{{{|{z|{||z{zzzz{{{{|{{||{{z{yzy{{z{{{{|{{{z{z{z{z||{{|{||{{z{{z{{{{{{{{{{{{|{{{{{z||}|{{{z{{|z{{z{|}{||{||{{{{z{z||z{||||{z{{z{{|{||||||{|{z{|{{{|||{{|}||{|zz{{z|||||||{|z{|{{z{{||||||{{{{z{{{{|||{{|}}|{{{|{{{{|{|||{|z{{z{{{{{{{|{|||zz{{{{z{{{|{{{||{z{z{zz{|{{{{{{|{|z{{{{z{|||{||{{{{{{{zz{{{{{{||{{{z{z{z{z||{{|{|zzz{zzyz{{{{{{|{|{zzz{z{{|{{{z{{{{{|zz{{{{{{{zzzz{{zzz{{{z{{|{{z{{zz{y{z{{z{z|{{zzzzzzz{|{{{{{{{zyzy{zz{z{{|{{{{{zzzzzz{{{{|{{z{zzz{z{z{{{{{{{{{zzzz{z{{{{z|{{{{zz|{{zz{{{{{||{zzz{{z{z{{|{{{z{z{zz{z{z{z|{zz|{z{zz{zzzz{{zz{{{zzz{{z}z{|{||{{|{z{z{z{zz{{z{||zzz{zzz{z{{{{|{{{{{{z{zz{||}{|||}{{zz{z{{{{{||{||{z|{{{z{z{{{{|||{z{|{zzz|{{{||||{zz{|{{z{|{}{|{{|z{{{z{z||{|}|{||{|{{{z{{{{{|{|{|{z{{z{{{{{}|{||||z{{{zz{{{|{||}{z{|{{{z{{{{||}|{{{{z{zz|{{|{|{{{zzzz{zzz{|{{{{|{{yzzzy{{{{z{z|{{{zz{y{{{{|{z{{{{{zzzyyz{{{{{|{{zzzzzzz{z{z{z{{{{z{{zz{z{{z{{{{|{zzzzz{zzz{zz{{zzyzy{z{y{z{zz{z{zz{yzzzzzzz{{{{|zzzzyzzzz{{zz{{yzzzzz{yyzz{z{{{{zzzzy{yyz{{{yz{{yzzzyyzzzzz{{z{zzzzyzzzzz{{{{{{{z{{zzzyz{zzz{z{zzzz{zyz|{|{zzy|{zzz{zzzy{{{zz{{|zyzz{yzyzz{z{z{{zzy{zz{zz|{{{{z{{z{{zx{z|z{{{z{{{{{z{{z{z|{{{|{{{z{z{z{{{{{|||{{zz{{{z{{{{{{|{{|{{{z{zzz|{{{||||{{{{z{{z|z{{{|||z{zzz|{{||||||{|{z{zz{zz{|{{{|{|{{{{{yzz{{||{}||{{{{{zz{z{{{{|{|{{zzzy{{|{|{{||{zz{zz{{z|{{||{|||{zz{z{y{{{||{{|{zyzz{zz{{|{{{{|z{{z{{{z{|z{z{|{{zzy{y{z{{{{{|{{zz{{z{{{{z|z{||{{zz{{zzyz{{{z{|{|{{zzzzy{z{{{{{|{zzz{{zzz{{{z{{z{{zzz{{yz{{{{{{{zzzzzzz{{{{{z{{{zzzzzz{{z{{{z{{{{zzzzzyzz|{{{{{{zz{zz{zz{{{{z{{{{z{{zy{{{zzz{{{{z{zyzzz{zzzz{|z{zzzzzzzz{{{{{{||{zz{zz{{{{z{{{||{{zzzz{zz{zz{z{{zzz{zz{{{z|z{{|{zz{z{z{{{{|{{{z{{z{zzyzz|{{z{{{{zzy{yzzz{|{{{{{{{{|{{z{{{|{}{|{|z{{{{{|{{|{|{}|{{{{{z{zz|||{{|{{{z{{{{{{||||{{|||{z{{{|{|{{{{||{|{zz{{{{{}}~{||{|{{|z{{{{{{|{||{{{{{{{{|{|z{|||{||z{|z{{{|||{}}{|{{zz{z{|||{|{||{|{{z{zz{|{{{{{{{{|{{zzzz{}z{{{{{|{|z{{z{{{{{}||{zzz{{{{{{|{{|{|{z{zz{{z|||z{{{|{z{{zzz{z{|{{{z|{|zzy{z{{{|{{{{|z{{zzz{z|{{{{{{z{z{zzyz{{|{z{|{{{z{zzzz{{{y{z{zzz{{zzzz{{{||y{|{zzz{{zz{zz|{{{|{z{z|z{zz{{{z{|{{{{zzyz{{{{z{z{{{zz{zzz{zz{{{z{z|zzzz{zzzz|{{{{{{{z{zz{{{{{{{{{||zz{{{z{{{{{{{{z|{z{{{{zz{{{|{{||z{{{zzzzz||{|{{|{z|{z|{{|{|{{{|{{{{{{z{{|{{|{{}||{z{{{{{z{||{|||z|{z{|{||||{|{|}z{z|{zz{||{|{}{{|z|{{{{{||{||}}||z{{{{|{{|{|||}}{{||{|{|{||{}{||{{{{z{{|}||{||||{z{{{{{{|{{|||{{|z{||{z{{|{{||}|{{zz{{{{{|{{||}|{{{zz|z{{{{{{|{{{{{{{{zz{{|{{|{|{{z{|zzz{{{{|{||z{z{z{z||{|||{||{|z{z|zz||{|{||{{|yzzyz{{z{|z{{|{{{zz{zz{z{z{|z{{zzzzzzz{z{{z{{z{{z{|{z{z{|{{{|zz{{yzzz{{{z|z{{{{zzyz{{{{||{{{|{{zz{yzyzzz{{{zzzzz|zzzzz{{{{{{{|zzzz{zzz{{{{{{||{{zzz{{zyz{z{|{{zzzz{{zzz{z{|{{{{z{{zyzz{z{{{{{}y{{zyzzz{{zzz|{|{z{{z{zzz{{{|{{|zz{{zzz{{||{{{{{{{{{zzzz{{zzz||{z{{|zzz{{|{|z{{{{{{{{|{{{|{|{|{{z{{z{{|{{{{{||||{{z{z{zz|||{z{||zz{{|{{|{||||}{||{{{{||{{{{{{|}{|{{{z{{{z{{||||}|z|{z|{||||{{|||{{{||{{z{{{{{|||||z{{{{{||||{||||{zz{yzz{z|{{{||{{zz{{|z{|{{|||{z{{{zzzz{z{{z|z{{{{{z{z{{{{{{{|{z{{{z{{{{{{{{|||z{{zzzz{{{{|z{{zz{z{{{yz{{{{{z{{{{zzz{z{{z{zz{||{zzzzz{{z{z{{|{{{yy|y{zz||{yz{{|z{z{z{{{{zz{{{{{zzyzzzy{z|{{{{||z{{zzzyz{{z|{|{z{{zz{zyyz|{{{{|zz{zzzz{z{z{{zzz{{zz{zzyyz{{{{{|{zz{z{yzzz{|{{{{{{zzz{{z{z{z{{{{|zzzzzzzz{{|{||{{{{zz{zz{z{z{z|{{{z{z{{{zz{{{{{||zzz{{{zzz|{{{{{zz{zz{zz{{||z{{z{{zz{z{zz{{{|{|||{z|z{{{{{||{|{|}|zz{|zzz{|{{{{||{z{z{{{{{{|{}{{|{{{z|{{{|{|{|||||{{z{{{z||{{|{|}|z{|zz{{{|{|{||{{{{{zzz{{||}|{|{{{{{{z{{{{{|{||{{|{{{{{z{{{{z}{{{{z{zz{z{|{|||{|{z{z{yzz{{{yz|{{{{{|{zz{{|{{{{|}{{zy{z{z{|{{||||z{{zz{{z{|{{z|{||{{zz{zz{z{|{|||{zzz{{{z{{{|{{{|{{y{z{{zz{z{{{{{z{z{z{zz{z{z{{{zz{zzzzyz{zz{{{{zzzzzyz{{z{|z{||{|{z{zzz|y{|{{{z{zz{zzzz{z{z{{{{{zz{{{zzzzzzzz|{{z{zy{zz{z{zz||z{zzzz{{{z{{{{{{|{{{z{zzzz{||{z{{|{{|{{zzzzzz{{|{{{{{zzzzz{{|||{{|{||{{{|zz{{{||||{{z{z{{{{||{{|{{{z{{{{y{{||{{{||{{{z{z{{|{{|{{|{{|{z|{{{||{|{|||{{z{{{zz{|||{||{{z|{|z|z||{|{|||{{{z{||||{|{||}||{{{{|{{{}|{{||||z{|z{{{|||{|{{||{{{{z{{{{|{{||{|{{{z{{|||||||{{z{{{|{z{{||{{||{|z{{{z{z{||{|{||{{{z{zzz{{|{{{{{{zzz{z|z{z{zzz{{z{{{{yzy{z|z|{|||zz{{{{y{{{zz{{z{yyz{{z{y{|{{z{{{zyyyzzy{{z{{{{|{{zzzzzzz{z{{{|{z{zzzzz{z{|zz{{z{{{yyzzzzz{{z{zzzzzyzz{zzz{{{z|z{{zzz{yzy{{z{z{{{zzzyzz{zzz{{{|zzz{zzzzzz{zzy{z{zzzzyyzzzzz{z{z{zyzzzzzz{zz{|{z|{z{{zzyzz{{z|{{|zzzzzzzzz{{z|{zzzzzzzyzz{{z|z{{{|yzzyyzz{z{|z{z{{y{zzzzzz{{{{{{{{zz{{{y{z{{{z{{{zzzz{{z{{{{{|{||z{{{{{{{{{{}|||||z{{{zz{{||{{{|{{{{{{{{{{|{|z|||{z{{{{|{{{|{|{{{{{{{{{|{{|{||||||{|{{zz{|{}{}{{|z{{z{{z|{{{|{z{||{{{{{z{{|{|z|{{{{{zzz{{z|zzz{|{z{{{{z{y{|{{{|{z{{zz{{{y{{|{{{{zzz{zyz{yz{|zz{{z{{zz{zzzz{{{||{||{z{zzzz{{{{z|{{{{z{yzy{{{{z{{|{{{z{{zzz{{{|{{{|zyzzyzzzzz{{{{{{z{zz{zzz{{{zz|z{zyzzzzzz{zz|{{{{{{zyzzzyzz{{zz|{zxyzz{zzz{{zz{zz{{zzzz{yz{{|{z|{{zzzzyzyy{{{z{zzy{zyzzz{y{{z{zzzyz{{{zz{y{{zzz{{{zyz{yzy{{{z{||{{z{zyy{zzz{|{{{{zz{zz{z{zz{{{{|{{{y{zyzz{|{{z{z|{y{zzzzz{{{z{{|{{zzzzzy{{|zzz|{{zz{{{zz|{{{{|{||{z{zz{{{|{{}{{||z{{z{zz{z|{{z|{{|{{{z{{{{||{{|||{|{{z{{|{{{|{{||{zz{{{zz{{{|{{{{{{{{{z{{||{{{{{{{z{{{zz{|{|||{{|{zz{{z{{|{{z{{{{{{{z{{zz{|{|z{{{{{z{zz{{{{|{{{{{{{{zzzz{|{|{{{{|{{{{zz{z{|z{{{|{{zz{zzzz{{{|{{{|{z{zzzz{|{{z{|{{z{{{{zz{z|z{{{{z{zzzzz{{|{{{|{|z{z{{{{{z{{{{{{{{{z{{{yzz{|{z{{{z{zz{y{zz{z{{{{z{zzzyzzz{zz{z|{{zzzz{yzz{{{|z}|{{{{zyz{z{{{z{|{|{zz{z{zzz{z{z{z{{z{zzzz{yz|z{z{z{zz{{z{zzz|zz|{|{zzzzzz{{{{{z{{{|zz{zz{{z{{{|{{{{zz{zzzz{{z{z{{|{{{|{{zzz{{}|||{{{{z{{{zzz|{{{||{|{z{z{{|{{|{{||{{{{z{{{z{{|{||{{{zzzzz{{{|||||{}{zz{z{z|{{{|{|||||{{z{z{{~{{{||||z{z{{{{{||{|}{|{|{{z|{z{|{||||||{{|z{{{||z{{{|||{z{{{{{|{{|{{}|||z|{{{{|{{|||{|{{{z{{{{{|{{{{{|||z{zz{z{z{{z||{{{|{zzz{z{{z{|{|{{zy{z{zz{{{z{|{{zz{zzzzz|{{{|{|{|{zz{zz{{{z{|||z{z{{{{z{{{{z{{{{{zy{zzz{{z{{{{|{z{{zzzz{{{zz{z{{zzz{{zy{{{{z{{{{zzzz{{{{{z{z{z{zzzz{yzz{z{z|z{z{zzzyzyz{{|{{|{{zy{zy{z{z{{z{z{{zzzz{zyyz{zzzz{{zzz{zzzyz{z{z{z|yzzyzzzz{z{{y{{{{zyzzzzz{zzz{|{|{zzzzyzz{{{{z{{{z{zz{yzz{{{{{|{{{z{z{z|z{{{{{{z{|{{z{z{z{{|{{{{|z{zzzz{z|{{{{{z|zz{{{{{{{{{{{|{zz{zzz{{{{{|{|||{z{zzz{yz{{|}||{{z{{z{{{z||{z{{{|{{z{{{{{{{z||}{|{{{{{{{|{|}{{{{||z{{zzz{{{|{||||{{|z{{{|z{{{|||{{{{{|zz{||{||{{|{{zz{{zzz|z{{{|{{{zz{zz{{{{{|||{z|{zzzzz{z|z{|||{{zz{yyz{{{{z|{{{zzz{{{zz{{{||{{{{zzz{zzz{z{{{|{z{{yz{z{{{{{z{{|{{zzyzyzzy{|{{z|zzyzzzzzz{{z{{|z{{z{zzzyzzzzz{{z{z{yzz{zz{{{{zz{zzyzzzzy{{|z{{z{{zzzzzzzz{zz{zz|zzzzzzyzz{|{z{{zzyy{zzzzz{{{zzz{z{z{{{zy{z{|z{z{{z{zzzzz{{{z||{z|z{z{zz{z{{{{|||{zzzzz{z{z{{{{{|{zzz{z{zz{{{z{{{{z{{zz{yz||{z{|{z{{{z{{z|{{{{{|{{{z{{{{z{{|{{{{||{zz{{y{z{{{||{{|{{{{||{|{|{|||{{z|{{zz{{{|{{{||{z{z{z{{{|||{|||{{|{z{z||{||{|}|{{{z|z{zz{{||||||z{|zz{z}{{|{||||z{z|{z|{{zz|{|}{z{{{{{{{{{{|{||{{{{{z{z{}{{|{||{{z{zz{z{{{{{{{|zzzz{zzy{{|z{|{{z{zz{z{{{{{{{{|{{z{z|zy{{{{{{z|{z{{zzz{z|{{{{z||{{{z{z{{z{{|zz{{{zyz{zz{{zz{||{|z{{z{zzy{||{{z{{|{zz{z{z{z{z{{{|zzzzyzzzzz{{{||{zz{zzzz{zz|{{{|z|zz{zzz{zzzz||{zzzz{z{zzz{{{{{{|zz{{zzzyz{{{z{{{{{{zyy{yy{z{{{||zzzz{|{zz{{{{z{{zyzzyyy{z{{{{{{{{zzzzz{{|{z{{{{{{z{zz{zz{z|z{z{{|{{|z{{{z|{{{z{{z{{{zzzy|{{|{{|{{{{{{z{{{||z{{{||zzz{zz|{{||}||||z{zzzz{{{{|z|||{{z{|{{{{||{||{||z|{zz{{||{{|{|||{{{z{||{{{|||z}{{z{{|{{{|{|{|{|{z||{{{{{{||{|}{{z{{zz{{{{z{{{}{{{{z{{||{{||{|}}{{{{{{{z{|{{{|{||{{|z{{z{||||{||zz{{z{{z|{{{{|{|{z{z{zz{z{|||z|{yz{zzzz{{{{z{{{{|{zzz{{z{{|{{{{{{zzzzz{{{|||{{|{zz{{zzzz{{{{{|{|zz{zz{{z{{{z{{|y{{{{z{{z{|{zz{||z{{zz{z{z{{{{|{{zyzz{zzz{{zz{{{{z{zzzzzy|{{{|{||{{{z{zzyz{{{{{{{zzzzzz{yzz{{{{{z{{zz{z{zz{zy|{|{{z{zzz{yz{{z}{|{{yzzzzz{z{{{|{{{{z{z{yzz|z{z{{|{{{{{{{z{{{{{z{{{{zzzzzzz{zz|{{{{z{{{zz{{z}|{z{|z{|z{|zz{z{|zz{{{{{{|{{{{|{{{|{}{z{{{z{{{{{{{{{||{{{{{zz{{{|{{{|}|{{{|||z{|{{{|||{{{{{{{{{||{|||||{{{{|{z{}|||}}||{{{{{z{|||{|||{{z{z{z{{{z{{{{||{{z{{z|{||||||{}{{{{{{{z{|{||{|{{{zzz{{{|||{{}|{zy{z{{z{{{{{{{|{{{z{{z{zz{|z{z|{z{y{{zz{{|{{{z||{z{y{{zz{{{|{|{|z{{zz{z{{{|{z{z{{zzzzyz{{{{{{{{{{zz{z{yy{{{{z|{{zzz{zzzz{{{{z{z{{zzzz{zy{z{{z|{|y{zyzzz{z{{{z{z{{zzzz{z{z{{{{{z|{yzzz{yyz{z{{z|{{z{yyyzzy{{z{{{{zzzz{{{z{{z{{{{{zzzz{zzyzzz|{z{{zzzz{zzz{z{|{{{|{|zzzy{z{z{{{|z|z{{{zz{z{{{{z{{zz{zz{z|z{|{|{{{{z{zy{zzz{{{{{z|}{{z{{z{|{||{{{{{z{z{|zz{{{||||{{{{{z{{{{{||{{|{|zzz{z|z{{|{|{{|{||z{|{{{|}{{{||{zz|{z{|{{||{{|{||{{{|{{{{||{{{||{zz|{{{||{|{{|||{{{{{{{{z|{|}||{|{{{{z{z||z{{|{|{{|z{z{|{|{|{}||{{z{{z{{{{{|z{{{{|{z{z{{zz{{{|{{{{zz|{zz{{{{{z{|{|yz{zzzz{{{{|{|{zzz{{{{z{|{{{||{{zz{zzyz{|{{{{|z{{zzzzzz{z{{{{{{z{|zz{z{|{{{||z{yzyzzzz{||z{{{{|{zzz{z{{{{{z{{{zzzz{zzz{zz{z||{zz{{zzzzzz{{{{z{{zzzyyzzzz{{{z|{{z{z{zyyz{{zz{z{zzzy{z{zzz{|{|z{{z{{z{yzz{{z{{z|zyz{z{{z{{{z{{{|z{{{zz{z{{y{{{{|zzzzy{zzz{{|{|{|{z{zzyzzz|z|{|z|{{{z{zzzz{{{{z{{{z{{{z{{{{|{{|{{{zzz{|{z{|{z{}{||||{{{{{{|z{|{{|{zz{{{z{z{|||{{|{z{z{{{{|{{{|}}{{|{{{{z{{||||||||{{{{|{z{{{|{|||{|}{{{{{{||{|{{||{{z{{z{||||{|{|{{{{|{{|{{|{|}|{{{{{{z{|||{|{||{z{z{z{{{{||{{{|||{zzz{{{{|{{{{{|zz{z{{{z{{|{|z|{{{zz{z{{|{{{|{{{{zz{{z{z{{|{{|{{{zz{zzzzz|{|z{{|{{{z{z{z{z{{z|{|{{{z{{zzzz{{{{{z{{{zz{{z{{{{z|{{{zzzy{zz{{z{z{{z{zzy{z{zz{{zz{{{zzzyyzzz{{{{z{{|{zzzzzzz{{zzx{{{{zz{yzzzzzz{z||{z{{zz{zzz{z{{|{{zzz{z{zzzz{{z{{|{zzzzyzz{{{{z{{{zz{yz{{{{z{{||{{zz{{z{{y{{{{|z||{zz{{z|z{{{|{{|{{zz{zzz{{{{zz||{{{zzz{y{{{{|{z{z{{{z{|{{{{{||{{|zz{{zz{{||{|{|||{z{{{zz{{||{|{}{|{|{z{|{|{{{{{|{{{{zz{{zz{{{|{|||z{{{|{{{|{||||||{{|{z{{|{||||{{|{z|{|{{||}||{||{|{z{z{{{{{||||zz{{z{|zz|{{z|{|{{{{zzy{z|{|||{||{{{z{z{{{{{{|z{{{{z{{z{{{|{z|}|{{{z{{zzz{{{||{{||zz{zzz{{{{z{{|{|{{zz{zz{z{{{|||{zzy{zzz{{{|{{{|zz{zz{zzzz|z{{||{z{z{{yz{{|{zzz{zzzzzzzz{{{|{{{{zz{zz{zyz|z{{{|{{zzzzzzzz{{{|{{|{zz{yzzz{|y{{{||z{z{z{{zzzzzzz|{z{zzzyz{{{{z{|{{{z{zz{zz{zz{{|{|{zz{{{z{z|{{|{z|{zz{zz{z{{|{|{{|zz{{zzz{{{|{{z|}z{{{{z{z{{|{{{|{|z{{{zzz{{{{{|{{z{{|{z{{|{{z{{{{{{{|{{|{z{|{{|{|{zz{{{{{|{{}||{{{z{{{{z{|}{{||{||{{{{z{{|}|{{|||{{{{|{|{{{||||||{{{||||{{|{}{{{|{{|{{{{{|{||{||{|{{{{{{{||{||{|}{{{{|z|{{|||{|||{|zz{{{z}}{{{|}}{zz{zz{{{||}|{{{{z{zzzz{{|{{{{{{|zzzzzz{z|z{zz{|{z{zzzzy{z|{|{|{{{{zz{z{z{z||||{{{zzzzz{z{{{z{|{{{z{yzzz|z|{z{{|{z{zzzz{y|zzz||{{zzyyzzz{|{{{{{zz{zy{zzzz{yzzz{|yz{z{zzz{zz{z{|{yy{z{{yz|{{z{{{{zyyzyzyy{{z||z|{zy{xyzzyz{{zz|zzzzzy{zzzzz{{{{z{zzzyzzzy{zz{{z{{{zyz{zzzz{{{{{{{{{zyzzzz{{|{{{{{zzzz{z{{y{{{|{{z{{{zzzzz{|{{{{{{{{{z{z{z{|{z{|||{z{{{{{{{{{{z{{|{{{{{{z{{{{{{{{|{zzzyz{{||{|{||{{z{{zz{zz{{|||{{{z{{{{z{{{{{{|||z{z{z{{{{|{{{|{{{z{z{|zz{|{|||{||z{{z{z{{|||z|||{{{{z{zz{|{z|||{{z{{{z{{||{||{{{zz{z{zz{{{{z{{|z{{{|z{{z{|{z{||{z{|zzz{z{{||{{{{{{zz{zzzz|{{{{{{{{{z{yzy{{{|z{|{{{zzz{{z{yz{|{{{{zzz{zzz{zz{zzz{z{zz{zz{|z{yz{{{z{zy{z{z{{zzz|{{{{zzzyzy{z{z{|{{{{yzzzzz{{{{z{{zzz{zzyzz{{{zz{{zzyzzzzy{{z{{{{z{{z{zzzzzyzzzz{z{yyzzzzzz{{zxz{{{zyzyzzyzzz{zz{z{{zzzzzyzz{{{z{{|{{zzz{z{{|{z{z{{zz{zyzzz{{z{{{|{zz{{zyzzzz{{z{|{{{zzzzz{z{{{|{{z{z{{{zzz{{{{{{|{zzzzz{zz{{{zz{{{zz{{{zz{|{{{{{|{z{|z{{{zz|z{{||{{{{{z{zz|{{||{|{{{zz{{z{{{{|{{|{{{{z{{||z{|{|{|{{z{{z{{{{|{{|}{|{zz|{y{z|||{||{|{z{{{{{{{z|{{z{{{{z{{zz{{{{{{{{|{{{zy{{{{{|{{{|{{|yz{{zz{{{{{|{zzz{{zzy{z{{{z|{zzzzzz{yx{{{{{{{{zzzzzyz{{{|{{{|{{|{z{{zzy{z||{{|zzzz{yyzz|{{z{{{{z{zz{zzz{|z{}||zz{z{z{zz{{z{{{z{z{z{{yz{z{{z|{{{zzzz{yzz{{z{{|{{{zzzzzyz{{||{{{{zyz{zzzz{|z{{{{{z{{zzzzz{|{{{{{{yzzzyzzzz{{{{{|{{z{zz{zzz{{z{{{{{y{y{z{{z{{|{|{zzzzzz{zz{{z{{{|z{{{z{z{{{{zz{{|{z{zzzzzzz|z|{{{{{|z{{zzz{{{z|{{{z|{{{zz{|||{{|{zzz{zzzzz|{{{}|z{{{{z{|z{|||{{||{{{z{{zz|{z|{|{{|z{{{zzz{|||{{{||{{{{{z{|||{||||||{z{||{{{{||{{||{{{{|z{|{{{{|||{{{{{|{{{|{{|||}|{{z{{z|{||{{}|||{z{{{{|{{{|||}{{{{{z|{{{|{{{||{{{z{{z{{{||||{|{{{|{{z{{{||z{{||{{z{zz{z{{{|{z|{{{zzzyzzz{{{z{{{{{zy{z|zz{{{|{{|{zzz{z{{{|{{z{{{{{|z{zzz{{z{{{{{{z{{zy{zz{{z{{z{zy{zzz{z{{z{z{zzzzzyyzzzz{{{{{{{zyzyzzzy{{{z{z|z{zz{zzyzz{z{{|{{{{zzyz{yz{z{y{|zzzyy{y{yz{zz{{z{zz{zzzzyzz{zz{{zzzy{{{zz{z{{{{{{{zzz{z{z{{{{z{zz{zz{zzzzz{zzz{z{{zzyzzzzzz{{{{{{{{z{{z{zzz|{{|{|{z|z|zzz{{|{{{{{{zz{{z{y{||{{{z{{{zz{{{z{{{||{||zz{{{z{{{{z|{{|{zzz{zzzz|{||z|{|{{{zz|{z||{|||||{{z{{{{zz{z||||||z{{{{{{{}{{{||||z{z{{{{|||{{||{{{z|z{{z{z|{{}{{|z{z{zz{||{|||||{{{{{z{z{|{{|{|z{{zz{{zzz{{{{{{{{{{zzz{zz{||||{{{z{{z{z{z{{{{{{|zz{y{zzz{{{{{|z|{{{zzy{z|{{|{|{{zzzzz{{zzz{|{z{{z|zzzz{z{{{|z{|{{{{z{zzz|{{{z{{|{z{z|zz{zz|z{{{{zz{|z{zzzzz|{{{{z{zzzzzzz{{z{{{{{zy{zzzz{z{z{|{zzz{zzzzzz{{|{{{{z{zzyzzyz|{zz{zz{yzzzzzz{|z{z{z{{zzz{{zzz{{z|{|{{zzyzz{zz{|{z{{{{z{zz{{{{|{{z{|{{z{zzz{zz{{|{{{{{{{z{{{z{{{{||{{{zz{{{{z{{{|{||{z{{z{{{z{{{{{|{{|{z{{{z{{{|||{||z{{{{{{zz{{||{}{z{{z{zzzzz{{|{z|{zz{{zz{||{||}||{{{{z{{{{{{{|||||{z{{{{{{||}{||}|z|{{{{{{|||{||{|{{{{{{{{{|{{|{|{{|||{zz{{{{|||}{{{zz{z{|||{{|||{{z|zzzz{|||{|||zz{{{z{z{|||{{{{{zzy{zzzz|{{{z{}{z{z{zzzz{z{|{{{z|zzz{{z{{zz|{{{zz{zzzz|{{{{{z{|z{zzyzzyz{||{{z{zzz{zz{{zz{zz{||zy{{z{zy{zz{{{{{{{y{z{zz{z{{{{{{z{yz{{zzz{{z{{{{{z{zzyzzz{{{{{{{{zzyzz{z{{z{z{{{{z{zzyzzzzzz{zzzz{zz{zzyzzz{{{|{zz{{{zzzz{zz{z|{zyzz{zzzz{{{{z{{{{zyzzzz{{{{z{|{zzz{zzz{zz{{{{{{z{{|zzyz{z{{{|{{z{{z{{zy{z|z|{|zzzz|{z{{{{{{z|{zzz{{{zzz{{{|{|{|{z{{|{{z{{{||z{|||z{{z{{y{{{|{}{|y{{{{z{{||{{z{{{zz{{zz|{}|z{||||{{{{{z{{|||{|{{|{z{z{|{||{|{||{{{yzz{z{{|||{{||{|{z{zz{{{{|{|{{{zzzz{{{{|{{{|{{|{z{zz{zz|{||{|{{z{|{yz{{|||{{{{{z{{{{zz{|{{{{{{z{{zzz{{{|{z||{|z{{zz{{z{|{{|{{{zz|{{z{zzz|z{{{|{{{{zz{z{zz|{|{|{z{z{{z{{{{{{{{{zz{{|z{{{{{{{{{z|z{z{{z{|z{{{{{|zyzz{{z{zz|{{z{{{zzzz{zzz|z{|||{{y{yyz{zz{z{{{|{zzz{{zzz|{{zz{{|{zzzz{z{{|z|{{|z{z{yzzz{{{{{{{z{{zz{z{zz{{|{{{{zzz|{{z{z|z{z{{{{zz|zz{{z|{|z{|{|{{{{{z{{|z{|{|{{{z{z{zzzz}|{{{|{{{z{{z{{||{|{|{{|{zz{z{{|{|||{|{{{{{{z{z{||{|{|{{{{{|zzz|}}|||}{|zz{{{{{{|||{{|}{||{{{{|{{|{||{||{{{{{{|{|||||||}{|{{{z{{|{||||}{{{{{{{z{{{{||||||z{{{z|{{{{|{|{{{{z{{zz{|z|{{}||zzzz{{{{|{{{|{|{{{|{z{{||{|{{z{{{{|z{z{z{{{{z{{zzz|zyzz{|{{z{||z{{z{{zz{{{{{z{{{{{|z{{{{|{|{{{|{{{zyzzz{{{{z{||{zz{zz{{{z{{{{{|{z{zz{zz{|{{z|{zzz{zzzzzz{{{z{{|zzzzyz{z{{{{z{{z{zzzzzzzz{{{{z{{y{{zzzzz{{{|z{{|zzz{{z{yz{zyz|{{zzzz{zz{z{z{{{{zz{zzzzzz{z{{{{{{{{z{{zzzz{z|{{{{{zzzyz{z|zz{{|{|z{zzz{zz{{{{{{{{{zzz{zzz{|||{{z{{{zzzzz|z{|{z||{zz{{|{zz{{{{|{{{zz{{{z{|{||||{|{{{{{|{|y||{{{}{{z{{{{zz{{|{{{|||{{z{|{{{||{|{|||z{{{{{|y||{{||||{z{{{|{{{}{{||}{{z{{{z{{||{|{}||{{z{{{zz|{{||{|}{{{|{{{z{z{||{z|z{{zz{{z{{{|{||{z{zzzz{z{|{|{{}zzz{{{{{z{z|{z{||{{zz|z{y||{|{|{{zzz{z{zz{{{|{{|{{{{{z{zz|{{||{{{z{{zzzz{{{{{{{|z{z{zzz{yz{{{z{{|{z{zz{{z{{{{{{|{zzzzy{{zz{{{{|||z{{zyzyz{{{zz{{{zzzzzy{z{{|{|{{{zzzzzzz{{y{z{{{z{{zzy{yz{{{|{|{{z{zz{zzyzz{y{{{z{zzyzzzy{{{zz{{{zzzzzzz{z{|{{|{|{z{z{z{{z{zz{{{{zz{zzzz{{{{{{{|{zz{zzzzz{{{{{|{|{zzz{z{{||{{{{{{z{{{y{zz{||{{||{{{zz{{zzz||{{{|{{{{{{zz{{{||||||{z{{z{{{||{{z|{|{{z{z{zz||}z{{}z{zz{{{z{||||{||{|{{{{{||{{||||||{z{{{{{y{{{{|}||||{{zz|z|||||{}{|{{{|{|||{{|{}||{{{{{{{{||{}{|}|{{{{z{|{{{{{|||{z{z{yzzz{|||{||{{{{z{z{z{{|{z{{|{{z{zzzzz{{{|{{|{z{zzyz{{{|{|{{|{{zz{z{z{{{{|{{|{{z{z{zz{{{{z{{{{{z{zz{z{{{{{|||zz{{zz{zz{{{{{{{z{zz{zyz{{|z{|{z|{zzz{{{{{{{z||{{{{{zzz{z{{{{{|{{{zz{{zyz{{z{z{{yz{{zzzyz{{{{{|{|zz{z{zyzz{zz{z|{{{{zzzzz{zy{||{{z{{z{zy{{z{z|{{{{zz{yz{z|{{|{{{{{{{{z{{{z{{{|{{{{zz{yzzz{{{z{|{z{z{{zz{z{{}{{{{{{{{|{|z{{|z{{{{zz{{{{{{{{|{{{{{{z{z{{{|{{|{||{|z{|{z|{{||{|{}||{{z|z{{z|{|}|||||{{z{{{{||{{||{|{{{{{{|{||z|{||{|{{{z{{{{|{|{||}|zz{{{{{||{||{|{{{z{{{{{|{{{z|||||{{{{{||{{|{||||{|z{{{{{{|{{{||{zz{{zz{{{{|{{{{|{{{{{z{{{{|z{{{{{{{z{zyz{{{{z{{{zzzz{{{|{z{z{{{zz{yzzzz{|{|{|{{zz{zzz{z{|{{zz{{{{|zzzzx|{{{z{{{{z{z{z{{z{{{z{{{{zz{zzzz|{{z{{{|zzz|{zyz{{{zz|{{zzzz{zzzz|{|{{{z{zyzzzyz{{{{{{{{z{zyzzzzz{z{zzz{{zzzyzz{z||{{z{|{zz{zzzz{{zzz{}{yzz{zzz{zz{||{|{zzzzzzzyz{{z{{{zzzz{zyzz|{{{{{||zzy{y{zz{{{zz{{|{z{{zy{zz{{{{|{|{zzyzzzzz|{|{{|{z{{{{yzz{{|{{{|{{z{z{{zz{{||{{{zz{{z{|z{|{{|{|{|zz{{z|{z{{|||{{{|z{z{{|{||{|{|{{{{{z{z{{{{||{|{|{|{z{{{{{}{{{|{|{{||{z{z|||{{{|{{{z{z{zz|{z{|{|{{z{{|zzz{{{|{|{}{{{z|z{{{{{{{||{{{{zy{z{{{{{{|||{z{{zzzz{|{{|z{{z{{zzzzy{z{{z{zzzzzz{zz{{{z{|{{{z||zzzzzz{{{{z{{{z{{{zzz{{{{{{{{{{{yz{zz{z{{z{{{{z{z{z{z{y{{||{{{yzzzzz{z{{zz{z{z{zzyyzy{{{{{{{{zzz{zyzz{zzz{{{z{{zzy|zzzz{{z{{zzz{yzzzzz{z|z|{|{zzzzyz{zzz|z{{{{zzz{{zyzz{{{{|zzyzz{{yz{z{{zz{z{{{z{zzz{{zz{|{{{yzz{z{z{z{z{{{|z{{zz{{zz{{zz{{{{z{{{z{z{{{{|||zz{zz{{zz{{z{{{||{yz{{{{{{|{{{|{{zzx{{{{z{|{{{{|{z{z|{{{z|{||||||{zzz{yz|{z||{{||{z{{{z{|{}{{|{|{{{{{{{{{{{{{|||{|z{{{{z{{||{|{|||{|{{{{{}|||zz||{z|{{{|{{||z|z{{z{z{{z{{}|{|{|{}{|{zz{{{{|{{{|{z|{z{y{{{{|{{z||{|zzz{z{z{{{{{{z{{zyzzz{z{{z{z{{{{zzzzzz{{z{{{{zzzz{zy{zz{z{z{{{{zz{zyzzz{{{zzz{z{zzzz{zz{{{{{}{{{z{z{zzzzzzzzz{{{z{zzzzzz{{{{{|zzyzzzzy{z{zzz{zzyzyzzzyz{{{{zz{zzz{zzzyzz{{z{z{zzz{{yyzzy{zz{{{|{{zzzyzz{{zzyz{{zzzzz{zyz{z{z{{|yzzzzzzy{{{{{{|z{zzzzy{z{{{{z{|{{z{{{y{z{|{zz{{{{zzzz{{z{{zzz||{{{z{{z{zz|{{{|{|{{{{z{zy{{z{{{{{{{zz{z{z{|{{{{{{{{{{{zzz{||{{|{{z{{z{z{{||{{}{z|{{{{zzzz{}||{}}||{{{{{{z|||||{||z{{zzz{{|{{|||{||{{{{{{z{||{{|{{{{{{z{z{{|||{{{||z{z{{{{{|{|||||{|zz{zz{{||{{|||{z{{z{z{{{{{{{|{{z{y{{{z{{{{{||{z{z{zz{{z{{|{|{z|{zzzzzz{|{zz|{{{zzz{zzzzz|{{z{{{{{{z{zz{{z{|{{z{yzzzzzz{z|z{{z|{z{zz{zzz{{{z{{{zzz{yzz{{{{y{{z{zyzzzzzz{{{zz{{z{yz{yzz{{{{zz{{{zzzzzzzzz{{{{{{{zzyzyzzz{{{z{{{zz{zyzzzz{{{z{{zzzzzzzyyzzzzzzz{{z{yzzyyz{{zz{{{{zzzzz{{zz{{{z{{{zzz{zzz{|{{{{z{zzz{zzz{z{z{{{z{z{z{zzzzz{{{{{{{zz{{zzzyzz{{z{|z|{zzz{zzz{||z{{{{{zz{z{z{|{z{{{{{{{z|{z{{z|{{{{||{{{{{{{{||{|{{||{z{|z{zz{|{|}{|{|{z{{{{{||{{{|{}{{{z{z|{{{|z{||||{{{{{z{z|}{||||||{z{{zz|{{{|{{{{z{{zyz{{{{{}||{{||{{zzz{{{{|||{|{zz{{z{{{{z{|||z{{{zz{z{|{{|||||{zzz{{zz|{z{|{{{zz{{{{zz{{{{{{|z{{{zz{z{|{|{{||{zzz{z{z{z{|{{|{{{zzzz{{zzy|z{{{z{zzzzzz{{{{{|{{{z{zz{{zz{{|z{{{{{{{zzz{{{|{{{z{{zzzyzzz{z{{z|{|z{zz{zz{z{z{{{{{{{yz{zzz{{{z|{|{{z{{{yyz{{z{|{{|zz{{zzyyz{{zz{|}z{zzz{zy{z{{z|{{z{|z{{zzz{{z|||zzz{zzzz{{{z{|{z{{{{{{zzz{{{{z||{z{zz|z{{{{{{|{}|{z{zzzz{z{|z||{{zz{zz{zz{{|{{{|{z{{z{{{z{|{{{|{|{z{zz{z{{{|||||}{{z{{{{{|{}|{||}{{|{{z{|{||{{|{|{z{zz{{|{|{|{||{z|{{{{||{|{{|||{|{z{{{{|{||{||}||z|z{zz{{||{{||{{y{{{{z{{{{|{{}{{{z{{{|{{|{|{{||{{{zzz{{{{{|{|{}{{z{{{{z{|{|{z{{{|{{z{zz{{{{|{{zzz{z{{z{zz{zz{{|z{{{{zzz{{|z|{|{|zzzz{z{{{{z{{||{z{{zz{z{{|{y{{|z{{{{zzz{z{{{{z{{zy{{z{zz|{{{|z{zz|{{zz{{{{{z|z{{zzz{{zz|z{z||{{{{{zzy{zz{{zzz{{{zz{{zz{zz{z{|z{zzzzz{y{{{{{z{{{zz{zzyzyz{{z{{z{{yzzzy{yz{z|z{z|zzzzzz{z{zz{{|{{zzzzz{{z{{|{|{{{zz{{{z{yzz{{|{{|zzz|{zz{{|{z{{||{{zz|zzz{|{{|{{z|z{{{{{z|{|{z||{{{z{{z{z{|{{{|{{|zzzzz{z|||{|{|}z{|z{zz{{{{||||}{{{zzzz{{{|{|||||{z{{zy{|||{{|}{{z|z||{{{|{|{||{||z|z|{{{|z||{||{{{{z{{|{|||{{|||z{{{{{z{{|{|||{|zz|{{{||z{|{{{{|{{{zzz{{|{|{||{|{|{z{zz{|}{|{|{{{{{{{z{|{||z{{|zz{zzz{z{{{z{{|{z{zxzzzz{{{|{{|{{|z{zz{z{z{{||{{zzz{{zzz{|{|{{{z{zyz{zz{z{{||{{{zz{{zzzz{z{{{{{{{zzzyzzzz{y{|{|z{yzyzzzzzz{{z{{{zzyzzzzzzz{zz{{z{{{zyzyz{{{z{|{{{{zzyz{zz{zzz{z{{zz{zz{yy{{{z{{{{{zyzyzz{z{{{{{z{zzzy{zzzz{{{{z|{zzz{zzzzz{{{{|{z{{zzzzz{zz{{z{zyzz{{{z{|{|{{{{z{zz{{{zzzz{z{|{{{{zz{zzy|{{{{{|{{{z{|{zz{{{z{{{z{{z{z{{z|{{{|{{|{z{{{{{{|{{{{|{||z{|{{z{{{}{||}{{{z{{zy{||{|{{{{zz{{{}{{{{{{{|||{{{z{{{{{|{|{||||zz{{{{z{|}{||{}{{{z{z{{{||{|{|||{{z|zz{||{{||{|{|yz{{{z{z|||{||{{{{{{z|z|{{|{|{{{{{z{z{{{{||||{z{z{{zyzz{|{z{{{{{{zy{zz{{|{{{|{{{{{z{{z{zz{{z{|zzz{|zzz{z{|{|{{zzzyzzyzz{{{z{{|{z{zz{{{z{{{z||{zz{zz{z{{{|{{{zzz{{zzzzz{{{z{{|{|zzzzy{yzzzz{{z{{yzzzzz{zz{{z{{{{zzzzzzzz{{z{z{{zzz{zzzyyz{z{{z{zzzyzzzz{{z{z{{{{zzy{zzyz|z|{{{{{zzz{z{z{z{|{z{|zzzz{z{z{{{z||{|{{zzzzzz{{|{{||z|zzz{zz{zz{{{{|{z{zz{{y{{{{{z{||zzz|{z{{{{{{{{{{{zz{{{{{{|||{||{{{zz|{|{{|{{{||||{{{{{{z{|{||||{{{{z{{{|z|{||{|{||{|{{{{{{|{{|||{{{{|{zz|||{}|||{{|z|{{{{|||||{||z{z|z{{|{||||||{{{|{{z{||{|{{||{zzz{{{z{|{{|||{{||z|{zz|{||{||{{{{{zz{{{{|{||{{{zyz{zzzz{{{z{{{{zzzzz{z{z{z{|{zzzzz{z{{{z{{{{|{{{{zzzzzz||{zz{{{|{zzzzz{{{z{{{|zzzyzyzy{{{{{{{{zzz{zzzzz{{{z{{yzz{zzyzzzzy|z{||zzzzyzy{{{z{|z|z{zzzzzzz{zzz{z{|{yzzzyy{y{{{zzz{{zz{zyzzzz{z{{zzzzyzzzzzz{z{{|{|yyzz{zz{z{z{{{{|{z{zzy{zz{{{{{{|{{zzzz|z{z{zz{{{zzzzzzz{z{{z{{{{{{z{zz{yz|{{{{||zzz{{zyz{{{{{{{z{{zzzz{zz|{zz{|{{z{zz{zz{|{{{||{z{{z{z|{{{{{|{{|{zzz|z{{{||{{{|{zzz{{z{{{{{{|{||zz{z{{{{{|{{|||||{z|z{zzz|{{{||{{{{{{{{{|{{||||{|{z{{{z{}||{{{|||{zz|{z{|{|{|}}|{{{z{z{z{{{{{||{{{zz{z{{{{{z{{|{{|{zzz{zz{{{|{{z|{z{zzzyz{{{z{{{zz{zzzz{z|zzz{{|z{y{z{{z{z{{{||{|z{zzyzy{{{{z|{{{{{zz{{zz{{{{{{{{{zzz{yzz{zz{{z{{{y{z{zz{z{z{{{zz{yzzyzzyzzzzz{{zz{zzyyzz{zz{{zzzzz{zzyyzz{z{z{z|zzyzzzzz{{z{{{{zzz{zzzyzzz{{{{{yy{zyzzzz|yz||z{zzz{{yzy{|{{{{|{{zzzyyz|{{zz{{z{zz{{z{{zzz{{{{{{{zyzzzyz{|{{|{|{|{{zz{{zz|{{{|{{zy{{z{zz{{||{{{{{{{{z{zz{||{{{{{{zzz{{{{{{{{}}{|z{{z{z|z{{{|{|{{{zzz{{yzz||{{||||z{{||{z||{{{{{{z{z{z{|{{{z{||{||{zz{z|{{|{{{|{z{z|z{z{z|{|||{{{|zz{z{z{{|{{{||{{{|zz{{z||{|{{{|{{{y{{z|{{{{{||{{{zz{zz{z|{}|{{|{z{z{zz{{{}|{{{{{{z{{zyz{||z|z{{z{y{zyzz{|{{z|z{|zz{yzyyz{{{z{{|{{{{yyzzzz{{z{{{{zzz{zzz{z{z{|{{{{zzyzzzz{|z{{|zz{zzz{z{{z{z{{{|zzzzzzzzzzzz|z{{zzzyzy{zzz{{{z|zzzz{zzzz{z{{{{{{yzzzyzyzz{z{|{{{{{zzzzzzzz{zz|{{{{zyzyz{{{y{y{{{{yzzzzyyzz{}{{{y{yzzzzzyz|{{{z{|{{{z{z{zz{z{{{{{zz{yzzz{{{{{{{{{{z{zzzz{{|{{|{{z|y{zzzzzz{z{z{|{{{{zz{z{|{{{||z|{{z{zz{z{||{}}||z{z{z{{{{{z|{{}|{{{{zz{y|{{{{||{|z{{|z{z{|{{{{|{{{{{{|{{|{{{{||{|{{z{{{|||||{|{{|{|{zz{{|{{{{||{{{z|{{{{|{{{{|{|{{{{{z{{{||{{{{{z{{z{zz{z{{z{{{|{{{zzz{{{{{{{{{|{z|zz{{|z}}||{{{z{zzz{zzz{{zz{z{z{yzz{yz{{zz{{{|zzyzz{zzy{{z{{|z{zzyzzy{{{z}z{{|{z{zz{zzz{{z{{{|zzzzzzzz{{{zz{||zzzzzyz{{{{{y{{{zz{yzzzz{z{{z|z{zyyzyyzz{{z{{{{{yzyzzzyy{{z{|{zyz{zzyy{yz{{zz{{{zz{zzzzz{z{zzz{{z{{yyyzyzzz{z{|{zzzyz{{yzz{{{{{{{zz{zzz{z{{zz{{|zz{yzyyzz|zzz{{{zzz{zzyz{{{{z{{{{zzzzy{zz{{z{z{|zzzzz{z{{{z{|||z{z{{{{zz{{{z{{zz{{{zzz{{|{{|{{{{{{{{z{|z|{{{{||{|{{{{z{yz{{z{z}{{z{{{zz{|||{{{|{{{zzz{{{|||{{{|{{{{{z{zz|{{|{{{|{{|zz{{{|{|{{{|||{{{{{z||{|{{|||{{y{{{zz{||{{|{|{z{yzzzz{{|{{{||z{|{z{{z|}{||{{|z{|z{zzz||{}z|{yzzy{{z{{z{{{{{{{z{zzz{yzz{z{{{z{zz{zzzzzz{{{{|{{zz{zzzyzz{{{zz{{{|z{z{yz{z{z||{|zy{yzz{z{||z{{{{{{{zzzzz{{zy{{{zzzzzzyz{zz{{z|z{zz{zzyzzzz{zzzz{{yyzy{zzyzzzzz{z{{zyzyzyzzz{z{z{zyzzzyzyy{z{{zz{yzzyzxzz{z{zz{z|zzyzzzzzzz{{{{z{zzzzzzz{{{{{zz{|zzzzzyzzz{{{z||{zyz{z{zzz{{{{|{|{{{zzz{z{{{{{|{{{zzzzzz{{z{{{{|{{zzz{zzz{}{{{{{z{{zzzzz{{{||{||{{z{z|{|z{}{{{|||{z|{{z{z{{|}{||{{zzyz{{z}}{}||||z{{{z{z{{||{}{{{{z{zy{||{}{{{{|{|{{{|{{z|{{||||{{z{|{{{{{z{{{{||{{z|z{{{{|{{|{|{{{|y{{{{{||{{|{}{{{{{{|{{{|{|z|{{z|{{y{{{{||{{{|yz{{zzzzz{{|z{|{{zz{zyzz{zz{|z|{{y{zyzzyz|{{z{{{z{zzz{{y{{z{yz|{zz{{zzzz{{{|z{{|zzzzz{zyz{{z{{{zzy|zyzyz{{{yz{{{{zzzz{yz{z{{{z{{y{z{zyzzzz{{{{z{zzz{zzy{z{{zz{z{zyzzy{yzzz|{{z{{z{zzzyzzz{{{zz{z{zzzzyyz{{z{{{zyzyyyz{zzyzz{|{{|{yzzzz{zzz{{z{{{zz{zyz{z{{{z{{|{zzzzzyzz{{{|{z{{{zzzzy{{{{{{{{z{z{yzz{zy{{|zzz{{{{{{{{zz{|{z{z{{|z{z{||{|{|{||{|{z{{zz{{|{{|{|{|{{z|{yzz{{}|{{|{{{{{{zz{{{||||{|{zzzz{{z{{{{||||{{{{z{zz{}|{{|}}{z{z{{|{}{{{|||{|{z||{|{{|||{{|||zz{|zzz{|z{||{{{z{{{z{{{{||{{{{{{z{yz{z|{z||{{{{z{|z{z|{}|||{{z{{{{{yzzz{zzz{{zz{zzzzzy|{|z{{|{zzyzzzz{z{{{{{|z{zzzzzzz{{{{yz|{z{{zyz{yzz{{z{{{{{{zyzyzz|{y{zyz{zz{{yzzzz{z{{{zzzzz{zzzzz{{{{{{zzzzzyzyzz{zz{|{zzzzzzy{zzz{z|zzz{zz{{zz{{zz{z{{{{zzzz{zz{zz{{zzzzzzzzzyz{zzz{|{z{{zzzzzz{z{zz|{z{zy{z{y{|{{{|{||zzzzz{z{{{{{z{{{z{{zzz{z|{{|{{{{{|{zz{z{{{{z{{zzzzz{{z{{{{{z{||{zzzz{zy{|||z|{z{{{z{z{{y{||{{{{zzz{zz{{||{{||||{{|z{{z{{}{|{|{{{z{zz{z{{{||{|||{{{zz||||{{z{{{|{{{{{{{{{||{{{{||{{||{{{{{{{{||{|{z{{{{{{|{{|{|{{z{{{{{{{{z{{|||z|zz{zz|z{{||{{|{{zzz{zzz|{|{{}||{|z{y{z|||||{z{z{zyyzz{{{{z{z{zzzzz{zzzzz||{{z{{yzzzz{z|{z{{{{zzz{zzzyz{{{{z|{{{{zzyzzz{z{zz{z|zzz{zzzzz{{z|{{zz{zz{zz{zz{{zz{{{zzzyzzzzz{z{{{{zzz{y{{zzz{{{{zzzzz{zzzz{{|z{{{|z{{|z{yzzz{zz{{|zzzzzyzyz{zzz{{|z{zy{zz{z|zzz{{{zzz{zz{zzz{{{{{z|zzyzyy{{{|z{{{|{z{zzz{z{{{|z{{{zz{y{zz{{z{{z{{{zz{zzyz{{{{z{|{{{zzzzzzz{|{{{{||z{{{zyzz{{{{{{{{{{z{zzzz{{{|{}|{{{{{zz{z{|{{{{||{zzz{zzz{|{{{{|{{z|{{{{z|||{{|{{|{|z{{{|z|{||||||{z{|z{{{|{||{||{z{{{z|{{{|{||||{z{{{{z{z|{{{|{{}|{zz{z{{{|||||{{{z{{{z{{||{|{{||{{{z{{zz{|{|}|{{{{z{||{{{||}{|{z{{z{{zzz{{{z{{|{{zzy{yy{{{{{{|{|{{{zz{|{zzzz{{{zy{zzzz{{{{{zz{{{zz{yzzz{||{{zzzz{zzzzzz{{z{{{{zzy{z{zz{{|{{{|{zzyzzzz{z{zz{z{{|zzzzzzzzz{{{{{{z{zyz{{z{{{{{{{|{zzzyyyzy{{z{{{{|{zzyzzzzzz{zz{z|zzyzyzzzz{zzz{|z{y{zz{zzzy{z{{|z{z{{{zzz{z{{{z{{zy{{z{{{|z|{z{{{z{zyzz{z{||{{{{|{zzzzzzzz|{|{|z{{{zz{{y{z|{|{{{{z{{z{zz{||{|{{|{{{zz{zz{|{{{|{||{z{z{{{{{zz}{|||{{{zzzz{|||{}|||{{{{zzz{{}z|{{}|z{{{{{{{{{{|||{{|{{|z{|z{|||{||||{zz{{{{{|{{{|}|{{{{{{z{|{{{||||}|{{{{{{||{|{{||{{zz{{{{{{{|{||{{{{|zzzzz{||{{z|{z{z{z{{{}}~~{|{y{zz{{zzzz{{z{{|{z{{zz{{{{{{z{|{{yzyzzzz{z{z||{{{{zzyzzzz||zyz{|zz{zyyzz{|zzz{{{zzzzzz{y{z{z{{{{{z{zyyyz{y{z{{z{{zzz{zzzzzz{z{{{yzzzzzzzzzz{{z{zzzzzy{zzy{{z{zz{zyyzzzzyz{z{zz{{{zzzyy{zzzzzz{z{{z{zzyzzz{zzzzz{zy{yz{yyz{yzz{{|zzyzzyzyz||{zz||z{zzzz{z{z{{|z{{z{z{z{zzz{{z{{z{z{{yzy{z{{|{{{{{{z{z{yzyz{{{{{{{zy{|zzz{{{{{{|{z{{{z{zz{{{||z|{{{{z{{y{{z||{{{}{{{{zy{z{|{{{|||{{{{z|{|z{|z{{||{{{{{z{{{{||{|||{{|{{{z{z{|{{{{|z{{{{z|{{||{{{||{{{zz{|{{{|{|{z{{{z{{{zzz|{|||||{{{{{{{z{{z{z{|z|{{zzz{zyz{|||{||{{{{{z{{|{}|}zzz{zzz{zzzz{||{{{zz{zzzz{{{|{z{{{|{{zzzy{z{{{{{{{{{z{zzzzz{{z{z{{{{zzz{z{zz{{{zz{|{z{y{zz{{{z{{{|zz{zzzz{zz{{{{{|{z{z{zzz{{{{z{{{{y{z{zzzzz{y{z|z{zzz{yyz{z{yzz{{{z{zzyzyzz|{zz{{{{zz{{zzy{z{z{{{{{{zzzzzzz|z{z{z{yz{z{|yz{{z|z{{{zzy{zzyz{{z|{{{{{zz{zz{{{{z{{{{|{zzzzzz{zz||{||{zz|{{zzy{{{{|}|z|{{{z{zyz{|{{{|{{{zz{{zzz{{{{{{{{{{zz{z{|{{|||||z{zzz{{{|{|{{|{{{{{{{{{{{{}|||||z{|{z{z{|||{}{}||{z{{z{{{{{{{{{{{{{{{{{{{||||{{{|z{z{{{{||||{{|{{{zz{{{|{{{|||||{{{{{{{{|{{|{{}{z{z{{z{{{{|{|{{||{{{{{{z{{{|{|{|z{{z{{|{{}}~|{{|zzzz{zzzz{{y{{{{zzzz{zzzz|{{{{{{zzzzzzzz{yz{|z|{{zzzzzyyz|z{{{|{{z{zzz{z|zzz{{z{zz{{zzzz{z{{z{{{{{zz{z{yz{z{y{z{zzzzzzzzzz|z{z{{zyzzzzzzzz|{{{|z{zzyz{yyzz{z|{{{{yyyyzzy{|z{{z{z{zyz{yzyzzzz{{z{z{zy{zz{z{z{z{{{{y{zzzzz{{{{{{{|{yyzzzzz|{zzz{|{yz{zzz{z|{{z{{||zy{zzzzzz{|{||z{{{{z|{yz{{|{|{z{{{z{{{yz{||{|{{{z{{{z{{{{z|{{{|{{z{{{z{z{||{||{zzzz{y{z{z{{|{|||zzz{{zzz{|{{|{|{{zzzzy{{|{||{|}{{{{{z{||{{{{||{}|{{z{|{{{|{|{||{{{{{{{{|||z{{{{{|{|{zzz{z{|{{|{|{{y{{{z{{|{|{||{{zzyzzz{{||{||||{zzz{{z{{|{||{{|z{{{z{{z}|}|~{{{{y{y{{zz{||{|{{{zzzz{zz{z{{|{{z{zz{zz{yz{{zz{{{zzz{zyzyzz{z{{zz{{z{yzzzy{{{zzzz{{{{y{{zz{{z{z{{{|zzzzz{z{zz{z{z{zzzzzzzz{zz{{z{{zzzzzyzz{zzzzz{zyzzzzzzy{z{z{{{zzzzzyzy{{zzz{zz{zzyyzyzz{{yzz{{z{zzzzz{{zzzzz|{zzzzzyzyyzz{z{z{zz{{zzzzzzz{z{zz{zzzz{zz{{{{zz{{|zzzzzzzz{{{{z|{{z{z{{zzzz{{{{{z{zzzzzzzzz{|zz||{{zzzz{zz{{{z{{z{z{{z{zzz{{|||{{{zz{{z{|z|{z{{}{{{zz{{{zy{|||{{|||{{z{{{z{{{z||{|zzz{{||{z{{{{||||{{|z|{z{|{{|{|{{{z{zz{{{{|{|{{{|{{{{{zz|{{{|{||z{|{{{z{{{{|{|{{zz{{zzz{{{z{{{{{{z{|zzzz||z{|{|{{{{zzzz{{{|{~z{{zzzyy{zz{{|{{{{z{z{zzyz{zz{{{{|{zzzyyy{z{{{z{|||z{zyzz{{z|{zzz{z{yzyzyzy{z{z{{{|zz{yzzzzz{{yz{{zzz{zy{zzz{{zy{{z{zzyzyy{zzzz{y{{z{zzzzzzzzyzzz{z{zzzzzzzzz{y{{z{zzzzzzz{z{{zzzz{zzzz{zzyyzzzy{zzyyyy{zzz{z{zy{{zzzzzzzzzz{zzz{{zzzzz{zzz{{zzz{{{yzzzxy{{zzz{z{{{zzzzyzz{z|{z{{{y{{{zyzyyz{{{{{z|{z{yzzzz{{{{{{}|{zzzz{{z{z{{{{{{{z{z{zzz|{|{{{{{zzzz{{{zzz{{{||{zz{zzzzzz{{{|{|{z{{z{{{z{{{{{{{}{{z{zz{{z{{{|{{|{z{{z{{{z|z{{|}{|zz{|{{|{{{|{|{{|zzz{{{{|{{|z{{{{{z{|{z{{{|{|{}|zz{yzy{zz|{{{{z{zz{z{{{z{{{{{z|{{{{{zz{{{||||{{z{zyzzyzyz{z|z{{|z{zzzzyzz{zzz|{{{zzzzzzz{{z{z{{z{zzzz{z{z{{{z{{|{zzzyzzy{{z{z{zzzzzzzzyz{{{z{{|y{zzzzyyz{zzyz|{{zzzz{zzz{{z|z{{{zzzz{zzzzz{zzzz{zyyyyyyz{{{z{{{{z{zyyyzz{z{z{z|{zzzyyzzzzzz{z{{zzyzzz{zyzzzz{{{{zzyzzyzz{z{{{{{y{yzzzyyzz{{z{|z|zz{yzzzzz{zzz|{|z{zzzy{zyz{{|z{{zzzzzy{|z{|z||{{{zzzz{{z{{{{z{{{z{{z{zz{{{{{z|{zzzzzzzz{zz{{|{{{z{|z|{{{{{{{z{{|{z{zzzyzz|{{|{|{z{|z{{{{{||{|||{{z{zz||{z|{{||||{z{{{z{{z{z||||||zz{{{{z{{|{|||{zz{z|{|{{{{z{{|||{zz|{z{{{{||{{|z{z{{{zz{{||{|{{{{zzz{z{{{{{{{|{{zzzz{{{{{}|}}{{zzzz{|zzz{{zzz{{zzy{zzyzz{z{z{|{{zzzzz{yz{{{z{|{{z{zzzz{y{z{z{{|z{{z{zzz{zzz{|{{y{yyyzzyz|zy{{|{zzzzzyzz{z{zz|{z{{yyzzzzzzz{z{{{yzzzzyzzzz{z{{{z{zzzzzyzzzz{{{{{{zz{zyzzzzzz{{{{zz{yzyyyyzy{zzz{{{zxzzzz{{{{{{{zyz{{zy{yy{{zz{z{{yyyzzzy{z{{{{{{zy{zzzzz|{z{{z{{z{{z{zzz|{{{{zzz|zzz{zzz{{|{{{z{{z{zzyzy{|{{{{|{|z{{|z{{z|{{{{zzz|{zzzz{{z{|{{{{|z{{z{{{{{z|z{{|z{{{yzzz||{{||||{{z{{z{{{{{|{{||{{y{z{{{{{{{|{|{{z{{{|{{{||||{{{|{{{{{|{{{{|{|z|zz{zzzz{{{|{z{|{{{{z{{z{{{{||{{|zz{zzz{z{{z{{{|{zzz{zz{z{{|{{{{|{{{z{{zz{|}{|{{{{{zz{{{z{{{z{{{{{{{z{zzzz{{|||{|{{{z{{yyzz{{|{{{|{{{zz{{{{{{z{||{{{yzzzz{{{zz{{|zzzzz{{zz{{z|{{{{zzzzyzz{|z{{{z{{{z{zzzz{{|{z|{{zz{zzzzzzzzz{{{{{yzzzyyyz{zzzz{|{zzzz{z{{z{{{{{{z{z{yy{zz{zz{{{{zz{z{zy{{{z{{{{{z{zz{zzz{{{z{{{|{{zz{z{{{|{z{|z{{{{{zzzz{{|{z{{{{zz{z{|{{z{z{|{z{{zz{z{zz{||||||{{{yzzzz{{{{{{{z{{z{zzzz{{{{{{z{{|zz||zz{||{{{|{{z{{{{{z{{{{{||{{z{|z{zz{{||||||{z{{{zz{|||{||{{{{{{{|{{{{{|||{||{{|z{{{{{||}|{||z||{zz{{|{}||{||z{{{{z{}||{{{}||z{|{{z{{{|{|||||zz{z{zz{{{{{{||{|zzz{{{z|{{{|{{{z{zz{||{||{|{{{zyzzzzzzz{zz{zz|zzzzyzy{z{z{{{|{z{{z{zzz|{{z{{|{{{{{yzyy{{{{{z{{zzy{zz{y{{{{z{{|zz{zzzzyzz{{zz{z{{{yzyyz{{z{{{{zzzzzzzyz{{z{z{{zzyzzyzzzz{{z{zzzzzzzzzz{zzzzz{{{zz{zz{zyz{{{z{{{z{yyzzzzzzzzzz{z|yzzzyyyzyzyz{|{yzzz{{zzzzzz{{{{zzzy{zzz{|{{{|{zzyzzzzzyz{z{{{{z{z{zzzzz{{{{{|{{{z{z{zzzz{{{{z{z{{zz{{zz{{z{{{}{|z{zzz{{{z{{|||z{{{{z{z{{z{|{||z{{z{zz{{|{z{{|{|{z{{{z{y{{||{{{{|z{{{{{z{|{{|{|}{|z{z{{zz{{{|{{||z||{{z|{{{{||{}|zz{zz|{||||||||{z{{{z{z||{{{z||{{z|z|{{|{{{{{|{{{zz{{z{{z{|{|||{z{z{z{{z|{{{{{{{z{zzzz{z||||{{|z{z{{y{zz{{|z{{|zzzzzzz{{{{zz{}{y{z{zzzy{{{{{{|{z{{zzzzzz{{{{{{{{{zzyz{z{{{|{{{{zz{z{zz|z{zzz|{{zzzzzzz{z|{{{{z{z{zyzzzz{zzzzy{zzzyz{zzyzz{{zzzzzyzzz{|y{{{{{{{z{{zzyzzzzz{{{{{{z{zzzyzzz{{{y{z|zzyyzyzzz{z{{{z{zzzz{zzzz{{{z{{{zzzyzyzy{z{zzz{|zzzzzz{yyz{{{{{{{z|{zz{|{{{|{|{{{{{z{z{zz|{|{z|{{zzz{{{y{|{|{{{|z{z{zz{{z{{|z{{{|{{{{yzz{|{}{{{|{{z{{{{z{{{{||{{{{{{zz{{||{||{|{{z{{{zz|||{||{{{{{zz{{{{{{{|||{|{{{|{{{{||||||||{{|{{zy{||{||}{{{{z{{z{{{{{{||{}zzz{z{z{{{{{{{{{zz{{zzzz{{z{{{{{{zz{y{zz{{{{{{{|z|{{z{{z{{{{{{|{y{z{yz{z{{{z{{{|zzzy{{zz{{{{z|{{{zzzz{{y|{{zz{}{z{yzzzzzzzz{zz|{zy{yz{z{|z|zz{z{zyzzz{zz{{|{z{{{zyzz{zz{zyzy{{{z{zz{yzzzzz{{{{z{zyzyzzzy{{zzzz{z{yzzzzyz{z{zzz|zzyzzyzyzzzzzz{{{{zyyyzzzzzzz{{zzzyzyzzzyz{{{{z|{zzzyz{yyz{zzzz{|{{yz{yzzzz{{{{|{{z{zzy{zz{{{||{{z{z{zz{z{{{{{|{{zz{{zz{zz||{{z}{{{z{z{{z{|{|z|{{zy{zz{z|||z{z{z{z{zz|zz{||{{|{{{{{{{{{{{{{{{{z|{{{zz{zz{{|||{|{{|zz{{|{{{}{{||||{{{{z{{{{||||||}}||z{z|{{{{|||{{{{{{z{{{{|{|{|{|{{{{{{|{{z{|||{|{{|z{{z{|{{|{{{{{{zz{zzzz|{{{{{|{zz|{{{{z|{{{{{{z{{zz{{{z{|{{{y{yzzzyz{zz{z{{z{{yz{zyzzzzz{{{|{{y|{{z{zz{z{zz{{{{{zzz{z{{{{{z{{{{{zzyzzz{{|{{{z{zz{y{{{z{{{zz{{{{{zzzzyzz{{z{{{zzzzzyzzyz{y{z{{{zyzzzzzz{zz{z||zzzzzzzzzzz{z{y{{zzzzyz{zz{|{z|z{{{zy{z{yz{zzzz{{{zyzzyzzz{yz{{{{zz{z{{yzzzz{{|||zzz{zzzy{{{{{{{{z{zyyzzy{z|{{z{{{z{yzzzz{{z{{|{zzz{zz{zz{{{{{{{{{z{z{zz{{|{{{|||{zzzz{zzz{|zz|z{z{zzz{{z|z{{|}{{z{z{{{{{{z{|{{{{{{z{z{zz{||{{{{|zzz{{|{z{{{{{|||z{{z{{||{{{{{|}{|{|{zz{{{}||z{||{{{{{{{z{{z{}{{{|z{{zz|z{{{{|{{||{z{|zzz{{{|{{||z{{{zzz{y|{{{||{z{y{z{z{{{z|{|z|{{zzz{{{{|{{{z{|{z{zz{{z{{|{{{{|z{{{{zzz|{z{||{{{zz{z{{z{{{{|{{{{|{yzz{zz|{|z{{z{{{{z{zz{{|{||{{{{{z{z{z{{{zz{|||z{{{zz{|z{{{{|{zzz{z{{{zz|zz{y{zz{{{z{z{{{{{z{{zzzzyzzz|{{z{{{{{{y{z{zy{{{|{{||{zzz{zzzz{{{{z{{{zzzz{zy|z{{||{zzzzzz{zy{z{z{|{{{{{zzzzz|{z|}{||{{|zzz{y|{|{||||z{{zz{z{{{|{|{|{|z{z{{zzz|{{{{{|{|{{{z{z{{{{{||||z{{|{{zz}{{|{{{{{{{z{{{{{{||||{z|{{{{|||||{{{||{|{{{{z{|||||}{{|z|z{{zz|||}}|}}|{{{{{{{{{||{}{|||{|{|{{|}|||}}||{{|{{|z||{{}|||{z{{{{|{||{||}{|{{{{{{{|{||||}||{{{{{{{{z|||||{{{{|{z{zz{{|||{|{|{{{{{{{{{{{||z{{{z{zyzzz{|z{{{{{zzz{{{zz|{z||{{|z{yzz{{{{{{{|||{{z{y{zzz{{{{|{{{{{zz{zz{|{z{|{{{{zzzzzyz{{|z{|{{z{{{{{y{{{z{{{{zzyzzzz{zz{{{{{|zzzz{zzz{z{||{{|{zzzzzzz|{|{{z{{{zz{zyzy{{z{z{{{{{{zyzzzzzz{z|{|{{{z{zzzz{{{{|z{{z{zzz{y{{{|{{{}{zzz{zyzz|{{zz||{z{z{z{{{z{{|||{{z{{z{z{z|{{{{|z{z{{{z{zzz{{{|||}z{zz{{{||||{{{{{{{{{{z|{{|{{{zz{{{{{{z{{||}|{||z{{||{{{||z|{|z{{{{{{z{z{|||||{||{{z{{z{||||{|||z{{z{|{||{|{{|{||z{{{{{{|||}}{|||y||z{{z{|||||||{z|{{{z|{{||||||{{{{{|{{|{{}|{{}||zz{{{|z|}|{|||{{{zz{{z{{{|{||{{{z{{z{z|{}{{z{{z{zz{zzy{{{{|z||{{z|{zzzz{{|{{{{{{{zzyzz{{{z{{|{{yz{{{zzz{|{z{{{{{{{zzz{{{{{{||{{{{{zz{z{{z{{|z|{{zz{zzz{{{{{{{{{z{y{yz{z{{{{{z{zz{{{z{{z{z{{{|{zzyzzzz{z{{{z{{{zzz{yzzzz||{z{{zzzz{{zzz{{z{{|{|z{{yz{{zz{{{z|||zzz{{z{y{{{{{|{{{zzz{zz{{{|{{|{|z{z{zzz{{{{{|{|{z{{z{z{|z}|{{|{|{zz{zz{z|{{{{||z{{z{z{{{z||z{{{|{zz{z{{|{{|{{|{{zz{z|{{{||||{|||{{z{{{|z|{{}||||{{z{{z|z|}||}{{{{z{z{{zz|||{{||{{|{{{{||||||||{{|{zz{{{{||||{{}|||||{{|||||{{|{{||{|{z{{||{||||||{z{{{z{||{|||{|{{{{{{{{{||{||{|{z{{{{{zz{{{{{||{z{{{{z{{}|{||{{{{z{zz{{z{{{{zz{{zzzzzzz{{{||{||zzzyz{{z|z{z{{{|z{z{{zz{{z|{{{|{z{{yz{{zz{{{{|{{zz{z{{{zz{{{{{||{{zyz{z{{|{{{{{{zz{|zyz|{z{z{{{{zz{zzyy{z|{{z{{{{z{zzzyzzz{{|{{{z{zzzy{y{{|{{z|{zzyzzz{zz{z{{{{{|z{zzz{yzzz{{{{|{z{{{zyz{{z{z{{{{z{z{y{z{|{|z{{{{z{zz{zz|{{||||{zz{{zz{z{{{{{{|}{{{{{zz{z|{{{{{|zzz{{{zz{{{{|{|{|{|{{z{|||{{{{{{{{|{{z{{|{|||{|{{{{|z{{{{{||{{}||{{z{|z{|||||}|||z{|||{{{||{||||||{{{||{{||||{||||z|{{{{{}||||||{}{{||{z{{{|{|||{|z{{{{{{{|||{|}|{|{|||{|{{|||{z}z{|z{{{{|||{|{|z|z{z{{{{{||{{{{|z|{{y{{|{{|{|{{{z{{{zzz{{{z{{z|zz{z{z{z|zz|{|{{|{{z{{{|z{{{|{{|{zz{z{{zz{{|{z{|{{{z{{zz|{|}{{{|{{{z|zz{{|{{z{{{{z{z{{zy{{{{{{{z{{zz{zzz{{{{{{{|zz{{z{zz{{{{z{{{{{z{zzz{{|{{{{|{z{|zyzzyy{|{{{{{|z{{{{zy{{z{{{{{{{{{zzzzz{{{{|{|{y{z{{zz{{{{||{|{z{{|z{z{|{{{|{||zz|z{|z{{{{{{{|zz{zzz{{{{{|{|}|||{{{zzz||||{||{|{{z{z{z{{|z{|||{{{{{{{{||{{{|{||{{|{{z{{|}|||||z{|{{{{{{|{|{|{|{{{{{{{{{|}||}{|{z{|{{{z|}{|{|~||z{{||{||}||||{}|{|z{|{z|}|||||{|{|{{{{{{|||{||||{{{|{{{{{{||}}{|{|||{z{|||||{|||{|{{{{{{||z{|}{{{z{{{{z||}|{{|z{z|{|zzz}}|{{||z|zz{{z{z{z|{{{}{{{{{z{{{{{{{{||}{{zz{{zz{z{{{{|||{{z{{zz{{|{{{||{{{{z{{{{{{|{{{||yzz{zz{{{{{zz|{{{{{{z{z{{{{{{{{{zzzzzyz|{|{z{{{{z{zz{zz{{{{{||{{{z{|{z{|{{{{|{{{z{z{zzzz{z{{{{{zzz{zz{zz{z||{{{{zzzz{zz{{{{{{{{{y{{{zzz{|{{{{{z{z{zzzz{}|{|{{{}{z{{{{{{{{{|{||{{z{{{{{{{|{|{||||{{|{z{{z{{{{{|{{z{z{z{{||||{|||{|z{{{z{|}{||||{z{|z{{{||{|{||||{||z{z{|}|{|{|||{{z|{|{{|{||}|{{}{{{{z{z|||{|||}|{|{|{||{|||}|}||||{|{{||}|||||}|{{{||{||||}|||||{{{{{||{|{|||}}{{z{|{||}|{{{|~|{{{z{|{{{||{{|}||{{{{{{{||||{|{|zz|{{z{{{||}||{|zyz{{{{z{{{{{{|{z{z{z{zz{|{||||||z{zz{{{{{{z{{||{z{zzzzy{{{|{{z|{{{z{zzz{{|{{{|{{{{z{zzzz{{{||{z{{{zz{z{{{{zz|{|zz{{z{{z{{{{z{{{zzzz{zz{{{z{z{|{{{zzz{{z{{{{{{{z{y{{y{zyzz{{{{{{zzzzzz{{yz{z{|{{zzzzzzzzzzz{{{|z{z{z{{zz{y{{{{{{{{{{{zzz{{{|{{|}|z{{{{{{|{{{||z{{{|{zz{{{{{{|||{{{|zz{{z{|{||{||{{zzz{{{{||{{{{}|z{{z||{{||{{|}{z{{{|{zzz{|}|{}}{{{{z{|}{|z{{|||{z||{{z{|||||}{{{z{|{{|{||{}{}{{{{||{|||{||{|}|}|{{{z|{{{|||{|{}|{|{zz||{{||{|||}|{}{z||{{|||{}}{{{{||{{|||||}|{|z|{{{{{{|||{}|}{zz{z{{{|}{|{{{|||z{{z|{z{|{}|||{|z{|{|z{||{||||{{{zzy{zzz{{{{||{z{zzz{{||{{{{|{|{{z{zzz||{{|{z||{}{{z{z{{{{{{{{{{{z{z{{{|{z{{||{zzzzzz{{{{{{||z{{{zz{y{|{{|z{{|{zz{zyz|{{{zz{{{{{zzy{{z{{|z{|||{zzzzzzzz{{{{{|{{{zzzzzz{|zzz{{|{{z{zzzz{{z{{|||zzzzzz{z{{{{|{|{z|{{|zzz|||{|{{{{{zz{z{z{{{{|{{||z{zz{{{|{|||{|||{{z{z{|{{{{||{||z{{{{z{{|{|z{{{{{z{{{{z{{|{{|||{z{{z{|{{||||{||{{{{{|zz||||{|}||{{{|{zz}{|||||||z{{{zz|{||||||}{{{z{||{|||{||}|}|{{{{{{|~||||||{{{{{{{|{||||}|||{{{|{{{|{{~{}}||{{{|{{{||{{||||{{{{z{{|{||z|||{{{z{zz{z|{||}|}|{{|{{{{{|{||||{|zzz{{zzz{{{{{{|{{{z{zyzz{{{zz{||{z{{z{zzz|{z{|{{{zz{|yzz{{{{{{|{{{z{zz{z{{{{{{|{z{|z{{zzy||zz|{{{{z{{zzz{{{{{{{zzz{{zz{{{{{|{{{{zzzzz{{z{{{{|{{{{yz{yyzzzz{z|{z|{z{{zzzzz{z{{z{{{{zzy{zyz{{{{{{z{zzzzzzzy|zz{{|{{z{zz{zzz{||{{}{{{{zzzz{|{||{{{{{z{{{|{z{z|z|z{{z{{{{{z{{|{{{||{{{zzzz|{z}{|{|||z{z{z{z{{{{{{|{{|z{{{{z{z||{|||{|zz{{{{|{|||||}|{{{z{{|z{z{{{||{{{{{|{zz|{||z||||{{{|{{{||}||}||{z{|{||{|||||}|||{{|{|{z|||||{|}{{||z{{{|{||{||{}}{|{{{{|||{{|}||{z{{{{{|{||||{|{{z{{{{{z{|||{||{{{{zz|{||{|{{|{{{z{z{{{|{z|{{|z{{{{{|zz{||z{{{{z{{{{{zz||{|{{z{|{{{||zz|{{{|{|{{zz|{{zz{zz|{{{||{{z{z{z{{{{{{{{{z{{z{zzz{{{{|{{{{{{{{z{{{|{{|{{z{{zzzzz{{z{z{z{zz{y{y{zz{{{|z{{{{zzzzz{z{{{{{{zzz{{y{zzz{|{{z{{{zzz{zzzzz{z{{||{{z{{z{z{{zzz|{|{{zz{{zy{{{{{{|||{{{{z{{{{|{{|{|{y{{{{{{{{z{||||{{{{z{{z{|{{{{{{|{z{{z{{{|||||{{{{{{{{{z|{{|{|{{{{{{{{|{{}|{{{||{{{{|z{zz|{{{|||{{{{{{{{||{}|{}}z{{|{{{|{|{|||}}{{|{|{|{||{{|||{|{{|{{||{{|{|}|}|z{{{{{||||}|||{|{|{{{z{|{{||{{|}{|{||{|{{{|}{|}{|{{{|{||{{||{|}{{{{{{|z{{{z||||{|z{{yzz{{{||{}{{z{zz{{z{{{||{{{z{z{zzzzz{{{|z{{{{{z{{zz{{|{{{{{||zyzzzz{{z|z|{{|z{|{{zz{{{|z{||{{{zzzzz|{|{{{{|{{|{{z{z|{{{{|{{|z{{zz{z{{{{z{{{z{zzz{y|{|{{{{z{z{{z{z{z{{{{|{{{z{{{{zzzz{|z{{{{{zzzzz{z{{|{{|{|{zzz{z|zz{z{z{{|{{z{zzz{{{zz||{|{z{z{zzzz{{{{z{{{zzzzz{{{{|{{{}|{{zz{z{z{|z{|||{{|{z{z{{{{{{{{{{{{{zz{zz{{{{|{||{{zz{z{|{||{z{{{{|{{{{{{{||{{}{|{|z{{|zz{{|{|{||{{z{|z||{}|}{{}}|{{{{|{|{||||||{{z{{{z{{{}{{||||{{{{y|||{||||||||{|{|{{{z}{||}|{||||{{{{{|{||||||z{{{{{||{|{||}|||{{||{{||||||}}{{{{{{{{{{}||||}{z{zz|z{|{{||}||{z{z{z{z{|{||{zz{zyzyzzzz{|{{}{{{{zzz{zz{{|z{||{{zz{z{{{{{z}{{{|{zzz{zzz{{}{{{{|{|{z{zzz|||{z{z||{zzzzzz{{zz|{{{|zzyzzz{z{{{{||{z{{zy{z{{z{|{zzz{{z{{zzzz{{{{{{{zz{zzz{z{z{|{z{{zz{{z{{z{{|z{{{|{zz{zzzyz{{zzzz{yz{yzyyzy{{{z{{zyz{{zzzz{{zz{{{|z{zzzzzz{|{{{{|}{{{{z{|{z{||{{||{zz{z{|z{||{||||{{{{{y|zz{{{{{|{|z{yzzy{{|||{|{|{z{{{{{|{{|{|{{|{{|zz{z{|||{{|{|{{{{{|}{{{{||}|}|{{{{|z{||{||||}{|{{{{{{|{|{|{|{{|{zz{{{{|||||||||{|{|{{{}{}}}||{{{|{{z|||{||||{{{z{{{{{||||{|{|||z{{{{{{{{|||{|||{z{{{{{|||{{||{{|{zz{z{{||{||{{{{{zz|z|{{|||{{{zz{yz{z{{|{{{|{z{{zz{zz{{{{{{|{{z{z{{{{|{{{{z{}{yzzzzzzz{{{|{|{{{zzzzz{{z{{{{{||zzzz{zzz{{{z{{|{z{z{zzzzz|{{|{{zzz{{zz{z{{{{{{{{{zzzyzzz{{{{{{{{z{zy{yz{|{z{z{{{{zzzzzy{zy{{{{|zz{|zzz{z{zzz{{{z{zz{yz{{{{z{{|{zzzzz{{zzzz{zz{{zz{{{z{{{|{{{{|{z{{{zy{{{|{{{|{{z|{{{{{zz{z|{{{|z{|zz{{{{|z{||{{{z{zyyz{{{{z{{{{|{{{{zzz|{|{{|{|{z{{z{{{{{||||{{z{z{|{{{|{||{}}||{|{|zz{|}{}{||{{{{|{{{z|{||}||||{|{{{||||{{{{|{|zz{{|{{{|{|}|{|{{{{z|{|{||||}||{zz{z{{{|{{{{|||{{z{{{{{|||{{{||{{{z{{zz{{z|{||||{z{zz{{{|||{{}|{{zz|{{y{{z{{{{z{zzzyz{zzz|{{{||{zzz{zzz{{{{{|{|{{{zzzzz|{|z{|{|z{{zzz{{z{{||{{|{z{yzzzy{{{{{{z{z{z{{z{zzz{{z{|{{zzzy{zzz{{z||z{zzzzyz{z{z{{zzz{zzzz{zzz{|{z{{{{{z{{zz{{z{z{{{{{z{z{yzzzz{{z{{{zz{yz{zzzz{zzz{{{{zzzzyzzz{{zz|z|zzzz{{zz|zz{{{{{{zz{zz{z{{|{zzz|z{z{{z{z{{{{||{{zzzzy{{{z|||{|{|{z{yz{zzz{||z|{{{z{z{zz{{{||{||{{z{{|zz{{|{z{|zzzz{z{{z{||{|||||{|{{{z|{|{{|{{{|{z|{{z{{{|||||{|{|{{zz{{|||{||{}z|{{{||{{|{{|||||{{{{|{{{}{{|||||{{{{{{{{{{|||{{{{{{|{|{{{{||}|||{zz{{{{{|{|{|{|{{{z{{{zz|{|{{{|{z{{{zz{{|{|{|{z{{|z{zz{{{||{{{{zzy{{z{z{z{z{{{}z|zzzzz{z{{{|{||{zzz{zz{z{{{{{||{z{zzzzz{{{{{{{{{z{zz{{zzz{{|{{{{{zz{zzzzz{{z{|{{z{zzzz{zz|{z{{{|z{{zzzz{zz{{{{|{{zyzzzzy{{{z{{{zzzzzzzyz{{zz{|{{zy{zzzy{z{{{{{|{zz{zyzz{{{z{z{{{z{z{zzzz{zz{{{{{{{zzzz{z|{||{|{{zzz{z{{{z{{z{{|zz{zzz{z{{{|{|{||zzzzz{{{z{{{{||z{z{{z{z{||||||{{{|{{{{{{{|{{{|z{zz|zz{|{{{{{|z}{{{{{{{{{}{{||{{z{{{z{z{|||{{|||{{z{|zzz{{|{z{|||z{{{z{{{||{||{|z{{|{z{|{||{{|}||{{{{z{z{||||}||{{{{z{{{||{|{{||{{z{|{{{|||{|||||{|z|{{{{{{|{{||{z{{z{{{{z{|{|{|{{zzz{zz{{||{{{||z{{{z{{{{{||{|{{{{{z{{zz{{|{{||{{zzzz{{{|{z{{}|}|{zzzz{{{{{||{||{{{{{zz{z{{{|{{|{z{zzzz{z{{{z||zzzz{{{z{{{||{|{|zz{{zzz{{|{{{{{{zz{z{{z{{{{z{{|{{z{yzzzz{{{{{{{zz{yzzz{z{|{z{{{{z|{zzyzz{z{{|{|z{zz{z{zzz{z{{{z{{yz{zzzz{z{{||{{{zz{{zz{{{{|{|{z{zzzz{z{{|{||||{{{z{zz{|{||{{|||{{zz{zz{{{{{|||{{{{y{|{{z|||{||{{{{z{{{{{||{{|||{{|z{{{|z{{{{{{z{|{{z{{{|{|{|}||{{{{{zz|{{|||{||z{{{{{z{|{{||||{{{z|{{{{||||{||{{{z|||{{||}}||||{z||{{|{}|{|{||{{|{z|{{}|{}{}||||{z{|{{{|{||{|{||||||{{}|{|z{||{z{{{{{{{{{||||{|{{zzz|{{|{||{||zz{{{z{{{|{{||z|zzz{zzzzz||zz{{{{{z{{{zz||{{|||{z{zzzz{{{{z|{||||{{{z{{{{|||{{{|{{zzzzz{{{{{{{{{{z{zz{{{{{{{{||{{z{{z{zz{{|{{{|{{zz{z{{{{z||{{||zzzyzzzz{{{{{{{{zyzyz{z{z{{{{{{{z{{zz{zzz{{|{{z{zzzz{y{z{zz{{{{{zzzyzzzzz{{{{z{|{{{{{{zz{{{||}{{{yz{{z{{{{z{z{||{{z{{zzz{{{{{||{{z{{{{{{|{|{||{{{z{||zz{{|{{{{{{z{{{{{{{{||{|{||{z|{|{|||{{{{|z{{{{z{{zz{|{|{|{{{{z{z{|{{{{|{{}}{{{{{{z{}{||{||||{{{{{{{|||{|}|}|z{{{|{{|||{||||{{||z|{|||||||}}|{|{{z|{|{|{||}||{|{|{|{|{{||}||||{|{{{|{||{|{{|{{z{{{|z||{|||||z{{{{z|{{{{|{||||{z{{z{{|{|{{||{zz{{{{z{z{{z|z|{|{{zzzzz{{{z{{|{{{zzz{{z{{{{{||{{z{{z{{z{{{{{{|||{zzz{zz{{z{{{{{{{zz{{{y{|z{{{||{{{z{zzz{z|{y{{|{z{{{zz{{{{z|z{{zzzzzzzz{{z{{z||{zz{yz{z{{{{{{|z{z{z{{{z{|{|z{|{zzzzzzz{z{z{{{{|{zzzzzzzz{z{{{z|{zz|zzzzzz{{{|||zz{{zz{{{{|zz{z{{z{zzz{{|{{{z||}{{{{zzz{{z{|{{{|{{{{{z|z{}{{{{{{{{{z{zz{||{||{|{||zz{z{|||{{{{{|{{|z|{{z{|{{{|||{|{{{{{{{{|||{}||z{{{z{{{||{z{|||{z{}{{z|||{|||||{|{||z{{{|{||}{{{{||z{|{}{{||{|{|{{|{{z|}}{{|||}{{{{{{||{|{|}||{|{|{{{|{|||||||{{{{|{z{{}|||||||{{{{zz{{}{|{{|{{z|y{{|{{||{{z{{{zyzz{zz{|z{z}||z{{{{zz{{|{{{{|{{z{z{{{{{{z{{{|{{z{{zzyz||{|{|||{{zzzz{z{{{|{{{|z{|{z{zyzz{z|{{||zz{zz{z{{{{z{{{{y{{zz{z|{{{{{|{{zzzzzzz{{{z|{|zzzzzzzz{{{zz{{{{{{{{zzzzz{{{|{{|{zz{{zyzzz|{{{{{|{{zz{zyz{{{|||{{{{{z{yzz|{{{{{|{zzzz{zzz{{{|{{{{{|z{z{{{{|{{z{|{z{z{{{{|{||||{|{|{{yz{zz|{{{|{|{z{|{|zz{{|{{{z|{{|z|zz{{|{{z{|{{|{z|||{{{{|{{||{{{{z{{z}|{|||{|{zz{{zz{{|||{|{{{{{|{{{{||{||{|||{{z{|{{||}||||||{{{{||z{|}||}}||||{{{{||{||{||{{{{|{{{{|}||{||{||z{{{z|{{{|||||||zz|z{{|}{||{||||{{{{{z{|z|}||{{{{{|z{{||{{|{zz{{{z{zz{{{{{{z|{{{z{zz{y{{|{|||{{{{z{z{z}{{{{|||{z{z{yzzz||z{{{{{z{{{{{z{{{{{{||{zzz{z{z{|{{z{||{z{{{{zz|{{{{{{{{z{{zzz{{{|{{{{{zz{zzzzz{{{{{z}zzzzzzzy{{{{{{{{{zzzzzzzz{{{{{|{|zyzzz{{y{|{{{{{{z{{{{{zzz{{{{|{|y{{z{{{{zz{|||{|{zz{zzzz{{{|||{|{{zzzz{{{||z{{{|z{z{z{zz{{|z{||||{{{{{{zz{||||{|{{{zz{zz{|{{z{|{{zz{{z|z||{{{{||{{|{|z{z||||{{{|{|{{|{{{}|||{||||{||{{{{|}}{}{|{|z{{|{z{{|||}|}|{{{{{||{z|{|||||{{{{{z|z||}|{|}||{|||{}{|||}|z|{{{{{{|{{{{|{||}||{{{{{{{}|{{|{|{|{{{{{{z{|{|{{}{{{z{{{zz{|{|{|}{|{|z{|{z{|}|z{{|{{{zzyzzzz{{|{{|z{{{zz{zz{{{{{||{{|z{z{z{{{{||{{{{{{zyz{{{|{{{{{{{zz{z{{{{{z{|{|{{{{z{{zz|{{z{{|{{{{{z{{{{|{z{|zzzzzzzzz{{{{z{{|z{zzzzz{{{z|{{{{{zz{{zz{{{z{{{{{{zzzyzyyz|{|{{{{zzzzzyzzzzz{{{{|{zzz|yzzy{z{z||zz{{zzzzy{{zz{|{|{zzzzz{y{{{z{z{{{{{zz{|z{{{{{{{|{{{zzz{|{|{{{{{|{z{z{y{yz{{{{z{|{zz{zz{z{z{|z|||{{z{z{zz{z{|{}|{{{{{zz{{{z{|{{||{z{{{{{||||{|||}{{z{{z|{{||||{}|{{{{{{{z{|||||}}{||{{{{|{{||}|{{}|{|z{|||}|{}||}|{{{{z{{|{|{{||||{{{|z|z|{{|{|{||||{{|{{|{||{|||{{{{{z{{||{|{|||{||{{{|{|||||{|{{z{{zz|z|{||{{{|z{{z{z|{{|{{z{|{z{{{zz{z{{z{{{{|{|zz{{{z{z{}|{|{{{{zzzz{{{zz{{{|{z{zyz{z{||z{z{{zzz{z{{y{{{z{{|{{zzzzz{zz{{zz{z|{z{yzzzz{zz{{|{|zzz{{z{z{{{zz||{{z{zz{zzz||z|{z{{{|{{zzz{{{{{|{{z{zz{yz|z{z{z|{{{{{z{zzz{|{|{|{{{z{z{{z{{{{|{||{zz|{|zzz{z{|{|z|{{zz{{z{{zz{{|||{{{zz{|z{z{{||||{{z{{{{z{|{|{||{{z|{{{{z{||{{{|{{{{|zz{{{|{{|||{{{|{{{zz|{|||||{z{{{{{{{{{{|||||{{{{{zzz|||||{{{|{|{{z{||}{{|||{{{|{z||{||||||}|||{{{||{{|||{|||{|{{{{|{{||}|||||{{z{|||{{{}|}||||{||{zz||{{|{||{{{z{{{{||z|{||||{{{{z{{||{||{|{{{{{|{zy||}|{{|{|zzz{z{zz{{z{{{{{zz{zz{{z|{{|{||z|{{{z{z{|z||{{{{{{{zzz{{|{{{{{|z{{yzyzzzz{{{{z{zzzzz{zzz{zz{|{{{z{y{zz{{z|z{{{z{zzzz{z{z{z{{{{{{zz{{yyzz{zz{{{{zzzzzzzz{{|z|z{{zzz{zzzzz|{z{{{|yz{z{{zzz{{z{{zzz{yzzz{{z{{{{|zz{{{y{{{{{|{|{||}z{z{{z{z{|{|{||{{zz{zz|{z{{|{{||y{{|zzzz{||{{||{{{{z{zzzz|{||||{{zzz{z{z{{||}||zz{{{{zz|{{|z||{z{zzz{{{z|{|||{{|{{{{{{{|{|||{|}|zz{{{{{z||{{{{|{|z{{{{zz|{|||{||{{||z{{}|||{||||{{|||{{|z||||||{|z||}z{{|||||||||{z|{|{z{{||}}|}{{{||{z{{{{|||||||{z{{z{{{{|{|||{{{{{z{{{{{|||{{zz{zzyzz{{|{||{{{{z{{zzy{||{|{|{zzzz{zzz{|}||z||{{{zy{{{{{z{|{{{{{{zz{y{{{{z{z||{{zzzzzzz{{|zz||{zzzz{zz{||zz|||z{z{zz{{zz{{{||{{z{zy{zzz{z{|{{{zz{{{zzz{{{{{z{{yyz{{zy{{{{{{{{|{zzyz{zz{{z{{{||{{zyzzzz{{{{{{|{zzzz{{zz{{y{z|{{zz{{{{{z{{{{|||||zzz{y{{{{{z{{{{{z{z{{zz|z|{{||{{{{{{{{{{{{{{|{{{z{z{z{{{||||{{}|{{z{|y{{||{|{|{z{yz{z{{{{|{||z}z{{{zy{z|{||{{{{{{{z|z{|||{}|{}|||{{{{z{|||{|||{{{z||{|{|}{|{||}{{|{z{|{z{|}||||}{{{|{{z{|||||||~{{{{|{{{|{}||}}{z{{{{{{|||{||||}{|||{{{{{{||||{|{zz{{{|z{||{|||{zzz{{z{{|{|z|}|{z|{{zz{{{|{{{{{{{zzzzzyzy|z|z{|z{y{{z{z||{{{z{{z{{zzz{z{{{|{{|{z{zzz{z{{|{|{z|{{|{{zzzz{{|{{{|||{|zzzz{z{{{{{|z{yz{zzzz{{z{z{{zz{y{yz{z{{{{z{z{{zz{{zzz{{{{{{{{zzyzzzzzz{{z{|{{zz{z{zzy{{{zz|{{{z{z{zzzz{{{z|{{{{zz{{{zz{{{z{{{z{{{{{z{z{{{{{{||zzy|z{{||{{{{{{z{{{{z{{{{{{{|{|{z{{zzz{|{{{|{|{{|{{zy{{{|||{|||{{{{{|{{{||{{{|{z{{{{{{{||{{z||{||{{|zz{{|||}{||{|z{{{{|{}||||}||{{z{{{{|{|||{{||z{{|z{{||||{|{|{{{{{|{|||{{|||||{{{|{{z|}||||{||{{{{{z{}|{|||||{z{|{|{|{|||||}|{|{|{{|{|||}||{|{{{|{{z{z{|{{|{{|{{{|z{z{{{|{{}y{{{|{zz{{|}{||z{{{zz|zz|zz}{{{||z{{zzz{{}{|{z{{{{z{zzz{z{|{{|||}z{{{{z{z{z|z{|||{{zzzzzz|{{{||{{z{zzz|{y}{{z{||{z{{z|zz{z{|z{{{|{{zz{{{zz{zz{{||zz|z{yzzz{{{{{|z{{{{z{z{zz|{|{{||zzzzzz{z{z|{|{{{zzzyzz{{{z|{|{z{z{z{zzyz{{{{{{{zzzzzz{yz{|{|{||{zz{{z{z{{{|{|}|{z{{zz{|z|{|{{|}{{{zzzz{|{{{||{|{z{|{{{z{}{{{|{|{z{z|{|z{|{|{{|}|{{|{{{{{||||||{{{||{{{{|||||}|{||z{|{|{}}{||{|||{{|{z{z|{|}||||{z{|{{zz{|||||}||{{{{||{|}||||}{|{||{{|{||||||}|}||{{{{{|||{||||{{{{|{{{{||}|||}|{{||{z{{|||||}|{{{z{{{{{|||||}|||{{{{{z|{{|{||{{|{z{{{{z||}{{|{zzz|zz|{zz{{{{||{|{{z{zz{z{z||{{|{{z{{zz{{z{{{||{{{{y{z{{{|||{z{{{{zz{zz|{{{{{|{{z{{|{{y}|{z{z{{zzz{zyzz{{|{z{|{{{zyz{{{{{{z{|z|{{y{zzzz{{{{z|{{zz{zyzyz{{{{{{|{z{{zz{z{z{|{{|{{z{zz{{|{z{z{{z{z{{z{zz{z{z{zz|{z{{{z{z{z{zz||{{{|zz{{{z{{||z{{{{{z|zzy|{{|{{{{|{{|zzzz{{|{{|{|||z{{{zz{z{||z|{{{{{{{{zzz{{{||{||}z{{z{z{|}{|z|{{{zz{|{{{{{|{||||zz{z|||{{||}|{{|z{{z{{z{||||{||{||{||{|{{{{|||{||{{{{{||{|{||{|}||{{{|{{{}}{|}|{||{|{{||{||}{|||{{{{{{z||{z{{|}|{{|||{z{|{{|||||{{z{|{{{{}||{{{}{{{z{{{{{{{|{||||||{{{{z|{{||{|{z{zyyzz{|{{{||z{{{{{z{zz{{{{{|{|{{zyzzz{{zz|{{||{{zz{zzz{|||z{|{zzzzzy{y{{{{{{|{zy{{y{yzz|{{z{{||zzzzzzz{{{|z|z|||zyz{y{{z{{{{|{zzzz{z{z{{{{z{zzz{zzzy{zz{{{{{|{z{yzyzzzz{{{zz{{{zyzzz{y{{zzz{{{{zzz{zzz{{{||{{{{z{{zzzz{{{z{{||{zz{{{{{|{|{{{{|{zzzzz{z|{{{{{||z{{{z{{{{{{{|||{|{{zz{z{{||{{{||{{zz{{z{|{{|{{}{{zz{{|z{{{{|z|{z|{{{|{|{{{{}|}z|{{{z|{{|{||z{|||{{{z{z{z{||||{|{|{{{{{|{||{|{||{{{{|z{{{{{|{|||||{{{z{z{{|||||||{{{{{{{{||||{|{||{{{|{z{||{{{{|{||||{{z{z||{{{|{{{{{{{{{{{{|{{||{{{{|z{{{|||{{|{|{z{zz{{|{{|{{{z|zzyzzz{z{{{{{||z{zzzyzz|z{{{{||{zzy|zzz|z{z|{{|{y{z{zzz{||{z{|{|z{z{zzz{{{|z{{|{{{zz|{z{{{{z{{{zz{z{yzz{{zzz{{{{{zzz{z{{{z{{|z{{z{zyzzzz{|{{{|{zzyzz{z{{{||{{{zz{zzzzz{z{{{{{|{{zzzzzzzz{|{z{|{|{zzzzzzzzz{{|{{z{z{|zzy{{{{z{{|zzz{zy{{{z{z{||{{{z{{z{{{z{{|{|||{{{z|z{|{{{{|{|{{|{{z{zz||{{{}{{{{{|{{y{|||{{{z|z{|{{{{{{|{{|z||z{{{{|{{|||{|}|{{{{{{z{{{{||||{|{z|zz{z|{|{|{{{|{zz{{|{|}|}|||}z{z{{|{{||{|{{{||{|{{{z{{|}||{|}|{{{{{{z|{}|{||||z{z|{{{{{{{||||||z{|{{|||{|||{{z{{|z{{{{{{{{|}|{{|{z{|z{|{|{{||z{z{{zzz{{||||{{z{yz{z{zz||{{z{|{{yz|z{z{{{z|{{||{z{z{z{zz{{{{{{{zzzzzyz{{{|z{{{{{{yzz{z{{{{{{{z{z{z{{zzz{{{{{|{{{{zyzzz{{{{z{{{{{zzzzz{{{{{{{{|zzzzzzz{{{z{{{|{{zzz{{yz{{{z{{{{zzz{y{zz{z|{{{{{zzz{zyzzz{|zz|{z|{{zzzzzz{zzz{{zzzzzz|z{{{{{z{{|{z{z{{{z{{zz{{||{{{{z{zz{z{{{|z{z{{y{{{z{{|{{|{z{|{{{zzz|{z|{||{{zzz{{{zz{||{||||zz{{z{{|{{{{{||{z{{z{{{{{z{{|{|{{|{|z|{{{{|||{}{{{{{zz{{|||{{|{{zz{|z|{{||||{||{|{{{{{{{}{{{|{||{{{||{{{|{{}|||{{{{{{{{||{{{||{{{{{{y{|{{|z|||||{{||z{{|{{||{||{z{zzz{z{{||||||{{{{{{|z{{{|{{{{z{z{{{z{{{{{{|{zz{zz{{{{zz|{z{{|{{zzzzz{z{{{|{||{z{{z{zy{{{|{{|{{{{{zzzz{{z{{{|{{{zy{{zz|{||||||{z|{{{{{z|{zz{{{{{z{{{zz{{{zz|{{zzzz{zzzz{{{z{{{zy{yzzzz{{{{z{{{{z{zzzzyz||z|{{{z{{zz{zz{{{{{|{{{{z{zzzz{|{{{||||z{y{{{zz{z{{{{{z{{z|zzz{{{{{{{||{zz{y{z||{z{{{{{{{zzzz{z{{{{z|}{z|{z{{{|z{{{||||{{{|{z{{{{|{{{{{{z{{{zz{{|{{z||{z{{z{z{{|{{|}{{|{|z|{z{|{|{||{{{||{{{|{{{{{{|||||{z|{{{{|{{|{|{|{{{|{{{||{{}||||{{{||{zz|{{|||}|{{z{|z|{}||{{|||{{{|z{{{||{{||||{{{{{||||{{||||||z|{|{z|||||{||{{{{{z{z{{|{{{||{|z{{z{{{|{|{||}|zz{{zz{{|z|z{{{{{{z{zzzzz|{|||{{zzzyzzzz{{{{|||{|z{{zzz{{{{{{|{{zzzy{zz{|||{{{{{{zzzz{z{{z}{zz{{{|z{z{{z{{z{{{{{z{z{zzz|z}z{{{{zz{zyzz{{{y{{{{{{{zz{zzzz{{z{{{{zzyzzzyzz{{z{|{|{z{zzzxyz{{{z{|{{yzyzy{zy{{z{{||zzzz{zyzz{z{z{{zz{zzz{zz{{{|z{{|{yz{{zzz{z{z{{|||z{zz{{{|{{{{|z{{|{zy{{{{{{{{{|{|{{{z{{zz{|{{}{||z{z{{{{|z|z{{{{z{{z{|{{||{{|||z{{{|z{{{{{|{{}}|z{{z{{z{||{|||||{{{{{{z{{||{{|{|{{z{{{|z|||{||||z|z{{{||{{|{||{|{{|{{|z{{}}||{{}{z|{|{{{{|||{||||{|{{|{{{{{|{}{|||z{{|y{z|{{||{||{{z{z|{{{|z{{|{|{{z{y{z{{|{{{{|{z|zzzzz|{||{{z|zzzzzz{{{{{{{{{|{{z{zyz{z{{{||{{zz{zzzzz{{|zz{{|{y{{z{zzz|{{{z||{{yy{yzz{{{{z{z|zzzz{zzz{{{{{{z{{yzyyz{{{{{z{{|zz{zyy{z{z{{{zz{{zzz{z{{zz{{{z{{{zz{{zzy{z{{|z|{z{{{zzz{zz{{{{{{{zzzzzz{zz{zz{z{zzz{zzz{zz{z{{{z{y{{{zz{z{z{z{{{|zzzz{zz|{|{z{{{||z{|zy{z{{{{|{|{zzz{{z{{{{{{||{z{{{zz{{zz{{{{}{{{{|{{{zz{{{|{{|||z{{{z{{|{|{{||{{zzz{|{z{{|||||{|{{{|{{|}{{||||}{{z{zz{{{||||{{||{{{{{{{||{|}{|{|{{{{||{|{|||||{|{{|{{zz|||||}||{z{{z{{|{|{{||}|{{{|{|{{|||{{{||{{z{{{{{{|{||{}|{z{{|{{z{{|{{|}|{|{z{z{|{{{||||{|{}zzz{{{{{{z|{{{z{z|{z{z{{{{{{{{zzz{{zz{{{{||{z{zzzzzzz|{{{{{|{{{zzz{zzz||{{{|z{zzzzz{zzzz|{{||{zzzzz{z{{{z{{{{{zz{zzz{|{|{{{{{z{{z{zy{{{{{{{{{{zzyzzzzy{z{|{}{zzy{{zzz{z{{{{{{{z{zzyzzz{{{{{{|{z{zyyzzy{{zz{{{{zzzzyyzz{{zz|{{{zz|{zzz{{{z{|||{z|z{{{z{{|z{{{{zz|{{{{yzz{{{{|{{{{{z{z{{||{{{{|z{{{zz{zz{||z||zz{{z{z{{{{|{|{{{|zzz{zz{{{{{|{{{|{zzz{|}||{{|{|{{|{{{||{{{}{{{|}{{{zz{zz{{{{||||{{{|{{{{{||{|{||{{{|{{{{|{{||{||||{{{|{z{|{}|||{{{{|{{{{|}|{{|{{|{z|{z{|||{||{||{|{z{|{|||{{|||||{{{zzzzz{||||}||{z{{{{{{{|}{{|{zz{z{{z{{{|{{|{{zzzzzz{zz{z{{{}{{{{{{{zzz{{{|{{{{zzz{zz{{|{{|}|{|zz{zzz{{{{{{{|z|zzzzzzz||{|{{{|z{z{zz|{z{z{|{{{{{z{zz{{|{|z{||z{zz{zzz{{{{z{|{}{{{{z{zz{{z{z{{{{zz{z{z{{{{|{||{zz{{z{{zz{{{|z{z{{zz{{{z{{{z{{z{{{{{{zyz{{{z{||{zzz{z{{{{{{|{|{{|{z{{z{{{|||{{|{{z|{z|{{{{|{{||{{{{z{{{z{{{|{||{zz{{{{{z|{||{{|{|{{{||{{{{||{||{|{{{zzz{{||{{|{|{{|{{|z{{{}}||||{{|{{{zz|{|||{}|{{|{z{z{{|z{{|}|{{zz{||{||{|||||{{|{{{{||{{{|}{|}z{|{{|{|||}|||||z{||{||||||{|||{{{{{||||||{||||}|{{|{{||{}||||}{||z{{{{{||{{|{{||{|{{{z||||{|||{||{{{{zz{|{{{{|{zzz{{zz{{{{|{{||zz{zyzz{|{{{||||{zz{zz{||z{||{|{{zz{{z{{{{z{{||{{zzz{zzz{||{z{|z{{yz{|{z|{{{|{{zzzz{{zz{{{|{|{|{{zzzzz{|{z|{|{|zzzzzzzz{{{{z{{{yz{zzzz|{{{{{{{||z{zzzy{{{{{{{|{{{z{{{z{zz{{{{{}{{zzzz{{{z{{{{|{{z{{{{yz|z|{|{{|{zzz{y{{{{{z{{|{{{{{zz{{|{|{||||{{z{{z{y{||{||}}{{|{{z{z{|{{|}|{|{z{||{z{||{|||||z{{{{{{|{|{{}||{|{z{{|{||{{|}||z{|{{{|{{{{|||{|{|{|{{z{|||||||||{z{{{{{|||||||}|{{{|{|{{||||{}|}z{||{|{{|{}|||{{|{{{{{|||}{{{}||{{|{|z|{|{|{||||{{|{{{|}|{|||||{{{{||{z|{{{|}|{{zyz{z{{{||{{|||{{{z{{{|{|{||z{{zzzz{zzzz{{{z{{{{{zzzzz{{{|{{|{{zz{{zz{z{{{{{{{{{{z{zz{z{{{{z{{{{{{z{zzz{z{{{|{{zzz{zy{z{{z{{z|zzz{zzzzz{{{z{{{zzz{z{zz{{zzzzzz{z{{yzzzz{{zz{{|z{yyzzzzzz{|z{{{{z{{zz{zzz{{zz{{{zyzz{zz{z{zz{{{{z{zy{zzzz{yz{{{zzz{{zzzzz{{zzz{z|z{z{zzy{{{{|{||{{z{z{zz{{{zz||{z{{z{zyz|{{|{|||{{{z{{{{z|{|||{{z{{z{{y{{{|z{||{{z|z{{{{|{|{{}{||zz{{z{{{{{||}||{{{{{{|{|{{{{|||||{{{{{{{|{|}{|||{z{{{{z|}{{|||||{{z{z{|{|||||}||{{z|{{{{}||{||||{{|zz{{|||{|||||{{{{{{{{{{{|{|||{z{||z{||||z|{{|{{z|{{z{{z||{|{{|{{{{{z{||{{|{{{zzzzzzz{{{{z|{{zy{z{zzz{{|{{{|||{yz{z{|{{{zz{{|{{{zzzxz|z{{|{||zz{z{{zz{{|{{{{{|z{y{{{z{|{{{{||zz{{zz{z{{{zz{{zzzyz{zyy{{|{{z{|z{zzz{zzzz{z{{{|z{z{zz{y{{{{{{|{zz{z{zz{{z|z{{{{zy{z{z{zz{{{z{|zzz{zzzzzzz{zz{{{{z{{{{zzz{z|{{|||zzz{{zz{z{||z||{z{zzz{z{|{{{{||{{z{zz{z{{{|z{{|{z{z{{{z{{{|{|||{{{{{{{{{{z{{|{{{{z{zzz{{{z|{||{{z{{{{{{{|{|{{||z{zz{{{|{||||{{{z{{z{{|{|||{|||||{{|{z{{|||{{{{{{{z||{|{|||{{|||{{{|z|{|{{||{|||||{{{{|{|}{{||{|{{{z{{{{|{||{|||{{{{{z{{z}}|||||{{z|{|z{{|||{|{||{{z|{zz{||{{}|{{{{{zz{z|{|{||{{{{|zzzyz{{z{{{z{{{zz{y{z{{|{zy|{zy{zzzzy{{{{{|{|zz{zz{yz{{{{{|{{{z{z{z{{{{|zz{|{z{{{zy{z|{{z{{|{|{{zzzzz{{|{z{{|{{{zzz{zz{{{z{{{z{zzz{{zz{{{z{{|{zzz{zyzz{{{{z{z{z{zz{{zzzz{{|{{zzz{yzzzzzz{{{{|zyzzzzzzz{z{|z{{{{zzz{zz{|z|{z|{zzzz{{z{{{||{{}|{z{z{z{|z{{{|{||zzz{zz{z{|z{{|||{{z{{{{{{{||{{{{{{{{{z|zz|{{|||zz{{|{{zz{|{{{|}|{zz|{{{{||{{{|z{{||{z{{{{{|}||||z|{{||{{{|||z}||{{{{z{{{{||||{{||{{||{{{{|||}{||{z{{{{|||{{|||{}|{{{{{z|{||}||||{{{|{{{{|||{|}|||{|{{{z{{{{|{|{|{|{{zz{{{||{}|{{{{{{{zzz{{|}||||{{{z{{{{{|{|{{|{{{zz{z{z{{|{|{{{{{{{z{zz{|{{z{{|{z{{{{z{{z{{}{{|{{|zz{{z{{|{{~{|{{{z{zzzz||zz||{{{{{zz{zz{{||{{{zz{zy{zz{{|{{{|zz{{z{{yz{{z{z{{{{z{{zz|{z{{{{|{{z{z{zy{z{{{{z{|{{zz{y{zz{|{{|{{z{z|{{{z{{{zz|{{|zzzzzz{{z{z{{{{{{{{z{|z{{z{||{{zzy{yzz{z{|{{|{{||zzzzyz{{{{|{||{|zz{zz{{|{|||{||{{{{z{{|{{{{|}{|{zz{|{{{{{||{{{||{|z{{zz|||{}|{{{{{{{{{{{||||||{|zz{{{{||{{|||||z|{|{{{{|}|}{{|}|z{{z{{{{||||{}{|{{{{|{|{||||||}{{{|{{|{{||||}{|}zz{{{z{{}{|{}{|{||||{{{|{{|||}||{|{{{{|{|{{|{||{{|{{{|{{{{|||||z{{||{{{{{{|{|{{{{{{{{{{{{||{|}{|{{z{yz{|{|{{||{{{zzz{zz{|{{z{{{z|z{{zz{||{{|z||{{zzz{y{{z{y{{|{{{zyzyz{z||{{{{{|zzzzzzz{{{z{{{{{z{{z{zzz{{zz{|{z{{zyz{zz{{{{z|z{zy{zzzz{z{|z|{{{zzzzz{zyzz{{{{{zzzz{{zyz{{zzzzzzz{{yyzyz{z{{{{|{zzz{yzyz{zzz{{{{zzzzzzzzz{z{{{{zz{z{{zzz|{{{||{{{z{zzzz|{{{{{{|{{{zzy{z{{z{{{||{|{{{zzz{|{z{{{|{z{{z{zyz|{{{}z{{{{z{{{z{|{|{{|{{z{{{{{{||{{{|{{{z{z{|zz{|}|{{}|{{{{z{{{||{{|{{|{z{z{zzz|{{||}{{|z{{{{|{|{{{}|||{|{z{|{|{|||{|||{{z|{|{{{||{||{|z{{{{{{{{||||||{|{{{{{{{{|||||{||{{{|{{{{{{{||{|{{{{|{y{{{|{{||||{{{z{zzz{||{{{y{{{yzy{zz{{|{{{{{{zy{zzz{{|z{{{{{zzz{y{z{{{z{{{{{yzyzzyz{|{{{|||{zzzzzy{zz{{z|{|{zzyzzzy{{{{zz{{zz{zzzzz{|z{z{|{{zz|z{zz{|zz{{{zzyzzzzzzyzy{z{z{zyzzzz{z{{{{{{||{zzzzyzz{{{|{zz{zy{zzyyzz|zz{{|{{zz{zzzyz{{z{{{{|zzzy{{yzzzzz{|{{z{{zyzzz{z{{{{z{zzzzzzzzz|||z{{{zzz{y{{{|{z{{||zzzz{{z|{z|||{||{z{{{yzz{|{{|{{{{zz|{{zz{|{{{{||{z{{z|z{{|{{{{|{{z{{|{{{{||{|||{{{{zz{{{{|{||{}|{y{{{y{{{{|{{|||{{{z{{{{{|{|||{{|{|{zz{|{{{||{{|{z|{z|{{{{|||||{|{{{{zz{||{{{{|{}z{zz{{{{{||||{|{{|{{{{{|{{{{{|||{{{{{{z{|{z|{|{z{{z{z{{{{{{{||{{{{zz{{z|{{{{z{|{zzzzyzz{{{{{{z|{zzzzzz{{z|{|{{{{z{zzz{{|{zz|z{{zzzz{zz{z{z|z{{{z{yzz{zzz{|{{{{|{{{yzz{yz{|z{{z|y{{z{z{z|{{{z{{zz{zzz{y{z{{{{{z{yyzzzyzz{z{{z{{z{z{z{zzzzz|zz|{{{z{{zzz{z{{z{{|{xz{zzz{yzz{zz|{{zz{zzzzz{{zz{{|{{zz{{{{z{z{{{{{{{{zzzzzzz{{{|{{{|{{z{z{{{{{{{{{{zz{z{z{z{{|{z{{|z{{{zz{z{{{z|{{{|{zz{zzzz{|{{{{{{zzzz{z{{{|{{{z|z{{zz{z|{{{||||{zz{{{{|z{||||}|||zzz{zz{{{|{{||||{{z||{||||{}{||{|{{{|{{{|||}||{{z||z{{{||{{|{|}{{{{z{|{||{|{|||{{|{{{{{{|{{z|||{{{{|{z||||{{|{{|zzz{{{{|||{{}{|{{z{z{zz{}{{{{{{{{|{z{{zz|{|{{{|z{|zz|zzz{{{{z{{{{|{zzz{|{{{|{{|{{{z{y{{{{{z{||{|{{zz{z{|z|{{{||zz{zy{{z{z{{z{{{{z{{z{{zz|{{z{{{zz{z{{zzzz|{z}{z{zz{{zzzz{{y{{{|zz{zzz{{{z{zz{{{{{zz{zzzz{{|||{|{zzzz{{zz{||{{{{zzzzz{{{{zzz{|{{{|zzz{zz{{{z{{{{z{{z{|{yz{{z{{{{{{zzzz{z{|}{||{|z{{z{{zz{{{||}{|{{zzyz{{{||||{||{z{{{zzz{|{{{||{|{{{{{{{{|||{{|{{z{{{z{z||{||{}|z{{{{{{{{|{|{||{{|{z{{|{{{{|||||{{{|{|{{{{|}}{|||z|{{{|{{{||{|||{{||{z{|{||{|}|||{{{z|{{{||||}||{{|||{z{{|}|}||||{{{|{{{{{||||}||{|z{{{|{}{|||{}{{{{|{{{{{{{|{||{{{{{{{{{|{|{{{{{zz{zzz{{{{|{|{{z{zyz{z{{{{{z{||z{zz{zzy{||z{||{{{{zzz{z{zzz{{{|z{{zzyzzz{{{z{|||{{zzzzyzz|{z{{|{zzzz{{z{|z{{|{z{zzzzzz{z{{{z{{z{{zyz{zz{z{{{|{|zzzzyyz{z{|{z||{|zzzz{zzzzz{{{{|{z{z{{zzz{{{{z{|{{y{zzzyz{{{|||{z{zzzzy{{{}{{{{{{{|{z{{z|{|{{{{{zzz{zz{{z{||zz{}z{{z{z{{|{{{{||zz{{{zzzz{{{|{|}{z{{{{z{{|{{{{{|{z{{{{{{z|{|{}{|{{{{z{{{|{{|{||{{{{{{|{z{{{}z||||{{z{{{{{|{{||{||{|z{zz|{{|||{|{|{{{{{||{||{{{|}~|z|{{{{{z|{|||||}{{|{|z|{||}|{~}}|||{{|{{||||}{{|z{{|{{{{{|z|||||{{{{{{{{||||||||{{{{{|{||{|{{|||{z{{{{{{|}{|||{{z{{zzz{|{z{{|{{z{z{zz{zz{{{{{{|{{{zz{zz|{{{|}|||{z{{zzz{{z{{|{{{zz{{{z{{{yz{{|{zzzz{z{zz|{{{|z|{z{z{{{zz{{z{{{{{z{y{{z{|{|{z{{{z{{z{{{y{z|{zz{{{{{{{{y{z{{{{{||{zz{z{zz{||{{|||zzzzzzzyz{{{z{||zzz{z{zzz{{zz{{{{{{yzy{zz{{{{{{{z{z|z{yz|{{zz{|{{{{zzz{{{|||{{{||zzzzzz{{{{{{|{|{z{z{z{{{z{||||{z{{{{z{{{|{||{|{|zz{{zzz{||||{{|{{{{{{z{{||{||||{{{|zz{{|||{||}{{{{z{{{z||{}||}{|{{||{{{||}|{|||}{{|{{|{}|}||{|}{|{{z{}{|||}|}||{{|{z|z{|}|}{{{|{{{|{{{z{{|}|||||zzz{|{|{||||||||{{{{{{{||{||{|{{{|{|}z{||{|}|||{|{{{{{z{|{}|{|{|{zzz{{z{{}|{{z|{z{xzz{yz{{z{{{{{z{yzzzz{|{zz|||{zz{zyzy|{{{{{{{{y{zzzz||{{{{{{|{zzyyzzz{{{{{{{{zz{{z{zz{zzzzz|z{{zzzzz{{{{z|{{z{zyyzzzzzz{{{{z{zzz{zyz{z{zz|z{{{y{zyyzz{{zz{|{{zzyzzzzzz{{{{{{{{zz{zzyyz{{zz{{{{z{zzzzy{{{zz{{{zz{zz{zzz{{{{{|{zz{z{z{zzz{z{{||{z{zyz{z{{z{z||{zzz|zzzz{z||{{|{{{||{{{z{{{{|||{{z{zz{{{{|{{{{{{{|{{{{{z{|{{|||{{zzy{|z{|{||||{|{{{{{z|{|||{|{|}{z{{z{zz{|{||{{{{{{{{{{||||||||{|{|{|{z{{{|{||||{|{{{|{{{}}|{||}|{|{z{{||||{{||}{{{|{|{z|{|{|||||{z{{{|{{|{|{{{|{|{z{{{|{{||{{{|z{{{z|{z{z{|{|{|{{{z{zzzz{{||{{{yy{zzyz{z{z{{{|{{zzzzzzz{z{|{{z|zzzzy{z{z{|{|{{{|z|z{yy{{{{{{{z|zz{z{{{yz|{{{{z{{zz{{{zzz{{{{{{{zzzzzzz{{{{zz|z{zz|yyzzz{{{{zz{{zz{yzy{zzy{{{{{{{zzz{zzzz|{{|{{||zz|zz{z||{{{{||{zyzzzzzzz{zy{{{{zzy{zzz{{|{zz|{{zzzzzzyz|{{{{{{{yzz{{z{{{{{{{||{{z{{{{{z{|{{|{|{{z{zz{z{{{{{{{{{{{z{{{{||{{{|{z{z{zzzz{z||{|{{z|{{{{{yz|}{{{||||{{{{zzy{||||{||{{{{{{|{||{|{{|{|{{{{zz{{|{{{{|||{z{|{{{|||{|}|{|{{{z{|{z||{|||||{||{|{{{|{{||}||{|{{z|{|z|{{{{}|z{{|{{{{{|||z{{|z{{{{z{{{||||||{{|{{{z{{{z|{||{{z{{|z{{{{z|{||{{z{{z{{z{{{zz{{{z{z{{zzz{|{{{|{{z{{{{{yz{{{z{{{{{{{zzzzzz|{|{z{{{zzz{zzz|{{{{z{{{z|y{{{z}|{|zz{{{|zzy{{zz{|z{z{{{z{z{{zz{{z{{{z{zz{zzz{yz{z|{{{z{z{z{zz{{{{{{{|{{{zzz{zz{{{{{{z{{{yzzzzz{{|zz{|{{{{{zyzz{{z{{z}z{{{z{yzz{{{zzz||z{{zzz{zz||{z{{|{zzz{z{z{||{{{{|z{z{z|z{{|{{|{||{z{{z{{z{{|{{{||{{{z|{{{|{{}{{|{{{||z{{{{{|{|{{{{{z{{{{{{{|{{{||{z{z{|{{{{{|}||{{{||{{|{|{||||}|||{{z{{{{z|z{{}|{{{{{{|z||||{}{}{{|z{|{{}|||{|||||{{|{{z{}|||{|||{{z{{z{|{|{{|}{}{{{{{z{{z{|{{|}{{z{{z{||{z}|{{}|{|zy{{{{{{|{|||{{z{|{{|{}{||{{|{{z{{{z{z|{||{{zzzzzyzzz{{{z||z{{zzz{yyz{{|{{|||zz{yz{z{|{|z{{{{{zzzz{z{zz{|{{{{{z{{yzzzz{{z{{|{{zyzz{{zz{z{z}|z{y{{zzzzzz{{{{z{z{zzzzzz{{{{{{{{zzzyzyzzz{{{{z{zzzzzzzzz{{{z{{z{zy{zzz{z{z{{{{||z{x{z{{{{{z|zz{{{zzz{zzz{{y{{|}{{yzzz{zz{|{{|{{{{z{{zz|{{{z{z{{|{z{z{{{z{{z{{{{{zzzzzzzz{|{{{z{{{{{zzz{zzzz{{{{{{{{{zz{zz|{{{{{{{y{{{zzz|{{|||{|y{z{|{{{z|{{z{|{{|{z{|{{{|{|{|||{z{{z{zz|{|{{|||{z{||{|{||{{||{|z{|{|{{|{{{|}|{||{|{z|{{|}{|{|{{|z{{{z{{{{|||||{{{z{zz{{{|{|{|}|{{{z{{{{||{{||}}z{{z{z{{{||{||{|{{zzzz{|{|||z{|{{{{zzzzz{{zzz{z{zy{{{{zz{{{zz{{{{zzz{zzz{{zz{|z|{zzyzzyz{zz{{{{|zz{zzzyzz||{{z|{zz{yz{zz{{z{{{z|zzzzzzzzzzz{{|{{{z{yzzzzz{z{y{{{zy{zy{zz{z{zz{z{yzzzzzzyy{{zzz|z{zzzyzzz{{{{{{z{zzzzyzzzz{{zzz{{zz{zz{zzz{{z{{{{zz{z{zz{{{zz||z{zzzzzzzy{zz{{z{{zz{y{zz{{z{{{{{|{y|zzz|z{{|{z|{{zz{zzzzz{{|{z{{{{{zyzyzz{{{{zz|{{z{{z{z{|||{{||{{z{{zzz{{{{{z{{z{{{z{{{{{{{{||{{y{z{{|z{{{||{{||zz{zzzzz{{{||{{{{z|||{{{{{{|{|||{{z{z{{|{{{{z}{}{|{{{{{|{|{|{|{||zz|{zz{}{|{{|{{|{{z|{{{|{{{|{{|{{{{z{{{|z{{||||{|{zzz{{{{{{z{|||{zz{{zz{|{{{z{{{z{yzy{z{z{{{{|{zz{z|{{zz|{{{z|zyz{zzz{z{{{zz|{|z{zy{zyzzzz{{{|z|{zzzzyyzz{{{{|{z{zz{zyz{z||z{z{{z{z{z{zzz{z|{|z{{z{zzzzzz{zz{|{{zzzyzzzzzzz{zz{y{zz{{zz{zzz|{zz{zzyzzyzzz{{z{{{{zz{yzzzz{{|zz{{{zzz{zzy{z{|z{z{z{{z{z{yzz{{z{{{{z{zzzzzz|{{{{{{zzzz{{zyzz{z{||{{z{zzzzz{{{{{{||{{{{{yz{z{zy{{||{{{z{zzzzz{{{z|{{zzz{{zzz||{||{{z{{{z{{{|||{{{{|{{z{{{zz{|||||{{z{z{{|{||z{{{{||{z{{zz{{||{{{{{{|{z{{{z{||{{{||||{{{z||z{{{|||}||{{|z{|{{||||}|{|{{{|{{z{{{{{{||{z{{{{{|{{||||{|{z{{zz{{{{{{|}{|z{{|{{zz{|{|{||||{zz|{{y{{{|||{{{z{z{{{zz|{z{z{{zzzy{zzzz{{{{y{{|zzz{z|z{{{{{{{|zzyzz{{zz{{{|{{|z{z{zzyzz|z{zz{{{y{y{{zzyy|z|{z|z{zzzzzy{{zy{|{{{zzzz{z{{z{zz{zz{zzzzzy{{yyzzz{{zzzy{zzzz{{zzz{z{zyzyyzzy{{z{|{zz{yzyzzy{{|z{z{|zyz{zyzzzz{z{{{z{{yz{yzy{{{{{{{|{{zzz|zzz{{{{{z{zz{z{zz{{{{{{{{{{zz{zzzz{{{zz{z|{{zzzzzz{{{{{|||zz{{{z{zz{{||z{|{z{zz{z{{{{{{|{{zz{{{zz{|{||{|{|{z{{z{z{{{|{|{{|zz{z{{{{{{{{{|||zz{zz{zzz||{{{{||{z{{{{z{|{{|||{{zz{{{|z||{|{|{||z||y{z|{|||||{|{{{z{z{{{{||{||{|z{{zz|{z{{|{{{|{{{||{zz{{|{|{||{{{y{{{{{z{{{{|{|{{z|{{{||{|z{|{zz{zzzzz{{{z{z{{{zzz{zzyz{{{{z||{zzzzyy{{{{{{{{{{{z|zzz{{|{z{{|{{z{zzyzz{{|{z{{{{{yzzzzz{zzz{{z{{{zzzzzzz{z{{{{{}z{{z{{zz{{z{{{|{zzyzzzzzyz{{{z|{yz{{z{zz{{{{{{{{z{zz{zzz{{{{{{{zzzzyz{zz{|{{z{{zzzzzyzzzz{z{{|{z{{yzzzyz{z{{{{{zz{z{{yz{zz{{{|{zzz{zz{{{{|zz{{||{{{zz{z{{z{{{||{{{zyz{z|z{{{{{{zzz{zy{{z{{{{{{{{zz{zzz{|{|{{{|{{z{{z{zz{{{{|}||{{{{{{zz||{{}|||{{z{|{|{{|{||||{|z{{{|{{||{{}|{|{{||||{{|||||{||z}|{{{{|{{|}||||{z{|{|{{{||{|}|||{{{{z{{||{|||||}|{{|{zz|{|{{||{|{{{|{z{{|{{{|||{{{{{{{zz{|{{|||{z{{{z{zz|{{{{{{{{{zzz{{{|||{{z{z{zyyz{z{{|{{{{{z{{{zzyzz{{{z{|{{zzzz{{z{zz{{|{|{z{z{zz{{z{{{{{{z{{zzzz{{{|{{|{{{{zzzzzz{{zz{z{{z{{zzzzz{{{{z|{zzzzzzzz{{{zz{{z{zz{zyzy{{{{zz|{yzzz{zzz{z{{y{{|{{yz{zzzy{{||{{|||{y{{zzy{z{z{{||{{z{zyzz{zz{z|{{zz{zzzyzzzz{z|{{{zzz{{zz{{{{{||{{|{zz{z|{{{|{|z|z{z|z{{{{{{{|}||{{{z{z{{z{{|{|{{{{{z{zzz{{||{{{||{{{{{z{{||{||{{||{z{z{z{{|||||}z|{{{z||{|{|{||}{|{{{{{{{||{|||||{{{{z|||{||{}|||{{{{{|{{|{{|}|||{z{z|{|{}}{{||z{{|{z{{{{|{|||}||{{{{z|{|{||{|{}{{{{|{{|}{{||||{{|{z{{zzz|{{{||{{zz{{{{zz{|{z{|{{z|{zzzz{{{|{{z{z{zzyzzz{|{{z{z|{{{zzz{z{y{{{{|{{z{zz{{z{|z{{||{{z{zzzzzz|{{z{{|zz{{zzzz{{zz{{|{zzzzzz{{z{z{zz||z{|z{zyz{{|{{|{{z{zzzzzz{zz{{{{{zzzyzz{z{{|z{{{z{yzzz{xzzz{z|||{zzzzy{z{z{z{{{{{{{zzzyzy{z{{zzz{z{yyyyz{{{{z{{|{zz{z{zyz{{{{z{{{{zz{{zzzz{z{|{|{{{zzzz{z|{{|{||}z{{zz{{{{{{{z{{|{{{zzz{z{{{|||{zzz{{{{{{{||{{z{{z|{{{{zz{{|{{|{||{{{{z{|z{|{{{||{{{{{z{|||{}{|||{{{|{z{z{{{{{|||{z|{zzz|{||{{{||{{z{{{{{{{{|}|||||z{z|{{z||||{|{{{|{{z{{{{{{{{{{{zy{{|{{{|{|||||{{{{{z{|{{|||||}{|{z|{{{{|{{|{|{{zz{z{z{{|{z{{||{zzz{zz{{{|z{|z{{zyzzz{zz{|zz{z|zzz{z{yz{{{{{{|{{zz{zzzy{{{{{{|{{{z{zzzz{{{{{{{|{zzzz{zyz{{{z{{{{y{yz{zzz|zzz{{{|zzy{zzzzz{{{{{{zz{zyzzz{zz{zz{|yz{zzzzz{z|{{z|{zzyzyzz{zzz{{y{zzzzzzyzz{{{z{{zz{z{{zzzzzz{zzz{zz{{y{zzz{|{{z|{{yzz{zzzzzz{{{z{{{zzzzzzz{{{z{|||{zzz{z{{{{{{|{{{zz{y{z|{{||{{{{{||z{zyzz{z{{|{z{{{zz{z{z{{{{{{{{{{{z|zz{z{{{{|{{{zz|z|{z{|{|{z|z{{{z{|{{{{|}{|||{{{z{{z{{{{|{||{zy{z{{|{||||{|}|{{|zz{||||{{|||}|{{z|{{{z|||||||{{||{{{{|{|||||{{|zz{z{{|{{|{|{}|z{{z|{{{{{z{||{{{zzzz{{{{{{|||||{z{z{{z{||{{{{{{z{z{{{z{{{|z{{{zzzzzzzzzz{{{{{{{y{zz{z{z{z{{{||zzzzz{{{zzzz{||{{z{{{{zz{z{{z|{|{zzzzyzz{{|z{{||z{zz{{zzz|{{{{z{{zzz{{zz{z|{{{{{z{{zy{zz{{zzz{z|{zzzzzzzzz{{{{{{{{zyz{yyz{{z{z|{{z{zzzzzz{|{{{{{z{zzzzzzzz{z{{{{{{{zzz{zzzz{z{{z{{{zzzzz{z{{{{}{{z{zzzzyz{{{{|{{{{{{{z{z|z{z|{{{{{{{zzzz{{||{{{{{{{z{z{zz{|{{{|{{z{zzyz{{|{{{|}|z{{{{{zz{{|{{|{|{z{|{|zz{}|||{||{{{z{{|z{|||{{|{{{{z{{z{|{}{||{||{zzz|{z{}{||{{|{{{{{{|{||||||}{|{{{|zzz{}|{||}|{z{{{{{{{||}{|||{z{{{{z|||{|||||{{{{|z{{}|{|{{||{{{{zzz{{{|{{{|||{{{z{{{{|||{{{{{{{{{{{{{|{|{{|{{zzzyz{z{z{{||{{yzy{{zzz{z{{{|||{z{zzzzz{y{z{{{{zzzzzyz{{{{z{z{{{z{zz{{zzz{{y{{|zz{zz{{z{{zz{{zz{{zzzzz{z{{z{{{{zzzz{zy{{z{zzz{{zyzyz{zz{z{{{{{zzzzyy{zz{z{{{|{{{{{zy{zz{zz{zz{{{zzzz{zxzzz{{{z|{{zzyzzzz{{z{{{{{{{z{z{zz{z|{{{{{{zzzz{{{{z{z{||zz{zzzz{{|||{z||z{{zzz{z||{{{z{|{z{{{zz{z||{{{{||{{{{{{z|||{{{|z{{z{{{z{{{z{{{{{{z{{{{{{|{||z|{|{{zz{z{||{{|{||}{z{z{{z{{{|{||||{{z{{y{{|||{|||{z{z{z{||{{|{||{{{{|{{{zz||{|}{||{{{{{{{{||||{{z|{{{z{{z{{|{||{{||{z{{{{{{|||||||{|{{|z{||{{|||||{z{{{z{{{|{||{{{{zzzzz{{{{|z|{|{yzzzyz{{z{z{{{{{zz{z{zzzz{z|z{||zzyzz{zy{z{{{z{zzzzzzzzy{{zz{{z{zzzz{zzz{{||z{{{zyyzz{yyz{z{{{z{{z{z{zyyz{{zz{z{yzzyz{zz{yz{{{z{zyzzyyzz{{|zz{{zz{zzyzy{z{{z{{{z{{zyzzzyz{z{{z{{{zzyzyzzz{zz{{{{{yzzzy{y{{z{{||{{yzz{z{zzz{{{{{{{zyyzyzzz{z{{zz{{{zzzzzz{{{{{{|zzz{{{{zz{{{{{{|{{z{z{zyzz{{|{zz{{zzzzzzz{{{{{{{|zz{{{{|{{{|zz{|z{{zz{z{{{{{{||||{zzz{{z{{{|{|{||z{{{{zyz{{{{|{|{|{{{{zzz||{|{{|}{{z|{{|{{{{||||||z{{{zz{{|{||{||zz{{{{{{{||{{{{{{z{{{{{zz|{||||||z{{{{{||||{{{||{{{z{{{{{||{{{||{{z{zzzz{{{{|{{|{z{{zzzzz|{z{{z{zzzzyzzz{{|{|z{z{zzzzzzyz{z{{{z|{z{zyz{z{{zz|{{z{zzz{z{zz{{{{{z{{zzzyz{zz{z|{{z|{y{zzzzzz{{{z{{z{z{y{zzz{{{{{z{zzzzz{z{zzzz{z{zzzzzzzyzzz{{z{{{z{zzzzzyzzz{z{{{{{{zzzzzyz{z{{z{zz{y{yx{yzz{z{{zz{z{zz{zzz{{z{{{|{yzz{{zz{{{{{{{zzzzz|zyz{|{{{{{{z{z{{z{yz{{{{{{|{{zyzz{z{{|{z{{{zzzz{z{z{{{{{{|{{{{yzzzz||{{zz{{{z{{{zzz{|{{z|{{{|z{{z{z{||||{|{{{zz{zz{{|||{|||{{{{{{{{|{{|}|{{|{{{|z{zz{|{{||{{{|z|{{{{||{|{|{{{z{zz{z{{{||{}{{z{{zz{{{{{{{|{|{z{{{{{{|{{{||||{{z|{{{{|{|}|||}{{zz{{zz{z{{{||||zz{{{{z||{|{{|{z{{yzzzz{{|{zy{zzzzzz{yy{z|{z{{|{{z{z{zz|z{{{||{{{{z|{{{{{{z{{{||z{zzzzzz{|{|z{{{z{zz{{y|z{{{{{|{{zyzzzy{{z{zz{{zy{yyzzzzz{z|{{{zzzyzzzzzyz|zz{{{zzyzzzz{{z{{{{y{{{zz{z{{z{{{{z{z{{zyzz{{zz{{{|{{zzzzz{zz{{{{{z{{z{z{zzzz{z|z{{{zyzzzzzy{{{{{{{{{zy{{zz{z{zz{{||zz{zz{zz{{z|z|{|{{{{z{{{z{{{|{|{{{zzzzzz{|{{{|{{{zy{zz{{{{{||{||{zzz{zz{|{|{{{|{|{{{{{{zz|||{||{z{{zzz{{{{{|{|||{{{{{{{z|}{}|}|||{|{zz{|{|{{|}|{{{{{z|{z||||||}}|z{|{|z{{|{|{|{|{z|{{zz||{||{|||{{|{{{{{|{{|z|}|{{{{|{{||}{{||{{{|{{{{|{z|{|||||{z{z{{zz{|{|{|||z{{z{z{z{|{{|{{{{{zyzzzz{{zz|z{zzzzzzzzz{{z{{{|{{{zzzyzyz{z|{|||{yz{zzz{{{{{z{{{{{yzz{z{{z{z{{z{{z{zz{zzz{{{{{z{{{zzzzzzzy{{{{{{{zzzzzyyz{{{z{{{zzyzyzzz{z{zz{{{zzzzzzzzzz{z{{{{zz{yzzzy{{z{{{{{z{zzzy{zyzzzz{z|{y{z{yzzz{{zz{{|{zz{zzy{{{{z{{{{|z|{zzzy{{{z{{||z{z{yz{z{z{{{|{{zz{{y{{z|z{{|||{{zzzzzzz{{{|{||{{{zz{z{{{{{{|||{{{{{z{{{{||z{}{|{|{{{{{{{|||{||{z{{{{z{{{{z||}{{{{{z{{zz{|{||{}||{zz{z{{|||{||||{{{{||{z{}{||||}|z|{z{{{z|{||}|}{z|{{{{{{{||{||||z{{{{{{{|{}|||{|{{{{{z{{|{|||||{{{{zz{z||{||||||{z{z{{z|{{z{{}{{{{zzz{z|{{{z{{|z{y{{{|{{|{{|{|{{{zyzzzz{{{{|{{z{{{z{{zz{z{{|{{{{y{zzzzz{z{{z{|{{y|z{{zz{{{{{{{{{yzzzz{z{|z{z{{{zz{{{yzz{z{zzz{{zzz{{{zy{zz{z{{{zzzz|yzzzz|zzz|zzzzzz{yzzz{zz{{{zzzyzz{zz{z{{z{{{{z{zzzzz{{{{|z|z{zz{yzzz{z{{{|{zz{z{zzz{{zz{z{{{yy{{zzz{{{{{{||{{{{y{z{{{|zz{{{z{zzzz{y{}||{{{{{{{{{zz{{|{{{{{{|yz{z{zz|||{{{||{{{zzy|z|||{{||{{{z|z{z|||||{}|{y{{{|z{{{{||{||}|{{zzz{{}||{|{|{|z{z{zz{||{{}|||{{{{z{zz{||}{|||}{|z{{zz{}|||{{|{z{||{{{||{|{{||{z{z{z{{||{|||||{{{{{{z{{}||{||||z{{{{zzz||{{|||{z{{{{zy{|{{{|z{{z{yzzzz{{{z{zz{{{{{zyzz{{{{||{|zzz{zzzz{{zz|{{{zzzz{{z{z{{{{{{{{{{zz{zzzz|zzz{{{z{zzzzy{{{|z{{|zyzzyz{zzz{z{{z{{{zzzz{{{z|zzz{{zyzzzzzz{{|{{{{{zzzzyzyzzzz{z{{{{z{zzzyzy{{{{{{{|zzzzzzyz|{{z{{|{{zyz{zz{z|yzz{{zzyzzzy{z{y{z{{|zz{yz{{z{{{z{|||zz{z{yz{{{z||{||{zzzzz{{{z{|z{{{zz|zy{zz{{|{{||{|z{z{z{{{|{||||{{|{zzzzy{|{{{||z{zz{{{{z{{{zz|{||{{{{z{z|{|{|||{z{|z{{{{||||{||{{|z{{z{{{||{|{{{|y{{{{zz|{|{|||||{{{{{{z{||{{{{{{{{|{{z{{|}|||{{}{{|{{{{|{|{{{{|{{zz{z|{{||||{|}{{{{{|z|}{|{{}||{{zz|{{{{{{||{||{|{{z{|z{||{{{|{{{zz{z{z{{zz{{{zz{zzzz{zz{{{{{{z{zz{zzxz{z{{{{{}{z{{z|zyzzz|z|||{zzzzzz{{{{{{{{{zz{zzy{zzz{{{z{{z{{zzz{y{|{y{{{z{z{z{zyyzz{zz|{{{zzz{zy{z{z{zz{{yzzzzzzz{{z{{|z{zzz{zzy{{{{zz{{{zzz{z{{{zzz{{{||{zzz{zyyzy{{{{{{{zzyzz{zz{z{z{{{zz{zz|zz{|z{{z|{z{zz{z{z{z|{z{{{z{z{z{{z|z|{{{{{zz|{{{zz{{{z||{{{z{{{z|{{{{{z|{{{{z{zzz{{|{{{|{{{{zz{{z{|{|{{{{}{z{{{{{{{{||z|||{||z{{{{{{{||||||{{{{{{{||}||||{{{z{{{z{{|||||{}{{{{{|z|{{{||||||z{z{|{{|}||z{||{{||{{{{||{|{|}|{{{{{{{{{|{|{|||{{{{|{z{|{{{{{{|{{{z{{{{z|z|{||{{{z{{{{z{{{{||||zz{zyz{z{{{z|{|{z{y{zzzz{z{{{{z{|{zz{yyz{{{{z}||z{zzzzzzzz{z{{{z{z|{zzz{z{{{{{zz{{zyyzzzzz{{zz{{zz{zzzzzz{zz{z{{z{{yzzz{{{{z{{{{zyzzzz{yzzzz{{{|zz{z{yzzzz{zz{{zzzzzyzyz{{{{{{{zzz{zzzzzz{{{z|||{zzz{zzyz{z{{{{{zzzzzzzzz|z{{|z{{{{zz{zzz|z{{z}{|{{{zx{{z{{|{z{{zzzzz{z{|{{{{{{{z{zz{{{{{{{{|z{{zzz{zzzzz|{|||{{z{z{{zzz{{{{z{|{|z{{z{{z|{{zz{{||z{{{{{z{{z|{{||zz{z|z|{||{|{||{|z{z{z{zz|||{{{{{y{z{{{z|{{|{|{|{{{{{{{{{|||{|{||{{{|{z{{|{||{|{|{{{{{{{{||{{}|{{{{{{{z{z{{{|z{{{|z{{z{||{{}||{{|{|z{{|z{{{{{||{{{{{{z{{{|{{{{|z{{{zzy{z|{{{{{{|zzz{zz{yz|{z{{|{{zz{{yzzzzzz{{{{{{zyz{{{|z{{{{{{zz{{zyz{{{z{{|{|z{{zzzzz{{{{zz{{{zzzz{{z{{{z{{{{{z{z{zz{|zz{{{z{z{zz{zzz|{{zzz{zzzzz{zzz{{z{z{z{zzzzzzzz{zzz{{{{{y{zzzzz{z|z{|{z{{zzzz{zz{z{z{z|{z{{{{zyzzzz{{{{{z{zzzzz{z{{{{{|{z{{z{zz{{z{{|{z{z{z{{z{{{{{z|z{{{|{{z{z{{|{{{{{{{{{{z{z{|{{{|||{{{z{zz{||||{{|{{{{{zzzz{{{{{|{|{z{{z{zz{|{{{|{{{|{{{{|||{||{||||{{{{|{{||{|||{{{{{{|{{z||}||{|{{{|{{{|z{|{{{|||{|{{{z{{{}|{||{{{|{z{{{{{}|{||{{{{{||{{{{z|{{{||{{{{{zz|{{{{{{{||{{{{{{z{{{{{{|{|zzzz{{{{|||{{|z{{{z{zzz{|{z{{{{{zzzzzzzz{{zz{{{yzy{{y{{{zz{{{||{zzzz{z{z{{z{z{{{zz{{z{zz{{{z{{z{z{zyzzyzz{{z{{{z{zyzzz{zz|{{{{zyzzzzzzy{{{yz{{{zz{yyz{z{zzz{{|{z{yz{zyzz{{{{|{{zzz{zzyz{{{z{{z{zzzzyy{zy{{{{z{|zzzyzyzyz{{zz{{{{z{zzzzyzzz{{{zzy{zyz{zzz{z{{{|{{{zzyzz{|z{{{{||yz{zzzz{z{{zz{z|yzzzzzz{{y{{||{{{{{{{zzzz{|{{|z{{{zzzzzy{{z{{{{{{{{z{{z{{{|zz|{{{{{{{{{z|{{{}|{{{{zz{{{{z{{|||{|{zz{zzz{{{|{{|{{{z{{{y{z|||{{{|{|zz{{|{{{||{{|{||{z{z{zz{|{|||{||{{z{z{z||z{{||{{{{{{z{{{||{|{|{|z{z{{z{|{{{{{|}{{z{zzz|{z|{{|{{{{zyzzzz|{{|{{{{z{zz{z{zz|{|{{yz{zzyyyyzzzz{zz{{zzzzzz{zz{{{z{{{z{zzzzzz{|zz{{{z{yzzzzyzzzz{{zz|zz{yzzzz{{{{z{{{zyzzzz{zz{{yz{{{{zzyzzzyzzz{z|z{{y{zzzz{zzzzz{zzyz{zzzzyz{{z{{{zzzyyzzyzz{{{{{{{zz{{zyzzzz{z{{|{{zzzyzzyzz{z{z{z{zyz{z{z{{{zzzz|yz{yzzzz{{z{{z{{{zzzzzyz{{{{x{{{{z{zzyz{z{{{{{zzz{z{zzz{{{{{{|{|zy{zzzzzzz||{{{{zz{zyz{z{{||zz{z{{z{zzz{{|||z|{{|z{z{{z{{{|{{|}|{{|z{{{zz{{|{{|{z{{zz{z|{{{{||{{{{z{z{{{|||{||{||z{{|{{{{{|}|||||{z{z{{z}||||{{{{zz{{{|z|{{|{||{|{{{{|z{|{|{{|||{zz{{|zz{{z{{{{|zzzz{z{{z{{{{{|{|{z|{{{{z{{|{{{{z{zzz{zz{{{|{|z{yzyzzyzyzz{zz{{{zzzzzzyz{zz{z|z{zzz{zzzz{zzz{{{{{zzzzzy{zz{zzz{|zzyy{z{y{z{zz|z{z{zz{zzzz{zzz{{zzzzyyzz{zz{yz{{zzzzzyz{zzzzzzzz{zz{yyyzzy{zzzz{zzyzyyzyz{z{z{{|{z{zzyzzz{{{{zz{{{zzzzzyzy{zyyz{{zy{yy{z{y{y{z{{zyyzyz{zyz{z{{{|{zzzyzzz{z{zz{{{{zyyy{zz{||{{||||zzzzzz{z{{z{{{|{{z{zzz{zz{{{{{|{{z{yz{{zzz{|zz}{{{z{yz{{{{{{z||{zz{zz{{z{{|{{{{{|{z{z{{{{{{}{{||{zz{{{zz|z|{{{{{|{z{{{zz|{{{{{||{{{{z{|{{|{{{|{||z{z{{z{{||||{{|{{z{{{z{|{{{{||||{z{{{{{|{{{z{||{zz{zz{{{{z{{{{|{z{{{z{z{|{{{|{|{z{{zzzz{||{{{||zzzzzzzzzz{{{{|zzzz{zz{{z{{{{{{|zzzz{zz{|{{z{|{{zzzz{{zz{{z{{{{|zyzzzzyz{{{|{||{zzzzzy{y{z{zz{{|{zy{zzzzy{{{{z{{{yyy{zyzy{{{y{{z{y{yy{z{{z|{z{|{zzzzzzzz{{|z{z{{{{yzzzz{z{{{{z|{{{zzzzzz{{z{z{{{{z{yzzz{zz{zzzz{{{z{{zyyz{{{z{{|{zzz{{z{{z{{{z{|zzz{z{{y{z|{{{|{{z{zzzzz{{{{||||{z{{{zzz{|z{z|}{{{{zzy{z{{z{{{|{{{{z{zzzz|{{{{{|{{{|{z{z{{}z{|{{{z{z{z{z{||||}{}z{zz{{|{{{|{{{{|{{{{{{{{||{{{||||zz{{z{z{|{{|{||{{{|{{{{||{|{||{{z{{z{|{{|{||}|||{{|{{{z||||{|{||z{z{{{{{|{{{||{{{||{{z{|{{{{|{||{zz{{{zz{|{{|||z{|z{{{{{{|{{{|{z{{z{{z{{{{z|{{{zzz{zzzy{{{{zz|{zzzzz{z{z{z{{{||{{{z{{z{|{zz{{{{{yzz{{{zz{z|z{{{{y{zz{zz{{zzz{z|{z{yz{zy{z|{{|{{zzzz{z{yzz{zzz{zzzzzyzzy{{{{{{{{{zzyzy{z{{zz{{{{z{zzzzzzz{{{{{y{zzzzzzzz{{zz{{{{zzzzyyzyzz{{{{|{zzzzyzzz{z{{z|{{{z{{{zz{z|{{{z{|{{zz{z{zzz{z{{|{{{zzzy|{{{{|{z{{z{zy{zzz{{{{z{{|z{{{zz{zz{{{{{z{{{{y{zyz{{|{{{|{{{z{{z{{{|{z{{{{|zzzz{z{{|||||||{{{|{{{{|{{|{|{|z{z{{zzz{{{|{||{|z|{z{z{|}|{||||{{{|z{{{{|{{||||{{{{|{||||{|{||||{|{{|z{{|{{{|{{|z{{z{{{{|{|||||{{{{{{z|{|{{||{||{zz{{z{{{{|||{{{|{{zzzzz{{{{{||z{{z{yyzz|{{|{z{z{zzzyyyz{{{z{{{zzzzzzzyz{|z{z{|{zzyzyzz{{z{{|||yz{zyzy{zz{|y{|{zyz{yz{y{{z|z{z}zyy{zyzyz{|zz{{zz{zzzzyzz{{zzzzy{yyz{{zzzzzz{{|{zzzzyzzz{{zz{{{zzzzyyyyz{z{{zzzzzz{zyyxyz{y{{z{yzzzy{zzyzzzzz{zz{z{zyz{zz{z{|{{zzz{yz{yy{{zz{z{{{yyy{yyzz{|{{z{{{zzzzzz{|{z{{{{{yz{zzzzz{{{z|{|{{{zz{zzzz{{|{||{{{zz{zzz{z{{z{|{{zz{zz{{{{{{{{{{z{{z|zzzz{{||||{z{{{zz{z{{{|{{{|{{|{{{zyz||{|{{{{zz{{{z{||{{{{{|z{||{{{{z{{{|||||{{{zzzz{|{{{{|{|z|{y{{{|||{|{z{zzz{z{{z{{{|{{||{{{{{{z{z{|z{|||{{{zzzzz{|{{{{{|{{zzzzzz{{{{{|{z{z{y{z{y{{{{{z|z{zz{zzzz{{|{{{{|zzzzz{zy|{{{{{|{{{zzzzzy|{z|{{{zz{zzzyz{zz{zz{{{{{{zzzzzzzzz{z{}z{z{{zzz{|z|z|{zzz{zzzzz{{{z{{{yzyzzz{zzz{{{{z||{{zzzz{zz{z{{{{z{z{zzzyzzzz|z{{}{z{{yyyz{{z{{z{{{{{z{{zz{{zz{zz}{z{z{zzy{zz{z|{zzzzyz{zz{zz{{z{z{{{{{{z{{{{z{|z{{zz{zz{{{{{|z{||{z{{zzz{z{{z|z||{zzz{{{z|{{|z{{||{{{{zzy|||{||||{{{{z{|z{{|{||||{{{|{{{{z{|}{}{|z{z{{{|z{{{||{{}|{{z{|{{||||{{||{z{z{zy{||{||||||{{|z{{{|{|{||{|{{{{{{{{{}||||||{{{|{{{z}||{|||{{{z{{{z{{{||{||{|{{{{zz||{{|{|||{|z{{{{z{{{{{{||{{z{z{{z|{{{z{{{{{|zzzz{z|{|{|{{zzzzzzzzzzz{{|zz{{z{{zz{{{{{{{z|z{{yz{z{z{|{||{{z{zzzzzz{{z{z{{{{z{zz{zz{{{z{{{zzz{zzz{zz{{{zz|z{zzy{y{z{|{zzz{{zz{{yzyz{{zzz{{zz{{{zzzzz{|{z{{zzzyzzyzy{{{zz{z|{{{yzyzzz{{z{{{{zzzzzyzzz{{yz{z{z{zyzyyyz{z{{|{{{y{zzzzz|{{{zz{z{{{yzy{zz{{z{{{{{z{{zz{z|{{{{||{z{{{z{{zz{|{{|||zzz{zyzzz{{{z{|{{{{{{{{{{{{{{{|{zzz{{z{z{|{{||{||{z{{{{{{{||{|||{z{{{{{{|{{{|}|{{{|{z{z{{{||}||||z{{zz{{||{{{{{||z{{z{{{{{{{|}{{|{{{{{{{{|{|{||}|{{{{{{{||||z{|{}z{{{{zz|{|{|{{|{z{{{{{|{|{{{z}{{{{z{{{{|{|{{{||{{{{{z{z{{{|{|{|{z{{{yzz{|z{|{{{zzzzzz{zzz{{{zz{{zzyz{zz{z{z{{z{|zzzzy{zzz{z{{z{zzyyyyzzz{{{z{z{{zzzzz{z{zz{zz{zzzzz{zzy{{{y|z{{zyyzzzzzzzzz{{{z{z{zz{{zzzz{z|{{zzzyzzzz{{zzz{{zzyzzyzzz{y{{{{{{z{z{yzzzyzz{{{{zz{yz{{yyz{{z{{{|{z{yzyzyz{{{z|z{{z{zzzyzz{|z|{{{{z{z{{{zz{{{{||{|yzzzzzyzz{{{{{{z{{{{zzy{{{zzz{{{z{zzz{{z|{||{zz{zz{{z{z{|{{z{{z{{{z{zyz|{|z{{{|{{|z{z|{{{|||{|{z|{z|{{{{|{|{|||{{{|zzyz{{|{|{|{|z{{{z{{||}|{|||{{zzz{{z{||{z{||{{{z{{{{|||{{||||{{|{|yz{{{{{|{{{zzzz{z{{||{|{||{{{{zz{z|{||||{}z{|{|{z{{|{{{{|{{{{zz{zz|{{{{||||z{zz{{yz{{{{{{{zzz{yz|yyzzzzz{{zzzyzzzzzy{{z{z{{zzzzzzy{y{z{{{z{yzzzzzz{zz{zz|{{y{zyzzy{z{zz{{zzzzzzzzzz{{|zzzz{yyzzzzyzz{zzzzzzy{zzzzzzzy{z{z{zyyyyzyzz|{|zz{z{zzzzyzzzz|z{{|{{zz{zzzz{{{{zz{|{zzyzzyzz{z{{{{zzzzzzzzzzz{z{||zyzzz{zz{{y{{z{{{{zzy{yzz{z{zzz{{zz{zzzzz{{{{{{{{{{yzyzzz{z{}{{{{{yzzzzzzy{||{{|zzzzzzzzz{|{z{{|{{z{zz{z{{{{{{{{{{{zzzz{z{|{|{||{z{{{{{z|{|{{||{{{z{zzz{y{{{{{{|z|z{{{zz{||||{{|||{{z{{{{{{{{{|{||z{{z|z{{|{{{{}||{z|{zzz{|{{{||||{{z{z{|{{{|{z||{|{{{z{{{{||{{z|z{{z{{z{{|{z{{||{{{zz{zzz|{z{{{{{z{zzz{{{|{{|{{{z{zzzzzzyzz{{|{{zzzzzzz{z{{{z|{{zzyzzz{zzzzz||{{{zz{zzzzzz{{zz{{z{zzy{zyz{|{z{z|zzz{zyzz{{{zz{|z{z{z{yzzz{{zzz|{{zyzzzyzzzzzzz{zyyyzzzzzzz{{zz{zzzyzyyz{z{{zzz{z{zzzz{zzzz{{{{{|{{zzyy{zzzzz{{{{{{zzzzzzzz{{z{{{zzz{{{zzz{z{{{|{{zzz{zyzz{|{{{{|{zzy{{zz{{|{zz{{zzzzz{zzz{{{{z}{z{zzzyzz{{{{{{{{{{{{{zz{z{{z{|{{zzz{z{{z{|{{{{{zz{{z{{zy|z||{|{{{{z{z{{{{{{{{{||{z{{z{zz|{|{|{|{|{{{|z{z||}{{|||{{{zz{}{{|{{||{|{{z{{{{{{}{||{|{|z{{z{{z||{|{{{{|{{z{{{z{z{{}||{{{{{{{zz{z{||{||{{{{zzz{z{{|||{{{{{zzz{y{||||{|{zz{yzz{zz{{{{{{{|{zz{yzzzzz{{|{{zzzz{yzz{{|{z}{{{{z{zzzzz{{z{{{|{z{{{zy{{{{{z{||{z{zzzzy{{{|{zz{z{zzzz{z{|{yz|{{z{{zzz{yz{zzz{zzz{{{z{y{z{z{{{z{z{zz{zy{yz{{z||{{y{zy{y{z{{z{{{z{{{{zzzz{|zzzz{{yy{zzz{z{z{z{{{|{zyzzz{zz{zzz{|{yz{zzzzzz{{{z|{{zzzyzzz{{{||{{{{{{{{zzzz{zz{{{{{{zz{z{{{{{{{|{||{z{{z{{zz|{|{||{{z{{{{z{{{{{{{{||{{|{{zz{||z{{{{{{|{{{{{{{{||{||{z{zz{{{||{|{{|}|{{|{{y{{{{}{{{{|{{z{z{{||}{|}||zz{z{{||{||{|}{|||z{{{z|z}{||{{}{||}{z{z|{{{{||{{z{{|{z{|{||||{|{z{{{{{|{{|{||{||{{zz{{{{|z{{|}}|{z{{z{z{z|{{|{{{{z{{{{z{|{zz{{zz{zyzyzzz{z{z{{{{zzyzzyzzzz{{z{{z{zzyxzy{z{zz{{z{zzz{zyyzz{{z{{{{zzzzzzzzzz{{{z{zzzzxz{yzz{{z{{{yzzzzyzz{z{{zzzzzzzyzzyzyzy{z{{{zyyzzzzyz{{zz|zz{zyzzzyyz{{z{{zzzz{yzzyzz{{{{zz{zz{zzzzzzzzzyz{z{z{{zzzyzzz{{{{{{yzzzzzyz{{{|{{|z{zzzzyz{{zzzyzzz{{zzy{{z{{{{{|{zzzyzzzyz{{z{{{{{zzzzyzz{|{{{{|z{{zzz{zz{{{{{z}|zzz{zzy{{{z{z|z{{z{zz{zzzz|{|{{|yz{{{{{z{zz|{||{{{zz{y{{|{{{|{|{{{{zzz{{||{{{|{{zz{{z{{{{z|{|||||z{{zz{zz|y|{{||{z{{{zz{{{|{{{|{{z{z{z{|{{{{{||||{z|{{zz|z{{||||{{{y{{{{{{{{{{|{{{{{{zzz{{z{{{{{{z{yz{zz{{{z{{z{{zz{zzyyz{{z{yzzzyzz{y{yz{z{{|{|{zzzzzzz{z{{{{{|zzzyzz{zzzz{z{{{zzzzzzzzz{{{{{{{zy{zzzzzzzzzzz|z{zzyyzyz{{|{y|zzy{zyxzz{yzz{{z{{zzyzzzzyz{zz|{{{zzzzzyz{zz{z{z{{{zzzzzzyz{{{{{||{zzy{yzy{{zzz{{{{z{zzzy{{z{{{{{{{{{zz{xzzz{{{{{{zzzz{zzzz{{{zz{zzz{zyz{z{{zz{zzzz{zzzzzz{{zz{{z{|{z{zzzy{{|{{{{|{z{z{zyz{|{{{{|zzz{z{yzz{{{zz{{{{{z|{zz{{{{{{||{z{{{{z{z{|{|{|||zz{|{zzz|||{{z{||z{{|zz{{||{{{||z{{{|z{{{z{{|z|{|z{{z{|zz}|{||{{|{{{{{{{{{{|{}{||z{{{|{{z|{{{||{{{{z|zzzz|||{|{{{zzy{{z{z{{{|{|{|{{zz{{{||{|{|{{{{zzz{{z{z|{|{{z{zyzzzzzz{{z{{z{z{z{zzz{{{|z{|z|zzzyzzzz{z{{{{||{zzyy{y{{{{{z{{|{zzyyzzy{{{{z{{|zzyzzzzz{{z|{{z|{yzzzyy{{y{zzzzy{yzzyzyy{zz{{{{{zzzzzzyzzzzzz{{zyy{yy{zzz{{{{{z{{zzzy{zz{{zzy{{zzyzzzzzyyz{z{{z{zyz{zyyzz{zzz|{zzzzyyzyzzz{{{{{{{zzyzzyzzz|{{zz{{{{z{zzz{{{zz{{|yzyyyzz{|{{{{{{{{z{zzy|z{{z{z||{zz{z{{{{z{{{{{}zzz{{zzz{{|zz{|z{{{z{{zz{z|{|{{{|{z{{{{{{{{{{{{|{{{{{z{{z{{{{{|{{|{{z{|{z||{|{|||{{|{zz{z{|z{|{||{|{{{{|{{||||{||{z|{|{{|{{||||{{z{{{{z{{z|||{{|{{{z{||z{{zz||||{{{{zyzy{{{{{{{|{|z{zzz{{{|{z|{{|zz{zzz{z|{{z{{{{z{zz{zz{z{{z{{{|{zzzzzzy{{|{||{{{zzzzz{z{y{zz{z{{zzy{z{zz{{{z{||z{zyzzzy{{y|z{{zzz{zz{{zz{|zz{{{zzzzzzyz|{z{{{z{zyzz{zz{{zzz{{{{z{zz{zzz{{{{{{{{{yz{zzyz|z{z{z{zzz{z{{zzz{z{z{|{{zzyzzyyz{zz|z{zzzzzzz{yz|{z{{{{z{{z{zzzz{zz{||{|zzz|z{zz{|zzz|{{zz{zzzz{z{{{|{{zzzzz{{{{{{{|{|{{{{zzzzz{{{{{||{|{z{z{zz{{{{{|}|{{{|{z{z{{z{z{|{|z{z|{{{{|{||{|{z{{zz{{{{|||{|}|{{z{{zzzz{||{{|{{{{{{z{z{|{|{|||{{{z{|{||||{||||{{{{{|{{{}|||{|{{z{{{{z{{|{{|{|{|{z|{|{z{{{{|{||{{{{{{{{{|{|{|||{{{zzz|z{{{{||{}||{{{z{zz|{{{{{|zz|zzz{{{{|{{|{{z{zzzzzyz{{{{{{|z{zyzzzz|{{{{{|{{zzyz{zz{yz{|z{{{{{zzyy{zz{{zz|{zzzzzzzz{{{{{{z|zzzzzy{yz{{{z|{z{z{{zzyz{z{zzzz{{yzx{zzyz{z{zzz{zyzyzyzz{{{zzz|zzzy{zzzz{z{{{{{{{{{yzyy{z|{{{{y|{zzyzzyzz{z{{|z{z{{zzz{{zzz{{{{zzyzzzzzz{{|{{z|{{zzy{zzz{z{{{z{|{z{z{{z{{z{{{z{{{z{{zzzz{|{{{{{|{{zzzy|z{{z|{zz|zz{{{y{z|{|{|{{{zzz{z|{z|||z{|{{{zz{z|zz|{{|{||}zz{{{{|{{{{||{|{{z{{{z|{|{{||{||{z{{{z|z||{||||||{{{{|{{{{|{}|||{zz{{{{{{||{||||{{|||{{{{{||}||{|z{{|z{{z{||{|||{|{z{{z||||{{|{{|{{zzz||{{{{|{|{{z{{zz{{{|{{{{{{||z{z{zz{z|{z{z{{zzyzz{zyzzz{{{{{{zyzzzzz{z{z{{zzzzz{zz{zz{{{z|{{{zzy{yzzzz{z{z{{z{zyyzz{{{z{{z{zy{zzzyyz{z{z{zz{{zzyzzzzz{zz{zzzzzyzzyyz{zzzz{|zzzzzz{z{zz{z{{zzyzzyzyzy{{{{|z{z{{{zyzzyzz|z{{{{zzzzyz{z{zz{zz{z{{zzzy{z|zz{{{{yz{z{zyz{{zzz{z|{zz{{zzyz{{z{{{|{zzzyyz{z{{{{{{{{{z{{z{zz{{{z||{zz{z{y{zz{{{{z{z{{zzzz{z{{{{|{}z|{z{zzzz{|{{{{{z{{{{||{||{||{{||{z{{zz{{{|{||{{}{z{zz{{y{{{{{{{{|{z{{{{{{|{{|||{|{{{{z||||z|{|||{z{{z{z|{|{{||||||{{zz{{{{|||{||{z{z{{{{|{{{{||{{{z{z{z{{|||||{{||{{{z{{{{|z{z{{{zz{z{zzz{{{{{{{zzz{|yy{{{{{{{{{z{{{z{yzz{{{zz{{zzz{zzyz{z{z{{z{|{{zzzzz{z{{{{z{{y{yzz{xzz{{{{{{{{{yzzzz{{{{{|{{zz{z{z{{y{|zz{{{{zzz{zzy{z{z{{{z{zzy{zzzzz{z{{{|yzyzzyzzz{{{zz{zz{z{{zzzz{|{|{zzzz|zyzzz{{{{{{{{zzzz{zzzzzz{z{|{zzzy{zzz{{z{{{|{zzz{zz{zz{{{{{|{{zzz{zz{{|{z{z{|zz{zzy{z{z{{{||{zy{zzz{z{{{{{|{{{zzzzzzy{{z{{|{{{{z{zzzz{z{{{{{{{{z{{{zzz{{{{{{{zzz{zzzz{{{{{|{{z{|z|{{{||||{||||zz{{z{z{{}|{{{||{{{{z{{{|||{}}}z{{{{{|{{||{||{|{{{z|{{{{|{{|||{|z|{{zz{|{||{||{{{{z{zzz{{{{|{|{{|{{{{z|{{{{{|{{{{{{{{{{{{{{z|||{{{{{{{z{|{|||{{{{zzzz{{z{{z{{z{z{yy{zz{{|{yz{yz{zzz{yzz{{{{z{{{{zzyyzyz{zz{{{{zzzzzzzyzzz{{zzz{zzzzzzzz{z{|z{|{zzzyzz{{zzzzz{yzzzzzzy{z{y{zzzyzzyyzyzy{{zz{{zzzz{{yyyzzy{{z{zzzzz{{yzyzzz{zz{{{zz{{zzy{zz{zz{{{{zzyzzyzzyz{z{z{zzz{zyy{z{zz{z{{zz{zzzyzz{zz{y|{{zzz{zz{zz{{{z{|{{zzyy{zz{z|{z{{zzzyzzzz{{{{z|{{{z{{zzzz{|{{|{{{|z{zzzzz{|{{{{|{{z{zzzyz{{{z{{{|z{zy{{z{{||{|{{|{{{z{z{|z|{{{|{|{{{{{{|z|{{|{{|||{{z{{{||}{|}|||{{{z{{{{z{{{{|{||{{{{{z{{||||{{{{{|{zzz{|{{|{{{|{z{z{zz{{|{{||||zz{{z{{{{{{{|{|{{z{zz{zz{{z{{{|{{z{z{zzzz|z{{{|{{z{zzxzzz{{|{zzzzzzyzyzxyz{{{{|{zy|zyzzzzzzz{|{|{z{zzzzy{{zz{{{|zzzyzzzz{{{{y{{zzzzzzy{y{z{|z|z{z{zy{zzzz{zzz{{{zzzzzzzzz{zz{z{zzyzyzzzyzz{{z{z|yzzzzzzy{zzz{{{{{z{zzzyz{{zyz{{zzz{zzzyyz{z{{{{{z{zyzyzyz{{z{zz{z{zzzyyzy{zzz{z|{zzzz{yz{{{z{{z{zzyzz{zz{|{z|{{{{zzzzy{zz{z{z|z|zzzz{z{z{z|{z{{|zyzy{{yz{{z{{|z{{{{zzzzz{{|z{z|{zzz{z{{{||{|{z|z{z{zzyzzz{|{z||{{zz{{||z{|z{|{{{|{z{{zzz{{|{{{}z|y{{{z{{{}|{{{{{{{{{{z{|{||{|{|{{{{|zzz{{{{z{{|{{z{|{{{{||{|{|{|{{z{z|zz|||{{{||||{{{zz{{{|{||||zzzy{z{{{{{{{|||{{{zz{{{|}{{{{|{{zzz{z{{z{{zz{z{z{zzzzzz{zz{{zz{z{zzyzz{zz{|z{{{{z{zyzyzz{{{{{z{{zyzzzy{{{{{zy||zzzzyyzy{z{{{{z{z{zzyzzzzzzzzz{zzzz{zzzzzzzzzzzzzzzyzzyyzz{zz{{{yzzzzzyzzzz{zzzyzyyzy{zy{{{z{zz{z{yyyzzzz|z{z{z|{zzz{zyyz{{zz{z{y{zy{yzzz{y{{zzzzyzz{z{z{{z{{{z{zyzzzzz{z{z{z{{|zz{|yzzz|{z{z|{{zzz{zzz{{{{{{|{z{{{z{zzzz{{z{{|{zzzzzyz{{{{{z{{{{{{|z|z{{{|{{||{zz{z{|{|{{{||{{|{z{{{z{{{|{|{{{{z{z{{z{z{{|{{||{{y{{{{{z||{|{|{{{z|{z{z{z{{|{|{{zz|{zz{{{||{|||z{z{{{{z{{{|{{|{{{yz{{{z{{z|{|{{}{zz{{{{{{{{z{|{|{{{z{z|{|{{{{{{{{{{zzzzzz{{{{{{}{|{zzzy{|||{{{{zzzzzz{zyz{z{{{{{z{zzzxzy{z{{z{|{{z{yz{zy{z{{{z{{z{zzyyzzzz{{{{{zzz{yzyzy{{yzz{{{yzzzz{zx{zz|zz{{zzzzzyzzz{{zzz{{z{zzyzyyzz{zz{{zyyyyzzzzzyz{zz{{{zzzzzyzzz{z{zz{zzzzz{yzz{{|z{|{zy{zzxzzzz{zzz{z{zzzyzzzzzy{z|z{{zzzzz{zz{z{{z|{zzy{zzzyz{{zz{z|zzzz{zz{z|z{{|{{zzyyz{zz{z{z{{{zz{zzzz|zz||zzz{zzz{{z{yz{|{||{{{zz{z{zyz{{{zz{z{zz|{{{{z|{{||||{{{{z{z{|{{{{z||||{{{{zz{|||z||{{{yzy|{{z{{|{|{||{z{z{{zzz{{z|{|{{{z{z{{{{|{||{|{{{{{{{{z{{{||{{{{zyz{z{zz{|z{{||{zz{z{{{{{{|{{|{zz{{{{zz{{{{{z|{{{z{zz{zz{{{z{|{{z{zzzz{z{{{zy{{{yzzzy{yz{{yz{{zzzzzyzz{z{{z{zz{yzzzzzzz{{{z{z{{zzzzzyzz{zz{zz|{zyyyy{yzz{z{{zz{{{yyz{zzz{z{{z{z{zz{zyyz{{{zz{z{{z{zzyy{{y{zz{{{yzzz{zzzz{zzyz|zzzzzyzyzz{zyz{{zzzzzzzzzzz{{{{z{{zzz{yzyzz{zz{{{yzyyzzzzz{z{y{|{yzzyzzzyzzzzz{{{{y{zz{yz{{{{y{z{{z{zzzzzzzz{|zz{{zzy{zzy{{{z{{{|zyzzz{{yz{{{{z{|zzz{z{z{{{||{||{{{{{{z{zz|zz||{y|z{zz{zz{||||{{{{{zz{{zz{{z|||{||z{{{zz{{|{{|{{{{{z{{z{{{{{|{{|{{z|z{{|{||{{{{{||{{{z}{{z|zz|||{{z|{zz{|||{{{{{{|y{zzzy{{{|{{{{{{{{{{|{{{{{|z{{{{{{zz{{{{|{|{{{{zz{|zzzz{{{{z|{|zzzz{zz{z{{{{{z|z{zzzyyyz{{z{{z{zzyyzzyzyz{{{zzyzzzzzzzzz{{z{z{{z{zzzyy{zz{{{zz{{zzzyyyx{{z{{{z{zzz{zzzzz{{{{{z{{z{zzyzz{z{yzz{zyyyyzzyzzzyzz{zzzyzyzyzzyzz|yyzzzzzyzzy{zz{zzyzzz{zzzzyzz{zz|{{{zzz{yzyyz{{{zz{zy{zyzzzzy{zzz{{{{yzzz{z{zzzz{{|{{zzz{y{z{{{z{z{{zz{zzzz{z{{{|{{{zzzzzyzz{{{z{{zzy{{{zyzyzz|z{|{{{zzzy{{{{{{zzzz{{zzzzzz{z|{{{{{{{z{{{{z{||{{z|{{zz{y{z{{{|{{{|||{zz{z{zz{z{{{|{{|z|z{zzz|}{||{{|z||z{{{z||{{{{|{|z{{{{z||{|{{|||{zz{{z{z||z{{|{{|{{zz{z{{z{|{{{|{{z{{{{{{{{{|{|{{|z{z{zz{|{||{|{{zzzzzzy{{{z{|{{|{zz{zzyz{z{zzz{{yzzzzyz{{{{{{z{{{{zzy{y{z{{{{|{|{zzyzzzzz{{{{{{{z|{zzzz{z{{zzz{{yzzzy{z{z{{{{{{zyyyzzzyzzzzz||y{z{zzyyz{z{zy{z{yzyzy{zz{z{{z{{{yyz{zzzzzzzzz{{{yyyzyzz{z{{{{{{zzzzzyzzzzz{{zz{|z{zyzyyz{zz{{z{{z{zzzzzzzzz{z{zzzz{z{zzzz{{|zz{{{zz{z{zz||{z{z|{zzzzzzyzz{z{{||{{z{zzzzzz{|z{{{{{{{{zzz{z{z{{{|{{z{z{yz{{{{{z{{zz{{{zzz{|||{{|z{|yz{zy{{z{}|z}z|zz{z{{{z{{{{{{|{{{{|{{zz|}|{|{{{{{{{|zz{{||{{{{|{z{{{{{||{{{|||{{zzz{|{{z||{|{|{|{{|{{{{{{|{{||||zz{z{{{{|||{{|{|{{zz{z{{{{{{|{|{z{{{{z{|z{||||||zz{{{z{{{||{{{{{z{zzz{{{|{{{|{zz{zzz{zzz{{{z{{|{zzzzyzzz{z|{{z{{{{zz{zzzz{{{zz{{zz{zyyzzzz{{{|zzz{yyzzz{{{{z{{{zyzzzz{z{{|zy{{{zz{zzzyz{z{zz{zzzzzzyzyzzzzz{||{z{zzzzzy{z{z{z{{{zzzzzyz{zz{{{{{{zzzz{zyzz{{zz{{zzzyzyzyzzz{{{z{{zzzzz{zz{zzzz{{z{{zz{y{{{z{{{{{zzzyyzzz{|z{{{||{zzzy{zz{{{|{{{{zz{yz{{{{{z{{z{zzz{{zzyz{|{{{{|z{z{{zzz{{|{|{z{{{{z{{{z{{z|{{{{{|z{{{z{{{{{|{{|{zzz{{{{{{z|{{{||{{z|{zz{{{{{|{}|{{{z|{{z|{{{|{||z{{{z{{{|||z|{{|{zz{{{{{||{{|{{{{{{{{z{{|{||{|{|{{zz{|{z{z{{||{|{z|{{{zz{{{{{{z{{zzz{z{zz|{|{||||{z{{{zz{{{|{{z{z{{y{z{z{y{{{z{{zz{{zy{yz{zyzy{|yyzyzyzyz{z{{z{{zzzzzyz{z{{z{{{{zzzzzzyzyz{{{{{{{zzyyyzz{z{{{{zzzyzyzyzyz{zz{{{{{z{zzzzz{zzzzy{zzyz{yzzzzzzzz{z{zyz{zyyzz{{z{zzyzzzzzzyy{zzz{{{zzyyzzzyyz{z{z{{{y{zzzy{zz{zyz{{y{zzyzzzzzzzzz{{zzzzy{{zyzz{z{z{{zyzyzzzzz{z{{zz{yzzyzy{z{{{zzz{{{zzz{zzyz{z|{{z{{zz{zy{{z{{{{{{{z{zzzzyzz{{{{{||z{z{{zzz{{|{{{z{zyzzz{z{{{{{|{||z{z{z{{z{{||{{|{{zzzzz{z|z{{{z|{{zy{z{z|{z{{{{{|{zy{z{z||{|{z|{|{zzzy{{zz|{{|{||zz{{zzz{|{{{{{||{zz{zzzzz{{|{{|{zzzz{yy{||{z|{|{zz{z|{zz{z{{{{|{{{yzzzzzzz|{{{|z{zz{zy{z{z{{{{zz{zzzyzyyzyzzzzz{zzzzyyzzz{{zz{|zzyzyz{zy{zzzzz{{zyzzzzzyxz{zz{z{zyzyyzyxzz{z{{zzzzzzzyzy{zyzz{z{zyzz{yzzzz{zz{z{{zzzyzyzzz{zyz{yzyzzzyxy{z{zzz{zzzzzzzzyz|zyz{zzzy{yzyyyz{{zyy{zzyzyyzyyyzzzzzzyyyzzyzzyzyyzz{zz{zzxzzyyz{{zzzzzzyzzzxyyzzzz{{z{zyzyy{{yz{{y{zz{z{zyzzyzzz{zzzz{yyzzzzzyz{{{{|zz{zz{yzzz|zz|{{||zzzz{zzz{|{{y{{{{{{zz{{z{{{{{}{{z{zz{zzz{zz|{{{{{zzz{yyzzzzz{{|z{{{z{{{z{{{z{{||{{|z{{{|||{{{{{{|zzz{{zzz|{z{{{|{z{{z{{z{{{z}{|{zzzz{zz{{{{z{{|{{zzz{zz{{{{{{{{|{{zyzz{zz{{zz{{z{zz{zzyzzzz{zzzzzzyzzzzzy{{zzz{{{zyyyyyzz{{{zzzz{yzzzyyzzz{{{z|{{zyyzzzz|{zz{z{{zzzzzy{{{{zzzy{zzzzyzz{y{z{zz{z|zz{zyzzzz{zzzz|y{zzyyzzyzzzzyz{zzzyyzzzyzzz{yzz{z{yzyyyyy{{{yzyzzyy{yzyzzzzzzz{{zyyyyzyzzzzzz{{zzzyzyy{yzyzzz{{{zyzzzzyyzzzzzzz{zzzzzzzz{{z{{z{zzz{zzyzz{{{{{{{|z{zzzzzz{}{zzzz{{{z{zzzz{z{zzzz{{{{yzzzy{{|zzzz{{zzyzzzzz{{z{z|zz{y{{zzz{{{z{{|zzyz{zz{{{zz{{{{{z{zzz{{{{|{{{{{|{{z{{yzyz|{{{{|{{zyz{z{z{{{{{{{|z{{{{{{{z|{||{{|{z{{{{z{{||{{{|{|{{zzz{{{{z{|{{{{zz{{y{{{{|{|{||{zz{zzzz{{z{|{{|z{zz{zz{{{{{{{{{{zzzzyzzzzz|{{||zz{yzyz{z{|{zzzzz{xyzzzyz{{z{zyzzzzzyyzyzz{z|zz{{zyyzyzyy{z{zz{{zzz{zyyyzzzzzzzzzyzxz{zzyzzzz{yzzyzzzyy{zzz{z{{{zy{zzyyzzz{zzzzzzz{yyzyzzzyzz{zyyzzyzzzyz{zzz{{zzyzzyzyzz{{z{z{zzzzzxz{zz{zyz{zzzyxyzzyxyzyzyzzz{zzzyyyyz{{yzz{{zyz{{zyyz{zyz{{{zzzzzyzyz{z{z{{{zyyzzyzz{zzzz{zzzzzzyyzz{{{{{{{|z{zyyy{yz{z{z{{z{z{zz{zz{{|{{z|zzz{zzzzzzzzzz{zzz{zzz{{z{{||z{{{z{{zzzzz{zzz{{{{z{zz{zyz{|||{{|{{z{z|z{z||zz{{|{zz{zz{{{zz{||}{{{z{{zz{{z{{{{{||{{z{zz{z{{|{{}{{{zzzzz{{{{z{{||{{{zzy{z{z|z||||{|{{zz{{zz|{{{|{z{z{zzzzyz{z{z{{z{y{zzy{{zz{{z{zzzzyzzzyyz{zzzz{{zzyzyyyyzzzy{{{zzyyzyyzzz{z{zz{{zzzyyyzyz|zzzzzz{zzyyyyyzzzzz{zzyyzyzzzzyyzzzz{{{zzxyyzyzyzzyz{yzyyzyyyy{yzzzyz{yzzzyyzzz{zzz{zzzyyyyzyyyzy{z{z{zz{yxzzzzzz{z{zzzzzzzyzyyyzzzzzzyyx{zzzxzzzz{{zzzzyzzzxyzzy{zz{zzzyzzxzzz{zzzzzzyzzzzyzzzzzzzz{zzzzyyyz{yzyz}{zzzzyzzyzz{z|zz{z{zzzzzzyzzz{z{{{{{yyzyzzzz|{{{{{zzzzzzz{z{z{{{{||z{zzz{zz{{z|{{{{{{yzy{{{|{{z{{{{{zz{zzzzz{{|z{{{{zzzz{{{z{{{{{{{|y{z{z{z{z{{{z{zzz{{{z{{{{z{{{{|z{y{{zzz{zz{{z|z{zzzzz{z{{z|||z{zz{yyzzz{|{{{z|{zzzzyzzzz{z{{{|zyz{yzzyzzzzyzy{{zzzxzzyzzz{zzz{zzzyzzzzy{{{y{{z{zzzzyzzyzzz{z|z{zzzzyyy{zz|zzz{{zyzyzyzyyzz{zzzz{zzyyzzzyz{zzz{{zz{zzzzzzz{{z{y{zyzzzzyzyzz{zzz{zxzx{yzyzzz{z{zzzzyzyzzz{zzzz{z{yz{yyyyyyz{z{{zz{yyzzzzyz{zyz|{{zyyzzzzz{{zzz{{zzyzyyzyz{zzzz{||zzzzyz{yy{{zzz{{yzzyzzzz{{z{zz{zzz{zyzzzz{{z{{{{{zyzyyzzz{{{||zyzzzzzzzyz{{{z{}{zzy{zyy{{z{{zzz{z{zz{{{zz{{{|{{{zz{z{z{z{{{|||{{{zz|zyzz{|{{{{{z{zzz{{z{{||z|{|{{|{{z{{{z{{{{||||zz{{{{z||{{z|{||{z|{{{{|||{{{|{z{{zz{{{{{{{{{|{{z{z{{{z{|{z{{|{{zzzzz{z{{z{|{||{zzzzz{yz|{zz{z{yz{zzyzzz{z{{|{{zyyyzzzzzz{{zz{{zyyyyzzz{{{zzzzzyyyzzyyy{{zz{zz{yzzzyzzzy{zz{z|{zzzzyzzxzy{zy|z{zyyzzyyz{zzy{zzz{yz{zzyzzzzzz{zzyzzyzyzz{zzzyzz{xxyyyyzyzzz{{z{zzzzyxzzzzzzz{{{{z{zzz{zzyz{{z{{zzyzyyzyxyzzzzzz{zyzyzzzyz|z{z{{zzzzyzzyy{{zzzz{{{zzyzyzyzz{{{{z{{yyz{zz{{{zz{{{{zyzy{zyzz{z{z{{{zzz{zz{{{{{{{{zz{{zz{{{zz{{{{||{zzz|z{z{{zzz||{zz{z{z{zzz{{|{|{{{{{z{{yz{{{|{{|{zyzz{zzzzzz{{z|{{zzzz{zz{{{{z|{{z{{zy{{{|{{{{|{||z{yz{zzz{|||||{{{z{z{{z{|{{{{{{{zyzyzzz{{|{{{{{{z{zzzz{|{{zz{{|{zzz{z{zzz{{zz{{{yz{zyzz{zz{zy{zzzzzzzyyzz{z{zzzyz{{yzyy{{{yz{{{zzzzzzxzzzzz{z|zzzyzxzzyz{{{{y{zzzzzzyzzyyzz{z{z{zyyyyyzz{z|z{|{zyzzzzyyz{zzz|{{{yyyyzzzyzzz{{zyy{yyy{yyyzzzzzz{zzzzyzyz{zzzz{{z{zzz{zzzzzzyzz{zxzzzyzzz{zzz{{{|zyzzzyzyyzzyzz{zzzyyzxzzzzzzzzz{yyyzzzyxz{z{{z{{yzyzzyzzzz{zzzzzzyzzzyzz{{{{{y{{zzzyyzzzzzz{{{{{{yzzzyzzz{z{{{zzzzzyyz{y{z}{{z{z{z{zzzz{{{z{{z{zz{|z{z{z{z|{{{{{z{{{z{z{||{{{||zzzyzzzzzz{{{|{|{{zz{{z{z{zz{{||{{z|z{{{zz{z{{{|{{{{{yzz{{|{{{||{z{{zzzzz{z{{{{{{|z{{|zz{{{{{zz{|{{zz{zy{{||{{z{{zz{zz{yz{|y{{{|{{z{zzzz{{{z{zz{{z{yzzzyyyz{z{{z{{zyzzzyz{{yz{{{{yzzyyyzzzzz{z{{z{z{y{{yzz{z{zz{{zzzzzyyy{{{zzy{z{{zzyyyyzzzz{z|{zzzyzzzzz{yyzzzzzzzzz{zzzz{yz{zzzzzyxyzyz{yzzzyz{zzyzzyzyz{yy{zzzyxzzzyyzz{z{z{{yzzzyy{yzzyzzz{|zzzzyzzzyz{zzz{{yyzyyyzzz{{{z|{zyyzzzzzyzzzz{{{{zyzyzyzzzz{z{|zz{z{{zyzzzz{{{{z{zzzzzzzzz{{{{zzzzzzzzyzz{{{{z{zzz{zyzzyzz{{|z{}z{yzz{zzz|{zzzz{|{yz{zzz{{{zz||{{z{z{zz{{{|{{z{{{zyzz{zzz{{{{{z{{z{zz{zzz{{{{|{{{{z{{|{{{{{z|{|{||zz{z{{z{|{|{|{{z{z{z{{{z|{{{{{{{{zz{zz{z{{{{|{{{|z{{zzz{{{|{z{{z{zzyzzzz{{z|{|{{{zzz{zzy{}{zz{zzz{zz{zzz{zyzzzzzzzyzzyyzz{z{zz{zyyyzyyz{z{{z{zz{z{z{yzy{zzz{{{zzyzzzy{zzz{{z{{{{zzyyzzyzzzzzz{{zzzzzzzy{{zyyz{yzzzyyzyy{zz{yz{zyyzzyzzyzzzzz{z{zyyzyzzyy{{{zz|zyyyzzzzzz{{z{{zzz{yzyzyzz{{{{{z{{zyzzzzyyzzz{z{{yzzzyzzzz{{y{|z{{z{yyzyyzz{{{{z{{zzyzyzz{zy{z{zzzxzz{zzz{{zz{{{{z{yzz{zyzz{{zz{{|yzzzzyz{{{{{{{{zz{{yzz{zz{{{{|yzzyzzzyzz{{z{z{zzyzz{{{zyz|{|z{|z{{z{z{{{{{{{{{|zz{zz{zz{{{{|{||{z{zz{zz{}z{|||{z{{{z{{{|{{{{{||{zz{{{z{z{|{{|{|{z{zz{zz|{{{{|{{{zzzz{z{zz{{{z|{{{z{z{z{z{{{|{{{y{z|{{zz{{{{|{{|{{yzy{zz{{{{{{{{zz{zzyz{z{z{{{zyzyyzyzzxz|{y{{{{zzyzzyyzz|zzzzz{yz{zzzzyyzzyyz{{{yzzzzyyyz{zzz{zzzzzyzyyzzzzz{z{zyzzyzy{z{zzz{zzyyzyyyzyzyzzy{{zzyzzzyyyzyyyzz{{zzyyzyzyy{zz{{{zyzxzy{yzzz|y{{zzzyzzyzyyyz{{zz{{yzzzzzyzzzy{zzz|zzzzzzy{y{z{z{zxzzzzzzyzyzzz{{|{zzyzzzyzz{zz{zz{z{{zzzzzzzz{z{{{zz{zyzyzzzz|z{|{zyzzzzyyzzz{{zzzyyzzzzz{{{{{zz{{{zzyzzzz{{z{z{{{yz{z{{zzzz{{{z{{z{{z{yz{|{{{{{{{zzzzzzy{{{{{{{{z{zz{zzzy{|{{{{|{z{{z{{|{|{{{||{|{z{{z{zzz|{|z||{|zz{z{z{|{z{{|{|z{{zzzz{z{{{|{||{{{zzzz{z|{{{{|{z{{z{zzz|{}{{{{{{{z{{zyzz{{{{z|{zzzyyyzz{z{z|zz{zzyzzzzyy{{z{z{zzyzyyyyzz{zzz{z{zyyyyzzzzzz{{{{{z{z{zyz{yz{{{yz{zzyzz{yz{z{zzzz{yz{yzyzyzzz{yz{zzzzyzyyzzz{zz{{zzzzyyzyzyzz{z{zz{zzyyyzyzyzyzzzzzyzzzyyyyz{zzzz{{yyxyzzyzzzzz{yz{yyyyzyyzzz{{{z{zyzyyyzyyz{z{zzzzyyyzzzyzzz{yz{zzzzy{yyzzzzzzzzyzzyyzzzz{{yzzz{zzzzzyzzzz{|zyzzzzy{zzyzyzyz{{|{z{zzzzzzzzz{{zz{{{zzzy{yzz{zz{{{{|{{zyzzy{{z|z{{{zz{zz{{z{{z|{{{|{{zzzzz{z{|{z{||zzzzyyzz{{{{|{{|{{zzzz|zzz{{{|{z{zz{zzzzz||{|{{{{{{zz{{{{z||{|{{zzz{zz{{z|{{{{{{{z{zz{zz{{z||{||{z{yzzyzz{z{|{||{{{yzzyyz{{{{zz{{yz{zzzy{{z{zzzzzzyz{{zyz{{y{xzzyzzzyzzzzzyzz{z{{zyzyzzyz{{{zz|{yzzzzzyz{{{{zzz{{z{yzzzyz{zzzzz{zyzzzzzzyz{zy{{yzz{zzzzzzy{yzz{zzyzzyzzyyzz|{|{{yzyyyyzzzzyzzzzy{yzzyyyyyzzzz{zzyzz{yzzyzzzzzz{zzyzxy{zzzz{yz{zz{{yzzzzzyzzzz{{{zzz{{{zy{zzyzz{{{yyzyzz{{{{zzzzzzzyzyzzzzzz{{{zzyy{zyzzz{{{{zz|zzzzzzz{zz{zz{|z{{zzyzzzzz{{{zz{{zzzzzzzz{{z{{{|{{zzzzzzzz{{{z{|{zyzyz{{{{{z{{|{|{{{zz{zzz{|{{{|z{z{{zz{z|{|{|{{|zz{y{{{zz{{{|{{{|{{{zzz{{|{{{||||{{|zz{z{{{{|{{zzy{{{zy{{{z{{{{{{zz{{{{zzz{{{{|zz{{zz{{{{{{|{{|{{{{{{z{z{|{z{{|{z{zzzzzy{{{{z{z{yzyyzyyyyzz{zz{zzzyyyyyz{zyzz{{{{zzxyyzyyz{z{zz{{{yyyyyzy{{{zy{|zzyzzzyy{{zz{{z{zyzzzyzzz{yzy{zyzyyyxyyy{z{zz{{yz{zyyyzyyzz{zzzzyyyyyzyyyz{{{{zzzyzyzyzzyzzzz{zz{yzzyyyz{{{zz{{{zzzyzyzyyzz{z{z{yzzyyyyyyzzzzz{zzzzxzzyzyzyzy{{zzyzyzzyz{{{z{{z{zyyzzz{zyyz{{{{{yzzyzzyyzzyzzz{{zz{yzyzzzz{{z{zzzzzzzzzz{{zzz{{z{yzzzzzz{z{{z{|z{zzzzzzzz{z{zz{{z{zzz{zz{{y{z{{{zzzzzzzz{z{|z|{{zz{yzz{|{{{{{{{{{{{{z{z{{{{{{{|{{zzz{z{z{|{{{|||{{{{zzz{|{{{{|{{zz{zzzz{{{z{{{z{{zzz{zzzz{{{z{z|{zzzyyyz{z{z{{zz{{yzzzzz{{{{z{z{y{zzz{zyzzzzz{{yzyy{zyzyzz{zz{{zzzzyzxzyzzzz{zz{zzzyyyyz{zzzz{{|zzyyz{zxzzz{zzz{zzzyzyyz{zzzy{zzyyyzyyyyzzzz{zzzzzyyyzyyzzzyzzzzzzzyzzyz{yzzzz{zyyyyyzzyyyzz{z{{yyzzzyyyyzzyzzzzz{zyzzyyzzy{yz{zz{yyzz{yzzzy{z{zzyyyzzzyyyzyzzz{zzzzyyzzzzzzzzz{{zyy{yzzz{yzzz{|{{{zyyzyyzzzyz{zzz{zy{z{zz{zz{zzyzzyzzyz{zz{{{{{z{{zyyy{z{zzzz{z{zzzz{zz{{{zz{{{zz{{zzz{{{{{z{{{zzzzzzzz{{zz{zz{zzzz{zy{{|{||{{|zzzz{z{z{zz{{{|zzzyzz{{z{|z|{{z||zz{{{{{z{z{z}z|{zz{y{z{z{{|{{{{{z{zzzzzz{{{{z{{{{z{zyz{z{{||zz{z{zzz{{zz|z{{{{{z{zzz{y{z{z{zz{{z{{yzzzzzz{{{zzzzy{y{yzyzzzzzy{|zz{yzyzyzzzz{{{{zzyyyzzyzzzzz{|{{zyzzzyyz{z{zzy{zzzzyyzz{zzy{zz{{zyzzzzyyzzzyz{zzzzzyzzzyzzzzzz{zyzyyyzyzzzzzyy{zzyzzyyyz{zzzz{z{yzyyyyyzz{z|y{{yzzzyzyyz|z{{z{zyyyyyyzzzzzz{z{zyzzy{yzyy{zzz{zzzzzzyyzyzz{{zzzzyz{zzxzz{{zzy{{{z{yzyzzzz{zz{{z|yzz{yzyy{{{zzyzz{z{z{zzzzz{zy{z{zz{y{zzz{{{z{z|z{z{{{{zz|{zz{z{{z{zy{zzz{z{|z{z{z{z{{zz{{{{|{{{|{{y{{{y{{{{|{{|{{yz{zz{{||{z{{{{{z{{{z{zz{z{{{|{{zz{z{z{z{{z{|{{{zz{zz{y{}{|{{|{{{yzzzz{{|z|{{{}zzyzz{zz{{{{{|{{zzzz{zzz{|{|z{{{zzzyz{zzz{z{{{{{{z{zzy{z|z{z{{z{{yzzzzzyy{zzz{zzzzyyzzzzzz{z{{{{z{{yzzzz{y{z{{{{zzzzzyzy{zz{y{{zzyzxyzzzz{zzz{zzzyzyzyzxzzzzzzzz{yzyxyzyzy{y{z{yzzyyzyyyzzyyzzz{zzzzyyzyzz{zzzz{yzyxyzzzyz{z{z|{zzzzzzyyz{z{{{{{zzyyyzzyzzzy{zz{{yyyyzzzyzzzz{z{yyzz{{zz{z{zz{zz{z{{z{zzzzzzzzz{zzzzzzz{{{z{zzz{zz{{zyz{{z{z|z{{yyz{{zz{yz{{z{z{zyzzzzzz{{{{zz{{zzyz{z{z{{{zy{{z{zzzzzz{{{z||{{|{z{{{z|{{z{{|{{|{{z{{zzy|z|{{{{{zz{{zzzz|{{z{{{zzz{z{{z{{{{{|{z{{{{{yz{{{{z{{|{|{z||{{z{{|{|{{||{{z{z{zz|z{z|{{{{zz{{{zz{|z|{{|{zzzzzzzz{{zzzz{|zzyzzyzzz|{{z{|{zzzz{{zz{z{y|zz{yyzyzyyy{zzz{{z{zzyzzzyyzzzz{z|{{zyzyzzyzyzzz{zzzzzyyyzzzz{zy{z{{zzyyyzyzyzz{{zz{zzzzzzzzz{yz{{zzyyzzzzz{z{zy{zzzzyxyyyzyzzzyzz{yzyzzy{xzzzzz{zy{zzzxzyy{zzzzz{{zyzyyzzz{{z{zy{{zzzzzyzzzzzzzz{{{yzzyyyyzzz{{{zzzzyyxzzz{{z|{z{{zzzyzyzzzz{z{{|{zz{zyzzzz{zzz{{{zyzz{z{y{z{{{{z{z{yyzyzzz{z{|{{{{{{zzzyzzz{{{{|y{zzz{zz{{{{zzzz{{z{z{zzz{{|{z{|{zz|{{zzzz{{|{{{{zz{z{{zz{{{{{||{{zz{zzzz{{{{{|z{zzz{z{{{{{{|{{{{z{zzzyy{z|{|||{{{zz{{{{{{z{||zz{z{{y{zzzy{{z{{{{{{z{{{z{{{z{{{{|zzz{{zzz{|{z|{{{zy{z|z{zz{{{{z{zzzzzzzzzzz{{zzz{zzyyyyzzyzzz{zzzzxyyzzzyzyzzz{z{zzyzyzyzz{zzz{{{zyzyzyx{zz{{zz{zzzyyyyzyzzzzz{z{yyyy{zzyyyz{zz{yyxzyzzzyyz{zz{{zzyzzzyxzyyyzzzzzyzyyzyzzz{zzyz{yzyzzyzzyyyzzz{zzzyzyzzyzzzzz{z{{yyyzxxzyz|yyzzz{zzzyzyyyz{{{{{{yzyzzzzyy{{z{z{z|zyzyzyzyzzyz{z{{yzyzyyzzzzzzzzz{zz{yzzzyzz{z|z{zzzzzzzzzz{{{y{zyzzzyzzyz{z{{{z{{{yzz{yzy{{zzz{{{z{zzzzzz{{{{{{{{yz{{zz|z{{zzz||{zz{zzzz{{{z{|zz{{zzz{{yz{{zzz{{{{z{z{zz{{{zz{{{||{z{z|z{z{{{z|{{{yzzz{{{|{|{{||{{{{zzzzz{{|{{{{{{{y{{{zzz{{|{{z{z{zzzzzzz{{{z{|{{zzzzzzzz{z{{{{{zyzzyzzyzz{{zzzzyzyxyzyzy{{{{z{zyzzy{zzyzzzzzz{|{zzyzzzzzzyy{z{{zzyzzyyyz{{{zz{{{zzyzy{yzyzyzz{{zyyyzyzzzyzyzz{zzzyzzxyzzz{yzzyyzyzyzzzy{zy{z{z{zzyyzzzyzyzzzyzzzzzzyyyyzyzzz{{zzzzyxzyzz{z{{z{zzyzyyyzxyy{z{zz{y{{yzyyyzzzzyz{{z{zzzzzzzz{z{{zzzz{zzyzzzz{{zz{{zyzzzy{zzz{z|{z{zz{yzzzzzzz{zz{zzz{yzz{zz{y{zzzzzyzyzzzy{{zzz{{zzzz{yz{yz{z{|{|zzzzz{{zz{{{{{{{{zzzzzzzz{zzz{{{{{zzz{zzyzz{{{|zzz{z{{yz{{{z{{{{{zzzzz{|{{zz{{{{{|{zzzzz{z{z{|z{{{y{zz{z|{{{{{{|{|zyzzzyzz{{{z{{{{zz{{{z{{{||{{|{{{zyzzy{{{zzzz{{zzzzyyzzz{{{z{{z{zzzyyzzzz{{zzzzyzyyzyzzzzzzzzzzzzyyzyyzzy{yzzzzzzyyyyzyzz{yzz|yyyyzzyyyzzzzzz{zzzzyzzzyz{{zyzzzzyzyzzyxzzz{zy{z{zyxyzyyzzzyy{yzzyzyy{xyzyyzzzzz{zzyzyyyyzyzzz{zzzyxyzyzzyzyz{{zzyyyyyyzyzzz{{{zzyyzyzyyz{zzz{{zyzzyzyyzyzzyz|z{zzyyyzyyzy{zzz{zyzzy{zzzzzzzzz{{zy{zzzzyzzz{z{zzyzzzzzyzzz{{{zz{zzyzzzzzz{zzz{{{zzzyyzzyzzzz{z{{{yzz{z{z{{z{z{{{zyzzyyy|zz|{{{{{{z{z{z{yz{{z{{z|{z{z{{zz{|{z{{{{zzzzzzzz{{z{{{{z{{zz{{zzz{z{{{{{{zzzzz{z|{{z{{{{zzzzzz{z{{z|{|{{{z{z{{z{{zz{{{z{{zyzz{z{|{{{{z{|{zzz{zz{{z{{{zz{zz{yzyzzz{z{z{{{zzzxzyyy{z{{zzy{yzyzzyzxzyzzyzzzyyzz{yyyzzzzzz{zzyzyyzzyzzz{z{{{zyyyyyzz{zzzz{zzzyzyyyzyz{zzz{z{yyzzyy{yz{{yzzzyyzzyzzyzzzzyy{zxzyzyyzyy{yzzyzz{yyzyyzzyyzzzy{z{zy{zyzyyz|zyzz{{{yzzzyzyzzzzyz{zzyzyzyzzzzzzz{yzzzzyyyxyz{zzzz{zyzyzyzyyzzz{zz{{yzzyzyzzz{{zz{zz{zzyyz{zzz{zzz{{zxyzzzzyzz{yzzz{zz{zyzz{yzy{{{z{{yzzyzyz{z{z{z{z{yzzzzzzz{zz{z{{zz{yzzy{z{{z|{{{z{{z{{{{{|{{{{{{{zz{zyzz{z|zz{{{|yzzz{{z{zz{z{{|{zzzz{{z{{z{|{z{{z{zz{z{{|z{z|z|}z{{z{{z{|{{z{{{zzz{zzzzz{{{{z|{{{zzzyzz|{z{{z{{zzzzzzz{z{z{z{|{{zz{zyzz{{{{yz{z{zzyzzzyzyz{z{{yzyyzyyyzyz|yzzz{zzzzzzyyz{z{z{zzzy{yzyyzyz{z{{{zzzyzxzyyyz{zyz{zzyzyxyyxyyzzy{zzzyyyzzzyxzzzzzzyzzzy{zyyyzzzzzyzzzyyxyxzzyyzzzzzyyzyzzyzzzzzz{{zzyyyyxyzz{zzzyyzzyzyzyyy{zzzyz{z{yyyyxzyy{{yzzzyzzyyyyzyzzz{zzzzyyzyzzzyz{zz{z{yzyzxyzzz|{z{z{z{zzyyyyzyzz{{zzz{yzzzyzzzy{zzzz{{y{zzzy|yzzzzz{{{zzyyzzzzy{{{{z{{{zzzzzzzz{zzz{z{yzyzzzz{zz{{{{{{zyzz{zz{{z{{z{{{zz{{yzzz{y{{{{{{zyz{{zzzz{zz{zz{zyzzzz{{{z{{{|||zzzzz{z{z{{{||{{{z{{z{{z{{{{{|{{{z{{zyz{zz{zz{{{{y{z|yzy{zz{{{z{z{zzzzzzzzzz{{{|{{zzz{yy{{{{zz{{{zzyzzzzyz{z{{z{yzyzyyyyyyzzxzz{zzyy{zyyzy{zzz{zzzyyzzyyzzz{z{zz{y{yxyyzzzz{zz{zzzzzyyyxzzzzz{zzzyzzyyzyy{yzzyzzzyzyzzyyz{zzy{y{yyzzyzyyzyxzzz{{zyzzzyzyzzzzz{zzzzyzyzxyzzzzzz|zzyzx{zyzz|z{{zzzzyyzzyzzzzzzzz{yzzzyyyzzyzzzy{zzzzzyzzyy{{zzz{{{zzy{zyzy{z{zyz{{zzzyzyzzzzzzz{{{z{yzzzyyz{{z{zz|{zyz{yzyzzzz{{{{zzzyzzzzzz{zzzzzzz{zz{zyz{z{z{{z{zz{zy{z{z{{{{|{zz{yz{zz{{z{z{{{zzzz{zzzz{{{{{{{{yzz{zzz{|z{{z{{y{zz{z{zz{zy{{{z{zzyz{z{z||z{{|{{zzzzz{{z|z|{|{{{zzzyzzzz{z{{{{|{z{|zzzzz{zz{{{|z{zy{yz{z{{z{z{z{zzzz{{z{zz{{z{z{zzzzzzzzzzzz{zzyzyyzyzxzz{zyyzz{z{zyyzz{zzzzz{{yyzzyy{yz{z{zzz{zyzy{yyzzz{zzzzzyzzyyyyzzzzzzz{{zyzyxyzyyzzzy{{zyyzyzyxyzz{zz{zyzzyzyzyzyzyz{zzzzyyzyyzzyyyzzz{yyyyyzyyyzzzz{{z{zzzzyyyzyzz{yz{zyxzzzxyyzzzzz{{zyzyzyxz{yzyyz|zzyyzzyzzzzzzz{z{{yz{yzyzy{zzzzyzzzyyzyyzzzzz{z{{{yzyyyyyzz{zzzz{{zyzyzyyzz{{z{{zzyy{yzxzzzz{z{{{zzzzz{zy{z{{z{{{z{zy{z{{zz{{|z{{{zzz{zzzz{z{{{{|{{zzz{yyy{{{{{z{{|zzz{{zzz{z{{z{{{{z{{z|z{{{z{|{{{zzyy{zzz{{|{|{||z{{zz{{{{{{z|z{zz{zzzzy|z|{z{zz{{{{{zy{{z|z{{{{{zzz{zzz{z{{{{{{{zzzzzz{z{z{y{{yzz{zzzyz{{{|{z{{yzzzzzzyz{zzzzz{zyyyzyyy{{z{zzzz{zzxzyzxyzzzzzzz{yyzzzzyyy{{zzz{zyxyyzzyzyzzz{yzyy{yyyyyyzzyy{zyyzzzyyyyzzz{zzzzzyzzzzyyzzz{z{z{yzzyzzzyzz{zzzzzyzzyyzyzz{yzzz{{zyyyzyyyzzz{{{zz{zyyyyzyzyz{y{{z{yyyyyyyzzy{{z{{yzyzyyzy{zzzzz{z{yzyzxzzzzzzzz{{zzzzzzzzzzzz{{z{{yzzzzyzzz{{zz{z{z{zzz{y{{zzz{zzzyz{zyzz{z|zzzzzzyz{zzz{{z{{{{z{zzzz{yzzzzz{z|{{z{z{{zz{|{{|{z{{z{yz{yzz{{|{z{zzzzzz{zzzz{{zz{{|{zzzzz{zz|z{{{{{zz|{{{z{z|{{{|z|{z{{{zz{{zzz{||{|{zz{zzz{|zz|{||{{z{{zzz{||{{{{|zzz{{{{{{z||{{|z{{z{zzzzz{{{z{|zzyzzyzzyzz{{{zzzzzzzzyzyzzzyzy{{y{{zyyyyzzzzz{{{zyyyzyzy|z{zz{{z{zzyyyzyzzzzzzzzzzyyyzyzzzzzzzz{{zzyzzzyz{y{zzzzzzzyyyyzzyzzyzzz{yzyyzzzzzzzzzz{zyzyxyyzzzzzzzyzzyyyx{yzzzzz{zzzyzzyyyyyz{yzz{z{z{zyyzzzzzyzz{zzyxzy{zyyyzyzzzzzzyzyz{zxzz{zzz{zyy{yzyyzz{{{z{yzyzzzzy{zzzz|{z{zz{zyzyy{z{{z{z{zzz{zyyzzz{zzz{{z{zzzzyzy{{{zzz{{zz{zz{z{{{{{z{{z{zyzz{zzz{{{{{zzzzzz{z{z{{z{{z{zzz{{{zzzzz{{{z{{zzzzz{zz{{z{{|{{{zz{z{{z{|z{{{{||zzyzz{{{|||{{|{{z{|{zzz{|z{{||{{yzzzyz{zz{z|{{{{zz{zzz{z{{{{{{|z{zz{zzz{zzz{{{z{zz{z{{zzz{z{{z{{z{zyzzzzz{zzz{yy{zyzyzyzyz{zy{|yyzzyyzzyzzzzzzzzyzyzxxyzzzyy{zzyyzyy{yyxzzzyz{zzzzzzzyyzz{zy{z{zyyyyzyzz{yyzzyzzyyyyyyyyyzzyzz{yyyzyyyxyzyzzzzzyyzzzzzyyzzzzzzyzzzzxyzzy{{zyzz{zzzzyyzyy{{zzzzzzzyyzyyxyyzy{yzzyyzzzx{zyzyz{zyzzzxyzyzyz{zzz{{yyzzyzzzyzzzzzy{z{zzzzyyzzzzzzzzzyyzyyzzyzz{zz{zzzyzyzyzyz{{zz{z{zzzyx{yyzzzz{{z{zzy{yyzzzz{{z{z{{zzyzzyzz{{{z{z|zz{yz{zz{|{{z{{{zzzz{zzzz{|z{z|{{zyzzzzz{z|zz{{{z{zzzz{yz{{{{{z{{zy{yy{{z{{{{|z{zzzz{zz{{{{{{{{{{zzzzz{zz{z|{{zz{zzz{{{zzz{z{z{{zzyzyzz{{|{{zz{{{yz{zzzzz{zzzz{zzzzzzzyzzzzxzzzzzzzzyx{yy{zz{zz{yzzyzyxzzy{z{z{{{zyzzzzyzzyzzz|{{zzzyxz{yzzzyz{z{yyyzyyzzz{zzzz|yzzyzyzy{zz{z{{zyzyzzyxyz{z{z{{zzyyyzyyyzzzzxyzzzyzxzyyyzz{z{{zzzzz{xyyyzy{zz{z{zyzzzyzyzyzzzz{zzyzzzxzzyzzzzzz{zzzxzyzyyz{{z{z{yyzzzyyyz{{zzzzzyyzzzyzxzzz{z|{|{yzzyy{y{z{z{{z{{yzzyyz{{z|zz{zzzzzz{zy{zz|{z{{zzzzyzzzzz{zz{{z{{zzzzx{z|{{{z{{{zzzzzzz{{z{y{{{{zy{{{z{{{{{{z{{|zy{zzzzzzz{{|{{{zzzz{zzzzz{{{{|{{{zz{zzz|y{z{|{{{z{{z{z{{|{{{z|{{z{{zzzy{{|{{{||{y{z{yzzzyz{{{|{{{zz{z{y{{z{{{{{z{{zzz{z{{z{{{{|z{{zzzyzz{{zz|{|zz{z|yzyz{zzz{yzzzzy{zzyxzzyz{z{zyzzyyzzyz{zz{{{z{zzzzzyzzzz{{zz{yyzzzzzyy{zyz{{{zzzyyzy{{zzz{z{zyzzzyzyz{zzz{z{xzzz{yxz{zzyzzzzyzzyzyzyzz{|yzzzyyzzyxyzz{zzz{zzzyzzyzyz{z{{z{{zyzzzzyyxz{{zzz{{yyy{yyzzyyzy{{zzzzzyzyyzyzyz{{z{zzzzz{yzz{zz{zzzzzzyzzzy{z{{zz{{zyyzzyzz{zzzz{{{z{zz{yyzz{{{{z{{{zzzyy{z{z{{{||{zz{zzzzyz{|zzz{{zzy{zzy{{{z{{{z{{y{y{{{zz{{{{{|{{{zzzz{{{{{z{||{z{zzzzyyzz|{{{{||yzzzz{z{{{z{z||z{zy{z{{{{{{z{{|{z{zz{{z{{{{{{|{{z{{{{{z}{{{{{{{zy{{{{zzzz{{z{|{|{z{{{z{{z{z{{z{zyzzz{z{z{{|z{{z{zyzyz{yz||{{{{{zzzzzzzzz{{zzzzzzzyyyzyyzzzzzzz{zzzyyxyzzzzzz{z{yyyyyzyyz{zzzz{yzyzzzyyy{z{zzzz{zyyyyzyzzzz{zyzzyyzyyzyzzzz{yzzzzyyzzzyxzz{zy{zzzyyyzzyzzzz{{zz{yyzzyyyyzyy{z{z{zzxxxzxyzzz{zzyzzzzzyzzyz{{zzz{zzyyyzxzyz{{zyz{yyzzyzxzyzzzyzyz{yy{zzzyyzzz{{y{|zyyzzyzxzzz{{z{{{zzzzyzzzzy{zzzzzzzyyyz{y{{{{z|z{zzzzyzzz{z|{{{zzzzyyzzzz{zz{z{zzyzzzyzyzz{z{{zzyyzzyzzz{z{z{|{{zzyzzzz{{z{{z{|{{zy{zyzz{zzz{{z{{yyz{{zz{{{{z|{|{zzz{z{z{{{{z{||zzzzz{{zz|{|zz{{zz{zzyy{{{{{{{{{zz{yz{zz{{{{{{|{{{zz{zyz{z{{|{|{{zzzzzy{z{{{y|{{{{zzzyzy{{z{{z||zzzz|{zy{{yz{zz{yyyyyyyyzyz{{zz{yyyzyyyy{y|zy{{zyzzyyzyzzzyyy|{zzyzyyyyzzzzzyz{zzyzzyyyyzz{{zzzzyyyzzyyyzzyzzzzy{zzzzyzyzyzzyzz{zzyzzzzyyyzzzzyzxzyyyxyyzzzzzyz{yxyzyyyzzyzzz{{z{yzzyyyyyzzyzz{{yzzzzyyyyyyyzz{zzzzyzyyyy{zzz{z{zyzzyzzyzz{{z{z{{yyzzyzzz{zzzzzzzzyzyyyzzzzy{{z{zyzyzzzzz{{{zz{zzzyzzzzz{zzyz{z{zy{zzzyzyz{{{{{zzzyzzzyz{zzzz{zzzzzzzz{y{z{{{zz{yzyzzzzy{{{{{{{zzzz{zzzz{{{{|z{{zzyzzz{{z{zz|{|{{zz{{z{z{{{{z{|{zz{z{{zzz|{{{{|{{zzzzyzy{z{{{{{{zzz{{zzz{{z{z|{{{zz{{zyz{{z{|z{{zz{yzyzzzzz{{{{{{zzzyzzyz{{z{{zzzz{yyyyz{{zzyzyzzyzyzzyyyzzzzzzzzzyzyyzyzzz{z{{{{yyyyyyyyzz{z{zzzyxzzyyzyyyzyz{{yxzxxyzyzzyz{zz{yyyzxyyxyzzyzzzzyyzyyyzyzyzzxzz{yyyyyxzyyz{zzyyyyyyyyxyyyzzy{zzzyzyzyzyyyzyyzyzzzyyyxzzzyzyzzyzzzyyyyzzxyyzxzyzzzzyxzyzzyzz{z{zzyzzyyyyz{zzzzzzyzzyyxxzyz{zz{zzzzzyy{zyyzzzzz{zzyzzzyyxyyzzzy{zzzzyzyzzzz{{zz{yzzzzxzzzyy|zzz{{zzyzzyzyy{zzy{z{zyzz{zyzz{{z{z{{{zz{zzy{zzzz|{{{{zzzzzzzzz{z{z{{z{yzzzzzz{|zz{{}{zz{{zz{zyzz{{{{{{zyzzz{zz{{zzzz{zzz{zx{z{{{|{|z|zyyz{zz{z{z{{{||{zyzz{zyzz{{{{|{zzzy{{{x{{z{{z{{zzzzyyyz{{z{z{z{zyzyzyyy{z{zzzzzzyyyyyzxz{zzzzy{zzyxzzzyyyzzzz{zzyyyyyzzzzyzzyz{zzzyzyyyzz{zyzzzzyzyyyyyzyyyzz{zyyyyyyyyzzxzzzzzzyyyyzyyyzzzz{zzy{yyyyxyzyyzzzy{yyyyyyyyzzzyzyzyzyxxyyxyz{yzy{zzyyyyzyyyyzzyyz{yyyzyzyzxzzyzyzzyyzyxyzzyyyzyzzzzzyyyyyyyzyzzzzzzzzyyzyyyyzzzyyyzzzxyyzyyzzzzzz{zyzzzyzy{{zzyzz{{zy{zyzyyx{yz{{z{zyzzzyzzz{{yzz{{{yyzy{yzz{z{zz{z{zyyyzzzzz{{{{z{zzz{yyzyz|z{{{{{zzyzyzyzz{{{{{{{zzzz{{zyz{zz{z{{zzz{z{{zz{z{{{zzzzzyy{z{y{{z{z|{{z{zzyzz{{{zz{{z{zz{{zz{z{zz{zz|{zzz{zy{{{zz{{z{{zzyzzyz{z{zzz|zzzzzz{{zzz{{z{{zzzzzyzyzzyy{z{zzzzxyzzyy{z{yzzzzyzzzyyyyyzz{z{{{yzzyzyzyyyzz{zz{zyzyyzzyzy{{{zz{yzzyzyzyyyzzyzz|yyyyzyyyyzyyy{zzyzz{zzyzzzzzzzyzzyzxyyzyxzyzzzzzzyyzzyxxzyyzyzzzzzyyyzzyyyzzzzz{zyyyyzyyzyyzz{{zzzzyyzzyzzz{zzzzzzzzzzzyzzzyzzzzyyzyz{zyz{z{z{{zyyzyyyyyzzz{zyz{zzxzzyzy{z{{z{z{yyzzzzyyzz{zy{z{zzzzzzzzz{z{{{{zzz{yyyzzz{{zzz{{zzyyyzzyz{zy{z{{yz{z{{zzzz{{{{{{{z{zzy{zz{z{{{{{zyy{zzyyz{z{||{|{zzzzzz{z{{{{{{{zyzzzz{{z{z{{{{{zy{zy{z{z{{{{{|{|y{z{z{{{{zzz{{z{zzz{zyz{{z{z{{|{{zyzzyzzz{{z|{{z{z{zzz{z{{z{{|{z{{zzz{zzzz|z{{zzzzzzzzz{zzzzzzzyyyyyyzxyz{{zyzzyyxyyyzyzzyy{{{{zyyxyzyy{{zz{z{{zzzyzxzyzz{zz{{zzzzyyyyyzzzzzzz{zyzxyzyyzyy{zzzy{z{yzyyyzzzyzzzzzzzxyyzzzyzzzzzzyzyyzzzyzzzzzy{zyzyxyzz{zyyz{yzzzyzyzyzyz{zz{z{{{yyzzzyyzzzzy{{|yyzyzyyzzzz{z{{{zzzz{{yyzzz{{zz{{yzy{yzzzzz{{|z|zzyzzyzyyzy{z{{zyyzzzzzzz{zyzzz{{yzzzzzzz{{z{zz{zyyzyyzyz{|zyz{{zzyzzzyz{{|{z{{{zz{zzzyzzzzzz{|{z{{zzzz{{{{{||{{|y{zyyzy{z{{{z|{{{{zzz{yz{{y{|{|zzzzz{{{{z{{zz{|{{{{y{zz{{z{|{{{|z{zzzzz{|{{{{{zzz{zzzy{{{z{{z{|zzzzzzz{z{{|{{{{yz{zzzzz{{{{{{{{{zzyzyzzzz{zzz{zzzzzzzyyz{z{zzyzyzzyyyzyyzzz{{{{yzzxzyyz{zzzzzzzzy{zyzzyzzzyzz|{yzzzzzxy{z{zzzzzzzzzyzyzyz{zz{{zzy{yyzyy{zzzyzzzzyyyyzyyyzzyzz{zzyyzzyzxzzyzyz{yzzyzzzxyzz{zzzzzz{zyzyyyy{zz{{zzyzyyyzyzzzzzzzzz{zzyyxzxzzzzzzzzyzyyzzzzzzy{z{{{zyzyyzzyy{zzzyzz{yzzzyzzyzzz{|z{zzzzyzzz{{zzzzzzzzyzzyyzz{z{zz{{zzzzzyyzzzz{z{||yzzzzy{yz{{z{{{{{zyzz{zz{zz{{{z{zz{zzzz{{{|{z{{{zzzy|z{{{zz{{{{{{zz|yzz{{{|{{{{z|zzzzz{z{z{{|{|{{zzzzzzzzz{{|{{{{zzzy{zz{{|{z{||{zz{{zzy|{{|zzz|zz{zzzzz{zz{z{{{z{zyz{y{{{|{z{||{{{yyz{zz{z{z{{{|zz{yzyz{{{{z{{{{zyzzyyzz{|y{{zzyyyzyzzzyz|zyzz{zyyyyyzzzzzyzz{zzyyyzyyzyyz{{z{zyyzxyyyyzzyzy{zz{yyzyzzyzyzyz{{zzzzyzyyyzzzzyyzyzyzyzzyyzz{yy{z{zyzzyzyyzzz{zzzzyzz{yyyyz{zyzz{yzzzxzyxyz{zzzzzzyzz{yyyz{zz{zzz{yyyzyyyyzzyyz{zzzyzyzzzyzzyzz{z{yyyzyyyzz{{zyzz{zzzzyyzzzzzyz{z{z{zyyyyz{{{z{z{{zzzzyzzz{{z{zzz{zz{{zzzyzz{{z{|{zzz{{zyzzz{zzz{{{z{{zzzzz{z{{z{zzyzz{zzzz{z{{{{{zz{z{{{z{|{z|{{{zzzzyyzzyz{z{{{{{zz{zzyz{|z{{{||zzzzz|{{z{zz{z{|{zzzzzz{{{z|{z{{{y{zzzy||{z{zz{{{zz{zzzz{|{{{{{{{zzz{zzz{{{{|{||{{{y{z{zz{{zyz|{{zzz{zzz{z{{{|z{zz{yzzzzzz{zzzzzyyzxyzzzzy{zzyyzzzzzzyzzzzz{zzzyzzzyyyzyyz{{zzzzzzyyzyyzxz{zzz{zzyyxyyzy{zz{yzzzzxxyyzyyyzzzyz{zy{zzyyyzyyzz{{zyyyyxxzyzyyyzzzzzzyzxyyyyzzzzzzzzzxyzyzyxyzzzzzzzzzzzzyxxyzzzzyz{yyzxyzyyzzzyzz{zzyzxxyyyzzzyz{z{zy{zzzzyzxz{zzzzzyzyzyzzzyzzzyz{yzzyzyzyzyzzzz{{yy{zzxzyz{z{{z{zzyzyyyzyy{zz{zz{zyzz{yyyzz{zz{{{zzzzzyyzyz{{{{z{zzzyyzzzz{{{{{{zy{{zzzzzzz{{|zz{{zzzzzz{zyz{zz{{zyzyy{zzz|zz{||zzz{yz{{{{{{{{{{{z{zzz{zz{{{{zz|{|y{zyzzz{{{{{z{{zzzzzzzz{z{z{{{{zzzzz{{z{z{|{{{{y{zzzzzzz{{z{{{zzyzzzzzzy{z{z|{{zzzzzzyyzy{zy{{{yyyzyzyxyzz{zz|zyxzxyyyyzzzy{zzz{yzyzzyzyyzzzzzzzyzzzyyyz{z{zzzzzyxyzxyzz{zzzzzzzy{xyyxz{z{zzz{z|zzx{yyyzz{zzzzzzyzxyyyxzyzyz{zzzyyzyxyyzzzzzzzzxzzzzyyyzzzy{zz{zzyzyyyyzzzyzzzzzzzyzzyyyzyzzzzzyzzyxyzy{yyzz{zyzzyyyyzzzzzzz{z{zyyyzyzzz{zzzz{{zyzy{yzzyzz{z{{zyyyzzyzyz{zzzz{zzyzzzzzzxz|{{{zzzy{zyzzz{zzzz{{zzzzyyzyzz|{zz{z{zzzzy{zyz{{zz{{zzzzz{{{z{z|{{{{{zzzzyzzyzz{z|{|{{z{zzyzz{||z{{{{{zzzzzz{z{{z{|{zzzyzyzyzy{{{{{{{{yz{zzzz{{{z{z{zz{{zzzzzzz{{{|z{|{zzzzzzz{{z{{z{zzzzz{z{z{{{zz||z{z{zzyzz{{{zz{{zz{z{yzzz{{{{zzzzzzyyyyyzzzzyz{zzyzyzyxzyy{zzzz{{yzyyzyyzzzzyzzzyyyyyyyyyzzzyz{{zxzyyyxyzzzzyzz{yzyyzyzyy{zzzz{yyzzyyxyx{zzzy{{zzyzyzyyzyzyzyz{zyyzzxzzyyyzzyz{zyyzyyyyyx{zz{zzzyyxyyzzxzzzyzz{yyyzyzyyzyzyzzzzzyzzyy{yyzzzzz{zzyyzzzzyyzz{yy{{yzyzzzz{yzz{z{zz{zzyyyzxyzzzzzz{{yzyzzzzzz{zzz{zzzzy{zyzyzz{zz{{z{yzzzyzzz{{{{z{{{zzyzzyzzy{y{{zz{zzzz{{yz{z{{z{zzzzzzzzz{{z{{{{{{y{zyzzyz{z{{zzzz{yzyyzz{{|{z{{{zyzz{z{zzzy{{{z{{yzz{zzyz|{z{|{{{{{{zzz{{zz{{{z{{zzz{{zzz{{z{{{zzzz{zzzz{{z{{|z{zy{zzzzyz{{|zz{z{{{z{zzzz{zzzz{zz{zzyz{z{zy{zz{zyyxywzyxyyzz{zzyyzyyzyyxyzzz{zz{yyyyy{y{yzyyzzyzyzzyzyyxxzzzyy{{{yyzyyyyyzyzyzz{yzzyyyyzzzzzzyz{zyyxyyzyzzzyzzzzxyzyyyzyzzyzzzzzyxyyyyyyyyzzzyzyzxyyyzyyyyzyzzzzzzyyyyyyyzyzy{{zzyzyyzyzyzzyyyzzyzyzyxyyyzyzyzz{yyyyyyxyyzzzyzzyzyyzzyzyzzzyzzzz{zzzzyyz{zzzyz{{zyzzzyzyyzzzzzzzzzzyyyzyy{{z{{zzzyyzyzyyz{{{zz{zzyyzyxzzzzyzzzz{zyz{zzzzzz{{z{z{zzyz{zzz{{z{{{zzzzzzzyzzz{{{zzzz{yzz{zzy{{z{{z{z{zyz{z{zzzz{zzz{|zyyz{y{{zz|{{z{zzzzzy{z{y{{zz{zzzyzzzzzzzyz{z{{{zzy{{zz{zz{z{{{zzzzyzz{zzz{z{|{{zyzyyzzz{zzzzzzzxzzyyyzzzz{z{zyyzzzzyxyzzyyz{zzyyzyyyyxyzzzzzz|zyyyyyyyzzzy{zzzzyyyyzyzzyzzyzzzyyyyxyyxzzzzzzzzzyyyyzyyzzyzyzzzyyzyzyyyzyzzzzz{yyyzxzyyzzz{yyzyyyxyyyyzzzz{zyzyyyxyyzyyyzzz{z{zzzzyyzyxzz{zyzzzzyxyzyyxy{zzyzzzzyyxzyyzyzyy{zzzyzyyzyyyzz{zzy{zyyzyyyzzyzyzzyzzzzzyyzzzzz{z{z{zyyzyyyyyz{zz{z{zyxyzzyzzyzzzzz{zzzzyyyyy{zy{{{z{zyz{zyyzz{zyyz{zzyz{zyyyz{z{{|{{z{zzzzzzzz{|z{{zzzzzzyyzzzzz{{{{zzyzzzzz{|{{{{{{{z{zyyyz{zz{{{{z{zyyz{{{{|{z{{{{{zz{{zzzz{{{{{zzzzzzz{{zzzz{z{{|{zyzzzyz{zzz{zzzzz{yyzz{z{z{zz{{zzzyzzzzz{z{zyz{{yzyzyyz{zzyz{yzzxyy{zyzyyzzzzzzzzyyyzzzzz|zzz{|{yzxy{yzyyzz{zz{yyyyzyyyzyzzzzz{zzyyzzyy{zzzzyzzzzyyyzyzy{{zzzzzyzzyyyyzzzzzzzzzzyxzyzyzzzzzzzzzyyyyyzzzzzzzzzzyyyzyyzyyzyzzzyzzx{zyyyzxy{zzz{{{yyyyzyxxyyzyyzzyzzzzzyzyyzzzzz{{yyzxyzyz{z{yzz{zzyyzzy{zzyz{z{zzzzzyzyzzz{y{{{zzxzzzzz{zzz{zzz{{z{zzzzzzz{zzz{zzzz{zyzzz{{z{z{{{zyyzyzyzyz{z{{zz{zy{yzzyzz{{{|{|zz{y{yzz{{{{z{z{zyyzyzzyz{{{{z{{zzzzzzzzz{{zz{{{{z{zz{zz{z{z{{{|{zzzzzzzy||{{{{{{{z{{zz{{z{{{|{{{zzz{zzzz{z{{{{z{zyz{zzzzzzz{{{zzyzyyyzzz{{{z{||z{{yzzzyz{zz|z{zzyzyzz{zyyzz{{zyyzyzyzzzyzzyy{yyyzzyyz{zzzz{z{zzzzyyzyyzzzzzzzzyzyzzzyyzzz{zzz{z{z{xyyyyzzzyzzzzzyzy{zyzy{{zyzz{zzzzzzyyzz{yzzzzyyyyyy{yzzzzzzzzyy{zzzyxz{{zzz{zzyyyyzyyyzz{zzz{{yzzzzyyz{zzyz{{zzyyzz{yyzzzzzzyzyyyzyyyyzzzy{z{zzyzy{yxzyz{z{zzyzzzzzzzzzyzz{zzyyzzzxzz{zyz{z{{zxzzzyyzzzz{zzz{{zzyzzzzz{z{yz{z{zzzzyyzz{{{z{{z{zzzzzyzzz{z{{{zzzzzzzzzz{z{{{|zzzzz{zzyzzzzz{{{yyzzzzzz{{z||{{z{zz{{zzzz{{z|z{|zz{zz{zzz{z{{|{|{z{{z{zz{|{{{{|{{zz{zzz{|||{{z|zzzzzzzzzzz{|{|{{{{{{zyzz{{z{z{{{z|yz{zyzzz{{|{{{z{zzz{yzz{z{zz{{zzy{yzzyzzzzz{{{zzyzyyzxzzzzzz{zzzzyzyyzz{zz{y{zzyzyzzzzzz{zz{zz{zzzxyzyyy{zx{{zzzzxyzyyzyzzyyzzyzzyyy{yzzzyzz{zzzyyzyyzzy{xzzzzzyyyzyyyyzz{{zz{zzyyzyyxz{{zzy{zyzzyxyxz{{zz{{z{zzzzyzyyzzz{z{zzzxyyzzyxzzzz{{z{zyzzzyyyyzzyy{{zzyz{{yyyzzzz{zzzzyzzyzyy{zzyzz{{yyyzzzzzzz{zyz{zz{zzzyzz{zzzz{{zzzzyzzyzy{zzz{{zzz{zzzzzz{z{{z{zzzzzzzzz{z{zz{{z{zzz{zzzz{{{y|{{zzzzz{{zz{{{zz|{{yyyzyzzz{{{{z{zzy{zzzzz{{|zz{{zzy{{yzz{zz{{|||{{zzzzz{zz{|z{zz{{z{zzzzyz{{zz{{z{z{{{z{{zzzz{|{{{{yz{{yz{|{{|{{{{{zzzz{z{{{{{{{{{zy{zzzyz{{{{z{|zyyzzzzzy{zz{z{zzyzyyyzyzz|zzyzz{yyzzxzy{z{zzzzzzzyyyyyzyzyzzz{zyyyyyzyzzyz{y{z{zzyzyyzxzzz{yyzzzzzyyyzyz{xzz{zzzzzzyzyzy{yzzyzzyyzxyzzzzy{zzzz{yyxzyyzyzyzzzzz{zzxyyyzyyzzyzyz{zyzzyxyyz{zzz{zzyzzzyyzyz{zzzz{yyzzyyxzyzzz{z{{zzyzzzyyy{zz{zzzzyzyzzzzyy{zyy{{z{|zzzyyz{zy{zz{z{zzzzzyy{z{{{z|{zz{z{yzyy{{zz{{z{z{zzyy{{z{zz|{{{zyzyzyy{zzzzy{{{zzyz{zz{|{{{{{{zzzzz{{zzz{{z{{{zzz{zyzyz{{{{z|{{zzzyzzzz{{{{{{|zyyzz{{{z{{z{{{|{z{|z{zz{{{zz{{{{z{y{z{z|{z{{{|{|z{z{zz{z{{}{{z|{{z{zzz{{z{{zz{|{{zzyzzyz{zz{z|zzz{{zzzyz||{{zz{z{zxzzzyyzzz|zyzxz{yzyyyy{zzzzzzyzyxzyyzzzyyzzyzzyyyyyyyyzz{{zzz{yzyzzxyy{zzzz{yzyzyxzyyzzzzzzyzyyyyxyzxzzzzy{{{{zyyzzzyzzzyz{zzyyzyyzyzyzyzzzzzxzzzzyyyy{zzyzzzzyzyyzyzzzzz{zz{zzyyyyyxzzzzzz{zyzzzyyxyzzzzyz{zzyyyzzyzzy{yz{y{yzzzzyyyzz{zzz{zz{zzzzyyzzzzzzz{zzzyyyzzy{zzz{zz{zzzyyyy{{{zz{{{yzzzzyzz{{zy{{{{{{zzyzyyzz{zzyzzzzyzzyzzzzz{zzzzzzzzzyyzzz{zzz{{{zzzzzzy{{zz{z{{{zzzzzzz{z{{{{{zzzzzzzyz{{z{{{{{zyzzzzzz{{z{z{{{{zzzzy{z{{z{{{{{{{z{{zzz{{{{{{{{zy|zzzzyzz{{{z{|z{yzyzzy{{{|z{{{{{zzzzzzz{{{{|{{zzyzzz{y{z{zz|{{zzz{yzzyzz{z{zyzyzzxyyzyzzzyzzzzyyxxzzyzzyzzzzzyyzyxyyyyzz{z{z{{yzxzyxzzzy{zyzyzzyzxyyyyyzzzzzzzyy{yzyyxzy{zyzzzyyyyzzyyyzzyyzzzz{yxyyyzzyzyzzzzxxzyyyzzyz{zyyzzyyyyyxxyyyzzzz{zzyzyyyyyyzz{yyzyzyzyzxyzyyzzyz{z{zyyyyyyz{yzzyyzyyzyzzyyzyyzyzz{zzyzzyyyzzzy{zzzzzyyzyzyzyy{zzzzzyyyyyyzzz{zzz{zzzzzyyyzzzzzz{zzzzyyyzyyzzzzy{z{{zyyxzyyz{zzz{{z{{yzzzzzzzz|{z{yzyzzyzyz{z{{z{||zyyzzzxzzz{{{{{zyzzzzzzy{{zzz{{|zyzyzyyyz|zz|zz|zzyy{{{zz{{zy{{|y{zzzzzyz|{{zzz{yzyzzzyz{zy{z{z{{z{zzzyy|{z{z{|{z{{zyyzzzzzz{{|z{{zz{z{zzzz{{|zzzyzyzzz{{zy{{zyzzxzyyxyyzzzyz{z{zzyyyzyzzzzzz{{z{yyyzzyyzzzzyzyzzyyyyyyzzzzyzyz{zzyxyyyyzzzzzzzzzzzzyyzyzz{zy{zyyzyyzzxyyy{y{zzzyyyzyzzyzzzzzzzzyyzyzzyxzzzzzzzzyzzyyyyzzzzzzzyzzyzyzzyyzzyzzzzzzzyy{yzyyzzyzz{zxzyyzyzyzyz{z{zzzzzyyyzyz{{{zz{zzyzyyzxyyzyyzz{zyzzyzzyz{{zzzz{{zyyzyzzz{z{z{z{zyzzzzzzzz{z{z{zzzyzyyyzyyzz{z{{{zzz{{zzyzz{zzzz{{zzyz{z{{{z{{z{{zzzzzy{z{yz{z{{{{zz{z{yyz{{|{{{z{yzzzz{zz|{{|z{|{zzz{{{{z{z{|{|z{zzz{z{z{{{{{{z{zy{zzzz{{{z{|z{zzyzz{zzzz|{{z{z{zzzzzzzzzy{|{{{{zzzzzyyy{zzz{|{|{{yzyzzzz{y{zz{zzzzzzyyy{{{z{zyyyyyyzzyyzz{yzzyzzyyyyzzzzzzy{{z{zzzxyzzxzz{y{{{{yyzyzyyyzzzzzzzzzyyxyxxyz{zzzzzzzyzyyyzyyzyyyzzzzxzyyyyz{{{zyzzzzyyyzzyyzzzzzy{zyzyzyyyyyz{yzzzzyzyz{yyyzz{zzz{{yzyzyxzyzz{zzy{{yyyyyzyzzzzz{zzzyyzyzyzyyzzzzz{{yyzyzzxzzzzzyz{{yyyyzzzyyzzzz{{{xy{zzzyzzzzz{zz{zzzyyzzy{zz{{z{{zzzyzyzyzzz{{{z{y{zyzzzyz{{yzz{z{zzyxyyy{{{yz|zzyzz{zzyzzzz{{|{zy{zz{yzzz{z|z{zzzzz{zzzy{z{y{{{|{yzy{z{y{|{z|{z{{zzzyz{z{z{{{|{{z{zzzzzyz{z{{{{{{zzzz{zz{zz{{{{z{zzyzzzyz{zz{z{{{zzzzzzz{{z{{z{{{yzzz{{zz{z{{z{{zz{xzzyyyz{{{zzzzzzyzzzyz{z{{zzzzzxyyxyxyyzzyzzzyyzzzyyyzyyz{{{y{yyyyzzyzzy{{zz{yyyyzyyzzzzz{zz{zzzyyzzyzzzzzzy{yyzyxzyyzzyyyyyyyzxyyyyzzzyzyzzzyyyyyzzzyzy{zyz{zyxyyzyyzyzzzz{zzyyyyzyzzzzz{zzyyyzyyyyyzzyzyzzzzyyzyzyyyzzyzz{yyyyyyxyyzz{yzz{yzzzxyyzxzzzzzyzzzzyzyyyyzyzz{z{zzzyyzzyz{z{z{zz{zzzyyzyy{y{z{zzzzzzzzxzzz{zzz{zzyzzzyzyz{zz{z{zzzy{zyzx{zzyzzzzz{zyzzzzzz{{{{{{zzyzzzzzz{zzzzz{{zzzzzzyy{z{{{{{{{zz{{zzz{{{{zz{|zy{y{z{zz{z{{{|{{zzzzz{z{|y{{{{{{{{zzyz|{zz{{{{zzyz{zzzzzz{{{{z{{zzzzyyzz{{{{zz{yzzzzzzzz{{{z{{zzzzzzzz{z{zz{{{zzzzyzyyz{{z{{zyzyzyyyyzyzy{zzzy{zzxzzyzyzzzz{{zzzzyzyzyyzzzyzzyz{zzzzzyyzzz{zzzzzzyyzzzyzzzz{zy{yyyyyzzy{{zyzzzzzyyzyzyyzzzyxyz{zyzz{zxyyzyzzzyzyyyyyyzyzzzyzzzzzzyzyzyyzyzz{zzzzzzyyzzyzzzzzy{zzzyyyyzzyzzxz{zzzzyzyxyxyzzyy{zzzyzyzyyzzzz{zzzzyzzyz{zyzzzzzz{zzzzzyxyyzyzzz{{{zzyzzzyzzz{zzy{zzyzzyyzzz{z{zzz{zyy{zyyzz{zz{z{zzzzzzzzzzz{zz{{z{zzz{zyzyz|z{z{{zy{z{zzzzzz{{{||{yz{{yy{zy{{zz{z{zz{zy{{{{{{{{{zzzz{zzz{z{{z{{z{{zzzzzzzz{{|{{|{yzzzzzzz{{|z{{{{z{z{y{zzz{zz{{|{{{zzz{zz{|{{z{{{{yzzz{zzz{{{{{|{z{zz{zzzz{z{zzzzzz{{z{{z{|{zzzzzyyyzyxyyy{zzyzz{yzyyyyzyzzzz{{z{{zzyyzzy{zzz|{z{zyzzzyyyzzyyyzz{zyzyyxyyyyzyyzz{zyzyxzzyyzyzzzzzyyyyyyyyy{zyyyzyyzyyy{zz{zzzzzzzyyyzzxyyyzyzyy{zzyyzzzyyz{zzzzzzyyyzxyzyy{z{zzzyyzyyzyzxyzzyzyzzzzyyyyyyz{zzyzz{yzyzyzyy{{yzy{{{yzzyyyzyz{{{z{{zzzzzzxzzyzzz{z{{yzzyyy{yyz{{zzz{{zzzzyyyzz{zz{{{zzzyzyzyzzz{z{{{zz{yzzyz{{{{z{{zzzyzzyzyzz{z{z{zzz{zzzzz{z{{|{{{z{zz{zzyy{z{{{{|{zzzz{zzz||zzz|{zyz{z{{z{z{z{{{{{zz{yyzzy{{zz{{{{zz{zzzz{zz{zz{|{zyzzzzzz{{zz{|{{zz{z{z{{{y{{{zz{zyzzz{{z{{zy{{{zzzyzyzy{zzzz{{{zyzyyyz{{z{{{z{zzyxzyyyyz{zz{zz{yyzyyxyyzzzz{z{{yzyyyyzyzz{zz{zzzyyyyzzzzz{zz{zz{{yyyzzxyzzzz{yzzyyzyyzzzzzzyzzzzyzyyyyzzy{yyz{yxyzyzyzyzyy{yzzzyyyzzyyyzz{zyzzzyyzxxyyzz{zzz{yzzzzyxzyyyzzyzz|z{yyyzxzyzzzzz{zzzyyzzyyy{{zzz{z{zyzyyyyyzzyyzz{z{yyyzyyyzzzz{zy{yzzzyzzzzzz{z{{zyyyzxzzzy{zzzz{{zyzzyyzzzz{{z|z{yz{zyyyyz{{{{{{{zzzzzzyzzz{zzz{z{yzyz{zz{{z{z{{{zzzyzy{{{zz{y{||zz{zzzzzz{{z{y|z{yzzzzzy{|{{z{|{yzzzyyzyz{{{zz{{zzz{{zzzz{{{{{{{{zyzzyz{{{{zz{zzzzzz{{zzzy{{{{{{zzzzzzz{{zz{|{{|{{zyz{zz{{zz{{{{{y{zzzzyz{{|{{y{yzzz{zzzz{z{{{z{y{yzzyyxz{zzzz{{zyzyyyyyzzzzy{zzzyyyyyzyzyzy{yyyyzyyyzzyz{yzyzz{zzzxxxyyy{zzzz{zzyyyzyzxzzzzzzy|yzyzzyyzzzzyzzzzyyzzyyzyzyzyzyzzzzzyyyzzzz{zyz{zyzzyxzyzyy{z{z{yyzzzzyzyy{{{yyzzzyyzzzyzzyzyy{zzzzzyzzyyx{zyy{z{zzzyzzyzyzzzzz{zyyzzyyyyzzzzz{zz{yzxzyzyz{{{z{z{yyyyyzzzzzy{z{|zyyzzzxzyzz{zz{{{zzzzzzzyzz{z{z{{z{zz{zyz{{zzy{z{zzzzz{zzz{{{{{{zzz{z{{y{z{z{zzz{z{zzzzzzz{{|{{{{{yzzzzzzz{{zz|{{{yzzzz{z{zz|{{{{{{{zzzzz{|{{{{zz{zzzzzz{{{{{{{z{{zz{zzz{{{{z{zz|z{z{{{zz{{z|y{{{zzyyz{zzyzz{z{|{zzzyzyzzz{z{{zzzyzzzzy{zz{zz{zzzzyzyyzyyyzzy{zz{zyzyyyyy{zzzz{{{zzzyy{zy{zzy{z{{zzyzzxxyyz{zyyzxyyzzyyyzzyzzzzzzzyyyyyyx{{zzy{{zzzzyyxyzyz{zyzzyzzyz{{yzzzy{{zyzyyyyxyyyxzzzyyzyyzyyyyyzyzzzzzz{zzzzzyxyyzzzzz{zzyyzyyzyzyyzyzzzzzzyzyyyyzyzyy{zzyzyzzyyzzzzz{{zz{zyzz{xzz{z{zzzyzzyzzzyz{{zzzz{yzzyyyyzzz{zzzzzzyzyzzyy{zz{{z{{{z{zzzyz{{{yz|{zzzzzyzxz{z{z{zz{zz{z|zzzz{{{{|{zzzzz{z{z{zzzz{z|zzzzzzxyzzzz{{|{{z{zzzyz||z{{z{zz{zzzzzz{z{{{|{|zyzzzzzyz|{{|{{{zzz{zzzz{{{z|{{z{zz{zz{zz{{{{{||zzzz{zzz|{{z{{{{{yyzzzyzz{{{z{zzzz{zyyzzz{{{yz{z{z{zyyzyy{{{zzy{yzyyzyywy{zzzyzzyyzyzxyyzzzzyzyyzzyxyzxyzzzzzzz{zyzyyyxyyyzyzzz{yzyyxyxyzzzzzy{{{yzyyxyyzzzyzz{{zyyzzzyyxzzyzzzzzyzyyzyyzzzzzzz{yyyxzyyzzzzzzzzzzyyzyzyzzzzzzzz{yyyyyxyyzz{zzzzzyzzzzyyxyzz{zzzzyyzyyyyyy{zzzzzzzyz{zzzyyyzyzzzzzyyyzxzyz{zzz{{zzzyzxyyzyzzyz{zz{yzyzzyzzyzy{z{{yz{zzyyyz{{zz{zzyyzyyzyyzyzzyz{z{yzyzyyzzz{{{zy{zzzzyzzzz{z{{{{{yzzz{yzz{|{||{{{yzz{zzzz{z{{{{zyzzzzzz{{{|{z{||{zzzyzzz{zzzz{{z{{zzzzzzz{|zz{z|{{z{zzz{z{{zz{{|z{zzzzxzz{z{z{{{{{zyzzzz{z{zz{z{|z{zzz{yzz{z{{{{z{zy{zzzzz{{{zzzyzzzyxyyzyzzzz{zzzzzyyyyyz{zy{yzzzxyzyyyyzzzzzzz{zzyzyyzyy{yyz{z{zyyzzzyyzzzzzyzz{zyzyzyzzyz{yzz{zyyyyzyxzz{zy{z{zxyzyxxyzyzzzzzzzzzyzzzyyyzzzyzzyyyyxyyxyzz{yzzzzyyxyyyx{zzyzyzzyyzzyzyyyyzzyz{zx{zzyyyxzyz{z{{{{yzyyyyyyyyzzz{yzyyzzyzzzzz{y{zzzyzz{xyzyzyzzz{zyyyyyyyzzzyyzzyzzzyzyyzyzzzy{z|{z{{zzyzzz{zz{z{zzy{{zyzzzzzzzzzzzzzyzyzyz{zzzy{{yyzyzyyzz{{zz{{z{zzzyyzzzzz{z{{|zzy{zyzy|{zzz{{z{zy{{zzy{{{z{z{{{z{zzz{zzzzz{{z{{{zyyzzzy{z{{|{{{zzzzzzz{{{z{{{{{zzzzyyzz{{z{{{|{z{zzy{{zz{{zz{zzzyz{z{{zzz{z{{{z{zzyyzyz{{{{y{zzyzyzyzy{{zzzzzzzyyyyyyyy{{zzyzzzzyyyyzy{zzyz{zzzz{yxyyxyyzyzzzzzyyzyzyyzzyzyzzyzyyyxyzyzzzzyyzzyyzxzyzyyzzzyzzyzyzzzyzyyzyzyyzzy{yyzyyyzyzyxzzyyxyyyzzxzyzyzzzxyyyyyzxxzxzzzyyyzzyzxyyxyz{yyy{{zyyyzxyyyzzzzzyzzzyxxyyyy{zy{zzzyyzyzyyyzzyyzzzz{xxyzyyxy{zyzzyz{yzxyyyyy{zzzzz{yzyyxzxyz{zz{z{zzzyz{yzyyyzzz{zyzzzyzyzyzzzzyz{{{zyzz{zyzzzzzzz{zyzyyzzz{zz{z{{{zzzzyzzzz{{{{z{z{zzyzyzy{{{zzz{{zxyz{zzzz{zz{{{{zz{{zyzyzzz{|zzzzzzzzzzzz{{{{{{{{zzyzyzzzzzzzzzz{zzyzzzzz|{z{z{{zzzzy{{z{z{{y{{zzzzyz{zz{{{z{{{{z{yy{yzzyzz{zzz{zzzyzyzzzzz{zzzzyzyyzyzxyzzzzz{zzzyzyyyzzyzzzz{zzyzyzzyy{zzzyz{zyyzzzzyyyzz{zzz{{zzzyyyyzzzzyzz{yyyzxyyyz{yzyz{zzzxyzyyyyzzzzzyzyyyyyyyxyz{zyzzzzxyzzyyxzzzzzyzzzxyyyyyyzyzzzz{zzyyyyzxzz{yzyyzzzyyzyyyyyz{yzz{zzxzzyyzyyz{{z{yzyyyzzyzyzzz{z{|yzzyzzzzyyzzz{{{zzyyzzyyzz{yz{{y{z{yxxzzzy{zzzzz|{zyzzzzzyz{y{{y{zzzzyyyzzy{zz{z|yzzyyyzy{{zzz{zz{zyzzzyyzz|{{{{zzzzzzzzyzzz{z{{{zyz{yy{y{|zz{{{z{z{y{yyzzz{zz{{{zzzzz{{{yz{{z{{{|zzz{zzzyzzz{|{{{zzzyyzzz{z{{{{zzyzzzzzz{z{{{{{|{zzzz{{z{{{{{{{zzzzzyzzzz{zzz{{z{yyzyzzz{{z{{zz{zz{yzy{z{{{zyzzyzzyyzyyxy{zzzzzzzyzzzxxzzz{zz{z{zyyxyzyyzzzzzzzzzzyyzzyyzyzzyzzyzyyxyyyyz{{zz{z{yzzyxyxxyzz{z{{yzyzyyxzxyy{xzzyzyzyyzyzyzyzxzz{yyyzxyyxyzzzzzzyyyzzyxyyyyzzyzzzzyyyyyyyxyzzyzzzzyzxyyxzxzzyyyz{zzyyxzyyzy{zzzzzzzyyzzzyyzyzzyzzzyyzyyyzxyyyzy{{{yyzyyzyzzzzzz{z{yyyyzzyyyz{yzzy{zzzzyyyzyzzzz{zzzzzyzzyzz{zzz{{zz{yzyyyzz{zzz{zzzy{yyzzz{zz{z{z{zz{zyyzz{zz{zz{{zzzzzyzyz{zyz{{{yyz{{zzzz{{z{z{zyyzzy{{z{zz{{{z{|zz{zzzzz|{z{z{|zzzyzzzzzzz{zz{z{zzzyyzzyz{zz{{{|zzzyzzz{zz{{{{zzz{yyzyzzz{{{z{{zzyzzzyyz{y{zz{zzzzzzzyyzyz{zzyzzzyyzyzzyzyzyzz{yyy{yxyyzy{z{z{{zyyyzyyyzzzzyzzzzyzyzxyyxzz{y{zzyyyzyyyxzyzzzyzzzxyyxyzyz{yyyzyzyyzzxzyzyzzyzzzyzzyyzzyyyyyzy{yzyyyyyyyyzyzzzzyzzyzyxyyzzz{yzzz{yzzzyzzyyzzzzz{zyyzyyzyyxyzzyzzzyyzyzyzyzzzz{zzzyzzyyyyyz{yzyz{zzzyy{yyyzzzyz{zzzyzyzyzzzzzzyzz{yyzzyyzyyzz{zz{{zyyzyyzyzzzzzz{zzyyyyzzyzz{z{z{zyyyyzyyzz{zzzz{{{{yyyzzzy{zz{zzzzzyyzzzz{{z{z{{{zyzzyyyz{{zzz{{zzyyyyyzz{{{{{z{zzzzyyz{z{{{z{z{{{zy{zzzy{{{{{{z{{yzzzzzzzz{{y{|zzzyz{yyz{{{z{{{|{zyzzzyzz{{|z{{{zzzyzyzzzzzzz{{z{zy{zzzyzzz{z{yzyzzyyyyyzzzzzz{zyyyyyyxyzz{zyzzzzzxyzzzyzzzzzzzzyyzzyxyy{zzz{z{{yyzyyxzzyyy{z{yzyyzyyyyyyzzzzzzzyzyxzy{zz{zzyzzyzzzzyyyzz{y{zzz{yyyxyzzxyyyzzzz{yyywxzyyzzzzzyzzzyyzyyyyzzzzzzzzzyzyxzzzyyzzzzzzzzzyyyyyzzzyzz{{yyzyyzyyyzyzyzzzyyy{zyyyzzzzz{{zzzyyzyyyzzyzzzz{zyzyyyyyzyzzy{yzyy{yyxz{yzz{zz{zyzzzyzzyy{{z{zz{zyz{zyzz{{z{z{zzzyzzzzxzz{z{zzz{zzzz{yyzz|{{|{z{yyzzzzz{zzz{{z{{zyzzzyyz{{zzzzzz{zyzzzzzzzzyz{{z{z{y{{z{z{{z{{z{z{{{zzzzz{{{{{}{|zzzzyzzz{{z{{{zzzzzzyz{zy{{|{z{{zzz{{zzz{yz||{zzzzyzzz{z{{{|zzzzzyzyzzzz{z{z{y{zzzyzyyyz|{{zzyzyyyzyyyzz{zzzzz{yzzyyyyzyzzzy{zzzyzyyyxyyzzzzyzzyyyxzyyyzy|zyy{{zyyxyyyzzzzyzzzz{yyyyyzzyzzxzzzzzyzzyyyzyy{zyy{zzzzzxyyyz{z{zzz{yyzyyxyyz{yxz{zzyyyyyyyyzy{z|zzzzyyyxyyzy{zzzz{zyz{yyyyyyyyzyzzyzyzzyyxyzzzzzzzzzxyyyyyyzz{zyzzz{yyyzyyzzzzzzz{zz{yyzyzz{zzzzz{{yxzyyyyzzzzz{{{zzyyyyzzyz{{zy{z{zzxyzyzyzz{zz{zzzzyzzyzz{{{zy{{z{zxzz{yzz{{zz{z{zzyzzy{zz{z{zz{zyzyyzzzyzz{yzz|{zyyz{yyz{{{z{{{{{zz{zyzyzzzz{z|{z{zzyz{yz{{{z|{{zzzzzzzzzz{{{{{yz{yxzzyy{zz{{z{{{{yyzzyy{{z{{z{{zzzz{zyzzz|{zz{{zzyyyzzzz{zz{{{{{{zzxyzz{zzzzzy{y{yyyzyyzzzy{zzz{yyyyz{yyyyzzz{zzzyzyzyyzzzz{{z{yxyxzyxyyzz{z{zz{zxyyzyxzzzzz{z{zzyyxyyyy{zzzzz{zy{yyyzyz{zzzzzyyxxyyzy|zzyzz{yyxyyyyxyyyzzzz{zyzyyyzzyzyzzz{z{{yzzxzyyzzz{{yzz{xzyyyzyzyy{yyy{zzzzyyzzyzyzzzyzzzzyz{y{zzyz{{z{{zzzzzyzzyzzzy{{{yyzzyyzyy{{zzy|{zyzzyyyzyzzzz{{{zyzyxy{zzz{z{{{zz{zzyzzyzz|yzzz{zzzyzzz{{{{{zz{yzzzyzzzzz{{{z{{zzzzyzyzz{z{zz{{{zzzzz{yz{|z{z|{{{yy{{yyy{z{{{z|{zyzzx{{zzzzzz{{z|zz{{{zzz|{{{|{{{zzzz{zz{y{|{|{{{z{zzyy{z{{{{z|{{{zzzzzzzz|{|{{|z{zyzzzzy{z{z{z{{zzzzzyzzzz{zz{{{{{zzzyy{z{zz{zzyzyzxyyyzzzzyyyzzzyzzyxyzzyz{{{{zyyyyzzy{yzz{{z{zyyzyyyyyyyzyzzzzyyxzyzyyzzzz{z{zyzyyyyyxzyyyz{zyyzyzyyxz{zzzzzzzzyxyyyyyyyzzzy{xyzyyyyyzyz{zyzzzyxzyxyxyzyyzyzzzyyyyzzxyyyzzzzzyyzyyyyxyzyz{{yzzyyyzyyyyyzy{yz{zyxyzzyyyzzzzyzzzyyzyyxyzzyzz{zzzyzxyyzyzyzyzzz{yyyyyyxyzzz{y{{zyyyxyyyyz{zzzzzzzyyxy{yyy{zzz{{zzzzyzyyzz{{zzzzzyzzzyzyyzzzyzzzzyyyzzyzyzzz{z{{{yzz{yzzz{{z{z{{{zyzyyzzz{zzzz|{|{z{{yzz{y{{{{z{{zz{zzzzzz{z{{{{{zyzyzzzy||z{z{zzzyzzzzzzzz{z{zzz{zyzzzzyzyzzz{{zyyzzzyzyy{zzzzzz{zyyyyyyyz{{zz{zyyyyyzyyzyzy{{zyyyyzyxzyxzzyzzy{zyxyyxzyy{{zz{zzzyzyyyyzyyyzzy{zyyyyyzyyzzzyzy{zyzyyyyyyyzzzzzzzzyzyyyzyyzyyyzzzzzyyyyxyyzzzzyzzyzyxyzyyzyyzy{zzxzyzyyyyzyz{yzzzyyyyyyyy{zz{zzzzyyzzyyyxxzzyzzzzyyyzyxyyyzzyzzyzyzyyyyzyyzzyz{{|yxzyyyyyyz{yzzz{{{zz{yzyzz{{zzy{zzyyyyzzzzzzzyzzyxzyzxz{{zzzzy{zzzyxyzzyy{zzz{zzyyzzy{yzzz{zz{{zyyzz{{xzz|zzzz{{z{yzzzyyzz|{z{{{zzyzzzzz{{{zzz{{{yz{zzzyz{zz{z{{zzzzzzyzy{{zz{{{zzzzzz{zz{z{{{{z{xzzzzzzz|z{||{{zzzyzyzyz{|z{z{zzzz{{{z{zz{{z{{{{yzzzzyzxzz{z{{|zzzzyzzzz{zzzz|{zzyzzzyzz|z{zz{{zyzzz{zy{{zzyyyzzyzyzyzxy{z{zz{{zyyyyzzyzzzzzzyyzzzzyyyyzz{zxzz{{yyyyxyyzz{zzzzzzzyyzyzyyzzz{zzzzyyyyzyxzzy{zz{zzyyyyzyyzzzyzzzzyxyzxyyyzyyzz{zzyzyyyyzyyyzzyzzzzxyyyyxyyyzzzzy{zyzyyyyyyzzzzzzzzyyyyzyzx{zzzyzzyzyyyyyyyzzyyzzzzyzzyyyyzzz{yzy{{yyzzxzyzz{zy{yzyzyzyyxzyzzzz{yzzzzzyxyyz{z{zz{{zzzyzzzyzy{zz{zz{zyyzyyzzzz{zzzyzyzzyyxyy{{{z{{zzyzzzzzzzz{zzz|{y{yyz{zzzzy|{{|{zyzzz{z{z{{{{{{{zyyyy{{y|z{{zz{{{yz{z{zz{{{zz{{zzzyzyzzyz{z{{{|{zzz{zzz{{{{{{|z|{yyzzzzz{{zz{|z{z{zzzzzz{{zz{{{zzzzyyzzy{{{{{||z{zyzzzyyz{zzzz{zyxzyyxyyy{z{zzzzxyyzyyzyxzz{{yzzzyzyzwyzyzyzzy{{zyzxyyyyz{zzy{zzzyyyyyyyy{{zyzzzzyyy{zyyz{z{zyz{zzzxzyyxy{{zzzzyzyzzzyzzyz{zzzzzyy{yyyyyyxyzzyz{zxyxyyzyzyzyzzzy{yyyxyyyzzzyzzzyyzyzyzyyyzzzyzzzyyyyyyzyyxzyyzzzzzzxyzyyzzy{zzz{zyxyzyyzzzz{y{{{zyxyxzyyyyy{zzy{yyyyyyxzyzzzzzz{zyzzxyyy{{zz{z{{zyzzzzzzyzyzz{z{zyzyzyyyzzzzy{zzzzzyzzyzz{zzzzzzzz{zz{zzzz{z{z{zzyyz{{yzzzz{{{{{zzzzzzzzzzz{{{zz{zzzzz{y{{z{{{{zyzzzzzz{zzzzz{{{zzy{yy{yzzz{z|{{yzzz{zzz{{{zzz{z{z{yzzzzz{z{z|{{{zzzzzyz{z{{{|{zzzzyzz{y{zy{{z{{yzzzyyyyz{|yz|z{zyyyzyzyyzzzzyyzzyyyxyyyyzyzzzzzyyyyxyyzzyzzzzzzzyzyyzyyz{zyzz{yyyyxxyyyyzyzzzzzzyyyyxzyzyzzyyzzyyyyyyyyzzzzzzzzyzyyyyyzzy{zzyzzxxyyyyyzzxzzzzzzxzzyxxyxyzzzzyyzyyyyyyyzy{z{zyxzyzyyxyyxyyzyzy{zyyzyyyyyzz{yyyy{yyyxyzyxyzyzyyzzyyzyzyzxzzzy{zzyzyyzyyyy{z{zzz{{yzyzzz{zzzyyy{zzyyzyzzyxzz{zzy{{yyyyzyyyz{yzyz{z{z{zyyzz{zz{yz{zzzzzzyyz{{zyzz|zzzzzzyyzz{{{y{z{zzzyzz{zyz{{zzz|{yzzyyyyyz{{{zzz{zzyz{zz{z{{{{{{zyzzzzzz{zz{{{{{{zz{zzzyy{z{|z{{{{{yzzzzzzzz{zzz{zyzyz{zz{{zzz|{yzzzzyzyzzzzz|{{zzyyz{zzz{{zz{{zzzxyyyzzz{z{{zzzyzyyzyyyyz{z|zzzyyyxyyy{xzzyzyzyyxyyzzzxzzz{zzzzyyyyyxyzyzzzzyzzzyyyzyyyzzzyxyyzyyyxyyxyzyyyzzzzyyzzzyxyzzzxyz{zyyyzyyyzzyzyyzzyyyyyyyxxzzzzyzzzyyyyyyyyyyzzyyzyyyyyxyyyzxzyyzz{zyxyxxyzyzzzyzzzyyyyyxyxxyzyzz{zzxyxyyxxyyzzzzzzyzyzzyyyzzzzzz{zyxzyyyyyyyzzzz{{yyzyzzxyzzzzz{{zzzyyyyyyzz{yzzzyyzzzyyyzyzzz{{{z{yyyyzzyyzz{y{{{yyyyzyxyzzz{z{z{zzzyz{yzy{y{{zzzzzzzzzzz{z{{z{{{{yyzyzyy{z{yz{{zzyyyy{{zz|zy{z{{zyzyzzyzyzzz{zzzzzzyzzyyz{zzzz{z{zzzzyzy{{z{{zzz{yzzyzzzyyzzz{{|zz{{yyyz{{z{z{{|z{yyzzyzzz{{z{{zzzz{yz{yz{zz{z{zzzyyyzyyzzzzzz{yyyyyyzyxyzzyyyzzzyyyyxxyzyzzzzzzzzzyyyyy{zyzyzyzzyyyzyyyzyzyzzzzzzyyyyxxzzyzyy{{zyzyyzzyzzyyy{yzzyyyxyyxzzyyyzyyyxzyzyxyxyyzzzzzyyzyzyyyzyzzz{zyyyyyxzyxzyzzyzzyyzzyyyyyyy{zzzzzzyyyyyyyyyzyyzyzy{yxyyxyz{zzyzz{yxzyyyzyzzzyyyzyzyzzzzzyzyyzzyy{yzyzyyy{zz{yyzz|yyyzyyyzz{{z{{yzyyzzzyxyzzzzz{yzzyzyyzyyzzzzzzzzzzyzyzyyzzzyzz{zzzzzzyyyzzzz{zzzzzzyzyyz{zzzz{{zzzzzzz{yzz{z|{zzyzzyzzyy{{z{z{z{{zzzzzz{zz{z{{{z{zzzz{yz{{zz{z{zz{zzzzzzzzz{{{zz{zzzzyyzz{zz{z{|{{zyyzz{{yzz{{z{{zzyy{zzz{zzzz{{{zzz{yzyz{z{{z{zzyzzywyy{zz{y{zzzzyzyyyxyzyyzzzzyyyyyyxyzzzyzz{zyzzyzzyyzzzyz{z{yyyzzyzyzzyzyzzzzzyyyyzyzzzz{zz{zyyyyyzzyyyzzzzz{yyyyxyyzyzzzzyzzzzyyxyyy{zzzzzzxyzzyyyyyzyyyz{zyzyyyyyyyzzyzzzzyyyzyyzyzz|zzy{zzxyyzzyyzzzyz{zzyxyyzyzyz{yzz{zzzzyyzyyzzzzzzz{{zzzzyzxzzzz{z{zzzzzyyxzzy{zyzz{{zzyyyzyzzzzz{{|zzzzzzyzzzzz{zzz{zy|yyzyyzyzz{{{zzzzzzzzz{z{zzzzzz{yz{zzz{zzz{z{{{yzyzz{z{{z{z{z{zz{zzy{zz{z{zz{{zzzzzzzzz{{z{{{|{zzzyz{z{{zz{{z{{zzzzyy{z{{{zz{{zzzzzzyzz{{{{{z{{zyz{yzzzzzzy{||{zyyzzzz{zz{|{|{{zyzyzzzzz{z{z|zy{zzyzzyz{{{yy{{zzzyzzyyz{{zzz{yyzxzyzyxzzzyzyzzzyyyyyzzzzzyzz{{zzzyzzyxyyzzyz{zzyyyzyyyyyzzyyzzzyzyyyyyyzzyzzzzzzzxzzyxzzzzyzzzzyzyyxyyyyzz{zyyyxzyzzyyyz{{zzzzyyyyyzyyz{{zzzzyzyxzyyyyyyzzzzzzyzyzyyyxzzz{yz{zzyzyyy{zyyyyzyyzyzzyyxyyy{yzy{{zzzzyyyyx{z{yz{zzzyyyzxyzzzzzzzz{zy{yyzyyzzyzz{zzyyzyzzzzyyz{zz{{zyzyzyyyz{zz{{zyyzyzzyyy{z{yz{|{zzzzzyzzzz{zz{{zyyzzzz{{z{z{z|z|zzzzzzzz{zz{y{{|{{yzyzyy{{|{zz{z{yzzzyyz{{zz{zz{yzzzy{yz{|z{{{z{|zzzzzyzz|{{{zz{{{z{z{zzz{{{zz{z{yzzzzzzzzzz{{{y{zzzzz{z{{z{{{z|zzzzyzz{{{z{{z{{zzyyzzyzy{z|zz{yzz{zzyzyzzz{{{zzzyyzyyzyzzzyzzzzzyyyyzzyyzzzz{zzyzxzzzyzzzzyzyzzyzxyyyzyzzz{zz{zyyzwyzzyzzzzzzzzzyyyyyyyzzzzy{zzzyzyyyyz{{zyyzzzzyxyzyzyyzyyyzzzxy{yyyyyzyzyzzyzyyxzyyzyzzyyzy{yzyzyxzzyzz{zyzzzyzyyyyyyyzzzyzzzyzyzyyyyzyzyzz{zyzyzzyzzzzyz{{zzyyyyyyyyzzzzzzyz{z{yyyzyzzzzzz{|yzzyzzyzy{{{{{zz{zz{zzyyzz{zyz{zzyzzzyyz{{zzzz{{zyzyzzzz{{zz{z{zzyyyzzyzzyz{{{{{zzzzzzzz{zz{zz{{zyyzzzyz{{{z{{{{{yyzzyzzy{{zz||{zyzzzz{zz{zz{|{|{zzzz{zzz|{{{z{{{zz{zyzz{{zz{z{{zz{zzyzz{zzz{zz|{{zz{yzz{{{{z|{{{zzzyyzzy{{z{|{z{zzyzz{zz{z{zz{zyzz{zzyz{z{y{yyzzxyzxyzzzz{y{zzzyzyyyyzyzy{zz{zzzzzyzyyzzzzzzzzzzyzyyzyyzyyzx{yzyzzyyzyyyy{zy{y{zyyyyyyyyzyzzzz{zyzyyyxxyyzzzzzzyyzyyyyyzzz{zzz{zyyyyxyyyzyzy{zzyyyyyyyzzyzzzzyzyyzyyyyzyzz{{zz{zzyxxyxyxzzzzzzzyzyyyzzyyzzyzzz{zyyzzzyyyzyzz{zzzzyyzyyyzzzzy{{{zyzzzzzzzzyz{zzzzyyxyyzyz{zz{zzzzzz{zzzyyz{{y{z{zyzz{zyyz{{zzzzzzzzzzxyzz{zz{{z{zyyyzzzy{zzz{{{{zzzyzy{zzzy{{z|{zzzzzzy{zz{zzz{zzxzzzzzyz|{z{{{{{zzzy{{zz{z{{{z{{z{zy|z{{{{{{{{zzzzzyzzz{{{{{zz{zyzzyzyzyzz|z{{{zzyzzzzzzzzz{{{|zyzzzyyzzzzzz{{zzzz{zz{yzzzzzzz{zyy{zyyzzz|{zzyyzyyyyxyzyz{zzzzzzzyzyyyyyzzy{zz{zzzyyyyyzzzyzzzzzyzyyyyzzy|{zzzzyyyyzyyxyzzzzzyzzzzyyyyyyyzyyzzyzzyzzzyyyyzyzzzzzyyyyyzyzzyyzyzzyyyzyyyyyzzyy{zyyyyyyzyzyzzz{z{zyyzyxyyzyyy{{zzzyyyxyyyyyzyyyyyzyyzyzyzyyzyzyzzzyxyyyzzyzz{zy{zyyyyy{zyyz{{zzzzzzyzzyyzyzy{zzzzzyyzzzzyzz{{zz{zzyzyz{yzzy{zzy{zzzzzyzyyy{{zzzz{zzzyzzyyzzzzzyzzzzzyy{xzzzzz{zzzzzyzzzyy{{zz{{zz|zzyyyyzyz{{{z{{{zy{z{zzz{{{z{|{{zzzzzzz{{zz{z{z{{zz{z{zzz|{{{|z{zzy{yzzzz{|{zz{{{zzzzyy{{zz{{{|{zz{zz{zz{{{zzz{{{zzyzzzzz{z{|{{{zzyz{yyzzz{zzz{yzyyyzyyzzy{yzzyzzyyxyyxxzyzyyyzzzzyyyxyyzyzz{zz{yyzyyyyyzzzyy{{zzyzyxyyzy{zyz{z{zzyyyyyyzyzzyyyzzzyyyzyyzzzyyyyyzzzyyyyyzyzzzyzyyyzyzyzyzyzzyzzzyyzyyxzxzyzyz{zzyyyyyzyyyzzzzzzzzzzxxyyzy{yyzyzzyyyyzyyyyyzzz{zzyzyxyyyyyzzzzz{zyyyyyzyyzzyzzz|z{zyyzxzyyyzzyz{{{zyyyzyyyyyzz{yzyxyyyyyyzzzzzzzzyyyzzyzzy{zz|zy{zx{yyyzyzzzz{z{zzyzzyyyzy{{zy{{zzzzzzzyz{{z{zz{zzyzyzzzzzzzz{{z|zyyzzzzyzzzz|{|{zzzz{zzy{|{zz{{|zzzzz{zzz{{z{{{{{zzz{z{{zz{zy{z{{{{yz{z{{zzz{z{{{zzyyz{zzzzzz{{{{zzz{z{zz{zzz{z{{zyzzzzzy|zz{{{zzz{{yyyzyz{{{zzyzy{zyxzy{z{zzzzzyyzyyzxyzz{zyyyzyyyxyyyyy{zzz{z{zyyyyyyyzy{yz{zzzzzyyyzzzyzyzzz{yzzyyzyyyzyzyzz{yzzyyyyxyzzzzyzyzzyyxyyzzyyyzyyzyyzyyyyyyzzz{zzyxyyyyzzyzyyyzzzzyyyywzyyyyzzzyzyywyzyyyxzzyyz{zzyyzyzyxzzzzyzzzzyxxyyyzzyyzyyzz{yxyzyzxyz{zzyz{zyyzyyzyzy{zzzzzyyyzyzxyyzzyzyzzzyyyyyzyyz{{yzzz{zzzzzyyyz{zzz{zzzzzyyyyzzz{zzzzzzxyzzzyyzzzzy{z{zzzzyz{y{{zzzzzzyyzyyyzyz{|{z{{{{zzzyzyyzz{z{{z{zyzyzzzz{{{yz{{zzzzzzyzyz{zz{{{{|zzzzyzzz{z{{{z{zzzzzzzz{zzzzzzzzyzzzzyzz{z{zz||{yzz{yyz{z{{{{{{zzzxzyzzzzzzz{|{zzyzyzzyzzz{zzzzzxyyyyyyzzz{zzyyyzxzyzyyyzzyzyzzyyzzyyxyyyyyzyz{zyxxxyyyzzyzyzzzzxyyyyyzyzzyy{{zyyzxyxyxyyzyzzzzxyzxyyyyxyzyzzzzyyyyyxxy{zzzzz{zyyzyyzxzyzzyxyzzyyxyxyxxyyyyyyz{zyzyxyyyzzzzzzzyyyyyyxyyyyy{yzzzzyyxxxyyxzyzyzz{zyyyyyxxyzzyzzyyzyzzyyyyzyyxyzzzzyzyzyyzyzzzyzzzzyyzxyyzzzzzxyz{zzyxzzxy{z{zzz{zyyzyyy{yyzz{zzzzzyzxyyzyz{{zzzzzzyyyzzyzzzy{yzzyzyyzz{zzzzz{yz{|yzyyzzzzzyz{zzz{zzyzzyyzz{zzzzzzzy{yzzyzz{zz{z{z{zz{zzz{{{{zz{{{{zzzzzz{{|z{{{z{zzzzyz{{{{{z{{z{{zzzzz{yyzzzzzz|zzzz{zzz{zzzz{{|{zyyyz{yzz{z{z{z{yzzyyzyzzzzzz{{yzzyzyyxzz{zyzzzxyxyyyyyyzzyyyy{yzzyxzzy{yzyzzzyzyyyyzyyzyy{zz{zyyyyzyyzzzyzzy{z{yyzyxyyyzzyzzy{yxyyyyxyyzzzyy{yzyyyyyyyyz{yyyzzyxyyyyyyzzyzyzzzyyyyyyyxxzzzz{zzyyzywyxyzyzyzzzzyzzyxyyyzzyzzyzzyyyyyyxyzzzyzzzzzyyxyyyyyzyyyzzyyyzzyyyxzzyyyzz{zyzyyyzxz{zyy{zyyyyxyyzyzzzzzzzzyzyyzyyyzyzzzz{{yz{zzxyyy{zz{zzz{yyyzzzyzz{zzz{y{yzzzyzzzy{zz{zzzzyyyz{zzzy{{{{{zyzzyzzy{{{zz{{zzzxzzyzyz|{zz{zzzyzzzzzz{{z{zz{zzzyz{z{zz{yzz{{{zzyzz{zyz}zzz{{zzyzzzy{{{zz{{{{zzyzzyy{zzzy{{{{{{{yz{zz{{{z{{z{{zzzyyyzyzzzzzz|{z{yzyzzz{z{{zz{zzzyyzyzyzzyzzy{zzzyzyyxyyyzzzyzzzzyyzxyyyyzzzzzzzyyyyzxy{zz{{{|zyzyzyyyzzzz{yzyzyzxyyyyyyzzzzzzzzyxyzzzy{{zyzz{zyyzxyyyyyzzyyzzyzyxyyyxzxzzyyzzzyyyyzyyyzzyzzyzyyxyzyxyyzzzyzzzyyyyzyxxy{zyzzy{zyyyzyyzyy{zzyzy{zzzyyzxyyzzyyzzzzzyyyzyyyzzyyzzzyyyyyyyzzy{{zzz{yyyzyyyzzzzzy{zzzyyyyyyzyzzzzyz{zyyyzyzy{{z{y{zzyz{yzyyxz{zyzz{yzzzyzyyzy{{zzz{yzzzzzzyyy{{{z{{{zyzzzyzzzz{zzzz{yzz{yyz{z{{zy{{{zz{{zyyyz{{{{{{zzyzzzz{y{|y{{|{z{zzzz{zzz{{{y|||zz{yyzyy|{{{z|z{{yzzzyyzz{zz{{{{{zzxzzxy|z{z{{zzzzzzzzzzz{zzz{{zz{zzzyzyz{zzz|z{yyzyxyyyzy{zzzzyyyyyyzyxyzyzzz{zzyxxzyyyzzzyz|zzzzyzzyyxzzyyzzzzyyyzyyyyzzz{zzzzzxyyxzzy{zzzyzz{yyzzyxyyyy{zzzzzxyyyyyyyyyzyyzzzyyyzyzyyzxzzzzy{zzyyyyyyzyyzyz{zyyyyyzxzyzy{yzzz{yyzxxyyyzyyzzzyyyzzyyzyyzyy{zzzzzzyyyyyzyyyyzzzyyzxzxzyzzyyyyz{zyyyyyyxyzzzzz{{yzzyyzzzzzzzzz{{yyzyyyzyyzzyzyz{yzyzzyzyyzzz{zzzzzyzyyzyz{{zz{{zyzy{yzzzz{zzyzzyzzyzzzyyz{{zzzzzzyzyzy{{zyzz|{{{{yzzyyyyzzzz{z{yzyyzzyzz{{{zz{{{z{zzz{y{z{zz{z{{zzz{z{z{yz{{z{{}zzzzzzzzzzzzzzzzyyyzzzzzzz{z{{{{zzyzzyyz{{z{{{{{{zzyzzzyzzzzzz{z{zyzzzzy{zzzzzzzyzzxzxyyzzzyyzy{zyzyyyyxyzyyz{zzzzyyzyyyyzzzzzzyzyyyyxzz{yyz{{{{zx{zyyyyzzzzzz{{zyzyyyzyz{zzzzz{yyyyyyzyzzzzxzzzyzyzzyyyyzzyy{zzyyzyyzzyyzyzzyzzyxyxyyyyzzzyzzzzyyyyxyyzzyyyz{zzyyyzyyzyyzzzzz{zzyyyzyyyyzzyzzzzyzxyyyyyz{yzyzy{{yyyyzyyzzyzzz{yzyzzzyzzy{zzzyzzzyzzyyzyzyzzyz{zzzzyyxzyz{z{z{{zzyzzzy{yyzzz{z{zzzz{zy{zzz{zz{{zzzxyyyxzyzyzyzzz{zyz{zz{zzzzz{||zzzzz{zz{zz{zz{|zzzzzyyzzz{zzz{{zzzzzzzz{{{{{{{zz{{zzz{zz{z{{zz{{zzzy{z{z|{{z{{{{z{zzyzzyzzzzz{{zzy{yzzzzzzz{{{|{{zzzyzz{{{{{z{zzzzxyzyyzzyz{{{{{zzzzzyyz{{z{{{zzyzxyyyyzz{zzzyyzyxyyzxxzyzyzyzzyyyyyyzyzyy{zz{zzyzyyyyyzzy{zzzzyyzyzxyyzyzyyyzzzzyyzxyyzzzzyzyzzyyyyyyxyzzzzzzzzyzyyyyyyy{zzzyzyyzyzyxzyxzyzyzzxyxzzyyyzyzyyyzyzyyyyyxzzzzyzzyzzzyyyyyyzzzzzy{zyyyyzyyxzzyxzzyyzyyyxyxxyzzzy{{zzyzzzzyyyyyz{zzzzzyyzzzzyzyzyzyzzxzzyyyzyyzzyzzzyzzzyyyyz{zyzz{yzzyzzyyxzz{{{|zzz{zyyzzzz{zz{z{{zzyzzzzyz{zyz{zzzzzz{z{z{z{{{{{{yzy{zz{zzz{zz{z{{yzzzyzz{z{z{{zzzzzyzyzy|{{z{{{zzzzzzz{zz{{{{{{|{yzzzz{z{{z{z{{|{zzzzzyzz{z{z{{|z{zzzzzzzzz{z{{{{zyzzyzzz{z{{{z{{zzy{zy{y{zz{{|{zzyzzzz{zzzzzy|zzyzyyxzyzzzzzyzzzzyyyyzyyzzz{zzzzzyzyyyyz{{zzz{{yzyyyzyyzzzzyz{zzzyzyyyzzzzzyz{{zyxxxzyxyzyzzz{zyyyxzyyxzzzzzzzyyyyyxyxzyyzzyzyzyxyxz{yyyyzzzzzzxyyxyxyyyyzzz{zyyyyzyyyyzzzzzzzzzzzxyxyyzzzzzzzzzzyyyyyxyzzzyyzzy{xzyyzyzzzzzzzzyyzyzzyyzzzzyzzzzyzyzyzzzzyyzzzzzzzyzyzzzy{yzzy{yzzyyyzyzzzzzz{{z{zyzzzyyz{zz{{zzyyyzyzzzzzzzzz{zyyzyyyyzzzz{z{zzyzyzyzzzz{{{{z{z{zyzzyz|zzz{zz{zzyzzzyy{{z{z{{z{zyzzyzyz{{z|{z{zzzzzz{{{{{{zz{{{yzzy{zz{|z{{{{zzyz|zzz{{{{{{{{{|zyzz{zzzzzzyz{z{zzy{zz{zy{z{z}{{zzzzzyzzzy{{|{z{zzyyz{yzzz{z{zzzyzzzyzz{z{z{{yzxxxyxyyyyzzzzyzzyyyyxzyyzzzz{z{zzzyyyyzyzzzyzy{zzyyzyyzyzzyzzyzzyyyyyyyxzzy{yzzzyxyyyyyxxyzzzzyyyyxyyxyxyzzyyyzzzyyyyyyyzyzyzzzzyyyyzxyyyzyzzy{zyzyyyyyyyyyzzyzzyzyyxyyxzyzzzyy{yyzyyxyxyzyyzzz{xzyyyzyyyzyzzzzzyxyzzzxyyzyzzz|yyzyyyyyyyzyzyzz{y{zy{yyyzzyyyzzzzyzzzyxyzzzzz{zzzyyzzyzyzzz{zzzzxyzzzyyy{{{z{{{zzyyzzyyzzy{zzzz{{zyzzyyzz{{{zzz{yzzyz{yzz{{{z{{{zyzzzyyzz{zzz{z{{yz{{yzyz{{zzz{zz{{zzz{{{zy{|{z{{zzzy{z{z{z{{{{{{zzzzzyz{z{{z{{|zyzzyyz{zz{z{z{{zyzzzzzz{{z{{{z{{zzyzyzzyzz|zzzzzzyzzzzyz{z{z{zzzz{xyzyz{zzzyyyz{zywzzyyyzzzyy{zzyzyyxyzzzzzzzzzzyyyzyyyzyzyzz{zzzzyzzyzzyzyyzzzyyzxzzyxzzz{z{zzzyyyyzzyyzzzyzzzzzxxyxzyyyzzyzyzzyyyyyxyzzxzzzz{yyzyzyyyzzzyyzzzyyyyzyyyxyzxzzzzyyzzxzyyzyyzzzzzzzyyyyyyzyyzyzyyzyyyxyyyyzyyz{{{{yzyyzyyzzy{zz{zyxyxzy{xyzzzzz{z{yzyzyzzy{zz{zzzzzzyzyyzzzz{zz{{zyxz{yyyzz{zz{zyzyy{y{yzy{{{z{{z{yzzz{xzz{zzzy{z{zy{yzzzzzzz{z{{xzzyzzyz{zz{{z{{zyyyzzzyzzz|zz{zzzyzyzzyzzy{{z|{zzzyy{zzzz{{{{zzzyzzzyzzz{{z{{{|{z{zyyzzzzz{z{z{zyzzzz{z{{{zz{zz{{zzzzzyz{z{{z{{zzzzyz{zz{z{{{z|z{zyzzzyzzzzz{{zyyzzzzyyz{zzzzzyyyyyzxyyx{yzzz{zyyxzzxyyzxzzzzz{yyyyyyxyyzzzz{zzzzyyyyxyyzzzxyzzzyywxyxyzyzzyyzzzxyyxxyxyzyyy{{yzyyyyxyy{xzyzz{zyyyyyyyyxzxzyzzyyyyyxyyyzzyzzzzyzxyyxyyyzyyxyzzzyxyyxyxxyz{zzz{zzxzzyyyyxyzyyyzyyzyyzyyyyzyzzyyzyyyyxzyyzzzzz{zzzyyyyyyxzzyzz{zzzyzzyxzzzzyyzzzzyyyxyzxzzzzzzyzzzyzyyyyyyzyzzz{zzyzyyzzz{zz{zz|{yyyyzxyzyzzzzzzzyyzyzyzyyz{{z{z{yy{y{xyz{{{{{z{z{zz{zzyzz|zzzz{zzyzzzyzyz{{z{{{z{yzyz{yzzz{zy{zz{zyyyzzzz{{zz{z{{yzy{zzz{yzz{{zzzyzzzy{{z{yz{yz{zzyz{z{z{{{{zzzzz{zzyyzzz{z{zz{{zzzzyyzz{zzzzz{zzyzyyyzyyzzzzz{yzyyyzyyyzyyyzz{{yyyzyxyzyyyyzzz{zyzyzzyzyzyzzzzzzyzyzyzxzzz{yzzzzyyyyxyy{yzyyzzyzyzxyyyyy{zyzzzzzzxxyyyyyyzyy{yzyxxxzzxxzzyzzzzyyyyyxyyyyyzyzyzzyzyyyzyyyyzzz{zzxyzyyzxzxzz{zzzyyyxyzyyyyy{{yzzyyyyyyxzyyzzzyzzzywyxzyyyy{zzy{zyzyyyzxzy{zzyz{zyzyyzyyyzzzzz{yz{yyzyyyyyzzy{zzzy{yzxyyzxyzyzy{|zyzzyzyyyzy{{z{zz{yzyyzyzyz{yzz{yz{zzyyyzzz{z|{{zzzzxyzzzzzy{zzzzyyyyzyzyy{{{{zzzzyzzzzzz{z{{zz{zzyzyzzzzzz{{{{{{zzzyyz{z{{{{|zz{{zzzyzyyz{{{{zzy|zy{zzyzz{zzz{{{zyyzzyyzzzz{{{{zyzyyyyyzyzyzzz{{z{zzxzyyzzz{zz{zzyyyzyzy{y|{zyzy{yyyyyzxyyzyyyz{zyyzyyyxzyyzz{{yyyzxyyyxyyyzyzzzyzyyyyxyyzzzxyzzzyxyyyyyyyzzz{zzzzyyywyxyz{yzyzzyyzyyyzyzzyyzyzyyxyyyyxxyzzyzzyyyyyxxyyxzyxyzzz{zyyyxyyyyyyyyyzyzyyyyzyxyyzyyzzzyyxyyxyxyyzzyzyyzzyxyyyyxzyzyyyyyyyyyyyzzzzzzz{zyyxyzyxyyzxyzzy{yzyyzxzyyzzyz{zzyyyyzyyzyzzzyyzzyyzyzyzyyzyzzzyzyyzyzzzyzzzzzzzzyyyyxyzzzz{yy{zzzyzyyyzyyzzzz{z{yzyy{zzxzzyz{zz{zyzzzzyzzz{z{zzzzyzzzzzzz{zz{{zyzyyyzzzzy{zyz{{z{yyzyzyzz{zz{{{{zy{zzzzyzzz{zzzy{yzzyzyz{{zzz{{{zzyyzzyz|y{{{{z{z{yxzzz{zz{zz{z|{{yyyyzyzzz{zzzyyzyz{yyzzyzzzzyyzzyyzyyyzzz{yz{{zyyyzyzy{zzzzzzzyyyxyyzyzyzyzz{zzzzzzyyzzzzyyy{zzyzzzyyyyzzzyzzzzzxyzyyyyzzzyz{{zyzyxzyxyzzyz{yyyyyxzyzxyyzzzyzyyyyyyxyyyzyzzzzzyyyyxzxyyzzzz{zzxxzyyyyyyzzzyyzzyyyxyyyxz{zzy{zzyyzyyxyyzzyyxzzzyyyyyyyyzzyzy{{zyzyyyyyyzzyzz{zzzyyyyxzzz{{zzzzzzzzyyyyzyzzzyz{{{yy{zyzyz{yzzzzzzzzyzzzyy{{zzz{yzyzzyzzzyzzyzzz{zz{yzzzz{zzz{z|zyxzzyzzyz{z{{zzzzyz{yyzz{z{zz{{z{yzzzzy{{{{z{z{zz{zzy{zzz{zz{{{{{zyzzzzzy{z{zzz{zz{zzzyzzz{{zz{{zyz{zzyz{{z{z{|{yz{yzzzzzzz{z{{{zzzzz{zz{zz{z{z{zzzzyzzyy{{{zz{{zyyxyyzyzzzxzzzzzyyxyyzyzzzzzzz{yz{zzzyyzzyzz{zzyyzxyyyyzyzzz{{zzyzyzzyyzzzzyzzzyzzzyyzzzyzzzzy{yyyzyyyxzzzyzzzzzzyyzyyyyyyzyzzzyyyzyyxyzzzzyzz{xxyyyyyyyyzyyzzzzyyyzzyzyzzzzyyzz{yyxyxyyzzzzz{{yyyxyzyyzzzzzzzzzyzyzyzyyzxzy{zzyyxzzzyyzzzzzzzzzzzyyxyyzzzy{{{{zyzyxyyyzzzzzzz{zzzyzzyzzyzzx{{zzzyyzyzyzz{zyz{{zzz{zyyy{{z{zz{{zzyzyzy{zzzzzzzzzyzyzzzz{zzz{z{zzyzz{y{{{{{{{z{{zzzyyzzzz{{z{zzz{yy{zzzy{{z{{z{{z{zzz|{y{{{{{z{{{zzzz|{zz{{{|{{{{yzzzzz{{zzz{{{yzyzzzz{{z{{|y{{{zzzzzzy{{{{{z{{{zyzyzzzzyzz{{z{{{yzyzyyzz{z{{{{{{zzyzyyy{z{zzz{zzyyxyzyyyzzyzzyzzzyyyyxyzzzzyz{zzzzzyxyyzzzzzzzzyyzzyyyyzz{zzy{zyxzyyyyyyzyyyzy{yyyyzyyxyzzzzzzzzzyyyxxyzyzyyzzyyyzyyyyzzyyzzyzyyyyzzyyyyzzyyzzzyyyyzyxzzzzzzzzzyyzyxyyzzyyzyz{yyyyzyyyyzzzzz{zyzzyzyzzyyzzzyzzzzyyzyyyy{zzyzz{zxyyxzyyyzzyzzzzzzyzyxyyyzyzy{yzzzyyyzyyyzzzyzz{{zyzxzyyyy|zzz{{zyzzzyzyzz{{zzzzzzyyzzzzzzzz{zy{yzzzzyz{zz{{zzz{{z{zzzzyz{zzzz{{{zzyzyz{zz{z{zz{zzyzz{yzy{|{zz|{zzzzzzz{zz{z{|{z|{z{zz{z{z{z{z{{{zzzzzyzz{{zz{|{zzyz{yyzyz{{zz{{z|zy{z{z{y{z{z|{zzzzyzzzyz{z{{{{z{zyzzzyyzz|zzzz{zzzyyxzyzzzzzyzzyyyyyyyxzz|zzzyzzzyyxxzzzzz{zzzzzyzzxyyyzyzz{{zzzyyzyyyzzz{zzzz{{yyyxzyyyyzzyyz{{yyyyyxyy{xyyzzzyyzyyyyyzzzzzzzyzxzzyzyyzyyzzzyzxzyxxyyyyyyzzzzzyyxyzyxyzzzzzzzyyyzyyyyyyzyzyz{zzyyyyxyyzzzyyy{yyyyyyyyyy{yzyz{zyyzzzyxyzzzyz{zzzzzyxyyyyz{zyzz{zzzyyyzzy{{zzzzzyzyyyzyyy{zzzy{zzyyyyyzzz{z{z{{zzzzyzzyzzzzzzzzzzyyyzzzyzy{zzzzzzyzz{zzzzzzz{z|zzzzyzzzyzzzz{{{{yzzzyyyzzzzzz{{zzyzzzz{zz{{{{{{z{yzzzzz{z{z{{{{|zyzzzzz{z}z|z|{{zzyzzzyzz{z{{{{{zyyzyzzxzzzz{|{{zyy{zzzzz{z|{||zzz{zzzzzz{z{{z{zzy{zyyzyzz|{zzzzzz{yzyyyyyyz{yz{yyyyxyxxyz{yyyz{yzwzyxxzyyzyyzyzzzxyxzxxzzzzzy{zzy{yyxyzyyzzyy{{yyyyyyyzyzzyyzzyyzyxyyzyyyzyyzyyyyyxyxyyyzzyzyy{yyyyyyyyyyyzzzyzzyxxyxyxyzyzzyzyyxyyxxyyyzzzzzzzzzzyxyyyyzzzyyzzyzzyyxyyyyyzzzyyyyyyyyyxyzyyzzzzyzzzzzyyy{yzyzzzzxyyzyzyyzzzyzz{yyzyzyxzzzyzzzz{xzyyyzyzz{yzz{{{yzzzyyzyzz{{z{z{yyyxzyyyzz{zz{{z{zyyzzyyzzzzzzzzzyzzzzyzzz{{{{zzyzzyyz{{z{zzy{zz{x{yzzyzyzzz{{z{{z{zzzzz{{zzy|{zzz{zyzzzz{zzz{{z{zzzzz{{z{|yz{{{zy{yyz{y{z{{z{{{zyzzyzyzzz{y{{{{zzyyzzzzz{{zzzzzyzyzzzzzzzz{{y|{zzzzyzyzzzzzzzzzyyzxyyzyz{z{z{zzyzxyyyyxyzyzyzzzzyzzzyxyzzzzz{zzyyyzyyyyyzzzzzzyyzyyyyyzzzz{{y{zzzyzxyyyzyz{zzyzyyyyyxyyxzyzy{zzyyyxzzyyz{zyyzzzzyyyxyyzyyyyzzz{yyyyyyyyyyyz{zzyzyyzxyyzzyzzyyyyyzyyxyyxzyzyzy{zzzzxyyyyyyzzz{zyzzyyyxyxzyyyz{z{yyyyzzyyzzz{yyzzzyyyyyyyzzzy{{zzzyzyyyyzzzzyyzzzzzyxyzyyz{zyzz{zyzyyzyzyyz{y{zzzzzyzzyyzzzzyyzzzyzyzyyyy{z{zzzzzzzzxyyyyyzz{{zz{zzyxzzzzzzyz{z|{zzzz{zzy{{z{{zzzzyzzzzzyz|zzzzzzzz{zzzyzzzyz{{{{{zzzzzzzz{{zz{{zzzyzzxzyzzz|{z{zzyyzz{yzzzzzzz{{zzzzzzz{yzzzz{|{yzzzyyzyzz{y{z{zzyyzyyyzz{{zz{zzz{yxyxzyzzzzzzyyyzxxy{zxy{zzy{z{zyyyyzyzyzzz{{z{{yyyzzzz{z{zz{z{yyyyyyyyy{yzzz{zzyyyxyzxzzzzzzzzyzyyzyzyzyzyyz{zzzxyyzxyyy{zy{zyyyyxyzxyyy{yzzzzywxyzyzxzzyyzzzzxyyyyxyyyyzy{{{zzyyyzyyyzyzzzzzzzyyyyyyxyyyyyzyzzyzyyy{yzyyyy{zzyzzxzzzxzzyzzz{yzyyyzyyzzzz{yzy{zyyzyyzyzz{z{zzzyzzyxyyyy{zzy{zzzyyyzyyyzz{{{{zzzyyzzyzzz{zzz{{zyzy{yzyzyzz{z{zzzyzy{yzyz{{{{{z{zzzy{zzz{{z{zz{{zyyzzyzyz{z{{z{zzzzzzyzyz{zz{z|{{yzyy{zy{||{{{{|{zyzz{zyz{{{{{{z{yz{zzz{{z{{{{{zzy{yyzzyzz{zz{{|zzz{zzzzz{|zz{|zzz{zyzz{zz|zzz{z{zy{zxzzyzz{z{zz{zyzzyy{{z{{zyyzyyyyxyyyzzzz{yz{yyyyyyyyzyzzy{zzzzzz{yyyzzyzzzzzzyzzzyzyyzzyyzz{yyzzyxyyzzyzzzy{zyyyxyxyzzyx{zzzzxzxzyyyzzzzzzzzyxzyyyxyyzzzyz{{yxxyxyyyzzyzyzzzyxyyyyyzzyzy{yzzxyzxzyyyy{zyzzzzzxyyyyyyzzyzyzzzzxzyyxzyyyzzyzzzyyyyyyyyyyzyzy{zzyyxzyyyz{zyyzz{yzyzyyyyzy{yyzzzxyyyz{yy{zzzz{{zzyzyzyzzz{zzz{{yzyzyyyyyzzzyzz{{zzzyzyyyzz{zyyzzzyzzz{zzzzz{z{{zyzyyzzzyz{z{{z|zzzyzzyzyz|z{{{{zzzzzzyzy{{zzzy{{zyzyy{z{y{{{z{{zzyzzz{zzz{|{zzzzzz{zzzzy{yz|zz{{{zzyzyyz{z{zz|{zzzz{yzzzzz{{{{|{zzyyyyzyzzz|zz|{z{yyyyzyzyz{z{zzzyyyyyzxzzzzzzzzyyyyzxyxzyzyzzyzyyyyyxyyyyyzz{{zyyyzzzzxzyzz{{z{yzyyxyyzyyzz{z{zzyzyxzxyzyzzyzyzyyxyyyzxyzyxzzzzyyyyyxyx{y{yyzzzyzzxzyyyxyyzzzzzyxyxzyyzyyyzzyzzyyyzyyyyyzzyzyzzyyxyyyyxzzzyz{{zxyyyyyxxyxzzyzzzyyzxyyyyyzzyz{{zzzzzyyyyyyyzzzzyzzyyzyyzzzzzy{z{yzzyxzzzyyz{z{z{yyzxyyyyyzzzzy{zzyzyzyzzzzzzzz{zyyyzyyzx{y{zzz{zzzzzzy{zz{zzzy{zyyyyyzzzzzy{zzz{xyzzzyzy{z|{z{{zyzyzyyyyzz{y{{zzzyz{yzzzz{z{z{{{{zzyzz{xyzz{{{z{zyzzzzzz{{z{{z{zz{yzzyzzzyzz{zzzzyzyyzzy{{zz{y{z|zzz{z{zyyz{{{{zz{yzzzzzyzz{z{{{zzyyyyyyy{zz{z{zzzyyzxyzzzzy{zzzxyyyyzzyzzzzyyzyzyyxxxyyyyzyzzzzzyyyyyzyyzzyzz{{zyzyyxyxzyyyyzz{y{yxyyyxzzzzyzyzyyzyyyzyyzyyzzzyzyyyyxyyzyzxzyzyyyzyxzyyzyyzyyyyyzyzxyyyzzzyzy{zyxxyxyyzyy{{zyyzzyyyyyyyzzz{yz{yzyyyyyyxyyyyyzzzzyzxyyyyyyyzzzzzxyyzyyyxzyzzyzz{zyzyzzzzyyzyzzz{zzyzyyzxzzzzzzz{yzzzyyyyzzyzzzyzyyyzywyyz{zz{zzzzzyyyzyyzzzzy{zz{yyzzyzzzzyzy{{zyzyyzyzzz{zz{{{{yzzyyy{yyzzzzz{{zzzzyyyyzyy|{z{z{yzzzzyzz|zy{z{zzzzyyzzzz{z{z{zzzzyzzyzzzz{{{zzz{z{{zzzzz{zyzz{{|zzzzzzz{z{zz{{{{zzzz{z{{{{{z|z|zzyxzzyyy{zzyz{zzzzzyyyyz{zzyz{{zzzyyyzyzyyzzzzzyyyyyzzxzzzzzyzzyyxzzyzzzyzzzzz{zzyyy{zyzz{y{z{zzxyzzzz{yz{zyzzzyzzyyzywyzzyy{z{zyyzyzyyyzyyzz{zzyzzy{zyzyyzyzzzyzzyxyzyzzyzzzz{zzzxyyyyzyz{zz{zzyyyxyyyyzzyyz{zyzyzyzyyzzzzzyzzzzzyzyyyyzzy{zyyyzywyyyyyyzzyzz{yzzzzzzxzz{z{{zzzyyyzyzyz{yyz{z{zyzzyyzzzzzzz{z{zyzzyzzzzzz{zzz{zzzyyyyyyzzzyzzzyyzyzxyy{zzzzzzz{zzyyyyyzz{yzzz{zyzyzz{z{{{|zz{{yzzzz{zz{{{zzz{{zzyz{yzz{{{{z{zz{yzz{zzy{{{{z{{{{zzzz{zz{{{{{{{{{{zyz{{{z{{{{{{{zy{zzyyz{{yy{z{{{yzzzzz{zzzz{|z{z{yzz{{{{|{{zz|{{{zzzyzyzzyzz{|z{zzyyzzy{{zz{z{{zzyxzyyyz{yzzyzzyyyyzyzyyzzzzz{y{yyyyyyyzzzzzz{zzzyyzyyzzzzyzz{zyzzyyyyzzzzyzyz{y{yyyxzyyzyzyzyzyyyyzzyyzzzy{{{zyyzzyzxyyzy{y{yzyzzyyyyyyyy{yyzyyyyzyyyzz{{yyz{yyyzzxyyzyzyyzzzzyzyyyyyyzz{zzz{{zxyzzyxxzzzyzzzzzxzxyzyzyzyyzz{zyyyyxzzyy{zzzyzzzzzzyyzzz{z{zz{z{yyyyyzy{z{zzzz{y{zyyyzzz{{{zz{{zyyyzzyzzzz{zzzzzyzyzyzzzz{zzz|{zzxzzzyzzzyzzzyzyzz{zzzz{y{{{z{{yzzzzzzzz{{zz|z{zzzzzzzyzz|{zz{z{zzz{{{{z{z{{z{{zyzz{{{{zzz|{z{{{zz{{{z{z{z{{{|zzz{{{yzy|zz{{z{zzzzz{zzz{z{z|{{{zzzzzyz{{{|{{z|z{zzyz{yzz{{{z{|zz{zzzz{yzzzzzz{{yzyxyyzyyzzzyzzzxyyyyyyyzzzzzzzzyyxzzyyyyzyy{yz{yxzxxzzyzzzzzz{yzyxyzyyyzzzzzz{{zzzyxyzxyy{zzyyyyyyxyzzzyzzyyzzyz{yyyxyyzzzzyz{zyyyyyyyyyzzyyzyzzyzyyyzxy{yzyyzzzyxyyzyyyzzyzzzzyyyzyyyyyzyzyz{zyyxzyyxyyyyyzzz{yyyyyxyzxzyyyzzyyyzzzyxyyzyyyzzzzyzyyyyyzzzz{yz{zyzyzyyyzzyzz{z{yyyyzyyyzzzyz{zzyzyzzzyyyyzz{zzzyyyyzyzzz|yzzz{zzyzzzyyzzzzzz{zzzyzzzzxzz{z{{{{zyz{zyzzzz{zzz{{{yy{zzy{zz{zz{zz{{zzzzzyzz{{z{{{{yz{yzz{zzy{zz|{{zzxzzy{zz{{{zz{{zyy{{yyyz{zz{{zzzzzzyzyzzzz{{{{|{zzz{z{{{zz{{{zzzyyyzzyzyzzz{{z{{yzzyyzy{zzzz{yzzyzyzyzy{zzzzyzzyyyyyyzyxy{yyxyzzyvzxyyyyzzyz{{zzyyyyyyzzzzzzzzzzyzzyzzyzzy{zyzzyzyyxyyyzz{zyzz{yyzxyyxyyzyzz{zzyyyyyxyyzzzyyzz{yxzzyyyyzzyzyyzzxyyxxxyyyyyzzzzzyyzxyzyyyzzyzzyzzyzyxxzxyzz{zz{zzxzyzxyyyzyxzzzzzzyxyyyyyzz{yz{zyyyzzyxyz{zzzz{zzxyyzyzxzzzzzzz{{yzyzzzyz{{zz{zyyzzyzyyzyzzzz{{yzyzzyyzyzzyz{z{zzyyxyzzz{zzyy{{{yzzzy{zyyzzzz{zzzzyzzyyz{z|{{zzzzzzyzyzyzzz{{z{{zzyzzyzyz{{{zzz{zzzyzzyzz{zyz{{{zzzyzz{zzz{{zz{z{zyzz{zzz{{{{z{{{zzzzyzz{zzz{{z{zzzzzzzz{zz|{{z{{{zzzzyzzz{{{{{zzzzyzyzzz{zzz{|{z{{{yzyzzzzzzz{{yzzyyyzzzzy{yyzzyyyxzxyyz{z{y{{zyyyyzyyyzy{zz{{{zyzyzyzzzz{zzz{{zyzzxzyzyzzyzzz{zzyzyzzyzzyzyzzyxxyxzyyxxzzyyzzzyyyyyyyyzzzyzzyzzyzyyzyzzzzyyzzzzzxyyxyyyzyyzzyyyxzyyxyzzyyz{zzyyyzzxyyyzzzzzyzzzyyzzyyyyzyyzzzzyyyyxyyyzzzzy{{zzzzyzzyzzzzzzz{zzzzy{zzzzzzyzzz{zzzzyyzyzzzzyzzzzyyzzyyyzz{{zzz{zyzzzyyzz{zzzzzyyzzzzzzyzz{zzz{zzzyzzzyyzyzzz{zzzzyzyzyzz{{zzz{zyzyzzzzzzzz{z{{zzzzzzzyzz|{zzz{zzyyzyyzz{zz{{{z{{zzzzzzzzzzz{{|{{zzyyzzzz{{{z{{{zyyzzzzz{z{zz{zz{yzzzzz{z{{{zz{{|{y{zzzz{z{{|z{{zyzy{yzyzzz{{z{|zz{yyyzzzzzzzz{zzzzxzzzyz{zz{zzzyxyyyyxxzzyzyyzzyyyzxxyyzyzzzzz{zyyyyxxyyzzyzzzzzxzyxyyzyzzzyzzzzyyxxyyxzy{yyyz{zzyxyxyyyzzyzyyzzyxyzyyxyy{zzyzzzyyyyzxyzyzzyyzzyyzxyxxyzzzzzzyzyyxzxyxzyxyzzzzzzyzyyyxyzyzyzzzzzzyxyyyyyzyzyzzzyzyzyyzyyzyzyzzzyxyyyyxxzyzzzzzzzzzyyyyyyzzyzzyzzzzyyyzzzyyzyzzyy{yyzzxzzyzyzzzzyzzyyyzyzzzz{zzzzyyyyyxzyyzzzzz{yzyyzzyyz{{yzzyyzzzzzzzzz|zyzz{{{zzzzzzyz{y{z{{zzzzzyyyyy{{zzzzzzzyyzyzy{{{zzzz|zzyzzzzyzzz{zz{z{zyyy{{zz{z{z{{zzyzzzzzz{{{{z{|z{yzyz{zzzzzzz{zzzzz{zzyzz{z{{{z{zzzyyz{yzyzyz{{zzyyzyzyyzzzyyz{zzyzyzyyy{zzzzzyzxzxyxyxyyyzz{zz{zyyzyxyyyzyzyz{{zyxzyyyyyyzyzzzzzyzzyyyyyzz{yxzzyyyxxyyyyzzyzyzzxyzyyyyyxyzyyzyzyyzyyzxxzzzyyzzzzzzyyyyyzxzzyzzyyxyzyyyyyzzyzz{zyyyxzyzxyyzyyzyyyzyyxxyxyzzyyyz{yzyyyyywyyyyyyyyzxyyzxyyyy{zyzyzyyz{zyyyzzz{zyzzzxyxyxzyzzzyzzzzyyyzxxzzzyzzzyzzzyzyyyzyyzzy{z{{yy{zzxyzz{{{yzzzzzyxzyzyz{{yzz{zzzyzyyzzzzyzzz{{yzzzyzzyzz{zzzy{z{zyyzzzz{zzz{{{zyzzzyzzy{|y{z{zzyyzzzzyzzy{{zzzzzzyzzzzz{z{zz{{zzzyy{{zz{z{{{{{zyyzyzyz{zz{{|{zzzzyzzz{zz{yz{{{yzzz{zzyzyzz{{{{{{zyzzzz{zz{z{{z{zyzyzzyy|zzyz{zy{zyyxyyzyzzyzyzyzxzyyyyxy{zyzzyyzyyyyyyzzyzzzzzzxyyyzzzyyz{{zz{yzzzyyyyyyyzzyyzyyyzyyyyzyyzzz{zyxyyyxyxyzzyyzzzxzzyzyxzyzzyzzyyzyyyyyyyyyzzzzzyyxzzzzxyyzzyzzzyzxyyyzyzzzzyzyyzzyyyxyxxyyyyyzzzyzyzyxyxyzyzyyyzyyxyyxzyyyzzzzyzzyyzzyyxyzzzyyzzzyyyzyyyx{yzzzzz{yzyyyyzzzzzy{zzzxyyxyzyzz{zy{yy{zzyzyyyyzzzz{zzxyyyzyzzz{{zyyzzyyyyyzzzz{zzyz{{zzzyyyzzyyz|z{zzz{zzzzzzzzzzz|zzzzyzzyzyzz{z{{{zzzzzzyzyz{{{{{zzzz{{{yzzz{{z{z{zzyzzzzzzzz{|{{z{zzz{zyyz{zzzz{zzzzzzzzyz{zzz{{{z{{zyzyz{{{z{{{{|zz{zzzyyy{{{z{{zzzzzzzzyzzz{z{{zyyzyyyzyzzzzzz{zyyyyzxxxyzzy{yzzyxyyzyyyzyzyyzyy{yyyzzyxyzyzyzz{zyzzzyyyzyyy{zz{zzyyyxyyzzzzzzzzzxyyyzyyxyyxy{zzyyyyyyzyzyzyyzzzzzxxxzxyxyyyzzzzyyyxyxyxzyzyyy{xzyzyyyyyzzzyzz{zyyyyyyxxyzyxxzz{yxxyyxxyzzyzyzzyzyyyyxzyxzyyy{yzxyyyyyxxyz{z{z{{zyyyzxzzzzzyzzzzyyzyzxyzyzzzy{y{yyyy{yy{zzzy{zz{yyzyyyzyzzzyzzzzyzyyzzxyzyzzzzzz{yxxyyzyzzyyzy{zzyyz{zzyzzz{{zzyzyyzzyzyzzz{z{zzzzzyzyyz{{{z{z{zzyyzzzzzzzzzzz{{zzzzyz{zyz{yzzz{zyyzyzzzz{{zzz{zzz{zyyzzzz{|z{zz{yzz{zzzzzzzzz{{{{zzzzzz{zzz{z{{zzyyzzzzzzzz{{{{zzyyyzzyy{z{{z{zzyzyyxyxyzzz{yzyyyxyzyyxyz{yzzz{yyyyyzyxzzzzzyzzyyxyyyyyy{{z{z{yzyyyyzyxzzyzzzzzzyxxyyyxyzyzyyz{yxyyxyyyxzxzzzzzyyyxzyyyy{yyxyyy|xyyxxxyyzzyyyzzyyxyyzyxyzzyyzzyzyyzyyxxzyyxzz{zyyxyyxzyyzyzzz{zyyyyzyzyyzzyyzzyzyzwyyzyzzyyy{zzzyzyy{zyyy{zzzz{zzyxyyyyyzzyz{zzyxyyyyzyyz{{yzzzyzyyyzyzyzzz{zz{zyzyzyyzzzzzz{yyyyzzzyzyz{zzzz{yzyzyyzzy{zzyzz{zzzzzzzzzz{z{yzz|zzzzzyz{{zzzz{z{{zyzzyyy{zz{zz{zzyyyzzzzz{{{{{{zyz{yyzzz{zzzz{{z{zzyzzzzz{zzz{{zzyz{{z{z{{{z{|{{{yyzyzzzzz{zz{zz{zyzzzyzzzz{z{|z{zyzzyzyzzz{{{{zz{yyzzzzzzzz{{{{yyzzzzyyzzzzzyyzxyyxyxxyyxzyyyyzxyyxyyxyyyzzzz{zyzyyyyzzyyzzzzyzzyyyyyyyz{zzyzz{zyyxxyzxyzyzyxyzzyxxyyyyyyzyyzzzzxyyyyyyyyzyy{yyzyzxyyyzyzyyyzyzyyxyyyxxyyyyxyxzyxxyxxyyyzzxzyyzyzzxyyxyxyyy{zzzyxxxzyyyyyzxzzzzxxyyxyyyyyzyy{y{zyzzyyxyyzz{yzzzyzyyyyyzyzzzzzzzzxyyxyzyzz{zzzzzyyzxzyxyzy{z{zyzzyyzyyyyzyz{yyzyyy{zyyyyzzyyyzzzyyxzyyyxzzzzz{zz{zzyyyyz{zzzz{{{zzyyzzyyzzz{zzzzzyxyyyyx{z{{zz{{{yyzyyzyz{{{{z{zzzzzyzzzz{y{{{{{zzzyyzzz{{{{z{|{zyyzyyzzz{zzz{{{zzyzyzzyzzzz{z{{{zzy{yz{zzzz{{z{zzzyyyyyzzyz{{zzz{{zyzzyyzzzzz{{yzyyyyyyyzzyzy{zyyxyyyyyyz{yzzz{yyzyyyyyzy{zzyzzzzyxyzyyyz{zz{{{yyzyzyyy{zzzyzzz{zyyyyyxyzzzzyy{zyzzyzyyzzyyzzz{zyzyyxzyzz{zzyzyzyyyyzyyzzyzzz{zzyyxyyyyzyy{zzzyzxyyzyyxzxzzz{zzzyzzyzyyyy{zzyzzzyyyxyzy{{{z{yzzzzxyyyyxxzzzzz{zzyyzzzyxyzzzz{{zzyzyzyyyzzzyzy{zyzzyzyzx{yzz{zzzzy{zyzzxz{zz{{{zzzzyzzxyyzzzyzzzyzzyzyzzyzzzz{{zyxxzyzxzzzzzzz{zzyyyz{zzzzz{z{{{yzyzyzzz{zyzz{z|yzzzzyyzz{z{{zzzz{zyzzzyzz{z{{{|{zz{yzyzzz{z{{{{zyz{zzzzz{z|z{|{{z{zzzzzz{{yz{{z{zzyzzzy{z{{zz{{zzz{zzz{z{z{{{{zzyyyyzz{{{zzz{z{z{yzzzzy{zyzzzz{yzyyyyzxzzzzzzyyzyyyzyyyyyyyzzz{yyyyyyyyyzzzzzyzzyzyyzyz{zzyz{zzzyzyyxxyyz{zzyyzyyyxwyzyzzz{{zz{yyyyyzyxyyzzzzyzzyzxyyyzzzzzyzyzyyzxyyyyzxzzyzzzyxyyyyyyzyzzy{zyyyyyyyxzyzzy{yzyyyyxxyywyyzzyyzzzzxzzyyyzzzyyyzzyzzyyyyyyzyzzzzzzyzyyzyxzzzyyyzzyyyyyyzzyzzzz{zzyyzzyyzyzzzz{zzzzzyyyzyyyy{zz{zzzyzzyyyzyzz{y{zzzyzzyyyyz{z{zz{zzyzzzyyzzzyzzz{{zyzyyzzzzy{{zz{zyzzyzzyzzzy{zz{zyyzzzyzz{{{{z{zzzzzzzyzzz|zz{{{z{yzyzz{zz{{zz{{z{zzyz{zyz|z{{{{{{yz{zzzy{z{{z{{{zyzz{zzy{z{{z{{{{yzzzyz{zz{z{{zzzz{yyyyyzz{{z|{zzzzyzzzzz{yzzyzzyyyzzyyzyzzyzzyyyzyzzyyxzzzy{zy{yyyyyyyy{yzyzzzzyyyxzzzyzz{yyzzzzxyzyyyyyyzyxzzzzzzyyyyyyyyzzyy{yyyyyyzyyyyyyy{yzyzzyyyyxyzzyzzzyyzxyxyzyyyy{zzzyxyyzzyzyzzyyzzzzyxxyzyxzzzzzzz{zxzyyyyxzzyzyyzzyyyzyyywyzyzzzzzyyyyyyyyxzzyz{{zyxzyzzyyzzyzzz{zyyxyzyzyzzzyzzzzzyyyzyzyz{yyzz{zzyyxzyyyzyyzzzz{zyyyyyzyzzzzzzzzzyzyyzxyzz{zz{zzzzzzyzyz{zzyyzyzzzyzyyzzzz|{z{{{z{yy{zzzzzy{zzzzzzzzzzyy{zzzzz{{zyyyyzyyz|zzz{{z{zyyzzzyy{{{{z{{zzyzz{yzz|{{zz{{{yzzzyzzzz{{zz{{zyyyzzzyzz{z{{{{|z{zzzzy||{{zzz{zzyyzzyzyzzzz{{{z{zyyzzyyzzzyzzzzzyxzxyyzzzyz{zzzxyyyyyyyzzz{yyyzyyzyyxyzyzzzzz{zyyyyyyy{yzzyyzzzzyzyyyyyzzzxy{{zzzxxyyzyzzzzzzzyyzyxyyyzxzzzzzyzzyyyyyyyyyzyzzzyyyyyyyzzzzyyzzyyyzxyxyyyyyzyzzzyyyyzyyyyzzyzyzzzyzyyzyyyzzzyyzzyyyyyyyyyzzyyzzz{zyyyyxyyzyzzzzyzyzyzzyyzzzyyzyzzzyzzxxzy{zzzzy{yyzyyxy{{yzzzz{zyxzyzzyx{zyyzz{{yyzzyyyxzzyyy{zyzzzyzyyxz{zyz{{yzzyyyyzyzzzz{z{{zyzzyyyyzy{zz{zzyzzyyz{y{zzzz{{{zzzzyzzyz|{zzz{zyyzz{yzyzz{z{{{z{zzyz{yyzz{z{{{z{{zzzzzzz{zzzz{{yzzzzzyz|zz{z|zzzzyzzzyzy{yzzz{{{zzzy{zz{{z{z{{{zzyyzzyyzzz{|{zz{zzzzzzyzzzzy{zzyzzyyyyyyy{zzzzzyxxyxyyxyz{yzzzzyzyyyyyzzzzzz{yzyyyxyyyyzyz{zz{zyxzzyyyyyy{zyy{zyyyyyxyxyy{zyzzzyyyyyyyyzyyxzzzzyyyxzyxxzzzyzzyzyyyyzxxyyzyzzzz{yyyyxyyyzyzzyzzyyyyxyzxzyyyzzzyyzzyyyyyyzzyzyzyzzzyxyzzyyzyzyzyzxzxyyyyyyyyyyzzzzyzyzyzyzzzzzz{{yyyyyyyyzzzzyz{zyzxyyyyzyzzzy{zzyzzyxyyy{zzzzzzzzyyzzxyyyzyyzzzzzy{yyzzzy{zzz{{zzzzyyyyyzzzzz{zzyzzyyzzzz{z{{zzzyyzzzyz{yxzzyz{z{zyyyyzy{zz{{{zzzyyzzzzy{{zzz{|zzz{zzyzy{z{zz{{z{yzzyzzz{{{{{zz{zyzzzzyz{z{{{{z{{zyzzyzz{zz{{zz{{zzz{yzzzz{zz{{{{zyy{zzzzz{{z{z|{yzy{zzyzyzzzyzzzyzxyyyzzzzyxz{zzyxyxxyyyyzyzzzzyyyxyxyxzyzyzzz{zxxxyyyyyzzyzzzzyyyzzyyyzzzyzxyzzyxxyxyxzzzyyzzzzzyyyyyyzyyzyzyzyyzyyyyyzzyyzzyyzzxyyxyyyyyyyyyzxyyyyyyyyzyyyzzzzzyzyyxz{zzyzzzyyyyyyxyxxyzyyzz{yyyzzyyxzzyzyyyzyyzxxyyyzzzz{zy{yxxyzyyyzzyyyx{zzzyyzyyzzyzzzy{zyyzyxyyzyyzzz{zzxyyyxyyyzyzzzzzz{xyyzxyyyzzyzz{yzzyyzyzzyzzxzy{zzyyyyzyzzz{zzzyzyzyzzzzzzz{z{{{zyzyyyyzz{zz{yz{zyyzzzyxyz{zzzz{zzzzzyzyy{{{zzzz{zzyyzzzyz{z{{zzzzzyzyyzz{{{z{z|z{yzzyzyyzzz{zz{{yyy{z{yzzzzzz{{{zyzz{yyzzzzz{z{|zzzyy{zzz{zz{z{{zyyzzzzyz{zzzz|zyyzyyxyyyz{zyz{zyxzyyyyyzyzzyz{zzyzyyyyzzyyzyz{zyyyxyxyyz{yzyzzzzxyxyzxyyzzzxz{zzzxyxzzyzyzzyzzzyxyyyyyyyzyyy{{yzyzyzzxyyzyyyzzyyzyyxyyyzyyzyzzzyxyyyyyyyyzzzzzyzzyyxyxyxzzyzyyzyyyyyyyzzzzzzzzyyyyyzyyyyyzyzzzzzzyxyxzzyzyzzzzzzyyxzyyyzzzz{zzzyzxyzzy{yzyzyzy{yyzyyxyyzzzzzyzyxzyxyxzyzzzzzz{yyyyzzy{zy{zzzzzy{yzyyyyyzzyz{zzzzzzzzzyyzzzzzz{zzyzyzzyyzzzzz{yzyzzyyyzzzzz{z{{{{zz{zyyz{zzz|{z{zzy{zzyy{z{z{z{y{zyz{yzyy{zy{zzz{yzzzyzzz{zz{{{{|zzzzzzyz{z{zzz{{zzzzyy{yz{zz{y{yzyyyzzzzzy{z{{{{zyzzzyyyzzzzz{{zzyzzxzyy{zz{z{zyyyzyzyyzzyzyzyxyzxyyyyxxyzzxzz{{yzyyxyxyyyzyzz{zyyyxyyyyzyyzz{zyyxzyxyzyyyzyyzzyyyyxyyxzyzzzzxzxyyyyyyxyzyxyyzyyyyyxyyyzzzzyyyxyyyyxyxyyzyyyzzyxyyzyxxyyyzzyzzzzyyyyyxyyyzzy{zyxyyxxyyyyyz{yyzyzzxyzxyxyzzyzyyyyzyxxyxxy{zyxzy{zyyyxyyxzyzyyyzzzyyyyyyzzyzzzyzzyyzyyyzzzzzzyzzyyyyxyzyyzzzzzzyzyyyzyzyxyzzz{{zzyyyyyzwyz{{yyyyzzyxyzyyzzz{yy{yyyyyyyyyzyzyz{zzzzyzzyy{z|zyzz{{{zzyyyyyyyzzzzz{z{zzzzzyzzzzz{{z{zzzyzzzyzzzzzz{{zyyzzzzzz{z{zzzzyyzzzyzyzzz{z{{y{yyyzyyzzzz{zz{zzyxyy{yyzzy{{z{zyyyyyyzyzzy{zzzzyzyzyzyyz{zzyzzzyyzyyyxzy{zzyzzyzxyyyxyyy{zyyyzzzyyyyxxzyzz{yzzzyxyxxyyxzzyxz{zzyxyyyzxyyzzzyzz{zyzyyzzyyzyyyyyzyxyxyyxxyzzzxzzyzzyyyyxyyyzyy{yzyyyyzyxzzyzyzzzzyyyxyxyzyyyzyyzzyyyyyyyyxzyyyyzyyzyyyyyxyyzzyyzzzyyyyxyxyzyyyzyzyxyyzxyyyzzyyzzzyyyyyyyxzyyzyzzzzyyzyyzyzyzyzyzzyxzzxyzyzzzzzyzyyxyyyzzzzyzyyyzzzzxzyxyzyzyyzzzyzyyyzyyyz{{zyzzyzy{yzz{xy{zz{{zzzzzzyzyy{y{z{zzzz|zzzzzzzyy{zzz{{yyzyyyzyzzzzzz{zyzyzyyy{{{z{{{zzzzzyz{z{zyyz{zz{yzzyyzzz{z{z|z{zyzzyzzy{{y|{{z{zyyyy{yzyz{yy{z{zzyzzzzy{{{{{zz{zyzyyyyzzy{{zzzzzyzyyzzyy{zzzzzzyyyyyyyyz{yzyzzzzyzxyyxzyyyyyyyzyyyyyyxyz{zzzz{zxyyyxxzyzzzzzyzzzyzxyxyyyyy{yzzzyyyxyxyyyyyyyzyzyyyxyxyyxyyyyyzyyyzxyyxxyzzxzyzyyyyyxxyyzzzyyyzzyyyyyyyyyyzyyzzyzyyyxyxyzzyyzyzzyyyxxyyyyzy{zz{zyyzyyyyyxzyyyyzyzyyxyxyxyyyzzyzzyyzyyyxxzyyzzzzzyyyxzxyyzzz{zzzzyxzzyyzxzzzzzzyzzyyyxyxyzyzyy{zzyyzyzyxyyzzxzzz{zyyyyyyyyzyzyzzzzyyzzyzzzzzy{z{zzzzyxzyz{zzzzyz|yyzyzyzy{|yz{{z{yzzyyyzyzzzz{{{zzyyyzzzzzz{z{zy{yyzzzzzyy{zzz|z{{yyyyzyzz|{{{{{{yx{zzyyyz{zyzzz{zzzyyzzzz{zyzz{{zzyyyzy{zz{zz{z{zzyxzyzzz{zzzz{{yzyz{yyy{z{zzzzyxx{yyyzyyyyzy{zzyzyyyyyyyzyzyy{yzyzyyxyyz{yy{yzzyyxyzzyyzyzyyzz{zzxzxyyyzzzyy{yzyyzxyyyxzy{zzyyzyyyyyyyxxyyyyzzzzyyzzyxzyyyxyzzzyy{yyyyyyyyzz{yyyzyyyyyyzyzzzyyyzzyxyyyyyyyyzyzyzyyyyyyyy{z{zzzzyzyyzyxyzyzzzzyzzyzxyzyyyzzyz{yzzyyxzyzxyzyzz{{{yyyyzyyyyzzyzzzzyyzyyyzyyzzzzyz{yzzzyyzzzz{yzyz{yyyzyzzyzzzyyzyzyzyyyyyyz{{{yzzzzzyyzyxzz{yzzzz{zzyxyzyyzz{zz{z{yzzzzyzzz{y{z{zzzzyzyzzz{{{zzzy{{zyz{yzzzzz{{|{zzy{zzz{z{zz{{{z{zzzz{zzzy|{z{|zz{y{zzzyy{{zzz{{|zzzyzyzzzzz{z{{z{zyz{zzyz{zzzzzzz{yy{yzz{yzyy{zz{zzxyzzy{zz{z{zzzxzyyxyxyzyzy{zyyyxxyyyxyzyyyyzzyyxxxyyyxzzyyyyzxxyxyzyyzxyzyzzzyzyyxyxyzyyywyzzzyzxxxyyxxzzyzz{yyyyyyyxyzyyzzzyxyyyzyxxyyyyxxzyxyyzyyxyzyzyyyzzyyyxyxyxyzyyzzyyyyywxxyyyyzyzyyyzyyyyzyyzyzzyzyzzyyyxyyyyzzyzyyyyxxzxyyyyxyzxzzyxyyxzyyyzzyyyyzyzyyyxzyx{yzzyzzzyyzyzyyyzyyzyzzzyyzyyxxyzyzzyyz{yyzzyyyxz{zzzz{yxyxyyyyzz{zyyyzzxzyzzxyyz{zyyzyzyzyzzyyyzz{{{zzzyxyyzyzzzzzzzzz{zxzyyyxyzyz|{{{z{yyyzyyy{zyyyzzzzyzyyyzyzzyzzzzzzzzzyzzyz{z{zz{{yyyyzzzz{{z{zzz{zzyyzz{zyzz{{zz{zyzzzzz{yz{zzzzzzyzyzzyyzz{{yzzzzyzyyyyyyzyzzyy{zyyxzyyyyyzzzyyzxwyyyyyyyy{zzyzzzyxyyyyzyzyyyzzzyyzyzyyyzzzxzzzzzzyyyyyyz{zzzzz{yyyyyxxyzzz{zzyzyyzxyyyzyzyyyz{zzyyzyyzx{zzzz{zzzxyyxyyyyzyzyzzyyyyyyyyyyzzyzzzzyyyzxyyxyyzz{zzyyyyyxyzxzyyzzzz{xyzzzzxyzyzyxzyzzzzyyyzzyzzzz{zzzyyyzzyxyzz{yzzzzyyzyxyyzzyzyzzzz{yyyyzyzy{zzz{yyzzyzyyzyzzzzzzz{yy{zyyzyzzyz{{yyyzzyzyz{zzzzz{zzyyyyyyzzzzzzzyyzzzzzzyyzzzz{{{{yzyzz{{yz{zzz{{|zyy{{zyyz{zyzz{{zyyzzy{zz{zz{z|zzz{zz{zzzzzzzz{{|zzyz{zzy|{{{|{{zyzyyzzz{z{{zz{{{y{y{zz{z{z{zz{{{yyy{yzz{{{{{|{{zzzyz{zzy|zy{zzz{{zzyy{yyzzzzzzzzyyyzyxyzzyzzzyzyyxxyzxxyzyyzyyzzyyyyyyyyzzzyzzzyyxyyxyzzxzzzzzzzyyxyyyyzzz{yzzzzzxxxyyyzzyzyyyzyyyxyyzxyzyyyyzzyyyxxyyyxyzyxyzxyzxyxyxyyzyzyy{yyzxyzyyxyzyyyzyyzxyyyzyzxy{z{zzzxxyyxxyyyzzyzyzyyyxzxyxyyxyyzyyyzxxyyxyyyzzyzzzzyzyzyyzyzzyzzy{{yyyyzyyyyzzyyzz{yz{zzxyy{{zyz{z{yzzyyxyyzzzzy{zz{yzzyyyyzyzyz{zzzyyyyyyyzz{zzz{zzyyyzzyyzzzyzzzyzyyyzyyyy{{zz{zzzzyyyzzyz{zzzzzzyzyzzzyzzzzzzyzzzyyyzzzyz|{z{{{zzzzxzzz{z{{zyz{zyzzyyzyzzz{z{{z{yz{{{zyzzzz{{{z{{zz{yzzzzz{zz|z{{{yzzzyy{z{{zz{{yzzyzzyzzz{zzz{zzyyy{yyyzzyz{yzyyxzyyxyyzzzzyzyyyxxxyxxyyzzzzyzzzzzyyxyxxyzzyz{{yzxxzyyyzyzzzzzzyxyzyyyyzzzzzzzzzyyywyyxyyzzzyyyzxyxxyxyzzzyyzzzyxyyyyxyyyzyyyzzyxyxxyxxyyzzyzz{yxxxyyxxyyzyzzzyyyxyyyxxzyyyzzzyxyzyxxyxzzy{{yzyyyyyxyyyxyyxyzzzyyyyyxyyyzyyxzzyyyyyzxyxyyyyzzzzyyyzzyyyyyzyyzzzzzyyyyzxyyzzzyzzxyyxyyyyzzzzyzzz{zyyyzyxyzyzzzzz{zzyzyzxzzzyzz{zzyyyyyyzzzyzzz{{yzyzzzyyzzy{zzzzzzzyyzyzzzz{yzz{{zzxzyzyzzyzzzzz{yzyzzzzz{zzzzz|zyzyzyzzyzzy{z{zzzzzzyxyz{zzz{zzzzzzzzyyzzzzz{{z{yzy{yzzzzzzz{|{zyzzzzy{z{yzz{zzzyyzyzxy{zyzz{{{zyyzyyyyzzzzyz{zzyyyzyyyy{zyy{yyyxxyxyyyxyzyzyyyxyyyyyyxyyyzyzy{zyzzyyxwzyyyz{zyy{yyyxyyyzzzzzyzyzxxxxyy{z{yzzzzzxyyxzyxy{zyyyyzyxyyyyyyyzyxyzzzyyyyxyyxzzyzzyzzyyyxyyyyxyyxzyzyyxxyyxxxzzzyzz{zyxyxyyyxyzzxyy{yzzzyyyxxyyzyyyxzyxxxyyyyyyxzzzyzyzyzyxyxyyyyzz{yzxxyyyyyzzyyzzzzzyy{yyyyzzzzzz|zzzyzxyzyzyzzzzz{yyyzyyyyyzzyz{zyzyy{yxzyyzzzzz{zyyyyyyzzyzzyy{zzzyyzyxyzyzzzzzzzyyzyzyyzyzz{{z{zyzyyyzyxzzzz{z{zzyyzyyyzzzzzzz{{yxzzyzzyyzzyzz{{zzzyz{yzzzzzzz{{{yyzyzyzzz{z{{zz{yzxzyy{zzzzzzz{zyz{zyyy{zzzz{y{zzzzz{yyzz{zz{zyzyyyzzyyy{yzzzzzyzzyzxyyzzyzzyyyyxyyxxyxxzzyzzzyzyyzzxxyyyyyyyzzyyyyzyyyzy{yyzyzyzxxyxyyzy{{zyzzyyyyxxzxzyzyyzzyyyyxxzyyzz{zzzyzyxyyyyxxyyyxyzyzxyyxyyyyzzyyyzyyyxywyyyyyyzyxzzyxyyyxyxxzzzzyzz{yyyxxxxxyyyzyyzzyxyyxyyxxzzyzzzxyyyxzxyyyyyzzyzzyyyyyyyxzyzzzyzzyxyzyywyyyyzzzzzyyyyxxyyzyyy{{zyyyzzyyyyzyyzzz{yyyzyzxyxyyzzzzzyyyzzzyzyzzzyzzzzzzzyyzyzzzyyzzyzyyyyy{yyyzzzz{zzyzzyzzzzz{z{zzzzzyzyyzxyyzzyyzzzzxyyzyyyz{zyz{{zzyyzyzzyzz{{yzz{{zzzyzx{z{zzz{{zzz{yzzyzyzz{z{zzzyzzzyzzzzz{z{{{zzzzzzzyyzyzzz{zz{yxyyyyz{zzz{{{{yyzzyyyyzzzzzzyyyywyxzyzzzzxyzyyyyyyyxxyzzzxyyyzxyyzyyyzyz{yzzzyyyxyyyyzyzzzzzyyyyzzyyxyyzzyy{zzxyyxxyxyyzzyyzyyzyxyxxzyzyyzyzzxyyxxyyyyyzyzzyyyyyxyxxxyyyyyzyzyyyyyxxyyzzzyyyzzyxxyyyxzzyyyz{{yyzyxyxyzyyyyzzzyyyyyyxyxzyyxyzzyyxyyxyxyyzyzzzzyyyyyzxxzxzzzzzyyyyzyxxyzzzzzyzzyxyyyyzyyzyyz{zyyyzyyxzzyyzzyzzzyzyxyxyxzz{zzzzyzyyzyyyyzzzzzyzz{yzzyyyyz{zyzzzzzyyzzyzyyzz{zzzzyzzyzzzzzzzzzz{{yyyyzyyyyz{{z{{zzxzyzzyyzzzzz{zzzzzzy{{zz{zzzz{{{z{zzzzyzz{zzz{z{xzzzyzzzzzzz{{z{zzzyyz{z{{{{{z{zzzyz{zzz{zz{y{zzyyxyzyyyzzzzz{z{yzzyzzxz{y{y{zzyzyyyyyz{yxzyzzzzzyxzyyyyzzyy{zzyyzxzyxyyyz{yzzzzyyyyyyyzyyyyz{zzyzzyyyyxyyyyzyzyyyyyyzyzzyyxzzzyyxxyxzy{zyzzyzzyyzyyzxyzzzyyzyyyzxyyyyyzyzzzyyyxyyyyyxyzzzzzz{zzyxyxxwyyzzyzyzzzyyyyzxxzzzzyzzzyyyxyxyyzzzzxzzzzxyxzzyyyyyzxz{yyyyyxzyyzzzzzyz{zyyyyxxyyyzyyyzzyzyyyxyyyzyzzzy{zyyyxzzyzzzzzz{zzyyzzxzzy{yyzzzzyyyxyzyx{{{yzzzzzyyyyzzyzzzzyzzyzyyyyyzzyyzzzzzzzzzzzzzyzyz{z{{{yzzzyyyz{z{z{zz{zzyzzyzy{z{zz{{zzzzzyzzz{zzz{zz{zzzzzz{zz{z{{z{|zyzzxzyz{z{zyz{zzzyzzzzzz{zzy{|z{zyzzzyyzzz{zzz{y{yyzyzyzzzzzzz{zzyy{yzzyzy{zzz{yyyyzzzyyzzyyzyyzyxyyyxzyzyyyyz{yyyyyyyyyyzzz{zzzzzyzyyyyyyyzyzzzyxyyzxyzyzzyxzzyyyyyyyyzzzyzzz{yyzyyyyxzzz{zzzzzyyyyyyxxzzzzyxzyxyyyyxyyzyzzzyzyyyxyxyyyzzzyzzzyxzyyzwzzzyzzyzzyyyyyyyxy{zyzyzzyyxyzyyyxyzyzzzzyyyyyyxzzyzyz{zzyyzyyyxyyzyzyyzyyxyyzyyyzzyzzyz{zyyzxyzzzz|{yz{{zyzyyzzyyz{yyyzzzxzzzzzzyyzz{zzzzzyzyyyy{zz{{z{zzyyxzyxzyzyyz{|zzyyyzyyxz{z{z{zzyyzzyyzyzzz{{{{{yzzzyzyz{{zz{{{yzyzyzyzyy{{z{{{zzzzyzzzzzzzzz{{zzzyzzzy{z|z{z{|{|yzyzzy{{{{{zzz{zyzyzzzz{{{{|{z{{{yzzzz{yy{z{{zzz{xzyzyyyzz{z{z|{zzyzyyzz{{zzzzyzyzyzxzyzzzz{zzyyxyzyywyyzyyxzzzyyzyxyyyy{zyzz{{{yyxyyyxzyzzzz{zyzyyyzyxz{z{yyzzzyzyzyyyzyzz{{y{xyzxzyyyzyy{y{{zyyzyzzyzzzzyyyzzzxyyxyyyyyyyzyzzyyxyyyyxyzzzyzzzyyxyyxyyyzyzzyyzzzzyyyywyyyzy{zzzzzxzyyyyyyzyxyzyyyyyyyyyzzyzzyzyyzzyyyxzzzzzzzzzzyyyxxyyyyyy{zzyy{yzyyx{zyzzz{{yzyyxyyyz{zz{yzzzzyyyyzzzzzyzzz{zyyzyxzzzy{zzz{{zyyzyzzzz{zyzzyzzzyzzzzyz{{{zzzzyz{zyzzy{yzzy{{{zzxzzyzy{z{{yzzz{{zzyzzzz{zzzz{{zzzzzy{{zzz{zzz{{zzzzzyzz{z{{{{z{zy|yyzzzz{zzzzzzy{{{yzzz{yzzz{{zyyzzzzzzzzzz{z{z{yyyzzzzzzzz{{{zy{zzyzzy{zzyzzzyyzzxyyxzzzzzzzxyyyyxyxxxyzzzzyyyxyyyyxyyzzzzyzyzxxxyyyy{yzy{zzzzyyyzyyyyyzyyzzzyyyxyyyxyzzyyzzyzyzyyyyxyzxyyyzyzxzyxzyyzyyyyyzzyzyxxyxyzyxzzyzzzxyyyxyzyzzzzzzyyxxyxyyyyyzzyz{zyzyyyyywyyyyzyzzyyyyyzyyyzzyyzyyyyxyyxyyzyzzyzyzyyyyyyyzyyzyy{{{zyyyyyzyyzyzy{zzyzyyyzyzyzzzzyzzyxzzzyyzyzyz{zz{yyyzyyzzzyyzyzzzzzyzzyyzzz{zzzzzyyyyyyzyzzzzzzzzzyzzyzyzzzz{zz{zyyzyyyzy{yzzz{z{zyxzzzzyzzzx{{zzzyyyz{yzzz{zz{{zzzyyyzyzzz{{{y{{zzzzz{zyzzzz{z{{zzzzyzzzzz{{{{zzzyzy{yzyzzyz{{{z{zyyz{yzzzyzzzzzzzzzzyz{{zz{zz{{{zzyyzzzyz{{{zzzyyzyyyyyzzzzyzyzyyyyyxxxyyyyzxyzxxyxxyyxxzyyzzzzyyyxxyyxzyxyzzzyyyyyxyyxyyzzyyzzyyyxxzyxyyyyxzyzzxyxxyzyyyxyyzzyzyxyyyxyyyzxxyyyyyxxyyyyyyyyyzyyxywyyyyyxyyyxzzyxxxxzyxxyyyyzyzyxxyyxxxyyyyzyzzzyyxxxxyxxyzyyzzzzyyyyxyyyyzzxzyzxxxyxzyxy{zyyzzzyyyxxyxyzzzyzzzzyyyyyyyyzyyyxzzyxzzzyyyxxzyyzz{yzyzyzyyyyyzzzzzzyzzwyyxyz{{zyzzzyyyyyyzzzzzyyz{zyzyzyyyyyzzzzzzzyzzyyzyzzy{{zzzzxyyzzyyyzzzz{zzzyxyxzzyzy{{zzz{z{yzzyzyzyzzzz{zzzyzzxzxyxzyzzzz{zyyyyy{zyzzyy{z{zzyzzxzz{{zzzzzzzzzyyzyyyy|zzz{{zyzyyyzyzzzyzzzyz{xzyyzyz{zzyyyzzxyxxyyxyzzzyyyzzyzyyyyyyzyyyzzzyzxxyyzyxzyyyzzzzyyyyyyyzzyyzyyzzyyyyxyzzzzyyzyyyzyxyxzx{yzyyzzyyyxzyyyzyzzyyzzzzyyyyxyyzyzyyzzzyyzyyyyyyyyyzzzzyyxxxyxxzyyyzzzyzyzyxyxyyyzyzyyyyxyxxyxxzyxzzzzzyyyxyxywyyyzyzyyyyxxyyyxyyyzzyxzyyxyyyyyyyzyyzzyyyxyzyyyyyzzzzyzzyyyyxyxyzzyyzzzyxzxyyyyzxzzzzzzyyyyyyyxyyzzyyyyzyxyyyyxzzzyzzzzzxyyzyxyzyyyzyyzzyyyyzzyzy{z{z{yyxzyzyyyzzyzyz{{yzxyyxzzzz{{zy{yzzzzzyzyz{zzzzz{yzzzzzyzy{zz{{zzzyzzyzyyz{z{{zz{zzzzyyzyzyzzz{zzyyxy{{zz{zzzz{{z{zyzzzyzyzz{z{z{zxzxyzzyyyz{zzz{zyzyxzyyz{{zyyyzyyzyyyxxyzzy{{xzyzyxxxyxxy{xzyyzyyyyyyxyyzzzyz{zyxzzxyxyzyyyzy{yzyzyywyyyzy{yyzyzyyyxxyxyzzzyzyzyxyyyzzyyyzzzyyyzzzxzzxxyyyyxyyyxyyxyxxxyyzyyyyzyyyyyyyyxyyyyyyzyyyyyyxyyyzyyyzzyzyyxyyx{zzyzyzzyxxxyxyxyzzyxyzyyyyyyxxyyyyzyzzzyxzyxyyzzyxzxzzy{yyzyxxyzyyyzyz{xyxyyyyyyyyyyz{{xzyyyxxyzzyyzzzyyzyyyyxxyz{zyzzzyyzyyyyxzyzzzz{zzyxyxyyyyzyyyyzzyyzyyyy{yzzz{zz{yzyzzyzzzzzzz{z{yyyzzyyyzz{zzzyzzyyyyyyz{zzzzzzzzzzzy{yyz{{z|z{xzzzzzyzzy{yzzzz{zyzyyzyzzz{zz{zzzyyzzyyxzzzz{{zzz{xyzzzzy{zz{{zzzyzxzzzyzz{{y{|zzzzzyzzzzzzzyzzzzzzyyyxyzz{zzyzyyyyxyxyxyzyxyzzxyzyxyyxyyyyyyzzzyyxyxyyyzyzzzz{zzxzzxzyzzyyzyx{yyzyxxxyyyyzyyyyyyxyyyxyyyzy{yzzyyxyyyyyyyyzyyyyyxyyxyxyxzxyyyyzyzyxyyyxxzyzzzzyxzyyzyyxyzyyzyzyyyyzxxyxyxyzyyyzyyyyxyywxyyzyyzyxyxyxyxyxyzzyyzzzxyyxxyyxzyyzyyzzyyyyyyyyyyzzzyyzyyzyyyyyzz{yyyzzxyyxxyzyyzzzzyzzyyyyyxyyyzzyyyzzyyyyxyxxyyyzzy{yyyyyyyyxzzzyzyzzyyyyyyyzzzzzzzzzyyyxyyyyz{yzz{zzyzzyzyyyz{zz{yzz{zyzyyyyzzzz{zzzzzyyxyyyzyyzzz{{yyyzyzyzz{zzzz{z{yyzyyzzz{z{z{z{{yyyzyyyzzz{zz{{z{zzzyzyzyz{zz{{zzyxzyzyy{zzz{zzzzyzzyzyyzy{zzyyyyyzyyyyzzzzyyxyyxyxyzxyxzyxzyzyyxyxxxxxyyzyz{zzyxyyyxyyy{yyzzzzyyzxyxxzyyyzyyzzyyxyxyyyyyzzzzyzxyyyyxxxyyyxzxzzzyxxxyyyzxzyxyxyxxxyxyxyyyyyyyyyyyxyzxyxyz{zyzyxyxyyxyxyxxyyyyzyyxyxxyyyzzyyxzzyyyyzyxyxxzyyxzyyyxyxxxzxyxzyyzzzyyyxyyxyxyyzyzzzyzzxyyxzzzyyzzyzzyzxyzyzyyzyzzzzyyyyyyyyzyzyyyzzzxzyzxzyyyzzzzzzyzyyxyxyyyzyyzzzyzyyyyyzyzzyyzzyyy{zyyzxyxzzzzzzyyzzyyzyzzyzy{zzzzyyzyyzzzzz{z{zzyyzzyyz{zzyzzz{zyzzzyzzzzzzzzz{zzyyyzzyz{{zz{zz{zzyyyzyzz{yzzzzzzzxzzzzzy{zzz{{zyzyyzzzz{{z{yyz{yzyzyyyx{zyz{zzzyyzxzyxyzyzyzzzyxzxyzyyzyzyzyyzyxyxxyyyyzzyzzzyzyxyyzyzxzzz{y{zyyyyyyxyzyz{y{zzyxzzyyyyyzzyyyz{zyzxyxyyyyyyzzyzyyzyzyxxxyyyyzzzyyyxxxxxyyzxyzyzyyyxxyyyzyyzyzyzyyyyxyxxxzzyyzzzzxyyxxxzzzzyyyzzyzyxyzywyy{zyz{zyyxyyyyxxzyyxzyzyzyyyyxyyzyzyyzzyyzyyyxyyyzyyyz{zyzxxyyxz{zz{yz{zyzyyyyyyzzzy{yzyzyxyyyyzzzzzzzzzzzyyyzyy{y{z|zyzzyxyxyyzzzyz{zzzzy{yyyz{zzzyzzzzzzzzyyyzzzzz{{yxzzzyzyyzyzzzz{{zzyzzyzy{zzyyzzzzyxzzzyyz{zzzzz{z{yzzzyz{zzz{zzzzzzyyzzz{zzzz{{z{yzzyyzz{zz{z{zz{yyyyyyzzzzz{{z|{zy{zyy{zzzz{zz{zzyyyyzzyzzzzyz{zyzzyyzxz{zzy{z{yyzyzxyxzyyyy{yxxzxyyxyyyzyzyyyzyyzxzyxxzzzyzzzyyzyyxyxyzyzzzyzzzyyyyxyzzz{zyyz{yyzyzyyxyyzzyzzyyxzxyzyyyzzzyzzyxyyyyzyyxz{zxyzyy{xyyyzxyyzyyzyzxxyxyyyzyyyyzzyyyyxyxzyyzyzyzz{zyyyyxyyxxzyzzyzzzxyyyxyxyzzyzyzyyxzyxzxzyzyyyyz{xzyyyzyyyzzyyzzzyyxyzxzyz{zz{zz{yyyyyyzzzzzzzyy{zzzyxyyzzzyzzzzyyyzzzyyxzyzzzyyzyyyyyyyyyzz{yyzyyyzzyyyyyzzzyzyzy{yzyzxzzzzz{zzzyzyyyyzyzzy{y{{zzzyzzyyz{z{z{{{zzzzzzyzz{{zz{zz{zyzyzzzzzzyyz{zzz{zzzzyzy{z{zz{{{zzzyzzzzzz{z{{z{yyyz{yy{zz{zzzz{yyzyyzzyzzz{{{zyzyzzzyyy|zy{zz{zyyyzzzxyzzzz{zzzxyzyyyyy{zzzyyyyyyxzxxyyzzyyzyzxyyyxxyxzyzyzyzzyyxxyyyxyyyzzzzzzyyyxyyyyyzyyyzxyyyxyyxyzyzyyyzzzyzyyyxxyz{yyxyzzyzyzxzzyyzyxyyyzyyyxyxyyyyzzzzyxyyyxywxxzyxyzzzxyyyxxxxzyzzyzyyyzyywyyyyyzyxzyzyxyyxyxyxyzyzyyzyyyyyxyxyzyyy{z{yyxyyyxyyyyzyyzyzzyzzyyxzzzyyyzzyyyyyyyyyyyzyz{{yy{yyyyxyyzzzzzzzxzyyxyyyzyzzzzzxyyyyxyyzzyzzy{zzyyzzxyyyzzzzzz{zzzzxyyyy{zz{z{zzzzxzyxxzzz{{{zzzyzzzyyyy{zz{{z{|yyzzyzxzz{zz{{{zz{yyz{zzzzzzz{zzzzzyyyyy{z|{z{zzy{yzzzzz{{{{{zzzzyzzzyyyzz{{z{zzzzyyyyzz{z{z{{zzyyyyyzzyzzzzzz{zxzyzyyyyzy{yzyyzyzyyyyyyz{yzzyyxyxyxxxxxyzyzyzzzxyyxxxxyzyzzz{yyyxzyzyyyzzyzzzyyxxzyyxxyzzzzyyzyyxzwyzxzyyyyzzzxyyyyzyxzyzyzzzyyxyxxyxyzyyyxzzyxyyxyyxxyxyyyzyzyyxyyyyyyyyyyzyyyyxxyyxzyyzyyz{zyyyxxyyyyyyyyyzyyyyyyyyxxyzzyxyyzyxyxyxyyyyzyyyyyyzyyyyyyyyyzyzzyyyzzxyyyzyyyyyzyyyyyxyzzzxzzyyzyyyyxyxy{zyyzyyyyyyxyyyyyyyzyzzyzzzyxyyyzzzzzzzzyxyzzxyyzy{yz{{zyyxzzyzyyzzz{y{zyzyzyyyzyzyzzz{zyyzyxzyyzz{{{zzzzyzzzy{zyzzzzz{zyyzyzyzzyz{z{z{z{zzzyyyz{{zzzy{zzyz{yzyyzyzy{zzy{yyyxzzy{z{z{{yzzzzzzyyyz{z{{zzyzyzyzzzzzzzz{z{zzyyxyyyyzzz{zyz{zyyyxyzyyyzyzyxzyyxyyyxyyzzyy{yyyyyyyyxyyyyyzzzyyyxyyxyxzyzyzyzzzwyxzyyyzyzyzzzzzyyyyxxyyyzyyyzzzxzyyyyxxyyzyzzyzyyxyyyzyz{zyyyyyxyyyyyyyyyyyzzzyyyxxyyyyyzyzzy{xyzyyzxxxyzzyzyyyzyyxyzyzyyzyyzzyyyyyzxyyyyzxzzyyyyxxxxxyyyyyyzzyxyxxzzxyyyzz{zzzyzzzxzyzzzyzz{zyyyzyyyyzzyzzzzzxyzyxxxxyyyyyyyxyyyyyxyzyyyzzzyzzyzyxyyzyzyzyyzzyyzyyyyyzzz{yzzzzyxy{yzyyzzz{{zzzyyyyyzy{yzzyzz{zzyzzzyyz{z{zzzz{yzyzyzyz{z{{zz{zyzzzzyyzzzzzzz{zyy{zyyyz{zzzz|{zy{zzyzzzz{zzz{z{zyyz{zzzz{zz{{{{zyyyyyzz{y{yzy{zzzyzzzxzyyzzz{zzzyyyyyxyz{{zzyyzyxyyyyyyzzyz{zxyxyyyxxyyyyzyzyzxxxyyxxyyzzzyyyzyyyyxy{xzyyzzyy{yxxxyyyyxyyzxyzzyyzyxyxxzzzyzyyzxxyyzyxxzyyzyyzyyzyyyxyxxzzzxyyyzyyxyzxyzyyzzzzzyyyxzyzyyzyyyyyyyzyyyzxxxzyyzyyzyxzxxyyyyzyyzyyyyxxxyxyyyzzyyzzyyyyyyyyxyzzyzzzzyyyxyzyyzzzzzz{{yyyxxxyyxzzzyyz{zyzzxyyzyyzyy{yzyxyyyyyyyyyzzzzz{zyyxyxyyz{zzzyzzyyyyywzzzzzzzzyzyzxzzzyyzzyyzzyyyzzyzxzz{zzzz{zyyyzzx{zy{yzyzzzzyyzyxxzz{zyzz{z{z{y{zyzz{z{zzyzzzzzyyzz{{zzy{z{zyxzzzyzyzzz{z{yzyyzzyzz{{zz{{z{zz{zyzzyzz{{zzzzzz{y|zyyyzzzz{{{z{yyyzzzyz{z{z{zzyzyzzyyy{zzyzyzyyzyxxyxyz{yzzyyzzyyyyxxyzyzyyzzzyyyyyyyzyyz{yy{zyyyzyyxzxyy{zz{yyyxxxxyyzzyyy{zyzzyxzyxyyzyyzyzzyyyyyyxyyyyzyzyyxyyyxyyzyyyzzyyyyyyxxxyzyzzyyzzyxyyzxyyzzyyzy{yzyyyyyxyxzyzyyzzyyzyxyzyy{zzzzzzyxyyyxxyyyyzzyyzzyyyxyyxxyyyyzzzyyyyyyyyzzyyzzzzzzzyyxyyyzzzz{zzyyzzyyyxzyzzz{zyxyyyyyyyzyyzyzz{zyzyzyyzyzz{zz{zzxyzyzyzzzzzzzyzyyzzyxxyzz{zzzy{zzyxzyyyyzzyz{zzyzxyzyzy{{zyzz{{zyyzzyzy{z{yzz{zzzzzzzzyzzzyzz{{zz{{yy{zzzzzz{zzzyyzz{yz{{z{zz{{{yzzzzyzz{zzyz{z{yzz{yzzyzyzyzz{zzzzyzy{{yz{{zz{z{zyzzyyzzzzz{zzzyzyyzyyyzyzzzzzzzyyyyxyz{{zzxyzyxyyyxyxyz{yyzyzxxxyxyyyzyzyyzzyyyyyyxyyzyyy{zy{xyxyyyyyzzzzyyzzyyxxyxzwzzzzzzyzyyzyxxyxyzyzyzzyzyyzxxyxyyzyzzyyyyxyyyxxxzyyyzzyxxyxyxyxyyyzzyzyyxyyxyyyyyyyzyyyyzzyxyyzyyy{yyzzyyyxyxyyxyyyyzyyyyxyzyyyzzyyz{zyxyyzxxyyyzyyzyz{yyyyyyyyyzzzzyzzyyyyxyyyzzzzxzzzxyyyyyyxyzyzzyyzzyyyyyyyxyzzzzxyyyyxxzxyyzzzyzy{zzzyzzyzzzyyyzzzzyzyyzzzzzz{{{z{yyzyyyzyzyyy{zzzzy{yzyyyzz{{zz{{yzyzzyyyz{zyz{zz{yzzzyyzyzzzzy{{zz{zyzyyz{z{{{zzyyzzzyyyzzzzyzzzzyyyyzy{zyzz{zz{yzzyzy{zyzyzzz{zyyyyyzzyy{y{yz{zzzzyyzzyyzy{z{zzyyyyyyyxzzzzxxzzyxyxxxxyyyyzyzyyxyyyxxyxzyzyzyyzyxxxyzyzyyyyzzzyyyzyxxxxyyyyzyyyyyyyyxywxyyzyyyyyxyyyyyxxyyyxzyyzyxxxyxyzzzyxyyyyyxyyyyyyxxyyyzyyxxyxyyyyyyyyzyyyyxxxyxxyyyxzyyyxxyyxxyxyzzzzxzyyyxzxyyyyyyyzzzzxyzyxyxxyyzyzzzzyyyyxyyyzzzyzyzyzyyyyxyyzzyyzzyzxxzyxyzyzzyyyyzyyyyyxyyxyzyyyy{zyyyyyxyyxyzxz{yzyzyyyyxyyzyyzzzyyxyxyyzyzzyyzyzzyzyyzzzyzxyz{{zzzyyyyyzyzzzzzz{zzyzyyyyyzzyz{zzz{yyyyyzyy{zy{z{{yzzzyyzzz{{zz{yyzyyyyzyzyzzzyy{zzyzxzyyyzzzzzz{yzyyzzzyzzyyz{z|{{yxyzyyyzyz{{zzzyzzyyyyyzyyyzzz{y{yyyyyxzzzyyzz{yyzyxxxyyyzyzyyzxxyxxxyxxzzxyyyzyxxxyyxyyyyyxzy{yyyxxzyxyzyyzzyzyyxzxyyzyyyyxzyzzyxxyyyxyzyzyzyzyxyyxyxxwzxzyyzyyyxxxxxxyzyyyyzyxyyxyyyxzyzyzy{yyyywzyxyyxyyxyyyyyyyxxxyyyzyzyzyyyzxxxyzyzzyyyyzyyyyxyxyyyyxyyyzyxyxxyyxyyxyyyzzyyyyxxxyzyzyy{zyzyyyyyyxyzzyyzzzyyyyxxyyxyyzzz{yyyyyyyxyzyyyzzzzyyyzyyyxyyzzyzyzyxzyxyxz{zzzzy{yzyxyxyyyyyyzzyzzzyyxzyyyyzzzzzzzyyxyzyzyzzyzy{zzyyzzzyzxzzzzzyzzzyyxyzzy{zz{z{{zyyyzyzyyzzzzyz{zzzyzyzyzz{zzzyzzzxyzxyyyzzzzz{{zzyyzzyyyzzyyzyzz{zyyzzyxz{zzzzz|zyyxzyyyy{zzzzzzyzyxyyyyyy{yyzzzzyyyyxyyyzyzyyyyyyxyyyyxxzyyyzzyyyyxxyyxzzzzzz{{yyyyyxxyzyyyzyyxzxzyyyyxyyzzyxyzyyxzyxxxyzzyzzy{xyxywzyyyxzzzyzyxyyxxxxyzzyzyyzyzzxwyyyzxyyyyzyzyxyxzwyxyyyyzyzyyyxyxzyxzyzyzyyyxxyyyyyxzyz{zyzzyxyxyyyxyzyzyzyzyzyyyxyyxyyyyzzzyyyyxyyxzyyzxzzzyyxxyyyzxzyyzyzzyyyyzxyyzyyzzzzzyyyzyzyyzzyzzzzyyyzyzyyyy{zxy{yzzyyxyyyzz{zzzyz{zyyyyyyy{zzzzzzzz{yyzyzyzyz{z{zzyzyyzyzyzzzzz{zzzzyyyzyzz{zz{zzzyxzyzyyzzzy{zz{{zyyyzzzzzzzx{{zzyyzzyzyyy{zzzzz{zy{zyyyy{{zzy{{{{yzzzzzyzzzzzz{zyyyyzzzzz{zz{z{{zzxxzyzyy{yzyz{zyyyyyyzyz{z{yz{zyyyyyyyyzzyyzzyyywxyyxzxyyzyyzzyxxyxyxxxyyyxyyxzyyyyxxyxxyzyzzyzyyyxxxyzzxyzyyyzyzxxyyxxzyzxyzyzzyyxyyxyyyzyzz{zyyyxyxxyyyyxyy{xyyxyyyxxyyxyyxzzyyyxxxyxzyzyzzyyzyzxxxxyyzyyzzyyyyyyxyxxyyxzzyzzzyywyyyxyxyyzzyzyyyxyxxyyzyyy{yyyxyxxywxzyzyzzzzyyxxyxyzyyzyzyyzyxyxxxyyzyyyyz{zyxyxyyzzyyzyyyzyzy{xyxyyyzzzyzzzyyyyyzxyyyzyzyzzzyyyxyyyyzzzzz{zyyyyzxzzyzz{{{zzzzyyyzyyzzz{zz{{zzz{zyxyzzzzzz{yzzyyzyyyz{zzzz{|zyzzxyzzyz{zzzzzzzyyzzz{y{z{z{z{yyyyyyyzzzzzzz{zzyyzzyyzzzz{zzzz{zyyzzyz{zy{{yzzzyzyzyyyzzzz{z{zzzzyyyzyzzzyzyzyzzyyyxyyzzzzy{yyxxyxyyzxyyzyyyyzyxyyxwyxyyzyyy{yyyyxywxyyyyzyzzzzxyyxxyyyyyyyzyzyxyyxyyxyyyzyzyyyyyyyyyxyzyzzzzzzyyyyxxxyyyyyyyzyxxxyyyxyyyyyyzyyyyyxxzyyyxyyzyzxxzwyxxzzzyyzyzzyyyyyyyyyzyzyxzzyyyyyxyxyyzyyyzzyyxzxyxyyyxzyzyyyyzzyyzxzyzyyzzzxxyyyxxxyzzyxzzzyzzyzxyyzyzyyyyzyyyyxyyyyyzyzyzzxyyzyxyxzyzyz{zzzyyyyyyxzzzzyz{yyzxzyyyyzzzyyzzyxzzyyyyyyzzzzzyzzyyzzyyzzzyz{z{{yxzyyyxyzzzzyzz{{yyzyyyyz{yz{{z{yyyyz{zyxz{zzz{zzyyxyzyzyzzz{{{zzzzzxyzyyzz{z{z{zyyzyyyzzzzz{z|zyyyzzyyy{zzzyzzzyyyyz{zzzzyzz{zzzyzyyzyyzzz{zzzzyyyyzyzyyzzzyzxyyyyyyyxxzzzyyyz{zzxyyxxyyzzzyzzzyyyyyxyyyyyxzzzzyyyyzxxyyzzyxyzzyzyxxyxxxyyyzzyzxyyyyyyxxyyyzzyzyzzyzyxzyyzxyzyyxxyyyyxyzzyyyzyzxxxxyxxyyxyyyyzzyxwyyxyyxyyxzyzyyyyyxyyxyyyyyyyxxyxyyxyyyzyyxyzyzyyxyxxyxzxyxzyzyyzyyyyxyzyyzyz{yzyxyxyyzzyyyyyzyxyzyyyyzyyyyzzzyyyyyyyyzzzzyyzzyyyyyxyyzzy{zzzyyyzyzzxyyzyyzyzzyyxyyyyyzzyzyzzyyyyzyyyyyyyzzzzzyzzzyzyzz{zyzz{zzyyyyyxxz{zzzzzyzyxyzzzzzz{{zzz{yyyyzzzyzzz{zy{zzzzyyzzxy{zz{{{y{yzyxyyzzzzzy{zzzyyyyzzyzz{yzz{{zzyyyzyyyyy{{zzyyyxyyzyyyyzyyz{{{yyyyyyxzzzzyzzxzyxyyxyyyzzyyzzyyyxxyyyxyzxyzzzzyyyyyyyyyyzyzzyyyxxxxyyxzzzyyzzzyyyzyyyxyyyyyyyzxyywyxxyyyyyzzzzyyzyyyyyyyyzyzzxyxyyyyxyyyxxyyyyyzyyyyxyyyyyyzyzxyxyyxyyyzzzzyzzyyzxxyyyyxyyyyyyyzyxxyxxyzyzyyyzyyyyyxxxxxyxyyyyyzyxyyyxyyyyyzz{yyzyyzyyyyyzzzzyyzzyzzzyyzzzyyzyxyzyxyzyyzzzzzzyzxzxyyy{zyzzyzzyzyyyyyyzzzzzyzzzyyzyxyyyyzzyyyzzzxzyzxxxzyyzy{zzyyyyzyyyzyzz{{zyyxxxyzyyyyy{zz{{yyyyzyzyz{zyzz{zzzzyzyzyyzyzyz{zyzzyyzzyyyz{{z{yzyyzyzyzyz{z{z|z{yyzzzzyz{yzz{zyzyzy{yy{zzyyzzzyzyzyyyyy{zzzz{{z{yyxzyyyz{zzzy{zzzyxyyxyzzz{zy{zzyzyyxxzzzzzzyyzyyxyxyxxyxyzxyyzzxxyyxyyzyzzzzzyzzyyxyyxxyyzyyyyyyyxyyxyxyzyyyzzxzyxxyyxzyzzzyyzxyyxyxyyyzxyyz{zzxyyxyxyyyzyxzyyxxzyyyyxyxyzzzyyyxyxxyxxyyyyzzzyxyyxyyyyzzyzxyzyyyyxyyxxzzxyyyzyyyzyxxzyxzyxyyzyyyyyxxxxxzzyyzyzyxyyyyxyyyyxyzzzyzyxyzzyzz{zzzz{zyzyzyyyzzyzzyyzyyzzxyyyyzzzzyzzyxyxxyzyxyzyzzyzyyyzyyyyz{z{yzyyzzyyzxyyyzyyyzz{yyzxyzyyzz|zzzzzyyyxzzyyzyzzzyz{yzzzxzyyzyzzzyzzzxyyzyzyzzzz{{zzzyyyyzyyyzzz{{{|zyyy{zzzyzyz{{zzzyzzyzyzz{zyz{z{{yyzzzyzyzzzz{z{yzxyzzz{yzz{z{{{yyyyzzzyzzzyyzz{zzyyyyyyzzz|zz{zzyzyyyzzzzzyzzzxyywyxxywyxzyyyzzzyyyxyyxyzyzzzzyxyxxyyywyyyzzzzyyxyyyyxyyzzyyxzzyyzxxyyyyyyzyzz{yxyxyyzyyxzxyy{yzxyxxyyxzzyyyyxyyxyxxyyyxyyyyyyzxxyxxxxyyyyzzzzyyxyyxyxxzyyxzyyzyyyyxxxyzyxyyzzyxxyxxyxxxyyyxzy{yzyxyyyywyzyyzyyzyzxyxyyyyyyyy{zyyyxyyxxzyzzyyzzyxxyxxyyyyyzyyzzyyzyxxyyyzzzzzyzyyyxzxyyyy{zz{yzyy{yyzyyyyyzyyz{xzzzyzyyz{yyy{z{xyyxyyzyyzzzzzyyz{zyzzzxyzz{yzzzzyyyyyyyzz{{{z{zzyzyyyzzzyzzz{z{{zyyzzzz{zzzzzzz{zyyxyzzyz{|z{zzzyzzyxzyzz{zzzzzzzzyzyyyzzyzzz{yzyzyyzyyzzyzyzz|yyzyyyxzyzyzzz{yzyzyyxyyzzy{zy{yzzzzyxzyyzyyyyzxyxyyyxyxyyxyxxyyxxyyxyyxzyzxyyzyxxxxzyxxyyyyzyyyyyxxxyyxyyyyxyzyxyxyxyyyxyzzyzyzxwxxyyyyyyyyyzyzyyyyxxxyyyyyxyyyyxxxxyyyxyyyyzzzxxxxwxxyyyzyyyzxzxyyyyxxyyyxyzyzzyzyxxxxyxzyyyzzyxyxxxyxyxzyzyyyyxxxyxxyxzyzyyzzyyyyxyyxxzzzzzyzyyxzyyyxyzzzyyyzyyzyxyyyyzzzyyyyyyxxyyxzzyzzzzzyzzyyxxyxyzyzzzyxyxyyyyxyyzyxyyzzzyyyxxxzzyxyyzzzzyzzyzyzyzyzzzzzyzyyyzyzyyzzyzzzyyyzyzxxy{zzzyzyzyzyzyzy{zzyz{{{yzzzzzzzy{zzzzzzzzzzzyyxx{yzzzz{zyzyyxyyzzzz{zzzzyzzzyyzzzzzzzzzzzzyyyzyzzyz{{{zxyyxzzyxyyzzz{zzyyyyzxyyyzzzzyzzyysxyyyyzyyyzyyyxxxxzyxyxzzyyyzyxyyyyyyyyyyzyz{yyywxyyxxyzzyzyyzyxyxzyxxzyxyyyzzyzzzxwyxxyxyzzyyxxxyxyyxxyyyxyzzzyyyxyyxyzxyyyyyyyyxyzxyyyxyyzyyxxxyyxxyyxyyzyzzyyxxxyxyyyzxzyzzyxyxyyywyyyyyyyyzyyyxyyxxyyyxzyxyyyyxyyywyyyyyzzyyyyxxyxzxyzzzzyzxyxzyxyzzz{xyyzyzxyyxyyyzyyyzyzyyyyyyyxzzzzzzzzyyxyyyyxyyzyyz{zzxyyyyyyyyzzzzzyyxyyyyyyyzzzzzx{yzyyyyyyzyyy{zzyxyzzyzzyzyyzzyzzzyyyyyzxyzzzyzzyzyyyzzzyzz{zz{{zzzzyzzzyxzz{zzyzzyyyyzxyyzyzy{{zzyyzzxxyyzzzzzzyzzyyzyyzzzzzyy{zyyyyx{yzyzzzzzyzzzzxyyyyyyzzzzz{zyyyyyxxyzzzyzzyyyzyyyyxyyzzyzyxyyyxyyxxyyxyxyyyxxzxxyyyyxyyzzyzyzyxyyyxyzzzyzyyyyyyxxyxyzyyyyzyyyyyyxyyyyzyzzzzxyzxzyyxxyyyzyzzyyyyyxyxxyzyyzyyyyyxxzxyyyzyyyzyxxxwyxxyyyyyyzzxzyzxxyzxxyzyyyzyxyxzxyyyyzxyyzzyxxyxyyxxyyyyyzyyyyyxxxyxyzyyzzy{zyyyxyyyxyzyyzyzxyxyxxxzyy{zzyzzzxxyxxxyzzyyyzzzxxzxxyyyzyyyzzzyzzyxyyxyz{zzyzyyyyxyyyxxzzzyzyzyyyxyyxzxzzyzyyzzzzzzyyyyzzz{z{z{yyzyyxyzzzyyyz{{zxxyyyxxyyzyzz{zyzzzzzxyzz{zy{zzyyyyyzyyz{yz{zz{zzyyyyzyy{zzy{{{zyyyyzyyz{yzzx{zzzzzzzzy{zzz{z{{zyy{yzyyzyx{zzzzyyzyyyyyzzzzyzzyzyxyxzyyzzzyyyyyxzyyyyyzzy{yyzzyxyxyxxxxzzyyyyzzxyyxzxyxxyzyzyz{zyxxxyxxzyyyzzzyyyxyzyyyzzyzyyyzyzyxxxyyyyyyyzyzyyxxxwxyyzyyzyzzyyxxxyyxyyzxyyzyxyyyyxyxzxyyyzxzxxxxxyyxyxyzyyyxyyyyyxyyyyyyzyyzyxyyzxywyzyyzyzzyyxzyyxyzyyxyzyyxyyxyxyxzzyyzzz{yyyxxyyyxzyyzzzyyxxyyyyxzzyzzy{zyyyzyxzyzyyzxzzzyyyy{xxyzyzzzyzzyyyy{wyxyzzzyzzzyyyzyyyxyzzzyyzzyyzyyzzyzzzzz{zxyzxyzyyyzyzzzzzzyyyzy{yyz{yzz|z{yyyyyyxy{zzzzzzyzzyyzxyzy{zz{{zzzzzz{zyyyz{{z{zzzyyyzzyzz{zzy{z{yzzz{yyzzz{{zzzzzyyyyyzx{zyzzzzzzzzzzzzzyyzz{yz{zyyxzzyyzzzzyzzzyyyzyyzyzzzzzyyzyyyzzxyy{zyyyzyyxyyyyxxxyyyxyyyzyxyxyxxyxzzyyz{zyyxxxyxxyyxyzyzyzyyzxyyyzzyzyzzzyyyxyzxyxzyzxzyyxxxyxxyxyzyyzyzzyxyzyyyyyzzyxyyzxxxyyyyxxyzzyzyzyyxyxyyxyyyzz{zyyyyzxyxyyzzyzzzyxxyyyyyxxyzzyzyzyyxyxyyxyyyyyyzzyyyxyzxyzyyxzzyzxyyyyyxxxzyyzyz{yxyyyxyyyyyzyyzzyxzyyyzyzxyzzzzzyyyzxyyyzzzzzzyyyyyyxxzyyzzzzzzzzyyyyxxxxzzy{yzzzyzxyzyzzyzzyzzyzzzyyzyzyzzzzzzzxzzyyzyyyyzzy{yzyxzyyyyyzzyzz{{yzzyyyyxzy{yzz{{zyzyy{zyz{zyz{zzzzzyz{xzyy{z{{zz{{y{zyyyzzzzzy{zzzzzzyzyzyyzzy{{zzyzyyzyzzzz{yzzyyyzzyzyy{yz{z{z{zyyzyxyxzyyzzz{yyyyyzyxxzzyzyzyyxxyxyyxxzyyyyxyzyzyyyxzyxzyzzyzzyxyxwxxyzxyzyzzyzzyyyxyxyyzzyzzzyxyyyxxyy{yyyzzzyyyxyxxxyyxyyzzzyyyyxyyxzyzyyzyyzxxyyyyyyyzyyzzyxxxxyyyxxzyyyzzyyxyyyyxyzyyzzzyyyyyywyyxyyyyyzzyyyyyxyyxxyyyyyy{zyyyxxyxyzyyyzyzyyyyy{yyyzzyy{yzzyxxxzxxzzzzzzz{yyyyxyyyzyzyyz{yyyyzyxyyzyyyzzzxyyyxyyyyyyy{zxzyzyzyyyyyzzzyyz{zzzyxzyyyzzzzy{zzyxxxyyzyzzz{zzzzyz{yyxyzzyz{y{{zyyzyyyyx{zzzyzzzzyyzyyzy{yz{{z{{zyyzzyzyz{yz{{{y{yxzyxyyy{yzzz{{zzyyyxzzz{zzzzyzzyzyyzyyzzyyy|zz{zyzzyyyy{z{{z{{zzyxyzyyyzzyy{{{zyyyyzyxyyzzy{zyyyywyxyyzyyzyzyxxyxxxxyxxyyyyzy{zyxyywxxzyyxyzzyyxxyxyxyyyyyzy{xxyxzxyyyzyyyyyyzzyyyyxxxyzyyyzyyxyyxyxzyyyyyy{zyyxyyyyxyyyzyyyzzyywyxyxzyyyyz{yyyyxxyxyxyxzxxyyyyyyyyywyyxyyzyyzyyyxxxxxyxyzyzyyyyxyyyxxyyxyyzyzxyyxxzyyyyyyyzyzyxzyxyzxyyyzyyzyyyyyyyyyyzzyyzxzyzyyyzzyyyzy{zyzxyyxyyyxyyzyyyzzzy{yxyyyxyzzzzzzyyzyzyxzyyzxxzyzyyxyxyxyy{yyyzzzyyzzzyyyyyz{z{z{xzyyyyzyyzzzyzz{zyzyyyxzyyzz{zzzzyyyzyxz{zyzzzzzz{yzzzyzz{zzzzzzyyyyyyzyyzzzzz|yzyyzyyzyyz{yz{zz{xzzzyyzzyzzzz{zyyxyzyyyzzzzzzzzzzyxyyyyzzzzzyzzzyzxxxyyzzzyzzyzyzyyyyyyyyzyzzzyxxyxyxxyyzzzyzyyyxyxyxxyyzzzyyxzyyyxxyyyyxyxyzzzyyyzyxxxyzzzxyyxyyzxxyxyyzyyyzzzyxyxyyyzyyzyyyzzyxyyyxyxyxyyxzzyxyyyyyyyyyyxyzyyzyyyxxyyyyzyyyyzxyxyxyxyxyzyyzzyyxzxyxyxyyyyy{zzyyxyxwxyxzzzyxzzyzyyyxxxyyyyyyzxyyyxxyxyzyyyzyzyyzyyyyyyzzzyyzzzyyyxyyyyyyyyyzzyyyyyyxzyyyzxzz{zzyzyyxyyyzyyzzzzxxyxyyyzzzzzzyzyzyxzyxyzyzzyy{{zyyyyyzyzyy{zz{yzyyyzzyzzzzz{zzzzyyyyyzyy{{z{zzzzzxzzzzyzzzzzz{zzzzzyyzzyzzyz{zzzzzyzxzyzy{z{z{zz{yzyxyxzzz{{z{z{zzyyzyzyzzzzz{z{zzyyyyxzzzyzzyzzzyyyxyzyxyzzzz{zyzxzyyyxzyxzyzzzzxzzyyxxyzzzzxzxwwyyxxxxyyzzyzzzxyxyxwwyyyyyyzz{yxyxyzxyyyxyzzzzyyzzyxyxyyzzzyyzyxwyyyyyyzzzyzyzyyyxxxxxxyxxyyyyxyyxyyyyyyyxyyyyzyyyyxxxyzyyyzyzywyyyyyyyyyyyyyyyxyyxyywyyzyzzyyyyyyxyxxxyxxyzzyzxyxxyxxxyyyxyyzyzxyxxxyyyxzyyzyyxyyyyyxyxyzyy{zxxyxyxyyxyzyyyyzyyyyyxyyzyyzyyzyxyyyyyyzyyzzzzzyzzyxyyyxzyyyzzzzyyzyzyyyy{yyzz{zxyxyyyxxzyyyyzzyyyyyzzyxyzzzzz{zzxyzyxzxyzzzzz{zyyzyyyzyyyzzzzzzzyyzyyyyyyyyzy{zyzyyyzzzyzzy{z{zzyzzy{yzx{zzzz{zzyzzyyyyyz{yzzzzyyzxzzxyzz{zyzz{yyyxxyyxyzyxzzz|{zxyyyyyx{yzy{{{zyyyyyyyzz{yzyzzyyyxyxyxyyzyzzyzyyyxxyyyyzzyyyzzyyxxxxyyyyyzyzzyyyxxyyyxyyyzyyzzzyxyyyyyyyzxyzzzyyyxxyyxyyyzyzzzyyxyyzxxxyyxyyyxzyxyxxxxxxzyzyyyxwywxyxzyyyzzyyzyxyyyxxxyyyyyyzxxxyxxxyyzyyyzzzzyyyyxxyyxyyzyyzyyyyyxxyxxxxxyyyzyyxxwyyyxyzzxzzyyxyyzyzxyxyyxzyyzyxyyyyxyzyzyzzzyxyxxxyyyyyyyy{zyyyxxxxyzyzzzzzyzxzxyyyyyyyzyyzzyzxzyyyyxzzzzzzyzxxyxyyyz{yyyyzyzxxyyyzy{zy{zzzzyyyyyyzzzyy{yzz{yyyzyyyy{z{zzzzz{zyyyyyy{zzzzzzzzyzzyzyzyzzyzzzz{zyyyzyyzzzz{zz|zyzzxyyyzzzzzzzzzyyzyyxyzzz{{zy{yzyyzzxyzz{zz{yzyyyyyyyyzzyzzz{{yxyyyzyyy{y{zyzzzyzxyxyzyy{zyyxxyxxxxyxxxyyxyyyyxxyxzxxyyyxyzzyyzxyxyzxyyyyyyy{yyyyxxyxyzyyyyyyzzyyyxxxxyyxyyzyyyxyxyyyyyyzyxzzyyxzxyyxzzyyxxyyyyyyxxyyxyxxzyyzzxxyxwxxwyyyyyyzyyxyxxxxywxyyyyyyyxyxxxzxxyzyyyzzyyxyyxywyzxyyyxyyxxxyxxyyyyzyyzzxxyyyxxyyzzyyzzyyyyzyyzyyzyyyxyyyxyyxxxyzxzyxzzzyxzyyyyxyy{yyzyyyyywyyzyyyyyzzzzyxyxyyxyyyyyyzyyyzyyyxyyy{{yzzyyxyzyyyyyyzzzzzzzyyzyzxzzzzyzzz{{yyyyxxyxzzzxzzyyyyyzyyzyzzzyyzzzyyyzxzzzzzzzzzzzyyzyyzxyz{yzzz{{zyxzxzyz{zyzzy{zyxzyzyyx{zyyzyzyyzzyzxyzyyzzzzzzyyyyzzzxy{x{zxz{yyyzxxyyyyy{yyyzyzzyyxxyyzyzxyzyxxxyyyyxyzyxzy{zyxyyywyxyzyyyyzzyyzxxyyxyyyyyyyyyxyyxyyxxyzyyyyzyxxyyxyxyyyyyyzzyxxyyyywxzyzyz{yyyyxyxyxxyyxxyyxxxyyyxxzyyyzyyzyxyxxyxxyyyyyxyzxyxyyxyxyxyyxzyyyxzxxxxxxxyyzyyyyyyxyxxxxxzzyyxxzyxxxyzyxyywyyzzyyyyyyzxxxyzxyzz{yxyyyyxxxzyyyyzzyyyzxxyyyyyzzyyzyyyyzyyyyyyyzzz{xzyzyxyyyzyyzzzzzxzyxyyxyyzyyzyzzxzzxyyyy{zyyyyzzyxyyyzyzzy{yyyzyzyyzyzz{zzzzzzyzzyzyyyxyzyzyy{zzzyzyxzyzzzyz{zzyyyyzy{yyyyz{zzzzzyyzyyz{{z{zzzzzyyzyxzxzyzzzzzyzyyzyzyyyzzzyzzyzzy{yyzyyzzyzyzzyyyxyyyxzzzyzzzyyxyyyxyzzzyyyxzzyyyxxxyyyxzy{zzyzxyxyxyyyzzyzyz{zyzyxyxxyyyzyzzzyzyyyyyxyyzyyyzyyyxyyxyyzzzyzyzzxyyxxxyxyzzzyzzzxxyyxyyyyyxyyzzyyyxyxxxxyyyxyyzzyyyxxyxxyxyxyyyzyxxxyyxxyyyzyzzywxyyyyxyyyyyyyyyyzyxxyyyyyzyyy{yyyzxzyxyyyxyyzxzxywyyxzyyyyyzzzzxxyxzzyxyzyyzyyzxyzxyzyyzyzyxyyzyxxzxyyxyzyyzzyyyyyyyxxyyyzyzzzzzyyxyyyxz{zyyzyzyyyxyyyyyzzzyyzyxyxyzzyyzzzzzzzzyyyyzyyyzzzzzy{zyzxyyyzyzzzzzy{zyzzzyyyyzx{yzyz{yyyy{zxzyzzzz{zzzy{yyyzzyyy{{zzzyyzyyyzzzzz{{z{{yyzzzyyzyz{yz{{{zzyz{zyyyzzzz{zzzxyyzyzzyyz{y{yzzzyyzyyyyzyyyzzzzyyyyyyyyzyzzzzyyyyyxyyyzzzzyzzyxzxxxzxxyzzyxxzyyyyyyxxyyzyyzzzzzyyxyyyyyyzyyyzyyxxyxy{yyyy{yzz{zxxxyxxxzyyxyzyyzxyxyxyxyxzyyyyyzzyyyxyxzyzzyyyxyzyxyxxxyyzzyyyyyyyxyyyyzyyyzyyyxyxyxzxyxyzyzyzyyyyyxxxyyzyyzyyzyyyxyyxxyyyyxzyzyyyyyyywyyzyyzzzyxyyxyyxxyzyyzyyyyyxxyzyyzyyyzzzyyyxzyyxyyyzxyyzyyzxxyzyyyzzyzzyyzyxzxyyyzyyyzzzyyyyyyyyyyzyzyzzyxxzzzyyyzzzyzzzzyyyzzzxyzzzzzzzzyzyyzzzy{yzzzyzzyyzyyyy{{zy{z{zyyyyzxyy{zzzz{|{zyyyyzyyyzz{zz{{zzzzyzyyz{zz{{{z{zyyzzzzzz{{zzzzzyzyzyzzzzzzzzz{zzyxzzxzzyzyz{zzzyyxzyxyxzz{zz{zzyyyyyyxyyx{yyzzyyzyyxyzyzzzyyyyxyzxxyxxxyzyyyxyxxxyxwyyzyyyyz{zyxyxyxyxyyyyyyzzyyxyxyxxzxzyzyzzzyzxxyyxyyzyyyyyxxxxyxyxyx{xyyzyyxywxzyyyyzxyzzyyxyxyyyxyyzyxyyzyxxyyyxxyzyyyy{zyxxxxxxxyyzzzzyzyxyyxxxxxzyyyyzzxyyyxyxxxyyxyyyzxxzxxyxyxzyyyzzyzyyxyxyxzyyyyyzyzyyxxxyyyzxyyyzyyyyxxyyxzzyzzzzyywyzxyyyzzyyzyyzyyyxyyyyyzzyz{yyyxyxyyyzyzzzyyyzyyyyyyyzzzzyyyzzzyyyzzyyzyzzzyzyyyzyzyyyzyzzyzz{zyyzyzyz{zzz{zzzyyyzyxyyzzzyzz{zzzzxzzzxyyzz{{yz{zyzzzzzy{zzz{{yzxxyxzyzzz{{z|{z{yyyyyyyz{zzzz{z{zzyzzyyyyzyyzyzyyyyyyxyyzzyyz{{zyyyzyyyyzyyyz{yyyyyxxyyzzzyyzyyxyyxzxwxyzyzyyyyyzyyxyyyxyzyzyxzyyyxyyyyzyyyzzzyyyxyyxxxzyyzzyz{yyyyxxyxzyxyyzxyyyyzxyxzyyzyyyyyyxxxyyyxyyyyyzyyyyyyxxyyyyxzyzyyxxxxxxyyyyxxyz{zyyyxyyxxyyzyyzx{yxyyxxyyxyzyyzzyzyyyyyxxyyyyyyzyzxxxxyxyyyxzyyz{yyzyyyyy{yyzzz{zyxyxyyzyyyyyzyzyyyyyzxyyyzzyyzzzyyzyxyyzzzyyzyzzxyzxyxyyyzzyyyyzywxyyyyyyzyyyzzzzyyyyyyx{zyy{zyzyyyyyyzyyyz{zz{yyzy{zyyyyzyzyz{{yyzyyyyyzzyzzzzzzyxzzzzyzzzz{{{zzyzzyzzyzyzz{zzz{yyzxyyyz{zzz{{zyyzyyxzzzzzzzzz{zyyyzzyyyyzzzz{y{zyyzyyzzyzzzyzzyyyyy{yyzyz{z{{{yyxxyzyzyz{zzy{yzyzxyxxzzyzyyzzzxyxyxxyxxyyxzyzyzyxxxxxxyzyyyyyzzyyxxzyxzxyyzz{zxyyxzyxyzyzyyyzzzxxxyyxxyyyzyyyzyyyxxyyxyyxyyyzyyyyxyxywxyzzyyzzyxxyyyyzyzyzyy{yyyyyyxyxxyyzxyzyyyxyxxxxxyyyzyyzyyyyyyxxxyxzyzyzxyxxxyyxyyyyyzyyzyxxxyxyyzyyyzyxyyyyxyyyxyzyzzy{zyyyyyyyyzyyzyyzyyyzyyyyzzzzzz{zyyyxxyzyyzzyzzyyzxyxyxyyyyzzyyzzyxyyyxyyzzzxzzzy{yxyyxxyzy{yz{zyyyyzyzxzy{{yyzz{zyyyzzzxzyzzzzzzyzxzyzy{zzyzzzz{zxzzzzyz{z{zz{zzzyzyyzzy{{z{zzzz{yzzyyyyz{z{z{zzzyzy{yyzz{zzyzzzyyzyyzyyzzzzzzyyzyyyzyyyzyz{zz{zyzzzyxyzzyzyzy{zzyyyyyxxzyzzy{z{yyyyyyyyyyzyyyyyyyyyxxyxyxyyyyyyyyyyyxxxxyyyxzyzyyywyyxyyyyyyyzyyyyyyxxyyyyzyxzyyyyxwyxxzxyzyyyzyxyxyxwxxyxzzzyyyxyyxyyxyyyyyyyzyxyxywyxxyyxyyzyyxxyxyyxxyyxyzzyyxxxxxwxyyzzyyzyyyxxxyxwyyyyyyyzyxxyxxyyxyyyyzyxxyywxyxyyyyzzyzyyxxxxyxxyzyxyyyyyyyxxyyyyz{zyzyzxyyyxxyxzyzyyy{zyxzxxxyyyzzzyzyzywyyzxyxyzzyyzyyzxxyyyyyyyyyzyz{zxyyzyyxzzzyyyyzyyyxyyxzyyz{z{yzyyyyyzzyzzyyyz{{zxzyyxzyyzzz{zzz{zyyyyyy{{{zzzzzzyyyyzyzz{zzzz{zzxzzyzyyzzzzzzzzyyzyxyzyz{yz{zzyzyzzzyyzyzyzyzz{zzyyyyyzyzzzzzz{yzzyyyyyzzzyzzzzzzxyyyzzxzyzyyzyzyxyyyxxzzzyyzyyyyxxxxxwxzzzyzyzyyyyxxyyyzyyzzyyzzxyyyxyzyyyzzyyyyxyxyyyyyzzyzzyyyyxyxyxyyyzyzxzyxyxyyyxyzzyyyyzzyyxzxyyyyyxyyyyyxyywyxyyyxzyyyzyxyyzxyxyxyyxyzyyyxxxyxyyyzyyzzyyzyyxxyxxyzyyxzzyyyyzxyxxyyyyxyzyxyxyxxxyyxyy{zzyyyyyyxyyyyyyyzyzxxyyyyxyyzyyyzzyyyyxxyyzzyyzyzyyyyyyyyyyyzzzyzzyyyyyxyzzyzzyyzzyyyyyyyyyyzzxz{yyxyyyxyzzzzxy{zzyyyzzyxyzzz{zzzzyyzzzzyz{zz{zzzzzzzzyzzyzzzz{z{zyyyzyyyy{zzyz{{{zzyxzyzzx{zzz{{z{yzzzzyyzz{z{{{{zy{zzzyxzzz{zzyzyyyzyxyzyyz{zzz{zzzzyzzz{z{zz{y{yyzxyzzyzzzzz{zzzyyyxyzxyyz{yyzyyyyyyyyzzyzyyyzyxyyxxyxyyyzyyyzzyxxxyxyxyzzyyzzzzyyyyyyxyzyzyyzzyzyzyyxxyyy{yyxzyyxxwxxyyzyyyyyzxxyyyyyxyyyyxzzyyxyxxxyxzyyxyyyzxyyxxyzyyyyxyyyyxyyyyxxxyyzzxyzyyyxxxyxxyyxyzyzzzyyxyxxxyzyxyyyzyyxxxyxxyyzyxxyyxzyyyyxyzyyxyyyxxxyyyyxxzyyyzyzyyywxyxzxyzzxyyyzzyyywyyyxyyzzyzzyyzzxyzxyyyyzzzzyzyyyyzyxzzzz{yzxzyxyyyxzzzyxxz{yyyzyzyyyzzyzzyzzyyyyyyxyzzzzzzzyyyyzyzyzyyyzzzzyzzyzxyyyzz{zyzzzyyzzyzzzz{yzzzyzzyzy{zzzyzzyzz{zzyyxyzyzzzzzz{zzyzzyyzyzy{y{zz{{yzxyyyyzzyzzz{{{zyyzyyz{zzzzzy{yzzyzyzyyzzxy{z{zz{yxyyyyzyyzyyzzyyxyyyxxzzyyzyyyyyyyyyxyyzyyyzyyxxyyyxyyyyzyzyyyyxxyxyyxxyyzyzxyyyxxxyyxyyyyyxzyyyxxxxxxxzzzzzyxyyxyyywxyzyxyyzyyyxyyxxxxyyzyyxyxxxxyxyyzzyyyyyxxxyyyyyyzy{yzzyyyyxyyxxzyxyyzxyxyyxxxywxzyyxyzyyxyyyxyyyzzyyxyzyyxyxyyyxyxyyyyyxyyxxyxywyyxxxzzyyyxxyyxyzzyxxyzyxyxxxyyyzzzzyyyzyyyxyyyyyyzzzzzyyzyyxyyyzyyxzzzzyzyxxyyyyyyzyzyyxxzyyyzyzyyyyzxzyyzyyxyzyzz{zzzyxyyyyyyzyyzz{zzzyyzyyxyyzzzzzzyzyzyzyyyy{zy{y{zzyyyyy{yyyyzy{zzzyyzyzyyxzz{z{zzzxyyzxzyyyzz{zzzzyzzyyyyz{zzz{z{yyyyzzyzzzyz{{zzzxzyyyzzyzzzzy{zzzyzxzyxzzzyzyzzyyyyzxzzy{yzzzyyyyxxyyyxxzzxxyyzyxxyxywxyzyyyyzzxxyyxxyxyzyyzyzzyyxyyxxxyzyyyzz{xxyyxxxyzzyyyxzywxzxxxxxyyyyxyyyyxyyyxyyy{zyyzyyxyyyxxxyxyyyyyzyxxyyxyyxy{yyzzxzzxxxxyyzxyxyyyyyyyyyxyxyzyyyzyzzyyxyyxxyyyyyyyxyyyyyxxxxxzyxyyyyyyyyyyxyyxyyyyzyyyxyxyyxzzyzyyzzxxzzxyyyyzzzyzzzyyyxxxxxyzyyyzzyzyyyyyyyyyyzzzzzyyyyzyyyzyyzzzyzyyyyyyyx{yyxy{zzzyyxyyxzyzzzzyzzzzyyxxyyyzzzyz{zyyxyzyyyy{zzzzyzyyyyzyyz{zzzzzzzzyzzyzzyzzyy{y{zzyyzzzyyz{{zzzzzzzzyxyyyzyzyzzz{yyyyzyyyzzzzzzz{zzyzzzyzzz{zz{zzyzzyyyyyyzzyzzzzy{yyxyyyzz{zzyzyzxzxyyxzyzzzzzyyxyxyyxxxyyyxzz{zzxxyzxyyyzzzzzyyyyxywxxyyyyyyyyyyyxxxyyyyzyzxzzyyxyxxyyxyyzzyzyyyxyxwyxxyzyyyyzyyxyyxxxyyyyxyyzywyyxxxyyzyyyyzyyyxyxywyyyyyzyzzyxyxwxxwyyyzyzzyyyyyxyyxyyyyyzyzyxxyyyyyxxxyxyyyyyyxxyxzyyyxxy{yzyxzxyxwyzyyyyzzzyyyyzyxxyzyyzyzzyxxyxyyxzyzzzzzzzyyyyyyyz{zyzyzzyyyyyyyzxyyyyzzzzxyyyyyyyyzyyyzzyyyzyyyyzyzyyzzyzxxxzyyzyzzz{zzzyyyzzyzyzzz{zzz{zyyyyyyyz{z{zzzzzzyyzy{zzzzzzz{{yzyzyzzzyzzz{{{z{zzzyzyzy|zzzz{{z{yzyxyyzzz{y{{{zyzwyyzzzzzxz{{zzzzyyyzyzzz{zzz{zyyyxzyzyxzyz{{{zyzyyzzzyz{zyyz{yxyyzyxyxyzyzzyzyxxxyxxwzyyyzyzzxxyxxxwyyyyyxzzzyxzyyyyyyyyxyy{yxwxyyyyzyyyyyyyyzyxwxxxxxzyzxzzzyzyyyxyxyyzyyzzyzyyyyzyxyxzyyyyyyyyxyyxzyzyyyzyyyyywxxxyzyzzzyzxyyyyxyxyyxyxzzzyxyxyyyxxyyyyxzzyyyyyyxyxyyyxyzyyyyyxyxxxxyyyyyyzyyyxyxxxzxzzzzzzyyxyyyxyyyzyzzzyzyyzyyxyyxyyyyzyyyxyyxyyyyzzyzzyzyyxzyyzyyyyy{yyyyyyyyyxyzyzzz{yyy{yyyxzzzzzyzzyzxyyyyzyyyzzyzz{yzyxzyyxzzzzzyz{zzzxyyyyyzzyzz{zzyyxzyyyzzzzz|zzzzyyyzzyzz{z{{z{{yzxzzyzyyz{z{z{yyzyyyyyxyzyz|{zyyyxyyyzzzyzzzzzyyyyzyzzz{z{yzzzzzzxxzyyzyyzz{zy{yyyyzzxzzzzyzzzyyyxyyyyyyyyzyzzwyxxxxyxxyzyyyyzyxyyxxwxzzxyyyyyyyyxxxxxyyyzzyyyyyyxxxxxxyzyyyyyyyyyxxwxyyzzxzyyzxyyxyxyxzzxyyzyyxyxxxxxyyzyyzzzxyyxxyyyyxyyyzzzxyxyyyyxxxxyyyzxxxxyxyxyzyxyyyyyyyzyyxxxxyyyzzzzzyyxxyxyyxzyxyzyzxyxyyxyxyzyyyzzyyxyzxyxyyyxzzy{yxyxyzxyxzzxyzzzxyxzyyyyyzyzxzzzyxyyxyxyyyzyzyzyyyyxyxxx{zzzyzzzyyyyxyyxxzzyzzyzzzxyyyyyyzyyzzyz{yyyyxxyxyyzzzzzyzzyyyzyzyzzyzyzyxyyzxxzy{zzzyzyzyyzzyzyyzzz{zyyyzyxyzzzzzzyyyyy{zyyyzyyy{z{zz{zyyyyyzzyzzzzzzzzzyyzyzyyyzzy{z{yyzxzzyzyzzyzz{z{zzyxyyyyyzzzzz{{zzyyyyyyzzzzyyyyyyyyyyyxzyzyxyyyyxyxxxywyyxyyyy{yyyyxyxxyyyyyyyzxyxyyyxyxyyxzyyzyyyxyyxxzyyyxyzzyyxyxyzxxzyyyyyzxyyyyyyxyzyyyzzzxxxyyyyyyyxyyyyzxyyywxxyyyzzx{zyyyxxyxxxyyyyyzyyyxyxxyxxxyyyyyyyyxxxyyyxzzzyyzyyyxyyyxyxxyyyzyyzzzyyxxyxyyzyyzyzyxyyyyyyyzxxyyzzyxyxyxxxyzyyyzyyyyyzxxyxyxzzyzzyyzxxxyyyyzyyzyyzyyzxxxzyyyzyyzzyyyyyyxxzyzzzzzzzzxyyyyyyzzyyzzzzyzyyxyyyzyzy{zzyyxzyyzyzz{yzzz{zyzyyyzyyzyyzyzzzzyzyyyyyzzz{zzyzzxzzyyzzyzyzzz{zzyyyyzyxy{{zzzzz{yyzyxyzzyzyz{zzzyyzzzyzzxyzzy{{zzyyyyzzzz{{zzzzyyyzyyyyyyyyyzzzzzzxyyyxy{zzzzzzzyzyyxxzyyzyyyyyyxxxyywyyzzzyzyyyyxxxxxyzzyzyzzzyyxwxyxxyyzyzzzzyxywyyxxyyyyyyzzyzxxyxyxyyzyyyyyxyxyxxxxyzyyzzzzyxyyyxxxzyzyyzzyxyxxxyxxzxyyyxxyyxywyyxyyzzyyzzyyxxyxyxxyzyyyyyxyyyyxxwyyzzzyyyxyyxxxxyyyyzyyyzzxyyxyxxyyyxyxzzzyxyyyzxxyyyyyyzy{yyyyxyyzzyzy{zyyyyxxyyyyzzzzzzzyyyyyxyzzzyyyyyzzxyyyyyxyzzzzzyzzyzxxzzyyzzzyyzzzyyxyyyyyyzzyzzyzyxyxyyyyz{zzzz{yzzzzzzzzzyz|zzzzzyzyyyxzzzzzz{z{yyyzzxzz|{zzzzzzzzyyyzyz{zzz{{zyzyyzzzxzzzzz{zzyzzzzxzzyzzy{zzzzyyyyyzzyyzz{y{zzzzzzzyyzzyzz{zzyzyyyyxxyzzzyzzzyyyzxyyyzzyzzz{zzyyyyyzxzyyzzyzxxyyyywxxyyzyyyyyyyyxyxyyyyyyyyzyzzxyxxyxzzyyyyyyzxxyxxwyyyzzyyyyzzxxxxyxyzyyxyyyyyyzxxxyyzyz{zyzyxyzzxyxxyxxyzyzyyyyyyxyzzxzyzyyyxyxyyyxxyyzyzyxxyxyxxxxyyzxyyzyxyyxxzyyxyyyyyyyzyyyyyyxyyyyzzxzyxyxyyyzxzyzyzzyxyyxyyxzyzyyyyzyxyyxyxyyyyyyyzzzzyyyzyzzzyzzyzy{yyyxzyyyyz{{zyzzyyyyxxyxyzzyz{zyyyxxyyyxyzyzzyzzzxyyyyyyyzyz{zzyyyzyxyzyzyz{z{zzxzzyzyzyzzzzz{zyyzyzyyyyzzzzy{{zzyyzyyzyzzzyz{zyzyyyyzzyzzz{zzz{zyzyyyzzzzzyzz{zzyzyxxzyyz{zz{zy{zyyyyyzz{zz{{{{zzyzzxyzyzyzzzzzyyzyxyyzzzz{yzzzzyyzyxyyzzyzyzyzxyyyzyzxyyzxyxyyxyxxyyzyyzzyyyzzyyyyxyxxxyyzzyzzzyxxyyxyzxyyyzyyyxyyyxxyyyzzyyyyyyyxxyxxyyyyyyyzxyxxyyyyyyyxyzzzyzzxyywyzyzyxzyzxxyxxyyxyxzzyzyyyxyxxxxyyzzzyyzyyxxxxyxzxyzyzzzzxxxxwxxyxxzxzyzyxyyyyyyyxzyyzzyzxyxxxxzyyyyyyzzyyxyzyyxxxyyzzyzyyxxxyxxyyyzyyyy{yxxxxxyzyzzyyzzzzyxxyxyyzyyyyzyzyxzxxyyxyyzyyzyzyxyyyyxxyzyyzyyzxxyyyxyyyyzyyzzyzyxyyzyyzyyzzz{zyzyxyyzzzzyzyzz{yyzyyzyy{y{{zzzzzyyzyyyxyyzzzyzzzyyyyyyzyzyz{{zzzyyzyzyzy{z{zz{zyyyzyyyyzyzy{yzzzxzzyzyzyzzzy{{zyzyyyyzyzyz{{{zzzyxyyyzzyzzzy{z{zyzyyyyyyzyzyyzyyyyxyxyyzyyyz{zyxyxxxxxxyyyyyyyxyyyyyxwxyyyzyyyzyyyxyyyyyyzzyy{yzxzxxxxyyyyyyyzzyzyxxxyxxyyyyyyzyyyyyxxxyyyxyyyyyyxxyxxyyyzxxyyyxxyxwyyxzxyzyyyyyxxxyyyxyzyyyzyzzzyyxyxyyxyyzyzyxyxxxxyxxzy{yyyzyxyxyxyyxyzxyyyzyyyxyxyyxzzyzyyyzxyxzyyxyzyyyyyzyxyxzxxyyzyyyzyyyzxxxyyyzyyzyzzyxyyxxyxxyyzzyyyzyyyxyxyxyzyyzzzzyyxyxzxyyzyyyyzyzxxxyxyyzzzxyzyyyyyyzyzzzyzy{zzyyyyyyyzyzyz{yzz{yzyzyxzxyzzzzzzzzzxyxyyyz{zyy{{yzyyyyzyzyzyzzz{{zyzzx|zzz{y{y|zz{zyzyyyyzy{zz{y{yzxzyzzyyzzzzz{{zyyyzyyyzzzzy{zzyzzyzyzyzzyyzzzzyyyyyzxyzzyzyz{yyyxyyyyyyyz{zyzxyyyxxxyxxyyyyyzyyxyyxyxxyyxzyyzyzxzxwxywyyyyyyzyyyyxxxxzxyyyyzyzyxxxxyyxxxxxyzxyxyyxxxyyyxyyxyyyyxyxxxyxzyyyxzzyxxxxxxxxzyyyyyxyyyxwyxyxyyyyyyzyyyyxxywxyzzxxyyzxyyxyxxxxzyzyzyzyxxyyxxyyyxzyyyyxxyxxyxyyyxyzzy{yxxyxxxyyyyyyyzzyyyyyxyxxzyyyzyyxyyyxyyyyyyyz{zzyyxwyxyyyyzyyyyyzyyyyyyyyzxzyzyzyzyzyyyxzyzzyyzyxyxxyyyyzy{zyyzzyywxzyzxyyzzz{zzzxxyyzyyyzz{z{y{zyyxyxyyzzzzzzzzyyyyyyyyzyyzzz{zzxyyyyyzzzzy{zzzzyyyzxyyzz{zzzz{zzyyyxyzzzzzyyyz{yzyzzyyzzzzzz{{zyyyzyyyzzyzzzz{yyyzzyzyyyyzzz{zyxyyyyxyyzyzy{{yxyzyyyyzzzzyyzyyyyxxyyxxw{zyyyyyyxyyzxyyyzzyzyyzyyxxxyxyzzzyyzyzyyxzyyyyxyzzyyz{yyzyyyxxzzyyyyyzxyzwxxxyyyxyyzzyyxyyxxxxyzyyyzxyxyyxyyxyzyyyxzxyxxxxxyyxzyzyzzzyzxxxwyyxxyyyxyyxyxxxxyyxyxyyzxzxwxyyxxxxwyyyyzzyxyyyyyyxyxxyyyy{xxzyxxxxyyyyyy{zzzyxxzyzzzyyyyyyyxyxzxxxxyyyzzzyyxyywxzyyz{yyyyzyyyyyxyxxzzzyzzzyyyyyyyyyzzzxzzzyyzyyyyyzzzyzyyzxyyyyzyyyyyzzzzzyyxyyzzzzzz{zzzzzxyyyyyxyzzzzz{zzyyyzyyyy{{yz{yzzzzzyzyyzzzyzz{z{zyyyzyzzzyzzz{zzyyzyyyzzzzzz{{{zyyyyyyzzzzyyzzz{yyyzyzzzzyzzzyzyzzyyzyzyzy{z{zzz{yyyyyyyz{zzzzzyyzyyxyyzyzxyyyyxzxyxyxyzzyyyxzyyyxyxyyxyyzyzzzyzzyxxzxxzyyzzyyyywxxyxyyyzyzxxzzzxxwxxxxyyzyzzyzyxyyyyyyxyzyxzx{zyxxyxxxyyzxyz{xxzxxyxxxyyyyyyzyxyxxyyyxyyzyyyyxxxwxyxxwxyyzyzyyyxyyyxyyyyyyyzyyyyxyxyyyyxyyzzxyzxxyxyyxxyzyyzyzyxxyzzxxyyyzyzzzyyxyyyyyyxyyzyyzzyyyxxzzyzzz{xzzzyyyxyyy{zyxzyzzyzzyyxxxyyyyyz{zzyyyzxyyyyyzyzzzyxyyyyzyyzzyzzyzyyyxyyyzyy{zyyzzyzzyyyyyzzzzzzz{yzyyzyyy{zyyyzx{zxyyyyzyz{zzz{z{zzzzxyyyyyzzzz{zzzzzyzxxzzyzzzzzzzzzyyzzz{zyz{zzzyzzyyyzzzz{{zzzzzyzyyyy{zzzyy{{zzyxzyyyxzzz{{zz{zzyyzyzyzyzzzzyxxyxzyyxzyzyyz{zxyyyyyyzyzyyyyyzzzyyzyyyyyzyzy{{zzyxyyyyyxzzzyzyzxyyxyxxzyzzyzyzyzyxyxyxzxzxxzyzyyyyxxxyyzzxyzzyyyyxyxxyyyzyyzzyyyxxzyyxyzxyxyyzxxxyxxyyxyyyyyyyyyyxyyyyxxzxyzyyxyzxxxyxxzyyzyzxyxxyzxzyyzyyyyyyyxxxyxxyyzyyyzzzyyyyxxyyxzzyzzzzyyyyyxyyyzzzyzz{yxxyyxyyyyzzyzzzzzyyxxxyzyzyzzyzyyyxzyzzzzzzy{zzzyyyzyxyz{zzyyzzzyyyyyyyzyzyyzz{zzyyzyyyyzz{z{zzyyzzyyzyz{zzzzz{zyyzzxyyzzzzz{zzyyyzzyyzzz{zzzzzzzzyyz{zz{z{zzz{zyyyyzyzy{{zzzzzzy{zzyyyzz{{z|zzzyyz{zyzyzzzz{{{{zyyzzxzzzzzzzyzyzzyyyyzyzz{yzzzz{zyyyyxzzz{{zzyyzzyxyyyyyyzyyyyyzyxyxxvyyzyxyyyxyxxxxyxyyyzzyyyyyyyxyxxyyyzyyy{yyxyyxxyzyy{yx{xyxxxxyyxyyyyxyyyxyyyyyzxyyxxxyzzyxyywxxyxxyyxzyyyxxwxxxxyyyxyyyyxyxxxyxyxyyyyyyzyxxxxyyxyyyyzyxzxyyxxxxxxyyxzzyyyxxyxxyyzyzxyzzzxyxxxyyyxyyyyyyzxzxyyyxxyzzzyzzzyyxzyyyxxyzyzyyzzxyyyyyxyyyzzyzyyzxxyxzyyy{yyzyzyxyyzxyyyzy{yzyzxyyxxywyyzzyyz{yyxxyyyzyzyzzzzzyyzyxzyyzzzzzzy{zxyzyzxzyzzzzzyzzzyyyzxxxzz{zz{yy{yzyzxyx{{{zzzz{yyyzxz{yyyzzyzzzzzzzzzzyz{yzz{zzzxzzyyyyzyz{zzz{zyyzyyyyyzyz{zzzzzzzyyyxzzzz{zzzyyyxyxyyyzzzz{zyzyyyxyyxyyzzyzzzyzzyyyyyzyyyzzyyyyxyxxxxyyzxyzyyyyyyywxyyyxyyzzzyyyyxzyyyyyzzzzyyxyzxyyyyyyzyzyyyzyyxzyyyzyzy{yzxxyyyyxxyz{yyzyxyyyyyyxxyyzyxzyyyzyxyyyxyxyzyzyzxyyyyxxyyyyyxyzxyyxyyxxyyyyxzzzzxxyyxyyyyyyzyxzzxyyyyyzyyyyxxzzyyyxyyxxyxyyzyzyzxyyyyzyxzyzyyyyyyyyyzxzyyzyyyyyyyzzxxxyyzxyyyyzyzzxyxxyzyyyyyzyzzyyxyxyyyzzyzyyzyyyyyxyxyyzzyz{zzyzzyzyyyyyzyzzyzyxyyyyxyzyzzzzzyyzyzyzzyzxzzzzyzzyzyyyzz{{zzzzz{yyyyzyyzzzy{z{zzyxyxyzx{yzzzzzzyzxyyzzzy{zzz{zzzyzzyzyz{z{{{z{zzzyz{yyyzyyz{z{{yzyyzxzyz{zz{{z{zxxyxzzyyzzzzzzzyzyyyzxyyzyzzzyzyxxyyyyyzzzz{>z3|b{z|zz|z||{{||}{|{z{{|{}|{{|}|||{{{z{{{{{|{|||}||{{|{{{{{{{{|{||||z|{z|{{{{|{|{|}|{{|{{z|{||z|||{{{z{|z{z|{{{||||{{{z{{|{{{|{|{|z{|zzz{z{{{{{||{z{{z{zz{|||{||{|{z|{z{{{{{|{|{|||{{{{{zz{{|{z{|{{{zzzz{zz|{{z|{|{{{zz{{{|{{{{||{{{{z|zz{|{{z{{|{{{{z|z|{{|{|{||}|{z{{{{{||{|{|||z{{z{y{|z}|{{{|{|{{|zz{{{{|{{||||{{{|z{{||}{|}|||z{{|{{|||}|||||{{{|z|||||{||}{|{|{{{z{z|}|||{||{|{}{{|||||||}|||{{|{{}||||||}|}|{{z{|{||~|||||||||{{||z}|}{|}|||{{|{|{|||{|{|{{}|{{||{||}||{|}{{{|z{{{|{||{}|}{}|z|{{|{{|||||{|{{{z{{zy{{{{||||}||{{{|{{{|||||}||}|{{z{|{}{||||||z{{z|{|{|}{|||z{{{|{|z|{|}{|{|{{{z{{{yz|{{{|{|{|z{{{{z{||{|||{{|z{z{{{}{{{{||{{|z{{z{{{{||{{{{{zzz{z{zz||||{||{{{{zzyz{|{||||{z|{{y{|{{{|{|{||{{z{{z{zzz{{z||z{|zz{{z{|y{z{|||{z{z{{z{z{||||}|{{zz{z{{{||{|{||{z|{{{{{|{{|z{{|{z{{{{{z{{|{|||{{{|z|z{{{{|{{{|{{{{{{{{{||{||{||{{z{{{{{{|{|{{{|z{|{{{{|{||}{|||z{|z{|{{||{}|{|{z{||{{{{{|}{|||||z|{{{|{}||||}||{z|{{|||{{}|||}}}{{|{|{||~||||{}{{{||z|{||||}||||{{{{{zz|||}|||||||||||{{|||||}|||{z{|{|{}|||{{|{{{{{{{{|{|{|}|||{|{|z{z{{|||{||{{|{|{{{{}||||{}|z{|{{{z|{{||||{{{{z{z|z|{{||{||{{{{{{{{{{{|{|{{|{{zz{{{|{||{|{||{{{{z{{z|{|{}{{||{{zz{z|z{z{|{{|{{{zzz|z{z|||||{z{{{{zz{{{{|z{|{zzzzyzz|{|z||{z{{{{{{z{{{|z{{{zzzzzzz{z{{{{{{{{{{{z{z{z{{|{z{|{|{z{{|{{{{{||{{{{zz{{z{z{|{{{|||{||{{z{||{|{||{|{|z{zz{{|||{|{{|{{|||{z{z|||{{|zz{{z{{yz{||{|{{{z|zz|z||||{{{|{||{{{{{{{}z|{|{|{|{z{|z||{|||||{||{{{{{{{||||}||||{{{{||{}||{}|}}{{{}{z{{|}{{{||||{z{|{|{||{}}|}}}}|{{{|{|||{|}{||{z{{{|{||||||}||||{{{{|{|{{|||}|{zz|{|{z|{{}||||{zz{{{{|}{||{|{}{{|z{{{{{}{{||}{{z{|}|{{||{||||||}{{{{||{||||||{{zz{{{{z{||{|{||{z|{{|{{{|{|{|{zz{z|{{z{{|{{||{{{{z{{zzz||{{}{{{{zz{{y{{{||{|{{|{{zzzzz{{{|{z{{{{zzzzzz{{z{{{{|{z{{z{zz{|{{{|{|{{{{z{y{|{{{{|||{z{zzz{zy{{{|{{|{{z{{{{z{|{z{{|{{{{{{{z{{}{{{|||{{{z{z{z{|}|}z|{{|{{{z{{{|{|{|||{{{|z{{{||{|}{|{{{{z{{{z||||{|{{{{{|{{{{|{|{|{|{{{{||{{|||}{|{{{{{}{{{{{{{||{|}|{|z||{{{{|{|{{~|{z{{{{{|{}||}||{|{{|{|{||}||||}}|{|z||{{{||z}|}|{z|{|{{|{|||}|}}{{|{{{|{||||{||{|{z{|{{{{{|{|||||{{||{{{|{|{|{|}{|{|{{{{{|||{||}||{z{{{{{{{||{{{{{|z{{{z{{{|{|||||{z{{|||}|||}}|{|{{{{||{{{|||}}||z{{{z{||||{|{{zz{{z{{{{|{|{}{||z{{{{{{|{|{|{{{{{|{{z{{||{{z||{{|{{{yzz{||{{{{{{{{z{z{zzz{{{{{{zzzzzzzz{{{{||{{{zz{zzzz{{{{{|{z{{zzzzzz{{{||||z{z{|{yz{{{zz{|{z{{{zzz{z|{z{{{z{z{z|{{zz{|{}|{{{|{z{z{|z{||{{{||{{{zzzzz|{{{{|||{||zzz{{{{||||{{{{{z{z|z{{{{{|{{{{{{z{{{{{|{|{||z{{{z{{{z|{|{}|{{{{{z{{z{{||||||{{|{{{}||{||}||{||{z{z{{{}|||}|}|{{{{{z{|||||||||{{{{|{|}{||}|{|||{|{{|||||}{||||||{|{{||||||}|}|z|{|zz{||}|||~|{|{{|}{|}|{|{{}||||{{{{{{{{||||}|{||z{{{z{{|||}|{}{z{{|{{{{{|}{||||{{|{{|||}}}|||{{|{{z{|}}{|{{}{{||{|{z||{{}}{||||{z{{{|{||||||{{zz{|{z||||{||}{z|{{{{{{{{{{{|{|zz{{zz{{{{|{|{{{|{z{z{z{z|{{{||{{{z|{zz{{{{z|{|{zz{z{{|z{{{|{}|{z{z{{{z|{{{{{||}zz{{{{z{{{{{{{{{{{z{{z{z{{{{|{|{z{{|{{z|{{|{{|||zzz{{z{|{|{|}||{{z|{zz{{{|{{}|}{z{{{{{{{|||}}||{z{|{z{{{{{|{|{||{{z{z{{{|{{z|}{|zz|{z{{{||z{}}||{|{|{{|||{|}|{|{{{{{{{||}||||}|{{{z|{{{|||}|||||{{{{{{{|||{|||}|{{|{{|{{|}}{|||||{|{||{|}||}|}}}{|{||{|||{|}}|{}|{z|{|||||}|}}||{{|{|||||}}|}}}{||{z|{{||||||||}{z{|zz{{|{|{{{|{{||{{z{{{||{}|}|||{||||{|}{||||{{{{|{|{|{{{{}}}||z{|{|{|{||||}|||{{|y{|||}{z|{{|{||zz{{{|{||{|}{|{{{{{z{|||{||{|z{{{{{{|||{|{||{{zz{||{{||{{{{||zzzzzzz{||{|{||{|z{z|y{{{{{}|{||z{{zz{|z{{}|||||{z{zz{z|z{{|{{{|{z{{{z{{|{z{{|{|{{{{{|{|{|{{|}|{|z{z{||{}{|||}|{{{{{{|{|{|{|{{|z{|zz|{{|||{||||{||{|{{{|{||}|{|{|{{{{y{{{}{}{|{{{z||{{{{|||{{||{{||}{{|||}}|}||{{|{|{|||||||}}|||{z{{{{|}||||}||z|||{|{|||{||}|{{||{{{|}|||{}}|}|{|{{{{{}||}}|}|||||{|z|||||}|{|{{{|{{{{||||}|}{|{|z}|{{||}||}|||{|zz{{}{}|{||}{|{zz{{{{|}|{|}|{|{{{{{z|||{{}||}|}{|||{|||{|||||{{|{|{|||{||}|||z{|{|{|||{||||~|{|{{{{||{z||||{{||z{|z|{{{|{||||z{z|z{{{||{{}|{|||{{zzz{{{{z|{{|z{||{{||z{|{{{{{{{z{zz{{{{{{{{{{{|{{|{{{{{|{|{{{{{y{|z|{}{{|{}{{z{{zzz{{|{{{|{|z{zzy{{{z{||{|{{{|{z{{{{zz||||||{z{{{z{zz{||}|{|{{|z{{|z{{{{{|{{{{{{z{{{{|{|}|||{{|{}z{{|||||{{{{{z{{{{z||}|{|{{||{{z{{{{|||{||||||{{{{||{|}|{|}{{{{|||{|{{{|{|||{z{{{|||||||{||||{{{}||{||}{|}||{{{|{||{}||}}|}||{{|||{{|}|||}}||||{{||||||}||}|{{{{||{}{||}||~||}|{|{{}|||||}}{|{|{|{|z{|{{||}}{z{{z{{{{||{|||{z{{zz{{z|{{{}||{{|{|z|{}|}|||}||z|{|{|{||||||{{}{{{{|{{||{{|{|{|z{{{z{{|{||{|||{{{z{{{z{{{||{{{{{z{{{z{{|{|{|}||{{{{{{{|{|{{|||{{z{z{|{|{{|{{{|z{yyz{{{{|{||||{|{{z{{z{{{|{{|{|{{{z{z{z{||||||{{z{{{z{{z{|{{|{z{z{{z{{z{|{|||||z{{z|{zz{|{|||||z{{{{{{|{{{|||{{|||{{{{z|{|{|{|{z||z{{{z|||z}{|{z{{{{{|zz||{||||z{{{{{{z||{{|{||{|{{{z|{|{{{z||{{{|{{{|{{||}}{||{|{{||||}|||||||{{|{{{{{||||||}|{z{||{{||}}{|{||{{{|{||}|||||}|}||{|{{}|{|||{}|}|{{}||{||||}}}||||{{|||{{|}||}||||||{|z|||}|}||}{{{{{{z{{{||{}}|}{{{{{{{{|{}|||||{|{{z|{z||{z}}|||{|||zz|}|{||||}|{{z{{||||{|||}|{z{{z{{|||{|{|}{|{{{{{z|||{z{|}{{|z{|{z||||||{||{{zz{{z{|z{|{|{|{{{z{{{{{||{||}{z{{z|{z{{||{{{{zz{{|z{z{{|||{|{z{zz{{z{{{{{{{||{{|zz{y{{{{|||z{{{z{|{{{{{{z|z|{{z{{{{||{|{{{|||{{z{{{zz{|||||||{{{{{{z{|{|{|||||z||{z{{||{||{|||||{z{{{{{|{z|{|{z{{{{{{z{{{||||{{{{{zz|||||||}{{||{{|{z|}{|{}||}z{{{{{{{{|{||||{|{z|{z{{}{||{||{{|||z|{{{{|||}{{z||{{{{}|||{||}|{|{{|{|||{||}}|{|{}|{|||}|||}|}||z{{{z{||}|}|}||z{{{{{|{|{{||}|{}|{{{z{||||{|||{{{z|{{{|{|{|||}{{{|{{zz{}|}||{{|{{zz{{|{{|z{}|||{}{|||{{|||}||}||{{{{|{||}{||||{|{z{{{|}{{||}|}{{z{{z{{{||{{|}z{z{z{|{{{|{}||{{{{||{z{z||||{|{{|{{z{zz{|{{{|}|{z{{z{{{z|{z{{|{|zz{{zz{z{{{{{|{{{z|{zz{{{z{{{{|{{{{{{z{zz|{{{||{zzz{{z{z{{{{|z||{{{{z{|{{}z{{{{|{{|z{{{{||{{|{|||z{{{{{{|||{|}|||{z|zz{|||{|{}{|{{{{{z{z{{|{|{||{{{z|z|{{||{}|{|{{{{{|{{{{|{||}{|{{{{{z|z}|z||||{{||{{{{{{||||}}||{{|{|{{}|{}||}||{}{{{{|||||||||{{{{|||||||{|}||{|z||||||||{}|||||{||z|{||}||||}|||{|{||}{}|||}|{{{|{{||||||{|}||{||{{{||||||||||{{{z{{||||||}||z|z{{{{|||{||||{{{z{{z{|||{{|{|{~{{{||||}}}}}{||{{{|||{|}|{||||}{{z{{{{{{||{|}|{|{z{{{|{|{||{||{|{z{{z{{|{|{||{{{|{zz{||||{{{||{{{z{zzz{|||{||{z{{||{z{{z{|{{{|z{|z{z{{z{{|{||zzzzzzz{zz{{||{|{z{zzz{{{z{z{|{z|zzz{z{{{z{{{zz{{{{{z{{zz{z|{z|{{z{{{{|zz|{{{{|||{{zz{z{{{{|{{{{|{{|{{yz{{|{{||||{z{{{z{z|||{||{{|{{|{y{{{|{{}|{{|z{{z{{{{|{|{|||{{|{z{{{{||{{{{|{{{{{{{{||{||{|}{z{{||{||{{{{||||{{||{z{{}{}{|{{{{{{z{{{|{{{|{||z{|{|{||{|{}{}|||{||{|z{|}||||}|{{{|z{{|||||||}|{{{|{z{|||}{||}||||{|{{{}{{||}~|z{{{{{|{|{|{|{}|{z{{{{{{{|||{{||||{{{zzz|{{{{|{}{|}|{{|{|||}{{||{{||{{|{{{||||||{{{z{z{y||{||||{{{{|{{|{|{}|{{|}{{{z{{z{{||}|{{{zz{z|z{{z{||z{|{z{{{|yz{{|}{}{{{z{{{{{z{{{|}|{{{zzz{zyz{{|||{z{|{zzz{zz{zz{{{{|{zzzzz{{z{|{|{|{|{{zzz{zy{{{z{||{z{{z{z{z{{z{|{{{{z|z{{{z{||{{{}|{z{z{{{{{|z{||{|{{{z{{{{}|{||{{|{{|{{{{{{{{|{|||{{{{{z{z{|{|{}||{{zz|y{{|{|{|{}||{{{|z|{|{|||}{}{||{{{{|{{|||}||{{|{|{{||||}||{|{|{zz|z{|||{|||}}{z{|{||}||{||}{||{{|{{|||||}|}||{{z{|{{{|}}||}||{}|{{|{||||}}}{||z{|{{{||||||{|{||||{{{{{|{||||||{z{{{{||||{}{|{{z{{z{{{|||{|{|{{{zz{z{|||{{|||{|{{||{|||}|||{}|{{{|{{{||||||{||{z||{{{||{{||{||||{{{|{{||{{|{z|{{z{|{z{{|{|{z|{{z{{z{z{{{{z||{{{|z{{{z{|{{|{|z|z{{zzz{{z{{z||||zz{{zzz|{{{z{{{{z{zzz{{{{{||{{{{|{{zzzz{|||{{{|{{zz{zz{{{{{{|{{z{{z{{z{{{|{z{{{{z{{z{z{{{|{{{|{{{z{{{{z{|||{{{|{{z{{z{{|{{z{{{}{{z{{z{{z|{{|z}{{y{z{z{z{|{|{|{|z|yz{{{zz||{{|}{{z{{|{{{||{|{{|||{z{|z{{|||||||{|{{{||{|{|{|{|||{{|}zz{{{||||{||}z|{{{{{||}|||||{{{z{{{|{||||||}|{{{z{|{{}|||{}|{{{{|{{z|{{|}}}{{z{{{{z{|||||{}}{{{|{|{z{||||||}{{{z{{|{{||{||}||{z{{zz{{|{||{|{{{{zzz{{{z{|{|{}||||{{{||}}|||}||{|{|z{{{|{}}{}||{{{{{{|{{zz||||{{|{{{{{{{z|{|{||{|zz|{z|{|{{|{|{{z{{{{z{{{|{{|{{{z{zzzz|{{{y{|{{{{|z{{{|{{{{{{|zzzzzz{z{{|{|{{{zz{{{|zz{{{{||{{z{{{zzzz{{|{|{|{{{zzzy{zz{{{{|{{{{zzz{zzz{{{{||{{{{{{zz{{|{{{{{|zz|{{zz{||||{}z|{{{{{{{z{{{|{{||z{{{{z{z|||z{||{{|{z|{{{z}}{||{|{z{{{{z{|}{{{{~|{{z{{z{||{|{{||{{{{{{|{{|{|{{|||{{zz{{{z||||{{|}{z{{|z{z{|{|||}|{{{z{{{{|||||||||{{{{{|{|}{|{{}|{{{{|||{{|{|||}|{|{z{|{{||{{|||{|{{{{{||{|{}{||||{|{{|{{}|{||||{{|{z{{{{|{|{{|{{{{z{z{zz|||{{|{{{z|z{{{z{{{z{}}|{||{|{|}{}||{||}{{z{{{{|||}|}|}}{|{{{zz{{{||||||}{{{{{z|{{||{{|||{{z{{{z{{|{|}{|z{{{z{{z{|z{{|{{{z{{zzzz|{|{{|{{z{zz{z{z{z{{{{||zzz{{zzz{{|{|z|{zzz{zz{{|{|{{{{|z{{zz{y{{{{z||{{{{zz{|{{|zz{|{|{{{z{zz{{z{{|z|{{z{{zzzz{||{{{{{||{{zzz{||{{{{||{{z{{zy{|{{{{{|||{z{{zz|z|{|{||||{z{z{|{{{{{|{{z{{{{{z{|{|{{{{|||{{{{{z{{{{|{||||{{{{z|z{||{||}|{{z{|{{|z|||{{||}}{{{zz{{|||||||||{{{{{{{||{{|}|}{{|{||{|{|{||}}|}{{|{|{{}|||{||{|{z|{{{||||||}|||{{||{{{{||||||{|{{{{|{{|}{||{||{|{{{|{{{|{|{{|||{z{{{{{|{{||{|z{{{zzz{{z{{{||}|}}|||{}||}|||{}||{||{{z||}||{|}||{{zz{|||||||}}||{|{{{{||{|||}|||z|z{{|z{{|{||{|{z{{{{{z{||||{|{|{{{{z{{{z|{||{{{z{{z{z{{|{||{{|{{{zzz{z||{{|{|{{{z{{{zz{{{||{|{{z{zzzz{{{{{{|||{{zy{|z{||{{{{{|{{{z{zzzzz{{||||z{zzz{{{{{{{||||{{{{|{{{{{{|{{|z{{z{zz{{|||{{{|{{z{z{{{{{||{|{{||{|{{{z{|{{||{||z{{{{|{z{|||{||{|{{{z{{|||{|{{|||{z||{{{{|{||}||{{}|{{||{|{{||||{{{|{{{z||}|{|{{|{|{|{{|{{{z|||||{|{|||{|}|{|}||||{|{{{||}||}{}|}{{{{{||||}{{|}|{z{||z{{{||{{||}{|||{{|{||{}{}}||{{zz{{z{||||}|||{||{{{z||||{{||{{{z{{zz{{|{|}}}}}||{{||{}|}}}}}|{|||z{{{|{||}||{z{{z||{{{|z||{||z{|{z{z{||{|||{{{zz{{{{|{|||||{|{|{zz{z{|{y{|||{{{zz{{z{{||{|||{{{|{{z|{|z{{z|z{z{zz{{{z|{{{||{{zzzz{z{{|{{|{{{z{{zz|{{{{{|||||{zz{{{{{{z|z|z|z{zz{{{zz{{z{{||{{z{{{{z{{|{|z{{|{z{{{z{{{||{{{||z{|{|zz|zz{{||||{{|{zz{z|{|{|{{|z{{{{{|{{|{{{|||{{zz{{{{{}|||||||{|{{zz||{}z{|{|{{z{{z{{||||}|||{{{{|{|z{|{{|||||z{|{{|||}{}|}}||{|{}{{|||{{|{}{{{||{{|{||{}|}}||{{|{|{{{}{|{||}|{{||z|{{|{{|}{{{z|{|{{}z|{|||||{{{|||{{}|{|{|}}||{z||{z{|||{|}{z{{{{{{{||||{{{|{{|{{z|z{{{{||~}||}|~||{}}}}||}~||{{|{|||{|}}|}}|{||z|{{|{||{{}|||{{{{{{{||{{|||{{{||z{z{{{||{||{{{{{zzz|{{{{||{{{z{{{zz|z|{||{z{{{{{|zz{{{z|{{{{z{{{zz{{{|{{{||{{{{{zzz|{{{|z{{{{{{z{{{{{z|{|||z{{|zz|{z{{z||{{{{{zzzz{z|z|{{|{|{|zz{zz||{{{{{{{{{{{z{z|{|{{|{}{{{z{{|{{{|{|{||{z{z{{{z{{|{|{|{{{{{{{{z||{{z|{|{{|{{z|{{{|||||{{{{||{{||}||||{{|{{|{{z{{{}|{|||{z{{z{||||{|{{||{{{z|{{{{|{|||{|{{{||zz|}|}|{}}||{{|{{||||||||}{|{{{{||{{}|||}|||{{|{{|{|||{|}|||{{{||{{}||{||}|}{||{|{{}|||{|{|{{|{|{{{z|{{{{|||{{{{{{{{|{|{{|}|z{z{z{{z|{|{|~}||||{|}{|}}}|||||||||{{{|||||}|{||||{|z{{||{{||||{{{{{{{||{}{||{{{|{zz{z{{|z{|{{{|z{z{{{{{{z{{|{{{{z{z{zz|{z{{{{||zz{{zz{zzz{{{|z{{zzzzy{{{{z{|{{z{{z{z{{|{{||{||{{{y{{z{{{{{{{|z{{z|z{{z|{{z{|z{{|z{zz{{{{{{||{{{{{{{zzz||}{|{||{{y{zz|}||{{{||{{|{{{{|z||{{{|{{{|{{{{|{|{||{||{{{{{{{{||||{{||{|{{{{{{{{}{{|{{|{{{{{z{z|{|{||{{{|{z{{z|{{|{}|{|{|{{{|{{|{{|||}|{{{z{z{{||{{|||||{|{{|||||||}|{{|{{|||{{||||}|||{}{||{|{}|}|||||{||{{{||}}|||}||{|{{{{{}||{}|{}}{{{}||{{||||||{z|{z|{{{|{||}{}||{{{{{{|z|{{|{||{zz|zz{{{|{{{}|}|||}{||{{}}}}|}}{{|||{{||||||||||{{|{{{{}{|{}||||{{z{|{z{{{}{{|{{||zz{{z{{|{{|||{{|z{{{{{||{{{{{{{{{{{{z{{|{|{z|{|z{z{zz{z{{{{{|z{{{{yz{z{||{{|}{z{zzzzz{{{{{|{|{{z{yz{{|{{|{|{{{z{{{{{zz{zzz{{{z{{{z{z{z{z{z{{|{z{{|{zz||{|{|{{{{zz{{z{{|{{||||{{zz|{{{{z{{||{|{z|{|{{{|{{||{{z|{z|{z|{{|{|{|{{{{z{{|z{{|{{{|{|{{{{{{{{|}{{{||{|{z{zzz{||{|{||}{{|{{{{|}}||{{|||z{{{{{z|{|{|||||{z{{{|{|{||||{{{{{z||{{{{{||||||{{|{||{|}{{|{}|{|{{{{{{{|{||}{{{{{||{{|{|{{{||{|{{||{|{|{|||}|{|||{z{{{|||{{||||{|z{{z{|{{{{{{|||zzzz{z{{{{{~}}||z||}}}|}}|||}|||||{{||}}}|||}}|{{{{{{{||{{||}}|||{|{z{|||}{z|}{{z{{{{z{{||{|{|{{{zzz{z{|{{|||{{{{{zz{{{{|z{{||{{z{z{{z{||{{}{{{z{zz{zz{z{{||{{zzzz{z{z{{{z|{|z{{{{{zyz{||z|{}{{z{{{{zz|{{{{{||{{{{{zy{|{z{|{{z{z{zzz{{{{{{||{|{{z{{|{z{|{|{}{{z{{zzz|{{|{{{{|{{z{{{{z{z|{|||||{z{{{{{{{|{|||}||y|{{zzz{{|{||{|{{||zz{{{|}|||{||{{|{{zz{{|}}|||{||{{||||||}{{|||z{{|zz{{{{{|{{||z{{|{{||||{|||||{||{||{||||{||||{{{{{{||}{||||}||{{{{{|||{||}|{{{{|{|{||||}|||}}{{||{{{|||}{||}{z{{{z{{||{|{{|||{{{{{|z||{{{z{{{|z{z{{{z{{||~~~|}|}}}}{}}|}|||}|||||||}||||}}}||z{z|||{|||||||||z{{|{{{|||{{{|||{z|z{{{{||||{{|{{||{{{z||z|{|{||{{z{{zz|{||{{{|z{{zz{z|{{{|{|{{zzzz{z{{z{{zz{|{{z{z{zz{z{||{{{|{{{zz{{{||{{||||{{{{{zz{{{{{|{{|||{{|{zz|{{{{|{|{z{zzz{z|{||{|||{{{{{{|z{||{{|{|{|{z{zz{z{|{{|}{{{{{zz{{{{{|{|}|{z{|zz{|z||||}||z{{|y{{|}||{{{||z||{{|{z||}{|}||{z{{|{z{{|{|||}||{{{|{z{{|z|||{{|{{{z{{{|}||||}||z{|{z|{||}{|}||{{{||||{|}|||||}{{{{{{{{|}|}||}||{|{z{{{{|{||{{{}z{{}{{|||||}{|}|{{{|{{{{|||{|||{|{{{{{||||{|||||{{{|{{|{||{||{{{{z{zz{{{|{||~}~}}|}}|||}~||}}}}}|z||{{|}}||||}||}|{{|z{{{||||||{z|z{{{z|}|}{|{{{|{{{{{{|{|{{{|{{{{{{{{z{|z|{{{|{zz{zyz{{{|{{|{{|{{z{{zz{{{|{|{{zzzzzzz{{z{{z||{{zzzz|z{{{{{|{{z{|{{zzzz{|{{z{{|{{z{{z{z{{{y{z||{z{z{zzz{{z{{{|||{zyz{zz{{{|{{|{{{z{{z{{|||{{{|{{{{{y{{{{z{{{|{{{zz{{z{{{{|{||||{{||{|{|{|||z||{{z{z|z{{|{|{|||{{|z{{{{{{|{{{|{|{|{{{z{{||||{|||||{{z{{{||{}||{|{{z{{{z{|||{{|}|||{{|{{{|}||{}||||{{{||{|{{{{}|||{{{{||{{}|||}}||||||{z{}|{{|||{|||{{{|||||{{|}}|||{{|{{{|{|{}{|||{{{z{{{||{|||||{{zz{{{{|{}{z||z{|{{{{{z{{{|~}~}}}}}{|||~}}}|}}}{||{{}||||||||}|||{|}{{}||z|||||zz{{{{{||{|{{}|{{|z{|{y{|{|||{}{z|{zz{z|{{{{{{{{z{{zzz{zz|{z||{{z|z{{zz|{{{||{{{zzy{zz{|{{{{{|{{{zzzz{z{z{{|{{{z|{zyz{zz|{{{|||{zzz{z{z|{{}{|y{z{{zz{{{{|{{{|{{z{{zz{{z|z||{{|||{zz{z{{{{||{|{{{{{{z{{{{||{||||{zzz{{z{z{|||{{|{{z{zz|z{|{||}|{{z{{{|{z{{||{{{{{{{z{zz{||||{{{{{{z|z|z{|{{||}||{{{{{{{{{||{|||{{{{{{z{{||{}|||||z|{{zzz||||{|||{{|z|||{{|{{|}|||{{{{|{zz}{|||{}{{{|z||||||{|||||{|{{||{{|{{||{||{||z|z{||||||{||{{|{z|{||{||{|||{{{{{{z{|}||{|{|{{{{{{{{{{{|}}}}~}}|||}}|}}}}}}|||||{z||}|}||{|{{||{|{||||||}}||{{{{|||{|||{{{{|{z{{{z{|||{}||z{{{{{{zz||{|||{{{z{{{zz|{{{{|{{{zz{{{{{{{{{{{||{z{{z{{{zz{{{{{{{{{{zz{{{{}z{||{{|zzz{{z|{{|z||{{{{{|zz{{}{z{{{{|{{{zzzzz{{{{|{{{{{{{|z{{|{z{{|{{{{{{{y|{{|{{|{|z{{{{z|{||||{{|{{{{{|{{z{{{{{{|}{{{{||{{zz||{}{|{|{{{z{{||{|||}||z{{{{|{||{{{||z{{}||{{|||||{}|}{{z{z{||z|||||}|{|{{{{{z|}|||||||{}|||{|{{||||}}{{||{{|{|}|{}}|}|{{|{|{{|}|||||||{||{z{{||||{{{}|{{|{|{||||||}|||{|{||{{{||||}{}{{{{{{{{{|||||}||{zz{{{{{{|||{||z{{zzzz{{{|||~~~}~}}}~||{~~}}}}}||{|{}||}}|}|}}|||}||{|||||{||}}|{|{|{{z|||||||||{|{z{{|{|{||{|||z{{|{{z{|{{{||{{{|{{{{z|{||z||{{{{{{{{{|{{|{|{}{{{{{z{z{{{{{{{||zz{{{{{{{|{{||{{|{{{z{{||{|{|||{{z{{z{z{{|z{||||z{{{{{{{|{||}|{z{{{||zz{|{|{|||{z|{zzz{{{{{{{||z{z{{{{{{z|{{||{{|zz{{|{|||{z||||z{{{z{z|{{|||{||{{z{z{{|||||||{{{{{|{{{{{|{{|||{|{||{|{|{|||}}|{{{{|{}{{|{|{}|}|{{|{|{{|}{}|||||{||{||{{{|||}}}|}|{{|||{|{|{|}}|z|{||{|{}|}||{|}|||{|{|}{}}|}|||{|||{{{{|||||}}|}|||||{{{||{}}|{{{{{z{|||||||||{{{z{{{{|{||{|||{{{{yz|{{||{{}}|~}||}|}~~}|}}}||}|}|||}{|||}|~}{|{|{{{{|}||||||{{{||{{|{||z||||{{{zz{z{|{{||{|{{z|z{{{{{{{|||||{z{z{z{||{{{|{|{z{z{z{{{{|{{|||{{|{zz{z{{z{{||{{{{{{{{z|{|{|||{|z{{z{zzz|{|{|}{{{zzzz{{{{{{|{|||{{zz{{z{{{{||||{z{{{{{z{{|{||}||z{z{zz{{{{|{{{|{{|{{{{{|{|{{|||{z{zzz{{|||{{{||{z|z{z{{|}||||{||{{{{|{{||{||{|zz{{{{{z|||{{{|}|{{||{{{{{||{}||}|{|{|{{{|{||||}}|{{}|y{{{{}}}{}||{{{|{{{||||{{|}|{{|{|||{}{||{|{|{z{{|{{{}|||}||}|z|{z||{||||||{|{{||||{|{|}|||}}|{||{{||||||{{}{|{{{{|{|{|||{||{{{{{z{{||||{|}{{{|z{z{{|{{{|~~|~}}}}~}~}|~}||||}}}{|}||{}~|}}}{{||{{||}|||}}}|||{z{{|{}|{||{|{{z{{{{}|{{{{{|{{{{z||{{|{|{|||{z{{{{{z{{{{{||{{y{{{z{z|{{{{{||{{z{{z{z{{||{{|{zy{{zzzz|{|{||}|{{{z{z{{{{{|{|}{{z{{{z{zz{{{{{||{{{{{{{{{{{{{||{{{z{{|{z{|||{{||}{{{{|zz||||{||{|{zzzz{{|{||z|{|{{{{{{{|||{{{{}|{{{|zz{z||}|}}|{{{||{|{{||{|{||{{{{{{{z{{||{||||{{{{||{{|{|{|}{|z{{{|{|{{}|||{{|{{}|{z{z{||}}|||{||{{{{{{|}||}}}||||{|{|||||}||}|{z{|{|{|~{|||}|{|{{{{{|{{||}}|{{{{|||z{|||}||}}||{|||{|{|{|}|||{|{|{{{{{|{|{|||||{{{{|{{|||{|||{{|z{{{z{{{||~~~~~|~||}||}}|}}|}~}|||{|{}}}|||}|{}{{||{z||{{{}|||{|{{{{{{{{{{}||{{{zzz{{|{||{|{||z|z{z{z{{{{{{{{z{{{zzzz|{{{{|||{{{z{zz{{{{{z||{{zz{zzzz{|{{{||{{z{{zzz{{{{{{{{{z{{z{{{z{{{{{|||{{zzy{z{zz|z{|}||{zz{{z{{|{{z|{||z{z{{z{|{{{{{||||{z{z{{{{{||{||z{|{z{|{{|{{{{||{{|{z{z{{{|{|{{{{{{z{z|z||{|||}||{{z{{{{{|{|{|||{{{z{{{z{||{z{{{{{{|{{{{|{||||}|{|{{{|{{{|{||||||{{||{{{}|||{||||{{{z{|{|}}|{{|}||||{||{{{{||}||||{|{{z{||||||}||||{{}{{{|}}{||||{{{{|{|||{||{|}{||{|{{{{|||}|{|{|zz|{z{||||{}||{{|{{z|z{}{|{{|{|{{{{{zz{{|{}~~|}~~}|}}{~~}~}}}}||||}||{||}|}~}}{|{{|{{}}||||}|{{{|{{{|z||{{{{||{{{z{{{z||}{{{|{z{z{{{zz{{{{|~{{z{{{{z{{|{{{|{{|{z{z{{{z{{{{{{|z{{z{{{y{{{{{z||{{zzz{z{{z||{{||{z{zz{z{|{|z{|||zzzzzz{{z{|z|{{{zzzz{z{yz}{{z{|{{z||||z{{{||{|||{z{z{{z{||{z{|||{z{{{z{{{||||||}{{|{zzz{|||{|{||{||z{z|z||{{|||}{{{{zzz{{}|{{||{{{{{{{{{{|{z|{{{|{z{{{{{|{|}|}|{{z|z|{{|{|{z||{|{{|{|{{z{|}||||{|{{{{{|{||||||{|{{{|{{{|{|{||}|{}{{||||||}{|}||||{|{|z{{{|||||{{{{{{z|{{||z{}}|}{{{{{{{{{{{|}||}{{z{{|{z{{|||||{|{{z{{|{{{|{{{{{|{{z{{{z{|{{|~}}|~}~}}}~}~~}}|}||||{||}||}}}}|||{|{{|||}||}}||{|z|{{|{{{}{{{|{|{{{z{z||{|{|z|zzz{{{{{{{{|{||{{|{z{zz{z{}{{||z{{z{{{{{{{{{{{{{{{z{{{zz{}{z|||{{zzz{zz{{{|{{||{{z{{zzzz{|{{|{{{|{z|{zz{{|{z{|||{{{z{{|z{{|{{|{{{z{{z|{{|{{|{{||{{{{{z{{{|}}}|||{{{|{{|{{{{|{{|||{|{{{z{||{{|{|}{z|z{{zz{||||||{{{{{{{zz||||{||{{{{{z{z{{}|||{|{|z{|z{{{||||||{|z{|{{|{|{{||||}|||{{{{|z|{}||||}{{{{{{|{||}||||||{{{{||z|}||}{|}|||{{|{{|}|}{}}}{|{{{{{||||||||||{{{{|||||{||||}|{{{|{{{|||||||||z{{{{zz{|{||||}|{{{z{|{|{|}|||{{{|z{{|z{{|||~}~~|}}}~}~|}|}}|{{||{|{|||}|}}|~{{{{}{{||}||}||{z{|{{{{|}{||{{||{|{{z{z{|||||||z{{{{z{{{{{{{|{z|{zzz{z{zz{zz|{{{{zzyz{zz{{{z|{{{zzzzz{{{|{{z|{{{{{zzzy{zzz{{{{{zz|{{zz{{{|{z{{z{{z{{z{z{z{{{{{{yzz{zz{{{|z{{{z{z{{{{|{{{{{|{{||{z{z{z|{|{{{{{{{{{{{{zzy|{|{{||{{z{{{z{z{{||{||{{{|{{{{{z|{{|||{|zz{zz{z{{z{{{{{{{|{{{zz{z||z{|{{{z{z{{{{{}{|}|}{{{{{{{{{{{{{{||||{{{{{z{||{{}}{|z{z|z|{{||{|||{{{z{{{|{{{||{||{|z{{{{|{{}||}{||{z{|{|z{|}{|{|||{{{{{{{{{||{{{|}}{|{|{{{||||}|}|{{{{z{{{z||{|{|{{|{zzz|z{}{|{|{|z{|z{zzz{{{|{~}~~~}~}|}}}}~}}}|{}|||{|||z}}}}|||{z{|z||||||||{zz{z{{{|{|{{{{{{{|z{{{{{{|z{{{|{{{zz{{z{{|zz||||{{zzzzz|{{zz{|{zz{zz{zzz{|{{{{{{z{z{z{{|{{{{{||zz{z{{z{{{|z{{}z{{{{z{zz{{{z{{||zzz{z{{z{{zzz|{{{z{{{{{z{{{||{{{{{{{zzzz{z{|{{|z{{{{z{z{{{{{z|{|{{{z{z{z{{{{{{{|{z|zy|y{{{|{{|||{{|z{{{z{{{{|||||{{{{{{{{{|{{{||z{|{{{z{{{|{{|{|{{{{|{{{{{{{{}{{{{|{{{|{{||||{|}|{{|{{{{{{{|}{|}|{{{{{{z}|{|}|||{{{{|||{|||{|||}|{|{{{{|{||{|||{{{|{{{{{{{|{{|{||{z{|||{|{|||||}|||{{{{{{|||||||{{{{|{{{{||||||{|{{{z{{{|{||{{{z{z|{{|{{{{|}{~~~~~}}|}~~~}~}}}||||}|||}}}~|}|||||||{|{||}||}|{}{{z{{|||{{{||{{{{{{{{}|||||{|{{|{zz|{||z{{||z{{}zz{z{z{{{z{||z{{{{zzz{{{{{z|{zzzzz{{z{|{{{{||{{{{z{zz{{{{|{|{{{z{{{{{{||{{||{{|{{{{z{{{|z{{||{{|{{z{z{|{|{|{{|zz{{{zz{|{|{{||{{{z{z{z{|{{{{{|{{{z{{{z{{{{||||{z{{z{{{{{|{{||}|{{z{{zz{|||{|{{{{z{{|{{{|{{{|||{{{{z|{{{|{||||{{{{{{{|{|{||}|}}{{{|{{{{||||||||{|||{|z{|}{{|||||{|z|||{|}|||{}}{{{{{|{||||||}|}|||{{{|{|||||}|||{{{|{{|||||{||{|z{{|{{{|}||}{}}{||{}{z|||}||||}{{|z{|{{{|{|||}|{|{{{|{z{}}{|{{{{{{|{{{z{}|{|~}}~}~~}~}~}}}}|||}}}}{{~}||||~|{||||||{|||}||||{{{{|{|{{||{{|{{z{{|{{z|{{||||{{{{zz{{z{|}|{{|{}z{zz{{{{{|z{|{{{{z{{{{z{{|{z{||zzz{zzzyz|{|z{{||{{{z{z{{||{{{{{{z{{{{zz||z|{z{{{{{{{z{{{{{z{z||{{{{z{{{{|{{{}|||z{{{|{{z|{||{|{|zz{|z{z||{{|||{z{z{|z{{|{{{{{|}||{{{{{z||||{|}{{{|z{z{{{||}{|{|{{{{zz{|||||{||{||{z{{z||||{|||||z{{{z{{{|||||{}z{{{{{{|{|{||||||{{{{{z{}||||{|||{{||{{{|||{|||}|{|{|||{{}|||}|}|{{|{{|z{|||||||||{|{{{{}}||}||{|{{||{{{{||{||}||{{{|||||}{||}||}{{{|z||{|||{{|}{{z{|{|{||{|{|{{{{{{{zz{{||||~~~~~~}~}~~~~~}|||||{{}}{}~}||}|{z|||z{||}}||}||||{{{{z|||{{|||||{z{zz{|||{|{|{|{{{z{z{|{{|||{z{|zz|z{|z|{{{{|{z{{zzz{{{|{{||{|{|{z{{z{{{|{|{{{{z{z{z{{{|z|{{{|{{{zzzzz{{{{{||zz{{{{{z{{{{{z{|{zzz|{{z{{{{||{{z{|{{{zzz{{|||}|{{||{{|z{{||{|{||{{{z{{z{|{{{{{|{{{zzyzz{||||{|{{{|{{{{{{|||||{|{{{|{z{z|}|{{|||{{|||{{{|||{{{{{{z{{|{|{|~|{||||zz|{{{{{{|||{|||||{|{{{{|||{||||{{|{|{|z{|||}||||z{{|{{{|}||{}|}|{||{|{{{|{|}||}||{{|{{{}|}}}|{}|{{{{|{{{||||{}||{{z{{z}||{}||||{{{{z{{{{|||||||||zz{{{{||||{|}{|{{{zz{{{|}{|~}~}~}}~~~~~}|||||}}||}|}|}}|}z||{{|}{}}|}||{{{|||{||}||{|}{{{z{{{z{||||{||{{{{z|{{{{{{{{}{{z||{zz{{{|||{||{{{{{{{z{||||{{|{z{zz{{{{|{{{||{{z{{zz{z{{{|{{{{{{{zz{zz||{{|{{{z{{{z{zzz{z{||{{{{yz|z{{{{z|{||{{{{{||{{|||{z{||{{z{{zzz|z||{|||{|z{|{{{{||{||{{z|{zzz{{{|{{|}||||{z{{{{{||||{||{{{{|{{||}||||{||z{{{z{|{{||{|||{{|{{|{{||}|}z|}{{|{{{|{|||||||||{{{{{{z{|{|}{||{{|z{{|{||{}|||}{{{|{{|}{||||}|||{{{|{z|{}}||||}}||{zz|{|||}|}|||{{|{}|||{|||}|}|{||{{{{}}{|||||{{|{|{{{||||||||||||{{{{|}{|{{{{{z{{{z{{|{|{|}~}~~~||}||||{|}|}}}}|||||{{|||{|{|}||{z{|{{{{|{}}{{|}{|zzz{{{{{{{|||}|{zz{z{{z{||{{||{{{||{{{|{|{{{{{{{z{{{zz{{{||z{{zzzz{z{z{{{{{||{{{zz{|zz|{||{{||{{{|z{yy{{|{{{|{{{{zz{{{z|{{z{|||z{z{|{z|{{{{|{|{{{{{zzz{{{|||{|{{z{{{{{||{||{{|{|{{{{||||||{{{}{{|z{{z{{||||{||{z{{|{{{||{|||||{{|z{{{{{{|{{||||{z{{{{{}||||||||{{|{{{{||}|||||{{{|{|{{|{|||||||{{{{{|{|}{}|{|||z{{z{{|||||{||}{{|{|||{{|{{|||||{{||{{||}|}||}||}z{{{z{||}}}|}{{{|||{{||||}|||}|{{||{{{||{{}|||{{|yz{z{z|||{|{|{zz{{|{z{{|{{|||{{|{|zz{{{{{{}~}~}~~~}~~|}||}{{|}||~|}|||||}{{|{}{{||||||z{{{{{{|{|{{{||{{{z{{{z{{|{{|||{z|z{{zz{{{zz{{{|{z{zzz{{{{{{{{z|{{y{yzz{{{{{{|{{z{{{{{{{|{{{|{z{{zz{{zz{{{{{{{|{{zzz{z{||{{{{{|{zzzy{zz{{zz{{{{y{z{{z{z{{zzz|||{z|z{{zz|z{{|{{|{{|zz{|{{{{|{|||zz{{{z{{{z{{{{||zz{{{{zzz{{||{{||{{y{z{{{{|{||{z{{{{{{{{||||{{}|zz{||{z|{|{z{||{{|{{{{z{{{|{|{|{{{{{{{{z}|z{{|||{z{|{|{z{{{|{{}|{zz{{{{{||||}|||{z|{|{|}{|{||{||{|{{||z|z}|||||||{{{{z||||{||||{|z{z{{z{{|{}||}|||{{{{{{|{{|||{|{{{zz{|z{|{|||}||zz|z{{{{{|}z{|{z{{{zzz{z|{{{~}~}~~}}~}}}|{|{|||{}}|}|}{||{|{{||||{||}||{}{z|{{{|||{{{|{{{zz|{z{{{|{||{z{{z{{{{{|{{{||{{|{zz{zz{z{{{{|z|{zz{{zz|z{{zz{|z{zz{z{z{{{{{{|{z{{{zzz{{{{|{{{{{{zzz{{z{{{|{||{{z{z{zzz{||z{{|z{{zz{{{zy|z{{|||{{|{z{{z{|{||{||{{zz{zz{{{|{{{||{z{{zz{zzz|{{}|{{{{zz{{{|{{z{||{{|{z|z{z{||{||{{zzz{{{|z||||{|}{z{z{zz{{{{|{||{{{{{{{z|{|{||||{|z|z{{{{{||{||||||{z{{{{{{{|{{||{{{{{{{z{{|{|{{|||{|{{{{{|{{{|||{|{|{{{{{{}|{{||||z{{{{{z{}|||{{||zz{||z{{|||||||}{{{{{{{{{{}||||z{{z{{{{|{|||||{||{{{{z{{|{||||z{z}{zzzz{{{|{~}~~~}~~~}|}|{{}}|}}||}|||}z|{|||}||||||||{{{{z}||||z{}}|{{{{{|z{z{|{||}|{z{{z{z{|{|{||{{zz{{{{z{{{{{{{z{{{|{|{{{{{|{|{|{{{zz{{z{{z|||{|{z{z{|zz|{{{|{{|zz{{zz{z{{||{||{z{{z{{|y{{{|{{}{|{z{{z{z|{{{{|{|z{{{{{zz|{{||||||{{z{{{z||{{{|||{z{{{z{{{{{{{|{|{{{{z{z{{|}|{}{||{z|zz{z{|{}{|{{{{{{{z{{||{{|{}||{{{|z{{||||{|}{{{{{{|||{{||}||}{{|{{{{{{{{{||}|{z|||z{{{||||||||{{{{||{||||||}}{|{{|{|{{||{||}|}{{z{||{|}{|||||{||||||{{{{||||||{{{|{{|z}||||}}|{{{{|{z|{||||{|||{{{{{zz|{|||}|{|z|{z{z||||||||z{{z{z{z{{|{{}~~~~~~~~|}||||}|}|}}}}|{|{}{{{{||||{}|{{{{{{{{{|{|{||{|{zz{{{z||}{}||{{{{z{{{{{}|z{||{{z{{{{{z|||{{{{{{{{z{{z{|{z|{{{|{{zzzz{y{{|{{|{z{{z|zzz{{{|{|||{{{|zzzzz{{{{|||{{z{{z{zz{{{{{{z{{{z{{z{z{||{|{{|{{z{z|{z{{{{z|{{z{{|{z{{|||{{|z}{{|{{{{z|{{||{|{z{{{z{z{{||{{|||z{|{|{{{{|||{|||{{{|{z{z||}}{|{|{|{{{{{{{}{{||{z||{{|{{{|{|{}{||z{||{{{{||{|{|||{||{{{{{||||{|}{|{{z{z{|||||{|}{||{{||||{}||~|}|||{{{{|{z}||{}|}|{{|{{{||||}}|||}{{{|{{||{||||||{z{|{|{{||{||{{|{{{{{|{|||||||||||{{z{|{{|{|{|{{z|{{{{|{{{||{~~~~}}|}||}|}|||}}}||||{{|{{||{||||}z{|{{{{{{}{{||||||{zzz{z{{|||}||{{{{{{{z{||{{|z{{z{z{{{z|||{{|{{z{{z{z{z{{{|{{{|{{z{z|z{{{|z{{{zzzz{{|zz|z{|{{|{z{{{y{z{{{{zzz{{{{{{{{{zz{|{{{{{z{zz{zzzz{{{{|{{z{{zz{{z{{{{{{||{{z{zzzz||{{{{||{{{z{{{{|{z{{{||{zz{{z{{||||{|||{{{z{z{{{{|{{|||{{{{{{{{{|{{{||||{z{z{{{{||{||{|{z{|{{{{{||{|{{|z|{{{{{|{|{|{|}{|{{{{z{{{}|{|{|{|z{{{{|||}||}}}{|{{{|{|{||{|{||{}|{|{{{|{{{~}||{|{|||{|{|{|}|||||{{|{|{{{|{||||}{{{{||{{|{{|{{||{|z{{z|||{||{{||{{|zz{{{{|{||{|{{z{{z{{{|{{||~~~~~|}}}|{||}|}{}}~}||{{{|{{|||||}{|{{{{{{{{{|{{|||{{{||z{{{|z|{||}}z{{zz{zz{{|{{{{{{{{zzz{{{|{|{{|{z{z{zz{{{{{{|{{{{zz{{z{z{|{{|{{{zz{{|{y{|{{{|||z{zzzzzz{{{{{{{{|z{{{{zzzz{|z{|{{z{zzzzz{{{z|{|{|z{{{{{z{{{|{{{{z|{{{z{{{{|{{|{||||{{|{{{{{|{||{{{|{{{|z{|{{{||||{|{{{zz{{{{|{|{||z{{{yzz||||{||{{z{|{{z{{||{|||{{||{|{{{||||{|||{{{{{|||{||||||||zz|{{{{{}||{|{{{{{{{|{{|{|||||||{{|{|{|{{|||||}|z{|{{{{{}||{{{{{{||{{{{||||||}|{{|z{{{{{{||}|}|{|{||{{{}|{|||||{|{z|{{{{|{{||{||{{z{{z{{{||{{{|{z{{{{{{|{|{{|~~}}~|||}||}}~|}}||{|{{z{{{|||}{||{{{||{z|z||{{{|}{||z|{zz{{{|{|{{{z|zz{{zz{{{y{|z|{zz{{zz{{||{|{{{{zyzz{{{{{{{{{{z{z|{{z{{{z|{{|{{zz{z{z{{{|{|{||{{{{z|z{{{{{|{{{|{z{{z{z{{{{{{{|z{{z{{{z{{z{{|{|{{{z{|z{|{||{||||{|{|{{z|}{{|{||{{{{{{{z|{{|{{||{|{{z{|{|||{|{||{{{||{{z{||||{|{|y{||{{z|||{{|||{zz{||{z||||{{{{|{{{{{{|{}|{}||||{|zz{{{||{}||{|{{|{|{{{||}|||}}{{|{{{{{|||||||}|{}{{z{{||{{|||||{||z|{{{}||||||}{{|{{{{|||||}||}{{{|{|{||{|||{}||{{{{z|||{||}{|{{{{{{{|{|{||||||{{{{{{{|||{||||{{{z|zzz{||{{~~~~~~}|||~|}}~}}}}}}}||{|{|{{|{{|}||||{{{{z{z|{{}{{||{{{{z{z{|{{{|{||{{{{y{z{||||{||{z{{{{{|y||||z{{|zz{z{{z{{|{{|{z{{z|{zzz{{|{{}z|{{zz{zz{y{{{{||{{{{{{{{zz{{|{{{|{{{z{z{{z{{|{||||{zzz{yzz{{{{||{|{z{zzz{{z{{{{|||||{z|zz{{|{{|{{|{{z{{z{z{|{{|||||{zz{{z||{|{||{{|{|{{z|z|||{{||{{{z{{{z{|||{|||{|{{{{{z{}|{{{{|{{{{{{{{{||{|||||zzz{{zz{{|{}{}||{{{{{{{{|||{{|||{z{z|{{z||{{||||{{{|{{|{z}|||}}||{z|{|||{}||||}}|z{{{z{|||||{{||}z{|{|{{|{|}}|{}|z{{{|{||||}|||}|{{{{{{{{{||}|{||{{{{{{{{{|||{|||{|{{{{z|{{{{~}~~}||||||}{}||}}}||{||||{|{{||||||{z{{|z|{{||{|{}|{|z{z{z{{|}{{{|{{{y|{zz{|z|{||{{{{zz{{{{z|{z{{{{{{{{zz{{{z{z{|{zzz|{zz{{|{{z|{|{{z{zz{{{{|{|{{|{z{{z{z{z{{{{|||{z{{|{{zz|{{{{{{{{{{{{{z{{z{{|{|{{{z|{z{z{{||||}{|zzzzz{||{|{{||{{zz{z{{z{{{{{{}{z|{{{{{{{{{{{|{|z{{|zz{{{||{|{{{{{{z|{y{||{||}|{zz{zz{|{|{{{|{{{{{{{{z{{|}|{||}z{z{{{{{{}{|||}}|{{{{|{{|{|}||||||{|{{{|||||||}|{{{|{{{|||||}||||{|||{{|{}||}|}||||{{{{{||~||||||{{|{{|||{{||||}{|{{|{z{|}{{{{}}{{{z||{|z|||||}|||z{{||{{{||{{||{z{{{yzz{||{|~}|~||||}|}|~}||}|||||{|{{{{|{||{{zz{{z{{{|}{z||{|z{{{|{{|||||{{|z{zzz{zz{||{{|{z{z{{{zzz{{{|z|{||{{z{{{z|{{{{{{{{{}zz{z{{{{{{{{|{zz{{zzzz{{z|{|{zz{z{|z{{{{{||{|{{{z{zz{{|{{||{{z{z{{{zzz{{{||{|{z{z|z{z{{z{z{|{|{z{|z{{{{|{{{{|{z{{{z{{{{z|{|{{{|{{|{{{{{|{||||{{z{{z|z|{|{|{||||z{{{{{{|}|||}{{zzz{{{{{||{|}{|z{{{{{z{||{}||}|{z{{{|{{|||||||}{{||{{z{|{|{{||{|{{{|{{{|}{|}|}|{{|{}||{{{|{||{||{|{{||{|~|}{||||{||{{{z|||||||||{||{||}|{{{}|}||{{{|{||||{||||||{{{{|{{|{||||}|{{{{{{{{|{{|{||||z{{|{{{{{|{{~~~~~~|||||}~}|||}}||{||||{{|||}||||{|{{{||||z|z||||{{{{z|{{{||{|||z{|{{{{{{{|{z{||{{{{{zz{|{}z{{{{{{zz{{z{zz{{||{|{{zz{{{{{{{{z{{{{{{{yzz{{{{{{{{}{{{zz{{{z{{{z||{|zz{z{zy{{z{{{|}z|{{z{{{z{|{{{{{{|{z|{zz{{{|{|||{{{{|zz{|{||{z{}{z{z{z{|{|{{{{|}{{{{z{{z||||||||{{{{{z|z{||{{||{|{{{{z{{}||||}|{{{{{|{{|||||{}||{{{||{{{{|}}||||z||z{{||||{{{}|||{|{{{{{||}|{{||{{{{{{{|}|{||}}|{||z|{|zz|||{}}||{|||{{{}}}|{|}}|||||{{|||}|||}|{{{{{{{|{||||||}|{{|||{|||||||}|{{z|||{{||||||||{{{{z{{{{}|{{|{{{{{{|{{{{|{{{~}~~~|||}|}}}}}}}}}|{||||{|}|||||||{{z{{{||{|{{|||{{{{{z{{{{{{|{||{{|z{z{{z{{{{{|{|{{z{zz{||{{{||||{{z{z{z{{z{{|||{{z{{{{zzz{{{|{z{{{{z{{z{{{{||{{{z{{zz{z{||||{{|{zz{z{zz{|{{{{||{{{z{{z{{{{{{|{||{{z{z{z{{{|z|{{{z{{{z{{}z|{|{{||{|{zz{{{{|{|||{{{z{{{{{||{{|{||{|z{{z{|z|{{|||{|{{{{{{z{z}{{|}{{{{{|{z{{||{|||||{z{zz{{{{}{||{|{{{||z|{{}||||{|{{{|{{z{|{|||{|||{{|{{z{|}|||}||{{{||||{{|||}|||}{{|{{{z|}}{|}{||{z|{{z{{}}{{||||||{{{{|{{|||||}{{{|||{{||||{|{||{{z{{{{{|||||}{{|{{{{{z{||||||}{{{zz{{{{|||{~~~~~}}~}|}||}}|}}}}}||}|||{{||||||}|{{{{{{{|||}{{{}||{{{z{{z|||{||{{{{z{{{{{z|z|||{|z{{z{{z|{||{{{{{{{{{z{z{z{{|{z||{{z{zyz{{{{{{{|zz{{{{{z|{{|z|{{|z|{zz{zz{{|{{{||{|{{{{{zz||{{{|{{z{z{zz{{{z{{|{|{zz{|{{{{z}|||{|{{{{{|z{||z|||{|{z{|zz{{{|{|||{|{|{{{{{z{{|{{{|{{{|z{{{|z|{||||z|zz{{zz{||||{{|{{{{{{{zz{{{|{{{{{z{{{|{{|||{|||}{|{{{|{|{|{|}{|||{{{z{z{{|}||}|{|zz|{{{z{|||||{||{{{{|{{|{||||{|}{|{z{|{|{{|}||}|{{||{{{{}|}|||||{{{{{{|{|{{{}|}|{{{{{|{||{|}}}}|{{{|||z{|||{||{|{{{{{{z{||||{|||{{{{z{{{{||{~|~|}||||}}}}{~}}|{{{|{z|{{|}||||||{z{{{{{|{|{{}|{{}z{{|z||{|{|{|zz{z{{{z{z{{z{{{z{{z{{{z|{{{{||{zzzzz{{z{|{{{|{{zzzz{zz{z{{z{{{z{zz{zzz|{z{z{z|{{{|{z{{{{{z{z{|{|z{zzz{yz{{{{||{{{{zz{zz{{|z{||{z{{{z{{z{{|{||{{{{zzzz{z|{{z|{||zz{z{{{{{{{{{{{|{z{{{{z{{{{|z{|{|z{zzz{zz{{||{z{{{z{z{{{{|{|{{|{{{{{zz{z{|{|{|||{|{{{{z{|{|||||{{z{{{|{|{{||z|}{{{z{{z{z{{}{{|||{{{|{z{{{|||}{|{{{{{{z{{{{{{|||||{{|{||{z}||{||}{{{|{{}{|{|||{|||{{|{|{{z{{|{|||||zz{{{|||{||{||{{{{z{{{||{|||{}{{{{{{{z{|{{z||||{{z{{zz|||||~~}~}|~}}|~}}}|}~}|{{|}{{{|{|{|||{z{{{{z{|||}{|}{{{{yz{{z{|{||{||{{|zz{{z{||z{||{|{z{zzzz{{|{z{|{zzzz|z{z{z{{|{|||{{z{{zz{{{z|{|{|zzzzzx{z{|{|||{{|{|zzz{{|{{{{{|{z{{z{{z{z{z{|{{{zyzzz{z{{{{|||{{z{{{{zz|{{|{{|{|z{{z{{z|{|{z|||{|{zzz{{{{||{|||{z{{z{{{|{|}||||{|{{{{{zz||{{|{{{z{z{zz{||{|{|||{|{||{{z{|{{|||{{{{{|{z{|{~|||||{|{z{{|{{|{{|{{|{{{|{{{{{||||||||{{{{zzz|||}|}|}||{|{{|{{{|||||{|||z{||{|{}|{|}||{|||{z|{|}}|||{|{{{|{{{}{{|{||}{||{}{|{{||{|||||{{{{{{|{||{|||||{{{|{{{||{|||{|{{{z{{{{|{|{{~}~}|}}{}}}}}}}}~}|{{{|}{{||}}{}||{z|{{z{|||{||||||{z|{z{z{{{||{||{z{yzzzyz{|z{|}|z{zz{{{{{||{z|{|{{yz{z{z{z{|{|{|zzz{|zz{|{|{z{{{{z{{yzzz{{{{{{{|{z|{zyzz{{|{{|{{z{{z{z{{{{{z{{z{{zzz{{zz{{z{{{||{||{z|{{|{{{{||{z{{{{z{z{{{|{{{|{z|{{zz{{{||||||{||zzz{{|{{||||{{{{|zz{z{zz{|{||{{{z{{z{||||{{{{{{z{z{{{{{|{{{{||z{z{{{||{|}||||z{{{z{|{|zz|{|{}{|z{z{{z{||||{|{}{{z|{{{}||z|{}|{z|{|{{{{|{||||||zz{{||{|}|{|||}{{{|{z{{}||{|}|||{{{{zz||||{|{|||{z{||{||}|||{||{{{{z{{z{||{|}||{{z{{z{z{|{}{{{|{{{{{z{z{{{{{~~~}~~~}}}||}}||}}}}|}||{{{|{}|{||{}||{||||{{|z{||{}{|{{{z{{z|{||{|{|{{{{{{{|{|{{||{{|{{zzzz{{{{{{{{{|{zz{{{{{{z|{||{{{{z{|{z{|z{|{{{{{z{{z{{{||{{{|{{{{zyz{{|{|{{{|{{z{{zz{{{||{{{{{{{{{{z{|{{{{{|{{z{{{{{{z|{{|z{{|{z|{{{{||{|{|{|{z{{{{{{{||z|||||{{{z|z{{{{{||||||{{{{z{{{{||{||{{{{z{{{{{|}||{{{{|{{{{{|}||{{|||{{|{||{{|||{||||{|{||{|z{||||}||{{{{{zz{{|||||}|||z{{{{{||}||||}{{}|z{{|||{||||}||{|z}{{|||||}}}}{|{{{||{||||}||||{{||{{|||||||||{{|{|{{{}|||}}|z||{{{|{|||}||}|||{{{{{{{|{|{|||{{zz{{|{{z|{{~~}}~}~}|}}~}|}}}|||{||{|||||||}|{||{{{z{{|}|||||{||{z|{{|{{||}||z{{{{{|{z{{{|||z{{|{z{{{{{{|||{||z{{{{{z||{|{|||{{zz{{z{{|{{|{|{{{{{z{zz{||{||||{|{{{{{z|||{{{|z{{{{{{{{{|{{{|{|{{{{{{|{{|{{{{{|zz{{{|{{|{{|}{||{{{{{z{z{||{{||||{{{{z||{|||||}}||{|{{{z|{||||{|{z|||{{{}||{|||{{|{{{|{{{{||{|||{|{{z{{|{||{{}|{{||{||{{{|||||||{||{{{{}||||||}}|{{{|{|z}|}||||||z{{|{|{|}{||||}|{{{z{|||~|}|||||{}|{||||||{|}}}}|||{{||{}||||}|{||{{||{|{{||}{}||{{{|{{|}|}|}|}{||||{||{||||||{{{{{||{z{{||{{}|{{{{{z{{{{{|{~~}~~}}|||}~~}}|}}}|{||{|{}}|{}|}||{|{z{|{{{||||||{{{z{z{{{{{||||||{{z{|{{{|{{{{|{{z{{{|{{{{|{|{{{{{|{{{zz|{|{|{{|zz{zz{{{{||{{{||zz|{|{z{|{{{{{{{{{|{{{{{{{{{{{|||{{z{z{z{|z{|{{|z{{z{{{{{|z||||{z{{{|{zz{{|||||{||zz{{{{{}||{|||{{{{z{{z{|{|{|||z|{{zz{{|{|{|{|{{{{||{{{||{||||{{{{z{{|{{{|{{}|{{|{{{{z{{}{{{||{|zzz{{{{||{|}|||}{{}{|||||||||}}|{{z{z|{{{}|{||||{|{|{|{{}{{||}||{{{{|}{z|}|}|}||||{z|{||||}|||||{{|{|}{|{{|||{||{|{{{{{|}|{{{}|||||}{{||||||{{}{||z{{{{||{{|||||||z{zzz||{|z{{{||{{{{{{{{|{{~~|||}}{}}}~|}}|}|{||{{{{||{|||||{|{{{{{{z||||{{|{{{zzzzz||{z{{||{z{{{{{z{{{|z{|{|z{{zz{{{{|z{|{{z{zzz{z{{z{{{{{|{zzz{{z{|{{||{|{{zzzzzzzz{|{||||yz{y{{zzz||z{|{z{{{{z{zz{{z{{|{{zzzzz{{{{|z{{||{|{{{{}zz{||{{{}{{z{z{z{{{|{{{}|{{{|{|z{{|{|{||||{{{zyz{||||z|{||{{z{|{{yz|{|{}|{{{{{z{{{{|||{{||{{{{{{z{{|||{|||{z{{{||{|{||||{|{|{{{{{z||{||}|||{z{{{{{|||{{||{{{{||{{{||{{|||}{z{{z|{{{|{|||||{{z||{{||}{}|||}|{||{z|{||||{|}|{{{{{|{{{|{{|||||{{z|{{{{||||}{|{|z{{{{|{|||}{}}|{z{{{z{|}{|||{|{{|{{{{{{{{|{~}~}||||}||}|}|}||||{z||{|||{||{}|}||{z{{{||||z|||||{{{{z{||{{|{||{|{z{z{z|{|{{||{{z{{{{zy{|{{{{{||{{z{{{{{z{{{{{{{z{z{yzz{{||{{|{{{z{z|{|z{||{|{zz|{zyz{z{{z|||||z{z{{{{z{|{{zz{|{|z{{{|z{|{{{||{{{{|{{{z||||{|||{|{|zz|z{||{{{|{{z{z{zzz{{{{{|{||{|{zz{{{{||||||{{|{|{z{z||{{|{{{z{|{{z{{||{}||||{{{{{z{{||{|||{{y{{{{{{|||||||{{{{{|{{{{|||z|||{{{{{{{{|{|||{}{|||{|||z|{{}{|||{{zz|{{||}{{||||}{|{{|{{{}|}|}||||{|{|{}||}|{||{|{{{|{{{||{{||||}|||||{|||||{{|{{{{{{{{{||{|z|||{{{{{{{{|{|{z{||{{{zz{z{{{}|{~~|~~}||{}}}|}}}}|{||{{|{||||||||||{z{z{}|||{{||||||zz|z{z||{||||{{{zzzz{{|{z{{{{{{z{{z{z{{{{{|{z{{zz{|zz|{{{{{{|{{zzzz{zz|{{|z|{{z{z{zzz{z{{||||{{{zz{zz{{{|{||z{{{{|z{z{z|{|z||{{z{zz{zz|z{|{{{{||{{{{{|{{|{{{|{zzz{{{{{{{z{|||z{{{{z|z{|{|||{}{{|{{zz{{{{z||}|{{{{{z{{{|{|||}{{{{{z{z{{{|||}|{{{{{|{{{}{|{{{||{|{{{{{{|||{}|||{{{{{{|{|||}||}|{{{{{z{{{|{||||||{{{{|{{{||{||||{{|{{{|{||||{|}||{z{{{{|{|||||}||{|{{{|{|}||||||{{{z{|{|||}{||||{|{|{|z|{{|||||}{{{z{{{{|{|{{}||{{z{{{{{{|||{{|||z{{{zz{{|||{~}}||||||||}|}~~|||{|||{z{{|{{|}{{z{||z|{|{||{{{{{{{zz{z{{|{{{{{|{zz{{{z{|z{{{{{{{z{{{{{{{{{{{||{|z{zz{z{|{{{{{{{{z{{yy{{{|||||z{zzzzz{zz{|z|{|{{{{{z|zzz{||zzz{|z{zz{z{{{{{{|{{|{{z{{z{z{{{{{|{{{{z{{{yzz{{{{||{{{{{{{{{{|{{||{{|z{zzz|{|{z|z{{|{z{{z{{{{{{{|{|}{{{{{zz{z||{{{||{{{{{z{{{{{{{{|{z{{|{zzz|{||z{z{}{{z{{{{{||{||||zz{zzz|{||{||{}|{{{|{{{{|}{{}||{|{{{zz{{{|||{||}{{|{z{{{{||{{||{{|{||{{{{||{{|{|||{||{{||||{|{{|{{{z{{{|||{|||||||{{{{{{||}|{||||{{{z{zz{|{||{{||{zz{{{|{{|z|{{|{{zz{z{{{{|{|~}~|}||||}|~|{}}|||{z||z{|}{{}}||{{z|{|{{|||||{{}{{z{{{zz{{|{{|{|{{|{|{{z{{{{{||{{z{z{zzz|||zz{{{{z{zz{{zz{z{|{{{z{{z{yz{{{{{|{|{z{zzzz{{{|{{}||zzz{{{{{|{{{|{{{{{{zz{{zzz{{{z||{z{{zzzzzz{||{|{|{{{z{{zz{||||{||{{{zzzzz|{|{z{{|{{{{{zz{{{{{{{{|{{||z{z{{{{{|{|{|{{z{z{{{|||{{{z{{z{|z{{{|{|{||{{{{{{{z{{{{||{|{{{{|z{{|{|{}||{{{{{z{{{z||{}{{||{z|{{{z{||||||||{z{|z{{{{||||{}|{{|{z|{{{{|{|}}}}|{||{}{||}||}}|{{{|{{{||||||{|||zz{{zz{{|||{|}||{{{{z||{{|{||{}|{|{{|{{{|{{|}||{{{|z{{{|z|{||{|{{{z{z|{|{{||~~|~}}|{|~}}}~|{||||{{}{{||z|}||}||{{{{{{{}||||||||{{zzz{{||{{}{{|{{{zz{{{{|{{{{|z{z{z{{y{|{{{{{{|z{{zyz{zz{|{|{||zzz{{{{{|{{{{||{{zz{z{zz{{z{|{|}{z|{z{z{z{{|{{{|{{z{zz{z{z{{{{||{zz{{{{{{{{{{|{{{z{{z{zy{{{{{{||{{{z{z{{||{{{|{{{z|{{z|{||{|||{|{{{{zz{{{{|{|||{{{{{{z{{{|{|||{|{z{{{zzz{|{||{{{{z{|{zyz{{}|||{{|||{{{{{|{|{{|||z{{|{z{{z|{||||||{{{{{{{{|}|{||}|{z{|z|{|||||||||{{|{||{z{||||}|||{|{{|||}{|||||{|{{{{{{|{}||}|||z{{{z{z{}|z|}||||{{{|{{}|}}z|}|{{z|{|{{|}{||{|}{{{|{{z{{{{}{z{{{{{{{z{{{||{|}~~~~}~|||}}|}|}||}}|{{{z{{||{||}|}{||{{{{{{|{|{}||||z{{zz|{||{{{{|{{{{{|z|z||{z{|{z{z{{|{zz{{{{||{{{z{{{{z{{{{|{||{z{z{{z{z{|z|{||||{z{{{{{{{{{{{|{{{zz{{|||{{|{|||{{z{z{{z{|{{{{{{}||{{zzz{{||{{{{{z{{{z{z{|||||{|{{{z{zzz||{{||{|{{{zz{z{{{{{|||}{{{{{{{{||{|{|||{|{{{z|{{{||||{|{{|{{{zzz||{{{|}{{zz|{{{|{||{|||{{{{|{|{||{|||||||{||{|{||{|||||{{|{{{{z|}|{|}{||{{{{{{||}|{{}|||z{zz{{|{{||{|{|||{|{{{{||~|{||{|z|{{{zz|}||}|}{{|{{||{{{|{||||}|{|{{z|{|||||{|{|{{{{{{|||{||||}|{z|{{{{|{|||{||{{||{z{{{|{|{~}}}~}}}}}|~}}|~|}|||{|{{|||{||||{|{{z{z|{|||{||}|{{{z{{z|{{|||{|{z{zz{{{{{||{|||{{{{{z{{|{|{{{|{{{z|zzz{{{zzz{|{{{||{z{z{{{{{{|{{{z{{{yz|{{{{|{{{z{z{zzzz|{|{||{{zzz{{{z{{{{{{|||{zz{z{{{{|{{|{{{z|{z{z{{|{|{|{|{|z{{z|||{{z{{||zz{{{y{z|{|{{{{|z{{{{|z{|{{{{||{|{{z{|z{||{{{|}{{{{{{{{{}{|||||{|z{|z{{{||{z{|||z{|z{{{|}||||||{{{{{{{|{|{}|||||z{|{{{zz|{|||{||}{z{|z{{{|{}{}}||{||{||{{|{|}|}||{|{{|{{{}}||}|}|{|||z|{|||{||||||{{{{z||||{}||}|||{||{{}||||||{||{{|{|{{{||||{{{{{|{{|{{|z|{{|||{|{|z{{|{{{{~~}}~}|}|}}|||}}}}||{{z||{{|||||}|||{{z{z{{|{|||{||{{{y{||{{{{|{|{|{zz{{{{zz{|{{||{{{{z{zz{{{{{{|{z|{{{{{z{||{|{z||zzzz{{zz{||{z|{{{{|z{{z{z{{{||{}zz{zz{z|z|{{{{|||{{{{{{{{|}zz||||{zzz{{z{|{{{}{|{z{{{{{z||{|{|{{{{{z{zz{{{|{{{{|z{{{{z{{{z||{|||{zzzzzz{||{{|||{{{{{}{{z{|z|{|}}{{{{{{{z|{||{||{{{{z{{{{|}{{|{||{{z|zzzz||z}||||{{||{z{{{|{|z|||{{|{|{{{{|||||{|}{z{||{{||||}{|{||{|{{|z||{||}|||{{{{|{{{}}|}||{|||{{z{||}{||||||{{{||{{{|{||{|||z|{|{{{|{|||{}}|{{{{|{{{||{}|||{z{|{|{{|||||{||{{{z{z||||{z{~~~~~}~}|}||}}}}~}}}}}|{|z{|{|}|{|}{}|{{||{z{||||{{|||z|{{{{z|||{{z{|}{{z{{|z{|{z|||||{{{{{yz|{{|{{{|{|{z{{{{{{z{{{{{{{{{z{|{{{{z|{{||{z{z{{z{||z{{{{{{{{z{z{z{{|{{{|{{{{|z{z{z||z{|||{z{|z{zz{{|z|||{z{|{{{zz{|||{}|{z|{zzz{|{|{{{||{{{zzz{{{||{{|||{|{{{{|{z|}{|{|||{{|{{{{{|{|{}{|{z{|{{{{{}}||{|||{{||zz{|{{{|||||z{|{{{{||{||{}|z{{z|{{{|{|{{{||{|{{{{{{|{||{|}{|z{{|{z{||||{}}{|z|{{{|{|||||{{{||{{{}{{|}|}||}}{{{|{{{z{}|}{|{||{{|{{z||{|{||||||z}{{{||||{|}||||{{|{{{{}|||{||{{{{z||{{}|}||||{z{|{{{|{|{{{~~}}}}~|||||||}}}}|||{{{{|||||||{||{{{{|{z{{{{||{{|{{z|{{z{{{|||{{{|zz|z{{{z{{{{|{{{{z|zzz{{|{{{{{{z{{z{z{zzz{{{{{{zzz{zzz{{|{z{||{{{{{z{{y{{{|z{{|||{{{{zz{{||{{|{|{zzz{{{{|{{z{|{{z{zzzz{{zz{{{|{{{z{{z{{z{|{{{{{z{{{z{z|{z|{{|{|}|z{{{z{{{|{|{|||{zzz{{z{{{||{{{{{{{{{{{{z{|z||{{zz{{z{{{{|{|{{|{|{{{{|{{{}{||{||{{{{{|{{|||{{{|{{z{z{{{{||{|{|||{|{z|zz{|{|||}|||{|{{{{{{||{||}|{z|{{{{{{{{{}{|||{z{|}{|{|{|}}}}||{|{{{||}||}|}||{{{||{{{{|||||{|{z|{{z{|{{|||{{|z|{z{{{{|{|||||{{{z{{{z{|{{{|||{z{zz{zz|||||~~~~}~{{|}|||}}}}}}|||z{{|{{}z||||{|{{{{z{zz{|||{z|{|z|{z{{{|{{{{z{|{z{zz|zz{{{{{||{{zzzz{{z{{{{{{{{z{{{zzz{{{z{z{{{{zz{z{zz{{{{{{|{{z{{zzzz|z{{{||{z{{{{{{z|{{{z{|{zzzz{z{{z{||{{|{z{zzy{z{{{z{{{{|z{{{z{{{||z{|{{|{{{{{z{{{|{{z|{|{{{{{z|{{{|z{z||z{{z{z{z{{{|{{}|{{{z{z{z{{||z{{|{{zzz{z||{|{{{||{{z{{{{{{{{z{z{|{z{{{z|z||{||}{}z|{|{{{{||||||||zz{{{{z{z{|||{|{{{{z||z{|{|}|}|||z|{{{|{}|{|||{||{{{{{{{{||{|z}||{{{z{z{|{|}}|||{|{|{{{|{||||{|}|{{{{z{{{|{|{{||{{{{||{{{|{|||{}||{{|{|{{}|{{{|}|{{z{z|z||{{|~~}|}}|{{|||{}||}|}{|{{||}{|}||||{|{{{|{{{{|}||||||zzz{{{|{}|{|{|{z{zz{{{{{z|z{|||{zzz{{{{|{{{|{{{{zz{{zz{{{|z|{{{z{z{z{z{{|||||{{z{{zzz{{||{|{{|{z{{{{zz{|||{||{{{z{{zz|{{{{{{z{z{{{{z|zzz{{{{||{|{z{{zz{{{{|{|{||zz{zz{{{{}{}{|{{}z{z{z|{{z{||{{{{|z{z|{{{|{|}||{{{{{|zz||}|||{{{{{zz|z||||{{|{{{{{z{zz|z|{{}{||{|z{{{{|{{|{||{{{{{{{{||{{||{|||{{|{zz{{|{|{||{|{{z{z{{||{{|}||{||{{|{||}||}|}||{|{{||{|}{|||}|{||{{{{||{{|{||||{|{{|z||{z||||||{{|||{|||{||||||{|z{z{z||{|{}}|||z|{z{z{|||{|{{|z|{{{{{||{|{~~}}}~}|}||||}}}|}}||||{{|}{|||}|}}{{|{{z|{|{}|||{|{{{z{|{{{|{||{|{{{z{z{z{}|{{|{|{{{z|z{{{{|{||{{{{{{zzzzz{{|||{z{z{z{z{z{{zz{{|{{zz{z{z{|{|{||{{{{{z{{{z{{{||z|{{{{{zz{zz|{{{{{|{{z{zz{z{{||{{{{|zz{{z{{|{{{{{{{{{{{|{{{||{{{{{|{{{{{z{{|{{{|{||zz{{{{z{{|{|||{|z{{{|{{{z|||{|||{z{{{{z{{{|{{|||{z{{zz{{|||{{}|{{{{{{{{{|{|||||{{{z{{{{{{}{{||}|{|{{{{{{{||||}|||{z{z||{||}||{}|{{{{{||}{||||||}||{{{||||}||||}}{|{|{{|z}||}|||||{{{{{|{{{{|{}|}||{|{{z{|{{|||||{{|{|{{{||{{{{|||zz{|{{{{|{||{{|{z|{{{z{{{|{{~}~~||}||||}}}|}}|||||}||{zz|||{{|}|}{{{{zzz{|||{{{}||{{{{zz{{{z{|{{{{{{z{{zz|z{{{{z{{zzz{z{z{{{{{{zzz{zz{zz|y|{{{{{zzz{zz{{z||z{{|{{z{{zzz{{||z{|{{{z{zzy{{{{{{{|{}{{{{zzzz{|{z{{z|{z{{{{{{{{{{|}{{zz{{{z{z{|{{zz||{z{z|{|{||{||{||z{z{{{z{z{{|{{{|{{{zz{z|{{{z{z|{{{{{{z{{{||{||{{z{{{{{zz|{{{{{{{{{{zz|{{z{{|{||{{{{{{z|z|{}{{||{{{z{{z|{{{||{{|{||{{{{zz{||||||||z{|{||z||||{||{|{{{{{{|||{||||}}{||z|{|{}}|}|}||{{{z{|{{{||}|||{{{zz|{||{||{|||||{z{|{{{||{|}||z|{{|z{{{|||{|{|{{{{z{zz{||||||{{{{z{y{{{{||{~~~~~}~~~~}}}}|{|||}||}|||{|z{{|||{{||}}||{{{{{|{{{|{z{|{|{{{{z{{|{{{{||{{{z{{{{z{|{{{{|z{z{{{z}{z|{{{{{z{{zzzz{{z|z{{||{zzzzz{{z{{{{{{{{{z{{{yzz{z{{|{|{{{{zzzz{{{{{{|{{z{{zzzzz{{z|{|{{{{zyzz{zz{{{{{|{{{{{z|{z{{z{{{||{|zz{{{{{|{{{|||{{{{z{zz{{{|{{{|z{{z{z{{{{||||{{{|{z{z{{{|{{{{|{|z|{z{zz{|{{{|||{{z|{z{{{{{{||}||{{{{|{|||||{|||z{{{|{{{|{}{{|}||{{{{{{{z{{{||}|}{{{{z{{z{||{{|{z|{{z{|||||{|{|||{z{|{||{||||{|||{{{{{{{|{}||||||z|{{{zz{||}||||{zz|{{{|||{||{|}|{|{{{{z{}{{|{||{|{{{{{{{|{|{{{{z{{z{{{z{{||{~}~~|}}}|~|||}}}}||}|{{{{|{|{|{|||~||{{{{{{||||{{|||{{|{zz{z||{|{|||{{zz{{|||||||{{{{zzzzz{z|{{{{|{|{{{z{{zzz{{{{{|{zzz{{z|{{{{{{{{{{{z{z{{{{||{{}{{{{{{zz{{{{|{|{{{{{z{{z|{{{{{{|{{{{zyz{{{{|{||{|{{{z|z{z{{{{|{{|{{{{z|zzz{{||{|{{z{{{{z{{|{|{{|||{{|zz{{z{{||{}|{|{|{|{z{z|{}{||{{{{{{|{{{||{|z{{|{{z{{zz||||{{|||{z{|{{|{}|||||{|{{{|{{{{||||}||{{{{{z}{|{}|||}{|{{}{{{{|{{|||}||}{|{||{|}{||||||{{{{z{|{}||{||||{||{z{||||||||}{{{{{{{}|{{}||}|}|{{|{{|{{|||||{{{{{z{{{{||{|{}|||{{{{zz|{||{|}{{|{{{{{{|{|{{~~~}~~~}}}|~}|{}|}}}|}~||||{|{||||{}|}|||{{{{{||{{}|{{{|{z{{{|z{{|z{{||{{{zz{z{{|{{z{|{{{{{{z{{|{{{{|{{{z{zz{zz{{{{{{|{{{zy{{{zz{{||{||{{z{{{{z{||{{{|{{{{z{zzz{{{||{||{zzzz{{zz|{{|||{{|{z{{{z{|{|{|{{{{{{|zzz{}||{{{||z|{{z{{|||{{{|{{{{{{{|z{{||{{||{{{z{{zz{{|{||}||{|{|{{zz|{|{|z{|z|z{{{z{|||{||{{{{{{{{||||{|{}|{{{{{{{||}|}|||{{{|{z|{|||{|{|||||{|{|z{||||}|}||||{{{{|}||{{|}|{{|{}{|{|{||{||{||z{||{|{||||}{}{|{{|{{|}|||{{||}|{{{{{{{|||||}||{|{||{z||{||}}|z|{||{{{{}|}{||}{z{{{|{z|||{|||||{{zzz{z|||{|~~~}~}|}|||{||}}}||}}|||{|{|{{|||||{||{{{{{{{||||{{{{{{{{{zz{|{{|{{||{zz{{{{|{{|zz{{{{{{{{z{z|{|{{|{{{{{{zz{{z{{{{{||zz{zz{{z{|z{{{|{{{z{{{{z{|{{{{|{|{{{z{|z{|{{|{||{{{{{{|z{{z{{{{{{z{{{zzz{{{||{{{zz{{{z|z{{{z{{{{{{{z|{{{{|{{{|{{{{|zzz{{|{|{z||}z{{y{{z{{{{|||||{{{{zz{{|{||}|{|{{{{{{z{||{z|{|{{{{{{z{|{{|{|{|{{{|{{{{|{|||||||z{{{{|{{|{|{{{}|{{z|{{zz|||{|{|{{z{z||{{||{|{{|}{|{{{{||||{|{}}|{|z{{|{|{|{|{|||}{|||{{{|{|{||{||{|{z|{z{||{{}}|||{|||{|||{{|{||{|z{|{|{{}{{||||}{{{zz{z{{{|{{{|{z{z{{{z{{{{{}}~~~}~}}~||||||}}|}}}||||{|{|{z|{}||||||{{{{{{{|||{|||{{|{z{{{{{||||{{{|{{{{{{z{|{z{|{{{{{zz|zz|z|{z{{{{z{zz{z{{z{{z{|{z{z{|z{z{{||{{{z{z{z{{{{zz|{|{{{{{{{zz{zz|||{{|{|{{{z{zz{|z{{{{|{zzzz{zz{{{{{{|}{zzz{{zzy{||{|{z{{{z|{|{{||{{{{}zz{z{z|{|{{{{|||{{{zz{{{|{|||{{|{z{{{{{|{}{|||z{{{|{{{|{z{}{|{||{|{{{{{z|||||||{{{{z|||{|||||||||{{{{{{z}|{|{||}{{z{||{z||||{||||z|{{|{{|}||{}}|{{{{{{{{{|{{|||||{{|{|{{{}|||}||{{{{{z|{|{{{{{}|z{{|{{|z|||{{{|}{{|||{{{{}{||z||{||y{{{{{|{{|{|{||z{{{{z|}|{|{|{{{|z{{|z{|{{|~~~~~~~}}}~|}}}|||}|}|}|}{}||{|{|{{|{|}||{|{{|{zz{z|{{|{{}||zz{zz{{{{|z||||{{{zz{{zz{|{{||{{{{{z{{{z{|{z{{|{{zzz{{{{{z{{||||zz{{{{z{{{{{{{zzzzz{|{z{{{{{|{{{z|z{z{{|{{{z|{|z{z{zzz{{{zz{{z{z{{yzz{zz|{{z}{{{{{{{{zz|{||{{|{{|zz{z{{{||{}{{}{z{{zzz|{{|{{|{||z{{zz{z|{{{|{{{|{{{z{{{{z{|{||{{{{{{z{z|||||{|{zz{|{zy||{|{{|{{z{{z|||{|{||||||{{|z{{{z{}{|{|}||{z{{{z{||{{|{||}z{{{{{||}|||{|||{{{{{|z{|{}||{{|{|{{{{{|}||||}}{|||{{|{|||}||||||{{{{{|||||{||||{{||{||{|z|||||{|z{{{|||||{||}|{{{{{{{z{{{||{||{z{z|{{y||{{{~~~~~~~}~~}}||||}|}||}{}}}|||{{||{|||{}}}||{{{{z{|{|||{||||{{{z{{z|{{|z{||{{|{{{{{{{{{z{z{|{{{{{{z{{|{{{|{{z{{z{z{{{{{{||{z{{{{z|z{{z|{{|{{{zzzz{y{{{{|{{{{zz{z{{zz|{|{{{|{{{|{yz{{|{|{{{{{{{zz{zzz|||{|{{{{zz{{zz{{z{|||{zz{{{{|z{|{||{||{z{{z|{z{|||||{|z{{{zz{{{||{|||{|{{{{z{z{}||{}{|{{{z{{z{{||}|{|||{{{{{{|{||{||}{{z{{|{|{{|{|}|||{||{}{{{||||||||{{{{|{{{|}{|{|}|{z||{{{{|||}|||||{|{z{{|{|{{||}|{{|{{{{{|}}|}{|{{{||{{{z|}}||{{||{{||{{||||||}{|{|{{{|{z}|{|||||{|{{{{z{{{|{{{|}{{{|z{z{{|||{||{|{{{{{{{||{||~~~~~~~~~~~}}|||{}|}|}|}|}||||{{{{z{|{||}{}z{{zz{{z{||{|{|{{{yz{z{||{{{|{|z{{{z{{z{||z{{{|{zzz{z|z{{|z{|z|{{|zz{zz{{{{{{{{{zzz{y{{||{{{|{||{{z{zzz{{||{{||z{|{zzz{{{{||z||{{z{{{{{|{{{{|{{{zzzzzzzzz{z{|{{{z{{{zzz{{z{{{{{|{{{z{{zz{|zz{}|{{zzzzzz{{{{z{{|{z{{{{zz{||{{|||z|{{{zz{{|z{z|{{|{{|{{|z{{||z{|{|{z|{zzz|||{|{{|{|{{{|{{{|{}|||{{{z{{{{{{||||{|||{{{{{zz{{||||||{{{{|{{{||||||{||{{{{}|{|{||||{|}z{{{|{{||||||{}{{|{{z{{{|}|{}||{z|{|{{{{{}|||{|||{{{{z{|||}|}||{{{z{{{{||||{|{}{{|{{{{{{|z|{||{{|{{{zz{{{|{{~~~~}|~~~~~~}}}|||}}|}}|}~}||{{{{|{|}||{|{||{{{{z{{{|{{|{|{{z{{{{zz{zz{||||{{zz{{{{|{{{|{{z{zzz{z{{z{{z{||{z{{zzzzz{{{{z{{|zzz{{z{{{{{z{{{{zzz{zzzz{{{|{|{{{{z{{{zz{{|{{{{{y{zz{z{{{{zz{|z|{{{z{zzzz{{||{}{{{{zzzzz{{{||||||{{{{z{{||{|{{|{{{{{yz{{{{{{|{|||z|{z{{{|{||{}|||{{z{y|zz|||{|||{zzz{{z{{|{{|{|{{{|{z{{{{||{{{|{{|{{{{{{|{||{}{|{|{{{|{{||{|||{|{|{z{z|{|{|||{{||{z{|{{z|{{|{|}||{||z||{|||{|}{{}{|{{z{z|}||||}|{z|||{{||{|||}|{|z{{{{z||{|{{||||{{{{{{{||||||{||{{|zz{{z{||{{|{|{{z{z{{{|{|{{{|z{{zzy{||{{{{~~||~}}}}~~~}||||}{|{||||}}}{{||{||{|{||||}|{z{{{{z{|||{{{}|{{{{y{{z{|{{z{{||{z{yz{zz|{{z{|||{zz{z{{{|{{{{z{z{z{z{zz{{z{|{{{{z{{{{{{{{{|{{{{{z|z{zzz{{{z{{{|{{{z{yz{{{{|{{{|{z{{{{zzz{{|{z{|{|{zzzzzz{zz{{||{{|z{z{z{{||{||{{{z{{z{z{{{{{|{|{{|{zz{{}{{z|{||z{{{{z{{{||||||}{{{{z{{{{||{{{}{{{{{z{z{{|{z{{{||zz{{{z{{||z{|||{|{{|{{|||||||||z{|{|{{{|||||||}||zz{{{{}||{{||||z{z{{z{{{{||{}{{{{{{|{{{||{|{||}z{|{|{{||||||}|{{{z}z{|||}}|}|{{{{{{yz{|}{||||}||{|}{{|{|||}{{||{|{{{z{{|{{||z|}z{z{{{{{||{{{||{z|{zz{z{|{{{~~}}}~}~|~}~}}{|{||}|}|}}||}}|{{|||{}|}|||}|{|{{{{{{|{||{|||}{{|z{{z{{{{{{{|{z{{{{{z{|{{|{{}|{{{{z{{{|{{{{||{z{{y{zz||{|{{|{{z|{{{{{{{{{{{|{{z{z{zz{{|{{{{||{{{{{{zz|{{{|{||{{z{z{{{}{z|{{|||{{{zz{z{{|{{{{{{z|zz{{{{{{{{{|{{{{z{z{{{|{|{|||{y{{zz|{||}|{{||z{zzzz{{|{|{{|}{|z{||{|{{||{}{|{{zz{{{zz{|{|{z|{||{|{{{{|||z||{||{{{{|{z|||||}{{z||{{{|{||{||||||{z{{z{|{}{}||}{}{{|{{{{}|{||{}|{|{{{{|{||||}|}||{{||{{{||||||}}}{{|z{{{{|}||}||{{{{{|{|}}|||}}}{{{{|{{{{{|}}||}{{|{{|{{||{{|}{|||{|z{zz||{|{~|{|{|zz{z{{{}|z}~~~~}~~~|}|}~||||}{|||}||}}}}|||{|||{{{|}}|||||z{z{{{|||{{|{|zzz{{{{{}|||||{}{zz{{{{{{{{{{|{z|{z{|{{z|{{{{|{{|{{zz|zz{|{|{|z|{{zz{{{{{{{{{|{|{{{|{{z{{z{z{|||z{z{zzz{{|||{{{||{z|{zz{{|{z{{z{{{{z{z{z{|{{{|{{|{{|z{{{|{|{{|||{|z{{{{z{||z||{{|z{z|z{{{||{{|}|z{{{||zz{{{}z|||{{{{|zzz{|||{||{{{{{{{zz{|||{||||{{z{{{|||||{{|{{{{{{{{{|||||}|}{{{{|{}{{{{|||||{|{z{{{z|||}||~||{|{|||{|||||}||{|}z{||{{}{||||||{|||||{|}}|}|}||{|{{{{{|||{|||{}{{z||{{{{{{{|||||{||{z{|{|}{|}}|{{z{{{{{|}||||||{zzzz{{|{|||{|{{{{{z{{{|||||~~}}}}}~~~}~}}~||||{}}}}|}||~|{{{|{|{||}}|||}zz{{{{{{|{||{{|{{|{{|{{{{||{||{|}||z{z{{{||{{{{|{z{|{{z{z{{{{|z{{{z{{{zz|{|z{{{|{|zzy{{z{|{|{{|{|z{zz|z{{{||||||{{{zz{{{|{{{||}|{|zz{z{{z|{{{{{{{{{{|{zz{|{{zz|{{z{{zz{z||{{|{{|{{zzzz{||||z|{||{{|zz{{{{|{|||{|{{{zzzz{{|{|{|{|{||{}zz{z|||{}|{{|{{|{{{|||||||||{z{{z{z{|{{||||{{{{{{z{{||{|}|{{{z{{|{|{|{||||}|{|{{|{{{|||{|{{|{|{|z{{||||}|||{{z|{||{{||}|}}|z{|{{{||||||}|}}{|{{{{{{||{{|||||{{|{||{{|{z{||}|{{{{{z|{|}||{||{{|{{z|{{|{||||||{{|{{z{|{{{{{|{{{|{{{{{|||||~~~~~~~}~}}}~}|~}}|}}|{||}||}|}}|{{{{|{{|||{|}}}||}{{{{{{|{|{|{|{{{|{{|{{|||{||||z{z{|{{{{|{{{{{{{{{{z{{{{|{z|{{{z{z{{y|{{|{{{{||{{|{{{{{||||{{}{{{{z|z{z{{{|||z{|{zz{{{{|{|{||||{z{{z{{{{{z{{{||{{zz{z{z||||}{{z{{z{zz{{|{||z}}|{{{z{||{|{|||{||{{|{z{{|||{{}|}|{{{z{{{||||}||{{z|{{z{{{{|{{{|{{{{z{{{{{|||{|}{|z{{z{|{|||{{|||||{{|{{{||{||{z{{{{z{{|{|{|{|||}|{{{|{{{||{}|{{||{{||{{{||{}{||||z}{{|{||||}|||{{{|||||z{~|}}{}||||{{|z{}|||{|}|}{|{|{{|{|}{{|~}||{{{{|{||{||}|||{{zz|{{{{|{|}|||{{{|z|{|{|{{{|||{{{|z|z{{||{~~}}~~|~}~|}}}||}{}||{||||{}|}|{{{|{{||{||||{||z{{z{||{|||{|{||{{z{{{z||{{{|{zzz{{{{{z{|{zz|{{{{|zz{zzz{|{{{z{{{{z{|{{{zz{|{{{{{{{{{zy{z{{|{|{{zz{|{z{{{|z|z{|zz{{{{z{|{{|{{||{{{{{z{{{|{{z|{{{{zzz{{z{{{{{|{|{{{|{{{{|{{|{|||{zz{{z{z{|{|{||||zz{z{|{{{{{{|{{{{z{z{zz|{|{|||||||{|z{|||{|{|{|{z|{{{{{{|||{}{{{{|{{{{{|||{|||{|z{{{|{{{{|}}|}|{|{{{z{z}{{|{|||{{{{{{{{|{|||{|||{{{{{{z{||{||}}||{|{||{|||{|||||{{|{{{{||}|||}|}{||{{{{|||{|}||{{{||z|||||||}||{{{{{|{|||{}|||}|{{{{|{z||{|{{}|{|{{{{|{|}{{{||{|||{{{{{|{{{|~~~}}}}}~~~|~}}||}||||{||{}}|}}|}{|{{{{|{}|||{||{{|zz{{{|{|{{||{{{z|z{z{{{}{||{zy{{z{{z{{{{{||{|zzz{{{z|{|{z|{{{{z{z{zz{{{{z||{{{zz{z{{z{{{{|{{|zz{zyzzz{|{|{{{z{|zz{zzz{{{||||{z{zzzz{|{}{z{z{{{z{{{z{z|{|{{|{{{z{{{z{z{{{{{}||z{{{{{{{{{{{|||{z|zzz|{{{{||||{z{zzzzz|{|{{||{|z{|zzzzz{}|{||{{{|{{{{z{{{|z{{{||{z{{zz{{||{{z{}||{{{{{{|}|{||{|{zz{{||{{{|}||{}{{{{{{zz||||||}z|{z{{|{{||{|{|||{{{|{{|{}{{|||||||{|{|{||}|||}}||{|{{{{|||}{}|{|}{{{{{z{{}{}|||}||{{|{{||{||{|{|{{|z|{z{{}{||||{{|{{|||z|{||{||||{{{{{y{|{{{|~~}|~}}||}}~~}}}}||}|{{{|}}}|}}}}|{{{{{}{||{|{}{|{{|{{{{{{{{|{}||{{zz{{zz{{{|{{{|{{{zz{{{{|{|{|||{z{{z{{z{{|z{{|{{{zz{zz{{{{{{|{{zy{{{z{{{{|{{|||zzz{z{zz{z{{}{{{{z{zz{zz{z{{z{|}z{z{zzzz{{z|z|{{{{y{z{zz|{{{{|z{{{zz{|{z{{{{{{}{{z{{{z{{{{||{|{|{z{{{{z|zz{|{{{|z{{zzz{{{|{||{||{z{{z{{{{|{{{|z{{|{{{{{z{}|||{|{|{{{{{||{||||}||{|{{zzz||{||||}|{{|{||{||{{|{{||{{{|z{{{|||}||||{{|z|{{|}||||||||{|{{||{{|{|}||||{{{|{{{|||}}|||z|{z{{{||||||{}{|{{{|z{{|{|||{{||{{{||{{{|||}||}||{z{{{z|{|||||}{}{|{{|z|||}z||||{{{|{{|{||{|~~}~~}~}}}}~}}~}}~}|}|}{||}|}|||{||{{{{z|{{||{}||{{{{{{{z{|{|{|z||{{{zzz{z{|||z{{{{{{z{{{z{|{{{||{{{{zzz{z{{{{{{{|{{{{z{{zz{{|{|{{z{{{z{{{{z{z{|{{{z{{yzzz|||{|{|{{{{{yz{{||{{{{{{{{z|{z{z{{{{{{{|{{{z{{{zz{{{{{}{{{|{{zzy{z||{|{{{{{{{{{{{{|{||{||z{{zz{{||{{|||}{z{{zz{{{||||z|{|{|{{{z{z|{{{|}|{zz{zz{z|||{|{{{|{{z|z{|{{{{|||}|{z{{z{{{{||}||{{zz{{{|{|{|{||}|{{|{{{z{||}|||}||z{z{|{|}|{|{|}}{{|{{{|{{|{|}{{||{{{z|{{{|{}}||}|{|||{{||||{|||||{{{|{{||||{|||}{{{|{{{||{{|||||{{{{{z|{{|||{||{|{|{{{{{||{||||{{{|{{{{{|{||{}~~~|}~|}~~}~}}|}}||}}|{|}||}}|}~{||{|{z{{|{|{|||{{{{{{{{{{|||{||{|z||z{{{{|{{{|{yz{|z{z{{{{{|||{{|{zy{z|{{{{{{{{zzzz{zz{z{{{|{}zzzz{{{{|{{{||{{{z{{{{z||{{{{||}{z{zzzzz{{|{{{||{z{z{|{y{{{z{{{||{{{zzy{z{{{{|{{zz|z{{zyz{{{z{|}{{{{{{{z{||{||{{z{{zzzz{|{|{z|||{{{{zzzz|{{||{{{{|zz{z{{{|{|||||{{{{{{{z{|||{{|{{{{|z{z{|{{{|{{{{{{z{{{{|{|||||{{{{{|{}|||{|||{}{||{{{{{|{|||||{|{y{|{{{{||{|}||{{|||{{{{||}||}||z{{{|{|{}|{||}||{||{{}{|||||||||{|{|{{{{|{|{{}}|{|{{{|||||{|}{||{zz{zz{|{}|||||{{{|z{{z||{}|||}{{{{{z{z{|{{{~}~~}}}|||}||}}|}}}||||z{{|}{||||||{{{z{{{||{{}{{|{{{{{{{{{|{}{||{|{{{z{{z|{{{{|{|{|{{{{{zz{{{{{|||zzzzzzzz{{zz{|{{{z{y{z{z{z|{{{|zz|{z{zz{|{{|{{{{zzzzzz{{{|{{{{{|zz{zz{{|{{{{{{z{{{z{{zy{z{{z{{|{|{yz{{zz{{z||{{{z{{z{{{{{z{{|{{{{z{{zzz{{|{{|{{{{{{{zz||{{||{||z{{{zz{z{|{{{|}{{{{{{z{{z{}~z{|||{{zyzzz{{|{|{|{{{{{|zz{|}}{{{|{|{|{{{{{{|{|||||{||z{|{{}{||||}}{{||{{{{|||||||{{{{{{z{{|||{{|||{{{||{|||||{|{|||||z{{|{{{|||||||{|{{{{||{|||}|{|{{{{{{||||||||||{|{{zz{|{{|||{{{|{{{{{{|}}||}|{{{{|{{{{z{||{{|{{{{z{zzz{||{{}~~~|}}|}}|}}~}|}}}|{{|||{}}|||}||{|{{{{{||{{||}|||{{|{{z{{||{{||||{{{z|{z{z}{||{|{{{{{|zz{|{|{{{{{{{|{{z{{{{z{{{{|zz{zzz{|{{{{{{|z{|z{{{{z{{|{|{z|{{zz{z{{{{z|{{{{{{{z{z{{{{{{{|{z|{|{z{z{{{z{{{|{{zzzzzz{{{{|||{{{{z{{zz|{{{{||{{z{z{z|{{{|{{{|{z{||z{{{{|{{||{|{{{{{z{|{|{|{||{{{|z{{z{z|||{|||{{{{z{{{|{{{{|}{{{{{zzz|{||||{|{{{{||{{{{|}|{||||z{|{{{|{||||}}}|{z|{{{z|{||{|||{{|{{{{||||||}}}|{||{|{||{{|||}||{|{|{{}||||{|{||{|{{|{z|{{|||{|{|{{|{z{|||{}||||{{{{{{{||||{||||{{z{{|z||}||||}|{{|zzz{}|{}z{{{{{|z|{z{{|{{|~~~}|}}~}}}}}}~~}}~~}{{|}|}}{}}}||~}{|{||}{|{{{|||}}{}{z{{{z|||{{|{|z|{{z{z||{||||||{|{{{{{{||{{{{|{{z{z{zy{{{|{||||z{z{{y{|{y{||{{zzzzzz{z{{}{|||{{z{{{{z{{{{z}||{{{{y{{{{{||{|{||{zzzz{{z{|zz|{{}{{|{z{{z{{z{{|||{z{z|{|z}{{{|{|{{{z{{{{|{}}{{}{|zz{{{z{{|{{{{{}||zzz|{zz{z||||||{|zz{z{{{|{{|||{{{{{|{|z|||||}|{{{{z{|{}{|||{|{|||{z{{{{{{||{|}|{|{{|||||||}}|{|{{||{{|{{||{}}||{{{{{|{{}|||}|}||||{{|{{{||||}|}|{zzz|||{}|}|||{|{|}{{|{|||}|}~|||{||{|{|{{||{}||{|{||{{|||}|}}|{{|z{{{||||}|||}{{{{{|{{|}}}{|}||{|{{{{{}|}{{~~}}}|||}||~||}|}|}||||{||}}|||}}{||{z{z|||{{|||{{{{z|{{|{|||{|}|{z{{{{{{||{z{{{|{{z{z{zz||{{{{{{{|z{z{z{{{|z{z{{{||{z{zz||{{{{{|{{zz{zz{{|{|z{|{{{{{{zz{{}|z|{||{z|{zzzz{|{||}|{{{{{{z{zz||{{{{|{{{zzz{{z{{{|||{{z{{{{z{{{|{{|{{|zz{{{{{{{{z|{{|{z{zzz{{}{|{{|{||{z{{{{{{{{{|||{z{|{|{||{|}{|{{{{z{z{{|z{|{{|{||{{{{{|{{||z{|{|||{||zz{{||||||{|{{{z{z{{}|{}{}||{{|{|{z{{|||||}||{{{{{{{{||{||~||{{{{{{{{|||{|}||{{|{|{|{}{}||||{{||{{||{||}|}|||{{{|{{||||{||}{||{|||{{{|||||{}|||{{{{|{|||{||||{{|{|{{{{|{|{|{{{{{z{|z|{|}z~~}}}}|}}|}}}}}}~|}}{|{{{{{|}|||||{|{{z{{{z{|{{}||||z{{{{z{|{|{{{{||{z{{zzz{|||{||{{{{zz{zz{{{|{|{{|zzzzzzzzz{{z{|{{zzz{zz{z{{z{{|{z{|z{z|z||||z||{{{zzyzzz{||{{||{{{{zzzyz{{{{|{zz{{z{zzz{zz{|{{||{{zz{zzzz{zzz{z{{{z{{zzz|||{||{|{{z{{zz{{|{{|{{{{z{{zz{{{{{{{||{z{{z|yz{{{|{z|||{zz{z{{z{z||{|||{{{{z{{{{{|{{{|{{{||{{{z{{{z{{|{|{{|{|zz{|{|||{{z{{z{{{|||{|{{||||{{{{z{{||{|}|{|{|z|{{{{|{||||{|z|z|{{{{{||}}}||{{{{|{|{|||||}}|||{|{|{|{|{|||{|{{{|{z||||{|||||{{{|{{z|{{|||}}{||{|{|{||{|||||{{{{{{{{||{|{|~||{{z{{|z{z{|{~|}~|}|}||||}}}|||}}{|{|||{{||{|}|}|{{z{{{{{{{|{{|{zz{z{z{{z|{|{|||{{{zz{zzz{{|{{{{z{{{{z{zz{{zz{{z{{zzzzz{{{{z{{{zzzzzzzzz{{{{{{{{{{{y{zzz{{z{{zz{z{zzzz{z||{{{{z{{z{{z{zy{{z{{{|{{{zzzz{z{{zzzz{zz{{zzzzz{{{{{|{{zzzy{zzzz{{||{{|{z|z{zzz{{|z{{||zz{{{{{{{{{{{|||{z{{zzz{|{|z{{{z{{{zzy{{{||{{{{{{{zyz{{z{{}{|z|{z|y{{{{{{{|z|||zzz{|{zz{{{|||}{|{z{{{{{z|{{|{{|{zzz{{z{{|{|{|{{|{z{{zz{z||{|{||{{z{{{{{{{{{|}{|}}{{{{z{{||{{|{}||{{|{{{}|||{|||{}{{{|{{|{{{{{||||{{{{{z{z||{{{|||{{z{{{z{{|{||}{{{{{{{zz{|{{|{}{{{zzzzz{{z{|{~}}}}}}{|{||}||}{}|||}{||}z|{|{||}||{{{{{|{|}|{{|{|{z{z{z{{{{{|{||{|zz{yz|z{{||{{||{z{{{{zz{{{{z{|{{z{z{{zz{z{{{|{{yzyzzzzz|{{{{{||z{{zzyzz{|{z{{{{{|z{zzyz{{{z|||||z{{zzyz{{{{|{}|{{{z{zzz{{{{{z{{{zzz{z{y{{{{|{|{{z{z{{zzz{||{||{|zzz{{{{{{|{{{{|zz{z|{z{{||{{|}||z{zz{{{z{{z{{||{{{{{z{{{{}{|{|}z{{z{z{z{{{{{{|{{|{{{zz{{{|{{{{||{{{{{{{{{|||||{{{{{{z|{{|||{|||{{|{{{zz{{|||||||z{{{{{{||{||||{{{{{{{|{|{|{}|}|{{{{z{||{||{||{|{{{|{||{|||{|||}{{|{{z{||{|||{}|{{zz{|{{{{{{||{}{{{{z{z|{{|{{||{|{z{|{{{{|{|{|{|{|{z|{{{z{|z{||~}}||||{|}}}}|{||{}{|{{{|{||||{{||||{{|zz{|{{{|{{{z{{|yzz{{{{|{{{{z{zz{{zz{{{{|{|{z{z{z{z{{{zz{{{{{{{zzzz{z{{y{{{{z{z{zz{{zz{{z{zy{z{z{{zz{{z{{{|{{zzzzy{{z{{{|{{{{{zz|z{{{{{{{|{{{zz{zzzzzyzz{{{|{{z{zzzzz{{{||z{zz{z{{zz{{|{{||{z{z{zzz{z{{{{}{{{z{{z|{{{{|z|{{{{{{zzz{{{{{{{||{{{{zz{z{{{}{{{|{{{z{zzz|{{{{{{{{{{|{zz{{|{|z|{|{{z{|{{z{|z{|}||{{{{{|{z{{{||||{{{{{{z{z|{}|{|||{{z{{z{{|{|{|{|}{{{{{{{{||{||}||{z{{{{z{{|{{}{{|}{{{{z{{{|||}{|||{{{{{{z{{{{||{}{z{|{|z{{|{||||}{{{{zz{{{|{{{|||{{{{{z{z||{{|{{|{zz{zzz{{|{||}}}}}||{{|{||}{}{|}|{{|{z{|{|{{}||||z{{{{{z|{|{{||{{{{{{z{{{{{|{{|{z{z{zz{zz{{|{||{z{{z{z{yz{zz{{{z{zz{zzzz{y{zz{{{zzzzzzzz{{zz{{{{yzzy{zzzz{z{zzz{{zzzzzyzz{zzz{z{zzzzzz{z{{zz|{{{{yz{zzzzz{{z{{{zyzzzzyzzy{zzz|{z{zzz{zzzz|{{{{{|zz{z{zzz{{|zz}{{{{zzzzz{{zz{zz|{z{{zz{zz{{{{{|{|{zzz{zzz{{|{z{{{{z{y{zzz{|{|{z{{z{{{z{{z{{{{{{|{{{{{|{{|{||||{{|zz{{|{{{|{{|{}||{{z|{zz{{|{{|{{{|{{{{{|{{|{{{|{{{z{{{||{{z{|||{||z{{{{{|{|{}{{|{{{{{{{{{||{|||||{z{{}zz{z{{{||}|{{{{|{{{{}{|{|{{z|{{z{z{|{{|{||{{{{z{{{z{z{{{z{{{y{zzzzz{{{z|}~}}||}}|||}{~{|{}|{}||{{{||{{{|{{}|z{y{{z{|{|{{|{||{|{z{zz{{||{{{{{|{{zz{z{z{{{|{{|{|zzz{{{|{{|||{zz{z{zzz{{{zz{|{{zzzzzzz{{{{{|z{{{{zzz{{z{z{z{|{}z{zzz{z{{{z||{{{y|{{z{{{{{|{{|{{zzz{{zz{|{{{||{zz{zzzzzz{z{|{||{zz{{{z{{z{{{{||{z{{{z{{{{|{|{|}{{{{z{{{z{}z{||{zz{zzzz{{{|{|{|{|{|{z{{{{z{{{|{y{{zzzz{z|{{{{{||{z{|{zz{|{{{z|||zz{{|{{{{}{||||}{{|{{{{z|{{|{||||{{{{{z|{{|||||{{{|{{{{z|}{||{{|{{{{zz{{z}{|{||{|{{|{{{||||{{||||{{|{|{|||}{{||||z|{{{{{{{|{|||{}z|{|z{{||{|{{||{{{z{{{{{|||{{}|{{z{z{{{{}|||{{{{{||zzzz{||{{}~}|~}{||}{|}||||}|}|{|z|{{|||||z{{|{z{|{{||{{|{}{|z{z{{z{zzz||z|{{{{{z{{{{{{||{{{z{{{z{{z{z|{{{{{{{{z{{zzzz{{{{{{z{z{yzz{{{{{{z{||{{z{{z{{zzz{{z{{|{zzz{y{{z{{|{{{{{zzz{z{{{{{{{|{{{{z{z{zz{{{z{|{yz{{{zzz{|{{z{{{{{{z{{{{z{{|{{|{{zz{|{zzz{z{{{|{{{{zzz{{{{{zz{{|{{zzz{{{{{{{{|||{{{{{zzzz{|{|{{{{{{{z{z|{||{{|{{|zz{z{{z|{{{{{{}{{z{{{{||{}||{{|{|{{{z{z|{||{}|||{{{z{z{||||z||{|z{|{z{{||||{{{{|{{z|{|{{{|{{{{||{|{z{{{z{|{|||||{{|{{{{{||||{|||z|z{{z{||}{|||}{|{|{zz|{{{|{{||{{zz{zz{{{{{{|{||{z{z{{z{}||{z|zz{{{zzz{{|{{{}|}|}{z|{|||}}|}||}|{{{{z|||}{||{||||{{{z{{{{||}|}|{{{{{zz{z{{{{|{||{{{{z{{{{{{{|||zz|z{{{z{{{{{|||zz{{{z{{{||{{||{{{{z{zz{z{{|z{{}{zzz{{z{z{|{z{{|{z{{{zyz{{|z|{z{{{zzzz{zz|||{||{{{{{{{{zz{{z{}{{zzz{{{{z{z{z||{{zz{|{zzz{|||{{|{{{zz{{{{{{{{{zz{{z{z{{|{{|{{z|z|z{{{zz{{||{{{{||z{{{{z{{{z{{|{||{|{z{z{{||{|z{||{{|z{{{{{{{zz|{|{{{{||{{{|||||{|{{{{|z{{{{{||}||||{{{zz{||}{}||||{{z|{{z{|}{|||||{{{|{{{{{{{||{{|{|{{|{z{}|{{|||}z{|||||}{|{|||{|||{|z{{|||{{||}{|{{{|{{|{{|{||}{|{{|z{{|{{{{|{{|{{{{{{z{|{{{||{{||z{z{{|{|z{}|}||}{}}{|{}}||}||}|{{{{zz||}|{|}||z{|z{zz|{|{{|||{{|z{z{{{|{{{{|{|{{yz{zz||{{|{{{{{|{{z{z{{|{z{|zz|z{{{yzz{{z{|{|zz{zzzyz{{{z{{{{{zzz{yzzzz}|{|{{{zzzzyz{z{|{{|{{{z{{{{zzz{{{|{{|{z{{{{{{z|{z{{{zzyz{{{{z{{{{z|z|zz{z{{yz|{|}{{|{{zz{zzz{{|{|{||}{{{{zz{z{z{{{{z|{{{z{z{{|{{{{|{{{{{{{z{{{|}{|||||y||{{z{{|{{{{||z{{z{y{{|{|{{||{|z{{{{|{{|}||||{z{{z{|{{}{|}|}{|{{{|{{{z|}|||}|{{{{{z|z{|{{|||}|{{z{|{{{{|||{|||}{{|{{z{||}}||}|{z{{{z|zz||||||}{{{{z{{||{{||{}|{{{{|{{{|{{{}|||{{zzz{z|{{{|{|{|{|{z{z{{|{||{{|{{z|{z|{z{||{|~|}||{|||{{||}||{|{||{{{z|||||||||{|{{{{z{{|{|{{{{{{{{{y{|z{||{|{{||{|zz{zz|{|{{|z|{z{zz{zz{{z{z|{|zzz{zzzz|z|{z|{|{{zzz{{z{{{z{{{{{z{z{z{zzz{{{z{{z{yzz{z{{{|{{{{{{z|{z{{zz{z{{{{{z{z{zz{y{zz|z|{{{zz{z{{zz{zzz{{|{{{zzz|zzz{{z{{{zzyz{zz|{{{{{{||{z{z{{{z||{{{z{|{{{zz{{z{{|{{{||{{zzzz{{{{|{{|{||{z{zzz{{{{{|{|{{{zz{z{z{{{{z|||zz{z{z{{{{{}{}}{z|zz|{{{||{{{||{{{z{|z|z{||{||}|{{{z{{{z{|{{|}{|{{{{{{|}|{|{{|}||{{|{zz||||||||||{|{{{|{}||||{||{zz{{{{{{{|||||{|{zz|{|{|{{||||||{{{{{{|{{{|||{{{{{{z{{z|{{||z|{{z{z{zz{z{|{{~}}|}{|}||{|}|{||||}|{{|{|z{|{{|}|||{zz{|{{z{|||{{|{zz{{zzzzz{|{{{{{z{zzyzz{z{|z}z{{z{{{z{{z{{{z||{{{zzzzzz{z{{z|{zzz{{z{{zz{yz{{|{zz{{{{{z{{{|{||{zzzz{zzzz{{{{|{|{zz{{{zzz{{|{{{{|{{{{zz{{{{{{{z{|{zzzzz{{{{z{|z{z{{z{{{z{{|{{{|zz{z{z{zz{|{{{||{{{{z{zz{{{{{{|{{zzz{{z{z{{{||{{|{z{z{zzz{{{z|{{{{{{z{{z{|{|}|{|{|{y{zzz{{{|{z||{{z{{{{{z{||{{|||zz{{|z{{|}{{{|{||||{z{z{||{{|{|{|{{{|{zz|{{||{}{{{{|z{|{{|{{{{}{|{{{z{{z{|||{||{{{|||z{z{{{{{{}}{{{|{{{{{||{z|{|||z{zzz{{{{{|{||{{zzz|{z||||||||{{{z{{{{{|{{|{{{{{{zz{{z||{|{||}||{|{|{{{}|{~{||z{{{{{{{|{|{||{|{{{{|z{{|{z{||{|{{z{zz{{z{{{z|{{{{{zyzz{{{{{|{|z{z{zz{{z{{z{{|{{{z{{zz{zz|{z{|{z|z{yzzzz|{{z{z{{zzzz{{zz|{z|{{{{{yy{{{z{z|{z{{|{{zzzzzzzz{{|{{{|{zz{{zzy{zzzz{{{{zyz{z{z{z{{z{{zzz{zzz{{{{{{z}z{zz{z{y{|{z{z{{||{z{{z{{z|zzzz{{|z{zyzzz{zz{|z{{|{{zz{{zzz|{{|{{{{z{{{{y{{{|{{{{|{|z{zz{{{{{{{{{|{{zz{{|z{{|}||||{{{z{z{{||{{{||{{{{{{{z{{z|{|{{{|z||{{{{||{{{{|{{z{z{z{{||{|{{|{{{{{{|{{{|{||}||zz{{{z{{|{{{z||z{{{zz|{z{{{||{||{{{{{{zz|{|{{{|||{zzz{{|{{|{||{{{|z{z{zz{|{||{|z{{{z{{zzz||{{||}|||{{|||{|}}||}{{{{{z{|z|||{{|||{z{z{{{z{{z||}{|{{{{zz{z{{||{{|{{zzzz{zzz{{z||{|z{{zyz{{zzz{{{{{{{zzy{{z{||{{{{|{zzzzy{z{|{{|z||{zzz{zzy{{{zz{{{z{z{zz{z{z{z||{{{z{zyyy{{{{zz{|{zz{{{zzzz{{{{zz|{{zzz{{z{{z{{z{|zz|zz{zz{{z{{z{{z{zz{zz{{{{{|||{zz{y{z{z{{|{{z||{{zzz{{{{{{{|{{{{z{{{zzzz{{|{||{|{{zz{y{{||{{{|{{{{{zzz{{|{{{{{|{{z{zzz{{|{|{|||{{|{z{{z{{{||{{}{z{{{{z{{|{||||{|{{{{{{{{}|{|||{{zzz{|{{{||||||||{}{{|{{|{{|}{||{||{{z{{{{||}|||{z{{|{{{|{{{{|||{z{z{z{{|||{||{|{{{{{{{z{{|{{{{{{{z{{{{{{{{||{{{{{{z{{zzz|{{{}}|}{{|z||{||}{{|{|{{{{z{zz|{z{{|{|{{{zz{z{zz|{{{|{{{{|zzz{z||z||{|z{{zyz{y{|{{{{{{{zyz{z{zz|{z{{{{z{zzzyz{z{|zzz{|zzzzzz{z{|{{|{||{z{zzzzz{{{{z|{{{zzzyzzz{{|{{{{|z{zzyzzxzzzz{z{{z{z{z{{y{z{z{{z{{{zz{zzy{{z{z{{{zz{zzzyz{{{|zz{{|{{z{y{z{{{{{{|{z{{zzzzzzz{{{|{{zzzzy{zz{{{{{{{{|y{{zyz{{{{||z{{{{{{{z{y{{|{{}|{{{{{z{z{{{{{z{{{|{{{|z{{{{||{|{|zz{{{{|{||{}{{{|{{{{|{z{{{|z|{{{|{{z{{|{|{||{{||{{{{zz|{|{|{||||{z|zzz{{{}|}{{||{{{{{{{{{{|}|||{{{{zzz{z{{{{|{|{|{z{{|{{|{{{{{||zz{{zzz{|{z{{{|{{zz{{z{zz{|}{{|{{{z{{z{z{{{{{|}|||||||{|{}|{|||||{{{z{{{z{||{|{|{{{{{zz{|{|{{{}{{{{zzzz{{{{|{{{||{{{y{|zz{{|z|{{{y{z{z{zz{{{{{|zzz{zzz{{{{{{{{{yzyzz{zyzzz{{{{{zzyzzzz{{zz{{zz{{{zzz|{zz{{{z{|{|{{{{zzzz{z|{|{{{{zz{zz{zzz{zz{|{{zz{{{zzzz{z{{|z{zz{{z{zy{{{|{{{z{{zzz{z{||{|{z{{z{zzy{{{{{{|{{|{{{{z{{{{{|{|{{z{z{z{{zz{|||{||{{zz{{{z{{|{|z{{{{{{{{z{|{|{|{|{|{{{z{z{{||{|{|{{{{z{{z{z{|||{}||{{z|{{yz{{{|{{|{{{z{{||{||zz|{||{z{{||{{z||||{||{{|{{z{{|||{{{{}|{z{{{{{|{||||{{|{{|{{{|{{||{{||{{z{{{{{||{{z{|{|{|z{{{{zz|{{||||{z{z{{z{|{{{||{{{{{zz{z{{||{|{|{{|{|{{{{||||{|||{{{{{{z{{|{{||{{|{z{{{z{{{{{|{||zz{z{zz{{|{{||z{{|zz{{z{{{{{{z|{{zyzz{zzz{{{||{{{zz{zzz|{{{{{{{zz{yz{zzz{{{{{{{z{zzzzzzzz{{z{{{zzz{zzyz{z{{{{{zzzyyzzzyz{{zzz{|{z{{yzzz{z{{z|{{{{yzz{zzzz{|{{{{{zzz{{zz{{{z{z{|{z{z{zz|{z{zz|{|{z{zzz{z{{{{z||{{{{zz{zz|{{{{{zz{{{{{z{z|||{{|{{{z{y{zzzz{}{{||{{z|zzz{z{||{|{{z{zzz{{zz|||{{|z|{{{z{{{{z{{||{|{{{{{{z{z||{{{{{|{{zzzz{z{|{{{z|{{z{{{{|z{|{||||||y{{z{{{z|||{|{||{{z{z{{{|||{|||{z{{{{{z{{|{|||}{z{{{{{||{|{{||{{{{z{{{z{{{{{||{|zz{zz{z{z{{z||{zz{{{{z{{{{{|}}||{{{z{{|{{|{}||||z{z|{z}|{{{{|{}{{{|{|z{{{{|{{||{{|{zzz{|{|{{{||{z{{z{{{{|{|{{z|{{|z{{zzz{{{z||{{{{{{zyzz{{{z|z{{zzzz{z{z{z{zz|{{{{{{z|zz|{{y{|{z{{{z{y{{{{z{{{{{zzzy{{z{{{{{z||{zzzzz{z{{{z{{{{{z{{{{zyy{|z{{|{{{zz{zzz{|{{|{|{{{zz{z{zz{|z{{{{z|zzzz{{{{|{|z{{z{{zzz{z{{{{{{{{{{{z|z{z{{{|||z|{{{z{z{z{|{|{{}{{{{{z{|z||{{{|{{z{{{{{zz{||||{{{{{z{{z{{{{{|||{}{{{{{{zz{|{|{||||{z{z{{z{}{|{{}{{{{{||{{{|||{|{||{{{z{z{|}{||{|||{{{|z{{}{{|{{{{{z{{|{{|||{||||{{{y|{{{{{|||||}{{{zzz{{z{{{||||{{|{{z{{z{{|{{{{{{{zz|z{{z|{||||}{|{z||{{||}{|}|||{{|{zz{{|||||||zzzz{{{{{{{|{{|{{z{{y{zz{{{{z{{{z{zzzzzz{{{|{|{{{{zz{z{z{{|z{z|z{z{yyzzz{{|{{{{{zzzzzzz{{zz{{||{zz{zzzz{z{{z{z{z{{z|zzzz{{}z{{{{zzz{z{zz{|{{{|||{zzz{zzyzz{{{{|{zz{{zz{zz{z{z{{|zz{{{zzzz{{{{z|{{{zzz{z{{{{{{|{{z{{yzz{{z{{{{z{{zzzz{{{{{{|{{{{{{zyyzzzz{|{zz|{|zz{{{zzz{|{{z{|{{zzz{zy{|{{{{{|{|{z{{{{z{{{||{}{z{|{|zz|||{||{|||z{zz{z{|{|||||{{{z{z|{{{{||||}}{{{{{{||{{}{||||{{{||{|z||||}|||{|z|z|{{{||{{|||{z{{{{{{{{{|}}{|{{{{|zz{{|{|{|{||{{z{|z{{{|||{||{||{z{|zz{|{{|{{{z{zzz{z{{{|z|{||{{{|{{{||{}}|}|{{{{{{|{{{{{{|}}{{{{{{zz{{z|{|{{z{{|{z{{{{{|{||{zz{{z{{z{{{{||{{{zzzzz{{z|{{{||{|{zz{y{z|{{z{{{|z{{{{{{{{|{|{{{{yz{{{zzzz||{{{{{{zz{{{z{{{z|{{||{z|z{zz{{z{{{{||{z{{{yzz{{|z{{{|{{{{{z{zz{|{{||z{z{{{{{z|{z|{{|{{z{{{{{{{{{{{{|{{z{{{{{{{|{{{{{|{{z|z{{z{{{{z|{||{z{{z{{z{{{{{|{|z{{{z{||||{{||||{zz{zz{{|{{{|||||{{{{z{{{{|||||z{|{|{{z{|{}{|{}{||{{{{{{|{{|||{{{{{{{|y||{|{||||{||z|{{|||{|||}|z{{||{|{|{||{|||z{|{{{||{||{||||z|z|z{{z{{{{{}||{{{{{{{}{{||||{{{{z{{{{{|{|||{|{{z|{{{{{|{}{{||{{{zzz{z{|{{{|||{{|{{{{{z{{|||}||{{{{z{{{|{{|{|{|{zz{{zz{{{{|{{{{{zz{{{{{{{{{||{{{{{zzzz|{{{z|z{{{zzyzzzz{{{{{{{{zz{{{z{z{{{z|{{zzzzyzz{{{z|{|{|{zz{zz{zz{z||{|{|zzzzzzz{{{z{{{{zz{{zzzzz{|z{{|{z{z{zyzzz{z|z|{{z{zz{zzzzzz{z{|{z{{z{{z{z{z{{{|{{z{z{zzz{{{{{|||zz|zzz{{{{{z{|||{{{zzzzz{{{{{|{{{z{{|z{z{|{||{{{|zzz{zz{|{|{z{|{zz{{{{{{{{{z{|{||{{{{{z{{|{{|||{z{{{{{z{|z|}z||}{{{{{|{{}|z{||{|{{{{{z{z{||{||}|z{{zz{{{z|{{{|{||{z{z|{z||||||}||{{|{z{{|{||||{|{{{{{zz{||{{||||||{{{|z||{{{|||{{{{{z{{zz{|||||{{|z{zz{{{{|||{|{{{{{zz{z|{|{{|||{|{yz{{|||{{|{||{|{{{z{{{{||{||{{z{|zzz{{{z{{|||{z{{zz{{{{||z{|{{|{zzz{{z{z{{{|{{z{zz{{y{{{{z|{{{zzzz|{y{zz{z{{{zzzyzzyz{z{{z|{zz{zz{zzz{z{z|{|{z{{zz|y{{|{{{|{|zz{zyz{{{{|{{{||{zzzz{{z{{{{{{{{{{{zz{z{zz{{{{{|z{{z{{z{{{||z{{|{zzz{zz{{{{{{{{{{{{zzzz|{z|z{|{{zz{zzy{|z||{{{|{{{{zzzz{{{{{||{{{z{z{{{{{{|{{{|{{{|{{{{{{{{{{{{|{{{{{{{{z{||||{|{{{{{{z{|{{|}{{|{{{{{{{{{|{||{|||{{{{z{{{|{{{{||z{{{z{z{{{|{||||||{{||{{{}{{{{{|{{{{zzz||{{{{||||{{{{{|{{|z||{{}z{z|{{{{{|z|||}|{{{zz{z{|{{{||||{{{z{yz{|}{{{{||{zzz{{{z{{{{{{|{{||z{z{{|{|}{|||{{{|zz{{{{|{z{||z{zzz{{z|{|||{{|{z{{{{{z|{{{z{|{z{zzz{{z{||{|||{{{z{zzzz{{{{zz{{zz{{z{{{z{{{{{|{zz{z{{z{{{z{{{{|{{{zzz{z{|{{z{|z{z{zz{zz{{|z{{{{{z{{zzzz{{{{{{{{{{{z{z{zz{zz{|{z{{z{zz{zz{zz{|{|zzz{zzz{{{z{z{{|zz{zzz{{{{{|{z{{{z{zz{z{|{{|{|{yzz{zyz{z{|{zz{|{{z{zz{{|{{||{||{|{{z{{{z{{{{zz|{zz{{{zz{{|{{{}||{{{z{z{{|{||}z{|{z{{|{{|{{{|||||{{z|{zz{|}{|{|||{z{{{z|{{}|{{||{{{{z{|{|{}{{|}|||{z|{|{z{}||||}||{{{{z{{|||{{||||z|{{||{{||||{||{z{{{{{z|}{|{|{|{{{|{|{y{{{||||||{{{{{{z{||}{|||{{{z{{z{{{{{|}||z{{{|{{|{||||{}|{}{z{{{{{||{{||{|z|{{{{z||{||{|{{z{{{yz{|{|{z{||z{{{zz{{{z{z{{{{zzzz{{{z{{{{{||{|{zz{z{z{{{z{|{{zz{zz{zz{{{{z|{|{{z{{z{{|z{{{|z|{{{zzzzz{{{z{|{{{{{zzz{zz{{{{{{z{{zzzzzz{{z{{{{{|{zz{z{z{{{{{{{{{zyzz|{z{{z{{{{{{{{{zz{z{|{z{||{zz{zzz{{{{{{|{{|{{{z{{{{z{{{|{|{{{{{zz{z{{|{{|{|{zzz{z{z||||{{{|{{{{|z{z{{{{{{|{|{{|{zzz|||{|{|{|{{{|{{z|{||{|||{z{{|{z{||||}||{{z{{{{z{|{||}|}{|{{{{{z{{|{|{|{||z{|{|{z{|||{||||{||{|z{||{{}||||{{{|{z{}|{{|{}|{|{z|{z{||{|}}{||{{{{{|{{{{{|{}{||{zzz{{{|||{{||z|z{{z{z{{{z{{|{{{{{z{|{}||{||{|z||{zz{{{{{|{z||{zyzz{{z|{{|{{|{{zyy|{z{{{||{{|{{zzzzzzy{{zzz{{}zzzzzzzzz{z{{|{{y{z{{z{z{z|zz{z{{{z{xz{z{{|{zzz|{y{zzzzz{z{|{{{{yzzzyzzy{{||{{{{zzzzzzz{z{{z|{{zzz{z{yzzz|{z{{{{{zzzyzzzz{{z{z{|yz{y{{zy|z{{{{{{{z{zzyzzzz{z{z{{{{zz{z{zz{{{||{{zz{zz{zz{{{{{|{|{zz{zzzz||{{{{{{z{z{z{{{{{{{{|{{zz{{zzz{|{{{{{||{{{z{{{{{|{{{{|{z|||z{{{}{{||{||{{{{z{{{{{|{{{||{z{{{{{z{{|{{||{zz{zz{{z{{{{|{||{zz{{|z}|{|{|{|{{y{{{z{{{{{{|{|{|z{{{{{{{{{|{|zz{zz{{z{{{{{|{{{{|{{z{z{z{|{|{{||{z{{{{zz{||{{||{{{zzzz{zz{{|z|||{{z{z{|{{||{|{{{{|{{{{z{{{{{{|||{|{{|{{z{|{{||||{z{z{z{z{{{|z{||{{zzzzyz|z{{{|{|{{zz{{{z{z{{{|{z{z{z{{zy{{{{{zz{{zy{yzz{{{z{|{{{{zz{z{{zz{{z{z|{{zyzyzz{{{{{{{{|{{{yzy{zz{{||{{|{zz{zz{zz{zzz{{{zy{y{zzz{{{z{{{{z{{{z|zz{z{|z{{{{{zy{zzz{|{{{{{{z{{|zz{{{{{{{||{zz{{zzz{{z|{|{{{{zz{zz{y{z{{{|||{z{{z{{z|{{{{||{{z{z{zz{|{||{{||z{zz{{{{{||||{{|z{{{z{|{||{z|{||}{{{z{{z|||{{{|||z{z{{{{|}{{{{{{{{{{{{{{|||||}{||z{{z{{{{|{{{||{|{|{{{|{{|{{{|||{{{{{{{{{||z|{|}{{{{{{zz|{{|{|{|{|{zz{{{{|{|{|||z{zz{z{z|{z{{|{{z{{z{zzz{y{{zz}|{{|{zy|z{||{{{|{{|{{{{zz|z|{{{{{{{{z{z{{||z{{||{{z{zzzzz{|{||{{{{{{{zz{z{{|zz|{|{z{{zz{y{{{zz{{z{zz{zzzz{y||z|{{zyz{y{{z{{{zzz|{zzz{z{{z{z{{z{{{{z{{{zyz{z{{|{{{{zzzzzzz{{{{{z{|zyy{zy{zz{{{{{{{z{{z{yz{z{z{{{{{{z{zzzz{{{z{z{|{|yzzzzy{{{{zz{{{zzz{zyzy{{{|z||{zzzzzzz{y{{|||{{{z{zzzzzzzz{{||{|{{yzz{z{|{z|z|{{z{{{zzz{||{z||{{zzz{z{y{{|{||{|{{{zzz{{{|{||}{}z{{z|{zz||{{{{{{||zz{{z{}{||{{|||{{{|{{{{{|{|{{|{z{z{{{{{{{{{{|||z{{|z{z|{||{{|||{z{{{{z{|{zz{{|zzz{{{z{{|{{{|{{zz{zz{z|{|{|{|||{|z{z{zzz|||{|{{{z|{{z{z{|{{{|||{|{{{{{{|}||{{|{z{z{{{{{{|||||{}{{zz{{{{{{{{|{||{{{{z{zz{{{zz{{|{zzz{z|z|{z{{{{|{z{{{zz{{{{|{{||{{zz{zzz{{{{{|{{z{{z{zzz{{{{z|{|{y{|{{z{{{z{{z||{zzzy{zz{{{|{|{{z|{{zzzzz|{{|{{{zzzzzzz{{{zz{{|{|{zz{{zz{||{z{{|{{z{{{{{{{{|{{{{zzzzzz{{{{{z{{{{{{|zz{{{|{{{z{{{{{zz{yz{{|{{{|{{{{{{{y{{|{|||{{z{zz{z{z{|{|{z{{|{z{{{z{{{||{|{||{z{{{{z{{{{|||||{{{{z{{z||z|{}}{|{|{{zz{{{{{{|||{{{{{zzz||{||{|}|{{z{{{z||{{}|}{|z{zz{{{{|{||{|{{{{|{{{{{{|{}|{||{|{{{z||{{{||}||{z{|{|z||||||||{{zzz{{{{|{|{||||}|{{zz{{|||||||{{{{{z{{{{{||||}{{{z{zzz{|}z{|||||{{{z{{{{{}{|||{||{{|zz|{|||{|{|{yzz{z{z{{|{{}{zz{{zzzy|z{{z{||{z{yzzzz{z{{{{{{|z{{zzy{{{|{{{{{zz{{{zzz{{{{{||{zz{zzz{z{{z{z{||{zyzz{zz{{{z{{{{{{z{z{zz{z{|{{{{{{{z{{{z{{|z{|zzzz{zzz{z{{{z{|{|{zzzyz{zzzz{z{|{{{z{zz{z{z|{{{{|{{{{zzz{{{{{|{{z{{{z{|{z{{{||{|{{z{y{{{z{|{||||}{zzz{{z{{{||{{{{{zz{{{{{{{{{{||||z{{{{z{{{||||{||{zz{z{{{{||{||||{{z{|{{|||||{{|{{{{{z{z{{|||{||{{|z{||{{{{|{|||||z{{|{{|}|{{||}{|{{z{z{|{|||||{{z|zz{{{{{||}||}|{{z|{z|{{{||}|}{{{z{zz{z{{|||{|||{{z{{z{|{{|||||z{zy{z{||{|{|||{{{|{{{z|{|{{{||{z{zz{{{||||||||z{{|y{zy|{z{{||||{z{{z{z{{{|{{|||{{{zz{z{{{||{z{|zzzz{z{z{{{{{||{zzz{zz{{{|{{|{zz{{zz{z{{{|{{{|{zz{{{yz{{{z{z{{{{z{{zzz{z{{|{{|{{{{zzzzz|{|{z|||{z{zz{zz{{|{{|{|{{{z{{zyz{{{{{|{{{{zz{z{{{{{{{|{{z{zzzz{{{{{|{|{zz{z{y{z{{{{{{|{{{{{zz{{{{||{{|z{{{{zz{{{{|{{|||zz{z{{{z||{|{{{{{{{{{zz||||||{{|{{{|{|{|{|||||||{{|z{||z{||{}|||{||{{{{{|{{||||{{{{{|{{{|||}{||{}{{{{|{{||{|||}||z{{{{{{{|{|{||||{||{{{{||||{{|{|{{|{|{||{||||||}{|{{{{z|{||{|||{{{z{{|{{|||||{}{{{{{z{{{|{|||{|{{{zzz{{||{z{||}|{{{{{{{|{|{||{{{{{z{y{z|{{{|||{|zzz{{z{{{{{{||{{{{z{{z{z|{{|{|zz{{zz{{z|{zz|{||zz{zzz{{|{|{{{|{{{z{{{zz{{{{zz{|{{{zy{zzz{{{{{{|z{{yzzyz{{z{{{|zzz{z{yzy{{{{{|{{zzzzzz{{{{{{{{{{|{{zzz{zz|z{z{||z{zy{{yzz{zz{{|z{zzz{{zzz{{{{{z|{{z{{z{z{|{{z{||{z{{zz|z{z{{{{{||zzzzz{{z{{{||{|{z|z|zzz{|{{{|{||{|{{{{{{{|{|{||{z{z{{zz|{{{{{|{{z{{{{z{||{|{{||{z{{{{{{|||{{||{|{{{{{{{{||{|{||{z{z{{{{{}||||||{{{{{||{{{|{||{|||{{{|zz{|}}|||{|{|z{zz{{|{{{|||{{{{{{z{{|{|||||{{{{{{{{{|{|||||||{zz{{{{{{{|||{|{{{zz{{||||{{|{{{{z|z{z{z{{{|||{|{|zz|z|||{{|{|}{|{|z{z{|||{||{|{{z{z{||{{{|{{|{{|{zz{z{{|{{|{{|{zz{{{z{{z|{|z{{}{{{z{z{{|{|{{|{{zz{z{{{{{|{|{{z|{|zzzz{|{|{{{{{{zzzzz{|{{|z|{{zzz{yzyzz{|{|{{{{{zzz{zz{{{{{{||{{yzzzzy{{z{{|{{zzzzy{zzz|zzz{{{z{{zzzz{{{{|z|{{{zzz{zz{{{|{||{{zz{|{z{z|{{{{{{{{z{z{{zz{|z{|{|{{z|z{z{{||{||{|{{{z|zz{z{||{{{}{|{{{zz{{{||z{{||{{{z{z{{{{{{|{{{{{|{|{{{{{{|||{|{{z{{{{{{{||}{|{||z{{{{{|||{{||}{{z|{z|||||||||{|z{{|z{{{|||{{}||{z{{{{{|||{}|{{{{{{z{{{z{||{|||||z{{{{{|{{{|{||{{{{zzz{{{{{|||||{{z{z{z{|||{|{{{{{zzz{{{||z{|||{z{zzzzz{|{|{}||{{{{z{zy|{||||z||{{z{{zz|}|{||||{{zzzzzz{{{{yz|{{{{y{{|z{z{{{||{|zzzzz{z{{zz{{||{zzzz{{{|{{{{{|{{z{z{zzyz|{{{{{z{{zzzzzzz{{{|{|{{zzzzzy{{{{z|{{{z{{{zz{zz{{{{|||{zzzz{{zz{{z{{{|{z{{zzzz{z{{{{z{z{{z{{{{{{{{{{{{{z{z{zz{z|{z|{{|{{zz{z{z{{{{{{||zz{{zz{{{|{{{{|{{z{{zzz{z|{{|||{{{z{{zz{{{|{{{|z{{{{{{{{{{||{{{{|{{z{z{{{|||{}{|{zz|{{{{|{||{|||{z{{z{{z{{|{||{{|z{{{{{{|||z|||{{{{{{|{{|||||||}{z{{{|{|{|{}{||||{|{{{{{|{|}|{|||y{{{{{{||{||||{{z{{||{|{{|{{|||{{{zzz{{z{{}|||||{{{z{{{{|z||{|{{{{{zz{z|{{zz{|{{{{{{{{z{||{|{|{{{{{{zz{|{{{}|{|{{z{{{zy{{{||{|{|z{yz{{z|{{{{{{{{z{zz{z{{{|{{|{{z{zz{{z{{zz{{{{|{z|zzzzz{{{{{|{{{zz{{{zy{{z|z{{{zzzzzzzz{{|z|z{{{zzzzzzz{{|{zz|zz{{z{{zzz{{zz{|{zz{{zzzz{{{z|{{{zy{zzzzzz{{|{{zzzz{z{{z{{{{{{|{{{z{z{z{z{{|{{z}{zz{{zz{{{||{{|{|{z{{z{z{{z|{{{||{zz{{{zz{|z{z{{{{z{|zz|{{{{{{|z|{{{{{{{z||{{{{{{{{{yz{{|||{|||{|{{z{{{|z{{||{{||{{z{{zyz|{|{||||{{{{{z{z{}|||{||{z|{z{{|{{{{|||||{|z{|{|{}||||||{{|{{|{{{{z|{{{||{z{{z{||{{|{{{}{{|{|z{{{{||}}||{{z{z|{{{z{|{{z|{{zzz{{z|{|{|{z{{z{{zz{z{z{{||{{{{{{|y{y{|{{{|{{z{|z{{{{{|{{|{||{zzz{{z{{{{{|{|{zz{{zyz{{z{|{z{{|zzzzzz{z{|{z|{{{{{zyz{z{{z{z|||z{{zzzzyz{{{zz|zz{zyy{yz{{{{z{{zzzyyzyzz{{{{zz{yz{zzyzzzyz{{|{{{zz{zz{yzz{z{z{{{{y{{zz{z{{{zz|{{{yzzzz{{z{{{z{{zzyzyyzzzz{{z|{|{zzzz|zzz{{{{||{{zzz{zz{{{{{zzz|{{{z{zzz{{{|z{|{{{{z{{zzzz{{|||{|{zzz{{z{z{|{{{{z{z{{z{{z{|{{{z{{{{zzzz{{{{{{{|||{|z{{{{|{z|{{|{|z{z{z{zy{{{||||||z{{{{{y||{|}|||{{z|{{|{|{{|||{{|z{{{{{|{}||{|||{|{{zz{{{}{{{}{{|{{{{{{z|{z|{|{{{{{{{zz{{|{{{{{|z{z{z{||{|||{|||{z{{z{z{{{|{z{||{{{zzzz{{|{{|{{|{|{{{{{z{{{{{|{|{|{z{{zz|{|{{|}|||zzz{{|z{{{||{{z{{zzy{{z{|{{||||{|zz{zz|{{z{|{||zz{zz{zz{zz{{{z{z{zzz{zz{{{z{z{|{zzz{{zz{{{{{{|{{yz{zzzz{{z{{{{zz{{z{z{{{{z{{|{{{zyzzzyz{|{{z{{{{zz{z{z{|{{z|{|z{yyzzz{z{{{z|{{{zzzzzzz||{{{z|{zzzz{z{y{z{{{{{|{{{zz{{z|{{{||{|z{{{z{zzyz{{{{|{{z{{zyz{{{||{|||{z{z{zzz{{{|z{{{{{{zzz{{{{|{{|{||z{zz||{{{{{|{|{{{{{{{{{{|z|{|{|{{{{z{z{{|{{{|{|{{{{{zzz{{z||}|{{zz{z{|{{{||{||||{z{|{{{{|||z|||{{z{{{z|||{{{||{}{{|{{{{z|{||{||{{z{{zz{{|{}|{||z{{{{{{{{{|{{|}|zzz{zz{z{|||{|zzz{|{{{{z{||{{|{|zz{{z|zz{|{|{{|{z{{{{z|{||{|{{||{{z{{|{{{z|{||{z{{{zzz{{{z||{|{|{{|zzz{{|{{{{|||{{|{zzzz{{z|z{|||{{z{{z{{||{{{{|{{|zz{zz{{z{{{{{zz{zz{zz{{{{{z{|zzz{zyzzz{{|{{{|{{{{zzyzz{{{{{{{zz{z{z{{z{{zzzz{{{zzz{zzz|{|{|{{z{{zz{zz{{{{|{|{{zz{zz{z||{{{z|{{{{zzz{z{z{{{|{|{{{{zz{{{{{{||{|{{{{{{{{{|{{{{|{{z{z{z{{}{{|{{{z{{{{{{z{{||{{||{|{{{{{z{{{{|||||{{{{{||{||{{{{|}|{{z{{{z||{|{{|{|{{z{{{{|{{z||||{{{{{|{{{||||||||{{{{|{{{{}|||||{{{||z|z|{|||}||{{{{|{{{|{|{|{}}{|z{{{{{|{|{{|||{||{{|{{||}{{|||{{{{{z|z|{{|{|||{{{{{zzy{{{z{||||{{z{zzz|z|{||}}{{z{zz{||{{{{{||{{{z{{{z{{{z{||{{{{|{z{{{{|{{{|{|z{zzz{z{{|zz|{|{{z{z{zzz{|z{{{{{{{{{{{z{{{{z{{zzzzz{{zz{{{z{{{{zzzzzz{zz{{zzz{|zz{{z{z{{{{{|{|{z{{{{zz{z|{{{{{|zzzzzyzyyz{z{{{{{{z{{zzzz{zzz{||zz{z{{zz{{|{z{|{{zzzzz{{{|{{|{z|zz{{zz{z{|||{{|{|z{z{z|{{{{z{{{z{z|zzzzy{|||{|{|{z{z{zz{{z|{|{{{|z{z{z{{{||{||{{{{zz{z{{|{{|{|{{z{{{{z{z||{|{||}{z{|z{z{{{||{|{{{{{{{|{z|{|{{||{|||{{{{|{{{|||{}|{{{||{{|}||}|}||{{{z{|{|{|{}|}||{z{{z{{|{z||{}|{{{{|{|z}{{{|{||{|z{{{{||{{||{{|{z{{{z{{||{|{|||{z{zz{z{||{z{{{{{|y{{{{z||||{||{{{z{z{{{{z||||{|z{|{{{z{|{|z{}{}|{z{{z{{|{|{|{|{|{{z{zzz{zz{{{{|z{|{zy{{{{{zz{}{{{{z{{z{|{{{{||{z{{{{|zzz{{{{|{{z{z{zz{{{{z|{{{{{y{zz{zz{{{{|{{|{{{{y{yz{|{{{z|||zz{{z{{{{{{{{{|{{{zzzz{z{{{{{{|zz{{y{{y{{{{{{|{{{{{|zz{||{{{|{{|{{z{z{z|{|||{{|{{{z{{{{{{|{|{z|{|{{zz{z{z{{{|{{{z{z{|zz||{|{||{{|z{{zzz{||{z{||{|{{|{{{{{|||}|{{{zz|{|{|{z|{{{|}|{|z{{z{|||||{||y{z{||{|{|{||}|||{{{|{{{||{|||||{{|z{{z{||{|||{{|{{{z|{||||{}||{z{{{{{{|||{|||||{z{|{{|||||}||||{|z{{{{{|{{{}}||z{|{{{|{||||}|{{{{z{zz{{{{{{{{{{{{{{zzzz|{{{|{|{{zz{{{z{|||{|||z{z{{{{{{{{|{|||{{{z{zz{{{{|{{{|{{{{zz{{|{|{{{{|zz{{zzzz{{yz{|{z{zz{z{{z{{{{{|{{{{{{{{zy{{{{z{|{zz{zzz{{{{{{{{{{zzz{zzzz{{{{{{{{{zz{z{zzz{z{{{{{|{zzzzzzz{|{{{{{{{{z{{z{z{z{z|||zz{z{{{z{z{{{||{|zzz{zzy{{{{{|{{{{zz{yz{{z{{{|{|{{zz{z{{|{||{|{{{{{zzz{zz|}{{|{{{zz{yz{{||{|{{{{{zz{z{{z|z{|{|{|{{{{|{|z{{|}|||{{zz|z{{{||{{{{||{{{{z{z{{|{|{|{|{{{{{{{{|{{{|||}{{{{||{{||{||||||{{|{|{z|}}|||||{{{{{z{||{||||}{{zzz|z{{{|{}{||{{|{{{z{{|{|}||{|{{{{{{z|{||{|{|||z{{{z{z{{{{{{||{{zzzzy{{{{z{z|{{{z{{{{{z|{{{{||{{z||zz{{{|{|{|{|z{z{{{z|{|{{{{{{z{{zzz{{{{{{{{{{|{z{zzy{z{{{|{{{z{{{zzzzz{{zzz{|{{zzzz{{{|{{z|{zzzzzzz{{y{{zz{{z{{z{zzz{z{{{{|{{{yzz{zzz{{{{{{{{{{zyzzz{z{|z{z{{{zz{zzzz{zzz{{{||zzzzz{z{{{z||{{z{z{zzzz|{{z{||{{zz{zzz{z{|{{{|{zzzzz{{|{{|{{||{z{zz{{z{|{{zzz|{{z{{z{{{|{{{|{{{{{yzzz{{{||z{||zz{|{|{{{|{{{|z{|z{{{z{{|{{{|{||z{zz{{{{{|{z|{{|z{{{{{zz{{||{|{{{z{{{{{{{|z{||{||{{{}|{{{}||||{{|z|{{{{{|{||||{||{{{{|{{|||||{|}|{{{|{z|{{|||||}|{z|{|z{{{{|||{|{{{{{z{z{|||}||||{{z{z{zz{{|||||{z{z{{{{{z{{z|{|{z{{|{z{{{|{|{|{z|{{{{z{||{{|{{|{{zyzz{{{{z{||||{zzz{zyz{{z{{{||{zzzz{zz|{||{{|{{zzzzz|zz||{z{|{{z{{{z{z{{{z{{{z{{{{{zzz{{{{{|{{zzzz{zzyz||{z{|{{z|zz{zz{z|{z{|{zz{{zzzzz{{{{z||zz{zzy{z{|zzzz{{zy{zzzzzz{z|{{{{{z{{{{zy{{{{zz}{z{{z{yzz{{z{|{{{zzz{zyzz{{{{{{{}z{{yy{zz{{{{|{{|{zzzzz{{{{{{|{{|{zz{{{{{{|{z{{||{{z{z{{z||||{|{|{|{z|{z||{{|{||{{{{{{z{{|{{||||}|{{{{{{z||||{||||{|{{{{z|||{||||{{z{z|{{||{||||}|z{{{{{z|||||||{|{{|zz|{||}{{}|||{{{{{z{{{{|||{}{{{{{{{{|{{{}||{{{{{zz{{{|{{{|||{{{zz{{z{{||{||{{{z{{z{{|{|{|{{|zz{z{z{zz{{|{{|{{|z{|z{z|{{{{|||{z{zy{zz{z|{||||z{{{zzz{z|{{{z||{{zz{zzz{{{{z{{|zz{z{z|zy{{z{{{{{{zz{zz{z{{z{|{zz{{z{{z{|{z{z{{{zzzyzzzz{{{{z{||{z{{z{z{zz{z{|{{{{z{y{zzz{{{{{||{z{{zzzz{{{{{||z{{zyzz{z{{{z{|z{zz{{{zzz{|{z{{{|{{zzzzz{{z|z{{z|zz{{z{z{zz{z{|{|{{{{zz{||{{{{{{z{zz{{y{z{z||{|{|{z{z{{zz|||zz{{{{zzzz{{{{{{{{|{|{{z|{zz{{|||{|||{{{{{{{z{{||{||{{{{{{{{{{|||{{{{|z{{{{{{|}{|{||||z{{{|{{{{||{{||{{{{{{{z{}|{{}|{|z|{{zz||{||{|||{{{{{z{{{|{||||||{{|{{zz||{|{|||{||zz{{{{z{{{{{{{{||zz{z{{{|{{{{{{{zzzzz{{|{z|{{z{z{{z{z{|||{}|{{{y{{z{{{|{{{{{|{{{yz{{z|{{z{{|{{{{zzzzz{|{{{{{}{z{{yzzz{{{|{|{|{z{zyz{zz{{{{{|z{{{{zz{{{{{zz{|{z{{zzz{zzzz{z{z{z{{zz{yzz{z{{z{{{z{zz{{{z{|{|{{{{{{zzzzz{{{{{{{{zyzzyyzzz{z{z|z{zzzz{zy{{zz{z|{{zzz{{{zz{}z{{{||{z{z{yzz{{{{{{{{z{y{zz{{{z{{|{{|z{{{zzz{{{||z{|{{{{zzzzz{|{{|||{z{{zz{z{{{|{{{|{{{z|{{{{{{|{|||{{z{{z{|zz|z|||{{{{|z{{|{{{|z|{{|{z{|z{{|{||{{|{|{{z{z{{z{|{|||}}|z||{|{|||{||||||{{{{||{{}{||{|{|{||{{z{|{{{{||||{{||z||{{{|||{||{{z{{zz{{{|{|}||{{{zz|{|{{z{|}|{zzzz{{z{|{{{{||z{|zzzz{{{{|{|{{|zz{{yz{{{{{|{{|z{z{z{{{{{{{|{||zz{z{z{z{{|{{{{|{{zzzzz{{{z|{z{{{z{zz{{{{{z|{{{|{yzzzz{z{|zzz{|z|{zz{zy{z{{zz{{{z{zzy{z|{z{{|{||zzz{{zzz{{z{{{{{{{zzyzyzz{|z{{z|{zz{y{z{{z{{z|{{{{zz{{{zz{{{|{{z{{zz{z{z{{z{{|z{zz{z{zzz{{z{{{{z{zyzzzyz{z{z{{{|yzzzzz{{{{{{z{{{|{{{zz{z|{{|{z|{z{z{zz{z{z|{{{{z{{{{zzzz|{{{z{|{z{{{zzz{{|||{{{{{{z|{|z{z|{{||||{|zz{{|{|{{{{{|{|{{{{zzz{{|||}{{|{{zzz{z|}|{|{}|{zz{{{{{||{{{{|{||{|{{||{|{|||{||z{{{{z{{{|{z||||{{{{|z{{{z||{|||{|{{{{{{{{}||}{|{{{zzzzz{{{{{|{{{{{{{{{{{|{{{|{{z{z{z{z{zz{{|z{{{|zzz{z|||{{|{|{z{{{z{|{|}|{|{{|{{{z|zz{{{|{{{{{zz{{zz{{{{{zz{|{zzzzz{{{{{z{{{|zy{{{y{{{|{z{{{{z{{{zz{z{}{{{{{z{zz|zzzzz{{{z{{{zzzzz{z{{{zz{{{{zz{zzzz{{{||{|{{zzzzzzzz|zz{{{{zzzzzzyyyz{zzy{z{z{zz{zzzz{{{|||{{zzz{{zz{zzz{{{{{zzyzzzz||{z|{{{{z{zzz{{{{{{{|{|{zz{zz{z{{|{z{{zzz|z{z{{{{{{{|||zz{z{{yz||{z|{{{{{{{{zz|{{|{z{zz{{{{{{{{{{{||{{{z{{{{{{zz|||||}|{{{z{{{|z|}|{{|{{{{z{{|{{|{{{{|||z{z{{|{{{{|{|z||z{|z{{{{}{{|{}{}{||{z{z{|{{{|{{|{{{{{z{{|{}z{|{{{{z|{z{z{{|{{||zz{{{{{{{{{{{|}|{{{{{z{{}{z|{|{{{|{y{y{z{{{z{{||{{{{{z{{{{}|{{|{zz{z|z{{{|{{{{|{zz{zz{zz{{{{{|{|{{{z{zz{||{{z{||zz{zy{{z|{|{{{{{{{zzz{|z{|z{{{{{{{|{{zzzz{|z{{|{z{zzz{zzz{z{{{z|zzzzzzzz{z{y{|{z{zzzyzzz{z{{zz{{z{{{{{{{z{{{{|{|{z{zzy{zyz{z{}{{yzzzzzz{z{|{|{z|z{zyyz{{||{z{{{|{{{{{z{z{{{{{|z{zz{{zzz{{{z{y{{{{|{z{zzz{|{{{{||{{{z{{{z{{{{{|}|{zz{z{z{{{||{|{{{z{{{{z{{{{{{|||{{{{{{{{||}|{||{z{{{{{{|{|||{|{|{{{z{zz{{{}{{{|||z{{{{|z||{||{|||z|{{|z{|}||{||||{{{{|{{{}|||||||{{{|{{{|||}||{||zz{{{{{||{{|z{||{{{{{z{|}{{|}|{{{{zzz|{{|||{||{|{{zz{z{||{|{||{{{{{zz{{{{|{{|z{zzz{{zzzz{{{{|{|z{{z{zzz{{z{||{}{{{zy{zz{{{z{{|{{z{z{{z{{{{{z{{{{zzy{zzz{{{|{|{zz{{{yz{y{zz{{|{{{zzz{{zzz{{{z{{{{z{yz{zz{z{{{zz{{{y{zzzzz{zzz{|z{yzzzzyzz{{z{{|{{zzz{zy{{zz{{{|z|yzzzyzz{z{{zz{{zy{{zzz{y{zz{{{|zzz{z{zy{{{{|z{{{{zz{zzzz{{{|{{||zzyzzzzz{z|{{z{zzzz{z{{{{z|z{|{|y{zzy{zy{||{{{{zz{{zzz{{{||{||{{{y{z{zz|{|{z{{{{z{z{{{|{{{|{{||{z{z{{{z||{{{{}{|z{{|z{{{||{|{|{{{{{{{{{{|{{||||{{{z|}{{{{|{||{{{{{{z{{{{|{}||{||z|{{y|{{||{{|||{|{{|{z|{{{|{{{{|z{{|{z{|{z|{z{|{{{zzzzz||{{{{{{{{z{zz{z{|z|{|{{{zzz{z{z{{{{{{{{{{z{{{{z{z|z{{|{{{{{{{zzz{{{|{z||{{yzz{{|{z|{{|{{{|zzzz{|{|z{{{{|{z{zy{y{{{z{{|zz{z{zzzz{|{{{|||{z{z{{zz{|{{{{{zzz{z{zzzz{z{{z{{zzz{zzzyzz{{{|{{{y{yz{zzzz{{{zz|{{{zyz{z{|{|z{{||zz{zzzz{{z{|{{{zzyyzzz{z{{{|{{{zzzz{|z{{|{{{||{zzzzzz{z{{{z|{{{z{{|yzz{{z}z{|{zz{{{zzzz{z{{{{|{|{{{{zz{{|{|||{z{z{z{z{{{|{{z|}z|z{{{{{z||{z|{||{z{z{zz{{{{||{}{z{{z|z{{{{|}{||{{z{{zzz{z|{{}{|||{|{{{{{|}|{}||{|z|z{{|||||{||||{z{{{{{{{}|||{|{|z|{|{{{}|{|||}|{{{z|{z||||||}|||{{{|{{{||{{||{|{{{z{{z{{{|{|{||{{{{{{zz{||{{{|{{{{{zz{{{|||||{{z|{{z{zz{{{{||||{zz{z{{{{||{{|z{zzzzz{{{{{{{||{|{z|{zz{{{{||{|{{{zzzzzz{{|{{|{{{{z{zzy{z{{{z{{|{{z|zzzzz{{{{z{||{z{zz{z{zzz{{|z{z{zz{zzzy{|{|{z{z{zz{{{zz||z{{{{{{{zzzyz{{|{{{{|z{{z{zzzz{{{{{{{{z{zzzzzz{{{{z{z{z|{{{zzz|z{{{{{{z{z{y{|z|{{{{|{{|{{zy{{z{zz{{{{zzzzzzz{{{{{{z|{{zz{|{y{{{|{|{{{{z{{{|{z{{{z{{{{{z{z{{z{{||{{{{{{|{|z{{z{|{{|}||{{{z|{z{{|||{{||z{{{{{z{{{|{z|{{{{{|{{{{|||{{|||{|{{{{zz{{}|}||||{{{{|{{{}||||}{{{|{{{{{|{{|{|}|{z{{{{{{{{{{|{}|{{{z|{|{|{{||{{|z|{z{{{z{||{{{||{{{|z{{z|{{{|||{{{{zzz{zz{{{{{||{z{{{zzz{{{|{{{}|zyz{zz{z{|{||{||{{{zzz{{z{{{{|{{{z{{{z||z|{z{{{{{{{z{zz{z{{|z{{z{zz{z{z{|zzz{z{{zyzzzzzz{{{z|z{{zz{zzz{{{{{{{{{{zzy{y{{z{{{{{zz{zzzyyzz{z{z{{{{{{zzzzzz{{{{{z{zzzzzzyzyz{z{zzz|{zz{zy|zz{{{z|z{{zzzzzz{{{{{{{{{zzzz{zz{{|{{z|{{{{{z{zz{{{{{{{{|zy{zzzzzzzz{{|||zz{zzz{{z{z{z{{{{{{{zz{z{{|zzz|{{{zzz{z{{{{{{{{z{{{zz{z{{||z{||{{{{z{z{z{|{{|||{{zzz{{zz{{|{{{|{{{z{{{z{||z{{|||{|{z{{{{{{{|{||{{{{{{{{|{|||{||{{z|{z{{{{{{{{|{{{z{|{z{||{{|{|}|z{z{{zy{|||{||{|z|{zz|{zz|{{{{|{|zz|zz{z|{{{{||{zy{z{zzz{{{{z{{z{{z{{zzzz{z{z{{{{zzzyz{z{{{||{|{|zzy{z{z{z{{z|{||{{{{zzz{{{|{z{{z{zzy{{y{{z{z{|{zyzz{zz{z{{zz{{zzzzzzzzzzz{zz{{zzzzzyzz{zzz|z{{z{zzzyzzz|zz{|z{{zz{zz{yzz{{{|{{|{y{zzzzz{{{{z{|{{zzz{{zzy{{yy{{{{yzzzzzy{{z|z}{{zzz{z{zzzzz{z{{{{yzzzzz{{{z{{zz{zz{{{z{{{{{|||||{zzz{{yz{{z{{{{{|{{{{z{z{{{|{|{{{zz{z{zy{{{{z||{{{{z{z{{z|{{{{{|{z{{{z{z{{{{{|{{zz{{{{zz{{{{{||{{{|zzzzz{||||{||{{{{{z{z||{z|||}{{{zz{{|{{{{||||{{{{{{zz{{{{|||||{{{{{zz{{{|{{||{{{y{{{|{|{{{|{|{{|{z{{{z{||||{|{{{z{{z{|{z{|{|{|zz{{z{z{{{{||||{{yzzzyz||{{{|z{z{zz{zzz{{{|{{{{zzz{zyz{z{{|z{{||zzyzzzz{{z|{|{|zz{zy{zzz{|{zz{}zz{zzyzz{{{{|{z{z{{zzz{{{{{{z{{{|zzz{zzzz{{{{{z{{{z{zyzyz{{{z{{{{zyyzzzz{z{z{||{{zz{zzyzzz{z{{{{z{zz{zzy{z{{{{{zzzzy{{{y{zz{z{{{{{zyyzzy{{z{z{{{yzz{zz{zzz|{{{{|zzyzzzy{z{z{{|z{{z|zzzy{{|{{z{|{z{y{zzz{{{{{{{}|zz{z{y{zz{{z|{{{zzz{{zy{z{{|{{{{z{{{{{zz{{{{{|{{{{{{zyz|z{|||{||{{{zz{||{{z{{{|||{{{{z{{{{{||{||{{{z{{{{{{||}{||z{|zz{{{||{|{||{|{z|z{{{||}|{|||{zzz|z{{|{||{||{{yz{zzz{zz{|{{||{{{{z{z{||{{{||||{|yz{|{{{|{{}z{{{zzzz{z{{{{{{|||{{zz{zz{{{{z|||yzzz{{zz{{{{z{|{zzzzy{{{|z{{{z{{{{zz{{{z{{{{z{zz{zzzy{z|z{{{{{||{z{zz{{z{{{{{{z|{zzyz{{z{{{{{|{zzz{zzzz{{{{z{{{{{z{zy{y{{{{zz{{{{zzz{z{{z{{z{{{{zyyzzzzyzz{{{||{zzzzzzy{z{z|{{z{zzzzyyzyzzz{{{{{zzzzzzz{{zzzz{{zzz{zzzyz{z{{{{|{zzzzzzzz{{{z{{{{{z{zzyzz{{zzz{|{{zz{z{y{|{{{z|{{{zz{{z{zz{|{{|{{{zzz{{{zz|{||{{{{{zz{{zz{|z{z|{{|{{y{z{z|{||{{{{zz{{|||{|{{{{|{|{{{{{zzz{|{|{}{||{{{{z{{{|{{{|{|{{{{{{{{{||{|{|{|{{|{{{z{{|||{|{|{{{{z{||{{|{{|{{y{{|zz{{|{|{{{|{{{z{{{|{{||||{|{{zz{{zz{{{||{{{{{zzzz{|z{||{||{{y{{z{z{||{{{|{{{|zzz{z{{|{zzz|{z{zzzz{zz{{{{{{{z{zz{{zz{{{{{z{{{zzzzzzzz{{{{{{{{{zzz{zz{{{{{{z|zy{zzzzzz{{zz|{zzzzzzzz{{{z{y{{zzyzzzz{zz{z{{|{z{zzzzzzzz{{z{{zzzzzz{zyzzzz{{{z{zz{zy{yzz{z{{z|z{yzzzxzzzzyz{{{yzzyz{zzzz{zzz{{zzzzzzzzzz{{{{{{|zzzyzyzzz|{{{z{|{z{zyyzz{z{z{z{|zzzz{zz{|{{{{{{zzz|z{zzz{{{{{|{{z{zz{z{z{{{z{{|{{z{z{z{z{{{y{z||z{zzz{{z{z{{{|{|{{zzz{{{{{{|||z{zzzz{yy|z{{||{{z|zzz{zz{{{{{|||{{z{z{{z{{||{|||{|z{{{{{{{|{|||{{{z{{{{{{|{{{{|{{|zzz{zz|{|{||{{|{{z{{{{{{{|{|{|{{zzz{zzz{{{{{|{|{{z{z{zz{{||z{{{{zzz{zz{{z{{z|{{zzz{{{{z{{{{{zz{{{z{{zz{{|z{{|{|zzz{{{zz{{|{z{||zy{{{yzzz{|{z{{||zzzzzz{{{{z{{{|{z{y{{yz{{z{z||z{zzzzy{{{{|{{{{{z{{zzzzzyz{zzz{|zz{zzzzzzzz{z{|{{zyzzzy{{{{{{{{{zzzzyzz{z{|{z{{{{zzz{zyzz{{zz{|{zzzzy{z{{z{|{{{{z{{|yzzzzzz{z{{|{z{z{zzyz{{z|zz{zz{{zz{{{{{|{z{{{{zzz{zz{{z}{{{|{{{zzz{z|{{{{|{|{{{y{zzz{{{z{{||zzzz{zzz||{z{|{{{zzz{{z{z{{{|||{{|{|zz{z{{{{{{|||zz{{|{{{|||||{{|{{z{{{||{{{||||{z{{z{|{|{|{{{|{|{{|z|{zz}{||}|||{{zz{{{{||{|{|{{{{z{{z{{z|{{|}{{{{{{z|{{{{{{|{|z{zz{{{{{{{|{{|{|zzzz{{z{|{|{{|{{{|zyz{z{z|{z{{|{z{zz{{z{{|{{{||{{{zzzz{{{{{|{|{|{z{{{{z{{|{z{|{{z{z{z{z{{{{{z|{{{{{zzzz{|{{{|z||{zz{{z{{{{zzz{zzz{z{{zz{{{{z{{{{|{{z{{z{z{{{||{{zz{zzz{{{{{zz{zz{zzzzz{{z{{{z{|{y{zzzzz{||zz{|{z{z{zzzzz{{{{{{|z{yyz{zzz{{{z||{z{zz{{zzz{{z{{|{{z{zzzz{{|{|{z||{z{{zz{zz{{{{{{|z{{{z{zz{||{{|}|{{{zzz{yz|{{|||{{}{z{{y{{{{{{{{{|z{{z{{{{{z{{||{z{{{{z{{{|{|{}{|zz{{|z{||z{|{|{{{{{{{{z{||}{{{|{|z{{{{|{||{|{||||{{{z|{z|{{{||}{|{{{{{{||||||{|||{{{|{{{{{{||{}{|{{|{z|{{||{||||{||{{|{{|{{{|{||{{{{z{{{{{{|{{|{|{{{z{{z||z|{{||{|{{{z{z{z||{|||{|{{zzz{z{{{|{z|{z{zzzz{{{z||||z{{{{zz{z{{|{|{{{{{zzz{zz{{{|z{||{|zyzzzz{{{{{|{{{{|{{{zzz{{z{{|zzz{zzzzz{{|z{{|zyzzz{{zz{{z{{{{{z{zzzzzzz{zz{z|{{yzy{zzzzz{{{z{{{zyzzzzzz{|z{{{{{zz|zyzyz{zzz{{|{{y{zzzzyzzz{{{{zzy{z{zz{{z{{z||zyy{{zzzz{{{{|{{{{zz{zz{{{{{|{||{z{z{z{{{{{|z||{{|{zz{zyz{{{{||{{{{{zzzz{|{{z|{{{{{z{zz{{{{|{|||{z{{z{zz{z|||{||{z{{{{|{{|z||||{{{z{}zz{z|{||||z|z{{{{{{{}{{{}||{zz{z{|{{|{{|}}}{{{|{{{{z{||{|{{{{{{z{{{|||{{|}{{z{{{z{||||{|{||{{{{{{|{{|{{{|||{z{{{{zz{|{|z||{{{{z{{{{|{{|||{{{{|{zy{z|{{|{{{{{|{{|{{{{|{{{{{|{zzzzyz{z{||{{{{{{{{z{{{zz{{{|||{{zz{{z{{{{{{z{|{zzzz{zzz|{z{{z|z{{zzz{{z{|{z|{{{y{yz{zz|{|{z{{{zz{zzzyz{{{z{z{{zzzy{zzz{{z{zz|zzzzzz{yzzz{z{{{{z{yyyzzy{{z{{{{|zz{zzzz{z{{z{{|zz{zzzzzzz||{{{{{zzzzz{zzzz{{{{{|zzzzz{zz{{z{|{{{{zz{zz{zz{{{{{||z{zzzz|zz{|{{{{|{{{yzz{{{{{{{{{{{zz{{{zz{|{{{{|{{{{z{z{{{|zz{{{{{{z{{{{{{{{{||{|z{{{|{|{{||{{{z}{{{{zz{{{{{|z|{{|z{{{{{{||{}||||{zz{{|||||{{{|{|{{{{}|{|{|{||{||}z{|{z{|{|{{{|}|zz{z|z{{{|{{||{|{z{{{{z||{{z{||{|{z{{{{{{|||||{{{{z{{{zz{{{{{|{{{{{{{zzz{{|{{|{|{zz{zz{zz{{{{z{{{{z{{{yz{{{z{{{{{zzzzzzz|{z{{{|{{zz{{zy{{z{{{{||{zzzzz{z|{{{{{{||z{z{z{yz{{{{|}{{z{z{yzy{{|z{{{{{{zyz{zzzz{{{{{zz{{zzzzzz{{{{z{yzzzzyzzzz{{{z{{z{{zzzzzzz{z{z{|{z{yzzzzzz{{{z{{zz{{zzyz{zzzz{{{{zz{{{{zyz{{{{{{{{{zy{zzz{|{{z{|{zz|zzz{z{{{|{{{|z{z{zyz{{z{{{{||z{z{{z|zz{|{{{{{|{{{{z{{z{{{{{||{{zz{{zz|{{{z{{{{z{{|{z{{|{||{||{{{{{{{{{{{|{|||{{z{{zzz|{{|||{{{z{{{{z{|||{{{||{{{{{{{{{||{||{|}{{{z{{|{}||||||{{z{{{z||||||||||{z{{{z|{{|{{z{||{{{{{zz{|{{||||{{{z{{zz{|{{{{}|{zz|zz|{|{{||{{|{{{zz{|z{{{{{{{{{zzyzz{y{||{{z{|{zzzzzz{{z{z{{{{zz{zzzzzz{{{|{{{zzzz{z{{{{z{{{|{{{zzz{zz{{|{{|{{zzzzzz{zz|{z{{{zz{{yz{zy{z{{{{{z{zz{zzzz{zz{z|{{{zzy{zzyz{{zz{{z{zzzzzyyz{{z|{{{{zz{zzzyz{|z|{{{zzzyzzzyy|{z{{{{{z{{zzzzzz{zz{{{{zzzzzz{yzz{{||{zzzzzzz{{{{{{{|zzz{{z|{{{{{{{{{{zz{z{zzz{{{z{{{{{{{z{zzz{{{{{{{|{zzzz{zz{{{||||{|{{{zz{zz{{|z{|z{{{|zz{z{{|{|||}{z{{{{{z{{|{{{}|{{z{zzyz|{|{{{|}{zz{{zz{z{{||{||{zz{{{z|{{|{}{||{zz{{{{{{||||{|||z{{{{{{{|{|{|{|z{{z{{z{|{}|{{||{{{{{{{{{|{|{|{|{zz{z{{z{{{|{|||zz{{zzzz{{{|{{||{z{z|z{z{|{{z|z{|z{{{z{z{{{z{{|zzzz{zzz{{{|{{{|{zzzz{z{{{{{{z{{{{{{{zz{{z{{{zzz{{zzz{zzzz{{{{{{{|zzzzzzyz{zzzzz{{yzzzzzzzz{z{{zzzzzzzyzzz{z{zz{|zyzzzzzy{{|{z{z{{zzzyzzz{z{{{zz{{z{zzzz{z{{{z|{{zzzzzz{yzz{z{{{{{zzyzzzzz{z{z||{zzz{z{zz{{zz{{{{{zzzzzzz{|{zzzz{|{z{zyzzz|{{z{{{{z{{{zzz{{{{{{|{{zzz{zzzz{{{z{|{{z{z{{zz{z{{{{|{{{{z{zzz{{zz{{|{{zz{{{z{|{|||{{|z{z{{z{{||{{||||{zz{{z{z{{|{{{||{{{zz{zz|}|{|}|{{z{{|{z{{{z{{|{}{zzzzz{z||{{|||{{{{z{{{z{{|{{|z{|zz{{|{{|{{{{{{|{|{z|{{{|{{||{|{{z|{zz{z{||||{|{{zz|{{zz{{zz{{{|z{{zz{yyz{{{{|z{z{zzzzzy{{z{|z||z{{y{zzz{{z{{|{{{{zzzy{{{{z{{{{{{zzy{zzz{z|{zz{{z{{yz{zz{{|{{|{{z{{yz{z{{{{z{{{{{zzz{zzzz{zzz|zzzzzzzzzyz{z{zzz{z{zzzzzzz|{{z|{zzzzzzzyzzzzz{{zz{y{{{zzzz{{|z{{{zzz{zzyyyz{zz{zzyyzyzyzz{{{zz{{{zzz{z{yzz|{z{{|{yzzzzyzzz{{{z{|{yzzzyzzy{|{{{|{{z{{zyyzz{{{{{{{{{zzzzz{{{{{{{|zz{{z{z{{{|{{z{{|zzz{z{y{{{z{{{{{{{{yz{z{z{{{{{{{{{{{{{{|z|{{||||{{z{zzzz{z{{{z|{|{{z|{{{{{{|{||||{{{{z{{{{{{z{|{||zz{{{zz{|||{{|{{z{z{{zz{z||{{{{{zz{{z{{{{|{{{||{z{z{{{z{{||||||zzzzzz{{|{zz|{|{{z{{{zz{{{{{z{{{zz{zz{z{{{|{|{{zz{{z{{zz{{|z{{{|{{zz{zzzz{{{{{{{{{{z{{yzz{zz|{{|{{{{zzzz|{{{{z{{z{zzyz{z{|{{{{{{{{{z{{zzz{z{{{{|zz{zzyzzz{{{z{{{{{yzz{zzz{{{{|||zzzyzzzz{{{{{{z{{zz{z{zz{{{{z{{{zzyzyyzz{{|{z{{{z{yyyzzzzzzz{z{{zzzyzzzzzzzzz{z{zz{z{zzzz{{{{z{{zzzzzzz{zz{{{{{{zyzzzyzz{{zz{{|{z{zzzyy{{|{{{{|{zzz{{zyz{{zz{{{{zz{z{|zz{{|{{{{{{|z{zz{{|{|{|{z{z{{{zz{{{{{{{{{{zz|y{|{{{|||{||||{z{{z|z{z||{|}||z{{{z{{|}|||{||||{zz{{{{||z{||||zz{{{{{{||{||{{{z{|{zzz{{|||{{|{zzz{z{{z{|{|{{|{{z{|{{{{|{|}{|{z{zz{yzz{z{|{z|{{{z{{zz{{||{{|{z{z{zzzzz|{{{{{|zy{z{y{{z{{{{z|{{{{zyzyz{{{{|{||{{zzz{{zz{||{{|{{zz{zzzzz{z{{z{||{z{zz{{z{z{{{|{{{{z{{z{zzz{{zz|{{{{{zzzz{z{{{zz{{{zyyyzzz{z{z{z|zzzz|zyz{{{{{{{{zzzyzzz{z{{z{{{zyzzyzzzyzz{{{{{|zzyzzzzz{{zzzzz{{zzzyz{y{{zz{{|{zy{zzyzz{{{{{z{{{{zyzzzz{{{zz{{{{{{zzy{z{{{zz|{{zzz{zzy{{{zz{z{{{{zzzz{zz{{{{{||{zzzzzzz{{||{||{{{{{{zz{{z|z{{{{{zz{{{zz|{{{}{|{{{zz{z{{{{{|{{||{z{{{{zzz||{|{|{{zzz{z{z{|{|||}{{{|{{{{|{||{{||{{{{{{{{z{}|||}|||{{{zz{{{}{|{{{|{{{{zz{z|{{{|||{{{z{{{y|{{{{{|||{{z{zz{z{{|{||}|{{z{z{{{{|{{{|{{|z{zzzzz{{{{{{z|z{zzyzzxzz{z{{{{{{z{{yzzz{{{|{||z{z{z{{zz{{{{{||zzz{{{zzzz{{{{{{{{{yzzzz{{z{{{{{zzyzzz{yz{z{|z{z{z{{z{zy{{{zz{|{{zzzz{z{zzz|z|zz{z{zzzzzz{{zz{{z{y{zzzzz{z{z{{zzzz{zyzzz{z{z{{{{zy{yyzzyy{zzz{{zzy{z{xz{z|{zz{{{zzzz{yzzyz{zz|{zz{yyzyzz{{{z{{zzzz{yzx{zzzz{{|{|{z{{y{zz{{{{{{{{{y{{{y{{{{{z{{{{{{{z{zzz{{{|z{|{{z{{{z{z{{z{||{y{{z{z{{z{{{{|z|{{||{{{zz{z{{{{{{y{{{{{{{|||{{|{|{zz{|zz{||{|z|||zy{z{z{z{{{||||||{zz|{{{}{{}{|{|{{{{{z{{{||{||||{{{{{{{z||{{}||||{{z{{z{|{{{{|||z{{{yzzz|{{{{{|{zzzzzzzz{||{{{{{{{{z{zz{|{|z{|{|{z{y{{z{{{|{{{||||y{zzz{{{{{{||{{{{{zzz{{|zz|{|{zzzzz{z{{z|{{{|{z|z{zz{zz{{{zz{|zz{zzzzzy{{z{{{{{{z{yzyzy{z{{{{{zz{zzzzzz{{|z|zzz{zzzzzz{{{{{z|{{{zzzzz{{{z|z|{{z{{zy{zz{|{{{{{{zzzzzy{yzzzz{z{z{zzzz{zy{{{{{||{zzzzz{{yzz|z{{||{{{z{zzz{{{|y{{{z{zzzzz{zz{{{|{{{zzzz{{{z{{z{{{{zz|{{z{z{|{{{{{{{{zz{{{z{{{|{|{|{{{zz{{{{|{{{{{{{{zz{{{{{|||{|||z{|{z{z{{|||{}|{{{|zz{{{{||||||{{z}{{{{{}}||{|{|{{{{{{{{{{{{||||}{z{{|{{{|||||{}|{z{{|z{|{|{|{|{{z{{{|zz|z{|||||{z{{{|z{||{|||||{{{z{{z{{{{|{|{}{{{z{y{{{{|{|{{{{z{z{z{{{|{{{{{{{zzzzzz{{|{{{{|{{{z||zyz{{z{|||{{{zy{z{{{{{|{{{{{zzz{y{z{{{|{{|{{{zzzz{{{{{{|{{|{zz{{z{z{{{{z{{{{zzz{z{z{{{zz{{|{{zzzz{zz{z{{{{{{z{zzz{zzz{|z{{{zzz{zzzyz{{z{{{|zzzzyzz{{|{{z{{|{zzzzz{zz|{zz{{|{{{zzzzzyzz{{{{|zyz{{zy{{z|{z{{|{zzzzyyz{z|{{{z{{{|{zz|z{z|{{{{{zzzz{zz{z{|{{||||{zz{yzz{z{|{{|{{zz{{zzzz||{{||{{z{{z{{{{|{|{||{{{z{{z{{{{||||||{{{{{z|z||{|||||z{y{{zz{{|{{{{|||{{{{{{z{{|{{|||{{{{{{|{|||{{{{||{{{{{z|{}|}||||{z|{z{{|{{||{|{{|{{{{zzz||{{{{|||{|{|{z{|{{{{||{{{{{{{{{{{||{|}{{{{{zz{{}}{|{|z||{{{y{z{{{{{{{{{{zzzzzyzz|{{{{{{{z{zz{zz{z{{{{{|{{{zzz{z{zz||{{|{y{zzzy{{{|{z{{{{z{zzz{z{{{{z{{|zzz{zzzzz{{zz{||{{{{zyz{{{{z{{{{{z{{zzzz{{{{|{{{zzzz{yzzz{{{zzzz{zz{zzzz{{|z{{{|{{zzzzzzzzz{{{{|{{zzzz{zyz{{z{{{{zz{{zzzzzzzzz||{{zzz{{{{{|{z{{{{zzz{z{z{{{{{z{|{z{{zyyz{{zz{{||{zzzyyzz{|{{z{z|{z{zzz{zz{{|{||{zzz{z{zz{|{z|{|{|zz{z{{{{|{{z{||z{z{{zzz||{|{{{{z{|{|z|z|{{||}{||z{z{{zz{|}{{{|{{zz{{{zz{||{||{|{|{{{|{z{{|{{|||}|{z|{{{{{{{}{||{{|{{{{z{|{}||{|{z{{z{{{{||{|||{|{z{|{z{|{{{||||{{zz{z{{{|{|{|{|{{{{yz{{{||{{{|{|z{z{zzz{{|{{|{{zzzz{zz{{{{{z{{|z{zz{z{{|{{|{|{|{{{zz{zzz{{{{|{{{z{{{z{{{{{{{{|{{zzz{{{z{z{{z{|{z{{zz{zz{{{|{{z{zz{yzzzyz|{{y{{{{zzzzyy{z|zz{z{|zz{z{{{z{{z{{{{z{zz{yzzzzz{z{|{{zzzzz{zzzz{z{|zz{zzzzy{z{{{{{{|z{zyzzz|zzzz{z{{{zyz|z{yzz{{{|{{{zz{{yzzzz{z{z{{|zy{{{z{y{z{{{||{{{z{z{zz{z{{{{{{{z|z{z{z{{{{{{|{zzz{{{zz{|{z{|{{|z{|zzz{z{{|{{{{z{z{{{z|{|||{||z{|{{{{|||{{{{||{zz{|zzzz|{|||||{{z{z{{{{{{|||||}{{|z{|{{|z{{{|}||z{{|z{|{}z|}{|}|z{|z{{{{|{{{{{{{{|y|{{{{||{{|{||{{{{z{{{{{||||}{|z{{{{{{{{|{{||{zzzz{{{{|{||{{{{{{{{z{{|{{{{{{{zzzzzzzzz{{z{z{{zzzzzzyz{z{{{z{{{{zy{zzz{{{z{{{z{y|{{{{{zz|{{{z{{zzyzzzy{z{{{z{{zzzzyzzzz{y{{{{z{zzzzzzz{{{|zz{{zzzyzzyz{{z{{{{{zzzyzzzyzzz{zzz{zyzzzyzzz{{{{{{{zy{zyzz{z|z{z{|{{yzzyyyz{z{zzzzzzyzyyzyyz{{zz{zzyzzzz{yyz{{y{zz|{zzyzyzzz{z{z{{{z{{{{z{z{{z{z{|{{{zyzz{{{z{z{{{{{{z|z{{z{{z{{{{|zzz{z{z{{|{{z|{|z{{|{zz{{{{{{|{|{{{{{z{z{{|{|{{{{{z{{{{|{z||{|{|{{{zz{zz{{{{{||{{{zz{z{z{|{|{|{|{zz{{z{z{{{||{||{z{{{z{zz}{||{}{{{{{{z{{{{|{z{|{{zzz{zzz{{{{{|||{z{{zzz{|{{{{{||z{|z{zz{{{z||{{{|zz{zz{zz{z|{{{{zzzz{y{zzzz{||z{z{zz{zzzz{{{{z{|{{zzzz{|{{|z{|||z{{zz{{zzzz{z{||{zzz{z{{z{|{z{{{{z{zzzyz{z|{{{|{z{zzz{zzz{zzy|{{z{{zzzz{{z|{z{{zz{zzyyz{{{{zz{{|zzzz{{{z{{z{{{|{yyzzz{z{z{{{{|{{z{zzyy{z{{{{z{{{zzy{zzyyz|z{{{z{zzzz{zz{zzzzz{{||{zzzzz{{|{{z{{{zz{zz{{{{z{{{{|{zz{{yyzz{z{z{{z{{{{zzzz{{|{z{{|z{{zzzzzzz{{z{|{{|{{{{yzz||{{{{||{zzzz{z{{{{{{|{{{{z||zz{z||z|||{z{{{{|{z|{{}{|{z{zz|zzz{{|||{||{{zz{zz{{|{{|||||z{{z{{|{{z{{|{||{{{{{|z{{{||{||~}z{{{{z{|||{|{|{|z{{|{{{{|z||{}{|{{{{{{{{{z||{|||{{{|{{{{|{{||||{{z{{{zz{|{|z|}|{{zz{z{z{{{z{{{z{{z{{y{{y{|{{{{|{z|{yzzz{{||{|{}{{z{z{{{{{{{{z||zzzz{{{{z{|{{{||{{zzzzz{z{|{{|||yz|zz{{z{{{{{{{{{zzzzy{z{||z{{{{{{yzyzzy{z|{zz{{zzzzzzzzz{|{{zz{yy{{zzz{{||{{z{z{zz{zzzz{{z{z{{{{z{zzzzzyz|y{z|{|zzzz{zzz{zzzz{|zz{zzz{y{{{|{||{zzzz{zy{{{{z{{z{{zzzyz{{{z{{{{{|zz{{zz{z|{|||{}{{z{z{yzz{{z{{||{{z{zz{zzz{{z{{|{z{{{y|{{{|{{{{|{|zzzz{zz|{{|{|||{{y{|{{z|{{|{|{|{{{{{z{z|||{{|||{z{z{{z{{}|{||{||{|{z{|{|{|{|{{|{{{{|zz{{|{||{|||z{{{z{z|{|{{|||{{{{{{z|{|{{|||{{|z{{{|z{{z|||||||{{{zz{{|{|{||{|{{z|z{z{||{{z|{{z{{{z{{||{|z|{{z{z{z{{z{{{{{{{{z{yzzz{y{z{{{{{{|zzz{zzz}{{{|{|{{yzzzzzy{{{{{{{{{z{zzz{{{{{z{{z{{zzzz{{{z{{{{|{{{{zzyzzz{{|z{z{{zz{y{z{zzz{{{{z{zz{zzyzzzz{{{{{{{zzz{zzzz{{z{zy{{zz{yzzzz{{zzz{{{z{zyzzyz{{{z|{{{z{zz{zzyz{z{{{|zyzyz{{y|z{zz{{{zzz{{y{{zzz|{{{{{y{z{z{z{{|{|{|{zyzzzzzy{|{zz{|z{{z{zzzzz{{{{|{{{{|zz{zz{z{{{{|{{z{{{zzz||z{{|{z{z{{{z{z{{{|||||zz{zzz{{|{z{|{|{zzz{z{{z{|{{{{{{|zzz{{|{|{|{|||||{{{{||{{{{|z|}{||{|zzz{{||{|{|{{{{{{z{{z{||{|||{{z{|z{{y{{{{||||z{|{z{{{{||||||{{{zz{zz{{{{{|{|{{z{yz{z{|z|{{|{{zyzz{{z{{{||{{z{zzzzz{{z{|{{|{{zzzzzyz{{{z{{{||z{zz{{{zz{zz||||{{|z{zz{{||{{{|{{zyyzyzz{{{{zzz|zzzzzz{z{{zz{|{y{|{zzz{z{y{zzz{zzzzy{zzyy{{zz{{|z{z{zzzz{z{{{{{{zz{zzzzz{z{z{{{{z{zzyzzz{zzzzzz{zzzzzzzz{z{z{z|{{z{zzyzzy{z{{{|{zzzzzzzyzz{zz{{{zzyyzzzz{{z|z{{{{{zy{y{zzz{z{zz{{zz{yz{z{{{{{|{{zz{{{y{{{||||{|{{z{z{{z{{{{|{||z{z{{z{zz{z|{{{zz{{z{|{{{{{|||{{|z{z{{{z{|{z|{|{|{{{{{|z{{|||||{||z{{|{{{||{{|{{||z{{{|z|||{|{|{||z{z{{{z{|||||{|{{{{{z{{{|}|||{|{{{{{{z{z|{||{{|{{{|{{z|{z{{||{{{{zz{{zz{{|{|||{{{z{z{{z{{{{|{|z{z{{zyz|{{||}{{|zz{zzzzz{{|z{{|{z{zyzz{z{{{z{|{|{zz{z{{z{{{{{{|{zyz{{z{zz|{{z||{zzz{zz{zzz|z{|{|zz{zzzzzz{|z{{|{z{{zzzzz{||{{{|{yz{zz{zz{zz{{z{{{{zzzz{{zzz|{zz{z{z{zyzzzz{z{{z{{{zyzzy{yz{z{{|{zzzzzyyzzzzz{{{y|zzzzzzzzzz{{{{zzzzzzzzzzz{{{{{|{zzz{zyzz{{{{{{{{y{z{yzz{z{{||{{z{zzy{zz{z|{{{|{{{zzzyzz{|{{{{{{|{{yz{z{{}|{{{}{z{z{{{zzz{|{{{{||{{{{z{z{{|z{{{{{{z{{z|{{|z}{{|{{z{z{zz{||||||{{{{{{{{{{{{{|||{{{{{{{{|{|{{|{|}{|{|{z{z{|||||}|||{|{{{{{{{||{{|{|z{{{{{{|{||{{||{{{{{{{|{{{|{|{|{z{y{|{{{{|{||{|{{z{{z{zz||{{{|{{{{{{xz|{|{{|zz{{zzz{zzz{{z{{z||zzz{{zzz{z{|{{{{|{{{z{|{{zz{{||||{|z{yz{{{|{{{{{|{yyzz{z{z|z{|{{{z|yzzzzz|z{{{{{zy{{z{zzz{{{{{{{{z{{zzyzzz{zz{{zzzzzz{zzz|z{{zz|{zzz{{{{{z|z{{{{{z{zz{zyz{{{{z{|{{z{zyzyy{zzzz{{zz{zzz{zz{zz{|z{zzzzzy{{zz{zz{|{{{z{|z{{zz{z|{{|z{|{zz|z{{z{{{{{z{z{zz{z|{{{|}z{{z{{zy{z{|{{{{{|z{zzzzz{|{{|z|||{{{zyz{{{{{{|{{|{z{{z{{{{{||||{|z{zzz{{{||||{|}|{{z{||zz|||||{}{{z{z{z|z||||||||{{{{{{|{{}{{{||||{{{{{{{|||||}||zzz{|{{{||{|{|||{{{|{{z{|{|{|||||z{{{{{{{{|||{{}{{{z{|{{{{{|{||||{z{{{z{{|{{|||{{{|z{z{z{|}|}|{{z{z{zz{zz{{{{{|{zz{{zzzz||{{|{||{zzzz|zz{z{{{{|z{z{{z{{zz{|{{{|{{{zzz{{z{{|{|{{|z{zyz{z{z|{zz{|{{{z{z{zz{|{{{|{{zzz{{{z{z{z{z{{|zzzzzzzzz{{z{{{|{zz{zzzzz{{{{{|{{{zyyzzzz{||{{{|zzzyyzzz{{{{{{{zz{z{zzzy{|z{{|zzyzz{{z{yz{||{{{{|{zzzzzz{{{{|{|{{z|z{{{{z{{|||{{{z{zz{{zz{z|{{|{{|{{z{{{{{|||{z{{zz{z{z{{|{{z{|{{z{{{{z{{||{||{{{{|{|z{{|{||||||{{z{{{{z||z|{||{|{{{{zzz||{{{{|||z{{{{{z{||{{|{{|z{{||{{{{{{|||}|{z{{{{|{||}|{}||{|{{{{z|{{{||||{{{{z{{{||{{{||{|{z{{{z{{|{{{|||{z|z{z{{{{{|||{||{{{{{{{{|||{{{||z{{z{{z{z}|{{|{z|zz{zzz{{{{{|{{zzz{yz{{|{{|{|{|{z{yz{zzzz{{z|||z{{zzz{z{z{{z{|||yzzz{|y{|{{{{||z{{zyz{z{{{z{||{{zz{zzzz{{{{{{{{zzz|z{zz{{y{|{|{{zzzzzzz{{{z{{|{{zzzzzzz{zz{{{{{{z{zzzy{z{{z{z{zz{z{zzz{{{{z{{y{zzzzzz{{{{{{z{||{zzzzzz{{{z{{||{{yy{zzzyz{{{z|{|{{{z{z{{{||{{{||{z{{zzz{|z|{{{{|{{|z{z{{{|{{||{||{{|{|{{{{{{{{}z{z{{{{z{{{{{{||{{{{||z{z{|||||||{{z{z{||z|{|{|{|{{{{{{|z||}{||{{{{{z{{zz{{{|||||{{|z{|{|{{||||{||{{{{{{{{|||||||}z|{{{|{|||{|||||{{{{{y{{||{||{|{{||||{{{|{||{{|{{{z{zz{|||{{|||{z{z{z{z{|{|{{||{zzzz{{{{z|||z|{zz{zzzzzz|{{z{|{zzzz{zzz{{{z{||}{{{{yzzyzzzz{{||{{{yz{y{{z{|z{{z{zzzz{zz{{{{{|z{{zzy{zzy{z{zy{{{zzzzzzz{|z{z{{{|zzzzzzzzz|{|{{y|z{zyyy{y{{{z{{{zzzzzzzzzz{{{{zz{zz{zyzzz{{{{{z|{{zzzyzzzz{zzz{|z{{xzzxzyz{zz||{{zzzyzzyzzz{z{{{{zzzzzzzz{||{{|{{zz{{zzzz{{{{z{z|zz{zzz{z{{{{z|{{{{z{zyz{z{zz||{zz{{zz{{y{{||{|}{|{{zz{{{{{zz||{{{|z{z{z{{{{||{{{zz{|z{{|||z||{{{z{{{zz{z{z}||{|{{y{{zz{||{|||{{}|z{z{{{{{||{{|||||zz{|z{||{||||||{|{{{{{{{|{||{|{{{{{{z{{{|{{{{|{{{{{z{{{||{{|{|{zzzzz{z{{{|{|||{{zz{|{{{|{z|z{{{|{{|z{|{{|||{{{{z{z{z{z{{{{{{{|z{z{zzzy{{{|{|z{zzzz{{z{{{{|{|{{zzzzzzzz{{{|{{{{{{{zzyzy{{{|{|{{{zzzzz{{z{zzz{{z{{{yzzy{{z{z{{{{zyzz{zz{{z{zz|{{z{zyyz{z{|z{{zz|zzzzzzzzzz{{z{zzz{zzyyyzz{z{{{{zzzz{zz{yzzzzzz{{zzz{zzzzz{{{{{{{{zyzzz{zz{{{{{{{z{yzzzz{{{{{z|{{{z{zyzzz{{{{z{z{z{{zzzz{z|{{{{{|{{|{|{zz{{{|{{{{{z{{{{{{{{|{{{|{{{{{{{{z{{{{z|{{{{{z{{zz{||{|||{{z|zz{{{{{{{|||||{{|{|{z{{||{||{{{{{{{{z||{{{|||{z{{z{{{{|||||{|{{{{z|{{z}{{{|{{|{||{{{z||{|{}}{|{{z{{{{|{{{|{{{|{z{{zzz{{{{|||{{{z{zz{z{{{|{{||{zzz{{{{{{|{{}{|{z|z{z{|{}{||{z{{z|{yzzzz{{z{{|{{{zzy{z{|{{{{{z{zzzzzzzzz{{|z|{{{yzzzzzz{{{{z{|{{{zzzzz{z{{{z{{|zyzzzz{yz{{z{{{zzyzzyz{zzz|{{{{{{zzzzzzzzzz{zz{{zzzzzzzzzzz{zz{zzzzyyzyzzzzz{{{zzzzyzzzzzz{{{{{{z{zzzyzy{{z{zz{{{zzzzzy{z{zzz{|zzyzy{zyyzzz{{{{{{z{{zy{z{{{{{{{{zzzzzzzzz{{z{{{|zz{{zzyz{{{{{|{{{zzz{yz{z{{|{|{zzz{|{zyz{{{{{{{zzz{zzzyy|{{{z|z{z{zzz{{{{|{||||z{zz{{{z{{{{|{|{|{zz|zzzz||{{|{{{{{{y{{{z{||||{{{zzz{z{{{{{{{{|{||{|{{{z{{||{{}|{|z|z{{{z|{{|{||{{y||{z{{{||{{z{|zz{{{{z{|{zz|{|{z{{z{z{z{{{|{|{|{z{{{z|z{{|{{{{{zz{{{{|z{|{||{zzyzzy{zzzz{{zzz{{zyzzzz{z{z{{{|{|{zzzz{{z{z{{{z{{zzzzzzzzz{{{z{{{{{{z{yzy{{zz{{{|z{{zz{zzz{{zy|{{{zzzzzyzzyzz{{|z{zzzzzyzzzz{z{{{zy{yyzyyyzz|{zzzz{{zyyyzz{{zz{|{zz{zzyyz{{zzzzzzzzzzzzzzzz{zz{zzzzzyzz{{z{{{z{|{zz{{zzzz{{{z|{|{zz{zzzzzz{{zz{{|zy{{zz{{{{{z{z|{{z{z{zz{|{{{{{{|{y{zz{{zz{{zz{|zzzyz{{zzz{{{{{z{zz{zzzzy{z|{z||{zz{z{{{z|{|}z|{{z{yz{z{z{|{{{|||{{zz|z{z||{{||{{zz{{z{z{|||{{|||{{zz{|{|{{{||||||{{|{{z{}||{|{{||{{{z{{z{{{|{||{{{z{zzz|||{{{{|{|{{{|{{{||{|{|{|||{z{z{{{{{{{||z{{z{{|{z{|{||||z{z{{{z{z{||||{{|z{zzzzzzz{{z{zz|zzz{zyzz{z{zz{{{zzzyzzzz{{{{|{|{zz{{zzyz{{{{{{{{{zzzyzzz{zz{{{z{zz{zzzzy{z|{zz{|{zzzz{z{{{{{z{{{z{zzz{zzz{zzz{{{zyzyzyzyzz{zzz{z{zzzzyzzzz{yz{{{zyzyzzyz{{zz{{|zzzyy{y{yy{{zy{{zyyy{yyz{z{z{z{z{zzzz{{zy{z{{{|z|zzyy{zyz{z{zzz{{{{{{zzzz{{zz{{{{zzzzyzzz{z|{z{|zzzz{zzzz{{{{z{{{{y{{{{{z{{|{|{||{z{z{{z{zz{{|zz{{{z{{z{{{{|{{{|{{{{z{{{z|{z|{|||{{{{{{zz{{{{{z||{z{{{{{{{{|{z|{|{{{z{{{{{z{{|}{z{{{{z|{{{z{|{|{{|{|{|zzz|{z{{|{||{zz{{z|{|{{||||{{{z{z{z{{{z||{{{zz{{z{{z||{{|z|}{{zzzzy{{{|{|{|{{z{{z{{{{}|}{{zy{{zzzzzzz{|z{||{zzzzzzz{z{{{{{{{zyzz{{zy{{{{z{|{zzzzy{y{{{{z{{{{z{zzzyyz{{zz|{{z{{{z{zz{zzzz||zzz{zzzzz{||zz{z{zyzy{zz{{zzzzz{{zzy{zzzzz{{{yzzz{{y{yyyzzz|z{{z{zz{zyyzz{z{zz{{zyz{zzzzzzzzzzz{z{{zzz{yzzzzzz{{zz{zyzzzzz{z{zz{{{zzz{zzzz|{y{{{{zzzzzz{zz{{z{|{{z{z{zzzz{{{{z{||zzz{zyzzzzz{{|{{{zzz{zy{{|{|z{|{{{yzzz{{|{{{{|{{{{{z{z{{{z||||||z|zz{y{{{zz|{|||zz{|zz{{{|}|{{|{{{{z{z{{|||{|||{y{{{{|{{{{{z||{{|z|{|{{{{|||{{{|{{z{{zz||{{{{||{|{{{{z{z{z{{{{{{|{{z{{{{z||z{|{{z|{zz{{{|{{|{{|{{{z{{zzz{{{|{|z|zz{zz{zz{||{|{{zz{zz{{{z{|||zzz{{z{{zy{yz{{z{|{}zyy{zz{{{{{{{||{z{{{zzzy{{{{z{z|zz{zyz{z|{{{z|{|{zz{yzzy{{{{z{{z{y{zzzzz|z{{{|{|{{zzyzyzz{{{zz|{{z{yzzyz|{z{z{z{zyyyy{zz{{{{zzz{z{{zzzzyz{{{y|{{{zz{zyzzzz{zz{z{zzz{zyzzzzzzz|zz{yzyz{zzz{z{{{{{zzzzzzzy{{{{z{|{{z{z{{{z{{{{z{z{{z{yyz{{{z{{{{z{{{zz{{{zz|z{{{{|{{z{yzzyz{|z{{|{z{{{{{zzz{{z{{{{{{zz{zz{z||{{|{{z{{{z{{{{|{|{{||{{{{{zz{{{}{{||{{z{{{{zz{||||}|{{{{{{{{{{|z||||||{{zz{zz}|{|||||{{||{{zz{||{{|{||{zz{{zz{{{{|z|{{|zz{{{{{{{|}|||{{{{{{z{{{|{{{|||{{{|{zyz|{|{z|{z{{zzzzz}{|}~{|{zzz{zzzz{{z{|{|{{zzzzz{z{{{{{|{{{|{yy{{{{z{||z{{zzz{{{{z{{{{z{|{{{zzzz{zzz{{{{||{zzzzz{y{z{{{{{z{{zzzzzy{{{{z|{|zz{yyzyz{|z|{{{{zyzzyzzzzzzz{{{{{zzzz{zzz|{y{zzzyz{zz{zy{{{{z{{|zzzz{{zzyzz{z{|{{{{zzzzyz{z{{{z{zz{y|zzzz{{z{{{{{{yzzyzz{{zz{|{|zz{{{{{{|z|z{|{|zzzyz{zz{z{{{||{{z{{zz{z{||||{|||{z{{{{yzz{{{{{{|z{{z{{{z||{|{{{{{{{z{{{{{|{|||{z{z|{{{{|{{{{|||{{{{|zzzz{|{{}|{{z{z{{{{||{{||}|{{{z{{{|{|{{{{|||{{{{{{|{{|{{|||z{z{{{z{||||{||{{{z{{{{{{{||||||{{{{{{zz||{{|{{|{{zzzz{zz{{{{||{z{{zzzz{{{||}|{|{z{|{{{z|{|~~{{|{{yzz{{zz||z|{{zzzzzzzz{{z{|||{|{{{zzzzy{zzz{{{z{z{yz{{y{{z|zz{{{{|zzyzz{z{{zz{{yzzzz{{z{zz{{{|{{zzz{zzz|{{|z{{{{{{zy{zz{z{{{{{{zzzyzzy{zz{y{{{{z{zyy{zzzz{z{{{{{yzzy{yzzz{|{{{|zzz{yy{{zz{y{zzzzy{zzzzzy{zzz{z{zzz{{zzyz{{z|{{{{zzyzzzz{{z{{{{{zz{yzzzy|z{{z{|{zz{zz{zzzz{z{{z{{y{z{{zz{|{{||{{{yzzzzzz{|{|{{{{{{zzz{zz{{{z{{{{|zz{z{|z{{|||||{{z{zz{{z{|z{{|{{{{z{|z{{||||||||{{{z{z|{{||{{||||{|{{{|{{||{||||{{{{z|{{{}|{z|{|{{{|{{{{|{{{||{{{zzz{z{z{{{||{{{{{{|{z{{{{|{|}|{{{zzz{{{z{{{{{||{z{z{zzz{|{|{{|||{{zzz{{||||||{{|z{z{{zzz{{{{zz{{z{zzyzz{{{|{{z{{{{yzzy{{|{y{z|zz{zzzzzzz|z|{{{{zzzyzz{z{z{z{{|{yzzyz{zz{|zzzz{{zz{zzy{{{{z{{{{yzz{zzzzzzz{z{{zzzzz{zzz{{{z|{{{{zzzzzzyz{z{{{|{{y{zyzzzz{{zzz{{{z{yzzzz{zzzzzz{{z{z{{zzzz{zz|{{z{yzzz{yxzz{{{{{{z{zz{yyzz{{z{zz{{{zzzzzz{{{zz{{{zzyzyzzz|{{{{{z{zzz{{zzzz{{{{{{{{zzzz{zz{z{{{|||{{{{{{{{z{|{{|||{{zz|zz{|{{z|||{z{{{{z{{{|{{{}|}{{{{{{{zz{{|||{|{{z{{{{z{{{{{{{|{{{{{{{{|||{{{|{|z{{{{{z{|{|{z|||{{{{z|{|{{||{|{|z{{{{{||{{|{|{|z{{{{{{{{{|{{{||{z{z{zz{{{z{{{||{{{{{{{{{||{{{{{{{{zzy{{||||}{{zzzzzzyzzz{{zz{{{{{z{{zz{{{{{{|{|z|zz{zzz{{z{{{||{{z{zzz{{|{{{{{{{zzz{z{y{{{{z|{{zz{yz{{{z|zz{{{z{y{zzzz{{{{z{{{{{zzzy{zzzzz{{y{|zzzyzy{y{zzz{{{zzzzzzzy{zz|y{{{|z{zzzz{yz{z{z{|zzzzzz{{zz{z{zz{{zzz{{z{{zzz{{|{{y{z{z{zzy{z{|{|{zyzy{zyzz{{{{{{|{yz{zyz{z{z|{|{{{z{{z{zy{z{{{{||{zzz{{zz{{z{{{{||yzz{{zz{{{{{||{{{z{{{{z{{{{z{|{{z{zzyzz{{{||z{|z{{{{{{{{|z|{}|{zz|z{{{{{}{}|{|{{|{|{{{z|||{|||||{{{z{z{|||||||{{|{|z{{{{|{||{{{|z{{zzz{|{|||||||{|{{{z{{{|{{|}|{{{|{{z{{{|{z{}||{z{z{{z{{{|{|{|{{{|{{{{{{z{|||z{{{z{z{{||}|}||zzzyzzz{z{{||{z|{{z{zzzzzz{{zz{{{{z{zzyzz{{z{z{{|zz{zz{z{{zz{{{zz{zzzzz{yy{{z{zz{z{zyzzz{{{{zz{{|zz{zzzyzyz{y{{{{{{zz{yzz{{z{{{{{zzyzzyzzyzzzz{{{|y{zzyzzzz{{z{{{zzzzzzzy{{{{{zz{zzzzyyyyzzzyz{{zzzzz{zzyz{{zz{|{y{yzzzzzzzz{z{z{zyzz{zzz{{zyz{{{{{{zz{z{{{yz{{||z{zzyzzy{z{{{|{{{zzz{y{z{|{{{z{|{{{{z{zz{{{{z{z{{{zz{yz{{{{{z{z|{zz{z{z{|{|{|{{{z{{{{z{z{{{{{{{|{z{{{{z{|z{{|{{{{{{{{{{z{||{{{||z{zzzz|{z|{{{}{||z{{{{z{{|{{|}{||{z{{z{z|{{{{{{|{{zz{{{{{z{{|||{{{z{{z{{{{{{{|{}{z{zz|z{{{{|{z{|{|z{z{z{{zz{z||{z{{zz{zzz|}|}{{zz{zzzzzy{{{z|zzz{zzzzzzzz{{z|{||{{zzzzyz|zz{{||zz{zz{zz{zz{|z{{{{{zy{z{z{{zz{{{|{{z{zz{z{{z{{|{{zzzzzzz{{{{zz{{z{zz{yzzz{{zzz{|zzzzzzzzzzz{{z|{{zyzzyzzyz|{|{{||z{zyzy{zzz{z{z{z{z{z{zzyz{z{zz{{z{zzzzzyzzzz|{{z{z{yzz{z{|z{zzz{z{zz{{zzz{z{{{{|zyz{zy{{z{{z{{{|zzz{{z{{|{|{{zz{{|zzzz{{{|{{z{{{zyzzz{zz{z{{z{{{{zy{{zy{{{||{{{||zzz{{z{{||{{||{{{zzzz|{{{{|z|{|{{zz{zzz{||{|{|{z{{z{zzz{||z|{|{{|{|{z{y||{|{||||{{{z{{{{|||||{|{z{{{{{{zz||{||{{z{{{z{z|{||{{|{|{{{|zy{{{{{{|{|{{z{z{z{z|{{|{}|{zzz|z{zz{{{{{|{{{{z|yz{|{|{|{{{{{yz{zzzz{{z{z{{{z{zzyzz{y{y{{||{zzyzzzz{{zz{{}z{zzzzzzzzz||z{{|{{{zzzzz{{{z{|{{zyzz{{zy{{{y{{{{zyzyyzy{{{{zz{zz{zzzzzzy{zz{zzz{yzzyzyzyzz{{{z{zzzzzyzzzy{{{{{{{{zz{zzzyzz{z{z{{zzzzyyyyyzyyzzzzzzzzzzzz{{{{{{z{{zzzyzzzzzz|{z{{z{zzzzzzz{zz{{{|{yzzzzzz{z{{z{{{zzzzzz{{{z{|{|{{{zz{zz{z{{|{z}|z{z{{{zzyz|{{{{|{{zz{{z{{{{z{z{||z{z{|zzz{{|{|{|{{zzzzz{{z|{{|{||{z{zz{{z{{z{{{|{{z{{{{zz{||{|{|{{z|{z{{{|{{{|z{||{z{|{zz{|}{||{||{{|{z{{{|||{|}z{{z{{z{{{{z{{{||{{{{{{zz{{{|{{|{{{zzz{z{{z{{|{{zzzyz{z{z{|{{z|{|{|z{{{{y|{|||{{{yzyyzy{zz{zz{z{|zz{yyzzz{z{|{{{{{zzyzzzy{{{{z{|{z{yz{zzzz{{{{zzzzzyyyz{z{{{zzz{{z{zyyyzz{z{zz{{{zzzyzyyyz|{{z|z{yzzy{{zz{zz{z{z{{zyyzyzzz{zzz{zzzzzzzzzz{{{z{{{{z{zzy{zyzzzz{z{zzzxyyzyyyzyzyzzzzzzyyyyyyzz{zzz{zyzzzzzzzzzzz{{|z{yzzzzzz{zz{|{{zy{zzzzzzz{z{{{{z{{{yyz{{{{{{{z{{z{{zyzzzz{|z{{zz{{zz{zzz{z{{{|{{{z{{{z{{{{z{{|{{|zzzz{y{z{{z{{zz{{z{z|y{{z|{z|{|{{{|{zy{{{|{{{{|{z{{{{z||{{{z}|{{zzyz{{{{||}|{|z{|{{{{{z{{|{{||z{{{zz{z|z{|{|{{{{z{{{zzz{{z{z{{{{z{{{z{||{|{{{|{zyzzz{{{|{{|{||{z{zzzz{{{|z|{{{z{z{{{zzz|{{{z|z{{zzzyyz{{{{|{{|{{yzzzzz||zz{{{{zzzz|{zy{{{{{{|{|{zz{yz{{{|z{z{{zzzy{z{z{{z|z{{|zy{zzy{z{z{z{|z{{zzzzzzz{z{{{{{zz{zyzy{z{z{{zz{|{yzzzzz{{{{{z{zz{yyzzzy{{{{z{{z{z{zyyz{zz{zzz{{z{zzyzz{yz{{{{zz{zzyxzzyzz{z{{{z{{zzyz|zy{z{{{{{{{zzzzyzz{{{{z{{{zzz{z{{z{{{zz{{{{{zzzz{{{{{|||{|zz{{|{{zz|||{|}{zz{y{zzz{{{{z{||{zz{zz{zz{{{z{|{z{z{{z{z{{{|||{{{z{{z|{z{|z|{||{{zzz{{{z{||{|||{{z{{z{{{||{{||{|{z{z{{{{{{{{{{|{|{|{{{{{||{|{{{|{{|{{{z{||{{{|z|z{{z{|{{z|{{||||{{z{|zzz{{|{{|{|{{{zz{yz{{|{{|}}{z{{z{{zz{{|z{|{{{{zz{{z{||{}{{{z{zzyzzzz{|zz{{{zzzzzzzzz{{z{|{{{zzyz{z{{zz{zz|{zzz{zzzz{{{|{{|{{{zzzzzz{{{z|{{{zzzzyzzz{{{{zz{z{zz{{zyzz{{{{{{zy{zzzzzzzz|{{{z{{zzz{zzzz{z{{z{zzzyzz{y{zz{z{{||zy{z{zzyz{zz{z{{zz{yzz{yy{zzz{{{zz{zzzzzz{{{z{z{{zzyzzzyz{z{{{|{zzzz{z{z|{{zz{|||z{z{z{{{{{{{|{|zzz{yz{z{{||{|{{zzz{z{{z{|z{{|{{||{z{{zz{z|{{|{{{z{{{z{{{|zzz{||z{{{{z{{||{{{|{{zz||z{zzz{{|{|||{z{{{zz{{|||{{||{{{{|{|z|{|{{{||{|{zz{{{{|{||||||{{|{{z{{|{|{||||{||zzz{{{{|{||||z{{{z|z{|{}{|{|{|{{{{{{{z{|{|{|zz{{z{{{{|{|z||||{{|{{{{|{|{|{{|{{{{{z{{||}{|{{{zzzz{zzz{{{{z|{|zz{{zzz{{zz{{{{|zzzyzy{{z{{z{||{{z{zzyz{z{z|y||{{{{zz{zzzy|{zz{|zzz{z{z{z|zzz{{|{zz{zz{z{{{{{{{{zz{zzz{z{zz{zzz{zzzyzzzyz{z|{{|{zyzzzzzz{z{{{{{{zz{zyzz{zz{{zz|z{z{zzy{yz{zzz{{{zzzyzyzzy{zz{{|z{{zzzzzzzzzz{||{zy{zzyz{{{z{{{{|{zzzyz{z|z{|{|{{zz{z{zyz{{zz{{{{{y{zzz{z{{{{{{{{|zzzz{zz|{|{|{{{z{{z{zzz{{{z{{{{z{{{zz{z{{{||||{{z{z{{{|{{{||||||z|{{{{z||{|{|{{{z||{z|{||||{|}{z{||{{{{{||{|{|||z{zz{{{{}|{{{|||{{{z{|{|||{{{||{zzz{{z{{|{{{|||z|z{{zz{{|{|||{{{{{zz{{{{||{z{||{zzyz{zz{{{{z{{{{{{z{{z{{z||{|{|{{{{zz{z{{|{z{||z{{z{zzz|{{{{|z{{{z{{{zz{{{{|||{|{{zzz{{{|{|z{{|{{{{{{zz{{{}{{||zzzz{{{z{{{{{z{{{zz{{{z{{z{||z{{z{zz{{{{{z{{{{|{zyzzzzzzz{{{z{{{{z{{zzzz|{||{{{{{z{zz{z{{{{z|{{{zzz{{z{zzzzz{{|{{yzyzzzy{zy{{}{{zz{zz{z{{{{{{z{{{zzzzzz{|z|z{{|z{zz{{{{z{{{{{|{{{|{|zz{{{{{z{||||z{|zy{{{|{{{{|{zy{{{z{{{z}{|{}||z{{{{{{{{{{{|||{{{|{|{z{{{|||{|{{|{z|{|{|||{|||{|{}{{{z|{|{{{|{|{{{{{{{|}}||}|||{|{{|||||{{|}|||{{{{{{||}{||||||{{{z{{{||||{|{{{zz{{{{|||||||||{{{{{|{{{{|||||{|{{z{z{z{{{{{}|{|{{{zz{{{||{{||z{{{z{z{z{{|}{{|{{z{zzz{{z|{{|{{{z{z|{{|z{{{{{{||z{{z{|z{{{{|{|{|{|{{zz{{{{{{{z||{{z{zzz{z|{{{|}{{{{zz{zz{{z{z|{{{z{{{zzz|||z{{|{{zz{zzyz{{z{{{{{{zzzzzzy{|z|{z{{{z{|z{zz|{{{|z{|{z{zzzz{z{zz{|{{zzzzzz{zzz|{z{{|z{{zz{{{z{{|{{{{zz{{yz{z{{{{{{{||zz{{z{zz{{z{|{||zz{z{{{z{{{{{|{{{{zz{{{{{||{|}|{{{z|{{z|{|}|||}|z{{{|zz{|z|{{|{|{{z{{{{{||z{|{|{z{{|{|{|{|}|||}{{{{{{|y||z|||{{z{{{{{{z||||||||{{z{{{{{||{{{|||{{{{|{|{{|{|{||}|{{|{z|{{||}|||||{{|z{{|{|||{|||{{|{{|{{|{{||||}{|||{{z{|}|{||||{{{{z{{{z|{{|||||z{{{{{{{{||{||{{{{z{{{z}||||||}{|zy{zzz{||{z|{{|{{{{z|{||z||{|{{z{{z{zz{z{{}||z{{{{|{|{{{||{{||{|{{{y{z{{|{|{{{|{{{z{zzz{{{z{||{{{{{{z{{{|{{{{{|z{{zz{z{{z{{{{|{{zz|z{{{{{{{{}|zz{zz{{{{||{|{{{{zzzz{z{{{{|{|{|zzzzzz{{{{{{{|||z{{{zzzz{{{zz|{{{{{{{z{y|z{|{{|{zz{{z{|z{|{{y||{{{{{{{{zz{{|||{|z{z{{z{{{{}{{}{{|{{{{{{{{||{}|||{{|{{|z{{}|{{|{{{{z{{z{{|{|{{|||{{{{{{z{||{||{{|{{|zz|{{||{|{||{{{|{z{{z||{||{||{{{{{{{{|||{|}|}{|}{{{|{z}{{||{}||{{|||{|||||}}||{{|z||{||{{{|}||{{||{{|||||||||||{{{{z{|||}||||{|{{|{{{|}{|||}|{|z|{{{{|}||{|}}{{{||{{{{||{|{{{{{z{{z{zz{{{{|{|{{|{zzzz{zz{{{{|{{|z{{{z{{|{{|{}{{{{zzz{{{|{{{|{{{{zyz{y{}{{{{{||z{zzzz{z{{z{z{|{|zzz{zz{{{{{{{{zzzzz{z{z{{{|{{{zz{{zzz{y{{{{|{{{z{zyzz{z|{{{{z{z{{zzzz{{{|{z{|}z{{z{z{{z{{{||{{{y{y{{z{z|{|{||{{z{{{z{{{{|{{{{{zzzzzyz{{{|{||||{{{{{{{z{{|{|||{{y|{{{z{{{||{}|{{{{{|{{{z|{|||z|{{|{{{{z{{}|||}}{{{{{z|{{||{||{|{{{zz{z{|{|{||||{{{|z{{{{|{|{||||{{|{{{{|}|z||}{|z{{|{zz||{{|||{|{|{||{{||{|||{|}{|{{{{|||||}{{|}|{{{||z||||{{|{|{{{{{{||||{|{}}||{zz||{|{}}|}||{{{{{{|{|{|{{{{{{||z{{{{{||{{||{|{|{|{{zz|{{{{{|z{{{{zzz{z{{{{{|z{{zz{zzz{|||{{|{{z|{{{{||{||||{|{{{{{{{|zz|zz{{{{zzz{{{{{{||{{|{z{{{{zzz{{{{|{{|z{{z{z{{{{{{{{{z|{zz{zz{{{{{{{{z{z{{zz{z{|z{{|{{z{z{{zz{{{|{{{{zzzzz{{y{{{|{z{{{z{z{z{zz{zzz{||z{y{{{zz{|{|{||{{z{z{{{{z{{{||||{z{{z{zz{zz{{{||z{z{{y{{{|{|z{{{z{zz{{{z|{{{{}|{|{{|{z{{{|{{{{|{{z|z{z{z{{|{{z{|{z{{{{z{||||||z|}|z{|{z{||{||{||{|{{|||{||{|{||}{{|{{{z{{||}|{|{|z{{{{{{{|}|}{|||{{{{|||{{|{|}{||{|{{}{{||}}||}|{{|{|{|{||||||||{{||{|{{z|||}}}}||{{|{{{|{||||||{z{{{{z|{||||{|{||z{{{{{{{{{{{||{{{yz{{{{{}{||{{{{{{{z{z{{{{{{{|{{{{z{{{|{|{{{z||{z{zz{z|{{|{{{|{z{{{zzz{||z{{{|{z{{y{zz{{{|{{{|{{{{z{{z|{zzz{{|{z{{{|zzz{}{z|{{zz{zzzz{|{{{{{{{zzz{z{z{{{||{{{{{zzzz{z{{||{|{}||{{zz{z{{z{{{{{{zzz|zz{{{{{{{{{zzzz{{zzzz{{{|{{{y{{z{zzyz{{{{||{{y{z{z{{{|{|z{{}{{{{{z{z{{{{||{|z{{{z|z{{{|{z{||{z{|z{{zz||||}||{{{{{|{{{{{|{}{{{{{{{{z{{|||{}{{z{{z|{{{{{{{||{}{|{{{{|{}{|{|{|{{{{{{{|{{||}||}{}{{|{||{{|{{||}||{|{z|{{|{|{||{||z|{|||{{}{|}||}|{||z{{{|||}{||{{{{{{|{|}|{{|}}{|{|{|{{|||{||{||{|{|{{{{||||||~{{|z{|{|||||{||||{z{{{{{z{|||||{zzzz{zzz{{{||{{{{z{{|zz{z|{}{}|{{|{zz{{z{{|{{||}||{{z{{{{{||{{{{{{{{{zzzz|{||z{{|{{z|{z{{{{{{{|||{{{{zzz{z{{{{{{|{{{{{z{||{{||{{{z{{z{zz{|z{|{z||{z{{{{z{z{|{{{z|{{{|z{zzz|{|{{{|{z{{zz{zz{{|z}z|{z{{zzz|z|z{zz{|zz{z{{z{{{|{{{{||{{z{{|{|||{z||}|{{|{z|{|{|{{|{{z{|{|zz{||||{|||z{{{{{{{z|}||||||{{z{z{{{|{|||}{{{{{{{{{{{{{{|||{|{{{|{{|{{||||||{{z{{{||}{|{|}||{{}{{{|{|}}|}||}{{{{{{{|||||}||{{|{{||||}}||||}{{|{z||{||}}}}|}||||{z|||||||}}|}{|{{{|{|||}}{||{{{||{{||||{||{||||{{{{{|{|{|{||z{{{{{{z{|{||}||}|{{|{|{{|}}||}{y{{{|{{{{|{{{{||{{z{{z{y{z{z{{{zz{y{z{{z{{{zz{|{z||z{zz{{{|{{||{{z|y{zzz{|{{{{|{z{{{{{zz{{|{z{{{{{{zzz{zz{|z{|{{zzzzz{z{{zz|{{{{{{z{{{zy{{{{{z|z{{zzz{zzz{{{||{||{{{{z{z{zzz{||{{{{{zyzz{{zzz{{z|zz{y{{{z|{|{|{|{yzz{{{yzz{|||{{zz{z|{{z{||{{z||z{|z{{{{{{{z{|{{{{z{{{z{z{{{}|{|{|{zzzz{z{z|{|{|{{{{{zz{{|||z{|||{{|{{|z{{{zz|||{|{{z{{|{{|}z|{|{{{{{{{{|{{||||||{{{{|{z{||||{||{zz|{|y{}||{}||}{|{|{{|{||{{|||}|{{{|{{{{|||{}|}{||{|{{{|||||}|||{|{|{|{|{{||{|}{{{{{{{|||{{||}|{z{z{|z{{|{{||||{|{z{{{{|{{{{|{{{{{z{{{{{|||||{{|{z{z{{yz|{{|{|}{|z{zyz{{{|{{||{{{{zzzz{z{|z{{{{{{{{{zz{|{|{z{}{{zz{{yzy|z{{|{{{z{y{{z{{|{||{{{|{{{{zzzz{|z{{{|{z{z{{zz{zz{{{{|}zzzzz{zz{z{{{{|{{z{zyzz{{{zz{{{|{{{zzz{z{{{{{{|{zzzzzz{zz|{z{{{{|{zz{zzz{{z{{{{{yz{zzzzzzz{{|||{z{{zzzz{{|{{|{|{{{{{|{z{{||{{{{|{{zzz{z||||{{|{{{z{{z{{{{|||z||||{{z{{z{{||}{{|{{z{{{{z{{|}|||||{zz{|{|{{{}|||||{|{{z{{{|z{|||}|z{{{|{{||{|||{|||z{|{{{{{}|{{|||{|{{{|{{|}{{|||||{|{{{{{{{|||||{{{|}{z{z|{{||||||{{{{{{{|{||{|}{||{{{{{{{|{{{{||{{|{{|{{{|{|||}{|{{{z{{{||||z|||{{zz{{{z|{|}|{|{zzzz{zzzzz{{{{z|{z{z{z{{{|{{{|{{{{{zzz{zz{{{z{|{{zzy{yz{{{{|zzz|{{{z{{{z{{{{{{{z{{z{z{{zy{{{|{{{{{z{z{{z{{{{z{{|{zzzzzzzzz{|{{z{z{{zz{{{z{{{{{{z{zz{zzz{{{|{z|{{{z{yzzy{{zz{{{{{zzzz{zzzz{{zz{{{{zzzz{{zz{z{z|{zzz{z{{yyz|||{{|{{z{z{{{|{|{z{|{}{{{{z|{zz{{{||{|{{z{z{z{{{{{{{{{|{z{z{{z{|{|{|{||{{zzzzz{|||{|||{{zz{z{z{|{{||{|{z|{{{{{{|{{{|{{{z{z{{{|||{|||||{{{|z{z{||{|{|{}{z{{{z{{{}{{{{||{{{z{||||{||||{|||{{|{{{{|||||}|{{{|zz{|{{|}{||}|z{{{{{{||{|{|||{{{|{{{{{{{{||||{{{z{{z{|{||{{|{|{{{yz{{{||||||{{{{zz{{z{{{||||{zzzz{zzzz|{|zz{{{{{z{{z{zz{{|{{{{{zzzzzz{{{zz|z{{|zz{z{zz{|{{{{{zzzz{{yy{{{{{{{|zz|{zzzz||zz{{{{{zz{zzzz{{{{{{{z{zyzzzzz{zz{{{|{z{{{zyyz{{{{{zzzzzzz{zyz{{{|{{z|{z{zzzzzzz{z{{|{zzzyzzzzzz{{zz{z{z{zz{z{z{|{{{{{{z{{{zzy{{{{{|{|{{z{yz{z{|{{{{{|{{{{zyzz{{z{z|{{|zz{{z{{z||{{{||{{{zzzz{z|{||z{{{{yz{{{z{|{|{{z{{{{{{z{{{|{{{||{|{{{zz{{z|{{||||z{{{{{{{{{{|{|||{{{{{|{{|{{}|{{{|{{{{{{{|||{|{||{{{z{||||{|}{||{|{{{{||{||{{}|{{{{{|{{z|{}||{||}{{z{{{{{|{{||||{{|{z|{z{{{{|{{||{{{zz{|{{{||{|||{{zz{{{z{|{||{||{{{{z{{{{|}|{{z{|zzzz{{{{|{{{||{z{zz{zzzzz{{{{|{{zz{zzz{{{{{{|{||z{{{{y{z{|{{{|||zz{yz{z{{{|{{{}{{{z{{{z{|{zz||{{z{zyzz{{{|{{{{{{yzzzzzz{{|{z{|{{zzzzzzzz{{zz|{{{zzz{z{{zz{{{{{{zz{zz{{zzzz{{|||{y{{zz{zy{{{{{z|{{zyzzz{zz{|z{{|zz{z{{z{{z{||{{{|zzz|z{z{||{{|||{{z{{z{z{{|{||||{{{z{zz{|{||{{||{{{|{z{{z{z{{|{{{zz{{{z{{||{|||{{{{z{{{{{|{{||{{|{|{z{{{||{|||||{{{{{{zz||{|||||||||{{{{|{{{}{|||{|{|{{{{}{{{{||||{{zz|{{{||||{}|{{|{{{{||||}}|||{||{{{{|{||||{|{{{{{zz{||||||{}{|z{{{{{|{{{||||{z{{zz{{z{|{{|||{{{|{{{zz||{|||{{{z{z{{{{{||{|{|{{{{{z{{{{{{{|z|{zz{z{zz{{|{{|||{{zz|{zzz{{{|{||{{z{zzzzzz|z|{{{{|z{{{zz{{{{{{{|{z{|z{{zz|{{{{|{{{{{{{{{{{{|{z||zzzz{{zzz||{z{{|z{z{zzzz{{{{{|||zz{zz{zz{{|{{}{{{{{zzz{z{{{{{z|{{{{{zzzzz{{{{{|{{{{{{zzz|{z{{||{{z{{z|z{z{||{{||{zzz{{z{|{{{{|{|{{{zz{z|{||{{||{{{{|{z{|{{{{{{|{{{{{zz{|{}{|||{{{{{{|zz{||{{||||{{{z{{{{{{{||||||z{|{{{{z|}{}|{|{||{z{|{}{{||}||{{z||{z{}||}|||||{|{{|||||{||}|||z|{{{|{|{|{|{|||}||{{|{|||{|{|{|{|{|{{{||{{{}||{{z|{{{{||||||||{|{{||{|||}|||||{z{z|{{{||{{{{{|{{{{{|{{|}{|{||{{{|z|{{z||{}{||{{{z{y{{zz{{{z||{{z{z{{{{{z{{z{{}{{zzzz{z{z{{|{{z{{zzyz{{{zz}|z||{{{z{yz{{{{z{{{{{{|{zz{{{{|{{||{z{{z{{|{{|{{{|{|{{z{z{{z{{|{z{||{z{z{z{|{{|{|{||{z{zz{{{{{{{{{|{{{|{z{{zz{||{||||zzzz{|{z{{|{{{{{{zz{zz{{{zz{{|{z{zzz{zz{z|{||{|{|{zzzzz|{|{{{{|{|{{{{{|{{{|{|z{{z{{zzz{z||{||{||z{{{|zz{{||{|{|{{{z{z{{{||{||||{{z{{{{{{{|{z}|zz{{{{{{{|{||}||{{{{{{{|{{{|}||}~|{{||z{{||||||}||{||}{z{{{|||||}{{{{||||{{|{|}||||{{{{z{||||}|}|{{z{|{{{||||}}|{|{{||{{{{||||}}||{{{{z{{{{|{{||z{{{{{{{{{{|||{||{zz{{{{z||||{{{|{||{{{{{{|}}{{{{{zz{zz{z|{|{|{|{{{zzzzz{{|||{{{}zzz{|{z{{|{|||||{y{zz{{z{z{|{{|||{{{zzzy|{{{{|{||zzzzzzz{z|||z{{{{{{{{yz{{|zz|||zz{z{{zz{{z{{{{|zz{z{zzz{{{{{{|z{{{{{zzz{{{{{{{{z{z{zzzzz{{|{{{{zz{z{y{z{{z|{{z{{{{z{zz{{|{|{{{{zz{{z{zy{|{{{{{{|{{yzz{{{{{{{z|{{z{{zz{z|{|{{{{{{{zz{{{{|||{{{{|{{{{zz|{z{{{{||{|{{{{zz{{{|{|{|||z{{{{{z|||{{|{||{{{z|{{||||||{{{||{y{{|}}{||{}|{z{{{zz{{{{|{|||}{|{{{{|||||||||{||{{||||||{|{|||{||}|{{{}|||}|}{{|{|{{||||}{{|||z{{|{{{{||z||||{{{{|{{{}{{||{}||{|{{z{{{|{|||}|{z{{z{{z{{{|||||{{|z{{|z{{||||{{|{{{{{{z{{||{{|{{z{zz{{{||{{||||{{{{z{z{{{{{{|{|{zz{zzzz{z}|{{{|{|{zzy{{|{||z||{{{z{{{{z{{|zz|{{|{{z{zz|{z{{{|{{z{{z{{z{{{{{z{|{{zyz{{zzz{{{{{|{zzzzzzy{{{{{{{z{z{zzz{zz{{{{{|{{{z{z{z{zzz{zz{{z{{z{{zz{{|{z{||{{{z{|zz{{zzz|{||{{zz{z{|{z{|{{{|z{{{{z{|{|{{{{|{{z{{z{{y{||{|{{||{{{z{{{{}|||||{{|{z|{{z{z}|{||{{{{|{{{|{|{|||{}|{zz{{{{|||}||}{{{{{||{{|||{||||{z{|{{{|||}|||||}{{z|{|{{|}}|||||{z{||{z{{}|}|}||{{{}{{||}{||||||{{{{|{{{|||{|||{{{{|{||{{{||{|{||||{{{{{|||||{|{{|{{{{{|||}||||{{|{zz|{|||||{||{{{z{{z{||{||{{|z{zzzz{zz{|zz{|{|{{zzzzz{|{{{~||{{z{{{zz{|{{{|||z{z{zz{{z{{{||{{zzzzzz{{{{z{z{z{{zzzzzzz{{{{{|{{{{zz{{zzzz|{{{|{zz{{zz{z|z{z{{{{{yzzzz{y{|{{{{{{{{zzyzz{{{{zz||{z{zzz{z{{{{|z||{{zz{{yzzz{z{{{z{z{{zzzz{{|zzz{|z{zzz{zzz{{|{{{{|{zzzz{zz{{{{{|||zz{{{{{{{{{|{|{{{{{{zz{{{||{{|||{{{{{{zz{|{|||{{zz|{{{z{{{|||{||{{|{{z{z{{z{{|{|}|z{{{z{{{|{{|{|z{{{z{{z{{|||||||{{{{{zz||||{|{{|{{{{z{z|{|{{||||{|{||{|||{||||||{{{{{{{|}||||{|{||{{{{{{|{|{||{|{{{|{|{|{{|}||{|{{|{{{||||||{||{{{{{z{{||{||||||{zz{|z{{|z{{|{{{z{{{{z{{|{{{|{zz{z{{z{z{{{{||{|{z{{{{z{{{|{|{|{{{zzz{{zz{{z{{{{{z{z{{{|{|{{{{|{{zzzz{{z{{{zz{|{{zy{z{zyz|{{|{|{|z{z{z{{{{z{z{{z{{zzz{z{z{z{|z||z{zzzzzz{{z{{{|{zzzzz{zzz{{{{{|{{{{{{{{z{{z{{z{{{{zz{{z{z{|{{{{|{{zz{{{zz|{z{{{|{z{{{z{z{{|{{|||{{{{{{{{{{|z}|{|{{{{z{zz|z{||{||{{|{{zz{||{||{}{{{|z{{{z||||||{|{{|z{{{z|||{|{|{|{{{{{z{{{{|{||{{z|z{{zz||||{||}{{{|z{{z{||||}}||{{{|{|{|||||||}}|{{{{|{||}|}||||{{{{|{||||{}||||{{{{{zz||||}||}||||{|{{{{|||||||{{{{{{{|}|{||}}||||{{|{|||||}|}{z|{{|||{|||{||||{{|{{{z|}{}|||{{z|zz{|{{|}|zz{{{{{zzz{{{{{zz{{{{{zzzzz{{{z|{{{{{{z{zz{{{{|z{{{z{z{{z{zyz{{{z{{{{{{z{zz{{{{{{{z|zz{{zzzzzz{{{|{{{{zzzz{{{{zzz{{z{zzz{z{zzz{{{|{{zzz{zyzzz{{{{|{|{zzzzzz{z{{z{z|{z{{zzzzz{{z{z{|{zz{y{zz{zz{zz|{{{{{zz{{z{{{{z|{{zzzzz{{zz{{{{{{z{zzz{y{z{{{|{{{|{z{{{y{z{|{|{{{|{z{zzzzz{||{{{{{{{|zz{{{{{z{|||{z{zz{zz{{{{{|{||{z{z{zzz{||{{{||{{{z|{{{{{|||{||{|z{{{|{{{|||}|{|{zz|{{{{{{{|||||z{|{|z{|{||||||{{|z|{|{{||{}||||{{{||{|{}|||||||{{{z{{{{|{|||}||z|||zz{{||{||||{z{z{{{|{{||{|||{{{z{{z{{{{|{{{|{{{|y{z|{|{{{{{{{{{z{yzz{z{{{|{{{z{yzz{z{z{{||||{z{zzzzzz{{{z|{|{z{zz{zz{|{|{{{{{zzz{zz{{{{|{{{{{z{z{zzz{{{{{{|{{z{zzz{zzzz{{z{{zy{z{zzz{z{{{|{{z{zzzz{z|{{z{zz|zzzyzzzz|z{{{{{{zzzzyzzz{zz{{|z{zzz{z{yzz{{{{{{{{{zzzzz{z{{z{|{{zz{z{{{yz{z{{{{{zzz{{{zzzz{{|{{{{{z{{z{{{zz{{|{{{{{zzz{z{z{{||{{yz{{z{zz{{|{{{{|{z{{{{zzz{{{|||{{{{zz{zy{|{{{{|{{{z{{zz{|{|{{|{{{{{{{{{z|{||{{{{z{{{{{|{{{z{{|||{{|z{|{{{|||{{|||{|{{{|{{|{|||||{zz{{{|{{{{||}{||{{{|z|z|}{|{{{||{{{z{|{|||||{||{{{{{{{{{{{{{|}||{{{|{z{{|{{|||}{{{{|{|{{{{{||||{{z{{{{{||{||{||{z{z{{{{{{{{{{{z{z{z{yyzz{|{{|{{zzzz{zzzz{{{{|{|{{{zzzzzz{{z{{{{{{{z{zz{z{{{{z{{z{zyzz|z{z{{{z|{z{{zy{zzz{zzz||{{zzzzzzyz{zz{|{z{z{zzzyy{{{{z{{{{yz{zzyzzz{{z{|{{zy{zzz{{{{{{{{{zzzzz{yzz|{{{z{zzz{zzyzy{{zz{z{{{{zz{zzz{zz{{{{zzz{yz{zyz{{{{|{{{{{z{zzz{|z{{z|{{{|{yz{{{z{{|{{}zzzz{zz{{{{{{z{||{{z|z{z{{z{{{{z{zzzzzzy{{z|{||{{{{zz{zz{zz{z|{{z{|z{z|{{|{|{|{{zz{|{{{|{{|{||||{|{{{{{{|||{|{}||{z{{{{{{|||{|||{||{z{{{{|||||{|||{{{{{z{}{||{{|{{{{z{|{|||||{||{{zz{zz{{{{|||}|{|{|{{{{{{|{{|{|{z{zzz{z{|{{{|||{{{z{z{{{|{|{{}{{z{z{zzz{|{{{||{{zyzz{{z{{|z{{{{|{zzzz{z{|{|{|{|{zzz{{z{{{z|{||{|z{{zzz{{z{{{{{{{zzzz{{z{{{zz|{|z{{z{z{zz|||{|{z{{z{z{zzz|{z{{{{{{zzyzzz{{z|z{{|zzzz{z{y{{{{{z|{{yz{z{z{|{{{{{{{zz{{yz{zz{{z{{{{{y{{{zzzz{{{|{{|zz{zzzzzz{{{||{{{zzz{zz{z{{{{{}{{{{z{{{{{{{{z{||z{{z|zzz{{{{{|||{{{{{{{{{||z{{||{{{{{y{{|{|{{|||zzzz{|{z{|}|{|{{{{{|z{{{|||{||{{{{{{{zz{||||||{|{{{{|{{{||{|||||{|{|{{z{||{{|{||{{{z|{{{{}||{|}|{{||||{{{}{|||}|{{{{{{{{{{|||||}|{|||{{z{{||||{||{{{z{{{}{{{{{{{{{{{||{|{|||||||{{{z{|{{{|{|||}||z{|{{|z{{|||{|{{z{{|{z{{{|{{{||{zz{z{{{{{{{{{||{{z{yz{{{{|{|{||||{zz{|{|{{{|{{||zzzz|{z|{||{{||{{|{zz{{{{||{||}{z{z|{{z{|z|||{{|{{{{{{z|{{{|{{||z{zz{z{{{z|z{|{zzzzzz{z{||z{{||z{{{zz{{{{|{{{|||z{{{zzz{{|{{|{{zzzz{{{z{{{|{{{|{{z{{{z{{{||{|{{{yzz{{{{|||{{{{}{{{{|{{{{|||{|||zzz{z{|{z{||{{{|{{|{z{{{{{{||||{{{{{{z{{{z}{{|||z{{{{{z{|||||||{{z{{{{{{|{|{||{|||{{{{zz|{{}||||{{{{|{||{|{{{|}~|{{|{||{|{{||}||}z{{|{{|{|||||}}{{{|{|}|{{}|||~}|{|{{||{|}||}|}||{|{{|{{}|{|{}}|||||{|{{|||}|}}{|{{{}{|{|||}}|}}{{{{{{{{}{{|||||{|{|{{{|{|||{{}|{z{z{{{{||||||{{{{zz{{zy{}{{{{{|{z{zzz{{|{|{{|}}{|{zz{{{||z{{||{z{{{{{z{z{|{{||{{{{zz{zy{{{{{{||{{zzz{{{{|{{y|{{{{{{{zzz|z|{{}{zz{{{z{z{{{{{{{{{zzz{{{zzz{{z|{z|z{{zz{y{{|{{||{|{z{{{|{{{{{||{{{z{|{{yz{z{{{{{{}zz{z{{{y{{{|{|{{z{z{{{z{{{|{{{{{{{{{zz{z{|{{|{||z{{{z{{y|{{z{}||{{{{{{zz{||{{||||z{{{z{{{{{}||{|{{|{{{{{{{{{||||{{z{{{|{|{{{||z{|{{{|{{|||||{||{{||z{|{{||||||{|{|{{{{{|{}{|||||{{{{|{{{{}{{||||{{|{|{z{{||{|}||}{||{}{{{|||{}}}{{|{{{{{||{||}|}|{|||{{}{|}{||||||{{|{{|{{||}||}{|{{{|{{{{{|{||||{zz{|{z{{|}|{|{{{zz{z{{z}|||{||{z{{{zzy|{{{{{||{zzzzzzy{||{{|{{{{{zzz{zz{{{{{{{{{{zz{zz{{{|{z|{{zzz{yzy{z{{{{||z{{y{{{z{{{{{{|||z{{{{{z{|{|{{{{{z{{z{{{{{{{{{{}{zzz{zzzz{{z{{zzzzzzy{zz{z{zz{{|zz{zzzzzz|{{{{{{{{{{zz{{{{{{{{{{zz{zzz{{z|{{{{z|zz{z{{z{{{{{{{|||{{z{{{z{|{|{{||{{{{{z{{{|{|{||{{{{{z{{||{|||{{|{{z{zy|{||||{|z{{{|{{{{{|||{{||{z{z{zz{{|||{{|||{|{z{|{||||}||||z{|zz{{|{{||}||}||{{{{{||{}|}|}{{{|{{z{{{|||{||{{{||{|||{|||||||}{zzz{{{|}|}||||{{|{{{{{|}||||||}{z{{{{{||{{||||||{{|{{{zz||||||{{{{{{{{{{{{{|}{{{{{{{{{{{|||{|y{z{zz{{{{{||{|{{{{z{z{{z{{|{{{{{{{|{zzzz{{||z{z{{{{z{{zzz{{z||{{{{z|{z{{{{|{{{{{{{|z{z{{|{{{||{|{z|zz|{z||{{{|||{{{zz{z{{{|{{|{|{{{zz{z{{|z|{{|{{{{{zzzz{{|{|{{z{{z{z{z{{|{{|}|z{{{{zz{{{{z||{{}{zzzyz{{{{{{{{|{{{z{zzzz{{{z{{||{{{zz{zz{||{{|||{{z{{z{z{{|z{}{|{z{{{{{{{{||{|{}{{{{{|z{{|}}||{|{{{{{z{{{||{||{|{{{||zzz|{||{|||{{{{{{{|{||{{|{{{{{|z{z{|{|}}|||{|{{{{{{|{{|||{|{z||{{{z|}|}|{|{|z|{{{{{||||||}}|{{z{||{{|||||||{{||{{|{||{}|}}||{{|{{|{||||{|}|||zz||{||||||||||{{{{{{||||||||}{{{{{|{{|{||{||{|{{{zzz{|||{|}|||z|z{z{{{|z}|{z{zzzz{{z{z{|{{{{{z{zz{z{{z{{{{|}{{{{zz{zyz|{{|{|{{z{zz{{{|{{{z|zz{{|z{{{{|{{|{{{|{z{{z|zz|{|{{z|{{z|{{zz{{{|{y|{{{zzzyz{{zzz{z{|{{zzyzzzz{{{z{{{{z{zz{zz{{{{{{{z{z{{{{zz{zzz{{{|{{zz{zz{{{{{{{{{|{zzz{zzzz{zzz{{|{{{zzz{y{{||{{|{{{{{|zz{{{{{{{{z{{{{{y{{{{{||{|{{z{{{{{z{|{{|{|{{{zz|{{z{|||{{{{{{{{{zz{|{||{{}{{|{{|{z{{|||z|{{|{z||zz{{{{|||}||{{{|{{{{|{}|{|{{{{{{zz{|{|{{||{{z{|{|z{||{||||||{|{{{|{{||{|||}|{{{{|{|{|||||{||{{{{{{{|{{|||||||{{{{{{|{z|{{|||{{{{|{|}}{|{{|}||{{{{{{z|||||||{||z{{z{{{||{{}{{z{{{z{y{{{{{|z{z|zzzzzzy|{{|{{{{zyz{zy{{{{{{|||{zzz{{y{{{z{{{|{zz{{zzzz{{||{{{{{{{zy{{{{{|z{zz{{{{zz{zz{||{{{{|{zz{z{zzzz||{{{|z{y{zzz{{zz{z{{zzzzzyzzzzz|{{{{{zz{zzzzz{z{z{{{{|{zzzzzz|{{z{|{{{zyzzzzz{{{{y{{{zyzz{zyzz{{{{zz{zz{{{{z{{{{{{z{{{{{{{zzzz{z{||||zz{{{z{{{z{{{|||{{{z{z{{{{|{|||{|{{z{z{{{{|||{{{{{zy{{{{||{{{{|{zzz|{z{{{|z{{|{{{{{{{{{{|{|||}|{{{{{{{{{||{|{{}|{{{|{z{z{||||}}{{{{{{{{|{}{|{|||||{{{{||{|z{}||||{|{zz{{{}|}|||{}{{|{{{}}|{{|}{{|z{{{|z{{{||{|{|||||{|{{{{|{|||{{z{{{{z{{{{||||||{z|{zz{{|{{|||zz{{z{|z{|{{{||{{zz{z{{zzz{}z{{|{{zzzzz{zzzz{||{|{zzyz{{z{{{{{{{{{z{zzyzzz|z{z||{{zz{zzzz{z||z{{|{{{zz{{zz|{{{{{{{z{z{{z{{z|{{{{zzz{zzzzz{|{|{{{{zzz{zyzzz{{{{{{{{zy{y{zzz{{{|z{{{zzz{zz{z{y{z{}{zzzzzy{zz{{{{{{|{zzzzzz{z{{z{{{{zz{{{{zzz{{{{|{{{{{{{zzz{{{{{{{|{{{|zy{{{z{||{{{{{{zz|{z|{|{{|{|{{{z{z{z||{|||{{{{{|z{zz|{{{{{|||z{|{{z{|||{{|{{{z{z{z|{{|{{{|}{z{|{{z{{|{{{||{||{{|zz{z}|{||||||{z{{{z{{|}{||||{{{{|{{{||{}||{||{{|{{{|||||{{|}{{{||z{{||}|{||{{{{|{{{{||||{|||{|z||{z{{|||}{}}{z{{z{|{{|z{|{||{{{|z{{{{}||{{||z{{{{z{y|{z{|{y{zzy{{z{{{{|zz{{|{{z{zz{z{{z{{{{|{z{zz{zz{{z{{{{{|yz{zzz{zz{{{{{{{{zzz{{yz{{{{{{{zzzz{yzzzz{|{{|z|{{zzzy{{{{z{{{{{zz{zz{z{{{|{{y{zzzzzyz{{{zzz|zzz{zyz{zz{z|z{{{{{{zzyyz{{{{{|z{|{zzzz{zyzz{{zz{zz{zz{{{zzz{{{{z|yz{z{|{zz{{{{{{|{{{{{z{z{|{{{{z{{z{zz{{z{{{z{}{|{{{z{z{{{{{|{|{{|z||{z{{|{{|{{|{zz{zzzz{{||{|{}z{{z{{{y{|{{{{{||{z{{{zz|z{}|{|{|{{{z{|{{|{{}}||}|{{{{{{{|{{||||{|{{||{{{{|{{{{|{{{{{|{{|}{{|||}|{|{|{|{||{||||||{{{|z{{||{||||{{|{|{zzz{{{{{||}||{{{z{{{{{z|||{|z{{zz{{{{{||{||{|{{zz{|z{|{{z{{{{{zz{z{z{{|{{{{{z{zz{z{z{zzz{||{z{zzzzzx{zzzz{|{{zzzzzzz{z{||{{{{z{{yzzz{{{z{{{{z{zz{z|z{{{|z{{{zyzzzyzyzz{{z{{{zzzzzzzz{{{zy|{{zzzzzzzzzz{{z{{zz{zzzz{{z{{{{{{{z{zzzzyz{{|{{{{z{{zzzzzzz{z{{z|{{z{{zyzyz{zz{{{{{{zyzz{yz{z{z{z{{zzz{{yz{zz{zz|z{zz{zz{z{|{zz{{z{z|{z{z{z{{{{{{{{{{z{{zz{z{{{{{{{{zzzz{zz|{{{{|{{z{{z{zz{z|{z{{{{{|zzzz{{|{{||z}|{zz{|z{{{{|{{{{{|{z{{z{|{{|{{||{{z||zzyz|{||}||{{{{{{z{|}|{{|||{{{{y{{zz{z{{{|{|{{{{{{z{}{{}{||{z{zz{{{{|{}{{}|{z{|{{z|||||{||||zz{z{{z{{{|{{||{|{z{zz{|{{{{{||{{zzz{zz{{{|z{|{{y{{zzzz{{|{{|{{{{z{{{{zz{{|{{|{{{y{zzzz{{z{{|{|{{zzz{zzzz{|{{|z{z{z|{|{|{||z{{{{zzzzz{y{{z|z|||{z{{z{{yz{{zz|{{{zz{{zz{{{|{{{z{zzzzz{zz{{{{z{{{zz{zzz{zz{|{z|{zzzz{zzzzzz{z{{{{zzz{yzyzzz{z{|{{zz{zzyzzzz{{{{{{z{zz{zzzy{{zz||{z{{zyzz{zz{{{||{{z{{{yzz||{|z{{{{zzz{zzz{z{|{{z|z{{{z{zz{||{|{{{{z{{{{z{||||||{{{zz{{{z{|{{{{{{{|{{{{|{{{||{{||{{{{{{{z{|{{}{{}|{{{{{{{{{|{||{||{{{{{{{{{|{|{||||z{{z{z{}{{|{{||{z|{{||z{||{||{{|z{|{|{{{||||}}||{{|{{{|{||{|{||{|{z{{{{||{|{|{}}|{{{{{{{{||||{|||{zz{{{{{{|{{||{|{{{z|z{{{|{{{{z{z{z{{z{{{{{|{|{zyy{z{zz|{||||{{z{z{{zz{{{{{|{|{z{zz{z|{{||{{{{{z{zzz{zz|{{{{{|{z{zzzzzz{|{{|{{{z{zzz{z{{{{z{{{{{{{{{{z{{{{{{|{{{zzzzy{{{{|{|z{{{{{zz{{z{{z{{{{zzz{yzy{{{zz||{{{{{{y{z{z|{||{{{zzz{zy{{z{{z{z{{zz|{z{{z{{{{{{z{z{{z{zzz{z|z|z{|zzz{zz{z{{zzz{{|{{{{{{{|{{{{{{||{{{{{{{{z||{{{{|{{{z{{{{{{|z|{{{|{|z{{zz{|||{|||{{{|{{{{{{|{{|{|{{{{|{{{z|{|{{||{||{{{|{|{{|}|}}{{{{{zz{{||{{|{{|z{{{|{{{}{|||}|{{|{z||{||{|{|{||{{|{|{{||}{|||||{{|z{{|{||{|}||||{{{|{|{|{{||{}{|z{{{{{{|||{||{{{{z{{{z{||||{{}|{z{{{{{||{}{|||{|{{|{{z|{{{|{{{zz{zzyz{y{|{{{{|yz{yz{{|{{|||{{|{z{z{{z{{{{|{z|{zz{zz{z{{z{|zz{{{{zzzzzy{{{{{{z|{{zzy{|zz{||{|{{{{z{zzzz{z|{{{{{{{{{zzz{{{y{{z{{{z{zzzz{zzz{{{{{z{z|y{zz{|{{|{{{{zzzzzzyz{{{|{|{zzz{{zzz{{zz|{{{{zyzzzzzz|{{{{{{zzz{z{zz{{{{|z{|{z{{{z{z{{{|||{|zz{z{{{{zz{|{|||{{{{z|z{|{{{||{{{{{{z{{z{||{z|{|{zz{{{{z{{||{{|{{{{{|{{{||{|{{|{{z{{|{y{{}|{||{|z{{{{{z||{|{{{|||z{{{z{{||||||{{|z{{{|zz{||{|||}z{|{{{||{|||||{{||{zzz|{|}}||}}|||{|z{|{|{|{{|{{|{{{zz{{z|{|{||||{{{||{|{{{{{|{|{||zz{{{{||||{|{{|{{{{{{|{||{{||{|{{zz{{|{|{{{y{{zz{z{yz{z{{{{{|{{zzz{zz|{{{{{|{{{zzz|{{{{{{||||{{{zz{{{{{|{{z{z|zzzzz{z{{{{|{{|{{y{{z{zzzzzz{{{zzz{{zzz|zz{{{{{{{{{{{yzz{{{zz{zz{z{zy{z{z{{{z|{yzz{z{z{{z{{{{{|{z{zy{{yz{{{{{{{zzzyzzzz{z{{{{{||zzz{yzzzzz{{|z{zz{{z{zz{{{{z||{{|z{{z{{z||{{{z{zz|{{z{{|{{{{{|zz{|{zz{{|{{|{{|{{{{{{{z{{|||{|{|{{z{{zy{{{z{|{}{{{{z{{z||{|z{||{{|{{{{{{{|{|{{{|{{{z|{{{||{||{||{{|z{{zz{|{||{||{{{z|z|||||{||||{z{{{|{||{||{||||{{|{||z|}{{||}||{||{z|{{||{{||||{z{{{{{{{||||{||{{z|{|||}|{||||z{|{{{{{|}|{{|{||z|{{z{|z{{{{}|{{{{{{zzz{{|{{{zz{zzzz{zz||{{z|{{zz{zzy{z{{{{{{{{{zzz{zzz{z{z|{|{zz{{zzzz{{{{{z{|zz{zz{{z{{}|{{{{zz{z{{{z{{{z{{{{{zzzzzzzz{||z{{|zz{zz{z{{{zzz{{|zz{{z|z{{{{|z{{{{yzzyzy{{{{{{{{{{z{zzzz{{{zz{{|{{zz{zyzzz{zz{{{|z{zyyyzz{{{{{||zzz{{{zyz{{z{z{|{{zzz{zz{z|{z{{|{z{{z|z{z{{{{{|||{{zzzz{{{{{|{{|{{{{zzzzz{{||{|{{{{{{{{{z{{}|{{|{zzz{{z{{||{|{{{{|{{zz{|z{{{{{|{{{{{z{|z{|||||}}|{{{z{z{{|||{|}|{{z{{{{z{|{||{|}||zz{{{||{{|{|{|||{{zzz{{||{|||}{{|{{z{{|z|||||{|{z||{{{{{{|{{z||||z{|{{{}|{|{||{{{|z{{z{{||{||||{|z{{{{z|||||{|{{{{{zzz{z|{|{{{{{zyz{{zz{|{{{{z|{{zzzz{z{{{{{||{{{zz{{{z{{{|{|{|{{{z{{zzzzz{y{{|{z{zz{{z{z{{{{{|{z{z{{z{z|{zz{|z{z{zz{zz{z{{{{|{{z{{z{z{zz{{z{{{zzzzzzzz{{{{zz{{zzzzzzzz{z|{{{{{{{{{{z{z{{|{{|{yz{zzz{z{z{|{z{{zz{zzzz|y{|z{|||{{{{zz{z{|{|{|{{zz{zzzz{zz{z{{{{|{{{{zz{{{{|{{|{{{zzzzz{{|{|{{|{{zz{z{{|{{{{{||{{zzz{{zz{{||||z||{z{{{z{z{{|z{|}|{|{{{{|{{{{}{|}|{{{z{{||||{||{|||{{|{z{z{}|||{|||{{{{z{{}|}||}||{{|{|{{{{{|{{}||{{||{{z|{|}|||}|}{{|{{{{||||||{||{{{{|z{|{|{{{|{{{{{{{|{||||}|{{{zz{|{{{{|{|||~{||zz{{{z{{|{{{{{{z{{zzz{||{{{{{{zzzzzz{yz{{{{y||{{zz{zzz{{z|{|{|{z{zzzzz{{|{||{zz{z{zzz{{z{|{{{{{{{{zzzz{z{z{|{|{zz{z{{{{{zy{{{{zyz{zz{{{z|z{{{{zzzyz{zzzzzz{{{|{zz{{{{zz{{z{z{z{yz|z{yzy{|{{z{z|{{zyzyzz{{z|z{{{y{zz{z{zz{{z{z{z{{zz{{yz|z{z{{{zzz{{{zzz{z{{z{{{{zzzzzz{{|{{{z{{{zz{{|zz{{|{{||{z{zz{z{{z{{{|||zz{{|z{{{|{|{||{{{{{{{zy{|{{{||{{{{z{{{{|zz|z{z|{z{{{{{{|{{||{|{{{{{{z{{||{{|}{{{{{|{z{{|}{{|||{|z{{{z|{|||{{{||z{{|zz|{|||{{}{|{{{{y{z{||{|||}|{{{{z{{{{|}{{|||{zz{{z{{{{{{||{|{zy{{{z{{|{{{{||{{{{zz|zz{{{{||||{z{zz{{{||{{|||{{{z{z{y{z{||{{{{zy{{zzz{{{|{{{|zyz{zzzzzz{{{{z|{{{{z{yz{{||{{{{{zzzz{zz{{{|{{{z|{|yy{{y{{{||{{|{z{z{y{zz|{{|{{|{zzzz{z{{z{z{{|{z{zzz{zz{{{z{{z{{{{zzzz{z{{z{{{zzzzzzzz{zz{{{{{{{{{zy{z{{{|{{{{|z{z{zyzzzz{z{z{{z{z{zzzyz|zz{z{{{zz{{|zz{zz{z{{|{zzz{{z{zzz|{{}||{zz{zz{{{|z{|{{z{|z{{{{|{{|{|{{{{{{zy{{{{{|{||{{{{zzz{z||{{||}{z{zzz{zy{{{|{|{{{{z{z{{{{|{|||||{|{|{{{{|{{|{||||{{z{{{{|||{||||{{{{z{|{||{{|||||z{{{|{{||{|}{|||z{{{{zz|}{||||{|{{{y{{z}{{|{}{||y{{{{||{}{|{|{{|{{{{{{{{{{|}||||z|{{z{{{{z{||{|{{{zz{{{z|{||{{{{z{{zy{{{{|{{|{{z{{{y{{zz||{|z{z{z{y{z{z{{z|{|{|z{zzzzzy{{|{{||{{{{zz{z{z||{|z{z{{{{zz{yzz{{{|{{{yzzz{{z{z{{{{z{{z{{zzzz{{{zz|zz|zzzzzzzz{{|z{|{z{z{zzzz{z{{{||{zzzzzzyzy{{z{{{z{z{zzzzzz{z|{{{|{zzyzyzyz{zzz{{{{{z{{yzz{|{zz|{{{{zz{{zy{z|{{{{|{z{zzyzyz{{{|}{z{{{{zz{zz{{{{{{|{{{{{z{z|{{{|{|{zz{z{z|{{{|{{||{zzyz{{zz|{{{{||{{{{z{{z{|{|{|||{{{y{|{zz|{|||{||z{|{||{{{||}{|||{||{{{y{z||||{||}{{{{{{{{|{{|||}{{|{{||{{|{||||{|{{{{{{{{}||{|{|{{{{zyzz|{z||}||{{|{{|{{{|||{{||{||{|{{{||{||||{{z{z{{{|{{|||||{{zz{{{{{{{||{||{|{y|{zy{|{|{{zzzz{zyzzz{y{{zy{{{yzz{zz{{z{{{{{{{{{zzz{zzzzz{{|{{zzzzzzz{z|{{z{z|{zzzyz{z{{z{z|{{{{z{zzzz{{{z{z{{|{{zzzyz{{{{z{{zyzzx{z{zz{z{{{{{zzzzzzzz{zzzz{{|zzz{zzzyz{|z{z{z{{zzzzzzz{{z{z{{zzzz{z{zzzzz{{{{z{z{yz{y{{{z{{{zzy{z{{{yz{z|{{|{{{{zzyzz{{{{|{|{{yzzzzz{{{z{{||{{{{z{zzy{||{{||{{{zz{{zz|{|||||{z{{{{{zz{{{{|{{{z{zz{{zz{}{{||{|{{zzz{{y{z{{||{|{{{{{{{{|{|}|||{{{{{z{{z||||{{|{{{zz{{z{||{{{||}{{|{|{{z{|{{{|{||{{{z{{|{{{{{|||{z{z{{{z|{{|{{|||zz{z{{{|{z{{|{|{{{{|{{{{||{{z||{{z{{{|z{{|{{{{|{{z{z{{zy|{|{{|{{{|z{z{yz|{|{|z{zzzzzzzz{{{z{z{{zy{zzyzz{zz|z{{{zyzy{z{{zy{{z{z{zzy{zzzz{{|{z||||zzzz{{z{{{{z{{z{yzzzz{zzz{{{{{{{yz{zzzy{{zzz{{z{z{zzzzz{z{zz{{{{zzzzzyzz{|{{|{{zz{{z{{zz{{{{{{{zz{zzzz{{|{|{z{{{{zzzz{yz{{z{z{{{zzyzzzyzzz{z|{{zyzz{{{z{|z{{|{{{zzz{z{zzzzz{zz{|z{yzzzz{{{{{|{{z{{zzz{z{{{{|{||{z{{{z{z{|{|{{{{{zzzz{z{{|{{{{|{{z{{zz{|{{|||{z{|z{z|{z{{|{{|{{|{{{z{{{z{{z{{||{{{|{{{{{{|||||z|{z{{{{|z|||z{{|z{{|{zz{{{||{{{{|}z{{|{{{{}||{|||{zz{{{|||{||{|||{{{{z{{{{{{{{{|||{z{{{{{||{|{{|||||{zz{{{{{{||}||{zzzz|z|{{{{|{{{{zy{z{z{{{{{|{{zzzzzyzzz{{|{{{|{zzzz{yzz{{{|{{z{{{zzz{z{|z{||{{|z{{{zzz{{z|{z{{{{z{zz{{z{{{z{{|{z{zy{zz{|zz{{{{z{{zz{z{{z|{{zzzzzz{zzzzz{|{{zz{zz{zzyz{{{z{{{|{y{z{z{zzz{{{{{{{zzzzzyz{z|{{|z{{{{zy{yzz{{{z{{{{yz{yzzz{{{z{{z|{{yzz{{{z{{{{{{{|{{{yzz{z{|{{||{{{{{zzz{{{z{{{||{{{{{z|{{{|{{||{||zzz{z|zz{|{{|||{zzz|z{{z{|{z{|z|z|{{{{{{|{|{|{{{z|{|{{{||{||{{|{{{z{{|z|{|{{}{|{{{{{z{z{{{|||{||{{{|{{{|||{|{}|{{{z{||{{|{{|||{|{{{z|{{{{{|||}|{{||{{z{{|||z|||}{{{{{{{||{{{||{|z|{|{{{||{{|||{||zz{{{{{{|{{{|{{|{{{{|z{}|{{{{|{{{z{z{z{z|z|{{|{{{{{z{zz|{{|{{|{z|zzz{{{|{{{|{|zzz{{{zz{{zz{||{{{{z{{z{{||{{{{{z{{{zzzz{{{|{{|{z{{z{z{zz{{{z{|{{{{zzzzz{{{{z{{{{{{{{|z{{{z{{|{{zz{{zz{{{{|z{{|{{zz{zz{{z{z|||{{zzzz|zz{z{{||{{{{z{{{z{zz{{z{{{{{yzy{zzzz|z{{|{{z{{{z{z{z{{{|{|{{{zz{z{{{{|{{{||{z{{{|{z{{|{|{{|{{{zzz{{{||||{|{|z{z{{{{{|||{|{|{{|{{{|{||{|{|{|{z|{{{z{{{|{{z{|{|{{|{|{{|||{|{|{||z|{|||{|{{||||{{|{{{z{|}{}||||z{|{{{|||{{||||{{{|||{{||{|}|||||||{|z{||||{}|}|{|{|{{{|||{|}|||{{{{y{{{|{||{{||z||{{{|{{|{{{|||{{{{z{{{|z||}{|}{|{zz{z}|{|{||{{||z{zzz|z{{{|{{{zzzyzyyz||{{{z{zzzz{zz{z{{{{|z|{{zzz{{{{{{{|{||z{|zzzz|{{{{{||{|{zy{{z{{{{{z{{|{zzzzz{{{{{zz|{{{{{z{zyz{{z{z||{{{zy{zz{{{{{{{z|zzzzzyzzz{{{{{{{{{{{z{{{z|{z{}{{{|{zz{zzzz{{{z|}z{z{zz{z{zz{zz{|z{{zz{{{z{|{{{|z{zzzz{zz{{z|{||{{z{|z{{{z{{z{|z{{zz{{{z{|{{{{|{{z|{{|{zz||{{|{|{{{|{|zzz{|{{{{{{{|{{{z{{{{{{{{|{{z{{zzz{|z|{||{{{{{{{{{z{{|}|||{|{|{{|zz||{|{||||z{{{{{{{{|{{{{|{{{{{{{{|||{|||||z|{{{||{{{||||||{z{z|z|{|||{||{{z|{{{{z||||}}{z{{{{|{{|z{|{|{{||{{|{{z{{|||{||}|{|z{{{||{||||{|{{{|{zz{{||{z{|{|{{{zzz{{{|z|{{{{{z{zzzzz|{z{z{{z{{yz{{{{|{{{{|{{{z{zzzz{{z{z{|zz{zz{zz{zy{|{z{{z{{{{{zz{{z{{}z|{{{{zzzz|{{{{|{{zz{z{zzzz{|z{z{{zzz{yzz{{zz{{{{z{zzz{zyzzzz{z{|{{zy{zzz{y|{{|{{zzzzzyzzz{zz{{z{{zzz{zzzy|{{z{{{||{z{zzz{z{{zz{{zzzz{z{zz{{{{|z{|{zzzzz{z{{{{{{|z{{{zzz{{zz{{|||{{zz{z{{||{{{|{||{z{zzz|{{||||{|{|{{{{z{z||{||{{{{z{z{z{{{{{{{||{{z{z{{{{{{{|~|{{{{|{{{{{{{|||{{}|{z{|{|z{|{|||{||{z||{||z||{}z||{{{{{{{z{|{{{|{|}{{{z{z||}|||||{{{||{{|z||||{||||z{zzzz{{{||{|{|{{z{z|{{|||{|{{|{{{z{{{z{||{|||{|{{{{z{z{{{}|{||zzzz{z{{|z{{{{{{{{zyzzzz{zz{{|{z{zzzzzz{{{{|{{{{|y{zzzz{{zz{|{{|{z{zz|z{{{{{{{||z{{{zz{z{{|{z{z{{zzzzz{z{|{{{|{{{zz{{{{z{{{z|{{{{{zzzzzzzzz{z|||zzzzyyzy{{zzz{{{{{zzy{{zzzz{{{|{zzzyzzzzzz{z{|{{{zyyzzzyz{|{{{{{{zzzzz{zzz{{{{{|zzzzz{zy{{{{z{z{z{{z{zz{{{|z{{{|{z{zzz{zz|{z{{||{{z{z{zy{}{{{}{{{{|{{zz{||{{|{{{{|{{z{{z||||{{{|{{{z{{{{{|{|{||{{|{z{{{{{|{||{||{z{{|}|{|{{|||{}{{z{{z{{z|{{|||{{z{{z|{z||{{}}{{{zz{{{{{|{{{{||}|{{z{z{{|}{|}|{}|{||{{{{{|{{{}|{{{z{{{||{{{|||||{|z{{{|{{|||}{{}{{{{{{{|{||{{z{|||{{z{{{{z{||||{{{|z{{zz{|{||{{{{z{{zz|zz{{|{{{|{{{zzzz{|{z{{{{|z{{{{{{z{{{{{{|{{z}z{z{z{|{zzz{{{zzzzz{z{{{{{{z|z{|zzzzz{z{z{{|zz{{zzy{zz{{{{|{{zz{zz{{z{z{{z{|{zzyz{zzzz{{{z{{{z{zz{zyy{{{{|{{{{zz{zz{{{z{{z{{{zzzz{zzzz{z{z{zzz{yz{{{zz{z|{{||{{zzz{zz|z{{|{{zz{zzzz{{|zz{{{|{{z{zz{{{|||{||{|{{z{zzzz{{{{|{||{{{{{{{zz{||{||{zzy{zzz{{{|{{||{|{{z{zzz{}{{{|{|{z{{{zz{{{{||||{z{z{{z{|{{{{|||{z{{z{z{zz{|{{||{|{|||z{z|~{|{{||||{z{{||{{|||}|}|{{{{{{{{|||{||{|z{{{z{{|{|{||||{z{z{{{z|{|||{|||{{{{z{{{{|{{||}{{{z|{{{{{z||||{{{{zz{|{z{||{||{{zz{zz{{||{z||||z{{zzzyz{{{{{|{|{{z{zzz{{{|{|{{|{|zz{yzz{{z{z{{{{zzzzz{z{{zz{z|{{zzyzzzz|z{{{|{|{zy{zzz{z{|{z{{z{{{{{zzz{{zzz{zz{{{{{zzz{{|{{z{{zzzzzz{zz{{zz{{z{zz{z{z{z{{{{{{{{z{zzzzzz{{z{{{{zzzzzzzyz{zz{{{z{{zy{yzz{{zy{|{|z{z{zzzz{{z{{{||zzz{|z{z{{{{|{||{{{zzz{{|{}{{|||z{{{y{{||z{|{{|{{z{{{{{z{|||}|{|{{{{{{z{{|{{{||{{zzz{{{{|{{{{{{{{{{{{{{{|{|||{||z{zzz{|{{{{{{{{|z{{{{{{{{{|||||{|{|y{{|{||{{{||||z|{z{|{z|||||||||{{zz{{{||||{|{{{{{{{z{{|{||||{}{{{{{{z{{}|{|{|{{z{|{{{{{{}|{||{{{zz{{{{|{z|{||{zz{{z{z{|{|{||{zz{z{{{{{{{z{{{{{z{{zzzz{z{z|{{zzzzzzyz{z{zz{||{{{zyzz{{||{{{{|{{yz{zyzzzz|{zz|zz{{zzzzzyz{z{{{{{zzzzzzzz{z{{z{{{zzz{yz{z{{{z{{{zzyzy{zz{{|zz{{{yzzy{yzzy|z{{|{{zzz|{zzy{{z{z|zz{z{zzzzzzz|{z|||zzyz{zzzz{{zz{{{y{{z{zzzz{{{z{|{zy{zz{z{z|{z{{{zzzzzzz{{{{|{zz{|{y{zzyzz{{{{|{{|zz{z{zzz||{|{{{{{{{z{yzz{z{|{||{|z{z{z{{{|{{{||{zzzz{z{{||{|||{|{{{zzz{{{{z|||||{{{{{{{{{{{{{{||{{{{z{z{|{|{|{||{{zz|{{{{||{|{|{{{{{z{{|{{{|{||||{|{{{z{{||||{||{||{{|z{||||{{{||{{z{z{{z|{||{~||{{{{{z{|{{{||||zzz{z{{{{|{||{{}zz{{{{{{{{|{{{{|z{{zzzz{||{{{zz{{zy{{{zzz{|{{{z|{zzy{z{z{{z{{|||{{zyzzz{zz{z{{|{{z{z{zzz|{{{z{{|{z{zzzzz{{{{{{{|zzzzyzzz{z{zz{{{{zzzzz{zz{{yz{{zz{zzzzyzz{{z{zz{z{{{zzzzz{{z{|{{zy{zzzzzzzz{{{{{zzzzzzzz{{{{{|z{{{zzzzzyzzz{z{{|{yzy{y{{{{zzz|{{{zzz{{yz{{{|{{{{{z{zzzyy{{{{{{{|{z{zzzz{z{{{{{||z{{{zzy{|{{{z|||z{{{{z{{z||z||{{{{z{zz{z{{|z{{|{{zz{zz{z{{{{{{{{z{zz{{{{{{z{|{{{{{|{{|{{{{z{{||}{{{{{z{z{{||{||{|{z|{{{z||{|{}||{|{{z{{{|{{||}|||{{|{{|{{|{{|{{}z{{{{{{{z|{{{||{|zz{{|{|{||||{|||{{|zz{{{{|||{|{|{{z{{{{{|{{{|||{{zz|{zz|{|{{{{}{{{zz{{{{{{|{|{{zzzzzzzz{{{{{z{{z{{{zz{{{{|{z|{|z{zz{zzzz{z{{}{{|{z{z{zzzz}{{{|z{{{zzzzz{{{{z}{|{y{zz|zz{{{{z||{{{z|zzzzz{{z{{z{{zzy{zzzyz{{zz|z{yzzzzzz{{z{{{{{{zzzzzz{{{{{{{{|{z{zzz{zz{{z{{|{|{{z{yzy{{zzz{{{z{zz{zz{z{{{{{{{z{z{{zzyy{{{z{|{z{zz{zzy{{|{{{{{|{{{yz{{{||{}{|{{z{z{zz{{{|{{{{{{{z{|y{z|{{||{{|{{{z{{{{{{}z{{||{zz{{{z{|||z{|||}{{z{zzz{||||||{{{z{{||{{||{|||{|z{}{z|zz{{{|{}z|{zz{{{{|{||||{|{{||z||{|||{||||}|{{{{{|{}{{|{}|{{{{|{{{|||||{|{||{z{{{||{{{|{{||{{|{{|{||||}||}z|{z{|z{{{||||||{|{{{z|z|{{{{|||{|{z{z{{{{{{{{{|zz{{zz{yzz{z{{z|{{zz{z{z{z{{{{}|{z{z{{z{{z{{{{|{{zz{{{{{{|{{{{|{{zzz{{{{{{|{{||{{{yzzz{zz{{{||{{zz{z{yzzz{{{z{{{{{zz{zz{{zz{{{z{zz{yz{{zz{{{{{|{z{zzyzy{{z|{|{|{{{{zy{zzzz|{z{||z{{zzy{zz{{z{{{z{{z{{zz{{|{zz{z|z{{{{z{y{{{{{{{{{{zz{{{{{{{z{{||{{zz{z{z{{z{z{|{{{{{z{z{z{|{|{||{z{{{{{{{||||{|{{z{zz{{{{z|||||z|{{{z{{{{{|||{|||{{{{{|{{|{{{||{z{z|{{{{{|z||||{{{{{{z{zz|{|||||{z{{|{zz{}||}||}{{{|z||{|||||{}}|{{z{{{{|}{}||||{||{{{{||{{|{||{|zz{{{{{{|{|{{|{||{|{{{}||{|||{|{{|zzz{{{||||{|{{||{z{{z|{|{{|}{{{{z{{{z{{{{{|{{{z{{yzzz|{{{{{{{{zzzyzyy{z{{{z||{zz{{{zz{{{|{{{|{{z|{zzzz{{{{|{{{{z{z{{z{{z{z{z{zzzz{{zz{{z|{||z{zzzzzyz{|{z{{{{zzzzz{zz{{z{{{z{z{{zzz{z{zz|{z|zz{|zy{{{y{{z{{|{z{{zzz{z{{{{{z{{z{zz{zzyz{{{{{|{{z{z{{zzz{zzz{{{z{{z{{z{{z{{{{|{z{zz{z{zz||zz|{{{{{{zyyz{{{{|{{|{y{zyz{{{|{|{|||{{{zzzz{z{{}{{{||{zz{zzz{{z||{|{{{z|zzzz{{{{{|{|{{{{z{z{||{|{}}}{{|z{{{{||||{|}}{{z{{|zz{{|}||{{|{{{{|{z{|||{|||{||{z{|{{}||}{|}{{|{|{|{}|||||||{{|z|z{{||{{{|||}{{z{{{z{z|{||{|{{{{|z{|{|||||}|{{|z{{{{{|{|{||||{{|{{{z{{|{|{}|{|{{{{z{{{|{{{z{zyzzzzzz{z{{{|z{zzy{{zzy{{{|{{{{{{yzzz{z{|z{||{z{z{zz{yzz{{{z{{|{z{zzzzy{{z{{|{{{{{{{{{{{{{z{{{z{z{z{zzyz||{{{{{{z{zz{z{z{z{{z{{zzzzzzzz{zz{|{{z{{zzzzzyz{{{{{{{{zzzzz{z|{{{|{{{zzz{{z{zzz{z{{{|{|yz{z|zz{z{{{z{{zzz{|z{|zz|z|||{zy{{zzz{{{{{{||{z{{z{{{|{|||{{|{|z{z{{z{{{z|{{{z|z{|{{{z{{{{|{{{{{|{{{{|{{{{{|||{{{|{z{||{{{|{|||{zz{|{|{|{||{|{{zz{{{{|{{|||||{zz{{z{{||||{}|{|{z{{{{{{||{|||||{{z{{|{||}|{||}||{z{{{|{}||||||{z||{{{{{||{{||||{{{{{||{|||{||}{|{||{{z{{|}{|{}z{{zzzzz|{|{{|||{{z{zzzz{|||{z{{|{zz{zz{z{{{{{{{z{z{zzzyz{|zzzz||zzz{z{zz{{{|{|zzz{y{zzy{{{{{{{{{{{{{zz{z{{{{z{{|zzzzy{z{z{{{z{z|zzzzzzzzz{{z{|zzzzz{zzz{{zzz|{{{y{zy{zy{zz{{{{{zzyzyyzzz{z{{z{{{z{zy{y{z|{z{|{{z{{{zzz|z{|{zz{{{zzzzzzzy{zzz{|{z{z{zz{zz{{{{{{|{{zz{zyzz{|z{z{|{zzzzzzz{{{{{{|{{z{{zzz{{{{{{|{|zz{{z{zz|z|{{{{{{|zz|{{{{}{|{|||{{|{z{zz|{{{{z|||{z{{zz{{}{zz{||{{zz|{{|{{|{|||{{{{{{{{|{{{{{{|{{z{{{zz{{{{{{||||z{{|zz{z|{{||}|{{{z{|{||{|{|||||{{{{{|zz||{|||||{|{zz{{{{}|||{{|{{{{{|{{{z}|{||{{{{{{{z||{{|{|{{{{zzzzz{{|{{||{{{{{{y{z|{{{{|||z{{z{{zz|z{{{{z|{zzzz{zy{|{{{z{{{{zzzzzz{{{||{|{zzzzzzzy|{{z|z{z{z{{zz{{{{{{{{|{{{{y{z{zz|{z{{{|{zyzzzzz{zz{z|{{{z{{{zzzz{{{z|{zzzzzy{z{z{z{{{{|zz{zz{zz{{{z{{{{{zzzzzyz{z{z{{{{{z{{zy{z{{{{{{{{zzzzyzz{{z{{{{|{{zzzzyzzz{{{z{z{zz{zy{z{|{{{{{{{{{{z{yz|{{zzz{||{z{{zz{{|{|||||{zz{yz{{{z{{{{{{{{z{{zz{{{{{{|{{{{{{{{z{{{|{{||{{{zz{|{zz{|{{{{{{|zz{{{{{{{z{{|||{{{z{{|||||}{{||{z|{{z{|{{|{{{|{{{|z{|{{{|{|{}||{{{{z|{{{|{{||}|{{{{{|{{{|}{||~|||||{{z{{||}||{z{{zz{z{|{{{{{{|||zz{{{z{||{|||{{z{{y|{{{{{|z{||{{z{{{z{zz|||{{|{{z{z{{{{{{{z|{{z{{z{zzzz{{{{{{{{|z{{z{z{{{{z{{{{zzyzz{{yz{z{{z{{z{{zzzzz{z{|z{{|zzzyz{{z|{z{{{{{{zzz{{|{y{{{z{z{zzz{z{yz{{{zz{{zz{zyyzzzz{zz{{{{z{z{yzzzz|{z{{{{zzzzzzzzz{{{{z{zzyz{yy{z{{|zzz{{z{zzyzzzzzzz{{{{{zzz{zzzz{{zz|{{zzzzz{{y{{{{{|{{zzzzzz{z{{{{{{{{z{{{zzzz{z{|{{{{{z{zz{{z{{{z{z{{{zz{zzz{z|z{{{{{zy{y{{zz{{{{{{}{{{{{{{{{z{{|{||{{{{{{{{{{{||{{|{||z{zz{{{{{|{|{}z{{{{{z|{{|{|z||{zzz{{zz||{||||||zz{{{{{{}|||||||{zz{{{{{}|{z}}||{{{zz{z||{|{{|{{{{{{{z||{{|{||}{|{{zz|{{|||{|{|z{{z{|{{|{z|{{||{{|{{{z{z|{{{||z{z{{z|{|{{{|{{|{{zz{{zzzz{z{zz{zzzzzy{zzz{y{{{{|zzzyzyyzzz{z{{|zzzz{zzyz{{|zyz{zzz{zyzzzz{{{{{z{zz{zzzzzz{zz{{{zzzzzzzyz{{{{zz{z{{{zzzz{{{{zzzzzyz{yzzzy{{{zzz{z{zzzzzyyzz{zzz{|zz{yx{yzz{zzz{{z{zzzzyzy{yzzz{z{zz{zzzyyz{zz{{{z{zzzzyzy{zzz{{{|{zyzzyzz{{{{z{{zzzz{zzz{{{|{{z{|zyzyzz{z{{{{{{{|zz{z{y{{z|{|{{{{{z{yz{zz{|{{{z||{z{z{zz|z{{z{{{{zzzz{{{{|{{|{|{{{{{{z{{{{{{{{{{{{{{{zz{z{{||z|{{{{zz{{zz|||z|{|||z|{{{{{{z{{||{{|z{z{|z{{{{|}|}|{{|{{|zz{||||{{{{zz{{{{{||{{{||}|{{{{{z{{||||{{|{{{zzzz{z|z{{{|{{{zzzzzz{{||{|z|zz{{{z{z{{}{z{{{z{z{z{zz{|{z{||zzzyzzyzyzz{{{|{|z{{z{|{{zzzz|z{z{{{{{yzzzzzzzz|{{z{yzzzz{{{zz{|{{z{zzzzz{z{z{{{{z{z{{zzzz{{y{zz{{{zzzzyz|zz{z{{{zzzzz{zz{zz{zz{zz{{zz{zzzz{{{{|zzz{zyyz{z{{{{{{z{zzz{yzzzzzzzz{{{zyyzy{zz{z{z{{{zz{zz|zz{{{|{{|{{zz{zzzz{{|{{{{|z{{{zz{{|{{{z{{{{z{zyzy{{{{{{z||{z{z{{{zz{}z{{{zzzzzzz{z{{{{|{{{{z{{zz{z|{|{{|{{{{{{|zzz{z{|||{}zzzzz{{{{|{{{{||{z{{z{zz{{}{|{|{z{zzz{{{{||||}|||z{|{z{{z{{|||}{{{{{{z{{{||{|{||{{z{{z{z{||{{{{|zz{|{{{z{{{|}|}|{{{{{{zz|||||{||{{{zz{{z{{z|{{|{|zz{{{zz{{{|{{{z{zzy{yyz{{{z{{zzz{zyx{zz{{{z|{{|{zzzzzzzz|z|{{|}{zzzzyz{{|{{|{|{zzy{zzy{{|{{{{{{|zzzzyy{|{||{z{|z{zz{z{zz{{{z{{z{zzzzz{z{{|{{zz{{zzz{zzzy{z{y|{{{yzz{yzzyzzz{z|zzz{zzzz{z{{{|{{|zz{yyzzz{{z{{{|{{z{{z{yzz{zz|{{z{{z{{z{zz{{{{{{{{z{{{|zzzzz{|||{z{z{{zz{{|zz{{{z{z{{zy|z{z{{{|{{{{{zzz|z{{{{{{{|{{{z{z{z{|{{{|{z{z|{{zz{||{|{{|{{zz{z{z{||||z|||{{z{|{{{{{}||{|{{z{{{{{z{{{|||{{{{{z{z{z{||{{{{{|{z{{{{z{||{||{|{{{{z{{{||{|{{||}zz{z{{z{|||||{{|z{|||z{{||{|||||z{{|{{|{|z{|||||{zz|{z{|{{|{{||{|zz{z{{||{{|{{|{{z{{{|{z|{||{||z{|y{zy{{z|{z{{{z{y{{zzy{z|{{{{{{z{{{zzzz{{z{{|{{|zz{zzz{z{{|{y|{zzzzzzzz{||z{|{z{z{zzzz{|{{{{{|{z{zzz{zz|{{{|{{{zzzz{zzz{{|{{z{z{zzzzzz{{{{z{z{{yzyzzzz{y{{z{z{{{zzzzz{{{|{{{zz{{{{zyzzz{{|{z|{{zzz{zzz{{{z|{z|{{zy{{zz{zz|{|{{zzzz{y{z{{{{{z{|{zzz{{{{{|z{{|{|z|{{z{{{z{{|{{{{{z{z{zz{{{{{{|||{{z{|{{{y|{|{|{{z{{{{{z|{{{{{||{{{{{{zzzz||{z|{||{{|{{zz{|}{{|{|{{{{{z{{}{{{{||}|{{{|{z{{|{||{{||{{zz{{||||||||||{{{{|{{||{||||||{{{{{{{{|{{|}|{{{||{z{{||}{{|||{z{zzz{||||||||||{{|{{{{{|{|}{{{|z{{{|{|||{|{||{{{{{{z{z{{||{{|{z|{zzz{z{{{||zz{zzzzz{zz{{{{|z{{{{{y{{{z{{{{{{||{{zyzz{z{|{|{z{z{z{zzz{{z{{{{z{{z{zyyzy{{z{{{{z{z{zzzyyy{{{{z{{{{zz{{{zz{{zzz|{{{{zzyzzzz|yz{{{zzzzzzz{z{z{{{z{{zzzz{zzz{{{{{{{{zz{zzz{y{|z{{z{{{z{zzzzyzy{{{{{z{zzzzzyyz{{zz|{|{zzz{zzy{{z{{{|{{z{z{zzzz|{|{{{{zzz{z{{z|z|{z|{|y{{{zz{z{z{{||{{{zz{z{{|{{||{{|{zz|z{y{{{{|z{{|{{{{{y{z{{|{|{{{|z{{{{{z{{||{}{|{{{|z{{{{{{{|{{|}|{{{{zzz{}}|{|||}zz{{z{{|||}}{|{{z{{{{{{}|||}||||{||{|{{{||||||}{z{{|{{{{{{|{|||{{{{z{{{||{||{|{|{|{{{{{|{||||||{zzz{{{{|{{|{{|||{z{z{{{{|{|{{|{|{{z{z{z{{{|{{z{{yzzzy{z{{{{|{{|zzzzzz{z{{{{{|{|zzz{{{zz{{{{z{{{{zz{z{zz{{{{z{z{{{{{zz{z{z|{|{z{yzzzz{{zz{z{{{{{zzz{zzyy{{zz{{{{zzzzz{zzz{z{z{|{zzzzzyzzz{y{|{{{z{{{zyyzy{{zz{{{{zzz{y{yzzz||z{|zz{zzzzyzzz{z{z{{{zz{yyzz{{{||||{z{{{{zy{{{{{z{{|z{z{z{z|z{{{{z{{zz{{y{y{{z|{{|{z{{z{z{{{||{{|{{{||{z{{|{{{|{|z|{z{{{zyzz||z{{|{{zy{zz{{||{{{{{{{{zz{{{{|{||||}|{{{{{z|z{{{|{||}||{{{{zz{|{{|{{|{zz{{{{|||{{{{||{||{{z{{|{|}}|{||zzz{{{{{|||||{|||{|{{{{{|||{|}{{{{z{{{{|{{|||{}|{z{{{{|}|||{||{{{{{{{{{{|z|{|{||{{z{zy{{|{|{||{{z|{z{z{{|||||z{{z{zzzzzz{{{zz|{|zzzzzzzzz{z||{|{{zzz|{zzz{{{{{{{z{zz{{{{{|{{{{|{zzyzzzz{{{{{|{{z{{zz{y{yz|{|{{{{y{z{zyz{{{|{{{{z{zzz{{zz{|{z{{{{zzzzyzz{z{{{{z{{zy{zzyzz{|{|{{|{z{zzzzzz{{{{z{|{zzzzzzy{z{|{{z{{zzz{z{zz|{{{|{{zzzz{zzz{{z{{z}{{zz||zzz{{z|{{z{{z{{zz{{{|{|{{|{zzzzzzzz|{|||{|{{{|{{zzy{{|{|||{{{{z{z{{|{||||{{{y{{z{zz{{{z{|||{|{{{|{z{{{|{{|{z{{{|{|{{{||||{}{{{{{{z{{|{|{|}{{{{{{{|{{{|||{||{{{||||{{|||||{|{z{{{|{{||}|{{|}|{||{{{{|{||}|}|{{{{{z||{|||}||||{{z{{z{|{{}|||{|{{y{z{{{{z||{||{|zz|{zz{{||{{}{{{|z{zz{|{{{{{{{zzzzzzzy{{{{{|{|zzzzzzzz{z|{{|{|{{zzz{zzz{y{{z{{{{z{{zz{{|{|z|{|{{{zzz{zzz{{z|{z{zzzzy{z{|{zy{{{z{zz{zzz{{{zz{{z{zz{zzyz{z{z|z{{zz{z{y{yz|{{{{|{{zzzz{zz{z|z{{{{zz{zzzyzzz{|{{|{{{zzz{zz{{{{z{{{zzzzzyzzz{{{{{{{|y{{{zzz{{{z{{||{{y{|z{{{{{{{{{|{z|{{zz{{z{{{|||zz{{{{z{{|{{|{|{{{{zzzz{z{{{{{||{z{z{{{z{||{{|{{{{{{|z{||||{{{{|{z{{{{z{{|{|||{|z|{zzz{||{|}||{|||{z{||z{~{|{|||{{z{{{{{||{{{{}|{{{{z|{{{{||{|{||{{{{|{{{}{}||{||{|||{{{||{|{||{{{{z{{{{{{{||{|||{{zz{{||z{{{|||{|{z{{{z|{|{{{|||{zzzz{{{||{{{|||{{{z{{y{||z{{{{zzy{z{zzzzz{{{{{{zzzzzzy{z{{{{{{{zzzyzzz{{|{z|{{zz{zyzz{{{{{zz{{zzzyzzyz{{{{zz{{zz{zzzyzz{{{{{z{zz{zzzyz{{{{{{zz{z{y{yz{{zz{y{{zzy{zz{z{zz{{z{{|{z{zzzzzz{{z{{{{z{{{zzyzzz{{z{|{zz{y{zyyz{z{z{{z{zzzzzzzz{z{{{{zz{zzz{{zz{{{{z{|{zz{zzzz{||{{{{{zz{z{zz{{{z|z|{{{{z{{z{z{{{z{{{{{{{z{zzzz{{{{{{{z{z{{{z{{{{{z{|{{z{zz{z{{|zzz{z|{{z{{{zz|{{|||||z|{z{{{{{|{|z|||{z{{zz{{|{{|{{}{{{{z{{{{{{{{|||}{{{{{{{zz|{{|||{|z{{z{{z||{{{|||{z{{zyz{{{|{{||||{{{{{z{{{{{||{{{|z{{{{{{|z{{{{|{z{z{yzz{{{{|{{{{{{{{{{{{{{{{{|{{z|z{yz{{{{|z{|}{z{zyz{zz{|{{{{|zy{zzzzzzzzz{{z|{{zyzzy{|z|{{||{{zyz{z{{zz{|zz{{{{{zzzzzz{{{{{z{{z{yzzzzzz|y{{{zzzz{zzyzzz|z{z{z{zzzzzz{zzy{{{z{z{zz{z{zz{{{|{z{{y{yzzzz{{{z{{{{{y{yz{zyzzz{{{{{zzzz{zzzzz{{z{{{{zyzyzzzzzz{{{{{{yzy{zzzzz{{{||{{zzzzyy{{{{zz{{{yy{{zzy{z{{{{{z{{z{{zzzz{z|{z||||{zzz{zz{{|{{{{{{{zzzz{zz{|{{{{z{zzz|zz{{{{z{{{{{z|{{zz{{|||{|||{{{{zzzz{{{zz||{{z{{{{z{{|||{||{{zzzz{z{{{{||{{|{z{{z{{z{{{{|||{z{zz{{{{||{{|z|z{|{{{z{z|{{||{|{{{{{{{{||{|{|{||{{z{z{z{||||||z{{{{z{{{z|{{{{{||{zzz{z{z{{|{{{{zzz{z{zz{z{{z{|{{zzzzzzzz{{{{{z{{{yzz{z{z{{z{{|{{{{zyzy{zz{|{{{{{{zz{{zz{z{{{{z{{{zyzzyzy{{{{z{{{{z{yzzzzy{{z{|{{{z{zyzzzz{{{zzzz{zzzyzyz{{z{z{||{{yzzzzzzz{{z{|{zz{{yyzzz{z{{{|{zz{zzzzzzz{z{z|zzyzzzzzyz{zzyz|{{z{yzz{z{{z{{{z{{zzzyzyyz{{{zz{{|zzzzz{zz{{{{{{|{{y{zzz|{{zzz{{|y{{zzz{{{{{{|||{{{zz{z{z{|{{{}{{{{zz{{{y{{{|||||{y{{{{z{{{|{z{{{{z{{{{z{{{{||{{{z{{z{z{{{||||{|}|zz{{{{{{||{||{z{{z{|z{{|||{||{||{{{z{{{{{|{{|{||{|{{{{|z}||{|{||z{{{{z{{{|{{|{|{{{zzz{{{|||{||{|{z{{{{{||{{{|{|{{{{zz{z{|{||||||zz{zzzzz{{{{z|{z{zz{z{z{{{{{{z{{zzy{zzy{{|{zz{{{zyzzz{z{{{zz{{|zz{{zz{z|{{z|{{{{z{zz{zzz{z{{{{{zzzyzz{y||zz{z{{{y{yz{{z|z{z{{{{zy{z{zyyyz{{z{{{zzzzz{zzyz{z{{{zzy{yzz{zzz{z{z{z{zzzzz{z{z{{|{{zzzzzzyzzz{z{y{{{{z{zyyzyzz{zz|z{zz{y{zzzz{{z{{{{zzzz{{{{zz{{{{{z{zy{{yz{{{{z|{{{zy{zzz{{{z{{{{{{{zzzz{z{z{z{{{|{{z{{{{zy{|{{|{{{z{{z{zz{{|{{|{|zz{{{z{zz{{{{z||||z{|z{z|z||{|{{|{||{|{{{{{{||||{{zz{{zz{{|{{}||||z{{zz{z{|{{{|{}{z|{{z||{{||||||{{{{z|{{{{{{{||{{{|{{{|{|||||||||{z{{{z{{||{||{|{z{z{{{{}||{{{{|z|{{z{{{{{{{|{|{{{zzz{zz{{z{{{{{{z{z{z{{{{{|z|z{{{z{{z{z{{{{{|{|zzz{zzzzz{zz{|{|{{z{zz{z{{|{{{{{{y{zzyzzz{{{{{{{{{zzzz{z{y{z{{z{{zyz{zzy{{zzz|{{zzzz|zzz{{|zz{z{{zzzzzzz{{z{y|{{zzzzzzzz{{|z{{{{zzzzzzzzzzz{{{{{zzz{zzzz{z{{{{||zzzzyzzzz{zzz{{{zzzzz{z{{|{z{{{|zy{{{{{z{z{z{{{z{{zzzyzzz{{|{z{|{{zz{yzz{{{zz{{{z{z{{{zz{z{z{|z|{{z{{z{z{|z{{{||{z{|z|{y{{||{{|{{zzzzzz{|{{{|{z{zz{{{{{|{{{|{|{{|z{z{{{{{{{{{}||z{z{{{zz{|||||{{{z{z{|{{|{|{|{{|{{{{{{|{{||||}|||{{{{{|{{||}|||{|{{{||{{|z||||||{{{{{{z{{{|{||}{|{z{{{z{{|{|{{}|{{{z|zzz||{|{{||z{{z{{|yz{|{{{||{z|{{zzz{{{|{{{z{zzzzzzzz{z{{{{{{z{z{{{z{{z{z|{{{zzzy{{{{{{{{|{|{{zzzzz{|{{|zz{{{|z{zz{y|{{|{|z{zyyzz{{zz{z{{{{{{zzyzzzzz|{z{{{{{zzzz{zz|{{{z{{{zz{yzz{zz{|{|{z{yzz{z{yz{zz|{{|{zzzzz{zy{{zzz{{|z{zzzzzz{z|z{{{{z{z{zyzzz{{z{|z|zzz{zzyzzz{z{{{{|{zzzz{yzz{{zz{{{zzz{zzz{{|z||{|{z{z{{zz||z{{{{{{z{{zz{z{{{{{{{|{zy{z{zzz|{z|{}|{z{z|zzz|||{||||{{z{{zzz||||||{{{{z{{{{{|{{|{{|{{{{|{y{{||||z|}{|z{{z{{z{}{|}||||{|{{{|z{|{||||||{|z{{|{{|||{}|{|{{{|{{{|}||z||||z|{{z{{{{||{||{|{{{{zz|{|{|||||{|{zz{z{{|{{{{||{{{{{{{{|||{z{{{{zz{|z{{{{{{{|{{{zz{zzzzz{{{{{zz{zzzz{zz{{{z{||{{zz{{{zz{z{z{{{{z{z{{zzzz{{|{{{|{|zyzzzz{zz{z{{{{zzzzzzzz{|{z{{{zz{y{z{{yz{zz{{{{zzzzzz{zzz{{z{|zzzzzzzz{|{z{|{z{z{yyzzzzz{z{{z{{z{z{{{{z{zz|{|{zy{{z{zyz{{{{{{{{z{zzzz{{zz{z|{{zz{zzzzzz|zz{{{{{{z{zzzyzz{{{{{{z{z{zy{z{{{{zz{{{{zzzzz{{z{{|{||{z{{zy|z{{||{{{|{{zz{{yz{{|{{{||{zz{{{{{|{{{z{|z{{{z{{|z{{||{|{|z{{{|z{{{{||||||{zz|z{zz||{||||||zz{|{{z|}|z|||{{{|{{{{{{|z{||{}{{{z{{|{|~{|||||{{||z{{z|{{||{{{}z{{}{{{{|{{||}||{|{{zz{|{{|||{|{{{z{{{{|{{|{}{|{{z{{z{{z{{{z{{{z{z{z{z{z{{{{{{{{yzzyzzzzz{{{{|{zzzzzy{zz|{{{z{|{{zz{zz{zzz{{|z{{z{{zyzyz{{zz{{{zz{yyzzy{z{z|{z{zzyzz{zzyzzy{z|yz|zyzyzyz{|{{{z{{zzzzzzzzy{zz{z|{yzz{zz{z{{z{{{z{zyzzzyz{y{zz{z{{y{yzzyyz{{z{z{z{zzyz{zzzz{{yzz{zzzzzzzzz{{{{{{|zz{zz{yzz{{{{{{{zzyzzyxz{{||z{{|{y{{zzyz|{z{{|{{zzzz{zz{{|{{{{{|zy|{{z{|{|{||||{z{zz{y{z{{|{{{||{yzz{{zz{{{z{{{|{{{{{{{z{{{|||||z{{{{{{z|}|{|{|||z{{z{z{{{|||{|{zz{{|z|{|{|{|{|{{{{zz{||{|{{{||||{z{{|{{|||{{{|||{|{z|{{{|{|z|||{zzzz{zz{{{|{{||{{{z{|{{{zz{{}{|{z{z{z{{{{|{||{}{z{zyzzzz||{z{||{{{zzz{z{|{z{z{{y{zzzy{zz{{z{{z{zzzzzzzz{z{z|z|{{z{zz{zyz{z{{z{|{yz{{zz{{zzzzzz{zzzzyzzz{{{{{{{{z{zz{zyz{{z{{{z{{{{zzzzz{zz{z{{zzzzy{yzz{zz{zzzzyyzyyy{{{{{{z||z{zzzzz{zzy{z{|z{y{{{zyzzzzzz{{{zzzzzz{zyz{zzz{z{{{zyz{zyz{z{z|{zyyzzyy{y{{zzz{{{z{z{zyyy{z{z{{{|{z{z{yz||z{{{z{{{z{zzzz{z{{{{{{{{{|z{yzz{{{{{{|{zz{{z{z{{{{{{|{z{{z{y{zz{{{{z}z|{{{{{{{{{||||||{z|{zz{|{{|{z{{||{|z{z{{z|{|{{{{||zzz{{zz|{||{{|||zz{z{{|z{{{|{{{|zz|{z{{{|||||{|{zzzzz{z{|{{|||zz{{zzz{z{{z{{||}{{{z{zz{|{{{{||{{|y{z{{{{{|||{|{|{{zzzzz{{z|{|z{{{{zzzyz{|{{{{{z{yzy|zz{zzzz{{{{z{{{{zz{z||{{{{{{zzzz{{y{{{{{{{z{{zzz{zz{{{{zz|{|z{yzzzy{z|{z{{|{{zzzzzzz}z{{{|{zy{yzyz{zz|{{z{z{y{zy{yzzzz{{{zz{z{zz{zz{{zzz{{zzzzzyyzzzz{{{{{{zz}z{y{zz{y{{{{{{zzz{yzyz{|z{|zz{zzzz{z{z{z{{{{|{zzzyzzzz{{{{{{{{zzz{zzz{z{z{z{{{zz{z{{z|{|{{|||{zz{{{z{z{{{{||{zzzzzz{{z||{z|{{{{|{z|z{{{|{|z|{{{zz{{{{|{|{{{{||z{{{{{z{{{}{||{z{{{{{{{{||{|{||zz{{|z{z{|{|{{||{{z{||{{}|{{|{|}{{|{{{|{|{{|}|{||z{{{{z{{|||{|}|{{{|{zz{||||||||{{{{z{z{{{||||z|{z{{{{{{{{||z}||{z|zz}{z{||{{||{{{{|{{zz{|||{{{|{{z{yzzz|z{{{{{{zzzyzzzzy{|z{{{|zz{yzzyyz{{{{{{|{{yz{z{z{{{{z|{{zzzz{yyy{{z{{{{{{yzzz{zzz{z{{{{{zzzzzyyzz{{{{{|{zyy{zyzzzyz{z{zzzz{zzzy{{zzzz{z{yz{zyzy{yz{{z{|zzyyyzzzzzzzz{{{zz{{zzyzzy{zz{z{zzyz{zzzzz{yzz{zzzzyz{yzyzzz{y{zzzz{yz{z{z{{z{{{{{yyyz{y{{zzz{{zzzz{{z{zx{zz{{{{{z{zzyzzzz{{{{z{{{z{yz{{yz}{{{z{{z{zzz{{z{|{{{{|{{{{zy{zz{{{z{|{{z{z{zz{z{{{|}{||zz{{{{{{{{{|{||||{z{zzyz{|{{|z|{{{{z{z{{z||z{{}|zz{{zz{{|{{|{|{{|z{z{{{{{}||{{|{{{{zzzzz|{{{{{|{|zz|{{{{|{{{{||{{z{{|{z{{{{}{{|{{{{zzz{{{{{{|||{|zzyzz{{z{{{z|z|{z{yzz{z{z|z{{z{{{yyzzzz{|{z{{{{zzzyz{zz{{|{zz{|zzzz{z{zzzzz{{{{zy{z{{zz{{{|z{{{{z{z{yzzzz{{{{z{{zzz{zzzz{{z{|{zzyzzzzzyzzzzzz{z{yzzyyzzz{zzz{{{zzz{zzyyz|zzz{{zyyzzzyzyzz{zzz{{zyzzyzzyzzzz{{{z{zzyzyzyyzzz{yz{{zyyzzyzz{zy{{{{zy{zzzzy{z{zz{|{zzzz{yz{z{{{{{{{yzz{zz{zz{z{{{{{z{{zzzzzzz|{{|{{zz{zzz{zz{{|z|{{zzzzzzz{{zz{{|||{zzzz{yz|{{{z{{|{{{|{{z{z{{{{|||{z{|z{{{z||{{|{{{zzzz{zz{z{|{||{|z{z{{{z|{{||||}{{{{{z{z{{|z|{}|{z{{zz{{{|||{|||{{z{zy{z|}|||||{{{{|{yz|{|{|||{{|zz{{z{z|{{|||}{{{zz{{z{{{{{z{{||{{{yz{zz{{{{{{z{zzzzzyz{z{{{{{zzz{yyzzzy{{{z{{{zzzyzy{z{z{{z{{{zzzzy{zyz{{yyz{yzzzzzzzzz|z{{z{{zzzyz|zz{{z{z{{|{zzzzzzy{{zzz{z{z{{{yzzyzzzy{z|{zzzzz{y{yzzzz{zzyzyyyzy|{{{{{{|{zzzzyyzzzz{zzzzzzzz{y{yzyz{{{{{zzzyzzzzzzz{zz{{z{{zyzyz{z{zz{{{{{zzzzzzz{{z{{{{{{zyzzyzzz{z{z{{|zz{zzzzz{{zz{|{{y{|zz{zz{{z|{{{{{z{{{zzzz{{z|{|{{y{zz{yz{{{z{{|{zz{{zz{{{{|{{{{zzz{{z{zz{{|{|{||{{{{{{z{{|{{{}||{y{{z{{z{|{|{{|{{zzyzz{{||{|{{{||{zzzz{zz|{{|{{||{{zz{|{{||||||{{z{{z{{z{|{{{||z{{{zz{zz{z{{{|{{{{z{|{{z{{{{z{{{{{{z{zz{{|{{{|||{{yzzzzz{{z||{z{zz{z{z{{{z{zzzz|{yzzzyzzzzz{{{{{zzzz{zzz{z{{{|{{{{yyyz{{zz|z{{|zzzz{zyy{{{{zz{{zzzzzzzyyzzz{z{{{{yzy{zzz{{z{{{|z{{zzyz{zz{{z{zz{zzzzyzyzz{zzz{zzzyzyzzzzz{{zz{{z{yzzz{yz{{z{{z|{zzzzyzzzz{{|{z{|zzz{{yzzz{zzz{{{{zz{zzzzz{zzz{{|zy{z{z{y|{zzz{{{zyzzyz{{|{{zz{|{zz{z{zzy{z|{z{{{zzyzyzzz{zz{{|{|zzz{zzzyz{{zz{y{{{z{zzzz{{{{{{{{{z{{zzzz{{{{zz{z{{{{z{z{z{{|||{{{z{z{|{z{|{{{{{|{{{{{zzz{}{{{||{{{{zz{{{{}{{{|||{z|{{{{{{{{{|||{||{z{{z{z||{|{}{|{z{|zz{{||{||{|{z{z{zz{{{|{|{{|{{{z{{zzz{{{{}|{{{{{{{zz||{{{|||{{z{zzz{{{{{z{{|{y{z{z{y|{z{{|z{y{zy{zyzz{z{{{{|{z{zzzyzz{{zz{{|{zzyzzzyz{{|{{zzzzyzyzzz{z{{zz{{{z{zz{z{{zy|{{z{|zzzzzzyzz{z{{{{zzzzzzyyzzz{y{{zz{zzy{zz{zz|z{z{zzz{zzyyzzzzz{{{{xz{yyyzzz{zz{{z{{zzzzzz{{{{z{{{zzzz{zzy{{zzz{zz{z{zzzzzzzz{{|{zzzzzy{zz{z|{{{||zzz{{zzy{{{{{z{{{y{yzyzzz{{z|{{}{{{zzz{zz{{|{z{{{z{z{yzz{{{{{{{{yz{{z{{z{z|z{z{|{zzz{{{z{{{zz|{{{z{z{|z{{{{{|{{|{{zz{{{zy{{|{{||{|{{zz{z{{{{{{|{{{{zzzz{|}|{|||{|{{{{{{|z|{{{||||z{{z{z{{}||||}{|{|{{z{{{|||{|}||{z{{|zz{|{{{{}|{{z{{{{{{||{{||||{zz{{{zz{z|{|||{zzy{zzz{|{|{{|{{|zz{zzy{{{z|{zz{{yy{{zyyz{z{z|zzzzyzzzz{y|z{{{{z{{zzzz{zzz{{{{{{zz{zyzz{{z{zz|{{{z{y{{z{|z{z{z{{yzyz{yzz{{{z{{z{zzzzzzzzz|{{{zz{zzyzzyzzzz{z{{zzzyz{yyzzzzz{{{zz{{zzyzy{{{{{|{{zzzyzzzz{{z{|{zz{zy{{zzzz{zzz{{{{zzzzzy{{{{z{{{z{{{zz{yzzz{{{{zzzz{zz{zz{{|{{{{{{z|zzzz{{{z{{||{{{{yzz{{{z|{{|{{{{zz{zzzz{{|{|{{zz{{zz{z{{|{{z|{{zzz{zzz{||{{|zz{zz{{{z{||||{{|{{{z{{{{{{{|{{||}{zz{{{z{z||{|{||{||{{{{{}|{||||}zy{|{|{{{|{||||||zz{z{{{||{{{}||{{z{zz{{z{{{{|}{{{zzz{z{|||{{}|{||z{|{{{z|||||||zz{{{z{{{{{|z{|||{{zz{{z{{{{{z{{z{{{z{{{{|{{|{{|zzyzyyzz{||{|z{{z{{zzy{zz{{{{{{{{yzyzzzzz{{|{{{{zzzzz{z{z{{{z{{{|{{yyzzzzz{{{{|{yy{{zzzzz{zzz|{{z{{zzzzz{{{{z{z{yzz{zzzyzzz{{{{{{zzzyzz{|z{zz{|zz{zzzzyz{|zz{z|z{{zzzyzz{{|{z{{{zzz{zyzy{z{z{{{{{yzzzzz{z{z{{{{{{zzyzzyzz|{{z{{{{zzy{zzzz{{z{{{|zz{zzyz{z{{{{|z{zz{yzz{{{{{{{{{{{z{{{z{z{|z{{|{{z{{z{{zz{{|{{z|{{{{{z{{{{|z{{|{|{zzz{z{{{|{{{{|{|yzz{{{{{{{{|||{{zz{{{zz{|||{{||{{z{{{z{|||{|||{{{{{{z{{||{{{||{}z{z{{||{|{}{|||{{{|z{z{{z||{||{{{{{{{{{|{{{|{||z{{z{|{{||}||{{|z{zz{zzz{|{{{{}||{{{{zz{{||{{{{{{z{zzz{zzz{z|z{z{z{{zzzy{{{{{z{|{yyzz{yzz{{{z|{{{zzy{zzzz{{{{{{{zzyy{yzzz||{y|||{y{z{y{y{{{|{{z{zzzzzzzz{{{zz|{{{zzzzzzzz{z{{{{{yzz{{zzz{z{zzzz{yzzz{zzz{z{{|{zz{zzzyzzz{{{{{{{{zz{zz{zzz{{{z{{{z{zzzzzzzzzz{{{{{z{{zzzzz{{{zz{{{{{z{{zy{{zz{{|z{{yz{z{z{|{{{{z|{zzzzzzy{{{z{|z{yzzzz{zz{{{{{||{{{{{{z{zz{{zz|{{{z{z{zzz{{|{|{|zzz{{zzzz{{{{|||{|{{{|{z{{|{|{||}z|{{{{{{{{{|{|{{{{{{|z{z{{|{{z|||{z{{z{{|||||{|{{{|{{|{{{|{{|||||{z{{||{{|{{{||{|y{{z{{|{{||{||{|{z{{{z{{|||{{|||{{z|{z{|{{|||{{{{{{|z|{{{{|{|||{{{{zz{z{|z{{|||y|{zzzzz{z{{{{z{z{{zz{zz{z{|z{{{{zzyzzzyz{|{{|{{{y{zzzyz{zy{|{{{{{{z{y{z{z|{zzz|{zzyzzzzzzz{zz|{{zzyzzzz{{{zz{{{zzzzzzyy{{zzz{{{{yzy{zzz{{zzz{{{zzy{zyzyzzzzz{{z{yzzyzyz{z{{{{{zzz{y{zyyz{zzz{zz{zz{zyxyz{zyzyzzzzzzzzzzz{z|z{z{zy{zzzyz{{{z{{{{{zz{{zz{z{{{{{{|zz|zzzy{{{{z{{||zzzyzz{z|{{z{|z|zz{zzz{zz{{{zzy{{z{zzzzz{{|{{{{{{zy{zzzz{|{z{|{{{{zz{zzz{{{{{|||z{{z{zz{|{{{|{|||z|{zz{z{z{{{|{|{zz{{zzzz|{{|||||{|{{{{{{|{{{{|{{{{z{{{|z||{|{|{|{||{{|z{z|||||z|z{zz{z||{{{{|{{{{z{zz{{{|{{{{|{|{{z{z{{{|z{|||{{{{zzzz{z{{|z{{{{zz{{yzz{z{{{|{|{zyzzzz{{z{{z{{{yz{yyzzzz{{z{z|{yzzzzzzz{z{{|{zzzz{zzzy{{{{{z{{{z{zzyyz{{zzz{z{z{z{yzzzy{{{{{z{zzzzzzzyz{z|zz{{zzyzzzzyy{{{{zz{{zzzyzy{yz{zzz{{z{zz{zyzzzz{{{|{{{yz{yz{zz{{zzz{{{z{z{yzzzzz{z{{{zzyzzyzy{{yzz{z{zz{zzzyz{z{{{z{{{z{zzzz{zz{{z{}{zz{{{zz{z{zzz{z{zzzzyzzzz{{{{{z{{{{z{y{{z{|{{{z|zzzz{zzz|{|{z{|{z{{z{zz{{{zz|{z{{{{z{{{z{{{|{{||{{{{|z{{{{{|{|}|{{z{z{{z|||{{{{{|z{z{{|{|}{{{||{{{{z{{{{{{{||{|||{|{{z{z{|||{{z||{|{{{|{{{|{{|{{{zz{zzz|{{{{{{|||z{|z{z{|{||{{|}{{{{z{{z{{||z{{||{{{{zzz{z|{{{|{z{zz{z|zz{{{{{z{{z{z{{{z{{|{{{{{{z{zzzz{z{zyz{{{z{zz{{zz{{{{{{|{{zz{zyzy{{{|z{|{{{{yzzzzz{{{z{{{{yz{zzzzz{z{{z|z{{{zzzzy{{{z{{{zzzzyzz{{zzz{{zz{yzyzzyyy{z{zzzz{z{zzzzyyzz{z{zzzy{{zzzy{{z{{{zzz{y{z{z{y{{{{z{{{zz{y{zzyz{zzz|z{y{zzz{{z{{z{{{{{zzzzzzzz{z{z||{|{z{zzyz{yz{{{{{{{y{{zzzz{{{{z|z{{zzz{{{z{{{{{{{{{{{{zz{z{z|{|{|{{z{{{{{{{{{{{{|{z{{z{z{{{{|{||||z{z{z{|{{{{|{||{{{{{{zyz|{|||{|{|{{z{{{{{|{|||}}{z{z{z||{|{{|{{{{z{yz{{{{}{{{|{{|z{{{{|{|{{{||||z{z{z{{{zz|||{{{{{{{|{z{{{z{|{{|{{{y{{z{{{}{{||{|{z{{z{{z{{{{{{{{{zzzzzzz||{{{{{{zzyzzz{y{{z{{{|zyzzzyzzz{{{z{z{{{zzzzzz{z{|z{{{zz{zzzyzz{|{{{{{|z{z{yyy{{{zz{{{yyy{zz{yy{z{y{zzzzzyy{zzzz{{{{{z|z{zyzzzzz{z{z{{zzz{yzzzz{{{{z{z{z{yz{zyzz{{z{{zyz{zyyzzzz{|zz{{{{zzzzyyzz{{z{{{{zyyyz{y{zz{{{{{zzz{zyyz{zzzz{{{{{z{zzz{z||{zzz{{zzzyyyz{zz{{{|{{{zzyzyz{z|z{{{z{zz{{y{y{{|{|{{z{z{{zzzz{z{{{{{{{{{z{zz{z{{z{zz{{z{zz{{{{{|{{{||z{z{{z{{{{||{{|||{z{{z{{|||||||{|z{z|z{{|||{z|||{{{{{|{{{{|{||||{{zz|{{{{|||||}{{{{{zz{z{{|{|||{|zzz{zz{{{||||||{zz{{{{{{|zz{{|{{{zz{zz{{z{{{{||{{z{y{{{z{{{{{|{{z{zzy{{{z{|zz{z{z{zzyyyz{zy{z{{yyyzzzyzzzy{zz{|{zz{zyzy{z{zz{{{{zz{zy{y{{||yz|{zyz{zzzyz{{{zzz{{zzyzzzzz{zzz{zz{zzz{z{zzzz{{{{zzy{yyzzzzyz{z{z{yyzzzyyz{{y{{z{zz{z{z{zz{{zy{{{zzyyzzzzy{|z{{z|{zyzy{zzy{zzy{z{|z{yzz{z{z{zzz{{{{{zzyz{{zz{z{{{{yyzzzzzyyyzz{{{{zzzzyzz{z{z{{{{{{{zy{z{{{{{{{{z{zzzz{zz{{|z}z{|{{y|{{{{{{{{{{z{{{y{{{zzz|{{|{{{{zzzz{{zz{{|{{}{}z{{z{{z{{{{|||||{|z{zzzz{{||{z||{z{{z{{z{{{{{{{{{z{z{{{{{|{{||||||zzz{{{{||{|z||{z{{z|z{{{{|{{{{|z{{{{{z{{{{{|||{{{zzz{||{{{{{{{{zzyz{z{z{|{{{{z{{{{zzz{z{{z{{{{{{z{zz{zy{{{z{z{{{yyz{zz{{{{zzzz{yzyyz{{{{{z{z{z{y{zzzzz{{{{zzz{{yyzzzzzzz{z{{{{zzzyz{zzzz{{{{z{zzzzzyzzz{z{z{|zzzzyyzyzz{zz{{zzzzzzz{yz{zz{{zz{{zzyzzzzz{z{{{{y{zzzyzyzzz|y{{{{z{zzy{zzzzzzzz|{zz{yzyzzy{{yz{{zzz{zz{zz{{z{|{z{yz{zzzyz{|zz{{|{zyzzzyzzz{{|{{{{z{zzzy{{zz{|{{||{zzzzzzz{{{|||z{{{z{{zzz{|{{{{{|{zzyz{{z{{{{{{z{zz{z{zzzz{{{{||{{{z{||{{{{||{||{{{{|{z{{{{z{|{}{z{||zz{z||||{|{{{zz{{z{z|{||{{{|||zz{{{{{{{||{||{{{z{z{{{||{||{{|{{{|{{{{{{||{{{{{zz{zz{{{}{z|||{z{{{{zz{||{|{{|{{{zzz{zz|||{{}|{{{z{z{zz{{{z{{{{{zz{zzzz{{{{{{zzzzzzzyzz{z{{{{{zzzzzy{zzz{z|z{{{{{zzzzzzz{z{{{{zy{zzzy{{z{{z|{{zz{yzyzz{{}|{{zzzzzyz{zzzzz{z{{{z{zy{zy{{{{zy{{{zzzzyyzz{{z{{{zzzzzzzzzzz{{|{{{zzzzzzyzy{zzz{zzz{{{{yzyyyz{{{{{{zz{z{yzyz{z{z{{|{{zzyzzzzzz{y{{zzzzzzz{y{{{z{z{{z{zzzzzz{{{{z{{{{z{{zzzzzz{{{{{{zz{zzzz{{z{{{{{{|{zyzz{zz|{{|{z|{z{{{zz{{{|{|{{{{z{zz{yzz{z{z|z{{{{{zz|{|{|}||{|z|zzz{|{z{z||{||{z{|zz{z{{{||{||{{{z{zz{|||||||{{{{|{|{{{{{{{||{|{{|{{{z{}}|}{|{}{{|z{{z{|||{|{|{z{z{zzz{{{{{||}{{z{|{{y|}{{||||{{{z{{{z{{|{|{{{{{z{{{{z{{{{{{|{{z{y{z{{{{{{z{{zzzyzz{zz{{{{{z{{z{zzzz{{z{{{|{{{z{yzzzzz{{zz{{{z{zz{{zzz{zz{z{{{zz{zyzyzzzz{{||{zzzzyzzyz{zzz{zz{zzzzyyzyzz{z{zzzzzzzzyzzzzzy{z{zyz{zz{yzz{z{{|{zz{zzzzz{z{z{z|{zyzzyzzzz{{{{{{{zzzyzzzyzzz{{{zzzzyzzzyyzz{|z{z{{zzyzzzyzz{{{{{{zzzz{zzzzz{|z{{{{{{{yz{z{zzz{{|{y{zzz{zz{{|{{{{|{z{z{z{zz{{{z{|{{{{zz{zz{{||z{|{{{zz{zzz{{{{{||z{zzzz{{z{{||{|{{zz{z|{{{|{||{{{||z|{z{{z|{||{{|{|{y{zzzz|||||||||{|{{z|{{{{{{|{|{y{{{{{{{|{|}||||{{|{{{||{||{||||{{{|z{{{{{{|||{|{{z|z{|{{|{|{|{{{{z{{z{z{||{{|||{zz{{zyz{{|z{z{{z{yzz{{{||{{|z{{yz{zzyxz{z{z{z{{zzyzzzz{z{{{z|{z{zzzzzzzzy{{{{{{yzyzyzzzz{zyyzzz{zzyyzzz{{{{{{{zzzyzzzyy{z{zz{{zzzzzyzy{{zyz{{z{{zzyzzzzzz{z{z{{zzz{yzzz{{y{zzz{zz{zzyzzyzz{zz{z{zzyzzyy{z|z{||zzz{yzzzz{z{{{z{yz{yzzyzz{|zzzzzzzyz{zzz{{zzzz{{{zzzzzzy{z|z|zz{zz{zzz{{{{{{zz{|zz{zzz{z{{|zz{{|{{{{zzz{{zz{{{{zz{{z{{{z{{|z{z{|{{{z{zz{|{{{{|{{{{zz{zz{||{{|{|{z{zz{zzz{|zz|||{{zz{{{zz|{||{|{{|{{z{zz{{{{{|{{||{{zz{{{z{|{z{{|{z{{zzz{z{|||{|}|z{{{{{{{{{|{||{{{{z{y{{z{{{}{|{|{{|{zz{{|{{{{{|{|zz{{{{{|{{{||{{{{zzzzz{{z|{{zzy{{zz{yz{{{|{{z{zzzzzzzz{{{{z{z{zzzyzzzzz{{z{z||{{zyy|zyzz{z{z{{{zzzzyzyz{{{{z{|zzzzzzyzzz{|{{z{{zzyzz{zz{{zzz{z{zz{zyzy{z{{{z{{zz{xz{zzzz{zz{{zzzzzzz{zz|{zz{{zzzz{zzzz{z{{{|{{zzzzz{zz{{{z|{|{{zzyzyz{{zzz{z{{z{{zz{zzz{zz{{{zzz{zzzzzz{{{{z|{{zzz{zz{z{{zz|{zz{{y{zzz{zzz{{{{zz{{zzy{{|{{{z{z{{{z{z{zzzz{{||{|{{{z{zz{{{{z{{zz{{{zz{{{|{{|{z|zzz|{z{y{{||{{||z{zz{{z{||{{|{{{{z{{z{{z{}|{{{{z{{{{{{{{{{|{|{{}zz||{{{{{{|{|||}{|{|z{{zz||{{||||zz{z{z{||{|||{{|zz{z{z{{{{{{|||{{{y{{{z{|{{|{{|zzz{{{z{{{{{{{|z{z|{zz|z|{{{z{|{z{zz{y{z{{|{z{|{{y{{{zz{zz{{{{z{zz{{{yyz{{z{zz{|{zzzyz|z{{{{|z{{{zzzyzyz{{{{{{{|{z{zyz{x{|{{{{z{{zzzyzzyz{{{zz{{{z{zzzzz{z{z{{z|zzzyz{yzzzzzyz|{{zzzy{zz{z{{z{{z{yzzzzzzz{{z|{{{z{{yyzzzz{{{{z{{z{zzyzyz{{zz{{zzz{zyzzzyzzz{y{z{zz{zzz{{{{||{z{|{zzz|z{{{z{zz{{{zzy{z{{z{z{|{{{{zzzyz{{z{|z{{{z{z{{zzzzzz{z{{{{zz|{{zzz{z{|{{||{{{y{z{z{{{{zz{|{|{{z{{zz|{|{||{{{{|z}z{{|{|{{||{|z{{{yz{{{|{{{|{{z{{z{{{{{{{||||||{zz{{{{{|z}{{||{z{z{{{||||{}{||{{{{{z{|{||z{{|{{z{z{{{{{|||{|{||{{{{z{{{|{||{|{z{{|{{zz{{}{||{{|z{z{zz{{{|{{{{{z{zzy{z{z{{{{{{z{z{zz{zzz{z{z{|z{zzzyzzyzzzzz{|{zyyzyzzz{zz|{|{z{z{yyz{yz{z{zz{zzzzzzyzz{{{{{z{zyzyzyzy{zzyzzz{{zzzyzzzzz{zy{z{yyzzyzzyz{y{z{{{zzyzzzzzzzzzz{{zzz{zyzyzzz{{{z{{zzzzyzyy{zyzz{|{z{y{zyzzy{zz{{{z{zzyzyyy{{{z{zz{{zzzz{zz{z{zz{{{{{yzzyyy{zzz{z{|zzz{zyzyz{zz||z|zy{zzzyz{{{{z{{{z{zz{xz{{|{{{{{{zzzzzzzzz{{{y{|z{{{{zyyz{|{{|z{{zz{zz{zz{{{|{||{z{z{zz{{|{z|{{{|{{z{zyzy{zz{|{|zzz{z{zzz{|{||z|{z{y{z{{{z{{{{{z||{zzz{z{{|{z{||{|yzzz{{{|{|{{{{{{{z{y{z{{zz{|{{{{z{{{zz{||z{|{{z|{{z{z{{{|{z{}{{{{zzzz{z{z|{{|{{z{zzzy{{z{|zz{zzyzyyyzyzz{z{zzyy{z{{zyzzz{z{{{{{zyyyzzyyz{{zzz{|zyzyyzzyzzzzz{zzzzzxyzzzz{zzzz{{yzzzzyzy{zyzz|{{zzzyzyzyzz{yz{zzzzzyxzyyyyzzzz{zyyyzzyyyzy{zzy{{zyyyzzy{{zzyz{{{zzzyyyzyyz{zz{zzzz{yyyzzzzzzzzy{yxzyzyzyzzzyy|z{{zzyzzzyzzz{zzzzzyzyzz{z{z{{zzz{zz{yyyzyzz{yz{{zy{{yzzzzyzzz{{{{{z{z{{zyyz{{z{zzzzzzzzz{z{{{{{{z{zzzzzzz{{{zz{{{zzyz{zz{{z{{{|{{yzzzzz{z{{{{||{|zzz{{zyzzz{zz{{{|zzz{zzz{|{{z||{z{{{{z{{{{{{{{{{{zzzz{zz{|{z{|{|{zz{z{zz||{z{{{|{zzzz{z{{{{z||}|{zz{zzzz{{{{{{{{{{zzzy{z{{z{{z{{zzzzzzzzz{zzzz{{zz{{zzzy|{{{z{zzzzyxyyzzz{zzyzz{zzy{zyzy{z{z{{{{yzzyyzyzzzzz{z{zzzzzzyzyz{zyz{zzzzyzzyzy{zzzzzz{zzyyzyzyzzzzy{{{zyyzzzyzyz{zzyzzzyzyzzzzzz{zz{z{zzzyzyzyyzzzy{{{zyyyyzyzzz{zzzyyzzyzyzyyz{yzzy{{zz{zzzyyyyzyyzzzzyzyz{zxyzzzzzzzzy{yzz{yzzz{{{z{zyzyz{zzyzzyzz{{{{zyxy{z{zzz{{{{zzyzzzzz{{{yzz|{zyzzzyzyz{{{zzzz{zzyzyzz{{{|{z{{zzzzzzzz{{{{z{{{zzzyzzzzz{{|{||{zz{zzz{z|{{{z||{{{zy{yzz{|{z{{{z|zzzzz{{z|{{z{|zzz{z{z|z{{z{{|{{{y{zz{zz{||{{||{{{{z{{{z{{||{|{{{{zzzzz{{|{{{{{|z{{zzzzzzzz{{{{|{{{zzzzz{z{{{{{{{z{{zzzzz{z|z{{{zz{zzzzzzzz{zyz{zzzzyyzzzzzyzz{{z{zyzy{yzyz|z{{{{zzz{{zyzz{{{zz{{z{zzyz{yz{{{z{{zyzzyyzzzzz{zzz{zy{zyyyyzzzz{{{zzyzzyyyzyzzzz{{z{{zzzzz{yzy{{{zzyzyyzyyzz{{zzzzzzzzzyzxyzzzy{{z{zzzzyzyyzzy{zz{zyyzzyzyx{zzzzzyzyyzyyyzzz{zzz{{{yy{yzzyzzz{{zz{z{yzzyzzzzy{zz{z{{{yzzy{zzz{{z|{zzzzyzzzzz{zz{{|{z{zzyy{yzzz{{{zzz{zzzyzz{z{{zz{{zy{z|zzz{{{{z{{{{zzz{{{z{{{|{{{{zzz|zz{zz{{y{{z{zzz{{yyz{{{|{|{{zzz{{zz{|{{{||{{z{{{{{z|{zz{{|{{|zz{z{zz|{|{|||{zz{{zz{z{{{{z|{{{z{{z{{|{{{{z{|{z{{z{z{|{|{{{{{|zzz{|{{{{{{{|||{{zzzzz{y{{|{z{{{zz{zzyz{{z{{{zz{zzzzzzzyz{{zzzz|yzzzyzzzz{zz{|{{{yzy{yyzzz{z{{zzzyzzyyzz{{zz{z{zzzzyzzzz{yzzz{z{xyzyzz{yyzyzz{{{zyzxzyyy{{{z{{zyzzyyzzyzzyzzzzz{zyzyzyzzz{zzzz|zzyzzyyyyy{z{zz{zzzz{yzyyzzzz{z|zzzzyzzyzz{zzzz{z{yzy{zzzy{zz{{zzzzyzzzzzz|{{{{zzz{zz{zzzy{z{y{{z|{{yyyzzzzzzz{{zzzzyyzzz{{zz{{z{{zzz{yzzz{{z{{zzz{zz{{y{z{{{{z{{zzzzzzzz{{zz{{{{{zzzzz{z{{{{z{{{z{zzz|zz|{{|z|{|{z{{zzzzz{{z{|{{|z{{z{{zz||{{{{{|z{{z{{{|{{{z{|{{z{{zzz{{{z{z{|{z{z|zz{z}{{{|{{{{{{z{zzz{z{{{{|{{z{z{{{{{{{||{{{zzzzzzz{{{{{{{||zz{{zzzz{{z{{{|zyyzyzy{zzzzz{{zzyzzzzyyzyzzyzz{{zzyyzyyzzyzzzzz{zzzzyzzzyzz{zzzzzyzy{yyyzzzzzz{{yzzzyyzyzyzzz{z{yzzyyyzyyzzzz{{zzyzyyyxyz{{yz{zzzzyyyyyxzzz{zyyzyy{zzyzyzzzzzz{yzzzyyyzzxzzzzzzzzzzyzzyzyz{zz|z{zyxyzzzyz{zzyz{yzzyyzyzzy{zz{zzzyzzzyzzy{zzzzz{{zyyz{yzzzz{zzzzzzy{zzyyy{yz{{{z{zyyy{zyzz{zyz{{{{{zzyxyzz{z{{{z{zzz{zzyy{z{z{{{{zyzyz{{yzz{z{z{{zzzz{zzzzzz{z{|{z{zz{{zz{{{{|{{{z{zz{{zyzz{{{{{z{zzz{zzz{|{|{{||{z{yy{|zy{zz{{|{{z{z{{{z{|{|{{{{{z|z{{{{{{|{{zz{{zzzzzzzz{|{{{}|{zzz{{{zz|z{{z{|zzyyyyzz{{zz|z{{z{yzyz{zz{z{zzz{zzzzzzzzzzzzz|zzyyyzyzyyyyz{zzz{yzzyzyzzz{{zzzz{zzzyyzzyzzz{zz{{zxzzyzyyz{{{{{{zzzzzz{yyzzzzz{zzzzzyyzyyz{zyz{{yzzyyzzyyyz{zz{zzzzyyzyyzyzz{zz{{yyzzyzzyzz{zzz{zyzyyzyyzyzyy{zz{yyzyzyyyzzyzzzzzzyyyyyzzyzzzyz{{zzzyyzyyy{zzzz{{zyzzzzzz{{{{y{{{{zzzzz{zzzz{{z{z{z{yzyz{{y{{z{{|zzzz{zz{z{z{zz{{zzzzzzzzzzz{{{{{zzzz{zzzz{zz{{|zzyyzy{zy{{zz{}{zzzz{yzzz{{z{{{{zzz{yzzzz{{z{{z||zyzz{zz{z|zzz|{{{y{zzzzz{|{{{{|{{z{{zz{z{z{{||{|{{{z{{yzz|{z||{{{z{|zz{{|{z{z{{{{zz{zzzz{{{z{{{{{zzz{z{z{{{{{{|{{zzzz{z{z{{z{|z{{yzzzzzzzzz{z{{zz{{yzzzzzzz{{{zzzzzyyzzyz{{{zz{zzzzzzyyy{z{{{z{z{zzzzzyy{z{z{z{{yyyzyyzyyz{{{{{{yzyyyzyyyz|z{yz{yzzzzzzzyzzzzyzyzzzyyzyz{z{{z{zzzzzyxyxzyyzzz{zzzzzzyyyzz{{zy{{zzyzyyyyzzzzz{z{zzz{zzyzyzzz{zy{zzyzzyyzyzzzzyzzzy{zyyzyyzzyzy{zz{yzz{{zyzz{{{{zzyzzz{zyyz{{zzzz{yyzzyyzz{zzz|zzzzyzzzzzzzzz{z{z{{z{zzy{zzz{{z{z{z{zyz{zy{z{{{{{zzz|yyzzzz{{z{{zz{zz{z{{{zz{{|{{{z{zzz{z{{zz{z{{|{{z{zzzz{{{{z|{{{yzzzy{|z{{{|{|zzz{{{{{{zz{z{z|{zzzzz{zz{{{{{|{|{yz{zz{z{{{z{{{{|zzzzz{z{{z{{{{|z{{{{zz{{{|z{zz{z{{yz{zzzzzz{{{{{zz{zzzzz{{{zz{yzzzz{z{yzz{{{zzyy{zyyzzzz{zy{z{|zyzzy{zz{z{zyz|{{zyzyzzzz{zz{{{{zz{zyzzzzz{yzz{{zyzyyyzz{zzz{{z{{zyy{zzyzzzzzyz{{{zzyyyz{zzyzzzzyzyzzzyzzzz{{z{zyzzyyyzyy{{zzzzzzyzzzzzzzz{zzzz{yzyzzzyzyyz{zzzzzyyzyzzy{zzzzzz{{zzyyxzyyzzzz{{{zyyzz{zzz{zz{zz{zyzzzyzyzz{{{{z{zz{zz{z{{zz{{zz{zyzzzzzzzzzz{{{{zyzzzyzy{z{{z{z{zzzzyzzyy{{{z{||zzzzzzyzz{z{y{z|zzzzzzzzzzz{{{}zz{yzzyzy{{z|z{{{{zzy{{yy|{z{{z|{{z{{zyzz{{{{{{{{{{{zz|zzz{{{{{{{|z|zz{{{{|{|{|{|{{zz{z{z{z{z{z{{{zz|zzz{{{{zz{{{{{{zzzz{{{z{{{{|zzzzz{z{z|z{{z|{zzzyz{{y{|z{{z{{zzzzzzzz{{{zzz{zzzzxzyyyzzzzzz{{yzzyyyxz{z{zz{{{{z{yzzyy{z{y{{z{zyyzzyzzzzz{zzzzzzzzyyyyyzzy{{{zyzzyz{zzyzyzz{{z{zzyzxyzzzzzzzzz{zyyyyyyy{zz{{{zyyyzzyzyz{zzyyy{zy{yyzyzyzz{{zzzzzzzyzyyz{zzz{zzzzzzzyzyzzzzzz{zyyzyzyzyy{zzzz{zzzzzyzzyzz{{z{{zyzzzzyyz{yy{{{zz{zzz{yzyzz{zz{{{{zzzzzyz{{{zzz|{zyzzzyzz{{{z{{{zzz{{yzy{z{{zz{{{{zy{yzyzz{zz{{{{zz{zzzz|zz{|{{{zzzzzz{{{{{{{{||{{yzz{{xyzz{{{{|{z{zz{y{{{{{{|||{{zzz{{{z{{{{{{{{{zzzzzz{z{{{{{{{|z{{{yz{{|||z{{{{zz{{{z{{{{{{{||z{zz{z{{{{{zz{{{z{y{{z{z{{|{{||{{zzzzzzz{{|{z{{zzyzzzy{z{{zzz{zyzzz{zyyyyzzzz{{{yyyzyyyzzy{zz{{zyyyz{zzzzz{yz{{{z{zzzyyzzzzzz{z{zzzzyyyyzzzzzzz{yyyzz{zz{zy{zzzzzzyyzyyzzy{zz{{yyzzyzzyzzzzzz{zzzzyyyzzyy{y{zzzzzzyzzyxzzzzzzzzzzz{zzyzyyz{{{z{{yzyyzyyz{yzxz{zzzzzyyzzzzzzzz{z{yzzyzzyyzzyz{z|zz{zyzzyyzz{z{{{{yz{zyzzy{zzz{{{{zzzzx{zz{z{{{{{{yzz{zzzzz{z{z{{z{y{zzyzy{z{{z{{z{zyz{zzy{{zzz{{{{{z{{z{zz{|{{{{{{z{z{{zz{{z|{{{|{zzzz{z{{|z{{{zz{z{z{{{y{|{z{||{{{{zy{{z|{zz{|{{{zz{zz{z{|zz{{{{{zzz{{{{{|{|{{|{{zzzz{z{{z||{|z|{{{{{yzz{|{z|{{|z{{{{z{z{{z||||{{zzzyyzz{{{{zz{{zz{yzz{z{z{zzzz{z{zzzzzzz{{zz{{|{{zzyyzz{z{{z{{{yyzzzzzzzzzzz{{{zzz{zzzzzzy{{zz|{zzzyzyxzz{zzzz{zz{zzzzzz{zzy{{yzzzzz{yy{zzyzz{yyyzyz{zzzz{zz{z{yxzzzyzyyz{y{z{zzzyzzyzzz{zz{z{zzyzyyzy{zz{{{{{{yzzzyzzyzz{z{{{zyyyzyyzyz{{z{z|zyyyzzzzyzzz{{{zz{{zy{zz{{{zz{{{zzzzzzzzzz{z{{z{{zyzzz{zyzz{zz{{z{zz|zyzzy{zz{{{z{{zyyzzyz{{{z{|{zzz{{zz{{{{{{{{|zz{{z{zz{{{|{|{z{zzzz|{z{z{{|{||{zzzzzzzz{{{{|{|{z{zzy{z||{{{{{|{{zzz{|{{{{{z{{{zz|{{{z{z{||{{{|||{{zzzzz{{|{{{{{zzzz{z{z{{{{|||{z{zz{{|{{{}|{|{{z{zyzz{{{{{z|{z{{zzz{{z|}{{{{|{zzz{{z{y{zzz|{zzzz{yzyyyz{zzzz{{z{zzy{yzzzzzz{zzzzyzyzyzyzyz{{zyzzzyyzzyzzzzzz{{yyzyzyzy{zz{{{z{{{{zzz{yyzyzy{{zzyyzzzzyzzzzzzzzzzyzzyyyz{z{{zzzyzzyzzzyzz|zyy{z{zyyyyxz{zzz{{{{{y{{yzyzzzzz{y{zzyzzzzzyyy{zz{zzyzyyzyzzzyzzz{zzzyyzzyzz|zzzzz{{{zzzyzz{yzz{zz{zzz{{{zzz{{zzz{{{zzzzy{zz{{zzzz{zzzzyzyzy{zy{z|zzzzzyzzzz{{{{{{|{zyyzzy{zz{zz{{{{zyzzz{zz{||{{{{{{z{zzz{z{|{{{{||{zzzzzz{{{|{{z{z{{zz{{zzz{|{||{{{zzzz{|z{|z{{|{{|z{z{{zz|{|{{{{{{z{zy{z{z{{{{|{|zyz{zz{{{{||{{{{{zz{{{{{{{|z{{{|zz{zzz{{zz{{{{|{zz{{zz{zz{{|zz{z{z{zzzzz{{z{zzz{zy{yzyzyz{z{{{z{yyyzzyyzz{{zz{|{zzzyyz{yz{yzz{{z{yzzzzzyz|{{zz{y{zyyz{zy{z{{zyzzzyzzzz{zz{{zzzzyzzyyzyzyz{zzy{{z{zyzzyzyy{y{{zzzyyzzyzzzzz{zz{{{zyzzzzyyz{z{z{zzzz{zyzzzyzz{z{z{yzzzyyzy{zz{{zzzzzyzz{{zy{{zz{z{zzzzzzyyzz{z{zz{zzzzzzzz{z{yz{{{zzzzzzzyzz{zz{y{zzzz{y{{zzz{{{z|zyzzzyz{y{z{{{{|{z{{{y{z{|{{{{{z{zzyzyzy{{{{z{{{{{{zzzz{zz|{{|{{{{z{zz{{||{{{{{{{zzzz{zzz{{{z{{{{y{{{z{{{{||{zz|{{{yzzzz{|{{{{{|{z{zzz{{{||{{{{{zz{{{{{{|{z{|}|{zzz{zz{z{{{{|{{{{{z{z{{z|{{{{{{|{{zyz{z{z{{{z|{|{zzz{yz{z{|zzz{{z{{zzzzzzz{{z{z{z{zzzyzyz{zzzzz{z{yyyzzyy{zyzz{zzzxyzzzyzzy{{{z{zzzzyyyzyyzzzzy{zzzzyzxxzzzzz{z{yyyyxyzyy{{zzzzyzxzzyyzzzy{zzzz{zyzzxyzyyyz{zzy{yy{yyyzzzzz{zzzzzzzzzzyzzzzzzz{{zzzzyyzyzyz{{{{zzyyzzyyyyyzzzzzyzzzzzzxyyzzyz{z{zzzyyyzyzz{{zzz{yzzzyyzyz{zzzzz{zzyzzy{zzzzzz{|{zz{yy{zzz{{{{{{z{zzyzyzzzz{{{{{zzzzz{zzyz|z{zzzz{z{zzzzz{{zzz{{z{z{z{zzy{{||{{{zzz{{{zzzz|{{z{||yzzzzzyy{{|{z{|z{z{z{zzzz{z{{zz|{{zzzz{y{{{{{{{{{z{yzzz{z{{{z{{||{{{z|zy{{{{{{{{zz{zzzzz|{{{|{{|zzz{{{zzzz{|z{z{zz{{|zzzy{{zz{|{|{zzyz{y{z{{z{|{z{zyzy{zz{{{{zz{zyyy{zzyy{zzzzzzzyzzzzzyy{zz{{{{{zzyyyyyzzzzzz{{zzxyzyzzy{zzzzzzzzzyyyzx{zzz{z{{zzz{zyyyyz{zzz{zzzzyzzyzzz{zz{{zyzxzxyzyzzzy{zzzzxzzx{{yzzzzzzzzzzzyyzzyzzz{|zzzzzzyzzyzzzz{{zz{zzzyzzzyzzyzzz{zz{zyyzzyyzzyz{z{z{zzzzzy{z{zzzz{zy{zzzzzz{zzz{{{z{zz{zzzzz{z{{{{zz{yyyyyy{{{zz{{{yzzzzzz{{z{zzz{zzyyz{yzz{{z{{{zz{yzzzz{{{{{{|{{yzzz{yz{zz{{z{|{{z{z{z{zz{|{z{{{{zz{{yz{{{}{{{{zzy{{zz{z{{|{{|{{z{|{z{zz{{{{{|||zy{zz{{zz||{{{||{{z{zzzz|{|{z|{{{zzzzzz{{{zzz{{|{}zzz{zz{|z{|||{zzzy{zyyzz{{zz{zz{zyzyzy{|z{{z{{{{zz{z{yzz{{zzzzyyyzzxzyy{zzyy{yzzy{yzyyyzzz{z{{yzzyzzyyyz{zy{{|yzzzyyzz{z{{yz{{zzyzyy{yy{{yz{z{yx{yzyzzyzyzzzzyzzzz{zyzzyzzyzzzzyyyzyzzz{zzy{zyyyyyyyyyyzzz{zzzyyyyz{yyyz{zzz{zzyzzyyzyzz{{{{z{zy{{yyyyzzzzzzzz{yzyyyyzzzzz{{{{{yzzzzzz{zzz{{{zzyzyzzzyzz{zzzzzz{{zzzzzzz{{{zz{z{zyyzzzyzzzz{{z{zzzzz{z{zzz{{{zz{zzyzzz{{{zzy||{zxzzzzzz{{{z|{{{zzy{zzzzzz{{{{|z|zzzz{{|{z{{z{|zzzz{zzz{{|{{{{{zyzzz{z{{{{{{{|{zzzyz{{z{{{{{|{|{{zzzzz{yz{{{{{{{{z{yz{z{{{{{{{{{z{{zzzz{z{zzz|{{zz{zzzz{zz{{{{{zz{z{zyz{{{z{z{|{zzzyyzzzz{{zz{{{zzzzyzz{{zy{z{zzzyyzyyyyzzzzy{zyyzzyyzyz{zz{z{{{zzyx{zyzz{zz{{{zyzyyxyyy{{{zzy{{zyxxzzy{zzzzzzz{zzyyyzyzyzyzz{z{yyzyyyyzyzzz{zyyyzxyyzyzz{zzzz{yzyyzyzyyzz{zzzyzzxzyzzyyz{z{{zzzzzyyzyzyzz{zy|{zy{yzzzzzz{{z{zz{yyyyzzyzzzy{zy{zzzzyzyzzyz{{{zzzzyy{yzzzz{{zz{{{yzzzyzz{{zzzzz{yyzyzyzyzz{{{{{zzzz{zyzzz|{zz{{zzzzzzzyyzz{{{{|{zzzzyzzz|{{zz{|zz{zz{zyzz{{{z{{{zzz|zzzz{z{|{z{|zzz{zzzy{{{z{{z{zyzy{zzz{{{{{{{|zyzzz{{z{z{z{|{{{zz{yzz{z|{z|z|{{{zzzzzz{{{|{{{{{y{zzzz{{{z{|{|{z{{{{{{{z{{z{{{{zz{{{{yzzzzz{|z{yyzyzzyz{{{|z{zzzzzzzz{zzzz{{{zzzzyyzzzzz{zzy{z{zyyz{{xy{zzz{zz{zyzyzzzzz{zz{{{zzyyyyzzyy{z{zz{{zzzyxyzzzyzzzzzzyzyyzzzyzzz{y{zzzzyzyzyy{zzzzz{{yyzyzzzyz{zyzz{{zyyzzz{yy{zzyz|yzyzyyzzzzz{zzz{zzz{zyyyzy{{{zzzz{zyyzyzxyzyzz{zzzxyzzyyyzzz{zzzzzyzzzyyyyzz{z{z{{yzyzyzyzz{zz{z{{zzzzyzzyz{zz|{zz{{yyyzzzz{{{z{{zzzzzzzzzz{{z{zz{zzzyyyyy{{z{z{z{zzzzzzz{{{zz{{{zyzzzzz{{z{{{|{|zzzyz{{{{{z{{{{{{{z{zzzz{{z{{{z{zzzz{z{z|||{|{||zzzzz{{{{|z{{z{||y{zz{{{z|{{||{{{z{zz{{{{{{{{{{{|z{{zzz{{{|{{{|{{{z{z{zz{{{{{{{{zzzzz{y{z{{{z{|{{zz{yyzzz{{{z{zz{zyzz{{zzz{{z{zzzz{zyzzzzz{zz{{{zyzyyzyzzzz{{zzzzz{yzzyzzzzzzzy{zxy{yyyzy{yzzzz{yzyyyzzyzzzzyz{{yyzyyyzzzzzyy{{z{zzyyyyyzz{zzzyzyyzyyyzzzyzzz{yzzyzyzyzzzzzzzz{{zzyzyzzzzy{zz{zzzzyzyzyzz{z{{zzzyzzyyzyyzzzyz{{zzz{yyyyxxzyzz{{zzyzyzzzyyzzz{z{{{zyz{zzzzz{{yz{{zzzz{yz{zz{y{z{{zzyzyzzzz{zzz{{zyzzzzyzz{zzz{{zzyzz{|{z{{{{z|z{zzyzz{z{z{{{z{|{{{y{z{{z{{{{|{{z{zzz{zzz{{{y{zz{{zzz{zzzy{zz{{|zz{z{{{yzz{{z{|{{|{z{zzzz{z{zz|z|{{zzzz{{yz{{{{{||{z{z{zz{{{{|{||{{z{z{zzz{{|{|{||zzz{{{z{z{{{{|{zzz{zzz{y{zzz{z|{zyzzzzzy{|{zz{|yzyzyyyyzzz{zz{z{zzxyzyzyyzzzzz{zyzzzzyyyz{z{{{{zzy{yzzyyzz{z{z{zzzzyzyzz{{{zzz{{{zzyyzyyz{{zyz{{zyzyzyzxz{y{z{{zzz{yzyyxzz{zyzzzxyzzzzyzzyzz{zzzzzzzzyzzzz{|{{{zzyzyyyyyzz{zyzzzyyyzyyyzzzz{{{{yzyyy{zzyzzzzzzz{zzzyzzyzz{zzz{zzzzzzy{yxzzz{zz{{{yyy{zyzzzzz{zz{zzyyyzzyz{zz{{{zyzzz{{{zzyz{{{z{y{z{zzyz{{z{{{{zzyzz{zzzz{{{{{{{{zz{zyzz{{z{z{{zzz{yzzz{{z{{{{|{{yzz{z{{{|{{{{{}zzy{{{zy{{{y|z{yzzyz{z{z{|{{{|{{{{z{{zz{||zz{|{{{zzz{z{z{{{{{{{||z{{zyzz|{{{{{|{{zyz{{zzz{{{z{{{{zz{z{{z{{{{z{{{zz|zzz{zzz{{z{{zz{zz{z{{z{z{{|{{z{zzyzzz{z{{|zzzyyyzzzyxy{zzzyy{yyzzzyyz{zzz{z{{zzyxzyyx{zyz{{{{zyyxzyyyyz{zzyz{zzyzzyzxz{zzzz{{zzzyzyzyz{z{zz{zzzyyyzzzzy{zyz{zzzyxyzyx{yzzyz|zyyzyzz{yzz{zzz{{zxzyyyyy{zzz|{z{{zz{zzzyzz{zzz{yzzyzyyxyyzzzz{{zzzzzzyyzy{z{{|{zzyzzzzzyzzzzzzzzzzzzzyzy{zzzz{zzzzyyyz{zz{z{zz{{zzzzzzzyzzz{{{{{zz{zyy{zz{{|z{z{zzzz{zzzzz|{{{|{zzyz{zzyz{{{{zz{{zz{z{{z{{{{{|{{{z{zz{z{{{{{z{{|{z{{{yzyyz{|{{|z|y{{z{z{{|z{{||{{zzz{{zzzz{{{{{{{zz{z{zz{|{{{|{{{z{{z{zy{|zz{{{{zz|{z{z{{{{{z{{|z{z{z{zz{{{{|{z{{zzzzz{{z{{{z{{|{zz{z{{z{zz{{z{zzz{z{zzzz{{{zzzyzyzzyzyzyzzzyzy{zyzzzyyyyzz{z{{{{yzzzyyzz{{yzz{{{yzzyzyyzzy{zz{zy{zzyyyxzzyyz{{zyyzyyzyyzzzzzzzyzyyzzzyz{zzzz{yzzzyyzyzzzzzzzz{zyyyyzzyyyzzz{{{z{zzyyxyy{y{z{zz{z{zyzzzx{z{zzz{|yzyzzyzzzzz{zzzzyzzzzzzxzzzzz{z{zyyyzzzxz{zzzz|zzzzyzyzz{|zz{zzzzyyzzyzyzzz{z{{{yzzyyz{yz{{z{|{{z{zzzy{zz{z{{|{{{zzzzyy{z|{{{z{{zzyzyzzyzzz{{{{{z{zzz{{{{z{{{{{|yzzzzzz{z{z{{{{{{zz{yyzy{{{{{{||{zzzz{zz{{z{{{{{{zzz{z{zz|{{|{{{{z{{{zzzz||{|{{||{{{|z{{z{zzz{z{{zzz{{z|{z|{z{{}{{{{z{z{{{{|{{{{zyzzzyzz{|z{{z|{{z{zzzzz{{{{z{{{zzzyyyzyz{zzzzz{yzzzzzyyzz{z{z{zyzy{yzzyzz{zyz{zzzzyyzzyzyzzzzzzzzyzyzzzy{z{zzzzyz{yyyzyzzyzz{{{yyzyzzyyz{zzzzzzzyyzzzyy{{{zzzz{zyyzyyyyyzyzzzzzzyyzzyyyz{{{z{zz{yzyyzzyz{{zz{{{yyzyyyzyz{{|zy{zzzyz{yzyzzzzzz{{zzzyzyzyyzy{zz{zzzzzzzyz{zz{zz{|{zyz{yzyzzz{{z{{zzyyyyyy{zzzz{z{zyz{yzzyzz|{{{{{z{zz{yzzz{zzy{{{z{{z{yzz{{{zzz|z{zy{zy{yz|zz{{{{|{zzzzy{{{{{{{|{zzzzzzz{{{{{{{{{|yz{{{yzz{{}z{{zy{z{{zyyz|{{{{z}zz{z{z{{{{|{{z{{{zz{{{yzz|||{z{}{yz{z{{{|{{{{|{{{zz{yzz{{{{{{{{|{zzz{zy{z|z{z|{|{zzz{yz{{{zz{||{zzzzy{zy{{z{zz{{{zzzzyzy{{{zzzz{zzz{yzyyy{{zz{zzzyzyzzyzzzz{|z{{zzzyzyzyzzzyz{z{zzzzzzzzzz{{yzz|zzzy{zzz{zz{zzz|{zzyzz{zz{zzyz{zzzzzyyzz{z{{z{yzyzzyxyzyzzyzzy{zyzyzyz{zyzzz{z{zzyzzyyyyzz{zz{z{zz{yyyyzz{z{zzz{zyyzzyzzyy{yzzzz{yzyyz{{yzzzz{z{yzzyzzyyz|zzzz{{zy{zyyzy{z{zzy{{{{zyzz{zz{{zzz{|zzzzzyzyzyz{z{{zzy{{{zzzz{|z{z{{{{z|zz{z{{|{{z{{z{z{{{yz{z{{{{{{|zzz{z{{y{{|{{{{zz{z{zzy{{z{{{|{{z{zzzzz|{{{{||{|{{z{z{z{|{|z{{{{z{{{zz{zz{{||{{{yzz{zzz{|{{{z||{zzzzzzyz{|{{{{{|z{zz{{zzzz{{{|{{{zz|{z{||z{z{{{{z{{zzzz{|{z{{{{{zzzzz{zz{{|z{{zzz{{zzzz{{{|{zyzzzyyzzzyy{zzzzzzyzzyyyzyzzzy{{z{zyzyyyyyzz{zzy{zzyyzzzyyyyyyzyzzyyyzyy{x{zzyzz{zzyyyxyzxz{{yz{zyzyzyyyyyyyz{zzzzzyyzyyzzyzz{zz|zyzyyyzyyzzzz{zzyzzzzxzyzzzzz{z{yyxyxyyxyzzz{zzy{zzyyzyyyzyyzzzzz{yyyyyxyyyyy{{{zzxzzyzyyzzzzzz|zyzy{zyyzzzzzzy{|zy{yzyzzzzzy{{z{yzzzzzyyzzzzzz{zzzz{yyyyz|zzzzzz{yzyzzzzzz{zzz|zzyzzzzyz{z{z{zzz{yzzzzzz{{z{{{{{z|zz{{yz{{z{zzzzyzz{zzzz{{{{{z{z{yzzzyzz{{{{zz{|{z{zzzzzz{zz{{{{|z{zzz{zz|{{{z|{zz{zzzz{{z{{z|{{{zzzzz{zz{{|{{||z{zz{zz{zz{||zz|z{z{yzyzz{{{{z{{{z{zzzzzz{z{z{{zzzzzyzzz{zzzzzz{yzyyzyxyyz{zzyzzzyyyyy{zz{z{yz{{yzyxzzyyzzzzzzz{zyyyzy{yzzz{yzzzz{zyyyxyzzzzy{zzyyzyzzzyz{zzy{zzzyyzyzyzzy{zyzzzzzzyyyyy{zzzzzz{zxzxyyzyyzzz{yz{yzzzzzyzzz{z{zzzzyyyyyyyxz{{zz{y{zzyyyzyzzyyy{zzyyyzyzyyyzyzz{zzzyyyz{yxzz{zz{{zzyzyzyzzzz{zz{z{zzzzzzzyzzzzz||zyyyyyyyzy{{zzz{{zzzyzzzyyyz{{{{z{yzzzzzyz{{zzy{z{zz{yzyy{z{zz{zzzzzzzzz{z{{|z{{{zzzy{z|yz{z{{{{{zz{zyzz{{z{{z{{{{yy{zzyz{|{{{{{|{zzzzyzzz{z{|z{z{zz{z{{{{|{|{|{{{z{{zzzy{{{{z{z{zyyz{zzzzzz{{{{|zz{{{{y{{{{{{{{{z{zzyzzz{|{{z{{|{yzzzzyz{{z{zz{zz{{yzzzyz{{zz{{zzzzy{yzyzzzzzzzyzzyzzyzyzzzyzzz{z{yyzzyyyzz{zzzzzyyzyxyyzzzzyz{zyzzyzzzyzyz{z{z{zzyyzxyyzz{yz{zzzyyyyzxyzz{z{zzzyzzyyyyzzzzzzz{z{yxzzzyzyzzzzzzzzzzzyzzzz{{z{{z{zz{zyzyzzz{zz{|zzyyzyzyyyz{zy{zyzyyyzyyzyzz{zzyzzzyyzyzyzz{z{{{{zzzz{zzyy{z{{zz{zyzyzxzy{z{{{zz{zxzzxyyzz{zzz{{zzyzzzzzyzzzz{{{{zzzzyzyy{z{z{y{zzzyzzyzzz{{{{{z{{z{zzzzzy{z{{{z{z{{zzz{zz{z{z{{z{{yzy{zyz{{z{{z{{y{zz{zzz{{{{{|{{zzz{{z{zz{zz|zz{{zzzz|zz|{{z|{{|zz{zy{{{z{{{{{|zxz{{y{z{{{|{{{{{zzz{zyzz{{{{|{zzzzzz{yzzz{{z{{z{zz{yyyzy{{z{{|zyy{zzzzy{{{zzzzzyzzyzyzxyzz{yzz{yzyyyxxyzz{zzyz{{yyzzzzzzzzy{z{zyzzyzxzzzz{{yz{{y{yzyyzzzyzyzz{{zzyzzzzyzz{{y{{zzyzzzyxyzz{yzzyzyyyz{zyyzzyzyz{zyyyyyyzzzzzzz{zzyyzzyyyyyy{yz{{zzyzyzzyy{zzzzz{zyyyzzyyyzzzy{zz{zzyyzyzyyzz{y{z{zyzyzzzzzz{zzzz|zzyzzzzyz|zzzzz|zy{zzyyzzyyz{{z{z{zzyyzyzz{{z|{zzz{zzzzzyz|zz{{{zzzzzyzyz{{{{{zzzyzz{zz{zz{z{|z{zyzyzzz{z{z|{|{{zzzyzz{{{{{{z|{{{zzz{yzz{{{z{{{{{zzy{y{z{z{{{{|}{{{zy{{{zz{{|{{{zz{{{{{zz|{{{{|{{{z{zzzz{{{{z{{{z{zzzy{z{{z{z{z{{zz{|yzz|z{|z{{{{zyzzyzz{{{{|{{{{zzzzzzzz{z{zz{{zzzyyyzyz{{y{zyzyzyyy{yyyz{yzz{{zyzyzyzz{z{z{z{{zz{zyyyzyzzy{zzz{zzzyyzzzyzzzz{{{yzyyxzx{{zzzz{zyzzzzzzyzz{zz{z{yyzzzyzzzyzy{{{zzy{zyzzyzz{|{z{zzyyzzxyzyzzzzz|z{yyyyzyzzz{z{{z{yzzyyzyyz{zyzz{zyzzzzyzyxzzyzzzzzzyyyzyyy{zzz{zzz{{yzyzz{{zzz{zzy{zzyyzz{zz{zzzzzy{yzy{zz{{z{z|zzzzzyzyzz{{zz{{{zzzzyxzzz{z{{|{{zy{zzzyy{z{{{{{{zzz{zzzyz{{{{||{zzzz{z{z{z{{{{{{z{z{zz{{}z{zzzz|z{zzzzzz{}{{{|z{zz{{z{{z{z|{{{{{{{zz{{{{z|{z{{{{{z{{{{y{z{{||{|z{z{zz{z{z{z{{|{{{z{y{zy{{{{{{|||{zzzzzz{{{{{{|}{z{{zyzy{{{{||{{zzzy{{zzz{||{zz{{{z{zzyzzzz{zzzyzyyyyyyzyyzzz{y{{zzyyxyyyyzzzz{xzyzzyzy{yzzyzzzzzzyzzyyxyzz{zzzzzzzyyyyyzzyzyy{z{yzyyzzyyzzyzz{zzyzyyyyyzzzzzzz{zyyzzyzyyzzyzzzyzyxyyyxyyzyy{z{{zzyyyxyxzzzz{zzzz{yzzyyyzzz{zyz{zzzyzyyyyyzzyz{z{zzzyyxyzzzyyyz{zyyyzzyyyzzyyzy{yzyyxzyzyzzyzy{zzzz{yyyyzzzzzzzzzzyzz{zyzz{zzzzzzyzyyyyyzyzz{z{{z{yyyzzzzzzzzzzz{zzyzzzzyz{zzz{{{z{{z{zyzz{z{{{z{z{z{yzzzz{{{z{||zyy{zyzz|{{|{{{zzy{z{{y{{z{z|{|zzzzzzyz{z{zz{{{{{yzzz{zz{|zz{|{{z{{{zzzz{z{{z{{|zzzzzzz{{z{{{y{|{zzz{z{z{yz|{{|{zz{zzzzz{{z{z|{z{{yzyzzzz{{{z{zzzz{yzz{yzz{y{zz{zzzyyyyyyz{zz{{zzyyzyzzyzz{y{|zzzyzy{yyxz{zz{{{z{xyzyzxyz{zzy{z{zyyyxyyyzyz{zzzz|zzzzzyyz{zzzzzzzzzzzyyyzzzzzzyyyzzyyyyyzzzyyyzzyzzzzzyyzz{zzyzzyyyyyzyzz{z{z{zzyxzzyyyyzzzy{z{zzzzzyyyyzzzy{zz|zz{yzyyzzzyzy{z{{yyyzzzyzyzzzzzyzzxyzyz{zzzz{{{{{{zzzy{z{zzzz|z|yx{zyzyz{{zzz{{{zzzzyzyzz{z{{{{z{yzyzzxzyz{{z{{zzzyyyzyz{{{z{{yzy{zx{zyzzz{{{{{{zzzzz{zzz{zz{{{{|{zzzyzz{zz{|{{{|zzz{{z{{|{{z{{{zzzzzzzz{|zz{{{z{z{zyzz{{{||z||zz{z{zzzzz{z{zz{{zzzz{{z|z{{{z{{{|yz{z{zz{{{{|{{{zzzy{zy{z{{{{{|{zzyz{yzzz{{{zz{z{z{zyzzy{z{{z{yzzyzyyyyzy{{z{z{zzyzzxyzyzzzz{{zzzzzyzzzzxz{z{zz{zzzyzyyzyzzzx{yzzzyyyxyy{zzzz{{{zyzzzyyyz{yzyz{yzzzyzzzz{zzzzzzzzyzzyyzyyzz{{zyzyyyzzyyzzzzyyyzzzzzyyzyyzzzzy{{{yzzyyyzyyzz{zz{zzzyyyyyzzz{yzz{zzzyyyyyzx{zzyzzzyyyzyzzzzzzy{{{zzyzyyyzz{zzz{{y{zyzzyyyyzzzzzzz{zyyxyyyy{zzz{z{{zzyzzyzzz|{{zzyzzxyzzxzzz{{z{z{{yzzzzyzz{{{zz{{{{zzz{z{z{{{{z{z{zz|yzyz{{z{{{|z{zzzzyzyz{{{{{{{{{{zz{zzzz{{|{{||zz{z{z{{{{{{{{{{zzzzz|z{z{{z|{z|zzzz{yzzzz{{{{{{{zy|yyzz{|{{z{|{{{z{yz{z|zz|{{z|zzzzz{zzz{{{{{|{{zzzzzyzz{z{{{zzz{zyzyyzzy{|{zy{zzzyzyzyy{yyzz{{zyzyyyyzzz{{{{z{zzyyzzzz{zzzzzzzzzyyyyzzyzyzyzz{zzzzyyyxzz{zzzz{yyzyzyzyz{zyyz{zyyzyyzyyy{zzy{{zyxyzyzzyzzyzz{zzyyzyyyyyzz{z{{yz{yzzzzzzzzzzz{{zzzyyzyyyz{{{{zy{yyzzyyyzzzzzzzz{yzyyzzyyyyzzzzzzzyzyzyzyzzzz{z{zzyzzzyzyzzzz{{{{yyzyyyzz{{zzzz{zyzzzzzzzz{{zzz{zz|zzzyzzyz{{{{zzzyzzzzzz{zzzzz{z{yzzzz{zz{{{zz{{{{zyz{zzy{|{{{z{y{{{zz{{{{z|z{{{zzzzzzzzz{||{{{{{zzzz{{y{{{{z{{zzzz{z{z{{{{zz{{|z{yz{{{{{{{{zz||{z{|zzzzzz{{{{{{{{zy{zzzz{{{{z{|zz{zzzz{{{z{{{{{zyzzzzyzz{z{{|{{{z{zyzzy{{{{z{{{zz{xz{zzz{zzzz{{zyyxyzzzzz{zy{z{zyyzyxyxzzzzzz{z{zyyzzzyzzzzz{{{zyzyyzz{yyzzz{{{zzyzzy{zyz{zzzz{zzzzzyzyz{zz{{yzyzzzzzzzzz{yzzzyzyzyzzyyyyzzzzzzyyyxzyzy{zzzzz{zzyyyyzyzzyzz{{zzyyzzyzyzzyzyyz{{zyyyyzzxzy{yzz{yzyyzyyzyy{zyzy{{zy{zzzzy{{{{|z{{zzzzzyyyzzzzzz{zzzzzzyzzzzz{y{z{zyzyz{yyzz{zz{{zzzyzzzyzy|z{{z{{zy{yzzzyz{{z|z{zzzyz{y{zzz{z{{z{zzzzzz{{z{{{{{|zz{zy{{zzz{zz{{{{zyzz{zyy{{z{{{|{{zzzzzzzz{{{z{|{{z{zzy{{{|z{{{{|{y{zz{zz{|{|{{|{zzz{z{{zzzz{z{{{|z{z{z{{z{z{{z||{z{zz{{{{{z{z||{z{{zzzz{y|z{{|{{{zzzzy{yz{{{z{|{z{{zzzzzzz{{zz{{yyzyyyzyyzzzzzzzzzyzzxzzzyzz{zz{zxxyzzyxzyyzzzzyzzzyyyzyzy{zyxzzyzyyyyzxyzzzzzz{{yzyyyzyz{yy{{zyzyzyyyzyzzzyzyz{xyyxyyzzzzzyzzzzyzyyzyzxzyyyzzzyyzzyxzxzzyzz{{{zzzyzyzyyzzzzzz{zzzxyyzyyyzzyzz{{yzzyzyyyx{zzz{yzyy{zzzyyyzzzzz{{yzzyxxyyzz{yzzzzzzyxyyz{z{zzzzz{zyyzyxyzzz{z{{|{{yyzzyyzyzzz{|zyzxyzyzzz{z{zz{{{{z{{zzxz{{{zyz{{zzyzzzyyzzz|{{{{zz{zyz{y{z{{{z{|zzyzzyyz{z|{{z{{zzzzzx{z{z{z{}{{zzzzzzzzy{|z|{{z|{z{y{yyz|z||z{{{{z{zzzz{z{z{{zzzz{yzyzz{zzyzz||zz{{{{zz{{{{{{{{zyzzzzzz{zzzz{{{{zzzxzzz{z{{zz{{{zzyyyyyz{zz{yyzzyyyyyxyyzzy{zzzyzzyzyyyyzzzzzz{yzzyyyyyyzzyzy{zyyxyzyyyxz{zyz{{zzyzxyyxzyzyyzzyyyzyxzzz{yzzzz|zzxyyzyxyyz{yyzzyzyyyxyzzzyzzyz{{yyyyyyxzz{zyyzzzzzxzyyyzzz{zzyzzzzyzyyyyzzyzzzyzzyyyyyyy{zyzzyzzzzxyzzxyyzyzzzyzzz{xyyyyyzyzzz{zzyzyyyxyyzzz{{z{zzyzyyzyzyzzzzz{zyzzyyyyzy{zzzz{zzy{yzyyy{zz{z{{zyzzzzyzzzzzzzzzzyyzzzzz{zzzzzzzzyzz{{yzy{{{zzz{{zzzyzzyz{{|{{{{zzyzzzzz{{{{z{{y{yyzyyzz{{z{z{z{yzzzyz{z{{{z{zz{{zzzz{z{z{{zz{{{|yzzzz{z|{z{{zz{{zz{zyzz{{yzzz{{zzzz{{yz{|z{z{{zzzzzz{zzyzyzzz{{zzzzyxyyzz{{zz{{yyzyyyyzzzzzzzy{{zyxyz{yzz{{zzzzzzxzyyyzzz{zzyz{zyyzyzyyzzz{zz{zyy{zyyyzzzzzzz{{zzzyyzzyyzz{yzy{zyyzyyzyzz{zzzzyzyyz{zyyzzzzyzzzyzyyyyyyzzz{{y{{xzzyyxyyyzzyyz{zzyyzyzxzzzzy{{{zzzzzyyy{z{y{zz{{zzyzzyzxzz{yzzzzzzxzyyyyyzzzyyz{yzzzz{zy{z{zzz{zzyzzzzyzzzzyzzz{yz{xyzzyzz{{zzy{zyzz{zyzz{zzzz{yyzzyyxyyy{z{{z{zzzyzyy{yzz{z{z{|zzzz{zy{zz{{z{{{zzz{{zzz{zz|zz{{z{yy{{{{zzzz|{}{{z{yzzzy{{|z{z{{zz{{zzzy{{{zz|z{{z{zzzz{z{{{z{||{{zzzzzyz{|{{{{{{z{xzzzz{{{{z{{{zzzz{zyzz{z{y{z{{zzz{zz{z{{{y{|{zz{z{zyz{|z{z{{{z{zzzzzzz{zzz{zzzyzyzyzy{yz{zzyzzyzyyy{yzz{zz{zzxyzyyyzy{zyz{zyz{zyyzyyzzzzzz{zzzyzyyyyzzzzzyzzyyzzyzyyyyz{zz{z{zyzyzyyyyyzzz{z{y{zyzyzyyzzyzy{yyzzzyyyzzxz{z{zyzxzyyxyyyzyzzzzzyxzyyxyzyz{z{zzyzzzyyyyyz{{zzy{zzzyyzxyyzzzyzzy{zyzzyyyyzzzyzz{zzzzyzzzyzyzyzzzzzxyyzyyzz{zz{{z{yzzyyyzyzzz{zzz{zzyyyzzyz{{z{z{zzxzz{zzyzzz{z{zzzzzxzyyzzzz{zz{{zzzy{xyzz{zz{|{zyzzyz{zy{{{{|z{{yzz{zzzzz{zz{{{{zzyzzzzzzz{{{{{{{zyzzyyyz||z{{|{zzzzzz{z{{{{z{z{{zzz{{zz{{{{|{{{{zz{zzzz{{z{{{{{zzzzzzz{zz{{z{{|{zzzzz{{zzz{{z{{z{zzzzzz{zzyz{|{zzzzzzzzz|{zz{{z{yzzyzyy{zz{z|y{yzyzyyyyyzzzzy{{zzxzyzxyzzzzz{z{zyyzzzyyyyz{zz{zzzzyzyyzzz{{z{zzzyzyyyyyzz{zz{zzzzzyyyxzz|zyy{{zzxzzyyyzzyzzy|z{zzyyyyyxzyzzzzzzzyzzzyzyyzzyy{zzzxyyyyyyy{zyzx{zzyzyxzzyzzzzz{zzyzzyzyzyzzzzyz{{yxyyyyyyyzzzz{z{zyzzy{zyyzzy{zz{zzyyzzzyz{{{zzzzzzzyzy{{z{{z{z{{zyy{zy{zz{{{z{{{{zyyzyz{zyzzyzzz{zzzzyzyz{z{zz|zzzzzzyzz{{z{{{{{zz{zz{zz{z{z{{{{zzzzz{{z|{{z{|{{zzz{zz{y{{{|{z{{zyzy{z{{{{|zz|{{{z|z{z|zz{{zz|{{zzzzz{{zz{|z{{{|{z{{zzzz|{{{{z||zzyy{zz{{{{z{{|{{z{{z{zzyz{{{{z{{z{zzzzzz{{{z{{z{zz{zzzz{{{|zz{y{z{zz{zyzzz|zz{yyzyzxzyyyz{zzzzzyyzzyyyyzyz{z{z{zzzyyzzy{zzz{zzz{{zzyyyzyz{{yzz|z{zyxzyxzzzz{{zzzzyyyyzxyzzzy{{zzzyyzyzzzzzyyzzzyyzyzyzy{yz{yy{{yyzyzyzz{zzyzz{zyyyyyyyyzzzyz{{zzyyzyzyyzzyzz{{zyzzyyyzzzzzzzyzzzyyyzyyzz{{zzzz{zz{{zzzzzz{y|{|{zyzyyyzyzzzzyzy{zyzzzyyyzz{zzz{{yz{zzzzzz{{zz{zzzyzz{zyxzzzz|zzyzzzzzzzzz{{{{{{{yyzzzzzz{yzzz{{{{z{yzzzz{{z|{z{{zzzzyz{z{{z|z{{{zzz{zzyz{|z{{z{z{zz{zy{z{{{{zz{{zzzz|{{{{z{z{{{z}zyz{zz{{|z{z|{{{zzzyzzz{{{{||{{{zzz{zzz{{{z{z{{{z{z{zz{y{z|{{{{zzyzzz{z{z{{z{{{{{{{zzz{z{{{zz{{zzy{zzyzz{|z{z{zzzzyyyzxxyzyzz{zzyyyyzyyy{zzzz{zyyyyyxyyy{yz{zzzzy{yyyxy{{{zz{z{zyyyyyyyyzzzzzz{yzzzzyzyyzyzzzzzzy{yyyyzyzzzz{zzyyyyyzyyzzzzzzzzyyyyxyyxzyzzzzzyzzyzxzyxzzzy{y{yyzyyyxyyzzz{z{zyyyzyyyyyyzzyzz{zyxxyyyzyxzyzyzzzyyyzyyyyyzzzzz{zzyyxzyzyzzzyzzzzzzzzyxyy{yzzzzzzzyzyzyyzzz{z{zzzzz{zyyzzyzz{z{yz{zyyzzyz{zzz{zzzzzyzyyz{{zzyzzzz{yzz{zyyzzz{{{z{{zyyzzz{yzz{y{{{yzzzzzy{z{{{zz{z{yzz{zzz{{{{{z{z{zzzzzzz{z{z{{zz{zzzzzzzz{{{{{|zzzzzzyzzzz|{{{|zzyzzzy{zz|zy{{{|{zzzz{yz{{{z{{|{y{zzzyzyz{{{zz|z{zyyzzzzzz{zzzzzzzzyzzzzzy{z{yz{yzzzxyzzzzzz{{z{zyzzyyzyyzzzzzz|z{xzyzyxz{{zzzzzyzzzyyyyzzz{z{{{{yyxyxyxzzz|{zyzzyxzzyzzzzzzzzyz{yzyyyzyyy{y{zzzzyzyzzyyzzyzzzzzyyyyyyyyyy{zzz{xzzzxyzzyz{zyz{{{zyzyzzyyyzzzzz{zyzyyzyzyz{zyyzzzzyyyzzzyyzz{{zy{yyyzzyyyz{{{z{{{zyzyzzzzyzyzzzzz{yzyzzyzzyzz{{y|yzzzxyzzzzzz{z{{zxzzyz{zzz{{{{zzzyz{y{z{{z{zzz{{{yyy{zzzzzz{zzyzzzzzyyzzzzzz{{{zzzyyzz{{{{z|{{{|zzzzzzzxz|zy{{{z{yy{y{yz{|{{|{z{zz{yz{zz{|{zz{{{|zzzzy{{{|z|zz{{}zz{zzzz{{|{{{{z|zyzyzzzy{{zz{|{{z|{zzyz|z{{{{{zy{zyzyzzzz{{zzz{{zzzzzzyz{{|{{zz{zzyyyzzzzz{{zzzzyyyyyzzyz{y{{zzyyzyyzyyzzzzzz{{zyzyyyzyyzzzzzzzzyyyzzyyyzzzzz{zzyzyyyzyzz{zy{y{zyyzyyyyy{zzzyyzyzyyyzyyzzzyzzzxzxzzyzyzyzzzyzzzyyyyyyyyyzzzzzzzyzyyyzx{zzzzzz{zyzyyyyyyyyzzzy{zyyyyyyzyyzzzyyz{zzyzyzyzyzz{zzz{zyyzzzyyzzzz{z{zzyyyyyyzzzzzzzzz{yzzzzyz{z{{zzz{yzyzyyzyz{{zzzz{zzzzzyzzz{{{z|{zyyzzzzyzz{{yzz{{zyyzzzzzzzy{{{{zzzyzzyzzy{{|{|zz{zzz{zzz{{zzz{{{zzyzyzyyzz{{{{z{zyzzzyzyz||{z{z{yz{zz{z{{{zzz{z{{{zzzzzz{|{z{{{z{zyzzzzzz{z{|{{{zyzzzzyz{z{{{{{zz{{y{zzy{z{|{z{|zzyyzyzzzzz{zz{{zzzzzyzyz{{{z{{z{yzzzzz{yz{{{zyzzzyyyxyzyzzzz{zzzzyyzyxyyzzzzzz{zyzxyyzyyyzzzz{zyyyyzyzyzy{{zz{zzzyyyyyxzzzzzzyzyyzxzyzyz{{zzzzzyyyyxzzyxyzzyzy{yxzyzzyz{zzzz{yzyzyyyyxyzzzyzz{zxyzyyyyzyzzyzzzzxyzzyzyzyy{{zzzzzyyyyzyyxzy{yzz{yyyyyzyzzzzz{zz{zzyyzzzy{zzyzzzzzzyyzyz{zzyz{zzzzzzzzyzzzzzz{zzzyyyzyxyzzzz{z{{zzyzzyzzyy{z{zz{zzzyyzzyz{z{zzy{zzzyz{zzzzzzzzz{{{zzzzyzz{z{{zz{zyzzzzzzzz{{{z{{|z{zzzzy{z{{|{{{{{zz{zzz{z{zz{z{{zyzzz{{z{{{{{{|{|zzz{{zzz|z{{{{{{zz{{z{{|{z{{{|{{yyzz{zzz{{zz{z{|zzz{zz{{{y{z{{zzzz{yyyzz{{{{{{zzzzyzzyzzzzzz{{{yzz{zyyzzzzz{zy{zzzzyyzyzyzzyyzz{yyyzxxyz{z{{zzz{yzyzxyyzzz{y{zzyzzyxyzzzzzyzz{zyzzyxyzyzzzzy{yzyzyyyzyyzzyzzzzzzyzyzyyyzyzzy{yzzzyyzyyyyzyzzyzzyyyyzyzyyzzzzy{{yyzzyyxy{{zy{zzzyzzzxyyyzzzyyyzzyyzyzyyyyzyz{z{{{yzyyyyyyzyyzzzzzyzzzyyy{zyzyz{{zxyyzyzzzz{zz{zzzyzyyyzzzzzzzyzzyyyyyzy{zy{yzzz{zyyyzzzyyz{{z{zzyzyzzzzyz{{zzzzzzzyzzzyz{z{zz{zzzzzyzzzzz{zz{{{{zzzyyz{zz{z{z{{{zyzzyxyyzzzzzz|z{y{yzy{zz{{z{z{{{zzyzzzzz{z{{{{{zzzzzz{zz{{z{z{{z{{zzzzz{{|{zz{{zzyzyyzyz{zz{{z{z{zzzzzzz{z{{{{|{zyxzyzyz{z{{|zz{yzzzyyyzz{zzzzzyzyyyzzzzzzzzzyzzyyyyyyxyz{yzyzz{yyyyyxyz{yz{zz{zzyzyyyyzyy{{{{yyyyyyyyyzy{yzzzzzyzyyxzyzzyzz{y{yyyxzyyyzzzyyzzyzyyyyyyzyzzzyzyzzyyyyyyxzzzzzzzzyyyyzzyxx{zzzzzyyyxzyyyyzzzy{{{zzyzyyyyyyzy{{z{zyzyxzyzyyzzyyzzzyyyyyyyyzyzzzzzzzyyzzzzyyzzz|zzyyyyz{zyyyyzyz{{zyzyzzyyzzzzyzzzzzxzyyzzzzz{{zz{zzzzz{yyzyz{{{{zzzzzyyzyzzzzzz{{zzyy{zzzyzzzzz{zyzzzyzzzz{z{{{zz|yy{y{zzzz|{zz{{|zzzy{yzyz{{{z|{{zz{y{z{z{{z{{{z{{zzzz{zzz|{{z{{|zzz{yz{zzz{z{{{{{zzzzz{z{{{{{z|zzzzzzzzzzzzzz{{z{zzzzzz{{z{{yz{{z{zz{zyzzzzzzzzzzzzzzzzyz{z{zzzzzy{zzyzy{{{z{zzyzyyyzyyzyzzzzx{{zyzyyxzyzzzyz{{zzzyyzyyyzyzz{z{{yyyyzyyy{zzzzzzzzyyxyxyy{zzzzyz{yzyzxyyyzz{yzzyzzzyyyyyyzzzzy{zzyyyzyyyzyzzyyz{{yyyyyyzzyyyzzzzzzzzyxzxyzyzzzzyzyzzyxzyxyzzzyz{zzxzxyzyyy{yyzzzxz{yyzyyyzzzzz{z{yyzzzzyyzzzz{zzzzzyzzxyzyzzzz{y{zyyyyyzzzzzzz{zzzzzyyzzzyzzzzzz{zyyyzyyyy{zy{{yzyzzzyyyyzz{{zy{z{yyzzyyy{{{zzz{yzyzyyzyyz{{zzzzzyyzyzzzz{{{{z{{{zzyz{yzzzyz{{{z{yyzzzzzyz{zzy{{|zz{zz{zyy{yz{z{{zzyyzz{z{{z|{{{{|zzzzzzy{{{{{{{zz{zzzyzzz{z{{z{|zyx{zyzy{z{|{z{{{zxyzzzyy{zy{|{{zzyyyz{yz{{zyz{zzyzyyyyyzzzz{zzzyzzyzyyyy{{zz{z{yyzyyyyyz{{z{{zzzzyzzyzzzzz|zz{y{yzzy{y{y{z{yz{zzyyyyyzyz{{zz{zzyzyyyz{xzzyyx{z{yzzwyyyyyz{zzyzzy{zyyzyzzzzyzzzzzyzzyxzzzz{zzy{zzyzzzyyyy{zzz{z{yyzyyzyyzzz{{zzy{zzyzyzyyzzzzzzz{zyzzxzyz|yyzzzzyyzzzyyyy{zzzz{{z{yzzzyzz{{zz{z{zyyzyzzzzzzzzz{zzzzyzzzy{{{z{{{{z{{{yyzzz{yz{zzyzyzyzzyyzzzzz{{z{{z{zz{zz{zzzz{zyyzyz{zy|{z|zz{zzzzzzzz{z{{{{z{z{zz{zyyzz{{zzzz{{zz{zy{yz{{{{{{{{yyzy{zzz{{{z{{{{yzzzz|zz{{{z{{{{{zzz{zz||{{{{{z{y{{zzzz{{zzz{{{{z{{yz{z|{z{zz{{zzzzzzzzz{z{z|zzz{zzz{z{{z{|z{z{zz{zzzzzzzzz{y{zzyyzyyyy{zzzyzzzyzyyyyyyzz{zzz{yzyzxyzyyzzyzz{zzzyzzyxzz{z{yyyzz{yzzyxyyzzzzz{zzyzzyyyyzzz{zzz{zyyyyyzzyyzzzyzz{yyyyyzyyzzyzzzzzyyzxzyyxzyzyz{{zzxyzyyzzy{zzzzzzzyyyyzyyyyyzzzzzyyyzzzzyyzzy{{zzz{xyyzyyy{yyzz{zzyzyz{yyz{yy{z{{zyyzyzyyz{{zzz{{zzzyzzzyzzzzy{{{yyzyyyyyzz{zzz{{zzz{zyyyx{z{{|{zzz{xyyyzzz|zzz{{yyz{yzzzz{zzyz{{zyyyzyzzz{{{z{{zzzzyzzzzz{zzz{{{zyz{{{zz{zzz{{{{zyzzzzyz{}|zzz{{{y{{z{{{z{{zzzz{{{z{z{zzz|{{z{z{{zzzzyxyz{y{{{zz{yz{{zzy{zzz{{{{zzzzz{zz{{{zzz{{zzzzzzyzx{z{z{{{{zz{zzzyzz{{{zz{yzzzz{zzz{z{{{zyyxzzy{zyyzzzyzy{zyyyyzzyyzzzzzzzzzyxxyyzzzy{z{{zzyyzxyzyyzzzzzz{zzyyxyyyyzz{z{zzzxyzxyxxyzzzzzzzzzxxyzyzzzzzyzzzzyyyyzzyzzzzzzz{yy{yyxyyzyzyzzzz{xyyyzxyyzzyz{zyzyyzyyyyzz{zzz{{zzyzyzyyzzyzz{zyzzyyzyzzzzzzzzz{yzyyzyyyy{zzzzzzzyyyzxz{yzzzyzz{zyzzyzyy{{yzz{zzzyyyzyzy{{{zzzzzzzyyzy{yzz{{y{z{zyyzyzzy{{{{zz{zyzzzyyzz|{zzzzzzy{z{zzzyz{{{{|{z{{zzzzzzzz{zz{z{{zzzzyyy{{zz{{{{zzyz{zzzz{z{z{||{z{z{{zzz{z{{{{{z{yzzyzzz|{|{{{z{y|z{zzz{{{{{{{{{zzz{zyz{z{{z{z|{zz{{zzz{{zzz{zzzyzzzzzzz|z{z{{{{{yzzz{yz{{{zz{{zyzy{yzz{z{{yzyzzzyzzyzxzz{yyyzzyzyzyzxy{zzyzzzzzzzyzyzzzz{{zzzzyxzzzyyyz{{|z{zzzzzzzyzyz{zyz{y{yzyzzyyxyzzyz{zz{yzxyyyyzz{zyzy{zzzyxyzyyyy{yzz{yyzyzyyzzz{yy{{zyyzyxzyyzzzzz{yzyyyyyyyzzzz{zzzzzzyzyy{yzzzzzzzzyzzyzyzyy{zzyzz{zyzyy{yyzzz{zz{zyyz{yzyzz{zyz{|zzzyyyzyxz{zzz{{{z{zzzz|zzzz{z{{z{z{{zzzzzz{zz{zz{z{zyzzy{{{z{z{zzzzzzzxzz{zz{zz{{{yzz{{z{z{z{{{zzzzzyzzzz{zz{{{{{zzzzzzzzz|{z{{z{yy{zzzy{{{z{z|{{z{zz{{zz{zz|{{||{zzz{{z{{|z{{|z{zzz{zz|z|z|{|{{{zz{{zz{zz{{{{{{{zzyyzyzz{z{{{||zzzzyzz{{{z{z{{zzzyzzyzz{|{{{z{zzzzyzzyzzyz|zzz{yz{yzyzxyzzzzzzzzzyyzyyzzzz{zz{{{zyzyyzzzyyzzzz{zyyyzzxzzz{zzy{zz{zzyyyyyy{zz{z{yyyyyzzyz{{zzzzzyzyyzzyyzz{zzzzz{yzzyyyyyzzyzzz{yyxyyyyzyzyzzzzyzzyyzyx{yz{zzzz{yzyyyyzzyz{z{y{zyyyzzyyyzzzzz{{zz{yzzyzyy{zzzzz{yyzyzzyyz{z{zzz{zzyyzyzzz{z{{zz{zyzzzyyzzzzzzz{{zzzzyzyzzz{{zz{{|yzzzyzy{{zz{z{z{zyzzyzzz{zz{{zzzz{yzyxzz{zzzz{{{yzy|zzyz{||{{{{yzzyz{{z{{z{{zz|zyyzzyzz{z{|{{z|yz{zz{zy{|{{zz{|zz{zzzzz{{{{{{{{{{z{z{z{z{||{{{{{z{zzzzz{{{z{{{z{{{zzzz{z{z{{{{{{{zzzz{y{{{{{z{z{yzz{{zzy{{z{{{{zz{zzzyyzzzzzz{{zzyzzzzzzzz{zzz{zyyy{xzyyz{yz{zzyyyzyyzxz{{yz{z{zzzyyyyzyzzzy{z{yyyzyyyyyzz{{zzz{zzyyxzzyzyzy{zzzyyzxyzyyzzzzy{yzyyyyzxyz{zyyzzz{yzy{zzyzyzyzzzzyyyzyxyyyzzzzz{zzxyyyzxzyyzyzz{zzzyyyyyzy{{z{yzzzyzzyzyyz{zzyzz{zzyxyzyyyzzyy{{{yzyzzyyyzzz{z{{zyyzyzy{yz{zzy{z{zyyzzyyyzzz{{zz{zyzzzy{yz{{zzz{zzzz{zyzzzyzz{{{zzyzyzyzyzz{yyz{zz{yzz{yz{zzzzzz{zzzzzzzy{{|{z{{{z{{{zzzzz{{{{y{{zyz{{{zy{z{{{{{{zzz{{yzzzzz{z|{z{zzzyy{zz{z{zz|{{zyz{zz{y{|{y|{zzyz{zzzzzz{{zz{{{yzyxzzyzzzz{z{z{z{{yzzz{z{|{{{{{zzyzyzzz{z{z|z|{zzzz{zyzzz{zy|{{z{zzzyyzzz{{{zzzzxyzzyyyzzyzzzzzyyyyxzyzzyz{zzzzzxyyzyyzzyyz{zzyyyzyzyyzyzzyzy{zyzxyyzyzzzz{zz{yzyyyz{yzzyyyzzx{yzyzyzyzyzzzz{zzyyyyyyyzzyzzzzzyzzxzxxyzyzzz{{zyzzyxzyzzzzzzzz{{zyzyyxy{zz{zzzzzyzzzyzyyzyzzzzzzyzyyyyyzzzyz{{zyzyyyyzyzzzyzy{z{zyz{yzyzzz{zzy{{zzzxyzyzz{y{{z{yzzyyzzzz{z{zz{|zyzyzyyyzz{yy{yzzz{yzyzzzz{{zz{zzzzzyzyzz{z{z{z{zzzzzzyz{zz{zz{zyzyzzyz{zzz{z{{{zyzyyzyyzzzz{z{{zyyy{zzz{||{z{{{zzz{yzzzz{zzz{{{{yzzy{zz{{||{{{||yz{zzzz{{|{{{z{zyzzz{zz|zz{z|{{yzzz{zzz{{z{z{z{{{zyzzz{y{zzzz{z{yyzzzzyyzz{z{z{yyzzyyyzzyzzy{zzyzyyyxyzyzzzzzzzzyyyzxxyyz{yzz{{zyzxxyxyzyzzzzzzyyyxzxzyy{zyy{zzyyzyyxyyz{zzzyz{yyyyyxyyzzzyz{zyyyyyyyyzzzyzzzyyzyzyyyyyzzzzyzyzyyyyyyyyzyzyyz{zzyyxzxyyy{zzz{z{ywyzyzzyyzzzyzzzzxxyyyyyyz{zz{z{zzyxxyyyzzyzyzzzyyzyyyzxzzyzz{{{zyzyzyyyyzzzzyzz{zyyyxy{zzzz|zz{yzyyyyyzyzzzz{{zzzyzzyzzy{{zz{zzzyyyzyyyz{{yzy{zyzzzyyzzz{yzzz{{z{zyzzzyzz{|{yz{yzyy{zyz{{z{z{|{{zzzzzzyzz{{zz{zzyyxzzyy{{zz{{z{zzzzzzz{z{{{{|{{{z{zzzzzz{z{{{{{zyz{zzzzz{{|z{z{zzz{yzzz{z{{{zz{{zzz{z{{zz{{{z{{{yzyyzzzz{z{z{{{zyzzzzzyz|z{{{z{yzzyzyzyz{zyyzyzzyyxyzxxzzzxzzzzzyyyyxxyyyyzyzz{yyzzzyzxzzzzzzzzzzyzyyyyyzyyzyyzyyyzyxxyzyzyzz{zzyyxyyzxyzzzy{{zzyyzyyyzzzz{y{zyyzxyyyyyzzzzzyzzyxyxyyyyyz{zzzzyyyxyyyyyyyyyzzyzzyyyyzyzyzzyzzzy{xzyyyzxzyzzz{zyxyzzyxyyyzyzyzz{xyzyzyyy{yzy{zzzyz{yzyyxzzy{zy{{zyyyyyzzz{{{z{z{yyzyyyyzz{z{zzzzzyzzzzzyy{zzzzzy{yyyzyzy{{zzzzzz{yzzzyyzyz{zyzzzzyyyzyzzz{{|zzzzyyyyzyzzzzzzzz{|zzxzzzyyz{yz|{|{{z{zzyzz{{{z{{{{zzzz{{zzz{z{{|zzzyyzyzzyz{z{{{{{{zyzzzyz{z{{z{{{{yzzz{zzzy|{z{{|z{{yyzzzz{z{{|zz{zzyzzzyz{{zzz{zzyzyzyzyyzz{{{zzzzz{yyyyzzzzzzzy{yxyyyzyz{zzzzz{zzyyyyyzzzzxyzzzyzyyyzyzzzzzz{zzyzzzyyyyyyzzzzzzyzyxyzzyzzz{zyyzyy{yzyzyzzzzz{{{zyyzyyyxzyzzyzzzzzyyyyzxzzzyyzzyzzyzzxyyz{zzzzzy{yzzyzyyz{z{yy{yzyzyyyxyxzz{zy{{zyzyyyyxxzyzy{y{yzxzyyyyzzzzz{zzzyyyzzyzzyzzzzz{{yzzzyzzzz{zy{z{zzzzxxzyzyzzzzz{zzzyzyyzzzzzz{{zzzzyzyzyz{z{zzyzyzyzzzyzzz{zzz|zyzzzzzz{{z{zzzzzzyyyyyyyz{zzz{{zyzzyzyzzz{{{y{{|yyy{zyzzzz{{{|{z{yyyyzzz{|z{{{{{zzzyyzzzz{|{{z{{{zzzy{zz{|z{z{{{{z{{zzzz{zzzzz{{zzz{zyyzzzyzz{||{zyzz{zy{{{{{z|{zzyz{{yz{{zzzzzyzzzzyyzyyzzzzzzzzzzzzzyyzzyzy{zzz{zzyyzyyz{zzzyzzzxzyyxy{yzzz{z{yzyzyzyzzzyzz{{zyyyyxyyx{{{zyzz{zyyzyyyzzyz{z{y{yzzzxyxyyzzzzzzzzyyyxyyyz{{zyz{yyy{zyzyyyzyzzzyzyzzxyyyxyzzzxz{zzxzyyyyxzy{zzzzzyyzzyzyyyzyz{zzyyzzzzyzzyzyxzzz{{yyxzxyzyzzzzyz{yzyyzzzzz{zyzyyzzyyyzyyyyyzyz{yzzyyzyyyz{z{zy{zzzzzyyyzzzyyz{z{zz{zz{yyyy{{y{{{zzzzyyyyyzzzzzz{zzzz{yyzz{{{zzz{zzzzzyyyzzzzz{z{zzyzyzzzy{z{z{||z{yzzzyzyz{zy|{{zzzyz{zzz{|{{{|{{{z{zzy{|z{z{z{{{zzz{zzz{z||zz||{zzzzzz{z{{{{{{{{{yzzzyzy{{{|{z|{zz{zzz{z{{{zz{{{z{zzzz{{zz{z{z{z{zzzyyzzzzz{{yz{zyzyyyzzzzz{z|zyzyzzyxxyzz{zzz{zzyxyzyzx{z{zyzyzzzzyyzyyyzyz{z{{zyyzyyzzzzzzyzyzzzxyxyyxzzyzzzz{zzzyyyzyzzzzy{zzyzyyyzyzzz{zyzyzyzzzyxyyyzzzyzzzyyxyyyyyyzyyzzzzzyzyyyyyzzzzzzzz{zzyyyyyz{zzyz{y{{yyyxzyyyzz{zzzyzzyyyyzyzzzzzzzyzzzzyzyy{zyzzz{yyzyyyyzzzzyz{z{zz{zyxzzy|zzy{{{zzzyzzyzzzzyzz{{zzzyzy{zzzzzzz{xzy{zzyzzz{{z{{{zzyyzzzyz{zzyz{zzyzzyyzzzy{z{{{{{{yzzzz{zzz{{zz{{{zzzzyzyz{z{zzz{{zyz{zz{z{{z{|{{zz{zy{{zzz{{{{y{zzzzz{zz{{y{{{{{{{{{yzzz|{zz{zzz{yzzzyzzz{{z{{{z{{y{zyzzzz{{{{{{{zyyy{z{{|{{z{{{{z{zyyzyz{{{zz{{zzyyyzzy{{zzz{zzzxyyzyxyy{z{zz{zzzyyxyzy{zzzy{z{zy{zyzzyzzzyzz{zyzyzyyzyzzyzzzzy{{yzyzyxzzzyz|y{zyyyyyyzyz{yy{yzzzyyzyzyzzzyxzzzyyzyyyzxyyzzzzz{xyyyyyyxyzyzzz{zzyyzyzxxzy{yzzx{yyzyzzzyzz{yzzz{zxyzyyzxyyzzzzzzzzyyyy{zyzyyzzyzy{zzzzyzzzzyzzz{yyyyyyzzzzzyzzz{zyzyyyzzzzz{z{z{zyzzyyzz|zz{zzz{zzzyzyzy{{z{yzz{yzyzyzxzzy{z{{||zzyyyyyyz{y{zzzzzzzy{zyzzz{{{z{{y{yyzzzzzzz{z{z{zyzzyzxz|{zz{{{z{yzzz{yz{{zz{z{{zzyyyzyzzz{z{z|{{zzzy{zzz|{z{{{zzzz{zzz{{{zz{{z{{yzzzzzzzz{z|z{{|zy{z{yz{z{{|{{z{zyzzzzyz{{z{z{{zzzzzzzzzzz{{zz{yz{zyzzzz{zzz{zzyzyyyyyyzz{zzzzzxyzzyyyzyz{z{zz{zzyyzyyyzzyzzzzz{yzyzyzyyyzzyzzz{zzyyyyyzz{yzzyzyzyyyxyyz{zyy|{{{yzyyyyyzzzzyzyzzzzyyyzyyzyyzzzzyzyyyyzxz{zzzz{zyyzzzyxxzzzz{zyzzyyyzzzzxzzy{zzzzxyzyy{yz{zxzyzzzyzxyyz{xzyzzz{{zyyyzyyy{yzzyzzz{zzyyyyyz{zzy{z{zyzzyyyzz{zz{zz{zxzyyyyzzzzy{{zzz{{zzxyzzz{zz{{{yzzyyyyzz{{zz{{{zzy{zzyz{{{z{z{{yzzyzyzzz{|{{|{zzz{zzzzzzzz{yz{|zzzzz{{zy{|{{{|zzz{zzy{z{zzzz{{{zz{{zz{{z{z{z{{{{zzzzz{zzzz{zzzz{zy{zzzy{zz{z|{{zzyyzy{zz{z{z{{{{{zzzzz{{{{{{z{{zz{zzyzz{zz{|{{{z{y{{zzz{{{{z{{{{zzz{zyyzzz{{zyzzyzzyy{xzz|zzz{{yyyzzxyyyzzzz{zzzyyyyzyx{zzzyzzzzyyyyyyyzzy{yy{{zzzxxyyyzyz{zzz{zyzyyyzxzzzzzzzzyzzzzyyxz{zzzzzyyzyzyzyyzxzzz{{zzyyyyyyyy{zyyz{zzyzyyzyxzzzzyyzyxzyzyyyzyzzyyy|{zzyzyyyyyzzzzz{zzyzxyyyyxzzzzzzzyyyyzzyyy{zzzz{{{zyzzxzyzz{zzzzzyzzyyzzzzzzzzzz{zzyzzzzzzz{zzz{zzyzyyy{yz{z{{{{zyyzyyzyyzz{z{zzzzzzyzzyzz{{{zz{{zzzzzzzzz{zz{{{{yzz{zzzz{{z{{z{|{x{zzzyyzzzz{{{{{zzzyzzy{{{{z{{{zz{z{{{zz{{{|{{{{zyzz{yzz{z{{|{{{yzzzzzz{{{{{{z{{zzzzyzzz{{|{{||z|zzzzzz{y{{{z{{zz{zzy{{y{{{{{{{{zzzz{zyz{z{zz{{zzzzxyzzyzzzxyyzyzyyzyxyzzyyyyzzzyyyyyxy{xzzyz|{{zzyyyyyzzzz{y{{yxyxyzyy{y{zyz{zzzyyyxyyyz{zyyz{zyyyyxyyzzzyyzzzzyyyyzxyzyzzyy{zyzyxzxyyyzzzyzzzzzzxzyxxyz{zyyzzzzzzxyyyyyyzzzzzzyyyyyyzyzzzz{{zzzyyzyzzxzzyyz{zzyzyxyzxzzyzzy{zxyyzyyyyyzyzzzzzzyyyzyz{zz{zyy{zxzzyzy{zzyzzzzz{yzzyyyzzz{z{|{zzzzyzzzzyyz{x{{{zyyzzzyzzzz{z{z{zzzy{zyxy{{zzzzz{yyzzyyzzy{z{{z{{zzzzzzz{zzzzzz{{{zzzzyzzz{|{{{{{zzyzz{yzz{z{{|{zzzyz{zyyzz{{{{{{{zz{yzzyz{{z{{|{|zzzyzzz{{{{zz{zzzyz{z{{{z{zz{{{zzyz{zzy{zz||{{{zzzyyzzzzzzzzzz{{yzyyz{zz{z{zzzzyyzyyyzzz{{{xzzz{xzyyzyzyzzzzzz{yyyxyxyyyzy{zzzzzyzzyyyyzyyzzy{zyyyyyyyzzzzzyzz{zyyyyzyyyzyzyzyzzyyyyyyzyyzyyzz{yy{xyyzyzzyyyz{zyzyyyyxyzzyzzzzzyxxyyzyyzyyyzzyzzxzyyyxzz{zy{{zzzzzzyyxyy{zz{yzzyyyyyyyyzzzzyyzzyyyzyyyyyzzyyzz{yyyzyzyyyy{yzz{zzyyyxxyyzzz{{zy{zxyzyyzy{yyz{zz{zyzzyyzyzzzz{zzzyzzyzyyyyzzzz{z{zyyyzzyyz{zzz{{zzzzzyzyzz{{zzz{{zzyzyzzz{z{zz{{zyzzzyzyyz{y|z{{zyzyyzyzyy{zy{{{zzyzzzzzz{zz{{{{{y{{{{{zyzzy{{{{{{zzzxzzzzzzz{|{z{zyzzzzzz{zzz{{zzzzzzzy{{{{{{z{{z{z{zzzz{{z{z{||yzzzzyyy{zz{yzzz{zyzzzyzz{zzz{{{zzzyzzzzzz{yzy{zzyxyzzxyyzzyzzzzzyyyzzyyzyzzz{zzzzyyzxzzyzz{{zz{zzyyyzyyzzzzyzzyyyzxyyzxyy{zzyz{zyzyyyyyzzzzyzzzzyzyxyyyzzzzzyyyzxyzyyxyyyzzyzzzyyzyxyyzzyzzzzzzyyyzyzxyyzzzzzzzzzzyzxyyzzzzzzzzyyyxyzyyyzyzyzzzzzyyzyzzyzyzzzzzyyyyzzyyzzzyzzzzzyzzzxzzx{z{zzzzzyyyxyyz{{zyzz{{yzy{zyyzz{z{{zzy{zyzyzzyzyzzz{zzyzzyyzyzz{zz{z{yzyxzzzyzzz{{z{zz{zzzy{yyzzz{{{{{zzzyzzzzz{{{{{{{yz{zzzyzz{{zzzz{zzyz{zzy|zz{z{{{zz{{yz{zz{zzz|{zzzzzzzzzz{z{|{zz{zzzyz{{zzzzz{zz{zzy{yy{z|{zz{z{zzzzzzzzy{{{{{{{{{zzyzzzz{zzz{{{{zz{yzyy{z{{{{{zzzzzyyzyzzzzz{yzyyyyyyyzyz{z{yzzzzyyyyyxy{zzzy{zzyyyyxyyyzyzzz{zyyyyzyxzzyzzzzzzyyzxyyzyzzzzyzz|zyzxzyyxyzzzzzzyzyyx{yxxy{{yz{zzyzzyxyzyyyyyyzyzzxyyyxyy{zzz{yzzyyyxyyxyzzzyzzzzyyzyyzyxzyyyyz{yzxyyyzzyyzzxyyz{yxxyyyyyy{zxzzzzxyyzzzxyyyzyzyzzzyyyyyzyyyzzzzyzzyyzyyzyzzzyz{{zzyzzyxzzzzzzzz{zyxyzyyzyyzzzz{zyzyzzyzzy{{zzzz{zzyz{zyyzzz{z{{zzzzxzyyzz{zzyz{{{zyzzzyzyzyz{{{{{zzzy{yyzz{z{z{z{zyzzzzzyzzzz{{{zyyz{zzz{zz{{{{{{{{{zyyzzz{{{z{{{zzzzyzyzzzz{zzzzyzzzyzzzzzzzzzz{{zzzzzyz{zz{z{z{zzyz{yyzzz{{z{||z{yyzyzzzz{zz{zyzyzzz{zyzzyzz{zzzyyyyyzyyzzzzzz{zy{yzyyyy|yzzz{{zzyyyyyyzzyyzyzzzyyyzyxyzyz{z{zzzzzxxyzyyzzzzzzyyyyyzxzyyzyyyz{yzyyyzyyxzy{{zzyyyzyyyyzzzzzzyyyyyyyyyzyyzzzyzzzyyyzzyyxzzzzzzyzyyyyywzxyxzzzzz{zxyyyxyzzyzyyyzzzzzzzxyyzy{zzz{zzzyzyyzzyz{zzzyzzyyzyzyzzz{{yzzzzzyyzzyyzyyyyyzzzzzzyzz{z|zzzzzzzyzzzzyzyzzz{z|zzyzzyzzxzyzzzz{zzyzzyyyyzz{z{z{z{{zzzzyyzzz{z{{{zzyzzzzzyy{{{zzz|{yzyyzyy{z{zz{|{{yzzzyz{zzyzz{||zzzzzzzzy{zz{zz{{yzzyzz{z|{{{|z{zzz{zy{zz{{{{z{zzzzz{yzzzzzzzz{{{zzzzzz{y{yz{{{{zzyzz{zzz{{{{{{{{zzzzyzz{{z{z{{zzzzzzyzyzy{zzzz|yzyyzxzyy{zyzzzzyyyzyyyyzzzzzzzzzyyyyzyzzzzzzz{zyzyyyxxzzzzzyyzyyzyyyyzxyzzz{zzzzyzxyyzyyzzzzz{zzyyzz{yyzyzzy{zzzxzzyzyyzzz{zzzyyyxyyyyxz{yzz{zzyxzyxzyyzyzzzzyzy{zzyyyyyyz{zzz{yyyyyzyzzzyyzzzzyyzxyyyxyzzzyz{zyyzyyzxyyzzyzzzzzxyyyxyyzzzzyzz{{zzyyzzzzzzz{{zzzzzzzyyyz{zzz{{zzyzyzzzzzz{{{{zyzzzzyzzyyz{zzz{zzyzzzxzyyz{zzzzzzzzyzyzzz|{{zz{{zyzzzyzz{z{zz{{z{yzzzyzz{{zzzz{zzzyzzzz{{z{{z{{zzzzzz{{zz{z{{{{{zyzzy{zz{{z|{{{{|zz|{{{zzz{{{{{zyy{zyzzzz{{z{{||zzzz{zzzzzz{{{{{{yzyyzzyz|{zzz{{{zyzyz{yz|z{zzzz{y{{yyyy{z{zz{zzzyyyzyyyy{z{{zzzzzyyyyyxzzzzzz{zzzzzzzzx{zyz{z{zyzzzyyyyyzzzzy{{zzzyy{yyzz{yzzz{yzyzyxyyyzzzzyzzzzyzzyzyyzzzy{zzyzzzyzzyzyyzzy{zyyzzyyyyz{yy{zzyzyxxzyzyzyzzyz{zyzzyyzyyyyzyzy{zyzyyyzyxyyzzxyyzzzyyyzyyyzzzz{zzzzzyzzzyzzz{z{{zzzyzzzywyzzzy{{zzyzzyzyzzyzzz{{zzzzzzzzzzyzz{{z{zyzz{yzyyzzz{{y{zzzzzzzzy{zzz||{zzy{zzzzz{{zz{zzyzzy{{yz{zz{{|{zyzzzzzzz{{z{{{{{zyzyzyzz{{z{{z{{{zzzz{zz||zz{z|{zz{yzz{zz{|z{{{|{zzzzzzyz{{{z{{{zzzz{yzz{{{{{{{{{zzzzzzz{{{|{{{{{yzzzzzz{{{{|{|{zzz{yz{z{{y{zzz{{zzyzzzzzzzzz{zzzyzyz{zyzyzzzyzzzywyyyzyz{yzzzzzyyzzyxyyyzzyz{zzyyzyyzyyyzzy{zzzyyyyzzyyy{z{zzzy{{yzyyyz{y{zyzz{yyyyyyyyyyyzyzzzyy{yzzyyzzz{y{zzzyyyyyxxzyyzzzz{yyzyyyxzyyzzy{{zyzxyyyyzyxzyyzyzzyyyyzyyy{zzyz{zyyyyyyyyyzyyzzzzyyyzxyyxyzyyyzzzyzzzzyzzy{{{zzzzzyzyyxzzzzz{zzzz{yzzyzzzzzzzzzzzzyzxzzyyyyzyzz{zzzzz{zyyz{zz{{z{zyyzyzzz{{{{yzzz{yzzzzzyzzyyzzz{zz{zyzzyz{|{{zzzzzzzzzyyy{zzz{{zzzzzzyxz{{zz{{{{{zzzzz{z{|{{{{||{{zzzzz{{z{z{zzz{zzzz{{zzz{z{||{z{|zzz{z{{|{{{{zzyz{zz{zz{z{z{|{{{yzzyzzz{{{{{|{zzzzzzzzz{{{{|{{zzyzyzyyz{z{z{{zzyyyyyzyzz{z{zzzyyyxyyyyyyzzzz{zyzyyyzyyzzzzz{{{zyyyyyyyzyzz{zzzzyzyyzyzy{zzzyz{yzyyyyxyzzzzyzzzyyyyzyyyyzyyzz{zzzyyyzyyyyzzyz{yzyyyzzyzyyzzyyzzyyyyzyyyyz{zzyzyzyyyyyyyzzyzzy{zyzzxyzyyyzyzzy{{zyyxyyyzzyyy{zy{zzyyyyyyyzyzzzz{zyzxyyyzzyz{yz{zzzyyyyzzyzyzzzz|yyzzzxzzyzz{z{zzzzzzzzzzzzzzzz{|{z{zyyyyzz{z|zzz{zzzzzyyzzz{{{z{zzzzzyyyzzz{z{{zyzzyzz{zzz{{yz{zzyyyz{{z{zz{z{{{zzz{zzyy{z|{z{{z{zzzz{zz{|{z{{{{zzyzzzzz{{{{{zzzz{zzz{y{{|{zz{{z{{{z{y{yzz|{{{{z{yz{zyz{zyz{zz{z{{zzyzzz{{{{z{{zzzyyzzz{yz{z{z|{{zzzzzyyy{zzz{{yzzzyzxyx{z{zzzz{yy{yzyzyyzzz|yzzzyyyzxyyzz{zzz{zzyzxyzyyzzyzzzzzzyyzyyyyzzzzyz{zyyyxyyzxzzzyzyzzzyzxzyzyzzyyy{zzyxyzxyyyyzzyyzzyyyyyzyyzyyzzzzzxyyyyyzzyzyyyy{zyzyxyxyxyyzzzzz{zzyzyxyyyzxzzzzzzzxxyxxxxzyyyyzzzyzyyxyyyy{z{zzz{yyzxyyyyyzyy{z{{{yyyzyyz{z{yzz{{yzyzzyz{zzyyzzzzzyzzzyzz{zyyzyzzzyyyyyyyzz{zzzyz{zzyyyzz{{{{zz|zzyxyzzzz{zzzyzzzzzzyyyyz{zzz{{zzzzzzzzyz{{zzz{{{{zzzzyyyyyzz{z{zzyzyzzyzz{|{{|{{zzzzzzzzz{z{|{z{{zzz{{zzz{{{{yz{zz{yyyy{z{{zzzzzzyyzzyz{zzzzy{{{{z{zz{z{zz{{{{{{zzz{zzzz{z{z{|{{zyzzyyyxzzz{zzzzzyzyzyzyzzzyzyy{yxyyxxxxzzyyyyyzzyzyyyxyyz{zzzzzzyyyxzyyzzyyyzzyzyyxyyyzyzzzzzzzzzyyyzyxzyzzzz{{zyyzyxyyyyyyzz{zyzzyyyzyxyzzy{zzyzyxyyyzyyzyzyzzxyyyyyzyyyzxy{zyzyxyyyxxyy{yzyzzzzyxxzyxzyyz{zzzyyyyyzxyyzyyzzzz{yyzyy{xz{zzz{zy{zyxzzyyy{zzzzzzzzzyyxyyyzzzzzzzzy{zxxyzzyyy{z{{yyyzyyyzyzzzyyzzzyzyzzyz{z{{zz{{zz{xyzyxyz{zzz{zzyzzzyzyyz{zzz{zzzyyz{zz{{{{zzz{zzzzyzzy{{zzz{{{yzzzyzyyz{z{zzz{zzyzzzzz{z{y{{{zzyyz{{zzyzzzzzz{zzzzyzyyyz{{z{z{zy{zyyy{{{z{{{{zzzz{{yzz{z{{{{{{zzz{zzyzzzz|{{{{{yyyzzyyz{{zzzzz{yzyyyzyz{{zzyzz{z{zzzzyzzzzzz{yyyxxxzyyz{zy{z{zxzzzzyzyyzzzzzz|zyyyyxyyzzzzzzyzzyzyzxxyyzy{yyzzyzzxyyyzyzyzzzzzyzzxyyyyzyzzzz{zzzzyyyyyyzzyzyzzyyzyzyzyyzyzyzz{yyyyzxyxzyyz{zzzzzzyyyxyzzzzyyzyyyzyxyyxyyzzyzz{yzzzyyyxyzyzyzzzyyyyzyyzy{yyyzzzzyyyzzyyzzyzzyzyy{yzyyyyyzyzy{z{yyzyzyxyyyzzz{zzyz{yzzyyzy{zz{zzzyyzzyyyy{yzz{zz{zyzzzzzzyzz{z{zzzyzyyzz{z{{y{z{zyzzzyzzzzz{{{{{zyzzz{zyzzzzzz{{zyzzyyyzz{{z{zz{zyyzyzyy{yzzz{zzzy{yy{zzzzz{{{{{zzzzzzzzz{zz{|z{{zzzzzzyy{z{yzzzzzzyzzzz{zzz{{zz|zyz{zy{{zz{z{{|zzzxzzzxz{zz{{|zzzyyyzyzz{{{{{z{{zzyyzyy{zzzzzyzzxyxyyzyxyyyyzyzzyxyyxzyyyzyzzz{zyyxyzyyyzzyzy{zzyxyyyyyzyy{y{zzzzzxyyxyyzzzzzzzyxyxyyyxyyzyzzzzzyxyzyyzyz{yzzz{yyzyyyyyzyyzzzyzxzyyzyxyzzzyyy{yyyyzyyyyyzyzzyzzyyyzwzzxyyyzzyyzyyxyxyxyxyyyyzzzxyyyyyyxyzzyyzzzyxzyzyzyzyyzzzzzzyyyyyyxzzyzyzzzyyzxyyyzzzzzyzz{yyyyyyzzzz{z{{{zyyzyyxzy{yz{zzzzyxzyyzyzyy{yzz{{zyyzzzyyzzzzzz{yyxyzyzyzzzzzz{z{yzzzzyzzz{zzzzzzyyyzyyxzzzzzz{{{zyyzzyzz{zzzz{{zzzzzyyyzzz{{zz{{{zyyyzzzz{zzzz{{{yzzzyyzzzz{zz|{zyyzzzyz{{zzzz{{{zzyzzzy{zz{z{yzzzyyyzzzzzz{z{{zzzyzxyyzzz{zzzzzzzzyyzyyyzzzzzyzyyzyyyzyzzzz{zzzzyxxyxzyyyyz{zz{zzxzyyyyzyzzzyyzzyxyxzzyyzzzzyzzyyxxxyzyzyyyyzyzyyyxyzyxzzyyzzzzzyyzzzxxxyyyyz{zzyzyzyyxxyzzzzzzyyzxxxyyyzzzyzzyyyzzyzyyyz{zzzzzxyzyyyyyyzyyzyzzyyzyyyyyyyyzzz{zzyxyyyyyyzzyyz{yyyyzz{yyyyyzyz{zzyzzzyzyzyzzyzz{zzzzyyzyyzzzzz{{zy{yyyyxzzyyyzz{zzzzyyzyzzzzzz{{yzzzyyzzzzyy{{zzyzzzzyyyz{yzzz{z{z{yzyzyzz{{{{z{yyyyyzzyzzzz{{z{zzzzzy{zzzzzz{y{{yzzyzzzy|{zz{zzzzzyyzzzzz{{z{zzzzzy{{yzy|{{z{{{{zzzzzyz{{{{zzz{zxzzzzz{y{zzz{{{yzyzzzyzz|{{z|z{zzzzz{yyzzz{z{zz{zy{zzzzz{zzzzzzzyyzzyyy{z{{yzyyyyyyyyzyyz{zz{{{{yyyxzyyyzzyzz{zyyyzyyyyzyzzzz{zzz{yyyyzzz|zyzzzyyyzyyyxyzzzyzz{zzxzzyzyyzzyzzyzyyzyzzxyzyyyzzyzyyyyyyyyyy{yyzzzyyyyyzyyzyzzyzz{yxyyyyyyz{zzyzyzxyyyxyyyz{yzzzzyyzzzyyxyzzzzzzyzyyzyzxyyyzyzzzzzzxzyyyyyz{{zzzzzyzyyzyyyz{zy{{{zzyzzyyzzzzzzz{zzyyzyyyyyzz{zzz{{yyyzyyyyy{{{yzzyzyy{{zyyzzzyzzzzzyzzyyzzz{zzyzzzxzzyzzz{zz{{z{z{zzzzzzzzz{zz{{z{zzzzzyzy{{{{{y{z{yzzyzzy{z{z{z{{zyz{{zzz{{z{{{z{{yzzz{{{z{z{z{z{{yz{zyzz{z{{zz{{|zzzzzzzzzz{{zz{zz{z{zz{z{||{zz{zzzyyzyyzzzz{{zzzzyzzzzy{{{yzz{zzyyyyzzyzzzy{{yyyzxyyyyyz{zzzy{zzzyyyzyyzyzy{z{{zzyxyzyy{zzyz{zyzzyyyyxyyzzzyz{zzyyxyyyyzyz{yyyzxzyyyzzxy{yyxzzzyyyyzyxyzzzyzyzyyy{yyzyzyyyyzzy{zxyyyyyxyzyzz{zzxzzyyyyyyyzyyzy{zyyxyyxyzzyzyzzzyyyxzyyxyzyzzzy{yyzyzy{yyzyzyyzzyyyyzzzxyzzzzz{{zyyyzyyyzzyzzzz{zzyxyzyy{yzzzzz{zyzy{yzyzy{zzz{zyyzyzzyyz{y{zzzzzyyzzyzzzz{yyz{zzzyzzyyyz{{{zzyz{{yyzzyzz{z{z{{zzzzyzyzz{zzzz{{{zyz{yzyyz{zz{{zzzzyyzyyz{{{z{{|zz{{yz{yz{{zy{|z{zyzyzyyy{z{{z{|{{z{zyzzyz{zzz|{z{zz{zzzz{{zz{{{{z{zzzzyz{{{z|z{|yzzzzzzzyzzz{{{zz{zzxzyyy{z{zzzzzyzzyyyzzy{y{zz{yzyyyyyyzyzzz{zzyzyzyyyyzzzyzzz{zyyyyzyzzz{zy{{{zzyyyxxyzy{yyzy{yzyyyzyxyzy{zyzzyzyyyyyyxzyyzzzzyyzyxxyyzz{yyyzzyyyzzyzyyzyyyyzzywyyyyzyzzzyzyz{yyzzxyxzzzyy{zzzyzyzyyxxyzyyzzyzyyyyzyzyyzzyyzzzyyyy{xyyz{yyz{y{zyyzxzyyyyy{y{{zzyzxzzyxz{zzzz{{zyzzzyzzyzzzzzzzzzyyyzyzzzzz{y{zzzyzxyyy{zzz{{{zyzzyzzyzzz{yyz{yzyzzzzzzz{zzzzzz{{zzzzyyyyz{{z{zyyzyy{zzzzz{zz{{zz{zyyyyy{z{z{{z{zzyzy{y{{yz{z{{{zz{zzzyz{z{{{{{z{zzzyyzz{z{{{{{zz{zy{yzzz{{z|zzzxyyyzz{z{|{z|{{{zz{{yz{{z{|{{z|zzzyyzzzz{{{{z{{zz{zyzyyzzzzzzzzzzzyzxyyzzzz{yy{yyyyyzyyyyzzz{zzz{yyyyyyzzzz{z{zyzxyyyyz{y{zzz|{zyzyzxyzzzzz{z{zzzyxyyxyyyy{zzz{yyyxyxyxyzyyz{zzzyyyyyyzzzzzzzyzzzyyxyyzzzyyyzzzxzxzxxyzzyyyz{zyzyxzyzyzyyzzzxzzzyyyyzzyyy{{yz{zzyyyyyyyzzyzxzy{zzyyyyzzyzzzyzyyyyzyyzzyzzyyzz{{zzyyzyzzzz{zzyzzzy{zyyyzzzy{zzz{yzyyyyyy{{{zzz{{zyy{zzyyy{zzzz{zzzzyxyyyzz{zzzz{{yzzzzyyz{zzz{z{zzz{{yy{zzz{z{z{zzzzzzzzz{z{{z{z{zzzyzzz{zz{{{{z{yzzyzyz{{{{{{|{{zzzx{z{y{zz|{{{{zzyzy{zz{z{{{|zzzzzzzzz{zz{z{zy{zyzzz{zzzy{|z{|{{z{{{z{{z{zz{z{{zzyzzzyz{zz{{{{zzyzzzyzz{zzzy|zyzzyyzzyyzzzzzzyyyxyyyyyzzzzyzzzzyyyzyyy{yyyzzzyzzyxyzyxzzyzzz{yyxyyyyzyyyzyzzz{zyyyyyyyyzzz{zyzyyyyyzywyyyzz{{yyyzyzyxyzyzzzz{zyyzyxzyyzyzzzzzyyzyzyxyyy{yzzzzzzzzzxyxyyzzyyzzyyzzzyyyyy{zzzyzzyzyyyyyyzyyyzzzzyyyzyyyyzzzzy{{zzyzzyyzyzzzz{z{zzyzyzyzyzzzyz{{zzyzyyyzzz{zz{{{zzxzyxyyzy{zzzzz{zzyzzzzyzzzy{zyz{yzyzzzzzz{zyz{zzyzzyzyzz{zyzzyzzzzz{zzz{yz{{{{zyyzz{zyzzz{zz{{zzyzzyzyxz{zzz{zzzzzzzzzz{|z{zzzyyzzzzzzzzz{{{z|{{yzz{{{z{{z{{{z{{zzzzzzz{{z{{{{yzzyzyzyzz{z{{{{|zz{zzzzzy{z{{{{{{zzyyzyzz{{{z{|{zzzzyzzzz{zzyz{zyyyzyxzyy{{zzyyzyz{yyyyyzz{zzzzzzzyxyxzyyyy{zz{y{zyyyzyzzzz{zzzzzyzyzxyxyy{zy{{{zzzzyxzyzyyzzzz{zyyxzzyyz{zzyy{zyzyyyyyyzyzyyz{yyzyyyyyzzzzzyzzzyzyyzyyyyyzzzzzyyyyyyxyyyyzzzzzzyyzyyyzyzzzzzzzzyzyyyyzyxzzzyzzzzzyyyyyzy{zyz{z{yyyyzyxy{yzzzzz{yzyzzyyyzzzzzy{zyzyzyyzzzzzzz{{zyz{yyyzzz{{yzzzzzzyy{zzzzzzzzz{zzyzz{zzyyzzzz{{z{zzzzyyzzzzzyy{zzzzzzyyzzy{{zz|{yzzyyzzyzz{zz{{{{z{{zzzz{{{z{{z{zy{z{zyyzz{{zz{zzz{z{z{{z|{{{{{{{{z{z{yz{|{z{z|z{yzzzz{z{{zz{{z{zzzz{zz{zz{z{{{{{zzyzzyz{z{{{{z{zzzzzy{zz{zz{{z{{zyyzzzzyzyzzz{{zyzyyxyzzzz{zzyyzyyzxyyyyy{zzzzyyyzyyyyzz{zzzzz{zyyyyyzyzyzy{zyyyxyzyxyyzyzzyyyzyzxyxxzxzzyyz{{zzyzxyxyyzyzyyz{yyyyxyyyyyy{yyzzzzzzxyzxyzyy{y{zyyyyyyyyyyyyzyzzzzyyyyzyzyzzyzzzzzzzxxyxzzyyyyzyxyyyyxyyxyzzyzyzzyyyzyyyxzz{yy{zzyzyyyyyxzzyyzz{{zyzyzyyyy{zyzyzzzyzyzyyyyz{z{zzzzyzyxyyzzzzzzzzzzyyzyyyxyy{zzz{yzyyyyyyzzzzzzz{zzyyzzyzyzzzzzz{zzzyzzzzyz{{{zzz{zyz{zz{zzzzzzz{zyyzzyyzyzz{{{z{zzyzyyyzzzzzzzz|{zz{zzy{z{z{zz{z{{yzzyzzzz{{zzz{{z{y{z{zzzyz|{{{z{zzzzzzzzzzz{z{{zzyzzzzz{zz{z{{{zzyyzzzzzz{zz{{z|zzyzzyyy{zzyzzzyzzyzyyyzyzzzz{zzxyyyyxxyzzyzzzzyyyywyyyyyzyyzzzzyyyyyxyzxyzzzzyyyyyzyyyzzzzzzzzzyyyyxzxyzyzyzzzzyyyyxyyzyzxyzzyzxzyzxyyyyzyxzyyyzyyyxyyzyyzzzyzyyxyzxzxyzyyzzzyzyzxyzyzzyzyyzyzzxyywzyyyzyzzzzzyzyxzxyxyzyyzyzyzyxyzzyyzzyyzzz{yyyzzzyxyyyyy{{zzzxxyyxyzzy{{{zzzyzyyyyxzyzzzzzzyxyzyyyy{zzzyz{{zxzzzyzyzzyzyzz{yzyzyzyyyzz{zzzyzzzyzyyyz{zy{yz{zyzzyzzyzzy{z{{{zxzzzz{z{z{{{{z{zzzzzyzzzzzzzz{z{yzzz{zz{{z{|y|{z{zzzz{zzz{z{z{{zyzyz{zz{{zz{{{{{y{zzyzy{z{{{{zy{y{{yzzzzyzzz{|y{yyzzzzyz{y{{{{{zyyyzzyy{{zyzz{{{zyzyzzzzzz{zz{{zy{yzyyyy{zyyyyyyxyxzyyxyzzyyyzzyyyyyxzxyz{yyzzzyyyyyyyzzzzyzzzzyyzxyzyxxy{zyzyxyyyyyyyxyzzzzzz{yyyxyyxyyzyzyzzzyyyyyyxyxzzzyzyyzyyyyyyzzyyzyyyzyyyyyxyxzyzyzyzxyyyyyzyyzzzzz{yzyyzyyyyzzzyyyzzzzyzyyxyyzyyyzyyzyzxyyyyyy{zzz{{zzyzyzyxyzyyyzz{zzxzzyyzyzzzyyz{{zy{zyyyzz{zyzzzzzzzyzyyyzzzzzzzyzz{yzyzyzz{zzzzzzzyyyyzxzzzz{z{z{yzyyyyy{zyyzzzyzyyyzzyzzz|{{{{zzyyzzyzyzzz{zzz{zyzzyyxzz{z{z{zzzzzzzyyz{{zzzz{{yyyzzzzzyzz{{zz{zyz{{zyzz{{{zz{z|zzzyzyzz{{{zzz{zzzz{zzzz{zy{z{{zzyzzzyyz{{{z{z{z{zzzyyzzz{zzz||{yzy{z{zzzz{z{{zyzyyyzyyyz{zzy{zzxyzxyxyy{zzzyzzyzyyyyzxzz{zzzz{yyyzyyyyzyyz{y{yzyxyyzzzzzzzyzzzzyzyyzyxzzzzzzyyxzyyxyzyyzyzz{zzzyyyyyyyzzzyzz{zyyxzyyyyzyyzz{yzyyyzxyxxyyzzzz{{yyyyzyyyzy{yzz{zzyzxxyyxzzyzzzzzzyzyzyzyyzyyzyzzyyxyyyyyzzzyzzyyyyyyyzzyyzz{yzzzzyyyzyzyyzyy{{z{zyzyyyzzzyzzz{zzyyzzyyyyyzzy{zyzzz{zyxyzz{yzzz{zzyyzyzyzy{zz{z{zzyyyzzyy{zzzzz{{zyzyz{yzzz{{z{{zzyyy{yzyzzz{{{z{{yyzyzzz{{z{zzz{zzzyyzzyzzzzzz{{{zzyyz{zzzzzz{z{{zzzyzzzz{{z{{{zzzz{yz{z{zzzz{{{zyzyyyzz{{|{zz{z{{zyzzy{{zzz{z|zzzyyzzzy{{yz{z{zyyyzyzzyzzz{z{z{zzzzzyyzz{z{zzzzzyyyyyzyzzzzzyzyyz{xyyxyyyyyyzzzzyyzyzyyzyzy{z{{yzyzyyzzzzzzzz{zyyyxxxyzzzxzz{zzyyyyyyzxyzzyyzzyyyyyyxyyzzzyyzzzzxyzyyyzyyyzzzzzyzyxyxyyzzzzzzzzyyyzyyxyyyzzzyzzyyyyyxzyyzzyzz{zzyzyzxyyzz{zyzzzyyxzyxyxxzyyy{z{yy{yzyzyzzyzzyzzz{yzyyyzy{{z{z{{yyyyyyzzzzzzz{zzyyzyxyyzyz{z{z{yzz{{zyzyzzzzzzzyyzzyyzyzz{{{zz{zzzzzzyyyzzzzzzzz{zyzzzyyz{{{z{{{z{{yyzzzzzz||zz{zzzzyyyyz{{zz{{{zzzzzyyzz{|z{|{{{{{yy{zzzz{{{{z{{zzyzyyz{|{|{{||{zz{yzzz{{zz{{{{{yyzzzzz{zyz{{{{{{yyyzz{{zzzz{z|{zyzzzzz{zzzz{zzzzzzzyzyz{z{z{zz{yzyyyyzzzzzzyyzzyyyzzyyyyzzxz{zyyyyyyyyzyzy{zzzz{xyyyyz{zzyyzzzzyzyyyzzyyz{yzzzyyzyyzzyyz{zy{yzyz{yyyzyyyzyzzzzzyyyzzyyyzzyyzzzyzyzyyyyzyzzy|yyyzyyyyyy{yzzyz{zyzyyyyyyzyzyz|z{zzzxyyzzyyyzzzz{zyyyyyzyzzzzzyzzzyyyyxzxzzzzz{{{zzxzzzyyz{zzz{{{zyzyyzzyzzyz{{z{zzzzzzzzzzz{zzz{yyzyyzyzyzyzzzzzzyzzx{yzyzz{zzzyzzzzyzyzz{zzz{{zzyzyzzyyz{zzz{{zzzzyyzyz{yy{z{{{yyzzyzzz{{z{zz{{yzzxyyzyz{zzz{{zzyzzzzzz{z{zz{{{{{{yz{{zzz{{y{z{{zzzzyzz{{{{{|{{zz{zzy{z{z{|z{{z{yyzzzzz{{z{{z||zzyzyzyz{{{{zzz{{zzyyzyzz{zz{{{{zzyzzz{zz{z{zz{zzy|xzz{zzzzyyz{zyyxyyzyxzyzzzzzyzyxxyyyyzyzyzz{zyyyzzzyzzzzzzz{zyxzyyyyzzyzzzzzzzyzxxxyxzyzzzyzzyzyyyyzyzyzyy{zzyyyyyxzyyyyzzzzyyyxxxzyyyyyzyzyzyxzyyyyyyz{zyzzzyyyyyyzyyzz{zzzzyyyzwxyyyzyzyzzyyyzyyyxyyyyyyyyz{zzyyyyyxy{zzyzzxxyyzyyxz{{yyyyzyzyyyyyyzyyzzzz{zyzzzx{zzzyy{zz{yyyxyzzyzzz{zzzzzzzzyyyyzyyzzz|{zxyzyzzzzzzzzy{yyyzz{zzzzzzzy{z{yzzyyzzzzz{y{|z{zzzz{yzzyz{{z{{{yzz{zzyyz|{{z{{zzyzzzzyyy{{z{{{z{zzyz{{zz{z{yz{{{zzzy{zz{{z{z{z{zyzyzz{zz{zz{{z{{z{zzzz{z{{zzz{{{zyzz{zzzzz{zzz{z{zyyyzzz{{z{zzz{zyzzz{zz{zyzz{zzyzyyzyzyzz{zzzyyyyyzyxy{zyyzzy{zyzzzyyyzyzyyzzyzyzzy{xzzyzzzyzzzyzyyyyyyzzzzzz{zyyyyxzyyyz{zzzzzyyzyzzyzzzxyzzzyyyyzzyyzzzxyzz{zyzyyyxyyyzzzzyzyyxxyzzxzzzyyyzzzzyyxzxzzyzzyzzyyxzxzxyyyzyy{zzzzzxxyyyxyzzyzzyzyyxxzyyyyyyzzzzzzzyyyzyyyzzzzz{zzyyyzyyzzzzyz{{yyyyyyyzzzyzzzyyzyzyyyyyyz{{zzzzyzzzxzxyzz{yzzzzzzyzzzzyyzzzzzz{yzzyyyyzyzzzzz{{yzzzyzz{zzzzzz{{{zzzyzzzzzzz{zz{{zyyzzzzz{z{{{zz{{yxzzxzyz{{{|z{z{zy|z{z{z|{z{{z{{zzzyzzy{{{{zz{zzz{zzzzy{{zzz{{{{zyzzzyzz|{zyzzz{zzzyzz{z{{z{z{zy{yyzyzzz{{zz{{|z{zyyyzz{zzzzz{|yyzyyyyxzyzzzz{zzyyzyzzyyyzyyzz{zzzyyyyyyyzz{z{yyyzyzxxxzzzzyyzzzyxyzyyyzy{{zz{{zzyyyzzxz{zyyz{{zyyyzzzyzzzzy{zyzyzzyyxyzzzyzzzzzyzyzyyyyy{yzz{yyxxyyyzyzzzyzyzzzyyzzxxyzzzzzzzzyyzyxyzyyzyzz{{zzyyyyxyyyzzzz{yzyzzzxxyyyzyzzzzzxzzzzxyxzzzzzz{{yyzyzyyyyzyz{{z{zzzyyyzzyzz{yzzzyyyzyyyyz{y{zz{zzzzyzzzzz{zy{{zzyz{yyyyyzz{zz{z{zyyyzyyzz{{zz{{zzzyzz{zzzz{z{{z{zz{yzzzy{zz{{{{{{yz|zxzz{z|zzzz{zyyzyzyy{{z{{{zz{{zzz{{zzz{{{{z{|zzzy{yzz{{{{{{{{yzzzyzzzzz{z{zzzzz{z{zzzzz{{{z{zzzyzzz{{{z{zz{{z{zzz{z{z{{{{zz|z{zyzyzzz{zzzz{zzyzzyzyyzyzyzzzzzyzzzyyyyzzzzzyzzzyyyyxyyzzz{zz{yzzxyyyzzzzyzz{{{xzyyyzy{y{zzy{zyyyyyyyzyzyyzzz{zyyxyyyxy{{zzz{zyyyzxzyyyzzzyyzyyyyyyyzyyyzzzyzzzyxzxxyyyyyyzzyzyxxyzyxxyzzzzzzzyyyyyyyxy{zz{yz{zyzyyyyxzzyyzzzzxxyxyyyyyzzzyzzzzzyyxyzxzzyzzzzzyyyyyyzyzzzzyz{{zyzyyyyyyzzzzzz{yyyzyyzyzzz|zzzzzzzzzyzy{zzzz{zyyyzyzzyyzz{zy{{zzyyzyzzyy{zyx{z{yzzyzzyzz{z{z{{zzzyzyzzzy{z{y{{{yyyzzyyxzz{z{{{zzzz{yyzyz{{y{||{yz{zz{{z|{zz{z{{zzzzyyzzzz{{z{{{yxzzyyzzz|{{z{{z{yyzyzzz{z{y{{|||{zz{yyzz{{z{{{{zzzzyyzzz{zzz{z{zyyzzyzzzz{{zzy{zyzyzyzyzyzzz{yzyyxxyxyxyz{yyyyyyyyyyxxyyyyy{zzyzyyyyxyyyyyzyzzzzyyyzyyzyyzzzyzzyyzyyyzxyzyyyzy{zyyxyyyyzyxzyy{yy{yyyyxyxyzyyzyzyyyyyyxy{xxzyzzyyxyyxyywyyzzyz{yyyzxzzxyyzzzzzzyzyxyxyxyyyz{zzzzyxyxyxxyxyywzyzyyyyyzyyzyyyzyxzyyyyxyyyyyyyyzzzzzyyyyyyyyyzyzz{zzyyyyyyyzyzz{zzzyzzzyxyyzzzzy{zzzyyyzyzyy{zz{yzzyzzzzyyyyy{zzz{zyyyyyyyxyz{zyyyyzzyyyzzzzzz{z{{zzy{yyzz{zzzzzzz{yyzyyzyyzzzzzy{{{yzy{y{yzzzzzz{{zyzzz{zzz{zz|zzzzzzyzz{yzz{{z{{|{zzyyyxzzzyzz{zzzzyz{yyzz{zy{z{|{zzzzyzzyzz{zzz{zyyyyyzyz{z{zz{zyyzyzyyyzzzy{zzzzyyyzwzyyzzzzzzyzyyyyyzyyzzzzzzzyzyyyywyzzyyyy{{zyzyyyyyyyyzzzzyzyzzyyyy{yzyyy{yyyzxyyyyzyyyzzyzyzzyzzzxyyzyzz{zyxyyyzyyyy{yyzzxyy{xxyyyzyzyyyzyyzzxyyzyyzzyyyzzyyyzyyxyzyzxzz{zyyzzzxyzzyzzzzzzyyyyyxzxyyzzzzyzzyxyyzxxzzyzz{yzyyyyyyzyzzzzzzzyzzzxzyyzxyyzy{yy{yyzzyzyz{zzyzzyzzzyxyzyzzzyyz{zzzzyzyzyyz{{zzz{zzzyzz{x{{{zz{{{zyyyzzzzzzyzzzy{zyyy{y{{|z{zzz{zyzzy{zzzzzz{zzzzzyyzyyyzy{zzzzzzzyzz{zzzz{zz{||zzzzzzzzzz{{{{z{z{y{zy{z{y{zzz{{|{zzzzy{zzz{zz|{{yyzzy{yyz{zz{{z{z{z{zzzzzzz{{{z{{zzyzyzyz{|zz{zzzzy{zyz{z{{yz{{zzyzzzzyyz{yyyzyyyyyzyyxyzz{zzyzyzyxyyyxxzzzzzyzzzzzxy{xz{zzzzz{zzyyzyyxyyyz{yzzyzxyxxxzxyy{yzyyyzzzyyyxyxzyyzyzyzyzyyyyyzzzyyyyyyyyyyyyyzzzzyyyzyyyxyxyyyzzyzzzzyyyyyyxyzzzyzyzyzzzzyyyzxyz{zzzzyxyyyyxxyyyyyzzyyyxyyxyxyzyzyyz{yyzxyyyyyzzzzzzyyyyyyyyyyzzzyzzzyyzyyyyzzzyyzz{zyyzyyyyyyzzz{yzzzzzyyxzzyzzyz{yzyyyyzyzyzzz{zz{zyyyzyyyyz{yzz{zzyyyzzzyyzzzzz{zzzyzy{zzyzz{z{{{zyzyzyyyyzzzzz{{zzyzyyzyy{zz{zzz{yyzxzyzyz{zz{{z|yxzzy{zzz{z{z{|{zzyyzzzyzzzzz{{zzyzzyzzyy{z{{{{zzyz{zyyzzzz{{{{zzz{yzyzyz{zzz{zz{yzyzyyzzyz{zzzzyyzyzxzzyyzyz{zzyyyyyyxyyyzyyzzzyyxyyxyyyz{zzzzyyyxyyyxyzzzyz{zyyyzyzyyzzzzzyz{{xzyyxzyyzzzzzzzzzyyyxyzxzzyzyzyyzyyzyyyzy{zyzyzzyzxyyyyyzzyzzyyzyzxxzxyyzzz{yz{zzyyzyzxyzzyzzyzzxzyyyzyxzzzzyzzzzyyyyxyyyyxyyzyyyyyxzyyyy{yyzzzzyzzyzxyyxyyzzzzzzyyyyyzyzzzzzz{zyyzxyyzyyzzy{zyzyzzzyyzyz{{zyzzzzzyzzzyzyyzyz{yzzzzyzyzy{{zzzz|zyzyyyzyy{zzyyzyzzzzyzyzyy{{{{zzzyzzzzzzz{zz{z{zz{yyzz{yz{{{zzy{{{zzz{yz{{{{{z{{zzzzyyz{zz{{z|{{zzzyzyz{zz{{zzz{{zyyzzzzzy{zz{zz{zzy{z{yzyz{zzyz{{zxz{zzz{zz{z{{z{z{yzyzzzz{{{z{zzzyyz{zyyzzz{{zzyyyyyyyzzz{zzzyyyyzyyyyyyyzzyz{zyyyz{yzzyy{zz{z{yyyxyzzyzzzzzzzyyyzyzzyzyzz{z{z{yxyyzzzxzyz{yzy{yzyyzyyzz{{zzzzzzyyyyyyzzzyzzzz{zxyyzxyzzzzz{{yzxyzyyyyyzzyzz{zyzyyzyyyyyzzzyzzzyzzyyxyyz{zyzzz{zzzyxyyzzzzz|zz{zyxyzzxwyzzyy{zzyyzyyyyyzy{{zzzzyzzyzyzzzz{z{zz{z{xyzyzyzzzyyz{zzyyzzyzz{zzz{zz{{zyzzyzyyzzz{zzzzzyzyxyzzz{zzzzz{zyzyzzyzzzzzzz{{zzzyyyyzzz{{z{{yyzyzzzz{{zz{zz{zyzzzyzzz{{zz{zz{z{z{zzyz{zz{{{|{zzzzyz{{{{{z|{{zy{z{zzzz{{{z|{{zz{zzyzz{{zzz{{{{yzzzzzz{z{z{|{z{zzzzyzz{{{|{{{{yzyzzzzz{{{z{zzzzzzyzzzzz{y{zzzyzzzz{yyyzzzyzzzyyzzzzzxyyyzzz{zz{zyyyyyzzy{yz{z{{yxyzzyyzzzzzzz{y{yyyyyzyzyzyzzz{yzyyzyyzzzzzzyyyyzzyyxyy{zzzzzzzzyyyxyyyzz{y{zzzyzyyyy{zz{zz{y{yzyyzyyzxzzy{zzzyyzxyyxyzzzzz{{zyzxyzyxyyzzyyy{zzzyyyyyyyyyyzzzzzyyyyyzyyzyzzzzzyyzyyxyyzzzzz{{{{zyx{yyyyzzzz{zzzyyzyzzyzzzzyzz{yy{zzyzzzyzz{z{zyyyz{yzzyzz{{zz{yyyy{yyy{{{zz{{z{yzzzzyzz{{z{{zzzzzyzzyyz{z{zzz{{zz{zzz{{{z{z{{{zzzzzy{zz{{{{z{z|yzy{zzy{|zz{{{{zzzzz{zzyz{z{{|{{zzzzzzz{{zz{{zz{y{z{z{y{{zzz{z{zzzzyzzz{zzzzz{{zzzzzz{{z{{z{{{{z{zzzz{z|{{{{z|{zzyyzzyzzzz{zzzzzzzyzyzz{z{{z{yyyyyxxy{xyz{zzyzzzyyyyyzz{zzy{z{zzyyzzzzy{{zzzzz{yyzxyyzzyzz{zzzzzzzyxx{yzzzz{zz{zzzyxzyyyzzyz{y{yy{yyzyyzzzzy{zzyyzyyzyzyyyy{zz{xyyyzyyzz{zzzz{yyzzyyyyzyzzzzzzzyyyzyyyzzzyzzzz{zyyzzyyy{zzyz{zzyzyyyyyyz{zzz{zzyyyxz{yyzzzzyzz{zyzxyy{yzzzyzzz{yyzzyyyzzzzzyz{zyzzzzyzz{z{z{{{zzzzyzyzz{zzz{{zzzzzyyyzz{{yzzz{zzyzyzzzyzy{zz{z{zzzy{{{z{y{{z{{{zzyzzzz{z{{{z{{{{zzzzzzzz{z{|zz{{zzyyz{z{{{zz|{{zzzzz{zzz{z{{{zzzyzz{{{yz{{{zz{{zzz{{zy{zzz{{{{{{zy{z{z{{{z{z{|{{{z{{yz{zzz|{{||z{zyzz{xz|zz{{zz{yzzyzyyz{{zzz{{zyyy{yzz{zzzz{zyyyxzzyyyyzzzzzz{yxyyyyyyyzz{z{{z{yyy{yyy{zzzzzzzyyyyzzxzyzz{zzz{{yyyxyyyzyzyyzzyzyzyzyyyyzyzz{z{zyzyyyyyzx{xzy{zyzzyzyxzzzzzz{zzxyyyzyyyyzzzyzyyyyzzyyyyzzzzz{zzzzxyyyyxzzzzy{{zyzyzxyyyyzzzz{zyxyzxzzyyy{xzz{zzyyzzyxzxyyzyzzyzzyzyzyyyzzzzzzyzyzzzzzyzzzzzzz{zzyzyzyyzzz{zzzzzzzyzzzzzyzz{z{{{yyzzzzyz{z{z{{{yzyzzyzz{{{zzz|zzzzzyzzzyz{|{{{{zyzzzzzzzzz{{z{{zzzyzzyzyzzzzz|z|{zzzyzzzz{zzzz|zz{{zzzzz{{zz{{zz{zzzzzyzz{{{{z|z{{zzzyzzz{{z{{z{zzzzzyzzz{zz{z{{{zy{zzzz{zzz{zy{z{zzyzyzz{z{z{z{z{yzyzyyz{zz{{{{zzzyzyy{zzzz{{y{yzyz{y{zyz{yzz{{zyyxyyyzzyzzzzzzzyzxzzzyzzzyy{z{zyxyyyyzyzz{{z{zyyyyyyyyzzz{zzzzyyyxzzyyzyzy{{z{zzyyzzzzzz{zzzzzyzxyzyzzzyz{zzzzyyxyzyzzyzzyyzzyyyyyyyyzyyyz{yz{zzzyyyyzy{zzzz{yyyxyyyyyyyyy{zzz{yyyzxyyyyx{zzzzyzzyzzyyz{zyzz{{zy{yyxzyzzzzyz{{zyyyzyyzzzz{zzz{yzyyxyxzzzzzzz{zzyzyzzzxyyz{zz{{zzyzyzyyzz{zz{{zzyxzzzyz{zzzzzz{zzzzyzzz{{zzz{{zzyyz{zzzzzy{z{z{{zzzzz{zz{z{{z{z{zyz{zzyz|{{{|{{{zzz{{zyy|{zy{{y}yz{yz{z{{zz{{{{zzz{zz{z{{yzz{z{zzz{zzzyzzyz{z{{{{zz{zzzz{|{{{z{zzzyzzyyyzzzz{{{zzyyyyyyz{z{yzzzzzzzyyzyyzzzzyzzzzyzyxxxyzyyzy{zyzyyyyzyzzzzzzz{zzzyzzyzzyyzzzzyyyyyyxyyyzzzyyz{zzyyyyzyzyyy{zzzzyyzzyyyyz{xzzz{zyyyyzyzzyzzzyzzyzyzyxxxyzyzyzzzyyyyyyyxyzzzyyyzyyzyyzxyzzzyzyyzzyzxxyyzyzyzzzzzzzzyxyyyyzyyz{{yzyxyxyzxyzzyzzz{xzzzyzzyzzzzy{|{yzyzxyzzyzy{y{zzyyzzyyzzzyyzzzzzzyzzyyyzz{zzzz{zzyyz{yyzzzzz{yzzyzzyzyxyyzzzzz{zzzzzxyzyzz{zz{{zzzyyyzyzz|{{z{{{yzzzzzzyz{{zz{{|yzzzzyyyz{z{zy{zzzzz{zzz{|{zz{|zzzzyzz{zzz{z{{{{{yzyyyzzy{{z{{z{zyzzyzzz{zzy{{{zzyzzzzyz{{zzz{z|zzyz{z{y{z{zzzz{z{zzzyzzz{{{yz{zz{zzzzzyz{{zzz{zzzzxz{yzzy{zzzzzxzzxyxyzy{{x{zzzyyzxyyyyzzzzzzzzyyyzzyzyzzzyzz{{yyyxyyzyyz{zyz{zzzzyyxyxzyzzyzzzyyyyzyyyyzzyzzzzyxzyxyyx{zyzz{yzyyxzzyzzyzy{yzyzzxyyyyyyyzzzxzzzyzyyxyzzyzzzzzzzzyyyyyxyyzz{zzzzyzyyyyyzyyxzzzyzzzyyxyyzyzyyzz{yyyyxyyyyzzz{zyz{zyyzyxyyzzzzzzzzzxzyyz{y{yz{yzy{yzzzyyzyz{{{x{{zzyyyzxzzz{zzzzy{{yzyzzyzzzz{zz{{zyzyyyyy{{zyyzzzzzzy{zzz{z{z{zzzzzzzzzzz{{y{z{z{zzz{zyxyzz{{z{{{zyyz{yzyz{{zzz{{zz{yyzzzzzzzz{z{{y{{z{zzz{y{{{z{{yz{{zzz|z{zzz{{zyzz{z{zzzz{{{{{|zzzzzzzz{z{{{z{zyzzy{yzz{{zzzzzzzzyzzzzzzzz{zzzz{zyyx{zzyz{yzzzyyyyyyyxyzyyzzzyyyxyyxyyzzzyyyzzzyzxyzxyzzyzzzzzzyyyyyzzzzyzzz{zzyyyyyxxyy{yz{zzyyzyyxyyyzyyzzyzzyxyyyyyzzzyyzzzyyyyxzyxyzzyyzzzyxyyyyzyy{yzzzzyzyxzyzxyyyzzzzzzzxzyyzxxyzzzzz{zyyyyxyyxxzyzzzzyyzyzzyyyzzyzzzzzyyyzzyzxyyzyzy{yzyyyyyzzz{{zzzz{zyzyyyyyzzzz{{zzyyzyzzyzyzzzz{{{zzzzyyyyxzzzz{zzzyyyzxyzzzyzzzzzyzyzzzyzzzzyz{zzyzzzzzyyyz{z{{{zy{{yyzzyy{{zzyzzzzz{yyzyzzz{zz{{zzzyzzzyz{{z{{zzzzz{zzzzzy{{z{{{zzzzyzzyz|{{z{|{{zzzzyyzzz|{{|{zzyyxyzzzyzz{zz{{{{zz{zzzz{zz{zz{z{zzzz{{zyzy{zz{{zyyzyzyyzzzzz{zyy{yzyzxzz{zzyzyzxxxywyxz{zyz{zzyzyyxyyyyzyyyz{zzxyyzyzyyzz{zyzy{yzzzyzzzyzzyy{zzzyyyyyyzyzzy{zzzxyxyyzyyzzyyzzzyxxyyyyxyy{yyzy{yyzxyyxyzzyzyzzyzyyzyyyyzyzz{yyyyyyyzxzyzyzzzyzyxyzyxyxxzzzzzyyzxyyyzxxyzzyyzzzyyyyxyyzyyyyzzzzyzyzyzyyyzzzyyzzz{zzxyyyxzzzzyzzzyxzzyyyyzzzzz{z{yyzyyyyz{yzyz{z{zyyzyyzzyyzzyyz{yzyyzyyzz{zzzz{zzyyyyyxyzyzyz{{zxyzyyyyyzzzyzz{zzz{zzzzzzzzzyz|{zyzzzyzxy{z{zz{yyy{{yyzzzzz{|z{{zzzzzzzyzzz{yzz{{zzzyzzzz|z{{{{zzzzzzyzyzzz{{zz{zzzzzyzx{z{zz{{|zzz{zzyz{z{{{{z{zzzz{zzyz{zzy{{zzzzzyzzyzzzzzz{zyzyxzyyzzzz{zzzzzyxxyxyxyzzyz{yzzyyyyyzxzyzyzz{zyzzyyyyyyz{zzz{zyyyyzzxzzzzyyyzzyyzzyyzyyyzyzzyyyyzyyyyyyzzyyyzyyyyyyzzxzzyyzyzzzyyxxzyxyzyyzzzzzyyyyyyyyzyzzy{yyyzyyzyyyy{{zzxyzzyyyyyyzyzzzzzyzxyyzyzxyzyzyzzyyzxyyyzxzyyzzzzzxxzyyyyzyzzzzy{zzyzyzzzyz{zyzzz{yyyxyyzzzzzyzzzzzzyyzyzyzy{yzzz|zzzyyyyyyz{zzz|zzzzyzyyyz{zzzz{zzyyzyzzzzzzzz{{zzzyyyyzzzyz{zz{yzzyzzyzz{{{zzzzzzyy{zyyx{{zz|zzzzzzzzz{y{{|zz{{{yyzyzzzz{z{zz|zz{zzzyzzyz{{{{{{{{z{zzz{z{z{zz{zz{zzzzz{z{|z{zz{{{{z{zzyzz{zzzz{{zzzzzy{y{|z{zz|zy{yyyyyyzz{{zz{yzyzyzyzzzz{zzzzyyyzzzxyyyzzyzz{{yzyyzxyyzyzz{zy|zyyyzyyyyyzzzz{zzzzzyyzyyzz{yzzzzyyyxyzxzyyyzzzzzxzyxyzyy{yyyy{zzyyyyyyyxyzzy{zzzyzyy{xyzyzzyzzzzyyxyyzyzzzzyyzzyyyzxxzzyzyzzy{zzyzyyzyyzyyzyzz{zyyyyxyyyzzzyzz{zzzyzxyyzzyzyzzyzxyyyyyyzyyzzzzzyyyyyzyzyzzyyz{{yyyzyxzy{zzyzzz{zzzyyzyyzzzzzzz{yyzzzzyzy{{zzzzzzzzyzyyxzy{zzzzzzzyzz{yyzzzzz{zz{zyyzzzyz{z{{zz{zzyzzzzzzz{{zzzzz{zzzyyyz{yzzz{{zzyyzzzzzz{{{{{zzyzzz{zy|zzz{{{zzzzzyzzzy|{zz{{{zyzzz{z{{z{{z{{z{yzz{zzz{{{zzz{{{{zyzz{{y{z{z{z{yzzzyzzzzzzzz{zyzyyz{zyyz{z{zyzzyzyyzyzzzyzz{z|zyzyzyyzyxzzzy{zzyyzzyxzyzyzzz{y{yyxzyzzyzz{zzzzzzzyyxyyzz{yyzyzzyzzyyyyxyzz{zzy{yyzyyyyyyyzyxzzyyyyyyxzyzzzyyzzyyyzyxzyyyyyzxzzyyyyxywyyyyzyyyz{zyxxyyxyyzzzyzzzzzzxyyyzzzzzz{zyzyzyyyyyyyzyzzzzyyyy{yyyyzyyyzxzyyzyzyyyyzy{zzz{zyyyzyzyzzzyz{z{zyzzxyzzyzz{yy{zy{zyyzzyzzzzzzz{yyzyzyzyy{zzzzzz{yyyzzyxzz{zz{{zzyyzyyyyz{{{{zzzzzzzzzy{zy{{z{z{y{zzzyzy{{z{z|z{yzyyzzzyyzzzz{z{zzzyzz{z|{z{z{zz{zyzyzzzzzzz{zz{zzzy{zzzz{z{{|zzzyz{zzzy{z{{|z{{zyzy{zz{{{{z{{{zxzyzzz{{z{z||z{{{{zzyyzyzzy{z{zz{zzyzzzzzzzzz{{zyz{yzxzyyzzzzzzzyyxzyyyyzzzzyzzzxyzxyyyz{yzzz{z{yy{yyyzyyyzzzz{zzyyyzzyyzzzzzyyzzyyyyzyzzy{zzyzzzyzyxyzzyzyyzzzzzyyxyzzyzzzyy{zzyzzyxyyzyyyyzyyzyxyyyxxyyyzyyyzzyyyyyyxyyyzzzzyzzyyzyyxyyy{zzyzyyyxyyyyyyyzyzyzzzyxyyyyyzyyzyzz{zxzyzyyyzzzyzz{zzyyzyyyyyzzzzz{{{zzzzyyzzyzzz{{zyyyyxyyyzzzyzzz{zyyzyyyyzz{zz{{zzyzyyyyzzz{z{yz{yzyyyzyzzzzzz{zyzzzzyzy{z{z{zz{zy{yzyzzzzzz{z{z{{yyzzzzzzz{z{z{z{yzyyzyzz{zz{{{{{zz{zy{zzzzz|{{{{zzyyzzz{{{z{z{{{zzzyyz{z{{{{|{{zzzz{zz{{zyz{|z|{z{zz{zz{{{{{{{{zz{xyzzzzz{zz{{{{zyzxzzzyzyzzz{{yzzyyzxyzy{zz{zyyyxyzyyxz{{yyzzyyyyyzyxxzzxyzz{zzyyyyzzxzzyz{yzzyzzyyyyzzyyyzyzzzzzyyyyy{zzzzzzyyyzyyyzzyyzyz{zyzyyyyyyzzyzyyyyzyzxyyzzxzyzyzzzzzyyxyzyyzzzzyzzzyyyyyzyxyz{{yyyzyyzyxxyyyyzzzyzzyyyyxxzyyzyyzzzzzyyyyzyyyzyzzyzzyyzyy{zx{zzzzzzzzzzyzxzyyzzzzzyzyyzyzyzyzyyzy{{z{zyzyzzyzz{zzz{zzyzzyyzyzzz{zzzzzzyyzyyzzyzzz{{yzzyzzzzzyz{zzz|{{yzyyzyzz{{{z{{z{zzzzzzzz{{{zz{{zzyzzzyzzzyz{z{{zy{yzz{z{{{zz{{zzyzzzzz{yyy{{{{z{zyyzzzzz{zzz{{{zzz{yzz{zz{{z{{{zxzzzz{zyz{{z{{z{zzzzyz{zzz{{{{{zzzyyyyzz{zzzz{{yyyyzz{yzzzzz{{{zyyzzyyxzzz{z{yyyyyyzxzxy{{yzzzzyyzyyyyyzzzzzzzzyyyyyyxyzzzzyz{yyyyzyyyyyyzyzy{yyyyyxyzyzzzzxzz{zwyyyyyyyyzy{yyyyyyyzyyyzzzxyzzzyyyyyyzxyzzzyzz{yxxzxyyyyzzzzzyyzyyyxyxyyyzyzzzzyyzyxyxxzxzzzzz{yyxyzxzxyzzyyzzyzzyzyyzyyzyzx{zzyxyyxzyyy{zzyzy{zyyxyyzyzzzzz{zzyyzyxwyyz{zzzzzzzzyyyyzzzzzyyyzzyyzx{xyyyy{yy{yyzzzyyyyzzzzzzz{yzyzyyzzyzzyz{{zzzyyz{yyzxzz{{{zzz{zzzy{zzzz{zz{zzzzyzzyyzzz{z{{yzyyy{yzy{|{{z{{{zyzyzzzy{{zz{z{{{zyzyzzyz{{{zz|{{yz{xzzzzzzz{z{{zyzyyzyzzzz{zz{{zzzzzzyz||{{zz{zzz{zzyzyzz{zz{zzzzyyyyyzz{zzzz{yyyzyzyzyyzzyzyz{yyyyxyxyyzzyzyyzyxyyxyyyyyzzzy{zyyyyyyxyyyzxzz{z{zzyyyyyyzzzxyzzzyzxxxyxzyzzzzzzyxyyyzzyxyyyzzzyyyyyyyxxyyyyyzzyyyyyzzzyyyzxzzzzyyyzyzyxyzy{yzyyyxxxyyyyxzzzyzzzyyzyxyzyxzzzyzzzzyyyyxzyyyzzyy{zyzzyyxyyyzyyx{zzyyyyzyyyy{zyzzzzyyyyzyyyyzzyzzzzzyyyzzzzy{zzy{yzyzzxxzzyzzy{zzzzzzzzyyyzzzzzyzzyzzzzyyyzzzzzy{zzyyyyzyyyzz{z{zzzz{zyzzzxzzz{{{zzzzzzyyyzzz{{{zz{zzzyzyzyz{z{{{z{zyzzxzzyz{{z{|{{yzz{z{yz{zzzz{z{{zzyyzzzy{z{z{{z|yz{yzy{zzz{z|{zzyyzzzyzyzzz{z{z{{yzzzzyzzz{z{z{{yyyzyz{zzzzz{yzzzzyyzzyz{zz{zzzyyyyyyyy{yzz{yy{{yyyxxyzyzyzzzzyzxyzyxyzzyzyyzyzzyxxzzyyyzzzzzzzzzzzzyyzzyzzzz{zzyyyxxyyyyzzyyyzyyyyyyxyzzzxzzxyzxyyyyxxzyyyyyzzyyyyzyyyyyzzyzyzzzyxyxyyyyzzyzzyyyyzxyxxyxyzz{yzzyzyyyzyxyyzzyzzzxzzxzyyyzzyyzzzzzyyyyyyyzyyyzzyyxyxyyyyyyyzy{{{yyxyzxzzyzyzzzyzzyzyzxzyzyz{z{y{yyyz{yxyz{zzzyz{yzyyzxyyyzz{y{{{yy{zzyzyzz{zy{zzzxzzzyxz{{zzyz{z{zyyzyyyzz{zz{z{yzzzyy{yzzz{yzzzzzzyzyzyy{yz{{z{zyzzzz{zzzzz{{z{zzz{zz{zz{{z{{zz|zz{yz{z{|y{z{{{zzzyyzzyzzzzzz{z{yzzzyyyzzz{zzzzzzzzzzxzzzzzz{{zzzzyyzyzzzzzz{{zzzzyyyzyzzzzyzzzyyzyxxxyyz{z{yyzzyyyzyyyyy{zyyzzxyyxxyyyyzyyyyyzzzzxzyxyzyzxzzzzzzzywzyzzzzzyzzyzyyxyxyxzzzzxzz{yyyyxxyxyzyy{zzyyyyxyyzyyzzyyzzyzyyyzyyyzyzyyyyyyxyzyyyxyyzzzzzyyyzzyyzyyzyyzzyzzxzyxxxxyzzyzyzzzzzyzxzxzzzyzzzyyzyxzyxyy{yzzz{zzyzzzyzxyzz{zzyzzyyyyxzyzyzyzzz{yyyxxyyy{zzzzzz{yyyzzzyyzzyzyzzzzyzyyxyyyy{{zz{{zyzyyzxyyzzzzz{zzyyzzzyzzzzzzz{z{yyzyzzz{z{zzz{{yzzyzzyyz{z|{zz{yyz{yyyzy{z{zz{{{yzy{yyzzz{yyz{{yzzy{{zzz{zz|z{{{zzzzzzyz|{zzz{z{zzzyyyzz{z{zzzyzyz{y{yy{z{zz{z{zyzzyzzyzz{{{{|{zzyzyyzyyzz{zz{zyyzyyyzyyyzzzz{zyyyyyxyyyz{yzzyyzyyyxyyxyyzyzzzzyyyyyxyyzyzyzz{zyyyyyyyyzxyyyzz{zzyyyzyyzyz{zzzyzyyxxyyxyyyzzzzzxyyyyzzyyzyyzzyzyyyyyyxyyy{yyz{zzyyyxyyyyzyzyzy{yxxyyyyyzzyyzxzyyyxyxyxyzyyz{yzzyzyyxyxyyyyyyzzzzyyyyxyxzyzzzzyyzzyxyxxyxyzyzzyyyyyyzzyyzyzyyz{zzzyyzyzyzz{yzzzzzzyzyxyy{zzzzzzzzzyzyyzyzyzzzzzzzyyzyyzyzzzzz{{zyyzyyzyxyz{{yzzzzyyzxyyzzzzzzzzzyzyzzzyz{yz{{zz{xyyzxzzz{yz{{{zzzzzz{yxxz{zzz{zy{zyyzzyzz{{zzzzz{zzzyzzz{{{y{|zzzyyzzzzz{{z{zz{zzyzzzyzzz{{|zz{{yzyyyzzzz{{zz{|{zzzzzzyz{z{{zz{{{zzzyzzyyzzzzz{{zzyyyzzzyzzzzzz{zyzyzyyyyzyzyzyyyyyyyxyxyzzyzyyzyyyzyyyyzyzzzyzzyyzzyxyyzzz{z{zzzz{yxyzyzzzzyzzzyyyyyyxyy{zzyzyzyzyyyxxyyyyyyzz{zxzxyxyyyxzyy{zzyzzyyyyyyzzyyyyzyyxxyyzyzyzyzy{yzyzyyzyxyzzyzzzzyyyzyyxyyyyzyzzzyyxyxxyyzzzyyzyzyzyxzyxzzzzzyzzyyyzyyyzxzzzyyzzyyzzzyyyyzzzyzzz{yxyyyyyz{yz{zz{{zyxzzyzyzzzzzyzzyyyyyyzyyyz{zzzzyyyzzzyy{yzyyzz{yyyyyyzyzzzzzzzyzyzyyyyzzz{{{zz{yzyzz{{yyz{{z{{{{zyzzyyxz{zzzz{zzyzyzyzyz{yz{z{{yzzzyzzzz{z{{z{{{yzzyyyz{{{zzy|z{zz{yz{z{z{{z{{zzzyzyyzzz{z{{z|z{z{zzyzyz{z{z{zzzyzyzyzzz{zzz{{{{zzyzzyzz{zzzzzzzzzzyxyyyyzzyyzzyyyzyyyxyz{yyzzzyyxxyyxy{zyzzzxzyyzxyzzyzyzzzyzzzyyyyzzzzzzzyy{zzyyyyyyxyyzzyyz{yyyyyzyxyyyzzz{zzzyxxyyxyzyyzzyyyzzyyyxyxzyzzzzzyyyyxxxyyzzyxzyxyyyxyyxzyyzz{zzyyzyyyyzxzyzzzzyzyyyzyyyyxzyzyzz{zyyxzyyyxzzyyzyzyyyzyyzyyzz{zz{zyyzzzxzyzzzyyyzzyyyyxzzzyyzyzzz{zyyzyzzyz{{{{zzzyzzzyzzyzzzyz{z{zzzzyyzyzzzyyz{zzyyzyzyyzz{zzzy{{zzzzyzzzz{{{{z{zzzyyzz{zz{yz{|zzzzzyzzyz{{z{{{z{yyzzzzy{{{z{{{{{z{zzyzy{{zz{{{{{zzyyzzy{{|z{{{z{{zzzzyy{zz{{{{{zzzzzzzz{zz{z{z{|zzzzzyzzz{{{z{zz{zy{zzyy{zzz{|zzyyyzyzzz{zz{zyzzyyyyyyyz{zzzyzyxxzyzxyyyzzzzyzzzzyyyyyyyzyyz{zzzzyyxyyzz{zz{{zz{yzyxyxyzz{yzzzzzyyyyyxyyyyyyyy{yyzyyxyyyzzyzzzyyyyyxxyzzzzyzzzzzyyxyyyyzzzzzyzzyyyyyxyyyz{yyzzzzzyyxyyyzyzyyyzzzyyyyyyyzzzzzzz{zyyyyyzxyzyzyzzzzyyyyyxyzzyz{zzzzyyyzzyyyyzzzz{{zyxxyzyyzzxz{y{{zyyyyzzzzyzyyzzzyyyyyzyyzzz{zyzzzzyzzyyyzzzzyzzzzyyyzyyyy{{zy{zzzyzzzyyyzzzzz{yzzzyyyzzzz{{zz{{zzzyy{zz{z{zzy{{zyzzyyyzyyzzz{zzz{zzyyzzzz{{zz{z{{zzy{zz{z{zz{zzz{yzzzyzzz|{{{{{{zxzzyzyz{zz{zz{{zyyyzzy{zz{z{zz{zzz{zzyz{zy|zzz|yzyyyyyyzzz{z{{{zzzzzyyyyzz{zz{{zzyyyyxyzyz{zzzzzyzzywyyzyyzzyzyzyyyzxyyzzzzz{zzzyzxyyxyyyzyzz{zzzzxyyyzyyzzyzzyzzyzxyzy{yzzyzyzyyyxyyyzzyzzyz{zzyyxyyyy{yzyyzyyyxzxyyxyyyy{yz{{yyxxxyyxyzzzzyyyyyyyyyyyyxzzzyz{zzyyyyyxzzyzyzzzyyzywyyyzyzyyzzzyyyyyyyyzyyyyzzzyyyyyyyyzyzzzzzzyzxyzyyzy{{z|z{{zyz{yyyyyzzz{zzzzzzyzxzzzzzzzzzzzzzyyxyyzyzzzz{{xyzyzyyyy{zyyzz{zyzyzyzy{{zy{zzyzyzyyyz{z{{{z{zzyz{y{yzzz{zzz{z{yzzzzyyzz{z{zz{{zyz{yyzzz{{{{|{z{yyzzyzyyz{y{{zzzz{zyyzyyzz{{{{z{y{zzyzzzzzyz{z{z{yzzyzz{zz{z{{{zzzyzyzyzzzz{{z{yyzzzz{zzyz{zz||zzxzzyzyzzyzzzz{yzzzyxyyyzyzyzyyyyxyxyxyxyzyyzzyzxzyyxyy{zxzzzzz{yyxxxyyzyzzyyzzyyzyxyyyyzzzyyzyyzyywxyxzzzzz{yzxyyzzyyxyzxyyzzyyyyyyyyyyzzzyyyyyyzzyyzyyyyzxzyzyzwzyyyzyzzyzyzyyyyxxzyxyzzyzyyzyxyzxyyyxzzyyyzyzyyxxyxxyzyyyzzyyxyyyyyyxyyyyzz{yxyyxxyyzyzzzzzzyyxyyyxzzzzzyz{zyxyyyxyzzzzzz{z{yyyyxyyzyzzyyyzz{zzxzxxxzzz{zzz{yyzyyyyy{zzzyzz{yyxzxyxzzzyzzzzyyzzzyyzyzzzz{zzy{yzyyyzzyzz{zz{{zzzyyyyy{{{yzzz{zyyyzyzzz|z{zzzzzzzy{{zyzzzzzz{{zyyzyz{zz{{{z{{zzyzyyzzz{{zyzz{{zyxzyyzzzyz{z{zz|yzyzzzzz{z{y{zzyzyyyyzyz{z{y{z{zzzyyzyyzzyzz{zzyxzyzzzzyzzzz{zyyyzyzyyyyyyzyyyyzyyzyxxxyzzyzzzzyyyxyyyyzzyzyz{zyyyyyyzzyxzzxz{zy{yxyyzxyyzzxyyzzxzzyyzyyzyyyzzyyyyxyyyxyyyyyyzyyyyyyyyyyxzyyzyzyyyyyxyyyyyyyz{yyyyyxyxyzzzzz{zzyyyxyyyyyzzxyyyyyyyyyzxyzyzzzzyyyyyyxyyyzzyzyzyyyzzyyzyy{yyyzyyzyyyyyzzyzzyyzyyzyyyyxxyyz{y{zzzzyxzyyyyy{zyzzz{zyyz{yxyyxyz{yzzzzzzyyzxyz{{zzzzzyyyyzyzzzzzyz{z{zzzzyzzzzz{{yzzzyzzyyzyzzyzzzz{zyyyzyyyyyyzzzzz{zxyzyyzz{{{zz{{zzzzyz{zx{zyz{y{zzzzzyz{zz{z{{{{yzzz{zyzz{z{z{{z{{zzyyyzzzzzz{{z{{zyyyzyzzz{zz{{{zyzyzyzyzzzzz{{{zyzzzyzzzz{zy{zzyyxxyyzxyzzzzzyyzyxyxyyyxyzyyyzzyyyyyyxyxzyyzyzzzyxxyyyyzyzyyzzzzyzyyyyzyzzzzzzyyzyxyxyxyyyzyx{{zzyyyxyxyyyyy{yzyxyzyyxzzzyyzyzyyyyyyxxxxyzyyyzzyxzzzyyyzzzyyzzzyyxyyyxyzzzyyyyyzzyzyyyyyzyyzzzzyxxyxyyxyyyyyzzzyyyzyxyxyyyzzyzzzxyyyyyyzzyyyzzzyxyyyzyyyzz{yzzzyyyzxyxyzzz{zzy{yyz{yyyzyzzzzyyzzzyyyxzyxzzzxzzzyyzzyzyz{y{zzzzyzyyzzyyyzz{zzzzzzyyyzzyyxz{zzz{{zyzyyyyyz{zzzzzzzzyyzyzz{zzzzzzzzyyz{yzzzzzz{yzzyy{z{yzzz{zzz{zzzzzyzyzyz|yyz{{{{yyzzyyzy{z{{z{{zyzyzzzzz{z{{z{{zzzyzzzzz{zz{zz{zzzyzyzzyzyyzzzzzzzzzzyyz|zzzy{zxx{xyxyyzz{zzyzzyxyxyyxyyyzyzzyzyyzxyyxyy{zz{zzyzzyxyzxxzzzyz{zzyyyzxyxyzyyyyyzzyyyyxyyyzyyzzzy{yyyyyyyyyzyyyzzyzyyyyyxyyyzyyzzyyyyxxyyxyzyzzyyzzxxywyzyxyyzyyzyzxyyxyxxxyyyzyzyyyyyyyyxyzzxzz{zzyxyyyyyyyyyzzyzyyyyyyzyzzxyzzzyyyyyyyxxyyzzzz{zy{yxyxyyyzzyzyzzzxyyyyyyz{zzy{y{zyzyyxz{zzyxyzzzzzxyzyyyzz{zz{yzzyyyyzyyzz{yyzzyyyyzyzyy{zz{zzz{zzyxzzyy{{zz{z{zzyzyzyzzzzz{zz{zzzzyzyzyzzz{{yzyzxyyzzyzzzz{|{{zzyyyyzzzz{{zzz{zzyyzyyzzy{z{zz{yzzzzzzzzzzzzz{|{zzzyzzzzzzzz{{{|zzy{zzz{zzzzz{{zyzzyz{zy{yzzzz{|yzzyzxyyyz{{zyyzyyzyyyyyyyzzzzyyyyxxzzyxyzzzxyyzyxyyyyyyyzzzzzy{yxyxyyyx{zzzy{zyyyzyxyyzzyzzyzzzyzzxxxyyzyyzy{zzyzyyxyyzxzzyyz{xzy{yyyxyzyzyyzyzyyyyzyyyyyzyzyyzyyyxyxyxxyyzyzyzxyyxxzxxyyzzyyyyyxyyyyxyxyzyyzzzzyzyyxzxyyyyyzzy{xyyxyyyyyyyyzyzyyyyzxxyzzz{yyzyzyyyyxyyzzzzyz{zyyyyyyyyyzzzyzz{yyyzyzzyzzz{zzz{zyyzzyzzz{zzzz{zzyyyyzxy{zzzyyzzyyzyyzyyzzyzz{zzyxzzzyxzzzzzyzz|yzzyzyzzzzyzz{{{zzyzyzyyyzzz{{zyzzzzzxyyz{zz{zzzzzz{yyzyzzz{{yzzyzzyzz{zzzz{zz|zzzzzyyzzzzzzzz{{{zzzzzzzz{y{|z{zzzzzyzyz{{z{zy{zy{yyzyyzzzz{{z{yyzzyzyyyyzzzy{zzzyyyyyzyxy{yzz{yyyyxyxxyzyzyzyzzzyxyzyxyzzzyzy{zyyxxyyyyyyyyz{{zzzyyyyyyzyz{yzzzyyzyyxyxzzzzyyzzyyxyxyyyyyzyyyzzyzyxxyxyzxwyyyyzyxyyyzyyyxxzyzzzxyxyyyxyyzyyzyzyzyyyxxwxyyzzzzyzzzyzyyxyzzyzzxyzyyyyyxyxyyzyyyzyyyyyyxyyyzyyzzzzzyzxzzzxyzzz{zz{zyyxzyyzyzyyz{yz{zz{yxyyyzzzyyzyyyzyyzzyyyzyzz{yyyyzyyzzyzyyzyyzzyyyyyyyz{{{yzzzzyzzyyyyzzyzy{x{zzyyzzyzzz{z{zz{yzyzyyzyyzzzzz{{zzzzyyyyz{zy{z{{yyyzz{yy{{{{{{{z{zyzzzzyz{zz{zz{{{yzzzzzz{{z{{z{{y{zyxzz{zzzz{|{|yyyzzyz{{zz{{z|{zyzzyzzz{zz{{z{z{yxzyyzz{y{zzzzzyyyyzzzzz{{zzzyzyyzyyyyzy{zzzyyyyyxyyyyy{yzyyz{yzxyyyyyzyzyyyz{yyxxyyxxzyzzzyyz{yyyzyyyzyzyxzz{yyxxxyzxzyzyy{zyyyzxxyxyyxyyyyyzyyyxyyyyyyyyyyzzyzyxyyxyyyyzzyyzzxxyxxzxxzyyyzzxyxyyxyyyyyzzzzyzzyyzxyyyyzz{yyzzyyyyyxyxy{zyzzzyyyyyyyyxxyxyyz{zyyzxzzyyzyzzzyzzyyyxzzxzzzzyzzz{yyyyyyzyyyzz{zzzyyyyyxyyzzzyzy{zzyzyyxyyyzzyzzyyyzzyyyyzzy{zyz{zyzyyzzyzzyzyzzyyyzzyzzxyzzzy{z{zyzzyyyzy{zzzz{{{zzzyzyzx{{{zzz{yzyzy{yzyz{yzz{zzzzyyyzzzyzyy{{z{zzzzyzyzzz{{zzz|zyz|yzzzzz{z{z{{zzzzyzzyy{{{z{{{zzxzzzyy{zz{{{z{zzzyzyxzzzzzzzzz{zyzyyzzzzzzz{{yyyzyxyyxxz{zyyyzyxyyyyzxzzzzzzz{yyyyyxyyyyzyzzzzzzyyyyzxyyzzzzzzyzyyyyyyy{zzyyzzzzyyyzzyzyzzyyyyyyyxxyyx{zzyzzzzzyyyxxyyyyzyyyyyzyzyxyyzyyzy{zzzyxyyyzyyzyyxzz{yyyyxxyyyzyzyyzz{yyyxyyyzyzyxzyzyzxyxyyyyyyyzzyzzzyyyxyyyzzzzyzzyyyyyy{xxyyzzyyzzyyyzzyyyzyyzyzzzzyyyyyzzyyzzzzzzzzyyyzyzzzzyzz{{yyyzyyyxz{zzz{zz{zxzyyzyzz{zzzz{yzxyzzyz{yzyzz{yzzzzzyzyz{{zz{zzyzyzzzz{zzzzyz{{z{z{zyyzzz{{{{zzyzzzzzzy{zzzzz{z{zzzz{yzzzz{zyy{zzzzyzzyy{z{zz{{zzzzyyzzzz{{z{zzzyzzzyyzzzyz{{{{zyzz{zzzz{{zzzzzzzyzyyzzyzyz{{|{zyzyyxzyyzz{yyz{yyyzyyzyzzyyzyzzyyxyyyyxzyzyyxzyyyyyyyyyz{yxzzzz{zyyyzxxyzzzy{zz{xzyyyxyyzy{zyzzyzyyxxxyxz{yyzyzyyzyyyzzzyzyyz{zyyzyyyyyyyzyyyzxyzyyyyzyzzzzzzzzzyxxzyyyyyyyyzzyyyyyxyyxzyzzzzyzyyyyyyyxyz{zzzzzzzyyyyyyzzzyz{xyxyxxyxyyyxzyz{y{yxyyyzyxyyyzz{zyyyyyyyyzzzzyzzzzzzzyyxyzzzzzyy{{zzyyyyyyyyz{{yzzzzzzyyzxyzz{zzzz{yzyzyzyz{yyzz{zzyyzyyyyyzzzzz{zy{yyzzyzzzyz{{{zzzyy{z{zzzyzz{{zyzzyzyyyzzzz{zzz{yzzzz{yz{{{{z{zzzyyz{zzzzzzzz{{{zzzzzzyyzzzzz|zzyzzzzzzzzzzzzzzzyyyz{zzzyzz{{z{zzzzzyzz{zz{{z{zzzzzzzyzy{z{{{{zzyyzyzzy{{zzzzzzyyyzyxyzyzyzzzyzxyyzyyzyzzzyzyzyzyyyyxyyzyyy{zyzxyyyxyyzyzzyzz{yzyyxyzyzyzzzyyzyzxyxyyyyzyyzz{yzzyyxzyxyyyzyyz{yzyyyzyxyzyyyyzzzxxyyyzxyyyzzyyzyyyyxyyyxz{yxxzzxyxyyxyyz{yzzyzzzzyzyyyxxyzyyyzzzyyyyyyyyzyyyyzzzyyyyxyyyzzyyzyzzzzyzzyzyzyyzzzzzzyyzyzyyx{yzzzzzyyzyyyyyzzzzzzzzzzzxyyyzyzzyzzzyyzyyyyyxyzyzzyzyyyyyzzyyzzzzzz{zzyy{y{zzz{zyzzzzzyyyzzxyzzz{zz{zzzzyzyzzz{zzzzzzzzzzyyyyy{{zzzzz{yyzyzyzzzz{{{zzzzzzy|zy{z{{yzz{{z{yyzzyz{z{{z{{{y{yzyzzzzz{z{|zzyzzzzzz{yzzz{z{{zyzzyzzzz{z{zz{zzyyzzzz{zyzzz{{zzzzzyzy|zz{zzzzzyzx{xyyzzzzyyxyxyyyyyxwxzzyyzzyzzyyyyyxzyyzyzyzzzyyxyxxyzyyzz{zzyyxyyyyyzzzxyzyyyyyxxyxyzzyyzzzyxyyzyxyyzyzyzzyyyyxyyyyzzyyzyyzyyyxxyxxyyyzyzzyyyxyyyyyyyyyy{yyyyxxyxxzyyzyyyzyyyyyzxyyzzyyyyz{yzyxyxyyyyyzyyzyzxyyxxzzyzyyz{{yyyyyyxyyyyyyzyzzyyxyzyxyyyzzzzyzyzyyyyzxyzzyzzzyyyyyxyyyyzzzzz{yzyyxyyyyyzzzzzzyzzzyzyyyzzzzzz{zzyyzyyxzyzzyyzzzzyyzyxzxyzzzzzy{yzyyzzzyzzzzzzz{yyyzyzyxzzzz{zzzzyyyzyzzzzz{{z{z{|zzyzyyz{zyzzzzyzzzzyz{z{zyz{z{zzyzzyyyz{zzz{zzzyyzyzzzy{yz{{z{{zzyzzyzzzzzz{{{zyyzyyyzyz{zzzzzzxzyyyzzzz{{{{{yyyyxyxyyyyyyyyyyyyxxxyyyyyzyzzyyyyxyyyxyzyzyzy{zyyzxxyyyyyyyz{zzzyzzyyxyyyzyyyzyyyxxxxyyyyyyy{yzyyxxyxyyxyyyyzzyyyyxyzyy{yzzyxyzyyyyxyyxzyyy{zyyyxxxyyzyxyyyyzyyyyxxyyyyyy{yyzzyyzzyxyyxzyyzyyzzzyyyyyyyyyyzyzy{zzyyyyyyzzyxyzzyzxyxyyyyyyzz{yz|yyyyyyyzyzzyyyzzzyyzyxyyzzyyyzzzyyyyyyyyzzzyzzzzzyyzzxzyz{yzzzzzzxzyyyzyz{z{zy{zyyzzyzyxzyy{x{zzzyyyzyyyzzzzyzzyzyyzzyzz{zzyz{{zzyzzzzyyzyz{zz{yzyzyzyyz{yzzz{{{zz{yzzzz{zyzz{{{zzyzyzyzz|zz{yzzzxzzyzzyyz{z{{z{zyyzyzz{zzzzzz{{{yyzzz{{zzz{{{zzzzzyzz{zzz{{z{|{zyyyyyyyzzz{zz{zyyyyxzzyz{zyzzxxyyxxxxxyzyzzyyzzzzyyyxyyyyyyzzzyzzyyyxyxz{zyy{zyxyyyyyxzyyzzyy{yyyxzzxxwyyzzyzzzxyzyyyyyyyzzzyyyzyyyyyxyyzzzzzzzzyzyyzyxyzzzz{zzxyzyxyyyyyyxz{zyyxyyyzxyyyyxzzzzyzyyyyyxyz{zyzz{zyxyxxyyyyzzyzzz{xxwyxyzyzzyyzzzxzyzyzxyzyz{zzz{yyyyxyzxzz{z{xzzyyyyyyyzyz{zzzzzyzyyyyyzzzzzzzzzyyyxyzzyy{yzzzyzzyzzyzyyyzzyzzz{zzyyyyzxzzzzzz{zyzzxzyzyzzz{{z|zxyyzyyzy{zzzy{z{yzzzzyzzz|zz{zz{{xyyyyyzyzzz{zz{zzzyyyzzzzzy{{{{{yzy{zz{yzz{{|{{zzzzyzz{z{{zz{{{{zyy{zy{zz{{{{z|z{zz{zzy{z{{{{{yzzzyzzzyyzyzzz{{zzzyzzzzzzz{zzzzyyzyyyyxzyzyz{zyyyyxyyxzyyyyyyzyyxyxyzxyyzyyz{z{zyxyyxyyyzzyzzzzyyxyyyxyzzz{yyzyzzxxxxzwyxzzyyyzzyyyyyyxyyzzyzzyyyzyyyyyzyzyyyzzzyyzyyxyzyyyyyzyyyyyyyzxyyyzy{yyxyxyyyyyyyyzyzyyzyyxyyyxxyzyzyzzzyzyyxyyxyyyyxyyxyzyxxxzyzyzzzzyyyxxzzxyzyyzzzzzyyyyyyyxyzzyxzyzzyyxxxzyzzzzz{{zyxyxxxzzzzzz{zzzyyxxzyyzzzzzz{zz{zyzyyzxzyzzzzzyzzzzzyz{y{yzzz{zyyz{yyyyzzzzz{z{yyzyzzzyzzz{zz{zzyyzzzzxzzzzyzzzzzzyzyzy{z{y{zzzzyzzz{yyy{{z{z{{zz{zzzzzzzz{{{zz{zyzyzyz{zz{zzz{yzz{yzyzz{zz{{|{zzzzyzyyyz{zz{zzzzzyzz{yzzzz{z{zz{zyyyyyyz{zz{zyzzyyyyyyzyzzz{yzyxxyyxzywyzzzyzyzyxzyzyyxyyyzzzzyyxxyyzyyzzyz{zzzyxzyyyyzyyzyzyzyxzyxyyxzyyzzzyyyxyyyxyxzzzyyz{yyzyyxyyyzxyzyzyzzyyxxzyyxyyzyzyyzxyyyyxyyyyyzyzyyxxyyyyyyzzyzz{yyzyywxywyyzzzzy{zxyyxxyzyzzzyyzyzxyyyzyzyyzyzzzzyxxyzyyyxyzzzzz{yyyyyyzz{zyy{{zzyzy{yyyyzzyzzzzzzyyzxzz{zzzyzzyzyyzzyyyyyzzyz{zzyyyzxzxzyy{z{zzyyyyzzxyz{zz{y{zzzyyyz{zzzzz{zy{zzyzzyzzz{zzzyzz{z{zyyyzyyz{{z{zyzxyzz{zy{{zzz{z{zzzzzzzzzzzzzz{{zzzzyzzz{{{z{zz{zyzzzz{zzzz{yz{z{yyyzyyz{yz{{{{{{zy{zzyzzzzz{{{{{zzyzy{yzzz{{{{{zyy{yyyxzyzzyzzzyyyxyyxyyyzzzzxxyyyyyyxxzzzzzyxyyywxyyyxyyzyz{y{yyyxyyzyxyyyzz{zzyyyyyyyyyzzyyz{xxyyxyywyyyyzyy{zyyyxyyyxzyxyz{yyyyyyxyyyzyxyyyzyyyyyzyzyyyyyzzyyxyxyyyyyyzzyzyyzyxwyxxxyyzyzxzyxyzyyxxyzzzzzzz{yxyzyyyyxzyxyzzyyxyyxyxyyzzyyzzyyxyyyyxxyzyzyyzzzzzyyyyxyzzzzzzzzyxyyxyyyyzzy{zzzyyzyyzyyzzz{yzzzxzxyxzyzzyzyzzzyxxyyyyyzzzzzz{yzzyyzzyyzzzyzzzyzyyzxyxzyzzzzzz{xyz{yzzyzzzzzz{{yzyyyyzyyzzzzyz{zyyzyyyyyzzz|zz{yzzzyyzzy{zz{{{z{zzyyzyyx{zzz{z{zyyzyyyzzzzzzzzzzyyyyyzzzz{zzz{zzzz{yzyzzz{yzyzzzyzxzzzyzzzzzz{zzzyyyyyyy{{{yyzzzyyxyxyyzyzzy{zyyyyyzyzyxzzyyzzzyyyyzxyyyzyyz{zzyxxyyyzyzyyy{zzyzyzzyxyyzyzzyzzzyyyyxxyyzz{zzzzzzyxyyzyyzzzzz|zyzyyyyyxyzzyyzyyzyzyyyyyyyyyxyzyzxzyyzyxyyzzzzyzyzyyyxzwxyyyxzzzzxyxyxyyzyyyxyz{zyyxzyyyyyyzyzzzzxyyxyyzyyzzyy{yzzxyyyyyyzyzzzz{zyyyzyyzyyzzyzzzzzyzxyyzxyzz{zzy{zyzyxyyyyzzzzzzzyyyzyyzxzz{yzz{zzyzyyyyyyyzyyz{zzxzyzzyyzzyzyyyz{yzzzyzzyzzz{z{zyyzyyzyzzzzzzz{{zyyyzyyzz{zzz{{{zzzzyyyyz{zzzz{z{zzyzzzz{z{z{{zzzzzzzz{y{|{zz{z{{zzzxzyzzz{zz{|{zzyzzzzzzz{zzz{zz{yzzzzzzzz{{{z{zy{yyxzxy{zzzzzzzyy{yzzyzz{yzzzzyxzyxyyxzz{yz{yyyxyxzxzyxzzyzzy{zyyxxyzyzzzzyzzyzyzxyyyyzzzyyzzzzzzzyzyyyzz{yzzzyyyyyyyxzyzzzzzzyyyxyyyxz{{yyzzyzyyyyzyxyyzyyzzyzyyxyyxzyyyzyyyyyxzyxyyyyzyzzzzyyyyyxxyyyzyy{yzzyyyyyyyyzyzzzzyzxyyyxxyyxzzzyzz{yyyxyzyyy{yyyy{yyyzyzyxzyzzzzyzyzxyyzxyxyxyxz{yzyyyyyyzyyyzzyzzzzyyyyxyzzzzzzyzzzyzyyyyyzyz{zzzyzxyzzyyzyz{zyxzyzyyyyxyxzzzxzz{yzzzzyyzzy{zzzzz{yzzzyzzyyz{zz{{z{zzyzzyyzy{z{zzzzzxzyyzz{{{zyzzzzy{yyyzzz|zy{z{{zzyzy{zzz{{{zz{zzzzzzyyz{{zzzz{{zyzzyyyzzz{zz{z{zzzxzzz{zzzzz|zzzz{yyy{zyzzzy{{zzzyyzyyyz{z{zzzyyzzyz{yzyzyzzyzyxyxxyyzxxyyyyzzzxyzyyyxyyxyyyzzzzzzwxyxxzzyyzyzzzxyyxyyyyxyzyyz{yyzyyyzyxyyyyzyzyxyyyyzyyyxzzzzyyyyyyywyyy{yyzyyyyyxxyyyyyzzyzyyyyyyyyyxzyyyyyzxzyyywxwzxyzyzzzzyyyyxyyyx{zyzyyzyxyxxxxxyzzxzzzyyyxyyzywyyyyyzzyyyyxyyyyyzzzzyzyyyyyyyyyyzzyyzzzyyzyyyzzzzzzzzzzzyyyxyyzzzzyyzyzzyyzyxyzzyyzzzzzyyzyxyyyzzyzzzzyyzzzyyxzy{yzzzzyyzyyzzzzzzzz{zz{zyyyyyzzz{z{zzz|yzyyyyyyzzz{zz{zyzyyyzyz{{zyz{z{zzzzzzzzz{zzzzy{zzyyyzyzz{z{{{{{{yz{yyzyzzz{zzzzzyyzyzyyyzz{{{{{zzzzzyzzz{z{zzzzyzzyzyyz{zyzy{{zyyyyyyzxzzxzyzzzyzyyyyyyzyzyzxzyxyxyyxzyyxyzyzzyyyyyxyyyzyyyzzzyzzyyyyyyyyyyzzzzzzyyyyyyyyz{zyzzyyxyyzyxyyzyyyyzyyyyyxyxyyzyzyzyzxxxyyyxyyzyzzzyyyyxyyxxzyyzyzzxyxyzzyyyzzyzzzzyyzyyxywxyyzyyyzzyxyxxyzyyyxzzyzzyyyzzxyxyzyyzyzyyyxxxyyxyzyzzzy{yyzzxzyyzzxzzy{zyyyxzzyyyzzzz{zzzyyyyyzyyyyyyyzzyy{yyyyzyzzzzz{zzyzyyy{zzyy{yzzzzyyxzyzzyzzzzzzzyyyxzzzy{zzyzzzzyxzyyyyzyz{zz{zyzzyzzzzzzzzyzz{{zzyyzxyyy{{zzzz{zzyyzyzyzzyzz{z|zzyzxz{zz|zzz{{{z{yzzzy{z|zzz{zzyyzzyz{yzzz{{z{{{zzzyzzyzzzzzzzz{{zz{zzz{z{{|{{{zyyyyzyzz{zz{zzzzzyyxzyxyyyzz{zzyyyyyxyy{yzyzyyyxyyyxyyyzzzyz{y{zzxyzxyyyyzyyyzzzyyxyyyyzyzzz{zzzxzyzyyyyyzzyyzzyxyzxxyyzyyzyzzzxyyxyyyyyzyxyzyzzyyyyxyyyyzyyyyyyyzxyxyyyz{zzyyzywxywyyyzyyxyyzyyyyyxxyyyyyyzzzzxyzxxyyxyz{zyyzzyyyyyzywxyyxyzzyyzyyyyyyyzyzyzzyyxyyzzxyyyzzyyyzyzzyyyyxy{zzy{z{zyzzyyyyzzzzzzz{yyyzzyzyzyzyxz{zzyyyzyyzyzyzy{{zzyzxyyyy{zzzyz{{zyyyyzyz{zzzyzzyxzyyzyyzyzz{{{{zyyzzzyzyyz{zzz{{zxyyyzyx{z{zz{{{zyyyy{zy{{{zz{z{zz{yzyyzz{z{z{z{{yzyyzyyz{z{{{z{zyzzzzyz{{{zz{{z{yzzzyyzzz{z{{{{zyzzzzzz{{z{{{z{zzyyyyxyz{zzz{{zzyzyzxzy{zyzxzzzyyzxyyyyyyzzzyzxyyxwyxyyyzyyx{zzzyyyxyyyyzzz{zzzyyyyxyyzzyzyzzyzyyyzyxyyyzzzyyzzzyzyyyzxyzzyy{yyyxyxzyxxyzzyzzzzzzyyzyxyzyzyyzzyyyyxyyyyzyyzxyzyxxyxyyyxyyyzzzyyyyyzyyxyxzyzzyz{yxzyxyyxzyxzy{zzzyyyyxyxyzzzzyyzzyyyyxyyyzzzyzzzyyyxyzyyyzzyyyzzyyxzyxzyzyzz{{yyyyyzyyzyzzyzzzy{zyzyyyzy{zyz{yzzzyzy{xxxxyzyzzzzyyyxyxyxy{zyyz{zyyzzyyzyzz{zyzzzyzyyzyyyzzzz{z{zyyzzyzyzyzzzzzyz{yyyyyzyzzzz{{zyzzyzzyyz{zzz{{{{{zzyzzzyz{zzz{zz{{yzzzzzy{z{yy{z{zyzzz{zzzyyyzzzzyzzzzyzzzzzzz{{yzzyyyxzy{zzzzyyzzyyzyyzzzz{yz{{zyyzyyzyyzyzzzzyyxyzyxzzzyzzyyzyyyyyyxxxyyyyzyzzyzyxyxyyyyzyzzyzzyyyxxyyyzyzzzzyzyzyxzyyzzyyyzzyzyyxxxxxyyzyyyyyyxyyyyyxyzzyyzyyzxxyyyxyyyzyyyyyzyyxxxxyxxyxyzzzyxxyxyxyyzzyzyyyyxxzxyxxyzyzzzzzxyyyyyyyyzzyyy{zxzyyxyxyzyyyyyyyyyxxyyxyy{yzy{yzxyyzyyyyyyyzyyyyzxxxyzxxzyzyyzzzyyzyyxzzzzzy{zzzyyyyxyyyyyzyzzzzyxyzyxxyxzzyzzyzzyyyyyzyyzzyzzzyzyyyyzyzyz{yyzzzzyyzzzyyyzzz{{z{zyy{zy{yzzy{z|zzzzyzyyyxy{z{z{{{zzzyzyyzz{{{{{{zzzyzy{zzzzz{z{{{{zyzyzzzz{z{{{|{zyyzyyyyyyzzyz{z{yyyyyyzzzz{y{{{yyzzzzzzzzz|zzzzzzyyyxyyzzzzzz{{yzzyyzyyyzyyzyyyzyyyzyzyyyzxyyyzyxxxyxyxyyyzzyyzzyyyyxyxzyyyyzzyyyxxzyzyzyyyzzzzyyyyyyxyzyzzyyyyxzxyyxyxzyyyyyy{yyyyyyyyyzyzyzzzyyxyzxxyyyyyyyzzxyyxyxxyyzyyyyyxxxxxyxyyyyyyyzzyyxyyxxxyzyyy{yz{yxwyxzyyyzyxyyzyyxxyyxxyyzxyyzyyzyzxxyxxzzxzyzzyyyyyxyxxyyxyzzyzyyyyzxywyyyxzyzzyyzyxxyyyzyyzyy{yxyyyyxyyy{zyzzyzyyyyyyyyyy{yy{yzzxyyyyyzyz{zzzzxxxzyxzxyzzzzzzyyyzxzyyyzzzzzzzzyzyyzyzzyzyzzz{{yyyzyxyxz{zzz|zz{yzyyyyyzzz{zzzzzxzzzy{yyzxzzzzzzzyyyzzz{z{yzz{{zyzzzzzx{zz{zzz{{yyyzyyyz{z{{{zzzyyyyyzy{zzzzzz{zyzxzzyyzzzz{zzyyyyyyyyyzzzzyz{zyyyyyyzxyzyyyyxyyxxyyxyyxyzyxyyzxyyxxxxyyzyyyzzyyyyxyyyyzyyy{zzyzyxyyyxyyyy{yyzyyyxxyxzxyyzzyzx{yxyyyyyyzyyyyzzzyyyxyxyyzzyzyyzyyyyyyyyzyzyzyyyzyxyxyyyxyyyyzyzzyyzxxxxyzyyyzzyyyyyyxyyyxyz{zzxzyyyyyyxxyyzyyyzyyyyxyxxxyzyxzyyzyxyxyyyyyyy{yzzyyyyzyxyyyzzyzyyzyxyyxxyyyzzzyzzzyyyyyyyyyyyz{zzyyzxyxyyxyzyzzzzzyyzyyzyzyzyyzy{yzzyyyyzz{{yzzzzzzzyy{xzyyzyzzz{yyzzyzxyzyyz{z|{{yyyzyyyy{{zzyzzzyyyyyzzyz{zz{zzzzyzzyzzyzzzz{z{{zxzyzyyzzz{z|z{{zy{zzyyyzzzzzzzzzyzzy{zyy{zzyz|{zyyyzyyzyzy{zzz{zyyyyzyyzzyzyzy{zyxzyyzxyzz{y{zzzyzxxyzyzzyyyzxyxxyxxxyyxyyz{yzyxxxyyyyxyyyzxzz{yxyyyxzyyzzyzzyzyyzyyyyyyzzyxyzzyyyxxyyyzyyyyzzzxyzwyyxxyxzzxzzzyyzxzyyxyyzyyzzyyyyyyyyyxzyzyyyzxyyxwyyxyzzyyyyyyxyxyyxyxyzyzxyyyxzyyyyyyyzyzyxxyyxxyyxzxyyyxzyyxyxyyyyyxyyyzyyyyzzyyyyyxyzzzyzzyyyzxyyxzyyzyyzzzxyxyyyyyyyzyzzzyyyxxxyxzyzzzyzyyxxyyyyyyzzyyzz{yxzyzyxyyzyyzz{y{zzyzyyzz{zzz{zzyyzzyyxzyzz{y{{zzxzxyyyyyzzzzz{zzyyzyyyyyzzzzzyyzyyzyzyyz|zyyz{zzzzzyzyyzzzz{{zzzyyzzzzyz|{zzzy{zyzzzyzzzzzzzzzz{yyyzxyzzzzzzzzzzyyxzzzxzzyzz{zzzyyyyzzzyzzzzzzzzzyyyyzyz{yyzyyzyyzyxyyxzzzzyzyyyyzxyyzyxzzyyxzzyyyyxzxyzxzyzyz{zzzxyzxxyyzzyxzyzyyyxyyyxzzyzyzzyyyywyyxyyzyyzyzyyxyyxyyyzyyzzzyzyyxwxyyyyzyyyzzyyyxyyxyzxzyyyzzyxyyyxyyyxyzyzzyzyyxxyxxxyyyyyzyyzxyzyyyyxzzzzzzyyyxyxyyzzyzyzzzzyyxxyyyzzyxy{{yzyzyyyxyyzzzyyz{zyyyyyyyzzz{zzzzyzyyxxyyzzyzzzzzyyyxxyyyzzyy{zzzyyzyxyyyyzzzyzzzyyzyzyyyyz{zzz{zzyyyyzxyzz{yz{yzyyzxzzyyzz{z{zy{zyzyzzzzzzzyyz{{zyzyyyyzz{{zz{z{zyyyzzzzz{zx{z{{yyzzzzyzzzzz{z{z{zzzzzyyy{zzzyz{zz{zzzzyzzzz{{{zzyzy{zzzzzyzzz{zzzyzzzzzyzzzz{z{zzxyzzyzyzzzyzzzzzyyxyzyzz{zzyzzyyzzyyyzyzzzyyyxxyxzyxyxyyzzzzzzxxyyyxyyyzzzyzzzyxyyyyyyyyxzyyzzyyzyyyyzzzyyyzz{yyyxyyxyyzzyyyyyyxyyxxxxx{yxzzzyyxzyxxyyzyzzzyyyyxzyyxyyyyyzxyzzyxxyyxxyyzyyyzyzyxxyyyyyyyyyzzzyyzyxxyxyyyyzxzyzyxyyyxyyyyyyyyyzyyxyyyxyyzyyzzzyyyyyyyyxzyzyzyzzyyyyyxyyyyyzzzz{zzyyxyyzzyyzyzy{zyzyyyyyzyzyyzzzyyzzyxyyzzyzyzzzyyyyyyxyzzzzy{zyzyyzzzyzz{zyy{zzzyyzyyzyzz{{|{{{yyzyyz{z{xzzz{zzyyzyyyyzzz{{z{zzzyzzzzzz{{zz{z{z{zzzyzyzzzzz{zzz{zyyzzzyz{|{{z{zzyyzyyyyz{{yz{{{zyyyzzyzzzzz{{z{{zyzzyzzzzz{zzzz{{xyxyyzyzzzz{zz{xzyxyzxz{yzzzz{yyyxzyyxz{yzyyxyxyyxzyyyyyzzzyzzxyyyxxwyyzyyzyzzyyyyyyyx{zzyzzzyzyzyyzyzyyzyzyy{zyyzyxyyyyzzxzzyzxyyyxyyx{zyzz{yxyzxxyyyzyzyyyzyxyyzxyxyzxzyzyzzzxxyxxxxzzxyzyzxyxzxxyxyxxzzzyyyyyzwxzyxzzzzyyyzxyx{xyyyzzyzyzzzxyxxyyyxyzzzyzzzyyyzyzyxyyzzyzzzyyyzyxyyzzyyyzzzxyzyyyyyzyzz{zyzyzyyxyyxzzzyzzzzzyyyyxyyyyz{zzz{zxyzyyyyyz{yyzzzyyxyyzyzzzzzz{zzzzyyyzzzyyzzz{{zyyzyyy{yyz{{z{{zzzzyzyxyzzyyz{{{zzzyyzzzz{zzzz{{zyzyz{zzz{zzyzzzzyzzyzzzyy{{{{zzzzzyzyyz{zz{{z{z{zyyzzyyyzzz|zy{{yzz{yzzz{z{zzzzyzzyzyyyzzzzz{{{zzyyyyzzzzzzzzyzyzyyzyyyzy{{zyyywzxxxxxxxzzxyyzxyxyyyyzyyyyzyyyyyxyyyyxyzzzzyz{zzyxyyyyyyyzzyyyyxyzyxxzyyyzzxzzzyyyyyyxxxyyxyz{yyyyyyxxyzyzyyyyzyyyyxyyyzyyzyyzyyxxyyxxyyzyxyzyyyyyywyxyxyyyyzzzxxzyyyxwyzzyxzzyyyxxyxyxxyxxyzyyzxxyzxyxyyyyyzzzyxyyyzyxxyzzxzzyyyyyyxyyyzzzyzzzzzyyyyzyyy{yxz{zyyzzyyyyzyzxz{y{yyyyyyyxzyzzz{{yyxyxyyxyyzyzyyzyyyyyyzyy{z{zzzzyzxyyzyyzz{z{z{z{yzy{yzyzzzyzz{zzzyyyzyyyzzzzzzzyzxyyzyyyz{zzz{{zzyyyzzzyzzzzz{zzz{yyyzzyz{z{zy{zzyzzyxzzz{zzy{{{zzzyyyzzyyyz{z{zzyxyzzyy{{{|z{yzyyzyzyzyzzz{zzzzzzyyyyyyzyzzzzzyyyyxyxyyyxzzzyxyxzxxxyyxyzzyyyyyyyyyywyyyxzyzyzzyyyxyxxxyyyxyyzzyyyyyyyyyyyyxyxyyyyyxxxzzyyyzyxzyyxxyyyxyzyyyxzyxyyyxyyyyyyyyzzyxyyxxyxzyyyyyyyyyxxxwxyxyyyyyzzyzyyzyywyyx{yzyzyyxyxyxyyy{yxyyzzyxyxyxyxxyyyyyy{yxxxyxyxyyyyyzyzxxyyyyyxzzzyyyz{yxyyyxyzyyyyzyzzyyyyyyyyzyyyyzzzyyyyxxyxyyzyyzzyyyzyyyxyyzzyyzzyyyyz{xyyyzzzzzz{zzyyxxyxyzzzyyyyzzyxyyyyzyzzzzzzyyyyzzyyzzzzyzzzyzxzyyyyzzy{{yz{zyyyyzyzyzzzz{{zzzyzyzzzzz{zzzyzzzyyxyyzzzzzzzzzzy{yxyyyz{{yzyz{{zx{zy{yzzzzzzzzyyxyzzyzzzyz{zzzzzyzyxyyyzy{zzzzzyyxyyyyyzyzy{zyyzzyywyyyzzyzyzyxzxyyyyxxzzxyyzyzxyyyxyyyyyyxyzyzyxyyyxxyzyyxyzyxxyyxxxyyyyyyxzzzyyxyxxxyxyyyyzzzwyxyyxyyyzyzzyyyyxyyxyyyyzxyzyyyyyxyxxyyxxyyyyyxxyxyyyxyyzyyyyywxxxxxwyyyyxzyyyyxyxxyyxyzxyyyyyyyxxyxyyxxyx{yyzyyyxxxxyyzyyzzyxyyyxxxyxyyyzzzzyyyzxyxyxyyzzzyzzyxzyxyyzyyzyzyyzyyxyyyyzyzyyyyzzzxzxzxyxyyzyxzyzyyzxzyxxzyzyxyzzyzyyxyyyyzzyyzyzyyyyyzyyyz{z{zzzyyzyzzzyzzzzzz{zyyzyzzyyzzzzzz{zzzzyyy{zz{zzzz{zyyyzyyzyz{zzz{{yzzxyy{yyyzzzzzz{zyyyyyzyzz{zyzzzzyyzyzyyyzz{yzz{{yyzy{yzzyz{zzzzyzyxyyyyzzyzzy{yzzxyyxyzyzzzyzzzzzyyxwyyyzzyyyyyyxxyyyyxyzyyyyyxyxyyxxyxyyzzxzzyyzyxyzxyzyzyy{{yzyyyyxxxyyzzyyyyyzyxwyyyzxyyzzyyxzyyxxywyyyzxyyyyyyyywxxyyyyxzyyyywyxxxxyyxzxxyyyxxxyxywxxyyxzyyyxxxxyxyzyzyyxzyxxyyxxywxzyzyzzzxzxwzwxxxyyxyyz{yyyxxxyyxzyyyzzyxyxyxyxyzyzyzzyyzwxxyyzyyzyyyyzzzyyyyyxyzzzyzzz{zyxyyyxxzyzyyyzyyyyyyxyyyyzzyzyzzyyyyyyyyyz{zz{xyyyyyyzyz{zyzzyzyzyyzyyyyyyzzzzzyyyxzzzyzzyz{{zzzxzyyyyyzzzzz{{zyyyyyyyy{{yzz{z{yzyyyyyzy{{yzz{z{yzxyyyzz{zzy{z{zyzzxzyyzzzzzzzzzyzzyyyyyzyz{{zzzzzy{yyzzzy{yzzzzyyyyyyzzzzyzzz{zzyyyyyyyz{yzyz{zyzyyxxy{z{xyyxyyyxxxyxxzyzyyyzzyyyxyyxxyyyyyyyzzyyxyyxxzyyxzz{zyyyyyxxyyxyyxyyzyyyxyyxxyxzyzyzyxyzxyxyyyzxyzyyyyyyyywxyyyyxyzyyyyxyyyxyzxyyyyzyxxyyyxxzxyzzyyzyyxxyxyxzyxyzyyyzyyyyxxyxxzyyzyyzyyxzyxxyyyzyyyyxzxyxzxxyyyyyxzyzyxyzxyxyy{zyyzyyyyzyzxxyzzyzyyyzyyyyyyxyzzyyyzzzzyzyyyyyyyyyyyzzzyyzxyyyyzzzyzyyyxzxyyxyyyzyzyzyyyxyyyyyzzyyzzzzzyxzzzy{zzzzzz{zyyyzzyzyzyzyyzzzzyyyyyzyzzzyzzzz{yyyzzzz{zzz{{zzyzzyzyyzzzyzz{z{zzzxyzyzyzyzzzzzyzyyzzyzzzzzzzz{zzyzzzyyzy{zz{z{zyyzzxyzyzy{zz{{zzyyyyzyyyyyzyzzzyxyzyyxxzy{x{zyyyyxyyyyzyzzyzyyxyywzxxxxyzyyyyzzyyyxyyzyzyzyzyyyxxxyyyyyyyyyyzzyxyxyyxyyzyzyyzzyxzyxywyzzzyyzzzyyyywxyyyzyyyzyzyyxyyyyxyzyxxzyyxxyxxyxyzyyzzzyyxyyyxyyyyzyxyzyyyxxyyxyyzyyzyyyyyyyxxywzxyyzyyyzyyyyyxywyyzyyyzyxyyxyyxyyzyzyyyzyxyyyzyxzzzyzzzyyyyyyxyyyzzzzzyyzyyxxyyxyyzz{zzzyyxxyyyyzzzyzz{yxyyyxxzyzzzzyz{yxzyzyyyxyzzzyy{zyyyzyyyyyyyyyzzzyyyzyyxzzzzzz{zyyyyyzzzyyyyzzzzzyyyyyzxxzz{zzzzzzyzzzyyy{zzzzz{zzzzxxy{zzzyz{{z{zyyyyzyzzz{zzyzz{zyzyzzzzzzy{zzzzxyyzxyzzyzz{z{zzyzzzzzzzzzyyz{{zzyyzyyxzzzzzz{{zzzxzyzyy{z{zz{zzyyzyyyyzzzxyyzyyyyxxxxxxyzyyyzzyxxyxyyyxzzyyyyyzyxyxyyzyzyxzzyyyyyxyyxxyyyyyy{yzyyxxyyxzyzyzyyzxxyxyxywxyyxzzzzwyyyxyyyzyzxxzzyxxxyyzyyyyyzyzyyxyyyxxwxyyyyyyyzyyxxyyxyxyzyzxzzyyyyyyxxyzyzzz{zyyxyxyzxxxzyyyyyyyxyxyxxxyyyyzzzyxyyxzyxyyyyyxzzyyyzyyyxzyyzyyzzyyyyywzxzzyzz{z{yyyzxyyyzzzzzyzzzyzxyxyyzzzzzzyzzxyxyyyxzyzyyzzzzyyzzyyyzzzzzyyzzyzzzyxxy{zz{zyyzyyyzzzzzz{zzzz{yzyzyzyzzzzzzz{zzyzyyyzy{zzzzzz{yyzyzzzzzzyz{{{{zyyxy{zyz{zz{zz{{zzzy{zzzyzzzyz{zyyyzzyyz{zyzzz{zyxzyzyz{z{zz{{{yzyyyzyyyyzzzyzzzzyyzyyzzzz{yzyzyyyzyxyyyzyyyyyyzxxxxxywxyzzzzyzyyyyxyxxyyzyzyzzyxyyyzxyyzzzzzzyyyzyyyxxyzyyyyzyyzxxxwyyzzyyyy{zyyyyxyxyyyyxyzzzyyxxyyzyxyzyyzyyyyyyyyyyyyyzyyyzyxxyyxywyyzzyzyyyyyyyyxxyyzyyyyyyxyyxxxxyzzzyyzyywyyyxxyxyyyyyyyyxyxxyyxyzzzyzyyzyzxxzyxxzxyyyzzzyyyxxyzyzzzyzz{zyyxyyzyzyyzyz{yyyzyxyxxyz{zyyyzzyyyyxyyz{yyyzyzyyyyyzzyzyyzzyzxyyyyyyyyyz{zzyzzyyyyxzzyzz{{yyzzyzyyzzyyyzzzzzzzzzzyyyzzz{zzzzzyzyzz{zzyzz{{{{zzzzzzyyzzyzy{zzzzzzyyyzxz{{z{z{zzzyyzzzyzzzzz{zz{{zzzyyzzzzz{{yzzzzyzzzzyzzz{zyzzzzzyyyyyzzzzzzzz{yyyxyyyyzz{zzzxyyzzzxxzzyzyzyyyyxzzxxyxyyyyyyzyxyyzyyyyyzyzzy{{yyyxyyyyzyyzzzyyyyyyyyyyzyyyyy{zyyyxyyxxyy{zzzzzyxyyyyyyxzyzxzyzyxyyzyxyyyyyxyzyyyyxxyxxzy{yyyyzyyyyxyyxxzzyyzyzyywyxyxyyzyzyzzzyyzxyxyxzzzyyzzzyxyyywyxyyzyyyzyxyyyxyyxxyyy{zzzzyyxyyyyzyzzzyyy{xxyzxyyyyyyyyzzzyyyxyyyyyyzyyz{yyyzyyyyzzzyz{zzzyzzxxyyzyz{yzzzzyyyyyzyzzyyzy{zzyyyyyyyzzyyyzzyyzyyyzyzyz{zzzzzyyyyyzzzzzzyyz{zzyzzzzyyy{zz{{zzzyzzzyyyzz{zzzzzyyyzyzzzyzyzz{z{{zzyzzyyzz{zzz{{{yzzyyyyz{z{z{z{zxxz{zzzyzyz{yzz{zyyzyyz{yz{zz{{zzzzxzxzzzzyz{z{zyzzyyzyyzyzzzzzyysxzyyyzyzyzzyyxxyyxyxyxyyzzyyzxxyxxyxyyzzzzyyyyyxxyzzxzyxyzyzzyyzyyxxyyyyzyyzzzzyyxxyxzxyyyyyzywzxyyxxyyzyyyzyzyyyyxzxyyzxyzyyyyxxxyxyyyyzyyzyyxyyxxywzyzyyzzxxxyzwxxyxyzyzyzyzyzxxyxxyyy{zzzzzyyyxxxxyxzyyyzyyyyxxyxyxyyzzzz{yyyxyyyzyyyzzzzyyxyxzyyyyz{zzyzyzxyyxyyyzyyzzyyzyxyyyzyyzzyyyzyzyyyyxyzyzzy{zyzyzyxyyyyyyzzzzyzzyyyyzyxxzzyyyzyzzyyzzxzyzyyz{zzzyyzzyyzyz{zzzz{zzxyyxxyyzyzzyz{yyzyzzzzyy{zzz{{zyzzzyzzzyyyzyzzzzyyzyyzyz|zzzz{zzyz{zyzyzzzzzz{zzzzzzzyzzzyyzzzzzyyyzzyy{zyzzzzzyyyxyyzyyzyzz{z{z{zyzzyyzzzyzz{zyzyyyxzyzyzyzyzzxxyyyyxyyyyyyyyzyyyyxxxyzxzyyyzzyxxxxyxwyyz{yzzyzyyxxxxxyyzyyyzyyyxxxzxyxyyzyzzzyxyxzxyxyzzyxzyzyyyxwyyyxyyxyyyyyyyxyzxxyyzyyzyyxxyyxxyxyyyyyzyyxyyyxzwyyxyxzzzzxxxxxyyyyyyyxyzyxxyxxxyxyxyyyyxyyyyxyxyyxzyyzzyyyyyxyxyxyzyzzyyyxyyyxxyyyyyyzyzyzyyxxyyxzzyyzzzzyyzyyyyy{zyzyz{yyyyxzyyxzzzzyzyyzyyxyxyy{zzzzz{yyzyzyyxz{zzyyzzyzyxyxzxyyyz{zyzzzzyzyyzzzzy{zz{{zzyyyyyyzzzzzzzzyyyzyyyy{zzz{z{{zyzyzzzzzzy{zzzz{yyyyyzyz{zzzyzzyyzzyyzy{yz{zz{zzyyyzzyyz{zzzz{zzyyzyzzyzxy{zzz{xyzxzyyxyzzzzzzzzyyyyyzyyzzyzzyzxyzyzyyyyyzzyyxzxxxyxwwxxzyyyzzzxyxxyxwyyyyyzzzzyyxxyxxxyyzyyyzyyxzxyyxxyzyyyyzzyyxwxyxxzxyyyyy{yyxyxxyxzzyxyyzyyyxyxxxxzzzyxxzyyxyxyyyxyyxzyzyzxxzxwyxxyxyyxyzyyxyxxxxxxyyyzzyyyyyzwyxxyyyzyzyzyxyyyxxxxzxyxzzyyyyxyxyxyzxyzzzzxxxyyyxxyyyyyyyzyyyyyyyyyzyyyzy{xyyywxyyzyzzxy{yyzxyyyxyyyzzyyz{yxxyyxyxzzyzyzzyyyzxxyyyz{zyzzzyyzyxyyyyyyzyyzyzyyyyyyyyzzyzyzzzxxxyyzyxyzzzyz{{yyyyyyyxzyyzz{{zzyyyyzyzzzzzzyzzzyxzzyyzzzzz{zzy{yyyzzyzy{zz{zz{zyzyzzxzzzyz{{zzzyzzzyyyzzy{zzyz{yzyzyzzzyzzzyz{yyyyyzyyyyzzz{zzzyxzyyyyyzzzzzyyyyzxyyyxzzzyyzzzyzyyywyyyzzxyyzzyxxyxyxxyzzzyzzzzzyxyyxxzzyxzy{zyyyyxxyyyyyzyzyyyyzyxyxxzzzzyzzyyyyxxyyxyyyxxzzyzyyyzxyxzxzyyzxyyyxxyyxyyyyyyyzyyzxxyyyyyzxyyzzyyxyyxxxxyyyzyzzzyyyyxyyyyyyzyyzyyzyyyyyyyyyyyyzzyyyxyyyyzyyxyzzyxyyyyzyxyyyz{yy{yxyxyyyxxyyzyzzzyyxyyxyyyyz{yzyzz{zyyxyxyyzyyz{zzyyzzyyxyyzzz{zzyyyzyxyyzzzzzzzzzyyyxyyyzyzzyyzzzzyyyyyyz{zzy{{zzyyyzzzyzzyzzz|{yyyyxyzyyyyz{zzyzxzyzzzyz{zzz{|zzyzyzyzzzzyyzzz{zyywzzzzzzzzzz{zzzzzyyzyzzyyyzzzzxyzyyyyyzzzzzz{yzzyzyyyz{z{yzzzzyzyzyyzzzyzzzzzzyyzyyyzzzzzyz{zyyyyyyyyy{zz{zyxxxxxywxxxzyyyzzyxxyyyyxxyzyyxz{yzxyyyyxyyyxyyxzzzwyxxyxyyzyyxxyyyyxxyxyxyzzyyyyzxxxyzxxyyyyyzzyyxyyyxxyxyyzyyyyxxxyxxyxyyyyyxzyzyxyyxyyxxyyyzxyyyxyxxywyyxyyyzzyyxzxxxyyxyyyyzxyyxyyxxyyyyxxyyyyyyxyyyyyxxyyyzzzyxyyyyyxyyyyyzxzyxxxxzyyyzzyyxyzyyyyxxyxyyyzyzzxyxyyxxyyyyzzxyzyzyyyxyyzyxyzyyyyyxzyyxyyyzxzzyzyyyyzyyxxzyzzyzzyzyyxyyyzzzyzyyzzzzyyyyyy{yyyyzzzxyzxzywyyzzyyzzzyxxyyyyyzzzzyyzzzyyxyyzyyzzyzzzzzzyyyzzyy{zzzz{{yxzyzxyyzzzy{zz{zyzy{yzyyzzzz{{zzzyyzyxzzyz{zz{zzyyxyyxzyzyyzzzzyzyyyyyxyzyyyzzyzzzyyyyyyzyyzzyxxxxxyxxyyyyyyyz{yyyxyxxyyzzyzyyzzxyxxyyxyxxzyyzyyyzyyyxyzxz{yyzzyxyyxyyxyzyzyyyzyyyxyyyxxyzzzyyyyxxxxyxxyyzyyzzzyyxyyxxxyyyyyzzyyyyxyxyyzyyyxzzzxzyzyyxyyzzyyzzzzxyyxxyxyzyyyzyyzyyxyxxxxzxyyzxzwxxxxyxyyyxyzzzzxyyxyyzxyyyzzyzzyyxxzxzxzzzyyyzzyyyyyxyyzzzyzzzyxyzyyxyyzyzzyzz{zyzxxxyyxzyyzzzzyyyyzyxyyzzyyzzzzyyyxyyyzzzzyzzyzyzzyzyyzyzzzyyyyzzyyzyyzyyzz{zzzyzzzxxyzzzzyz{yyyzzyyyyzzzzzzz{xzyyzzyzzzzzz{{zzyyyyyyzz{z{z{{yyyzzzy{yzyzz{zzzzyyz{xzz{zzyzz{{zzzzzyxyzzyzz{{zyyyyzyyyyz{zzzyyyzyzyyyyyzxzyz{yxyxyyyyzyyzyxyxzyxxyxxxyyyyyxyzzyywxyxxxzzyyyzzzyyxxxxyyyyxxzzzyxxyyxyyyyxyzyyzzzxxxxxyyyzyyzyyzzyyxyxxxyyyyyzyyyyxxyxxwxxzzyzyyyyyxxyyyyyyyyyyyyyyyywxxyxxyyyyyyyyxwyxyyyyyyzxyyzyxxxyxyzyxyzyyzxxyywxyxyxxxxyyxyxxxyyxxyyyxyzyxyxxyzxyyyzyzyzzzyyyzyyyyyzzzzzzyxyxyxyyyyzzxzyzyyxyyyyyyzzzyz{zyyyzzyyyzzyzzyzyzxyxzyyzzzzzyy{zyyyyyyyyzzyzyzzyyyyyzyyyyyzyzzzzyzzyyyyyzzzzzy{{xzxyxyyyzzzz{zzzzyyzyzxyz{{yzzzyyyzyyzyyyzzzzzzzzzyzxzyyxzzyzyzz{zzzwy{yyzyzyzz|zzyyzyyyzzzzz{zyzzzyzzxyzzzzzyz{yyyyzyzxyzzzzz{z{zxzyyyxzyyz{zzyzyyywyyyyy{yzyyyxyxyxxyyyyzyyyzzyyyyywxyyyyyzzz{yyyzyyxyyyyyyyzzyyxxyxyyyyyyyyyyyxyxzyxyzyyzz{zzyxyxxxxyxyzyyzzyyzxyyyxyzzzxyyzyyyyxxxxxzyyyyyzzxwyyyzxyyyyzz{yyzxyxxyxxyyzzyzyzyyzyxyxyyyzyyzxzyyyzzyxxyyyyzyyyyxzxyxyxyyyyzzyyyxyzxyxxzyyyzzzzyyyxyyyyzzyyzzyzyzxxxyxyyzzyyy{yxyzxyyyyzzzyzzzxyzxxyyyyzyy{zzyyyyyyyzxxyzyzyyzzyyyyzzyxzyzzyzzzyzyyzzyyzzz{zzzzyyyyyxzyzzyzzy{zyyyzyyyzzzzz{{zzzyzxyzyyzyyzzzzzyy{zyzyzzyyz{z{{zyyzyzyyzzzzz{{zzyyzzzxyzzzz{zzzyzzyyzzyzyzzzyz{zyyyzzyyzzzzzyzzzzxyyyzzzzzzyz{zzyyzzyxyyzyyzzzzyyyzyyzxzzzzyyyzyyxxxyyxyyyyyyyyxxwxyyxxyyzxyzzzzyyxyyyxzyyyyyyzzyyxyxxxzyzyyzzzyyzxwyyxyzxyyzyyyxyyyzxxyxyxyzyyyxyyxxxyyyyyyyzzxxyxwxxxzxyyzyyyyxyxyxyyxyyyzyzyxyxyyxyyyxzyyyzzyyyyyxxxyxzyzzyyyzyyxxyyyyyzyzyzyyyxxwyxyyyyyzzzyxyyxyyyzzyyyyzzzxyyzyzyyzyzyzzyzyyyxxzyyyzzzyyzxyzyxxxyyzyzyzzyyxzyyxyyyzzzzyzzyxyyzyyyyzy{yz{yzzyzzyzyzzzxzzzzyyyzzyyyyzyz{zzzyzzyyyzzyzyyzzz{zyyzyyyzzzz{{{zzzzxyzyyyyzzyzzzzzyzzzy{zzzz{zyyz{zzyyyzyy|z{zz{{zyyzyxyy{zzzzz{zzyyyyyxzyzyzzzzzyzyzzxyyzzzzzzzzzxzyyyyyy{zyzzzzzzyyxzzyyzyzyzzzyyyyxxyyzzzyzzyyyxxxyyyyyzyyy{zyyyyyxyxxyyzzzzzzzzyyxyyyzzxzzz{zzxxyxxyyyyyzzyyyyzxwyyxyyzyzyzyyyxyxyyyyzyyxyyy{zxzxyxyyxzyzyzzyzyxyyyxxxzxyyzzzyyyxxyxxxzzyyy{yzyyzxxyyyyyy{zyzyyyyyyxxxzyyyzyyyyzxyxyxxyyyzyyyzyyyyyyyyzyyyzzzxxzxyzyyyyzyzzyzyxyxxyyyzzzyzzyzyyyxyyyzyyyyz{zzyyyyyyyyyzzzyz{zzyzxyxyyyyzyzzzzyyzxyyxyzzzyzz{yzyyxzxzyzzzyyzzzzzyzyz{zzy{z{zzyyzyyyyyy{{zzzzzzyyzyzyzxzzyzzzzzzyzyyyzyzz{z{{{yzzzyzzzyzz{{z{|zzyyyyzyzy|zzzz{z{yyzyyyzz{zzzz{zzzzzzzyy{{zzzz{{zyzzyyzz{yzy{zy{yzxyzyyzz{yzzy{zyzxyxyyyzyzzzyzzzyzyyyyyyzzzyyyyxxxyyxyxyzyyyyzyxxzyywxyyzzyyzzzxyxyyyzxyyzzzyzzzyyzxyyxxzyzyyzyyyyxxyyxyyyyyyzzzzzxyzyyyyzzzyzyyyyxxxxxzyzyyzyzyzyxwyyzxyzzzzy{xxyzyxyxyxyyyzzyyyyyyxyxxzzyyzzyyyzyxxxyyxyzxzzzxxxzyxzxyzyyzyy{zxyyyxyyyyyyyzzzywxyyyxxyzzzyyyzyyyyzyyyzy{zzzyyyyzyxxzyyzyzzyzzxyyyxyyyyzzzzzzzyxyyzyyyzzyzyyzzzyzyyzyyyzyzy{yzzyyyyzyzz{zzz{zzzzyyzzxzyzz{zzz{yyzyzzyyzzzzzz{{yyyzxzzxzzzyzz{{zyyyzyyyzzzz{zy{zzyyzz{zyyz{zzz{zzyyzzyyz{{{zzz{zyz{zzzy{z{z{yzzzxzzzzzzyyzzzz{{{zyzyzzzzzzy{zzzzyzyyyyyz{zzzzzzzyyyzyyyzzxy{zzzyyzyyxyyzyzz|zyyyyxxyxxxxzzyyyyzyyyyxxyyzyyzxyzzyzyxyyxxyyzzyzzzxxyxyxxxyzyzyyzyyyyyyxxyyyyzyyyzzzyyyyyxxzyxy{zyzyxyyxxxyzzyxzyyyyzyyyxyzyyyzzzzxwxyzywyyyyzyyzyxyyyyyyyxzyyyyzyyyxxyxyzxyyzyyzzyyyyxxzyxxxyyyyyyyxxyyyxx{xzyyyzyxxyzzyyyyyzyzyzyyyyyxyyxyzyzyzzyyyxxzyyzzyzzzzyxzyyyxxxzyzyyz{zxxxyywyyzzyzzzyzyyyyyyyyzyyzyz{y{yxxyzyyzzzyyzz{zyyzzzzzyy{zz{{zyzzyz{yy{zyzyz|zzyzyzyyyzyzz{zz{zzyzyzzyz{zzzz{{yyzyyy{zzzzzz{z{{yzzyzzzzzz{{|z{zyzzyzyy{zyzz{zzzyyyzyzzzzzy{z{zzyzyyyxzzzzzz{yzy{yyzxzyyz{zzzzzyzyyyyyxzzyyzzzyyzyyyxxzyyzzyzyyxxxxyxwxyyyzyyzyzyxxyzxyyyyzyzyzzzyyyxywyyyyzzyyyxxxxxyyyyyzxyzzxyxxyxzwyzyyyxyzyxxyyyxyzyzzzzyzyyyyyywyzyzyyyzzzxyyzxyxyzxyxyyyxyyyyyyyyzyzzzyyyyxxxywyzyzyzzzzxxyyxxyyyzxyzyyyyyxxyyyxyzzyyzyyzxyxxyzyzyyyyzzyyzzyzxxxyzyzzyzyyxxxyyyyyyyyzy{{yyyyxyyzyzyyzyzzyyyyxyyxzyzzyzzyyxyyyxyyzzyzyzyyzyyzyyyyzz{yyzzyzyyyyyyzyyzzzzzzxzzyzzzzzz{zyzz{yyy{yzzyyzyzzzzyzyyzyyyyyyzz{z{zyzzxzyxzzz{{z{{zzzyyyzzyzzzyz{{z{yyyyyyyy{zz{{z{zzzyyzzy{zzyzzzz{yyyyzyzyyy{zz{{zyzyzzyzzzyzyzyzyzzxyzxxyyzzzz{zyyxzyyzxzzyyzzzzyxyyyyxzzyyzyyxyzyxxwxywyzzzxyyzyxwxywyxzzyzzzzzyxyxyxzyzzyyyyy{xxxxyywxyzzyxyzyxxyxxxyxyxyyzxyzyxzyyyxxyyyyzyyyyyyxyxxyyyyyxzzyxxyxyyxxyyyzyyxzzyyxyxyxxzyzxyzzzxxzxyxxyyzyzyzyzxyyzyxyxyzzyyzzyxyxyxxyxyyzzzyzyyzxxxxyxyyxxyzzyyyy{yyyzzzyzyzzzyxwyxyxyzyzyzzzzxyxyyyyzzyzyzzzxxyyxyyyzyyzzyzzyyyxyxyyzyzyzzzyywzxyyyyzzyzxzzzyzxyzxyzyzzzzzzyzyyyzyxy{xy{zzzzxyxyyzyy{zyzy{z{zyzyyyyyyz{zz{{yyyyyyyyyz{zyzz{zyyzzzzyyzyzzyzzzzyyzyzzzz{z{zzzzzyyyyzyzy{z{{zzz{zxyzyzyy{yzz{{z{yyyyyyyzzyyz{z{zyyxzyzyzzzyzzz{{zzyyyyyy{zyz{zyzyyzyxyxy{{yzzxyxyxxzxywxz{yyyxzyyyyyxyxyxyyyzyzyyyxwywyyyzyzzzzyxyyxxyxyyxzzyxzyyyyyxxxyyyyyyyyyyyxyxyyyyxzyyzyzyyxxywxyyzyy{yzyzyxxxxyyyzyyyzyxyxyyxxxyyyyyyzxyyyyxxxyxzzyyyzxyxxyyyxyxyyyyzyzyyxyxwyxyyyxyyyyzxyxxxywyyxxxzzzyxyyyxyyxzzyyzzzyxxxyxxzyz{y{yzzyyzxyxzyyyyzzz{zxxyxxxxxzyzyzyzyyyyxywxyzzzyzyzzzxyxyyxyyyzyyyzyyyyzyyyyyyzyy{xzzyzyyzxzyzzzzzy{yxyyyzyyzzyzx{yzzyyzyyyyyzzzzzzzzyxxyyyzzzzzzz|zyyyzyzzyzzzyzzzy{yyzzzxyzzyzzz{|zzy{zzyyzzzyzyz{zyyyyyyyzyyzzy{zzyyyzyxy{zzzzz{zxyyxyzyyzzyzzz{zzzyyyzxx{zzzzyzzyzywyyxyyyyzyyyzyyxyyxxyyzz{zyzyyyxyzxyyyyxzzzzzyyzyxyyxyyyyz{zzyyyyyyxxyyzzyzyyyyyyxyxyzyyzyzyzzyxxxyyxzzyyzyzzzyyyyxxxyyzyyyyzyyzzyyyyyzyyxy{yxxxxxxyyyyzzyyyyzyyxyywxyyyzzzxzyxyyyyxwxyzyyzyzyyxxyxxxzxzzxyyyyyzyyxzyzyyzyyyyyyyxyzxyyxzyyzzzzxyxyyzyyzzyyzyzxzyyyyyzyxzyyyzzyzyxxzxyzzyyzyzyyyyyyyyyyzy{zyzyyxyyxyxyzzyyzzzzzzyxyzyxyyzyzyzzzyxzyyyzzzz{yzzz{yzyyzzzz{zzz{z|zyyzzyxzzzz{zzzzzyzyzzyz{zzz{zzyzxzzx|yxz{{z{{z{{z{zzyzyz|{zy|{{zyzzyyyyzzzzzzzyyzyy{yyzzzzzz{z{{zz{yzyz{yzz{{{{zyyyyyzyzyyy{y{z{zyyyyyxzzzzyzzzyzzyzyzxyzzzzyzyxxyyxxxxyyyyyyxzyyyyxyxyyyyxzzzyzxyyyyyxzyyyzzyyxwyyyyxyyzyzyyzzxxyywxyxxyyyzzy{yxyyxxxxxzyxxyyyyyyyyxxxyyzyxyzyyyyyxxxxzyyzyyzyxyxxyyyyyzyyyxzxyxyyxxxyzyyyzyyzyxxxyyxyyyyyyyyyxxyyxxywyyyyyxyyyyywyzxyzyyxzzyyyyyxyywyyyyyyzzyyyxyzxyyyyzyyyxzyxyyxxyxzy{yy{zzyyyxxyxyzzzyy{zyyyyyzyyyyzyzz{wzyyzxyyyyx{zzzzzyzzyyyzyxzzyyyzzzyzxyyyxyyyzyzzzzxyyyzyzyy{y{z{zzzyyxyzzzzzzzzz{zzyzyyxyyz{zzzzzzy{yxxzzyzzzzzzzz{yyyyzyzz{{zzz|{zxyzyyzyyzzzzz{yyyyzzyyzyyy{yzzzzzzzzyyzzzyzzzz{yzzyyzyyzzzzz{zzzyyyxyyyzzzzyyzzyxyyywyxzzzzzzzyxxxxxxxxyyzzzyzzyyyyyyyyyyyzyyzzyyxxyxyxyyyyyyzyxxxyyxxyyzzzyxyyyyywxxyxyxyzyyyyyxxxxzyxyyyyyxxyzyyxyyyxyyyyyyyyyxxyxywxxyyxyxzyzxyxyyyyyyzxyyyxyyyyxxxyyy{yzzyyzzyxxyxxyzzzyyyzxxywzyzxzyyyyzxzzyyxyxxy{zyyyzzyxxyxyyyyyyyyyyzyyyxxxxyxxyyyy{xzyxyyyyyyzyyyxzyyyzzyyyyzyyzyzzz{yxyyyyxyyzzzzyyyyyxyyyyxzyyyyy{yyyyyyyxxzzzyyyzyzyyyzyyx{yzz{z{zyzyzxyzyyzzzy{zzzyzyyzyyzz{{zzzzzyzyzzzxzzzzzzzzzyyzyyyyyzzzzz{zzzzzyzy{x{y{zz{zzyyzzzzyzzzzz{zzyyyyzyyzzz{{{y|zyzyyzzyzzyzyzzzzyyzyzyyzzzzzzzzzyyyyyzzyy{zyyx{zxzyzxyxzyyzyzzzzxwyyyyyxyzzyzzyyyyzyyxxxyzzyzzzzyyyxwxxxyyyyz{yy{yyzxyyyyyzyzyyyyyyyxyxxyyyxyyzzyxyxxyyxyzzxyzzzzxxxyyxxxyzyyyzyxxyyxxyzyyyyyyyyyyzyxyyxzxyzyzzyyyzywyxyxyyzzzzzyyyxxyyxyyyyzzyyyyzzyyyxxyzxzzyzyxzyyyxyyyxyyzyyyzzyyyywyyzyzyzzzzxyzxzzzzzyzyyzyyzyyyyyzzzyyzzzzyzzyyyyyzyxzzzxzzyyzyyyz{zzzzyzzzzyzyyyzyzzzz{zzyyzzxyxzyzzzyyzyyyzyyyzzz{zzzzzxyzyyyzyzzzzzz{{zzyzzzzyz{{zzz{z{yzyzyzzz{{z{{zzzyyzzz{y{zzzz{{zzyzzy{yx{{{{{z{z{yzyzxzy{zzyzzz{zyxzyzzzz{z{z{z{zyyzyyyy{yy{zyz{y{zxzzyzy{y{zz{zzyzyyyzyy{zzzzzzyyyyxyyzyyzyyzyxyyxxyxxxyzyzyyyzyyxyxyxyyyzzyyzzyzxxxzxyzyyxzzzzyyywyyyyyzxzyzyzyxyyyyyyyxzyzzyyyxxyxyxwyyyzyyzzyxyxxyxyyyzyyzzxxxyyxzzyyyyyyzyyywyyyxyyyzyzzxzyyyyyxyyyxzyyyzyzyxxzyyxxxzyyyyzzyyyxxyyxyxxyyyzyxyyyxyxyxyyyyzzzyyyyyyxwzzyxzzzyzyxyyxxyyz{yzyyzxzyyyyxzzyyzyzzzyzyyxyyxyzzzy{yzzyxyyxzyyzzzzzyzyxyyxyyyzyzyzyzzzyyyyxyyy{yyyzyzzzyxzyyyzyzzyzz{zzzzxyzzyzzy{z{{yyzzzzyyyyzzzy{zzyyzzyyxzzzyzz{{xyz{zzzzxzz{zz{z{xyzyzyzz{{zz{zzzzyyyyzy{zy{zyzzzyyzzyyzz{zzzzz{zyyyzyyy{zyz{zz{zzyyzyxyzyy{zz{{zyzyyyyzyzzzzzzzyyzyyxyzyzyzyzxyyyxxyxxxyyyyyyyzyyxyyyxyyzyyxyzzyyxyyyxyyzyyz{zzxyyyyzwyyyzyzyyzyxxxxyzxyzyzyyzzxxyxyyxyxyxyyyzxyyxxyyyzyxyyyzyzxyyyyzyyxxyyzyyzyyyyyyyyyzxzxyzzyxxyxxxyyyyyyyyzyxzxxxyyxyxzxyyzyyxyyxyxyyyyyyyzyxyxyyyyxzzyyzzzxyz{xyyyyyyzzy{zzyyyzyyyyzzzyyzyzxzyxzyzzyyyyyzzyxyyyzyyzzyzzzyyyyzyxxyyyyzyyyzyyyyyyxyyyyyzzyyzyzyzyxyzzzzzzzzzyyxyyyyyyyz{zz{zzzzyzyzyyzzzyzz{yyyzyxzzz{{{zzzy{zzyzxyz|{{y{zz{zzzyyzzzyzyzzzzz{yzxzzzzyz{zzzz{{yz{yxzzz{zy{z{zyyxzyxyzzzzyzzy{zzyzzyyz{yzzzz{zyxyyxzyzzzzzzyzzzzxyyyzxyzzzyz{yzyzxxxyyy{zzzyyzyxxxxxxxyyzyzyzyyyxyxxxxxzyyyyzzyyxxxyzxzxxyyyyyyyyxyxxxxyyyyxyyzyyxyxyyyyyzyzyzxxyyyxxwwyyyyzzxyxxyyyyyyyyxyyyyyzxyxyyxyyzzyyyyyxyxywxyyyzzyyzyyyyyyxxyywyyyzzyzyxyywxyyyxyyzyzyyxxxyxxxyyyxyyxyyxxyxyyxzyzzyyyzxxxyyyxzyyyyyzyxzyxyyxyzyzzxzzzyyyyxwyxzzzyyyzzyxyxyxyyyyzyyyzzzyyyzyyyxyyxzzyzzyyzyxyyyyyyyzzzzyyyyyyyyzzyzy{zyyzyyyzyyzzzzzzzyzyzyyzyzyy{yz{zyyxzyzyzzzzzzyzyyxyzxyzzzzzx{zzzyzzyzzzzzy{z{zzzzyyzzzyyz{zzzzzyzzyzxyyx{yz{z{z{zyzyyzz{{zy{zzzzyzyzzyxyzzzyyzz{yyyyxxxzyzzyy{zyzyxyyxyxyyz{zyzz{yyxyzyyzzzzy{yyyxyxxyyxzyxzyyyzyyxxxxyxyzyyzz{zyyyyxyxxyxyyzyzzyxwyyyyyyyzzyyyzyxyxxyxxyyyzyzzzzyyyxxxxyyxxy{zzyxyzzyyxyyyyyzzyyyyyyxxxzyyyyzyzyyxxxxyxxyyyzzyzxyxxyzyyyxzyzy{yyyyyyyyxyzzzyzzzzxyyyyzyyzzyy{yxyyyxyxxxxyyzyyyzyyzyyzxxyxzzzyzyyxyyxyyyyyzyyzyyzxyyyyyyzyyzzyyzyzyyyyyyzzzxy{yyzyyzyxyyyzzzzzyyzyyyyyxzyzzyzy{zzyzyyzyyzzzz{zzyzyyyyyzyzyyyyzzzyzyyzyzxzyy{yz{zyzzzyyzyzzyy{zzzzxzyyzzy{zyzzz{{yyyyzzzzy{zzz{zz{zzyxzzzz{z{zzy{yzzzyyz{zzzz{{{{{zyzzyyzzzy{{zz{zyzyzzzzzyz{zzz{zyyyyzyz{z{yz{{{zyzzyzyyzzyzzzyzyzyy{yyyzzzxz{zyxyxxyyxyxyyxzyyyzxxyyxxxyyyyzyzzzyxxxzyxyxzzzyyyyxxxyxyywyzzyzyzyyyyyyxxzzyzyzyyyxzyyxxxxyyyxyzyzyxyyxxyxyyyxyzzxyyxxxyzyxwzyyyzyxyxxxyxxyzyyzyyyyyxxywyyyyyyzyyyyyyxyyyxyzyzzyyyxyzyyyyyzzyyxxyyxyyyyxyxyyzyy{zyyxyzyyyyyyyyyzzyyyyyyxyyzyzzzzyyyyyxxyyyyzzyyz{yxxxxyyyyyzyzxzzzzyyzyxyzzzzzz{zxxxyxyxxy{zyy{zzyyyzyyxzyzyyyy{yzyyyxyyyyzzzzzzzzzyzzyyxzzzzzzzyzxyyyxyzzzzzz{{zzyzzzyzzzzzzzzzyyzzyzzyyy{zyzzzzzyzzxzyyy{zzzzzzzyzyzzyyzyz{zz{zzzzyzzyzyyyzzzzzzzzzyyzzzzyzzzz{zyyxzyzyyzzy{zzzzzyxyxyzyzzzyzyzyyyxyyyyyzzyzyyzyyxxxyyxyyxyyyzyxyxxyxxyyyyzyzyzyyxyyyxyyzzyyyyyzyxxyyxyyyyzyyzzywxyxxxyxyzyyzxyyxzyyxxxyyyyyyyxzyywyyyxyyyyyzyyyxxxyxwyxyyzyzzyyxxyyxyyxyxyyyzxxxyxyxxxyzyyyxyyyxyzxxywzzzyxyyxyxxxxxywwyyxzxyzxxyxzxxxyyyyyzzzyzxyyyyyyxyyzyzzyzyyyyyyzzyyzxzzyyyzyyyyyyzzyyyzzyyyxxyzyzzyyyzzyyyxyyyxx{zzyzyzzxyyxyyyyzzzyy{yyyxzyyyyzzzyxzzzyyyxyyyyzyzyzz{yyzyyyyzyy{yzy{{yzyyyyyzxzzyyyzz{zyyy{yzzzzzz{zzzyyyyyzyzyzyzzzzzyyzzyzyyy{zzzyzzzyyzyyyyzzzzz{zzyyyzyxyyyyy{yy{zzyyyyzyzzzzz{{zzyyzx{yzyzyyyyzyyzzyzyyyyyyyyyyzyyyyxyzyyy{zyzzyxxyxxxwxxyyyyyxyzzyxxxxxyzyyzyzyyyyyyxyxyzyzyyyzzxyxywxxxyyzwxyzyyyyxxwxxyyyzyzyyxxyyxxxyxyyxyyzyxwyxxxxxxyzxyyyywxywxyxxyywyxyxyxxxxyyxxxyzzyzzyyyxyyyxxyyyyyzxyxyyxxyxxxzyzyyyyxyyxxxyyyzyxyzzyxxxyyyxyyyxyxzyxxxyxyyxyzxyyxxzzyyyyxxyxzzyyzzyyyyyxxyxzyyyyzzzyyyxxxyyxyyzyyx{zzyxxzxyxyyzyxyzzyyyxxyyyzyyzyyzyyyzxzyyyzyyyxzzzyxyyyzyyxzyyzzyyyyzxyyyyyyzzzzzzyyyyyxyxyzzyzzzzyxyyyyzyx{zzxzzyyyyyyzzzy{yz{zzzzzyyyyyyy{zyyzyz{xzzxyyyyyzyzzz{yzxyyzzyzyz{z{zzzyyyyzyyy{yzyzy{yyyyxyyxxyyyzyy{zyzyyxxxzzz{zzyzyzyyyxyyzzyzyzxxxyyyxyxxxyyzxzzyyxyxxxyxxzzyyyyyyxwxyxxxyyxyyyyzxxxyxxxyyzyyyyyzyxxxxxyxyyyyyzyzyxxzxwxxwxyyzzzzyxxxxxxxyyyzyyyxyxyyyyxyzyyyzxxxzyxzyyxxzyxyyyyyxxyzyywyzzyxzyxyyyyxxxxxyyxyyzyzyyyxxxxxyxzxyyxzyyxyxxxyyzxyyzzyxyxyyxyxyyyyzzzzxxyyyxxyzzzzyyyzzyyxyyyyzyyyyzyzzxxyyyyyzzzyzzyzyyyyyxyyyzyyyzyyyxyyyyxxzyyxxyzzyyyyxxxyyzyyz{yyzyzyxyxxyyzzzyzyxyyyyyyyzyyzyyzyzyyyyyxx{zzyyz{zzxyyxyzyzzzyzzzzzyyzyyzzy{zzz{zy{xzyyxyzy{zzyz{zxxyyyyyxzyzzzzzzzyxyzxzz{{yzyzz{zyyzzyzyyyyzz{zzyyyyxxxzyzzz{yz{yyyxyyyxzyyyxyyyzyzwyxyzyyyxzyyyyyxyzxzyxyyyxyyzyxzyyxxyyxyyyzzzyyxxxyyxzyzxz{zyyyyyyxxyzzzzyzzyyxyxxyxxyzyzzyyzxyxxyxzwyzzyyzzyzxywxxxyzyyyyyzyxyyyxyxyyzyzyyyyyxxxyxyxyyyyyyzyyxxxyxxxyyyzyyyyyxxyyyxxyyzzzzzzyyxxxxxxyyzxyyyzyyxyyyxyxyzyyzzyyxzxxxyxyyyyzyzzzxxxyxyyyyyyyzyzyyyyxyzyyzzyzzzyyxyyyxzyyyyzz{zyyyyyzxyxzyyzzzyyyyzyyxyxxzzyyy{yzyxyyxyyzzzyzzzzzyyyzzyyzyzzz{zzxyxyzzzyyzz{xzz{zyyyzyyxzy{zzzzyzyzzyxyyyzzzz{zzyzzyyzyyyzzzzz{z{zyyzzyyx{{{zzzzyzyzyyyxzzzzy{z{{xyzzyy{zyzz{{z{zzzyzyxy{y{z|zz{zyyxyyyyz{zyzzyzyzyzyyyyyzyzyyzyzyyyyyyzyyyyzzzyyxxxywxxxyyyy{xzzyxyyxxxyyzzzyzzyywyzyyxyyyzyy{yzxyxyxxxyyxyyyzyyzyxxyyxzzzzyyyzyyxyyyxzyyzyyyyyyzyxyyyxyyzyyzzzyxxyxzwyyxzyyxyyyxxyyxxyyyyyzzzzzyyxxxxyyxzyyyyyxxzxxxyxyyyyyyzzzxyyxxxxxzzyzyzzzyyyxxxyyzyyyzyzxxyyzyyyyzyzzyzzyyyxyxyyzzyyyzyyyyyzyxzyzzzzyzzzxyxxxyyxyzyzyzzyyyyyyyyyyzyxzyzzyyxyxyyyyyzzzzzzzyxyzyxzz{zxyzzyzyyyzzyyyzyzz{{zyyyxxy{yyzz{zyz{x{yzyyzxz{yzzz{zzyzzzyyyyz{zzz{{zxxyyyyzyyyzz{zz{xyzyzzxy{zzz{zzy{zzyyzzy{zzzzzyzyyzzyzzyzzzzz{zz{zzxzyyzz{zzz{{zyyyzzyxyzyyzzzyzyyxxzxyzzxzzzzzyyyxyyyyyyyzyzyyyyzyxxywyzyyyyzzyyzxyxzxxyyzzzzyzxyyxyyyyzyyyzzyyxyxxyxyzyxyyzzyxxyzxyxyzyyyyzz{{xyxyyyxyyzxyzzzyyywyyyyzzzyyzzyyyyxyxxxyyxyyzyyzywyyxyxyzyyyyzyyyyxxywxy{zzyzyzxzyxxyxyxyyzzyzzxxxyxxyxyyyxzxyzzyzxxxyyyzyyzzzzyxyyyzxxyyyzzyzyyyxyxxyxyyyyyzzyzyyyyxyyyyxyzzz{yyyyyyyyzzzxyyzzyyzyzxzy{zzyz{zzzyxyyyxzyzyzzy{zyyyzyyyy{yzxzyzzyyyyzyyyyzyzzyyyyzyyyyzzyzyzz{z{yzyyzyyxzyzy{z{zzyyz{zzyzzzzzzz{yyyyzzyyyzzyzzyzzzzzzzyyyzzzzzzzzzzyyyyzy{zzzzzzzyyyzxyyzzzzzzz{zzyzzzyy|zzzzz{{zzzyyyyyyzyyzz{yyyyyzyyyzz{yzy{yzyyyyyyyzzyzyyyyyyxyxyyxyyyyyxyzxxxxyxxxyzyyyyzyxyyxxyyyxzyzyzyzyyyxyxxxyyyyyyzzyyyxxyxwyyyyyyzzwyyxxxxxzyyxyzzxxxyxxxyxyxyzxzyyyyxxyyxxzyyyxzyyxxxxxyyxyyyxyyzxyxxxxwyxyyzxyyyxxxxyxxxxxyyyyyyyxxxxxxxxxyxxy{yxxyyyxyyyyyyyxyzyyyzxyxyyxyyyzx{{yyxyyyyyxyyyyzyzzxxyyxyyzyyyzzzyyxxxyxyyyyyzxzyzyxyxxxyyyzyzzzyzxyzyxzyxyzzyyyyzyyyyyxxyyyzyyyyzyyyyxyxxyyzzz{yzxyyyxyyyyzyzzyzzzyxzyyyxzzyzyy{zzyzxzyyyzzzzz{yzzzzyyzyyzyzy{{zzzyyyzyxzzzzzzz{zyzyyyyyyyzzzzyzzyzyyzyyzyzy{z{zzzzyyzyyyzyyyyzzyzyyyzzyyzzxyyzzyyxxxyyyxyyzyzy{zyxyyyxxyyyyyzyxxyyxwyxxyxyyyyyyyyxyxxxxxyyyyzzyzzyxxyyxxzyzyyyyyzxyyxxxyzzyyxzzzxyyxxxyxyyyyzyyzxyyxyyxxxyyyxzyzxxyyyyxyzyzyyxyyyxxyxxyxyyyyyyxyxxywyyxyyyyyyzyyyxxxxxxyxyzyyyzyxyxxxyyyyzxyyzyyyxxyyxzxxxyyyxzzyxxxyyxxxzxyyxzzyxxyxzxxyzzyyy{yyyxxyyxyyzyzyyzzyyyyxw{yyyyyzzyyyyyyxzyyzyyyzzyzzyzyxyxzxyyzyz{yyyzyyxxyyzzyyzzzzyywwyyyzzyyyyyyyzyyyzyyyz{zyzzzzyyyyyxyyyzzzzyzyxyyyzyzzyzyz{yzzyyyyyzz{zyzy{yzxyyyyzzyzzyz{zzzzyyzyzyyzzzzzzzzzzzzyyyyz{zzzzzzzzyzzyzzzzzz{z{{zyxxyyyzzyyzy{zzyyzxyyzyyzyzzzzy{zyyyzyyyyzyz{z{xzzxyyyyyzyz{zyyyyxxxxyxxyyxzyyyxyyyyyxyyyyyyzyzywxyxxyxyyyzyyzyyxyyxxxxzyzyyyyzzxyxxyyxyyzzzyyzyxyxxyyxyzxxyzyzxyzxxyyxxyyzyyyxyxxwxyyxyxyyxzzzxxyxyxyyyyyyyzzyxyxxxyxyxzyyzzyyxyyywyyxyyzzyyzyyxyxxyzxzxyyyyyyyyyxyyyxxyxyyyzyzxzzyyyxyyyyzyzzyxyyyyzyyzzyzzzzzxyyyxyyyyzyyzyzxyxyyyxyzzyzzyyzzyyxzxyyyzyyyzzyzyyyxyyxzyy{yyzyyxyyyyxyyzyzyzyzyzyzyzyyzyz{yzzzyyyy{zyyzzz{zzzzyxyyzyyx{zzzzy{zyyzzzyxyzzxzy{{zyzyyyz{zyzzzy{z{zxyzyyxyyz{{z{{{zzzyzyyxzzz{zz{yyyzzyxyyzzzyzz{zzzyyzzyz{zyyzyyzyyyxyxyzzzzz{{zzyyyzyxyxzzzzzz{yyyyxyyyxyzyzzzyyzyxyyxxxyzzxyzzzyyyyyyxyzyyzyzzyzxxyxxyxzyyzyy{zxyzyyxyxyyzzyyyyyxxwxxyxyzzyzyyyyyyxyyyxyyzxyzyzyyxxxyxxxxyyyyzxyxyxyxyxyyyzzyzyyyyxxxxxzyxyyzyxxxyyyxxyyyyyzyxyyxzxxxxxyyyyzyzyyxyxyxyxyyxxyyyyyxyxxxxyyyzyyzzyyyyxxyyxyyyyzz{yyyyxyyy{yyzyyyzzyyyyxyzyyyzzzzzzyyyyyyyyzyzzzzzzyyzyyxyxyyyyzzz{yyyyyyyyzzzyz{zyyzyxzxxyzyyyzzyyyzyzyyyyyzz{z{zzxzyxyzzxyyy{yzzzyzyyyyyyzzzzzzzyzyyzzxyyz{zzzyzzyyyyxzzzyzzzyz|yzyzzyzyzy{{{y{z{yzzzyzyyzz{{{z{{zyyzyyzzzzy{yzzzyyzxyyyzzzzzzzyzzyyxyyxyzzzzzzzzzyyyyyyyyzyzzxzzzzyyxzxy{zyyyyyxyxxyyyxyzyyyyzzyyyxyxxxyyxxyyzzzyzyyxyyxyxyxyyzyyxxyyxyxxzyyyyyzyyxwxxyxyyzyyyyzxxyyyyyxyyyxyyyyxyyzyxxxxxyzyzz{xxxxxxxxxyxxyzyzxyxwyxyxxxzyyyzyxwxxxywxzyyyzxyyyyxxxxxxyyzzyxzzyxyyxxzxyyxxyxzxyyxxywxyyyyyyzzyzxyyyxyyyzzzyyyyyyyyyyxxyzyyyzx{yzyyyxyyzyzyzyzxyyyyxyyzyyyzyyzzyyyxyxxxzzyzzzzzyywyxzxyzzyyyzzzyxyzyyyxyyzyyzzzzzzyzyyzyyzzzzzyyzyyyyyyyzyyzyyzyyyzyxxwyzzzz{yzzyzyyyzyzz{yyyzzzyyzyyyzyzzzzz{z{yyxyyyyy{zzzz{zzzzyyyyyzzzzz{zyzyyzzxyyzzzy{z{{zyyyyzyzzzzzzz{zyyyyxyxyyyzyzy{zyyxxxyyzyzzzyxy{yyzxyyyzyzzzy(Fw7a*{||zz{z{|{{|}|||||z{z{|{{{{{{}}|{{z{{|z||{{|||||{z{|z{{zz{|z{{{{{{{zz|{{{{{||{|||{{{z{{{{|{{{}{|{{z{zzz{{|{{|||{{z|{{{{{{{|{}{|{{zzzzz{{{|{{||z{{{z{{zz|{{|||{{{|{{z{{{z{{{{|||{y{{{zz{z{{{{||{z|{{zz|{z{{{{|{|zz{z{{|{{|{|{|}{|{{z{z{{{{|z|{{|{{{{{{{z{{{|{{{|{{{{z{{||{{||{|{|{{{{{{{{|{|{||||{|{{{zz|{|}||||{{|{{z{{{|||{~}{|||{{{z{}{||||{{{|{|{|||||{}|}}|{{|{{{{z{||}}||||{{|{{{{|}{||||}{{{{{{{||{|{|}|{|{{||}{{|~}||||}|||{||{{{{{|}||||{{{}||{||{||||||{{|{{{{||{||{|}{{{z{{{{{|{{|{|z{{{{|{{z{|}||{{|{{zzz{zz|{{|{|}||{{{{{{{||{||{{||{{||{z{{{||||||{|{z{z{{|{|||{{|{{|{zz||||{|{|{|z||{{{zz{|{|||||{{{{z{{z|{|{{{||{{{{z{z{{{{{|{{{{z{z{{{y|{|{z{{|z{{{{z{{z{{{z{{z{{z{{{y{|{|||{|||{z{zz{{zz|{||||z{zz{{{z{{{zz||{{|{|z{{{{{zzz|{|{{z{{{z{z{{{||||{z{z{{zz{||{{|{||{{{|{{{||{{{||{z{|z{{{z{{||||{||{{{{z|z{{|{z{|{{{z|{{{z{|||{{}{{{{{{{{{||z|z|||z{|{{|{{}}}}|}|}{{z{{{|{|||||||}{{||{{z|||{}||}{}{{|{z{{}}{{||||{{{{{|{{{|}}}|}}}z{{||||||}}||||||||{{|{|||}|||{{{{{{{{{||}|}}||{}{||{{{||{||}||{{{|||{z{}{{|||{|{{|zzz{||{{|||||z{{{zz{|{||{|{||||||z|{{|||||||{{{{zzz{|{|{|{||{{{{{zz||||z{}{|{{{{{{{z{|||{{{{{z{{{{{{}{{|{z{|{z{{{{{{|||{z{|||{{{y{{{{{|z{||{{{zz{{z{|z{||{|{{{{zz{z{{{||{{{{|{zz{zz{|{{{|{|{|z{zzz{{||z{{z|zz{{z{{{z{{|z{|{|{|{z{{{{{{z{{{}{{{{z{z|{{|{{z||||{z{{z{|{{}{{||{{{{{|{{||{||{|{|{{{{|z{z||{{{{|~{z{|{{|{{|{}|||{|z{{{z{{{|}||||{{|{{|||{|||{{|{||||||{|{|{|{{|||{{{z{{|{|||||}|}{{{|z{z{{{{||{|||z{|{|||}}|||||||{{|{z|{|}||||}}|{z|{{|{{}||}|}|}{{{|{{{||}||}||{{{|{{{||{|||{|}|{|{{||||{}|||}|||{{||z{{||||{{||{{{{{{{{|{|||}{{{{{|z|{{{||}{|}{|{{|{z{{||{||||{{|{||{{{|~{|||||{{z|{{{{|}}{}|{{{|{{{{|{{{|{{{|z{{{{{{{{{{|{{||{z{z{yzzz{{{{||{||{{z{{z{{||||z{{{{{{{{{z{{{{|{|{{z{zzz{{z{{{{{|{{z{yz{{{{{|{{{{{{{{{{z{|{z|{z|{{zzzzyzz{{z{{{{{|{{zzzz{||{{{|||{|{{{{z{|||{|z}{||zz{{{{{|{{{z||{{{{{z|z{{{{|{{{{z{|z{zz|{|}||||z{{z{{{{||{{{{|z{z{z{{zz{{||{{||{{z|{{z{{|{{|{{|{|{||{|{|{|{{{{|{{{{{{||{{||{||}{z{||{z|{|}|||||}z{{|{{||}|{|}|}{z|||}|||||||}|||}|{||{|||{{|{|||{{|}{|z|~||{{~{|{}{{{z|{|{{}||~{{z|||{|}{|||||}|{|z|{{|{}||{|}||{{|{z{{}{|{{|||{{{z{{{{||{{{}|||{{{|z{z|}|{||}}|{|{z{{||||||{}|z{{{{z{{}{{||}{|{{{z{{zz{{{|{|||}{|{{{|z|{{||{{{{{{z{z{z{|{zz||{|{{{|{{{{{|{|{|z{z{z{{{{{{z{z{z|{{zz{zzzz{{{{{|||zz{z{{z{{{{{{|z{{z{{z{{{|{|{{||{{zz{y{{{{{z{{|{{|zzzz{{z{{{|{{{{{z{{|z{{{{{|{|||{{{{{{{{}|{{{|||{{{{{z{}{{{||{{{{{zz{|{|{{|||{|{{{{{{{z{{|{||{{{{zz{z{{{|||{{|||{z|{|z{{{{|{||{{{|{z{{{z{|{|}}||{|zz|{{{{||{}|||{{z{z{y{||{||||{{|{|{|{{|||{}|{||{{||||{||{}|||||||z{{{|}|}|}~}||||{{||{|||||}}{{{{{{z{|||||{|}|{|{||{{|{{|||||{{{{{z{{{|{|{{|||{{{{{{{{}{|{{{{{{{z{|{z{{{{|||{{{|||{{z|||{|||}{||{{{{{{|{{|||}|{|{|||{|||{|||}|{{z{{{{{{||z{||{{{{z{zz{{||||||{z{z{|{zz{|{{{|{|z{{{{z{{{|{{|{{|{zz{z{z{{{{||{|y{zz{z{{{{z{{{{{{{{{z{z{{{|z{||{zz{z{z{z{{|{z|{|{z{z{{zz{|zz{{{{zz{z{zzz||{{{}|{|z{{z{{z|{||{||{{z{yzz{{{{|{||{|{{{{zzz{{|{{z|{|z{z{{zzz||{{{{|{|z{{{zz{{{{|||{|{{{z{{{{||||{{||{zz{{{zz{|{{{|||z{{z{{{{|{{|||}|{{{|zz{{{|||{|}|||z{{z{{||{||||{{{|{z{{|||||||{|}{{|{|{{||{}}|||}|||z}|{{}||}}}||{|||{||||}||||||{{|z{{||||||||{||{{||{{{||}|{|||{{{{{{{||{||{}{|{{{{{z|{|{z|{{z{zzz{{z{|||{{|}|}}|{{{|z{||{{}||z{{z{|{{||||||}{|{z|{||{|||||{||||z{{{{{{{{|{||{|{|{z{{{{{|}{|||{{{z||zz|{{{{|{|{{|{y|{{||{|{||{{z{{{zz{{{|{{z{|z{zz{{z{|{|z{{{{|{zzz{z{{{|z|{||{{z{zzz{{{{{z||{{{{{{z{zz||{{{{{}zz{z{{{|{{|z{||{{{{{{{zz{{{{{{|{|zzz{{|z|}|{{||||z|z{|{{|{{{||}{{|zzz{|{|{{|||{{{|{{z{{||{{{|{}{||{{|zz|{||{|||{z{{{||{||||{{}{|{|||{||{||}|}||{|{{||{|||}|{||}|{{{||{{||{{}|||{{||||{{}|||||}}{{{{{{|{|}{|}}||||}z{{|{|||||}|}|zz||{|{||||||||}z{||{{{}{|{{|}||||{{{|{|||}|}|}{|{{|z|z|}|{|}{{|{|z{{|{{}|{|||{{{{{{z{{{|{{{}|||{|||||{|{|||||||{{{{{|{|{|{||}||{{{{{{{|{{{|||}{{z{zzzzz|z||{||{{{{zz{|{z|{{|||{{{zz{{zz{{{z|||z||z{{zz{{|{{{{{{zz{|{z|||{{{{|{z{z{zzyz{{{{{||{zzz{{{yz{{{|{{{||{{zz{z{z|||z||{z{z{zyzzz|{{{|{{{{{zz{{{z{{{{|||{{z{{z{{{z|||||{{{{{zz{z{|{||{||||{z{zz{{|{|||||{{{|zz{z{|{|{{||zz{|{z{{|{|{|||{{zzz|{{{||{{|{}|{{{{|z{|z{{z||||{{{{z{{{{||||||||y{z{||{|{{||}|}{{{{{zz|{{}}||}}|{{z{|z{|}||||}||{{{|{||{|||}|||||{{z{{|{||||{|}{||{||{|||{{||}|}{{|||{||{||||}{|{{{{|{{|{{|||}}{{{zz|{|{|{|{|{||{{{{zz{{{|{{|||z{z{{zyzz|{|{}|}{||||z{{{|}{||}}|{{||z|{}||{||||}||z{{{{}|||{|}||z{||z||{|||{||{{{|{z{{{|{{{|{z|{z||z{{{|{||{|}{{{{|{{{z|||{{|{{}{z{z{z{{{{{{|z}{{|z{zz||z|||{|{{zz{{{{z|{|{{|{{{{z{z{{{{||{{{||z{{{|zz{|z{{{{{|{{{{zz{{z|z|||{|z{{{{{zz{z{|{|||{{z{{{{{|{{{|{|||{{{zz{z|||{|{||z{z{zz{{|{}{||{|{|{{{|{|{|||{|||{{{{{||{{|}}|{|||{|{{{{||{||{||{|||{{{z{||||}||||{|||{{{{|||{}{||{|{z{{{{||}{|}|{{||||{{|||{}||||||{{|||||{{|}|}|{||||~{{|}|||}|||}|||{||||||}||||{|||{{||}|||}}{{z|{{||||||}}}}|{{{{zz{{|{|{}|}}}z|z{zz{{||}||{z{{{{{{z{|{yz||}{}{{||{{||||}||}|||{{z{{{||{{||}|{{y{{zz|||||||||{{z{{z{|||}{|||{||{z{|z|{{{||{|{z{z{zzz||{z||{{{z|{{{z{{|||||{|y{z|{z{{{{{{{|{{{y{{zy{z{|{{|{{{{z{{{zz{{{|z|{||zz{zz|yzz||||{||{{{{{{z|{{z{{{|{z{{z|z{z{|z{{|{|zz{|{{zz{||||{}{zz|z|z{zz{|{|z|{zz{z{z{{{{{|{||{{{z{{y{z|{|{|{{|{z{{|{z{{||{|~|||{{{{z{{{||z{{|{}{|{{{{{{|{||{{|||{z|{z{z|}|{||{{|{|{{{z{||||||{{|z{{z{{||{|||}|{}{{{|{{|||{{|}|{{|z{{|{||{}}}|||{{|{|{{{~|}{||}||{|{{{|||||~||||z{{{z{{|||{|}}||||{{{{{|||{||}||{{{|{{{{|{}||||{{{{{zz{{|{|||{|{{{{z{{{{|{{{||}|{|{}}}{||}}|}}~{|{||{{{|||}}||}{|{z{|{z{||||||}{z|{{{{{|{||||}||{{z{z{{{|{{}||||{{{{{|{|{{{{|{|{{{zz{z{{z{{{{{{{{{zzz{z|z{{{{{|{z{z{z{z{z{z{||zzz{|{zz{{{{{{||{z{{{{z{zz||{||{|{z{{{y{z{{{{{|}||{|z{yzz|zz{||{|{z{{{||z|{{|{|}{|{{{|z{{||}}|{{|{{{{y{{|{|{|||||z{|{{zzz{||{|{|||{{z{{{z{{|{{||||z{||z{z||{||{}||{{{{{z{{|}z{|{|{z{|{{|{{|{||{}{{|{|{{{{||||||||||{|{{|{{||{}|}|}{|||{|{||}|||}}|{|||{{{|||||||}|{|{|||{}}}|||}|{||||{{{||}}}|}{|{{{{{{{||}||{|}||{||{{{}{||||}|{||{{|{{{}|{{||}{|{{{{{{|{{{|{|||||{|z{{{||||||}|}|{||~{{|}|}||||||}{{|}{{|||}}}{{{{}{}{|||||}|{|{{{{{z{{||{{|}}{{{z{{z{||}{{}|{|{{{{|{{{{{z{{}{{{{{z{{{{{|{{}{{zz{z|{zz{z{|{z|}zz|z{z{{|{z|{{{||zz{{{{z{{{{|{{{}z{{z{{{z{{{{|{||z{{z{zz{|{{{{{{{{{z{z{{|{{|{}{{{|{{||z{z{||z{|{|zzz|{{z||||||||{{{|{z|{|{|{||{|{{{{{{{{|{|{|||{{|{{{{{{{|||}|{||{{{{{{{|||{|}|||z{{{|z||||{{{{{|{{{{{{{}{{}{||{{{z{{|{|}{{|{|||{{|{|{{{{||{|}||{{|{z|{{|||{|}|{{|{{|{||{{|}|}|||{z||{{{}||||}}|}{||{{|z{|{}|||}{{|{{|{{|{|{}|}}|{{|{{{||||}|}|}{||{{|{|{||||||||{|{{{{{{|||{z{{{{{z|z{{{||}{||}{|{{z|{{|{}|{}||{|{{|{|{||||}|||}z{{z{{{|{{{||{||{{|{z{{|{||{|{{{{{zzz{z||{|{{||{z{{{{zzz{|{{{||z{{{zzzzzy{{{{{{zzzzz{zz{z{{{||{{z{{{z{zz{{|{{{{{z{{z{z{z{z{{|}{zz{{zzzzz||{{zz{zzz{{{{zz|z{{{|{|{{z{zzz{{z{{|z{zz{y{{z{z{{||{}{{z{z{z|zz{{{|{{z{{{zzzz{{{{{}{||{z{zzzzz{|{{{|{|{z{zzzz{{}z}|||z{yz{z{{z|||{{{|{|zz{z{{||{{{{{{|{{|{|{zz{|||{{||y{{{zz|{{{{}{|||{{{{z{|||||z||{|{{zz{{{{|{|{|{||{{{|||{{{||{|||||{{|{{{{|||}||||}{{|{{|{|||||||}|{{{{|z|||||}{||||{{{|z{}{||||{|{{{z{z{z{}{|{{||{{{zzz{{||{|{|||{|{{z{zy{{{{{}||{{{||||{|{}||||}||{{{{{{||||}|||{{z{zz{{||{||||||{{{z{{|||{{||z|||zz{{{z||{{||{|{z{{z{{z{{z|{|||{z{z{z{z|{{{{|{{z{{zzzz{{{|{z{{{{zz{{z{{{|{{{{|{z{{zzzy{z{{z|{|z{{{{z{{zy{||z||{{z{{{{{{||{{z{{z{zzzyz{{{{z|z{||{z{{z{z{|{{{{|}|z|z{z{{{{{{{|{z|{z{{{{{{{{z||{|{{{z{{{z{|{|{{{}{{z{{yy{y{}{{|||{{{{z|{{zz|{|{z|{{{{z{{{{{|{{{{{{|{|{{{{{|}||{||||{{|z{{{{}{|{|||||{{{z{z{}|||{}||z{{{z{z|{}|{|||}|{{||||{|||{||}|{{{{||{{|{||||{|{|{{{{{{|{|||{||{{{{|{{{||{||{}|{{{{{zz||||{{{}{{{{z{{{|{||{||{|{zzzzz{{|{{{{|{|z{{zz{{zz|{{}|}|||{|{|{}|}|}{}|{z||{|{{|}||{|{}|||{{{{{{|{|||||{|{{{z{|{{||{||||{{zz{{y||{|{|||{z{{z{{zz||{z||{{{zz{{{z{{|{z{{|z{{zy{zz||{{{{{{{{zzzy{z{{{{|{|{{z{zz{z{{{{z{|{zzz{{zyzz{z{{{{{{{{zzzzzzz{{{{|{{|z{z{{{{{|{{zzz{{z{{zzzz{{{|{{{|{{{z{zzz||{{|{{}{zz{{{{z{{|{|{z{{{zzzz{z|{{{{{||{|{z{zzy{{|z{|{|{zz{{zz{{|{|{{{{{{|{z{{{{{{{|{{{|{{{{{z|{z|{|}|||{{z|zz{||{}|{|||{{||yzz{||||{|||{|{{|{{{|}||||}{{{{||||{|{|}|||||{{||{{||}|||||{z{{{z{{||{||}||{{{{{|{|{{|{||}|z{||{{{|||{}{{|}{||{{z{{{{|{z||{{{{{y{z{{||{z{{|{{|{{z{y{{{{{}}|}}|{}{|||}}{|}}||{|||{{{|||{}|}}{|{{{|{z{|{{{||||{{{|{{z|{|{{||||{|z{{|z{{|{{}|{z|{{{{|{{|z|{||{{|zzy{{z{{|{{{|{z{{z{{{z{|||z|{}{zzz{{zzz{{{|{{{{z|{z|{z{z|{{||}{z{{z{zz{|{|{||{{z{{zzz{{{{{z{{{{{zz{|{z{}{{{|{|{{{zz{z{z|{{|{||{{{{{z{{|{{{||||{z{z{z{{|{|{}|{|{{{{{zzz{||{{|||zz{{|{|{{{{{|{|{{|zzz{{{{{|{|z|{|{{{{z{{{|||z{||{{{{{{z{||{{|||{|{{z{{|{{|||||||{{z{{{{y{|}|||{}||{{|{|{{|||||||{{{|z|{{{}|||}||{{{|||{|{||||||}{{{|{{{{|||}|||||{{{|z{{||||||}{|{{{||{{|}{|}|~~z{{{{|{|||{|{||||{{zz{{{|{||z{}{{z{{{{{z{{z|{|}|}|||||}{{}{|||}|{|{|z{||||}||}|}|{{{{|{{||{{{~}}|z{|{{{{|{|||||{|||{{{{{{|{|||||{{{{|{{z{|||z{|{|{{z{zz{{z||{|{}{{{{{|{z{{||||{{{|{zzz{|z{{{{{{z{z{z{||{{{}|||||{{{|z{z{{|||{|}z{z{{{{{z|{{|{{{|{{z{{{{z{{{|||||z{{|z|{{{{{|{|}z{|{{|z{z||{z|{}}{|z{{z||{|||{|{||{|{z{{{|{|{||{|{||{|zzz|{{|{|{|{{|{{{{{{{||{||||{{||{|{{}}||}|||{y|{|||{|}|{|{||{|{|||z|}{||||{{{}|||{{||||||{{|{{|{|z|{}~{|||{}||{{|||{}{}}|||{|{|||{||}{|||}||{|{{{|||}{|{|}}}z{||{}{{||{}}|||||{{||{|||}|}}||{{{|{|{{|{}||||{{|{|{{{||{|{||||{|{{z{{{z||{|}}}||}{||{}~||}|}||||{|{{|{}|||}}}||{{||{{|{{{|||{||z|{{z|{{||{{}|{||{{{{|}|{||{||{{}z{z{{|{{{|}|{{|{zz{{{|{{{{||}{|{z{{{{{{{{{{||zzz{{{{{{||{||||{{zzzzz{}{}{||{{{z{{zz{z|||z|{||{{z{{{{zz{|z{||{|{{{{{{{{|{{|||{zz{{z{zzz{{|z|{{{|{{{{z|{{{{|{}|{{{{{{z|||||{|||{{{{{{{|{||{{{{}{{{{{{{{{{{||{|{zz{{|{{{{|{||{}|{|{{|z{|{{||{|||||{||{{|||}}|||}{{z|{{|{|}{||{|}|{{{{{{{{|||||}{}{zz{{{{|||{||||{||{z||||}||||||}|{||||{|}|}|{}{|{{||{|{{{}||||||{z{|{{|{}{{|}}}{|{{{{{{||}|||}|||{{{{{{{|{||||||{z|{{{{||{}||}{{z{z|z|{||{z{}}}}|}|||||}~||}|}|}||||z{{}{|||}}}|{{{|{|{||}{{|{|{|{{z|{z{{||{|||{{{{{z{z|{{{|{{|{{||{z{{||{|{{|||{{{{{{{{{|{|||{|{zz{{z{z{z{{|z{{{{{zz{z{||{z{{{|zz{{zz{{|{{{z{{{{{{zz{{{{||{{}{zz{{{{{{|{|z|{|{|{{zz{z{z{{{{{|{{|{|{zzz{||{{|{{{{{z|{{{{|{||z|{{{{|{{|{{}{||||{{{z{z{{{|{{{{{{{{{{{{zz{{|||{|{||{{{z{|{||{{|{|||{{{{{{{|}|{{||||z{zz{{||||||}|{{{|{|{|{|{{||||}{{{{||{|{|{{|||{{{{||{{|}|||{}}|{{{|{||{{||{{}}||{|{|{{{|||||}|}{{{|||{|||}||}|}|z|{|{{{|{||}}{|||||{{|{|||{|}|{|{|{{{{|||{{{||}|{z{{|{z|{|{|{|{{{{z{z{z{{{|{|}}}{|{|{||}}}|}}}|{{|z{{||{||{{|}}|{||{|{z|{{{{}|}{||{{z{{|}||{||{{{zzyzzz||{|{|{|{z{{{{{y{|{{{|||z{zz{z{{|z|zz{|{z{z{{{zzz{{{{{z{z{{{zzzyz{|{{||{zzz{y{y{z|{{|{|{z{z{{{|z{{{{z{{z{{zz{z{z{{z{{{{{z{z{{{zz{{z|z|{{{z{{z{{z{{{|{{||{{{z{yz{{{|{|{||zzz{zz{{{|{{{{{{|||{z{{{z|||||{||{{{|{|z{||{||{|{{z{{{{{{{|{{||{|{z{{{{z|{{{|{{{||{{z{{{{|{|||||{z|{{{z{{|{{{{||{|{{{{{{|||{{|{||{{{{{|{{{{|{|{}||z|{{|{|{{||}|||{|{{{{{{|{|||}|||||{{{z||{|{{||||{{||{{|||{||{|{{{{{}{{||{{}|}|{z{{{{{z{|{||||||z{{{zz{{||||{{{|{{{{zz{z{|{|}}}||{{z}}|||||}|}}|||{{|{{|{|||{|||{{|{{z{|z{{|||{|{{{{{{|{||{||{{{{z|z{{z{{{{{||}z{zz|z{{z}{{{||z{z{{zz{z|{|{||{||{{z{{z{{{z{{{{{{zzzzz{z{{|{{{|{{zzyzyz{{z|{zz||z{{zz{z{{{{|||||{z{{z{{y{{{|{|{{|{{{{z{{{|{{|||{{{{z{{zzz|z|||{||{{z{{z{|{{|||{|{z{{{{{{{{{{{{{{z{{{zzz{{|{|{{|||zz{{{{z{||{|{||{{z|z{{{{{||{|}{{{{z{{z{{|{|{|{z{|{|z{{{{|{}{|}|{{|{{{{z}|{||{{||{{{{{zz|||{|||z|{{{{||{{||{}|{|{{{{|||{|||||||||{||{|{{{}|{||||}{{|{z{|}}|}|||{{z{{{{z{{}{|{{|{|{{||||{|z{||{}}|{{zzz{z|||{||}|{|{{|{|{{|{{{||{{zz{{{{z{|{{{~}||{}|z{}}}|~}||}{|||{||{{|||{|}}}|{z{{{||{|||}|||z|{|{{|||{||{||{z{{|zzz||||{||{{{{{z{zz{||z|{|{{{z{{z{z{{|zz{{{{{{zz{{{z{{{{{|{y{zz{z{z{|{{z{{|z{z{zz{{{||z|z{{{{{z{{z{{|||||||{z{z{z{zz{{{{|{{{{zz{z|{|{z{|{|{{z{{{{zz|{|{||{|{|z{{{z{{|z{{||{z{{|z{{{||{{{||{|{z{z{{{|{{|{||}|{{{{zz{|||{||||{z{{{{z{|||||{|zz{{{{{z{|{|{{|{{|{{z{{{{{{|||}|{z{|{{z{|||||||||{||{{z{{|z|}}|||{{{||||{{|||{}|||||{{|{|{|}{|||}|{{{{{|||}||||||{{|{{{z{{|{||}||{{{{z{|{|{{{|{{}|{{||{|{|||}||||{|{{{{|{{}||{{|||||{z{{{z|{{|{||{{{|{{|{z{{|{}}||}}|{|}{|~}~|}}}||||||{{|}}}}|}}|zzz{{{y||{|{|{||{|{{z{{|{|||{||{{{z{z{{z{{{|{||{{z{z{{{{{{{{|z{z{{zzzzzz{{|{{{{{|zz{{zz{{{|{{|{z{{z{z{{z|{z{z|{{{{zzzzz{{||z{|z{{zzz{zzz{|{z{{{zzzzzy{z{{{{{|{{{{{{{zzz{z{|{{||{z{{z{{z{{{z{{{{|{z{{z{z{{{z{||||{zz{{z{{{{{{{{|{z{{{z{z{{{{|{||{{{{{z{{{||||z|{{{z{z{z{{|{{{|}|{{{{{|z{|{|{||{{|zzz{{zzz|||{{||{z{{|||{{|{|{|{|{{{{z{{{|}||||}|{{|}{|z{|{|z|||||{{{{|{{{||}{||||{|{z{{{||||{{|||{{{|{{{||{||{|||{zz{{z|{|||{||||z{z|{{{|}{{||{|{}{{{|z{{|{{|}}||{z{{zz{{{{{{{|zz{{{{z{z{{z{|}~~}|{|||}{}}}|||||}}z|z|{|}|~~|}}}{{{{{{{{z{{z|||||{{zz{{z|{|||{|||{zzzz{z|{{{{|{|{{{z{z{z{{{{{{|{|z{z{zyz{{zz{|{{{{|{zzz{{{|{|{{{{z{{zzzz|z{|z{|{zz{zzzy{{||{{{{{z{{{z{zz|{{{z{|z{z{zzzzzz{{z{{{|{z{zzzzyz{z{{{{{{{zzz{{{{{{{{{||zzz|{{z{{{|{{{{|z{{|zzz{{{{{{{{|z{|{{z{{{|{{||||zz|z{{{z{{{||z|{z{{{|{{{{{||||{{{{z{zz{{{{{{{{{{{z{{{{zz|{}{|||{{|{{{|{{||{|{{|{{{{|zzzz||||{|}||{z{{{{z||||{|||{{||{{{{|{{{|||{|z{{{|{{||||{||{|z|{z{{z}|{{||||{{{{|{|{{||z{|}}z|{{|{{}||||||||{|z{{z|{z||z{|||{{{{{{||{|{||z||{{zz{{zz{{{{{}}~}~|}|{~{{}~||}}}|{||{||{|{|||}|~||{{{|{{}||||}~|{|{{{{{{||}|{{}||z|{z{zz{|||{|{}{{{zzz|z{|{{{{|z}{{{z{z{{{{{{|||{z{z{zz{{z|{{|||z{z{{zz{z{{{{|{{{{|{z{zzzz{{{{{|z{|{zz{{z{|{|{{|{zzzzz{z{{{|{{{{|z{zzz{{{|z|z{{{{{{|{{{z{|{|{||||{zz{z{|{|{|{{|z{{{{{z|{{{}{|{||||{z{|{{z{{|||{||z{|z{}z{{|||{}{{{{{{{{|{{|{||||{z{z{{z|{|{z{{|||{{{z{{{||{{}|{|{{{{{{{||{|}|{|||z{z{z{z{{|{|||||z{|{{{|||||}|||||z|{|||{{||||||}|{z||{z{}||||{||{||{{{{}{}|{||||z{|{{{|}{{{}|||{|{{{|{{{|||{}{||{{{{{{{{|{|}|{|{{{{{|{{||}|{{||{{{yzzzz{|{{{~~}}~|~}~||~~||~}}||}|{{{||}}|}||||{|{{{{{}|{|{{|||{|{z{{||{|}{|{{|{|{{||z{{||{|||{z{{{{|z|{|{|{||{|{{{{z{{{}|{|{{|{{zz|z{z{{|{|||{{{z|zz{{z}{z{|z{{{zz{z{{||{{{{z{z{|z{{{|{{{|{{|{z{{{z{{z|{z|{{|}{z{{|z{{{|{{|}}{{{{{|{{{|||{|{||{z|{{z{{|||{|||{{z|{{{{{{||{||||{{z{{|{{{{{|}}|{{{z|{{{|{||||||{{{|{zzz|||||{{|{{{|z{{{{|{|{}{{{|{{{|||||}||}}{{{z{{||{|||||{|{{{|{|{{||||||}}||{{{{|{{|||||||||||zz|||||||||||}|{{{|{|{}||}|||{||||{{{||}{||}|}|{{{{{{{}{{}|}|{{{}}{{}{|||{||}z|{{{{{|{{{||{|||{{{z||{||{|z{||{zzzz{y{{{|{z~~~}}|}}||}}}{}|}}|}{||||{}|||}~}~|||{{{||{||{}||{|{||{{{||||{{|||||}|{{{z|{}}{|{{{{|{|{{z{||{z{z{{{|z{{{z{{{{{|{{{{|{zz|z{|{|z}{|{|z{{z{{{{{|{||{zz{{zz||{{}|{{||{||{{zy{{{{{||{|||zz{{{z{{{|{{|{{z{z{{z{{{z||||{{{{{|{{z{||{|{||{{{z{{{{|{||{||{{{||z{{|{{|{}||{{zz|{{{z{|{|{|}|{{|z{zzz|{{|{|||{z{{z{{{{|{{|{||{{||{{{{|}|{||||{{{{|{{||||{}||{|{|{|{|{{||||||}{{|{|{{|{|}|{}|{|{{{{{{|{|||}|}}{{{{{{|{}||}|}}|}{|{{{|{|}||||}}|||{{z{|}|}||}|||{|||{z{||{{||}}|||{}|{{{||{|}|{|{|z|{{|z}|{||||||zz{{{{|{||{z{|{{|{zz{{{|{{{}~~|~}}}}|}}}}}|~~||||{{|{|}|}}}}}|{{{|z|z|||{|}|||zz{|{{{{|{|{z|{}z{z|{{z|{{{||||{z|{{|zz{{{{{{|{|z{|{zzz{{{{{{z{{z{{{zz{{{{{|{{{{{{z|zzz{z{{{|||z{|{{{{{{{{||{||{{{{zzz{{||}{|{|{zzz|{zz{|{z{{{{{{|z{zz{z{z{{||{{zz{{z{z|{{|{|||{{zz{{{{{|{||{{|{z{zz{{{||||{|||z{{{zz{{|||}{|||{{{{{zz{{{||z{{{{z{{{{|z{{{|{||{{z{{{zz{||{{|{||{{{z|{{{|{||{||}{{{z{{{{|{{||{}|{z{{{{{{|||{||||}|{{{{{|||||{|{||{|{{||{|{||||{z{{{{{|{{{}|||}|{|{|{z{{{{|z}|||{|{{{|{{|{||{|}}||{|||{{||{{||||{z{||{{{{|{|{{|||{{{{|{{{{{|||||{{{zz{z{z{{{{{~~}}|}}}|}~}}}}}~|~|||{||}}||}}}|}|{{|{{|{|||{|}||{{|{{{z|{{{{{||||{z||z{|{|{{|{}{z{{{|{{{{|{{|{|{z{{{{zz{|{{z|||{z{{{{{z||z{{{|}{zzzzz|{{||{|||{zzz{z{{{{{|{|{||{{{|z{z{|{z{||{{{{zy|z{{{|{{{{{{{{{{zz{|{{||{|{{{zzz{{{zz||{{{|{{{{{{z{|{{|{{||||z{{{z{z{{||{||{|{{{z{{||{|{|||}{{z||{{{{||{|||{{{{{{{|z|||{|{}|{{z{{{z{||||{{|{|{|||{{{{{{|||||{|{{{||{{||{|||}||{}|{{z||||}|||{{{{{{{{|||}}||}{{||z||}{||||~|||{{{{{{{{|}||}}|{{|{||{|||||}||}|{{{{{|{{|{|}|}||{|||{{|||||}}|||||{{{{|||{|{|}||{{z|{{{{{|||||{|{|zzz{{||{|{}|}~}}~|}}}~}}|}||{{||}{|}|}|}}}}||{{{||||||||}|{{|{|z{{{||||{||{|{{{{{{{{||{{{{{{{z{{{z{{|{{|||{z{{{zzz{{|{|{|{{{z{{{z{{{{{{{}zzz{{zz{zz|{|{{|{|zz{z{yz{{|{|{{|{{{zz{{z{{{{{|{{{{{{{{{z{{{{|||||{{z{{y{{{{|{||{{{zz{{{z|{}||{|{{{{{|{{{{{{|z{|{{{||z{{{|{{{z{||{{{{{{{{{|{{|{{}{|z{zy{{||{|||{}|{{{z{{{||{||||||zz{{z{{|{{{||{|{|{{{{{{|||||{||{{|{{{{|{}{||||}{z||{{z{|||||||{|{{{||||||}||||}|{{{z{|{||||{{||}{{{|{{{{}|}|}|||{|{{{z{}{|}|||}|z|{||{{|}||{||}{{||{|{{|}}}|{{}{{{{{|{|{}}|}|{{|{{{{z|{{||{{{{{{z{{z{z{{{{{|~~}~}~}}{}}~~~}}}~}}|{|{|||||}||}}}||{{{|{{|{||{|}|{zz|z{{|{{|{||{{{z{zz|{{{|{||{|{{{z{{{z{{z|z||{|zz{{z{z|{|{z{{{|{{{z{{z{{{{{{{{zz{{{zzz{{|{|{|z{{z{z{{{z{|{{{|{{{{zzzz{{{{{{||{{zzzzz{zzz|{{{||{|{{zz{zz{{|z|{z{z{{{|zz{{{|{{||{{{{|z{z{|{{{|||zz{{z{{{{{|{{|||{{{z{{z{z|{{|{||z{zz{z{{{||{{|{{{{{z{{|{{{{{|{||{{zz{|{{{||{{{|||{{{{{{{||||{|{|{{||{||{|||{{||||{{{{{zz{|||}{|{{{{z|{{z||||{||||{{{{{{||}{||||{|{|{{{{{|||||||||{||{{{{||||{{|{|{z|z|{{{|||||}|||{{{{{{{{{|||||{{z{z{{z{{{|||}|{{{{{{|z{}{|z{{|{{{zzz{{{{|{{~~}}~}|}{}}~|}}~}}}|{|||||}|}}|}}|{{z{|{{||{|||}||||||{{z|{{}z|{{|{{|{{|{{||{z|{{zzz{z{{{{{{{{{|z{{z{|{{{z{|z{|{{z|{{zzz{{{{|{{{|zz{z{zzzz{|{{{{{{zz{zzz{{|{z|{{{{{{zzzzz{{{{{|||z{{zzz{z{{{{|{{||z{{{{|{{{{{{{|{y{{z{{|{||{|{{|{{{{{zz{{{||{|{{{{{{{{{z{{{{|{|||{{{{{z{{|||{{{|}{{|y{z{{{{|{{{|{{{{{{|zz|||{{z}{{{{{z{{{|{{{{{|{{|{|zz{||{{|{|{|{{|{{||{{||}{||||{|{z{{z{{|{{||||{z{z{{z{|{|{|}||{|{z{|{||{||{|||||{{{{z}}}||||||{{|{{{{||}||}|||{{{{{{{{|{|||}}||{{|{|{|{{||}{|{{{|{||{{|{{|||||{|{{z|{}|{{{|||{{|{{{{z{{{|{~~}|}}|}}}}}~~~}~}}|||||{||}}}|}|{}|{|{|}{}}}|||{z||{z{|||{||{||{{zz{{{z{{||{{{|{{{{|z{z{{{{{{{{{z{{z{z{{z|zz{|{{|{{{zz{z|{{|||{z{zz{z{{{|z|{{{{|zz{z{z{{{|z{{|{{{{{z{{{z|{||||z{{zz{{z{{|zz||z{{zz{{z{{{{z{{{{{z{|z{{{z{{|{{{{|{{{z{{zzz{{|||||z{z{{{{{|||{{|||{{{zzz{{|||{{{{{{{{{{{{|{{|{|{{|{{{{z{{{{{||{|}{{{{{|{{{{{{{{|{|{{{{|z{{{}||||||{{{{{{{{||{||{|}|||{|{zz|||||{{{|{{z||{{|}|{|}|||{z{{{||||{{|||{|z{{z{{|{|||||{||{{|z||{||||z}|||{{{{||{{{||{{|||{{||{{|||||||||{{{{{{|z{|{{{||{{|{{{{|{|||}|{}{|z{z{{{{{{{|{}~}}}}~}}|}}~~~|}}}||{|{{}}|~||}|{|{z{{{|{|{|{||{{{{z|{||||{{}|{{{{z|{{||{{|{||{{{{{z|y{{{|{{{|{zz{zzzz{{|{{{{{{{{|{{zz|{||z{{{{z{{z{zz{{{{{|{{{z{zzzz{{{|||||{{{zzz{{zz|{{|{|{{zz{{zz{{{{zz{|{|{|zz{z{{|{||{{|{z{|{z{zzz{|{|{|{{z{{z{{z{{{{{{}|zz{{{zz{{{{|{||z{zy{{z{{{|{|||{{z{{{{|{||{{||{{|zzz|{z{{|{{||{{||{{{{z|{}{{{{z{z{|zz{{|{{|{{|||z{{{{{{{{{{}|{||{{{{{{z{{{|||{|{{{|{{{|{|{|||{||{{{{||{||||{|}{|{{|z{{||{}|||{}{{|{{{{{{|||{||||||{||{z}|{||{{}}|{{||{z{{|}|||||||{z{{|z{|{||{}||{zzz{{{{||}{||{zz{{{z{z{{||{~~}~|}~~~~~|~~|}||}|||||}|}}}|}||||{|||||{|||||||{{{z{||{{{|||{z{{|{{y|{{||{||{{{{{{|{|{{|{|{|{z{z{{z{|{|{{|{|z{{z{{{{{{{{{||{z{{zzzz{{|{|{{||z{z{z{z{{{|{||{||{{{{{z{{{{{|{|{{{{{{{yzz|||{{||{{{{{z{z{|{|||z|{{{{{z{z{|{{||||{z{z|{{z{{{{{||{|z{{{{{{{|{|||}||{{{|zz{|||||}}|{{zz{{{z{|}{{|}|||{{||{{||}|||||{{{{z{zz|}{{{|}||||{z{{||{{|||}|z{}||{{||{|}|||~{{||{|{{{|}||{|||{{{|{{|}|}|||}}|||{{{||||}}}|||}}{|z{{|{}|}}||}|{|{{{}|{|}|{||||||{{z|||||||z}|}|{|||{||{||||||{{{{{{{||}z||{{|||{|{|{{{|{|{||||z|{|z{z{||{{~|~}~~~~~~~}~}|||}}|}}||~}}}}{|{{||||||{|}}||||{{|{{|{||{|||||{|{{{|z{||||{|{|{|z{{{z{}{{{{{{{z{{zz{{||{z{|||{{{{{{|z{{|{{z|{{zzzzz{z{{||z|{|{{z{z{{{|{||{|{{{y{{z{zzz{|{{||{{z{{zzzz{{z{|{{|{{{zz{{{{|{{z||{{{{{{zzz{{{|{{{|zzz{|{{{{|{{|||||{{{{z{|{{{|{{{}{{z{|{{{|{{{||||||{||{{z{|||z|{}{{{z{{zz{{}{{{|{||{{|{z{|||{{}|||{|{{{z|||||{{||z{{{{z{|z||}|{|||{|{{|{{{||{{}}||{|{|{{{|||{|{{||{|zz{{||||||}}}|{|{{}{{{}|{|||}||||{{|||}||||}|}{{{||||{||||||}{{{||{|||||{||||{|{{{z{{||{|||}|{|{{{{{z}|{|{||{{{|{|z{{|||{{~~~}}~~|~~~~}}}}{|}||}|}|}|}|||{{|{z|||||}}||{|{{{{z{{}}{{{{||z{zzzz{}{||}||{zzz{{{z|{z{{|{|{{{{{zzz|||{{|{||{|zz{zz|{{{{||||zzzz{z{|{{{||{|{z{z{{z{{{|{|{{||{{{z{{z{|{{{{|{{z{{{zzzzz{{{{{|{{zz{z{zz{{{{|{{{z{z{{|{z{{{|{||z{{|{zz{{||{||z|{{{{y{{{{z|{|{||{z{z{yz|{{{|{{{{{{|{{z{{|}{||{{{{{{z{z{{{||{z{||z{{|{{z{|||{{{{{{{{{{{{{||{|||{{{{{|{{{{{{{|||||{{{|{{{z|}|}||||}{{{|{{{}}|{}|||{{{{|{|{||||{|||||{{{|{z|}||||||{|||{{{|{{}||||{}z{{{{{{{|||{|||{z{{{{{{||||z||}{z{{{{{|{|{{{|||{{{{{|{y|}{|{||{{{{{{{{z|||{{~~~~}~~~~}}~}}||||}{}}}}|}}}}}{{z{|{||||}|||||{{z{{{|{{|{|{||{||{zz{z|{||{{||{{{z{|{zz{{{{{{z|zz{z|{zz{||{{{{|z{{{zz{{z{{{{{{z{zz{{z{z{{|{{|{zz{zz{z{{{{{|{|{{zz{{{{z||{{|{{zz{{z{{{z{zz{{|{||{{z{{|z{{{{{{{|{zzz{{{{{||{{{}z{{z{{z{z{{{|{|||{{||{z{{z|||{|{{{z{z{z{{|{|{{||{|{||{{{{|{|{{||{{z{|{{{{{|||{{||{{{{z{z{{{{|{|}{{{{|z{{z{{}|}{}}{|{{||{{{||||}|||{{|z{|{||||}|||{{{{|{{{|}|{||||{{{{{{{{{{|{|}|}{||{z|{|{}||||}||{||z{{{{|{|{}|}{|{||{|{{|}{|{{}|{{{{{{|}{|}|{|{|{|z{{zz{{||||||{|{{{z{z|||{{|{{{{{{{y{{{{|{{~}~|}~~}~~~~}|}}|}||||}}}}}}}{|{{{{{{{|{}}|z{{|z|{{|{||{|}|{{{{|{{z{{{{||||{z{{zz{zz{|{{z{||z{|{{z{{||{{z{{{{{{{{|z{z{{{{|{zz{{zz{z{{||{{|{{z{zz{zz{{{|{{|{z{|zzz{{{||z||||{{z{y{{{{{{z{|{|{{{{{z{{{{{{||z{{{z{{zzz||{{{|||{{z{{{{z|||z}{{|{{{{zzz{{{{{{{||z{{zz{{{||{{{|}{{z{z{{|{{|}}{|{{{{{{z{{{{{|{{{||{{{{{{{|||{{{}{{{{{{|z|{z{||{||{z{{{{{{{{|{|{}|||{{{{{z|||||{|{||z{|{{{{|||||||}{{|{{|||{||||||||{{{{{{{{}||||}|}{{{|{z{}||}{|}|||{|||{||||{||||{{|{|{{{|{{||}||{{{zz{|{{|||||{|{|z{{zzz|{{{|{{{|{{{|z{{{{|{{~~~}}~~}}}}|}{}|~|{{}}|||{||}{{{|||{{|||{|{}|z{z{{|}{{||||{|z{|{z{{||{}z}{{{zzzzz{||{z{{{z||zy{z{zz{{{|{{{||{z{{z|{{{{|{{z{{z{{z{z{{|{{{{{zzz{{z{zz|{{|z|{{{yz{zz{{||{{|{zzz{{z{z{|{z{{{{{zz{{zz|{{{|{||{{z{{z{zz{{{|{{{|{{z{{{||{|{{{{{|{{{{{zzzz|{|{|{{{{{zz{z{||{{{|{{{{{z{z{{{{{{{{||{z|z|zz{{|{z{||{{{z{{z{z{|{|z{||{|{{{{{|||||{||z{|{{||{z||{||{|}z{{{zz{z{}{||||||{{z{{{{{{}|{||}{{{{{{|{|}|}|||}|{{z{{{||}||||{||{{{{{z{||||{|}}{z{{{{z{}{|{||}||{{{{{{{|{||{}||{{{{{|{|{|{{|}|||{z{z{{z|||{{|||{{{zz|zz{{{z{~~}~~}~~~~}~~}}|}{{|}{}}|}}||{{z|z|{||||{{||{{{{{{{{{z{||{}}|{{zzzzz||||{|{|{{z{{z{z{{{{{{|z{{z{{{yz{{|{|{{{{z{zz{zz{{|{{{{{zyzz{{zz{{{{zz{{zzzzzzzz{{{{{|{{{{{zz{yz{{|{{{|{z{{zzzz{y{{|{{{z{{{zzzzz{|z{{{|{{{|{|{{{|{{{|z|{{{{zz{{{{{|{{{||{{{z{z{zz|{|{||{zz{{{z{z{{{{{||{||{|{z{{{{||||{|{{{z{|zz||||||{|{{{{{z{{{||||{||{{{{{{{{||}|||}|{{z{{{{{{|z||||{||z{{{{{|{|{|||{|{|{{{{{}}|{|{|}|z{||{{z{{{|{{|||{{{|z{{{||}||{||{{{z{{{||}||||||{z{{{{{|{|||}|||{{||{{|||||{|{|{{|z{{{{z{{|{{|{|{z{z{zz{{|{}||{z{{{z|zz{{{{{~~~~~~}~}~~}|}||||||}||}}}}{{z|{{{|{|||||||||{{{{{|z||{|||{|{{|z{z|{|{|{|{{{zyz{yzz{{{{|{{{{|z{{{zzz{{{|{{{z{z{zy{{{z{{|{{yz{{zz{{z|{{{|{{z{zzz{zz{{{{{{{|z{{{zzzz{|{z|||z{{zzz{{zz{{{{{{|{yzzzz{z{{{{z||{{{z{{z{z|||{{{{{{{{{{{{z{{{{{{||{{{yz{z{|{{{{|{{{{{zz{{{{{||||{{{{z|{zz{{|{|{|||{z{{{zz{{|{{{{}|{{{{{{{{{|}{|{}||{{{|{{{|||||||}{{|z{{|{{|||{||||z{{{zz{{{|||||||{|z{{{{|||{{|}|{|{{{{|{{}|||||{||z{{{{z|}||||||||{|z{{{|||}||||{{{|{{{{{||}|{||}{|||{|{||||{|||{{zz|{zz{{||||||{{{z{{{zz}|||{|{{{zz{zzz|{{||~~~}}~{{||{{|}|||~}}}|{{||{{{{{||{{|}||{|z{{{{||}|{|{{z|{z|{{}}|~|||{{{{{z{{{{|||{||{{{{{{zz|{{|z{{|{|{zz{zz{|{z}|{|{z{{{{z{z{{{|{||z{zzzz{{{z{{{{|||{z{{{zz{z{|||{|{{y{{|{{z{||z{z{{{zzz{{z{{||z{{{|{{z{{{{z{{{{{|{{{{{{{{{{||{{{|{}|{{|{{{z{{|}{|{|{{{{{{{{{}{|}||{{{|{|{|z|||{||{|}{{|{{{{||||{|||||{{{|z{{}{{{|{{{|{{|z|{||}{|||{{{z|{z{{{|z|{|||{{{{{{{{|||}|}}|}{|{{{{{|{{||}|||||{|{|}{||{|}}|}|z{z{{{{}|||}}||{{||||{}{{|||}}||z{{{||||{{}{|}||{{{|z{{|||}|}|{{|z|z{||||{|}||{{{{zz{{||||{|{|}|{z{z{z|{|{{}~~~~~~}~~|}||}|~{~}}}}|}{{z|||{|||{}}|||z{|||{{z{|||{||{{z{z{{{{{||{{{|{{|{z{zz{{{{z|{||{{zz{zz{{|{{{{{{{{{{{z{{{{{{{{|{{zzz{{z{||{{{|{{{yz|{zz{{{{{{||{z{{z{zz|{{{z{||{{{{{z{z{z{{{{||{z{z{{zzz{{{{||{{z{{z{zz{{{{{{|{{{z|{{{{|{{{{{{||{|{zz|{z{{{{||{{z{{{|{{{{{{|}|{{|{{{{{{{{||||||{{z|{{{{{|{|||||{z{{{{z{}{{{||{|{{|{{{{z|{||||||{{|{|{||{||{||}}||{{{z{{{|||||}|||{{{{||||||{|{|{{|{z{|{||{|||}||{|{||{|{||||||{{||{|{{||{{{||||||{{|||{{||||||}|||{||{||||||}||||{z{{{|||}{||}||z{{{{{||}||{{|||z{{{{|{{{|{z~~}~}}~}|}}|{|}||~}}}||{{|||{|{|{||{|{||{{z{{{||||{||{{{zz{|{{|{|||||z{zz{{zzz||z|}{{|{{zzz{z{{{z{{z|z{zzzz|z{|{|{{|{{{zz{zzz{{|{|{||{{{z{{zzz{{{|{|{z{{{zz{y{|{{|{{|{z{z{y{{z{|{{||{{{z{{{zzz|{|z|{zz{{z{|z{{|{{|{|{{z{z{z|z{{}||||{{|{{{{{{{{{|||{|{{{{{{z{{|{{{{{||{{{|z|{{{{|||{|{{{{zz{z|||{|||{{{{|z{z{|{{{||{{{{{{{||{{{{{{}||z|{{{{{{|||{||{||{{{z{{{z||||||||z{{|{{{}||{{|}}|{{z{|{z{{{}|}||}z|{{{{||||{{||||{{{||{{{|{{|||{|z|}{{{{{|||||||{{{||{{{|}|||{||{{{z{|{{z{{{{{|{{|{z{{{{{|{||{{|{z{z{z{{{||{{~~~~~~}}}}}||||||}}|}}}|||{{{|{|}|||{|{|{|z|{{{{||{|{||{{|zzz|z{{{|||{{{y{z{{{z{||{{||{|{zzz{{{{{{{{z|{{{{{zz{zz{{||{|{{z{{{yzz{{{z|z{{|{z{z{y{{|{{||}{{{{{z{{zz{{{{{|||{z{{z{zz{{{z{|{{{{z{{zz{|{{{|{{{{{{||zzz{||{{|{{{{z{{{{|{|{{|{|{{{{{z{{|{{||{{{{z{{z|{z{{{||||||{{|{z{{|{|||{|{{{{{{{{{{{|{{|{{{{||{{{{{{{{{|{z|zz{{z|{{|||||{|{{{{|{|{{}{|{||||z{{{{zz|||||||||{{{|z|zz|{{}{|{|{|z{{|{||{|{|||{{{{{{|{{}|||}}||{|||{||}||||||||{{|{{z{||{|||{||z{||{{z{|||||||{{{z{z{{z|{}{||{|{|{z{{z{||{|||{{zzz{yzz{{{|{~~~|~|}||}}||}}|}~|}{{|{{{{|||}}|||}{{{|zz{{{{}}{|{|||z{{{{{}{{{|||z{{z{z{{{|z{{||{{{{z{{{z{|{z{zz{{{zzz{{z{|{|||{{{z{{zz{z{{z|{|}|{zzzz{z{{z{z{|{|{{{{{{{{{{|{{{{{{{{{{{{z{{{{{{|}{z{{{zz{{|{|||{{{zz{z{{y{|{{{{|{{{z{{{{{{||||{|{{z{z|{{{{|||{|{{{z{{{z{|||||{|{|{z||{z{z|{||{|{{zz{{{{{z|||||{||z{z|{{{{{||{{|{|{{{{{{{{|{|{{|||{{{{{{||{}|||||}||{}{{|{}|{|||||{{{{|{z{{|{{{|}||{||{{{|{|{{|}|{|{{|{{{||}||}{}}||||{z{{|||||||||z{||{{|||{|}||||{{{|{{|{|||{}||}||z{{{{{{{||||{}z|{||{z||||{}||{z{z|{{zz||{{~}}~|||{||}|||}}}}||{{{|{{{|{|{|}|{||{z{{{{{||{{{}{{|{{{{{{{|||{|{}{{{y{{{{{|{|{{{{z|{z{z{{{{{{{{zz{{{z{zzz{z{{z||{{zz{zz{{{{z{{|{|{z{{zzz{z||{|||{{{|{zz{z{{{{z{{{{{z{{z{z{|{{{{{{{{{{{{|{z|{{z{{|{{{|{{{{{{||{{{|{zz{|zz{{}{z{|{{{z{zz{{{{z{{{{||{z|z|{{{||{z|||||{z{|z{|{{{{{|{{{z{z{z|{{|||{|||{z{{{{zz{{}{||||||{{|{z{{||||{||{{|{{{|{|}{|||||{{{{{|{{|||{}||{z|{|{|{|||||||}}||{{{{{|{{||}{|||{|{{|{{{}|{||}|{|{|{z{{||||||||{z{{|z{{|{{}}||}{{z||{||||||z|}|{{|z|z{|{}{|{{||{{z|z{{{{|{||||}{{{zz{{z|||{{~~~~~}}||||{}||}||}}}|||{{{{|{|}{{||||z{{{{{|{|}|{{|{|{{z{{{z{{|{{|||{{{zz{z{{|{{{{y{{{{{{zzzz{{|{|{z|{{zz{z{|{{{{{z{{z|z{yzz{{|{{{{{{zzzz{yzz{|z{{||z{{zz|zzz{z{{||{{|{{{zzzz|{{{{{|{|z{zzy{{{{|||}|z{{z{{z{z|{{{{{{z{z|zz{{|{{|{{{{{z{zz{{zz{{{z|{|{{|{{z{{{{{{|{||{z{{{{{z{|||{|}{{{z{|{zz{||||||{{{z{z{|z||||{|{{{z{|{{{{|||}}|{|{{{|{{{{}|{|||||zz|{{{{{{||{|||||{z{{zz{|||{||||{{|{{|{{||||}||}|{||{{|{|}||||}{{{z|||{{||{||{|{{{{{{{{{z|{|||||z{{{|{|{{||{|||||{|{{{{{|{|{{|}{||{zzz{{{|{|{|||{{{{{{zz|{|{{~~~~~}}||}}z|{}}||}||||||{|||{{{||{|}||{||{{{{{}{{z|||{{{zzz{z||{|{{{|{{z{z{{z{{zzz||{{zz{{z{{{||{{{|{|{{z{{z{zz{{{|{|zy{z{{zz{{{{{{{{|zzzz{{{{{|||{||{{zyy{z{z{z|z{{{{{zz{{zz{{zz|{{|{{zz{{z{z{{{{||{{{{{{{{y|||{{|||{{{{|zzz{|{{{|{{{z{{{{{{{{|{{{{|{z{{z{zzz{|{{|||{z|{{{{z{||{||{{{{{{|{{z||||{||{||{zz{z{|{|{||||||{|{{z{{|||||||{|{{|z{||}{|}|{{{{{|zz{{{||||{|{|{{z{{{{}}|{}||}{{{z{{|{z{||||{}|z|{{|{{||{|{|||~{|{{{{{||}||}|{{{z{||{|z}|||{|{|{||{{{{||||||}|{|{z{{{{{{{|{}|{{{{{{zz{||{{||{{{||{|{{{{|zz{~~~~~}}}|||}{}|||}}}}{}|{{|{{||||}|}|||{{{{zz|{{|{|}|zz|{{{zz{{{|{||{{z{z{zz|{{|zz|{{|{z{z{yz{||z{||{|z{zz{{{{zzz{{{{{{{{{z{{{{|{z|{zzzz{{zzz{|{{|{|{{z|{{{{{{|{{{{||{zz{zzzz{|{{{|{{{z{{{z{{{{{{{{|{{z{z{z{{{|{|z{|{{y{z{{zz{{|{{|||{z{{{{z{{{{z{|{|{{{z{{{z||}{{{{{{z|{{z{zz|z{|||{{{{{{{z{|z{||||||{{{{|z{||{z{||||{{||{|{|z{{{|||z|y{{{|{{|{|||||{{{{{z{z{|}{}{|{|z|{z{z{|}|}}}}|{{{{z{|{{|||{{}{|zz{{{{{|}}|||{|{{{|{{{{|{|{||}{{|{zz{z}{|{}{||||{|{|{{|{||{||{||z{{zz{{||{{}{|||z{{{{{{{{||||}||{{zz|z{{{|{z~~~~}}}}~|{|}}}~}|}|||z|{|||{|||||||z{z{{z{{|{|||||{|{{z{{{|||{{{||z{{z|zzz{{{{|{{|{||z{z{{|{{{{{{{|z{z{{{z{zz{{{{{zzzzz{{{|||{{{{{zz{{{{z|z{{{{|{{{{{zzz{{{{z{{{|{z{{z{{z{zz|{{{{|{zzz{z{{{|{{{|{|{z{z{zzz{{z{{{{{{z{{{z{z|{{{{{{|}|{{z{{z||z{{|{{z{zz{{z{{{{|||{|}{{{{{z{{{{|||{{{{z{{{{{||{|{{|{{{{{{{{z{{{{z|{{{{{{{{z|||{|||||{z{{z{{{||{{{|||{{|{{z{|{||{|}||{{z||z|z|}}||}}||{|{{|{{{{|||||}|{}{{|}{|||||||||{}{||z{|{}}|{{||{|{{{{{{|||||||}|{{{|{{}||||||{||{{{|{|{|{{{{|||{|{z{{zz|||||{|{{{{zzz{{{|{|~~}|}||}||}}~||||}|{{{{{|{|||}|||||z|{{{|{{{||||}}{{{zzz|z|{{{{{{{zz{zz{{zz}|{z|{{{{z|{{{{{{{{z||z{{{zz{{z|{{{{{{{{{zzz{{{z{{{z|z{z{zz{zz{|{|{{{|||{{{{zzy{{|{{{|{{zzzz{{z{{{z{{{{z{|{z{|{|{|{{|{|z{{{{{z{{{{z|}||{{{z{z{{|||z{{{}{z{zz{{z{|||{{||z{{zz|{{{|{|{{|{|{{zz{z{{|{{{|{|{{z{z{z|||||{|}|{{{{|z{||||{{{|{{{{{{z{{z{|{||||z{||||{}{{{||{||{{z|||z{{||{|||}|zz{|{{{{}|{|||||{|{|||{|}||||}}{{{{{{{|{}||||||||{{{{|{|{|||{||{z{z|{}{}{{|{|||}{{{{{|z||{||}||{|{|{{|{{|||{|{||{z|z{{|{|{|{|}|{{zz{z{{{}{{{~~~~}}}}}||{|~~}|}|}}{{{{|||{|{|}{}|{z{|{{{{z||||{||{{{{z{{{{{{|||||{z{z{{{{{||z{|{{|{{{{{z{{{|zz{|{{{zz|z{z{{{{z{{|{z{zzzzz{{|{{||{|z{zzzzzz||{{{||z{{{{{{{z|{|z{||{z{zzzzzz{{|z{{|{{{{z{z{|{{|{|{|zz{z{|{{||{|{{}{{{{{{{z|{{|{{{||{{{z{{{z{|||||{{{||{{z{{|{{|{{||{||z{z|{{||{|{{{|z{z|{{{||}|{{|||{|{{|{{{||{{{|}{{{{zz{z{|||||}|{{|{{{{{{{|||{|}|z{{{{z{||{|}|{z{z{{{{{{{{|||}}||{{{|{||{|{||||}|{{{z{z{||||{||{|z{{|{{{|}|||{}{|{{{{z{{|||}{||||{{||{{{||{|{|}|{{{{{{{{{|||{{}|{||{z{{{{z|}{|{|{{{{{{z|{||{{~~}~}}~}|{|}|}}~}}}}|{|{{|||{}|||{}|{{|{z{z}||{{{{|||{{z{|zz|||||{||{z{z|zzz{{|{{}|{{{{zz{zz{{{{{{|{z{zzz{z{{z{||{{{zzzz{zz{|{|{{{||{{{|zzzzz{{{{{{}{{{z{zzzz{{{{z{|{zz{{z{{z|{|{{{{{{{z{zzz{{{{{|||yz{{{{z{|{{|z{{|{z{||z{z{{|{||{|{{z{{{{{|z||{||}|{z{{z{{{|||{{{|{{{z{z|z|z||{|{|{{{{{{{{{{{|z{|{|zz{{{{{|{{|{||{{{{z{{z|||{||}|}{{{{{{{||{||}|||z{z{{{z{{||||||||z{|{{zz{|||{||{{{{z|{|{||{{}}|}{{{{|{{||}|||||||{{{{zz{|{{||{{|}{|z{{{||}|||||}|{{{||{|{|||}|||{||{z||{|{|{{|}|{{{{{{{z|||{||}{z{{{zz{{{|{|{}}}~}}~||{}}}|}|}}}||||||{|{|{||||||||{{{{{|{|{||||{z{zz{{|{{{{|z|z{{zz{{{{{{{{{|{z{zzz|zzz{{{zz||z{z{{zz{|{{{{{|{zzz{zz{{{{|{z||{{{{{{{zz{{{{|{|{z{zz{zz{{{{{{{{|{zz{{zz{{|z{{||{|{z{{{z{z{{z{||{z{{{{{{y|{|{|{||{{zz|{{{|{{||{{|z{{{zz{{|{{z{|{{{zz{z{{{|{{{|||}{{z{{{|z{{{{|||{{{{{z{{{{|||z|}||{{{z{||}|{{{|{}|{|{{{{{z{}{{|||{{{{||{{{|{{{{|}|z{{zz{{{{|{|{{||z{|{{|z{|||}|||{|{{{{{{|{{{||{||{{z{{{|{{|||}}|{{{{{{{{{{|||||||{{{{zz||{|||||}|{{{{{{{}|{||}{{z|{z{|z{{{{|||||{{z{{{{z{|{{{|{{{{zz{z{{|{|{{~~~}~|~|||}|}}}|}}~||{{{||{||{{{|}|{{|{{{{{{{|{{|}}{{{{z{{{{|{{|{|{{{{{{{zz{{{|{|{z|{{z{{{{|{z|{{{|zzzzzzz{{{{{{{{{|{{{zz{z{{|{z{||{z|z{zyzz|{{|{|{|{zzzyz{{z{||{|z{z{{{zzz{{{z{||{{{{zz{zz{{{z||{{{z{z{z{z{{{{{{|{zz{{zz{{|{{|{{{||{{{zz{z{{|{{{{|{z{{{{z{{|{{{|{|{{{|{z{{{{{{|}{{|{zz{{{{|{{{{|}{{{{{{{{{||{{||||{{|{z{{{z||||}{|{{{{z{{{{|{|||{|{{{{{{z{|{|||||||z{|{|{{|||{||}|{{{||{{{{}|}||{}|{{{|||{{||||{|{{{{{{{|{||||{{{||{z{||{{||{{|}}|||{{{z{{||z{}|{|{|{z{{|{{|{{||}|{{{{{{{{|{{{{{|}{{{{{z{z{{}{{~~~~}~~|||}}}}~|}||{z{}||{{{|{||||{{{{{{z{{{{{z{|}{{zzz{zz{{{{|{||{{{{{zzz{{{{{||{{{zzz{zz{||{{{{{{{{{z{{{{z{{{{{{zz{zz{zz{||{{{|{{z{yzzzz{{{{||{z{z{{{{zzz{{|{{||z{z{{z{{{z{{{|{{z{zzz{{z{{z{z{{{zz{{{{zz{{{{|}|{{{{z|{z{|{{{{{{||{|yz{{{{{|{{{||z{{zzz{{{{{|{{|{{{{{zz{{|||{{||{|{{z{z{{{{|{{{||{{{z{z{{{||{|{{{z{|||{z||||||}{|{z|z{z{{|z|{||{}|{{zzz{{{||||||{{{z{{{{{}}{|{}|{{{z|{{{z{|{|}}||{{z|||{{{|||{|}|{z||z{|{|||{}|{||{{zz{zz||}||{||{z{{|{{{|||}|{{}{{zz{z{{{|{|{{||{zz{{{z{||{{{{{{{{z{{z{{||{{{~~}~~}|||}{}}}||}}}}|}|{|||{||{{|||{{{{{{{|||{}{||{{|{{zz|{{|{{{{|{|{z{z{z{zz{{{z||{{{{{z{{z{z|{{{|{z{{zz{zz{{{{{{{z{zzz{{{{z{{{z{}{{zzy{yy{z{zz{|{{{{z{z{{z{{|{z||{zz{{z{zz{{{{{|z|z{zzzzzz{|{z{{{{z{z{{|zz{z|{z}|{{zz{zy{y{{{z{||{{z{{{{{z{{{|{|{|{z{zzz{{{||{{|{|{z{{{y{z{{|{{{||{{{{zz{z{||{|{|{zz{{z{{z{{||{z{|z||{{{{{z}{||||{{{{{{{{z||{z{|||{z{|{zzz{||}{{|||z{{|z|{||||{{|}{{{|{{{{{}{|||{}}{z|{{{|{||||||||z{{{{|{{{||{|||{{|{{{{{{{|||||}z|{{{{{z{}||||{|{{|z{{{{{|{|||||{{|z{z{{z}{||{|||{{{|{zz{{}||~~~}}}}}}}{}|}}}}|||{z|{|{||{{|||||z|{{{{{||{{{{||{{{z{|{z{|{|z}{|z{{{z{|{{{|{{{{{{{z{zz{{|||z{|{||z{{zzzz{{y{{zzz{z{zzz{{{{|z{{|{{{{{z{y{{{{z{z{{{z{zz{zz{zz||{||zzz{zz{z{{{{zz||{{z{{{{{z|{{{}|{z{{{|z|z{|{{{{|||zzzzz{{{|{{|{|}zz|zz{z{{{|{|{||z|{z{z|{{|{{|{{|{{{{|z{{{{{{{||{{z|z{{{{z{|||{|||{z|zz{{{{|{{||}{zz{zz{z|{{|||||z{zz|{||{}{|||||{{{{z{{{|||||||{{{{{{{|{||||{|||{{|{{{|{||{{|||z{{||{{{{{|{}{||}|{{|{{{{|{|||{||{{{|z|{{|{|{{|{}|{{|||z{|{||{|||{{{{|{{{{|{||{{{{{{{{{{{{|}|||||{{zzz{z{{{||{~~~~}~}}}|||}||}|}~||}{{|||||||||}||{||{|z{|{||{|}||{}{{{{{z|{{||{||{{|zzz{z{|z{{z|{{{zzz{z{{{{{{||{{z{yz{z{{{{{{{{{{z{z{zzz{{{{|{{{z{z{z{z{{{|{||{|{zz{zzz{z{{{{{{|z{{{{{{z{{{{{{{||{zz{{{z{}{{|{{{{{{{z{z{|{||||}|{{{z{z{z||}{{{{|z{{|{z{{{}z{|||}z{{|z|{{{{{{|||{{|{{{{{{{{{{{|{||{{|{{{z{}|{{{||{{{{{{{|||{|{|{{{{{{|{{{{{||||}|{{{{{|{z|}|||||||{{|z{{{||}|||}||z||{{{{|||||}}|{|{{{|{||{||{|}||{{{z||{|}|||||||{||{{|{||{}|}}|||{{{{|{{||||||}|{z{|{{||||||}|}{|{{{{z{|{{|{||}|{{{{{z|{|{{|{|{|z{{{z{z{|||{~~~~|~}{}|~|}}}}~~{||{{}|{||||}}|}}{z{{{{{|{}|{||{{|{zz|{y|{{{{||{|{|{{{{{{{{{{{{|{z{z{z{{{|||{|{{{|{{y{{{{{{{|||{{zzz{z{{{|z{{{{{{{{{z{{{z|z{{{{||{z{|{z{{|{{||||{||{{{{{{|{{{{{}|zz{{z{{{|{{|{||{{{{{{z{{{||z|||{{{{{z{z{|{||{{|{z{{zz|{|{||||||{{|zz{z{{{{{{|||{{|z{z{z|||{|{}||{{||{{z{||{{|||{{z{{{{|{{{||{{||{{{{{|{||||||}|{{{|{{|{}|{||~}|{|{{z|{z|||{|||||{{{{{|{|}||||}|{|{|{{||{{|{||||{|{|z}|{{}|{}}||}{}{zz{{}|||||{|{{{{|{|||{|{||}||{|{{|z||{{|||||{{{z{{{{{|||{|}|||{{||{|||{|{{z|z|{{|{{{{{}||}}|}|{||}}}}~|~|}}{|{{|{||{z{||||zz|z{{{{|{||{||{{z{z|{z{{{|{{{|{|{{|{{zz{z{{{{{{z|{{zyz|{{|||{{z{|zz{zz{zz{z{z|{|{{{zy{{{{|{{|{{z{z{zzzz{{||{{||zz{{{{{{|{|z{|{{{z{{{{yz{{{{{|{z{}{|{{zz{|{{||{{z{{{|y{{||||{|{|{{zz{|z{{|{{{|{{z{{{{{{|{{||z||{{z{{z{{|{{{{{|||{{{|z{{{||{|}||{{|{|{z{{|||{|{{|{{|{z{{|{{{{{||{{{{{{{|{{{|{{{{{{{{||||}||~{}||{||{{{{{||}|}z|{|{{||||{|}}{}}||{z||{||{}|{{|||||{{|{||{||}||}|}||{|{{{||{||{|{|{{{|{{{{{|{|{{|||}|{{{{{|||||}}}|{{{{{{{||{{|||||{|z{{|{|{|{{|||z{{{{z{z|{|||~~~~}|~}}{}|}}}{|}}}}|}{|{|{|}||||||{{{|z|{z||||{{||}{z{{{z{{{|{{||{}{{{z{z{z{{||{{|{{{{z{{zy{||{|{||{z{z{{z{{|{{z{{|{y{zzz{z{{||z|||{{{zz{{{{{{z|{|{|{{|{{{z|{{|{{{|{{{|z{zz{|{{{|z|{{z{{zz{||{|{|||{{{zz{yz|{{{{{|{{z|{z{{{|}{|{{|{{{{{{z|{{{|{{||||{{{{{{z|||{{||{{{{z{zz{{|{|{|{|{{{{{|zz|{|{|{||{{{{z{{{|{{{{||{z{{{{{{z|||||||}{{{{{{|z{{{|{|||{{{{{{{{|||{}|||{{{{|{|{}|}}|||||{|{|||{z||||}}||||{{{|||}|||||||||{{{{{{|{}|||}|{||{{{|{||||||||{{{}|{|{||||{||{||{{{{{{|||||}|||{{|{{{{||{||{}z{{{{{|{|{||{~~~~}~}}|}}||||||}}|{{z{}||||||||{||{z{{|{|{|{{||}{|{{{{{z|{|{|||}|zz{z{{z{{{{{||z{{{z|{z{|{|{y{||{{z{{{{|{{{{{}||z{z{zz{z{{zz{||{{{{z{{{{{z{{{{||||{{zz{z{{{{{{||zz{{{z{zz{{{{{|{{{zzz{zzzzz{z|||z{{{{{zz{|{|{{|{|{{z{y{{{|{{{{{|{{{{{y|{{{z{{|{|z{{{{{{{{||||{||z{{z{{|z{{{|{||}|z{|z{{||||{{|}{{z{{{z{{|{|{{{||||{z{{{{|{|{{{{|{||{{{{{||{}}|||{{||{{z{|}|}}|||}{|{{{z{||||||}}{{{{z{{|{}|||{||{|{|{|{z{}{||||||{||{||{||}||||{||{z|z{|||{{||}}||{{{{{|{{|||}||{{|{{|{|{{|||||}}{{||{{|||{||||~{{|z{{z{|||{{~~~~}~}{||}|}}}~|}}}}||{|{{{|~{|||}|z|{{{z{{{||}|{||{|{{z{z{|}|||{||{{z{z{||{|{{}}|z{{z{z{z|{||{|{{{{{z{z{{|{{{{{{|z{{|zz{{||{|{{{{|{{|{z{z{{|{{|||{z{z{z{{||{||}||{z{{zz{z|{{|{||{|{{{{{{{{{{{||||z{{{{{{{{{{||{}|{|zz{{z{}|{{||{|z{|||z{{|{|{zz|||{{{z{{{||{|{|{||{z{{{{{{|{{|||{{{zz|zz|{|}{z|{{{{|{{z{{||{{{|||{{{z{z{{{||||{|||{{{{{|z||{|||||{{{z{{{z{||||||||zz{|{{{|||{|}||{|{{{{{|||z||}}||{{|{||||||||||||{{{{{{{{|}||}{|||}z{|{{{|{|}|}}||}||z{{||{|||||{{|z|{{||||||||||||{z{}{||||{||{|{{{{z{z||||{~~~}~}}}||}}}}|~}}}}||{{|{z|}|||||}|{{z{{{{|||||{||}{z{{z{z{|{|z{||{{zz{{{z{|}{{|{{{{zz{{zz|{{{z{{{{{{zzz{{{z{{{||{z{{z{zzyz{{{{|{|z{{zyzz{z{{{|{|{{z{zyzz{{{||{{|{{zzzzzzz{{z{z{{||z{z{{{zz{{|{||{{{z{{{zy|||}|{||{|{{{z{{{|{{{{||{z{{{{{z{y{{{{||z|zzyz{z||{{|{||||{{|{{z{|{{{|{||{{z{z{{|}||{{{{{{{||z{{||{{{{|{{{{{{{|{|}}|||||{{|{{{{{{|{||||{z{|{|{zz{||||{|{|z{{{|{{|}{|}|}{{||{{|{{z}|{||||{{{{z{{|||||||}|{{{{{{{||||}|||||{|{{{|{|{||||}}}{{{{z{|{{|{|{|{{{zz{{||{||{{|}{|{{{{{{{||{||||{{{{{{zzz|{||{~~~}~}}~|||}{}}}}}}}{||{{|{}||{|{|}{|{||y{z{||{{{|{{{{{{{{z{|{{|||{{z{z{z{{z{{z{|{{{y{z|{zz{||{{|{{{{|zz{{{{{z{|{||zz{|{z{{z{z{||{{|zzzy{zz{{{z||||||{zzz{zz{{{{{{|{z|{{z|zz|{{{{z{|zzz{zz{{{{{{|{|{z{{{z{z{|{{{{}|{{zz{z{zz|||||||{z{z{z{{{|z{||{|{{{|{{{{{{|{{||{{{|{{{{{{||{{|{{z{||{{z{{|{||{{{{{{z{z{z{z{{{{|||{{{z{{{{}|{{{||z{{{{{|{{{{||||||{{|{{{{{{|||{{||{{{{|{{{}{|||{||{z{{|{{{|||}|||||{{{|{{|}|}}||||{{{zz{||{{{{|||{{{{{{{{|}|||||||{{{{||{|||{}||||||z{|{{{{{||{|{{{{|{||{z|||||||{{{z{zz{z||z{~~~~}}||~{|||}|||}|}}|{|{|||{z{{{|{|{{{{{{|z{|||{{||{{{zz{{z|{||{{||{{{{{{z{zz{{{{{|{z{{zzz{{{{{z|{{{z{{|zzz{{{{{||||{|zzzzz{{zz{{{{{{zz{zy{z{|{{{|{z{{{{{zzz{{{{|{{{yz{z{{y{{z{{{|{{{zz{z{zz{z|{{z|z{z{|{zz{|zz|||{{zzzzz{{z||{{{|{{{z{{{{{{{{|{{{{zz{zz{zzzz{|{|||{{{{{z{{z{|{{|{|{z{{{{{{{{|}{|||{{z{{{{{{|{|z{|{{|z{{{{|{|{|{|||{|{{{{|{{|{|||{|{{{|{z{{{}}|{||{{{{{{{{{{|{{|{|||z|{{{{{{|{{{|||{zz}{|{{z|{||{}|{{||zz|{{||||}}{|z{{|{{{{{{|}{|||z{{{{{{||{{|}||{|{{{{{{{||{{||||{{{zz|{{{{|z|{|z{{zzz{{{{||{~~~~}}||||}|}~||}|||||z{{{y}{{||||||z{{{zzz}{{{{{|{{|{{{{z{|{z{|{||{zzzzz{{{|{{z||{|{zzzz{zz||{z||zzzz{zzzzz{z{{{{{{z{zz{zzz{{|{{{{{z{{y{z{{z{zz{|{{z{{z{zzz||{{{||{{{z{zzzz{|{{{|{|z{zz{z{{{{z{{{{z{{{{z{{{{{|z{{{{z{{zzz{{|{{{{{{{zz{zz|{{{|{zz{|zz{|{{{{{{{{||}|zz{{{y{zz||{{{{{{{z{{{{z{{|}{{|{zzz{{z{{{{{|{|{{|zzz{{{z|||||||{z{z{{{{{|{|{{{||||{|{{zz{{{{|||z{{zz{{{{||{||||{|zz{{{{|{{{|||{{|z{{{{{{{|}|{||||{{{z{{{|{{||{||{{{{{{{{z|{{|}}}}{||{{|{{|||||||{{|{{z{{|{||{||{|{{|{{{{{|{{{{||{z{z{{{z{|{{|~~}~|~|||{}||||}~|||{|||||{||||}||{{{{z{{z{{{}{{{|||{z{{zz||{{{{|{{{{z{{{z{{{zz{||{{z{{|{zz{{|z|{{{z{zz{{{{z|{{{{{zz{z{zzz{{{z{{|z{z{zzzz{{{|{{{|{{zz{z{zz||z{{|{{z{z{{z{{{{|z{{|}|z{zzz{{y|{{{|{{{{{{{{{{z{z{{|{{{{{{{z{z||{{{{{{{z|{{z{z|{{{{||{{{{{zz{|z|{|{||||{|z|{{{{|{{{|||zz{z{|{{{|||{{||{|{{{z{{{{|{|{|{{z{{zz{||||{{||}{zz|z{|{|{||{{||{z|{{{z{|||}||{|{z{z{{{{{||{||}|{|{{||{{{{{}|||}{{z|{{{{}||}|||}{|{{z{|{||{|||||}z|{{{z||{{|{|||||{{|{{{||||}||}z{{{{{{z{{{{|}|||{{{{{{{|{|{{||{|{{{z{z{{{|{{~~~~}}}}|}~}~}}}}}|}}||{{|{|||||}}|||{||{z{{{|}|{{|||{|{{{{{||{|||||z{{z{{{z{||{{||z{z{z{z{{{|}z{{|{z{zzzz{{{{{|{{z{{z|z{yz{{|{{{{{{|{{zz{z{{{{{|}{{{z{zz{z{{{{|{z}z{{{|{{{y{|{|{{|{{{{z{z{z{|{|{|||{{|{{{{{|{|{{|{||zz{{y{{||{{|{{{{z{{{z{{|{|{{{||{||{{z{{{{{{|{||z|{{|{{zz}||{|||{{{z{{z|{{|{||{{|{{{{{z{{|{{{}|{||||{||{z{|||}||{|{{{z{{{{z||{}}|||{{{{{{|||{}||{{{{||{z||||||}|{{|{{{|{||||||{|}z|{{|{|{|}||||}{{{{z||||{||||}|||{{{{|||{|||||}|||{|}{|{{||||||}{|{{{{||{{||||}|{{{{{{{|{|||{|{{z{{{|{z{{|{{~~~~}|}|}}~|||}|}~}|||||{{||||||||}||z{{{{z{{|||{|||{||z{|{z{{{|{|{|{{{z{{z{z||{{|{||z{{zz{{|{|{z{{z{z{z{{zz{{{|{|{{y{{z{zz{{|||}{|}zz{{z{zz{|||||{{{{{{yz{z{z{|{{|}{{z{{{zz{{{{{{|{z{|z{{{{{}{|{|{{{{{{{{|{{{{|{z{|{{{{{z{{||{{{|||{{|zzz{z|{{||{{{{{{x{zz{||{{{{{||{{{|{z{{|||{{||{{|{{{{z||}|{{||{{z{{{{{||{{{{{}|{}{{{{{{}|||{{{{{z{|{{{{|||{{||{{{{z{z{|||||||{|{z{||{z||}{{||{{|}||||{{}||||{}|{|{{||{|}}|||}}}{{{|z|{||}|}}|{|{z{z|{||{|{||}|{|{|{{|||}{||||}{{|zz{{{{|||}||||{|{{z{z{}|}|{|{{{|{{{{{{|{{|~~~}~~~~~}}|}||||~}}|}}|||||z{{}|||||}}{{{{{{{z{|||z|{|}{{zz{{{{{{{{{{|{z|{{z{{{|{{z{|{{zz{zzz{{||{|{|{{zzzzzz{z{{{{{|{{z{zzz{{{|{{{{{{z{{zz{yz{{{{|{{|{z|z{z{{{{{{|{{{{{{z{z{y{||{|{{}{|{{zz{z{{|z|{{{|z{{}{{{{{||z{||}{{z{yz{{{{z{|{|z{{{zz{{{{{z||{{{z{{z{z{|{{|||{|{{|z{{{{z}z||}||{{|zz{{z{||||{|{{{{{z{{|z|}{{|{||{|{{zz{{{|||||}{{|{|z{{|{{}{|{|{{z{{z{{{{|{|{~{|{|{{|{|{|||||||{{|{{{||||{|{||}|{||||{||}|}}||}|{{{{|{|||||||}||{{{|{{{||{|{|||{{{{||{|||{||}|}{|{z{{{{|{{{|{|||{{|{{{{|{|||{|{{{{{{z{z||}{{~}~~}~}~||}|}||||}}||}||{{|{{{||{||||}|{{{||{{{{{{|||||{{{{{{|{{|||{}|{{|zz{{{z{|{{{|{|{{{{{z{{{{{{{|{|{{{{{{{{{|{{{{{|zz{z{z{{|||{{{||{{z{z{z{{{|{{z{{{{{{{zzz{|{|{{{|{{z{{{zz|{{{{{||{z{zzz{{z|{{{{{{{y{{z|{y{||||{}|{zz{z{{zz|{{|||||{{{{z{{{z{{{{|}{{{{z{zz{{|{|||{{z|{|{{{{|{|||||{z{z|{{{{||||{|z{|z{{{{|{}||{|||{{||{z}{|}||{|{{{{{y{{||{||||}}|{z{{{{{{{{{|}{||{{|{{z{{||{{||||{{|{{|{|{|{|||{|||z|||{{||||{}|{|{{|{{{{{{|||||{{{{|||{|||{||{}||zz{|{{|{|||||{|{{|{|{{{z||||{}{{|{{z{z{|}{{|||{|{|z{{{{{|||{}~~~~}}~|~}|{}}}}}|~}||||z{{||{|||}||||{{{z{{|{{|||||{{{{z{{{{{{|{|{}{{{z{z{{{||{{||{{{{{zzz{|{||{{||{{{zz{z{{{{||{|{z{zzz{z{{{{{{z|{{{z{z|{{{{{{z{{|z{{{z{{z{{z|{||{{{{{{{{zy{z{{}|||{{z{{{y||{|{||{{{{z||z{{{|z{|||||zz{{z|z|{{|{{|{{}{{{|{|{{|{{|{z{{{{{zz{{|{{{|{|z|{{{z{{|{{}{{{|z|{{{|{{|{|z|}{{{{|z{{{|{{{{|||{{{{|{|{|||}||}|{{{|{{|{{||{|{||{{z{{{{z||||||}{{z{|{{{{|{|{||||}{{{|{|{|{|{}|}}}{|}{|{{{|{|~||||{|{{|||||||{||{{z{{z|{|{}||}|}|{{|{|{{{|||}||{}{{{{{{}||}|{}{||||{{||{z{{|}||}}{{|z|z|{|{|{|~~~~~}}|}||||}||}}}}}|}|}|{{|{{|||||}|{{{{{yz{|{}{z||{{{||zz{{{|{{{{{|{z{{z{{zz{|{{{{|{{{{z{zz{{|{{|{{|{{{z{z|zz{|z{|{zz{zzy{z|{{{{{|zzzzzzzz{{{{{{{{{|zzz{z{zz{{{|{|{{{{z{z{zz{{{{||{z{{{z{|z{{{{{|||{z{{{{{{{|{{{{{z|{{{{{{{z{{{{|{{{z{z|z{{{z{{{|||z{{z{{{{{{{{{|||{z{{zz{{|{{|||||{{{z{|{{{{|{{{||{{{{{{z|||{{{|||{{{{{z{{{{{||}||{{|{{|{{z|{{|{||{{{|{zz{|{||{{}{{{{{{|z{||{{||||{{|{}||{{|||}}}||zz|{|z{{{||||}|||{|{||{|{|}{||}|{{{{{|{{||{{}|}{{{{|{|||{||{z{|{{{{{{|{{{||{{{{{{z{z{|z{{||{{||{z{zz{{z{|{|z~~}}}~~}}~}}||}|{}~|}|||}{|{{{{{{}{|}{|}}{{{z{{{{{{{{||{|{z{{z|{z{{||{{{|{z|{z{zzz{{zz|{{{{zzzz{zz||{z{|{z{{zzzz{|{{{{|{{zzz{{zz{{{|{{z{{{zyzzzy{{{|{{z||zzz{yz{z{{||z{{{|z{z{z{z{{{z{|{z{{zz{z{zz{{z{{|}|{{{{zzz{{z{z||{{{z{{{z{{|{{{|||zz{zz{{{{{{zz{{|z{{zz{z{{{{zz{|{{{z{{z{{z|||||{{zz|z{y{{z{{|{||{{z{{{|{z{{{{{{{{{{{{{{|{{{{{|{||{zz{{{z|||{|{|||{{{{{|{z|}{|{||{{z{{|{{{}{|{{|||{{{{{|{{||{z|{|{{|{{{{{{{}|||}}}|{|{z{{|{{}|}}|||z|{{{{{|{|||{|}|{z{{{{{||||||||{{{z|{{{||{{{|}||{{{{{{z{|{{|{{|zy{{{z{{{{{|{~~~~}}}}||}}z}|}|~||}|||||{|{|}|{|}|||{{{{zz{|{||z|}}|{z{z{{y{{||{||}{{|z{{{zz{{{{{|{{{{{{{{{{{|z{{{{|{{yzz{zzz{z{||{{{z{{z{z{{|z|{{{{z{{{zz{{||||{{{{z{zzz{{|{|z{{|||{{zz{z{z{{{{{|||{z{zz{zz{{{{|||{zzz{{{z{|{|{{|||{zz{{|z{{|{{{{|{zzz{z{z|{{|{{||{{{|{{z{{{||{||{{{{{z{{y{|||{||{{z|{z{z{{||{|||{{|{{{{z{|{|{{{z{|{{{{{{{||{|||||z{{||||{{|||||{|{{{|{|z{|}}{{|}|{{{{|{z{||||}|}||{{|z|}||{|{|||||{{|{{{{|}{{}|}|{{{{{{|{||{||||}{{{|{{{{||||{|}}||{{|{z|||{||{|}{{{zz{{{|{|||||||{|{{{|{{z|}||{{{z{z|{{{{|{{{~~~~~}~}}}|}}}}|{|}}}}}}}}|||z||{{|{|{}{|{|{{z||{{{z||||{{|{{{z{{{{{||{|{{y{|z|{{zz|{{{{{{{{zzz{z{{{|{z|{z|z{y{{{{{{{{|}{|{z{{{{z{{{z{|{|z{{{z{zz{{{{|{|||z{{|{yz{{{z||{|{{z{{{z{z{{{{{{{|{{z{{zz{z}{{z||{{{z{z{zzz{{{||||{z{{|{yzz}{z{||{|z{{z{|||z{|{|{{{{|z{{{z{{}{|{|{{{{|{y{z{||||}|{{{{{{z{{{|}{|{||{{{{{{{{|{|{{|{|{{{|{{{{}|||||{||{|{|y|z{|{}||}||{|{{{{z|||||||{{{{{|{{z||{|}}|{|{|{|{|{{{{|}|}}|{{{|{z|}||||}}||{{{{{{{|}|}||{}|{{{{{||{||||}|||{{{|{|{}{|{|{||z||{|{{{{|{|{||~{{z{z{{{||}||}{||{{{{z{{{{|||~~}~}~}~~~}}||||{|}~}|}}|}|}{{}}}{{|{{|}|{{z|{{{z{{||{{{{|{{{zzz{z{|{}|}{||{|{{z{z{|{{{{{{{{{z{z{z{{|{{{|{zz{z{{z{zz{|{|{|{z{{zzzzz{z{z{{{{{{z{{z{||{{{z||{|{zzzzz{|||{{||{{{{{z{zz|z{{{{|{{{z{zz{z{{{{||{zz{{{{zz{{{|{{{|{{z{{|{z{{{|{{||{z{z{{{{{{{|z{|{{zz{{{{z|||{{|||{||{{z{z{|{|{{z|||{{{{|||z|{{|}|{{{{{{|z||{|{{{|{{{{|{z{{|}|||}|z{{{{{{{|||z{}||{{{{{{{z{{||||}|{zz{z{{{||||||{}|||{{||{||||}}||||{{{{{{{}{|{|}|||||||{{}}||{{|||y|{{{{||{||{||}||z|{}{|{||}|||}|{{{z||{{}}{{{|||{||z{{{{|{{{{||{{{{{||{|{||{~~~~}~~~~~~|~|||}z{}}}|}}}}||{{{{}z|}{||||}{{{{{z{{{{||{|{{{{{zzz{{|{{{{|{|{{zz{{zz||{{{||{{{|z{{{{|{|z|{|{{{|{z{{z{{{{z{{{{{z{{{{zz{{{|{|{{zz{{{zz{{{{||{|{{{{z{{z{|{z{{||{{{{zz{z{{{z{||{|{{{{zz{zz{}{||{{{{{{z{z{}|{{|}|{{{{|z{{|{{{{|{|{{{{{{{z|{{{{|{{{z|{{z{{|{|{{|||z||{{z{{{|{|||||{z{|z{{{{|z{{}|{{{z{|{{|{||{{|||{{{{{{||{|||||||{{|{{{{{{|||{{}|{{|{zzz{|{{||}||}zz{{{{{||{{|{|||||{{||{{|{{}~{||z{{z{{{{}{|}||}|{||{{{{||||||||{z{{|{z|{z}{{||}|{||{|||||}|||||||{{{{z{|{{{{|||{z{|{{|{{}|||||{{z|{{{zz|||{{~~}~~~~}~~~~}||||{{{}}|}}|}}}|{|{|||}{|}{}}|{{{{{z{{{{|{{{{{{{{{{{{{|{||{|{|{zz{|{zy{||{z{||{zz{{{{{|||z|{{z{{z{{|{zz}z|{|{|z{{z{{z{{||{{{{|{{{zzzz{{z|{{{||{zz{zzz{{|{|zz||{z{zz{{z{|{{||{|{{{{zzz{z|{{{||{{{{{{zzz{{{{{{{|{{z{{{{z{{{{|}{|{{{{{{{{|{{||{{}{{{{z{zz||{|{||{|{{z{z{z{|{{||{|z{}{|{{{||{|{||{|{{z{{|||||{{|{|||{{|{{z{||||||}{|{{|z{||||}{{}{|{|{z{{{{|}||}|{|{||{|{{|||{||}|{|{{||{{||{|{}|{|{{||{|{||||||}|{{|{|||||}|||||||{{||{{{{{|{|||||{zz|{{||||}}{|{||{{{{{{z|||{{|||{z{z{{{{|||{{||{{|{{z{{||{{|~~}~}}}}~}~}}~|}||}|{{}}|||}|}|{|z{|||{}{|{||{|{{{zz{{||{}|z|{|{{{{{zz{{{||{{|zz{zzz{zz{{{{|{{{{{{{z{z{{{{{{{|{z{{zzz{{{|{{z{{z{zzz{zzz{|{|||z{{{zzzzzz{{{{{{|z{z{zzz{z{{z{{{{{zz{zzz{{||{{||{{zz{z{zzz{{z{{{z{z|z{z{{{zz||{|{{z{{{zz{{{{z||||{z{zzz{{|{{|||{{{{z{{y{z{||{|{|{{z{|zz{z{|{{z||{{|{{{zzz||{|{|}|{|||z{{{|{{{{|{{{z{{|{{{{{||{{|{{{||{{|{||||{}||z{||{{z{||||{|{|{{{{{{{{|{{|{|{|z{z{{{||z|||||}||zz|{{{{{{|}|}|||{{{z{|{|||||{||{{{|{|{{{|{|{}|{}|{||zz{|{{|||||{{{z{|zz{{{{|{||{|z{z{{z|}{{{|{|{{{{zz{|{||{{~~~~}~~}}~}}}~~~{|||{{|||||{|{|{{{z|{{{{|||{|{|{|{zz{z{{||{{|||{z{{z{zz|{|{{{z|zz{{zz{zz|{z|{{{z{{z{{{z|{{zz|{{{z{z{{{z{|{{{{{{{z{z{zzz{{{{{{{{{zzzzzzz{{|{{{{|{z{zz{{z{|||{{|{{|{{z{yz{||z{z{{{{{z{{z{{{{{{{||{{zz{{zy|{{|zz||{{{z{zzz{{{{||{|{y{zzz{z|{||{|{{zzz{z|{z{{||{||{{{{{{{{{z{{|z{|{{zz{{zz{{{||||}|{{z|{z{{|||{{|{|{|{{z{|z{||{|{||z{{{{{|{{|{|{|{|{{{{{{zz{|{{|{|}{{{{|{{{||{{|||{|{|z{|{{|||{|}}{|z|{{||{{||||{}||{|{{z{|||}{||}||z{|{||}{|{|{|{||{{|{{y{{z|||{}|{{z{{{{{{||{}|}||{z{{{{{||{|{||{{z{z{z{{{{{{{~}~}}~|~}~|}}~~|{||||{|{|}||}|||{{{{|{{||}||}|||z{zzz{{|{||{z|||{|z{{{z{{{{{|||{z{{z{{z{||{|{{}{{{zz{z{{{{|{{z{{{{zzzzy{{{{||{|{z{z{z{{z||}{{|{zy{{z{z{{z{|||{|z{{zzzzz{{{|{z|{{z{{{z{z{{{{|{{z{{z{zz{{z{{{{}{{{zz{{z{z{{{z{{||{{{zz{{{{|{z||||{{|{zzz{|{{{{|{{zz{zyz{{{||{|{|{{{{z|{{{{|z{|||{|{{{{{{{||{{|{|{|z{z{z{{|{|{{|{|{||{{{zz||{|{|~{z{{|}{{{{|{{|{}||{{{|{{{{|||{||{zz{{{{{{{|}{{||{{{{{{|{{}{||}||||{{z{|||{||||{|||{|z{{|||||}|||{{{{|{{{|||{{}||}||{{{{z{{||}|}||{{|{|z{z|{{||||{|z{{{|{z{|{{z{||{{|{z{{{||||{~~}~}}}}}}}}|~}}~{||{|{||}||}}}|||{|{|||||{}|}}{{{{{z{z||{|{{|||{{z{z|z{z}|z|{|{z{z{{{{{{{{{{|{z|zz{zz{|}{{{{{{{z{yzzz{z{{{{z|{{{{{y{zz{{{{{{||{zzzz{z{{{{z|||{|{{zz{{z{{{|{|}|zz{{{z{{|{z{{{|||zzzz{|z|{{{{|{|zz{z{|{z|{{|{||{|{zz{{{{||{{||||{{|{z{{{||||||||{{{{{y{|{{||z{||z{{{|yzz|{{{|||{|zz{z{{{{||{{{{{|{z{{{{z|{||{{||{{|{{{{{{{|}{{{|{{|z{{{|{{|{z|||{z{{|{|{{||||||}{z{z{z|{{||||||}|{|||||{|}{|||}|{{{|{{{{{}|}|||{{z||||{{|{|{{||||{{|||{{||{|||}|{{{|{|z{{}{}|}||||{{zz{{|||||{}|z|{{{{|{{{|{{|{{}{{z{{{{{{{||~}}~}}}~~~~}~}||{}||||||{|||}}|{{{|{{||{|{|||||z{|z{{{z{|{||{{|||zzz{z|{||{{{|{{{{zz{{|{|{||{{|z{z{{z{{||{|{{|{{{{zz{{{z{{|{{{{z{{{{{z|z{{{||{{|z{{zzz{{{{{{||{{{{z{{z{{{{{|||{{z{{zz{{{{{{{{|z{{{z{zzz|{{|{{{{z|zz|{{{{{|z|{|{{{{{{{z{{{|{|{{{z{{{{{{|{z{|{{|z{{{{zzz{|{{{|||{{{|{{{z{{{{{|{|{{{{{z{{||{|{|{{|{{{z{z{|||{{||||zz|z{|{{|||{}||{{{z{z{{|{{}|{|}{{{|{z{{{|||}|||{{|{|{{{{{{|}}|}||{z{{{{{}||||||{{{|{|{{||||||~}{{{|{{{||}|{{||||{{||{|{||||||}||{|{|{{{||||{|||{z|{{{{{{|{|z||}|{z{z{{|{|{|{|||}{{{zy{z|z|{{~~~}}~||~~~~||}~||}}||}|}}{{||~}||{{|{{{{||{|||||z|{|z{|{{||{{|{|{{{z{z{||z|{}{{{{{{{{|z{|{{{z{{{|{{{z{z{{|zz{z{{zzz{{{{|{{{{|{{|{{zz{zz||||{||{{{z{zzz{{z{{{||{zz{z{{zzz{z|{|}{zz{{{z{y{{{z{{{{{z{{|zz{{|{{{|||{{{z{{{{z|{|{|||{z{z{{|{|{{{{{{|z{{z{y{{{|{{{|{|zz{{{zz{{{{|{|{}||{|{{z{||||||{{{z{{{|{{{{|z{z|{{{z{{|{{{||{{|z{||{{{|{z|{|{||||{{z{{{{{}{{|{|||{{{{{zzy{||{|{}z}{{|{{{{|}|||||||{{||||{{{{||}}{||{|}|z|{|||||~||z{|{|{||{}|||}{{{z{|{{{{||{||||||{{{{{{|{{|||{{z|{{{{z{{}{}{|||||{{{{|z}{{{|{||{{{z{{{{{|{|{~}~}}~|||}~}~||}|}{{||{|||{|}}}}||{{{||{|{||||}||{{{{z{{{|{{|{}|||{{z{zz{{{|||||{{{z{{{{{|{{{|{|{y{{{zzz{{z{{|{{{{{zzzz{{{{{|{||{z{{|z{{z{{zz|{{z{{zzzz{{z{{{{{{|{{{z{zz|||z{{||{{{z{{{z|{{{{|{||{{{{{{z{|{{|||{{{{z{z|z{{|{||||{{{{zzz{{{|{z{{|{{z{z{{{{z{{||||{{{{{zz{{}{|{{|z|z{{{|{{{|{|{|}||{{{{{z{{{||{{}{|{{{{|{{|{|{{||{|{||zzz{|{|}|{||{||z|z{{|{|{{||{|{{{{{{||||||||||||{{{{|{{||{{|||{||||{{{}{{||||{{|{|{{{|||||{||{{{{{|{{{|||{{||{{{|{||{{{|{|}}|||{{}{{{|||{|{|}{{{{|z{{||{|}||}|||{{{{{||||{||{|{{{{z{{|{|{{~~}~~~}|}}}}}}}}|||{|{{||{||~|}|||{{|{{{|||||{{|{{|{{|z{{||{|{||{{z{{z{z{|}|{|{||z{{z|{z|z{{{||{{{|{zzzz{||z{|{|{{{z{{zz{z|{|{{|z|zz{{{{{{{|{|{{z{{zz{{{zz{|||{{{{{{zzzz{{z||{{|{y{{{zzz{}{{{{|{{{{zy{zyz{||{||{{{{{{zzz{|{{{{||z{{{{z{{{{|{|{{}|{{z{z{{{||||{{|{z{z{{{||}}|{{|||{{z{{{z{{|{|{||{{z|{{{{{||||{|{{{z{{{z{{|{|||||{{{{{{|z}|{|||}|{|{z{||{|{||}||||z|{{{z{{{}|}||{|z{zz|||}||{|{||||{{z||{|||||||}|||{z{{|z}|{||}||z{|{||{|||{{||{{{|{{{{|{|{{||||||{{|{{|||||{|||{{{z{z{|||{|}||{||{|{{|z||{|{}}|{{{z{zz{|{{{{~~~}}}}||}|}~}~}~|}{{||||z|{|}||}}|{z{{{|{{|{||{|}{z{{z|z{{{|||{|{||{z{{{{{{z|||z||{{z{{z{|{|{z{|{{{zz{{z{{|{{{{|{{zz{{{zzz{{{{{{|{zz{zzzz{{z|||z{{zzzzzz{|z|{{z{|{{{{zzzzz{{||{{{{z{z{zzz{{{{{{{{{zzzz{z{{{{{{||{{z{z{{zz{|||{{{|{{{z{z{z{|||{|{}|{|{{z{z{z{{||{{zz{z{{{z|{{{{|||{{|{{{{{{{|{{{{|{z{z{{zz{{{{|{|{z{zz{{{{{|{{{{|{{{|{{{{{|||{||{|{{|z{{|z{{|{{|{}{{{{{{{{|{||{{|{||{{z{zz|||{|{|||{|{{{{{{{{||}|||{{{z|{{{||{||}|{{{|{||{||{|||}{|{{{{{{{{{{{}||}{{{|{{{|{||{|{{}|{zz{{{|||||{{||{{{{z{{z{|{|||{{{{{z{{z{{{{|z}}}}|}~}~||}||}|}}||||{|{||||{}||||{{{{zz{}{|{|||{||{{{|{|z|||{|{||z{{{|{z{|||{{{}{{zzz{z|{|{{{{{{{zzzzz{{zz|{zz{{{z{zy{zzz{{|z{{{z{zzzzzzz{{z{{|z{z{{yzy{{{{|{|{|{{{|z{z{|{zz|{|z|z{zz{{{z{{{{{{{{{{zzz{{z{{|{{{{{{zy{z{z{|{|z||{z{zz{{zz{{{{{{{{{zz{zzzz|{{|||||{{{{|zzz|{{z{{||z{{z{{{{{{|}|{|z||z{{zz{{|||{{{|{{z{{{{{|||{{|{{|{|{{z{{{{|{||}{{{{z{{|{|||||{}||{z}{zz{{|{|{||{{{|{{z|{|||{||||}{{{|{{|{||{|||||||{||{{|}|{||}}{{{{|{{|{|||{||||{z{{{|||}|||||||{{||{z|{|{|||||{{{z{z{{||{|{{|{|zz|{z|{{|||{|{z{{{z{z{z{|{{|~~}}}}||}||}~|}}|}}|{{|}|}|}{|}}}||{{{{zz||{{{}||{z{{{|{{{{{|{|||{{zzzz{z{||{||{|zzzz{{zy{{{{{}||z{z{{y{z{{|z{{z{{z{zz{z{{|z|z|{{{z{zzzz{z{{|{{{{{zz{zzzz{{{{|{{{{{{{yz{z{{{{z{{{|{{{zz{zz{zz|{{{zzzzzy{zz{{z{{zz{{{{z{{zz{{{{{||{{{yzzz{{{|{z{|{zz{zy{{z|{|{||{|z{zzzzzz|{{|||{{{{{zzz{{z|{{{|{{|{z{z|z{{||z{||{z{{{{z{{||{{{{||{zz{{z{|{|||{}||{{{{{z{{{{|||{||{{{{|{{{||{{|{}||{{{{{{{||{||||}|{|{{z||||{||}{{|{{{|z{{|}||||~||{|{{|{{|{||||{|{{{{{z|{{{{||}|}{{{||{z{|{|||||}||{z{{{z|||{||||{|z{zzz{z{||zz{{z{|z{z{y{||||~}~}}|}}||{~}{}|}||||{||{|||{|||||}|{{|{{{{{{{{|||||y|{{zz{{{||z{||{{{{z{zz|{|{{||{{{{{{z{zz|{{{{|{{{zz{zzy||{{z{{{zz{{yz{{{{y{{{{{{{{zzz{yz|{z{||{z{zz{{zzz{{z{||{z{zzzzzzz{{||{{{|z{yyz{zz{{{{{z{{{zz{zzz}z{{z||{yz{{z{{{{{{|z{|{{{zy{{z{z{|{{{{{{zzz{{|z{{{{{{|{{zyz{{{yz}{{|{{{{{{{zzz{z{{||{|{{{{{{zz{{{|||z||zz{{{|{{|||{{{{|{||z|z{z{|||{{||{{{|{{|{|{{|}{||{{{{{|{|{|{{{|||{z{{|{{{||{|||||{{{z{{|{{{|{{{{}|{{||{{{{}{|||}|{|{|{{{z||{{{|||||{{{{{z||}||{||{|{{{z{{|||}{{|{{{{z{{zz{{{}|||||{{z{{{{{{||||{{|z{{z{{z{|z{{}}~~~|}{|{}}}~}}}|}}|{|{{{{||||{}|}|{{|{z{{{|{||{|||z{|{{z|{{||z{{}{{{{z{{z|{{|{{{|{{{z{z{{{{{{z{{{{zz{z{{{|z{z{|{{zz{{{{zz|{{||{|{zz|zzzzzz{{{|{|{z{{z{{zz{{{{{{{zzzz{zz{z{|z{{|||{z|z{z{y{{{{{{{{{{|z{zzz{{|z|{{{zz{zzzzz{z{{{{}{zz{{{z{{|{{{{{{|{{{{z{{||{|{{{{|{{{zz{{{{{||{|{{{z|zzy{z{{|z|{|z{{{z{|z||{{|{{}{|{z|{{z{{{|{{{|{{{{{zz{{|{|{{|||{|{{z{|{||{}z|||{z{|{zzz{}||||{{}{{{{{|z|{|||{|{{{{{{{|{|{{|{|||||{|||{|{|{||||{|{{|{z{z||||}|||{{{{{z|{|{{|||}|||{{{{{|{{|{{||}{{{{z{{zz{||||{||{z|{{z{{{{|||{|z{{{z{{z{{||{}}}}}}|||||||}||}||{z}{{z|{||}||{{{|z{{{z{y{{{{|{{|{{zz{{{zz{z|{{|{{{z{{{zz{z{|{{{|{zzzz{zz{{{z{|z||{zzz{yz|z{zz{{y{z{zz{{{z{{z{{{{zzzzzy{{z{{zzz|{{zz{z{zz{z{z|{|z{{{zz{zz{{{z{{{{|zzzyyzz{zz{{{{{z{zyz{zzz{zz{{|{zyzzz|zz{{{|{{{{{{y{zz{z{{{{{{{{z{zz{z{{{{z{zz{{{z{z{zz{{{|{{{|{{{z{{zz{{{{{||{z{{z{{z{z{{|z{{|{|{{z{zz{{z{{z{|{{{z|z{{{||||{{{|{||z|{{{{|{|{|||{|{{z{zz|{|{|z|{{z{z{z{{{|{|{||{{z|{{{|{{|||||}||{{z{{{{{||||{|{|{|{{|z{|{|{{|||{{z{{{z{|{{{|{{|{|zz{{{{{{||{{{|{{{z{{z{{|{||{|z{y{zz{{z{|{{{{|{{z{z{zzy{z{{z~||}|||}||{}{||||}}|||||{|||{}{|{||{{{z{{{{||{{|z{|{z{{zz{{z{|{z|}|{{{yyz{z{{|{{{{|{z{zz{yzz{{z{{{{|zyzzz{z{{|z{||zzy{{zzz{{z{{z{{{zz{xzzzz{|{|z{{{{{zzyz{z{{{z|{{{{z{{zzzyz{zz||{zzzzzyz{z{{{zz{{||{zz{{{{{zz{{{{{zzz{{{{zz{{|{|{{{{{z{yz{{{zz{{{{zzz{z{{{{{z{{|||{{{zyz{{z{{{{|{{z{{z|z{{{{|{{{{{z|{zz{z{{{|{{{{|{z{z{{z|{{{{z||{z{{zzz{y{z{|{{{||zzz{{{z{{||{z|{{{z{{zyz{{{{|{{|{z{z{z{z}{z{{|||z{{{z{{z{{{{|{|{{{{{z{{z||||}||||{{z{{||||{||z{|{{{|{z{{{{{||||||zz{{{{{{{{{||||{{zzz{z{{|{|z||{{{{{{{zz{||{|{}|{{|z{{zz||{{{~}}}~}|}||}}}}}}}|||}|{{|{{||}|||}|}|{y|{z{|{||{}||{z{z{|{z||{{{{{{{z{z{zzz{{{{{{{|z{zzzz{zz||zz|||{zzz{{zz{{|{{{{{yzzzzzz{{{{{z{||zy{zzzyz{{{{z|||z{zzz{z{{{{{|||{{{{|z{z{{|z{z{|{{{{{{yzyz{{{{{{{zzzzz{{{zzz|{{{|zz{zz{zz|{||{{{||{yz{zzz|{|||{||{zz{z{{{{{|{|||||{{zz{{z|z{{||||{{{{zz{z{||||{{{{{{{{zz{{|{{{|{|z{z|z{zz{||{{|{{{{z{{{|{|{|}z|||{{|{{{{{{|{|{{|{|zz{{{{{{|{{||||{z||{{{{|}|{||}||{{{{{|{||||}|||||{|{{|{|}||}{||{{||{|{{|||{|||{}zz{|{{|{{|{|||}|{z{{|{{{|}||{{|{{|zz{z{z|{{{|}{||z{{z{{{|{|{{|{{{{z{z|z|{{|z}}}}}|||||}|}|}|{}|{{||{{{||||||||{{{|{{z{z|{|{||{{{z{z{z{{|{||{|||}{{yzy{z{{|{{z{}{z|{{{zyz{|{{|{{{{{z{{z{{{|{zz{{{{{y{{z{{{z{z|{{{z{{zzzz{zz{{{|{{{z{{zz{z{{|{{||{z{zzz{z{{{|{{{{zzzz{z{zy{{{{||{{{{z{z{z{{z{{||z{zzz{{z{zz||{{||{zzz{zzzz{|{zy||{{{{|z{{z|z{{|{{{z{zz|{{{{{{|{{{{y{z{{{yz|{}{|{{{{|{{{|z{|||{{{|zz{{{zzz{|{{{||{|{{{z{zz{|{|||{{{{{{|{|{{||{|{|{{{{z{yzz|{{{{|}{{z{{{{z{}{|{|{{||{{|z|{||{|||{|||{{{z{{{{{{}||||||||{{{|||}|||||||z{{z{{{{{||||{}z{{z{|z||||||||{{|{{z{{{{||{|||{{{{z{{z{{{{{|||{z{{zz{z|{||{}}}}}{||{{|}}}}}||}||{{z|{{{{|}||}|||z{{{|||{{{z{|||{z{z{{{{||{{{{{{zzzzz{z{z{{{{{|z{{zzzzy{{{{{{{{{{z{{{zzz{|z{{{zzzzz{zzy{{{{{{{{zz{{{zzy|{{zz{{||{{zzzzz{{z{z{|{{{zz{z{z{{{|{|{{|{zzzz{z{{z|{{zy{{z{yz{zz{{z{{{{{z{{zzzz{{{{z{|{{y{zzz{z{{{z{{|{z{{zyz{zzz{{{{||z{zzz|z{{{||{}|{{z{{{z{z{{{{{|{||z{zz{{{{|{{{{{{{{{{{{z{{||{|}}{z{{{{zz|{{}{{{{{z|{|{{{{{|{{{}|}{{{{{{z{||||||{{}{{{{{{{||{{{|{|||{{{{{{{{{{{||||z{{z|{{}|{|{}|}{{{{{z|{||||{||{|{{z{z{|{{{|{}||{{{{{|{{{|{|}|||z{{{{{{||{{|||||{{{{{{{z|{{|{{{{zzz{z{|z|{z||}}}}||{|}|{|}|||||||{|{|{{{|||{|||}{{{{{zz{|{{{{||}|{zzzz{|z}||{{|{{zz{z{{{|zz{|{|}|{zz{zzz{{{z{z{{{{{{zzzz{{{{{{{{|z{{{zzz{z{||{{{{z|zz{zz{{{{{|z||z{{{{yz||{{|{{{{z{zz{zzz|{{{z{|{{{z{zz{{|{{z|{{{zyzzzzz{{zz{{{|{zzz{zzz|z{{{{|{zz{zz{z{{{{{{{{{{{{z{zz{{z{{{{{{z{z{{z{{{{{{|{{|{{{{{z{z{|||{|{{|{{z{{z{|{||{|||{{{{zzz{|{|{{|}|{{|{{{{{z{{|||||z{|z{{z{|{z}|||||z{{|{{z||||{|{||z{|{{{{||{{{||||z{{z|{{{||{{{||{{{|{{{z{|||z|||}z{{{{|{{}|{{|}{}{{z{{{{z{|{|{|{|{{{|{{{|{||||||{|{z{{{{{||{|{||{{{{z{|z{{}{|{{{|z{{{y{z|||{{}}}|||{||{|||||{}|||{{|{{{{}{{|||||{{|z{{z{{{{{|{{|{z{{{yz{z{{{{{|z|{z{z{zz||{|{{{z{{{{{{zz{{{{|zz{{z{{zzyz{z|{z{{{{{zz{zzz{{{{zz|{zzzzzzy{z{z{|{{{|zy{{zzz{{|{{{{{yzzzyzyzz{z|{z||{zzzz{zz{z|{z{{{zzyz{zzy{{{{{{{{zz{zz{zzz{{{{{|{{z{zzzzz{{z|{|z{{y{{z{{z|{{{{{{|{{zz{zzz{zz{z{{{{{{{{yz{{z|{z{{{{{{zz{z{{z{{{{{|{z{{{{{{|{{{z{{|{{z{{{{zzz||{{{{{{{{{z|{|{{|{|{|{{{|zzzz{{{{{|{{|z{{{{{z||{|{{|{{z{{|{z{{||{|{}{{{{{z{{{{}|||{|{|z{{{z{z{{||{||{{{{z{{z{|{{{{{{{|z{|{{{||{|{||{|{{{zz{{z|{{{{}||{{{zz{{z{z{|{{|{{{{z{zz{{z|{{~|||}}||{|{|||||{||{{{{{{{|{||||{|||{{{|z|z|{|{zz{{zz{{zzz{{{{{{z{|{z{zz{zz{{{{||{||zzz{{{y{{{zz|{{zzz{zz{zzz{z{{{{{zzzyyy{{z{{{{{{z{y{zzzzz{{{{{{{{{{{{zyz{{|{{{{{{{zzz{{xzz|||{{{z{zzzzzyz{{z{{{z{z{zz{{zz{{zz|z{z{|zz{{z|{{{{||zzzzy{{zz{|{z{{z|{z{z{z{y|{{{{z{|{{{zz{{z{|{|{||{{z{{{z{{{{{{{|{|{{{{{{z{{||{{z|z{{z{{{z{{{zz{{{{{{{{{zz{{{{{|{|{{{{z{{{z{{{|{{{{|{{{{zz{{|{|{||{|z{z|z{z{||z|}||{z{{{z{zz{{{||{{|{{{z{{{{|||{||{{z{|{zz{|||||||||{{z{{z{{{|{{|||{{{{{zz{{|{{{|{{{|z{{z|{{z|}{|{|{{zz{z{{z{{{{{||zz{{zy{{{{{{|}|||}}{{|||{}{{{|{}}|{{{{{z|||{|{||{|{{z{{y|{{{||}|{zz{{zz{z|{{{|||{{zzzz|y{{|zz{{|zz{{zzz{{{{y{|{{|zzz{{yzz{|y{z{{zzzyzzyz{{z|{||{zz{z{zzz{|{{{{|{{zzzzzz{{{||{{{{{z{zyzzzz|{{{{{{zyz{{zyzz{z{{|{z{{z{{{{z{{{z{{{zyzzz{yzz{{{{{{{{{zz{zzyzz|{|z|||zz{zyyz{{{z{|{||zz{{{{zz{{{z{{{{{{{z{z{z{{|{{{|{{yz|{zzz{{{{{{|{{z{{{zzz{|z{{|{||{{z{{{{{|||{|{{{{{{{z{{|{{{{|{||{z{zzzz{|{{{||||z{{{z{z|||{|{||{{|{{{|{{{{{{|{||{{{{z{z|||||z}|{{{{{{{{{{}|{{|||z|{z{{{|||||{|{{{{{zz{{|z|{{{|}{{{z{zz{|{||||{|{z|{z|{z{{||{{||{z{yzzzz{{|{z}|||}||z||{{|}|||}|{{{{|{{{|||}|||||{{{{{z|z|||{{||{z|z{{{{{||{{{{|{{{{zzz{|{|{{{|{z{{zz{zz{{{{{|{{{z{z{zzz{{{{{|{{zz{z{zz{{zz{{{|{{{yy{zzzz{|{{{{z{zzzz{zzz{{z{|{|zzzyzzzz{{{zz{{{{{{zyy{{{{{{{||z{{zz{z{{zz{zz{{{{{z{zzz{z{{|{{|{{zyz{z{{{{|{{{{|{{{zzzzz{z{{{{|{{z{{zzzz{{z|{{{{{z{{{zzz{{|{{|{{|{{{{z{zz{{|{{||{{{zz{z{||{|z|{{{{{{{z{{{{||{|||{z{z{{{{|{||{||||{{|{{zz{||{||||{{z{{z{z||{|||{|{z|zz||{{{{{|||||{|{{{{{|}|||{|||{{{{{{{|{{|{|}{{{z{zz{||{|{||{|{{{{|{{||||{||{}{z{{{zzz|||{{{||{zzz{z{{{|{}{{|{{{{zzzz{{{{{z|~||||{{{{{}}||}{}}|||z|zzz{|||z}|{|{zz{zz{{{{{|{{||{{{{z{{|{{{{{||{z{zzz{z{{{|z|{{z{z{z{z{{{{z{{{{{{{zzzzz{z{{{z{zzyz{x{zz{{{|z{{{zzzz{zzy{{|zz{zzzz|zy{z{{z{z|{{{zzzz{zzyy{z{{{|{{{z{zy{yz|{z{|{z{{z{zy{zz{{{z{{{zz{zyz{{|{{|{|{{{z{zz{{|zz{{{{||{{zz{z{z{z{{{|{{zyzzzz{{{{|{{{{{z{zz{z{{|{{{{||z{{z{zzz{z|{|{{|{{zzzzzz{{||{|{{{{{{{|{{y{{|{{{{{{z{{|z{|{{{|z|||{{z|{{{{{{{|{{}|{{{z|{{z{|{{|{|{||{zz||{||{|z||{|{{y{|{{z|{|{|{{{{{{{{{{{{}|{||{|{{zz{||{|z|{{||{{{{{z{{{{|{{|{||{{z{z{z|{{|{{}{{{{{y{{zz{{{{||{{z{z{{{{{|{{{}}||}{|{|{||}|}}~}|z|{{|{{{{|||||||{{|{{{z||{{|{|{|{{{{{z{y{zz{{{|{{|zzzz{z{|{{{|{|{z{{zzzzzz|{{|{{{{|{zz{z{|{{z|{{z|zzz{z{|{{{{|{{z{|{z{zz{z|{{{|zz{{{zzz{{z{{|{{{z{{{{{zz{{z|{z{{zzz{zz{y{zz{{{||{{z{z{{zz|{{{|{{zzzzz{{{{{{{{|||{z|z{{{{{{{{{{|{{z{zzy{z{||{{{{{{z{zzz{{{{{||{|{|{{zz{{z{{{|{{{|{{{{{zz{||{{||{{{{{{{z{{{{|{{|||{z{{{{z{{{||}|||{|{|{|{|{|||||{}{{{{z{{||||{|||{|||{{{{z|||{||||{{{{{{{{{||||||{}{||{||{|||}|||}|{{|{{{{||}|{||||{|{{{{{{{||{||{{{{z|{{z{{||||||{{{z{{{{{||{|}||{{{{z{z{{|z|{{|{{{{z{zz||{|{{}}|{|{z||{{{||}|}|}{|{|{y{|{{{||{{{|z{z{{|zz{{z}|{{{z{{zzz{{{|z{{|{{z{{yy{z{{{z{{|{{{{z{zz{z|{{{{{|z{zz{{zzz{{zz|{{z{zz{zzz{z{{{{{{z{{zzzzzz{{{{z{{z{y{zz{{{{{z{{|z{{{yzzz|{{{{zz|{{{z{zz{yz{yz{z{{zzzzyzzzz{{zz{{{{zzzzzz{{{||{{|{{z{z{zz{z{z{{{{|z{{z{z{{{z{{{{{{zz{zz{{z{{{{||{{{{{zzz{{{|{{{|{{zzz{zz{zz|||{||z{z{{{z{{{|||z|{|{zz{{{z{{||{{|||zz{{{{{{{|{|{{{|{{z{{z{z{{{{}{|||{{{zzz{{}}|||||{z{z{{{{||{|{|{|}{z{|{{z{|{{{{||{{|{{zz{|||{||||{{z|{{|{{{||{|}}|{{z|z{{{|{||{{|{{{{{{{z{{{{z{||{{{{{z{{|||{{{||z{zzzz{{zz|{{}}||||||{{{|}}{{|{}{{{|{zz|{{|||||}}{z{{||{{{||{||{z{{{{{{z|{{}|{{{|{zzzz{z{{|{{{{{|z{zz{{z{{{z{{{{{zzzzyz{{{{{{|{{|{zzz{zzz{{|{|{{{{yzzzzz{{z{z{z{{z{{{zyzz|{{{{z|zzzzz{zz{{z{{||{z{z{{z{yz{{|{|{{{zzzzzz{{{zz{{{z{z{{{{yz|{{{{|{{{z{{{{{z{{{{{|{|z{|z{z{{{|zz{{{{{z{{{zzz{z{z{{||z{{{z{{{|{{{{{{zz{{{{z{{{{{{|{}|{zz{{{z{{{||{|||{|{z{{{{{||{|{|{{|z|{|{{||{||{{{{{z{{{|z|{|{|||{|{|{{||z|{{|||}|{{|z{|{{{{||||{z{|{|{{{{z}||{}|||{{||{{{||||||{|{{{z{zzz{{{{|{||{{z{||{{|{{{||||{z{{z{{z||{{{{||{{{{{zz{{}{|{|{|{{z{{{{z{|||{||}}|||}{|{|||}|}}|}{|z{z{z{{|||{||{{{{{z|{||}{|||||{yzz{z{{||{{|||{{{{zz{z{|{{{|{|zzz{{z{zz|z|{{|zzz{{{zzzy{|{{{{z{{zzyzz{z{z{z{{|z{zz{z{z{{{|{|{|zzzzzz{{|z|{{||{|{{{zzz{{{{{{{|{z{{{z{{z{{{{{{|{{zzzzz{{{|{{{{{|zy{zzz{{{{z{{{||{z{yzz{z{{{{{{z{{z{z{z{{{{{|{{||z{|z{{z{{{|{{{||z{z{zzzz{|{||{|{{{z|{{{{||{z|{{{{{z{{{z{{{{|{|{{{{{{{{{|||{{}{{|{{z{z||{||{|||||{z{|{{{|{|{||{{{|{{{z{|{||{{||||{|z{|{|{|{|}|||||{{{z{zz||||||}|{||{{{|||{|{z|}||{{{z{|{z{{||{{}{{{z{zz{||||{|{}z||z{|z{{||{|||{||z|{zzzz|{z}||{{{{z{z|zz{|{{}}{||{|{z{|||{||{}|||z{{{{{{{{{||}|{{z{{{zz{{{{{|||{z{z{{zz{|{|{{|z{{{{zz{zz{|z{{z{|{{z{{{y{zz{{{{{{z{zzzzz|z{{{|z{{z{zz{{zz{z{z{{{{{z|zzzzz|{{{{|zz{z{y{z{{z|{{{{zzzz{yyzzzz{z{{|{z{zzz{zz{|{{{{{{{z{zz{{z{|{|{{||{{zy{zyzzz|{{|{{z{{zzy{z{{{z|||{{z{{{z{{{{{{{{||{{zzzz|z{}{z{{{|{{{|{y{{{{||{|{{{{z{{{yz{{|{{{|{|{z|{zz{|{{{|{{{{zyz{z{z{{{{{{||{{{{{{{{{||{{|||{{{||{zz|}|{{{||{z{{{{zz}||{|||{z{{{{{|{|||||||||{{{|{{z{}|}|||{{{{{{{{{|{{{|{|{{z{z|{{z{{|{{||}{{{{||z{{|||||{|{{zy{{z|zz|z||}||zzz{{{{{{{||{||z{{z{z{z{{{z||||{{|{{z||{|||}||{z{{{{{{{||{||{|}{{z{{{z{{{{{{|{{{y|zzzz|{{|{{{|z{{zzz{{z|{{|{{{{{zz{{zzz{||{z||{z{z{{zzz{{|{z|z{{z{y{{zz{z{|z{z{{zzzzzyz{{{{{z{{zzzz{{zzz{{{z{||zzz{zzyyzz{{z{{z{{zzyz{{z{{z{{{{|{{zz{z{z|{{z||{{{{z{{z{{{{|{|{{{{zz{z{zzz|{{{{{{{{{z{{z{{{|{|{|{zz{zzzz{{{{{|{{{{|{{{zz{z{{{{{|{{zz{z{z|{|{z{{z{{z{zzzz||{{{{{{{{{{{{{|{{|||{}{{|z{{z{{||{|{||}{{{{{|{|z{{{||||{{{{{z{{z}{|{||||{|z{{{{{{|{||{||{{{z{{{{}|||{{|{||{{z{{}|{|||{{{z|{{{{{{|{{|z{|{z{{zz{{||z|{|||z{zzzz{{{{{|{{|{|{z{{{{z{||{z{{{{z{z|{zzz{||{||}{{|{||{|||}}{|{}{|{{{z{|{||{||}|{{{{||{z{{{z{{{{zzzzzzz{|{{{{{|{{{{zzz{z{{{|{{z{{{z{zz{z{{|{y{|z{{{{y{zz{{{{{{||z{z{zzzz{{||z{{{zz{zzzz{z{{z|{{{z{zz{{zz{||z{{{z|zzzyz{zz{z{{||{{{zz|{{zz{zz{|{|zzzzzz{zzzz{z{{zzzzz{zyzz{{{z{||{{zz{{z{z{{{{{{|{z{{z{zy{{{{{{|{{z{z{||{{z{z||{|{{{z{yzz{|{{{{{{{{{z{zzz{{|{}{|{{z{{{z{z|{{{{{{{{{{{|{{z|{|||z{{{||{||{{{|{|{|}|{{{zz{{z|||{|{}|{{yzz|{{{||{|||}{{{{{|||{{{{|||{|{{|||{z{}||{||}|{{{|z|z||{||{||{y{|{{z{||{||||||{{|{{zz||{|{{|||{zzzzzz|{{||||{{{z{{z{{|{{{{{{{|{|zz{{{{z{{{|||{|{||{{z{}{|z{||{{zzzyzz{z{{|{|{{z{zz{{{||{{{|{{zz{{z{{zz{{{zz{{{zzzzz{{|{{{|{{zzz{{zzzzz{z{zz{{{yzz{zzz{z{z{|{zzyzzzzyzzz{{z|z{zzzzzz{{z{z{zz{{{zyzzzzz{{|{{{{{{z{{z{zzzzz{zz{z{zzzzzzzz{{z{z|{z{z{zyzz{|{{z{{zz{{y{{zy{{zzzz{|zy{yz{{{{{|zz{{{{{}|zyzz{{|{{{{{z{zz{z{z{zz{z|||z{z{{zz{z{{{{z{z||{zzz{z{{{||{{{{{z{zzz{|{{z|{||{{{{|{{z{{{{|{|{zz{z{{{{z{{{||||zz{{{{z{{{{|||{{{zzzyzzzz||{z|{{{{{z{zzzz{|{{{{||{zz{|{{|{{||{|||z{z{{{{{{|||||{{{zzz{{z{{{|{{{|{{y|{|z|{{{z|{{{{{{zz{z{z{z|{|{{{{{{|{{y{|{{{{{|{z{z{zzz{{{{{||}{|{{{{{{||{|||{||{{{{{{{{{{{{|{||{{zzz{z{zz{|{}{{zz{zz{zz{{{{z|{{z{zyz{{zz|{{{z|z{yzz{zzzz|{{{{|{z{zzyzz{{|z{{{{{{zzzzz{zz|{z{{{{{{zzzzzz{{{{{{zzzzz{zz{|{{{{{{{zz{{zzzzz{{zz{{|{zzzzzz{z{{{z{{{{{z|zy{{{z{{{{{{zz{zzz{z{{{{{|{{{yz{{zzzz{|{{{|{z{{{{y|{{z{z{|{{zzz|zzz{{{{{{||{zz{{{{{{{{{{zz{{{{{y{z{{{{{{{|}{zzz{{{{|{|z{{||{{z{{{|z{||||{|{|{z{{||{z|{|}{{}|z{|{{{{z|||{||{{{zz{|z{z{|{{{|}|zz{zz{{{{|{|{|||||{zz|{{||{|||}|{{{{{{z{||}||{||{zz{{{{{|{{|{||}{{{|}{{{{{{{|||{{z|zz{z{z|}{|{{{|{{|zz{z{{{|{{{{{z{zzz{z{{|{{{|{z{z{{{{{{||{{{|{{z{{{zzz{{{|{|{}|{{{{{{z{{|{{}|}{|{{zz{{{{{{{{{{{z{zzz{z|{{|{|{|zzzzz{z{||{zz|{z{{{{{z{zzz|{z{{}{{zz{{z{{{{{z{{{zzyzzzzz{{{z{z|{z{zzy{zz{|{{{{|{z|{zz{{z{|{z|z{{z{zz{z{zzz{zz{|{{{{zz{zzzzzz{{z{{zz{zzz{{{{|{{{{{{zzzy{{{{{{z{{|z{{{{z{{{{{{{{{{zz{z{zz{{{|{|{z{{{{z{{{z{{||{|{{z{{{{{{{{|{||{|{{z{{zzz{{{{{{{{{{{{{{{zz|{|}{}||zz{{z||||{{|{|||{zzz{{{{{|{||{|{|{{{{{{z|}{{{|||z{z{|{{|{{|{||{||{z{z{{{{}}||||{|z|{z{{{{{|}|{||{{z{z{{|z{{||{|||{{{|{{{||{|{|{}{|{z{zz{{|z{||}|{{z{{z{{z|{|{|{{{|{z{{z{{{|{z|||{|z|{{{{|||}{{|{{{{z{{z{|{{{||{{{|{zz{z|{{|{|}z{|z{{{z{z}{{|zz{|{{{{z{zz|z{{{|{|{{{{z{|yz{{zz{|{z{{{z{z{{{{{z||{z{{zzzzz|z{{{{z{{z{zzzz{{{{zzz}|zzzyz{zz{z{{{{{{{zzz{{z{z|{{{{{{{{z{zzz{{{z{z{{zz{y{zz{zy{{z{|{|{z{zz{zzz{{{{{{{{{zz{yzz|{{{z{{|zz{zzz{z{||{{{{{{z{zzzz{||}{{|{{{zzz{zzzz|{|{{||{{{{{z{{{{{{|{|{z{zz{{{{z|{|{|{|{{{{z{{{|{{{|{{{z||{|{|{{|{{{||}|z{z{z{z{{{||{|{{zzz|z|{|||{{|}||{{{{{{{z|{|{|||}{{|{{{{{||||{|{|{|{{z{{{|||||||{zz{|{{{{||{}{|||z|{{{{{||{{{|||{{{{{{zz{|z}|{|||{{{{{{{{|{|{{{{{{{{{{zz|{|{||||z{{|{{|z{||{{{{||{|z{{z{{{|||||}{{z{{{{{{{|{|{|{{{{|{zzz{{{|{z||{{{zz{zzz{||{|{{{{|zzz{z{{{|{||{|z{z{z{z{{|z{{{|{z{zz{{z{{{{{{{{{zzz{zzz{{{|{{{|{zz{z{z{{{{{{|{{{z{{zz{zz{{|{{|{|{zzzzzzzz{z{{{{{{zz{yzyz{{z{{{|zzzzz{zz{z{{{{|{{{{{|zzz{z|{{|{|{z|z{z{z||zz{{||{{{{zzz{{z{{z|{{{z}z{{zz{{z{{|}{{z{z{{z{{||{{{{{{z{{z||{|z{|{{{{|zzz{{z{{||{|||{{{z{{{{{{|||{||}|{|{{{{z{{|||||{|{{{{{{{|{{|||}|{{{|{||{||{||||||z{|z|z{||}|{||||{{|z{{{|}|{|{{|{{z{{|zz|{{|{||}|{{{{{{{{{{|{{||z{|{{{{{{{|{{{{|{|{zz|{{{||||{|{z|{{|z{{|{{{{|||{|z|{|{{}}|||{||{{{||{{z}{{{{{|{|{|{z|{{}{|||{}{{|z{z{z{z|{|{||{z{{{{zzz{{{z{|z{{zzz{{{z{|{z|{{{|z{{z{zy{{|{{{|{{zzzz{{{{z{{{{z|zzzyzz{zz{{{{||{{zz{yzzz{{{{{z{|{z|{z{z{z{|{z|z{{{zzzzz{z{|{|{{{|{{{zzzyz|{z||{||z{{|zzz|z{|{{|{{{{{{z{{{{|{{{{||z{zzzz{{{{z{|{|z{{{{z{|{{||{|{{{{|{{z|{z{{|{|||{z{z{{|z|{|{{|{{zz{|{z{z{|{|{||{{|z{{{{{{}|{|||{{|{z{{{{||{|||}||{|{{{{{|{|||||{|z{z{{{z||{{{}|{{{{{{|{{||{{||{||{{{{|{{||{||{|||{z|{|{||||{|}|{{{{z|z{{{{||}{|}|{{||z|{|||{|{|}{{|{{{|{|{{{|}|{{|{|{{zz{}|{{{{z{|{{{{{{{|||{}}{{{{{z|{{||||}{||{{z{{{|z{||||{|}{|{{{{{{{|{|{{{{{{zzz{{{{{{{z{{|{{{{zy{z{{|||{{{{z{{zzz{{z{{{{{z{{zzzzz{{{|z{|{{z{{zzyz{y{{{|{{|zzzz{zy{z|{|{{{{{z{{zzy{z{{{{{{{z{zzzyzz{z{z{{||{{z{{z{zyz{z{{{zz{zz{zz{z{{{{{{{{zz{{z{z{{{{{||{{zzy|y{{{{|y|{|{{{{{z{{z|{|z{|{|{{{{zzz{|{|{|{z{zz|zzz{{{{{{|||{{{|{{zzz{{{||{{{zz{z{zzy{}|{{}{{{|{z|{{{||{|{{{||{{z{{z{||{{|||{|{{{zy{z|{|{{{{|{z{{{{z{||{{{|||{||{|{{{{||{||{{|zzz{{{z{||{|||||{|{{{{z|||{{||}|z{{{|{{{|||||||{{{{z{{|{{{|{||{|z{zzz{z{|{{{{||z{z|{z{z{|{{|{{{{{|z|zzz{{|z||}{{{{{{{{{{|}|{{}|{{{{{{zzz{|{||{}||{{|{{{{|{{{{|||{{zz{{|{z{}{{}{|{{zzz{z{{|{z{|{zzz{z{zz{{|{|||z{{{z{{zz{{{z{|{{{{{{y{z|{{{z{{{{z|{zzz{{{{{{{{{{|zz{{{{{{{z{z{{{{zzyzz{{|{||{z{{{zz{{z{zzz{z{{{{{zzzz{z{{{{{{{||z{zzz{zzz{{}{{{{{z{{{{{z{||{{{{|{z{{{{|{||{{z|||zzz{zz{zz|{{|||{zz|{zz{zz{{|||{{z{{{zz{{{{|{{{||{|z{|{{{{|{{{|||{{z{{{|z{|||{|{|{{z{|z|z{||{||||{{{{{{{y|||||{{{{{{{{zz{|{|||||}z|{||{{{{|{|||||{{{{{|z{|{|{||}||{{zz|{{|{|{||{{||zz{{{{{{{{{|||{{{|{{{{{|{|||{}{|{{zz{{{|{||{}{|{z{z{z{{{}||{}|z{|z{{zz|||{z||{z}{{{z|{|{{|{|||{{{{{{z{{|{|{{{|{{{z{{{{{|{z{{{{zz{z{{{{{{{{z{z{z|{zy{zy{z{{|z{{zz{{zzz{z{{{{{{{{{{{{z{zz{{z||{{{zzzz{zz{{z{z|{|zz{{{yzz{z{z|{{{|z{zyzy{{{{{|{||z{{{zzzzz{{{zz{}{{{z{z{yz{{{z{{z|{zzzzyz{|{{{{{{zzz{{{{y|{|zz{|{{z{z{z{z{{z|{{{{zzzzzz{{|{{{|{{{z{zzzzz{{{{|{{{||z{{{z{{z{{{{{{{{z{{{{{z|{{{{z}{z{z{zzzz{||z{|{{{{z{{{{|{{|}||{{{{{{|{{{||{{|{{{{||{y{{{{||||{||{zz||{zz|{||||||{{{z{{{{||{{{||{{z{{z{{z{|{|{|||{{{{zz{z||||||||{{z|{{{{{|{{|}|||{{{{{zz{{|{||{{{{{z{zz{{{{{{|||{{{{z{|z{{|{{{|{zz{zzz{{|{{|{|{{|{z{{z{{|{||{{{|{{{{{{{{{{{}z||||{{z{z|{{{|{|||{|{{{zzz{|{{{|||{z{{{z|{z|z{{z{{|{{{y{{{z{{|{{{{{zz{{zzzz|{{zz{{|{zzz{{zzzz{{z|{|zz{{z{{z{|z|{{|{z{yzy{zz{{{{||}|{z{{z{{zz|{{{{{|{zz{|zz{{z{{{{{z{{zzzzzzz{{{{{{{zy{z{{zz{{{zzz{{{{z{|z{{{z{{{z{{{|z{zz{{{{||{{{{{z{z{{zz|{{|||{|{z{y|{{z{|||||{{{z{{{{z{||{|{{|{{{{{{{{{{{|||}|{{{{{{{z{{{|||{}{{{{{{|{z{|||{|{}{{|{z{zz{||{{{||{zz{{{{{{||||||}{|z{z{{|{|{{||{{||{{{|{{{|||{|||||{z{{z|{|{|{|{{{{{{|{|{{{{{|||||{{{||{|{{|||{||{{{||z{z{{|{{{z|||{z{{{{{{|||{|{{{{z{{z{{{{{{||{{{{|{z|z|{|{{{|}zz{zzy{{|{{{{{||{{z{{zzz|{{|||||{{z{{zzzz{{|z{|}{{zzzz{z{|{{{|{{z{zy{{zz{{|zz{{{zzzz{zz{z{{{{{{z{{z{zzz{{{{{{{{|{{zzzyzz{{z{{{{zzy{zz{z{{{{z{{{{|z{zyzzz{{{|z|{z{z{zyzzyzzzzzz|{{zzzzz{zz|{|{{{{{z{zzz{y{{{z{{|{|z{{{zz{{{{z|{{{|{{zzz{z{z{z{{|{{{zzzzzz{z{|z{{{z{{z|z{{{{|{{|{{{{{z{z{{{{|{z|{{{{z{z{{z}{|{{{||{{{zz{zz{||{{{{{z{{{z{{z{|{{{{|||{{{z{{|{||{{||||{zz{{{{{|}}|{|||zzzz{{{z|z{{|{||{{{{|{{{||{{||}{{|{{{z{||||z||{{{{{{{{|{{{|||{||{{z{{{z{|{|z{{|z{|z{{{{|z{|{||{{{|{z{zyz{|{{z|{{{{zz{z{|{{{{|||{{{}z{{{{{|||{|{{z{{{zzz{{{{z}|{|{zzz{zz|{{{{|{{{zz{zz|z{{{{{{|{|zzzzzzz{{|{{{||{z{z{{{z{|{{z{{|{zzz{zzz{{{zzz{|{y{zy{z{{{z{{z{z{zy{zyyzz{z{|{{{{{{zzzzzz{{{{{z|{{{zzz{zz{{{{{|{{{zzzyzy{{{{|{{|{{{z{{{z{z{z{{{|z{{{{zy{z{|{{{{|{z{zzzz{{{{{{{|{zz{{zz{{z{z{{{{|{{{zz{{{z|}zz||{z{{zzz{z{{{z{{|{{|{z|zzz|{|{{{||zy{{zzzz{{{{{{|{|{{z{{z{|{{{{{{|z{{zz{{{{{|{||||{zz{{zz{{|{{{{{{|{{{z{{{{|z|}|{{{z{{{{{||{||{||}{{{z{{z{|||{|||||{|{{|z{{{}|||||{{{|{{z{{{{{|{||{{{z{{{{||{{|{|{{|{z{{z{{|{{|{|{|{z{zz{{{{{{{{|{{{{{zz{z{{{z||{|{{{|{{{{{{|||{||{{{z{z{zz|{|{|||{{z{z{yz{|z||{||{{{z|z{{{||{{{|{|{z{zz{z{{{|{|{|{zz{yz{{{{{{|{}|{zz{{{zz{{|{{{{{zzz{{zzzz{z|{|{{{{zz{zz{{{{{z{{{{z{zz{yzzz|{{|{{{zz{z{{z{{{{{{{|{|z|zzzzy{{{{z{{zz{zzyz{z{zzz{|{{zz{yzz{||{{{{{{{{z{{zz{{{{{{z|{{zzzzzz{z{{z{{{{z{{yz{zz||{|{{{||zz{{yz{{zz{{{{{{y{zzz|z{{{|{{|{|{{{{z{{|{z{||{{{{zz|zz{|{||||{||{{{{{|z|||}|||}|{{{z{zz{{|}}|{||{{{{z{{||||}||||{zz{||||}{||{}||z{||{|{|}|||||||{z{{z|{||{|||||}{z{{{{{{|||||}|{z|z|z|{|{|||||{{{{z{{zz{|{||{{{|{z{zz{y{{|||{|||{|zzyzz||{|{||{{{zzz{{|{||{|||}|{{{z{{|{{||||{|{{zz{z{z{{{{|{||}{z{z{z{{{{|z|{|{{{z{z{y{{{|{|{|zzz{z{zz{z|zz{{|{z{{z{z{{|{z{||{{{zzz{{z{{{{{{{{{zzz{zzzzzzz{{|{zzzzz{yz|{zz{{{{|zzzy|{zz{|{{z{{{z{z{{|zz{|{{{{zz{{{z{zz{{{{{{{z{{zz{z{z|||{z{{|{{{z{yz|z{{zz{||{z{zzz{{{z{|{|{|z{{yz{zz|{{{|{{}{{{{{z{z{{{{{|{{{z{{{{z{{{{|{|{{|zzz{{{|{{{{{{{{{y|{{{{{|||z|{{{{{{{{|{||{|{{||||z{{{{{{|{|}||}||{{{|{{{|{|{|||{|{{{{{{|||}|||{|{|{{{||{|}{|||||{z{|{{{{|{{||||||{{|z{|{{{|||}|||{z|{|{{}}|||{|{{z{{z{{{{||{{{|||{||{{zz{{{{|{||}{zyzz{z{{{{{}|{{|{{{{{z{{}|{{||{{{{{{z{|{z{{{|{{|z{|zzz{|{{|||||zzzzz{z|{{{z{|z{{zzzzzz{|{{z|{|{y{{|{{z{|{{z{z{|z{zzz{z{{{{z{|{zz|zz{zz{zz{zzz|{zyy{z{z{{{{{{|z{{{{y{y{z|{z{|||zz{zz{zz{z{z{{|{|zz{yzz{{{{z{{z{|{zz{zzzz{z{z{{zyzzz|zzx{{{{|||{z{zz{zz{{|{{{z||{z{{|{{zz{||{{{{{{zz{{zzy{|{{{{{|z{zz{{{{{{{{{{||z{{z{{|zz|z{{|{{{z{|{{{|||{{{{{|{{{|{{{{{|||{||{{|{{{{{{{||{|||{zy{{{{z{||{|{}{|{{|z{{{||{{||{|{{{{||{{||z||{|||z{z{{z{|||{}|}||{{{{{{{||{||||||{zzzz|||{||{{||{{z{|z{{|{{||}|{{{zz|{{||{|{|}{|{{{{{{{|{{|{{{{{z{{zz|{{{{{|{|{||z{|{zzz{{z|{|{{{z{z{{zz||{|{{|}{{{z{{zz{{{{||{zz{zzz{z{z|z{z{z{{{{zzz{z{{{zy||{yz{z{z{z{{y{y|{{{z{z{zyz|z{z{{{{zz{yz{zz{{z{zz{zyz{zzzzzz|{|{||{zyzzz{y{z{{{{{z|yzzzzzzy{{{{z{{{yzzzzzyzzyzzz{{{zyzzz{zzz{zz{|{z{z{{zzzzy{zz{{|zzzzzz{z{{{{{{z{|zzy|{zzzz|{{{{{{{zz{zz{{z{|zz{{{{zzz{yzy{{{{{|{|{zz{{z{{{{{{{z{{z{zzz{{{{|{|z{{{zzzz{{z{|{|||{||z{zz{{{{{||{{|{{{{{{{zzz||||{{{{|z{{|{zz{{{{|}||{zzzz{{z{{{|||{|{{{z|{z{||{||||||{{{{{{z|{||{}||{{z{{{z{|{{|{{||z{z{||{|z|{{||{{{{{{z{zz{|{{{|||{z{z{{{{{|{||{{{{{zz{{z{z{|{||{|{z{{|{{z{||{|{{|z{{{{{z{{||{|{{|||zz{{z{|{{{|{|{{{{z{{z{{{||{|{|{{|zyzz{{{{{{{{|{{{z{{zz{|{{{|{z{zzzzzzzz|{{z|{|zzzzz{yz{z{{{{{{{{zz{yz{z{{zz{|{zz{zy{y{{{{{{{|{{z{{zzzz{z|{|{{{z{zz{y{zzz{zz{{{z{{zzzz{{|{{{{||{zzz{|{z{{{{{z||{zzyzz{z{{{z{{z{{{{{zz{{{{{{{{{|zz{zzzzz{{{{{{|{{{{{{{{z{||{z||{{z{{{{zzz{{{{{{||z{{{{{z{z|{{||{|{{z{{{{{{{{{|{|{{{|{{zz{|{}{}}|{{{|{{yz||||||||{{{{zz{z||{||||{{{{{{{||{{|{{||||{z{z|{{{{{{{||||||{{{{{|{|{||{||z{|{{{{{{{||{||{{z{{z|{||z|||{|{z{{z{{z{{|{{{||{{z{|{{z|{{|{|{{zz{z{{{z|||{|{|{{{{{|{zz{{{{|{||{|{{zzz{||{|{|}|{zzz{|z{{|}{|{{{{z{z{{z{{{{{y{|{}{{z{z{{|{|{{{||zz{z{{{zz|{{{|{|{z{{zz{{{{{{{{{{{z{zzz{z{z{{{{{{{z{{zzy{{z|{{{|{z{{{yyzz{z{|||{z{z{z{{zz{{{|{||{z{zzzz{yz{{{{z{{{zzy{{{zz{{|{{{{{z{z{{z{z{{|z{{{{{zzyzz{{{{z|{{|{z{{z{{z{{|{z|{{z|{zzzzz{|{{{{{{{{{{{y{{{{{|{{|{z{{{zy{z{|||{{|{{{{{{zz{||z{{{|z}{{{|{|{||||||||{|{{{{{{|{||{{|{{{{{{z{{|||||{||{{{z|z{{|}|{|}||z{{{{|{{}||{|}|||{{{{{{{{|}|{||||{{|{{{{|{|{{{}{}{{z|{{{||{{|{{|{{z||z{{{||{|{|}{{{zz|{{|{{|{|||{{{{{{{{{|{{{||||{{zzz{z|{{{{}{{{{z{{z{z{|||{{{}z{z{z{z{|{|{{{|{||{{{{zz|z|z}{|{{zzzzzzz{z{{{{{{|z{zyzzz|{|{z|{|{{zz{{{zz{|{{{{{{{{{{zzz{|||{{{{z{{zzzy{zz|{||{{{{{zzyzzzz{z{z|{y{z{y{zz{{{z{{{z{{z{zzzzzz{{{z|{zzz{{zzzzz{{z{{|{zzzzz{zz{{{zz{{{zzzz{zz{{{|z|{z{{zzzz{z{{{{|{||{z{{zz{z{{z|{|}{{z{{z{{{{{{{{{||{z{zzyz{{{{|{{|||z{{zz{z{z{{{{|{|{{z{zz{{|{{||{|z{z{{{z{|{{{|{|{{{{z{z|{||{|||||z{z{zz{{{{|{||{{|{{z{z{{{|{{||}||z{{z{{{|{{{|{|||z{|{|{|{{|{|||||z{{z{{{|{|||||}|{{{zz{{{{{|{||||z{z{{{{{{||{|||{{{zz{{|{{{{{}|z{{zzz{z{{|{{{z{|{{{zzzzzz{|{{{{{{zz{{{{z{|||{|{|z{z{{zz{zz{{{{||z{{y{{zz{z{z{{{{{z{{zy{{z{{|{z{{z{z{y{zz{z{|{{{{zz{zzz{zz{{{z{{z{zz{zyy{{{{z{{{zzz{z{zzzy{z{{{{zzzy{zzzz{z{|{{{z{yzzy{yzzzzz{{z{{zzzyzzzz{zzyz{{{zzzzzzzzz{zz{z{zz{zzzzyz{{|{{{|zzyzz{yyzz{{z||{zzyz{z{z{z{{{|z|{z{{y{z{z{zz{{{z{{{{zzzz{{{{|{{{{zzz{zzz{|z{{{{{{{{zzz{z{z{zz{|z||{{{{zz{{{{z}{{{z|zzz{z{||{|||}{{{z|{|z{|{{{||||{|{z{{{z{{|||||{zzz{z{|{{{{|{||{z{{z{{{{{|{{{{||{{{{{{z{||{{||||z{{|{{z{{{{{|}|{{{{{{{z{||{|{||||z|{z{{|{z}|{|{{{{z{z{z{{z{{||{{{{{{{zz{{{{||{{{z{zzz{{z{|z|{z||{{{{{y{{}{{{{{|{{z{zz{z|{{|{|||{zzzzzzzz{{|z{{{|z{z{zzyz{{{z{{{zz{{z{{zz{z|{{{|{{{{z{z{z{{{{{{z{{{zzzz|{{{{z{{{zz{{yzzz{{{{z{|{{z{y{zz{{{{{{{{{{z{zyz{z{{{{|z{{zz{y{zz{z{{|{{|{{zzzzzzzz{{{{{|{zzzzz{zzz{z{{z|{{{zzz{zz|y{{|{{{|zzzzzz{z{{{|{{{{yz{zz{{{{z{{{||zzz{z{z{{{{{{{{{{z{zzzz{{|{{{|{{{z{{zzzz|{{|{{{{|zz{z{zz|{{{||{|{{{z{{{{{||{|{{{z{{{{z{z|||{{{{|zzz|z{z{|||||||{{z{{z{|{||{{}}}|{{{z{|{{{|z|||}{|{z{{{{z|||{|{}||zz{{{{z{{||{||{z{{z{z{{{|{}{|{}{{{|z{{z{||{{{{||{z{z{{{{|{|{{||||{z{{{zz{{{|{{||{z{zz{z{{{|{{|zz{{{|z{z{{|{z|z||zz{{{{{{{z{{{||{z{z{zz{{|{{z|{||z{{z{{z{{{{z{||{{{zzzzzz{{||{{|{{zzzz{z{{|{z|{{{zz|zz{{{|||{|{{zzzzz{y{z{z{{{z{zzzzzyzz{|{{{|{z|{y{yzzz{{{z{{{{zz{zzz{zz|{|{{{{zzyzzzzzz{|z{z{{{zyzz{z{{z{|{{{{zz{{zzzzzz{{{|{{{zzz{z{{{{{z{{{|zzzy{z{{{z{{{{{{y{{zz{{z{{{{{{{zz{z{zz|{z{{|{{z{{z{{{z{z{{{{{{|{{z{{z{zz||{{{{|{|{{{{{z{|{||||||{{zz{{|{|{{|||||{{{||z{{{z|{||||{z{{{{z{{|{{|||||{{{z{{{{|{{|||||z{{{{{{{}{{}{|||{{{{z{{|{|{|{||{y{z{zz|{{{||{|||{{{{{zz{|||||||{z{z{z{zz|{{{|}|{{{{{zzz{|||{{|{{zz{{{zz{|{{{{{|{{yzz{zz{{||{z|{{{{zzzz{|{{{|{||{{{zz{zz{{|{{{||zz{z{zy{|{{zzz{|{{z{z{zz{{|{z{z{{z{zzz{z{{|{z|{|{{{z{z{{{{{{z{{{zzzz{{zz{z{{zz||{yzz{zzz{{{z{{{{zzz{z{z{{||{{{{{{z{yzzzzz{{{z||{zzz{zy{z{z{{{{{||zzyz{zzyz{{||z{{zz{z{y{{{{{{{|{|zz{zzy{z|{z{z{zzz{zzxz{{{{{{{{|z{{{z{zz{{{z{zz{|{zzz{{z{{||{{{{zz{{zy{{|{{|{z}z{{{z{{zz||{{{{{{{zzz|zz{|{{||||{{{{z{{{z||z||||||{{{z{{{{||{||{|{z{{z{{z|||{{{||{|{{{{|{{{|{|{|}{{z{{{{z|}|||||{{{{{{{|{{|{|{||{{{|{{|{|{||{{|{|||{zzzzz||||||||z|zz|z{zz|{|{||{{{{{{zz{||||{|||zzz{{{{z|{{{|{||{{{y{{{z{|z{{{{|{{zz{zzz{||{{|{{z{{zz{{y{{{{{|||{{{{{zzyz{|{{{|||{z{{z{z||||{{|{zz{{{{{{zz|{{{|{|{{z{z{z{{{{z|{{{z{{{zz{{|{|z{{|{{{zzzzzzz{{z|{{yz{zz{z{{{||{{|{{{{zz{{z{{|z{||{{zz{zzz{z{z{{{{{{{{zzy{z{zzz{|{{z{{z{z{z{{{zz||{{zzzzzy{{z|{{|{|{z{zzz{{{z{|{|{{{z{{zz{{{{|z{}|{{{{z{z{z{{{|{|{z{z{z{zz{||{{{}{{{{zzz{{{z||||{{||{{{z{|{|{|~||||{z{{{{{{{{|}{}|||{{{{z{|{}{||{{{z{|z{{z{|||{{|||||{|{z|{{|{|{{|||{{|{||{{|{|{{{{|{|{{z{{{|{||||||{{{{{z|{|z{{|}||{{{|z{{{||{{|}{{{{zzz{|{{{{{|||{{{{|{{{{{}|{{{{{{{{{{{z{|{{{|{||z{{{{z{zz|{{{|{{{{{z{{{|z{|z{|{|z{zzz{{z{{{|{{||z{z{{z{{{|{{{{{{{zzzzz{{|{|z|{|{{{zzzz{z|z|{{{{{{{zzz{z{{{z{|{{z{{{zz{{z{||{z{{{zyzzzzz|{{|{{{{{z{zzzzz{{{{{{|{{{z{z{zzz{{{{{{{{zzzzzzz{yzyz{{{{{zzzzz{zzzz{{{{zzz{{zzz{|{z{{{|{{{z{y{yz{{z{{{|{z{z{zzz{{{z{{||zzzzz{z{z|{{z||{{{{{{zzz{{{z|{{{zzz{{z{{|{{{{z{|{zz{zzzz{{z{{{|{|{{{z{|{{{{|{|{{{{{{{{{{{{{|{{|{{{{{{y{z||{{{||z|z{{{yz{{|{|{|||{{{|z|{{{|{{z||{|{z{{z{{{}|{||{|{{z{{|{z}{{|{}||{{{{{{{{|}{|{|||{{z{||{{{||{||||{{|{zz{{z|{{{{|||{z{{{{{{}{||||{zz|{z|{z{{{z{|{{|{x{zyzz{{{{{{{|z|{{{zzz|{{{{||{{z{{z{{{{z{{|{{{{{zz{zz{{{{{{z{||z{zzyzz{z|{{|{|{zzzzz{y{{z{{||{{{z{{{zyz{{zz|{{{zzzyzy{{z{{z{{{z{z{{zzz{{|{{{||zzz{yzyz{zz{{{{{|zzzzzzz{{|{z{||zzzzzxyzyz{z{{{{{{zzz{zzz{{{{z{|zz{zz{zy{{{{|{{z{{{zz{zz|{{{{{||zzz{zzz{{{{{{{{|zz{zzz{z{z{{{{|{{z{{zz{{z}{{{{zz|z{zzz{y{|{{{|}{z{z{{zy{{|{{{|{|{|{|{{z{{{|||{{|z{z{{z|z||||||||{z||{zz|||{{|{{|{zzzzz{z|||{{{|{z{z{{{{{|{{{{||{|{{{z{{{{|{||||||{z{z{{{{||{{||{{{{{{{|{||{||{{|{z{{z|{{{}{|{|}|{|{z{zz{{{|{{||{{{{{zz{z{{{{{{||zz{zzzzz|{{{{{zz{{{zz{zzz{{|{|{{zz{{{z{z{{|||||{{{{z{zz{{{|{z{{|yz{{{zy{{{{|z|{|{{zzzy{{z{{{z{{{yz{zzzz{z{{{{{z{{y{zyzzzz{{{z{{{{z{z{zzz{{{{zz{{zzz{zzz{z{z{{z||{{{zz{yz{z{{|||{|yzzz{zz{{z{{{||{yzzzz{zz{{zz{{{zzz{zzyzz{z{{|z{y{z{{zzzz{{{|{{{zz{z{{{z{{{{z{{{zzzz{z{{z{{|{|{|zzzzzz{z{{z{{{|zz{zz{zzz{{|{{{z{zz{z{zzy{{{{|{{{{z{{z{z||{{{|{{{{z{z{{z{{{{||{{{{{|z{z{{|||{|{||{zz{zz{zz{{|||||{z{{{||{|||z||{|{{{z|{|{{||{{|{{}{{{z|{{}}|{|||||{|{|{{{||z{{||{|{|{z{z{{|{|{{||{{{{{{{z{{{|}|{}z{zz{{{{{{{|{|{|{{z{zz{{{|{||{|{{{{{{yyzz|{{z{{{zz{{{zz{z{{z{{||{z{z{zz{{|{{|{||{{{yz{z{|{{zz{|{{z{zzzzz{|{{z|{{{z{zz{{z{z{{{{||{{zzz{yzz{{{z{{{{{|zzzzz{{{{{z|zz{yzz{zz{{z{z{{{z{zyzz{zz{zz{{|{zzzzzzyz{{|{z{{zzzz{yz{z{zz|{z{{zz{y{z{zyz{z{{{|zzz{{zzzz{zz{{z{zzzz{z{{{{z|{{|{{zz{{z{{{z{{|{||{zzzyz{{z{{|{{{{z{zzz{{{{{{z|{{|{{{{zyzzz|{|{|{|{{zz{zzzz{{||z{|{zz{{{{{||{{{|{|{zzzzz{z|{{|{|{|{{{{|z{{{|{{{|{|{|{{{{{z{{{{{{{{{{{{{{{{|||{||||{|{{z{{{{{{||}}|{{{{{{{{{|||||||{z{|{z|{{|{|||{{|{z{{z{{|{{{|||{|{z{{{y{||{{}{{||{{z|{zz{}{{{||||{z{{{{z|{{{{|||z{z{zz{z{|z|||{z{{{{{z{zzz{{{|z{{{{{{zzy{|{|{{{{{zzzyzzz|{{{z|{|{zzzz{zzy{{||{|zzz{{zz{y|{{{{{{|z{{zzz{zzz{z{z{z{{zy{zzz{{{zy{z{{zzyzyz{{y{{{|z{zzzzzzz{yz{zz{{z{{zzzzz{z{{{{{{yzz{zyzzz{z{z{{|{zz{z{zzzz{{zz{{{{zzy{zz{z{z{{|z{{zzyz{zz{{{{z{{{zzzzz{zz{{{z{{|z{yzzzzzz{|{zz{{{zzy{zzz{{z{{{{{|{zz{z{zzzz{|{||{{z{{zzz{{{{{{||{{z{z{zz{|{{{z|z{z{{{z{z{z||{||{|{{{z{{{{|{{|{|||{zz{|{zzz||{|{|z{z{zzz||{||{|{||{z{z{|{{{{{{{||{|{{{{z{{{}{|}|{{{{{{{z{{{|{||{{{{{{z{|zz{{{|{{z|{{{|{z{{||{|{|{|{{|{zzzy{{|{{{|{{{z{zzzz{z{{zz{{zz{z{z{z{{|{{{{{zzz{{{{{{{{z{z|{{{zz{{zzz{{{{{{{{zzzzz{z|z{{z{{{zzzzz{z{{{|{z{z{{{{zyz{z{{{z{||{zzzzzzzz{{z{|{{zz{{zz{{z{zz{z{zzzzzzzzy{{zz{{{{{{zzzzzzzyz{y{{{{{y{zyzzz{|{{{{z{{y{zzzzz{{{{{{{{{zzzzzzzz{{{{{{{zzzyzz{zzzz{{z{{{zzz{zz{{{{{z{|{zzzzzyz{{{z{zz||zz{{zz{zz{{|z{{|zz{zyyz{z{z{{{|{{{z{zzzzz{{{{{{{z{{{zz{z{{z{|{{{|z{z{{{z{|{{|{|{z{z{z{{z|{{|{|{{zz{y{z{{||{|{|{{z{{z{z{zzz|{|{|z{{||zzzz||||||{|{|{|{{{z||{{|{{|{{{zz{{z|{|||||{{{|{{z{{{||{|{{{{{z{{z{{|{{|{|{{{{zz{{{||{|{|{||{z|z{zz{{{{{{||{{zzzz{zz{{{|{z|{{{{zzzzz{{{{{|{{zzy{zzzy{{{{{{{{{{z{{{{zzz{|{{{|{{zz{{{{|z{{{{{|{y{z{{zz{{{{z{|{{z{zzy{{{{{{{|{{|{zzzzzzz{{{z{{{{{{z{zzzz{|||{zzzzz{zzyy{{z{{{z|zzzz{zzz{{|{z{zzyzy{z{zzzz{{{{{z{zyzzzzz{{z{{{|{zzzzzyz{zzzy{zzyz{zzzzz{z{z{{{{{{zzzz{yy{{|{|{{|{z{z{y{z{{{{{|||z{{zzyzy{{|z||{{{z{zzzyzzz{{z{{{{zzz{z{{z|{{||{{|{zzzzz{{|{{{{||{{zzyzz{{{{{{||zz{{zzzz{{|{{}||{{{|{zzz{{z{|||{{|z{{|z{|{{||||{{{z{{z{{z{||{|||{{|{{{z|{{{{|{||||zz{{{{{|}}|||{{}{{{{{{{||{|{||||{{{zz{{{{z{{{||{{{{{{z|{z{|}{||{{{z{{{{{||{{{{{{{{z{z{z{|{{{{|{{z{zzz{zz{|z||||{{{z{zz{z{|z{{|z{{z{{{zz{{{|{{{{{{zzz{{z{{{{|||{zzz{zzzz|{|{zz|zz{yzzyzzzz{{{|{{zz{z{z{z{|{|{{{{{y{{z{zz{{|{{{|{{zz{{zz{z{zz{|{{zzzzz{z{{{|{{{{{{z{{zyyz{z{{{||{{{{z{zzz{z{z{{{{z{zzzzzz{{{z{zz{zzzzz{zz{{z{{{z{yy{zzzzzzzz|{{{{{zz{{zz{z{{{{{z||z{z{{z{z{{{{|||{zzzzzzz{z{{z||z{{zz{y{{{{{|||y{{{{z{{z{||||{{|{{z{{{z{{{{|{{|||{z{zz{{|{{z|{{{{z{{z{z|z|{{{||||{{{z{z{|{||{{{|||z{{{{{z~{|{|||{{{{{z{{{||||{}{{||{z{|{{||{||||||{{|{{{{||{}|||||{{{{{{{{z{{||{|{|{{|{{{|||{||||{|zzz{{{{{|{{||{||{zzyzy{|{{{{|{z{{zzzz{z{{{{{{{{{{zzz{z{||{{|}||zzzzz{{{{|{{|{|{{zz{z{{|z|{{{||{{|{zzz{{|||z{|{z{yzzzzz{z{{zz{|z{z{{zz{z{z{{z{{{{{z|zz{y{{{{{{z{{zy{{zz{zz|{{{{zzz{zyzyz{{{|{{{{zzz{yy{z{{{{{{zyzzzzzzzz{{z{z|{zzz{z{zzz{{zz{{zzz{zzyzyz{z{{{|{{zzz{{yz{{{{{{{{{zzz{z{z{{z{{{{{|z{z{z{z{{{|{{{|zz{zzzz{zz{{zz{{z{zz{z|y{|||{|{{{y|zz{zzz{{|{{|{{z{{{{{z{|{{{||{{{{z{{z{|{{{||{{{{{z{{|{{|{|{|{|{{{{{{zz|||||{||{{{z{zz{{|||||{|{{{{{{{|{{zz{{{z{{{{{z{z{|{|||}||z{{{z{|||||z}}{|z{{z{z{{{{|||||{zzz{|{{{{|{||||{{{z|{z{||{{|{|||z{{zz|zz{{{{{|{{{{z{zzz{{|{|}{{{{{z{zzz{z|{|z||{zzz{z{z{{{|{||{{{zz{{{{{|{{|{{|{zyzzzzzz{{{zz{||zzyzzz{{{{{{|z|{z|z{z{{{z{{{z{{|z{{{zz{{{|z|{z|z{y{zz{zz{{z{{|{{z{yzzzzz{{z{{{{zzyzzzz{{{{z{|{z{zzz{{zyzz{{z{{{{{zy{{zy{{z{{{{{|{zzzzzz{{{zzz|{{{{yyz{z{z|z{{{{{zz{zz{zzz{{{{{{{{{zzzz{{{{{{{{{{z{{zzz{{z||{|||{z{{zyz{|{|{{{{{{z{zz{z{{{{{|||{{z{{{{zz{||{{{{{z{{z{{{|{{||{z{|{{{{{z|{|{{|||||{{{z{{{z{|{||||z|{z{zz{{{{{|{|||z{{yz{{{z{{|||||}|{{z||{{}||{{||{{{z{{{{{|{||{{|{z{{{zz|{{{|{{||{|{z{{{||{{|||{|{zzz{{z{||{{||{|{{z{{{z{z{{|{|{|{{{z{{{z{{|{{{||zz{{z{zz{z||{{}|{zzzy{zz{|z{z{{{zzzzz{zzz{{}{{|{{z{zzzzzz{{{{{{{{{{zzzzz{|{{{|{|zzzz{{z{z{{{{{{{z{{zzz{zz{{{{z{{zzzz{zzz{zz{{z{{zzzzzy{z{{|zz{{z{yzzyzzz{{{zzz|{zzz{zzz{{zz{z{{{zzz{zz{zzyzz{{z{{zzzzzzzz{zyz{||{{zzz{zz{{zz{{{{{{zzzyzzz|{|z{z{zzzzyzzy|zzz{{{|zzz{z{y{{{{{{{{{{z{yzzz{{{||{|{{{{{y{z{z{{{{{{|z{zz{z{{{z|zzy{{{{{{{z{z|{{{{|{{|z|z{{z{{|{z||{|{|z{{{zz{|{{{{{|z|{|zz{{y|{{{{||{{{{{z{z|{{{{{|{||{zz{{{z||{{{|||}{{|{{{{|{||{||{{zzz{zz|{{{|{{{}{|z{{{{||{{|||{|{{z{{{{y{{z||||{{z{zzzzy{||z{{{{{z{yz{{z{|{z{||{{zzz{{{z{{{{{{{{z{z{zzzzzz{{{|||{{zz{zzz{zz{z{z{{zz{{zy{z{z{zz|}z{zzzzz{{z|{{|{{{{zzyz{yz{{zz|{{zzyzyyzz|{{z{{{{{zyzz{{yyz|{yz{{yz{{z{{z{{{{z{zzzzzzyzzy{{{{{{z{z{zzz{yz{{{{{{|{{z{z{yzy{{|zz{zz{zzz{zzzzzz{z{{z{z{z{zzyzzzz{z||zzzzzzzzz{{{{{{{z{{{zy{z{{{{{|||z{{z{zzy{{|{{{{{zzzz{yzy{{|{||{|zzzzzz{{|{{{{{|{{zz{|z{z|{{{{{|{{{{z|{{z{|||{|{{{{{{{{{{{{{||||{|{{|{zyz{{z{{{{{zy{{{zz{||z{{{||z{{{{{{{{{|{|{{||z{z{{{{{|}{||}|{zz{|{z{{||{{{}{{z{{{z{{z{{{{||{{|z{{|z{{||{|||{{{{z{zz{{{{|||{}{zz{{{zzz|{|{{||zz{y{zzzz|{{{|{{{{{z{{zzzzz{{{{|z{{{{zzz{|{z||{{{zzzzz{zz{{{|z{{z{||z{z{z{{zz{|z{{{zyzzy{{{{{{z{{zzzz{zz{{z{{z|{{{{{{zy{zz{{z{{{y{{z{z{{zzzz{{{{{zzzzzzzz{zz|z|z{zzzzzzzz{{z{{z{{zy{zyzzz{|{zz{{yzzzzzzyz{z{zz{{{zzz{zzyzzz{z{z{zyz{zzz{z{z{z{{{{zzzzzzz{{{{{{{{zzz{zyz{{{{{{{|zz{{zzzzzz{||{|{{z{{zz{{z{{|{{|{{zz{zz{zz{{zz|{{{|{zz{zzyz{zz{{|{{{z{{z{{|{{{{|||{{zz{{{z{{z{{||{|{{{{zz{z{z{|||{|{{yz{{z|||{{||{z{z{{||z||{|{|{{{z{{z{z{{{{{{}|{{z|{{{z{{{}{||{{||{{zz||z|{{{{||{{{||z{{{{|{||{|{{{z{y{{{|||{||{{{{{{{z{z{{|{{{|{{{{{{{{{|{{{{{|zzzz{{{zz{{|{{|{z{{zz{zz{{|{|{{z|{{z{zz{{{z{{{{{{y{{z{zyz{|{{{{{zz{zyyz{{z{z{zz|{zz{{z{z{{zz{z|{zzzz{zzz{z{z{{z{z{{zz{zzz{z{{{{{zyy{zzzzzz{z{{|{yzzzyzyz{{{z{{z{zz{{yz{zz{{zz{{{zzzzyzzzzzz{{z|zzz{zzzz{z{z|{{|zzz{z{{zzz{{zz{{z{zyyz{zz{{{{z{{{zz{{z{{{{{zz{{{zzzzzz{zz|{z{{{{{{z{zzz{z{|z{|{{{{z{zz{z|{{{|zz|{{{z{z{{z{{{{{{{{z{{zz{{{{{|||{{{z{{{{z{{{{{|z|{|{{z{|{{{z{{}|{|{{z{{{zzz{|||{|||{{{z{|{z{{|{{|{z{{{z{{{{|||{{|{||z|{{z{{{{{{{{{z{{{z|{{{||{{|{}|{{{z{{{{{{{|}{||z{{z{{{{{{{{{{|{{{z{{z{z||{{{{|{{|{{{z{z{{{{z{{z{{z{z{{z{{{zzz{|zz{{{yzz{y{{{{{{{z{yz{zz{z{z{z{{zz{zz{zz{z{{z{||{zzyzyzy{{{{|{{{{y{zzz{z{|zyz{{{zz{z{yyzz{{z|{{zz{zzzz{z{z{{z{{|zzzzzzzzzzzzzz|{{z{zz{zyz{{z{zz{{zzzzzzz{{z{{{{|zzzzzzzyxz{{yy{{zzzzzyzzy|zz{{{zyzzz{{zy{z{z{z{{{zz{{y{zz{z{{{{{{{{{{{{zz{y{|{{{z{{{z{zz{|{z|{{{{z{{{zzzzzzz{{z{{z{{zzzz{|{||{{zz{z{z{zz{z{{{{|{{z{{zz{zz{|{|{{|zzzz{z{{|{{{{{|{{{|z{{zz|{||{{{{{z|z{{{{|||{{{|{zz{zz||{{{}{|{}{{zz{{{{{|{{{|{}{|z{{z{{{|{|{{|{{|{z{z{{{{{{{{{|{|{{|z{{{{{{{z{||{{z{{{zz||{{{z|{|{{zz{{z{{|{||{{{{{zzzzzz{z|{{|{||z{{{z{{||{|||{|zyzzyzzz{|{{z|{z{{z{{{z{z{{||||{z{zzyzz{z|{z{{{{{{zz{z{{{{{{{|{{{{zzzzy{{zzz{|{zzzzz{yz{y{|{{z{{{{zzzzzz{zz{{{{zz{zzzzz|{zz{{|{zzzyz{{z{z{zz{zzzz{zzzzz{|z|{{{|z{zy{zzyz{zz{{{yzz{yzyzzz{{{{{{{zz{{z{zy|z{{{z{{{z|y{zzzz{{|{{{|{{z{zzzzy{z{{|{|z{{zzzz{{z{z{{||{{{zzz{zz|{{||{{{z{zz{yz{{{zzz|z{z{{z{y|{|{{{|{{{{zzz{z{{{{{{{|{{{{z{{z|z|{{{||||{z{{z{z{{{|{|{{|z{{{{|{{{|{|{||{z{{{|{{|{|{||{|{z|z{|zz{|}||{|{}{{{{z{{{|{{z{|{{{{{zzz|{{{{{{|{{{zzyz{{{|{|{{{{{{{{{zz{{|{|{||{{{{zz{{z|{{{{{|{{zz{{zzz{|||{|{{z{z{zy|{{{{zz{{{zzz{{yyz{{{{{|{||{zz{zz||z{{{{{{{z{zz{{{{{{{z{||{|{z{{zzz{{z{{||{{zzzz{z{{{zz{{{{z{z{{yz{{{|{|zzz{{zzzzz{{{{z{{{z{{{{zzz{{{{{z|z{zzzzyz{{z|{{{{{{zz{zyyz{{{{z{{|{{zz{zzy{|{{z{{z|zzz{zz{z{z{z{{{{zzzzzz{{z{{{|{{{zzz{z{{{{zz{{||{z{{zz{z{{||{{{|z{z{z{z{{z{|{|{{z{z{zyz{{{{|{{{{{{{yz{{{{z|{{{{{zz{z{{zy{z{{||{|z{{|{{{{{||{|||{{z{{z{z{{{y{||||z{{{{{z{|{z||{{|{{z{{z{{|}{{|{||{{{y|{{{{|||{{|{{{{{{|{{|||{||||zz||{{|{|{|{||||{{{z{{z|||{{}||||{{{|{{{{{{{{{|{z{|z{zz{{{{|{{|{{zz{{|z{{{{|{{|{z{{{zzzz{z{{{|z{z{{zzzyx{z{|zz{{{|zyzyz{zz|{{{|{{{{{{z{{z{{||{{{{{{zzz{z{{|{z{{{zz{zz{zy|z{{z{{{zz{z{z{zy}|{||{{{z{zzzzz{{{z{|{{{z|zz{zzz{z{z|{{{yzz{z{yz{{z{{zz{{{yyzz{zz{z{zzz{z{z{z{zy{z{||{z{zzzz{zy{{zz{{{{{z{{zz{yzy{zz{{{{z{y{{zyz{{{{{|{zzzy{zz{{{{z{|z{zzzzz{zz{z{{{z{{{{z{zz{z{{{z{{{|zz{z{zzz{z{{z{{|{zzz{{zy{{{{{{|{zz{zzzzzz{{{z{|{zzzz{{{{{z{{{||{{|z{{{{z{{z|{|{||{{z{{{z|{{{{|{{{{{z{{z{|}||{{||{{{z{{{{||{{{|||{|z{{{{||||{|{}||z{{{z{|{{{{{|{{{{{{{{z{{{{{|{||{{z{{{{{{|{{}{||{{{zz{z{{|{{|{|}{{z{z{z{|z{||{|{{z{{{zzz{{z{zz{{{|z{zzzz{|{{|{|{z{{{{zy{{{{zz{||zzyy{{zz{{|{|||{{{zzzz{{y|{{zz{{{{{zz{zzz{z{{{{{{zz{{zzx{z{{{{|{zz{zzzzyz{{z{{{{zzz{{zzz|z{{{z{|{z{y|yzyz{zz{|{z{zzzy{yy{z{{z{{{{{{z{yzzz{{{z{|{zzzzyzzz{zzzz{{z{zzzyyzzz{{{y{{zzzzz{zzy{z{z{{{{z{{{{zzyz|{{{z{z{z{yz{zz{{{{{{{|zz{z{{z{zz{z{|{{z{|{{yz{z{{{{|y{{z{z{zyzz{{{{||{{z{z{zzz|{z|{{|{{|z{z{z{{{|||{{{{{{z{z|{{|z|{|||{{{{zzz{{{||{||||z{{{{{z{|{|{|{{{z{|{{{{{|{|{||||{|zzz{{||{|{|{||z|z{z{{z|||{||{|z|z{zz{{z{|{|||{{z{{{z{{|{||{||{{{z{zzz{{{{{|||{{{{zzz{{{||{{|{z|{yz{zz{zz{{|{|{z{{z{zz||{z{z||z{zyzzzz{{{|||{{{{zz{z{{{{{{{|||{z{z{yzz{|z{z|||{|{zzzzzz|{{z|z{|{zz{zzzz{{y{{|{|z{yzz{zzz{zz|{{z{{zzzzz{{z{{z|{{zzzzzzzz{{{z{|{{zy{zz{z{{z{{{|{zzzzyz{{z{z{z||{z{zzzyyy{{zyz{{{{zzyyyyzz{{{z{{{zzzzz{zz{{{{{{{|{zz{|zzzzz{zz{{{{z{zzz{z{{{{{{||{{|zzz{{zz{{{{{zzz{zz|{{{|{z{{{{zz{|zz{{{{{|||||{{{z{y{{{{{{z{{|{{{y{{zz|{{|{{||{z{z{{{{{|{|{|}|{z{|{{z{{{|{|{}}{{{{{zz{{|{|{|||{z{{z{{{||{{}||||z{|zz{z{|||{||||{|{|{{{{{{{{||{{z{{{{||{|{z{{{|zz{z|zz{||{|{{||{z{z{zz{{{{{{{{||z{zzzzz{|{{{{{|{z{{zzzzz{}|{zzyzz{zy{zy{{{z{{||zz{{zzyzz{{{{{zz|z{yzzz{{{z|{z|{|z{{yzzzz{{{{{|{zzyz{zzxz{{{{{z{{{{zzz{zzz{zz{|{{zzzzzzz{zzz{{|{{zzzzzz{{{z|{|z{z{{z{zzz{{z{zzz{{z{{zzzz{z{z{{{}zzzzyzzyz|z{z{{z{z{yzyyz{zz{{{{{{zzzzz{{zz{zz{{|z{zz{zzzzzz{|z|{zzzzz{z{{{{z{{{{zz{zzz{{z{z{{z{|zz{zzz{{{{||z{}{{{{{{zyy{{zz{{z|{zz{{{{y|{|z{{|{{{z{{zzz|{{{{|z|zz{{{{{z{{z|{|{|z{|z{{{{|{{|{{|||{z{z{{z{||{}{}{|{{{{{z{||||{|||z{{{zz{{{{{{||{|{{{zzzz{{{{{||{{|{{zz{|{{||||{{{|{{z|{z|{|{|{{|||z{{{{z{{|z{{|{{|z{z{zz{{|{{z|||{{z{z{zz{{|{{{{{z{{zzzyz{{{z|{{{zz{{{{zz{{{{{z{{{zzzzy{|{{|z{{||zzzyz{zy{y{{{{{{zx|{zz{{{{{{z{{{zz{zz{{zzyz{{{{{zzzzzzzz{zy{{{z{{{{{zz{{{|zyzzzzzzzzzzz{|zzzz{{{zzz{zz{zz{{zzzz|{zyzyzyzz{{{{z{{zzzzyzzyz{z{{z{zzyyzzyyyyz{{zz{zzzyzyyzzy{yzz{{{{zzyy{zzz{z|{zzz{zzz{zzzz{{zz{{|yz|zz{zz{{z{{{z{{z{zz{zy{{{|z{{{{z{zzz{z{||z{|z{zzzz{{z{{|{{{{{{{z{{{zzz{||{{z{}z{z{{{{{{z|{|{{|{|{z{z{{{{{{{|||{{{{|zzy{||{{{}{{zz{z{{{{|z||{}|zz||z{{z{|{|||{|{{{{zz}{{{||{|{|{||{{{{{|{{{|||{|z{{z{z{{{z{|||{|{z{{zz{|z|{{{{{{{{z{{zz{z{{{|{{z{{{z{zz{{z||{|{{{{z{y{z{{{{|zz{zzzz{z{{z{{{{z|{zz{zzzzy{{|{|{|{{{zz{{{zzz{{{{|{{y{{zy{|z|{z{{{{{z{zyzzy{{{{{|{{{yyzzz{yz{z{{{{zzzzzz{yz{{|{zz{|zzzzz{z{zz|{z{{{yzzyzyzz{|{{zz{zzzzzzz{z{{|y|{z{{z{zzyzzzz{{{z{|zz{{z{zyz{{zzz{z{zzzyzzzz{zzzz{{zyzzz{{x{z{z{z{{{{{{yyz{z{zzz{{{{yz{zz|{{z{{{|{|zz{z{zzz{{{zz{{|{zz{{yzzzz{{|{{{{{zyzzz{|{{{{||{{{{z{zz{{{{{{{{z{|{zzzzz{||{{{{|z{{z{{{z||{{{{{|zz{z{z{|z||{{{{{{{z{zz{{||||{||||zz{z|{{z||{{||}|z{{z{{{{}||||||{{{z{{{{{{{|{|||||zz{{z{{{{{{{||{{{{{{{{|{|{{||{z{{z{zzz{|{|{{|{zzz{{{{z{{{{|{|{z{{y{{{{|{|zz{{|{{zzzzz{{{{z{{{{zz{zzzz{{|z{{{{||z{zzzzz{{{z|{{zzz{zz{zz|z{{{{{z{zzzz{zyzz{|z{z{{zzzzzzzz{z{zz|{z{z{y{zzz{{{{{{{zzzyy{zyzzz{{{{{zzzyyyzy{zz{z{z{z{zzzzyz{yyzzz{z{{zzzzyz{{{|z{{{zzzyyzzyzz{yz{{{{zzz{zzzzz{{{{|{zzzzzzyz{{z{{|zz{{zzzzzy{}z{z{{zz{{z{y{z{z{{{{|{zyzyzzyz{{{zz{|{zzzzzyzz{|{{{{z{zzzzzzzzz{zz{{{z{{zzyz{z{|{{z|{{{{zz{z{z{{|{||{{{z{{{z{z{|{{z{||z{{z{{z|{|||{|{{{zzz{{z{|{z||{{|{zz|z|{{{||{|{{||{z{{{|{z{|{{|{|{z{{zy{{|{{{|{{{|zy{{zz{{|{{|}{||z|{z{zz|{z||{}{{{zz{{z{z{{z{||{{|{zzzzz{|{{{|{|{yzz{zzy{{|z{{{{{{z{{{{z{|{{{{{{{{zz{yzy|{|z{{{|zzzy{zzzz{z|{{{{zzzzzz{z|{{{zz{{{z{zzz{{{{|{{{{{{z{{{zyz{zz{z{{zzyzz{zzzzzzzz{zz{yzzz{zy{z|zz{z{zyyzz{yz{z{{{{{{yyzzzzzyyzzz{zzzzzz{zz{z{{z{{{{|zzzzzzyzz{{{{zz{{zzyzz{{z{zzz{|{{zzyz{zy{zzz{|{{z{zzzyyzz{{zz{{{z{zz|yzy|{{z{z{|{z{zzz{{{{{z{|{|z{z{zyz{{{{{||{{{z|{zz{{{z{z{||{y{zzy{z{{|z{{{z{{zzzzzz{{{|{||{|{{zzzz{{{|z{{|{|{{z{zzz{{|{||{{|{z{{|z{{{||{{{{{{|{z{{{z|{|||{{{{{{{{z{{|}{|{{{||z{{{{{{{{|{{|{{{zz|{z{{z{{{|{||{z{{{{{{{{||{{||{{|zz{{|{|{{{|||{z{z{z{z||||z{{{zz{zzzz{{{{|z{{{{z{zzzzzz{|z{{|z{zzzzz{z{|{{{{{{||zzzz{z{|z{{{{{{z{z{{z{{{{{z{{|zz{{z{{y{{{z{z{{{{zzzz{{{z{{{{|{zz{{zzzz{{|z{{{{z{zzyzzy{{{{{{|{zzzzzzzzz|{{z{{z{zz{yzyz{{z{|{{z{z{z{{zzz{{z{z{{{zz{zyz{z{z{y{|{z{yyzzzz{{z{{|{{zyzzzzyzzz|{{|{|{yzzz{{zy{z{z{{zz{{{zyzz|z{{z{{|{{zzyyzz||{z{{{{z{{{zz{z{{{{||{|{{zzz{zz||z{{{|||zz{zz{z|{{z{{{{{{z{|{{{{{|{{{|z{{{zzz||{{{||{{|{{{{{{{z|{{{|{|||{{zz{{{{|{|||{|{{z{{{{{|||||}{||{z{z{zz|}{{{|||{|{{{|zz{{{|||||zz{{{{z{{|{{|||{{|z{{{{z{|z||{{|{{{zzz{{{|{||{{|{zz{zzzz|||{{{|{{{{{zz{z{{{|||z{{zyzz{{z{{{z{{{zzzzzzyy{||{{||||{{z{zzz{|{z{{{{|{y{{{z{z{z|{{{|{{{zzzzzzzzz{{{{|zzzzz{{z{{z{{|{{|zzzzzzz{{{zy{{{{zzz{zyz{{{{{||zzz{zyyzz{{z{{|{{{zz{z{z{z{{{z{{|yz{yy{zz{||zz{{{{z{zzz{{{{{z{|{{zzzzz{zz{zz{{{{zzzz{{{{zzz{z{{zzzzyzyzzz{zzz{|{{{{{{z{zzz{{{zz{{{{{zzz{{z|{{{{|{|{zz{zzz{|{{{||{|{{z|{z{z|{{{{||{z{{z{z{{|}z{{|{{{z{||z|{|{||{|{{{{{{|{{{{{|{}|{{{{zz{yz{|||{||||{z{|{{{|||{|{||{z|z{{||{{|||{|}||{{{{z{{||{{{{||{{{{zz{}|{{{{|||{|{zz|{{|||{|{}{z{{{{{|||{{||||{{z{{|{{{|{{|{|||zzzz{z{{}{{{||z{{zz{{{{|{{|{{{{zzyzzzzz{{{{{{{}z{zzzzzz{{|z{{|{z{zzzz{z{{z{|{{{zz{{zzz{z{z{{{{{{z{zyzzz{z{{{|{{{{{zz{zy{zz{{|{||zzzzz{z{{{z{{|{zzzz{zzz{zz{z{{{zzzz{zyz{{{{z{z{{z{z{zz{|{zzz|{|zzzzxzzzz{{{{{{{{zz{{zzyz{zy{{{zzzzyzzzyz|zzz{{{zz{zzz{zzz{{z{{{z{zz{zz{{{z{z{{|{y{{z{z{{{{|{{{{{zzzzz{y{{z{{{|z{{{z{z{zz|{{{{{{{z{zz{y|{{{z{{|{{zz{{zz{|{|{{|{|{{zz|{{z|{{{|}{|{z{z{{|{{{{||}{|{z{{{{{{{||||{|{{y{{{{z{|}||{|{|zz{z{{{{{|{{|{|||{{z{{{{{|{{||{|{{{z||zz|{{|{|{{|z{{{zz|{|{{{|{|{{|z{{{|z{{||{{{{z{z{zz{{{{|{||{|z{z{z{z{|{z|{|z{zzz{z{{|{|{||z|{zy{z|zz{{{{z{{|{zzz{y{z{{|z{||{|z{{z{{z{{zz|{{{{{{{zz{{{{||yz{{{z{zzyzy{{|zz{{|z{zzz{z{z{{yz{{zz{zzzzy{y{{z{z{{z{z{z{zzzz{{{{{{{z{zzyzzz{{z{zzzzyz{z{zz{{{{{{z{zzzzzzzz{{{{z{{|{{z{{zzz{{zzz{{{z{yz{zy{z{zz{|{{{z{zz{zz{{zz{{{{{y{z{zz{z{z{{{{{{zzzzzz{{{{{{{{{zyz{zzz{{|{|{{|z{{{z{{{zz|{{||{{{{{zz{z{|{{{{{{{z{z|{{{||{{|{|{||{zz{z{z|||{||{{z{{{{{zz||{|{{||{z{{zz{{|}|{|||{{zzz{|{{|{|{||{|{z|{||{{||{{{||||{{{{z{{z||||||||{|{z{{{||{{||{{{{{{{z{{|||{|{}|{z{{{zz{{{{||||{{{{z|{{{{|z{{|||{{zzz{{z{{z{{{}|{{zzzz{z||{{{{{zzzzzzzz{z{{z{{|{z{zzzzyz{|{z{z|{{zz{zz{z{z{{{z{{zzz{z{zz{z{{{{{|{{zzzzzzz{|{{{{{{zzzzz{zz{{|{|{{z{{{yzzy{z{{z{{z{z{{zzzz{{{zzz{zzz{yzyzzzz{{{z{zzzzzyzz{{z{{{{{z{{zzzzyzzzz|{{{z{zzyyzyzy{{z{{{z{{zyyzzy{{zzz{{{{yz{zzzzy{{z{{zzzzyzzzz{zz{z{z{{{z{zzyzz|z||{{||{{z{{{{{{z{z{{z{{{{z{zz{z{|{||{{zz{zzzy{|{{{{{|{{{z{z{z{{{{{z{{{{{zz{zz{{{{|{|{{{{{|{{{{{z{|{{||{{{{z{zz{{||{|{||z{zz{{z|{{{|||{|{z{{{{z{|{{{||{{zy{{z{{{|{{||||{{|{{z{{{{{{{|||{z{{z|{|{{{|{|{{{{z{{z{{{|z{{{{|{{z{{{{z{|{{{|||{z{z|zzz{{{z{{{{{{{{z{z{{|{|{{{{{z{zzz{{z{||{{{zz{yz{zzzy{{|{{{{{{{zz{zz{z{z|{||{z{zzzzzzz{{{z|{{zzzzzzz{z{{{{{{{zz{z{zzz{{zz{{z{zzzzzzz{z{zzzzyz{{y{z{{{zzzy{z{{zzzzzzzz{{{{{z{{yzzzzzzzz{{z{{{z{zzzz{z{zz{zz{{{zzzzyzzzyzzzzzz{zzzzy{zzz{{z|{{zyzzz{zz{{z{|{{{{zyzzz|{{{{{{{{{{z{zzyz{{{z{{{{{zz{zzz{z{{{{{{{{z{{z{z{zzzzz{z{z{zzzz{zz{{{z{{{{zz{{zz{z{{z{{|{z{{z{z|zz{{|{{|{{{yzzz{z{{{{||{|{{{zz{{z{{||||{{{{z{|{zz{|z{{{|{{{{z{{{{{{{{{{|{|{{{{zz{|z{|{||{||{z{zz{{{{||{{|||z{{{{zz{{{{{|{{{{{|{z{z{{{{|{{|{z{{z{{z{|{|{|{{|{zzz{zzz{z{z{{|{{{zz{{z{{}|{{{{zz{zz{{zzz{{{{z{{zyyzzy|zz{z{{|{{{{zzzyzzz|{|{{{{z{zzzzy{{{z{{{{{z{zyz{z{|z{zz{{{{zzzzzz{{z{{{{{zzzzzy{{{z{|{{{zzz{z{yyy{{z{{{{zzzz{yzzy{{{{z|zz{zzzyzyzzzz{z{z{zzy{yzyzz{z{{{{zzyzzzyzz{z{y{{{{yzyzzyzy{{{z{z{{yzzzyzzyzzz{{{|zzz{xzzzzzz{{{z{{zz{yzy{zzz{{{{z|zz{zzz{zz{{z{zzz{zyz{zzz{{{{{{z||z{zz{zz|{{{{{|{{zz{{z{zz|{{{{{|{{{z{z{{{{{{{|{|{{zz{{{z||{{{{|||{{{{z{z{|{{|||}|y{{|{z{||{z{||{|z{{{|z{|z{{|||{|{zz{{{z{||{{|||{{{|{|{z{|{|||||{z|z{{z{z{|z|||{{zzz{z{{{z{{||{||{zy{{{{{{{{{|}{{{zz{{zz{|{{{|z{{z|z{{{z|{{||{{{zzzz|zzz{{|zz|{{y{zzyyz{z{{zz|{|z{zzzz{z{{{{|{{{{zzz{yz{{{{{{z|z{|zyzyzz{{{{z{{{{z{z{{{yz{zz{{{{{y{zzzyz{{{{{|{{{z{zz{yz{z{{zz|{y{zzzyzzzz{{z{{{{zzzzzzzzzzz{{{{{yzzy{yy{{zz|z{{{zzzzzzzz{zy{{{{{zzzyyyzzzz{{{{z{zzzzzyyzzz{{{zz{z{y{yzzzz{z{{{|zy{zzy{{{{{|{}{|z{zzz{zzzz|{{|||{zyzzz{z{{{{{{|z{z{zz{yz{{|{{|{{|zz|{zzzz{{z{{{{{z{z{{zz{||{|||||{{{{{z|{|{{{|{{{{{{zzz{||z{||{{{{{z{{{z{|{{{{||{z{zz|{|{|{}{{|}|{|{z{{{{||{{||{|{{z{{{||{|||{|||z{{{{{{{{{|z{||{{{z{z{{||{}{}|{{zzy{{|{z{{{|{||{z{zz{zz||{{{{|{zz{yzz{{{{|{{|{zzzzzz{yzzzzz{z{zzzz{zzz{z{{{z{{{zzzz{zzz{{{zz{|{{z{zzzzzy{{z{{|z{{zzzy{z{{{{{{{|{{{zzzzzzz{z{z{z{z{|zzzzz{{{{{{z{zyzxyz{zz{{y{{{zzzzy{zzz{z{{z{zzzzzzzyz{y{z|z{{{z{zzzyyz{z|zz{{|zyzzzyzz{zzzzzz|{zyzy{{{z{y{{z{{yy{{zzz{z{{{{{{{z{yzzz{zz|zz{{{yzz{yyyz{z{|z{z{{zzzyzzz{||{{z{{zz{z{zzzz{}{{{}{zzz{{zyz{{{{{{|{{{{{yzzzz{{z{{z{{z{{{{zzzz{{{{||{{zz{{z{{|{{{|||{{{{{zz{{{{|{{|{{{{{z{{|{{{|{{{|{{{z|{{{{|{{||{||{zz{{{z{|{|{||{{z{{z{{z|}|{z||{{z{{{y{{||{{|{{{{{{z||z{|{|{{|||{{z{zz{z||{{|z||{z{{{{zz{||{{{|{{{zzzyzz{{|y{{{{z{yzz{{zy{|z{{||{z{{z{zzz{{zz|||z{{z{z{z{{{z|{||}{zzzz{zz{|{{z{{{zzzz{zz{{{{{{{|{z{z{zzz{{{{{}{z{{z{z{zz{{{zz{|z{{zyzyz{zzzzz{z{{y{z{zzzzzzzy|{zzz{{zzzzzz{zz{{z{z{zzzy{z{{|z{{{{z{{zyzy{z{{{{{|yz{zyzzyz{z{{|{{{{zzz{zyz{{{{{|{|{z{{yz{{{{{{{|{{z{{z{|zz{{|{{{|{z{zyzzy{{{{{{{{{{{zz{zy{z{{{{{{{zz{zzz{|{{{{{|{zz|{{{{{{||{{|{{{{{{{z{{{{|||{{|zz{{{|{z{{{|{{||{{{z{z{z{{{|{{|{{{{{|{{{|{||{|{{{{{|z||{||||||}|}{{{z{|{|}|{z|}{{y{z{{{|{|{{{|{{{zzzz{zz}|z{|{|||z{{{{||{{{{|||}||{z{z{{{{z{|{||{{{{zzz{{{|{|{|z{{{{{{{{|{z{{{|{zz{z{zzz{||{{{{{zzzzzzzz{z{z{{|{zzzzzzzy{{z{{{{|z{{z{z{z{{{{{{{|z{{z{zyz{{{{}|{{{{zzz{zzz|zz{{{{zzz{zzyz{{{{{{|{{{z{y{yzz{|{z{z{zzzzzzzy{{{{{z{zzyzzz{zyzz{zz|{z{zz{zzyzy{|yzz|zzzzz{yzyz{z{z{y{{{zzyyzzzzz{z{|{zz{zzzyyzz{zz{{{{zz{zzzy{{{z{|{|{zzzzzz{{{{zz{{|z{zzzzzy|z{{{{{|{{{zzzzz|{{{{|{{|z{zz{zz{{{{{{}{zzz{{zz{{{{{{{|{{z{|{z{z||{{{}{{{y{z{z{z{|{{{||||zz{z{{y{{{{||{{|z{z{{{{||{{||||{z{zz{{{{{|{||{{{zzzz{{{|}|}{{|{|{{{{z{{||{z||{|{z{{{{z{{|{|{z{||{{{{{z{|||{{{{{{{zz{|z{||{{{|||{{{{zzz{|||{z{{{{{z{{z{z{{{{|{{|z{zzyyzzy{{{z{{|zzyzzz{zzz{|{|{{{zz{zzzz{{z{{{||{z{zyyz{{{{{{|||zzzzzz{z{z{zz{{|z{zz{{zzz|z{z{{|zz{{zy{z{z{zzz{{zzzzz{{{{z{{zzzzzzzzzzzyz{{z{{{yzzzzyzzzz{{{{zz{z{{zyzzzz{{{z{z{zzzy{zzz{{{zzzzz{{yz{zzzy{zzz{{{{zz{zzzy{{{{z{{{{zzzzyzzz||zz|{|{z|zz{zz{z{zz|z|zz{yzzzzz{{{{z{{zzzz{{{|{z{{{|z{z{{zz{yy{|{{{|||{zz{{{z{{{{{{{{{{z{{{{{|{|||{||z{{{{z{{z|{{{{z|{|z{{|yzzz|{{||||{z{z{zzz||||{{|||{{z{{z||{||{||||{{{{{{{||{|||z||z{{z{z|{|{{{{{|{{{{|z{{||{{{||{{{|{{{z{|{{|{{{|{{{{{{zz{{{{{|{|{zz{zz{{{{{}|{|{|z|z{z|{{{{|{{{{z{zzzz{yz{{{{{{{{yz{yzzz{{{{{|{{z{{zy{{{zz{{{||{{{zz{zzz{|{{z{{{|{{zzz{z||{{z{{|{{zzzzz{{{zzz||{{z{yzzz|zz{{{{{{zzzzzy{{{z{{z|{zzz{zzyzzz{z{{{{|zzzzyzzz{{{zz{{{|{{zzyzzzz{{y{{{yzzzzzz{zz{z{|{{zz{zyyyyz{{|zz{{{zzyz|zz{{|zz{{{{z{zzzz{z{{{|z|{zz{z{zzzz|{{{|{{zz{zz{z{{z|z{|{{z{z{{z{z{{{{z{{{zz{{{z{{{{{{{{|{{{z{{zz{{|{{z|{{{{zz{zz{{{|||}z||{||{|{{{||||{|}{{{|{{{z|||{{||||z{{{{{{|{||{|||z{{z{{{|{||{{{|z{{{{z|{{{|||||}||z{zz{{{}|}{}|||||z|{{{{{||{||{|{|z{{z{{|{{||{{|{z{zz{{{|{{{||||{{z{z{{{{|{|{{{|{z{{zzz{|{}{|{{{z{{z{{{{z{{y{{|{{{yzzzzz{{|{{{{{zzzz{z{zzz{|{{{{{{{{{zzz{{{|z{{{z{zzyzzz{{z{{{z|zyzzz{{zzz{z{|{{z{zz{zzz{{{{||{z{zzzz{{zzzz{z{z{zzzzzzyzzz{{{zz{zzzzzzyz{z{zzz{zzzzzzzyzz{{{{{{|{zzzzz{yz{zy{{{y{{zzz{zzz{zzz{{{{zz{yzz{zz{{{z{{{z{zzy{{z{z|z|{|{z{zyz{{{z{{{z|{zz{zzz{{|{|{||{z{{{z{zz{z{zz{|{zzz{zzzyzz|{zz{{{z{z{{|{{|{|z{|{{z{{z{zz{{{||{||z{{{zz{{|{{{{z|{{{z{{{z{z|{|{{{{{{z{yyzzz{{|{|{{|{{{{z{z{|{{{|||{{{{|z{{zz||{||}||{z|zz{z|z{{{|{|{z{{|{{|{|{|z|||{{|z|{z{|{z{|}|{{{{zz{z{{|{{{{|{|{{zz{|{{|{|{z{|{{{zyz{{|{||{{z{zz{y{{zz{{{{{z{{{{z{{zzzz{{{{|{|{{yzzz{z{zzz|{||{z{zzzzzz{{{zz{|{zzzzzzz{{{{{{{|{z{yzz{z{{{y{{z{z{zyzyyzy{{zz{{z{zzzzzzzz{z|z{{{yzzyzyzy{{{zz{{zzzzzzzyzzz{{z{z{zzyyyzzz{{{{{z{zzzz{zzzzyzzzz{{{{zyzzzzzzz{zz{z{zz{yzz{zzz{z{{|{z{zzzzzzz{|{||z|{yzzzzz{z{|{{{{{{{{{zzzz||{zz{{{{{zzzzzz{|z|{z|{{z{y{zzzzz{|z{|{z{{z{{{z{{|{{z{{{{z{{{{{{{{{{|z{{z{y{{{z{{{z{{||{{{zzyzz{{{|{{{{|{{{z{{{}||{||}{{z{{z{z||{{{|{|{|{|{{{{z{||||{|||{||{{z{{{|||{|{{{z{{{{{z{{{||{{{{{z{{z{{zz{z||{{|z{{zzz{|{{|{||{zyyzz{{{||}|{{|zz{{{{z||{||}|{{zz{zzzz{z|{{{{z{{{yzzyyz{z{{{{{{{z{zzzyzzzz{|{{{zz{zzzzy{|zzyz|{|{zzzyzz{z{{{{y{yzzz{z{zz{{|z{{{zzzzzzzzz{{{z{{{zzzzzz{zz{{z{{{{zzzyzz{zz{z{zz{zyyzzzyzyzz|yzz{{{{zyzzzzy{zyz{{zyyzyyyyzzz{zz{{{{zyyzzzzz{z{zzz{zy{zz{{y{{{{{z{z{{zzzy{{z{z{|{|{zzzz|y{{z{zz{z{zzzzyzy{z{z{zz{|{{z{zzyzz{|z{{{{{{z{zzzzz{{{{y{{{{zz{{zz{{{{{z|{{{zzzz{z{{z{|{||{z{{zz{{{{{{{{{{||zz{{{{z{||{z{{|{zz{z{{{|||{z{{{{{{zz{{{{{{|z|||{{{{zzz{{{{|||||{{{{{zz{|{{{z{{|z{zz{zz{y|||{{|{||z{zzzzz{|z{{||{{z{zzz{|{{|{{{{{{{zz{{{{{{{z{|{{z{{zzz{{}{|{||{{{zzzzzz{{{{{{z|zzzz{z{z{{z{z{|{{zzzyzz{z{zz{{z{y{{yzyzy{{{{{{z{{zzzzyzzzz{{{{z{zzzzz{zzz{{y{{|{{zz{{{yz{{{zy{{{{yzyyzzzyyz{zz{{zz{zzzzzz{{{z{|z{{zzyz{zz{{z{zz{zzzzxzzzzz{zz|{{zz{zzzzyzz{zzzz|zzyz{zzz{{yzz{{{zz{zzzyz{{{{{{{z{zzz{zz{{{zzz{z{{yzzzz{z|{z{{|z|zz{yzz{y{{{|{{{{{{yzzyzyz{{{{|{zzz{zz{zz{{|{{{||{{y{z{{z{||{{|{{zz{{{z{|{||||||{z{{z{z{z{|{{{|{|{{{|{z{{{||{{||{}{{{z{{{{}}{|z||z{{{{|{{|||{{|{|{||{||{{{||{||||{{{{zz{{z{||{{}|{{z{|{{{{||{||{{|{{{zzz{{{{||{{|{z{z{{{z{zzz{||z{{z{{z{{{{z{||||zz{z{z{{{|||~{{{|{zzyzzzy|{zz|{{zzzyzz{yz{{z{{{zzzyy{zzzz|{{z{{{{zzz{{zz{z{{zz|{{z{yzyzz|{{{{{z{{zzzzz{zz{{z{z{{{zzyyzzz{{{{z|z{zzyzzz{yz{{zz{{{z{zz{zzyzzz{{{{zzzyyyzyyzzz{zyz{zzz{zzyyz{z{{z{{zzzyy{yzz{z{z{z{zzzyyzzzz{zz{|{{{yzz{zzyzzz{z{|zzz{zzzzzz{|{z{{{zz{zzzyz||{{{{z{zy{zyzzzzz|z{{{|{{zzy{z{z{{{{{|{{z{zzzzy{{{z|{|{{z{{{zzz{{{z{{{{|{zz{{zz{||{z{|{{{{|zz{{||{{|{{{{{z{{{z{{|||{{}||zz{{z{z|||||{|{zz{{{|{{|{{{||||{{{{z{z{{||{|||{z{{{zz{z|{}{z|||{z{z|z{{{{{{{{||{{{{z{{{|||}{|||z{{z{zzz{z{y{{|{|zzz{{{z{{|{z{||zz{{{z{z{{|}|{{{{zzzzzyzy{{{{{{{{zyzzzz{z|{{|{||zzzyzzz{|z{{{{{{z{zzzzzzz{{{z{{||{{zyz{zz{|{{{{{zzz{z{zy{|{zz{{{zz{{{{y{{{{z{z{{yzzy{z{z{{{{zz{{zzzzyzzz{{{{{{zzzzz{yzzz{{z{{{z{zzzzyzyzz{{z{{{{zz{zzzzyzz{{z{{zy{zzyzzyz{{z{{{zzz{yzzzy{z{z|{|{{{zzzzzzz{zz{{{{zz|zzzzz|{{{{{{{zzz{z{{zz{{|{{{{z{{{zz{z{{{|{||{{{{{{{zz{{{z{{{{{zz{{zz{{{{z{z|z{{{{{|zz{{{|{{|{{{z{{z|z||{|{|||{{{{z{z{z{{{{|{{|{z|{{{{{|{{|{{{{{{z{{z{{{{|{||{{z{z{{|{{}{{{{|{{{|zzzz{|{{|{{|||{{z{|{{{|{{|{{{|{{{||z{|{|}{||{{{{zz{{|{{{||{|{{|zz{{zz{{||{|||{z{zz{{{|||}|{{|zzzzz{zz{{{{{{z{zzzz{zz{{{{|{{|{{z{yzzzz{{{{{{{{{zzyzzz{{{z{{{{{{{{{zzzzzz{{{{{{{yz{z{zyzzzz{|{{{{zzzzzz{|{{z{{zz{{zz{yzz{{{z{{{{yzz{zzzzz{{{{|z{{yyz{z{z{{{|{{{zyzzz{z{z{z{|{z|{zzzz{{y{z{{zz{{yzzyzz{z{{{zz|z{{{zz{z{zz{{{{{{{zzzy{yz{{|{z{|{|zzzzzzzz{|{|||||zy{zzzzy{{{zz{{{{{{z{{{{z{{{{|z{{{{{z{z{{{|{|z|{{{z{{{{z{{{{{{|{{z{z|{{{{{|||{|{z{{{{{{{{|{||{}{{{z{{zzzz{||{||{{{{{{z{z{|||||}|{z|z{{{z{}{||{||||{{|z{{{{|{|||{|{{||{{{||{|{{||{{{{z{z|{{{||{|}|{{|{{{{|{{|||}|{{{zz{z{{{{{||||{{z{{z{z{||{{{|||{zzz{z{||}}}|{{z{zzzzz{z{{{{{{{{zzz{zzzz{{|{{z|{zzyz{zz|{{z|{|{{z{z{zyz{{z|zy{z{{zzzz{z{{|z{{{{zzzzzyzzz{{zz{{{{{{z{zzzzzzyz{zzzzzy{zzz{{z{zz{{zzzzzy{z{{z{z{{z{yyzzzzzz{{{z{{{z{{zzzyz{z{{{{{{zzzy{zzz{{zz{{z{{zzyzyzzzzzzz{zzzy{zzzy{{{zz{{{z|zz{zzyzz{|zz{{{zz{zyyzz{z{|{||{zyzzzyz{|z{{{{{|{z{{zz{z{|{{{|{{{{zz{{yz|{{{{{|||z{{zzz{{{{{|{{{{z{{{zz{{{{||{|{z|zzz{z{z{{{||{|{zz{{z{zz{{{{{{{{{z{|{z{||{|{{|{z{{zzz{{||{{{|||}{{{z{zy{|zz|{|{{|{{{z|{{||||||{{zz{{zzz{{{{|{|{|{{{{z{{z{{{|{{|{z{zz{{{z|{{{{{{{{zzzz{z||{|{{z|zzzzz{{{z{||}z{{{zzzzzzzz|{z{{|{zz{{zzyz{{{{{|{{zzzyzzzz{z{{z{||{zzzzzzz{{{{{{{{{yzzzz|{|{{{z|{{{zzzyz|z{{zz{{{{zz{zzzzz{z{z{{{{{yzyzzzz{{z{z{{{zyyzyyzz{zz{z||{z{z{yzzz{z{zz{{z{zz{yzz{zz{zz{{{zzzyzyzyyzz{z|{{zzzzyz{{y|{zz|{|zz{{zz{zzzz{|{{{zzzyzzzzz{{zz{|{{z{{zz{zz{y{{|{|{z{{zz{{z{{{{|{{zz{{zzzz{{{|{|z|{zzz{yzz{{||z{{|{{{{{zz{z{{{{|{{{{{{zzzz||||||||z{{{{{{{||{|{|{}{z{z{{{|{|{{|{{|{z{{{{{y|||{{z{|{zz|z{{{{|{|||{||{{z{{{z{}|{||}|{z{||{{||z|}{}{|{{|{{z{{{{||{||}{{{|{{{{|{|{}|{|{|zzz{z{|{{{{||{zz{{z|{z{{{|{{{{zz{{|z||||~}|{{zzzzzzzzz{|{{{z{{zzz{{zzyy{{z{{{{|{z{zz{zz{{{z{|{{{zz{z{{{{|{{{|||z{{zyzyz|{{z{{|{zzzzzzz{{zz{{{{z{|zzzy{{{{{z{{{zzzz{zzzzzz{z{{{{zzzzyzzz{{z{zz{zyz{zzzzyzz{{z{{zz{yzyzz{{{{{{{{{zzyzzyzzz{z{{z{zzyz{zyyzz{{{{{{zzz{{zzz{{{{zzz{zzzzzyy{{{{zz{{|{{zz|zzzz{zz{{||zz{zz{{zzz{{{{||{z{z{z{z{{{{{{{{{z{{{z{z{{{z{{|{{z{z{z{{{{{{{{{{{z{{z{z{{||||{{|z{}{{{{{{{{{{||}{z{zz{zz|{{{{{{{{|{z{z{{|||{{|{{z{{{z{{{{{{{||z|{z{{{|{z{|||{{||{z{{{y{{||}||{|{{z|zz{{z{{z{|{}||{{z{{{y{{{{||{}{zzzzzzz||{{{||{{{{{z{{z{|{|{{||{z|z{zz{|}}|}{{zzzzyzyzzz{{z{z|{{zzy{zzyz{z{z{{|zzzzzzzz{zy{{z{{{zzz{zy{y{{{zz{{{{{zzz{y{z{z{{|{z{zzzz{zz{z{zz|zzz{zzz{y{z{zy{{{zzzzzzyyzzzz{{zzz{zzzzzzz{{zz{{zyzyzzzyzz{|z{{{zzzzzyzzy{|{{yzz{zzzzzyzyzzzyz{{{zz{yzyzzz{zz{{{zz{z{yzzzz{{{z{{{zzzzzzzz{{|{{{{{zzzzzz{z{{{{{z{{z{|zzz{zz{{{{{z|{{z{zz{{{z||{{{{zz{{{{{z{|{z{{|{{z|{{zz{{{{{{{{{zz|zzz{|{z|{||{|{z{{{z{{||{|{|{{{{{{zzz{{{|{|{{{{z{zz{zz{|||{{||{{{{zz{zz{{{{{{{|{z{{{{{{||{{}||{{|zz{{{{{{{{{{{{{|{z{z{{{{|{{|{{{zz{zzz{|{{{{{|{{|z{z{{z{{{{{||{{z{z{zz{||{{|{{{z{{{zzz{|||}zzzzzz{zz{z{{{z{{||z{yzzzyy{zzz{z{|zzyzzzy{zz{z{{|{zz{zzzzz{z{{{{{{z{{zyz{zz{{zz|z|zzyzzzzz{z{zzz{zzyzz{yzzy{z{{{{zzzzzzzyzzz{zzz{zz{zzzyzzz{zzz{{zzzzzzzzy{z{zz{z{zzzzyzzzz{z{{z{y{{zzzzyyzz{z{{zz{zzzzyyzz{y{z{{z{yzy{yzz{z{{z{{{z{zz{yz{z{{{z{z{zzzz{yzzzz{{zz{zz{zzzz{{{z{z{{{{{yyz{zzzz{{{|{z{{zzzzzzyz{{{z{}{{zz{{y{{{z{{{z{{z{{{{{yz||{{{{{{{zzz{z{{{|{{{|{|{y|{z{zyz{}{{|{{{z{{{{zz{{|z|{||{{{{{{z{{{{{{{{||zz{{{z{{{|{}|{{|{{z{y{{{|{||{{{{z{{zz{|{{{{{{||{{z{|{{|z{z|{{|{{{{zzzz{{{{z|{{{{|zzzz{{z|{|z{|{zz|z{|{y|{||}z{{zzzzzzzzz{{z{{{{z{zzy{zy{{{{{|{{zzzyyyzzzz{{z{{z{z{zzzyz{z{{{zz{zz{yzyzyz{{z{{{{zzzyzzyzz{zzz{{{zz{zzzzzz{{{y{y{zzzzyz{zz{zz|zz{zyzzzz{zy{zzzzzzzyzzzzyzz{{zz{z{zz{yyzzz{z{{zz{{{zyyzzzz{{zyz{z{{zyyzyyzz{|{z{z|zz{zz{zy{{yzz{{{zzyyz{z{z{z{z{|zzzzzzyzzz{{z{||{zz{zzy{zz{z{{{{{z{yy{zzz{{zz{{z|{z|zzzzz{{{{zz||{zzzz{zz{|{{z{{z{|zy{y{z{{{|{|||{zz{{z{{{{{{|z|{{z{{{{zz{||{{|{{{{zz{z{{{||{{{{|zzzzz{{{z|{z|}||{{{z{{z{{|{{{{|||z{{{{{z{{|{{|{{{z{{zzzz{{{z{{||{z{zzz{{|{}{{|{|z{yzzz{{z|{{{{|{{z{zz{{z{|{{{{{{z{{y{z{{{{{{{zzyz{z{z{{z{||z{z{{zzz{{zzzz{zz{z{{z{zy{zzy{{{y{{{{{zyzzz{zzz{{z{{z{y{yzzzz{{{{z|{|zzzzzzzz{{{{{{{z{zzzyzzyz{{zz{zyzzzzzz{{zz|{{z{z{zzzzzyyz{{{{zz{{yzzy{yz{{{{z{{{zz{zzzzzz{{{zz{{zzzyzzzyyzzzz{zzz{yzzyyzz{y{{z{{zyzz{zzzz{{z{{{{zzyyzyyzzz{z|{{|zzz{zzzzzzzzz{{|{{zzyzz{{{y|{{{{{{{zzzzz{{{{z||{{{zy{z{z{|{|z{{{z{zzzz{z{{z{{|{{{{{z{yzz{|{|{{{|z{z{{{{z||{{{{{|{zzz{z{z||{|{||{zz|{{z{z{{{{z{{|z{zz{{{{{{{{{|||{{{z{{{{{|{|{{||zz{{zz{{}{{{{|{|{{z{{{z{z{{{{{{{{{z{yzz{{||{{{{{{{zzzzzz{{{{{||{{{|{z|zy{{|{{{{z{{zzzz{z{{{{{|{{zzy{yyzy{{|z{{{{zyzz{{zy|{{z{{{|{z{yzzzz{{zzz{|z{zzzyzzz{{{{{z{{zz{zyzzzzz|{{{{{zzzzzz{zy{z|{|{{zzzyzzzzzzzz{z{zzzyzyzzyzz{z{{z{zzyzzzzzz{z{{{{y{zyzyyxzzyzyz{{zyyzyxyzyzz{{z|{{{zzzzyzyz{{z{|z{{y{yzyyzz{z|z{z{yyzzzzxyzzy|zz{zzzzz{y{zz{{{{{{{zyzyzz{{zz|{{|{{{zzzzzzz{{|z{{{{zzz{{yzz{z{{{{{{{z{zz{z{z{|{z{z{{y{|zz{z{{{{z|{zz{{{z{{{|{||{{{{y{zz{{{z|zz{{{{{{z{{{zzz{||{{{|{|zz{{{{{||{z||||z{{z{{{{{{{z|{||{{{{{z{{{{||{|{||z{|z{z{{{|{{{{||zz{{{{z{|{{{{z|{{zz{{z{{{|{{{{{{{zzzzzzz{{z{z||z{z{yy{z{{|zz|{{zzzz{z{z{{|{{|{{{{zzzzz{{{z{|{||{{zzzyzz{zz{{{{{{{{{z{{zz{{z||{{{{{zzzyz{|{|y{{z{zz{zzz{{z{|{{{{zz{{z{zzyz{{z{{{zzzzzzz{z{{zz{{zz{zzzz{{{{zzzz{|zzzz{yyyz{z{z{{z{zzzyzyz{z{{{z|{zzzyzzzzzzz{z{zzzzyzz{{y{zz{zz{zyzzyzz{{z{yz{{{{{zzzx|yz{z{{{{|{{z{zzzzy{|{{zz{z|zzyzzzz{zz{{{|{z{{y{zzz{zzz{||{{z{{{y{zz{{{{|{{z{zzzzz{{{|{z||{zz{z{zy|{{{{z{{{z{z|{{{z{z{||{{|{{|z{|{{{{{|||||{{z{{z{z|{|{{{||{z{{z{{{{{|{|{||{{{{z{|{{{{||||||zz{{z{{{||{|z|||{{{z{{{{{{{{{|||z{z{z{|{z{{|{||{{{|{{{{{{{||z||{{zzzzz{z{{{{{|{|{zz{{{{{|{{{|{{z{zz{z{{{{||{{|{{{{zz{{z{{{{|{{|{{{{{z{{{{{{{|{|{{zzzz{z{{{z||{{{z{{{z{z{|{{{{{|z|{{|{{{{{|{z}{|{{zz{{{z{{{z{|{||{zzz{z{zz{zz{|z{{{zzzyy{z{{{{{|z{zz{{zz{{z{z{{{{{zzz{zz{z{{|{{{|{zz{{yz{z|{{z{z{z{z{zzzz{{|{{{{{z{zzzyz{{z{{{|{zzzzzzzz|{{{{{{{{zz{{{{{|{{{{|||{zz{{{{z||{{{|{|{{{z{z{{{z|z{|||{y{{zz{{{{{{||||{z{{zz{z|{|||||{{{zz{{{{{{{{{|||{{{{{zz{{{|{|||{{{|{|{{{|{|{||{|||{|{{z{{}}}||}{{||{|{{|{|}||||}|{{{{{|{{|||}}|||{||{{{{||{||{||{z||{{|{{|}|||{||z{{{||z{||{}|||{z|{{|{||}||||{|{{{{z{z{{||~||}{|z|{z|{z{||||{|{{{|{{z|zz||}{|{}{{{z{{{{|{}{{|{|z{zz{{{z{{{{{{||{zzz{{z{|{{||{{{{z{|{{{{z{||{z||{{{z{{zz{{{|{|{{|{zzz{z{z{{{|{{z|{{{zz{z{|{z{{{{{{zz{{zzzz{{||||zy{zzzzz{{{{|{{{z{{{{zz{{{{{{{|{|z{zzzzy{{{|{{{{{zzzz{{{z{{{{{{{z{zzzz{{z{z{||{{{y{{z{{z{{{|{||z|{zz{{{{{{{{{|{{{z{{{{{{{||{z|||{z|{z{{{z{{{{{|||{z{{z{{{|||||||{{|z{zzz|{|||||{|{z||{|{{{{{|||{{{{|{{{z|||||}}|z{z{|z|{||{|||||{{||{zz{|{||||||}{{{{{{{|}|||}||{z|{{{{||||||}|||z||{|{{{}|}|}}|}z||{{{|{||||}{}|||{{{{{||{|||||||||{{{|{{{{|||}{|{{{|{||||}||}|{zz{{{{z{}{|{{|{{{{{|{{z||||{{|{{{{{zz{z{{|{|||||zzz{{{{z|{|{{||{{z{{{{{{z{{|||}{z|zz{{z|z}}{{|{|{{{zz{{{|||{|{|{z{zzzz{{{{{|||{{z{z{z{z|{|zz{{{{z{z{zz{{{{{{|{{{{z{{{{zz|z|||{{{z{{y{{{z||{|{|{|{{{{zzz{{|{{z{{z|zz{z{|z|z{{{|{{{{{z{{z{{{{{|z{{z{{|{zz{z{{||||{|z{{z{{{{{{z||{{{|{z{{{|{{{||||{{z{{z|{{|}||{{|{|{{||{{||{{||||{{||z{zz{|||{|}|{{zz{z{{|{||{||{|{{||||{|||}}||}{{|{|{|{||||||}|{||{|{{{{{|||||||{|{{{{{|}|}|||}{{||z{|{{}|||||}{{{{{|{{||{|}||||{{{{{{|{||}|||||{{{|z|{}}||}|||||z||{{{||{}}{}}||{{|{|{{||{||}||{|{{{|{||||||{{|{{{|{{|{||{||{{{{z{z{{|{|{z{{{{{{{y{z{{{{{|{{||{z{z{{z{{{{{|||}z{{{{z{|{{{{{|{{z{{zz{{z{|{|{|{|{z{{zzzz{{z{{{{{{{{z|z{z{{|z{{{{zz{{z{z{{{{{||{{{{{zzz{z|z{{{{{{|zyzzyz{{||{{|z{{{{zyy{{{{{zz{{{z{{y|z{{{z{{{{{}{{{yz{zzz{{{{{|{{zz|{zzzz{{{|z{{{{{zzz|{{|||{{|{|zz{{{{{{{{{{||{{z{{{z{|{{|{{{{}{{|{{{{{z{|{{{|{{{|{{zz{||{||||{{{|{{z{{|}|{|{||||zz{{{{|{||}||{||{|{{{{||{||}|{{{{{||{{|}|z||||{z{{|{{{|||||||}|{|||{{{||{}|||}|{||||{{||}|||}{}|{||{|{|||}}}|||{{{{{{{|||{}|{}||z{|z{|||{||}{{{{{{{|{{||||||||}|z|{{{z{{{{|{{{|{|{{{{{|{}|{{{|{{{{{zz{{{{{{{|{{{{{{z{{{{{|{|{{{zzzz{{{{|{{{{|{||zzz{z{{{{{{{||{z{zz{{{{{{{{{z{{zzzz{{yz|{{{{{{{z{zzzzzz{{zz|z{{zzy{{zz{z{{{|{{{{{{zy{z{z|{{{{z{{{z{zz{{|{{{|{{{z{{{zz{zz|{{{}{zz{|{zzz{|{z{{{|z{{z{{z{{|{{|{|{zz{zz{yzz{{{{||{{z{z{z{z{{{{{z{|zz{{{z{{{{{z{|{|{{{{{{z{{{|||{|||y{{{zz{{||{|}|{{{{z{z|{{{{|{|}|{y{|{z{{|{{||||{|{{{|{z{{|}||{||{{{{{{||{|}}{|{|{{{z{z{z{|{}||||{{{|{z{{||{|{||{|{||||{{{|||{|}||||{{{||{}}{||||{{|{{||{||}||||||{z|{|{{{{{||{|}|{{{||{{||||||{|{|{{zzzz||||{{{|}{{{{|{|{||}{|||{{{{z{{{|}{{{|{{|{{z{{zy{{|{|{{{{{{{{z{{|{|z||{{{{{z{{|z{{|||{||{|{{z{z{z|||z{||z|z{z{{zz|{{{{z{{z{{{yzz{{zz{{|{{{z{z{zz|{|{z{{|{z{y{z{{zzz{{{{|z{{{z{{z{{{{{{{z{z{{z{zz{|{{{|{{|{zzyzzzz{{|{{{{{zz{{z{yzzz{{|{|{z{{z{{z{|{|z|{{zzz{z{zzzz|{{{||{{zz{{z{|{{|{|{}{zz{{z{{{z|||{{|{z{{z{z{{|{{{}|||{{|{{|{{z{z||||{{{z{{z{{{{|{{}{|{{{{{|{{}{|{|{zz{|z|{|{{|||||}}{{{{{{{|||{{|{}{{|{{|zz{}||{||}}{|{{{{|||||||||||z|{{{{|{||||||||{|{z||{{{}||}}|{|||{{{|||{|{||||z{{|{z{|{|{|{}|||{{{{{{{|{|||||{{{{{{{{|{{{|}|{{{|||{z{|}||{||||{{{{{{z|||{}|{{{zz{{zzz{{|{{{{|z{{{{{zz{||||{||{{z{|{{{{z{{{{|{{z{zy{z{{{|{{{|{{|zzzyzz{z{{||{|zzzz{{{z{{{{z|{{{{zzzzzz{z{{z{{{{zzzz{{zz{|{{|{{{{zzzzzz{{z{z{{|zzzzzyz{{{{{{{{|zz{yz{zzzz{z{zz{{{{zzzyzy{{{{{{{{{{zzyz{z{{{|||{z{{z{z{zz{z|{{||zzzz{{zz{{z|{{{||{{z{zz{|{|{|{{|{{{zyzz{{{{|||||{{|zzzz{{|{{|{{||zz|{{z{{{{|{|||{z{{{{zz{|{{{|{|{z{{|z{{||{|||{}|{{{{{|z{{{|{|}{||{{|{z{{||{|}|}|{{{{|{|}|{{{}|{{{|{|{{|{|{|{}|{|{{{||{{|{{||}||||{{{z{{|}{{|||{|{{{|{{{{|{|||}|{{{{{zz{{}{||||{||z{|{|{{||{|{||{|z{z{zz{|{|{{{|{|{z{{|{{z|||{{{{{zz{zzzz|}{{{||{z{z{y{z|{{{|}||{{{zzzzz|{{{|{||{z{{{{zz{{{{{{|||{{{zz{z{{{{{||{{{{zzz{z{{z|{|{|{{{{{{z{z|{z{|{|z{{{{{z|z{{{{{{{{zz{{{zz|{{{z{{{{zzzzzz{z{{z|{|{zz|{z{z{{y|z|{{|{{zz{z{zz{{{{|{|{{zz{zz{z|{|{|{{{yz{{zzz{{|z{{|{|z|{yz{zz||{{zz||z|{{z{z{{{z{{{|zzzz{zz{|{z||{{||{z{z{{{{}{|{||{{z{{{{z{||{{{{}{{z{||{z{|{{z{||{{{{{{{{{{|||{{|}{{{{{{{{{|{||}||{{{{{{{{|}||{|||||{||{||}|||||||{{||{{}{{||{{{|||||{{{{z|||||{||||{|y{{{{||||{||}{z{{{|{{||{||}|||{{||{|{||{||||{{zz{{{{}|||{|}||{{z|{{z{{|{|||{{z{{{{{z{{|}|z{|{{z{|{zzz{{z||{|{{z{zz{z{{{{z{{{{z{zzzzz{{|{{{{{|{{z{{{z|z|{zz|{z{{{zzzz{z{z{{{{{z{z{{z{z{z{{||{z{zz{{zz|{{{z{|z{zy{zzzz{{zz{{{{zzzz{y{z{{zz{{{{{{z{yzzzz{|z|{{{{z{|zzzzz{z|{{|{{z{zyy{z{{{zz|{y{z{zz{{{zz{zz{|{zz{zz|zz{{||{{|{{{{{zzzz{||{{{|z{{zzzzz{z{z{{{{|{{{{{zzz||{{z{|z{zzz{z{z{{{{{{||{z{{|zz{{{|{z{|{z{{z|{{zzz}{{{{|{{z{zz{{|}|{|{{|{z{{z{{z|{{|{}{{{{{{{{zz|{{{{|{{{{{z{zz{|}|z{|{}{{|{z{{zz||{||{|}{||{{{{{}z{{|}||z{}{|{{z||{|}|{|{z|{z{z||{{{||{|{{|{{{{|{||||{{z{{{zzz|{{{||{}||{{{{z{{{{{|{||{{z{{{z{{{||{||{{{{zzz{z{||{{|zz|z{zz{{{z{|{||{{{{{{z{z{z{{{|zz{|zz{{{{zy{{y{z{|{z{z{zzzz{z{{{{{|z{z{{zz{z{zz{{{|{{z{{{zzz|{{||{{{{zzzzzzzz{z{z{|z{zz{z{{{{{zzzz{{yz{z{z{{{|{{{||zzzz{zzz{{{{{{|}{zz{zyyy|{zy{{{{z{zzzzz{z{{zz|{{z{zz{{{z{{{{{{{{|zz{{{zzzz{{z|{|{z{{{{{{{z{|{||{z{|{z{z{{{{|{{{{|zz{zz|{{{}|{|{{{|{{{z{{{|{{||{z{{zzz{{{z|{z{|{|{zz{{{z{{{{{{|{|{{{z{{||{}||||||{{{{zz||{|{}{|}|{{{{{z{z||{{|||{{{{{z{|{{{{|{|||{zz{|z{{{||||{||{{{|zz{{{{{}|||||z{|{{{{{||}|{|}|{{{{|z|{||||{{|{|{{{z{|{{{{{{}|{|{|{yz{{{|||{{}|{zzz{{{|{z{}|{{z{{zzzzy{|}{{{||{z{{z{zzz{|{z{|{{{zzz{{{z{z{z{|{{z{z{z{{z{{||||{{z{yz{z{{{{{|{{{{|{{z{{z{{{{{{{||zz{z{zz{{}{{{{zzzz{zzz{z|z{{|{{zzzzzzzz{{{{{{{{{{zzzzz{z{{{|{|{{z{{yzz{{{|{{{|{z|{zzz{zzz{z{{{{{|{{{zzzz{z{{z{|{zz{{z|z{|{zz{{|{{{{z{z{{|{z{{||{z{{{zz{{{{z{{||z{{{{zz{|||{{{{{{{zz{y|{{|||||z{{{{{{{zz|{{||{|{{|{{zz{z|||{|{|||{zz{{{|z||{|}||{{z{{{{{{||{{{|}|{{{||{{{{||}{|||{|{{z{{{|{|||}||z{z{||{}{||{||{|{{{{||zz|||{{}||{||{{||{{||||{||{{z{z{{{|}||}{}{|{||{{{||{|||||{{{{{{|{{{|||}}{|{z{{{{z||{|{|}{{{{{{{{{{{||{{{{{zzz{zz{{{z{|{|{z{{zz{z{z{{|{|{|zzy{z{{z|{|{{||{{{{z{{zz{{{{{{{{{z{{zz{z{|||{{{{{{{y{||z{{|z{{|{|{{zz{zz{{{zz|{|y{{{yz{{|{z{{z{|{zzy{yzzz{{zz{{{|{z{{|zzz|{{{{||{zzz{|{zz{{{z{||{zz{zz{zz{z{{z{|zz{z{yz{z{||{{|{{z|z{{zz{z{{{z{{{zzzz{{z{|{{z{{|{{{|y{{{z{|{|{|}{{{{{{{{{{|{{{|{{{{{|y{{|{{{{|z||{{{{{{z{{|{||||{{{z|{z{|{{|{{{{||{{||{{||}{}{|}{{{z{{||||{|{||}{{{{{{{{{}{|{}||{{|{|z{{{}|z|{|||||z{|{z{}|{}|||||{|{{{{|||{|||{{z{{{{{{}|||}|||z|{{|{{z{{{||}||{{{|{|zz{||||||||||zz{{{z|{||{||{{{|{{{{{|||||}|z||y{{{z{{{|||||{z{{{zzz{|{{{{{{{zzzzzz{||{{{||{{{{zz{{z{z{{{{{|{z{z{{y|z{|{z{||{{{{{zzzz{|z||{{|{zzzzzzz{{{{{{{{zz{zz{|{{{{{{z{zzzzzzzy{{{{{{{|{{zzzzzz{{{{z{{|z{{{zz{z{{{{|{{|{zy{z{{yz{{{|||{z{z{zz{yz{z{{|z{z|z{{yz{{|zz{{{{{zz{zzzzz{{z{|||{z{z{|{z{|{{{|{|{{{{{zzzz{|||{||{{{z{{z{{{z|{{||z{{z|zzz{{{{{{{{{z{{{zz{{{{z{{||z{{z{zz{|{|z{|{||{z||zz{{{{|{|||{|{{z{{|{|{}{|||{{{{zz{{}|{{|||{{z{{{{{{{||||||||{{{{{{|||{}|||}}{|{{|{|{}||||{||{{{{||{|||}z|{{|{{|{{{z{{{{||}|{{z{||{{|{||{|{|{z{z{{{z{{{||||{|z{{{{|{|}|{|{||{{{z{{{{|||{||z{zy{z{z{zz{{|{||{|{zzzzz{{|||{||||{{zzzzz{z{{|{z|{z{{zz{{{{{|{{{|z|{zzzyz{{{{{||{z{{z{{{y{z{z{{||{zz{z{|z{{|{{{{|{zz{z{{{z{{zz{|{{yzz{{z{z{zz{{z{{zzy{zz{{{{{{{{{z{{|zzzzz{{{{{{|{{z{zz{zz{{z{{|{{{zyzzz|{{zz{z{{z{zy{{{z{{|{z|{{{|z{{{{{|z|{{{{|{z{z{z{|{{{||{{{{|zzz{z{z||{||{|{{{{{{{{{{{{{|{|{{|{{yzz|{|{|{|{{z{{|zz{||||{|{z|z{{z{{{|{{||}||{{{{zz{{{|||{|}}{zz{|{{{||{|||{||{{{|{{{|{|||||}{{{{{{|{z|||{|||{{{{{|{{|||}{||||{{{{{{|{{|}|{}|}z{{zz{{||}|{||||zz{{{{}{|{|||||zz{{|{{z||{||||{|{z{z{{{|||z{{{{zz{|{{{{{||}{{|{{zzz{z{{|{{{||||{zz{{zz{{z{|{{{}{{|zzz{z{{{{|{{|{{{z{{z|{{||{{|{{zz|zzzzz{|{{{{|{|{zzz{z{|{|{|{{{z|{z{z{{{||{z{|zzzzzzz{zz{{{{|{{zzz{zzzzz{z{|{{{{{zzzzz{z{{{z|{{{{{zzz{zz|{|z|||z{{zz{z|{{zz{z||{zz{zzz{{{{z{|{{{{{z{z{{|{{|{|{z{|z|zz{z{|{{{||{zz{z{z{{{z|z|z|{{zyz{z{{{{{{{{|{z{{{{|zz{|||{|{{z{y{z{{{z||{{|{{{z{{{z{{{|{z{||{|z{{z{{|{|||||{{{|{{{{{|||||{|||{{{{{{z{{{|{||{{{{||{z{|||{|{|}{{|{{|{||||{}||}}{{{||zz|}||{}}}{{{{z{{{}{|{||||{{{{{||{|||{|||||{{z{|{||}||{{||{|z{{z{z{{||{|}{|{{{z{|z{{|}|{|||{|zzz{{||||{{|{{{z{z{{zz|{|{z{{{{zzzzzz{{z|{||}|{{yzzzz{z{||{||{|{z{{{{{{|{{{||{{{z{yzzz{|{{{{|{z{z{z{zz{|{z|{{zzzzzzyz{|{|{{z{zz{zzzzzzzzz{z{{z{yzzzzz{|{{{|{{z{{zzzyzz{{z{{{{zz{zzzyzy{{{{{{|{z{{zyzz{{{{{{{}{zyzz{z{zzz|z{z{{{{zzzz{z|{{{|z|{zz{z{y{{z{{{{|{{z{{zzzz{{{|||{|{{{{z{{zz{|{{||{{{zz{{|{{||||{{|{|{{z{z{||{{{|}{{{{|{zzz{{}{{{|{{{{{{{{z{{|||{|{|z{{{{{||{|{||||{|{{{zz{||z|{||{{{z{|z{|||||{||}{{{{{{||||||||}|{{{||z{{||||||{||{{{{z{||}||{|{{|z{{{{{|{|{{}{}|||{|||{{|||{||||{z{z{{z{{{{{{||}{{{{z|{{{{{{{{|{{{z{{z|z{{|{||{|z{z{zzzzz{zz|{||{z{|zzz{{{z{||||{{{y{{{{{{z{{{||{{zz{z{{{{||{|{{{{z{yzy{{{{z{{{|{z{y{z{z{|zz{{{{{z{z{zzy{z}{|z{z{{zzy{z{zz{z{{{{zzzz{z{zz{z{z{{{zzzzzzy{zz{zz{|{{y{z{z{z{{{{z{||{{z{zzzz{{{{{z{zyzzy{{{z{{{{{{{{{z{zz{zz{{{{{{z{{zzz{{zzz{z{{{|{z{zzzzz{|z{{||z|{z|zzzz{|{|z{||{{|z{|zz{{{|||{{|{{{{zzz{{||z||{{{z{|{{zz{{{{{{{|{{{z{|zz|{z||{||zzz{{{|{{|{{{|{|z{|{{zz{|{}{|{{|{{z|{{||{||||||||{z|z|{{||{|||||{|||{{{{||{{|||||z{|z{{{{|{}|{||{{{{|{z{|{{{}|{}{|{{{{{{{||}|{{||{{zz{{z||{|{|||{{zzz{{z{{{{{{{{{z{{zzzz{||{{|z{{{z{zyy{z{{{|{{|{{{{yzz{z{{{|{|{{{zz{{{y{zz{{||||zz{{zz{{{{{{{||{|{zzzzz{{{{{{{{{{{{z{yzz}{{z{{{{{zzzz{zzz||{{|{{{zzzzyzz{{{{{z{zzzzz{yzz{|{zz{z{zzzzzzzzz{z||{{z{z{z{{z{{{|z{{{z{zzzzyzzz{{z{{|{zzyzz{zz{z{{{{|{z{{{{{zzy{{{|{{{zzz{{z{|{{{z{{{zy|z{z{z|y{{||{||{{z{zz{{{{z|{{|{{{z{z{{||{{||{{{z{{{z{{|||{{{|y{z{{{zz{{{{||{{{z{{{{{z{z|{{|}||{|z{{{{{||{{||}||zz{zz{{|{{{{|||{{{z{z{{{||||||||z|{{|{{|}}|||{{|{{{||{|{|{|||}{||||{{{{{}}||}{||{{|{{{z}|||||||{{|{{{{{|{||||||{{|{{zz{{|{||{|{{{|{zz{{{|{z{{||{{{zz{{{|{{{z|{z{zzyz{z{{{{{{|{{zz{z{zz{{{|zz|||z|{z{{z{||{{||{{{{{{{zzy{{|{{{{|{{{{yy{z{{|||||z{z{zz{{zz{z{z||{zzz{z{zz{{{{z{{{zzz{{zzz{zz{{{|{z{zz{zz{{{{z{{{{{zz{z{{zzz{{{{{{{{zzzzzz{|zz{{|{{zzz{{yzzz{|z|{|{yzzzzzzz|{{{|{|{{{{{{{z|||{{|{{|{z{zz|{{{{|zz|||z|{zz{zz{{{||||{z{{{{{{{{|{|{{{{{{{yz{{z{|z{|{{{{{z{{z{{|{{||{}|zz{zzz{{{{z{|||{{{z{{||{{{|||{|{{{z|{{z|}{{|}|{{{{{{zz{{{|||{||{y{{{{z||||||||{{{|{{|{{|||{}|||{{||z{{{{||}|{{|}{|{{|{{{{|}{|||{{{{{{z{|||{|||{{{{{z{||||||||{|{{zz{{z{{|{|{||||{|{zy{{|}{{{{||{{{{{z{z{{||{{{{|{zz|{z{{{{{{|{{z|{z{{{{{{{{{{||{zzz{{{z{zz{{{||{y{zz{z{|{||{{|z{{{zzz{{{{{{{{|{{z{z{zz{z{{z|z{|z{{y{{{{{zz{{{{{zzz{zz{zz{|{{{||zzzy{zzz{{{z{|{{{{zzzzzz{z{z{||{zz{zzzzzz{z{z|{||{{zz{zzz{{{z|z|yzzzz{zzz{z|z{z|zz||z{{z{{{|{{{{{{{z{zzzzz{{{{|{|{{{{z{zz{{{{||}{z{zz{zy{{||{|{{{{zz|{zz{|||{{|{z{|{{zyzz|{{{{|z{{{{{{z|}|z{{{z{{{{|{{{z{||{{|{|{{z||{{{||{|||||z{{{{{zz}|{||{{{}z{{{{{z{|{{|{|}|{{{{|||z||||{|}|z{{|{{z|{|}|}|||{{|{{{{||{||{}}|{{{||{{{|||{|}||{z{|z{{|||||||}z|{{{{{{{z||||{||{z{{{yz{|{|}||{zzz{{z{z{|{|{{{{zzzzzzzzz{|z||||z{zzzz|z{|z||||{{{zz{z{z{{{{|z||{z{z{z{{{{z{{{||{{zzzz{{{z{z{||{zzzzzzzzz|z{{{{{{zzzzzzz{{|{{{}zyyz{zz{z{{z{{y|{yzzzzzzzz{{z{{{|zzz{zzz{z{z{{{{{z{{zz{zz{{z{{{|{z{zzzzzzzz{z{zz{{{zz{zyzzzzzz{|z{y{{z{z{{{zzz|||{{{{zz{z{{{z{z{|{z{yz{zzzz{{z{{|zz{{{{zzz{|||||{|zzz{y{{{{{{{|z|{zz{{z{zz{{{{{{|{z|{{{z{{z|{{||z{{{{z{{{{}{{{}|{{{zz||z{{{{|{|||||{z{z{{|||{|{|{|{|{|{z{{|{|{|}|{|{z{|{{|||||||}}{{|{|{|{}|||{||{{{z{{{|{|{||{|||{{{zz{z||{{||||||zz{{{|{{}|||||z{{{z{{{{{z|{||{{z{zz{{{z||||{|{{z{z{zz{{|{{||||{{zzz{zz{|{|{{{||}zz{zzz{z{{{{|||z{z{{{zz{|{|{{|{|{{zzz{{{||{|z|{{{{{|zz{{{{{|||{{zzz{zy{|{|{{z{{{z{{z{zz{||z{{{z{{zz{z{{{{{||{{zz{{zzzz{{|{{||{{zzzz{z{{{{{{|{{z|{{zzz{{|{{{{|{{zzzzy{zzz{{{{|{{{zz{z{zz{|z{|{{{|{z{z{z{||{{{||{{z{z{z|z{{z{{{|{{zzzz|{|{{{{{|||{{z{z|y|{{{{|{|{|zz{z{{{z{{{}{zz{{z{|{z||{{{|{{{{y|z{{z{{||{}|{{{|y{{{{{|{{}||||{{{{{z{||{{||||||{|{{{{|||}|||{|{{{}{{{||}{||{|{|{|{||{|{|||||}|{{{{{{{{{}|}||{|{{{{{{{|||}|||}|{{{zz{|||||||{{|{z{||{{}{{|}}||{{{zz{{{||{|{|}||{z{{{{z{|{{||}|{{{{|yzz|{{}{|{{{zz{{z{{zz||{{|{{{zzz{{z{z|{{|||{{{yzzzy{|{|{{|{||{zz{zzz|z{y{{|{{{z{y{z{{||z{{|z{z{{zzz{{z{{|{{{z{zzzzzzz|z{{|{yz{zzzz{z{{{{{{{yzyyzyzzz{{{{|{z{y{zzzyz{{{z{{z{{|zzzzzzz{{{z{{{{zy{{{{{zz{zzz{z{{z{zyzz{{{{{|{{{{zz{zzz{||||{|{||{z|z{{z{z{{|||{yzz|z|{{{{zz|||{{{z{yz{{{|||||z{{{|{z{{z{{|{|{{zz{{zzzy{||{|||{{z{{{z{{{||z||||{|{z|{{z{{{|{|||{z{{{{{{{{||{|}{{|{{{{{z||{{||~{{z{{zz{{{{{{{{|||z{{{||{{{{{||{||{{zz{z{{}|||{|||{|{{{||~||||{|||{|{{{|{|||||}|||{{{|z|{{{{|{{}}{|z{{{{{{||||||{{|{{{z{{z|{{{|{|{{{{{yz|{||{|}z|zzz{{{zyz{|{{{{{{{zz{z{zz{|||||{z{{{z{z{{z{{|||{{z{{zz{z{||{z{||{{{{zz{z{z|{{{{{{{zzz{zzz{||{|{{z{{{zz{{{|{{||{{{{{zzz{{zzz{{{||z{zzzzzzz{|{|zz{zz{zz{yz{{{z{{{|{z{zzzzz{{{{{{{{z{{{zzzzz|{{{{{|{{zzz{zzz{{{{|{{zzz|{{|z{||{{{{|{{{{z{{zz{|{{z|{|{{{zz{{{{|{{|{}z||{zzz{{{{z{|{|{{{{{z|{z||}|{{|{{{zz{{{z{{||{||{{{zzzzy{||z{|||{{{{{z{||{}|||{|{{{{{{{{{{{|{|z}|{{{{{{{|}|{||{{{{{{|{{||||{||}|{{|{{{||z||||}}|||z|{|{{|}||}|}||{|{{|{{}|{|||}{|z|zz{z||||{|||}|{|{|{{{|{|||{||||zzz{{|z|||{|{|{{{{{z|z|{{}{||{{{zz{z{{{||{{{{{{{{zzzzzzz{{|{{{{z{{{zzzz{{||||{{{zzzyzy{{{{|{|{|zz{z{{z||{{{{{|{z{{{yzy|{z|{{{{||yyz{{z{{{z{||{zz{|zzzzz||{z{{{{yyzy{{z{z{{z{{|{zzzz{zzz{|zy{{zzyzzz{yz{{{||{||{zzz{yyz{{|{{{{|{zzz{y{zzz{zz||{z{zz{z{z{{{z{|{|{zzzzz{z{{z|{{||{zzz{zzz|||{|{{|{{{zzz{{{||{|{|||z{zzz|z{{|{|{|{{{{|zyz{{||||{|{{{{z|{|z{||{{{{|{z{{z{z{|{|z{|{|{z{{{{{|{|{||||{{{{z{{{{{}||{{|{{{{{z{{z{{{{{||{|{{{|{{{|}|{{}|||||{{{|{{{{||}||}z{{{{{{{}|{{|||{{{{|{{{|{|||||{{{zz{{z{{||{|z|{{|{{}{{||{z}{|||z{{z{|{z{{||z|||{{{zz{{|{{{{|{|{||{z{z{z{{|||{{zzzzzzzz{{{z{zz{{{z{|zz|{{{{|{{{{zz{yzzz{{zzz|{||{{z{z{zz{{{|zz}|{{zz{zyz|{|{{{{{|z{zzz{{{z{z{|z{{zyzzy{z{{{{z|{{z{zzz|{{{{{|z{{{zz{{yyzyz{{zzz{zzzzzyzz{{{|{z{{||zz{{zzzz|{zz|{{|zyzzzzzzz{{z{{zzzz{{z{zz{{z{{{{zzzzzz{zz{|{{z{{z|z{zzzz|{|{{{}{{z{{yz{z{{{z{{||{{{{z{{z|||||{|{{z{|zyz{{||{|{{{{{z{zz{z|{|||{||{{zz{|{{{{{{{||{|{{{{{{z{{{|||||{{{z|{{{{{{{{{|{{{{|z{{{|{{||||{}{{{{{{{{|}|||||{{|{{{|z{{|{|}||{{{{{{{z{|||{|}{|{{{{{|{|||{||}||{zz{|z{|{{||||{||z|{{{{|{||{|~|{{{{{{zz{{{{{||{|{z{{zyz{|{{{{|zzz|z{z{zz{{|{{z{z{{{zz{{{z||z{||{{{zzzz{{|{{{{|{|{z{{{{z{{{{|||{{z{z{zzzz{{{z{{|z{zz{{zy{{{{z{{{z{{z{{{z{{{zz{|{{{zz{yzz|{|z{{{{{{zyzzy{{{{|z|z|zzzzyzzzz{{{{{z|zzz{zzz{{{|{|{{|z{zyyzyz{|{{{{{|{{z{zz{z{{{{z{{{{{zzzzzzzz{{z||{|{zzz{z{z{{|{{|{|{{{zz{{{}|{{|z{z|z{{|{{||{|{|{{z{z{zz{{{|{|{||{z{{z{z|z{|{||{|||yz{|z{{|{|{{||{{{|{z{z{{|{|z||{|zz||{{||{{{|||{{{|{|||||{{|{||||{|{z{{{|||{{{|z|{|z{|{{{}|{{||||{||{{|{|{}|||{|||{{|||{|}{{|{||{{|||{{{{{{||}|||{{{|{{|{|{{{|}||{z{{z{z|||}||}{|{{{{||{{{|||{{|{{{{{{{{zz{|{||{|||{|z{{|{z{{{{{z{{zzzzz{z{{{{zz|zzz{{zz{z{{{{||zzzz{{{z{zz||{{z{{{zz{z{{{||{|||{zzyzzzz{z|zz{z{{{zz{{zzz{{{|{{{|zzzyzzzz{z{{{{{zzzz{yzy{z|{{{{|{zzzzzzzz{z{zzz{{zzyzzz{zz{z{{{{{zz{zz{z{z{z{{||z{{z{zzzz{{zzz{{z{{zzzzzz{z|{{|{{z{z{zzz{{z{{{{|{{{zzzzz{{{{{{{|zz{zzz|z{z{z{{{{z{{{z{z{|{|{{||{||{zz{z{{||{|{||zz{z{zzz{z{||{|{{zz{{zzz|{{}{|{|{{{z|{z{{|{{|||{{{{z{{{{||{|z{|||{{{zzzz{{|{|{|{|{|{{{zz{|{|{{|{{|{zz{{{{||||{{|{{{|{{|z{}|||{|}|{||{{z{|{{|{{||{{{|{|{||||{{z{||{{{{{{z{|{{{{|{|{{z{{z|{{{|{|{|{{zz|zzz{|{{{|{{{z{{zy{z|{{{|zz{{{{zyzzzz{|{|{{zzzzzzzzz{z{z{{{{{zzz{yzz{{zz{z{|{{zz{zzzz{||{{{|zzzzz{{y{{{{z{|{zzyzyzzz{|{z{||zzz{{{{zzz|{z{zz{{zzzz{zzz{{{{{{{zzz{zy{z{{{{z{{{zyy{z{zz{z{z{{{{{zzzzyzzzz{{||{{{{zzzzzyz{{z{z{z{z{{zzz{z{zz|{zzzz{{{{{zy{{||||{{z{z{z{z{z{{{|{{{{zzzy|z{{{{{z{|zzzzzzz{{{z{||{|{z{{zz{z{|{{{|zz{zz{{{{{|||z{z}{|{{{{|z{{|{{{{z{{zz{{z{zz||||{|{y{{{{z{{||{{|{||{{{{zzzz{|{|{{|{|z|{{{zz||||{{||{{{{|{{|z{{|||{|{{{{{{|{{||||{|{|{|{{{{{|||{||||{{z{{{{|{|{{||||{{{{{{{{{|{||||||{z{|{|{{{|{{{}|{{z{zz{z|{{|{z{{zz{{zz{y{{{|{z{{{{zz{zz{{{|{z{{|{zzzzzzz{{|{{{{{{{zz{{{z{|z{|{{||y{zzzz{|{{{{{|{{z{zzzzz{|{z{{{{{{z{z{zy{{{{{{{{{z|z|zz{{|{{z{{|{{{zz{{z|{z{{{{{zzzz{zyz{{{z{zz{zzzz{yzz{{|z{{|zy{z{zzzz{{{z{{|{z{z{zzz{z{{{|{{{z{yzzzzyzz{z{{{{zz{z{{{{z||{{{z}{z{z{yz{z|{{{z|{z{z{{zz{|z{{{|z|z{zz{{{z{{{y|||||z{|zz{{||{{{||{zz{zz{{z||||{|{{{{{{{zz{{{|{{|{|{{{{z{{|{|{{||}|{{|{|{|{{|{|||||{{{z{{z{{||}|}||{{|{{{}z||}{{|}|{{{{{|{{|||{|||||{z{{|{{{|{||{{||{z{{{{{|{{{{||{|{{{{z{{||{{|||}}{{|||{z|{{{{||}{{{|zz{{{{|||{{{{zzzz{|{{|{{|{||z{{z{{zz|||{|{{{z{zzzz{zz||y{{|{{{zy{{{z{{{||{{|{{z{z{zz{{{||{||{zz{{{yz|{{{{z||zzz{zy{z{z{{{||{{z{z{z{{z{{z{{{z{z{z{zzz{|{|z|{zzz{zz{zzzz{{z{z{zzzz{{zz{{{{{{}{{z{{zzy{{z|{||{{{{{zz{{{{|z{z||{z{z{zz{zz{||{{{{{zzzzz|z{{z{{{{{z{{zz{zzz{{{{{{}{z{{{zz{{{|z{{{{|z{z{zzz{{||{|{|{{|z{{{{|{|{{{|{{{{{{y{{{|{||{|}|{z|{{z{z||{|{}{{{{z{{z|||{z{||{|{z{z{{{|||{{|||z{{{{{{{||{|{{||{{{{|{z{{}|{|{}{|z{{|{z{{{|||||||{|{{|||{|{|{||||{{{{{{|{}}{|{||{{{|{{|{|{}||}}|{z{{{|{||}|{||}|||{{{{{{{{{{}{|}{z{{{{z{|{|{|||}||zz{{zy|{||{||{{{{{{{{zz||{{|}{|zzz{z{z{{{|||{|{zzzzzzy{z{z{|z{{{zy{{{z{z{{{{|{{yz{{{{{z{|{z|{{{z{zzz{y{{z{|{{|zz{z{{zzz{{{{{{{{{{{{z{zz{|z{{{{{zzzz{zzzz{{{{{zzzzzzzzz{z{{{{{|zzz{zzzzz{|zz{|z{{{zz{yz{z{z{{|{{zzzzyz{{{{z|{{|zzyz{zzzy{zz{{{{{{z{{zzy{z{{{{z|zyz{{yz{{||{{z{|zz|{zyz{{}{{{{||zz{zyz{z{z{||{||{zz{{z{z{|||{zz{|zz{{{{z{|{|{|||{{{{{{z||{{{||||{z|{{{z{{|{{{|{|{{{{{{|{z{||||||{z{{{{{{{|||||||{{{z{{{||{||{|||{{{|{{||z{|{|||{{||{||z|z||||}|}|{{{{{z{|}{{{|{||{|{|{{|{{{||{{|{{{{|{{||{|{{|}|{{{{{z{z{|{|{{|{|{{{z{{{{|{|z{{|{z{z{{{{{{||{|{{zyzz{z{z{{|z{{{|{{zzzzzz{{|{{{||{z{zz{zzz{{zzz|{{{{z{z{z{|z{{{||{z{{{y{z{{|{{{{|zzzyzz{z|{zz{{{{{z{z{zz{{{{{{{{{{zz{z{zzzz{{z{{{zzzzzzzzzzz{{|{{zyz{zzyz{{|zz{{{zz{zyzzz{|{z{{{z{zzzz{yzzzzz{y{{{{{zzzzzz|{z{{{{zz{{z{zz{{{{|{|{{z{z{zz{{|{z{|z{{z{|zz{{{{z{{{||z{{{|zzz{{z{{|{|{{{{yzz{{|{z||{{{{{{{z{z{|{|{z|{{zz{z{{{|{{{|||z{zz{{{{{{{||{{||zz{|{{{|||{|{{{|zz{{zzz{z|||{{|{|zzz{z|{}||||||||{{|z{{{|{||{||||z{|{{{{{|||||}{|{{|z|{{|||{{|}||{{{{{y{{|{{{|{|{{{{{|{{{{||{{{|{{{z{|{zy{{||{||{z{{{{{z{{{{|{{{zz{{zzzz|{{{{{{{zzz{zzzzz||{{{{{zzzyzz{{{z{z{{|{z{z{zzzz{{z|{{{{{zz{{y{{z{{{{z|{z{yzzz{{{z{{{{{|zzzzzz{z{{{{{|{{{z|z{zzz{|{{z{{zz{{zzzzzzzz{{{{zzzyyyyzzz{{z{{|{zyzzzzyz{{{{{|{{zzzzzzzzz{z{{|{{z{{zzyzzz{{{{{|{{y{zzzzz{|z{{{{{{zzz|yzz{{}{{{{||z{z{z{{{{{{z|{{{{zzzz|{{{{|{|{{z{{zz{z{{{{{|{{|{{z{{z{zz}|{{||{zzzz{zz{z|{|{{{{{{{{{{zz{{|{|{{{}{z{{{{{z||{|{{{z|{{||zz{{{{||||{{{{{z{z{{|{{{|{|z{{{{{{{|{|{|}{{{{{z{|{|{{|}||||z{|{{|{|}|||||||{{|{{{|||{{z||||{{{{z{{|||{z||}||{{|{|{{||||{||{|{{{{{z{|{|{{|{{zz{z{{{{{||{z||{z{zz{y{{{{{|{{|{z{z{zzy{|{{||{{|z{{{zzz|{||{{}|{zyzzzzz|z{{{||{{zzzzzzz{{|{z{{{{z{z{z{z{{{{{{z{{{zzzz{{{z|{{|{z{y{z{zzzz{{zz|{{zz{{z{zzzz{z{|{{{zzzzzzz{z{z{{{{z{{zz{z{{|{{{|{|{zzz{{zz{z{{{{{|zzzz{zzzz|zz|{{{{zzz{zyzz{zzz{{{{zz{z{{zz{{z{|{{{{zz{zzzz{{|{|{|{{|{zz{z{{{{{{{{|{{z{{{y{{|z{{z|{{{{z{z{|||{{}{|{{z{{|zz{|{{{{}{|z{{{zz{{{|z|{{{{{|{{{{{{{||||||{{{||{{{|||{||}|{z|zzz{{{|{|}|}||z{z|{{{}|||||}{{z{|{|{{{|||{||||z{{{|{z{||{{|{|{||{|{|{|{||{|}||{{{||{{|{|}||||||z{{{|{|||}}{|}{|{z{{z{{||{|{{{{{|{z{zzz{|||{{{zzz{z{{{{z|z|{z|zx{z{zz{{{{{{|zz{z{zz{z{{|{{{|{{{{{yzz{z|z{{|{{|{{{z{{{{{{||z|z|{{{z{z{y|zz{{z{|{y{z{{{{z{{{{{{{{zzzzz{y{|{{z{{{z{{yzzzz{zz{{{{|yzzz{z{zzz{{z{{{{z{zyzzzz{{{{{{{zz{zzzzz{zzz{{|{z{y{zyyzzz{z{{{{{zzzzz{zzz|{{{|{zzy{zzzzzz{}{z{|{z{{zzz{|{{{{{{{{{{zz|{{{{{z|{||z|{z{z|{||{|{{{{{{{z{{|z{||{||{{{|{{z{{z{|{|{|}||{z{{zz{{{|{{{{{|{z{{{{{{{{|{|{{{{{{{{{{|{|||||||{z{{{{z|||||||{|z{{{|{{||}|||||z{|{{{|{{|{{|}|}|{{{z{{|{||||||||{{{{{{{{{{|{{|||z{|{|{|{{{||{|||{|z|{|{}|{|||||{{{z{z{z{|{{}|{|{{{{{{{y{{|{{{{{{{zzzz{{|{{{z{{{zzzz{yz{{{{z{|{{{{zzzzzz{{z||{{{{z{zz{zz|{z{{{||{{z{xzzzz{{{z{{{{z{zzzzy{z|{{{{{{{zzyzzzz{zzz|zz{z|{zyzz{|z{z{{{zz{z{zzzz{{{zzz{zzzyyzzy{{z{zz|{zzzzzzzzz{|z{{|{{z|{zzzz{z{z{z|{z|{z{zz{zz|{{{z{z{zzzzzzz{z{y{{zzz{zyzzy{{|{|{|{|{{z{{{z{{z{z|z{|z{zzyzzz{|{{{{{z{z{yzz{|{||{|}|{z{{{zz{{|{|{|{{{{{{z{z{{{|{|{|{{{zzzz{{{||zz{{|{zz{{{{{{{|||||{{{{{z{|{||{{{{||{||{zzyz{|}{|{{{{{{|{{{{|{||||}{{{{z{z{z{{{|{|{{}{{{{{{{{||{|||||{{}z{|{|||{{|{||{y{{{z{{||||{|{{{{z{{{{|{|{||||{z{{z{{{{|{{|||{{{zzz{{z{{||{z|{{{|zzzz{z{|{{{zzzzz{zz{y{|{zzz||{zzy{zzz{{{{{|{{{z{{z{zz{{{||{|zzzzzzzyz{z{{|{||{{z{zzyy{{{{{{||zzzzy{{{zzzz{{{{zzzzz{zzzz|{zz{{{{zz{yzzzzz{{z{|zzzz{zzz{{{{{||z{zzz{zzz{z{z{{{zzzzzyzyz{{{{{{{{zz{zzzzzzz{z{{{|{zzzzzzz{{{{z{{{zzz{z{zz{{{{{z{|{zz{{z{zz|{{{{{{{{{zzyzz|{{{{|z|{{{zz{{{{{{z{{{{zz{zz|{{||z}{|{z{{z{{{y{||||||||{|{{{z{{|{|}{{|{{{z{z{|{|{{||{{{{{|{yz|{{|{|||||zz{|{z{{|~|{|}|}{z{||z{z|{|{{|||{|z{{{{|{|{{||{}||{{{z|{z|||{|||{{{||{zz{|{||||}|{{z{|z{{|{{}{|{||{{|z{|{|{{|||||{{z{z{{{|}z{||{||z{{z{z{{{{{|{{z{z{z{yz{{{|{{|{{{zz{y{z||{{{z{{|zzz{z{{|z{{{|{{{z{{zzzz{zz{{{|{{{z{zy{z{{{|{{|{|{zz{z{z|{{zz{{|{{zz{z{z||{{{|{{{{zz{z{z{z{zz{{|{zzzzzzz{{{z{{{|z{|z{z{zyz{{{{{zzzzzz{{{z{{{{z{z{{{{z{zz{z|{{{{{zzz{zzzzz{{{{{{|z{zzzz{zz{{{{{{{{{zzz{{zz{{{{{{{z{{zzz{{|z{|z{||z{{{zz{y|{{z||||{{{{{{{{{{{{{|{||{{{{{z{{|{||||{|z{z|{zz|||||{|z{{z{{{|{{{{{{|{|{{z{y{{{{|{||{}{z{{{|{|{{|{}||{|{{{{{{{{{||}{{||{{|{||{z{{{||||||{|{{||{{{|{|{{|}{{z{{{{{}}{||||{{|{{{|{||||}}|||{{{z{{{|||{{}}||{{||{{z{||{{}||{{{{{{{{{z|||{||{{{{{z{{{{z{|||||{{|{y{z{{{|{z{{{{{zzyzy|{{|{{{zzz{zzzzz{{z{{{{{zzzz{{z{|{{|{{{|zz{z{zzz{{||z{{{{{zzzzzz{{{{{||{{z{zz{{y{{z{|{{{{{{zz{zz{{|{{{{{|zzz{{zz{{|{|{{{zz{{zzz{{{|zz{z{{{zzzzzzzz{zz{z{zz{zzzzz{{z{{z{{zz{zyzzzy{{{{|{{{{{zzz{z{{{{{{{{{z{z{{zz{{{{{{|{|{z{|zz{{{{|||{|{{{z{z{z{{{{{z||{{zz{{{z{{{{{{||{{{{{z{{{||||{{{{|{y{zzz{{|||{{z{{z{{{zz|{{{||{||{zz|{{|{{||{|||z{{z|{|z||||{||}|z{{{{zz|}|||||||z|{z|z{||||||||{{|{||||{|{|{}}|}z{{z{{{|||{|}|{{{{|{{{{||{{|||||{z{{|{||{{{|||}|{{{{{{{||||||}|{{{{|{{{{{{{|||{|{{{zz{{z{||{|||{{z{{zzy{z|{{{|{{{{{z{zzz|{{{{||z{zzzzz{z{||{{{|{{zzzzz{z{zzz{|{{z{z{z{{{{{{|{{{zz{zzzzy{{|{z{{{{y{zz{zz{|z{{{{z{{zzzzzz{|{{{{{zzzzz{{zz{{z{z{|{zzy{yy{z{z{zz|{{|{z{{{z{{{{{{{z{{z{|zz{zz{{{{{|{zzzyzy{zzzzzy|{z|zzzz{zzz|{zz|{{zyzz{{zy{{{{{|{{{{z{{zz{{{{z|{{{z{zzzz{{|{z{{|{{{{z{{{{z|{||{||{{{{{zzz{z|{|||||{{{zz|{z{|||{||{{{y{{zz{{}{|||{|z{z{z|{{{|{{|{}}||{{{{{{{z{{||{|{|{z|{z{{{||{{{|{z{{|{{{{{{|||{||{{z{{||{}|{{}{||||{zz{{|||{||}||{|{{{{{|{|{||}{|{{{{{z{{{{|{{|||{{{|{{||{|||||||{zzz{||{{|{{{|{|{z|{{{z{{||{{||z{|z{{{{{|z{{{{}zzz{{z{{z{{{{|{{z{z{{zz{z{{|||z|{zzz{{{z{{z{{|{{{{{zzz{z{z||{{|||zz{zz{yz{{{z{{|z{{z{{{z{{{z|{z{{zzz{zzz|{{z{{{z{{{z{zzz{{z{|{{{{{z{z{zzz{|z|{{|z|zzzzz{{{{{{|{|z{zzzy{zy{}{{{|{|{z{zz{yz{z{{{|zzzz{zz{zz|{{z{{{zz{{z{zz{||{{{{{|{zz{z{{{{{||{{{{z{{{zy{{||{z||{|z{z{{{z{{|{|||{{{{{zz{z{{{{{|{|{z|z{{{{{|||{|{{|{z{zz{{z{|z|{||||{|{{z{|{||{}{|{|{{{z{z|z{|{|}~|{{|z{{z||{{{||{{{z{z{z{||||{|||{{{|z{{||{{|{||||z|{{|zz|||{||||{{{{{{{|||{|{|||{{{{{{{|||||{|}||zz{}z{{||||||{|{{|{z{z{{|{|{||||z{{{z{{z|{{{{|{z{|z{z{{{{{|{{{{{z{{{{zzz{{{z|{|zzzz{zz{|{{z|{{{z{{{z{{{|zz{{{{z{{{zzyz{|{{|zz{|{{zzz{{{{z{{z{{{{zzzzzzyz|{z{{{{{z{zz{yz{{|{y|{{z{zzzzyzzzzzz{{{{{zyzzzz{{z{z|||z{{yzzz{{{{z|{z{{{{zzzzyzz|{{{{zzzzzxyzyz|{{z|{{zyzy{zz{z|z{z{{{zzzzzz{{{{|||{{{||{y{z{{{|{z|{{z{{zz{z{yz{{{{||{{z{z{{zz{|zz||{{{{{z{z|z{|||{|{{{z{{{zy{{||{{{|{{{z{{zz{z||{{|{|{zz{{{z{{|||||||{{{{|{{{|}{{{}||{{{{{zz{|{||{||||{{{||z|{{|||{|{{z{{z|{|{{|{{}|{|{|{{|{|{|||{|||{{{|{{{{{|||{|{||z{{{zz{z{{{{||||{{|{{z|{||{{||{|{{zz{{{{|{{{{|}|{z{z{{z|{{|{{||{{|{zzzy{|{{{{z|{{{zzz{{z|{z{z{{{{z|{zzz{{{{||||z{zzzyz{{{zz{|{{{{zzz{z{{{{{{|{{{zzzzzzz{zzzz{{{|z{zz{zyz{{zy{z{{z{z{zz{{{{{z||{{z{{yzzy{|{{zz{|yzz{zzzzz{{{z{|{zzz{zz{yzz{{|{{{zz{{zzz{{z{{z{{|{{zz{zzzzzzzz{{zz{zzzz{y{{{z{{|{{{{yzz{y{z{{{{{{zz{zzzz{z{{z{|{|{{{z{{{zzz|{{|{{z{{yzz{z{{{{{|{||{{zyz{zz|{{|{{{{{|{{z{{{{|{{{||{zz{{{z{|{{{z{{|z{{z{{{{|{{|z{||{|{|{z{{{{{{{{||{{{|zzz{{||||||}|z{{{{{{|||{{{|{|{{{z{{{z{{{|||{|z{z{{{z{|}{|}{||{|{{{{{{{{||}{|{zzz{{{z{{||||{|{||z{|{{|||{}|||{{zz{{{{{{z{z{||{{{{z{zz|z||z{||{z{z|y{z{{{{|{|{{zzzzzzzz{{z{}z|z{{{{yzzz{{{y}{zz{zz{zzyzz{{|{}{{|zz{yz{z{|z{z{{{zzzzzzy{{{{{z{z{{{zzz{zzz{zz{zz{z{zzzzz{|{z{{{zz{{zzzzz{zz{{|{|{yzzzzyzz{{z{{{z|z{zyzzzz{{z|z|{{zzzyzzzz|{{z{{{{zz{zzyy{zzz{z{z{{zzzzz{{{z{z{{{zz{{zzzz{{z|{|{{{z{{z{{z|{{{zz|{{z{{zz|z|z{{{{|{{{|{zz{{{{{{{{|{|z{{{|zz{||{|{{|{z{{|{{z{||z{|{|{zz{{{zz|{{{|{{|{{{{{{z{{{{}{{|{{z{|z{|z||||||{{||{{|{z{||{{|||{{z|{{{{{{|||{}}{{{{z|{|{||{||||}|{|z{|{z||{|||}||{{{{{{{||{{||{||{{{zzz{|z|{{{}|{{{||{{{||||||{{z{{z|{z{{{z|{{||}{{zz{{{{{{{{{|{{{z{zy{z{{{{{|z{{z{{zyzz{{{{yz{{z{zzyzz{|{|z|{|{{z{zzy{z{{{{{{z{zzz{zz{{{{{{zz|{zzzzzzzz{{{zz|z|z{zzz{zy{{{z{{|{{{zzz{y{{{{zz{{z{zyyzz{zzz{{{{{z{{{zzzzzz|{{{{{z{yzzz{zzz|{{|{{{{{y{zzzyzz{{zz|{{yzzzzzy{{z{{|z{{{yzzz{zzzyz{{{{zz{{z{zz{{{z|{{{{zz{y{z{z{zz{{z|{{z{zz{{|z{{|{{|{{zzzyzz{{{z|z|{{{{{{zzz{{{{{||{{{z{{{z{{||{{{{{z{z{{zz{{{||{{|{|{{{{z{{{{||{||{{||{{{|z{{{{z|}}{{z{{{{z{{|{{{||{{{{{z|{||{||{||{{}{|{|{{{{{|||||{||{{z|{|||||||{{{}{{|z|{|{|}{||zz{|zz{||{{{{||{{{{{{{{|{|{||{{{{{zz{{z{{|{||}{{{z{{{{{{|z|||||{z{z{z{z{z|||z{|{z{yzy{z{z{z{z{{zz{zyzzzz{{z{{|{{zz{zz{z{{{{{{|{{zzzzzz{{z{{z{{|{zzyz{yyz{|{{z{|zzz{z{zyz{{{{z{{{|{zzz{zzz{z{|{zzzzzzzzzzzz{{{{{zzzzzzzzzz{z{z{{{zzzzyzzz|{z{{{{zzzzyyyz{z{{{z{{{yzzzzzzyzzzz{z{{zzzzzz{y{zz{{z{zzzz{zyyy{{{{z{{{{{z{zz{{{|{z{{|{z{{zz{{{{{{{{|{{z{z{z{y{{{{|||{{{zzzzzzz{|{|{z{z{{{z{zz{{{{{||{{{{{{|{y|{{{{|{{{{{zz{{{{{{|||||z{z{{z|{|||{{|}{{{z{{zzz{||{}|{{|{{z{z{{|}{{|}{{{{{{{|{{{|{|{}{|{{{{z{{{z|{|}||||{|{z{{|{{|z||{|z{{z{{{{|||{||||{{{z{{{{|{{||{||{{{{{y{{{|{|{|{{|{z{yzzzz{{|{{|{{z{z{z{y{|{{{{{{z{z{zzzz{z{|{z{|{{zzzz{{{z{{|{{{{{zzzzzz{|{{|||zzz{z{{{z{||z{zz{{{{zz{{y{{{{{{{{{zzzz{zz{{z{|{{z{yzzzzzz{z{|zzz{zzzzzzyzzz{{zz{{{zxz{zzyzz{z{z{{{zzzz{z{{{{z|{{{{zzyyyzz|{z|zz|{{zzzzzzzz{zzz{zz{zz{|{z{{{{{z{{{zzzzz{zz{z{{{{{{{zzz{z{z|{{{{{|{{{{{yz{{z{{{|{{{z{z|{{{{||{|{{}|{{{{{z{{{{{z||{|{zzzzzz{z||{{|{|{{z|{xz{z{{{{{{}{z{{z{{{{|}|{|}|{{||{z|{{{{|{|{|{{{{{{zz{|{|{|z{|{z|{{|z||{{|}|}|{{{{||{{|z{{|{|{{{|{{|z{}|{|||{|z{|zz{z{{{|{|||{{{{{{zz{|{||||||{{|z{z{{{z|||}|{z{{zzzz{|{{{||{{{z|{{|{z{{{{{|{{{{z{z{{{{{{zz||z{z|{zzz{{{z|{z{zz{|{zzz{|z{{|||{{{z{{{z{{{{z||{zzzz{z{z{z{{z{|||zyzzzyz{{{|{{{||{z{{zz{z{{z{{{|zzzzzzzy{zyzz{{|zzyzzzzzz{|zzz|}z{zzzzyz{|{{{{}{{zy{z|z{zz{z{z|{{|{{z{zz{{zz{{{{zyz{z{zzzz{{{z{{zz{zzyz{z{{{z{||z{{z{zzz{{{{{||{{yz{{zzz{{|z{|{}z{z{z{zzz|||{{||{{{{{|{y{{{|||||{{z{{z{{{{z{{|}{z{{{z{z{{{{zz{||{{z{{zyz{{|{{}||{|{{{{{{z|{|||}|{{|{{z{z{{||{|||{z{{zzzz|{}{|}|||{{z{{|{||}}||||{z{|z{{||{{|{|}}}z{{{z{{{|||}{}||z|{{{{{{{{|||}||{{{{{{z{||{|{|}{{z{|{{{{|||{{|}{{{z{{{z{|{{|{||z{z{{z{{z|{{|||{{z|{zz{z{{{|{{z{{{z{{z{{{{{{z{|z{zz{zzz{z{|zz{{{{{zzz|{{{{{{{|{{{{yzz{zz{z|}zz|{{{zzz{z{{z{{{{{{{z{{{z{zz{{|z{{{{z{z{yyzz{{{{{{{zzzzzz{{{{{{{{||zyzzzyzzzz|{z||{{{zy{{z{{{z{{{|{zzzzzzz{{{|{{{|{zzzzzzyzz{{{z{{{zz{z{{{z{{zz|||{zy{z{zzzz|{z{{{{{z{{{{{{z{{{{{{{{z{zz{{z{{{||{||{zzzz{zz{}{{||||{{{{zzzz{{{|{{|z|{{{{z{{z|{|{||{{{|{{{{{{{{{|}{||{{{{{{{{{|{{|||{{|z{{|z{|z|{||||{z|{{{{||||{z{{{z|{|{|{{|{||||{{{{z{|{z||{||||}|{{{z{{z{}{||||{||{{{zz{{|||}|{||{{|{{z|{{{|||}|{{{{{{{{|{|}||}}{{{{{{{{{|{|{||{|z{{zz{{{{{|zz{{|{{{zzzy{{|z|{z{z{{{{z{zz}{{{{z|zy{{{z{z{{{|{{|{{{zyz{zzz{{z{z|{{yz{|{yy{{|{{{{|{{{zz{{z{zz|{{{|{{{zz{{{z|{{z|{{{z|zz{yz{z{z{{{zz{{x{zzzz{z{z{{|{zz{zzzzz{{{{{{zzz{z{z{{{z{{||{|{z{zyzzz{{{zz{||zz{z{zzz{{{{{{{|z{zzzzz{z|z{{|{|{zz{z{yzz{{{|}|{{{|{{zzz{{{{{{{{{zzz{z|zz{{||{||z{{zz{z{{{{|z{|{{{|y{z{{{{{{|{|{{z{zz{{z{{{||||{{z{{zzzz}{|{|{{z{|zz|{{{{|||}}{}z{zzz{{{{{z{||||{{{z{zz{{{{||||||z{{{|{z{{|{|}||{{{{{{|{{|||||||{{z{{|{{||{|{||}|{z|{{{z||{{|||||{{z{{|{|z|{{{||{{|{{{{{{|{|z|{{|||z{zzz{|z{|{|{|z{{z{{zz|{{{|{|{z{{z{{z{|{{|{z{{{y|zzz{z{{|{{|{{{{{{zzzz{{{{|{{{{{zzzyzzz|z|{{||{z{zzzz{z{{z{{{{z{zzzyzzz{zz{{|zz{{z{zz{{{{{||{zz{zzzzzz||zz{||{zz{zzz{{zz{{{{zzzzzzzzz{{|zz{{{{zzzy{zz{{{{{{z{z{{y{zzzzz{|{z|z{{z{zyzzz{z{{{{|{{zzzzzzz{z{{{{{zz{z{zyyz{{{{{|z{{z{{zzz{{}{{|{|{z{z{zzz|{{||{}|{z{{z{{|{{{{||{||{zz{z{z{|{{z|{{{z{z{{{{{||{{{|{{{z{{{{z{||{{{{|z{{{{zzz{{||{||{z{z{{z|{|{{|||||{z{z{zzz{{{z|{{||{{{|{|{||||{|||{|{{{{|z{||||{{||{{|{z{{{||{|{|||z|{|z{{||{|||{|{||z||z{{{|{{{}|{{{z{z{|{|{}{||{{|{|{||{z|{{{||{{{{z{z{{{z{{||||z{zzz{{z{{{{{|z{zzzzyyzyz{z|{z{{z{zzzzzzz{{z{||{z{zz{zzz{{z{{z{zzzzzzzy{z|z|z||{{y{zz{{{zz{{y|{|{zz{{yyzz|{{{|zzzz{zz{z{zz|z{||{z{zzzzzz{zzzz{{{zyy{zzzz{z{z||{{{zzzyzy{y{{zzz{{{{z{{zzzz{{|{z{{{zzzzzzz{{{zz|{zzzyzzyzz{{{{z{{||{zzzzzy{{{{{{{z{zz{zzzz{{{{|zz{{zz{{y{zz{{zz{{{{zz{z{z{{{|z{|{{{{z{{zzz{{{{{|{|{z{z{{{zzz{{z{{{{zzz{{{z{{{{{|{{|{{{{{{{{||}|{|{z{{{{{{{{{|}{|||{{{{{|zz|||{z|}||z{{|{{{{||{|}|{|{{{{{|{|{{{||||{z{{{{{{||{|{{|||{|{zz{{{|{|{{}|{z|{{{z{{{{{{{{|{{{|{{{{{|{{{|{|{{{{{z{{{{{|{{}|{{{{{{{{|{|||{{{zz|{{z{z{|z{{z{{zz{y{zzz{z{z{{{{{zzzzyz{{{{{z{||{{zzz{zz{z{{{{{{{y{|{{zz{{||z{{{{z{{z{zy{zz{{{{{z{y{zz{yz|{{{||{{{z{{zy{{{{{{{|{y{zzzzzy|{zzy{{{{zz{|zzz{{{{z{|{zz{zy{yz{zz{|z||zzzzzzzy{|{{{{{zzzz{zyzzz{{{z{{{{|zz{zzy{{z{z{z{{{|z{{zzy{{{{|{{{zz{{z{{z|{zz{{|{{|{{yz{{{{{{{{|z{{z{z{{|||z||{|{z{{{z{zz|{|||{zzz{zz{zz{|{|{{||{{zz{{{{{{||{{{y{z{{{|{{|{||||{|z{{z{z{{{|{{{||}{|{{z{yz{|{|{{{|{{{{{{{|{||{|z}|{{zz{|{|z{|||{}|{{|{{{{||{{||||||z{|{z{{|{|{||}||zzzz{zz{|{{|{||{z{{{{|z{{|||{{|{|{{zz{{{||z|}|||{{z{z{z{|||{{{{zz|z{z{{{{{z|{{{z{{zzzzz{{zz{z{{zz{{{z{y{{{{z{{{{{z{z{yz{zz{{||zzzz{zzzz{y{{zz{|{{yyzz{{z{{{{{{{{zzyzzyz{{zz{z{zz{zyzzyz{{zz{{{{zyzzyy{zzz{{zz{{zy{zzzzzz{{z{{{z{zzzyyzz{z{{{{{{zzzy{zyyzz{{{|{|{{zzzyyzzz{{z{{|zzzzz{zyzzzy{z{|{z{{z{|z{{{{{|{{{z{z|zz{|{z{z{|{yz{zzzz{|z{{|{{|{{{{z{{z{z{{||{{{{zzzz{{z{{{||{|{{{{{zzz|{|{{{}||zzz{{z{{||{{{{|{{{z{{z{{{||||||z{{|{{{{||{||{{|{{{{{{z{|||{|||||{{{{{{{{||||}{||z{{{|{{{||z|||{|{z{z{{{{||{|{{|z{{{{{{z{{{{{{}||z|{zz{{{{{z{{|||{zz||{{|{|{{{{{{{{{z{z{{{{|{||||{y{z{{zz|{{{{{{{z{z{yy{{{||{{zzz{zzzzzyyz{zzzz{zzzzzyz{zz{{{|{{yyzyzzzy{{{z{{{{{z{zzzyzzz|{{{{{zzzyz{zz{{{z{{{z{{{yyz{z{{zz{{{zz{{zzzyzz{{zz{{zzzz{y{{z{z{{z{{{zyz{z{zz{z{{z{{zzzz{{{yzz{{z{{|{{yzyyy{{zz{{{z{{zzzzzz{yzzz{zz{{{{zz{z{y{{z{z{{|yz{z{zyyzzzz{z{{zzzz{z{z{|{{{{{|{z{{{z{{y{{{z{{|zz|zy{yz{||{{{{z{{{z{{{z{|{{||{{{z|z{zz{|||{{{{|z{{zzzz{{{{{{{{|zz{z|{z{{|{|{{|{z{{{{{{{|{{|{|{|zzzz{{{z{{|{z|||{z{|{zzz{||{||||{{{{zz|{{|{||||{{|{z{{z{{|{||{{{{{|{z{{z{{||{{||{{{{{z|z{{{||{{|{|||{zz{{||{||}}{{zzz{zz{{{{}{||{{{{z{{zz|{{{|{{{z{{z{{z{{|zz{{{z{zzz{zz{z{z{{{{{z{|zzzzzz{{{z|{{zzzzz{z{{zz|{{{{z{z{zzzz{{||zz{|z{z{z{z{{{{{||{{zzzzz{z{zz{z{{{{zzy{{zzz{{{{|{{z{zzzzyz{yz{zz{{zzzzzzz{z{{{{z{{zzzz{zyzzz{{{{{z{zzyzyzzzzz{zzz|zz{zzzzzy{z{{{{z{zzyzyzzz{z{z{z{zz{zy{zz{|{z{{{z{zz{{zzzz{{{z{|{{z{zy{zz{{{{{|{|zzzyzz{zzz{{z{{z{{z{zyzzz{{{{|{{|{{{zzzz{|z{{||{{z{{z{z{{||{{|{|{{y{{{z{{{||||{|z{{z|{{{|{{|||||{{{{{zz{{|{|{|{|{z{{{{{{|||{{||||z{{{|{{|||}|{||{|z{{|{|{}|||||{{{|z{{z{|||{|}|{{|{z{{{{{{z|}||}|z{{z{{{|{{|{|{|z|zzzz{{{|{||||||{z{{{z{|||{|{||{z{zzzz{{z{{{|{{|zz{yzzz{{z{{||{zzzzyzz{||{{|z{|{|zzyz{z{zz{{{{|{{{zz{y{{{|{z|{{{{{{|y{y|{{|{{|{{{zz{z|y{{{z{|{z{yzzz{zz{{{zzzzz{z{zyzzzz{yz{{{zzzz{zzz{zz|{{z|{{{zz{{zz{{{{{{|{z{{yzzzy{{{{{{{{zz{zz{zy{z{{z{z||z{{zzzyzzzzz{{{z{zzzzzz{{{zz{|{{z{z{{{z{{{{z{|{zzzzzzzz{{{{z{{{{zz{{z|{||{{{{{{{{z{{zzzz{z{{|{zyz|z{{{y{{{{{|||zz{{{{zz{{||{|{{{{{|{{{z{{|{{||}{{z{{{|zz|||||||{{{z{{yz{z}{|{|{{{z|{{zz{|{{||||{{{{|{{{{||{|{}||y{{{{{{{}|{{|||{z{{{||{||{||||||{z{{{{|{|||{z|||{{{{{{{|{|{|{|}{z{zzzzz{|z{{{||{{{{{zz{{{{|{|{{{{{{{{zz|{{z|{||{zzz{z{zz{{z{{z{{z{zz{zz|{{{{{{|{zzz{z{{{{{z{|{{{yzz{z{z{{{|zz{{z{{zzz{{|{{zz{{{z{z{{z|z{{{{z|{z{zzzzzz{z{{{z{{|z{zz{zzz|{{{z{z{zyzy{zzzzz{zz{{{{zzzzzzyzz{z{{{|z{{zyzz{{{z{z{{|z{zzz{zyzz{{{{z{z{zzzz{zz{{zz{{{{z{zz{zz{{{{|{{{{{z{zzzz{||{{{{{{{{{zz{y{{{|{{|{zz{{zz{z{{z{|z{|{{z||z|z{|{|{{{|{{zzz{{{{|{{|{|{|{{{{z{{|{|z{z||{z{{{{{zz||{{|{|z{z{{{{{z|{{|{||{zz{{zz{{|||{||||{{{{{|{~}|{||{{{{{|{{{|{{|{||{{|z{{{||{{|||}}}{}z|{|z||}{||{|{|{{||zzz{{|{||{}||zz{{{z{{|{|}{|{zz{z{z{{{|{{{|}{{z{{{{z{{{z{z{{{{z{{{{z{{|}{|z{zzz{zzzzyz|{|{{{{{{zz{zzz{{{{{zz{zyzzzzz{{z{{{{{z{zz{zzyzz{|zzy{{zz{zzzzz{{{{{{{{zz{zz{zzz{z{z|z{{{z|zzyzz{zzz{z{{yz{zyzz{{{{z|z{z{z{zzzz{{{zz{{zzzzzz{z{zz{z{{|{{zzyzz{zzz{{z{{{{zzzzzzz{zzz{{{{{{zzzzzzzz{{zz{z{zzy{{{z{{{|{{{{{{zzzzzzz{{{{{|{{zzy{{zz|{zz{{||{{{{zz{{|{|{{|{z{|{z{zzz{{|{{{{{|zz{z{{{{|{{{{|{zz{{z{zz{{|z{{}{{{{{{z{{{{{||{}{z{{z|z{{{|{{|||{|z{|{zzz{||||{||{{z{{zz|||||||||z{{{{z{z||{|{||||{{|{z{{{|||}{||{{||{{|{||{|{||||{|zz{z{{|||{|}||{{{{|{z{|||||||{z{{z{zz{||||{|}|zz{zz{z{{{|z||{{z{{zz{{{z{{{}z{z{zzyzzzzz{y{{z|zzyz{yzz{zz{{{z|zyyyzz{z{{{z{{{{yzyzz{zz{{{{zz{{{{zyy{zz{z{{{{{|z{z{zzzz{{zz{{|{zzzzzzz{{{{{{z{{zz{yzzzz{{z{y{{{{zzz{yzzz{{{||{zzz{zzzzzz|z{{{{zz{zz{zzzz{{z{{z{z{yzzyzyzy{zz{y{z{{zyzzzz|z{{|z{zzz{z{zz{{{{||{z{{zz{z|yz{zz{{{{{zzzzz{z{{{{{{{{z{{zz{{z{{{z{{{{z{{z{z{z{{{|{{z{{{zz{zzz{|{{{{|{{z{{{zzz{|{|{|{{z{{{z{{{{{|||{||{{{{{{{z{|{|{|{{{{{{{{{z{}|{||{{|{z{{{|{|||{|{|{{||z{{{|{|{{{}|{|{z{z|{{{|{||||{{z{{z{{{|{{{{z|{{z{{zz{z|{z{|}||{{{{{zz{|{{||{{|z{z{{{z{{{{{{{||{zzzz{{{{{{|z{{|zz{y{yzz{{zzzzz{zzzzz{zy{{{|{{{{{{zz{zzz{{z{{{{{|{yy{yzz{zzz{|z|{zzzz{zyz{|{{z{{zzzy{{z{|{{||zy{{zzzz{{z{{{{{{{|{yzyzzzzz{zzz|{{{{zz{z{zzz{|z{{z{z{zzyzz{z{{y{{zz{zzzzzz{{{{{{{|zz{zzzzyz{{{{{{{zzzzzzzzz|{{z{{{zzzz{zzy{{z{{|z{yzzzz{yzz|{{{{{{{zy{{z{z|{{z|z{}zz{{zy{z{{{{{{|{{z{zz{zzzzz|{|{{z{zz{{zzz|z{{{{z{z{z{zz{|{{{{||z{zzz{zzz|{{{z|{{{{{}z{{{{{|{{{||zzz{{{|z||{{||{}{{{z|{{z|||||{{||z{{z{|{|{{|{{{{{{|{z|{{{|{||||||zz{{||{{|{{{|{{{{||zz{z|{||{{|{{{{z{{z{{{||{||||{{z{{zz||{{||||{z{z{z{{{{{{{||{||{zzzzy{|||{{{{zy{zzyzz{{zzy|{zzyz{{z{y{zz{{{{|zzzzyzzy{{z{{{{{zzzz{zzy{{{z{{{|zz|zzyz{zz|z{|{{z{yyyzzz{z|{z|{{zzz{zzzyz{z{{{{zz{z{zz{{{z{{z{zz{{zzzzzyz{zzz{{{zyyzzzzz{z|{z|{yz{yzzzyzzz{{|{z{zz{zyyzz{{y{z{{{{zzzzyzzzyzz{{{z{zzzzyzyz{zz{{{{zzz{z{yz{{{|{{|{zz{zzy{yz{z{{{z|zz{zz{{z{{{|z|{{{zz{zz{zz|z{|z{{{zzzzz{{zz{{{|{|{z{zz{zz{{{|{{{{zz{zzz{z{|{{{||{z{{{{{{|{{{{{z{{{{{z{{{{{{{|||}{{{{{z{z{{{|{|||||{{{{z{{|{|z|||{{{{{{z|{||{|||||{{{{{z{{{{||{{{{{{|{{z{{||{||{|{|{{{{{{{z|z||{|{{{{|{{z{{{{|||{||{{z{{{{{{|{|{||{{yzz{{{{{z{z{|{{|{zzz{{z{{{z|{{{zzzzzzz{{|{z{{{{yyzzzzy{{{{{|{{z{{{{zzz{zzz{z|{zzz{zzz{z{{{z{{|{zzzyz{z|{{{{{{|zz{zzzyzz{z{{{{zzz{zzzzz{zzy{z{{yzzzz{zz{zzzz{z|zyzzzyyzz{zzzz{zyyyzzzyzzzz{z{{{zzzyyyyyz{z{zzz|{zzz{zzyz{{{{z{{{z{zzyzzz{{z{{{|zy{zz{zy{{{{zy{|zyzz{{{zzz|{{{{{{zy{zzzz{{zzz|||zz{{zz{z{z{{{{|{{z{zz{{zz{z{z{{{z{{zz{{z{{{{{{{{{z{{zyzz|{|zz{||{{zzzzzz|{{|{|||z{{|{z|z{{{{||{|{zz{{z{z}|{{{||{{z{z{z{z{{{||{{{z{zzz{z{||{||||{{{zzzzz||||||{|{{|{{|z{z{||{|||{{z{z{z{{|{|{|||}|zzz{{z{{z{|{{{{{zzyzzzz{z{{{|{{{{z{zzzz{{z{{{{|zz|z{{zzzz{|z|{z{zz{zzyz{{z{zz{{{zyyzz{yz|{z{{{|{{yyy{zy{z{|{{{|{z{zz{z{{z{{zz{{z{zyzzzzzz{|{{{|zzzz{zzz{{zz{z|{zy|y{yyzzz{z{z|{|zyyzyzzzz{{{z{zzz{yyzzzzz{|z{{z{zyzzzz{z|{zz{z{zz{zzzyyz{{zz|{|z{zyyy{zzyz{yz{{{zzz{{zzz{z{{|z{zzzzz{zy{{{z{{{|{z{zzz|{zz{{{{|{{zz{zyzz{|z||{z|z|{z{{zyzz{|||{{{z{|{{zzz{z{{|{{{z{|{zz{{|{|z{{z{zzzzyzz{|{{z||{|{{z{z{z{||}||||{z{y{{{{{|z|{{{}{{{zz{{z{{||||{{|zzz{z{{|{|||{{}{z{{{z{{{||{{{{||{{z{{|{z{||{{|||z{z{{{{|{|{|{||{z{z{{||||{|{{||{|zz|{z{{{z|||{|{zzz{z{{{{{{||{{|zz{{z{{z|z|{||{{zzzzyz{{{|{z{{{{zzzzzzz{{{{{|{{{zzzzzzz{{|{|{{|{{{zz{{{z{{{|{||z{zzzzzz{{{zzz{{{z{{{y{y|{{|{{{{zzzzzz{zz{{yz{{zz{{{{zzz{{{|{{z{zzzzzzzz{{{|{z{{zz{zzzz{z{{{zzz{zzzzzz{z{|{{{z{}zz{zy{zy{{{{z{|{{{zz|zzzz{{{{{{{{zzyzzzz{{{|{zz{{z{{z{zz{|{z{{|{zzz{{z{{z{|z{|{{{z{{z{{|z{{{{{{{{z{{{{z{z|{{{||{{{|{zy{{z{z|{|{|{z{|y{zz{{{{|||{{{{{{{z{|{{{{{||{z{|{{|{z||||||{{|{zzz|{||z|{{||{{z{{z{z{{}}{{|{{z{{{{{{||||{||||{{{{|{|||||||{||{{{{|z{|||||{|}{{{|{{{{{|{|||}|||{{{{{{|||{|{|{|{|{|{{{{{||||{}{|zzz{|{z|z{{{}{{|{{zz{{{|{{{|||{|z{zzzz{z{{{z{z{zz{{z{zz{{{|{z||zzzzzyzzzz{{{{|z{zyzz{z{{{{{z|||z{{zzzzz{||z{{{zzzzz{zz{{|{zz{{zzzzzzzz{{zz{||{zz{zzzy{{z{zz{zz{zzy{zzz{{{{z{{{zzzy{zzz{z{{z{{|z{zzz{z{zz{{{{{{{z{{zzzzzz{z{||zzzz{{z{z{z{zz{z{{zyy{zz{y|z{{{{{zzzy{{y{{{z{{{|{z{{z{z{z|||{{||{zz{zzz{z|z{{{|{{{z{zzz{{|{|{{|z{{{z{{z{z{{{{{|{{z|z{{{z{{|z{|{|z|zz{{{zz{|{{{{{{{|{z{{{z{{{|||||zz|zz{{z|{{}{||||z{{{zzz{||{|{|{{z{{{{{{||||||||{{{|{{{{{|{|{||||{{{{||{||||{||||{|{{{zz{|z||||{{{z{{{|{z{|{|{|{||z{{|{{{{{|{{|{{{{zz{||z{||{||{z{{{zz{zy|||z{{{zy{{{z{{{||{{|{{{{z{z{zzz|{{yz{{{zzzzyzz{|{{{{{|{z{zy{{z{z{||{{|{z{zzyy{{{{{zz{|zzz{zzyzz{|z{{z{zzzz{zz{z{{{{z{zzzz{zzzz{z|zz|{{zzzzzzzz{zz{z{{{zzzz{yzz{{z{{|{zzzzzyyz{z{{{z{{zzz{{yzzy{z{|{{|zz{zzzyz{z{z{z{zzzz{{zz{z{{z{{||z{zzzzzzz|{{{{{{{{zz|zyzz{{|{z{{{zy{{zzz{{{z|{{{{{z{{z{zz{{{{{{{{{z{{{{zz{{}{{||{{{{z{{zz{{{z{{{{{{|{{zz{{{|{zz|zzz{{z{{z|{||||||{{{z{{|{{||{{|{{|z{|z{{{{|{|||{{{{|zz{{z|{|||}|{zz{{{{{|{||{|{{||{{{{{{|||{|{{|z{{{|{|{{{{||{|{|{{z{{{z{z{|{{|}{|{{{{{{{{|{|{|}|z{{{{{{{||{{|||||{{{zz{z{|{|{{||{yzy{zzz|z{{{z{z{zzzzzzzz{{z{y{{yzzzzz{zz{|{yz{zz{zxy{z{{{z{{{|z{{{{zzz{zy{zz|{{z{zzzzzzzz{{{zz{zzzyzzy{zz|zz{{{{z{zzzzzz{{{zz{{zyzy{zzz{zz{{{{{zzyzzz{zz{{z{{{{{zz{zzzzz{{{{{|{{z{zzyz{{{zz{z{|zy{zzzzzz{zyz{{{zzzyzzz{zz{z{{y{{yz{y{yz{{{{y{{{{{{z{z{z{{{{{{{{{zx{zz{{z{{{z{{|z|{zz{z{z|{{{{{{{zzz{{{zz||{{{{{{{zz{{zzz|{{{{{|{zz{{{z{{{|{z||{z{{{{{{z{|z|{{|{{{{z{z{z{{|{|||{{{{{{zzz{||{{{{{|z{{|{{{||{{||}}|{{z{|||{}{{{||{|z{{z{zz{|||||||{{{{z{{{||{|z|||{{{|zzz{{{{{{||{{|y{{zz{|{{{}|||{{z{zz{{z{{|{||||{z{z{zzz{{{{{{|{z{{{{zz{{|{z{z{zyzzzzzzz{{zzz{{{zzzyxzy{zz{{|{{{yzz{z{z{z{{{{{{zzzzzzzzz{z|z{{{z{{yyy|{{z{z{zz{zyzy{z|y{{zz{z{zyz|yyzyyzz{{z{{zz{zyz{yzzzz{zz{{yyyzzzzz{y{y|{{{zzzzzzzzzz{{{{{z{zyzzyzyzzzzyz{zzzzzzzzz{z{z{z{zzzzyzzzyzzzzz{{{z{zz{{{{zz|{{{{{z{zzzz{z{zz{{{|{zzz{zzy{{{{z{||{{zz{zz{{zz{{{{{z{z{z{zzyz{{{{z{|{zzyzz{{{{{z{z|{{{z{{zz{{{|{z{{|zyzz{z{{{{|{{|{{{{{{{{{{{{z}|{|{{y|z{z{z{|{{|{|z{z{{{z{{{|{{|{|||||{{z{zz{{{||{{{{{{zzz{{{{|||||{{z{y{z{{{z{{{}{{z{z{zy{{z{{||{|{zz{{{z||{|{{{{|z{{{z{z{z|{{{{|{{z{z{zzz{{{{{{||{y{yzyzz{{z{|{z{{zzz{zyz{{{{z|{{zzzzyzz{{{{{{{{{zzzyy{{z{{{z{{{|{zy{yzyzz{{zzz|{zzzxzzzy{z{{zy{|yzz{zzzyzzz{{{{{zzyy|zzzzz{z{{{zzzyzyzzzz{{{z{{{zzyzyzzz{{{{z{{zzzzyzzz{y{z|z{{zyzyzzzyzzz{|z{{|{zzzzzzyzzzzzzz{{y{zzzz{z|{{z{{{zzzzz{zz{z{|{{{z{zzz{zzzz{{{{zz|{zzyzyzzzz{{z{{|zzzz{zzzz{zyz{|{|{{{z{{z||{z{|{{zy{z{zz{{z|{{z|z{{zzzzzz{|z|{{{{z{z{z{yz{{|{|{||{{z|zz{{|{|{|{{{{{{{z{{{z|||{{|{|z{{{{{|{||||{{|{{{z|z{{|{z{{|{{|{{z{{z{z||||{|{{{||{{{z{{}|{{|{{{z{{{zzz{{{||}{{z{{{zz|{{{{{{|{z{z{{zy{z{{{{|||{{{zz{{y{{|{{|{{{z{{{zzzz|{z{z{{z{zzzzyzz{|z{z{{{zzyzzz{{yzz{{{{zzzzy{z{z{{{zz{{z{zz{yzzzzz{zz{|y{zyzzzzz{zzzz{|zzzzzzzyy{{{z{{{{yzyzzyyzz|zz{{zzyyzzzzzz{{zz{zzzy{yzyyz{z{zz||{zzzzz{yzzzy{z{z{{zz{yzzyz{z{z{z{zzzz{z{zzz{zzzzyzzzyzzzzz|zzz{{{yyzzzyyzz{z{{z{|{zzyzzzyz{{{zz{z{y{yzzyzzz{z{z{{zz{zzz{z{{z{{{{{zz{z{z{y{{{|{{{{z{{zzzy{z|{{zz|{{{z{{{{z|{|{{{{{{zzzz{zz{{{|{{{zzz{z{zz{{{{|||{{{{{{{zzz{}{{z{|{{zzzzz{{|}{|z{{{z{{zzz{{{|{{{{{{|z|{{{{z||||{{||{z{zz{|{|z|||{{{{zz{zzz{z{{{{|}{{z{{|zz{{{{{||z{{y{z{z{zz{z|{{|z{{{z{{{{{{||{z{{zzzz|yzz{|{{{{{{zzzzzy{yzzz{z{zzzyzzzzzzy|{{z{|{{{zzzzyzzz{|z|{{z{zzzzzy{{z{zz{{{zzyyzzyyz|{{{{{zz{zy{zy{{{{z{{{zzyyzzzzzz{zzz{zzzzzzzyy{yz{{yyzzzzzzyz{z{{{{zzzzzzzyzyz{z{z{{{zzz{yzzyzz{z|{{{{yzzzz{zzz{{{z{zzzz{yzyzzz{zzz{z{zz{zzzzz{{{{zz{{z{zzzzz{{zzzz{{{zzyz{y{{z{{{{|{{zzyzzzzz{y{||{|{{zzzzzzz{{{{z|z{{{{z{yzzz{{{|{|{zyzz{{{z{{{{{{|{|z||z{{{{{{|{|{|{{zz{{{{{{{|{{|||zz{{{{{{|{z{{{||y{{|{{{||{{||||{{{z{{z{z|{||{||{zzz|z{z{|{|||||{{z{z{z|{|{{{|||{{{z{z{{|{{|{||{{|{{|zz{||{{|{{}{zz{z{zz{{z{|{{|{z{z{z{yz{{{{{{{zz{zzzzzz{|{z{{zzyzzzzzzz{{{{{{{zzzzyyzy{z{{{z{{{{zyzzy{z{z{{{{{zyz{yyyzz{{{z{{{z{zyzzzz{z{{z{{{zzzzy{zzz{{yzz{zzzzzzyyzz{zzz{z{zyzz{yzz{zzz{{z{zyzzzzzyyzyy{z{{zzzzz{yzzz{zzz{{{z{zzzz{z{z{zzz{zzyzzyzzy{zzz{{{zz{zzyzz{{z{{{{zzzzzz{zzzz{{{{||zyyyzzyz{{|{{{{{z{zz{zz{{{{{{{{{y{z{yzz{{z|zzz|{{zzz{zzz{{{{{{|{{zzz{z{z{{|{{||{{y{z{zzz{{{{{{z{{{{zzz{z{z{{{{{|{zzz{{{{{{z|||||{{|{z{z{{{||{{{{{z|{zzz{||{{{||{{||{{{|zz{{{|{|||zzzz{{yz||{{{|{{z{{z{{{|{{|{{|{}{{zz{{{z{{|{|{{z{{z{{{|{{z{{{{}z{z{zzz{z{{z{|||{{z{zzzz{{{{{{{z{zzz{z{z{{{z{{{{zzyyzyzzy{{z{|{{zzyz{z|zzzz{{{{{z{|zzzzz{{y{|z{{{zzzz{z{{{zzz{{z{{zzyzzz{{{zz{{{z{{z{yyy{{z{z{z{{zzzzyzz{z{z{{zzzyzyyzz{zyz{z{{{{zyyzzzzzz{{z{{{yzzzzzyzz{z{z{z{zz{{yy{z{{{{z{|{{zyzzzzyz{zz{zz{z{zzzyzyzz{|z{z{z{zyyzzyz{{{z{{z{|{zzzyzz{{zz{{|{y{zzzz{{{z{z||{{{z{zzz{zz{z{{{{{z{z|z{z{{{{{{{z{z{z{zzzz{{{{{|{|{zzz{z{{z{{|{||zzz{{{|{{||}{||zy{z{{z{z{|{{||{|{{{{z{{{{||{{zz||yz{{{{z||{{||||{z{{{{{{{{|{{{|{{{{{{{{z{|{|{{|{|z{{z{{|||{||}|{{{y{{{z{||{|{|{{{{z{z{{{||{|{|||{z{z{{zzz|{{{||}{|zzz{{z||{|{|{z{{|zzzzz{{{{z|{zzzzzzyyzz{{|{{{{zzzzzzzzzz{{{z|{{yzzzyyzzzz{{{z{zzzyyzzy{{{{zz{z{zzzzyzzzz|y{{z{{zzzzzzy{{zz{{{{zzzyzyyzz{{zz{z{zzzzyzzzz{z{{{{{zyzyyzzzzz{|z{{zz{zzyy{z{{|{z{{{zzz{{zzyz|{|z{{zzzz{yyzyzzzzz{{zz{yzzyzzz{z{z{{|zzzz{{zzzzz{{zz{{z{z{z{z{z{{{zz|{zzzzzzz|{|{z{{{zz{zz{{zz{{zz{{z{y{z{zzz{zz{{{{|z{|{zzzz|z{{{z{|{z{zzzzz{{{{z{{|z{{{{zzz|{||||}{{z{z|z{z|{{|z}|{z{zzzz{{{{{|z{{{|z|{{zz{|{||{{{|{{{z{{{{{|{{||z}|z{z{{{{{||{{}}|{z{z{{{{z{{||{{{{zz{{{zz{|{{|{{|{{zz{z{||||{{|{}|zzz{zz{|{{{z{{|z{z|zz{z{|{{z{{{{{z{zzz{{{z{{{|{zzz{zzz{z{{{{{{{zz{zzz{z{z{z{{{{|z|zzz{z|{z{{{{{{yzyzzzzz{{{z{{{{{z{yzzyz{{{{{{|zzyz{{zzz{{{{{z{{yzzzyzzzzzz{{{{{zz{zyz{{{z{{{z{y{z{zzyzz{{{zz|{zzzzzyzzzz{z{|{z{zzzzzzzz|z{{z{zzz{{z{zzzz{zzz{{{zzzzz{z{z{{{{|{zz{{z{yz{{{{{{{z{zzz{z{z{|{{z{{{{y{zzz{{{{{||{{{z{{zzz{z{{{||z{{z{{z{z{{||{|{{{z{zzzz{zz|{{{y{{{{{zzz{{{{{{{{{|{z{{zzz{{|{{|{{||{{{z|z{{{|{|{|||{{|{zzz{{|||{{|||zz{{{z{{{}{{|||z{z{{{{{z{|}z||{|z{{{{{{{|||{|||{{{{{{{z{}}{{}|{{{zz{{{{z|z{|{|{{{{{|z{{|||{|{{|{{{z{z{zz|z{{{{|{{{{z{z{||||{{||{z{zz{{{z{{||{{zz{z{z{{zz{zz{{{{zzzzyzyzz|zzz{{{{zzzzz{y{zz{{{{z{zzz{z{{z{{{zz{{|{{yzyzzz{{{{{{{z{zz{yzz{{{{zz{z{{zyzzzz{z{zz{z|{yzyzzzz{zzzzzz{{z{zy{yz{z{zzz{zzzzzzyzzyz|{{zz{zzzzzz{z{{zz{{||{zzz{yzzz{{z{{z{zyzzyzzyzzzz{{{{zzzz{{{y{{{y|zz{|zz{zyyzzz{{{{|{z{{zzzzz{|{{{||{zzzyz{z{||{{z|{{zzzz{yzzz|||{{{{zzzzy{zzz{{{{{z{{zz{zzzz{{|{{{|||{{{z{{{{{{{{|{{{z|{{zz{{||{{||{|{{zzz{{{{|{{{|{|zz{}{{{}{{{{{}|z{|{{z{{{{|{{||||{{{zzz{{||{{|{||{{{{z|{||{{|||{{{{z{{{zz{{{{{||{{z|z{{{{|{|{{|}||{{zz{z|z{{|{|{{{zz{{{{z|{{|{{{{z{zz{{zzz{{{{z{zzzzzzyyz{{z{{{{zzzz{zyz{z{zz|{{zzzzzzyy{{{z{{|zzzzzzzzzzz{z{zz{yz{yzyzz{zzz{z{{{yz{yzzyzz|{y{{{z{{zy{yzz{|zzz{{zzzzyzzzz{zz{z{{zzzzzzyz{{{{z{{z{zzzzzzyz|{z{{{{zzz{yzyzz{{zzz{{zzyzyyyzzz{zz{z{{zzyzzzzz{{z{{{{{{zz{{zz{{z{z{{{zzzzyzzzz{{{{{{{zyz{{zz{{{{{z{{|y{z{z{zzz{{{zz|{z{z{zzz{{{{{|}{zzz{{zy{{{|{z{|{{{{z{zzzz{{{z||{{{{{{z{{{zz{{|{{{{{{|{|z{{{z{{|||{{z{{{{yz{{{|{|||z{{{{zz{|{|{{{{{|{{{{{{{{{{|}|||{z{{|{z{||{|{{||{{{z{{{||{{{{||{{{{{{{{|{|||{{|{|{{zz{||{{{{{}{{{{y|{zzz{{{|{|{z{zzz{|z{{{{||{{zzzz{yzz{{|{{{z|zzzzyyzzz{y{{{z{zyzyzyyyz{|zz|{{zzzzzyzz{zzz{{{{zzzyzyz{z{{{{z{{{{yzzzzyy{z{z{z{zzzyzy{y{{z{y{{{{{zzzzyzzz{zz{zzz{yyy{zzzyzzzzz{{yzyyzzyzz{zyzz{zyxzy{yzz|zz{z{{{{zyzyyzzzzzz{{z{{zyzzzyzzzyzzz{|zyzzyzzz{z{{{{{zyzzz{zz{{z{{{{{zz{yzzzz{{z{zzz{{zzzy{z{zz{|z|{{{y{zyy{{{|{zzz|{zz{zyz|zz{{zz|z{{zz{z{z{{{{{|{{{{zzz{z{{||{zz{zz{{{{{{|z{z{|z|{{{z{{{{zz|z||z|{|{z{z{{zz||{{z{{{|z{{{y{z||{z{{|{{{}zz{|{||{{||{|{{{{{{{z{|{}||{|{{{{{{z{{|{{{{|{{zz{{zz{|z{{{{{{z{z{{{{z{{{{}|||{zzzzzzz{{{{{{{z{zzzzz{z{|{{{{|{{{zz{zzz{{{zz{{z{{zzzyzyz{{{z{{|{yyzzzzz{{zz|{{zzy{zzzyy{z{{{{{{zzzzzz{z{z{zz{z{zzzyyzyz|{z{z|z|zz{yzz{z{{{{z|{z{{yzzzzz{z{zy|zzzzzzzyy{z{zyz{z{zyyzyzzzz{zzz|{z{z{zzzyzzz{{{{{{{z{zyzzz{{zzz{{{{zzz{zzyz{{z{{{{zy{zzz{z{z{{{{{{yz{yzzzy{{z{{{{{{zzzzzz{{{|{{z{{zz{z{zzz{{{{zz{|zz{{yz{{|||{{{z{{y{z{yz{{{{{{{{{y{z{yzz{z{{z{{{{{{z|zz{z|{{{{|{z|z{{{|z|{{|{|{z|z{{zz{{{{|{{{|}|{z|{|{z{{{{{||||||{z{z{{||{{{{|{{{zz{|{|z{{{z|z|{{{{{{{{z}z|||||{{{{zzz{{}{|{{||{zz{{zyz{{{{{{||{z{{|{z{{|{|{{|{|{{{z{|z{|||{{||zz{{{zzz{{z|{{{{{z{zzz{zz{{{{z{zz{yzzzzzz{y{zy{{zzzzyxzz{{{z{{zz{{zzzzyz{z{z{{z{yzy{zzy{z{zzzzz{zzzyzzyzzzzzz{z|zyzyzzzzzzzzyz{yzyyyzyyyzz{zzzzzzyz{yzy{{z{zzz{{zzzzzyzzzzzzz{zzzz{zzxzyz|zzz{zzyzz{zy{yzz{zz{z{zzzyzyzyz{z{{{{{zzzyyyyzzzzz{{{{yz{yz{yzzz{{{{{{zzzz{{zzzz{zz{|{{y{{zyyzzzz{{{{zzz{{zzy{{{zzz{{{|z{zzz{z{{z{{{z|zz{zyzzz{{z{zz||zzz{zyzz{{|{z{zzzz{z{z{z{{{{{{|{yzz{z{{z{{{|{|||z{{zzzzz|{|{|{{{|zz{|zyz||{|{|{|z{{z{{|z|{{{{||||zzz{{zy{|{{{|||{{z{z{{z{{{||{|{zz{{z{zz|{|{{{{{{{zz{z{{{|z|{{|{{zzz{zz{z{{|{{{|z{|zz{{z{|zz{{{{{z{{zzzz{|{{{{z{zyzzzyzzy{{zz{{{{z{zz{{zzz{z{{{|{zyy{zyzz{zz|zz{zzzzzzyzzz|{y|||z{yzyz{z{y{{zz{zyzzzz{zyzzzz{{|z{z{zzyzzzzz|z{{z{zzzyzzzzzz|zz{{zz{zzzyz{zzzz{zzyzyyzzyzzz{{{{{{zzz{yyzyz{zzz{z{zzzyzyzzz{{z{{{{zzyzyzyzz{z{z{{{zz{zzzzzz|{{z{{|{zyyzy{zzz{{{z{{zz{zzzzzzz{zz{{{yyzyz{zz{{{{{{{z{zzzzzz{z{zz|{{{yzz{zzz{{|{z{{|{{z{z{{z{|{{{{|z{{|{{{z{{|{{|{||{{{{{{z{z|{{|{|{{z{|z{{{{{|||{{{|z{z{|zz{z||{}{{{z{{z{z{{{{zzz{{|{{{{z{zz{|||||{{{{{{zz{{{{{|{{|{|z{{{zz{|{{||{|}zzzz{|z{|y{|{{{{z{zz{{z{{{z{z|||{zz{{zz{{||{{{|{{y{zzzzz{{|{||{{zz{zzzzz{z{zzz{{{zz{{zyzyz{z{{{{{{zz{{{y{z{{{{{z{zz{zzz{zz{{zz{|zzzyzzzyzzz|{{{zz{zyzzzzy{z{z||{z{{zzzy{z{{zyzz{zz{zzzzzzz{z{{{zzzzyzzzy{zzzz{{zzy{zy{zz{{{{{{zzzzz{yzzzz{|{zz|{zzyz{yzz{zzz{{z{{{zzzzzzzz{|z{{{z{zz{{zyz{zz{{z|{yzz{zzz{{z{{{{{{zz{{zzz{|{z{{{{{zzy{{{z||{{{z{{z{zzzz{{z{z{{|{{{{zzz{yyz|{{{{|{z{z{{zy{{{{{{{{{{zzz{zzz{{{||z||{z{{{{{{||{|}|||{{z{{zzz{{{{|{|{|zz|{|zz{{|{|||{{{{zz{{{|{{{{|}{z{{{{{{|z||{|{||{{|{z{{{||||{|}||z{{{{{{{{{{{|{|{{{{z{z{{{{}{|||{z{z{{{z{|zz{{{|{{z{{zzy{{{{z{{|{{{yzzzz{z{{|{{z{zzx{z{y{z{y|{{{yz{zzzzzzyz{{z{{{z{zyzz{zyzzzz{z{zzzzyzzz{{{z{|{{zzzzz{zz{{zz{{zzzyzz{zzz{zzz{{{z{zzzzzyzz{z{{{{zzz{zz{zzzz{z{{z{zzzzyz{zzzzzzzzzyzzyzyzzz{{{{{{{zzzzzzzzz|z{{|{zzyyyzyyz{{y{{{|{zzyzzzy{{zzzz{zzzzzzzzz{{{z{z{|{{zz{{yz{z{z{{{{yz{zz{z{z{{z{{z{zzz{zz{z{{{z{{{|zy{{zy{z{zz{{|{z{zzz{z{{|{{||{|{z{{z{{{y{z{{z|z|zzz{{z{z{z|{|{{{y{{{{{z{|{z{{|}|{zz{z{{z{{|{{|{{|z||z{{z{|{{|{{|{z{{|{{|{{|||||{{{zz{{{{{|{{|{|||z||{z|{{{{{|||||z{{{{|{{{{|{{|}|{{{{{{{{{{|{|||{{{zzz{{{|z{{{{|{{{z{{{zz{{||{z{z{{yzzzz{z{{{{{{{zzzzzzzzz{{{{|{zzzzzyyz{zz{{z{{{z{z{yzz{z{{|||z{z{zyz{{{{{|{z{zz{zzyyzz|{{{z{{{zz|z{zzz{|{{{{z{|zzz{zyy|z{zz{{z{zyyzzyyz{{zzz{|zzzz{yzy{z{z{{{{{zzzy{zz{{{|{{zzz{{zzz{{{{{|z|{{zzz{{zzz{{z{z|zz{|zyzzzzz{{zzz{{zyz{{zzzzzz{{|||zzzz{z{z{{zz{{||{{{{zzzz{{{{{|{{z{{{{{z{zz{{{{|{z{z{{z{y{|||||||{{{{{|{zzz|||{{{{{z{|zzz{|z{{|{{{|{|||{{{||{|{|{z|{z|z{{||{||||||{{{{z{{{{}||{|||z{{|{z|{|{|||{{{{{z{{{{{||{|||||{{|{{{{z|||||||{|{{{z|{{|{|||{||{{{{{{{|{{|{|||{{{{{{zz{{{|||{}{{{{{z{z|{}|||||{{z{{z{z{z||{{{{{z{z{{{{{{|{|{zzzz{z{z{zzz{|{{|{{zzzzzz{{{{{{{|zzzz{zzyz{{{z{{|{{z{yzyz{z{|zzz||z{{zzz{yy{z{{{{{{y{zzz{zz{{zz{{zzzzyzzzy|{{{{yzzz{zy{zy{{z{z{{{{yzyyyyyy{{{z{{{{{z{zz{yz{zz{{z{z{{zyyzyzyzzz{||{zzzyzzzzzz{zz{{{zz{zzz{yz{zz{{{{zz{zz{{zz{{z|{{{{yzzzz{z{{{{{zzzz{z{zyzyy{{zz{{|yz{{zz{zz{{{{{{z{z|z{{z{{|{{{|z{|{{{zzzz{{{{{|z{{{y{z{z||z{{{{||{z{zzy{{||{}{}||{|{{{z|z{{{|{||||{{|{z{{{{|{{||||{zz{z{z{{{||}||{zzz{|{|{|{{|z{|{{{zz{{z{|{||||||z{{|z|{|||||{||{{{{{{z{{{||}||||{{z{{z{z{{{{{{||{{z{{zz{z{{z{{{{{{{{z{{{{{|{z{z|{z{y{z{|||{{z{{{{{z{yzy|z{{{z{{zzzzzzzzzz{{z{{|z{yzzz{zz{{{|z{{yyz{zzzzzzz{zz{{z{zzyzzyzzzzzz{{{y{z{yzyzzy{z{z{zzz{zzyyzz{zz{{{zyz{zzzyzz{{{z|zyzzzzy{yzz{{zz{zzzyzzzzyzy{zz{z{zzzzzzzz{{{zzz{{zzyzzyzzzz{zz{{|{zzzzzyzz{zzz{{z{zzzzzz{zz{zz{{{y{zzzyz{z{|{{z{zzzz{zzzzzzz{|{{|zyzyzzyz{{|{z{|{{zzz|z{zz{{{zzz{z{z{{z{zz{{|{{|{{{{zz{{{{{{z{|{zzzzz{zz{{{||{z||z{zzzz{z{{||z|||{|z|{z{y||{{{{||{z{{z{{{{{{{{|||{|z{zz{{|{z{{|||{{{{z{z{{|||{{}{{{{{{z{|{z|{{|{|{zzz{z{{{{{{{|{|{{{{||{{{{{{{||{{{zzz{zzz|z|{{|{{{zzz{{z{z|{{{{|{z{zzz{z{{{{{{{z{z{zzyzyzz{zzz{{zzz{zyzyzzzz{z{|{{yzzz{y{{zy|{{{zyzz{yzz{{{{{{{z{zzzzy{xyy{{z{zzzz{y{yzzz{zy{{zz{yzzzzy{{{{zz{{z{zzzzzyzzzy{{{zz{zyzzzyyzyzzz{zz{zzyyyyzzz{{{{{{{z{zyzzyzzz{z{|{zzzyzzzzzz{yz{{{{{zyzzzzz|zzz{zzzzyzyzzy{zz{{z{{{{z{zyz{zz{z{{{{{y{{yz{{{{z{zz{}{{{zzzz{zz{z{{{{zzzzzzzz{{{{{|{{z{{z{zzzz{{{{{{{{z{{{{y{||{|{{|z{z{zzz{z|{{||||{|{z{{zz||{{||{|||z{z{z{{|{|{z{{{|zz{{{{{{{|z|{{|{{{{{{{{{z{{{{{{|{{{{{z{{}|{{}|{{z{{{{z{|{|{{{}{|zz{{z{{|||{{|{|{{{{{{z{|{{{{|||{z{z{z{z{|{{{||}{zzzz{{z{}{{{{|{{zzyzz{zzz{{{|zzzzzzzz{z{z{{{{z{zyzzyzzzz{z|{|{z{z{z{{zz{z{zz{{{zyzzzzy{z{{{{{{{{zyzzzzzzz{zz{z|z{{zzzzzz{zz{{z{zzyzzzzz{z{zzzzzzyyzzzyyz{{zz{{{{zzyzzzzz{{{zz{z{zzzzzyzzzz{zzy{{z{{z{{zz{{zz{{{zzzy{yzz{z{zzz{{z{{zz{{{z{{zz{zzzzzzzzz{{z{zzz{{zz{zzzyzz{z{{{|{zzzyzyzz{{{zz{{|{zz{zyzz{z{{z{{{{z{zzzy{z{z{|{{{zzz{zzyz{|{|z{|{{{z{z{z{{{|{{{|{{{zz{{z{{|{|{|{{z{z{zz{z{|{|{|{{{z{y{zzz{||||{{{{zz{|{{z{||{{|}||{{z{{{{{|{{{||||{z{{{z{{|||z|{z{{z{{{{{{|{{{{||zz{{zz{z{{|{{|}|{zz{{z{{{{{{{|z{{{zzzz{{{|{{{{|{z{{{z{{zz{{{{{{||zzzz{zzy|{{{|{zzz{{yyzzz{zz{{{{zyzzzz{zyzz{z{{{yzzzzzzyz{{{{{z{{z{yzyz{z{{{z||{zz{yzyzyz{|{zzz|zyzzzzzzzz{{y{{{zz{yzzzz{{|zy{yzzzzzyzzzzyzz{{{{zyzyzyzzz|{zzz{zzzyyyzzzzzzz{zzzzzzzzzzy{|z{z{{z{zzzzzzzzzz{{{{{{zyyyzzzyzz{{{{{zzzyyzzy{z|{zz|{z{zzzy{{{{{|{{z{zz{z{yzzz{{{z{{|{zz{zz{{zz{{{{{{z{{zzyzzz|{{{{{{zz{zzzzzz|{{|z{zz{{z{{zz{|zzz{z{zz{z{y{{{z{{|{{{y{zzz{{{{{{{{|||{{{{zz{z{||||{{{{z{z}z{z{|{{z{{|{{{{{{{z{{{{||{{|{z{{{zz{|{{|||{{z{{z{{{|{||{|{|{zzz{zz{{{{zz{||{{z{{zzz|{||{|{|{z{z{|zz{{z{{z||{z{y{{{zz{|{z|{zz{{zzzzzz{{{zz{z{yzzzyzz{|{z{z{{zzzyzyzzz|zzz{zzz{zzzz{z{|{z{{{yzyzzyzzz{zz{zz{{{yyyyzz{{z{zz{|{zyzzy{{z{z{yz{z{zzzzzzyzzzzzz{zzzzzyyzz{{z{{zz{zy{{zzz{zz{{z{{{{yzzzyzzy{z{z{z{zzzz{zyzyyz{|{{z{yzz{zyzzyzz{zz{{z{zzzyzyzzz{{{{yzyzz{zzyzz{{zz{zzzzzz{{z{z{zzz|zz{{zzz{{{{zz{{{{zz{zzzz{{{{{{zz{{{{zzzzy{|{{{|{{zz{zz{zz{z{|{{{{{zz{{z{z|z{{{{{{{z{zzzzz{{{z||{{z{{{{z{{{{{{|{|}zz{{zzzz|{{{|{|{{zz|z{z{|||{{{{|{z{{|{|{{z|{{||||{z{zzz|{|z{{|{||y|{{{{}}z{{{{|{{{{{{{z|{|{y{{|||z{||{|{|{|{{{|||zzz{zzz{{z{{{||{z{zz{yzz|{|{{{{{{{z{zz{{{{{{{{{zzzzzzyzy{yz{zz{zzxzzyyyzz{{z{{|z{zzzzzz{z{{{{zzzzzzzzzyzzz|z{{{zzzyzyyxzzzyzzz{zzyzyyzyzz{z{{z{{y{zzzzz{zzzz{{zzyzyzzzzzyzzz{zzyyzzyzzyy{z{zzzz{zyzyzz{zy{zzzzzzzzyyzzy{zy{z{{{zzzzzzzyyzyzyz{zzz{yyzyzy{{zzzz{zzyzz{{yzzzzzz{zzzzz{zyz{z{{zzz{yzzz{z{{{{zzz{{|yzzzyzzzzz{z{{{{zzzzzy{zz{{{{{{{zz{yyzyz{{{{{z{{zzzzzyzz{{zz{z{{zzzz{zz{z{{z{{{{zz{{z{zz|{z{{|{|{{zzz{z{{{{|{||}zz{|zyzz{||{|{{|{{z{yz{{{{{|{{{|{{{z{{{z{{|{{{||{{zzz{{z{|{{z{{{{z{{{{z{z{{{{{|{{{z{z{z{{{{{z{{|z|{zzz{z{{{{{||{{zz{zzz{{z{|{{|zzzzzzzzz{z{{{|z{{zzzzzzz{{zz{z{|zzzzyzzzz{{{z|{z{{zyyzz{z{z{{{z{{zzzzzzzzzz{z|zz{zzzzxzyzzz{{zz{zzzyzzzz{zzzyz|yzz{zzyyz{z{{z{z{yzzzzzyzz{{{z{z{yzz{yzzy{{zzzzzzzzy{zzz{zz{{z{{{{zyzzzzzz{{z{{{{zzzxzy{zzzzzzz{{{{z{yyzzyzzz{{{zzzzz{zzzz|{{{z{{zy{{zzyz{|{{{||{zz{{{zz{{{z{{z{zzzz{zzz{{{{z{{|z{{|{zz{{zzz{{{|{{z{{{zyz{{{z{{{|z{{z{zz{|{z{{{zz{z{{z{|{|{{|{{||{{zzzz{{||||{{||z{{zzzzz{||{|{|{|z{|{z{z|}{{|{{|{z|z{|||{{|{z|||{{z{{z{{{}{|{||||z{|{{{{{{|||||{|z{{{}||{|{{|{{{{{z{{{z{z{{{{{z}zzzz{zzz{{{{{{|||{{{z{{z{{{{{{||{z{{{y{z{{{z{{{{zzyzzzzyzzzz|{{{{zz{yyz{{{|{zz{{{zzzz{zzz{{{{{{{|z{zzzzzz{|z{{{{{zyzyy{y{z{{zz{{{z{yy{zzzz|zz{|{zzzzz{{{{zzz{z{{zzzzzyyyz{z{{zz{yzzzzy{zy{{zz{{{{zyzzzzzzz{z{{zzzzzzzzzzzz{{zzz|zzyyzyzzy{z{z{{{{zzzyzzyzzzzz{z{z{{zz{z{zzz|z{{|{yz{{{{z{{{{{|{|zzzzzz{zyz||{|{{z{zzz{{{{{|{{z||{z{zzzyzz||{{||{{z{zz{z{zz}zz{}{{{z{z{z{|z{{z{|{{zzz{{zz{{|{||{|{{{{|{{z{{{|{|||{{z{zy{|{{{{{{|{{z{{{zzz{|{|{||||{zz{{{{{|{{{{|||{{{{z|{{z{|{|{||{{|z{z{{|{|{|{{|z{{{z{{{{{|||}{{{z{{{{z{{{||||{|{{z{{{{{z{|{||{|{zz{z{{{|{{{z{{{z{yyzzz{z|{|{|{{zzzzzyzy{{{{zz|yzzzyyyz{zz{z{z{zzxy{yyyzzzzz{{{zzzzyyzzz{|zz{z{zyzxzzyyyzz{yzz{zyzy{yyyzzzzzz{{zzzzyzy{zz{zz{zzyz{zyzzy{{zzy{z{zyzyzzzzz|{zzz{zzzyzyyyy{z{{z{{zz{zzyyzyzzzy{zz{zzy{yzyyyzzzy{{zz{zyyzzzx{{yzzzzzzzzzyzyzz{z{{{{zzzzzyz{z{{z{{z{{yzzy{zy{{zz{|z{z{zyz{zy{{z{z{z|zzzzzyzzz|{{{{zzz{{z{{{yz|{z{{{z|zyzzyzz{{{z|{{{{z{{yz{{z{{{{||{z{{z{{{{{zz{{{||{{z{zzz{|{||z{z{zz|zzzz{{}{{zz||{{{zz{{{{{z{{|{{|{zzz{{|||||z{||{{z{zy{{{|{|{||{{zzzz{zzz{zz{{||z{{{{yz{{{{z{{{zz{zzzz{zz{z{{{{{|{z{zz{{{{{{{{{{zzyyyyzz|z{{{zz{y{zyzzzzz{{zz{zz{{{zyyzz{zy{{|zz{zyyzy{y{{|{{{z{zzzyyzzzzzz{z{z{zzzyyzzyzz{zzzzzzzzyzzzyzzzz{|{zzzzz{zzyyzzzzzz{zz{zzyz{{yzzyz{zzzyyzyzzz{yzzz|z{zzzzyzyz{zz{{{{zzzzyyzz{zz{zz{{{yyyzyyyzzzzzzz{zyzyzz{zzyz{zz{{yzzyy{zzzzz|z{z{{yz{yyzyz{z{yzz{zy{yyzzyz{zz{z{{z{zzzzzzz{z{{{{{zyyzzzzy{z{zzz{{{{{zzzzz{{{{|{{{zzzy{zzz{{{zy{|{z{zzy{zz{{{||{{{z{{zzzz{|{{{|{|{{z{zzzzyz{{{{{|{{z{{{z{{z|{{{|||z{{{zyz|{{{{{{||{zzzz|zz{||{|{{|{{z{{{{z{|{{{|{{{zy{|z{z{zzz||||{z{z{{zz{{|{{|||{{zzz{{z{|{{{{{{{{{{y{|z{|{{z{{{zzzzzz{y{{{{zz{{zzyzyzy{y{{z{zz{zyzzzzzzzz{zz{z{zyyyzzzz{zzzz{{z{yzyzyzzz{{zyz{{zzzyz{zzzz{{z{zzyyzyyzzyyz{zzz{zzzyyyyzz{zzzz{zzyzyzyzyyzz{zzzz{zzzz{yzyz{zyz{{{{yzzyyy{{zzyz{{z{z{yyyzyz{yz{zz{{yzzzyzyzzzzz{{zyzzzzyzyzzzzz{zzzzz{yy{zzz{{|{{z{z{zzyzz{{{{{z{{zzzz{yzzzz{{z{{{z|z{y{zzz{{z{{{{{{{zzyzy{{{z{{zzyyyzzzyy{{{{{zz{{{z{z{zzzz{{z{{zyzz{{zzzz{{{|{{|z{zzzz{zzzzzz{{{{z{zzyzyzz{|{z{{{zy{zzyz{{{{{{|{zzzzz{{{|{z{{|}{|zzzzzzzz{|z{{{}{{z{zz{z{{{|{{|{|zz{{zzz{{{||z{{{z{zzyzzzz{{|{{{z{zzzzz{z{z{z{{{{z{zzzzzz{z{z{{zzz{yzzzzz{{{{{zzzzyzzyzyz{{zz{zzzzzyyyyyzzzz{{zzz{zyyz{z{yzyz{zzz{y{zyyyzzzzz{z{zzzzyzyy{yzz{{z{zzzzyyyzyz{zzzzz{yzyyxy{{y{zy{zzzyzyxzzyyzz{z{|zyzzyyyzy{zz{{z{zzz|yyzyzzz{z{z{zyzzyzzzyzzz{{{{zzyyzyzyyzzzz{{zzyyzy{yzyz{z{zzzzzz{yzyyzyzzzz|{z{zzzzxz{z{{{yz{zyyyzzyyzz{{{{{zzyz{zyzyzzz{{z{{|{{zzzyzyz{zzzz{z{zyzzz{z{{z{{zzzzzzz{{zz{{{zz{zzzzz{{z{z{{{|{{{{zzzzzzzzz{z{|{{{{zzzzyyz{{{|{{|z{zzz{zz{||{{{{{{z{z{zz{{z{{{{{z{{zzzz{zz{|{{{{{z{{{zz{{zzz{yz{{{{z{z{zzz{{{z{{{{{|zzzzzz{|{{{{{{{zzz{zzxz|{z{||{{zzzzzzzy{{{{{{{{zzzzyzz{zz{zzz{zzyyzyzyzzzyy{zz{zzyyyyyzzz{z{{zzyyyzzzy{{{zzz|zzyzzzyyzyz{z{{z{z{zzyzyy{z{{zzz{yxzzzyyyyzyyzz{z{zzyzyzyzz{zzzzzzyzzxzyzzyzz{zz{{yyzzyzz{{{z{yzzzzzzyyyzzzz{zzzzzyyzyzyzy{{z{z{zzzzzzzzxyzzzzz{zzzzxzz{z{|z{zyzzzzz{zzyz{zzzz{{zz{zzzyz{z{zzzz{{zzzzyzzz{{zz{z{{zzzzyy{yz|{z{{{{zyzzzyzy{zzzz{z{y{zzy{yzz{{{{z{{{zzzzzy{z{{z{{zzz{z{{z{{|{|{{{z{z{{z{{{z{{{|{{{|{{z{z{zy{{{zz{|z{zz{zz{zz|{|{{{{{z{zz{zz{{{{{{{{{y{{zyzyz|zz|}||{zz|z{{{|{{{{{{|zzzzzzzz{{{{{{{{{{z{{zz{{{{{|||{{{zzzzyyz{{{{z|z{zyzzzzz{{z{z|{{zzzyyzzyz{zz{zzzyzzyzyyx{{zyz{{z{zyzzyzyzz{zz{{{zyyzyzzz{{yz{{{zzyy{yyyzy{{{{zzzzyzyyzzxzz{zzzyzyyzyzzzyyzzzz{{{yzyyyzxzy{zzyzzzzyzxyzyzzzzzzzzzyyyzzyyyzzzyz{zzzyyzzzxzz{zy{z|{zzyyyxyyz{zz{z{{zyz{zzzyz{zzy{{yzzzyyyyzy{zzz{zzyyzzyxyx{z{{zz{{yzyzzzz{{zzzzz{{zyzyyzyzzzzzzz{{zyyzyzzzz{{z{z|{zzyyyyzzzzz{{zzz{z{z{z{zy{{zz{{zzy{zz{zyz{{zzz{zz{yzz{zyzz{|z|{{zzzzz{zz{{{{z{{{{z{zyzzzz{{{{{}z|zzzzz{{{|||{{}zz{{zz|{z{{z{{|{{{yzzzzzzz|||{{|{zyy{{{{{zz{{||{|{zzzz{z{{z{{{z{{{yzz{{zz{{{{{||zzzz{{zzz{{|z{z{{z{zzzz{zy{z{zz{{zzzzzy{y{{zz{{yzzzyyzyzz{z{zzzz{zyzyzyyy{{zyzz{{zyzzzzzy{zz{{z{{zyyyyyzzz{yzzzz{zzyzyzzzyyz|z{z{zzyyyyyyzzzzz{{zzyyzy{zyzz{zyz{zzzzyyyyzyzy{y{zzyyyyyzzyyyzzzzz{yy{yyyzzyzzzz{zzyzzyyzyzyzzzzzz{zzzzyzzyzyzzy{zz{yyyyyyyz{zzz|zzzyzzyzzy{zzzzz{{yzzyzyzxzzzz{zzzzyz{zz{{z{zzzz{|zyzyzzyy{zy|{{{z{zzz{yyz{z{{z{{zzyzyz{zz{zz{{{|{{yz{{yyzz{zzzzzzzyzzzzz{z{{|{{{{{z|y{z{{|z{{|{{{{yz{zzyz{{{z{|{{{zyz{{z{{||{{{|{{|z{y{{{{{||||{{{zzzz|zzz||{|{|{zzz{zzz{{{zz{|z{{y{{z{z{{zz{{{{{|zzzzzyz{{z{z|{{zzzyzz{zz{{z{{z{zzzy{{zzz{z{{z{zzy{zzxyz{z{zzzzzzyyzyyyyzz{z{z{{{zyzzyyzzzzz{z{{zzxzyzyyz{z{zz{{yyyzzyzzzyz|zz{zyzzxyyyyzz{zy{{zzzyyyyyyyzzzzzzzyzzyzyyyyz{y{{{yyyyyxzyzyzxzz{{zyzyyyyyzyzzzzz{zzzzyzzyzzz{zz{{zyzzzzyyyzzzzy{{{yzzzyzzyyzzzy{{{zzyxzzyyzzzzzz{zyzzzzyzyyz{{z{{zzzzzzzyyz{zzz{z{yz{yzzzz{{zyz|{{zyzzyzyyzzzz{z{{{zzzzzzzyz{zz{z{zzzy{zzzzz{zzz{z{yzzyyz{{{zzz{z{zzzz{zzz{z{||{{{zzzzzzz{z{{{z{{{{{z{zzzz{{{z|{|{{zyzzz{y{|z{z{{{{z{{zz{{z{{{{{{z|z{{z|zz|{|z{|{z{z{{zzzz{{{z{z{z{z{z{zz{{|{z{{|}{{zy{zzzz{{z{{z{zz{z{zyy{z{z{||{zzzyzzzz{{{{{{{{z{yzzzzyz{|{z{z{yzzyzyyyzzzz{z{|yyzyyzzzyzy{z{{{zzyzzzzy{zzyz{z{{yzzyyzy{zzzzyz{{zzyyzzxz{{z{zzz{zzyzzzzyzzz{zzzyzyzyyzzzzzyy|yzzzyyxyyzzzyzyzz{zzzyyyzyyzzzzzzyyyyyzzyzzzzzzyz{zzzzyyyyzzy{z{{{zzyyzyyyy{{z{zz{zyyyyyyzzyz{zz{zzyzzy{yzzzzzzzzzzyzz{yzzzz{y|{{{zzzzyyzz{z{zzz{zzyyzzyyz{z{zz{z{zyz{zyzz|{{zzz{zzzzzzzzzz{{{z{{{zzyyzzz{|{zzzz{{{z{z{{yzz{{{{{|{zzz{zzz{z{z{{{|{{{zz{{zz{|{z{zzzzyz{{zz{{{{{{{|{zy{z{{{zzzz{{{zz{z{{{{zzz}{|{{{{{z{z{zz{{z{|z{|{zzyzzzz{{{zz|{z{|{{zzzzzzz{{|{{{zzz{zzyyz|{{{z{{{{yyz{zyz{zz{{{{{zzyyyzyz|{{z{{yyzzy{yzyzz{{{z{{{yyzyzyzz{{{z{z{zy{{zyzyzy{{{{zzzyzzyyzzzy{zzzzy{zzyxyzyzzz{z{z|y{zzzzyzzzzzz{zzzy{y{zyzyzz{y{{zzzyyyzzyyzzzz{z{zyyzzxzyyz{zzzz{zzyyyyyz{{{zzzz{{zzzzyzyzzz{{zzzzyzyyyyyyzzy{zz{z{yzzyzyz{yzz{zzyz{yyzyz{z{{{zz{zzzyzyyzzz{yzz{{zyyz{yzzz{z{z{{{{zyzzzzzzzzzz{{{zzzyzyzz{{{{{zzz{yz{yzzz{{{{{{zz{zy{z{zz{z{{{z{{{zyz{zz{zzz|{z{{{{zz{{z{{|z{z{||{{z{{{zz{{{{{{z{|zzz{y{{||{{{{|{zzz{{zz{{|{{|{{|{zzzz|zz{{{{{|{|{{{zzz|{|{|{{{z{{{{z{zzz{{{|{{{}yzz{{{{{z{z{|{|{{{z{{{{zy{{{{z|{{{zzzzzz{{z{{{{{{zzzyzzzz{z{z{yzzyzzy{yyy{zzzzz{zzzzzzzy{{{zz{z{{zzzzyyyz{{zzzz{{yzzyyyzzzzyz{zz{{yzyyzzz{{z{zz{yxzzyzyyzzzzy{zzzzyyzyxzyyzyy{zzzzzz{yzyzzz{z{{{zzzzyyzxzzzyzz{{yzyzyzxzzy{z{{zzyzyyyyyzy{zz{z{{yyzzyyyz{zzzzz{zzyyzyzy{yzz{z|{zzzzyz{yyz{z{z{{{zzyyzyyz{zzz{{z|{zzzyz{zzz{{zz{{zyzzzz{{z{zzz{{{{yyzzz{yzyz{z{{z{yzzyzyzz{|zz{|{zzzyz{yz{{||z{{{zz{z|zzz{{||{|z{z{{z{zzz{{{{z{{|{zz{zzzzz|{{|{{{zzz{yy{y{{z{||{|{zzzz{{{{{{{{||||{{zz{zz{}{{{{{||z{{z{{{z{z{{z|{|{y{{z{zz{{{|{{{{{|z{zz{{|{{{{|{z{{z{zzzz{{{z}{|{zz{zyz{{{zzz{zz{z{yzz{z{{{{{z{zyzzzzyxzy{{{z{{z{zzzxyzyzz{|z{{|zyzzz{{zzz{{|{{|ywzy{yyzyzz{zyzz{zyyzzzyz{{zz{{{yzzzyzzzz{y{zzyzzzzyzzyyzzzzz{zzyzzzyzyzzzzz{z{zzyyyyyzyzz{zz{zzzzyzzzyzzz{z{zz{zzzyyzyyzz{{z{{zzzzyzzyy{{zzz{{z{yxyzyzy{{zz{{z|zzzzyzzyz{z|z{|zz{zyzyzzz{{zzy{z{zzzz{{{{z{z{zz{zzz{zyzz{{{z{{{z{zzzzzz{|{{{{z{zzzzzz{zzz{{{z{|z{zz{zzzz{{zzzzz{{{{zy{{y{{{{z{{{z{{{{{|{{|{{{|||{{{zz{yz{{{{{||z|{{z{zz{{{{{{z||{zz{y{{z{{z{{|{|{z{z|z{{{||{{|{{{{{{{zz{{{||||{{{zz{zz{{{|{{||||{zz{z{z|{{{||||{z{{zzz{zz{{{{|{{zzzz{zyz{z{|z{{{{zzzz{zzz{z{{z{zyzzyzyzz{|z{{yzzz{yyzzxyyzzzz{{{zzzyyyyyyz{z{z{zzzzzzyzzyzz{{zz{zyyyyyzyzyzzzzz{zyzzyzzyzzzyy{zzzz{yzzzzyy{zzzz{zzzzyyyyzyzzz{z{yzyyyyzyzyy{zz{zzyyyzyxzy{z{{zzzyyzzzyzzzzz{{z{{zzyyyyzyyzzzzzzyzzzzzzzyyzyzz{yzzyzz{yyx{{zz{z{{zzyyzzzyzyzz{z{{zyzzzzzyz{yz{{{{yzzyyyyzzzz{{{{{zzzzzzyy{{{z{{z{{zzzzzzzz{{{{zzzzzzz{zzzz{{{zz{{{zzz{{zz{{z{{{{|zyzzy{{zzz{{z|z|zz{yzzyzy{{z{{{z{zz{{z{{z{{{||{{{{zz{{{{{{{{{{{{|{z{z{{z{|{{{{{{zy{|z{{{{z|{{{{{{yzy{y{{z{z{{{{{{zz{|{{{{{|{z{{{z{{y{yzz{{{z{{{|zzzzzzzzz{{{zz{zzyz{z{{zzz{z{zy{zzyzzyzyz{{z{{zzyzzyyyyzy{{zzzzzz{zyzyyyyzzzy{zzz{zyyzzxzz{zzzz{zzzyyzyyzzzzz{zz{yzyzzzyz{yzz{{yzzyy{yzyy{zzzzzzyyyzzyzyzz{{yzz{zyyzzyyzzzzzzzyzzyyyzyzzyz{yzzzzzz{zzyzzy{{zz{{{zzzzzzzzzzz{yz{|zyzyzyzzy{zzyz{{zz{yyyy{yzz{zzz{zzyzzyzzyzzzz{{{zzzzzzzyzzz{zzz{yzzzzzzzzzzz{z{{{yzz{z{zzzzz{{{{zyzyzzzz{{{{z{{z{zy{yzzz{{|zz{z{z{zzzyzz{{|{z{||{{z{{z{z{z{{z{|{{{zzzzyzz{{z|{{{zy{z{z{z{|{{{{{zz{zzz{{z{|{{{{|{{z{{z{{{z|{z{|{{z{{zz{{{{{z|{||{|zzzzzy{{{z|{z||{{{{zzz{y{z{||{|z{zzzz{zz{z{zz{{{{z{zzzyz{{|{{{|yz{yyzzz{{{{{z{|zzzzzyzyz{{zzz{zzzzzzyyyz{zzzzz{zzyy{zzyzzzz{{z{zyyzzzyz{z{{zzz{{z{yyzzy{zyzzz{{zyyyzyzyz{{{zzzzzyzzzyxy{y{zzzz{yzyyyyyzzyyzyzz{zyzyzxyzzzzz{{{{zzzyxyyzzyzzzzzzy{zzyyzyzzz{{z{zzzzzyy{xzz{zzzzz{yyyyzzyy{zzyzzzyzzyzyyy{z{{z{z{{{zyyyyzy{{{z|z|zzzzzy{{yz{zz{{{zzzzyzy|zz{{z{{{{zzzzzyyz{{{z{z{{zzyzzzz{{{{zz|{zzzzzzzzzz{{{{{z{zzy{z{{z{{{{{{{yzzyzz{{zzz{{{{zzzz|zyyz{|{{{{|{||zz{zzz{{{{{||||{zz{{{zz|z{{{{{z{zzzz{z{{{{{|{|{yz{z{zy|{{{|z|z{z{{{{{z{{{{{||{{z{{{zzz|{{||{{{{zzzzzzzz{{{|{{{{{{z{zzz{{z{z{{|{zzzzzzz{yz|z{zzzzxzzzyzz|{zzzzyzy{yyyyyzz{zzzzzz{xxzyzyzzzzzzyzzyzzzzzyzzzzzyzzzyyyyyyy{zzyzzz{zyyzzzzz{yzzyzzzzyyyyyxyzz{yzz|yyyzyyyzyzzyx{{zzzyzyyyyyyzzyzzzy{yyyyzxyyzzzyz{zyzyyyzzzzzyzzzzzzyxzyyyyyyzzzz{{zyzzyyyyzzzzzzzzyzyzzzzyzyzzzz{{zyyzzzy{y{zzzz{zzyyzzyzzyzzz{|z{zyzzyyyyzzz{z{|z{zzzzzyzz|{z{{zzzyzy{zzz{{{zzz{z{zzzzzzz{{y{z{{zyz{zzzz{{z{{z{{{zzz{z{z|{{{|{|{|{zy{yzx{{{{{{{{|{zz{{zzz|{{{{{{z{zzzz{{{{z{{{{{{{zz{zzzz{{{{{{{{z{zyzzzz|{{{z{|{{{zzzzy{zzz{{z{{{{zz{{z{|{z{{{zzz{zzz{zy{{{{z{zz{{zzzyxy{{|zzz{{zy{zzzzzzz{{zzyzzy{yyyzyzzzzyz{zyyyyyxzzzzy{zzy{{yxyyzzyyz{z{{z{zzyzyyyzyzz{zz{zzyzyzyyyzz{zz{zzyzzyzzyxz|zyz{{yzxyxzyyyyz{yzy{zzyyyyyzyzzyyzzzzxyyyyyzzyzzyz{zzyzyyyyyyyz{yzzzzyy{yyyyyyzy{zz{zzzyyxyyxzzzy{zzzzyyyzyyyzzy{zzzzyyzyyyzzz{{zzz{z{xyyzxyyzzzzzyz{zz{zyyzzzzz{{{zzzzzzyyzzzzzzz{zzyzzzzyzyy{|{z{{zyzzyzyzy{{{z{z{zzyyyzzyyzz{{zz{z{z{y{y{z{{z{|zzzyzzyzyzzz{z|y{{{zzzzzzzzz||z{{{zyzzz{zzy{{zz{{z{{z{zz{zz{{z{z{{{zzzz{zz{z{{{{z{|{zz{{zzyz{{{{{{{{zzz{zy{{zzyzz{{zz{{zz{zzy{zz{{{zzzz{{zzz{{{z{{z|zzzzzzzzz{{zz{z{zzyzyyzyz{z{zzzyyzxyzyyy{zy{zzzyyyzyzzyyzzzzzzz{yyyzyyxzz{zz{{zzyyyzyyyyzzzyy{zzyzyyzzxyzzz{zzzy{yyyyzyyzzy{zzzyyyzyyxzzyzzzzzyzyyxyzyyz{zzzzzzzzyyzyzyz{zz{zzzzxyyyzxyzzz{zz{zyzzzyzyzzzyzzz||zzyyyyzyzy{yyzzz{yzyyzyyyzzzz{zzyyzzzzzy{{{zzz{{yzzy{zyyzzzzzzzzzz{yyzzyz{zz{z{{zyzzzzyzzzz{z{z{y{zzyyyyz{zz{{zzzzzyyyzzzz{{{{|{{zzzyzyz{{{{z{{{zzzzzyzzz{|{z{{{zz{{zzzz{{{{{{z{zzzzzzyyz{{|{{{zzzzz{{zzz{z{zz{zzz{zz{{z{{z{z{{{{zyzyz{z{|{{{{zz{{zzzzzz{z{|z{z{{z{zzzy|z{{{|{|z{{{zz{z{z{zz|{{{z{zz{{z{{{z{{{|{{zzzzx|y{{z{zzz{zzzzy{zzzz{zz{yzzzyzy{yzzz{zz{{zzzyzzzzx{zzz{{zzzzyzzyzz{zzzzzz{z{yzzyzyz{zzzzzz{yzzyyzyzzzzz{zyyzzyyyzzz{zzz{{zzyzzzzzxzz{{z{zzzyyzyzxzyzyzzzz{yzzyyyzyz{yz{{{yyyyyyzyzyz{z{{z{zy{zyzyzz{z{z{{zzyzzzyzyyyyzzzz{zyxyzyyyz{{{{{zzzzz{xzyzzzz{z{z}zzzyzzz{{z{{{{z{zzzzzyzzy{{{{|z{zzzy{zzz{zzzz|{{zzzzzxzzz{{z{|{zzz{zyyzzzz{z{{|z{zzz{{zzz{zz{{{{zzzzz{zz{{z||{|{zz{{z{zz|zz{{{{{{z{zyz{z{{{{{zz|{zz{{{zz{{{{{{|{{{z{z{zz{{{{|z{||z{{{|zzz{{{{{{{{z{{zzzz{{{|z|{{{zzzzzzz{{{{||||{zz{{zzz{{{{{{{{|{zzzzz{zz{{{z{{{yzzzz{{z{{{{{{{{zzzzyzz{{{zzzzzyzzzy{yyyzzzz{yzzyyzzzyyz{zyzzzzzyxxzzyyzzzz{{zzzyzyzyzyzz{{zyzzzzzyxyzyz{zzzzzzyyyyzyzzzzyzzzzzzyyzyyyzzy{yzyyz{zzyyyyyzyz{zz{zyyzyyyyzyz{zzzzzzzyzyzy{yz{{yyzzzyyyyyxzzz{{zzzzzyyyzyyxzzzyzz{zzzzzzyyyzzzzy{z{zyzzzzyyzz{{{{zzzz{zyyzyzzzz{z{{zz{zzyzzzy{z{y{zzyzzyzy{zzzzz{z{{z{zzxzz{z{{{{z{z{{zzzzzz{|zz{{{{z{zzyzzz{zz{{z{{yzzz{zzz{z{{{zzzz{zzyz{|{yzz{{{zz{zyzyz{|z{{{{z{zz{zyzy{z{{zz{{zz{y{z{zz{zz|{{z{z{zz{z{z|z|{{|zzzzzz{zz{|{{{|{{zzzzzz{{y{{{{{{|{zzy{zzzz{{z{|{{{{yzzz{zzz{z{||{{zzzyz{yy{{{zz{zzyzyyzyz|z|{zzzzyzxyyzz{yz{zzzzzzyyyyyyyzzzzyzz{yzzyyyzzzz{yzzz{zzyzzyyx{z{z{z{zzzyyyzzyzz{zz{z{{zzyyyyyzzz{z{zzz{zyzzxzzxzzzzzzyyyyzyyzzzyzzz{{yyzzyyyzzz{zy{{z{zzyyzyzyzz{{{{zzyxzyzzzzzz{{{{zzyyzyyyyzzzxzz{zyyzyxyyzzzyz{|z{zyzyzyyy{zzzzzzzzyyzzzzzz{z{zyy{zy{yyzzy{zzzz{zzyzzzzzzyzy{{z{yz{zzz{yzzzzzz{{zzzzzzyzzyy{{{{{{z{{z{zyzyz{zzz{z{{zzzz{zy{z{{{{zzzz{y{{{zz{{{z|{{{{{zzzzz{{{{|z|{{{zzzzzz|{zz{{{{{{{{{{{{z{{|{|{{{{zz{zzz{{|{{{{{zz{z{yz|{{{{{{z|{z|zzz{{z{z{z|{|{{z{{{zz{{{{{z||z{{z{zzzzz{{{{{{zzzzzzzyzzz{{{{zzy{yyy{yz{{{{z{zyzyzzyyyz{zzzzzzzzyzyyzzzzz{zzz{zzzyyzyyzzzz{z{zzzzzyyyyzz{{z{{{zzzyzx{yyzzzzzzzzyzzyzzy{{zzz{zzz{zyz{zyyzzzz{{zyzyzyzzzzzzzzzzzyyyyzyyzzyzzyzzyzzzzyzyz{z{zzz{yzyzyzyzz{z{zzzz{zxyzzzzyz{z{zz{yz{zyzyyzz{zyzz{|yzyzz{zyzzzzyzzzz{zzzyzzzz{zyzz{zyzyzyzzzz{z{z{{yzzzzz{zz{zz{{{{zy{zzy{z{{z{{{zz{zzzzzzzyz{z{z|zzzzzzzyzz{{{z{{z{zzyz{zz{zz||{{{zz{z{zz{{z{{{{|{z{zzzzzzz|{{{{{{{z|z{{zzz{z{z{||{zzz{{|{zz{{{{{z{{{z{zzzz|{{|{{||z{{zzzz{{z{{{{zzzzzz{zzz|z{||||{{{z{{z{{{{{{{z{{{zyyzy{{{{zz{{{{{zzzzzyz{{{{zzzzzzzzz{zzzz{zzyzzzzzzzzzyz{zyzyzzyyzzxxzzz{z{{z|yz{yzyyyzz{zyz{zzyzzyzyyz{zzz{{y{yzzzzyyz{zzzzz{yy{zzzyyzz{zz{zzyyzyyzzyzz{zz{{yzyyyyyyyy{z{z{z{zzzyzzxzzz|zz{zzzyyyyyyyyzzz{z{{zyyyyyzyyyy{{z{zzyz{yyyyyz{{z{zzzzzzxyyyz{y{zz{{zzzzy{zyz|zzzz{zyzyyyyzzzzzzzy{zzzyz{yzzzzzzz{z{yzzzzzzyz{{z{z{{zzzzzy{zzzz{z{z{{yzyzz{zz{{{zz{{{z{zzzzz{z{yy|{{yyx{z|y{z{{{{z{{z{zz{{{{{{{{{{{{{zzzz{zy{{{{{z{{zzzz{z{yz{{z{{{{{{z{{z{z{z{{||{|{zy{z|{{{{z{{z{|{z{zzz{zzzz{{{zzzzz{{{zz|{{{||{{{z{z{zz{{z|z{{{{{zzzzzzzz{{{z{|{|zz{zzzyz{{{{z{zz{{yzyzzzz{zz{zzzzzzzyyzzzzzzz{z{zyyzyyyzz{zz{zzzzzyzzyy{yy{{{zzzyzyyzzyyzz{{yzz{yyzyzyx{zzz{|zzzzzzyzyyy{zyzz{zzzzzyyyzzz{yzyz{zyzzyyyzyyzzzz{zzyyyyzzyz{zzz{{zzyzzyyyxz{{zzz|yyyzyyyyzy{zzzy{zzzyzyyzyyz{yzz{zzzzyzzyzyzyzz{|zzzzzy{zzzzzz{zzz{zxzzzy{z{z{z{{z{zzzyyyz{z{z{zz{zyzzzzyzz{{{zzz{zyzz{yyyzz{{z{{z{{zz{zyyz{{zzz{{zyzzzy{zz{{z{zz{{zz{yz{y{{z{z{{{zz{zzzz{{{{|{||{yzy{z{yz{{|{z{{{zyzz|zzz{{{{{{{{y{zzzz{z{{{{||{{|zzzz{yz{|||{{{|z{zz{z{y{{{{||z{|{y{zzz{zz{|{{{|z{{|{zzzz{{{{{z{z{{zzzzz{{{z{{{z{zz{z{zz|{z{{{z{z{{yzzzzz{{{zzzzzyzyzyzx{{{zzzyyyyzyzyyzzzyzzz{{yy{zzzzyzzyyzzzzyy{yyzzyzzzyyzz{zzzyyyzyzzzzzz{{zyzyyyzyzzzyzzzz{yyzyywyzy{zyyzzzzyyyzyzyzzzz{zzyzyyyyzyyyyzzz{zzyyzy{yyyzzz{{{{zzzyyyzxz{yzz{z{yzzyyxyxyy{yzz{zzzyyyzzzz{zyz{zzzyzyyyzyzz{{zz{{zy{y{yzzyz{zzyzzzyzzyyzzzz{{{{{{{zyzzyy{{zzzy{zzzzzzzzzy{z{z{{{zzzzzzyyz{{{z{z{{zzzzzzz{z{z{{zz{{{zzzzy{{y{|{{|{z{{zzzzzzzz{z{{|zzzyzzyy{{{z{{{{{z{z{z{z{{|z{{||{zz{{zzz{{{z{{|zzzzzzzzzz||{{{{|{zz{zzzz{|z{{{{{{z{zz{zz{z{{{z{{{zyz|zyz{{|z{|{{z{z{yz{zzzz{{{zzzzy{yzzzz{{{z{{zyyzyzzyzzzyzzzz{yzy{yzyzy{zz{zzzyzyzzyyy{zz{zzy{{zzyyxzyzzzzz{z{{yzyzzzyzyzzzzz{zzzy{yyxzzz{zy{{zz{zyyzyy{{y{zzzzzyzyyyyzzzzzzzzzzzzyyzyzyzz{zz{xzxzyyzyy{yz|{z{zzz{yzyyy{yy{{zzzyzyyyyxzy{{zzy{yyyyyyzzzz{{yzz{zzzzxzzzzzyz{z{zzyz{yxyzzz{zz{{zzzzzyyyzz|{zz{{|z{{zzz{yzzz{{{|{zz{zzzyzz{{zzz|zzz{zzyzzz{{z{zz{{zzyyzzz{{{z{{{{zyzzzzz{z{|zz{{{{z{zzyzyyzz{{{{|z{z{{{{{|{{{zz{{{zyzzzzyz{{|y{{{zzzzzzzy{{z{{{{{zz{zzzz{{{{z{|||{z{zzz{{{{|}{{|{{z{{z{z{zz{{|{|{{zyz{zzzz{z{z{||{zzz{zzz{{{{{{{{zz{zz{zzzz{{{z||{zyy{zzyz{{{zz{zzzzz{yyzzzzzzz{yy{yzzyyyz{{{{zz|zzzzzyyzzz|zzzz{zyzyyyyyz{zyzzz{zyzzzxzyz{zzzzz{zzyyyzyyyzzzzzz{zzzyyyzyz|{zzy{zzzyzyyyy{z{zzz{zyz{yyyzzzzz{yz{zzyyzyyyyzzzz{zzy{yzzzzxzz{{y{{{{yyyyyyyy{zzzyzzzzzyyzzzxzzyyzzzzxyyzzzyzzzyzyz{{yyzyz{zxzy{z{y{zzyzxzzzyy{|y{z{{yzzz{z{z{z{{z{{zzzzzzyzzy{{yzz{z{zzzyzzz{yzz{{zzzy{zzzzyz{zz{z|zz{yzzzzz{{{zz{z{{zzzz{z{{{{{{{{zz{zyzz{yz{{{z{z{z{z{zzzz{zz{{|{{|yzzz{{zz{{{{{{|{z{zzyz{z|z{{z{{{{yzzzzzz||{|{{zzzz{zz{z{{{||{{||zz{zzzzzzz{|{{{zz{z{yy{{{z|{{{{z{z{zzzzz{zz{{{{{{zyzz{z{{zzzz{zyz{yzyz{z{zzzz{zzzzzyyzzzzzzzzzzzzyyzy{zzz{zz{zzzzzyyzyyzz{yzzyzyzzyzyyzyzzyzzzz{zzxy{zyzz{zzzzzzyyyyyyzy{{z{zzzzzzyzyzyz{zyyzzzzzyxyzyzyzzzyzz{zyyyzyyxzzyzz{{{zzzyyyxyyz{zz{{{yzzyzyzzz{{zzzzzzyzzyyyxyzzzz{z{zzzyyzzzy{z{zz{zzzyyzyyy{zyz{z{z{zyyzxzyzz{zz{zz{zzyyzyz{zy{{z{{{yyzzzyz{z{zz{{z{z{zzzxyyz{{{zz{zz{zzzyz{{{z{z|{{y{z{zzzz{{z{zz{zyzzzzzz{zz{{{{{zz{zzz{zz{{{{{|{zzz{zzzzz{{z{{z{{z{y{z{z{|z{{{{{{zzz{{{{z{{{zz{{zzzz{{{|z}{{{{|{{{{zz{z{{|{{|{{|{yzzz{{{{{z{|{{{{zzzzzzzzz{z{{{|zyzyz{zyz{z{{{|z|zz{yzzyz|{{{{{{y{zzzzyzz{|z{zz{yzzzyyzyzz{zzzzzzzyyzzxzzzzzzz||zzyzzzzy{zz{{zz{zyzzzzyzzyzzzz{{zzyyywzyzy{zzzz{yzyyyyzyzzzzy{zzzyyzyzyyzzzzzzzyzyy{yyzzzzz{yzy{zyzyyyzzzz{zz{yzzyyyyyyzzzyz|zzzyyzzzyzyyz{zzz{zzzyzzzyzzzzzzzzzzyyyyzyyyzzz{{{{yyz{zzyzz{z{zz{{zyzyyz{z{zzz{z{{zxyzzyzzzz{zzzz{{zyzzzzz{{{z{{{zzy{yzyzzzz{{zz{{zz{yyzyyz{{z{{{{zyzzzzyzzz|zyz{zz{z{zz{{{{{{z|{{z{{zzz{{{||{{{|{{z{{zzzzz{{zzz{{z{{{{yz{|{{{{{|{{yz{{{{z{{z{{{{{{zzzzz{zz|{{{{{{{{{{yzzy{{{{{||{zyzzzz{z{z{zz{||{z{{{zzz|{z|{{|{zz{zzzzzz{{zz{{|zzy{y{zzz{{zz{{zz{{zzxyz{|y{{zzzyyzyzzyyy{{zzzz|yyzzyyyzzzzz{z{{zzyzzyzyzzzzz{zzyzzyyzyzzzyzzz{zzzzzyyyyzzz{zzzzzyzzzzyyzyzzyzz{zyyzzyyzzzzzzz{z{zzzyyxyyz{{{{z{yyzyyyzzzzzz{z{zzyzzzzzz{zy{{{z{{zzzyyyyzyzzzz{{{yz{zzyzzzzyzzzz{yyyzyyzy{zzy{zzzzzyzzyzzyzzz{zzyzzyy{zz{z{zz{z{{zzzzy{zzyz{zz{{y{{z{yyz{z{zz{{z{zzzxyzy{zzzz{zzzzyzzyzyz{zzz{{{z{{zzyyy{{{{{{{{zyzz{z{zy{{{{{{z{zzzzyzz|{{|{{{{yzz{zzzy{{{{zz|{{zz{zz{z{{{z{z|zy{{yzz{z{zz{|{||zz{{{zzzz{|{|||{{zz{zzzz{{{{z{{{|z{zzzz{z{{{|z{|{z{{zzz{{{{{{zy{{zzy{{zzz|{{|{{z{zzzzzz{{{{{z{{{yyzz{zyzzz|zzzzzzzxyzyzyy{zzzzz{y{yzyyzyz{{{{z|{zzzyzzyy{zz{{{{z{zzxzyyyyzz{zzz{yzyxyzzzzzzyy{zzzyzyzyzyzzzzyyzzyyzzzzyy{zzzyz{zzyzyyzyzzyy{zzzyyzzyyyzzzyzz{zzzxzyzxyxyzy{z{zzzzyzzyyyzz{z{yzzz{yyyyxyyyzzyz{{zzzzyyyyyzzzz{zzzzzyyyzyyzz{{yzz{zyyyzz{yzzzzzz{{zzyzyyy{{zy{{z{zzyzzyyyz{{z{{z{{zyz{yzyzzzz{{|{z{{zz{yzz{{zzzz{zzz{zzyyy{zzz{zzzz{{yzzyzz{z{{{{|zzzz{y{z{|{{z{{{{zzzzzyz{{{z{{|{{zz{zzzy{{{{z{{{zz{yzzzz{{{{{z{{{z{{{zzz{{{{{|{|z{zz{zz{{zzz{|{{zzzzzzzz{{{{z{{|{zy{{yzzzzz{{||{{yzzzzyy{z{{z{z{{zz{{zzzzz{{z{zzzzyzzzzyzz{z{{yzzzyzzzyyz{{z{zzzzzyyzzzyzzz{{{{{zyyyyyyyzzzzz{{zzzzzzyzyyz{zzz{zzyzyyyzyzz{zyzz{zzyzzyyyzzzyyzzzzzzzyzyzzy{zyz{zzyyyyzzyzyzzzzyyzzzxyyyyzzzzz{{zzyy{yzzz{zzz{{{{zyzyyyyyz{yyz{{{yzyyxxyyyyzyzz{{yyxyzzyzzzzzz{zzzzyzzzyy{zzzzz{zzyyyzyzzzzzzz{z{{yzyyyzyzzzzz{zzyzyyzyz{{{zz{|{zzzzzzyyzz{z{{z{{{z{zzyzyzz{{{{z{zzy{{y{z{{{z{{zzzz{{yz{{z{{{{z{z{{{yzzzz{z{{z{{{zzzzzzzzzz{{zz{{{zzzzzzz{{{z|zzzzz{z{{z{{z{{{{{z|zzz{{z{z||{y{|{{z{zzzz{{{{{{||{zzzz{{{{z{z{{{{{{zzz{z{z|{{{{{{z{z{yz{zzz{{{z{{|{zz{yyzzz{{z{{{zzyzyyyzy{z{z{{yzzyzyzyyyzzzzzzzz{zzzyzzz{{zzz{{{zzyyzzyyyzz{{{zzyyz{yzyyzzz{y{{{zyzyyzzyzzz{z{{zzzyz{y{zyzzzz{{zzzzyzzyz{zzyyzyzzzyxyzzyyyyzyyz{zyyzyyzxy{{{zzzzzyzyyyyyzzzzzzzzzyyzyzxyz{{|z{{|yyyyzyyyyzzyzzz{yyzxyyyzyz{{{z{zzyyyyzzyzzz{z{{y{{yyyyyyzz{zzzzzzzzzzzyyzy|z{{z{zzzzyyzzzz{zz{{zzyzyzzyzz{{|{{z{zzz{yyy{{{z{{{{zzzyzzzz{{{zz{y{zzz{{zyz{z{{{z|{{{{zzzz{zzz{{z{|{{zz{{zzz{{{zz{|z{{zz{zzz|{|{{z|{z{zzzzzzzz{|{{{||{zzz{y{{||{z{z|{{zzzzy{||{{||{{{yzy{z{zz{{z{{|{z{z{{{zz{{|{{z{|z{zyzz{zz{z|{z{{{{zzzz{{z{{{{{{{{z{zzzyz|y{{zyzyyzyy{yzyz{yzzz{{yyzyzzzyzzzzz|{{zzyzyzzzzyy{zz{zyyzzyzyyzzzzzzyzzzzyxyzyzzzzz{yzyyyy{yyyzzyyy{zzzzzzy{yyzzzzyzzzyyyyyyzyyzyyzzyzzyyyyyzyzzzzyzzzyzyzzyzyz{zzz{zzzzzzyxzzyzzyzz{zyzzyzyyzyzyzz{zzzyzyy{yyzzzyz{zzyyzyyzzyyzz{{z{zzyzz{yyyzz{zzzz{zzzz{zyzy{zz{zzzzyzyyzyz{zz{{{{zzz{{yz{zz{zz{{{zzzzzzxzy{{zzzz|zzzzzzyyz{{zzz{zzzzzzyzzzz{|{|zz{{{zz{z{z|{zz{|z|{zzzzz{z{{{z{{{y{yzy{z{y{|z{{z{{{zzzz{{zzz{{|{zz{zzzy{z{{{{{z{{{|{|{zzz{z{{{|zz{z{zzzzzz{|{z{{{|{zzz{{{{zz{|z|{{{zzz{{z{z{zz{{{{zz{{zzzz{{|{{z|{zz{z{y{zzzzzz{yzyyyyzyyyyz{yy{z{zzzyzyyyzzy{z{zzzzyyyzzyyyyy{zz{zyyyzxxzzzzzyz|{zzyyzyyxzzzzyzz{yzyyyyyzy{zzz{zzyzyyyyzzyzzzzzzyyyyxyyzyzyyyzzzyzyyyyyyxz{yzzzzzyyyyyzyzyzyyzzz{yyzyxxyyzzzz{zyzyyyzxzzyz{yzzzzyzyyzzyyzyzzzzzzzzy{zzzyyy{zzzz{zyyyzyyzzzzzzzzzzyyyzzzzzzzz{y{{{zzzyzzzyzzzy{{{{zzzy{yzxz{zz{{zzzyzyxzzyz|{{zz{{zzyyzzyz{z{yz{{zzzzzz{yzz|{{{{{zzz{zyz{zz{{{z{{zzzz{zzzy{{{y|z{{{zzz{z{{z{{{y|{zz{zzzzzz{{{{{z{{zzzzyzzyzz{{{z|{{z{{zzz{{zz{z{z{{zzz{{zz{{z{{{||zz{yzzzzzz{{z{{|zzzy{yzzz{{y{z{{zzzzzyz{{zy{zz{zzxzyzzyyzzzz{zzz{yyzzyzyyzyzzzzzy{zyyyyyzxzz{z{zzzyyyzyyzyz{{{{{zyyyzy{zzz{zyzzzzzzzyzzxyzzzzzz{zzzxyyyyzz{zyy{yyzzyyxyyyzzzy{yzzyyyyzyzzzyz{zzzyyyyzzyyyz{zzzzzzyyyxzyzzzy{zz{zyyzyyyyyz{yyz|z{zyzy{yzyy{zyzzzyyzyyzxyyyzyzzzzyzzzzyzyyzzzz{zzzyyzzzxzyz{zzzzz{yzzyzyz{{z{zz{z|zzyyzzyzzzzz{z{{z{zzzyyyz{z{{{{z{yzzzzyy{{{{z{{zzz{zzyzyz{{{z{z{{zzzyzyzzz{{z{{{yz{yzz{y{z{{{{{{zzyzzyzz{{{z{{zz|zyzzz{zz|{z{|{{zzzz{zz{z|{|||{{{zz|zyzzz{{{{{z}|z{zzzzzzz{{zz|{{zzzzzzz{z{{{{{{{zzz{zzz{{{z{{{{y{zzzzyz{zzzz{{{z{zzzzyz{zz|z{{z{zzzzyyyz{{zz{yzzzzxyzyy{z{zz{{zzyyyzzyyzy{zz{zz{yzyyyyzyy{zzz{zzzzyzyzzyzzzzzz{zzyzzzzyyzzzzzzzyzyxxyyzz{zzyzzzzzzyxzyyyzzyyzzzzyyyyyzxyz{zz{{zyzyzzyyyzz{yyzzyyzzyyyyyz{zzzyzz{zyyyzzyzz{{zzzzzzzzyyyxz{{zzz{zyzzyyyyyx{zyzzz{zzyzzzzzzzzzz{z{zyzzzzzzz{zzzz{zyzzyyyzzzzzzzzzzyzzzzxzzzz{{zz{z{yz{zzyzz{z{zzzzyzzzyzyzzzy{zz{{zz{zyzyz{{yzzzz{z{{zzzzzy{{||{{{zzzzz{zzz{{zz{|zzzyyyzzzz{|{{{{{|z{{{zzz{{{{{{{{{{zzzzz{z{{{{{{{{zzz{{z{{{{z{{||{zzz{{{{{z{{zzz{{zzzz{z{{{z{z{||z{zyz{y{{{{z|{z{zzzyzzzz{{z{z{{{zzzyyyyy{zzz{{{{zzyzzzyyz{{y{zz{yyyz{yxyzzzzz{zzzyyyyyzxzz{zzzzyyzyzyyzyzzz{zz{{zz{zyyzzyzzzzyzyzzzyyzyyzz{zzzzzyyyyyy{yz{zz{zzzzy{yyzxyzzzzzz{zyzyyyyyyzzz{y{{zyzyzzyyx{zzzzz{{zyzyzyzzz{{{{z{{{yy{zy{zzz{{zy{{zzyzyyyyzzzyz{{{yzyyyyyyz{{zy{zzyyzzyzz{yzzz{{z{zzyyzyzzzzz{z{{zzzzzyzzyzz{zzy{{zzzyyzzz{{{zzzzzz{{zyzzyzzz{z{{zzzz{zzzxz{|z{{{zzzz{zzzz{{{{z{zzzzz{zzz{{{{{{{zzzzzy{z|z{z{|z{{{{zzzzxzzz{{{z{{{{zzzzyyzz|{{{{||{zzz{|{{z{{{{{{{{z{{{zzzz|{|{{{{|{|{zz{{|{{|zz{{{z{z{z{y{z{{{z{|{zzy{z{z{|{{{z{{zzzzzzz{{{z{z||{zz{zzyzzz{{{zz{|zzzyzzyz|zz{yzzzz{yyzzzzzz{{|zz{zzyxyy{y{zzzz{z{{zyzyz{zz{zz{{zzzzzzyzyzy{{zzz{{{zzyxyzyz{z{yzz|{zzyyyyyzz{zz{{zzy{zzyzz{{{zzzzyzzzzzzyyzz{{zzzzzyzyyyyyzz{zzzzzyyzzzyyzyz{z{{{{zzzzzzyyz{{zzz{zzzyxzyyyzzzzzzzyzyzzyyzyz{zzz{z{zzzyzzzzzzz||{{{zyyzzzzzz{{{z{{{z{yzyyzyz{zzzzz{yz{zzz{z{zz{{z{{z{{yzzzyz{{{z{z|{{zzzzyzzz{{z{||{z{z{z{yz{{{{{zz{z{zz{{zz{z{||{{zzz{zzzz{{{z{{{{{{z{zyzz{|{{{{|{{zzzzy{{|{{z||{|{zzz{z{{}|{{{{|{{{z{z{{{{|{|{{{z{{{|zzzz|{{|{{|{{zz{{z{zz{{z{{{|{{|{{{zz{{zzzz{{zzzzz{{{{{{z{{||z{z{zzzzy{{|{{{|zz{yyzyyz{{z{{{zy{yxyzyyzz{zzzzz{zxzyzyyz{zz{{zzzyyyzyyzzzzzzz{zzzzzyzz{zzz{{z{{yzyzzyyyzz{{zz{zyyzyzyyyzzzyz{{{zyzzzzyzzyzzyzyzzyyyyzyxzyzzyzzzyyzzyzzyyzzyzz{zyzyzzzyzy{z{{zzzzzyyxyzyzzzz{{{{zzyzzyzyzzzyz{zzzzyzyyzyz{zzzzzzyzzzyz{zzzzyzzzzzyzyzyyy{{{z{z{{{yzyzy{zzzz{{zz{zy{zyyzz{zzzz{z{|yz{{zzzz{{zzzzz{zzzzzyzz{{{{{{{{y{{zyzzz{{{{yz|zzz{zzzz{|{{{z{zz{{{{zz{{z{z|{{{{z{{{{{yzzz{{{{{{zzzzz{z{|{{z{|zzz{zz{{{z{|zz{{z{zzzzzzzz{z{{|{{zz{zyz{{{{z{{z|z{zz{{z{z|{{{z{{{{zyz{{zzzz|{{{zzy{yzzzzyz{{{{{{|{zz{{zzy|{{|{{{{z{{y{y{yz{{z{zzzzzyzyzzyyzzzz{zyzyyzzzyyzzyzy{{zzyyxyyxy{zz{yzzzzyxyzyzyyz{zx{{zzyzyyyyyzzzzzzz|yyyyyzyyz{zzx{{zzyzyyxyyzyz{y{{zyzyyzyzyyyz{yz{zyyzyzxzyzzzzzy{yzxyyyyyzzzzzz{z{zzyyyzyyyz{zzzzzzyyyzzzyzzzyyzz{yyyyyyyyyzzzz{z{zzyz{zyzzy{{zyzzzzzz{yzyzz{y{zz{zzz{yyyzzzzyzzz{zyzzyzzz{z{zz{zzzx{z{y{zzz{z|{{yzyzzzxzy{z{z{zzzzzzzzzyz{zzz{{zz{z{yz{zzz{z{{{{yy{yzzzz{z|z{zz{{zzz{zzzy{{zz{zz{zyz{yyzz{{{{{{|{zzzzzz{{z{zz{{z{{yyzyzzzz{{z{{{{{{z{zzzz{|{{{|z{{zzyz{yzz{z{z|{{zz{zzzyzz{zzz|{|zz{zzzz{z{{{zz{|zzzzzzzyzzz{zz{{{yyyyyzyy{y{zzzyyyzxyy{xzyz{zzz{zxyyzyzxyzzzzzzzyyxyzyyyz{xzzzzz{yzzyyxzy{z{zzz{zzyyyyzyyzzzzzzzyyyyyzzzz{y{yzzzxyyyyyyzzzzyz{zzyzzyzyzzzzzzzz{zzyyyzyyyyzzyyyzz{yyyxyxyzzzy{zzzzzyyyyyyyzz{zz{yxyzyyyzyyzzyyzzyyzyzyyyzyzzyz{zzyyzz{zyxzzzzyzzzzyzzzzzyy{{zzzy{yzzzzxzz{y{zyzz{yyyzyzzzy{{zyzyzzzzyzyzzzzzzzzzzzzyzzyyy{zzzzzzzzyy{zyzz{z{zzzz{yyzyzzyzz{z{z{zzz{zzzz{{zz{{zz{{zzz{zzzz{{|z{z{{{yy{zzzz{{zzz{{z{{zzzz{{y{z{{{{|{{zyz{zz{|zz{|{{{{zz{z{z{{{{{{|{zz{z{y{zz{zzzz{|zzzyzz{{{{{{z{{{zzz{yyyz|{z{{{{{{zyyzzzyzzzy{z{z{yzzzzyyzz{{zzyzyzzzyyyzyzyyy{z{{yxyyyyyz{yzzzz{zyzyyyyyz{yzyzyzzzzyxyyzyzyzzz{{yyzxxyyz{zzyzzy{zzzxzxyzzzzzyzzyzyyyzzyyzxzyzzyyyyzyyzxyyyyzzzzyyyyzyyyxyyzyzzzxzyyxyxyyz{zzzzzzzyzyyzyyzzzzzzzzyyxyzyyyyzzzyyy{zyyyzyyxzyzyyzz{yzzyzzzyzzz{zzzzyyzyyyyzzzz{z{z{yyzyyzyzzyz{z{z{yyyyyxyyzz{zz{zz{y{zzxyyzz{zz{{zzyzyzyyzzz{z{{{zzyyzzzzyz|z{z{z{zyz{z{yyz{{|{{zzzyzzzz{y{zy{{|{zzzz{z{yxz{zz{||{zzy{zzzzz||{{{{{zz{zyz{z{{z{zz{{zzz|zzyzz{{{{{|z{z{zzyzz{z{z{z{y{zy{yzyzzz{{zz{z{yzzz{yzz{{{{z{{zzzzyz{yz{zz{z{zzzzzyyyy{zyz{{z{yz{y{zzzzzzyzyzzzyyyyyzzzyzyzzzzyyzzyyyzy{{zz{{{zzzyzzzzyyzzzzzzyxyyzyzxzzz{zzz{zzyyxyyxzy{{xyz|zyyyyxyyyzyzzz{{zzzyyyyyyz{yyzzzzzzyyzyzyyzzyzzzyzxzzxyyxzzyz{zyyyyzyzyzy{{yzyzzz{yyyyzyyz{{zzzzzzyyzyzxyz{yzzzzzzyzzyzyyzzzzzy{zyzyz{zy{z{yzz{zyzzzyzyzz{z{yz{{zzzzyyzyzz{zzz{zzzzyzzzyyzzyz{{{zyzyyyyyzz{zyz{zzz{zzzyy{z{yz{|{yzyzzyzzzz{z{{{zzzzzyyyz{{{|{z{zyzzzzyzz|{z||{{|zyzzz{zz{zzz{z{{{zzzzzzzz{{{{{{zz{|zz{{zz{z{z{z{{zz|z{zz{{{{{z|z{{z{{zzz{|{|zz{{{zzzzz{{{z{z{{z{{zyy{{zzz{zzz{{{z{zzzyzyz}zzz|{{z{zzzyzz{{z{{{zzzyzzyzyyyz{{{{zzzzyxyzyyyzzzzzzzzzxyyzyyz{zzzz{z{yyyzzyyzy{yzz{y{yzyzzy{yz{yyz{zzzzxxyyy{z{yzzzzyzyyyyyyzzyyyyz{yzzyyyyyzz{zyz{zzyzyxyyzyyyzzyyzzyyyzyxyzz{{zyzyzyxyyyyzyz{zy{{{zyzzyzyyyzzzzzzzzyzyzxzyyzzyzzzzzzzxyzyzzzzzyzz{zyyyyzyyzzzzzzzzzzzyyyyyzzyz{{{zzzzzzzyy{zyz{x{{yyyyzxyyyzzzzz{{yzzy{yzy{{z{z{zzzy{y{zzzz|zz|zzzzzyzyzyzz{{zzzzzzyyzzzzz{{{z{|z{yzyyyzzzz{z|z{{zzzy{zzy{z{{z{||z{yzzzyzyz{{{{{{{zz{zyzzzzz{{{{{{zzzz{zzzz|{{{z{{{yzzzz{z{{{{{zzzyyzzzyzy{{{{{{{|{yz{zzzyzzz|{{{{z{zzyyyzz{z{z{{{z{z{yyyyz{zz{z{{yzz{zyzzzzz{zzzz{zyyzyyyzzzzxz{zzyzy{yyyz{{z{yzzzzzyzxyzzz{zz{zzzyzzyyyyzz{zyzzzzyzxxyzzzzzyzzz{zyyyyyyyzzzzzzyzyzyyyzxzz{zyyz{zzzxyyyyzyyyzzzyzzyyyyyzyzzzyzzzzyyzyyyxyzzzyyzz{yzzzyzyyyyyy{zzzzyyzzyyyz{zxy{z{zyyyzz{yyz{zy{zzzyzyzzyyzy{zyz{{zzyzyyzyzzzzyz{{yxyxzz{z{zzzz{zzzyyyyzzzzzyzz{{z{zz{{yyzyzzz{z{zzzzzyyyz{z{zzyzz{y{zyzzz{z{yy{{zzzzzzzzxy{{{{{{zzzzzzzzz|zz{{z{{{zzzyyyyz{{z{{{{{z{z{zzy{|zzzz{{yzzyzzzz{{y{{{zz{zzzzzzzz{z{zz{z{{zzzy{z{z{z{z{{zyzzz{{{yzzzz{{{{zzz{zzzzzz|{{{|z{zzz{yyzzz{z{{{{yzzzzzyz{z{{zzzzzzzzyyyz{yz{{zz{zzzzzyyzzz{yz{{zzyyzyzy{zzz{z{zzzyzyzyzzzyzzz{zzy{yzzyyyz{zzz{{zyyxyyzyzyzzxz{{yyyyzyyyyzzzy{{yzzyyzzyyzzxyzyzzzzzxyyyz{yyzzzzzyyyyzyzyyzzzzzzzyyxzyyyyzzyzzzzzzyzzxzyzzzzz{zzzzzzyyyyxzzzzzzz{yzzzyyyyzyyzyzzzzzzzzzzyz{zzzzzzzyyzzyzyzy{zyzz{xyyyyyyzzz{{zz{{zzzyyzyyzzzzyz{{z{zzzzzzzzzzz{{{z{zzzzyy{{zyz{zz{yyzzyzz{zzzz{zz{z{zz{zzz{{{{{{{zzyzz{zz{{z{z{{|zzzyzzzy{{{z||{z{zz{{zzz{|{z{{{zzz{yzz{{{{{{{|{}zzzzz{zzz|{{{{{{zy{zzz{zzzz{{z{{zzzzzzz{{z{z{{{{zzz{zz{{{zz{{{{|z{zzzzzyz{z{z{|yzyx{yyzzz{{z{{{{zy{yzyzz{{zyzy{yyzzzyyzyzz{zzzyzzyyyzzyzzzzz{zz{zzzzzyzy{yzz|{z{yxzzyyyzz{{zzzzzzyzyyzyyzyzyzzzzzyzyyyzyzzzyz{{{zzzyzyyyz{zzy{yyz{xzzyyyyy{yzz{{yzzxyyyyzzzzzzzyzyzyyzyzz{zzzz{{yy{zyyyyz{y{zy{zzyzxyzyyz{zy{z{zyyzyyyzyzzzzz{z{zzzyzyzyzzzz{z{zzzyzzyzz{z{zz{z{zzz{zzzzzyzyz|{zzyzzyyzzyzz{z|z|zyzy{y{y{zzz{{{zzzyzyzyzz{{{{{{{yzyzyzyz{z{z{{{z{zzzzy{zzzz{z{|z{y{{yzzz{{{{{{{{z{yzzzyzz{z{{{{zzy{zz{zz{{{{{z{|{yzzz{{z{{z{|{{|{{yzzz{{{{||{{{|{z{zzz{{z{{{z{{{z{z{zzyzz{{{z{}{{zz{z{zz|{{{{|{{{zzzz{zz{{{{{{{{{zyyzz{z{z{{z{{zzyzzzzyy{z{{{yzyyyyzyzzyy{zzzy{zzzyyyyyzzzyzz|{zzyxxzyyyzzzz{{z{zzy{yzyyzzzzzz{zzyyyzyzyzz{zz|zzzyyzyyyxzzyzyz{yyyzyyyyzzyzyzyzzzzyyyyyyzzzzyzzzyzzyyyyzzzzzzz{{yyzyyyzyy{zzz{{zzyzyxyyxzzzzzzz{zzxyyzyyzzyzzzzy{zyzzyyyzz{zzz{{zyzyyzyyzzzz{{z{zzyzzyyyzzz{z{zzzy{yyyyyzzzzzzz{zyz{{yzy{z{zz{{zzyzzzyzzz{zz{|z{zzzzzzyy|z{z{z{z{yzyzyzz{{{{zzzzzy{y{zzzz{{{z|{zz{zyz{zz{z{zz{{zzz{yzzyx{{{{zzzz{z{{zyzy{z{{zzz{{zzzzz{zz{z{|z{{zyyzzz{{z|z{{z{{{y{yzzzyz{{z{{{z{zzzzz{{zyz{|{{|z{zz{yz{{{z{{z{{{yzzzzz{z{zz{{{{|yyz{{yz{yzzz{z{zz{zzyzz{{zzzzzzyzyyyyyyyzzzyy{zyyyyyzyyzyzyy{zzzyzzzyyyzz{{z{zzzzyzzyzz{z{zyzzzzzzyyxxzzyzzz{yzyyyyyxyyyz{yy{zyzyyyyzyzzyzzyzzyyyzyyzyzzzyyyyzzyzyxzyxyyzyyzz{zyyyzyyyyyzzzzzzzzyzyxzyyzzzzz{{zyyyzyyyyz{{zz{yzyzyxzyyyyyyy{{zzzyzyy{zyzzz{zz|{yyzzyzzzzzzyyzzzzzyzyyzz{{zzy{yzzzzyyyzzz{yzz{{zzyyzzyzzzzz{{zzzzzzxzzzz{{{zy{{{zyzzzzzzz{z{{zz{zzyzzzyz{{{z{z{|y{zyzyzz{zz{zz|{yzy{zyyz{z{{z|{{{zzz{yzzz{{z{{{{zzyzyzz{{z{z{{{zzz{zzzzzz{{|{|{z{zzzzyzz|{z{z{{z{zzzzzzz{{{|z{{{zz{z{zzz{{{|{yz{zzzzzzyzzzz{{{{|zzzzyzyzzzy|zy{{zzz{zzzyz{{z{{{yzyyzyzzyzzzyzzyzzy{yx{zzzzzyyzzz{zyxyyyzz{zzz{{zyyyy{yyyyzzzz{z{yyy{yyyyzzz{zz{{yzzyyyyyy{{yyy{zzzzyzyzzy{zzzzz{zyzzyzyyyzz{zyz{yyxyyzzzyzzzzzzyyyyyyzzyzzzyzzzzzzyzxzyyzzz{zyz{yzyyzyzxyzyzyzzzyzzyzzyyzyyzz{{{zzyy{zzyyzyzzz{zyyyzzz{xzzzzzzyzzyzyyyzzzzzzzzz{yzzzyzzy{zz{{zz{z{z{zzzzz{z{{z{{zyzyzyyyzz{zzzzz{z{yyzzz{zzzz{{zzyzyzzzzz{{z{|{zzzzzzz{z{zz{zz{{zyy{yzzz|{z|{{|{zzz{{zyy{{z{{{{{zzz{zzz{{z|{{|{|{{zyzyz{z{z{{{{{zy{{{yzz{{{z{{{{zyzz{yzzz{zz{{z|{zzzyzzz{{{{z{{}zzzyy{zyz{zz|{{{{zzzzy{y{{{|zzzzzzzxzyyy{{zzzz{{yyyyzxzxy{zzyyzyzyzyzxyyzzyzz{{zzzyyyyzyzyz{z{zzyyzyzzyyy{zzyzzzzzyzyyzyzzyzzxy{yyyyzx{yzz{yzzyzyyyyzxyzzyzzy{zyyyzzyzyyz{zyyzz{yyyyyyyyzyzzzyzzzyzyyzyxyzzz{{z{zyyyyyzy{{{zzzzzyyyzyyyyzzzzyzzyzzyxyxzzzzyzyz{zzyzyyyzxyzz{{z{zzzyzzyzyzzzzzz|zzzzzxyzy{zyz{{zzzyzyzzzz{z{z{{{zzyyzzyyyyz{zzzzzzzyyzyyyzy{z{z{zzyzzyyyzzzz{z{{z{zzzzyy{zz{{z{z|zz{yzzz{zz{zy{{{yzzz{zyz{z{|zz{zzzzzzzzy{{{{{y{{zzzzxzzzz{{{|zz|{zzyyzzyz|z{{{{{{zzzzzz{z{{{{z{zzzzyzzzzzzz|{{z{{{z{z{yz{{{z{{{{zzz{zzz{z{z{zzzzz{zyzyzzzzz{zzzzyzzzzzyyzzzzyzzzyzxyyyyyz{yyzyzzzzyyyyyyzzzzzz{zyyxyxzyyzzzyzzzzzxyyzyyyy{zzyzzzzyyxxyyyzyzzzzzzyzyyzyzxy{zzzzz{yyyzyyyyzy{yyyyzzxyyzzzz{yzzyzzzyxyxyyzyyzzzyz{yyyyyyzzzzzzyz{{zzz{zxyyyzz{zzz{zyyyywyzyy{yyy{{zyyzyzyzxz{zyyzzzyyzyzzyyzyzz{zzzzyzyzzyyz{{zzzz{{yzz{y{z{zzzz{zzyyzzzzzzz{zyyzzy|zzyyzzy{zzzzz{{zyzzzzyz{{zz{z{zzzzyzzyyzz{zy{yz{xzyzzzzyzz{{zz{zzyzyzzzz{z|z|{{{zz{zyyzzz{z|{|{{yzzzzz{z{z{|{{{zzy|yz{zz{{{z{z{{{yzzzzzz{{{{{{zzyzz{zzz{{z{{{{{zzzzzzzz{{zz{{z{z{zzzzzzyz{{y{{|{zzy{zzzz{{{{{{{zzzyy{yzzzz{zzzz{zyyyyyzz{zzyz{yyzyyyxzxyzzyyzzzyyyzzxzyzzz{{{zzzzzyyyyyzzzyzzzzzyyzyyzzzzz{yzzz{zzxxzzyzzz{z{z|yyyyyyzyyzyyz{{xyyyyyyyyzzzzyzzzzzyzzyzyzzzzyzzzzzyyyyyyy{zzzzzzzyxyzyxzyzzzzyz{zyyyzyzyy{yyyzzzyyzyzzxyz{yzzy{zyzyyzyyyy{zzzzzzyyzzyzyxzyzy{z{zyzyyyzyzz{zzzzz{yzyzzxzyzzyzzz{|yzzzyyzyyz{{zyzzzyzyzy{zyzyzz|{yzzzzzzzyyyzzz{{{zyyyzzyzz{zzyy{{{zyzyzzyz{{z|{{zzzzzzzzz{zz{zz{zzzzzzzzy{z{{{{z{{yyzzyyz{{{{{{{{{zzzz{z{{{{{{{{z{yzzz{zzz{{{{{{{zzz{zzzzz{z|z{{{{zz{zz{z{yzzz{|{{zy{zzzzzzz{||{{{zzyzzzzyz{zz{{{{zzzyy{y{{z{zz{zzyzyzyyz{zz{zz{yyxzyyyyyy{yzzzzzyxyyyxzyzzyzzzz{zyxyzyyyyyzz{zzzzyyzyyyyyyzzzyzyyzyzxzyyzzy{zzzzyyyxzy{xyyzzyz{zyyyyyxyyzy{xyzzzzzyyyzyzzzzyzzzzxyyzzyyzzzzzyzzzyyyyyzyyyzz{zzz{zzyyzzyxyzy{yzzzyyyyyzyyyzyzzyyyzyxyzyyyyzyyz{zzyxzyzyyyyzzzzzy{zzyyzyyzy{yz{z{{zyzzxyyyyy{yzyzzyyzyxyzyz{z{{{zzzzzzz{zyyzzzz{yzzy{zyyyy{{zzz{zzzzz{zzyzzzz{y{yzzyyyyyz{zz{zzz{zyyzz{zzz{{z{{{{{yyz{zyyyzzz{zz{zzyzyzy{z{z|{z{{|zzzz{y{z{{zzz{zz{yyzzzzzz{{{z|z|zzzzyzz{zz{{z|yzzyyzz{zzzzz{z|{|zzz{zzzy{zzz{{||yzzyz{{yz{zzzz{{zyyzzzyyy{z{z{{zzz{zzyxxzy{{yzyyyyxyyyzyyzzzyyzzzzzzzyyyy{zzz{z{zzzxyyzxyzzz{{zzyyyyzzyxz{yzzy{yzzyyyxyyyzzzzzzzyyyyyyxxyz{zzzzyyyyyzyzyyzz{{zzzyyzyyyyyzzzzyzzyyzyzyzzyyzzzzyzzzzyxyyxzzz{zzyzzzzyyyyyyyz{zz|z{zyyzyyyyzyyyzzzyzzyzyzyyz{z{zzzzzzzzzzyyyzz{zz{zyz{zyyzyz{zzyz{zz{{yyyzyzzzz{z{{zyzzyyzzyzzzz{{zy{zyyyzzzz{{zzz{zzzyzyyyz{{zzz{{yzzyyzyzzz{zz{zzzzyyzyyzzz{{{{{{zzzzz{zzz{z{z{{z{zzz{zzyzz{z||{yzyzyyzzz{|{z{{{{{zzzyzzy{{{z{{|{|zz{{zzzzz{{{{{{zz{zyyzzz{zzz{z{{z{zzz{z{{z{{{{|zzzz{zzzzz{{z{{{{{zyyz{{z{{{{{{z{zzzzyzzzz{{z{{{yz{yzzyz{zzz{zzzzyyyyyzyyyyyzzz{zyyxyzyyyyyzyzz{yzzyyzzzzzzz{zz{zyzyyyyyzzzzzzzzzzxyxyzyzzzzzyy{zyyzyzyyxzzzyzzzzyzzyyxyzzzzz{{zzzyyyzyzzyzzzyzzyxyyxxyyxzz{yzyzyzyyyyzyy{yyzyyzzyyzxyyyzzzzzz{zzyzyyyyxzyzyzzz{zzyyzzxxyzzzyzz{zyzzyyzy{zzzyy{zzyzyzyzyz{zzzy{{yyzyyyyz{yz{{z{yzzzyyzyy{zyzzzzzzzzzzzzyy{{yz{{zyyyzzz{yzy{{zzzzz{z{yyyyz{zzz{zzyyzzzzzz{zz{zz{{zyyyyy{zzz{zz{{zzyzzyyyzz{{{z{{z{zzzzy{z{{{{{z{{z{zyzz{zzzzz{|{{{zzz{zzzz|{z{{{{{z{zzyyzz{{z{{{{{yz{zzzy{z|{{{|{{|zzzzy{{|z{{z{{{zzzzyyzzzz{zz{{zzz{zyyzzzzzz{{zzyzyyyzzz{{zzzzzyzyyz{yxyz{yzzzzzzzzyyzxzzzzzzzzzzyzyyzyyyyy{yzzyzzzyyxyzz{{zzyzyyzyyyyyzyzzzyyzyxzxxyyyzzzyzzzyzyyzxyyxyzzzzzx{yyzyxyyzzzyzyzx{zyzyyyyyzyz{yzzyyz{zyzzyzzzzzzz{zxzyxyyyyz{zzyzzzzyzyzyyyzzyxzz{zyzyzyzyyzzzz{z{zyyzzzyyyzz{zzzzyyyzzyzzz{zzyz{zyzzyyzyzz{zzz{{zzzzyzyzyzz{z{{yzyzzyyzyzz{zzzzz{zy{zzzyzzzzzzy{zzy{zzyxzzz{{yzz{zyyyzyyzz{{zz{{{zyz{zy{zzzz|{{z|zyzzzzzzz{{zzzzzyyzyzz{z{{zz{{z|{{zyyzzzz{{z{{z{{zz{z{{{{{z{zz|zzzzzy{zz{z{{{{{{{y{zzyz{{{{{{{{{zzzyzzzz{z{{zz|{z|zy{zzzz{zzz{zz{zzz{yyyz{{{zz{zzyzzzzzzzzzzzz{yzzyyyzyyyzzzzzzyyzyyzxyyyzzzzzzzyyywyyyzyzyzzzzzzyyzyxyyzyzzyzzzzyyyyzyy{yyzyzyzzyxyxzzyyzyzyzzzyyzyyyxzyzzyzyzzzzyyyzyzzyzzzzzzzyyyxyzyyzyyyyz{zyzyyyyyyzzz{yzyzyyyyyyxzzyzzzzyyyzxyy{zyyzzzyzzyzyyyyyyyzyz{zzzyyyzzzxzy{{zzzzzzxyyzyyzz{{zz{zzyyzzzyxyz{zyz{{{zyzyyyyyzz{zzzzzyzzyyyyyzz{{zzz{{yzzzyzyzz{zzz{{{yzyyyzyzzz{z{{{zzzzzyzzzz|z{zz{zz{yzzyzz{zz{{{zzzzzyzzyz{{{z{{{{zzzzy{zz{|zz{{{zzzz{zz{z|{|z{{{zzzzzzzzz{z{{{{{zzzzzyzyz{{{{{{{{yzzyzyz{{{z{z{{|{y{z{z{z{y{z{{zyzz{zzzzzzzz{{{zz{yzyyzyzzzz{zzzzzyxyyzzyzz{{{zzzyxzyyyyxyzyzy{zzyyyyyyxzyzzzzzz{yzyxyyyyyzzyzzz{yyzyyyzyzyzzy{zyzyyxyyx{zzzyzzy{yyyyyzxyyzzy{zyzyyyxyyyzyzzyzz{yyyyyzyyyyzzyzzyyyyyyyzwzzzyyy{zyyyyxxxxyzz{zyzzzzzyxyyxyzyyyyzzxyzzyxzzyzyzzz{zz{yxyyyyyyzzzyz{xyyyyyyxzzzzz{zzzyyyzxzzyzzyzzzzzyyyzyzyzz{zy{zzyzyzyzzyzzzzzz{{zxzzzyzyyyzzzzzzzyzyzyyzzzzzz{y{{yyzyyzz{zzzy{z{zyzzzyyzz{zzzzzzyzzzyzzz{{y{z{z{zzyyzxyyz{{{z{|{yy{{zzzz{zzzz{z|zzzyyzzzz{|zzz{{zzyzzz{yz{|{z{|{zyzzyyzzzzzz{zz{{yz{zzzz{zz{z{{z{zyzzzzzz{z|{{{{zzyzyzzzzz{{{{zzzz{zyyzyzzzzyz{zzzzy{yzzzzzyzzzyyyyyzzxxyzzzzz{zyzxyyyyyzzzzzzzzzyzyzyzy{zzyzz{zyzzyzyzxzzzzzy{z{zzzyzyxzzzzzzzzyyyzyyyyzzzzy{zzzyxyzyyyyzyyyz{yzyyyyzyyzyyzx{zyyxyyzyzyzyzz{zzyyyyyyyxxyyzzyz{zyyyyyzyxyzyzyzzzyzyxyzyyzzzzzzzyzzzyzxzyzyyyz{zzzyyyy{zyyz{zzz{{zzyyzyyz{{zyyzzzzzzzyyzyzyyzzzzzzzyyyyyzzy{{zz{{zyzyzyzyzzzzzzzzyzyyyyyy{zz{z{z{zzzyyyyzzzzzz{zz{zzzz{zzzzz{{z{{zyzz{zzz{{z{z{z|zyzyyzzy{{z{zz{{zzzz{yyz|z{{|{{{|zz{yz{zz{|zzz|{{zzzzz{zzz{z|z{{zzzyzzzz{{{zzz{zzzyzzyyzzzzzz{z{{{y{yyyzzz{{{{{zzz{zzzzz{{zz{{{{yzxzzzzyz{{{{{{{zzyyyyyyz{{zzzyzyyyxzyyyyyzzyzzzzx{yzwxyyyzy{{{zzzyyzzzyzyzzzzz{zyyyzyyyyzzzy{zyzzyyyyyyzzzyy{zzyyzyyyzyyzzyy{{y{yzyzzzyyzzzzzzyzzzyyyyyyyzzzz{zyyyyyyxyzyzzyzzzyyyyyyyyyzzz{zyzzzyzxyyyyzzzzzyzzyyzzyyyzzyzyzzzyzyyyyyzy{yzy{{{yzzzzyzyzy{zyzzzyyyyzyzyzzyzzyzzyyzzzzyz{zzzzzzzzzzyyyzyzzzy{z{z{zz{zyzyyzz{zzzzzzyzzzyzy{zz{y{{zyyzzyyz{{zz{{{z{zzyzyzz{zz|{zzzzzz{zzzyzzyz{z{zzy{{yyzzz{|zzzzz{yzyzzyz{{{zzz{{zzzzz{{{z{{{zzz{{zz{zzzzy{z{{{{{zzyzzzzz|{z{{{|{zyyzzzzzz{{{{{{{zzzyyyzz{zz{{|{{zzzzyyzzz{{{{{z{zzzyzzzyz{{zzz{zzzyzzzxyyzz{zzyzyzyyyxzz{yzyzzzzyyxzyyyyzzzzzzzzyyzyyyzxyyyzzzzzyyzyyyyyyyz{zz{yzyyyzxyyzzz{yz{{yy{yyxyxy{yyzyzyzyyzzyyyyzyyzzzyyyyyyyxyz{yyz{zzzyzyyyyxzzzyyzzzzyyyyzyyzzzzzyzzy{zzxyyzzzzzzy|zyzyyyyyzzzzzzzzzyzzyzyyzx{zzzzxzyyzyyzxxz{yzzzzzzzz{{yzzzzyzzzz{zzyyyyyzzzzyzzz{yyzyyzyzzzyyyzzzyzzzzzyz{zzz{{zzyyzzyyyyz{{{zzz{yyyyyzyyzz{zyz{{zzzzyzyz{z{{z{{{yzzzzzz{z{z{z{{zzyzzzzyzz{{zzz{{{z{zzzzyz||z{z{{z{zzyzz{{|{z{{z|zyzyyzyzy|{{z{z{{y{z{{yzzzzz{{{zyyzzzzzz{zz{z{{{zzyzz{{z{{{zz{{{zz{yzyzzzz{{{{{{}zz{yyzyzzz{zz{zzzzzxzxyyzzzzz{yzyyy{yyyy{yzzzzyzyyxyyxxyyzzyzzzzyzyyxyyzzzz{yzyzyzyyxyyyzzzzzzyyyzyyzzyzzzzyzy|yxzyyzyyyzyzyzzyyzzzyyxyzzzzyz{{yyyyyyyyyyxyzzz{yyyyxyyyyyyyyzzzyzxxyyyyyzzz{zyzzyyxyzzyzyzzzzzyyzyyyyzzzyyzyyzzzyyzyyyyyyyyzzzzzzyzyzyyzzzzzzzyzzyzzyyzzzzzzzy{zyzyzyzzyz{zzz{zyzzyyxzyzyyzyzzz{yzzzyyyy{y{z{{zyxzyyzyz{zzzzyzz{yyzyyyyzyzyzzzzyzzzzzyyzz{{z{{zyzyzzyzzzzzzzzz{zzzzzyzyz{{z{z{z{yyzzzyz{{z{{{zzyy{zz|zz{{zz{{z{{{zzyyzyz||{{yz{{{yzzyzzzzz{{z{zzyy{zzzz{zz{z{{{{zz{{zzy{{yzzz{zzzzzzyzzz{{y{{{{{yyyzzyzz{zz{z{{yyyyyyyyy{z{z{yzyxy{yyyyy{zyyyy{xzzyyyyyyyxyzzzzyzzxyzyzzyzzzzzzz{zyzyyyyzzzzy{zzyyxxyyxxzzzzyzyzzyzyyyyzzyyyz{zzyzyzyyyzzzyy{z{yzzyyxyzyzz{yzzyyyzyzxyzyyzzzzzzyyyyxxzyzzzyz{yyzzzyyzyyzzzzyyzzyyzzyyyzyyzzyzzzyzyyyxyyzzyyzz{{xyyyyzyxzyz{zyz{zyzyzyxzyyzzzzz{yyyyyz{{zz{zz{z{xyyzzzy{zz{z{z{zzzz{zxzyzz{zz{zz{yyyzzzyzzzyyy{zzzyzyyzyz{{zzy{zzyz{zzyzzzz{z{{{zzzz{y{zz{y{y{{{zzzzzyzzz|{zz{{zzyyy{zyz{{z{{z|{yzyzyzz{zzzz{{{{zzzzzzyzz{{{z{|zzzz{zz{z|z|{{{zzzyz{zyyz{zz{z{z{zzzzzzyz{{{{zzz{yzyyzyzyzz{zz{|{zzyyyyyy{z{zzz{{zz{yzzyzzzzzzzz|xyzyyyyzzzzyz{zz{yyzzyxyzzzzzz{zzyyzzzyy{zzzzzzzyzyyyyyyzzzzy{{{zzyxyyyzzy{zz{zzzzzyyzzxz{zzyz{zy{{zyyzyyzzzyzzzyzyzzyyy{zzzzz{zyyyyyxxyzzzzzzzyzzyzzzyyzyzzzzzzzzzxzyxyyzyyzyz{zyzxyyzyyz{yyzyzzyyyyzyyyyyzzzyyyyyz{yyyyyzz{zz{{xzyzyzzzzzzy{{{zyyzyyyyz{{zyzzzyyzzzzyzz{z{{z{z{zzyxzyxz{{zy|zzzzzzyzyzzzzy{{zz{yyyyzzzz{{z{z{z{yyyyyyzz{zz{{|{zzzyzzzz{z{{z{||zyyzyzyz{{z{{{{z{yyzzz{z{z{z{{z{zy{yz{{z{{{zz{{{{yyzz{{z{{{{{z{{{zy{yz|z{{z|z{{z{yzzzyzzz{z{z{||z{z{zyz{zz{{{z{{{z{zzzzzz{zz{{zz{zzzzzzz{zz{zzzz{zzyxzyyzzzzzzz{yyyyyyzyzzyzzzzzyzyxzyxyyzzzyzz{zyyyzzyzzzzzzz{zzxyyzyyxzyz{y{{zzyzyxyzyzyyzyzyzzxyyyyyxyz{{z{zyyyzyzxyyyzzzyzyzyzyxyzyyyzzxyzyzyzyyyyyyyzz{zzzzzyyxzyxyyzyzzyyzzyyyxxyyzzzzz{zzzyzyyyyzzyzyzyyyzzyxzyyyyyzzxzz{yzyyyzyyyz{yzy{zzyyyzyyyyz{yzzzzyzzyyyzy{z{zzzz{yyzyzyzzy|yz{{zzzxzz{y{zz{zzz{{z{yzzzzyxzzzzzz{{zzyyzyzyzz{zz{{{{zyzzzzzzzz{{zy{zzyz{z{z{zz{z{z{zzzzzzzzz{z{zzz|zyzzzyzzz{z|z{{zzzzzz{{{zz{zzz||{z{zyzzzz{zzz{{{zzyzyzzz{|z{{zzzzzz{z{zzzzzzz{{{z{yzzzyy{zy{z{{{y{zyyyzz{yyz{z{{zzzzyzyzzz{{z|zzyyyyyzzyzyy{z{zxzzyyxyyzzzzzzzzzzzzzzyyyzzyzyz{z{yzyyyzyyzzzzz{{zyzyzxyyzyzzzz{{zzzyyyzyyzzyzzzzzyyzyyzzyz{zzzzyzzzzyyxyyy{yyzyzyyyyzyyyzyyzzzzyyyyyyyzyzzyyxzzyzyzxyxyyxzzyz{zzxzyzyzyyz{zzzzzyyzyyxyyzyyzzzzzzyyyyzyzxyzyzzzy{yyyyzyyyzzy{zz{{zzzyyyyzzzzz{zzzzyzyzxzzyyzzzzz{zyyzzzzzzzzyzzzzyzyyyyzyzzzzz{zzzzzyzzzyzz{zz{zzyzyy{yyzyzzzyzz{yzyzyyyy{zzz{{zzzzzyzyzyz{y|z{z{zyzyyyyxz{zz{z{|{z{yzzzyz{{{z{z{zzyzzzzzzzzzz{{{{zyzzzyzzzzz{z{z{zz{zy{zzz{{{z{z{yyz{zz{z{z{z{{|z{zzzzyyzzzz{{{{yzzy{zzyz{zzz|{zz{zzyzzyz{zzy{{{zyyzzzzyyz{zyzz{yzyyxyyyzzzyzyzz{zyyzzzxzz{zzzzyyyyxyzyx{zzyzz{{zyzzzyzy{zyz{{zzzzyyyyzyzzzyzzz{xzyxyyyxzzzzz{{yzyyzzzyzyzzzyzzzyxyyyyxzzyzzyzzzyyxyyzzyzyz{zz{zzyyzyzyyyzzzyzy{zzzyyzzyxyzzzz{zzxyyyyzyxzzzyzzzyyyyyzzyyzzzyzyzyyzyyzyyxzyzyzzzzzyyyyyyzz{zzzzzzzzxyyzz{zz{yzzzzzzzxyyzz{{z{zz{zzyxzzyzzzzzz{{yzyzzzyzzzzzzzz{zzzzzyyzzyz{z{{z{zzzyzy{z{zz{z|{{zzzyzz{z{{z|z{{zzyzzzyyz{|zzz{|z{yyyzz{y{zz{z{y{zyzzzzzz{zz||{{|{yz{yz{z{{z{{|{|{yzzyz{z{zzz{{|{zzzzyyzz{{{zzz}{z{zzzzz{zzzy{{{{{zzzzyzy{zzz{|{{z{yzyzzx{{{|zzzzzz{xyyyyzzzzzzzzyyyzyyyyyzzzzz{zyyyyyxyzyzzzzzy{zyyyxyzyzzyzyyzz{yzyzzxzzzzzzyz{zzyyxyyxzzzz{{z{yzyyyyzyyyzzy{zzzyyzxyxyyzzzyzzyyyyyyyx{zyzzzzzzxyyyyyyxzyzzzzyzyyyyyyxyyzzzzz{zxzyyxyyyyyy{zzzzzzyy{yzyyyzzzzy{zyyyzxzyyzzyy{zz{yyyyyyy{z{{zzzyyyzyyyyxzyzzyyy{zyyzyzyyz{zz{{{{zzyyxzyyz{{zzz{{zyzyzy{zyy|zz{{zzzzyzzyzz{zyz||zyzzzyyyz{z{y{z{zzzzyzzzy{zz{z{z{zzzzz{zy{y{zz{|{{yzz{yzzz{z{z{{{zyzyyzzzz|{{z{{|zyzz{z{{{{z{{{{{{z{zy{yzz|{{{{zz{zzzyzzyz{{zz{{yy{zyzzz{{{z{z{z{{zzzzyy{{zzz{{z{{zyyzzzz|{z{|{{{yzzyzyzyy{z{{{{zzyyzz{yxyyzzzzyyyyzyyyzyzzyzzz{{yyyzywxyzzzzz{zzzzyyyyyzzzyzzzzzyxyyzxyyzyzzzzzzz{yxyyzyzzzzzzzzyyyzyyyyzzyyyzyzyxyyzyyyzzyzyzzzzzzyyxzyzyzzzzzzzzzzyyyyzzz{zzzzyzyyxyzyzzyzz{zzzyzyzzyyyzzzzz{zyzzyyyyyzzzzyy{yzyyxxyzyyzyzzzzzyzyyyyzyzzz{yzz{zzyzzyyyz{{zz{{{{yy{yyzyzz{{y{{zyzzyyyyxzzzzzz{{zyzyzyyyyzzy|{zz{zzzyyz{zz{zyy{yzzzzzzzz{{zz{zzzzyzyzzzzzz{{z{zzyzzyyzzzzzzzz{{{{yzzzyz{zzz{{z{zzyz{zyzz{{{{z{{zz{yyzzz{zzz{z{zz|z{zzz{zz|zz|||{z{{zzzz{z{{{|{{zzzzzzyzz{{z{{{{{zzyzzyz{z{{z{{z{yzyz{zzzz{{{{{{{{yxyyyyzz{|{{z{zzyzzyyzyy{z{zzzzxyyzyyxzzzyyyyzzyyzyyyyxyzzzy{{yyzxxyyyyzyzyyyzzzyzxyyyyyyzzzzzyzyyxyyyzzzy{zyzzyzyyyyyxyyzyy{y{zyyzyyxyyxzyzzy{zyxxzyyxzzzzyy{zxyxyyxyyzzz{zzzyyyyzyyyyyzzyyzzzyy{yyyxyzzyyyzyyyyyyzyzyy{yyzzzzzyyyyyyyyzyyzzzzyyyyzyyyyyyzzzz{yzyzyyyyy{zzzzzzyyzxzyyzzzzzyzzz{z{yzyzzzzzyyzzzzzyzyyyyyzzz{{zyzyyyyyzyzz{zzz{zzzyzzyzzz{zzyzzzzzyzzzyzzzzzy{{zyzyyzzzz{zz{zz{{yzyzy{zzzyzzzzzz{zyyzzzzz{zz{{{zzxzzyyzyx{{z{{{zzzyzzyzzz{z{{{zzzy{zzyzzzzz{{{{{zy{yzzy{{zzzzzzzy{zzzzzzz{zzzz{zz{zyyzzzzz{zzyz{{zyzyyyyzzzyy{{zzzyyzyzyzz{y{zzzyyzyyzxyyz{yzz{zyzyyyxxyzy{zyzzzyzyyyyzyzyyxzzzzyzyyyxzzyyyzyyzzyyzxxyyxzzzzyyyyyyyxyyyyyzyzyyzyzyyzxzyyyzzyyzz{zyzyyyyyzzyzyyzzyyyxzzyyyzzyyzzyxyyzyzyyxz{zyzzyyyyyyxyxzyzzyyzzyyzyxyyyyzyyyzyzyyxxxxyyyyyzy{zzzxzzzyyxzy{yzzyzzzyxyxzzz{zyzyyzyyyyyyyzzyzzy{zzyzzyyxyyzzzzzzzzzzyyyxzyyyzz{zyy{xyzyyzyzz{{zzyzzzzzzyyyyzzyzz{zzzzzyzyyzz{z|{zzyz{zzyzyzz{zzz{{zzzyyyzzzzz{{z{zzyzzyyyy{|{zz{z{{zzzyzz{z{{z{{{{{zy{zz{zz{{zzzz{yyzyzyzzzzzz{{zzyzzzzyyzz{zzz{z{zzzzz{zzzzzz{{zzy{zyzzzzzzzzz{z{zyy{zzzyzz{{zz{zzyyzyz{xzzzyzzyxzyxzyxyyyzyy{{yzzxyzyyyyy{{{y{{yzyyyyyyyzzyyz{{{zyyyzyyyyzzzyz{zyzyxxxyx{x{zz{z|zyzyyyzxzzzxzzzzzzzzxxyxyyzzz{zzzyzyyxyyzyzzyzzzxyyyyyyxyzzzzzzzyzyyyyxyzzzyzzyyyyxyyyyyyzzzzyzzyyzxyyxyxzyyzzzzyyxxyxzyzzyyz{{zyyyyzyzyyz{zzzzz{yyyzyzzz{z{zzzz{yzzzyyy{zyyzzyzzyyzyyxyzzzyyzz{zz{zzzyzzzz{y{yz{y{yyyxyzzzyzz|zzzyzzyyzz{zzz{zyzzzzzyy{z{{z{{{zz{zyyyy{z{z{z{zzzzzzzzyzzz{{{{zzzyzyyzzzz{z{{z{{yyzzz{{zz{z{z{{{{{zz{yzy{{{{{zz{zy{yzzyzzyz{{z{|{zzz{yzyzzzzz{{|z{yzzxzz{z{|{z{zyyyyzzzyz{zzz{{z{zzyyyzyz{{z{z|zzzzzzyyyzzzzzzzyxzyyyyxxyzyzzzzyxyyzyyyyzzzy{zz{zyzyyyzz{yzzyzzzzyzyzxzyzzzzzzzzzzzyxyzzyzzzzzyyzzyxyzyyzzyzzz{yzzyyyyzyzz{yzzyzyyzyyyyzzzyzyzzzxyyyyzyyzzzzzz|zzxyyyywy{zyyzyzyzyyzzyyyxzzzzz{{zyyzyyzyzzzyyyz{zyyzyyyyz{zzyzzzyyzyzzzyyyzzzzzzzzxzyzyyzy{z{zzyzyzyzyyyzzzzz{{{yyyyxyzzz{{zzzz{yzzyzyyyzz{zz{{zzzyyzyyzzyzz{z{zyyzzyzyz{{{zz{zzzz{zzzzzz{zz{|z{zyyzzz{zz|zzzzz{{zzzzyzyzz{{{z{z|yxzz{{yzzzzzzzz{z{zz{zz{{{{z{z{{yzzzzzyz{{z{{{{{{yzzzzz{{z{{z{{{zzyzyzz{{{zzz{{z{z{{yz{{|{zz{{{zzz{zzzyz{{z{{{|zzzzzzzzz{zz{zzzzzzyzyzyyz{{zzzzzyyyyzyxyzyzyzzzyzyxxyyyzzzzz{zzyzyzyyyyzzzyzy{zzzyzyyyyzzz{yzzyyz{yyyzzzyzzzzz{yzyyyyyyzzyz{{zy{yzxyyzxzzzzyzzzzyyyzyyxzyyzzzyzyyyyzyyyyyzyzz{yzyzzzzyyyzzzzyzzyyzzyyyxzzzzzz{|zzyzyyyyyzzzzzyyyyyzyyyzyzyzzzz{zyyzzzzxzzyz{{z{zzyxzyyyzzzzzzz{zzzyyxzzzz{zyzyzyzzyyzyzzyzzz{zyxzzyyyzzzz{yyzzzzxzzzzyzz{zzzz{yyyyyyyzz{{{z{{z{zyyzyzz{z{{{{{z{yzzzzy{y{{zzz{{{zzyyyzyz{{{{{{{yzzyzzzzy||z{z{{{yz{{z{z{yz{z{{{z{yyzzy{zz{z{{{z|{yzz{zzzz{z{z{{{{zyzzzyz{{z{z{z|{{{zzzzz|{z{{{{zzyzzyyzy{|{{{z{{{yyzyyzyz|{zz{zzzzyzzzzyzy{zzyzzzyyyyyyyzz{zzzzzzzyzyyyy{y{{z{{{yyyyyzzz{zzzzzzzzzzyyzyyz{zzyz{zzyzyzyyyyzzzzzz{zyzyyyzzyzzyy{zzyyzzyzzzyyzzyyzzyyz{yyyyyzzyzzz{yyzzxxyyyz{zzzz{yxyyyyyyzzyzzz{zzzyxzzyzzzzzz{{zzyzyyxyzyzzyz{yzzyyxxyzyyzyyz{z{yyzzyzzzyz{{zyzzzyzyyyyyy{zzyz{{yyzzyzz{{zzy{{{zzyzyyyzy|zzz{{{{zy{zzzzyyzz{z{{{zyzyzyyyz{{zzz{zzzyzzyxzz{zzz{zz{zzzzz{y{z{{{{z{{zzzzzzz{z{z{{{{z{{zzzzz{{zzz{{zz{yzzzzzz{|{{{{z{yy{z{{zz{z{|{|{{zzyz{z{{|{{z{z{zz{{zyzz{{z{z{{{|yzyyzz{{{z|{{{zzzzz{zz{zzzzzzzz{zyzyzzz{z{z{||{{z{z{{zzy{{zzzz{zyzzzzzyzz{{zzyzzxxyyzyxyzzzzzyzz{yyyyyyy{yyzzz{{zyxyyyy{zzzzzzzzzyyyzzxyz{zzz{zzxyxyyyyzzzzzzz{yyyxyzyyyzzzxzzzzzzzyzwzzyzyy{zzyyyyyyyxyyzzyzyyzyzyyzyyyyzzzyzyzyzzxzyzyzzzzzzzzzzyyyyzyyzzzzzzzyzyyyxwxzzzyzzzzyzzzyyyz{z{zzzzyxzyyyyx{zyzz{{zyyyyzyxyyy{y{{{{zyyzyyzzzyyzzyz{yzzyyzyz{zzzzz{{y{zz{xzzzzzzy{zzzzzzyyyyz{yy|z{z{zz{zyyzzz{{z{z{zyyzyyzz{{{{z{{{zyzzzzzzzzz|{{z{zyzzyzzxz{{|{{|{{yzzzzy{zz{zz|z{|zzzz{zy{{zzz{y{{{{{z{zyz{z{{{{yzzy{zzzzz{{{z{{|zyz{{zzzzzyzzz|zzzzzzz{zzz|{{{{{zzzz{zzyzzyz{zz{zzyzzzzzz{zzz{{{zzyzzzyxyzzzz{zzzyyyyyyyyzzy{y{zzzyyyyyzyzzzzzzzyyyxzzzzzyzzy{{yzyzyzyyyz{z{zzy{yyyzyyyyzyyzyyzzyyyxyyyyzyzyyzzzzzyyyyyyzyzzzzzzyyyyxzyxyzzyz{zz{zzyyxyxzy{zz{zyzxyzyzyyz{yz{zzzyzzyyyxyzzyz{yzzyyzyzxzxyyzzzzzzzzxyzzyxyzyzzzzzzzyzyzyyzyyzzzzzzzyyyyyyzzzzzzzzyyyzyzzzzyzzzzz{yyz{yzzyzz{z{{zzyzzyyzyyy{zzzzyzzyzzyxyzzz{{zz{z{yyzzzzyz{zzyz{z{zyzyzzzz{z{z{zyzzzzzzzz{zz{{{{{zyy{zzzy{{{{|{zzzyzzyzzz{|{zz|{{zz{zzzzy{{z{{{z{zzyz{yyyz{{{zy{z{z{|yzz{{{zz{z{z{yyzzzzz{{{{{{{|{zyz{yyzz{z{{{{{zyzyz{z{y{z{{||{{yyzy{zzz|zz{z{yyyzyzzzyzzz{{{zzyyzyzyyxz{zzyyzzyyyxyyyyzzzzyyz{yzyyzzxyzyzzzz{{yyzzyxyyzzzzzz{{yxyyyyyyyzyzyzyzyyyyyzyxyyzzzyzzyyyyyyxyyyzyyyzyyyzyzyyyyyzyzyzzzyyyzzyyyzzzzzzzzyyyxyyyyy{{zzzyzzyyxyyxzy{zzzz{xzyyxxyzzzzyzzyyzyyyzxxyx{{zzzzz{yzzyzzyzyzzzzzzyyzyyyyzzzzyzzyzyzyzyyzyzzz{zzz{zyyyyzyyyzzzzy{zzyyyyyzyz{zz{zzzzyzyyyzyz{zzyzzzyzyzzyxyzzzzz{zzzzxzzzyyyzz{z{xyyyyz{yzzz{yzzz{z{yzyyyxz{zz{zz{zzzyyzz{x{zzzzzz{zz{zzzzzy{{z{{{{{zy{zzzz{{{{zzzzzyzzy{yz{{z|{{|zzzzzzzzzy{zz{{{z{zy{{yzz{yzzzz{{z{zxyzzzz{{zz{zzzzyyzzyyy{z{z{{yzyzzyyyxzzzy{{z{zyyyzyyzyzyyzzz{yyzzyxyzzzyzzzz{{zyyyzyyzyzzzzzzzyyyzxyzzzyyzy{z{zyyyxyyzy{{zzzzyyyyzyzyyzyzzz{zzyzyyyxyzzyyz{{zyyyzyyyzyzzzzyzzyyzzxyyyzyzyzzyzyyzyyyyyzyzzzzyzyzyzxyyzzyzyzyyyzxzyzxyyyzyyzyy{zyyyyyzzzzyzzzzzyyzxyzyy{yzzzzz{zyyyzyzxzzyzzzzzyyyzyzyzzzzzyzzzyyzzyzyzyz{z{{{z{zzzyyyzzzzz{zzzzy{yzyzyzz{zz{{zzzzzzzzz{{zzz{zzzy{zyzyyz{{{{zzzy{zyzzzyz{z{z{z{zzz{zyyy{zy{{||y{zyz{zzz{|{{{{{{zyzzzzzyzz{{{{|z{zzyz{{zz{{z{z{{zzzzyzyzz{{{z{z{zzzzz{{{z{{{{{z|zyzyzzz{{y{{{z{{z{yyzzyzz{{zzz{zzzxzyzyyzzzzzzyyzx{yzyzz{zzzzyxzyyyyxyxyyz{yyy{zzzxyyyzyzzzzyyzzzyyyyzyyzzyzz{zzzxyzyxzyyzyyzzzzzzyzxyyxzz{zzzzzyyyxyzyzzzzyzzzzyyyxzyyyyyzzyzz{yxzyyyyyzyyzy{zzyyyyyzxxxzzyz{zzzyyzyyxyy{yyzzzzzzzyxyyyzzyzzzzzzyyxyyxyzyzyyy{zyzyyxyyzzyyyyz{zzyzyzyxyzzzzz{{zzyyyyyyyyzyzz|z{yyzzyzyy{zzyzz{zzzyyyyyyyz{zzz{{zyzz{yzyzzzzzzz{zz{yyzzz{y{zzzzz{zyzyzzzzz{zzz{zzzyyyyzzzyzzzzz{zyyzzy{zzzz{zzz{{xzyyzyxy{yz{{|zyzzzzyyy{{{{z{{zzyzzyxz{zzyz{{{z{yzyyzzzz|{zy{{{{zzzzyz{{zz{zz{{zz{zzzzz{zz{{{|{zzzz{zyzz{z{z{zzyzyyzzyyyzz{{{{yzzyzyzzz{z{zzzzyzzzzzxzyyzzzyyzyzyxzyyyyyz{yyyz{zzyxyyyyyyzzzz{zzyxxzzyyzzz{zzyzzyyyzzyyzyz{zz{{yzzzyyzyyzyyy{zzyyxzzxyxyzzyzzzyyzyxyzzyzzzyz{zzyyxzyyxzzy{yyyzzxyyy{zyzxzzzzyyzyxyxyyyyzzzzyyyzyxyyzxyyzzzzzyzzzzyzyyyyzyzzzyzzyzzyzxyyyzzyy{zzzyyxyyzzyyyy{yzzyyzxzyyzzzzzzz{zz{zyzzzzyz{zzz{yyzyyyzyyzzz{z{zzzzyzzyzzy{zzz{xyzz{zzyzyzzzzy{{zzzzz{zzzzzz{yyz{zyzzzyyyy{zz{{|{zzyyzyzzz{{{yzz{{yyyzzzz{{z{{{{{z{y{yyzz{{z{zz{zzyyzyz{zz{{z{{zzzzzzz{zzz{{y{{|zz{{{zzx{{{zzz{z{zzzzyzzzzzz{zz{{{{zyzzz{{z{{{{{|zzzzzyzzzzzz{z{{zzzyzzzzzzzzzz{{zyyy{zzyzz{yz{zzzzxyyxzyyzzzzzz{yyyxyxyzzzyzz{zzzzyyzyyyzzzzzzzyzzyzzyyyzzz{{z{zzzzyyzyzyz{{z{zzyy{yyxyxyzyzzz{zyxyzzyyyzy{yz{zzzzzyyyyyzyy{y{zzyzwyyyyyyzzyyz{zyyyzyyxyyzzyzzz{yyyzyyyyzzzyyzyzyyyyyyxyyz{zzzzyyzzyyyyzzz{yz{z{zz{yyyyx{zzzyz{zyyyzzxyy{zzzzz{z{yzzzyzzzzzzyz{{zyzzyzzzyz{y{z{zzz{zzzyyz{{{zzzz{yxzzzzyzz{{zzzzzzzzyzyzz{{yzz{{zzzzzzzyzz{{{{{{zy{zzz{yy{zz{{z|{yzzyzzz{{zz{z{{zyzzyz{z{z{{{z|zz{zyyz{{zzz{{{{{zz{zz{z{z{|z{z{{{zzzzzzz{z{{zz{zz{zyz{zzz{{{{{{{zzzzz{z{{{{{{{||{zzy{yzyzz{z{z{z{{{zzyzzzz{zz{zzyzzzyyyyz{{zyzy{yxyyzyzxzzz{zz{zzyyyzzyyyy{zz{{|zyyyzzyy{zzzy{zyyyyyzzyyzyy{yz{z{zyyxyyzzzzyyz{yzzzyzyyzyz{xz{zzyzzyyyzyyyzz{{zzyyyyzyyy{yyyyzzzyyyzyzyxyzyyyyzzzyyzzyxzzyyzz{zyzyzyyzzzzzzzyzzzzzyyyyzyyzzyyzzzzyyyzzyyyyzzy{z{yyyyyzyyzy{zzzz{zyyyyy{yyz{z{{zzxzzyzyzz{zzyzzzzzy|yyzyy{zzzzz{{yyz{zyyyz{zzzzzzyzyyyxzyzzz{zz{y{zzzzyyzzzzzzz{y{{zyzzyzyzz{zz{{xzzzzzzyzz{{{{{|zzyzyyzyz{{zy{z{{zzz{zyzz|z{{z{{zzzzzyzzz{y{{{z{{zz{y{zy{{z{z{z{{yz{zzy{{{{{{{{yzzzzzzzz{zz{{z{{{zyz{{yz{zzzz{{|z{zzzzyz{{z{{zz{{z{yyzzyzz{{{{{z{yzzyyyyy{z{{zyyyzyyzyyxzzyz{{zzzxyzyyyyzyzzzyzzzyzxyzzzzz{{z{zzzyzyzyyyyzzzyzyzyzyyxyzzzyzzzzz{zzyzzxyxzyzyzz{zyxyxyzyyz{zzzzzzyyyxyzyzyxyzyz{zyyyyxyyxz{zzzy|zzyyxxzyyyyzzzyzyyxyxyyyyy{zy{zzyzyzyyyyyzzyyzzyzyzyyyyxyz{y{zz{zzzzyyzyyzzyyz{{zzxyxzxyyzyzy{zyz{yzzyyyzzzzzz{y{yyzyyzzyy{zz{z{{zyyyzzzyyz{z{{zzyyyyyyxyzzz{zz{zyzzyzzyyzzzyzzzzzzyyzzzzyzz{{{{zyzzzzz{y{z{{z{|{zz{zzzzz{zzzy{z{zyzyzyzz{{{zzz{z{{zyzz{z{{|{{{{{{zyz{{zy{{|{z{|{{z{zy{yz{z{zzz{{{zzzzzzzz{z{{{|{zzzz{zzyz{zz{z{|zzyyzyyzzz{{{z|{{y{{zzzzzz{{zz{zyzzyzyzyzzzyy{yzyzyyyyxzz{zzzyzzyyzzyyzyzzzzz{{{zyyxzzyyzyzyzz{zzxyzz{yyyzzyyzzzyyzyyyywyzzyzyz{xzyzyzyyzzyyzzzzzyyyyyzyyz{yzyzz{yyyxyxyzzzzzzyzyxyyxyyyxyyyyz{{zxzxxyyyyzzyzzzzzzyyyyyyzzzzzyz{yyzyzyyyyyyzxxzyzzyzzyyzzzzyz{zzyxyyyzyyzzz{zzz{zzyyyyyyyy{zz{zz{y{yzyyyzyz{zzy{zyyyyzyxzzzzzz{{{zzzzyzzyzzz{{yzyyxzyzzxz{yzzz{zzyzzyyzyzzzzy{zzzyzzzzyzzz{{zz{{yzzzz{zz{zzz{zz{zyyz{zy{z{z{z{{zzzyyzzzz{z{z{{{{zzyzzzzzz{zzzz|{zzzyy{zz{{zz{|{{zzzzyzz{{z|{z{{{zyyyzyz{{yzzz{{{{zzz{y{{z{{{|y{{zzyzzzzzzzyz{{{{{zzzzzyzyzzzz{zzzzzzyzzy{{zzzzy{yzyyyyyyzyzyzy{zzyxyyxyzz{{yyz{zyzxyyzzxzzzzzyzzyyzzzyyyzzz{zyzzzzyxyyyyyyyzzzz{zyyzyyyxyzyzzz{zzyxyzyyzzzzzyzz|zyyyyyyyzyyzz{zzyxyyxyxyzzzzzzzzyyxyxzyyxyzzzzyzyzzyyyzyyzzzyzzzzzzyyxzyxzzyy{{zzzzzyzzxzzyzy{y{yyyyyyyzzzzyyy{yzyyxyxyyyzzyyzz|yyy{yyzz{zzyzzyzyzyzzzyzy{z{zz{z{zyzyzzzzzz{zzy{zzzyyyzzzz{z{{{zzzzzyzyyzz{zz{{zzyyyzzzzyz{{z{{{zzzyzyzzzzzz{z{zzzzzy{zzz{zz{{{{zzyzzyzzz{{zz{{{zzzzzz{z{z{{{{{|{z{zyzzzy{{z{z|{zzyzyzyzzzzz{{{{zyyzzzz{{z{{{z{{z{{{yzyz{{z{{{{|zz{yzzzz{{y{{{{{zzzzzzzyz{z{zzzzzzzyyzyy{{zzyzzzyyyxxyxxy{zzyyzyyyyzzyzzyzyzzz{yzzxyzzzzzz{zyzzyzzzzyyyyzzyzyzyzz{zyzyyyxzyzz{z{yz{yyyyxzzzxyz{{yzyyxyyyzy{zyzzyyyyxxzyzzyyzyzzzyy{xyyyyyyzzyzzyyyzzz{yyyyzyyz{zyyyyyyyyyzyyzyyzyyyyzyyxyyzyzzyzyyyyzyyyyzzyyzzzzyyyzzxyyyz{zz{zyyyyyyxyyzzz|zzzyyzzxyzyz{yz{zzzyzyzzzxzz{yzzz{zzyyzyzyzyzz{z{z{zzzzyxyyzz{zz{{zyyyzzzyy{{zyy{{zyyyzyzyzy{{{z|{{zzzyyyzz{{zzzzz{zzyyzyzyyz{{zz{zzyzzzzzzzz{zy{{{zz{yyz{z{{zz|zzz{yzzyyzzz{{{{{{{{z{yyzyy{{zz{{zz{zzzzzzz{zzzz{{|z{yzzzzzz{{{zz{{y{zyyzyy{zzz{{zzyyz{{zyxy{yz{{zyzyzxyzyyzyzzy{zzzyxyzyyxyzyzyzzzzyyzyzyyzzyyzzzzyyyyyzxxzzyyzzz{zzyyyyyyyz{zxyzyzzyyxyyxzyyyyzz{yzyyxyzxyyzzyzzyzyyxyxzyzyzy{yzzyxzyzyyyxyyyxyyyyyyyyyxyyzyyzzzzyyyyyzxzzyyyyzzzzzxyxzyxyyzzzzz{zyyzyyyxyz{zy{zyzzzyzyyyxy{zzyyzzyyyyyyxzzzz{zzzyzyyyyyyzzyzyz{{zxzyyyzzzzzzz{{zyyzxyyyyyzz{zzzzyzyyzyyyyzyzz{{yyyyzzyxzzz{{yz{zzyyyzzzyzzzyzzzzzzzyy{yzzz{z{{{{z{zzzyyz{zz{{zz{{yyzzyyxy{{z{z{zzyzz{zyz{{z{{{{{zzzzyz{{z{{z{z{{{zzzzzyzy{{zzz{{zz{zzy{z{zzzz{{zzzzzyzyz{zz{{z{zzzzzzzyzx{z{zy|zzyzzzyzyzzz{zz{zzyxyxyzz{|zzyzz{yzyzyyyyyzz{zyzzyxyyyyxxyyzyzzz{zyyyxxxxzzyz{zzzzyyyy{yzzxzyzzzzzyyzzxyyyyzyzzzzzyyyyzxxyy{yyyzzyyyyyyyyyz{yzzzyzyyxyyzyyzzyzyzzyyyyyzyyxyzzzzyzyyzyyyyyyzyzz{{zyyyyxyxyyzzyyyzzzwyyyyyyx{zzzzzyyyyyyyzxyzzyyzzyyyyxyyyxzzyyzzzzyxyyyyzyyzzzyy{zzzyyyyyzzzzzz{zyzyyyyyyzzzyzyyyzyyzxyyyxyzzzzzzzzzzxzxyyyzzzyz{zzyzzy{zxyyzzz{zzzxyzyyyyzzzzzzyzzyyyzyzyzyzzz{{zyzzzzzzzzzy{zy{{{yzyzyzzy{zzz{{z{yzyzyzz{zzz{z{z{zzyy{zzyzzz{{z{{zzzy{zz{|{{{{{{{z{zzzyzz{yzz{zz{zyyzzzzz{{{zz{{{zzyzyy{|{{z{z{{yzzyzxzzyzy{y{{{zy{zxy{zzzz{zzzz{yzyyyzyzz{{zyyyyzzyxyyyyyzzz{z{zyzzzyyyzyyz{zz{{zzyyyyyzzzzyzzzzyyyyxzxz{zzxz{zyyyyyyyyzzyzzzzzzyyyzyyyyzyzzz{yyyyyyxyyzzyyzyyzzzyyyyxyyyzyyyzzyyyyyxzz{yzzyy{yyyxyyyxyyzzxyyz{yyyyyyyxyyzzzzyzzxxxyxyyyzz{yyyzyyyyyxzxyyzyyzzzyyzzyyyyzyyyzzzzyyyzyyzyy{{zyzzzyyyyyyyyzzzzyyzzxyyyyxxzxzzzzy{yyyyzzyzyyz{y{zyzyyzz{yyyzz{yzz{zzzzyzyyyzz{zyzzzzzyyzzyzzzz{zzzzyyzyzzyy{zzzyzzzzyy{yyyyz{{zzzzzzyzyzzyzy{z{z{zzzyyyz{z{zzzzzz{{z{yzz{yzzz{{{{{{zyzzxzzz{zzzzyzz{zzyzzyzyzzz{z{zzzyx{y{{{yzz{zzz{{yyyyzzz{zz{{{zyzyyyyyyzyyzyz{zzyzzyyxyzyyz{yyyzyxyyyyxzy{yyzyzyzyyyyyxzzzzzzz{zzyyyyzzzyzxzyzzyyyzzxyyzz{zzyz{zyyyywyyzzzyzyzzzyyxxyzyyzzzzzzzyyyyxzzyyyzzyz{zyyzxyzzyyzzzyzyzzyxxyyyyyyyzzzzzyyxxyyyyyzzzzzzzyyyyyyxzyzyyzyzzyzzzyyxyyyyyzzzzxyyyyxyzyyyyyzyzzzzyyzyyyzzzzz{yyzyyzyyyzz{zyyzzzxzzxxzyzz{yzyz{yzzyyyyzz{y{zzzzzyzzzyyyy{zzz{zzzyyyzzzyz{{zzzzzzzyyzyyyzzzzzzz{zyzzzyzz{z{z{{z|yyyzzzz{zzzz{z|zzyyzzzyyz{z{z{|zzz{{yyzzy{zzz{{{zzzzzzyzz{y{|zzz{zzyzzzzz{zzzz||zyzyzyz{z|{zy{z{zyz{yzzz{zzzzz{{{zzyzyz{z{zz{zz|zz{y{zyy{{zzz{{{{yy{zzyzyzzzyzzzzzyyyyxzz{{zyzzzyyyyzxzxyy{xzyzzyzzyzyxxyzzyz{zz{zzyyyzxzzz{z{zzzzzxyyzyyzyzzy{zyyzyyyyyyzyxz{zzyyyyzzyxz{yyyzyz{zyyyyyyzyyzz{x{zzyxyzyyyzxzzyyzxyzyzyzyyyzzyz{yyxyxyzxyzzyzzz{zzzyyyxxyyzyzxyyzzyyxyyzxxzzzyzzyzzyyyyxxyzxyy{yyyzyyyzyyzzzzzzzyzyzzyyyzzyyzyyz{zy{yzyyyzzzzzzzzxzzyyyyyzzyzz{{zzzzzzxyyzzzz{|{zyyzyzyyyzyzzzz|yzyzzzyyy{{zyzzzzyy{zyzzzzz{{{{|zzzzyz{zy{zzzzz{{yxzzyzyy{{{zzz{{zyz{zyzz{z{z{{|zz{{yzzzzz|{z|zzzzyzzzzzz{{{{{{{|yzzzzyyz{{z{|z{zzzzzzyzzzzzz{z{zz{{yzzyz{z{z{|{{zxzyzyzzzzz{{{{{zzyzzyyzzzz{{{{zzzzyyyyzzz{z{yzzyzxyyyyyxz{zyzzzzzzyyyyyzyzzy{z{yyyyyxywzzzz{zzyzyzyyyyzyyzzzz{zzyyxyyyyzzyzzyzzzyzyyzzyyzzyzzzzzyzxyyyzyyzzyz{yyyzyxyxyxzz{zyzyyzyx{xyzyyzzyzzyzyyyyzxyzzzzzzyyyyzyxzyyyzzzyzzzyxzzyyywyzzzyzzzyyyzyzzyyzzyzzyzzzyzzyyyzzyzyzzzyyyxzyyyzzzy|zzzzyyyyxyzzzzyz{{{zzzzxzzyzzyzzzzzzy{yyyyyyzz{yz{z{zyyyyyzz{zzy{{zzyzzzzyzyzyzzyzzyzyzzzzzzzzz{z{zyzz{yzzzzzz{z{{{zzyz{yzy{zz{{{{z{zzz{yzy{{{z{{{{zzzz{y{zz{z|{zz{{zz{y{{zz{{z{|z{zzzzzzzz{z{{{{{{zyzzyzyzz|{zzz{z{zyzzyz{zzz{{{z{yzzzzyzz{{zz{{z{yyyzyyyyyz{zzzz{zzzyyxzyzzzzzzzzyyyyxyzyxzzz{yyyyyyxyxyyyzzz{yy|zyyyyyyzzyzzzzzzyyyyxxxyzzyzzz{zyyxyyyyxyzzyzyyzyyyyyzyyyzyyzyzzyyzyyyyyyzyyyyzyzyyyzyxxyyzzyzzzxyyxyyyyyyxyyyzzyyyyyzyxyzzyy{yyyyyzyyyyyzyyxzzzzyzyyyyxyyzyyzzyzyxyyyyyyzyxzyzzyyyyyyyyzyzzzzz{zyyyzyyxyyyyyyz{yzyyzyzyzzzyyyz{yyzyyyzzy{zyz{zzzyzyyyzz{{z{yz{zyzyyyxyzyzz{{z{zyyyzzzyz{{zzzzzzzzzz{zyzzzzzz{{zzzzyyyzyzz{zz{{zzzzzzzyyzz{{zz{|zyzzzyyz{{{z{{zzzy{xzzzz{{zzz{z{|yyzyzyz{{zz{z{{zzzyyy{zz{{{{z{z{zzyyzz{z{{zz{{zzyyzyzzzzzy|{{|{zzyy{{zyy{y{yz{zzzzyzyzzyyz{z{zyzzzyyxzzzzzyzyzzzyyxxzyyxyzyyzyzyzyzyxyxzzy{{zzyxyzzxyzyzyzzyzzyzyzyyxyyyzz{yyzzzzzyyxzxzzzzxzzzzxxxxzyyyzyyyzyyyzzyyxxyzzyywzxzyyxyyyyyzzyyzzyzyyxxzyyyyzyzzyzyzyyxxxxzzyzz{yzzyxyyxzyyzzyzzzzzzyyxyyyyyyzyxyyyyyyyzyyzy{yxyzyzyyyzyyyy{zzyzz{zzzyxyyyyzz{zzyy{yyyyxyzyzzzzzyy{zzzyyyyyzzzzzzyzzyzzzyyyzyzzzzzyyyyxyxyy{yzyyz{zzyyzyyyyzzzzzzyzzy{yzzzz{{{{|{zyzyzyzyzz{zzzz{z{{yyzy{xzzy{z{zz{|z{yzyzz{{z{{{{{zzzyyzzyzz{{{{zzzzzzyzyyy{{{zz{{zzyzyzzzzz|z{{{{zzyzyzyzzz{z{zz{zyy{zzyzzzzzzz{{zzzyzzyyyz{|zz{{zyzzyyyzyzz{z{zzzyyyzyyyzzyy{zyzzyxyyxyxzzyyyzzzyyxyyxzyzzzzz{zzyyyyyyyzyzzzzz{zyyzzyyyzzzzz{zz{zyyyxyyxzyyzyzz{yyzyxxyyyyyyzzzyyxxyyyzy{zzyy{zzyzyyyyxxyy{zz{z{zyyzxxyyzzyzzzyyzyyzxzxzyzzyzzz{yzzyyyyyy{yzyzzzyxyyzyyyyyzzyzzzzzyyzxyyxzzyz{z{yyyyyyzy{{yzzzz{yzyyzyyzyz{zzzzzzzzzzyyyz{yyzz{{yzzyyyzyzz{z{{{zzyzyzyzzyy{zz{zzyzyzyyyxzz{zz{zzzyzzyzzzzz{zzzy{zzzyyyyyzzzzz{{zyzzxzzzyzzz{z{z{z{zzyyzz{{|{zz{{{yzzzy{y{{{zz{{{zyzzzzyz{{zzz|yz{zz{{zyzy{|zz|{{{z{zzz{z|{{{zz|{{zzyzzz{zzzyz{|{{zz{z{zz{{z{{{{{zzzzzyzzzz{{z{z{zyyyzyzyy{zzz{{{zz{xzxyyzzyzz{zzyzyyyzzyzyz{zzy{yyzzyxyyzzzyzzzzzyyxzyyyzyzzyzzzzzzzyzyyzzyzyzzyzyzxxyyyzzzzzzzzyyzyyyzyzzzxyz{yyzyyyyzyyz{zzz{yzyyyyyyyyzzyyzyzyyxzyzyxyzzyzzzzyxzyyyyyzyzyyzzyzyyxxyyyyzzyyyz{zyxyyxyxyyyyzzzzyyzyzxyyxzyyyzzzyxzzzyxyzyzzyy|zzzyyyyyyzzzzz{{zzyzz{yzy{z{zzzzzyzyyyyzzzz{z{{zzzzzz{yzzyzzzzz{{zyzzzyyz{zz{zzzzzyzzyzzzzzz{zz{zzzzyzzyzyzz{zzy|zyzyyzzz{{{{zz{{zzzzzzzy{{zzzz|zzzzzzzzz{{{zz{|zzyyzx{zzz{z{zz{{{{zyz|zzz{{{|{{zzyzzyz{zz{zz{zz{z{zzyzzz{{{{{z{{zzzy{zzz{{{{{{{{zz{z{zzzy{zzzz{{{zyyyzzyz{z{z{{zyz{zzyyyz{z{zzyyyxzyxzyyzzzxzxz{yzyzyxyy{zyyz{zzzyyyzyyy{zyyzzzzzyyyzxyyzzz{yyzzzzyyyyyxyyy{yzzzyyyxzyxxyzyzzzzzzyyyyzyyzyz{zzyzzyyyyyzzyyyyzyy{yyxxyxyyyyzzyz{yyxyyxyyyyyzyzzyzyxxxzxyyyzzzyzzyyyxyzyyyyyzyyzzyyyyxyxyzy{y{y{zzyxzyzyyyyz{zzzy{yyyyzyyyzzzyzzzzxyyyyyyyy{zzyzzzxzyyxyzyyzyzyzzzyxzyzyyy{zy{{zy{zyzyyzyyzyzyzzzzyyyzzyyyzy{zzzyzzyzzzzzyy{z{y{{{yzyzzyyyzz{{zz{zyyzyzyxyzz{{zzz{zzzyzzzyzzz{{yz{zyyzyzy{zzzz{zz{zzzzzzzzz{{{y{{zzyzzz{yy{{z{zzy{zzzzzyyzz{zz{||{zzzz{zyy{{z{{{{{zyyy{zzzz{yzzz{yzz{zyyyyz{{zzz{yzyyyyyyyzyzzzzxzzyyyxyyxyzyzyzzzyyyyyxxyzzzyzzy{yzzzyzyyz{zz{zzzyyyyyyyzyyzzyyzyyzzxyxyyyzzzzyyzyyyyyyyzzzzzzzzyzyyzyxzxyzzyyyzzyxyzyxyyzyzyyzzzxyyxzyyyyyyyyz{zzyzyyyxyzyzzzyzyxyxzxxyy{zyz{zzyyyyyzyyyyzzyzzyyzzyyxyyzyzyyz{zzyyzzyzyxzzyyzyz{zzyzyxzzyzzzz{{{yzyyzzyzyyzzzzzzzyyyzyyyzz{zyzzzzyzyyyzyzyzyzzzyyzzz{zzyzz{zyz{{zyzzzyxyzzyzy{yyzzyyzzzz{{z{zzz{yyzzzz{z{z{{zz|{zzyzyzzzz{zz{{{{{zzzzzzz{{{z{z{{zyzyzzzzzzzzz{z{{y{yzzzzz{{{{{{{z{z{zyz{z{|{{{{{zzzyyyy{zz{zz{{{{z{zz{zzzz{zy{{zzzyzyzy{z{{zzz{zzzzxyzyyz{z{zzz{yyzzyyyz{yzzzyxzyyyyyxyxxzzzzyyzyyzyxxyxzyzy{zzzzxxxzzyyyzyzyzzzyxyzyzyyyyy{xy{zzzyyxyyyzyz{zzzzzyzyxzyxzzzzyzzyyyyyxyxzzyzzyzz{yzyxyyyyzz{zyyzyyyyyyxyyy{zzyzzyyzyzzyxzyzyyzyz{yyyyyyyyyzzzzy{zyzyzzzzyzyyyzzzy{yyxyxzxzzyzyzzzzyzzyyyyzzyzzzz{zyyyzyzyyzz{zyzzzzyzyyyyyzzzzz{{yyyyyyxz{zyzzyzyyyxzyyyz{zyzyzzyyyz{yzyz{{{zz{z{yyyyyyzzy{yyz{zzzzyyzyyxz{{{{{z{yyzzzzzyz{{zzy{{{yxzyzzzzzzzz{z{{zzz{yyzz{zz{yz{zzyyyzz{y{zzyz{|{y{zzzzyz{{zz{z{zzz{yzyy{{zzz{{z{zzyzzyz{z{{zz|{{zz{{z{z{z{{z{z{{zzyzyzyz|zz{{{zzzzzzyyzzz|zzz{{zyyyyxyyyxzzzzzyyyyxzyxy{zyyyzzzyyyzyyyyyzzz{zz{zzyyzzzzzzyyyy{zzzyyyyyyyyzzyzzzyzyyzyzxzzzy{yzzyyyyzyyyzzzzzz{yzyzzyyyyzyyzzzzzyyyyyxyyzzyyzzz{yyyyyyyyyzzyzz{zzyzyyzxzyyzzzzzyzyyyyzxyyzy{zz{zyyzyyyzyzzyzzzzzzyzyzyyyyyz{z{zzyyzzyyyyzzz{zyz{xzzy{zzzzy{z{zz{zyyyyyzzzyzzzz{zzyzzyzyzzzyzz{zzzzyyzy{yyz{zz{zzzyzyzyxzzzz{zy{yyyzzyzyyzzzzz{{{yyzyzzyzz{{{{{{zzzzz{{zzz{z{yzz{zzzzzyyzz{{zz{{zz{zz{yyzz{zzzz||{{zyyz{zz{{z{|z{zzzyzz{y{{z{{z{{zzyz{yzz{{zzz{{z{zz{zyzyzyzz{zz{{zyyz{y{z{{{z{{{zzzyyzzzz|z{zz{zzyyy{yyzzzzz{yzzzzzyzzyzzyzy{zzzyyyyzyyxyzzzzyzzzyzzzxyzzzy{yz|{{zyyzyyyzzzzzy{{yyzyyyyzz{zyyy{yyzyyyyyxzz{zzzyyyyyyyyxyzyyzzzzzzyyyzyzzzzyzzzzzzyzzyyyzyzyyzyzzzyyyyzyzyyzyy{zyyyyyxyyz{z{yzzzzyzzyyyyyyzzy{{{zyxzzyyyyzzyyyzzzyzzxxyzyzyyyz{|zyyzyyzzyyzzyzz{zzyzyyxzyyyzyzz{{yzzxyzzyyyz{z{y{yyzzzyyyzz{z{z{{zzzyyyyyzzz{zzzzzyzzyyyz{{{z{z{zzzyzzzyzz{z{yzyzzzz{{zy{zzz|{zz{zzzzzzzz{{{zz{z{yzz{{yyyz{z{{{zz{zzz{yzz{{y{{zz{zzzzz{zzz{{{{{z{{zzzzzzz{|y{{|{zzz{zzz{zzzz{{z{{zyyzzzyzzz{z|z{{z{yz{zz{z{{{|z{{zz{zzyzzz{{zz{z{{{zyyzzyzzzy{{z{zzzxzyzyzyzzzzzzzzyyyxxxzzzzzzzzyyyyyyyxyzzzz{{{zyzyyzyyyyyzzz{zyzyzzyyyz{z{zyz{yzyyzyzxzyzzzzzzzxxzyzyyzzzyzzyyyxyyzyyxyzzzzzzzzyyyxyyyyyyyyzy{xyyyyxyyyzzyyyzzy{yyxyxzzzzzzyzzyy{zyzzyyzzzzzzzzyyzyyyyyzzzzzz{yyyyyxyyxzyzzyyzyxzyyxzyzyyz{zz{zyzyyzzz{zzyz{zzzzzyyyzyzzzzz{zyzyyyzyzzzzzyz{{zyyyzyyyzyyzzz{zzzzyyyzyyyzzzzz{z{{zzyzxzyzzzzzz{zyyyyz{zzzzz{z|{{z{zyyzyz{z|zzz{{yz{zyzzzzzz{z{z{xyzzzyzz{{{z{{{z{{yyzzyy{z|{zz{yyyzyyz{y|y{zz{{z{zzyyzzz{{{{{{{zzz{zzzzzzz{{z|{{zzy{{{{{z{{{{y{zzzyzz{zyzzzz{{{zz{z{zyyzzz{{zzzzzzyyyyyzzzzzzzzyyyxyyyyzzzzyzyzzyyxyxxyyzzzzzzzzyyzxzyyyzz{zz{zyyzzyzxz{zz{xyzzyzyxyyyxzz{zyzz{yyzyxzyzyyyxzzzyyxyyyyyyzyzzyyzzyxzxyyyzyyyyzzzyyxzyyyyyzzzzzzy{yzyzyyyzzyzyzyzzzyyyyxyyyyyzzyy{zzyyyyyxzyyyyzzzyzyzyyyzxyzyz{zzzyyyyyyy{zz{{y{{{zyxzyzyzz{zzzzzz{yyyyyyzzzzyzzzzyyzyyzyzyzzz{zzzzy{yxzyzzzz{zzzzzzyyzyzzzzyyz{zzyzy{{zzzzzyyzzz{yzz{zzyzzzz{{{{zzzzzyyyzzz{zz|{yzzzzyyyz{{{zz{{zy{{zzzzz{zzzz{{yx{zzzz{zz{{{z{{zzzzz{yzz|z{{{{{zz{zzyzy{zz{zzz{zyyz{yzz{zzz{z{{zzzzzzzy|z{{z{{{zzzzy{zzz{z{z{|{zz{zyzyz{{z|zzzzyzzyzyyzzzyzzyzzyyyyzxyyyzz{yzzzyyyyyxyyzyzzyz{zyzzyyxyyyyzyzy{zzxzyyyyyyzyzyxzzyzyzyyyyzzzyzzyzyyyyyyyyyzyyzyzz{zyyyyyzz{yzyyyzzxyxxyyxzyyyyyyzyxyyyyyxxzzxy{zzzyyyxyyyzyzzzzzzzyyywzyyyzzzyy{yyxyyyyyxzzzy{zzzyyyyyxyxzzyzz{zzzyyyyyyzyzzyzz{zzyyy{zyzzzyzzzy{yyzxxxyyzzzzzzzzzyzzzyyyzzzz{zzzzzyyyxyyzzzzzz|zyyzzxyyyzzzzzz{yyzyzyyy{{zzzyzzyyyzzyzyzyzz{{{{{zzyyzyzzzzzzz{{{{zyzyyyyz{zzzzz{zzyzzyzz{|zzz{{{{zzzzzzzzz{{{{{{z{zzzzzyz|{{{{{{{zzyyzzz|yz{{{zzzzyyz{{zy{{zzz{z{zzzzzzzzzy{{z{{yyzyyzzyzzzz{{|zz{yxyyyyz{y{y{zyyzzzzz{yz{zz{y{yzzyyyyxzyzzz{yzzyyyzyyyyz{zz{z{zzyxyyyzy{zz{z{zzzyzyzxwyzzyyyyzzyzzyzxyxzyzyyzzzxyzzxyyyxyzxxyzzzyzyyzyxyy{zzyzzzyyywyxzzzyyxyzzyyyxzyxxz{yzyzzyyzyzyyyyyzyzyyzzyzyyyxxyyzzzzzzzxyyzyxyyzzyyy{yzyyzxzyzyyzzzy{zzyyyyyyyyzyzyzzz{yzzyzy{zzzzyz{zzz{yzyy{yzyyzzz{zzxyzyzxyzyzzzz{{yyxyzyyyyzzzzz{zzyzyzyyzzzzzz{{zzzzzzzyzzzzzz{zzyzyzyyzz{zzzz{{z{yzzzyzyzzz{y{z{yy{zzzyzz{zz{{zzzzzzzyzy{{||{{z{{yyzzzzzzzz{{{z{{zzzzzyyz|zzz{|{zy{zzzzy{{{z{{{z{xzyz{zzz{{z{zz{zzzyyz{z{{z{z{{{z{zzzzzyzyz{yzzzzzzzxyyyz{{yyzzzzzyyyyzzzzzzzy{yyzzyyyxxzyzzyzzzzyyxyxyyxy{zz{{{zzyyyyxyzz{zzz{zzyyyyyy{yyzzzy{zyxyyxyyyzzyzyzyzyzzyyyyxy{zzyzyzyyzyyyxxyzzyzzzyyxyzyyyyyyzzyyzyyyyyxzyyyyzzyzz{yzxxzyxyzyzyz{zzxyyyyyyyyzyyzzz{zzzyyzyyzzzyzyzxyxzxzxxxyyyzy{{{yxyyzzyyzyzzyz{zyyyyzyyyzyzyzyz{zzyyxyzzzz{zzzz{y{zyyzyy{yzyzzzzzzzyzyyxz{zzy{zzzyyyzyyxyzz{zz{zyyyyzyyyzyzzzy{zzzzzzzyzzz{{zzzzyzyyyyzzz|z{z{{{zzzzzyyzzzzz{zz{zzyz{zyz{zzzzz{{{z{yzyzzzzz{zz{{z{yzzzyy{{{{{zz{zzz{zy{y|zzzzz{yzyyzzyyzz|{z{{z{yyyzzzyz{zzz{z{zzzzy{yyyzzzzz{{zzzzyyzzzz{zzyzzzyzzxzyyyzzzzzzzzyyyyxyyyyyyyzyzzxxyxyxyyyxzzyzzzyyzyyyzyzzyyzzzzyyyyyyyxzzyzzy{yyyyyyyyyzyzzyzyzyyzyyyzyy{yzyyzzyyxyzzyyzyyyyzyyzxyyyzyyyyyyzyzzyyyyyyxyyyyyyzyyyyyyxyxyzyzyyzyyzy{xxyyyy{zyyy{yyzyxyxyyyzzxzzzzzxyxyxyzyyzzzzzzzxzyyyyyyzyzyzzzyzyyyyxyzyxyzzzzyyyzyxzyzzyzz{z{yyzyyzzyzzzyzyyyzxzzzxxyzzzyzz{yyyyxzyyyzz{z{yzzyzzyyzyzzyzyzzz{zyyyyyyzyzy|zz{zyzzzyzzyzzzzzz{zzzyyzzzyzyzz{{{z|yyyzz{zz{{zz{zz{yzzzz{{zyzz{z{zzzzz{zyzzz{{{z{{zyyyyzzyz{y|{{z{zyzzzyzzzyz{zzzz{z{zzzzzz{z{zz||zyzyyyyy{yzyzzzz{zyzyyzyzzzzyzz{yyzyyyyy{zzzzzyyxyyyyxyyyzzzyy{yzzyyyxyyyzzyyzzzzyyyyzzxzzzyyzz{zzyzyxzyzzyzyyzzzyyyxxyyzyzzzzyzyyxyyyzyyzyzy{zyzyzyyyzyzyzyyzzzzzyxyyyyyy{zy{zzyxzyyyyxyzxyxz{yyyyyxyyy{zzzzzzyyxzyxxyxzzyyyzzzyxxyxxxzyzyyy{zyyyyzyyzxyzyxyzz{yyzyyyywzyzzzzzzzzzxzyxzzyzzyyzzzyzzyyzyyzy{zzyzzzzyyzzyzzzz{{zzyyyyzzyyyzzzzzzzzyzyzzyzyz{z{z{yzyyzxyxzy{zz{{y{zzzyyyzzz{{{zzzzzzyxzzzzzzzzzz|{zzyyyyyz{{z{zzzzzxz{zzzzz|z{{{z{zy{zzyz{zzzy{|{z|yyzyzyyz{zzzzz{{z{zyzzzzz{{{{zzzzzz{{zzzzzyzz{{z{zzzzy{z{yzz{|{zzzyzyyyzzzz{z{zzzyyyyzzy{zzyzzzyzyyzyzz{zzzzzyzyyxxxzzyxz{zyyyzxxyyzyyyyyzzyz{zzyyyyxyyyyyzzz{zyyzzyyyyzzzzyzzzyyyyyyyyzy{yzzzzywyzy{xyyzyyzzzzyyyxyyzyzzzzyzzyzyyyyxyyyyyyyzz{yxyyyyzyyzzzzyzyyyxyyyxyyzzzzz{yyyyyxxyy{z{zz{zzyyyyzwzyy{zyzzyy{yyzyzyzyzyzzzyzzyyyzzzxzzzzzzzzzyyyxyzzyyzzzzyzzyzyyyzzzzzzzzzzzyyzzyyyyzyzzzzzzyyzzyzzyzz{zzzyyyyzzyyyyy{zzz{y{yyyzyyyzyzzzzz{zyzz{zz{yzz{z{{zyzzzyyyz{yz|{z{{yzzzzzyy{{zzz{{zzzyyzz{yz{|zz{|{y{zzzyzzz{zzz{{{{zzzzzyyz{{{{{{zzyzzyzyzzz{z|{z{zzzyzzyzzz{zzz{z{z{zyzyzz{{z{zz{zyzzyy{zzzz{zzz{{{xzzzzyzzyyz{{zyzzzzzyyyzzzzyzzyzyxzxxyy{zzyyzzzyyyyyyxyyzzzz{zzyyyyyyzzyzzz{yzzyyzzzyyyz{zzzzzzyzwzyyyzyyzzzzzzyyyyzzxyzyzzzzyyyyyzxyzzzzzyyzyzzzzyyyyzzzzyzzzzyyyyyyyzzz{yzzzzyzyyyyxzyzzzz{zyyyzyzyyyzyzy{z{yzyyzyzxyzyyyzzzyyyyyxzyzzyzzzzzyyzyzxyzzzzzzzzzzyyyyyyyzzzzyzzyyzyzyyzz{{{zz{zzzyzyyzzyzzzzzz{zz{yzzyzzzyzzzzzzzzzzyyzyyzzzyy{{yzyyy{yzz{{zzzz{zz{yzzzyz{{{{{{zzzzyzyzzzzzz{z{{yzxz{zzyz{{{z{{zzyzzyzzy{|zz{|z{zzzzz{{{{zzzz|z{z{zyzzzz{z{{{||{{yz{zzzzzz{z{z{{zzyzyyyz{z{{z{{{{{z{{{zzz{z|{{{{{zzyyzzzz{yyz|z{{{y{zzzzzzyzzzz{yzyyzyyxzz{zzzzzxzyyyxyyyzzy{yzzyyzyzxxyzyzzzzzzzzyyxyxxzzzzzyzyzyyyyyyyzy{zzzzzzzyyyyyxzzzyzzzzyzyyzyxyyz{xzzzyyyyyzyzyzyzzyyzyyzyyyyyzyyyzzzzzxyzyyxxxzzzyzzzyyyxyxzxyzyyzyy{zzyzxyyyyyzzzzzzzzyxyyyzyxyzyyyyxz{yxzyyyyyyyzzzzyyyyyyyyyyyzyz{zyyxyyyzyzzzyzyzyyyzzyy{zzyyzzzzzz{zzyyzyzzzz{zzyyzzyyyyyyzzzzy{yzxzyyyzyzz{zyz{{{yyzyyyz{yzzz{zz{zzzz{{zzz{{{zz{yzzzzz{{zz{zzz{zzyzzzyyzy{{z{zz{{yyyyzzz{{zzz|{zzzyzzz{zyz{z{z{z{zyzzzzy{|z{{|{{{yzzyz{zz{yz{z{z{y{z{zyzzz{zz{{{{zzyzzz{{z{{{{z|zyzzyzzzz{zz{zzz{zyyyyzy{z{zzyzzyyzyzzzzzz{{{zzyzyyyxxxyyzz{yz{{yyyyxxyyyzzyzzzzyyzyyyyyzzzzzyzzzyzyxzyz{yzzzyzyzyyxyzzyyzzzyzzyyyzyxyyxyzyzyy{yyyzxyyyzyyzyzyzzyyzyyyyzyyyxzzzzyxxyyyxyxzyzzyz{yzyyxyxyyzyy{yyyyyyxyxxyyyz|zzzzzyzyyyyzyzzyzyzzyyxxyyyyyzzzzyy{zyzyzzzxyzyzzzzzzyzzyxyzzzzzzz{zzyzyxyzzzyzy{zzzzyyxyyzyz{zzzz{zyy{zyxzyyzzzzzyyzyzyyyyyy{zzy{{zyyyzzzyz{{zzz{zzyyzyyyzyzz{{z{zzzzyzzzzyzzz{{z{|yzzzzxyzzz{{z{zzz{yzzyzy{zzyz{{zzzyyzzzzzzz{z{{{zzzzzzyzzz{{zz{{{zzzyzyy{{{{{{{zzzyzzzz{y{zzz{z{zyzzzy{yz{{z{zyzzzzyyyzyy{zzyz{zzzzzyz{xzzz{zyzyzzzyyyyyzzzyzyyyyzxyyyxyzzyzzzyzxyyyyxy{z{{zzzzzzyzzyxyyzzyyzyzyzyzyyyxyyyyzzyzz{yyxzyyxyzzyzzzzyyyyyyyyx{yyyz{yyzzyyyxyyz{zzzzzzzzyxyyzzzxzxzzzyzyyyyzyzyzyyzzzyyyyyzyyzyzz{zyzyyyzyxyxzz{zyyzyyyyzyxyxyyzzzz{yyzyyzyyzyzyyzzzzyxyyzzxyyzzzz{z{zyzyyyyyzzzzzzzzyyyzyxzzyzy{{{z{zyyyyyyyz{{zzzzz{yzzzyyyz{zz{{{zyyyxyzyyzzz{yz{zyyyzyyzzz{zyzzzyz{{yzyz{z{z{zz{zzzy{zyyzzzy{z{zzzz{zzxzzzzz{zz{z{zyyzyzzzzzzzz{zzzzzzzyyz{{{{{yzzzzzzzyzz|{|z{{z{yyzzyzz{{{zzz{{z{zz{zzzz{{z{z{{|z{y{zzzzzzzz{zzzzyzyyzyzyzyzz{{{zyzyyyyzyyzzzz{yyyyyyzyzz{yz{zzzzxyzyzxyyzyzzyzyyxyxyyzzzzyz{z{yxyyyyxyzzzzzzzyzyyyzxyyzyzyyzzzzzyyxyyxyxzyyyzzyzyyzzyxyzyyyzzzyyyxyzyxyyzzyyzzzzyxxyyyzyyzyyy{xyyxxyxyyzzzzyzyyzyyyyxyyyyzyzzzzyzzyxyzzyyyyz{zyyyxyxyyyyyyzyzzyyy{zyyyyzzzzyzyyyxzyzyyzyyyzzzzzxyy{xyzyzzzzzzzzyzzyyy{{xzzzzzzyzxyzyyxzzyzzz{zyyzyzyyxz{yzzzzyzyyyyyyyyz{zzz{zzzyxzyyzzzzzzzzzzxzyzzxyzz{{zzz{zyyzzzzzz{zzz{zzzzzzyyzyz{zzz{{zyzyzzxyzz{zz{z{{zyzyyzyzzzzzz{{z{yzzzzzz{{z{zz{{zzzyzz{z{z{z{{zzzzzzyyx|zz{zzz{zzzzzzzy{{zzz{z{{yzyxyzyyz{yzzzzzzzzzzzyyzzy{yzyzzyzzyyxyzzzyyzzzyxyzxxyxyzzyzyyzyxzyyxxyzxyzzyyzxyyyyyyyzyzyyzzzyyyxyyyyyyyzyzzzxyyyyxyxyzzzzzyyyyyyzyzyzyyyyzyyzyyyyyyyyy{yyzyzyyyxyyyxzyyyzzyyyxyyyxxyzyyxyzyyyyyyxxxyzzyzyy{yxyxxyyxyyzzzzzyzzyzxyzxyyzyzyyyzyzyxyxxyxyxyyzzzxxyyyxyyyzyzzyzzyzyyyxyyzzyzy{zzzyzxyyzyzyzyyyz{zyzyyyyxzyzzyz{yzyxxzxyzyzzzyzzzzyzxyyyyyyzzyz{zzyyyyyyyzzzyz{z{yyzyyyyyzz{z{zzzzyzzzzzzzyzy{z{zzzzyyzyyzzz{{y{zzyzzzyzyz{zzz{zzzyzyzyzz{z{zzzzz|yyyyz{z{{z{|z{zzzzzzyyzz{zzz{{zzzzzzyzz{z{{z{{zzzzz{yzzzz{{|zzzzzyyzyyyzzzzyz{{yyzzzzzyzzz{zzy{zyyyyyyyyz{zzyz{zyxxyyyxy{zzyzyzzyyyyyyzyyzy{zyzzyxzyzyyzyzz{y{zzyzyzwxyzzzzzyzyyxxyxzzxzzzzyyyzyyyzzzxyyyz{yyyyzxyyyyxyyzzyyzyyyyyyyy{yzyzzyzy{yyyxyyyyyzzxzz{yyyyyyyyyzzyyzzzzzzzyyxyzyzz{zzzyzyyyyzzyzzzyzzyyzyyxzyyxyzyzzzzyyyyyzzyyzzzzzyzyzyyzzxzyzz{yzz{{zzzyzyyyyzzyyz{{yzyyyyzyzzzzzy{zzyyyzyyyyzzyzz{zyyxyzyxzz{zyzy{z{yxyzzzyy{zzyzzzzzzyzyyzz{{zzz{zyy{yyyzz{zz{z{|{yzzzyxyzy{zz{zzz{yzzy{yz{{{{zzz{zz{yz{{zzzzz{{zzzzyzyzzzz{zz{{|{yy{zzzzzzz{{{zz{zyyz{yyz{zzzz{{{yzz{{z{zz{y|{zz{zzzyyzzyz{zyz{{zzyy{zzxyzzy{z{{zzyyyzyyzyzyzzz{zyyzyyxyyyzzyyyzzyzyxyyxyzzyzyz{zzzxxyz{yzzz{y{zyyyzyyxyyzzyzzz{zzyyyyyzyzz{yzyzyyzyyyyyyzz{yyz{yzyzyyyyxzyyzy{yyyzyxyxyyyzyzyzzyyyyyyxyyyzzyyzzyyyyyyxyyyzzyz{yyyyyyxyxyzyyzzyzzyyxzyyyxyzzxyzzzzzyzyxyyzzyyy{{zyyyxyyyyzyyyzy{zyyyyyyyzzzzzzzzzyzzzyyzyz{yzz{yyxzzxxyzyzz{{zzzzzyzzyyzyy{z{zyzzyyzyyzyyz{zyzzz{{yyzyzyyz{zzzz{zzyzyzzyzz{zzzzyzyz{yyzzzz{z{z{{{yyzzyzzyz{zz{z{{{zzyzyzz{{zz{{{{zzzzyzyzz{zy{{{zzzyyyzy{z|{{zzz{zzzzyz{z{yyzz{{zzyyzyyyzz{{z{{{{zy{zzyzz|{yzz{{|yzz{zzyyyzzzyz{{{zzyyyzyyzz{zyz|yzzzzyzzzyzyyyyzyyxyyzwyxyzyyyzzzyyyzyzxzzyzzzz{{yyyxyyyzyyzzzzzzyyyxyyyzyy{yzzzyyyyxyxxzzzzyzyzzyyyyyyxyyzzyyzyyxzyzyyxyyy{yyzyyyxyyxxyyzz{x{yzzyyxyxyyyyyzzy{xzyxxyyxxyzzzzzzzzyzyxyyyzzzzzzzyzxyxyyyxyyyyzzzyzxywxyyxyzyyyzyzyxyzyyyzyzzyzzzyzyzyyyzzz{zzzyzzzyyzyyyy{zyzzzz{zyzxxyyyyzzxzzzyzyyzzyyxyzzz{zzzyyzxyyyyz{zzyyzzzzzzyyxzyyyzz{zzzzyzzyyzzyz{{zz{yzyxzyyz{zyzzzzz{yy{zyyy{{z{zz{zzzzyyzz{{zzzz{|{zzz{z{zzyzzyzz{{zyyzyzzzz{{{{{zzyzyyy{yzz{{|zzzz{yyzzyyzzzyyzzzz{yyzzzzz{zzzzzzzzzyyzzzyzz{{zzz{zzzzyyzzz{yzzzyzzyzyyxzyy{yyyz{zyzyyzzzyzzzzyzyzzzyyyyyzyyyzz{zzyyyxyzzy{zyx{z|zyyyzyyyxzz{zyzz{yxyyxyzzyzzzzyyzzzzzyyyyyzyzyzzzyyzyyyyyyyzyyzzyyyyzyyyxzzyyzy{yxyxyzyyzyzyzzyzyzyzyxyyyzzzyz{zzyyyxyyyyyzyzyzzzyyyxyyzxyyyzy{yzyzyxyyyyyzyzz{zzzyyyyyyyyyzzyz{zzyyyzzxyz{z{yy{zyzzzxyyyz{zyyyyzyzyzyyzyzzz{{{z{yz{zyyzzyzzzzz{zyzzyyyyyzzzzzzzzzzyzyyyyzzzzzzz{zzy{zyzzzzzzyzzzzzzyy{z{zzyzy{z{{yz{yyyyzz{{zz{z{zzzyyzz{|zzz{{zz{zzy{|z{zzz{z{{{zy{xzzz{zz{{zz{zyzz{zzzz{zzz|z{zzzzzz{z{z{zz{{zzzzzzzzz{{{{{z{{yxyyyzzzzy|{z{zzzzyyyzzzz{zzyzzzzzyyyyyyzzzz{zzyzzyyxzyyzyyyzyzzyzyzyyyyzyzz{yzzzyzyxyzy{z{zzz{z{yyyyyyzzzy{zyzzzyyyyxyxyyzyyyzzyyyzyyyxyzyyyzzzyyyyxxxyyyzzyz{yzzyzxyyyyzzzyzz{{yzyyxyyzzzyzzzyzyyyzyxyyyyyzyzzzyzyyzzyyyyzzzzzyyzyyxyxyzyzzyyyyzyxzyyxyzzzy{zzzyyyzyzyzyyzyz{zyyyzxyzzzz{zzz{zzy{{zyzyy{z{yz{{yzyyyyyzyz{zz{z{zz{zyzzyyzz{zzz{zyzyzyzyz{{zyz{zzzzzzzzzz{{yzzz{{{zyzzyzzz{{{z{{zzzyyyzzzzyzz{{|zzzyzyzy{{{z{zzzz{zzzzzzz{{z{z{z{zzzyzzzz{{z{{{z{z{zyyzzz|zzz{{{{zy{zzzzz{zzzy{zzzzzz{zzzzzz{z|{zzz{{yyzz|z{zzz{z{zyyyyyz{zzzz{zzyzzzzzyzzzzzzz{zyzzzyyyzzzzzzxzyyxyyyzyzz{yyyzyzxyyyxxyzyzzzzy{zyyxyyzyyyzzyzzzxyxyyyzyzzyzz{zzzzyyyxyxzyzyzyyzyyzxyxzxxyyyyyzyyxyyyzzyzyzyyzzzyzzxxyyyyzzyyzyzyyyyxxyyyyzyyyyyyxzyyzxxzzyyyyzzyyyyxyxxyzyyyzzz{yyyyxyxyzyxyzzzzyyxyxzyyyzzyzzyyyyyyyyxzzyzz{zzzxyxzyyyxzzzzzzzyyzzyxyzyyyzzyz{yyzyzyyzyyzyzzzz{xyyyyzyzzyzz{zzzzyyzyzzz{zyyyzzyxyyyzyy{|yzzzzzzyyyyzyzz{z{zz{{yzzyzzzzz{z{zzzzzyyyyzyzzz{{zz{zzzyzz{zz{zzy{z{z{zzyyz{{zzzz{{zzzzyyzyzzy|z|zz{{z{zzzyzyz{{{y{{{yzzzxyyzz{{{{zz{{zyyz{zzzzzzz{zzzzyyyzzyz{{zzzz{zzyyyyyyzz{zz{zzzyyyyzxyyyzzzzzzzyyyyyyxy{zzzzzzyzyzyyyxzyyyzzzzzxyxyyyyyzyzy{zzzz{yzyxyyz{zyy{z{yxyxyyzyyzyzzz{zzzyyyyyyz{zzzzyyyzyzzxyzzzyzzzzzyyyyyyzyzzzyzzzyxyyyxyyzzyzyzzzyzzyyxyyyzzyyz{zzyyzyywxxzzyy{zyyzzyxyyxyzxyyzzyyyyyyyyzyyyzz{zzyxzyzzyyzz{zzzzzzyyyzyyyyzzzzzz{{yzyyyzzzyzxz{{zxyzz{yyzzzyzzzzyzzzy{yyyyzzz{zzzyzyyyzyzzzzzzz{zyyzzzyxyzzzy{zzzzzyzzzzy{{z{{{zzzzyzzyzzyzzzzzzzzyy{zzxyyzzzz{zy{yyyzyyy{{zzzz{{z{yzzzzz{{zz{z{{zzy{zzzzz{z{{zz{{zzzzyzz{z{{zzz{zyzzz{zzz{|{zz{{{zz{zyz{{{zzz{zzzzzzzzy{{zz{zy{{{zzzyyzyzzz{zzz{yyzzzzzyzyzzzzyzyxyyyyyxzzyyzyy{yzyyyxxyyzyyzzzzyzyyxyyyyy{zzzzzzyxyzxxzzyzzyy{zzyzxyyzxyzzzzzzzzyzxxyyyyzzyyzzzyyyyyyxxzyyzz{zzyzyxyzyyzyzzy{zyxyxyyxyyyyyyyyzzyxyyyyyyzy{zzzzzyxzzxzyyyzzzzyzyyyyyzyyxyyzyzzzzyyyyzyzyzzzyyzzyyyyyzyyx{zyzzzzzzzyyyxyyyz{zzyyyyyyyyyzyzzzyyzy{zyyyzyyyyyzz{{{yzzzzzyyzy{zzzyyzzyyz{yyyz{zzzyz{zzyzyyy{yzz{zzzz{yyzzyyz{z{{{zyzzzzyyzzyz{{zzz{{zyyzzzyy{zzz{zzzzyyzzzzy{{zz|z{z{yzz{zzyy{{zzzzz{y{yzzyzz{z{{{{z{yz{yyzzz{{z{{{{zyyzzzy{z{zz{{z{z{yz{yzzyz{zz{{|zzyyzzzzzzzzzz{{zzzyyzzyzyzz{yzzzzzyzyzyzyzzzzzzyyxxyyyyxzzzyzz{yyyyyyzyzzyzz{yzyyxwyyyx{yyyzzzyzyyzyyxxzyzzyyzzyzyxyxyxzzyyyzzzyxyxyxyxyzzzyyzyzyyxzxyyyyzyyzzyyyzxyxyyyyyzyyyzyyyyxyyyyzzyyyyxzxxyzyxyyyzyyyyzyyyyyyxyzzzzzyzzyzyyyyyxyyzxzzzzyyyyyyxxyzzy{zyzwyyyxyyxzyzzzzzzyyyxyzzyzyzyyyzzyzyyxyzyyyyz{zzzzyzzxyxyzzzyyzzzyxzzzxyyz{zyyzzzzyzyzyyxz{{zyz{zzyyyzzyyyzyzzzzzyzyzzyzzzzzzzz{{yyzyy{zyzzz{zzzzyzyyyzyzz{zzz{zzzyzzzyzzz{zzz{{zzzzzyz{yzzyzz{zz{{yyzyy{zz|{yz{z{yyzxyz{zyyzzz{{{zyzyyzzzz{z{{{zzzxz{yzz{z{zz{z{zzzyzyzyyzzzzz{{zzyzyyyzzyzzzz{zxzzyzxzyzzzyyyyyyxxxxyyyzyyzzyzzxywyzyyxyyyzyz{{yyxxxyyyzyzzyzzzyyyyyyyyyzzyyyxyyzywxzyyxzy{zxyyxyxxxyyxzz{xyyyyyyyxyyyyxxyxyzyzyyyyxxyyyzzzzyzzxxzyyyyxzxyzyyzzyxxyxyxxyyzzzzyyyxyyyyyyxyyzzzyyyyyyyxxxyyzyyyyzzxyyxxxxyyyxyzzzxyzxyzyyxyyzzyzzzxyzxxyzxzzz{{zzzyyyyxyyzy{zz{zzyzyyyxyyyyy{yzzzzwyxyyyxzyxzz{zzyxyyyyyyyy{zyz{zzzyyxyzy{zyyz{{yzyyzzyzxy{y{yzzzyzzzzzzyz{z{zzz{yxxzxzyyzyzz{zzzzzyyzyyzzzzyzzzz{yyzzyyzyzyy{zzz{xzzyzyzx{zzzz{zzzyzzzzz{zz{z{zzzzyyyyzzzzzzzy{{yyzzzzyzz{zzzz{yyyyzyxyy{zzzyzzzzyzy{yzxy{z{y{zzyzyzxzyyyzzyyzyzyyyyyzyyyyyzyxzzzyyyyxyxyzyyzy{zzzyxyyyy{x{yz{{yzyxyzxxyyyyzyyzzyyyyyzyxyyzyzzyzyyyxyzxyyzzxzy{yyyyyxyxxxzzzyzyyzzyxyzxyyzyyyzzzxyxxyxxyxyyzzyzyyxyyyxyxyyzx{zzyxyyyyyzyzyzzyyzzyyxyyyyxyzyxyzzzzyxyyyzxyzyzyzzzyyyyxzyxyzzyyz{zyxxyyyyyzzzz{yzyzyyyyyyyyyzzzzzzzzzxxyzyzyzzzzzzzyzyzyyzyzzzzyz{yxzyyyxy{zzz{{{{zzyzzz{yz{zyxzzzzzzzyyyzzzyz{z{zzyyzzzyzz{zzzz{{zyzzyyzy{zz{{z{{zzyyzyzyz{z{zz{{zzzzzzzyx{zzzy{{zzzzzzyzz{zzzzz{zyzzzyzyzzz{{{zz{zzyzyy{zzzz{{{|zzyzzzyy{zz{zz{{zyzyzzyyzyzzzz{zzxzyyyyzyzzzz{zx{yyyyyyyyzzzyyzzyyyyyyyyyzyyzyz{yyxzyxyyyzyyzzyyyzyxzyzxzzzzz{zzzyyyxyxzzzzzyzzzzyyyyxyyyyyyz{z{yyzyyyyxyyyyyzzzzyyyzyxyyzzyzzzzyyxxzyyyyyzyzzyzyyxyyzyxyz{zyzzyyyyyxxyyzzzyzzy{zyzyxxyxyyy{zy{zzyyyzyyzyyyyz{z{zzyyyyyxyzxzyzyzzyyyzyyy{yyzzzz{zzzzzxyyyyyzzzzzzzyzyyyzzyyzz{yzyyzzyyzzzzzzyz{{yzzyyxzzyy{zzzzzyyyyyyzyz{zz{zzzzyyzyzyyz{zzz{{{zzzyyzzzyzz{z{zzzzzyyy{y{zz{yzzzzzzzzyyyzz{zz{{{{yyyzzzzz{{zz{{{zzzzyz{z{|{{{z{{{{zzzzyyy|z{y|{zzx{{zy{yy{z{{{zzzzzyzyzz{yzzzz{|{zzz{zzzzzz{{{{zzzyyzzzy{zzz{z{zzzzzzyzzz{z{zzzzzzywyyyyz{zzyzzzxyxyyyyxyzzzyzyyzxyyyyyyyzyzyzyzyyyxyyxxyzyxzzzzzyzyyyyyyzyzyyzzzyxxxxyyy{yzyzz{yxyxxyyyzyyyyz{yyyyxyzxzzzyyyzyyyyyyxxxyyyxyyyzzyzyyxxyyyyzyyyzxyxyxyxxyyyzyyyzyyzyyxyyxyzzzyyzzzyxyzxxxyyyyzyzxyzyzyyyyzzyxyzzzyyyzyxyxyzzzyzzzzyyyyxzyyzzzyzzzyzzyzxzxzyzzzzzyzyyyxyxyzz{zzzzzzyzxzxyyzzz{z{yyzyzyyyzyyzzzzyzyzyzzyyxzzzzzzyzzyyzyyxyyzz{zzzzzyyyyzzzyz{z{y{zzyyzzyyyyzz{zz{{{zzyz{yzzzzz{z{zzzzyzy{{zyzyzzzzz{zzyyzyzzz{{{{z|yyzyyzzyz{zz{zzzzzzyzzz{z{{zz{{{z{xzzzzzzyz{zzz{z{zzzyyzyzy{z{{{{yyzyzyzz{zyyzzyzyyxyzyyzyyzzzz{yyxzyzxyzyzxyzzzzxxxxyxyyzyzyzzzyyyyzyzy{zzyz{zzzxyzxyxy{yyyzyzyyxyyxyxxyzzzz{z{xyyxzxyyyzxzyzzyyzyyzzxxyzyyyyyzyyyyyzyyyyyyyzyzxyxxyxyyz{zyzyzyyyxyyyxzyy{zzyzzyxzyyyxxzyzzzxzyzyyyyxyxyyzyxzz{zyyyyxyzyzzyyzzzyxzyxyyyyy{zzz{z{yxzyyyyzzzzxzzyzzzyyxyzzzz{zzzzzyzyxyyzyzzzyzz{zyyzzxyxz{zyzzyzzyyzyyyyzzzzzzz{yzyyyzyyzzzz{zzyzyyyzzy{zzzyzz{{yzyz{zzz{zzyzzz{zzyzzyzz{{{{zzz{zyzyyyyy{zzzzz{{zzzyzzzyzz{z{{{z{zzyzyyz{|zy{z{{zzzzyzzzz{zzzz{{|yyzzyyyzzz{zz{zzzyzyz{zzzzzz{{{yyyzzzyzzz{z{yzz{zyyyzyyzzzzzzzzzyzxyzyyyy{yzyyzyyyxyyyyyzzyyy{zyyyyyxyyzzyzyzyzyzyyyxxxzzzyyzzzyyyyyyxyyzzzzy{zzyyyxxyxy{zzy{z{yxyzzyyyxz{yyyzzxyyyyyyyyyzzxzyyyxyxzyyzyyzzzzyzxzyyyxyzyzyyzzyzxwyyyzxyyzzyyxzyyzyyxyyyyxzzzzzyyyyyyyxxyyzyzzyzyyyyyyyzyyzyzzzzzyyyxzyyyyyzzy{zzxyyxyzxzzzyyzz{yyzzyzyzzy{zyzz{yy{yxyyzzzzyzzzzzyzyyyyyyzzzzzzyyyyyzyyyzzzzz{zzzyyzyyxyzzzzy{zyyxyyzyzz{zzz{{zzyzzyzxzyzyzz{{{{zzyzzyyyzzzz{{{z{zzzyyyyzy{y{z{zx{{zyzz{zzz{{z{{zy{yy{yyyz{{z{{{zyzzzzzz{{y{z{z{|xzy{zyzzz{zzzz{{{yzzzz{z{{yyzyzzzzyzzyyyzz{z{{zzzyyyyzzz{zzz{zyyyyyyyyyy{zzz{yyyxyxxxyyxyzzzyyyyzyyxxyxzzyyzzz{zyyxxxyxzxzyyyyyyyyzyywyzyxyyyyzzyzyyyyxyzzyyzyyyxyyyyyxyyyzzzzyzxyxyxyyyzyxzzzyxxyyyzyyyyyyyyzyyyyxyyzyyyzzyzxzyxyyyyxyzyzyzyzyyyyyxyyyxyzzzyzyyyxyyyyxxxyyyyyxxzyyxyyxyzyyzy{zxyyxyzyy{xyyz{{zyyzyzxyyyyyyyzzzyzyyyxyyyxyzyzzzyyyxyyzyxzzzzzzzyzxyzyyzzzyzz{zzzzyyyxyx{{zz{z{xxyyyyzzyy{zyyzyzyyyyyzyyzyzzyzz{yyzzzyzzzzyyz{{{yyyzyzyyzy{zzzzzzzzzzyyyzzzzz{z{zzzzyzzyzzzy{zyzzyyzyzzyyzy{{{z{zyy{yyzzz{zzz{z{zyzzz{zzzzzy{z{{zzzy{yyyz{zz{zzzzzyxzyzzzzyzzz{z{zxyyzyyyzzyzzzyzyzy{yyyzzyzzyyyyyxyyyxyyzzyzzzyyzxzyyyxzyyyz{zzzyyxyxyxzyzzyyzzzxyyyyyyzyzzyzyzzyyyyyyxyzzzyyyzxyzxyyyxyyzxzyzzzyyyyyyyyxzzxzzzyyyywyxxzzyzzyyyyyxxyxyxyyyyyzzxxwyxxyyyyyzzzyzzxyyyyxyyxyyyyzyzyxyyyyxxyzxxyyzyxyyyyyyzyyxyzzzyyxzzyyyxyx{yyzzzyyxyyxzyzzyzyzzzyzyyzyyyzzyzyzz{yyxyyxyzyyzzzzzzzyzzxyyyyzz{zzyyyyyyyyzzzz{yzzzzyyzyyyyyzyzzyzz{{zzyyyyyzzzzyz{zyyzyzzyy{yy{z{{{{yzyyyyzzzzzz{{zyyxzyzyz{zzzzz{{zyzyyzzzy{yzzz{zzzzzzzzzz{{z{|y{zzzzyzzzz{zzzz{z{yzzzyyzy{{zz{{{{zzyyyyzz{z{zzz{zyzyzzzyyyzy{y{{{zzxyyyyxzzzy{zzyyyyzyxyzyzyz{x{zyyyzyxxz{yyzzzzyzyxzzyyzzyyzzy{zyyxzyyyyzyzzz{zyzyzyyyyyzzzyyzyyxzyyyyyzzzzzzyzyxzyxyxxyzzyzzzyzyyyyyyxyyzyxzyzyyyyxyyyyyyyyzzzzxyzyyyyxyz{zy{yyyxyyyxzxyzyzy{zxxyyxxxyzzyyzzzzyxyyzxxzyyyyyzzzyyyyyyxxyzzzzyz{yxyxyzxxzyyzyyzyzyyzyxyxyzzzzy{{zzzzyyyzzyzzyzzzyzzyyxxyyzzyz{{{zxzyyyyyzyyzy{yzyzyzzyyzzzz{yz{zzzxyzyxzzzzzz{yzzzyyzyyyzzz{zyz{zyzzyzzz{y{{zzzzyzyzzyyyzzyzzz{|{yyzzzzzz{zz{{{|zzyyzz{zyz{z{{zz{zz{xzyyzzzzzz{zzyzzyyzzzyzzzz{zzyyyyyzz{{zz|{{z{{zzyzy{{z{z{{{{zzyyzxzyz{z{{z{{zzzyyyyy{{zzyzyzzyyyxxyzzz{{zzzzyxyxxywyxzzyyyzyyyyyyxyyyyyyyzzyyyywyyzyyzyzz{zyyxyyyyyxxzyyyyzzyzyxwwxxyzy{yzzzyyyxxxyyxzyyyyzyzyxxyyyyyyyxxyyyxyyyyyxxyyyyyzyzxyxxxyyxyzzzxzyyyyyyxyyxyyyzyyzzyyyyxxyxyzzyyzzzyxyyyxxxxyyyyzxyyyyyxyyyyyzyyzyzyxxzxyyyyyyyyzzzyyyyyxyzyyzzzyyzyyyyyxxzy{zzyyyzyyyxyxyxyzzzzzzzyyyzyyyxzzzzyyzyzxyzyyxyyzzyzzzzzyzyzyyyzyzzyzzyzzyyzyyzzzzzzz{zyyyyzyzyzzz{zzzzzyyyxzyyy{zzzzzy{yy{zzxyzzzz{zzzzyzyyyzyzzz{{z{{zzyyzzzyzzzz{zz{zyzyyzzyzyzzzzzz{zyzzzzz{yyyzz{zzzzzzyzyz{z{{{zzyy{xyyyyyzzzz{{zzyzzxyzyy{yzzzzzzxxxyx{xzzzyxyyyxyxwyyyxyyzyzzyzyyyyywxyyyyzyzzzyzyzzyxxyyyyzzyyyyzyyxxzyyyzyyyyyxxyxyyyyyzzyzzyxyyyxxyxyzzxyzzzzyyxxyxyzyzyyyzyxyyyyyywyyyzzyzzxyxxxyyyyzyyyzzyyxyyyyxxyzyyxyzyyyxyxxzxyyzzyyzzyxyxzxyyyzyyxyyzxyxxyyxyxzyyyyzyzxzzyyxxzzzyyzzzyxyzzxyyyyyzyzyzyxyyyyyy{{yzzz{zyxxxyyyyyzyyy{zyyyyyyxyyyzzxzzyzyyzyyzyzzzzzzyzyyyxyxyyyzzyxzyzzyzzzzyyyzyy{y{yzyyzyzzzzyzzzy{{{zyzyyzyyzzzzz{zy{zzyzyyyz{{zz{{zzyyzyzzy{zyzzzz{zzyzyzyzy{z{zzzzyy{zyyzyzz{z{zz{{zzzyyyz{zzzyz{{zyyzyzzzz{zzzzzzyzzyxyyyy{zzzz{{zzyyzxxyz{zyyzzyyxzxxyxyzzyyyzyyyyxyyxyyyzyyyyy{zyyxyxxyzyyzzzzzzyyxyyxxyzxzyzzzyzyyyyxzzzyzyyyzyzyxyxzxyzzyzyyzzxxyxyzxyyxyyzzyzxyyxxxyyzyyyyyzyyxxyyxyyyxyyyyzxyyxyyxxzyy{yyyxxyyyxyxyyzzyzzzzyyxywyxzyyyyyyzzyyxxywyyyyyyyyyyyyxyyyxxyyzxy{yzyyyxyxxyzzyzzy{yyyyzyyyyyzyyyzz{zxyyyyyyzyzzyyyzxyzxxxyyyzzyyyzzzzyxzxzyzzyzyzyzzyyyxzyxz{zyzy{zzyyxzyyzz{zyy{zyzyyyxzzzzzzyzzzzzzzyzzzzzzyzzz{zyzyyzyzyy{{z{zyyzzyzyxzxzzyz{z{zz{zxzyzxzz{zzzzzzyyxzyyzz{z{{z{zzyzzyzzy{zzzzzy{yyzyzzyyzzz{{zzzyzzzzzxzz{zzz{{{yzyyzyyyzzzzy{{zzyyyyyzyyzyzzyzzzyyxxyyzzz{zyzzzyyxxzyxxzzzzyzzyyyyyxyxyzyzyzyzzzyyyyyyyyzyyz{zzzzyyyyxzyyyzzyzzzyyyyyyxyyzyz{yzyyyyyyzxyzyzyyyyzzzzyxyyyzzzyyzzyyyxyyyzzxzyzzzzyyyyyxyyxzzzyz{zyzyyyxyyyzzzyzzzxyxyxyyyyyyzyzz{yzyyyxxxyyyyxyyzzyywzyyyyzzzyzzzzxzyyyyyyzyzz{{{zzyyyyzyyyyzzzyzyyzzyzzyyzzyzzzzyzzyxyzy{zzyzzzz{yyzzyzyzzzzzz{yzzzxyxyy{yz{z{zzyzyxyyyyzz{yzyzz{yyzzyyyzy{{z{{zyzzzyzzy{zz{zz|z{zzzyyyzzzzzz{zzzzz{zyyzz|zzyz{zzz{zxz{zzyzy{{z{zzyyyzzzz{z|zzzzz{zyzyzyz{{{{zz{{z{zzzzyyzzzz{{{zzyz{zyz{{{{{|{{zzyzzyzzyz{zz{zz{zyyyzzyyzx{y{zzyzyzzyzyzyz{yyzzyyxyyyxyz{yzzyzzyyyyzyyyzzz{zzzzyyyxyyyyzzz{zy{zzxyyyyyyyy{zzzzzzyyyxyyyzyzyyzzzyyyzyyzyyyzyyz{zyyyxyxyyzxzyyzy{zyyyzxyyyzyzyzzzyxzyyxxyyyyxyzyzyyyyyzzyyzzxzzzzyyyyxyxxyzz{xyzyzxxyxxxxzyyyyzzyyzyyzyzyyzyzz{y{yyxyyzyyzyz{yyzzyzyyyxzxzzzzy{z{yzyyzyyyzzzyy{yzyyyxzzzy{{zy{zzz{zyyzyyzy{z{zzzzzz{xyyyzzzzzz{{zyyzzyzyyzz{zyz{zzzzyyzyzz{|{{zy{zzyzyy{zzzz{{z{{zzzzzyyyz{zzz{{zzyyzz{yyz{zzz{z{y{zyyzzzzz{z{{{{{yzzzzyy{{{{zzzzzzzzyzzzzz{{z{{{zzyzzyyzz{zzz{z{zzzzyzzzzz{zz{z{zyzyyyzyzzz|zzy{zzyzyyzyz{zzzy{{yzzzyyyyzzzzyzyyyyxxxxyxx{yxyzyzyyxxyyxyzyzzzzyyzxyxyzzxzzyzzzyzyyxyxxxyzzzzzzzzyyyyxyyxzz{yzzyzyyxyxyyyyzzyzzzyyyyxzxyyyyxyyzyyzyyyyyyyzyyyyyyyxxyyxyyyyyyyyzzyyyxyyyyxzyyyzyzyyyyyyxyxyyyyyz{zzyyyyxyxyzyxzzzyyyyxyyyyyzyzyzyxyyzxyzxx{xzzyzyzyzxyzxyyyzzzyyzzyyzyzy{yzyzyzzz{yzzzxy{yzzyzyz{yyyzyzwyyyzzzzzzzzyyyyzzyy{zyzzzyzxzyyyyzyyyyyzy{yzyyxzxyzzz{zzzyyyyzzyzzyzy{y{z{zyyyzyyxzzzyzz{zzyzyzzzyz{zzzzzzzyzy{z{zzzzzz{z{{yyyyzyzy{y{z{{{zzzyxyz{{{{zz{{z{yzzzzyyyzzy{z{{z{yyzzy{z{z{{{{{zzxyzzyzzzzzyzzzzyzzyzyyyzz{yzzzzzzxyyyxyyzyyz{zyyxyzyxyyzzyyyy{yyyyxyxyyyyyzyyyzyxxyzzyyyxyyzyyyyyxxxyxyzzyyyyyyxxxxyxyyz{yyzyyyyyyxyxyyzyxyyyyyxyxxyxxyxyyxyyyyyyyyyyxyzyyyzyyxxyxyxxxxyyyyyyzyxxywyxxzyzzzzxzyyyxxyxxyzyzyy{zzyxxyxyyyyyxyyzzyyyxzxxxyyxzyyyzyxyyxyyxyyyyzzyzyywxyyzxzyyyyzzzzyzyxyyyxzzxyyzyxzyyxyyxzzzyyzzyyyxyyyyzyzyyzyzzzyyyyyyxzyyzzzzzyyyyyyyyzzzyyyzzzyyyxxyzyyzzyyzzzyzzyyyyzyzz{zy{yyyzyyzxzzzyz{{zzxyzyyyyz{z{z{zzyyzzyzzzyyz{z{zzzzzzyzzxz{{{zz{{zxzzzy{z{y{z{zzy{yzyzzyyzzy{{zz{{zxzzzzyzzy{{{{zzzxyyyyyyzz{z{z{yzxzyywyyzzzyzyyzxyxyxxyyyzyyyyzyyxxyxyxxyzyzzzzyyxyxxyyyzzyyzy{yzyyyyyyyzyyzzzzyyyxyyxyyzzyyxzyyyyxxyyyzyyyyyy{yzxyxyyxyzyyy{yzyzzzyxyzzyyyzyyzyzxxyxyyyzyzyyyyyyxxzyyyyxyzyzzyyyxyyxxyyyzzzzzzyyyzxxyxyzyzyzzzyxyyxyyxxzyyyzyzyxyxzyyyyyxyyzz{zyyyxyyxzzyzzyzzzyyyyzzyxyzyzyz{yyzyyxyzyzyy{zyzzxyyyyxzyzyyyzzzzyzyyyyyyyy{zzzzzzyyzyyyzz{zyy{yzyyyyzzyzzzyyz{zzyyyyzyzyzzz{{zyzzyyyyyzzzzzz{z{zzzzyzzyz{z{{z{y{yyzzyzz{z{z{{{{zyzzyyzz{{z{{{{{|zyzzzzy{{{zyzz{{zzzyyzz{{{z{zz{zyyxyzxzz{z{zz{{zxzyzzyzz{{z{z{zzzyyzyzyyz{zzz{zzyyzyyyyy{zzzzzyzyyzyyyyyzyzzzyzyyyyyyyxyyzyyzzzyyyxxxxyyyzzzz{yyyxxyyyyyzxzzzzzzxxyyyxyyyzzyyzyzyxxxxxyyyzzyzyzyxzyyxyxyzzyxyzyxyyyzzzyyxyyyyzyyxyxxxyxyyzyzzyzyzyyxyzxxzyzzyyxyyyxxxwyyyyyzyyyyxxyxyyxyyzzzzzzyyyyyyxxyzzyyyyyxyyxxxxxyyzzyzzzyywxyyyxyyzyzzzzyyyxyyyyzyzyzzzzyzyyyyzyyzzzzyyzyyyxxyxxyyyyzzzyyyyzyxyyyyyzyzyzzyyyxyzyz{yyzyzyyyyyywyzzzyz{yyzzzyxzyzyzzy{zzzyyyzyzyyzzz{zz{{{yxyzzyzyzy{{yyzz{zyyzyzyyzz{y{{{zyyyyzyyzzzzz{z{{zzyyzxyyzzz{z{{zzzzyxzzzzzzzz{z{yyyzxyyyzyzyz|{zzzzzyyz{{z{z{yzzzzyyyxyyyzyy{zzzzyxzzyyyzzzzyzzyzyxyxzxyzzzyzyxyyyxxxxxyzzyxyzyxyzyyxyyzz{yyzzzywyxyyzxyzyyzyzyzyyyyyyxxyyyxyzzyyxyxyxxyyxyzzzzxyyxyyxxzzxzyyyyyyyyyyxwyyywyyyzzyyxxyyyxxyyyyyyxyyxzxxyyyzyyyzyywyyyxxxyyyyzyzyxyyxxxxyyzzz{yzzyyyyxxyxx{yyxyyyxyyyyyxyxyzxzyzyzyxyxzxyyyzzyzyzyyyxxyyyzyzzyyzyzyzyyxyyyzyzyz{zyyyywyyzyyy{zyzzzyzyyyxxyzzyzzzyzyyyyyxyyzzyzyzz{zzyyyyxyzyyzzzzyzyyzzxzzzyyyz{zzyyyyzzyxzxzz{zyyxyzzzxxzzzz{zzz{yzyzzyzz|zyzz{zzyyyyzzzyzzyzz{{yyyzyzzyy{y{{y{yyzzyyyzyzzzzz{{|zzyzzzzyy{zzzzz{zzzyzzyyz{yzz{zzzyyxzyzxyzz{z{zzyxyyyxyzxzzzz{zzzyyyyxyyzzzzzxyzyxxxyyxyxyzyzyyyyxxxxxyyzzzyzxyyzyxxyxyxyyzyzyzzzxxyxyxyyyzzyyzyxyzxxzzxyyzzyyyzxyyxyyxxyyyzyzyzzxyxxxyyxyyxyyyzyxyxyyyyyyyzyyzyxxyxyyyxyyyzyzyyyyxyxxyxyxyyyyyyyyxxyxxxyyyzyzzyyyxxyxyyyzxzzyyzyzyxxyyxxzyxy{{xzyxyyyxxzzyyzyzzzyyxzxyyyyyyyyyyyxxyxxzxyyzzx{{zyxzyxxyyyyyyyzzzyxyyyyxyxzzyzzzyyxzyyyxxyzzzyzzzyxxyxyyyzzyyyyyzyxyyyzyzz{zyzyzzyyyyzzzz{{xzzy{{zzyzyyxyzyzzy{zzzyyyyyzyzzzyzz{zzyzyyyzzy{zzz{{z{yzzyzzzyzzzzy{yzyzzzzzyz{zzzzzz{yzyyyyzzzyzzzz{zzzz{zyzzzxzyzzzy{zyyyyzzzzzyz{zzyzxyyyxyxz{zzzyzyyyyyyyyzzyyyxzyyyxyxyxyz{zyyxyyyyyyxxyzzyyzzzyxxxyyyyxyyxyy{zyyyzyyyxyzyyyyyz{yyyyxyxwzyyzyyzzyyyxyxzxyzz{yy{yyyyyxyyyyy{yxyyyyxxxxxxxyyzyyzzzxxxxyyyyyyxzy{zyyxyyxzyyxyyyyzzyzyyyxyyyzzyyyzzzxyyyyyxxxyyzyzyzyyyxyxxyyyzyzzyzyxzyzzxyzyyyzy{zyyzyxxyyyyyyzzzzzxyyyyxzyzzzyzyyyyyxxxxyzyyzzzzyyyyzyxyyyyzzzyzzzyxxyyyyyzzyyzzyzyzzzyyyzzxzz{zzyyyyyyyz{{{z{yzzyzzyzzzyzzyzzy{{yxzzyyxzz{zz{z{zzzyyzyyzzzzz{zz{zyy{zz{yzzzz{zz{{yzzzzz{{z{z{z{z{xzzzyzzzzzzzzyzzyzyzyyyzzzz{{{zzzyyzzyzzz{{{z{{{zzyyyzzyzyz{{zzzyzyyyyxyzzzyzyyyyyyyxzxzzyyyyyzxxzxyxxxyzzxyzzzyyxyxyxxzyyzyzzzxyyxyyxxzyyxyzzzyxyxxyyxyzzzzzyzzyxyxzyxyyyzzzzyywyyzyxyxyzxyzyyyxyxxxxyxyyyxyyyzxywyyxxxyxyyyyyyyxxxyyyyyyyyyzyxxyywyxxyzyxyyzzyxyxyyyxyzyzyyzzyxxyyxxxxzyyyyyzxyyxxxyxyyyxz{yzzxzxxxyxyyyyz{zzzxyyxxyyyzyzxzyyxyzyxyyyxyzzzyyyyzzyzxxxyyyzyzzyzxzyzxxyxyyzzyzzzyxxzyyyzzzyxxyyzyxxyxxyyzzyy{zzyyzzyyyyyyzz{zz{yzzyyzzyyzzzy{zz{zyyyyyyzzzzzzy{{xyyyyyzz{zzzz{{zyzxxzzzzzzzzzyzzzyzyyyyz|z{z{z{{zzzyzyxzzz{z{zzzyxyzyyzyz{z{{z{{zyzzzyzyyzzzzz{yzzyyzyyzzzzzyzzyzxzxyyyyzyzyyzzzxyyxyyxyyyzyy{ywyyxxyxxyyyxyyzyzyxyyyyxyzyzzzy{yyywxxxyxyyyyyyzzyyyxyyxzyzzyxzxyyxyxyyxzzzyyzzyyyzxyyyxxzyxyzzwzyyyzxyyyzyzyzzyyyyxyyyyyyxyyz{yzxxxyyyyyxyyyyyzxyyywyyyyyxyyyzyyyyxxxyxxzzyy{yzzzxyyyxyyyyzyzyyyyxyyyyxyyyyyzyzzxyyyyxxyyzyyyzzyxyxyyyyyyyyyzz{zyyyyyxyzzyzyzz{zxyyyyxyyzyyzzzzyyyzyyyxyzzyyzzyyxyyyyxxzy{zzy{zyyxyyyzzzzzyyzzzzyyxyxxyz{z{z{z{yzyyyzzyzzz{zz{zzyxyzyyyz{zz{{zz{yyxzzzyz{zzzz{zzyzyzyzzzz{zyzyyzzzyyzyzzzzzzz{zzzzzyzzyzzyzzz{z{yyyzyzzzzzzy{zzzyyyzzyzzzz{y{zzyyzyyyyzzzyzzzzzyzyzyxyyyxzzzzzzzzyyxyzxzyyzyyyzyyyyxxyxyzzyyyzyyyyyyzzyzyzzyzzzyxyyyxxzzzzyyzzyzyyyyxyzzyzyzyy{yzyzyxyxyxzzzzzzxyyxxxzxzyxzyzzzxyyxxxyyyyzyzxyyxxxxxyxyyzyzyzyyzzyyzwyyyzzzyz{yyyyzxyxyxyyzyzyyyyzyxyyxzyyyzyyzyyyyyyyxxyzxyyyzyxxxzyyxzyyyyyzzxyyyyzyxyyyzyyzzyxyyzyxyzyzyzzzzyxyxyyzzyz{zzyxzxzyyxyxyzzzzy{zyzyyyyxxzyzyzzyyyyxzxzzyxyzzzzz{{zyyyyyyyy{zzzzyyyzyyzzyzzzzzzzzzyzzyzzzyzzzzyzyzyyyzyyyyz{z{yz{{zyyyyzyz{z{zz{zzyzzzz{y{zzzxy{z{zzzzzyzzz{z{y{{{zy{yyzzyzz{zzzzz{yyzyyzz{zzzzzz{zzzz{zzyz{z{zyz{zyyyzxzzzzzzzz{zzyyyyzyyyyzzzz{yyyyxyxyyzzzzyz{yyxxzzyyyzzzyyzzzyyyyzxyyzzyyzzyzyyzyyxyxyyzyzz{zyyxyyyyzzzzzzy{yyyyxyyyxyzz{yzyzyyyxxyyxyyyxxzyyzxyyxyyyzyyyzzyyyxyxyzyxzyyyzxyyyxyyzyxxyzzyzzyyxyyyyxyyyyyyyzyyzyyyyyxxxyyzzyyzyyzxyyxyyzyyzyyzyzzxyyyyyzyyyzzzyxyyxyxyzyyzzz{zyyyxyxzyyyzzzzyzzxyxxxzy{yyzyzyzyyyxxyyzzyzyzzzzzyzyzyzy{zz{yzzzyxzyzyxyyzyzzy{yzzyyyxyzzz{yyzzy{zyyyzyzzzzzzzz{yyzy{yzzzzz{y{zzyzzzzzwyzzyzyz{zyzyzyyyy{{y{z{{{yyyyyzzyzzzz{{zz{zyyyyyzyz{zzz{{zzzzyyyzzz{{{zzz{zzzyyzyzyyzyyzzzzyyzzyzy{z{zzz{yyzyzyzzyyyzz{{{xzyyyyyyyzy{yyzzyzzzyyyyxyzyzyzzxyxzyxyxyzzyyyzyyyyzxxyyyyzxzzzzyyxxxyxyyxyyyzzzzzyyyyyxyzzyxzzyyyyyxyyxyzzyyyyzxyxyyyyxyzyxzzzyyyxyxxxxzyzyyzxzzyyyxyyyzyyzyyyzxyyyxyxyyyxyyzyyyxyxyxxyyyyzzyzyxyxyxyxyyzz{yyzyxyzxyyzyyyyyzzyzyyyxxyxyyyyyy{zyyyzyxyyxyyzyyxzzxxyyxyyyyzzyyyyzzyyzxyyzzyzyzzyzyzyzyyyyyyzzzyz{yyzyxxyyyzzyyyy{yyyyyyyxyy{xxz{zyyxyxyzy{yzzy{yzzyyyzzyxzzzz{zyzyzzyzyzyyzzz{zzzzyy{yzxyz{zzzzzzzyzyyyzy{zyzz{{{yyyxyzzzyzzyy{z{zzzyyzyzzzzzzzz{zyzzyyzyzzzzz{{zzxzzzyyyyy{zzzz{{yzyzyzzzyyzyzzzyyzyzyy{zzy{zyzyzyyyyzxzyzyzyzzzzxzyxyyyyzyyyyyzxxyxxyywyyyxyyyzxyyyxyxxyyzzzyyzxyxxxzyxzxzyzy{yyxyyxxyzyyyzzxyzzyyxxxxxyyyyzzyzxyyxyyxxyyxyyzyyyxyyxyxxyxzxyzzzyxxxyyyyyyyyyyzyxxxzxyyxyyyyzzyzywxyyyxyyzyxzyyyzyxyxyxxyyyxyyzzyyyyxxyxyzzyzyyzyyyyyxxyyyyyyzzyzxxyyxxxxyyzzzzyyyyxyxyzyzyyyyxzzyyyyxyxzxy{yzyzxxyyyyzyyyzzyyzyyxxyyxyyyxyyyzzzyxzyyyyyyzyyyzzzyyzyyyxy{zzzyzzx{zxyzyzzzzyzzzzyyyyzyyzyy{y{z{zzzyyyyyyy{zzzzzzyzyzyyyyz{z{{zz{{yyyyzzyzz{zzzz{{{zzyyzxyy|zzzz{zzzzyxyyy{zzzz{zzzzzyyyzzzyzzzzz{zzzzyzxzzzz{zyz{xyxxyzyxzyzzyz{{zyyyzyzxyyyzyyzzyyyxxyxyyyzzy{yyxyxxzxwwxyyyzzzyyyyyxyxyyyyzyyzzyyyxxzxxyxyxyyyzxyyxxyxxyyyzyyzyxyxxxxxxyyzyyzyzzxyxxyyxxyxyyyxyyxxxyyxxyyzy{zzxxxyxyxxyyyyzyyzyxyxyyyxxyyyxyyyyyxxxxxyyyxyxzyyyyyyxxwwyyyyzyzzzyxxyyxxwxyyxzyzyzzyyxyxyyyyyyyzzxyyyyyxyyzyxyyzyyyyxyyyxyzyyzyzyxyyxxyyyyyzzzyzzyyxyyxyxyyzyzyzyzyyyxyzyxzyyyzyxyxyzxzxyzz{y{yzzyyzyyyxyyyyzzzzzyyyyyzyyzyyzz{zyyzyxyzzyyyzzyzzzyzzyzyyxyzzyzyzzyzyyxyyyzzyzz{{{yzzzxyzzzzzzyz{zyyyyzxzyyz{zzyz{yyxzxyzy{zyzzzzyzyyyzyyzyzyy{{zzzyyyzyyyyz{zzyyyzyxyyxyyzyyzzzyzyxzyyxyyzzzyzyzzyzzyxyyyzzzyyyzxxyxxxxyyyzyyzyyzzyxxxyxxyxyyzzzyyyyyyyyxzyyyzyzzyyyxyxxyyyxzxz{zyyzyxxyxyyzxyzyzyyywyxyyyyyxyyyyzyyxxxxyyyyyxzyyxxyxxzxxyyzyzyyyxyxxxyxxyzyyyyzxxyxzxxzyyxzyyxzyyyyxxxwxyyyzyzzyyyxyxyxxyyyyyyyyywyyyyxyyyzyxzz{yyxyyyxyyyyzyyyyzxzyyyxyzyyyyyyyyyyyyyyyzyyyzzz{yzyyxxyyyzzyyyyzyyyyxxyxyyzyzzyzzyyyzyyyyzzyzzzzyzyyzzyzyyyzyxyyyzyxzyxyyyzyz{zzyxyyzzyyzzyzzzzzyyyyxyyyzzzzz{zy{yyyzyxyzzzyzzz{yyyxyzyyyzzzzz{{yyzzyyzzzzz{zy{{yzyzzyzyzz{y{z{{yzyzyzyzyzzz{{zzyyzyzyyyxzyzyzzzyzyxyzyyyzyzzyz{zyyyxzyyyzzzyzzyzxzyyw{yzyyxzyyzyyyyxxyxyxyyzyyyyxyyxxxwyyyyzzzzyyyxyyyxyyyyyzyyyyxyxyxyyzzyxzyyzyyxxxyxyxyyyyyyzxxyxxxxyyyzyzzyzyyyyyyyxyyyyxyzyyxyxyyyyyyyyzyyxxyxyxxyyzyyxyzxyxxyxyxyyyyyyzzyyyzxyyxyyyyzyyyzyxxxxyxyyyyyx{xyyxxxyxxxyyyyxzyzyyxyyyxxzzyxyzzzzyyxyxyyyzyxzyzzyyyyxyyyyzzyzyzzyyyyyyyxxzzzyyyzzyyyyyxyzzzzzzxzyxzyyyyyyyzzyz{yyyyyyyyyzzyyyyzyxzyxyyzyxyz{zzz{xyyyyyzyxzyzzz{zyxyyxyyyzyzz|z{yzxzzzyyyz{zzzzz|zzyzzzzzzyz{{zz|zzyyyyyy{|z{z{{z{zzyyyyzzz{z{zzzyyyyzxyxzzzzz{z{zzzzyzyyyzzzzz{zyzzyzyyz{zzyyz{z{yxyyyyxyzxzzyzzyxyzyxyyyyzyyyzzyxzyyyxxyyyxyyyyyyyyzyyxzyzyyyzyyyxxyyyxzyzyzzyyyxzyxzxyzzyzxyyzyyyyxyxyyyyzzzzzxxzxyyyxyzzyxyzzzzyxxxyzyyyyyyy{yxyyyxxxyxzyyyyyxyxyxxyyyy{yyz{zxyyxxzxyyyzyyzyzyyxyxwxxzyzyyzzzyxyxyyyyyxzyyyyyyyyxxxyyxzyyz{yyyyyyyyyxyxyzyzzyzyyyyxyyyyzyxyzzxzyxyyyyzyz{zzzzxyyyxyyyzyzyzz{yyyzzxyyxyyzzzzzyyxyyyyyyzzzzyyzzyyyzyyyyzzzzyzyyxyyyyyyyyzzzzzzzyzyzyzzyzzyzyy{{zyyyyyyyz{zzzzzz{yzyyyyzzzyzzz{zzzzyzzyyx{yz{z{zzyyzzzyyy|{z{y{zzyzyyyzzzz{zz{zzzyy{yyyyzz{yyzz{zzyzyzxyzzzzzz{zzyxzzyzyyy{zz{z{zyxxzyyyzzzyyz{zyytyyxyyzxzzyzzyzyyyxxwxyyzyzyzyyyxyyyyyyyyyyzyyyyyxxyywzyyyzyzyyyzyyzzyyyyzyz{zzxyxxxyxyyzyyzyyxyyxxxxxxyyyyzzyzyyxyxyxzy{yzzyyyyxyyyxyyyzyyzzzyyywyxzyzz{zyyyyyyzyyywyyyzxyyzzzyyyyyyxzyxyzy{zzxxyyzyyyyzyzzyyz{yxxyzyxzyyyzzzyyxyyyyyyyyyyyzzyyyxzyyyzyyyz{zyzxyyyxyyzyyzzzz{yxyyyyyyzzzzzy{yyxyyyyzzyzyz{yzyzyzzyzyyzzzzzz{zzyzxxyyzyzyzyzzzyyzz{yyyzzzzzzzzxyyyzyzyzzxzzzy{zyyyyyzyyzzz{z{zzyzzzyzz{{zzz{zzzzzyzzzzyzzzz{zyzyzyyzz{y{zzzz{zyzz{yyyzzzy{z{{zzzyzzzyzzzz{yz{zzyzyzzyzyzyz{zz{zyyyy{yzzzzyzz{z{zyzyzzxyzzz{yzzyy{yyxyzz{zzzyzyyyyxyxyyyyyyyzyyyxzyzxyxyyyyz{yzyyxxxyyyyzzyzz{yzxzyyxyxzyyzyzzyyyyyyyyyyyzyzzy{yyyyyxyyyyyyzy{xzyyyyyxyyyyyyzxyzyzxxzxxxyyyyzzzxxyyyxyxyyyzyyzyyyzyxyxyyyyyzyyyyzyyyyyxxyxyyzzyyyyxxxxxyyyyyyzyzyyyxxyyyyyzyzxzyxyyyzzxyzzyzzzzyzxyyyyyyzzzzzzyzyyyyyyyzyzzzzzyyyzxyyzzyzzzyzzzzyyyzyzyzzzzy{zzyyzzyzyyyzyzzy{zyyyyzyyxzzyyyy{z{yzzyyyzzzz{zzzzyy{yxxyzzzzzyzzzyyyyyyyyzzzzzzz{zzz{zzyzzzyzz{{{zzzzzyyzzzzz{zy{{xzzzzzzz|zzzz|zzyzyxyzy{zyzyz{zzzyy{yyyzy{{{zz{zyyy{zyz{zzz{zzz{zzxzzyy{z{zzzzz{zzzyyyyxzzy{zzzzyyxzyzyyz{zzzyzyyxyxyxyxyxzyzyzyyxxyxyxyyyyzzy{zyyxyyxxyxzzzzzzzyzxxyyxy{yyyzzzyzyxxzzyzyyzyzzzyyyxyxxxyzzzzyzzzzyxywxxyzzyyzyyzxyxyyyyzyzyzzyyxxxyxxyyzxyxyzyxxxxyyxyxyyzzzyzzyxyyyyyxyyyyyzz{yyyyywyxyzyyyyyyyyyxyyyyyzxz{zzzyxyyyzywyzzyzzyyyyyyyyyyz{yzyyzzxxyyyyyyyyzzyzzzyzxyyyyyzzyyyzzyzyyzyyzyzzyzz{zzzyxyyyyyzz{zyy{yyyzxyyyyy{{zyzyxyyzxyxyxzzzzyz{zyyyzyyyyzzz{{zz{xyyzxxyyy{{zzzzzyyyyyyyxyzzzzzzz{{yzzyzzyzz{zzzz{yyyyyyzz{{z{z{{zzzzyyyz{z{zzzzzzzzzyxyzyz{{z{zzzyzzyzyyz{zzzzzyyyyyzyyyzz{zzz{yzyxyyyyyzzzz{{yyyyyzzxzy{zyyyyyyxyyxyyyyxxyyyxzxxxyyyyxxyzyy{yz{yyxyxywxyzyzyyzyyyyyyxyyxzyzyzzyzyyyxxxxyyzyzyyyyxyyyxyxxxzxyyzyyxyyyxxyyzyyyyzzyyyxyxyyyyxzzyzyxyyxxxyyyxyyyyyyxxyyxywyxxzyyzyyzxyxxwxxxzyzyyzxxxyywxyyyyyz{yyyyzyxyyxwyzzxyzzzyxyxxyxxyyyyyxzyzxyyyxyyyyzzyzyzyxyxyyyyyzzyyzz{zyyxyyxzzzzyzzzyxyxzyxxzyzz{yzyyyyzyyyyxyzzzzzzzzyxyyxzyzzzyyzzyyyzyzyzyzzzzzzyzyzyzyyzzyzzzyyzzzyzyzyyyzzyzyz{zyzyyzyyzzzzzzy{zyyyyyyyz{zzyzz{zzyyyyyyx{{z{z{{y{yzzzyyyzzzzy{{{{yyxyyyzzzzzyzzzyyzyzyyyyz{{{yzzyyzxyyyzzzyzzz{zyyxxyzzyzzy{zzzzyyxzyyyxyzzzyyyxxyxxxxxxxzyxyxyyzyyxyyyyxzzzzyz{yxywxywyyyyyyzyyyyyyxxywyyyxyy{zyyyxxxyyyyzzyyyyyxxxxxyxyzxyzyzyyyyyyxyxzyzyyyzxyyxyxyxxzyyyyzyyxyxyyxywxyyxyzzyyxyzxywxyyzxxyyyyyyyywxyxyyyyyyyyxyyyxxxyxyyyyxyyyxxyxyxyyyxy{yzyxyzyxyxyzyzzyyyyyxxyyxxzzyyyyzzyyzxxwyxyyyzzzyyyxzyyxyxyyzzyyzzyyyyzyyyyyzzyzzzzyyyyxyxyzz{yyzyyxxyyyzyzzyyxzyzyyyyyyyyzyz{zzyzyzzyyyyy{yzzz{yzyyyyyyxyzzzyzz{zzyzzyyyzy{{zzz{zzyyyyzyzzzzyz{zzyxxyyyyyyzz{z{yzyzyzyyyz{yzzzzzy|yzyyzyyy{zyz{y{yyzyyxyzyzy{zzz{yyyyyyyyyzzzyzzzyyzyxyyxyzzzzyzzzyyyyzyyyyzyzzyyxzwyyyxx{yyyyzzzyzyyyxzyyyxzzzzzxxxxywwxyyyy{z{xxxyyyzxyxyyxzzyyzyywxxxxyzyyzzyyxxyyzyyxyzyyzzzyzxzyxyxxxyyyyzzzzyyxwyxxzyyyyyyyyxyxyxyyzyyzyzyxyyyxyyyxzyyzzyzyyyyyyyxxyyyzzzyzzyyxxxxxwyyxxzy{zyywxyxyzyyyzzyzyyxyyyyxzxyzzyyzxyxyyxyyyyzyyzzzyzyyyyxyyzzyzzyzxyyyyyyyzzyyy{{zzyyyzxyzyzzzzzyzzyyxxyyxzzzzyzyyxyy{yyxyzzz{yyzyyzyyzyyyzzzyzzyzzyxxyyzz{zy{yzz{yzyyyyyyzzzy{z{z{xyzzxyyz{z{zz{zyxzyzzzz{zzzz{{{zyyxyyyzz{z{{{zzyyyzzzzyyzzyzzzz{xyyyzyy{z{zz{zzzzyyzzyzy{zzzzz{xyyyyyxyy{zzyzz{yyyxyxzxzzzzyzzzyyyxyxyyzzzzyyxyxwzyywxxyzyxyzzzyxyyxwxyyyyxyyzzyyyxyzzxxyyyz{yyxxyyxxwyyzyyyyyyyywxxyxxzzxxyzzyxyyyxyxxxzxyxzyyyxxwwyxxyxyyzyzyxyyxxyyyyzxxyyzyxyyyxyyxyxyyyyyyyxyyxyyyyxzyy{yyxyzxyxxyyyyyxzzyyyxyyxyxyyyxzyy{yyxxyyxxyyyyxzzzxxxyxyyxzzyyyxyyyyxzyxyyyyyyzyyyyxyyyyyxyyzyyyyzxyyyxxyyyy{zyzzzyxzyyxyxyyyzyzzxyyxxyz{xyzyzyz{yyxyyyyzzzzzyy{{yyyyyyzzyzyzzzyzyzzxzyyyzzzzzz{zzyyyyyyyyyzzyzzzy{yyzzzzyzz{yy{zzyyyyyyzzz{{zzzyz{zyzxyxyy{zzzz{zzxzzzyzyzzyzzzz{yzyzzxyzyyzzzzzzzzyyzyzzz{{z{zz{yyyxzyyyyyy{zyzzyyxzyzxyzyzzyzz{yyzyyxyxyzyyyyyyxywxxyzxyyyyxyzyyyxxwxwxyzyyyyzyxwyxxyyxyxyyzyyyyyyyyxyyzxyzyzyzyyyyxyyxzyzzyzyzzxyyyyzxyyyyyzyxyyyyyxyyyyyyyyyxzxyxxxxy{yyyyyy{xxyxxyxxxyyyzzzyzyyyxxyyxzzxzzyyyyyxxyxxxyxzyxzzyzxwyyxyxzyxyyyyyyxyxwyxyyxxxyzyyzyyyyxxzyyyyzzyzyxyyxyzzyzyzzzyyyxyyxyyyyzyyyzyyzyxyyyyyzyxzyyzyzxyxyyxyzyzz{yzzyyyzyyxxyyyyyzyyyyyxyxzzyzyyzzzyyyyyzwyzyyzzzzzyxyyxyyyyzyyy{zzzyyzxyyyyzzzzzz{zxyyzzzyzzyz{zzzyyyzyyyyyzzzzzzzzxyyyyyzy{zyzzzzzyyzzzzyz{zzzyyyyyzxyzyzzzyzzz{yzzyzzyyzzz{yy{{zyyyyzyzzzzzzyzzzzyzyzzyyyzyyzz{{yyzxyzyyzxzzzyyyxxyxyyywxyyyyyzzyyxxxxxxyyzyyyyyyxyxxyyxyxzyzxzyyyyxyyyyyzzyxzzzzyxxyyyxxyyyyyyyyxxyyzxxyyyyxzxxyyyxyyyxxxyyyyyzyxwxxyxxyyzyyzyzyxxxxyxxyyyzyyyyyyyyyywyyxyyyyzzxyyxwyyyxyyyzzyyyyyxyxxxxyyyyzyzyyyxyxyxxzyzxzzyxxyyyzzxzyyzzyyzzyyyzxxxyzz{y{yzzyyxxyyyyzzyzyyzyyxyyyxzzyz{zzzzyyyyxyyyxyyzzyyzyyyxyzzzyyzyyyzyzyyyyyyyzyzyyyzzyyyyyyzyzyzzzzzyxyyyyzyzzyzzyyzzyyxzyzzyzzyy{{{{yxyxzyyzzyzzz{zzzzxyyzyzyyz{zz{z{zzzzzxyyzz{z{{{zyzzzyyzzyzzz{zz{yyyyzyzzzzzzzy{zzzzyzyyzzyzzzzzzyyyzyxyzzzzzy{{{xxyxyzyyzzyyz{yxyyyyyyyzzyyzzyyyzxxxxyxy{yxyyyzyyxxxxzyzxzzyyzzyxyxxyxyzyyzzz{yzyyyzxyyy{zyyyyzzyxyxxxxyyzyyzzzyxyxyxyxzzyyxyzyzyyxyyxyzxzyzyyzyyzxyyxyyyyzxyyzyxxyyxyyyyyyyyzzyxxyxxyyxxyyyyyyyxyxxyxxyyzyzyyzzxyxyyyyxzzyzyyyyyxyzxxxxyzyyzzzyxyxyzzyyyzyzyzzzyxxxxyyzyzzyzzzyxzyyyyyxzxzyzyzyyyyxzyzzxzyyyzzzyyyyyyyxyzzzzyyyxyyyyxzzy{zyyy{zyyyyxyy{yzyzzzzyyyyyzyyzzyy{zyyyzzyyyzyyyz{yzzzyyzzzxyx{zzz{zzz{zyyxyzyzy{zyyz|zzzyyzzyyzzzzz{zzzyzxy{zy{zzzz{zyyyyyzyyzzz{zzzyyyyzzzyzz{zyzzzzzzzzzyyz{zzz{z{zzzxxyyzyzzzzz{{zyzzyyzyxzzzyzzyyyyyyyyyyzz{zyzxyxyxwxyyxzyzzyyzzyxxyxwyxyxyyyyzyyyxxyyxxyzyxyzzyzyyywxxzxyyzxyzyxyxyyxyxyyyyzyyzzyxxyyyyyzxyyyzyyxzxxxxyyyyxyyyyyxyxxyxyxyyyyyyzyxxxyxyxzyzyyyzzyyzxyxxxxyzxyzzyxxyyyzyyyxzzyyzzyxxywxyxyyyxyyy{zxxwxyxxxyxzzzzzyyxyxyxxxxzzzyzzyyyxyyyyzyyyyzz{xyyyxxyyzyyyzzyzyyxyxyxyzzzyyzzyxxyyyxyxz{yzyzyzyyxyyyyzyyzyzz{{yyyyxyyyz{zyzzzzzzyxyyyxzyz{zzzzyzyyyyyyzy{{zzz{yyyyxyzxzzzyzzzyyyyxzyzyyzyzz{z{zxyyyzzzzzxy{{yz{zzyzzzyyz{{{z{zzzyzzzyyzyzzzy{xyyyzyyyzzzzzzz{yzyyzyyzzyzzzyz{{zyyyxyyyzyzyyzzyyyyzyyyyyzz{yyz{yzzxyzzyx{{xyyxxxxxyyxyxyzxyxyyzyyxyywxxyzzyzzyyzxxxyxwxyyyyxzzyyyyzxxxxyyyzyx{yxxyxyyyyzyyyzyyzyyyxyyxxyyzyyyzyyxxyxxyxyyyzyzzzyyxxxxxxyxyzyyxyxxxxyyxyyyzzxyzyxxxxyyyyyyyxyyyyyxyxyxyyyxyyyyzyyyxwyxyxyzxyyyzzxxxxxxxxxyxyxzzzxzyyyyyxyxyyzyzyyyyxzyyyyzzyyzzzyyyyyxyyzyyyxzzyyyyxyyyxyyyzyy{yzyzyyzyyyyzzzzyzyyyxxyyzzzzyzyzzyxxyyyzyzyzyzzzzzyyxzzyyzzzzz{zzyyyyzyyzyzyzzzyzyzyxyzxyz{yzzz{zzyyzzzzyz{zzz{zzyzyyyzyyyzyzzzzz{zzyyyyyz{zzzzzzzyzyz{zzzzzyzz{zzzyyz{zyzzzyzzzzyzyyzyxyzyzzzzz{yzyyzyxyzzz{yzyzzxyxzzyy{zzzyyzyyyyzyxyxzz{yyzzzxxwyxxyxxzyzxzzyyxxyyyyxzzyyyyyzyyywyyyxyxzzyz{yyxyyxyyyyyyyyxyzzwyxxyyxzyzyxyxzywxxxyyyyyzyyzyxzyyyyyyxyyyxyyzyyxyyxxxyxyyyyxzyyyxyyyyxzzxyxyzzyyxxxyxyyyzzzyzyyyyxwxxxyyyyyzyyyyyyxxxyyyyyyyyzyyyxzxxxyyyzyyyyzyyxxwxzyyyyzyzyyxxxyyxxyyyyzyzzyxxyyyzyyyzyzzyzxyyxxxyxzzzyyz{yzyyyyx{yzzzyy{yxyyzzxyyyzz|yzz{yzzyyxyyyxzzzyzzzyyyxzyyyzzzzyz{zzyyyxzyzzzyzzz{{zzyzyyyyy{{zzy{zyzzyzyzzz{zy{{}{yyzyyz{zzz{zyzzzzyzzzzzzyzz{zzy{{y{yyy{yzzz{y{zzzxyzyyyyyyzyyyz{zzyyyzyzyyyz{y{zyyzyyyyyzzzzzyzyzyxyyyyxzy{{zyyzzyyyyyyzyyyzyyyzyxyxxyyxxzyyxyyyzxxyxxyyzyyyzyyzyyyxzxywzyyyyyzzyxxyyxxxxyyyyyzyyyxxxxyxyxzyzyyzyyyxyxxxyyzyxzzxyxyyxxxyxyyxyzyyxyxxyxxxxyxyxyyywyxyyxwxxyzyyyyyyxxwxxxyyyyyzyyyzxyxxxxxxyyzyyyyywxxxyxxxyyxyzyyxxywxxyyxyyyxzxzyyyxyyxxyyyyyyyzyxxxzyyxyzzyyzyzyyxywxyxyzyyyyzzxyyyxxxyyyyzzyy{yyzyyxxyyyyyzyyyzxyxyyxxzyyzyzzyyyyzxyyyyzzzyzzzzyxyyxyyzxzzz{{yyyzyyyyy{yy{y{zzyzyxyxyyyyzy{zzzzxyzzyzyzyzzzzz{yyzzyzzyyz{zy{zzzxxyyzyzz{zy{{{zzyyyyzyyzz{zzzyyzyxyyzyzzzzyzzzzzyyxyyyyyyyzyzzzzyyxxyyyzzzyzzzzzzzyyyyyz{z{zzzyyyyyxxzyyzyzzzxyxyyxzyyyyyyyyyyzxzxyyxxyyxyxxzzzzyyxxyyxyxzyyzyyyxyxxxyxzyyzzyyzyxxyxxyxyzxyyzyyxzyxxxxyxyyyzyyzyyxxyyxxzzyxxzyyyyxyyywxyxzzyyyyyyxyxxyzzyyyyzzyxxyxxxxyyyxyyzyzzxyyyyyyyxyyxyzyzwyyyxxyyyxyyyyyxyywyxxyxzyyxzzyxyyyyyyxzzzyzzzzyyyxxyxyzyyzzyzyyyyxxxyyyyzzzzy{yxyyxyxwzyzyyzzzyyyyzxxyyzzzyyyyyyyxyyyyzxzzyy{yyzyyzxyyyzzzz{zzzyyxyyyyyyyzyyz{yyyyyzyyz{xzzzyzzyyyyzyyyzz{{{zzzyxyyyzyzzzzzzzzzyyyyxzz|yzz{zz{zyzzyyyzy{zy{{{yyzzyyyyy{zzzzzz{yyzxzzyz{zyz{y{z{yxzzyzyzzzzzzz{yzxyzyyyzzzzyzz{zzyyyyyyy{zzyyyyyyyyyyxyyzzyzzzxyyxxxyyxy{yxzyyyyyxyxwxxyyyyzyz{yyxwyzyxyyzyz{zzzyyyyxxxyzyyxzzzyxyzyxxxyy{yzyyzyyyxxyyxyzyxzzxyzyyyyyxxxyzyyyyyyyzyxyyyyyyzxzzyxxwxwyzxyyzzyzzyxyyxxyxyyxyyzyzzzxyxxxywyyxyyyzzzxxyxxyxyyzzxzyyzxxxxxxxxyyyyyyyyxyyxyywyyyzzzzyyxyxyxxyyyyzzyzyyyyyxyyyz{{yyzyzyyxyyxyyyz{yzyzyzxxxzyxyyyyzyyzyzxyxyyyxzyyzzyz{zzxyxyyxzyzyzzyzzxyxyyxyzzzzz{y{zyzxyxzzyzyzzzzzyzzyzzyzzyzyyzzzzxyyzyzyzyz{y{zyz{yyy{zz{zz{zzzzzyzyyzyyy{y|{zz{z{zyzxyy{z{yzzzzyyyyzyyxyzzyyzzz{yzyzzyzzyy{{{{{yyyxyzyyyzyyy{zyyyyzyzzxzzzzyz{zyyyyyyyyy{yyyyzyyyxwxyyyyzyzxyyzyyxxxyxyyyyyyzyyyyxyxywxyxzyyyyyyxyxyxxxyyyyyzyyyxzxwyyxyyyyyzzyzwyyxyyxxyyyyxyyxyyyxxxxyxyxxyyyyyyyyyxxyxyyyyyyxyxxywxyxyxxxzzyyyyxxyxxyyyxzyyyxyyzxyxyzyyyyyyyyyyyyxyyyyyxyzyyyzzxxyxyyzyyyyyyyxxxyxyyzzyyyz{zyxyxyxyyzzzyzyz{zxyyxyyyyyzyxzzyzxyyxxxxyzzyzzzyxxyyyxyxyyyzzz{yyyyyxyyyyzyyzyzzyyyyyzxyzyzyyzzyzyyyxyyxyzzzyzy{zzyyyyzzx{xzyyzzyyyyyxy{yzz{z{zy{yzyxzzxzzz{zz{zyzyyzyyyyzzzzz{z{yyyyyyzz{zzzzz{zzyzzxyzzyyy|zzyzyxzzyzzyzz{yyz{{yzyyyzyyzzzyz{{yzz{yzzzzyyyzzyzz{yyyxzyyzyzyzyxxxyyzxxyzzzzyzzyxxxxxxxxyzzxyyzyyyxwxxxxzyyzyyyzyywxxxxxyyyzzxzyyxyxyyxxyyzyyyyzyyyywxxxyyyyxzyyxxyyyyyxyyxxyyyyzyyxyxxxyyxxyzzyxxyxxyxyzyyyyyyzxyxxxxxxxzzyyyzyyxxxxxxxzyzyyyzyyzyxxxxxxxxzyzxzxyyyyxyxxyyxyyzzyyxxyxyxzyyyyyzyxxxyyyyyxxyyyzzyyxyyxxzyyyzyxyyzzyxyxxxyxyzzzzyyxxyxxxyyyyzyyyzzyyyyywyxyzzyzxyyzyxyyxyyyzz{yyzyzyxzxyyyyzzxyzzzzyyzyzyyyyyzzzyzyyzzyyyzyzz{yzzzyyyyzyyxz{zzzz{yyyzyxyyx{{zyz{z{zyzyyyyxyzzz{{{zzyyyyyzzy{z{{{{zzyzyyzzy{zzyzzzyzzxxyyyyyyyzzz{zzyzyyyyzzzyyzzzzyyzyyyyyzzyyyzz{yyyzxxyxyzyyzzyyyyzxyyyyyy{zzzyzyyyxzxzyyzyyyzyyyxxyyzyxzz{zzzzzzxyyyyyxzyyzzzzyzxzyzyxyyzzyyzzyyyyxxyxxxzyyzzyzzyyyxxyxyyyzyzzyyyxyxyyxyx{yxzy{yxyxxyyxyyzyzyzzyyxxxyxyyxzyxyzyxyyxyxwyyyyyyzzyyxyyyxyxyyzyyz{yyxyyxyxxyyyywyyzyyyyyyxxyyxxyzzyxzyyyxzx{z{yzyzzyzyyyyyxyyzzyyzzyyyyxyzyyzzyyyz{zyyyyyzyzzzzyyzzyzyyyxxyzzyyzyzzyzzxyyyyxzzyyzzzzyxyyyyyyz{zyzzyzyyyzxyyzzzzz{{zyyyyyyzyzzzzzyzzyzzyzyzyz{{xzzzzzzxzyyyyz{zz{{{{zzzzzzyyzzzzz{{zzzyyxzyyz{zzz{{zzzzzzyzyzzyzyzz{zyzyyyzzzzyyz{z{zyzyzzzy|zzz{zzzyyyyzyyyyzzzzz{z{yzyyyyyyzzzzzzzyzxyyyyyyz{zyzzyzyxyyxyxyzzyzyzzyxxyyxzyzyyzyyzzyyxyyxyzzxyzzzzzyzyyyxxyyzyyyyzyyyzxyxyyyyyzyzyzzxyxxzyyyyyxxyyzyyyyzyyxzyyyzyyyyyyxxyyyyyyyyzzzyzxxzyxxxzyyzzyzyyxyyyxyxyyyyyyyyyyyyxyxx{yyzyzzxxyxyxxxyyyyyxzzyyyyyzyxyyyyyzzyyxyyyyzxyyyzzyzzzyyyyzyzzyzyyzzzyyyyxxxzz{zyyzzyyzzyzxyyyxzzzzyzyzzyxyzyzyz{yzzzyyyzyxyyyzzz{z{zzxyyyzyyy{yzyzzx{zyyzzyy{zzzyyzzyyzyyzyzzzz{zy{zyyyzyzyyzzzyzy{zzyyzzyyyz{{zz{{{zyyzyzz{zzy{{{{zzyyzyzyyyz{{z{{{zyzzyxzz{zzzyzz{yzy{zzzzzzzzzzzzzzyy{zyzz{yy{z{{zyyyzxyzzzzzy{{{zyyzzzyyyzy{zzzyyyzyyxyzyzyzzyyyxxyyxxxyyyzyzyyyyxxyyyyxyyzyyzzzyyyyyyxyyzzz{zzyyyyxyyyyyzyzyxzzyxyyxyzyzzyyyyzzyyyxyyzxyyyzyzzyzxxzxxxyyxzyyzyyxyyyxyxxxxyyyzzyyyxyxyyxxyyyyzzyyxyyyyyzyzyxyyyzyyzzyyxxzzyyzyyzyxxzyxzxxyyyyzyyyyyyyxyyxyzyyyzyyyyzyzyyyzyzyzzy{yyyxxzyyzzzyzyzyyyxxyyyxzyyy{zzyyyxzzyzyzyzyyyyzzyyzyyxy{yyyzzzyyyzyyxz{yyzzyzzyzyyyyyxzzzyyzzz{yyzzyyyzyzzzzzyyzzzyyzzyyy{y{{{yyyyyyyzzzzzz{yzyyzyyyyz{zzzzzyzzzzzzzzz{{zzzzy{{yzyyzzyz{{{{zzz{zzzzyzz{zzzzy{zzzyzzxyyzzzzz{zzzyyyzyzyyz{zzzz{yzzyyzyyy{z{{{z{{yxyyyyyzzzyzz{yyyzyxxxyyyzzzyxyxxyxyxxyxyzyyyzyyywyyxywxzyzzzyzyxyxwxxxyxyyzzzz{yyyxyxyyzxzyyzyzyywxyzxyxyzyzyzzxyxxyxxxyxyxzyyyyxyyyxyyzyyxxyyyxyywxxyxzzyyyyyyxyyywxyyzyyyyyyyxyyyxxxxyzyzyzyyxyyyxxyyyzyyyzzxyyyxyxxxzzyzzxzxyxyxyxyxzyyyzzyyyyyyxyyzyyyyyzzyyyyyxxxyyyyyzyyzyyyyyxyxzzyzzyzyxyyxxyyyzzyyyzyzyzyxxyxxyzyyzyzyyyyyxxyyyyyzzzyxyyxzyyyzyzyyz{yyyyyzxyyzzz{z{zyyyxyzyzzyzzyzyz{zyxyzyyyyyzzzzzzzzyyyyyyzzzzzz{{zzxyyy{yzzzzzz{zzzyyzzyz{zzzzyzzzyyzyyzyzyzzyzzzzyyyzyyyzzzzzyzz{xyyyyzyz{zzyzzzzzzxyzxyzyzyyzzzzyyyzyyxxzzyzzzzyyyyyxyyzyzyzzzyyyxxxzyxzzyyzzyzxyyxzyyyyyyyyy{zyzyyyyyxzyyy{xzyyxyyyyxxxyyzyyyyyyxxyyyyxyzyyzzyzyyyyxyxyyzyzyzyzyyzxyyyyxyyzyzyyyzxxyxyyxyzxy{zxxxyxxyxyzyzyz{yyyyyyyxzxxyzzyyyyxzyyyywzyyyyzzyyyyyyxyxyzyyzyyzxyxxyyyxyzyxyzzxxyyyyyxxyyzzyzzzyyxyyxxyyzyzzyzyyxxyxyyyyzzzyyzzyyyyyyxxzyzyyzzzyyyzzxyyyy{yxzyyzyyyyyxyyzzzzyzyyzxzyyyyyzzyzzzyyzxxzyzyy{{yyzz{yyyxzyyxzyz{z{{{zyyyzyyyz{yzy{{zzy{yzzyy{{zzyzzzyzyyzzzzzzz{z{zz{zzzzzzzzzz{z{{{zxyzzxyzzz{z{|zzzyyzzyzzzzyzzz{z{yyzz{yyyzzzyzzzyzzxyzyyzzzzz{zy{yzyxyzyyzz{zyzzyzxyzzyy{yzyzyyyxxxyyzyxyyyzzwzxyxxzywxyyyy{yzyyzxwyyyywzyzzyzzyyyyyyxyyxyzzyzzyyyxxyxxyyzyzyyzzyxyyyyxxxzyyzzzzxyyxzyxwyyzyyzyzyyxxxyzyyxzyxzzyyyyyyyxyyyzyyzyyxxxxxyxyyyyyzzyyxyyxyyyzxyyzzzzyzyyxzxxxxyzzyyzzyyyyxyyyyyzyyzzzyxxxzyyyy{yzyyzyyyzxzyyyxzzzxyzzyyzyxxzyyyyzz{z{yyxxxyxyyzyzzyzzyyyyyxyxyzzzyzzyzyzyxyyxyzzzyzzyyyyyyxxyyyzzyzzyzyyyyyxyz{{z{zzzyzzyzzzyyzzz{{z{xyyzyyzzzzzyzy{zzyyzzyyzzzzz{z{zyzzyyzzyzyz{{{zzzyzzyzzzyzz{z{y{zyzyzyyyzzz{zzz{zyzyyxzzyzzzz{{zzzyzzyyzzzyz{{{{zzzxzzyyzzzyzy{zzyyyxyyzxyzzzzyyxyyzyyzyzzyyyyyyxxxxwxxwyxxyxxzzxyyyxyxyyzyyyyzzxyyxxyxxyyyyyxzzzyxxyxxxyyyzyyzyyyyxxyyxyxyyyzyzyxxxyyyxyyyyyyzxyxyxxzxyyxyyyyyyzyxyxxyyyxyyxzyyyxxyyxyxxyyyxzyyyyyyyxxyxyxyyyzyyxyxyyxyyyzyyzzzyxyyyyyxwyyxxyyzyxyxxzywxzxyxzzzyyyxyyyxxyxyyxzzxyyyyxyyyzyyzyyzzxzyyxxxxyyyyzzzyzyyxxxyxzxyzyyzyyyxyxzyyzzzyyyyyyzyyyyyyyzyyzyxxxxyyyyxyz{yzzyzyyxyyzyyzyz{{yyzxyyxzyzzzyyzyz{zyzyyyxyxzzyzzyyzzyxxzyzy{zyzzy{zyyzyyyyzzzyzyz{zzzzzxyzyz{z{zyz{zyyzzyyyzzyyyz{zzxzzzyyzzyzyzy{zzzzzzxyyzzzyz{zzxxyxyyyz{zyzyyzzyyxzyyyyzzzzyzyyyyzxxyxyyzzzzyyyyyyyyxywxzyzyy{yxyxxxxyxyzyyyyzzyyxwyxxxxzzyzyyzyyxxxxxyzzzyxyzzxxxyyxyxyyyyyyyzxxxyyyxxxyyxyyyxyxyxxxxxxyzxyzzyxyxxxyyyyyyyyzxyxxyyyyxxyxzyxzyyyyyyxywxzxzyyyyyyxyxxyyxyzzzyyzyyyxyxxxxzyzxyyyzyyyyzxxyyxyyyzzzyyyyywyxyyzyyyzyyyxzxxyxyyzyzzyzxyxxxxyyzyyyyxzzyzyxyyyxyxzzyyzyyyyxzwxyxzyzzzzzyyyywyyyyyyyyxzzzyyyyyxyzzzzyzzzyyyzyzy{zzyzzzzzyyyzyyyyyzzzzzzzyxyyzyxyz{zy{{zzzzxzzzzyyzzzy{{zyyyxyyzyy{yzz{z{zzyyxzzzz{yzyzz{yyzzyxyyyzzzyzzzxxyyzzyzzyzzzz{yzyyyyzyzz{yzzzzyyyzyyyyzzzzzyz{zzxxyx{xyzyzzyzzzyyxyzyyxyzyyyzxyxyxxxxyxxzzxyzyyyxzwyyyxyyxyyyyyyxyxxxyyyyzyyyyzyxyyyywyyyyzyzzzzyyxxxxxyyyyzzyzyyyyywxxyyyyyyzyyyxyxyxxxxyzzyyyyxxxxyxyyyxzxyyzyyxxyzyyyyzyw{yyyyxxywwxyyyxyyyyyxyywyxxyyzyyyyyyyxxyxyxyyyyyyyyyyyyyxxzxyyyyyyyxxxxyyyxzyxxyyzyyyyyzxyzyyzzxzzzxxxyyyzyzyyzzyyzxyxyyyyyyyzyyyyyyxzyxwyxyzyzzyyzyyyxxyxyyzyzzyzyzyyyyzxyzyzzzzyyyyzyzyyyyzzzz{yzyz{yyyyxzxy{zzz{yyyzyyyyyzyy{{{zzyyzyyzyzzzyyz{yzzzyzyyyzyzzzzyz{yyzyyyyzzzzzzz{zyyyyyyzzyz{zzyzzzyxzyyy{{zyzzzzyyyyzyyy{y{z{zyzxxzzyxyzyzyyyzz{yyyzxyyxyzzzxyzzyxyzxyzyyzyyzyzzzyxyyyyyyzzyzyzzyxywyzyxyyyzyzx{zxyxyyxyzxwy{{{zzyxyyyxyyyyyyyyzzyzxyyxyzyyyyyyzzzzzyyxxyzyyyyzyyyyyyxyyyyzyyzyzyyyyxyxxyzyyyyzyzyzyyxxyzzzyyzzyxyxxxyyyyzyyyyzzzyyxyxyyyz{zzyzzzyyxyxyxy{yzyyyyyzyyxxyyyzyyy{yzyyxzyxyyyyzyzzzyyxyxyyzyzzyyyzyzxyzyxyzyyyyyzzyzyyyyyyyyyzzyzzz{yyyyyxzxzzzy{zzzyxyxyxxyy{yzyyzzzxyyyxyyyy{zzyzyzyyxzzzyyyzzz{yzyzzzzyzyzzy{zzzzzzyzzyyyzz|{{zz{zzyyyyzzyyz{zzzzzy{yyz{zz{zzzz{{{yzzzyyyzzz{{{z{zz{zyx{zzzzzzz{zzyyyzzy{yzz{zzzzzz{yzyyzyzy{{z{{zyzxxzyzz{z{zz{{yzyyxyyxyzzzyzzyzyyxyxyyyzzzzzyyyyxzyxyxyyzzzyyzyyyyxxyyyyyzyyz{zzxyyyyyyyyzzyyzyyzyyxxyyzzyxyzzyyyyxxxwyyyyxyy{yzyyyxyxzzzyyzyxzyyyxxxxyyyyxyyyyyxxxyxyxyzzxzy{xxyyyyyxyzzyyzzyzyxyxxxyzyyyzyyzyyyyxyxyxyxzyzzyyyyyxxyxyxyxyyxyxyyxyyxyyyzyyzxzxxyyyzyxyyyyyzzzzxzxyyyxyzyyz{zyyyyyyxyxzzzyzzzzzyyyxyyyyyyyz{yzzyzyzyyyyzzyzz{yzxzzzyyyyzzyyyzzyzyyzxyzy{zzyzzzzyzyyyyxyzzzzzyyyyyyyyyyzyzzy{y{zzyzyyyxzzyyyz{yzyyyyyzzz{zzzzzzzzyzzzyzzzzzz{zz{yxzyzzyyzzzzzz{{yzzyyy{zzz{zzzzzxyyzzyzzzzy{zzzyyyyyzxzzzz{z{y{zzyyyzyy{{yz{yyyzyyyzyyyyzyzyzzyxyyxyyyzyzyyzzyyxyyxyxxxxyyzyyyyyxyyxxywxyyzyzzyyzyzyzzxyyyzyzzyywyyxxxzyyzxyxyzyyyxxyyxyxyzyyxzxyyyxxyxyzxzyzzyzyywxxyyyyyyyzzyyzyxyyxxyxyyyzyyyxyxxxyxzyyyyyyzyyxyxzxxyzyxyzyyyyyxyxxyzzxzyyzzxxyxwxyxyyyyyzxzyzywxxyxxxxzzyyzxyyxxzxxxyyyyzyzzyyyyxyxzyzyzyzzyyyyxxyyyyyzyzy{yyyxyyxxzzyyyzzzyxyyyxxxz{y{yzzzyyyyyxxyzzzzzy{yyyyyxyyy{yzzxyzzyzxyyyxyyzyyz{zyyyyyxyyzzyz{{{zzzyyzyyyyzyzyzz{zyyyyz{yyzy{z{zz{yyzzz{yzzyyzz{z{zyzyyzyyzzzz{z{zzyyzzzzyzz{zzz{z{yzy{yxxzyzzzzzzzyyyzzyyzzzzzzz{yyzyyzyzyyzzy{{yzyyyxxyxyzyzyy{zzzzyyxyxzzzzyyzzyxwxwwxwyyxyyyzyxxyzxyyxyyxyzyyzxyyxyxxxyyyyyxzzyyyyyyxxxyyyxzyzxxyyxxyxzyyzxzyyyyyxyyywyzyyxzyyxyxxyxxxyyzxxzyyzyyyyyxxzzyyyzyyzyyxwyxyyyzyyyyyyyyxxxxxxzyyyzyxxxyyxxyxxyyzzzzzxxyxxxxxyyzyyzzyxyyxyxzyyyyyyyyzxxyyxxyxyxzyzyyyyyxxyxyzyy{yyyyzyxxxyxyyyzxzz{zzzyxywxyyzyzyzyzzyxyyyxyxxzyzy{xzzxyxxyzyzyzzyyyzzyyyxyxyzzzzyzyzyyyyyzyxyyzzzzzzzyyxyzyyzzyzyzzzzyzyyyyyzzzyzzzzzyyyyyyyyz{zz{z{zyyzxyyyyzzzzzzz{zyyyzyyz{{{zz{{zzyyyyyyzzzzzzzzyyyyyyyyyzzzyz{zzyzyyyzyyzyzzxy{zzyzzzyyzzyzzyzzzyyzzyyxzyyzzzzyyyzxzzyyyyzyyyyzxyxyyywyyyzyzyzzyyyyyxyxzzzzyzxyyzyxxxyy{zyyzyyzzyyyyxyyyyyzyyzzzyyxxxxwyxyyyzyzyyyxyyxyxyxyyzyyyzyzxxxxxzyxyyzyyyyyyyxyzyyyyxyyxxxxyxxxxyyyyzyyyxwxwyxyy{yyzzzzywyyxzyyyzyzyyzzyyzyxxyxxyyyyyzxyyxxxxyxyzxyyyyzyxxzyyxyzzzzyzzzyyyxzxzzzzyyyzyzxxyyxyxyzyzzyyzzyyxyyyxxyyzyyzyyyyyyzyxyyxzzyzzyzyyyyyzyyyyyyzzyyyyxyyyxzzzyzy{yyyyyzzyzzyz{zzzyyzyyyyzzyzz{zz{zzyyzyyyzzzzy{yyyzyyyyyzyz{yyzyz{zyyyyyzyz{zz{zzzzzyyzzyzzzyzzzzzzyyzzyzzzzzzz{zzyyzyyzyyzyzzzzzzzyyyyzxzzzzzzz{zyyzyyyyyyzzzzzzzzyzyyyyyy{zzzz{yyxzyzyxyzyzyz{yxyyyxyxyyxyzyyyyzyyyxyzxxzyxyyyzzyyxxxzyxyyyzxyyyyxyyxywxyzzzzzzyzyywyyyxxyyyyyyzyxyyxyyyyzyyzzzyyzyxxxxxyyzyzyyzyxzyxxxxzyxyxzyzxxyxywyxyyyzyzzzzxyyyyyxyyyzyyyzxyzyxxyyxyyzyxzyyyyxxxxxyyzyxzyzzyyxxxyyxyxxyyzzyxyyxzxxyxyzyyyzyxyzxxzyyyzyzzzzzyyyyyyyyzzzyzyzxyyyzyyxzyzzzyyzzyyxyyyyxzyyyzzzxyyyzyxyyy{zyyzyzyzzzyyzzzzyy{zzzzyyzyyx{zzzz{zzyzyzyyzyzzz{zyz{yzxzyyzyz{zyzzz{yyyyzyyw{{zzz{zzzy{zyyzzzyzzzzz|zzyyzzzzz{{{{zzzzzyzzxyyzyz{zz{zzzyyzzzyzzzzzzz{zzzyzyyzzzzyzyyzzzzzyzzyyzzzz{yz{yyyyxzxzzy{zy{zyyyxzzyyzzzyyyyyxxxxxxxxxzyyyyzyyyxxzxxxzxxyyyyzyyyyxyxxyxzyxzyyyxxxywwxyzyyyxyyxxyxxyyyyyyxxzyyxyyyyxyxyyyxyyzyzyyyyxwyyyyyxyyyyxzxxxxyzyxyxxyyxyxxxxyxyyyyyyyyxxxxxyyyyyyxxxyyxyxwxxxyxyxyyyzzxxyxxyyxyyzyyxyzyyxxxyxxxyzyyyzyxxxyyyyxxyzyyyyyyxyyyxyyzyyzzzzzzxyyxxyyyyyyyzzyyzxyyyxyyy{yyzzyzzzyxwyyxyyyyyyzyyyyyzxyyyyyyyzyyyxyzxxyzyzyyyzyyyzyxxyyzyz{yyzyxyyyyzyyzyzyzyyzyyxyyxzyzyzzzzy{zxzyzyyxzz{zzzyzyyxxyyzzxyyzzzzzzyyyyyyyzyyyzz{{{zyyyyyyzzzz{{{zyzxyxyyy{zyzzzyzzzyyyxyyyzyzzzzzyzyxyyyy{zyyyzy{xyyyyxzxyyzzzxyyyyzyyyxyzzzyzyyxyxxxyyzxzzyxyyxzxyyyxwxxyyyyyyyzxxywxyyxzxxyyyyyyyxxxywwyyxyyzyzxyyxyxyyyzxzzyyyyyyyyxyxyyxxxzyxyyyyxwxxyxyyyyyzwyxwxwxxyyyyxxyyyxyxxwxyxyyzyyzyyxxyxxwyyyzxyzyyyxyxwwxwyyyyyxzzyxxxxxxyxyyyyzzyxyxxyxyxwyyyxyyyxxyxxyxxyyyzyz{yyyyy{xyxyzzyzzzzxyyyyxyxyyyzyzyzyxxyxyyyzyzzyyyyyyyyxxxxyyyyzyzyyyxyyxxxyyyyx{zzzyxyxxyyyzzyyzzyyxyyyyzyzy{zzzzzyzyyzzyyxyyyyz{zyzxyyyxxx{zzzzy{{yyyzyyzzzzyyzzzzzyyyyyyzzyyzzyzzyyyyyyyz{zzzz{zzxyzzyzz{zzz{zzzyxyyyxyyzz{zzzz{zzyy{yyyzzzzzzzzyzyyyyxyyyyyyzz{zyyyzxxzyzzyxyyzyxyxxxxyyxyyy9Fv5a^ {{||z{{{||||||{|z{{z|{|{}|||}|}{|z{|z{z||{|||{{}{z{z{z{{{|{{{|||{{{{{}z|}{{{|{|{{{z{{{{{{||{}||z{zz{{z{z{||{|||{{y{{|z{||{|z{|{{{z{zz{zz{{|z||{z{{z|z{{||{{{{z{z{z{zzzzz{zz{||}|{z{z{{zzz{{{{|}|{{{zz{{{||{{}||{z{z{z{z{|{{{|}{{zz{{{{{{{{{||{||{|z{{{z{|{z{{{||{{z{{zz|||{|||||{|z{{{{{{|{||}||{z{|{z{|{||{{}|{{{{{zz{|}||{}{||{{{{{{{}|||||||||{|z{{{||{|||}||{||{z{||}||}||||{||{{{{|||||~{}||{{{|||}}||}|||{z{|{{{||}|}}|}|{{|{|{|{|}{{{||}|{{|||{||||||||||{{{{{z{|||{|||||{{{{|{{{||{||}|{|y{|{{{|}||||||{{}{|{{{{{{||}|||}|{||{{||{|||}}||||||||{}}|||}}{|{z{{{z||||||||{{|||{|{{|||{||||{{{{{|{{}|||||}{zzz{|{z{|{|{|}{|}||z|{{{|||||{{{{|{z{{{{{|{{||{{z{{{z|z{{{||{||{z{{z{z{{{z{||||{{z{y{{z{|||{|||zz|{{z{z{z|{{||{z{{|z{{{{|{{|||}{{{z||{{{{|{||||{{{z{z{{||||z|{{|{{{{zz{|{{{{|||{{|{{{|{{{||}{|}|{{{{{{{||{|{{}|}{{{|{{{|}||||||||{{zzzz|{{}|||||{||{|{{||||||||{{|{|{|z|||}}|}}|{{{{{{{|}}|}|}}|{|{{{{|||||||}}|{}{{}||{}|}}}|||z{{{|||{}|||}|||{}{|{|{||||}||}|{|{|{|{|||||}}|||{{|{|||}}{{|}|||{{{|{|{|{}|||}{{{{{{{{|||{{{|{|{|{{{z||z{||}}||{{z|{{{{~||}{||}||z|{{{|||{|}|||{|{{|{{}||||}|{|{{z{{{{{||}{{||{{zzz{|{}{||||{{|{{{{{{{{z|{{|}|{{z{{{{{{z{{{{{{|{{{{{z{||{|||||{{z{y{{{{{|{{{{|{zz{z{y{{{{||||{{{{z{{zz{{|{|||||{{z{{|z{{z{z{{|{|{yz{{{{{z|{{|{|{z{{{z{|||}{|{||{z{|z{{{|{|{|||{{{{{{{{||{}{|||zzz{|||}|}||{|{|{{|{|{{}{}{|{}{||{{{z{z||||{|{|{||{{|{|z|||{{||}{||{|{{{|||}||||{{{{|{{|{|||||||{|{{{{z|{|||}|}}|{{||{{{||{||}}}{{|z|||{{{{||}}|}|{{|{|{}}||}}}|}{|{||{|}}|||}|}|{|{}{{|||}|}}|}{|||||||||}{||{||{|{{{z{{|||{|{|{{|{|{{{||||{}|{{{{z{{{{{{||}||}{|{{||{{|||||}||{{z{{|{|||}|||}}{{zz{zz|{|{{||}{|{z{{{yz{||{|{||z{|{z|{z|{||{|{|{z{z{{|zz{{{{||z{{{zz|y{{{||{|{{z{{{z{{{{{{{{{{{{zzz{{{{z{{z{{{{{z{{{{{{|{|||{{|{{{{zzz{{|{{{{|z{|zz{z{{{{{{{{|{{|{{{yzz{{{{{{{|{{z{z|zz{{{{{|||||{z{z{{|{}||{{||{|{{{z{}{{z|}|||z{{{{z{|{{{||||{{zy{{{{{{|{{{||{{{{{{zz{||}{{}{|{z{|{|z|||}|||}{z|{{{{{|{|}|{||{|{{z{{{|}||{{|}{z{{{{{|{{}{|||{|z{|{{{{||{}|}}||{{{|||||}|{||||}}|{z{|{{|||||||{{{{{||||}|{||||}|{|{{{|{|{||||}{{{|{{|{}{{|}|}}|{|{{{z{|{z|{}|{||{{{{|||{|{{{z|z{{{{z{{||z||}{}{||{{{{{{}|{}}}}{|{||{{{||}{|{}}{zz{{{{{|{{{{|{|{{{{{{{|{||{|||}|z{{{{{z|{}{||{|{|{{{z{{{|{||}||{{{{zzz{|{||{|{z{{{{{zz{|{{|{z{{{{z{{{z{{|{||{|{}z{{{zzz{{{z||{z|{{zz{zz{|||{|{|{{{z{z{z{||{{{{{{{|{{z{z{|z{{|{|{zz{{|z{}{{{{{||{{||{{{{||{{||{|{|z{z{{{{{{|{|{|{}z{{{{{{{|{||{||{z{{{zz{{|{|||{{{{zz{{z{{|||{|||{|{|{{{{||{{{{{z{{|{{zz{{||{}||z{{z|{|||{|||||||{{{{z{{{||{}||{|{|{}|{z{|{|||||{{|{{||{{}||||||z{|{|{{{||}}{}|||z|{{{{|{{|||}|}}{|{{{z{{||||}}|}|{{|}{{||z{|{|||||{{{{|{{{{||||||{z{{||{{{|{{|{{{{{{{{zz{{||}|{{|{{{{{{||||}|{|||{{{{z{{|||||}|{{{{|{z{||{{||{||{|z{{{{|{{}|{|{{{{zz{{{z{{{{{||z{{{{{{{{{|{{|||{y{{{zy{{||{{|{{{{{{{{z||{{{|{{|z{zz{zzz{{zz{|{{{{{{zzz{z{{{{||{z{{z{z{zz{|{{|||zz{{zzzz{{{{{}{z{z{{|{{zz{{{{||{|{{{z{{{{||{{{||{zzz|zz{z{{{{|}{{z{{{z{{{|{{{|{|{{|{z{{{{}|{{|||{z{{{z{|{||{|}|{{z{zz{{z{|}|{||{{z{|{{{{|{||||{|{{|{{{z{{|{|||||{|{|zy|{{|{|{|||||{{{z{{||||}|}|{z{{|z{{|}||{|||{|{|{{|{{}}{{|}}||{{z{||{}|||}}|{|||{{{{{}||}}|{|{{{{||{|{||||||||{|||{{{|{|}|{{{{{{{|{{{{{||||}|{z|{zz{||||{z||{{z{z{{z{|{{||||{{{{{{||{|}|||{}|{{z|{{{{}||}|}||{z{{{|{||{|||||||{{{{|{||||z||{|{{z{z{z{{||{|{|{{{z{{zz{{{{{||||{|zzzz|z|{{||{{zz{z|{y{{z{{z{|{|z{z{z{z{z{{|{|{zz{zz{zz{|{|{{{|zz{{yz{{|{{|{||{{{{{{zz{zz{z{{{{zz{{{zz{z||{{{|{zz{z{{z{{|{|{{}{{{{{{z{|z|{{|{||{{z{z{{{{||{{{||{{|{{{z{{|{{|||{{|{zz{{z{|{|||{|{z{z{{z{|{{}|{|{{{{{{{{}{||||{||{{|{{{{{|{|}||||{z||{{}{{||}|||}|{{{{{{{{|{||||{|{||||{{|}{||||}{{{||{{{||{|{}}||{||z{{|}}|||~|||{{{{{{{|{|||||||{{{|{{{{|||||}||{|||{z{||||}||{{{z{{{{{|{|{|||||{{|{{{z{||{{{{||{|z{z{z{{zz{}{|{|{||{{{{{{{|}||{||{{{{{{{}{}|||{|{|{{{z|{{{||z|{{|{{{{||{|||{{|{z{z{{{z|{{|||||zz|{{z|||}{||||z{|}{|{zz|{{|||{{z{|z|{z{|{{|{{{{z{{{{zzy|{|{{|||{{z{{{z{|{|z|{|{z{zz{{{{{||{{{{{{{{{{zz{{{{z{|{|{{{zz{{{z{{{{|}{{{z{{{{z|{{|}{|{{z{{{{z|z{||{|{|{{|{{{z{{{{{{|||{|z|z{{{||{||{|||z{z|z|z{{||{|{{{{{{||{z~{{{||{{|{{z{{{{{{|z|||{{|{z{|||||{|||{||z|||{{{{|{}{|}}{|||zz{{{||{}|}{{{{z|{{|||||}||}|{{|{||||}z{|||}|{{{||z{{|||{|}|||{{||{|||{|{}}}|{z{|||||{|{}}}}||{||||||{|}||}}z}{z||||z{||{{|||{{{{{zz{|{{{||{{{{{{z{zy{{}{}|~{||||{{{{}|{|}}}|{{{{{|{|}|||||||{{{{||z{|}|{||||{{{|{{{|{{||{}|{{{{{||z{z||{|||{{{|{{|z{{z|{}|}{z{{|{{{{|||{}|{|{{|{{{{{z{|{|z|{z|{z{{{{{{||{|{{{{{{{{{z{|{{{{|{{{zzzz{{||}|{}z{{{{{z{zz{|{||{|z{{{{{{{z}|{|{||z{{z{{{z{{{||{{|{|{{|{{{||||||~|{|z{{{{z|{||{||||{||{{{z|{||{}||{{{{{|{|{}||||||zz|{{{{{|}||||}||zz{|{z{|{||||{|{{{|{|{|{}||}|||||{|{{{{||||{}|}|{|{{{z{|||}|{}}{{{{|||||||||{}}{||z|||||}|||}|}}||}{|}||}|}|~||}{{|{{{||}|}|}|}{{z{{{||z}|{|||}|{{|{z{{|||||}|}{{{{{{{||||{{|||||{{|{|{{}|||{}{{|{{|{zz{|{zz||}|{{|{{|{|||{{|||||{{|z{{{||||||||||{z|z{|}|||{|||zzz{{{{{{|{z{||||}{{{|z{{||{||||{{{{{zz{}|{||{||yz{z{|{||}{{|{|{{zz{{z{{{{{{z{|zz{{zy{{{||{|||z{{z{{zzzz{|{{||{{{{yz{zz||{z{{{{{z||{|{{{{z|z{{|z{{{{z{{z|{||{}}{z{|{{z{{{|{{{|{{{|{zz{|{{|{{||||z|z{{{{{{{||||{{|{z{{{{{||{{}|||{{{{|zz|{{{|}|{z{|zz{z{{|}{z|~||{{{|z{{{|{|{{|||{{z{{z{||}||}||{{{zz{{z}|{|||{|{{z{{{{{{|{{{||||{||{{{z|||{||||{|{{{}|||}{||~}}||{|{{|{|}||||}}|z{|{||{}{|||{|||{|{|{||}|||||||{{{{|{{|}|||||||||z{{{{{{{}{{}||||{||{z{||||||{{|z{zz{zz{|{||}{||{{{{|{z{||}|}||}|{z|{{|{{||}}||{{z{||{{|{||||{|{z{{{{{|{||{||}{}{zyz{{z{z{{||}{{{z{z{{{{}{z{||{z{{{{{z{{|{{{{{{zz{{z{{z{{z|||{|{{{yz{{zz||{|{{{{{z{{{{{z{{{{{{{zz{|{zz{{||{{{|{{{z{zz{z{z{|{{|}|{{{{{{{{{{|{{{|z{z{{{zz{||{{{{||z{{{{|z|{{|{z||{{{zz|z{|{{||{||{{{{yzzz{{{{||{{|{{{{{{{|||{{||||{{{{{{{||{{|{||{{{{{{{{{{||||||{{||z{{z|{|}|}}{{{|{{{{{{{|{}||{|||{{|{{{|{{{|}{|z{||{|{{}}|}||~{{z{|||||}||}|{}{|||{||{{}}|}{}||{{|{|{||}||{{||z{{{{|{{||||||}}|{{||{{{~||}}||}{{{{{{|{{|{|||||{|{{{|{{{|||{|||{z{z{{z{{z|z{}{}{|{{}||||}}}|{|||z|{|z|||||{{||||z{z{z{z||}||}|||{|{{{{z||}|{|{}{{{zz{{{{{}{{{{|{|{{{z{{{|{{{|}{||z||{|z|{|{|||{{z{zz{z{{{{{{|||z|{{{z|{z|{||{|{zz{{{zzzz||{|{{{{{|{z{zzz{{||{|{{{{z{{|{z{{z{|{|z|{z{|{{z|{{{||{|{{zz{zz{||{{z||{{|z{{{{{{|{||{||z{{{{{{|||{{{|{z{{|{{{{{}||||||||{z|z|z{||{||||{{{{{{{z{{z|||}{|{z{{{{{|{{{|||{{z{{zz{{||{|{|||{|{|{|{{|{|}|{{}{{{{||{{{||||||{{{{{{|{{|||||||{{z|{|{{{||{||}}}||{z{{|{}}||}||||{||{{{z|||{|}{||{{|{|{{|||{||}|}||||{{{}{|||||}{|{{{{||{|||||||{|{||{|z||}|{{||{|}{|z{{{|{{{|}}|||{z|zz}}}|||{|{|z||z{{||}|||}}|{{zz{|z|{{|}||}|||{{{{{||}|{|||||z{z{{{|{{|{|||{{{{{{y{{|{{|{}{{{{zz{{{{{|{|{|{z|{{{{zz{{||}|{{{{zz{zz{z{|{{{|{{{{{z{z{z{{|||{{z{{{{{zzz|{||||{|{zz{{{zz{{{{{|{{z{z{z{z{{{{||{{{{{{{z{z{{{|z{||{{zz{z{z{|{{|{{z{{{zz{|{{|{{{|||{{|{{{|y|{{|{{{|z{{|{{{{||{|||{{|z{{{{{z|||z{|}|z{{|{{{z|||{{|{|{{{}{{|{{{|}|{||{{}{{{{{{|{|||{|{|{{{{z{|||{|||{|{{z{|||||}{|{|||z{|{{||{|{||{||||{||{|{{{|||||}|{|{{z|{|||}||}|{{{|{{{||||{|{|{|||{||z{{|}{|}||{|z{|{{{{|||{||||{z{{{{{|{{|{{|{{{{|z|zzz{||{||}}}{||||||~||{}|}{||{}{~|||||}|}}|{{{|z{z|}||||||{z|{{{|{|{||{|{||{zz{{{z|{z{{{|||{{|{{{{{{{{{}{|{z{z{z{{{|{{|{|{{{{zz{z{|z{|{||{|{{{{{{{|{{{{|{y{z|zz{z{{{{|}{|{{|{{{zzz{{||{||{{z{{z{z{{{{{{{|{{{{zzzzz{{z|{{||{z{{{{{z}{|{{|||{{{{zz{z{|{|||{|{{{{{z{|zz{||||}|{{z{{{{|{{|{|}|{{|{{z{z{|||{||{{{{{z{z{{{|||{||{|{{{||{||{|{||||{{||{{{{|||||}||{||{{|{|{{}z||}{|{{{{{{||}|}{}|||{{|{{{|}|}||||{{||{{{|}|}||||}}{{{{{|{|}}{{||||{}{|{|z}||||}{||z||{{||}}|||||}{{{|{{{{||{||}||||{||{{||}|{|{}}{|zz{{{|||||}||{z{{z{{z{|{|{{}|}|||z}|{|}}~|}}}}{||||z|||||}}{|~|}|{{{zz|{||{||}{|{{{{{z|{||||{{{||z{|{z{{{|{||||{z{z|z{{||||{||{{|{zz{zz{{{{z|{{{{{{{zz|{{{z{{{{{{zy{z{{{|||||{zz{z{zz{{|{{||{{z{{z{z{z{{|{{{|{|{|z{zz{zz{{{|{{z{{z{z{zz|{{{{|{{z|{{{{z{}{|||||{{{z|{z{||||{|{|{z{{{{{z|{|{{|{|{z{{z{{{{||{{||||{{{{{zz{}|}{||||{{{zz{z{~|{{{{|{{{{{{{{|{{{|}}||{{{z|{|||||||{}{{{{{{{{||{|||}}|{{{{{{{|}||{{|||{{{|{{{}||{|||}{||{|{|{|{|}||||}z|{z{|{|}||||||}{{{{{|{{||}|}||{{{{|{{{{||{|}}|{||||{}||{||||}|{{{||||{{|||}||{{{{|{|z{||{{}|{{{{{zz{{{{{{|{|{}||}{|{||}||{{|}||{||{{{z}||||||{z||{{{{{|{|||}||{z{{{{z{{{}{{{|{|||zzy{z|||{|||{{z{{{{{zz{|z{{{{z{{{zzz{|{{z{{|zz{{{{{zz{{{|z{z{zzz{{z{zz{z{{{|{{{zzzy{{z||{{{{{zz{{{zz{z{|{{|{{{zz{z{{y|{z{|{|{{zzz{{yzz|z{z}{{{{{zz{z{z{{|{{{{{{{zzz{{{{|{{||{|{z|{zz{{|{{{{{|{{{{{z{{{|}{||{|{{{{{zzz{{z|{|||{{z{{z{z|{|{{z||{{{{{zz{{|{|{{{{{z{|{|z{{||||||{{{{z{{{{{{{||||||{{{{zz{{z|{|{||{{{{|{{{||{}||||{{{|{|{{||{|{|}{||z|{{z|||{{||}||{|{z|{z|{||{||z|zzz|{z{{||{|||||z{{|||z{}{{{|}}{{{z{{z{{|{|{{|{|{{{zz{{|||||||{{z{{zz{{z{|}|}}}~{||{{}||}||}}}||||}|{{{{|}||||}{z{{||{{||}{|}|}|{}||{z{|z||{{|||||{{{|{{{{||||{|zz{{{{z{{|||{|{|z{zzz{{|}{{{{{{{{{zz{{zz|{|{}{|{||{zz{{{{{{{|{z{z{{{zzz{{||||{|z||zz{z{|{||{|}{zz{z{{{z||{{{|{||{{z{{{zz{{{||||z{z{zzz{{|{{{{||{{|{{z{|||{{{{{|{|{{{y{|||{{|{||{|{z{{{{{{|{||||{{{{{z{|||||{|{|{{|{{{{z{{||{z||{{{{{zzz|||||}||||{{{{{{||{{||||{{{{z{{{||}{{|||{{|{{{{{||||}||{|z||{{{{||||||}||{{{{|||{|{}|{|||{{|{|{|{}||||||}|}|{{|z|{|||||||{{{|{||{{|{|}}|||{|{|{{{|||{}{}{}{{z||{{{|{|||}{||{z{{z{z||{|||{{{{{zzz{||||~|}|||{|||{}}|}}|}}}}{||{{{{{||}}{}{|{{{{||||{}|{{{{||{{{{{||||{{|}|z{z{{{z|{|{||||{{|{|z{{{|{|{|{{{zz{z{zz{||{{|||{{{z{{zz{|{|z||{{zzz{z{{{{|{|{{{{{zzzz{{z{{{{}{{{{{{{{zz{{{{{{||zz{{zz|z{{{{|z{|z|{|{zzz{|{{{{|{{zz{{{z{z{||{||{{{{{z{{|||z{{|||{z{{{z{{{|{{z{||z{{{{z{{{||||{|}||{{z{|{{|{|}|||{{{{{{|z{{{|{|}|zz|{|{{{{{||{||{||{||{{{|{||}}||{{{|{{{{||||||}||{{{{{z{{||}||||||{z||{{||||||{|z||{z{|{{}|}}||{}||||}{||}|}{|}||z|||{|{|}|||||}|{{|z{{|||{||}||{{{||||{{}|}{|||||{{{{{z{||{{|||||{||{{{{{||z|}||{{{{z{z{{|{|~}}}|{||{||~~|||~}||{|||{{}||||}|}|{{{{{{{|}||}||}}|||{z{|{{||{|||{||z{|{z||||{|{|}{|{{{{{{|{{||}|{{z{{|zz{{||||{{{{{z{z{{|||{|{{{{zz|zz{{{{{{{|}|{{{z{{zz{||{|{{{{{{{z{{z{|||{z||{{{{zz{{{||{{}{{{{{{{{z{{{|||{||{{|z{{z{{{||{{{z{{{z|{{{||}{{||}|{|{|{{{{{{||{|{{{||{{z{|{}{{{|||{{{{{z{{|{|||||{{{||{{{{||||||||{z{z|{{{}}||||}|{{{{{|||}|||||}{{{{{||||}|}{{}||{|{|{{{{}|||}|||{z{|z|{|||{}}||}{|||}}|||||}||||{|||||{{}}}}}|}{|||||{{}|||}}||~||{||{{}||}}||}|{{{||{||||{||}|{|{{{{{{|||{{|{|{|{{{{|{|}|}|{||{{{zzz{{{{|{{~~~}{|{|||||}~|~|}}||{{|{||{}}|{|{}}|{{{|{{{||||}|}{{|{{{z{{||||||{|{|{{{{z{||||}{{{{{{{{{{{|{{{||{|{{z{{z{{||{{||{z{zz{{z{{{{{z|{|z{|{zzz{{{{|{z|{{zz{z{{{{||||||{{|{{z{{z{||{{|||z{{z{zz{{z{z{|{|{{{{{{{zz{{|{||||{{{z{z{{{|{||}{||z{{{{{||||||||{{{|{z{||{{|{{|||{{{{{{|{|||{{|{{{|z|z{{|{||||}|{|zz{{{{{||{||}{{{{{{{|{|{{||}|||{|{{{z{|||||}}|||{{|{||||||{|||{|z{{z{{||}|||}|}{|||{{{|{{||}||{|||||{||{{|}}||}||||{{}{{}|{|{}|{||{||{|||}|}}{{||{{z{{|||{|||~|{{|}|{|||||{||}|{|z{{|{|{|||||||{{{{z{z||{{||||z{{{zz{{|{{{|}}}|}|}||~{}~}}}|}|||||{}{|||||}}||}|{{|{{{}||{||||}{{{{{{{||{||||{|||{zz{z{||{{|{{{{zz{{|{{|||{||{|{zz{{{{|||{{|{{z{{{{zz{{{{{{{|{z{zz{z{zz{{{{{{|{|zzz{z{|{|{||{|{z{{zz{{{{|||{|}z{{{{z|zz{{{{{{{{z{z{zz{{{{{{||{|{z{{{zz{{z|||||{{{{{z|z|||{||{{|{{|{z{{{z{|{|||z{{{{{{{||||{|||{{{{z{z{{}|||{{|{{|{{{z{||{|{|{{{{{{{{{{{|{z|{|{||{{{{{{||{||||||||{{|||}{|{|{||{{|{{{z{|||||{}||{{|{|||{||{|{|}{{{{{|{{{}||}}|||{{}{|{||}}||}||}|||{{{||}{||||||z{{|{z||||||{|}|{{|{|{{}||{|||}|{|zz{|{{||{|{}{{{{{{{{{|}{||{||{z{|{{{z{z{|{}~}|{}}{}|}}}||{|}|}|{|{{{{||{|}}~|}zz||{{|{|}|}||{{{z{{{{|||{|{{|{{|z{{{{|{{|{|{|{{|{{{{z{||||{||{{z{z{{{{|{{{{{|{{{{{{|{{||{z{{|zz{z|{zz{{{{{{|{{{zz{{z{|{|{|{{{{{{{zzzzz{{||{||{z|{zzzzz{{z{{||{{{{z{z{|{zzz|z{z{{{{{zz|{{{{}||{zzz{{{{{|{{{|{|{z{{z{{{|{z{{||z{{{{{{z{||{{||||{{{z{zz{||||}}||zz{{{{z{|||{|||{{{z{{{{{{||{{}||{{|{{{{{||}{||||z{{{|{{{}|||||||{|{||{{z|{|||{}|{{zz{{{{|||||}{||{|{{||{{|||||||{{{{{{z||~|}{|{||||{{{{{|}{}|||}{{{{|{{}||}||||}|{{||{{{{{{|||||{|{{{{{z||{|{|||||{{{||{{{||||{|z{{{z{|z{|{{{~|}|}|{|||{||}}}|}||{{|||{||||}|||}|{z{{{{z{{|}{||||{|{{z{{z}|{|{||{{{{{{{z{{{z|{{}{{{y{z{z{{z||{{|{zz{{{z{z|{{{{|{|zzzz{{z{{zz{z{|{zzz{{{z{{{|{{{zzz{{z{{z{{{||{|{zzzzy{zz{{z{{||{{{{zzz{{zz{zz{{{{{{{{|{zz{{{{{{}{z{{z|{|{|||{||{{{{{z{{z{{{z{|{|{{y{{zz{|||z{{|z{{{{zz{z{{|{{||{z{{{{z{z{|||||{|{{|{{{{z}|||{||{{|{{{|z|{||{{{|||zz{{{{{{||{|{|||{{{{z||{{{|{|||||z{z{{|{|||||}|{{{{{z|{|||{{|}{{|{|{{|{||||{||}|{{|{|{||}|||}||{{||{{z{|{||}|||{|{{{|{|{|||||}}||{y{{|{{{|}{|{|{{|{{{|||||z{}|||{{{{{z{|{{||{|{z|zz{z{{{||{{~}}~||}||{~}|~}{|}}{{|{{|||||||}||||{z||{|{|{|{}}{{{{|{{z{z}||}{||||{z{{{|{|{|||||{{{{{z{{|{{|{|{|{z{{z{zzz||{{|{{z{{{{{{z{|z|||{{zzzz{zzz{z{{z{{{zzz{z{y{{{|z{{{{{{{zzzzz|{{{|||z{{zz{zzz{z{{{{|{{{|z|{{{{z{{{{{{{{{z{{{z{{|{{|||{|z{{{zz|{|{{{{{|{{{zzz{||{{{|{{{z{{{{{{{{|||{||{{|{{z{zz||||{{|{{z{{z{z|{||{|||{{{{{{zz||{|{||{{{{{z{{{|||||||}{{{{{|z|||||{|||z{{|{z{z|||{||}{|z||{|{{|||||}{|{{{|||{|{|{|||}||{z{{}{{{|{||}{|}{||{{|z|||}|||}{{{{{{{|{||||||}{{{{||{|{|}}{|}}{|{z{z{{{|{{{{}{{z{y{{{{{}||||||{{{{|{z{z{|{z}}}}}}}}}}{}|}~|}}~|{||{{||||~||}|}|z{{{|{{||||{}|}|{{{{z|{{|{~{{||{{{{{{{z|}|{||{|{{{zz{z{|{zz{{{{|{{{{{zz{|{z{|||{|{{zzzz{{{{||{|z{zz{zz{{z{{{|{{zz|{zzz{zz|{|{{z{{z{|z{{{{||{{||{{{{{{{{zzz{||{|{{{zz{{{{{|{{{|{{|{{{{|z|{{{}{|}zzzzzy|z|||{{|{|zz{z{z{{{|||{{|||{{z{{z{||{z}}}{|{{{|{{{{|{{||{{{y{{{z{{{{{{|{}|{{{{zzz{|{{|{||||{{z{|{{|{||||{}{{{{z{{|}|{|{|{|{{{{{{{{|{{|}z|{|z|{{|{{|{||{||{|{|{{|||{{|{|||{}|||{{{||}||}|{|{|||z|{||{|||}|{{{{||}{|||{|||{}{|{{{|z|}{}||{{|{{{{{{{{{{{}{|||{z{{z{|{{{||{{|{|{{{{{{z{z||||~~|}|}}}|{~}}|~}}~}|||||{{||}|}}{|{|{{{z{z||||{}|||{|{{|{{{{|}{||{|||{{|{{{{{{|||||z{{{z{z|||{{|{{|z{z{{z{{|{{{{|{{z{{{|z{z{{{{{|{z{zz|zz{{{{|{{{z{{z{{{{z{{|{|{{|{{{{z{{z{{{z{|{{{zz{{zz{||{{z{{{{{{{zzzz{|{{{}||{|{{{{zz{{{{{}|{{{|{{{zz{||{|{{}{{{{|{|{||{{{{|}{|{||{|{||{{{{||{{||zz{{{{||||||{z{{{zyz|{||||||{{|z|{{{||{|{||{z{{{{{{{|||{||||z{{z|{z|{||}}|}{z{{{{|{{{}|{||||}{|{{|z|||||}|}{{||{z|{{{{{|{||||{|{{||{{}||}}|||{|||{{|||||{|||||{|{{{{{|{||}|}}||{{{||{|||||||{{{{|zz|{{{{|{|}||{|z|{{||||{{{|{{{y{{z{{{|{|~~}|}|}{||}~~}}}~}}|}||{}||~|}}||||||z{|{||{|{|}{|}{{{{|{{{|{||{||||{{{{|{{{||{|{|zz{||{z{{||{{|||{{{z{z{{|{{||||{|{z{{{{{|{{|{|{{{{{{{y{{||{{{||{zzzzz{{{{z|{||{|{{{|z{{z|z|{{{|{|{{z{z{z{{{zz||{|y|z|{{{{|z{{||{{{{{{|{z{||z{||{{z{z{z{{|||{||||{{||z{{{{{||{{|{z{zz{z|z|{{{|||{{z{{{z{{{||{{||{{z{{zz{{|}|{{}{{{{z{{{{{{|{||{|||||{|{{|{|||}|||{|{{{{|{||{}|}|||{||{}{{{{||||{}|{|{|{|||{||||}}||||{||{{||~{|}|}{{{}||||}||{||}}{{{{{{|{||}}|}||z{{{|{||}|||}|}||||}{{|||||{|||{{{{|{||{||{|{|||z{{{{{{{|{}|{|{{{{{{{|{{|{{{~~~}}}|}|}}}|}}~}}|||||{{{|||}||}}|||z|{|{|||}}||||{{{{|{{{{||{|||}|{{{{{{|||{|{{}{{{{{{{{{{|{{{}{|{{|zzzz{{|{{|z|{z|zzzz{{{||{|{{zz{z{{{z{{{{|||{z{{{z{z{{|z{|{{|{z{zzz{z{{|||||}{{z{z{{z{{{{{||{|{{{{zzy{{{{|||{z{|{{{|{{{{|{{}||z{z{{z{{{{|{||||{{{{{z{{|||||{}y{{|z{{{{||{|||}{z{{{{{{{||}|}{{|z||{{zz|}{||{||{{{{|{{{|{||{|{||{|{|{{{||||||}||{|{{{}{||||{|}}{|{|{|{||||||{}{|{{||{{{|||||}{||{{{||||{||||}|z|||{|{{||}||||}}||{|{||{}|{}~}|||z{|{{{{||||||}|||{||{||}{|||}||{{{{{{|{{|}|||}|||z{{{z{|{|{|{{|{{{{{{{{{{}{{~~}||}|{}}}}~}}}}}{}|}|{|{|}||}}}}}|||||{{|}|{||}{{{{{{{{{|{|}{{|||{{{{z{z{||{{||}|{{{{|{{||{{{|||{{{{{{{{{|{z{{||{{{z{{|{{{{{{|{{{{|z|z|{{||{||||{z{{zz{z{|{{{{|}{z{{{z{{{|{|{{{{|zz{|{{z{||{z|{|{{{{|{{zz||{||{z{{{{|{{{{}|{|{{}{{{{|{{{{|||{{|{z{{{{{{{{|||{}|||{{{{{{{||{{|||{{z{|{{{{{{|{|}||{{{|{|{z{{|||{{{{{{{{{z{||}|{|||||{z{{{{|||}{|{|{{{|{{{|{{{|}{|}|{{||{{{||}||{{|{{|{|||{}|||||}}{||{||||{{||{}}|}|{{|||{|}}||}|||{|{|{|{{||}|}|}}{{}{{{|||||||}|||{|||{||||}}}|}{||{{{||{}||||}||{{{{{{z|{|||{|{|{{|z{|{{{{||~~|~~~~}}{~~~}}}~~{{|||}{|}||}}||||||||}{||||}|{{||}{|z{|||{{{|||{{{{z{z{{|{|{|{}z{{y{|{{{{}||||{{zz{{{zz{|{z{|}{{{{{zz{z|{{|{||{{{{z{{z{{|z{|}}{|{z{z{zz{{||{{|{{{{{{{{y{|z|{{{{{z{{{{z{{{{|{{|}{{{z{{|{{|{{|||||z{{|{{||z||||||{{{{{z|{|{{|{||||{{|{{{{|{{|{{}|{|{z{{{{{||{|{|||||{{|{{{{{|||{|{z{{{|z||}|{||||{z{{z{z||{|||{|||zz{|{{{|{||||||{||||{{|{|{||}|}|{{|{z|{{||}|||}{z{|{{|{}||{{|}||{||{|{|{|}|}||||||||{|{|~||{}{||{|{{|{{|||}|||}||{{|{|{|}|{{||||{{||{||{|}}|||}|{{{{{{{{}|||||||{{{{{|{|{|{||{}{z{{y{z{{|{||~~}~}~}}|||~}~}}}~||||{{||||}}}}|}||{|{||}|}{}||}|{{z{{{{{||}|{||||{{{{{{{{{{|||{{|z{z{|{z{{z{{||||{{zzz{{{{|{||{{{{|{zy{{{zz{|{||zzz{{{{z{|{{{||{{{zzz{y{{{||{||{|{{zz{z{{{{{{||||{zz{z{zz{{z{{{}{{{{z|{z{|{{{|{||{|{z{z{{{{{{{|{{z|z{z{||{|{{{|}{{{{{{{{z||{{}|{{{{||{{{{|||{||{{{{z{z{zz||z{||{{{|zz{{z{{||||}|{z{{{{{{||||{{{{{{{{z{|||{||{||||{|{{{}{|||{{}||{{{{{zz{z||||}||}{{{{{||{{|}||}}z{{|||{z|||{|}||{||{|{{{|}||||}}|{||{{|}||}|{}{}{{{|||zz||||~|}}||{|{||{|||||||||{|{{{{z{|{|||}||{{|{{|z|||||{||{{{z{{{z|z|||~}}}~~|}}}}~}~|~}|{}|||}}||||}}|{{{{}|{}||||}|||{|{{|{{{||{|||}||{zz{{z|{||{|{{z|z{z{|z{|{{|{{{|{{{zzz{|||{{|{|{{z{{z{{{{{{{{|{zzz{z{zz{||{{{{{{zz{zz{{|||{||{|{{{{{zzz{{|{{|||{zz{{{{zz{{{{{{|{{{{{z{zz|{yz|{{z{{{||{{{|{|||||{|{{zz|{{|||{|{|{{{{{zz{{z|{{|||{{||{{{{|{||{|||z{z{{{{{{|||{||{{{{{{z{z{||{{{|{|{{|{{{{{|{|{|||{|{||z|{}||||||{{{|{||{|||||{|}||{{||{{{|{}|||||||||{{{{|}|||||||{}|{||{|}|{}|||||{{{||{|||}||}||||{{{|{||||{|}||z{z||{{|{||}}|~{{{{|{z{{|{|||||{zz{{{{{||||}|{||{{{{z}z{{}||}|{{{{{zzz{{|{}{~}}|~}}}}|}~}|}}|||||||||||||}}}}{z{|{{}{|}|||}|{||{{{{|{|||||{{{|{{{|z||}|||}|{z{z{z{z{|{{{|{|{{zz{{z{{{||{||{{z|{z{{z{{z{{{}z{{zz{{{z{|{|||{|{{z{z{z{zz|{{||zz{|{zz{{{z||{{{{|{z{{{zz{{z{{{||zz{{zzz|z{z{z{{z{z{|z|{{||{||{{|{{{z{z{zz{{{|||}{z{z{{{{z|{{|{}|{{{zz|{|{{{{|}|{{{{z{{{{{{|||{|{{{zz{{{z|{||{{|{{{{|{{zz|{|{{|||{{{|z{{{|||||}||{|z{{{}{{|{{{||}|{{{{{{{{|{{|||{}{|{{{{{}||{|}||{{|{{{|{||||}||{|z{{{{||{|}|||}}{||{|{{||{||{|}{|{{{||{{|}||{|}}{{{{|{{{||}}}||}||{z{{{||||{{||{|{{{{z{z|||}|}|||{|{{{{z{|{{{~~}~~}~}~~}}~}}~~}{|}{|~}||}}|||}|||||{{||||||||{{{zzzz|{}{z||||{|y{|{z|{||{{||{{{zzz{zz{||||||{{{z{z{{|||{{||{{{{{zz{z{{|{{||{z{{z{{zz{{{{{{{|{{{{zz{{z{|{||{{{{z|{{{{{|||||||{{z{{z{z{{{{|{|{{z{zz{{{{{{z|{{||z{{z|{z{{{||z{||{{{{z{{{{|{z{{||{{{z{y{{|||||{|||{z{z{{{{||{|}{|{{{|{{{{{{{{|}{||{{{zz{||{|{{|||{|||{{{|}{|{|z|{|{{{{z{|||||}|{{{{{|{||{{{|}|}|z{{{{{{{||||||}|{|{{{|z{|||{|}|}|{z|{{|{|||{|||||{||{{{|{}|||}}||||}{{{{||||{|}||{||{{{|{|}|{}|||{z||{||}||}|||}||{zz{{{z{{|{|||||{{z{{{{|}|{|{z{{{{{{{{{|{|{~~~}}~}~}~}}}}|~||{{|{}}|}}|}||{}|{{{||{|}}|}|{{|{z{{z|||{}{|{{{{{{zz{{{|{|{|z{{z{z{z{|{|{{{||z{{{zzz{{{{z||{{{{zz{{z{{{{{{{{{z{z{z{{{|{{{{||z{{{zyy{zz|{{||{|{{{z{{z{{|{{|{{||{{zz{z{{|{{|||{|zy{{{{z|{{|{|{{{z{{z{{{|||{{|{|z{{zzz{||{z{|{|{zzz{{z{{|{{||{|{{{z{{{{{{}||{{{z{z{{z|{{{{|}||{|z{{{{|z|||}{||{|z{|{{z|}||{{||{|{|{{{{{{||||}|{z{|{|{{z{||}||||{{{|{{z{|}|||||{|{{{||||}|||||}||{{||}{|||||||}}||{|{{||}}||~}|}{{|{{{{{{|||{||||z{{|z{|||}{}{||{{{|{{{{||||||{|{{|z||z|{|{|{||}|{z{{{{{||{|{{|{{{|{{{{{|||||~}~}}|~~~~~~~~}}}|{|||{||~}}||~{||||{|||||{}}||{{||{{{{{{|||||}|{{{{{|z{|{|||||{z|z|{{z|z{||||{{{|{{z{z||{{||||{{{|z|{{z{{{{{|{zzz{z{{zz{{{{{||{{{{zz{{|{|z{|||{{{zz{{{{|{||{}{{zz{{{{z{{{{|{||{|{{|{|{y|{{{||{|{{{{{{z{|||{||{|{{{{z|{{|{|||||{{{{{z{|||||||||{{{{{|{z{||||{{}{{{{{{|{|||{||{|{{{{yz{z{|||{{{{{|{{{{z{{|}|{||{}{{{{z{{|{}|{|}|{{z||{{|{||{|}}}|{{{{{z{z|}|}|}||{{{||{{}}|||}{|||{z{||z{||||}}}}{|||}{{|}}{{}|{||{|{{|||||||}}|{{{{{||||{{{|||||{|{|z||}|{|}|{}|||{{|{{||||{{|}||z|{{{{{||{{|||{{{{{{|{z{||{~~~}}}~~~~}}}||}||{}}}}}}}|}|{{||||}||}||}||{|{{z{{|{{||||||{{{{{z{{|||||||{{z{{z{z{{{||}||{{{{zzzz|{||z|||{{{zzz{z{{{{z|||{{z{{z{{{{{|{|{z{zz{z{zz{z|z|{||{z{{{z{zz|{{|{|{{z{{z{zz{{|{{{||{zzz{y{z{|{z||{{{{|z{{{{{{{|{|||{{z{|{{{|{|{{|{}{z||z{{{{||{{|{|{{{{z{{z|{||{{|||{{{{z|{{|{||}||{{{{|{|{{|}||{}{{{{{z{z{{||||||{{y{{{||{{|||{{||{{{z{{{{|||{|||||{|{z{|{{|||}|}||{{{{z{||}{||||}{{{{|{|{|{|{|{|||{|||}||{|}||||||||||{{||{|||}|||{||z|{{|||||||}|{{z||{||{||{||{{z{z{{{{{||||}|||{{{{zz{||||{||{{{{{{zz{||}||~}~|}}}~~~~}}~|||}}}{}}||}||}|zz|{{||||{|}||||{{{{||{{{|{{}||{{{{z{{|{|||||{{{z{{{{||{||||{{z|{z|{z{||{{|{{{{|{{zz{{{{{||{|z|z{{zzzz{|{|||{z{z{z{z{z{{||{{|{{z{z{{z{z|{|{|{{{{zz{{y{{{{{|{{|zzz{{{z{{{{z|{|{z{{|||y{{{{{{||{{{||{zz|{{|{|{{{z|{{{{{{|{|{{{|z{{{|z{||{|{||||z||{{{{{{{}{{{}||z||||{z{{||{{|{|{{{|{{{{{||{}||{{{{{{{||{|}{z}|{|{z{||{|}z{|}{|{{{z{{|z||}}}{{|}{{{|{{{|||}{|||{{z{{{|||{{|{{|||{{|{|{{|}|{||}}|{||{{{{|}{||||||{{{{{{{|{{}|{|||{|||{{||||}|{|{{{|z{{{z{|||}{~}|{{{{{{{{|||{|||{{{{zyz{{{{{|~~}}}~~~}~~}}~|}~}{|}~}}}||}||{{||{||{||}{{|{{{|||{{{}|z{|||{{z{{{{|{|{{{{|z{{{zz{{z||{{{{{{{{{{{z{{{{{z|{{{z{{{{z{{|z{{{{|y{zz{{{z|||{{|}|{{|{{{{z{z|{{{|{{{|{z{{{zz{z{{|{{{{zzz{z{z|{{|{||{{z{{{{{|zz{{{|{{{|zz{z{|{{{||||{{{|{{{{|||||{}{{{{{z{{{|||{|}|{|{{{{{{z{|{||{{|zz{{z|{z||||||{{z|{{{{{{|||{||||zz{{{{{|{{{z||{||{{{||{{|{|{|||{||{{{||}{}||||}|{{{{{{z||}||||||{{{{{{}|{|{{||}{{|{{{}|{}||}|}{{{|{{{|{|}||||}|||{{|{{{}||||}}|{{|{||{|{|{|{|{|{{}||{|||}{||}{|{{{{z|{{z||||{{}{{z|{{{y|||{|||||{{{{{{z{{|{{~~~~~~~}}|}z}{}|||||}{}||||{||{||{|{}|{|z{|{|zz|{|{{|{|{{|z{{{{{{{|||{}zz{{{z{z{|{zz|{|{{{{{z{z{{|{z|z{||zzz{z{|{z{{{||z{{z{{{z{{|z|{{{{{zy{{z{|{|z{|{{{zzzzz{z||{{|{||{{{yz{zz{{{{{{|{{z{{z{zz{{z||{z{z{{{z{{{|{{|{|||{z|{{{{{|{{|{{{|zz{{{{{||{{|{|{|{{{zz{zz{{{{||{|{|{{{z{{|}|||{{{{{{{{zz{{||{||}{{{z{||{|{|{{{||{|{{{{{{{|{{}|}|{{|z|{{{z|{{||||}{{{{|{{z{{||{||{{zz{{|{|||||||}{|{{{{{||{||||||}||{|{|z|{|{|}|}|}{|||{{|||{||}||{{|z||{{||||}||{|{{{{{|{}|||||||{{{z{{|{||{}|||}||z{{{{{{|{{{||{z{{zzzzz{{|{{~~~~~}~~}}}|||{{}||}}|}~||{|{|{{{||}{|}|}||{|{{{{|{||{{{{|{|z{{{z||||{|{}{{z{{{{z{}{{{|{{{{{{{{zz{{{z{|zz{zz{z{zz{{{{{{z|z{z{{zz{{|{zz{|{{z{{z{zzz{|z{{z|{|{{yz{zz{|{{{{{{{{zzzzzz|{z{{||{z{yzz{zz|{{{{{{{z{{z{{{{{{|{{|{z|zz|z{|{|{{{z||{z{{{z{|{z{{||||zz{{{z{z{||{{|||{||{{z{{{|}{}{{|{{{{{{{z{||{{||{{{{{{{{{||}z|}{||{{z{z{|{{{||}||{{{{{|{{|{{{||{|{{z{{{|{|||||||{{{{{{{{||}{|}}|}|||{{{|{|{{|||{{|{{{|{{{z|||}}|||{z{|{{{}}{|||||{{z|{|z|{{|||||}|{{{{{|{{|{}|||}{{{{{|z{{{{|{||}{{{{{{|{{{{||{|{{{{{z{{{|{|{z~~~~~~~~~~}|||{|}}}}|}}}}}{{|{||z|}||||||||{|{|||{{||{|||||{{{{{z||z|||||{|{z{zz{}{|||{|{}{|z{{{zz{|{{|{|{{{zz{y{{{z|z|{|z{{zzz{{{|{{|{|z{{zzz{{z{{|{|{|{{{{zz{{{{{|{{{|{||zzzz{z{{{|z{||||{z{z{z{|{{{|{|zzz{{{zz{{||||{|{{{z{z{z|{{{{{||{{{{z{{{|{|{z|{|{z{{|z{{||{|{|{{{{{z{{{z||||||{|{{{{zz|{{{|||{||||{z{|{|{|{{z|}||{{{{|{{{||{}||}|{{{{{{{||||||~|{z|{{zz{||{|{{|}|{|{{{{{}|{{|}|}{{|{|||{||}{{|}||{|{{||{}}{}}}}||{||{{{|{||||||{|z{||{{{{||}|{|||{{||{|{{|{|}|}}{{{{|{{{||{|||}{||{{{{{z{||||{}||z{z{zz{||{{{~}~~~~~}}|||{|{|}||}}~||{{{{{{{|||{|||{{{{{{z{{z{{||||||||zzz{z|{{{||{|{zzz{{zzz{{{|||{|{z{{{z{{{|{|{|{zzzz|{{{||{|{z{|zz{zzy{zz|{{{|{|z{z{z{z{{|{|||{|zz{z{z{{{{z{{{|{zz{{{{zz{{{zz{|{z{zzz{zzz|zz|{||{zzzz{zy|{{|{||{{z{{{z{z{{{||{{|{{{{zz{y{{{}{||{{z{{zz{{{|{||{|{{{|z||{z{|{{||{{|z{{z{zz{|{{||{{{{{{{zz{|||zz|{{{z{{{{{z{{|{}|||{zz{{{{|{{z{z||||{{{{{z{|}||||||{{|{{{z{|{|{|}{{{{||{{|||||{||||{|||{{{{{|||{}|||{{|{|z{{|{{|{|||{z||{{{||{||||}|{|{|{|{|{{|{{|||{{{{{{{||}{|{|{|{z{{z{z{||{{z||{z{{{y|{|{{{|~}~}~~~~}~}}}|{}|}}|}}}||}{|{{{||{}|||}|{|{{{zz{{{||{|||{{zz{|z{{||{z|}||{{{{{{{{{{{{{|{{zzzz{z|{{{||{{zzyzz{z{z{{|{|{|z{zz{z{z|{|{|{{{{zz{z{zz|{{{{{|z{{{zyzz{{|||{{{{{zzzz{{z{z{zz|{{y{{z|z{z{{z{||{|zz{z{{{z{{{{|||z|{{{zz{y|{|{{{{|z{|{yz{{{{z||{{{z{|zzz{{{{|||{{|z{{zzz|{{|z{|{|{{zz|{z{{{{||{{||{z{{{{zz{||z{|{|{z{z{{|{{|{|||||{z{||{|{||{{{|}||z{{{z{{{|}||{|||z|{{{{||}{{|}|||{{{z{|{{|{|{|{||{{{{|{|{}|||{||{{|{|{{{}}|{{||||{z{{|{{|z|||{|||{{{||||||{|}|||{}{z{{{{||||{|}|{z|z{{zz{{{|{{{|{z|{yz{z|z{{{~~~~}|}}||||}}||}}|}|{|{||{||||||||}{{{{{|{{{{|{|{{{||{{{{|{{||{{|{|z{{zz{{y{{|z||||z{z{zz{z|{|{{{z{{zz{{{{{{{{{|{|||{z{{zzz{||{|{}||{{zz{z|{z{{{{|{{z{{zzzz{|{{{|{|{{{{yzz{{{{{{{|{{|{{z{zz||z|{|{{{z{z{{z{{|z{{|||{{{|{z||{||{||{{{{{{z{|{|{{||{{{{{{{z{{z||||{|{|||{||{{z{{{|{||{{{z{zy{z{||{{{|||y{|zz{z{{||||||{||{{{{{{{|{{|||z{{{{{{{{}{{|||}|{z{{{z|||||{||||z|{{|{z|||{||}|{z|{{|{{||{|{||||z{{{|{{{}|{}|}|}{{{{{|{||}||||||{{{}{{{|z||{|||}||||||{||}}|}|}{|{{{{{{|{||||||||{{|{{{{|{|{}{|{{z{zz{{|||{{~}~~~~~~~}}||{~|||||}}}{|{||{{{{{|||||{{{||z{{z|||}||||z{{{zy{z|{|{{||{{y|{{{{z{||z{{|{|{z{{{{{{|{|{{{{||{zzzzz{|{{||{|zzzzzzz{||z|{{{|{z{{{zz{||{{|{||{{z{z|zz|{{{|{|}{{z{{z{z{|{{{{}{{{zz{{{{{|{{{|{{z{z|{zz{{{{{{}{|z{{{{{z{{}{||{{|{{{|zy{{{{|{z{||{{{{z{|{{||z|{{|{|{{|{{{||{|{|{{{{{{|{z{{{|{{{||{{{{{{{{{{||{{|{{{{{{z{{{||||}|{{{|||z{{{{{|{|{{{zzz{zz{||{{|}|||{{{|{{z|}{{}||||{|{{{{{{||{{{||||{{z|{{{}||{|}|||z||{{{|||}{{|{}y{{|{{{|}{||||||||{{{{|}|||||{||{zz{{{{{{|||}|{{z|zzz|z{||{|||{|z{zz{zz{{|{{~~|}}}}||}|}}|}}}|||{|{||z||}||{}}|{|{{{{||{{|{{|{z|{zz|{{|{}||{{|{{|z{{{||{{z{{{{{{{{z{z{{{{{{{|z{z{{z{zz{{{|{{|{{{z{zzzz{|{{||{|{z{z{{zzzz{|}|{{z{{z{{{{{{||z{||{z{zzzz{z{{{{||}{{{z{z{zz|||z{{|{{{{{{{{{{{{{{{{|{zz{z{{{{||}|||{z{{{z|{|||||}|||z|{|{{{|}||||z||z|{|z{{|{{{{|{{{|{{{zz{|||{{||{|zzz{z{z||{{{{{z{{{{{{{|{|||{|||{{{{z|{|{||{z|||||{{|{{{|{|{{|{||{z{|{|z{||{{|||||{{{|}|||{||||}|{|{{{|{{|||||}}|||{{{{||||}|||||{|||||{||||||}}}{|{||{{||{||}}|||{z{{{{{{{|||||}{{{|{{{|{{||}|{|z|{|{{{||{{{~~~~}}|}}}||||~~|}||}|{|||||}{{||||}|||{{{|{|{{|{||{|{{z|{{{|{||{||||{|z{zz{{|{{{}||{{{zz{{z{{|{{|{zzz{zz{z{}{{{|{||{{z{|{{z{{{z}|{|{{{zz{{{{{|{|||{z{|zzz{{{{{z{{|}{z{{z{zz{{{{||{|{z{zz{{{{{{{{|{{|{{{{|{{{{}|{{{|{{y{{z{{|{{|{||{|{|{z{{{{{||||||{||z{z{z|||{{{}|{{{|{{||||{|||||{|{{z|{z{||||{||{{|{{{{{{||{|{||||{|{{{{z}|||}||z{{||z|{|{{|||{||{{{||{{||}||||{|{{{||{|||||}||||{{{{|{|{|||}{|{||{{{|{{|||}|||||{{|z{||}}|||{}{}z|||||||||||{|}}|{{{||{|}{{{}||{{||{{{{{|{|||}|||{{{{{z|||||}|{|z{{{z{{{|{{{~~~~~|}}|}}{}}}}}}}|}}||||{}||{|{|||}|{{{{{|{||||{||{{{{z{z{{|{{|||{|||zz{{z{{||zz{{{|zzz{zyzz{|{{{z{{{{z{zyz{{{|{|z{z{{{|zz{{|{{{}|{{{z{|{y{{{{z{{{{{z{zzzzz{{{{|||{{{z{{z|z{{z{z|z{|{{z{zzz|z{{||{|{zzz{z{{{|||{{|{{zz{zz|y{|{|{||}{z{{{z{z{{|{{|{|{{|{{z{{{||||{{{{{{{{{zz{{|{|}|||{|{{{z{z||{|||||zz{{|{z|{|{{||{z{|{z{}z{{|||||||{{{{{|{|{{}{{|}z{{{z{zz{||{||||z|{{{z{{|}|||{|{{|{{{||{||{|{|{||{|{{{{z|}||||||{{{{{{{||{||{}|||{{{{|z{||{{||{|{{{{|{z|{z{||}}|{{{z{z|{||}|{||{|{{{{z{{||{}{{{{{{{z{z{zz{|{{~~~}~~}}|}{|{~}}}||{}|{{||}{{{||||{||}|{|{{||{}{{|}{||z{{{z{z{||{{{{{{{{{{|{zz|{{z{|{{{{{{{{z{{|{{|{{{|{yz{z{{{{{{{||zz{z{z{z{{{|{{|{{{{z{z{z{{|{{|||{||z{{{z{|{{{|{|{zz{{z{z{{{{z|||{{{z{{{zz|||{|{|{zz|{{{z|{{|z|{}{{{z|z|{{|{{{|z|{|z{{z{|{||{{{||{{{{z{{{{{||||{{{{{{{z|{{||{}|||{{z{|{|{||{{{|}{{||{z{{{||||{|{||{{{|{z{|{}{{{||{|{{{{{{||||{|||{{{{{{{{|}|||||{|{{|{|||}}|||}|}{{|{|||{||}{|||}}{||{{{{{}||{|}}||{{{{{|||||{|||{{{{{{{{|{|{|}}|||{||{{||{||||{|{|{{|{{|||{|}}|{|{{|{|{{{}{|||{|{{{z{z{{{}|{z~~~~}}}{|}|}||}||}}|}{|{|{|}|||}||||{|||z{{{{{||{|}|{||{z{z{{}{}||}||{{{|{z{||z{||{{z{{{{z{|{|z|||{{{zz{{z{{z{{{{{|{{{z|{{z{{{{||}{{zzz{{zz{z|{}||{z{{{zzz{z{{{{{{z{{{{z{{zz|z||||{{{zz{z{{{{z{z|{{{z{{{{{z{|{{z||{{z{zzz{{z|||{{{|{|{{{zz{|z{}{{{{z|{{{zz{{{|||||{{{{||z{z{{{z}||{|{|{{{{z||{|{|}{{z{{{{z{{{{{{}|{{{||z{|{|{||||}}{{{{{{|{{|{{|{{|{{|{z{zz{||||||{|{||{{|{|}||||}|{{{z|{|{|||||}||}{{{{{{{{}||{}}||{{{z{{{}||{||}||{{{{{{{{|{{|}|}{|{||{z{|||||}{||{{{{|{{|}}|||}{{|{{{{|{{{{|{|}|z{{{{y|{{z}{{~~}||||}|||}}~|}~~|}}{{{|||||{||||}z{{z{z{|}{|{{||{z|{{{{z{{|{||{|{z{{{{zz{||{{{{{z{|{|zzz{{|{{{{{{zzzz{{z{{z|{{|{zzz{z{|z{|{{{||{{|{zz{y|{{{z|{|{zz{{zzzz{{{{{|||{z{zzz{zz|z{{{{{{zz{{{zz{|{{{{{||z{zz{zzz{|{||||z{|y|{|z|{|{{||{{z{{z{{||{{{|{{|{z{{z{{z{{||{|{{|{zz{{z{z||{{|{||{z{{{zz{||{{||{{{{z{{{z{}|{||{z{{|z{{{{{{||{|||{{||{{{{{{z||{|||z{{{{{{{|{||||{z{|{{{{z|}|||{||z{{{{{{||{|||||||{{{{{{|||||}|}|{{|{{{{{}{|}||}}|z{|||{}|||{|||||{{{|{{|||||{}||{{{{{{z{{|}{{|||{||zz{{{{||{|||{{{z{{{{{{{{{|~~~}}}{||||}}}||||||{{{{|{{|{{}{||{{{|{{{{{{{}|{{{||{{{{z{z|{|{{{{|zz{z|z|z{|||{|{|{z{|{{{z{{|{z{|{z{{zzz{z{z{{{||{{{zz{{z{{{|z{{{{{zzz{zyz{z{z{{|||{{zz|z{{z{|z|{{{z{z{{zzz{|z{|{{|{zz|{{z|{{z|{|{{{{{zz{{{z{z|||}{zzz|z{z{||{{{||zz{zz{z{{{|{{||{{z{{z{z{{{{{{{|z{z{zz{{y{{z{z}{|{{z{{{{{{||{{|||{zz{{z{{|{}{{||{||z{{{{{{z{|||}{{{{|{{{|||{|{{}|{{{{z{{{||{{{||||{{|}z|{|}|||||}|z|z{{|||{||||{}}{||z{|z||}|{{|||{{|{{|{|||||}|||{{{{|{{{||}|}|||{{{{{{{||||||}{{|z{z{{z|{|{|||{{{{{z{{z{z{{{{|{{{z{{{{{{{{{{~~~}~}}}{}}|}|}~|}|{{{{|{{|}|}|{|}{|||z{{||{{{||||{|{zz{{{{{{||{{}{{{{{{{z{{{{{||{|z{zzzz{zz{{{|{|zz{|z{zz{z|{{{{{{{zzz{zz{|{{{||{zz{zzzy{{{|{{{|{|{{{zz{{|{z{z{{{{{{z{{{zz{|z{|{|{z{z{{{{{{|||{||zz{{z|{zz{|{{|||{{{{{{zz{{z{|||}{{{{{z{z|{|{||{{|{{{zz{|{{{{||||{{{{{z{{{||{{||{|{{z{{|{{||}{}{{|{z|{{z{{||{{||||z||{{z||{||||||{z{z|{|{{{{{||||{{{|{zzz|{|||}||{{{|{{{{{||{{|}}z|zz{{||{|||||}}|||{{{z{|||||{}||{{{|{{{{|||||{|||{|{{|{{{{}{{}|{{z||{{{||{{{|||{{|{z{|}{{|}{|}|{{{{z||{{|||z{||{{{z{{{{||{{{~~}~~~}~|||||}|~|}}}~|||{{||{{}||||||{{|{{z{{{{{|{{|{{z{yz{{zz{||||{|{{|z{{{{{{|{{{|{z{z{zzzz|{|{{|{|z{zzz{z{{z{{{{{||zzzzz{z|{{z{{{|{zz{z{{z{z{{z|{{{{zz{{{|z{{{{z|{|z{{zz|{z{{z{zz|{{zz{zyzz{{{|{||{{{z{|z{{{{|{{||{zz{{zzz{{||||{|{{{{{z{{{||{{|{|||zzz{{{{||{{{|{|z{{{z|{{||{||{{{y{z{{{zz{|{z{||{zz{{{{z||{{||||{z{{{{{|{{|||||{{{{{{z|z|{{{||{|{{{|z{{{{||||{}{{z{z{zzz|{|||||{{{{{|{|{|{|||}|||{|z{{{{|||||||}}{|{{{|{||{|{||{|{{{{{{{||}{||||}{{z{{z{{{{|||||{{z{z{{{{|{|{|||{|{{{z{z{||||{{{{{{{{{{{|{{{{~~~~}}}|||}~}|~}|}||z|||{{}||||||||{|{{{{{{{||{{{||{|{{zz{{|{|{|{|{||{{{z{{{{{{|{{zz{zz{zz{{{{{{||{{z{z{{{{zz{{{{||{zzzzz{{{{{{{z{{{{{z{z{z|{{{{{{|z{zz{{z{{|{{z{{{z{{zzzz{{{{{{{{{{zzz{{{z|z{||{{z{{{z{zz{{{{|{||{z{z{z{z{{|{||{|{{|zz{{z{{z{z{||{zz{z{{{{||||{{||{{{|z{z{|{{{{{|{{{{z{z{z{||z{|||{z{|{z{{{{{{|||{|{{z{{|{{|||||{z{z{{{||||||{||}|z{{{{{z{|{}||||{z{{||{{|}|{{}|||{|{|{|||{{||||||{z|{||{{}||}}|||{||{{|||||||||||{{{|{{|{||{|}}||{z{{{{||||||||||}{{{{|||||||||||{{z{{|z{||}|}|{{{{{{{{z||{|{~}~}||}}{}||}~}}~|||||||{|{||||}}{|||{z|{||}}||||{{z|{{{z{|||{|||{{{{z{{{||{|||}{|{{z{{{{|{{{{{{|{z|{z{zz{|{{{{|{{z{{z{{{|{{{z{|||{z{{{{{z|{{{{||||{z{{{z{|{{{{{|{{{z{|{{z|{{}||{{zzzz{{z{{z{||{{z{{{{|{{|{|{||||{z{z|{{||{|{{{||z{{zzz{|{||{|{{|{z|{z{{z||{{{||{|z{||{{z|||||||||{{||{{{z||{{|}{{z{{|{{{{}{{{|||{z|{{{z{{{}}||{|{|{{|{{{||||||||{|{{{zzz|{}}|}}||{{{|||{}||||{}||||{{|{|{{|}|||||{}{{||{||{|||||{{{{{|{{|||}|||||{{{{||{|||{|||||{{{{|{{|||||||||{{{|{|{{}|{||}|||z|{|{z{|||||||{|{|z{{{|{|||~}}~}}|}|}}}}|}}}|||{|{|{{{||{|~||{|{|{{{{}|{|}||{|{z{z{z{{|{|{||z{{{{z{z{{{{{|{{{{{{zzz{|{|{{{{|z{{{z{{{|{zz{{||zz{zzzzz{||||{{{{z{yz{{{{{{{{||z{{{{{{{z{{{z{||{{{{{zz{{z{{z{{|{{{{{{{{z{|{{{{{{zz{{{{{{{{{{{|||{|{{{z{{|||||{||z||{z{{{|{||{{||z{{{z{zz{||||||{|z{|{{z{{|z|{}|{|zz{|{{z|||{{{|{{|{{{{|{{{|||{{|zz{{{{|{||||{|||{{{|{{{{}||||||}||{{{{{|{{}|||||{{|z|z{z|}|}||||{|{{{|}{{|{||{}|{{{|{{||{|{}{}||{||{{{{{|}|||||||{{{{{{{|||||{}{}{||||{{{|||{|}|{{{{|{||{|{|||}||{{z{z{{||{|{{||{z{{{zz{|z{||~~~}}|}}||||}}}~}~}}||||{||||}}|{}}||{{{|{{||||{{{||{{zz|zz|{{{||{|{z{{{{|y{{{{{{|{{{{|{{|{{{|z{|{|{{z{z{z{{|{|{|||{||z{zyz{|{{z|||{{zz{{zzz|{{||{{z{{zz{zz||z{|{|z{{{|z{z{{{{{z{{{{{{zz|z{z|z{{{{|{{{{z{zz{z{{{||{|z{z{zzzz{{z|{|||{{z{z{z{{|{|z||{{{{z{{{{||z|{|||{{{{{|{{||{{|{|{{{zz{{z||||||}{|zz{z{{{{{{{{{||{{{{z{{z||||||||z{||z{{{}|||{||{||{{|z{{{||{|||{}z{z|{|{||||||}||{{{{|||{|{|{|{}}|{|{|{{|||||||}|{|||{{{{}|||||{|{{{||||{|||||}}|{{{|{{|||||{}}|z{|{{{||||{|}}}|{|{|zzz{{}||{{|{|{{{{{{z|{|||~}~}~}}}}|}~}~|}}|||{{||||}{|{||}}{{|{{{|{|{{{{}|||}{{{{{z{{||{|{}{{{yzz{{z{{{{{{{{{z{{z{z{{{{{{{{{{{z{{z{{z{{{{{{zzz{zzzz{{{z{||{{{z{z{{zz|{{{{{|{|{z{zz{z{{|{{{z{|z{{z{z{|{{z{||{zz{{{zy{|{|||||{zzz{{{z{{||{{|{{{{z|z{z{||||||{{{|{{z{z||{|{z{|{{{{{z|{{|||{{||{{z{{{z{|{||{{{||{|{{{z{{|||{|||||z{|zz{|{|{{||{{z{{z{{{|||{|{}{|{{{||||{|{|}|{||{{{z{{{|||{||{{{z{|{z{z||}|}}|{{{{{{|{{{||||||{|||{|{{||}||||||z|{||{||{{{||||||{{|{{{{{||{|||}|{{{|{{{{|||||}||{{{{z|{{|{||||||{{{{||{{|||{|{|{z{z{{{{|{|{{~~~}~~}}|}|||~~}}}|}|}||{||||}||{||}||{|{{{||||}{{|{|{|{|{{{{{{|}||||{{|{{{zz||{{z||{{{z{{{{z{z{{{|{{{z{yz{zz{{{{{{|{z{{zzzzz{||{{{|{{{zz{{z|{||{||{||z{zz|z{{|{|{||}{|{|zz{{{|{{{|{{{{zz{z{z{|{{{{||{{z{{{{z{{{{|{{|z{zz{z|{z|{|||||{{z{{{{{{{{|||||{{|{|{z{z{|z{{}{{z{{{{{z{{|{{}{|zz{z{zzz{{}{{||}|{|{{{z{|{{|{{|{{|{|{{{{||||}}||z{{{{|{{|{{|||}|||{|{{{{{|||{{|||{{{||z{||}|||}||{{{z||{|||{}|||}|{||{{|||{||}||}{|{{{{{||||||}||{z|{{|z{||}|||}||{{}{{{|{}}||}}{|{z|zz|{|{{{|{{{{z{{{{{||||{|{{|z{z{{{z|||{{~~~}}}|}|}||}}||~~}}{{{{{||||{{||||{{{{{{|{||}||||{{{zz{zz{z|{|{{{{{{{{{{{z{{|z|{{{{{{z{{{|{{|{{{|{z{zz{z||{{{{|{{{z{z{z{z{{z|{{|{{{z{z{{zz|z{{}{{{{z{|z{zz|{{{{|{{z{z{{zzz|z{||{{{zz{zz{{|{{{{||{z{{{{{yz{||{{{|{zz|z{||z{||{{||{|z{{{zz{{||{|{{|{z{|{|z{{{{{{||{|||{z{{z{{{{{|||{{{z{z{z|||{{|||{{{{z|z{{{{|z{{{{{{{z{{z{||{{}{{{{z{|z|z{{z|{|}||z{{{{|z{|{||||{{{{z{{{z||||z|}}|{|z{{|{{{{{|||{{{|{{{||{}{||||{|{|}z{|{}{||{}{}|{{{{{{z|{||{|||{z|{{{{{{|{{||{|z{{z{{z{{|{||||||{{{{zz{{z{{{|||zz{z{{z{{{||{~~~~}~}{{||}}|}|~}|{|{{{{z|{}|||}|{{{{z|{{{|||{|{|{{{y{{{z|{||{{{||{{{{{zzz{{{{|{{|zz{{{z{{{|z|{|{z{zzzzz{z{zz|{||{{z{{{z{{{z||z{z{{zzzz{{{{{|}{{|{{{{{{z{{{{z{{|{{|zz{z{zz{|{z{|{|{{{{zzzz|{{||{||z{|{{{z{{|||{{|zz{zz{{|{{}|{|}|z{{{{{z{{{{{|{||zz|{{z{z|||{|{|{{zzz|z{z{{{|{|{{{{{{z{z{{{||{{|z|{{{{{z{{{{{{|||z{{{z|{{||||{|||{||zz{{z||||||||{{{|{zz||{|}|{{|{z{{{{{{|}|{{|||{{|||{|{{||||||||{||z|{{{||||}||||||{{{{||||}|{||{{{{{|{{|||{}}{|{|{|{||}|||||}|{z|z{{{{{|{{{||{{{{{zz{||{{||||{|z|{{z{{|{||z~}~}~}}}}|}}}~~}}}|}|{z{{|{||{|}||||{{{|{|{{||{|{|{{{z{{{{{|{{{||{||{||{{z{{{{|z{||z{{y{zz{|{{|z{{{z{{zz|{{zzz{{{{{{{{z{zz{{{{{z{|{{{z{zzzz|||{|z||{{|{zz{z{{{|{{{|{{z{zz{z{|{{||||{z{y{z{{{z{{|{{}zz{{z{zz{{|{{|{|z{zz{z|{{{{{||{{{{z{zz{{{|{{|{{{{zzzz{{{{{||{{{{|{{z{z{{{}||{{||{z|zzz{z|{{{{||{{{{{{{z{{|{{{||{{||{{{{z|||{|{|}zz{|z{{{|{{|{||}{{||{{zz{|{|||}|||{||{{||}|||{}||{{{|{||{|||}|||||{{|{{}{|||||}}{|{{{||z{|}{|}|}|{z||{z{{}||{|}||{{{||{{|{{}z|}|{{{zz{{{{|z{|||||{{{{{{{{{{|{{||{z{z{zzz{|||{~~~}}}}|{||||}|}}~}|{||z|||{{}}|}|z|{{{z|z|{|{{|||{zy{{{{z|{|{{{{{zz|zz{zz{{z{{{{{{{z{{zzz{z|{z|{|zzzz{zz{{{{|{{|{zzyzzzzzz|{{z{||z{z{zzzz{{{{z{{z{{{zzz{{{{z{{{||z{z{zzz{z{{{z|{{{|z{zzzz{z||z{{{{z|{z{zz{{{{{||{{{|{{{zz||z|{|{{|{{{{{{{{{z{{}|||{{{z{{z|{|{{{|{z{{{{z{z{|{|{||{|z{zzz{{||||{||{z{{{z{{{|{|{||{{{{{z|{z||{{|{|}|{|{{{{|{|{{}{}}|{{{{{{z{|||}||{{}{{||{|{|}{{|||}|z|{{{|{|||{{|}}}{{{{|{{}|}}{|}}|{{{{z{{|{|{{||{{|{{|{{{||{{}{}}{{z{|{{|{{|||}}|{{{{z{{{|{||{}}|{|{{{{{z|||{{|{|{|{{{z{{{{z{{}~}}}~}{}{}}}}}}|}||}{{|{{}|||{|}{|{|{{{|{z{|}||||{{|{z{{{||}||||{||{z{{{{||{|{{{}{{{{{z{{|{|{{||{|{{z{z{{|{{{{{{{{z{{zzzz{|{{{{|{{{z|z{zz{||z{||{{z{zzzy{{||{{{|{{{{{{z{z{|{{z}{|{{{{z{{zz||{z|{|z{{z{{zz{{|{|{||{{{{||z{{|{{|||||{{{{y|y|{|{{|||{{{{zzzz||||}}|{|{{{z{{{|}|{|||{{zz{|{{{||{{{||||{||{{|z|{|{{|}{{{{z{z{{|{||}}|}{|{|{{|z|{|}||||{{|z{|zz{|{}z||{|{z{|{{{}}|||||}|{{{{{||||{||||}}{{|{{|||~|}|||||{||||||{{||}||{|z|{{{{||{{||||}|||||{{{{||{|}}|{{{|{{{{{{||||}||||{{{{{{|{|||}|{{{{{z{z||{|{~~~~~|~|}|}}}|~~}}}||z{{{{z|}}{{|}||{|{{{{{|||}{||{||{{{{{{{||||{z}|||{z{{zzz|{|{|{}zz{{{z{{|||z|{{{{z{zz{{{{|{{z{{z{{{{{z{{{|{|{{|{{z{zzz{z{|{||}|{z{{z{{{{|{{z{||{{z{{{{zz|{{z|{{}{{{|z{z{|{{{{||{{{z{z{z||{}{{}|{{{z|{zz{||{{||||z{{{z{{{{{{{|||{{{{{{{{||{{{||}{{{z{{|{{||{{}||{|{{{{z{|||||||{{{||{{z{|||||{|{|{|{{{{{||{}||}|{||{{z{{||{|||||{{{{|{{{|}|}|}||}zz|{{{{|}|||}}|||||{|||{}|||}}|}{{}{|||{|||}|}}}{||{{|{{|{|}{|{|z|z|z||{|{||||||{{{|{{||{{|}|}||{{{|{{{||||{|||||{{{|{{||{|||{|||{{{{{{|||||~|}||}}||~|}}}}}~|{|{|{}{|||{}}{|{}z{|z|z|||}{||{|{{{zz{{z{}{{{|{{{{{z{{z{{{|{}|{||{{{z{z|{|{|{}{|z|y{{zz{{{zz{{{{{{z{zz{z{{z{}{{{z{{z{{{{{|z{{||{z{zzz|{z{|{{{|{|zz{{{z{z|{{{||{zzz{{z{{{{|{{|||{{z{||zzz{{{{{||zz{{{z{{||{|{||{zz{{|{{{{|{|{|||z{{{z{{{{|{{||}{{|{{|{{{{||{{{||{{{||{{{|{|{{{||zzz{|{{{{{{|{}{{|{||{|{{{{|}|}||{|{{{{{{{||||||||{{|{{|{{|||{{}||{z{||z{||||||z||{z{{|{{||||||||||z|{{|||}||||}||z|||{{|}{}{||||}{{{{{{||||{{{|}||{||{{{||||{||}{{|{{{{{{{|||||||||{||{z{|{{{|}|{{|{{z|{{||||~~}}}}|||||}}}|}~{|z{|||{{{{|}|||{{|{{|{{|||||{}}{{{zzz{{{{||{{{{{z{z{z{z{|{{||||{{{zz{{z|}{|{{|zzz{z{zy{{{{|{{{{{z{{z{zz{|{zz{{{|zzzz{z{{{z{{{{{zz{z{{{zz|{{z{{|{zz{{{{z{{{{{{{|z{zz{z{{{{{{{||{{z{z{{{z{||{|z|{{{{|zz{{{{{|{|{{|{|{{{{{{{{|{|{|{{{|z{{{z{||{||{z{{z{zzz{|||z|{{{{{|z|{{{{|{{{|||{{{{{{{|||{y|}{|{|{|{{{|{|||}{~z||{{||{{|{{||{|{{{{z{z|{|{}||}|||{{{{{|||||}}}||z{{|{|{{{|{|||||z{{{}{{{|||||||}z{{z{|{|{{{||}|{z|{{{{|{||||||||{{{||{|||{|{|{||{{{{z{{|||{|{||{{{{{{{{||||{}{|{{{z{z|{||}|{~~~|~||~|{|}|}}~}}}}{}{|}{{|||}|||||{|{|{z{{|||{{}||{{|{{zz{{|{{||}{z|{{|{{{{{|{||{{{{zzz{{{||{||{||zzz{{{z{||{{{{{{zz{{{{{{||{z{|{{{{{yzz{{{||{{|{{|{|zzz{{|{}{{||{{zzzzz{{{{{{{|{|z{yzz{|{|{{||||z{|zz{{{{|{|||{|{{{{{{{{|||{{{||{{{zz{{{{|||{|||z{||{{{|{{{{||||{{{z{{{{{|||{||||{{{|{z||{{{{{||{z{{z{{{|{{|{|{|||z{|{{{|||{|{||{{z{{{||||||||||||{{{{{{z{}{|||{|z|{||{||{|||}}|{{{{{{|{|{||{||||{{|{{|{{||}}|}||||||{||}||||}||{{{{{{{{|||||||}{|{{|{|||}|}|}||z{{z{z{|{|||{}||{z{|}|{{{|}|{}{|{{{|{{{{}||{}~~~|}|}|||}||||||||~|{||||{||||}||}||||{{{|{|||{{{||{|zz{z{{||{{|{{{{|zz{|zz{{{z|{|{||{z{{{{z{{{{||{|{{{z{{||{{{{|{{{z{|z{{{|{|z{{z{z{zzzyyz{|{{{{}zz{z{{zz{|z{{||{{z{zz{{z{{{z{|{{{{{zz{{z{|{{{|{{z{{{zzzz{zz{|zz|{{{z{{{{{|{|{{|{{zzz{{{z{{{|{{}|{{{{z{{|{|{{|{||z{|{|{{z{||||}{||{{z|{{z|{{|{|||{z{|{zz|{{{{|||{{{|{z{|{{||||}||{{{{{{|{{{{|}||||z{|{{{|}|||{|{{|z|{{{z||}{{||||{{{{{{|{||{||||||{{{{{{{{|}||||}{{{{|{||||||||||{{|||{z|{{{|}|}}|{{|||{|{||||||}z|{{z{z{{|{|{|||{|z|{{|z{|||{{|{{z{{y|z{||||{~~~}|}}}||}}}}}~}|}}|{{|||{}|{{||||{{|{zz{{{{|||{}{{{|z|z{{{{{{|{|{{{{{{{{{{|{{{||{{{{y{z{{|{{{||{|{zz{zzz{|{{|{{{{{zzz{{{{z{{{|||{|{z{z{{{{{{{{{|{z{{{{{|{{|z{||{{|z|{{zzzz|{z{{|{|{yzzz{zz{{{z{{|{z{{z{{{{{{|||{{{{z{|zz{{{{{{{z{{z{{{z|{{|{{{}{|{z{{{|{{{{}|{{|{z{|{{{{z{{|{|||{{{{|{{{{|||||{{|{{{{|{z{|||{||||{{||{|{z{{{|||||z||{{{{z{|{|{|}|{||||{z{{{|{|}{|}{{|{{{{|}{|{{}}{{|{|{|{{{|{|}||{|{{||z|{}||{||}|{|{{{{{|||}{|}|{{z|{{{|{{{}{|||{{{{|{{z{||{||}||||{z{{{{|{}{|}||z{|{{z{{{{||||{{z|y{{{z{|||{~}}}}|}|}|}|}}|}}}|||{|}|{||||||||{{{{|{z{{|{{||||{{{{zz{{|{z|z|||{z|z{{{z{{{{{|{{{{{{z{z{{|{|z{|{{z{{z{z{{zz|z|{{z{{z{{z{z{z{{z{|{{{zy|{{{{{z{|||{{zzzzzz{z{{|||{{{{z{{zz{{{{{|{{|{zzz{{z{{{zz|{|{z{zzz{z{{{|{|{|zz{{zz{{{||{||{|{z{zzz{{|{z|{{|{{z{z{{{{{{{{|||{{|{{z{z{{|{{{|||z{{z{{{{|{{}{{}{{z{z{{{{|{{|{{||{|{{zz|z{||{|{|{{{z}{z|{{{|||{|||{{z{{{z{||{|{||{z{{|{|{}||||||{|{{{{||{||}}{|||}{z{{|{{{}||||}}|{{{{{{{|||||{|||{{z{|z{|{|{|}|}||{{{{{{||||{||||{|{{z{{||||{|||{|{{{{{{|{||{z{|{{z{zyzz{||{{}~~}~~}~}||}||}}||}}}}}||||{|||}||}||{{|{{{{{|{{||z{|}}{zz{{|{{{{|{|{{{z{z{z{{z{|{{{|||z{zzzzz{{{z{{{z{{zzzz{z{{|{z{{{{z{zzzzz{{{{{{|{{{zzzzz{z{{{{{|{{zzz{z{z{z{{{{{{{{{{zzyz{{zz{{{{{{{{zz{zz{z{{z{{{{z{{z{{zz{{z{|{{z{z{zz{{|{{||{|{{{z{z{{{{{{{{|{zzz{{zzz{|{|{||||{|z{z|{{|z{{||{|{{zz{z{{|||{{|}|z{{{z{{z{{{{{||{{{{{{{z{{|||}||{{{z{|{z|{{|{||||{z{{zzz{{{{|||{}{{{{{{{{|||{{|}{{|z{{|z{}|||||{|{{|{{{|{~}}|||{|{||{{{{|||||||{}z{z{z{{{|{|||}|||z||{{{|||}}|{||{{zz{|{|{||||}||{{z{{{{{{{{{{{{|{{{{{{{y{|{z~~~~~~}}}}}}|{|||}}}}~||||{{|{}|{||||{{{{{{|{zz||{{|||{{{{{{|{{|}|||{|z{{z|{z{z|{{{|||{{{{{|z{{{||||||{{{z{z{{z{{{||{|{{{zzz{z{z{{|{}{z{{zz{{z{{|{||{{{{{|zzzz{{|||||{{{zz{{{{{{{{{{{|{zzz{|{{{|{{{||||z|z{zzz{{{{|{||{|{{{{z{{|||{|{{|z{z{{{{||||{{{|{|{{z||{{{|{|{|||z||{{{z|}|{{|}|{{z{{{{z{{|||||||{z{z{{||{||z|||{{{{{{|{{|||||||{{||||||||{}|}|}|{{{|z{{||{{||||}{|{}{|{|{||||}|{{{|{{|{{{{||}|{{|{{||{{{||}|}}}|{}{||{{||{||}|||{{{{|z||{||}||}{|{|{{{|{|{|~|}|||{z{{{{||||||||{|{|{zz{{{||||||{{||{z{z{||{{~}~~~~~~|}|~}|||~}}|}~}|{|{||{|||||}||{||{{{{{{||}||||~{||{{||{{||{{|||{{|zz{{{{|{{{|{{{z{{|{z{{{{{{|{||{{{{|{{{z{{{{{{z|zz{{{z{{{{{{}{|{zzz{z{{||{{|{{zz{{z{{{{|{{{{|{{{{z{z{z{|{{|{|{|z|{zzz{{|{|z|||{{{{{{zz{|{z{|||{{{z{{{{|{{{z{{|{{{|{z{{|{||{{||{{{{{{zz{{}{|||{|{{z{z{{||{|||{|{{{z|{{z|||{{}}{{||{{z{{|}{{{|||{|zz{||{{||}|}|{|{{}{|{{{||}||||{{{|{{z{||||}||{|zz{{|{{}|}{{|}||{{{|{|{|{{|}|}}|{{{{{{|{||}||}|{z|z|{{{|{|||||}||{{{|{{||||||||{|{||{{{|}||||{|{||{|{{||}|{|}}|{{{{{{|z|||{||{|{{|{{z{||{|{|~~~~~~{|}||||}|}~|}}}|{|{|{{{|z||}|}|{||{|{z{{|||{{||{{|{zzz{|{||{|{{{z|{{z|z||zzz{{{{zzz{{zz|{|{{|{{|{{zz{y{{z{|{z{|{{{{{zzz{|{{z||z|{z{z|{{{{||{{|{{{|zzzzy{|z|{{}{|z|{{z{z{{{|{||{{{zz{{zzz|{{{|{{{z{{{{{{{|{z||||z{{z{{{{{{{|||{|{z{{zzz{|||{{|||{|{{|{z{{z{||{}|{{||{{z{{|{|||{||z{{z{z{||{|{{||||{{{{z|{|{|{||||{|{|z{{{||||}||z{{{{z|||}{{||||{{{|{{{{{|}{|{}|{z{{{{{{|}{|||||||{{{{{||{{{||{||{|{{{|||||||||}|{{{||{|||{|||}}{{z|z|{{|{{|||||{z{|||{{|{{||||||{z{{{{{{|{{||}}|{z|{{{{{|{}z}|}|{{zz{z{|{{{|~~}~}~~}}}}|{||||||||~||}||{|}{z{{|||{||||{|{{{{{{}||{|}}{{{{{z|z|{{|||||{{{{{{{z{{|z{|{{|{{zz{z{{{z|{{{{{z{z|z{|{{||z{{z{z{z{z{z{{|{{{{z{z{{z{z|{{|{{{{{zz{{z{{{z{|z{{||{y{{{z{{{{{{{|{{{zzz{{z{z{z{{|{|{z{z|{zz{{{|{||{{zzz{{{{{||{{{|{{zz{{z{z{{{{{||{{{{z{{{{z|{{{{|||z{{{zz{z|{|||{{z{{{{z{{{||||{|{z|{|{{{{|{|z||{{{|{{{{|||{||||||{{|{{{{|||{{||||{z{{|{z{{}}|{|}||z{{|{|{|}||||}{{{{|{|{{|~{{|{|{||{{{|{|{|||{}|}|{|||{{{|{|||||}||{|{{{|||{|{||||{|{}{{{{{}|||||{|{{{||{|}||||||||z|z{zz{|||||||{z{zzz{{{|{{|~~~~~~}~~~}~|{}{||}}|}|}||||{||{||{{}||}}|{z{{{{z{{{||{{|||{{|{z{z|{||{{{{{z{{{{{{{{z{{||{zzz{{{{z{{zz{{|z{z{{z{{z{z{{{{||{zz|{yzz{{|{{||z{{z{yz{{{{{{{{{|z{{z{zz{z{|{{{}|z{{zzzz{{{{{{{{{z{z{zz{y{{z|{|{{{{z{{{{{{|{{{{|{z{{{{{z{{{z{}|{|{{z|z{{|||{|{|||{z|z{z{{{||{{||||{|{zzz{{{||{||}|z|{{{zz|{|{{{|||zz|{{z{||{{z|{|{{z{|{{{z|||||{|{{{z{{|{{|{|{}||{{{|{{{{{||{}{|{{{{|||{{|||{||}|||{{{{}||||||{}||{{{|{{{||}|||||{{{z{{||}|{|{||||{{{{{z{{||||}||{{|z{|{{||{|||||{|{{z{{{||||{||}{{{{{{{{z{{}|{|}zz|z{{{{{}|{|~~~~~}~}~~}{}|||||}}||}}}}|}{||{||||{|||{{z{|{}{{{{|||||||{{{z{{||{{|z||}z|{|z{{z{|{{{|{{{{{{{|y{{{||{{{{{z{{{{z{{{{z{{{|z{{z{{{z|{z{|{{{{{{z{{zz{||z{|||{{z{zzz{}|{|{||{{||{z{{z|{{|{{|{{{zy|z{z{{z{{{{||{z{{{{{{{{{{|{|{{{{|{{z{||{||||{{{{{{{{||||{{{{{{{{{{{z{{{{|{{}{z{{|z|{z|}{{|{{|{{zy|{{{|||{{}{{|||{{{{{||{{|{{{z{|{{{|||{}|||{{{{{|{{{|||}|||}{{{||{{{||{|{|||{{|{{{zz|||||||||}{{||{|{|{{|}}||{{{{{{|||}}}|||||||||{{|||||||||{{|||{||||||}{}|{{|{|||{|||||}|{|{z{{{{|}|{{||}||{{{{{{||||||}|{|{z{{{{{|{z}}~~~}~}|}|||}|}~|||}||||||{|{|{||}z}||{z{{{{{{{|{{||||||{zz{|z|{{{{|}|{{{{y{z{{|{{z|{{{{zz{{z{{{{{||{|{||{{zz{|z{{{|||{z{z{{zz{z||{{{{|z{{y{zz{{{{{{|||{{{z{{{{{{||||{{{zzzz{y{{{|{{||z{{zz{{|z|{z{||{{|{|{|z{{z{{z{||{{{{{|z{{}|||z||{zz{{y{|{{|{{|{}{{{{y{z{{|{z{||{{{z|zz{|{{|{z}|{{z{{{{{{|{|||{|z|{{z|{{|{||||{||||{{{{{|{|||{{||{{{{z{{{}|{||{||{{|{{z{z{|||{||||{z{|{|{|}|||||||{{{{||{{||{|{|{|{{z{{{|}|{|||}|{{||{{z{}|}||||||z{{{}{{{|}|||}|||{{|{{{|}|||}}|{|{{{{|{{||||||{|{{|zz{{{||}{||{{{{z{z{{|{|{{}}~|}}~~|~~}}|||||{||}|}||}|}|||{|{|{|{|{{||||{{{{{{{{{||{|{|{z{{{{{z{{{|{|{|{z{{{zyx{{{|{{|{{z{y{zzz{z|zz||{{z{z{y{z{z{{{|{{{zz{zzzz|{{z{{{{{z{{z{{z{{z{{{{{z{zz{zz{{||{{{||{{zz{{{{{{{{{{{{z{z{z{zz{z{{z{||{{z{z{z{{|{{||{}{z{{|z{|{{{|{|||{zz{{z{{{{{|||||{y{zz{zz{|{{{{|{{z{z{{{{{{{|{|{||{{y{{{{{|{|}||{{|{|{z{{|{{{{|{|{{|z|{{{||||{}|{z{{{|{{||||{|||||{{{{z{z|||{{}}||{z{{{{z|}{|||{{{{|{{|{{{||{||{}}|{{{{|{z}|{{||||{|{{{{||||{|||}||{{{|z|{{|{|||{|{{|{|z{{{||{||||{{z|z|z{}{{||||{{||{{z{{}{|{{||{{|z{{{{|||{{~}~~~~}}~~}}}}|{{||}|}~}|||{{|{||}|}}|~{}|{{||z{{{{|||z|{|{{{zz|{{{|{{{{|{{{zz{{{{{||{|||{{{{{{{|||{{{{{{{z{{{{z{{zz{{||||{{{z{{{{|{{{{|{{z|{{{{{{{}z{{{|{z{{{z{z{{z|{{{|{{z{{{{{{{|{{||{|{z{z{z{{{{{|||{{z{z{z{z{{||{{}||{|{{{{{{||{|||}|{{{{z{||{{{||}|z{|{|{{{{|{||||{{{{{{z|{{|{||||{|{||{{{{}|}{{||{|zz|{zz{|}||{|{||||||{z{{|||{|||z|||{{{{|||{{|||{{{|{{{{||{}||}|{z{||{z{||}|}}}|{|{{{}{{||||||{|||{{||{|{}||||~}|{|{|{{|||}||||||{{{{|{{|{{|{|||||z|{|{{|||||{|}|||{{||{{||{{|||{{{{{z{{{{}||{|{{z}{z{{z{{{{|~~~~~}~}}~~~~||{||{}|}}||||}}||{{|{|||{|||||||{z{|z|{{|{|{{||{{{zz{|z|{z{|||{{z{{z{{{z|{|{||{{z{{{z{z{|{|{||{z{{{zzz{zz{}{{{{{{z{z|{z|{{z|||{|{z{{{zz{{{{{z||{{{{zzz{{{{{{|||{{z{{zzz{{{|{{{{{{z{{{{zz|{{{{|{z{{z{z{{{{|zz{||{z{z{z{{{||{|{||{{{{{z|{|{{|{{{{zz{{{z{{||{{{|||{{|{|{{z{{||||{{{{{{{z{{{|}||||{|||{{|{{|||{|||||{{{z|z{|{{{||||{{||{{|z||{}}||}{{{{{zz{{|||}||{|{|{|{{{}||{{|||||{{|{|{|||||{}{||{{{{|||||}||||}|{{z|{{|{|{||}|{|||||{{|}{{|}}||{{{{{{{||}{|{{|{z{{|z{||{|{|||||{{z{|{{||{|{|}||{{z{{{{||{|{~~~}}|~~~}}~}|{{||{||}{||||{|{{{{|{{{|}|}|}||z{{{{z{{{|}||||{{{{z{|{|{|{{{{{|{{{zz{{{{{{{||{z{{{{{zz|{{{{{{{{z|{y{z{{{{{{|{}z{z{zz{{z{z{{{z{{zz{z{{{{|{{{{{|{{{zz{zz{{{{{{{{{{{z{{zz{z{z{{z|{|{z{z{zz|{{{}{|z{{{{|zz{{{{z||||{{{{z{z{|{|||||zz{{{z{{|{{{||{|z{{{{z{{z|||{||||{{{{y{zz{{{{||{{z{|{zzz|{{|{||{{{z|{zz{|||{{|{||{z|{{|z||||}|}{{{{{z{{{{{{||||||{z{{{{z{|||||||{{{{|{{{{||{|}|}|||{{|{{{||{}{}||{{{z|{{{||{|||}|{{{z{{{{|||{||||{{{{|{|{|||{}||{{{|{{{z{|{{|||}{{|{zz|{|||}|||||{{zzzzz{{|}{{||{{z{{z{z|}{|{~~~}~~~~~}|~}~}}|{|}}}||}|}|}|{{{{{|{|||}}}{||{|{{{{{z{|{{|||{||{{z|z||{{|{{{{{{{{|z{{||{{|{{{z{{z{z{{{|{{{|zz{{{{{y{{{{{{{{|{zzzz{{{{{|||{|{{z{{{{zz|{|{|{|{{{{zz|z{|z|{{{||{{{{zz{{{{{{z{{{{{z|zz{z{|z{|||{{z|{z{{z{{{{||||{zz{{{{|||{z||{|{{{z{y{{{|{{{|||zzz|yz{{{}{{||{||{zz{z{z|||{|||{{|{{{z{{|||||{|{|{|{|{{z{|{z||{{{{|{{zzz}{|}{||{{{{{{{|{||{{||{}|{z|{{{{{||{|}{{{|{{|{|{|||||||{{{{{{{{{||}{||}}{|{|{}{z||||||||}{{||{|{{||}|||||{z{{{|{||{{||{}|{||{{|{|||||{|||z|{{{{{|{|||||||{{|{|{z|||||{|}{{|{z{{{|{{{z~~}~}~}~|}}~~|}|}|||||}}||}|||{{|||{||||{{|}||{{z{{z{||||{||{{{{zzz{z|||||}||{z{zz{{{{|{{||{}{{zz||{{|||{|{{{{z{{z{z{{{{{|{{||{z|zz{z{{|{{||z|{zzzz{{{|{{|||{z{{|{{{{{|||{|}z{y{{{|{z{{{|{{||{z{z{{{z{|z{|||{{z|{{{{z{z||{{|||z{{{{{{|{{{{{||{|{{z{{{{||||}|||{|{{{{{||{|{|||{{|{{{z{{||{|{{|{{{z{{|{{|||{|}||{{{||{|||{|{{}|{{{z{{{|{|{|}|||{{{{{|{|}||||}|}{{|z{{{{||||||||}{||{{{{||{||{}||||z||{{|||{||||||zz|||{{~{||{}|}{|||z{{||||||}}}{|{{{{{{|{|}|}|{{{|||{{{|{|||}|{|{{zz{{{|{|||}||{|{|z{z{||||{}|{{|{{zzz|||||~~}~}~}~}~~|}}~}||{||||{}~}||}}}}|{{{|{{}|||||||{{{z{{{{{||||{{|{{{{z{{y{||{{|{{zz{z{{{{{|{{{|{{{zzz{zz{{{|{{|{|{|{z{{{{{{|{{|{{{{z{{{{{{{{{|{{{{{{z{{y{{{|{{{{||{{{z{zz{|{|||{|zz{{z{zz{|{{||{{z{{z|{{{z{{z{||{z{{{{{{{|{{{{{|{{{{{{|zzz||{{{{|{|z{{z{{{|{{||{{z{||z{{{|||{|||{{|{{|zz{{|{{|{{{{z|{{{|z}{{|{||{|{{{{{{{{||{{}||{{{{{{|z||{{||||{{{{{{{z|{|||{||||{{{{{{{{{||||||{{|{{z{||||{}}}|{{z{{{{z|{|}||{|{{|{{|{|}|||||||{|}|{{{{{|{||||z{|{|{z|{|||||}||{{|{{{{|z||{|{}|{{{{||{z|{|||}{|{{{{{{{|}{|{}|{|||z|{{z|{|{{~~}}~}}}}}}}|}}~}}|}||||||}}{}}}}}|{z||{z||{||||||{z|{{{z{|||||{||{{|{{zzz{{z|{|{}{{|{z{{{{{|{{{{{|z{{{zzz|{|{{{{{{{zz{{{{{|{{{||{{zz{{{{zz||||{|{{{{{z{{{{{|||{||z||z{{zz||{|{{||{z{z{{|z{|{zz{||zz|z{zz{{|{{|{}|{z{zz{{{{|{{{{|{zz|{{{{{||{|{|||{|{zzzz{|{{z{{{|{|{{z{{{{}||}|||{|{||{{{{||{{{{|{|z{{{{{{{|{{|||{{|{{{|{|||z||||{{{{|{{{{|||||{|{|||{||{|{|||||}|{|{{{z||{}||||||{{{{|{{{}{{{||}{{|{{|{{{||||||||{{{{{{{{}|}|||{{{||z{{|||||||||{{{{{{|{|||||||}|{{{|{z{|||||{{}{{{{{{z|{|{|||||{}{{{{|{|||{{{||{{{z{zz|{{{|{~~~~~}~}~}}~}}|}}}||{{{{{|}}|}}}}}|{{{|{{|||{||||{||{z{{{{{|{||||z{|zzzz{{{|}|}||z{{{{zz{{{{{{||{{z{|{{{z|{{{{{{|{{|z{zzz{{|||{{{{z{{{z{|{{|{|{|{{zz{z{yz{{{{||{|{{{{zzzz{{{{|z{|{{z{{{{z{{z{{{|{{z{{{{z{{{|{{||{{{|{z{{y{z{||||{z{z{{{{{{{|{|{||{{{{z|z|{{z||{||{{{{{{{{{|||{|{{{{{z{{{{{|||{|{|{{{{{{|{|||{{{|{||{|{z{|||}|z{||{|{{{|z|||||||}{{{{{|{|{||}{|||{|{{{{{|{||||}|{{|{{{{||{||{}||}||{{{{|{{|}|||}|}|{{{{z||||}}}|||||z{{|{{|||{{{|||{{|{{{|||{|||||{{{|||z{{}||{}|}{|y{||{{|||||||||{{|{{{z{|||{||}{z{{|z{z||{|{~~~~~}}~|}~~}~~}~}}|||||{{}||}}}|}{|{{{{{|||{}|}{{{|z{|z{{{{|||||{{{{z{{z||{||||{|{{z{z|z{|{|{{||{z{z{{{z||{{z{{|z{z{z{|z{{|{{{||{{zz|{{{{{|{{{|{{zz{z{z{{{|{{||||{|z{y{z{|{|{z{{zz{|{{{y{{{z{{|{{{{z{{|zz|{{{{}zz{zzzz|z{|{{{||{zy{{{z{{{||{{|||{z{{yz{{{|{{||{{{{z{z{{{||{{{||z{z{{{z{{z|||{{{|z{||{{{z|||{{|}{{{{{{||{{|{|||{||{{|{{{{{|}|||||{|{z{z|{}{{}}{||{{|{{{{{|||||||||{|{{{|{||}|||||{{{{{|||{||{|||||{{{z||{{|||||{}|{{|{{|||||||||||{{|{|||{||{|{||||{{{|z{|||||||}|{{z{{{{|||||||{{|{{|{{{{|{|{||{{{{{{{z{|||{{~}~|}}|}|}}~~|}~|}|{|||{{|}||||}~||{z{{|{|||{{|}}{{|{{z{{{zz||{|{|{{y{z{{{z{|{{{|{{{|{{{z{|{|z{{{{z{{z{z{zz{{{||{zz{{{{zz{{{|{{||{z{z{z{zz|||{{}{{{z{zz{z{z{{{{{{{{zzzzz{{{{|{|{|{{z{{zzz{{{{{|{{z{z{y{zz{{{{z{{|z|{z|{zz{{{{z|{|{{{z{zz{{|{{{{{|{z{{zz{{{z{{{}{{z{{{{z{{||{{|{||z{|{{{{|zz{{||{}{{z{{{z{{|||{||{{|{{zz{|{{||{|||{z{{z{|{{}||||||{{{{{{|{{|{|{|||{{{{{z{{{{{{||||{{{{|z|{}|}|}|}|{z|{{{{{{|{|||{||{||{{{|{}|||{}}|{{|{z|z||||||||{z{{{{{z{}|{||||{{{{{{z{{{{{}|||{{|z{z{{{{{{||}||{|{{{{{{|{{{{|||{{{{{{z{{{|{~~}|}}}~}}|}}}|}}}||||{||||||{|{}{||{{|{{{{||||{|{{{z{{{z{|{{{{|||z{{zz{zz{|{{{{|{z{z{zz{{|z{|{{{{z{z{zzz{{{zz{{{{{{z{zz{{{{||{z{{zzzzz{{{{{{{{||{{{{z{zz{{{{{{{{zz{{zz{{{z||z{|{{{z{{zzz{|{z{{||{||z{{z{{|{{{{|{z{{{{{zz{{{{{{|{}{z{{y{{{{{{|{||{z{{|z{{{{{{||||z{|{{{{{|{|{{|{|{{{z{z{{{}}{|}||{{{{{zz{|{|{{|||{|{{z{z|{||{z{|{|{||{{{{|{||}|||{{|{z{{{|{||{{|||{z{{z{z{|||{|{{{z|{{{|{|||{{}|{|z{|{|||{{|{{}|}}{|{{{{{|||||||}{{|{{{|{|||{{{|{|{z|{|z{{||||{|||{{{{{z|||{}|}{|{z|{{{|{{|||{|{||{z|{{{z{|{}{}{{{{{{{zz{{{{|{~}}|}~}|}~}~}}|~}|{|{|||{|}}{|}}|{{{z{{|z{{|||~|{|{{|{z{||{{|||{||{{z{{{{{{{{{{{||{|zz{{z{{{{||{z{{|{zzz{{{|{{{|{{{z{{z{z{|{{{{{{z{{zyy{zz{z{{{|{z{{z{{z{{{{|{{{{|{{{{{zzz{{{{||{z{z{zz{{z{zz{{{{z{z{z{{z{||z||{{{{{{{{zz|{{|{|{|{{zz{z{{{}{{{|||{{zzz{{z|z{{{{{|{{{{zzz{z{{||z||z||z|{z{{|||{{|{{{{{z{{{{||{{||{{z{||{z{{{|{{{{{zz|{{{z{|{{||||}{{|{z{{||{{|{|||{z||{{z|||}||{||{z{{zy|{||||||||{{|{{{{||||{{|||}{|z|z{{{||}||}|{{}{|{{{}||||||||{{{{{{{{|{{||}||{{||{{{}{||{||{{z{zz{{{|{{||{|||{{zzz{{{|{||z}|z{{{{{zz{{||{~}}}}||{|}~}}}}|}}|}||||z||}|||}|}||{{{|||||{|||}{|{{{{zz{|{|{||{{|{{z{z{z{|{{{{{}{{{z{z{z{{|{{{|{|{z{{|zz{{{{{{{z{{zzzzz{{{{{||{|{zzzzzzz{{{{|||{{zzz{z{{{z|{|||||zzzz{{{{{{{|{{|zzz{{{z{z{{z{|{|{{{zzz{z{{{{{{|||z{z{{{|{{{|{z|{{{{y{{{{|{|z{{{{{{z{{{{z||{{{{{|{}{{zzz{{{{{||{{|{z{z{{z}|{}{{{|{{{{{{{z{||{{{|{{{{z{{z|{{||{z{{||{z{{{{{||||{{|{{z{{z{{||{}|||}{z{||{|{{{||{||z|{{|{|{|}}{{|}||{||{{|{||||||||||{{{z{|{{~{||}}|{{{|{||{|||||}|{{{{{{{{{{||||}{}{{{z|{{|{||||{|{{{{{{{{{||||||}{|{{{{{|z{|{|{{|{{{{{{z|{{|{{{|~~~}}}|}}}~}}||}||}||{|||||||}|}|{{{{zz{|{||||{|{|{{{{{{{{{}{|||{{zz{z{z{{||{|{{{{{z{z{{|{zz{z{||{{{z{{{{{|{{|{{{|{{z{z{{{{|{{||{{{zz{{{{{|z{{|{{z|zzz{{{|{|{{{||z|{z{z{{{z{{|||{{z{{zz{z{{{|z|{{{{z{z{zz{{|||{|{z|{{{zz{{{{{||{{z{z{{{{z{{{|{{{{{{zzz{{|{{zz|||{|z{z{z{{z{|{{{{|{{{z{|{{{|{{{|{{{{z{z{{{{{{z|{{{{|{{{{{{||{{|{{{|{{{{{{{|||z}|{{{|z|z{{{{|}|||}{{{{|zz{|||{|||}{{{{}{{||||{~|}|{{{{{||{{}|||{{||{||||{{{||}|||||{|||||z||||||||{{{{{{{|||{|||||||{z|{||||||||||z{{{||{{{|{}|||||{{{{{{z{{{||||{{||{{{{{|{||z~}|~}}||||{}}}}}}||}|{}{{|{{}|||{|||{{|z{|z{||{}{|{|z{{|zz{{{{{{z||{z{{{z{zz|||{{z|zz{{zz{|{z{{{|{{z{{zzzzz{z{{z{{{zzzz{z{{z{z{|{{{z{{z{z{zy{{{{z|{{z{zzz{zz{|z||{{{{{zz{zz{{z|{{{|z{z{{yzzzzz{{{{|y{zz{{z{{{{{z{{|{zzz{{xz|z{|{{{{{{z{zz{{{|{{{{{{{{{{z{z{|z{z{{{}{{{{{yzz{|{z{{{|{{{z{zz{z{||{|||{{zz{z{z{{|z{|{{zz{{{{zz{|{{z{|z{{{{{{{{{||}{||{{{|z{z{|{|z|{|||{{|{{zz{{||{{}{|{z|{|z{{||{{|{{|{{{z{{{zz||{|}|}{{{{{{{{{{{{||}|{|{||z{||||{|{|{|z{z{{z||||{}||}|{z{{{{{{|||||{|{{{z||{{{|{{|||||z{{{{{z||{}{z{{{{{z{z{zz{||{}~}|}|}||||}~}||}}}||}{|{{z||||{{}||{{{{z{{{{|}|}}{{{z{|{z{{{{{{|{||zzzz{zyz{{{{{|{{{{{z{zz{{z{{{|z{{zz{zz{{|{{z|{{{{{{z{y{{{{{{{{{{zzzzzz{{z|{|{{{{zzz{zzzz{{{{{{{z{zzzzzzz|{|{{||{zzzzzzzz{|z{{{|zz{{{z{zzz{{{{|{z{{zz{zz{|{{z{||zzyz{z{z{{|{{{||z{{{{z{|{zz|{||{{{{zz{{zz{{{{|{{{{zz{{z{z{|{{{||{{{{{{{{{{|{{{|{{z{{{|{{{{||{{||{z{{{z{|{{|||||{{z}{{{|z{{|{|{||{{{{{{zz{||{{|z|{{{{|{zz|||{||}{||{{{{{|{|{{||{{|{{{{||||}|{|{|}|{{{{z|{|||{|||{{{{{{{|{|||{||}|{||z|{z{{||||{||{|{{{{zz{}|{||{{{{z{{{{z{|{{||||z{|z{{zz{|{{{~~}|}}|||{|}}~|||}||||{|{|{{}|}||||{}{{{{{{|{||{||||z{{z{{{{{{|{{{|{zzz{{|y{{{|{|{{{{{zzz{z{z{zz||z{z{{{{yz{{|z{{{|{{{{zzz{|{{{{{{{{{{{{z{z{{|{{|{{|zz{zzz{{||{|||||{{{zz|{{|{{{{|{{zzz{zzz{{{{z|z{{zz{{z{z{z{{z|}{zz{{{{zz{|{{{{||{zzz{zzz{z{{{|||{{|z{z{{|{|||{||{zz{{{{{{{|{{|{|{{{z{{|{{{{{{{|z{{z{z{{{|{{{{z|{{{zzzzz|{||{{}|{|{{{{{{{{{|{||||{|{{{{{{{|||{|{|{|{|{{{zz||{|||}|{|z{z{|{}|{}||{{{|{{{{{{{|{|}||}{{{{|{||{{{|||}|{z{{{{{{{{|{||||{|{{z|{{{{|}{}||{{z{{{||{|{}{{|{{{{{{{{{{|{{|||||zz{|||{|{|{||{{z|z{{{z|z{|{}}}|||||{|||}}|||}}|{{{|z{|{|{}||||{{{{{{{{}{{{{||}{zz{{{{{{{|{}|{{|{{zzz{zz{{||{{}{z{z{{zy{{|z{||{z{{{zz{zzz{z{|{{{z{zzzzz|yzz{{{|{{z{zzy{{|{z{{z{{{zzz{yzzz{{|{{{{{{zz{z{||{{z{|{z{zz{{zzz{yzz{|{{z{z{|z{{|{{{||{{{{{zzy{{{{{|{|{{z{zzzy{|{||z{{||{{{{zz{z|zz{|{|{{{z{{{{|{{{|{||{zz{{{{z{|{|{||{{{|{{z{z|{{{|{}{|{{z{{{{{}||{|{{{|{z|{{{{|||{{|z{{{{{{{|||||{|||{{{|{{{z{{|}|{|{|{{{|{{{||{|}{}|{||zz||||{|{{|||{z{{{z{{{{{}|||{{zz{{z{{|||||{||{{{{|{z{{|{{||||{{{{zz{{||{|||||{{{{{z{{|{z||{}{{{{|{{{{{|{{{|{{{{{z{zzz{z{|{|}}}~{{{|||||}|}{}}{|{{{{z{|}|{|||||{{zz{{{|{|||||{|z{zz{z{{||{z||||{{z{y{z{{z|||||{{{z{z{{z{{{{{|{|{z{z{z{z{{{z{{z{{zzz{{y{z{zz|{{yzzzzzz{|{zz{zz{{z{{{{yz{z{{{{z{{|{zzzy{|{{{{{{|{zzzzzz{zz{{{{{zzzzzzzz{z{{|{||||z{y{{{z{{{z{{z|zz{z|z{|{|{zz{{|z{{{zz{{{z{{z{|zz{zzzz{z{z{|{{|{{{{{{z{y{{{|||{{{z{{{{{zz|{{{{|{{{z{z{z{z||{{||{{{{{{{{{||||}|z{{{|{{{{|{|{{{{||{zz{{zz{{{{|||{{{z{{{{{z}}{{||||{{|{{||{{{{{|{{{|{z{{{{{{|{{|}|{{{{{|{{{|{||{||{{{z{|z{{{{|{{|}||{{{|{|{{|{|||{|||{z{zz{z{{}{|{|{{{{z{{z{{||z{||{{z{zzz{{{{{{~|}{}}{||||{||}}|}|{}||{{{{|||{|||||{{z{{{{{{|||||{{{|{z{z||{|{|{{{{{zzz{{z{zz{{{|{z{z{{{{{z{{{{z|z{{{{{{{zz{|{|{z{{zyz{zzzzz{{{|{{z{z{{zz{{{|{{{z{|{y|zz{{{{{z|{|{zzzz{{zz{{zz{{{|{z{{zz{z{|{{zy{|zz{z{zyz{|{|z|{{{zzz{z{z{{|{{|{|{{{{zzz{{|{{{}{{{{zyzz{{{{{{z{|{z{zz{z{|{{{{{||{{{z{{z{z{{|{{||{|{z{y{{{{|{|{{||{z{{{zz|{{|{{{{{{{{{|{{{{||{|}||{{{z{{{{|{|||{|{{{{{{{{{{{|{|{|{{z{{{zz{{{{{|{|||{{{y|{{{|{|{|||{{|{{|{||}{||||||{|z{z|{||}{{|}{{z{zz|z{|{|z{|||{{{{{{{{||{|{}||{{z{{z{{{|{|{|||{{{{{{{{{{||{{{|z{{z{zz{{{||{}}}}}||{{|||}}{}{||||}|z{{{}|||{||{{{{{{zz|zz{{}|{{{z{{zz{{{z{{{||{{z{{{z{z{{|{||{{{zzz{z{z{z{{{{z{{{{z{{zz{{|{z||{{z{zz{zz{{{{{{{z{{zz{zzz{|{{z{|z{z{zzzz{{{|{z}{{{zzy{zzz{{{|{{{{z{z{zz{zz{{z{z{{z{zzzzz{{|{z{|zz{zz{z|zz{{z{z|{{{z{{{{{{{{{{{{{|z{{{{zzz{{{{z{{|{|zzz{zyz{|{|{|{{{{z{{{z{z|{{{||{|z{zzzz{{{|z{|{{zz{z{{|{{||{{z|{|{{{{{{{{{||{{|{{|{{{|{|{||||{|{{zzz{z{|{{{z{|{{{{|{{{{||{{{{{|zz|{{|{{{{{{{|}|{{||{{{{||||{|{|{{{|{{{||{||{{|{{{{{{{{|{|{|{{|||{{{{{{|||||{|||z{z{z{z|z{{|||{{|{{{y{{z{{{|{{{z{z{{{zzz{z|||~}}|}|{||{||}|||}}|{{{{|z{{||{||||||||z{||{{{}|{|||{{{{{z{{|{{|{{||{|{zz{{z{{{}||{{{z{{z{{{{{{{|{||{{zzzz{zz{{|{|{{{{{z{{{z{z{|{|}|z{z{{z{{{{{z|{{z{zz{zzzzz||z{{{{{{yzz{zz{|{|{|{{z{zzzz{z{{{|{{|z{{z{zzzz{{z{z{{{zz|zzz{zz{{{{{|{|z{z{{{z{{|||{{|zz|zy{{z{{{|z{{{zzz{z{{z|}{|{{|{{z{z{{{zz{{{{|||{{{z{zzz{|||{{}|{{{{{{{|{|z{z{||{{z{{{z{{|||||||z{{{{{{{|{{|{{|{|y|{z{{{{||{||}{{z|{{{{{||||{|||{{{|zz{{||||{}}||{{{z{z{{|||||}|}z|{{{|{||||{|||}{z{|{{{{|{{{||{{|{{{{z{{{||{||||{{z{{z{{{|{{|{{{{{{{{z{|||{{{{||{{z{{z{|{{{{~~}|{|z{{|||~||{|||||{y{{z{||}|||||{|{z{{zz||{|||{|{z{{{z{{{||||||||{|{zz{z{{|||{|{zzz{zz{zz{{z{||zz{{z{{{{zz{{z{{{zz{zyyzzzz{z{{{{z{{z{zzzz{z{{||{zz{z{z{{{{{{z{{{{y{zzzzz{{z|z{z{z{z{{zyyz{|y{{{{zzz{zz{{z{{zy{{|z|zz|zzz{z{{{||{{z{z{yz{{{{{z{}||{{{zz{z}z{{z{{z{z{zz{{{z{|{|}|{{{{{{z{{{|{{}|||zz|{{z{||{{||{|{{{{{{z{{{|z{||z{{{z{z{{|{|||{|{|z{|{{z{{|{|||||}{{{{{{zz{|{{|{{{{{z{{z{z{{||||||zzz{{{|{{{|{|{{|||{{{{{{{||{|||{{{||zz{{|{||||{||{z{z{{{|{|{||||{{|{z{z|||{|||||{{{z|zz{|{|}||{||z{zz{z{{{{|{|{{{{{zzz{{{||{{}~||{|{{{|z{||}||}||}{{{|||}}|||{}}{{{zz{{{||{|{z|{{{{z{z{z{{|{{{{{z{{{zzzz{{{z{{z|z{{zzz{zz|{{{|{|z{{{{z{z{{{z{{||{{zzzzzz{zz|{{{|z{zz{zzz{{{{{{{{{{zz{|{{{{|{|{{|z{{{zzzz{z{{{{|{{z{{zz{zz{{|{|{{z{{zzz{{zz{zz|{|{zzzzzz{z{{|{{|{{z{z{z{{{|||{z|{zz{z{zz{{{{{{{|{|{{{{{z|z{|{|{{{{{{z{z{zz{|{{}{{|zz{zz{{{{{{|{|{|z{{{z{{{{|{{{{|{{|zzz|{{{||{{}{{{|z|{|{{|||{|||{|{{}{{{{|||{|||z{|{{{zz|{||{}}|{z{{{|{}{{{||||||{{|{{z{|}{|||||{z{{{z{|{{|||||||{{{||z{||||||{}|{{y{{{{|||||||{{{|{{{{z||{{{}|}|z{zz|{{{|z|{z}{{z|z{{z{{{{{{}|}|{|{|||{{}|||{}}|{{|{{{{z|||||||}{zz|{{{{{{{||{|{zz{{|{z{{{{{{||{z{{zz{z{|{|{{{{{{{{{{{zz{{|{}{{{z{{{{zz|z{zz{{{zzz{{zzz{zz{{{{|z{{z{zzz{{{|{{|{{zz{z{z{z{{{|{|{{{{zz{{zz|z{z{{|{{{{{zzz{|{z{|{zz{{{zzzz{{{|{|{|{z|z{zz{{{{{z{||{{zzz{{{{|{{{|||{z|z{{{{{{{{{{{|{zz{zz{{{{{||{{|{z{{{{{{{{{|{{{|zz{zz{z{{{||{{|{{z|{{z{{{{|{{{||{{zz{zz{{|{|{|{|{z{{z{{|||{{{{||{{{{{|{{{||{}}{|{z{{{{z{||{{|||||z{{{||||{{}{|}||{{{{|{|{}}|}||{{{|{z{{{||}||||||z{|{|{||{{{||||{|{{{{{{{{{|{{|{|{{z|{z{{|{{{|||{{{z{z{{{|{{{|{||{zzzz{y||{{{|}|||{|}|{{{|||||}{{{{{{|{{||{z|}{||{|z|z{z|{z{{{{{|z|zz{zz{{{{z{{{{{{{zz{zz||z{{{{{z{z{yzz{z{{{{{{{{zz{z{{{{{{z|{{|zzz{{zyzzz{z{{{z{{{z{{z{{{{z|{z{{zz{{z{{|{y{{{|zzzzzzzzz{{{zz{{zzz{zzzzzzz{zzzz{{z{{{{zy{{{z{{|zy{zzz{zz{|{{{{{zz{z{zzz{z{z{|{zzz{{z{{{z{{{z|{{zz{zz{y{z{{{{{{{|{{{zz{z{{{|{|{|zzz{zzzz{|{{z{|{{{z{zzz{{||{{{{|{{{z{{z{{|{|}|{|{{z{|{|{{|{{|{||z{{{{|{z{|z{|||{|{z{{z{z{|{|{}|{z{{{{{|{||{|||||{{|z{||{{|{{||||{z{|{|z|||||{||{{{{{{|{z|z|{{{||{{{{{{z{|{||{{||{{{z{{zz|{{{||||{z{zz{z{{{{{{||{|{{zz{{{{{{{{}|}|{{{{{{{|{||||}}{{{|z{{{|||{{{|||{zz{z{{{|z|{{||{z{zzzz{z{{|{z|z{{y{z{z{z{|{{{{{{{{z{z{{{z{z{|{{{zz{{{z{{{{{{{|zz{{{zzz{{{{z{{|{{zz{{{zzz|{zz{{{{{zz{zzz{z{{z|{{{{{zyzz{y|{|z||{{z{{{{zzzz|z{{{{zzzzz{zz{|{{z{{{{zz{zzzz{{{{{z|z{z{{zzz{{{{|{|{}{zzy{{z{z{{{z{{|{{{zz|{z{{{z{|||{z{z{z|z{{z{{|{|{{zzz{{zz{}{yz|{{z{{{{z{z|zz{{|{{{z{z{{|{{||{{||{{{z{{{z{{|||||}|{{{{{{z||||{|{{|{z{z{{z{||{|||{{z{z|{|{|||{||||||{{z|{|{||{|{|||{{|{z|{||||{|{|{{z{|z{|{{{|{z||{z{z{{{{{{|{||{{{{{{{{z{{{{{{{|{|{z{zzzzz{{||{{{{{{z{z{z{z{z{}}}}|||||{}||}|{}||{{|{{{{{{||||||}{{{{z{||{{||{}}|{z{{{{{z{{{|{{{{{||{zz{zz|{|{||{{yzz{y{z{{{{{{|z{{{z{z{z{{{z{{zz{z{z{{zzz|{{{{{|{zz{{zyz{{|z{{|{}y{zzzzzzz|{{z{{{z{zyz{z{{|zz{{|{{{zzyzzz{{{{{{{{{{z{z{z{|z{||{{z{|z{{{{zz{{z{{{{{{zzz{{{{{{{{{|zz|zzyz{|{z{{{{{y{z{zz{z{|{|{{{}{z{{yz{z||{{{{{|{{zz{z{z{|{||||{|{z{z{z{|{|{{|{{{{z{|{|z|{{|||{|{{{|{||{{|||{|{|{{{|{{z{||}{}|||{{{{{{|{|||{{||||{z{{{|{{{|||||{{{{{z{{{{|||||{||{{{{{|{|}z||||{||{{{{{{{{|{||{|{|{{|{z|||{{{|{}{{{{z|{{{|{|||||{{|{{{{{{|||{{||{{{zzz{{{{|{||}}|||}||||{|}||||}|{{z{{{{{|||{{{|||z{|zzz|z|z|||{|z{y{zzz|{{|z||||{{{zzzy{|||z|{|{z{z{z{{z{{{{|{{{z{{z{{{{z{{{{{z{zyzyz{{{{{{{|{{yzzzz{z{{{{{zz{{zzzzz{zz{{{{{{{|{{{{yzyz{{zz{||z{{{{zzzzz{{{{|{{{zzzzzzy{{{{{{{{{zz{zzzz{{{{{{zz{{{zz{{zz||z|{{{|{{{{zz{{{{{z{{|{z|zz{z{|{{{{{|{{z{{{{{z{{{}{z{{{{z{{{z{|{|{z{|{{{{z{{{{{|{{|z{|{{zz{{{{{{{|||||{{zz{{{z{||{|||{|{{{{{zy|{|{{{{|{{z{||{{|{{{|||{{|z{{|||{|||{{|||{{{z{|z{|||{|}}|{|{zz|{{||{{}||}z{|{z{{z{|{|{{|{z{{{z{{}|{|{{||{{{z{{{{{{{{{{|{{{z{zzzz{{|{{||{{{{y{z|{z{{{|}||||{|||{{|}||{||||{{{{{z{{|{{|}}{{{|{{z{{|{|{{}{|{yz{zzz{z{{{zz{{{{zzzz{z{{|{{||{{z{zzz{{{|zz{{{|{{{{z{{y{{|{{|{{{z{zzz{z{zz{{{{zzzzz{zz{zz{z{{{{{zzz{zyz{{{|z{{{zz{zyzzyzz{|z{{{{zzz{zy{zz{{z|{z{yzzz{zyzz{z|{{{{z{{z|zzz{{z{z{{{z|z{z{{z{{{{{|{zz{z{z{z{{zz{|z{z|zzyzz{{{{z{{{z{{z{{zz{{{||{{{{{z{{{{{{{{|zz{{{|{{{{{{{{}|{{{|{{z{|{{|{}||{{{||{z|z|{|{{{{{|||||z{{{{{z|{{{{{|{|zz{z{{{|||{|||}zz{{{{|z{{||||{{|z{{zz|zz{||{{||{z{{z{|{||{{}{||{{{{{z{{||{|||||{{{z|{{{{{||||{|{{{zz{z{{{{|||||{{z{zyz{z{{{{{{{zz{z{{z{{{{{{~}}{z{|z{{{|{}|||||}z{{{z{|{|{{||{}{{{{z{zz{{z{{||}{z|{z{z{{{|{|{{{{z{z{z{{}|{{{|{{{z{z{z{z{{{zz|{{zzzzzzzzzz{zz{|{{{zyzz{zy{{{||{{y{{{{yz{z|{{{{|zz{{zyzz{zz{{{||{{z{zzzzzzz{{|{||{{z{zzz{{{{z{{{z{z{zzz{zz{{zz{{{{zzz{zzz{{{{{|{{z{zz{{y{z{|{{{|{|z{zzz{z|{{{{{{|{{{zzzzz{|{{{{{{{z{z{z{{{|{{{|{{|{z{zzz{{|{{{{|{{{{{{z{z|{{|{|{{{{{z{z{z{|{||{}{{|{zzy{{{{||{|||{z{{{z{{|||||||{|z{{{{{|z|{{|{}|{z|{z{z{{{|{|||||{{{z|{{||{|{|||{{z{{{{z|{{||||||zz{|{{{{|{{|{||{{{|{|z{|{z}{{|{z{{{z{zz{{{|{{||{z{{{{{z{z{{{{{{zz{z{z{{{{{{{|}|{|{|{{{z|}|}|||||{zz{zz{|||||||}{{zz{zz{|{{{{{{||z{{zzz{{{{{{{||{{{zz{{z{|{{{{{{{{zzzyzzz{{{{{{{{{z{z|{z{z{{{{{{{zz{{{zz{{||{{{{{{zz{z{{z{z{{z{z{zz{{{zz{|{z|{{{{{{zy{zz{{{zz{{{{{{z{z{zzz{{{{{{{{zz{zzz{|zz{{{{{zzzz{{yz{{|{{|{{{{{{{z{z|z{|{{{|z{zz{z{{{{{{{{{yz{z{{zz{{{z{{|||{z{{z{zz{|z{{{{{{{z|zz{{z|{{{|{|{zz{{{{||{{{{|{|{z{{{{z{||||{||z{{{{{{|{|{}{||||z{{{z{z|||||{||{{{{{{|{{|}|{|||{{{{{{z{||||||||{{z{|{{{z}|||}||{{{{{|{{|{||||{|{{{{|z|z{}{||{}{{{z{|zz{{|{||||||{{{{{{{|{|||}}||zz{z{{{{|{|z{{{{{{|z{z{{|{{||||||z|||{z{|{||{||{|{|zz{z{||{|{||z{{zzz{z{{{{||{{{|{z{zzz|{{{{z{||{zz{|zz{z{||{{{z{{zzzzzz{{{z{{{{zz{zzzz{z{zz{||zz{zz{zz{{{zz|{{{{z{{yzz{{{{{{{{zzzz{{yz{|{{{{{{|zz{z|{z{z{z{{{|{z{zzy{{{z{zz{{|z{|zzzzy{|z{z|{{{z{{{|{zz{{|{{{{{z{|{zz{z{{zz||{|{|zzz{{{{{{{{|{{zz{{zzz|{{{{{{|{{{z{zzz{{||{{{|{{{zzzz{{{{{{{{{{z|{zz{{{z{{{{||{z{{{{zz{{|{}|}{z{{{z{{{{|{|{|}|{{{{{zz|{|{{{||}|{zz{{{{{|{{{{|||{z{{z{{{|||||{||zz|{{{z||{}|||||{{|{{{{|||{{|||{{{{{{z{{|{{{|||{{|{{{|{{|{|{{||{{{{{{{{{{|{{{||||{{{|{z{{|{|{|{{zzzzzzz||{{|}|||||z{|{||{|{{|}}{|{{{|z{{{|{|{|}}{{z{zz{{{{{{||{|{{z{{{{{z{|{z{{zy{zyz{z|{{{{|{{{{{{z{zyz{{{{{{{{{{{zzzz{{{yzz{{z{zz{zz{{{|{z{{{{{{z{z{y{{||{{|{{{{{{{zy{z{{|{||{z{z{{}{{{{|{{|{{{z{{zz{y{z{{z|{z{z{yz|z{z{{{|{z{z{zz{z{{{{{{|{{{x{{{zzz{{{{{{{{{zzz{y{{|z{{{{z{{{{{{z{{||{{{z{{{{{zzz|{z{|{||{{{{{{z{zz{||{{|}{{{z{{{{{|{{{{}|{{{{{||{{|||{||||{{{{{{||{{{|{|||||{z{{zz|||{|}{|{{{{|{{||||{|||{|z|{{{{{{{{{|{}{|zz{{{{{||||||||||{|{{{{{||{||{|{z||{{z|{|{{|{|{{{z{{|{z|{{|||||{||{zzz{{{{||}|{|{{{zz{{{}{|{||{|z{{zzzz|z{{||||{}||{|{{{||{{{|||{||{|{|{||{||||{{|{{{{{{{|{{|{|{{{{z{{z{{||||||{{{{zz{z{{|{z|{|}zzz{z|z{|{{{{|{{z{{z{{{{{{{{|{|{{{{zzy{{{|z{{{{{|zzzz{z{|{{{{{{{{zz{zz{|{|{{{{{{z{{z{{{{||{|{|}{z{z|{{y{{z{|||z{z{z{z{zz{{{||{{{z{z{{zz{{||{{{{{{{{{zzz||{|{{{{z{{z{z{|z{{|{|{|{{{{z{{}|{|{|{{|||{{{z|{z|||{|||{{|{{{{{|{{{{{}|{{z|zz{{{{{{{{||{|{{|z|{|{|{|{|}{{{{{{{|}||}|||}||{{{{{{{|{||{|}|{{{{zz{{||{|||{|{|{{{{|{}{z|{}{|{{zz{|z{}||}|~{|{|{z{{||||{|||||{{{|{{{|{{||||{||z{|{{|||||||||{||zz{z{{{{|||}{||{{{{z{||{{{|||{{{z{{{{|z{{|}|||{|{{z|{{||}|{||{{z|z{{|||||{}||z{{zz{zz{{{{|{|||z{{z{z{{{|z{z{{{{zzzzzz{{z{{|{{{zzz{z{zy|{{{{|{z{{z{{{zz{{z{|{zz{zzz{zz{z{|z|z{zz{zzyz{{{{{zz|{{z{z{|zz{{{{{|{zzz{{y{{y{{{{{{{{zzz{z{zz{{z{z{|{|zz{{z{zz|z{{{{{zz{zzzzz{|{{{z{|{zzz{{z{z{|{{zz{z{z{zz{{|{{{z|||z{{zzzz{z|{{{{|{zz{zzzzy{z||{{{{{||{{zz{{{{{zz}|{{{{{zz{|||{{|||z{{{z{{{|{|{{{{|{{|{{{||||{|{|{||{|{{{z|{{|||||{|z{{{{{{|{|{{}|{{|{{{|{{||{|||}|{{z{|{{z|||{}{}{{z|{{{{{}|}|{|||{z{z|{{{|{{|}{|}|{z{{{{{{{{}|{||{z{z{z{z|{{{{{||{{z|zzzz{{{{{||{{{{{{{z{{|{|{}{}{{{{{||{{|||}{|||{||zz|{|{{{{{{}{{{z|{z{{{|{||{{{y{{z{zz{z{|{{{|{{zzz{z{{||{{||{{{{z{{{z{{z{{{{{{{zz|zzz{{}z{||{{z{zzzzy{{|{{{{{yzz{{zzz{{{{{|{{zzy{z{zz{|{{z{{|zz{{zzz{z{{{{{{{{{zzzzyzzzz{{{{{{{zz{zz{{zz{{{{{zzz{{{{z{z{{{{|{{z{z{z{zyz{{{|{{{{{{{z{z{{z{{|{|zz{{z{z{{{{{{z|{{z|z{{zz{{{z|{|{{{{{{zz{{|}{{||{|zz{{z{z{{{{{||{{{z{{|{||{||||||{{{{||{z{z{}{|{|{{{|{{{{{{|z{{}{{{{|{z{{||||||}|{z{{{{{|{{{{||{||{{{{|{z|}||||{|{z{{{{{{{{|{|{||{||{||{{{{{|{{||{|{{|z{{{{{||}||{{{zz{zz{||{{{{{{|{z{{z{z|||{{||{{zzz{{{{|{{|{||{{{|{{{{||}||{}||z{zz{|z{{|{}{|||{yz{{{z||{{{{{{{|z{{zz{{{z{{{{{{{{{{z{z{z|z{{{{{zzz{{zz{{{z{{{{{z{z{{{y{|{{{{{{zz{z{zz|{z{z{{||{zzzz{{zz{z{z{{zz{zzzzzz{z{|{{{zzz{zyzzzzz{{{{|{{zzzzz{zz{z{z{{{{zzzyzzzz{{{||{{zz{zz{yz{z{{|||{{zz{{{zzz{zz|{{{{zzzzz{z{{{|{{{|{zz{{zzz{{{{|{||z{{zz{{z{|||{|{|{{z{{{{z|{|{{{||zz|z{{{z{||{{|{{{zzz{{{{{{|{{|{|{|{z{{{{|z||{||||{{{{{{{||{{{|{{|z{z{z|z{{|{{|}{|{{{z||z|||{|||}|{|z{|{|{}{|||||{z|||z|{{{z|{||}{z{{|{{{|{|{|||{{{{{|{{|z{||{{|{z{{{{{{{{||z||||{{{{{z{{z{{{{||{z{{{{zzz{|{{|{||{|{{{||{|{||{|}|{z{{{{{z{{{{{{||zzyzzzzz|z{{z{}{|z{{{yzz{{|{{{||{zzzzzzz|{{{{{{{{{{zz{zy{z{z{||zz{z{z{zzzz|z{{|||{zzzzz{z{zzz{zzzyzz{z{{z{{{{z|{{zzyz{zzz{{|z{{{z{yzzzzyz{{|{{{{zyzzzzz{zzzzz|{z{{z{{yzz{{z|{{{zzzz{zzzzz{{{z{|||zzy{{{zz{|z{{{{zz{{zz{z{{{{|{||{z{{{z{z{|||{{||{{{z{{z{|{|{|||z{z{{zz{z{{{{z{|{zz{zz{{{|{{{{||{{{{{{{zzz{{|{||{z{|{z{{z||{|||}|{z{{{{{z{{{|{{{||y{{{{{{||{z{||z{{{z{z{{{||{{||{}z{zz{{zz}}{|}|{|{{{{{z{||||{|||{zz|{{{{{|zz||{||{{z{z{{|{||{||{{|zz{zz{{{|{{{||{zz{{{{{{{|{{||{{z{zz{{{z{|{{{}|{{|{{z|z{|{|{|||{{{{{zzz{||{||{{{{{|{{{z|{{{||||{{z{{z{{{{{|{{{|{{zz{yzy{||{{|{|zz{zz{{{{zz{z{{{{{{z{{z{{{{{{{z{{z{{{zz|z{{|z{{|zzzz{{{z{z{|{{z{{{z{{z{{z{z{{{{{{{{{{zzzz{{|{{{{z{zz{z{z{{{{{{zz|zzzzz{y{{|{{||z{{{{{{zyz|{{{||{|z{zz{zz{{|{{{{|z{z|{z{z{{z{{|{|zz{{zz{{z{|{{|{|{|{{zz{zzz{||||{z{{zz{z{{|{{|{{{z{{{{{{{{}|{{{{|{z{{|{{z{{|||}||z{{{{z{{{|{|}|||{{{||{zz{|{|{||{|{{z{{|{{|||{||}z|{|}{|{{|{{||||{|{zz|{{{{||{||||z|z|{z{{{|}|{|{{{{z{{{{{{|}}||}{{z{|{z|{{{||}||z{{zz{z|z|{{{{|{{zz{z{{zz{|{{||{|||{{{zy{{z{||||{|{|{z{z||||||||{z|zzzz{z{|{||{}|{zzzz{|{{{{{{||zz{z{{{{{{{|{{||||{{zzzz{{z{z{{|zzzz{{zzz}||{{{{{{{z{zy{{||{{|{{{zzz{z{z{{{{{|{|{z{{{zzz{{{z{{{{zzzz{{z{zz{{|z{{zyz{zzzz{|{{z{{{|zzz{z{z|{{{{{{{zzzzzz{y{{{zz|||z{{{{{zz{|{||{|{{zz{zz{z{{{z|{|{{z{{{z{{{z|{{{{z{zz{{zzzz{|||{{|z{{{|{{|{|{{{|{{{{{{z{z{{|{|{|{|z{{|zz{z{}|{{{{|{{z{zz{{{|{}|{||{{|{{{{{}{{{{{|{{{|||zzz{||{{{|||z{z|{zz||||||||{{{z{{{{||{{{||||z{{z{{{||{{{||||{|{{z{{{||{{||||{|{|{||{{{||||||{zz|{{{|{|{||{{{{z{{{{z{|z||{|{||{{z{zz{}{{||||{{|z{zz{{{|{|||}{}{{{{|{{|{{}{|||{{|{{z{{{||||}|{{{{{zzz{{{{|||{|{{{{zz|{{{{{{{|{zzzz{{{{{{{{|{|{z{{zzzz{{|z{|{{{zz{{{z|{{{{{{{{{zyz{{{{{{|{{{z|zz{zz{{{{zz{{||{{zzz{zz{z{|{||{|{{z{{zzzz{{{{{|{{|zz{z{{{{zz{{{{z{zzzzzz{|{{{{{|z{|z{{zz{{|{z{|{|{{{zz{z{z|{z{|{|{{z{z{{{{||{{{zz{|zz{y{{|{|{}{|z{{z{z{{|{||{|{{}z{{{{z{|{{{{{||{{{{{{z{||||{||{{{{{{{{|{{{|||{|{|{z|z|z{{||{{}{{|z|{z{{{|}|||||{{{{{z|z||||{{}||{|z{||{||{{||}}|{z{|z{{{||||||||{{{{{{{{|{||{||{z{|{||{{||{|||}|z{{{{{|{||}||||{{{{zz{z{|{||{{{|{z{{{{{|{{}||{|{{{{{z{{|{{{|{{}{{{z{|{{|{|{|{||{|{{zz{{|z}|||||{{|zz{{{|{|{{{{{|{z{{zzz{|{|{z|||z{{z{{{{{{{{|{|{{zz{{z{|{z{z{|||{|{z{z{{{||{{z{zzz{zzz{|z{{{{{{{zz{{z{|{|z{z|{{{z{{z{{{{{{{|{{{{z{yzzzy|{{{z{{}{z}zz{{{z|{z{{|{{{{zz{{{|{{{{|{{zz{{z{{{{|{{z|||z{{{|z{{{|{{{{{||{zzzzz{|{z{{|||{|{zz{{z{{|||{{{|zzz{z{{{{|{|||{{|{{zz{{{|{{{{}||{y{z|{{{{}|||{||{{{z{z{{{||}|||{{{{{z|{||{|{|}||{{{|{{{|}||||}||{{{{|{|{}|}||||||{{{z|z|{|||||||{||{|z{|}}{{||~|{{{z{{{||||||{{|{{{z{{{|{{}|||}|{{|{{{z|{||}|||{}{{{{{{{{|{{|}|{|{{{{{z{|{}{{}{{{zzzz{{z{{{||}{||{|{{{{{|}{||{|{zz{{{{{|{{{|z||{{|z{|{z{{|{{{{{{{z{|z{{z{{z{|{|{z|zzz{z|zz{{{z{z{|{{zzz{{{{z|{{{{{z{{zzz{{{z{|z{z{zz{zzz{z|{{z|{zzz{yz{{||z{{{{zz{{zz{z{{|{{{{{{y{zz{{{{{{{z|{{z{{zzz{z{{{{{{{{|{{y{{{zz{{z{}{{zz{zz{z{z{{{|{{{{{zz{z{{z|{{|{{{|{{{zz|{{{{|{{|{{zz{{{{{{|{{{{}||{|{zz{{{{|{||||{|{{{{{{z{|{{||||zz{|zz{{||||{|{{{{z{{z{{{{||{||{{{{||{{{|}}{|||z{{{|z{{{|{|||{|}{z{{{{{{|||{|||{{{{{|{|{{|||{}}||{{{|{|||{|{{}{|{z{zz{|||||||}{|{zz{{|||||||{||||{{{{z{||{|}{|}|{{{{{z{|{|{{|}|{{{z{{{z{||||{||{z{{{{{z{{{z{}|{|{z{|z{{{|||{||}{{{{{{|{z}z|||{|{z{z{{{z}{|{{||{{{|z|{{zz{{|{{{||{{z{{{z|{{{{{|{|{{z{z{{{{|{{|{z{y{z{{z{}{{{z||{z{|zy{{{{{{{{{{|{{zz{zzy{{{{{{||z{zzzzzzzz|{{{z{|z{{z{zy{|{|{{|{{{{|{yzzz|{{z{|{z{zzzzz{z{{{{{z{{{{{{{zzz|||{{{{z{z{{yz{z{{{{|{{zz{{{{{z{{|{{||{{{{z{z{{{{{|{{||zz{|{{{{{{{||{||{{{z{z{{{||{{|||{z{{{{{{{||{{|{|{{zz{{z{|{||{{||{{{{|{{{{|{|||||{{{|{{{{{|{|{|}||z|{{z{{|||{|{||{{{{z|{|z{{||||{{{{{|{|{||{|||{|||{{{{|{||||{|}{{{z{{zz{{||{|{|||{{{{{{|{|{{||}|{{zz{{{z{{{||}|{z|{z{zzyz|{{{{{{|{{{zz{{{{}{{||{{|zz{{{{{|}|{{|{{{zzz{{{z|{{|z{||{zz{z{z|z{z}{{{|zz{{zz{{{||zz|{{{{z{{z{{{{||{{|{zyy{z{z|{|{z{{z{zzz{{z{{{{|{{{{{{{z{{zz{z{{zzz{{{zyzyzzy|z{{{{{{z{{zz{{{{|z|z{{z{{{z{zyz{z|{{{zzzz{{{{zzzz{z{{{z{zzzyz{z{zz{{{{z{z{z{{z{{{z{{{{{yzz{{{{z{{{z|{{{z{zzz{zz||z{|{|z{{z{yz{{{{{{{|{{z{z{z{z{|{{{|{|{z|zz{z{|z||{{{{{{z{{{zz{|{{{{|{{{{{{z{z|{}|{}zz{z||{z{|{|{||{}|{{{{z{{z{{{|z{{|zz|{{{{z|||{|||{}{{{{{|{||||||||{z{{z{{{||{||}||{{||zz{{}{{|{{{|{{{{{{{||{{|{{{||z{z{{|{|z|{{|{|z{{{{{z{{|}{{||{|{|{{{{z|{||z{|}{{{zzz{{{{{{{{{{{{{{zzzz|{|{{{{|{z{{{z{z{z|{|{{}|{|{{||z{z{{|}|{{z{zz{z{|{z{{|{{{z{zz{zz{{{{||{{|yzzzz{z{{|{{{|z{zzzzyzz{{{{|z{{zyzzy{z{{{{{{{{{{zzzz{zzz{z{{{{z{zz{y{y{{{{{|{z{zzz{zzzz{{zz{{|{{z{zy{{zy|{zz{{{z{{yz{z{z{{{{|{{zz{z{{{z{{{{z{{{{{zzzzzz{{{{z{}{|{{{{z{{|{|{{z{{{{{zz{z{{||{{{{{{{{{{{{zz|{|{|{|{z{z{|{z|z{z{{||z{zzzy{z{||{{{{{{z{{{z{{{|{||{||{{z{{{{{{|z{{|||{z|{|{{z||}{|{|{{{zzzz{z{{|{z||}{{{{{z|{||{{}||{{y{z{|{{|}||||{||{{{{||{|{{|{|{|{zz{|z{z|{||{{||z{zz|z{{zz|||}{|{|{zz{|{{{{{z{||{{{{zz{{{|{{z{||{{{{{zzzyz{{{{{}|{z{{{{zz|{{{{||z{{zz{{yy{z{{|{|z{{z{{{zz{{{{{|{{zzzzzzy{{{|{{{{{z{zzzzz{{{{z{|z|zzz{zzzy{{{z{{{{{zzzzyzzz{{z{{{z{zzy{zz{{z{zz{{zzzyzzyz{{{{{{|zzzz{zzyzz{{z{zz{zyz{z{zzz{{z{z|{{zzzzz{{y{zy||z{zz{yz{{zz{{{z{{{{zzzz{{zz{{{{{{z{y{z{zy{z{z{{{{|{z{zzzzz{{{{|{|{{{z{zz{z|{|{{{||{z{zzz{zz{{|{|{{{{{zz{{z||{{{{{|{{z{{{z{z{{{{|{{||{zzzz{z{||||}}{zz{{{{{{|{|{{{|{zz{zz{y{{{{{||{z{z{{{{{{||{|{{|{{{z{{{{||z{|||||{|{z{z{{|{|||{|{{{{zzyz{{{|{{{{|{{{{zz{|{{{||}}|{{{{z{{{|{{{{{|z{zz{z{zz{||{||{||z{z{zz{{|{z{||{{|{|yy{{{|z|{{|z{{{|{{{||{z{{{|||{{z{zz|{{|||{||zzz{|zz{{|{{|{|{|z{{{z{|{||zz|{|{{yz{{zz{{{{{{{zzzzz{{zz{z{z||z|{z{{yz{z{|{{{z{zzzzz{{zz{{{{z{|zzzzzyz{{{{zz|{{{{{zzzz{{{{{{{{|z{z{z{zzz{|zzz{|zzzzzz{z{{|zz{{{|{zz{{y{zzz{||{{{z{z{z{{|{{{zz{{z{zz{{{{z{{{z|{{{z{{zzy||z|{|{|{{zz{{|z{z{{{|{||{{{{zz{|{|||z|{{{z{zzzzz{{|{{|{{{{{{{{{{{{{|z{{{{{{{{{z{{|||{{||z{{{{{{{|{{|{|{{{z{{zzzz||||}{|||{|{z{z{}||{||}|{{|{{z{z{{|{{{||{{{{{{||{||{{{|||{{{{{}{{||z{|{||z{{|z{{z{{{{|{||{{|{{{{||{|||{{{{{{zz{{{|{{||}{{|zz{{z{{}{{|{{{{|{z{{{z{|{{{{||z{{z|{zz{{||{|{|{{{{zzz{||z{|{|}|{zz{{|{{{{|{{|{||zz|{zz{{|{z{{|{{{zzy{z{z{{{}{{{z|zzz{yz{||z{|{{zz{z{{z{{|z{z{{|z{zz{{{{z{{|{{{zzzzzzzz{{|{|{|{{zzzz{zzzz|{{|{{{zz{{z{y{{{|{y{z{{{z{zzz{{||{{z{{{{zzzzzz{{{{|{{z{z{zzzyz{z{{{{{{z{zyzzz{|{{|{{{{{{|zzz{|{z{z|{{z{{{{{z{{{z|{{{{{z{zz{{zzz{{{{|{{{|zzz{{{||||{|{{{zz{{{{{||{z|{{{z|{z{{zz|{{{{||{|{z{{{z||{|||{||{{z{{{{|||{|||{|{{{{{z{||{{|||{{{z{{{{{||||||{{||{{{{{{||}|{}|||{|{{{zz|||{{}{{|z{{{{{{{||{{{|||{{{{z{{{||||{|{{z{{{{{|{|{|{{}||{{zz{{z|||{{||}z{{{{z{y{{|{z}|}{|{z{z{{{||{{{||||{{z|{{|{{|{{|{{{|z{{{z{{zz|{|{{{{{zzz{{z{{|||{{zz{{z{{{|{{{{||{{zz{z{z{{|{{{|{{{{z{zz{z{|z{{{|{{zzz{z{z{{|||{|zyzzzzzz{{{{{{|{{{z{zzyz{z|{{||z{{{{{zzz{{|{{{{{{zzzzzzzzz{{{|{}z{|{{y{z{{{{{z{z{z|{zzzz{{{{{|{{{z{{z{z{{|{{||{|zy{{zz{{{{|{|{{}{zzyzz{{{{{{{|||z{{{zy{z{z{||{|{zz{z{zzz|{{{||||{z{{{{{z||{z{|||{{zz{{{{{|||{||{z{zz{z{{|{||{|{{|z{||{{{||{{}{|{}z|||{|z{{{|{}||{||{{||||}{|{||||{{{|}|{{||{||{||{{{{{{{||{|{||||{{{{{{{|z{{|||}|{z{{|{{||||||}||{zzz{z{{{{{|{|{{{{{z{z{{|{{{{{|{{{z|z{{z{|{|z{|{{{{{{zz{{||{|{|{{{{{z{{{{{{{{||{{{{{zzz{{|{{|||{z{{{zzy{{{{{{{||{{zy{{{{zz{{{z}{z|{zzz{{{{{{{||{z{{z{zz{|{z{{{{{z{z{{z{{{{y{{{|z{yzzzz{z|{{{{{{|z{{y{zz{z{z||{{{{{zyzzz{{{{zz||{{zy{z{zy{|z{{z{zz{z{{{z{{{{{|{|zzz{zyzz{||{z{{{{z{z{z{z{{{{{{|{{{{zzz{{{{||{{{|{{{z{z{zz{|{|{|{||{z{zzz{|{{{|{|{z{{|zz{||{{|}{{{{z{z{z{{|{{z|{|{{{zzzz{{|||||||{z{z|z{{{{{|||||z{{{z{zz{||{|{|{|{z|{{|{|||{}||||{|{{{|||||{{{|{|{{|{|{z||||||||{zz{{{{|{|||||{|{z{{z{{{{||{|||||{{|{{{||||{{||{|{zz{{{{z|{{|||{{{{{{{{{{||{{||{{{{{|z{z{{|{{{|||{z{{{z{z{{{{|{|{{z|z{|z{|{|{||}{{zz{{{{{|{{||||{{{{{z{y{{||z|||z{{{z{|y|{{{{|{|z{{zz{y{{z{{{{|{zz{z{z{{{{{{{|{z|zz{z{{{{{{|z{|{{{{zzy{z|{{{z{{||zz{zzyz{{{{{|||{{zzzzz{{|{||{|||z{zzz{z{{{z|{{{z{zz{z{{{{zz{||{zz{{{{zzzz{|z|{{{z{yzzz{{{{|{|{{z{|{zz{{|{||{{z{z{{{z|{{{|||{||{|{{{{z{zz||||{{|{{{zz{{{{||{{{|{{z{{{zz{{{|{{||{|{|z{{|{{|||}|||z{{{{z{{{|{|{{}|z{{{|{{z||||||||{{{{{{|z{||{||||{{|{z||{||{|{|{|{{{{{{zz||}||}||{{{|{{{{|{|{|||||{z{{z{|{{||{|{|{|z|{{{{|{|||{z}||z{|{z|{{|||||||{{zzz{{{{|{|{||z{{zz{{z|{{{{|{|{{{{{{{{{|||{{|}||{{{zz|{{|||||{{z{y{z||||||{||||{z{{{{{|{{|{{||{{zz{zyz{{|{{|{|{|{{zz{{{{|{z{{|zz{zz{{{{{{z{{{{z{z{{{z{{{{{z|z{{zzz{zzz{{z{{|{{{z{z{{z{{{{z{{{||z{zzzz{{z{}{{|{{{z{zz{zz{|zz{{||z{z{zz{{|{||{{{{z{{z|zz{{|{{{{|z{{{z{{{{||{{|||{{z{{y{z{{|{|{|{{{{z{{{{{{{|}||{{zz{{z{|z|{{|||||z{{zz{z{{{{{{||{{{|{{|{{|{{{|{|z{z{{{{|{{{{{{}|z|{|{{{{|{||{}{|{{|{zzzz{{{|{||||z{{|z|{}|z{|}||{{z{{}{zz}|{{{}|}{{{{{|||}||{||}|{||{{{|{{||||||{z{||zz||{{|{{{||{z{}{{z|||}|||}}{|{z{{{z|{{{|}||{{{{{{zz|{||{|||zzz|{{{{{|{||{{{{{{{|z{{{|||{{||{{zzzz{|{{{{{{|{{{z{z{{{|z{{{|{{{{{z{zz{{{{{|||{|{zzzyz{{{|{{{||z{zzz{{z{{{z{{{{zyzzzzz{{{|z{z{z{{zzzz{{{{|{|{{zzzzzzz{{{z{{{{{zz|{z{y{{{||z{|{z{zzzzzyz|||z{{|z{zz{yzz{z{{{z{{{{{zzzzzz{{{{||zzy{{z{zz{{zz||{|{zzzzzz{{{z{z{|zz{{{zz{zz||z{|{{zz{{z{zz{{{{{|{||{{z{z{z{|{{||{|{{zzz{{z{|{{{{{{{zz{{z{z{{{{{{|{{{zy{{z{{||||{||z{{zz{{|||{{||}|{|{|{{{{{{}||||||z{|zz{{||{{|{}|{|{{z{|{||{{{||}|{{{{{{{||{{|||||{z|zz|{zz{|||}{{{{{|{|{{{{{}|||}{{|{z{{{|{|}|}{z{{z{{{{||||{||{{|{{{{|z{}||{|{|{|{z{zzz{{|{{|{{{zzz{zzy{||{zz{{{{z{zzzz{{{{{{z|zz{{zz{{z|{{{|||zz{{{zzz{z|{{{|||{zzzyzz{z{{{{{{zz{zz{{zz{z{z||{{z{z{zyz|{{{{{{{zzz{zzzz{{{|z{{z{{z{{zzzzz|{z{{{zz{z{{{zz{{{{{{{{zzzzzzzz{{{z{{{|zz{{z{z{z{z{|{{{{{zzy{{zzz|{{{|zzy{zzzz{{{{z{{{zz{zzyz{{zz{z{{zzz{zzzz{z{{{||{|y{zzzzz{{{|{{||z{z{{zz{z{{{{{{|{|zzzz{zz|{|z{{{{{{{zzz{z{{{{{|{{{{{{z{{{|{||{||{z{zz|{zz{{||||}|{{z{{{zz{|}{{||{|{{{{{{{|||{{||}|{{zz{{{{|{|{{|||zz{||}{{|{{|||||{|{{{|{|{|{|||{{{{{{z{{{|{{{}{{|{zz{{{{}||||{||{|{{{{{{{{{|{||}z{{zz{z{{|{|{{|{{{|z{{{z|{}{{{{{{{{{{{{zz|||{|||{{zz{{{z||z{{{||{z{zz{zz|{{{{{{|{zz{{{{{{{||{z|{{zzzy{zz{z{{{|{||{zzzz{z{{{{{{|{{{{{{zz{zzzz{|{{{zz{{{{{z{z{{{z{z{zzz{z{{z{{z{||zy{zz{zz{{|{{{{|z{{{{{yz{z{{{{{|{zzzz{z|zyzz{{{|zz{zzzz{z{{zz{|{zzz{|{{|{{{z{{z{{z{z{zzz{|{{z{|{zz{zzzz{{|{{{{{{{z{{z{{z{{{{{{{{{z{zzzzz{|{{{|{|z{{{{{zz|{{{{{{{{{{z{{{{{||{{{|{|{{{z{z{z{{|||{|{{{{z{|z||||{|||{z{{{{{{{{{{{|{{{{y{{{{{{|{}{||||{{|{{{{{{{||||{{z|{{|{z{}{{|{|{{{{{z{{z{|{|{{|}{z{y{{{|{{z|||{||{{||{z||{{z{{|{{z|z{{{{z||{{|||{{{z{{{{|{|{|{||{zz{zzzz{{|{{{{{{zy{{|{{{|z{{{{{{zyzzzzz||{{{{|{|z{{{{{z{{|{{{||{yz|zzzz{z{zz{|||{{zz{zz}{{|{|{{zz{y{{{z{{{z{{z{|{zz{z{zz{{{{|{{zz{zy{zzz{{{zz{{z{yzyzzz{{{{|{||z{zzzzyyzz{z{{{{{z{zyzz{z{{{{{{{{{zzzzz{z{{{|{{{{z{{{z|{z{|{{{{{zzzzzz{z{z{{z|{{{{zz||{y{{z{z{{{zzyzzzzz{{z{{{||{yz{{z{{{z{|{||{{{{{{zz{z|{{{{{|{{{{z{{z{{{{{|||||zz{z{z||{{y|{|{{{z{|{{|||{||||z{{z{{{{|{{|{|||{{{|{{{{|{{|{{||{{{{{{{{|||{||{{zzz{{|{{{||{||}{|z|{zz{}{|{{|{|||{{{{{{{|{||||||{{{{{{z|{|{||{{|{{{{|{{|{{{{{{||{{{{{{{{{||{{|}|{{zz{{{{{|{{{{|{{{z{zz{z{zz{{{{{{z{{{{zz{{|{{{{{{{{{{{z{|{{|{{|{{z{yzz{{{|{|{{z{{{{zzyyzz{|zz{||z{zzzzzz|{{{z{|{zz{zzz{{{{{|z{{{z{zzy{zz{{|{z|{{z{zzyz{z{z{{z{{{zz{zzz{z{{z|{z|zzzzzzzyz{z{{{{{|zzzzz{z{{z{|{{{{zzzzzyyzy{|{{z{{{{yzzyzzy{{zz{||zyz{{zzz{{{{{{{{{{zzzzz{{z{z{{{{z{z{zzzz{{{{z{{|zzzzyzzz{{z{{|{{{{z{{z{z{|{{{|{|{{z{zzzz|{z{{z{{zz{{{z|{||{{{{{zzz{z{z{{{{||||||{{{zz{{{{{{|{|||{{{{{{zz{||{{||{{{{|zz{{||{{{||{{{{z{{{{{|{|||{}|{|{{z{{||||{{|{|{{{z{{{z|||{{{{{z{{z{z{{|{|{|||{{zz{{{|{{{{||||{{{z{|{{{|{{{{{|{|{|{{{{|{||{{|||{{{{yzz{{{{z}{|{z{zz{{zz|{||{{|z{{z{zzz|{|{{||}{{{zz{z{{{{{{{{|{{{z{z{y||{{{{|{{{y{z{zy{{|{{{{|{zzz{zzz{z{{z{|z|z{{zzzz{{{z{z{zzzz{zzzy{z{{z{|{{{z{zzzy{{{{{{|{{zzzzyy{z{{{z{{{zz{yz{{zz{{{{{{{{z{{{z{{z{{{z{{{zyzz{zzy{zz{|{z|z{zy{z{z{{y{z{|{{{z{zzz{{{{zz{{|zy|{zz{{{z{{{||{{z{{z{y{z{|{z|{{zz{z|{{y{{||{|{{{{{z{z{{|{{||{z{{{{{z{{z{|{{{{|{{z{z{{{{{{{||}{{{{{{|{{{{|{|{||}z|{z{{zz|}|||{|{{z{|{{{z||||{{}|{{{z{{{{|{{{{||||z|{{|{{{}}|{||||{{{zz{|}|}|||||{{{z{{{||z|{|}|||z{{{{y{||||{||{{{{z{{z{|{{{{{}|{{{zz{{zz{{{||{{{{{{zzz{{||{|{{{|{{z{{{{zz|{||{{{{{{zzzz{{{||}{|{zzz{{zz|{z{{{|{|z|{zzz{z|{|{{{{{{{y{z{z|{{|{{{|{z{{zz{z|z{{z|z{{{{zz{{z{z{zz{z{{{zyz{{{{{z|{{{{z{z{zz{zz{{{{{|{{yzzz{{{{{{{{{|{{z{{zzz{|{{{{|{|{z{zzz{z{zzzz{{{{{{y{zzzz{{z{{{{{z{{{{z{{{{{{|z|z{{zzz{{{{{z{{|{{zzzz{z{{z{{{||{{{{zzzzz|{{{{|{{{{{{{{z{{{{|{|{|{{z{zzzz{{{|{{|{|{z{{zz{{|||{|||z{{z{z{{{}||||||z|{{z{{|{{{{{||}|{{{|{{{{}{|{{|{{z|{{|{{|||z||{}|{{{{|{|{||||||||{{{z|{{{|||||{||{|{|z{z|{}{|||||{{{||{{{{{||||||{{{|{z{|||}{|{|{{{{zzz{||{{{{||{{{{zz{{{{|{{}{|{{z{{{{z{{||{{{{|{{{||zz{{{{{{{{{z{|zz{{{|||{|||{{zzzzzz|{{{{{|{{{{zz{y{{{{z{{||{{z{zzzz|{{{{{{|{{{z{{zzzz{{{{{|z{{zz{{{{{||{|{{zzzz{{zz{{z{{{{{|{{zzz{zz{|{|{||{z{z{{zz{{{{|z{|{{|{z{z|{|{|z{{|{{{zzzzy{z{{|{z{{zzy{z{z{z{{{{{|zz|{{z{{{{{{{{|{{{{z|z|z|{{{z|{|z{{{{z|{{|{{{{{{{{{z{zz{{{||{|{{{z{|zy{z|{|{|{{{{{{{{z{{{|{|{||{{{{{{{{{||{{z|z||{|z{z{{{||{|{{|zz{z{{|{{{{{|}{}{{|{{z{{{||{{{|{}{{|z{{||||||}|{||z{{{z{|||{||}|}|{{{|{{{|{||{|||{|||{{z|}|||}||{|{z{{{||{||{{|||{{{|{{||{{{|{|}|{|{{|{{|{||{|{{{{z{|{zz{{{|{{||{{{z{{zz{{{|{}{{{{zzz{zzz{z{{|||z{zzzzz{{{||{z{||z{yz{|{{zz{{|{|{zz{{zz{z{{|{||{{{zzzzzz{{{{||{|zz{z{{z{z{{{z{{|{z{z{zzz{{|{{{{{z{zyz{yz{{z{{|z|z{{yz{yzzz{{{{{{z{z{zzzz{||{{{|{zz{zyz{{{z{|{{|zzz{zzz{zzzz{{{{z|{{{{zz{z{{{zz{{z{{zz{zz{{{zz{{|zz{z{z{{z{{{{{|{yzzzz{{z{{{{{z{z{z{z{{{zz{{{{{{|{z{zz{{z|{|{||{{{{zz{{zz{{|{{{||{z{zzz{{{{|{z||{{{{{{||{{{|z||}{{{{{|{|{{||||{||{{{{{{{z{|{||||{{{{z{z{{|{|{||{|{z}{{{|||{|{}}{|||z{{}{|{|{|}}||{{{{{{z{|||}{||||{{{{|{z{|z{|{}||{z{z{{{|{||{|||{{{z{{z{|{|{{|||{z|{{{{{{{|||||{{z{{{yzzz|}{{{{|{{{z{{zz|}{{{{{{||{{{{{z{{{{{|{|{{{z{zzz|{{{{|{{z|{{{{z{{{|{{{||{{zyzzz{{{{|{{{|{{{{zzzz{z{{{{{|{zzz{zz{{zz{z|{{{zzzzzzz{|{{z{{{zzzzzzzz{{{{z{{{{{{zz{zz{{{{||{{|z{{y{zzz{{{{|{z{y{{{yzy{zz{{z{{{z{z{z{zz{{{zz|{zyz{{zzzzzz{{{z{z{zz{{{{{{zz{{z|{zy{{{y{{z{{{z{{{{{{zz{{z{|{z|{{{zzz{y{zz}z{{{{{{{{z|zz{|||{{{|{{zy{zz{{{|{z{{{|{{{z{z{{{||{||}z{{|{|{{z||{||{|{|{{|{z{z||{|{|{{{z|{{{|{||{{||||{{{{{{{{{}{{||}}|{|{{|{{{}||{||||{{{||{{{{{|}||{{{{{{{|{{|{{|{}|{{{z{z{{{|{|{|{|{{{{{{{{{|{||{||{{{{{z{{||{{|{|{{z|z{zz{z{|{{{|{z{{z|z{y{z{zzz{|{{zzzz{z{{|{{|{|{z{zzzzz{zz{|||{|{{z{zzz{{z|{{{z{z{zzzzy{z{||{||{zzz{zzz{{z{{z{{z{zzzzzz{{{{{{zzz{zyyzzy{z{{{zz|zyzzyzzz{zz{zz{z{z{zzzxz{{{{zz|z{{{zzzzyz{{{{{||{yzz{z{zzzzyz{zzzz{zzzzzz{z{z{{{zz|{{{{z{{zz{{{{{zzzyyzz{{{{z|{{{zzyzy{zz{{{{{z|{z{zzzz{{{{{{{{{{z{z{zzz{{||{|{z{{{{zz{z{{{|{z|{z|z{{z{{{{|{{||||{zz|{{z{{|{||||{z{z{|{{{{|{|}{{{{{{z|{z{{|{|{{|{{{z{z{{{|{z{|||{{{{{|{||{{|}{|z||z{{{{z{|{|{||{|z{{{z{z{{{|{|{{{z|zz{{{{{{{{|||{{{{|{{z{{{{|{|}{z{y{{zz{{{|{{|{|zz{{{{z{}z{{{|z{z{{zzz{{|{{{|{|z{{z{{z{{{||z{||{zzz{zzz{{{|{|||zz{yzz{{z{zzz|{|zzzz{zz{{{z{{{{{{{z{zz{z{|{{{|{|{{{zzz{z{|{z{{|{{{zz{zyz{{|{||{|{{zz{zz{zz{|{|{{z{{{yzzzz|{{{{|{{z{zz{zyz{|z{|{{{{{z{z{z{{{|{z|{{zzy{{zyz{{z|{{{|{z{zz{zz{{{yz{{zzz{{{zz{{{{z{{|{{z{yzzzzz|{z|||{z{zzz{{{{z{||{{zz{{z{zz{{||{||{{{{z{{z{{{{{|{{{{z{zz{{{{|{{{||{{z{|{{z{{|{{{}|{|{{{{{{{{{|{|||{zz{{{z|{{|{{{{{|{{z{{{{z{|||||||{z||{{{||z||||||{{{z{{||{|||||||{{{|z|{||}|||{||{z|{{{|{|{||||{{{zz{z{zz|{{|||{|{|{{{{{{|{{|{{||{{{zz{{||{{|{{||{{z{{{{{{{{|{|{|{z{z{z{{|{{{{{{|zz{zyz{z{{{|{z{{zzzzzz{zz{{z{{{{{zzz{{{{{{{{{{{{{zzzzz{{z|{{{z|{{zzzzyzz{|{y{|{|yz{zz{zz{{{z{|{{{{z{zz{{z{{zz{{{{z{yz{zz{z{|z|{{{zz{y{zz{|{{{{z{{zzzyzyz{|{z{{{|{z{{zzy{{|{z{{{{zz{yzzzzz{{{{{{zzz{zzzyz{{zz{|{{zz{z{{zyz{zz{{{{|z{{y{z{{{{{{{{|zzz|z{zz|{z{z{||z{zz{{z{{{||z{{|zzzz{zzz||{|{{{{{{zzy{{z{|||z{{{{{{z{z{{{|{zz||{{{z{zz{|{{|{|||{z{{{{{z{{{{|{|{}{{{{z{zz{}|{{{|||{|{zz{{{|{|{||{{||z{{{|{|{{{|||{{{{{{{{{|{}{||||z{|{z{{|{|{z{|||z{{|{z|{z{{z||||{{z{{{{{{|{{|{|{|zzzz{{{{||{{|{|z{{z{{|{{||{{{{{z{z{zzy{|{{|{||{{z{{{{z{{{zz{{{zzz{{z{zz{{{{{{{z{{y|{{z{{{|{{{|{{{{{yz{zz{{z{{{zz{zzy{z|{{{{|{{{{{{yyzzz|zzz|{zzzzyz{{z{{|{{{{{z{zyzzzz{{{|{zzzyzzzy{zy{zzzz{zz{y{zzzzzzz{{{{z{{z{{zzzzz{{{z{}zz{zzzyyyz{{{{|zzzyzzy{zz{{{{z{z|{zz{{zzy{z{z{{{{z{{zzzzz{{{{{z{{z{zzzzzzz{{zz{{{zz{|{zzz{z{{{||zzz{zzzzyz{{|{|{{{{{{{y{z{{{{z{|z{{z{zzzz{{{z{{{{z{z{zzzz{|{|{|z{z{{zz{{{|{{|{|||{zz{{zzz{||{|||{{z|{{z{{||{z|{|{{z|{{{|{{{{{||{||z{{{{|{z||{|||||zzz|{{{||{{{|||{{{{{zz|{{||||||{|zzz{zz|{|{||{{{{zzz{z{{{z||{{|{z{{{{z{{{{{{{{|zz{{{zzz{|{{{{|zz{{z{zzz{{{{|{{|{|zz{{zz{|{{{{|{{yzz{zzz{{{{{{{|{z{{zzz{z{{{{{|{{zzzzz{z|{{{{|{{{{zz{z{z{|{|{{{{|z{z{zzz{{{z{|{{zzzzzzzzz{{|{{z{yzzyzyyz{z{z{{|zzzz{zzzzz|{z{{z{{y{zzy{zz{z{z{{{{{|{zzzy{{{zzz{zz|y{zzz{{z{z{{{{{{{{zzzzzzz{{|{{{zzz{{zzz{{z|z{{z{{zz{zz{{{{{{{z{z{z{{zz{|{{{|{|{{zz{z{z{{z{{{{|zz{z{{zzz|{{{z|{{z{{{zz{{{z|z{|{{z{z{{{|z{|{}{||z|{{{z{{|{{{{||{|zzz{{{{{{|||||||z{z{z{{{{|{|||||{|z{||{{{|{||||{{{{z{{{{|{}{}{|{|{zz{{{{|}{{|||{{{zz{{z{|{{{|||{{{{{{{|{|{|||{{z{{zy{{z{|{{{{||{zzz{zz{|||||{z|{z{z{{{z{{{{{{{{{z{zz{{zz{z{{z{{z{{z{{zz{|{{{{|{|zz{zz|{z{|{|{{||{zzz{zy{{|{{z{{zz{{zz{zz|{{{{{{zz{zz{{z{{zzz{{z{z{zzzzzz{{{{{|{{yz{{z{y{{{{{{{{zz{zyzy{{{{{{||zz{zzzzz{{{z{{|z{zz{{zzzz{z{{z||{zyzzyz{zzz{zzz{z{z{z{yzz{zz{{{{{z{y{zzzz{|z{z{{{{{{zzzzz{|{|{{||{{{zzz{{{z{{{{||zzzzzzzz{{{{{{||zz{zzz{zz{{{{{{{zzzzzzy{{{{{{{{{{z{{{{z{{{|{{{|{z{z{{{{{|{|{}||{zz{{{z{|{{{{{{||{{{|{zz{{{{||{||{|{{{{{{z|{{{|||{{{z|||{|{{||{||{|z{z|{{|||{|||||{{|{{{{{|{{|{{{{{z{zy{{{|{{||||{{{{{{{{|{{|||{|{{{z|||{z{{z|{|{|z{{|z{{{{||{{{{zz|zz{z{{|{{|{|}{{{z{z{{{{{{|{|{{|{zzzzz{|||z{||{{{z{{{{{{{{|{{|{{{{zzz{{{{z{{||{{{zzzzz{|{{{{||{|{{z{zzz{{{{||{{z|{{{zz{{{z{{{{{{zzz{zz{{{{z{{|{{{zzzz{{{z{{{||zzz{z{z{zzzz|{|{{{zz{zzyz{|z{{{|z{{zzzzzz{zzz{{|{{zzzyz{z{{|{|{{{zz|zz{y|z{{{{|{{{{{{{{zy{{{{{{{{{zyzzz{{{|{{{{|y{{{z{zz{{}{{|z|{zzz{z{y{{||{||{{zz{{{z{{{|{||}|{{{|{{{{{z|{{|||{{{{{{{z{|||{}{|{{{{{{{|{|{{||}||{{{{zz{||{{|{{|||{{{z{z{||{{||{{{|{{||{{{}|}}{|{|{}{z{z|{|{{||{{{||z{{{|{}||{|{||{{{{{||{{|||{|{{{{|{{|{{||{{|{{|{{{{{z{{{{{|||{{{{zz|z|{|{z|{{{|{{{zz{z||{{z{|{|zz{yzz{||z{{{{{{z{zzzyz{{z{|{|{z{z{{{z{{z||{||{{{z{zz{{z{{{{{|{z{{z{{z{{{|{{z{{{zz{z{y{{{{{{|zzzzzz{yz{{{{{{z{y{zzy{zzz{z{z{|{zzzz{{{{{{zzzz{{zzzzzzzz{{{{{|{{zzzzzzzx{z{{|{{|{zzzz{{zz{{y{{zyzzzyzzzzz{z{{{z{zzy|z{{z{{{{{|{{z{zzzz{{z{{{{{|{{y{zz{{{z{{{{{|{z{yzz{zzz{{{{{{{{zzy{{{z{|{{{|{|z{zzzzz{{||{z{|{{z{{{zzz{{{{{||{{{z{{{zz{{||||{{{{zz{|{{||{{|{{||z{|{zzz|{{||{|||{{{{{z{z{|||{}|{z{{{{{}{{|{||||{{zz|{z|{|||{||||{{{{{{{||{{{}||{{{z{z{{{||{{|{|{{{{{{z{|{{}||||z{z{{{zz{|{||{|{|{{{zz{{{||{{{|{{{{yzz{y{}|{{|{{{{y{zz{{z{|{{z{{|{zzz{zz{{{{{{{{{{{{z{{z{{{{||{{{{{z{zzz{|{|{{z{|z{z{{{{{{|{{{z{zzzz{z|zz{{z||{zz{yz{zz{{{{y{{{z{z{z{zz{{{{{{{{{zzzzzzzyz{zyz{{{{zzzz{zzz{{{{{{z{{{{yzz{{{z{|{{|z{zzyz{z{zzz|{{{z{{y{zzzz{z{{{{{zzzzz{zy{{{{{z|z|zzzzz{zz{{z{{||{zzzz{{z{{|{zzz|{{zzzzz{{||{{{z{{{z{zy{zz{{{{{{{|zzz{z{{|{{|{{}{{{zz{{{z{{|{{}{|{z{{{{{{|||{|z||{zzz{{|{{|z|||}{{{{{{{z{{|{|||{{{{{{{{zz|||{}{||{|{z|{{|{{|{{||{{{{{{|||{|{||{|}|z{{z{{{|||||{||{zz{{|{z|{|{||{|{z||{{{{||{|||}|{{{z{{zz|{{|{{{{{z{z{z{{z{{|{{{{|{zzz{{{{z{{z|z|{{zzzzyy{||{{zz|{z{{zyz{z{{{{{|{{y{z{zzz{{z{{{|{{z|{{zz{z{{|{{{|{zz{yzzz{{{z{|z{zzzy{z{zz{{{|{{{z{{{zyzz|z{{{{{{zzz{{zzz|z{z{|{z{zyz{z{z{{{{{{{{{{{zzzzy{{{{{{{{{{zzz{yzz{{{{|{{{z{{yzzzz{{{{{{|zzz{zz{zz{{zz{{|{zzzzzzzz{{{|{{|yzzz{zz{{{|{{{{|{zz{z{{zz{{{{||{{{zzzzz{z{{z{z{|{|{z{zzz{z|{{|{|{z{z{zzz{{{|{{|{{z{zz{zz{|{|z{|{{yz{z{zz|{|{{||{{{{z{{z{||z|{{||{{{{{|{z{||{}{||{{z{{{||{}{||{}|{{{z{{|z{||}||{{|{|zz{{|{||||||||{|zz{{z{{|||}||{{z{{{z|||}z{{{|}{{{z{|{||{{||{||{z{zz{{{{z{{{}||{{{{z{{{{{|{{{|{|{z{z{z{|{|{{||{zz{{zzyz{{{{{{{{{zzyzz{{{z{{{z{zz{yzzzz{{{{{|{||yzz{z{zz{{z{z{{|{zzyzzyz{{z{{{{zyzzz{{zzz{z{{{z{zzz{z{{zz{|{zz{zzyzy{{z{zz{z{{{y{zy{yzz{{{z{{{{zzzzzzz{{z{z{{{zz{{zzzzz{{{z{{|{zyyzzz{yzzzz{{{{zzzzyzyzz{{{z{{xzzz{z{zzz{{{z{|{yzzzzz{zy{z{{z{{{z{{zzzz|z{{z{{{{z{{zz{zz{{{|{{{{{zz{yz|z|{|{{||{z{zz{zz{z{|{{||{{y{zzz{|{{|z|{z{{zz{zz|{{{||||{z{zz{{zz{{{{|{||{{z{{{{{{||{{||{{{{{{{{{||{{||||{{{zz{z{zzz{|{|{{zzzz{{z{|||{|}{||z{z{zz{{}{||{{{{{{z{{{||{{{|{|z{{{|{zz|z{{{{||z{zz{zzz{{{{{||{{{{z{{{zz{{{{||}z{zzzzz{zz{zz{z{z{yzz{zz{|{{{{|{z{zy{yzzz{{{|{{{zzzzzz{z{{{{||{{{zzzz{zz{|{z{{{{zzzzzzzzz{z{{{{{zz{zzzz{y{{z{{{z{yzzyz{zzz{{{{z{{{z{{zzy{z{{{{{{zzzz{zzzz{{{{z{{zyzzzzzz{{{z{z{|z{{zzzzzz|{{{{{{{zzz{zzz{zzyzz{zzzzyzzzzz{zzz{|{yz{yyzzzz{{z{zzz|zyzzzzzz|{{z{{{z{{yz{z{{{{{{{{|{y{zzzz{{{{|{{{{{{z{{zz{{{|{{{|{z{|{zzz{{{{{|{|{{zz|zz{z{{{{{{|{{{{z{{z{{{{{|{{|y{zz{|{zz{z{|||{{{{{zzz{{{||{{||{{z{z{{||||{||||{{{{z{{{{{{{|||||{{{{|{|{||{{z|||z{zz{{{{||{|{{|{zz{{{{{|||{{|{|{{{z{{{{|{|z{|{{z{{zzz{{{|{{|{{||{{{{{{y{{|{{|{{{z{z{z{{{||z||{{z{z{{z{{{|z{{z||{{{{{yzzz{{{{{z{z{zz{{yz{{z{|}{z{z{zz{zzzz|zz|{{zz{yzz{zz{{||{{|zzz{zz{yzzzzz||{{zzzzzyz|{{zz|{{z{{z{zz{|y{{z{{{zz{zzzzz{{{{{z{{{yzyz{yzz{{{{{{{{zzzyzzyzz{{{{{{zzzzzyzzzzz{zz{{z{zzzzzzz{z{z{{zz{z{z{yz{{{{zz||{zzyzzzz{{{z{{|{zzz{zzzz|{{{{{{{z{zzyzz{{{{{{|{{{{{zzyzzz{{zz{{{{z{zzz{y||z{{{{{zyz{{{{{{{{{{|{{{zzz{{zz{{{{{|{{yz{yz{{z{{{{{}{|z{{{zyz{|{|{|{|{z{{{|{{z{}{{{||{{{|{{{{{{{{{|{}|{{{{z||{z|{{{{{{{|{{z{{{|||{|||{{{{{z{y{{}|{{|{|{z{{{zz{|{{||||||z{z{z{{||{{{|||{{zzz{zz{{{{{z{{{z{z|{z{{{|{{z|zzz{{{{zz{{{|z{{|{{{zzz{zz||{{{|zz{z{y{{zz{z{z||{{zzz{zz{{{{|{{{|{z{{z{{{{{{{{{{{z{zzzz{z{{{z{{{{zz{{{z{{{{|{{{zz{z{z{z{zzz{{{|{{zzzzzzzzz{{{{z{|zzzzzzzz{{|zz{{{{zzzzz{y{{{{{z{zz{yzyyzzz|{z{zz{{zz{zzz{z{{z{{{|zzzyz{z{{{z{z{{{zzzzzzz{{{{{{{{|z{|z{zzz{{|{||||z{{|z{zz|{|{|{{|{z{{zz{{zz|||{{{y{zz{zz{{{{z{z|{{{z{z|z{{{z{z}{{{{z{{{{z{|}|{{|{z{|z|{{{{|{|{{}|{zz{|{z{{|{||{|{|zzz|{{z{{|||{}{{{{yz{{{{|{|{|{{|{{z{{{z||{{|||||{{{{{{{|||{{{|||{{z{{{{{{{{||{||{z{{zz|z{|{{{{|z{zz{z{z{{|||||{{{z{zz{{{|{|{||z|{z{zzzz||{{|{z{z{zzzzzz{{}{zz{{{zzyzz{y{{{zz{|{zzzzyzzy{z{{{{|{zzzzzz{z{{{{zz|{{zzzzzzyz{{{{{y{zzzz{zzyz{|{zz{{zzzzzzyy{{{{z{z{{{{yzz{zzzz{{{z{z{zzyzzzz|{{{{|zzyz{yyy{z{|z{{{yz{z{zyz{z{{{{{{{zz{z{zzyz{zzz{{zz{zyyz{{y{zz{{zzzyyzzyyz{y{{yz{zy{{zzz{|z{{z{{{{zz{zyzz{|z{{{|{|zzzz{zyz{{|{z|||{yzyzzzz{{{{{{zzzzzz{{zz{z|{{{{z{{{z{z{{{||zz{|zzz{zzyzz{||}{{||zz{{{|{z|{|{{||{{{{|{zzz|{||||{{|zz{z{zz{{||{}||{{{zzz{z{||||{|}|z{{{|zzz|z}{|z|{z{z|{{{{{{{|{||{{zz{zz{{{{{|{{|{{|z{{zz|{||{{||{{{zz{yz|{{|{{||z|zz{z{z{{{{|{|z{{|z{{z{{{z{{|{{zzzz|{{zz||{{z{{zz{z{z{z|{|{{{||{{zzzz{z{{|{|{|{z{zzzyz{{{|{{{{{|z{zzz{y{{|{{{||zzz{{{zz{|z{z||{{{{zy|zz{|{{{{{{z{{zzzz{{zzz|{z|zzzzyzzyz{zz{{{{zz{zy{z{{{zzz{{{z{zzz{z{{zz{{{|z{zzz{zy{z{zz{|z{{{{zzzzy{z{{{{{{zyzzy{{zzzzz{{{|{z{z{{z{z|z{z{||z{z{{zzzzz{{{||{{{zzz{{z{{{{z{|{zz{{zz{zz{|{{|{{{zzzzzzz{{{|{|{{{zz{|{z{{{{{{{{{{{z{z{{z{||||||{{z{{{{{{{{z|{|{}{z{|{{{{{{||{{}{{zz||{{{{|{|{{|||{{{{{||{{|||{|{{{{|{z{{{|}{|{{{{{z|z{{{{||{{|{{||z{{{z{|{|||||{{{z{y|{{||{|{|||{{{z{{zz|||{z|{|{{{zzyzz{{|{{|||{{{z{z{{|{{{{|{{z{{z{{zzz||{|{{{z{{z{zzz|{{||{|{z{{z{zzz|{{{z{{{{z{y{y{z{|{|{{{{{{zzyy{y{{{{z|{{|{zz{z{{{|{|{z{z{zzz|zzzz{{zz{|{{{{zzzzzzyz{{{{|zyzzzzz{z{{{|z|{zzyzz{zyy{{z{{{{{zz{zzzyz{{{|zz{zzzzzzzz{{zz{{{{{zz{zzzzzzzzz{{{zyz{{zzy|z{{{{{{{{zyzzy{{{{{{{{{{{{zyz{{zz{{{z{|{{zz{zzz{{|{{{{{{zz{zy{{{zz{{{{|{{{z{zzz{{{{{{|{z{{{{{{{{|{|{|z{{zzz{{{{{{|z{|{{{{{{z{z{{{||||||{z||{zzz{||{||{|{|{{{z|{||{{{|||{{z{{{{{||||}||||{{{{{{{{|{||{||{z|{{z||{|||{||{{z{{{{z|||{|{{}}|{|z|{{z{{{|{{||{{{z|{|{{||{{|||{z||{{{{||||||||{z|{zzz{{{||z|{z{z{z{zz{z{{{{{{|{zzzzzzz{{|{z{{|{|{z{{{{{{{{||{{{{zz{zz{|{{{z{{{z{{{{{zy{{{|{{{|{z|{|zzzz{{z{{|{|z|{zzzz{{{{{||z{zy{{{zzzzz{z{{|yzzzzzzy{{{{{{z{zzzz{zzz{z{z|{|{zzzzzzz{zz{z{{{z{zz{{zzz{z{{z|{zzzz{y{zz{{z{{z|{zzz{zzzzz{{{{|{|{zzz{y{z{{{{||{{{zz|zzzz{|{{{|{{{z{{zz{z{{|z{{{|{z{zzy|{z|{z|{{{{{z{{{{z{{{{{{{|{zz{zzz{{z|{{{|{{zz{{|z{{}|||z{|{{{{{{{{||{{{}||{{{|{{{z{{|}|{}zzzz{z{{{}{|{|{}{{{{{{{|{{||{{{||{{{z{|||{}|{|||{{{||{{{{{||||{{|z{{|{{{{{{{z{~{||{{z{{{{|||{|{||{||z{x{{z|{{{}||{|{zzzz{||{{{{|{z{z{{{z{z{|}|{{{{{{zzzzy{{|{{{{{z{zz{{z{{{{||||||z{zz{{{zzz{||{|{{{|{{z{{z||z{{{z{zzyz{y{z{{{|{{{zz{{zzzz{{{{z{z{zzyzyzz|{{zz{|z{zz{z{zz{zzzz{|{{zyzzzzzz{zz{|{{{zzzz{zzz{{{{{{z{z{zzzzz{{{{z{{|{z{{zzzzzzz{z{|{{zy{zzzz{{{{{{|{zzz{{{zzz{{{{{{{{z{{zzz{{{{z{{{{zz{{zz{{z{{{{{z{{zzz{{{z{|{{{{{{{z{{zy{z{|{{{|{{{{zzz{zz{{{|{||{{zy{yzzz|||||{|{{{z{|{{{|}||||{|y{z{{{|z|{{z{|{|{zz{zzzz|{||{||{{{|z|{||{|{|{{{|z{{z{||{{|||{|||}{{z{{|{z{{|||{|{{{{{{{{}{|||{|||{{{{{|{||{|||||{{{{|{{{||{|{|z|z{zz{{{{{||{||||{{{zz{{{||||{||z{{|{{yzz{{{|{{{|{{{z{z{y{{{{{{{|{{zzzzzy{{zz{||{|z{{{{yz|{{{|{{{{z{{{zzzzz{z{{{{zz|yzz{yzzz{{|{{{z|zyzzzy{|{z{|z{{zzzz{zzz{y{{|{{zz{zzz{zz{{{|z{zz{zzzzzzz|{{z{z{zzzz{y{zz||{{z{z{zzyzzzzz{{{{{{{z{zzz{yzz|zyzzz{zyyyzzzz{y{z{|{zz{zzzzz{zz{{z{|z{zz{yzz{{{|{{{|{y{zzy{z{|{{{|z{{zzzzzz{{{{z{|||{{z{{y{z{|{z{|{|{z{z{zzz{{{z{{{|{zz{{zzz{|{{|{{{{|{{{{{{|{{||{|{{{{{{{{{|{{|||{|{{{z{{{{{{|{{}{||{{z|zz{{|{||{{|{{{{zz|{{|||{{||}{{{{{{{||z|{|{{{z|{z{{{{|||{||{{{{z|{{{|{|{{|||z{{yzy{{{|{{|{||{{z{z{z{||z{{{|||{{{y{{{{||{{{{|{zz{zzzz|{{{{|{{{{yz{zz{zz{{{{{{{zz{zyzz{{{{{{{|zzzzz{z{{zz|z{{{z{{|{{{|{{{{z{{{{{zzyzz{zz||z{{z{{zyzzzy{{{z{{zz{{z{zzz{y{{zz{{{z{zzzyzz{zz{z{z{zyzzzzzzzz{zz{{{yzyzz{z{z{{z{{{{zzzzzz{yzz{{z{{{zzz{zzzzy|zyzzzzyzzzzyyyy{zz||{|zzzzz{zy{{{zz{{{z{{y{zyz{z{{{{{z{z{zyz{{{z{z{{{|{zz{y{z{z{{{{{{{{zzzz{{zz|{z{{z{{{zyzzzzz{||{{}|zzzzz{zzz||{{{|{{{zzzy{{{{{{|{||{{{zzzz{{{|{||||{{{{z{{z{||z{{||{{{z{{{{{|{|{||}{z|z{z|{{{{{|||||{{{z{{{{{{||||{|{z{|{{z|||||{||{z{z|z{{{|{{|{|{{{{{{zzz{{zz|{|{{{zz{{z{{{{|{{{|{z{zzzz{{|{|{{||{yzzz{|z{{{{||zzzyzzzz{{z{{|z{||z{z{yyz{||z|{z|||zzz{zyz{{{{{{{|z{y{{zz{{z{|z{{{{{{zzzyzz{{{{|{zzz{zz{yzz{{{{|{z{{{{zzzz{{{{z{zzzzzyzz{z{{{{y|z{{zzzzyy{{z{z{z{z{{zzzzy{{{|z{z{zz{zz{{{y{{{{z{z{{z{yzzy{z{{z{{{|{{{zzzzzz{z{z{{{zz{z{{yz|zz{{z{{{yyzzzzyz{{{z{z{{z|zzzzz|{zz{{||z{zz{z{z{z{{{{{|{{z{{z{{z{{||{{z{zzzzzzz{|{{{{|{{z{{z{y{{{{{zz{{z{{zz{zz{{{|{{||{z{{{{zz{||{{|}|{z{|{z{z{{|{{|{|{zz{zz{{|{{{{|||{{{z{|{{||{{{{|{{zz{zz{{{|{{{||||z|z{zzz||||{|||{zz{{{{{{|{{||||{{{z{zz{z{z|{{{||{{z{zzz{{{{||{}{{{zzzzzz{|z{z{{{{{|y{{{z{|{{{|zzyzz{zzzz{{{{z{{z{zzz{zzz{{{|{z{{{zz{yzzz|{{{{|{{{{zz{{y{zzzz{{{{zzzzyzzzz{z{|{|{zyzz{zzz|zzz{{z{zzzzz{zz{{{zy{z{zzzyzzzzzzy{{z|zzzzzzzz{zz{{{{{zyyyzyyyzzzzz{{{zzz{zzyxz{{z{z{zzzzyyyyyy{{{z{yzzzzyzzzzz{zz{{{{{zzzz{{z{zzzz{{z{zyzzzzzz{|z{{z{zz{zzzzzzz|zz{{{zyy{z{yz{z{y{{{{zyyz{z{y{{{z{{{zz{zy{{zz{|{z{{|zzz{z{{zz{{{{z{|{zzz{{{zz{{{{{|{|zzz{{z{z{{{|{{{{{y{zzzz{{|{{{|{{{zz{z{yz{|z{|}|z{{|zz{|z{|{{{|{|{z{{zz{z{}|{|z||}zzz{zz{{{{|{{{{|zzz{{zz{|{{{{||{{z{zzzz{{{{{{z|z{{zz|{{{|z{{|{z{|{z{zz{z|{{{{{{|z|zz{{{{{|{{{{{z{y{{z{zz{{zz{{{y|zyzzzzz{{{{{{{z{{z{zz{{|{{{{{{{{z{z{{z{{|{{z{{{zzz{z{z{{{|{{{{zz{zzyzzzz{{z|{{z{{zzyy{{{{z{{{{{zyzzzz{{zz{z{|{zyyzzzzz|{{{z|{z{zzzzzyzz{|z{{{{{{zyyyzy{zz{{y{{{zzzyzzzz{{zz{{{{zzzzzz{z{{{z{{{zyzzyzzzz{z{{{|{{z{zzzzz{z||z|z{z{zyzz{yzz{z{{z{{y{{zzz{{{{z{{{{|zz{zzz{z{{||{||{zzz{y{z{{{{{||{|{{z|{z{{|{{{{{{{z{{{{{{{{{{{{{{z{|{{z{{|{z{{||||{z{{|{z{|||||||{z{z{zz|{{{{{|{{|{{zz|z{{{{{{||{{{{z{{{{{}{{{{|||{{{|{{{|||{|{{{|z{{{{{{z{{|||||{|{{|{z{|{{{z{{{{{{zz{{{{{{{|{|{{{zz{{|y{z{|{z||{z{{zzzz{{{|{|{|zzzz{y{z{|{{{{{|{{{yzzzz{z{zz{{{{zzzzzzzz{|z{{|{z{z{zzzz{{{|{{{|z|{zzzz{z{{|{|||{{{|z{zzz{{{{{|z{z{zz{zz{{{zz|{{{zzy{{zzzzzz{{{{zz{{zz{z{{zz{{{{{zzzyzz{z{{{{|||{zzzyzzzz{{z|z{{{zzzzzyzzz{z{{z{{zyz{{zzz|{{z|{{{z{zzzzzz|}|{z|{|{{z{zz{{z{zz{||{zzzzz{{|z{|{{|{z{zzzzyzz{{z|||{{{{zzz{z{{{{{|{|{z{z|{z{{||{{||{{z{z{z{zz{{{z{{{{z{{{{{{|||||||{|z{{{|{{|{{{{{|||zz{{{z{||||{||{|z{{{z{{|}{||{{|{{{z{z{z{|{|{{|}{||{{{z{{||||}||{{|{{z|{{||||||{{z{{|{|{{{||{||{{|{|{z{{|}{{}{{{|{{{{{{{{|{{{{||{z{{{{{z{||||{{|{z{{zz{{||{||{{z{{zz{{zz{{{{{{|{|z{zzz{zz{{{z|{{z{{z{{z{{{z{{||||zz{zz{{{|||{z}|{{zzz{{y{{{{{zz{z{{z{z{zz{{{{|{{{z{{zzzzz{z{{{|zz{{{{zzz{z{{z{{|{zz{zzz{z{z{{{{{{zzz{{z{{z{||}{{{yyzzzzzzz{{z{{{{z{yzzzzzz{y{{z{{zzzzz{z{zz{||{{zzzz{z{z{{{{|{{{{zz{{z{zzz|z{{{|zz{{{{|z{z{{|{||{zzzzzzzz{{{{{{{{{{|{{zz{|{{|{{{zz{zz{{{||{{{{|||{z{z{{{{||{{||{{{z{|{{{{||{{{{|{{{{{{z{|{|{|{||{{{{z{{{||||||||{z{{{{{{{||{{||}{{z|{|{{||{{||||{{{{{{{{|}{|{}||}{{{|{{{||{{||{{|z{z|{{|||||||||{{z{{{z|||||}{||{{{{{{z{{|{{{|||{{{{{{zz|{|{|{}|{{{z{{zz{{|{{z{{zz{{zzzzz{{{{|{{{zz{{zzz{z{{{{{{{zzzy{{{{zz{{|{z|y{z{{zyz|{{z{{||{{zz{z{zz{{{{|{zz{y{zzzz|{{z{{{{z{{zzzy{|{{z|{yzzzz{yyzz{|zz{{{{{z{zyz{{|{z{zz{z{zzyzxzz{{zzz{{zyzzz{zyz{{{{{{{zyz{zzzz{{{{{z{z{zzzzzyy{{z{{{z{zzzzzzzzz{{z{{{{{{zzzyzzz{z{{{{{{z{zzzzz{{{z|{{zzzzyzzzz{z{{{z|{{{|{{{z{{{|}{|{{zzz{z{y{{{{{{{{{z{{zzzzzz{{{z{{{|zz{{|zz|{||||||{{z|z{{z{{{|{|||{z{{{zzz|z||{||z|zz{{{|z{{|{{||||{{{z{{{|{{{|||}}{z{z{{|{|||{|}||{{{{{{{||{{{|{|{{zzz{{{||{|{|||}{z{{zz{{|{{||{{{{{z{{{{z{{{|{|}{z{{{{y{z{|||||{{z{{{z{{{z{|{{{|zzzzzz{y{zz{{|{{z{yzyzzz{z{{{||z|y{zzzzzyz{{z|{|zzz{zzz{z{{z{{{|z{zzzz{y{{{|{|{{zzzyyz{zyzz{{z{{{zzyyzzzz{y{{|{{zzyzz{zz{z{{{{z{zyzzzzzz{{{{{{|{{z{zy{yzz{|zz{zzzzzyzzzzz{|z{{{zz{zzzyyy{zzzz{zzzzyzzy{zz|{{z|zz{z{{zyyzy{z{{{{{{z{{zzzy{{{z{{{|z{zzzz{zz{z{{{|{{z{{zzzz{|{{{{{||{{zzy{z{{{{{{{{z{zzz{zzz|z{z|||{z{{zzzz{{{|{{{{{{{{{zz{{|{{||{|{{zz{z{{|{{{{{|{{zz{zzzz{{{{{{|||z{{{zz{{||{{}|{{{|{{{{|{{{|{|||{|{{z{z|{|{{{{||z{|{{z{{|{{{||{||zz{{{z{|{{|||{{|{{||{{{|{{{{|{|{z{z{y{zz|{|z|{|zz{{z{zzz{{{{{{{z{{{zzzz{z{{|zz{zz{zzz{zz{|{z{{|z{zzzzzz{{{|{{{{|zzz{zzyzzz{{|{{{{{yzzzzz{{{{{{{{{zzz{zz{z{zz|{{z{zz{{{{{{{z{{{|{zzzzy{{{z{z{{{|zzyz{{z{zy{z{{{{zyyyyzzzzz{zz{{zz{zz{zyzz{{{{{|{z{zzz{yzz{z{z{{{zzzzz{zzzzzyzz{|zzzzz{zyz{yz{z{{yzzzzzzzz{z|{{{{{zzz{{z{z{|yz{{{{zz{zzzzz{z{{{{|{zz{yy{z|{z{{{|{zzzzyzzzz{{{{|{{{zzzzzzz{|{{{||z{{{z{zz{{{||{z{{z{{z{{|{{{||{{||z{{{z{{{{|{|z{|||z|z{z|z{{|{||}z|zz{{zzz|}|{{|||{zz{{|{{{{|{{{|{|{{{{{zzz||{{{{||{|{z{{{z{||{z{{|||{{{{z{{|{||||{{z{{z{{{{||{{||{{{zzzzzz|||{||z{z{{zzzz{|{{|z{{zz|z{z{z|}||||{{yzy{yy{z{|{{{{{{{|{{yzzz{{{zz|{|z{zzyzz{{{{{|{|{{zz{{zz{{{{z{{||{{{yzzzzzz{zz{{|zz{z{z{{{{{z{z{zzzzzzzy{{z{{{z{{zzzz{{{z{z{|z{{z{zzyzzzyz{{z{z{{yzzzyzyyzz{z{zzzzzzyz{zyzz{{z{{|{zzzzzzzyzzzyz{{z{zzzz{y{{z{{{z{zzyy{zzz{z{{{|{|{zxzzzz{z|{{zz{{zz|zz{zzzz{{{|{{zzzzzzzz{{|z{{|{|z{z{{z{{|||{{zzzz|{zzzy|y|{|{|z{zz{{{{{{{{{{|{||zzz{zz{{z|||{{|z{{z{{|{|||{{|{|zz{{zzz{{{{|||{{{zz{zy{z{||{{||{z{|{{{{z{|||{||{{z{{{{{{{{||{{}}{{{{{{{z|{||{|||{{{{{{{{{{{{{|{|{{zz{{zz|{{||{|z{{{y{{{{z{{{||{{||{zzzz{z{{{{z||{{zzzy{{{||{{{z{zz{zy{z{z{{z|{|{|{z{{yzy|{{{{{z{{z{zz{zyz{{zz{|{|zzzzzzz{{{{z{{|z{{{zzzzz{{{||z{{zzzzzzz{z{z{||{{{{yzzzzzz{zz{{z{z{{zzzz|z{{z{|{yy{zzzzzzz{z{{|z{zzzyzyzz{{|{{|{zz{zzzz{z{{{{{|{{yzzzyzzz{{{z{{{z{yz{zz{z{{{z{{z{yyzz{z{z{z{{{z{{{zzz{zz{{{{z|{{{{{zzzz{{{{{{{{|zy{zz{zz{{|z{{zz{|{z{z{z{|{|{|{{{{{{zzz{{{{|{{|z{{z{zz{z||{{zz{{{|zz{|{{{{||{|||{{{{zz{||{|{||||{{{{|zz{{}|{|{{|{z{z{z{{{|||||||{{{{||{{|||{|||||z{{{{{{z||{{}|{|{|z{{{{||{}{||{{{z{{{{|{|}{|{|||z|{|{z|{{{|{|{|{{{zz{{{{||{{|||{zz{z{zz{{|||{}{z|{{{zz{|{{||z{{zz{zzzyy{{z{{{{{zzzzzzzyzz{{z{{{{yzzzzzzz{|y{{{{{zz{zzzzzy{zzz{|{{yzzyzz{{zzz|{|zzyzz{zzz{{y{{z|{zzz{zzzzzzz{zzz{zyy{zzzzzyzz{{{yz{zyzyzy{{zz{|zzzzy{{yz{z{z{{z{zzzyzzzz{z{{zz{{{y{zzzzyzzzzzzz{zyyz{zyzz{{z{|{{zz{zzzzyyz{z{||{{zyz{zzzz{{{{|{|{zzzyyzz|{{z{z{{{zz{{z{z{{{z{|z||{z{{z{{z{{|z{{|zzzy{zzzzz|{zz}zzzzzzzzz{{{{{{|{{z{{z{z{{{||{|z{zz{{zz{{{|{{{{|{{z{zzz{z{||{{|||{{{{zzz{{{{{{|||z|zz{{{{{|{{z|{|{{z{|{{z{|{{|{{|{{{{{z{z|{||{{{z{{{z{{{z{{{{{|{{{|{zz{z{|{{{{{{|z{yzzz{{{{{z{||{{{y{zz{z{{{{{{|{{{{z{{{{|||}|z{{y{yyzzz{z{|z|z{{zz{zzzzz{{z{|zz{{yzzzz{z{{{yzzz{zzzz{z{zzzz{z{{z{z{yyzzy{{z{{zz{zz{zzz{{z{zz{{{{zyzz{zyz{{{zz{{{z{zzzzzzzzzzz{z{zyyxzzzy{{z{y{zz{z{zyzyzzzzy|{z{zzzzyzz{{z{{zzz{zzzy{yyyzzzzz{z{zzyzzzzzzzz{z{{{zz{yzzzzz{z{z{zz{yzz{yzzz{{{{{|{yz{{{z{zz{zzz{z{{z{zzzzz{z{z{{||{{{zyz{z{{||{{z{{yzzz{zzz{{{{{|{{{{zzzz|zz|{z{{{{z{y{{zzzz{|{||{z{zzz{{z{{{|{||zzzz{{{yz{|{{{z|{{{{{z{z{{{{|{{{{{zz{yzz{{|{||}|||{z{{{{{{|{}{||{|z{{{z{{{{{{|{{{{z{{{zz{{{{|{|{{{{z{{|{|{{{|{||{zz{zz{{zz|{{{z{|{{{zyzzz{|z{z||{{z{{z{{{|||}}{{{zzzzzz{z{{{{{||z{zzzzzzz{{|zz{|z{{zzz{zzz{{z{z{{{yzzzzzz{{{|z|{z{zzzy{zz{z{{z{z|zz{z{{zz{zzz{{z{{zzzzzzz|{{{{{{{{zzyz{{z{z{{zz|{{yzyzzyzz{{zz{|z{yy{zzzzz{{{{{{zz{zzzyzzzz{zz{{{zzzy{y{yz{{{zz{{z{zzz{zz{zyz{{{{z{{{z{zyzz{{z{{{{zzz{zzz{{{z{{{{{zz{yzzz{{y{y{{{z{zzzyzz|{|{{{|{{{yzzzzzzz|{{{{{{z{{z{z{z{{{z||{{z{zzz{{{{{{{{{{{{z{z{{|{{{||||||{z{z{{{|{z|{{{|{|{|{zzz|{{||{{||{{zzz|{|{{{{|{|{{y{zz|{z{{|{||{|{|z|{zz{|{||{{|{z{{{zz{{{{{{{|||zz{zz{z{{||{|{{|{{{{{z|{|{{|{{|{z{{zz{{|{|{|{|zzzz|{zz{{{|||{{{|zzz{zz{z||}~z{{{zzzyyz{{{z{{zz|zz{{zzzz{{{z{|{|zzzyzz{yz{zz{{z{{{z{z{z{z{{{{z||zzz{yzzzz{z{{{{{{{zz{{zz{{|{{{z{{zzzzzzzz{z{z|{{{yzzzzzzzz{z{{z{z{zzzyyyzz{zz{{{zzyzyz{zzz{{{{{{zy{zzzzyzzz{{{z{zyzz{z{zzzzzzz{{zzzzzyzz{{{z{{{{zyzz{zzyzz{z{{{|zz{{zy{zz|z{zz{|z{z{zzz{zz{{{|{zzz{zzzz{{{{{z{{{{{{z{z{z{|{{{||{{zzzz{zz{{{{|z|{zz|{{{{{|{{z{{{{{|zz{z{y{z{{|{{{{{{{{{{{{{|{|{{{{{{{{{zz|{{||{}||z{{{zz{|{{{|{||{z{{{||{{|{z{{||{{y{z{zz|{|||||{{z{{|{{{{{||{}||zzz{{{{z{zz{{{|{{zy{z{{{{{{|{{z|{{{{z{z{{{z{|{{|{z|z{z{z{|z|{{||z{{zzz{{{||}~z{{zzzzzz{zz{{{|{|{z{{{zzzzz{z|{{{|{zyyzz{z|z{{|{{z{zzz{zzz{{{|z{{{zz{{zy{zz{z{{|{{{z{z{{zy|{{z{{{{{zzz{zzz{z{{zz{zz{{zzzyzz{z{{{|{zzzzyz{z{{{z{{z|zz{{zzz{{zz{{|{zy{zyyzzyz{{{z{{{{zz{{zzzzz{{z{{{zzzzzz{z{z{yz{z{{{zz{zzzz{{z{{|{{{zzz{z{{{{{z|{{{z{z{{zz{{{{{{{|zz{zzzzzz{{|{|||z{z{z{{z{{|||{{{|{{{z{{zz{|{{{|z{zy{zz{|z||{{{|{|{{{{{{{{{{||{{{{{z{{{|{||z||}}}{zzz{zzz{{{{z{|{|{{z{{z|||||{{||{z{z{{{{z}{}||{|{|{{{{{{{|}||||{{{{{{{z{||||{|||{zz{|{{{|{{{||||{z{|{{{{z|{{|||||zzz{{{z{{{|{{}{|{zzz{zz{{{{{{|{{{{zy{z{||||}{{{zz{{zzzz{|||{|z{{{zzz{z{{|{{{|||{yzzzzzy{zzy{|{{{z{zzzy{{{{z{z{{{zz{zz{y{{{{{|||{zzzz{{yzz{{z||{{{zzz{zz{|{zz{{zz{yyzzy{{{{{{{{zzyzzzzyz{z{{z{|{z{zz{{zyzz{{|z{{zzzzzzz{z{{|{{{{{zzzzz{zzz{{{z{{z{zzzzzzz{yzz|||{zzz{z{z{{{{{{{|{{zzzy{||{{{z|||zz{zz{zz|{z|{|{|{z{|zz{y|{{||{{{{{{z{z{z|{{{}|z{zz{z{zy{{||z|z|{|{z{{{{z|||{{||{|z|{z{{{{|||||{|{{{{{{|{{{{}{{||{zz{z{z{{||||{|{{{{{{z{{|{||{{}|{{||{z|{{|{{|||{}{{{{{{{{|{{{|||z{{{{{||{{{{{||||z{zzzzy|{|||||||zz{{{z{||{|{}|{|{z{{{{{{|{|{||{{z{z{{{{{|z|{{{||z{{z{{z||||}z{zzz{zz{zyz{{{{{{{zzz{|{zz{z{|{{{{zzzzzzzzz{{{|{{|zzzzzz{{{z{{{z|{zzzz{zzz{{z{{{{{z{{zzz{y|{{zz{{z|zzz{{{z{{{z{zzzyzyz{{zyzz{{{z{|{zzzzz{z{{z{{|{z{{{{zzzz{z{{{|z{zz{{{{zz{{{|{{{|zzzzyyz{zz{{{{z|zzyyz{zzzzzz{{z{{zzzz{zyzz{zz{{{{{z{{yzz{{{{{|{{zz{zz{z{|{{{{{{{zz{yyzz{{z|{{{|{{{{z{{z{z{{z{{|{{{zyzzy{{{{{z{|{{{{{zz{{z{z{{|{{{z{{{{{{||{|{{||z{{{{{{z{{|{||{|{zz|{{{z{||||{|{{{zz{{{{{||{{{}|{{{{z{|{||{{{|{{{z{zz|{{{{||z|{||z{{z|{z{{{||z{{|z{{z{z{|{{{{|||||z{{zzz{{{|{{{|{z|zz{z{{|{{{{|{|z{zzz{z{|{{|{{|{{{zzz{{|}|{}|{{{z{{zzzzz|{{{{z{z{zzzzzzzz{{{|z|z{{zzzzz|z{{{{{|z{{{zzz{zz{z{{{z{zzzzyzy{{{{z|||zzzyzzzyz{zz{{{{zzzy{zzz{{|zz|{{{zzzz{zzz{z{{y{{{yzzzz{z{z{z{z|zzzzzzzz{zz{z{{||zzzzzz{{z{{{z{{{{z{zzzzyy{{yz{zzzy{zzz{zy|{{{|{{zzzzzz{z{{z{{||z{z{yzz{zz{{{z{{{{zzz{zzzz|zz{{{|zzz{zzz{{z|{{{{z{zz{{yz{z|{|z{||{zzz{zzz{{{{z{{{|{zzzz{z{{{|{{|{{{{{zzz|{{{{|{{|z|{{{{{||{{|{|{|{{{{zz{{{|{{||||{{{{{z{{{|{{{{|||z{{{{|{{{||{|{|||{{{{{|{{{|}{|{|{z{z{{{{{{||{{{{zz{z{{{{|{|z{||{{z{{||{{{{{{|{|{{{zzzy{{|{{{{{{{zzz{{z{{{z|{|||{{{z{{{{||||}{{{{zyy{zzz{{|{{{{{zz{zz{zz{{{{{{{z{zzzzz{z{{{z{|{{{z{{{zyzz{{|z{z{{zzzzzzzz{{|y{{{zz{y{{zz{{{zz{{{{zzzz{zyz{z{{{{zyz{zzz{yzz{{zzz{zyzzyyzzzz{{z{z{{zzzyzzz{z{z|{{{z{zzz{zyz{{{z{{zzz{zyzzyyz{{{{{{zzzzz{yzz{{{z||{zzzz{yzzzz{|z{{|zyzyzzxzz{{{z{{{|{zzzzzz{{{{{{{{zzzyzz{{zzzz{{{|z{{{zyz{z{z{||z|{{z{zzzz{{{{z{||z{z{{zy{{{|{{|{|z{zzzzz{{|{{{{{|yzzz{|{z{{{{||||{z{{|zz{z{{{|{||zzz{z{{z{|{{||{|{{{zz{{{z||||}{||{|{z{z{{|{|||||{{z|{z{{|{{{{{|{{zz{{{{{{{z||||{{{{z{z{{||{||{{|{{{zzz{z|{z{{z|{{z{zz{z{{|{|z{|zz{{{{zz{|{}}|{y{{z{yzy{zz{zz{z||{zzzzzyzz{{{{{{{{zzzyzzzzz{{|{{{{zzzyzzzz{z{zzz{zzzzyzzzzzzz{{{{{zzzyzzzz{zyzz{{zzzzzzzzz{{yz{|zz{zzyzyzzzz{z{{{yzyzzyzzzzzzzzzzzzzzyyyzzzzzz{{z{zz{zzyyz{zzz{{{zz{zzzyzzzzzz{{{{z{yzyzzz{z{{{{{zz{{zzzz{{{zzy|{zzzzzz{z{z|{{z{{|zyyz{zzz{{zz{{{z{z{{{z{{z|{{{zz{zz{zzz{zz|{{{z{{z{zzzzz{zzz{z{{{zzz{z{z{{{{{|z{{yzz{{{z{{|{{{{{{z{{zz{{z{z|z|||{z|{{zz{z{|||{{{{{{{{z{{|{|{{|||{|{z{y{z{{{{{|{|{{z{{z{{{|||||{|{{|{{{{z{{{{{{{{z{zz{zzz{{{{{{||{|zz|zzz{{{{{}{|zz{{zzz{{{z{{|{{z{z{z{{yz|{{{{|{{yz{{zz|||{{|{z{z{z{zzzyz{{{{z{|{{zzzy{z{{{z{{{|zzzzz{yz{z{{||{|{z{zz{{z{{z{{z{z{zyyyz{z{z{{{{{|zzzzzyzyz|{zz{{{{yzz{yzz{z|z{z{{zz{zzzzy{{{zz{{zzyzzzyzzzz{z{{z|zyzzyzzzyz{z{{z{z{yyyz{{z{{{|{{{zzzzzzzzz{zzy{z{|zz{zzzzy{y{{{{{zzzzz{z{{zz{{{z{z{zzzzzz{{{{{{z{yzy{{y{z{{{{{{{{{z{zz{{{{z{zy{z{zzzzzz|{{{{|{||{{zzzzzzz{{{{z{|z{{z{{{{{{||{{{{{{{zz{zzz{{{||||||z{{zz{z{{||}}{|{{zzz{{{{||z{|{{|yzz{z{z|||{{|||{{z|{{{z{{||||{{{{|z{|{{{||||||}{{z{{{{z{|||{|{{|{{{{zzz{{{{|{{||{{|{{{z{{{{{|||z{z{{z{{{{{{z||{z{{{zz{zz|{{{{{|{{{z{{{z{{|||{{yzzzzz{zzzz{{zz{{{zzzy{zzzz{{z{|{{{zzzzzz{{{{{{{z{zzzzyzz{{{{zzz{z{zzyzzzzz{zz{{{{{{{yzzyzz{zzz{zzyzyzzyzz{{|z{{{zz|zz{z{yzzzzzzzzzyzzzzzz{zzzzzz{yz{yzzzz{z{{{z{zz{zzyzz{z{{{z{z{zyzz{yzzz{zy{z|z{zzyzzyy{zzz{y{zyyyzz{yz{zzz{z{{zzzzz{{{{{{z{|{z{zzzy{zz{{z{|z{z{zzzzzzz{zz{z{|zzzz{yz{{|z{{{|{z{{zzzzy{{z{{|{zz{z{yzz{z{{{|{{{z{z{zz{z{z{|{|{z{{{z{{{{|{{{{{{|{zyzzzz{{{{{{z{{{z{z{zz{{{|{{|||z{zz{{{z{{{{{{{|{z|{z{zz{{{|{|{|{z|{{{|z{|z|{{{{z{{z|zz{||zz|z{|{{z{{{zz{{{z{||{z{zz|{{y|{z{{{||{zzzzzzz{|z{{z{{{z{{zz{z{||z|{z|{{y{{{zzz{{{|zz{{zzz{zzz|{{z{{|{{{{{zzzy{{{{{{|{zzzzz{zz{z{{|zz{{yzzzyzyzz{zz|{|{{zz{{zzyz{{z{{|z{{zzzyz{|{{{{z{z{zz{zz{z{zzy{{{zzzyz{zzz{{{zzz{zyyzz{zzzzzz{z{{|zzzzzyy{{z|{{{|{zyxzz{zz{{zz{z{{zyz{zzzzz{z{|z|zzyz{zzz{{{z{z{{{zzzyzyz|{{{z||{zzz{yz{zz{|{{|||z{zyz{{{||{{||{{z{z{{{{{{z{z{||zz{{zzzzyz{{{z{{z{{z{z{z{{{{{z{|{{{{z{yz{|{{|{||{z{{zz|{{{|{{z{||{{zz{z{z{{||{{|{{z{|{z{{{||{{||||{{{{{{z|{{{{|{|{{{z{{zz{|{{|{||z{{|{{{{|{|{||{|z{{{{z{z{{{||||}|z{{{{z{y|{|{|{{zzzzy{zz{{{|||||{{{{y{zzz|{|z{||z{zzzzz{{{|{{{|{{{{{zzzz{{|{z{{{zyyz{{{zz{{z{|{z{{zz{z{z{z||{|{{{{zzzz{{{{{|{{|{{z{zyzzz{z{{{{{|{z{z{zzyz{||{{{|{zzzzyz{{{{{z{{{z{zzz{y{{z{|{{|{zyzzzzzz|zz{{|{{{zyzy{yz{y|y{{{{zzz{{zzy{{zzz{||{z{zz{zzz{{yz|z{yzzyzzzzz{{zz{{{yzyzz{zy{{z{{{||{zzzzz{{|z{z{{{{{z{zzy{z{z{{{|{{z{zzzzz{{{{|{{|{{zzzzzzz{{{{|||{{z{{z{z{z{|{z||{zz{z{{z{|{{z{{}{z{zz{|{||{|||{{|z|{{{{{{{|{|{{{|{z{|{{{{|}{|{{|{{{{{{|{{zz{{{{|{z||{z||{{||||}|||z{{zz{{||||{|||z{{|{|z{||}|||{||{{zz{|||z|{z|||{{{{|{z{|{{|{|||{z|z{{{{{|{{{{||{zzzz{z{{{}{{{||{{{{{{{z{||}{{{zz{zzzzz{{{{{z{{|y{zzyzz{{zyz|{{|{{zzzz{z{zz{|{{z{zzz{y{zz{{{{{{{{z{zzy{y{{{{{|{|zz{z{zzzz{{zz{|zzzzzzzzz{{{zz{{{{z{{zzzzzzzz{zz{zzzzzyzzzzz{{{|{zzyz{zzy{{{{{z{|{zzyy{zzz{{{y{zz{{zzzzz{z{{{{{z|zzzzzz{zzz{z{{{zzzzzzzzzz{{{{{|{zzzzzyyz{{{{z{{|z{z{zzz{{{z|{{{|zz{yz{zz{{|{{|z|z{{{{z{z{{|{{{{{{zzzzz{{{{|z{{|z{{yz{zyzzz{|z{{{{{||{{{z{{{{|{|{zz{{z{{z{{{{{|{|{zz{{{z{{|{||{{|{{|{|{z||{{|{|{{{{z{z{{{{|{{|{{{zz{{z{z{{|{{{|{||{{{z{|z{||{|||{{z{z{zz||{|{|||{||{{{{{{z{z||||||zz{z|{z|{{{|||{{{zzz{zzz{z{{||{{{{zz{zz{{||{|{{{{{{z{{z{{|{|{{|z|{z{z{{|{{|{|{{{{{{z{zz{{{{|||{z{z{|zz{z{{|{{{|{{{{{|{{{{|{{{{|{|{{z{zz{}{{{||{{z{{z{z{{{{{{{|zzz{zzzzz{{{z{{{{{z{{zzzz{{{{|{{|{{{zz{zzz{{z{{{{{z|{zzzz{z||{{{{{zzz{yzyz{{{z{{|zzzzz{zyz{{{{||zzz{zz{zz{||{|{{|{{{{zz{z{{z|{{|z{zz{{{{{||{{{{{{z{{z{zz{{{|{|{||{z||{zzz{|{{||{|{{|{{zzz||{|{|}||{z{{{{|{|{{{{||{{{|{{{{{||{||||{z{{{{||||{|||{|{{|{{{{{{|||||{{|{|{|{{{|}||}||}{||{{||{|{||||{|}||z{{{{|}||||}||{{|{{|{|||{|||||z{||zz{|{{{}|{}|{{{{{{|||||}{}{{||{|{{z||{}||}{||{{{{{{{{|{{{||{||{{{{{{|||{||z{{zz{zzz{{|{|{{{{{{{z{{zz{|{{{{|{{{{z|{z{|{{|||{{{|{{{|{z||{{{||{|{zz|{{||{{{|{|{{zy{{{zz{z{{{|{{{{|zz{z|z{z||{{{{{{zzzz{{{|{}||{{{z|z{{{{{{|||z{{{{{{{{{{{z{|||{{{{{zzz|{{{{|{|{zzz{z{z{{{z{{{zzz|{zzz{{|{{{|z{z{{zz{{{{{|||{|z{z{z{{z{{{{{|{{{{z{{z{{z{}{|{|}|zz{{{z{z{{{{{||{|{|{zzz{{||{|{{|{z{{z|z{|{||{||||{{{{{{||{||{||{|{{z{z{||||||}||z{{{|zz{{{|}||{||||zz{{{{{|{{||||z{||{{||~|}||||{{|{{||{}|||}||||{||{|{{{|||}|}|{z|{{{{|{|{|||}||{{|{{{|{||}||||{|{}{|{z{|||}|}}{|{{{{{{{|||{||{{{|{||{z{||{|||{{{|{|z{{|{}|{|{|{{z{{zzz{{|{{{{{{{z{zz{zz{{{|{{|{{{{z{z{{{|{{||{|z{zz{{{|{{|{|{||{{yzz|{|{|{||{|{z{{zz{zz{|{{||{{{z{{zzz|{|{{|{{{z{zzzzz{{z|{|{{z{z{{{z{z{{{{{||zz{{zzzz{{{{|{|{z{{zz{{z{{{{{{{{zzzz{zzzz{{{{||{{{{z{zz{{{{{{|||zzz{|{{{{|{{||||{{{z{z{{|}||{|||{z{z|{{{z||||{{|{{|z{{zz}|}{{{}|{z{|{z|{|||{|{{}z|z{z{|z{||{||{{{{z{{{{{|{}{|{|{{{{z{|{{{|||}|||z{{{{|{{||||{|}|{{{|{zzz||||||}{|{|||{{||{|||}|||||{{|{{|}||||{|}{||{||{{}}}{}|}|||||{{|||}||||||{z|{{{|{|{|||||}|z|{{{|||{}|||{{|{{{|}||||{|}}}|z{{{{{{||||{||||||{|z{{{}||||{{|zzz{{{{z{{z{{|{{z{zzz{{{{{{||{|{z{zz|z{{{{z{{{{{{{{z{{z||{{{{||{{{z{z{z{|{{{{|{{z{{{z{{{|{zzz{z{{zz{z{{{{{z|z{{z{{zz{z{z{{{z{||zz{{yz{z{{{z{{{{{{{{zzz{z{|||z{{{z{zzz{{{{{{z{{{zz{{{yzzzz{{||z{{zzy{{z{z|{|{{{{{z{{{zzz{|z||{{|zzz{{{{zz|z|z{{{|{z{{{z{{{{{{||{zz|{{z{{{|{{{|{|{{||zzz{{{|{||{{z{{{{zzz{{z|{|||{{||{zzz{|||{{{{|z{{z{{|{{|{|}|||{{|zzz{|||}|{}}{{z{||{{|||||||||{{{|{z{||||{{|}|{||{||{{}|{}||||{|{{{{{|}||||}||||{{{{{}|}}|}|||{{{||{|{||||||}{|{zz||{|{{||||{|z{{{|{{|{||{|||{{{{{{{z{{{|{{|{|{||z{|z||{|{{{{{z{z|{{y{{|zz{{{{zzz{{zz{|{{{||{{zz{z|{{{{|{{{{|{zzzzzz{{{{{{{|z|{{{{z{z{{{{{|||{z{z{|zz|zz{{{{{{zzz{{zz{{|z{{|{zzyz{zz{{z{{|zz|z{zz{yzz{z{z{{{{zzzzz{zz{{{z{{{zzzzzzzzz{{{{{{{{zzzz{z{yz{zz{{{{zzz{zz{y{{{z{{|{z|{zzzzz{{{{z{|{zz{z{zzz{{{{z{z|{{{zz{{z|{z{{|z{z{z{{z{{|z{|{z|z{{z{zz{{{{{|{{z{{{{y{zz{{z|{{{||{z{{z{|y{{{{{|{{{{|{{zz{{{|||{||{{zz|{z{||z|||||{{z{{z{z{{||{|{{{{{{{z{{||}{||}}|z|{z{z|{|||||{||z{|{|{z{}|{|||||z{zz|{{{|{}||{|{{|{{|{{z|{|{||||{|y{{z{{{z|||||{z{{{{{z{{{||{}{|{z{{{{{{{||||||{{{{{{{{||{||{{z{{{z{{{zz{|{{{|{|zzzz{{{{{{|{{{{{{zz{z{y{z{{{{||{{{{{z{{{z|z|{{|zz{{yzzyz{{|{{|{{z{{{{zz{{{|{z{{{z|{z{{{{z|z{{z{{{{y{yy{{z{{z{{{zzz{zyz{{z{{z{|z{z|{zzyz{{{{|{{{z{zzyz{zz||{{}{{{zzzzz{z{zzzz{{|{{zzzz{{z{{zz{{{z{{{{{z{|{{{{{{|{{z{|yzz{{{{{{{{{{{|zz{{{{|{{|{|{z|{{zz{{||z{{{|{{{{zz{{{{|{||||y{{z{{z{||||{{}||{z{{{{{{|{|{}|{z|{{||{z{|||||||{{{{|{|{|{|||{|}|{{||{{{||}{|{|||{{z}{{{{|||||}||{|{{z||{||z}|}||{||z|{{{||{|||||{{|z{|{{|{}{||||z{||{{|{{|{{||}||{{{{{|||{|}{||{z{z{{z{|{{|{|{|{{{zz{{{{|{|{|||{|zz{{{z{|||||{{zz{z{{{{{{{{{|{{z{{{{z{{z||{|{||{{z|{{zz{{{{{||{{{{{z{{{|{{{{{{|{z{{{zz{z{{{{{z{zz{{{z{z{{{z{||{{{{{{{{{{{|{{{|{|z{zz{z|{|z{z|z{{z{{zzzz{{{{{{|{zz|zz{zzz{|{|||{zz{{zzzz{{{{{z{{{yz{{zzzy|{{z{|{{z{zz{zzy{z|{{{{z{{{{{{{zz{{{z|{zz{z{{zz{|{{z|||{{{{{{{{|{{|{{{{{{{{{{z{{z{|{||{{{|zzz{z{||||{|||{{{z{{{{{|{{}{|||{{{{{{{||{{{||{z|{|{{{{|||}|||{{{{{{|{}||{{|||{{{{{|{|{}|||||}|{z|{{{||||{|||{|||{||{|{}}|||}}|{{|{{{{|}|||}||{{{{z{z{}|{|{||{|{{{{{|{{{||||}|||{{|{{{||{{|}{|{{|z{z{{|{{{||||||z{{{{|||||{|||{{{{|{{{|||{}|{{{{{{z||{|{}{{|{{{zzz{z{{{||{{{||{zzzzz{{{{|{||||{z{{{zzz{|||{{{||||{z{{{{{z{{{{{z{{{{z{z{{{{{|||{z{|z{{{z||{{|{{{{zz{{z{{{{z{{{{{zzz{zzzz|{{{|{||z{{z{{{z{{z|{{{|{zzz{zz{z{{|||}z{{zzz{{y|{zz{{|{{{z{z{z{|{{{{|z{{zz{{z{{{{|{|z|{z{{{z{z{|{{{z{|{{|{zz{z{{{{||{|zz{|{{{{{{|{|{|}{{{z{{{{{|{{|||||{{{z{zz||||{|}|zz||{z{{{{|{|{}{|{{|{{{|||||{}||{{|{{{{|}|||{|||||{{|{|{||||{{|||{{{||{{||{{|||}{{{z{|||{|{{||||||{|{{|{|||||}||{z||zz||{|}|}}|{||{{{z|||{|}|||}|z{{{|{|{|{||||}||{z{{{{|||||||{||zz{{{{||{{}{}{{{{{{z{{|||}}|{{{z{z{z{z{|||{{{|{|{|{{{{{|{{z|z|{z{{z{z{{{{{{|{{{{|z|{zz{{||z|{||{{{zzzz|{|{{|{|{||{z{zzz|{z{||{{{z{{zz{z|{{{{{{{z{{zz{{{{|{{{{|y{{z{z|{z{|{z{{zz{zzy{zz{{{z|{{{zyzzy{zzz{z|{|{{{zz{{zzzz{|{{{{{{{yzz{{{z|{z{|{{zz{zzz{z{||z{||{{{zz{{{z{{{zz{|{{{z{{z{z{{{{{|{|{{{{{z{z|||{||{{{{{{{zzz{{z|{||{{{{z{{{{{|||{{|{|{z{{{{|{{|{{||{{z{{}{|{{||||{|||{z{{{{{{{{|{||{{{{{|{{z{||{{{|{{{z{{{{{|||{||||{|z{{{{|{||{{}|||{{|z||{|||}}{|{{|{{{{{{|{{|||{{||{{{{|||{||{|}||{{|{|{||{||||}|{z{{{{{|{}||||||{{{{zz|{{{{}{{||zz{{{{zz|||}||{{|{y{z{z{zz{z{|{{z{{zz{{z{{z{{|{|{{{{zy{z{{z{{{{|{zzz{{zz{{z{{{{|{{{z{z{z|z{|{{{|{{z{zzzz{|{{{{{{{zz{{zzzz{|{{||{{zz{zzyz{{z|z{z|zzzzzz{{z{{{|{{{|zyzz{z{{{|{|{|{y{{zzzz{zz{z{{||yzzz{zzzz|zzz{{|{{z{zz{zz{{{z{{{z{{z{z{z{{{||z|{|z{z{{zz{|{z||{{{{{{{{{{{{{{{{||{{{z{z{{{{{{{{{|{{{{{z{{z|{||||{{|{{{z{{{||z|{{z{zzzz{|{{|{{{|||{{z{{{z{z|{|||{}|{{|{z|z|{|{|{||{{{{{{{{||}|||||{zz{|{{{|||||{{||||{z|||}|{|||{||{{{{{{{|}{|||{{|{{zz{{{{|||||{|}{{z|{{{|{{||||}|{|{{|{{|||{|{|||{{z{|{{|{||{{||}{{{{|{{{{|}{{|||{{{z{{|{{{|{||}z{{z{{{zz{||{z|{|{{{{{z{{{{{{{|{|{{{z{z{zzz|{||{{z{{zz{{{{{|z||{{|{z{|{z{z{{{{|{z{{y{z{z{{z{z|{||zz|zz{{|{{{z{z{{z{{z{z{{zz{{{|{z{zzzz{z{{z{{{z{z{{z{{zy{||{{{{|{{z{y{{{{{{{z{|{{z{{{z{z{{z{{{{{{{{z{zzzz{{|z{|{|y{{{z{z{||{{|{|zz{{{z|{z||{|{{|z{zz{z{z{{{|{{||zz|z{zz{{|{{|{{{{{{zz{|{{|{|{|{{{{{{||{{||{{{{z{|{z{{{{z{|{{{|{{|{{{{{{{{||{||||{{{z{{|{{|||}||}|z|{z{z{||{||{|{{|{{|{{|||||{{|||{{{z}|{||||{||}|z{{|||{{}{{||{||{z{{{z{|{|}|||||{{{||{||{|||{||||{z||{{{}|}|{{||{|{||{{{||{{|}{|{{z|{{z|{{{|{|{{{{{z{zz{{|||{zzzz{zz{{z{{|{{{{{z{{zz{z{{z{{z}{{{zzz{{zz{zz|{||{|{|zz{zzzz|{{{|{{{{{{{zzz{|{{{z{zzz|z{{yz{z{{{{{{zzzz{zz|{|{z|{{{zzzz{zzz{{{zz{{zzzzzzzz{{{yzz{{{zz{{{y{z{{|{{{|z{{zzz{z{{z{{{{}z{zzzz{zz{z{{zz|{zzzzyzz{|{{{{{{zz{zz{zz{{z{{{||{{{{{{zz{{||{{||{{zzzz{zz|{{|{|{z{zzz{z{{{{|{{{{{{|z{z|{{{{|{{|z{z{{|zzzz||||||{{{{{{{{{{||{{|{}||{{{|zz{{{|{|||{{|z|{|{{||||||||{{{yz{z|{{{|}||||{{|zz{|||{{||{{||{{|{{{|{{|||{|{{|{|{{{|{|||||{zz{||{|}||}{||{{|{{||{{|||{||}}{{{||{{{|{{{|||||{{{zzz|{}{{{|||||{{zz|z{||||{{|{z|z{z{{|{|{||{{z{z{z{zz{{{{|{z||z{zzzzz{{{|{||{|{z{{{zz{{{{{{{|{zzz{zyzz{{zzz|{{{z{zzzz{{{z{{{{{zzzzzz{z{|{{|{{{{{zz|{z{z|{|z||{{{zz{{zz{{{|{|{zzy{zzz{z{{{z|{{{zz|y{z{|{{{|{{{{zz{zzzzz{z{{{}{z{{{yzzzy{{z{{{{z|zzzzzz{|{{{{{{{z{zz{y{{{{zz{|{|z{{|zz{{|{{{||{{{|zzz{{{{{{{{|{{{{z{{{z{{z{z|{|z|{z{z{z{{{||{{{{z{{{zz{|{}{|{|{{z|zz{|{{{||{|{|{{{{{{{{|z||{|{|z}|{|{{{{|||{||||{z{||z{||}||||{}{{|{{{|{|||{{}||{{z{{{{|{{|||||||zz{{{|{|{||{{{|{{|{{||{||}{||{|{{{{|z{{{|{||||{{{{|{{{||}|||}||{{|{zz{{|{||{||{|{{{{{z||{|{||{{z{|{{|z|{{{{{{z{{|{zzzz{{{{z{{}{zzzzzz{{z{|{|{||zz{z{{{{{{z{|{{{|z{{zy{{z{|{{{|{{yyz{zz{{{|z{{{{{{{zzzz{z{{{{||{zz{zzz{{{}zz{{{{y{zz{{{{z{{z}|{zzzz{zz{{z{{{z|{zz{zzzz{z{{|{{|{{z|{zzzzz{{|z{{}{{zzzz{zzzzzz{{{{{zzzzz{{{{|{{|{{{z{{zyz{z{z{z|{{|zz{zz{{||{{{{|z{{{zz|{{zz{|{{{{|{{z{{{{{{{|{{||{z{z{{{{{|{{||{{{{z{y{|{|{{{{||{|{|{{z{{{|z||{{{z{{|||{{{|{|||{{{{{|z{{|{||||}||||{{z{|||}}|||||z{z{{{||}}{|{|}|{{|{{{{{|}{||||}{{{{|z{{{{|||||{{{|{z{{|||}|||||z{|{{{{|{|||||}{|{{{{{{||{|||{{||{z{{z{|||{}|||{{|zzz{{{|{||||{{{|{{z{z|z||{z{|zzzzzyzz|{|{z{||z{yzzzzz{{{{{|{{{yz{{z{{{{z{{{||{y{zzzzz{{{||{{|{{zz{zzy{{{|{{z{{{{zz{yzz|{{{{{z|{z{{zz{{{|z{{z{{y{zz{zzz{y{{zz{zzzy{zzy{zy{zz|z{z{zzzzy{{{{{{zz{zz{zzzzz{{{{{|z{{{zzzzz{{{z|{{{{z{zz{yy{{{zz{|{{{{zz{zzz{z{{|{{{z{z{{z{z{|{{{|{{z{{{zzz{{{{z{{|{z{{{zzz{||{{z|{{{{zzz{{z{|{{{|}{{|z{zyy{{|{|{||{{{|z{z{|{{{{||{|z{{zz{{|z|{}{{|{z{{{{{{{{|}{{|{{zzz{{z{|{|{{{|{{{{{{z{{{}|||||{|{{|{|{{|||{{|{|{||{{z{|{~}|}|||||{{z{z||{||||{||{{z|{{z||{{|{}}{|{{|zz||||||{||{{{{z{{{{|{{{|||{{y{z{{z{|{{{{||z|zzz{{{z|{|{{|zzzz{zz{z|{zz|{|{{{{zz{zzz{{{{||||zzz{{{{{{|{{||||{{yzzzz{z{|{{|{z{{z{{zz{{{z{{z|{z{z{{{y{||z{{{{{{{z{zzzzzzz{{{{z{zzz{zz{z{{z{|{{zzy{z{zz{zz{z{{{{{zy{zyz{{{|{{|{{{zzz{zy{z{{{|{z{z{zyzzzz{{z{{z{{zzzz{{z{{z{||{zz{z{z{zzz|{|{{zz{{{z{{z|{||{{{{z{{z{zz{{{{|{{{{{z{zz{zz{{|{|{z{{{y{z{{{{|{{||{{{{{{{{zz{{}{{|}{{{z{{{{{|{|{{{{|zzz{{|{{||||||||{{{|{z|{|{{{{|{|{z{|{{{{|{}{||{{|{{{|{{z||{||{{|{z{{{|{{{||{||{|{{{{z{{{{}||{{}|{{||z{{{{{||{||}|{{||{|{{{{|||||{|{{|{{z||{|||||{|{z{{|zz|{{|{||{{{z{{{{|{{{|||{{zyz|z|{{|{{{{|{{z{{zzzzz{{{{{|{{{{{{zz{{|{{{||{|z{{z{z{{{{|z|{|{{{yz{{z{|{{{{{||{z{y{{{{{{{|z{|{z|zzz{z{{|{{|{|{{z{zzzz{{|z|{{{{{{yzzz{{{{|{{{{zz{zz{{{z}{|{{{|{{{{y{zz{{{z{{|{{z{{{{zzzz{z{{|zzzz{z{zzz{zz{{{{{{{{{zzy{|{z{|{|{{{z{zzz|{|z|{{z|{zz{zzzz{{{{{|{{z{zz{|{{||{{{z|{{|{{z{{{|{{{||{{|z{{z{zz||{}|{|{{||{{zz|||{||||{{{|{{{{|{{|{|{||zz{{{{{||{}{|{|{{{{{{{||}||{{{|{|z{|zz{||||{|||{z{{||{{||||{{}|||{{|{{{||{{{}|}||||{zz{|}|}||}|}{{{{{|{||||{|}|{{|||{{{||{||}{}|}{|{{{{|{||||{|{||{{{{{|{{}|{|||{{{zz{{{{||||||{z{{|z{{||{{{|{{zz{{z{zz{{{{{|{{z{|{zz{z|{|{|{{||{|{z{{{{z{|{||{|{|{{{z{{{|{z||}{z{{z{{{{{{|{|{{{z{{{zz{z{{{{||{{{{z{{z{{{{{z{|{z{{{{z{{{{z{{z{{zzz{yyzzz{{z{z{{zzz{zzzz{{{{z{{{{{{zz{{z{{{{{{{{{{zy{z{zz{{{{{{{{z{yzzzz{{z{{||{{{{z{{{{{{{|{{||{z{{{{z{{{{||}{|{{|{{z{z|{|{{{{|{|{z{{{{{{{z{{||{zzz{z{z{{{||||{z{{{{{zz{|{{{||{}{{z{y{{{{z|{{|{{{{z{z{y||{{{|||z{{||{{{{|{{{{|{|{|{{z{{|}{{{|}||{{{z{{{||{{||{||{|{{|{{||}{|}||{}{{||{|||||}|{|{|||{z{{|{|||}|||{{{||z{|||||{|||{||{{{||{||{|||{{zz{{|{{||||{}|{{{|zz|z{|||{{|{|{{z{z|{{|||{{{{{{z{z{z{z{{{{{||{{|{z{zz|{{{{||{{z{{z{z{|{{|{{|{|z}{z{zzz|{{z|||{{z{zzz{z{{|{{||z{{zz{zz{z{{{}||{z{{{{{{z{{{{{{z{z{zz{{{|zz{{|z{{zzzyy{z{{zz{{|{{yzzz{z{{z{z|{|{{z|zzzz{{|{|{z|{{{zz{zzzz{z{z{{}{{zz{z{z{|z{{{||{zz{{{zz{|{{{|{{|z{z{{{z{{z{{{|{{zz{z{|{{{|{{{{}{z|{z{{z{||{||z{{{{{yz|{{{}||||{{z|z|{zz{||||{|{{{z{zz{{||z{{{{|zz|{{{{{|{||||}|{|{||{{z|}||}|||{{{{{zz{{|{||||{|{{{||{z{|||||||{{|{{|{{|{}}}|{||{{|{{|{{|{|||{{|||{{{{{|{{||{|{|z||{z{{||||||||||{{|{{||{{||}z}{{|{{z{{|||||{}{|z{zzz|{{{{{{{{||zzz{{yz|{|{||{{{{{{{{z{z{{{{{||{{zy{zz{{{||{{|{zzzz{{{y{{{{{{{z{{zz{{{z|{||{{||{{{zzz|z{{{{{{|{z{{z{{z{z|{{|||{yzzzz{zz{{|{{{z{{{{zz{zz{{|{z{|{{z{zz{zz{{{{{{||{zzyzz{z||{|{||{{z{{{zz{{{{|{{{{|z{{z{{zz{{{{|{{{{z{{{zy|{|{z{{|zz{zz{{y{z{{||{{{zz|{z{z|{{z{{||{{zzzz{{{{{{{{|{{zz{{{{z{||{{|||{{{{{|{{{{||{{|{{{{{z{{y{|{|{{|{{{zz{{{{|{|{{|{|{z{{{{{{{|{{{|||{{{{{{{{{||}{||}{{z||z{{|||}|{||{{{{||{{|{|}||||{z|{{||{{|}||}||{{{{{{{|{|}|{||}|{{|{{{{||||{|||{{z{{|{|||{||||}|{|{||{|{||}|||||{{z||{zz|{{}{||||{z{|{|||{|||||{{{|{zz{{{||{{{{{zzzzzzz{{{z{{{{z{{{{{z{{{{{{{||{{zzzz{y{{{{{|z{|z{{{yz{{{z{{z||{{zzz{{z|{|z{||{{z|{yz{zz|{{{|{{z{{{{{zzz{{z{{z{{z{zz{zz{{z{{{z{{zzz{zz{{{{zy||z{zzz{zzzz|{{{{{{zzzzyzzz{|{|{{{{{zzzz{zz{{{z{z|{z{zz{z{zz{{{{{{{zz{{z{zzz|{z{{||zzzzz{{z|{{{{{|{z{{|z{zz{|{{{|||zz{z{{{{{{||||{|z{{{zz{z{{||{{{z{z|{z{zz{||||||{{zz{||z{|z{{{|{{{zz{{{{{|{{|{|{{|{z{{{z{{|{|{{|}zzzz{z{{{}|{{|||{{z{|{{{}|||||||{{{|z{{|{||{|}{||{{|{|{{{}|{{|{}|||{{zz{||||{||{{{{z|{{{{|{|||}||{{{{{{{||||{||{||zzzz{z{|||||}{|{{z{{{z{{|||||{z{|{zzzz{|{|{{|{z{{y{zz{{{||{{||{{zz{zzz{{{{|{||{{zy{{{z|{|{{||{z{z{{z{{z{|{{|{|{{zzzzzz{{|{|{z|{{{zzz{y{{{|{{{|{zz{z{zz{|{z{{{|{{zy{z{z{z{|{{|z{zzz{zzz{z{{{{||{z{{{zzz||{z{{{|{z{zzzzyz|zzz{|{z{{z{{{zz{{{|{{{{{z{z{zy{zz|{|||{z{{z{{{{z|{{{{{{{{{{z|{{{{z{z{|{{{yz{{{{{{{|{|||{z{zz{{|{|{{{|{|{{{zy{{||||{|{{{{{{z{z{|{||{{|{|{{{{zz{||{|{}{{{{{{zz{{{{{|||}{{{{z|z{{{{||}|}}{{{{{{{z|||||{|{|{{{{{z{||{{|{||{||{{|{z|}{|||||{{{{{{|z{|}|||||{{||{z{z|{|}|}{||{{{{{z{|{||{}|||||z|zz{z|{}|||}{{{zz{{z|{{|{|||{|{{{z{{{|||{z{{|z|z{{{z|{{|{{{{{z{{{{z{{{|{z{{{{zz{zz{z{{{{|||{{{{z{z{z{{{{{{|||z{{z{zzz|{{{{{{{{{{z{zz{{|||{||zzyz{{{z{{{{{{{z{z{yy{z{zz{z{z|{zzzzz{{zz{{{{{{{zz{yzzzz{|{{z{{{zzzzzz{{{{{{{{{{{{{zz{zzz{{|{{{{{{yzzz{yyz{{z{z|{{zz{z{z{{{{z{{|{z{z{zzz{z{|{{{{{|{z|zz{{|z|{{{|{{z{z{z{{|{{{{{|{z{zzzzz{{|{{{||{{z{zy{z{||{{||{{{{zzzzz|||{|{|{zzz{{zz{{}|{{{{zz{{y|||{|{||||||{||{{{{{{{}|{{}|{{z{||z{||||||{{|zz{{{{z{||{|||||{|{{{{|||{{|||||{{{|z|{{|||{{}|{{|{{{{{|||}|||||{{|{{{{{{{{|}|}{{{{|z{{|{{{||{|zz{z{{{{{{|{|||{{{zzzz{{{||||{||{{{zzz{z{{|{||{z{zz{{z{z{{{{||{|{{zz{zzzz{{|{|{|z|{{yzzz{{{{|||z{z{zzzz{{{{{zz}|z{{{zz{y{|{|{{z{{zzzzzzzz{{zz{{|z{{{zz{{{{|zz|{{{{{{z{zz{z{|{{{{zzzz{{zz{{{{|{{{zzzzz{yzz{{{{{||{z{{zz{z|{{y{{||z{{{zzz{z{zz{{{{zz{y{{zzz{{||{|{{z{{{z{y{{{z{{{|{zzzz{{{z{{zz{{{{z{{z{{{|{{z{|{{{{{zyz{z{{{{||z||{{z{z{{{||}{{{{{z|{{zzzz{{z{{|{|zz|{z{{||{{{{{{{{{{{z{{{{|||||{{z{zz{{{{|{|{z{{{|{{{{z{{|||{||z{{z{|{z{{||{{|||{z{{{|{{{|||||{||{z|||zz|||||||||{|{{z{z||||{||{|z||z||||{{|{|||{|{{z{{{||||{{|{{z{zz{{|{{{{||||{{{z{{z{{{{|{||{zz{{{{z{{||{{||{z{zzzzzy{z{{{{|{zzzz{z{yz{z{||||{{z{yyzz{{zz{{|{{z{zz{yz{{|{zz||z{zz{zzz{{{{{{{|{zzyzz{z{|zz{{{|z{zzyzzzz{|{{{{{{{z{z{{zz{zzz{||z{zz{{zz{{{zz{z{zz{zyzyzzz{{{{{{{zz|zzy{{{z{{z{{|yzzzy{{{{{{{z{{zz{zzzzzz|yz{{{|z{z{{{{{z{z{{|||{zzz{zz{{|{{{z||{|zzzzz{{|{z{|{{|z|{z{y{{{||{||||{{{zz{{{{{|{}{{{{{{z{zz|{{||{||{{z{{z{z||{{z||{|{{{{{{|{{{{||||{{|{|{{||}{{|{{|{{{{{z{y|||{||||{{{{|z{z|}{{|{|||z{{{|||||{{{|{{{z{{{|{{{}||{|{{{{{||z{{{||{{{||z{{z{z{{{{{z||||{{{z{||||{{|{|||{|{z{zzy{{{{{{|||{{{zz{{zz{|{||{z{{{{{z|z{|}||{{{{{zzzzz{{{{{z||{z{y{yzzz||z{{{{|z{zz{z{{{{{|{|{zzz{zz{zzz{{{{||z{z{z{zz{|{{{{z{{{z{{zzyzzz{{{{{z{|{zzz{{z{{{{{||{{z{zzz{z|{|{{zzzzzzzzzz{{{{z{z|yzzyzz{zz|z{{|zyz{{{z{zz{z|{{z{{zzzyz{{{z{{z{|{{z|zzyz{{{{{{{{{z{{zz{{zz{|||{{{{{{z{z{z{||{{|||zzz{zz{{{{{{{{{|{{zzz{{{{{{{{{|}{z|{{{{z{{|{||z|{z{|{|y{{{|{||{|z{{|{{z|{{|{|{|{|{{z{{{{|{{|{|{|||{{{{{{||z||||{{{{{zzz|{{|{|{||{{{{{||z}|||||||{{z{{{{{{|{}||||||z{{z{|{}}|{||||{{|{z{{{}||{|||{z{{||||{||{|||{||z|{{{|||||||{}{{|{z|{z||||{|||{{zz|{{z||z{||||z{{z{z{{{|{{|{||{{{{zz{|{{|{{{||{{zyzzzz{|{{{|||||{z{zz{||z{{{||{{z{{{z{|{||{{{{{{{zz{{z{{z|z{||{{{zzzzz{|{{y{{|{z|{zz{{|{{{|z{{{{zzz|z|{{z{{||{{zzzzzzz{{|{{||{z{zzzzz{{|{{{{{{{z{{z{zzz{|z{z{|zzz{{{zyz{{{{{{|z{z{z{zzz{{{z{{{z{{{{{{zzz{{{{||{{{{zz{{|{{|{{{z{z{{zz{{||{{{{||{{z{{z{z{||{{|||{{z{{z{z||{||{{||{{{{{{|{|{{{||{||{{{{{{||||z{|{|{|{{{{|{|||}|||{z{z}{|{{}||||{|{{{{{{{{{}}|{|||{|{|||{z|}||||||}|{{||{{{{||||||||z|{||z{|||}}||||{{{{{{||||||{{}{|{{||{}|||{||{||||{|{||{{}||}|{{|{z{{z}|}{|||||z{z||z{{|{}z}||||{z{{|{||{||{{{{{{{z{{{z{{{{{|{{{zz{z{{{{{z{{{{{{zzz|{zz{{{|{|||{{zz{{{{{|{z{||{{|zzz{z|{{{|{z{{zz{z{z{|{|{{z{{|{{{{z{z{{{{z{{zzz{zz|zzzz{{|{{{zzzzz{zzz{{{{z{|{{{zyzzzyz||{|{{{{z{{zzz{z{z{{{|{yzz{z{z{{{{|{{{{{z{{zzz{{{|{|{{{{{|{zzz{{{{{z|{|{{{{z{z{{|{{{{|{{{{zz{z{{{{{{{}y{{{|{{z{{{{||{||z{{{{{{{{|}}{{{|{|z{{{{{{||{{||{{z{{{{{||z{{|{{|{|{|{{{{||||}||{{{{{z||{|{|{|}|{{{{{{{z{|||||||{{{{|z{{{|{||||{{{|{|{||{||||}||{|||{}{{{}|}||}}}||||{{{{}||||{|{{{{{z{{|}|{{||}{||{|{|z{|||{|||{{{z{{{z{}|{||{||{{|{{{{{|||{{}|{z{{{{{z|||||{z{{z{zz{zz{{|{|{{{zzzzyz{z{{{{z||||{{{zz{z{|{{{|{}{zzz{{{z{{|{{{{{{{{zy{zz{{{|z|{|{{{yz{z{{{{{{{}z{{z{z{{z{{{z{{{{{{{zz{z{{{{|{{||z{{{zz{{{{{|{{{z{zz{z{z{{{|z{||{|{{zz{zz{{{{{z{||{{z|z{yz{{z{|||{{{{z{{{{{{{{|{|{zz|{|zyy{{{{{{{z{{{{z{zz{|{||{||{{{{z{{{|{|{{|{|z{zz{{{{{|{}||z|{{zzz{z{|{||}|||zzz{{z{{|||{{{{{{{{|{z{|||{{}{|{z{{|z{{|}|||||{||{{{{{||{{|||{||{{{{z{{|{|}{}|||{{{|z{|||||||||{{{{|{{{|}{{|||}||{||{{{|}|||||||{{}{{{{}||}||}||{{|{{{z{|{|||||}{{||{{{{{||{||}{{{{{|}{|{{||||||z|{{{{z{{{{{|{|z{{{z{|z|{{|z{{{z{{{{z{{{{|{{z{{|{z{zz{{{{{{|||{{{{{{z{z{{z{{||{{y{zz{{{z{|{z{|{{{{zz{{{{zz{{{{{zzzzz{zzz{z{{{|{{zz{{zz{|{{{z{{z{z{{zz{z{{{|{{z|{zzz{yz{{{{z{|{{{{zz{z{{{|||{{{{{{zzz{z{{|{|{{{{z{{|z{zzz{{z{|{{zz{{{zzzz{{|{{{|{{{zz{zz{{{|{||{{z{{|z{{{{|{{|{{|{{{z{{z|{||||||z{{z{{{z{|{|{||{{{{{z{z{||||{|||{z{zz{{{{}|{{{|{|zz{{{{{{|{|{||||{{{{{{z{{||||{}z|{{||{{||{|{{|}{{{{{|{z||{||||{|{{z|z|{|}|{||{|{{{|{||{{{{{|||||{{|{{{|{}|{|||}{{{|{{{{{{}||||||{{{|{{{{z|||}||}|{|||{{||{|{|||z{{{zz{z{|||{}|{{{{{z{{{{{{|{{||{z{{{y{z|{}{|{|{z{{y{{{z{{|zz{||{|{zz{z{{z{|{{{|{{|zzzzz{{{|||||{{||z{z{{z{{{{|{{{zyz{zz|{|}||{|{zz{{zzz{{{{{{|{{|zzzz{zz||{z|{{{{zz{zz{{{{|{{{z{z{{{{{{{{|{{|{{{z{zzzzzz{|z{||zzz{zzyz{{{{{|{{{{{z{zyzzz|zz{{{{{{{{zzzzzzz{||{|z{zz{{{y{{{{{{|{|{z{{|{|{}|{|{{{{||{{{z{|{||||{|{{{|{{zz|||{|||{{{|{{{{{|||||||{z{{{{{{{{{|{|{{{z{z{{z||{|{|{}{||{{z|{z{{{|{|}{||{|{|z{|||||{}||{{||}{z{z|{|||}||{zz{|{{|{||{}}||{||{{|{{|||}}{|}{|{|{{|}}|{||}}|{|{{{{{}|}|{||}|z{{{{{|||||{|{|{{{{|{{{{|{{z|||{{{{{{{{|||{||}|||{{z{z{||{|{|{|{{|z{zzz{|{|{z|{{{zz{zzzz{{|{{|{{|z{{zzz{{{|{{{|{z{{z{z{zz{{{{|{z{zzz{{{{z{{z{{|{zzyzz|z{zz{{{{|z{{zz{{z{}|zz{{{{{z{{zyzz{{{{{{{{{{{zzzzz{zzzz||zzzz{z{zz{{{|{|zz{yzyzyz{z{{{{{|zzzzzzyyz{z{{{{{{zzzzzyy{zzz{z{{{zzzzzzzz{{zz{{{zzzz{{{z{z{{{{{}zyz{{zzy{{{{z{{|{{{{zz{z{}{z||{{{{{{y{{zz{{{|{|{{{{{{z{z{|{{{{|{{zzz{z{{|{{||{|{{{{{{z{{{|{||{}{{{||{{{{|{|{|{{{{{|{{{|{|||||{||{{{{||z{|||||||{|z{z|{|{|{{z|{|{|z|{{|{||}|{||||{{|{{{{|{||||{}{||{{{|z{{|{{|}|||z{z{{{||{||{{{}{||{|{{{{|||||||{{{{{{{z{{|||{}}|{{z{z|z{|||{|||{{|{{{z{|{|{{{z|{zzzzzzz{{{{{{{{{zzzzz{zz{{{{|{{{z{{z{zz|{{z{|{{{zzz{z{{z{{|zz{{{zzzzz{z{{{{z{z{{zzzzz{z{{{z{{{z{{zz{yzz{||{{{{{z{{z{{zz{{{{z{z{zzz{zz{zzz||{|{|z{{{zyy{z{z|z{|{zzzyyyzz{{zz{{{|z{z{zzzzz{yz{{|{{z{zzz{yz{z{z{z|zzz{z{{z{z{{z{{|zzzyyz{}zz|{{{{{{zzzzyz{{{{{{||{zz{z{{{{{{|{{{{{{z|{zzzz{{|z{|z{{{{z{{{{{|||{{{{{{{|z{zz{{|{z|{{|{{{{{{z{{|}|{|{z|z{{z{|}{z|||||{|z{{z{z{|{|{{|{{{{{{{z{{|{||{||{{{{{{{{|{{{{{{|{{z{z{{{{||{{||||{{{z|z|||{|{||{|{{{{{{{||||||||{{{||{{{|{}|{{||z{{z{{zy{{|{{|{|{|z|{{{{{|||{{||zz|{zz{{{|{zz{zz{zzz{zyz{{||{{{{|{zzzz{z{z{{{{{|zzz{z{zz{|z||{{{zz|zzz{{zz{{{z||{zz{zyzz{z{z{z|}{z{zz{{z{z{{zz{z{zz{zz|{zzzzy{|z{zzzzzzz{{z|z{{{z{zz{zz{{{{{{{{{zzzzzzzz{{{z|{{{zz{zzzzz{{{z{{{zzz{z{y{{{zzz{{{z{{zzz{z{{|{{{{|{zz|{z{{y{{{z|{{|zz{z{zzz{{{{z{{|z{{{zz{y|{{{{{{|zz{zz{{z|{{{{|{{zz{z{{{zz{|||||z{{{{z{{{|||||z|{|{|{{zzz{{||{{{z|z{zz|{{{|{{{||{zz{{|{|{|{||z{||{z{|{|z{{{{{{|{||z{z{{{z{||||{}|{{{{{{{||{{||||||{z|{{|{||}|{||}|{{|{{{z||}|||||{{z{{{{|{{|{{||||{{{}|{{||{{{|{|{{{|y{||{|||{||{{{{{z{zz{||{|{||{zz{{zz{{{{{|{y|z{{z{z{z{{{{{z{|{{z{{{zz{|{z{{{|{{zzz{z{{{z{|{{|{z{{zyz{{{{|z{|{{zyzzzzz|{z{{{{{|{{{{z{z{{zzz{{{zzzzz{z{{{{zz|{{{z{zz{y{{z{{{{{{{y|{zzz{{zzz{{{{zyzzzzzz{z{{{{z{{zzzz{zzzz{|{{{{{zyzzzzzz|{{{{{{{z{z{zzzy{{{{{{{z{{zz{z{|z{{|z|{{{{zzz{zz|{{z{{|{{{zzz|z|{|{{||{{{{zz{z{||{z{}{{z{{{{{{z||{|{||{{{|{{|{z{{|||{{z{{{{{{z{{{{|{|||z{{z{{{{{||}{||{{|{{|{{{||||{||{{|{|z|{{{|{{|||{{{{{|{{{|||{{|||{|{{z|{{{||||||||{{|||{{{|z||{|{}{|{|{||{{|||}|||z{|{{{z{|{|{|||z{z{{{{z||||||{|{{{zzz{z{||{{||{|{|z{z|{z||||||{zzz{zz|zz{|{|{{|zyzz{zzz{|{|{|z|{{zzzz{{{|{|||||{{z{{zz{{{|{||{{{{{zzzz{{|{{{|}|{zzy{{zz{{z|{z{|{z{zzz{z{z{z{{|{{z{zzz{z{{{{z{|zz{{z{zzzzz{{{zz|zz{z{zyyyz{{{|{{zz{zzzz{{{{{|{{{{z{{zzz{z{{|{z{{z{z{{zzzzz{z{|{zz{zzzz{z{{{|{{|{|z{{{zyz{{{|z{{{{zzzzz{{|{{{{|{{y{{z{{{{{{{{||{|{{{{zzzz||{||{||z{{{{{|z{{||||{{{{|{{{z{|{||{|}|{{{{{{zz{{{{{||{{||y{|zz{{}||||{z{||{{|{{{{|{|||{{{{{{{{||}{|||{}{{zz{{{|{{|{||}{|{z{|||{||{|{|}|||{{{|{{|{|{}||{{{|{{{||{{{||}||{{z{{{{{||{|{|||{{{|{{{|{|{|{|||{{zz{z{{|{{||}|{z{{{z{z{|{|z||{{{{zz{z{z{{{||{zz{zz{zzzz{{|{||||{z{zz{z{{{{{|{{{{{zzzz{{z{|{|||{{{{zz{{z{|{{{{{z{zz{zzz{||z{{|||{{zz{|zzz{{{{z{{{{{zz{{{{{|{{|{{{z{y{z{zzz|z{z{{z{zzzzyz{z{{z|{zzz{z|{z||{{|{{|{{{zzzzz{|z{{z|zzzzzzz{zz{{{{||z{{zzz{{z{{{|{{zz{{{z{{z{{{{{{{}zz{z{{{zz{{{{{{{{{z{z{zzz|||{{}|{|{{{z{{|{{||{|||{{{{{{{{z}|{{{{{||{{{{{|{{|{{{}{|z{{{|{{|||{z|||zz{z{|{{{||}|||||{{{z{z||{{|{{||{||{{{zz{||||||||{{{{z|z|||{}|||{|{{{||{{|{{|||||{z{||z{{|||}}|||{||{{{{|{|}}|||{z{{{{|||{|||||||{{{{{{|{|||||||{|zz{{{{{|||{|}{{||{|{{zz||{{{{||z{zz{{{z||{{||zz{z{z{{{{|{{z{|{{zzy{z{{{{{{{}||{{zz{zz{{|{{{{||{z{z{{z{|{{||||{|{{{y{zz{{{{z{{|{z{{zy{zz{{z{{{{zz{{zzzz{z|{{{z|z{z{z{z{zzz{{{{|{{z{{zzz{|{z{z{{z{{{y{z{{{{{|||{{z{zzz{{{{{{{{|{{{zz{z{zzz{z{{{{zz{z{yz{z{{{{z{{z{{{{{|{{{||{{{zz{z{{z{{z|{{||{{{z{{zz{z|{|{z||{|zz{z{{{{{{|{{{|zz{{{{{{||{|||{|zzz{{zz{{|{}||{|zz|{{{{|||{{||{}|z|{|{{{{{{||{||z{{{|{|{{||{|}|||{||{{{z{|{|{|||{{{{{z|{}}||||}|{{|{|{||{}{{|||}|{{|{{{{{||||||||{{{{|{|{||||||||{|{z|{{{{{{}||||{{{|{{{||||||||{|{{{{{z||||{{|||{z{{{{z{|{|{{{{z{{{{{zz{{{{|||{{{zz{{zz{{{{z{|||z{{{zzz{{{{{|{{{z{zz{z{{{{z|{|{zzy{{z{{z{{zzz|z{{{zz{zy{{{{|{|||z{zzzz{{|{{z|}z{z{z{z{zzzyy{{{{{{zzz{{{{zzzz|{{{zzzz{zz{{{z|{{zz{z{zzzzzz{|{{{{{{{{z{z{z{|{{{{{zzz{zzzzz{z{{{z{{{zzz{zzz|{{{|{{zzzzz{{z{{{{{{||{zz{zzz{z{{z|||{{{z{z{{z{|{{{||||{{{zz{z||{|||||{{|{{{|{z{|{|}{|{{||z{z{|||{||{{{{{|{{{{{||{{||{{{|{zz{{||{|{|{|{{{{{||||{{}{|||{{{{z||z{|{{{}{|{{{{||zz||{{}|||{z||{{|{||{|}{z||{{|{{{{{{{{{|||}{z|{{{{|||}}||||z{{|{{{{|z|{}|{{{|{{|{{|||{|}|{|{|{{{{{{{z{||||{{zzzz{{{|{{|{|{{|{{zz|z|z{||z{{{z{zz|zzz||||z{z{zz{zzzz{|{||{||z{{z{zzz|||{{||{{{{{zz{zz{|{{{{{|{zz{{zy{{{{{}{|{z{zz{{{{{{z{{{|{{{z{{yyz{|{{{z{|z{zzzzz{{{{{{{|yzz{zzzz{{{||{{|{zzzyzzzz{|{{{{{{z{z{zz|z{{{|{||{z{zz{{zzzz{{{{{{{{y|z{{{{zz|||{{{zzz{z{zz|{|{|{{z{z{z{z{{{||{||zz{{|{{z{{{|{|||{{{z{{{{{{{{|||{{{{{{z{{|{{|||||{{{zz{{z|{|{{{{z{{|{|{z{||}z|||}|{{z{{{{{{||||{|{{{{{z{|{{{}|||||{{|{{{{{{|}{{}|{{{{|{z{|}||}|||{{{|{z|||}|||||}|{||z|{{|}||{|||{|||{z{{{|||}}|}{{|{{|{||||{|||||{|{{{{{{{{||{||{{{{|{|{|{||{||||{||{{zz{{{|{|||{{{{{zz||{}{zz||z{{z{zzzz|{z{{{{{{z{zz{{{|{{|{{}{{zz{{zz{{|z{|||{{{z{zzzz{{z{z{{{z|z{zzz{|{}{|{|z{z{zzz{{|z{{|{{{{{{zzzzzz{{z{{{zzyzzzz{zz{{{|{{{zzyzzyzzz{{z}{|zz{{{zyyzz|z{{{{{z{zyzzzz{{{{z|{yzzy{zzzzzz{z{{z{zzz{z{yz|{z{{{{zz{{z|z{{{{{{}|{{{{z{z{z|{{z||||{{zz{z{zz{{{{{|||z{{zz{{{{|{{|{|{|{z{{z{{{|{{|{{|{{{|{zz{{{||{|{{z|{{{z{|{{{{||||z{zzz|z|||{|{{{{{|{{{{{||{||||{{{{|{|{z||{{|||{{zz{{|{||||{}|{||{|{||{{{|||{||||{{{z{{{{||{{{|{}{{{||{{||{|||||{{{{{|{{{|{{||||{{{{{{||{{{||||||{{{{zz{{{|{{{{|{zz|{{{z{{{{||||{{{z{zzz{z{z||{|{zz{{{{z{|{{{z{{z{{{{z{z{{|{z{}|{z{z{{zz{{{{{{||{zz{z{zz{|{{zz||{zzzz{{y{{|{{{{{z{{z{{{z{{{{{{{zzzzz{z{{|{{{z{{z{{zz{{z{z{zzz{{{{zz{zzzzz{|{{|{{z{z{z{zzz{{z{{{|z{{z{z{zz|{z{{{{{{zzzzzy{zz{{{zz{z{z{zzy{z{|{{z|zy|zz{{zz|{{{|z{{zzz{z{|{{{{{{{|{z{{{{{{{z{|{||{{{{z{{{z|{{{||||z{{{{z{{{{{{|{{{z{{{{zzz{{|{||||{{z{{z{z{{|{{{||||z{{{{|{{}|||{{|{{|z{{{|{{{||}|{|{|{z{z|||{||||{{|{|{|{||{||{}{{z|{z|{{|{|{|||{|{{{{{z{{|||}{|{|{{{{z{z||{|{||||z{|{{{{{||||||}|{{|{{{{||{{{|||{{|zz{{|{{{|||||{{{z{{{{{|{|{{|{{{{z{{z{z{{{{{|{z{{{{{{z{|{{{{|{{zz|zzz{{||{|{{{z{{{z{|z{{{|{{z{zzz{zz{{{{{{{z|}{{{zz{{{{{|{{{{|{{{z{z{zz{|{{{{{z{{{zzz{{{|{z{{{zz{zzzz{z{{{{zz{{{z{{z{y{z{{{{|{{{{zz{zz{{||{|{{{{z{z{zz{{{{{||{{zzzzzzzzz{{{{|{{{{yzz{|y|z{{{{{zz{z{{zz{{|||{||{{zz{z{{{{{{{{{||{{{{z{z{||{{||{{{{{{{z{{{{{|{|{{z{{z{{zy{{|{|||{z{{{zz{|{}{{{}{z{z{z{{{z|||{|{|{{{{{|{{{|{{{{{|{{{{|{{{|}|{|||{{{{{z{{{{z{{{|{||{|{{{{|||||{|||{{|{z||{{||{{}}}{{{||{{||}||}|||{{|{{{z|||}||||||z{{|{{{||{|||||{{{||{{{{|{|}|{{{|z{{{{{{|{|||{||{{{z||{||||{{}{{{|{z{{{{|||{z{zzz{{zzzzz{|zz{{{zzz{zzzzzz{|{{||zzz{z{{{z{{{z{zz{{{yzzzz{{{z{{|{zz{yyz{z{{{{z{{{zyzz{zzzz{{zz|{{{z{zzzzz{{{z{{{{{zzzyzy{{|zzzz{{zzzzzyzzzz{zz{{z{zz{zzzzz{{y{{z{zzz{yzzyz{{{{{z{{{z{zy{zz|{{{{{{zzzzz{{zz{z{|z{zz{zzzzzz{{{{z{{{{{z{zz{z|||{y|{{zz{z{{{zz{|{{|{{z{{|zy{z{{z|||||{{|{zz{{{{{{{{z{{{{zzzzz||{{z{{|z{{{zzzzz{|z{{{{{{zz{|zz|{||{{||{{|||{|{{z{||{{||{{{{z{z|||||||||y{z{{{{{|{|{|||{{{{{{|{{|||||{}}{{{{{{zz|{|||{|{{{{{{{|{{||||{{|{{{|{{z|{z{{{}||{z||{{{{{{|{||{{{z{{{zz{{{|||{|z{{{z{{{z{{||{|{{{zzzzyz{{|{{{{{yyzzzzzzy|{{z{{{{{{zzzzz{{|{{|||{{zzyz{z|{{{|{{{{{{zzzzzz{{|z{{||z{yyz{zz{{{{z}{zzzzzzzzz|{zz|zz{{{{z{y{|{{|z{{{z{zzzzzzz{{z{|{{zzzzzz{{z{{z{|{{zz{{zzzzz{{z{{||z{{{zyzy{{{{{{|{{zz{{z{z{{{{{{z{{{zzzz{z{{z|{|{{zz{{{{zzz{{{{||{zz{z{{|{{||{{{{{{{z{{{{{z{{{{|{|z|{y{z{z{{{|{|{{|{{{{yzy{||{{|}{{zz{z{zzz{|{{{||{{{{zz{{{|{{|{{{{{{{{{zz|{{|}||{{z{{{{{{|{{{z|||{{{{zz{z{{|{||{|{{{{{z{z{{||{|~}|z{{z{{{z{{||}{|}{{{{{||{|||{{|||z||{{{z||{|||{{}{|z{{{|z||{||{{{{|{{{z|{{{||||||{{{{{{z{|||||||{{|{{{{{{|{|{|{{{{zzz{zz{{|{{|{{{{zz{zz{{{z|z{{{zzzyz{z{{{{{{|||{{zz{z{zz{|z{{||{{zz{{{{{{|{{{{|z{{z{{zzz{{|{|{|zz{zzzyz{{{{{{{zz{{{z{z{{z{{z{{{zz{zzzzz{{z{{z{z{zzz{zyzz{{{{{{{|{zzzzz{{|{{|{{z{zzyyzzz{{{z{z{{zxz{{{zy{{zzzz{zz{z{zz{yz{{{|{|{z{{z{{zy{|{{|{{{{z{{{{{z{|{|{{{|{{{{{z{z{{{|{{{||z|{z{{{|{|{|||{z{{{{zzzz{{{|{|||{{{{{z{{||{|||{{{z{{zz{{{{{{|||{{{z{{z{z|||||}{z{|{{{|{{|||{~||{{{{{|z{{||{{}|{|{{||{z|{|{z}||}|{{z{{{|{||||||{|{z{{{z|{|{|{{}{{{{{|{{z|{|{{||||{{z{zz{{{|||||||{zz{|{{|{{|{|{{{{z{|{{|{||||{}{|{{z{{{{{|{|||{|{z{z{{{y{{|{|||{z{{z{{{z}{|{|{{{{zzzzzz{{||{{{{|zz{zz{{z|{||{{|{{z|zzzz{{|{z{{|||{zzzz{z{z{{{{{{yz{{zzzz{{z{{{|{{zzz{zzz{{{{z{{{|zzzzzzz{{{{|{{{{zzz{zzz|{{{z{|{{{zzzzz{{z{{|{{{{{zzzzz{zz{{{{z{zzzzzzzzzz{{{{{|{{z{{y{{z{{{|||{{{zz{zzzz{{{{{|{{z|{|{z{{{z{{{{z}zz{zz{{{{{z|||{{z{{{{zz{{|{{|||{{{{{z{{z{|||{|{z{{{{{{zz|{|{{{|{{{{{{zz|{||{{{{{|{{{z{{{{|}|||{{{{|{|||||{||{||{{{{{{zz{{|{|{{}{z{{z{z{||||||||{{|{z{{||{||}{|||{{|{{{{z}|{||}||{|{z{{||{|{||||{|{{{{{|{|||||}|{{z{{|{{||{|}{|}{{{z{z{||{{|{{|}|{z{z{zzz||{|{{|{{{{{zzz|{{{|{{|{z{{{y{{{zz{|z{||z{zzzzz{zz{{||{{{zz{{{z|{{|{|}{{||{{{z{|{{|z{{|{{z{{{zz{{|{||z||z{{zzzy{|{{||{{}{{{{zyz{{{{{{|{z{{zz{{{{{{{z{|{z{|zzz{z{{|{{|{|{zz{|zzz{{{z|{|{|z{{zz{z||{|z|||{{{{{zzz{{{z{||{{zzzz{{zz{{{z|{{{{{z{|z{{z{{{|||{{zzz{{{|{|||{{||{{{y{{z{{|{{{{|{{{zzz{||{{|{{|{{{|zz|{zz||}||{{{z{z{z{z{|||{|}{{{{z{{{{|||{{|{|{{{{{{{{|{|}||||||{|{{{{{{||||}|{{zz|{z{|{|||{||}{{{|{||{||{|}|}|{{{z{|{|}|{}}|||{{{{||{{}||||{||{{{{{{||}}|{}|||z{{|{{{|||{||}|}{{{{{{{|{}||||}||{z{z|{{{{|{|}||{{{{||{{{{||}}||z{{{z{{{|{{{{{{zzzyzy{z{{{{zz{z{z{{{yzzz{{|{|{{{{{zzzzz{z|z{{z{|zzz{{zz{{{{{zz{{z{yyz{{{|{{||{{y{|z{{{zz{{{{{{{{zzz{{z{z{{{z|{{zzzyz{{{z{{|{{|{{zzzz{{z{{zz{{|z{zzzzzz{{{{zzzz|{{yzy{{z{z|{z||{zz{{{z{z{zz{{{|z{z{yz{zz{{z{{{{{zz{yz{zz{{{{{{||zz{z{{{{{|{{z|{{{{{zzz{|{||{{z{|{z{{zz{{{{|||{||{{{{{{{z|{{|{||{{|{{{{z{{{{{{||||{z{{{{{{||{{|{||{z{{{|{{|||}{{|zz{{{{|||||{{||||{{{{{z{|{|{||{{{zz|{{{{{|||{||||{|{{{{{|{{{||{}|{{{{{{|{|{||||}|{{{{{{{|{||}|||||{|||{{||||{||{{{|z{{{{{{{}|{{|{{z{{{|{z{{{{{|{z{z|z{{z{|{{{|||{z|{{z{|{|z{{{{{{z{{{z{z{{{z|{{zzz{z{xz{{|{{|{|{z{{z{z{{{{{{|{{{{zzz{zz{{z{|zz|{{z{zzzz{z{||{z{|{z{zz{{z{{z{{{{|{zzzz{z{z{|{z{{{zyzyzzzz{{|{|{{{{{{z{zzzz|{z{{{zzzz{{zyzy|zz||{{{z{yz{z{{{{zz{|{zzz{zz{{zzz{z{{z{z{z{zz{z|{z{{}|zz{z{{zz|{{{{{|{{{{z{z{{{|{{{{|{zz{y{z{z|{{{{{||{zz|{{{{|{{{{{{{{{{{{yzz{{{{{|{|{{{{{zzzz|{{{{}|{z{{{{{|{|{{{|{|{{{{{{z|z{||{|||{|{{{{{{|{||||||{{{{{zz{|{|{|{|||{z{|{{{{}}{{||{{|zz|{{||{|{}||}{{{{{|z{{}||||||||{{{{z{z|{||||||{z{{zz{{|{{||}}z|{{||{{{|||}|||{z{{z{{{{{{|{|{}|zz{zzz{||{{z|||{z||zzzz{{||{{z{zzzz{zzzy{{|z{{{|{z{{zzz{{{z{{|{{{{yyzxz|{{{|{||{z{z{y{zz{z{|z{{z{{zyzz{{y{{{z{{{{zzyzzz{z{z{z{{|yzzzz{zz{{{zz{{{zzyzzzzzz{{z{{z{yyyzyz{{|z{{z{zzzzzzzyzz{{z{|{{zzzzzzzzz{{{|z{{zzzz{zzzz{|{z|{z{{{zyz{z{{z{z|z{|{zzzzzzz{{{{{{{{yz{{zzy{{{{{|z|zz{z{z{zz{{zz|{{zz{{zzz{{{||z{{{{{{zz{zz{{|||{|{{zz{y{{z{|{z{{{|{yzz{zzz|z|{{|{{|{{zz{z|z{||||{|{{||{z{{{||{{|}{{{{{{zy{|{z|||||{z{{{{z{||{{{||{{z|zz||{{{{|{}||{{z{z{|{{|{{{{{{|{{{{|{|||||{||||{{z{{{{||||||||z{{{|{{z{{||{|||{|{zz{{{z{{|{|}z{{{{z{{{{|{{{{{{{z{zz{{{{|{|{{{{zzz{{z{yz{{{{z||zzzz{zzz{{{{{{|{{zyzzyz{zz{z|{{{|{zzzzz{z{zzz{|||z{z{zzz{{{zzz{|{zzzzy{zz{zz{{{z{zzzzzzz{{|{{{z{{{zzz{{z{{z{z{z{{yyzzzzy{z{{{z{z{z{zz{z{z{{{|{{|{{{{zzzzz{y}{{{|{y{zzzzzz{zzzz{{zz{{zzyzz{{z{|{{zzz{{{{z|{|{{|{{z{zy{{{{z{|{{{|{{y{zyyzz{{{{|{{{{z{{zzzz{|{{|{||{{{{{y{{{{||||{{z{{zz{zz{||{z||{{{{z{z{{{{{z{{{|||{{{{z{z|{|||{|{{{{z{{{{{|{||}|{z{|{{{{{|{{{||{{zz{|{{{{{{|||||{{{z{{|{{{{||||||{{{{{}{||{|}||{{{|{z{{z|||{|||{{z|{z{z{{||{{|{||{z{{z{{|{{|{||{{z{{{{{z{{{{{{}|{{zzz{{{|{|{|{|z|{{z{{{{{{{{|{{|z{{y{zzzz{{|{z{{{{z{zy{zz{{|{|{}{{{z{z{z{{{{{{{|{z|zzzzzz|{{{{||{{|zz{{z{{{{z|{|{{zzzz{z{{{{{|z{zz{z{{z{{{{{{{|z{zzzzz{z|{z{{{z{{zzz{zzzz{{{{{{{zzz{y{x{{{{{||{z{{zzz{z{{z{zz{{|yzzzzz{zz|z{{{{zz{zzzzyzz|z{z{{{{zzz{|{zz{{{{{{|{z{z{z{z|{{{z{|{{zzzzz{{{{{||{||{z{{z{{{|z{{{{{|z{z{|{{{z||||{||{{{z{{{z{{{{||||{zz{|{{{|{{}{{{{{|zz{{{{{|{||{|{|{{z{{{{{|{{||{|{{|{{zzz||}{{||{|{{{|{|||||||{|}|{||{{|{||{||||||{|z{{z|{|{|{|||{z|{z{{||||{||}||{|{z{{|{{{|{{|}{{|{|{z{{{{{|{||{|{zz{{z{{{|{{{||{{z{{{{|y||{||{{z{{{{zz{z|{{{{{{zzyyzzz{zzz{{{|yzz{zzyzzz{zz{{{zzy{zz{{z|z{{{{{{zz{zzzzz{{{z{{z{zzzyzzy{zz{z{z{{{zzzyzzy{z{z{{zzzzzzzzz{z{{{z{{{yzzzz{yy{{{zzzzzzz{zyyy{y{{zz|{zzzyzzyzzzz{z{{zzzyzyzzz{|{{{{{{z{zz{zz{{yzz{zz{{zzzz{{zy{{{{{{zz{{zzzzzz{{|{||zzzz{|zzz{{|zz|z|{z{zzzz{{{zz{{{{{z|zxzzz|{{{zz|{{{z{{y{{{{{z{{{{zz{z{{zz{{{{{{{{{zz{zzz{{z{{{z{{{{{{{|z{{{{{{||{z{{{|{zz{{z|{{||{{{{{zzzzz{|{||{{{{{z{|{{{||{{||{{{{{{{{{|||{|{{{{{{{{{{{|||z|}|{z{{{{zz|{{{{}{{{{z|{{{z{{|{|{|}|z{{{{{{{|{||}||{{|{zy{zz{{{{||{{zzz{zzz{{{|{{{|{z{z{zzy{||{|z{zz{{zz{zz{{{z|{z{xzzz{zzzz|{{{{{{{{zzz{zz{|y{|{|||zz|yzzz{{{{{{{{{{{zzzzz{{{{z{{{z{zz{{{zz{{z{{{y{{zzyzzzzz{{z{{zz{zzzzzzzzz{zz{|zzzzyy{zz{{z{{{z{yy{yyy{{z{{|{|{{zz{z{zzz{{{|{{{{zz{zyzz{{|{z{zz{zzy{zzzy{{{z|{{{z{{{{z{{{z{{{|{z{z{{{zz{{|{{{|{{z|{{z{{{{{|{{{|y{{zz{{z{{|{{{{{{{z{zz{z{|{{{|z{z{zzzzzz{||z{{||{zz{{{zz{{{{{}{|{{{z{{zz{{||{|{{{{{{{zz{{||||{||{{{{{{zz|||{||||{zz{z{|z{||||}|{{{|z{|||{{|{|{{{|{{{z{{|{|{{||{||z|{{{{z|{||{||{|z{{{z{{z{|{|}|}{{{z{|{{|z||||||{{{z|z{zz{{{{|||{|z{{{{z{|||{{{{z{{yy{{yzzz{{{{{{{y{{zyzz||{{{{{z{z{zy{z{{{z|{|{{z{y{zzz{{{|z{{z{{{zzzzy{{{|{{{{{zzzyzzy{{{z{{{|{yzzzzzz{{zzz|{{{z{zz{zyz{{zz{{{zzzzzzzz{|{z{{{{z{zzyy{yz{||z{z{{{zzzzy{z{{z|{{zzzz{zyz{{{{{z{zzzyzzzzzzz{{zz{zzzzzzzzzzz{{{z{{{zzz{zyzzzz|z{z|{{zzz{zzy{{{z{z{{{z{z{{z{{{{zz|||zz{zz{{{{{{{{z{{{{{{{{{{|}{{|||{{{{|z{{y|{|{{{{{{z{|yzz{{|{z{|{|{z{{|z{|{{||{{||zz{{{{|{{||{||||z{{z{{zz{{{{||||{z{{{zz{||{|z||}{z{zz{||{|{||{|||{z{{{{|z|{|||}{|{{{{{{{|||{{|{||z{{z{{{{{z|||||{|{{{{{|||||{{||{{{zz{z{{{{{{{||{z{{{{{{z{|{|||{{{|{zz{z{{{{|{{{zzzzzzzzz{||{{{|zz{{{z{zzz{z|{|{z{zzz{{y{{{{|{{{{{{zzz{z{{z||{{{{{{zzzzz{z|{{{{|{z{zzz{zz|{z{{{{{z{{zzzz{{zzz{z|{{zyzzz{{{{z{{{{zz{z{z{z{{z|{{{yzzy{zzyz{{{z{{{z{zzzzzzz{{{{{z{{zz{{yzz{{{z{z{{{{{zzyz{{{{{{{|{{zz{zz{z{z{|{z{{zzzz{zzzz|{{{{{|}{{{{{z{{{{|{{{||{{{z{{z{z{{{{||{{{z{|zzz|{{{|{{{|z{{{{{z{{z{{{||z{z{z{{z{{}{{{{{{{{{{{zz{{{||{}{z{{{{{z{{||||{|||{||{{z{{||{|||{{z|{|{|z|{{|||||{{{|{|||{}{||||}|{{z{|{|{|}{|}|{{{{{zz{{|||}{|{||{{z{{|||{{||{|}|{{{z|{z{||}||||z{{{{z{{{{||}||{|{{z{zz{|||{{|||{z{{z{{z|z{{|{{{{yz{zz{yz{{{{{{|{{z{{{{z{|{{{{{{{{zzy|zz{zz{{{|{{z{{{{z{|{|{{|||{{{zzz{z{{{{{{||{z{y{z{{{{|z{{{{{|{{{{zzzz|{z{|{{zzzzz{{{{z{{|||z{zzzzzz|{{zzz{{{{yzz{zz{{|{|{||{z{zz{zz{{{{{z{{{{zzzzzzzz{{{{{{zz{z{zz{{|{{z||zz{zzz{yz{z{zz{|{|zz{{{{z|{{{{z|{{{{{zzz{|z||{{||{{zz{|{z{{||{{{{{{{z{z{z{|||z{{{{zzz|z{z{{|{{|||zzz{{{zz{{{|{{{|}{{{{{{||{||{|{|{z||{{|{|||||||}|{zz{{{{|{|{|||||{{z{{|{|||||}{||{z||{{{||||{{}{}{{{{{{{{||{|||{|z{{{{{z|||}|{|{||{|{{{{{|{{{||}|{{z|{|z}}||||||{z{{{{|{{|{|{|||||z{{{z{||||{}||{{{z{{z{|z{|{{{{zzy{{z{z{|{z{{{{{{{zz{zzz|{{|{{|{z{{zzz||{{z|{{{{zz{{z{z{|{{z{{zzzzzyz{z{{{z{|z|zzz{{{|z{{{z{|{z{z{zzz{{zz{{z{{{{zzzzyzz{{{{{z{|zzzzzzzz{zz{z||{z{z{z{{{z{|z{{{{{zz{{{y{z{{zz{||{z{zzzzy{zz{|{{|{{{zzzyzz|{{{{{{{z{{zz{y{{{{z|||{zz{|{{z|{{||z{|{z{{{z{{|{{{|z||zz{{{{{{z{|{{{{|{{{{{z{|{{|{|}|||{{y{{yz{||{{{|{{z{|{z{{{{|{|{||{zz{z{{{||{{||{|z{{{{{{||{{||}|{{{zz{{{{{{|||||||{{{{z{|||{{|{|{|{{{{|{{{|||}||{|{z{{|z{|}{}|||||{{||{||||||{{{|}{{{{{{{||{}||||||{{|{{|}||}||}|{|{{{{{z{{{{|{{{{{{{{{{|{|||||{|{z{z{{{yz|}{{{}{z{{y{{yz{{z{z||{zz{z{{yzz{{{{z{{zzz{zz{z{{{{|{{|{z{{zzzyzz{yz{{{{z{yyy{z{{|{z{{zyyz{zzyz{zzzzz{{{zz{zzzz{z{zzz{{zz{zzzzzy{zzz{{{{yz{zz{yzz{{z|{z{{zzz{yz{{{zz}zzzzyyzzzy{{{z{{{{z{zz{z{yzz{zyz{|{zzz{zz{z{{zz|z{{yzzz|yz{{{z{{{{zzz{{z{{{|{{{{{{{zz{{z{{|{{{{{|{{z|{z{yz|{{z{{|{{{zzz{zz{{|{{{{z{{z{{zzz|{{{{|||zz|{{{z{{{|{{|{{{{z{{{zz{{|{{|}|{zz{{{{z||{|}{|{|{||{zzzz{|{{{{{{{{{{zz{||{{{|{|{{{{{{z{|{{|{|||{{|z{z{{{|z{||{|{{|{|z{{{{||||{{{{{{{{{{{{|{{|{{{z{{|{{{{{z{||||{{{{zz{zz{z{{{{|{{zz{z{zz|{|{{||zz{{zzz{{{|{{{y{{zyzy{zy{{zz{{|{zzzzzzyyz{z{{{||{{{zzzzyz{zz{{|y{zz{zzz{y{||{{{{{z{yzzyzz{z{{z{{zzzz{zzzz{z{z{zzzzzzzz{z{z{z{{z{yzzzzy{zz{{{z{z|zz{y{yzzyz{{z{|z{yzzyzz{z{{y{z{{z{zzzzzyz{{{{{{{z{zzzzzzzy{{z{z{zz{z{zz{z{{|{{{{z{y{{zzzzzz{{{{|{{{{zz{z{{{|{{{{{{{|zzzz{{{{{{{{zz{zz{zz{{{zy{{{{{z{z{{z{{{|{{|{{y|zzz{{{{{{|||{{y{{z{zz|{|z{|||z{{{{{{{{{|{{z{{zzz{{{z{{{{{{}||{z{{z{z{|{{{||{|{{z{{{{{||{|{||{{z{{{z|{{|{{{||||{{{{{{z{|||}||||z||zz{{{|{{{{{{|zzz{{{||{{{{||||{|{z{{||{{|||||{{{zz{{z{|{|{||||{zz{z{z{{{{{{|{z{{zyy{z{{|{z{{{zzzyzzzy{z{{{{{{{zzy{zzz{{{{z|z{|{zzz{{zzz{{|{{{{{{yzzzzz|{{{{{{|zzzz{{z{z{|z{{{z{{z{{{y{{{zz{z{zy{zzzyzz{z{z{{|z{{zz{z{{{{{{|{{zzzyzzzzz{z{z{{{zzz{zzzz{{|{{{{{z{zzyzyzz{{{|{{{zz{zzz{{yz{zz{z{{{zzzzzzz|z{{{{{yzzz{zzy{{z{{{{{z{z{{zzzzz{z|{{}zz{{zy{{{zy{{{{|z{z{{z{{z{|{{|{{{zz{z{{z{|{|||{|zzz{{zz{{{||{|{{{{{{{z{||{{|{||||{{{zz{{z{|}|||{{{{zzz{z|{z{{{||||{{{{zz{|||{{{||zzz{{{{{|}|||{{{{{{|||{|{||{{|||z{|{|{z{}{{||}z|{{{{zz{{{|||{|{{z{z{z{|{{|{{|||{{zz{{{{{|{|}{||z{zzz|z|||||{{{||z{}{{{z|{|{{{{{yyzzz{{z{{{||{{{{zzzzzzyz{z{{{{|zzzyzzzz{z{z{{{{{zzz{zzy{{zz{{{}{zzz{y{z{{{{zz{{zzzyzzzy|z{{{{z|zy{zzzzzz{z{{{{zzzyzyzzy{{z{{{{zzzzyzzzzz{{{z|{{yzzzzzz{{{{{{{zzz{{zyzyyzzz{{{{zzz{yzzzz{{{{{{{|zzzzzzz{zz{{z{{{{{zzzzyzz{y{{||{|zy{z{{zzz{{{{|{|{zz{zzzz{zz{{{{z{{zzz{y{{{{{{|{zzzzzz{z|{z{{|{{{z{{zzz{{{{|{{||{{{{z{zy{{|z{||zz{|zzz{{z|{{{||{zz{{z{{{{|||{||{{{|z{{{{||{|{||{{|z|{{z{{{{}|{|{|{{z{z{{||{|{||}z{|{{{{{{|{{z{}||{{{z|{{{|||||||{{{{z{z{z{|{{|}{|{{zz{{{{{{|{}{{|{{{|zz|}z{{{{{{z{z{{{{{{|z{{{|{{{z|zz{z{{|}{{{{|{{{zz{yz{|z|z{{{zyzzzzyz{{{zz{{z{yyzzzzzz{{||{{z{zzz{{z{zzz{{{|z{zyzyzyzzzzzzz{{z{zyzzzzzz{{z{|{yzzzz{yz{zzzz{zzzz{zyzy{zzy{{{{zyzzyz{zzz{{z{{{zyyyzzzz{z{{zzzzzz{yzzxzzzz{zz{zzyzyzzyyz{z{{z||yzzzzyzyzzzzz{{{z{zyzyyyy{z{{{{zzzzzzzyx{|{{{{{{{zzz{zzy{z{{z{z{zzz{zz{z{{z{z{|{zz{z{z{{{{{{z|{{{{zz{z{zz{z|{{{|{zzzzz{y||{z{|{{{z|{zzz{{{{{z|{{y{z{z{zz{{{|||||{z{{{{{{{{|{z|{}z{|{z{zzz}|{{|{|zzz{z{zz||{{{|{{z{{|{{z|{{{{{{{{{{zz{{z{{|||{{}z|{|{z{{{{{|{|{{{{zzzz{{z{{{{{{{|{{z{z{{{{{||{{z|{zzyy{zz{{{z{{||zy{zzzyzz{{|{{|z{z{zzzzzz{|zz{z|{zzyzz{y{z|{|zzz{{zzz{zz{{z{{|{{z{zzx|zzzzz{{{{|zzzz{zzz{{{zz{{{zz{zzzyyz{{{{{{{zzzzzyzz{zzz{{{{z{{z{yyz{z{zz{zzzzzyz{z{{zz{z{{{zzzyyyzy{{|{z{{{z{yzzyz|zzzz|{|{zz{yzzzzz|{|{{z}{zzyzzzz{z{zz|zz{z{z{zyzy{zz{zz{zzzzz{yy{|z{{{|{{yzz{yz{{zz{|{|{{z{zzz{z{z{{{{{{{{{zzz{{{{|z{|||{z{z{{z{{{|{{|{{z{{z{{y{{|||{{|z{z{y{zz{|||z{||{{{{{{{{z|{z|||{{z{zz{{{{|||{{|{|{{{|{{z{{|{{{{{|{z|{|zzz{{||{}||{z{{{|{|{|{{|{|||z{{{{{{|}||{||{|{{{zz{z|{|}|||{|{{{zz||z{{{|{|{{z{{||z{{{{||||{{zzz|{zz{{z{{{|{|zzzzz{z{|{||{{{z{z{z{{z{{|z|{{{{{zzzzzy{|{z{{|{zz{{yzyzz{{zz|{|{z{zzzzz{{{{|z||z{zz|zy{zz{{z{|{{zzz{y{y{{{{{|{{|{{yzzyzz{{yz|{|z{zzzzzz{{{yz{|z{yzzz{z{zz{|{z{{zz{{{zz{z{{{z{{{{z{z{zzy{{{{{{{{{zzzzzzz{{{zzz{{{{zz{{zyzzz{{{{z{{zyzz{zz{{{|{{{zzz{{z{zz|{{z{{{zz{{z{{{{{{{{|||{{{zzz{{{z{{{{|{{zzzz{{z{{{{{{||{z{{{z{{z{{{{}{|{{{{zz{z{|{{||{{{z{{{{z{{||{|{||{z{{{{{{||||||{|{{{z{{{{{||}{{||{{{{{{zz{|||{||{{{z{{{{{{||||||{{{|{z{{{{|{{|||||z{{{}{z{|||}{{|z{{|zz{{{||{{|{||{{{{{||{{{||||{{{{{|{{||{|||{{|z||z{|{{{|{{{{||{{z{z{z{{{z{{z|{{|{{{yzz{z{{{{{{{zzy|zzzz{{z|{{{{{zzzzzzzz{{{|{|{zz{{{{z{z|{|{{{|yz{zzz{{{|{{{{{{{yzzzzzz{{{z{{{z{y{zzyzzz{z{{||z{{z{zz{zy{{z{zz{z{z|yzz{zz{{z{|zz{zzz{z{{{{z{{zz{zzz{zz{{{z{{|{z|zzzzzzz{{|z|{z{zzz{zzzz|{{z{{{{{zzzzyzy{zz{|{{{yzz{{zy|{{{|z{|z|zz{z{z{|{{{{z{{z{{{z{{|{{z{|||zz{{zz{z|{{|zz{{{z{z{zz|{|{|||{|{{{{z{{{|{|{|{|{|z{z{{{z|{{z|{|{z{{{|{{{{{{{||||{{{{|{{{|{||{||}|z|{{{{z{|{{|||{|{{z{{|{|{{||||{{zz{{|{{{||||||||zz|{{{z{||}{|}{|z}{z{||||||{|{{{{{{{{{{{{{{{{|||{{{}|z|{|{|{|||{{{z{{|{{z{{{|}|z{{{z{|{z{z{{{|{|{{z{y{{{{{{{z{z{{{{zy{z{{|{{z{{{zzyyy{{z{z{yzz|{{{yz{zy{|z{z|{{{zzz{zyz{z{{z{{{zz{zzx{y|z{z{{z{zz{{z{y{z{{z{{{{zzz{yzyz{z{z{z{{{{yzz{zz{zz{{{z{{zzzzzz{{{{{{{z{zzzyyzzz{{z{z{{{zzz{zz{yz{{{{{{{zz{{yzzz{{{zy{{{{zzzz{zz{{{{{z|{{y{z{{zz{|z{{z{zz{{z{z{z{{|{zz|{{z{z{zyz{zz{{|z{zz{{{zyz|{{{||||zzzz{z{{{|{{|{{{{{zzz{zz{{{|{{}{|z|{z{z{{|z{{{z|{zz|z{zz{{||{|{|z{{{{z{z|{}{{}||{{{{z{{{|{|{}{{{{{{{{{{{{|{|{||{{{|{{{{|{}z|{|{||{{{z{z{|||||{{{|z{|{{z{|{{{|||||{{z{zz{{{|{|||{{{{{||z|{{{|||{{zz{zz{{z{{z{{{|{{{zz{zzz|||{{}{{{{{{zzzz{z{|}|z|{{zz{zzy{z{{{{{{zzzz{zzz{{{{{|||z{zz{zyz|{{z{z{{|{z{zz{z{z}{{{{{{{zzzyzz{z||{z{|zz{{zzyz{z{z{{{z{z{zzzzz{{|zzz{{zyzzz{zz{{z{{{z|{zzzzzz{z{{{{{{{{zzzyzzz{z{z{||{{{{z{z{zyzzzz{{|zz{zzzzyy{{zz{{|{zzzz{{z{z{|z{{{{z{{zzyyyz{|{{{{{z{zzzz{{{{{z{{|zy{zz{z{{z{{{{{|z{{zzz{{||{{{{||z{||{yzzz|{{{||z|z{{{z{z{{|{{||{|z{z{{z{{z|{{|{|{{{{{zzz||{||{||{z{{{z{{{|{||||||{{|{|{z||{|||||zzz{{||{||||||||{|{z{|{|{||{||{||{|{||{z{}|||||}|z{zy{{z|{{|{|||{z|{{{z|{|{|{||||{z{{{{{|{{||{||z{{{zz{{{{|{{||||{{{z{{{z{|{{|||{z{z{{zz{|{|{zyz{zzzzzzzz{|{{||{y{zzyz{z{{{|{{||{{{{zz{z|||{z{{z|zz{zzzz{{{{z{|{{{{zy{zx{{|{{z{|zzzzzzzyzzzz{{{|zz{zzz{zzz{|z{{|zzz{{zz{zz{zzy{zzzzyzzzz{zz{{{z{zzz{zz{zzz{{{z{{zzz{zyzzz{{zz{{z{z{zzzz|zz{z{z|z{zzzzzzzzzz{z{z{z{{zz{zzzz|{{z{|{z{{{zzz{{{{z|{{zz{{zz{z{{{{{z{{{|{{{zz{{{|z{|{|{z{{zz{z{zz{{{{|z{{z{zzzz{{|{{|z{z{{{zz{|{{{|{||{z{z{zz{{{||||{{z{z{{{||{{{{{{||{{zz{zy{{{|{|{{{{{z|z{{{z||z|}}|{z{{{z{z{{{{||||{z{{{|{|{|z||{{{|z{{z{{|{z|{{{}|{zz{{{{{{{{z|{{|{zz|{{{{|{{{{{||{{{|z{{z{{|{z{}{{{{{{{zzz}{|{{|{{{{{z{{{z{{|{{z{zzzzz{zy{{{z{{|{{zzzzz{{zz{{{{|{zzzzzzzz|z{{z|{|{zzz{zxz{||z{z{{{{yzzy{z|z{{{{{{zzzz{z{yz{{{z||{zyzzzzzzzz|zz{zzz{{{{zzyz{z{{{{{{zzz{yzz{{zz{{{z{yz{zzyzz||{{||zz{{zzzzzz{{zz{{{zz{zzzzyz{zzzz{{zzzzzz{zz{zz{{{z{yzzzzzz{{{zz{{{{zzyzzzz{{z{zz{{{z{zzz{z||z{{z{{{zzzz{zz{{z{{z{|{{{z{zzz{{{{||{|{zz{zzzz|{|{{{||{zzzzz{z{{{|{{z{zzz{{{{{z{{{{{|{{{z{zz|{}|{|{|{|{{zzz{z{||{{{{{{|{{{{zzz{||z{|{{|{{{z{{|||{||{|||{{{{|{{|}||}{|||{{{{{{{|{|{{|{|{{y|zz{{{{{{{|||z{{{{zz{{|{{|{{|z|{{zz{zz||||{|{{{zz{z{zz||{|{||{{zzzzzzz{|{{z{{z{z{zzzy{{|{|zz{{{{zzzzzz{{|{{{{z{yyzzyy{zzz{{{{{{{zzzzz{z{{|z{{{zyyzz{z{zz{{|||zz{zzzzxzz{zz{{{{z{{{yyz{{|zy{z{{zzzy{{zz{z{z{z|zzzzzyyz{z|{{z{{zzz{zzyz{{z{zz{{{zzzy{zy{{z{z{{{z{zzzyzzz{{{{{z|z{{zzzzzzz{z{|{zz{zzzzyzz{{{{z|{{zyzz{zyz{|{z{{{zz{{zzz{|{{{{z{{{{{z{yzz|z{{{{z{{y{{{z{{z|{||{{{z{{z|{z{z|{{{z{|{{zz{{zz{{|z|{|{|y{z{{zz{||{{|{|z|zz{{|{|{{|||{|z{zzz{z{{|||{|{{{z{{zz{{{|{{|{|{{zzz{|{{{{{||||{|z{zz{{|{}|||}{{|{{{zz{zz{||{{{||zz{z{{{{{{|{|{|{z{|{{z||{{|{||||{{z{{{z||{||||||{{{{{{zz{|{{{|{zzzz{zz{{{{{|{{{{yzzyz{zy{z{{z{zzzyzzzzyz{z{z{{{{zyzzyyz{zzzz{{|{zzzzyzzz{{{{{{|{zzyyzzy{{{{y{z{z{zyzz{zzz{{zzz{z{zzzz{zzz{zz{{zz{{zzzyzzzz{{{z{zzyzzzzz{zz{{{{{{zzzyzzzzz{zz{z{z{|zz{z{{z{{{|{|yxzzyy{y{{zzz{z|{zzyzzzzzzz{z{|{{xyzzzzy{{{{z{{{{{zyzzzz{z|z{z{{zzzz{zz{{zzzz{{|zz{zzzzz{z{{{z{{{{{zzz{y{{{{{{{{zz{{zz{{z{{{{z||{zzzz{zzz|{z||{zzzz{{|zz{{{{{}{|{{z{{{{{|{||{||{{{zzz{yz{|{{{||{|z{{|z{z||{{{|{|{{{{z{{{{{{{||{|{{z{|{{{{|{|{|}}|{{{z{{z||{{{{||{{zz|{z{z{|||{{{{|{{{{z{{{||{{{{{z{z{{z{{{{{{{|}{{{{zzzy{|{{{||{{{{zzzzzzz{y|{{{z{zyyz{z{{{{{{{{z{z{zzzzz{{{z{||z{{zzyzz{zzz{{|{zzzzyzzzz{{z{{{{{{zzzz{z{{|{{{{|{z{y{{zzz{zz{{{zzzzzzyzzz{{z{{{zz{zzyzzzzyzz{{{{zzzz{zzzzz{zzz{zzy{{zzyzzz{z{{z{zzzyyyyzz{{{{z{zzxzz{zzzzzzzz|zz{zzyz{zzzzz{{{{zzzzz{zzzz{{{{{{{{{zz{zzy{|{{z{{{yz{zzy{{{{{z{|{|z{{zzz{{{{{zz|{|{y{y{z{zz{{|{|{{{z{{{zy{{{|{{|{|{zzzz{{z{|{{{{{{z{{{{z{z|||{|||{z{{|{{{{||{{|{|{{{{{zzz{{||||{{{|{{{{{{z{||{||{|{{|z{{|{{|{||||||z{z|{{{{}||{{{{||{|{zz{{{||||{|{zzz{|{z{{{{|{{{||{{{{{{{|{|z{{}|{z{z{{z{{{{z||{||z{{{zz{|z|{|zz{{{z{yz{z|{{{{|{zzyzzz{z{{|z{{|{{z{{yz{z{{z{{{|{{z{z{{z{{{{{{{{|zzzzzzzz{{{zz{{z{zzz{zzyz{{z{{{{zz{{zzz{{||zz|z{z{z{zzz{{z{z{{z{y{zzzzy{zzzzz{{{zzyzzzzzz|{z{{|{zzz{zzzzz{{z{{{{{zzzzyzz{{{z{z{{{{{{{zyy{{{zz{{z{{z{zzzzzz{|z|z{z{|z{zzz{{{{yz{{{|zzzzyz||z{z{|{zzz{zz{z{{{{z{|{z{{z{z{{z{z{{|||{||{|zzzzz{|||{{{{|z{{zz|{}|||{{{{zzzz{z|{{{{}|{z{{|{|||{||||}|{{{{z|{{z{|{||{}|{{{{{|z{|{|||{||{z{z|{{{{{{{|{{{{{|{{{{|{{|||{|||{{z{{{{{}|||{}|{z{{z{{||{}{{||||z{{z{{||{{||{||{{{{z{{|{|{{{|||{|z{||z{zz{{{{|||{{{z{{{{|{{|||z{{{zz|zzz{{|||{z{z{zz{zzz{{{{{|{zz{{{zzzz||{{z{|zzzyzzzzz{{{{|{|{z|zzzzzz{z{yz||{zzzzyz{{y{{z{{{z{{zz{zyz{{{{z{{{zzzzzzy{z|{{{|{zzy{yzzzzzz{z{{{zzzzy{zz{|z{{z{z{zzzzzzy{{{{|{{{{z{{y{zzzzz{z{|{{{z{zy{z{{{{z{{{{{zyzzzz{|{{{z||zzzz{zzz{{{{{{{{{z{zzyy{zz|{{{{{{z{{zz{y|{{{z|||{{zzz{zz{|{z|{{z{z{{z{{zz{||{||{{{zzz{{{{|{{|{{|{{|zzz{{{{|{||{{z{{{z{{zz{||{|{|{{{|{{{|{|{{z{|{{{{{{{zz{{{}|{{|}zz{|z{{||{|||{|{{{{{z|{|{|{{|{||{|{{{{|{}|{{||}}z{{{z{z{|z}|||||{{z{{{{{{{{}{||{{z||{|{{|{{||||{{{{{{{{{|||{{}|{zzzz{{{z||||{|{z{{{{zzz||{||||z|{z{zzzzz{{z{{{|{z{zzz{y{z{{{{{|{zzzz|zy|{{{{|{{{zyzzzzz{{{{z|{|z{zyz{zzz|{|{{{{{{zzzz{zz|zzz{{{{zzzzzzz{{{{{zz{|zzzz{zy{z{zz{{{{z{zzyy{zzz{zz{{zzzzzz{{zz{{||{{z{zzzzzzz||{zz{{zzz{{z{zz{zzz{{z{zzyzzzz{{z|z|z|zz|{{zzz{{{z{{{|{z{z{zzyz{{z{{{{zxz{zzzz{{{{{z||z{{{z{{z||{{{{{|{zzz{z{{{|{|{{{{{zz{zzzz{{|{|{{{{{{{zz{{|{{{{{|{{z{{{{z{|||}}||{{{{z{z|z{{{|||||{{{|zzzz{{{|{|{{|z{{{{z|{{||||||z{{{y||{{|{{{{{{|z{{{|{z{}|||||{|{|z{z{{{|{|z|||{{{{z{{z|{z||{}{|{{{{{z{{|{{||||{{|zz{{z{{|{||{|}{{{{zzz|{{{{||||z{z{zzz{z|z{{{|zz{{zy{z|||{{{{{z{z{zz{z{{{{z{||{{{z{{zzzz{{{|{{{{{zzzzyz{{{z{z|{{{zyzzz{z|{z{|{z{zyzz{zz{{{{{zzzz{zyyzz{zz{{{|{{zzzyzzz{zzz{{{{{zyzzzzzz{{zzz{{{zzzyz{zz{{|||{{zy{{z{zzz{z{z{{|{zz{{zzyz{{zzzz{{{zz{yzy{z{zz||{y{z{{{{z{{{zz||{{zzz{zzz{{{zz||{{{{zz{z{z|z||{|{zz{zzz{z|z{{||{{z{|{{zzzz{{|{|{{{yzzz{zz{{|{{{|{{z{{{{zz{{|{{{{|{{z{{{{{{|||{}||{{{z{{{{{||{||}||{{zz{|{{||{|{|{{z{{z{{{}|{{|{||{z|z{{{{{{{}|||||{{z{{{|{||}{||{{{|{{z{z||||{||{||{{{|{{z||{{||{||{{{||{||{|{||||z{z|{zzz|{{{{||{{{{z{{z{|{z{{|{{zzyzzzz{{|{|z{{{{{z{zzyz{{z{|{|z{zz{yzzzz{z|{||{{zzzz{y{{{z{|{{{zzzzzz{z{zz{{|{zzzzzzzz{{z{zz{|zzz{zyzz{zz{zz{{{{{zzyzy{{{zzz{{{zyzyzz{zz{zz{z{zyzyzzzyz{z{{{{|{yzzyyyzz{{{{{{{{zzzyzzyzzz{{|{{{zz{{z{yz{{y{z{{{{{zzzzzz{{{{z|zyzz{z{zz{{z{{{{{zzzzzzz{zz{{{{{|{zzzzzzzz{{{{{{}z{|{{{y{zz{zz{|z{{{{{y{z{{{z{|{{{z{{z{z{z{{{{{{{zzz{{{{z{|{{{|{z{{{zz{z{{{{{||{}{|{z|{{{{{||{|{|{z{{{zzz{|{{{{|{|{zz{{|{|}{|{z}}{{|z{{{|{{{{||{||{{{z{|{|{{||}{|{{{}{||z{||||||{{{z{|z{z|{{{||{||{{|{{{z{{||{|{||{zz|{{{{|{{{{||{{{{{zzy{|{|{||{zz{z{zz{z{{z{{z{{{zyzyzy{{zz{{zz{zzz{{zzz{{{{{|{z{{zzz{z{{zz{{z{{yz{zy{{{|{{z{{{{{zzzy{yzz{|{{{{{zzzz{zzzzzzz{zz{{{zzzzz{zzzz{zz{zzyzzyz{z{{zzz{{zzzzz{z{{{zz{{zzyy{z{yzy|{{{z|z{{zzyzyz{{{{{{||zzzz{zzz{{{yz{z{|zzzzzzz{{zzz{{{zzz{zyzz{{{|z{{{zz{zzzzz|{{zz{{{{zz{zz{z{{{zz{{|zyzzy{zz||{{{{|{{z{|zzzz{|{{|{{{{{{zz{z{|{{|{{||{{{{|{z{{||{z{{{{zz|{{z{{{|||{z{{z{{{{{{{{{|{||}{{|{zzz{z|||{||{{{{{{{{{{{}|||||{z|z{{||{{{|{||{{{{|{{zz{|{||{||{|{{zz{||{||{||||{{{{{z{|{{{|{{|{{{{z{z{{{{{{{|||{zzzz{z{z|{||||{{{{zz{zzz|{{|{{{{z{zzzz|{z{{z{{y{yyz{zzz|{z{z|{{zyz{z{z{{{|{{{{{zzzzzzzz{{{|{{zzzyy{zzzzz{{y{z{{{zyzzzzz{{|z{zzzzzyy{{yzz{{{|{z{zz{zxz{{z{zz{{{x{yzzzzzzzzz{|z{zzzz{zyyz{yzz{{{{zyzy{yzz{{z{z{{{z{zzzzy{zz{{{{{z{yyyz{z{{{zzzzzzzz{yzzz{{|z{{{{y{{y{{zz{zzzz||{zyzyzzzzz{{{{z{{{{zzzy{zy|{zz{z{{z{zzzzz{{{{zy{{{zzz{yz{zz|{{||{y{z{|z{{{z{z{{|z{yzz{z{z{{{{{|z{{{{{{zz{{{}{{{{|{{|z{z{zz{{{{{|{{{{|{zz{{{{{{{}|{{{z{z{{||{|||||y{{{{{{z{{{{{|||{{|{{z{{{|{{}{{{{{|z{z{{|||{z||||{{{|{z{{{{{z{|}zz{|{{{{{|{{{||{{|{z{zzz{|{{{|{|{z{{z{{z{z{|{{|{zy{{zzz{||{{{{z{zzyzzz{{z{{{zz{{{yzzzzzz{{{|{{{{{zzy{zz{{{{{z{{|zy{{yzz{{{{{{{{{{zzzzzzz{{{z{{z{zzzz{z{yy{zz{{{z{zzy{zyz{z{zy{zzzzzzzzz|z{{{{{{zyzzzzyzzzz{zz{|{zyzzyzyz{z{|z{{{{zzzzz{yy{z{{{{{{yzzzzzzz{z{{{{{{zyzzyzz|{{zz{{{{zzzzzzzzzz{{{z{zz{zzz{z{{{{{{|{{z{zyzz||{z|||{{{{{{yzz{|{{{{|||z{{zzzz{{{{|z{{{{{zz{zz{|{|{{{}z{{z{{z{z|{{{z|{{{|z{{{{z{z{|{|||{|{{{{|{||{|{|}|{{{{{zzz{||||{|z{z{{{z{{{|||{}||{|{{{{{|{|{{|||||z{{{{{z{}{{z|}|{{{{{{z{{||{{||||{{{z{z||{|{|z{{|{{z{z{z{|||||||{z{{{z{{{{{{{{||{{zz{{{z{|z{{{{|z{{zzz{z{|{{{{{|z{{zzzzyzz{z{{|{z{{y{{zz{{z{z{{|{z{zzzzzy{zzz{{{{z{yzzzzz{{|{{{{{{{zyzzzz{{z{{{{yyz{zz{zzzzzz{z{yzzzzyyz{{{{z{{{|zzzzzzzz{zz{zz{z{zzzzzzzz{{zz{{zzyz{zyzz{{{{{{zzzzzyx{zzz{zzz{{{{yzzz{yz{{zz|{zzyzzzyz{z{zzz{zzzzzz{{zzz{z{z{{{{zzzzyz{{zz{yz{{{z{{zz{{z||zz{|{zzzz{zyz|{{{{{{{{zz{zz{z{{|zz||z|zzzz{zz{{|z{{|{y{{|zzz{|{|{{||{{{{{zzz{|{{{|||{{{{z{{{z||||z|{|{z{{{zz{{|{|z||{|{{z|z{z{||{||||{{z{{z{z|{{{{{|{{{{|z{{{{|{|{{{|{z{{zz{{}{{{|{{{|z{{z{{z{|{{{||{{|{z{{z{z{|||||{z{{z{{z{{|z{{{{{|{z{z{{{{{{{{{z{{{{y{z{y{{|{{|{zzz{{{zzyz{z{{z{{z{{zzzyy{zz{{{{{{{{yzy{zzzz{{{z{{zzz{zzzz{{{z{{{{zzyz{zy{{{{z{z{zz{zzzz{{{zzz|{zzzzzz{zzzz{z{{{{yz{z{zzzz{zz{zz{zzzz{yzz{zz{z{{{yzzz{{yz{z{z{{{{z{{yzzz{y{zzz{|z{zyzyyzyzzz{{zz{{z{z{y{zzz{z{z{{yzzzzzzzzzz{z{|{zzyzzzzzz{{z{z|{{z{zzz{z{{{{{{z{zyzzzz{zz{{z||{|{{{zz{z{|{{{{{}{{{{zz{zz{{{{{{{{z{zz{zz{{{{{{{|{zz{z{{{{{{|{||{{z{{{{{{{{{{{z{{|{{z{z{{{{{|||{|z{{{{{{z{{|{{{{|{{z|{z{z{{{|{{{|{|{{{z{{{{||{}|||{y{{z{{z{{|{{{{{{{{{{{zz}{{{{{{|{{z{||z{|||{{|{}zy{{{z{zz|{{{||{|zz{yzzz{{{|{{{|z{zzyy{z{z{{{{{{|{zzzz{yz{|{{z{|z{zzzz{z|z{z{{z{zz{zz{z{{{z{|{{z{zzyzzy{{z|{{{{{zzzzyyzz{zz{z{{{zzzzzxz{{{z{{{{{{{zz{yy{z{|yz{{zzzzzzzzyzzz{zz{{zzz{z{{z{zzzz{zzzyzzyzyzz{{z{{|{{z{yzzzzz{{{z||{{zzzzzyzz{zz{{{z{z{zz{{y{{z{{{{zzzz{{z{{{{|{|z|{{z{z{{z{z{{{{{z{{y{zz{z{|{{z{|{{zzzzzz{zz{zz{{{{{{{zzz{z{{z{{|{{{z{{{{{z|{{{|z{{{zzzzz{z{|{{{{{{z{{{{{{zz||}{||}zz|{|{z{||{|{|}{|z{{z{z{{{|||||{{z{{{z{z||||{{{|{|{|{{{{z{{{{||{{{{{z{{|{|{{|||}{{{{{{{{|{{{|{|{|z{|{{{{{{{|{{|}{{{{||{{|{{{||||{{{zzz|{{|{{{{{|z{z{z{{z{||{{||{|{{{z{{z{{{{{{{|{zz{z{{zz{z{{{|{zzz|{zz{{{{z{{||z{zzz{z|{z{|{{|y{zz{z{z{z{{|{{z{{zzzzyzzz{z|z{{{z{zz{{y{{{z{{{{zzzzz{yzz{z}z{{{{zz{zzzzy{z{{{z{{z{zzz{zz{{{zz{z{{y{yzzzzzy{{{{|{zz{zzzzz{{zz{z{{z{z{{y{zz{{{{{|z{{{zzzzzz|z{z{{{zzzz{zzz{{{{|z|zz{{{{z{{{z{z{{{|zz{{zzzz|{|{{|||z{{{zz{z{|{{{{{{z{{{{z|z{|||{{{{{{{zz{zy|}|{z{|{{{{{{zz{{|{{||z|{{|{{{z{{{{{|{}|{{{|{{|||{{||{|}{z{{{{{{{||||{|{|z|{{{{|{||{{{|{|{z{{||z{{{||||}|{{|z{{{{|||||||{{{|z{||{{{|{||{{{{z{{{{{z{||{||{{{{{{{z|{{||||||{{zz{{{z|{|{|{}{{z{{zzz|{|{{{{|{{{zzzz{{{{{z|{{{z{z{zyzzz{{zz{{|zzyzzzz{{z{z{{{{z{zz{z{{{{z|{|{{z{zzzyz{z{z{{||{zzzzzzyz|{y{{{{{zz{{y{z{{{z{|{z{{zzzzzz{{zz{{zzzz{y{zzz{{z{{{|{zzyyzyzy{z{z{|{zzz{zzzz{z|{z{{zzy{{zzzz{z{{zz{z{zzzz{yzz|{{zz{|zz{zzzzzzzz{{z{{{zzzzzzzzzz{{{{|z{zz{zzzz{z|zzz{{{zzzzyyzz{{{z|{{{z{zz{zz{{{{{||{{{{zyy{z{{{{{zz|{{{{{{zzz|{{z|{|{z{{zz{{{||zz{{{{zzzz{z{|z{||{|}{{{{{{|{||{|{|||{z{{{{zz|||||{|{|{{{|{{{||{|||||{{|{{{{{|{|{{z{||{zzz{||{}|||{|||{||{{{|{{{}{|||zz{{{|z{{|{{|||{{{y{|zz|{{{{{{{||zz{z{{|z{{{{||{{||{{{{{{|{{z{{{{zzz{zzz{||{{{{{zzzy{zzyz{{|{z{{zzzzzzzzz{zzz}||z{zyz{yz{{{z|{{{yyzzz{zzz{{{z{{z{zzzyzzz{z{{{{{|zzzzzzzz{{z{z{z{{zzzyzzz{{{z{z{zzzzzzzz{{|{|{z{{z{zzzzzzzz{zz{{{{zzzyzz{{z{z{{{{{z{yyzy{z{{{z{|z|{z{{y{yzzz{{z{|{zzzzzzz{z{z{{|{zzzzz{{yzz{z{z|{{zzz{zz{{{{zz{{|{zzz{zzzz{{{|{z|zzzz{{yz{{|{{|{{zz{|{z{z{{|||z{{{{{{zzzz{z{|{{{|{{{z|{{{{{{{z|{{{{{{{{{{|{{{{{{{z|{{zz{z{{{|{{|{{|{{{zzz{{||{||{|z{{{z{z{|{||||{{{z{{|{|{||{|{|}{{{||{{{{||{||||{{|{{z||{|||{||{{zz{{{zz{|z{{|}||{y{zz{|{|||{{|{{{{{|z{{z{{|||{|{{{z{z{{{||{{{||z{{zzy{z{{{|{{{z{yyzzy{yz{|z{{{{{zzzzzzy{{{{{{{|zzzz{{zz{z|zz{|{|zzz{zzzz{z|z{{zzz{zzyzyz{{{z{z|{z{zzzzzz{zz{z{{z{zzzz{yz|z{z{{zzzzzyzzyzzy{z{{{zzzz{zzzy{{{{{zzz{{zzzzzzzzy{||{z{zzyzzyzz{zz{zzzzzzzzz{yzzz{||{{zz{zzyyz{zzz|{zzzzyzzzyz{{z{{{{{{zzz{{z{zzz{{{{zzzzzyzzz{{{{z{||{zzzzz{{z|{|{|{{{y{zzz{{|z|{{|{zzz{{zzz{{{{{{{{zz{{zzz{z{{{z|{{{zzzz{{{{||||{||{z{z|{z{z{{||{||{{{|{{|zz|{||{|{|z{{zz{{|||{{|||{z{{{{{z{{|{||{||{{{{|{{{{|{|||{|z{{{{z|{|||{{{{|zz{{{z||{{|{|||||z{{{{{||{{{{}|{{zz|z{z{{{z{|{{|zz{zz{{{{{{{||{{zz{zyzzz{{{{|z{{yzz{yzzz{|{z|{{zzzz{zzzzzz{{{|{{y{zzzzyzzz{z{{{zzzyzzzzz|{z{z{||{zzyzzy{z{|{{{{z{zzz{zzz{zzz{{zz{zzzzyz{{zyz{zy{z{zz{zz{zz{z|{zzzzzyyzzy{z{zzzxzzzzzzyz{{{z{{z{{{{zz{{zz{zz{{|{{z{zzzzy{z{zz{{zzzzyzzzzz|zzz{z{{z{{{zzzz{{{{z|{zzzzz{{zz|{{|||{zz{zzzz{{{{{{|{{{{zz{z{z{|{{{{{z{z{zzzzz{{{{{z{{|z{zz{{z|{|{{{|{{{zzz{zz{||{{||{{zz{{{z{{{{}{|{}z{{z|z|z{|{|{|{|{z{{{{|{{|{|{||{{{z{{zzz||||{||{{{{{{{{{z||{|||||{{{{{{|{{z|{||{|z{|{{{{{{{|{|{{|zz{{||{{{{{|}||{{{{{{z|{{{|{{|}{|zz{z{{{{{{{{||{{{zz{{zz{{{{{{{{z|z{{z{{{{{{{zyzzzz{z{y{{{{{{z{{zzzyy{z{{{{{{{z{zzzz{zz{zz{{{{|zz{yzzzz{zz{z|{{zz{yyyzy{z{{{{{{{zzz{zyzy{{z{{|{zzzzzzxz{{{zy{|{yzzzzzyz{zz{zz{zzyzyzyzzzz{{zz|{zzyyzzzz{z{z{z{zz{z{zzzz{{{{z{z{zzzz{zzyzzz{zz{{|z{yyzz{zz{{z{||{zzzzzzz{{{{{{}{zzzzyzzy|z{z{{{{{z{y{yz{{{{{{|{|y{{yz{zz{{{|{{{{{{z{{z{zz{|{|z|{{z{zz{zz{{{z{z{{{{{zzzzz{{{{z|{z{{{{yzz{{{{|{|{{{{{{z{{|z{|{z|{{{z{{zz{z|||{|{{|{{{z|{zz{{{{{|||{zz{{{{z|{{{{|{{{|{{{|{z{{{{|{}{{{{|z{z{||||{{||{zz{{{z{{||{||||{{{{{{{z{||{|||{z{z{{{{y{|{{||{||{{{{{z{{||{{{|{zz{zzz{{{z{{zy{{zzzyyzyyz{{{|{z{z{zyyzzz{|{z|{z|z{{zyz{z{zz{z{|{zz{zzzzz{{{{y{{{{{zyzz{yz{{z{{{{zz{zzz{zzz{{z{zz{z{{zyyz|{zyzzzz{zzyz{zz{z{zz{{zzzzzzzzz{z{{zz{{zzyyzzzzz{z{{{{{zz{zzzzzz|{|z{{{zzzzzzzyzyzzzz{{zyzzzzzzz{z{|{{{zzzzzzyz{zz{{||{{zz{zzzy{z{{{{{{{{zzzzzz{z{zz{{{z{{zzzz{z|{{{|z|{zzz{{{z{|||{|{{zz{{{|z{{{{{z|{{{z{zzz{{|{z{z|{|{zz{{{{{{{{|{||{{{|{{z{z|{z||{{|{z{{{{{z{|{|{z|{{{zz{{z{|{{{{||{{{|{{{|{|{{{||}||z{{z{{z{|z{{{{|{z{{z{z{|{||{{{|{z{z{{z|{{{{||{||{|{|{{||{{|||{|{zz{z{{z{{{|{{|{{{{z{z{zz|{{z{|{zz{z{{{z{z{zz{{{z{yzzyzyz|{{z{z{zzyyz{zzy{zz{y|{{zzyzzz{zz{{z{|zzyzzzyyzz{yz|{z{yzzyzyyyzz{{{zz{zz{yyz{zy{{{z{{{zzzx{z{{z{{zzzzzzzzyzyzzzz{zzzzzzy{zyz{z{z{{zzz{zzyzyzzzzzz{|zz{zzzzyzzzzzzz{{{{{zz{yxzy{z{zz{z{zyzzzzzzy{{{{z{{zyzyy{zyzz{zz{|z{zzy{zzz{{zz{z{{zzzzzzzz|{{z{{{{z{{zzzzzz{{{{{{{z{{{zy{z{z{{{{|{zz{{z{zy{{|{{z|{{{zzzzz{{{{{{{{{{{z{{{z{z{{z|{{{yz{{{{{{|{{{{{|{{{{{zz{{{{{{{{|{{zy{{yzz{{|||{|{zz{zz{z{|{{||{{{{z{|{{zz{{|z{|||{{z{{z{z|{{{{|{{z{{zzz{{{{{||{||{{||{{z{{||{{{||{{z{z{{{{{{{|||{{zzzzzzz|{{|{{{{zzzzzzzzz{{{{{z{z{zzzzyzz{z{zz{|{zzyzyzz{{|{{z{{zzzzyzzzz{z{{z{{{z{{zzzzz{{{zz|zzzz{zyzzzz{zz{{{yzz{zz{zz|zzzz{z{{{z{zzz{{z{z{z{yyzzyzxzzzy{y{z{zzzyzzzz{z{{z|{zzzzyzzzz|z{{{{{{zzzzzzyz{{z{{{{{zzzz{zz{z{z{{{z{zzy{zzzyzzy{z|z{zzz{{z{zzz{{{z{{zzzzzzzzz{{{z{{{z{zzzyzzz{z{{{{{{{{z{{zy{{{{z{{{z{{z{y{y{zz{{{zz{zzy{zzz{{{{{{{{{{z{zyz{{|zzz|{{zz{{{{zz{|{{{{}{{{{{{z{{{{z||{{|{{{{yz{{{||||{|{{zzz|z{{{|{{|{||z{{|{z|{|{|{{|{|{|{{{{|z{}{||{|{|{z|{zz{{|{{z|z|{zz|{{z{{{{{||||||z{{zz{{|{{|{||{zzzzz{z{{{}||||{{{zz{zzz{|{{{|{zyzz{zzz{|zz{{z|{z{{{yzz{{zz{{z|{{{zyyz{{{{z{{{{zzzzzzzzz{z||{{{|z{zzyz{z{z{{{{z|{zyy{{{{zz{z{z{zzzzyzzzzy{{zz{{zzzz{zzzzz{yz{{{{zyzyzzz{{zzz{{zz{zzzzzy{z{{zzz{zyyzzzzzz{{z{z{{z{{zzz{zzzz{z{{{zzzzy{yyz{{z{{{z{z{zzzzyz{{z{{{{{{{yzzz{{zzz{{{|yz{{zzzz{{{zz{{z{zz{zz{zz{{{{|{{z{{zyzzzz{{{zz{{{{z{{y{z{{z{{{|{z{{{z{z{z{|{z{|{{{z{yz{||{{zz{{|{{{z{{{z|{||||{|{{z||z{{{{{{||{}{{{{{zz{||{|||}{|{{{z{||}|{|||||{z{{{{{{{|{{|{||z{{{{|zz{|||{{{||z{{z{{{|{{|||||{z{|z{{{{|||{{{{{{{{{{{{{{{{{|{{{zzzz{z{{{{{{{{||{zz{{{z{|{||{z|{z{z{z{{||{{{zz|zyzzzyzzz{{zz{{{z{zzyx{{|{z{{{z{{zy{zzzzz{zzz{{{zzzzzyzzz{{{{{{{{zzyzyyyzz{z{{z{zz{{yzyzzzzz{{{{zyzzyzzzyzzyz{zz{zzzzzz{zz{{{zz{zyyyzzyyz{{z{z{zzzzzzzyzzzzz{{zz{y{zzzyyz{z{{{{{{zy{{z{zy{zz{zzzz{yy{zzyz{zy{z{{z{{zz{zyzz{{z{{{{{{y{y{z{{zz{zz|zzzzyyzz{z{z{{{|{|zzzzyzz{z{{{||{zz|{yzz{{{|{{|{{z{z{z{z{z|{{{{{z{z{zy{z{|z{z{{|zz{{z{{z{{{|{||{zz{zz{{{{{{{z||}z|{{z{{z|{{{{{{{{zz{zzzz{|{{{{|||{zz{|{{{|{{{|{}|{{{z{z{||||||}||z{{zz{{|{{|{|||z{{z{{{{|{{{||||{y{{zzzz|{{z|{|{zz|z{z{{{{{{||{{{{z{zz{{z{{{{z}{{z{{{zzz{{{{{z{zzz{zyyzzyzzzyz{zzzzzzyyzz{{z|{y{{zyzyzzz{yzzzzzzzzzyxzzyzzzzzzz|zz{yxzyyzz{{{z{{zyzyzyzz{|zyz{z{yzzzzyzy{yzzzzzzzzzyzzz{zzzzzz{zyzzzzxyyzz{zzzzzzz{yzyyyzzzz{zz|{z{zz{zyyz{zy{{zzyyyzzyyzzzyy{z{zyzyyzzyy|zzy{{{zyyyz{zy{|y{zz{zzyzzzx{z{{z{z{{zyy{yyzzy{{{zzz{|zzyzyzz{{zzy{{{{{yzzyzzyz{{z{{{z{zzzzzzzz{z{{z|zzzyy{zyz|{{{z{|{zz{zz{z{z{{{{|{{{{{z{zz{||z{{{|{{{yzz{zz{z{{{{|{{{zz{{{z||{{{}|{{zzzz{{{{{z{{{{{{z{zz{{z{|||{|{{{zzzz{{{{{z{{|{{|zyz{zz{{z{{z{{{{z{z{{zz{{{{{{|{{z{yz{zzzzz{zz{{z{y{z{zzz{{{{z{{z{zxzzzz{{{zzzzz{zzzzyzyy{zz{zz{zzyyzyzz{{z{z|{{{zzzzz{zzzzzz{{{{z{{zyzzzz{zy{{{{zyyzyyyzzz{zy{zzzyyzyzzyz{zzz|z{zyzyzyyz{{zz{y{z{zyyzzzzyzzz{{{zzyyzzyzz{zzzzzzzyzyyyyzzzzzz{zyzz{zzzzzy{y{zz{{zzzzyzzz{z{yyzzzz{zyzzyyz{{{z{{{zy{zyzzxz{{{{{{zzzzyzzzz{y{{{{z|zzzzzzzzzzzy{{{zzzzzz{zzz{z{|{zz{zzzzzzzz{z{{z|{yyyzy{{zz{z{zz{zz{z{{zzz{{|{z{{{zzz{z{{z{{yz{||z{{zzzzzz{{{|{|{{{z{zzy{z{z|{{{{|{zzy{{{y{{{{{z{|zzz{{|zz{{|{|{{{{{{{{|z{z{|{{{{{{{{zyz{z||||{|{{{zzz{zzz{||{|{{{{{{zyz{{z{{z|{{|{z{yz|zzz{{{{z{{{{{zzy{{zzz{{{{{zz|yz{yz{{z{{z|zzzzzyyzyzzz{zzz{zzzyzzyyyy{z{{{zzzzyyzzzyz{zzzz{zyzzzyyzyzz{{z{{{z{yzyzyzzzzy{y{zz{yzzyy{{{{zzz{{y{zzyzy{z{yzzzzzzzzyzzyzzzz{zz{yyzzyzyzyz{zzyzyzzzyyzyzyz{z{{{{zzzyz{zyzzz{y{{z{yzzzzyyzzzzz{z{zzyyzyyyz{yyzzz{zzzzzzxz{y{z{{{{{zzyzzzzzzzzzzz{yzz{zyzyz{zzy||{{zzyxyzyz{|{zz{{z{z{yyzyz{zz{{{{{{{z{zzy{{{{{z{zz{yzxzzzz{|zz{{zzz{{{{{z{{{{{{{{{z{{yz{z{{z{{{||{{zzyzzzz{|{{{z{{zz{{zzz||{z{{{{{z{z|{{{{zzz{||{z{{{z{zzz|{{{|{|zz{z{{zz{z{z{{{{{zy{{zz||{|{{{{||{zzzz{z|{z||z|{{{zz{{z{z|{{{{|{{zzz{z{yzy{|{{{|zz{zyz{z{{{zz{|zzzzy{yzyzz{yzz|{yzzyzzzyzzzz{z{{zzyyzy{yzzzzz{z{{zyyyyzzzzzz{z{{z{zzzzzyzzzzz{z|yyzyzzzyzzzyz{{{zyzyyy{y{z{{zzzzzyyyyzzzzzz{z{z|{{zyzyzzz{zz{zz{zzyyzyzzz{{zzz{zzyzyyzyy{z{zz{{{yzz{yzzyyzz{zz{zzyzxzyzyzzzzzzzzzzzzzzxy{{zzzz{{yzyzzyyzzzzzzzz{zz{yy{zyzzzz{z{{zzzzyzzzzz{z{{{{{{yzzzzyy{z{z{z{zzzzz{zz{{{{zz{{{yzy{zzz{{{{{{z{zz{z{zz{{{{{{{|{z{y|zz{z{|{{{}||{{{z{{zy|{{{{{|{{{{{zzz{{{{{{{|{|z{zzzz{{{{|{||{{{z{zzyz{|{{z|{{{zz{zz{z{{{{{{{|{zzz{{zz{z{|z{|{z{{z{{zz{|z}{||{{zzzzzzz{{||{z|{zzz{{zzz{{{z{{z{zz|zyz{z{zzz{zz{zxzzzyzzy|{z{{{zzzyzzzyyzz{{{{{zy{yyyzzyyzz{{{z{yzzy{yyy{z{{zyzzzz{zyzzyz{z{{zy{zzzzyzzyzz{yz{zzzzzyzyyzzzzy{{z{zzxyyzyxz{zzzzz{yyyyyyzzyzzyzz{zyzyzyzzzzz{z|{{{zyzyyzy{zz{{z{z{zyzyyyzxyzzyz{{{zzyyyyyyz{z{z{z{zzzzzzyz{{zzzzz|{z{zzyzzzzzzzzzzzzzyzzzz{z{{z{z{zzzzzz{y{{zz{z{zz{zzyzzyzz{z{{{zzzzzz{yz{z{{{{{{{yzzzz{z{zz{z{z{zz{z{{y{z{{{{|{{{z{y{z{z{{z{||{{z{z{zz{{{z{{{{{{{zyz{zzz{z{{z{|{{z{zz{{z{{z|{|{|{{{zz{{z|||{|||{{z{{zzz{{{|z|{{||{{z{zzz{{z{{{{|zz{z{zzz|{{z|{{|z{zzzzzzz{{|{{{{zzy{zz{y{z{{z{{{z{zzzyzzz{zz{zzzzzyyzzzyzzzzz{{zzzzyzyzyzy|z{{{zyz{yyyzy{yz{z{z{{zzzyzzyzzzzyz{{yzzzyy{xzzz{z{{{{yzyzzyz{z{zz{{zzyzyyyzy{{{zz{{zzzyzzzyyzzz{{z{{zyyyyyzyzzz{{z{zzzzyyyyzzz{z{zz{zzyxyzyyz{zzzzzzzyzyyyzyzyzz{z{{yzzyzzzyzzy{z{zzzyyzzzzyzz{{z{{zzzzzzzyyz{z{{z{zzyzz{yzz{{zzzz{{zyzyzyzzy{{{zz{zzzz{{yzzz{{{{z{zzzzzzzyz{{z{{{{z{zz{zzz{{{z{z{{{z{z{{{y{z{{|{||z{{{zzz{z{{{|{|{|zzzzzzzy{{z{{|{{{{y{{{{{{{|{{{{z{{z{zzz{{{z{{|{{|zz{{{zzz|{|{{||{y{{{{zz{{z||{{{zzzz|zz{{z{{|{|{|z{{{|{{{{{{{||{zz{y{z|zzz{||{|{{zzzyzzz{z{|z{{{zz{yzzzzzz{z{zzzzyzzzzyzz{{zz{zzy{{zyyyz{{{zz{{{zyzzyzzzz{{{{{{{zzzyyzyz{{z{zy{zzzzyyzzzy{{{{{z{zyzzzzyyzzz{zz{zz{zxzzyz{z{zzzzzzzzyyzzyzzzzz{{{yxzyyy{yz{zzzzzzzzzyyyyzz{zz{{zzzzyyyzzzz|zz{z{yzzzzzzyyzzzz{{z{zyzyzzyyzzyzz{|zzyyzzzzzzz{{zzz{zzzz{yzyz{{z{{|{z{{zzyzz{zz{{zzzyzzyz{z{zz{{{z{{z{zyzzzzz{z{{zz{zz{yz{zz{z|{{{z{{z{yz{zzzzzz{{{{{{z{{{zy{{|{|||{z{{{{z{zz|{|{{{|{{zz{{zzz{{{{|{|{y{z{zzz||{{|||{{{{zz{{|z{{{||{{{zzz{{{{z|{{|{{|z{|zz{{{{{z|{{{{{{zz{z{z|z|{{|||{{{{{z{{|{{{{{|{{{{zz{yz{z{{{{|{{yzz{z{{z{{{zz{{y{zzzzzzz|{z{{{zzzyy{yzzzzy{{{{{zzzzyyzzyyz{zzz{{yzy{yzy{zz{{{|{{y{yzz{zzz{zzz{{zyzzyyzyzzzzz{z|z{{zzzyzz{yz{z{z{zyyzxyy{y{zyyzzzyyzyzyyyzzzzzzzz{yyzyzzyz{y{yzzyyyzzzyzzzzz{zz{yz{zzyzyzzy{{{{{zzyzyzyyzzz{{{yz{xzyzyyzyz{{yz{{{zyyzzzzy{{zzzz{y{zyzzyzxz{z{z|{zzzzzzy{{z{{{z{|zzzzzzzz||zz{{z|zyzzzzzy{{{{{{zzzzz{zzzzz{{{zz{zzyzzzzy{z{zzzz{{{zz{zzy{{|{{|{|{zzzzzz{{{|{|{|{z{zyy{{yz{{{{|z|{zzzz{{z{||{zz{{{{y{z{{{{{{z{{{{z{zzzz{{z{{{|{|||{{{z{z{z{{|{{{|{{zzzzzz{{|{{{{{||{{{z{{{zz{{{|{{zyzzzzz{z{{z|{{{zzzyzzzyz{{{{{{zzz{zzzzzz{{yzz{zzzzyzyzzz{{zz{{z{zzzzyz{{{{{{{y{{yzyzzzyzz{zz{{{{zzzzyzzzzz{zz{{{zyzyzzy{{{{zzz{zz{{zyyzz|zzzz{zz{zzyyzz{zzz{zzzzzzzyzzyzzy{{{{zzyyyzy{yz{z{{zzzzzzzyzyy{{zz{zyzz{zzz{yyyzz{{zz{zyy{zyyyz{yzz{z{zy{y{{zyyzz{{|z{{zzzzzzyzyz{{{{{z{zz{yyzz{yz{z{{yz{zz{zz{{zz{zz|zz{yyz{z{{{z{{{{|zz{yzzzz{z{|{zzzz{zz{zzz{{z{{|{{zzzzzzz{{|{|{{{{{zz{zzzz{|{|z{|{z{zzz{{{{{{z{|{{z{zz{zy{|z{{{|{{z{z{z{{z|{{|{|{{zzz{z{{{|{z||{{{{z{z{z{{{{{||{||{{{{zzz{}{zz{{{{zz{{{{{{{z|{{z|zz{z{{zz|{{{{|||{{z{z{z{z{{||{||{{{{{zzzz{z||{{{zzzzzzz{z{{{{{zz{{z{zzzyzz{y{zz|y{zzzyzzy{{zy|z{{z{y{zyy{{zzzz{{zzzyzzzzzzzzyyz{zzzzy{yz{zz{{zz|zzzzzz{yzz{zy{z{|zzyyzyzz|{zzz{{z{zyyzzzzzz{zz{zzzzyzyzyz{zzz{{{zzyzyzyzz{zz{zzz{zzzzyyzz{zzz{{{zzzyyzyzzzzz{{zz{zzyyy{z{{{|{{zzyz{zzzy{{{{{{{{{{{{zzyzz{{{y{{{{zz{zzzzyz|{{{zz{{zzzzzzzz{|{z{{{zyzyzyzyzzzzz{{z{z{zzzz{zz{{zz{z{zzzzyz{|{{{z|{{z{z{{z{z{{{{|{{|{zzzzz{{{{z|}{z|{zzz|{z{z{{{z{|{{zzzzzzz{|{{|{|z{{{zzz{z|{z{||{{{z{{{{{z{||{|{|{{z{z{yz{{|{{{{|z{{{zz{{{{{{{{|||{{{{|z{{{{{{|{||zz{zzyz{zz{|z}||zzzzz{zzz{{{{z{{zz{zzyzz{|{{{yzzyzyzzzzzyzzz{{{{zyzzyyz{zzzyz{{{zyyzyzzyzzzyzz{{zzzy{zzzz{{{zzz{zyyzyyzy{zzz{{{zyz{yyzzzyzzzy{{zzyzyyyyz{zzyzzyyyzzzzzyy{z{zzzz{zxzyyyzyz{zyy{z{zyy{zyyzyyz{{{zz{yzzxyyyz{{yzzz{yyyxzyyyyzz{z{{zzzzy{zzyzzzz{{{zzzzzy{zz{zz{{{|{{zzyyzz{z{{z{zzzzyyyzyz{{{{{{z{{yzyzyzz{{z|zz{z{yzy{zyzzz{z|{{zzz{yyzzzzz|{{zz|{{zzz{zzz{z{y{{{{{{zzz{z{{z{z{{{{zz{z{zz{{z{z{{{{{{{zzzzyz{{{{{z{|z{{{zzy{z{{|{||zzzzzz{z{{|z{|||{{{{yz{z{{|{{|{|{z{{zz{{zzz{{{{{z{y{zzz{{{{|||z{{{z{{zz{{{{|{{||z{{zy{zz{{{{||{|zzzzz{zy{||{{z{{{yz|{{zz{{zzzz{zzzzyzzyzy{zzzz{zzzzzyyyyyzzzyzzz{zyzyzyyzzzz{z|{yzz{zyzzzz{{z{z{zz{yzyzzyz{{z{{zzyzzyyzyyzy{z|zzzzzyzyzy{z{zzzzyzzyzzzzzzzzzzz{zzzxzyyzzzzzzzy{zzz{zzyyyy{{{{y{zyz{zzzzyzz{zzzz{{xzzzzyyyzzzz{zzz{zyzyzzyzy{z{z{yyzyyzyyz{z{zz{{{zzzyyzyzzz{zzz{zyzzzyzyz{yy{z{zzzzyyzzzzz{zzz{{zyzzzzzzz{z{{{{zzzz{zzz{z{|{{{|z{zyzyzz{{{zz{{{yz{z{z{zz{|{{{|{{zz{{{{{{{{{{z{|{zz{{zzzz{|zz{{{z{{z{{z{z{{{{{}{{{{z{{{{y{{|{{{{{|{z{{|z{{||{{{{{{{{{zzzz{{z{{|{|{zz{{y{|{{||{{{|{{z{{z{{{z{{{{{yz{{z{zzz||{{|{|zzzzyzzzz{|{{{{zzzzyz{{{z{z|{zzz{zyzzzzzyz{z{zzz{zzzzzxyzzzzzz{{z{zzzzxzyzzz{z{{zzyyyzzzzzz{{zz{zyzzzzyyxzzzz{z{|zyzy{zyz{{{yz{{zzzzxzyyz{zzyzyzz{zxxzzzyz{y{zzzzyzyzzyyzz{zzz{zzzyzzyyzzzz{{{{zzzzzzyzyyz{{z{{{{yzzzzzzyzzzzzzzzzzzyzyyzyzy{zz{{yyzyzyyy{zz{zz{{zzzzzzzzzz{zz{|{zzzzzz{zzy{|{{{{z{zzzzzzzzzz{{{{zyz{zyz{z{{{{{z{zzzzzzzzz{{{z{zzzz{{y{zyz{{{z{|zz{{zzzzzz{{{{{{{{{{|z|{{{{z{{{{{{{z{zzyz{{|z{{{{|zz{z{{{{{{{{{{z{{z{z{{z||{{|{{{|zzzz{zzz|{||{|{{{zyzz{{z{{|{{|}{zz{y{z{zz{{|{|{{{y{{{z{{{z|||z{|zzzz{z{zz{{z|{}z{yz{zzz{{{|{{{{yz{yzzzz{|z{|z{{zzyzzyyyy{{zz{{|yzyzyyyyyzzz{{zzzyzyyyzzzzyz{{{{zzzzzzyzzz{{zyz{{zzyyzzyzz{zyz{{{zzz{yxyzzz{zyzzz{yyyyyzzzzzzzzz{zzyyyyzzxyzzzzzyzyyzzyzzyzyz{{zzyzzzyyzzzzz{zzzzzzzxyzyzy{yzzzzzzyzzzyyzzyzyz{yzzyyzzyyyzy{zz{z{z{yyyyyzz|{{zz{zzyzzyzzzzzz{{|{zzzzyyz{{zyz{{|{zz{zyzyxyz{zzz{zz{yzyyzyz{z{{{z{yzzzzzyzz{zzzz{z{zzzzz{yz||{zz|z{yzzz{zyy{{{{{{{z{z{{z{z{{z{{{{{zzz{zzzzz{{{z{{zzyz{{{{zz{{{{{{z{zzz{{{zz{y{{zz{{zz{zzzzz{{|{|}{{zz{z{yz{{{{{{z{zzzzzz{z{zzz{z|{{zzz{zz{|z{|z{{{zzzyzzzz{z{{z{{{{zzz{zzyz{{|zy{{zzzzzyzyyzz{{z{zzy{yzzzyz{zzzzzzzzyzyzzy{zz{z{z{{zxzzyyyyzz{z{zzzyyzyyyzzzzzzzzzzyyzyyyy{y{z{zzzyzyzzzzy{zzy{yzzzzyzyyzyzzzzz{{zzyxyyyzy{zyy{zzzyzyyzzyzy{zzzz{zzyxyyyyy{y{z{zz{yxyyyyyzzzzzzyzzzyyxyyyyyz{zzzz|zzzyzzyzzzzzzzzzyzzyy{zyzyz{zzz{zzzyzyzzyzzzz{zzzzzzzzzzzz{zzz{{zz{zzzyyz{z{z{{y{yzzyyyzz{{{{{{zz{zyz{yz{z{zzzz{{zzzzzzy|{{{{z{{zzyzz{zzz{{{{||{zyzy{z{yz{{{{||z{zzzzyy{{{|z{{|{{z{zzzzzz{{z{{|z{zz{z{z{{zz{{{|{{yyz{z{{z||z{{{|{zzzzz{{|||{{{{{{zzzzx{y{{z{{z|{y{z{{{z{{{{{{{{|z{zyzy{zz{z{|{{zzzzyyzzz{{{{zz{zz{zzzz{yyz{y{zyzzyzz{zzyyz{yzzzyzzyyzyzzzzzyzxz{zzyyyzyyyyzy{z{{zzz{yyyzzzz{{z{{zzyyzzyy{zzzyz{{zyyzzzzyzzzzz{zzzyzyyzyyzz{zzxyzyyyzzyy{z{zzz{{{yyyyyyzxzzzzzz{{zyyyxyyzyzz{zzzzzyzzzzyz{zzzzz{zzzyzyyzyz{yz{zz{xyyyyyyyyzzy{zzz{zyyzyz{yz{{zz{zzzz{yzyyzzz{z{y{zzzzzzzy{y{{zyzzyzzzzyzzz{{zyz{{zyzzyyzyz{zzz{{zz{zzyyyy{{z{yz{zyzyzzz{z{|{z{{{{zzzzzyzz{{{{|{z{z{zzzz{z{zz{z|z{zzz{zzzy{{|{{{|{{zzzzyzz{{z{z{{{{{z{{{zz{zz{{|||{zzzzz{yz{{{{|{{z{zzz{zz{{z{{{{z{{{y{zzzzz{{{{{{{yzzzz{zzzzz{{{|{z{zzzzzz{zz{{{{zyz{zzzz{{{{zz|z{zyzyzzy{{zz{z{{zz{yzyyyzzyz{{zzzzyzzyzz{yz{z{{z{yyyzzyy{zzzzz{{zy{zyyzyyz{zzzz{zzyyzzzyzzz{{zyzyyyzyyyzyzzyyzzzzyyzzyzzzyyy{{zzzzzxyzyyzzzyzzz{yyzyzyyyyzzzzzzzzzxyyzyyzzzyzzzzzyzzyzzzyzzzyy{zzyzyyyzyyyzyzzz{zzyzyyzyzzz{zzz{ywzzzzzyz{zzz{zzzyzyzyzz{z{zz{{{zzzyzzzzz{y{{z{{zzzzzyzyzzzzz{{{{zzyyzyz{{zzz{{zz{zzzzyzzzz{{zzzzy{zzzzyz{zzyz{zzzzzzzzzz{{z{{z{z{z{zz{z{{{z{z{{{y{{zzzyz{{z{{{z{zz{{zzz{{{{{{{{{zzzz{zzz{{{z{|{{zz{z{y{z|{{{|{z{{zzzzzzzyz{zz{{zz{{zzzzz{{{|{{z{{{z{{{{{{z|{{zzz{{zzzzzz{zzzz|{z{{zzz{y{{|{zzzy{zyzy{zy{{{z{z{{yzyyyyyyyzzzzzz{zyzyzyyzzz{z{zzzzzyzyzzyzzzzzzzzzyzyzzzy|zz{zzz{zyyyyxzyyyz{zz{{zyyzzzzyz{z{zzz{zzzyyyzzzzz{z{z{zyzzyyyzyzz{zyzzyyzzyzyyz{zzzz{zzzyzy{y{yy{{{{{zzyzyyyyzzzz{zz{{zzzyyxzyy{z{zy{{yzyzzzyyy{yzzz{{yyzzzzyy{z{zz{zzzzyyzzzz{{zzzz{zzzyzzyzzz{zzz{{|yyzzyyzyzzz{z{{zzzzzzzzzzzzzzzzz{zzzyzyz{{{zzz|yzyz{zzz{{{{{y{z|{zyzz{z{{{{{{|{|zz{z{{{{{{z{z{|{{zzzzzyz{{{{{{z{zz{{{zzz{|z{|||{{{{z{{{{{{{z{{|||zz{{zz{z{||||{{{z{{{y{{z{{{{zzz{z{zzz{{z{z{{z{||yz{{zzz|z{|{{|{zzzyzzzzz{{{z{{{{zzzz{yzzz{{{{zzzyzzzzzzy{zz{z{{zzyxzzzyyzzyzz{{yzyzzzyzyz{zzzzzz{yyzzyyzzzy{{zzzyyzzzyzzz{z{z{{zyzyyz{yz{z{{zz{zyzyyyzzzzzyz{zy{yz{yyyz{zz{z{zzzzzyyyzzzzz{{{{{zyzyzxyzyzz{zz{y{zzzxzzyzzzy{y{zzzyzzzyxz{{{{z{yyzzzzyyzyzzzzzzz{zyzyyzzz{yzz{zy{zzyzzzy{{zzzz|zzz{zzzz{zz{{{z{{zzzzyyzyzzzz{z|zzyzy{zz{yzzzz{zzzz{z{zzy{z{zzz{zzzzzzzzzy{{zzzz{{z{zyzz{{{{z{{{zzzzzz{z{z{|{{{{zzz{zzz{{{|y|z|{|yzzzzzyyz{}zz||{zzz{zyzz{{{z{{||zzzz{z{{z|zz{{{{{zzz{{z{z|{|{{|{{z{z{{z{{{|z||{z|z{zzzzzz{z{{{{{|zzzz{z{{{{{{z{{zzzyzzzzz{z{{z|z{z{zzzzzz{z|{z{{zzzzyzzz{{{zz{{zyzyyzzzzyyz{{z{yzyzyzxyyyzzzz{{z{zzyyzyyzzzz{{{{{zzyzzzyzz{{z{{zz{zyzyzyy{{zzz{yzzzzz{yy{zzz{{zyzyzzzyzzzzzzz{zz{zzyzzzz{yzyz{{|zyyyyyzzxz{zzzzyzzzyyzyyyzzzz{{zzyzzyzzzzz{|{z{{zzzzzzzyzyzz{{{{yzzzzyzzzzzz{{y{zyzyzzzy{z{zzzz{zzzyzyyzz{z{{zz{zz{zzz{zyz{{{{{|yzzzzzzy{zzz{{{{z{{zzzzyz{{{z{{{{yzzz{zzz{{zzz|{{{{zzzzzz{z{{{{{zzzy{z{{{{{{{{|z{z{{{zzz|{{{{{||{zzzzzzzz|{{|z{{{yzzzzzy{{{{{|||{z{zz{zz{{{{z|{{{zzzz{z{z{{{|{{}|zz{{zz{||z{{{{{|zz{zyz{{|{{z{{|zzz{zzzz{z{{{{{|{{zz{zzzzz{{z{|{z{zzzzz{zz{{{|{{{z{zyzzzz{{z{{y{zyxzyyyyzzzzzyzzyzzyzyyyzzz{zzzzzzyyyzyyzzz{zzzz{zyzyyy{{{zzzzz{{{zyzyyxz{zyzyz{yzz{zyzyzzzzy{{yyzzzzzyyzz|yyzzyzyzzzyyy{yzyzzz{zyyyyzzzzyz{zzzzzz{yyzyyzz{yzz{zzz{zyyzzy{{{{zz{zzzyzzzyzz{zzz{{zzzzzyzzy|zzz{z|zzzzyyzyzzzzzzzzz{zzzyyy{z{zzzzz{zzzyzzzzzz{{{{zzyzyz{zyzzz{{{z{yyzyzyyzyzzz{z{{zyzyzzzzzz{{{z{{zyy{zyzyz{z{y{{{{zy{z{{z{z{{{{|zzzz{{{z{{{z{{{||zzzyzyzz{|zzz{|{yz{{{z{zz|{{{{{{{{yz{||{z{{{{{|{{z{{zz{z{{{|z||z{{zz{z{{|{{{z{{{|yzzzzyz{|{{z{||{{|zz{z{{zz{{{{|yyzy{z{{z{z{{{{z|zzzzzzy{{z{{{{zzzz{zz{zz{{z{zzzzzzzyzyyzy{zzzzzyyyzyyyyzz{zzz{yzzzzzyzyyzzy{{z{zxyzyyzxyzzzyzzzyzyyyzyxzzzyzzz{zyzyyyyyyzzzzzzyz{z{yzyxz{zzz{y{zyzyyxyyzzzzyzz{yy{yzzzyzz{zyzzzyyyyyyyzyzzzzzzzzzyxyzyzz{{zzzz{zyzyyyzy{zzzzzz{yzyyzzyyyzzy{z{zyxzyy{zzzzzzzz{zzyyzzyzyzzzzzz{zzzyzzzyz{z{{zzzzy|zzz{yyzzzyz{{{zzyzzyzyzzzzz{{{zzzzzyzzzzz{zz{yzzyyyzzzzz{zzz{{zz{zz|zz{{{{|{{|yzzzzyzzzzz{z{{|{{{{yzzy{{zz{z|{{yzzz{z{zz{{z{{{zzzz{z{zz{{{z{{{{zyzz{zzz||{{{||{z{zzzzz{{|{{|{zzzzzzyz{{z{|{{{{zzzzzzzzzzz{z{z{z{zx{zzz{zzz{{{{{{zzzzzyz{{{{{{{zyzyzzz{zz{z{{zzyzyyzyyyyzzzz{{{zyzzzyzzzzzzz{{{zzzzyzyyzzy{zzz{zyyyzzzzy{zz{zz{zzzzxyzyzzyz{z{{yyyyzzzyyzzzz{yzyy{zyyzyyz{zzyzzzzzyyyzzyzzzzzzzzyzyyyyyz{{z{zzzzzyyyzzyyzzyzz{{{z{zyzzyyz{zzzzzyzzzyyyxzzzz{z{zzzyyzzyzyzzyzz{yzy{y{zzxzz{{{zz{zzzzzyzy{{zzz{{{zz{yyyzz{zyzz{{{zzzzzzyzyz{zz{{zzy{z{zzz{z{z{{{{{zzzyzzzz{{z{yz{{zyyzzzzzzz{z{{{{zz{zz{{z{{{{{|{zzzzzyzy{zz{{{{{{zzzzzyy{z{z{z{{z{{zzyzzz|zz{{z|{z{zzz{zzz{z{{zz{zzz{{zzz{{{{{{{{z{{zz{z{|{{|{{{{{{yzzz{z{zz{{{{{{z|{yzz|{z{{|{|{zzyzyzzzz|z{|{{zzzzyzzzz{zz{{{{{{zzzyzzz|{zzz{zzzzxyxzyzz{zzzzzyyyzzzyzzz|z{{{{zz{{yzzzzz{zzz{zzyzyzzyyzz{yz{z{{z{yyyzxzzzzzzz{zy{zyzzzy{zzzyzzzyzyzyyz|zzzy|{z{yzyyzyzz{zyzz{{yzzzzzyy{zz{zz{yzyzyyzyy{{{z{{zzyzzzyzyyz{z{z{z{yzyyyxzyzzzzzzzyyyyzzyyzz{y{z{z{zyzz{zzyzzzzz|z{zyzzzyzyz{{{{zz|zyzzzyzzzz{{{z{{zzyyyzz{{{{z{z|zzyzzzzyzz{|{zzz{{{{zzyzyz{{z{{|{zzyzz{z{z{{z{{zzzzz{zzzz|{{{|{|{z{yz{zzy{|z{{z{{{{zzz{zzz{{{{z|{{{zzz{zz{|{{{{|{{{{zz{{zz|z{{{|{{z{zzzzzz|{|{{{{{zzzzz{{{|{{{{z|{zzz{{z{{z|{{z{{{{z{{{z{{{{{{{|zz{zzzzzzz|{{{{{{{{yzy{yzz{{{{z{|zz{{z{zzz{{{zz{zyzzzyzzzy{{zyyzzzzyyyyyzz{zzzzzz{zzyzyyyzz{z{{{zzyzz{zyzzzy{zyz{zyzzyzzy{zz{{{zzzzzzyz{y{zzzzzzzzyzyzzyyzzzzzyyyzy{zzzzyzzzzz|z{zyxyzzyyyzzzzz{zzzyzzzyyyzyyzzzzzzxyyyyyz{zzz{{{zzzy{yzyzz{zzz{zzzzyyzzyy{yzz{zzzyzyzyyzzz{{zz{zzyzzzzzzz{zzz{z{zyyzzyzyzz{y{z{{{zz{zzzzzzzz{zz{z{{zzy{zzzzzzz{zzz{yzyyz{z|{z{{{zzzz{{zzz{{zy{yz{zz{zyzzz{{|z|{|{{zz{{y{z{{z{{{z{zzzz{yyz{zz{{{{{yz{z{{z|{{z{{{{{{{zyzz{{zzz{|{{zzzzzyzzz|z|z{{{zz{{zz{z{{{{{{{z{zz{zzz{{{{{{{{{{{{z{zzzz{{z{{{|z{{zyzz{zz{{z{|{{zzzzzzz{{z{{z{zzzzyyyzyz{z{{{zzyzyzzzyxzzzyyy{zyzzyzyyyz{zzz{{zzzyyzzyz{zzzyzzzzyyyxyyyz{|zzzzzzzyyyyxyzzzzy{zzyzzzzyzzy{zy{{{{yyyzyzyyzzzyy{zzzzyxzzzzzzy{zz|zyzyzyyyyzzzyyzyzzyyyzzy{yzzz{zzyzxyzyyyy{{zzzz{yyzyyyyzyyzzzzz{zyzyyyyyzzzyzy{zzyyyyzzzy{yz{zz{zyy{yzyzzyzzzz{zzzyzzyyzz{zz{zzz{zyzzyyyyz{z{z{{zzyzyyyzyz{{zz{{zzzyzzzzyz{zzzzzz{{z{zyzy{{{y{{|{zzzzzzz{z{{{{z{zzzzy{{{zzzz{{{z{zzz{xyyzzzz{{z{{zyz{zyzyz{z{{{|z{z{yy{{z{|zz{{z||{{zyz{z{|y{{{{{zzz{zzzz{{z{{{z{{yy{yyzz{{{{{{{{{z|z{yzz{zz{{zz|zzzyz{zz{{{{zz|{yzyzzy{y{zy{zzzzyz{zyyzzyzzzz{{yzzxyzyzxz{zzzz{{zzyzzyzzzzzzz|{{zzzyyzyyzzzz{{z{yyz{zyyyyzz{zz{zzzzyy{zz{yzzz{{{z{zzyzyzyzzzz{{zzyzy{zyzzzzyyzy{yzzzzzyyyzzzzzzz{yyyzyyyz{zzyz{{y{yyyzyzzz{zzzz{zzzyzzyyy{zzzzz{zzzzyyzyyyz{yzz{zzzzzyyyz{zzy{zzyzyyzyzyz{{{{zz{{yzy{zzyz{z{|{z{yz{zzyzy{yzz{{z{yz{zyzzzzz{z{|{{{zz{zzzzyz{z|{{{z{{zzzzz{{{{{{z{zzz{zzx{{{z{{{{{zz{yzzzz{{{{{{{{{zz{z{zzz{zz{z{{{zzzz{zzz{{{{{{|{yzzzz{y||{{{{{|{zzzz{zy{|{{z|z{|{{yz{{{z|{{z{{|{yz{z{z{|{{{|{{|{zzzzzz{{{{z{{z||{{z{{z|{z{{{|y{{{{yzzzzz|z|z{{{{yz{{{z{z|{{{{|{{z{zzzzy{{zzyzzzzzzzzyzzzzzzzzz|{zyyzyyyzzzzzz{zyyyzyz{y{{zz{z{zzyzzyyyyzz{{z{z|{{zzyyzyzz{zyzz{zzzyzzyzz{z{zz{z{yyzyzyyz{zz{z{zzzyyzyzyxyz{yy{{zzzzzyyzzyz{z{zzyzzyzzzyyzzzz{z{zy{zyyzyzzzzzz{zzzyyzyyyzzz{zzz{zzzx{yyyyz{zzzz{zyzyyzyy{zz{zzz{{{y{zyzyzzzzz|{zzyzyzy{z{{{zz{{zzzzy{y{zz{{{y{{zzzz{z{zzy{{{zzz{zzy{zyzz{{{z{{{{zzzz{yy{{{zz{{{{{{{{zzzzz{{{{|z{zzy{z{{z{|z{{{|{{z{zzyzy{{|z{{{{{zz{zzzy{{{z{|||{z{zzz{{{zz{{|{{{zz{z{z{{{{|{z|{|z{|{zz{{{|{|{{|{{{zzz{{z|{{{{{{|z{z{zzz|{{{z{z|{{zzzz{y{{{{{{}{{zzzzzzzz{{{{{{{zzzyzz{z{{{{z{yzy{yyzzyyyzzzz{zzzzyyyyzyzzzz||{{yzzzyyyyzzzyzzzzzzzyzyyyzzzzzz{{{x|zyz{z{y{{z{zzzyzyyzzyz{zzzz{zzzzyzyyy{zzx{{{zzy{yzzyzz{z|zzy{zzyzzxyyz{zzz{zzzyzzzyyzy{{zzz{zzzzzyyyyz{zzzz{{zyz{yyyyxzzzz{{zyzzxzzzyyzzzz{zzz{zzzzzz{yzz{zz{z{zyzyzyzzzzyz{z{yzzzzyzzz{z{{{z{yzzyzyz{{zzz{{zzz{zzy{y{z{|z{{z{yzzzzyy{z{{zy{{zzyzzyzzz{{zzzz{zz{zzz{zz{||{|||z{zz{{{{{zyz{{{|{{z{zzzz{z{{{z{{zy{y{{zz{{{{|{{{z|{{{{{z{{{zz{|{{{{{z{{{z{{|z{|{{zzz{{z{{|{{z{{{zzzzzyz{z{z|z{|}{{{{{zz{{zz{{{{zz{{zzzz{{z{{{{{{zzzz{zzzz|{{zzzzzz{z{{yz{{{zzzzzyzyzzyyyzz{y{yz{zzzyzzzyzzzz{zz{{zyzzzzzzzzz{z{zzzzzzzyyz{yz{{{zyzyyxyzzzz{{zzz{yyzyzyzyzzzzzzzzzyzyyyyzzz{zz{{z{xyzzyzzzyzzyzyzzxzyyyzyzzyzzz{zzyzyyzyyzz{z{{{{yyzzyzyyz{{zz{|{z{yzzyyyyyzz{zzzzyyxzyzzzz{zy{zzzzzyzzzyzzzzzz{zzzzzzyzyz{zzyy{|zyzzzzzzzzy{zz{{zyzzzzzzz{z{{{z{{zzzzyzy{{{{z||zz{zyzzzzz{z{zzzz{zzz{zzz|zz{zz|{zzz{zzz{{z{|{{{}{{z{z{zzy{z{{{{{{zy{{zzy{z{{{{{{{z{z{zzz{{{{{|{{{{yz{|{z{{z{{{{{{zz{z{{z{|{{{||{{y{zzzz{z|{{{|{{zzzzzz{z{{{z{||{{zz{{zzz{{z{{z|{z{zzzzzz{zzz{{{{|{zyzzyz{{{|{{zyzzyzyz{yzzzz{|yzzyyzzyyzyz{yz{{{zzzzyyyyzzz{{{z{zzyyyyzy{{z{{{{z{yzzzyyzyzzzzz|{zzyyyyzxz{{zz{z{{yzzyzzyz{{z{z{zy{zzzyzzxyzzzzzzzzyyyzyzzzyzz{zzzzzyyzyyzzzzzz{zzzyzyzy{zyzzy{zzzyyzyyyyz{zzzz{zyyzyyyzyzyzz{{z{yzzzzzzzz{{yy{zzzzyyzzyyz{zz{{{|zzyzzy{y{{zzz{z{zzz{zy{zzzyzz{z{zyzzzzzzz|{yz{{zzzzzzyzzzz{{{|{z{yzzzzyzz{{{{{{yzzyzzzz{z{{zz{{{{{{zzyzz{{|{||{{zzz{z{zz{{z{z{{|{z{{{zzz{{z|z{{{{zzzzz{{|{{{{z{z|{{{zzz{z{{{{z|{z{zzz{z{{{{{{{{{{{z{zz{z|z{{z{{{zzzz{z|{{z{|{{|{{y{z{{zz{{{||{z{zzzy{yzyz{{{zz||{{zz{{z{{{{zzz{zzyyzzzzy|{zy{|{zzzyzzyzy{z{zzz{{zzzzyzyz{z{zzzzz{zzyzzxyzzz{z{zz{zzyzyyyyz{zzy{{{yzyyy{zz{zz{{{{{zzyyz{yyzzzzz{z{zzyyzzzz{{xzzzzzzzyyyzxzzz{zz{zyyyzyxyzz{yz{zzzzyyzyyyzzzz{zz{zzzyzyyzxy{{{{zz{zxzxzyzyzzyz{zzzyzzyzyyyyzzzz{{z{yzyyzyzz{{z|{{z{zzyyyz{zz{yz{{{zzzzzzzz{z{yzz{{yzzyyzyz{{|z{{|z{zzy{zz{z{{z{{z{z{{yzyzzz|{{{z{{{z{zzzz{{z{zzzzzzzzzzyzz{{{z{{|{zy{zzzzz{z|{{{{{{zzz{zzz{|{{z{|{{z{zzzzz|{{{z{||zzzzz{z{zz{{{{z{{z{zz{zzz{{{|{{z{zz{z{zz{{{z{{|{{z{z{zyzz{{{{{{{|z{zzzzz{zz|||z|zzzz{{zyz{{{|{{|zzy{zzzz{|{{z{{zzz{yyyyz{z|z{yy{yyzyzyzyyzzyzz{z{yyzyyzyyzzz{z{zzzyyyyyzzzzzzyzzzyyyyzyzzzzzzzz{zz{xyyxyyzzzzz{zzyyyzyyyyzzyyzzy{zzyyzyzzzyzyz{zyyyyzyyyyyy{z{z{xyyyzzyxyzzz{yzzzxyzyyyzzzzzzz{zxzzyzyyzzy{zzzzyzzzxyyzyzyyyz{z{zzyyyyzyy{zyzzzzzzyzzyyyzy{zzz{zzz{yzyy{y{zz|{zzzyyyyzzyzzz{zzzzyz{zzyyz{{{z{{{{yzzyyyzzzzz{z{z{zz{yyzzyyz{zzz{zzzyyzzy{z{zzzz{z{zyyzyz{zzz{|{{{zzzz{z{{z{zz{z||{z{|zyzzz{{{z{{{{yzzzzzz{{zz{{{zzz{zz{{zz{zzzz{{{zzzzz{zz{{{{{||{zzz{zy{{z{z{{{z{zzz{zzyz{zzz{{|{zzy|zzy{{z{{|{{zzzzzzzyzzz{z{{{y{z{zz{y{zzzz{zzxzzyzyy{zzzz{{yzyyyyxyzyzzzyyzzzzyzyyyyzyyzzzzzzzyyyzyyyzzyzzz{zzyyzyzxzzzz{zz{{zyzzzyzxzzzzyyzzzzzyyzzzyzzyy{yzyzz{yyzzyzzzzzzyyyyxzyyyzyy{yzzyyyyxyxyyyzzzzz{yzxyyyzyzzzzz{z{{yzzyzyzyyzyzzzzzzzyxyyyyyzz{zzzzzzxyyyyxz{zyy{{zyyyzzzxyzzzzy{{zzy{yyy{xzzzzzz{{{zy{yyyzzzzzzzz{yzzyzzzyzzzzzzz{zyzzyzzxyzzzzzz{yyzzyzyzz{{z|{zzzyzyyzzyzzz{zzzzzzzzzyy{z{{z{{zzyz{zzzzy{{{zz{{z{zzzzzzz{{zy{{{{{yzz{zyzz{{{z{{{zzzzzz{z{zzz{{zzzzyy{{zzz{{{z{{{{z{{yyzz{{z{{{z|{zzy{zyzzz{|{{{{{z{zzzyz|{{{{{{zyyzyzzzzz{zz{z|{{z{zzyzyz{{zz{{{{yz{zzyy{z{{zy{zzzyyyyzy{zzzzzzzzyyxzyzyzy{y{z{{zzyxyzyy{zy{y{z{{yyxzyyzzzzzzzz{zyzzxyzyyzzzzzzyyzyxxyyy{zzyz{zyzyyzzxyyzzzzzzzzzzzyzyyzyzy{yyz{yyxyzyzyz{zyyzzzzyyyyyyzzzyz{zz{yzzyzyzzz{{zzy{{yzyyyzyyy{yyzzzzy{yyyyzyyzzzz{zyzyzxzzzzz{z{zzz{zzzzzyzyzzzzz{{{yzyzyzz{z{zzzzzzzzyyzzzzz{zz{zzzzzyyzyyyz{zzzzzzzzzzzyzzz{z{z{{z{zzzzzzzz|{zzzzz{y{zzzyyzz{{z{{{z{{yzz{y{zz{{|{{zzyyzyzz{{zz{{{{{zzz{zzy{{z{|{{{zyzz{yzzzzzz{{z{zz{{zzzz{|{z{{{z{zz{yz{{z{{{{{{{{zzzzzzzz{zzz{{|zzzzzyyz{z{{{|{{z{zzzyyzz{{{{{{{z{zyyzzz{{{{z{z{{{zzzzyyz{{zzzz{zzyxyzyyzzyzy{{zzzyzzxzzyyzz{{zz{yyyxyzyzzzx{zz{zyyzzyyyyzz{z{zyzzzyxyyy{zzzzzzzyzzyxyzyzzzzz|z{zzzyzxyyyz{yzzzzzzyyyzyxzy{zyz{zyyxyyyxzyzzyyzzyzzzzzzyzy{{zzzzzzzzx{yyyy{y{zz{zzzzxyyzyz{yyzz{zzzzxyyyzzzzzz{zzzyzyzyzyz{{zz{zz{zzzyyyyy{y{zz{{zzyyyyzzzyzz{z{zzzzzyzzz{{zzzzzzz{zyzzzzyzz{{{{|yzzzxyyzzz{zyz{zzyz{zzzz{z{y{z{{{z{{{zzyzzz|{zzyz{zz{zz{zz||z{z{{zz{zzzzz||{z{|{|zzz{yzzz|{{{z{{z{zzz{{z{|z{{{z{{z{zz{z{{{zzz{|{{yzzzz{z{{z|{{{{zzz{zz{yzz{z{{{|{{zzzzz{{{{{{{z{{zzzzzzyz{zz{zz{{zzzzzzzz{{{yy|{zzyzyyyyz{zz{zzyyzyzzzzyzzzzz{z{zzyyyyzzyzzzz{z{zzzyzzzyyz{{z{z{zyz{zyyzyz{zzzzzzzzyyyzyz{zz{{z{{zyyyz{yzzzzzz{z{yyyzzyy{zzyy{yzzzzyzzxzyzz{zzyzzyzyzyyyzzz{zy{zz{zzyyyzzz{zz{{z{yzzyyzzzzzzzy{{zzyzyyzyyzzzzzzzyyyyyy{zyz{zz{{zyz{zzyyyyz|zzzz{zzzz{xyyzzz{z{{zzzzyzzzz{z{zzz{{zzzzzyzy{zzz{zz{{zzzzyyzzzz{zz|zzzzzzyyyz{z{z{{|zzzz{zy{{z{zzyzz{z{z{|zzzz{|{{{{zz{zzz{{{zz{{{z|z{{zyzzz{zz{|{{{zzzzzzzzz{{{{{{zzzz{z{zz{{{{zz{{{zzzz{z{z{z{|||{{yzz{{{{||{{{{z{{zzzzz{z{zz{{z{{{z{z{z{z{z{{|{|{z{zzzzz{z{zz{{{{{{zzzyzy{{z{zz{zzzzzzzzy{y{{z{yzzzzzyzyyyz{{zzyz{zyzyyyz{zzzzzy{zzyyyyzyzzzy{zzzzxzzzyyzyzzzyyz{zzyxyyzyy{{zy{z{zyyyzyyzyzzzz{{{yzzzyzzyzzzzzzzzzzyzyyyyyyzz{yzyzyyxzyyz{zz{zzzzzyzyzyyyyzzy{zzzzyzzyyyyz{zzy{z{zyzyzyyyzzzyz{z{yy{zzyyzzzzyz{zzzyz{yzzyzzz{y{{{zyyyyyzzz{zz{z{{zyzyzzyz{zzz{z{{yzzyzxzzz{{zzz{zzyzzyy{yyz{zz{{|{zzyz{yyzzzz{z{zzzyyzzzyzz{z{zz{z{yz{{zz{{{{z{{{yzzyzzzzz|{{{{{{zzy{zzzzzz{z|{z{z{yz{zzz{{|yz{{{xz{yzzz{{{zzz{{{{z{{y{zzz{{{{{{|{zz{zz{zz{{{{{||{zzz{zzzzz|{{{|{{zz{z|zzzz{{|z{zz{zyyzzz{{z{|z{{{{{{zzz{zzzz{{zz{z{yyyyy{zzzz{{zyyyyyyywzzz{zzz{{zyzyyzyy{zzz{zzzzyyyzzz{z{{{z{{zyyzyzzyzzzz{zz{yxyzzxyyzz{z{{z|yyzyz{zyzzzzyzzyzzyyyzyyzz{yzzzzxzyyyyxx{zyzzzz{zyyzzyzyyzzyzzzzzzyyyyyyzzzy{zzzzzyyyxzzzzz{zz{yzzyyyyzyy{yy{zzzzzzzyzyyzzy{{{zyyzzzyzyyzzz{{{z{zzzyzyzyzz{z{z{{zzyyyyzzzz{{{|{zzzzzzyzyzzzz{|zzzzyyzzyzz{|{{{{zzzzzzz{yz{zz{{z{{zzzzzzzzz{{zz{z{yyz{yyy{{{{z{z{z{z{zz{{z{{z{|{|{z{{z{{z{{zz{z{{zyzy{yz{|{{z{{{|{zzz{z{|z{z|z|{{{zy{zzzz{}zz{{|{{zzzyzzz{z{|{{z{|{{{{z{yz{y{|{{|zzz{{z{zz{{{z{{{{zzzzzz{{{z{{{{{{z{{y{|zy|{{{{{zzyzyzzzyzz{{|zyzzzzyyyyyzzzzyzzzyyyyzyxyzzzzy{z{zzzyzzzy{zzz{{zzyyyzzyxzyzz{zz{{zyzyyyzyz{{{{z{zy{yzzyzyzzzzz{{zzyyyzyzy{y{yz{zz{xyyyyzyzzzzzzzzyzzzyzz{yzzzzz{{zyzzyzzzz{z{zzzz{yzzyzzzzzyzz{{yzzzzzzyzzzzyzzz{{zzyyzyzyzzzzz{{{y{zyzyyzz{yz{{{zyyy{y{y{zyzzzz{{{zyyzyz{{yz{{{{zz{zzyyz{zzz{{{zzzz{yxzyz{{{z{{z{yzzzxyz{{{{zz|{zzzzzy{z{z|{z|{{{zyzzzzz{zz|{z{yz{{{zzz{{{z||{{|{zzzyyzz{{z{{{{zzz{zzzyz{{zz{{|{zz{z{{{zz{{{|{{{|z{{{z|zz{{{z|{z{z|{y{{{|{{{{{{{z{zzz{{zz{{{{{{{zz{z{|z{{{{{z{{z{{{zzzzzz{z|{z|{{zz|yzz{z|{{z{|{{{zzzy{zz{{{z{{zzzzyzzzyyz{{zz{zyzzyy{yyz{z{{z{|zyyzyzzxzz{z{zzzzyzyzyyyz{{{zz{zzyyyyyyyzzzzz{zzyz{yzzzyyzz{yzzz{y{yyyyyzzzzzzyyzzyyzyzxzyzzz{{zyyyxyyzyzzzyy{yzyyzyxyzyz{z{{z{z{yzzzzzyyzz{zz{zyyyyzyyxzzzy{{{{{zyzzxzyyzzzz{z{zyzyzyyyyzzzz{{z{yzxzzyyz{{{zzz{zzzzyyz{{z{{z{{|zz{yyzyyzyzy{zz{zzzzyzzyz{{zz{{z{yzzyzyzyzz{{zzzzyyz{yzz{{z{z{{{{zzzzzzzzz{{{{{{{{zz{zz{z{{{{z{{zz{{zzyyz{|{{|{{|z{z{{zz|{{zz{{|zzzz{z{{{{zz|{z{{zzzzzz{{|{z{|{{{zz{zz{z{||{{{{{zyzzyyz{zzz{{z{{zzyzzzz{z{z{|{{|zz{zzzzzyzz|z{{|{{zzzzzzz{z{zz{y{z{zyzzz{z{{zzzzyzzyyxzyz{zyzzzzzyyyxyyyyz{z{z{{{{yyzyyyzz{zzzzz{yzzzyzzz{{zzz{yzzzyyzyxzy{{zyzzzyyzyxxz{z{{{zyzyzzxyyyyzzzzzzzzzzyxzyzyzyyzyyzzyyzzyyyyyzzyzxzzyyyyyyyyzy{zzz{yzyzyzyzyyzz{zz{zyzzzyyyyyzzzzyz{zzzyzzxyyz{zyzyzzzyxzyzyzz{zzz{zzyzzyzzzzzzz{z{yzyzzyyyzzyzzz{{zzyzyyzyy{zz{z{|{zyyzzyzzzzy{z{{z{yzzzyzzz{{{z{zzzzyzzzzy{zzzz{zzzzzzzzzzz{z{z{{z{yyyzzzzzzy{z{{zzz{zzzyx{{zz{||{{zzzzz{z{{zz{{{{z{zzz{{z{{zz{|{{{zz{yz{z{{{{z{{{|z{zz{zz{{{{{{z{{y{{zzzyzz|{zz|{zzyzzzxz|{{{{{{{zyyzzzzyz{{z{{{{zzzzzzyzz{z{y{zzzzzyzzyyzzzzzz{zzzzzzyzyz{{z{zyzzxyzyzyyzyzz{{zzzzxyzzxyzzz{{zzzzzyzzzzzzzzzzyz{yzyxy{zyz{zyy{z{zzy{yyzyzzz{zz{zzyyzyyyzz{yzz{zzyyyywyzz{zzzyzzzyyzzyyzyzzzyzz{yzyzyyzxy{zzy{z{zyzyyyzyxzzzzzzzzzzyyzyyxzz{yyzzzzyxyyyzz{yzzzz{zyyyzyzzyzz{zz{zzzyyyzzzyz{{z{{z{{yzzyyzyzyz{zzz{zzzzyzzz{z{zz{{{{zzzzyyzz{{{zzzzyyzyyzzy{{zz{{{zzyy|zzzzz{{{{|zz{zzzyzz{z{{{{{{{zz{zz{{zz{z{|{|{zyzzzzzy{{{{{{{z{z{z{z|yz{{{zz|{zyy{z||{z{zzz{zz{z{{yzzzz{|z{z{{{yz{{zz{{{z{{|{{{yyzzzz{{{{{{|{{|zz{{zz{{z|{z{{{{zzyzxzzy|{{z{{|z{{{zyzzz{zz{{z{zz{zzzzzzzzy{|zyzyyyzyzyzzzzyzzzzyyyyyyyyzzyzz{yzzzyyyxyzyzzzzzzyxzzyxyzz{z{yzzzzzzxyzyzz{zzz{zzyzyyyyyyyzyyzyzzzyzyyzyzzyyyzyzzzxzyzyyzyyzzzz{zzyxyyyzxyyzzzy{yzyy{yyyzzzzy{zzzyyzyyyxyyzzzzzzzzzzyyxyxy{yyyzzzzzyzzyzxzzzzyz{{zyyyyzxy{yz{zyz{zzzyyzzz{y{zz{{{{yzzyyzzzzz{{z{{zzyzzxyyzz{zz{zzzyyzyzzyy{{{zy{{yyyyzzyyzzzzz{zz{zzzyyyzyz{zzyz{zyzzzyyzz{z{{z{{z{{zzzzz{zz{z{{zzzzz{zyzz{{{{{|z{zyzyzzzz|zzz{{|y{{zyz{zy|z{{{z|{{zzz{zzz{z{{{{|zzzz{{{z{{|{{{{zzyzyzzzzzz{zz{|{{zz{zzyz{zz|zz{zz{z{yzyzyyz{zz|zzzy{zzzzzzzzz{{|zzzzyzyyz{{zzyz{yzzzyxyyyyzzzyzzzzyzzyyyzz{{zzyz{yzyyzyz{zz{zz{zzyzzyyyzzzz{yz{{zzyyyzzyzzzzyzzzzzzyyyyyzzzyz{{zyzzyzyyx{zzyyz|zyyxzyyyzzzzzzzz{yyzyzxyxzzzyyzzzxyzyzzxyzzzzzzz{zzzyxyxyyzyzzzzyyzzyzzyyzzyz{zz{yzyyyyzyzzzzzzzzyyyz{yyyzzzzz{{z{zz{zzzyy{{zzzzzzyzyyyzzzzzz{zz{yyzyzyzyzzzzzz{zzyyzyyzzzz{{z{{zzyzzzzyyz{|z{{{{zzy{zyyyz{zzzzzyzzzzzzzyz{{{z{{zzzzyyzzz{{z|zz{{zzy{yzzzz{{{{{|{{yzzzzzz{{{{{{}{{zzyzz{z{{zz{{{||{zz{y{zyzz{{{|z{zz{zyzz{{{{z{{{{zyz{zzzz{z{{{z{{{zzy{y{zzz|{{{|z{{yzz{z{zz{{|{z{zyzz{zyzz{{{zzz{zzyyzzzzzzzzzzzyzyyy{zyzz{zzzz{zzyyzyyyzyzy{{{zzzzyzyyyzzzz{z{zzzzyzzyzyzzzyz{zzzyyzyzy{zzzz{{zzzyyzyyyz{zzz{{yyyzyzzyz{{{zzzzyzyzzyyzyz{z{z|{zyyzxzyzyz{zzz{zzzzyzyzzyyzzyzzzz{zzzyyzyzzz|{{zzzxzyyy{yyyy{zz|zzzyyzyyyyzzz|{zzyyzzzzzxzz{z{{zzzyzzzyz{{z|zz{{{z{zzyyzzzzz{zz{{{yyzyzzzz{zzzz{zzz{zzzzyz{zz{{zyzzzyz{zyz|{yzz{zzzzzzzyz{{{z{{z{{zyzz{zz{{{{{|{{yyzzzzz{zzz{z{{|{{yzzyzzz{|{{{{{{y{{{yyz|{{{{{{{{y{zy{z{zzz{{|{{|{zzzzzzz{|{{{{||z|z{z{y{{|{z|{{{zz{{{{{{z{{{{{{{zzzzzz{z{{{{{{|zzzzzzzz{|z{{{|z{zzyzyyz{{{{|z{zzzzzyyzzy{{y{zzyyzyyzyzxyzzzzy{zzyyyzyzzyz{zzzzz{yyyzzzyzz{zzz{{zyzyyxyyzzzzzzyz{yzzyyyy{yz{z{zzyzzzyyyyz{zy{zzzzyzyzyzyzzyzyz{zzyxzyyyzzzyz{{z{xyyyzxyzxzzz{yzzzyzzyzzzzzzz{zz{yzzyyzzyzzzzzzzzyyzyyyzyzz{z{zyzxyxyyyyyzzzzyzz{yyzyyzzyyzzzz{{z{yzzyxyzz{z{zzz{zyzzzyzzyyzz{{{{zz{yzyzy{{zzz{{{zyzzzy{yz{z{{{z{zzzyyzyy{z{zzzzzzzxzzyzzzzzz{z{{zz{{yzzz{{}{{|{{yzz{zyzz|{{z{{{{{{yzz{zy{z|{{|{{{yz{y{zy{{{z{{||zzzzz|{zzzz{z{{{{zyzz{zzz{{z{{{{|{zzzzzyz{z|{|{z{zzz{zzzz{{{z{z|z{zzzzzz|{{|z{{{|zzzzzzzz{{{{{{{{zzyzzzyzz{{z{zzzzzxyyzy{zzz{zyzzxyyxyzyyzzyz{|{yyyyzzyyzzzzz{{zyzyyzzyy{zzzz{{zzyzzyzyyyz{{zyzyzyzyzyzyzzzz{zz{yzzzyzyyzz{{yz{zzyyyyzyxzz{zzzzzyzyyyzyyzzzzzz{zzzyyyyyzz{zyzz{yzzyzyzyyx{{zz{zzyyzyyyyyyz{zzz{zzyzzzyyyxyz{zy{yzyzyxyyyyzzyzz{{yzzyzzzyzzzzzzzzzyxzyyzzzzz{z{z{yzzyzy{{zzzz{z{zzyzyzzyzzz|zzz{{zzzzzyzyz{{zzz{{zyyz{zzy{{{zyzzz{zzzyzzzz{{{zzz{zzz{zzzy{yz{{{{{zz{{y{yz{{z{z{z{zyzyzzyyz|{{z{z{zzzzz{zz{z|{{{{|{y{zzz{zz|{z{z||zzy{z{{z{{{{z{zz{z{{zzzz{|{{{z{|zzzzz{z{z{{z{{{{{z{zzzz{{z{|{{{{{z{zyzzzzz{zz{|{{zzzz{zzzz{zz{z{zzzyzyzzz{{zz{zzzyyyyyyyyzzzy{z{zzyzzyzxzzzz{zz{z{zyzzyy{zz{zz{zzzzzzyzzz{zyzzzzzzzzyyzzzyzzz{{zyzyzzyzzyzzz{{{{zxzyyyyyzz{yzz{{yzzzyzzyzzz{zz{{yyzyzzyyy{yzzzz{yzzyzyyyz{{{zzyzzzzyyzzzzzzzzz{|zyyzzzzyz{zz{zz{yzyyzyyzzzzyzzzzzzzzyzzy{zz{z{{{zzzzzyyyyzyz{{{zzyzzzzzz{{{{z{z{yzyzzz{{z{zzz{{zzyzzzyzzzzz{zzz{zy{yzzzzz{{{z{||zyzzyzzyzz{zz{{zzyzxzzzzz{zzzz{{z{z{{zzzzz{{z|z|{{{{z{yyy{{{{{{{{zzy{zz{{|{z{{{|zz{zzz{z{{zz|{{{{z{{{zz{z{||{{{|{zzzzz{y|{z{{{{|zzzz{z{{{{{{zz{{{zzz{yz|{{z|{{{|{z{zz{zzz{z{{{{{z{{zzzzzz{z|z{{{z{zzzzzzz{|{{{yzzyyyyyyyyzzzzyzzzyyzyzyyy{zz{{zzzyyzx{zyzzzzz{{zzyzzyzzzzzz{yzz{{zzxzyyyzzyzz{zzyyyyyzyyzzyzyzzy{zzyyyyz{z{yz{zzzzzxyyyyyzyzyzyzzzyyyyyyzzzy{z{yzzyzzyxyyzyyzzz{zyyzyzyzzzzzyyz|zzzzzxzyzyyzy{zzyyyyzzyyyyzyzzzzyzyyzzzyz{zy{{|{zyyy{zyzyzzyzz{{zyzzzzyy{{z{zzz{yyyzzyzyz{zz{z{zzzzzzzyyz{z{{{{zzzzzzzyzz{{zzzzz{yzzzzyz{zzzzzzz{zyzzzxzy{|z{{{zzzz{zzzz{|z{{{{{{yzzzyzyz{{{{z{z{yyzzyzzz{{{{{{{{{zzzz{y{z|{{|{|zyzzzzzz{|z{z{z{zzzzzz{z{zzz||{{zz{zz{zz{z{z{{{||{yzzzzz{{z{z{|{zz{zzzzzz{{{z{{{zzz{zzzyz{{z{zz{z{{y{zzy{{{zzz{zzzyyyyyxy{zzzzyz{zyyzyyyzz{zz{{zzyzzyyzyzzz{z{zzzyyzyyyzz{{yyzz{yzzyzzyyzzzzzz{zzzzyyyzzy{zyzzzyzxxyyyyzzyzzyzyzzyyyzyyz{yzyyzy{zyyzyyyzzz{z{zyzzyyzyzzyzyzyzzy{yyzyyyyzzzz{zyzzzxzyzzyzyzzzzz{zzyzyxy{zzzzyy|zzyyzzxzyxzyzz{zz{zzyzzzzzyzzzzz{{{zzyxyyyzz{zz{z{zzyzyzzyzz{z{{{y{{zzzyzzy{zz{{zzzzzyyyzzzz{zz{zz{zzzyyyzzy{{{zzzzzyzzzzz{{z{{||zzzyzzzzzz{{{{{z{{zyzzzzz{{{{{{{|{zzzzyyy{{{{zz|{zz{y{zz{y{z{{z{{{yzzzyzzy|{z{z{{{zzzzzzzz{z{{{{|{{zzzzzzz{{z{{{|yzzyzzy{|{{z{{{{yzzzzzzz{{{zz{{zzzzzyzy{zzzz{zz{yzzzzyzz{yz{yyyzyzzzzyzzzz{zzz{zzzxyyyzzzzy{z{zzzzyxzzzzzzyyzzz{yyzzyyyxyzzzzzzzzzyyyyzyyzzzz{zzzzyyzyzyzz{zyzzzyyyxzzzyzz{zy{z{yyyyyzyyzzzyzzzyyyyyxyyyzzyzzzzyzzyyyyyzzz{z{{{zzzyzxzyzzzzzzy{zyzyyyyzzyzyy{zzzzzyyyzyyyzzyzyzzzzzyzzyyzzzy{z{{zzyzyyzyzzzzzzz{zz{zyxzzyzy{y{|{yzzyzzyyzy{{{y{zzzyzzzzzzz{{z{z{zzzz{yzz{z{z{zzz{zzzzyzyz|{{yzz{{zzz{zzzy{{}{{{{y{{zzzzz{{zz{|{z{zzzzyzz{{{y||{{{zyz{z{{{|z|z{|{zzzzyzzzz{z{{{z{{{z{y{{zz{{|{{{{{zzz{{yzz{zz{{{z{zzzyzz{z|y{z{{{{z{zzz{z{{{zz{{{yzyzzzzzz{zzzz{{zzzzzyyyy|zz{zzzz{yyzyzz{{{zyzzzzzxzyyzxyz{zz{y{zyzyyyyzz{{zy{y{zzyyyyyxzyzzz{y{zxyzzyzzyy{{yyzzzzzyzzyyyyzzy{zzzyyyyyzyzzzzzzyyyyyzxyyyzzzzzz{zzzzyzzyyyzzyzzzzyyyyzzyyzz{yzzyzyyzyxyzyyyzyzzz{yyyyxyzyyzzzzz{zyyyyyyyyyzxyyzzzzzyyyyyyyzyyzzz{zzyz{zyxzzzzz{zz{zyyyyzzzz{zz{zzzyzyzyzyyzz{{z{|yzzzzyzyz{z{zz{zy{z{yyyyzzzzz{zy{zzzzzzyy{{zzz{zz{xzzzyyzzzzzzz{zyzyzzyz{z{{{z{zz{yzyz{{zzzzz{{{zyzzz{zzzz{z{{{{{zzzyz{zz{zzz{{{zzzzyz{z{{z{{|z{{zy{zzzzy||{{{{z{yz{zzzz{z{zz{{z{yzzzzzzz{z{{z{{zzzzy|zzyzz{{{{{{z{yzzz{yz{z{z{|{zyzyz{yy{zz{z{zzzzyzyyy{{zzy{zzyyxyzxxyxzz{zzz{yyyyyyyyzy{z{zz{{zyyzyyyyzzz{zzzzzyyyyzyzzz{zz{zzyyyzzyyyy{{zzyzzxzyzyzyyzyzyy{zzzzyyxyy{zzzyyzzyzyxyzzyzzzzz{zzyzyzzxyyzyzzzzz{zyzxyzzzzzzzzzy{zzyyxyzyy{{yz{{zzzzzyxyyy{zzyz{zyyyyzzyyy{zzzzz{yxzzyzyyyyxyzzz|zzzzzyyyz{zzzz{zzzzzxxzzz{zzzyzzzzzzyyzz{zzz{zzzyyyyzyyyzzz{{zz{zyzz{zzzz{{zy{{zz{yyyzzzzz{zz{{{{zzz{zxzz{{{zz{{zzz{zyzzzzz{{{{{zyzyzyzyzz{{{z{{zzzzyyyy{{{{{{z{{yz{zyzz{{{{z{z{{{yzzzy{z{|{|{{{{zzzzzzzz{zzz{{z{yzzzzz{zz{{z|{|{zzz{yzyzzz{z{|{yzzyzz{zzzzzzz{{zzzzyyzzz{zzzzzzzzzzzyyxz{zzzzyzxzzz{yyy{{z{zyy{zyyyyyxyz{zzzz{{yzzyyyyyzz{y{zzzzzzyyzyzy{zxzzzzzzyyyyzyyzzzyyzzzyzyyzyxyzyyz{{yyyyxzzzyyzz{zzzzzyzxyzyxzzyzyyzz{yyyyzyyzyyzyy{zzyyyzyx{zz{zzzzyzyzyyzzyyz{yyz{{zyyyzyyzzyzzyzz{yyzzzyxyy{zyy{zzyz{yyzzyyzyzz{{|yyzyzyyyzy{zzzy{zyzxzyz{z{zz{{{{yzyzyyzzzzzzzz{{yyzzzzzzzzzzzz{zzzzyzyy{zz{zzz{yyyyzzyzzy{zzzz{zzzzzzyyz{z{{{|{zz{z{{zzz{{z{z||{zzzzzyzyz{{{{{|z{yzzzzzz{{{{{z{{zzzzz{{{{{z{{z{{{zz{z{z{{|{|{z{{|y{zzzz{z{{{{{y|{zzzz{z{{zz|zyz{{{{z{zz|{{z|z{{{zzzyyzy{yz{|z{{{{yyz{yzyzzz{zzzyyy{{{zzyzz{zz{yzzyzyyzyyzzzyzzz{{zzyzyxzyyzzz{{zyzzyyyzzyyyz{{{zzzyzzyyxyzzzzzzzzzzyyzzyy{zz{zz{zxyyxyyyz{zzzzzzzyyzxyzyyy{yzzzzxzzyz{zy{zzyzz{{xyxyxxzzy{zyyzzzyzyyyyzzy{zz{{zzzzzxyzyzyy{zzzzzzyyyzxzyyzzzzz{|yyyyzyzyy{yyz{zzzzzzyzyyzzzzzz{yzyzyzzzz{zzzzz{|zyzyyyyzzz{{{y{zyzyyzyyzzzz{{zzz{yzy{yyzy|zzz{{{yyzzz{zzzz{{zz{{zyy{yyyzz{yzzzzzyzzzzzz{z{zzzz{{zzz{{zzy|zz{{{{|zzyzz{zzz{{z{{{{{yzzzyzz{{{yz{{zzyz{zzzzz{z|{{z{{zzz{zz{{|z{{{|{{yz{{zzzz{{{{{{zzyzzyzz{{y|{{{{{z{z{{zzzyz{z{{|z{{z{zzzzz|{zzz{{z{zyyzzzz{zyz{{z{zzzzzyzz{{zzzyyzzyyzyyy{z{zyzz{{zzzzxyyzzzyzzzzzzyyyzyzyzzzz{{zzzzyyyyyyzzzzyz{zzyxyyzzxzzzz{z{zzzyyyyyyyzzyzzzzyzzyzyyzzzzzzyzzyyyyzxyyzzzyzzzzyzyyyyzzyzzzz{xzzzzyyxyyzzzzzzzzyzxyzyyyzz{{y{{{y{yyyyyyzz{z{z{yzyyyyyzyyzzz{z{zyyyzzyy{zyz{{zzzzzyzyzzyzzzz{{{zzzyyyxzzzzzzzyzyzzyyzyzz{zz{zz{zzzyzyzyy{{{z{{zzz{yy{yzzzz{z{|{zzzzzzzyzzz{{zy{zzzyzzy{{{{{|{zzzzzzzz{z|{{{z{{|zzzz{yzzzz{{zz{z{zzy{z{z{{zz{{{{{zzyzzzy{{{z{{{zzzz{z{{zzz{{{{|zzz{z{zz{{{z{{{zz{{zyzyz{{z|z{|{{{{zzzzzz{|{{{z{|y{zzz{zyz{zz|{z{zzzz{yz{z{|{|{{zzzzzzzzzzzzy{zyzy{yyzxyyxz{{zz{{yyzzzyzyzyzyz{z{yyzzy{yyzyyzzzz{yzyzyyyzzz{zy{zzzzzyyy{zzzz{zzzzzyzyzzyyzzzyyzzzyzzzyyyyzz{yy{{z{zzxzzyzyyz{zzyzzyyyyyzxz{zzy{yzyyzyxyyxzy{{zyzyzyzzzzxyzzyzzz{zzyyyzyyyzzzzz{zzyzyyyyyyyzzzzzzyyzzzzzyyyzzyzz{{zyzyzyyyzzzz{{{zyyyzyyzzzyzzzzz|zzzzyzy{{zz{zz{zzzzzyzyz{{z{{z{yzzzyyyyyzz|{zyz{{zy{zyyyz{zzzz{{zzzyzyyzy{{{{z{{zzz{zzzy|{z{z{{{{zzy{zzyz{zz{zzz{{zz{z{y{|{z{{y{{z{yzz{{z{zzz{{{{zzzzz{{z|z{z{|{{z{yzyz{{{z{z{{{zyzzzzyz{{{{{{|{z{{z{z{{{{{{{z{{zyyy{zz{z{{z{{{zzzyyyyyy|z||{z{z{zz{yzzyz{zzz{zzyzyzzyyyz{{{zz{zzyyyzyzz{zzyzzzzzzzyzzzyzzz{z{zzzyyzzxyyzzz{zzyzzzyzxzyzzzz{yyz{zzzyzxzzyyzzzz{zzzyyyzzyzzzzzzzz{zyzyzyyyyzzyzzzzzyyzzzxzzzzzy{yzyyzyyyxyzz{{yzzzzzyyyyyzzzyyz{zzzzyzyzyy{zzzzzzzzzyyyyzyzy{zyyzxzyyzyzyyzzzzzz{{yyzzyzzzzzzy{{z{zzzyzzz{{z{zyz{z{zyyyyz{zzz{z{{zzzyzzyyzzz{z{{yyyzyzyzyzz{z{{z{zzzzzzz{z{z{y{{zzyyzzzzzzz{{{{|{{zzyyz{z{{{z{{{|z{zzzyyz{{z{zz{{{yzzzyyzz|{{{|{{zz{{y{{z{|z{|{{{zzzz{{y{z{|{{{{{zzzzzz{z{zzz{{{{{xzyzz{zz{zz{{{{zzz{z{zz{{{{z{z{{zzzyzzz{||{{zz{z{{yzzzyyz{zzzz{zzzyzzzzzz{zz|zzzyyyyyyxy{zzz{zz{zyyzyyy{zyy{z{zzzzyxyyyzz{xzzzzyzxyyzzyyzzyzz{zz{zzyzyyzzyyzzz{yyyyyyxyzzzyyz{yyyyzyyyyzzzzyzzyzyyyyyyzyzzzzzzyxzyzzyxy{{yzzzyzyyzyyxyzyzzyzzzzyyz{yzzyyzyzzzzzzzyyyyzyzzzyzz{zyyyyyzyzzzyyz{zzyzyyyzzyyyzzz{{zzyyxzyzyzzzzz{{{z{zzyxyzzzy{zy{{zzzyyzx{{zz{yz{{zzyyyyzzz{zzzzz{zzyzyzzy{zzyzzzzzzy{zzzyzzzzz{zyzzyx{zzyzz{{z{{{y{{{{zzzzz{{{{{{zyzzz{yz{{{y{z|zzyzy{{zz|z{z|{{{{yzzyzz{{{{{{z|{{zzzzz{{zz{{z|{z{y{zzzz{{{{{z{{{zzzzzyzzz{zz{{|{zzzzzzzz{zz{{{zzzzzzzzyzz{z{{z{z{zyzyzyzz{{zz|zzz{zzyzzz{{z{zzyzzyyyyyzxzyzzyzxzyx{yzyyyy{zzz{z{yzyyyzzyzyzzz{{zzyyyyzzxyzzzyyz{yzyyyyzx{yzzzzz{yyyxyyzxzyyzzz{{zyyyzyyyyyzzzyzyzyyzyyzzyxyyy{zyyxyxyzzyyzyzyyzyyyyxyzyyyzzz{yzz{yyyyyyzyyzzyzyzyyxyxxyyyzyzyzzzyyyxzyyyzzyyzzy{zzyzzyyyzzzzz{zzzyzyzyzyyyyyzzzzzzyzyyyyyzzzzyzzyyzzxyyyzzz{zzzzzyzyyyzzyzzzzzz{zz{yzyyyy{z{z{{zyzyzzyyyz{zzz{{{{yyyz{zz{{zzz{{{zzzzyyzzy{zzzy{{zyyzzzzyy{z{z{z{{zyz{yzz{|{{zz|{zzzyy{{zzzzzz{{zzyz{yzzz{{zz{z{{{zyzzzzzzzz{{{{{{zyyyzz|zz{z{z{{yzyzyzzz{zzz{zyzyz{yzyzzz{zzzyz{z{yzzyyyyzzzzz{yyzyyyyzxyzzz{{{zyzyzzyzyzzzyzzz{yzx{zyzyyz{zyz{{zyzyyzzzyyzzz{{zzyy{zxzzzzzzyz{zzzzxzyzyyyzzz{z{{zyyyyyyyyzzyz{zzzzzzyxyzzzyzzyyzzy{zzzyzyyzz{zzyyzyzyzyzzyyz{{z{z{yyyzzzz{zz{{zzzzyyyyyzzzzyzzzyyzzyyyyzzyzzz{{yyyyzyzzzzzzz{{zyzyzzyzyzzy{zz{{zzzyyy{zzzzzzyz|zyz{zzzz{zzzzzz{zz{yzzzyz{zz{zzz{zzzzyzyz{{{{zzzzzzz{zzy{{{{zzzz{yzyyzyy{{{{z{z|{{zzzyyzz{z{z{{{zzzz{yz{z{{{z{{{zy{|zyzz{{{{{{{{zz{zyyz{z{|z{z{{y{zzz{{{z{{{|{|||zzzzzzzz|z{|{z{{z{zz{y{{z|{{{{z{zzzzz{zzy{z{{{|zzy{{zzz|{z{z{{{zz{y{z{z{zzz|{{z{zzzzzyzz{z{zz{zzyzzyyzzzz{{zzzyyyyzzyyyy{zzzzzzyyyy{yyxzyyzyzz{zyzyzxzzzzzz{zz{zyzzyyyyzyzzyyzzzzyyyyyxyz{zyzz{yyyyyy{xzy{zyz{zyzyyzzxy{zzzzzzyzyzzzzyzzzzzyzzzxyzzyyzyzzyzzz{zzzyxzzyyzzzzzz{zzyzyyyyyzz{z{z{yzyyyzyyyy{yxzy{zyzzzyzyzyyzyzzzzyyzzz{yzyyzzzz|zzz{zzyzzyz{zyzzzzzzzzxyy{{yyz{{zzzyyzzyyzzzyz{{zzy{zzy{yzz{{zzz{xz{zyzyy{{z{z{zyzzyzzzzyzz{z{y{{zyzxyzyzzzz|{{z{z{yz{yz{{zz{z{{{{yy{yyyzz{{z{{{{{{yzzy{z{z{{|{z{z{zz{z{zz|{{z{{{z{z{z{zzz{{{{||{{zz{zy{{z{{|z{z{{zzzzzyzz{{zz{|{zzzz{zzz{{zz{|{{z{zzzzzzz{{z{{{{zzzzyzzzz{{{{{{{yzzzy{xzz{{{zyzzyyzyyyyyzzzzzz{zyzzzyyyyyyyzz{{{zyyxyzzyzzzy{zzzzyyyyyyyzzzzy{z{zyzyzzyyzzzzzzzzzyyyyxzyyzzzzzzzzyzzzzyyyzzyy{zzyyyyyyyzzzzzzzzzyx{yzxzyzzyyzzyyzzyxyy{yzzzzyzzzzyzyyyyzy{zzzz{zyyzzyzyzyzyzz{zz{zyyyzyyzzzzz{{zyyyyyyyyz{zzyz{z{yzyzyyyyzzzyzz{{xzyzyzzzzzzz{z|xxzyzyzz{z{zzzzzzyzzzyyyz{{{z{zz{yzzzyzyz{zyz{|{zz{yyyzyz{zzzz{{{zyyz{zz{z{{{{{{zzzyzzzzzzzz{{{{zyzzzzyzz|{{z{zzzyzzzyzz{{{z{z|zzzzyz{zzzyzz{{|{{{yzxzzzz{{z{|{{{yz{zzzyzzz|{|{{zzzzzzzz{z|{{|{|{zz{y{yz{{{{{{{{{zzzzyzzz|z|y{{{zzzzzzyxz{zz{{{zzz{zyz{z{zz{z{z{yzzzyzzzzzzzyzyzzyyzzyxyzz{yzzzzzyzzyzyy{zyzzz{zzxzyyyxyyyzzyz{yyyzyyzzyzzzzyzy{zzzzyyyyz{yzy{zzzyzzyyzzyyzzyzyyxyyzyyyzzyyzz{zzyyyzyyzyzyyzz{{zzxyyzzyyzzz{{zzzzzzxyyyxy{zyy{zzyyyyyyyyyzzyyzz{{y{yz{yzyzyzyzz{yxxzzzyz{zzz{zzzyxyzzzzzyzzzz{z{yzzzyyzyyyzyzzz{zzyzzyzzz{zzzz|{{zzzyzyz{z{{yzzzzzzzzzzy{{{zz{{zzz{z{yzz{zzzzz{{zzz{zyyzzyz{z|{zz{z{zzzzz{z{zzz{zzyyzxzz{|{{{zzzzzzz{zzyzzzz{{{{zy{{z{{z{{{z{|{{{zzzz{zy{|z|z{z{zzz{{y{z{z{zy{{zz{zz{zzzz{{|{{||z{zy{zzz{{z|{{{|{{{yzzzzz{zz{z{|{yzzzzyzz{|z{zz{zz{yyyyzyz{{zzz{yyyzzzyzzz{yzzz{yzy{xzyzzzzzzz{{zzxyyyyyzyzzz{|zyyyyyzyzyyz|z{zzzzzyyyyzyzyzyz{{yyzyyzyyyzzzy{zyzyzyzyyxzyzzy{zzzzzyyzzyyzzzzzz{yyzyyyyzzxzzzyzzzyyyyzyxyyzyzzyzyyyzyyyxyzzzzzzzyyzzyyzxzzzzyzzzyyyyzxyyyyzyyz{{yxzz{zyyzzzzzxy{zzxyyyzzzzz{zzy{{yyzyyzx{zzzz{z{zzzyyxyyzz{zzz{{zz{yzyzyzzzzzzzzzyyyzyzzz{zzz{{zzyzxzyxzzz{zz{zzzzzyyzzzzzzy{zzzyyzzzyzz{{{{z|{{zzzz{zyyz{zzz{z{zyzz{zzz{|{z{{|{{zzyzzz{{zzz{z{z{{{zzzz{z{{zz{|z{zzyyzyy{z{{z{zzzzzyzzzzyz{{{{z{{zyzzyzzz{{{{z{{z{yyzzzyz{{{zzz{{zzzyz{yzz{{y{{{y{{zyzzzzzy{y|zzzyyzyyzzyzzzyz{{z{z{xyzzzzyzz{{zzzyyzzyzzzzyzzz{yzyyzyzyzzz{{zzzz{yyxxzzy{{zzz{zzyyyzzzyyzzzzyzz{zyyzyyyyyzzyzzzzzzxyzyzzzz{z{yzyzzzyyyzzz{yx{zzyzzyzyzyy{{zzzzzyyzyyzyyzzzzyzzzzzyxyyzxxzyyzzzyzyyyyyzyyzyzzzzzyyyzzzzzyzzy{yzyzyyyzxzzzz{zzyz{zzzzyyyz{zzzzz{zyzzzyz{{zyzzzz{z{zzyzyyyzzx{{{zzzyzzyzzzzz{z{{{{zyzz{zyyzz{y{z{zzzyzyzzzzz{{z{{zzzzyzy{y{z{{{zz{zyyzzzzz|{z{z{{{zyzzzzzzz{zzz{|{zzyzz{zzzzz{|{{{zzzzyz{z{|{{{||{{zz{zyzzzz|zzz{{{zzz{{y{{z{{z{z{zz{zzyzzzz{{}{{{{yzzzzzyz|{{|{{{{zz{yzzzz{zzzz{zzzzzzyyyzyz{|zz{zz{yyyyyzzzz{y{yzyyyyzyy{zzzz{zzzzyyx{yyzzzz{{{zzyzxzyyz{zzzzz{z{zzyyyyxzzzzzzz{yyzyyzyzzzz{zz{yzyyyzyxyyzzyz{{zzyyzyzzyyyz{z{z{yyxyyyyyzzyzzzzzyzyzy{xyzz{zzzzz{zzyyzyyyyz{zy{zzzyyzzyzx{zzzz{zzzzyzzyzz{zzyzzzzy{zyyyyzzzzzzz{zyyzzzzyzzzzz{{zzzzyyzyy{zzy{{{zyz{{yzyzzzz{{z{{z{zzzzzzz{y{z{{yyyzyzzzzzz{zzz{{{zz{yzyzz{{{{{z{{{zzyzzy{z{z{{{{z{{zz{zz{zz|z{{{zzzzzzyz{}{{{{{{zzzzzzzz{{z{{{{|zzzzz{{zz{{z|{{|{zzzy{zzz{{{{{|{zzz{{z{{{z{|{{z{zzyzzzz{z{z{{|{{zzz{zyz{{z{{{{{{zzzyzyyy{{{{{{{|{zyyzzzzzz{|{{{{zzzyyx{zzzz{z{{yyyyzzyzzy{z{{z{zzzyyzzzzyzzzz|z{zyzyyzyyzzy{zz{{yyzyyzyyzy{zyzz{zzyyyzyy{{{{{z{{zzzzzyzyzzzyzz{z{yzyxzyzyz{zzz{zzyzzzyyxyyzz{zz{yzyyyyyyzzyyyzzyzzyyxzyyz{yz{zzzzzyxyzyzxz{zzzzzyyzyyyzyzzzzyzzzzzzyzyzyz{zyz{z{zyzzzyzxzzz{z{zzzzyyyzzyzz{z{z{{zyyyzzzzzzzz{{{zzyzzyyzzz{{{{z|zzzyyzz{yyzzz{{z{zzzy{zz{zz{z{z|{{{yzzzyzzz|z{{{{{zzz{yzzz{{{{{{zzz{zz{zy{zzzzz{{{yzz{zyz{{z{zz{{{yzzzzzzz{z{{z|{zzz{zz{z{{|{{{z|{zz{zz{y{|z{z{{{{zzz{y{z{{z{{{{zzzzzzzz{{{z{z{||{z{z{z{zzzz{{{{{zzzzzz{yz{{zz{{{{|{zzzyyz{{z{z{z{zzyzzyyzy{zzzxzzyxzyzzyzzzyyyzzyzy{zxyyzyzz{z{zzzyxzzzyz{zyzzzzzyyzzzyy{yzzyzzzyzzyyyzxzyzzz{z{xzyyyyyxyy{yzzzzyyyyyyyyzzzzzzzzzxyyyyyyzy{yyzzzzyyyyyyyyz{{zyyzzxyzzyxyzzzzzzzzyyzyxyxyzzzyyz{{yzyzyyzzy{zyyzzzzzzyyyzyyzy{yzyyyyzyy{zyyxzzyz{zzzyyzyyzzzzzyz{z{yyzyzzzzzzzz{{{y{yyyyzyy{zzzyz{zyyyzyyy{zy{z{zzzyzzyyzzzz{zzz{{zyyzz{zzzzzyzzzyzzzzy{z{zz{z{{zzzzzyzzz{zzzz{{{{zzzzzzzyz{{z{z{{{yyzzzzy{{{{z{{zzzzzzz{{|{{{{z{|{{{{yzzzz{z{{{{{zz{{zz{z{{{z{z{zzyz{zz{zzz{{zz{{z{{zzzz{z{{z{{z{{zzzzzzz{{zz{{{zyzyzyzyzz{z{zz{zyzzzyyzxz{zzyzz{z{zzyyyyyyzyzzz{yyyyzyyy{{y{z{{yzzxxyyyyzzzyzzzzzyzyyyzzzyzzyzzzyzyyyyxy{zzzz{z{xxyyyyzxyzzzy{{yzyzyyzyy{yz{yyyzzzyyyzyyyzyzzzz{zyyyzzyyyzz{yyz{zyyyyyyyyzzzzzzzzzzyxyyyzzz{yz{zzyzyyyzyz{zyzzzzzyyyyyyyzyzzzzy{zzzxzyzzz{z|zz{{zzyyzyzzzzzzzzzzzzyyzzzzzz{yzzzzzzzyyzyyzzz{zzz{{{zzzzzyy{zzz{yyzyzzzzzzzy{yzy{zzyzzzyyyz{zzzz{zzyzyy{zzzyy|zzzzzzz{zyzyzz{z{{{{zyzzzyzz{{{zzz{zzzzzzzz{z{zz{{{{{yzzzzz{zz{{{{{{{yzzz{y{z{{{z{z{{y{z{yzz{{{{{{{zz{{z{yzz{zzz{z{{{{zzzzz{zz{y{z{|{zyzzzzzyz{y{{y|z{zyyyzyzzzyz{{z{zzzzyyz{yzzyzzzyyzyyyxyy{{zyzz{yzyyxyy{{y{zz{{{zzyyyzyzyzyzzz{zzyzyyzyzyzzzzyz{yz{yyxyyzzzyyzzzzyzyzyzyzzzzyzyzyyzxyyyyyzzyzzzyzyzyxyyyyy{zyzzxyyzyyyyzzzzzy{yzyzxxxyyyzyzzzzzyzyzyyyyyzyz{{yzzyyyyzyzyyyy{zzzzyyyyy{zyz{{zy{z{xzzyzzyyzzzzzy{zzyyyzzyyz{{zzz{zyzzzzzyzzzzz{{{{zzyyyyyzzzzzz{{zyzzyzyzzyz{{{{zz{zy{yzzyz{zzz{{zzyyyzzy{{zzzz{zzzzzyzzzyzzzzzzz{zzz{zzyzzzz{z{{{zzzzzzzzz{{z{{{z{zyyzzzz{{{yz{|{{{zzzzz{{{z{{{{{{zz{zzzzy|{{{z{|{zz{zzyz{zz{y{{zzzzzzzz{{zzzz{{|z{{zzzyzz{z{{z{|zzzyyyyzz{{zz{{|{z{zzzyyz{z{z|{{zzzyzzzz{zzzzzzzzzzyzyyyzzzyyzzzzzzzzyyyyz{zz{{zzzzzyyzxzzzzzz{zz{yyyyzyx{zyyz{zzzzxyyyyzyyz{zz{zzzxyzzyz{yzzzzzyyzyxxyyzy{zyzzzyyxyyyyyzzz{zyzzyxyzyyyyyzyzy{zzzzxzyyyyzz{z{y{{zzzzyyzxzzyzyzzzzxzyyyxyy{yyyzzzyzyyzxyyy{zzzz{zyyyzzyyyzyzyzzzzzyzyzxyyzzzzzyzz{y{zzyz{z{zzzzz|zzyyzyzzzz{zy{z{zzzzyyzyzz{{{zz{zzzzyzzzzzzzzz{zzzzz{zyz{z{zz{{zzzzx{yz{{{z{zz|{{zzzyzzz{{zzz{{zy{zzzzyz{{|zz{{zzzzzzz{z{{{{z{{{zz{zzz{zzz{z{{{{{{zzy{zz{{|{z{|{zzz{zzz{{zzz{{{{zyzz{zxzy{z|{z{|z{y{zzzz{{z{{{{{zzyzyyzzzz{{y|{{zyzzzzzy{{{{z{{{zzzzzyzyyzzzyyzyyyzyyyyyyzyzz{zzyyyzyyyzzzzzz{z{zyzzyyyyyzzzzz{yyxyyyyyyzyz{yzz{yyzxzyzyz{zzzzzyyyzyzyyxyzzzyzy{zzzyyyyxzzzzzzxyyxzxyyyyzzyzzzyzxyyzyyzyyzzzzz{z{yyyyzxyyyyyzzyxyyzyyzyyzzzzyzzzyzzyxzyyyzyzzzzzxyyzyyyyy{zz{zyzzzzyzzyyyzzzzyy{yzyyzyyyzzzyzzyzyzyyyyyyyzzzzzzzzxyyzzzyzz{zy{zzzyzyyyzzyyzyzzzyyzzzzyyz{z{yzz{zzyzzzyzy{zzzz{zzzzyy{yzzyz|{{{z{y{xzzzyyz{z{y{{{zzyyyzyy{{|yzz{zzxyzzyzzzzzz{{zzzzzzzzzzzzzz{{{zzyzzyz{yz{{{|{z{zz{{yzzzz{{{z{zzzyyzz{zy{{{{{y{{zzzyzzzz{zz{z{{{zzzzzyzzz{zzzz{zzzyzyzzxyzz{{z{yzyzyzyzyzzzz{zyzzyxyyxyxy{yzzyzzyyyyyxyzyyxyzzz{zzyyzyyyzyyyyz{yyyy{yyzyzzz{{z{zzyzyxyyzyzzyzz{zyyyyzyyyyzyzyy{yzyyzyyxzzyzzyzyz{yzzyyyyzyyyyz{zyyzyzyyzyzyz{zzzzyxzzyyyyzyzxz{zyz{zyyyxyzyzzz{|xzzyyzyxyyzzyzzyzzzxyyzyzyyy{z{zyyzzzz{yzzyyz{y|yzxzzyyyzzzzy{{zzzzzyyyyzzzzzzz{yyzyyyyzyz{{zz{zzyzyzyyyzyzz{{z{yy{zzzzzz{yyzzzzyzyyzyyzzzy{zz{zzzzyyzzyzyzz{{zzyz{yzz{z{z{{{zz{zzz{zzzz{z{zz{{{{yz{yyzz{{{{z{{{zz{{z{zzz{{{z{{|z{y{z{z{y{{{z{{{{yy{zzzy{{{zzzy{yyyzzxzzz{{{{{{{{|zyzzzz{{z|{{{{yzzyz{yz{{{{zz{{{z{zyyyy{{{zz{zyzzzzzyzz{yzyyzyzzyyyyzzyyzz{zzz{{zyzyyyzzzzzzzz{zxyyyyzyzyyzzy{zyzyzzzy{y{{zzz{zzzzyyyzyzzyzyzzzzyzyyyyyyzyyz{zyzxyyzyyxyzzzyzzzzz{xyzzyyyyyzyzzyxyzzyyxyzzzzyzyxyzyxyyzxyzyzzzyyyyyyyyyyzy{z{zzyyyyyxyxyzzzzy{{yzyyzxyzyyzyz{yzzyzzzzyyzzzyzyzzzyyyzyzyzyz{zz{{zzyyzyzy{zzz{zz{yz{yzyyyyzz{zz{zzzyzzzzzz{z|zzzzyz{yzyyzz{zzzy{zzzzzzzy{zzy{zz{{z{zyzyzyzzzz{{|{zyzzzyzzzzzzz{{zzyzy{zzy{zz{{zz{zzzzzzzzz|zzzz{{zyzyzz||z{z{{{{{{z{zzzzzz{{z{{{|zzzzzyzyz{{z{{z{zyyzzzzzzzzz{{{zzzzzz{yz{zz|{{{{{yzyzxzz{zz|{{{{zzz{{zzzz|zzzz{zzzyyzzzy{{zzz{yzxyyyzyxyyxyzyz{zzyzyyxyzyzz{zzz{zyzyyyzyz{yzzzzzzyzxyyyzyy{zzyzyzyzxyyyyyzyyzzyzyyyyzzzxzzyyyzzy{yzyyzxyyyzyyzy{yyyyyxyyzyyyzyzyyyxyyzyy{zzyzz{zzzyzxzyxyzyzzzyzyxyyyyzyyzy{yzyzy{yyyxyyzzyyyyz{zzyyyxyyyzzzz{zyzyzyyyzyzyzzzzzyzyyyyzyzyzzyzy{z{xzyzxyzzz{{yyz|yyzzyyyzzzzzz{z{yzyyzzyzy{yzz{zzzyyyzyyyzzzzzz{yzzyzzyyz{zzzz{zzzxyzzyyzz{z{z{{zzzzzzzzzz{z{{{z{zzzyyyzzzz{|z{z{{xyyzzz{{{{{{{{zzy{zzzzzz{zz{{z{{{yzy{{z{{{{{{{{{yz{zzzyz{{zz{{{{zy{yyyzzzzz{{}|zzyyzzyzz{{{{{{{zz{yzyzzzzzz{z{zzzyyzyyyzzz{y{|zzzyzyzyyy{zyz{yzyyyyyyxyy{{zzz{{zyyyyzyzyyzzz{z{zzyxyyxz{zyzzzzzyzyzzyzzz{yzzzzzxzyyyzzyyyzzzyz{zyyyzzyxyyyzyzyzzyyzyyyyyz{zyzzzzyzyyzyzyz{zyzz{yzyxzyyyz{{zzzzyzyzzyyyyz{zyz{zzyyyzyyyyyzzzyz{zzzzyzzzwzyyzzzzzzzzyzyzyyyyzzzyyzzyyzzzyz{z{zz{zzyyyzyz{zz{zzzzzzyyyyzzzzzzzyzzzyzyzyyyy{{{z{z{yyyzzyzzyzzz{{y{zzyyzzyzzy{{zyz{zzyzzyyyzz{{zz{{{{zyzzyzzy{z{z{z{yyzzyzzyzzz{z{{{zzy{zzyy{{{{zz|zzzzzzz{y{{zzz{{{zzzyyzzzz{z{{{z||zzyyzzzzz{{{z{z{zzz{zzz|{zz{{|{{zz{zzzz{z{{{z{|{{zzzzz{z{{{{{{zz{zzzzzzy{z{{{zzzy{yzyy{z{zzzz{z{z{zzzzyzz{zzz{zyzyyxyyxyzyzzyzzyyyyzyxyyzzyzzzzzzzxyzzyzzzz{zzzxzyzyyyyzyzyyy{{yzxxyyyzzzy{yzy{yzzyyyyyzzyyzyzzyyyyyyzyzyzyzzzyzy{yyyzyzzzzzyyzxyyyyzzzzzzzzzz{zyyyyyyzz{yzzyzyyzzyyyyyyzyz{zz{xyyzyyyyyyzyzzzzyzyzyyyyyzzyz{{{yyzzyyzxzzz{z{{{zyyzyzyzzzzy{zzyzzxzzxzz{zz{zzzzyzzyyyzzzzzz{zzzzzyzzyyyz{zz{zzzzyyyyyyyyy{zzzzzyzzyy{yzzzzyzzzzzzzzyzyyzzzzzz{{yyzyzz{zz{{{{z{|zyyzyzyyz{{z{zz{{zzyzyzzz{{{z{{zzxzzyzyzzzzz{{{z{zyzyzyzz{z|{zzz{z{{yyyz{{z{{{zz{yy{zzzzz{zzz|{{{zz{zz{{z{{{z{{|{zyz{yzyz{{zz{{zzzy{zzyyzz{zyzzzzyyzyyyzzy{zzzzyyyzzyyyyyzzyz{z{yyyzyzyyzzzyzzzzzzyyyzzyyzzzzz{zzzzyyyyy{{zyzzzyyyyxxyyyzy{zyzyzyyzyzyzyzzzyz{{y{yzyzzyyzyzzzzzzyyyyxyyzzzyzzyzzyyyyyyyyzzyy{z{zyyzyyyyzzzyz{y{zyzyyzyyyyzy{yy{zzyyyzyyyzzyzyzz{zzzyyyzzyzzzz{zzyzzzyzyyzyzyzz{zzzzzyyzzz{z{z{z{zzyzzzyzyyzzzzzzzyxyyyzyyz{{zz{{zyyzzyzyyzy{zzzzzzzyyyxzy{{{zzzzzzzzyzyy{{zzy{{zzzzzyy{{{|{{{{{{z{zyz{yz{zzz{|{{{zzyzyyy{{z{z{{yzzzzzzz{z|{z{{{{{{zzx{{zz{{{{|{{zzz{y{zz{{{zz{z{{yy{zzzyz{{z{{z{zz{zzzzzzzzzz{{|{{zzzzz{{z{z||z|{zyzzzzzz{zzzzzzzzyzzyzy{zz{zz|z{yzyzzyzz{{zzzyzzyyzyyzyyzzyzzzzy{yzxyyyzz{zzzzyzyzyzzyy{xzyzz{zyzzyyyx{yzzzyyz{zyyyxyyyzzz{zzzzyyyyyyzyz{yyzzzzzyyyzyyzzy{yyzzzzyzyzyyzyzyyzyzzxyyyyyxxzzyzy{yyyzzzyyyzzyzyzzzyyzzzyyyzzzz{zz{zyzyyyyzyzzyyyzzzzzyyyyyzyzzzyzzyyz{yyzyyyzzz{y{{zyzxyxzyzzyzzy{zzzzyyyzz{{yyzz{zzzzzyyzzy{{zz{{{zyyyzyzzxzzzzzz{zzyyzy{yz{{z{z{zzyyzzzzzzz{z|{{{{zyzzzzy{zy{z{z{{zzzzz{zz{z{{{{{zzzzzzyy{{|{{{{zzzzzzz{yzzzy|z|{yzyzy{{{z{yz{{{{{yyzzzzz{{z{{{{z{zz{yzy{{{z{{{{{zzzzyzzz{{{z|z{{{zzz{zzzz{z|{{z|z{zyzzzzzzzzz||{z{zzzyzyyz{zzzzz{zzzzyzyzz{y{{yyyyyzyyzyz{zzyzyyyyzxyyzyzyyzyzzzzyyxxzyyzyzz{zyzyyzxyyyzyyz{zzzzyzzzyxyyyzyyzzyzzzyyyzzyzzzyyyzzyyyxxxyxyyzxzzzzyzxzxyxyyyzyzzzzxzzyyyyyyyzyzyyyyyyyyzzy{y{yyyzzyyzyyyyxzzyzzy{zzyzyyyyyyzyyyzy{yzyyxxyyxyzzyzyzyzzyxyyyyyzzyz{zzyyyyyyxyzyzyzzzyyzyyyzyz{zzyzzzyz{yyzzy{{zzzz{{zyyyyyyyy{zyzzyzyyzzzxzyz{{{zzzzz{zyzyyzzzzzyyzz{zz{zzyxyzz{z{{{y{zzzy{{{yzz{zz{zzzzyzyzzzzz{zzzzy{zyy{yzz{zzy{zzzzyzzzzz{z{z{z{{zz{yyzyz{z{zz{{zz{yzzxz{z{zz|{{{zyyzzyzz{{{z{z{{zzyyzyy{zzzz{{zzyyzzzzzzzzzz{{{zyzzyzyyz{{{{z{{yyyxyyzyzz{zzzzyyxyxyyyyxyzzyzyzyyyxzyxyyzzzzzz{{zyyyyyyzzzyyz{zyyxzyyyyyzzz{yzyzyyyxxyxzzzy{{z{zyyyyyyyzzzyzyzzzxyyyxyyzz{xyzz{yzyzyyxzzyyyxzyyyyyyyxyyyyyzyzzyzyyyyyxyyyzzzzyzyxyyyyxyzzzyz{zzzyyyzyyxzyyyzyyyzyzyyxxyzzyyy{zzzyyzyyyyzyyzyyzzzzzyxyzy{zyzz{z{yyyyyzyyyzzzzy{zzyzzyyyzzz{zzz{yyz{yyyyzyz{zzz{zzzzyzyzyzzzzz{{yzzz{yyzz{zyzz{{zyzyyy{yz{{zz{z{{yzzyzz{z{{{zzzzzz{zyzyyyyzz{{zzz{yyzzy{zz{z{{{|{zyzzyzzzz{{z{zz{{z{zz{zzzzzz{{zz{zyyyyyzz{{zzzzzzyzz{zy{{zzz{{{{{zz{zzzy{{{{|zzzzzxyyzyz{zzzzz{z{{zzzzzyzz{zyzzzyzzxyyzyzzyzyzz{yyyyyyzyzz{zyzzyyyyyxyzyyz{zz{z{zyyyyzyyzyzzzz{zzyzyzyyyyzz{yy{zyyyyyyzyz{yzyzz{zyyyyyyyyyzzzzzyzyzyzyyyzz{yyzzzyyyyzzyyzyzyyzy{yyyzzyyyyzzzzzyyyyyyyzxyzzzzz{zyyxzyyyyyyzzzzz{zzzzyyyyyyzyyyzzzzzyyyyzyzzyzy{zzyyzyyzyxzzy{zzzzzyzzzzyzzzz{{zz{zzzyyyzz{zzzz{{{yyzxyxyzzzzzyzzzzzyyzxzzz{zzzyyz{yzyzyyzz{z{zxzzzzy{zyy{y{{zzzzzyyzzz{zzzzz{{z{{zyzzz{zzzy{{{{{|zz{zyzyzz{{yzz{z{zzzzzyzz{zz{z{{zzzz{z{zz{zzz{z{z{zzyyyzz|{zz|{{{zzzzzzz{z|z{{{yzyyzzzzyyz{{y{{{{yxzzzzz{{z{{|z{{z{yz{zzz{z{{{{zz{zyzzyyzz{{zzzyzzzzzyzyyzzzzzzyxzyyyzxxz{zz{zzzyxyzyyyy{zzzzzzzzzyzyzzy{zyyz{zzyyzzzyzyzzyzzzzyzyyxyyzyzzy{zzy{yyzyyyzxyzzzzzzzyyzyyyzyyz{yzyyzzzyxyxzyzyyyyzy{xyyyyxyzzzzyzzzzzzyyyyyzyzyzzzyyyyzzyyzyz{zyzzzzzzyzzyyyyzyyyzz{zzyyzyyxyzyzz{yzyzzzyzyyzzyzzz{zzyyyzyzyyzzyz{y{zyy{zzy{z{zzz{{zyzyxyyzzzzzz{{{yyyzzyyzyzz{zz{{z{yzxyyzyzz{zzzzyzzzyzyzzz{{yz|{zz{yyzz{zzzzzz{{zyzyzzzzyz{{{{||{zyzzzyyzz{{{{{{{zzzzzzzy|{z{|{{|zzz{y{zzz{{z{{|{{zzyyzz{z{{{{{{{zzzzzyy{z{zzy{z{zzzzzzyzz{{{{{{{{zy{yzzy{{zzz{z{zzzzzzzzz|zz{z{zzz{yzzzzz{zzz{{zzyyzxyzyzzzzzzzzyyyyyyzzzzz{zzyzzyyyyzzyzzzyz{z{yyyyyzyzzyyzzzzy{z{yzzzyzzzzyzzyzzyyxyyxzzzzz{{yyzzxxyxyzy{zyzzzyzyzyyzzzz{yzzzzyyxyzyyyzyzyzzzzyyyyzyyyzyzyzyzzzyyyyyxzzzzzyzzzyzzzxxyyzzzz{yz{zzyyyxxyxzzyyyzzyzyyxyyzyzzyzzz{zyyyzzyyzz{zz{{{zzzyyyzyzz{zzzz{zxyzyzzy{zz{zzz{yyyyzyyyzyzzz{zzyzzzzyzyyz{z{zz{yyyyyyyxzz{z{{{zzyyzzzzyz{{{|z{|zyyzzzzzzz{zz{{yyyzzz{zy{{z{zz{zzyzzzzyz{zz{zz{z{yzy{zzyz{z{{{{{zzzzy{zz{{|{{{|{{yzyz{{{z{zz{{{{{yyzzzzz{{{z{z{{zyzzzyyz|zz|z{|{zzzzyzz{z{z{{z{{zzzyzzzzzzzz{{z{zzz{zyzyyzz{z{{zyzyzyyyyzz{{z{zzzyyxyyyxzyzzzz{zzzyyyzyyyyzy{zz{{yzzyzyyz{{zzz{{zyzyyyyyzzzzzy{zyyzzxzxxzyyzzzzzzyyyyyzyyz{zy{{yzyxyyxyyyy{zz{zzyyzyyyyzzzyzyzyzxz{yxyyyzzzzzyzyzyyyyzyzyyzz{zzzzz{zyzzyy{zzyzzzzyyyyyyxzzzyz|zzyzxyyyyxy{y{{{{zyyzyzyyyyzzzy{{zzzyyzyzyyzyzyzyzyz{yzyzyzyzzzy{{zxyyyzzzyzzzzzzyyzyyyzyyz{z{zzzzzzzzyzxz{{{zy{{yzyyyyzyzzzzyz{zzzzzyzzzzzz{{z{{zzzzyyzyzz{{{{{{{yzzzyzyyzzz{{z{{{yz{zyzy{{{{{{{zz{zzz{{{z{{{{zz|zyyyz{{zz{z{{{{{{yyzzzzyzz{{zzyz{yzyzzzy{z{z{z|{{zzzzzyz{{{{zz{{zzzyyyzzzzzz{{z{zzy{zyyy{zz{{{{{zzzyyxyyz{{zzzyz{yxzzyyyyzz{{zzzyyzyzyyzy{yzzz{zzyyyyxyy{{zzzzzzzyzyyyyxy{yzzzzzzyzxyzyxzzzzzzyzyyzxyyyxyzyzyzzzyyyyyyyzzyzyyzyzyzyyxyyyyyyzyzy{yzyxyyyyyyzzzzzyzyyzyyxyzyzzzyzzyyzyyxyyyzz{zzzzyyyyyyyxxzzzzzyzyzyyxyyyyzyyz{zzzyzzy{yyzzzzzzzzzyzyzyzyz{yyzzzzzyzzyz{yyzyzzz{zyyzxyyzyzzzzyzzzyzyyzzyyzz|zy{z{yyzyz{yyz{z{yzzzyxz{zzyyzyzzzzz{zzz{zz{zzy{{z{{zyz{zzyz{{zzzz{{|yyzyyzzyz{{{zzzzzzzzzzzzz{{z{{{zy{zzzz{zz{zz{zz{zzz{x{{zz{{{{z{{{yzzzyzyzz{zz{z{zzzzzzzzzzz{{{||{zzzz{zyzz{|z{{{z{zyz{zyz{zzzz{zzzzzyyyzz{zzzzzzzyywyzyzyz{zzzzzxzyyyyyyyzzzyzzzzyyyyyyyzzzzz{{zzyxyyzyy{yzzzzyzzzzzyyyyzzzzzzzzzyzzxyzx{z{yzzzzzyyyyyyyzzyzzz{zyyyyyxyyzzyzzy{zyzxxxzyzyyyyyzzyxyyyyyxyyzyzzz{yyyyyyzyzyz{yyzzzyyzyxxxyzxyzzz{yzyyyyyyyyyyyzzzzyyyyyyyyxzzzzyz{xyzyyzyyzzzyzzyz{yxyyyxyzyyyy{yzyy{yxyzz{zyyz{{zyyyzzzxyyzzyyzzzzyzyzyyyzzzzy{zzzyyyyxyyy{zz{{{zyyzyyzyxyyzzxzzzzzyyyyzy{zz{zz{{{zyyzyzzz{z{zz|{yyz{xyxzz{z{zzzzzzzzzzz{{zzz{z{z{zzyzzzz{{z{z{zz{yzyzz{yy{{{z{{{zz{{{y{y{z{{{zzzzyz{zzyz{zz{{z{z{zzzzzzzz{yyzz|zzyyyzyzx{{zzzz{zzyyzzzzz{{zyzz{zzyzyyyyyzy{{zyzzz{xyzzyyyzzzz{z{{yyxyxxzzzyzyzzzzyyzzyyzzzzzzz{z{yyyzzxz{{{{zzzzzzyzyyyyzzzzzz|{zyxyzyyyzzzzyzyzzzyyyzyyzzzyz{zyyzyyyyyyz{zyzzyzyyyzyyyyzzzyzyz{zzyxyxyzyyyz{zzyzxzyxyyyx{zzyz{{yzzyyxyyyyyyzyyzzzyxzyxxzyzyzzzzyyzyyyxyy{z|zzz{{yyzyyyzzzzzzz{zyyzzyyyyzyzzzzzzzzzyyyzyzzz{z{{zzzzyzyyzy{zzzzyzzzzyzzyyzzzzz{zz{yyyyyyy{zyy{{{zzzzzzyzzzz{{{{{z{yyyyyzy{zz{zzz{zzyzzzyy{{{{{{z{{yzzyz{y{{zz{{|yyyzyzzyz{{z{{{{{{zzzy{zzz{{z|z{{{z{z{zzy{|{{z{{z{yy{zzzz{|z{{{{{{zzzzzzz{z{z|z{{zzzyzzzyy{z{y{{{{zyyzzyzyz{{zzz|zzyzzzzyz{{zzyyzzzzxyyyyyyyzzz{zzyyzyxxyyyz{z{{yzzzyyyxx{zzyyz{{yyyzzxyyzyzzyyzzzyyyyyyyzzzzz{{{yzyyyyyyyyzyyz{yyzzyyzyyyzzzyzzzzyzyyyyyzyzzyzzzyyyzzyyyzyzzyzzyzzz{zxyyzz{yzz{zyyzyyyyxxzyyy{{yzyyyyxyyyyzyz{zzyzyyzxyyy{yz{zzzyyyyyyyyzy{xzzzzzyyyzyyxzzzy{yz|yyyyxyzyyzzzz{z{yzyyxyyyyzyzzzzzyzyyzyzyy{{{z{{zyyyzzyyyyz{zzz{{zyyzyyyyz{{yz{{zzyyyzzzzzzz{z{{zyy{{z{zz{zz{{{{zzyzzzzzz{{zz{zyz{yyzyyxz{z{{|zz{zzzzzz{zzzzz{{{{{z{zz{yy||zz{{{{zzzz{yyz{zzzzzzz{yzzyzzzzy{{{{zz{zzzzzzz|zz{z{z{{{zzz{zzz{zz{{z{zzzyyy{yzz{zyzz{yyzxyyyyz{zzyyyyzyyzyxyzxxzzzzzzzzxzyxyyyz{zzy{yyyxyyyyy{yyy{yzzzzzyyyyy{zzzzyz{yyyzxyyyyzzzyy{zyzyyyyyyyyyyzy{zyyxzyyyyyyzzyzzzzyyxxyyyyzy{zzyzzyyyzyyy{zzzzyzzyyyzxyxyyyyzz{zzyyyzyyzxzyzzyyzzzyyzzxyyzzzyzyyzxyyyyyyyy{yzzzzzyyzyxyyxyyzyzzzzyyyyzyyzzzzzzy{zzyzzyyyzzzzyy{z{yyzzyzyzzzzzzy{yz{zzzxyyyzzyz{z{zyyzyyyyzzzzzz{zzzy{yzyyy{{yzzz{zzzzzzyyzz{{{z{{zzyzz{zz{{{zz{{zyyyz{zzzzzz{z{{{{zzz{yzzz{z{{{{{zy{zy{zz{|zy{|z{{zyzzzyyz{z{z{z{{yzyzzzyzz{{{{{zzzzzyyzzz{{{{z{{z{{yzyzzzzzz{zz{z{zy{zyz{yzzzzz{zzzyzzyyz{{zz{z{yyzyyyzyzzzzzzzzzyxxyzyyzy{zzzzzzzyyxyxxzyzzzzzyzyxyyzzyyzy{zzyzzyyyyyzzzzyzyz{zzzyyxyyyzy{zzzyzyzzyzyyyzz{zyzyzyzyyzyyyzxzzzzyyxyyxzyyyzzyzzzzzyyzzzyyyyyy{zz{zzyyyyzyyyzzyzyzzzxyyyzyzxzzzyzy{yzzyzyyxyzyyzzzzyyyyxzzyzzy{yzzzyzyzyzzy{yy{zy{zyyyyzyyyyzzzzzzzyzzyyyyyzyyzz{yzzyyyyyyzzyzzz{zzyyzzzyzyyzzzz{{{zyzyzzzyzzzzz{z{yxyzyyyyz{{zyzzzzzzyyzyzyzz{z{|{zzyzyzz{zzzzy{{zzyyzzzyyzzz{{z{zzyzzzz{y{{{z{{{zzzzyy{zzzzz|{{{zz{zzzzyz{|{||{{{{zzzzzyy{z{zz{zz{zyzzzzzz{{zzzz{zzzz{yyzz{{{y{z{zyzzzzzzy{zz{{|zyyzyyzzzz{{z{z{zzzzzyyyzz{zzzyz{yyyy{zyyxzzyyyzzzyyyyxwzyyzzzzzzzyyxyzyyzzzzzz{zyxzzzxzzzzzzyyzzyyzyxyxyzxyzzzzzyzzzyyyyx{zy{z{zyxyyyyzyyzzzyzyyyyzyxxxzzxyyzyyyyyyzyyzyyyzyyzyzzyyzxyyxzzyyzzzyyyyzyzyzyzzyyyz{yxzyyyzyyyyzyzzzyyxzzyyzzzzyyzzzyyyxyyyyzzyzyz{zyyyyyzyyyzzz{zyzyzzyyzzyyzzzyzzyyxyyyzzyzzzzyzz{zzzyyxyyz{zzz{zz{yyzzzzyzz{z{zzzzyyzyzyyzzy{zy{{zzyyzzzzzz{zzzz{zzzzzzyzzzz|z{|z{yyzzyyyy{{zzzzzzyzz{zzyz{zzz{||zzzyzzzzzzz{{{z{z{zzy{zzy{{{zzz{{zy{{yzzzz{z{{z{yyzzzzzzzyzzzz{{{zyyz{yzzzz{{{{{{zzyyyyz{{{z{{{{zzxzyyz{z{z{zyzzzzzzyzz{yzz{z{zyyyxyyxxyyzzxzzzzyyyyzx{yzzz{{zz{yzzxyyzzzyzyzzzzzyyzyxyyzzzzyzzzzy{yxyxyz{zy{yxzyyzyyzzzyzyyyzyzyyyyyxzxyzzyyzzyzyyyzyxyzxyxyzzzyxzyyyyyzzzzyzzzxzyyyzxyzzzyzyyyyzzzyyyyzzzyzzz{zyyyyxzyyyzxzzzyzyyyyyxyyzyzzyzzyxzyyzyyzzzzzz{zzyxyzyzyzzyzyzz{zzyzyyzzzzzzy{zzyyzyyyzzzzyyzz{{zyzzyxyxy{{z{{z{yzyyyyyxz{z{zyz{yzyyyyyzz{zzzy{zzy{zyzyzzzz{z{zzyzzyzy{z{zz{{zzzyzzzyzzzz{{|{z{{{zyzzzzz{|{z{{{zzz{zzzzz{z{{{{z{{yzzz{z{z{z{{{{{zzz{yzzy{z{{zz|zzzyzzzzzy{z{{z{zzzy{z{z|{{z{z{{|yzzz{z{yzzzy{{{zzzzyzyzz{yz{z{{zyzzzzyxyy{zz|yy{zyxxxyyyzyzyzzzzyzyzyyyxzz{zzzyzyzxyyyyyzyzy{zzyzzyyzxxzzzzyzzzzy{zxyyyyy{zzz{zzyzyyyyxyzzzyyzzzzyyyyyxyzzzzyzzzxzyyyyzxzzyzz{zzyyxyyzyxzzzzzzz{{yyyxzxyzyzy{zzzzxyyxyyyz{zzzyz{zyzyyxyyz{zyzzyzyz{y{yxzzzyzz{zzzzzyyzyyzzzzz{z{zzyyyyzyzzzzzz{zzzzyzyyyzzyz{zz{xzyyyzyyzzz{zzzzzyzzyyyyzz{{z|z{yzyyxyyyz{{z{z|{yyyzzyzzz{{zz{z{zzzy{yy{zzz|{zzyzzzyzzzz{z{{{{zzzz{zzyyz{{{{zyzz{zzy{z{z{{{z{{{zzz{zz{{zzzz{zzzzzzyzyz{zz{zz{|{zzz{zzzz{{{zyzz{{zzzzz{zz{z{yz{z{{zyzzzy{z{z{{z|{zzzzzzzzzzzz{z{{yyzy{zzzzzyz{z{z{yzyzyyy{zzz{zzyzyxyxzyy{zzyzzz{zyzzzyyyyy{z{z{zzyxyyyzxzz{yzz{y{yzzzzyzyzz{zz{zyzyyyzyx{yz{z{{{zyyzyyyyy{zyyzzzzzyyyzyyz{{yzzzzzzyyyyyyzzzzzz{zzx{yyyzxyzzzzzzyyxyyxyxzyzz{yzzzyyzyyzyy{{zyzy{zyyzyyyxyyzyzyzzzzzyyyyyyyzzyz{zzyyzyzzzyzzzz{y{yzxzyzzyyxz{zzzzzyzzyzxxzyyyyzz{{yyzyyyzzzzzy{{{{yyzyzyzyyz{z{{{zyyzyyyzzz{{{z{z{zyzzzyyz{{zzyz{{zyyy{zz{zzz{{{{zyy{zzy{z||z{{||{zyz{yyzzz{{{{{{z{yzzyxyy{|{{{{{zzzz{zz{zz{{{{{{{{zz{z{yzz{{{{z{{{z{zyyzzz{{yz{{{zzzyzzzyzzzz{{z{{zzz{yy{{{{{z{|{{zyxyzyzzz{z{z{zzzyzzyzyz{zz{{zyz{zxzzyyzyzzzzzyyzyyyyxyyzzzzzyzy{yyyyyzzyzzz{zzzyzxzzzyzzzzzzzzzzzzzzyyzzzzzyzzzzyzxyyyzz{yyzz{yzzzzzzyy{zzzz{zyyyzyzyyzyzzzzzzzyyyyyxyyzy{yzy{zzyzyyyyyzzzzzzzyyyyxyyyyyzzzyzzyyxyyyyyzyyzzz{{yyyzzxyxzzyyzzzzyyyyyyzyzyyzyzzyzxzyyyyyzzzz{{zzzzzzzyy{zzzz{z{z{xzzzxyyyzzzz{{yyyzyyxyzzzzz{zz{zyzzzzzzzzzzy{z{xyzyzyzyy{{zzz{zzyyzyyyzyz{zz{{z{zyy{zzyz{z{z{{{zyzzzzz{zzz{y{|{{zyzzyyyz|{zz{{{zyyzzyy{{zzz{z{{{yzzz{yy{{|z{z{{zyzyzzzzz{zz|{{z{yyzyzzz{{zzzzzzzz{zzzy{z{{z{{{{{zzzyzyzz{z{z{{z{zzzzzzz{z{{{{{z{zyzz{yyzzzzzzz|zzzyzxzz{zz{zzz{yyyzxyxzyzzzzyy{yyzyyxzyzzzy{{{zzzxyyyzz{yyyz{{{y{zyyzzyzyz{zzz{yzzzyxxwzzyxzzz{yyzyx{yxyz{z{zzzyxyyyywzzz{zzzxyzyzxyyzyyzyzzz{zyyxyzyyyyyyzyyzzzyyzyzyzyyzyyzz{yyyzyyyyz{zyzzz{yyzyxyzyyyzyzyz{{yyyzyyyy{yzzzzzyzyzzyyzyzzzz{z{{zzzzzyy{yy{z{y{yzzzyyyy{z{yzz{zyyyyxxxyzz|zzz{zyzzzyyzz{zzyz{zzzyzzyyyyzzzz{{z{zzzz{yyyzzzz{zzzzy{zzyzzzzz|z{{zyyyz{zzzz{z{{z{{zyzzzyyzzz{zzzz{{yzyzyyy{{{z{z{{zzzzzzzz{zz{{zz{{zzyy{zyz{|{z{z{{y{zz{zzyz{{{{{{{y{zzzzz{zz{z|{|zy{zzzyz{zzz{|{{zzyyzz{y{{z{{|{|{{zzyzzzzzzzzzz{yyzxzzzyzzzzzyy{yyyzzxyxzyy{zzzzxyyzxxyyzz{zzzz{zyyzyyyyzzyzyzzzyyzzzzyzyz{zzzzzzyzzyyzyyyyzz{zzyyyyzyyyyzzzzy{zzyyzzzyxyzzyzyyzyyzzyyxyy{zzzyyzyzyxyyyzyzzyzz{yyxyzyxzzzyzzzzyyzzyyxyyyyz{{yzz{yyyyzyzyyyzzyzzyyyyxzyyyzz{zz{zyyyyzyyyyzzy{{zzzzyyzyyzzzzzzzzyzyyzzxyyz{zzz{z{{zyzzyzxzzz{{zz{zyyzyzyzzz{zzz{zzyzzzzzzz{{z{zz{zzzzyyzzzz{{y{y{z{z{zyzzzz{z{|{zzyz{zz{zz|{z{z{|zzyyzyyyz{{{z{{{{{y{{z{zz|{{|{z{|zz{yzzzz{zzz{|{{{zzzzy{{z{|{zz{{{{zyyyzz{z{z{{zz{zzzzy{yz{{z{z{z{zz{zzz{z{{zzzz{zzyzzzyyz{{zz{{{zzyzy{xyy{zz{z{{zyzyyyzyz{zzzxz{yyyxyyyxzyyyzzzyyyyyxyyyzyzz{z{zzyyxyzzxxz{yzy{zzyzyyzzxzzyzyyz{yyyyxyyyzzzzzyz{zyzxyyxyyzzyyzyyzxxyzxxzxxzyyyz{yzyyxxxzzzyzyzyzyxyzxxyyxzzyzyzzyzxyxyyzzzyyyyyyyyyyyyxxyyzzyxzyxzyxyzzyyzyyyzzzzyyxyyyzyyyyyzyyyyyyyyyyyzyzyzzyyzyyzyyzzyy{yzzzyyzzzyyyzzzzzzy{zzzyyzyyzzzyzzzzyyyyyyyyz{yzzzzzzxyyyyyzzzyzzy{zzzzyyyyz{{yzzzz{yz{zyxyz{{z{z{zzzzzyzzzzzzzzz{{{zz{yyzxyz{zzzzzzzzzyzzzzz{{z{z{zyzzzz{{yzzzzz{zzzyzyyyyzzz{z{z{z{zzzyzyz{zzzzzzzzzzy{{zyz{z{yz|{z{zyzzzz{z{{z{{{zy{yzzzyzzz{z{{zzz{yxyyzz{zzyy{{zzzyzzyyzzyzzzyzyzxyyyzyzzyxzyzzzyyyyxyxzzzyz{zzzyyyzzzzyzzzzz{zzyyyyyxyyyzzyy{{zzyxyyyyzzzzzzzzyyzyyyyxyzzyy{{zzyyyzyyzzyzzyyzzyzyyyxwzyyyyyzzzxyyyyxyxyzzzyyzzyyyyyyxyzyzzzyy{yyzxyyyyyzz{zy{yyyxyyyyxyyzyz{zz{yyyyyyzyzz{zzzzzyyzyyzyzzzyzz{zyyyzzyyyz{zzzzzyzxyyyyzyzyzzzzzzzyzzyzzyyzzzz{{zyzzyzyyzz{{zzyzzzyzyyyyxz{zzyz{|yzyyyzzyzy{zz{z{zzzzyzz{z{zz{yzzzz{zzzzy{zzz{zz{yzzzzzyyzz{{{z{zzyyzzzyz{zzz{{{zzzzyyy{yy{{{z{z{{yyzzzzzz|{zz{{{zzzyzzyzzzzz{zzy{yz{yzzzz{{zz{{{zzyzz{zy{z{{z{{{zzyzyyzyz{zzy{{{zzzzzyzyzzzzzz{{zzzyyzyzz{zz{yyzyzzyyxxxyz{yzy{zzzzyyxxzz{{{zy{z{yyxzyyyzzyzzzzzzyzzyyyzzxzz{z{zzyxyzyyyyzzzzzzyyyyyzzyxyzxzzzzyzyxyzyzyyzzzzzyyyzzzyzyzxzyzzyyzzyyyzxxyyzzyyzzyyyyyyyyyzyzyzzzzzzyyzzxyzzzzyyzyzyyyyyzxyzyyzzz{yzzyyyyxyyyzy{{zyzyyzyyyzz{zz{{{zyyyyyzyzzzzzzzzzyzyzzzyzyz{z{zzyzzzyyyzzzzz{{zzzyyyyyzyzzzzz{zzzzzxyxyyzzzz{z{{zzyyzzy{{zzzy{zz{zzyzyyy{z{{|zzzzzzzzzyz{{{{z{z{zzzyyyyyz{{{zz{{zyzyzyzzz{zz{{{|zyzzz{{z{zzz{zzz{yzyzzzz{{z{|{z{zzzzzyzz|{zzz{{z{yzz{yz{z{{z{|zz{zyzzzy{zz{z{z{{z{zzyzzyzzzzzz{{yzzyzyzyz{{z{zz{yzzyyzzyzzzzzzzzyyzzyyyyz{yz{yzzyzxyzxyxzyzz{yz{zy{yyyzyzzy{{{zzz{zzzzyyzzz{zzz{zzyyyyzyzyyzz{yyyyxzzzxzxzzyyyzyyyyzyyyxz{zzzz{zyyxy{xzyz{yzyzzzzyyzyyzzy{zzxzzzzyxyxxxyzy{zz{{zyy{zyzyzzyzzzzz{zzyzxzyyzzyzzz{yzyxyyyzyzzyzy{yzyzyzzyzzzyzzz{{zzyyy{zzy{zzzzzz{zyzxyyzzzyzzz{zzzyyzy{zy{zzzzzzzzzyzz{zzz{{z{{{zzzyzyyzzy{zz{{{zzzzzyyyz{{{yzz{{yzzyyzzyz{zz{z||zzyzyzzyz{{{z{{{{yzz{{zz{z{z{z{z{zzz{{zyz{{y{z{{{z{yzzzz{zz{{{{{{z{zzzz{z|zzz{{{zyzzzzzzzz|zz{{z{zzz{zzzzz{z{{{|{zzz{zzz{{{{{{{{z{zz{zzzzz{{{{{z{yzyzzzyz{z{z{z{zxzyzyzyzz{yyzyyyyyyyzzyyzyyzyz{zzyyyzyzz{zzzzyyzyyxyzyyzzzz{zzyzzzyyyyzzzy|z{{zyzzyyzzyzy{zy{zzxyyxyyyyz{{zyz{zzxzyyyzy{zzyzzyzyyzxzyyzzyzzz{yzyzyzyxzyzyzzzzzzzyxyyyyzzz{zzzzzzyzyyyyyyyyyzy{zzyy{zyyyyzzzzzyzyyyyyzzzyyz{zzzzyyzzyyyyzzzzz{z{{zyy{yzyzyzzz{zzzyzzxzyyzzzyyzzzyyyzxyyyzzyzzy{{{zyyzxzz{|zzzzzzzzzyyyzzyyz{{zzyzzyyzzyz{zzzz{zzzzyzzz{{z{z{{{{zzzzyzy{zzy{zyz{{zyzzzyzzzz{{{zz{{y{z{y{y{{z{{{{{zzzzzz{zzzz|z{{{{zyyz{yz{{{{z{{{{yzzzyzy{zz{zzz{{zzzzyyy{{zz{{{{{zzz{zzz|z{zz{z{|{yzzzyyz{{zz{{{zzyzzz{yy{z{{zzzzzzzyyzzzzzz{{zyyzyyyyxyzyzzzzz{zyzyyyyyzzzz{{{zzzzyyyyyyzzzz{{zzyyyyyzyyzyzzyz{zyyyyzyxyzzyzz{zyzzyzyzyyzzyyyzzzyzyyyxxzzzyyzz{zyyyyzyzzzyyyzzzzyyxyxzzyzzyz{zyyyzyxzyyyy{yzyzzxyyxxyyyzzyx{zzzyyyzzzyxyz{zyzzzyyzyxyyyy{yyz{zzzzzxyyzyyzzzz{{zzzyyzyyyzzyzy{z{xyzxyyyzyzzzzzzzzz{zyzyzz{zzzz{zzzzzzyyyy{zzz{zzzyzyzzzyy{zz{z{zyzzzyzzzz{zzzzzzyzzyyzzz{|{z{z{zyzzzzyyy{{zz|{{{zyzzyzyyzzzz{zzzzy{zzzyy{{zz{|z{zzzzz{{{zz{z{{{{zzyzy{z{z||z{{{{{z{zyyzzzzz{y{{{{zyyz{zzz{z{{{{|z{{zzz{y{{zz{z{{zz{yzy{zzyzz{z{zzy{yyy{yzzy{zy{zzzzyzzzyzz{z{zyyyzzzzxyxzzyzyzyyyyyzyxyyyzzzzy{zzyzyyyyzzyzzzzzzyy{zzyyzzzyzzz{zzzzyyzzxzyz{zzz{zyzyyyyyzyzxz{zyzxzyyyyxzyzyzzzyzyzyxyzyzyyzyyyzyyyyyyzyyzzzzyyyyyxzxyxzyzz{yy{zzyzzyyzyyyzyzz{{yxzyyxyyyyzyzzyzzzyyyyzyyzzzyzzyyzzzyyyzzzzyyzz{{zyyyzyyyz{yz{yzzyy{zxyzzzzzzz|zzyzyyzyzzyzy{z{zyyzzzyyz{zzzzzz{|yyyyyyyzyzzyzzzzyyyzzyzyz{yzzyyzzzyzzzzzzz|z{zzzyyzzzzz{zzz{{{{zzzzzyxyzzz{zzzyzzzzzzzzzzzz{{{zzzzy{zzy{{{z{{{zzzzzyzyzz||yzz{zzyzzzzzz{{{{{{zzzyyzzzzzzzzz{{y|zzzy{zz{yzz}zz|{zzzzz{zy{{zzz{z{zzzzzyyyzzzyz{zzzyyyyxyzyzzzz{zzyyzzyzzzyzyzzzzzyyyyyxxyzyzzy{{{zxyzyzyyzzzz{zzzzyzzzyzzz{z{zyzzzyzyyxyyyzyzyzzyyyyyzyyxzzyyyz|zyy{xzxzy{zzyyzzzyyyyyyzyyyyzxy{zyzyxyyzzyyyxzzzzyyxyyyxyzzzyzz{zyzyyxyxyzzyyzyz{zzyzyzyyzyyzzxzzyyyyyzyyzzyyyzzzyzzzzyzyzzzzzzzzyyzyyyzyzyzzyzyzzyyzxzyyzyzyz{yzyyzzyyyxzz{zzyzzzyzyzyyxzzzzzzzzzyzyzzxyzzzzzy{zzyzzyxyyzz{zz{zz{zyyyzyzzz{{{{z{z{zzzyzzyzz{z{{{zzzzyyzz{{{zzz{y{yyzzz{z{zz{zzz{zzzzzzz{z{yz{{{zzzzzyzzzy{z{{{z{zy{zzyzy{{{z{{|{z{yz{yzzz{z{{{{{zzzz{zy{z{z{z{z|zzzxzzzyz{zzy{z{{{yzzzyzz{zzzzzzzy{yyxzyzyzz{yy{yzyyzyxyyzzyyy{zzyzyyyyyyzzyyyzzyyyyzyzxyzzzzzz{zyyyyyzzzzzzyz{yyyzzxyzyyyyzzzzzyzzyyyyzyyzyyyzzyzzyzyyxzzzyzzzyzzzyzzyzz{yzzzzzzzzyzyyyzzyyzz{y{xyyzyyyyzzzz{zzyxxyxxyyzzz{zyzyyzyzyyxyyz{zyzzzzyyxyyxyxyyzzz{zyyyxyyyxzzzzyzz{zzyyyyyyyzyyzzz{zzzyyzyzz{zyyzzzzzyyyzzzyzzyz{z{zzzzyyzyyzz{{{z{zyzyyxyyy{{zyyz{yyxzyyxzzzzzzzzzzzzzzzzzyz{{{z{zzyz{yzzy{{z{z{{zyzzyyzzyzyzy{{{z{yyyzzzzzzzz{z{zzzzzzz{z{{{z{z{zzy{zzzz{z{{z{{{{{y{zzzzz|z{{z{z{zzzzzzyzzzzz{{{zzzz{zyzz{{{{|{{{zz{zzyzyzzz{z{|{zzyzyzzxz{yzyzzzzyzzyyyyzzz{zzyyxyyzyyzxyzzyyzzzyxyzyxxxyyzzy{zyzzzyyzyyzzzzy{{zzyzyyxyzzzzzyzz{zyzyyzyyyzzxyyzzzyyyyxzyyyzxzz{zyzyyyyzyyzyzxzzzzyxyzyyzyxzzyz{zzyyyxyxyyyzzxzzyzyzyyzxyyzyyzzzyxyzyxyxxzzyzyzz{zxyyxyyyxyyzyzzyyyzyyyzxxzzzzzy{zyyyyxyxzyzyz{z{zzzyzyyyzz{zzz{zyyzyyyyyzzzzz{z{yyyzzzyzz{{zyz{zyyzyzzzzyzzzzzz{yyxyzyzyzz{zzz{zzyy{yzyzzyzy{zzzzzzzyzzz{zzy{zzzzyzyyy{{z{z{z{{z{yyzzzzzzz{{{yzzzzzzzzzz{zzz{{{{zzzzzz{zz{yz{{{z{zyyyzzzz{{zzz{{zy{zyzyzz{{{zzz{{yzzzzxy{z{{{{{z{zzz{zyyy{{z{z{{zzzz{z{yz{zz{{{{zzyyyzzyz{|zz{{{zyzxzxzyz{{zy{zyxyxyyxyyyyzzyyzzyzzxyyyyyyzzzzzzzyyyyyyyzyzyzy{yzzzzzxyzzzyzyyzzzxyxyyzxzzzyyz{zyyyyyzyzyzzyzzzzzyxyzyyxyzzyyyzzzyyyxxyyzyzzxzyzzyyyxyyyyzzzzzyyyyzyxzxxyyyy{z{zyyzyyyyxzzyyzzzyyyyyyxyxyzyzzzzzyyyyyyyyyzzyzzyzyyzxxzzxzzzz{zzyzyyyyyzxzzzyzzzzzzzzzyzyz{{yy{zzxyyyyyyzy{zyz{z{yxyzyyyyzz{z{zyzyyzzzyxyyzzzyz{zzzzyyzyzzzzzzzzzyzzyzyyzzz{z{{zzzzzyzyzz{yz{{z{|yzzzyyyyzzzzzz{zzzzyyzzyz{zyz{{{zzzzyzzz{{{zzz{z{zzzxzyyz{zzz{{zzy{{yzxz{zz{zz{{zzyzzyzzzzzzz{z{{zzzzyyzz{zz{z{{{zzzyyzzzzyzz{z{z{yyz{yyz{z{zzz{yzzyzyyyzzzyzyyzyzxyyxyyyzzzzzyzyyyyxyyyzzzz{zzzyyxyyzyzzzyyzz{{zyyyzzyyz{z{yzzz{yzxyzyzzyzzzyzzzyzyyyyyzyyyyzz{zyyyzyyyyyzyzzzzyyzyyyyyzzzxyyyzzxyyyzyyyyzzzzzzzyyyxzxyyzyyyzzzyxyyxyzyzzyzy{zzzyyzyyzxxzyyyyz{yxzxyyxxyyyzzzz{zyzyyzyxzyyzzz{yzyyzzyyyyzzzzzyzzy{yyyzzzzzzzzzzyyzyyyyzyyzzz{zzzzzyyyyzyz{{zyzzzzzyzyyyzzz{zz{zxyxyyy{zyz{yz{zzzzzyyzyy{z{|zz{{yzzzyyz{{z{z{{{}zyzzzyyy{{yzzz{{{yzzyzyz{{zzz{zzzzyzyz{z{zz|z{{zzy{yzzzzz{z{{{{{{yyyyyzy{{{{{z{{zzzzzzzzz{zzzz{{{{zz{yzzzzz{z{{{yzzyzzzzzzzz{{{z{zyzyyzzzzzzzyz{zzyxzyxxyzz{zzzzyzyyyxyyyz{zzzz{xyyxyyxyzzzzzzzzzzyxzyyzzzzyyzzyzzyzyxyyyzzzz{zzzzyxyyyyzz{zyzzzzzyyyyyy{zyyzzzzzzyyyxyyzzzxy{zyyyyzyxyzzzyzyzz{yyzyyyyyyyzyyyzzyzxyyyxy{zyzzzzzzyy{xyyzxzzzyzz{zxyzzyzyyzzzy{yyyyyyyyyyyzz{yzzyyyyyyzyxyyy{y{{zyyyyyyzzzzzzzz{zyyzzzyzy{{zz{zz{zzzyzyyyzz{zz{zzyyzzzzyyz{{yzzzzzyyzyyzyzyzz{z{z{zzzyyzyz{{zzyzzzy{zz{{z{zz{z{{{zzyyzzxzzzzzz{zzzyyzzyyz{|{{{zz{{zzzzz{z{{{z{{{|zyzzz{zzz{zz{zzz|zzyzzyz{|z{z|{|{zzzzzzz{|{{{{{{zyy{{z{yzzzz{{{{{zyz{zzzz|{{zz{{z{zzz{yzz{{{{z{zzzyzzyzz{yzz{zzzzzzyzyzzyyzz{z{zzyyyyyxyzzyz{yzzyyyyzyyyzz{yyy{zyzzyzyzz{yzy{z{zzzzyxyyyyyzyyzzyzzzxxyyyz{zzyzyzzyzzyyyxz{yzyy{yzyzxyyyxzzzzyyzzxyzzxzyyyyzyyyyzzyyyzyyyyzzzz{zzyzyzyyyyyzzzzzzzyyzzyyyxyzyzzyy{{yyyzyyzzzzzzzyyyzzyyyyyyzz{z{zzzy{yzyyyyzzzzyzzzyzzyyzzzzzyzzz{y{yzyyyzyz{zzz{zzxzyzzzyz{zzz{z{zzzyyyzzyzzzzzzzzzzyyy{x{{zzyz{{{zy{yyzzyz{zyzz{{yzyzyzzzz{{z{{zyzzxy{zzz{zz{z{{yyzzyyzyz{{{yz|z|zzzzyyzzzzzz{||z{zzzyzzz{{zz{{{zzy{zzyzz{{|z{{{zzzz{{{y|z{z{z{zzzzzzz|yzz{{zz{{yzzzzzzz{z{z{z{zzzzzzyzzzz{{zz{z{yyzyyzzzz{{zzzzzzyzzzzyzz{yzzyzyxzyxyzyzzyyzyzyyyzxyyyy{yzz{zzzyyyyyzyyyyzzyzz{zyyyyzyyzxz{zzzzzzyyyyyxzzzzzzzzzyyzyyzxx{zzyzyyyzzyxzwyzy{zyzz{yyzyzxyyyyyyzyz{yyxyywzyzzy{yzzzzyyyyyyxzzzyzyzzyzyyyyyyyzyzzy{zyxyyyyyyyz{zyzyzyzyyyyyyyzzz{{zzyyyyzzyzzyy{zyzzzyyyyyzzyz{zzzzzyzyzyxyz{zzzyz{zyzyyyxyyzy{{yzz{yyzyyyyyzz{zyzzzzzyzyyyyzyzzzz{zzzxzywyzzzyyzz{y{yzzzzzzzzz|z{{zzzzyzzzz{{yz{zz{zzzzyyyz{z{{zzzzyyyzzzzy{{zzz|{{zzzzzyy{y{z{{{{z{zzzzzzzz{y{{|zz{yzzzyzzz{z{{z{zyzzzzzzzzzzzz{{{{yzyzzzzz{z{{{yz{zyyzyzyyzzzyz{{zzzzzzzyyzzzyzz{yzyyyzyyzzzzzzzzzyxxyyyyyzzzzzzzyyyyyyyyyz{yzzzzyxzyxyzyzzzyzz{zzz{zyyyzzzzyyzz{zyzyxyyxzy{zy{zzzxyyyyzxzzzyzzzyzyyyyxyyyyyyzy|{zyyyxzyzzzzyzyzyyxyyyyzyyxzzzzzyzyyyyyyyzxyzzzzzzzzyyyyzxzyyzz{{yyyyyyyyyzyzyzz{yzxxzyyzxzzyz{zyyz{zyzzzzzyyyzz{zyzyzxyzzz{z{zz{yyzyxyyxyzzzz{z{zxzyzyzzzzzyzz{zyyzzyzzyy{yz{{zyzzzyzzyzyz{zzy{zzzyyyzzzzzzz{x|{zyzz{zz{{y|zz{{zzz{zzyzz{{{zz{{zyyzyyzyzz{z|z{{zzzyz{y{yz{zzz{{zzzzzzzzyz{{{{|{{{zzyzyzzzzz{{{{{{z{{zzzy{{z{{{zzzyyyzyzzy{zzzz|zzyzzz{z{{zz{|{{{zzzzyyzzz{z{z{z{{zyzz{yzz{zzzzyzzzzzyyyyyzzzzyzyzyyzxyyxyzyzzzyzyxzyyyxzzzzzzzyzxyyxyzzy{y{{zzzzzyzzzyyzzyzzyyzzzxzyxyywyyzzzzyzyyzyyyyxzzyyyzzzzzzzzyyyyzzyzyxzyyyxxyyzyzzyzyzzyyyyyyyyyyyzxzzzzzyyyyxyzyyzzzzzyzyzyyxyyzy{yz|{zyyzzyyxyxyyzzzzzzyyyxyxyzyyzzzzyyxyyzzzyyyzzzzzyyyzyyzyzzyzzzzzzxyxzyyyyzzzzzzzyyyzyzzyzyzzzzzzyyzyyyyyyzzz{zzzyyzyyyyzz{zz{zzz{yzzyyyzzzzyzzzzzzzyyyzy{{z{{{zzy{yyzzzzzz{{{{z{zzyzyzyyzzzz{z{yzyyyzyyzz{zz{z{zz{{zyzzz{z{zz{{z{zyyzyzzz{{{{{{{zyzzzyzzzzz{{{{{zzzzzzzzzzzzz{{zzzzzzzyzzzz{z{{zzzzxzzzyy{zz{z{zzyyyyzyzy{zzzyzzyzzxyyzyyz{{yzyyyyxxyzyxzyyyyy{zyyxyyyyyyyzzzzz{zxxyyyxyz{zzzzz{yy{yzxyzzzzzzyz{zzzxxyyyzzyzzyzyyzzyyyxxzzyyyzzyzyyzyyxy{y{zyzzyzzyyxyzyyyzzyy{zyzyzyyyyzzzyyzy{yyyyyxyzyyzyzzzzxyyzyzxyyzzzyz{zzyzyzyyxyyzzyzzyz{zxyzxyyzyyyzzzzyyyzzyyzz{zzzz{zxyyzyyyz{zyzzzzzyyyzyxyzzyzzzz{zyzyyzyxzzzzz{{{zyzzzx{yy{yz{{zzzzyyzzzzz{{zzy{zzzyyzyzyz{zz{yzzzyzzyyyzzzz{z{{zzyzzzyzzz{y|z{{{zyzyzyyyz{{zz{{{{yzzzzzz{{z{{{{{z{yyz{{{{{z{z{z{{zzzy{zzz{{{{{{{zyzzzyzzzz{{zzzzzyzzzyz{zz{{{{{{z{zzzz{{zzz{zz{{yyzyyyzzz{z|{z|zzzyzyxyyz{zzzyzz{zzyzyyyz{zzyzyzyyzyyxzxzzzzzy{yzxyxyyyyzzzzyzzzzyxxyyyyz{{zzyzzzzyyyyyxyzzyyyzyyyxxxyzyzzyyzzy{xyyxyyyyzzyzzzzyzyxxxyxyyyzxyyzzyyyxyyyyyyz{yyzzxyyyxyxxxyyzyzzzyyyzxzyyzyzyzy{{yyyyxyyxyzz{yz{zzzzyyyyxyzyyyyzzyyzxyxyyyzyzyzzzzxyyzzyxzzz{zyz{zyyxzyzzz{zyz{z{zyzzyyyxyzzzyzzzzzzyzyyzyzzzzz{yzyyyyyzzyyzzzz{zzyyzzzzyyzzzyzzzzzyyzxzzzzzzzz{zyzzyz{yyzzz{{{z{yzzzzz{zz{zz{{{{{zyzyyzzzzyzzzz{zyzz{yyz{{{zzzzzzzyyyyzz{zzy{{zy{yyzyyzzyz{|{z|{{zz{yy{y{z{{z{{{{yzzzzzyzz{zz{{{zz{yz{zz{zz{z{{{zzzzyy{yzzyzzzz{zzzzyyyzzzyyzz{{yxyyzyyzzyyzzzyyzyyxyxzxyyzzzyzzyyyxzxyxzzzzyzz{zyyyxyyzzyyzyzzzzyyyyxzyzzzzzzyyyzzyyyyyzzyzyyz{yxyyyzyxzzyyzzzzyyyyyyyyzzyzyzyyyyyyyyyyzyyyyyzzyyxyyyyyzyyyz{zzyyyyxxyyyz{zzzyyyyyyyyyxyzzzzyzzzzyyyzxyyyzz{zzzyzxyxyyyyzzyy{zzyyyyyyzyzz{yzzzzzzyyzyyzzz{zz{{{zyyzyyyy{{{yz{zzyyyyzxyzzzzzzzy{{yzyyyzzz{zzzzyzzyzyzyyyzz{zyy{zzyyzzyyzz{z{zzzzyzzyzyzzy{z{z{z{yzzzzx{y{zz|zz{{zzyzyyyz{z{zz{{{zyyyyzzz{zz{z{{{zyz{{zzyy{z{{{{|zzz{yzzyz|{|{zzzzzyzyzzzzz{{zz{{yyzyzyyz{zzyz{|{{zyyzzzzzzz{z{{|zzyyy{y{{{y{zz{|zzzzzzzyz{zzzz{zzxyyyy{zyzzzzz{yyxxyyyyyyzyyzyzzyxzyyyxzyzyzzzzzyyzxyzyxzzyyzz{zyyyz{zyyzzzzy{zzyzyxyxyxzyzzyyzzyyyxzzzyyyyzy{zzyyyxxyyyxzyzyzzzyyxyxyyyzyzzyzyzyzyyyyyyyzzyzz{yyxyxyyy{yy{yzyyzzyyyxzxyyyzzzzzzyyyyxyyxyyzzyzyzyyyyyyyyy{yzz{yzyxzzyyzyzzyzzzzzyyyzzzyyzzzyyyz{yzyzyyyyzzzzzzzzyyzyyzyyzzy{yzy{zyyyyy{zxzxzzzzzyyyyzzzyzzzzzz{zzzyyyzzzz{{zzzz{{yzzzzyzzz{zz{z|yzyzzzzz{z{zzzz{zyzzyyyyzzzy{z|zzzy{zzzy{zz{{{zzzzz{y{zz{zzzzzz{{zzzzzzzz{z{{{{zzzyzzz{{z{{z{{z{zyzzz{zzzz{zz{z|{{yzz{z{{zzzzz{{zyyyzyyyzzzz{z{{zzzzyzzyzzzzyzyzzyzyzyzzyyyzzzyyyyyyxyyxy{yyyzyzzyyyyyyyyzzyzy{|xzyyyzyyzyyyzz{yy{yyzyyyzyzzzzzzyzyyyyyyyyzyzzyzyyyyyyzyyzzyy{zyyzyyxyyzyyzzzzyz{yzyxyyyyzzzzzzzzyyyyyxxzyzyyyzzyxyyzyxxzzzyzyzzzyzyxyyyyzy{yzzxyyyyzzyxzyyyzzzzyzzxyzyzyyzyyzzyyxyyzzyyyzyzzz{zzyyyyzxyzzz{yzyzzzzzyyyzyzzzzy{zyyzzyyzyz{zzzzz{zyzyzxyyyzzzzyz{zzzy{zxyzzzzyz{zzz{yyyzzz{{zyzzzzzyyzzzz{z{{z{z{zzyyzzzzz{zzz{z{yzzzyzyzzz{{zz{z{zzzyzyz{{{zzzzzzzz{zy{yz{{z{{|yzzzyzzyzy|{z{z{z{yz{zzzy{{{{z{z{zzyzzz{{z{zz{zz{zy{zzzzz{{z{|{{{yzyyzzzyz{zzz{{zzzzzzyzxz{{zzz{z{z{zyyzxyzzzzyyyxyyyyxyxyyyyyyzzzyyyzyxyzzyzzzyzzzyyx{zxzz{{zyzzzyzyzyyyyzzyyzzzzyyyxxzyyyzzzzzzzy{yyyyxxyyyyyyzyyzyzyxyyzzzyzzxyyyxxyyxy{yzy{{zyyyyxxyyyyzzyzzzzxyyyyyyyyyyzyyyyyyyyyxxy{zzzz{zzzyyxyzxzzyzyzyyzzzxzyyyxyyyyzzzyyyyxyyyzzyzzz{zyyyyzyzzy{zyyyyzyxyzyxzzyzzyz{yzyyzzzwzzzyzzz{zzyzyxyyzyzzz{yzyzzyzyxyyyzzzyzzzzyzzyzyyyzzz{y{zzzzzz{yzy{zy{z{zzyyzyzz{yz{yzz{{zzyzzyxyyz{zyzzzz{yzzzyzzz{y{zzzy{zzyyyz{z{zzz{z{zzzzzzyyz{z{zyzzzz{zzzyzzzzz{z{{zzyyzyzyz{zzz{z{{zzzz{zzzzzzz{{{yzzzzzyyzzz{zzz{zzyyzzyyzzzzz{z{zyyzyyyxzzyzy{{yyxyyyzzyyyyzzyzyzyxxyyyyzzzzz{z{yyyzyyzyzyz{zz{{yzyyyyyyzyzzxyzzzzyxxzyyxyyzzyzzyyyyyxyyyzyyyzzzzyzxyyyyyzyyzy{zyyyyxzyyxyzzzyzzyyxyyyyzyzzyzyyyxzyyxxxyyzyzzzzyyyyyyyyxyyzzzzzzyzzyxyyxxzzzzzyyyyxyyyyyzzyzyz{zyzxyzyyxzyzzzzzyyyyzzyyyzzzyyz{{zyzzzzyyy{yzzz{zyyyyzyyzzz{zzyzyzzzzzyyyz{zyzzzzyzyyzyyzzzzzzzyzyyyzzzxz{{{zzzzzzyyzzzzy{z{|z{z{zzyz{yzzzzzzz{{zyyyzyzzyzzz{{zzz{zzzzyyzzzzy{z{zzzzyyyzyz{z{z{{z{zzzz{zyz{zzzzzzzzzzyyzzz{z{zzz{{yzyzzzz{{z{{z{{zz{yzzzzzzz{z{z{z{yzzzyzz{zzzz|{zzyyzyyxyzzzyyzyzyyzyyyyzyzzzzzyzzyyzyxyyyzzyy{{yyzyyyxy{yyzyyzzzyxxyyyyyyzyzzzyyyyyyyyyzz{zzy{zzyzxyyxyzzyzyzzzyzyzyyzyzyyzyz{zyyyyyzyy{yzyyzzzyyzyyzyyyzyyyzyzyyyyyyyxz{yyzz{zyyyyxyyyyz{zyzzzzyyxyzyyyzzzzzzzyyyxzxzyyyyzyyzzyyyxyyyzxzyzyzzzzyyyyzxyyzzz{zzzzyyyzyzyy{zzzz{{yyz{zyzyyyzzz{z{yzzzyzyz{y{{zz{z{xyzzyzzzzzzzzzzzyyyyyzy{{{zyz{zzzzzzyyyzzzz{zzzyzzzzyyzzz{z{zy{z{zyyy{zz|z{z{{|yyyzzyxy{{zz{{{{zyzyyyzz{z{z{z{yzzzzz{{{zzz{zz{z{zzyzzzzz{z{z{z{zzzzyyzz{{{zzzzzzzzz{{yzz{{zz{{{|zyzyyzzzzzz{{{{yzzz{yzyz{zz{z{{zyzzyzzyyzzzz{zz{zyyzzzy{zzzzzzzyyzxzyyxyyxzyyyzzyyxyxyyyyyyzyzzzyxyyzzxzyyzzzzzzyzzyyxyyyzzyyy{zyyyxxyxyyzyyzzzyxxyyzyxyyyyy{zyzyyyyyyyyyyxyzzzzzzyyyxyzyxzzyzzyyxxyyyxyzyy{yzyzyyyyyxzyyyzyzyzyxyyyxyxz{yzyzyzyxyxyyyyxzyzzyzzzyxyyyyxxyzyzzzyyzyyyyyyzzyzzzzzyzzyzzzyyzzxyy{{yyyzyyzyzzzz{{zzyzyyyyyyzyyyyzyyzzzzyyyxyz{zz{yyyzzyzyxyzzzyzzzzyyyzzzzzzzyz{z{zzzzyzxyyyzzz{{zzyyyzyzyxz{zzzzz{yyzzzyyzy{zz{z{zyyyyzzzzz{zzz{zz{z{zzzzzy{z{zzz{zyzzyyyzzzzz{{|{zy{zzzyzzzz|zzz{zyyzyy{zzz{{zz{zyzzz{zzz{zz{{{{zzzzzyzyzz{yz{{z{yzyyzxzyz{zz{z{{zyzzyxyxzzzyyzzyyxyxxxyxyzzzzzzzyzyyyxyyyyzyzzz{zyyxyyxyzyzzzy{zzyxyyxyyyzzyzzyzzyyywyyxyyzyyzyyyxyxyyyyz{yyyy{zzxyzyyxxxyzyyyzzyyzyxyyzyxzz{yyzyxyxyyyyyyzzz{zyyxyyyyxzyzyxzzy{yyxzxxxyyzyyzzzzyxyxyyxxyyyzyzyzxxxzyyxxyzyyyzzzyxyzzzyyxyzzzzzzxyzzyyyyyzyzy{zzzzyyyzzyyzzzzz{zy{zyxyyyyzyzzzzzyxyyyxyxz{zyzz{yzzzxyyzyzz{{zzzzyzyyyyzz{zzzzyzzzzzyzyyzz{z{z{zzyzzzyzyzz{{{yzyzzxzzyyyz|yzzzzzzzyzyzzyzz{{y{{{zzyzzyyyzzzyz{{zzzzzzz{zzyzy|y{z{zzzzyzzzzz{{{{{z{yy{yyzzzzzz{z{{{zzzzyy{z{z{zz{{yyyyzzyzz{z{z{{{zzyzzyyy{{zzzzzzxyyyzxyyyyyxyyzyyxyyyxyyxxyzzyzzyzzyxyzxyyyyzzzzyyyyyyywyyyyy{z{zyxyyyyyzyzzzyzzzzyyxxyyzyyxzzzzyyzyyxyyxyyyyyzyxyzyyxxyyyzyyzyyyyyxyxyyzyzyzyy{yzyxyyyyyzyyyzzyxyxyyyxyzzzxzyyyyyxyyyyxyzyyzz{zzzyxyyyxzyyyyzyzyyyyyyxxyyyzzzzyyxyxyyyx{yzyz{zzyyyyyyzyyzzyzzz{yzyyyyzyzzz{z{{{yzyyyyzzzyz{zzzzzyzxxyyyzzzzz{zyyxyyzyxyzzzzzy{zzzzyyzyyyz{zzzzyzyyzyyzzzyzzz{zzzzzyzyzy{zzzzzzzz{yzyyzzz{zz{{{zzyyzyzyy{{{{zz{{zzzzzzyzzzzzzzz{zzyyzzyzy{zzz{z{{yzzyyzz{z{{zz{z{yzzzzzz{y{z{{{{zz{zyzzz{yz{{{z{zzyyyyzzy{zzz{z{zzyzyzyzyzzzz{zzyyzzyyzzyz{zyzyyxyywzxyyyyzyzzyzzxyyyxxyzzyyzzyzyyyxzyyxxyzyz{{zyyyyyyyzyyzzyyzzyyyxywyyzzy{yzzzy{yyyyyxyyzyyyzyyyzyyxwyyyzyyzyzyyyxyyyxyyzyzyzzyyzyyyyyyzyyyz{zyyxyxyyyzyzyz{yzzzyyxyxxzzyzyzzzxyyyyyyxyzyzyyz{yyzxyzyxyzyyzzyzzyyyyzyyyxzzzyzzyzyyzxyyxyyzxyzzzyyyyxzyzyzyz{yzyyzyyyzyxyzyz{{zyzzy{yyyyyzyyzzyyzzyzxxy{zyzzz{{{zyzyyzyz{zyy{zzzyzyxzyzyyz{{{z{yzyyzzzyzzzzzzz{zyy{yzyy{{{{{zzzzyzyzzzz{{zzzz{zyzzyyzzzyzzzy{|{zyzzzzzz{{z{{z{yzxzzyzzzzyz{{{zz{yyzzyzz{yz{{z{{zzyzzy{z{zzz{{{{yzyzzxzyz{yzz{{zyzzzyzzz{zzz{zz{zyzxzyzyzyzyyyyyxyyxyyyyyzzyyxyyyxxyxxyyzyyzy{zzyzyxwxyxzyyy{zzzxyyzyyyxyyzyxzyzyxyyxxyxyyz{yyy{yxzxxyxyyyzyzzzyzyyxzyyxz{zyyyzzyyyxzyxyyyyzyzzyxyyyyyxxxyyyzzzzyxyyxyyxzzzyyzzyzxyyxyyyzzyyyzzyyyyyyyyyyzzyyyyyzyyyyyyyyzzzyzzyyyyxyyyy{zyzyyzyzzyxzyyyyzyyzzzzyyyzyxzz{yyzzzzyyyyyyxzyyzzzzzzzyyzyyxyyzzyzyzzzzxzzyyxzzzzzzyzz{xyyyyyyzyzzzzzyyyyzyyyyzyzzzz{zxzzyzyzzzzyzz{{yzyzzzyyyyz{z{zzzyyzy{yyzz|y{{{|zyxzyz{zyzyzzyzz{{zzzzyz{yz|{zz{zzzyyzzzyzz{zz{{{yyzyzzyyyzzzzz{z{zyzz{zzzy{zzz{zyyyyyzyyy{zzzz{z{yyyyzzzy{yzzzzzxyyyyyyyyyzzzyzyzyyxyyxyyzzyyyzzxyxyxxxyyzyzyzzzzyyyyyyyyyyyyyzyzyzyyyxzzzzzyzzyxxxxywyyyyzzyyzyxzxyyxyxxzzzyyy{zyxxyxyxzzyxyyyyyyxyyyyy{yyzzzyyyxxyyxyyxyzyyyzyyyxyyyxyzzzzyyzzyyxxyyxxyyzyyzzzzyyyyxxyxzzyzzzzzxyxxyyyyyzyxzyyyxyxyyyyxzyzzyzzzzyzyxyyyxzyzzzyyzzyyyyyzzzzz{yzyyyyyyyyz{zzy{z{zzzyyxzyzzyzzz{zyzzyyyzxy{zyyzzzzyxyyyyxzzzzyyzzzzzxzyxzzzz{zzzzyyyyzyz{zyyzy{{zzzyyzyyyzz{zz{{{|zzzyyyz{zzzzzzzzzyyyzzzzzx{z{zz{zzyzzzzz{z{{yz{zzzzzyzyzzz{zzz{zyzzyzzzzzz{zz{{zzzz{yyzzyzzzzzyzyzyyzzyy{zzz{zyzzyxxzyyyzyzzzzzyyyxyxyyy{{yyxxyyyxyyxxyxyzyyzzzzxxyxwyyzzzyzzzyyyzxyzzxyyxyzzzyyxyzyxyyzyzzzyzyywywyzyyzyzyyzz{yyxyyyzyyz{yyzzzyyyyyxxyyyzyyzzyyyyzxyyyyyyyzzzzxyyyxyyyyyzzyzzyyxxyyyxyzyyzzzzzyxxyxwyxyyyzyzzzyyxyyxyxyyyyyyzzyyyxyyzxyzyyzzzzzxyyyyzxyzzzzzzyzyyyyyzzzzyzzyz{yyyzyxyzzy|yyzzzxyzzyyxyzz{zzzz{yxzyyzzyyyzzzzzzyzyyzyyyzzzzzzzzyyyyyzyyzzy{y{zxzyyyzyzyzzzzzzzyyyzzzyyy{zz{z{z{zzzzyyzz{zz{{|{zzyyyzyyyz{zyzzzzyzzyyzzyzzzzz{zzyyyyz{zzz{zz{z{{zzzzyyzzz{{{yzzzzyzzzyyzzzzzz{zzzzz{{yzzzyzyzzzzx{zzyzzyzzyz{z{{zy{yyzyyzzy{yyzzyzzyyzzyzyzyyyyyyxxyyywyyyyyyzyyzyyxyxxxzz{yyzyzzzyyyyzyzyzwzzzyyxyzyyxzzyzyyy{zyzyyyxyxyzzyzzzyyyzyyyyyyyyzzzyyxyzyxyxyyzzyyz{yyyyxxyyy{yyzyyyzyxyxxyyxyyzyyyzzzyyyyyxyyzyzzzyyzyyyyyyxyyyzzyyzzyyyyxzzxyzyzyz{yyyyyxyyyyzyzzzzyxyxyyyxzzzzzzzyzyyzyzzyyyzzzyz{yzzyyyzyyyz{zz{zyyyyxxyzyzyzz{{zyzyyyxzzzyzzy{zzzzzyzxyyzzz{y{zyyyyyyzzyy{yzzzzzyzyyyzzyzzzzzzzzyzzzzy{yz{zzzz{{zzzyzzzy{y{{zzzy{yyzzyzy{z{{z{z{zzzyz{zz{z{z{zz|{zz{zyzzz{{{zzzzzzz{zz{zz{{{yzzzzxz{{zzyz{{z{{|zzyzyyzyyz{z{zz{{zzzyzyyzzzy{z{{zzzzyzyyyy{{{z{zzxy{yyyyyy{zzyzyyzxyyyxxyzzzzyzzyyyxyyyxyyyzzzzzyzzyyzyxxzyyzzzzyzyxyzyzyyzzzzzyzzyyxyyyxyyzzz{yyyzzyyxyxyyzyxzzyyxzyyzxyzyzyyzzzyyyyyyyyyyyzyzzzyyxyxyzyzyzyyyyyyxxyxyyyyzzyyyzyzyzxyyyzyyyxyzyzyxxyyyyxyzxyyzzzzyyxyyyyzzzy{{zzzxzyyyyyzyzz{zzzzxyyyyyyyzzzy{zzzxzzyxzzzyzzzzyzyzyyyyzzzyzzzzz{zzyyyyzyyyzzzzz{zyyyyzzyyz{zzz{zzyzyzzyx{z{zy{yzzzzzzzyzzzz{z{{zxyzyyyzy{{z{z{z{zzyzzyyzyzyzzz{zyyyzyzyyz{zz{z{{zzzyyyzzz{zz{|{{zzzzyzzzyz{zzz{z{yzzzz{z{zyzzz{zzyxyzyyzz{zzzz{z{zyy{zzz{{z{z{z{zzzyzyzz{zzz{zzzzz{yyyzyxzz{y{zzyzzyyyyyyyzzzyyzyyxyyyzxyzzzyyyzyyxyxyyyyzyyzzyzzxyyyxyyyyyzzy{xzzzxzzyyxyyyyyyzyxzyyzyyzzyzy{yzzyyxyzyxyyzyyzzzzyyyyxyyyyyyxyzzyyyyyxyyzyzzyzyzyyzxyyyxyyzyzyyzyyxyxyyyxyyyyyzzxxyyyxyyzyzzyyzzzxyxxyyyzyxyyyzyzzyxxxyxz{z{yzzzyxzyyxzxzzyyyzyzyzyyyyyzyyyzzzzz{yxzxyzy{yzzyzz{yyyyyyyzzyzzzyzzzxzyyyyxz{zzzzzzzyzyzyzzzzzzzzzzzyyyzxzzzzzzy{zyzyzzyzzzzzzzz{{zyzzzzzzzzzzz{{z{zyyzzzyzyzzzzzzyzyyzzyyz{{z{{zz{zyyyzyzy{zz{z{{{{zzyzyzzz{{z{z{{{zzzzzz{z{zzz{{z{zzyzzzzzzzyzzzzz{z{yzyz{z{zzz{{yzzyzzyyzzzyyzzz{yyyyxzzzzz{zzyzzyyxyyzzyzzyzyyzyyyyyyyxyz{yyzzzzzyzyyxyyzzyzzzzyyyyyyyzyyzyzzzzzyyzyxyxyyyyyzz{zyzzxyyyyyzzy{zzzzyyxyzyyzzyyy{zzzyxyyyyyyzyyzyzyxyxyyzzyyzzyzz{yyxzxxxyyyyzzyzyyyyyxzxyyzzyyzzzyxyyyyxyxyzzyzyzyyxyzxyxzyyyyzzzyyyyzyzyyzzyyzyzyxyxxyxyzyyzzyzzzyyyyyyzyyzyzzzz{yyyyyyyyz{zzzy{zyyyyyyyzz{yzzzzzxzzxyzyzzz{zzyz{yzzyyyy{z{yyzzzzxyzzyyyzzyzyz{zyzyzyyyz{{z{z{{zyzzyyzz{zzz{{z{{yyxzz{yzyz{zzzzz{yzzyyzzz{{z{z{zzzzyyzzz{{zzzy{{zz{zzzzy{|z|z{z{y{yyyzyyz{z{{{zzzyzzzzzz{zzzz{|{zzzzzyyyzz{{|{zzzyzxyzyyyz{zz{{yzzzzyyzyyzzzyz{{yyzxzyyyy{zzzyyzyzyyyyyxyz{yzyy{zyzxxxyxz{yzzzz{zxyyyzyyzzyyzzyyzyyyyyxzyzzzzy{yzyyyyyyyzzzz{zzyzyzyxyyyy{yyyyxzzzyyyyyxyyzzyzyzzyyxyxxxxzzyyzy{yxyyyyyyyyzzyzzzyyyyyyzxzzzyzzzyyyxzxxyyyyzzzyzyyyyyyxyyzzyyyyzyyxyxxxyzyyyyy{zzzxzyyzxyyzzzzyzyzyzyyxzzzzzzzzzzzxyyyyzxy{yzyy{{yzyyyxyyyzyxz{zyyxzyzxyzzzzzzzyzyxzzzzyy{zzyyyzyzzyyyyyzzyzy{zzzz{zyzzyyz{zyzzzzyyyyzzzzy{y{z{{{zzyzyyxy{zzzy{zzzzyyzzyy{{{{{z{zzzyzyzzzz{zzzzzz{zzyyzzzz{|{z{{{zzzxyyyz{{{zzzz{zzyyzzyy{z{z{z{{{zzyzzz{{zz{z{{{zzzyyyzzy{zzyz{zzzzzzzzyzzy{yzzzzzzyyzyxzyyzyzzyzyzxyxxxxzyyxyzzyyyyyxyyzyyzzyzyzyyxxxywyyzzyzzzyyxzyyyzzyyzyzz|zxyxyyyxyyyyzzy{yxyyyyyyyzyyyyzzywyzyzyyzzzyyzzyyxxyyxyyyyyzyyzzyyyxxxyxyyxzzzzyzyyyxxxyyzzyzyyzyyzxxyxyxyyzyy{zzyyyyxyxxyyxyzyxzyxxyxyxyyzyyzzzyxzxyyyyyzyzyzzzzzxyzyzxyzyyzzz|yzyzxxyyzzyyyzyyyzyzyyzzyyyyyyzzyyyyyyyzxzyyyzzyzyyyyyyxzyyzzzzyyyyzzzyyzy{zyyzyyyyyyyzzzz{zzy{zyzzyyyyzz{yzz{z{yyyyzyyz{{{zzzzyzyyyy{yx{{zz{z{{yzzyzzzzzzzz{{zz{yzyzyyzz{zz{{zzzyzyyzzzz{z{y{{zzxyzzxzzzzzzz{z{zzyzzzyzzyzzzzz{yyyyzyzyzzyyyz{yyyyyyy{xyzy{yzzzyyzzyzyyzzzzzyyyxxyxzxywyyyzzyzyyyxyxxyxyyzzyyyzzyyyxyxyyyyyyzzzyyxxyyxyyyzyxxzzyzxyxyyyxxzyzzyyxxyyyxxxyzyyzyyyyyyxxxyyzyyyyzzyyzyyyyxxxyyyy{yyxwxyyyyxzyzyzyzxxyyywyxxyzyzyzzzxyxyyyyyzyzzzzzzxyyyyxyxyyyyyyzzxyyxyyxxzyyyyzyzyxzyzyyxyyyyzy{zzxxyyyyxyyzyyy{zyxzyxzzzyyy{yyzzzyyyyyxyzyzzzzzzyyyyzxxyyyyyyzzzzyxyxyyyyyzzyzzyxyxyyyyyzzzyyzzyzzzyyyyyzy{zy{{zyyyzzy{y{{y{yzzzzzzzyyyyyz{yzzzzyyyyxyyzzyy{z{zzyyzyyz{yyzzy{{z{zyyzyzyzy{zz{{{{zyzyxyzy{zzz{zzzzyzyyzyzzyzzy{|zzzyyzyyzy{{{zzzy{yyyyyzyyzzzyy{{zzzyyyxxzyyzzyzzzyyyyzyyzzzzzyzyxxyyxxyyxzzyyzzzyxxyyyyyyxyyyzzyzyyxyxyxyyzyzz{yyyzxyyyxzyyzyyzzyyyzyxyxyyzyxyyyzxyyyyyyxzyyxyyyyyyxxwyxyzyxyzzzxyyxxyxyzxxyyyyzyxxyyxyyzyyyyyzyyyyyxyyyyyyxzyzzyyyxyzxxyzyyyzzyyxxyxyyxxyyyzxyyzyyxzyyzxyyyyzzzywyyzyxxyxyyyyzzzyyyyxxyyyzyyyzzyyyyyyyyzzzyzzzzyyzyxyyyzzyzyyzyzyxyzxyxxyyzyzyzyxyyyzzyyzyyzy{yyzxyyzyyzyzzz{zyyyzzyyzzzzzz{zzzyyyyzy{yzzzzz{z{yzyyzyyzz{zyzzzzyzyyyzxyzzzzz{{zyzyyzyzzzzzzz{zz{zyyyyzzz{z{z{z{zzyzyzyz{yz{z{{zzzzyzyyzzzzzzz{{{zzyzzzzzzzz{{{zzxxzyxyzzzzzzzz{zyyyxxyyz{zzy{{zyyyyyyyzyyyzyzyyxyyxyyxxyzzyyzyzyyzxyxyxyyzyyyzyyyywzyyyzzyyzyyzyyyxyyyzyyyzyy{{zxyxxyyyyyzzzy{zxzyxxxyxyzzyzzyyzyyyyyxyyyyyyzyyxxzyyyyxyzyyyyzzyyyxyyyyyyzyzyzyyxyyyyxxyzzyy{zyyyyyxyyxyyyzyyzzzyxxyzzxyzyyyyzy{yyyxyyyxzyyzzzyyyzyzyxyzzzzzyyzzyyyyyyzzzyzzzz{zzyzyzzyyyyyz{z{zyyyyyyzzzyzyzyzzyyyyzzxyzzzz{zzzzyyyyzzzz{yyzyyzzyyzx{yz{zyyzzzzzyyzyyyyz{z{zz|yzzzzyzzyzy{zzzzzyyzyyyyzzzzzzzzzyzz{z{yzzzzzy{{yyzyzzzzzzzzz{zzzzyzzyyyz{zz{zz{zzyyyyzzzy{zz{{z{yyzyzyz{z{zzy{zzzzzyyzzyzz{{z{zyzyyzzyyy{zz{y{zyyzyzyzyy{y{yzz{yzyxyxyyzzyzzzzyxxyyzyyxyyyyzzzyxzyxwxyyxyyyyzzzzzxxxyxyyyyyy{zzzyzyxyxyzyzzyyzzyyxwyyyyyyzyyyyzyxyxwyyxxyzyyyyyyxzxyyxzyyzxyzzyyyzxxxyyyyyzyzyzxxxyxyxxyyzyxzyyxxyxwxwyyyzyzzyzyxzyxyyyyyxyxzzzyxxyyxxyzyyyyyyyyzxzzxxyyyxyyzzyzyyzxyyyyyyyzyzyyxyyyxyxyzzxzzzyzxyyyzzyyyzyy{zzyyyyxyxyyzzyz{zzyyzyyyyxy{yyyzzzyzyyyyxyyyxyyzz{zyzyyxyyyzyyyzzzzyzzyzyyyz{{yz{{yzyyyyyxyzzy{{zzzzxzzzyyyzzz{z{zzyyyzzyyyz{{{z{zzyzyz{zzzzz{z{{{zzyzyzyyzzz{{z|{zyzzzzyy{z{zzzz{{yzzyzxzzzzzz{{zyzyyzzyyzzzzy|{{zyzxyyzyyzzzzz{zzzyyzyxyzzzzyzyyyyyxyyyyyyzyyzyxyyxxyxyyyyyyzzzzyyxxxzxyyzzzyzzzyzyyyzxyyzyyzyzzzyyxyxxyzzzzyyyyzxyyxxyyzzyyy{yzxzyxxyyxyyzzyzz{yxyyxxyy{yzxzzyxyyyyzxzxyxyxyyyzyyyyyyxyxyzxyzzzzxxxxxxxyxz{yzyzyxyyxyyxyzyyywzzyyzyyyyxyyxyyyyyyyxyxyyyxzyyyzyzyyzyyyyyyzzzzzyzzyyyyyyyxyzyzyzzzxzyxxyzyyyyy|yzyyyyyzyyzzzzyz{yzxyyyxyyyzzzzzzzyzzzyyzxyzzzyy{zzyyyyyyyzyzyz{yzzzyzzzxyzyzzzz|zyyzxzzzzzzy{yz{zyyyyzyyz{zzz{zzz{yyzzy{zzz{{{zz{yyyzyy{z{zzz{{zz{yzzzyzz{|yz{yz{{yzzyzzzz{zzzz{{|yzzzzzy{z{z{z{|{yzyyzzyzzz{zzzyzyzyzyzzzzyzyzzzyyyzzyxyyyzzyzzzyzyyzyzxyzzzzzyzyyyxzxyxyyzzyzyzyyyyzxyzyyxyzzyyzzyxyyyyyzz{yyzzzyzyyyxxzzyzyyzyzzxxyxyxyyzyyzyzyxzxzyyxyyzyzz{yzzzxzyyyzxzyzyyyyyyyyyyyzzyzyzyzyyxyxyxxyyyyyyzzyyzyxyyyzyzyzyzyzzzyyyyxyzz{zzz{yyxyzxzyyzzzxyzzyzyyyxxxyyyyyzzzzyyyyyyxyyzzzz{zyyyyzyzyzyzzzzyzzyyyzzyyzzyzyzz{yyyzxxyxzz{yyy{zyyyzzyyyyyyy{zzzyzyyxzyyzzz{zzz{y{yyyyyyzzzzzzyyyyyzyyyz{yzzz{{yyyzyyyzzzy{{zzz{zzzzzyxzy{z{zyzzzyyzyyzzzzzyzz{{{yzzz{zy{zzz{zz{zxzyyzzyyzz{{z{zzy{yyzzz{zzz|{z{{yzzzyyzzzzzz{z|zzzyzyzzyzzz{{{yzyyyzyyyzzzzzz{z{zzzyzyyyyzzzyzzzyyzzyzzyzzyzzzzxyyx{xyyyzyzzxzzyxzxyxyyyyyyxyzyzyyyyxyyyyyz{zzzyxyyyxzzyzzyyzz{zyxxyyxyyzyzzz{{yxyxzyyyxzyzy{zzzxzyyyyyzyzzyyzyyxyyxxxyyxyyyyyyyyxyyyxxzzyyzyzyyyyyzyxzyyzyzzzyxyyyxyywyyyzxyyyzyyyyyyyyzzzyyzyxyyyyyyyyzzyx{zyyxyyxzzyyzzyzzzzzyyyyyzyyyz{zyzzzyxyyyzyzyzzyzxyyzyyzzyxzzyzyzzzyyyyyyyzy{zy{{zyyzzyzyyyzzyzzzzzzyzyzyyzzzzz{zy{xyyyz{xzz{zz{zz{yyzyzyzyzy{zyz{zz{zzyxyyz{zz{{zzzyz{z{yyz{{zz{y{zzzy{z{zzzzzzz{{zzyyzzzzy|{z{y{zzyzzzyyzzyyzz|{{{zzyzzzyz{|{zzzzzzyyzzyzzyxzzz|zzzzyyyzxzzzz{zzzzyyzzzzzy{{yy{zzyyyzyyzzzzz{{yyzyywyzyyyyzyzzwzyxyyyyyyyzyzyz{zzyyyxxyzxyyzyyxz{zyyyzyxyyyzzyzzzyyyyxyyxyzzzyzyzyyyyyxyyyyyyyyyyyxyxyyyyyy{yyzyyzyxxxyxzyyyyyyyyyyyyyxxxyyzxyyyyyyxyxyyxyyzyyzyyyzyxyyyxyzyzyzzyyxyyzxyyzxyyyzzzyxxyyyyyyzyyyzzzzyyyyyxyzyzyyzz{yxxyzyyzxyz{zyy{zzzxyyyyzzzzzzyzyzyyxzyyyyzzyzzzzyzyyyzyzyyzzzzzzyyyyyyyzyzzzzzzyyyyx{yyzz{y{{zzyzzzzzyyy{{zzyzzzyyyzzzyzzyyzz{{zzzzyyzz{yzzzz{z{yzzzyzy{{yyz|{{zz{zzzzyzzzyzz{{{y{zzzyyzzzzzy{{{yzzyzzyz{zy{zzz{yzy{zzyzzzz{zz{zyyzzyyzzzz{zzz{y{xyzzyzzyz{zzzzzzzyyyyyzzzzzzzzzyzyyxzzzz{zzyzzxyxyyxyxzzzyyxxzyxxxyxyxxzyyyzzyyyxyyyxxzyxyzyzyyyxyyyxyzzyzxxyzzyxzxyyxyyyyyzyyyxyxxxywyzyxzzzxxyyxxyyxyyzyxyyyzxxxyyxyyzyzzyyyyyxyxxxyyzyyyyyxzyyyxyxyyyzyyzyxzyyxxyyyyyzyyyyzxxyxywxxwyyzyyyyyyyyxxxyyzxzyzyzyxyzyyxxyxyyzyzzyxyxxyyyyyzzzzyyzxzyyxyyzyyzyzyzxyyyxyyyyyyzzzzyyzxyyyxxzyzzzzyzzzyxyxxxzyz{zzzzyyyyyyyzzz{{zzzzyyyyzyyyzyzyy{zzxyyxyyzyzzzyzzzzzyzyyxyyyyzz{zzzzyyyyzyzzzzyz{zzzyzyzyzyyzzyz{zzzzyzzyzyzzzz{z{zyzzzzyyyz{zzzyzzzyyxzzzzyzz{z{z{{zyzzzyyyzzzzzzzzyyyxyxyyzzzy{zzzyyxzyzxyzzyzyzyzzxyyyyxyyy{yzyzyyxyxyyyxyyyyyzyyxyxyxxxxyyyyzzyxzyxyxxxyyyzyzzyzxyxyyyzzyyzzzyzzyxxyyyxzyzyyzzyzxyyyyyxyyzyyzzyyxzxxxxzyyzyyzzyyyyyyyxyyzyyxyyzzyxzxxyyyyyzzyzyyyxxxzxxyy{yzzzyyxyxyyxxyyzyyzyzzxyzxyxxxyyyyyzyyyxyyxyyzzyyzzz{yyzyyzyyyyzyy{zzzyyyyyyyyzyyyyyyyy{yyxyyzzyyyzyzzyyyyzyxzzyyzzzzyyyyyyzxyzzzzyzzyxyxzyxxzxzyyyzyyyyyyxxyyzzyzzzyzzyyyzyzyx{yz{zzzyyyzyzy{{yzz{zz{yzzyzzzzzzzzz{z{yzyyzzzzzyzyzzzzz{zz{yzzzzyz{{z{zz{yyyzzz{{zz{yzzyyyxxyyyy{zz{yzyyzzzy{zzzyzzzzzzzzxzzz{yz{zzy{yyyyyzzyyzyzzzzzzzyyyzxyyzyzz{zyzxzyyyyzyyzzzzyywyywxxxwyyyyzyyxyxyxxxxxyzzyzzzyyyyxyyyyzyyyyz{zyxy{zzyxyzxyxyy{xyxyxxzxzyzzyzyzyxyyxyxxyyyxyzzyyyxxyxyxzzyxyzzzyzyyxyxxyyyxyy{yxxxxyxxyzzzyyyyyxyyyxxxyyzzyyyyyzxzxxxxxxzxzxzzyyyxxxxxyyxzyxyxzyxyxyyzxxyyzxzyzyyyxyyyyyxyzyzzyyyyyzxyxzyyyz{zzyyzyyxyyyzxyxzzzyzzxyyxyzyyzyzzyyxyyzyyyzyzzzzzzyxyyxyxxyyzyyy{yyyyyyzyxzyz{zzy{zyzxzyyyz{{{zzzzzzyxyyyyzyy{zzzzzyyyzyyxz{y{yz{y{xyyyyyyzzz{zzzyzyzyzzyzy{zzzzzzzzzyzyyzz{z{yy{{yyzzyzzzzzzzzzzzzyzzyyyyyyzyyzzzzyyyzyyzzzz{z{zzyyyyyyzyyzzyz{z{{zy{yyyyyzyyzzzyzzxyywzyzzzzyyxyyyxxxyyxxyyyyyyyxyxxyxxyyyyyzz{{yxyyyxwwyyyzxyyyyyyyyxyxyyzyxyzyyyxzwxxxyyxzxyz{yyyyyxzxyyzyyyzxxxyxxxyxyyyyyyyyyxxxxxxxxyxzxzyxyyyxxwxxyzyyzyzyzzxyxzxyyyzxzzyyyxzxxxyxyyzzyzy{zyxyyyywyxyxyzyzxyxxxxyxyzyyyzyyyxyyxyxyyzyyyzzyyyyxyxxxyzyyyyyyyxzxyyyyyxzzyzyzyyyzyyyyyyzyyz{zyzyxzxxyxzzzyzzyyyyzyxzyzyzyyzzyzyxzyxyyyzyzyzyyzzzxyyxxzzzyzyzzzyyyxyzyyz{zzyzzyyyyzyyyyzyyzz{zzxzyyyyyzz{yzz{zyy{zzyzzzz{yzyzyzyzzyzzyzzyzzzzzyy{zxzyyz{zzzz{{zyzyyyyzzyyzzzzz{yyyzzxzzzy{zyzzyzyyzxzyzzzyzzzzyyyyxxyxyzy{zzzyzzyyxxyyyyyyyxyyxxyxyxyyxyzyyyzzzyyyxxxxzyyzzx{zzxxyyyyyzxzxyyzyzyzxxyxyzyyzxx{yyyyywyxwyyyzyzyzyxyyyyxxyyyyyyzyxyyxxxyyyyyyyyyyxyyyxywyxyxzyyyyyyyyxzxyzyzxzzzyxxyxxxyxyyyxyyyyxzxyxzyxyzyyyyy{yyyywxxyyyyxyyzyyyyxyxyyyyyxzzyyyyyxxyyxyyyzy{zzyyywxyyyzzyzxzyyzxxyxxzyzyzzyyz{yxyxxyxyzyyyzyzzyyyyyyxzy{yzy{zzyxzzzyyxzyyyzyzzyxyyyyxyxzzyyzzyyzyyyyzyyyyz{zz{yyzxz{zy{zy{y{{zyyyyyzxyzzzzz{zzzzyyzzzzz{z{zz{{zx{zyzzzzzzyz{{{zyyyyyyzyzzzzzzzyzyzyzzz{zzzy{yzyxyzzyyzzzzzzzzzyyyyzzzzzzzz{zz{yzyxyzyyzzyzzzzyzyyzxyyyyzzzyzzzyyyzxzyyyyyzzzyyyxxzxxxyzzyyxyzyyxyyxxyyyyzzzzzyyyzxyyzyyyyyyy{yyyzxyyyyyzzzyyzzyzzxxyyzzyzyyzzyyyyxxyyxxzzxxzzyxyxzyyxyyzyyyyyzzyyyxyyyxzyzyy{zxxyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzxyzyyyyyxyyxzyyyyxyxyxxxxyzyyzzzzyxyyyxyxzyyyyyzyyyzzzxxzyy{zzy{xyyyyxyyxzzzyyzzyyzyyyzyyy{zzyzzyzyyxyyyzyzzzzzzzyzzyyyyzzyzzzzzzzyxyyzyzyzzy{zyyzyyzyyyy{zzz{zzyxyxxxyyyy{zz{{{yyyzzzzyzzzzzzzzyyyyyyzyz{zzzy{z{xzzyyxyzyzy{z{{zzyz{{zzzzzzzz{{zyzzyzzzzzzz{{{z{yyyyxzyzyz{z{z{{zyyzxy{z{zz{{zzzyzyzzz{zzy{yz{zzzyyzzzyzzyzzzzzyzyyyzzxy{zzzzyz{zzzyyzyyzzyzyyyyyxxxxxwyzzyxyy{yyyyyxxyxzzyyzzyyyyxyyxyyxyyzzzxyyzyyyxzyyzzyyzyzzyzyyxxyxyyzzyzyxzyzzzxzyyyzzyyzxzyyxwxyzzyyzzywyyyyyxzzyzzyyyyyxyyxyyyyzzzyzyyyywyxzxzxzyy{zzyyxxzxyyyyyzyzzyzyyzyyxyyxyzyyyzyzyyyzyxyyzxyy{yyyyxxxyxyyzyyzzz{yxyxyxyzyyyzyzzyyxzyyyzy{zyyyzyzyyyxyzzyzzzzzzz{yzyxyyyyzzyzzzzzyyyyzyyyyzy{yz{{yzxzxyzy{z{{yzzzzyzyyyzyxzy{{zzzyzzyzyzy{{zzy{z{yyyzyyyz{{{z{{zy{yyyyzzyzz{zzz{zzzyzzyz{{y{z{z{|{yzzzyzzz|zz{z{{zy{yyzzz{zy{z{z{{zzyzzy{zzzzz{z|zzzzzzzzzzzz{yz{zzyyyzzyyy{zzzzzzzzxzyyyzyzzxy|zyzzyxyyyzy{yyzyzxyyyxxxxy{yyzzzzyzyxyzyyzyyzzyzzyyyxxyzyyzzyz{zyzyxyyyyzxzzzy{zyyzyxxyyyyzzyyzz{yyyzyyxyyzzzyzzyzyzyyyxxyzzxyzzyzyyyywxyyxyzyzyzyyyyzyyyyzyyyzyzyyxyyxxyyxxyzzyzyzyxyyywyzyzyyzzyxyzxxxyyxxyyyzyzyyyyyxyyzyzyzzzzyzyyyyyzzyzz{zzyyyxyyyyzyzy{yz{zxyyyyzxyzzzzzz{zyyyzzyxyzzyzz{zzyzyyyyzz{zzyzyyzyzzyzyyzzzzyyyyzyxzzzyyyzyzzzzzyzyzyzzyz{z{zzzyyzxxzzzzzzzzz{zzyzzzzxyyz{zz{{{{zyzyzz{y{zzzzz{zzyzzyzyz{{yz{{zzzyxzzyz{y{{z{z{{{yzyzzyy{{z{{{z{{yyz{xyzz{zzzz{{zyyzzyyz{{z{{z{{zyyzyzzyy{zz{z{zzyyyyxyyz{z{zzzzzzzyzxzyzzzyyyyyyxzxwxxyyzzyyzyyyxyxxyxxzyzzzyyzyyyyyyzyzzyyy{zzyyyxyxxxyyzyyzzzyyyxyxyxzzyyyyzzyyzyyxyxyyxxyyzzzyxyyyxyzxzyy{zyzxyyyyyyyzxzyzyyxyyyyxyxyyyyyzzzyyxyyxyyyxyzyyyyyyxxxxxxyyy{{yz{yyxyxxyxyzzxyyyyzyyxyzyxyzyxy{yzzxyyyyyyyyzyyyyzyyxyyxyzzzyyzzyyzyzyyzyzzzyzyzyzyxyzyyyyxzzzyzzyzyyyxxyxyzzyzzyzyyyzyyyyyyyyzzyyyyyzzzzyzzzyzyzzzyzxyyyzzz{zyzz{yzzxzzyzzy{{zz{{yzzzxyyyzzzzzyzzzzzyzzzz{zzz{{{zzyyxzyyyz{zz{z{{{yzy{yyzz{{{{z{{zzzzzzyzz{zz{zzzzzyyyzzyzzzzzzz{zzyzz{yzyyzyyzzzzzyzzyzyyyyzzy{yzyzyyyyzyyz{zyzz{zzzzxyyyzyxzzyzyxwyxyywxyzyzyzyyyyxwxxxxzzy{zyzyyyxyyyxyyyyzzzyyyyyyxxyyzyzyxyyyyyyxyyxyyyyxyz{yxyyxxyyyyyzzzzyyxxyyxxzyyyxzyyyyyxyyyyxyyyzyyxyxyxyxxxyyyxyyyyzyyyyxxxxyyxyyyzyzxzxywwxyzyyxzyyyxxyyywxyyyzyzyyzyxxyxxyyzyyyzyyyyywyzyyyyyyyy{zzzyyzxyyzzzyzzzzyyxzyyxyyzyzyyzyyyyyxzxxzzzyyyzzzyzzxyzyzzz{yzzzzyyzyzyyyzzyyz{zzyyyyyxyyz{yzzzy{xxyyzzyyz{{{zz{xzxyxzzyyzz{y{{zyyzzxzzy{z{y{z{yzzzyzyy{zzz{z{{{zzzz{zzzzzz{zzz{zzzzxzzzzzz{z{{zzyzzyyyyz{zz{yzzzyyyyyyyzzzzzzz{{yyyzyyxzyyyzz{zyzyyyyyzzzzzyzzz{yzzyzyyzyy{zzzzyyzxxyzyyzyyzzyyzyyyxzyyyzzyyxzyxyzzxyxxzyzzzz{zzxxxyxyxyyzzyzzzyzwxyyyyyyyzyzzzyzyxyxzyyyzzzzyzzxyyyyzyxzzyyxzzzyyyyyxyyyzyxyzzyyyyyyxzyyyyyzzyyyyxyyyxyzxzzzzyzxyxyyxyzyzyzyzyyyyzxyyxyyzyzzzzzyxxxxyyyxzzzyzyzyyyyyyyyyyzz{zzzyyxyxyyyzzzzzzyzyyyzyyxyyyyyyzyzyyxxxyxzzzyyzzzzzyxyyxxyzzyzzzzzy|yyyyyyyzzyzyzyyyyyyyyzzzyzzyzyyxzyxyyzzzyyzzyyyyyzy{xzyz{{zzzyzyyyzzyzzzzy{{zyzyzyzyyz{zz{{zzzyyyzxzyz{zyyzyzyz{yzzzxzzy{zzyzzzzyzzyzz{z{zy{zzxzyyyzyzz{{zyzyyyzzyyzz{yz{yzz{zyyyzyyz{zzz{zzz{zyyzzyzyzzz{z{zzzyyzyyyz{zzzzyzxysyyxyzyzzy{zyyyyyxyyxzzyzzyzyzyyxyxyxyzyzyzyzzyzyxyyxxzyyzzyz{yxyyyxxxyyyzzy{zzzzzyxyyzzyyyyyyyxyyyyyxyxzyyxyyxxzyyxyyyyyyyzxzyyyzzxxy{xyyyzyyxyyxxxxyyzyzyyzyyxxxxxxyyyzyzzzyyyyxxyxxyzxyyyyzzxyyxyxxyyyyyzyyzyyxyyyyxxyyyzyzyyyxyyyyzxyz{zzzyyzxyzxxyzxxzzzyzzzyyyyzzyzzy{yzyzzyxyxxzyyzzz{yyyyyyyyyyzzzzzzzyyyxxyyyy{yzzzzy{yyxxyyz{zzzzzzzzzyyzxxyzzzyzzzzxyzzzyyyyxyzzz{zzyyzyzyyy{zz{z{zzyyyzzzzz{zzzzzzyyz{yyzzyzzzz{y{zyzzyyyzy{{zyz{{zzzzxzyyzzzzzz{zzzyzz{zyyzzz{z{zzyyyyzxzyzzz{z{zyyyyxxzyyzyyyzzyzyyyzyzxyyz{zzzyzxyxyyxyyyz{zyyyyyywxxxyxyzyyzyyxxxxyxzxyxyyyzyzxzxxyxxyyyzyyyzzzxyyxyxxyzzzyyyyzyyxyyxxyxyyz{yzyxyxzxzyyyxyyzzzyyyyxxyyxzzyxzyyyxyxyyxyzxzxyyxyxyyyyyxxyyyyyyyyyxxyxyyyyyzxyyyyxxxxxxxyxyyzyzyzyxyxxxxxyxzyzzxzyyyxyyyxyyyyyyyzzyyyyyyxyzyyzyyzyyxxxxxzyyyzxyyzyyyyxyyyyzyzyzzzyyzxxxxzzyyyyy{zyyyyzyxyzzyzyzyyzyxyyyyyzyzzyyzzxyyyxxxyyyyzzzzyyyzyzyyxzzzzyzzzzyzxyyyyyzzyz{zz{xyyyyyyzzyzzzyzzyzyzzyyyzzzy{|z{yzyyyyzzzzzz{z{zzyyzzzzyzzzzz{zzzzzyzzyzyyzz{zzyzxzzzzyz{zz{zy{zyyyzzzxzyzzz{zyzzyyyyyyzzzzyzzyyxyyyyyxzzzzyyzzzxzxyyyxz{{yyzyzxxyyxxxyyzyz{zzyyxxxyyyxxyyzyyzzyyxwyxyxzyzxyzz{zyyyyxxyzzyzyyyzzyyxyzyyyyzyyzxzyzyyxyxyyzzyzzzzzxyxyxxxyy{wxyyyyyxyxyyyyyyyyzyyxxxyxxxxxxyyyyyxxyxxyywxyyyyyzyzzyyyxyxwzyz{yyzyzxxyyyyxxyxyyyyzyyxyyyywyyxyy{yzxyyyyzyxyyyyyzzyzxyxyyyyyzzyyzz{zwyyyxzyxyzzx{yyzzyxyyyzyyzzyzzzyyyzxxyxyzzzyz{yyyzyyyyyxzzzzyzzyxyyyyxyzzzyyyzxyzyyyzxzyz{zz{y{yzyyyzyyzyyyzz{{yyyzyyyy{zzzzzzzyyyyzyzzy{y{zzzzyyyyyzzxzyzz{{z{{yzyzyy{zzzz{z{z{yzzzyyy{zzzzzzzzzyyyyyyzzz{zzzzzzzzzyzzzzyzyzzzzyyyzyxzyy{zzzzzzyxyzyyyyzyzzyzyyzyyxxyyzzzyyzyyyyzyyxzyyy{yzyyxyyyyzyyyyzyzzzyyzyyxyyxyyxzzyzzyzyyyyyyyyzyyyzzzzyyyxxyxyyyzzyyzyyyyxyyyyyzzyzzyyxyzzyyyyxyyyyzzyyyyyyyxy{zzyyzzyyyxxyyxyyyzyzzyzyyyxyxyyxyyyzzzxyyzwyxyxyyyzyzzyyyzxxzxyyyzzzzxyzyxyyyyzzyyyzzzyyzyyxyxyzyzzz{zyyyzyxyyzyz{yzzzyyxzyyzz{yzyyzyzxzyyyyyyyzyyzzyzyzyyyyyyz{zzz{yy{yyzzyyyyzzzzzz{zyyyyyyyzzzyyzz{yyyzzyyyzyzzz{zzyzzzzyyyzzz{yzzzzyyyyyyyzzz{{{{yzyzyzyzz{{zyy{{zzzyzzyzyzzzz{zzzzyzxzzzyz{y{z{zz{xz{yzzyz{zzzz{y{zyyzzxzyy{zz{{{zzzzyzzzz{{z{yz{yyzyzzzzzzzzz{{zyzyzxyzyz{zz{zzzyzyyyzyyzzzz{zyzyyxzyxyyyyxyyyzzyxxyyxyyzzzzxy{zyyyyxyyyzyyzyz{yzyyzyyyyzzyzxy{zzyzyyxyyyzzyyyzzyyyyyyyxzzyzyyzzzyyyzxyyzyzyzzzzyyyxyyyyzyyzzzzzyyyyxyyyyzyxyzzyyyyyxxwyyyyyy{yzyyyyxyyyyyyzyyyzzyyyyzyyyyyyyyzyyzyyyyyxzzzzyzzzyyzyyyyyyyyzzzyzzyyxyyyxzy{z{zy{yyzyzyyzzzzzzz{zyyyzzyyyyyyzyy{yyyyyzzyyzzzzyzyzzyyzyyyyzzzzyy{zzyyyyzyyyz{zz{y{zzyyyyyyzzz{zzzzzzzzyyyyzy{zz{{zyzyzzyzz{z{z{{zz{zyzzzyz{z{zz{z|zz{yy{zzz{{z{zz{zyzyz{zyy{zzz{z{zzzzzyzzz{{z{z{zzz{zyzyz{{zzz|{|zyzzyzyz{zzzzz{{zzxxzyzyz{{zzy{{zzyyyyzyyzyzzyzzzyyxzyxyzzzzzyzxyzyyyyywxyyzzxzzxyxyxxyyzyzyyzyyyxyxyyyxzyyyzyzyyyxyyyyyzzzyyyzyxyxxyxyxyzy{yzyyyxyxyzyxy{yyzzzyxxyyzxxyyyzzyzyyyyxxxxxzzyyyzzzyyxyxxyyyzyyyzyyyzyyyxyxyyyzyyzyyyxzyxyyyyyxyyzyzyxxyyyxyxyyxyzyyzyyxyyxyyzxzzyzzyxyyyyyyyyyzzzz{yyxyxyyyzzyyyzzyzyyyyyxxzzzzyyzzyyyyyxyyyyzyyzzzzyyyyyyzyzyyzzyzyyxyyxyzy{y{zy{zz{yzyzyyzyzzzyzyyzzyzyyyzzzzzyz{yyyyzy{yzzz{z{z{zzyzzzzzz{zzzzzzzyyzzzyyzzz{yy{{z{zyyzzzzzzzz|yzzzzzzzyzyy{zzzzzzyzzyyzzzz{z{{zzzyyzzyyyyzzzzz{{zzzzyzyyzzz{{z{{yzzyyyzzyzzzzzz{yzyyyzzzyzzzzzzzyyzxxyxyxy{yzyyyxxxxxxyyzyzyyy{yyyyxxxyyyzzyyzy{zyyyyyyxyyyzz{zyzyxyxxxxyyzzyyyyxxyyxyyxyxyzzzy{yyyxyzyxyyxyzzyyyxyyxxzyzxyyyzzyyyyyyzyyyyyzyzyzxyyyxxyxyyyyyyyzzxyyxywyyyyzzzzzxyyyxyxxyyyzyyzzyyxyyxyyxyyzzyyzyyyxxyyyyyzyyyzzxxyzyyzxyzzzyzzzzzyyyyyyyyzyy{zzyyzyyyzy{yzzzzzyyyyzxyyzzyzzxz{yzyzyyyyzyyzz{z{zzyzyzzyyzzzzyyzyzyyzyyyxzzzz{z{zyyzzzzyzyyz{{zz{z{zzyyyy{yyzyz{zyzyy{yxyyyzzz{z{zyyzyyyzzzzzz{{|zyzyzzzzyzzzz{zz{yzzyzzzy{zzzzz|{yzzzzzzy{zyz{z{yzyzzyzyz{zzy{zzzzzz{yyzz{zy{yzzyyyzyzzyzzzzyzz{zzzyyyyxyzzzzzz{zyzyyyzyzzyyyyxyxwxyyxyyyzzyyyyzyyxyywyyzyzyyzz{yyyxzzxxyyzyz{{zyyxyyxyyzzzyyzy{yxyyxyyxyyyyxzzzyyzyyyzxxyyyyyzzyyzxxyxyyzyyyyzzyyzyyyyyzyzyzyzzwyyyyyxxzyzyyyzzyxyxxyyxxyzxzzyyyyyxxyxxwyyxzzzxzyxzyxyyyzzyyyyyxyyyyxyzyyyyzzyyxyyxxxxxyyyyy{yzyyyxyxyyzzyyzzzyyxzyyxyyzzyyyzzzyyzyyzyzzzzzyyzyzyzxyyyyyzzzz{yzyxyyyyyyyzyz{z{yzyyyzyzyyyzyyzzzyzyyzzyyzzzzyyzzyyzxzzzxzzzzz{yyzzyzxyyzz{zzzzyzzyzzyzzzzzzzzz{{zyzyzzzzzzzy{z{z{yzzyyyzy{zzzz{zzyyyyzyy{zzzzyzyzxyyzzyzzyzzzzzzzzyyzzyyz{z{{yy{yzxyyyxyyzyzzzzzzyxyyzyzyzz{zyzzyxxyzzyzyzzzyzzyyyxxxxyyxyyz{yzzyxxxyyyyyyyyyzyzyxyyyyxxyxyyyyzzyyyyzxyyyyyyyzzzyyxxxxyxyzyyz{zzxxyyxyyyxzxxyyyyyyyyyxyyyyzyzzyyxyyxxyyxyzyyzyzyywyxyyxxzyzyxzzzxxyxyxwxzyzyzyzzyyxyxyyxyxyyzyz{yzzxxxyyyyyyzyyzzyyyyyyxyyyyyzzyyyyxyyywyzzyyyzzzxzxyxyxyzzyzzy{yyyxyzzyyyzzzzzzyyyyyyzzyzzzyzyyyyzxyyxyyyzzzzyzyyyyyyyyyy{yz{{zyyyzzxxxzzzxzyzzzyyyzyzyyyzz{yzzyyzyyzzxz{zzz{z{zyyyyyzzzz{zzzyy{yyyzzyzzy{z{{{zzzzzyz{zyzzzzzzz{zzxzzyyyz{zz{{zzyzyzyzyzy{zzz{zzyyzzzyzzzz{zzzzyzyzyyyy{zzz{x{zzyzxzzyxyzzzzyzzzyy{yzyzyzzzyzzzyyyyzyyxzyzyyzyxyyxyyywxxzzyyyzyyyxxyyxyyzzyyzz{zyyxywyxyyyz{yzzzyyyyzyxzyzyzzyzxyxxyyyxyzxyy{yzyxxxwyzxy{yyyyzyzyyyyyxyyyzyxzyyzyyyxyyxxyxyzzzyzyxyxxywyzzyxyyyyxyxyyxyxyzyzxyyyxzxxxyxyyzyyzzyxyyyyyyxyyyyyzzyyyyxxxxyyyyyyyyzyxzxyyyyzzyzyyzyzxyyyyyyyyzyyzyzyxyyxxyzzyzyzyzzyyzyzyyxyyyyyzyz{x{zyxzyyy{zyzyyyyzxyyyyyyzyyzzyyyyxyxxx{z{zx{yzyyyyyzxxzyzzz{yzzyyzzzzzzzzzzzz{yyy{yzxyz{zyyzz{{yyzzy{yzyzyz{zzzyzzyzzzzzzzz{{zzyzzyyyzy{{zzzzzzxyyyzy{zzzzzyz{zyyyzyyzzyzyz{{{zyyzyyyyzzzz{zyzyzyyyyyzy{zzzz|zyzzzyyyyyzzzzz{zyzyyyxxxyzzyyyyyxxxxxxxwyyyyxxzzzyxyxxywzyyyzyzzxxxyxyxxyyyyyyzyyyxxxyxxyyzyyyzzxyyxyxyxyyyyyzxzzyzyzyyyyyyzyyzyxyzxyxxyyxyyyyzyzzyxyyxxyyxzyzxyxwyxyxyyyyyxxyzyyxxxyxxxxzyxyzzyxxyxxxwyxzzzyyzyyyyyyxyxxyyyyyyyzzyxyyyxxyyyzzyyxyxyyzyxzyzyyzz{zyyxyyyyzyyzyyzzxxzzxxxyyyyzyyyzxxyyxxxzzyzzzyzyyyyyyxyyyzxzyyyzzyyyyyyxyzzyzzyzyyyyyyxyzz{yzzzyyyzxxxzyzyyzz{zzyzzzzyyz{yy{xzz{zzyzyzyyzyzyzzyzyxyyzyzzzzzyzz{{yyzyzzzyzz{y{yz{zyyxzyxyz{zzzzz{zzy{yzyy{zzzzyzyzyyyzyyyzzyz{zzz{yyyzyyy{yzyzzzzyyyyyyzyzyzyzzzz{zyxzxyyy{zzyzzzxxzyxxzyyyyxzzyyyxyyyxyxyzzyzzyzzxyxyyxxyyyyyzyyyyyxyyyxzyyyzzzzyxyyxwyzyzyzyyyyyyxyxyxxzxzzzyyzyyzzxyywyzyyyyzyyyyyyxyyzyzxyyzyyyyxyyxxyxxyzzzyxxxyyyxyyzyzyyyyyyxxxxyxyzzxyzzzyyxyyxyxyxyzyyzyyzyyyxyxyzyyzzyzyyyxxyxzyywyyyzywyxyyyyyyyyyzyyyyxyxyyyyyyzyyyzzzyyyxzyyyyzzy{zzyyyxyxyxyzyyyz{zzzzyyyyyyz{yyzyzzyyyyxxxyzzzyzzyyyzyyzyzyzyzzyxzzzxxzyzyyz{zzzzyyzyyzzzzz{zzzzz{zyzyyyxyyzyzzzzzyzyyzzzy{zzzzz{{yyzyzz{zzzyyzyz|zyyzyyyzzzzzzz{zzyzzzyyzyyyzzz{yyxyyyzyzyzyzzzzzzyyzzyxyyy{zyzyzyzzxzyyxyzy{y{y{{zxxyyxxz{zzzz{zxyyxxxyxyzzyyyyyyyxywxxwyzzyyzzyxxyyxyyxyzxxyzzzzxyxyyxxyyyzyyzxyzyyxxxyxyzzyxzzxyxxxyyxyyxyyzyzxxxxyxyxxzxyyyzzyyxyxxxyyzyxxzyyyxyyxxxyxyxyxzzyxyxyxyxyyyyxyyzzyxyyxyxyxyzyyzyzxyyxxyxxxyyyyzzzyyyxxxxwyyzyyzyzxyzyyzxyyxyyyyyyyyyxyyxxyyyxzzxzyxyxxxyyyyyyyzzzyyyxyyyyyyzzzzyyxzxyxyyxyzyyyzzzyyxxyxyyyzyyyz{zzyyyyyyxyzzzzyzyyxxyyyyzzyyyyyzyyzzyyyyyyzz{z{zzyyzyyyyzz{yz{zzyyyyyzyzyzzzzzzzyzxyzyyyy{zyz{z{{yyyyzyyyzzzzzzzz{yyyyzzyy{{yzyz{{zzzyzyyyx{yzzzzzyyzyzyzyzzzyz{{z{yyyyyyzzzyzyzzzyzxzyyyzzzzyzzyzzyxyxyxyyzzyyz{zxyxzyxxzzzxyyzzzxwyxxyyyxzyyyyyyyxyyyxx{yyyyzzyzyyyyyzxyxyzz{yzyxzxyyxxzyzyyyzyzyyywyyxyyyzzxzyyyyyyyxxyzyyzyzyywyyxxyx{zzyzzzyxyyyyyxxyyyzyyy{xxwyyxxxyyyxyzyzzxxyxywyyzyyzzyyzxyyxwyyyxyzzzzyyyyxyyxzxyyyyzyzyxxxxyxyyyyxxzz{zyzyyyyxyzyyzyzzzxxyzxzyyyyzyzzzzxzzxzyyzzzzyzzzyyyzyyyxyzyzzz{zyyzxyyyyyyzyyyyyyyyyyyyzzy{zzyzzzyyzyyyyzzzzyz{yxyzyyyyyyyzyzzzzxyyyyyzzyzzzzz{{zzyyyyyzzyzy{z{yzxzzzyyzy{zy{z{{yzyzyyzyzz{yzz{{{yyzyzzzzzzzz{{zzzzyyzzzzzzzzzz{zyyyyzzyzzzyz{{{zy{yyyyz{zyyyzzzzyzxyyyyzzzyzzzzzzzyyyyxy{zyy{zzyyyyxyyxz{{zz{zyyzyyyyxxy{zzyyyzyzyyxyyyyyyyyz{yyyxxyyzyyzzyzzzzyxyyyyyxyzxyyyyzyxyyyxyxzyxzyzzzyyyyy{xyyzyzzzzxyyzyyyxxzyyyyzyzywyyyyxzyyyzyyzzzyxyyyxyzyyyzyzzyyxyyyxyyyzyyzzz{xyyxyyyxyyy{yzzyxyyyyyyyzyzyzyzyyyyzyxxxzxyxzzzzyyyyyyxyyyzyz{{zyyyxyzy{zzzzzz{yyyyzxyyyzyyy{zzyy{yyzyyz{zyzzyzyzzyzxyxzzzy{zzzzyxyyyzxz{yyzz{yzyyxyyzyzzzyzyzzyxzzyyyyzzz{{{zzxyyzyyzyz{y{y{zzzzzzzyyyyz{{{z{{zyyyzzzzz{z{zz{yyyzzyz{yz{zzz{z{{zzzyzyz{|{{z{{{zyzyzyyz|zzzzyz{yyyzzzzzzzyz{z{zzzyzzzzzyzz{{z{{yzyyyyyyz{zzz{{zzzyzzyyyzzyzzzzzyyyyzyyyyy{yzyzyxyyxyyxyxzyyzyzyyyxyyxxyyzyzzzz{yxxyyyyxzyyyzyzyzzyxyxxzyy{yyz{zzxyyxyyyyyzyyzzzxyzyyyyxyzyzyzzyyyyxzyxxyzyyxzyzzxyyxzxyyyzyyyzyyzxzyyyyxzy{zyzyyyyyyxwyyxzzzzzzyyyxxyyyyxzzyzyzywxxxyxxyyyyyyzzyxxxyyyzxzyyyzzyyzyyyyyxyyyyy{yyyyyyzxyyyy{zzzz{yyyzyyzyyzzyyzzzyyzyyyzyzzzyyyzyyyzyyxzyyyzzyzzzyxzyyyyyz{yyzz{zyyxyyyyyzz{yzzzyzyyy{yzzzy{{zyz{zyyyyyyyz{yzzzz{yyyzzyy{zzz{zz{yzyyyzyyzzzzzz{{zzyzyz{zzzzzzz{zzyzzzyz{zy|{{z{|{{yyzyyzzzz{yzz{{zzyy{zyyyzyzzzzz{zzzyzzzyzyz{{{zzzyyyyzyzyzzzz{zzzy{yyyyzy{zyzzzyzyyzyzyzzzzyy{yyxxxxxyxyzyzxyyyyxxyyxxyxzxyzzzzyxxyyxxxyyyxyyzzxyyyyxxxyyzyxzyyyyyxxxxyzyyyyzyzxxyxyxxyxyzzyzyyyyxyyxxxxyyxxzyzyyyxxyyxzyzzyyxyxxyxyyxxyzyyzzzyyxyyxyxyzyzyyzzxxxxyxyywyyyyyxyzyxyxzyyyxyyyzzyyyzyxyyyyxzyyzz{yyxyxyyxyyz{yyyzzyyyyxxyyyzzzzzyzyxyzyyzyyyzzyz{zyyyyyyxyzyyyz{zzyxyyyxyyyyzzzzyyyyyyxyyyyyzyyyyyzzxzyyxxyyyzyzzzyzyyxyzyzyz{yzyzxzyyyzyzzzyzzzzzzyyxyxyyz{zy{yzz{yzyyxzz{{z{zz{zzzzyzyyzz{zzzzz{zyzyzzyzz{z{{zzz{yyzzyzzzzyzz{{zzyyz{zyzz{yzyzz{yyyzyyzzzzzzzzzzzyzzzyyzzyyy{{zzyzxxxzyyyyz{yzyzzxyyyxyyzzzyzzyyyyyyyxxxy{{yyxy{xyyxyxyxxyxzyyyzzyxxyyyxyyyzzzzzxxyyyxyxyzzzyyzyzzzxxxyxyyzzyyzyyyxyxyxwzzzyyyyyyxyyyxxxzyzxyyzyzyyyxxyxyyyzzzyyyyyyyxxxzzyzxyzyyxyxxyyxyzzyzxzxyyyxxyyyyyzyzzzyyyxxyyyyyyyyyyy{yxxxyyxxzyyyyzzyxyxyzxyyyzyzyzzzyxzyyxyyyzzyyzzzzyyxyyzyyyzyzzyyxxyyxyyyyyzz{z|yzzyyyyyyxzyzzyzzyyzyyyyyyyyzyzzyzyzyyxyyzzzxyzz{yyzzyyxyzzz{zyzzyyyzzzzyzzzyyz{{zyyzyzzyz{z{zz{zzyyyyzzy{{zz{z{zyyzzzzyzzzyzzzzz{yzzy{zzy{{z{z{{zzyyyyzxyz{zzzzz{yxyzyyzyzzz{{{{zzyzzyyy|zzyzzz{yyzyz{{yyz{zzzz{{yyzyx{zzyzzzzzzzyzxyyyxzyz{zyyzyxyyyyyyyzzzxyzzyyyyxxyyzy{yzzzzzyzzyyzxyyyyzz{zyyyyxxyyyy{zyzyzyyyxxywxyyyy{yzzxyyyxyxxyyyyzzzyyxyxyyxyzxyyxyyyyxyxxyxxxyyyyyxyxyyyzyyyyyyyyzzyyxxzxyyyyzzzz{zzyyyxyxyyyyzyzy{zyxzyxyxyxxzzxxzzzyyxyywxyyyyzz{yyxzyyyyxzzzzzy{{zyyyyyyyyxyzxyzzzxxyyyzyzzz{yzzzyyyzyxyyyzyzyzzyzyzyyyyyy{yzzyzzyyzzyyyzzzzzyyzzzzyzyyzyzyyyyzyzyy{zzyzyyz{z{{z{zzyzz{yzzzz{zz{zyzzyyyyzyyzzzzz{zyyzyyyy{{{y{z{{zyyzzzzz{yy{z{zzzyzyyzzyy{zzzz{yzyzzzyyyzzzz{zzzzyxxyz{z{zzz{{z{zzyyzzzzzzz{{z{zyzzyyyzzyzy{z{z|zzzzyyyyyzzzyzzzzyzyyyyyyzzyyzxyyxxyxxyxxzzyzxyzxxxyxxyyyyyyyzyzyzwxyyyxyxyxyzyyyxxxyxyxxyxyxy{yyyyxxyyyxyyzzyxyyxyxxyyxxzyxzyyyyxxxxyxyxxzyyyyxxyyxxyxxxzyyyzyzxxxyxxxxyzzy{yyyxyyyxyxyyyyyyyzyyyyyxyxyxzyzzyzyyxxxyxxxxyyxyyyzzyxyyxxzyyyyyyzyyyyyxyyyyyzyzyyyyyyxyxyyxyyyyyyyzyyyyxyyyyyzyzyyyyyyyyzxzyzzyzzzyyzyyyzxzzzyzyzzzxyyyyxxzyyzzzzyyzyyyyyzyzzyzzzyyyyyyyyzyyz{zzzzxyyxxxzyzz{zzz{{yyzyzyzyzzzzzzzyyxyyyyyyzzyzzz{{zzzzzzzzy{zzyzz{zyyzz{yyy{{zzz{z{yzyyyzyzzzzzzzzzyzyyzzzzyzyzzz{{yyz{zyzzzyzzzzzzzzyyxxyyzzzyzzzyyxyyyyyxzzxzy{zyyyyyyzyyy{yzyyzyxyxyxxxyyyyxzzzzyyyxyyxyzyyyyzzyyxxyyzxyyyyzz{yxxyyyxxyyyyzxzyyyxyyxyyyyzxyyyzzxyyyxxyxxyxyyzzyzxxxxyyyyyzyzyyzxxyyxyxyyxzyzzzzyyyyxyyxxzxzyyzyyxyywwxyxzyyzyyzyyyyxyxyyyyzzyyzyyyyzxyyxzzyyzzyzxyyxyyxxyzyyyyzxxxyyzyyzyyzzy{zzyyyxyxzzzzyyzyzyyzxxxyyyzzyyyzyyyyxxxyyyzzyyyyyyzyzzxyyzzyyzz{zzyyyzyyyz{zyzzzyyzyzyyyyzyzzy{{{yxyyzzyyyzz{z{z{yyyyyyzyzzyzzzzzzyzyzyxyyyzz{zzzzzyzzxzyzz{z{zz{zzyyyzyyzzz{z{{zzxzyyzyzzzzzz{zzzzzzyyyyyzzzzzz{zyzzzyyyzzzzyzz{{zyzzyzzzy{zzzz{yzyyyzzyzzzzzzyzyyyyzyyyyzz{zzzyzxyyyyxyzzyzzyyxxyxwyyxwxzyyxzyzxxxyxxyyyzyzzzzyxyyyyxyyyxyyyyzyyyzwyxyxxyxzyyyyyxyyxyzxxyzzyyxyxxyyyxxyxzyyyzzxyyyxyywxyyzyxzyyyxxxxyxyyyyyxyyyyxxxywyyyyyxyyxzyzyyxyxyxxyxzzzyyxzxxxxxxxzzyzzzyxxxxyxxxzyyzyxyyyxxxxxyyzyyyzyyyyzyyxyxyyyzyzzzxyzxyyxxzyzyyyyzzxyxxyyxzzzx{zyyyyxyxxyyyzzyzzzzyyzyyxyyyzzyzzyyzxyyyyyyzzyyyzzzyyyyxxwyzzyzzyzyxyyxyxyyzzyzyz{zyyyxzyzyzzyzyz{zyxyyyyyyzyyz{zzzyyyyzyzyzzzy{{{zyzzzyzzyzyzzzyzzzzyyyyyyy{zz{zz{zzyyzyyyzy{zy{{{zzyxzyzzyzzzz{z{zyzyzzyyzzyzzzz{yyyzzzyyyyzzzz{{zyyyzyyyxzzzyzzzzxzyyzyxzyzzyzzyxxywxyxyzzzzyyyzzyyxywyzyyyzzz{yyyyxyyxwyxyyzyz{yxyyzyyyyyzzyxzyyyxwxxxxyzyyxzyzyxxyxxyyyyzxyyyyzxyyxxxxyzzzyyzyyyyxyyxxzzyxxyzzyyyxxyyxyyyzyzzxxxyxxyxyyyxyzyzxxxxyyxxyyyzzyyyzyzyyxxyxyyyyxzzzxxywyxwyyzyyyzzyxyyyxyxwyyzyyyzyyyyyzyyyyyzyyzzyyxyyyyyyyyyyzzyyyxxyyyxyzyyyyzzyyxyyyyxxxzzyy{yyyyyyxyyyzzzyyzzyyzyyzxxzzz{yzzzzyyyyyyyzzyzzzyzzyyyyzxzy{zyzzz{zzyyzyzzzzzzyz{zzzzyyyzzzz{yzz{zzyyzyy{zyzz{z{zz{zzzyyyyyy{z{z{z{zzyxzyyy{zzyyz{zzyyyzxyz{zz{{{z{zyyyzyzzzyz|z{y{zyyyyzyzxzzzyzzzzyzyyyyxyzzzz{y{yy{xxxyzzyzzyzzyyxxyyxxxxyyyyyyzzyyxyxxyzyyzxzy{yxyxxzxxyxyzzzyyyxyyyywyxzzyyzzyzyyyyxyxyyzzyzzzyyyxyxxxxzxxyzzxxyyyxxxyxyzyxyzzyxxyxxyyxyzxyyzyxxyyyxzyyyzyyzzxyxyyyywyzyzyyzyyyxyxxyxyyzzyzzyzyywxyyyxyxzxyxyzyxxyyyyxyyxyyzzzyxxxzzyxyzzxyzzzyyyxyyxyw{yyyzzzyyyyxyyyyyzzyyzzyyyyyyyzzyzyzyyzyyyyyxzxxzyzyzzzxxzyxyyyy{zxz{yzzxyyyzxyzzzyzzzyyyyyyzyzyzzz{yzzyyzyzzyyzzyyz{z{yxxzzyzzzzzzzzzzzyyyzxzyzyz{zz{|zyzyzyyzz{{z{{zzzyzyyzzyy{{zz{zzzyz{yzyyzzz{z{{yzzzzzyzxy{zyzz{zzzyyyyzz{zyzzzzzzxzyxxyyz{zz|yzzz{xyyyyyyzyzyzyzyxzyxyzyyz{yxyyyxyxyxyxwyzyxxyyzyyyyxxxyyzyyzyyzyyxxxxxyyxy{yyzzyyyxyxxyyzzzxyzzyxxxyyyyyzzyyyzzyyyxxxyyxyyyyyzyyxyxyyxyyyyxyzyzyzxxwxxxxyyzxyzyxyxxzwyxyyyyyyzyyyyyxxxyyyzyxzyzzyyxyyyxyxzyyzyzyxyxzyyxxyzyyyzzyyyxyyxyyzzzyzyzyyyyzzyxzyyzyy{zzyyxyyyyzzyyyyzyyyyyyxyzzyyyy{zyzxxyxyxyyzzzzyyzyxyxzyyxyzyzyzzzyyywyxxyzzzzyyzyxyyyxyxzzyzyyzxzyyyxyxzzzyzyzzzzzzyyzyzzzzzzz|{|zyyyxyyyyzyz{zzzzyzyzzyzz{zzz{z{zyyyyyzyz{yzzzzyzzyzyyzzy{{y{z{{yyyzyyyyzzzz{zzyzzzzzyyyzyz{{zz{zzyyyyyzzzzz{zzzxzyxzzzyzzyzyz{|zzyyyyzyyzzyzzyyyyzxyxyyyzzyzyxzyyyxxxyyyyyxyzzyyzxxyxyxzyxyzzyzyyxxxywyyyyzyyzyyyyxxxyxyyzzyyzzxyxywyyyzxyxzzzyyyyyyyxyyyyxyzyyyyyxyywyyyzxzyzyxyyxyyyxzxyyzzzyxyxxzyxyyyyyyyzxyxyxyyxxyyyyyyzzzyyyxyyzyyyzyyyzzxyyyyxyzyyyzzzyyyyxyxxyyxzzyzzyyxzxzyyxzyzyyzzzyxyyxxyyzzyzzyyyyyyyzxyyzyyzzzyyyzyyyyyxyyyyzzzyyyxyyyzxyzzyyzyzyyxyyyyyyzzzyzzyzyzzyzxzzzzzzzzzyxyzzyyzyz{zzzz{yzzzyyyyz{{{zzz{yyy{zyyyzyzzz{zz{yyzzzzzzzzzz{zzyzzyzyzzzzyyz{zzzzzyyyyyz{zzzzz{zyyzzyyy{zzz{zz{yyzzzzzzyyz{z{{zzzzzyzxyzzz{yzzzzzyyyzyyyzzzyy{zyyyzxyywzzyzyz{yyyzyzyzyzzzyyyyyxyzxxyyxyzyyyyzzyxxxxyzyxyyxyzxzyzyxxxyxyzyzyyyxzxzyxxxxxzzyyzyzzzxxwxyxyzyxzzyyyyyzxwxxyyyyyyzyzxyyyxxyyyyyyyyzzyxyyyyxzyyyyyxyyyxzzxyxyyxzyzyyyyyyyxxyyyzyzzzyyyyxxzyxxzzzyxzxyyyyyyxyxyyyzzyyyzxxzyyyyyzzxzzzzyyyyxzyyyyzzyzzyyyxyyyxyyzzz{yzzyyxyyzyyyyyxzzyyyyxyyxxzzzzzz{zyyzyzyyxy{yzzzzzzyyyzyyxyzzyyzzzyyxyyyxxzzyyz{{yzxxzzyyzyzzzyz{yy{zyyzzyzzz{z{z{yxzzxyxyyzzzzy{zzzyzyzyyz{zzzy{zzzyyyzyzzzz{z{{zyzzyyyyyz{z{{{zzyzyzzyzyzzz{{{{zzyzzzyyzyzzyzy{{zzzyyyyyzz{zzz{{yyyyyzyzzzzzzzzzyyyzyyyzzzyzxy{zyzyyyyyyzzyyzzyyxxxxxyxxyzzyyyyzyxzyyyyxyzzzzyzyyxyxxxxxxyyxzzzzyxyyyyyyyyxyyzzyzzyxwxyxyzyyyyxyzxxxyyzxyzxxxzyyzyyxyyyxyyzyy{yyyxzxyzxxyyyxyxyzyyyyyyxyyyyyxyzyyxywxyyxyzyzyzyyxxyyxxyxyyyyyyyyyyzxyxxxxyyxzyyzxyxxyyyyxzyyyzyzyxyyyyxxyyyzzyzzyyyxyxzyyzzzyzyzyxyyxzzyyyyyzzzzyyxyzzzxyzyzyy{yzyyyzxxxy{zyyzyyyyyyyyyyyyzzyzzzyyyyyyyzyzzyzzyzzyyyzzyyzyyzyyzzxyxyyyzzzzyzzzy{yyzyxxyy{zzzz{zzzyxxyxzyyyzzzzz{{yyyyyyzz{yzzzzz{z{zyzyyz{zzz{zz{yyzyyxzy{yzz{zzzxz{zzyzyy{zzzz{zyzyzyzzyyzz{y{{yzzyxzxyy{yzzz{zyzzyxyxyzyyyzyzzzzyyzyxyzzzzyzzyxxxyxxxxxyyxyyyzxyyyxywxyyyzzyzzyyyxzyxxyzzyyzyyzyyxyxxzyyzzxyzyyyyxxyyyyzyxyzxyzyyxxxzxyyzzyyzyyxxxxxyxzyzxxyyyyxxxyyxxxzxyyzyzyyxxxyyywyyyx{zyyyxxxxxxzyyzyyzzyyyxxxyyyyzzyyzyxyyxyyyyyyyyxyzyyy{xxywxyyyzxzyyyyyxyxzxyzzyyyyzzyyxzyyxxyzyxyzyzzyyyyzyyzzzzzyzyyyxyyxxyyzyyzzzzxyyxyxyyzzyzzzyzyyyyyyyyyzzyy{yzyyyyyxyzzzyyzyzzyyzyyyyyyzz{z{zyzyxyzyyyyzzyyz{yyzyzyyyz{z{zzzyzyyyyyzyz{zyzz{zzzyyyyyzyzyzyzzzzyyyz{yyx|zz{|{zzzzyyyyzzzyzz{{{yyyxzxyyyzzyzzzzzyyzyyzyyyy{zz{z{xzyyzxzzzyzyzzyzyyyyyxxyzyzzyzzzyyxyxyxyzzyyyzyyzyyyxxyxzyzyzyyxxyyxyyxyxyyyyzwyyyxyxxxzyyyyzyzyxyxyxyyxzyyyxzyxywxxyxxyxxzyyxzyyxxyxywxyzyxyzyzxyxxxyxxyyyxyyxzyyyyxxwzyxyyyxzxxxxywyxyyxyyyyyxyxyxywxxyyyyyyzyyxxxywxxzzyxyzzxyxxxxyyyyyyyyyyyzyxxxyyyyzyyyyzyyyxyyxxxyyyyyzyzxyxyxyxyyyyyzzyzyyyxxyxyyyyyz{zyxxxyyxyyzzxxyyzyxyyyxyyzzyzyzyzzyxyzxxyyyyzyyzyyyyyxyyyzzzyzzzzyyxyyyyyyyyzyzyzyyxyzyzyzzzz{{z{zzyxyyxxzyyy{yyzzxyyyzzyzzzyzyz{zyzyyyyzz{yzy{z{zzzyzyyzzzzzzyzzyyyyxyxyyyyzzyzzzxyyzyyyyzzzyzzzyyyzzyyyzzyzzyzzyyzxzxyxyyyyzz{zzzyyyyxxzyzyyzyxyyyyyxyxyzzyyyzyxxxxwxxxyyyyyyyzyyxxxwyyyzyyyz{yyyyxxxyxxyyyyzyzyyxyyxyxzzyzxzzzyyyxxxyyyyyyy{xzyyxxxxyxxyyyzxzzxxyyyyzyyyzxy{{yyyxyyxyxxxxxyzyzxxyxxxxxxyyxyyyzyyyxwyyyxyyyyyyxxxxxwwywyyyzyyyxxxyyxwxwyzxxzyzzxywxxxyyxyyxxyyzyxyxxxxyyyyzyzzzyzxxyyxyyxyyzxyyzxxxyxxyyzyyzyyzyzxyxyyyyyyyyyyzzyxyxxyyyzzzzzxzzzyxyyyxyyy{xzzzyxzyyyxxzzzzyzyyyyzyyyzzzxyzzzzzxyzxxxxzyzzzyyzzzyzyyxyxyzzzyz{yzxyyyyyyz{zzzz{zzyyyyyyzy{yyz{z{zzyzxzxzyzzzzzzzzyyzyxzyzzzzzyzzzyzyyzyyyzzzyzzzzyyyzyzyzzzyzzz{yyzyxyyyzyyyzzzy{yzyyyyxyzzzzzzzzxzyyyyyzyzyyyyyyxxyxxxyyxzyzyzyyxyyyxxwyyzyzyyxyyxxxyxxzyzyzyyyywyxyxxxyyzzyxyzyxxxxxxwyzzzzzyzxyxyxxyxyyzxyyzyyxxyyyxxyyzyxxyyxyxxywyxyyyxyxxyxxyxyyxxyyyxzzyyyxyxwyxxxyzyyzzyyxzyxyyxzzyyyyy{ywxxxxyyxxxxyxyyyywxxwxxxzxyyzyyyyyxxyxxyyzzyzzyyyxwzxyy{yxxyyyzyyzxyxyyyyyyzzzzxyyyxyxyyyyyzzzzyzyyyyyyxzyyyzzyyxzyyxxxzzzyxzzxwyyyxyxyzzyyzzzyyzyxyyxyzzzzzz{zxyyzxzyxyzy{yyzzzyzyyxxyyzzyzy{yyzxxxyzzzyyzyzz{yyxyyy{yyzzzzzzz{yyyyzyyzzz{z{zzzyzyyzyyzzyzzzzzyxyzzzxzzyzzzzzzzyxzzyyzzyzyyyzzyxzxzzyzyyzyzz{zzyyxzyyxyyzyyzyyyxzxyxyxzyzyzyyyxyxxxxxxyzyyyyxyyxyxyxwyyzyyyyzzyxxyxyxxzyyzyyyyyyyxxyxyzyzyyyyzyzyxyxyxxyyxxzyyzyyyxxyxxyyyyyzzyyyxxxxxyyyxyyyxyyzxyyyyzyyyyzzyyyxxxxyxyyyyyzzyyxxxxywyyyzyzyzyxyyywxyxyyxxyzzzyyxyyyyxyzyyyxyzyxxxyxxxyyxyyzzzzxyzyyyxyzyyzzzyzxyxyzzyyyyyzzzzyzyyyyyyzzzyzzyzyzyyzxyxzyzzyzyzyxxxzxyyyyzyzzzyyyyyxyyyyzzzyzzyzzyyyyxyzyyzy{yyzyzyzyzzy{{{z{z{yzyyyyyzyzzzzzz{yyzxyyzyyzzzzyz{zyyyzyxz{zzzzzzyzyzyyyzyz{zzy{{z{yyzzyyyy{{{yy{{yyzyzyyxzyzz{z{{{yyyzzyy{zzzyzzzzyyyyzzyzzzyz{zyyzyyzyyyzzyzz{{{zyzzyyyxz{x{yy{yzyyyyyyyyyzyyyzyxyxxyxxxzzzyxzzzyyyyxxyzzzyzyy{{zyyxwzyyzxzyzxzyyzyyyxxyyzyzzy{yxxyxyyxxyzzzyyz{yyyyxyyxyyzxyzzyzyzyyyyxzzyxxxyyyxyxxyxxyyxzxzyzyyxxxyyyyyxyzzyyyxyyxzxyzyyzyxyzyyzxxxyxyyyzyz{zyxyxyyxyzyyzyyyzyyyyxyyxyyyyyyzzyxyyyyyxyyyzyyzzyxyyxyzyyzyzz{yzyyyyyx{yyzzzzzyyyzyyyyyzyzzzzzyzyyyzyyzyxzzzyyzzyyyxxywz{zyzzzzzyxyyyyyyzyyzyzyzzzzyyzzzyzy{zy{zxzyxzzyyzzy{{zz{zzyyzxzxyzzz{zzz{yyyyyyzz{zzz{{zyz{yyz{zzzzyzzzz{zzzyzyy{{yz{{z{zzzzyzzyzzzzy{{{z{zzyzyy{zzyzzzzzzyzzzyyzz{{zzzzyyzzxyyyzzzz{z{z{zxyyyyyzzz{yyyzyyzyyyxyzzzzzzyxyyyyyxzxyzyyyzzzyyyyyxxyyyzyyzyyyyzxyxxxyyxzzzzyyzyzxxyxyyyzyyyzyxyxxxyyzyzzyzyzyxyyyyzxzzyyyzzzyyzyyywyyyyyyzyzxzyyxywyyzyzyzzzyyyyyxxxyyyyyzyyyxxyyxxzyyzyyyzzxyyxxxxyyzzzzzzyyxzyyyyxxyyzyyyzzzxxyxxxyyyyyzzzxyyzyyxxzyzyxzyzyxxyyxyyzzzyyz{zyyzxyxyyzzz{yzyzyyyyyyzzyyzzzz{yxyyyyxyxzzzzzzzzzzzzyxyzyzzyyy{zzyyzxzyyzyyzyzzzzzyyyzyzzz{zz{zzyyzyyxzzyyzyyzzzzzxyyzyyzz{yzzz{zyyyzzzz{zzzzz{{yzyzyzyyzzz{yz{zzyzyyzyzy{{{z{{{zyz{yyzy{zzz{zzzzzyzzyyzyz{zzz{{zzyyzyzz{zz{zz{{yzzzzyyyzzzzyzzzzyyxyyyyxzzzzzzzyyyxyyyyyz{{{M>w5"a{||{z|{{||||}}|}|{}{z{{{||||||}|{{|{{{z}|{{||}|{z|{{zz{{z}|{{}|{|{z{{{{{|||{{{|{{{z|{z{{|z{||||{{{z{z{z{|}||{|{{{zz{{{{{{z{{{{|{{{{z{zz|{|{z||z{{{z{zzz{{{{|{|{z{{zzzz{{|{{{{||{{{{{{{z{{}{z|||{z{z{zz{z|{{{|{{{{zz{{zz{|||{{|z|zz{|z{{|{|{|{|||{{z|z|{{|{|{z||{{{{z|{{||{|{||{{||{|{{z|}{||}||{{{{{{{{||||z||||z|{|{z{{{||{||}||{{{{z{{|}|{{||||{{||{{|}{{|}}{||{|{{z{{}|{||||{{|{|z||||}||||||||z{|{|{}||||}|}z{{|{|{|}|}|}||}|||||{{~||}|||}{{{{{{}{{{||||{|||{z{{z{|}|||{{|{z{{{{|{{||||||{|{z|{{{{|{||{{{{{z{z|{z{{{{|{|z|||{{|z{{||{{{||}z|{}{{{{{{||}||}||{{z{{{}{{|{||}{{|{{{||{{||||}|{|{|{{{{{{}|||{{|{|{{||z{||{{{}|{|{{{{z{{{{{||{{{{{{{{|z{{{|{{{{zz|{{z{{{{{|{{{{{|z{{zz{{||||{|{{|{{z{{z{{{||{|{{zz{z|{{{{{{{||{{{{{{{{{{{{{||{{z{{{{{{{|{|{{{}||z|{{{zz|{||{|}||{{|{{{||{|{||||{z{z{{{z|{}||{|||{{|{{{z{|{|{{||||z{|z{{|||||{}|{{{||{{|{|||||}|{{{{{{{z{||}|}||{{z{{||{|||}|||||{{|{{z|{|}||{|||{{|{||{|}|||}|{{{|{{{}||||}}||}}{|{{||{{~||}||}|{|}|{{{||}||{|}||{||{{{||{|||}}}|{{|{||{{||}}|||}|{||||{|{}{||}{|{|y{{{||||{|||{{}|{z{z|{|{{||}|{{{{{|||}|||||}|{{{z{z{{z{|{{|||zz{{{{z|{||{||||z{{{{{{{||||||{|z{z{{{{|||{{||{{||z{z{{{z|{{|}{{{{{{{|z{|{{|{|||{|yz{{{z{{|||||{zz{zzz{{{{{{{z|{{{zz{zz||{|{{{{{z{{{zz{{||{|{||{zz{zz{{{{{z{|z|{|z{z{zz{{{z{||{|||{|{|{}{|||{{|{{y{{{{{z|||{}{{{{{{{{z{|{||||||{{{{|zz||||{||||{{{{{|{{{|{{||{||{|{{{{{{||{|{{{z|{{{|{{{{|z||{|z|{||{|{{{|}|||||z{|||{|{|||{}}|{{||{|{{||{{}|}|||{{{|{{{||||}~}{|{{{{{||}}|||}}|{{{||{{||||}{|}}{{{{|{||}||{}}||{{||{{{{{|}|{||{{}{|zz|{|}|{}{}{|{{{|{{{|{|||}{{{{|{{{{{|{|{||{|{{{{z||zz{|{{|||{||{{|{|}}|||}}{{{z{{{|}|}|||}|{|z|{{{{{{||{||||{{|{{{{z{||{{{|{{{{{{zz|{||{{||{{|z|z{{z}{{z||{{{{|{zz{{{|{||{{{{{{{{z||{|{zz{|z{{{{z{{z{z{{{|{|z{{z{z{{|z{{{{{{||{zzz{{|{|{||{{{{zzz{z|{zz|{|{{{z{{z{{{{{{{||{z|z{{{z{{{|{{{|{{{{z|{{z{|||{{|||z|{{z{z{{|||||{|{|{z{z|{|||}||{{{|z|{{{{{z}|{|{z{{{z{{{{|||z||{{z{{{zz{{{||||}|{|{{||{{|{||{}||{|z{{{{{||||||||{{{|{{{|{}|||{}|{{{{{|{|{||||}|}|{||||{|{{||}|}||{|{{||{{|}|}|}}{|}{|{}{|||}||{||{{{{{{||||||||}{{{|||{||{||||||||||{|{|{|{}|}||||{z{|{|{{||||||z{|{{zz{|{{|{|{|}|{z{z|{|}|{||}}{z{{{z{{{{|{|{{}{z{|zz{{|{z{|{||y{{z{{{|{|||||{|{{{{{{{{{{|{|{{{{{{z|{{{{{{|||}{|{z{{{{z{||{|||{{z{{z{{z{|{{{|{|{{{{{{{zz{|{|z{{|z{zz{{z{{|{|||{|{{zz{zz{{{{{{|z{z{z{z{z{|{{{{|{{{{z{z{{{z{{{|{{zz|{{{zz{{{||{|{{|{|{|z{|||{||||{|{{zz{{|z|||{z||{{zz{{|{|{{{||||z{z{{{z{{|z||}{{{z{z{{{|||||{|{{z{|{{{zz{{|{|||}z{{{|{{z||{{|||{{|{|}|{{}{}|||{|{{z{{{z|{{||}}|{|{{|{{{|{||{||}||z|{}{|||{}}|{||||}{|{{|}~||||}{|}||{{{|}|}|}|}|{{{{{{{|{||}|}}||||{|{{||{z}||||{|{{{{|{|{||||||{|{z{{{{|{|||{{|{{z{y{{|||zz}{|||{}{||{||}|||}|{{{z{{{{{|{||}{{|{|{{{{{{||z||||{{z{{{|z{{{||{|}{|{{{{{y{{||{|||{{{{{|{{{||{||{{{z{z{yz{{{|{|}|{{zzzz{zz{{z{{|{{|{{{{zz{{{{{z||{|{|{z{z{{{{{|{}{{{z{zz{z{{}{{|{|{{zzz{{zy|||{||{{z|z{{{z{{{z|}{{{z{{||{z|{||{{|||zzz{zz||{|{||{|{{z{zzz{{|{{z}{|{{|z{{|z|||||{||{{{||z||{|}{|||{{{z{{z{{|{|||{z|{{||{|z{|{||{|{{{z|{{|{{|}{}|||{{{{{{{{{|{{}||{|{|{{|z{|||{||}{}|{{{|{|{}||{|{||}z{{{{z{{|}||||||{||{{{||}|||}}||{{||||{|}}|}|||||{z{{{|||{}|}}}||{|||{z|{||||||{{{{z|{{{|{|{|{}{{{|{{||{||}{{{{{{{{{{{z{{{}||{|{{z||{|{z|}}{|||{|{y|{{z{{{|||}||{|zz{|{{{{{|||||{z{{z{{{||{{|{{{{{zz|z{|||}{{||{{{z|{z{|{||{{{z{y{zz{{z|{|}{z{{{zz{zzz{{{z{{{{|zz{{{zzz{{{{{|{{zy{{{{zz{{y{{||{z{zzzzz{{{{|{{|{{{{zzzzz{z|z{z{z{{zz{z{{{|z{{{|{{z{{{{zy{||{z{|{|{{z{{{{{{{|{{}{{{|zzz{z|{{{|||}z{|z{zz{{|{{{{||z{{z{z{y{{{{|||{z{{{{zz{{{|{{||{{z{z{{{|{{|{z|||{{|{{{{|{|||}|||z|{|{|{z{|{}||}}|{z{z{{{|{||{||}|z{{|{{z|||{|{}|{{{|{{|{{{|{}}|}||{|{{{{||||}||||z||{z|z|{|{|}{||{{|||{{||||||}|{||{{|{{{{z|||||||{{{z{{{|{{{{}|{{z{{{z{{}|{{{|{{{zz{|zz||{||}|}{{{|z{{{|||{||}|||{|{{{{|{|||||{|{{|{{{y|{{{||||{||{{{z{{|{|{{{{|{{zzz{{{z|{||{|{z|z{{{z{|{z||{{{z{{yzyz|z{{{|{{{z{{{{{|{{{|z{}{z{z{{{zz|{zzz{|{{zz|z{zz{{|{{|{{{z{zz{z{{||{{{{{{{zzzz{z{{{zz{{{{{z{zzzzzz{{{{{{z{{z{zyz{{{|{{{{{z{{zz{{{{{{{||{{z{{{zz{z|{|{{{|{{|{zzzz{{|{{||||{{z{{{zz|{{||z{z{zz{z{z|{||}|{}|zz{zzz{z{{{{{|||{{z||{{||||{|{||z{{|{|z{|{||{{|{{{{{z{{{|||{|||{{{{{|{|||||{{|}{{z{{||{{}||{}|}|{{|z|{{{}||{|||{||{{{{{{|{{||}||{{|{|{{{{{||||||{{{{z{{z|{|||||{{{{{{{{|{{{{|{||{z|{{z{{{||{|{{{{{{{z{{{|{{{}||{{{|{|z{{|}{|||||{{zz{||{||||||||{{z|{|z||{|||||{{{|{z{{{{||||||{{z{z{|z|{||||{|z{z{z{|z{{|{{}{|{{{|{z{{{{||{{||{{z{x|z{{}{z{{{{{{{z{{{{{z{{|{||{zz{zzz|{{|{||{|z{|{zzz{{{{{|{||{||{{z{{||{{z{{}z{{{{z{{z{{{||||{zzz{{z{zz{|{|||{{{|{{{{{||{{{|{z{z{{z{{|||{{|{{{z{|{{{{|{{{||}{{{{{{{|{{||{{|||{z|zzz{y||||{{|{{{{{{z{{|{|{{{{|{{|{|{{{{||||||}|{{{{{|||{||{|{}{{z{{{{z{||}{||{|||{|{|{|||||{}{|zz{{|}|||||||}|||{|z{|{{|||}|}{|{||{{{{}|{|||{|{{{{|||{||{{{||}{|{||y{|{||}{}}}|{{{{{{{|||}{|||{|{z{||{{|}|{{|{{z|{{z{{z{{{{}||}||||{{|{|||{|}{||{z{{{{||||}||}|{{z{{||{}}|||||{|{z{|{||||{zz|||||{{||{||{zz|z}|{|{{{{{|{{{|{|||{|z{{{{{}|{{|{|||{{{|z{{{|z{{{}{z{{|z{|{{||{||{|z{{zz{{|||{|{|||{{{{{yz{|{|{|||{z{{|{{z}{{||{{{yz{y|{{|z|{{{|{{{z{{{z{{|{{{{{}{{{{{{z|z}z}{||||{{|z{{|{{{|{{|||z|{{{z{z||{{||{||{||z|{{{{{|{|{}{|{|{z|{||||{|}{{{|||{{{{|{|{|||{{|{{{{{|||{||{|{||z{z{{||||{|}|||{|{z{||}||||}|{{||{}{{||||}|}}{{{|{||||}{|||}|||{|{|{|||}|||}~||{|{{}{|}}}|}|||z{|{z{{{|}|}|}|||{{|z||}{|{||}|}{|{z|{|||{{||{|||z|{{z{{z||{||||{{{z{z{|{|{|||}||{{|}|||}}}|||}{{{z{z{|||}}}}|||{{{{}{{||||||||z{||||{{{}||{|}{}{{z{z{zz|{}||||{{{{{z{|||{{{{{||{{{{{|{{{{{{{|{{zz{z{z{{{|||{{{{z|{{{zz{{{||{|{{z{{{z{{{||||{|{{{{{{{{z{{{{{|{{{{zz{{{z{||{|{|{{{{z{zz{{{z||{{{{z{{{z|{z{{z{||{{{{{|{{|||||{|||{z{{{}z{|{||{{z{z{||{zzz{|||{{|||{|z|z{{{||{|{{{|{{|{{|{{{|||{||{{{{{z{{{||{{|{{{{{{|{{{|{||}|||{}z|{{{{||||}|||{{|{|{{{{{{}{{}|{z{{{{{{|}|||}{}{{|{{||{|~{||}||||{||}|{{|}|||}|}||{{{|{||||}|}||z|{{{{}|{||}|}|}{|{{{{||{{|}|||{{|{{z{z|}{|}{|||{{|{|{{||{|{||}{{{z{{{z{{||{|}|{|z{{||{{}|||{}|{z||z{{{{|}{|}||{{|z{{{{{{{}|||||{|{z{z{||}||||}{|zz{{zz{{||{|{|{{{zzz{{{{{|{{|z{{z{|{{z{||{||{{{{z{{{z{{{{|{||||z{zzz{z{{z{{||{{zzzz{{z{|{|||{{{{{{{z{y{{z{|{||{{{zz|zzz||{{{{{{|{z|z{{{{z|z|||{{z{{{zz|{{{z||{{{zz|{{z{|{|{{|{|{|{zz|z{|{{|{||{{|{|z{{{|{|}|}{{{{{{{{zz{{{}{||{z{z{{|z}||{||||{{|{{z{{{||{zz|||{{{{{{{{|{}{|}}{z{{{|{|{{|{|||{{{||{{{||{||||||||z{{{{{|}}|{}||{{|{{{}|{{|}|||}{z{{{{z{{}}|||}|}{{{{{||}||}|}||||||{{{{|{}||}|||{{||{{|||{}|{|}{{{|||z||}}|||||||{{{{|z{|||{|z|{z{{{z{{{{{||{{}||{|{||{|||}{|{{|}|{{{{||{||}|}||{{{{{{{{{|||||{|||{{z|{{||||||{||{zz{{{{}{|{{{||{{z{{yz{|{z|||{z{{{{z{z{{}|||}|{{zzz{yz|{{{|z{|{{z{{y{{|||{{{||{{z{z{z{{{{{||{{{{{z{zy{{{{{{{{|{z{z{zzz{{|{{z||{{{{{{{zz{z{||{|z{{{{z{{z{|{{{||{{|{{z{z|}{{||{|z{zz{y{{|||{{|{|{{|{{{{{|{{{{}|{{{{z}{{{{|{}||{{{{{z|{zz{|{{{|}|{{{{{{{{||||{{{{z{{||{{{{{|}||{|z{|{{{||||||||||{{||{|{z{||||||}||{{|zz{}||||||}|||{{{z||||||{|||{||||{||||||}|||{{{|{|{|{|{|}|||{{{||||||{{|||{}|z{{|z{{||{|||{|{z{{{{{{|{|z||{{|z{|{{{{{{{|{}|{{{{z|{{|{{{{{||||{|||{{{}}||}|}{|{z|{{{||||}{{}z{|z{||{|||||}|||zz{{||{{|{{{{{}|{{zz|{{||||||{{{{z{{z{{||{{{}|{{z{{{z{y|{{z{||{{{{y{{{z{{{zz{|{{zzz{{{z{{|z||z{{zzz{zzz{|{|||{|z{{{{{{|{||{|||{z{{{z{zz{{{z{|{|{{{{yz{{{|{z{||||z{{{{zz{{|{zz|{{{{{zz|z{{|{{|{|{z|z||{{{{z{||{||{z{{zzz|||{|||{{|{z{z{z|{{{|}{|{|{yz{{|{|{|{{|||{z{{|||{{|{{|~}{{z{|{{||||||||}{{{{{{{{}||{||||{{{{{z{{{||}{}}{|{{{||{{||{|||||||{{|||{|||{|||}|{{|{||{|}||||}|||{||{{z||||||||{{{{||{|{}|||}|~{|z|||{z|{||{||}{zz|{{|{{{}{{||}{|z{z{{{{{{{|||{|z{{zz{{{{{z{||}||{{||||{}|||||}||{{{{|{{|{|||}~{|z{|z{{||{|||||{z{{zz|{z|||{|}|{{{z{{z{{|||{||z{z{{{z{zz{|{{{|{{{{{{{z{{|||{|||{z|{zzzz{|z{zz{|z{zz{{{z{{{{|{{{{z{{{{z{{{{z{||zz{zzzzzyz{|{{{|{{{yyzzzz{z{||{{{||{zzzyz{{{{{||{zz{z{{|z|{{||{{|{{{z{z{z{|||{{|{|{{{{z{{{|{{{||{z{{{||{z{{|{|{||{z||{z{z{|||{{||z{{||z{{{||{|{|{y|{{{{{|{{{|{||||{{{{{|||z||{{||||{{{z{{||||{{}}|{{z|zz{{|||}{}||||{zz{{{}||||{||}{{|{{|{|||||}|{{|||{|{||||{|}||z{{|z{{||{}|||||{{z{|{{||||{|}}{|{{{{{{|{{|{|}||{zzz{|{{|{|{}~|{z{zzz|{{|||{{{{{z|{zzzz{{|{{}}}|||{{||{||||}{}|}{||{{zz|}||||{|||{{{|{{{{{|||||{|{{{|{{|{}{|{|{{|{yyz{z{{{{|{{{z{z{{{zzz{|{{||{|{z{z{{{{||z{{|z{zz{z{z{{{{{{{z|{zz{{zzz{{{|{{}{{zz{z{zz{z|zz{{{{z{{z{zzz{z{{{{z{{{zzz{z{{z{{{{|{{{z{{{zz|{{{|{{zz{z{{zz{{{{||{{{z{y{z{z{{|{{{{{|zzz{y{{{{|{||{{{z{{{{z|{{|{||||{|z{|z{z{{||||||{{|zzz|{|z{|{{||{{z{{z{{{{|{{{{{{zz{|z{{{|{||{}{{{{z{{{{||{|{||{{{{{{z{z|||||}|{{{||{{{z||{{|}||{{{{{|{{||||{|||{{{|||{{{||||{}|{{||{{{{||}|{}|}|{{{|z{{{|{||{}|{{{z||{z{|||{|}|{{zz|{z{{|{{{|{|{{{{z{{z{|{|{{{{{z{z{z{z{{|{||}||||||{}||}|||{|}|{{|||{{|||{{{||{|{}{{z{|||{|||||z{{{z{|{{|||{{||{{{{z{z{{||{|||{z{zzy{zz||z{{|{|z{y{zzz{{|{{{{|{{{z{{{{{z{|{{z|{z{y{z{||{{{|{{{{z{{{zyz{z{{|{{|{{{{z{z{{|||{{||{z{z{zz{{|{{{|z{{{{{|zz{{{{z{}{{z{{z{|{zz|{{{{|{{{z{yzz{}{{{{|{|{zz{zz{{zz{{{{{|{{{z{zz{|{|{{{|{|{{z{{{z{{{{{|{|zz{{{|zzz{|{{|~z}y{{z{{{|||{{||{{{{z{{{{{|{}{|||{{|{z{{{{|{|{||{{{{{{{{z{||}|{{{|{{{{{z|||}|{||||{{{{{{{{}|{|{||||{|{{{z{}{||||||||{{{{{||{{{|||zz{{|{|{{|{{{|||{{{{{{{{{|{|||||{{|{{{z{z{{{|{||{{{{{z{{{|{|{||{{{{{yz{y{{{{{}}||}}{{|z{|}|||}}|{{|{|{{||||}|}}||||{|||{|{|{||{|{{{{{{{{|{{|{|}|{{{z{{{z}{|{{|{{{zzzz{|{{|{z{}{{{z{z{zzy{z{{{{{||{{zz{{{{{|{{{}{|yzz{{yz{z{{{{|{{zzzy{zzz}|{{{{{z|{z{{zzz{{|||{{{zz{{{{zz{{z|z{{zz{z{z{z{{z{zz{{{zzzzzz{z{{{|{{|{zz{{zz{{{{zz{||z{{{{zz{|{{|{z{|z{z{yz{{{{|{||{{{z{zz{{{{|{{|{|z{z{{z{{|{|{{||}{|z{|{{y{{{|{{|{|}{z{{{{{z{||{||}z{{{|{{z{{{}{{|{z{z|z{{{{}{}{{}|{|{{{|z{||{{|||{{{}|{{|||{||{{}||{{{z|{{{|{|||||{zz{{{|{{|||}|||{z|||zz||{{}|||{|{z|{|{{|{||||||{{{{{{{{{{|{|z|||{{{{z{z{{||z||{{|z{{{{zz{|{||}~}{}||||{|}|||}}}|||{{|||}|{||}}||z|z{{{{|{{||||}{{{|{{{{||{{{||||{|zz{{z{{{|z{||{{{{{{|z{|{z{||{{zz{{z{{{{|{{{{z{{zz{{{z{|{z||{{z{{{zyzz{|{{z{{{{z{{{|z{zz{{|{||z||{zzz{|{|z{{|{zzz{{|z{{z{y{{|zz{{{zzz{{|{|{{|{{zzzz{{z{{{z{|{{{{{z|{{{|{{{||||{{|{{{z{{|{{|{{|{{z{z{{{z{{|||{||z{{{{{{{{||{||{{z{{{z|{|}{{||||||z{z|{z|{||{||||z{{{|{|{||||||}|{{{|{|{|||{|{}|{{{{|{{{|||{|}||{{{}|{{{|||{||}{zz{{|{|||||||}}{|{{{{||{{}|}|||}|{{z{{{{|||{|}|||{{z{z{{|{{}}}|}|||{{{{{{}|{|||||{{{{{{{{|{||{{|{{z{{z{z{|{|{|{|{z{zz{z{|{{{{}}~}{}|||{|{|~|}}}}~||||{|{|~{{|||}}||{{{{|}{{{|}}||{|{|z{{|{||{||||||{z{{z|{|{{}||{{{z{{|{|{{{|{|{{|{z{z{{{z{|{||{{{{{{{z{{z|{{{{{{{{{{{zz{{{{{{||{{{z{{zz{{{||{|{{{{{{zz{{{||{|||z{{z{{{{{z||{||{{|z{{{zz|{||{|{{{{{z{|zz||||{|{{{|z{{z{{{|{||||{{{|{{z{z{|{|{||{{{{{z{{{{{|||||{{{{z{z{z|{|{||||{|{{|{|z{{|}{{{||z{|{{{z{{{{|||||{{|{{{{{|{||{||{|{{|{|{||{|||}}|{{|{{{{|{}|{{{||{{{{{|{}||||||||||||{|{|||||||||{|{||||{|||||}|||{|z{{z}||||||||{||{{|{{|{||}}}|{{|{||z|}|{{{||{z{{|{z{{||||}}|||{|{z|{|{{|{|||{{z{{z{z{{|{|}}}}}{}|}||}|||}}}}||}{}|{z|}|}}}|}}|{{|||{|||{||||{{|{z{{{{{{|||||{{{z{{{y{||||{|||{{{z{{{{||||||{z{{z{{zz{|{|{|{|{{{{zz{z{{{|z{{{{z{z{yzz{{{{|{{|{{{zz{zz|{{|{{||{z{{zz{{{{|{|{{|{y{zzy{z||z{{|{||z{z{zz{||{{z}|||{{{{{{z{{{}{|||{{{z{zz{{||{{{{|{{{|{z|z}{|{{{|}{{{{{{{{||{{{||}{{{{zz{z{}z|}{{}{zz{{|{|{|{||||{{z{{|{{{z||{||{||{{{{{{{||{|}||}{{|{{{{{}|{|{|}|{{{{||{{||{|||||{{||{{|{|||||{}|{|{{||||{|||||}||{||{{{|{||{|}|||{z{{{|{}|}|}{{{{{{{{|{{|{{||||}{|{{||{||{|{||}}{|zz{{{{{|{{|}{||||||{{{|||}{{|{{z{{{zz{||{|{}}|}|}|{}||}}}|}}}|||||{{|}}}||}}||{{{{{{z{}|||}|{|{|{|{z{{||||{|}|{y|{{|{{{|{{||{{{{zz|{{{||{|{|{{{|{{{yzz|}{{{{|{{{{{{{{{{|{{{{|z{z{{z{z{z{{||{{{{{z{{zzz{{{|||{{{{{{{zz{}|}|{|{|{{|z{zz{|{{|{{||z{{z{{{z|{{{|{{zz{{{zz{{||{||{{{{zz{{{z{|{||{|}{{{zz{|{{}|{{||{z{{{zzz{|||{}{||{||{{{{{{{{|{|||{z{{z|z{z|{|{|}{{|{{z{z|||}|z|{{{{{|{{{{{{}}{|{{|}{{z||{|||}{||}{{{{|{{{||{{|||||{|{{{{{{|||{||||{{{z|{|{{||||{}|{{|{{{{|||}|||||{||{{|{|}{|||{{z|z{{{{{|}|||{{}|{{|||{{{{||}|{|{|{||{z{{|||z{||{{{z{{|{||}||z{|||{{{{|{{|z}{}}~}|}}||}{~|}}|}}|{}||}{||||{|}}|}|||{{{{z{{||||{|{zz{{{{z|||||{|||||z|{{z{||{{|||{z{{z{{z{{{|||{||y{{{|z{{{{|{|{{{{{|{|{z{|{||{|{{z{zz{z{{|z|{||{{y{{zzzz{{z||{|{{{{zzzz{z|z{{{{|{{{{{z{{{{|z{{{|z{{{z{zz{|||{|{|{z{{{{z{zz{|||{||{zzzzz{{{{{{|||{z{{{{{{{{{|||||{{{{{z{zz||{||||{{|{{z{|{||||||{|{{{zz{{|||{||{|{{{|{{{{{{{{{|||{z{{|{z{||{{{|||{|{{{{{{{|{{|||||{{{{|{{|||||||}|{{{{{|||}||}|||{{{|{{|{{||}{|}||{{|{|{{|}|}|||||{|{{z{{{|||||||{z{|{{{||||||{|||{zz|{|||}|}|||||{{|z}{{{{{{{}|||{{z{{{{||{{{||{{{{|{y{z{|z{|}~}||{|}||||}|}}||}}|{|{|{{{||{|||||{|z{{{||{z{|||||y|{|{z{{|{|{{{|{z{z{{{z|{{||{|{{{|{{z{{{{|{{{||{{{zz{z{|z{{{{|{{{{{zzz{{{|{|{{|{z{z|{z{{{{{z||{{{|zz{z{{{{{{|||{{z{zz{z{|{{z||{{{z{zzzz|{zz{{|{{{{z|z{z{|z{{|||z{{y{z{{{|{{z{{|{|zz{{{{z{|{{{|||{{{{y||||{|{|{}zz{{{{{{|{{{||||{{|{{z{{{{|||{|{{z{{{z{z{||{{|{|{{{{z{{{{}{{{|z|||{{z{z{|{|{|||}||{{z{z||{|}|||||{z{{{{{||{{||}|||{|||{|}||{|||||{||{||{{{{||}}||z{|{|{|{|}|{|{||{|{|z{{{|{||||{{|{|{z{|{{{||}}|{|{z{{{{||||{|{|{{|z{{{||{|{{||||{z{{z{{{|{|{{|{|{{zz|zz{{|{|}~~|}{||}}|}}~}}|}}|}|}{{|}|{|}|{|}||{{|{{z{||{|||}|{zz{zz|{|{}|{|}}{{{{{{{||{{|||{|{{{zz{{{{{z{{|z{{z{{zzz{|{z{{{|{{{{{zzz{{{z||{|z{zz{zyz{{{||{{{{zyz{z{z{{{|}{{{{{{{z{{{{z|||{|}{{z{zzz{z{{{||{{|z{z{{z{z|zz{||{{{|{{z{z|{{{{||{{z{z{z{z{|||||{|{z{{|{|z{|||z{{|{zz{{{z{{|{{{|}}{{|{{z{{{|z{}||{{{{{{{{|z|}{{||{{{{zzzz|{z{{{}|{{{{{{{{{||{|||||zzz|{||{|{|||||||zzz{z|z{{{|{{||{z|{{{{{|}|}|{||z|{{{|||{|{{|||}|{{{{{zz|}{|}||}|{||{|||}|{|}}|{|z||{{|||{{||{|}||{|z{{{||{|{}{||{{{z{{{{{|{{||{|z{{yz{{{|||{{}|{{{{{{{{|{||{}~~||}|}|}{|}}||}}}}|||{{{|||}}|}|{||{|{|{z||||||}}{{{{||{{{|{|{z{|{{|y|z|{{{{{{}{|{z{{{|zz{z|z||{{{{{{{{{{{{{z{||{zz|y{{zzz{{|{||{{z{zzz{zz{{z{|{z{zzz{zz{{{{{{{{{|z{{z{zz{{{{z||{zz{{{zz{{|{z{{{{|zz{zz{|z{{||}{{{{{zz{{z{|{{{{{{{{{{{{zz{{{{{{|}|z{z{y{{{{{{z|{|z{{zzz{z{||z|{{|{{{{|{|{{{{|{|{{{z{{z{zz|||||||{{zz{zzzz{|{{{|{{z{{zz{{{||{{{|||z{{{{{|z|||{||~|{|{{{{z{{{|{|||||z|{{{{|||{}{{||{{||{{||{|{z}|||||{{{|{z{|{||||{|{{{{|{{|||||{|}}{z|{zz{{{{{||||z{{|{||{{{|||||}{{{z{z{||{{|{|{||{||z{{{{|{}{||{zz{{|z{z{z{{{|}}}}}|~{}}}}}}|}|||{|||{||}}}||||{{|{||{{||{|{||||{|{{|{{{|{|{|{|{|{z{{{z|{||{{{||z{{|{{zz||{|}|{{z{yzzzz{|{|{{{|{zzzz{{z{{|{z||{{yzz{zzz{{{{{{|{{z{{z{{{z{|{{{|{{{z{z{{zz{{|{||{{{z{zz{z{{|{||{{zz{z{{z{{|{|{||{{z|z{{zz{{{z{||{{{{z{y{{{|{|{|{||zz{z{{{{|{z||||zz{z{{zzz{|{||{{{|{{{z|z|{{{{||{z{{z{{{{|{||{||||{zz{{{{{|{||{|||{{z{{|{{||||||{{{{z{{|{{||{{||{{|||{{z|{|{{||||}{{{z{{{{{}||||||{{|{z{{{|{}z||||z{{{|{{||}||}|||||{{|{{|||}|||{|z{{|{|{{{{{{||}{{|||{{{|{{|||}{{{{{{{{|||{||{}}{{|{{z{{{{{|{|||{{{zz{{z{{{{|~}}}}~}|}|||}}~}~~}||||{}|}|{}}}|}}{|z{|{{||||||{|}{z|{zzz{|{}{|{}|{{z{{z{}|{|||{|{{{{z{{{|{|{{{|}{z{{z{y{|{|{{{{{z{{{{{z{{{{{z{z{{{{zz{zz{{z{{{|{z{{{zzz{{{|{|{{{{{{z{zz{z|{|{z{|{z{zz{zzz{|zz|{{|{|zz{z{{{z{|||{z{{{|{z{|z{{{{||{{{{{{{{{{{{||{{|z{|z{{{|||{||{|{|{zz{z{{{|{{{{{{{|||z{{{|||{||{{{{{|{z{||{{{{}z|z{{zzz{{|{{{||{|{{{}{{{||||{||||||{{{{{{|{|||{}{z{|{z{{{||{|||||{{||{|{}|||{|{||{{{{||{{|||{||||z{{|{{{{}|||}|||{{{{{{|}|{||}|{||{{{{{|||{{{}|}|{{||{{||{{|{|||{{|{zz{z{{|||{||||z|z{{{{{||{{|||||z{{|{{z|{{~~~}|~}|}}~~}}|}}~}}||}|{|}||}}|||||{{}||{||}|||~|{{|{z{z{{|}}|}||{{{{{{{z{||{{|{|{{{z{z{{{||{||{|{|{z{{{|{{|z|||{|z{{{{{z{|{{{z{{z{{{{zzz{{|||{||{z{{{z{z{|{{|{||{{{{z{z{{|{z|z|{{{{|{{{{{|z{{z{}{{{z{z{z{{{|{|{|{{z{{{{{{||{|||||{z{|z{z|{|{z|||{{{{{z{{|{{|||{|{{|{{{{||||{|||{{{{|{z{{{|}|{|||{{{{{|{z||||}}|{{{||{|{{||{|{{||||{{{{{z{|{|{}{||{{{{|{{||{{|||}|{|||{{{|||||||{|{{{|{{{||{|}}|}|{|||}}|{|{||||}|{z||||||~|}|}|}|||{|{{{{}{|}}}||{|{|z{{||||||||||{|||{||||||||}{{|{{|{z{{|||{||{|{{{{{|{|}||}||{{{{|{z{|{||{~~}~}|}|}||~}}~~~}|}{||{|{||}|||}|{{{{|{|{}||{|}}||z{|||{zz|||{}|{{{{{|{{{{{||||{{{{|z{{{z|{{{{{||{{{z{zzz{|{{{|||zzz{{zy{z{{{{{{{{zz{{{{{z|{{||}{{{{{{zzz{{{|{z{{{{z{{{{{{|{{{||{{{zz{z{z{{{{{{||||{zzzz||{{{{{{|{zz{{z|z{{{{{{||{z{{{{{{{{|||{{{z{{zz{{{||{|||{}{|{{z{|{|||{||}{{||{{{{{{|||||{||{{{{{{z||{|}||{{{{|{z{{{{{{||{||z{{{{{{{{|||||{{{{{|{{|{{||||}}{{||{|{{}||}{|{{{z|{{{|{{}}{{||{{|{{{|{|{||{}|||}|{|{{{|{}{|{|}}{{|||||{|{|}|}||{z{{|{{|{||z|}|||{|||z{{|}||||||||{{{|{{{{|{|{||{{|{z{{z||{|{|}|{{{zzzz{{{{|{~~}~~~}~}}}~~}}}|}}||{||||||{}}|}}||{{{|{{||{{{|{|z|{{|{||{{|||{{}{{{z{z{z{{{||{|}{{|z{{{z{{|z||||{z{{|{z{|{|z{|{|{z{|{{{{zz{|{{|{z{{{zz{z{{{|{{|{{{{{z{z|{{|{{{|{{z{zz{{{{|{{z{|{{zz{{{{{z{{z{{{|{{y{{z{z{|||{{{{{||zyzz{{|||{{||{{{z|{{z{|{{||||{{|zz{{{|z||{||{{{{|zzz{|z{{{|{|{|{{{{z{{||{z|||{{|z{{{{{|{|{{}||z|{|{{z{||{{|{{{z{{z{{{|||||}||{{{{|||||{{|{|||{{{{{z{{{|||{{|||z{||{{{{}||||}|z{{{|y|||||||||||{{{{|{||||}|{|{|{||{z|||}}|{|||{{{{{{{{{{{}||}||z{{z|{||{{}|||}||{z{{{{{{||{|}}{{{{{{zz{|{{|||}{{{z|{zz{{{|}~}|~}~}}|~|}}}~||}}||||||}||}|}|||zz||}||||{|}|}{{{{zz|}|{||}{|}|{zzz{z{z}|{{{|z{{{{|{{||z{{|{z|{{zzz{{z{{z{{}{{{z{z{zz|{{{{|||{zzz{z{z{{{{||{{{{{{{{z{||{{|{{{{z}{{zz{{|{{{|||{zzz{y{{{{z{{{||{zz{{{|{{|{zz|{{|{{{|{{{{|{|{||||{{{{z{{{||{{||{z|{{z{{{{{{{||{{{{{{z|zz|{|||||}{z{{{y{{{{|{||{{|{{{{zz{{||||||{{{{{{zz{|}|{{|||}|z|{{{{|{|||||}|{{{||{z{||}|||{{{|{{{{|||}|}|||||{{{z{{{}|||}}}|{||{{||||{{|{}}|{{||{{z{}||||}|{|{|{{|{||||||}{}{{|{|{||{{||}}}|{|||{{||}|}}|}|{z{{{z{{|||||||||{{{|{|{||||{|||||{z{{{{z|||{~}~}}}|}}}~~|~}}~}}{||||{}|}}}}}~|{{{{|{|}|{|}}{{{{||z{z||{|||{|{}|{z{{{z{{}|{{||{{z{{z{{{||{{}{|{z{{zz{{{{|{{|{|zz{|{{{|{{{{{{||{{zzzz|{{{{||{{{{{{{{{{zz||{||{{{{{{z{{z{|{{|z|{{zz{{z{z{{z{{{{|zzz{z{z{{|z{{{{|zz{{{{{z|{{{{{{|{{zz|zz{{|{{{|||{|{{{{{z{{{{{||{{z{zz{zz||||||{|{z|{{{{{{{{|{{{||{|{{{{{{|{||{|{{|||z{z{{z|{{|{{|{z|{{{||{||||||{|{{{{{{||||||}|{{{{||z{{||{{~||{|{{||{{|}}|||}}||{{|||||||||||||{|{|||{{}}||{|}|{|{{{{|{||||}|||{{{{z{{{|{|{||||{z{||{||||||||}{{z{{{|{{||{{|||||{{z{{z{{|||{|{{{{z{{{z{|{||~~~~~}|}}}}~}~}~}~|||}{|||}}|||{||}|{||{|||{||||{|z|{{{|{{{|{}||{||{z{{z{{||{|||{z|{{{{{{{|{{{{||z{{z{{z|{|z{|{{{{{|{z{{|{{{{||{{zz{zz{z{{{z{{{|{{zzzzz{{|{{||||{{|z{|zzz{{z{|{{{z{{{z{{{|{{{{{{{z{zz{zz{|z{{{{|{{{{{z{zzz{{{|{{{{{zzz{{|{|{{{{|z{{zzz{{z|{{{|||{{z{z{z|{{{|{|{|{{{z{{{z||{||{||z|{{|{z{{{||{|{{{{{|zzz{|{|{{|{|{{{|{{{{{{||{||||{{||||{|{||{{|||zz||{{{{|{||{||{z{{{{{||||||||||{z|{|||||||||||{{{{{{||{||}||}|||{|{{{{||}{||}||{|||{||||||{}|}||{{|{{||{|}||}}{||{|{{{{{{|{{}|}zzzz{|{{|||{{|{z{{z{{{z{{{|z~}~~}}}~~}}~}}}|}}|{|{|||}|||~|||{{{{|{{|}|||||}{|{{z{z{|}{{|||{z{z{zzy|{||{|||{z{{zz{{{|{{||{{|{{zzz{z{{||z|{{zz{{{{{z{{{|{{{{yzz{y{{z{|{{{{|{{{z{zzy{zz|{|{||{{{zzz{zz{{{{|{{{{z{zzzz{{{{{{||||{{{{zz{{{{{|{{{z{{z{{z{{|{{{|{{{{{{{{z{||{{{||{z{{{{|{{{{{{{||{{zz{z{{{{{|{{|{{zz{{z|{z|{}|{|{{z{{{z|{|||{{|{{|z{|{{{{{{{{|{|{|{{{{{{{{{{}{|||{|{{|z|{||{|{|{|{{{{{{z{||{{|{|{|{{{{{{||}||}||||{|{z||{{}||{||{|||z{|{{{|||||{||||{{{|{|{||||z||{z{{{{||||}}|}}|||||{{|{{|{|}}|{{{z{{{{{||||{{||{z{{{{z{|}||||{zz{{{{{{{|{{{}~~}~}}|}~~}}}}}||}|}{{||{}|||}}{{|{|||{||{|}||{{{{{{{zz|{||{{|{{z{{{{{z||{|{|}{{{{z{{{z|z|{{{{{|z{{{{z{{{|z{||{|{{{z{{y|{|{{|}{{z{{{{zz{{||{{|{{{{z{zzy{|{{{||||z{|z{{z||{|{{{|{z{|yzzz{{{z{|||{{{yzz{{z|{{{{|{z{|{{{z{{|{{{{{||yz{{{{{z|{{|||||{{{{{{{{||{|{{||{{{z{zz||{|{{||{z{zz{{z|{|||||{{{{{{{{{{{|{{{}}|{zz|{z{{||{|||{|{{{{{z||{|}||{}z{z{|z{{||{|||{|{|{|{z{z{|}{|{{||{|zz{||||||||||||{{z||{{}|{{}|||zz{{|{z{}||{|}~|{{||{{|||{|||||}|{{{{||{{||}|}}{z{||z{{||{{}|}|{||z{{z{|}|{}||{|{{{{{{{{|||{||}{{|{{zzz|{|||~~~~~~~}~~~}{}}|}{{{|}}||}|}||{{|{|{{||}{||}{|{{{{{{{|||{{||{|{{z{{zz|}|||{|{{z{|zzz{|{{{|||{{{{{{{{{{{z}{{zzz{{{zz{{{{zz|{{{{{{z{{z{{{{{{|{{zz{{zy{{z|{{|{|{z{{zzzzz{|z{z|z{z{zz{zz{{|{{{{|{{zz{{zzzz{z{||{{{zzz{{{{{|{|{{{zz{z{z{{z||{{{|}|{{{z{z{{{|||{{||z{{zzz{{|{|{{{|{z{{{zz{|}{{|{||{{{{{{{|{{|{{{|}{{{{z{y{|||{{||{{z{{{{|{|{||{}}{|{z{{||z{{||||}||{z{{{|{{||{|}|{|{zz||{y||||||}{{{z|{{||||}||{}{|{|{{{{{||{||}}|{{|{|{z|||||||||{{|{|{{|{|{|}|}||{{|||{}{{|||||{{{{{{{{{{{{|{|||{{{z{{{{|}{||{|{{{{{{zz{|{}{|~~~~~|}~}~}~}}}}}||{||}||}||}}}||{{{{|z|{{}|}||{{|{|{{{{||{{{||{|{zz{|z{{{{{||}{{{z{{{zz{{|{}|{{z|zz{zz{{{{{{||{z{z{{zz{{zz{{{|zzz{{zz{z{|{z|zzzzz{zzz{{{|z{|{{zz{zz{z{{{{z{{|{z||z{zzzzz{{{||z|zzzz{zzz|{z{|{|zz{z||z{|{|{z{|{{{z{{{|z{{z{{{{{{{{{{z|{z{{||{{{z{{{{{z{{z}{{{{|{zz{{|{{{{|{{{|{{{|{{z{z{{||{|{|{{{z{{{z{{|z{|||{{{{{z{z|{||{|||{{zz{{{z{{{z||}{{|z{{{z{{|{}||||{|{{{z|z|}{||||{|z{z{|||{|{|{||{|{{|z{z{||||}}|||z{{zz{{}{|||||||{{{|{|{{{{}|{|}{|{{|{{{|||||{||{{|z{{{{z|||{{}||{z{z{{z|{|{{{}|{{{z{zz{{{|{{}}}~}~}~|}}||}||||}|}}}||||||{{{|}||{}||{{z{{{{|{|}||{||{{|zz{{{{{|{{|}||{{{{{{zz|}{|{{{|{{{{{{z|{{{|z|{{{{zz{{z|{{|{{|{{z|z{z{z{{||{z|{{{{z{{zz{{{||{}|{{{|{{z{z||}{{{}z{{{zz|{{{|{{|||{{zz{{z{{|{{{}z{zz{{{{zz{{{{{|||{{{{{{{{|{|{|{}}|{{{zzzz{{{z{}{}{{{z{{{z{||{|||{{{|{|{{{z}|{{||||z{zz{{z{||{{|{{{{{{zz{{|||{{||{|{|z||{{|{{}|{|{{{{z{{{{|||||}|}|{{|{{{{|||}||{||{{{z{z{||||||||{|{{{{|{{|{{}||||{{||{{{||}}||||}{{||{{{{|||{|}|{{|{|||{{|{{|{{|{z{}}{{|||||{}||{{|z{{{{{{|||{}}{{{{{z{{{|||z|}{{{|{{z{{{|{||}~}~~~~}~}|}}|||}}|}}||{}}{||{{{{||{|||}{}{{{|{{{{|{{|||}{|{z{{{z||{{||{}{{{{|{{y{{{z|{|{{|{{|zzz{{||z{|{{z{z{{{z|{|{||{|{z{|z{{{{{{|{||{|zzz{zyz{||{{{{{{{z{{zz{z{|{z||{{{{|z{zz{zz{z{{{{z{{{{z{{|{|{|||{y|{{{{{{{|{{{||{{|{{{{z|{||{|{|zz|{{z{{{}{{|||{{{{{{{{{{{{|||||{{{{zzz|z||||{||{{{{{{{{{|||{||{{{{{{{z|{||||{|||||{{z|{||||||{{{{{||{{z}||{||||{{z{|{{{||||||||{{{{{{||}|}}||}|{z|{{||{||||||}|{{|{||{{|}}|||}{|{{||{{|||{|{|{|{{|{{{{{|||}|{|}|{{|{|{{}|||{}||z{|{{|{{|}{{||||{z{{{{|z{|}|{|}{z{{z{{|y||}{{~~~~~~~~~~~}~|||{}|}||~}~}}|}|{||{z}|||}}|||{}|{{{||||||{|||||z|{{{|{{{{|{||{{{{{zy{|{{|||||{{{z{{z|||{z|z||{{z|{{{||z|{z{|zz{z|{zz{|{||{||{{{{{zzz{{{{{|{|{{{{y|z{{|{{|||{z{zz{{z{{|{{{{{{{{{{{yzz{|{z||{{{{{|{|{z{||{|{|||{{zzz{{{|||{{|||{z{{z{{{{{{{|{}{z{{{|{z{||||||||{{}|{{z{{|{||{|{{{{{{zz{}{|{|||{{||{{{{|||{{|||{{{{{{{|||||{|}|{|{{|{{{|||||}|||{{|{{{z|}|||}|||{|{||z{}|{}||||{{|{|{||z||||||{||{|{{{{{||}||||}{{|{{|{|}|||||{|z{|{{{{{}}|||||{{{{{|{||{||{|{|{{{{{|{{|{{}|||{|{{{|{{z{|{{{|}{{{|z{|{|{|||{~~}}~~~}~|||{{|}~|~}}||||||{{|{}||||}}||{{{{z{z{{||{{{|||{zz|{y{{|{||{|{{{{{zz{{{{|{{{{{zzz{{{zz{|{{}|{{{yzz{zz|{{|{|{{{z{{zz{{z{z{{{||{{zz{zz{{||{}}{{{z{zzz{{{|{|{{{z|{{zzz{zz{{{||}{{{z{zyz{{|z{{|||zz{|z{z{{{||||}}{{{z{{{{|{{{|{}}|{{{z{{z{|{|{{|{{|{z{z{|||{{{{{{z|{z{z{z{{|||{{|{{|z{z|{|{|{{|}|{|{|{z{{{}|{{||{zz|z|{{z{||||||||{|{{z{{{|||||||{{{{z{z|{|{||{|{}{|{|{{z|||||}||}|{|{|{{z{||}||}}z|{{{|{|}|}|{|||{|{|{{|{|||||}||z{{|{{|{{|{|{|||||{{|{{|{||{|{|{z{|{|{{{{|||{||{z{{{z{{z||{{{|{{{{{z{{||{z|{~}~~~~~~~~}}}|{|{}}|}|}|}|{{{|z|||{{}|{||||z{{zz{z{|||||{|{zz{{|z{}|{{||{z{{{{{{z||{{{|{{{z{{{y{z||{{{{|{|{{{z{zz{{z|{{||{zzz{{zzz{{{z{{{{{z{{zz{z{{{||||{{{{zz{zz|||{{|{{zz{zz|zz||{z{{{{z{z{z{{{|{z{{{}{zz{{{{z{{{|z{{|z{{|{z{{{{|{{|z|{{{{{{{{|{{|{{{|{{{z||{{{|{{{||{{z{{{{{{{|{{|}{||{{{{{{z{{|{|{||{{{{{{z|{{{{{|||{{{{{z{{|||{|{|{z{{{{{||||{|{}{|{{|{{{{z||}||{|||||{{{{{|{|{|{}|{|{|}}|{|||{}{}}{|{{{z{{{|}}|||||{{|z|{||||||{||}|z{{{{{{|{|||}}{{|{{{{{||{|{}|}|{|z{{{{{{{{{{}||{{|{{z{|{|||{}|{{{z{z{z{{||{~~~~~~~}}}}||}|}|}}|}|||||{{||{|}||{{|}|||{{|{{z||||{{|{{z{{{{{{|{|||{}{|{z{z{{{|||{|||{{{zz{{{{|{{z{{{{{{z{{{{{{{{{|{|{{{z{{{z{{{{|{{{{{z{z{{z{|||{||||z{{z{{{{|{|{{{|{z{z{{{{{||{{{{{{{{z|z{{z{{{{|{{{{{{{|zz{{|{|||{|{{zz{{{{||{{{|{|z|z{{{{{{{||{||{{|{{{{|{|||{}|||{{{{{{{{|||{|{||{{|z{|z{||||{|{{{{{z{{|{|{|{{||{z{{z|{{||||||{|z||{|{|{{||||{|||{{{{{z{{||||||{}{z{|{z{}}||{}|||||{{{|{||||{}|||{||{{{{|}||||}|||{{{{{||{||||}{|{{||{{{|{||||}||||||{|{||{||||}|{{z{{|{||{{||}}{}{{{{{z|{|||{|||{|{{{{{|||||~~~~~~}|}||}||}}|}}~||{|{||{{|||z||{{{{{{|{|{|||}{||{{{{{z{{z|{{||{{}z||z{{{z{|{{|{{{{{{zz{z{{{|{{{{{{|z|{z{zz{{{||{|{{{z{zzzz{{{{|||{{{zz{zz|{z{{|||{{zzz{{{{|{|{|{|{zzz{zzy|{|{{{{{|{{zz|{zz|{|{}{|z{{z{{z{{|||{{{{{{{{{z{{z{||{{||zz{|{||{{||||{{|z{{{{z{{|{{||||||{|{{z{{{{{|{|{{|{{{zz|z|||{|||||zz{z{{{||{{|~|{{z{{|z{{{|{|{}{|{|{{{{|{{|{|{{|||z{{|{z{|}||{{}||z{{{{{z}||{{{}|||||z{{|||||}||}}{{|z||z|||{~||||{||{{{|{|{||{||}|{{z|{{{||{||||||{||{{|||{{{|}|||{{{{{|{}||||{|{|{{{{{{|||}{{||{z{{{z{z|{}|{~~~~~}~~}~|{|}|||}}~|||||{z{z{|{{|~{||{||{{{{{{{|{z||||{{z|{{{|{|{{||{zz{{zz{{{{||z{{{{{z{{{{z{|{{z{|{{{{{yz{z{{{{{{{z{z{zzzz{{{{z{{||{z{{y{z{{{{z||{{zzz{y{zz|{{{||{{{{zz{z{{z{{{z|{{{{{zz{{{{{zz{|{|{{{{z{z{{{{|{{||{{{{{zzz|{|{{{||zz{{zz{z{{{{{||||z{{z{{{|{{||{{|{{{{{{|{{{{{||}{|z{{{{{z|{||{|{{{{z{zzz{|||{{||{{{{{zz||{|{{{|||z{|{|z|{|||{|{||{{z{{z{{{||}||{|{z{{{{{{{|{||||{{z{z{|{{{}|||||}|{{{{{|{|~||{|}|{{||{z|{}{|||||{|z{{|{{||||||||||z{{z{{{|{{||}{|{zz{z{{z{|{|{||}|{{{{{{z{|{{{||||{{{{{{{|||{{~~~~}}|||z}|}|}||}}|}{||z|}{|||{||||{|}z{z{{{|{|{|{{{||{{{{{{|||{|||{{{zzz{yzz{{|{|{{|z{{{{z{{z{z{||{{zzz{z{{z{|z{{{zz{{{z{zz{|||{|{{{zzz{zzz{{{||z{{{z{{{{z{z||||||z{zz{zz{{{|{|||||z{zz{{{{{z{{{{|{z{{y{{z{{|{{{||{|{zz{{z{{{{||{}{{{z{{|{{|{{z{||z{{{{{zz|{{|z|{}|{|{{z{z{{|{{{|{{{|{{{z{{||{||{{|z{{zz{{|{|{{{|{|{{|{{{{||{|{|||z{z|{z||{|{|{||{|{z|{{zz|}||||}{|z{z||{z{|{|{|||{{{|z{{|||{||||}|{{||{{{z|||}{||{{{{{{{|{{|}|{|}{z{|{|{|{{{{|{}||{z{{{{{|{z}|||||{{z{{{{||{|}{||{{z{{{zz{{|{{}{|{z{z{{{{|{{z|~~}}}|}||{{|}|}|}}}}||}{{{}||{|||{|||{z{{{{||||z|{}}{{{{{{{{{|{{{{|||{z{z{z{|{{{||{{{|yz{{{{{{|z||{|z{{y{z{{z{{{{|{{{{{{zzyz|{{{||z{{zzzzz{{|{z|{{|zz{{z{{z{z{{|{||{zz{|{zz{z|{|||z|zz{{{zzzz{{{|{{{{z{||{|{{||z{{|{z{{|{{{{{|{{|{{{{|z{z|z|{{{z{||{{zz|{z{|{|{{|{|{{{z{{{{{|||||||{{{{{|zz{{|{{||||{{|{{{{{||{||}{|{{{{{zz{|||||||{|}{{z}z{|||{||}{{{z{{z|{}||}||{{z{{|{|{{|{{|}}|{||{{|{{||{}|||}}{|{|{{{|}|{||}||{{|{z{z|{||||{||{{{|{|{|{|||||}{{|{{|{{}|||||||{{|z|{{{{{{|{|}|{{{{z{{{||{|||{||{{z{{z{||{{|}}}|}|{|}|}|}~}|}|{|{||}{{|||{|||{{{}{z{{{|}|{{}{|{|z{{z|{|{|{||{{{|{z{{z{{|z||{{||{{zzzzz{{{{|z{{{{zz{zz|{{{{z{}{{zzz{z{{{{{|{|{|z{{zzz{{{{z{{{|z{{{{zzz{{{{{|||{z{{{zz{{{{z|{{{{{zz{{z{{z{{{|{}{z{{zz{z{||{{z||{{{|{{z{{||{||{|{z{{{{|{|||{||||z{{z{{{{{|{|{{|}{|{z{{{{{|||{|||{|{|{{zz{|||{|||{{{{z||z||||{|{{{{|{{{{{{||||||||z{{{{{||{{|{|{|{z{|{{{|{{{||||{{{|z{{{{}|{{||}|{|{z|||{||||||}||z}{{{{{}|{|||||{{|}|z{{|||||||||{{{|||{{|{|}}}}|z{|{{z|{{|{|}|||{{{{z{{{{}}{|}||{}{{{{{||{|z|{|z{{{{{z{{{}{|~~~}~}}}}|}{}|}}{||~|}||{{{|}||{||}{||}||{{|{|{|||{|}||||z{zzz|{||{||||{{{z{zzz||{{{|{{{{zz{{{{{|{||{{{|{{z{{{{{{{|||{z{z{{z{z{{{{{||z{{z{z{|{|{|{{{|{|{{z{{z{{|{}{}{||{z{z{{{|{{{{||{{{{{{zz{z{||||{|{{{{{{{z{{{|{|}|{{{z{{z{|{{||{{|{{{{{z{|{|z{|{{}{{{{|z{{||z{{|{||{|||z{{{||||}{|{z{||{{{||||||{||{z{{z{z|{{{{||}{{{||{{{{{|||||{{|||{{{{|}|{||||{{|{{{{z||||{{||{{{||z{{}}||{}|}{|{{{{|{|}||||||}{{|{{{{||{|{|}|{{||{{|{{{}|}}}}{|{|{|{{|||{}|{||{|{|{{|{||||||||{{{|{|{||{{}|||||{{z|{{{||}{{||{{|z{{{{|{{{{~~~~~}}}}||||||}|~}||}||{z||||{|{}{||{|{|z{{{{{|{{|||{z{z{zz{{{}{|{||{{{zz|{{z{|{z{|{{|zz{{zz||}z{||{|{z{z{{z|zz{||{{{z{{{{{z{{{{{{{zzzz{{{z{{|{||{|{{{zzz{{z{||z{{|z{{z{{{{z{{z{{||{{{zz{{{{{{{{{{{|zz{z|{{{{{{{{{|{|zzz|zzz{|{{||||{{{{{z{{|z{|{{{|{{{{{z{{{{{|{||{{{{{|{{{{{{{{}|{|z{z{{{{{{{|{{}|{{|{{{zz|{{{{||{{{{z{||z{{}}|||{{{z||{||{||}{||||{{{|{|{||||{{}{|{{{|{{{{|||||}}{{{{|{|{|{||||}||||{{{{{{}|||||}|{||z{z|||||{|||{|||{{{||{|||{|}{|||{{||{||||{||{{{{|{{{{|||||||{{{z{{|{{{{||{}{{|{z{{zz{z{|}~~~}}}}|||}}}}|}}|{|{|{{||||{|||}}|{{{{y{{|||{{|||{{|{{{z{||{||||zz{z{z{z|{|{{|{{{{{{|{z{{{|{z|{{|zzz{z{{{{{{{{{{z{zz{{{{zz|{|{{{{{{zz|z|{z|{{|{||{{zzz{z{{{{{z{|{z{zzz{zz{{{{{z{zz{{{zy{zz{z{|{|{z{{{{{z{||{{|{|{{{z|zz{|{{z{{}||{{{z{{{{{{{|{{|{{{{{{{{{{||{|{|{z{{{{{{{{||{|{{|{{{z{z{||{{{||{|{{{zz{z{||{z||{{{{{{|{{{}|||{{}{{|z{{{{{{||{|||{z||{{{{{{||||||z{{{{z{{||||||||{{{zz{{}||{|||{||{|z{||{|}||||}{{y{|{{{|{{|}|}}||z|{z|{{|{{|{{|||{{{{{{|}|z|||}|||{z||{{||{{||||{{z{{|{z{||{{||{{{{z{z{{{{{{{~~~~~~~~||}|||||}|}}|}|}|||{{{{|{|||||}||{{{{z{z||{||||{||{y{zzz|{{{{{z|z{{{zz{zz{|y{{||{z{{zzzz|{{z{{|zzzzzz{{{|{z|{{{{zzzz{zzzz{{|{{z{{z{zzzzzzz{{{{{{{z{zzz{zz{|{{{{{{z{z{{zzz{{|z{{}{zz{{zz{|{{{|{||{{{zz{zz|{{{{{||z||z{{z{{{||{{{{{z{z{{|{{|{|{{z{{{|{z{zzz{z{{{{||{{zzzzz{z{{|{{|{{{{{{{{||||{||z{z{}zz{z|{|{{{{||{{{{{{{{{}|||||z{z{{{{{{{{{z||{{|{{{{zz{||||{||{{|{|{{|{}{{|{||{z|{{{|{{|{{||}||{{{{{{|{|||}|||||{|z{{{|||||{|}{z{z|{z|{|{||||||{{|{|{{||||{|||{{{z{||{{||{{||||{z|yz{|{|{{z|}|z{{y{{{z{||z{~~~}}|}}||}|}|}~|}}|{|{}{||{|{}||||z|{z{{{{|{}z{}{{{{zz{{{{{{|{{{{z|{zzz{z{{|{|||{{{{{{zzz{{{|z{{{{{z{z{{z{{{z{{||zzzzzzz{{z|z{{{{|{z{y{{{z{{|{z{{{{zzy{z{|{|{|{||{{z{z{zzz{{{{|{|zzzzzzz{{{{|{{{{{zz{|{{{{|||{{|{z{{{{z{z{{{z{|||z{zzz{{zz|{|||{}|{}{{{{{{{|{{|||{{|z{y{zz{||{{|||z|{{{z{{}||{|{|{|z{{{{z{|{{{|{||{{{{{z{|{||}|}|{{{z{{||{{{|{|||{{{||{z{|{||{||{{{zz|{|{||{|||}||{{{{|||z|{||}|||{{z{|{{|{|||||{|{{{|{{{}||}||||{zz{z{|{||{|{|}|{{{{{{{{{|||||{}||{z{{|{||{|{|||{|{{{z|{|{{|{|{|{{{z|{{z{||z{~~~~}|}||}}||}|}}}|||{{||{||{|||}{{{|{z{{{||{||{|}||{z{{zz{{{{}||{{{zzz{z{{z{{{||{|{z{{{z{{|{z{{{{z{{{{zyz{{|{{|{|{z{zz{{z{|{zz||{{zz{zzyz{z{{||{||z|zzzzy{{{{{{{{{z{zzz{{zz|z{{z|z|{z{zz{{{z|{|||{{{{{z{{z|z|||{|zzz{||{{z{{|||}}{{|z{zz{||{{||||{{z{z{z{z{{{{||{|{{{{z{zz|{{|{{{|{{{{{zz{||{{||{{{z{|{{{{|{|z||{{{|{{{{{|||}||}|{{|z{{|{|{z|{|{}{z{{z{{{{||||||{}{zz{{{z|||||||{|{|{{{{||{{|||||}{{z|z{|||}|{|{||{{{{z|{|}||||z||||z{z{}{{|{|||}||z{|{{{{{||}|{}{{{z{{|z{|{{|||{||{zzz{z{||||{|{{{{{z{{{{{{|{}||||}||{||||}}}}}{|{{||z|}||||{||{|{{{{|{{{||z{|{{{|{|zz|{|{z|||{z|z{z|{z|{z{|{{z{zy{zzz{{|{{{}|{{zz{z{z{z{{{{{{{z{z{zzz{{{|{|{z{{zz{z{zz|{{{||{{|{{z{z{{||{{z||{{{{z{zz{{{{{{||{z{{{{|zz|zz{{{{{{zz{|{{{z|{|{|{{{zz{z|{z{{}{{{{zz{{{z{z{|z{{|{|zzz{zz{z|{{{{{||{|z{{{{z||||{|||{{{zz{z{||{{{{|||{{{{{{{{||{z{{{||{{{{{{{z|||{||{{{{{||{z||{{|||{z|{{{z{{||||||||{{{{z{{||||{||}{z|{{|{{|{{|||}}|{|{{{{{{|||}||{|z||{{{{|{{|{|}||{z|{{z{{|}|||}||{|{{{{||{|||||||||z{{{{{{|||{}||{z{||z{{|z||{||{{{z{{{z|{{{{~~}}|}}}|||~||}}}|}||z||{{}{{||}}{{{|{{|{|{{}{|{||{{{{z|{{{|{{{}||{{{{z{z{|{||{{{||z{{|{{z||{{{|{{{z{{{{z{{|{{{{{{{zz{y{{{{{|{|{|||{{{{{y{z|z{|||{z{{||z{z{{{||{{z{z{z{z{zz||z{|{{z{zzz{zz{|{{{|z{{|{{{{{{{|{z||||{{{z{z{{|||{||{|{|{z{{{{{|{{{{||{{{|z{zz|{{{||{|{{{|{zz{{{{|||||{{z{{{{{{|{{{||{|z{z{|{{{{|{z{|z{{{{{|{{{{|||||{|{z|{||{{||{}{|||{{|{|{{z{{{|}|{|{{||{{|||{||}|{|{z{{|{|z{|}|}|||z{|||{{|||}|||||||{{{||||}}{|}|{z{{|{|{{{{||}|||{{{|z|{||||||||{|{{{|{z{|{|||{{{{||{{{z{{|z}||||{|{{{{z|{|{{~~}~}~{}~}|}}}|}}|||||}|{||}{|}}|{{|{|{{{{|{{{||{{|{{{z{z{z{{||}|{||z{{{z{{{{{|||{{{zz{{{{|{{{||{{{||zz{z{z{{{|{{{{z{{{zz|{|{{{{{{{zzz{{z{{|{|{|zzz{{{{zz{{{{{|||{|{{zzzzz{{{|{{z{zz{{{{{{|z{{{|{{zz{||{{{{{{||||{{{{{z||{|||{||}{|{zz{{{|{|}{|||{{{zz{{z|{{{{||||{{{{{||z|{|||{{{{{{{z{{||||{|||z|{{{{{|{{{||z}{|{{z|{{z{|||||||{{||{|||||||||||{{{{zz{{{{|||}|||z{|{|{{||||{}|}||{||{|{||||{}}|{||||{{{{}|}|}}|{||||{{{|||||}}}|{{z|{{{|||||{|}{|{|{{||||{||||}{||z|{{|{{||{||||{{z{{{{{||||}|||{{{|z{{{{||{}}~}}|||}}}~}}}~{}|{{{||||||{|||{{{{{}{|{||||{{||{{z{{{{{{|{{}|||zzz|{{zz{{{{{{{{{{z{{z{||{{||{|{{{zz|z{z{z{z{{|zyz{{{{{{{{{{{|{||z{{{z{{{{{||||{z{z{{{{z|{|{||{yz|{zzzzyz{{{|||{z{z{{zz|{{zz{||{{{z{{zz{z||{{|z|{{{zz{z{||{{|}|zz{zz{{{{{{{|||{z{{zzz{z{{|{{{{|{z{{{{|z{{{{{{||{zz{{{{{|||z|{|{|z{|z{{{{{|{|||||zz|{|{{|||}||{|{{{z||{{|||}{}|{|{{{{{zz{||||{|{|z{{z{{{{|{|||||{{|{{||{{}{{|}{||{{|{{{{|||||{}||{|{|{{{{{|||}|}{{|{{{{{||||||}}|||||{{z|||||||}|{{z{{{z{{{||{}|{|z||{{z{|||||{{|{{{{{{|{|{|{}{}}||}||}|}||}||{z|{{{|}|}}}||{{{||{{||{|{{|||{{{z{z{|{||{{{|{{{zz{{y{{{{{{|{{{{zz{z{|||{{{{|z||z{{z{{{{{{{{||{{{zz{z{|{z|{||{{{{{{{{{|{{{{}{{{z{{zz{{{{{|||{{{zzz{z{{{{|z{{{{z{zzz|zz|{{||{|{z{{||{z{||||{|{{{|{{{{y{|{{{{{{zz{zz{{{|{|{{{|}{z{{{||zz||{{{|{{z{{|z{{{}{{{{{}|z}{z{z{||{|||{{||{{{{{{|||{{{|||y{z{{|{{{||||||z{|{{{{{|||{{|}{|{{|{{{|{||||{|||{{|{{{z|||{|||||{{{{{{||}|}|{|{|{|{|{{{{~|}|}|{|{||{||{||}|}|{|{{{|{{{{|||{|{|}||{|||z|||{}|}|}{{{z{{{{|{{|{||||{{{{{{||||{{|||{{{{zzz{{{|||~~|||}{}}}||}}}}}}||{{|z{|}|{}|{}|||{|{{||{{|{{||{{{{{{{y|||{|{}|{z{z{zzz||{{z{|||{zz{{yz{{{{{|{z{{{yzzzz{{z{{z|{y{{{zz{z{{|z|{|{{{|z{zz{{{{{||{|{{{{y{zz{z{{|||{z{z{{z{z{|{{{|{|{{{z{{{z{|{{|{{{{{{z{{zz{{{|{{||{{{z{zz{{{{{{{{{zz|{{z{z{|{{{{{|z{{{{z{zz|{{|{||{z{{|z{zz||{{|||z{|{{{{z|||{{{||{{{{{{|{|||{{{|{z{|z{{{|{||{|{||{||{{||||||}|{|}{{{{z|{{|}{|{|{||{zz{{{{|}||||}|{{|{|||||z||}}||}{z{{|{{{{{||||}||{{{{|{||||{||||{z{{{|{{}}|||}|{|z{{{{z||}||||{{{{{{zz|z{{|{}|}||{{{z{{{|||{||||z{{{zzz{|{{{~~~~~}~|}|}}}|}|}}~}{|{{{|{z}|||{|}||{z|z{{{{{||||{|{}zzz{{z{|{{|{|{{{{zz{{z{||{{{z{{z{{zz{||{{{{|{{{{{{z{{{z{{{{{|{z{|{{{{z{{||{{|{{z{{{zz{{{{|{||{{z{z{{{z{{{|z{|{{{zz{{|zz||z{z{{{z{{{{{{{|{zz{{|{{{{z{z{{{{{|{{}|{{z{{{|{{{{|{{|{{|{{zz{|{|{z{{}{z{{z}|{|{{{|{{|{{|{{zzz{{{|{||{{z||{{{z{|}||}{{{z{{{|z{{{{z{{{{|{{{{{{{{||{|||{zz{{y{{{{|{|{|{|{{{{{{{z{{|||||||{{{{{}{|{|}|||||{||z{{|||{||}}||{{|{{{{{}{|{}||}||||{{|}{{{||||{{z{z{|{}||||{||{z||{|{{{{|||||{{{|{{{{z{|{|{{}|{{{{{{{{||{{{{||{{{{z{{{|{||{~~~}}||{|}}||}}|}}||{{{{{|||{|{|}{|{|{z{{{{|||{|{|z{{zz{{yz{{|z{{|{{zzz{zz{z{{{{{{{zzyzzz{{z{|{{|{zzz{z{zzz{{{|{{{{zzzz{zz{|{{{z{z{z{z{{z{{z|{{{|{{z|z{z{{{{{z{{|{{{{z{{zz{{zzy{{{{{z{{{{zz|{{{|z|{zz{z{{z{{{}|{|{zz{yzz|{|{|{{{||z{{zzz{{z{{z{z{|{{zz{z{z|{|{{||{z{z{{z{{{{||{{||{{{{z{zz|{{|{|||{z{{z{z|{{{{{||{{|{{{{{{{||{{|{|{z{{z{z{|||}{}||{z|{{{{|{||}|{|{{{||{{{{||{||||||||{{|{|{|||||{|{{{{{{{{|{}{}||||{{{{{z{||}|||||{{{{|{{zz|||{{|}|{{{{{{{{{|{{}||||{z|z{{{|{{{{||{z|{{{{{{{|{{{|{{{zz{z{{|{|{z~~~}}}{}|}|}}}}|}}||||{|{{{{{|{|||||{{z|{{{|}{||||{{{{|{{|{{||{}|{{z{{z{|{{{{{|{{|{{z{z{{zz{|}{{|{|{zz{{{zz{{{{{{||z{{{z{{{z{{|{{{{{{zzz{{{{{{{{{|{|z|{z{z{z{{{{{||{z{{{zzz{{|z{|{|{zzzz|zz{{{{{|||zz{z{zzz{{{|{{||{z{z{{{{{{{{|{||{z{||{{z{{{|||}||{{z{{{{{{{{{||{{{zzzz{{{|}{||||{{{|{z{{{{|||||{{z||z{y|{|||}{||{{{|{{{{{{|{{||{{{{{{{|{|{{||||}{{{{{{{{||||||}}|{{|||{||||{}|||}z{{{|{}}|{{||}}||||z|{z{|{|||}||||{|{|z{}|||||{{{{{|{{{|{{|||||||{||{|{{|||{{||{{{{{{{{{{{|||{||{|{{{{||{{||{{}{{{{|{zz||{{{~~~~~}~}||{|}|}|~}|||{{{{{{{{||}z{||{|{{{{z{||{||{{}|{{zzy{zz{{|{{{{|z{{yzzzz{z{{{|{{{{zyzzz{z{{z|{{{{y{y{zz{z{{|z|||{{zzzzz{{{{{{{||{{zz{zzz{|{{{{{{z{{zzz{{{{|{z{{||{z{{zzzz{zz{{{{{zzyzz{yz{{{z|z|zz{zz{yz{{{{{{||{z{{{zz{{{zz{|{|zz{{z{{{y{z{{|{|{z{{{z|{{||{{|{|{{{z{z|zz{{|||||{z{|{{z{{{||{{|{{z{z{zz{z{{{{{{|{zz{{{z{|{{{|||{{|{{{z{{{|{{{||{{{{|{{{y|{|||||||z{{z{{{||}z{||}{z|zz{||{||{{{||{{{{{{z{|}|||{}}{z||{|{{{}}|{|}|{|z{{{{z{{{{||||{{z{{{z|z{||{|{}{{|{{|{|{{{{{|{|{{{{{z{{{{z{|{||{{{z{{{z{{{{{~~~}}}}||||}}~}}|}~}{|{}{||{||||}{|{z|z{|z{|}|}z{||||{y{z{z{|{{||{|zz{z|z|{{||z{{|{{z{{{zzz{||{{{{{{{zzz{{{|{{{{|{{zz|zzz{z{|{z{{|{{{{zz{z{{{{|{{|{{z{zz{zz{{{{{|||{zz{{z{z{|z{|||{{{{zz{{zz{{z{|||zzzzzzz|{{{|{{||||zzzy{z{{zz{{||{{|{zy|{|{{{z}||{z{{z{z{||{{{||}{{zz{{|{{|{{{{|{{z{{{z{z{{{{{||{{z|{{{z{{|{{{|{{{{{{|zz{||}|{|||||{{{{{{|{|}{|}|{{{{zzz{{||||||||zz{{z|{{||||||||||{{{||||z|}|{|{{{||{|{{|||||{||{|{{{|{{||{||{|||{{{{{{{|z{}||}|{|{|{{{|{{|||}|{z|{|{z{|{{}|||{{|{|{{{{{||{|{||{{{{{{{z|{|{|~~~~||}{}|||}|~|}}}{|}{||{||||||}}|z|{|{{{{|}|{{{|}{{{{{|{{{||{|{}{{{{{{{zz|{{{|z||z{{zzyz{|{{{{{{z{z{{zz{{{{|{{{|{zzzz{zzz{|{z|{{{||zz{zz{||{|{||zz{zz{zz{{}{{|}|{{z{{{{z{{{{{|{{{zzz|{{z{|{{z{{{|{{z{zz{{z|||{||{{{z|z|{|{||{||||z{{{{{{{{||{||||zz{zz{{{||||||||{z{|{|{{||{{|||}{|{{{{{{{{|{{||{{{||z{{|||{|||||{{{{{{{|||||}}{{{|z{{||||{{||{}{|{}|{{{||||||||}{|{{|{||{}||||||z{{|}|{{||||||||{|||z{{|||}|||||{{z{|{{||{|||{||{zz{z{{{}{{||||||{|{z{||{{|||||{|{{{{{{|||||||||{{{{{{||||||{{||{{{zz{{||{{{~~~~|}}}}{|}||}||}}}||{|{{|{{|{{}||||z{{{zzzz|||{|||{{{{zz|{|{||{}{{{zzzzz{{z|{z{|{z{{{{zzzz{{|{||z{{{zz|{{{zz{{z{{{zz{zz{{{z{{{{{{z{zz{y{{z{{{{{{|{||{{z{zzz{|{{{{|{{z{zzzz{|{{{{{{{zzzzzz{{{{{{{{|zz{{{{{z{|{|{|||z{{{{zzz{{{{{{}|{z{zzz{z{|||{|{|z|{{z{{{||{||||||{{|z{|{{|{|||||{{{{{zzz|{||}{|||y{{{{z{{z|{{{{|{{{{||{|{|}||{|}{|{{|{{{|||||{}{{{z{|{{z|{|||{|||{{{||{z|}|||}{||{{|{{{|{|{|||{|}}|{||{{||||{|||{{||{{z||}||||}||{{{z||{|{{{{||||{{{{{{||{|{|}|}|||z{{|{{{{{|||{|{{{|z{{{||}|||{||{z{z{{{|{{{~}~}{|}}||{|}}}}}}|}||{||{z|||||{|}{{{{{{z{{{{|{|||||{z{{{zz||{{|||{z{z{{{z{{{z||}{{{z{{{{{|{{z{{{{zz{{{{z{|{{|{{|zz{zzz{{{{{|{|||{{{{z||z{{{}{{|{{|{{zz{{{{{{{||||{{{{|{z{z|{{z{{{{zz{zz{zz{{{||{{{z{{{{|{z{{||z{{{{{{{{{{{{{{|{|}{zz{{{{{{{{|{|{{z{{z{{zz{{|{|||{{{z{{z{{{|}|{||{{{{{{{{{{{|{{|}|{{{{{{z{{}||{||||||{{{{{|{|||}||{{{{{|{{||{|{||||{{{{z{{|||||||}|||z{{{{|}{}|{|}{||{z||z{|||||||{||||{{|{}|||}|}|{{{{{|{}}||||||||||||{{{{||||||{{{{{{|{{|||{}||z{|z|{{z||{{|||}||z{|z{z{|||{|z{{{{zz{{{{||||~|}|{}}|}|}}}}}}||||{{|{{||||||{||z|{{{{{{||||{||{z{{{{{{}{{{|{|||{|{{|{z{||z{||{zzz{z{z|{||{z||{{{{{{zz{|{|{{{||{zz{{{{||{|{|{|{z{z{z{z{|{{{||{|{{{{z{z{{|||{{||{zzzzz{z|{{{{{|{{|zz{zz{z{{{{{||{{|{{{{{{||{{{{|{|{z{yz|||||z||}|{{{{z{|{{{{{{||{z|{z{{{{{{||}||{z{|{{{{||||{{}|{{{{{{|{{|||||{{|{{{{{{{{|{{|||{{{{{{|{{z{||||||{|z{|||z}|}||||{z||||{{{z{{{|||||z{|||||{}{|||||||{{{{|{|}|||}|||{{{|z{z{}||||}|{|{{{{{{|||||}}|{{{||{{{|{||{|}|{{{{{{||||{|{||}{{{{{z{{{||||||{|{{{{|{{|{||||||{z{{{z{z{|{{}~~~~~~~~}||||{{}}|}|}}}||z{{|{|{{||||||}z{{z|zz{{{||||{{|{z{{z{{{|{{|{|{{{{z|{{{z{{z{||{{zzzzzz|{{{z|{{yzzzz{y{{{{|{|{{{{zz{zz{|z{|{y{z{{{zyzzz{{|z{{z}|z{z{{{z{{{|{{||yzz{|zzzz{{{z{{{|z{{{z{z{{{{|{{|{{{z{{{zz{|{{{||{{{{{yzz|{{{{{||z{z{z{z{{{{{|{|{{{|zz{{z|{z||{|{||{z{z{{{{||{}||{zz{{{{{{{}{{|{|{z{|{|z{|{|{z{{|{z|{{z{{{|||{{{|{{z{{{{{|{{|{||{|zz{{z{||{|||||||{{z{{|{{||{}||}{{{z{{{|{}{|{|}||{{{{}|{{||{{||}|{{{{{z||{{{{|||||{{|{{{|{{{}|||||{|{|{{||||{|||{{|{y{|{|}||{|{|||z{zzz{|||||{|||{{zz{|{|{|z{~}}}}}}}}|||||}|||{{z|z}{||||}||{{|{{{{{||{{|||{{{zz{{z{{|{|||{{{{{{{{z{||{{|{z{{|z{{{z||{{z{{{z{{{{zz{{{{{||{{z{|z|{{{||{{{{|{{z{|zz{{{|{{{{{{|z{z{{{zz|{{|{|z{{{{y{{z{{{|{{{{{{{y{z{zz|{{{|||{{z{z{{z{||||{||{{z{{z{|{||{z{{||{|{z{{|{{|{{||{zz{{z{{{{{{}|{||z{{z|z{{z|{{|}{{{{{{{{z{{|||{|||{{{|{z{|{z{{}||{{{{|{{{|z{|||{}||z{{{{{{{{{|{{||{{{z{{z{||}||||}}{{{{{{{|||}{|||{||{{{{|z|||||||}z|||{|{{}||||||{{{|z{|||{|{|{|||{|{{|{{{{{|{||||{z|||{|{{|{{{{|{|{{{{{z{|{|{}|||{{{{{{z|||||||{z{{zz{{{z{}|{~~~~~~}}}{~}|}}|}}}}}}||{{|{||||||||{|{{{|{{zz|||{{|{{{{|z{{{y|{|{{{{}zz{{z|{zz||{{|{{{{zz{{z{|{{zz|{|zzzzzz{z{z||z{|{zzzz|{zz|||{{{|{z{z|{zz{{||{|{{|{z{{zz{z{{|{{{||{z{{zz{z{{|{z{{|{{{zzzzzz|zz{||{{z{{{{{zz|{{z{}|{{{z{{{z{|||{{||{z{z{{z{{{{|{{|{{{|z{zz|{{{|{|{|{{{{{z|z||{{{{{{{z{zy{zz|{|}||{{|{|{{{zz{|z|{{|{{z{z|||z||||||||{{|{{z{{|{{||{{|{{{{{zz{{{|{{{|}{{{|{{{{|}|||}||z{|{{{{{|{||}}|{||{{y|{{{||{{|~}|{|z{|{z||||||}||{|z{|{{|{|||}{|{|{|{{{{{||{{|||{{{{{{{|{{||}|{|{{{{zz{{z{|{{{||{{{zzzz{{{{{{~~~~~~~}~~~|}{{||{}~}}|}}|{z||{{||{|||{|{{z|{zzz{{{|{||||{{yz{{z{{||{|{{{z{{z{{{{|{{z{|{z{zz{{zzz{{{{{{{z{zzzzz{{z{{z|||zz{z{{zz{{z{{{{z|{{zzzz{z{|{}{}{zz{{zzzzz|z{|{{{{z{zzzyy{{{z{{{{{|z{{zzz{|{{{{{z{zzz{{{z|{{|{||}|{{z|{z{{|{|{{||{z{z{z{{{{z{z{||zz|{{{zz|||||{{||{{z{{|{{}{{{|{{|{{{|zz{{{|{|||z{{{{{|{z|{||{{{|{{{{{{{{{||}|~||{|{{{{|z{{||{{{|{{{{{z{z||{{|{|{|z{||z{{||{||||}|{{{{{{{|}|||||||{{{{{|{{}|||||||z{|{{{||||||||||z{{{{{||{{||||||{{{{{||{}z|{{{|z{{z{{{{||{{{|||{|{|{{{z{||||{{{{{|z{zy{z|||{~~}~~~~||}||||}}||}||}|{{{{{{{|{{||{||{{{{z{{{{{||{{||{{z{zz{z{|{{|{{||{{z{{z{z{{{z{|z{z{zzzzz|yz{{{{{{{zz{yzz{z{{{|{{zz{{{z{z{{{{|{|{y{z{y|zz|z|{|z{|{{{{{|{zz{z||{{{{{{{z{z{{z{z{|{{|{zz{{{{z|{{{{{}zz{z{{zz{{{{{|{|{z{{{zz{{z{{{{{|zz{y|{{|{||{{{||{{zzzz{{{z||||||{z{z}z{{|{||{||{{z{{{{zzz{{{|{|{{{zz|{y{|||{{|||{zy{|z{{|{|{|}||{{{z|{{{{{|||||||z{{{z|z|{|||||{}z{|{|{{|||{|}||{|z{z{||||{{|||{{{{{|{{{{{{}||}||z{{{z{y}||{||||{{z{{{{|{{{|{||||{{|{|{||{{{||||{{{{{{{{|{|{{{|{|{zzz{z{{{{||{|||z{z{{{{z{|{{~}~~}~~}}~}}{}||~|}}|||||||{{||||{||{||{|{{{z|||{{|{{{|{{{{z{|{{|{{{|{}|{{{zz{z{{{{{{|{{|zzzzz{|{z{z{|{|{zzz{{z{{{{{|{{y{{{zzzz{{{|{{{{zz{z{{z{{|{{{|{{z{{{zz{z{{{||||||z{z{z{zz{{{z|{|{{{z{z{z||z{z|{|{{z{{{{z{|{|{{z|{{{zz{{z{|z{{{{|zz{z{z{z|{{{{{|{{|zz{{zy{{}z||||{{{z{{{z{|{||||{{z|z{{{z|{|{{||}|{{|z{||{{|{{||}z{{zz{{{|||}||}|z{||z{|z{}|||{|}{|{|z{zz{}|{|}|{|{{{|z}{|{|{{|}{{{{{{{|{{||||||||{z{{|{{{|{||}}|{{|{|{{|||||{|{||{||{{{{{{{|||}{|{{{|z{{}{{|{||||{{{{{|{{{{|||{||{zz{{{z{{|{{|||{{{y{z{{{||{|~~~~~~~~|~}|||}}}|}}|}}||}|{}{|{}|}|}}{{|||{z{{{}|{{||{{{zzzz{{{||||}}{z{|{{zz{|{z|{||{{zz{{z{|||z|{{{{{{{{{{{{z{{{{|{{z{{{{{|{|{{{|{{{{z{y|z|{{{|{{|{z{|z{{zz{|{{{{||{z{{{z{z{{{|{{|||z{z{{{z{{{{|||{|z{{{{{z||{|{|||{{{{z{|{{|{{||{||{zz{{{z{{||{|||{{|z{z{{{|||{{||{{{|{z{{{}{|{|{|{{z{z{{{{|{||z{||{{z{{{||{{{{||||{|{z{{{{}}|{}||{|{{||||{{{|}|}}|||||{{{|||{{||{{{{|z{{|{||||||}||{{|{|{{|||||}}}{{{|{{{{||{{|}||z{{|}}{||}||||||z{|{{{{||{||}}}|{{|||{{{||{||{|||{{|{{{|||{|||||{{|{{{{{}|{|{||{|{{{{{{{||{z~~}~~~~}~||||}|}}|}}|}}|||{}|{{|{|||z}||{|{|z{{{{{|||||{|{{{z{z|||{|||||{|{{{{{{|{{{|||{|{z{z{{{{|{{{|{|{zzxz{z{z{|z{|{{{z{{zz{{{|{{|{z{yz{z{z{|{|||||{{{{zz{{z{{{|{{|{{z{{{zzz{{{{{||z{{zzz{zzz{{{|{{||z{z{{{{{{||{{{}{z{z{z{{{{||{||{{z{{{z{zz|{{||{|{{yz{|{{{{{{{{{{|{{{{{{|{|z|{||{|{{{|{{{{|{}|||{|{{|||z{{|{|{{|{{{{{{{||{{||{}||z{{z||||~|{||||||{{{{{|z}}|||||||z{{|{|{||{|||}||||}{|||{|{||||{}{{|{{{{{||||}}}}|{|{{|z||}|||||{{|{{{{|{|||||{||{{{}|{{{|||}}|{|{z{|{|{||{||||||z{{{|{{{}|{|{|}{{z{{zz{{|||{~~~~~~~~}}|}||}}~|~}}}|}|{|{|{}{}{|||}|{{{{||zz{|{||{{|||{|{|{{z{|||||{|{{|{{z{{{|{|||{{{{{{z{z{{z{{{{{{zz{z{{{{{z{z{{||{zz{{zz{{{||{{}|{{z{zzz{z{{||{{{{{{{{zz{z{{{{|{|{{z{{zzzy{{{{{||z{z|{y{z{{{|{|{{{{z|{{z{{{{||||{{{|{{|z{{||||{||{{{zzz|{{{{{{||{{{{{{{{{{{{|{{{{{{||{{z{{|{{{|||{z{{z{{{|{}|{{||{{{|z{{{|||{{|{|{{{{{{|z|{||||{|{{{z|{|{||{||||{{|{{{{z{{||||{|{|{|{|||{|}||||}|{{||{{||||||||||||||{{{|}|||||}||{|{{|{|}||||||||{}{||{||}||{||||{{{|{{|{|{}{||}{{z{{{{{|}||{|}|}{{||{{{{{|||}||{zz{{z|{{|}|{~~~}}~~~}}~}|~||||||}|}|{|||}{|{{{|||{|{{||||z{zz{{{{{||{||{}zz{z{{z{{|zz{{|z{{{{{{z{zz{{{{|{{z{{zzzz{{z{|zz{z{z{{yz{z{{{|{|{z{{{{{zz{z{|{|{{zzzz{zz{{{{{{|{z{|{z{zz{{{|{||{|zz{z{zzz|z{{|{{z{zzz{{{{|z{{|}{z{y{{zzyy|{|{{{{z{|{{z{{{|{{{{{|{{z{{y{z|{|{||{{{{|{{{|{z||{{{{||zzz{z{zz{|{{|{|{{{{z{{z{|{{{|{}{{{z{|{|{{|{z|{||{zzzz{z|{|||||{|{{{{{{z||{}||||{{|{|zz{{|{||{}{|{{{{{{{{||{{}|}|{|{{{{{{|{{|}||{{{z||{||~{|||{{|{|{|{{{{{}||{{||{{{|{||{{|{|}|||{{{|{||||{|||||z{|{{|{z{|||{|}{{{{|{{{{{|{||{|{|{{{{zz{{}{{{~~~~}~~~}~}|~{|||{}}||}}|{||||{}z{||{||}}{{z|{{{{{z{|{z{|||{{zz{{z{{{{{|{|{|{z{{zz{{{{|{|{{{z{{{y{{||{z||{{{{zz{zz{z||{{{|{z{z{{{z{{||{{{{{zz{{{{z|z|{z|{{|{{zzzzz|{{|{{|z{zz{{z{z{{|{{{|{{zzz{|zzyz|z{||{{{{{{{zzz{z{|{||{z{{z{{zz|||{{{|{z{{{z{{{{{{||{|{z{z{{{{|||{{|||{|{|{z{{|{{{{|}|{{{{{{{z||{|{{}{{z{{{{z{{|||{{{{{{{{{{z{{|{|||||{{|{{|{{{{|}||||{{{{|{{{|{||{}|{|z|{|{{|{}|||}|{||{{{||{{{|{|||||{|{z{{{|}{|{|}}{{|{|{z{}||{|z|{|z{{z|{||{}|||{}|{{|{|{|||||||||{{z{|{{{{{||{||||z|{{z{{{|{z{{||{||{{z{z{|}{|~~~~~~}~}~}|{{{|{~||}~}~||{{|{{{|{|{|||||z{{{z{z|{|{|||{{{{zz{{{|{{{{|{|{{{{z{zz{{{{{{||{{{{|zzz{|{{{||{{|{{{zzz{{zzz{{{{y{z{z{z{{{{{||{{z{z{{zz{|{{}{{{{|zz|z{zz{{|z{|{zz{{{{zz|{{{|{{||{{zzz{zz{||z|}|{z{{{zzz{|{||{~|{{{{{{{z{|z|{||||{{{{{|{|z{|||{|{z|{{z{{{{{|{{||{{{z{z{{{{|{}|{{|{z{{z{{{{{|||}{{{{|{{{|{{{{{|||{|{{|{{{||{}|}||{{{||{|z|{||||||{{|||{z{||||}||{}{{{{|{z|}{||}||{|{|{z|{{||{|||||{{{{{|{{}||||}||{{z{{{{||||}}||}{{{{{z}{|}|{{}}}|}{{|z{|{|}||{|||{{{|{{|||{|||{||{{|{{{{|||{|{{{z{{{{z{|||{{}~~~}~}}~}|||||{}|}|}|}}}|||{|||{||||}|{||z{z|{z{|||||{{{{z{{z{{z{{{|{|||{{{{{{{z{|{{{{{|{{{z|z{|{{{{{{|{y|{{{{z{{{|{{{{{z{zzz{zz{{|{{|{{{{z{zzzz|{{{{{{}{z{{{z{{{{|{|{||{{|z{zz{{{|{||{{|z{{z{{{zz|z{|||{{{{{{zz{|{||{{{{{zz{zz{{|{|{}{}|{{z{z{{{{{z{|||{{{{{{|||{|{}||{z{|{{z|z{||{||||{{{{zz{{{|{{|{|{{{z{{{z|||{|{{|{{{|{{{{|||||||}}{{{{z{|{||{|{|||{{{{{{{z|}|}}{||{{{||{z{{||{||}||||{{|{{{}{||||}||{|{|}{{}||}}|}|z|{{z{|||}}{|}|||{|{{z|{}||||{}{{{|||{|{|{||{|}{{|{z{|{{|{|||}||{|{z||{{||{|{||{{z{{{|{{||{{}}~~~~~}~~|}}}}|{|}}|}}}||{||}}|{{{|{{||||||{|{|{{{z{|{|}}z{}|{z{zz{{{{|}||}|}|zz{{{zz{|{{{{|{{{{{|{{z{||z{|||{z{zz{{z||{{z|z|{z{zzyz{{{{{{||{{{{zzzz{{|{{{|{|{{{{{zzz{{{||||{{zz|z{zz{|{{|||{{{{|{z{y{{}{{{{{z{{{z|{{{{||{{|{{{{{yzz{z|{|}{||{{{|zz{z{{{{{{{{z{{{{{{{{{|{|{||{z{|{z{{{|{{||{{zz{{{{{{|{||{{|z{{{||zz{|||{{||{{z{{z{z{|{{|||{|{{{{{{{{||{}||}}|{{{zzz{{|||{|}{|z|{|{|{{||{{||||{{{{|||{||}|||||{{{{{{{{||||}|}|{z|{{{|{||||}|||{{|{|{||{{||{|}|{{|{{|||{|{|{|||{|{{z{{||{{{|||||z{{z|z{|{|{|}|{{|{z{z{|{|}|~}}~~|}~~}|~}~}}}{{|}}|}||}||||{|{||{{|{|{|}}}}{{{z{z}|{||z{}|{|{zz{zz|{|||{{|z{{{{z{zz{|{|{{|{|{{z{zz{{{zz||{{{{{y{zz{{|}{z|{{{z{zyzz{|{|{|{||zzzzzz{{{{{{{|{z{z{zz{{{{{|{{{|{{{{zzzzz|{{{{{|{{{y{z{y{{{{{{{|{|z{{zzz|{|{{|}{{z{{{z{{{{{{|{||zz|z|{zz{{{{{|||z{zzz{{z{{{z{|{|{{{{{z{{z{||{||{|||zzzzzz|||{{|{z{{{{z{||{{{{|{||{{|{{|z}{{||||z{z{{{{|z||{|||||{{{||z{zz||{{||{{z{{{{{z||||||||{{{||||{|||{||||{{{||{{||{{||||||{||{z{{{|||{{||}{{{{{|{{{{{{|{|{{{{{{{{zz{}{|||{{zzz{{z}|||||||{{{z{zz{{{{}{{|{{z{z{{{{|}|||~~}}||~~~|}~}~|}|z||{||}}}}|}}|{{{{||{{|}}|{}|{z{{{{z{|||||{}|{{|z{{{{|{{{|}{|{z{{|{z{||{{{{{{z{{{{z{{z{{y{{{|z{zzzzz{{{{{{|{{|zzz|{{{|||{{|{{{{{zz{zz{{{{||{||{{{z{z{{{{{{z|{{{{{{{{{{{{z{{{{zz{z{|z{{{{|||{{{zz{{{{z|{{{{{||{zz{{z{{{||{|{||{{|z{{{{{{|{{|{|z{{{z{{|{{|{||||{{{{{{{z{|{{||||||{{{{|{|||{{||||zz{|zzz{||{{|||{|{{|{z{|{}||}||{zz||z{{||}||{||{z{{|{{{{||{|||||{|{|{|{|}||||||{|{||{{{}|||}}}||||||{|{{||||}}}|{{{{|{||||||{|||z|{|{||||{{||}}|{|{||{|||{|{{|||{{{{|{|{{{|}||||{||{{{{|}{|||||{|{{{{{{{}{|{~~}~}~}}}}|}}~}|||||||||~}|||~||{{|||{|}|{|}}}|z||zz{{{{{{{||}|{{|zz|{{|{|z|{}z{{zz|z{{{{z{{{{|{{{{{zz{{{z{{{|{z{{zzz{{z{|{{|{{{z|z{zz{||||{}{{{zzzzz{{z{{|{{{{{{zz{{{{{||z{|{{zzz{z{z{{z{z{|{{zzz{|{z{{z|z|{|zz{z{{{{{{{{|{||{{{z{||{||z|{{{||z{{z{{{|{||{|{||{|{{{zz||||{|{{{{|z{{{z{{|{{{{||{{{z{zz{||{{{||{{z{z{z|||{|{}{}||{z{{z{{{{}||{|{{{zzz||{|{|{|||{|{{{z{{{|{|}||||{{{{{{{|||{|{}}|z{{|}|{||{{|}|}|z{{||zz{}||||}{|{|{{|{||||||||||{{{{|{{{|||{|}||||{||z|{{{|||||{{|{{{{{{{}||{{|{{{{{{{{||{||{|{|{{z|{||{||||~~~}}}}}~~|}}~}}|||}|}|{}}||}}}|}|z{{||}{|{}|{{{||{zz{{z{{|||{||{{zzz{|{{{|{{|z{z{zz{{{{|z{{|||{{zz{{zz||{z{{{{{{zzy{z{{z{|{{{{{z{|{z{z{{{|{{|{|{{z{{{{|z{{{{{|{z{{zz{{{z||{{||z{zzzyz{zz{z{{{{z{zz{{{zz{{{{{||{{{{{{z{|zz|{|{||{{{{zz{{{{|{|{|zzy{{{zz{{{{{|{|{{{{z{{{{|||||||{{{{{{{{|{|{||{|{z{{{{{{|{{{|||||{{{{{{{{|{{{||||z{{{||z{|{||}{|{{{{z{{z||{|{{}||{{||{{{z|}|}{|{zzz{||z{}|{z||}|{|{y{{{|{{{||||{{|{{{|{{{||}|||}|{{|{{{|{{|{||||{{{||z{{{|}{{{}|||{{{|{|}{||{|{{{{{{{|z{{||{|{}|{{z{|z{{||{|||}|{|{{{{z||{||{~~~}}}}~}}}|||~}}|~|{||{{|}|~|||}||{{{{{{{}|{{||||{|{{{{{{{{|{{|{{{{z{{{{z{{|||{{{{{{{{{z{z{{|||{{{{y|zzz|{|{{{{{z{zzzz{{{{z{{||{{zzz{{{{z{|{{{{{{zz{zzzz||{||{||{{{zzzzy{{{|||||{z{{z{{z{{{{{{||{{{{{z{{z{{{||{{{yzzz{{{{{{{{{{{|{z{{{|{|{{{{{{|{zz{{z{{z{{||z|{zzzzz{zz{|{{|{||{{{{{z{z|||{||{{{z{{z{{{{{{{{{|{{zz{{{{{{|{{{|}|{|{{|z{z{|{{{}|{|{z|{||{||{||{||||z{{{z{{||{|{}{}{{{{{|{{||||{|}{{{{{{{{|}{|{}|{||{|{{{{z}|||{}||{{|{z|{{{{{}}|||{{{{{{{||{{{|||||{{|{||{{{|{|{|{{{{{|{{{{{||{}}{{{z{{{{|||{|{{|z{{z{z{{{|{||~~~}}~}|}}}}}}}}}}|}|||{||}|}||}}|{{|||{|{|{{||{{{{{{z{{||{|{}|}{{{{z{{z{{||}{{|{{z|{zzz{{z{{{}{{zzzzzz{|{{z{{{{{{{yz{{z|zz{{{{{{z{z{zz{{|{{{{||zzz{{{zz{{{{{||{{{{{z{{zz{|||{||zzz{zz{z{{{{z{|{z{zz{zzz{{{{{{||{{z{zz{z{|{{|{{{|z{{{{{{||{|z|{}z{z{{z{z{z||}{||zzz{{z{{|||{|||{{z{{|{|{|{||{||||z{{z{{y{|{|{||||{{{{{{z|||{{|{||{|{{{{||||||||{{z{{|||{||{||||||{z{z{z{{{{}|||{|{|{{z{{|}{||||{{{||z{{{|}|{|||}||{{|{z{{||}}||}||{|{{{||{z||{|||{{|{{{|{|||{|||||z{|{{z{{||{{|||{{{{{{{{|{|{{||{{|{{{{z||{{{|||{{{z{z{{||||{}~}~}~}}}}}~~|~|}}|{|||{{{{{|||}|||{}|z{|{|{|{||}||z{z{{{{{{{{|{||{z{{z{{z{{|{{|{}{{{zz{{{|{{z{|||{z{z{z{z{{{{z{{{{{zzz{zz{|z|z|{|{{{zzz{{zz|z{{{{{{{{zzz{{z{{|||z{{{{{z{z{z{{{{{{{z{{{zzzz|zz{{z|z|{{z{z{z|z|{{|{z|{{z{z{{{{|{{|{|zz{zzz{{{|{{{|||{{{zzzz{|{|||||z|{zz{{z|{|{{||||{{z{yzzz{||{|||{{|zz|{{{|||||}{{{{{{{|{||{|{{|}|{{|z{|z|||{|||{|{{{{{||||{|||}|{{|{{{{{|||{|{}||{|{{{|{}|{{||}}|||{{|{{|||{|}||{||{z|{z|}}}||}{|{|{{{{{|{{|}{{}|{{{|{{{{||||}}||{||{{{{||{{||{|{{|{{z{{{|||||{{{{|{|{{{{||||{|{|{{{zz|{{{|{{~~}}}~}}}|}}~}}}||||{|}}{{{|}}}||}{{{|{{{{|{||}|}||{{{{y{zz{|{|||||{|z{zzz|{{||{{{{z{z{zz{{{|{z||{{z{zzzz{{z{{zz{{{z{{{zz{|{{{{{{|z{zz{{{z{{{{|{{{zz{{y{yz|{|{{{|{{z{zzz{z{{{{|{{{z{z|zzzz{{|z{{|{{z{zz{zz{|{|{{{{z{{yz{{zz|{|{{{{{zzz{z{z{|z{{{z{{{z{{z{z{z{{{}{|{{z{{zz{{|{|z|{{{{z{{z{{{||{{|{{|{{z{z{z|||{{{{{z{{{z{|||{{|{|{{z|{z{|z{{{|{{{||{{{{{z|{|{{|{|||{{{{z{{z~{{{{|{{|{{{{{{{||{{|}{|||{z{zzz|{{|||||{{|{{|{|{}{}|||||{||{{{{||}|||{||{{{{{{{z||{|}|||z{{{zz{{{{{|}{{{{{z|z|z{{{|{||}{|{|{z{{{{{|{{||{{{{{z{{z{||{~~~|}~|}|}}~}}}}}|{||{{{{|}||||{|||{{{|{{|{|{|{||}{|{{z{{|{||{|{{{{z{{{{{||{|{|{}{{z{{{z{|||{{{{{{z{z{{{z|z{z{{{{{{{zzz{{{z{zz{{|z{{zz{{z{{|{{{{z|{|yzz{{{{{{||{{{z{{z{zz{{{{{{{z{z{{{{zz{{{{z{{{z{{zzzzzz{{zz{{{zzzzz{{z|{{||{{|{{z|{z{{{{{{{{|z{z{{{{|{{|z{||{|{{{{{{{{{{{|{{|{z{|{zz{z{|||{{{{{|{{{zz{{|||{{||{{zz{{{{{||{{{||{{z{{{{|||||||}{z{{{{{|{|||{{|}|{{|{{z{{{|||||{|{{|{|{{z||{|{|||{{{{{{|{{|{||||||z|{{|{{{||{||}||z||{|{{|{{|{||||{{{{{z{||}||}}||z{{{|{{{{{}||}|{||z{z{z||{||||{{|}|{{zz{{||{{}{{zz{{{{z{{{|{~~}|~|}}}~||}}~|}~}|||{{|{{|{|{|||~||{{{{{{|{|{|}|}{z||{{zz{|{|}||{|{{z{{{{{{|{||{{{{{zzz{z|z{{{{{{{{|{z{z{{{|{{{|z|zz{zz{zz{{|{{{{z{z{zz{z{|{{z{|{{z{{z{zyz{z{{{||z{{{z{z{{z{|z}{z{{y{zz{{{{{z{{|{{zzzzzzz{{zz{{||{{{{{{zz{{{||{{|{{{z{z{z{|{|y{{|z{y{{{{z|{|z{|{{z{{|y{z|{|{{|{||{{{{{yz{{|{|{{{|z{{{z{z{{{|{{{}|zz{{zzz{{{{{{||{|z{z{z{{{{||||{{{zy{|{{|}|||||}||{{|z{z||{||{{|||z{{{|{{{|}}||||{{{{z{{{||{{|||||{{{|{{|{}|{}}||{{||{||{|{{|{{|}|{|||{{|{{|||||z{{{|{z{{}{||{}|{{|{z{||{{||||{{|{{z{{{{{{{{{{|{{|z{{{{{z|{z|{~}~}~}}|}}{}}}|}}}|}{{||{|{}|||}|}}||zz|{{{|}{{|{||{z{{{{z{{||{{{|{{{|z{zzz||||{|z|zz{{{{zz|{|{|{|{zzz{z{{y{z|{{{{{{yzzzzzz{z{{z{{{z{zzz{zz{{|{{{{{{zz{z{z{z{{{{|{{{z{z{y{{{{|{zz|{{zzzzyzzy{{z|{{|zz{zz{zzz|{{z{{|zy|zzz{zz{{{{{{{{{{zz{z{{z|z{{{{{z|z|z{{{{{{|{||z{{{zzzz{{{{{|||{z{{zy{z{|{{|||{{z{{{{zz{|{|{{|{}z{{{{{{{{|{{{z{{{|z{{{z{|||{}||{{{z{{{|||z{||||zz{}|{{{{|||{|||{z{||{{{|||{|{|{{{z{{||{{{{|}|||||{{{{||{|||}}|{{{|{{{|z|{|{|}}||{{{{{z{{|||||}|||{|{{{{{|{|{|{||{{z{{{z{|{|{|||{{|{z{z{{{||{|||z{{zz{{{{{{{{}}}~}~{|||{}}}|}|}}|{{{}{||{{}||{|~{|z|{{|z}{{{||||{{{{{zyz|{z{{{|{{z|z{{{{{||{{{{|z{zzzz{z{|zz{{{{{{zz{zz{{z{{{zz{{{z{zz{{{{{||z||{zzzzzzzzz{{{{{{{{zzzzz{{{{z|{z{zz{zzzzzz{{||{{|{z{{zz{zzz{{{{{{zz{zzy{{{{z{{{{{z{{|zz{yzz{{{{|{{{{{z{{z{|{{{z|{{{z{z{z{{{{{||||{{{z{{z{{{|{||{|{zz{{z{z{||{{{{{{z{{z{{{{|{|{z|||zz{{{{z|{{{{{{{|{{|{{{{{||{{|{{{{|{zz{{{|||{||}{{{{z{zz|{{|{|||{{{{{{|{{|||||||{|{{{{||{|{|{||||{|{|{z{{||||||||z|}{{|z|{{{|||||z{||z{{|{|{||||{{z{{z{z{{|{||||z{{z{{{{{{{|{|}{||z|{z{{z|{{||{{{z{zz{{{{{||{~~~}}}||{|}}}|}|}|||||{{{|||||||{||{{z{||{{||{||}{|z{{|{{{{{||{||{|{{|z{{zzz{{{{{{{{zzz|zz{{|{{{||{z{{{z{z{{|{{{{{z{{zz{z{|{z{{{{{z{{{{zzz|{{{{{{{|z{{z{y{{||{{{|{zz{{zyzz{{{{z|{{zzz{{{{zz{|z{||{{{zz{{z{{{zzz{{|z{z{{{{z{zz{{{{|{zzzzz{{{{{{{{{|zzy{yz{z{{{{{{{|{z|y{zz{{||||||{{{{z{y{z{{|||{|{{{zz{{z||||{{||{{{|zzz|{{{{{{||{|z{|||{{{{||{{{{{{{{{z{||{{|{{{|{{{{{z{z|||{}||||{{|{{|{|||{|||||{||{{{{{{||}|}}|{{|{|{|{}|||||||||||{{z|||z}}}|{{{||{{{||{{||||{{z{|z{{{{z{||}|{zzzz{z{{{{|||}{|{{z{|{{|{||{{{|{z{{{z|y{{{|{~}}}||}}||||}}|||||{||{{z{{||~{{{}||{{{{{{{||{{|||}{{{{{{z{{z||{{|{{{{zz{{{||||{{|{{zzzz{{z{|z{{||{{{zz{z{{{z|{{{|{zzz{zzzy{{||{{z{z{zzzzy{|z{z{{{{zz{zzz{{{{{|{{{|{{{{zz{z|{{|{{{{{zz{z{zz{{zz{{{{{z{zzz{{{{{|||{z{z{{{z{y{z{|{|{{{zy{zz{z{||{{{|{{zy{{z|{z{{{{{{|{{{{{z{z||{{|{{{z{zz{{z{{{|{{{|{|z|{z{{{{{{{|{{|{|z{{{z|{{{|{{|||{{{{z{zz{||||||z{{{{{{||z{{|{{||{|||{{z|||{{|{{{{|{z{z{||{|{|||{{{{{{{{||{{|||||{{z{{{{}}|||{||||{||z{{|||||||{|{{{{{||{||||{{|{||{{{{{|||||||{||zzz|{z{{{{|||{|{z{{z{{{}{||z|{{{z{z{z{{{{{z}}~||}}}|{{|}|||||{||{{{{|{{{|||{||zz{y|z{z{z{||||||{{zz{{z{{{|z||{{{zzzz{y||{zz|{{{zz|z{{zz{{z{||zz{{z{{z{z{|z{{{|zzzz{zz{|{{{{{{{{{zzzz{{{{z{|{{{zzzzy{zzzz{z{|{z{z{{zy{{{{{{z{{{zzzz{yzzz{{z{{z{zzzz{{zz{{z{z{z|zzzzz{{z{|{{{|{|{yzzzz{{{{{{{{{{{zzz{zz|{z{|{||{|z{{{{zzzz{{{|{|{{{zzzzzz{|{||{z{{{{{zz{{{|{{{|{z{{{{zzz{{|z||{|{z{yz{{{|{{||{{|{{{z{z{{||{|z||{{{{{{{z{{{|||{{}{z{z{{z{{}{{{}||{{{zz||z|{{z||{}{z{|z|zz||||{{{||{{{{z{z{||{|{|{{{{{z{|{{{{|||||{|{{|{z{{{z{||||{{{zzz{|{{|{{|{z{{z{zz{{z{|{{|{{zzz{z{{y{{{{{|}~}|}{|}|||}}|||||||{|z{||||}|||}|{{{{{z{{||{|{}{|{{{yzzz{{{{|{|{{{{z{zz{z{{{{|{||{z{zzz{z{{|z{{|z{zyz{yyz|z{z{{{{{zzzzzz{{zz|zz|{zz{zzyzz{{{|{z{{z{zzz{zzzz{{z{|{{zzzzzzz|z{|{{{|zzyz{z{yz{{z{z{{zz{z{zz{z{{y{{|{{{zz{z{zz{z|z||{z{zzz{{{z{|zz{{||{{{{z{{{{z{{|{|{|{z{{z{{|z|{{{{z{{z{z{z{|||{{{{{{z{|zzz{{{|{||{{zzz{{zz|{{{{{|{{z{z{{z{{|{||||{{{{{{{{{||{|||{||{{z{{{z{{{{{||{||{{|{{{{|{{}|}|{||{z{{|{||{|{{||{{{z{z{{}|{}|{|||||{z{z{||||{{{||zz|{{z{{{}|||{z{{|zz|{|{{{|}{|||{{{z{{|{{|{||{{{z{z{{z||{{{|{{z{{{{z{z{|{{z}}}||{|||{||}}||{}|||{{{{{||||{|{}||{||{{{z|{{|{{|{{{{{{z{{z||{{|{{{{{zyz{z{{|{|{{|{{zzzz{z{|z{zz{z{z{zzzzy{z{zz{{{zzzyzz{y|z{|{||{zz{zzz{zz{{{z{zz{zz{zzz{{{{{{||{z{{zzyzzz|z|{{{|{zzyzzz{{z{z{z{{{z{{zzzzz{{z{|{{zzzzz{zzz{{{zz{{{{{z{z{{{{{y{{{{{{zzzz{{{{{{{{{{zzz|y{zzz{{{{z|{{z{{{z{z{|{}z{|{{{z{z{{zz{{||{}{{z{{{{{{{{z{{|{{{{{{|z{{{||||{|{z{{{z{{{|}{|{|||{{z{{{{z|||{||{{}{{z{{|{||{{|{|}{{|{{{|{{{{{|}|||{||z{{|z||||||||{{}zz{{|{|{|||||{{|{{zz{|||{}{{|{{{{{z{||z{{|||{{z{zzz{{|{{{{{}{{{{zzzz{|{{zz|{{{z{{{zz|{|{{}}}|||||||||}}|}{|}{{{{||{||{{{||}}{{zz{z|z{{{|||{||{{{zzzz{|||{{{{{{zy{{{z{yz|{|z|zz{z{{zy{{{{{{|{{{zz{zzzz{{{|{zz{{zz{zzz{{{{{|||zzz{|zzzz{z{{|{{{{z{{{{{{{{{{{{{zz{{y{zz{{z{{z{|{{{{{{z{{{z{{{{z{zzzzyzz{z{{z{||{yzzzzzz{{{{{{|{z{zzzzzz{|{{{{||{z{y{z{{z{{{z{{{zzz{zz{{{{{{|||{{z{{z{{{{|{{{|{{{zz{z{zz{|{{{{|{{{z{z{|{|{{|{{|{{{|{{{{{{{|{{|||zz{{{zz{|{{{{{|}{{{{{zz{z{{{{||||z{{z{zz{||z||{|{{|z{{z{{||{|||{|z{{{{{{||{|||||{{{|{{z{||{||{|||{zzz{{{{||{{||{|z{z{z{z{|{{|}}}|{{z{z{{{||{|||{{{z{z{{{|{|{{{{{{z{z{zz{{|{{{}}}}|{|z||{}~}|{{||{||{|{|z{{{|{{|||{{{z{zz{{{z||||{{z{{z{z|{{|z{|{|{|{yz{zz{{|{||{{z{z{zzz{}{{{{{zz{{z{zz{{z|{z{{{|z{z{zz{{zzz{{|{{zzz{zzzz|{{{{|{{|y{zzz{{{||{||{zzzxzzzz{{||{|{{{zzzzzyzz{{z{|{zyzzzzzyz||{{z{{|{z{{z{{z{|{|{{{|{yzzz{zz{{{z{{||z{{zz{{z|{{z{{{|z{{y{z{zz{z{{{|{{{{{{zzzz{{|{{{{|z{{z{zz|{{{{{|{{z{{{z{{{{|{z{{|{{{|{{{z{z{|||{{{{{z{z|{|{{{z{}z|{{|z{{z|}{z{{|{}z{|{z{{|}{{{{|||{{z{||{{|{||{|||{z{{{{{{|{||||{{{{|{z{{|{{{{|}{{z{{{{{{{||||{|{{{z{z{zz||{|z||{|z{{|z{|||{{{}{||{{zzz{{{|{{|{{|zz{{{zzz{{|{{}}|{|{||{{{|||||}||{{{z{{z||z|{{||{|||z{zzz{||}{|||{zzzz{zz{{|{{|{{{|z{{z{{{{{|{|{|{zzyzz{z|{z{{{z{{zyzzz{y{{zz{{{{{zzzzzy{{y{z{{||{zyyzz{zz{z{z{{{{{zzzzyzz|{{|{z|{z{zzzzz{{{|{{{{z{zzzyz{zzzz|z{{{zzy{yz{yz{{{{{{yzzz{{zz{{{|{{{{z{zz{{z{{|z{{|{|{zzzzz{z{z{{z{{zy{z{yzzz{{{{{z{{{zz{zz{{{{z{{||{|z{{{zz{{{|{{{|z{z{{zzz{{{{{{||{{{z{{{z{{||{{|||z{{z{{{zz{{{|{||{zz{zzz{{{{{|||{{z{z{z{z{|{{{{|{{{{{z{{{z}{|||{|{z{{{{zz{{{|{|}||{{{z{{{|{||{|||{z{z{z{z{|{{{{||{{{||z{{{|z{{{{|{{zzzz{z{{{{{{|||{yz{zz{{{{{{{{{z{{{z{{z{z{{{~~}}||{{{|{|}}{|}|}{||z{z{{{||}||||{{{z{{z{{|{{{|||{{|zzzz{{{{|{z{{{|{{{{{yz{{{{{{|z{z{{zzzz{{z{|{|z|zz|{zz|{{zz|{{{y|zz{{zz{{z{{{{zz{zzzzz{{{z{|{{z{z{yzzz{z{{|{z{z{{zyzzz{{{||{|zzy{z{{zzz{{zz{{{zzyzz{zzz{{z{{z{zzzz{{zz{{{{{{{|z{{z{zz{{{{z{{{|{{{{{z{{z{{{{z||{{z{z{zz{{|{z|||{z{{{{{{|{|{||{{{z{{zzz|{|zz|{||{{{z{yz{{|{{||{|{z{|{zz{||{}||||z{z{{|{{|{||{|{|{{{{{{zz{||{|{{|{z|{{{zz|{{||{||zz{||{{z}|||||{|{{{{{{{z{}{||{|{{{||zz{z||}|||{|||{z{{|{|{|||z}|{|{z{z{{||{{|{|}{{{zzzzz{{|{||{|{{{{z{{z|{|{{{{z{z|{z{zz|{|||}}}||{|{|{|{||||{||{{{{|{{{{{||{|{|{{{z{|z{|{{{{{{{|{{{zzzzz{|{{{{{|{zzzzzy{{{{{|z{{{|yzzzy{{{{z{{{{z{{zzzz{z|z{{{{z{{{{{{{{{{{{{{{{zzz{z{zzz{{|z{z{zyzz{zz{{{|{|{|{|zzzzzzz{zz{{{|z{z{zzz{z{{z{{{{|zyzz{{zz{{{z{{|{z{{z{{{{{{{{{|z{zzz{z{||{{{{{{z{z{{zzz{{{z{{{{{zz{{{zzz{{{{{|{|{z{zzzzzz{{{{{{{{{z{zz{zzz{{{||{{zz{z{z{{{{{{{{{z{z{{z|{{{||{|{|zz|{{{{{|||{{{||{z{||z|z{{||||||z{z{|{zz{|{||}||{{{{{{{||||{{||{|{{{{{{{{|||{||||{{{z{z{{||||||||{{{{{{{{|{|{}{|{{{{{{{{{{{|||{|{{{zz{zz{{{|{|}||z{{zz{{z{||z{|z{{{z{z{z{{{{||}||||}||||{||}|}}}{{|{{|{|{{{|{}||{{{{zz|||z|{{|||||{{{{{{{{{{|{||{{{{{zzz{{{{{|{{{{zzzzzzz{{z{|{z{{z{zz{{{{{zz{{{{zzzyzzz{zy|{{{|{z{{z{{z{{{{{z||zz{zz{y{z{|{{{{|{{zzzzzzzzz{|{{|{{z{zyz{{{{{{{{{{z{zz{zz{{{{z|z|{{{z{{zz{{zz{{||{z{zz{z{z{{z{{{zzz{{zz{{|{{{z{{|{z{{z{{{{{{{{|{|z{{{{{zzz{||{|||{zz{zzzz{|||{{|z|z{zzz{z|{{{|{}||{z{{z{{z|{{||||{{{|{{z{|{||{{{|{{{{{{{{{{{{}{}||||{|{{{{||{||{|{||{{{|{|{|{{|||{{{{z{{{{}{{{|||{{||{{|{||}|{|{||z{{{zz{{|{{{|{}|{{{{{{{||||{|||{{|z{{|z|{{{{|}|{{{z{zz{{|{|{{|{{{zzzz{z|{{|{~}}|||||{{{{}}||||{{{{z{z{z{{|{{}{||zzz|{{z|z{||||{|z|{zz{{{{{{|||||{{y{z{z{{{z{{{|{zzz{{zz{z{z{{{{{zzz{z{z{{{{z|{zzzyy|{z{{{{{{||{zzzz{zz{{{{z{{||{zzzyzyz{{{{{{|||zzzzzyzz{{|{{{{zz{zzz{zz{{|z{|z|{z{zz{zzzz{{||z{zz{{zzz|{{{z||{{{zz{z|z{z{{{{{{zz{{zz{{{|{{z|{{zz{zz{||{{{|{{|{{z{z{zzz{{{{||{|z{{{zzzz{{{z||{{zzz{yz{{z||{{{||{z{z{|{z{{|||||}{|{z{{|{}|{|}{{|{{{{{{z{{{|||||||{z{{z|z|{|{||||z|||z{|{||{||||{|{{{{|{z{}}{{}||{{|||{{||{{||}|{|{{{|z{{|{{{||{}|{{{{|z|z{|{|||{{{yzzz{z|{|{{|}{{{{{{z{{||{|{||{{|{z{{{{{{|z{}}~{|{{}{|||{}}|}||{|{{{z{z{{}|||||{z|zz{{{z}{||{{||{zz{|{z{||{{|{{z{{z{z{z{{{{|{{{z{zzz{zz{{{{{{|zz{zz{{z{{|z{{{|{zz|z{{zz{z{|{zz{|{z{{zzz{{|{{{|{zzz{{z{zzz{{{z|z{{z{zzzzz|z|z{|||z|{z{{zy{zzz{{zz{zzzzzzz{{{z|{zzz{{z{{z{{{{|{|{{yzyzyz{z{z|{{{{{zzz{zz{{{{{zz{|{zzz{{{{{z|{{|{{zz{{z{{{{{|{{}|{{z{zz{zz{{{{{z|{{{z|{{{z{|{{||||{z{zzzz{|{||{|||{{{{{{|{z|||{||}|z{{{z{z||{|||{{{{{{{z{{}|{||{{|{{{{{{|{{|||||||{{{|{{{z{{{|{z}|{{{z{{{||{|{{|{||z{z|z{{z{{}{{||{{{{|{{{{{{|{|{{{{{z{z{{||{|{{}{{|{{zzz{{|{{{{{{z{{z|z{zz{{{{}||||||{{|z|{|||}{}|}{||{{{{|{{|{|||{{{{{{z{|}|{|{|{zz{{z{{{{{|z||{{{{zyz{zz{zz{|{{{{{zz{{{z||z{{|{zzzz|zzz{{|zz{{{{zzz{{zz{{z|{{||zzzz{zz|{{|z{{{|zz{{{zyzz{|z{|{{|{{{z{{z|z|z{|{{z{zzzz{yz{{z{|{{{{{y{z{zz{z{z||{zzzzz{zz{zz|z{{{z{z{zz{{z{{{{|{{z{|zzz{zz{{z|{{{yyzz{{zz{{{{{{|{{z|{yz{z{{{{{{{{|{z{{z{z{{{{{{z{|{{{z{z{{{{|{{{{{{{{{{{{|{{|{|{|{{z||{|{|{{|z|{|{{z{z{zz{{{{{||z{z{{{{|{{{|}{|||{{|{|{|{z{||{||{|{|{z{{{{|||||{}{{{{|||{|{|{|||||{{{z{z{|{{|}{|}{{{{|z|||{{{|||}|{{zzz{z|{{{y{||{{{zzzzz{|||{|{|{z{z{z{zzz|{|}~}||{|}{||{}|{{|{||{{{{{zzz{|||{||{{{{z|zz|{{{|{||{{{z{zzz{|{{||||{z{{zzzy{{{{{{{|zz{|{z{z{{{zz||{zz{z{{y{{z{{{{zzzz{{z{zzz{z{zz{{zzzz{{zz{{{{z{{{{zz{zz{|{zzzz|{z{{{{{z{z{|{z{|||{z{{zzzzzz{{{||{{z{zz{y{{{zzz|{{zz{z{{z{z{{{{||{|{y{z{z{{{{z{{{|{z{y{z{{|zz{|{{{{z{{z{zz{{{z|{{{{z{{zz|{{{{{{{||{{{zzzz{||{|{{|{{{{|||{{{|{|{|{{{|z{|{{{{{{}{||{|{{zzz{{{|{|{|}||{|{z{{z{{{{||{{{z||{{{{{|{{|||{z|{z{{|{{{{{{||||{z||{{z{||||}|||{z|{{{|{||{|||||{|{{{{{|{{{|{{|{{{{||{{||||{{||{|{yz{||{|||{||||{zzzz|{{{|{{||{{z{{{z{{z|{{{}||{|{{{{{z{||{{{|||{||{z{{|{||{|||{z|{zzz{{{{|{||{{z{{z{zz||||{{|z{{z{{zzy{zz|{|{{{z{zz{z{{{|{z{|{|z{z{zzz{{{{{{{zz{{yz{zzz{{{{{{{zzz{zzz{{z{z{|{{{{z{zzzz{{{||z{{{z{{yzzzz{{{z{|{{zzz{{{zz{{{zz|zzz{zzz{{z{{{z{{{zyz{{zzz{{{z{{{{z{{y{yzz{{{{{||zzz{zzzz{z{z{z|{{{zzz{z{{{{{z{{{|{{{{zzzz{||z{|{|{{{{z{zz{|{{|||{zz{{z{z{{{|z|{|{|z{z{z{{||{{{||{z|{z{{|{{{|{{|{|{{{{yz{z{{{{|||{{z{{{zz{||{z||}|{z{zz{|{|{|}||{{|z|{{{{z{|||{{|{{||{{zz{}|}|||{}{|{{z{{{{{{{{{{}{{{{{{{{{{||{{||{{{{{z{{zz{{{|||||zz{zzzz|{|{|{{{z{zzzzz{{{{{}}}{z|{|{|{||||{|||z{|{{{z{||{{||{|{{z{{{{{|{{{|{|{{{{zzz{{{z|z{{{||zyz{z{z{{z|{{{z{{{zz{{z{z{|z{|z{zz{{{zzzz{z{|{{zz{yz{z{{{|{{{{{zz{{z{yzzz{z{{{{{{{yzz{{z{{{{{{|{zz{zyzz{{{|{{z{{{z{{z{zzz|z{z{{|{{{zzzzzzz{{{{{zz{|zzzz{{{{{{{{{{zz{zzzz{{|{|{{{{zzzyzz{{{{{{{{z{z{zzzz|{{{{{|{z{{z{zzz{{{|z{{{{{zzzz{z{||{{{|{{zz{z{{{|{{{{|{|{z{{|z|{{|||{|||{{z{{||{{|{|{{{}{{z{{{z{{{{{|{||{{zz{{z{{||{|{||z{|z{{{|{|{{||{||{|{z{z|{|||{|{|{||{zz{z|{{||{|{|z{{{{|{{||{|||{|zz{{{{{||{}|{{{z{{{{{z|}{{{{{}|{{{zz{{{{|||{|{{{z{z{z{{{{||{||}||{{{z|z|||}|}{{|{{{{{z{|{|||{|{{z{zzz{z{{|{{{{|z{{{{zz{{{{{{{}}|{zzyz{{|{{|{z{{z{{zzz{z{|{zz{z{z{zzzy{y|z{{z|{{{zz{z{z{{zz{{{{{z{yzzzz{z{{zz{{{{zz{z{zz{{{z{{{z{z{zyzzz{{{zz{zzz{z{zz{y{{zzzzz|z{{{zzzzz{z{{{{z{{zy{zzzz|{{{{{{{zzz{zz{{{z{{|{{zzz{zzzz|{{|{{{{{zz{{{zzz{{{{{|{{{yz{yzz{{{|{{|{{zzz{{y{{{|{{{{{{z{z{{{z|{{{{}{|{{{z{{{z{{{||z|{z{{z{{{{{{{{||{{{{{{{z{z{|{|{{{{{zz{zzz{||{{{{|{{{{zz{||||}{||}{|{z|{{zzz|z||{{|{|{{{{{{|{{|||{|{{{{{z{{{{{|{{||{|{{{zzz{|z{{|||{z{zzz{{{{{{||||{z{{z{{z{|{{{{{{{z{{{{z{{{{{{{|||{{{{{z{{}|||{||{{{{zz{{{{{{{{{|z{{z{z{z{{{|{{|{z{zzzzz{{z{{{{{|{{zzzz{z{{{{{|{{zzzzzzzzzz|{z|{|{zz{{zzz|{{zz|{{{{{zy{y{{{zzz{z{zzzzzy{y|{{|{{{{zz{zz{y{{{zz||||z{{zz{zyz{z{z{{{zz{{zz{yz{{z|{{z{z{{z{zz{{{z{{{{yz{y{{zzz{{{z|{{z{zzz{{zzz{{z{|{{z{zzz{z{z{{{{{{z|{zzz{||z||z{{|z{z{{zzz{{|{{{||{|z{z{z{|{z|z{|{{{zz{{z||||{{{}||{z{{{z{{|{|}{}{z{|{{{{{{|{{{|}}z{z{{{zz||||||||{{{zzz{{{{||{|}|{{{zz{{{{{{{|{{||{{{{{z{z|||{||||z{{|z|{{{{|{|{|{z{{|z{{{{{|{{{{{{zz{{z{||{{|||{|{|zz{zz||{{z{||{zzz{{z{{||||{||{{{zzzz{{{|{{}{||z{||{{|{|{|{|||{{z{{{z{{{|}|{{||z{zzz{z|{||{{||{{{{z{{{{{|z{{|{zz{{zz{{{{{{z|{|{{{{z{|{{||{{{{{z{z{zzzz||{z{|{zzzzz{{y{{{z{{{{{{z{{{yz{{z{||{{{{zzz{zzz{z{z{{|{{y|{zzz{{{{{{||{zzzz{zy{zz{{z||||z{zzy{zz{{{z{{}{zzzz{{{{{{{|{|{zz{{{{zz{||{z{||z{{{zzz{{{z{z{{|{{z{{zzz{{{{{{|||{{z{z{{{}{|{{{|{{{{zzz{|||{{{}{z{{{{{{|{|{{|{{|{{{{{|{{{|||{{|}zz{{{{|{||{|{|{|z{|{{z{{||}{|}{{|{{{{{{{|||{}{}|{{{{{||{{|z{|||{|{{z{|{{{|{|}}||{{{{z{z{||{|||{{|{z{|z{{{|{{{||}{{{{{{{||{{{{{{|z||{z{{{{|||||{{{{z{{z{z{}{|{||{|{{{{zzz{||{{|||z||{|||{{}|{||}|z{||{zz|||{||{||{{|{{z{{z|{z}{}|{{|{{{{z{{|{{|{{{{{zzz{z{{{{{{{|{z{{{z{zz{{{z||{{{{zzz{{{z{z||z|{z{|zzz{{{{{{z||z{zz{z{{{|z{z|{{{z{zz{z|{{||{{{|{{{zzz{z{|{{z{||z{zzz{zzzz{{{{|{{{{z{zzzzz{{{|{|{z{zz{{zz{{|{{{{{z{{{{z|{|{{|{||z{|{zzz{z{{z{|{|z{{{z{{{{|{z||{|{z{{zz{z{|z|{|{|{{{z{{yz{}|{{{{|{{zzzzz{|{|{{{{|{{z{{{{z{z{|||||{{z{{z||{{{|{||}|{{z{{{|||{||||||{{z|z{{||{|{{||{{{z{{{|{|{||||||{{{{|{{{|||||||||{{z{{{{{{||||||{{|{|z{{{{{{|}{|{y{{{{z}{|||||{{{|z|{{{|{{|}{{{|{{{zz{z{}{|||||{zzzz{{{{{{{||{|{|z{{{|{|}||}|||{{{z{{{{{|{}|}}{{{y{{{{{{{||||{|zzz{{zz{{{{{{{{{{|{|yzz{}|{|{|{|{{{zzzzz{{{{z{{z{z{{z{{{{{{{{|{{zz{{z{{z{{{{{|{{z{{{|zzzzz|z{{{z{{{zzzzz{|zz{z{{z{z{yzzz{{{{{|{zzzz{{z{z{{{z|{|z{{z{|z{yz{z{{{{z{zzz{{{z{{{z{{{{{zz{{z{{{{{{z{|{z{{zzz{{{|{{{{|z{zz{zz{{{{z{{||{{z{{{zzz{|{|||{{zzzz{z{z|z|{z{||z{z{|zz{{|{{{|{{{{{{{{|{{{|{{{|{{z{{z{{{||{}|{|}|z{{{{{{||||{||||zz{{{{z{|}|{||{{{{z{|{{|||{{||||{{{{{{{{}||||{|{{|{{z|{{{}|{|||{||{{|{{{{|{{|}{|z{zz{z{{|{||}||{{{z{|z{|||{{||||{{{{z{z{|{{{{||{{{z|zzz{|{{{|||{{{{{{zz||||}|}|{||{{z{z{{|{{|{||{{{{{{{{{{{{|||{z{z{zzy{{{{{{|{{{zzy{zz{{{|{|{|{{z{yz{{{{{zz||{{z{z{yzz{{|zz{|zzz|z{zyzz{z{{||zzzz{{zz{|{{{{{z{{z{zzzyz{{|{{z{{{{{zz{yzz{{||{{{{{zzzzzz{{{zzz{|z{z{{zyz{{{z{{z|{y{z{{yzz{z{{|{{{zzzz{zz{zz{{{{{{z{{yz{z{{{{z|||{{z{{zz{{{{{{{||{z{{{{zzz{{{{||||{{yzzz{{{||{|{{|zz{{z{{{{{|z|||{{{{{zz{||||||||z{{z|{{z{{|}|||{{z{{zz{z{z{|}{{||{{{{z{{{{{|||||{{{{{{{z{||}{}||||{{{|zz|}}|{||}{{{{z{{{|{|{{|||{|{{z{{{||{||}|||{{{{{z{|{{||{{}|{{zz{|{{{z{{|{||{{{zz{{{|{|{{{|{{|z{{{{|z|{{|||{zz{|{{{{||{{{||{{{{{{z|{{{||{||{{zzz{z{{{{{{|{{{zzzzz{{{{{|{{|z{{zz{z{y{{|{{{|{yz{z{yzz|{{z{{{zy{z{|z{z{{{{{{{{{{{zyyz{{z{z{z{{{zzz{zzzz{{{{{{zyz{zzzzzz{|{z{{{{z{zy{zzy{{{z{{zz{yzzyz{zzz|{{{{{{zzzzzzz{zzz{{{{y{z{zzz{{{{z{|{zz{yzzzz{z{zzz{{|zzzyy|z{{z{|{|{zzz{z{yz{{|{{{{||{z|zzz{{{{z{|{|zzz{yzzz{z|z{|{|zz{zz{{{||z|z{{|{{z{{|z{z|z|{{|{zz|zzz{z|{{||}}|z{z{|z{z|{|||{{{|{zz{z{y}{{{||{{||{|z{|{||{{||||{{{{{|{{{}{{z||{{z{{{zz{|||{|}|||zzz|{||{{{{|{{{z{z{{{zz{{{|{|||{{{{zz{{{{{{{||{|{{{{zzzz{||{{|{{zzzyz{{{{|{||||{|{{{|{{{}}{|{||{{z{zz{z|{{{{{}{{|zzzz{y{{}{|{|{|yzz{{{{z{||z{|||z|zz{zzz{{{{{{{|z{|zz{zz{zzz|{{{zz{{{zz{|{{z|{|z{{y{zzz|{zz{{{|z{{{zz{{{z{{{{{{z{zyzzzz{{|{{{|z{{zzz{zzzz{|{{{{{{z{zzzzz{{z{{y{z{{{zz{zzzz{z|{|{{z{zzzzz{{|zz{{{{zzz{{z{{{{z{||zz{{{zzz{{z{{||{z{{{{{zz||{||z|{{{z{zz{{{|{||{|{{z{{{{zz||{||{{|{{z{{{z{{|{||{{|z{{{|{z{{{||{|||{{{{{{{{{|{|||}|||z{{z{{|{|}}|}|{z{{{|{{|{}|||{{{{{|{{{{{{|{|||||{z{{{{z{||{|||||z{{{{{{||{}|||z{{z|{|{{{{{z||{}|z{{|zz{{{{|||{||{{{zz{z{|{{|{|}{zz{{z|z|||{z{||{{{zzz{z{{|{|||{{{{{{{{{|||{{{||{{{{zz{z{{|{||{{||zz{|{{{{{{|{|{|{z{{z{{z{||{{||{{zyzz{z{|{{{{{{{{{yzz{z{{{{z{{{{z{{{zzz{z{{{{z{{z{zzzzz|z{{{{{{{zzzz{{z{z{zz{z{zzz{z{zz|{{{{z{{zz|yzzzy{{{{{{|{{z{{{yzzy{|z{|{{{{z{zz{zzz{{{z|{z{z{{zzyz{{{{{{z{z|zzzzz{{{{{{{|{{zzz{z{||{{{{{{{{z{zzz{z{|zz|{|z{z{{yz{zz{{{||{{{{zzzz{{{{|{z|{{z{{z{z{{|{|{|{||{{{|z{z{|{|||||{{{z{{|{{{{|||||{{{z{{z{{|{{|||z{y|{{zzz{||{{|{|z|{{|z|{|{{|{|{{{{{{{{{z{||||||{|{{{{z|{{|{|{|||{{{{{{{{{{{|{{||{zz{{{z{|{{|||{}z{z{z{{{z{|{|||{{{z{z{{z{}|{|{||{{{z{{zyzz{z{}|}{|{{{{{z|||{|{}|z{{{zz{{{{{{{|{|{{{zzz{zz|{{{{{{zz{z{yzzz{{{{{{{{z{zzzzy{y{{z{z|zzz{{z{yz|{z{{|{|z{zzzyzz{zz{{{|{zzyzzzz{zz{{{{|yzzz{zzz{{z{{{{|zzz{zzzz{|{{{{{z{zzzzzyzz{{|zz{z{{z{z{zzz|zyz{z{{zzzzz{yz||z{|{{{{z{{zzzzz|{{z{{z{{y|z{z{{{zz{{|zz{{{y{z{z{z{z{zz{{zzzyz{|{z|{{{{{zzzz{zz{{{{{z{{z{zz{zzz{{{z{|{{{z{{{zz{|||{|{|{{z{z{{{{|{{{{|{z{zz{{|z{|z}z|||{zy{{{{z{{||{{{{{{|z{zzz{||{{{||{{{zz{{{|{{{z|{||{z{z{{|{|{{{|{|{{{|zzz{{{{|{|{|{{z{zz|{{{{}||{|{{z{{{{{{{|{|{{{z{{{z{|z{{{{{}|{{zz{z{{z{{{|{||{{z|{zz{z{|{{z{|||{zzzz{{{{{|{{}|{{|{zzy{{z{|||||{z{z{{{{{|{{{{{{{{{{{y|{{||{z{|{zzz{zz{y{{{|{{{|{zzzz{zy{|z{{||{{z{zz{z{z{{{{{z{zz{zz{{z{|{{{zz{z{zzzzz{{{{{z|{{{zyzzzy{{|{{{{z{{{z{zyz{{z{zzz{{{zzz{{zzzz{{{z|{{zzzzzzz{{{zz||{zz{zz{zz{{{{{{||{{zz{z{z{{{zz{{{{zzzzz{{|{{z{|{{zzzz{zyz{|{{{|{{zz{z{z{z{|{{{|{{zzz{{{{z{{|{{z{{{z|zz{{{{{{{|{{{{{{z|{y{{{||}{|{{{z{|{{{{|{|{||||z{|{z{z|||||||||{{{z|{z|{|{{|}||{z{y|{{{z{{|||||zz{|{{{|{}{{{|{|{{|zz{{|{{{|{||z{{{z{{{{||{|||||zz{{|{z{|||{|{|{z{z{{{zz{z|{||}||z|z{{zz{{|{{{{{{{zzzz{{|{{{{|{z{{|z{{{|{{|||{|{{{z{y{{{{|{|{{||{zz{{{z||z|||||{{{{{z{z{|z|{z|}|{|zzz{{{|{{z{{{|{|yzz{z{{{{{}{{zzzzzzyz{{||{z{{zzzzzzzz{{{{|{{{zz{z{y{{|{z{z{{z{z{zzzzzz{{z{z{{{z|z{yzy{|{{||{{|{z{zz{z|{{|{z{{{z{z{{z{{{{{|{{{{zz{{zzz{{{{|||{{zzzzzzzz{|z{{|{zz{{{{|{z{{|{}{{{|{|zz{z{|{{{{{|{{{{z{{{{{|{{||||{|z{zzz{{|{{{|{{{|{{{z{|}|{|z||{{{{{{z|{|{|||||{{|zz{z{|{{{||}}{|z|z{|{{}{||{{||{z|{{{{{{{||||{|||z{{{{{{|{|||}|{{{{{{|{|{||||||{{|z{{z|{|{z|}||{{|{zzz{{|||||}||{|z{{z{{||||}{{{{y{{z{{{|{{||{{{{{{{{{{{{||{||z||z{{{{z{{{{{||{{{{{{{|{|{||||{{{{{|{{{{|{|z|{|{{{z{z{{|{||}|{{{{{{{z|z{{{{z{||{{{zyzzz{{{{{|||{z{{zz{{z{{{z{{{{z|{zzzz{z|{{{|||zzzzzzz{{z{z{|{zzz{zyyzz{{{{{{{z{z{zzz{{z||{{||{{{{{{{{{{{{|{||{{zzzzzzz{zz{|z{{zzz{|z{zz{{{{{|{z{|{zzz{{{||{|{|z{zz{{{{|{{{{{}z{{|zz|{{{z|{|{|{z{zzz{|{{{{{{||{{z|zz{{{{{{{}||{{|{{{zz{{|{{||{{z{{{{zz|{z{{{|{|{{z{{zz{{{|{z||{z|{{|{{||||}{}|{{|}{{{{{{|{{||{|{{{z{{{|{|{z||||{{{z{{{{|{|||}|}|{{{{{z{||||||||{{|z{{|{|||||||{zz|{{z{{|}|{{||||{|{{{|||z||{||{{{|{{{z{{|{{|}{|{{{{{z{{|{{|{{|{{{zz{{z{{{z|||||{{{{{z|{{|{|{|{{{{{|{{{{||{{|||{|{{{zz{{||{{{|{{zz{{z{{{||{|{||{z|zz{{{{}||{z{|{{zzyzz{z|zz{{|{{zzzzz{{{{{zz{{{z{{z{z{zz{{{{{{|zzzzz{{{zz{|z{{{z{z{z{zzz{||||{{{zz{z{{z{{{{{{|}z{{|zz{{{{z{{{||zzz{zzzzz{{{z|{{{{{y{yzz{{|z{z{|{zzz{zz{z|{{{{|{zzz{zz{zz{{z|{{|{{{|z{z{{||{{{}{zz{z{z{{zz|||{z{{z{zz{{{{||{{{||{{{|{z{z{||{{|{{z{{{{{z{||{{{|{||{{{|{{z|{{|||}{|{{|z{{z||{||||||{|z|{{|{{||{|||{{z{{||{{|{|{}}||{{|{z|{|}||{||}{{{||{{|||{||||{||{|zz{|{{|{{|{|{|{{{{{{{|{||||||{{z{z{{{{|{{{||{|z{z{{{|{{{{|||{z{z{yz{{||{||{|{{zz{{|z{{|{{{{|{z{{{{{z{{{{{{|||{zz{{yy{|z{|{|||{{{zzz{{{|{zz{|{{|z{|{z{|{|||{|zz{{{zzzzz{zz{|{zy{zzzz{z{|y{{{{{zzzzy{{{zz|{|{{zz{y{{z{{|{{z{{{zy{{zyzz{z{{{{z{zzzzz{zzz{{{|z|{}zy{zzzzz{zz{{{{{zzzzz{{{{{{{|{{zz{z{zzz|{{z|{z|zz{z{yzz{|{{{|{{zzz{zzz{{{{{{y{|{zzzy{zzz{{{{|{{{yz{z{zzz|{zz|z{z{{z{{zz{{{zz{||{zzz{{z{{{|{{||{{{{{zz{|{{||{{{zz{{{|{{||{||||{||{z{{{zz||}{{|{||z{{{{{{}{||{|}}|z{{{{{|{|{||{{|{{z{{|z{{|{|{|{||z|{|{{{|{{}{||||{{{z{z{z{{{|||||{z{{zz{{{{{||{{{{zz{{{z{|{}|||{{{{zz{{z{{z{|{{{{z{{zz{z{{{{{|{{{{{{zz{y{|||||{{{{{{|{{{|||{|||{|zyz{|{z{{{{|||{|z{zzzzz|{{{{{|{{z{yzz{zz{||z|{|{{z{zz{zz{|{z{||{y{zyzzyzz{{z{{{zzz{{zyz{z{z{zz{zyzz{{zzz{{|{|{z{{z{z{yz{{{{{{{{z{zzzzzyz{{{{{||zz{zz{yz{{{{z|{{{{z{{z{{z{z{{{z{yz{z{{z{|z{{z{|{z{zzzzzyz{{{{{|{{zz{|z{|z|z{{|{|{{z{z{yz{{{{|{|{{{z{zzzz{|{{z|{|{z{{{zz{{{{z|{{{{{{z|{{{{|||{|{{{zzz{z{{{|{|{|{|{{{{{{{{{{{||{{{z{{|{{{{{||||||||{{{|{z{{|{{{|||{z{z{{{{|||{|{{||{|z{{{{|}}}|||||{{{||{{|{{||||||z{{{{{|{{||{{}|{{{{{{{|{{{|||{|{||{{{|{{{{|{{|{{{{{{{|{z|||{{{|{z{{z{zzz{{{z|{{||{zz{{zz{|{z|{{{z{{{|{z{{{{{{|{z{{z{|{z{{{{{{{{{z{zzzzy{{{{|{|{|z|{zz{z{{{{{|{|{{{zzz{{{{{{{||{zz{{{zzzz{zz{{{{{zzzz{z{{yzz{{z{zzzzzyzzz{z{{z{z{zzzzzy{{{||{zz|{zz{z{zzz{{z{{{{zz{{{y{yyz{zz{{{zy{z{y{{{{z|{{{{zzzz{{{z{z{y{{}{{{zy{z{zz{|{{{{|{zz{zz{{||{{{z{{{zz{{{{{{{{{{z{|{y{{zz{z{{|{{{{{{z|zz{z{{||{{{{{{zz{{{zz{{{{{{z{{{{{zz{{{{|||{{|z{|z|{{z{|||{|z|{{{{{{zy{|{|||}{{z{{{z{z}||{{|}{|z{z{{{{{|{{{||||{{|{z{|{{{|||||||{|{zz{{|||{||{|{{z|{z{{|{{{||{|{{{{{{{|||{||{|{{z{zz{{{|{|{{||{z{{{{{zz|{|{{{|{zzzzzz{{{{z{|{|z||z|z|z{|{{{z{{{{zz{{z{{{|z|||||{{|{{||{{z{{|{{{{z{zzz{{{{|{{{{z{{zzz{zzz{{{{{|{zzyzzzzz{z{z{{z{zz{{yz{z{{z{z{{zzz{yzzzz{{{{{{z{zzy{zzz{z{{z|{|{zzzzzy{{z{z{{z|{zzzy{zzzz||{{|z{z{z{y{z{{{zz|z|{{zzzzzzz{{z{{{{zzzzzzzz{z{z|{{{z{zzzz{{{{{{{{{{zz{{z{z{{{{z{{|{{y{zz{zzz{{z{{{{zz{zz{zzz{{{{||||{zz{z{y{|z{z|{|{|zzzy{{{|{{{||{|{{z{z{{{{{|{{||z{zz{z{|{|{{|||{zzz{zz{z|||{|{}{|z{{z{z{||{|{|||{z|{z{{{{{||{||{{zz{||z{{|{|{|{z{{{{z{{|{|{||||{{{{{{{z{{{|z||||{{{{{z{z{||{{||}{|z{{z{z|{|z{{||{|zzz{{{{z{|{{|{{{{zz{{{{{|{z{||{zz{{{zz{||{|{{{{|zz{{{{{{{{{{{||{{{z{z{{{{{||||{z{{{zzz|{{{zz{|{{{z{zzyz{|{z|{{yz{zz{zzz{zzz||z{{{zzzzzz||z{zz{{z{zy{zzzzz{{{{{zzzzzzzz|{{{{z|z{{zzzzzz|{zz{{|z{yzzzz{z{{{{z{{{{{zzz{zz{{zz|{{z{{{zzz{yzz{|z{{{zz{z{zzy{|{{{{|zzyzz{zzz{{{{{{{{{{{zzy{z{z{zz{|{{{{z{z{y{{z{|{{{{{{z{zz{|z{|{{{|zzzz{zzz{{|{{{||{{{{{zz{{|{zz{|{|z{{{{{z{{||{|{|{{|zz|z{|{{{{{|||{{z{{z{{{|{||||{{{{{{{{|{|{{|}{z{{{{|{{{||{{|||{{{{{{{z{||}|{z{{{|{{z|z{|||z{||zz{z{zz{||z{{|||{{zz{{{{{|||{{|{z|{z{{{{{{}|{{||zzz{z{{{{{||{{{{{{zz{zzz{{{{{||{|{z{z{zz{{|{{{{|{|{|{z{zz{{{{{||{{{zz{z{z{zz{||{{z{zzz{{{{|{{{{|{zzzzz{z{{{{{{{{zzz{xz{z{zz{{{{{z{z{z{z{z{{{{z{zz{zzz{y{zzy{{{{{yzzzzzz{{{z{{{{{{zzzy{yz{{{{{{z{y{{zzy{zz{{z{{{zzz{zz{zz{zzzz|{{zzzzz{zyz{z{{zz{zz{z{{z{{z{{{|{|zzzz{zzzy|{z{{{{{zzzzz{z{|{{{{{{{yzz{zz{{{{{z{{|zz{{{z{zz|{|{{{{{zzz{zz{|z||{{|{{{zzzz{z{{|{{{zz{z{z{{z{{{||{|{z{{y{{z{{{{|||{||{{{|zzz{{||||{z{{z{{|{zz{||||||{{|{z{{{z|{{|{{||{{{{z|z|{{{||{||{{|z{z{||{{{||}||zz{{{{{{|z{||}||{{{z|{z|{|{{{{{{zzzz{{{{|{|{{||{zzzz{{{{|{{{{{|{z{{zzzzz|{{{{|{|{z{z{{{{}||||{|{{z{{zzz|{{||{{|{{|z{z{{{{{{{{{{{{{{{{zzzzz|z{{zz{{zyz{{|z{z{{{|zz{zzzzy{{{{z{{z{z{|zzzzz{{{{{z{{zzzzz{{{{{{zz{{z{yzz{z{{z{{{z{zzzz{{zz{{z{z{z{{{{{zzzzz{{|{{{|{zzzzzzyzzz{z{{zz{yzzzzzz{{{z{{{{{z{{zz{z{{{{{|||{{zzzzz{{{{{z{{{{z{z{zzz{{|{z||{{{{{{zzz|{|z|{{{{{zz|zy{{{{{|{|{{{{z{zzz{{{|{{||z{zzz{z{{{|{{{||{zzzz{{{z{||{{||{{|z{zz|{{{||||||{{|z{zz{|{|}{||{zzz{{{z||{{||||{{{zz{{{||z|{{}|}zz|{{{{{|||{||{}{{z{{{{||{|{|}{{{{z||{{{|{||{|||{||{{{||{|{||{{{zzy{{{{{{{|{|{|{{z{zz{{{{{|||{{{{{z{{|{{{|{{{{|{z{z{{z{|{{{{|{|{z{{zz{z{{{|{{|{|zzzz{zz{{zz{{{{{y{z{{{y{{{z{|{{{{yzzz{z{z{{{{{|z{{z{{{z{|{{{{|zz{{{zzzz{z{|{{{y{z{zz{zz{{zz{z||zzzzzzz{{{|{y{{{{z{{zzz{z{{zz{||{z{zz{y{{{{||||{{z{zy{zzzz{{{z{{{y{z{{zzy{{{{{{}{y{{z{zzzz{||{{{{zz{{y{z{|{|{{|{{{{zzz{z{{{{z{{{z{{zzz{{{{|{{{{{|{{zzz{{z{{|{|{{{z{zzzzz|{{|z{|{{zz{z|{{{{z{z||{|z{{{{|zz||}{{{{z|z|{{|{|{{|{{||{{{|yz{|{}{{{|}|zz{{{z{}{}{|{|{{|z{zz{|{{||{{|||{z{{z{z{|}{|{||{{z|{{z{||{}||}|{|{{z|z{|||{}{||}|zy{{{z{{|{|{{||{{z{{{{|||{|}{|||{|z{z{z{{z{{||{zz{z{{zz{z||z{|{{z{z{z{{z|{{z{{|{{z{{z{{z{{z|z|||z{{zz{z{{|{{|{||zz{z{zz{{{{{{{|{{zzzzzy{{{|{{{{z{{zzyz{z|z{{{{|{zzzzzz{{|||{{z{zzzyz{{{{{z{{{{||zzzzz{z{{z{{{{{{{y{z{yz{{|{z{z|z{z{zyzz|{{{|{{|z{zzzz{{z{{{z|{{|zzz{y{z{z|{{{{{{z{zz{{yz{|{{||{z{{z{{z{{|{{|{z|{z{z{y{z{z{{{{|{{z{{y{zz|{{{{|{{{{{{{yzzz|{|{{|{{z{zy{{{{{|{{z|{{{z{{{z{{{|{{{||{{{{{{z{{{}|{}|}{{|zz{|{|||{||{||{{}z{zz{{||||||{z{|{|{{|{{{{|||{{z{{{|z{}{{{||{|z{{{{|||}||||}|{||{{{|{z|{||||||{|{zz{|{{{|}{||{{{{zzz{||{|{|||{zz{{{{{{{||||||{{{{{{{{z|{||||||{yz{{z{{||{{|||{{z{{zy{{{||{{{{{{z{{z{{{{{{{{{{{z{yyzzz{{{{{||{{zzz{{z{z{{z{|{||z{zyz{y{{{|{{{|{zzzy{zz{||{z{|z{{{z{zzz{{{{|{{{z{zyzzz{|z||{{z{zy{zzzzz{{{{{{{{{{{zz{x{{{|{{zz|{zz{yzzzzz{{{{{|zzzzy{zz{{z{{{zz{zzz{z{zz|{{{{zzzzzzzzzzz{{{{{{{z{{zzzy{{{|z|{{|{zzzz{z{z{{{|{z|z{{zzzzz{z{{{{|{{z{zz{zz{{{|{|{{{zz{{{{z{|{}|{||{z{z{{z{{|{{z||{{{zz{{{{|z||||{|zz{z{{|{||{|||||||z||{z{|{}{|{|{|{z{{z|z|{|{|{||||z{{||{{||||||||z{zz{{{|}{||}||{{||{z{||{||{|||{{z{{{{{|{|{{||||{{z{z{{{{||||||{{{z{{{|{}{|||{|{|zzzz{z||{{{{{{{{{zz{z{z{{{||||{z{y{z|z{{{{z{{{|{z{{zzz{{|{{|{{{{{{zz|z{|z|{{||{z|z|{zzz{{{{{|{{zzzzyzy|{{{{{{|{{z{{{{y{{z{|{}{{{{zzzyz{z{z{{{|{{z{yz{{{{z{{{{{{zzzzz{z{{{|{||zzzz{z{z{z{|{zz{{zzzzz{zz|{|||z{|z{z{zz{zz{{{{||{{{{{zzzz{z{{z{{{{z{z{zzz{{{z{{{{{{zzzzzzz{{|z{|}{zzzyz{{{{{zz{{|z{z{yzzz{{||{{|{{z{{{z{z{{{|{|{{{{{{{zzz{{|zz|||{z{zz{{{{|||{{|{{{{zz{{|{{{{{|{|zz|z{z{{{{||{||{{{z{{{{z{|||{||{|z{{{{{{||{|{||||{{{z{|{z}|||}|{|{{{{{|z{|{{|||||z{|{z{z|{{||||{{z{{{{z||{{||||{|{{{{z{{||{{{||{{{{|zz{{zz{{||||{{z{{{{zz|{{{{|{|z|z{{z{{{{{{{z{z{{|{zzzy|{{{{||{{zzzz{z{|{|{{||{{{zz{zz|{{{|{{|{{{zz|zzz{{{{{{|{z{zzzy{{{{z|{z{z{zzzzzz{{{{{{{{z{z{zzyz{{{{{|{z{zzzyzz{zz{|{{{{zzz{zzzzz{z{{z||zz|z{zz{{z|{{{{{{z{zzzz{z{{z{{{|{y{{yyzzzzzzz{{{zz{y{yz{z{z{z|{{yyzzzzzz{{{{{{{{{{{{|z|z|z{{{{{|{zz{zz{{z{{{{|{|{zzzz{{{{{||z{{{{z{{zzzyz{|{||{|{zz{z{zz{||{{{||{z{{zyz{zz{{{{||z{{zz{{{{|{||||{{zzz{z{{{|{{||{|zzz|{z{{|}zz{|{z{{z{|{z{||{|{||||{{{{|z{{{{||||||z{{{{zzz}|{|{|||{|{{{{{|{|{|||||y{zzz{{||{||{||{{{{|{z{||{{|{|{{|{{{{{{z|{|{||{|{zzzz{z{|{|||||{zzz{z{z{|{{{|z{|{y{{z{z{|{{{{||z{{zzz{{{{|z{|{|{{z{{zzz{|||{{|{|z{zzzzz{{{{{{{{{zzzzzz{z{{{{|z|{zzzzz{y{{z{{{{{|z{{z{{zz{z{{{{{{{zzyzy{{zzzz{{{zz{z{yzzz{{{{|{{{zz{zzzy{{{|zz{{z|{zyyz{z{{{{{{{z{zz{zzz{{zz{z{{{zz{{{zzz{z{z|z{zz{zzyzyzz{z{{{{{zz{{yzz{z{z|{{|z{zzzyzz{{{{{{|{zz{z{{{y|z{||{{|{{zzzzz{{{z{{{{{{{zyzzzz{{{|{|||{{{{{z{{{|{{z{z{|{z{{{{{{{|{{{{|z{{z{z{z|{{|{z|{{z{||{y{{{|||{}{|zz{||{{{||{||{|{{z{{{z|{{{{|||{{{{{{{{{{|||||}|{{{|{z{{{|{{|{|{{z{{{{{|{{{{|||{|{|{{z{{|{|{|{||{|{z{{zy{{{{||{{z|zzz{zz{{{{{{|{{{z{zz{z{{||{{z{||{zzz{{{|{{|{{{{{{{{zz{{|{{|{{{{{zzz{z{{{{{y{{z{z{z{zzzz{z|{z{|{{y{zz{z|{zz{{||yz{zyzzzzz{zz{{{{zz{zzzz{{{{z{{{zyz{zzzzz|z{y{{{zzzzzzzzzz{{z{|{{{{zzzzz{{{{|{{|{zzz{zzz{{{{{z{{z{zzzzzzz{{{z{{||{zzzyy{z{{z{{||{yz{zz{yz{{|{z|{{zzz{z{zyz{{|z{|zyzzzzzzzz{z{{z|z{zz{zz{{{{z{{{zz{{{{{{z{||{{{{{{zz{{zyy{{z{{{{|{zz|{{z{{{z{zz|{{{|zzzzz{|||||{{{z{z{{z{{{|{{|||{z{{{zzzz{|{{{||{y{{{{{|{||z|{{|z{{zz{|{{|{|{|{|{z{{{{{{||{||||}{{|{{{{z|{{{|{{||{{|{{{z{|{|}|}{|z{{{|{{||{|{{||z{||{|{{z|z|||z{{{z{zz{z{{{{{||{{{{zzz{zz{{|z{{|{z{zzzzzz||{zz{||zz{yz{{{{|{{{{{{{{z{z{yz|{{{|{|{zzzzyz{{{{|{{{{{zzz{{{z{{{{{{{{{{{z{{{zz{zzz|{zzzzzzzzz{{|zz{{{y{zz{{yzzzz{z{{|zzzyzzzz|z{z{{{{{zz{zzzyz{{z{{zzzzzzyzzzz{z{{|z{zzzzz{zz{z{yz{{{yzzzzzzzyz{{||{{zzzzzzzz{z{{|{{{z{zzzyzz{{{{z{z{zyzzzzzz{{{{z{{{{{{{zzzz{|{{{|{|{|{{{zzzz{z|{|||{{{zzzz{{{{{z{{z{{z{{{{{{|{{||{|{z{{z|{{{|z{{|||z{{{{{zz{|{{{|{|{zz{z{zz{{{|{|}||{{z{z{z||{{}||||{|{zz{|{|{||{}{|yzzz{{{{}}|{{||{{{{{z{{{|{{||||{z{{{z{{|{{{||||{z{{{{z{{|{|{|{{z{{z{{{z{|||{|||z{{{z{{{{zz{{||z{zzz{z{z{{{|{{z{{{z{zzzz{|{z{{{|{yzzyzzy{z{{z{|{{zzzzzzzz{{|{{{{zz{{zzzzz{{{{{{zzzzz{zzy{z{z{{{{{zz{yzzzyzzz{{{{zzyzz{yyz{{zz|{zz{zyzzzz{z{{y{zzz{zyzzzzzzzzzz{yzzzyyzyz{{{z{{{z{zy{yzzzz{zzz{|z{zzzzzzzyzz{zz{{{zzzzzyzyz{{{|z{zz{zyzzzz{z{zz{{zzzz{zzzzzz{{{{{zyzzzzzzzzzzz{{|{{yz{zzzzzz{z|{{|z{z{zz{yz{zzzz{{z{zzzzz{{{{{z{|zz{{zzz{zz{{zz{{z{{{{{z|||||||||z{{zzz{y{{{{z{|{{{zz|{zz||||{{{{zzzzzz{z{{{{{{{{{{{zz{{{{{{{{||{{z{{z{{{{||{||{{{{|z{z{{{{|{|{||{z{z{{z{{{{||z{||{{{{zy{||||{{{{z{{zzz{{{{{|z{{|{zzzzyzz{|{{z|{{z{{{zz{z{z|{{|z{{zz{z{{z{{{{{z||{{{zz{z{{|{z{|||z{{z{yz{zz|{|{||{zzzyzy{{{{{z{{{{{{zzyzz|{{{{|{{{zzzzz{y{{{{{|{{zzzz{{zzz{{z{|{{zyzzy{zz{{zz{zz{yzzx{zzzzz{{{{z{{z{zyzy{{{{{{|{{{z{zzyzz{{{zz{{|zzzzzyzzz{{{{{zzz{{zzyzzz{z{{z{{zz{{{zzz{{{{{z{|zz{zzzzz{z{{zz||{z{z{|zz{{{z{{{{{{|zzzzz{{{|{{z{{z{z{z{z{|{||{{{zz{{{{zz{||{{||{{{z{{zzz{}{{{|||{z{zz{|{{{{|||||zz{zzzz{|{{|{{|||{{{z{|{{{{{|{{||{{{z{|z{}|{{|}|{{z{{z{{{||||||{{{{{{{z{{{||||{{{{{z{{{|{|||{|}{{zzzzz{|||||{|||{{{z|{z{||{{||{|{{{{{z||{|{|{{||zzzz{{{{{{{{{{|{{{zz{|z{z{{{{|z{z{z{{{{z{zz{z|{|z{{{{{{z{{|{{|||zzzyzz{z{z{|z||z{{z{zzzz{{{z{{|{{z{{zz{zz{||{{{{{z{zz{zz{{{||{{{{{{zzzzz{z{{{{z{zzzzzzyz{{{{z{z{z{yzz{zzz{z{z{{z{{zzzzzzz|{{{{{{zzzzzzzz{z{z{z{zzzzzzz{y{zz{{{{z{zyzzzz{{|{zz{{{zz{{{{zyz{{z{z|z{zzzzz{{{{{{{{{{z{{{zz{zzz{{{|{{zz{zzzzz{{{{{{{{zy{{{{zz|{{{{{{z{{z{z{zz|{||{z{{z{z{z{z{{|{z{{z{{{zzz{z{{|{||||{{zzzzz{{{{|{{|}|{zz{z{z{|{|||||{{{z|{{{z|}{{{||{{{{zy{{{{|{|{||||{{{z{{zz}|{|||{|{z{{zz{||z|{||}{{{z{zzz|{{|{||||zz{{z{{|{{|||{|{{{yzz{{{{|{{{{|{{z{{{{yz{zzz|{|{z{zzz{y{z{z{{}|z{{zzz{z|{}{{|{|{{z{z{{{{|z|{{|{{{zz{{zz{z{{|{}{{{z{{{zz{||{z{{{{{zzzzzz{{|{z{{|{z{z{{zzz{z{z|{{{z{{{z{zz{{{z{{|{zz{zzzz{zz{||{|{zyy{zzz{{|{z{{|{zzzyzzy{{z{{{|{zzz{yzzyz{{{{{|{{z{{zzzz{zz{zzz|{zzzz{zzz{{z{|{{zyyz{z{yzz{|{{{{{{zzzzz{z|{{|{{{{{z{zzz{{{{|{{||zzzz{z{z{{{{z}{|{{z{{z{zz|{{|}|z{{zz|{{z||{|{|{{{{zz{zz{{z{z|||||{zz{{{{{{|{|||{{|{{{{{{{{{|{{|{{{{{{zz{{{{|{{|{{{{{{{|{||{{{||{|{|{z|{|{|||{{|{|z{{{z{|{}}|{||||{{{{{{{||{||{|{{{{{{|{{{|{|{|{|{{{|{{{{|{z|{|||{{{z|{{{z|{{{{||{z{z{z{z{||||{}zzzzz{z{z{{|z{|{{|yyz{{zz{{|{{||||{z{z{{{z{{{z|{{{zz{z{{{{{z||{}{zz{{{zz{zzz{{zz|{{{zzzzz{{{|{{{|zyzzzzz{yz{{z{{z{{zz{z{y{z{z{{{{{|{{z{{{zz{{{{{{{zyzzyzz{{{{{|{{zzzzzzyz{|{{{{z{{z{zzz{{zz{y{{}{{zz{y{zyzz{yzzz{{{{z{{zzz{z{z|z{{zzzz{zyzz{{z{{z{{zzzz{y{|{{{{|{zz{zzzy{z{{|{{{|zzz{z{zzzz{{{{{{{z{z{y{zz{{|{|{{{z|z{zz{{{{{|{|||{{{{z{{{||z||{{{{z{{z{{|{{{|{{|{{{{{{{{||{|{|||{{{{z{zz|{||{{{||zzz{zz{{|{{|}||{{{{{{||{{{{}|{{{z{{{zzz{|z|{{|}|z{{{z{z|||{|||{{zzz{{{{{{|{{|||{|z{{{|{{{||{|||zz{z{z{z{{z||{{|{z{{zzzz|{{|{{||{{{z{{zz{{{{|{{|{zzzzz{yz{{|{{|{{{{zz{{zzzz{{{||{yzz{zzz{z{{{z|{{z{zz{{zz{{{zz{{{z{zzzzy{|{{{{z{z{zzz{zz{{z{zz{{|z{z{zz{z{zzz|{z{yz{zz{{zz{zz{|{zzzyzzzzz{{zz{z{{zzzzzyzzzz{{{zyz{z{zzyzz{{{{{{{zzzzzzyzzzz{{{zz{zzzzzzz{{zzz{z{y{zzz{z{zz{{{{z{zzzzzyzzz{|{zzz{{z{zzzyz{{{{{{{{{{{zzy{{z{{z|z||zzzz{y{zzz|z{||{{zz{zzzz{{{|{{{z{z{{{{zz{|{{z{{}zzzz{z{{{z|{{{||z{{{{y{{{{{{{{||{{{z{{{{{|{{||}{{z{{zz{z|{{{|z|{{{{zz{{{{|{{{{|||{{{|{{{z}{|{|||{z{{{{z{{{||||{|{z{{zz{{{{{{||{{{z{{{{z{||||{{||{{{zyz{{|{{{z{|{{zzzzz{z{{|{{{{{zz{zzz{{{{{{z{z}||z{zzzzz{{|{{}{{zzzzz{z{{|{{{||{{|z{z{z{{|{{{{{{{z{zz|{y{{{{{||z{{{zz{z{|{{z{{{{zzzzzzzz|zzz|{{zzzzzzy{|{{zz{z{{{zz{zz{{{{|{|{}{zzzzzzz|{{z{{{zzzy{z{zz{{{{{z{{{zzzz{zzzz{{zz{{{z{zyz{yzzz{{{zz{z{z{yzz{{z{z{|z{z{y{{{z{z{{|{|{zzzzzzzzz|{{|{z|{z{{zyzy|{{zz||{zz{zz{z{z{{{|z{{{zzz|z{z{{|{{{{{|{{zyzz{{{|{{z|{{z{{{z{z{|{{{{{{z{z{|{{|||{{{}{|z{{z|{|{{|{||||||z{z{zz{{|{{||{|{z{{{|{z|}{{{}|z|{{{{{{{{||||{|}}|z{{{|z{||||}|||z{{zzz||{|{{||{|z{z{{{|{{{{{|{|{|{{{{z{{{{|||{|{{{z{z{{{z{{{{|{|{y{zz{{z||{{{{{{y|{{{z{z|{{{|||{{{{{{{z{{|{{{z|{{{{{zzz{z{{{{||zz{z{{zz{{{||{|{zzz{zzzz{{|{{{z|zz{zzz{z{{{{{{{{{zzzy{zzz{zzz|{{{{|zzzzzz{{{{{{|z{zzzzzz{{{{{{z{zz{zzzzz{{{z{{|zzzz{zyzz{z|{{{||zzzzzzzz{z{zz{{zzyyzz{zzz{zz{{{zz{{zzyzz{{z|zz|{zzzzzzzz{{{z{{{|{zzz{zy{z{{{{|z{{zzzzz{zz{|{{{|zzz{{zy{{{{|{|{{zzzzz{y{z{{z{{|{{{{{{{{{{{{{{{||{{y{z{z{z{{|z{{{|z{{{|z{z{|||{|{{z{{z{{{z|{{|||{{zzz{z{{{{{|{{{{||z{{{{{z}}|{{{||{z{{{{{{{{{{{{|{|z||{||{z|{{{|||{z|{{{z{|||{{||{{{{z{{z{{|||||||{{z||{{z|||{||{|zz|zzzz{z{|{{|}{|zz{{{|{z{||{{{|z{{zzz{z|z{|{z||z{{zzzzz{zz{|{{{{{z{zzzz{{{||{{{zzzz{{zyz{z{{z|{{{{z{zz{{{|{{{{{z{{zyzzz||{{{{{|{{{z{zyzz{{{{{{z{z|zzzzz{{|{{{z{{zzzz{{z{z{{zz{|zzzzzyzyyz{{{{|zzz{z{zyy{zz{{{z{zz{yy{zz{{{{{z|{{z{y{yzzz{{{{zzzz|zzy{zzzzz|{{{{{zzz{{zzzz{zz{z{zyzz{zyy{|{z{z{zz{{{zzzz{{{{{{||{{{z{zz{z{|{{{{{zy{zzzzy{zz{{{{{{z{zzz{z{{zz{z{{z{{{z{zz{{{{{{{|{zzzz{{zz{{|{{||{{{{{{{{{||}{z||z{z{z{yz{||{|{|{{z{{{z{{||{{|||{{z|{z{{|{||{|||{|z{{z|{{z|{{||{|||{z{{|{z{{{||{{{{{{{{{{{||{{|{|{{z{{{{{{{{|{|{{{|{zz{{{z{{{{{|{zz{zz{{zz|{|{|{|{{{y{zzz|z{{{{{{zz{y{zzzz||{|{|{{{zzzz{zz{{{|{{||z{zz{{z{{|{{{{{{zz{{{zyz{{|{{{{z{z{z{z{{{{|z{{{{z{zzz{z{{{zz{|zzz{{z{zy{{|{{{{z{zzz{zzz{{{{z|z{z{yzzz{yz||{z{|{zz{zz{yz{z{{|z{{{{{y{z{zzz|{{{{z{{z{zz{yyz{{{{{z{z{yz{z{{{{|{|{{z{{{{{zzzz{zz{{{{yzzy{y{{{{{{|{|zzz{z{{zzz{{z{{|zz{{z{y{{{{{{{||zzzz{z{zz|{{||{{{{zzyzz{z{{{{{{{zz{|z{zz{{{{{{{{{zz{|{{|{{|||||{zz{{{z|z{|{{{||{{z{{z{z{{}{|{{|{|{zz{{{{{||{{{{|z{{z{{|{{{{|{||||{{{{{{|||{|{{}||{{|{{{{{|{||{{{|zz{{yz{{{{{|{}|{{{{z||{{{{|{|||zz{z{{{{{{{{|{{{|zzz{z{{{||{{{|{{{{{{zz{{{{|{{{{z{{{z{{z{{{|{|{|{{z{zzzzz{{||{z{{{zyz{zzzzz{{z||{zzzz{{yz{|{{{|{{{{yy{{z{{{{z{{z{{{zyzzyz{zyz|{{{{{zz{yzz{|zz{zzzzyyyzyzz{z|zz{zzz{yyzzyzz{{zz|{|yz{yyz{z{z{{{z|zzzzzzzz{{z{zz{{zzzzyzzyx{{zz{{{zzzyzyyzy|z|{{z{{{zzzzzz{{{{|z{z{yyzzz{{z{{{|{{z{{yzyzz{{{{{{{{|zzzzzzz{z{||{{||zz{z{yyzz{{{{{|{{z{{z{zz{{{zzz||{{zz{zzz{{{{z{|{{zz{zz{zz{|{{{{{z{{z|{{{{{{|||||{{{{{{{z{{|{{{|z{z{z{z{{|}{{z||{{{{z{{{{z||{{z|||{{|y{zz|||{|{{||z{zzz{{{||||||{|z|{|z{z{|{{{{|{{{{{{{{{{|||{{|{z{{zz{{{{{|{{{{{{z{y{z{{{}{|z|z{{{{{{z{{z{{{y|||{zz|z{zzz{|{z{z{{z{zzzyzz{{}{{{{{{{z{zz{z{z{|{}{zz{{z{{{zz{{{{|{{zzyzzzzz{|z||{{{{y{zz{y{zzz{|{zzyzyzyz{{zz{zz{{{{z{z{yz{{z{zy|{zz{zzz{yzzz{{{{zzzzyzzz{{{{zz{z{zz{zyzy{{{{zzz{|{z{{{zz{z{{z{{{z{zzyzzyy{{{{z{zzzzzzzz{z{{z{{{||zz{zzyzzz{|}z{|{{zzzy{{zz{z{{{|{z{z{yzzz{z|{{|{{{z{z{z{{{|{{{||{{z|z{{z{|{|{{|{{{{zzz{{||{{{{{{{{{{z{{{{{{{|{{{|{{zzzz{{z{z|{|||{{{{{zzz{{|{z{{{|z{{||z{z|{{|{|}|{{z{{{{{{{|{}||z{|{z{{{{}||||{|{zz|{{{{|{|{{|{|{{{{{z{{{{{{||{||{z{z{{{|{||{|{|}{{{{{zzz{{{{||z{z{{zzz{{|{z{{{z{|z{{z{{{{{{{{{{{{zz{z{{{||{|y{{{zzzzzzz{{{{{{|{{|{z{zyz|{y{{||z{z{{z{z|{|z|z{{{{||z{z{y{{{{{|{}{zzz{{{zz|{zy{{{{{{zzzzz{{|{{{{{{{zzz{{{{{{{z|{{zz{z{zzz{{{|{z{{{z{zz{zz{{{{{|{{|z{zzzz{{z{{|{{}{zzzzzzz{{zz{{{zzzzz{z{zzzzz|{{{zyzz{zzz{z{{{{||{{zzzz{{{{z{{{|{{{{zy{{{||{{{|||{{{zzz{z{{{{{{|{|{{{zz{{z|{{{|{{{|{{{z{{{{{{{z|{{{{{{z{z{{}|{|z}{{{{{{{{{|{|z|||{{{{zz{{||{{||||{{|{{{zz{||||z{}{z{zzzz{|||||{||{{|z{{||{|||{|}||zz|{{{{{|{|{||||{{|{{{{}{||||{}{zz{{{z{|z|||||{|{{{{{z|{{{|{||{{{|z{|zz{{|{||{|z{{z{{zz{|{||{||zz{y{y{z{{{|z||y{{{z{zzx{{{zz{z{zz{zzzz{{z{{{|{{{zzzy{zz{{|{|{|{{{z{{zzz{{{{z{{{{{{zyz{z{{{{{{|{{yzyyz{zz{{z{{|{|{zz{zzz{z{{{{|{zzzzz|{z|{zyz{zyzzzy{zzzz{{{z{z{{yzzz{yzzz{z{zz{{{zyy{zzz{{{|{{{{zzzzzzzz{{{z{{{{zz{zyzyyy{zz{z{zyzyzz{z{z{{{{{{{{{zzzz{zz|{{z{{z{zzyzz{zz{{{|{{yzyzzzz{|{{{|{{|{{z{zzzzz|{{{{{{{zz{{zz{{{{{{||z{zz{z{{{z|}{{||{{{{{{zz{{|{{{||{z{z{z{z{{|||{z||{{}{|{{z{|{||{|||{{{zz{{||{|{|}|{{{z{{{{{{{{||{{||{|{|{|{{{||||{{{|{||{z{|{|||{{{z{z{{{{{{|{|{|||{{{{|{{{{|{{{||{{{zz{{{|{{}{{{||{{{{zz{|z|{{|{{|{{zz{zz{{{z||{{{z{{z{{z{|{|{{{{z{zzzzzz{|{z{{{{|zyzz{{z{z{z{{{|{{yzzz{zz{{{z{|{z{zz{zz{{{|z{{{{{zzz{{{zz{{{{{{{zyzzzzyzzz{|{|{{z{z{zyzzzzz|{{|{zz{zzzzy|z{{zz{{z{z{z{zzz{{z{z|{z{{zyzzzzz|zz|{{zzzzzy{z{{z{z{{z{zzzzzyzzzz|z|||{zz{{{zz{z{{z{z{zyzzzz{z{{z{{z{{zy{zzz{z|{{{{{{{{{{zyz{zz{|{|{|{y{{zzzzz{{{|{|{|{z{z|zyz{{||z{||{{z{zzzz||{{{{{{{{{|{{{{{z||||{}{{zz{z{{|{z{{|||{zz{zz{{{||{{{||{z{z{{{z||{{{||}{{|{z{{|{||z|{||{{{{{{{{{|}|||}{|{{{{{{{{{||{|{{{{zz|{{z{{{|{{|{{z{{{{z{||||{|{|{{{z|zzz{{|{{|{|{z{z{{z{{|{{z{|{zzzyzzzzz{{{z{|{z{{{{{zzz{}z{{||{{{yzz{zz{|{{|{{{z{zzz{z{{|{z{||zz{zz{z{{{{|{{{{{z{zzzyz{{||{|{{{z{y{zzy{||z{z|{zz{zzzy{{{{{z{z{z{zzzz{zz{{{{z{{zzz{zzzzz{|{|{{|{{z{{{zz{|zz|{{{{yzzzzz{{{{|{|{zzzz{zzzyz{zz{{z{z{zzzzyz{{{{z{{{{z{zz{z{{zzz{z|||z{z{zzzz|{{z{{{{{{z{zzzz|{{z{{|{zz{yzy{{{{z{z{{zz{zz{{y{{{zz{{{{zz{{z{z|z{{{{{{{{{{zz{{{|{{{{{|{{zz|{{z||{|{{{|{z{{{{|{{{{|}{||{{{z{z{{{{{{{{||{zz{{{{{|}{|||||z{{{z{|{{|z{{||}|{{{z{{{{}|||{}}|{|{z{{{||||{{|||{z{{{{||{{{{||||{{{{{{z|||||{|{z{z{{z|z{||{|{|{|{{{{{{z{||{|{{|{zzz{zz{|{{|{{{{{{{{z{|z|||{{{z|{z{z{z{{{||{{|{{||{{{{zz{}{z{{|{{|{{z{zz|{{{z{||{{zz{zz{z{{{z{{{zzzz{z{zzz{{z{{{{{{{zzzz{{|z{{{|{z{zz{zzzz{||{{zz{{zzyzzz|{{{|{z|zzzzzzz{z{{{{{zzz{zyzz{z{{{z{{{zzzz{z{yzzzzzz{{{{zzzzzz{z{zz{{{z{z{z{yzy{{{{{{zz{{{yzyzz{z|{{{{z{{{zz{z{{{{{{||{z{z{{{z{{{{{{|{{{{{{{{{{{{|z{{{{{{{{{{z||{{{{|zzz{{{zz{{||z{||{{{{{|{{{{|{{{{||z{{{||z{{}||{{{}{{{{{z{{{|||{{}|{z{|{zzz{|{||||{|{|z{{{{{{{{}||||{{{{|z{{||{||{||{|{{{{{||||||||{{{{{{z{{||{|||{|{{{{{{z{{{|||{|{z{{{z{z{{{{{{|z||z{{z{{{|{|{|{{{{|{zzzz||||{{{{{zz{zz{z||{|{{||{z{zzzzz{|{{{{{{{z{zzzzz{{{{zy{|zz{{zz{{{{{{z{{{{{zzzzzz{zzz{z{|{{zz{zzzzz{z{{{{{{{{zz{z{|z{|z{{{zz{yyz{{{{z{{{{zyzy{yzz{z{z|{{|zzzzzzzzz{{{{{{{{y{zz{y{z{{{zz{zzzzzzy{yz{zy{zz{z{zz{zzyz{z{{{zz{zzz{zzzz{z{z{z{{z{{{zzzz{{{zzz{{z{zzz{z{{{{{|zz{{{{zzz{|{{z{{z{{z{{{z{z{{|{{|{{zz{y{zzzz{z{{{|zz{y{zzy|{||{{{{{|{zz{{z{z{|}{{||zz|{{{{zz|{{{|||{{{z|{{{{|{{|{|{|zz|z|{{|||||{|{z|{z{{{{{{}|||{|{{{{z{{z{||{|||}{{|{{zz|||||{{{|{{zz{{z{{{{{|{{{{{{{z{y|{{{{{}||z{{{{{zz|{{|{{{|{{{{{zzz{|{|{|{{{zzz{zz{{{{|{zz{{z{z{yzz{{{z|z{{z{zzzyzy{z{zzz{|{{zy|zzzz{{{{{|{zz{{{z{zz|z{{{{{zz{zzzyyz{{{{z{zzz{zzzyyz|{|z{{{{zzzzzzyz{{|z{zz{z{zyzzz{z{z{{{{z{zyz{zz{|{zz{{z{yzzzyzzz{{z|{z|zzzzzyzyzz{{{{{{zy{zyz{xyzy{{{{{zzzzzyz{zzzyz{z{zy{yzyzy{{zz{{{{|zzzzyz|z{{{{{{{zz|zzzz{{zz{z|z|{z{z{{zy{{|{z{{{zzz{{zzzy{{{{{{{{{zzzzz{{z||z{||{zzz{{zzz{{{{z|{{z{zz{zz{|||{{{{z{z{{z{{}{{z|{{|{{{{{{z{{|{|z{{|{z{zzz{z{{{|{||{{y{{z{{{z{{||||||{z{z{{{z{|||z{{{{|{yz{z{z{|{|}|{{{||{zz{|||{|||{{{{{zzz|z{|{|{{{|{{zzzz{{z|{{|z|{z{z{zz{{|{{|{z{{{yz{z{{zz{z{{{{{zzz{{z{{{z{{|{yzzyzzzzz|{{{{{{{z{zz{zz|{|{{{|{{{zz{z{{{{z{{{{zz{{zzzzzz{{|{{|{{zyyzzzy{{{zz{{{zzzzyzzz{{{{z|{{{{zyzzzz{z{|z{{{{zyzyz{z{{|{z{zz{zzzzyy{zz{z||{{{z{zz{zzz{{|zy|{{{zyzzyz{{{zz{zzzzzzyzzz{z{z{{{{zyzzzz{yzz{{z{{{{zzz{z{z{|{z{{{|{zzzzzzzzyz{{{z{z{zzzzzz{{z{z{{{zz{{zy{zz|{{|{{{z{{zzyzy{||z{|{{{z{{{zzz{{|z{{{{zyz{{{{z{{|||{|{{zzz{{z{{{{{{{{{{{{{{{{{{{|||{|z{zz{{{z|||z|||||{{{{{{{{{||{||}{{zz{{{{{y|{{|{{}||{{zy{{{|}{{}||{{z{{{{|z|{|||{{|{{{{|{{{|{{z|}|{|{z{{z{z{{{|{{{{{{{yzz{|{|{{{|||zzzyzz{zz}z{{{{{zzyzzz{{{{{{{{{zz{yz{yz{{{{||{{zz{zzzy{{{{{z{|{{zy{z{z{{{{{{{|{z{z{zzzy{{{{|{z|{{{zzzzz{{z{z{{{{zzz{zz{{z{{z{{{{z{zz{zz{zz{{{{|zzzzzzzzy{z{zy{{{zzyy{zyzzzz{zz{zzzzzzz{{{{{{{{z{y{zzzzzz{z{z{z{zzzyzzzzzzzz{{{{{yz{zzzz{z{{{{|{{zzz{yzzz{{{{{{{zzzzzzz{|{{{zz{{zy{yzzz{{z{zz{||{{z{zzzz{{{||{zzzzzz{zz{z{{z{{{{{{{{{zz{z|{|z|{{{{y|{{|zz|{|{|||{zz{z{{{{|{{{|{|||zz{zzz{|{|||{|{z{{|z{{z||{{}{{z{z{{{{z{|}{|||}{{{{{|{{{||{{|{|{{{zz{{{||{{{{{{{z||{{{z{||{z|}|{z|{|{{{|z{||{||{{{yz{{{{|{{{|||{{{{zzz{{|||{z{{{{{{{z{z{|{|y|zzz{{{{{{yy{{{{z{z{zyz{{{z{z|{{{{{{{{zz{zz{{z||{{{z{z{{z{{{{||y{|{{{{{z{{y{z|{{{{|z{z{{zzzz{{{{{{|z{{{{zzz{{{z{|{zz{zz{zzzzz|{z{z{yzzz{zzz{{{z{{||{zz{y{z{{z|z{|z{{{{y{{{zzz{{|y{zzzzzzyzzz{{{z{z{zz{y{z{zz{z{z{|{{z{zyzz{z{{{z{|{{zzz{{{z{{z{{{{{{zzzzzzz|{{{z{{z{{{{zy{z{{{zz{|{|zz{zy|{z|{|{|{zz{{zzzz{{z|{|{||zzz{y{{{{|{{z|||{z{z{{{{{|||||{z{{|z{z{{|{z|{||}{{|z{{{z{|||{||z{{{z{|{{{|{|{|||{|{{{{{z{{{{{{||{{{{{{{{{|||||{{|{{|{{{{||{{||}}{zz{|{{{{z{{||||{{{{{{zz{{{||{{|{z{z{z{{{|{{||||{{{{zz{{|}|||{|{{{zz{yz{|{}||{{{z{{|{{z{{{|{{{{zz{{z{{{{z{{||||||{zzzz{zz{z{||{||{zzzzz{{{{|z{{|{{zzy{zy{{{{{|{{zzzzzzzzz|{{{|{{zz{z{zz{{{{{{{{z{z{zz{zz{{{{{|||zz{zzy{z{zz{{{{{{zz{z{{zz{{{|{|zzzzzzzyz|{{z{{|{z{zz{y{z{{{{|{{{z{zyz{zy{zz{{{z{zz{{z{{z{{{{z{{z{{{zzyz{{zzz{{{|{z||zz{z|{z{z{|{z{{zz{{{{{{z{{|||{{z{zzy|{{{{{|{{{z{{{y{{|{{||||{zz{zzzz{|{{{{{|{{z{{{|||{{|{||{{|{z{{|{{|{|{|||{{{{{zzz|{{|{|||{z{zz{{z{|z|||}|z{{{{{{|{z||{|{|}{z{{{{{{||||}|||{{|{z{{}}|{||{|{{{{z{||{{|{|||{|{{{|{{{||{|{|||{|{z{{z{{||{|||{{{{{z{z{|{|{{|{{{z{{zz{{||||||z{{zzzzzzzz|z{|{{||z{z{y{{{{{{{{{{{z{z{{z{{{{z{||{{yy{{zzzz{{{{|{|z{zzz{zz{z{{{{|{{{{zz{{zz{{zz{|{zz{z{zzz{{{{z{{zzz{zz{zz{{z{{z|{zzzzzz{z{{{{{{{{zyzzzzy{z{{z{z{|zzzzyz{z{{{zz|z{{zzzzy{zzz{yz{{{z{zy{zz{y{{{{|{{yzzyy{{{{z|{z{{{z{|yzyzz{{{z{{||{y{zzzz{{{{|{||{{zzzzz{{zz{{{{{{{{{{zzzzz{}z{|{{{{zz{zz{}|{{z}|{|z{{{{{z{|{z||{|{z{z{zz{{|||{|{|z{zz|z{{|{|{|{{{{z{|{{z{|{|{{{|{{zzz{{{{{|||{{|{{{{|{{{{{|{{|{||||{{{{{|{}|{|}|||{|{|z{||{{{|||||{{{{zz|z{||||||{{z{yz{zz{{{||||{zz{zz{{{|{|{}||{z|{zz{{{||{{{|{{{{{{z{z{|z{{{|z{zzz{z{z{{{{zz{{{{z{zz{z{{{{{z{|zzz{yz{z{z{{{{{{zzzzzz{{z|{{zz{{|{zz{{zyzzz{{|z|zzzzzy{zz|yz{{{zz{zzzzyz{{{zzz{{z{z{z{{z{z{{zzzzzyzzzzz{z|{z{{z{yzzzzzz|{{{{{||{{{zzzzyz|z{{zz{z{zzzzzzyz{zzz{zzzzyz{zzzz{z{{zzz{zy{{|zzzz{z{{|{{yzz{yz{zz{z{{{zzy{{zz{{{z{z{{{|z{z{z{{z{|{|{{zyzzzzz{zzz{{{{{{|zzzzzz{z{||z{||{zzyz{zz{{|{|{|{{{z{zz{{|z{{{|{||{{zy{zz{|||}{|||{{{{z{zz|||{|{|||{zzzz{z}|{|z|||{z{{{z{{{|{{||||{{{z{{{{z|{{{|||{{{{{{z{{{||{|}||{z{|{{{{{{}|{}{|{{||{y{|{{|{|||{{{z{zz|z|zz{{||{{{{z{{z{{{{{{||{{zyzz{y|{{z{|{{{{{zzz{z{{|{{{||z{z{{zz{{{{{{{{|zz{{{{zzzz{|z{{{zz{zzy{||{{|{z}{{{yzz{zz{z{|z|{{zz{y{{z{z{{{{{{{z{{zzy{z{{|{{{{{zz{zzzyzzz{z{z{|y{zz{{zzz{zzz{{{zzzyzyz{yz{zz{{|{zz{{zyz{{{zz{{zzyzzzyy{z{{zz{z{|zyyyzyyzzzz{|{{yyzz{{zyzz{{{||z{zzz{zyz{{{{{z{{{{{{zzyz{{|{{{{|{zz{|z{z{z{||||||{{z{yzzz|{z{{{{{{zzzzz{{z{{zz{{{{z{zz{z|{|{{{|zzz{{z{zz{{{|{{|{{zz{{{{{{{||{{|}|{z{{z{{{{||{{||{z{zzz|{}{|{||||||{{z{{{|{||}||{}z{{zzz{{||{{|{||z|{{z{z||||{|z{{z{z{{{{|{{{{||{|zz{{z|{{{{|{{{|||z{z{zzz|{{{{~||zz{{{{{{|||{|{|{z{{{zz{z||{{|{zzzzzzyzyzz{{{{{zzz{z{{zz{z{{|{{{{zzzzzyz{y{z{|z|{yz{{yzz{{||{{|{{y{zzzzz{{{z|{z|{z{zzz{zz{{z{{{{{z{zzzz{|z{{|{{{{{zzzzz{zz{{{z{|{zzz|zzzzzz{{{{z{zyzzzzzz|{z{{zzz{{zzzyzz{zz{z{zzz{zyzzzz{z{{z{z{{{yzzzzzz{{{||{zzzyzzzyz{{z{z||zz{z{y{{{|{{|{||zzz{zzz{{{|z|||zzyzzzzzz||{{{{|{{{zz{z{z{|{{z{{|{{{{{zz{z||{{{|{zz{zz{z{{{z{z{|{{{{{z{zz{||{|{||{z{{z{{z|{{|{{||{z|{z{z{|{|{|||{{z|z{z{{|{|{|{||z{{{|{{z{{{||{{||{{{z|{{z|}||}{{z{{|z{{|{{||{{|{{{||{{{{{{|{|||{|{z{{zz{{{z||{|||{{zz{{{{{z|z|{|{{{{y{z{{|{{{{|{{{|zz{zzz{|{||{|zyzz{zzz{z{|z{{|{zz{{zzz{{z||{{{zz{zzzz{z|{{{{{{{{zzz{y{{{{{{{||{zyz{z{y{z{{{{z{z{zyzzzyz{{{{{{{z{zzzyyzz{zzz{{zzyz{zyzz{zzzz{{{zyz{zzzz{{{z|zzzzzzzzzyz{{{z{{{{{zzzzzzyzzz{{z{z{zzzzzyz{zzzz{{{zzzz{yz{z{zy{z{{yzz{zzzzzzzz{{z{{{zyzyzzz{{{z||{z{zzzyzz{{{{{{{{zz{yzz{{{{{z|{{{{zz{zz{z{z{z|{{|{z{zyzzz{{|{{||{{{zzzz{{zz{z|z{z{{zz{zz{|{|{|{||zz{z{{|z|{z|y{{||{{{zzz||{}{{{{{{{zz{zz{{|{|||{|z{z{{|{{{|z{{||{{{{{|{{z{|{}{|{||{{{z{|z||{{|||||{{{z{z|{z{{{{}z|{z{{{z{{{z{||{|{{zy{{{z{zz{||||{{zzzzz{{{{{|{|{z{{z{z{z|||z{{|||z{zzz{zz|{{z|{|zzz{zz{{{{{z{{{|{{zzzzzz{{{{{z{z{zzzzzyzz{{{z{||z{zy{zzzz{{{{|{|{zyz{zzzz{zzz|{{zz{zz{zzyzz{{{{zzzzy{zyz{zz{{{|zzzzyzzz{zz{z{{{zyzz{{zzzzzzzz|{{z{zzzzz{z{{z{{|z|zzz{yzzzz{z{zzz|zyyzyzyz{zzz{{{|z{yzzzzzzz{{{|{zz{y{yzzzzz{{{{|{zzyzz{z{{z{{}z|{zzzzz{{z{|z{{|{{{zzyzzz{z|{|{|z{zz{z{{zz||{z{|{{zz{zz{zz||z{|{{{zz{{{zz{z{{||{|||zz{z{zz|||z{|{z{z{{zz{{|{|{|{{{{z{{z{z{}{}{{||{{|zz{|zz||{{||{{{{zzzz{{|{{{|||{{|{{{{z{{{{{|{{{z{z{{z{}{{|{{||{{{{{{{z{{{|{{{||zzz{{{{{{{{{{|{{{{{{z{z{{|{|||{{{{z{z{{{{{{{{z{yzyz{zzz{{{{{{zz{zzzzzyz{z{{{{z|zzzzzzzzzzz|z{{{{{{zzyz{z{|z{{|{zy{zyz{z{{z{z{z{zy{yzyzyz{zzz{{yzy{{zz{zz{{z|z{{zyzzzzzzzzyzyzz{zzzzzzzzz{z{{{zz{yzzz{y{{z{z{zz{zyzzzyyzz{z{{z{{{z{zzzyyz{{zyz{{{yyzyzzzz{zz{{{{zzz{{{zz{zzzz{{{zz{z{zzzyz{{{{{|yzz{zz{{{z{{{{{|zzy{{zzzz{{{z{z{{z{z{zzyz{{{|{{{zzzzzzz{{{|{{z}{{zz{zzzz{z{{z|{z{zz{z{zzzz||{{{{{z{yz{{{{{z{||{|{z{z{{{z{z|||||{{zzz{z{{z|{z{{{{zz{z{||{{||{{{|{|z{{{{{{{{||{}|{{{{{{{z{|{|{{{|{|{{{{{{{{{||{{{|{{z{|{z{{{{{|||{{{{zy{zz{{z{{{}{{{z{{zyz{z{{|{|{{z{z{z{{{{|z{|{|{{y{zzzxz{|{{{{{zzzz{zzz{|{z{|{{{y{zz{{{{y{z|{{{{zzyzz{yz{||zz||{zz{zz{{|zz||{||zz{{zzzzz{z{{||{{zz{z{zz|{{{{{{{{z{zzzzzz{zzz{{{zyzzzzzzy{zzzz{z{zyzzzyyz{|zz{z{zyzyyzzyzz{{z{z{zz{zzy{y{z{{{z{{yzzzyzzyz{z{z|{{yz{{zwzyz{z{z{|{{zzzzzz{{y|{|{{{zzz{zyzzz{{{{{|{{{zzz{zz|z{{|{{{z{zy{y{z{{|{|{{{zzzz{{y{{{|{|{||{{z{zz{{{||z{{|{{z|z{z{{{{{}|{{|{{z{zz{{{{z|{{||{{z{{zzz||{||{{||{{{{z{z}|{||||{{{{{z|{z}{z{{||z{{zzzz{|||{|{{|{{{|{{{{{|||{||z|{{z{{{{{}{z{{|{{|z{z{{zz{{z{||||{{{z{{zz{|{{|{{|{{{z{zz{{{{{|{{{{z{z{z|z{{|||z|{{zz{{zzz{z{{{{{{zzz{z{{{zzz{z|{{|y{zyyzzz{|{{{{|{z{{{z{{z{{|y{z|{z{zzzxz{{{|{{{{{zzzz{zyz{{z{{{{zzzzzzyz{z{{{{{{zzzzy{{z{z{{{{{{zzzyzyyyzz{{{{|zz{{zzyzzzz{{{{{{zz{zyzzzz{{{zz{z{zzz{{zyz{{y{{{{{zyzzy{zz{z{z{z{zzzzzzy{z{{{zz{{{zz{zzyz{{{zz{{|{z{{z{zz{|z|{{{{{{{zzzzz{{{|{|{z{{z{{y|zz{{||{{{{y{{z{{z{{{zz{|{|zz{z{zz{z{{|||||{{{zz{z{{{{}|{{{zz{{zz{{{z{||}|{zz{{{zz{|{|{{|{{z{z{{zz{}{|{{|{{{{z{|{z{{{{|}{||{{yz{{{{||{|}{||z|z{z{|}|{{{|{|zzz{z{y|{|{|{{||{zz{zz{{{{{{||z|{{zy{{z{||{|{|{{{{{{zzzz{{{{|{{zzz{zz{{z{{||{{|{{zz{zz{yz{{|{{|{z{zzzzyzz||{z|{||z|z{zzzy{{|||{{{{{{yz{{z||{z{{{{{z{z{yzz{{{z|z{y{{z{{zzz{z|{{}{z{zz{zzy{z{{{z{|zzzyz{{zzzz{{z{{{{zzzzzzz{z{{{{z{zzzyzyzz{z{zzzzz{zzyzzz{{|{z{{zzzzzzy{zzzz{z{zyz{{{zzzzzzzz{{{{z{{zy{zzzzz{z{z{{yzzzz{{{||zz|}{{zz{y{z{{{z{z|{{z{y{yzzz{{{{{{{|zzzz{z{{{|{{{|z|{{{zz{zz{{{|{{}{{z{{{z{z{{z{{{z{{|{|{{{|{|||{{||z{{|{{{{||||z{|{|{{{{{zz{{{{|{|||z{{{{{zz|{|||||{{{{{{|||||{{{||~{{{z{z{{||{}|{|{z|{zz{{||{}{z||{{{{{zz{{{|{|{||z|{{z{{z||{||{||{{|{z{{{z{{{{{{||{z{z|{z{|{||||{zz{{{z|z{{||z|z|zzzz{z{zz|{{{z{{{{z{yzyzz{{{{|{|z{zzz{zy{yz{{{||{z|zzzy{z{|{{|{{z{zz{y{z{{{{{{{|zzzzzyzyz{{{z{||{zyzyyyz{{{z{{{z{zzzyzzzzz{{{{{{zzzzzzzyzz{zy{{{yzzzzzzyz{{{{{{z{{zzyzzzzzz{{{zzzyz{yzzzzzz{{{zzz{zyzzyz{zz{y{z{zz{z{zzzz{{zz|{{{zzzy{zyz{z{z{{{{y{z{zzy{{{z|{|{z{zz{{z{z{{{{{z{zy{{{y{z{{{{z{{{{{zzzz{{{z|{{{|z{{z{|{z{{|z|||{{{{zz{{z{{z||||}z{{{{{{{{|{{{z||{{{z{{{{{{y|{{||{|{{z{z{{{|{|||{{z{{z{{{{|||z{{||{zz|{{|z{|{{}|{||z{{{{|{{{|z{|}{|{{{{z{z{z{|{{{|{{z{{z{z{|z|||{}z|{{z{z{{|{{{||||{y{{z{{{{z{{{|{zz{z{z{{{{|{{||{z{{zzzzzz{{z{{{z{zz{zzzz{z|{{{{{zzzzz{z{{{{zz|{{{zz{{yzzz{{{{{}|{z{zzz{zz{{{{|z|zzyzy{{z{{{{{{{{zzzzzzzz{yz{z{|{{{yyz{yzzz{{{{z{zzzzzz{yzz{{z{{{z{yzy{y{zz{z{{{{yzzzzyzzz{{z{{z{{{zyzxzzzzzzy{z{z{zzzyyyz{yz{{{yyzyzzzzyz{z{{|{{{zzzzzz{|{{zz|z|zy{{{z{{{z{{|{{{z{z{z{{z{{{z|{{{{z{{|z{z{{z{{{{{{{z{{{yz{z{{{{|z{zzz|{zz||{{{{z{{z{zz{{{|{{|{||{z|{{|||z||{|{}{||{z{{z{{||{|z|||{{zz{z{z{}|{{||||{z{{{{{{{{||||{|{z{z{{zz||{|||{{{{{z{{z{|{|{|{|{zz{{{|{{|{{{{||{z{{{|z{{{z{|}|{{zzz{zzz{{|{{{|{z{zz{z{z{|{|{{{{{z|{{z{{|{{||{z{{zzy{{zzz{{{{{{{{{zzzzzzz{{{{{{{zzzyz{zz{z{||z|{{z{zzyzz{{{{{{{|{{{y{zzyz{{{z{z{zz{zzzyzz{{z{{{z|yzzzyzzzzzzz{{zzzzyzzzzzzy{{zz|yzyyyyzzz{{zz{{z{zyyyzyzz{zzz{zz{zzzyzyz{zzzzz{{zzyzzz{zzzzzz{zzzzzzz{yz{{{zzz{{{z{{zz{zz{zz{{{{{z{yyz{yz{{{z|{{zzzzzz{z{{{{z{{{zzzzz{z{{|{{{{{|{z|{z{z|z|{{zz|yzzzz{{yz{{||{zzzz{yz{zzz|{|{z{{{z{zzzz{{{{{|{{{zzzz{z{{z{{z|{|||{{{z{y|z{|{}||z{{z{{z{{{{{{{||{{{{|zz{|{{|z|{{||{{z{{{{z{||{{{}|{z{|z{zz{{|||{|zz{zz{zzz{{{{z|||{{{z{zz{{|{{{|{{x|{{{{zz{{{z||z{z|yzyz{z{{|{|{{{{zz{|z{|||||}{||z{zzzzyy{{{{{z{|zzzzzzzz{{{{z{{|{zzy{{zy{zz|{{|{zz{zzzzy{{z{zz{z{zzzzzzzz{z{{{{z{{y{zz{zz{zz{{{{{zz{yzzz{{{z{{zz{zzyzz{zz{zzz{{|zyzzzzzz{{z{{z|{zzzzzz{zzz|yy{|{zzzzzyzz{{{y{{{{zyzzz{yyzzzz{{{zzzyzzyzy{{zzz|z{yz{{{yzyz{z|z|zzz{zz{zzyz{|{z{|{{zzzzzz{{{z{z{{{zzyy{z{z{{|zz{||{zz{{yzz{{y{{||{{zzzz{z{{{{{{{|{{{zz{zzz{|{{{|{z{z{z{{{z{z|{|{||z{z{zz|zzz{{{|||{{{{{{zz{||z{{{{zz{{z{z{{{{|{{{{{{|zz{{{{{{{|||||zz{{{{{{|{|{||{{z{{{{z{{{{{{{{{zyz|{{{{{|{{{|{||{{zzzzzz{{{{z|{{{{zzyzzz{{{{{{|{{zz{{{z{{{{{{||{z|z||{{|||}||{{{z{zyz{z{z{{{{{{{z{zzzzz{zz{{|{{zyzzzz{z{z{{z|{{{zzy{zzzz{{{z|zz{zzzzz{yz{{z{{z|z{zzzz{{{{yzz{{{{zz{y{zz{|{z{z{{yyzzzzz{zzz{{{{{zzzz{zz{y{z{z{|z{z{zyzzzzz{z{{{{{{{zzzyz{z{zzz|{zy{yzyzzxz{{zz{zzzzzzyzzzzzz{{{{zzzyz{zz{{z{zz{{{yzz{zz{zz{z{{{{zzz{yzzz{{{{z{{|z{z{zyz{|z{{{{||{z{{zyz{z{{z{{{{zy{zz{zzz{{{z{{|{{zz{{z{z|{zz|{{|{z{{z{{||{{||||zz{z{{{{{z{|{{{|z{||z{z||{{{z{|z{zz{{z{{}|{{{||{{{{{zz{|{|{{||{{{z{{y{{z{|{|{{{|{z{zzzz{{{|{{{||{{z{z{{{{z||||{|{z{{{{{{{||{{{{{zz{z{{z{{zzz{|{{{{{{y{zzz{z{z|{{zz{z{{zz{||}}|{{z{yzyzyzz{{{zzz{{zzyzyzz{{{{z{{{zzzyzz{y|z{z{{|zz{zzzzz{{|{{{zz{{zzyzzzzyz{zz{z|{zzzz{zzz{zzz{|{{zzz{yzz{{zzzzz{zyyyzzzyzzz{{{zzzyxzzzzz{zz{{|{zzyyzyz{z{z{{{y{{zzzzzyzzzz{{zzz{zzzzyyzzzzzyy|{z{z{yyzyzz{yzz{zzzxzzzzzz{{z{{{|{{zz{zz{zz|{zz{{{zz{zzzzzz|{{{{{{z{{zyzzz{{{z{{{{{zzz{zzz{{z{{||{{z{{{zzy{|{{|{|{{zz{{z{{{{{{{{{{z{zz{zz{z{{{{{z|zz|{zz{|{||{z{||{{z{y{{z||{{|{{{|zz{{z{z{|{{|{{|zz{zz{|{{|{{{||||{{{{y{{{{||||||{zzzzz{{{|||{|{{{zzzz|z{{{{{{z|||{zzzz{z{z{|||z|{{{z{zyz{{|{{||{{{{{{{zyzz{|{{{z{{{z{z{{{{|}|{{{{zzz{{zzz{{zzz|{z{zzzyz{zz{{{|{{zzzyzyzzzz{z{z|{zzzz{zzzz{{{zz{{{zz{zzzy{{{{{{{zzzzzyzzz{{{zz{{zzzzzzzzz{z{{z{{{{yyz{zyyzzz{{{{{{zzzzyzyz{zzz{zzzzz{yyz{{{{z{{{zzzzzyy{zzz||z{|zzzz{zzyyyz{{z{z{zzzzzzzzzzyz{{{{yy{{{yz{{zz{{|{{{zzzzz{{{z{y{{{{{zzzzz{{}{{{{{{|{z{{zz{zz{z{{z{|z{zzzzzzz{{{z||{{z{z{{{{{{|z{{|{{zzzzzy{{{|z{{{{zzz{{{{z{zz{{{|{z{{z{{|z||z|{||||zz{{z{{{{{{{{|{|z{{zzz{|{|{|||{{||{z|{{{|z{{{|{||{z{{{{{{|{{||{|z{{{{{{{|{|z{|{|z{||{{{{{{|||{{{z{{z{z{{{{||{||z{zzz{{{{{{||{{|z{zzzzzzzz{|{|{|z{zz{z|{{|}}}{{{zyzz{zzzz{{{z{{zzz{zyzzz{{z{z|{{zz{zzzzzzz{|z|{{{zzz{zz{{z{{z{{{{z{zzyzyz{{|z{z{z{z{zzzz{z{z{{{{zz{zzzzz{{z{{{{{zzzzz{zz{{z{{{{zzzz{z{zz{y{{{z|{zzzxzzyz{z|{zz{{{zzyzzyyz{{z{{{{{z{yzyzy{{{z{zzz{z{yyzyzz{z{z{z{zzzzzzzzzzzzz{{zzyzz{zzzzz{{{z{zzzzzzy{z{z{{z{{|zyyzzzzzz{|{||z{{z{zzzzzz{{{||z{z{zz{{zz{{{{{{{z{{z{{z{z{||{z{{{{z{zzz|z{|{}{||{{zz{z{{{{{{|{||{{{{{{zz{||{{|{||{z{zzz{z|{{{{|||{{|{z{{z{{|{|||}{{{{z{zz{}||||||{zz{{{{z||{{{{|{|{{{{z{y{{{{|{{{{{zz|{zz|{{{|{||{zz{z{z{{{z{|{{|{z{{zy{{z{{|{{|{{{{{zz{z||}|}|{{{yzy{{{yz{z{zz{zz{yzzzzz{z{{zz|{{{{yyzzzz{zz{{{{zz{zzzyyz{{{z{|{{z{yy{zy{{zz{zy{yzzzyzzzz{zzz{z{{zzz{zyzzzz{zzzzzzzyzzyyy{{zz{{{zzzyyzzyz{{z{z{{{yzyzzyzz{{z{z{{zz{zzzzyz{zzzz{{zzyzzyzyzzzz{{{{zzzzzzzy{zzzz|zzzy{zz{zzzz{{zz{zzz{zzzzzzz{z{z{{{z{zyz{{{zzz{z{|yy{zz{zz{z{{{z{{zz{zzz{zzzz{{{z{zzzy{{zy{{{|{{|{{zzzzzzz{z{{|{{{z{z{{yz{|{||{{{{{{{{z|{{{{{{{||{{zzz{zzy|{z{{{{{|zzz{{{|{|{z{|||z{z{z|{{{{{{{{{||z{{{{zz{|{{z|{{|z{{zz{{|{{{|{{{{z{z{zz{{{z{{{{}{z{{{zzzz|{{{|{{z{{zzzz{|{z{{{|{|zzyzzzz{{{{{|z|{{{zzz{z}|||||z{z{{y{z{z{|{{z|{{zz{z{zzz{z{{z||{z|{z{z{zzy{{z{{{z{z{z{zz{|{{z{{z{zz{z{zz{{z{z{{|{y{zzz{zz{zzz{{{{yzzz{zyz{{zz|{zzzzyzzz{z{{{{zz{zy{zyzzyy{zz{z{z{zzzzzyy{{{{{{{z{zzzzyzyz{zzz{z{zzzyzyzyz{{{{{{zzzzzzzzzz{zzz{{{yzzyzzzzzzz{{{|{zyzy{y{zz{{{{{{|{z{{yzzz{{{{{{{{zzz{z{{z{{z{|zz{{{{z{{zz{z{|{|{z|z{zyzzzz{zzz||{{{zzzz{z{|{{{|{z{zzzzy{z{|{{{{|}{{zz||{{|{{|{|{|{z{z{zz{||{|}|||{{{|{z{{{{|{|{}}|{|{{{{|{||{{|{||{z{{{{{{|||{{|||z{}{zz{|z||{||{|zz{z{{|{{||{||}{{{|{{z{{||}||{|{zzz{zzz{{|z{|{{|z{|{{|zz|{{{{{{|{|z{{{{|}|}|}{{{{zyzzzz{z|zzz{|{zz{zzzz{{{{{||z{z{zzyzz{|zzz{{{{zz{{zzzyz|{z{{{{z{zzzzyz{{zzz{|yzzy{zzzz{{{zz{{|{{z{zzzy{{zz{{zzz{zzzzyz{zz{|z{zz{{zzy{{{{z{{{{zzzzzzy{{{zz{{z|{zzzyyzz{{{{z{{{z{zzyz{yzz{zz|{{zzzzzzzyz{{zz{{{zyy{{zzz{z{{{z{{{zyz{zzz{{{zz{{|z{zyz{zz{{{{{{{|zz{zzz{z{{{{{z{{{y{{{zzz{||{}{{{zzzzz{zy{|||{z{z{{{{{yz|zy{{{{z|{z{z{{z{{{|{{{{{z{{{z{{{{{z|||||{|{z{z{{{||{zz||{{{zz{{{{||{{||{z{{|{{{|{{{{|||||y{{{{{z{|{{||||{z{{|z{z|{{{{|{{{z{|zz{{{{|z|{||{{|z{{zz{{{|{|{|{{{z{zz{{{z{{{{}z{zzzzy{{||{{|||{{{z{{z{|{}|}{z{zzzz{{{z{{{|z{{{z{zzzzzzy{z|z|{{{{{z{zzzzz|z{{{||z{|{zy{{z{|y{{{zzzz{zyz{{{z{{z|{z{{z{{y{{zz|{|{{zzz{z{y{{{zz||z{{zz{zzzzzz{z|{{zyzzzzyzz{{{z{{z{zyyzzzz{{{zz|{{{z{{yzyzz{{z{{{{z{zzzxzyzzz{z{z{zz{zz{zy{{z{{|{zz{{zz{zyzz{{z{{{|z{z{zzy{{{{{{{zzzzzz{zz{{{{{{{zz{{z{y{zz{|{{{{{{zzz{zzz{||{{{{{zzzy{zzz{|{{z{||{{{{{{z{{||{{{{|{||z|zz{|{|{|{|{zz{{{{|z{{z}{|||{{{{{zy{|{|||}|{{z{|{{{{{|{{{||{{{{{{z{|{|{|{|}||{{z{{{{{|||||{||{{{{|{{{z{|{|}{|zz{z{z{{{{||||{||{z|{z{{}|{{{{|{{{{z{z{{||||||||{{zzz|z{||{{{{{|zz{{zzz{{||}{z{{{z{zzzz{|{z{z{{z{zz{xyz{{{||z{{{{zzz{z{{zz{{|{|{z{zzzz{{{{zz{{{{{{{yzzz{{|{z{{{{zzzz{zzz{{z{{{{{z{z{z{zz|{{{{{{{zzzz{{z{z{{z{z{zzzzzyzyzzz{{z{{{{z{zyyyy|{{{{{|z{yzyzzzzzz{|{{z{zzzzyzyy{zzz|zzz{yzz{zzz{y{z{{{{z{{z{zz|z{{|{{{z{zzzzzzz|{{{{z{{{{{zzzz{|{{{|{|{yzzzzz{{{||{{{{z{{zzz{z{{|{||{{{z{zz{zz{{|{{{|{{{{{{z{|{{||{{{{||{z{{zz{{|{|||{{{{{zz{{{|||||||{z{{y{{z||||||{{{{{{{z{{{||{|}|{{{|{{{|{{{||||||{z{{{|zz||||}|{|{{{z|z{{{||{{|{{{z{{{{|{{{|{|||||{z|{{{z|{{{{{{{|{z{z{{{{{|z{{|{|{z{{{z{{}{|{{{{zzzz{{z{{{|{|zzzzzzzzzzyz{{yzz{{zzz{zyzz{z{{{{{{zzzz{yzy{{{zz{{{{zzy|{|y{z{{|z{{{zzzyy{z{{zzzy|{{y{{zzzzzzzzz{{zzz{yzyyzz{{{{{z{z{zzzzzz{z{{{yz{zzzzzzzz{{{|{{z{{zyzzzzz{{{z{{{{zy{yzzzyzz{z{{{{zzyzzzzyzzzzz{{zzyz{zzzzz{{{z|z{yzyyz{zzz{{z{{{{zzz{{zz{z{{zzzzzzy{zyzzyz{{y|{|{zy{zzyzz{{|z{|{|zzzzzz{z{{{z{{{{zyyy{zzz{{z{|{|z{{{{zzz{{{|{{||{zzzz{z{{{{z|{||{z{z{{{{z{{y{{{||z{{{{{y{||||{{}{|{{|{{{{z{{}z{|}{{{{{|{{{|{||{{|{{{z{z{{||{{}}{{{{|{{z{y|{{|{|{{{{{{{zz{z{{{{|||{z{{{{z{{{{|}{{|{{z{zz{{{{{{{z||{z{{{z{{z{{||{{|{z|zzzz{z||{{{{{{z{zzzz{{z{{z{{{{zzzyyzzz{{z{{{{zzz{z{zyz{{{{|{z{zzz|zz{{{|{{{{z{{zzzz{y{{z{z{{{zzzzz{{zz{||z{zzzzyzzz{zzz|z{z{zzzzzzzzzzzzzzz{{y{yzzzyz{|{{zzzzzzzzyzzy{{{{{{z{{|zzyyzz{{z{zz|{zzzyzyzz{z{zzzyzzyyzzzzzzz{z{{zzzz{zzzz{{z{{{{{z{zzyzzz{{{{{zz{{zzz{zz{zy{z{{{{{z{{zyz{{{z{z{{{{{z{{{z{z{z{|{||z{{{zzzzy{{{{{|{{{z{zzzz{{{z{{{z{zz{z{zz{||{}{{{{z{|z|{{{{{{{||{|{{zzzz{z{{|||{|z{y{z{{{{{|{|||{|{{{z{{{z{{{||{z}|{{{|{{{{|||{{||zz{|{{zz{|{|{|{{z{{z{{z{{{{z|{||{{{{{{{{{|{{{{||z{z{zzzzz{{{z|||{zzzzzzz{{||{{{{{{zzyzzz{{|{{|z{zzzzzzzy{||{zzz{{zyyzzzz{{{{{|{{{zy{zz{{{{zz{{{{{zyzzyyz{{{{zz{{{{{{z{zz{z{{|{z{z|{{yzyyy{z{z|{{zzzzzzzyz{{z{z{|{z{zyzzz{z|z{zzzzzzyzzzzz{zzz{{{zz{{zzzzzz{z{{z{zzzz{zzzzz{{{{{zzz{yzz{zzz{zz|{{zzzzzyzyzzz|{{{{z{zzz{zzyz{{{{y{z{zz{yzz{z{{{{{{zy{zzz{zz{{{|{||zzz{zzzz{{{{{{{|zzzzz{z{||{{{|{{{zz{{|zzz|{}z{{{{z{zzz{|{{zz{{{{z{|zzz|{|{|{|{{{z{{zz{|z|{{{|{|{{{{zzzz{{||||{|{{{z{{{z|{||{|{|}{{{{z{{{{||{|{}||{{{{z{{z|{|{|{||{||z{zz|{||{||{|{{{{{{{{zz{}{|||{{z{{{{{|{{|{|{{{zz{zz{z|z{|||{|{z{zzz{|z|{|{}{{{z{{z{z{||{{{|{zzz{zzy{{{{{{{|{zzzy{zzz{{zz{{{{z|{zzz{z{zz{{{z|zzyzyzz{z{zz{{{{z{zz{yyz{zzz{|y{zzzzzyzz{{zzz{z{{zzzzzzyz{{z{{z|y{{zyzzzzzz{y{{{zzz{zzzy{z{{{z|zzzzzzzyzzzzz{zz{zzzzyzzzzz{{z{{{zzyzyzzz{{zz{z{zzyyyzyzzyz{zz{z{zzzzy{zz{zz{{{{|zyzyzz{zzz{{z|{{yyzzzzzzzzz{{z|{z{{zzzyzz{{z{|z{{zz{zzz{z{{{|z{{{zzzzzzzz{{z{||{zyzz{{{y{{{z{|{|zz{zzz|zzz{{|{||z{z{z|zz{{|zz|||{zz{z{z{{{|{{{z{{z|{z{{z{{|{{|||{{{z{{z{|{{{|{{||z{|zz{{||{|||||{||{{{{{|{{{z{||{z{zzzz{{{{{{||{{{z{z{{{|{{{|{||{z{zzz{|{{{{{|{{{zzzzzzz{zz{{{{{zzzyz{zz{{{{z||{{z{z{y{z{{}z|z{{{{z{zzz{{|{|{{{|zzz{z{{z{{|z||{{{{{zz{yzz{{|{z|{{z{yz{{z{{{{{{|{{{z{{y{z{|{{z{{|zzzzz{zz{z|{|{||zz{{zzzy{|{{{{||zz{{{zzz{zz{{{{{{zz{zzzz{{|{{{{zz|{{zzy{{|{{z{|{{z{zzz{z{{{{{{|{{{zyzyxzz{{z{|z{zz{zz{z{z|{{{{{{{zzz|z{{{{{{{{{{|{z{z{zy|{{{{|{|{{{{{{{{{{{{{{|{z{{z{zzz{|{{{{{{{{{{|zz{{{|{{{}{{z{{{z{{{{{{|z|{{{|{{{{{{||||{{|zz{{|z|{|{{||{||{{{{{{{{|{|{|{|||{|{||z{{||||||}|{{{{{|{{|||||}}|{|{{{{z|}||||}|{z|{|{{{|||}{|{|{z|{{{{{{||{{{||||{|{|z{||||||{|{|zz{z|{|||||{|{{{{{z|{{{||{}|{||{{zz{{z{|{||{{z{z{{{{{zz{|z|{{|{z{z{{{zz||{{|{|{z{y{zzz{|z{|||}{{|zzzzzzz||z|{{{{zz{z{z{{{{{{|{z{zzz{zzz{|{z{{z{{z{{{z{z{{{{{{{zz{zz{z{{{{z{||{zzzz{yzz{z{{{{{{zzzzzzyzz{|{{{{{zz{{yyzz|{{zzzz{{zz{{zyzz{z{z|{{z{{zzz{z|{{{z{{{{y{{zz{z{{|{z|{|{{zzzzzz|z{{{{||{{{{zz{z{{{{{{|{zzz{|{zz{{{{||}|{z|{{z{{{{|{|{{}{{{{y{{z{||{{||{{{z{{{{{{||{{{{{{{zz{{z{||||{{|}zz{{{{{{|{{|||{|{z{{{{z{{{{{{{||{{{{|z{{||||{|{}{{{{{{{{{{|{|||||{{{{z{{|}||||{|}{{}{{{|{|z||||{|{{z{{{z{||z{|||{|{{{||{|z|}}|||{{{z{{z{{||{{||}|{{{{{|y||||{||{{{{{zzzz|z{{{{{{zzzz{{{z{{|{{{{{{{{zzzzzz{{{{{||{{{zzz{z{{{{{{|||z{{{zzzz{{|{|{|{zzz{{{{{{{{{{|||z{z{z{z{{{z{{|z{{{{{zyz{{z{{z|{|z{{z{zzz{z{{{{{{{{zzzz{z|{{{{{zzzz{z{z{z{|z|{|{{z{zyzz{{||{{{|{zzzz{zzz{{{zz}{{z{z{{z{z{{z{{{{zzz{z|z{z{z{{||{{{z{{zzy{{||{{|||{{{|zz{{{{|{|{{|{z{z{z{z|{|{{{{}|{{{{z{{{|{{||{|zzz{{{{z{||z{|||z{z{{zz{|z||{||zz{{zz{|{|}||}||}{{{{z{|{||{||{||{|{{{{zz{{||{|||{{z{{{z{{}{{{||{{{{{{{|{|{|||||||{{{{{z{{|||||}|{{|{{{|{{|||{}|||{z{|{{|}{{|||{|||{|{z{||||||}||{||z|{{{||{{||||{{z{y{|{{|{|{{|{{z{z{zz{{{{z|{{{{{zzzz{{{{{{{{{|{|z{|zz{zz{{{|{{zzzz{{{{|{{z{|{|zz{{zz{{{{|{{{|||{zy{{{z|{{{{{{|{{{zz{{z{{{{{{}{{|{z{{zz{||{{|{{|{{zzzz{z{{{|{||{zzzzzzz{{z{z{|{zzzzz{z{z{|{|{{{{{{yzz{{z{{z{{{{{z{zzy{{zz{{{{{||zz{z{|zz{z{|{|z{z{z|{zzz{{{||{|zz{{{zz{{|{{{{|{{{{{{z{{z{{{{}|{{{{{{z{{{{|{|{{|{{{z{z{{z|{|||{{{{zz{z{{{{{|{{|{{z{{{{{{{|{{z|||{|{zz{{{||||}{{{{{z||{{{|{{|}|}}{{{{{|{{{}||{||||{{{|{{z|||||}|||||{{||}{||}|}}||z{{{z||{}|||{{|{{{{|{{{|{{}|{||||{{{{{|{||}|{{}|{{z|z{|{{{{|||{z|zz{|{|||||{{||z|{{{{{z{{{|{{|{{z|z|{{{|||||{{z{zz{z{z{|{|z{z||{{{zzzzz{{|{|}||{{zzz{{{{|{{{{{|{zzz{zzzz{{{{{{{{{zzy{|z{{||{{z|{z|zzzzz{z|z{|{z{z{{z{z{z{{|z{{{{{{{{z{z{{z|{z{{{zz{|{{z{{|{z{|zyz{z{yyz{|{{{|{{{zzzz{zyzz||{{{z{zzz{yzz{{{z{{{{{|yzzz{z{{{{{|{{zz{{{|zzz{{|{{|{{{|{{z{{y{|{z|||zz{{{z||{{{{{|{{{z{{z{{{{{{{zz|z|{{zzz{z{|||{|{|{z{zzz{{|||{|{|||z|z{|{{{{z|{|{{{{z{|{z{|{|||||{{{{z{{{{|}{|{{||{z|||z{zz|||{|||{z{{{z{{|}||{{}||zzz{||{{|||{||||{{z||{{{}||{|}{|{{{}|{{|{||{||{||{z{{{{{|{{||}||{|{|{zz{|||}||}|z{z|{{{|{||{{||{{{{{{{z{{{|}}||{z{{z{zz|}|{{{{z{{zz{{zyzz|{{{|{|z{zzy{z||||{{{zzzzz{{zy{|{{{|{|{z{{{y{{|{{|{|||{{zz{{{z{{{|{{{|{{{{{{z{|{|{{|||{{{{{{{z|{{{z{{{|{|{{z{{{{{{{{||{z{zzzzz{z|z{{|{z{zzz{yz{{{{||{{{|{zz{zzzz{{{||{{zz{{z{z{{{{{{{{{{z{{{zz{|{z{|{|zz{{{z{z{{{{z{|z|{{{{zzz|{{||{{||{z||{z{{{|{|||||{{{z{z|{||{|||||{{{|{{{{{|{}||{{{zz{{zz|||||{}{}{||{{{{|{|z{{{|{{{{|{{{{||}||||z{|{{z{{||{|||||||||{{{{||}|{}|||{{z{|{||||{|||}|z}|{{{|{|||{}|{|{{{{|{{|||||}|}}{|{|{|{|}{|}||||z}{||{||}|{||}||{{|{{{||}||}|{||{{{|{{|{|||{}}|||||{{{{{||{||||{{{{|{|{|{{{}|||{z{{zz{{{{{{{{{}z{{{zzzz|{|{|||{|{{z{z{{{{{{|{}{|z{{{{zz{||{{{|{{{z{{{zz{{|{||{{z{{{{z{z{{|{{||{|{z{{z|z|{{|{|z{{{z{{{{{{|{|{{z{{{{zz{{{{{{{{|{{|zz{{{zz{{{{{{z{|z{{z{z{z{{{{{||{{zz{{zzz{{{{{{{{{{zzz{{z|z|{{{{z{{{||zz{{{{{{{z{z|z{z{{{|||z{||{{zz{{{z|{|{{|{|{{{{{z{{|z|}||||{{{{{{{{{}{||{{|{z{{z{|{|}|{{}||{{|{{{{z{|}{{|{|||{||||{{||}|}|||{{{{{|{{{{}||||{z{{{z{{|}||}}~}|||{|{{{|}}||||}||{{||{||{|}|}|}||z|{|}}|}|{}}{}|{|||{{{|}|}|}|||{{{{||||||{{|||{{||||{}|||||||||||{{|{{{|{}|}|}{|{|{{{{{}||||||||{{{{{z{}}||{||z|zzz{{{z{|{|{||{{{{{z{yzz|{|{|z{zzz{{{{{{{{{{{|{{yz{zz{|{|z{{{{|{{{{{zz{{{|{|{|z{zz{{{y{z|y{|{{{{{z{{{{{{{{|||zzzzz{z{z{{{{{z{{zzzz{zzz{{|{{{{{{{z{yz|{z{|z|{{|{zzzy{y{{z{{z{||zzzz{z{zz{z{z{{{{zz{z{y{z{{{||{{{{zzzz{yz{z{{|{{{{{zzy{z{{{{z{{|z{{z|{|z{|{{{|{||{{{{zz{{{z|{{z||{{{{z{z{|{||||{|z{|{{z{{||{z|||{y{{{z{{{{|z|}{{{{{{{{{{||||{|||{z|zzzz{||{||}||{{{{{{{z|||{{||||{{{|{z{|||{|||}{|{z{{}{|||{|z|{{}z{{{{{{|{||{{|{|{|{{{{||{|||}|{{{|z{{{|{|||||||{|{{{{{{|{z|||}|{|{{{{z{|{{|||||{{{{z|{{{|{{|||{z{z{zz{{||||{{{{{zyzzyzz{{z{{||z{z{{zzzz{|z{{|}{z{zz{{{{|{|{{{||{zy{z{{{|{{|z|{{|zzzzz{|{{{{{|{z{{{{zz{z|{{|{{{{z{z{zzz|{{{{|{zzz{zzz{{{{|{{|{{zzzzzz{z{|{{{{|{|y{{z{zz|zzz|{{{{z{{z{z{{|zz{{{{zz{{|zzyy{zz{|{|z{zzz{zzz{z{z{||{z{{z{z{{{|{{{||z{{zz{{z|||{z{{{{{{{{z{z{{|{z|||zz{z{|z|{{|||{{||{{{{z|z||||{|{{{z|zz{{{{{|}{{{{{zzz{{{{z{{{|{{||{{{z{{z{{||{{||{{{{{{}{|||}|}||{{{|{z{{{|}|||||{{{||{{{|||z{||||{{{z||{||{{|}||||z{{||{{}{||||||{{|{z{{||||{||{|zz||{{{||{|{|}{{|{|{{z{{{{{{|||{{{{{|{{|{}{{{{{z|{{{{{z{|{}{|{|{{|{|z{zz|}||{|{{{zy{zzz{{{{{{{{{{z|zzz{{{{{{{{|{{{{{zz{zz||{{{|z{{z{z{{{z{{{{{{{{z{zz{zz{{{{|{{{z{{{{{z{{||{{{{zz{{{zzz{z{{z{|{{z{{z|y{{{z{{{{{z{zz{z{zz{{{|{{{z{yzz{z{z{|zz{zzzzzzy{z|{{{|{{|{{z{zzz{z{{zzz{{{{{{z{z{zz|{zz{{{{z{{{z{y||||{{|{|zz{{{{{{|{z{}{{{z{{z{|{zz{{{||{{z|{y{z{{{z{|{{||||{zzz{|{{||}||{{z{|z{{{|{|{{||z{{|{{z{{||{{{{}{{|{{{{z{|{|{|{{z{zz{||{{|{|{|||{z{{{{{{|||}}|||{{{{{z{{||}|{||||{|z{||{{|||{|{}||{{{|||||||}||||{|{z{{|||||{||{|{{{|{{|{|{{{{|}|{|{|{{|{{{|}{}|{{{{{z{{{||{{{{|z{{|zz{{{{||{|||{z{zz|zz{|{|}{z{z{zzzzzzy{|||z||{{{{zzz{z{{{{|{{{{{{z{zzz{z{{|{|z{z|zz|{{{{{{{{{{{{zy{zzz{{z{|||{zz{zz{{{z{|z|{{{z{{{zzz{{{{zzz{zzzzyzzzzz{z{{{{z{z{zyzzzzz{{{{z{z{zzzz{z{{{{{{}zy{{zzz{z{{{{|{{z{{z{z{{{zzz{{z{z{zyzzy{{{z{{{{{zz{{{{zz{{{{{{{|{{{zz{{{{|||{{||{|{z|z{z{|z|{|{{{{{{{zz{{{||{{{||zzz{{{{z{|}{{|{|z{{z{{{{{||{{|{||{zz{|{{|{{||{{|{{{{{z{z||||{}{z{{{{||{{|z}|{|||{{|{{{{{|{|{{{|{{{{{{{{||||{{|||z|{z{|{{{||{|||||{{|z{|{|}|}|{||z|{{{|{|{{|||||{{z{|{{{{}||||||||{{|{{{||{{|||{{{z{{z|z{||||||{{{{{y{zz{|||{|||{{{z{z{{{{||}|{{{zz{zzzz{|{|{{||{{|{z{zz{{|{|{{{{{z{{{{{|{z||{||{{{z{{z{{{{{|{||{{{z{{{z{||||{{|z|z{{{|yz|z{|{|z{zzz{zz{{{{zz{{{zzyzy{zz{{{zz{{||{z{{z{z{{{{{|{{{zzz{{{z{z|z{z{|z{{{{{zzz{{{|{||{z{z{zz{z{{zz{{|{zzz{zz{z{z{|{{|zzzz{{z{{{{|{||{{{zz{{{z{|{{{|{||{{|zz{{z|{{||z{{{{{{{z{{|{{||{{{{|{{z{{z{|{|{{|{z|{|{{{z|{|||||{z{|{z|{z|{{{|{||{{z{||{{|||{{||{{{z{{{{||{}{|}|{{|z{{|{||{|{}}|{{|{{{|{{{{{|{}||{||z{z{||{{}}||||{{{|{|{||||||||{{{{{{{{}|||||||{z{{{{{{|||||}|{z{{|{z{z{||}|}{|{|{z{z{{|{{||}{||{|{|{z{{|||{||{{{{{z|||{|{|{z{zz{||{{zz{{z||||{z{zyz{z{|||{{{{{{{z{{{{{{z{|{|{{z{|{{yzzzz{|||{|{{zz{{z|{|z{{{{z{{z{{zz{{|{{|}{{{zz{zzzz{||{|{|{zz{{zzzz{z|{{}{{{zzz{z{{{{{z{{{z{{y{zz{z{{{{z|{z{zz{{{zz{z{{|||{{{{{zzz||z|z{{|{{zz{yyzz{{{{{{{zzzzz{{z|{{{|||||zzzzzzz|||{{|{|{{z{{z{{{||||{|{{{|{z|z{{{{{{{{{{{{{{|{{{z|{|}{|{{{z{zzz{{|{{{{||{z{{{{{z|||{|{}{{{{|z{{{{}}{|{|||{|{{|||||}{|{}{{{{{yzz{||}}|}{{z{|{{|{{||{{}}|{|{{{{|||{{|{}|}|{z{{|{{||||{{|{}|{{{{|||{}|{}|||{||{|{{||}|}|||{|||{|{{{|{{|{||{{{{{z{zz{{{{}|||z{{{z{z{}{{{{||{z|{{z|z||||{|{{zz{{zz|zy{{|{{{|{z{zz{z{{{{z|{{|{|{zzzz{||{|z{{|{z{zzzy{{{{|{{||{zz{zz{yz{{{{{{{{z{zzz|zz{{z{|||{z{zz{zzz{|z{{{{zzzz{y{z{{{{z{{{zzz{zzz{z{{{{{{{{zzzz{zzz{{{zz|{z{z{zzz{z{{{z||z{{z{zy{z{{zz{{{{zz{z{zzz{z{y{{{zz{{{{{zz|z|{{|{{z{{zzzzz|{||{{||zyz{{z|zz|{|{|{{{{{{z{{{{{||{|||{y{z|{z{{z{{{||{{{{z{zz|{{|{|||{z{z{{z{z|{|{{|{zzz{|{{{z||||}{|{z|{{|{z{{{|||{|||{{{{{{{|{{}|{|||{|{{{{{|||||||}{|{{{||{|||{|||}{{|{{|{{{||}}||{|zz{{{{|}{{|}||{|{|{{|{||{|||||}}{z{{{z{||||{|{{z{{{{{{y{{{||{||{{{{y||{{|{|{{||{{{{|z{z||}|}{||zzz{zz{{z||{|{||{{z{zz{{{{|{|||}{{{z{{|{{{|||{|{{{{zz{zz|{{|{{{{{{{z{{z{{z|{{{{|{{z{{{|z{{{{|{{{|z{zz{z{{||{z{{|{{{zzzz|{{||{|{|{z{z{{{z{{{|{|{{|{{{z{z{{{z{{{{{{z{zy{z{zz{{{{||{{z{{zzz{{{{{{{z{zzz{zz{{{z{{||{{{zz{{zzz{{|{{{{|zz{{z{{{{{{z{{|{{{{{{{z{{|{||{}{{{{{{z{{{{{||{||z{{{z{{{}|{{{|z{{{{{zzz{||z|||||z{{{{zz|{}z||{|{{{{|z|z|}||||{|{||z{{|{}|z|{|{|z|||{z{{{{|{|||{}{{{{{{|{|||{}{}{|{||{||||{|||{|}||{|{{{{~|}||}}|{{|{{{}|{||{||}|{{{|{{|{}|{{}}||{{{{{{{|||}{|||{{|{{{{zzz|{|}}|||z{z{z{{||{||{||||{{{{{||||||{{z{z{{{{z{{{{|{{|{{z{zzz{{|{|{|}||{{z{{{{{{{{||||{{{z{zzz{{{|{{|{|{{{{z{{{{|||||{{z{z{z{{{{z{z|{||{z{{{zz{z{{{{|{zz{{z{zz{{{{{{{|zz{z{zzzz{{{|{{|z{{zz{z{{{{{{|{{{{{{zz{z{{z{{{||{zzz{{z{{z{zz||{|{z{z{{z{{{{||{|{z{{|zzy{{{{{|{|{z{{z{z{|||||{||{{{{zzz{|{{||{||{z{{z{{z||{|||||z{{z{z{{|||{||{{|{{{{{{z{{|{{{|{{z{{{z{{{{|{||{|{{{{|||{||||{|||{{{{{{z{|{||{{|||{||||{{||||||{|{{z{|{|{|}||}|}{{{{{||{||{|{{||}||{{{|{|z||{{||||{|{{{{{||||{}|||z{{|z{|||{{{||{|{{|{z{{|||{{||||z|{{|{{|{{||{}||{{{{{{{{{{{}|}z{{{{{z{{{|{{{|{|zzz{{zyzz{|{{{}{{{z{{z{z{{{{|}|}|{{zz{z{{{{|{||}|z{zzz{|z{|||{|z{{{{yzz{{{||{|{|z{zzzz{z{{{|{|{{zz{z{{z{{{|{{||z{zzzy|{{{z{|{||{zzzzyyy|z{z|z{{|{{{yyzz{z{{z{{|{{{{{{{zy{{z{|z|||{zz{{{zzzz{{|z{z{zz{y{{{{z{|{{{{{zz{{y{|{{||{{{{y{y{z{{{{{{z|{{{{z{{z{{{{{{{}{||{{{{zzz{|{z{|||{{{{{z{z{|{{||{{z{{{{{z{|}|{{{||{z{z{{z|||{{{|{|{{|{{{{{||{|||{|z{{{z{{z|{{}|{}||{{|{{{{||{{{||||{{|{z|{|||}|||}{{{z{{{{|||||||}|||{{|z||}{|{||||{{{{{|{||||||||||{z|{{||{|||}|}||{|{{{|||||{|||{{z{{{|{{|{|||{|z{{z{z{z{{||{||}{z||{z{{z||{{{{|zz{{z{z{y{{{z{||{zzzzyzz{{{||z{{z{y{zz{z{{{{{{|{{{{{{zz{{|{zz{||{{zzzzzz{{|{{{{|{{zzzz{z{|z{z|{zzz{zzzzz{{z{{|{z{{z{zzyzzz{z|{|{yz{zzzz{{{z|{z{{zyzzzzy{z{{{zz|z{{{{zzzzz{z|z{}{{{zzzy{{z{{|{{{z{{z{{{zzz|yz{{z|zz{z{zzyz{{{z{||{yz{zz{{{z{{}{|zz{{{{{{z{|z||{||{{{z{{z{{{zz{|||{{{{{z{zz|{|{||{{z{{zzz{|{|z{}|{{{z{{{{{{{{|{{{|{{{{{z{z||{|||||{{z{{z{{|||}|{|{{{{{{{|z|{{{{|||{z|z{{{z{}{|{|||{{{z{|{|{||||}||}{z|{{{z||{|||||{z{||{{{{|{{{|}||{{{{z{{|||{|}|}{{|{{{{{|{|{{||||zzzzz{z|{{|{{|{{z{{z{{{||{{{||{zz|z{|{|{{}|z{z{zyz{{{z{{|{zy|{|{{{zyzz{{{{zz||{{{{{{zz{{{{z|{|{|{{{z{{zz{|{{{||{z{{z{{{{|{|{|{{z{{{z{{z{z{{z|{{z{{zz{{z{{{{{z|{{{{{{{{{{{{|zz{{z{zzyzzz{{{zz{{||z{{zzz{{{{z{{|{{{{zz{zzz{{{z{|{z{{zzz{{z{{z|||{{zzzz|{z{|z||{|{{zzz|{{z{||{{{{{{{{{z{{zz{{|{{||z{|{|z{{{{|{{||||z{{{z{z}{}{{|||{{{zzz|{{{|||}|||{{y||{z|{{|||}{|{z{{z{||}|{||{{|||{{{{|||||{|{|{|{z{{|{||||||}}{{{{||zz|||{}||{|{z||{{{||||}|}||z|{{|||{|}|||||||{||||{{}||}|||||||{|{|||{|{|}|}|||{{{||||||}|||{||||{||{{}{|||{{|{|z{|{{{{{{{{|{{zz{{z{|{{}{|{|{{{|{|{||z|{|zz{{z{zzzz{|{{|z{{z{{{yz{z|{|{}{||{{zzz{zzz|{{{{{{{zzz{{zzz{{|{|{{zzzzz{{yz{{{{z{|zz{zzzzzz{{zz{{{z{{{{zzz{z{{{|{{z{zz{{{z{{{{{{{{{zyy{zzy{{{||{{{{zyzzzyz{z|{z{{{{z{{yzzz{{{zz|{{{z{zzzzzzz{zz{{{{{z{z{{yy{z{{{{|zzz{zz|yzz{{{{|{{zzz{y{{z{{{|{||{{{zzz|{|z{|{|{{z{zz{{zz|{|{{{{|zz{{{{zz{{z{{|{{z{{{{{zz||{{|{|{{{z{z{{{{{{{{|{{{{{z|{{{|}|||{{{{{{}|z{|||||{||{|{{|z{z{|||{|{||{{{{|{{|{|||{|}|{{|{||{{||||{||||{{{|{|{|}||||||{{{|{||{{|{{|||||{z{{{{{|{||||}|{z{{||{{{{{||}||{{{y{z|z{|{||{{|{{{{{{zz{|}{||}{|z{{{{{z{{||{{{{zzzz{yyyz{{{{|{|{|{{zz{{{{{|{{}{z{zzz{{z{{{{{{{{{z{{yz{{{z{|{{|{{{zzz{{zz{|{{{{{{z{zz{z{z{{z{|zz|z{zzz{zz{{{|{{z{z{zzz{zz{{{{{{z{zzzzz{{zz|{{|{{{zzzzzy{z{{{{{{{{zzzzzzzz|||zz|{{zz{zzzz{|{z{z{{z{zz{z{zz{{{{{|{z{{z{{{zz|zzz{|{zz{{{y{y{{|{|{{{{z{zz{{z|{{{{{||zy{z{z{|{{||{|z||{{{zz{z{{{|{{z{|{{{zz{z{||||||{|{{{{{{{|z|{z{||z{{{{{||z|{|{}{|{z{|{{z{{||}{}|}{{{{{{{{{|{{||}|{|z|z|{{|{{|||||{{{z|z{{z||{{{{}|{|{{{}{z}|{||{}|{{{{{z{{||}|{}|{{{||{{{{|{{|||{||z{{{{{{|||{|{|{z{z{|{{{{z{{{}{|{{{{{z{{{||{{|{z{{zz{z{{}|{|{||z{zz{zz{{{{zz|{|{{{{{zz{{{{{{{{{{{zzzz{z|{{{z{}{|zzzz{zz{|{|z{{|{z{{z{{z{{|{{|{{y{{z{{zzz{{{{|{{{z{{{{{z{z|{{{{zzz{zzzzz|zz{{|zzzz{zyz{z{{z{{z|{{zz{yzy|{|{{|{{{{{{yz{{y{|{{{{|{z{zzzz{z{{z{{{{{{{{z{z{z{|z{{}{zzz{zzzyz{{{{{}|{{z{zzzz{z{|{{{|z{{{z{{z{{z|zz{|{{{z{z{z{{z|zz{|}zzz{{zz|zz{{{{{{zz{z{zzz||}{{|{||{{{zzzz{}{|{|{|{{{{{{{z|{{||{|}z{{{{{{|||{{|||{z|{{|z{{{|y{}}|{|{{z{{{{||||||||z{{{{{{{{||{||{|{{{{{{{{{|}}||{||{{{{z|z{{}}{||{}|z{{{{z|{||||{{||{|{{{{|{{{||||{{{{{z{{||{|{|}{{z{{{{{y|{||{{|{|{{y{z{{{|{{{{z{{z{y{z{{{{|{{{{{zz{z{z{{z{|{z{|{{{{zzzzz{{|{|||}{{{{zyz{|||{z{{|z{{zzz{z|z|{{{{}{z{z|z{{{|{{{|{{z{|zzz{z{{{z|{{{{{{{zzzzz{z{{{{{z{z{{zzz|{z{{|z{{zzzzzz{||{z{{|{{z{zy{z{{|{{{{{|{{zz{zzz{zz{{{{{{{z{zzzz{z{{{{{|z{{z{{y{|{z{{||{|{{z{z{{{|||{{{{{zzzzz{z{{z|{|||z{{{yz{z{|||{|}{{{{{{{zzz{{{|||{z{zz{{z{||{||{|{{{{{|{z{||{{|||z{{z{{{{{{{||||}{{{{{|{|{{{||{|}|{{{|{{{{||{|||{||{zz{{{{|{||||}}||{||{|||{||||||{{{{{||{{}|}||||||z{z{{{|}||{|}|{{|{|{{{{{|||}||{|{||{|||{z}{{||{|{z{{{z{{|{{{|||{{z{z{{{||||}{|z{|{zz{{z||}{|{z{zzzzzzy{|{{|z{{{{{{zzzz{||{{|{|zz{y{z{z|{{{|{||{{{zz{z{{{{zzz{|{{|{zz{{z|{zz{{|zz{zz{{z{{{{{|z}{{z{zzzzz{{{{|{{{z{{z{zzzz{{z|z{yy{zz{yzz{{{{{{{{zzy{{zzzz{|||{|zzzyz{zz{{|zz{{zz{z{zz{zz{{z{{{|{zzz{{zzz{z|||{{zz{{z{zz{|{z{|{{{zzzzzzzz|{{|{|{zz{{z{|y|{|{|{{{{{{{y{z{{{{z{|{{{{{{zz{{{|||}{{||z|zz{z{{|{z{|{{{{z{{z{{{{|{{|z{{{{{{z{{{|||||||{{{z{{|{|||||||}zz{{z||{{}||{||{|{z{|{|{{||||}|||{{{{{{z{{||{}|||{{{{|{z{|||{|||{{|{{{zz|}||||}}{{{{{{{{{|z|{|||{|{|{||{{|{|}|{||{z{{|z{z{|{{|{||zzz{{{{{|{{{{|{{z{z{{{{{{|{z|{||{{{zz{z{{{{{{}{|z{{zzzz{{{|{||{{{{zzz{z{{{{{{|z{|{{zzzz|{|{{z{|{|{z{zzz{|{{|{||{{{{zz{z|{zz{{|{{{{zzzzz|{|{{{{|{{z{z{|{z{{z||{{{z{z{zyy{{{{{z||{zz{zzzz{z{{{||{{{zzzzzzz{|{{{{{{z{z{z{{{|zz{{{{{z{zzzz{{{{{{|{{zzzz{{{{{{{z{|{|{z{y{z{{||{{{||}{{{{z{{z|||{{|||z{z{z{z{|{|||{{||{{z{z{|{|{{z|{||{{{|z{{{|}||{||zz||{zz||||{{|||{{|{{|{||{{|||}||{{{|{{||}{|||}||{{{{{z{|{|||||||{|{{{{{{}}}{|{||{||{||{||}||||}|{{z{|{z{}{|{|}||{{||{|{|}}|||{||{{{|{|||||||{||||{{|{{{||{|{|||{|{zzz{z|||{|{|||{{{{{{z{{|{{||z{{|zz{{{{|||{{|{|{zzz{zz{{|{{{|{{{{{zz{z{{{{{{{||{{{{zzz{{{{{|||{z{zz{z{{{{{{z{|{{z{{z{z{|{{||{|{zzyzyzz{|{z{{{z{{zzzzz{{z|{z{{|zz{z{z{{zz{{{{{{zz{z{zz{z{{|{z{zz{yzzz{{{{|z|{|}zz{zy{{zz{{{|||{zzzzz{{zz{z{{{{|z{{zzy{|z|z{|{{|yz|zz{{z{{{|{{|{{zz{{yz{{{{||{||{z{{{{|z{{|{|{{|{z{{{{z{{|{{{|{||z{{{{{z{|{|{}{{{{{{|{z{}|{|{{|{{{|zz{{{z{{|{{{{{{{{{|{z{{{}}|||{|{{{{{||}||||||{zz|{{{|||}|{{|{{z{{|{{{|||{|||||{{z{||z{||||{||{{{{{{{|{|{|||}}|{z{{{z{|{|}|{|{|{{z{|{|z|z{|}}||{{{{{{{|||{{|{|{{z{z{{{||{}||}||{{{{z{{||||{{|{z{{z{zz{{{{||{{zz{zzz{{zz{{|z{|||zzzzzy{{{{z|}|{|{zz{{yy{{{|{{{|{z{zzzzz{{|{{|{{zz{zzz{z{{{|z||z{{{{{{{z||{z{{|{{z{z{{{{{z{{{{{{{zz{z{z{{z{z{|{zyzzzzz{z{z{z{{{{zz{zy{y{{{{{{{z{zz{zzzz{zz|{{zz{y{z{{zzz{{|{{z{{{{zz{{z{{{zz{|{{{z{zy{{y|{{{{|{{{z{{{{{z|{{{|{{zz{zzzz{z{{{{{|{{z{{{{z|{z{{{{{|{{z{{{|{{||z|{|||{{{{z{{|{{{{|||||zz{{zz{{{|{{||{{|{{{z{{{||{|}|}{{{|{||{{|{||{||{{z|{{{{|{{{{{|{{{||{|z{|}{||||{|||{|{||{{{|||{}|{{{z|{z||}||||{{{|{{{{{|{|||||{{{|{{{||{|{||||||{{{{{||||{|{|}||{|z{z|{{{{|{{|||zzz|{{{{|{{|{|{|{{{{z{{{|{{{{{|{{zzzzzy{{{{{|z{zzzzzz{yz{{{{||z{{{z{|{z{|{{||||{{{|{zz{{|{{z{||{{{{zzzz{||{{{z{{{{zzzzz|{{{{{{|zz{zz{zz{{z|{|{{{{{{{{zzz{zzz{{{|zzzzzzz{zz{z{{{{zyzzzz{|{{z|{{{{{{zzzzz{{{|||{|z{zz{{{{{{z{z{{{zzz{zzzz{{{z|{{{zz{zzyz{{{{{{{||{{{{{|{z|{|{|{||z{z{{z{{|{{{{z||{{z{{{|z{z{z|}{{{z{{{z{{{||||{||z{{{{z{z{|{{||||z{{{z{z|{{{}|||{|{{{{{{{||}||||}{{|{{{{z{{|z{||||{{{|zzz||}||||{{|{|{{{{{|{|{||{{{{|{|{|{|{|}|||||||{{||{|{}||}|}|{{{{{|||{{{||{}{|{{{{{{|||||}{|{{||{|{{z|{|{||{{{{{zzz||{|||{|||{{|{{{{|||{{||{z{{{{{z{||{{{zz{zzzz{yz{{zz|z{{{z{zzzyz{{|{||||{zzz{zzz{{{{|z|{zzzyzzy{z|{{z|||{{{zz{zz{{{|zz{|z{zzz{zz{|{{z||{zzzz{{yz|{{z{z{zzzzy{zzzzzz{{|{{zzz{yzzzy{{{z{|zzzzyz{yyz{{{{{{{{z{zzyzz{{{{{z|z{{zz{zzy{z{z|{{{{{{{z{zz{{{|{|{{{z{{{{{z{{z|{{||{zzz{yzz{|{{{{{|{zz{{y{{{{{|{{|{|{z{zz{z{{{{{|{{{{{zzy|{{{{{||||{|{{{{{{{{|z{z|{{{{z{{z{{|{{z{z{{{z{{{y{{|{||||{z|{{{{{{|{|}||{|{{{{{{{z|{{|{{|z|{{|z{z{{|||{|{||{{{{{{{{|{{{||}||{{|z{{{|}|||{}|{{|{||{{{{z{|}||{{z{{{{{|||{{{}|{{{|{{|{{|{|{|{|zz{y{{{{{{{||||{{zz{z{zz{{|{{{|{|{|zz{z{{{{z{z||{y{{zzzz{{|{{{{{{yzzzzy|{z{||{||z{zz{{y{{{z{|{{zzzzzzz{{{{{z{{|{zzz{yzz{{z{zzz|zy{zzy{zzzz{{{{y{{{yyz{z{z|{zz||zz{{z{{yz{z|{{{{zzzz{yz|{{zz{zz|zzzy{zy{z{|{{{{{{z{{z{y{z{z{|{{|{zyzy{zzy{zz{|z{zzzzzzzzzz{{z{{|y{{{z|z{z{{{{z{|{z{{{zz{{|{{{{||zzzzzzzz{{{{z{{|z{zzz{zzz{|{z||{||z{zz|{|{{|{{{||y{z{{{{{{{||{||{{z{{z{z{{|{{{}zz{z{{{z{{{{z{|{|{{{|{|{{||{||{|{|{{{zz{{||z|||}{{{{{{z{{||||{{|}zzzz{{{{||||{||{|{|{{{z{{||{{|||{{{|{z{{|{{{{|||{{{|{{z{{{||{|||{{{{{|{{{|z{|||{{zz{{z{z|{{{||||{{{{|z{z{{||z{|{{{z{{zzz|{|{{{{zz{z{{z{y{{|{z|{|{{zzz{zz{z{{{{||z{zzzzzz{{{|{{z|{{{zyzzzzz{{zz{|{{zyz{{y{{{||||{z{{yzz{{z{zz{{{|zz{zyzzzzz{z{||zzz{yy{zzzzzz{{{zzz{zzzzzz{z{zz{z{zzzzzyzzz|{{{{{{z|zzzz{zz{{{{|{{{{{zyz{{z{{{z{{{{z{z{{zz{z{{{{|zzzz{|zzzz||z{{{{z{zzz{{z|{z{{{{{{|zzz{zz{{{{|{{{y|yz{zz{{|z{||{{{{{zzy|z{{{{{|||{y{{{z{||{z|{{{{z{}z{zz||{{|||{{{y{{{z{{{}|{|{{{{|{{z|{||{|{{|}{{{{|{{z{||}{|}{{{{{{{{z{||{{|||{{{|{{|{{|{{|{|||{zz{||{{|{{|{||{{z{|{z{||{{{{|{|z{{{{{{|||||{||{{{{zz|{{{{|||{{|{zzz{zz||{{{||}||{z{z{{|{|z{|z{{y{{{z{z{|{{{{||{z{zz{zz{{||{z|{zzy{{z{z{|{|{|{|||{{z{zz{{z{{{}|{z|{{z{{{{{|z{{{z{zzz{{y{{{{zz{{yzzz{|zz{|{z{{{z{zz{zzyy{{|{{{{{{zzzzzzy{z{{z{{{yz{zzz{z{{{{{{|zyzyzz{y{{z{{{{{|z{{{zyz{z{{{z{{||zzz{zzz{zz{{{{{z{zzz{zzy{zz{{|{{zz{zy{z{z|z{{{||zz{zzzz|{|{zz|{z{{z{zzy{{{||{{{{{|zzz{{{{{{|||{zzz{{{zzz{{|{{{{|zzz{{|z|{{{||||{{{{{{z{|{{{{|}{{z|z{{{{|{{|z|{{z|{|zz{|{{{{||{|{{{{{|z{{||}{{{||{{{{{{{{|{|}{||{z|z{{||{|{{|{{|}{{{z{{{z}||{{|}{{{|{z{||||{{|{{|{{{{{z|{{{||{{}{{{{|{|{{{|||||||{{zzz{{|||{|{{||{{{|{{zz{{|{{||{{z{{{{z|{{{|{{|{{{{|zzz|{{{{{|{z{zz{zzz|{|z{|||{{{zzzz{z{{{{|{{|z{z{zzzz{|{{{|{{{zz{{{z{z{{|{{{zz{{zz{{{{{z{{|||{{{yzy{{z|{{{||{{z{z{zz{z|{{z{{zzzzzzz{{{{z{||{{{zzzzz{|z{{{{{{{{{zzzzy{{{{{{||{{zz{yzyz|{z{{{{{zz{zzzz{|z{{|z{{z{zy{z{|z{{{{{|z{z{{{{|{{{{|||}|{{zzz{z{{|{{{|{z{{zzz{{zz{z{z|}{{{{{{{zz|||{|{|{z{{{{zz|{|{|{|{|{{|{{|{|{|{|{||{{|{{z{{z{||{|}{{{|z{{{{|{||{|||{z{|zz{z{|||||{{|{{{z{{{|||{|||||{{|{{|{}|{|}||||{z|z{z{||}||||{|{{|{|{{{{|{|||}|{{{z{{{{|{||||}{|z{||{{||{|||}||{{||{|{{|{{{||}}{|{{{zz{{|{||{|{{{{{{z{||{{{}{z{{zyzzzzzz|{|{z|zzzy{{{z{{{{{{||{{{z|{z{|{{|{{{|{{{zz|zz{{||{z{|z{{zzz{z{{{{||z{{{{zy{|{{{|z|||{{{z{{zz{z{{{z{zz{zz{zzzy{|z{z{{{{zzy{yzz{{z{{{{{{zz{zzzzz{{z{|{{{z{zzz{z{{{||{{|zz{{zzzzz{{z{||{{{{yzzz{y|{{{z{{z{{{|zzz{{{z|{|{{z{z{{{{{{{z{|{|z{{{zz{{{z{{{{||z{|{z{z{z{{{|{z|{{|{{z|z{|||z|{|{z{z{z{||{|{|||{{{z{|{{{{{|{|{{|{{{{{z|{z||{|{{|{|{z{{|{{{{|||||{|{{{|{{{}||||||{{{{{{|{{|||||||||z|z{||{{{||||z}|{{{{{||}|{{}|||{{z|{|z||{|{||{|zz|{{{|{||{{{}||{{{{{{{{||{|||}{{|z{{{{{{|}||}}|{z{z{{{{||}{|{{{z|{z{{{|{z|{{z{{zzz{zzz{{||z{||{{zzzzz{{z|{|{||z{zzzz{{|{z{|{{|{|{zz{zz{{}|y{{z{z{zzz{y{|{{{|{{{zzz{{zzy{{{{z{{{z{zy{zz{{{z|{{zzzzzzzyy{zz{z|{{z{{z{y{{zz{||{{{{{z{zzz|{{|{z|z{{z{z{{{yz{{{{{||yzzzzyzy{{zz{{{|{{zz{zzzz{{z{{{|{z{z{{z{|{z{{{|{{|zz{z|{{{{{{{||zz{zzz{{{zz{{|{{{{{{zz{z{{z{{{|{{z{{{{zz|||{|{||{zzz{{zz{{{{|||{{{{|z{{{{{{z{{|{{{z{{{zz{{|||||{z{{{|{{z{{|{|{|{z{{{z{{z{}||}||||z|{{{{{}}|||||||||z{|{{{{||||{||z{zz{{{{|{}|z{{{{||{z{{|{{|{|{|{z{{{{z|{|{||}|||zzz{|{||{|{|{|}|||{z{{zz{|{||{{{{{z||zz{|{|{||{z{{z{{{z|{{{{{{{{z{zzz{z{|{{{{z{{z{{yz{z{{|{{{{{{zzz{z{{{{{{|{||zz{y{zz{|{||{z{|{z{zzzzy{{{||z{|zz{zz{|z{{|z{{|{|zzz{z{zzz{{z{|z{z{zzzzz|zz{{{{|zzz{zzzzy{|{||{{{{{zzzy{{{|{{z|{{{zzyzz{{z{{z{|{z{y{yzz{zz{{{{z{z{zzz{z{{{{{{{|{z{{{{{z{{{{|{|{{|z{{{zz{{|{{{{{|z{{{zz{|||{|{|}{z{{z{zzz}|z{||||{|{z{z{{{{{||}|{{z{|z{{{|{|{{{}{|{{{{z{{{z{|{|{{|{z{z{{{||{{|||{{{{z{{||||{{||||}{|{{{{{{||{|}{||{{{{{{{|||{|||||z{z{{|{{{|}|||}|z{{{{{z|}|||}}||||{{{{||||{{||||{{{z{{|{{||||}}|{|||{{z{||{|||{{{zz{{{{z|{{}||{{{{|{{{z|z{||{|{{{{{{{{z|||{{{{{z{z{{zzyz|{z{{{{||{zz{zz{{{|{{|{z{zzz{{z{z{|{{||{{zz{{zzz{{{{{{|{{{{yz{z|{}{{|{|{{{{{zzzy{|{z||{|z{{zzz{z{{{{{||z{{zzzz{{z{{y{z||{{z{zzz{{{{|||{{y{zzzzz{{{z{{{{{z{|zyzxz{{|z{|{zzzyzz{yzz{{{{z{zzzzzz{{z|{{z{{{zz{zz{zz{|{{{{|{z{{{z{zyz{{{{{{|{zzzzz{z{{|{{|||{{{{zzzz{{||z|||{z{{{{||{{{{|{{|{z{{zz{{{||{z{{{{zz{{{||{||z{{{||z|{z{{z{{|}}|||z|zz{|{z||||{||||{{{|{{{{|{|{{||{{{{{{|{}{||}|{|{{{{{{|||}|||||||{{{{|{|z}|}|||||{||z{{||||||||||{{{||{}{{|{{|}|{{{{{{{{{|||{|||||z{z{{{{}{|{{|||}{{z{{z{|z|z||{{z{{y{z{{|{{{z{zzzzzzzzzy{{z{{|{{zzzzzzzz{z{z|||z{{z{{zz|z{{{z{{{z{{zzzz{{{{{|{{{|{zzzzy{{y{{|z{zzzzz{{zz||z{|{|{yzy{zyzz{{{{{||{{zzz{z{{z{{{zz{zzz{zzzy{{{{{z{{zz{zzzzz{z{{{|||{z{zz{z{z{z{{{|zz{zz{zzzzz{z{{{{{{{zz{z{{|{z{{{{zz{z{z{{{{z{{z||{zz{z{z{{||{{{{|z{{{zzzz}|{|z{{|z{{zy{{z{{{{{{{|{y{{|{z{{|||{|{{z{|zz{{z{|{z{||{{z|{z{{z{||{{{{||{{{{z{{||||{|{|{{|z{z{{|{{|{{}||{z{{z{|{|{|{{|{|z{{|z{{{|||||}||||{|z|{||{||}|||{{{z{{{||{|{{{||z{{{{{{|}|{|{{{|{|{z{z|{{{|||}|{{{{{|{{||||{|||{{{z{z|z{{|{z|||{{{|{{{z{{||{{|z{{|z{z{z||{{{{}{z{{y{{zz{{{{zz{||zzzzzz{{{z{z{{||{|zz{yyzz{{|{{||zz{zz{z{{{{z{|zz{{zz{{z{{z|{{{{{zzzy{zz{{{{z{|{z{{zzzzzz{z{{z{{zz{zy{{z{z{{zz{{zzzzzyzz{{z{{zzz{z|{zzzz{{{z{zz{zzzzy{zz{zzz{{|{{y{{zzzzzz{{{|{|{zzzzz{{y{{{{{|{zz{{zz{zz{z{{{|{{z{zzz{{|{{{{{|{{|{z{zzz|{{z{|{|zzz{{{{z||{{{||{|{|{{z|{y|{{{|{|{z{z{zzz|{{{|{|{{zz{{zz{{{{z{|{|z{{zz{{{{|{|{{{|{|{z|{{{{|{{||||{z{{{{z{||||{|{}|{{{{|{{||{||{|{|{{z{{||{||{||{||z{|{{{|{|{|{}|||{||{{{{|{|}||||}{{{{{{{||{{||||{|{{|{z{{{{|||{||z{{{{z{{|{{{|||{|{{{{z{{|{|{z{{z{{{zyzz|{{{{{{{z{zzyzz{z||{{{||zzzz|yyz{{{|{{{{{{zzz|zz{{|{|{{zz{|zz{y{{{{z{{||{z{zz{zz{{{|{{{{{{zy{z{z{{{zz{{|{{|zzzz{y|{z{|{z{z{{yyyz|zz{{{||z{zzz{zz{{{yz{{{zzz{z{yz{{zz{{z{{z{z{z{zz{{z|z|{z{{yzzzyzzzz{{{{{zzz{yyz{zzyz{{{{{{z{z{z{{|{{z{{{zzyzz{zz{{|}z||zz{z{y{z{z{|{z|{{{{z{z{z|{{{{{|{z{z{{z{{{|{{{{{{{{{zzz{z|{||{{}z{z{|zzzz{{{{|{||{{{z|{z{{z{{{||{z{{zz{|{{|{|||{|{{{{{z{z||||{||{|yy{{{{{{||{||||{{|{z{|z{{{{|}|{|{{{z{{{{||||}||{{||{z{|{{{{||{|{z{{{{{|{||{{|||{z{{z{{{|{{|||{{z{zz|{{{|{||{{|z|{z{{zzz{||{{{|{{{{{|{{{|{{{|{|{zzzzzy{{z{{zz{{{z|z{zz{{z{{{{|{{{zzzyzzzz{{|{{{{{zzzz{zz{{{z{{z{z{{{yzzy{zz{{{{||{{z{yzz{{{{{{y{{{{y{zzzz{z{{{{zz{yz{zz{{z{zzz{{zzzzzzzzzz{{{{{{z{{{x{z{z{{{{{z{zyzzzzzzz{{z{{|z|{zzzzzz{{zyz{{{{{zzyy{y{{{yz|{zzzzzz|{y{{{z{{||z{zy{zzz|{z{{z{{{zz{zzzz{{{{{{|{{{{z{{zy{{z|{|{|z{{{z{{z{{{{||{|z{zyz|zz{|{{{{|{{zz{z{{{||{z||{{|zzz{{{z{|{|{||{{z{|zz|{|{{{|}|{|{zz{z{z||{{||{{{zz{|z{z||z{{{|||{z{{{{{{z{|||||}{z{z{z{{{|||||{{z{{{{z|{{|{}|{|{zzz|{z{{|{|{{||{||{z{{{|{||z|||{z{{z{{z{{{|z||||{{{{z{zz{|||{||{z{zz{zzz{{{{{y{z{z{z{zzz{{z{{{{{{z{{zz{{{|z{{{|{zzzzzz|{{{{{|{{{{zz{zy{{{{|z{{|{zzzzz{z{{z{{{{{{zzzzz{y{{{{{{{z{z{y{zzy{{{zz|{{zzzy{zzzz{{{z{z{{zz{yzzzz{{z{{|{zzz{zz{{{{{|{zz{z{{{zzzz{|zz{{{|{zzz{zzz{{{{{{{z{zz{{zzzzz{{z|{|zz{{y{{z{{z{{{||{{{zz{z{{{{{||{}{z{{yz{{{z{{{|{{{z{z{{{z{z{{{|{{{{zz|zzz{{|{{{{{{zzz|{{{{{{{{{|{z{{{{{{{|{|{{{|{{z{{|{{{{{|{||||{{{{{{{{|{z|{{|}|z{{{{zz{|||||{||z{{z{z{{|||{{}{|||{y|z{||{||||||z{{{{{{|}||{||||z||{|{|{{|}||{||{|{{{{|{|{||{|||||{|{z{{|||||||{{{{y{{zz|{|{|}{|{{z{z{z||||{||{{{{zzz{{|{{{|{{{{zy{{{z{zz{|{|{|{zy{zyzz{{{{{{{{zyzzz{{{{{{{{{|{zzzzz{zz{{{|{z{||{z{z{zz{z{|{|{{zz{zzzzzz{zz{}{|{{{zz{zz{{{zzzz{zzzzzzzzzzz{{zz{{{zzzy{yz{{y{{{{{z{yzzz{z{|{{z{{{z|{yzzz{|{{{{|{{{z{{zzzz{{|{{z{zzzzzz{z{|z{{|{|zz{zz{{zz{{z{{}z{zzz{{{z{{{{{{{{{{{zz{{z{{|{{z{|{z{{{z{{z|{z{{||zz{{{zzzz{|{{|||z{{{{{zz{{{|{||{{{{z|{{{{|||z||}|{z{{{{{{{{{|{{|z{{{z{{{{}{|z||{{z{z{zz{{|{{{{}||{{{{|{{|{{{|{|{{z|{{||{{||||||{|{{{z{z|||||||||{{|{{{{{{|||}||||{{z|z{{|||{{|||{{{{{|{{||{|||||{||z{{{{{{|{{|}||{|{{{zz{{{{{||{{z{z{{{zz|{{{{z{{{{yzzz{z|{{|{{{{y{z{{{{z|||{||{z{z{{{{{{zz{{||z{{zzzzzz{z{|{{||{z{zz{{z{{{{{{z|{{{{{zyz{{{{{|{{{z{zy{zz{{{{z|{{|z{{{zzy|{{|{{{{zzzz{zzz{{zzz{z{z{zz{zzz{{{{{|{|{{{{z{zz{z|{z{{|zzzzz{zz{{{z{{{{{zzz{zzy{{zz|||zz{{z{|zzz{{{{|{{{z{y{yz{{{{{|z{|{{zz{|z{{{|{{{{|{z{{zz{{{{|{|||{{{|{z{{{{{{{{|{{|{{zz{{z{|}|{{|{|z|{z{|zz|||{{{{|{{z{{{{{{|}{||{{{|{|{{||{}}|||{{z{|{{{{{||||||}|z{{{{{{|||{z|{|{{{{zz|{{|||{|||||{|z|z{{}|}||{||{|{{{{{|||{}|||{z{{{{{{|{{{|||{}{{{{{z||||||}|}|{{{{|{z|z|{{|{||{{{{{{{|{||{||{z{{{{z{{{|{z{{|{{z{yzyyzz}z{{{{|zz|z{z{{{{{{{|{{{{zzz{{{{z{{|{|{{{{zzzz||{z{{{{|{{zzzzzyz{|z{{||zzzz{zzzzz{|z{{{{{{zzzy{{zz{{{z{{{zzzzz{|z{{{|{|zzz{zz{z{{z{{{{{{zz{zz{zz{{z{|z{zz{zzz{z{z{||z||zzz{zzyz|zz{{{{|{zzy{{zzzz{{{|||zz{{z{zz{{{|{||{|z{{{{zz{{|{{z|{{z{z{yz{|{{{|{||zz{zzzz{{z{{{||{{zz{{z{z{||{{||{{z{{|{zz|||z{|||{|{{zzz{{||{||{{{{zz|{{{|{|{{|{{{{{{{{{|{||}||||{|{{z{{{{{||}|||z{z{|{{{||{{||}|{{|z{z{{{}|{|}||{|{{{||z{|||{{}}|{{|{{{z|||||||||{{{|{{|{|||||{||{{||zz{{|||{|||||{z{{{z{|{|{||||z{|z{|{z|{{{{{{{{zzzz{z|{{{|{{{|zy{{zzz{{{{z{{|{{|{z{z|{{{{||||z{zy{{zz{z{z|{|{{{z{zz{{{|{{{{{{zzzzzzzy{z{{z}z{yy{zzzzz{{{|{|{{z{zy{zz{{z{z{{{{{zzzyzyz{z{{z{z{zzzzzzzz{zz{{{}{z{y{z{{zz{{{{|{{{z{zzzz{{{{|{{|{{z{{{zzz{{z{{{z{{{z{zzzzz{zz{{|{z{z{{zzy{{{{{z{{zyzzzzz{{z{{{{z{{{{{z{{{z{|{z{{||{{zz{|{z{|z||||{z{{{{{zz{||{{{{{z{{z{z{{{||{|{{{{z{{zzz|{z{{|z{{z{z{{zz{|{{|{{|{{zz{z{||{{|{{|}{z{|{{|{{|{|{||||{z{|{{{|||||{||{{{zz{zz|}|z||||{{{{{{{{||{{{|||{{{{zzz{{|||||{|{{{{{zz|{|{{{{||{{z|{|z{{||||{{|z{z{{{{z{{{||{|||z{{{{|{z{{{|||{{zzy{{{z{{|{|{z|{{zyzzzz{{{zz{|{|{zyyzzz{{{{{{{{zz{zzzz{|z{{||{|{zzy{{y{z|{|{{{{{z{zz{|z{{{{|{{|zyzzzzzzz{{{{{{{{z{{zzz{z{|zzz{{{z{zy{zz{z|{|{{{z{z{z{zzz{{{y{{{zz{zz{zz{z{{|{|{y{zyyy{zz{{{{{{{{z{z{zzzz||{{||z{{z{zz{zz{{z{|{|{{zzz{zyz{{{{{|{{{{z{z{{{{{{{|||{{zzzzz{{{{{{|{|{zz{{{{z|{|{{||{|z{{{z{{z{{|{|{{{{z{{{{z{}||{||{{{z{z{{{{|{{{{{{{{zz{|{{||}||{}|z{|z{|}|||{||{|{|{{z{{zz{|{|{||{|{zz{z|{||{{{|||{{|{{|{{}{{{|}|||z{{{||{z||}}||}|{{|z{z{{||||||||z{||z{||||{|}}|||z{{{{{|{{|||||{||{{z{{z{||{|{{{{{zz{{{{{|||{||{z|z{{zzz|{{|{}{|z{zzzzzz{{{|{|z{{yzzzz{{{{|||{|{z{{zy{{{z{z|{{{|{{y{z{{{{{{z{{{z{zz{{{y|{|{{|{|{{{{{yzz{||{{|{{{{z{{{zz{|{zz{{z{{{zy{zz{{{{z{|{{zy{yz{zzz{|{{{{|{zz{zzzz{{{|{{{{z{{x{zz{{z{|{|z{{zzz{zzz{{zzz{{z{zz{zzz{{{{{{{{zzyzzz{z{z{{{|{|z{zzz{{z{{{{{{|{zz{zzz{z|{{{||{|{{{{zzz{}{|{{{{|{z|z{zzy|{|{{{{{{zz{z{{{{|{||||{{{z|{{{{{|{{{{||{{{{{{{{{z}|||{|{|{|{{|{{{{|||}{|{{z{z{z||{}z{{{|zz|zz||||{{||||{{|{z{{{{|{|||||||{{z|{{{}{||||||{|{{{{{{|||{{||{{|{{|{z||||{|||{{{{{{{|{{|||{}|{{|{{{{{{{{{{|}||{z|z{|{y|{}|||{{z{z{zzzz{{{{|{{{{zzzzzy{||{{{{{z{z{{xxzz{{{{{{|{{yzzzz{{{z|{|{{zzzz{yzy{z{{z{|{{{zyzz{z{z{||{{{zz{zz|zz{{{z{|{{z{{z{zzz{{{{z{||z{{zz{z|z{{z{|{|zzzzy{zyzz{{z{{{zzz{yzzz|{z{{z|{{{zzzz{yz{|zz{z{{{zz{z{yz{zz{{{{{zzy{zz{{{{zz{|{zy{zz{z{z{{zz{|{{{zz{yz{{{|{{z|{z{{{yzz{z{||{z|{{{|z{z{z{{||{{{{{{{{|zzz{{{|{|{z{z{zz{{z{{{{{|||{{{{{zz{{{{{{{|y{{{||{z{{{{|||{{z|{{|z{||{{|||||{{{{z{z{{|{|||{{}{{{z{|||||}{||}{z{{{{||{|{||||}|{{{{|{{{|{||{|}{{{{{{{{|{{||{||{{{{z{{{|{}|||{|{{z{|{{{{|{|{{z|z{{zzz{z{|{{{{{{z{zz{zz{|||z{{{{{z{{{zzz{{|{|{{{{{{zzz{z{{{z{{{{yzzz{zzzz{{z{{{{{z{yzy{{{{{|{{{{{{{zzzzzzz{{{z{{{zz{zz{zz{z{z{z{zzzzzzzzzzz{z{{zzy{zzzyzz{|zzz{zzz{z{yz{z{z{|z{{yz{yzy{z{z|{z{{z{{z{{{zzz|{{z{y{{zzz{zz{zz{z{z|{yzz{zzz{{zz{z{{{zzzzzzzzz{z{z{{{zzzzz{{z{{{{{z{{{zz{zyz{z{{{z{|{zz|zz{{z{|{{|{{|y{z{z{zz{|{{{{{|{{|zzyz{{|{{{{{z{{zz{{{{z||{|{|{{z{z{z{{{|||{}{{{z{z{{{{||z|{||{{{{{{{z{|{|{{||}{{{{{{{z{{{{|{{||z{z{{{{{||{||||z{{{z{|{{|{{|||||{{|z{{{{||{{z||{{{{z{z{|{{{}}|{{{{{|z|{||{z{{{{{{|{|{{z}|||||}|{z{zzz{z|||{{|||{zz{{{{{{{z|z{||z{{z{zzy{{{{{{zzzzzzyz{zz{z{{{{{{z{{zzzz{z{{{{{{{zzy{zzz{zz{|{{|{{zyzzzzz{{{zz{z|{zy{yzz{zz{{{z{z{zzzzzzz{zzz|{{{zzzzzzzz{zzz{z{yzzzyzzzzzz{z{{{zyzzzzzyzzzz{z{{zzyzzzzy{{{z{{{{zzzzy{zzz{{|{{{|{{{yzzzz{{{zzzz{zz{zzz{{z{{z{{z|zzzzz{zz{zzz{{||zz{z{zzzzz{z|{{{zz{zzzzz{|{{{z{|zzz{zzzz{||{{{|{zz{{{z{zz{z{{{{{zz{zzzz{|{|{{{}|{zz{z{zz{{{z{{{{{{{z{{{|{{{|||{|{z|{|{|{|{{|{||}{zz{{zzz{|{}|{}|{{{z{{{{||{{{{|{{{|z{{{|{{|{|}|||{zzz{{{{|||{{{|}z{{{{{|{|{||{{{|{{{|{{{{{|{}}|}|{{{{yz{{{{|{{z||z{zz{{z{||z{|}{{{y{zz{z||z||{{|{{{zzyzz|{{|||z{{{zz{y{z{z{{zz{{{{z{{z{z{{|{{{|{z{|{{zzz{{{{{||{{zzz{yz{{{{{{{{|{{zz{zyz{{{z{{{|{zzzzyzzz{{{z|{{zz{z{zzzz{{zz{zz{{z{zzyz{{{{{{{{zzzz{y{zz{{|z{{{{zzzzzyzzz{{||{{zyyzzy{yzz{|zz{{{z{zzz{zz{z{{{z{{{{{zzyz{{{{{|||z{zz{zzz{|{z{{|{z{{zzzzz{||{{||{|y{z{zzzz{{{|{{|{{{{|zz{|{zz{{{|{{{{{z|{{{{{||{{{{z{{{z{{{{{{|}z||{{z{z|{{{z|{{|{{{{{{z{{{||||||zz{z{{{{|}|{{{|||{{|{{{{{||{|||{|zz{|{{||{||||}}{{|{{{|z|{{{|||||{{{z{z||}{{|||}{{{{{z{z{|z|||{|{y{{{|{{{|{{{}|}{|{{{{{{|{{|{||{{{{zz{{z{|{|||}|{|{{zz{{{|{{|||{z{{{{z{z{{{z{{{{{zzzzyzy{{|{|{z{z{{|{z{z{{{{z|{{{{{zz{{zz{{zz|||z{zzzyyzz{{{{{||{zzzzzzz{{{z{{{zzzzzz{{zz{zzz{|{{{zzz{{{{{{zz|{{{zzzzzz{zzzz{{{{yyzzzzzy{{zzz{{{{zzzz{yzz|{z|{{{{{zzzzzz{{{{{{|zzyzzzyzzz{{zz|{z{{{z{zzy{{z|{{{|{{{{{zzz{{{|{{|{||z{zzzz{|z{{{|z{{{z{{{{{{{z{{||{z{{{{{{{z{{{|||zz{z|z{{z|{|{|{|{{{{{{{z||}{{||~|z{{zz{{z{|{{|{{{||{z{{{|{{}|}|{{{{{z{{{|{|}{|||{zz{{{{|{||{|||{}{{{{z{{{{|{||{||{{|{||{{{{||||||||{{||||}{||{|{{|z{{{{{|{|{|{|{|z{{{|{|z{{{{{}|{{z|{{z{{{{||{{|{|z|{{{{||{||||||z{{{{{z{{{|{|{|{z{zz{{z{{{{{{|{{zzzzzzz{{{z{{{{|zz|zzzz{{{{{|{{{{y{{zzy{{{{{{{|{yz{zzz{{{{{|{{{{zzz{z{z|{z|{{{|{{zz{zzyz|{{{{{z{{{zzzzz{z{zz{{{zz{yz{zz{{z{{{z{{zzz{zz{z{z||{|zzy{zz{zz{{{{{{|{{zzzz{zz{{z{z{{z{zzzzz{zzz{z{|{{|{{z{{yz{{{z{{{zzz{z{zz{{z{{{{{{{z{{{yz{{{z{{|{|{z{z{z{{{|{|z{{{{{{{zzz{{|{{{{{|{{{z|{{{{|||{z||{zzz{z{z{{||{|||{zz{{z{z|{{{{||{zz{z{{||{{||||||{{|z{{|z{{{{|{||{{{}{{z{|||||}|{|{{{{{|{||{|||||{{{|z{{|{|||||{|{z{{{{{{{||}|{}|{z{{|{{z|||{{|||{{|{{{z{{||||{|}{{{{{zz{||{|{{{||{|{{{{z|{{||{||}{{z{{{zz|||{{{{{{{{zz{{{{{||{z{{{zzzz{zz{{{{{{{zzy{{zzz{z{{{z{{zzzzzzz{z|{{||{{{zz{z{{zz{{{z{|{z{zyzzz{{z|z{{z{{zz{zz{z{{z{{{{zzzzz{z{z{{z{{{{{zzzyzzz{{yzzz|{|zzzz{zzzzzzz{{{{{zzzz{z{z||{{{|{z{z{{zzz|{{||z{{{zyzzz{y{{zzz{{{zzzyzz{zzzz{z{{|{{{zzzz{{|{{z|{{z{zz{zy{{{{{{z||{z{zzz{{|{{{|z{|{zzzzz{{{{{z{{{{z{z{{zy{z{{{{||{{z{{{{z{||{{{{|{{z|z{{{z{{{{{|{{{|{{{zz{{|{|{{||z{{{{{|{{|{{|{|{{{{{{{z{{{|{}|{{|{{{{z{z{||{}{}||{|{z{||{||||||{{|||{||{{|{{||{z{z|||{|{|||{|{|||{||{{{z{{{|{}||{{{{{|z{{||}||||{{{{|z{zz{z{{||{{{z{z|z|{{{{||||{zzzzzyz|{{|{{{{z{zz{yzz{|{{zz||{zzzzz{{{{{{{{||{{zxzzzzz{|z{z{{{zz{zyzzz{{{{{||{zz{zzzz{{{{{{{{{{zzzzzzz{{|z{z|zz{{z{zz{z{{z|z{{z{{zzz{z{z{z{{zzyz{zz{z{{|z{z{{{{{z{{zzz{{{{|{{{z{{zz{zz{z{|{{{{zz{zzzzz{zzzz{{{zz{zz{z{|z{z{{{{z{z{zz{{{{{|{{{{{{z{zz{z|{{|{z{{zz{{yzz{z{|{{{|{z{{zz{{|{{{{{|||{|{{z{{||z{||{{{{{{{z{{{|{{|z|{{z{z|{z|{|{{|{{{{{{{|{zz{{||||{|z{|{{{{{||{}{|}|zz{z{{z{{{|{{||||z{{zz{z|}|||||||{{{z{{{{|{||||||{{{z|||{}||{{{||{{{z{|{}{|||||||{{|{z{{||{{|{||{{z{{z{{{|{{{|{}z|{z{{{{||{|{||{{{{|{{{{{|||{|||{{{z{zzzzz|{z|zzzzzzz{zyz{z{{{{{{{zz{z{z|{{z{||{{z{{zz{{{{{{|z{{{{zzzz{z{{{{z||{z{{zzzzzz{{{{{{|zzzzzz{{z{{z{|{{z{{zzzzz{{{{z{zz{z{{|{z{{{{{{{{zzzzz{zzz{{{{z{|{zzzyy{z{{z{z|{z{zz{{z{yzz{z{{{zz{zzzzzzyz{zz{{{z{yzzzz{z{|zzz|||zzzyzzzz{{{{z{|z{{zzzzy{{{{{{{{|{y{zz{{{{{{z{{|{{{{z{{z{{z{{{{z|{{zz{z|zz{{{{|{{{zz{|{{z|{{{||||{{{{{{{z{|{|z|{{{zzz{|zzz{|||||{{{{{{|{|||{|{{|}{{{zz{z{|||{||||z{|{{{|{|{{|{|}|{{|{{{|{|{{|}|{}{zz{z{||{{||z|}|z{|{{|{z|||||||{{{|y{|{{{|||||||{|z{{|{{|{{||{||{|{zz{{{||z{{||{|{{{{zz{{{{{z{||z{zzzz{z{{z|{|z{{z{{zzyz{{{{{|||{{zz{{z{{{z{{{||{{zzy{{z{{|{{||{{{{{zzz|{z||z|}|{{{zzyzz{{{{{{{|z{{z{z{{{{{{{{{{{y{z{zzz{zz{z{{{{z{zz{zz{{z{{{{{zyzz{z{z{{{{{{|z{{zzzzz{zz{{|{{|{{{{yzyz{{{z{{|{zzzy{zzz{zzzz|{zzz{{z{|z{{{z{{|zz{{zz{zz{z{|zz||{zz{{{zz{|{{z{||{z{{zzz{{{z{{|z|{{{{{{{z{{|{|{{{{|z|{zz{{|||{{{{{z{{|{z|{{}|{|{{|{{zz|zz{z{{{|{|{z{z{z{{{|||||||z{z{{{|{{|{}{|||{|{{|z{{|{||{{}{{|z{{{{z|||{{}{|z{{{{z{||||{||~||{{{{||{{}||{{|||{{{|{{{||}}{|{|{z{|{|{|{{{|{}||{{{{{zzz{|||{{{|||z{{{{{|||{{||||{{z{{{{{|{|{|{|{z{z{{zz||||{{|z{{{{{{zzz|{z|{{{{zz{yz{z|{{{{}|{{{zz{{yy{{{{{||{|zz{zzzz{|{{z{{{{{zz{z{zz{zz{|{|z{zzzz{yy{zz{{z{{{zzzzzz{z{{zz{{z{zzyzz{|z{{{{{{{z{y{{zy{{{{{|{{zz{zzzyzzy{z{{|{{{zzzzzz{z{{{z{{|{zzz{zy{|{{{z{|{z{zyzzzzz{{{z{{z{zy{{zz{{{{{{||{{z{z{zy{||{{{{|{z{|{zz{{{|{{z{{zzz{z{{z{{{{z{{|{{{{{{|{z{{{{{|{{{zzz{{{{||{{{|{{z|{{z{z{{|{{|||z{|{{{|z{{{|{{|{{{{{{{{||}{|{||{{zz{{{{{|||{||||{z{{{{|z|}|{||{{|{{{{{{|{{|||||}|{{{||{{{|||}||||{|||{|{|{||{||}{{{{z{z{{|{|z{|{|{zz{|{{||z||{|{|{{z{{|z||{||{|}z{{{{{{{|{{||{{|z|{zz{{{||{{}||z{{{yz{{z{{z|{{||z{z{zzzz{{{|z{z{{yzzz{{z{{{{{{{{{z{zzzz{{{{{zz{{{zzyz{{y{z{{z{{{zz{{zz{zz{{z{{{{{yz{zzzz{z{zz{z{{zzzyyzzzyz{{{|{{zz{{zzzz{{{zz|z{{zzzzy{zz{zz{|zz{{zzyzz{||{z{{z{zzzzzzzzz{{zz{{{{zz{zzzz{z{{|z|{z{zz{{z{{{{||}{{zzzyzz{{{{{{|{|zz{z{z{z{{{z{||{z{z{zzz{|||{{|z|}z{z{z{z||||{|{z{z|z{zzy{|{|{|||zz||{{z{|z|{|{|z{{{{{z{z{|{{|{|zzz{z{{|{||{z|||{|{{zz{z{{{|||{|}|{zz|zz|||{{{||||{|{|{|||{z||||||{{|{{{z||{||{|{{z{|zz{|{|{||{|{{{zzz{z{||{|{|||{zz{{{|{{||||{{}|{z{{{{z{|{||{{|{z{z|zz{z|{{{{||{z{{{zy{|{{{z|z{{{{zyzzzz{zz{{{|zzzzzzzyy{z{{{{}z|zyzyyy{{{{{{|zzzz{zyzyzz{zzz{|{zzzzzz{{{{{{z{{zzzz{zzzzz{zzz{zzzz{{zzz{{{zz{z{zz{zzyyzzzzz{zz|zzz{zz{z{z{{{z{{{zzz{{z{z{{z{{{{zzzyyzzzz{{{{{z{{zyz{y{yzzzz{z{z{z{zzzzy{{z{z|{{{{y{zzyz{{{z{|||{{z{{z{yz{{{z{{{{zz{zzzyz{{|z{{{{{{{zzzzz{{{|{{{{{{zzzzzz|{|{{{{{zzzz{zz{z{{{{{{zzzz{zz{{{{zz{||{{z{|{z{{{||{{|{{zzz{z|{{|{{{|||{{z{{zz{|||{{{|{|{{z|{{{|||{|{{}{{{{{z{{||z{|{}|{{zz{|z{{|{|{{|||z{{{{zz{|||{{|{{{zz{{z||{z{{||||{|{|z{|z{{||{|{{zzz{z{z|{{{z{|||{z|zz{{z{||{{|{{{zzzz{z{{{z|z{{{z{z{{yz{{||{{{zz{zz{{zzz|{z{|{{z{zzz|yz{{{{|{{{{{{{z{z{{||{{{|{{{{zz{{y{{z|{{{zz{yz{{zz{{{{{{{{{zzz{zy{z{|zz|{{{{{z|zzzzz{z{{{{z{zz{zzzzz{{z{{{{zzzz{zz{z|{{{{{{z{{zy{{z{{{z{{{{y{zy{zzzzz{{z{{{z{zyzzzzzz||{|{{zzy{|zy{{{z{|{{{zzz{z{z{|{z{z{{{{z{zz{z{zz{|{{|{z{{{z{|{||z||{{|zz{{zz{z}{{{||{{z{{z{{||{|||z|z{z{z{{{{{|{{z{{|{{z{{{{z{|||||{|z|{z{{{z{{{|||||{{{||{zz{|||{{|{{{{{z{|{z||{||||{z{z{}|{{{|{}{|||{z{{{z|z||||}|{||{}{z{z|{|||{|}{{z{{z{z{{{|{|{|||{zz{{{{|{{||{{{zz{z|{{{{|z|||{|z{{z{zz|||{{{}}z{{{zz{zz{{|{{||{{{yz|{z{{{y{{|{{{{y{zzz{{{{z||{z{z{z{{z{{|{{{{{zy|{z{{{{{|{z{|{{{zzy{zz{{|{z{zzzzzz{yzzz{{{{{|{{zzzyzz{z{|{{{{{{zzzy{zyz{{zz{{zyzz{z{zzz{{{|{{zzy{{z{y{{{{{|{{z{z{zy{yzzzz{z{{{{zzz{zzz{z{{{z{{{{zzzzzy{zz{{|||{zz{zzzz{{z||{{||{zz{z{yz{{{z{{|{{zzzz{z{{z|{|z|z{z{zzz{{z{z{{{|zzz{{yy{{{{{{}|}{z{{zzzz{{|z|{{z{{z{{{{{{{|{|||{z{{z{|{{{{{|}|||zz{z{{zz{|{|{||||{{{{z{{{||}{{||{{zz|z|{{|{{|}|{{z{{z{{z{|{|||{||{z{z{|{|||}{|||z{{{{{{{||}||||{{{{{{{{{{|||{|||{{{{{zzz|{{{{|||{{zz{z|zz{|{{{|||{{{z{{{{}|{{{|{{{{zz{z{{{{||{z{{zyzzyzzz{|{{{{{{zzz{zzz{{{|z{|{{{z{{{{z{z{z{zz{{y{yzzzz{{z{{{|{{{z{zzzy{{z{{{{{zz{zzzzzy{{{{{|{{z{{zzyy{zzz{{{{zzyyz{{z{z{{{z|{zzyyzzzz{z{{{{{{yzzzz{yz{z{{z{{{zz{yyzzzzzz{{z{|{{zyzz{yz{z{{{zz{{zz{zyz{z{{{|||{{{{{zzyz{zzz{{{{{z{z{z{{{||z{z{{z{{{zzz{{{{{{{{{z{z{z{z{|z{{}{{{{|{{z{{{{|{{|z|{{z{zzzzz|{{{{|||{z{z{{{{z{{z{{|{{zzz{zz{{{{|{{|{|{|{{{{{|||{||||z{{{z{z{||{{||{|z{z{|{{||{{|}{|z|{|{{{{{|{{|||{{{z{|{{|{||z|{|{|{{{{{{z|z|{{||{{z{{{{{{|{|{||}}z{|{{|{||||||{|{{z{{z|z{z|{{{|z||{y{{zy{{|{}|{{{{{|zz{zzzz|{z{{{{zzzz|zyz{{{z{{{{{zzzzyz{{{{{{||{{{zzzyz{z|{{{{{{z{{zzzz{||{{{{|{{zzyzzy{{{{{z{{zz{zyyzy{z{{{|{zzzyzzzyz{z{{z{z{{zzyy{zzzz{yzz{{zzzyzy{zz{{zz{{{zzyyzy{y{|z{|{{{{zzyzyzyz{zzz{{|{zzz{zyz{{z{z{z{y{zzz{{zz|z{z{z|{zzzzzzyz{{{|||{{y{y{y{{{{||{{{{{z{zyzzz{{z{|{{{yzz{zz{zzzz{{|z|{z|{{zz{{{{{z|{{{{|{{zyz{{|{{{|{|zzzzzz{{{{{{||{z{{{{{{{{||||{{{z{{zz{{{{{||}{{|z{{{zz{z{{||{||{{{{{{{{{{{||{}||{z{{{{{|||||{|{||zz{z{|{z}||||{||{{{{z{{{||||||||z{zzz{{{{{{||{|{{{{{z{{||||{{|{{{{zz{{z{{z{{||{{{{zzzz|{|{|z||zzzzzzzz{{{|{{{{{{{z{yyzz{zzz{z|{{{{zyzyyzz|{z|||zzzz{zyzz{z{{z||{zyz{{z{{{{{{{{{zzzzzzzzy{{{{{z|y{zyz{yz|{zzz{{z{zzz{zzyz{{{{{{{{z{zzzzz{zz{{zz{zzzzzzzzzz{zzz{|zzz{zzz{{zz{{{{{zyz{zzzzz{{{{z|{{zzz{zzzzz{{{z{{zzzyyzz{{zz{{{{{yzzz{{zzz{{zz{{{zz{zzzz{{{{{{{{|{{zzzz{{{{{{|{|{{zzzz{z{{{{{{z|{{z{{zz{{{{{{|{{|{z{{z{zz{{|{|{{{{z{{|z{{|{{{|{{||z{{z{{{|{{{|||{z{{{{{{||{{|{{||{{z|{{{z{||||{||{zz{{{{{|||{{{|{||{{{|||{|||{}{|{{{{{{{{{||}||||{{{|{{{{|{|{{{|{{|{{{{|{|||||{}{{{{{{{|z|{{{{|||{|zzz{{{{{{|||||z{z|{z{z{{{{{{{{z|z{z{|z|{{z{|{{{{yzzzyz{{{{{{{{|zzzzyzzz{|z{|z|{zyz{{{z{{{z{{{zzzz{zzzzz{{{{{{{zzzx{{zz{{{zz{{|z{zz{{zzzz|z{{{zzzzz{{yz{z|yz{{{zzzyzzzz{zz{z{z{zy{zyzzzz{zyz{{zzzz{zzy{y||zz|{{{z{zzzzzz{z{{{{|{zzzzzzyz{{{z{{{{z{z{zzzz{{z{{{{yz{yzzzz{|{{{{||z{{{zyzz{||zyz{{zz{zz{{{{{{z{{{{{zz{z{{{{z{{{{{|{{{z{z{z{{{||{{{z|zz{|z{{z|{{{|{|zy{{{zz{|z{||{|z{z{{z{{|{||||{{{{{{{{{{z{{||{|}|y|{{z{z{|||||||{z{{{{{{}|{|}}{||{z|z{{{|}{{}||}|{{{{{{z||||{||||{||{{|{|{{{{{{z{{{z||{|{{{{|{||{{y{{{|zz|{|{{||{{{{{z{{z{{{{{|{{{{{{z{zz|{{{||z{{{z{z{zz{{{{{|{z{y{{zzzz{zz{{{{{zzzyzzzzzz{||{{{z{z{{zyzzz{|{{|{{{{{{zz{z{{z{|{z{zzzz{y{z{{{{z{zzz{yzzzz{zz{z{z{zy{zzyzzz{zz{z{zzz{zzzz{zzz{{{{{zzzzyyy{z{{z{{zzzyzy{zzz{{z{z{z{{{zzzzyzz{{z{|{zzzzzzz{zzz{{{{{zyzzz{{zzz{zz{|z{{{y{zyz{z{zz{{{{{yz|z{z{z{z{{|z{y{zzzz{{{{{{|{z{{{z{zzz{{||{{{{{{z{zzzz{||z{{{{zz{zzzz{{{{{|{{{{{{|z{zz|{{{{{|{{y{{z{z{||||{|{|z{z{{{|{|{|{{{|}{z{{zzz{|||{{{|{{z|z|{|{{|{{|{|{{{{{|z|{{||{{|{}{z{zz{{z||{||{}{{{zz{{{{||||{||z|{{z|zz{||{||z||z{{|z|z{||{{{|{{z{{zz{{{{{{{|{}|{zzzz{{z{{|{z||z{z{z{{z{{|z{{{{{{zyzzzzzz{{{z{{{z{zzzzz{{{{{z{z|{{yzzzzzzz{{|z{{{zzzzzy{yzzzz{z{z{zzzzyz{{|{{{{{zzzzzzyyz{{{{|{{zzzzzzyz{{{zzz{zzz{yyzzz{zzzz{z{{{zzzyzzzz{{{z{{{zz{{zzzzzzzz{{{{z{{zyzy{{{{{y{|zzzzzyzz{{z{zz{|zzzzzzzz|{z{z{z{{zzxy|zy{z|{z|{{{zyz{zz{|{{{z|{{{{{{{z{z{{{{z{{{zz{zz{zy{z{z{{{{{{{|z{zyz{|{{|zz{{zz{z{z{{{|{{{z{zz{zzz{|{|z{|{|{{zz{{{{{{||{|||{{z{{z{{{|{|{|{|{{{z{{{{{|{{{|{{|zz|zz{{||{{z||{{{|z{|{|{|{{{{|||{{{{||{{}||{{|||z{{zzz||{{|||{|{z{{{{{{{|{|{{|{zzz|||z{|{{{{{{|{z{yzy{{{|{{{|||{{{{yz{zz|{{z|{z{{{zzz{{{{{z{|z{{zzyzzzyz{{{z{{{{zzzzzyzz{{{{{{{{{zz{{zy{z{z{{z{{z{zzzzzyzz{z|{{{{zzzzzy{zzz{{z{zzzzyzzyzzz{{z{{zyzy{yzzzz{zz{zzzyzyzzzzzzy{z{{zyzzz{{zz{z{z{zzz{zzzzzzzzy{{|{{z{{zzyyzyz{z{zz{{z{z{zzzzz{zzzz{{zzzyzzzzz{{{{z{{zzzzz{y{z{z{{{|{z{z{{zzyz{{zzz{|{z{zzz{z{{z{z{|{{z{zzzzz|{{{{{{{{z{z{zyz{z{|{||{zzz{{zzz{{|{{{|zz{{zzz{{{{|z{{z{{zz{zz{{z{||{|{|y{zzzz|{z|{}||{z{{zz{zzz{{{{||{z{{zzzz{z{||{z|{|{z{{z{|{|||{{{{||{z{z{{|||{{{}||{zz|z{{z{{|{{||{{z{{z{{{{{{||}||{z{{{{|{{{{{{{{{yz{z{z{{{{{{{||{{{{{{{{z{|{|{{{{{zzzzzzz{zz|{{z{zzz{{y{y{{|zz{}zzz{yz{z{zz{{{{{{zzz{z{{z{z{z{z{{zz{zzzzz{zz{{z|z{{zyyy{z{yzzz{{{zzzz{zyzz|{zz{{{{zzy{y{zzzzzzzzzzyz{yzzzz{zzz{z{zzzzzzzzzzzzz{{zzyzzyzz{zz{{{z{zyz{zzzyzz{z{{{{{{{zzyzzy{{zzzzz{zzzzzzzzz{z{z{z{{{z|z{zz{z{z{z|{zyzyzzzzz{z{|{{{{zzzzyz{z{z{zz{{zzz{zzzz{{{zz{{zzz{z{{{z{|{z{|{{{z{zzzz{z{{{|z|{{{{zzz{z{{{{{{{{{zz{z{z{z{||{{||{zz{yz|z||{||{|||{|{{|{z{|||{|||{{{{{{zz|||z{{|||z||z{|{z|z|||||}|{zzz{z{}||{{||{{|{z{z{|z|{{||{||yzzz{{||z{|||||{{|{{z{{|||{{|{zzzzz{zzz{{z{||}{z{zz{zyz|{{{{}{zz|{{{zzz{{{{z{{z{yzzz{zzz|{|{{{{zzz{zz{{z{{{|{|zzzzzz{y{{zz{{{{zz{z{zzz{{{|{z||z{yyzzzyz{{{|z{{z{{z{{{zz{{{{{|z{zzzzzz{zy{{zzz{|yzz{{z{{z{{z{{{zzzyzy{zz{zzzz|{zzyzzzzz{{{{z{{{zzzzz{{zz{z{{z{{zzzzzy{{{zzzz{{{zzzzzzyyz{{{{{{{zzzy{yyz{z{{{|{{{z{{zz{z{{{{{|{{{{{z{zzz|{{{{{{|zzz{{{zz{{|{{|{{{z{zzzzzz{{{|{{{z{{{zz{z{{|{zz||{{{{|{{z|||{{{{z{{zzzzzz{|||||z{y|{z{{|z{{{{|{|}{{{{{{{{{{|{|{{||z{{{{{{||{||{||{{{{|||{|{z}{||||{{{z{{z{{|||}|{{{{|z{|{{|||{|{||{{{|z{{{{{||{|||{z{{z{{{{|{||||{z{z{z{{{{{|||}{|{{{{z{{z{||{{{||{zz{z|{|{{||z{{zzyzzzzzz{{zz{{{zzz{zzz{{{{{z{{|{{zz{zyzz{zz{z{{{{{z{zzzz{{{zz{zzzzyzzzz{{zzz{|{zz{zzzzyz{{z{{{{{z{zz{zzzy{{{z|z{zzzzyzyzzz|zz{{yyyz{zyzz{zzz{z{zzzz{zzzz{{z{{z{zyzzyzzzz{{|{{{}yzzyzzzyz{{zz{{{zzzyzzzz{{{{z{{zz{yz{zzzz{|{{{{{z{zzzzy{z{z{z{{|{zyzzz{z{zz|{{{|yzyzz{zz|z|{|{|{{zzz{zzzzz{{{{{{{z{z{zz{{|||{z||{yzz{{{{{{zz{|z{{{{{{|z{{{|||{{|{{z|zz{{|z{{}||||z{{|{zz||{|{|{{|z{{|z{|||{{{|||{{{{z{{|{{{z{{||{zz{{zz{{||||||{{{|{{{{z{{{{{||||z{{{zz{{{|{||}}|{{{{{z|{{{||{|{{z{z{z{{z|{{{|{}{|||yzzz{{{|{|{{{{{zz{zzz{{{z{{zzzzzz{zy{{|{z{{{yzyyyyzz{{|{{z{{z{zyz{z{{z|{{{{zzzz{zyzzz{{{zzz{zzzzzyyz{z{{{{y|zyz{yzzyz|zzz|{zzyzz{zyz{z{z{z{zzzyzzzyy{yz{z||{zzzyzzzyy{zzz{zzzzzz{{xzzy{z{{{z{zzzzzz{z{{{{zzzzzzzzzzzzz{zz{{|z{{zzzzzz|z{{{zzyz{{y{{zz{{{{{z{zzyzzzzyz{{zzz{{zyzzz{zy{{{zz{{{zzzz{zzz{{|{z{{{z{{{{zzz{{{|{|{{yzzz{zzz{||z{{|{{zzz{zzz|{z{{{z|z{{z|z{z||||z{||z{z{z||{|{{|||{|zzz{{{z{{|}{{|{{{z{{z{{{|{{{|{||{{{z{z|||{{{}{|}|{{{{{{{|}|{|{|||{{{{z{{|{{||||z|{{z{|{z{|z|{|||{{z{{zz|{|z|{|{||z|{{|z{{{{}{{|||z{{zz{{{{{{{{|{{z|{{z{z{z{{z{{zyzzzzzzz{{{z{{z{zz{{yyzz{{z{{{{{{{{yzzzz{{{{{{|z{zzzzzz{zz{zyz|{z{zyzy{z{{{{{||{zz{z{y{zz{{zz{z{zzzzzzyy{{{{yzzzzzyyzyzz{zz{zz{{zzz{zzz{z{|{z{|{zxzzzzzzz|zz{z{{zzz{zyz{z{{z{{|zzy{y{zzyz{zzzzz{zz{zzzzzzzz{{|{{zzzyz{zzz{{{{z{{z{z{z{{z{{{{{{{|{zz{zz{y{z|zz{{{zzz{zzzzz{|{{{{{{zz{zz{{{{{|{{{{zz{{{{zz{|{|{{|{{zzzy{z{{{{{{|{||zz{{{{{{{|{||{{z{zz{{{z{{{|{{||{zz{z{z{|{||||{||z|z{{{z|{|{{{{{{|{{{{{|{{|{|{{{|{{|z|z{y|{|{|||{z{{{{{|{{{{|{{{{{{z{|{{{{{}{{|{{{{z{{{{}|{|{{|{{{{{|{{z{|{{|{||{{{zz{zz{|z{z{|{{z{yzzz{|{{{|{{{{zyy{z{yz{{{{z{zz{zzzzyzz{{z{{z{zzyyz{{zz{zz{{{{|zzyzyzzz{{{zzz{{z{zzyzzzz{{z{{{zyzz{zzyzz{z{{{{yzzz{zyyzz{{z{{zzzzyzzyy{zzz{{{|z{zz{y{yzz{{{{{zzzzzxzyz{z{z{{z{zz{yzyzy{zz{zz|{{{zzzzyzz{{{z{zz|zyzzzyzz{zz{z{|zzzz{yzy{zz{{{{zzyyy{zzzzz{z{{{|{{z{{{zz{{||z|{{{zzzzz{z{y{{z{{{zz{zzzz{z|{{z|{z{{zzz{z{{|{{{{{{z{z{zy{{{||{{{{||z{{{{z{{z{|||{}z{{z{zz{|{|{{|||zz{z{z{z|{{{{{|||z{{{{{{||z||{{||{{zz{zz|{{|{||{zz{zz{{{z{|||{|||zz{{zz{||z|{|{{|z|{{{{z{{|{|{{{{{{{{{{{{|{|{{||{{{z{{z{{{|z{|{|z{{{zz{z|||{{{||{{z{yyz{z|{{{z{{zyzzzzzzy{zzzz{{zz{z{zzz{{{z{{z{{{zzyzyz{{yzz{zz{zyy{zz{z{{{{{z|z{zzzyzyz{{{z{{{zzzyzzzzz{zzzz{zzzyyzyzz{yzzzzzzzzyyzzyyzzzzz{z|{zzzyzzyz{{zzz|yzyzyyzzz{z{zzz{zzzzzyzzzzzy{{z{zzz{zzzzyz{zzz{{|zyyx{yzz{z{{{{y{{{{zz{yzz{{{{{|{zzzzzz{{z{{z{{{{zy{zzyzz{z{{{z{{z{zzyzzz{{{{{{zz{zzyzz{zz{|{|{{{zzzzz{zz|||{z{{{{{yzzzzz{{zz{{{{{{z{{zzz{{|{|{|{z{{z{{{{z{{{{|{|{z{{z{zzz{||{{{||z{{z{z|{|{{{|{{zz{{z{|{{{z{z|{{{{{z{{{{{||{|||{{{{|z{{{{|||z|{{{{z{zz{{z{{|z{|{{{{z{|z{z{z{||||{z{{z{{z{{{|{|{{|{zz{zzz{{|{z||{|{{zz{{zyz{{{zzzz{z{zy{y{{{z{{{{zzz{zzz{{{{{{|{{{zzzz{zzz{{{yzz{{y{zzzzzzz{{{z{{{z{yyz{zzz{zzz{{zzzzzzzzz{{z{{{{{zzzyzzy{z{zzz{{{zzzy{zzzzz{zz{{z{yzyyzzzzzz{zz{{zz{zzz{zz{{z{{|zyzzzyzzz{{|{|{{zzyzzyzyy{{yz{z|zzzyzzzz{{{{{|{zzz{{zzzz{{zz{{z{zzyz{zzzz{z{z{{{{{z{zy{{{{{{{|{{{zz{yy{z{{z|z|{|{{{{{zzy{}{|{||{{{{zz{{y{{{{z{{{zz{{z{z{{z{{{{{{|{|{z{{|{{{|{}{{z{{{{{z{{}|{{{|{|z{{zzz{{||{{|{{|z{z|{{{{|{|{{}|{{{zzz{{{{{|{{|||z{{z{{z|||{{||{|{{{{y{z{|{|||{|{{{|{z{{{{{{||{|{{{{{{{{{{{{|{|{{{{{{z{z|{{{{{||||{zzz{{{|{|||{{{yzzzzzy{z|{{{zzz{zzyzyyx|{z{{{{{zzzzyzyzz{{{|{{{{{z{{zz{{{{{{|z{zzzyzzzzzz{zzz{zzzzzzzzz{zz{zz{zzz{zzzyzz|yzz{yz{zzzzyy{{{zzzz{yzzzxzyyyz{yzz{zzyyzzyyyz{y{{z{{zz{zzzzzzz{{zzz{zz{zy{zzzzyz{{{{{zzzzyzzzz{z{z{{{z{zzzzzz|{zz|z{zzyy{zzyz{{{{|{z{zyzzzzzz{z{z{{{zz{z{zzyz{{{z{{{z{{zzzzzy{z{{{|{{zzzzz{zz{{z||z{zz{zzzzz{|{z{{|z{z{{{zz{||{{|{{z{{{|z{z{z{|{{|{|{z{{z{z|{|{{{|||{zz|z{{{{{|{|{{{{zyzz{zz{|{|{|||{{{z{{|{{{{{{||||z{zz{z{{|}z||}{}z{{z{{z{||{{{||{z{{z{{{{{{||{{|{{{{{{{|{{{|z{{|{{{z{{z{z{z{{{|{z{zz{z{z{|{{{{{{zzyzzzyz{z{y|{{|{{zzz{zzz{z{{zzz{zzzzxzzzz{|z{{{{{{{{yy{z{{z|{|{z{zz{yzz{{{{z|{zzzz{zy{yzzz{{z{|zzyzzzzy{||{z{{{zzzzzz{z{{{yzzz|{zzzzzzyzy{{{|{{zyzyzyzzz{z{|{{zzz{zzzyz{z{{|{{{z{zzzzzyz{{{{{|zzzzzzzyzzz{z{{{{{zzzzy{zz{{z{{|zzz{{{z{z{{{|{{|{{{zz{zzz{|{|{{{{{{{yyzzz{{{{z|{{zzzzzz{z{{zz{{|{{zz{z{{{{{|z{{{{zzz{zzzz{|{{{z}|{{zz{{{z{{{{{z{|z{{{{{z|{{{{{|||{z{z{|{{{|||{{|||{{{{zzz||||{{|{{{{zz{{{{|||{|{|zz{z{{|{{{|{{|}|{{z{|z{{z||{||||{{||{z{{|{{|{|{|{z{{{z{{{z{||{||{{{{{z{{{{|{|{||{yzzyz{zz{|{|{}|zz{y{z{{|{{{{{{{{{zz{z{{{{{{z|{zzz{yyzzzy{z{z{{{|zz{zzzz{{zz{z{{{zzyzzyz{{z{{z{{{zz|zzzzzz{{{{{|zzzzzz{zz{{|{{{|zzyzz{zy{{{{z{{zzzy{zzzz|{zzz{zzz{yzzzyz{zz{z{z{zzzzzzyzzzzyz|{{zzzyyyzz{|{z{{z{zz{{{zyzy|{{z{|{zz{{z{zzyzzz{{z{zz{zzz{z{zz{z|{{zz{zz{zz{{{{{{{|{zzz{zz{{{z{{z{{z{yzzz{{{{|{{{{|zzzzzzzzz{{{|{{|{{{{{z{zz{{|z||{zzz{{{{{z{|{|{||{zyz{zz{|{{z{|{{|{{z|{{{z{|{|||}z{z{{{{z{{{|z{{|{z{{{zz{||z{z{|{|{{{{z{{||||{{|||z|{z|{zz{{{|{{||{{{{|z{{|{|||||||{{{{{{||||z|||{{z{{zz{|||z{|||{{z{|zz|{||{{{{{{{z{|{{{{{{|{{||{{{{{zzz{|{|{{{{{{{z{{z{{|z{{{z{zzzzyz{y{zzz{z{{zzzzzzyz{z{{{{|{zzzyzzzz{y{{{z{{{{{zzzyy{{{zz{z{zzzzzzzy{{{{{|z{zzzzzz{zz{z{{{zz{zzy{{zzzz{{z{zyzy{yy{yzzz{{{z{{z{{{zyyzy|z{{{|zyyzzzzyz{{zzz{{zzzz{zzyzz{{{{z{z{zzzzzzy{zz{z{{{{zyzzyyzz{{zzz{{{zz{z{zzz{{||{{{{z{zy{{zy{{{{||{zz{{zz{{zz{|{{{{zz{{yzzy{zzz{{{{{zzzzz{z{{z||{zz{{{{z{zz{{|z|||{zzz{z{{y{{{{|}z{z{z{{z{{{{{|{{}|z|{{z{|{{{{|{{||{{|z{yyz|||{{{|{{{{z|{{{||}||{{|{z{{{|{{{z{|{|}||{|{{{{{||||{||{{{{}{{|z|{||{||{{z{{{{z{{{{{|||{|z{z{z{{{}{{||{{zz{z{{z{z{{{{z||{{zzz|{{z{z{{|{{zz|{{{{yz|{|{{{zzzy{zz{z{{{z|{{{zz{{zzzz{z{{{{{{{zzz{{zzzz{|{{{{zy{{zzyzz{{{z{{{zz{{yyzz{|{|{{z{zzzy{zyzzz{y|{|{{z{{{zz{{zzyz{{{zzzzz{zzzzz{z{{{{{zy{zyz{z{z{|{{zzzzz{zzzz{zz{{zzzyyzzyyzz{{z{{{zy{{zz{yzz{y{{z{{yzzz{yzyzz{y{{{{z{zzzzy{z{{z{||z{zzzz{zz{{{{{{|{{{z{zzzz{{{z{{{{yzyy{zz{{{{|{{{zz{{zz{zz{{{z{{{zzzz{zz{|{|z{z|{zzy{zzz{|{{{{{|{z{zzzzz{{|{|{|{|z{{z{{|{|{||{|||{z|{z{z{{|||{|{|zz{{{|z{z}||}||{{{|{zzz{{{|{{|{{{{zzz|{||{|||||{{{|{{{{{|{{|{}{{{zz||{{{{||{|{||{{z{|zz{|{|||{{|{|{yz{{yz{z{|{{{|{{{z{{z{|}}||{{zzz{{z|z{{z{|{{{zyz{zyzyz{zzz{z|{{zyzzzzz{{{|z{{{zyyzz{z{zzzz|{{{zz{zz{zzz{zz{z{{{{zzzzy{{{zz|{{zzyzz{{yzz{{z|{{z{zzzzy{z{{zz{z{zyzzyzy{zzz{{zz|yy{y{z{{{{{{{{|{zzy{zzzz{{z{{{{{z{zyyzzzz{{{z{|z{{zzyzzyzzzzzzzzz{zyzyzzzy{{{{{zzz{z{z{z{{z|{{{z{{zz{zzz{{z{z{{{zzz{zzzz{z{{{{{{zzzzzzz{{{{z{|{{z{{zz{{y{|{{{{||{{{{{zzz{{{{z{|zz{|zz{{z{{{{|{{|{{{z{z{z{{||||}|{{{{{{{z{|{|{|{|{{z{z{z{{{{{{||{|{zz{{{z|{|{{|||{{{z{z{{|{{|{{|{|{{{{|zzz||||||{{zz{z{z{{{{||{|||{{z|{{{{{{{||{|{{{{{{z{{|{|{{|{y{{{{z{z{|{{{||{{|{zzz{z{|{|{{{|{{{z{zz{z{{z{{{{zz{{zzyyz|{{{z{{yyzzyyzzz{{z{{{z{zzyzzz{{z{{{{{{{zzzzzzz{|{{z{{{zzzzyyzz{{{|{{z{zzzyzzyzz{z{{{{z{z{z{{yzzz{zz{{zzyzzyyzz{zz{z{{{zzyzzzyzzz{yzz{z{zzzyyzzzz{{z{z{{{{zzyzy{z{z{z{{zz{z{zyyzz|zz{z|z{{z{zz{{{zz{{{zz{{zzzzy{{{z{{{{{zzzzzzz{|{zz{z|{{{zzzzz{{z{{z{{z{zzzz{z{||{{{{{zz{{{z{z{z{{z{y{{z{yz{zy|{{||{{{{{{{z{zz{||zzz{|zz{zz|{z{z{{|{|{zz|z{z{z{|{|{{{||z{{z{zz{{{||{|{{z{{{z{{||||{|{}{{{|{{{{{{{||||||z{zz|{|z}{{|||||{{|{{{zz{{z|{|||{{{|zz{{{{{{{{|{|z|{{|z||{|{|{{z{|zzy|{|{{z{{}|z{zzz{zz{|z||{z{zzzzzyzz|z|zz{zz{{zzzz{z{z{z{z{{zzzzyyzzzzz{z{{{z{zyzzzz{{{z{z{z{z{zz{zz{{z{zz{zyzzzzyzz{{{{{{z{zzyzzzxzz{{{z|{{zz{zyzzz{{zzz{{{{zzzzzy{{zz{zz{{zzzyz{yzzzzz{{zzzyzzzzz{y{{{{z{{{{{zyzzzz{{zzy{{{zzzyyzzz{zzz|{|{{zzzzz{z|z{z{{zz{{zy|zzzz|z|{{{zzz{zyzz{{{z{{||{{yzyyz{zz{{z{|{zz{z{z{zz{{{{{}{zz{zzyzz{{{{{|{{z{{{{{zz{z{||{|{{yzz{zzz{|{{z{{{|{{{{|zz{|{{{{||zz{{{z{{{|{{z{|{{z{|z{zz{||z{{|{|y{{|{{{{|}{{{||{{{{z{|{|{z{{||||zz{z{z{|}|{{{|||{{zzz{{||{{|{||{{{zz{z{{{{|{||{{{{{|{z{{|{|||{|{z|z{z{{{|{z{|||zzy{z{zz{{{{z{{{zzyyz{z{{z|{{{zzyzzzz{zzyzz|{{{{zz{zzyyz{z{zz{{{{{zzyzz{{z{z|z|{{{{zyzzy{z{zzz|{zz{zzzzzz{{zzz{{{yzzzyzz{{y{z{{zz{{zzyzyz{{zzy{zzz{z{zzzzzyzzzzz{zyyzzyyzz{yzzz{zyyzzzyzzz{{{{zzzzzzyzzzz{{{{z{{zy{zzyzz{z{z{{{|{zzyzz{zzzzzz{{|z{{zzyzz{{{y{z{{{zzzzyz{{{{{{{z{{zzyzy{{{zzzz{{|zz{z{{{{{{|{{{{{zzz{zzzz{|z{{z{{|zz|{z{{z||z{|{|zzz{{{z{{{|{{|z||{zzzzzz|{{{{|{|z|{zz{{{|{{|||||{zz{{zzz{|{{|||{|z{{z{zz{|||||||{{{{z{{{{|{{|||{|{|z{z{{z}|||||{}z{{{yz{||}|{{|{{zzzz{{{{{|z||||{{{{|{z|||z{z||||{{z{z{{z||{|{{{z{{{{{{zz|{|{{{z{z{zzzz{{|{{{{{{zzzzzzzz{{|{{{{{zzyzzzy{zz{{z{||{{zzz{yzzz{{|{{zzzy{zzyy{z||z{{z{{{zzz{y|z{zz|{{zzz{zzyzzzzz{{{{zzzzz{zzyz|z{zz{zyzzzzzy{z{zzz{{zz{zyyzzz{zzzzz{zzzzz{zzzzz{zz{zz{z{yxzz{|z{z{{{{{zz{zyyzzz{z{{z{{zz{z{{z{z{{{|{zzzzz{yzy{{z{{z{{{z{zzzzzz|{{{|z{zz{{zzz{zz|{{{{zzy{z{zzzz{{{{{z{zzz{z{zz{{|{{{{{{{z{{z{z{|{z{|{z{zz{{zz{|{z{{{z{{zz{z{zz{|z{||{{{{z{z{{{{{|z{|{{{z{zzzz{{|{{||{{zz||zz{|||z{|{|{{{|y||{|||{{|{|{{z{{{{{{}||{||{{z|{{{{{z{|{{{|||zz{{zz|{{{|||||{zz{z{{|{||{{||{{zzz{z{{{|{zz{{{{{zzzz{z{|||{{{{z{{z{z{z{{{{{|{{yyzzzzzyzz{zzzz{{zz{zzyy{{z{{{{{z{zyzzzzzzz{{{|{{zzzzzz{{{{zz{{{{zzzyzyy{{z{z{{|zz{yzzzzz|z{zz{z{z{yzzzy{zzz{z{{zzzyz{zz{z{zzzzzzyyzyyzx{zzzzz{{zzzzzzyz{|{z{{{zyzzzyyyyz{z{{z{{zzzzzzyzz{{zzzz{{zzzzyzzy{zz{{{{yzyzyzzzzz{{{z{{zzzyzzzzz{{{{|{zzzyzyzy{z{z{{{{|zzzzzzz{y{zzz{{{{zz{{y{{z{{|{||z{yzz{zzy|{|{{{|{zz{z{zz{{{{{|{|{{zz{{zz{|{||{|||zzzz{{z{z{{{{{|||{z{{zzz{|{|{{||{y{{{z{{{{||{|{{|z{{{z|{{{{{||{{|{zzzz{z{|{|{|{||y{|{{{|{{{|{||||z{{z|{{{|{|{{|{||zz{zz{||{{|{||{{z{|{{z{{|{{{||{zzzzzzzz|{{||{{{zzy{zzz{|{{z{y{{yzy{{zz{{{{{{zzzzzzzzyzz{z{{{{{{zzzz{z{y{{|z|{{zz{zy{zzz{{{{z{|zzzzyz{y{{{{{{z|zzy{yzzyy{zz{|zzzzz{zyyy{{{y{zzz{{zzz{zzzzz{{z{zzzy{zzzzzzz{z{{zzzzzyzxzz{|{{{{z{{zzyz{yzzz{{{{|z{{y{yyzzz{zz{{zz{zyzz{zzzzzz{|{zy{{zzzz{z{{z{|zzzzzzzzzz|zz{{{{z{{{zzz{{y{{z{z|{{{zzz{zz{{{{{{{zz{{zz{z{{{z{|z|{{zzzzz{{{|{{{|{{zzzz{zz{|{{{||{{z{z{zz{{{{{{{{|zz{{zz{z{{|{{{|{{z{zzzzz|{|{{||{{yz{{{{z{{{|{z||{z{z{{z{{{|||{|||{z{z{{zz|{{{|{z{zzzz{{{||{{{{{{{z{zz{z{zz{{||{}zzz{|{{{z{{{{|{{zz{z{{{{{{{{{z|{{z{z{{{y{{||{{{{zz{y{y{{z{{{z|{y{{zzz{zzz{{z{{|{zyzzzyyy|{z{z{{{zzzzz{yy{z{z{{|{{yzzzzz{z{z{z{{{{z{zzyzz{{{{{{z|z{yzzzzzzz{zz|{zzzzyzzzzz{{{yz{z|{zzzzzzz{{{zzz{zzyzzz{z{{{{zz{{zzyzzyyz{{z{{{{yzz{zyzyzz{{zzz{{{yzzzzzyz{z{{|{{{y{{{zzzy{z{{|{{zzzyyy{zz{{{{{{|zzzz{z{yzz{yz{{{zz{zzyz{z{zz{{{|zzzzz{zz{z{{{z{{zzzz{z{{z|{|{{{zzz{zzz{z|{|{|{{{zy{zzzzzzz{{{|{z{{z{zzzz{z{{{|{|z{|z|{{{{|{|{|{|{{{{z{zzz|{{{{|||zz{{z{{{|{{{{||{{{z{{{z{{|{||{{|z{{z{z|{|{|{||}{{{{zz{z|{|z|{{|z{{z{|z{{|{z|{||zz{{{{z{||{|{|||{{z{{{z{{{{{{{{{{{zzzz{{y{{{{{|{{z{y{|{zz{{z|z{zy{zzz{zz{|{z{{{{{{{{zzzz{|z{{zz{{{{zz{zz{{z{{{{{zz{zzzz{{z{{z{{z{zzzzzzyz{zz{|{{{yzzyzzyzz{{{{zz{zzzz{yzz{|z{|zzzz{zz{zzz{{{z|{|xzzzzyyz{{{zzz{{{z{zzzzyzz{z|{{{zzzzzzzy{z||{{{{zyzyz{zzzzz{{|||{{{zzzzzz{{{y{{{yz{zy{{zz{{|{|||z{{{z{{y{z{z|{{{{z{{{xz{{{{||{{{{z{zzz{{z{|z{{{{{{zz{zzy|}z}|||{z{{{{{zz{{{||{|{{{{z{{{{||{{{||z{{{zzzzz{|{{{{{{z|{{{{|{{{{{{|{|{{{{z{{z{|{|}{|||{y{z{z{||}{}||{{{|z{z|||z||||}|{z{{z{|{{|z||||}}z|{z{{|{|}|{||{{z{z{{zz{z{{{{{|}||{{{z|||{{{{{{|{{{{z{{||||{{||{{{z{{{zz|{{{|{{{z|zy{{{z|{{|z{{zzzzy{zz{zz{{z{{z{zzzyyzz{{{{z{{{zy{zz{z{zz{{{|zzzzzyyyz{{z{zz{z{{zyzzzy{{{zz{z{yy{yzzzyz{{{z||yzz{zzyzz{z{{z{{zyzzyyzzz{yz{{{zzzzzyzyzy{{z{{z{{zzzyzyzy{y{z{zz{{z|yzyyzzzzz{{|zzzzzy{{yzy{zzz{|zzzzzzyzz{zz{{{{zzyzyzzyz{{{{{|{{z{zz{yz{z{{{z{{{z{{zzyzz{{{z{z{zzzzz{zzz{{z{{{z{{{{{zzzz{{{{|{|z{zzzy{z{{{{zz{{zzyzzz{{{{{{|||{y{{z{{{{{|z|{{z|{z{z{{{{{{{|{{}{{zz{{{zz|{|{|||{|z{||z{zz{|}{{||{{{{{{z{z{{{{||{|{{{z{{{{{|{{|||{z{z{zzz||{||{|{|{{zzz{{{{{{|{{||{z{{|z}{||{||{{{|{z{z{{z{{{{|||z|z{zz{{{z{{{|{{zzzzz{y{z{{{{|z|zzzzzzzyz{{{z{z|zzzzzxzzz|{z{z{{z{z{{{zz|zz{{|{|{zzzzzz{{{{{z{{|zz{zzz{y{{||{{z{zzzzzy{z{{{z{{{{zzzzzyzzz{{z{z{{yyyzy{zz{zzzy|{{zzzzzzzz{z{zz{{zzz{zzzyz{z{z{{{{{{z{yzzzz{zz{{{|{zy{zyyyzz{z{{z{{zzzzzyzy{{z{{{{z{yzz{zyzz{{z{{|zz{zzyzz{{{z|{{|yz{yzz{{z|{z{z{{{z{{{zzz{{z{{z{{{{{{zz{{zz|{||z{|z{{{zzz{z{{{{{{{{z{zz{{{{{{{{{{{z{{z{zz{|{}|||{{|z{zz{||{{||{}||{z{z{|y|||{|{|{{zz{|{|{{|z||{|{z{{{||{{{|||{||}|{{{{{{{|||||||||z{|zz{{{{|||{|{{{z{{|z|{|||{|||{{|z|{z{{||||{{|{z{z{{{{{{|z{{{||z{{{zzz{{{{z{|{|z{zzz{{{z{{|||{{zzzzzzy|{z{{{{{{zyzzyz{z|{{zz{{zzzzyzzy{{z{||{{zzzzyyyz{{z{{zz||zzyyzzz{z{{z{yzzzz{yzyyzzzyy{{{zz{yyzzzzzzz{{z{zxzzzzzyzz{zz||{yyzzzzyz{|{zz{{zzzz{zyzz{zy{{{{{zz{yzzyyz{{{{z{{zyy{zyz{z{{|z{{{{zyyzyzzz{z{z{z{z{zz{{{{{{zz{z{{zzy{zzzy{{{{{{{|zzyzzy{zzz{z{{{{zzyyyz{zzz{{z{{{zz{zzzz{z{{z{{|{zzzzzzz{z{{{zz|{|{z{z{z||{z{{|{{{{{z{zzz{z||{{|{z{{z{{{{{||{{|{|{{z{|z{zz{||||{z|z{{{{zz|{{{{{{|{{z{{{{{|{{z||||{zzz{{{{{|||{{{{|{{z|z{zz|{|z{{{z{z{{{zyz{|{{{|{{{z{zzzz{||{|{{|{{{{{z{{{|z|{{{||{zz{{zz{z|{z{{{zz{zz{yy{{{{{z{{zyzzyy{yzzzzyzz{zzzyyyyz{zzzzz{{zzy{zzyzz{zyz|{{zyzzyzyzzy{{zz{{yzzyzzzzz{{zz|z{yz{yz{{yyzzyz{zzzzyzyzyyzyz{z{zzzyyyyzyyzzz{zzyzzzyyzyzzz{zzzz{zzxzzzzyyzyzz|{{z{yzzyyyz{y{yzz{{yyzzzyzyy{zzz|zz{yzyyyzyz{zzz{{zzzzzyzyy{z{zz{|zyzzzzzzzz{{z{{{{zyzzzz{{{z{z{zzz{zyyzzyzzzyz{{{{{zyz{zzz{z{z{zzzzz{zzyzzz{{z{{{z{{y{y{zz{|{zz{{zzzzzzzzz{{{{z{{{zzzzz|z{|{{|{{||{{zz{zzzzz|{{|z{{z{{{zzz{{|{{{{{{{yzy{{{{{{{{{{|{{z{zzz{{|{z{|||{z{{zyzz{{{{{|||zzz{yyz{{{{{|{|{{z{{zz{{{z{{{{{{zz{{zz{zz{{||{{{{{yzzzz{z{{z{{{{{zzzzzzy{{{{z{zzzzzyyzzzyzzzyzz{z{yyyzxzz{y{{zzzzzzy{zzzzzzz{zzzzyyyzzyyyz{z{z{{zyzyyzzyzzzzzzzzzzzyzzzy{z{zyzzzzyzzyyzyyyzzz{zzzzzzxyyyzzzyz{zyyzzyyyzyzzz{zz{zzzzzzzyzz{zzzzzzzyzyzzyyzzzzzz{z{yzzyyyzzzzzzzz|zzzyzyyzzzyyyzzz{yzzzzzz{zyzzzz{{zyzzz{yzzy{{{{{zyzyyxzzzzzzzz{|yzyyzyyz{{zzz{{{{zyzz{{y{{{{{{{zzzzzyzzy{{z{z{|zzzzzzzzy{{{{{{{yzzzzzzzzz|{{{z|{z{{zzzy{{{z{{{||z{z{zyzz{{z{{{{|{zzz{{z{{{||{||z{zz{z{z|{{zz|{{z{{{{z{zz{|{z|{{{|z{{z{z{{|{{|{z{{zzz{z{yz|{{z|||{zzz{z{{{z{{{{|{z{{zzzzz{|{z{{{{|zzzyz{zz{z{|z|{zy{z{zzyz{zzyzzzzzzyyyzzy{{zyz{{zzyzzzyzzzyz{{{zzzzyzzzzzzy{{zz{zyzzzyzzz{y{z{{{zzzzyzzyzz{{z{zzzzzzyzzyzz{xz{zzyzyzzzyyy{{{yzzzy{zzz{yzyy{{zzz{zzyzyyyyzzzzyz{z{yyzyyyyzx{zzzz{|z{yyyzyz{zy{{z{zz{zyzyzzy{z{{zyzzzyy{{yzzzzz{{{yz{zzzzxz{{zzzzzyzzzyyz{{z{zz|{{zzz{yy{{z{{z{z{{zzzzzzyyz{{z{|{{{yzzzyzzz{{{{{{{zy{zzyyzz{{|{zzzzzzzzzzz{zzzy{{|{{zzzyzz|{{{z{z{zzzzzz{{||z{{{z|z{{z{zzz{{z{z{|z{zzzzzzz{{{|{{|{{{zzz{{{{z{{{{{||{zz|zzzz|z{|{||{z{zzzz{{|{{{||{{zyyzz{{zzz|{{||{zzz{yz{{z{||{|{zzzzzzzz{{{{z{|{{y{zzzzz{{{{{{{{yzzzzyz{z{{|zzzzzzyzzzyy{{{{zy{zzzzyzzzyyzz{{z||yzzzzzzz{{{zz{{{zy{z{yzzzzyzzz{{zzzyzyzzz{{zyzz{zy{zzxyyzz{zz{z{yz{zzzzzzzzzzzyzz{{zzyzyzz{{{{{yzy{zyzzyzz{zyz{zzzzyz{zzzyzz{z{y{zz{y{{zzz{{z{{z{yzyzyzzzzzzzzz{zzzyyyy{z{{zy{{{zy{zzzyyzzzzz{z{{zyz{zzzz{{{z{{{zzyzzyzzz{zz{{{zzyzyyzzz{z{{zz{{{zzzzzzzz{{{{{z{{z{zzzzz{{{z{z{{{zz{zzz{zz{{z{z{zzz{zz{zz{|||{|{{|zz{{zz{zz{|{|{z{yz{zzz{{|z||{z{{zz{z{{||{{{||||zzz{{{{z|{|z{{{|zzzyz{z{|z{{{{zzzz{{z{z{z{z{{{|{zz{{{{|{||{{z||z{{zzzzz{y{|{{{{{{zzz{zz||{z}{|{{{{zzzzzzz{{{{{{zyzyzzzz{{{{{{z{{zzz{{zyzz{zzz{{zzzzyzyy{zzz{{|{zyzzzzyy{{{z{z{{yyyzzyz{zz{zzz{{zzzzyyzyyzzzz{z|zyzyzzzzyz{zz{|{zzzyzzzzzz{zz{{zyzzyyyyzzzzzzzzzzzyyyyyyz{{{{zzzzyzzzyzzzzz{{{{zzyyzyzzyz{zzzzz{zzzyyyzyyzzzy{z{{yzxyzzyz{z{{{zzzzzyyyyyz{yzz{|z{{{zzyzyzz{{zzz{zz{zy{yzz{zz{z{{zz{{yzz{{{zzz{{z{zzyzz{zz{{{{{{zzzzzyz{{{{{z{z{{zzz{zzz{z{{{z{z{zzz{{{zz{{{{|{|{{{{{{{z{{{||{{{{{z{{z{zy{|{z{{{{{z{{zyzz{||{{{{|{z{{zz{{z|{{{{{{{z{{{{{zz|{|{{z|{zz{zzz{{|{{{{||{y{z{{z{|z{|z{|{{z{z{zy{z{{|{|{{{zzzz{zzz{{{z{{{{zyyyzzzz|{{{{{zyzy{yy{y{z{{{z{zzyyyyzxyyzyzy{{zzyyyyyzz{zzyzzzz{zzyyzzzzzz{zzzzyzzyyzxyy{z{yzz{zzzxyy{xzzyzy{zzzzyyzyzzyzzzyzz{zyzyzyxzy{zzyzzzzyyyyyzyzzzzzyyzxyzyyyyzzzz{zzyzyzzzyyyyzzzz{{|{zyzyyyyyyzzzz{{zzyyyzyzzyzzyy{{z{zzzyzyy{zzzz{zzzyzzzzzy{z{{z{{{zyzyzzzyyzz{zzzzzzyyzyzz|zzz{zz{z{yyyzzzzz{z{{{z{zzyyzzzzz{z|zyzyzzzzyzz{{{zz{|{zyzzzz{zzz{zz{|zy{{z{{zz{z{zz||{z{{{zzz|{{z{z|{{{{yzz{zzzz{yy{|{{zz{{z{y{|{{{{|{zz|zz{z{z{{{|{{{{{z{{{{zz{|{z{{zzzy{zz{zz{{{{{||{zzzzzz{z{{|{zz{zyzz{z{{{{{{z|{{y{zz{zzzz{{z{{{{z{zy{zzzz{z{zz{zz{z{zzzyzzz{{{{zzzyzzyzyz{{{yzz{zzzyzyyzz{zzzz{|zz{zzzyz{zz{z{{{zzzzzzyyzzz{z{z{zzzzzz{yzzz{{{zzzzzyyzzy|zzyzz{yzyyy{zyyz{{zy{zyzyzzzzy{zzzzy{{{xyyzyzyyz{zzzzzzyyzzzyzz{{zz|yz{yzzzyzyzzz{zzzz|zzzzzyzyzzz{zzzzzyzyxyzyz|zzz{z{zyyyzyyzz{z{{{zzzz{y{yzyz{z{zz{{zyzyzz{{{zz{{z{|zz{zzzzzzzz{{z{z{zzz{yzzz{z{z{{{zyzzzzzz{{{{{{|zzzz{zzzyz{{{{|{{z{{{yzzz{|||{{|{{zy{zzzz{z{}{{z|z{zz{{yz|{z{{z{zzzzz{zz{{{z{{{{{|zzzy{{{{{{{||{{{z{zz{z{{|}{|{{{{yz{zzzz{{{{z{{{zyz{zy{z|{z{{||{{zz{{zyz{|{{{|{{zzzz{z{{{{z|z{{{{{zzz{zy{{{z{z{{z{zy{{zz{z|{zzyzzzzzzzzzz{{zz{{zzzzyzzzz{zzz{z||yzyyyzzz{zz{{zz{yyyyzyyyzz{{{z{zzy{xyzyyzzz{z{z{zyzzyzzxyzzy{z{yzyyzzyxz|z{z{{z{yyzyyzxyzzzzz{{{zzzyyzyyzzzzzz{{zyzzzzyyzzzzzz{zyyyzxyzyy{zyz{{zyyzzzyyzz{zzz{zzyzyxzzzyz{y{zz|{yxyzzyzzzzz{{{{{yzyzzzyzzz{{zzz|zzzyyyzy{z{zzzz{yzzzzyzzz{zz|{z{{yyyz{zzz{z|y{yzzy{yzzyzzz{{{{{{{y{yz{zyz{zz{{{{z{z{zzzz{{{{{{z{{{{z{z{z{|{{z|{|{zz{zz{yz{{{{z{|{zzzz{{z{{z{{{{{z{{z{{{zz{{{{{{|{zzzz{zzz|{|{{|{zz{{{z{z{z{{{{{zzzzyzzz|{{{{{|{|{zzzzyz{{{{{{z{{{zzzz{yz{zz{z{||{z{xz{z{zzz{{{{zzzyzyyzyz{{{zzzzzzzyyzyzzzzy{z{{zz{zyyyzz{{zz{|{zy{zzyzy{zz{{zz{zyzzzzzy{zz{{z||{yzzyyyyzzzz{zz{zzzzz{zyz{zzz{zzzz{zzyzyzzzzy{zzzzyzyyyy{zz{zyz{yyyzyzyyzyzzzzzzzz{z{zyyzzzz{{{{zzyzzzzyyyz{{z{{zzz{zyyyyzyz{{{{{z{yyxzyzzy{z{{{yxzyzzzzzz{{zzzz{zyy{zyzy{z{|{{{zy{zzzyzzz{{{zzzzyyzzzzyzzzzzz{{zzzz{zzzz{z{z|zzyyzz{zyz{|{{z{|z{zzzzzyz{{{zz{{zzy{{{zyzz{zz{{{{{{z{z{{{z{{|z{z{{{{zzzzy{z{{{z{zzzzz|zzz{{{||{{{{z{z{{{{z{{{{{{{{z{zz{zz{|{{{{||{z{{{z{z{{{{{||{|zzz{{zzz{{{{|{||{z{{{z{{z{z{{|{zzzzzzz{z{{zz{{{{{zyz{{zy{{{{{|zzzzzyz{zz{{{zz{yzzyzzxzyzzyzz{{zzyyzxyyzzz{{z{zz{y{yyyyz{zzz{zzzzy{zzyyzyzz{zz{z{zzyyy{yyzzyzzzzyyzyzzzzyzzzxz{zyz{y{xyyyz{zyz{{zyyyxzyyz{zx{zz{yyyzzyyxy{yzzz{zzyzzxzyyzzzzzzyzyyzzyzyyzzzyz|z{zy{z{zzzzzyzyz{{zyzyyzyyzzzyzzzzzzyyyzyz{z{{{{{zzzzzyyzzzzzz{zzz{zyy{zz{z{{zz{z{zzzzzzzyzy{zz{{{{z{yzyyy{{{{z{zzzzyyzyzzzzz{{|{y{zzzyzzy{{z{{z{{zzzz{{zzz{{{|{{z{zzz{{zz|z{z{{|{zzzzzzzz{|zz{{{||zzz|zzz{||z{{|{zzyy{{{z{{z{{{{{{{{zz{z{{|{{||{{{z|zzzz{{{{{{{{{|zzzzyz{{{z{{{{{z{{{zzzz{{{{{{|{z{{zzzzzy{{{|{|{z{zyzyzz{z{{z{{zzzzzzyzzz{{zy{zzzyzzzyyx{{zyy{{zzyzzyyyyz{zyyz|{yyyyzyyzyz{zzz{{zyzzyzyzz{zzyzz{zzyzyyyyzzzzzzz{yyzzyxzyz{zzz{zzzyyyyyyyyzzzz{zzzyyyzyzyyzyyzy{zzzzyyzzzyz{yzz{zzzyyyyyzz{zz{zy{yzyzzzyyz{{{zz{{zxzzyyyzzzzzzzzzzzzzzyyzzzz{z{{zzzzyzyzz{{z{{z{yzzyyyyyzz{z{z{z{yyz{z{zz{{{{{{{{zzzzyyzzzzz{{z{{zyzzzzzz{zz{zz{yzz{{yyzzzz{zz{|{zzzxzzyzz{{zz|{{|z{z{{{z{{|{{zz{y{zzzzzz{{{{zz{{zzyz{yzzz|{{||z{zzzzzzzyz{z{{{{{zzzzzzz{z{{{{|{{|z{{z{zz{|{{{z{|{zz{{zzzzzz{z{{{zzzyzyz{{z{{{{|{{{zz{zyzyz{|{|z|zz{{zzz{z{{{{||{{{zzyz{y{{{{zz|{zz{zyyzzz{zz{zyzz{yyzyyyy{zz{zz{yzzzy{yz{zzyzzz{zyyzzzzyzzzzz{{zzyzzzyyyyz{{yzz{zzzzyyyyzz{zz{zzzzzyyyyyzzyzz{zzyyzyyyzz{zzzz{z{yzzyzyyz{zzyz{{{yzyyyxzzzz{yz{z{zzyyyzyzzyzz{zz{zzzzyzyzzz{zzz{{zzyzxyzzzzzzz{zyyzzyzyzyyz{yzz{{yzyzyzzyz{z|{{{{z{{zyyzzyzy{zzz{{zzzzyzzzz{zz{{{zy{yzyzz{{{z{{{{zzz{zyzy{{zzz{{{zyzzzyzyz|z{zz{{z{z{zz{zz{zz{z{{y{zzzy{yz{{{{{|zzz{zzz{z{{{{{z||{zyzzzzzy{{z{{{{{z{z{yzy{{{z{{||z{zzy{{zz|{z{{|{{zz{z{z{z|||{|{|z{{{z{y{{{||{|{{{yzzzzzzzz||{{|{{zz{{zz{z{{{|z|{{{zzzzzzz{z{{{{{{z{zzzzy{{{{{{||zyy{{z{y{{{{zzz{zyzy{z{z{|z{zz{zzzzyzzzyzzyz{{z{{zyyzzyzzz{zz{{zzzzzzyzzz{zzzz{{zzzzzzzyzzzyz{zzzyzyyzzxzzzyz{zzzzyyzzzzzz|zy{zz{zyzyyyyzzzzzzz{yzxyzzzyzzzzz{{zzyzzyy{{y{{yzz{z{y{zzyy{{{zz{z{zzzzzzzzzzzzzz|zzzzyzyzzyyzzzz{zzzzzzzzzxz{zzz||{{zzyyyzzzz{zz{|{zyy{zzzyzzzz{zz{zzzyyyz{{|{{{{{{{zzzzy{zz{{{{|z{zzzzyzzzz{{{{{{|{yyzz{{z{{{z{{{zzzzz{zzyz|{{{|{{zzzz{{{{z{{zz{{|zz{{{{zy{|{{{{|z|{zzzzzz{|{{{|{{{zzz{{{z{{z{{{{z{{{{zz{|{{{|z{|||{zzz{z{{z{{{|{|{z{{zzyz{z{|{{|{zzz{zzzz{{{|{{{|zyzzzz{{{{{{z{{|{z{zz{{z{{z|z|{z{zzzyzzyz{{{{{z{zz{zyzzzy{{{{{z{zzyyzyxzzzzzzz|{zzzyzyz{{z{{y{{{zzyzzzzzz{{{zy{z{zzyz{yxzy|{z{z{yzzyz{yzzzzz{z|{{zyyzyyyzzzzz{y{zyyzzyzyzzzzz{{zzzzyyzyyz{{zzzzy{zzyzyyzz{zzzz{{{yzzyyzzy{z{zz|{zyyz{z{y{{z{zzz{zzzyyyzzyzz{zz{zzzzyz{yyz{yzz{|zzzzyzyzz{zzzyzz|zzzyyzzyzzz{z|{zzzzzzzzzzz{yz{{{{zzz{yz{zz{{z{|{z{zz{zzyz{{|{{{zzyz{z{{z{z{zzz|{y{zzzzzzzz{|{{{{z{z{zz{y{{{z{{{|z{{zz{yzzzzz|z{z|z{z{{zz{z|{{{|{{{z{z{z{{|{{{|{{{zzzz{{zz||{||{{|z{zzzzz{{{{{||z{zzz{{zz{{{{{{{{z{zz{zz{{{{{{{{{|zzyyzz{{{{{{{{{z{zzzzyz{{{{zzz{zyzzzzzx{{|{zzzzzzy|zyzyy{zzzzz{zzyyzzzyzzzzzz{zzyyzyzzzzzz{zz{{zyzzyzyyz{{zzy{z{y{yzzzyz{zyyzzzzyyyyyzyyzz{zzzzzyzzzyyyzzyzz{zzzzyxzzyzzyz{z{zzzyyyyyzzzzz{z{zyzyy{yzyzyzz{zzzzzzzyzyzx{z{z{zzzzzzzzyyxyzyz{zzzzzzzyyzyyzzzzzzzyzzzyzzzyzyyzzz{z{zzzzzzz{z{zzy{{{{zzz{zz{{z{z{{yzzyyzyxyz{{z{z{zzzzzyzyzz{{{{{zzzyzzz{y{zzzyz|z{{zzzzzz{|{zzzzz|zzzzzzx{{z{|{{zz{yy{z{z|zz{{z{{{zzz{zyzz{{{{{{{{{zzzz|zz{{z{|{{zz{zz|{zz{z|zz{{{zz{z{{{z{{{|}|{{z{|z{zz{{{{{{{{|z{z{{y{{zz{z{}{{zz{zy{z|z{{zz{{z{zz{{yyz{z{z{|{z{zzzzzyyzz{zz{zzzzyzzzzz{|{z{zzz{zzzzyy{{{zzz{z{zyzyy{zzy|z{z{{{zyyzyzyzzy{z{zz{zzyz{zy{y{{zy{zzz{zyzzxzzz{{z{zzyzz{yzz{{zzz{zyzyzy{yyzzyzyzzzyzxyyyyzyzz{z{{{zzzzyyyzyz{yyzzzzzyzyyzzyzz{zzzzzyz{zyzyyz{z{{zz{zxyyzyzyzzzzz{z{zyzy{yz{yz{{zzz{yzz{yyzzzyz{{zz{zzzzzzyyz{z{zz{zzz{{zyzz{{z{z{{{zyzzyyzyzz{z{{{zzz{zzzzz{{z{z{{zzzzz{zzz{{{{z{{{z{yzzyzz{{{{{z{{zzzzzzzz{z{|{{{|zzzzzz{z{z{{{{{{{yzzzzyz{{{{||{{{zzz{z{zz{{{{{{{{{z{zz{{{{z{{{{|{z|{zzz{{{{{{{{|z{z{zzz{|z|{{{}{{zzzz{z{{{{{{{{{{{z{{{zz{{|{{{{{zzzy{z{{{{{{{z{{{{zzzzzzz{{|{{|{z{{{zz{zyzzz{zzzyyyzzyyxz{zzyz{{zzyzzyyzy{{yz{{zzzzzzyzzz{z{zyz|zxzyzzzy{z{zzz{{zzzyzzzyz{zyzzzzzyzyyyyzz{{zz{{{zyzyyyyyz{zyzzz{{zzyzzzyzzzzyz{zyzzyyyzzzzzzzzz{zzyyyyyzyyzzzz{zxyz{zzzyy{y{zyzz{zyzyyzy{|zzzzz{yyzzzyyyzzzzz{z{zyzyzzzz{zzzzy{{{yzzzyyzzzz{zzz|zzzyyyzz{z{zz{{zyzzzzzzzzz{zzz{zyzzzzzzz{z{{{z{zzzzzyzzy|{zz{z|{zzyzzzzzz{{zzz{zzzzyz{zz{{{{{z{{{{zyzz{z{|{|z{{{{zz{zzzz{{{{{{{{{yzzzzz{{{{{|{|{z{zzz{{zz{{z{|{{{zzzzz{{z{|{{{{|{z{{z{{z{{{{{|{{{zzzzyz{{z{{{z|{{zz{zz{z{{{{{{{{z{zzz{{zzz{{z{{z{zz{zzz{z{{{{{{z{zyyzzzzzz{z{z{zzy{yzyyxzz{zzzz{zyyyyyyzzzzz{z{{zzyyyzyyzzzz{zzzzyzzzzyzyz{{zz{zzzzyxyzy{yyzzzz{yzyzzyyyzzyzz{{{zyyzzzyzzyzyz{zyzyyyyzzyzzyzzzz{z{yyzyyyz{zzzz|y{yxzy{zzzyzzz{y{zyyyyzyyzzz{{z{|{yzyyyzyyz{z{y{{zyzzzzyzyzyzzzyyzyzzzzyzzzzzzzz{zzyy{yzy{z{z{z{zzy{zzyzz{{zzzz{{zzzyzzyyz{{{zz{zzzzyyzzyz{z{{{{{zzzzzzzyzz{z{{|zyyzz{zy{{{{z{{{{{zzzy{zzz{{{{{{|y{z{zz{z{{z||{{|zz{z{zzz|{{{{zz|zzz{{{z{z{{{z{{{{y{yzz|{{{{z{{z{{zzzzzyzz|||{{{{z{{z{zz|{{zz{zz{{zz{{zz{{z{zz|{{zzzz{zz{|{{{{{z{zz{zz{zz{{{z{{||{zzzz{z{{{{zz{zzzzzzzzzyzz{z|{zzy{zzzzzyyz{zzz{{{zzzzzyzzzz{{{z{zzzyzyzz{{{z|z{{zyyzzyyyzzzzzzzzyzzyzyzy{zzzy{{{yyyyzzzyz{z{zzzzzzyzzyzy{{{zyz{{zyzyyzyzyzzzyz{{yyzyzyzzy{zzz{{{yzyzzzz{zz{y{{{zzz{yyzy{zzzy{{z{{{zxzyzzz{zzy{zyzzzyzzyyz{{z{yzz{yzzz{yy{zz{z{{zzzzyzzzz{{{zz{{{yyyyzyyz{z{zz|{{yzzzzzyzzz{{{z{z{zzzzz{zz{{zz{zzzzzzzyzz{z{z{z{{z{{{{{zz{{{zy{z{{zzzy{z{{|{{||{|z{z{zz{|{{z{z{{{{z{zzzy{{z|{{{{{|zzzzzzz{|{z{{|{{{zy{zzz{{z{{|{{{{z{z|z{z{{{{{{{{z{{{z{{{{{{{|{{z{z{{zz{{z{|{|{{|zy{{{{z|||{{{{{z{{z{zzzz{{{{||z{yzzzzz{zz{{|{{|zz{y{yzzzz{z|zz{yzyyyzyyyz{yzz{zzzyyzzyzyyzzzzz|yzzzzzzyzz{zzzz{zyyzzzzzzzzzzz{{zzzyyyyyzzzzzzzzyyyzyyyyz{zzz{zzzyzyyyyyzzzzzzzzyzyyyzyyzzzzzzzzzy{zyyyzzzzzyzzzyzzzyzyyzz{{z{zzzzyyzzyzz{y{{{z{zyzyyyyyzzzyyzzzzyyyyyyzzzz{z{z{zzzyzyyz{zz{{z{{zzyzyzzzzy{zzy{{yzzzzyz{zz{yz{zzyy{zzzzzz{{{{{{{yzzy{xz{{zz{zzzzyz{y{{yzzz{zzz{{|yzzzz{{{||{z{zz{y{yz{zz{{{z{{{{zz{z{zzz{{z{z|z{zzyzzzzyy{|{{|{{z{z{zzzz{{{{{{|{zzzzz{{{{{z{|{zz{zz{y{{zz|{{|{|{{{{zz{z{{z{{|{{{{zzzzzzzz{zz{{{{|y{{{zzz{{z{{{{{zzy{zzzzz|z{z{|{{zzzzzzy{{{{{|{{yzzyzy{z{zz{zzzzzzyyzyyyyzzzzzz{zyzyyyzzy{zzzz{{zzzyyyzy{zyzyyzzzyyyyyyzzz{{yz{zyyyyyzzyyz{zz{zzzxzyxzxzzzzzzzyzzyzyzzyzzzzzz{{zzyyyyzyy{yzzz{zzyzyzzyyz{y{yzzzzyy{zyyyzzz{z{{zzzyyyyyyzyyzzzz{zzx{zyzyxzzzzzz{z{zzyyyyyy{zz{|zzyzzzyzzzz{z{zzz{zyzzz{yy{{zzzzy|zzyyyyzz{zz{z{z{zyyz{zzzzyz{{{z{{{z{{zzzz{z{{{{{zzzzzyzy{{{z{z{zzzzzzzzz{{zz{{{{zzzz{zy{zzz{{{{{zz{{zy|{{|{zzz||{zz{yyzz{{{{{z{{{zzzzzzz{{z{{{{zzz{{zzz{z|z|{||{z{z{z{yyz{|{{{{{{zz{{z{{{{{{{{{{{zzzzzzz{{zzz|z{z{zz{yyzz{{z{{{|z{zyzzzyzz{{z{{zzz{zzzz{zzz{{{{{{zzyyyzxz{{y{zyzyzyzyzyxyzzzzyz{yzyzzzyz{z{zzz{zzzzzyzzzz{zz{zz{zzyyzyyyzzzz{zz{zyzyyyyyyz{yz{z{{zzyyzzzyzzz{{z{zz{yzzxyyz{{y{{zzzzyyyxzzyzy{{zzyzyyyzzzzz{zy{{zzzzyyzzzzzzzz{{zzzzzyzyzzzz{zzzzyxzzzyzyzzzzyzzyzyzzzyyxy{z{zz{|zz{zyz{xzzzzy{z{y{zzzzzyz{{{z|zz{zzzyy{z{y{zz{{{yyzyzzyzz{{zz{|{yzyyzyzyy{{z{z|{{zzyyzzyzz{{yz{yzyzzzzzzzz{zy{{{y{z{{{yz{{z{|{{{z{{z{z{{{{{{{{|z{yzzzyyz{{|zz{{{{z{{{zzz{{z{{||{{{yz|{{z{z{z{{{z|zz{{z{zz{{{z{{z{zzzzz{{{{{{z{{|{zz{zzzz{z|{z{||zz{z{yz{{{{z|{z{zzzyzzzzz{{zzz{{{zyz{zzz{{z{{z|z{zzyzz{yzz{{zyz{yzyyzyzyy{yyyzzzzyyzzzyxzzz{z{{zzyyzzyzyz{zz{z{zzxxyyyzyzzzzxzzzzyyyyyyyyz{yyz{{xyzyyyzxyzzzyzzzyyzzy{zxzzzzz{{{y{yyyzyzzzzyzzzzyyyyyyzzyz{zzzzzzyzyxyzyyzz{{yz{zyzyyyyyzzz{{z{{yyyyyyyzzzzzzz{zyyyzxzyyyzyz{zzzzyzyyzzzzzyzzz{zzyyyzyzy{zyzz{z{yyzy{zyzzzzzzzz{zyzyzyyyzzzzyzz{zzyyzyzzzzzy{{{{zzzzzzzzz{zzz{{{zzyzzzyy{z{zz{z{{yzzzzyz{zz{{{zzy{{zzzz|zzz{zz{{{zzzyyzz{{z{{z{{|zzzzyz{z|{{{{{|{zz{zz{{z{z{{{{{{zzz{z{z{{{{{{{{{z{zzzzz{{z{{|{{z{zz{yzz{z{{{||y{{yzzy{zzyzz{{{{{zzyzzzzz{zz{||{{{{zzz{yz{z{{z|zzzzzzzzyzz{zz{{zzyyzzzyyy{{zz{{zyzzz{yzyzzyzzzz{zzyy{z{zzzzz{{z{z{zyzyyzzzz{zzzz{zzyzyzxzzyzz{z{zyyyyzyyz{{y{z{zzzzyxyzyz{zyyz{zzz{{yzy{yzz{zz{zzzyz{yzyzz{yyz{zzyzzyyxzyz{yzz{zzzzyyyyy{z{{yzzzyzzzzyyyz{zzzzzzzzzzyzy{zzzzy{zzzyzyzzzz{{zz{y|{{zyzzz{yz|zz{z{{zzz{yy{z{z{{{z{zzzzzz{zzy{|zz|{|{yz{{yzz{{z{z{{z{{zz{zz{{{{{z{{{zzzzzyyz{|z{{{{|zz{zzzzzz{{z{{}{zz{zyz{z{{{{z||{zzyzzzy{{z{zz{{{{{yz|z{z{{{{{{||z{z{{z{{{{{|{|z{{z{zy{zz{|||{z||{zz{{zzy||{|{{{{{zzzz{zzzz{{{{{{{zzz{zy{{|{{{{{|{{z{zzz{|{{zz{|{|zyzxzzz{|{{{z{z{zzzzzyz{z{{z{{zzyyyyzzyz{z{zz|zyzyzzyyzzzzzzz{{zzzzzzzyzz{{z{{zzyzzzzyzzzz{z{zzyzzyzyzyyzzzz{{{zyzyzzzzzz{zzzyyzyyzyyxz{zz{y{zzzyyyyyyzzzzzz{zzyyzzyyzzyzzz{{{{zzzzzzzzzz{yzz{{yz{yzzyzzzz{zz{|yz{yzxyyzyzy{zzzzzyzzzzzzyyzzz{|yzzzzzzyz{{{zz{{zzzzzz{z{zzz{zz{zyzzzyzzz{{{{{{z{yzz|yyz{{{z{zzz{z{zzzzzzzzzzz{{zz{yzzzz{{{z{{{z{z{zzzzzz{{{{}zz{{{{zz|z|z{|{|{zzzzzz{{z{{z{{||{{zzz{zz{{|{|{z|{{z{z{{{zz{{|{z|{zz{zzz{z|{|{||{{{{{zzzz{z{{|{{{|{{z{zzz{{{{{{|{{|z{z{zzzzz{|{{{||{{{z{{{{{{|{{{{{{{zz{{{z{z{{{|{{z{zz{zzzz{{z{|{{{{yyzyzz{z|{zzy{{zzyzzyy{zz{z{zzzzzyyyyzz{{zzz{zzzyzyyz{zzz{{{zzzzzzzy{yyzzzz{{zzyzyz{y{z{zy{z{zzzyyzzy|zzzzzz{yy{yyzyyzzz{z{zy{zzzyz{yyyzzzz{{yzyzyzyxzzzzzz{{zzzxyyyzxzzz{z{z{yzyyzyz{z{zz{{|{yxyzyzy{zzzzz{{{zyyyyzyzzzz{|{{yyzzzz{y{z{{{{{{{zyyyzyzzzzzyzz|zz{zzzzy{zzzz{|{z{z{zyzz{yzz{{{yzz{yzz{zz{zz{{y{zzzzzz{z{{|{zz|zzzz{zyzz{{{{z{{{{zzzyzy{z{z{{{{{z{{{{y{{{{{{{{{{z{zz{z{z|{{{{{{z{zz{zzz{{|{{{z{{zzzzz{z{{{{zz{|{{{{yzzzzy|z{{{{|{{{z{z{{{{|z{{{{{y{{z{z|{{z{{|{|{{z{{{{{z{{{||z|{{|zzzz{zzz|{{{|{zyz{y{zy{{{z{{{{zzzzzzz{z{zzz{zyzzzzzzyzzzy{yzzyyzyzzyyz{zy{zz{zyyyzzzyzyyzz{{zzyzzzyyyzzzzzz{{zyzyyyyyzzzy{{zzyzyzzzyzyz{zzz{z{yyyyzzzzy{z{z{zyzyzyzzzzz{zzzz{yzyzzyyyy{zyzzzzzyzzxzyzyz|zzzzzyyyzz{xzy|zzzz{zzzzzzzzzzyyzz{z{zxzzz{yxzzxzz{{zzy{zz{zyz{{z{z{{zyzxyzzzyzz{z{{{yzzzzyzy{zz{{z{{zzzyzyyzz{{z{zzz{z{zyyyzz|z{{{{zyzzzzyzz{{{z{y{{{zz{z{zz{z{z{{|{{{zz{z{{{{{{{z{{zzzzz{{zz{{{z|{{zzzzzzzz{zzz{{{z{yzzzzzz{z{{{|{|zzzy{{zz{{z{{{{z{z{zzz{{{|z||{|{{z{zzzz{|z{{{{}|{yyzz{zz{z{|{{||{yzzzzyz{{z{{{{{zzzyz{zz{{{{{{{{{zzzyzzz{zz{{zz{{{{yzzyzz||zzzzzzzzzzyyxyzzzzz{zzzyzyyyyzz{zzz{{{zzyy{yzyyz{zzzzzyzyzyxyz{yzzzzzzyzyxzzyzz{{z{zz{zyyyyyyzzyz{zz{yxzyzyzy{z{zzzzzzyyyyyyyyzz{y{zzzyyyyzyyzyzzzz{zzzzyyyyzzz{zyz{{zzzyyyyyzzz{{z{zyyyzyyyyyzyzz{z{zyzzyyyyzzzzzy{yyyyyyyyyz{{z{z{zzzzzzyzyzzz{{zzzzzyzyzyz{{{z{|{{yyzyzzyxzz{{{{{zzzyzzzzyyzz{{{{zzyzzyzzy{{z{{z{{{zzzzyzzz{zzzzyzz{zzzzyzz{{|{{z{{zzzz{z{{zz{{{|{{yzzzyzzz{|{{{z{zzzzzzzz{||{{z{|{z{zzzz{z{{{z{{z{|zzz{z{z{{{{{{z{zz{{zz{{{{zz|{z{yyzzzzz{zz{{z{{{yzzzzy{zzzz{z{{zzzyz{zzzzz{z{{{{yzzyzzyzzz{{||zyz{zzzzyy{{zy{yzzyyzzyzxz{zy{zzzzyyyzyxyzzzzzyzzzyyzxyzz{zzz{zzzzyzzzyyy{zzzyzzz{zyyyzzy{z{zyzz{yyzzyyzzyzzzzzzzzzyzyxyyzyz{zzzyyzyyxyyyzzzzyzz{zyyyyzyyyyzzzz{zyyzzyzyzzyzzyz{zzyzyxyzyz{{zzzzzyyzyzyyyyzzzz|zzzyyyyyzyyzzyzzzzzyy{yzyxzz{zzzzzzzyzyyyxyzz{zzz{{zyzyyzzzz{{zz{{zzyzyyzzzz{z{zz{zzzy{zzzyz|z{{{zzyzzzzzzz{zyzz{zzyzzzzz{zz{{{z{{zzzz{zzzz{{{{{{{yzzzzzzz{{zzz{{{{z{zzzyzz{|z{z{z{zzz{zyzzz{zzz{{{zzzzzzzz{{{{|{|{zz{z{{{{{{|{z{{z{{z{zzy||z{z{{{zyzzzyzzz{{z{z{{{zy{{zzz|{{{{{|{zzzzzz{zyz{z{|zz{yzzzzzzz{z{{{{|yz{zzzyzz{z{zzzzzzzyyyzyyzzzzz{zyzzzyyzyyzyzz{{zzzzzzxyzzzzzzzzzzzzyyxxzyyzzzzz{yy{yyyyxz{zzzz{zyyzzyzyyy{zyzy{yzzzyyyyyzzzzzy{zzyzyyzyyy{z{{zyzyzyyyyyzyzzyz{zyyzxyzyzzzyzzzzzyzyyyyyyyzzyyyzzzzxyzzyzyxyzzyz{zzzyxxyxzy{zzzzzzzyyyzzxzyzzy{zz{zzyyzzyzzzzyzz{{zyzzxyyzzzz{z{{{zzzz{zyzz{{z{z{z{zzyzyzzzzz{z{|zzyzzzyyzzz{{z{{{yyzzyyzyz{y{{{z{zzzzz{zyzz{{{|{{zzzzzz{z|{z{{{z{zzzzzzzzz{{{z{z{zz{zzyz{{y|y{z{{z{{yzz{{zz{{{{{zzy{{z{z{z{z{|{{zzz{{zzz{{{{{z{{{{zzzz{z{{{z{{z{{z{z{{zz{z{{{z{{{zzzzzy{zzz{|{{{{{zzz{yzzz{zzz{{zzz{yzyzz{z{{zzyyyyyzzzyyy{zzyyzzzyzyyxyzy{yz{zzzzzzyyyyy{z{yzzyzzzzzzyyyyzzzzz{zzyzyyyzyzzzzz{zzxzyyzyyxyyyzzy{zzxzyxzzyzzyyyz{zzyzzyxzyzzzzzzz{yzzzyyyyz{xzzz{zzzxzyzxyzyzyzzzzyzy{xzyyzzzzzzzzzyyzyyzyyyzyzz{zzxyyzy{yzzyyzzz{yxyyzzzyzy{zyzz{zyzzzyyyyzzyyzz{zyzzyyyzzzzz{z{zzyyyzxyz{zzz{z{{{{zzzzyyyzzz{{{{zzzyzyzzzzz{zz{zzyz{zzyz{zzzz|z{zyzz{zzzzz{zz{{{yzzyyzy{z{z{{{{{{zzzzzzy{z{|{z{{zz{zzzzzz{z{{{{{yzzyzzzzzzzz{{z{zz{zyyzzz{{{{z{{{y{zz{zzz{|{z{{{zyzyzzz{{{{{{y{|zzzzyzzz{zz{{z{{zzzyzyzzzzz|z{{{{zzzyyyyz{z{{z{{yzzz{zzyzzz{zz{zzzzzyyyyyzyzzz{{zyyyyyy{zz{{{zzzyzzzzzyzzzzzzz|z{yyzyyyzyz{zyz|zzyzyzzzx{z{zzz{zzyy{zzyzyyzzyzzzzyzyzzyzzzzzzzzyzyyyzzyy{{zzzzzzzyyzyyyzz{yzz{zyzyxzyyyzzyzyzzzzzzyzyyyyzzz{yzz{zyyyzyzyzzyzzyzzzyzyzzzzzzzz{{z{zxyzzzzyzzzz{{zz{zyzyyzyyzyz{zzzzzzzyyzz{z{yz{{zzyyyzzzzzz{z{{{{zyzzzyzzz{{{z{z{zy{y{yzz{z{{zz{zzzzzzyyz{{z{z{zyzzzzz{zz{z{{{{{zyzzzy{yzzzz{{{{zzzzzyzzy{{z{zz{{|zyyzz{z{|{z{z|z{yzyz{{z{{{{zz{z{zzzzz{zzz{|zz{|{{{z{zz{{z{{z{z{{yzzz{zzzyz{z{{|{zzyyzzy{{z{|{{{z{yzzzzyz|z{zz{{|zzzzzzz{{zy{z{zzyzyzyzyzzzzzzyzzy{yzyzyyz{{zzzyzzyyyyyyzzzzzz{zyzyyyzyzzy{{y{zzzyyyyyzzzzzz{zzzyzyzyyzy{zyzz{{{{yzyyy{yyzyyz{|zzzyyyyzz{zzyy{zzzyyy{yyyzzzzzzz{zxyzyyyzy{zzzyyzzyyzyzyyyzz{z{zzzyyzzyyzy{{{zzzzzyzyzyzyzzzzzzzzyyyyyyzyyzzzzzzzzyyyzzyy{zzzzz{zyyyyxzzyzzz{zzzzyzyz{yzy{z{zz{z{zz{yzzzzz{zyz{|zzyzzzzyzz|zz|{{{zz{zzzzzz{{z{z{{{z{zyzzz{zzzz{z{{yyz{zz{{{{{{{z{zz{z{{zz{zz|{|{|zzzz{zyyz{{{z{{z{z{z{zzz{{{{|{|{z{{zz{{zzz{{{{{{|z{z{zzzz|{{{{{{{z{zzz{{zz{{{z{{{zzz{zzz{zzzz{|{|zy{zzzz{{{{{{{{{zzzzzzzyzzz{z{{{zzzz{zzzzz|{{{{{z{zzxzzz{{{{zz{yzzyzzzzzzzzzzz{zyzzzzzz{zzz{{{zyzzxzyyzzzzzzzz{zy{zyzzzzzy|z{{{zzyyyzyzzz{z{{y{yz{y{yzyz{z{zzzz{zzzz{yyzy{yyzzzyzzyyyzy{zzz{{z|zzyzzzyzzz{yyzyzyzyzzzzzzzzy{z{{zzzyzzzyzzzzz{zzzyzyyyzyzzzzzz{{yzyzyzyzz{{yz{{z{yzzyzyzzz{{{z{{{zzyzyzzz{{{{zz{{yyzzyz{z{yzz{{zzzzyyyzzz|z{{|{{{{{{zzz{zzz{{z{zzz{z{yzy{{zz{z{{|{zyzyzz{{{z{{z{{yzxz{zzz{{{z|z{{{zz{y{z{{zzz|{|zzy{{zzz{z{{|{{{{yz{{z{z{|z|z{z{{zyzz{{{zz{{{{{{{{z{y{{{{{z{{{{{{z{{zzz{|{|z{|{z{zzz{z{z{{{{{{||zz{|{zzz{{{|{|{{{zzzzz{z{z{z{||{zzz{zzzz{{{zzz{|zyzz{yzzz{{y{yzzzyyyyyyzy{zzzzz{zzzzzyyy{{{z{z{zzzyyyzzzyzzz{zz{zxzzyzxz{zyzzz{{yyyyzzyyzz{zy{zzzyyyyz{zz{zyy{yzzzzzyzyyy{{zzz{zzyzyyyyyyyz{zzz{yyzyzyyyyzzyyz{zzzyyxyxzyzz{zzzzzzzzyzyyz{zzzz{{zzzyyxzyxyzzzzzzzyzzyyzyyzzzz{{zyyzzz{yy{{{{{z{zyyyyzzyzzzzzzyzzzyxzyyyz{zyzz{z{yzzyyzzzyzzz{zy{zy{zzzzyz{z{z{{zzyzzz{zyz{zzzz{{zzyyzyzzz|zzz{z{zyzzzzy{{zz|{|zzzz{zzzzzz|{{z{|{zyz{z{yz{{{z{|{{{zz{{zzzz{{{{{{{zzzz{z{{zzz||{{|{zyzy{zzy{{|{|{|{z{{z{zzzzzz{{z{{{z{zzz{{{z|z{{z{{{z{zy{{z|{{{z|zzyzz{{zz{{z{{|{zzzz{zzyz{{zz{{zzzzzyzyz{{y{yzzzzzzzyyzyyzz{zzzzzzzxzyzyzzzz{|{zzzzyy{{xzzzz{zz{zy{yzzzzz{z{yy{z{zyzyxyyzzzyzzz{zzyyyzzzyzz{z{{zzyzyzyyzyz{yyzz{yzzyyzzyzyz{zyzzyyzyyyyzyz{{zzzz{yyzyyx{zy{y{zzzzzzzzzyzzzz{z|{{zzzxyyyyzzzzyzz{y{zyzyyyzz{zz{zzzz{yzzzzz{z{zy{zzz{zzyyxz|zz{zz{zzzyyzzzzzz{z{{{zzyzzzzyyz{z{z{zzyzzzyzzy{{z{|zzzyzzzyzzzz{{{{zzzzzz{zzy{{{{{{z{{yz{zzzzzz{{||{{z{{yzz{zzz{{{{{{{zz{zyzzz{{{z{z{{zzzzzz{{|z{{|{{zzz{z{{{{{|zz|{{{{zzz{zz{|z{{{|{{{{{{{zz{{{|{{{{{{zzz{z{{{{{{|||{{{{{zzzz{{{{{{|zzzzzzz{zz{z||{{zzzzyz{z{z{{{{{y{zzzzzzyz{z{zzzzzzzyyyzyzzzyy{z{zyyxyzyyyzzz{zz{{zyyxyyyzzzz{{zzzyzyzyyyyzy{zz{zzyzyyyzyz{zzz{{zyyzxyzyzzz{zzzzzzyyyxzzzzyzzyzzzzzyxxyyyzyyzzzzzyyyyzyyzxzzzyzzzzzzzyyyzzz{yyzz{zzzyyzxyyy{{zzz{zyzyzyyzzy{yzzzzyzyxyyyyyzyzyzz{zyzyyzyxzzzzzzz{{zzzyzyzyzzyzy{{yzzzyzzy{yzzzzzzyyy{yzyyzz{{zzz{{yzzzzyzzy{{{{{|zyzzxyyz{{z{z{{zzzzy{zzzz{zzzzz{zyzzz{yz{{{{z{zzzzzz{{zz{z{{zz||yzzzyzzy{{{{z{{z{zzzzyzzzz{{|{|zzzzz{{y{z|zz{{zz{{yzyzzz{|z{{{{{{zz{z{z{{z|{z{z{{zzyzyyzz{{zz|{|zzyzzzz{{{z{{|z|{zzz{zz{{{z{zzz|{zy{zzzzz{zzzzzzz{zzyyyyzzzz{zz{zyzyyyyyyz{zz{{{yyyyyyyyyy{z{zz{zyyyzyz{zzz{{z{zyzzyzyyyyyzzzz{zyzzyyyyyzyz{zzzzyyyzyyzy{zzyyzzyzzyxzyyyyz{yyyz{zyzyzzyyyyzzz{zzyzzyyzzxyzyyz{zzzzyyyzyzzzzzzzzzzyyzyzzzzzz{zzz|yyyzyyzyyzzy{{yzzyzyzyyzyyzyyzzzyyzzyzyzz{z{z{z{zzzyyyzzzyzzzzz{zyzxyyyyzy{y{{{zzzxzzzzz{{zzzzzzyz{zzzzyy{{{z{{zzzzzzzyzz{z{z{{{zzzzzyzy{zz{z{{{zyyzzzzz{zz|{z{zyz{z{z{{z{{|z{{|zzyzzyyy{{{{z{{{{z{zzzyz{{{z{{{|{{zyz{{zz{|zzz{zzyz{zzzzz{{z{|{{{zzzyzzz{{zz{z|{z{zzzzzz{z{|{z|{{zzz{y{z{{{{|{{|{{{y{zz{{z{z{{|{{z{zzzyzz{{zz{z{zy{y{zzy{zz{{zyzzyzyzzyyy{{yzzy{zzyyyyzyzyzyzzzzzyyzyyyyyzzzzyzzzzzxzyzyz{zzyyz{zzyxxzzyyzyzyzz{yxyyzyyyzzzzyzz{yzyyyyyyyzzyzzyzyyzyzxyyzyzzzzzzyyxxyyyy{zz{yzzzzyyyyyyyzz{zzzyyyzzyxyyyzy{z{zz{zyyxzzyyyzyyzzzzzyyzyzyxyzyzzzyzyyzzxxzy{zzzzzzzzyzyzyzzz{zzzz{|zyzyyy{yyz{z{yzzyzyxzyyzz{zzzzz{zzzzyyzyzzzzzzy{zzy{z{zzz{{{zz{zzyzyzzzyzzz{zz{zzzzyzzzz{zz|z{z{yzzzzzzzz{z{{{{{zzyzyyyzy{{{|{{{zzzzzyzz{{{{{z{{zzzyzzz{{{z{y{{{zz{zzzzzzzz{|{{{{zzz{zyz{{{{{yzzz{z{zy{zzz{z{z{{{zyzzzzyzz{{z{{{zzzz{zzz{zzzz{{zzzyzzzzy{z{zzzz{yyzyzzyx{yzzz{zzx{yzxyyzzz{zzzzz{yzyzyxx{{yzzzyy{yyxyzzzzyzzzz{zzyzyyzzyz{z{{zzzzxyyzxyyyz{zz{{zzyzzzyyyz|{zy{{{zyzyzyyzzz{xy{zzyyzyyyxyzy{zzzz{zyzyzyxyyzzzzzzzzyyyxyyyzy{yzyzzyzyyyyzzy{yzzzzyyzzyyyyyzzzzzzy{zyyzyyyxyzzzz{z{yy{yyzzyzzzzzzz{zyzyzzzyz{{{yzz{yyzyyx{zzz{{{zzzyzzzzyzz{zz{zz{{zyzzzyyzyz{{zzz{{zzzzyzzzzzyzy{{{zzzzyyzz{zzz{{{{yz{zzyz{{{zzzzzzzyz{z{{zzz{{|z|zzzzzzzz{z{{zz{{zy{z{zzz{{z{z|{{zzzyzz|zz{{{z{{{|zzzzzy{z|{{z{{z{z{{zzzzz{{{{{{{{zz{zzzz{zzz{{{}{zy{zzyzyz{{zz{{{z{yyzzzzzzz{{|z{zyzzz{zz|{|{z{zzyzzyzzyz{{zzz{zzyzyyyzyzzzzyzz{zyyyyzyyzzzyzyzzzyyxzzzyzz{y{zz{zyyyyxyyzzzzzzz{zyzxyzyy{zzzzzzzyzzyyzzyxyzyzz{yzzyyyxxyyzzyyz{zzyyzzyyyyy{zyzz{yyyzyyyyyzzyyzz{xyyzxxyzzyzyzzzzzyzzyxzyyzzzyz{zzyzzzxzzzz{zyyzzzyyyyyyyyzzyy{zzyyzyzzyyzy{zzz{{yyzyzyzyyzzy{zz{zy{zzxyy{{zzzzzzyzzyyyyyzzyzyzz{zyyzyyzyyzzyz{z{zzzyzyyyz{zz{{{{{zyzzzzz{z{{{{{zzz{xzzzzz{y|{{{zzyz{zz{zzzz{z{zzzyz{zzyzz{zzzz{zzzzzy{{z{{{{|{|{zy{zz{{zz{z{z|{{{y{zzyzzz|z{{|{|{{z{{z{{|zz{z{{|{zzyz{zz{z{{z{|{{zzz{{z{z|{zz{z|yzzyzyzzz{z{zz||{zz{zz{zyzzzzz|zz{yzzyzy{{zzzzzzzxzyyyzyyy{zyz{{zzzyyzzyzyzzy{{zyzyyyzzzzzyz{zz{{yyxzyzyzzzzyz|yzyyyyzyyzyzzzzz{zzyzzzyzyzy{z{{yzyzxyxyyzzzzyyzzzyyyzzyyzyzyyzyyzyzyyzyyyzyz{zyyyzyyyyyzzzzyzyzzyzyzzyyyyzz{zy{z{zyzyyyyxzzyyzyzzzzyzzyzzzyzzzz{yyzyyzyzyz{zzz{z{zyzzzyzyzzzz{yzzzzzyyzzzyz{y{{|yzzyyzyyzzz{zy{{zz{zzyzz{{zz{{zz{yyz{zyyzyzzz{z{zyyyzy{z{{{zzzzzzzzzyzyyz{z{z{{{z{z{zzzz{zz|z{z{zzzzzzzzzz{z{{{{{zz{zzzz{|{{{{{{zz|zzz{zy{zzz{{{{zzzzzzz{|{{{{|{{zzzzzzz{z{{z{{zy{{z{y{{{z{yz{||{z{zzz{zz{z{z{z{zzzz{z{z{zz{{{{z{zzzzzzz{{{{zz|z{y{zzzyz{zzz{zzyzzzzzyxyyzz{y{z{yzyzyyzxz{{{{{z{zyzyzyxyzzz{z{{{yzzzyzyz{yy{yzzzyyyyyyzyy{zz{zzzzyyzyzzzyzz{z{{zzyzyzzyzzyzzzz{z{yzz{zyyzyy{zz{zyyzzyyyxzzzz{{zy{zxyyyyyy{zz{z{{zzzzxyyzyzzyy{{yzyyyzzzyyzzyz{y{yyzyyzyzzzzz{{yzzyzyy|zz{z{zzz{zyzzzyyzzy{yyz{{{{zzyyzyzz{z{{z{{zyzzzyzzzz{z{z{{zzzzyzzyz{{z{{{z{yzzzzyyzzzz{{|{zyzzzzyz{z{zz{{{zzzzzz{zz{{{z{{{z{zy{{|z{{{zz|{{{z{zzyzy{{|z{{{{{yzzzzzz|{{z{|||{zzzz{{z{{zz{{|{{z{{zyz{z|{|{{{{{{zzzz{{{{z{{{{z|yyz{{zzz{{{{{|z{zzy{{{{{{{z{{|{z{{yzzzy{z{z{{{{{{zz{{{yz{z{{z{{{zzyyyyyzzzzz|zyyxxyzzyyz{{y{{zzzzyyyyzyyz{zzz{{zzzyzzzyzzzz{{zzzzyzzyzyzzzz{yzzzzzyx{zyzz{zzzz{yzzyzyyyzz{zz{zzzzzzyzyyyz{zzzzzzyyzyyyzzyzzzyzzyzzzyyzyyz{zzzz{yyzzyyz{yz{yzzzzzzzyzz{yzyzy{z{{zzzyzyzyzzzzzzz{zxzzzzzyyzzy{{zzzzzyy{yz{y{zz{{{zyzyyyzyy{{zzz{{zy{z{yzzz{{{zz{{{zyx{zz{z{zzz{|{zzzzzy{zyz{zzz{zyzzzzzyy{{{{{{|{zyy{zyzzzz{zz|zz{zzzzzzzz{{||z{{zzz{{{zyzz{{{|z{{z{z{zyz{{{z|z{{{z{yzzzzz{{{{{{|z{{zy{z{{{{{{{|{{zzz{{z{z|{{{{{{z{{{yzyz{{{{{|{zzzzzzz{{{{z|{{{{zzzz{{{z{{z|z{{|zy{zzzz{z{z{z{{{{{{zzzzy{{{|{z{{zzzzzyxyzzz{{z{zzyzxyzyzzz{zy{{{zzyyyzyyzzzzzzz{zzzzyzyzz{zzz{z{{yzzyyzzy{{zzzz{zyzyyzzyzz{zz{zzyzzyzyyzzz{yyzz{zyzzyyyyzyzyzzzzzyzyzyzyzzz{zyzzyzzyyyyxxz{{zz{zzyyzzzyzyzzzzzzzzyy{xzyzzyz{zz{zzzzyyyyyyzyzyzyyzyzzzyzyzzz{y{zzzyyzyzzyzzzyzzzz{{yzzyzzz{zz{zzzzzzzyyzzyzzz{zz{zyzzzyzzz{{zzzzz{zyyzyyzz{{{{{z{{zzyzzyyzz{{{zzzzzyyzzzzz{{zz{zzyzzz{zz{z{{||{{{{zzzzzzzy{z{{{{{zzzz{zzzz{|||{{{{{z{z{z{{{{z|{||{{{zy{{zz{z{{|{{{z{zzzzzz{{{z{|{|z{zzzz{{z{z{{{{yy{zzzz{zz{{{{{|{zz{zyzzz{{{{{{{zzz{zyz{{{{z{z|{yz{zzzzzz{zzz{{{zzz{zzzz{zzyzzz{zzzyyyyyyzzzyz{zzz{zyzzzz{yzz{{{{xzyyzzyzzz{zzz{zzyzyzzz{z{{yy{yz{zyxzzyzzzzzz{{yyzyxzyyzzzyzz{zzyzzzzxzzzzzyzyzzyyzyzyyzzzzz{zzzyzxyzzyzzzzzz|zxyyzyzxyzzzyz{z{{zzzyzyzzzy{yz{{yyyzyyyyzzyzz{yz{zyzzyzyyzzzyz{zyyzzzzxyyz{zzz{{zyzyzyzzyz{zz{z{zyzyxyzy{zzz{zzzyzzyzzyz{z{zzz{zyzzyzzzzzzzzz{zzzzyzzzyz{{{{zyz{zyxzyzyz{zzzz{{z{yyzz{zzzz{{{{|{zzyzzz{zz{z{z{{|zzyyy{y{{{{{|{{{zyzz{{{y{|{{{{{{y|zzz{zzzzz{z|{z{zzz{{zzz{z{|{{{zz{{{z{z{z{{{z{{{zyzzzzz{zz{z{{z{zy{{zz{zzz{{{{{{zzy{yzzy|zz{|||zyzzzzzzzzz{zzzz{yzyyzyzz{{{|zz{yyyyyzyyzy{z{zz{yzyyzyyz{zy{{zzzzzzyxyyyzyz{{z{|zzyyyyyzzz{zzyzz{zzyyzzy{yyzzz{|yz{zzyzyy|zz{{{zzyyyyyyyzzzyyzzzzzzyyyzyzzz{yz{zzzyzyzyyy{zzzzzzzyxyyyyyyyzzzzz{zz{zzyxyz{{z{{z{yyyyyyzyzyzzz{{{zyyzyxyyzzzzzz{{zzzzy{zyz{zz{{z{zzzzzyzzzzzz{z{zz{zzyyyz{{zzz{y{yyzzzzzzzz{zz{{z{{yzzzz{zz{{y{{z{yzyzzzz{{{yz{{{zzz{zyzzz{zz{z{zzzzzz{{zz{|{{{z{zzzyzzzzz{{{z{{{{z{zzyzzz{zz{{{|zz{zzz{z{{{{zz|z{z{zyz|{z{{{{{z|{zzz{zzyz{{{zz{{zzzzzy{z{{z{zz{{{zzzzzz{{{{{zzz{zzyyzz{z{z{{z{{{z{yyzzzzz{zzz||zzzzzzzzyz{{{z{zzzy{y{yyzy{zz{{yzyzzyyyyyyzzzzyz{zyzyyxxyyz{yy{zzzyyxyz{yzzzz{zzzyyzyzyy{zzzyzz{zyyzyxyyyzzzy{zzyzzzyyyzxz{{yzzzzzyyzzzyyzz{yzzzzzyyzyyzxzzzyzyzzyyyyzyyzyyzzzyyzyzyyxyyz{zzzzzyzzyyyyxyyy{zzzzzyyxzyyyyzyyy{yyzzyyyxzyyyzz{zzzzzzyzyyyyyzzzzzzz{zzzzzyyyzzyzzzy{{yzzyyzzzzzzz{zyzyyzyyzzzzz{z{z{yyyzzyzyzz{yzzzzyyyyxyyyzzz{zzzzyyyyzzzyyzz{{zyyzyz{zyyy{{{{zzy{zzzyzzzzz{zzzz{|zzyxzzxxzz{{z{{zzxzzyyyy{z{{zz{|z{zy{zzzzzzzzzz{zzyzzzzz{|z{z{z{{zzzzyzz{z{{||{{{zzzzzzz{{{zz{{{{zyz{zz{{y{{z{{{{zyyy{yyz{z{z{{|{{yzzz{zz{{zz{{zyzzyzyyyyy{z{zzzyzyzyyzyy{zyzyz{yzyzyzyyzzzz{zzzzzyyyzxx{zzzz{z{zyzzzxzzzzzzyz{zyzzyxzyxyzzzzzz{yyyyyzyyzyyyzz{zzyzyyzyy{zzzzzzyxyyyzyyyzzzzzz{zzzzyyyyyyyzzz{zzzzyyzyxzzzzzzzzz{yzyyyyyz{zz{{zzzyxyzzyyyzyzyzyyzyzyzxzzz{zyzzz{yzzyzyzzzzyyzz{zyzyzzyyzz{{zzzzz{xzzyy|zyzzz{zzz{{zyzyzyzz{yzzzzyxzzyyzyz{zz{zzz{zzyyyyyzy{zyz{zzyzzzz{z{zzzzz{zzzzyzzzz{{z|z{{{zz{yzz{z{yz{|{{{zzyzzzyyzz{{{{zzzzzz{{zy{{zz{{{{yz{zzzzyz{|z{z{zzzyzz{zzz{{{{{zzzy{{zzy{{z{{{{|{{zzzyzzzzz{zz{{{zzzzzzz{{z{{z{{{{{yyzzzzz{z{zz{zzzzzzzzzz{z{{{zzzz{zyzzz{zzzzzz{zzzyyyzxxz{yzz{{zyzzzyzzzzzzz{|{{yzzxzyy{{{zz{z{yyyzyyyzzz{{y{z{zzyzyxyyyy{zzzz{yyzyyzzyy{zyz{{zzxzyzyyyzz{zzzzzzzyyyzzxzyz{zzzzyyzzyyyyy{zzyzz{zyyzyyxyzzzzzzzzyzzyzyzyyzzz{zz{zzzyyzyyyzzzyzz{yyzyyzzyzzyyyzz{yzzyzzyyzzz{{zzzzzyyzyzzzzzyz{zz{zyzyyzy{{zzy{{{zzzyzzyzzzzzzzz{zzzzyyzzz{zz{zz{zzzyzzyzzz{zzz|z{zzzyzzzy{{zz{{z{zzzzyzyzzz{z{zzz{zzz{zzz{zzz|{zzyz{zzzy{z{{{z{{zyyz{zzzz}{z{|{{{z{zz{{{{{{{{{{{{z{{z{{zz|{{z||{{zzzz{zz{{z|zz{{zz{zyzzz{{{{z{{|{zz{{{z{{z{|{z{|zzzzzzz{y{{{{{{{{zz{y{yzzzz|zz{{z{zz{zzzzzzz{zzzzyyyz{zyzzyyxzy{zzyzxyyzzzzyzz{yzyyyyzzyy{yz{{z{yzyyzyyyyzz{yz{{zyyyyxzyz{z{z{z{yyxzxyyyyzzzyzyyyyyyyyyyyzzzzzzzzzzzyyyyzyzzz{zzyyyyzyyyzzyy{yz{zyyyyyyyzzzzzzzzzzyzyzyxzzzyzz{zzyzy{yyyzyyzzzyzzxzyyzyzyzzyzzzzyyyyzzyyzzzzzz{{zyyxzzzyzzzzz{zzzzzyyyzyzyzyzz{{zzyzzzzy{yzzzz{{yzzyyyzzz{z{z{z{{yzzzz{zz{{z{zzy{zzzzzyz{z{zz{{zzyzzzzzzyz{{{{{zyzzzzy{zz{z{{{zzz{yz{yzzzz{zzz{zzyzz{yzy{{{zz{z{{{zzzz{y{z{z{|{{zz{zz{{zz{{z|{{{{z{z{z{{|zzz|z|{zzzzzzzzzzz{{z{|{zz{{zzz{{{zz|{{{zyyz{zzz{z{z{{{{{zzzzzzz{{z{zz{zz{zyzzyz{{zyzzzzyyzzyyyz{zzzzz{yzzzyxyxzzzyz{zzzxzyyzzzzyzz{zzzyzy{zyyyzyzzz{z{zzyyzzzyzzzzzzzzzyzyyyyyyy{{zyzzyyzzyyyyzzzyyyzyyzzyyyxyzzzzyzz{zzyyyyyzzzz{zzzzzzyyyzxxzyzzzzyzzyzxxzyyzyz{zyz{yxyzzyyzyzzzzyzzy{zyyxyyyzzyyz{zzyzyxzzyzzzy{z{zzzzzyzzyzyzzz{{zy{zyyyzz{zz{z{{{{zyzyzzzz{zz{z{yzzzyyyzyzz{{{z{{{zyzyzyzyzzzz{{z{z{zyyz{{zzzz{z{{yzzzzz{z{{{{{{{yz{zyz{z{{zzz{{zz{z{zzyz{{zzzz{{{yz{{zz{z{{|{z{{zzzz{zz{zzzzz{{{{z{zzzzz{|{z||{{{yzz{{z{|zz{|{zzyzz{{zzzz{{z{{{{{{yzz{zzzzz{{z{zzz{{zzzzzz{{{z||yzz{zzzzz{zzz|z{zyzzzyyzzyz|{zzzyyyyzyzxzzzzzzzz{yyyyyyzzzzz{{{zyzzzyzyyzzzzzz{zyyzzzyzyzz{yzy{{zyyyyxyyzyzyzzy{yzxzyyzyz{zzz{{{zzyyyyzyzy{z{zzyzyzzyyyyzzzzzzzyzyyzyyzyzzzzyzyzyzyyyzyyzzzz{zzzzzyyyyyyyzzyzz{zyzzzxxyzyzyzy{zzzyyyzxzyyzzyz{zzyyyyyzyy{yz{zzzz{zzyzzzyzzyzzzz{zz{zzyyzzzz{z{{{yzzzyzyyz|zz{zzzzyyzyzzz{{zzzz{{zyzzzzyz{zzzz{{zzzyy{yyzzzz{yzzz{yzzzzzzzz{{zz{{yzzyzzyz{{y{z{{{zzz{zyyzzy{z{{{{zzzzyzzz{{{{z{{{zzzzzzz{z{z{{zz{{zzz{zz{{{{z{{{{{z{zzzz{z{z{{{{|yzzzzyzzzzz{{{{{{{z{{z{zzzz{}{{{zyzzz{z{z{z{y{{zzzzyzzyz{{z{z{z{yzyyz{zz{z{{yzzyzyyyyzzyzzz{z{z{zzzyyyzyzz{yz{zz{zzxzyyyzzz{zz{{zyyzyyzzz{{{zy|{{zzyzyzzz{{{zzzzyzzyzzyzzzzzy{zyyzyyyzyy{z{zyzzyzyzzzyzyyzyzz{zzzzyyzyzyyzzzyz{zzyyzzzxzzz{z{{zzyzzzyzyzz{{zyz{{yyyyzzzxzzzzyzz{z{yyzyxyy{zz{{zzz{zzzzyyyyzz{{zzzzyyz{yzzzzyz{{{zyyzzxzyzzz{{{{{yyzzyyzzz{{{zz{{zyzzzzzyzz{z{{{{zyzyzzzyzzzzzz|{zzxyzzz{{yzzzz{{{zzy{zzzz{|{{{|zyz{z{{zz{{{{{{{|z{zzzzzy{{z{{{{{{yzz{zzzz{{zz{{|{zz{{{{{{{z{{{|{{{zzyz{{z{{{|{|z{{z{{z{zz{{{{{{{{zzz{zyz{zz{{z{{{zy{{{z{z{z}{zz{zzzzz{{{z{{{{|{{zzz{yzzyzz{{{z{{zyzzzyzyzy{zz{yzzzyyxzyyxzz{zzzzyyzyyzyxzzz{zzz{zyyxzzyyzzzz{z{{zyzyyyyyzzzzyzzzyzyyyzyyy|zzzzyzzyz{yyzzyz{yyzzyzyyyyxzyyz{yyyzzz{zy{zxyzzy{zzzzyzyzyyyyzyzzzzzzyyyyyxyyyzzyzzyzyzzzyzyzzzzzzyzzzzyzzxyyyzzzzzzy{xyyzzyxzzzzz{z{zyyyyyyyzzzyz{{zzzyy{yzzzz{zzz{{zzzzzyzyzzzz{zzzzyzzyyyzzzzzz{{{yzyyzxyyz{{zzzz{zzzxzzyzz{z{zzz{zzzzzyzzyz{{z{{z{yyyzzyyzz{{z{z{yzzy{zzzy{z{{{{{zyzzzyyyz{{{{z{{zyyyzzz{{{{z{{{zzyzzy{zzz{z{z{zzzyz{z{y{z{||{|{{{z|{zz|z{{zzz|z{{yzzzzzzz{z{z{z|{{zz|{zzzzz{{{{{{zzyyzzyy{zz{z{{|{zzyzyzyzzz{{zzz{yzzzzxzz{zzzz{zyyzzyzyzzzyzzzz{zyyyyyxzzzyz{{{zzzyzyyyzz{y{{{zzzxyzyz{z{z{zz{z{zyzyyzyzzzzzzzzzzyyzyzyzz{yzzzzyyzyyyyyzzyzyzzyzyzyyyzyzyzzzy{zzyyyzyzzyzzyzz{zyyzxyzyyzz{zz{{zzyyzyyyyyzzzzzzzzyyzzyyyzzzzzzz{yyzzzyzxyzyyz{yzyzzx{zyzzzzzzz{{yyzyzyyyzzzzz{zzzzzyzyzyyzzz{{{zzyzzyyzzz{{zyz|zyzzyzzyyyz{{zz{zzzzzyyyzyzzzz{{{zzyz{yyz{zzzzzzzzzyyyzzzz{{z{zz{y{yzz{zyzzz{z{{|{zzzzyzzz{{z{z|z{yyzzzzz{{|{{zz{zzz{yz{{{{zz{{{{{zz{z{yzz{{|z{z{zz{zyz{z{{{z{{{{{zzzz{z{zzz{{{{{{{zz{zzzzz{{z{{{zzzyzzzz{z{{z{{{yyyzyzyyy{{{z|zzyzzy{yzyyzzzz{z{zzyzyzyzzzyyzzzz{yzxyyxzyzzzz{z{y{yzzy{yzzyz{z{zzyzzzzzyyzz{zzzyyyyyzyyyyzzyzyzzyyzyyxzyzzzzy{{yyyyzyyzyy{zyxzzzyzzyzyxz{zzz{zz{ywyyyyzyyyzzzzzyzzxyyyxyzzzyyzzzzyzzyxxyyzyy{zzzyxzzyyzyyyyzzzyzzzyyzyzyy{zzyzzzzyzzyyzyyzyzyz{zzyzyzyzyzzyzzz{zyy{zzyzzzz{{zzzzyz{yyyzzzz{y{{zzyyyy{yzyzz{zz{zyzyyzyzyzzzz{zzz{zyzzyyyyz{zz{{zzyzzyyyzzz{zz{z{zzyyzzzz{{zz{z|{{zyzyyyyzyzzz{zz{{zyyyyyy{|{z{{{{{zzzzyzzz{yz{{{{{zyzz{{zz|{{{|{{{yzzzz{z{{{{{{zz{yyzz{zzzz{{{{|{{zzzz{y{z|{z||{{{zzzyyzyz{{zzz|{{yzzyzyyz{zzz{{{zyzyzyzyz{{zzz{{yzyzyyyyz{z{zzyzzyzzyzxyyzzzzzz{{zzyyzyzzzzzzzzzzzyyyyzxzz{zyz{zzzyyyzyy{{zzzzz{zyzyyyzzzzzyzzz{yyzyyyzzzz{zy{zzyyzyxyyyyzzyzzzzzyyyyyzzzz{zzzzzzyzyzzyyzzzz{zyzzyzzxyyyy{zzzz{zyzzyyyyyyzzyyyyyzyyyyyzxzzyzz{zzzyzyzzyyzyyz{zz{{zzzzyzyyz{z{{{zzz{yyzzzzyz{z{zzzzzzyzzz{zz{z{z{zyzzzxzz{{{z{z{zzyzyyzzy{z{yzz{{zzzyzyzyzzzyzzy{zyzzzz{zz{{z{{{{{zzzzyzy{|z{zzz{{yz{zyyz{z{z{{|{{zy{zzzy{|{{{{{{{zz{zzz{z{z|{{{{{z{{zzzzz{{{z{{{{yzzzzzz{zz{{{{{{yzy{yzy{{zzz{{{{zzzz{zy{z{z{{{|z{zyzzzz{{z{{{zzzzzzzyzzy{zz{z{{zzzzzzzyz{zzzzxzzzzzxyyxz{zzyzzyzyyyyyxyyzz{zyz{yyxyyzyyyzy{z{{zzyzyyxzyyzzzyyzzyyyyyyzxzz{{zzz{xzzyzyzzyzyyyzzyzyyyxyyyzzzzz{yyyzzyyyyxyyy{zzzyyyzyyyzwyzzzxy{zyyyyyzxyzy{zzyzyzyyyyzyyyxzzzyzyzyzxzxyyzz{zz{zzzyxyyyyzyzzzyzzzzzyy{zyyzz{zyz{{yyzyzxyzzzyzz{zzyyzz{xzxzzy{zzyzyzzzzyyz{y{z{yzzyyzyyyyyz{z{z{y|yyzz{yyyzzzzyz|zzzxzyzyyz{{yzz{zzyz{zy{zzz{zz|{zz{yy{yzz{y{zyz{{zzzyyzzy{{y{zzzzzzzzzy{z{|{z{zz{zzyzzz|z{zz{{|z{zzz{{zzzy|{z{{{{{zzzzzzzz{{{z{z{{z{zzyz{{{{{{{{zzzzzzzzz{zz{|{{{zyzzzzz{z{z{|z{{zzzzzzzz{zz|{zzzzyzyyyzyzz{{yzzz{yzyyxyyy{zyzyzyyyyyyyyyzzyzzzz{zyyyyzyyzzx{zy{zzzyzyyzzx{yzyzzzzzzyxyyxzyyzzzzzyxyzxyzyxz{yzzzzzzyzxyyzyzzyzzzzyxzyzxyxyzyyyzzzzyxzyxyxyzzyyz{yzyxzxyxzxyzzzyzzzzyyyzzyyz{yzy{zzyzyyyyxxzyz{zzyzyyxxyyyyzzzzzyzzyzxyxzyzz{yz{z{zxzzyxzzyzzyyzzzzxzyyzzxzzzzz{z{xyyyzzzyzzzzz{{{yyyzzxzyyzzzz{zzyyzzyyyx{z{z{{z{zyyzzyyy{zzyz{{zzyyzy{zz{{{|{z{{zz{zzyz{{zz{zz{{yzyzzyyzy{{z{z{zzyzyzyyy|{z{y{{{{zzyyzzzy{{z{{{{{zzzz{zzz{z{zz{{yzyzzzzyzzzz{{zzzxyzzyzzz{z{z{{{zyyzzzz{{z{{zzz{{zyzyzzzz{zz{{z{zzzyyzyy{zzzzz{zyzzxzyyz{{zyzzzzyzyzyyyyzzzzyz{zzyyyyxzy{zzzzzzz{zzyyzzy{zzyz{zzyyzzzyyzz{yyyy{zzzzzyyzyzzzzzzzzyyxyyzyyzzyzzzzzzzzyyyyyyzxzyzzzzxzxyzyyzyyzzzzzzyyyzyyyzzzyzzyzyyzxyyxzyz{yzzzzyzyyyyyzyzzzz{{zyzzzzyyyyzzzzzzyyyzyxyyyyzzyz{yzyzyzyyyyzzzy{zzzzzyyyyyzzzzyy{{zzzzzyxzyzzzz{z{zyyzyyyyy{zz{y{zzzyzyyzzzz|{z{{z{zyz{yyzyzy{{{zz{zzzzzyzy{zzzzz{{zzyyzyzyyz{{z{z{yzy{zzzyzz{{z{z{yxzyzz{yz|{{{{{yzzzzyzzz{{z{{{{{{z{zyzzzzzz{zz{{{zzzzzz{{{|z{{{{{zzzzzz{{{{z{z{|zyzzzzzyz{{{z{z{{zz{zzzz{{z{{{{{{zyzzz{{z{zz{z{{yzzzzyzy{{{{z{{{zzzzyzzzy{zzyzzzzzyyyzxxy{zz{{zyzy{zzyyzz{{y{z{{zyzyzzxyzyzzzz{zzzyyyzyyzz{zzz{zzyzyyyyyz{{zz{z|zyyyyyyy{{zyx{{{yyyzyxzyzzyzzzzzzzzxzyzyyzyzzzzzyyzyyxyyzzzz{zzzzzyzzyyyyzzzzyzzzxyyyzzxz{zzzz{zyyzzyyzyzzzzzz{z{zyyyzzyyz{zy{{zzz{yzzyzzzyzz|zzzzyyz{xyyzzzzz{{{y{zyyyz{{{zzzzzzzzzyyxx{z{z{{{{zzz{zzy{zz{zz{zzzzzyzzz{z{z{z{{zyzzyzzzzz|z{{{zzzzzyzzzzz{{zz{{{zzz{z{{{{zz{{{{|zzz{zz{{z{{z{{{{{zzzzy{z{|{{{z{{{{{{z{{{yzz{{{{|z{{zz{{{z|{{z{{{{yyz{zyz{zz{{{{|{zzyzy{z{z{z{{||{{{zzz{{{{z{{{{{zzzy{yz{{{{{zz{{{|zzzzzy{{z{{z{zzzzzzz{yz|zz{{yzxy{xyzyyzzzzzy{{yyzzyyzzzyzyzzz{zyyxyxyxzyyyyzzzzyzxyyzyyzyzzzzyyyyyxyzy{zz{yzy{zzyyxyyz{zyzyzzzyyyyzyyyzyzyzzzyzzzxzyyx{yzzz{zzyyyyyxyyzzyzy{{yzyyyyzxyyyzzzzyzzyyyzzyyzzzzzz{{zyyzzyyyzyz{yzzz{zzyyyyzyzzzzzzzxzzyyzyxyzzzz{{zzyyzzxzyzzzz{zy{{zzzzyzzzzzzy{y{yzzyzyzyzzyzzzz{zyzyyzyyz{z{z{zzyzzzzzyz{z{z{z{zzyyyzzxzz{zzzz{zzzyzzzyzzz{{{{z{yzzz{zzz{{z{z{{|zz{zyyy{zz{z{{{{{y{zzzzzz|{|{{{|zzyyyz{z{{{{z{zz|zzzzzy{z|z{{|{{z{zz{{yzzz{{z{|zzzzyzyzzz{zz{{||{{zzzzzzzzz{z{{{zz{zzy|zz{z{z{zz{zzzzzzz{{{{{zz{yyzzyzzyz{{{yzzyyzyzzyyyzz{zyyzzyzyyyyxyzyzzyy{zzyzzxyyz{yzzzzz{yyzzyyzzzzzzyz{zzyyxyzzyyzzzzzzzyyyyzxyyzyzyz{|zzyyyyxxyyyzzzzzzxzyzyzxyzzzzzzzzyyyyyyyzzzzyzzzzzyyyyyxyyzz{yzz{yzzzyyzy{zz{zzzzzyyzyyyyyzzyz{zzyyyyyyyxyzy{zz{zyyzzyzyyzzyzzzzxyzyyyyzzyz{zzzz{zy{yyyzzzzyyzz{zyzzyyyzyzzzyz{{zzzzyyzzyy|{zzzzzzyzyyyzzz{{zzz{{zzyzzyyzz{zzzz{zzzzzzzyyz{zz{{zzzzzzyz{zy{y{z{z{zz{{zyzz{{{z{{z|zzxzzzzz{{|z|{{|zzyzz{{zz{z{{{zz{zzzzzyzz{z{{{|{{zzzzzz{{{z{{z{zzy{zzz{{z{{{z{{{{{{zzzzzzzz{z{{{{{zyzzzzzz{{z{z{{|{zz{zzz{{{z{z{zzzzzyyyy{{{{zzzxzzyyyzzzzzzzzzzyzyyzyyzyzyzz{{zyzzzyzzy{yz{{z{zzyzzyyyzzzzzz{{{{zzyyyyyzy{zzzyz{yzyyyyyyzzzyzzzzyzyzzyzzyzyy{zzzyyyyyyzzzzzzzz{yyyxyyzzzzyyz{{zyxyyyyyxzyzyzzzzzyyyy{yyzzzzzzzzzyyzzzyyzzyyyzz{zzyzzyyyz{yy{{{{yzzzyyyyyz{zyy{{zyyzzzyyz{zzzzzzzy{yzyyz{z{{zz{{zyzyyyzzz{zzz{{yyz{yyyzyzz{zz{{zzzzyzyzyz{zyyzyzzzzzzyzzz|zzz{zz{zzz{{y{zz{{z{|{zyzzzz{z{{z{{{{{yzyz{z{z{{{z{{{zzyzy{zzz{{zzz|{|zzzy{{{zzzzzz{||{zzzzyzzz{z{{||zzzzyzz{y{y{{zz{|z{zyzzzz{z{z{|{z{{zzzzyzz{zzz{{|zyyzzyyy{z{{z{{{zzyzyzzyz|zz{{{{yyyzyyzz{yzzzz{{yyzyyyyyxyzyzyzzzzyyyyzyzz{yzzz{yyzyzzzyzzzz{{zzzyyyzyyyzzz{yzyzzzyyzyzyzz{yzzz{zxyxyyxyz{zyz{zyyyzyyyyyzz{zzzyyyyyyyyzzzzyzy{zzyyzyyy{yyzzzzyzyzyyyyyyzyzzzzyzzyzzxyyyyz{zzz{y{zzyyyzyyyzzzyzz{yzyyzzyyy{y{zzzyzyyyzzzyzy{zzz{zyxyyyyzzyzyzz{{{zyyzzyyyz{zyzzyzzyzyyyyyzzzzzzzzzyzyyy{y{zz{z{zzz{zyzzzy{z{{z{{zyyzyzzyz{zz{{{{z{yyz{yyyzz{z{z{zzz{zzyzz{{{zz{{{zzz{zzyy{{z{z{{|{yzz{zyz{{{{zzz{zz{yz{zz{zzzy{{z{zy{yzzzz{z{z{{|{{z{zz{z{zz{z{z{zzyyzzzyzz{{{{y{{zzzzzz{y{{zz{zz|zyyzzzz{{z{z|{{{zzzzzyyz{z{z{zzzzzzyzyy{yz{zzyzz{zyyzzyzzzyzzyyyzzyyzyz{zzz{zzzzzzyyzxzzyz{y{zzyzzzzyyyzyyzyzzzzz{yyyyx{yzzz{y{zzyyyxyyx{{{yzyzzzyyzyyyzyzzzz{zxzyyyzzzzyzzyzyyyzyyyyyxyyzyzzzzzyzxxywyyzzz{zyzyyyxyyyxyzyzzy{{yzyyyyyyyzzyzzz{yzxyyyyyyzyyzzyzyyyzyzxyy{yzzy{zzyyyyxyyyz{zzzzzzyzyyyzyzz{zz{z{yzzyzyyz{z{yz{{zzyzyyzzyzz{zyz{{zx{yyzzyy{zzz{zzzzzz{zyzzzzyzzzzzzyyzzyzyz{zz{{zyyyzzzz{{y{{{{{{yzz{zyzzz{|{z{zz{yzzzxzz{{{zzz{{{y{yz{{{zz{z{z{{zzzzzz{zz{{{z{z{z{zyzzzzz{z{yz{zyzzyyzzzzz{{{zy{{zzyzyzz|zy{zzz|zzzyzzzzz{{z{{|zzzzzzyyy{|zz{{{zyzzyyzyyzyzyzzzyyz{yzxxyyzzzzyzzzzyyzyzzyzxz{{yzzyyxxyyzzyzy{zzzzyzyyxyxzzzzzyyzzzzyxyyyyzzzyyzzzyyyyyyyyzyyzzzzyyzyyxyyzyzyyyzyyzyyyxzxyyzzyyzzxyzxyxxyz{zyyzyzyyyyxyyyzzzzyzzzyyyyyzzxzzz{yzzzyzyyxxyyyyzyyyy{yy{yyyyyy{zzyzzzzyyyyzyyyz{zyy{zzzxyzyzyy{{zzyz{yyzzywzz{{{zzzzz{yyyxyyzzyyzzyzzzzyyyyzyyzzzzzzzyzzzzzzx{z{yzz{zzzzyzyxzzy{zzz{{zzyzzzyzzzzz{{z{zzzzyz{zzz{z{z}|zyyyzxyy{{zz{z{zyyyzzzzz{{zz{|z{{zzyyz{z{zz{{{{{{zz{z{y{z{{{z{{{zy{zzzzzzzz{{z{{zyzzzyzz{zz{z|y{zyzz{{zzz{zzz{zzzyzyzzyzz{zz{z|zzzz{yyzz{{zzzzz|zzzyyyzyzz{{yzz{zyyyyyyzyzz{zy{zyyyyzyzyzyzzzzzzyyzyyyyy{zzzy{zzzyyzyyyyzzzzyzzzyzzzxzyxyyzzzzzzyyzyyzyxyzzzz{zzzzyyyyxyzzzyzzyzzzyxyyzzzyzyzzy{xyyxzyxyyzzzzzzzyyyzxyyyz{{zzzyyyyzzyyzxyyyzyzzzzyyxyyyyyyyzzzz{zzyyyyyyyzzzyzyzyyyzzyyy{zyzzy{zzzy{zzzyz{yzzzzzyzzzxzzz{zzzzz{yyzzzzzyzzzzzzz{zyzzyyyzzzzzzy{zzz{zz{yyy{z{zyy{z{zyzyyyzzzzzzz{z|zzzzzzzzz{{zz{{zzzz{z{z{z{|z{{{{zzzzyyz{z{z{zz{zyyzyzzzz{z{{z{zzzzzzz{zzzz{{{{z{{zzy{z{z{{{{{{{zzzzz{z{{{{{{z{{{zz{zyyzzz{z{{{zz{zzzzzz{zz{{z{z{zzzzyzy{{zzzz{{y{yyzzzzz{z{zz{yzyzyzyyzyzzyz{z{yyzyzzyzxzzz{zzzyyyyyxzzyz{yzzz{zyyyyzzyzzzzzzzzxyzzxzyyyzzyyy{{zzyyyyyyzzzzyzz{zzyyyyyyy{zzyzzzzyzyyyzyyzyyyzzzyyzyyzxyzyyzzzzzzyzyyyyyyxyyyzzzyzxyyyxyzzyzzzzzyyyzyzyxyzzzzzzyyzyzzyzyyyzyzzzzxyyyyyzzyzzzzzzzzyyyy{yxzz{{zz{yyyyyzyxxyzzz{yz{yyyzyyyzzzyzzz{{zyyyyzyz{zyzzz{z{zzyzxzyyzzzzzyz{zzyzzzxzzzzzz|zzzzzyzyyz{{zzzz{{zyzyzzzzz{z{zz{zzzzyzzy{yz{{zz{zzzz{yyzz{zz{{z{zyzyzy{yz{{zz{{{zzzyzzzzzzyzz{{{{yzzzyzzzz{{z{{{zzzzzz{zzz{z{{zz|zzzyzzz{{{{z|{|zzzz{yzzz{z{z{{{zzyzzzzy{{zz{z{zz{yzzzzyz{z{zzzz{zzyzzxyzyzzyzzyz{zyyyyxyzzyyzzzyyyyyxyyzz{y{{z{yyxyxzyyyzzyzzz{zxzyyyzxzzyzyz{zzzzxyxyy{{zzy{zzyyzyyxzyzzyyy{zzyyzzyyyyyzzyxzzyyzyyyyzyyzzyyzzyxyzyxzyyyzzzzzyzzyzzyyzzxzzy{yzzzyyyxyyyzzyzzzzyzyyyyyzyyzzyyzzzyzyyyyyyzzyzzzy{zyzyzzyyyzzzyz{zzyyyzyyzzzzz{zzz|yyzyz{zzz{zzyzzzyzyyxzyyzyzzz{{zyzzyyzxyyz{{zzyz{zyyyyzyzz{yy{z{zzzzyy{{zyzz{zyzyzyy{yzz{{z{zzzzzzzxzyz{zz{z{{zzzzzyzzzz|{zzzzzzzzzyyzyzz{{zz{{zy{yyzzzz{{zyz{{{{zzyzzzz|{y{{{{zzzyzzzz{zz{{{{z{zzyzzzyyzz{zz|{{zyzzzzz{zz{{{{z{{zyzzzzzzz{z{z{zyyzyzyzz{z{zz{zzyyyyzyzzzz{yzzzyz{yzxxyyyzzyzzzzyyyzzyzzzz{z{z{zyyyzzzyzyyzzyzzzzzyyyyzyzz{zzzyzzyyyyzzzzzz{{z{yyyzzyzyzzy{z{{{{zzyyzyzzyzzzz{zyyyxxzzyzxz{{z{zyyyyzyzyzzz{yzzzyyyyzyyzzzzyzzzzzzyxyyyzzzyyzz{zzzzyyzzzyyzyy{zzzyyzzyyxyyzyyzzz{zzzz{zz{z{{zz{{zzyyyyzzz{z{{yz{{z{zzzzyy{z|zzzzzzzzzyyz|zzz{z{{{zzzyyzzz{{zz{{z{yyyzzzyzz|y{z{{{zzzzzzz{{z{{{z{zzz{zzy{zzz{zz{zzzzzzzz{{{{zz{{{{zzz{zzz{{z{{|{{{z{yyzzz{|z{{z{|zyz{{z{zz{{zz{z|z{zzz{z{z|z{{{{{{{{zzz{y{{{|{z{{{yzzzzzz{zz{z{||{{yzzzz{{{{|{zz{{zzzzzz{zz{z{zz{zzzyyzyzzzzz{{{{zzy{zzzzzz{{zzzzyzzyzyzwxz{z{yz{zyyzyyyyzyzyy{{{zyzyyyyzyyzyzz{zzyyzzzyy{zzzyyzzzzyyyyyyzzzyzz{zzyzyzzyyzyzyz{z{zz{yzyyyzz{yz{yzyyzzyyzyzzzzy{zzyyyyyzyxzyzzyzzyyzyzyyyyzy{zzzzyyyyyyyyyzyzzzzz{zzyzyyyyzyzyyzx{yzyyyyyyyzy{zzz{zyzyzzzy{yy{zyzz{zyyyzyzz{{yzyzzzyzzyzzzzzzz{{z{yyzzzyzzyz{yz{zyzyzxzzyzzzz{{{z{{yzyzzzxzz{zz{{{z{yyyz{zzzzzzzz{z{zzyzyyz|{z{z{{y{zzzzz{{y{zz{||{zz{zyzyz{z{{{|{{{yzzzyz{{{z{z{{zz{{yzz{z{{z{{||{{yzzzzz{|{{z{{|{z{zzyz{zz{z|{{zzzzzzzzz{{{{{z{|zz{zz{z{z{z{zz{{zzzyzyzzz{{zy|{{{{z{{yyzzzz{{{|zzy{yzzzyzzzyzyzzyzyyyyzxzyy{zz{zyzyyyyxyyzzzy{zzzyyzyyxyyzzyy{zzzyzyzxyy{zzzyz{zzzyxyyyy{zzzzzzzzyzzzxyyyzyzzzz{zyyyyxzyzyzzz{zyyzyyyyyyzzz{yyz{yyyyyyyyzyzzzyzzyyyyyyxzyy{zzzzzzzzyxyyyzzz{y{z{yzyyzxyyyzxzyzyzyzyxzyyzzzyy{zzzzyzyzzyyzyzzz{{{zyyyzyzzzzzzzyz{zyzyyyyzyzzzz{zzyyyyy{yzz{zzzz{{zyyyzxyzy{{{zzz{zy|yyyzyzyzzz{{{yzzzzzzyz{zzz{zzzy{yzyyz{{z{{zz{zyyzzz{y{zz{zzzzzyz{y{zyyz{{zz{zzzz{yzzyz{{{{z{zzz{zzzzzzz{z{|{{zzzyzzzz{{{z{{z|{z{{zyy{z{z{{{{zzyyzzzzzz{zz{z{|{{{zzzz{{z{{{{{{{yyyyzzzzz{z{{{{zzyyzzyyz{z{{z|{zyyy{yyyyyz{z{zzzyz{xzyxyzyyzzzzyyzzyxyyzzzyzzzzzyyzzyyzz{zzyzzz{yzyyyyzzzzzyzzzyzyyyzyzzzyzyzzzyyzyzyzyyzzxyzzyzzzzyyyyzzzyyzzyzyyyyzyzyzzzzzzzyyyyyxyyyzy{zz{zzzxyyzwxyzzzzzzyyyyyyxyyzyzyxyz{yyxyyyyyyzyzzzzzzzyyyyyxyzxz{zzzyzzzyzyzy{y{zyyzzyyyzzzyzzzzzz{{z{zyyyyzyzyzz{zzyyzzyzyyzzzz{zzzyzzyyzyzz{zzzzzyyzzyyyyzzz{yz{{zzy{y{yyyzz{zzzzzxzyzzz{zzy{z{|z{yzzyz{{z{{z{zzz|zzyzyyyzzz{zyz|zzyzzyy{y{zz{z{{zzzzyzzzy{zzzz|z{{zzzzz{z{|z{{{z{zz{zzyzyyzz{z{{{zzzzzzyz{zz{{z{{{{zz{z{{z{{z{{z{y{zyz{yy{zzz{z{zzyyyzzyxy{zzzz{z{y{zyzzyzyz{z{yyzyyyyzyyyyyyzzy{zyxxyyzyyzzzzzy{zzyyyzyyyyyzzz{zzyyyyzyzyzy{y|zyyzyxyzyxyzzyy{zzyxzyyzzxzz{zz{zzzyyyyyyyzzzyx{zyzyzxyxyyyzzyyzyzxyzxyxyyzzyyzz{yzzyyyyyyyzzzzzzzyyyzyzzyyzyyzz{zzzyyxxwwyyy{yzyzyyyyyyyyzzxzy{z{zz{yyyzyzyzzzzzzzyyyzxyyyzzyyzzzzzyyyyy{zzyzzyzzyyzyxzzzzzzyz{zzzz{yzyzyzzz{zzzz{yzzyyxzzz{z{z{z{zzzyzyyzzzzz{zz{yyyyz{zyz{zz{zzzz{{zxz{{zz{{z{{yzzyzzyz{zzzz{{z{yzzyyxz{{z{z{{zyzzzyzzzz{{{{{{{{zyyz{zzz{y|z{{{{zy{zyy{|zzz{z{z{zz{zzzz{{{{{z{{{zzyyzzz{{{{z{z{zzzzyzyzyz{{{zzyzzyzyzyzz{{zzyzzzzyzyyzyzz{yz{zzzyzyzzyyzz{zzzzzyzyzyyyzyzzyzzz{{zyyyyyzzzz{z{zzyyyxyyyzzzz{zzzzzz{xyzzyzzzyzzzzzyyyzyzyzzyy{{{yzyyyyzxyzzzzzzzyyyyyyzyyzyzzyzz{zyzyyyyyyzzzzzzzxzyyyzyyyzzzzzz{yzzyxyyyz{z{yyzzyzyzyyxzyzyzzzzzyzyyyzyyyz{yzz{zzzzzzzzzy{zzyy{{zzzzyyzy{zz{yz{{zzyzyyyzzz{z{y{{zzzy{yyy{zzy{y{zyyzzzzzyyzz{zz{{yzzyzyzz{{z{{{{yzzyzzyzyz{yzzzz{{zyzzz{yzy{{{{z{z{zzzzzy{z{{zyz{zzyy{yzzz{{|z{z|zyzy{zzzz|z{{{{{z{zzyz{{z{{||{z{{{{{zz{z{{{z{z|{{zz{zzzzz{zz{|{{zyzzzzz{{zz{{|z{z{yzzzz{{|{{z{{{zyzzzzxz{zz{z{z{{{z{{yzzz{zz{z{zyyzyzzyzzz|zyzyyzyzxyyyxyz{yyy{{zyxzyyxyzzzyzzzzzyzxyyzyzzyzzzzzzyzyyxyzzyzzyxyzyyyyyyyyz{yzzzyzyxyyyyyyyzzyzzyzzyyyy{xyzxzyyzyyzyyzyzyyyyyzzyzzyyzyxzyxyzyzy{zzyyxzxzxyyyzyzxz{zyyyxyxxzzyzzzyzyyyyxyyzyyyyxzzyyyzyzxyyyzzzz{{yyyzzyxyyyyzzyyzzzyyyzyzyyzzzz{yzzyzyyxzyzzyyzzzzyyzyyyzyzzzzy{{|yzzyzyzyyz{zzzzzzyyyyzyzzzzzz{{zzzzzyzyzz{zzzzzzzyzyyyyzzzzyzz{zzzyyyyzzzzyzz{{{zzzzyzyyzz{z{zz{zyyyzyzyz{{z{{z|{zzzzzy{yzzzz{zzzz{zxzz{z{z{zzz{zz{zzzzyzzzzzzzzzyzzzyyz{zzz{z{{zzxz{{yz{{z{z{z{zy{zzzzzzzzzzz{{z{zyzyyzz{zzz{{zzzyzzyyzyyz{{{zzyyyyyyzyxzzxzzz{zzyyxyyzyzzyzzzzy{yyxyxyzyzyz{zzyzyyzyxyyzyyyy{zyyyyyxxyzyyyzxyzxxyxyzyxyyyyx{zzzyyyyyzxyxzzzzzzzwzyzyyxzyzzzzzzzyzxyxyyy{zyzyzzyxyzyyyyyzyyyzzzzyyyzyxyyzzyzyzzyyxxzyywxyzzz{zzyyzxyyyyxyyzxz{zyxzzyyyxyzzzzyzyzyyzyyzyyzyyyyz{zy{yyyyyyyyzz{zzyxyzyyyxzy{zyyzyxyyzxyyxzyz{zzzzzyyzyxyyzz{zzyzzzyyzzyzyzzzyyz{z{zyzzzy{yzzzz{{yyzzyyzzzyyy{z{z{yyzzzzzyy{{zzzzz{zyzyyzy{|zz{{{{zzzzyzzzz{zyzzzz{yzyzyzz{z|{yzz{yzzzy{yz{z{z{z{z{zzzyzxzz{{zz{z|zyzz{zz{{z{zz{z{z{yzy{zyzzz{{{{|{zzzxzyyyz{zzzzyyyyyyxzyyzzzzzyzzzyyzzyyzz{zzz{zzyzyyyxyzzzz{zzzyyzyxyyyzz{zz{zzyzzzyxyy{z{zyz{{yyyzxyyxzzz{xzzzzyyzzyyyyyyzzz{zzyyyyyyyzzzyy{z{yzzzzxyyzyyzzy{zyxyyxyzxzzzzyzz{yyyyxxyxyyyzzzzzzxyzyzyxz{yzzzzzyyyyzzyyzzzyzzzzyyyyyyzyyzzyyz{{zyzyyz{xyyz{zz{z{yyzyyyyzzzzzyzz{{y{yyzzyzzyyzzzzyzxyyzyy{zz{zz{zyyyzyzx{{zzzzzzzzzyzzyy{zzzzz{{zzzzzzzz{zzzzzzzzyyzyzzyzzzz{{{{zyzyzyzzzzyzz{|{{zyzzyyyz{{{zzzzzzyyzyzyzzzy{z{zzyzzy{z{z{z{zz{{zzyzyzz{y|{{{{{{{zz{zzyz{{{{{{{{zyy{zzzzz{z|{z{{{z{zzz{z{zz{{{{{{{zyzyzzzz{zzz|{zzyyy{zyzz{zyy{zyyzzzyyyzz{zzzzzyzzyyy{yxzyyz{yzyyzyzyyzzzy{zzzzzyyxxzyzzyzzy{zzzyyyzxyzyyzzzzzzzyxxxyyyzzzzyzyzzzyyzyzxyzyyzzzy{zyyyyyyyzyzy{y{zx{yzzyzz{yzzyzzyyyyyyyzzzyz{yzzyyyzyyzzzz{zyzzyzzyyyyyyyzzzzzzzzyzyxxyzyzzzzzzzyyzzyxyyz{zz{zzyyyzzyzyy{z{zy{z{{yyzyy{zyz{yyzzzzyzzyyy{z{z{zzy{yyzzyzxzzz|zzzz{zzyy{zyy{{zzz{zz{zzyzzyyzzzzzz{zyzzzzzzyz{{zy{zzzzzzzzzzzz{{{zz{yzzzzzyy{zzzzz{{zzzzzyzyz{z{{{zz{zzzyzyz{|{{{z{{zyzzzz{zy|z{zz{{{y{z{yzz{{z{{{{{zyz{z{zzzzz{{{z{zzzzzzz|z{z{zz{|{zzzzzzzzzz{|{{|z{zzzzzy{zzzzzzzzzzzyyyyz{z{zz{zzzzyzyzz{{zzyzyyyyxzyyzyyz{zzz{zyyyzyyzz{zz{z{{{zzyyxyyzzyzyz{zzzyyyyzzxyzzyzzz{yyyzyxyxz{zyzzz|yzzxyyxxyzyz{zzzzyyyyyyzyyzzyzzzzzxyzxyzyyzyzz{zzyyzzzxyy{yzyzyyyxzyxyxzzyyyyzz{yyzyyyyyyzz{zyzzzzyzyyxyz{yyyzy{yyyxxyzyxzy{yzzzyyyyzyyzzzyzzz{zyyyyyyyzz{yzzzzzzzzzzyzyz{yzzzzyzzzyzzyyzz{zz{{{zzzyzyzxyz{z{z{zzyzyzyxz|z{yzz{zzzzyzzzy{z{zyzzz{zzzyzyzzzzz{|{zzzzzyzzzzzzzzz{zzz{zyyyyzzz{{z|zzzz|zzyz{{z{{z{zzz{z{z|{z{z{{|{|zzzz{yzzz|z{{{|{zy{zzzyzzz{{|{{{{zyzzxzzzzyz{{||{zzzz{zzy{z{zz{{zzyyyyzyyz{{zz{{zyyy{yzzz{{zz{{zzzyyyx{yz{zzzz{zyyyyzyzyzzzyzzzzzyyyzyzy{yzzzz{z{zxxyyyyzzyzz{{zz{zyyyyy{z{zyy{{{zzyyyyxyzyz{zzz{zxxyyzy{z{yzz{zzyzyyyyyzzzy{zyyzzyxzyzyzyyzzzzzyzyyyzzyyz{zzzzzzyyxyyyy{zzzyyzzzyyzxyxyzx{yzz{yyyzyyyzyyzxyyzzzzzyyyyxyyzzzyzyzzyzyyyyzzzyzz{z{{yzyyzyz{{zzzzzzyzzyyyzzzzzz{z{zyzzzyyzzyz{zzzz{{zzyzzzzzzyzz{yzzyz{zyyxzz{zz{{zzyyzzzyz{{zzzzzzzzzzzzzyxzz|zz{{zyzyzzzzz{z{zz{zzzzz{yyzz{{{{z{zzzzyzzz{z{{{zz{{zyzyzzzzz{z{{{{{{yzzyz{zzzz{{{{zz{zzzzy{{{|{{{{{z{zz{zz|{zzzz|{z{zzzzyzy{{|z|z{zz{zzzz{z{zzzz{{zzz{{z{zzz{zzz{zzzzzzyyzzzyzzz{zyyzyyzyzyyzzyzzzzzzzyyzyz{zyzyzy{zzzzyyyyzzzz|z{zzxyyyyyyy{zzzz{zzyz{yyyyyzz{yzz{{yyyzyzyyzzyzz{{zyzzzxzzzyzzzzzzyzyyzzyy{yyzzyyyzyyyyyyyzzyyzzzyzyzyzzxzy{zxzz{zyyyyyxyzzz{zzzzzyzyyyyyyzzzyzyzzzzxyxyyzzzzzzzzzyzyzzzzyzzyzzy{{{zyzyyzz{zzyzzzzzyzyyyzzzz{z{zz{yzyyyzyzz{zzzz{zzyzyyyzyz{{{yyzzzyzzyyyyzz{z{z{z{zy{zzyzzzzz{{{{zzyzyyyzz{z{z{z{yyzzzz{zz{z{zzz{zzzzyz{yz|{{{{z{{zzyzzzzz{|{{{|{zzzy{zzzz{zzzz{{zzz{z{yzz{{{{zz{zz{{yyzy{{|{{{{{yyz{zzz{{z{{zz{{{zzzzzzz{z{{{{z{{{zxzzyyz{{z{{{z{{yyzzz{z|{{z{{yyzyz{yzzzzzzyzyyzxyzxyyyzz{zzzz{yzxyyyyzyyzzzzz{zzyyyzyyzzzzzz{{yxzzyyyyzzzzyzz{zzzyxyyyyzzyz{{zzyyzyyyyy{zxzzzzyyyyyyyxyyyyy{zzyzyyxyzyzyzyyzyzzyyyzyyyyzyyy{zyzyyzyyyzzyyy{zzyzyyyxyyyyzyyzzzzyzyyyy{yzzzyyz{zzyxyyxyyzzzzz{zzyyyyyzyyzzzzz{{zzyyzyyyyzzzz{yzz{yzyyyyyy{zzzzzzxyyyyyzx{zzzzz{{zzzyzxyxzzzzzyz{zzyzzzzzzzzz{zzzzyyzzyzzzzzzzzz{zzzyz{{zz{z{zz{|zzyzzz|yzy{zzzz{z{{z{yzy{{{y{z{z{zzyzzyz{zzz{z|{zzzzyzzzyzzy{zz{zyzyy{{yyz{{{{{{{yz{zzzy{z{{{{{{zzzzyzzzzzz{{{z{{zz{zzy{yz{{{{{|{zyyzzyy{zy{zy{{zzzyyzzyyzzzz{zzyyzxyyyyyzzzyzyyyxyyyzyyyzzzyzyzzyyzyzzyyzz{{{{zzxzxz{yyzz{zy{zzzyyyxyyxzy{zzzzyzyyyyyyyzzzzzzyzyyyxyzyxyzyyzzzzzyzyyyzyyz{zzzzzzyzyxyyyyzzyyyzzyyyy{yzyzzyzyz{zzyyxxyyyyzzzyzyzzy{yyyyzyzyyzyzzzxyyxyyyzzyyzzyzyzyyzyyyzzy{zzzzzyzyxyyyzzyzzz{zzyyyyyzzz{zzzzz{zzzzyyyyzzzzzzz{yyzyyzyy{{yyzz{{zzzzzyyxzyzz{{zyzyyyyzyyzzzy{{zyzzzyzyyzzz{yzzzz{zy{zzzyzz{z{{{zzxzzzyzzz{{{{{{zzyyzy{zzz{{zz{{zzzzzzy{z{zzzzz{zyzzz{{zzzz{{|{{{{xzzzzzy{{{{{zz{zzzzzzzyz{zzzz{{{zzzzz{{zzz{|{|{zzzzzzzzz{{{{{z|zzzyzzzz{{zzzz||zyzzzzzz{{{z{z{zyy{yyyzyzzz{yy{zzyyyxxyyyz{yz{zzyyyzxyyxzzzzyyzzzyyzyyyyzzzyzzzzzyyyyyyyyzzzyy{zzyyxxzzyyzy{zzzzyyxyyyyxzyzyzzzyzyyyyyyzyyzyz{yzyyyxyzxyxyyzyzyzyyyyxyxxy{zyzz{zzyyyyyzyz{zzyyzzyyzyyxyxzyyzyy{{yyyzzyyyyzzyyzzyyyyyxyyyzzzyyzzzzyyyzyyyzy{zzzzzyyyyyzyyzyzzzz{zyyzyyzyy{zyzz{zzyyyzyyyyzy{zzz{{z{yzzyzyyzz{z{zz{zzyyzzzz{{zzz{zyyzzyxzz{{yyyzzzzyzyzzzyyyz{z{|zyyzyyzyzzzzz{{zzzyzzzzyzz{zzz{{zzyzz{z{yzzzz|{{|zzzyzzzzzz{{zzz{{zzzyzzzzzyz{{{{zyz{z{yzzz{{zy{{{yzzzzzzzzz{zz{z{zzy{zyz{zzzz{{{zy{yzyyzzzzzy{{zzzzzzyzyyzz{zyyzzy{zyyyyyzzzzzxzzyyyyyxxzyyyzyzzzyyyzyyyzz{zz{zzyyzyxyyyzzzzzzzzzyyzyyyzzyzzzzyzzyzxzyyyyyzyyzz{yyzyyyzxzzyz{zzzzyyyzxyyyzzzyzzzyxxyyyyzyzyzzyzyyyzxxxzyyy{zyzzyyyyyxyxyyyzxzzzyyyyyyyxyyyzz{zzzzxyyxyxyyzyyzzz{zzyxzyyyzzyzy{zzzyyyyyyyyyyxyyzzzzzyzyy{z{yzyz{zzxzzyyzyzzzzz{y{yyyyxyyzzzzzzz{{zzzzzzzzzzzz{zyzzzzzyyyyz{z{{z{zyyy{yyyyz{{zyz{zzz{yzyyyz{{{{{{zzz{{z{zzzz{{{zzzzy{zyzyy{z{z{zzz{yxzzzyz{{|z|z{{{zzyzz{zzzy{{{z|{yyyzzzzzzzz{z}{zzyzzyzz{zz{{z{zzzzyzzzzzzz{zz{{|z{yz{zz{z{{{z{{zzzzz{zzzzzz{{{z{z{{zzyzyzz{zyzzzyzyyyyyz{zzyzzzzzyxzyyyyzzzzyzy{yyyzyyyyzzzzyzzyyyzyyyy{zyzzzyyzyxyyyzzyzyzyzzzzzzyxyyyzyyzzz{yzyzxzyzyyzyyzzyyyyyxyxyyzzzyzyzyyyyyxzyyyyzzzzyzyyyyyxyzzyzzx{zyyzyyyyyzyzzyzzzzzzzyxzyyzzzzyzzzzyyyzzyxyyzyyzzzzyyzyyyzyzyzz{{zyxyyzzyxyzz{zyzzyyyyyyzzyzyzzy{{zxyyyyzyz{zzzzy{zzzyyyxzzzz{{zzzzyyyyzyyzyzzz{zzzyzzzyyxz{{zy{{yzyyyyzxzz{{{yzzzyzzzyzyyz{{{{{{{y{yzzzzzz{z{z{{zzzzzzz{xyzzzy{zyzzyzzzzyzz{z{{{zzyzzy{z{zz{z{{{{zyzzwzzyz{zzz{{{{yzzzzy{zzz{{{z{zyzyyz{yzzzzz{{{zzzzzzzyzz{z{z{{zzzzyzyzzz{zzzz{{zyyzyzyz{zzz{zzzy{yzzzyzx{zz{zzzyxyyxyyyzyzzz{zzzyyyyyxzyz{zzzzyyyzzyxyzzzzz{zzyxyyzzxyyyzzyzzzyyyyxyyzyyzzzzzzyzyyzyyyzzzzzzzyyyyyxyyyzyyy{yzyyyyyyzyyyyzzzzyzyyyyzyxyzzyyzz{zzxyxyyyyyyzyyzzzzzyyxyxyyzyzzy{zzyyyzzzyzzzyzyyzzyyxyyyxxyzyzz{yyyzxyzyyy{zyzyyzyzyyyyyyzzyzyzzyzy{zzyzyzzzyz{zyyyyxzzyzz{zz{zzzyzzzyyzyz{zzzzzz{yyzzzyyzzzz{z{zzyyzyzzzz{{yz{zzzzzyzzzzzz{{z{{{yyzyyyyz{zzzz{{{yzz{{yzyzy{z{z{zzzzzzzz{z{z|{{z|{yzzz{zzz|{zz{{{zzzzzyyzz|{z{{z{zzzzzzzy{z{{{{zz{yyz{{z{z{zz{zz||yzzyzyy|z{z{{{{z{zyzzzzzzz{{z{z{zxzzz{yz{zyzz{{yyzyyyyzyzz{zyyyyzzyyyzxyzzy{zz{zyyyyyzzzzzzzzz{zzyyz{zxzzzzz{zzzyzyyzyzyzz{yzy{zzzzyzyy{zzyzzz{zyzyyyyyyzzzzz{yzyzyzyzxyzzyz{yzyyxyz{xyyzyzzzz{yyyyzyyxyyzyyzzyyzyyzxyyzzzzz{z{{yzxyyyyyzzz{zzzzxxzzyzyzyyyyzzzyzyxyyyxyzzy{{zzyyyyzyyyzzzzzz{{zyyzyxzzz{zyzz{zzyzzyyyyyyz{zzz{yzzyzxyxzyz{{z{{{z{yyzyyyzzzzzzzzy{zyyyyyzzz{{{y{yzzx{yy{zzzz{zzzy{yzzz{{{zzz{{{zzyzyyzy{zz{z{{zyyyzzyzzzz{{{zz{{yzzzzz{{{{{z{{zzzz{z{zzz{{yzzz{|zzzyzzzz||z{{||zz{{zzyzz{{{{{{z|zzyzzy{{{z{{{z|{zyzzzzzz{{|{{z{zzzy{zzzz{zzy{{{zzz{yzzyzz{{z{{zzyzyyzxyzz{zz{zzyyyyyzyy{yzyzzzzzzyzyxyyyy{{zz{zzyyyyzyyz|z{yy{zzyyyyyzzzyzyzz{zzyyyzzzyyzyzz{zzzyyzyyzyzzzzzzzy{yzyyxyxyyzyzyzzzzzyxzyy{zz{zz|zzyyyzyyyzyzy{{yzzzyyyyxyzy{zzyzzzyyyyzzzz{zzyzzzzzyxzyyyyzzzzzzyyzyyyzzyzyy{y{y{yzzzyzzz{yzyzz{zzzzzzzzy{zyz|{z{zzyyyyyzzzz{zzz{xyyzyzzzyzz{{z{zzzzyzzyyyy{zzz{{yzzzzyyz{{{zzz{z{zzzzzzzzzzzyzzzzzz{|{yzzzzzz{{{zzzyzyzy{z{{{{z|zyzzzyzz{{{zzzzz{zyz{zzzzz{z{zz{zyyz{z{y{{zzz{{{zyzzzz{zz||z{{z{zzzzzyzz{{{{{{zz{yzzzzyyy|{z{{z{zz{zzzzy{zz{{{{{{{zzzzzz{|{zz{z{zyzyzyzyzzz{yz{{zz{yyyyyyy{z{zzzzzzyyyxzyz{zyzz{yzyyzyyyyyzz|z{|yzyyyyyyyzzx{yz{zyzyyyyyzz{zzy{zzxyxyyyyzzzzz{{zzzyyyzyxz{zyy{z{zzyyyyyyyy{{zzyzzyxyyyyyzzzyzzzyzyyyyyyzzzzz{zzyyxyyyyxyz{zz{{{zyxzzyyyzyzzz{yzzzyyyyyyyzzzyzzzzzzyyyyyxyzyyyz{{yyzyzzyx{zzz{zzzyzyx{yzzz{zzyzy{zyzyyy{yzy{{zzz|zyyzyyyzz{y{zzyzzzzzzxzyzzzz{zz{zzzzzyzyzz|z{{z{zyzz{yyyzzzzyz{{zzzzzzzz{{zz{{{z{{yzzy{y{{{{z{{{zzzz{zzzzzzzzz|z{{zz{zzzz{{{z{{{z{zyz{zzz{z{z{{{zzzz{zzzz{{{z{{{zy{zzzzzz{{{z{zz{zzzzyzzz{z{{{|{zz{z{zzzzz|z|z{{z{zzzz{z{zy{z{zz{zzyzyyyy{z{zzz{zzzyzzzyzz{zz{zzzzzyyzyyyzzyy{zzyyyxzxxyzxyzzzzzzxzyyzyyzzzz{zz{zzyyyzyyzzz{zzzzzyzyyyyyzzzzyzzzzyyzzzxy{{zyy{zzyzyzzyyyzzzyzzyzyyzyyyyzzyyzzz{zzyyzzyyyyyz{yz{yyxyyyzxzz{{zzzz{zzyyxyxzyz{zzyzzzxzyyyyyyzzyz{{zzxzyzzyyxzyzyzzzyyzyzzyxzyzzzy{zzyzyyxzyzzzyz{z{yxzyzxyyzzz{{zzzyyzyyyyy{zzzyz{{zyyy{zyyyzzzzz{{zyzzzzzyz{zzzzz{zyzzzyzyz{{zzz{yzyzz{zzzzz{z{{{z{zzzyyzz{zzz{{{{zyzzyzzz{z{{z{{zzzzzzz{zz{{{{z{{{zzzz{zzzzz{{{{z{zyz{{zzz{{|}{{{zzzzzzzz{{zz{{zzzyz{zzzyy{{{z{{zyzy{zzz{{zzzz{{{z{{z{zyzy{z{zz{z{zzyzzzzzz{zz{zz{zzzyyyy{{{zyzyzyyyyyxxyxzzyzyyyyyyxyyyyyzyyzzzzyzyyzyzyzzyzzyzyyxyyyyyyzy{yxy{zyxyyzyyxzyyyyzzzyxzyyxzyyyyyzz{zyxzyyzzyyyyzxz{yyzzyxyyyzzyzzyzyyyzxyxxxzzyyzzzzyyyyyzxyyxzyy{zxyyyzxyyyyyz{yz{zxyyyyxyxzyzzyzzzzyyyxyzxy{zyy{zzyyyyzzyyy{yzzzzzzzyyyyxyyzzyyzzzzzzyxxyyzzzzz{z{yyzzxyyyzyzy{zzyyyyyzxxxyyzzzzzy{yyyyyzyzz{{y|{zzzyzzyyzyz{z{zzzyzyyy{zz{y{zzz{|yzzzz{yz{yz{zz{{zxzzzyzzz{{|zzz{zzzyzyyz{{{{z{{zyzzzyzzyz{zz{zz{{zzyz{yzz{z{zzz{{zy{{zyyz{yz{{{zyyzyzzz{{z{zzz{{{zyyzzz{zzz{zzz{zz{y{zyzzzz{{{{zzyy{zxyzzzzzzz{zzyzyzyzy{{zzzyyyyzyyxyxyyzzzyyzzyzyyyzxxyzzzzzz{yzyxzwyzzzzyy{zzxyxyxyxxyzzyxzzzzxyxwyyyyyzyxzyzyxzyyyyyyyxyzyzzyyzyyxyyyyzyyzzyyyzxyyyyzxyyyzzzxxzyyxyyyzyzy{{yyyyyyzxyzzzzzzzyyxyyyyyxzyzzyyyzzyyyyyyyyyyyyyzzxzxyyyyxxyyzzz{zyzzxyyxyzyzzyzzzyyzxzzzxy{zzzyz{yzzyzyyyzzzyzzzzzyzyyyyyz{yzzz{zzyzzyyyzzzx{x{y{yyzzyyxyyzzz{xz{yzyyyyyzzzyzzzzyyyzzzzyzzz{zzzz{zzzzzy{zz{zzz{zzzzzyyyyy{z{z{z{{zzyy{yzz{zz{zz{zzzzyzz{z{zz{{zz{zzyyyzzzy{y{{z|{{yzzyzzyzzzzzz{zzzzyz{z{{zzz{zz{zzzzzzyzz{{{z||zzzz{zxzzzz{zz{{zzyzzyzyzzzzzyzzyzzzyyxyzyyz|{zyzyyyyyyxywzyyyyzzyyxyxyyyyyzzz{{{yzyyzyyxyzzzzz{zyxzyyxyyyzzzzy{zyzzxxyyzx{zzyzyzyyyyxzyyyzzyyzzyzyyxxyzyy{zyyyzzyyyyyzyzzyyyzzzzyyyyyzyxyzyyyyzzyyxzxzxyyyzzzzzzyyyyxyyxz{zzz{yzzyzzzxzyxyyzzzzyzyzyzyzyyzyzyz{zyyzzyyxyyzzyzzzyyyzyyyzyzzzyyyz{yyzzyzyyyzzzyzz{zzzzxzzxy{zy{{zzyzyyyyyyyzzzzzyzzyzyzyyz{yzz{zzzzyyyyyzzzzzzyzzy{zyzzyyzyz{zzz{yyzyzzzzyzzzzzz|{zxyyzzyy{zzz{z{{zz{zzzy{{{{{z|{z{zzyzzzz{zzz{{{z{yzyzzzz{{{{{{z{zy{zyzzyz{zzz{z{{yy{zzyyzyzz|{{{zzzzzzzzzz{{z{{zzyyzzzzy{z{zyzz{{zyyzzzyyzz{zzzzzxzyzxzy{zzzyzzyyzxyyyzxyzyyyzyzyyyyzyy{yz{z{z{zzyyyxyzyzzzzzz{z{zyzzyyzzyzzyz{zyzyxyxyxzzzzyzy{yzyyyzyzy{{yzyyzzyyyyyxzzyyzzzzzzzyxyzyyzzzyyyy{yyyzyxyxzxyzzzyyzxyyyzyyzzzzyyzzzzyxyzxxy{yyzzz{zyyyyyyxyyzyxz{zyxyy{yyyz{yzz{zzxyzyzyxyzzyzyy{zyyyyyyyyzz{zz{zzzxzyyyzyzzyzyy{zzzyzzyzyzz{y{z{{yzyyzyzzz{zz{{{zzzzyyyzxz{zz{z{zzyyzzyyyzz{y{zz{|yyyzz{zy{zz{z{zyy{yzzz{{{zzz|{{{zz|zyyyyzz{{{zz{z{zzxzy{zy{zz{z{y{yyyzz{{z|zz{zzzzzzzzzz{{zzz{{zzzzyzyz{{{z{|{{z{{z{zzzzz{{zy{y{zyzzzy{zzz{z{{{{zyyzzyzzzzz{{{{{{zyzzzyy{z{y{zzzzzxyxxyzzzzyzzzyyyyzzxyzyz{yzz{xyyzyyyyzzz{{zzzzyyyzyyy{zyyzzzzyyyyzyyyzzzzyzzzzyyyxxyyyyyzyzzzyyyzyyyyzzyyzy{yyyyyyyyyzzyzyzzzyyyyxyxzyyyyyzy{yzxzzyzyzyzzzzyyyyyyxxyzzyzyzzyyzzyxyyxyyzyzyyz{yyyzyyyyyyyyzzzzyyzxxyyyyzyyzzyzyyyyyzyxzzz{yy{zyzzyyyyyz{zzzzzzzxzzzyzyzzzzzzz{yyzzyzzzyzzzzzzyzyyzzzzyyzy{z{yzzzyzyyyzyzzzz{{zzyzzyzyy{zzyzz{yzyyzzyyzzzz{{zy{zzzzzzzyz{z{z{{{zzyz{zyy{{{z{{zz{yzyzyyz{z{zz{{{zyzyyzzyz{z{{{{{{{zzz{zzz{zz{z{z{z{zzyzzz{z{{z{{zyzzyyyzzz{{{z{{zzy{zyzz{{zyy{z{zzzyzz{z{z{{{z{z{z{zzzzzzzz{zzz{yz{zzyxyz{zzyyyzyyxxyyywyzzzyyzzyyyyyyyyyzyzyzyzzzzyzyyyzyzzyzz{zzyyzxxyxzz{zzz{yzyyyyxxzzyzzzyzyyyxyyyyz{zzzzzzzyzxyyxyzzyy{zyyyzyyyyyyyzz{zzyzxyxyxyyxzzyzyzzyyzxzzyxzyyzy{zyzxyyyzxzyyzzyz{zzyxyyyxyyyy{yyzzzyzyzyyyxy{xzy{yzyyyyyyzyzyyzz{{zzyyyzyzyyzz{zzyzyyyzyyzyzzzzyzz{zzyyyyyyyy{zz{{zzyzyyyyzzzzzy{yzzzzyxzxyzz{zz{|zyyzyzyyzzyzzyzzz{yzzzzzz{zyzzzzzzzyzzzyzz{z{z{{zzzzzzyyzzzz{{{zzzyzzz{{y{z{z{{{zzzyyyz{{zzzy{{yy{zzyyz{{z{{zzzzzzzzzzyzy{{z{{{z{zzyzzzzyzzzz{z{{{zz{zyzz{{z{{{{{y{zxzyzyz{y{zz{zzzzyyyzzz{{zyzzzzyyy{yyyzyz{zyz{yyyzxzyyzzzyzzy{yxyyyyyxyz{zzzz{zzyyzzzyzz{zz{{zyyyyyzzzzzyzzzzzzz{yxyyyzzy{yzz{zyzyyyzyy{zyyz{yzyyyzywxzyyyyzyzyyzyyyyyzyz{z{zyyzzxzyzzyzzyzzzzzyyyyzyyzyzyzz{zyyyzyyxyzzyyz{zzxzy{xxzyyzzzzzzzyyyxzyyyyzzzzz{zzyzzyyyyzzzzzzy{zyyzyyzy{yzz{yz{yyzyyyyz{yzzzz{{zxzyyz{yzzzyzzz{zyzzyyzzz{zz{zz{zxzyzzzz{zzzzzzzzzyzzzzz{{zzzzzy{{zz{zzzzzzy{z{{yzzzzzz{|zzz{z{{zzzzzyzzzzz{z{{{zzz{zzzz{{{{{{{{zy{zzzzyzzzzz|{|z{yzzzzzy|zz{z{z{{zzzyzzzz{{zz{z{zzzzzzz{{y{{{z{{{zz{zzzzz{z{|{zyzz{zzzzzz{{{z{zz{zzzzyy{{zzzzzzyz{xzzyyzzzzzyyzyzxzyyzyyzz{{zzzyyyyyyyyzz{zz{|{yyzyzxzyyy{zzz{zzyzyyzyyyyzzyy{{zyyyyzzxzyzzzzz{yxzzyyzx{yzyzz{zzyyyyxzzzyzyyzz{zyyyyyyyyzzzyzyzyyxzxyyyyy{yyyyzzyyyyyyyyzyzyzz{zyyyyyzyxzzzzyzzyzyyzzyyyzyzzzzzyzyyzx{xy{yzy{zyzyzyyzyyyzz{yz{zyzyyyyyzzy{zzz{{zzzyyzyyy{zzzzz{yyyyzywzzzzyzzz{zyyzzyyzz{z{zzzzzyyzzzyzzzz{zz{{zzzzzzzzz{zz{zz{y{yzzzyyz{{z{{{zzzzyzzzz{zz{{z|{z{{zyzyz{|zz{z{z{yzy{yyzz{zyz{zzzz{zz{zy{{yz{{zz{zzyzzzzz{|{{{{{{yz{zzzz{{zzzz{{zyzzz{zy{z{{zz{{{zzzz|zzz{|{{{{{zzzy{zyy{{zzz{{{{zzyyzzyz{{{zz|{{yzzzy{zzy{zzzyyyyzzyyzxzzzyzyyzyyyyyyzyyzzzz|{{zzyxyyyz{{yzzzz{yyzzzyxzyz{zyzzyzzyyyyyxzzxyzyy{yyyyyyyxzzyzyzzyzyzyzzyyzy{zyzzzyzzyxyyyzyzzyzzzyyzyxyzxyzyzyzzyyyzyxzyzyyzzzzzzyyzyyyyyyy{{{y{zyzyzzxyxyzyyzzz{yzyxzzyzyzzyyzy{zyzzyzyyyzzzzzz{zzyyzzzzzz{zz{{{yyyzzyzzz{zzz{z{yzyzyyzyzzzz{z{zzzzzyzzzz{z{zz{{zyzyzyxyzzzzzz{zzzzzzzzzyz{zzzzz{zyzzzyzzz{z{{z{zzzzzz{y{{{{|z{zyzz{zzxz{z{zyz{z{zzz{zzy{|{z{{{zzz{zzzzzz{{{{zz{zzzzzzzzz|{{yzz{{zzxzzzz{{{z{|{{{yz{zzzzz{z{zz|{zzyz{zyzz{z{{|{{zzyyyyzzzzz{z{{{{{zzzzzzz{{zzz|zzzzyxzyzyzzz{yzzyyyxyzzxzzzzyz{zyzyyzyyzyzzyzzyyyyxxyzyzzz{y{{{zzyzyyyyyzyzzyy{zyyxyyxyxzyz{yzzzyzyyzzyyyz{yz{zz{zzyyyzzzzyyzzyzzyyyyzyyyzyzyzz{yxyyyzyyxzzzyz{yyyxyyzyyzzzyzzzyzyzzyyxzzzzzzzyzzxzyyyxzzyyyxzzzyyyxyyyzzzzzzzzyyyzyyzzxyyyzyz{{zyzzyzzzzzzzzyzzz{zzxyzyz{y|z{zzzzyyzyzzyz{zyzz{zyzzzyyzzzzz{{zyzzyyyyyyzzzzzzzzyyzzyyy{zzzzzzyyzzyz{zzy{zz{zzzy{zzzz{yz{zzzzzyzyzy{zyyy{z{z{{|z{zzz|{yz{{{z{z{{{z{yzzzzzz{{zzz||zzzyzzzz{zz{{zz{y|zzzz{{{zz{z{z|yzz{zzyzyz{{|{z{{yzzyz{z{zz{|{{yzzyyzzzyzzyzz{{zzyzyzzzyz{zzz|{zyyyzyzyzyz{zzzzzxyyzxyyzzzzyzyyzzyyxyzyzyz{y{{zyyyxxyyyzzzyz{zzyyyzyyyzzzzzyzzzzyyyxyyyyzz{z{{zyzyyyyyzz{zzyyzzxyzzyxzyyzyyz{{zyyyzyyyyzyyzzzzzyyyxzyyxyzyzyz{yzyyyyzxzyyyz{{z{zyyzzzyxzzzzz{zzzyzyzzyyzyyyyzyyyzxxyxyzzz{z{{zzyyyyyzyxzzzy{{yzyzzyzxyzzzzyyzzz{yz{zyxz{yzzzz{zzzyyyzzz{zzyy{z{{zzyyzyyzy{y{zzzyyzyyzzyzzzz{z{zzzzzzyyyzzzyzz{{zyzz{zyyyyz{{{{{zz{yzyzzz{{{{y{{zyzzzyyy{zy{zz{{{yyzyzyz{{{zz{{{z{{zzz{zz{z{z|{{zzzzzzzzy{{{z{{|{zzzzzyy{z|{{{{zzzyyzzzzz{{{{zz|z{y{{yzz{z{{{zz{yzzzyzzzzzzz{z||{{zzzyyyyzz{yz{zzxzyzyzxzzzzzyyyyyzyxyxxyzzyyxyzzyxyxyyyzzzzyz{zzxyyyyzzyzzzzzzyzyzyyzyyzzzzyyzzzzyxyzzxzzzyyzz{zxyyxyyyzzzyzzzzyxyyyxyyzyyyzyz{yyyyzyyzzy{zzzzzyyyxyyyyyyyzzzzzzyzyyyyyyy{yzyyzyyzyxyyyzyzyzy{zyyxyyxxyyzyyzyzzyzyxyyyyyyzzzzzzzyyyyyyyz{yyzzzzzzywzyyxyyxzyyzzzyyxyyzyzyzyyzzzzyzzzyyyyzzzzz{{{zzyzxyyzzzzzzzyzzyyyyyyzzzyyz{zzyyzzzyzzz{yzzzzzzzyzzzy{{{{z{zzzyzzyzyzzzzzzzz{zzzyzzyyyy{zzz{zyzzyzzyzz{{y{z{{zzzzzyz{zyy{z{{{zyyzy{z{z{{zzzzzzzzzzzzzzz{{zzzzzzzzyyzyzzzz{{z{zzzz{zyyzz{zz{{zzzzyyyyzzzzzz{{{{zy{yyyyzz{zzy{zz{zyyzyyzzyzzzyzzyyyyyyyyzzzy{yzyzyzzyyyyzzz{zzz{yzzyzzxzzzxzzzzzyyyyzzyzzzzyz{{yzyyzyzyzzzyyyz{zyyyzxyyyzzyyzzzyyyyyyyzyyxzyyzzyyzxyyyyzzzxyyyzzyyyyxyxyzyzzzzyyyyyzyxyzyzzzzzzyyyyyyyxz{zzzzzzzyyzyxyxyyzzy{yyyyyyyzxyyyyzzzzzyyyyyzxyzzyzzz{zzyzyzyzyz{zzzzzzyyyyyyyzzyyzzzz{yzyzzzyyyzzzzz{{{yzzyxzzzzzzz{{zyzzzzyzyy{zzz{zzzzzzyzyy{zzzy{zzzzzzzyzzz{{{zz{{zzyzzyzz{z{z{{|z{zyzyyyyz{{{{y{z{zzyyzzyz{zzz|||{zzyz{{zy{{z{{z{z{{yy{yyz{zz{zz{{zz{zzzz{z{zy{{{{zzzzzzy{{{zzz{{zzzz{{zzzz{{zz{{zzzyzzzzz{{{zzzz{z{y{yzyzzy{zzz{zzyyzyyyzz{zzyzzxyyyyyxyy{{yyyzyzzyzxxxyyyzz{{z{zyyyzzyyyzzyzzzyyyzyyyxyz{zzyyzzyzyyzyyxyz{zzzzzzyzyxzzyzzzyxzzzzyzzyyyxyzzzyxzyyyyxyzyxyzyyyzyzyzyyyxzyzzzzyzzyyzyyxyyyyyzzzy{zzyzyxyyzzzzyzzzzyyyyyxyzyyyyzzy{zyzzzyyyzyzyz{{yyyzyyyyyzyzzzyzzzyzyyzyzyz{zzzzz{zyyyxzxzzyzzzzzyyyzyzyyzyz{zyzzzyyzyyyyy{z{z{z{zyyyyzxyyy{yzz{yzyyyyyyyz{|yzzzzzyzzzyzz{zz{z{yzzzy{yyzyzzz{z{{zzyzzy{yyz|yzyz{zzyzzzzzzz{z{{{{{zyyzzz{{{zz{{zzzzyyzyyz{z{zzzz{{zzzyzzzz|z{z{zz{zyyzzz{zzz{z{{{{zy{{yyzz{{y{yzz|z{yyzyyy{zzzy{|zzzz{zz{yz{zzyz{zzyzyzyzxzz{xzzzzxxyzxyyyzzzyz{zzyxyyyxyy{zzzzz{{zzyyyyzyzzyyz{{zyyzxyyyyzzzzzyzzyyxyyyxyyzzzyyyzyyyyyxzxyyzyyzzzyy{xyxxyzyyzyzzzyzyyyyyzyyzyyyzyzzyyyyxzyzzyyzzyyyyzyyyyyz{yyzz{zyzxyyyzyzzzzyz{yyxyzyyxyyzyyyzzyyyyzyxyyzxyzzyzzzyzzyyyzzzyzz{zyzyxzyzyyzzyzyzzzyyzyyyyyzzzzzyzyyyyxzzyzzzyzzz{zyzyyzyyz{zzyzzy{zzyyyzzzy{zzyzzzzzyyyyyz{zzy{z{zzzzzyyzzzzzz{zzyzyxzyzyz{y{z{{zzy{zyzyzyz{z{z{{yyyzzyzzz{zzyzzzzzzzzz{{{zzz{{z{{zzzzyz{z{{{z{y{zyyzyzzy{zzzzz{zzyzz{zzz{{z{z{z{yyyzzzzzzzz{{z{z{zzyzzzyz{{{z{zz{zyyyzzyy{zzzzzzyzzyyyyyyzzyzyzzxzxyyyzyyyzzzzzzzzzyyzzyzzyyzzzzzzyzyyyzyzz{yzzyzyzzzyyxzzzzzzz{zzyyyyyxyzzzzzzzyyyyyyyyyzyyyzz{zyzyzyyyyzzyxzzyyzyyyyyxyzyzyzzzyyyzyyzyyzzyyyzyyyyzyyxyzyzyzzzzyyzyyyzyyyyyyyzzyyxzyyyyyy{yyzyzyyyyzyyyyyzyzzzzyxyyzyxyyzzyzzzyzyyyyyyxzzzyz{yzzyzzyyzyzyz{yzz{yyyyyz{yzzzzyzyzzzyyyxyyyzz{{{zzzzyyzzyyzzzzyy{zyyzzyzzyzzzyzzyz{zzzzyzzyzz{z{{{yzzyzyyz{{y{z{z|yyzy{yzyzzzz{zzz{zz{y{zy{{{yz{{zzzyzzzzyzyzzz{z{zxzzyzzyzz{|zz|{zyzzyzz{zz{|{{{{{yzyzxzyzzz{{zzz{z{yyzzzz{{{zzz{{zzyzzzyzzzzyzz{{zzyzyzyyyzzzzz{zyzyyzyyzzzz{zzzyzyyzyyyyzzzyz{z{yyyzyyy{yzz{zzz{yzyyyyyzzyyyzzzzzyyyzyyzzzzzz{zzzyyyxyyzyzzzz{yxzyzyzzyzyyyzzzzzxyyyxxzyzzyyyyy{yyywyyxyyyyz{yzzyyyzyyyzyzzx{zzzzyzyzyzzzzzzz{zzzxyyyyyzzzzzzzzyyzzyxzxzzzyzzzzyzyzzyyyyzyyxyz{zyzyzzyxz{{zzzzyzyzxyyzzyzzzyzyzzyzzzyzz{yzzzzzzzzzyzyzzz{z{{zzzzzzyyyzyyz{zz{{{zzzyzzyyzzz{zz{yz{zzyz{z{{zz{{z{zzyzzzyzzz{|{z{zzzzzz{zyz{z{zz{{{zx{zzzy{{{z{zzz{xyyzzzzzy{{{{{{zz{zzzzzzz{{{{{{|zzyzzzzy|{{zz|{{y{zzzzz{{z{zzzz{zzyzzzz{{z{{z{{{{zzzyz{{z{{z{{|zzzyzz{yyzzzzz|{z{yzzz{yz{z{zz{zyyyzyxzyz{zzzzzzyzxzyxyyzzz{zyzz{yzyyyyyyzzzyzz{zzyyyyyzzzz{zzzzzzzyyyyyz{{yyz{{yzzyyyyx{zzzz{zzzyyyzyzyyzy{zzzzyyzx{zzyyy{zyzzzzyyyyzyxyzzz{zyzzyyyyyzyyyzyzzzyzyxzyyxyzyzz{{zyzxyyxyyxyzzz{z{zzyyzyyzxzzzy{zzyyzzyyyyyyzyzz{z{zyzyzyyyzyzzz{{zyyyxxyzyzz{zz{zzyzyzyzyyz{{zyy{{zzzzyy{yyyzzzzz{zyzzyyyyz{{zyzzzzyz{yyyyz{z{yz{{zyzzyyzyzzz{{{|zzzzzzyzyzz{zz{zzzzzzy{yzzzz|zzz{zzyzyyyy{z{zzz{zyyzzzzyyz{{z{{{{yzyzzzzyz{zz{{z{{zzzy{zzz{z{z{{{{yy{zzzz{{{{|{{z{yyz{zzz{{{{{{z{{yyzzzyzzz{zz|z|z{zyzzzzzzy{{{{|zzyzyy{y{zzzzy{{zyzyyyxyzzzzzyzzyyyyyyyyxyzzyyz{zxyyyyyyzy{yy{zzxzyzyyyzyz{y{yzzyyzyzzyy{zyzxzzzzyyyxzyyzzzzzzyzyxyxyzyyyzyzyz{zzyyyzyyzzyzyyzzzyzyyyyyzxxzzyzyyzyyyyyyxzyyzzzzyyyyyxyxyyzzyyzzzyyyxyyxyxzyzz{zzzyyyyyyyxzzyzzzyyyyyxyzyyzzyzzz{yyyyyzyxzzzzzz{zyyyxzxyzzyzyzzzzzyyyyzz{yz{zzzzzyzzzyzzyzz{{zyz{zyy{zyyzyyzzzzz{zyyzzyyzz{zzz{z{yxyzyzzz{zzyz{zyzzzzzzyz{zz{{{{zzzzzzz{yz{z{z{z{{zzyyzyy{{zz{zz{{xzzyzzz{zzzz|z{zyzyzzzz{|zzz{zzzyzyzzyz{|{|{{{|{zy{yzzzz|{{{{{{zzzzzzzz{{{{z{{z{y{zz{zz{z{{z{z{zzzzz{zzz{zzzzz{z{zzzzyzzzzzzy{{yzyyzyyyzz{{zxyzyyxzyyyxxzzyzy{zxyzyyyyyyzzzyz{yzzyyyyzxzzyyzzzyzzyyyyyyzyyzyzzzyyyyyyyyyzz{zyzzyzyyy{yyzyzyzzzzyxyxyxxyyyyzzzyzyyyxyyyyyyzzyzzzyyywxxxxyzyzzzzzyyzyxyyxyzzzyzzzyyzyxyyyzyzzyzyzyyzyyyyxzzzyyzzzyxzyzxyyyyyyzyzyxyzzxyyyzyzz{zzzyyxyxyyyyzzzzy{zxyzyyzyyyzyzz|z{yyzzzzyyzzzyzzzzzzzyzzyzzyzzz{zyzxyzyzzyzzzz{z{{{yxzyzyyz{yyy{zzzyzyzzzy{z{zyzz{yzzyyzyzzzzzz{{zyzyzzxzzz{z{{z{{zzyzzzzyzz{{z{{{zyz{zyzzzzz{{{zz{zzzyzyy{zyzzz{z{{zzzzyz{zyz{{{zzxzzzzzzzz||z{{{{zz{y{zzzzzz{{z{zyyyyzzzzzzzzz{zzyzzzzyyyzzzyyzzzyzyyyzyyzzyzyzzzyxyzxyyxzyyyzyzxyzyxxyyxyzyzzy{yyyzyyyzzyzxz{zzyzzyzyyyyyzzyzzzyzyxxzzxzyzyyzzzxyyyyyxyzzzz{yzzyyyyyyyyzzzzzzzzzyyyxxyzyyyzxyzzyyxyzyyyyyyzz{zyxzyyxyxyyyzzzzyyyxyyyxxxzy{zzyzzyyyzyyxyyzzyyzzzyyyyzyxyyzzzzzzzzyyyyyyyzzzzzyzzzzyyzzzzz{zzzz{{yyzyxxyzzyyzzzzzzyyxyyyyzyzzzz|zzzzzyyyyyyz{{zyzzyzyyzzyz{zy{z{zyzyyyzyyzyzzyzzzzzzyzzyz{zz{zz{{zyyyyzyyzzy{{{y{yzz{yyyyz{z{{z{zzz{zzyyzz{zzz{z{zzzzzzyyzz{zz{zzzzyyzzzzz{{{z{{zzzz{zzzz|zzzzzzz{zzzzzzzzz{{zz{z{zyyzzyzzz{{{|{z{yyyyzzyy{zzyzzzz{yzyzzzzzzzzyzzyyzyyyzyzzzyyzyzyxxyyyyyyzzzzzzzyyyxyxyyyy{zz{z{zxyyzzzyzzzzzz{zzyyzyyyyzyzzyyyzzzyyyyyxzyyzyzyzzzzyyyyxy{yzzy{yyyzyxyyzzzzzy{z{zyyxyyyzyyyzyyzyyyyyyxxyyzzyzz{yyyyyxyzxyzyzyzz{yyy{yyzzzyyzyzzyyyxxzzyyyyzyyyzzyzyxyyyyzzzzzzzyyyyyyzxxzzy{zzzzzzyzyxyzzz{zz{zz{yyyxyzzzzzzzy{zzzzzyyyyzz{zy{zzzyzyyxyyzyzzzz{zzyyzxzzy{z{zz{{zzzyyzyzyzz{zzzz{zyyzzyzzzz|zz{z|yzzzyyzyz{z{y{{{{zzzzyyz{z{{yz{z{zyyyyyz{zzzz{{{{{{yy{{zz{{{{{zzzzzzyzz{{|z|{y{zzzzzyyzzzzzzzzz{zzzzzzzz{z{{{{z{|zzyzzyz{z{{zzzzz{zxzyzz{z{zy{{zzzzyyzyyyzyzz{z{yzyyyxyyyzyzzzyzzzyyyyyyyyyzzz{{yzyyyyyyzzzyzyzzyxzyyxxyzzzzz{zzxzzyzyyzyzzzyyz{z{yyxxyyzyyzzzzzxy{xyyyxyyzyzzzyzyyyxxzzzzzyyzyzzxxxxyyyyyzyyyzyyyyyyyyyyzyyyy{zyywyxxyyyyzyyzzzzyyyyyyyzzyzzz{zzyyyyyyyxyyzzzx{zzyyyyzyy{zyzyzyyyyzyyyxzzzyyz{zyy{y{yyzzzz{zzzzyyyyzyyyzz{zyz{{zyyyzzyxzyzyzy{{zzyyyzzyzzzz{zyzzyyzyyyyzz{zyz{{zyxzzzyyzy{zzzz{zxzyzzzz{z{{z{zzzzyyzyy{zzzzz{{{yyzyyyyyyzzzzz{{zyzz{zzzz{{z{{z{zz{zyzyyz{{{{{{{{y{zzzzyzzzzzz|{zzzyyyyyzz{zz{{z{yzzzyz{z{zzz{z{zyzzz{zzz{z{{|z{zyyzyyzz{{yz{zzzzzzyzzyzy{zz{zyzzyyzyzyyzzzyyy{zyyyyxyzxxyyyyzyzyyxyyyyxyyyzyzyyyyzxzzzxzyyzzyzzyyyyzzyyyyz{yyzzyyyxxyyyyyzzzzyyyyzyxyyxyyyxyyyyzyyyyyyxzyzyzzyyxyyxyzxyzzxzzzzyzxyyxxxxyyyyyzzyyyyxyyxyxyzzzyyyxyyyyyxxzyzyyyzyyyyxxyyyyyyyyyy{xzyxyyyxyzxyyyzyyxxzxyyyyzzz|y{zyyzyyyyyyzzyyzyzxyyzxyyzyyyzyzyyy{yyxyyxyzzzzzzzyyyyyxzyyy{zz|zyxyyxyyyyyzzzyzzzzyzyzzyzzyzxz{zzzzyyyzyyzy{{zzzzyzzyzzyzyy{zzzz{zyz{yyyyzz{zy{{{zyyyzyzyzzyzzzzzzzzzzyzzzzz{z{{z{xzyyzyyy{zz{{zzzyzy{zzzzz{zzzzzzzyyyyyyzzyz{zzz{yzz{zyzzyz{{z{{yzyyzzyy{zz{zz{zzyyyy{yzyzz{zyzzzzyyyyyxxzzyy{zxyzwyyxyxyzyyyyzzyyyyyyyxzzyyz{zyzxyyyyzyzzz{{zzzzzzzyyxzzzzzzyzzzzyyxyyxzzyzzzy{yzzyyxzyyzyzyzzyyxzyzyyyzyzyzzzy{yyyyxyx{yzzyyyzyzxyyxzyyyzzyzyzyyyyyyxyzyzyzzzyyzyzyyyyzyzyzzz{zyyyyyyyzz{yyzyxzyyyyyzy{zyx{{zzzyyyxzyzzzzzyz{zyyyyzyyyzzzzyzz{yyyzyzyz{{{zzzzzzzyyyzyzzy{zzz{zzyzzyyzyzzzz{zzzzzzzyyzyzzzzyyzzzzyyyzyyyzzzzzyz{zyzzzy{zz{y{{|{yyzx{yy{{z{{zz{{zyzyyyyzz{zz{z{z{{zzz{zzz{z{zz{z{z{yz{zz{z{z{|{{{zyzzyzz{{{zzz|z{zz{zzy{zzzzzz{{zzzz{zyz{{z{{{|zzzz{zzyz{{y|{z{|zzzzzyy{z{{{{z{|{zyzzyyxz{{{yzz{zzzyzxxyyzz{y{z{yyzzxyzyzyzzz{zzzzyzzxyyy{zzzz{zzyyyzyzyzzzzzyzzzzzyyyyzyzzyyzzzzyxzyyzz{zyzzzy{yzyyzzzxyzyz{zzzzyyxyyyyzzzzy{z{yyzyyyzyzzzxyzzzxxywyyzyzzzyzzzyyyyyyyyyyzzzyy{zyzyyxyyzzzyzz{zzyyzyyzzyyzzyzyyzzzyyyxyzzzzzzzz{yyyyzzyyzzy{zzzzzzzzzyzzzzzzzzz{yzyzzyzzzyzz{zzzyzzyyzzyzyzzz{{zyyzz{yyz{{z{z{{zzyzyzyyyzz{{{zz{zyzzzxyyzy{{{{zzzzzyzzzzz{{z{|zzy{yzzz{zzzz{{zzzyyz{yyzzz{zz{{|zzzzzzzzz{{z{{{{{zyzy{z{{z{zyz{zzzyzzyzzz{{z{{{z{{zzzzyzzzz{zz{{{{zzyyyzyz{z|{z{{{y{z{zzz{zy{{||{zzzzyzzzzzzzzz|zyzzyzyyzz{z{yz{{yzzyyyzzzzz{yzyyzxyyyyyyxyyzzzzzzzyyzyzxzzz{yzz{zzyyyyzzzyzzz{{zyyzzyyyzz{z{zyzzxzyyxyyzzyyzzzyzzyyyzyyyyzyzzzyyzyzyyyyxzzzyz{zzzzzxzyyxyyzzyzzzzzyyzyyxyzzzzz{zzyyxyyyyz{zzzzzyyyzyxyyzx{{{yyzzzyyyyyxxzzzyzzzzzzyyyxzxzz{zyzzyzxzyxyyyyzzzzyzzzzyyyyzzyzzzz{zzzyzyyzyy{zyzz{zzyyzzyyyyzzzzzz{z{zzzzzzyyzz{zz{zzyyyzzyz{zzzz{|zyzyz{yyzzzzz{z{zyzzyzyzz{{{z{{zzzzyyzz{zy{y{z{{{zzyzzyyyzzzy{{{zzyzzzzzy{{zzz{zzzxzzzz{zz{y{{{{{zzzzzyzyy|{{{|zzzz{zyyzz{zzz{{|{zzyyzyz{zzz{{{|{{zzz{zzzzzz{{z{zzzzyzzyzz|z{z{zz{yyyy{zyz{zzz{z{y{zyyyyzyzz{zy{yyyyyzyyxyz{zzzy{yzyyzxzxzyzzzz{zyyyyyyyyzzyyzzzzyyzyyxyyzzzyy{zzzyzzyzzyzyzyyyz{yxzzzzzxzyyyyzzyyyzyzyzzyzzyyyyzzxyyzyyyyyzzyzz{yyyxyyyzyzyyzzyyzyyyyyxyyyyzzz|zyzyxyyyxzzyzyyzzzyyzyyyyx{yzyyy{yyyyyxyzyzyyyzzyyyxyyzxyyzyzzzzzzzyyyyyyzzzzzzzzzyzzxxyyzzz{zz{zyzzyyyyyz{zzz{{{zzzyyyzyyzzyz{yzyzyyzyyzzz{yz{zyyyyzzyzzzzzyyzzz{zyzyzzyz{{z{{{zyzzzyz{zzzz{yzz{zzzzyyyz{zzzz{zzzy{zzyyzz{{{{{{zzzzzzz{z{{{zz{z{zyzz{zzzz{{|{{{{zyzzzz{z{z{{zz{z{yzzzy{zzzzz{{{{zzy{z{zz{z{{{z{{yyzyzzzzyyzzz{zz{zyzyyzyzzzzyz|zzyyyzzyyz{zyzyzyzyxyxyyyyzzyyzyzzzxyyxyxxzyyyzz{yyyxyyzxzyzy{z{yzyyzzyxyz{yyzzzzzyzyxyzxyzyzzzzyyxyyxyzxxzyxyyzyyyyyyxxyyzzyyzzyyyyyxxyyyzzzyz{zyyyxyyxyzzzyyzzyzyyyxyxyzzyyzyzzyzzyyyyxyzy{z{zzxxyyzxyxyyzzyyzyyyyyyyyxyzyyy{zyyxyyyzyyzzyyzz{yzyzyzzxwzzzzzyz{zyzyyyzyyz{{yy{zyzzzyzyyzzzyyzzzzzyyzyyyy{zyzzyzzyzyyyyyzy{z{zzyzyyzzyyzz{zzzyzzzzyyzyzyz{{zzz{{zzzzzyyzz{z{z{zzzyzyzyzyz|z|zz{zzzzzz{zzz{{zz{{zzzzzyz{x{{zz|z{{zyzzyzzz{{{z{{{{zz{yzzyzzzzzzzzzz{yzzyz{zzyzz{{{{zzyzzzyzz{{z{{{zzyyzy{yy{{{zz|zyzyzyyzyzzz{yz{zyyzyyxzyzzzzyyyyyzyzzxyyzzz{yzyyyyzxyxxyzzyzyzzzyzyyzzyyzzyyyyyz{zzzyyyxy{zzyzzzzzzyyyyy{zzyzyzzyyzyzyyxyyyyyzyzzyzyyxxzyzzzyzzzyxzyxzyzyzyyzzzzyyyyyzyyyyzzyzzzzxyyyyyxyyyzzzzzzyzyyyyyyzzzy{z{yyyyywyyyzyyyzzzzyyyyyyyyyyyz{zyyyyxzyyyzzz{zzz{zyzyyxyyyzzyzz{zyxzyyxyzz{zyzzz{zzzzzyyzzzyz{zzzyxzzyyzyzzyzzzyzzzyzyyzz{z{yzz{yzzzzyyzzzzyzzz{zzzyyzyyy{zzzz{zzzzzzzzzy{{zz{{z{yzyyyyzyzz{{z{zz{zz{{zz{z{{zz{{zzz{zyyzzz{zzz{zz{yyyzzzyy|z{{{{zyzzzzyy{z{{zz{{{zyyzzzzzz{z{z{zzyzzz{zyzzz{{{{z{yzzyyzzz{y{zz{{{zzzz{zzyz{|zzz{{xzzyyxzyyyyzz{yyyzxyyyyxzz{zzzzzxyyxzzzyzyzzzzzzyyyxzzzxzzzzyzz{zzzzyyxzzxyyyyyzzyyxyxxxzzzzyzyzyzyyyyyyyyyxyzzyzyzyzyyxzzyyyyzzyyyyyyyzyyzzyzzzyyyyyyyyyzyzzzzzyyyyyyxzyyyzzzzzzyyyxxyzyy{zyzyzzzyyyyzxyzxyyzyzzyyyyyyyy{yzyzzzyyyyzzyyzzzzzzzzzyyyzxyyzzyzzz{yzyzyzzyxzzzyzzyzzyyyyyyzyzzyzz{{zyzy{yyyz{z{zzy{yyzyyyyyz{z{zz{zyzzzyzyzz{zy{zzy{yyzzyzyzzz{zzz{yyzzzyz{z{zyz{{{zyzzyyyyz{zzy{zzzz{zzzyyz|zz|{{zz{yyz{z{z|yzz|z|{zyy{zyzz|z{zzz{zyyzzz{zz{z{z{{{zzzz{zy{zz{zzzz{{zzyzzyz{{zzzyz{zyyzzzzyz{z{zz{zzzxyzxyyyzzzzzzz{yzzzyzyz{{zzzyzzxzxxyxyyyzzyzy{yzxyywxzzz{yzzz{yzyyyzyyyzzz{zzzzx{yyxxyyyyzyz{zyyzyxyzyzyzzyzzzyyxyyzyyyxzyyyzzyzzyyyyxzyyyxzzzzyxyyyxyzyyzy{yyyyzxzyyyyyyyzzzyzzyyyyxyzyzyzyzyyyyyyyxyyz{zyzyzyyyyyyyyyyzyyzzzzzyyyyzzyyyzyzzzyyyyzzyxyzyzzyzzzzyzyyyyyz{zzzyzzzzyyyzyzz{zyzyzzzzyxyyzz{{zzzzzzyz{xyyyyzyzzzzyzyzzzyyy{zzyzzzzzyzyzzyyzzzzyzzzzzyzzyyyyz{zzzz{yyyyyyzyzzzzz{zzzyyz{zzzz|zz{{{z{yzyzyyz{{zzzzz{zyzyyzzzzyz{{{{z{zzyzzz{{{zzz{{{{y{zyxzzz{zzzzzz{yz{yzzzz{zz{{{{{{zz{yz{{zzzz{{z{yyyzyzzzzyzzz|{z{yzyzzyyz{{zyzzyzyyyzxyzzzzzzxzyzxyyxyyxyzyyzz{|zxyxxyzyzyyyyyzzyyyyyzxxxyyzy{zzyyyyyyyyzzyzzz{zzxyxwyyyyzyzzyzyxyyxxyxyzyyyyyyyyyxyyyyyyyyyyzzyzyyyyyyyyxzxyyzyyyxzyyxyyzyyzyyzyxyyzxxyzzzyzyzyyyyxyyyzzyzyzzyyxxxyyzxyyyyyyzzzzyyyyyxyyyzyzzzyzzyxyyyyzyzzzz{zyyyyyyzzzyyyy{{yyzxyyzzyzzz{z{zy{yyyyyyzyy{zzzy{yzyzxzzy{zz{{zyzzyyyyzxyzzyz{zzzyyyzyzzyzyz{z{zzyyz{xyzzyzzz{z{yyzyyzyyzzz{zzz{yzzzyzzyzzzzz{zzzyzyyyzz||zyz{{zzz{zzz{zzzzz{zz{zyzzzyzy{{zzz{{{zzyzzyyyzzyzz{z{zz{zyzz{{z{{z{zzz{y{{yyzzzzzyzz{yyyyzzyzy|zy{zz{zzyzyyzyzzz{{yzzyzzyyyzyz{{zyzxyzyxxzxyyyzzzyyz{zyyyyxxzyyy{zzz{zyyyzxzyyyzzzzzzyyyzxyyyzzy{yzyzyzyyxyzyyyzzyzyzxyyywyyyyzzxyyzzyyxyyyyyzyyzyzyyzyyxxyyyyzzzzzyzyxyyzyxyyyyzyzzyyxyyxyyyxyyzzzzzyyyyyxyxyzzzzyzyzzyxzyyyzyyyzzzyxyyzyyxyxzyzyzyyzzyyyzzwyyzzyzzzyyyyyxyyyzz{yz{zzyyyyyyyzyzzyzzzxzyyyyyyyzzzzzzzyyyyyxyyzzyyz{zzyyyzzzyyyyzzzzzzzyzyzyyyz{zzy{{zyzzzzyzzy{z{z{z{zzzzzzyzzzyzyzzzzxyyzyyyz{zzz{zzyyzyyy{yyzzzz{|{zzzzzzzzz{y{zzz||yzzyzyyz{zzz{{zzzzzzyzy{{yz{{{z{zzzzzzzzz{{zz{{zzzyzzzz{zzzz{z{{zyyyxyyzzyzz{z{zyxyyyyyzzzzyzzzzyzyyzxyz{zyy{zyyzyyyyyxzyzyzz{yyyyyyxyyyzyyzz{zyyyyyyyxzzzyyzzyzyyxyyxzyyzzyzzzzyyyyxyyyzzyyyzzzzyyyxyzyy{yz{{zyyyyyxyxyyzyyyzyxyxyxzyyyzzyyzyyxyyxyyyyyzyzzzzyzyyyyyyxyxzyyzzzyzyzxyyyyz{yzzyzyzyyyzyyyyzyyzyyyzxxzyyyyxzzyzzzyyyxyzzyxyzyzz{zyxxyyxyyz{{yyzzzzyyzxyyyyzyzzzzzzyyyzzyyyz{{{z{zzyyzyxyyzyyyzzzyzy{yzyyxzzzyyz{zzyxyyyyyzzzzzzyyzzzzyzzzyyz{{{{zyzzz{z{zyzy{{z{{zzyzyyzz{zy{zz{zzyzzyyzzz{zzzz|{zyzyyz{yy{zzz{{{{zz{zzyzzz{zyz{zzyz{zzzz{zz{{{zz{yyyz{yzzzzy{z{{{zyzyzzy{zz|z{{{zzyzxyyy{z{z{{z{zyyzxyzyzzzzyyzzzyzyzxyyyz{zyyyzyyzxyxxyzzzzyyyzyyyzyyyxzzzyzzyzzyxyyyyxyzyzzz{zzzyyyxxyyzzzyzz{{zyxyxzyzyy{yzyzxyyyyyyyxyyzyzyzyzzyyyyyzzzxyzzyyyyxyyyyz{zzzzzzyzxyyyzyzyzzyzyyyyyzxzxyzzyzzzzzyxzyxyzyyyzzzzzzyyxyyyyyyzyyyz{yyzyyxzyyyzyyyzzzyyyzzyyyzzzyzyyzzyyyyxyyzzyzzzzzyzxyxyzzyzzyzyzzzzyzyzzyzy{zzzzzzzyyyxyzyzzzzzzyyyyyzyzyzzzzzzy{zzz{yzyzz{zzz{z{yzzyzzyzzz{{yzzzyyyzyyzyzzzz{{z{yzzzzyyz{{zz{{z{zzyyyyzy|{{zzzzzzzyzzzzz{{zz{{{{{z{zzzy{z{z{z{z|z{zz{zzyz{{{z{z{{zzzzzyz{zzzzz{{{yy{zyzzzz{{{z{{yyyyyzzzz{zz{{zyzyzzyyyy{zz{yy{zzyzzzxyx{y|zzyyyzyyyyxxxzyzzyy|zzyyzyxyxzzzzy|zz{zxxyyyxyyzy{z{zzyzzyxyzzzzzyz{zzyyyxyyyyyzzzzzyyxyyzzyxzzzzzzzyzyzyyyzy{zzyyz{zyzyxzzxyzzzyyyzzyyxyyzxxyyzzyzzzzyyyyyyyzzzyyzzyyyyzyxyxy{zyzzzzzyyyyyyyyyyyzz{yzyyzxxyyzzyyzzzzzxxzzzzyyzzzyzzzyxyzyxxzyzzy{yzzzzzyyyzyzzzzz{{yzzyyyyzzz{zzzz{{{x{yzzyyzz{|{zzzzzzyzz{yzzzzzz{z{zyyyyyzzz{zzz{{zzyz{yzyzzzz{zzzzzzzz{zzzzz{zz{zzyyzyyyyy{z{{{z{zxzzyyzzz{{zz{{{zzzzyzzyz{zz{{z{zzzzzzzzz{{{{{||{zzzyzz{{{z{z{zzzzz{{zzz{{zzz{{{zzyz{zzzz{z{z{z{{zzyzyzzzz{{{zzzzzyyzyzzz{{{z{z{yyyxzzyyzzyzzzyyyzxyyyyzyyzyyzzzyyyyyyxzzzyzz{yzzy{yyzyyzyzyyzz{yzyyxyxyzzzzyzzzzyyxxyzyzyzyyzyzyyxxyxyxxzzzzzyyyyyxyzxyzzzzzzzyxzyyyyyyzzzzzyzzyyzyyyxzyyzyyzzyzyyyxyxyzzzyzzzyyyyyyyxxyzyzzyzzzzyyyyyzyzzyyzzzzzyyyyxyyyyyx{zzxyyyzzzyyzzzzy{zzxyyyyyzzzzzzz{{xzyyxyzyz{y{yzyzzxzyzyyyzz{{{yzzzzyyyyzyzzzy{{zzzyyyzzzy{z{zzy{zzzzzyyyyz{zyzzzyzyzzzyzyzzzy{{zzzzzzzzzzzz{zzy{|yzy{zyyyzzzz{{{z{zzzzyzy{|zzz{zzzz{yzzzyzzyz{zy{z{zzyzzyz|z{z{zzzzzzyzyzzz{zyz{zzyzzzzy{zz{zzz{{z{yzzzzz{z{{{||{{yzzzzzzz{{zz{z{{yzyzzyyz{yzy{zyyyyzxyyyzzzyzzxyyyyyzxxxyzyyyyz{xyyyyxyyzzzyzzzzyzzxyyxxz{zzzz{zyyyyzyxyyzzzxzyyyyyyyyyxyzzzzzyzzyyyyyyxxyyzyyz{yyyxxyxyyzzzyzzyzxzxyzxxzzyzyzz{xyxxyyxyzzzyzyyzyxyxxyyzzyzyzzzyyyyxyxxyyyyyyzzzzxzyyyxyxxyzyzz{zyyxyyxyyyzyy{zyyyyzyzyyyyyxzzzzyyyzyyyyyzyyzy{zzxzyxyzyy{zzzy{{yzzyyyzzyzzzzz{zyzyyyyyyy{zzzyyyzyzyzxyyzzz{{z{yzyzyyzzyyyzyzzyzyzyyyyzyy{zzz{z{yyzyzyyyzzzzz{zzyzyzzyyzzz{z{z{zyyyyzyzyzzzzzz{{zzyzyzzzzz{y{{zzzyzzyyy{y{{{{{z{{zzzzyzzzzz{y{zzzyyzzzyzzzz{{z{{yyyyzzzzzz{zyzzzyzyyzzyzz{yzzzzzzyyyzyyyzzzzzzzzzyyyyy{zyzzzzzzxyxxxywwxyzyyyyyxxyxyyzxwyzzyyzzzzyyxyyyyyyzyzzzzyyyzyxxyyzzzzyzzzyyxyyyxxyyzzyyzyyyyyyxyyyyxyzzzyxyxxxxyxzyyzyyyyyzxxyyyzxyzyyyzxzyxxyyxxyyyyyzzyyyzyxyxzyzyyzyyxyzyxyyyyyzzyyzzyyzyywxyyyzyzzzyxyyxyyyyxyyzzz{{xwyyyyzyz{zy{zzzzyyyyyyxzzyzyzz{zyzxzyyyyyzzy{{zyzzyxxzyzyzz{zzzyxyzyxzyyyyzz{yzyyzyyyyy{z{z{z{zyyzzzyzy{zyyyzzzyyxyyyzzzz{{{{zzyzzzyzyz{{z{{zz|zzyzyzyyzzy{yzz{zyyxzzyyzz{zzzz{zzzyzz{zy{{z{{z{zyy{yzyz{|zzzy{z{zzzzyzzzzz{z{|{zy{zzzzyyzzz{{|{zyzz{zyz{zz{{zzzzyyyzzzzzyyz{z|{zzyzyyzzz{{{zzzzyyzyzyyyzyyyzyyyzyxyxxxyxyzzzzzy{zxxyxxyyzyyzzzzzyyxzyyyyyyyzzzzzzyyyyyxyyyzyyzyyxxyyyyxzzzyzyyzyxzyyyyyxzzzzzzzzxyzzyyyyzzyxzxxzyzyxxyyxxyzyyyzzxyxxyyyyyxyzyyzyxxxxyyyyzyyyyzzyyzxyyyyyyzyzzzzyxxyxxyxyyyxyz{yyxxyyyyxyyzzz{zzyzyyyyyxyyzyzyzzxyyyyxzyzzzyzy{zzyzzxyyyzzzzzyz{zyzyyzzzzyyzyzyyzyyyyyyyyzzyzzzyzyzyyzxzzzzz{{zzyyzyyyyzzz{yzyy{zzyzzzyxzzzzz{z{yxyyyzzy{zz{yzz{zyyyzyyyzzzy{{{{yyzzzzzy{{{{zzzzzzzzxzyzyzzzz}zz{yyzzzzzzz{zz{z{yyz{zxzz{{zzzzzzzzyzyyzy{y{z{{{{zzzz{zzyzzz{{{{{{zyx{zzzzzzyzy{zzyyyxyyxy{zzzz{zzz{zyyyyzzy{yzyzzyyyxxyxxyzyyyyyxxxyyxyxzzyyzzzzyxyxyxyxyxyyxy{yyxyyyxyxyzzzyxyyyyyyxyyyyzyyyzzyyyyzyyyxyzzzxyzyyxyyyxxxyyzzyyyyxxyxyyyyyyzzxyzyyxyxxyxyyyyzzzzyzyxxyxxyxxzyzxzzxyxyyyxxyzyyzyzyyxyyxxxwyyyxyzzyyyxxyxxyyzyzzzyzxyyyyyyxyyyyyz{{zyyyzzzyyzyyzyz{zyyxyyyzyyyzzzzzyzyyyyyyyyzzzz{z{yyyyyzyz{yzz{yzzyyxyyxxyz{yzzzyzyyzyzyz{zz{z{{zyzzyyzzzzzy|zzzzyzzxyyyzzzz{zzz{yzyyyyxyyzzz{zyzzyyzyyzy{{{zzzzzzzzyyyzyyzy{{zzzzzzxyyyzyzzz{z{zzyzzyyzyz{{zzzzz{yzyyyzz{zz{zz{{{zz{zzy{{z{zzz{{yyyyyyyyz{zzzzz{{zxzzzzzyzyzyyzzzyyxxzyyzzzzzzyzzyyyyzyxyzyxyyyzyyyyyxywyyyyyyyyyyxxyyyxzzxyyzyzyyzxxxxxyyyzzyzyyyyxxxyxyyzyyzyzzyxyyyyyyzyzyyzyzyywyyxyyyyxxzzzyxzyxyxyyyyyyyzyxyyxzyxxyzyyyyyyyyyxyyxxyxxxyyxyzyxxyyyyyyyyxzyzxyxyyxxyzyzyz{yzyyyyxyyxyzxyyzyzywzzyyxxyxyzyzzzyyyyzyxxxyzyyzzzzzzxyxyxyyzzyzzzxyxyyxyyxzzzzzzzzyyzzzyyyzzyzyyyzyyyyxyyy{{yxyzzzzzyyyxzzzzzyyzzzzyyzyyyzzzzzzzzyyyyyzzyzzzz{yz{yyyyzyyyy{z{zyzzzzzyzyyyzzzzzz{zzzzzyzzyyzzz{{{zzyyyzzyyz{zz{{{zzyzzy{zyzzzy{|zzzyzyzzzzzyzyzz{{yzz{zyyzzzz{z{z{yyzyyyyyyzzzz{zzyzyzyyxyzzzzyyzzxyzyyxyyzyzzyyyzxxyyyyyyxyyyyyz{zyxxxxxxyzzyyzzzyyyyyzyxyyyxyzzyzyzyxyxyyzyyyyyzyyyyyxzxyz{yyzyyyyyyzyyxyzzyyyzyyyyyyyxxzxzyyyzyyyzyyyyxyzyzyyxzxyxyyxyxyyxyyzzxyyyyzxxxyyyyzzyzyyyyxyxyyzzzyyyyyyxyyyxxyzyyyyzyxyyxyyyxyyyyyzyzyxzyzzxxyyzzyyzzyyyyzxyyyzzzyyzzyxyyyyyyyyyzzz{zyyzyyxyxyzzyz{z{yzzx{xyyzyzyyzyzyyzzyzyyxzzzyy{yyyxyzyxyzyyyzyzyyyyyyyyyyzzzzzzzyz{yzxyzzyyzz{z{z{zyyyyy{zzzz{zzzyyyyzyyzzzz{zzzzyzyzzyyyzyz{zzzzzyzxyz{y{yz{yzzzxyzzzyyzzyzz{z{zxyx{zyyzxzz{zz{zzyzzzyzzzy{z{zzyzyyzzzzyyzzz{|zzyyyyzyyyzz{y{{xyyyxyyxzyzzzzzzyyyyxxxzxyyzzyzzzyyzzyyxzyzzzyzzyyyyxyyyyzxzyzzyzzyyzyzyyzzzyyz{zyyyxyyxxyxzxyyyzzxyxyyyyyyyyxzzyzyyyyzxyzyzyyzyzyxywyyyyzzzzzxzzyyzyyxyyyyy{zzyxyyyyyywyzyyyzyzyxxyyxyyyyyyzyyzyyyxyyxxxxyzyzyzzzxyxyyyxyzyyzzzyzxzxzyzyyyzzyyzz{yyyxyyzzyyzyyzzzyzyyyyzzyzyyzzzzxyzxzyzz{zzyyzzyzyyzyzyxzyzz{zzzyxzyzzyyyzzzz{yyyyyyyyyzzyyyzzzzzyyyzyyzz{zzzzzyzyyyyzzz{z{zzzzzzyyzyyxzzzzz{zzzx{zyzzzzz{|zzzzzyyyyyzyzzzzzzz{{zyyz{zz{{z{{{{z{zyzzyyy{{zzzzz{zyyzzyzz{zz{zz{zzzyyyxyy{z{{z{{{z{yyzyyyzyzzzz{zzzyzyyzyyzyzzzyzzyyyyyyyyz{zzyxyxxxyyyxxyyzzzxyy{zxyyxyyyzzyzz{{zyyxzxyyzyyx{zzyyyyyyzxyzzyzzyzzyyxyyyyyzyzyyyy{yxxxyxxyyzzyyzyyzyyyyyyyzyzyyzyzyyyyxxxxzxzyzzzyyxxxyxyyyy{zzyzyyxyyyyyxzyyyzyyzyyyxxyyyyyyzyzyyzzyzzyyxyyyzyzzzzyxyyxyxyzyyyyyyzyzyyyyyzzyzzz{yyyyyyyxzzyzzyzz{zyzyyzzzyyzzyzyyxyyzyyyxzyzzz{zyzyyyzxzyzyyzz{zyzyzxzyyyyzzzzzyyzzzyyzyyyzzyyyzzyzzy{xzy{{{zzzz{y{zzyyzy{yzzz{{z{yyzzzyzz{zyzz{zzyzzyyzz{z{{z{zzzy{yyzzyzzzzz{{zzyyyyzzzy{{zzz{{yzyzzyzzz|zz{{zzzyzyzyyyy{{{z{{zzyyzzyzz{zyzz{{zzyyxzyyzyzzyyzzzzyzzyyyyzzzzzzzzzyzyyyyy{yzyyyzzyyxyyyzyyyzyzzzzyyyzyyyyzyzz{y{zxyxxyyyxzyyyyyzzyzzyyzxyyyzyyyzzyyyyyyyxyyyzyzx{yyyyyyxxwyyyyyyyzzyyxyxxyzyyxyyzzyxyyyyyyyyyzyyzyxyyyyyyzzyyzzzzyyyyxyxyyzyyzzzzyyyxxxxwyzy{yyyzyxyyzyyxxyzyyzzzzzyxyyyyyyyzyy{yzy{yyyxyyyyzyyzyzyzyxxyyyyzzyyzzyyyyzyyyyzz{yzzyzxyxyyzxzzyzzz{zyyyyzyzyyyzzzzzzyyzzyyyzzzzzzz{zz{yyyyy{zz{yzzzzzy{yzzyyzz{{zzzzyyzyy{zzz{zzzz{zyyyzyyyy{{zzz{{z{xxzzzyyz{zzz{{{zzyzyzzyzzz{zz{zzyyyzzzy{{{z{{{zzyzzyzyzzzz{{{{zyzyzzzyzzzzyzz{{zzyzyyzzz{zzzzyzzzyzyxzyzzyzyz{zzyzyyyzxz{zz{zzyyyzzyyyxyzzzzzyyyyyyyyyxyzyzyzzzzxyyyxyxzyzzyzzzyyyxyyyxyzzzzzyzzyyyyyxyz{{{yyzzzxyxyxzxzzzyyzyzyxyyyyyxzzzxyzzyyyxyyyyxyyzzyyyyzyzyzzyyyyzyzzyzxxyxyyyyxyzyzyyyxyyyzyyyzyzyzyzyyyyxyyyyyzzyzzzzyzyyyyxxyzxxyzyzzyyxxzyzxyzyy{zzzyyzzyxyzyzyzzyzyyxzzyzzzzz{z{{zzyzxyyz{z{yyzyzzyyyyyyzyzz{yzyzzyyzzzzyyyyzyy{zzzyzzzyyzy{zyzzzyyyzyyzyyzzzyzyzzyzzy{zzyz{z{yzzzyyzzyzyzzzz{z{{zzyzyyzyxz{{y{{z{{{yy{zzyzzzy{z{|{yzyzzzz{{zy{z{{zzzzyyzzyzzz{{{{|zzyyyzy{z{z{{{z{yzzzzzyzzzz{z{{zzyzzyyzzzy{z{z{yyzyyz{y{zzzz{{zzyzyzzzyzzz{zz{{yyzyyyzzzyzyxzzyxyxyzyyyyzyzyzzzyyzxxwyyyyzzzzzzyyxxzyxyzyzzz{yzzyzyxyyx{yzyyyzyyzyxyyyxzyzyyzyzyxxxyyyxyz{yyyyzyyyxxxyyzzyyyzzyzzyzyxxxzzz{yyzyxxxyzyxxyzzyy{zxyyyywyyyyyyzzzzyxyzxxyzyyyyyyyzzyyyyyyyxyyyyyzzzxyxxyyyxyzzyzzyzzzzyyxywzzzzyyyyzywxyxxzzy{zyzyzyxyzxzzyzzzzz{zzyyyxyyyy{zzzzzzyzyyzzxyyzzzyz{zzyyyzyyxyzzyzz{zzzyyyyyyyzzzyzz{zzyyzyzyyzz{z{z{{yzyzzyzyzyzyzzz{zyzzzyzyz{{z{{zz{zzz{yzyz{zzy{zzzzzyyzzyzyzz{{y{{zzyyyzyz{zzz{{z{yz{zzyz{{{{z{z{{z{zyyxyzzyzzzzzzzyyzyzz{zz{{{{{zzzxyyzz{{zzzz|{yyzzyzzyyzzyyzzyyxyyyyyzzzzyyzyzzyyyxxyxyy{yzyzyyyyyxwyxzyzyzzzyyyxxyyxyyzyz{zyzyxyyyyyxyzzzzyyzyyyxxxxxyzyyyzzzxyyyxyxxyzzxzzyzyyyyyyyyyyzyzzyyyxxyyxxyyyyzyzzzyxxyyyxxyyzxzzyzyxxxxyyyyxyzzyzzxyyyxxzxyyzyyyzzxyyxyxyxxzyyyzyzzyxxxxyxyyyzyzyzyyyyxyyyyyzzzyyyyyyyxyyyyzyxxzyzyyzyyxyy{yzyzzzyyxyyyyxzyzyyzzzyzyzyyxyyyzzzyzzzzzyyyxyyyz{yxz{zzyyzzzyyz{zzyzzzzzxyyxxyxzzzzz{yyzyyyzxzzzyzyzz{yyyxyyyyz{zz{{zzzzzzzyyyzzzzzz{{yyzzyzyzzzzyz{z{zyyyyzzz{{{zy|{{zy{zyyzy{z|{{zzz{zxzzyyyzzyzyz{zyzyyyyyyzzyy{zzzzzyxyyzzzz{yyy{zyyyyyyyyz{{zyy{yyyyyyyyyzz{zyxyzyyxyxxyxyy{zy{zzyyyxyyyyyyzzz{yzzxyyyxyyyzzyyzzyyyxyyxyyyyyzyyyzyyyxyxxyxyzyzyyyyzyyyyxwzzzzyyzyyyyxyyyyyyzzzzyzzyyxzyyyyzxzyzyzyyyxyyyyyyyzyyzzxyxyyzyyzyzyzzyyyyzxyyyxxxzzzzzzyyyxxyyyyzzyyzzzzzyyyyxyyyzyx{yzzyyyyxxxyyyyzyzzyyxzyxyyzzyzyzzzzyyyxzyyyyzzzy{{zyzyzyyyzzzzzy{yyyyyyyyzy{zzyyzzzyyyxyyxzzzyzzzzzzzzyyyzzzzzzzy{yzxyzyzyyzz{{zzzyyyzyzzy{zz{z{{zzyyzyyyy{zzzzzzzzyyyzzzyz{zyzzzzzyzyyzyzzy{zz{yzzzyyyyyyy|zzzz{{zyzyyzz{z{{z{y{{{zyzzyyzzzzyzzz{{zyzzyzyzzzz{zzzyxzyyyzzzzyzzz{zzzyyzyyyyy{z{yyyyzyxzyyyzzzyzyzyxyyzyxxyxzzzwyzzyxyxxxxyxzyyyyzzxxyxxxxyyyyyzyyzyyyyyxyy{zyyxyzzyxyxxxxxyyyxyyzzxyxxyyxwyyzyyzzyyxxyyxxxxyzxyyyzxyyxxyxyyxxzyyxyyxxyyyyxzxyyyyzyyxyyyyxxyyyyzzzzxyyyyxyxyzyzyyzyyyyxyxyxzyzzxx{yyyyyzyxxyyyxzzyzyzxyyzxxyyzzyyzyzzwyxyyyyzyyyy{zzxxxyyxzyy{zyzzzyyxyyyxyzyzzzxzyyyyyyxyyyzzyzzzyzxyyyyyzy{yyyz{yyzzzxyyyzzyxzzyyyyyzzyyyz{zyx{zzyxzyyxzxyzzzyz{{zxyyyyzyyzyzz{zzzyzzyyyy{{zzzy|zzxyyyyzzyyzyz{yzzyzyyyyy{zzzyzzz{yzzzz{zyzzz{{z{zyyzzzzyyz{y{yz{zzyzzyzyzyzzz{{{yzyyyyzzyyzzzzzzyzyyzyzyz{xyzyyyzyzyzwxxzzzzzyzzzyyyxzyxxyyzxwzyzxxyyyyyyyzzzyz{yyxyzyyyyy{yzyzzzxyzyyxyxz{zzyzyyyyxxyyxyy{yyzyyxyyyyyxxyyzyyxzyzyyyywwyyyzyyyyzyyxxyyxxzyyzxyyzyyyyxxxxzyyyyyzzxyxyxxwyzyzzzzzyyyyxxxyyyzyyyzzzyyyxzxyxxyyyzzzxzxxxxyyxyzxxyzzzyyyyyyxxzyzyyzzzzyyyzxxyyzzzzzyzyyzxyyzyzyzzyzz{xyyxxyyxyyzzzzzyzyzzzyyyyzzzzzzzyxyyyyxyyzzzxz{zyyyyxzyyzzz{z{zzyyzyy{yzy{{{zz{zyyzy{zzzy{zzyy{{zyyzyyyy{yzy{zzyzyzyzyzz{yzyzz{z{yzyyy{zyzzzzz{z{zzyzzzzyzz{{y{{zyzzzyzzzzyzzzzz{zzyzyyzzzyzzz{{zzyzzyzzzzyzzz{zzzyyyyzyzzzzy{zz{zyyyyyyyyzz{zyyzzyyxyzzzzzzyzyzyxzxyyxxyzyyzzyzyyyyyxxyyzzyzzz{zyyxyxxxyyzyz{zzyyyyyyyxzzzyzyzzzzyyyyyxzyzzzyzzxyyyyxyxyzyyz{zyzyxyyyzxzyzyyzyzyyxyzxwyyyyyzzyyyyyxyxyyxyzyyyzyyyxxxyyzyyzyzyyyyyyxyxyxyzyyzzzzyyyyyxyxyzyzyzyzyyxxyxyyyyzzyzyzyxyzyzyyyyzzzyzzyxyyzxyzyyzyz{y{yzyyyyzyzyzyyzy{xyyywxxxyzzyyzzyyyyyyyyzyyzzzyyzyyzyyyyyyzzzzzzz{yyzzyyyyyyzz{zzyyz{zyyyz{{z{{z{xzyy{zzxzzyzy{{zzyyyyzyzzzz{{zzz{yzyzyxyzzzzzz{{zzzzyzyyzzyz{z{z{zzzzz{yyz{{{zzzzyyzyzyy{zz{zzzzyzy{yzxzyzzz{zz{{{zyzzyzzzz{{zz{zzzzzzy{zyzzzz{z{yzyyyzyzzyzzzy{yyyyxyyyyzyzyzyzyyzxxyyyyyzyyyzyzzxyxxxyy{zzyyzyyxxyxyyyzyzzyyzzzyzyyxxyyyzzxyyzyyyxxyxxzyy{yzzzxxyyyyxyzzzyxyzyzyyzxxyyyzzyyzyyyyyzyzxyyyyzyzzzyxxyyyxxzyyyyzzxyxyyxyyyyyzyyzzyzxyyxyyyyzyyzzyzxxxxyxxxxyzyzzzzyyywxyyyyzzyyzzzyxyyyzywyzzyyz{yzyyyxyyxyyyyyzz{xyyxyyyyyyyzzyyzyxyyyyyxyzzyz{zyxyyzyxzyyyzzzzzyyxyyyywzyzzyy{{zyyxyyxyzzzzzy{zyyzzyzyyzyyzzy{zzyyzyyyyxy|yzzzzzzzyxzyzyyzzzzzzz{zzyyyzzzzzyzyz{zyyyzzzyy{zzzz{zzzzzzzyyz|z{z{zzzzzyzzyxzzz{{z{yzyzzzzzzzzzz{{y{zyzyzzyzzz{zz{zz{yzyyzzzzzzzzzzzzyyyyxxyz{zzzz{zyyzxyyyzzxzzyyzzyyywxyyxyyzzyyzyzyyyyyzxxyyzyyy{zyyxxxxxzyyy{zz{yyyzyyyyzyyyyzzyyyxyxyzxzyyyy{zzxyyxzyyxyzxyz{zyyzxyyyxyyz{yyyzzyzyyyyyyzyyyyyyzyyxyxwyyzzyyyzyxzyyywywyxyyxzyzzyzyywyyxyzzyxzyzyxyyxyyyzyzxzzzzyyyxyyyyyzyzzzyzyyzyyyyxy{zyyyzyyyzyxzywyyyyzz{zyzyyyyyyzxz{yzzzyyyyzyzyyzyyzzzzyyyyyxzzzzzzxz{yyxyyyxyzxzzzyz{yyyyzxzyyzzzzzzzz{xyxyzyyzzzzyz{zzy{yzyxyzzzzzzzzyyyzzzyxz{zz{zzz{yyyz{yz{{yzzzz{yyyxyyyzz{z{z{{zzyzzyzyzz{{z{yz{zzzzyzzzzzzzz{zz{yzyy{yzzzzyyz{zzyyyzyyzzzyzzzz|zzzzzyzzyzzzzzzzzyyzzyzyzzzzzy{zzyzy{xyyzyyyzzzyyyyxzyzyyyyyyyyyyzyxxyxxyyzy{{zzyyyyyyyxzyyyzyzyyyyyxxyyyzyyyxzyyyyyxxyyyzzyyyzzyxzxyyzxyyyyyyyzxyzxxyxzyyyzzxzyxyyyyxyyxyzxyyyzzyzywxyxyyyzzyyyyyxxxzxyyyyyzyyxzyyyyyyxzyyzyzzzyyyxzyxyyzzyyyyyyyzyyxyxyyyyyzzyyyyyxxyyxxzyyyyzzyyxxxyyyzzyzzzzyyyyyxyyxyyzzzzzyyyyxyzyzzyyz{z{yyyyzxyyzyyzyzyyyyyyzyyzzzzyyyzzzyyyyzyyyzzzyzzxzzzyzzyyzy{zz{zyyyzyyzyzzzyz{zzzyzyzxzyzz{zzz{{zyyyzzyyy{z{z{{{{yzyyyzyzz{zyzzyz{yzyyyzzz{zzzzzz{xzyyzyz{zzz{z{z{yzzyzzzyyzzzzz{{yyyzzzy{zzz{zz{yzzyyyzyzzyzz{zzyyyyxyzyyzzzzzzzyzyyyyyx{zzzyxzyxxxzyyyyyyyxyyyyxxyxyxyyzzzyzyzzzyyyxxyyyyzyyyyxyxxyxxyyzyyyyyzzyyyxxxxxyyzyyzzzyxyyxxwyyzyyyy{xyyyxxyxyyyyyxyzyyyyxyyxyzyxzz{yyyyzxxyxyyyyyzzyyyxyyxxyzyzyzzyzyyxxwyyyyxyyyzyzyyywyyxxyxyyxzyyzyyyxxxyxyyyyyzzyyyyyxyxyzzzyy{{yyyzyzyzyxyyzzzyyyyyyxyyzyzyyxy{{zxxyyxyyyzzyzy{yyyzxyxyyyzyzy{zyyx{zyyxyxyzzzzzzyyyzxyyzyzzyzzyzzyzyzyyyzzz{zzyzyxyyzzyzyzzz{zzzzyyyyyyyzzy{zz{yyyxyzxzyzzzyz{{zyyzzzzzyy{z{yzzy{yyyyyyyyzzzz{|{{zyyzyzzz{z{{{zzyyzzzyzzzyyyzzzzyzyyy{zzz{z{zz{zzzyyzyyyzzyzzz{zzzyyyy{yyzzzzzyzzyyxyyyxzzzyzzxyxxxyxxxyzzyyxxzyyyxxyxyxxyzyxyzzzzyyxxyxyyyyyyyzzxyxyyyxyzyyyyzzxyywwxxyyyyyyzyzyyyxyxyyyzzyyzyzzyyyyxxxzxzyyyyzyyxxyyxyxyyzxzzzyxyxxxyxyzyyyzzyyyyyxxxyzyxyzyyzyxyyxyyxzxxzzzzyxwxxyxxyxyzyyyzyyyyyyxwyyyyyyyyyyyyxzyyyyzyzyyzyyxyyzyyyyzzyyyzzzxyyyyyzzyzyzzy{yyyyxyxyzzzzzzzyyyyyxxyzyyyzyzyzyxzyyxyyyzzzxz{yzxxzyyxyzyyyzyzyzyyxyyyzyzzzzzzyzyyy{zzyzzzzzzyzyyyyxyyyz{{zz{zzzyyzyz{zz{zzzz{zzyyy{zyyyy{yyzzz{zyyyyyzz|zzzzz{zyyyyyzyzzzzzzzz{yyzyzyzyzzzzyzzzyzzyyzyzzzzyzzzyzyyzyyyzyy{{yy{yzyyyyxyz{zyzyyzzxyyywyxzzzyzxyzyyyxyyyxy{yxyxzzzyxwxxywyzyyyzzyzxxyyyxwzyxyyzyyxxyyyxyzyyyyyyyzyxyxxxyxyyzzzyzzyxxyxyyxyzyxyzyyzxyyyyxyyy{xz{yyyyzxxyxzxxyyyyxyxxxyyzyxyyyzyzyyyywxxzxxxyyyzzzyyyyyxyxxzzyzyzyyxzyyyyyyxzzyyyzyyyyyyyxyyyyzxzyyxyxxyyyxyzyzxzyzyyyyyxyzzyyzzzyyyxyyyyzyzzxzyz{zzyxyyzyyyzyyxy{{xyyyywzyy{zyyzzyyyyyzyyyzzyyzzyzyyyzxyyyzzzzyzyzzyzzzzxyyzz{{{zzyzyyyyyzzxyzzzzzzxyyyyyy{{zzzzzy{yxyyyyz{z{z{z{{xyzyzyyyyxyz{{{zz{yzyzyzy{zzzy{zzyyy{yyy{{z{{{{zzyyzyyyz{zzz{z{z{y{zzyxyyzyz{zzzyyzyyyzxyyz{zzz{zyzzyyzxxz{zzzyyyzzyyxyyzzzyyzyzyyyxyyxxyzyzyzzzyyxxxyxyzxyzzyzyyyyxyyxxyyzyyzzyyxyxzyyxyzzzyzyzyzxyyxxxxyzzyz{zyyyxxxywxyzyyzyxzyyyyyxxyyyyyzzyyxyyxyyxzxyyy{yyxyxyxxyyxyzyyyyzyyyxyyyyzyyyzzyzzyyyxxxxyzyzyzyyxyyyyxyxxzzyxyzyyyxyyyxyxzyyyzzyyyyxzyzxyzyxyyzyyyyyyyyyzyyzzyz{yyyxyxzzyyzzyz{yzyyyxyyzxzyyzzzzzxyyxxyxyyz{yzzyyzyyzzzxyzzzyyyzzxyzzyxyzzz{yzyzyzyyzyyyyzz{zzzyyyxyyyzyyzzzzzzzzxyyzyyyzzz{{yzzzzzyzzyzyzyzzy{zyyyyyyyzzzzyy{z{yyyyzyyyy{{zzzz{zyyzzyzz{{zz{{{zzyyzzyyzz{yzzzzzzxyzzyzz{zyz{z{zzzxzxxyyz{zy{z{yzyyyyyyyy{zzyy{zyyzzxyyxz{zyyxzxyxxyxxyyyyzzzyzzzyyxyyxxyyyzyyyzyyyxyxzyzzyyzyzzyyxwyyxxzyyzyyzyxzywyxyxzxyzyyy{yyyxyyxxzyxxzyzzzxyyxyyyyzzyyzyzyyyxxyyxyxyyzyyyxxyxxxyyyyyyyyzyxyyyxxyxzxyyyyyzzyyxxyyxzzzyxzzyxxxxyxyxxyyyyyzyzxyxyyxyxzyzyyyzyxyxyzxwyyyyzzzyyxyyyxyyyzyzzyyzyyzyzxzyzyzyzyzzxyyxyxxzy{zyyzz{zyzyyyyzyy{z{zyzzyyyyzyyzyzyzzzzyyyzyyzyzz{zzxzzzyzzyzyzzzzzz{zzzyyyyzzzzyzzz{{zyyyzyyyyzyzzz{{y{xyxzyzzzzzyy{zzzzzzyzzzzz{{zzzzzyzzzzy{z{z{zyz{yyyzzzxzzzzzz{y{zzyyyzyyz{zzy{{zyyyyyzyyyzzzz{{{zzzxzyzyzzzzyy{zzzyyyzyyzyzzyyyzzyzyyyyyyzyyzyyyyyxxxxxxxzyyzyyyyyxyxxyxyyyyzyzyxyyxyyxxyzyzzzzyyxyxxxywyzyyxzzyyyyxwyyyzyyzyyzzzyxyxyyxxxy{xyyzzxywyyyyyyzyyyyxyyyxyywxzxxyyyyywxyxyxyyyzyyyzyzxxxxyxwxxxzy{xzyyyzxxxyyyyzzyyzzyxyyxxxxxyyyyzyyxxxyyyxxyzyzzyyyyxyxyyyyyyyyyzzzyxyzxxxyyyyyyzzyyzyzyxyyz{zzyyyzzyyyyyyxyzzzzzzzxxyyyzzyzyyyzzzyyxzxwxyzyyyyzz{yyyzxxyxyzzyzyzzzyyyyyyyyyz{{zzz{yyyyyzzxzzzzyzz{yyyzzyyyz{zzyzzyzyzzzyzzz{yzzz{zzyyzzyyyzzyzzz{z{yzyxyzyyzz{y{{zyyzzyyyyzzzzz{yzzzzyyyyz{yyy{z{{zyyzyzyzzzzz{z{yzyyxyyyzyyzyzzyyzyyyzzyyz{zyzyzzyyxxyyyyzxyyyyyxyxyyxxxxxyyyyzyyyyyyzxxyxyzyyyzzyyywyxyyzxzyzzzyyyyxyyxyyyyyyxzzxyzxxyyyyyyyyzzzxxyxxwyyxyxyxzyzzxyxxxyyxyxyyyzzywxxyyxyyyzyyzyzyxxxwyxyyyzyzzyyyxxyxxxxyzzyxyzxyyzxyyxxyyyyzyzyyxyyyyyxyyyyyxzzyzyxywxxxzyyyzz{zyyyzyyxyzyyyzyyzzyyyyxzyyyyyyyzyxyyxxyyyyyzyyzzyyyxyyzyyyzyz{yzyyyyyyxyyzzyzyzyyyzyyyyyyzzzxzzzyyyyyxyzz{yyyyzyzyxyxyyyy{zzzzzzyyyzzyzyyyyyyz{zyyzzyyxz{z{zzzzyzyyyzyzyz{zz{{yzyyzyzzyzyzzzzz{zzzzzzzyyzzzzzzz{zyzzyyzzyyyzzz{zzyyyzzyzzy{zzz{zzzzyzyyz{zz{zz{zzzyxxzxzzzzyy{z{zyyzzyyyyzzyzyzzyzsyyyyzyyyyyyyxxyyyyxxxzzyyzzzzxyyyxxyx{zzyyyyzyyxyyyxxyyyzzzzzzzyxywxyyxyzzzyzzyyyxyyxxyzzyzxyyxyyxyyyzyyyzzzzyyzyyyyxyzzyyzyyyyzxxyyyyyzyzyzyyyxyyxyyyyzzzzzyyzxyyxxyyzzyyyyzyxyyyyyxzyzzyxzzzyyyxzxyyyyyyzyyyxxxzyyzyzyyyzzzyxyyyxyyyzyxzxzyyzyxyyxyzzyyzzzzzyzzyxyyyyyyzzz{yyyyyzyxzzzzzz{zyxyyyyyzz{zzzyzyyzyyzzyyyzzzzzyzzzxyyzxzzzzzzzyzzyyzyyyyyz{zz{zzyyyzzyzyzy{zyy{{yzyyyyyzz{zzyzzzzxzzzyzzzzz{{zz{zzzyzzzzyzzzz{zz{zyyyzzzz{zzzz{{zzzzzyyy{z{zz{{zzyyyzyyzzzz{zz{zzzzyz{yzzyzzz{{{zzzyzyyyzyzzz{zzzyyz{yyxyzzy{zzzyxyxyyyyyyzyyzyyzzyywzyyyzzyzyzzzyzxxxzxyyzyyzyzyyzxyzyyyzzzz{yzyzzyyxyxyzyzyyyzyyyyyyxyyyy{zz{zxxzyyyyyyyzzyzzyzyyyyyyyyyxyzyzyxyyyyyxyyzyyyzy{yxxxyxxyyyxyyy{zyyyyyxyyyxzyyzzzxyyxyxyxyyzxyyzzyxyxzxxwxyyyyyyzyyyyyyyxyzyyzzzyzxyyyyyxz{zyzyzzyzxyyyyzyzzzzyyzyyyxyxyyzzyyzzy{yyyzxxzz{zzyzyzzyzzyzyzyy{yyz{yzyyxyyyxzzzzyzzyzzyyyyyyxzzzzzzzzzzyzyzyzzzz{zzzzyyyzyyzyy{zzy{{zyzyyyzyy{zzz{zz{zyyzzyzzz{zzzz{{zy{yyzzyz{{zz|z{{yzzzzzzz|zzyz{|zyyzzyzz{{zzzyz{zzyzyyxzzyzz{y{{zyyzzyzz{zy{z{{zyyzyyyyzz{{zy{zzzzyzyzyyy{zzzzzzxzzyzxyyzzzzzyyyxxyyyxxxzyyzzy{{yyzyyxyxzzzyzzy{yyyyyyyxzzzxzyyyyyyzyyyxyzyzyyzzyyyxyyyyyyyzzyyzyyxxyyzxyzzzy{yyyxyxyxxxyzzyyzyyzyxyxyzyzyyzyzzyyxyyxxxyxyyyxzy{yxyxyxyyzyzyzzzyyxyywyxyzyzzyyzzyxxyxyyyxyyyyyzyzyyxyxyyzzxyyzzzzyyxzzyxxyzyyzzyyyxzyyyzyzyzyyyzzyzxyyyyzxzyzzz{yyyyyyyyyzzzzzzyyyxxzzyxyzzzz{yzyzzxxyzyzzz{z{zyyyyyyyyyyzzzzzyyyyyxzyyyyzz{{yzzyyzyzyyyzzyzz{{{zxyyyyzzyz{zzzzyyyyyzyzyyzz{zzz{yyzzzzyyzzzz{{z{{yyzyzzzz{zy{z{zzyzzyzyy{{zz{zzz{yzyyyyzzzz{zz{zzzzzzzy{zzzzzyzzyzyyyyzxyy{zzzzzzyyyyyyyzzzz{z{yzyzzyxyxyzyzyzyyyyyyyxzyyzzyyyzxyxxyyyxzyyzyyyzzyyyxyxxy{yzyyyzyyzyyyxyx{zyyyyyyyyzxyyxxyzyzyyxzxxxyxxxyyyyyxyzyxyyyzyxyyxzyyyyyyyyxyyyyyxyzzzzzyyyyyyyxyyzzyyzzyxyxxywyyyzzzyyzxxyyxzxwxyzyyyzzyxzyxxyyyyyzzzzyyyxxyzxyzzyyzzzzyxyzyyxxyyyzyyzzyyyxyyyxyxyzy{{zyyxyyxzyyzzzzyzzyyyxyyyyyzzyzyzzyxzyyyzzxyyyzzyzyxzyxxyyz{zyzy{yyyyzyyyzzzyyyzyzzyyyzzzzzzy{zzzzyzyzyyyyyzzzzzzzyyyzyyyyz{z{{{{zzyyyyzzzyzzz{zzyzzzyyzzz{zyzzz{{{zyzyzzyy{{{zzzzzzyzzzzzzzzzyzzz{yxyzyyyzyzzyzz{zyzzzzy{zzzzzy{zzyzy{{yzzyzzzzzzzyyyyzyyzzz{zyzyyyzyyyyxzyzzyzyxxyyyxxxyxyzyyyxyyyyyxxyyzyzzzyz{yyyxxyxyzyzyxy{yxyyyyzxzzzzyyyzyyzxyxwxxwyyyzyyzxyyyxyxxyzyyx{zzyyxzyyxxyyyxyyzyzyyzxyyxyyxyyzyxyyxxxxyyxyyyyyyyxxzyxxxyzyyy{yxyyyxyxxyyyyzyyyzzyxyyxxxyxxxywyyyyyyxzxxyyzzyzyyzyxyyyyxyyxyzzzyzzyzxyyxyyzyyzyzzyyzyyyyxyzyyzzzyyyyyzyyzyzyzyyzyzzzyyxyxyzzzyyyyzxzyyyxyzyyzyzzzyxyyyyyyzzyyzzzyyyyyxxyyyyy{zzyzzzzxzyyyzyyzz{{{y{zzzyxyz{zyzz{zzyyyyzyyzzzz{yz{zzyyyyyyz{zyzzyzyzyyyyzyyzyzzz{{z{zyyzyyz{zzyz{{{yzyzzy{zzzzz{{zyxy{zyxzxzyzzz{zyzzyyzzzz{yzy{{{zzyyyzxyyzyzz{yzyyyxyyzyyz{yzyxyxyxyxyywyyyyzzyyyyyyyxxxzyzyzzyyyyyyxyxxzyyxyy{zyyyyyyxyyyzyyzzyyyzyyyxxzyy{zzyyxyyyyyyyyyyyzzyyyyyyxyxyyxzyyyyyzyyyxyyyyxyyzzzxyxywxwzxyxzxyyyzyyzyyzxzyyzzyzzyyxyyyyxyxyyxxyzzzyyyyyxxxyyyxyyzyyyyyxxzxzyyzz{zyyyyyyxxyyyyzzyzxxxxyxyyzyzyyzz{yzyyyyzyzzzyyzyzyyzzyyxyzzyyyzzyzxzxyyyzyzzzzzzzyyyyxxxyyy{{xz{yyzxzyxyxyzzzyyzzyzyyyzyyxzyzy{z{zzzyzzyxzyzzzyzzzyzzzyzyy{zzzy{{{yyzzzzyzzyyzzz{zzxzy{yzz{zz{zz{{yzzyzzyyyz{zzzzyyyyyzzzzz{zzzzzzzxzzyyyzyzzzzzzzzyzzzyzzz{zzzz{yzyxyxyzzzzzzyzzzyyyyyzxyzyzz{zzxzyyyyyzyzzyzzyyxyyyyxxyzyyyyyzzxyxyyxxzyzyyzzzzyyyxxyyxyyyzzzzyyyxyzyxxyzxzyzyyyyyxxxxyzzyxyzzzyxyxyzywyyxyxyyxzxzxyxxxyxyzyzyyyxxwyxyyxyyyxyzyyxyyzxyyyyzxyzyyyyxyyxxyyyzyyzzyyzyyxyxxyzzyyzzzyyxyyyyxyywyyxyzyyyyyyyxyyzyyyyzxxyyyyyyyzzyyyzzzyyyyyyyzyzxyzzyyyyxyyzyzy{yyzyzxzyyxxyzyzzyz{{zzyzyyzyzyzzz{zyyzzyxyyxzyyzzy{yzzyyyyyyyz{zzzzzyyzyyyyyzzy{zz{z{zyyzyy{yyzzz{z{{yyyyzzyyzzzzzzzzzyyyzzzyz{{zzzzzzzzyyzyyyzyz{{{zzzyyxyyzxzzz{{{{yyzzzzzzzzzyzz{{zzzzyzzyzzzzz{zzzyyzzyyzz{zzzzz{zzzyyzyyyzzzyzzzyzxyyyyz{zyzz{{yyxyzyxzyzz{yyyyxwxwyzwyyyyzyxyyyyyxyywyxzzzyyyzzyyyxyxxxzzyyzzzyzxyyyyxyzyyyyyyzzxyxyyyxyzyzy{zzyyyxyyxxyzxyyzzyyxyyyyyxyxzyyyyyyyxxyyyxzxyyyyzyxxxyyxzxyyzyyzzyyyyxyxxyyzzyyzyzzyyyxxyxyxxyzyzyzyzyyyxyyzzyxyyyyyyxyxywyzyyyzyyyyyyzyxyyyyzzz{zyyyxyxyyzyyzyyzyxyyxyxxyyzzzyyyzxyyyyyyyz{zyyz{zyyyyzyyyzzzzz{zyyyyyyyyyyzyzzy{zyyyzyyyxyyzyyzzzyzyyyyzzzzy{{yzzyyyzzxyyyzz{zz{zzyzzyzzzz{{z{yz{zyzyyzzzzzzzzz{zyzzyxzzzzz{z{z{{zyyyyzzyz{zzz{{{zyzzzyyzz{zzzzzzzzzyzyyzyzzzzzz|{zzzyyyyz{yzzzz|zyyyyyyzy{{yyzz{yyzyyyzzzzz{zzy{yyxxyyyxzzzyzzyyxzxxwxzwyzyxyyyyyxxyxyyxzyzyyyzyyyyxyyxxyxyyyyzyyxyxyyxyyyy{zyyzyyyxxyyxyyyyyyyyyxyyxxxyxxyxyyyyyyxxyyxxyzyxyyyyyyxyxyxxyyxzyyx{xyyxxxyxyxyyzyyyxyzxxxxxyyzxzyyyyyyyzxxyyyyyyzy{zyzxxyxyyxxxyyyyyyxxzyxxyyzzyzyyzxyzyxyxyyyyyyzzyyyyyxzyyzzyzyzzyxyzyxyyyyzzzyzzyyxyyyxyzzyyyyz{yxxxzxyxyyyzzxzyxyyyyzyyyzzzzz{zzzxzyyxyzzyxzzyyyzyyzyxyzyyzzzzzyyzxyzzyzzyzz{{{{yxyxyxyyyz{zzz{zzyyyyyyzyzyzzy{yyyyyzzzzzzzzz{zzyzxyzzxyzzz{zz{yyzzzyyzzzy{zzzz{xyyzzxzzzy{zzyzyyzzzyzzzyzy{zz{zy{yyyzyzzz{zz{zyyzzyyyyzzzzyzzxyzyxyxyxzyyyyzyyyxwxyyxxyyyyzyyzyxxyyxzyzxyyzzzzzyywyxxyyzyzzyzyzyxyyyxyyyzyxxyzzyyxyxxxyyzyzzyzyxzyxyxxyyyxxyyzzyzyyyyxyxyxzzyzzyxyxyyxyxxyxyyyxxxxxxyyyyyyyyzyyxyyxyxxyyyxyyzyzzyxxxxxxyyyxyzyzxxyyxzxyyyzzzzzxxxxyyxxxyywyyzyyxxxzyxyyyzyyyzzyyzyxxyyyyyyzyyzzxyxxxzyzzxzyzzzyyyyyxyxzzzzyzzzyyyxyyyyyyzyyyyzyyyzyyyyz{{zyzzzxyyxyxyyzzzzzzyyyyzyy{zyzxzzzzyyzz{yzyzyzzyzzzyzyyxzxxyxzzzyzzzzyzzyyyzyzz{zz{zzzy{zyz{zy{{zyzz{zyzzyzzz{{zzz{{zzzyzxyyzzzyyyz{{yzzyy{zzzzzyzzzzzzyyzzyzzz{zzzyyyyyyyyyyz{z{zzzzzyzyyyxyy{z{zzzzzzyyyyxyzyzyyyyzyxxyyyyxyyzyyz{zyyyxxxyyyzzyzzy{yyxxxzyyzyzyzyzyzyzzyxxxyyzyyxyzyyyyyxyxyyxzzzyzyyzyyyyxyyyyyyyyzyyyyxxxyyyyxyyzxyyyxyyyyxyyyyyyxxxyyyyxyyyyxyyyxyyzxyxxxyyyzzzyzyyyxyywxyzyyyzyyxyyyyyxzyyyyyy{yyyxxyxxxzyxyy{zyxyzyxyyyyzyzzyzyzxyzxyyyyyzzyzzyyyyzxyyzyzyyz{{yxxyyyyyyy{zzz{zyzyyyxzyyyzzyyzyyxyyzyyyy{zzyyzzyyzyyzyyy{zzzz{zzyyxyyyyzyzzzzzzyzxzyyyyzzzzzzzzyyzzzyzyy{yyz{|zzyyyzyzyzzyz{{z{zyyyzyzzyzzz{z{{{z{zyzzzz{{zzz{zzyzzzyzy{zzz{zzzzzzyzyyzzyy{z{{z{zyzzzzzzzzzz{z{yxyyyyzyzzzyzzy{yzyyxyzzzzzzzyzzxzzyyxyxzzzzzzzyyyxyyxxyy{zxzyzzyxyyyxyyyzyzzzyz{yzxyyyyyzyyzzyzzxyxyyyxzzyzyzzyyxyyyxyxzyyzzyzzyyyyyyxxzyyyyyyyyzyyxxxxzyzyyzzzyyyxyzxxzxxyyzyyyxxyyyxyyzyyzyzzyxyyyyyyyyzzyyzzyyyyyyyyy{zzzyzzyxyxxyyyyyyyyyyyyyzxyxyzyyyyzz{zyxyyyzyyzzyzzzzzzyzyyyzyyz{z{yzzzyzyyyyxyzzzz{zzyyyyxyyyzyyyzzzzyyzyyyzzyzzzzzyzyyyxzyyxyzzzyzzyzxyyzzyyyzzzzyz{zzyyyyzzzzzzzzzzy{yyzzzzzzy{yz{zzyzzzzzzz{zzzzz{zyyyyyyyzz{z{z{zzzzzzz{{z{zz|zzzzyyzyzzzz{{{zzzyzy{zyyzyzzzzz|zzzyxzzzyy{{{zzzz{zyzyzyyz{z{zz{z{yzzyyyyyzzzzy{z{zzyyzyyyz{zzzyzzyzyxxxyyzzzzyzzyxyxxyyxyyz{yyyyyyyyyyyxxyyzzyzzyyxyyyyyyyyzzyzzyyyxyxxyyxyzyzyyzyxzyxyyxyzyyyzzyxyyxyyyyyyyyyyzzyzyyxyxxyyzzxzyyzyzyyxxzyzxzzyyyyzyyyyxyxzyyzyzyyyxwyzxyyyzzzyzzyzyyyxxyyyzyy{yzyyyyxyxyyyyyxyyyyyyxyxyxyyyyyzzzzyyyyyyxzyzyzyyzyyyxyxyyyzzyyzzzyyzyxxzyxzyyyzzyxy{yxyxzxyyzz{z{zzyzxxyyzzzzyzzzyyyyzyyyzy{yzzzyzyyyyyxyzyy{zyzzzzyyzzyyxzzyzyyzzyyyyyyzzzzzzyzzyyyxzyyzzzz{zz{zzzyzzyyyz{{zz{{zzyzzzyzz{{yzzz{zzyyzz{yyy{{zy{zz{yyyyyzyz{zzyz{|zyyyyyyzzzzzzyz{{zzyzzyz{zzzz{zyyyzyzyyyzzzzzzzzzyzyzzyyzyzzzy{zzyzyyyyxzx{yzzyzxyyxxyyxyzzyyyyyyyyyyxxyzyyyyzzyyyyxyxxwxyyyyyyzyxyxxywyyzzyyyyyxyyxyxxxxyzyyyyyzyxyxxyyyzyxxyzzxyxxxxyyxzyxyyyyyxyxyxyxyyyzxzyyxyxyxyxywyyyzzyyzxyywyxyyzzxyyyzxxyyxxyxxyyzyyzzxzxxyyyxxyyyxyyyyxxxyyxyxyyyxyzzyyxyyyxyyyzyyyzzyxwxzxzxzyzyzyzzyxyyxxyxzzyzyyzzyyyyyyyzzzyyyyzzyyyyyyzzzyzyyzyyyyyzxyyzzzzyyyzzyzyyyyxyzzzzzzyzyyyyzyyyzyz{z{zzyyyyyyyzzzyyy{{zyyyzyyzyyzzzzz{zzxzyyyxxz{zzzz{{yzyzz{zzzzyzzzzzzyyzzzzyz{yzzzzzyyzyyzyzzzzzyzzz{yyyzyxyxzzz{zzyzzyzyyyyzzzzzy{zyxyyyyyzzyyyzzzzzzyyzyyyxzyzzzzzzyyyxyyyz{zyzzzzyyxyyyyxxzyyzxzzyyxyxyyxxyyyy{{y{yyxxxyzyyxyzzyzyyyyywzxyyzyyyzzyyxyyyxyzxyyyzyyxyyzyyxxyyyzyzzyyxyyyyxxzyyyyzyyyyyyxxywzyyyyyyyyxxxxyxyxzyzzyzyxyyxxyxyxyyyyyzzyxyxxyxxyyzxyyzyyyyyyyyxxyyyyyyyyxyxxxxxxzyxyzyzyxxyyyyyyyzyzzyzyxxyyyzzzyyyxyyyyyyyxxyyzyyzz{yyyxyyxyyyyyzyzzzzzyxxyyyyzzyy{yzzzxyyyxyxzzyyzz{zyyzyyyyyzzyyy{zzzyzyzzyyzzzzzzzyzyyyzyzxyzyzy{z{yyyyyyyyzzyz{yzz{yyyzzyx{zzzzzzyyxzzyzy{zzzzz{zyzzyyzzxyy|{zz{{zyxzyyyzzyz{z{z{{zxzyzyyyyzzzzyz{zzyyyyzy{z{z{zzzzyyyyyzyz{zzz{zz{yyyzyyyzzzzyzzyyyzyzxyyyy{zzzyyzxxyxxxxxzyyzzzyyyxyxxyyyyxyyyyzzyxwyzyxzyzzyzzyxyyxxyxxyyzzyyzzyyzyxyyyxxzyyxzzxzyxyyxxxzxxxyyyxyyyyxxxyyyyyzyyyyyyxyyxyzzzyy{ywyyxyyyxxxyzyy{yyyyxyywxyyxzyzyyyxyyxyxyxyyyyyyzyyyyxyxxyyyyyyxzyxxxyyyxyxxyyzzyxxxyzzxxyyyyyyzzyyxxyxyxzzzyyyxzzyzyxyxyz{zyyzz{xzyyyyxzxzzzyyyzzyxyzyyyyyyzyzyzyxyyyyyx{zyzz{zzyyyyyyyyzyzxzzzzyyyyzxyyzzzyzz{zzyyyyyzyzzy{zzz|zyyyzyyyzzzzyz{yzxyxyyxyz{zzz{zzzyyyxzzzzz{{zzzz{zzyzzyzz{zzzz{{zyzyzxzy{zzzzz{yyzzyzyyyyzyyzzzzyzzyyyyyyxzz{zz{zyyxyxxyyzzzzy{zzyyyxyyx{yyzyyzzzyzyyxyxzyyzyzzyyyxxyxyxyzyyyyyzyzzxxxyxxzxyzzyyyyxxxyxxyyzyzzzyyyyyxyyxzyyyyyyyyyyxyxywzyzyxzyyxyxyyxyyxzyxyyyyyxyyxxyyxzyyyyzyyyxxyyyyyxyyyyyyxyxxyyyyyyyyyxyxyyywxyyyyzzyzzzyxyxyxyxwyzyyxyyyyxxxxxxxxyyyyzxyyyyyyxyxxzyxyzzyywzxxyxyyzyyyzzzyxxyyyyzyyzyzzyyyyyyyyyyzzzzxzzzyyyyxxyxyyzyyzyzxxyyyxyxyyyzzy{yyyzyyyyyyyzzzzzyyyxyzxxxyzyyzzyyyyyyzzzxxzzzyxy{yyyxyyyxz{zzzzzzzzzzyyyyyzzy{zzzzyzyxyyzzzz{z{zzzxzyyyyyzzy{zzzzzzyyzzyyyzz{zzz{zxyzxxyzz{yzzzzyyzzyyzyyzyzzzzy{{yyyzzyyyzyzy{z{yzyyxyzyyzyzyzzyzyyyyyyzyzyzyyzzyxzxzxxxzzzzzzyyxyxxyxyyyyzyyxyzyyxzxyyyyzzyyyzzyxyyyzyxyyyyyzzyyxyyxwxyyyzxyyyzyxyxxwyxyyyyyyyyyyzzxyxxxzyyyxxyyyyyxxxyzzyyxyyyyxyxxxyyxxyyyzzzxyxxyxxxyxyxyyzyyyyyxxxwyyzyzzyyyyzxwxxxyzyyyzzxyyxwyxyxxyyyyxx{yyxxxyyxyyyyyzzywxyyyyxxyyxzyyyxyyyzxyyxyyyyxyyyxyxyyyxxzzyxyyzxyyxxxzxyyyyzzyz{yxyzzxyxxzxyzyyzyxzzxxxyyzzyxy{yzyxyxyyyz{zyyyyzyyyyyyyzzyyyzzzzxyyzxzyzyyz{{zz{yzyzzzzyyzyzzzzyzxyyyyyzzzzz{z{zzzzyzyyyyzzyy{zzzyxzyzyyz{{zzzzzzy{yyyzxzzzzzzzzyyxyy{zyyzzzzzzzzyyzzzyz{zzzz{y{zyyyyzyyyyz{zzzzyzyyyyyyyzyzyxz{xxyzyxyyyyzy{zyyyxyyyxxxxyyyyxzyzyyxxyxxyzzzzyzzyyxxxyyyyzyzzzzzyzyyxyxxyzzyyyzyzxxyyxyyyyzyxyy{xxxzyyyxyyxyyyzzyyyyyxxxyyzyxyyzzzyxxyxyxyyyzzyzyxyyzyxxxyzzxyyzyyyyxyxyxyyyzzzyzyyxxxyyzyzyyzzyyyyyxyxxzyzyyyyzzyyyzyxxzyyyyzzywxyyxyyyxyzyyyzyzyxyzyyyyz{yzyzzzyyyxxyyyyyyzzzzyyyyxyzzyyyyzyzyzyzzyyzyzyzyzzyyyyyyyyyyzyyzzzzyyyzyyyzyzyzzyzz{zyyxyyzyzy{{zzzzyzzzzyzyyzz{yzz{yzzyyyxzzz{zz{zzzyzzyx{y{zzzzz{{zz{yz{zz{zzzz{{y{yzzyzyxz{{zzz{yyyzzzzzz{z{zz{zzzzyzyyzzzzzzz{z{yzyzyxzz{zy{zz{zyyzyzzzyz{zzzzz{yzyyyyzzzzyyzyyzyxyxxyyzyzzzzzyyyxyyyxxxxzyxxyzyyzxxxyzyyzz{xzzzyyxxzyxyzyyxyyyyyxzxyxyyyzyyyyyyxyyxxyxxyxzyyzyzxyyyyyxxyzywyyzyxxyxxxyyxyzyyyyyyyxxxyyyxyyyxyyyywyxxxyxyzxyzyyyyyyyyxyyyzzyyzzzxxyyxyxxxyzzyzzyyxyxyxxxyyyxyzzyyxxyxyyxxzyyyyzzzyzzyzyxzzyxzyzyyxyyxxyyzzzyyyzzyyyyyxyyyzzzyzzzyzzzzyyyyyzzy{{zyxyzyyzxyzzyyzyzzyyxyxyyzyyzzz{zzxyyyxxyyzzyzzzz{yyzyyxzzyzzz{{{yzzyxyyyzzyzz{{zy{yzzyyyzzzyzzzyyyyz{y{xzzyz{zz{zyzyyyz{zz{zz{yzz{zzz{yyy{{{zz{{zzyzzyzxzzzzzzzz{xyzzyzyzzyz{{{{{zyyzzxyz{zz{zz|zzzyzyz{yyzzyy{{{zyzyyyyzzz{yy{{yyzxyzyyyzzzzyyyyyyxyxyxyyyyyyyyyxxxxxxxzyyxyyzyyxxxyxxxzzxzzyzyxxyyyyxxyzyzyyzzyxyxxyxxyyzzyzyyzxzyxxyxyxxxxzzxyxyzxxxyyz{yyyyyxyyxxyyyzzyyyyzyyxyxxyyyyyyzyz{yyyxyxyyyyzyyyyyyyxyxxzyyyzyzyyzyzyywxxyyxyyyyyxyxxzyxyxxyyxyyyyyxyzzyzzxyzyyzxzyyyyyyyzxzzzzzzzzxyyyxyzyyzzyyzzzxyyzyxyyyxyzyzzyyyzyyxyyyzzzyzzyxzyyyyxyyzzzyzzzyyyyyyxyz{zyyyyyzzyyyyyzzz{{{zzzyyyzyyzzzyzzzyzzxxyzyyyzyz|zzyyzzyyyzxyy{zzz{zz{zzzyzzzzyyyzz{zz{yzyyzyzyzz{{{|{{zzyzzzyyzzzzzyzyyyzyyyzyz{y{z{{zzyzyzyyyzzzz{z|zyzyxzyzzzzzzzz{zyyyxyyxzyzzzy{yyyzyyyyyyyyzzyyzyyzxyyyyyyxyzyyzyyyyyxxxwzzzyyzzyxxxyyyxyyzyzzzyyxzyyyzyyzzyxyzyyyxxyxyxyyyzyzyyyxyyxyxyyxyyyyzyzyyxyzyyyyyyxzyxyzyyyyyyyyzzyzyyyxyzxwyxzyyxxzzzyyxxyyxyxxyzyzyyyxyyyxwyyyzyxzyyzxyyyxywxyyxyzyyyyyyyyyxyyyzy{yzyxyyzyyxyzyyyz{zyyyyzxyyxzzyzzy{yyyyywyxyzzyyzzzzyyxxyzyzzzyyy{zyzzyyxyy{zzyz{zyyyyyzyyxz{zzy{zzzyyzyzxyz{yzzzzyzyzxxzyyzzzzzzzzyzzzzy{yzzyyzz{zyyxzzzzy{zz{zz{yzxyxyzzzzzzyzzzz{zzzyzz{{zz{z{z{zyzzxzyz{{y{z{z{zzzzyyzxzz{zzz|zyzyyyxyz{{zz{z{zzzyyzzyyzzz{zzz{zzzzzzyzzzzzzzzzyxzzzyzzzzzzzzzzzyzyyyzzyzzzzzyyyyyyyyxxyyyyzyzyyxxyxxxyzyxyyy{zyyyxxyzxyyxyzyyyyxyyyxxxzzyyxzyzyxyxyyyyxz{zyyzzyyyzxxzxyzzzyzyzxyyxxyxxyzyyyzyyyyyxwywyyyyzxyzyxyyyxyyyyyzyzzzyxyyyxxyyxzzyyzzxyyzxxxxwyxyyyzzyyyxxyxzyyyyyyzyzyyyxyxyyyzyxyyzyyxzxyyxyyyzyyyzyzyyxxyzxyzzyyyzyyyzyyyyyyzzyyzyyyyxxxxyyzz{yzzzyxyy{yzxyyzyzzyyyzxyyyyxzzyzyzzzyzyyyyyyzzz{yyzzzyyxyyxyyxzzzzyzyzyzy{yyyzyyy{z{{{yzxyzxx{zzzyzzzyyzxyyyy{{zzz|zzyzyyyzzyzz{zzzzzyzyyz{zyzzzz{yz{zxyyyyzzzzzzz{{zzzzzzyyzzzzz{zz{{yyzyzzyzzy{{zz{yzyzyyyyzzyzzzzzzzzyyzyyyzzzyzzzyyzyyyyyzyzzzzyyxyxxxyxyxzyyzxzyxxxxyxxyyyyyyzyzzywxyxyyyyyyyyzzyxyyywxxxyyyxyzyxxxyxxyxyyxzxzyzxyyyxxywxzxyyyzyzyyxxyyyxyyyxyzyyxyyyxxyxzyxxyyyxyxxxxxyxyyxxyyxzxxxyyxyxzyyyyyyyxxyxyyxxyzxzyyxywxxzxyxyzyxxxyyxyxxxyxyxyzzyzzyyxxyzxyxyxxyyyzzyxyxyyxxxzzyxzxzyyyyzywyyzyyxzyzxxyxyxxxyyzyzzzzyxzyywyxxzyzyzyzyyyyxyxxxyyyyzyzzxxxxyyxyzyyzzzyyyyyxzzxxyzzzzyzyyzyyyyyyzyzyyzzyyyyyyyxy{yyzzzy{yyzzyzyyzzzzzzyyzzyzzyyzzzyzyz{zyyyzzxzz{{zzyzzyyzzzzyy{zz{zyzzyyyyzyzyxyzyz{zzzzxzzxzyzzzy{xy{yyyxyxxyyzyzzzzyzyxyyyyxy{zzzzzyyyzyzyyxyzzyyyxxzxyxyyyxyzxyzyyyyyxxxyxxyyyyzyzywyxyxyyxyxxyzyzzzxxxyxxyyzzzxyzzxxxywxxxyyyyyyyyxyyxyxyxzyyyyyzyzxyxyxxxxzzyyyxyyyyxxxxyyzyyxzyxyyxxyxxyyzyxyyzxywxyyyxzxxzyyzzzxyyyxyyxyyzyyyzyyxyxyxxwxyxxyyyyyxywxzxyxyyyyzyzyyxyyxxxzxyzyyzzyyyyyyyxyyyyzyyzyyzyzyyyzyyyyzzzyxxxyyyyyzyxyzzzzyzxyxyyyzyzy{yyyyyyyyyxyyzzyyzyyyxzzyxyzyyyyzyyyzxxyyyz{zzzzz{yyzyyyy{yy{yz{yzzzzyxyyyyy{z{zzzzyyzxyyy{zz{zzzzzzzyzxyyyzzyzyzzzzzzyyyyyzzyzzyzzzyyyyyyxyzyzz{zzzyzyzzzzzyyzyzz{zyyyyyzzzzyz{yzzyyyxyyxxyzyyyz{{yyyyyyzxzzzzzzzzyyzxyxzyyzzzyyxyzxyyxxyxyzyywyyyyyxyyyyyxyyzyzyzyyyxxyxxyyxzxzzzxyxxxyyzyyzyxyyxyyyxxyxxzyzyyzyzxxyxxyxxyyxyyyzzyxxxyyyxyyzxyyzywxywxyyxyyyyxyyyxxxxyxxxyxzyxyzyyyyyyxywxyyyx{zyyyzyxxxxxzzzxyyyyxxxyxywyyxyxzzyxyxxyxyxzxyzyzyyyyyxxzyyyyyzyzzyyzyyywyxyyzzyzzzzzyyyyxzyyxyzyzyyyyxwyyyyyzyxyzxyyzxyyyxxyyzzyzyyzyyyyzyyzzyyyzzyxyzzxyyzzyzyzyzyxyyyyyxyyyzzzzyyxyyyzyzyzyz{{zzzyyyyyyyzz{{yz{z{yyyyxyyz{yyyzzyyzzyxzyz{zyyzzz{{zyyyyyyyzzzyzz{yyxzyyzy{zzzzzzzzyyyyzyyyzzzyz{z{yyzzzyzzzz{y{zzyyxyxyyyzzyyy{zzyzzzyyxxyzzzzyzyyyyyxyyyzzzyzyyyyyxxyxxyyyzzywzzyyyxyxyxyzxyyxzzxyxxxxxxxyyyyyyyyxyxxyywyyzzyyzzyyxxxyywyxyxzyyyxxyxxwyxyxyxzyzyyyyxxyxyyyyyyyyzyyzxxxxyyzxzyyxyxxxxxxxxyyyyyyyyxyyyxxxxyyzxyzzxywxxxxxyyyyyxzyyyxywxxyxxyxyyyyxxyyyxxxxxyzyyyxyxxxyyxyyyzyyyyzzxyyxxwxyyyzyxyzzyxyxxyyyyyyzzz{zyyxyxyyxzzzyzyzyyxxyxxzyz{yzyzyyzxxxyyyxyzzyyzzyzxxyzwyyzzyyyyzzyyzzyyyyyzzzyyzyyyyxxyzzyyzzyzz{zyyzzyyyzzzyzy{zyxxxyyyyzzzzzz{zzyyyzyyzyzzzzzz{{yyyzzzyz{{zz{z{yyyyzyyy{zyzzzzzzzyzzzyzyzzzzyzyzyzyyyyy{yyz{zzzyyyyxyxzyzyzzyzzzzyyzyxyzzzyxy{yzxyyyxzyyyyyzxxyxyyyzyyyxyzyyxyyyxxxyyxxyzyyyzyzywxxyzyyxxyyzz{zyyxxxyxzyxxyyxyyyyxxwxywyyyzzyyyxyxyxxyyyxyyyyzzyyywyxyxyyyxxyxyyyyxyyyyxxyxxyyzyxxyxxyxyzyyyyzzyywxyywxy{yyzyzyyxyxxyxxzyyzyyzzzyyxzxxyyzyxyyyzxyyxxwxyxzyxyy{zxxyyxxyxyyyyzzzzyxzxyyyyyzyyzzyzyyzyxyyxyyyzzzzyyyyyyyyyzzzzzyyyyyyyxyyxyzxyz{yzzxyyyyyxyzzyyyyzzyxzxyxyyz{zyyzyzyxyzzyzzyzzyzzzxyzxyyyzzxzyzzzzyyyy{yyyyzzzz{yzyyzyyyzyzzzzzzzzzxyyyy{zzyyyzz{zzyzzxzzyy|{zyz{zzzzzzyyyyzzzz{yzzxyyyyyyyz{z{y{zyyyyzyyyzxzzzy{zzxyyyyyz{zyzyz{yyyzyyyyxyyzzzzyyyyyxyxxzzyzyyzyyxyxxxyzxxyyyzzzyzxyyxywyyyyyyzyzyyxyyyxyyyyyyzzyyyyzyyxxyyzzzyyyyxyyyyyxyzyxxzzzyyxxyyywyyyyyzzxyyzxxwxxzyyyxzyyyxxxxyxxxxxyyzzzyxyyyxyxyzxyyy{yyyywwyyyzyxxyyzyyyyxxyyyyyy{yzzzyxyyyxxyxzzyyzyzyzyyyxxxxyyzyzyyyyyyyxxyz{yyzzyyzyyxzwxxyzyyyzzyyyyyyyyyzzyzyyzzxyyyxxyyyyzyzzyyzyxyyyxyyzyxzzzyzyzxyxyyxyzyyy{yyyyyyyxyyz{yyyzyyyzyyzyyzzyzzyzyyyzxyzyxyyzzzzz{yzyzyyzzy{zzzy{zzyyyxyyxzzzyzzzzzyxzzyzzyzzzz{zzzyzyzyyyz{{zz{z{zyzzyzzzzzzzzzzzzyyzyyyzyzzyzzz{zyzzyzzyzzzzzy{zyyyzyzyyy{yzyzzzzyyyyyyxzyyzzyyyyyxyyyyyzzz{yyyzxyyxxyxxyyzzyyyzyyyxyxyxxyxyyzyzzyywxxyxzyyxyzzyzyyyxyyxyyzxxy{zyyxyxxywxxyzyzyzyxxxyyxxyxyyzzyyzyyxyyxxyzzxxzzyyxxxxxyyzxxyyyyyyxxyyxyyyyyxyzxzyxxywyxxyyyxyyyyyyyxwxxxyyyxyy{zyxyxyyyyzyyyzyyzzyxxxxyzxyyyyzyyyyyxxzxxxyzzyyzzyxyxyxxxyzzyyyyzyzzxxxxyyxxzyyyyyxwxyxxy{zzxzzzyyxyxywyxzyyzyyzzzxyyyyyyzyyzyzzyyyyzxyzxzzzz{zzzyyyyyyyyzzyzyzzzzyyyyyzxz{zz{zz{yyyzyyyxyyyyzyzzyyzyyzyyzzzzyyzzxxyzyzyxy{yz{zzzzyyxxzyzy{zzzzzzyyzzyyyzzyyyyzzzyzzyzyyyzzzyzzzzzzyyyzzyzyyzzzzzzyyyzxxxyyzyy{zyyyxyyyyxzzzyzzzyyyyyyxyzzzzyzyzyyyyxyxxyzzzyzzyyyyxyyxwyyyzyyyzyyyyyxxxyyyxyyyyzzxyyxxxyxyzyyzzyyxyxyyyxyyyyxxzyyyyxyxxxxyzyyzz{yyzxyyxyxyzyyyyyyyxyxxwxyyxzyyyxyyyxxyxyyyxxxyyxxyxxxxyyxzyyyzyyxyxyyxxyyyzzzyyzxxxyyxywyzyyyzyyyyxwxxyyxyyyyzy{xyzxxyyyxyzyyyzy{yyyyyxzyxzyyzzzyyyyyyyzyyyyyzzyyxxyyxyzyyyyyzzyyyxyxxyyyzzzzzzzzyyyyxyyyyyzyzyzyyxyyyzzyzyyyyzzxyyxzyyyzyz{zzyzxxyyyzyyy{yzyzzzzyyxyyxxyzzz{zzzzyyyyyyxy{{yzzzzzzyyyyzyzzzy{zzzzyxzzzyzyzzzyzz{yxyzz{yzzzzzyyzzyyyzzyzzzzz{zz{{zzyxzyyy{zyzz{zzzyyxyzyyyzy{y{{yyyyzzzyxzyyzzzzyyyzxyyxyy{{yzzzzxxxyxxyyzyzxxyzzyyxzzyxyyzyzyxyzyywxyyyyzyzyyyyyyyyyyyyxyyzyzyyzyyyyxxyxyyyyyzzzxyxxyyyxxyzyy{yyyyyxyxyyxxyyyxyzyxyxxxyxyxyyxyyzxxxxyxxxxyyxyxyxyyxyxxyyxxzyyzzyzxxywxxyxyyyzzyzxyyyxyxxyyywzyyyyxzyyyyxyzxyyyzyxxyyyyyxzyzzzzzzzyxxyxyzzyyyzyzzyyyyxxyzyzzzyyyzzyyyxyxzzzzz{{yzzzyzzyyxyyzyyzzyzxzyyyyxy{zzxy{yyyyyxxyyzyyzyyyzyyzxyzxyyy{zzzzzyyzyyzzxyyyzzzzzzyyzzyzyyzzzyzyz{yyyzyzyz{z{zzz{zyyyyyzz{zzzyz{{yyzzzzzzxzzzzzzyzyzzyyyy{yzyzz{zzzyyyzyzzzzzzyz{{xyyzyyyzyzzy{z{yzyyyyzyyzzz{z{zzzyyyyxxyzyyzy{zxyzwyxyyzy{yyyzyyyxyxyyxzyzyyyyzzyyxywyyxzyzyyzzxyxxwxyyyyyzyyzyyxyyyxyxxzyzyyyyyxxxyxyxzyzyyyyzyxyxwyxyxzxyyzyyyxxyxyxyyzzyyxyyxxxwxyxxyywyyyy{xyxxyxxxyyyyyyzzyyxxzyxxxyyyzzyxxyyxxxywyyxzyyzyyxxxyxyyxyyyxxyzxyxxyxyxyyyyyyzyzxxyyxxxyxzzyzyyyxyzyyzyyyzzyyyzzyyyyxyyyyzyyyy{yyyyyyyxyzzyyxzzyyxyyxyyyzyyxzzyzyyxxxxyyyyzzyzyyyzzyywzyyyyyzzzzyxzyyyyyyzzzzz{yzyyyyzz{{zzz{zzxyzyyxyyzzzzyz{zzyyyyyyyzzyyyzzzyyzyyzzyyyyzzzzzzyyzyzxyy{zzyzzzyyz{yyyyz{zyy{{zyyyzzyyzz{{zyzzzzyyyyyyzzyzzzy{zyyzyzxyyzz{zyzzyyyyyyxyxyzx{zzyzyyyzyyyyyyzyzyyyzyxxxxyxyyzyyyyyyyxxyxxxyyyzyyzzyywxxyxxyyyyyxzzzyyyyxwxzzyyzyyyxyyxwyxxyyyyzxzzyxyxxyywyyyyyyyyyxyyxwxxyyzyxxyyxxxxyxxyyyyxyzyyywyxwxyxxxyxyxyzyyyxyxyyyyyyyzy{yxyyxzxwxyzzyyyxyyyxxyxyyyyyzyzyyxzxyxyyxyyyyz{yxxyxyyxxyxyyyyyyyyxyyxyyyyzyzzyzyxyyxxyyzzzzyzyyyxyyxzyyyzzyzyzzyxzyzyyyxyyyy{xzyyywxyyxyzyyzz{zyyyzyyxzzyyyzyzyxzxxyyyyyyzzzzyyxzzxzyyyyzyzzz{{yzyyzwyyyyzyzzzz{xyxzxyyz|yyyzzzyyyyyyzyyzz{zzz{{yyyzzyyy{yzzyz{{yyzx{zyyzzz{z{{{yzyzyzz{yzyzzzzyzyyyyyzz{yz{z{yyyxxyyzyzzyzz{z{yyyxyyyyzzzzyzzzzzyyyxzyyzzyzzzzxyzxxxyxyzyyyyzzyxyyyyxyyyyzyzyzzxyyxxxyyyxyyyzyyyyyyxyyyzzzyyyyxyxxxyyxyyzyzz{zxyxxxxyxxzyyyzxyyyzyyxxxyy{yxyzzyzxyxxxyyzxzxxyzyyyyxwyyyyyyzzzyyxyxyxxyyyyxyyyzxxyyxxwxxzzzyyzzyxyxyxxxxzyxyyzyyyxxyxxxyxyyyzzyyzyxyzyxzyyzyzzyyyxxyxyxyyyxyzyzyzyyyxyyyyxzyyzzyyyyxyyyyzzzyzzzyyxyxxxyyyyz{yyyyzyxyyyxzzzzyy{yyyyzyzyxyzzyzz{yzzxzyyyy{zzzy{zzyxzyzyzzzyzzy|z{yyyyyxyyy{{z{{y{zxzyzyzyzzzyzy{zzyyzyyyyzzyzz{z{zyyyyyy{z{yzzzz{yyyzyzyyzz{yzzz{zyzyyyyyzzzz{yz{zyzyzzyzzzyzzzzzyzyyyyyyzzyzyzzzzyyyyzzxyzzzyyzyyzyxyxyzyzyz{^Ft3Wb y|{{{z{|||{}z|||{|{z|z{{||{|||}{{|{z||z|{|||{{|{|{|{{{z{||{{{||{{{{{{{{{{|||{{||{|zz{{z{{{{{z{{z{{z{zz{{{{|{|}{z{z{{{y{{|{{{{{|z{zzzz{{{{|{{{|z{{{{{zyz|{{z{z{{{{{{zz{{{|{{{|||{{|{{{zyz{{{{{}|zz|z{zzzz|z|||||z|{z{|z|{z{|{||{zz{{{{|{{{{|||}z{{{{{{{z|{{{{{||{{zz{{{{{{{{{||||zz{{zz{||{}|||{{{{{|{z{|z|}{||{{{|{{z{|{||{{|||||{{|{z{{|}}|}||{|{{{z{{{||||~|}|{{|{z{|||{|}}||{{{|{{}|}}}|{||}{{{{{{||||{|||||{|{zzz|{{}||}{{||{|{{{{{}{||}|{|}{z{{{|{{z|{|||||{{{|{z|}|{|{|||{{{zz|{{{|{}{|||{{z{{{|z{||{{|{{{z{zz{zz||zz|{}|}{{{z{|y{||||||||{{||{{z|||||}|}|{{z{{z{}|||{|||{{{{{z{{{z|||}}{{{z|z|{z{{{{||{|{{{{{{z{{||||||{|{{{z{{{z|{{{|{{zz{{z{{z{{||z{|{z{{{{z{z|{|z{{{{{|{{zzzz{{||{}}|{{z{z{{{zz{{||{|{{zzz{{zz{{{{||{{{{{{|{{{{z|{|||{{{z{{z{{{||{|||{|z{{z{{{{|{||}|zz|{zz|{|||{{|||z{{|z{zz|{||||}|{{|{|z{z|{{|{{|z|{{|{z{{||{{||{|||{{|z||{|||{||{{|{z{{{{|{||||||{{{z{{{{{}|}||{|{{{|{|{{|{}}|}|{}{|||{{{|}||||}||||z{{||||||||||}|||{|||{}{|{||}{||{|||{||||||||{{{|{{{|||||}||}|||||{{{|||{||||{{{z|{||||z|||}}|{{{{{{{|{|{{||{|{|{{{{{{{|{{{}}||{||{|{|}||}|{}|{|||{{{}z|{|}||{{|{|||{|||{||}|{z{{|{{z{|{{{|||{z||z{|{||{|{}{||{|z{{{{{|{{|{|||{|{z{z{{{|z|{||||zz{{{z{{{|||||{zz{{{zz{{|{{{{|{{zz|{{{|{{{|||{{z{|{{z{{{{{|z}{{{z{{z{z|{z{{|{|{|zz{z{z{{|{{|||{{{{|{z{{{|}{|}||{{z|{{{|||{||{|{{{{|{|{||{|{{|{z{{{{{{{||||{|}|{|{{{{|{z||}|||{{{z{{{{{|||||{|||{z{|{{{||||{||||{{|{{|{~||||||||{{||{||{||}{|{}{{{|{|{{{||{}|}||{||{||z||||||}}{{{|{{|}|||||||}{{{{|||{|}}|}}}}||{|z{{||}}}}|||}{{{|{{{|{||||||||||z{{||||||||}|{|{{{{||||||}||}|{|{z{|||{}{}|{|{|{{{{z{{|||{}||}z{{z|{{|}||}|}{||z{|{{{||}|||}{|{{|z|{|{{{||}{}{||{{{{}||||z|}|{{{}||z{}|{{{|}|{|{{z{{{|||{}{{|{{{{{{{{|||{|}|{{{{{{{{z{{|{||||{z{|zzz{|{{{{{{|{{{z{{{z{|{|}|||{{{z{zz||{}||}{|z{z|{z{{{{{{{{|{|zz{{{{{|{{||||{{{{zz{{|{|||{{|{|z{|{{z|||{|{||{{{{{{|{||{|||||{{{{{{{{||||{|||{{||{|z{{{|{|{|{{{{zzz{{}|||{|}|{{{{{{{|||||{|||||{|{{{{|||}||}}|{{{{{{{||{}|{|||{{|{{{{{||}}|||||z||{{}{||||}}||{|{{||||||{}||}~{||||||{}{}|}}}|{|||{|{||}}}}||||{{||||||}{|||||{{|{|{||||{|||||{{|{|{}{{|}||}}{|{{|{{{|{{{|{{||{|zz{{{||{|{|{{||{|{{zz}|{{||}}{{|{{{{{{||||{||{{{{{{{{{{|{||{}|{|{{||z{||}{||||{|{{z|z{{|{||{{z{{z{z{{{{{{{||{{{z{zz{|{{{z|{||{{{{zz{{||{{z{{}{{{{{|{{{{|{{||z{zzzz{{zz{|{|||{{z{{z|zz||||{||{{{{{{z{z{{z{z{{|{{zzzzz{z{{{{||{{{z{{|{z{||{|{}{|{{|{{z{|{|{||||z{{|{{z{{|{|{{{|z{{zzzz{{{||{|z|{{{{{{{{{{|{{|{|{{z{zz{{{{|{|||||{{|{|{{{|{|{{|{z|{{z{{{z{}}|{||{{{{{||{||||{}|||{|{{{{z{||{||}||{|{|{{{|}}{}|||{||{||}{|||}}}|||{|{{{{{||}}|}}||{{{|{{{|||||}{~|{{|{{{|||||||~}||{z}|||}|{}|||}{||z{|z|{|||{}|||{|z{|{{{||||{}{{|{{|{{z{|{{{||||{{{{||{{|}|||{|{{zz|{z||||{||{}{{{{{|{{||||{}|||{|{{{{y|{|}}||}{|zz{{|z|||{{||}z{{{{{zz|{{{{{{{{z{z{{{{{{{{|}|{{zz{{z{z{{{|{{{{{{{z{zzz{{{{|z|{{{{{zzz{{{|{|{|{{|zz{zzz{||{z|{|{zz{{z{z{{{{|{|{|zzz{{{z{{|||}{{{z{{{|{z{{{|{||{|zzz{{{{||||{}|||{{zz{{|{{{{{||}{z{{z{{{|||{|{{{|{{{|{{{|{||||{|{{z{|{z||||{|{|{{{{|{||z{{||{{{{|{|{{{{{||||||||{{{|{{{z|}||{{||{{{{|{{|}||{||||}z}{|{{{{||}|||}z{z{|{{|{||||||||||||}||||}||}}}}|||||{{||}|||}|}|||z{{{||}}|||||||||||z||||}||||{||{{{z{{||{{||}{{{z|z{||{||z|{z{|{z|{{{{|}|{|}}|{{{||{{|}|||}|{{{z|{{|||{||||||{{{{{||{}|{||{||{{{{{z{{||{z{|{|{|{z{{z{|{|{|||{|{{zzzz{|{|{}|{{z{{{{z{{{z{{{{{zz{zz{zz{{{{{{|{zz{z{{z{|z{{{{||{z{{z{z{{{{{||||{z{{z{{{z{{{z{|{{{{{{z{z{z|{|{|z{zzz{zz{||z{{{{{zz{z{z{z{{||z|||{{{{{{{{{||{{{{|{{{{{z|{{|{{{{||zz|{{{z{{||{{|||{z|z{{{z{|{{|{|}{{{z{y{{{{||{|||{{z}|{|{z|||{{{|z{|z{{{||{}||||}{{{||{|{{{{||{{|}|z{|{{{|{|||||||{{{||{z|}{|{|}||{{||{|{||||||}}||{{||{z|||||||}{|{{{{{{{|}|{}|{{{{|{{{{|{{{{|}}{||{{||{}|{|{||}||z{{{{|{|{|{{|{{{{z{|{{{}}||{{{{|{{zzzz|{|{{|}||{||{|{|{{|{||||{{{|{|||||}}}|}{{{{{{{{z|{{z|||||{{|{{{{{{{{{{{{{z{|z{{{|z||{||}|z|{{{{{{{{{||}|{|{{{{zz{{|{{||||{{z{{{{{{z|{|{{{{{zzzzz{z||{||{{{{zz{{z|||{{{|{{{yzz|{|{z|{|{{|{z{{zz{{z{{z{|{|z{{{{{{z{{{|{}{|{z{z{{z{{{{|{|||{|{{{yzz{{{{|{|||{{{zz{{{zy{{||||{{{|z{{{|||{|{}{{|z|{{z|{{|||||z{|{{{{z|||z{|||{{zz{zz{{||{{|||{{{||z{{{|||||||{zz{z|{{||||{||||z{{{z|||}|{|||{{{{{{}{{{|||{}}|{|||{{||{|||{}{{|{{|z||{|||}||||||{|{|{{||||}}|{}{{|{{|{||||}}}||{|||z|{|{{}}{||{||{{{|{{|z{||}||{{{||{{{|{||||{z{z{{{{z{|{|{|||}||||{}z{{|{|{}{|{z{}z{{|{{||{||||{{{{{z{}|{|z|{|z{|{{|{{{||z||{|{|y{{|{||{}|{}|z{z{{|z{z{{||}|{{z{{z{{{||{|{}{|{{{{z{z{{{{{{{z|{{z{{zz{{z{{{{{{|{{zzz{{{|{||{{{{|{z{zzz{}z{{||{{z{zzz{{{{zz{|z|{{{{{zz{{|{|||||z{{{{{zz{z|{z||{{|z{|{z|||{{{{{|{{{{{z{|||{{z{||z{{|zz{{|{||{}|{||{{z{|{{|{{{{||{{zz|{{z{{||||{||z{z{{z{|{|{{||{|{z|||{{||||{{||{||{{{z{{{||{}|}{{{{|{{z||||{}}}{{{||{{{{|{||||||{|{}z}|}}|{|{||{|{{{|||||||||}||{|{|{{{|}{}|{{|{{{{{|{|{|}{|}}}|{{{{{{||||||}{||{zz{z|{{{}|{{|}|{{||{zzz}||{{{|{zzz{zzzz||{z|}}|{{|{||{|}|||}|}||{{|{|{{|~||||}}{zzz|{{{|||}||}{z{z{{{|{||{z{|||{{{{{z{|{|||{|{{zyz{{{y{{{|{{|||z{{z{z{|||||||{{zzz{{z{|{{z{z{|{z|z{zz{{{||{|{{|{{zz{yz{{|{|{z||{{zzzyz{|{{{{{{{z{|{zz{{z{{{{|{{|{{{{{z{{{{{|{|zz{{{{{{{{||{{{{{|z{{z{{{{{{||{{|z{z{z|{|{{{|||{{|{zz{{{{{{|{{{||z{z{z{z{||{||{{{{{{{{z{{|}|{||{{{{{|||{{|{|{|||{|{{{{{{{|||{|}{{{{{{{{{{{{}|||}{||{{{{{|{|}|}||||{{{{{{}|{|{|||{{{{{|{||}{|||}}|{{||{{|{}|||||}|{z}{{||||}|}||{|z{{{z{||||{|||||{{{|{{||}{|||||{{{z|z{{{|{~{|{{|{z|{{{z{|||||{|{z{{y{{z{{{z{||||||{||{||}}||}|||{{{zz{z}{||||||{|{{|{z{{||{|}|}||||{{{{|{||{{||}{{z{{{{|{{||||{||{{z{{z{}||{|{{{|{|{{z|{|{{|{{{z{z{|{zz|{|{{{|{{z|{z{{zz{{{{|}{{{z{{z{z{z{{{||{{{|z{{{{{|{||z||{{z{{z{z{{{||{||{{{{{zz{{{{{{||{{z{|{{|z{{||{{|||{zz{{{|||||{{{}{{z{{{z{{{|{|{{|{{{zzzzz|||}|z||{{{z|{{{|{{|||{||{|{{{{{|{||}{}{|{{|{|z{{|{{{|||zz{{{z|z{{|}|}||||z|{||{|{|{||||||{|{|{{{{|{|{}{|{{|||{{||||{|||{{|{{||{|}|||}}|||{{{||{{}|||{}}|{{||}{{{}}||}|||{{{{|{||{|{}|}|||{{|z{|}||}}|}}|{{z|{{{{|||{{||{{{{z|{{{}|}||||{||z{zzz{||{{}}|||{{||{{|}|||||||{|{{{{}|||{||}{{{zz|{|{||{|{|||{|{{z{{z{||{{}||{{{zz{zz{||{{||||{{z{{{zy{|||||{{{zz{{zzz||{{|{{{{{zz{z{|z{{{{|{z{{{{y{z{{z{z{||zy{z{{zzz{z{|{|{{{|{z{{zz{{{||}|zz{{z{zzz{zzz{||{{zzzzz{{{|z{|||{z|{|{zz{|{z{z{{{{zy{z|z{{{{|{|||z{zz{{{|z|{{}|{zz{z|zz{{|{{|||z{{{{{{{{{{|{}|{{|{|{z{{{|{{{{||{{z{{z{{||||{|{{{|{{{{{{{||||{|{{{zz|{||{|{|{}}|{{{{{{z{{|||{{|||{{{zy{{{|||||}||{{|z{{{|z|{}|}|||{|z{{{{||{||}~||{{|{||||}{|{||{|{{{|{{{{{}|||}|||||{{{{||{||{{||z{z{|z{{}||||}|{{{{{{{z{|||{{{{{z{z|zz{{||{{}|}}{|||{|||}}{||{||{|{{|||||||||}}|{z{{{|{|||{}|}|{{|||z{||}}}||}||{|y{|{z{{{|||{{{{{||{{{{|z|{{{{|{|{{zz{|||{||||{{|z{||{{{{||}{}{{z{{z{{{{{|{|||{{{z{{y{{{{{||||{{{|{{z{{|{|{z|{{{z{{{|{z|{{|{{|{{{z{{{{{{{{{|||{{{z{{{z{}|{||||{z|{{z|{||{{||{||z{||{{{||||{||}{{{{{{|z|||{|{|}{{{{|{{{{|{|{|}||{|z{z{{|||{{|}{{{|{|{{{|{{|||{|{||{{{{{||||}}||{|{{{|{|||||}}|}{{|{{{{{||}||}||{|{{|{{{|||||||{{{z{{||}|||{}||||{{{|{|{||}}||}|}|{||{{{|{}|||}|{{{{|{{}||||||||}{|||{z||||||||||{{{{{{{|||{|}||{{{{|{|z|}||{{}|{}{{z{{{{|{{{}}}}{|{}{|{||}||}||{|z|}{|{|}||}|}}}}{{{z{{}||{|}}}|||{z{{|||||{{|{{||z{{{{||{|||z{{z|z{{|{{|||{|{{|zz{{{{z{||{{}z|{{{y{{y{{{||{|{{{{{{{{{{|z|z{|{{{zz{{zzz{|{}{{|{{{z{{|{z{||{{|}z{{z{{zz|{{{|{|||{{z{{{{z|{z|z||{{{{{{{{{|{{|{|}{{{{{{z{z{z{|||{|{{|{{{{||z{{{|z|{{{{||z{{|{z|{||{{|{|z{z{|{||}|{z{{z{{{z|{|{{{||{{{{{||{||}|{{{{|}|z{|{{|}|||{{|{||{{{{{||{||||{{||{zz{{|}}||||{|{}|{{|{|}}{||}|||{{{||{|||||||||||z{|{|{||||}}}|{||{{{{{|||}|}}||{{||{{||||||}}|}{{|{{{||||{}|}||z{|{{{{||{{|{}{|z{{zz{||{}{|}|{{{{|z{{{||{|}|}|||||||{||||||}|{{{{{|{{|||||||}|}{{{{{{||{|{|||{z{zzz{z{|||||||{{|z{{{z|{}{{|{|{{{{{|zzz}||{|{{||{{{z{{||||{{{||{zz{{{z{z{|zz{z{z{{z{{{{|{{{{|{{z{{zz{z{{|{||z{z{|{z{{z{{{{{{{{{z{zzzzz{{|{z|{|{{{z{{z{z|{z|{|z{z{z{{{z{}{|||||{{{z{z{z|{{{{|{|z{z{{{{{{{|{{|||{{z{{{{{{|{{{||{{{{{{zz{{{||{|||{{{zy{z{{|}{{{}z{{{|z{z{|{{|||||{{{|{|z|{{|{{|||{{{{{z{z|||||{}|{zz||{{{|{}|{||{{|{|{z{{|{|||}|||z|{{|}|}||}|{|}|{|{|}{{z|||}||||z|{{}{{||||||||}{{||{|{{|{||||}z{{{{{|{}{{|{||}z{{{|{{{||z{{|}|{{{|zz{z{||{|||{{zzzz{z{{||{{}}}}||||}{}|||}||}}{{{|||{{||}|||}}|{|{|{z{|||||||||{{{{{z|{||{{{||||{zyz{z{||{{||}{{{{{{|zz|{{{{{{{{zzzz|{|||{{{|{{{{{{z{z|{||{{{|z{zzz{{{z{{{{{{{{z{{z{zz|z||{{{{{{{|z{y{||{|{{||{{{z{|zzzz{{||{{|{|z{zz{{{}z{{{{z{zzzz{z{|}|{{{||{{{{z{{{|{}|||}|||{{z{{{{{|||{}{{z{{{{{||}{||{|{{|{{{{{{|{|||{{{{{{{{{{{{||{{}{|zz||{{{|{|{{{||{|{|{{{{||||}|}{{{z{{|{{|||}||||||{{{{{|{{||||||}{zz{{{{|||||}}|{{||{||{|||{|}||}{{||{||{~{{||||}||{{|{{|{|||}|||{{||{{||||{||}}||{{|{{{{}||||||z{{{{{{{{|{{{{|{|||z{z{{||{|}z}{{{|{zy||{||{{{||}|||{{}{}{}|||||||{}{z|{|}|{{|~}||{{z|{|}{|{}}||{{{{{{|{z{||{|{||{{z{zzz||{{{||}{{{{|{{zz}{{{{|{{{{{{{{z{|{{{}{|{{{zz{{zz{{||{{{{yz{y{{{{{||{}|z{zzz{{{z{z{|{{{|z{{{zyz{z{{{{z|}{z{yz{{z{{|z{{{{{z{{{zyz{z{z||||z{{|z|{{z{{{||||{{{{zy{z{}{{|z||{zz{{z{|{{{{{{{{{{{{z{{z{{|{{|{|{{{z{zz{{|{|||{|||{z{{zz{{|||||{{{{z{z{z|||{{||{{{{z|z|{|{{||{||{||{z{{|{|{|{||||{{{|{{{{|{|}||{|{{{{z{{{}{|||{||{{||{||{}{|||}||{{|||{{|}|{|}|}|{|{{{|z|||||||||z{{|{{z{{||||}|}{{{|{|z{|{|||{|{{zz{{{{{||||}|||{{{z{{z|{{{{{{}{{{{{z{z{{{||||~}}{{{{||||||}||}|}{{{{z{{|}}}|||z|{{||{z{{{z||{{{{|{{{|{{{||{{}{{{{{{{{z|{|{|{{|{||zz{{zz{zz{|{{zz{|{{zzzz{|{{|}{z{{{{z{{|{|{{|{{{zz{z{{{|{{{{{|{yzzzz{{{{{{||zzy{{zzz{{{{{{{{{|{zzzzzz{z{{z{z{zzzzy{{z{z{y{{||{{zz{{z{{z{|{{|{{{{zz|z{{||{|{||}zz|{{{{{|{{{{{{|z{{{z{{{{|{{{{||{{{z{z|{z{{{|||||y|{{{{{z{{{{|||{{z{zz{{|{|{|z|{{{{{{{{}||||z}{|{{z||{{z{|{{|||}{{{|{{zz|{}|{|}|{{{{|{{z{|{z||||{{{{{{|{|{{|{||}}{{{{|{{||{|}||||{|{{{{{{||{||{|{z|{{z{|{|||}{{||{{{|{z|||{{|{|}{{|{{{|z{|{|||{|{{|{z{{z{|{}{||||{|zzz{{{{|{{~}}|}|||{||}}}||}}}|{|{|{{||{||}|{}}|{{|{{{|||{|||{{{{{{{|z{||z{z|{{{{z{{zz{{|{|{z|zz|z{{{{z|{z{|||{|zzz{{zz{{{{{{{zzz{{{{{{||{z{{z{zzz{zzy{{|{z{{{{y|z{|yz{{{{{{z|z|{{zy{zz{{{{{|{{z{zzz{z{{{y{{{{{{zyzzzzz{{|{{|{z{{yz{zzz|{{z|{{zz|z{z{z{z{{{z{}|{zzz{{z{z{||{{|{z{|z|zz{{{{{{||{{{{{{{z|z{{{{|{z{{{zz{{z{|{}|{{|{{z{|{z|{{|{{||{z{zz{{{{{||{{|||{{{{{z{|{{|{{{{{z{{{{{{}z{||||||zz{|{z{}|{|||}|{|{||{}{|{{||}}||{{}|{||{}||||{|{zz{|{{{|{||||||{{{|{|{{||{||||}|{|{{{{{{}{|||}|{{z{{{{{z{{{z|}|{zzz{{{{z|{{{|||{z{y{zzz{||}{}|}}{}}}|||}}}|}}}|{{{||z{{||||||}|||z{{{{{|||||}|{||{{{{{||{||||||{||{{|{z{{{{|||{|{z{{z{{|{z{{||{{|zzzz{z|z{{{{||{|{{{{z{{z|z{|z|z{{{{yzzz{||{|||{{{{zzzz|{{|}|{||{{zzz{{{{{{|{|{{{zz{z{z{{{{{|{{z{zz{zyz{z{{{||{|z||{|{y{{|{|||{{z{||zz||{{{{|{{z{{{zz{z{{{{}|{{||{|{{{|z||{|{}{z||{{z{{|||||||||{z{{z{{{|||{{{{{{z|{{{{{{{{||||{||{z{{z||{|||||||{{{|{|{|{|||||{z{z{zz{{{|||}|||{z||{{{|}||||}||||{{|{{|}|||}||||{|{{}|||||}||}||||{y{{}|}||||||{|{{||{{{|||||}|{{{||{|||{||}|{|{|{{{{{{|}||||||{|z{{{{|{{||{|{{{{zzy{z{{{{||~}|||||||}}}}||}}{||||{|{}{{}}|}|||{|{{{||{||||}}||{{{{{z{|{|{|}{|{{{{|{{{{{||}|||{{{{{|{{|{|{||{z{{z{{{z{||{{{{||{{z{{z{z{{{||{{|z{{{z{{{||{{{}}{{zz{{zz|z{{|{|{{z{zz{{{|{{|{{|{{y{{{{{y{{{z{{{||z{|{{z{z{|{||{{|{{{{{{zz|z||{||{|{{{z{z{||{{}{}|{{|{z{{|{{}|{||{{{{{{{{{||||{||{{{{{{zz{||{}||{{{z{{|{|{||}z|||{{{{{z{{||{{{}|{{||{{{zz{|{}}|}|{{|z{{{|{|||{{}|{{{|{|{||||{||||}{||z||{{||{||||{{|{|||{|{{{}}|}|{{{{|{{{}||||||||||{{{|}}||}|||{{{{||{|||{|{||{|{{{|{{|}{{{|||}{{|zz{{||}||{z|}|||{{|{{{{|||||{|z{z{z{z|{|||~}~}|{}}|}|}~||~}}||}||{{{{}{}}||}}|||{{{|{|{||}}|||||{|{z{{|||{{|}{{|{{{|{{{||{}}|zz{{{{{{{{z{{||{{{{{{{z||{{{||{{{z{{z{z{{{{{{|{{{|{{{{{z|{{{{{|{zz{zz{{{{{|{||{{zz{{zzz{{{|{{{}|{z{z{{{{||{{z|{{zz{z{z{{{{|z{{{|{{z|{zz{{||||||||{z|{{|z||{||{}}{{{{z{{{|{|z||||{|{z{z{{||||{|||{{{z|{{{|{|||||{{z{{z|{z{}}{{||{{{{{|{{{||||{||||{{||{{{|||}||||{{}{{z{||||||}||{{|{{{{{||{|}||{|z{|{|||||}|{|||{{|{{|{||||{{|}}||{|{{{{|}{}|||}|{{||||||~{||}{}z|z||{{{{}|}||}}|{|||{{|||||||}}||{{{{{{||||{|}}|{{{z|{{||{||{|}|z{z{{{|{{z{{~~}}}}{||}{}}|}}}|}}|}||}|{}||}}}{}}{{{|{|z|||||||||{{||{{z||{{||}}|||{{{|z{{||}||}{|{{{{{{|{|z|||z{{{z{|{{||{{z{{||{{{z{{z{|{{{{||z{zzzy{z{{|{{{|{{zz{|{z||{{{|z||{{{zzz{{{|||||{{|z{{{z{zz|{{{||{{|{zz{{zz{{z||{|{{{{{{{z{{{{||}|{z{zz{{z{|||{{||{|{||{z|{{{}{||{|{|z{z{z{{|z{|{|zz{{{z|{{{|||||||{{{{{{z|{{{||||{{|z{{zz{{{{{||||{|||{{{||||||}||||{||{{||{|||}|{|z{z|{||||||||{|{{{{z{{{}|||}}}|{{}|||{{||||}|||z{|{|||||||{||{|{|{|z{|||||}{}||{{||{z|{{||}{||{{{{|{|{}{}||{{|{{{{{|{{|||}{{|||{{{|{{||{|{{{||z{{{{{{{z{{|{~}}~}|||}|}~|}}{}~||}|{{{||}|}||}|{{{{|||{{||{{}}|||{|{{|{{}{|{{{}|{{zy{z{||{|{|}}{{{{{z{{zz{{{{|{|{|z{{zz{|{{z|{{|{|{{{{{z{{|{}|{{z{z{z{{{{|{{{{|{{{{{{{{{||{|{{{{{{{{y{z|{z{{{||{{{z{zzz{{{{{{{{{}zz{z{z{{{|{{{||{{z{{{z{{{|{{}|{zzz{{{z{||{||{|{{z{z{{{||{{z|||{{{{{z{{{{|{|||{z{{{{|{z{|||{{|{|z{{{{{{{{|{{||||z{{{{{{{{{{{|{|}{{zzz{{{||||||}z{|z{{|{||{||{}{|{{{{|{{||{||||||{{{z||{||{{||||}|{{|{|{{|{|{|||}{{{|{|{{|{||||{|z|{{{zz|{|z|||||{||{z||{||{{|}|}||z{||{}||||}|}|{{|||{{||||||}|{|z||z{|{|{|{{||{|{{{{zzz{|{{~}|}}}||~}}~~}}|~}||||{{|{{||||||}|{{|||{{}||{|}|}|{{{{{{|{{|||{|}{{{z{{{z|}|{|{||z{{{{{{||{|{|||{{{{{z{zz{||{{{{{{{{{y|{z{{|z{}{{z{z{zzz{{{{{z{{{{z{{zz{z{z{{}|{{{{z{{z{z{{{{|{||{{{{{{z{{{{{{|{|{{{z{z{{{{{{{||{{{{{|z{z|{||}|{{{{z{{z{{||||{||}z{z{{z|z{|||{|||{{{{{{z{{||{||{|{{{{{{{{{|{{|}|{{{{z||z{{||{|{{{{{z{zzy|||{z{{|{{{{z{{{{||{|}|{|{{{|{{{{|}||||||{{{{{|{z|{{||{|{|{{|{{{{{}}|{}|||z|{{{||{|{|||||}||{|{{|{|}|}|{|{|{|{{|||||{}~}||z{{}}|{||{|||}}}{{{{{{{|||}|}|||||{|{|{{|{}{||{|{{{z{{zz{||{{|{{{{zz{z{{||{|}~}|}}|}~|~~||}}}|}|}||||}|}||}||||z{|{|z~||||||}{{z{|{|{||{|{||||}|z{|zz|{||{|{|{|{{|{z|{{|}{{{z{{{z{{{z||{y{|||{zzz|{{{{{{{{{|{z{z{zz{z{|{{|{|{{{z{{{{{{{{{|{z|{z{{{zzz{||{{|||{zz|{{{{{{{{{z||zz{{zzz{{|{|{|||{{|{{{z{{}{|||z|{{{z{z|{{{|{{{|{{{z{{{{|||{|{||{{{|{{{|z||{{{{|||{{{{{{zz{|{{||{{{{{{z{{{|}{{|}|{|{{zz{{||{{|||z{{|{{{|||{z||}}|{{z{{{{{||||{|}|{z|{||{{|{||||||}{|||{{{||||}|||{{|{{|{|||{|||||}z|{||{{|}|{||}}|{{||{{{|||||||}}{|||{{{|||||||~{|{|{|{{|}|}|||}{{{{||{|{|{|{{}||{{{{{{{{|||z{||{{|{{{{zz|||{~~~{}}}~}|}|}}}||||||{{{{|{}||||||||{{{|{|{{{{|{||{}z{z{{{|{||{{|{||{{{zz{z{{||z{|{zz{z{zzz{{||{{|{{z{{zzzz{{|{{|||{zzz{zz|z{|{{|{|{z{zz{{{z{{{z|}{zz{z{{{zz{|z{{|{z{{{z{zzz{z|{{|{zz{{zyzz{z{zz{||{z{z{{{{{{{{|{{{z{{{|{z{|{{{{{{|zz{z{z{{|{{{z||{{{zzzz{{{{{|||}{z{{{{{{{{{{z{|{}|{{|{z{zz{||{||{{{{{z{{z||{||{|{{{{{{{{z{|{{|{|{||zz|{{|z||{{|||{{{{{{{{{|||{||{z{{{{{z{|||{||{{|{|{{{{{{||{|{{|{z{{z{{|{}||{||||{{{|{|z||||{||||{|{{{z{|{}||{|{{{{|{|z|{|{}|{|}{{{{||||{|{|||||z|{{{|{{{|z{|||||{zzzz{z{{z{|{||{{{{zz{{z{{z{~}~}}~}}{}||}}|}}}}}|{|{{{||{|}}|}}}{{z{z|{||{z||}|||z{{z{{|{||z}}|{{z{z{z{||{{||z}{{y{{{{z|{|{{|||{{{{z{z{|||{z{{{{z{z{yz{|{|{{|{zz{|yzzz{{{{|{||z{{zzzz{z{{|z{{||{z{yz{zz{{|{{{|{zzz{zzzz{|{{{}{{{z{z{zzzz|{{{|{{{{{{{zzz{{||{||{|z{y{{z{{{|{|{{||{{zzz{{|{{{{|||{{{{zzz{|{{||{|{{{{{{z{{z{{{z||{{z{{{|zz|}{|{{|{{|{{{|z{{|{{{||{{{{||{{{{z{z||||{z|{{{{{|||||||}|z{{|zz{{{|||{|{|{{z{{{{|||||||{|{{{{{||z|||{|{|{{{zz|{|{}||{}{z|{|{{{{{||{}||}{{z{|z{||||{{||}||{{{{{{||||{}|{|{{{{{z|z|{{{|{|||{{zz{|{{{}||{|{{z{{{z{zz{|{|~~~}|~}||}}~}}|}|}}}||||{{|}|{|}}|}{||{{{{{||}{{||}|{{|{z{{{{{|{|||{{{{z|{z|||{{{|||{zz{|{{{{||{{{z{{zzz{{{|{{z{z|{{z{{{zzyz{{{{|{|{z{zzzzz{{z{{{{{zy{|z{zz{||{{{||{{{zz{z{z{{|{{|{{{z{{{{z{{||z{|zz{{z{z{z{|{z{|{{{zz{{y{{{{{{z{{|{{{{{zzz{{|{z{{|{{{{zzzz{z||z|{|{z|{{z{{{|{{|||||{{|{z|z{|||{{{{z{{z{{{z|{|||{|{|z{{{{zz{|{{{|{|{{{z{{{{{{{|||||zy{{{{{{{||{{{|}|||}{z{z{|||}{{{|{{{{{{{{||}|||}{{|z{|{|{{|{}||||{z{|{||{~||}||||{{{|{{|{{|}||}|{{{|{{|{{||{{|||{|{{{{{{||{|}||}|{|{{{{{|}||{||||{z{|{zz{||}{|{{{{zzyz{{{|{|{}}~~}}|}~}~~|}|}}}|||}||{|{}||||}|{|z{{{{|{{|}||||z{z{{{{z{{||{|||{{z{|z{|{||{|{|{z{z{|{z{||{z{{{|{{{{z{y{{|z{{|{|{{{z{z{{{{{{||{zz{z|zzzz{{{||{|{{zzz|z{z{|yz{{{{{zz{{zzzz{|{{{}{{zz|zzz{||{{||{{{{z{{z{z|{{{|||{z{|{zz{zz{{||{|{z{z{z{z{{{{|||{{|{{zz{z{||{{{|{{z{{{|{{|||||{||{{{{{{{zz|{|||||{z|{{{z{||{{|||{{{|{{{{{|{{|{{||{{{{{{{{|{}{}{||{{{|{|{{|}{{|||||{|{||{{|||{|{}||z{|||{{||||{||||{{{z|{||||||||{|{|{{||{{}{|}}|||{||{{{|{||}||{||zz{|{z{{|{||}|||{||||{|}{|{||{}|{{{{{||{|||||{|{{zzz{zz|{|||||{{{{{zyy{{{{{{~~|}~|}}~~}~~~}|}||}|{}|{|||{|}||}||{{{||||||||{|||{{z|{{|{{{|{||{{z{{{{zz||{{{|||z{{zz{{z{|{{{||{{z{{{{{{{|{{{{{|{z|zz{{{z{{{|{{{z{{z{z{y{{{z{||{{{z{z{y{{z{z{{{|{{z{y{z{{|{{{{{||{{z{zzz{z{z{z|{{{{{{zzz{||{z|||z{|z{zy{|{{||{||{{{{{z{{{|{{{|}{{z{{|z{|{||{|}|{{{{{z{z{{{{|||{{||{{{{z||{|{{|||{z{zzz{{{|{z|||{|{|{|{{{|||{{|||||{{{z{{{|||{}||{{z|{|{{|{|||||||{{{{{zzz{||||}|{z|||z{{||||}{|}{z{{||||{}|||||||{||||{{||{|||||{{||{z{{|{|||}|{{{{{{{{{||{|||||||{{||{{|||}|||}||{{{||{||{||||||{{{{z|{|||{|{{|{{{{{{{z{{{{{~}}}}~|~~||~~}|}}|{|{||}|}|}~}~|||{|||{{|{}||||{||{{{{||{|||{||||{{|{{z|||{z{{|{{z{{{{{{{{{{{{z||{|zzz{{||{|||{z{{z|{{{{{{{{{{|{{z{{zzy{|{{{{||{z{{yzz{|{{z|{{{{{{zzz{{{{{{{|{{zz{|{y{{{{|z{|||z{z{{{{{z|{{{|{{{|{z{{{{{{z||{||{{{{{{z{{||||||}{|{{{{|{{|{|{|{||{|{{{{|{}}|}|||{z{{{z{z{||{|||{{|{|{{|{||{|{|}{{{{z{{{{|||{|{|{{{z||||{|{|||}||{z|{{{{{{||}|}||||{{{{|{||}||{|{||{|{{{z{||{||||{{{||{||{}||||||{{{||{{{||||{||||{{||{|||{||}|}||{{||{{|{|{||||{|{|{|{|{||||}|||{{{|{|{{||||{|||}|{{{{||{{{|{||{{{|{{z{{||{|{~~|~|}|~}~|}}~~}|||{{|}}|}|||}}||{|{{{||}}|{|}{{z{|{|{{|}||{|||{|{{|z{{{{}||||}{{|{{{{{{{{|{||||zzz{{z{|{|||{|{{zz{z{{{z{{{{||{z{zzzz|z{{|||{{{{{|{z{zzz|{{|{{{{{{{{zzz{|{|{{{{{zz{{z{z{z{{{{z{y{{z{zz|{|||{{|{z{{z{|{{||{{{||||{z{{z{z|{{{{{|{{z{{{{{y|{{{{{|}|{{z{zz{|||{||z|{z{{{{{{{||{|}|{{{{{{z{z|{{{{{{|{{{{|{z{{||{{{{|{z{{{{{|{|{{|}|||{{{{z{{||||||||{|{{{z{{{|||||}{|{{||{{|}|}{|{|}{{{||z||{|{|{|}||{z|{||{|}}{}|{||{|{{||{|}|}||}||{{{|{|{|{}|||}}|z|{|{{||||}||||{{{{z{{{||}{||}||{{{{{|{{||{|{||{{{{{{{z||||{~~~~~|~~|~~~}~}~|}|{|}||||}}}}}|||{|{|{{{|{||||||{|{z{{{{{||{||||{|zz|{z{{||{|{|z{|z{{z{{|||||{{{{{{{z{{{{|z{{|{{{{{zy{z{{||z{{|{zzzzy{{|{{{{z|{{z{z{{zz{{{{||{|z{z{zz{z{{{{z|||{zzz{{{{|{z{z{|{|z{{z{z{{{{{{{{{zz{{{{zz{{{|{|{||z{{zz{{{{{{{|{|{z{{zz|z{|{{{||}|zzzz{z{|z|z|||{{{{{{y{z{{{z|||||{|{|{z{{{|z{{|{{{{{{{z{|{{|{|z|{{{|{z|||{|{||{|zz{{{{{{{{|{{{|}|z{{{zz{z|||}}}}|{{{{|{{}||{|||{|{z{||{z{|{{|}||}{{{{|{{{}{|||}|{|{|{|{{|{}||{}||{{|{{|{|||||||}{|{{|{|{||}{|{||{{{{{{{{z{||{|||||zzz{{z{|||{{}zz{zz{{{{{{}|{}~}~}}}}}~~~}}||||}||||}||}}}||||zz{{z||{{|}|||{{|{{{{|||z{}{{{{{{{|{{|{||{{{|z{{{{{zz{{|{{{|{|z{z{{zz{z||{|||zzz{{{{z|{{|{||{yz{{zzz{{{{{{{{z{{{zzzy{z{|{}{{{{{z{{z{z{{|{{{||{{{z{{{{z{{{{|{|{{{zzz{{z{{|{|z|{{{{z{z{{|{|{{||{z{zzzzz{|{{{|{||{{z{z{z{{|||{{{{z{z{zzz|||{{{{{|{{{|{{{|{||||{{|{z{z{z{{}|{|{||{{{{z{{{{|{{||||{|{{{{{||||}|}|{z|{{{{{{|{||||||{{|{{{{|{||{|{{{|{{{{{{{|}|{|{}}{{z|{||{{|||}{{}|{z||{|{|~||{|{|||z{{|||}|}|||||{{|{{{|{{|||}||}||{{{||||{|{||||{{{z|{|{{||||{|{|{z|z{{{{|||{{||{{|zzy|{||}{|~~~~}}~~~||~}|||{|{}|||}|{||}|||{{|{{||{{||||{z|{{{z|{{||{{|{{{{z{z|z{||{{||{{{{z{{{{z{|{{|{z{{{{{|{{{{{{{{||{{{z{{{z{{|{z||{zz{{{{{z{{{{||{{{zz{z{zz{{{||{|{{{z{z{yz{||{z{||{zz{{{{{{z{{{{{{{zzy{z{{{{|{{|{|{{|{{{{z{|{|z{}||z{||y{{{|{{{{}{{z{{{z{{{{{{|{{|z{{{{{{z{|}|z{{|{{|{{z|{||||{}|{{{{zz{zz|||z{|}{{|{{{{z{{||{{||{|z{{{{{{{{}|||{|{|||{{z{{|||||||{{|{|{zz{|{||}|{}{|||{{||||||}{}|{{{{{{||}|||}|{|{||{{{z{{}||}}~}|z{{{{||}|||||{|z{|{{{|{|{|}||||z{||{{|||{|||||{{{{||{{{||||{{|{|z{{{||{{{||||{{{|z|{{{{{|{{~~~}}}}}~~}}~||||}||||}|}}}|}|{z{{|{{||}|}||}{{{{{{{z{||||{{|{z{zz|{z{||}|}||{z|z{z{{{{{{|||{{{{zz|zz|z|{|{{|zz{z{{z{{{zz{||{zz{{zzzz{{{{{{|zzz{{{zz{z{||{{||{{z{y{yy{z{z|{{{|y{zz{{zz|{{{{{|z{{z{y{z|{{{{|{{|{{zzz{{z{{{|||{{{{{z|{z{||{||||{z{{z{{z{||{{{||z{{{{{|z{{{|||||{z|{{z{{{|{}|{|{zz{{{{{{{|||z|}|{z|{z{zz||{{{{{{{z{{{{{|{||||}{|{{{{{}{|{|||{|||{|{{{zz{{||||||{{z{z|{{{||}||||}{{{{{{|{{{|{}||||{{|||{z{|||{||||{{|{|{|}||||||||{||{{z||{|||||||z{{{||}|{|||{||{{z{{{{z|||{{||||{|z{{{{{|{{||||{{{{{{z{{{{|{}~~|~~~}}}~}|}||{|||}||||}|||}{{{{||{||||{|}{{|z{{z{{|||{{||{z{{z{zz{|{{|{|}{z{y{|{z{{|{{||{{{z{{{z{{{{{|{{|zz{z{{zz{{{{{|{|{{zzzzz{{{{{{{{{zz{z{{zzz{{{|{{|{z{zz{zz{{{{{{{{{{{zy{zzz|{z{{|{zzzy{{zzz{z{{|{||{{z{{z{{{||z{|||{z{||{{{{|{{}{|{{{{{z|{z||{{|{{{{{zyz{{|{|||{||{{|z{{z{{|||{|{{|{||{zzz{{|||||{{{z{{z{{|{{{{|{{{{{{{{{||{||{|||{{{{|{{{{{|||}{{{|{|{{{{z{|||{|||z|{{{{{||||||{{{||{{{||{|||{|||{{{{{|{{{}{||||}||{|{{||{}|||}||{z{{{|{{{||||{|}|{z|{z{{{{|}{|}||{|{{z|z{{{{{|||{|{{zz{{{|{|{|{{{{z{{zz{{|{{|~~~~}~~}~~~|~}}|||||}|||}}}||z||{{||||{{}|||{||z{z|{|||||||{{{zy{{z{{{||{||{z{z{zz{z{{z{{{{{{{|{zzz{{||{{{{{{|{{{zz{|{{{{||zz{zzz{y{{|{|{{{{{z{{{{zz|{{{{|{{{{{z{{z{z{{|z}{z{zz{z|{z{{{zz|||{{z{{{{{{{{z{{|{{z{{{yz{z{{|{|{{{z{|z{{{|{{}{{{{{{{{z{{|{{{{{{|{{zzz{zz{{z|||{|{z{zzz{z||z|||{|{z{|{z{{{{|{{|||{{{{{{z|}{{{{{{||{{{{{{{{{||{|{|{{{z{|z{|{||||||{z||{{{{|{{{{|{{}z{{{|||||z||{||{z{{z{|{{|||||}|{{{{{{{{{||}||}||{{{{{{{}|{|{{||}{{z|{{|{|||{|||||{{{|{{|||}|{}{{{{z{{{{{{{|||||{{{{z{|{||{{{|||{{{{|z{{{|{|{~~~~~~}~}}~}|}{|}{}|}~|}|{|||{{||||{|||{||||{{{|{||{|{|||{{|zz{{|||{{{{}{{{{{{|z|{{{{||{{{||{z{z{{{{z||{{{{{z{{{|{|{||||{zz{{{{{{||{{|{z|zz{z{zz|{{{{|{|{{{{{|zz{|{{||}{|z{{{{{z{{{|{{{{{z{z{{{{{{{{{}||z{{{{z{z{{{{|{{}|{{{{{{{{}|z{{||{{||{z{{{{|{|||{{{zz{{{|z|||||||{||{{{{{{|{{}|||{{{z||{z|}|{|||{{{{{{{{{||z||{||{{{{{{{{|||||{|{{{{{{{|||{{||||{|{|{{{{{{|||||}{{z{{{}{{}|}||||}|{|{|{{}{|||||}|||{{{|{{z|||}|}}}{|{{{|{|~||}|||{{|{|{{{|{|||||}|{{}{{|{||||||||||{z{|{{||{|}||||{{||{{{{||{{|||{z}{{z{{{|}{{~~}~~~~~}|}|}}|~}~}|}~}|}{{|{{||{||{||}|||{|{|||z|||{{{|||{{z{{{z||||{}{{z|{{|{{z{{{z{||{|{{{z{{z{{{{{{|{|{zz{zzz{{{{{|{{{zz{{{z{{||z|{|{{z{{zz{z{z{{|{{|{z{z{{zz{|z{|{||{zzz{{zz{|{|{|{{|{{z{{{{{|{{|{{{z{{{{{zz|{||||{{{{{z{{z|{||z{||}{z{{zz{{{{||{|{|z{{zzyz{|||{{{|{{{|{{z{{||||{|{{{{z{{{z{{}{|||||{{|{||z{|||||{{|||||{{{{|}||||}|{{z{{{z|{}{{{|{|||{||||{|||{|||{z{|{{{{{||{|{||{{|{|{}{{{|||||}|||{{|{{{||||}||||{|{|{{|}}}|}||||z{{{|{||||||}|}}|||{{{}|{||||||{{{z{{{{|||}|}|||{{{{z{z|{||{|}{{{{{{z{z{{{|{~~~}~~~~~~}~~}{}}|~}|}~~~~||||}{{{{}|||||||{||{{|{{|||{{{||||{z{|z||{|||{||{{{{z{{{{{||{}|{{{z{{z{{{|{z|{|{{zzz{z{{{{|||{|yz{{z{zz{{{{||||{|{{{z{{{{|||||{z{{{{|{{{{{{|||{{{{zz{z|{{{{{||{z{z{{z|{||{{|}||z{{|{{{z}{}|{|}||{z{{zy{|{|{{{|}{{|{{||z{|{|{{{|z|{z{{{{}|}||||||{{{{zzz|||||}{||{{{{z|{|{}{|{}||{{{|z{|{{|{{|||{|{|{{{{{||||||}{||{{{}|{{{}{|}~|{{{{z{{||{||||||{{|{||||}||{{}}|{|||||{||{|}|{}}{|{||{{|}||}}}{||{|{{|{|}||}|}{|{{||||{|||||{|}}|{{{|{|||{||}||{{|{{|||{|}{{|}{}{{{z{{z{|{{}||{|{{y{{z|||{{|~~~~~~~}|}}}|}|}|}|}|}||{{{|{|{|||{||{||{{{z{|z{|||{|{|{{|{{{zz{|{||{|{{{{z|{{z{{|{|||{|{{z{{{z{||{z{{|{{{{z{{z{|{{z{{{z{{z{zzzz{{z{||zz{z{zz{{{|{{|{|{{{|z{{zzz|z|{{|{zzz{zz{z|||{{{|{{{zzyzzz{|z{|{|{{z{{z{zy{zz|{{|}{|{{{{{z{||{{{|}|{{|{z||{{z|{|{{|z{{{{{z|{{{{}||z{|{|{{z{{{{{|{{{{{{{{z{{|}|{{{{|z{{{z{{|}|{{|{||{|{{{{{|||{{{||{{{{{{{|{|{{{|{}{{{{{{{{|}{|||}{|{{{|z|||}{|{{|{|{|{}{{{||{{|}{|{{z{{{{{{}|||}|}|{{|{{{|||||||{{|}{|{{|{{||{|}|}|{{|{}{{||||}||}{||z{|{|||||{||||z{|z{|{{||{{|{||{{z{z|z{|||{~}~|~~~~~}|}|}}||~|}|}}}}{{{|{|{|}||}|||{|z{{{z{{||||{||||zz{z{z{{|||{{|{zz|{z{z{{{|z}{{{{{z{{zz||{{{|z{|{z{z{z{{{{|{{{{{z{z{{{z{z{{{z|z{{zz{zz{{{|{|||{{z{zz{z{{{{|{{||z{{{{z{zz{{{{|||{{{z{{zzz{z{{|z|zzz{{|zzz{|z||||{{{{z{{{{|{{{|{}|{{{zz{{z{|{{{||{||{{z{|{|||{{|{z{{zz{{z{{||||{|{{{{{{{{{||||{||{z{{{z{{||{|{|{|{zz{zz|{{{{{}}||{{{z{z|{|{|{||||z{|z|z{{z}}|||}|}{z{{{||||}|{|||z{|z||{{{|{||}|}||{{{|{{{}{|||{|||||z{{{}|}{||{|{{{{{{|{|}}{|||||{{{{{{{{||}{||||{{{|{{{{||}|||}{z||{{{{{||{|{|{{{{{{{{z|{|{{~~~~}~}|}}{||||}}|}}}|}||z{|{{||||{||{||{{|zz{|}|||{|{{{{{{{{{||{|{|||y{{|{|{zz|{{{||||{z{z{{z|{{{{{|{{{{{{{zz{|{|{|||{{{{{zz|{{{{z{{|zz|z{{z{yzz{|{|||z{{z{zz|{{|{|||{z|{{zz{{{{zz{|{z{{z{{zz{{{|{|{|{{{zz{{{{|{{{|{|{{{{{z{z{|||{|{|{{{zz{{z{{{z{|||{{{z{{z{{||{|}|{z|z{{{|z{{{{{|||{{{z{{zz{||{{||{|z{|zz{{||||{||{{{|{|{{{{|||{|{{{||{{|{{{{{||{{}||{{{z{{|{}}{||||y{{{{{{|||z{||||{{{|{{|{{{}}|}}|z|z|{{{|}||||}|{|{z|{{{|}||||}||{|{{|z{|||||||}{{{{{|{{||{}{|||{||{z{|{||{{{|{|||{{{|{{||||z||||{z{|{zz{|{||~~~~~~|}}}||}||~|}}{|}|{{{||{{{|{||{}{{|{{{{{{{|||{||||{{{z{{y|{|{{||{{z{{zzzz{{{{z{{{|z{{z{z{{z{{{{z{{{{zzzz{{{{{{|{{{z{{zzz{{{{{{{{|{{{{{zzz{{{z||{|{{{{z{zz{{{|}{{|{zzz|z{zz{{{{||{z{zz{{zz{z{|{|z{{{{{z{{z{{z|{{|||{{z|zz{{|{{|||||z{{{{{z{|{{{|z{{||{zzz{{|||{{}{|{{zz{{{{{{||{}|{{z{z{zz{{|{{|{|{zz{{z{z{{{|z|||z{{{{zz|{}{}}|{{{{{z{|{y{||}|||}{{{{{zzy{{|{}|}{|{{{|{{z{|{|||||{z|{{{z|||{|||{||{|{{{{|||}}|}}||{{{{|||}|||||}{|z{|{z|{}|{||||||{|{{{|{|{{||}{|{z{{z{{{{|||{|||{||z|{{{{||{||||||{z{z{z|||{{~~~}~~~~~}}||}||}}}|}}|||||{|{{|{}{|{|||{{{{|{{z{||{{||{|{{z{|{|{|{||||z{|{{{{{z|||{||{{{zz{zyz{{z{z{|{z|{yzzzz{{|{{|{|{z{{{zz{z|z|{{||{{{zy{zzz{{z|||{{zzz{zzzzz|{|z||{{zz{{{z{{|{|{{{{{zz{z{z{{{{{{|{{z{{{|zz{{{{{{|{|{{z{{|z{|{{|{{|{z{zzz{z{{{|{{{|z{{{zzz{|{||{|{||z{{|z|{{|||z|{{{{|{{zz{|{}||{{||{{{z{{{{||{{{{||{z|{|{{|||{{||{{{{|{{||{||{{{||||{z{z{{|{|||||{{zzz{z{{|}{{{{{|{{{|{{||{||||}}||zz{{|{{{||{}|}}}{{{z|{{||{|||}||{{|{{{{|{{}}{|||{z{{z|{|||||}}|||{zz{{{|{{|{|||{|z{{{{{|||||{{|{{{{|{{{z{{{{~~~~}~}{|}}|}}|}|}}}{}|||{||{|{||||}{||{{{{{{||||{{||{{{z{{z|||z{{|||{{|{z{z{{{{z||{z{|z{{{{{{}{{{{|{z{zz{z{{{{|{{|{{zz{{zzz{|{|{{{{{{z{{yzzz{|z{{{{z{|{yz{z{{{|{{{|{z{z{{zz{||{|{{|{z{{z{z{||z{{|||{{{{{{{{z{{{||{{z{zz{{{z{{|z|}|{|{|{{z|{{{{{|{{|{{|{{{{y|||z{{|||{|{{z{{{|{{|||{{{{z{{{z|||{||||{{{z{|z{z}|{{|{|||{zz{{{|{|||||}{{{||{{{|||||||||{{{{|{{{}|{{{|||{{{{|{{|||{|}{|{{||{{{|{|{|{|{||{|{{||{|}{|||}{|z{|{z{{||}|}|}|}{z|z|||{|||||{|{{{{|{{|||{{{||}{z{{{|{{{{z|{}{|{{{|z{{{|||{{|||{{{zzz{{|||{{~~~~~|||||}|}}~|}}{|}|{||}||||{|{|{}|||{{|{{z{||||{}{|||zz{{{{|{{}|{{{{{{{{z{{{{{{}|||z{zz{z{{{||{{{{zz|zz{z{{{{{{{z}{z{{zz{z{{{||{{{|zz{z{y{z|{{|{{|{{{{z{zz{|{{{{||{{{z{{|{{z|{|{z{{{{{zz{z{{{|{{||{{{{{{z{z||||{|{{|z|{z{{|{{{z}||z{{{{{{z{{{{{||}|{{{z|z{{||{{|||{{|z{{{z{{{||{|{z{{|{{{z{|}|||}||{z{{{{z{|{{{|{||{{|{{z{{{||{}|||{{{|{|{||{}{||}{|{{|zz{{{||{|||{||z|{{|}}|{}{||{}{{|||{|||||{{||{{{{|||}|{|||}|}z|||z||||||{||}|{|{{{{{||||||{||{{|{{z||{{||{|||||{{{{|||{{||}}|}{{{z|{{|{{{|||{{{{{{{z{{|{|~~~~~~}}}}||}{}|}|}||}||{||{|{||||||||||{|{{|||||{{||||{zzzz{{||{{{{{{{{|{zz|z{{{|{{{{z{{{{{z{{{}{{{{|{{{z{z{{{{z{||{{{{zz{z|{||||{{{{{{{zyzz{{{{{|{|||{|{z{zzz{{{{||{{|z{{z{z{{{{z{|{{{{{zz{z{|||{{{|{{{{z|zz{|{|{{{{|zzz|{{zz{|{||||{{|zzz{{{{{{{|z|{{{z{z{{|{|{{|||{{{{|{{{{{{{|}|{|{{{{{{{{{||{{|||{{{{{zzz{{{|{|||{z{{{z|{|||{||{{||{{{z|||||||||{||{z{z{|}||}{||}{z{|{{{}||{||||||{{{{|{{||{{||}}|{{{{{{||{|{|}||{||{{{||{}|}||{{}|{{|{|{|{|||}}{{{|{{{{{|||||||{{{{|z{|{|{{|||{|{z|{{{{z|z|{||{{{{zz{z{{|{{{~~~}}||{}}}}~}}||||}||{||||||||}{{|||{{{}{|||{|}z{{z{z{{|{{||||||{|zz{{{z|{{{|{{|{z{{{y{z{|z{|{{{zz|{z{z{{z|{|{|{z{zz|{{z{||||{{{{z{zz{z{{|{|{{{z{{zzzz{z|{{|{{|{{{{{zzz{|{{{{||{|{|z{{|{{{{{|||y{|{{{zz{|||{||||{{z|zzz{{|{{{||{|{z{z{z{{{|{}}|{{|{{z{{|||||{|{|{z|{{{{z||{|}|||{z{{{{z|||{||}|{{{{||{{|{{{{|}{{{{|z|{{|{|||{}}{{z||{|||}|||}{||{|{z{z{|{|||{||{{z{{{{{|||||{}||{||{{}{{|{|}|}||{{|{|}z|~|}|{|||z|}{{{|{||{|}||||z{{{{||{|||}||{|{|||{|{|||||||{{{{{{|{{{||||}||{{{{{|z||{{||}}z{{{{z{{{{|||~~~~}||||}}|}}}~}|~~}}|||{{z||||{}|}|{{{{{z|{|{|{{|||{{z{{{z|{{{|{||{{{z{{{z{|{{{{{{{{zz{zz{{|{zz{|{{{z{{{{{zz||z{{{{|{zzz{z{{{{{{|{z{z{y{y|z{|{|{{{{z|zzzzzz{{{z{|{{z{z{y{{{|zzz||{{{{z{{zz{|z{{{|{{{{{{{{z||||{{||{{{{{z{{|||{{{{{zz{z{zz{{{{{|}{}{{{{{|{{{{|{||{{|zz{{{{{{||{|||{{{{{z{zz{||{{|{{{{|||{zz|||{{||z{{{{{|{{||{|||||{z{{{{z{{{{|{|||{z{{{{z{|||}|{||{zz{{{{{||||{{|||{|{z{|||{{|}}|||{{|{|{{|}|||||||{{{{{{{|{|{{}||{{{||{|||{}{|}|}}{{{{{{{||||{||||{z{{{{z||||{|{{{{{z{{{y{{{{|||{{z{{{y{{z{||{~~~~}}}~}|||}}~||||}}||z|||{||{|||}{{||{{|{||{{}{{}}|z{{zz{z|{|{|||{z{zz{{|z{||{{|{{{{{z{{zz|{|{|{|{{{{zz{z{{{{{{|{|{zzy{zz{z{{{{{{{{{z{z{z{z{|z|||||{{{zz{{z{{{z|{||{{zzz{z{{{{{{{|{{z{{z{{{||{||{|zz|z{{z{{z{{{||{||{z{z{z{{||{|||zzz{z{{{||||||||zz{{z{z|{|z||{|{{{{z|{{|z{{{}|{{{{{{|z{{{|{||{}{{{{{zzz{{{}|{||{{z|{{{{{|||||{{||{{{|{{{{|{|{|}{{{z{{{z{{}}{||{||{{{||{||||{||}{|{{{}|||{||||||||{|{{||{||||{||}|{||{z{z{{}||{|||{{{{{{{|{{||||{|{{{|{{{||||{|||{{{{{|z{{|{|{||||z{|{{{{{|{|{||{|{{{{z{{{{|{{}~~|}}~|}}}}}||||{|z|{|{||{{{||}|{||{z{z||{|||{||zzz{{{z{|||||||{z{{{{zz{{{{|||{|{{z{zz{{{|{{{{{zz{{{z{{{zzz{{{|{z{z{{z{{{|{{{|{zzzzzzz{{{{{{||||{z{{zzz{{{|{{{|zzz{{z{zz{{{{{z}zz{z{{z{{z{{{|||{z{z{{|z{{{{|{||{{{{{z{|{|{{|{||{zz{{{zz|{|{||{||z{{z{{|{{|{{||{{{{{{zzzz|||||{z{{{z{{z{|||{z{{{|{{{{|{{||{{{||{{{{{|z{{||{|||||{{{{z{|{{{{|||{|{z{{{|{{{|{||}{{|{{|{{|{||||{|||{|{{|{||{|{|||||}{|{{{|{{{||||}{|{{||{{|{|{{||}{|{{||{||{{|||{|}|{{|||z|{{|}||}|{|{{zz{{{||{|{}|{|{{{{|{{|{{|{{||{{z{z{z|{||{~}~~}{}|||}}}}|}}}|{{|{|{{{{|}||||{{|zz{{{{{{|{||{|z||z{{{{{{{|{z}{{{{{{{{|{|{{{|zz{{z{{z{{{{z{{||zz{{zz{{|z{||{{{{{{zzzzz{{{{z{{{{z{{zzzz{|{{|{{|{z{z{{z{{|{{{{|||{{{zz{{z{{z{{{{z{z{zzz{{z{|{||||{{z{zz{{{{||{||{z{{{z{{||||{{{|{z{z{z{{{z{||{||{{zzzzz{{||||{|{{zz{{{{zz{z{|{{{{{z{{{z{{{{{|{|{{zz{{{{{|{|{{{{{{{{{z{z{|{|{||||{||{{{|{{{{}{{||{|{|z|zzz||||{|{{{{zz{|{||{|||||{{{{{{{{|{|{|{|{|{{{{{z{||}||||||{z{{{{{|||||{{{zz|{{{{||||{|||{|{z{|{{z|||}}|||{|zz{{|{z{{||}||{{{|{{z{z}||{{|{{{{{{z{z{{{{{~~}|}}|~}|}|}}}}}}||{||{|{|{|||||||{{{z{{{|{|{{{{}|{z|y{|{{{||{{z|{{{{{{{{{{{{z||{zzzzzz{{{{{|{{{{z{{{z{{z{{{|{||{z{{zzzz{{|{{{|{{{z{z{zzzz{{z{{{{{z{zzz{z{{||{}|{z{z{zzzz{{|{{{{}{{zzz{z{z|{z{|{{{{{{{z{{|{||{{||{{{z{{{{{{{}{{{|{{{{{z{{{{{{|{||{zz{{zz{||||{|||{{zz{z{z{{||{|||{z|z{z{{{{|{||{{|{{{{z{{{{{{|{{|||z{{{{{{{||{||{{zz{||{{{|{|{|{||{{{{{z{||||{|||{z{{z|{z{|||||||{||{{||||{|||}|}|{||{{{{|}{{|||||||{{{{z}}||{|||{{{{z|{z{|{{}{|||{{{{zz||||||{}|{||z{{{{{|||{{}{|{{|{|{{{||||{||{z|{{z{y||{{|~~~~|}}|}}||~{|}}}|{{{{{{}{||{|}||{|{{|z{|{|{{|}||z{{z{{{{|{{{||{{{{{{{z{{{z{z||z{z{z{z{z{z{{{{|{{y{{{z{zz|{{z{{|{zz|zzy{z|{{{{|z{{{{zzz{{{{{{|{{|{z{zzyzz||}{{{zz{z{{z{z{{}{{|{|{{z{z{zz{{z{z|{{z{{{{{{z{{|||{{|{{zzz{zz{{{{{|{|{{{zzz{{{|{z|{{}{{z{z{{{z|{{{{||{z{|{{zz{|{||||{{z{{zzzz{{{{{{{{{|{{{{{{{|{{{|{||{{{z{{z{{|||{||{{{||{|{{}z||||}{|{z{z{z{{||{{}||{{{{{|{|}{||{||{{{{z{|{z{|||||||{{|{{|{|||{}|||||{{{{{{|||||{|||z|{|{z{{z||{|{|{{{{{z{{|{|||||{{|{z{{{|{||{|{||||z{{z{{{|{}{z{{z{{{z{{z||{{{~}}|}||}}~|}~}{}}{|{||||{{z}|{}~}|{{{|{{{{{|{{}||{{{{zz{zz{{z{{{|{{zz{{{z{{{|z{{{{z{{{{zz|||{{{{zz{z{{z{z{|y{{{{|z{{zzz{{{{{{{{|{{z{zz{{z{{|{{{|{zz{{z{zz{{||{|||z{zz{zzz{{z{z{zz{z|{{{zz{{z{z{{{{{z{|{zz{{{|{|||{z{z{{{z|{|{{|||{z|{zz{{{{{|{{|{z{z{{{{{z{|{{{{{|{{{{{{z{{||{{||{|{{{{zz{{|{{|}|{{zzzz{{{|||{{{|{{{z|{z{||{|||{{{{|z{{{{}{{||{|}{{{{{{{z||||{{|{|z{{|z|{|||{||||{z{z{|{|||{||}|}{{{|{{|{||||z||}{{||{{{{||{||{|{{{{{{{{{|||||{|||{{{{{{|{|||{}||{{{{{|{{||{||||||{{{z{{{{|||{|||{{{{{z{{{{{{{~~~}}|}}|}}}|}~~}}}{}|||||{|||}|||||||{{{{|||{|{{|{|{{{{{z{|}{{}||{z{{{zzzz|{{|{||{{|zz{{{{{|{{{{{|{{zz{zzzz{{{{{{z{{z{{{z{{||z||{{{|{yzzz{|{{||||z{{z{zzz{|{{{{}{|{|{zz{{{{{z{{||z{{z{{{z{{|{|{||{{{z{|z{{{{|{||{{{z{{zzzz||{|{||{{{{|{{z{|{{||{|z{|{{z{{||{||{||{{{{{z{{{|{{||{{{{{z}z{{||||{}||{zz{z{{{{{|{||{||||{{{{{{{||{|{|z{|{{{{{||{||{}{|z{{{{{{{|}|{|}||{{z|z{{{}|||{|}|{z{z|{|||{}||||||z|{|{||}|}}{|}|||||z||{|{|{|||}{|{{{{|{||||||}{{{{|{{{{}|}|}|}{{{|{{|||||||{||||{{{{{{{|{}|||||{{{{|{z{{||z~~~|}}|~}|}|||}}}||{z{|||{||||}}||{||{||z{{||{||{||{z{|{{{}{|{|{|{{|{zz|z{{{z{||{{{{z{{z{{{|{z{{{{y{{|{{|{{{{z{|{{z{zz{{z{|zz|||{{{{{z{z{{}|{{|{{z{{{{z{{{|{||{||{|{{{{{zz{{{z{{|{zz{|zzz{|{{{|{{z{{zz|{{{{{{{{|||z{{{z{z{|{{}|||{z|{z{{z{{{{||}{|zz{z{z{{{||{||{{{zz{zz{{|{{{|z||{|{{zz|{||{|||||{{{z{zz{{}|{||||z{{|z|{|}|||||{{|{z{{|{|||}|{||{{{{{{{|||}{{}|||}|{{{{{||{{{{||{|{{|{{{||}{||||{{||{{{{{}{{|}}||||{{{||z}|{|{||{{{{|{{{|||{{{}}}{{|||{{||{|{|||}z|{{{{{z|{||{|}||z{{}{|z||{{{||{{{zzz{{{{{{z~~}}}|{||}}}}|}}}||{||{{|||}|}||}||{||{z{||||||||z|{zz{{z{||}||||{{{{{{{z{|{{{{|{||z{{zzy{{{{{|{|{{{z{{{z{{z{{{|{zz{{{y{z{{|{||{{{{{zzzzz{{|{z|{|{{{{{{{{{}{||z|{z{|{z{{z{{{{||{{|{{{zz{z{{||{{{|z{{{|{{{|{||||||{{z{{z{{{{{z|{}}z{z|{z{{{|{{|{{|{{||{z{{||||{||}{z{{{|z{z|{{|{|{{z{{{z{{{{{{{||{|{{{{z{{||||{||{{{{{{{{{{z|||||{{{{{{|{|||{||{||{||{|zzz|||||}~||zz|{|{{|||{|{|||{{{{{|z{|||||}|||{{z|||||{||||||{{{{{{{|}|}|}|}||{{|{|{|||{}||}}}{|||{|||||}|}}{||{|z{||||{{}}||{{{{z{{{{{}{||||{{{{z{{|{{{|~~~||~}}}|||}~}}}~||||}||z||}{||}{{{|{{{z{{{{|{|{|{|{zy{zz{{|{|||||{{{{{{{{{{|z|{{{|{zz{{{{|{z{{{{{{zzz{{{{|{{{{{{{z{z{z{z{{{|{{yz{{{{{{z{{{z||{||{{z{z{{zz{{{{{}|{{{{yz{z{{{|{|{{|{y{zz{z{|{{{||{z{{{{{zz{|{{{|z{|z|z{{{z{{{}{|{||{|{{{{{{{{{|{{|{{{{z{{{|{{{{||{{||{z{{z||{|{{{|{{}|{{{|z}{{}{||zz{z{{{zz{{{{{{|{z|{|z{{{|{||||{{z{{{{{{{|||||}||z|z{|{z{||{|||||{{z{{{|||||{||{|{|{z{||{}{|{|{||{{|{{{{{}|}|{||}|{{{{{||||{|||}{{|{{{{{|{{||||||z{{||{|{|{|}{{|{{|{|z{{{|{|||}|}|{z{{{z|}||z|||{{{{{{zz{|{}|~}}}|{||||}|}}}|}}{|{|{{|{||{||}}||{{{{{{{{{}{{{{{|{{{z{|z{{|{|{{}{{{{{{z{{{|{z|{{|{{zzzz{{|{{||{{zzyzz{{{{{{{{|{{{{{{{{z{|{{{{{||{zy{{|{{{{{{|{{|{{{zz{z|{{{{|{}zz{{{{{zzz{{{{{{{zzzzzz{z{|{{{{||{{{z{{zz|||||||{|{{{z{|{{{{{||{|||{z{{{{|{{{{|{{|z|{z{{{|{{{||}|{{{|zy{{||{||||{{|{{{{zz||{||||||zz{z|{{{{{|{{||{{{|{{|{|{||||{||{zz|z{z|||{|}||{z|{{z{{{||||{|||z|{|||{{|{{{||||{{|{||{|||||}|||||{{{|{||||}||}|{{|z{||}|}||||{|z|{|{||{|}{|||}|||||{{{||||{||||{{z{{|{{|{|||}|{{{{zz}{{|||{|}{{{{zz{z{|{|{z~~~~~}}}}{|}}}}}}|||||{{|{{|||{|}|~{|{|{{zz{{||}{|||{{{z{{|z|{{{||{|{{z|{{{y{|{{{{{{{{{{{{zz{{{{{|{{{z{{{{z{{{||{z|{z{{{{zz{{{{{z{|{|zz{{{z{{{{{{|{{zz{zzz{z{|{{|||}{z|{yzzz{{{|z{{|{{z{{{{{{|{{{|{|zz{zz|zz|||{{{||{{{{zz{{{{z|{{{|{zzz{z{{|{{|||{|{{{{zz{z{|||{{|{z{{z{z{z{z{{{{{{|{|{{zz{|{|{{|||{z{{z{{{{|{{{|{{{{{{z{{{{{||{|||{{{{{{{{||{|{||}z{|||{{{|{||||||{{{|{{{{|}{{||||{|{z{|{{{|||||}|{{{{z{{{{}{||{|}{{{|{{{{|}|}|||||z{|{z{{{|||||||{{{{{|{{}||||||||{||{z{{z|{{|{}|}{z{{{z||{{|{{{{{{|{{z{{{||{|~~~~}}}||}||}}}|}}}|{|{{|{|}||{|{||{{{z|{{{}|||{|}|{|{{zz|{{{{{{|{}{{{{{{zz{}{{{|}{|{zz{zz{{{{zz|{{{{zz{z{{zzz{{||{z{z{zz{z{{{{{{|{z{z|{z{{{{|z{|||{z{{zz{zz{{z{{|{z{{{{z{{{|{{|||z{{zz{z{zzz{{{{{|z{|{{{{z{|||{|||{{{{{zzz{{{{||||{z||{z{{||{{||{|{{|{{z{|{{|{{|||{{{z{z{{|||{||{||{{{{{zy{z||{||{{z{{|{{{{{|{{||{|{{{{{zz|{{{||}|z{{{|{{|||{||||||{||{{zz}||{|||||z{{{{{||{|||}||{{|{|{|{{{{|||}|{{{|{{||{}||||}||{{|{{{{{{||||||||{{{zz{{||||}||{{{{||{|{|}}{|}z{{{{{||z{{|||}|}|{{{z{{||{{|{{{|{{{{z{{z{z{|{}~~}||}||{|}}|}~}}||||{|{{|{|{||||{|{{z{z|z|}}|{|}|{{zz{{y{{|{{||{|{{z{zz{{{||{|{{zz{z{z{{{{|{{|{{{{zz{zzz{{zz{|{{{z{{{{zzz{z|{|{{z|{{z{zzzz{z{||{{z{{|zyz{{{|{{||{zz{zz{{|{{{{{||{|zz{{zzz{{{{||{zz|{{{{{z|{||{{|{{{{{zz{{{|{{{{|z{{{zzz{{|{{{{{|{{|{{zz{{|{||{||{z{{|{zy{{|{{{|{{{{{|z|{{|{{{||{{|{{|{z{{|{|{|{|{z{{|z{{{}{{|{}}{||{{{{z|{||{||{{|{{{{z{||{{{{}{|z{{|{{{|}||||||{{|{z||{||{|~|||||{{{{{{||||{||}|{|{{{|{|{|}||{|||{{{{{z|{||{|||||{||{{{||}|||||{{zz|{z{{|{|||}{{|z{{{{z{||{{{}|{{{{{z{z{{|{|~~~~~}}~}{}}||||~}}}||||{{z|{||||{{|{{{{{{|z|}{|{{||}{{z{{|{{{|}|{{}{{{z{{{{z|{{{||{{{{z{{zz{|{|{{|{z|z{{{z{{z{{z{{{zzzzz{{{z||{{||{{{z{z{zz{{|{|{{|{{|zz{z{{||{{z||zzz{{{{z{{{{{{||{{zz{z{{z|{{{{||zz{|{{zz||{||{|{{{{zzyy{|z|{||}}|{{z{{{{|z|{}|||zzz{z{{{||{|{||{{|{{{{{{{{{z||||{{{{{{y{||}{{|}{|{|{{z|{|}|{{||{{z{{{{{{||{}|{|}{|{z{{||||||{|{|{{|{{{{z{|||||{{|||{{|{{~|{|||}|{{{|{{{{{||{}|}}|{{|z{{{{|||}{|{|{|{{{|||}{|{||{|{{{|{{|{{|||||||{z{{{z{{||{||||{{|||{{z{||{||}|{|z|{{z{||{|{{{||z{|zz{{{{{{{~}~~}~}~~}}}|}}}}~}}}}||{|{||z|}{{||||{{{{|z{z{||||{{|{||{zz{z||{{{{{{|z{|zzzyz{|{{{|z{{z{{zz{{{|{{z{{{|{{{z{{zz{{zz{|zzzz{{{{{{{z|{{{zzz{{{zz{|{{{|{{{{{{{zzyz{{{{{{{{z{y{z{{z{{z{z{|{{{z{z{z{{zz{z||{{z{{{{y{|{{||}|{z{{{{zz{{{|||}|{{||z{z{{|{{{{|{zzzz{z{{|{{z|{|||{{{{z|z{|z|{{{{|{|z{{z{{|||||{{{{{z{z{{|{{{{|||{{|z{|z{{|||{|{|{{|{{{{{||{{||{|{|z|{z{{||{|||||{{{{|{{{|||{||}|{z{{{z{{|{|{||{||{{{{|{{||||||||{{{|{{{||||||||||zz{|{{|||{{||||||{{{||||}{}||{}||{{|{{{|{|{}||||{{{{{{{z||||{{|{{{z{zz{||||{~~~~~~~}}||}|}}|}}}|||{|{{|||{}{|{{|{|{z{z{{|{|||{}|z{{{z{zz{|{|{|{|{{{{{{zz{{z||{|{{{{{z{z{{{|{z{{{{y{{z{{z{{{|z|z{{{{zzyz{{{{{|{|{{{{zz{zz{{{{{z{|{z{{zz{{zz|{{{{|{zz{z{{{z{{{{}|{{{{{{zz{{{{|{|||zz{{{{{zz||{|||{z{{{{z{{|||{{|}|{z|{zzzz{{{|||{|{{{z|zz{{|{||||}{{{{{z|{z||{|}|{z{{z{|zz{||||{||{{{{{{{{{|||{{}{{{{{{{{{||||||{|||{{|{z{||{|}}|{{{{{z{{z}|{||||||z{z{zz|||{|||}||{{{{|{{{|||||||{{{|{|z|{}{||}}}|{||{{{|||{||}|{|{{||z{{{|{|{}|}|{||{||{|{{|{||}{{{|{z|{{{{{|||||{z{z{z{{|{|{{||{{{{{{|{{||{{~~~~~||}}|||}||~}}}||{{|}|{|{||||||{{||z{z{{|||{{}|{{zz{zz{{{{{{{||{z{z{{{{{||{{{|{{{zzz{{{{{{{{|{{{{{|zzz{{{z{z|||zzzz{z{z{{|{{z|z{{z{zzz{|z{|{{{|{{{{zz{z{||{{z|{|zz{{{z{|{{{{{|z{z{{z{|z{{{{{{||z{zz{{{z|{|z|{{{{z|z{{||{{{{{|{{{{{z{zz|{||{{|||{z{{{{z{{{|{|||}|z{{zz{z{||||{{|{{{{|{zz}}{{{{{|{|{|{{z{{{|{||||{{{{{{{{|{|||||{|{{{{{|{}||{|||||{{|{{|{{|{{|||||{z{|{{{||||||}||{{{||{||}|{|||{|{{{{|{|{|}{|||||||||{{{}||}}|}|{{{||{{{{|}|||||||{{|{{{||}||||}|{{z{{{{|{|||||}{{{{{{|{||||{|{||{{{{{{z{{{||~}}}}||{|}}~}}|}||}||{z|{||z||{}||{{{{{{{{{|||{{||||z{{{{|{|{{||{{{{z{{|{zz||{|||{|{z{zzz{||{{}{z{{{z{z{z{{{{{|{|{{{{|zz{{{|{z||{{z{{z{yz{||{|{{|{{{{{zzz|||}{{||{{z{zz{{{{|{|{{{{|zz|z{z{{z{{}||}{{{{|{z{{{|{{{{|{zz{{{{|||{{{}}{zzz{z{{|{{{|||}|{z|z{{{|{{|{||{|{{{zz{z{|||{|||zz{{{||z{{|||{}|z{|{{z{{|{{{|{}||z{{{{z{{|||{|}{{z|zz{|{{{z||{{{|z{|z{z{|{|{||||{z{z|{z{{{{}|||}{|{zz|||||{|||}||{z{{{zzz}}||||}|||{{{{|{|{|{|{|}{|{{{{|{{{|{}|}}|{{|{z{{||||}|||{{{zz{z{||{{|{{||{|{{|{{{{{{||||{|{{|{{|||||~~}~~~~~}~}|}}|}|||}||}|}{|{{|z}{|{||||{{{{{{z|}{}{{||{|z{zzz{{{|{|||{{z{zz{{{{{|||{{||z{{z{z{z{{{|{{{{zzzzz{{{{{z|{|z{{zz{{zzz{{z{{{|{{{{{z{z{|{|{{{||{{{{z{{y{{{|{{{{|y|{{z|z{{{{{z|y|z{z{z{{z}|{{||z{z{z{{z{|{|{{{{||{zz{{z{{|{{{{{{{{{{{z{{||{{z{|{{{{{|{{{{|||{{||z{{{|{|z{|{|z||}{{|{{{{{{||{{|||{{{{{z{{{||{{}|{|{z|z{|{z{{|{{}{{|{{{{|{|{{|{{||z{{{{{yz{}|{{|||{{{z{|{z||{{|||||{||{{|{{z|}||||}{{{{|{{{}}}|||{}|{{{{{|||{}{|}}|{{zz{z{|{|{{}||}||{||z{||||}||{|z{{{{{{{|{{{|}{||{z{{|{||{|{||{{|{{z{z{{||}|~~~~~~}}}}}{|}}~|}}~|}|}{{{{{||{|}{|||{{{{{zz{||}||{||{{|zz{{z{{{z||||{{{{{{{zz||{|||{{z{{z{{{{{}{{|{{{z{{zz{z{z{{{{{|zzz{z{z{z|{{{|{{{zz{z{z{{z{{|{{|{{{zzz{zzz{{z{|{{zz{{|{z{{|{|{{|{{z{z{zzz|{z{|{{{{z{{{zzz{|{{|||{{|z{{{z||{{{{{|{{{{{z{{|{{|{{||{{{z{{{{{z||{|{{{{{z{z{{|{||{|{|{z{z{{zz{|||{{||{z{zz{z{{|{{{{||{{|{|{|{{{|||||{z|{||{|{{{||{|||{|z{zzz{{||||}|{|{{|{{|{|||{||}|{{{{{|{{{||||}|{|{{{{{{{||||||||||{{{{{{|||{}|{||{{{|{{{||z{|||{|{{{{{{{|}{|{|}}{{{{{{z|{{{{|||}{{{{{{{z{|||{{|{{{{{{z{{{{{{{~~~}}}}}}|{~}||{}}}}}|z{{{|{||||||||{{{{{z|z|{||{{|}}{{zz{{{{z||{|{{z{{{{{{{|{||{{|{zz{zyzz{{|{z{{|{{{zz{{{z{{{{{|||z{z{{{zz{|{{{{{|{{z{zzzz{z{||{|||zzz{zzzz{{z|||{z{z{zzzz{{{{{{||{{{zzz{zz|{{{{|{{zz||{{{||{|{{{}{{{z{z{z{{{z{|||{|{z{{{{|{|{{||{{{{{|z{{{{{|||{{{{{{{{{{||{|{||{|{{{z{z{{{{|{{|||{{|||{|{{|{{||{{{||{|{{|||}||||{z|{{{zz|{||{|{|z|z|{{z{{{|||||{|{z{|{{{{|}|||}}{z|{{{||{||||}|||{|{{||{{}{{||{|{|||{{{|||||||||}{{{{{|{|||||||||{{|||{|{||||{{|{{{z||{{{||{{|}|||{|{||{{{{||{{|{|{{{zzz{||{|~}}~|}}||~}|||}|}}||}}|{|{{|{z|{|{||||{{{z|{{|{|||{{||{{{{zzzz|{|||{||z{zz{{|{z{{{{||{{z{zzz{{{{|{|{||zzz|y{z{{{{{|{||zzzz{{z{{{{{{z{}z{z{z{{z{z|{{{{{z{{zz{y{{{z|{|{||{{{{z{z{{{{{{{{{{zz{{zz{{z{{{{|z{{z{{zz{{{{{{||z{{z{z{{{{|{|||||{{z{{z{|{|{{|{}{{{yz{|z|{|{}||{}z{||z{{}{||{|||{z{{|{|{{{{{{{|z|{z{{{zz|||{{{||{{{z|{||{|||||{{z{z{{|{{{|{|||||{{{{|{{{{|{|||||{z{|{{|{{||{||||{}{}{{|{|||||||{||{{{{{{{}|}|||||{z|{{{{|||{||||{{z|{{||||z|||}||{z{{{{{z{|}||||{|{zz{{{{||{|{|||}z{z{z||{|{{{|{{{{z{{{{{{|{{~}~~~}~~}|~|||{||}}|~}}}{||{{|{{}|||||||||z{|{{|{{{}|{||||zz{{{z{z|{z|{}zz|{{zz{z|{{{{||zz{{{zz{|{{{{z|{{|{{z{z{z{{{{||{zzyz{{zz{|{{{{{z{zz{y{z{{{|{|||{{z{{{z{{{{|{{|{|{{zz{{{zz{|z{{{|{{zz{{y{{|z|{||{{{{z{zzzz{|{{z{||{z{{{{{{{{{|{||{{{{|z{{|||{|{{|{|z|{{zz{{|{{|}|{{{{{z{z{|{|{|||{{{z{{{z{||||{}|{|{{{{{{{||z{|||{|{z{{{{}|||||||{{|zzz{{||{}|{|}{|{||{{z|||{|||{|z|{{{{{||||{{||{{{{{|||||||}{}}|{{{{{{{z}|||||||{{z|{{{|{||{|~||{{|{||{{|{{||||{{z{{|zz|{||||}|{{|{|z{{{||||||{{|{{{z{{|}|{|{{||{{{{z{z|{{{z~~~~~~~}~}~}}|}{||}|}|}|}{{{|||{{{{{|{|{{||{|{z{||{}|{|||{{{z{z{|{{|||{{zz{zzzzz{{{{{{|{{{zz{{z{|{{z{{{{zzz{z{z{{{{|{{||{{{zzzz|{z{{z{{|{z{{{{z{{{|{{{|{{{{{z{{{{|{{|{{{|{z{zzzzz|{{z||{{{{{{{z{|z{{{{{|{z{zz{z{{{{||||{{{z{{{{{{|{|{|}|{z{{|{{{|{{{{{{|zz{{{{z{||{|||}|{{{z{z{{{||}||||{{zz{|{|{{||{{|{{{{{{zz|{{|{|z{}{{{{{z{z{{|}||{|{{{z|{{{{|{|{|~|{{{zz{{|||{||{}|{z{{z{z{|}{|{|||{{{{||{{|{|||}|}|{z{||{{z}||}|||{|{{{{{{|}}|}||||{|{{{{{|||||||||z{||||{{|{|||||{|{{zz{{{{|{|||}}{{{{||z||||{||}{z{{{{{{{||{{~~~~~~~~}~~|||||}{}|||}}}|}{|z||{|z|{{}}{|{{{{z{{{||{{{|}{{{{{{z{{{{{{|{|z{z{{{{{||{z{||{{{zz{{{{{{|{z{{|{{{{zz{{||{|{|||zzz{{zzz{{|{||{{{z{{zzz{{{|{|{|{z{{{{{{z||{{|{|||{{{z{{zz||{{||||zz|z{{zz{z{|{||{z{{{|z{{z{{{|||{{zz{{zz{{{|{|||{|{|zz{{{||{{{{|{{{{z{{{|{{{{{|{|{{{{{{{||{|||{{{{{{{{{{{{|{||}{{{{{{{{{||||{}{|{|{{{{{|{{||||||{{{z{{{||||}{||}|{||{{|{||}}|||||{{{|{|{|}}{||}|{{|{{{|{||||||}|}||{||{{z||||}|~||||||{{||}|||}||||{z{|{{|||{|}}|{{||{{{}}|{|||||z{{{{{{|||{{{}|{|{{|zz{{|||||}||{|{z}z{||{{|~}~~~}~}|}|{}}}~|}||~{}||{{|}|||||{||{||{{{{{|{z|}}{{||||{{{{{z|{||{|{|{{{z{{{z{{{{{{{{|{{|{{{{}||{{|{{{|{z{z{{{{z{{{}}{zz{zzzz{{z{{{|{{{{zz{{yz{|{{{{{{{|{{{{z{{{|{{{||{{zzz{{z{{{{{{z||{{{z{{{|{{{{{||{|{{|{z{|||{||{{|{{{z{{{{|{||}|zz{{{z{{{{{|{|{||{{{{{{{{{||}||{{|{|{{|{{{|}{||||{{z{{z{|||{{|}{|{{{|{{||{{|{}||z|{z|{{||{|}||}||{|{|{|{|}{|{|}}{{{|{|{{{|{}||}||{{{|{z|||||}|}||{{{||}{||{|{|||||{{||{||||||||||{||{{|{}|||||}}|{|||{{z||||||}|{{{|||{{{|||||||||{||{{{|||{|||}{{{|{{{{{||||{||{z{{{{{z||{{|}~~}~}~}~}}}}||||||}}||}|}}|{|||{{{{{{|{|{{z{zzz{|{|||{||{|{{{z{z{{{{|z|{{z{z{{{{{z||{{|{{{{{z{zz{|{|{{|{z{z{zzzzzz{|z{|||zz{{z{{z{z{{|{{{{zzzzz{{{{{{}z{{{{z{zz{z{|{{{{{{{{{{zz{{||{{z{{z{z{y{z{{z{|{{|{|{{z{{{{z{{{{{{||{z{{|z{|{||{|{|{zz{zzz{{{{{|{{{|{z|z{{{{{{{{{{{{z{{{{z|{z{||{||{{z|{{zz{{|{}{{{|z{{z{z{|{|{|{|||||{|{{{{{{||{||||{{{|{|{|{{}||}{{z{|zz{{||||||||{{|{|z{{|{||||}{|||{z{|||{|||||}|{|z||{|{~||}|}||{|{{{|z||||||{}{{||z|{{|{{||||||{{|{{||{{{|||}|{{{{{|z{{||}|}}|{|{|{{{{{|{}|{{{|{{y{{{{||{{{}~}~~}~~|}}|}}{{{||}|}}|}}||{{|{{{{{{{|||{z|{zz{{{{|{{{z|||{{z{{{z{{|{{}||{{{{z{{{{|y{{{{|{z{{{z{z{z|{||{{{{{z{{z{{{{|{|{|{{{zy{z{{|{|{z{{|{z{z{zz{||{{z}{{z{{z{z{|{z{|{{|{{zz{{zzz|{z|{z{|{yzz{zzz{{yz{|{{zz{{|zz{{{|{|||{z{{{{zz{{|{{||||zz{{zz{|{{{|||}{{{|{{z{{|{{||{{{zz{|z{{z{z{|||{{{|{{{zz|{|{{||{{{{|{{{z{|{{|{{{|{|{z{{|||||{{||{|{z{{{z{||}{{||{{|{zz{{{{{||||{|{{{z|||}||}|}}||}{|{||{||z|}}{|{{{{z{{|z||||}||{{{{{{{|{}{|{|{||{|{|{|{{{{}||||{{{|{|z{||||{}||{{{{|{{z{||{{||||{{{{{{z{|{|{||{{||z{{{{{{|{{~}~~~}}~}||{}|{||}}|}}|}|{{{{|{{{||{{}|||{{{|z|{{{|{|||{|{|z{{{z{{{{{|{|{zz{{{{y|{{{{{|{{z{z{{zz{{{z{{{|{z{{zz{{{z{{z{{{{z{zzzz{{{|{{z{|z{zzz{{{zzz{|z{{z{z{{z{z{{{{{||z{zz{z{z{z{|zz|{|{|{{{z{y{{|{||||{z{zz{y{{|{{{{|{|{{{|{{z|{{{{||||{z{zz{{||{||{||{{{{{z{{|{{{{|{|{zzzzz{z{|z{||{{|{z|z{z{|||{{||{{{{{{{{{{|{{z}|{|{zz|z{{||}|||{|{{{{|{{{{||||}||{{|{{zz{||||||}{}{{z{{{{||||}{|{{{{{z||{|||||}|||z{{{z{|{}||||||}{{{{|{{||||}|||{|{{{|{|{{||{{{||{||{{{{{|}|{|||{{{z{{|{{}|}{}{{{{{|{z||||{|{{{|{{{{{z{{|{{{{~~~~~~}}~}}~~~}}|{|}{|||{||}||||{{|{{{{~{||||{{zzz{|{z{|{{{{z||{{{zzz{z|z{|z|||zz{{y{z{{{{{z|||{{{zz{zz{{{{{{|z{zzz{{z{{z{|z||{z{z{z{z{{{|{{{{|{zzzzzzzzzz{{z{{z{z{{zzz{{{|z{|{{z{z{z{zz{{{{|{|{zz{z{z{{{{z{{|{{{z{zz{z{z||{{|{zzz{|z{z{|{{|}{|zz{z{{{{{zzz{{|{{{{{zz{z{{|{|{|{z{{{{z{z{||{||{{{zz|zzzz{|z{{||{{{{z{{{{{|||{|z|{{z{{{{{|{||{||{z|{{|{|{|||{{{||zz{{{|{{||||{||{{z{{|zz{{|{z}{{|{{{{|{|{{|{|||{}|{{|z|{{||||}}}||{{{|{||{}||{||{|{|{|{{{|{{|{{||{|{{{{{{{|{||||||{}{|{z{{|{{{||}|z{{{{{y{{||{||{|z|zz{z{{||{{~~~~}}}}~}~}~}{}|{|{{{|||||}||||{{|{|{|||{||||{|{{{{{{||{|z|||{{|{z{|{{{}{{|{|zz{z{|{zz{{|z|{|{{zz{yz{|z{|{{{|{{{{z{zz{z{|{|{|{{{zyz{y{{{|{{|{|{{{zzzz{z{{{{|{|{|z{zzy{{{{|z{{{z{{{zzzz|{{z|{{{{zzzzzyz{{{{{{|{{|z{{{zzz|{|{|{{{{{z{z{{{{{|{{}{{{{yzz{{z{{{|{|{{z{{{{y|{|{{{|}zz{{{z{z{{{{{|{|{{zzzz{{||{|{||{{z{{{{zz|{|z{||{z{|zz|z|{|{}{|{|{{{||{|z{|{|{||||{{{{{z{{|{||{|{|z{{{{{{|||{{{||||{z{|{{{{|{|||}|{{{|{{{}}{|||||{{{{{|{{|{}{|||}|z{{{{{||||}{|}}|{|{{{{|{|{|{}||{z|{z{z{|||{|||||{{{|{|z|{}{{|}|{z||{{z{|{||{~}~~}~~}~~~~}~}|||}||}}}{|}}}}{{{{|{{||}{{|{|{{{{z{{{{|{|{{{{z{z{{{zz||{z{{||z{{z{zzz{{z{{|{yz{{z{{{{{{|z{{{{{{{zz{z{{{{|{z{|{zz{{z{zz{{|{{{||{{zz{zz{{{z{{|{z{{z{zz{{|{{{z{|{{zzzzzz{z|z{z{{z{zy{z{zz{zzz|{|zzz{{{{z{|{|{{}|{zz{{{{z{{{{{{{{zz{{zz{z||{{z|{|{zzz{{zzz|{{{{|{{{{{|z{z{{||{{|zz{zzzzz|{{|{{{}{{{z|{{{{||||{{{{{{z{|{|z||||||}|zz{{|{|z||||||{|{z{{{{y{{||||{||{zz{|z{{||{||||{{{{z{|{{|||||||||z|{{|{z||||||}||z|{{z{{{||||}{{{{{{|||}|{{{{||{|{{|{{z{{{{|||{|{{|{{zz{{{{|{||{{{{z{yz{||{|z{||||{z{{{z|||{|~}}~~}~~}}}}}~{{||}||}}||}}}}|{}{{{}{|{|||||{|{|z{{{{{||{|{|}||zzzz|{{||{{|{|{{{{{{{z{{{z{{{|z{|||{{{{{{z{{{{zzzzz{yz{|{|z{{||{{zzz{z{{|}{{{z{{z{z{z|{{z|{{|{z{{zy{{{{{|{{{}z{{{{{{{{{{{z{{{|{{{{{{zz{|zz||{z|{{{{{|z{|{{|{{|{zz{{{z{{{|{||{|{|{zz{{{||{z{||{zz{zy{|{{||{{|||{{{|{{{{{{|{||||{{z{z{{{|||{||||{z{z{{zz}}}z}||||{{{|{z{|{||||||{{{z{z{{{|{||{|}{{{{|{zz{|}}||{{|{{{|{{||{|||{|{{{{{|{{||||||||{|{||{||z{{|||}|||{{{{{|{|{|{|||||z{zz|{|||{{|||}|{{z||z{||z|||{|{{||{{z{|||{||||||{{{z{y{}|{{||||{{|{|{{{||{{~}~|~}|}}}}}|}}||}||}|{{|}||}}~}|{||}{{||{}{||}|||{{z{|z{{||{}|||{{z{{{{{{{{{{||{{zz{{{z{{|z{|{{{{{{z{{|{z{{z{{{zz{z{z{{{z{||z{|zz{zz{{z{{|{{||{{{{z{{z{{{{{|||{{{{{zz{z{{z{{||{zz{{zz{{{zzz{|||z{z{z{{{||{{{{|{zz|{{{{{{{{{|||{|{{z{|{{{|||{{{|{z{{{z{{{|{{{{{|z{{{z{z{{|{{{{||{z|{{z{{||{{|{|{{{{{z{|yz{{{{|{{{{{{{{{{{z|z{|||{z{{||z{|{|}}{||z{{z{{|{|{{||||||{{|{z{{||{||{{||{{||{{||}}|{||||{|z{|{{|||||||}{z|{{{|{{||}|||||{{|{|{{||}{|||}|{{{|{{{{|}|||}||||z||{||{|||}||{{{{zz{{{{|{||{{|||{{{{z{{|}|{||||z{{{z{z{||{~~}}}}}}}}}}}}}|}}||{||{||||}}|}{{z||{|{{|{|{||{|{{{{zz{{{{{{|{||{z{{z{z||{{||{{{z{{{zzz{{|{{|z{{zzz{{z{{{|{{{z|{{zzzz{z{z|{|{z{{z{zz{{z{zz{{z|z{{z{{zzz{{|{{z|||z{zz{{z{z{{|||{z{{zy{{{{{|{z{{|z{|{{{zzz|{z{{{{{z||{zz{{z{|{{|{{{{{{{z{{|{{{{{{|zzz{zz{{z{{{{{{{{{{{{zz|{|{||||{{z{{z|{{{{{{|{||{|{z{{{||z|{||||z{z{z{{|||{{||{{{|z{{|z{||{|}||||{{{{{{|{|{{||||{{{{{|z{{{|{{}|{{{{{{z{|||{|||}{{{{|{{{||{{||{|||z||{{||}|{|{{||z{|{{{{||||{||||{{{{{{{{||||||{|{{{|{{{|z||{||{|{{{{{z{||{|{||}{|zzz{{{{|{{{||||{{z{z{|{||{{~~~~|}~~}}~}}|}~|}}|{|{|||}|}|}}~|{z{||{{|{{{|||}|{{z|{{{|{{|{{}||z{{{z{z|{||{|||{{{{z{{{z|{{{{{{{{z{{z{{{{|{z|{{{{{zz{{{{{{{{{||z|{{{{z{z{{{{{|{|zz{zzzz{|{{||{|{{{zz{zzz{{z{{|{{{{z{z{zz{{{z|||{zz{zzzz{|{|||{{{zzz{|z{{|{{{z||{zzz{{|{|{{zz|{|z{z{z{{z{{{{|{||z|{zz{{{{{|{||{|||zz{z{{||{|{|{{{{{||z{{{{|{{{{|{{z{|z{z{||{|}|}{{z{{z{{{{}{||||{|{{{{{{||||{|||{|{|{zz{|||||{|||{{}|{{{|||||||}{{{{{|{{||||{||||{z|{{{{{}|}|||}|{|{{{{{}{}|{}}|{{{{|{{||}||||{{|{|{{{z|}{{{{|||{||{{{z{||||||}||}z|{{z{{|||{{{|{{{z|zz{{||{z~}}~~}}|}~}}|~}}}||{{{{{||||}|||~{{|{{{{{}{|{{|||{{{|{{zz{{{|||}{{{z{zzzz{z||{{{|z{{{zzzz|{{{{{|{{{{zzzzz|{|{{{{{{{zzy{yzzz{{{{||zz{z{{z{{{|{{||zz{z{z}zz{{{||{{{z{{zzzzz{||{{{|{{{z{zz{zzzzz{|{{{zzz|zzz|{{|{{{|{z{{{z{z|{{{{{|{|z{{z{y{{{{{{|||{{{zz{|z|{|||{||{{{{{z{z{|||{|{{{|zz{{zz{|{{{{||{z{{{|z{|||{|{|{{{z{z|z{{|{{{{|{z{|{z|{{}{|}{|{||{{z|{{{|||||{||||{{{{z{{|||||}|}{{z{zz|||{||{||{{||{|{{||{|{{{||{z|{{{{||}|}|||{{{|zz{||||{|{{}|z{{{{{{{||||||||{|{{{{{||{||||}zzz{|{|{{|||}|||{|{|{{|{{|{{{|||{{{z{{{z||{|{}~}~~~}||}~}|}|}~||}|}||{||}||}}||{|z{{|{||{{|{}|{{y{|{z{{|{|{||{{{zzzzzz{|{||{|{{{{{{zz{|||{{|||zz{{zzz{{{|{z||{{{zz{{{z{{z{{|{|{{{zzz{z{z{{zz{{{|{{z{z{z{|{|{{{{{{{{z{z{{{|{|||zzz{zz{{{{{{{|||{{z{zzzzz{{{{{||{z{z{z{z|{{|{|{|{z{|z{zz{|{{{{{|{zzzzz{z{{{{{z|{{|z{{z{z||||{{{{{z{{|{{zzz|{|{||{{{{z{z{{|}|||}{{zz{{{{z|{{|{{||}{{|{{|{||{{||{||{zz{{{|||{||}|{||{{{{z{||||||}{{{{{{{||||{{||}|{{{{z{|||||||}||||z|{{{|z}||}{||{{{{|{{||{{||||{{{{|{|{{{|{|||}}}{{{{{z|{}||||||||{z{z|{|{||||||||{{z{{{|}|{||||{{z{{{z||{|{{}}~~}}~}}{|}}}}||||||||||{|||||}|}}{{{||{{|{|{|||||{{z{{{z{|{}{||||{|zz{|{|{{|||{{zz{{{z{z{{zzz||{|{{{{|yz|z{z{|{z{zzz{{zz{z{{{|{|{{|z{zz{{{{}{{|{{zz{zzz{{{{z{{||{z{zz{{zz{{|{{{|{{{zz{yz{{{y{{{{{z{zz{{zz{{{{{{|{{{{{{{z{|{{{{|{{z{z|z{zz|z{{{|||{zz{{{{{||{{|{{{z{|{zzz{|{|{|||{z|{{z{{{{{{|||{{{z{z|{{{||{|{||{{z{|z{z{{{{||{{|{{zz{z{|{{{|{}|{{{{{z{{||{|z||||zz{{zz{|{|{|||||z{{{||{{||{||||||{{{z|{{||{|||}|z{{{{{|z|{|{{||||{{{||{|{|||}|}|{{{{{{||{{|}||||{z|{{{{||{{{||{{{z{{{{|{{{{{|{}{{|{|{{{{{{{|||||{{{{zz{z|{{{~~~~~}}}}~|}}}}}}}}|}|{||||{}||}}|}|z{{{{z{|{|{|||{|z||z{z{{|{{{||{{{|zz{zz||{|{|||{{{z{z{zz||z{{|{{{zz{xzz|{{z{{|{|{{zzzz{{zz||{{|z{zz{z{{{z{|{{|{|{{{zzyz{|{z{{{|{{{{y{{z{{|{|y{{|{{z{{{{zz{{z{{{{{{{{zz{z|{{{{{|{z{{z|{z{{{{|{||{{{z{{zz{|z{{{{{{{{z{z{{{{{{{||}{z|{|{{{{|{{{||{{{{|{{{{{}|{|{}{{z{{zz|||z|{||{{|{z{zz{{{|{{|||||z{{{z{{{}||||{{z{z{{{{{|{|{{{|}{z{|{z{{{{|{|||||z|{|{{z|||{||||{{{{{{{|||{||||||{{{{|{{||}{||||{z{{{{{||{||{||{|{{{{{{{{||{|||}{{{||{{||}|{{{||{{|{{z{z||{||||{|{{{z{|z{{||{{{{z{{z{z{{|||{|~~}||}}}|||}}~|}||}{{{{|{{|}|||}||||{{z||{||{{{||||z{{{zz{{|{{z|}||zz{z{{z{{||{{{|{z{z{zzz{|{{{{|z{z{{{{yz{z{z{|{{{{zz{{{{zzz{{{{{zz{yzz{{{z{{{{||{{{zzy{z{{|{{{{{{{{zzzz{z{{|z{{{|zzzzz{y{|zy{{z|{zzzz{{{{{|z{{{{z{z{{{z{{z{{{{|z{{zzzz|z{|{{z{|{{z{zzzz{{|{z{|{|{z{{zz{{z|{{z|z{{{{z{zz{{|{{|{{|{z{{zz{{{||{z{{|{{{{{{{{|{{{|}|{|{{{{{{{||||||{||{{{{z|{z|||{{||{{{{{{z{|{|{{{|||{{{{|z{{||{{{||{{|{{{|{|{{|{||{|{{{{{{|z}|}{||||{||{{|{||||{||||{{{{{{{|{{{||{}{zz{{{z{||||{||{{{{{{{||{|}|||}{|{{{{{{z||{{{{{{{|zzz{z{{||{{~~}}|||~}{|}~}||}||||{|{{{}|||||}}{|{|{{{|||{{|{}|{z{z{{z{{|||{||{{{{z{z{z{{{|||||{{{z{{z{{{z{{|}|{zzz{zzz{{{{z|{{{z{{zz{{{z{{z{|{{z{z{z{z{{y{{{|||{zz{z{z{|{{|{{{|{|zz{{{z{|{{{|{{zzzzzz{{|{{z{{{z{zzzz{zz|z|{{{|zz|{|{{z{{{|{z{|z{zz{zz{{{}{{z{||z{zz{z{{{{{{{{}{z{zzz{zz{{{||||||{{zz{{{|||{{{|{|{z{{z{|||{|z|{{{{{{z{{|{|{{|{{{|{z{{{{z{||{}|{|{|{{{||||{|{}|{|{{{|{{z{{|||{|||{{{{{z|||z{}|||{{{{{|{{{|{z|}|}|{{{{{{z{|}|{|}{{{|{{z|z{|}||||||{{{{{{{{||{{|||{z{{{{{{||{}||||z{{z{z{}||{|{||||{{zz{{{||||{||{|z{{z{z{{{{z{|~}}}}|~|}}~~}}|}}}|{||{{|||||||}}||{|{{|z|{{{|{|{{{|{{y|}{|{|{{||{{{y{{|{{{||{{{|{{{{y|{{{|z{{|||{|{zzzzzz{}{||{{|||y{zz{{|||{z{{zy||{{{z{{{|z|{{zz{{z{y{{{|{|||{{z{{z{{|{|{|{||z{zzz{z{|{{{zz{{|{{{{zz{{z|{{|||{|{{{z{{zz{{{{{{{{z{z{z{|{|{{{{|{{{{z{z{{|{{{{|||{{{z{z{|{{{||||||||{||{{{{{{{{|{|{{{{{{{||||{{|{{{z|{|{{{|{{{|{{{{{|zz{{}{||||||{{|z{{{|{||}||||{{||{{zz}}|{||||{z{{{|{{{}||||}|{{{{{||{|||||||||||{z|{{||||{{|{|{||z||{{{}|||||}z{{{{{{|{|||||||{{{{{{{||||{{||z||z{{{{||{{||}|{|{|{{{z|{|||||{{{{{{z{zz{||{}}}~}~|}}||}~}|}~}|{||||{{z}||||{|{|{{{{{z{|{||||||{|{z{{z{{||||}|{|{{{z{{{z{{{{||{|{{{{y{zz|{z{{{{{{zyzzzz{{{z{{|{{{{z{zzzzz{z{{{{z{{{|zz|{z|zzz|{{zz{zzz{{{|{{z|{{{z{zzz{z{{z|{z|zzzz{zzz|z{|{||{{{zyzzz{{{zz{|{{{z{{zz{z{{{z||{|zz{zz{{{{{{z|z{{|{{{{z{z|{z|{{{}{z{z{zz{|{|{{{|{|zz{{{z{{|{||{||{{{z{z{{{|}{{{|{{{z{{|z{||{z||{{z{{|||z{z{||{|z|{{{z{{|{||{{{{|}||{zzz{{{|{{|{{||{{{|{{{{|||{|{|{z{{{{{{{}{||}|}|z{{||z{{|{|||}||{||{z{{|{|||{{{{z|{||{||||{|||||z||{{|z{{{||{{}{{{{{{{{|{{{{{||{{zy{{{{{{|||{|{{z{z{z{{|{{{{}}}|}||||{|}}}|}|}||||{|z|||||||||||{{{{{{{{{{z}{|{{z{{{{{z{z{zz{||zzz{zz|z{z|{{{{{{{{{y{{z{|{{z{|{zzzzzz{{z{|zz{{{zzz{{{{{{{{{z|{zz{zz{zzz{|{zz{{{{zzzzz{z{{z{{{|{zzz{zzzzz{{|||{{z{{z{zzz{{{y{{||z{y{z{zz{{{{{{{{z{{z{{{z{{{{{{{|{{zz{zzzz{{z{{{zzzzzzz{{{{z{{z||z{{zy{zz{{{{{|{{{{{{{z{z{||{{{{{|{{zz{zz|{{{z{{|zzz{{zz{{|{{{{{{|zzz|{{z{{|||{||z{{{{z{{{{||||||{{{|{{zz}{|z{|{|{z{z{zzz|||{||||{{{{{{{{{|||{|{||{||{z{{||{||||{||{{{z{{}||||{|{|{{{z{||{|||{}|||{{{{{{||{{{||{||{{{z{{{{||{|||||{{z{z{z|||{||}|zzz{{zz{{{|{{~~~||}}}|}|}}||||}}|{}{|{|{|{{|{||||z{zz{{{{{{{z||{|z{|{{{{{|{{||||{{z{{z{{||{|{|{{z{{z{z{zz{zz{{|z{zz{{zz{{||{{{{{{{z{{zzz|{{{z||{{{{z{z{z{{|z{{{{z{{zz{y{z{{z{|{{{{z|zzzz|{{||z{{{z{{z{zyz{|zz{{{zzzz{zzz{{{{zz|{zzzz{|z{{{{|||{|{{zz|zzz{{|{{{||z{z{|z{zz{{z{||||{{{{|{{|z{{||{{{{{z{zzy|{}z{|{{zz{{{{{{{|{|{||{{{{{z{z{{||{{{{|{{|z{{z{{|{||{|}z{{{{{|{{{{|{|||{{z{{{{z|{|||{|{|z{{{z{{|}||||{{{{|{z{{||{{{|||{{z{{{{{{|||{|||||{{|{{{{{{{|||{|{{{{zz{|{{{{||}|{{{{{|{{|||{||{}{z{{{{{|{{|{|||||{{{{{{{{|z|||||{z{zz{{z{|{{z}||}|}}}{||~~|}|{}}|{|{{{||z|}{|||}}{{{{{{|||{{{||{{{{|{{{{{{||{|{||{z{zz{z||{|{|||{z{z{|{zz|{z{{{z{{{{{zzy{{{{z{}{z{zz{{z{{zz{{{{{zzzzz{{z{{{zz{|{|{{{z{zz{z{z{{{|zy{zzzz{{{{|{||{{{{{zz{zz{zzz{{|z{{z{z|z{|y|||{{zz{y{zzz{|{{{{||{{zzz|{{{{{{{z||{zz{zz{{{{z{{|{|{z|zz{{{{{{|{|{{{{z{{z{z|||}||{{|zz{{z{{{|{||{||{{{z{z{{z|{|{|{{{|{{z{{{{{{{{|{{{|{{{{|{||{{|{||{|{z{z{y{|||{|}{|{{{|{{{|}||{{|{{{{{z{{{|}|{|{|||{{|z{z{{|z}|{}||z{{{{{z||||||||{|zz{|{{|||{{|||{|{||||{|{{|}{{|{{{{{{z{||{|{{}|{{{{{{|{{|{|{{{{{|z{{z{z{|||{}}||||}||{{||~|}{}||{{|}{{{||{{|{}}|{{{z}{{||z|{{|{{{z{z{z{{{{{{{|{|{z{zy{z{{{|{{{|{{{zz{{{zzz{{{|{{zzzzyzz|{|zz{||zzzzzzzz{{{{{{{{z{{zzyzzz{|{z{{{{zzzz{zzz{z{{{{{zzzzyzzyz{zz{{{{{zzzzz{{{z|{z{zzzz{zzzyzz|{z{{z}zzzz{{zzz|z{{|{{{zzzzzz{z{|zz{{{zzz{z{{z{{{{z{{|zz{zzzz{{z{{{}|z{zzz{zzzz{|{{|{|z{{z{{{{{{{{{{|{{{z{zz{{{{{{{|{|z{{z{{|{{|||||{|{{{{|{{{{|{||||z{{{{{z{{{||{||{||{{z{{z{{~|||||{{z{{{{|{z{}{||||}{{{{|z{z|{||}||{z|}{z|{{{{||{|{|{{{|{z{||{z|||||{{{zz{z{|||{{|{{{zz{{{|{{z{{{|||{zzz{{zz{{|{{||z{z{{z{{z{||{~||}}||}{|||{||||||{|||{|{z{{|{|{}}|||{|{{{{|{|{{}{{{{{z{z|{||}{{||{{{z{{{{|zzz{|||{|zz{zzzz{{{{||{{zzzz{zzz|{z{|{{zzzz{zzz{{z|{|z|{y{{{z{zz||{{{||{z{{{zz{{{{z{||||z|{{zzz{{{{{{|||{{zzyyz{|z{{||{{{z{zzzzzzz{{{{{{z{zz{{{{z|{{||{{{zz{zz{{|{{z{||{{{zzz{z{{z{{|||{z{zzzz{{{|{{{{|{|{{zz|{{z{{{|{{|{{{{|z|{{|{{{||{|{|{zzz|{|{|{{{{{|{{z|{|{{{||||zz{{z|{{|{{|{|{|{{z||zz{{{|}{{}{|z{{zzz||{{{|||{|{|{z{{{{{||}||}{{{{||{{|{{{||}{|z|{zz|{|||{{{|{{z|{{{{{zz||{{}|{z{{{{{{{||{|}{|{zzz|y{{{|{{{{|}{{z{{{z{{|{{{{}{{{|z{zzz{{{|{}}}|||{|{||{}||{}}{}{|{|{{{|}{{|||{|{{z{{{|z{{z||{{{{{yzzz{{{{|{z{|{{{z{z{z{|{|{{{{{zzz|zzzz{|{{{z{{|zy{{zzzzz{{||z{zzzz{zzz{{{z{{{{{yzzzzzz{z{{{{{z{zzzzzz{{|{{|{{z{zzyzzz|z|{|{|{{zzzzzzy{{zz{{{z{zzy{{zzzz{z{||zzz{yzzzzz{{|{{{{{{{zzzzz{|zz|z|{z{{{{{{z{{{{{|{{{zzz{zz{{|{|{|{{z{{{zy{z{{{|{|{|{{{z{{z{{{z{z{||{z{|{{zz{{|{{{{{|{{{zzz{{z|}||z|z{{{{z{{{{z|{|||{{{{{z{zzz{{}|||{zz{{{z{|}||{||}{z{{{{|||{{|{|||{z{{{{{{{|{|||}||{{{{{{{{||||{{||y{{{{{|{|{{}{|||{|{z{{{{||{{||{{{{{{z{z{{{z{||{||z{z{|z{{{|{|{{{z|{{zz{{{|{{~~|{|{}{{|||}}||{}||{{{|{z{||||{|}||z|z{|{{|{|||{|{|{{{{zzz{{{{|{||{{zz{z|z{||{||{|{z{zz{{zz{z{|{{{{zzzz{{{{{|{{{z{{z{{zzz{{{z{{{{{{z{{|{zz{{{{z||{{{z{{{yz{{|{{|{|z{{zzz{y{{{|{{{zz{z{zz{{{|{{{{{{|{zzz{z{zzz{{{{{zzz{{{zzz{{|{|{{|{zz{{{z{|{{z{{{{z|{{{z{|{{|||||zz{zzzyz||{{{{|{z{{{{z{z{|{|{{|{{{|z{{{{{||{{|{|{{z{{{z{{|{{{|{{{{{{{{z|{{||{}}{{{{{|{{{{{||||}}|{z|{{{|{||||{|{|{{z|z{{{|}||}|{||{{z{|{||||{}||{{|{z{z||}|}}|||{z{{{|{{|{||{||{{{{{|zz{||||||{|||{{|{{z{{|{{|{|{{z{{{{z|{{z|||||{{{{{|{{{||{{|{{{|z{zzz|z|{{}~}}{|{{}{|||||||||||{{|{|{|||||{||{|{{{|{z{}{||||{|{{{z{z{||{}{|||||{z|{{z{|{|{|{|z{{z{z{z{{z{{|{z{z{z|{z{|{{z||{{{zz{zzyz{y|z{{{{{z{zzzzz{{||z{|{{{{zzz{{{{}{{||{{z{{{{zy{|z|||{|zzzz{zzyz|{y{z{{zzzzz|zzz{{z{|{|zz{z{z{zz{{{{{z{zzzzz{zz{{{z{{||{{{zz{|{{{{|{|{{{z{{zz{{{{{{{{||{{{z|y{{{|||||{|{{|{{z{{{|{{{{|{{{{{{{|{||{{{{|{{{{{{{{{|{||z}||z{{{{{{{|{{||||}|{{z{z{{z|{{|||{|{z{{|{{|||||{|}{{{{{||{{{|{||{||{{|{|{{{~||}{}|{{{zz{{z{{{|{|||{{{{{{{||{|||||}|||{{{{{|{||}{|||{{z{{zz||{|{{||||{z{{{{||}{|{|{|z{zzz|{{{{||}|}}|||{||{||}}||~|||{{|{{{{|{|{{}|||{z{|z{{{|{{|}|{{{{{z{z{{|{{{{}|{zzzz{z{{{{{|||z{|zz{{{{{z{{||{{{{{zzz{{z{{z}{z{{{{z{zzzz{{{|{{{zz{|zzz{{{{{z{{|zz{zzzzz{|{{{|{zz{zzzy{{z{{{{{zz{{{zz{zzz{{z{{z|{{y{z{zz{{{{|{|z{{zz{{{z{{{z{{|zzy{|z{zzz{{{|{{{y{zz{z{{{{||{|{{z{{zzzz||{{{z{|{z{{{{{z{|{|z{{{{{{{z{z{|{{|{{{{{zz|{zz{{{}||{{{{{{{|z|z||||}|||{{{||{{{{|{{|||{z{||{z{zz{|{|||{{{{{|{|{|{|{}|}|{{{{{{||{||{{}}|||||{{{{{|{}||{||{{{{z{{|||||{||{{{{{|{{|||{|{{|}{{{{{{z|{{|}{|||{|{{{{zz||{{|||}{{|{{{{{{{||||{{zzz{z{{|z{|{}|~}}|{||||}}|{|}}||}{{{{zy{|||{}|||{{{z{{{|{{|||||||{{{z|{|{{|z{}}|zzzz{{z|{{|{|{|{{{{|zzz{{|{{{{{{{z{{z{{zz{z{|{{{{{zz{zz{{{{{{{|{z{zz{|z{{{|{||{{{{{z{z{{{{|{{{{|{{z{{{{{{{||z||{{{{zz{z{{{{{{||{{{z{zzz{|{z{{{|{{{z{{{{{{|{z|}{{|z{{z{{{{|{||{|{zz{z{{{{z{{{}{{zzz{zz{{{||{|{{{z|{z{y{z|{{{|{}{{y{|{{z{{||{|{|{z{{{{{z{{||{|{{|{{{{|z{|z|{|||||z{{|{{{{{|||{{||{z{zz{{z||{||{|{||{{|{z|||{|||||{{|z{|{{|{{|{|}}}|z|z|{|{}||{||{{|||z{{||{|}{||{|zz{{{{||}{{{|||||{|z{z|{|{|||||{|{{{{z{{{{|{||||zzz{{{{||{{|{{{|z{yz{z{{|{||}}|||{||{||||}{||{|{{{{|{{z|{{z|{{|{z{{z{z{|z{||||{zz{zzzzzz{z{{{|{{|{zzz{z|{{z{{{{yz{z{zz{{{{zz{{{{|{zzz{z|zz{z{{{{{z{z{zz{{z{{|{{zzz{zzzz{z{{z{{{z{{zz{yzz|{{|{{{z{zzz{zz{{y{zz{{{zzzzzzzzz{{z|zz{{zz{{zy{{{{{{z{zzzzz{{z{z{|{|{{{yz{zz{z{{|{z{{{zz{z{z{{{z|{{|{{{{zzz{{{|{z{{z{|{z{{{zzy{{|||{{{z{{zz{zy{{|{{||{{{{{zz{{{|||{|||{z{zzz{{{{||{|{|{|{{{{{{||{{||{|{{{{zz{{|{||{{|{{{{zz|{{||{{{}|{{{{{{{{{{|{{{||{{{{{{|{{{|{|||}|z||{{|{{|{|{{||{|z{{{{zz{|{{{|||||{{|{zz{{|{||||{{zzz{{z{{{|{|||{|zz{{z{|{z|{|}{{|{zzzz{{{|z{}{}{|{||}|{|}}}}{||{{{||zz{||||||||{{{z{{{{{|{{|{{||z{{|{z{z{|{|{|{{|{zzzz{{{{z|{{{z{zyzy{{{{|{||{|z{zzzzzz{|{z{{|{zzzz{zz{{{{|z{{|zzz{zzzz{||z{{|{z{{{z{yz{{{{{{|zz{{{{z{z{|{|{{|{{zzzz{{zz{{{{z{|{zz{zz{zz|{{{||{zz{{{{zz{{{{|{|||zzzzz{z{{{{{|{|zzzzz{zz{{{{{{|{zz{{z{{z|{z{||||zz{z{{zz{||{{|{{{{{{{|{{{z|{{{|{{zz{{{{{{||z{}{{{{{zz||{{||||}||{{{{{{{{{{|{|{{||{z|{z|z{{|||||{{{{{{{{{{||{|||{{{{z{{{{{||{{||{|{{|{{z{{|{{||}||||{z{{z|{|{|||{{{{{|z{|{{{|{||||{{{{{{{||{{||z|{{{{{{|{{||{{|}{||{z|y{{{||{|{{|{{|z{zz{z{|z{|}}}|||{||{|}}||||}{|{{|{{{|{{{{{|}|{{z{{|{{{|{z{|{{{|{{{z{{{{{{|{{|{{zz{zz{{{|{{{|{zzzz{{{{{z{{|z{{zzz{yz{|{}{|{z{{zzz{zyz{|{{zzy|{{zzzzzz{|{z{z|{{{y{zzyzz{|z{{{{{z{zzzzz{{|{z{{{{{{zzzzzz{zz{{|z{{{zzzzzz{{zz{|{|{{z{|z{{{|{{{|{{zzzzzz{z{{z{{|{|z{zz{{zz{{{{{z|z{zz{{zz{{{{{{{{{{z{{z{{{||{||{{z{{{{zzz{|||{{|||{z|zz{{{|{{{||{{{{{|{{{|{{}{|{{{|z{z{|{|{|||}||{{y{{zzz{{{{{{|{zz{{{z{{|{|||}||{{z{{{{{{{|{||{{}{|{{{z{{|{||{||{z{{{{{{{|{|{}|||{{{z{y{|{{{||{|{{|{{z{{|{{|{{||{{z{z{y{{{z|{{|{{|{{{{{zz||{z{|{{{z{|yzzz{||{}|}{{||{||{}|}|||||{{{zz|{|{{{{}|{}{{zz{{z{{zz{{|||{|{{{zzz|z{{z||{{{{{zzzz{{|{z|{|{zzz{yzz{{{{z{{{|{{z{z{{{z{{zzz{{z{zzyzzzz{{|z|z{zzzzz{|{{{{|{{zzz{{z{z{z{{{z|{{zz|{{zzyz{{|{{|{{zz{zzzz{z{{|{{{zz{zz{{zz{z{{|{|zzzzzz{z{{{zz|{{{{{{z{{zz{|z{{{|{z{{z{z{{{z{{{{{{{|zzzz{z{{{|{||{{zz{z{zz|{{|{|{zz{{{zzz{{|z{{z{{{zzz{zz{{|{{|{{{{z{{z{{||{{||{|z{{{{{|{|{{|{|{{{z|{zzzz{{{{|{||zzz{|{{z||{{||}{{{}{{|{{{{{||||{{{{{{{|{{|{|||}{|{{|z{z{|{|||{{|zz{|{{{|{|{{|||}{{{z||{{||{|{|{||z{z{{{{z{||{{}|{{z{z{{{{|z||{|{{zz{{{{{{|{||}}|{|z{|{|z||||{|}|{|{zzy{{{{{{{|}||{{z{z{z{|||||||z|{z{zy{{||{z{{{{{{{zyyz{|{{z{{{{{z{zzzz{{|{{{{{{zz{{zzz{{{{{{|{z{zy{zz{{z{{{|||zzzz{{zz{{{{z|{{zzz{z{z{|z{z{{{{{zzzyyyzz{{|{{{|{{z{{{{zy{{z{z{{zzz{z{{zz{{{{|{|{zzz{zzzzz{{{||{zy{yzzz{{{{zz{||{y{z{z|{{{{{{{zzz{z{{{z{{|{{||{{{zzz{z{{{||{{}|{{z{z{{{{{}|{|{}{{{{{{zz{{|{{||{{{{{{{z{z||||z|{{|{{{|{|{{{}||||{{z{{|{{z|{|||{|||{|{{{{z{{{{|{|||z|z{{|{{||{|{||{z{{{{{||||||||||{{{{{{{|{|||||{{{{{z{{{{{{{}}|}|{{{{|{{|{{|{||{z{{z|{z|{{{{{|{||zzzzz{zzz{{{{{{{z{{zzzz{{{{|||{{|{|{|{z||||{{}{z{{z{z{{||{{{|{{{{z{{{z{|{{|{||{{zzz{{z|z||{zz|{|z{zzz{z{z{{{{{||zzz{z{z{|{{z{{{{zz{zzzy{z{{z{{{{zzzzyzz{z{|{zz{{{{zzzzzz|z{{{||{{zzzzyz{z|{|{{|zzzz{zzzz{{{{|{{zzzzz{{z{{{{{{{z{zzzzy{zzy{{{{{{zzzzz{yz{{{{{z|{{zzz{yzz{{{{{|{{|z{{zzz{{{{|{z|{zzyzzzz{{z{z{{{{{zzz{zz|{|{|{|z{{{{z{zzz{{{{z{{z|{z{{{z||{{{z{{|{{{{{{{{{|{{{{}|{{{{zz{|||{{{|||{{{{{{zz|{{|{|{{|{{zz{zz{|{{||||zz{{z{|zz{{|{|{||{{{z{{{||||{{}|{{{y{z{{{|{{{{{{{{{|{{{{{||||||||{zz{{{{||{{{|{{{z{z{{z{|{{|{|||{{z{zz{z{{{{{{{{z{{z{y{{z{|||{}}|||{{|z|{|}||{|||{z{zz{{|{{|||||{z{z{{zz{{{z|{{|zzzz{{z{{{|{|{|||||zzzzz{{{|{{{|zz{z{zzzz|{{{{{{z{z{yz{z{{{{{z{{z{z{zz{z{z{{{{|{z{zz{z{{{{{{{z|z{zzzz{yz{{|{{{{z{z{zz{z{z|{z{{|{zzz{{zzy{z{{{{{|zz{z{z{zz{z{{||{{z{z{zzz{{{zz|{{{{zz{{z{{{{{|{{|{zz{zz{{|{{{{{|{{zzz|zzz{{{{{||{{|z{|z|z{{||{|{{{{{{|yzzz{|{{{|{{{z{zz{z{}{{{|{{}{|z{{{{z{{||{|{z{||{{{{{{z||{|}{{{{{{{{|{||}{{{{{{{z{{z||{{{{|}{{{{{{{|{{|||||||{z|z{z{{{}||||||{z{{{{{|||{{|||zz{|{|{z{{{{{|{}{{|{{{z|{{z|{z||z{zzz{{|{|{{{}|{{{{{zz{y{{{|{|{{|z{zzz{z{||{||}||}{}}|z{{}|{||}|{{{zz{|{{|{{||||z{|{{{z{|{z|{||{|{{{z{{{|{|}z{{|{{z{{{{zz{z|{{|{z{zzz{z{z||{||{{|{{{zzzz{|{z{{{{z{z{{zy{{{{{{{|{zzz{zzzz{z{zz{|{{zzzzz{{z{{{{{||{{{z{{zz{{{{|{{|{{{{z{zz{{{{{{{{{z{zz{{z{{{{{{|zz{{{{z{z{{|{{{z|{{{zzz{{{{|{z{{{{zzzz{{{|{{{{{|{{{{zzzzz{z{{{|{{z{z{{{{z{{z||{||{{{{{z{{|{{|{{||||{{{{{{{|{{{{{||{z|{{z{|{|{|||{{||{{{zz{||||}|~z{{{z{z{{||{|||||{{z|{{{|{||{|{{|{{z{{|{{z|{{{|}|{z{{|{z{{|||||||{{}|{{z|{|{{||{|{{{|z{{|{||||{||{z{||{{{{||||||{|{{z|{{|{|||||{|{{{{{{{{||{{{||{{|z|z{{{||{|||||{{|{{{z{|||||||{{{z{{{{{{|{{||}|{{{z{{y|{z{{|{{|z{zzz{z{{{{|{{|z{zzzz{{{{zz{|z{{{zz{z{zz||z{{|||zzz{zzy||{zz||{z{{z{{zz{{{{{|{{{{{{{y{{{{{{{||z{zzzzz{{z{{{z{{z{z{{zzz{{{{{|{||zz{z{{{{zz{{{|||{{zzzzz{{{zz{|{|{zzz{zzz{{z{|{|{{zz{z{{z{|{z{|||{{{{zz{{{zz{z|||{{zzzzz{{z{{z{|{z{{zzz{z{|{{{{{{{{{z{z{{{{{|{{|{{zzzz{z{|||{{|||{{{{{z{||||z|{{|{|{{{zzz{|{|{|{{|{{||z{z||||||{||{{{{{{z|||{{|||{{{z{||{{|{{|||{|{{{{|{{{{{|||}||z{{z{{|{|{|}||||z{{|z{z{|{||{}|z{{||{{{|||{{|{{{{{{{{zz{{||||}{{{{{zz{{z|z{{{|{{{{z{z{{|{{{|{|}{{{z|{{{||z{{|||{|{|{{|{{|{{||{|{{{{{{{z|{|{|{|}|{{{zz{z|{||z{{|{{zzz{{zz{{{{{{|{{|{z{{z{|{z{||{z{zz{z{{{|{zz|{|z{{zzzz{|z{{{{{{y{z{{zzzz{z{{{{{{{{zz{z{{{|{{{{{z{{zzz{{{||||{|{{zzzzz{z{|{{{{{z{z{zzzz{{{{{{{{z{{{z{{z{{||{{{|{{z{{{z{{z{{{z{{{z{{{zz{{z{{{z{z|{z{{z{z{{{{z{||||{{{{z{z{{{{||{{{{{{z{{{|||}|{}|{{{{zzz{{{|{z{||{{{|{{{{{{|{|{{|{{|{|{{{{{{{{|{}|{{{{{{|{|{|{{||||{{{z{z|}||||||{{z{{z|{{||{|||}||{{{|{{{||}||{y|{{|zz{{|}|||||{|||zy{|{{||||||||{{{{{{{|}{|||{|{{|z{{{}|{{||{|||{{{{{{{{||{|{||{{{z{{z{|{{{{||z||{{{{|{|{||{|}|{z{zzzz{{z{{{{}{{{z}{{y||{z{|{|||zyz{yz{{{z{|z{|{zzzyzzz{{|{{{{||z{{{{zyz{{|{{{{zz|z{yzz{z{z{{{zyzzzz{zy{{z{{|z|{yyz{yzz{{{z{{|zzyzz{{zz{{{{zz{{{zzyyzzzzz{z{z{z{{zz{zzzz{{{zz{{y{zzzyzzz{zz{z|zzzy{{{zy{{{|{{z{zz{z|zz|z|{{z{{{{z{{zzzz{{{z{|{{{z{{zzz{{{{{{{{{z{{{zzzzz{{{z{{z{{{yzzz{{y|z{{{zzzz{zyyz|z{{{|{|z{zz{zz{|{{{{{{{{{zz{{{{{{{{{{|{|{z{{z{{{||{|z|{|y{{{{|{{|{||{|{{{zz{{z{{|{|{||||{{{z{{z{{{||z}|{z{|{z{{{{{{{{{|{zzz{{{|{{{{{|||{{zzzzzz|{|{{|{|||{{zzzz|{{|{{{|{{z{{z{z{|{zz||{{{{{zzz{{|{|{|}|{{{{{{z{||{|{{||{z{z{{{z||{{||{{{{{z|{zz{{{z{{{||{zz{zzz{{|{{{{{{{zzz{zyz{{{{{{{z{zz{{{zz{{{{{{{{{{{{zzz{z{zz||zzzzzzz{zzz|{{{z{{y{zzz{{{{|z{{|{{z{{zzz{{z{|{{|z{z{zzzzzz|{{{|{{z{zz{zzzz{{z|{z{|{{z{zzzz{z{{{{{zzzz{z{yz{{{z{|{{{{z{zzz|{{{{{{{zy{{zy{z{{{{{{{|{{{{zzy{|{{{{{{|z{zz{{zzz{|{|{{|{{zz{{zz|{{{{{|{{zzz{z{z|{{{z|{{{z{{{zzz|{|{||||{{{{{{|{{{|{|}||{z|{zzz{{||z}||||{{zz{{z|}{{|{|{{{{{{{{{{|{|||{{|{z|{|{{{|||||||{{{{{{z{{|{|}{||||zz{{z{{{{|||}|{{{{|{{{}|z|}|||{{zzz{z{{||{||||z|{zz{{z{|{||{||z{{{zz{{{{{{{|||||zz|{{{{||{}|||{{{zz{{z{|||{{|{||z{{{{z{z|{{||{zz|zz{z{{{{{z{||{{{zzz{zz{z{{{z{{z{zz{{yz|z|{z{{z{z{{z{z{{{zz{{{{{zyx{zzzz{{{{{{{zzzy{z{z|z{{z{{|yyzz{y{zz{|{}{zz{{zyz{{zz|{z{{z{{zzzy{z{{{{|zz{zzzzzzzyz{{z{|{|{zzzz{zy{zz{|{||z{zz{z{z{{{{z{{|{z{y{z{{z|z{{{|{z{zzzz{{|z|z{{{|{z{|z{zzzz{z{z{{z{{{z{zz{||{{||{zz{z{z{zz|{|z|{{{{y{{{z{{|}{|{{|{|{zz{{{{{{|||{|{z{{{z{z{{||{|{{|{z{{z{z|}|||{||{{{z|{{{||{{|{|{|{{|{||{{}{{{|{{{zz|{z{{{|{||}}{|{{z{z{|{|{|{{||{|{{{|{{||{||||{|{{z|{{z|{{||||{{{z{{zzz{||{{{{z{zz{z{{z{{z{{|||{{{z{{{z{{{{{||}{{{{{{{{{|{}z{{|{{zz{{{z{{{y|z|{zzz{{zzz{{{|{{||{z{yzzyz{|{{{|{{{{zzzz{z{{{|{{|{{zz{z{{z{{zzz{|{{zzz{z{zzzz{{{{{zzzzzyzz{{{{{|{{{z{{yzz{z{|{{{{{{z{zyz{y{z{|{{{|{zz{{zz{zzzzz{z|zzzzzyzzyz{{{{{{{{z{z{{zz{|{z{||zzzzzz{{{{{{{||{{z{{zz{z{{z|{|{|zzz{zz{z|z|||{{|{z{{zz{z{zzz{||{{{z{zzzz||z{|{{{{{{{z{z{{{||{|{{{{{z{zz{{||||||{|{|zz{{{z{|{||||{{z{{{{z|{|{||||{z{{{zzz{||{|}||{{{z{|{z{|{||||||zz{{{{{{|||{||||z{{{zz{||{{{{|{{z{{{z{{{||{{{{||{{|{z{z{{{|{{||{{{{{z{z{|{||{|{{zz{zz{z||{|{|{|{z{y{z{zz{|{{{{|{{zzy{|z||}{|z|}{|z{{z{{{{{|{|||{{{{z{{z{|{{|{|{|{z{{zzz{z||{{|{|zz{yzzz{{{{{{{|z{{{{{zzz{{z{{|{{z{zz{y{{z{{z{{|z{zzz{{{{{{{|{{{z{{{zzzz{z{{{{|{{z{zyzzz{{{{{{{{|{{{z{{z{{{z{z||{z{z{zzyz{{{||{{|zzzzz{z{{{{|{{{{z{z{{zzz{{{{{|{{zzz{z{z||{z{|{{{{z{zzzz{{{z{{||z{{z{zz{{{|{{{|{z{{z{yz|z|{{||{|{zzzz{zz{||{|{|{z{{{|zzz||{{{||{{{z{|z{{{{|{|{{|{{{{{{|{{|{|||{{{{{z{{{z{z{||{|{{{|zz{z{|{||{|||z{{{|z{{{{|{|||{||{z{{{{{||||{}||{|{|{|{||{|{|{{{{{z{{z{{|{|{{|||{{|||{{{{{|{|||||{zz{{{{{||||||{{z{z{zz{||||{||{z{z{zzz{{|{{}{{{{{{{z|z|||{{{{|z{z{z{{z{z{|{|||{{{z{{{{{{{z{{}{{{z{{y{zz{{{{{{|{{zzzzzz{z{|zzz|{{zzzzzzz{{{zzz{|z{zzzz{{{{z{{z{zzzzz{zz|{|{z{{|zzzz{y{zz{{{{|{{zz{zzzzzz{{z{{{{zzz{zzz{z{|{{{{|{z{zyzzz{{{z{{|{z{z{zzzy{{{zz|{{{{{{{{yz{||{z{{{{z{zzz|z{z{{{z{{{z|zyz{z{{{z{z|z{z{z{zz{{|{{{{|{{z{{{z{{{{{{{{{|{{{zz{z{|{|{zz{{{{zzzzyz{{|{{|z|{{{|z{{z{{||{{{|y{{{z{zz|}z||||{{|{{{z{z||||||||{z{{|{yz{{|||{|{{{{|{||{||{{{|{{|{{{{{{z{|{|||z|z{{{zz{{{||{{|{}{{{{{{{{||{{{|}{{|{z{{z{|||||{{|{{{z{z{z{|{||{||{{z{z|{z{{z|{||z{{z{zxzy||{{{{{|}zzz{z{|{{||{|||{{z{{{zz{{||z|}{|{|{|zz|{z{{{{|{{{|z{{zz{{{|z{{{z{zzz{zz|{|{z{{{z{{zz{zy{{{{{{{{|z{{{zy{{{{zz{{zzzzzz|zz{{{|{|{|{zyzyzz{{{zz{{}{{zzzyzzz{{z{{{z{{z{{zy{z|{|z|{{{{zzzzyzzz{zz{{{{{{{zzzzzz{zz{|{{zz{zzzyzz{{{{{{|{{z{|{{z{{{{{{z{{{{zzz{{{{||z{{zzz{zzz{{{{{{|{{|{{{z{z{zz|{|{{{{{y{z{{z{{{|z{{|{|zz{{zy{{|{{{|||{{{{z{z{||||{||{{{{z{||{{|||{|||{{{{{{z{{|||{||||{zzz{zz{{}{||||{z{{{{|z|{{|z||{|y{{{{|{{{{{|{|||{|{{zz{|{{{||||{{z{|zzz|{{||{|}||z{{{{{|{{|||||zz{{zz{z{{{||{z{{{{{z{zz{{{|}||{z{|zzzz{{||{{|||z{z{{{{{{}{z{z{|{{{z{zz{{{{z|{||{z{{{{z{{{|{{|{}||z{zz{z{{{{zz|{{{{{z{{z{{z{{{z{z{zzz{{z{zzzz{{z{z{z{{zyz{|zz{{{z{yzzzy{{{{z{{z{zzyzzzz{{{{{{|{{{{z{z{z{{z{z{{{{{z{zzyzy{|z{z{{{{zzzyzzzz{{zz{{{|z{zzzzy{z{z{{{|zz{yz{{z{{{{{{|{{zz{zzz{{{|z{|{{zzzz{|{z{{{|{{{|zzzzz{zz{{z|{{|{|z{{{zz|{zz|{|{{{zzzzz{z{||{z{{{{zzzz{{{{|}z{{{{{zzz{{z{|{}{|||{{{{{{{{z|{z|||{|{z{{{{z{||||||||{zzzzzzz{|{{z|||{|z{{{{{{||{{|}{|{{{{{{{{|{||||{|{{{{zz|{{|||{|z{z{zz{z{|z||||||||{z{zz{|{{{|{{{{{{z{z{{|{{{}||{z{{{z{z{z|{{|z|{{zzz{{{zz|{{{{|||{{{{zz{||}|||||{{{{z{z{{{{{}|}}|z{{z|zz{z||{|{||{zz{z{{|zz{|z|{{{|{z{zz{||{{||{{z|zzzzz{{{{z||{{{{z{zzz{{{{{{{{{{zzzzz{{{{z{z{{zyyzzzz{{z{|{{|zzz{{zyz{{{|{{|{|z{{{z{{{zz{{|{||z{zzzz{zz{{z{||{|zzz{{{zzz{{||{{{{{z{{{{z{z{{|{{{zz{zzzz{|{z{|{|{{{{{z{{{{{{{|{|z{zzzz{|{{{z{{|{{z{{|y|{|{{{|{{{{{{z{{zz{{||{||||{{z{zz{{||{{|{{|{zz{{zz{{|{||{|{{|{{|{{||||}||||zz{{{{z{{||||||{{{zz{z|||{|{|{||z|zz{z|{|{{{{|{}|{{z|z{z||||||||{||z{{|{{||{{||{{zz{{z{{{{{||||{{z{{{{{||{||||{{{{z|{z{|{{{{|{z{{z|{|zz{||{{{||{z{{{zzz|{{{{{|{{{{{{{{{{||||{|{{{|{{{{z{|z|||{|{{y{zz{{{||{{{||{{{z{yz{{{{{{|{|{zzz{zzz{{z{{|z||zzz{yzz{{{{z||z{zz{zzz{{|zzz|{zzz{zyz{zz{{|{{{{zzzz{{{{{z{zz{z{z{z{zzy{{{{z{{|z{zzzzyzz{z|{|{|}zzzzzy{zz{z{zy{{zzzzyyzz{{z{z{{{{zzzz{{zz{||{{|{|zzz{zzz{{{{{{{{zz{zzzzzz{zz{{||{{{{zzzz{{}{z{}|zzz|{{{zz{{{{|{|{zz|z{zzz||{{{{|zz{{zzz{{{{{{{{{{z{z{{{{{|{{}{{{{zz{{||{|||{||||{zzzzzz{{{||}|{|}{{z|{{z{|z{|||}{zz{{{{|z||||||{{{{{z{|{{}{|||{{}{{|{z{{{{}|{{|||{|z{{z{{||{|{{||{zz{|{{||{|{|||{z{{zzzz|||{{||{{|{{z{{{{{|{{|||{{zzzzzz{{|{||{|z{{{{{{z||}{{{||zz{{z{{{{|{|{{|||{z{{|{z||{{|||{{{z{{zzz{{|{{{|{{|z{|{zz{||{{{|{zzz{z{z{{{{zz{||{z{{z{z{{{|{{{{z{y{z{zz{{{z{{{{{{zzzzz{{z{{{{}{{zzzz{{z{{{{z{{|{{{z{zy{z{{{{z|{{{{zzzyz{{{{{{{|{{{{zzz{{{|zz{z{{{z{z{{{z{|{{{{|{{{{{{zz{z{{|z{|{{z{zz{{{{{{{{{||{{{{{zz{{|{{||||{{z{{y{z{{{|{|{{{{{z|zzz{{|{z{{||{{{zz{{||{{z||{{{{{{z{z|||||||{{{{|{{{{||{||{}|{{|{|{{{{{{|{|||{{{z{{{z}|{{{|}||{{|{|{|||{{}|{}|{{{{|{|{{||}{||{{||{z{||{||{{{}}{z{{z{{|{{||{|||{{{{|z|{|{|{{|{z{|z{z{zz{||{|{||{|{{{{zz|{}{{|{{{|{{{{{{|||{|{z{{z{{z{z|||{{{|}{{{zzz{zz{{{|{|{{zzz{{zz|z{||{|z|zz{{{z{}{{{{|{|{{{zzzzyz{{{|{{{{zz{{{{z{{{{z{{{{{z{yzzz{{{|{{{{zzz{y{z{{z||z{{{zzzz{zzz{{z|{{|zzzz{zzz{z{|{{z|{{{zzzz{y{{{{{{|{z{z{y{zyz{{zz{{z{{zzzzy{z{{{z|{{zz{z{{zy{{{|{{|{zzzz{{zz{{z{{{}{z{{{{{{{{|{{{z{|{{zzzz{z{{{{{{|{{z{{{{zz{||{z{{|{z{zz{z{{{|z|{{|{{zz{{z{{||{{|{||{{z{{z{|{{|||{{{{z{{z{z{{{|{{{|{{{{{{zz{{|{{||{|{{z{{{{|}|{||{|{{|{{{{{{|{{|{|||{z{{|{{|||||}}||||{{{z{{|}{|||{|z{{z{{||{|}|z|{|{{|{{{{z|{|{|||z|{z{{{|{{||{|{{|{{z{zzz{|{{{{|{zz{zyzzyz{|{{{{{{{{{{z|z{|z{{z|{z{z{{zz{|{z{{{{|{{zz{z{{z{{{{{{zz{z{zz{{{{|{{zz{{z|zyz{{{{{z{}zzzz{z{y{z{z{{z{{{z{{zzzyzz{z{z{{{{{{yzzzz{zz|{{{{zzzyzzzy{{{zz{{{zzy{z{yzzz{z{{||{zz{z{zz{{{z{{|zzzzzzzzzy{zy{z{{|{zy{zz{z{{{z||{zzz{yzyzz{{{{|{{{yzz{y{zz{{{|{{{{z{{zzzz|{{z|{||{zz|z{z{{{|zz{{z{z{{zzzzz{{{{|{{{zzz{zz{{{{{{z{{{zzz{{{{z{{|{{{|{{{{z{z{{||{|{|{|z{z{{{{{z|{{{||{y{{z{zz}|||{|}}{{{{|z{z{}{z{|||{|z{{{{{|{|{|||||{z|{{|{{|{|}||}|{|{zz{z||{{|{{{{{{{{|z{{{z||{|{|{z{{{{{{{|{|{{{{z{zzzz{z|{{z||{{{z{z{{zz|{{z|{|z|{z|y{zz{{{{{{{|{|{zz{z{{{{|{|||{z{zzzz{|{{{|{|{{{z{z{{{{{{{{{|z{{z{{{{{{|{{{|{{{zyyyyzzzz{z|z|{zzzzzzyz{{z{|{y{{{{zz{z{z{{z|z{zyz{x{zz{{z{z{{{{zzzzyzz{{{z{{{{{zzzzzzy{{zz{{{{z{{zz{yzyz||{z{{z{zy{yzyz{{{z{{{zzzyzzz{y{{{z{{{zzz{{{zz|{{{{{|{z{yz{{{{{{|z{{{|zzz{zzy{{|{z||{{zzzy|{{{z{{{{{{{{z{zzz{{zz{{{{{{{z{z{zzz|{||{z||{{|{z{{{{|{{z{{{|{{{z{{zz{|{z|{{{{{|{z{{{|{|{}||{z{{yzzz{|{||||{|z{|zz{{{|z|||}|{z|{{{|{{{|{{||{{{{{||{|{|||{{|{{{|{{z|{{{|}{||{|z{{zz{{{{{{|{||{{z{|z{{{z{|{{{|z{{{zzzz|{{{{|||z{zz{z{zz{{|{{{{{{z{yz{z|||{{{{{z{{z{{zz{{{{{|{|{{z{zz{z|{||z|{{{zzz{{{z{|{z|||{{zz{{{z{z{||z{||zzzzzz{yz{{z{|{|{z{zz{{yz{z{z{{{{z{zyzzz{{{z{z{{zzzyzzzz{|z|{{{{{zz{zzzzz{{{|{|zz{zyyzyz|z{{{z{{zz{y{zyyzz{{z{{{zzzz{z{zzzz{{z{{z{zzzz{{z{{z{|{z{{{{{zzyz{{|{{z{{zzyzzzy{{{zz{{{{z{{zz{z{{|{{|z{{z{z{zz{{{z{{{{|{z{{zy{{z{{|zz{{{{{zzzy{|{{{{{|zzzzz{{zz{{{{{{|{{{{z{{zz{||{||{zz{{{zz{z|{{|{||{{z{{{{{{{|{{|{|{{z{z{{z|{||z{|}{{zz{{{{|{z|{{{{{|{{{z{{z{|{{{|{}{{z{{{{{{||}{|{{{{z{{{{{{|{|{|||{zz{{{z{z{|{||||z|{zzz{z{{{{{|{z{{{zz{zz{|{|{{|{{zz{zz{zz{{{||{|||{z{zzz{}|z{{||{zz{zzzz|{{{{|{|{||{zz{{{{{z|{|z{z{{z{z{z{{{z{zz{{zzzzzzz{{z{{{|z{zz{z{zz||y{{{{{z|z{{z|{{{z{{{{z{{{{zy{{z{|{{{|{zz{z{zz{z{zz{||{z{zz{zz{z{{|z{{{{zzy{{z{z{z|{|zzzzz{z{zzz{{{{{|zzzzzzzzz{{zz{{{{zzz{zzz{z{{{||{{zz{{z{z{|{{{{z|{z{zzzzzz{z{{|{{|{{yzzzz{{|{z||{zzz{zy{zz{{{|{{{zzzz{z{z{{{||{{|{{{{{z{z{|{{{|{|z{z{{z{{{{||||{{{z{z|z{{{|||{||{|zz{z{{{z{|||{|||{{{{z{z{||{{|}|||{z{{{{z{|{|{||{{z{||zz|||{}|{|{{{{z{{{|||{{{||{zz{zz{{|{z|}||||{{{{{{{|{{|{}||{{|z{{{{{{{{{{|{{{zzzz{z||{{{{{{{{zzzz{{{z|z{z{z{z{z{z{z{{}{z{||{z{{{{{{|{|{{{{|{{{zz{y{{{{{z|||zyz{zzz{{|||{{{{|{{zzzzz{{{{{z{{zz{{{zzy{{|z{{{{{z{{z{z{z{{{|{|{z{zz{{{z{{z{zz{{{zyzyyzz{z{zz{{{|zz{z{yz{z{{|{z{{zzzzzzzz|{{{{}{{zzz{y{zz{{z{{{{{z{{zzzzzz{{{|z{{z{{zy{z{{{{{{{|z{{z{y{z{|{z{{{{z{z{z{{{{{}{{{{|zz|z{{{z{{|{|z|{{z{z{z{{{{{{{{{{{z{z{zzz{{{|{{{|z{z{y{{{|z{{{{{{{{{z{{z|{{|||{||{z{zz{{{{{{{{|}}{|{zz{{z{|{}|{|{|y{{{{z{|z|{|{||{zz{{{z{|}z||{{{{|{{{{{{{|||z{{{{z{||{{{||{{{|{{{{{{{{{|{||{||||||zz|{{{|{{{|{{|{{|z{yz{{{{{{{z{{{{{{z{|{}{|{||{{z{zzz{{{{{{{{||{{{{z{z{{{|{{|||{{{z{zzz|{||{{|}{{yz{{{{z{{{|{{{zzzy{zz{z{{|{|{|{{zzzz{z{z{{{|{{zzz{z{{zz{|{{{{{|z{zzzz{zz{z{||z{{{{y{zzzz{|{{|{{zzy{z{z{{z|{{{{zzz{z{z{{{{{{{{|{zzyz{z{|||z|{|{{z{zz{zyzz{zz{{{z{{y{z{zz{z{{|||{z{z{z{xz{||{||{{z{{{zzz||{{{|{|zzzzzy{z{z{{z{{{z{{y{{{{{||{{|{z{z{{{z{zz|||{{z|{z{zzyz{|{z{{{|z{zz{y{{{|zz{|{{|{{zy|{{{{{{{|{|{z{{{{{|{||{||{|{{z{|{{{z|{{||||||{{{{{|||||||{}|{{|{{|{{{|{{{|||{{z{z{{{}|||{||||{{|{z{z|{||{||{||{z{{{{||{|{|{||{{{z{{{||{|{{||{{|zzz{{{|{|{||{{{{||z|{z||{{{|{||{zzzzz|{{{{||{|{{{zz{{{|{{z{{|{{{|{z{z|||{|||||{{z{{yz{{{|{||z{{|{zz|z{zzz{|{|{{{{zz{y{{|{|{{|{{{{{z{{z{|{{{{{zz{z{{z{{{{{z{|{{z{zz{z{|{z{{{{{z{{zzz{z{{{|{||{{z{|y{z{{{{z{||{{z{zzzzy{{z{z{|{{{z|z{zz{{{{|{z{{z{zzzzzz{{{z{{{zzzyz{zz{{{z|{{{{{{{y{{z|z{{{|{|{z|zzz{{{z||{}||z{zz{zy{{{{{{{{{z{z|zy|zz|{{||{|{{{{z{z{{z{{{{{{|{{|{zz{{{|{{|{{{z{{{{z||{|||{||{{zz{|{{{|{|z|{}{{{|{z{z{||||{{{|zz{{z{{|}{|||}}|{|{{{{{||||||{||z|{{|{z|}{|{||||{|{{|{{{{{}|{|{}{||{zz}{{||}{z|{{z{||{|{{{||{{|{|{{{{{{z}{{||}{{z{z{{{z|{{{{{||{z{{z{{{{||{{|z|z{z{{{{z{|{||{{z{{zz{{{{{{|{{{|{{{{zz{{y{{{{{|||{z|z{zyz{{{|{||{{{{zyzzz{{{|{|||{zz{zz{zz|{{z{|{{{{yzz{z{{{|{{z{{{yz{zz{|{z{{{{{zz{z{yzz{|{{{{{{z{zzzzz{z{|z{{{|z{{zzzzz{{{{{{|{zzzzzz{z{{{{z|{|{{zz{z{zz|{|{{{z{{{{zzz|{{{{{{|z{{zz{zz{z|{{|z||zz{{zz{{{{{{{{|{zz{zz{z{{{|z{{|z|z{{{z{z{||{||{{{{{{z{{z{|{|{{}{{{{{z{zz{zz{{{{{|{{{{z{z||||{{||z|{z{{{{||{||}|{{{{{{||{{{|{}||{{|{{|{|{|{|{{|}||{{zz|||{}{z|||{|{{z{|{{|||||}|||{{{{{{z|||}{|||{{{{z{|{|||{|||}{{{{{z{z|{|{|{{}{|{{{z{{z}{}|||{|{{zz{{{{{}{|{|{{z{{z{z{{{|||{||y{{{zz{z||{z{{{{|{{{zz{z{{{|z|{{{{{{{{zzzz|z{|{|z{{zz{zz{{|{|{|||zzzzzzzz{{|{{{{zz{{{{zzz{z{{{{{{zzz{{zz{zy{{{{{{z{{z{zz{{{{z{z{{zzzz{{z{z{{{{{{{zz{zz{{{{{{|{{z{{{zyzzzz{{|z{{{{{{{zy{zz{zz{{zzzz{zzyzzz{{{{z{{{{{z{{z{z{{{{}|{{yz{{z{{{zz{{zz{zzzz{z{{|{{||{||zz{{{{z{{{||||{{{{{y{z{z{|{}||{{{zz{zzz{{|{z{{||{zzzz{zz|||{{{{{{z{{{{{{|{|||{{|{z|{{z|{{|}~|{}|z|{{z{z{{|||{|{|{z|{|{z{||{|{{|}{{z{{|||{{{{{||}|zz|{{|{{|{||||{|{||z{{{||{{|}||{{{{|z{{|{{}||{{|{z||{{{|{{|{|||{{{z{z{{{{|{z}|||{zzz{{zz}{|||{zzz{z{|z{z{}{z{{{{{y{zz{z{{{{{||{z{{{zzz{{z{{z{{{zz{zz{zzz{{{|{|z{{{{{{zzz|||{{|{|z{zy{{{{z{{||{|{z{yzz{zz{{z{|{{{{zzz{y{{{z{z{{zzzzzzzzz{{z|zz{{z{zzzz{z{{{{z{{{zz{{zzz{{{{z{{|{{{{zz{{yz{|{z{|{|zzz{zzzzz{{z{{zz{{zz{yzy{{zz|{{y{{zz{zz{{{z{|zzzyzyzzzz{{{|{{{|zzzzzzz{zz{{{{z{{z{zyzzz{|{|{||{|{z{z{yz{|{{{{|{zz{{{z{{{{|{{z{{{zzzz{{z|{{{{{|{{z{{z{{{{{||{{{{zz{z{{{{|{||{|||{zz{zzzzz|{|{{{{{{zz{{z{||{|{||{{{{{{{||{|{|||||}z{{||{{z}{{||||{z{{|{{{|||{z|}||z{{{{z||{z|||{{|{{{{{{{|{{{{|{|{{|z{{{z||{{{||{{|zzzz{z{{{|{|{|{{{z{{{z||{{{{{{|zy{{zzz{{{{{{{||{z{{zzz{{{{||||{zz{zz{{{|z{|{z{zzz{z{zzzz{{z{{|{zzzzyzz{{{z{|{||yzzz{{z{{{{z{{z{zzz{{zzzz{zz|{|zzzzz{z{z{z{{{}{z{z{zzzzz{{z{{|{zzzyzzyzzz{{z{z{{yz{yzzz{{{zz{|{zz{{zyzzy{{{{z{{yzzzzzzzz{{{{|{zzz{y{zzy{{{{{{{{{{z{{zzz{z{{{zz{{z{zyz{z|zz{|{{{z{{{z{{z{{{{{{{{{{{z{y{zz{{{|{|{zz{{zz{z{||z{{{{{zz||zz{{{{{z|{{z{{{{{zz|{{||{}|{{zz{{{z||||{|{{z|z{{y{{{{|z||||{{zz{{{z||||{||}z{z{{{{{{{{{{|||{{{{{|{{{}{||{||}{{zz{{|{||{{||{{{{{z{{{{|z||{{{{|{|{{z{{|{|{{||||{{{{zz{|{{{{||{{{{|z{{z|{{|{|{{{{zzzzz|{{|{{zz{z{z{{{{z{{{{|||z{zzzz{zz|{{{|{{z{zzzzz{{{{zz||{z{zz{{zzz{{|{{{{{zzyyz{z{{{|z{{|zy|{zz{{zz{{{z|{{zzzzz{zzz{{{{{{zz{zz{zzzz{{z|{|z|yyzzyzy{z|{{|{zzzyzzz{zzz{{{{|{z{zz{zzy{z{{{{zzz{yzzzy{{{{z{|zy{zzzzz{z{zz{|{|y{yzz{zz{z{z{{{{zzz{zz{{{zz{z{{{z{{{{z{|z{zz{|z{z{zz{{z{||{|{z{{z{{z{zzz{||{{{{{{zzzzz{z|{{{z{|{zz{{{zzzz{{z{{{zzz{{z{z{|{{}|||{z{{z{z{z|{{{{{||{{{{zzzz|{|{|{|{{z{{|{|z{{|{|{z|{{|{{{{{|{{|||||}zzz{{{{{||{|{|||{{{{z{{{{{|{|{{{z{{{{z{{|{|{{|{{{{{|{{{{}{|||{|z{|z{{{{{|{||{||{|z{{{{z{|{||{{{{{{{{zzz{{|{{{{{zy{{z{yzz{|{{{|{|{{z{{{zz{{{{{|{{zzzz{zz{z{{{{{{{y{{{{zz{||{{z||{{zzz{{y{{|{z{|}z{zz{zzz{{{z{{|{|{}zz{zz{{{zz|{{zzzzz{{{{z{{{{{{{{{zzzzzz|{{{|{{zzzyzzz{z{{{z{{zzzz{zzzzz{|{{{{{zzzzyz{z{zz{zz{{{{zyzzzz{|z{|{{{{zzzz{{z{|{{z{|{{zz{zzz{|{zzz{{|z{{{zzzz{y||{{{{{z{zyz{{z|{{{{{{{{{{zz{z{|||{|{{{{{zzz{y|{{{{{|{{{{{zzyz{{z|{|{|{{z{{{{{{{|{|||{z{{{{z{zz{{|||||{{z{{{{{|{|{{{}{}{{|{{z{|}{{|{||{z{{{|{{{{z{||||}{|{{z{{|{|}||||}zz{{{{{{||{|{{|||{z{{z{{|{{{|{{{{{{{zz{{{|||{{{{{|{{zz{{|}{{||||z{{{zzz{{|{|{|{zz{{{yzzz|||{{{{{{z{{{zz{{|||{|{|{{z{zzz{{z|{|||{z{zyz{{|z{{|{{|{{{zzz{{{|{|{{{{{z{zzz{z{{|||z{|z{{zzz{z{zzzz{|{z{{{{{yz{{|zz||{y{{z{z{zz{z|||{{{zzzzyzzzzzz{{|z|zzyzzz{{{z{{{|{z{{zzzz{{|{{{{{{{{zzzz{{z{zzzz|{zz{z{{zzz{z{{|zz{{z{z{zz{{z{{{{{{{zzzzz{{{{z{{{{zz{zzz{{{|{{|{{{{z{zzzzz{{{{{|{{{zzz{zz{{{{{{|||{z{z{z{z{{||{{{|zz{{z{z{{{||{{|{{{z{zz{|{{|}|||{z{{{zz{z|||||||||{z{{{{{|||z|{|{zz{{{{|z||{{{|||{{|zz||{{{||||{}}{z{|{|{{}||}||{|{{{|z{z|{|{|||{{{{{{|{{{||||{|||z{{{|{{||{|||||{|{{zz{z||||{|{|{{z{{z{y{|{{{}||{{{{zz{{{{{}{|z{{{zz{{{z{z{z{|||{zzz{zz{{{{{||{||{{z{z{{{{{{{{{||{zzyzz{{{{{z{|}{z{zz{zz|{{{{{{{{z{zy{{z{{{{{|{{{{{z{zzz|{|{{{{{{yz{z{zzz{zz{z{|{{zzzyzzz{{z{{{{zz{zzzzzz|{{{{{zzzz{yzzz{|{|{{|{{{{zzzzzz{|{{{{{{zzy{zz{z{|{z{{{z{{zz{{z{{||{{{|{z{zy{z{{{{{z{||{{|zzz|z{{{{{{z{z{{zzz|{{{{|{{{|{|z{{zzz{|{{{|{{{{{zz{{{{{|{{{|{{z{{{z{z{{}{|{|{{{{z{{{{{{|{||}|{{{z{{|{{|{|{}}|{{{{{zzz||||{||{}zz|{{{{{||{|||{|{{{zz{{{}{|}|{|{{{{{{z{{|{}|{|{|{|{{{{{|}{{|||{{{z{{zz|||{{{|||{{{z{{{{{{{|{||}{z{{{{z{{{{|{||||{{z{|{{{|||{{{||{{zz{y|{{{{|{z{z|z|{{{{z|{{{|{|z{zz{z{z{z{{{{{|{z{zz{{{|z|{|{{{zz{{{zz{{{{{z{{|z|{zyy{z{|{{|{{z{zz{{z{zz{{zz{{{{{zyzzzzz{{{{{{{{{{{z{y{{z{{z{z{zz{z{{z{{z{{z{{zzzzzz{{{z{{z|{{zzzzyyzzzz{||zz}{zz{{{yzzzzz{{{{{{{zzzzyzz{{{{{z{zz{zz{zzz{{zz{{{{zzzz{zz{z{{z{{{zz{zzzzz{{{|z{{{z{zzz{zzz||z|{{{{z{{|zy{{{|{||{{{zzzzzz{{{{{{{{{{z{zz{z{||{{{{{{|z{z{{{{z|z{|{{{{{|{z{|{{{{}|{||{zz{{{zz{{{{||{||{zzzz{z||{{{}{|{{zz{{{|z||z|{|||{z|z{{{{}|{||||{{{{{{|{|||{{|{{{{zzz{{z|{{{{{||{{{{z{{{z{|{{{||{zzy{z{z{|||{{||{{z{zzz{|{{{{|||{z{z{zzy{{{z{|{{{z|z{yzzzz|{|{|{{zz{{zz{{{{{{|{{z{zyzyzzz||z{{{{{{z{zz{{z{{{{{|{{{zzzzzz{{z{zzz{zz{z{zyyz{zzz|{{z{{zzz{zz{zz{{z{zzzyzzzz{z{{{{{{zzyyyz{{{{z{z|z{{zzzyyzzz{zz{{{{{yzzy{zyz{{{{{{zzzzzzzzz{{zz{z{{zzzzzyzzz{z{z{{zzzzzzzzy{z{{|{z{{{y{{y{yz{{{zz{|zzz{{yz{{{z{z{{{zyzzz{zzz{{z{{{{{zzzzzzzz{{|z|{|{{|z{z{{{{|{{{{|{zzzz{z{{{{{{|{|{z{z{z{{z{{{{|{z{{|z{zzz{{{{|||{{{z{z{z|{{{|{||{|zz{{z|z||{{{{{|z{zzz{{{{||{|{{|{{{zz{z{{{{||{|{{z{|{{{z||}|{{{{|{{{{{{z{{z|{{|||zz{{{z{{{{|{{{}z|zz{{z{z{{{{{}|{{{zzyzz|z{{z{|{z{zz{zzzzz|{z|{{|z{zzz{z|{z{||{|{{{z{z{{{||zy{{||{zzzzzz{zzz|{{|{{zz{yy{|{{{y|{{{z{yzzzz|z{{{{{|{{zzzzzzzz|z{{{zzzz{{zzzy{{{{|z{{z{zyzz{{{z{{{||y{zzzzz{z{z{z{{{{{zzzzzz{z{z{{z{zzzzz{y{z{z{{z{|{{{zz{zyz|{y{{z{zz{zzzyzz{zzy|z{zzzz{zy{zz{z{{{{{zzz{{{z{{{|{z||{{z{zyzzz{{{{{{{z{{z{zzz{zz{{{z|{z{z{z{z{|{{{{{{{z{{{zz{|||{{{|{|{{{{zzz{|{|{||||{|z{{{z{||{|{||{{{z{z{{{{{{{|||z{{{{zzz{z||||||}y{{z{{{|}|||}||{{{{z{{|{{{||{{{|{{|{{{z{|{|{|||{z{{{{{z{{|}{{|{{z{z{z{{|{|{|||{{{{{{{{{{|{}||||zz{yz{{{{{z{{{{||zz{{z{z||{{{{||zzzz{z{zy{|{{{{{{|{{{zzy{{{z{|}{{zzzz{{z{{z||{|{{z{zz{z{z{{z{{{{{y{{yz{z{z{{y{{{zz{zz{zzzzz{{{{|zz{z{zy{{|{zz{{z{zzzz{yz|{|z{|{{zzyzz{zzz{zz{{{{{z{zzzz{z{{zz{{{{yzyzzy{z{zz{|{zzzzzzz{zzz{zz{||z{{z{yzz{z{{z{{zzzzzyzzzz{|{z{{|zzzzy{zz{z|{y|{{zzyzyzzzz{{{z{{{{zzzzz{{z{{{|{{{{{zy{zzzzz{{{{{{{z{{{z{z{{|{{{{|{{zzz{{z{|{{{{||zz{z{z{{z|z{{{{{{zzz{{z{{{|{{|||{z{|z{{|{{zz{{|{{{{{z{{z||z{|{{{{z{{{z{{{{|||{{{|z{z{{|{{{{{{|}{|{z{{|{{{|{|{{||{z{zzz{z{{|{|||{|y{{{zz|{{|||{||{z{{{|{{|z|{{{{|{{zz{{z{{z{z|{{|{zz{zzz{z{{|{{{{z{zzz{z{{{|{z|{{{{zzzzzz{|{|z{{{{z{|z{zz|{|{{{}|{{zz{{zz{|z|z}{{{z{zzz{z{z||z{{|z{zzzzzz{{{{z{{{{zzzzzz{{{{{{|{{{{{yz{zz{{|{{{{{zzzz{zzz{zz{{{{{{zzzzzzzz|{z{z{z{zzzzzz{z{|{{{{{zzzzzzzzz{{z{{{{zzzy{zzyz{{z{{{{{{z{zz{{zzz{{{{{{zz{{{{z|zz{{z||{yzzzzzyz{{{|{{{zzz{z{{z{{{|{{{|zz{{{zz{|{{{{{{{{{zz{zzz{{|{|}{{|zzzzzz{{}{{{{{{{{z{{{{{z||zz|{{z{|{{{{{||{|{}||{{{{{z{{|{|{}{z|{{{{zz{{|{{||||||{|{{{{{{|z{{|||{{z{{|{||{{{|{|{|zz{{|{{{||}{|}||z{{{zz{|{|{z|}{|{{|{{z{|{{{||{}{{{{{{z{|{{|{{{|z{zz{z|z||{|{{||{zz|z{{z{{|{{||{{z{z{{z{|{|{{{|{z{{{zz{{{{|z{{{{{zz{z{{z{|{{{{||{zzz{{{z{zz{{||z{zz{{{yzzz{{zzz{{zzzy{{y{z{zz|{|{zz{zz{zz|z{z|{{zy{{{{{z|{{{z{zzzzzzz{{z{|z{{z{|z{{yzzzz{{{{zz{zz{zyy{zz{zz{{{z{{z{{z{z{zz{{{{|{{yzzyyzyy{zz{z|z{zzzzzzzz{z{z{z{zyzzzzzzy{{z{y{{{z{yzyyz{{{z|{{{{{zzzy{zzz{{||{{yzz{zy{zz{{z{|z{{{zzyzzy|{{{z{z{zzzz{y{{z{{{{{|{{z{{{zzz{{{{{{{|{zz|{{{|{|{|||{{{{{zz{{z|{{z{{{|zz{{{|z{{z{{{{|{|z{zz{{z|z{{{{||{z{{{z{z{||z{{}||z{{{z{{{{{{{{|{{z{{{{{{{|||||}|{{z{{z{{{{{{{|{{{{zzz{{{{{{{{|{{{{{zzyz|{{{||{{{{{z{{z{{{{||{{{|z|{{z{zz|z{|{{|{zzz{z{zz{{zz{{{{|zyz{{zz{{{{||||z{{z{z{z{|{|{{{{zyzz{y{{zz|{z{{{{z{zzz{z{{{{{{{{{zz{z{zzz|z{z{{zzzzzzzz{{{{{z{{{z{{z{zzz{z{{{{z{{zzz{z{z{{z{z|{zzzz{yzzzz{{z{z{{z{zz{zzzz{z{zz{|{zzyzzzzzzzzzz{{{|zy{{y{z{yz{{{{{z{zzz{zyzz{{{{}zz{z{y{z|{{{{z{{|yz{zzzz{|z{z{{{zzzzzyzzz{{{{|z{{z{zyz{zy{zz{{{{{z{zzzzzz{z{{{{zz{{z{z{{{{{{z{z{{zzzz{{z{{{{z||{z||z{{{z|{{|{{|||{{{{{z{{{|{{|{{|zzz{z{{|}{{{||{|{{{{{{{z{{{{{|{|{{{{{{z{{{}|||z{{{z{{{{{z{{|||{|{{{z{{{{||{{||{{zz|{{{{{|z|||{{{{{z{{z{{||{{|{{{{{zz{z{{|{|{|||{z{z{z{z{|{z{|{{zz{z{{{{{||zz{|{{z{z{zzz{{{||||||{{zzzz{{{{{|||{{z{{z{zz{{{{z{zzz{z{z{zzz{{{{|z{{z{z{zzy{{{z{{{{{{{zzzyz{{{y{z{{{zz{y{zzz{z{{{z|zzzzzz{{z{{{z|{{zzzzyzzzz|{zz{{{{zz{{z{zz{{|{{{{zzzzzz{zzzzzz|z{z{{z{zzzz{{zz{z{zzzzzz{zz{z{z{|{{{zyz{zz{|z{{z{|zzzz{z{{{zz{{{||{z{{{{z{{z|{|{{{{z{{{{{z{{{{|{||zz{{z|z{{{|{z{|{{z{|{{{z{{{{{{{{z{zz|zz|{{{{||||z{|z{z|z||||||||{zz{{{z{{||{{|{{|{{{||{{{{|{{||{{{z{{{{{|{||{|||{{|z{{{{{|{{{||||{{zzz|{{{{|||||{{z||{{{z||{|{|||{{{{{{{||||{|||{|zz{{{{{||{{|{{{zz{{z{zz||{{{{|{z{{{zz{{{{{{|z|zzz{yzy{{z||{z{|z{|z{zz{{|{||{|{{zzz{zzz{}{z{{|{{{{{{{zy{{{|{{|{{{zzzzzz{z||{{{z{z{z{zzzz|{{{{|{zzzz{yzz{z{{{{{{{zzzz{zzzzz|{z{{yzzzzzzyzz{z{{{{{z{zzzz{z{z{zz{{zzzzzzzz{{{z{{{{zz{{yz{yz{{zz{z{{zzzyyy{z{{{{{{{zzzzzzyy{{z{z|{{{{zz{z{{z{{|{{{{zzzyz{{z{{z{|{{|z{{{zz{z{{{{{|z|{zz{{z{zz{{z{||z{zz{{zzzz{{{{{{{{z{|yzz{{{|{{{|{{z{z{z{zz{{{{|||{{{z{{{{||{||||{{z|{{{{z{{|{{{{{{{{{{z{||}|{||}{z{{{{{{{{{|{{{{||{{{{{{|{|}||||{|{{{{z{{{{}z{{|{{{{z{{z{{{{||||}|{{z|zz|{|{|z|{||{{y{{{z{{{{|{||{{||zyzzz|{{{{{{{{{{{{z{{{z|{{{{{zzz{{{zz{|{{z{{zzz{zzzz{|{{{{{{zzzz{{{{{{z{{{||zzzzzzzz{{z|z{|{z{{zzzzzz{|{zz{|zzzzzyzzz{{z{{|{zyzzz{zz{z{{z|{{z{zzy{zyzzz{{z{|zy{yzz{z{{{z{{z{yyyy{{y{{||{z|z{{yzyzyyzz{z{zz{{{yzzzz{zzz{{{{{zyzzzzzyy{{{{{{{{zzzzz{zy{{z{{{|{z{zzzz{{z{{{||{{{zzyz{{zz|{{{{{|zyyzzzz{z{{{{{{{z{zzzz{yz{{z}{{z{zzzzzz{{z|{z{|{{{zz{zzz{{z{z{|{{zzz{{z{{{|{|{||z|{{y{{z{{{|||{|{{z{{z{z{{z||{{||z{{{{{z{{{|{||||{z{{{{{|||{{||||{{{{|z{{{||{{{||{{{{z{{{|||{|{||{{{|zz{z{{z|}{|{z{{{zz{|{{|{|||||zz{zz{{|{||{|{{{{zz{{z{|{{{||{z{zz{zzz{{{||{{{{zzzzz{z{|{zz{z{{{zzz{y{||}{{{{|{z{zzzzz{|z{||{{{z{z{{y{{z{{z{|{|zzyzzzzz{{{z{{{{zzz{{{zz{{{z{{{{z{z{zyz{z{zz{z{z{zz{yz{zz{zz|{zzz{zyyzz{zzz{z{z{{{yyzzz{{{z{z{z{{z{zzyz{{zz{{||{zz{zzzz{zzzzz{{zzzy{yzzz{z{{z{{zzzzz{zy{{{{{z|{{{{z{zzzz|zz{z||{{z{z{{z{{{{{{{{{{y{zyzz{|{||z|z{{{zzyz{z{z{z|{|z{{z{z||{{{{z{|{z{{z{{zz|z{zz|{|{zz{z{zz{{||{||{z{{{{z|{{|{{{|||{{{{{zzz{{||{|||zz{zz{{z||{{{{|||||z{{{|{|{{|||{{z{{z{{|{}||{{||{{{{{|{z||{{{{|||zz{|zz{|{{{|{{|{{{{{{y{|||{{{||{{{z{{{z{{|{{{||{zy{z{z{z{{{{{{{{z{{{{{z{{{{z{{{z{{zzzzz{||z{z||{zz{zzzz{|{|{{z{{{{zzzzz{z{|{{{{{z{z{zzz{{zz{{{|zzz{zzzzz{|yz|{|{z{yzyy{y{{z{{z{z{{{{{zz{{{zz{{{zz{zy{zzzzzy{|{{zz{yzyzzzz{|z{{zzzzzz{z{z{|z{zz{{z{zzzyzz{{z{{z{z{zzyz{zz{{zz|z{zzzzzzzzzz{zz{z|{z{zy{z{z{z{z{{{z{zzzzzz{z{{{{{{{zzzzz{z{{z{{{z{zz{{zz{zzzzz{z|{{{zz{zzzzz{{z{{{{zzzy{zz{{{|{{|{zzz{z{zz||{{{||{{{{z{z{{{{||{||{z{{{z{yz{{{|{|||{{{z|z{{{|{{{||{|{z{{z{{{||{|{||{{zz{{{{|{{{||}{{{{{{{{{{}{{|{{|{{{{|{{z|{z{|||{{zz{{zz{|{|||{{|{z{{|{{{{{{{|{|{{z{zzzz|{|z{||{{{{{|zzzz{{z{z{|{{zzy{zzz{{{{{{{{z{z{zzzy{{|{{z{{zzzyyzzz{|{z|z||{zzzzz{z{{{z{{{zzzy{z{zzz{{zz|{{{{zyzz{zz{z{z{{{{{|{{zzzz{|z{z{zzz{{zzzz{{{{z{z{zyz{yzzzzzz{{{{|zzzyzzzy{z{{z{{yzz{{z{xy{{{z{z{{zzz{yzz{zz{z{{{{zzzy{yzyy{zzzzz{{zzyzz{yy{{zz{{zyzzz{{zz{z{{{{{zzzzzzzzz{{zz{{{{{{{zx{zy{{z{{{{|z{zzyyz{z{zz{|z{{{zz{{{{{{{{z{{{zzzzz{zzz{{z{||{{zz{{zzy{{{z|{z{{zy{{{{z{z|{{{|{{{|zz{|{|{{{{|||zyy{{yzz{|||{|z|{zzz{{z{||{{||{{zz{{z{z|{{z{||{||{{zz{z{||{{{||{{{{zzzz{{{{|z}|{{z{z{{z{{z|{|{{||{{y|{{z{|z{{|||zzz{zz{zz{|{{||{{z{zz{zz{{{{{{{{{{{zzzz{z{z{z|zzyzzz{zzzz{{z{|{{z{{z{yzz{{{{{{{zzzzz{z{y{{{z{{|z{zzzyzzz{{{{z{{|z{zyzz{zy{{{zz{{{z{z{yz{z{zzz{{{{zzzz{zzzz{{z{{{y{zzzzyz{{{{{{{{zzyzzz{z{z{{{zz{{zzzz{yyz{{z{{{zz{zzyyzzzz{zz|{zz{zy{zzzz{zzzz{zyzzzzzzzz{{{z{{{zyzy{zy{z|{zz{z|z{yz{z{zz{z{y{|{zyzzy{yzz{{{z{{{zzzzyzzz{{z{z{|zz{{z{z{z{z|{z|z{z{{zz{{z{||z|{{{{z{{{z{{{|{{{{{{{z|{zzz{|z|{{z||z{{z{{{z{|z{{||{{z{zz{{{{{{{{{||{z{{{{{z}|||{{|{{{{{{{{{{{{{|{{{{{{{z{z{z|{}{{|||{{zz{z{{z{||{{|{zzz{{{{|||{z{{{{z{{{{zzzz|||||{zzzzzzz{z{{{{{{||z{{zzzz{|{|z{{{|{{{zz{{{{|{{{yzyzz{z{{yz{{{{z{{{{{z{yzz{{z|{{{{{zzy{{z{||{{||{{{z{zzzyz{{{{{{{|{zz{zzzyz{z{{zz{{zzzzz{yzz|{z{{{{zzzzzzzzz{zz{z{{z{zz{zz{z{{z|{{zzzyyyzzz{z{zz{zzz{zzzzz{{{{{z||{zz{{yzzzzzzzz{{zzzzzzzyzzzz{{z{{z{zzz{zzz{{z{{{zz{zz{yz{{zzzz{|{zz{zz{{{|{{zz{|zz{zzz{y{{z{z{{{{zz{yzzz{{{{{{|{zz{{zz{z{{{|{{|{{zz{zzzz{{{zz|{{zz{zz{z{z{{zz{zz{zzz{{z{{z{{{{{|{{{{{{zz|{{||{{||{z{zzzz{{{{{{|{|z{{|{{z{||{|{|{{{{{z{|{z{{z{|}|{{z{z{z{z{{{{{{{{z{zz{{z{||{|||{{{zz{zz|{{|{{{{{{{{{{zz{{z{|{|{{|z{z{|zz{|{{{{{||{{{z{{z{{{{|{|z{{{{zzzz{{|{{|{{z{z{zzzz{{{{{|{{{{zzzz{z{{{{z{||{{{{zz{z{{z{z||{{z{zzzzz{{{{{{{|{zzzzz{yzyz{{|{|z{zzzz{zzz{{{{{{z{{{zzyz|{||{{z{{zz{z{zz{zzz{zz{{zzzzyzz{{{{{z{{{{zzz{zzz{zz|z|{yz{zzzzz{z|z|zz{zzz{zyzy{{z{z{{{{zzzyzzzz{{{|{{{{zzyz{zzy|{{{z{{{zyz{zz{{{{{|{z|zz{zz{{{{{z{{|{{zzzzzzzz{{{{{z{|{{{z{z{z{{|{|||{{zzz{|{{{|{{{{|z{{z{z{z{z{|{{{{{|{{|{z{{z{|z}{{{z{{|{{|{{{{|{{|}{{{{{{zz{|{{{||{{zz{{z{z{{|{|{{|{{{{{{{{{{{||||{|{{zz{{{{||||}|||||{{zz{|{}}||||{{{{{zzz{{{|{{|{{{{z{{z{{|{|{{{{{{{{{{zz{|{{{||||{{{yz{{{}{||||z{{z{{z{z|{{{{{{{z{{{zzzyz{{{z{z|{{zz|z{{{{|{{{|{zzz{zzzz{z|{z{|{{{zz{zzz{{zzz{z{{zz{xzzz{{{{z|{{zzzzzzzz{{|{z{|{zyzyzzxz{{{|z{{|{{zzz{zz{z{zz{z{zzzzzyyzz|{{z{{{{yzyzzzz{{|{{{zzyz{zzzzzzz{{z{z{zz{{zz{yy{{zz{zzyzzz{y{zz|zzz{{{zzzy{{zy{z{{{z|{z{zzzyyzz{z{|{{|{z{{{z{{{{z{z|z{zz{zzzzzz|{{|{|z{z{z{y{{zz{{{zzzzz{zzzz{z{{{{{|{zzzz{zzz{{{{{{{{zz{z{z||{|{|{|{{{z{{{|{{{{{{|{{{{{z{zz{z|||{{{{z|{zzzzz{||{{{{||{z|{{{{{|{{{||{{|zz{{{{{{||||{|{|{|{zz{{|{{|{|{{|{{{{{{z{|{{{||||{{{zzz|{{{||{{|z{{zzzy{{{{{{{||z{z{{z{z{|{||{|z{z|y{z{{|z{{{{}{z{{{z{zz{||{{{||z{zz{zzz{{{|{{|{{|{{{zyz{{{{|{|zzz{{{yzz|{z{{|{{{{zzyzzzzz{zz{z|zzzzzzzz{{z{{{{{{{z{z{zy{z|{{{{{{{zzzyz{y{zz{{{|zzyy{yzy{{{{{z|{zzzyzzyz{zz|{{{{{zzzyzy{zzz{zz|{zzzzzzyz{z{{{{z{{z{z{zzz{zzz{{|{zzz{{|zzzz{{z{{{{z{{zz{{z{z{z{{{zzz{{y{z{{{{{|{{yzzzzz|z{{{z{z{{{{{z{zyzz{||{}z{zz{zz{z{{{{{{||{{{{z{zzzz{{{{|{{|{{zz{{z{{||{{||zzzzz{|{|{{|{|||{{{{{zzz{|{|||}{|z{|{{{z|{|{{{{{{z{{{{{{{{{{|}|{{{{{{{|z{}}{|{|||{{{{y|{{{|{|{{{{{{{{{{||{{|{{||||||{{zz{{{||{|{{{|{{z{z{|{{|||||{zzzz{y{|{{||{||zz{zz{y{{|{{|{{{{{z{{{{{|{{|{{z{z{{zzzy{{{z{|||{zy{{zzz{{{|{|{{{zz{zz{z{{||{z|{{y{{yz{y|{|{z{{|{{z{{zzz{{{{{{|{{zzzzzzz{|{{z{|{zz{zz{zyz{{{{||{zyyzy{yz{|{{{{{zzzzzzzyzzz{z{{{{z{zzy{z{z{{{z{z|{zzzz{zyz{{zz{|{{{{yyzzzzzzz{z{{zz{{{{zz{z{z{{|{{zzz|zzzz{{{{{{{{zzzz{{z{{{{{{|{zz{{{zz{{{{zz{{|{z{|{z{zz|z{z|{{|{{{zzz{{{{|{{}{{{{{z{y{{{{|z|{{{{z{|{{{{{|||}||zz{{z{{{||{|{|||{{{{|zz{{|{||||{{{z||z{{|||{{||{{{{{{{{zz|{{{|||{{{|z{z{{||{{|||{{{{|{|{||||||{{{|z{{{{zz|{|{|||{{|z{{{|{|{|{|||{zzzzz{z{{|{{{|{{z{|zz{{{|{|{{{{{{|{zzzz{||{{|{zzy{zzz{yz||{{z{{zz{zzzz{z{{{{{{z{zzyz{zz{{zz||z{{{{z{z{z{z{|zz|{z{{zzz{y||{z|{{{yzzzzzz{zzzzz|||{z{{{zzz{{|zz{zzzzy{{{z{z{zz{{{zzz{y{zzzz{{{{{{{{zyzzzy{{{{z{z{{zz{yzzz{z{zzz{{{zzzzz{zzz{{{z{zz{zzzzzzz{{{{z{{|zyzzzzz{zz{|{||{{yyzzz{zz|zz{{{{zzzyzz{y{z{{zz|{zz{{yyz{|z{zz{z{zyzzzz{z{{|z{|{|zz{zz{zz{{{{|{{{{yzz{{{{|{{zz{|{{{{{{zzz{|zz{{{{zz{{z|{{{{|||{||{{z{{{z{{|{|{{{||{zz{{{{{}{{{||}{{|z{{{z||{{{{|{|z{{zzz{z|{{|{}||{{|{{yz{{{{{{{|zzz{{zz{{|{{{|{|}{z{{{z{{{z||{{|{{zz{z{z{|{{{|{{|{{zzzzz}{{zz|{{{{{{zz{zz{{}{{{zzzzzzyzz{{{z{{{{zzzz{{zz{||{{||{|{{{z|{zz{{{{{{|{zz{{yzz{{{zzz{{{zzzzz{zz{{z{{{|zzzzzzzzz{z{{{|{{{zyzzz{{zzz{{{{zzzzzzzz{z{{{{|{y{zz{{zz{z{z{{{{{zzzy{y{z{{{|{z{z{z{zyzzz{|{z{{{zyzzzyzzz{zz{{z|zzzzzzzyz{{zz{{{zy{z{zzy{zz{z{{{{zzzzyzz{{{{{{{{zz{zzyzz{{{{{|||z{zz{{{zz{{{{||{{zz{zyzzz{{{{|z{{zz{{zzzz{z{{{{{|{zzz{z{|{|{zz|{{zy{{{{{{|{||{|{z{{{{|{zz|{{|||||{{{|{z{|||{||||{z|z|z{{{|{{|{||{{{{{||{{z|||||{{{{{{|z{{}|||{{{{{|{{{{{{|{||||{{{{z{{||{{||{z||{z{{{{z|{{|{{{{|{{{zz{zz{|||{||{{{z{z{z{{{{|y{|{{z{{zzzz{{||{{{{zzzzzz{zz{{|{|z{{zz{zy{{{{{{{|{|{{zzz{zy{z|{{{{|{zz{zz{{z{{zz{z{{z{zzz{yz{{z{{{{{zzyz{{zzzzz{{{zzzzzzzzzz{{{z{|{{zzzz{y{{{z{zz{{z{zy{yzzz{z|{{{{zz{zzzzzz{z{{z{{z{z{zz{yz{z{y{{{{zzyzzyz{{{zz{{{yzzyy{yy{{z{z{||yzzyzz{y{{zz{{{{{{zyzzz{|zzzz{{{{zz{zzzz{{{|z{|{{z{zzz{z{{|z{{|zzzzz{z{y{|{|{|{{zz{y{zz{{||z{{z{{zyzzzzy{{|{|{{|{{|z{z{z{z||{|{{zzzzzzz{|{||||||{z{{{{z{|}||{||||z{|z{z{{|{||{{}z{yz{z{{|{|{|||{}{{{{{|{{{{{{||{|{{{{{{z{|{|{|{{{{{z{{|{{|{||||{|{{{{z{||{|{z{|}{{zzzz{{z{z|{|||{{z{zzzz{z||{{||{{{{{z{z{{{||{zz{{zz{z{{z|z{{zz|{zz{zyzzz{{{y{{|zzz{z{zz{zz{{{{{{{yz{zz{zz{z{z{{{{yzzzzz{z{{{{|{{zzzzzzzzzzz{{{{z{{{zzyzz{|z{{zzzzzzzyzzz{z{z{z{zzz{zz{z{z{{{z{zzzy{z{yzz{{z{{{{zzzzzy{z{|{zz{|{{z{{zyyzzzzy{{z{yzyzz{zzz{zz{|{z{zzzy{zzzz{z{z{{z{z{zzz{{zz{{{zz{z{{zzzz{{{{{z{{zzzzzzz{{{{||{zz{{{y{zzzz{z{{|{{{{zyzzzz{{{{{z|{zzyzzzz{{{{{{|{{{{{{{{{z{{{||{z{z{|z{{zz||{{{||{|zz{z{z{{|||{||{{{{{z{z{|{|{{|{|{{{zz{{{{{{{{{{{|{{z{{{{|{|{|{|||{zz{{z{{{{{{||{{z{{{{z{{z{{|{}{{z{{{zzz|{{|{{|{{{z{{{{{{{{{{{||{{z{zzzyz|{{{|{|{{{zz{z{{{|{|{z{|z{{{z{zz{{{{{||{{zzzzzz{{{{||}|{{{yzzzz{z|z{{{{{zz{zzzz{{{|{{{|zzzzzzzzz{|{{|z{{z{z{{zzz{z{z|{{zzzzz{yz{{{{{|{{zzzzzzyz{{{z{{{{{zzyzyzzyz{z{z|{z{z{{yz{z{|z{z{zzzzzzzzz{{{{z{{|zzzyzyzzz{z{{{{{{zz{yz{{z{y{{{|{zyzzz{zz{{{zz{z{{zzz{z{z{z{{z{{{{z{{yzzz|z|{z|{{z{zzz{{{{z{{{{}{{y{{{zzzz||{z{||{zzz{z{z{{|{z||{{zz{z{{{|{{{{|{|zz{{{zzz|{{|{|||{z|{z{{{{{z{{||{{zz{{{{{{{|{{{}{{{{{zz|{|{|{z|||{{{z{|{{{|}|}|{{|{|{{{z{{|{{||{||z{{zz{{{||||{||{z{{{{{{{|{||{|{|zz{|{{{||{}||{|{{|{{z{{{{{|z{}|{{z{z{z{{{|{{{}{{{{|{{{z{|{|z{||{{yz{z{zz{{{{{z{zzzzz{zz{{{{{|{|{zzz{zzy{z{z|{{{{z{z{z{y{{{{z{{{z{zzzz{yzz|z{{|{zzyzz{zzz{z{{{{z{zz{zzzz{zz{zzz{|zz{zz{yzz{{{{||zzyz{yzyz{z{{zzzzzzzzyyzzzzz{zz{zzz{yzzz{{z{zz{{zzzz{zyyzyzyzzz{{{zy{zzyzyyz{{}{zzz{zzzz{zz{z{{{zzzz{{zz{{{{{{{|zy{z{z{z{z{|{{|{z{zzyzz{{z|z{{|{zz{{{zzz{{{||{{zz{{{z{{z{{|z{{{z|{{{{{zz{{{{z{|{z{z{zzyz{z|{z||{z{zz{{{{{{{|{|{|{zzzz{{{{|{|{{|z{z{zz{yz||{{{{|{{z|z{{{{{{||{|{|{z{{z{zzz|{||{||}{{{z{{{{||||{|{|z{{{zzz{{z||{{{{z{{{zz{{{|{{{{|{{zzyzz{{z{{z|{{{{z{z{zz{|{{{{{|{{{{{z{{{z}|{|z|zz{zzz{zz{||{{{{{z{z{{zz{z{|{|}|{zz{z{z{{{{{{||{{z{zzzyz{{{{zy|{zzzzzzzz{|{{{z{{|{z{zzzz{{|z{{{{z{{{yy{{|{{z{{{{{zzzy{z{{zzyz{{{zzyzzy{z{|zz{{{z{zzz{yy|zz|z{|{{{{zzyzzz{{z{{||{zzzzyzzzzz{yz{{{{z{z{z{z{{{z{{{zyz{zy{zz{{{{{{{{{{{z{z{z{{{zz|{z{{z{zy{{{{{{{{{|{zzzzzz{z{{z{{||zz{z{y{z{{z{|}{||z|{zzz{|{z{{||{{z{{z{{zz||z{|{{{{{{|{{{{{{|{|{|z{{z{{{z||{{{|||{{{{{{{{{||{{||{}z{{{{{{{|{{{{{{|{{|{||{{{z{{|||||{{{}{{||{|{||||z{|{z|{|||||{||{{{{zzzz{{|{{||}{{|{{{z{{{{{{||z|zzz{zz{z{{{{||||z|{z{zz{|{|{|{{z{|zz{zz|{|{|||{{{zzzz{z{{{zz|{{{{zyyzzz||{{z{|{{{{zyz{{{zz|{{{{|z{zzzz{z{{{z{{{z{zyz{zy{{{z{{{{{z{zz{{z{{{{z{|zyz{{{zyz{{{{z{zzz{zyzzyz{z{z{z|{yzzzyz{zzzz{{{{zzzzyzzy{zz{z{{{{zz{yy{zzy{{{{zz|z{yzzyzzzzzzyz{{zyzyzyzyz{z{z{|zzzzyzzyzz{{|zz{|{z{zzz{zzz{{{{{{yzyz{yzz{{{{|{{{{zzyzzz|zz{z{{{|z{z{zzz{z||{|{{{{zz{z{zzz||z{|{{|z{zzz{{{|{z{{z{zzzz{{{z{{|{{|{|{{zzz{{{{{|||||{|{{{{zzzz||||{{{|z|{{{|{{|||||{|z{{{z{{{{|||{|{{|{z{z{{{{|{||||{|z{{z{{|z{{|z|{||{z{|{{{{{{|{{{{{{z{{|y|{{{||{}{|{{z{{{{{{{{|{|||{zzz{{z{||{{{|{{{{{zz{z{{{{{z|{zz{{yzzzz|z{{z{|zzzz{z{{z{{{z{{{{zzzz{yzzz{z{{||{zz{zyyzz{{|z{|{zz{zzz{y{z||z{{{z{{zzzzzz{z{z|{{{zzzz{zyzzzzzz|z{{z{zyzz{{z{z{z{zyzzzy{zz{z{{{z{{z{zz{y{zz{z|{{zzzzzz{zzzzz{z{zz|{z{{{zyz{zyzzzzzzzzyz{zzz{zz{{{zzzzzz{zzzzy{{{{{zyz{{zz{z{{{{{|{z{{{zzzz{z|{{z|yyz{zzzzz{|{|{z{z{{{{zzz|{{{{{{{z{zz{{zz{{|{z{|{{{z{zzz{{{{z{{{{{zz{z{z{z{{|||{{zz{{{{{{||||{|||{{{{{zzz|{{{|{|{{z|z{{{z|{{{||||{{{z{{z{z|{|z||{{{z{{z{zz{||{|||z{z{z{zz||{||{||||{{{zz{|{}{zz{|{z{{{{{|{|{||{|||z{{{{{{|{z{|{{|{{{z{{{{{{{{{{{{{{{{{z{z{{|{}{{{{{zzyzyyzz|{{{z{{zzzzzzz{{{|{z{|{{{{{{z{{{{|{{|{{z{{{zzz{z|{z{{{{{zzzz{z{z{|{{{|zzzzzzzzz{z{z|{z{{zz{zzz{{{{z|{{z|z{zzzz{{{{zz{|zzzzyzzzz{z{z{{z{zzzz{y{zzzzzz{{{z{zzyzzz{{|{{|z{zzzzyzyz{zz{{z{zzzyzyzz{|zzz{{{zzzz{zzyz{{{{{{zzzz{zz{z{{{{{{{{{zz{zzzzz{z{{|{{zzzz{zzyz{{{|{|{{{{{{zzz{||zz{z{{yz{{z{{{|{{|{{z{z{{{zzzz|{||{{|{z|z{z|{{{|||{||{{z{{{|{{{{|{{|{{zz{{z{z|{{||{|{|zzzzz|{||{{{{|{|{{{{{{{}{z{{{||{{{|z{{{{||}{{}{{{{z{{z||{|||||{{|z{z{{{{|||{{||||{{{{{|{{z{|||{{zzy{{{{{{zz{|{|{{{zzzz{{{|{||z|{{zz{z{{|{{{{|{zz{zzzyzz{{{z{||zz{z{zyzz|{{{{{{|{z{zzzzzz{{{{{|{zzzz{z{{zz|{z{z{{{zz{zzyz{{z|{z{{zzy{z|z{zz{{{{|zz{zzzzzz{{{z|{{{zzz{{{z{zz{{|{{{zzyzzyzzz{|z{{zz{{zzzzz{{{{{zz{zyzzzzzzzz{{|z|y{zzzzyyzz{zz{|z{zzyyzzzx{zyzz{{|zzzzzzzzz{z{z{{{{yz{zzzzz{z|zz{{{{{zzzzzzzz{{{{z{{{{zzzz|{{{{||{{z{{{y{zz|{{{|{|{z{zz{zz{{|{{{{{z{zz{zz{{z{z{{|{|{{{{z|{{{|{||{|z{{zzz||{{{{{|}{|z{|{{zz}|{{{{|{|z{{z{z{{||||{||{{{|z{{{z|{{|||||{{|{{{{{||{|||{}z{{|{{||{{{||{||{{{|{z{{{|{|{|||{{|{|{{{{||z|{{{z{{{{z{|{{|||||{{{zz{{z{|||{{|{z{{z|zzzz{|{{{|{{yzyzzzzz{{|z{|{z{zz{zyz{{{{{{{|zzz{zz{yzyzz{{|{zz{yzzzzzz|{z{{z{{zyzyzzzzzz{{{|{zzzzz{zz{z{z{{{{zzzyzzz{{{yzz{{{zyz{zz{zz{{{z||zzzyzyyzzzz{{{z{zzzyy{zyzz{{z{zzzzzzzzyz{{{zzz{z{yzzzzzy{{zzzzzz{zxzzzyyzzzzz{z{zzzzyzzzyy{zz{z{{z{z{zzz{{{zz{{zz{zzzyy{z{{{z|z{z{y{yzzz{{{zz{{|{{yzzz{z{{{z{{z|{{zzzz{z{{{{{{{{|z{zzzz{{{|{|{{{{z{{{{{{{{{|{{|{{{{{zz{{|{z{{{{{y{{{{zzz{{{{||{{{zzz{z{z{|{{{||||{z{{z{{{{{{|{|{{z|zz{{z{|{{{{|||z|{{{z{||{{{{{|{z{z{{z{{{|{{||{{{z{{z{z{{{{|{{|zz{z{yz{{{||{|{{}{{zz{zz{{{{{{{z{{|{{yzz{||||{{{z{zzzy{z{|{{{{|{{zz{zzz{{|{{{|{{zz{z{{zyz{{z{{{zzyzzz{zzy{|{{{{{z{yz|zzyz{z{z{|z{yzzzzzy{{zzz{{zzz{zzzy{zz{z{||z{zzzyyzzzz{{z{{{{zzzzz{y{{{{z{{{zzzzyzzz{{zz{{{z{zzyzyyyzzz{{{{{zzzzzyzy{z{z{{z{zyzzzzzz{{z{{{yzzzzzzzzzz{{|{{{{{{zzzzy{z{{{z{z|zz{z{|{zz{{z{|{|zzz{z{z{z{{{{{{{zy{{zz{yz{{|{{{{{z{zz{zz|{{{zz{{|{{{{{zzz||{{||{{zzz{zzz{{{|{{|{{{z{z{{z{|{{|{||{{{{{{z{{||{||{z{{{{{z{z{{{z{{||{{zz{{{{z{|z{{|{{{{{z{zz{|{|{|||{{{{{{z{||{||{|{{{{|{z{{{z{z{{|{|{{{{{{z{{{{|{||zz{z{z{{z{{zz{{{zz{z{zzyz|||{{|{z{{z{z{z|{{{{{z{z{zzyzyyyz{z|z{{{{zzzzzy{{{{||{{zzzzz{{yz{z{z{|{zzzzzyyyzz{|zzz{zzzyz{zy{{{{y{{|zzz{z{zy{zzzzz|{zy{zzzzz{z{{z|{{{zzzzzz{{zzz{{zzzzzz{yzzy{{zz{{zzzzzzzyzyz{{{|{{zz{zyzyzzz{{z{{z{zzzyyzyz{{zzz{{z{zzzyzyz{yy{{{{zyz{zzyzz{z{z{zz{{zzzz{zzz|{z{|{zy{zzzzz{z{{z|{{zzzyzzyzz{|{|zz{{zy{{yzzz{{z{{{{zzz{zzzz|z|{{{{z{zzzzzz{{|{zz{z{zzzzzz{z{{{||{{{{z{{{zz{||{{{|||zzz|zzzz|{{{{{||{{{{zzz{{||{{|{||z{|z|{{|{{z{||{|{z{zzz{z{{|z}||{z{{{zzz|z{{{||{{zz{|z{{z{{{{{{}{{{{{{y{z{z{|{{{{{{zz{{{{|{{z{{{{zzzz{zz{{{{{{|{zz{zzzzz{{|||z{{z{zzz{zzz{zzy{{{{zzyyzzyzz{{{|{|zzzzzzzz{{zz{z{{zzyyzzzyyz|{zzz|zzzzyzzzz{{z{{{{{zzzzzzy{{{z{{zz|{zzzyyzz{{yz{{z{{{yz{zyzzy{z{{|yyzyyyyzz{z{z{zzyzyyyzy{z{{zz{z{yy{yyzyyzzzzzz{zzzzzzzzzyzzzzzz{{zyzyzzyzyzz{{{{zyzzz{zyzz{z{z{{zzzz{{zzz{zz{{{{zyzzzy{zz{{z{{z{zzzzzz{z{z{z{zz{zzzyzzzz{{{z{{{{{{zz{zzy{z||z{{{yzyz|z{{||{zz{{{zzzyz{zz{{|{{{{zyzzzzz{{{{{{{{{||{zz{zzz{|{|{|{{{zz{{{{z|{{z{{||{zz{z|z{z{|{|||{|{{{{{{z|}|{z{{{{{{{{zzz|{{{{|{zz{z{{z{{{{{|{|||{{{z{zzz{z{{{{{|yzz{{zzz{{{{{z|{{zzzzzzy{|{|{z|||zzz{z{z{|||||{|{{zzzzyz{{{z{z{|zz{zyzzz{{{{{{{|{zzzzzzy|{{{|z{{|z{z{{z{{{{{{{{{{{zzzz{{{z{{{zz{{zy{zz{zz{yzzz{{z{z{zzzzz|{{z|{zyyzyzzzzzzzz{{z|zzyyzzzzy{z{zz{{zyz{yzyzzz{zz{|z{{zzzzzzzz{{z|{zzyzzzzzzzzzzz{zzzyzzzz{{z{y{y{z{zz{z{zzy{{z{{||{{{{z{y{y{{|{{{{{zzz{zy{z{zz{{{{|{{zz{zzy{{||z{|{|{zyyz{z{|{{{{{{|z{z{{zz{|{|{{|{{z{|{zzz{|{{z}{|zz{z{{{z|z}||{|{z{{{z{{{|{{||}|{{zz{{yzzz|{|||{|{{{{{|{{|{|{{||{{{|{zz{|{|||{|{|||{{{{{z||{~|||||{{{{{{{{{{{||{z{z{{{{z|{|{||}|{{{z{{{zz{{{||{|||{z{{z{{|{{{z|||||{{{zz{{{{|z|{{{z{{{{zz{|}}|{{|zzzzzzzzzz{{{z{{zz{zzzzyzzz{{{{{|z{zzzzz{z{{{{{{y{zz{yzz{{{{z{z{zzzzyzz{zz{{{{{{zzzzzzzzzzzz|z|{{zzy{zzz{{{z{{z{{zzzzz{yzz{{{{{zzzzzzzzz{{{{zz{z{zzzyzzz{|{{{{|{zzzzyyyy{z{{z|{|zyzz{z{yzzz{z{{{zzzzzzzy{zz{{{{{zyzzyzzzzz{{zz{{zz{z{yzzz{{z{{z{zzy{zzzz{|{z{|{{zzzy{z{z|{{{z{|{z{z{zzzz{{{{{|z{{zzz{{{{z|{|{{|{z{yz{z|zz{|{z{{{{zz{{{z{{{||{{{|{{{zz{|zz{{|{{|||zz{zzz{{||{{{|z{{|zz{|{|||{{{}{z|{zz{{|{|{{{|||{{{z{{z{{||||{|{{{{{{{{z{|{{z|}}{z{{{z{{{{|{{||||{{{{z{{{||{||z|{|z{z{{{{|{|{||{z{{z{{zz{|z{|{z{{z{{{{{{|{||}z{{zzyzyzzzz{{{{z{{{z{{{zzzzz{{{{{{{yzz{{zz{{{{{{{{zzzyzzz{z{z{z{||{zzzzzzzz|zz{|{{y{zzzz{z|{{{z|z{|z{zzyzz{z{{{{{{{{{zyzzz{zzz{{{{{zyzzzyz{{z{z{z{{{zzyzzzyz{zz{z{zzzzyzyy{z|zz{zz{zzzyyzzz{zzz{zz{zzy{yzzz{zzz|z{zzzz{{zyzzzz{{{{zzzzzzzz{|zz{z{{z{z{zzzz{{z{z|z|zzzzyzzz{{{|{|{zzzzy{z{{{{{{z{{{zz{zyzzyz{{{{{{{zz{{{{z|{{{zzz{{{zzz{z{{z{||{{{|{z{{{{{{|{{{{{||{zz|z{zz|{|z{{}||z{{{zz{||{|{{}|z{{{{{{{{|{{{||{{{z{{z{{{|{||{|{|{z{{{{z|{|{{|||zzzz|{{{zz{||{|{{z{{{{{z|{z{|{||{|{{z{zzzz{z{|{{{{{zzz|z{{{|{|}|z|{z{{{{{}{}}|z{{{zz{{zzy|zz{z{{{{z{{z{{z{z{{{{{zzzzyz{z{{{z|{{{zzz{zzzzz{{{{||{zz{zzzz{zz{{{z{{z{zzyzzz{{{zz{z{z{zzzzyz{{{zz{{{zz{zzzzzz{{{zz|{{z{zyzzzzz{{z{z{zzz{zzzzz|z{{{z{zzzyyy{yy{{{{{{|zyz{zyzz{{{{{z{{zzzzzyzz{{{{z|z|zyzy{yyy{{zzz{{z{yzzzz{{{{{zz{{{{z{zz{{z{{{{z{{|{z{{{{z{z{{{{||{{{zzzy{z{{{{||||{zz{{zzzz{|{{|{{{zz{{z{{{{|z{{{z{z{zz{z{{{{||{||{zzz{{{z{{{{||||{zz{{{|z{{{{|}|{{z|zzzz{{}{{{{||||{z{{{||{{{{|||{{{{{{{|{{{|||{{}{{zz{z{|||{{{{{|{{{{{{z{{|||{|{|zzz|{{{||||||||{zzz{{{{{{z|{|{|{{{{zz{y{||{|{}{z{{z{{|z{|}}|{z{{z{yz{{z{{z{|{{z{yzz|zyy{{z{}|{{zzzzzzzz{zz{{{|z{yzzzyz{z{z{{z{{{{{zzzzy{z{{{{{{z{{zz{{zz{{z{{{{{{{{{zzy{{{{{{{{y{zyy{zz{z{{z{{{zz{zzzzzz{{z{{{{zzyyy{z{{z{{|{|{zzzzy{zzz{{{{|{z{{z{z{yyy{{z{{{zzyzzzzyzz{zzz{{{zzzzzz{zzz|{z{{{{zzz{zzz{{{{z{{|zzzzzy{z|{{|||{|zzyzzzzz{{||{{|{|{z|zzzz{{{z|{{{z{{{z{y{{||{z{{{{{{|{|z{{{{{{{{|{{{{{z{{{|||{||zz{|{{|{z|{|{||{|{zz{{zzz{}{||{|{{z{z{z{{|{{|{||{||{z|{{|{|{|}|{||{z{{|{{{||{||{|||{{{{{{|{{{z||{|z{{{z|{{||{|{{||{zz||{zz|{}{|||{z{{{{{{{|{||||||z{z{z{{{{{|{||{|{|z|{{{||}}~{{{y{{{zzzz{{|{|{{{{{{z{zzz{{{{{||{yzzyyzzz{{zz{z{|zyzzz{zzz{{z{z{{|z{yy{zzz{{zzzz|y{{zz{zyz|z{y{{{{zzz{yzzzzzz{zzzzy{yzz{z{z{zzz{|z{yyzzzyzz{zz{{zzyy{zyyz{{zz|z{{zz{yyyzzz{z{{{z{z{zxzyyyzzzz{{{z{yzyzzz{{yzz{{{zzyy{zzzz{|{{z{{{z{zzz{{zz{{{z{z{{{z{yzzz{{z{z{{zzz{zz{zz|{z{z{{|{{z{{zzz{{{{{{{z{{zzz{zzz{{zz{|{|z{zzy{{{|zz{{zzz{{|zzz{|{|||{{{zzz|{z{{{}{{{{|{{{z{{{{yzz{|{{{z|{z{z{|{|{|z{|{|{zzz{{|{{||{{||{{{{|{|{z{|{|{{|{{z{z{{|{{{|{{||{{{{{{zz{|z|z{{{{{{z{{zz{{{{{{{{|{z{zy{zz{|{{{|{|{{{{{{{z{{{{{{{{{{{z{z{{z{|}~{|{z{zyzzzz{{{{{{z{y{z{zzzz{{{z|{z|z{zz{zzz{yzz|{{|zz{zzz{{{{{zzz{{|zzyyz{z{{{|z{{{yy{zzzzzz{{zz{{z{yz{zyz{{z{zz{{zyzzyyzz{zyzz{{{{z{zyyzz{zz{{z{{zzzz{z{zzz{z{{z{{zz{zzyzz{{|z{{zzzzzzzyzzz{zzz{{{zyzzyzz{z{{y{{{{zzy{{zzzz{{z{{|{zyzzzyzzz{zz{z{|{yzzyyz{{{z{{{{z{z{zyz{z{|zzz{|{zz{{zyzz{{{||}{{{zz{|zz{{{{{{z||{zzzz{zz|{{{{|{z{zzz{zz{z||{{{{}{{zzzzz{{{{{{|{|zz{z{{zzz|{{|{{{{zz{{z{{{{|z{{|{{z{{z{{{|{{z{}{|{{z{z{z{{|{{|{||zz{z{z{z||{|{||{{{z{{zzz|{|{{{||z{z{{{{{{|{{z{{|{{{z{z{{zz{|{{{{{{zzz{{{||{|{{{{{{{{{{{|||||}|{zzzzzzzzzz{{|{z{|z{zyzzy{zzzz{{|{zy{yzzzz{zz|{{{zyz{zzzyz{z{|{z{{|zyzzyzz{{{zz{|{zy{zzzzzz{{z{{|{{z{zz{zyz{{zz{{|yz{y{yzzzz{zy{{{z{zz{zzzzz{zz{{{zzz{zzzz{yz{z{{{zzzzzyzyzzzz{{{{zyzzzzzzzz{yz{{{z{y{z{zyz{z{zzzzzzyy{zyzzzzz{{{yzz{zzzyzz{{yz{{}zzzyz{zy{{{{{{{{{zzzy{{zyz{{{{{{{{{zzy{zz{{|{{||zz{zz{{{{{{{{{{zzz{{zzyz|z{zzz{{zzyzz{z{z{{||||{y{zz{{|z{{{|{{{|{z{z{{zz{{|z{{{{{z{z{{{z{}{{{{|{{{{{{{{{{{{{||}|{{{zz{z{{{{|||{{{{{{{zz{|{{|z|{{{z{{{z{{z{{z{{{{{{{{|zz{{{zz{|{|{{zzzzy{z{{{|{{||{z{z{zzz{{|{|z|{z{z{zz{||}}|{zzzzzzzzyzz{{{{z|zz{z{yzyzz{y{{{|{{zz{zyzyzzzzz||{{z{zzzz|zz{{zzzz{zzzzz{y{z{yzz|{zzyyzz{yz{zzyz{zzzzzyyzy{zzzz{{{z{y{yzyyzz{zzz{zzyzyyyyzzz{z{z{zzyzyzyyz{zzz{z{{yzyzzzzzz{zyzzz{zz{zzyzzyzzzzzzzyzzyzyzzzzyz{{zzzzz{z{zzzz{{z{z{zzzyzyy{zzz{|zzzzyz{yzzz{{zz{{{zzzzyzzzzz{zzz{zz||zzzyz{{{|{{{{{zz{zzzzz|{z{{{|z{zzzzzz{{|{{z{z|zzyz{z{{{{{|{{{|{{{{{{{{{{{{z{{{{z|zz{zz}|{{{{|{z{{{zyzz||{{{{||{{zzz{zz{|{{{{||{{{{{{z{{{{|||||{{{z{{{z{{z{{{{{{z{{{zy{{{{|{{{{z{yy{{{{{|{z{|{|zzz{{{zz{{{{{{{|{{zzz{{zz{z{z{{{z{z{{zyz|z|{|{z{{{z{zzzzz{zz{z{{z{zzzyzzz{{{{y{{{{zzy{zz{zz{{|{{zz|{zzyz{|z{z{z{zz{zyyyzz{{{{{{{zzzyzyzzzzzz{zzz{yzy{{z{{z{z{{{{zy{zz{zz{{{zz{z{z{zyzzzzyz{|{z{{zzzzyzzzz{{z{{{{z{z{zyzzzz{{{zzzzz{zzyzyz{zzzzz{|zzzzzzzz{y{{{{z{zzzzy{zyzz{{z{|{{{zzzzyz{{z{z{{yzz{zz{z{zzz{{{{yz{yzzzz{z{||{{{zz{{zz{zyz{{{}{{zz{z{zzy{{{{z{}zzzz{zy{{{{{{z{|{{{zz{{zz{{z{{{|{{{zz{zz{{{||||{{{z{z{{zz{{{|{{z{{z{zz{{{|||{{|||{z{{y{{|z{|{{{|||{{{z{|z{|{{{||}{{{{{z{{{|{|{||{{z{|zzzzzzzz||||{{{{{{{z{{{{{|{{{zzzz{|{{|{|z{{||{{{{{z{z|{zzz|{z{{z{{{{{||||{{zz{yxzzzyzz{{zz{{zzzzzz{z{{{z{{|{zzyyz{zx{{zz{z{zzz{y{zzyz{|{z{{{{zzzz{{x{{{{{z{{{yzz{{yzz{{zz{{zzz{zzzyz{{zzy{z{{yzzzzzz{{{{z{z{{yyzzz{zyzzzz{z{zzzzzyzzz{{z|z{zzzzzyz{z{z{z{{{zzzzyzzz{z{zzz{{{zyzyzzyzyzz{zy{{z{zyzzzz{zyzz{{z{zyz{{{{z{{zz{z{{z{zzyzzzzzzzz{z{z{{zz{zz|{z{z{{{z{zzyz{y|{{{|{{{z{zzzzy{{|{{{{z{z{{z{z{{|z{{{{||{{{zz{z{{||{|||z{z{z{{{{z{|z{{|z{z|z{zz{|{|{{{{{{zz{zz{|{{{||{|z{{zz{|{{{|{||||{z{z{|z{{|z|{{|{{z{{z{|z{||{{{{{{{zz{{{z{{{{|z{|{{z{{{{{{{|{{{{|zzzzzzz{{|{{{{||{{zz{y{z{|{|{{{{z{|z{z{{{|}|{z|z{zzzz{{{{z{{{{{|{{zzz{{yzz{{{{{|zz{yz{yz{{|{||z|{z{z{zz{z{|z{z|{{{{yz{zzzz{|{{{zzz{zzzzzzz{zz{z{{zzzzz{yz{{{{|z{zz{zy{yzz{z{zz{{zzzzzz{z{{{{z{|zzzzyzzzz{{{{{{{{|{zzyz{zz{z{{z{|zzzyzyzyz{{z{{z{z{zy{yzzyzz{{{{zzzz{zzzzzz{z{{|{{zzy{z{{{{{{{{|{{z{zy{zz{{{{{{||{z{zz|{z{{{{{{||{{z{z{{zz{{{{|{{{{{zzzzz{{{|{|{{|zzzz{z|{{{|{{{|z{z{{zzz{{|}{{{{z{{{{z{{|{{{{{{{|z{{{z|z{|||{|{|{{z{|z{{||{|||{|{{{{{{||{{{|||{|{|{{z{{{{|{||||||{||zz{|{{||{|||{{|{{zz|z||{||{|{{{{{z{{{||{{||{z{zzzzzz{{z{{||||{{{z|{{{{{{{z{{{{|{z{z{|||{|{{{zzzzzzyyz{|z{|{{{zyy{zzyz{{z{|{{{zzzz{zz|{{{|{{z{{zyzzzz{{{{{z|{{{zzzzz{|z|z{zz{zz{zzzzzz|z{z{||zzz{{zzzy{z{{{zzyz|{yzzz{{{{{{{|z{zzzzyz{{z{zz{z{zzzyzyz{z{z{{{|{zzy{zyyzzz{{z{{{zzz{yzzz{{z{{{{zzyyzzzzz{z{z{{{zzzz{{zy{{zzz{{|{zyzzzzz{{{z{z{{{zz{{z{{|{{{{|{{{{{zz{zz{{z{{{||zzzz{{zz{|{{{z{|{z{z{zzz{{{|{||{{zzzz{z{||{z{{{{{{z{{{{z{{|{|||{z{{|{{{{{{{|{|{|{z{{{z{z{{||{|}{{{z{{|{{||{{{|}|{{{{z|z{{{{||{||zzz{{{|{{|{|{|{|{{{|{|{{|}||{{|{{{{{z{{{{{{||{{|{z{{{{{{|{{|{{{{{{{{z{zz{|||{{{{{{y|zz{{z||{{|{{{{{z{zz{{{|{||z{{z{zzzzz{|{z{{{{y|{zzzzzz{zz{|{zz{zzzz{z|{|{{zz{{{{zz{zzz{z{zz{{{{zzzyzz{z{{{|||zz{{{z{zz|zz{{{{zzzz{zzzzz{zz{zzzy{yzzyzzz{zz{{{{y{zzyyz{{{zz||z{yyzzzyyz{|{|zzzzzzyzzzyz{zzz{{{z{{zyyyzzz{z{{z{yzyyzyyzy{z{z|{zzzzyz|zyzzzz{z{|zz{yzzzz{{{z{{{{zz|zyzzz{zz{z{{{{{{zzzzy{{z{{{{{zz{{{z{yz|{{{zz{zy{zyz{zz{{{{{|z{{zz{zz{{{zzz{{|{zz{z{{{{{|||||{z{{{|z{z{{{{{|||{{z|z{{z{|}{{{{{|z{{{{{z{||{|{{|}{{{{|{{|{|{|{|{{{{{z{{{{||||{{|}z{{z{{{||{{|||{{z{z{{z{{{z|{|}|{zz|{{z{|{{||{||{{zz{y{{z{{{{{|{zzz{{zzz{z{|{{{|z{zz{zzz{|{||{||{{{{|z{z|{|{{{|{{{{z{zzz||{|||z|{z{zz{{{|{|||||{{{{{{zz{{}||{{||{{|z{{{z{{||{|{|{{{{{{{{|{{z|{|{{{{{{{z{z||{|||{zz{{z|zz{{{{{{|{|{{||yz{z{{{|{{{{{zzz{zz{{|{{||{{{{{z{z{|z||{{{|{z{z{zzy{||{|{||{y{{{zzzz|{z||{z|z{{{{{{|{{||{{{|{{{|zzz|{{{{{||{{|{z{{{{{|{|||||{{z|{{{|z|{||}|{{{|{{z{{||{||{}{|{{z{zz|{||{|}}{{{{|{{{{}{{{{||{{|{{|||||{|}}{|{||{|{{{}|{{||}|{{{|||z||{}}}|||}{||{{{{||}}||}}|{||z|{{}||||||||||||{{{||}}|||||||||{|{|{|||||}||{z||z{||{{}||}{{||||{{|||{}}|{|{z{{{{{||||{{{|}{{{z{z|||}|{{|||{{|||{{{}|||}|z|{z|z|{{z{{{|{{|{{z{{{{z{{{z{|{{zzzz{{{z{|{|{z||{z{{{z|{z{|{z{|{{{z{z{zz{|{{{||}{z{zz{zz|{{{z||z{zz{z{{z|{{z|z||z{{zzzzz{{{{{{{|yz{|z{zzz{|{{{{{{zz{{{z{z{{{||{{{zzz{zzz{{{|{|{|{z{z{zzz{{{{{|{{{z{{z{zz{z||{{{{{{z{z{{y{{{{{{||{zzzz{{z{|{z||{|{|{{zz|z{{z{z|||z{{||||{{{{{{|||{{z|{z{{{||{|||{{|{z{{z{{{|{z|}{{z{{z{zz{{||||{||{{{{{{{{{|}|||{{|z||z{|||{|{|{|{{{{{{z{||{||{|||{{y{{{{}||{|}|||{{{{|{{||||||{}{z|||{{{{|{}|}}{|{{|{{{{}||}|||}{{{{{{{{{z|||||||{{{{|{{|{|{{|||{||{{|{{{z{||{||{yz{|{{z{{{|{{{{{{|{{{{{|{{|{{||z{{{{z{z{||{z{||z{{{|{z{y{|{||{{{z{{z{z{|z|{|{||{|{z{|z{{{{}{|{{z|{{{{{z|{{||{{|{z{{{{{z{|z{{{{{{{zzzzzz{{z{{|z|{z{zz{{{z{{{{|{{{{z{z{yz{{{{{{{{{z{{yzzzz{|{||{{{z{zz{{zz|z{{{{|z{zz{y{{{{{z{|{|{{{zzzzzz{z{z{||{z{{{z{z|{|{||}|{yz{{z{{{|||{|{|{{{zzz{{{{{|||||{|{zz{{z{}}{|||||{||{z{{{|{{{|{|{z|z{|{z{||{|{|{{{zz{{{{|{|{|||{z{z{||{z{|||}|}|{|{|{||||{|}{{}}|{|||{{z|{||||||{{{{{{{||}{|}}}||{{{|{||{|||||}|}{||{|||}}|}|}|}{||{{||{|||||||}}{{||{{{|}|{{|}}|{{||{z|{|||||}|{{{{|{||||{|{}||{{{|z{{{|}{||{|}|{|{{{||{||{}|||{|{{{z{{{{{{{z{{|{{y{{zz{{{{{{z|{{{zzzz{|{{{{||||{{{{{{z{|{{{||{{zzz{zyy{{|{{|||{z|{{{{z{{{z{||{{{{z{z{z{{{z|{{||{zz{{zz|{|{|{{{{zz{zz{{z{{z||{|{z{zzzz{{{{{{{{|yzzz{zz{{{{|z|{|{{|{zz{zzzz{{{|{zzzz{{zzz|{|{||{{yz{{zy{{{{{z{{|zz{z{yz{||{||{|{{{{{{z{|{|{{{|z|{y||zz{{{|{{{}{}{{|{|z{z{{|||||{{{{z{z{z{|}|{|}{{z{{{{y|||||||{{|{z{{{{{||{}||{}{{{{{{{||{{{|||}|zz|||{{|}{}||{|{{||{|z{{||||{{||{||||||{{{|||}||{|{{{{||}|||{||{{|{|{||{{|||{{||{{{z|||{|}{|{{}}|z{{{||{|}|{}|{{{z|{{|{{}}|{{|{|{{{{{|{||{|{{|{{{{{|z{{{{{}{{z|z{{{zzz{|{{{|{{||{|zzzzy{{{||{{||zzzzzz|{{{{{{{{{{z{{zz{z{{{{||{{{z{zz{z{{{{z{|}{z{{z|zzz{z{{{||zz{z{{z{{{z{{{|{{{zzzzzz{{{{{{{{y{z{{z{zz{zz{z{z{zz{zzz{|{z{|{{{{zz{{z{z{{{{{{z{zzzz{z{zz{{{{{{|{{zzz{zzz{z{z{|{{z{zz{zzzzz{z{||z||{{z{{{z{{|||{|z{|zz{{{{{{z{{{z{zzz{{{{|||{{|{|{{{{zz{{||{|{{{{{{zz{z{|{|{{{z{|{{z{|{z|{||{|{{||z{{|z{||{}||||{||z{{{{||||{|||{z{{|z|z{{{{|{|{|{{{{{{{|}|z||}|{{{{{{||{||||||||z{{{|{|z||||||{|z{|{|{|{|||{||{{{{{{{||{|{||||}||{{|{{{{||{}}||{z{{{|{{{{|{|}|{||{{z{|{{|{|{||{{{|{{z{{{{|{{{|{|zz{{z{zz{|{{{|{zzz{{zz{{{||{|{||zzz{zzz{zz|{|||{{{{zzzz|||{||{{{{{zyzzzzz{|{|{{{{z{zz{z{|zz{{|{{zz{zz{{||{{{|{z{z{zzzyz{z|{z{{|zzzzz|zzz{{{{|{zzyzz{zy|z{z{{{{|{{{|yzz{z{|{z{z{zzyz{zzzz{z{{{z{zz{zzzz{zzz{z{|{zz{z{zyy{|{{{|{}zzzz{{zzz|{|{{||{{{{{z{{{{z{{|{{zz|{{{zz{|{{{{||{zz{{{{{{|{|{||{{{zz{z{{||{{{{|||{{{{{z{|||z|||{z{{z{zz{{|||||{|{{{{|{||||{||{||{{{{|z{{{{}||||{|z|{{{z{{}{|||}|{{{|{{||{|||}|}||{{|z||{{{{||||}{{|{|{|{{|||||}{|z{{|{z{|{{{}|}}||zz|{{|}{{{{|||{z{z{|{{|{z{{||||{{{{zzz{|{{{{|{|{z{z{{z{|||{|{{{zzz{z{z{{|{{{z{{{zz{{zz{|z{|{{|{z{y{{zz{z{{{{|||{{{z{yz{{|{{{|{{{{z{{{y{{{{{{{|{z{zz{{z{{z|{|{{{{zzzzzy|{{z{{{|{zzzzz{{{{z{{{z{{{{zzz{{{zz{z{{{{zz{zzzz{{{{{{|{{zzzz{zzzz{z|{{zzzz{zzzzzz{{{{{{{{z{z{{{y{zz{zz{z{zz{{{z{z{z{{||{zzz{zzzz|{{{{||{z{{zzz{{z{{{{{|{{{{zzz{|{{{|||{{{|z{{z{|{{|z{||{{{{{{{z{||{{{||{{zzzz|z|||zz{|{|zz{|{{{|{|{||||{{{z{{{{{{{|z|||{z{|{{{{|{}|||{||{{{{z{||||{||{}{{{{z{z{{||{|||||z{{||||{|||{|||||{|z{z{{|{|||}{{z{{{{{{{{{||{||{{{{|{{|||{{|||||{{{{{{{|{{{|{||z{{{{{{{{{|||{{{|{{{{{{{z{|{|{{{{{z{{zz{z{|{{{{|{{zy{{z{{{|{{{|{z{yz{z{z{{{z{|||{{{z{zyz{z{{{{||{{{{{z{z{{{{{|||zy{z{{zyz{z{z|{{zz{{yzy{{{{{{{{{zzzzz{{{z{zz{{{zzzzz{zzyz{{{{z|{zzzzzzzzzz{{||}{|z{yzz{z{{z{{|||{{zz{y{zzz|zz{z{z{zzz{z{{{{{{|||z{zz{zzzz{{{||{{{{{zz{{z{||z|{|{z{{{z{|{{{{z{|{{zzzzz{{{{||{|{{{{{{{{{zz{{z{|{z|{z{{{zzz{{{{z{|{{z||zz{{|{|{{{||{{|{{z{{|{|{{}||{z{{{{{{|{{||||{|z{|{{{z||}||{|{|{z|{{{||{|||||}{|{{{{||{||{|||}|{{}{{{z{{||{|||{{{|{{{||{|||}|||{z{{{||{||{||||{z{{||||{{|||||||{{{{{{|{||||{||{|z{{{z{|{{|}{{{{{{{{z{{||{||{|{{{zz{{{{z||{|{||{{z{{zzz{{{{{||||z{{z{zz{{||{||{{zzz{zzz{{|||{|{z{{{|{{z|z{|{{{|{zzzzzz{|{{{{|{{|z{z{y{z{|z{{{|{{{{zzzz{{{{{{{{|zzzy{z|z{{|{{{|{zz{{zzzz{{{{|{{{z{{{{zzz{{{|{{|}{{zzzyzzz|{zz{|{{{{zzz{{{{z{z{{z{{{z{z{z{|||{{}{z{zz{z{{|{|{{{|{|{|{{z{{{||{{{{||{{z{{zz||}{{{{|{z{{{z{z{|{|{|}zz{{z{{zz|||{{{{{{{{z{{{{||}{z||}|{{{{{{{{|||{|{|{|z{{{{|{{||{}}{{{z{}{{{{{|{||}{|zzz||{z{}||{||{{|{{z||{||{{|||||{{|{|{{{}|||}|}|{{|{{{{|{|{||}|{{z{{{{||}||{{}||{|||{{{|{}}{||||{{z{{{{|||||||{{|{{z{{|{||{{}|{{z{z|{{z|{||{||{{{y{z{y{z}{{|{{{{{{{zz{z{||{{|{{|z{{z{{{{z{}{{z{{z{z{{z{{{{|{{|{|{z{zz{{{{{{{{||{zz{{{z{{{{{{{|{{z{zz{{z|{zz{||{z{yzz{zz{{z{{{{|z{zz{z{z{{{z|{|{{zzzz{z{{{|{{|{{y{{{{{zz{{|{{{}|zzz{{{zy{z{z{{|{{|zzzz|{z{{{{||{{zzz{{yy{|{{{{|{{{{{{z{zz{|{||||{zz{{{{|z{zz|||{{{|{z{{{|{|{|{{||{{|z{{{{|||{|{{{{{{{|{{{||{|{||{{{z{z{{{{{{||{{zz{z{z{{{|z|||{|{{{z{{|{|{{|{||}|{|||{{{|{||{|}|{z|{|{{{|||{|{}||{{{{||z|{{{||||}{{{|{{|||{||||||||{{{{||{z}||||{{{{|{z{||{|{|}|||{|{{{{||}|{|||{{{{z{{{{||||{}{{{{z{zz{{|{}|{|{{{{{z||{|}|{||||{{zz{y{yz{{{{{|{{{|z{zzz{{|{{||{{{zz{z{z{z{{{|{|{{{{{{{zz{{{z{z|{{{zz{|z|{{|{|{|{{{{zzzz||{{{||z|zz{{{z{{z{z{{|{|{z{zzzzz{{|{{z{{z{{zzzzz{{{|{{||z{z{zzzz{{{{{{{z{{{zzzz{{z{{|{|{{{z{z{{z{{{{{{zz{z{{{z{z{z||{|{{{{{{zzz{{{{{{{|z{zzzz{{{|||{|{{{{{{zz{{{}z|{{|||{|zzzzz|{{{{{|{{{{{zz{{{|{|||{{|zz{|{{z||{|{{|z{z{{{{{{|||{{|}z{{{{{{{{z|||{|{||{|{{{{{{|{|z}}||{|{z{|||{|{}|||||{|{{{{||||||}|{{|{|{||||||{}{||{{{{{|{{|}|||{||{|||{{{{|}||}{z|{{{|{{|{|{||}{|||z{{|{{|}{|||||{{{{{{z{{|{|z|||z|{{|{{z||{|{{|{{{{z{{|z|{|{|{{z{{{zzz{z{||{{|{|{{{{|{{z{||{|{||{zzz{{|z|{|{{||{|{zz{{z{{|{{{{||{|{{zz{z|{{{}{{{{{{y{zz{{|{{z|{{{z{zzzzz{{{{{|z{zzzzzz{{{{{{{z|{|zzz{zzz{{{{{{|{{z{zz|yz{{{{z{{{{z{{zzzzz|{{{{||zz{{zz{zz|{{{z{{{{zz|zz{z|{{{{{|{{{z{z{{{|{|{{{{{{{z|{z{{||{{{{|z{{|z{||{|{||}z|{{{{z{z{{||||{|{{{|{{{{{{{{{{||{|z{{{{z{|{||{||{{{{zz{|{{{||||}{{{|z{{{{|{}{|{||{{|{||{|z|||||{|||{z{{{{{||||||{|{{|{{{{|||{||}||z|{z|{z{||||||||{{{{{{z||||}|}}{{|{{{{{|||}|}||{|||{{|{{|||{|}{||{||{{|{{{}|||{||{zz{{|{|{{{||{{{{zz{{z{|||{{|{|{{{||{{|||{|{|{zz{zzzz{z{{{||{|{z{zz{z{{|{{{}|{z{z{{{{{{{{{z{|{{{z|{zz{{|{z||{||{{zz{zz{{z{{{{{{zz{|zzz{{{zz|z{{z{zz{z{z{{{z{{|{z{zzzyz{{z{{||{zz{{z{zzz{{zz{{{z{z{yzzz{zzz{{{{y{zz{{zzz{{|{{|{{{zzzzzzzz{{z{{zz{zz{zyzz{z{{|{|{yz{zzzz{zz|{{|||{{z{{zz{{|zz{||{z|z{y{{{{{|{{{|{{{{|z{|{{{{{{||{{{{{{zz{|||{}{{|{|zzzzz}|||{{|{{{|{{{zz|{|{||{|{z{{z{{|{{}||||{z}{|{{||{{||{|||{{z|{zzz{}|||||{|{{{{{|{{|||||}}|{{z{|{{|{|{||||||{{{|{||}||||{}|{|||{{z|{}||{|||{{||{{{{{|{||||{{z{||z{|||||{||{|{zzzz{{|{{{||{|{|{{z{{||{|||}|zz{{{|{{||||||{z{z{zzz{zz{|z{{|{{{z{z{z{z{z{{|{|{{zzz{zz{{{|{{{{{z{zz{z{z{z|{z||{{zzz{{zz{||{{{{z{{{{z{zz{{{z{||{{{{{z{zz{{z|{{{z{zzzzzz{z{z{{{{zzzzz{zz{{{{|z|{z{{z{zyzz{|{{{{{zy|{z{zzz{{{{{{{{zz{zz{zyz|{zz{z{z{zzzzz{{zz|{{{zzz{{zzz{{|{{|{{{{{z{y{{|{{{{|z|z{{zzz|z{{{|{|{{zzz{z|{z{||{{|||{{{zzzz{{{{{{|{|{{{{{{z{{{||{|}{{|z{{y{{{{|{{{|{{{{{z{{{{|||||{{z|z{z{{{{|||{|}|{z||{zz{{}{|}|{}|z{{{{{{{}||||||{{|{{{{|{{{|||}||{{|{{{z{|{|||}||{{{|z{{|{||{}|{|{{{{||{{{|{||}||{z{{{|{||||||{{{{{{{{{{||{||{|}{{z{{{{{|||{{|||{z{{{{y{{{||{{{{z{zz{z{{z|{{{{{|{{zz{zy{{{{{||{|zy{zz{{zz{{{{{}|{z{z{yzz{{{z{{|z{{{z{zz{{{{{{{{|{z{z{{zzz{{{{||{{zz{zzzz{{|{{{{{zz{{z{zz{{{z{{{{zzzz{zzz{{{{{{{zz{{zz{zzz{{{{{z{z{y{y{zz{zz{z{||zz{zzzzzz{{{{{{{zz{zzzzz{{{{z{|{{{{{{{zzz|{{{{{z{{{{{z{{zz|{|{{{{z{{{{{{{{{{{{{|{z{z{z{|{|{z|{||{z{zzzz{z||||}{|{zz|zzz{{{{{|{|{{{{{{|{z{|{|||{|{{{{|{{{|{|||||||{|{{{{{||{|{|{||{{{{{{{{{{}|{|{|z{{{{{{}||{|{||{{|z{{}{{|{|||||||{|{|{z{~|}|||||||{z{{{|{||{{|}|{{{|{{{|{|{{||{{{{{|{|||||}{|{||{{z{{{{z{{|||||{|z{{{|z|{|||{|||{{z{{|{{{{}{{|{zzzzzzz{y|{{{{||{{zzz{{{{{{{{{{|{zzzz{{z{|{{{{{{|z{zzzy{{{{|z{{{z{zzz{yz{{{|z|{{z{{{z{{z{|{zzz|z|{{{{zzz{{{{{{{z{zzzzz{zz{{{z|{{{{zzzyyz{{zz|{{zy{{zx{zzzz{{{|{{{zzzzz{z{{{{{z|{{{zyzzzz{z{z{{{{{zzz{{zyz{zzz|{{z{zzz{{z{z{{|{{|{z{zzzz{{{|{|{||{{{z{{zz{z||{|{|{{{zz{{{|{{{||{{{{z{zz{z|{|{{{{{{z{|{{zz{{|{{||{{{{{{{{{{{|{{{{{{{z{{z{{||||{{|{|{||z{|{||{|||||z{{{{|{{||{||||||{|{{{|{||||{|||{z{|{}|{|{{{||}|{z{{{|{{{||{||||}z|{{|{{|{{|{}|||{{{{{|z{{{|||||{{|{|{|{{{{{|||}|{{z{{{z{|{{|||||zy{z{{{|{{|{|}{{{z{{{|{{z|{||{{zzyzzzzzz{{z{{||z{{zzz{y{{{{{{|{{z{yzzzy{{{{}{{{{{zzzzy{z{z{|{{|z{{{z{zz{zz{z{{|zzzzzzzzz{{{{{{|zz{zzzy{{z|z{{{{zzzyzz{z{|{{{{{zzz{yzyzzz{{{z{|z{z{zzzzz{{{z{||{{z{{zzzyz|zz{z{{z{z{{zzyz{y{{{{yzz{yzzzzz{zz{{|{{zzz{zyzzz{{{|{{{zzz{yzzz{yz{{|{zzzzzz{{|{z{{}{|{{{z{zz{||{z|{|{{{{{z{{zz||||{{{zz{{{zzz{|{|{{{|{zyz{z{z{{{|{{{|{|{{|{{z|{{|||||z{{zzz|z{{z|{{||{{{{zzz{|||{|{|||{{{{{{{{{{||}|||{{{{{{|{{{}||||}{||z{{||}|{|{|}{|z{{{|{{{{||||{{{{{{|{{z{|{||{||{{|{z{{|||{|{|||{{{|{zz|{{|{||||z{z|z|zz{{z{|{|{z{{zzz{{{}{{{z|{z{zzzz{z{{||z{|zyzzy{zzz{{|{z{z{{zzyzz{{{{{{{{{{zzzzzz{|{{|z{||zzz{z{zyz{|{z{{|{zyzzzz{z{z{|{{{{z{z{z{z{{{{{{{zzzz{zyz{{{||z{{|zy{z{zzz{{|{{{|{{zzzzzzz{|z{{{}z{|{zzz{z{{{{{{|zz{zzzz{yz{zz{|{{{zzzz{{z{{{||{{{zz{{{{{z{{zz{{|{{z{|{z{{{zz{{|||{z{z{zz{{{{{|{{|zz{zzzz{{{z{|{}{{{z{{z|zz{{|||{{{{|{{{z{||}z{|}{{{zz{{{{{|{{{{{|{{{{{{{{{|{|{|||{{{z{{zz{{{||z|{|z{{{zz{{|{}{|{||z{{{z{z||||{||{{{{{{{{{{{{||}}||z{{{{{{{}|||||{{z{{{{{z||{||{|{|{z||z{{{{|{||||{{{{z{z{{{|{|||{{{{{{z{{{|{{|||{{||{zz{{|{||z{{{{z|z{z|{z{|{{z{{{z{zz{{|{{{{z{{{zz{{zzz{{{{z{||{{{z{{zz{{z{{{{|{|z|{{z{y{{{|{{{|{{{zz{zz{{||z|{{{{|zzz{zzz{zz{|{{zz{y{zz{||{{|{{|{zz{zzz{z{{z{z|z{zzzzz{{{{{{z|{zzzz{{z{{{{z{{|{zzzz{yzzz{{{{z|{zzzz{zzzzz{z{|{|y{zzz{zzz{{{|{{{{{z{zzyz{|{|{{{{{{{zz{zz{{{{{{|{{{{{{z|z{{z|||z{{z{z{{z{{{|{{{||{{|{{{{zz{{{{||{|zz{z|z{{||{}{|||z{z{{{{||{z{|||{{zzzz{{||{||{|||z{{|{{{||{|{|{{|z{z|{z{{{|}{||{|{{{{{{{|||{|{||{{|{y{}z{|||||{|{z|||{{{||}|}||}{{{{{{{{|{{|{|}||{z|{{z|{{{{|||{{z{|{{{{||{}|}|}|{{z|z|{{||zz||z{{{{{zz{{||}|{}|{{{{|zzz|z{{{|{{{{{{z{{zz{{||{{{z{zz{zzz{{|{{{|{{{{zz{z{||{{{{{{z{{zz|{z{{||{z{|{{{{{z{zz{{{{||{zz{{{{{zz{{{{{{{{{z{{{zz{z{zz{{{{zz{z{z{{{{{{{{|zz|zyzzz{z{{{{|{z{zzzzyz|{{{{{z{{z{{zzz{zzz{z||{{y{z{{z{zzz|{{{{z{{zz{zzz{{{z{{{yz{{z{zyz{|{{{|{{{zz{{{z{{{{{{{{zzzzzz{|{{{{|{||zz{z|z{z{z|z{{||{{{{{z{z{{||||{|{{{{z{z{{|{{z{||z{{{zzy{|||z{{{z{{|z{{{{{|||{{{|{{z{{z{{{{|}|||}||{|{{z{|{{|}||}|{{{{{{{|{{|}{|}{{|{{{|{|||{|||}||||{{|{||}}}|||{{}|z{{{|{{|{||{{{{{{{z{{{||||}|{{{{|{{{||z|}|||{{z{|{{{{||||||{}|{{{{zz||{||{||zz{{{{|||||{|||{{zzz{z{z{{{{|z{{|{{{{z{z{{{{||{|{zz{{z{z|{{z{z{{{{{{zzz|||||{z{{{{{yzz{z{{{{{{||zz{zz|zzz||{{{|{{z{zzzzzy{{z||{zzz{zzzzz{z{{z{{{{yzz{y{z{{{{{{{zz{zzz{z{zz{{z||{{{{zz{zzz{z{zz|{zz{{z{zy{|{{{z{zzzzzz{z{{{{|{|{{zz{{z{zzz{{|z||{{{{{{z{y||z{zz{|{z{{{{|zz{|{|{||{z{{{{z{{{|{{|{||{|zzy{z{||{{|{z|{{zzzzz{|{|{||{|{{|{zz{{{|{{||{z{{|{z{{{}|||||{{|{||{{{||||{||{{{{zzz{{{{|||||{|{{{{|{z|||{||}|{{z|{|{|{|||}||}{{|{{{{{{}}||{|||{{{{zzz{||||||{{{{{{z{{|{{{|}|{||{{{{{{|{||||{|{{zz{zz{|{{|{|||||{{{{{{|}{{{{|}{zzz|{{{{{{{}{{{zzzz{zz{{{{{{{||zzzz{{{{{{z{{z|}{{zz{zyz{|{{{||{{|{{zzzz{{|z{{{{{zzzyzzz{{{{{{{|z{zz{{{y{{{|{{{{{{zzyzzz{z{z{|{|{{{z{{{z{z{z{{{{zz{{zzzzz|{{{|{{{zz{zzzzz{{{{{{{{z{zy{z{z{{zz|{{{{{z{zzzz{z{{{{{zzzz{zyy{{z{{|{{{z{{z{zz|{{{{|||{zzz{zz{z{{{{z{|{{zz{zz{|{{{{|}|z{{|{z{{z{{z{{{|{z{{|z{{{{|z{|||zz{{{{zz{{{||{{|{{{{{z{{{||{y|{||{|{{{{{{|{||}|}|{|z{{z{{|||{|{}{|{{|{{z{{||{{{{||{{|{{{{||||||}{{z|{|{{{|{}||||{{{z{{|{{||}}{|}{z{{z{}{||||}||{|{{{{|{{|{{{{|}}||z{|{{{|||||{|}{|z{{|z{|{{|||}}|{{{{zz{{{|||z|{{{{z{z{z|{|{|{z{{zzz{z{{{{{|{{{|z{z{zz{z{{|{|{|||{yzz{{zz{{{{{{{{zz{y{z{{|{|zz{{z{||zz{z{{||{|{|{{z{zzzzz{{{{|{{zz{zzz{z{{zz{{zzzz{zz{zy{{{{|z{{zy{z{zzzz{{{z{|{zzyzzzy{|{zzz{{|z{{zz{zy{{z{z{{{{{zz{z{zz{{{{{z|{{zz{yz{{|{{z{{|zz{z{zz{z{{{|{||{{{z{zzz{{{||{{|{z{{z{{z|{{{{{||{z|{{zzz{|}{|||{{zz{{z|{{||||||{{{{{zzzzz{|{|{}{{zz{{zz{{||{{|{z{z{z{{{{{|{|{{|{z{|z{zzz{{{{z|||{{{{{{{{{|{|{{{|{{z{{{z{{{|{{||||{{|{{{{{||{||}}|{z{z{{{{||{||}|z{{{zz{{|{|{{{|~|{|{{z{{||{|||||{{{|{z{|{{|}|}||{z{zzz{{|{{|{||{|{z{{zz{{{{|{{|{z{{zzz{{{{|{z~{|{zz{zz{{{{|{|{||{{zzzzzzzy|{||{{{{zzy{zy{{{{||{|zzzzy{zz{{|z{{||{{{{yzzy{{z{z{{|zzyzzzzy{{{z{{{{{{zz{zzy{{{{z||{zzz{y{{{{z{{{{{|zzzz{{{z{{{z{{{zzzyzzzzzz{{z{{zz{zz{{{{{z|zz{{|{z{zzzzzzz{zz{}{{{z{z{{z{z{{|{{{{yzzz{{{y{{z{{|{|{z{{zyzz{{zz{{{{{{{{zz|{{z{z|{{zzzzz{z{z|{{y||{|{{zz|z{|{{{{zz{|{{|z{{{zz}{{{||{{z{zz{zz{||{|||{|{{{zzz{|{}||{|||{{z|{{|{{z||||{{{{z{{z{||{|||||{zz{{zz{||{|{||{{z|{z|{{{{{|||{||{{{{z{{||||||||z{{{{{{{||{{|||{{{{{{z{{|||||{{|{{{}{{z|||{|||||{{{zz{{{{||{{||{{yz{{|{z{|||z{}|{z|{{{{{|z{{{zz|{|z{{zzz{{|{{{|||zzyz{zz{z{{||{|{{z{z{yzz{|{{{|||zz{zzz{{{|{{{{||{zyzzzz|{|{z{{{zzzzz{zz{{z{{|{{|z{{zzzz{{{{z{z{{z{zzz{z{zz{{{{zzz{{zzzyz{{{{{{|{zz{zzzz{{{{{|{{{{zz{yyz{{||{{{{{{yz{zz{zzz{z{{{z{{zz|{{z{|{{||{{{{z|{zz{{{z{||{{{zz{z{z{}|{{{{{{{{{{z{z|||{{{{{{{{zz{|{|{{}{|||{{zzzz{{||{|||{|{z{{{{z{{|||{{||{{|{z{|z|||{{|{{{{{|{{z{|{{}{{||{{{{{|{{|||{|||{||{{{|{|z}||}|{|{|{{}z{z{}{{||||{{{{z{|{|{|{{||||z{z{|{{{{||~|{|{{|||z{{}||}{|{{{|z{zz||{|{|{{}|||{|{||{|||{{|{||{z{{{{{{{|{z||{{{{{{z{{|{{|{{}z||{{zz{{{{|{{{{{{zz{z{zzz{{{z{{|yzyzz{zz{|{z|{{{{z{zzzzzz{{{|{{||z{{{zyz|{{{{z||{yz{zz{z{{zz{z{{z{{zyzzz{{{zz{{|z{zyzyz{y{{|{{{|z{z{zzyzz{{{|{{{zzyzzzzzz{{{{z{zzzzzyzz{zz{{{{{|zyz{zzzzz{z{{|z{zzzzzzzz{{z{z{{{y{zz{yz{{{y{{{{{{zzzz{{zz{z{z|{{|{z{{{{zz{{{|{{{{{z{yz{{{{{{z{||zzz{z{z||{{{{z|{{{z{z{{z{||{{{{{{{{{{||z|||||||{{{{{z{{{{{z{{{{||z|{zz{{|{{|||{}{{{z{z{z||{|}}|{zz{{z{z||{|{|{{||{|{|{{{||||||||zz|{{||{|||{{||||||{{{{z{{|{{}|}|{|{{z{{|{{||||{{{zz{{{{|}|{||||{{z|{{{||{|||||}z{{zz{{{{{{|{||{}{{z{{zz{||{{{||{z{z{z{zz|{{||{{zz{{{{zzyz|z{z|{{{{zzzzz{{{{z||{||z{zzzz{{{{{{{{{z{zz{z|zz{{||{{{{zzz{zz|z{{{{{{z{zzzz{zz{|{{|{||zzzzy{z{{|{z{{{zzyzzzz{{z{{{{{{{yyzzzzz{{{{z{|zz{zzzzz{{{{z{{{|{z{{{zzzzz|{zzz{z{y{zz{z{{{{{z{{z{{zzzz{{{z{z{{z{z{zz{{zz{{|{|||{zzz{z{{{{{|{{{{{{{{zz{{{{{||{{{{{{zzyzzz|{{|||{{z{{zz{{|{{z{{{{zz{{z{{z{|{{||}{{{z{{{z{{{|{{||||z{{|z{{{{|||||{{{|{{{{|{{{|{|||{{z{z{{{|||||{{|{{{{||{{{{||}|||{{{z{{|{{{{||{{|||{{z|{|{||||||}{|z|{{{z{|{{|{||{{{{{z{z||{{|||||{{{{zz{{|{|{|{{||{z{{zz|{{||||{{{{{{{zz{|{|{{|{{{|{{|zz||{{{{|||{zz{z{z{{{z|{{{zzzzzy{z{{{{{|{{{z{yz{zz{{z{|{{{|{{{|yz{z|{|{|{{{{{{z{{{{|{z{{{|{z{zzzzz|{{{{{|z{zz{zzz{{z{{z|{|{{zyzzz{{zz{z{{{z{zzzzz{{z|{{{|{zzzzzzzzz|{{{{|{z{{{z{zyzz{|{{{|{z{{zzzz{{{{z{z{{z{z{zz{{{z|{{|{zz{{{y{z|{{z{z|z|z{zzzzz{{{{{{||{z{{{{zz{{{{{{||z{{{{{{{{z|{{|||{|zz{{{zz|{|{|{{{{{z|zz{{{||{{||z{{|z{{{{{{{{|{{||z||{{z{{|}|{||{{{{{z|{|||{{|||{{{{{{zz|{{||{{|}{{{{{{{{|||{z|||{|{{{|{||{|||{|{{{{{|{{{}}}{}||{{{|{{z{{{{{{||||z{{{|{{|{{|{|{}|{z|{{{{|{||||{{|{{{{|zzz||{{|||||{{{{z{{|{{{||{|z{{zz|z{|{|{|z|{|z{{zzzz{{{{|||{{{{{zzy{{|{{{|}|{{z{zzz{{{||{|{|zz{zzzz{z{{|{{}{{{z{{{z|{{||{{|z{{y{zz{{{{zz{|{{{zz{zy{{{{{z|{{zz{zzzz{{zz{{{{{z{z{{yz{{{zz{{{{{{z{yzz{{|{{{|z{{z{zz{zz{{{|{|}|z{{z{z{yz{{{{{zz{{{{z{{{z{{{{|{{zz{{{zzzz|{|{z{||z{{{z{{{{|{||||{{z{{z{{{{||{|{||{}z{|{{{||{z||{|{{|z{{z{{{|{|{{||{z{{{z|||{{{||}{{{|{z|||{||{{||zz{|{{{||||{|||{{||{y|{{{{{{||||{{|z|{{||||||}||{z{|{{{|}||{|~|{|{z|{|{|}z||{|{|{{|||{|{||{|||||{{{|{{|}{||||}|}{{||{{{||||||||{{{|{|{|z|{{||||z{z{|{{z||{{{|}||z{{{{{{z|||{{||{{|{zz{{{{|{{{z{zzzz{z{{{{|{{{{{{{zz{zzz{{z{|{|||{{{zz|z{{z{{{{{|yzzzzz|z{{{{{||{{{{zyzz{z{{{zz|{zzy{zzzz{{zz|{z{{zzy{z{{z{zy{{z{zzz{zzz{zzzz{{{y{{y{zzzzz{{z{{{zzzzzz{zzz{{{|{{{{zzy{z{|z{|{{{{{zy{zzzzzz|{{|z{z{{zz{{zy{{|||||zz{{z{{{z{{{z|{|{z{z{{y{{{{{{{{|{{{zz{zz{{{{{{||{zzz{zz{z{|zz{}{|{||z{|{{|{{{{|{{z{z{{zz{{|{z{|{{{{z{{{{{{{|{{{{{|{{{zzz{{{{{{||{{|{|{{z{||||{||{{{|zz{{|{{|||||{{z{{z{{|||{||}|{{{|||{||{|{|{||}{{{||{{{|{}|{||{z{|{|{{{|||||||{z{{{{{|{{{|||{{|{|{{{{z{{|}{{||{{|{{{{z{{{|{||{||{{{{{z{|{|{{||zz{{{z{{||{{{{{{yzzz{{zz{{{{{z{{zzzzz{{{{z||||||{{{{zz{z{{{|||||{{{{zzz{{{{{|z||{{z{z{{z|{{|{|||{z|y{z{zz|{{{{{{{z{{zzyz|{z{{|{|{zzz{{zzz{z{{{{{{yzyz{{z{{{|{{|{|z{yyzyz{{|z|{z{{{zzzzz{{|{{{{{{{z{{zzzzz{{{{{{|{z{{z{zzzzz{z{z|{{|z{{zy{|{{{||{{zz{zz{{|||z|{{{{{|{{{z{|||{|{{}zz{{zz{z{|{{{{{{~{{{{z{{{|{{||{}||{{{{z|{{{{{z|{{{{{{{{{||{|{{|{||z{zz{{|z||{|||z{|{|{{|{{||{}||||{{{{z{{|||}|}||{||}{{|||}{||||{z{{|||{{|{|}}{}|{|{{|{z{|||}||}|{|{{{{{||{||{}||{{{{{{|||||{{{}||{{{|{{||||||||||{z|{z{{||{{||||{|{z{z{{{|{|{||{z|z{{{z|{|{{{|{{{z{zz{{{{{|{{||{zzz{{zy|z|{||{|{{z{{{{z{z{|{{|{{z{zz{{zz{|{z||{zzz{z{{{{|{{{z{||z{{{z{zz|{{{|{|{z{z{{z{{{||{{{|zzzzzz{zz{{{z{{|{zyzz{{zz{z{{|{{zzz{z{zz|{|z{{|{z{z{zz{zzz{{{{{{{zzz{zzzz|{||{{|{|z{zzz{z{{{z|{{{{{z{{|z{{|||{|{{z{{{z{{||||{||{|{{z{z{{|}{||{{|z{{{y{{zz{||{{||{|{{|{{z{|{{|{{|{zz{{z{{|{|{|||{{{|{z|{z||{{|||{|||{{{z{||{|{||{{||{{{|{{{|{{|}}{|{z{{{{{|{{|||||z{z|{{||}|{|{||{z|{{||{{{|{|}}}}{||||{|{}{||{}||{||{{{||||||{{||{{||{{||{{|{|||||z|{{{z{|||}||}{{{{{{{{{||{{||{{|{z{z{{{||{{||{{zzz{|{{||{{{z|{zzz{zyzx{|z{|{|{z{zz{zz{z{{{|{||{zz{z{z{{{z{z{{z{{{zzzz{z{{|z{{{{{zz{zzyz{|{{zz|{{z{zz{z{||z{||{{{z{{yzzz{|zz|z{{zz{zzzz{z{|z{{zzzzzzz{zz{|{{{||zzzzzzy{{{{{{{z|{{{zyyzy{{z{z|{|y{z{{yzy{{{zzz{{z{{y{zzz{{z{{{z|{{|zzzzz{{z{{{{{{{zzzz{{{{{|{{|}{z{{{z{{{{{||||{{{|zz{zz||{{{|{|{{{{{{{{z|||z{{|{{{{{zzz{||}{{{|{{z{{{|{{|{{{||{{{|||{z{{|{|||}{{{z{{{{||z|||||||{z{{z{{{||||{|||{z{z{{{{|{{|||}|{{{{{|{||{{|||||{{{z{|||}}||||||{{{{{z{{{|z{|}{{|zz{{{{{}|{||||{{{||{z||{||{|||{{|z|{{z||||{|||||{|zz{{{|||{|||{|{|{{{zz{{{{{{|zzzz{yzzz{|{|{{{z{zzy{{xz{||z|{{{{zzz{{{{|{|z{||{zyz{{z{yz{z{z{{|z{zzz{z{{{{{{{|{zzzz{zyz|{z{{{{z{{z{zzz{{{{z{{|zzzyy{z{{{z|{{{zzzzz{zzyy{{{|z|{{zzzzzzzzz{{{{{{z{{zzzzz{{z{z|{{zz{z{zzzzzzz{||{{z{zzz{z{|z{z{{|zzz{{{z{{{|z{{|{{z{zzz{z{{{zz{|{{{{z{z{z{y{{{{||{z{{zzz{|{{{||{|{z{z{{{{|||{z{{{{|{|zz{{{{|{{{}{{{{z|zzz{{{z{{{{{{{z{{{|||||{|{{{{z{{{{{}{|||z||{{{{{{{{{|{||||{|z{{{{zz|}||{|||{z{{{{{{|{|{}||||{||z||{|}||||||{{||{||{||||{}|||{{||{{|{||{{{|{{{{{{{{{{}{{{{||z{{{{{{{||||{{|{|{z{z|{z{}{{|{{{z{{|z{{{{{{{{|{{zz{{{zzzz|{{{{{{{zzz{zyzz{{z|{||{{zzz{zz{{z{{{{|{zzzy|z{{{{{z{{{{{{{{zzz{z{|{|{{{{{zz{zzzz{|z{|{zz{z{zzz{{zz{{|zzzyzzz{y{z{zz|{{z{{zzzyzzz{zz{{|zzzz{zyz{z{{{|z{zzz{yyyy{{z{{{{z{y{zzyzzzyyzzzzzzzzzz{yzyz{{{|{{zzzz{z{z{{z{{{{{{{{yzz{z{{||z|{|zz{zz{|{zz{z{||z{{{yzz{{||{{z{{{{{{{zyz{{|{|{||{{{zz{{zz{{|||{|{{z{zzzz{{{{{{{|{|{zzz{{{{{|{|}|{|{{{}{{z|{|{|{||z{{zz{zzz||||||||z|{{{|||{|{{|||{{{{|{|{z||{|||||z{{{||{{}{{||{|{{|{|{z{|{||{|}{{z{z{{{{{|{|||}||{{|{{{{{{|z|{|||{|{|z{z{{{{z{{{|{{{zzzz{|{{{||{z{{z{z{y{{{{z{{{z{zy{{zy{|{{|{{{{yzzzz{y{z|{z|{{{{{zzy{z|{{{{|{{{z{zzzzzz{{{{{{|zz{{zyzz{zz|{z{{z{zzz{{zz{|{||{{{zy{zz{{{{{{z{{|{{zzzzzy{zz{{{{{yzz{{{zy||{zz{{{zzz{zzyz{{|{{{{z|z{zyzz{yzzy{|{|zz{z{zzz{{zz{{{z|zzzzz{zzz{{{||{zz{{|zzz{{{{{{|z|zzzzzz{z{{z|z{|y{{z{z{{{{{{|{|{{{{{zz{zz{|{|{|{{zz{zy{{{{||{}||z{{{zz|{{||{|{|z{z{{{z{z|{z{{{{{{{z{{{zz{{{|||{zz{{||{{||{{{|{|||z{{{z{z|{{||||||{{{{{{z|||||{}|{|zz|{||{{|||{{}}{{{zz||{|{||}|}{{z|{{{{|{}{{|{|z{|{|{z{{|{|{{{}||{{{{{||{{{|{{{|{{zz{z{{{|{||{{{{{|{zz{{{{|{{||{{{{zzz{|{||{|{zz|zz|z{zz{{|{z{|{{z{zzzz{{{|{|{{{||zzz{{|{{|{{|{{{z{{z{zzz||z{{z|z{zzzzz{z|{z|z|{zzzzz{zz{{{z{|z{z{{{zzz{{{zz||{zzzzzz{zzzzz{|{|yz{z{z{y{|{{z{|{zzzzzzzz{z|z{{{{{zz{z{zy{{{{z{{z{zz{zz|zz{{|z{zzz{zz{zzz{|z{{{{z|z{z{z{y{{{{{z|{{{{z{{{{{{|z{{{|z{{{zz{z|{zz{}}|z{z{z{{|{{||{|||{z{{{{{{{|{|||z{{y{z{{z{{{|{{{|||{zzzz{{{}{{{|||{{{{{{zz|{{|{|||{{|{z{{|{|{|{|}||{|z{{zz||||{|}||{|{{{|z||{||||||{|{{{|z||{{{}|||{z{{{|{{}|||||||z{|z{{z||||{||||z{{|{z{|{|}{}}{|{{z{{{||{|}{|{||{{z{{zz{|{||||{{|{z{z{{{|{{{{||{{{zzz{{z{{{{{{{z{zzz{zx{{{z{z{{{zz{zz{z|{{{z|{{{{z{zzzy{|z{{{{z{zzzzzz{z{{{{|{z{{z{zz{z{{z{{|{{{{yzzzz{{{z{{{{{{zzzzzyz{{|{z{z|zzzzz{zzzzz{{{{{zz{{zz{y{{z{z{{{zz{{zzz{z{{{z{{{zz{{yzz{z{{zzz|zzzzz{zzyzz{z||{{z{zz{zzzz{z{{{{|z{{{{{zzz{{zz{}z{zzz{z{zz{|{{||{zzzzzzzz{{||{y{{zz|{z{z{z{{z{{|{{z{{z{z{{}{|{{|z{z{{{zzz{{{{z|{{{{z{zz{{{|{{{{{{|{{z{{z{|{||{{{{z{{{{z|{||{||}|{z{{{|zz{||{|||{||{{{{z|{||}{{|||{{{|{{z}{|||{|{||{{z{|{|{||||{{|{|z{{z{{{||{|{{{|{z{{z{|{||{||{{|{z{{|{{{|{||{|{z{{z{z{{z{{{{|{|{{{{z{zz|{||{||}z{{zzz{z|{{{{{{{{zzzzz{yz|{{{{{{zzzz|{{z{{|{{{|{{zzzz{zz{{|z{{|{|z{{zy{{{|{zz{{{{{zzy{|z|z{{{{z|{{{zz{{z{||{{{{{|{zz{z{y{z|{{{{|zzzz{zzz{zz{z{{zzyzzzzy{{z{{{{|{zz{zy{zz{{{||{|{{{zzzzyz{z|{{{z|zzzzyz|zz{{{|{{{{{{zzzz{z{z{z}{{z{{{{{z{{{{{{z||{z{zzz{z{{{{|z|||zz{zz{z|{{{{{||{z{{{|{z{{{{{{|||{|zz{{{z|||{||{{z{{zz{z{|{{|{||{{z|{{{{{{{{{|{{{{||{{|{{|{||{}|z{{{|{{|{|||{|||{|z{{{{{{|{||||}{z|{z{z{||}{|||{{{z{z|{|{{{|}||||{{|{{z{|||||{||{z{{z||z|||||}||||{{{{{{|||{{}|||z{||{{{{|||}|{|{|{{{{{{{|{|{||||{|{|zz{z{||{{||{{zzzz{z{{|{{z{|{{z{zzzz{{{{{{{{{zzz{z{|{{{||{|{{{zzz{yz{{{{||{{{{{{zzzz{{|{{{{{{{{{z{{y{{|{||z|yz{|{{zzz{{{z{{{zz{z{{zz{{z{{{{{zz{{{yzz{z{{{{{{zz{{zz{z{zz{{||{z{{zz{yyz{{{{{{{yz{zzzz{{{{{|{||zzzyzzzzzz{yz{z{zz{z{zzz{{z{{||{{y{z{{{z{|{{{{{|{{z{{{{z{{{||{|{{z{z|zzz{{{{z{|}z{|zzz{z|{{z|{{|z{{z|{|{{{{{{|{{{{{{|{z{{{||{|{{{z|z{|{{|{|{|||||{{z{{{|z{{{{}{{z{|{{z{{|{|}{}|{|{{{z{zz}||||{|{|{z{{{{{||||||||{{|{||{|{|{{{|}|||{{z|z{{}|||}|||{{z{{|{{{|{|}|||zz{{{z{||||}}|}{{{|{|{{||||||{|{{|z{{{{{|{{{||{|{{{z{z{{|{{{||||zzzz{{{|||z{{{{zzz{z{zzz{|zz||{z{{z{{zz{{|{{{|{{z{z{{{z{|z{{{{|z{zzzz{z{{{z{{{{{{{z{zzy{{{z{|{{{zzzzz{zz|{{{{|z{{{{{zzzz{z{z{{{zzzzzzz{|{{{z{{|zzzzyz{yz{zzz|{{z{z{zzyz{{{{|{|{{zzzy{zzz{{z{{||{zzz{z{z{{{{{{{|{zzz{zzz{z{zz{z{zyy{z{zz{|{{{{|{z{{zzzzz|{z{{{{{{z{{zz{z{{z{{{|{{{{{{zzz{{{|{{||{z{{z{z{{|z{{|{|{{{zz{zz|{{{{|||{zz{z{{z{{|{|||{|{{z{z{z|{}|{{|{{{|{zz{|{|{{{|{||zz{|{z{|{|||{|{|z{{|{{{|}|||{|||{{{||{|{||{{||||{{|z|zz{{|}}|||{z|zz{{||||||||z{{z{|{{|{|{|{{{|||{{z{{{{{{{{{{||{{z{{{{|{{|{{{{|{z{{|zz{{||{{}{{{{{zz{z|{{|{{z{zz{zzzzzz{|{{z{zz{zz{zzz{{{{{|{{zzzyz{{zz{{|{|{|{zz{{z{zzz{{{{{|{zzzzy{y{z|{{{{{zzzyz{{z{{{{{{{{{zzzzzzzz{{z{{|zzzy{zzz{zzzz{{{{zyzzzzyyz{|zz|{z{y{zzz{yzzz{|{{{yz{{yzy{|{{{{|zz{yzzzzzyz{z{{z{{{zyz{zzzz{{{{z|{zyz{zzzz{{{{{{z{{zzz{{{{z|{{{{z{|{{{zy{{{{{zz{|{z{{z{zzy{{|{z{{||{z{|z{z|{{|z|z{{zzz{{{z||{{{||{{{{{{{y{||{{{{{{z{z{{z{{{|{|{{|{{{z{{{z{{{||{|}||z{{{{{z{||{{|{{{zz{{{{z|||{{||{{{{|z{|{|}{{||{{{{{{z{{{{{||||||{z{z{z{|||||||{{{{{{{{{{||||{{||{z{{|{{{{|||{|{||{z{{{|{{{||{{{|{{zzzz{{{{{|y|}{{{{z{zzz{}}||{{|zzzy{zzyy{{{{z{|z{yzzzz{{z{||{{|{{zzz{{{|{z{}|{z{zzz{zz{{{|{|{{{{{zzz{zzz{|{{{{z{zzzz{zzz{{{{|{{z{{{z{zz{{{{|{{zz{z{{{{{{{{zz{{|{zz{zzzyzz{z{|||{z{z{{z{z{{z{{{|{z{{yzzz||{z{{z{y{{z{yyz{|{{{{{{zzzz{zz{{{z{z|||z{z{z{{z{{{{{z||z{{zz{{z{{{{{{{|{{zz{{{{{{|{{|||{{z{{z{{{|||{|{|{z{{{y{zz}{z||||zzz|{z{z{{|{{|}z|{z{{{{zz{|{{|z{{{{{{z{z{|{||}||{{{{z{|{{}{|{}|{|{{|z{{{||{{{}{|{z{{|{|{|}|{|{}||{|{||{{{{{{||}||{{{z{z|{||{{|||||{||{|{{{}{{||}|{{{{{{{||z||||}{{|{|yz{|||||{||||{{{{{{z||{|||{||{{z{{z||||{{{|z{{z{yz{{{|{{z{{yzzzzzzzz|{{{{{zz{zyzzzz{{{||{{|z|yy{{zz{zzz{{|{{{{zzzz{{z{{zz{{{z{yzz{{{{{|z{{{zz{z{zzzz{{{{{z{{zzy{yzz{{z{z{{{z{z{zzy{{{z{{{{|zzzzzzzzz{{z{{{zzzzzz{zzz{{z{{|{{zzzzzyyz{{{{|{{zyzzzy{yzz{z{{{{{z{zzz{z{|zz{{|{zzz{zzz{y{|z{{{{{zz{z{zy{{|{{z{{{{{{zzz{{z{{{{{{{z{{yz{{{{{{|{|{zz{{zz{{{{{|{|{|{{{{zz{zz|{{{{|{{z{zzz{zz{{{|z||{{{z{z{|{{{|||{|z{|z|z{{{{{||||||z{{zz{{{|||}|||{zz{||{{{|{|z|||{{{z{{|{||||{|{||z{{z{{z{}}{||||{{{{{zz{|{|{{|{||{z{{{{z{|{{{}{||{{{{z{{{{z|}{||zzzz|{{z{{{z{||{{{zz{{zz{|{{{{}{zz{{zzxz{{{|{z{{{zzzzzzyz{{{{z{{{z{zzzzzz{{zz||{z{zyzzzz{{{{{|||{{z{zz{{{{{|{z|{{{{zzzzz{{|||z{{zy{yz{{z{|{z{{{z{{{{zzzzzz{zz|z{zzzz{{{z{zz{{{{|zyz{{zzzz{{{z|{{{zzzz{yz{{|z{zz{zz{yz{{z{z{{z{zzzzz{z{yz{z{z{{z{{zzzzzzzzzz|z{z{zz{z{zzz{{z|{z|{{z{zzy|{z{|z{z{zzz{{zz{{{{{{{{}{z{{{{zzz{z{{{|}{|{|{zyz{{||{{{{{{z{z|z{z|||z{{|z|zz{zz{{{|||{|{|{z{{{{{{{|||{||{|{||z{{z{{}{{{|z{{||zz{z|{}||{||{z{{{{{{{|{|{||{{z{{|z|{{{z|{||{|{{{{|{z{}||||||{z{zz|{{}||||~|{|{{{{{{{{{{{||||{zz{{{z{{|{{||||{z{z{{{{z{||||||{zzz{{zzz|{{|z{|{{zyzy{{{{z{{{{z{|y{yz{z{{zz{{{{zzz{zzzz{{{{z|||{zz{zy{{z{{z|{{{zzyzzzzzzz{{z{{{zzz{zzzzz{{{{|{|zz{z{{{y{zzz{z|{{{{zz{y||z{z{z{{{{zzz{z{{z{{zz{z{zyzzyzz{zz{zz{z{zzzy{z{{{{{{|||{zyyyyzzzzz{zz|{{yy{z{zz{{{z{z{z{zzz{zzzz{z{{zz{z{{{zz{yz{{{{{{{zz{{{z{zzz{{{{{|{z{y{z{{{{{{{{{|{{zyz{{{{{{{|{|{{z{z{zzzz||{{|{{{{{z{{zz{{{|{{{|{{|zz{z{{|{{{{{||z{{{{zz|{|{{{|{{|{z{{|{{{{|{{|{{zz|{z{z{{{{{}|{{{z|{{{||{{{|{||zz{{{{|z{|{|||{{|{{{{z{|{||||{}{z|{{{|{{{||{|||{{z{z{zz{||{{{||||{z{{{zz|{||{{{{{{{z{{{{{{{{{{|{{{{z{z{{{{||||{{|{zzzz{y{{|{{|{{z{{zzz{z{{{{z{{zzzzyzzz|{z{|z{{||z{zz{{z|{{{{|{{|{zy{zz{z|{|{{{{|z{yzzzz{{|z{{{|zz{z{zzy{{zzz|{{zyz{{zz{zz{zz|{{z{{zzzzz{{{{{{{{{z{zzz{z{{{y{{{z{zzzzzzz{|z{{{{|zz{zzzz{{{{||{{{z{zzzzzzz{{{z{{{zzzzzy{{zz{{{}{|zz{zzz{z{|z{{{{{{{{zzzzz{{|{{z||{z{{yz{|{|{{y{z|z{{{z{zz{z{{{{{|{{{{{zz{|{{|{|{|zz{{{{{|{{|{{{||{{z{zzz{{|{||{{{{{zz{{zz|z||{|{{{z|{|zz{{{}{|{||{{{{|{{z{}{{{{|{|{{{{|{{||{|}|||z{||{|{||||{|}||{{z{{|z{{|||||}|||{{z|{z||}||{|{{zz|zz{{|||{|||{||zy}{{z|{{|{{{|{{{zz{z|{|{{{{||{{z|{{zzz{{||{|{zz|z{{{z{|{z{{{{{zy{zz{{z{{{{z|{{z{zzyz{{{||{|||{zzzz{zz{|{{{{{z{z{z{{{{zzz{{zz{zz{z{z{y{z{{{|z{|z{z{z{z{{z{{{|{zz{z{yz{y{z{z|{z{{zzzzy{|z{{{z{{{zzzzyzzzz{{|zz{{zzz{zz{z{{{|{{{{z{zz{zy{{{{{{|{{{yz{zz{z{{yz{{|{{zzzzzz|{zz{|{{z{{z{{zz{z{{{{|{{y{y{z{z{z{{||{{|z{zzy{z{{|{z|{{z{z{z{z{||{z||}{{|{}yz{y{||{{||{{{z{{z{{{z|{{|{{{{{zzzzz|{z{||{|{|{z{{z{|||{{{||{{{|{{{|{|{{{{|||zz{|{z{{||{{|}||{z{{{{{||{{{||||z{zy{|{{}{||{|||z{{{{}{z}|||||||y{{{{{{|{|{|{||{{{{{{|{|{|||||||{{||{z||{|}{|}|{z{zz|{{{{{{{||||z{{{{{{z{}{|||{{z{z{{|zzz{{{{z{zz{z{z{z{{{z{{|{z{{{{zzz{{{{{{|{{{zzzyz{{{{{{{{{{{{yz{zz{{{||z||zz{zzzzz{{{{{{{|zzzzzzyzzz{|{|{z{zzzz{zz{{z{{{{{zzz{{zzz{z{|z{{{zz{{zzyzz{{{z{{{{zy|yzz{z{{{{z{{z{{yzz{{{z|z{{||{z{zz{zzz{zy{{z{{zzzzzzzz{{{{{|{zzz{zzzzz{z{z{|{zzzz{zz{z||z|{z{{{{{zzz{{z{{z{||z{{zzzz{{||{z|{|{{{{{y{z{|z{z{{{{z{|{{yzz|{{{{{z|{{zzzzz{{{{{{{|{z{{||{{{|||}{||{{|{|{{{||{|{{}{{z{{{z{zz{||{||{|{{z{z{{||{{{{{{{z{{{{|{{{{||||}{{z{|{{{{||}|||||{{z|{{|||{{{{||{{{{{{{{{z|{}{{}{|z|{{{{{{z||{{|z|zzz{{{z{{{{{|}{{{z{{{{{}{z{|||z{{|{{{zz{z|{{{|z{zz{z{yzz{{|{|zzz{y{{z{|{{{|{|{{{zz{zzz{{{|{{||{{zzz{z{z{{|{z{{{|zzyzzz{zz{{{{{|z{z|zyzz{z{{|{z{{{zzz{z{||zz{{|zzz{z{zz{z{{z|{{zzzzzz{z{{{zz{z{zzz{z{yy{{{y{{{z{zzzzz{{{{{z{{{{{{zzz{zyz{{{zzz{zzzzzzzzzzzz{}|{zzzzz{zzz|{{{{{{{z{{zz{|{{{{{{{{y{{zzyzy{{z{||||zzzzzz{z{|{||{|{{z|z{yzy{|{|{|{{|{{{{z{zz|{|{{|{zz{z{z{{{||{||||{z{{{z||z{|||{{|{{|zz{{{|{|{{|}||{y{{{z{{||{}{||{z{z|{{{{{|{|||{{|{{{{{{{{|||||||{|{{|{{z|||{|{}}z{||{{{|{||||||||{{z{||{|{||}}|z{{{{{z{|{|{|{|{{{z{|{z{z|{{{|||{{z{z{||{{{||{{|{zzzzz{z{{|z{{{{zzzzz{zzz{||{zz||{z|zyzz{{z{{|{|{zzz{{zz{{{{{{{{{z{z{yzz{z{|{{{{zzzzzyyy{zz{z{{{{z{zzzzzzz|z{{{|{z{zzzzy{{{y{{{{zzzzy{{{{y{{{zyzzz{zzzzzz{zz|||zzzzz{zzzzz{{{{{|{zzzzz{z{{zz{z{|zzzz{{{z{z{zz{z|{{zzzzzzz{z{z{zzzzzz{zzzz{{{{{{{zz{zzzz{{{{{{|{|{{zzzz{z{||z{{{|zz{z{zz{{{||z{|{z{zz{z{z{{{|{|{|{zz{{|z{{{|{|||{{z|z{zz{|{z{{{{|{{z{{{{{||{{||{||{{{{||{z{z||||{{{{{{{z{||||{|}{{{|{{{{z||{|||}}|{|{{{|{|{||z|||}z{{{|{|{|||{{{{{{{|{{{||||||{{{{z{z|{{}|{{{||}|{{z{{{{{{|||||{|{{{{zz{z{{|{{||{{|{{{z{z{|{{}{|{{{{yzz{z||{|||{zzzy{{zzzz{{|{{z{{{{{{zy{zzz{{{||zzyyzzzz{zz{|{|{|{zzzzzzz{{zzz{{{{{zzzy{{z{{z|{{zzz{z{zzz{zz|{{z{zz{zzzzzz|z{{{{{zzzyzz{zz{{zzz{{zzzxz{zz{zzz{zz|zzyyzy{z{|{{z{{z{zzzzzzyzz{zz|z{zzzyz{yzzzz{{{{zzzz{yzz{{{{{|{{zz{{z{z{{|{{z|{|{zzzz{zz{{{{{{|{{z{yzz{{z{z{{{||{z{{{z{z|{{z|{{{{{{zzyzy|{{|{||{{z{zz{{z{{||{{|zz{{zz{{{|{|{{{|{z{z{{{{{|z||{||{{z{{{{{{{|{{{|||{{{z{{|{{|{{|||||z{|{z{{{|||{||||{|{{{{z{{|||}}||{|{z{yz||||}||{|{||{{{{|{{{||{{|{{{{{{{{{{}{||||{{{{z|{{|{{{|}|z{{{{{zz{|z{}{|{|||z{{zz||z{|||{{{{{zz{{|{{{{{{{{z{{zz{z{z{z{{{zz{zzzzzz{z|{{}{{zz{y{zzyz{{{{z{{zz{zzz{z{|{{{z{z{yzzyzzz|{|{{{{{zzz{yzzz{{{z{{{|{z{zyzzzzz|yz{|z{zzzzzzzzz{{{{{{zzyzzzzz{{{{z|{{{z{{zzy{z{{z{z{{z{zzzzzzz{{{{{{|z{zyzzzzz{{{z{|{{{zz{{zzz{z{z|z{zzz{z{{z{{{|{{{|{{{{z{zz{{{{{{|{{{z{zz{z{zz{z{z{zz{{{z{z{{{z{||{z{{{|zzzz{z{z|{{{z{{{{{z{{|{{||{z{zz|{{{z{{|{||{{|{{z{{z||{||{{{{{z{{{{{{{||{|{|{{{{{{{|{}{{{||||{z{{{{z|{{{}||{{{{{{||z||{|}|{{|{{{z{{z{|{||{|{|{z{z{{{{|{{{|{{|z{|zz{{{{{{|{|{{{{{{{{{{{||{{}|{{{z{z{z{{{|{||{{{zz{{{{|{}|{||{{zzzzyzy{{|{||{{{zzzyz{zz{{z{{z|{zzzzyzz{{{zz{{|zzzzz{zy{z{{{z{|z{zz{yzzz{z{{{{z{y{yzz{yzz{z|{z{z{zzzzzy{|zz|||zyzz{{zzz{z{z{{{{{zyyzzzz{{z{z|{zzzzz{z{zzzz{{{{y{z{zyzy{z{zz{{}{zzzzyzyz{{{{z{{{z{zzyz{zzz{y|{{z{{zzzzyzzzz{{{{{zz{zz{{{zzzz{|{zzzzz{yzz{{|{{{{|zz{zzyz{{{{z{{{{{{{z{{zz{{{|||{{zzzzzzzz{||{{{{z{z{{{z{yzz{|{{|{{{{zzz{z|{{{|{z}z{{zz{z{{z{||{{|{{{{zz{z{{|{{|{{{{z{z{z{z{{||||{|{z{{{{{{|{||{|{z{|{z{|{{|{{|{|{{{{z{{{{|{{{|{|{{z{z{z{{|{{z{{|{|{{z{zz{{|{|{|{|{{{{{{{{{z{||{{|{{{z{z{z{{{{z{|{{{z{zy{y{{|{zz{{{z{zzzzzz{|{{|z{y{zyzzzyz{{{{zzzz{z{zyz{{z{{{{{{{zzzzzy{{{z{{{|z{z{zzzzz{z{|z{||zz{yz{zy{z{zz{{|zz{yzzzzz{zz{|{zz{zyzzzzz{{{{{{z{{yzzzzzz{|{y{{{z{{zzyzz{zzz{{{zzyyyyyyzzz|z{z{zz{zzzzz{{z{|zz{{{zyzzyyyzzzz{{{z{zyzyzzzz{z{z{{{zz{zzzzyz{{{z{z|zzzyzzz{{{{zz|{{z{{yzyzz|z{{{z{|z{{{z{{{{z{|||{{zz{{zzz{z{{{{{{{zz{|{zz{|{||{|{{{z{zzzzz{||{{|{{{{{{zzz{{|{{{||{z{{{{z{{{{{{|{{{{{z|{zzz{|||{|{{{{{{{{{z{{{||{||{{|{{{{{{{{|||||||z{{|{{{|{|||||{z{{{{{{{||{|{|||{{{{{{|{{{|{{{{{{{z{|{{||z{|{|{{{{z{z{{{{{||{}||zzzyzz{{{||z{|z{{zzzzzz{|{{zz|{{{zzzz{zzz{{{zz{{zzzzzz{zy{{{{|{z{zzzy{{zzzy{{{{z{{zyzzz{{{{|z{{{zzzyzzy{zz|z{{|{zzzzy{{zz|{{zz{zz{zzz{z{{{zz{{zyzyzz{zzzzz{z|z{zzyzzz{yzz{zz{zzzzyzzzzzz{{zz{z{zz{zzz{yz{|z{zzy{zzyzyzz{z{zyzz{z{zzzz{yz{{{{|{{{zzzzzzzz|{{{{{{{z{{|z{z{|{{{{{|{{zzzzzz{{z{z|{|zz{{z{{{z{|{{{||z|{{z{{{{|{{{{{|zz|z{{zz|{{{|{|{|{{{{zz{{{{{{{z{{{{|zz{z{{|{||||z{z{|{|{||{||{|{{z{{{{zz{{{|||||{y{{{zz||||||{|||z|{{{{|{||{||{||{{{{|{|{|||{{||{z{{z{{{{{|||{||{{{|{{{z{|{||{{{{z{{{{{{{{|{|||}||{z{{z{{{{{{||{{{{{{{{z{|{{{{|{{z{|{zz{z{|{{{{{z{z{{{{{{{{z{{{{{{z|{zzz{{zz{|||zzz{zz{y{{{{{y|{z{zzzzzz{{{z|z{{zz{{{{zyz{{zzz{{{yzzzyzz{{{yz{{{{yzzzzzzz{z{z|{{{{zzzzzzzzzz{{z{zz{yzzzz{{{{{{|{{zzzyyzyzy{{{{{zzzz{zzzzzz{|z|{{zzzzzyzyz{z{{{{z{z{zzzzz{{{{{{{{zz{zz{y{}{{{{{|{{|{{{z{|{{{{{{{{zzzzyz{zz{||{{z{{z{yzzz{z{|{{||{{{{|{z{{z{{{{|{z{{{{{zzz{{{}||{|{{z|{{{y{|{{{{||{{z{{{zz{||{{|{{zz{{{{{{{|{}{}|}|z{zzz|{|}{{{|||{z{{z{{{|||{|}}|{{z{{{{|{|z{}||{|{{{z{{|z}|||}|{{z{{{{{{||||||{{|z|{{{{{{z{|{}}|{{{{z|{{{|{|{||{|{zzzz{{{{|{{||{|z{z{{{z{{z|{{{{{{{zz{|{z{|{~{z{z{{{zyzzz{{{{{{{{{z{y{z{z{zz{{{{{z{{yz{zzz{{{|{{{|z{{zzzzzz{z{{|{zzzzz{{z{{{{z{{zzzzzz{{|z{zz{{zzzzz{zz{{z|{z{{{z{zzyzzzzz{{{{z|yzzzzzy{{{z{{{{{{{zzzzzzz{{z{{{|zz{zzyyy{{{zz{|{{{{zzz{z{{zz{{z|zzzz{zzzz|{zz{{z{z{yz{zyzz{{|{|{{zzz{y{{z|{{{{{{zz{zzzz{{|{z{|{{{z{{zz{y||{{{{||{{{{{zz{z{{||{{{zzz{{zz{|||zz||{z{{{|{{z|{{{{|{{|{{zz{{|{|||{||{{z{{{|z{|||}{|}|{{{z{{z{{{|||{||||{z{{|||||{{||{{{zz|{{{|{|{{{|||z{zz|z{|||{{|{{|{{|{z{||||||{|{{z{{z|||{{||{|||{|{{{z{{{|{|{||||{|{{z{z|{{|{|}|{z{{z{{z{|{{{{||zz{|{zz{|{{{{|{{{z{{zzzzz}{z{{|{{zzzzzzz{|{{|{{|z{zzz{zz{z{z{{{{{{z{|{{y{{|{z{{|z{zz{z{z{{{zz|z{zzzzzzzz{{{z{{{{zz{z{zyz{{|{z{{{zz{zzzz{{zzzzz{zzzzz{zzz{{{zz{z{yzzzz|yzz{{z{}{|z{{zz{zzz{z{{{|{{zzz{zzzz{{zz{{zzz{zyz{z{{{{{{{|{{zzz{{y{{zz{|{{{z{|{{z{|{|z{z{{z{zz{yz{{{z{z{{|zzz{zy{{z{{{|{|{{z{z{y{z{{{|||z{{{{z|{zz{{|{{||{{z{{z{{{{{{{||{{|z{{{{|{{|||{|||{{{{{{{{|||||{|{{{{{{z{{{||||||{|{{{{||{|||{|{|{|||{{||{|||||||}|{{zz|{{|}{}|||{{{|z{{{{{|{|{||{|{{{{{z{{|{||{}{|{z|{{{{{|{||{{{{|{{{{{{{||}|{||{|{{z{{{||||{|{|{{{{{z|z|{||||{{{{{yzzz{{|{{|{{{{z{{{zzz{{{{z{{|zyz{zz{z{z{{{{{|{{{zzzzz{z|{zz||{z{yyzyy{z{{z{{z{z{{{z{z{zzzz{z{{z{z{yzz{{{z{zz{zzz{zy{z{zzzz{{zzzzz{zzz{{{{z{|z{z{zzzzz{z{z{||{{zzyzy{z{{{|z{{{zzzz{z{zzzyzz{{{y{{z{{zzz|{z{{{{{z{{z{zyz{{{{z{{zzzz{{z{{z{{{{{||zzzz{{{|{{{{|{{{zz{zzzz{{{zz{{{{{{zzzz{z{{{||{{|{{z{z{z{{{{{|{{{z{{zz{{{{{{{{|z{{z{{zzzz|{{{{}}z|zzz{{{|{zz{||{|{{z{{zz|{|{|{|{|{{z{{z{|}|{{|||{|{{{{||{{{|{||||{{{{{{z{|||{|}{|z|{z{{z|}|{{|{{|{{{{{{{{||{{{|||{{z|zz{||{{{|||{z{z{z{|{z{zz|{|{z{{z{zzz{{{{z{{{{zzzz{z{|{z{|y|{{yyzzzzz{{{{z{{zz{zzzyz{zz{z{{}{z{z{yzyz{{{{|||zzz{{zz{z{{{z{{{zzzzzzzzz{{|{zz|zz{z{z{z{|zz{|{zzz{zz{zz{{{z{z{|zzzyz{z{zz{{z{z{zzz{{yzyzz{zzz{zzzz{zzyzz{zz{{{{{z|zyzzzz{z{{{{{z{zyzz{y{z{z{{zzzzzzz{z{z{z|z{{{z{zz{{zz{{z{||z{z{zz{{zy{{{{{{|{{{{zzyzz{{{{{{{{z{zz{zz{z{{z{{{{{{{z{z{{z{z{{{z{{y{{{{z{{|{zz{|{{zzzz{{{{|{|z{||{z|z{{{{zz|{|{||{{zzzz|z{|{|{|{|{{{{z{{{|{||}|z{}|{{{{|{{||{}|}|{{|z|{{{z|{||z|||{z{z{{{|}{{||}{|{|{z{zz{|{|{|||zz{{{{|{{||{{|{|{{{{{{{|z|{|{{{{{zzz{{{{{|{{{{||}{z{z{{{{|{|{{|{{yzzzzyyz{|{z{z{zyzyzz{y{{|{z|{{{zz{{yzz{{{{{{{}{{zz{zzz{y{z|{|z|{{{{zz{z{|{z{{{{zzzzz{y{{z{{{||{zzzyzzzz|{z{{{{{zzz{zzz{z|{z{{{zzzzzzzzz{z{z{|{z{zz{yy{{z{{{{{zzz{zz{zz{|{{{|{|zzzzzyzzz|z{{{{|zz{z{zzzyzz{{z{{{{yzzzzz{{{z{||{yz{z{{{z{{{z{z{{{zzz{z{{{{{z|{z{z{{{{z{{z{z{{||{zzzz{{{{|z{z||{{|{{z{zzz{{{|{{|{z{{{zzz|{||{|{{z{zzz{zzz{{{z||{{|{{{z{{{{{|||{{{z{|{{|{{||{{||||{{z{{{{{z|||||{|{z{z{{{{z|{||||{||{{{|{{{{{|||{||{{{z|{z{|z||{}{{{{|zz{z|{}|{}||{{z{{z|{{{{{{||||{{|{{{{||{|{||{|{{yz{{z{|{{{{||{{{z{{zz{|||{||{zz{zz{zzz|{{{{z{zyzzz{zz{{{z{{{|zz{yzyz{z{{{{{||zz{z{{zyzzzz{{{{z{{yzzzy{z{{z{|{{zyzy{zzz{{{||{|{zzzyzz{{|{zz|{zyzzzyyzz{{{{z{z{{yzzzzyyz|z{{zzzyzzzzyz{zzzzzz{yzzzzzzzz{zzz|z{{zz{yyz{zzz{{{|{{zz{zyzz{{|z{z|{{{zz{yyzzz{zz{|{{{zyzzyzyz{{|{{z{{zzzzyzyz|{zz{z|{z{zz{{z{|||{{{|z{zzzz{z{z{{{||{|z{zzy|{{{{{{{|{{z{{z{{z{{{{{z|{{{|z{y{{{|||{|{{z{{{{|zzz|{||{{|zz{{{|{z{{z{{{}{{{{{{zzzz|{|{z|{{zzz{{z{|{{||{||{{{z{{|{{||||{|{{z|zz{{{z||}{|}{{{z{{z{z{||||{{|{z{{{{z{|{|||||||{{z{z{{|||{|{{|{z{zzz{zz|{{{{}{{zz{z{{{{{{{z{{{z{|{zzzz{{{{{|{{{{zzzzzz{{{y{{{zzzzy{zzzyzz{{{z|z{{zzz{z{yzzz{{{{z{y{zzzz{z|{{||{zzzyzzz{{{{{z{|zzzzzzzzz{{yz{{{{{yy{zyz{{zz{{zz{y{zzzyyzz{zz{{{{yzzzzz{{zz{z{z{yyzzyzyyzz{zz{{{z{yzzyzzzzz|{{z{zzzzyzzy{zz{z{z{z{yyzzyzy{z{z|{{zzzz{zyy{{z{{z{z{zzz{y{z{y{|z{{{{zz{{z{zz{{{{|{{zz{zzz{z{{||z{|{{z{zzz{{z|{z|{{{zzzzzzzz{|{{{z|{z{z{z{z{{{{{{|{|{zz|z{z{{||{|{{{z{{|{{{{{|{{||{{{z{{{zz{|||{{||||zzzzzzz|{{{{}{{{{z{z{|{z{z|{|{{{{|{zz{{{|{{{||{|z{{zz{{{||{{||{{z{z{zz{|{{{|{||{{{{{zz|{{{|{{||{z|z{zz{z|z|{{{|{|{{zzzz{{{{{{|{z{{y{y{{z{{{{|z{{zzyzy{zz{{zz{{|{zz{zz{{zzz{{{{{z{{z{{zz{zz{{|z|{z{zz{{zz{|{zzz{{z{zzzzy{|{{{{|{zzzzzzzy{{|{z|{{zz{z{zzyzzz{{{{{z{{z{zzzzz{{{{z{zz{zzzzz{{{{{{{{z{y{yzz{{{{{|{z{z{{zzyzz{|||{{||{{zzzzyz{{zzz{z{y{zy{{{zz{y|z{z{zzz{z{zz{{zz{{|{{z{{|y{z{zz{{z{|{z{zzzzz{{||{z|{z{{yzzz{{{|{{|{|{z|z{z{{{{{{|||||z{{zzzz{|{{|||{{{{{z{{{||{z{{{|{zz{{{{zz|{}}|||{z{z{{{|{|{|{{||z{{z{{{zz{{|||{|{z{{z{{{{|{{||||{{z{{{{{||{|{{||{{{{{{|{{|||{{|}|{{{{{zz{|{{{|||{{{{{zz|{|{{{||}z|z|{{{z|{{|{z{|{z{z|zzz{{z||||{||{{zz{z{|||{||{{z|z{y{z{{{{{{|{z{zzzzzz{|{|{|{{{{zzzyzz{{|z||{{zz{yz{z{zz{|{{||z{zzzzzz{{{{z{{z{zzzzz{yzz{{{|{{zzzy{z{z{{{zz{z{|z{{zyyzz{zz||{{{zz{zzyzz{z{{{{{zz{z{{{zz{{{{{{{zzzzyzzz{z{|{{{{z{zyzz{{z|{{{z{zz{zzzzyzz{z|{zz{{yzzz{zz{{{{{{z{z{{zyzzy{|{{{{{{{{z{{z{zzz{{{{|{z{zzzz{z{{{{|{||{{{yz{{{{{{z{||{z{|{|z{|{|z|{|{{{z{zzzz{{{{|{{{{{{{zz{zz|{|{||{||z|{|{{{{|||||{{{{{z|{{{|}{|{{{||{z|{{{{|}|}{}}{|{z{{{{{|}|{||}|{{|{{{|z|{{||||{|{{z{{{{{}}}|||||{{||{{z|||{{}||||{{{{{{{{|{|{{}|{|{z{{{{|{{{{||{{{{z{{zz{{{|{{|z{{zz{z{{|{|{{{|{{{z{zz{|{{{{|{{{{zzz{{z{{{|{|{|{{z{|zzz{{{{|{{|{{{zzz{z{|{{{{{z{z|zzyzzz{||{{y||{zzzz{z{z{|z|{{z{zyz{{z{{|z{{{{{z{zz{{zz{{{z|{|{zzzzzzzy{{{{{{{{{{zz{{z{{{{{{{{|{{yzzzz{{{z{||zz{{zzzyz{{{{|{|{{zzy{zzz{{|{{|{{{{z{zzz|{{zz{{{{zz{zz{{z{{{|{|||{{{{{z{{z{{{{|{{z{{{z{z{{{{{{|{{{{|z{z{{|{|{{|||{{{{{y|zz|{|||{{{|{{|{{z|{{|{|}{{{{{{{{{||{{{|{{{{{{{{||{z|{}}||{||{zz|{|}z||||||{{|{{z{{|}|}{|||z{{|z|{|}{{|||}|{{{{||{{{||}||||{{{{|{{|}||{||}}{|{{{{{||||{|||{{{|||{|{||{}|||}||||{{|{{{|{|||{{|{{z{|{|||||||{{|{{{{{{}{|z||{|z{{{{{{|}|{{||{z{z{yz{yz{zz{{{{{zyzzzzzz{{z{{||z{z{{{y{{{zz{|||zzzzzzyz{|{{zz{|zzz{zzzz{{{z{zz{{{zzzzzz{zzzz{{{|{{zy{y{zz|z{|z{{{{zzzzz{z{{{z|zzzzy{zyzz{{zz{{{z{zzzzy{zzz{zz{|{zzzz{zzz{{{{{{|{z{z{y{{zz{{z|{{{yzy{zzzzzzz{{{{zz{zzzyz{{|z{z{{{{{zz{y{|{{{{{z{{zz{zzzzz{{|{|{{z{{z{z{{{}{{|{{||z{zzzzy{{|{{||{z{{y{{zzz{{||||{|{{{{zz{||{{{|{|{{z{z|{z{{{{{|{{||{{|z{{|{|{||}{|z{{{{{{||{||{|{{{{z{{{z{}||||}|{{{{z{|{{||||{||{|{{z{{{||{||||{{z{{|{{{|{|||||||{{z|{{{z{{{|}||{{z{||{{{{{|||{}z{{z{{z||z||z|{|{z{{zz{z{|{{{|{{zz{z{zzz{{{{{{z{z{zzyz{z{{{z{{{{z{zzzzzzz{|{{{|z{{z{yzzz{zzz{{|{{z{{zzz{{z{{zz{|{{zzz{zz{{{{{z{{zz{z{zyzzz{zz{{{zyzzzzzz{z{{z{{zzyzyzzzy{zzz{{|{zz{z{yz{{z{{{{|{zzy{yyy{{z{{{{{|zz{{yzz{z{{{{{{{zz{z{y{zz{zzz{{{zz{zzzzzy{zzz{zzzzzzz{yz{z{{y{z{{z{zzz{{{{zzz{{|zzz{zz{zz|{{{z{|y{zzz{{zz{|z{{z|{{{{{zzz{||z{|zz{|{{{zzz{{{|{{|z{zz|zzz{{{|z||{{{{z{{zzzz|{|{}|{{{z{{z|{{|z|||||{{{{{{{z{{|{||zz|z{{{{{z||{{|||||{|z{|{|{{|{z|{||{{{z|{{{}|||{|||{{zz{{{{|{{{|{{{z{z{{{|z||{||}|{{z|{|zz|{{{||||z{{zz{{z{{{|{|}{|{{zz{zz{{{|{{{{{{zz|zzzzz{{{{z{zyzy{zzzz{{|z{{|{zzz{zzz{zz{{{{|zzzzz{{z|{zz|{{{{zzzy{zzzzz{{z{{zz{yyy{z|z{{{|{{{zzzzzzy{z{zz{{{{{zzzzyz{y{{z{zzz{zzyzz{z{zzz{{{zzz{zy{z{zz{{{{{{yzzzyzz|{{{{{|{{zzzyzzzz|z{z|{{zzzzz{zz{z{zzz{zzzzyzyzzz{{{{{z{zz{zzy{zzz{{{{|{{yz{{zz{{{{|{{||{y{zzyz{{{{{{{|{{yy|z{zzzz{{z{{{{z{{z{zz{z{|{{{|z{zz{|zz{{|{{{|{{{{|{{zz|{|{z{{{z{{|{{{{|{|{{{{{z||{{z|{z{{||{}|{z{{{yz{{|{{|||||z|z|z|{||{{{{||{z{z{z|{|||||{||z{{{z{{|||{||||{{z{|{{|z|{{||||{{zz{z{{{{{{|{}||{{{{{|{||{||{|||z{{z{z{z{|{||||{|{{{z{zz{|{|{{|{zzz{{{zz|{{{{zz{zzyzz{{yz{zzz{{{{yyyzzzz{z{{{{{{{zz{zzzz{z{{zz{|{zy{yyz{{zz{{{{{{zyzzz{yzzzz{z{{z{zzzzzzz{z{{{{zzzyzzzzzzz{|zz{zzzyzzyxzzzz{yz{{zzzzzzzz{z{z{{{zzzyzzzyzzz{{{{zzz{zyyz{z{{zzy{{|zzyyzyyyyzzzzzz{zzzzzzyzz{z{{{zz{yzzzzzzzz{{{|{zzzzzzzzz{{zz{|z|z{zzzzz{{{zz{zz{zzzzzzzz{{z{z{{|{z{zzz{{y{{{{||z{zzzz{zz{{{{|z|{{zzzzz|{|{{{{|{{z{zz{zzz{z{|{|{{{{|{z{{{{|{||||{{{z{{zz{|||{||{{{z{z{{{{|||{|{{zz{{y{{z{{{{{|||||{|{z{{{|{{{|{||{{{{z{{z{{{{{{|{z{{{{zz{||{{||{|{{{{{{|{{{{{{||{|{{{{z{z{{||{{{||zz{{zzz{{{{{{{z{{{{z{{zz{{{z{|{{zzzzyz{{z{{{{{|y{zy{zyz{{{z{|{{zzzzzzzz|{|z{{|{{yzzyyz{{z{z{{|{z{z{zzzzzzzzz{z{zzy{zz{zz{{y{{z{{zzzzyzz{z{z{{{{zzzzzzzy{{z{z{{{{zzy{zzzz{|z{{{{zzzzyzyz{z{|{{{z{z{{{zzyz{{z{{{{zzzzzzzyyyzyzz{|{{zxzzyzzzz{{{{{z{zzzzzy{{z{{|{{z{{zzz{y{{{{zz{{{z{{zy{zzy{z{{{{z{zzzzzzz{{{z{{{z{z{{zzzz{z{{z||z{{z{z{z{z{z{{|{{{z{{{{{{{|z{{{{zz{z{{zzz{{{||z|{{{z{{|{{||{{|{|{{z{{zzz|{|{{|||{{zzzzz{{|z}{{||{zz{z{{{z|{|{||{|{z{{yz{{|{||||{{{{{{{{{|{||{||z{z{z|zz{{z{||{|{|zz||{zz{{{||{{||zzz{z{{{{|{z|{{{|{z{z{z{{{|{{{{{zzzz{z{{{{{{|zzzyzzzz{yzz{{|{{{{zzzzzzzz{z{{|{zz{zzzzzzzzz{z{{{zzzyzz{{yz{{z{{zzzzyyyzz{z{zyzzzzz{{{zzzzz{{zzz{{zzzz{zzz{zzz{{{zzzzzyyzzzy{{z{{zz{zzzyz{z{zzzzzzzzzzzzzz{{zz{z{{zyzyzzyz{zzz{{{zy{yzzzyyz{z{{z{z{zy{z{zzz{zz{|zzyzzz{zyz{|zy{{|z{zzzzyz{z{zzz{|zz|zzy{zzzzz{}{{{{{yyzyy{z{{|{{{z{zz{yzy{{{{{{{zzz{z{{yz{{{{{{zz{{zzz{{{{{{z|{|z{{z{{zyz{{||z|{{z|zz{{{z|{{{|{|{{yz}{zzz|{{|{}|{{{z{{{{z||{{{|{|{{|{{{z{{|z||}|||{z{{z{zz|{||{{||zz{{{{{||{{{}{{z{z{|z{{{{{||||||{{{{zz{{|{|||{|{{zyzzzzz|{{{{{{{|zzyzzzy|{|{{{|{zz{zzz{|{{{z{{zzz{z{yzz{z{{{{{zzzzyyyzz{zz{{{|{{{zzzzz{{z{{z{{|zzzyyzyyzz{z{{{{yzzzzzzzz{{z{{{{{yzzz{zzy{zzzz{zzz{zzzyyz{{{z{{z{zzzzzzzzyzzzz{{zyzyz{zyzzzzzz{zzzyyzzyyzz{zz{{{y{{yyzzzz{z{z{{{zzzy{yzyyz{zzzz{zzz{zzzyyzz{z|z{zyzzz{{z|zz{z{{zyyzz{zy{z{{{z||{zz{{zzzz{|zzz{{z{zzzy{zz{{{{{{{{{{zz{zzzz{{{{|{{zzzzzzzz{}{z|{|{z{z{{zz{{{{|{{|{{{{z{z{z{z||z{||z{{z{{y{|{|{|{||z{{{zzzz{{|z||{{|{{zz{{{||{|{||||{|z{{z{{{|{{|{|{{{{{{{{{|{||z|{|z{z{{z{||||{{{{{z{{{{{z{{{{|{||{{{z{{{z{{{z|{{{z{{z|{z{{{{{{|||{z{z{zzz{{{|z{|z{z{zzyz|{{{{{|{{zzz{{z{zz{{{|z||zzyzzzz{{{z{{{{{zzz{{zzzz{{{|{{{zzz{{zy{{z{zzz{{{z{zzzzy{|{{{|z|z{{zz{{zz{{{{{{{{yz{zzzz|{|z{{zzzyyzzzzzz{{{zz|{zzzzyz{z{{{{{{|{z{zzy{zzz|z{{z{|zz{zyz{zz|{{zz{{z{zz{{{z{{{z{z{{{{zy{zzy{|{{z{zz{{{yzz{{{{{{{{{|{{{{{zzy|{zzz{||{y{zzz{{{{z{z{{|{zz|zz{{z{{{{{{{{z{z{{zz{{z|{{|{z{{zzzz{{{|{{{||z{y|z{zz{|{{|||{{zzz{|{{{|{|{{||z{{{{{|{{|{|{|{|{{{{{|{z{|||{{|||z{{{{z{||{{|||{{{{|{|{||~|{||{||{z|{|{{{}|}{{|{|z{{{{|{||||{||{|{z{{{{{{{|{|{||{z{{{z{||||{{||{{{{{{{z{{{{|{{}|{z{{z{{z|{|}{{||z{|z{yyz{}{{|z{{zzyzzzzyzz|z{zz{{zzzzzzzz{{{|{{{zyzz{zyzzzzz{z{{z{zz{{y{{z{{z{zz{zzzyz{{{y|{z{{zz{z{zyyyy|z{{z{z{zzy{zzzz{{z{{{z{zzzyzzzz{zz{{{zzzzzyzzzzz{{z{zz{{zyzzyy{{{{|{|z{z{{zzzy|{z{yz{{{yzzzzzyyz{zz{{zz|z{{zzzz{zz{{{{{yzyz{zz|{{z{|{{zz{{zyzz{z{z|zz{zz{{zzz{{{{{{{|{y{{{{zz{{{{{z{{{zz{{{{{yz{{{{{{zz{zz{yz{z{||z{|{{z{{z{yz{{}z{{{|{{z|{{{z{||||~{|{z|zzzz{{{||{|||zz{z|z{y|{{||||||z{||zzz{|{{|||||{{{{{{z{{{{|}}{|{{z{|{{{{{|{|{|{z{{{zz{|||}|{}{|z{z{{{{|z{{|{|||{{{{{zz{{||{}{||{zz{{z{{|{|{|||{z{z{z{zz{||{{{{{|{zyz{|z|z{{{{{{zzz{z{z{{{z{{||{{zzzzzzz{zz{{{{zzz{{z|z|{zz{{{zzzzzzzyy{{||{{{|zzzzyzyyy{z{{z{{{zzz{zyz{{{zzy|{yyyzyzyz{{{zzzz{{yz{zzzzzy{{z{{{zz{yzyyyzzzzz{{z{zyzyzzzzz{{||{{zz{yzzzzz{zzzz{zzzzz{zzzzzzzz{{{y|zz{yzzz{yzzz{zzz{{zzzyzz{|{|{{{zzzzzzz{{{zz{{{{yz{zyzz|z{{{{||z{{{zz{zz|{{|{{|{zzzzy|{{{{{|{{z{zz{{zz{{{{{{z|{z{zzy{zz{{{|{{{|{{zz{zzz|{|{{{||{{{{|z{z|}{{|{|{zz{{{z{zz{|}|z||{zz{{zzz{||{{||{||z{z{{|{{{|{{{{|z{{{{{z||{{||{{z{{zz{{{|{||{|}{{{y{zzz{{{{{||||{{z{|z{{{{{{||{|{zz{z{{z|{{{{||||{zzz{y{||{|{}|z||{zz{{{|z{{{{z|zzyz{{zzz{{|{z||y{zzyzzz{{zzz{|{{{zyzzzz{{{z{{|{zzzzz{z{zzz|yz{|{z{yyyyyzzz{z{z{{z{zzzzzz|{{zz{{{zzzzzzz{{zzz{z{{zzz{yzyy{{z{{{{zyyzyzzy{{|{{zz{zzzyzz{zzy{zzz{zzy{zyzzz{{{{z{{{{zzzyzzyzz{zy{{{zz{z{yzz{z{zz{{{zzz{z{zz{y{z{{{{z{zzzzy{{{{{{{||zz{zzyzzz{{{||{{zzz{yzz{z|{{{{z{{{{z{zzz{{|{z{{{z{z{yzyz{{{z{z|{{yz{{{zz{{{{{{z{{|{z{||{{{{|||||{z{{|{|{||||||{|{{z{zzzz|||{{{|z{zzz{{z{|||{{{||{{{{{{{{{}{{}|{||z{{z{{{{||{{}|}{z{{{z{z{{{{{}|||{z{{{z{|{z|{{{|{|z|{{z|{||{{{||{zzzz{yz{|{{{{|{|{|{z{zz{z{{{||{{zzyzzzz{{{z{{z{{{{yzyzzz{{|{|{{{zz{zz{z{{{{y|{{z{z{yzzz{z{yz{|{z{z{z{{yz{z{{{z{zyzzzz{yzzz{{{z|zzz{zzyzz{|z{{{z{z{zz{zz{z{zz{{|zzyzzzzyyz{z{{{zzzyzzzyz{{{{{{{{{zzzzyyz{z{{|{|{{{{zzz{zz{zz{{{{zzzzyyyzz{{{{{{|{zzyz{{z{zz{{{zzzzy{z{zy{{{{{|{{zz{{zzyzz{{{z|{|{{{z{z{{|z{||z{|z{z{{{zz{{zzz{|{{{|{{zy{z|{{{|{{{zzz{zzz|z|{{|{{zz{{{zzz{{{{{||{{{{{{{{{{z|||||{{{z{{{{{{|z}{{|}{z{{z{{z|{|{|||||{zz{{z{||z{{|||{{{{{{{{{|{{}|||{{|{{|{{{}{{|{}|{{{{z|{{||{|{{|{{{{{{z{{|{|{||{||{z{{z{{{|}{{{||{|{z{{{{|||{|{||z{{z{zz{{|||{{|{zzzzzyz{z|{{{{zz{zzzzyz{{z{zzz{{{yyz{zzzzyz|z|{|z{y{zzzz{{zz{{{{{{z{{z{{z{{{z{{{{{zzzyzz{yz{{{|zzzzzzy{yz{{zzz{zz{zzzzyy{{{zz|yzz{zzz{yzyzzzy{{{zy{zzyzzzzz{z{zzzy|zzzxzz{{{|{|{z{{zyzzz{{{{z{|yzzzz{z{z{{zz||{{z{zzz{zz{zz{z{{{{zzz{zzz{{{|{|||{{{zz{zz{{zz{|{|{z|{yz{zzz{{{{{|z{zzyzz{{{{{zz|{zzz{{zzzz||||{{{{zz{{{{{{{{{{{{{|{{{{z{yz{{zz{{{{{{{{{z{{||{{{{{|z{{{{z{|zz}z||||{z{{{y{{|||z||{{z{{{{{z|{|{{{{|{{{{|{{{{|{||{|{|{{{{|y{{}|||||{|z{|{z|{{||{|}||{{z{{z{{{{|{||{|{zzz{z{{{{|{||||{{{zz{z{{{{{{|||{{{zz{|{{|{{{{{{|{{z{{{z{{{|z|y{yzyyyx{zzz|zz{|{{yzz{zyzz{{{z{z{{yzyzyzz{zzz{{{z{{zzzzz{zz{{z{z{{z{zz{zz{z{{z{z{zzzzzyzzz{{zy{{z{yzzzzyy{z{zyz{zyyzy{zyyz{z{{{{{zyyyzzyyz|{zz{{z{zyyyyzzz{zzzz{zzz{zz{zz{zz{zz|{z{{zzzzyzzz{z{{{{zzz{yzzzy{zz{{z{z{z{zzzz{y{{{{{{zz{zzzyz{|{zz{|zz{zzzzzz|{{||{{yz{z{zzzz{{{zz{z{y{zzy{zz{||{{{zzzzz{{{z{z|{{z||{yz{{zz{{{{{z{|{{|{zzz{zzz{||{||{{zzyz|z|{{{{|{|{{|{{zzy{{{|{{{||{z{{{{{{||{|{{{{z{{{|{{{|z{{||{|{z{z{{{z{{||{|z|{{{{z|{{{||{|{{{zzz{zz{|z{{||||{{z{{z{z{{{||{{|{zzz{{zzz{{{{||{{{{{z{z{{{{{{{||y{zzzz{{z|{{{{{{zzzzyzzzzzzzzzy{{zzzzyy{{z{{{{{{{{zyyzzz{z{zz{{zzzz{zyyz{{{{z{|{z{zzyz{zzz{zz{z{{zzyzyyyz{z{y{{{{yzyz{zzzz{zzzzz{zzzyzzzzz{{{z|zzyzzzyzyzzz{{{{z{yzzyyyz{{{z{{zzzzz{yyzzyzy{{{{zzxyx{zyzzzyzzzz{zzzz{yyyzz{z|z{{zzzzz{yy{{{{{z{zzzzyzzz{z{{{{{z{zyz{yzzy{zz{{|{|zz{{yzzz{zzzz{{{{z{{{z{z{{z{|{||{z|zzzzz{z||{{z|{zzzzyz{|z|{{|z{{zzz{z{z{{||{||{{{{z{z{z{{{|{|||zzz{{z{z{{|{{z|{{{{zzz{{{|||{z||{z{{z{{|z{|{z|z{|z{{zz{z{|{{|||{|z{zzz{{{{{{{{|{{z{{z{zz{{{{|}|{{zz{{z{z{{|{{{|{{z{zz{z{{z{{{{||{{{{y{{{{{z|{|{z{z|{zz{z{{{z{{{zzzyzzzyz|{zz{{{z{|z{{zzyz{{{{{z{z{zyzzzz{|z{{{z{zyzzzyz{z{{{z{{z{{zyzy{z{{{{zz{{{yyzzzzzzyzz{|{{zz{zyzy{{{|zz|z{z{zzyzzyzzzzz{{{{zzzzzzzzz{{{{{z{yzzzzz{zz{zz{z{{zzzzyzzz{zz{{{|zyzzzzzyz{{z{{{|y{zzzyyz{zyz{|{{zzzyzzyyz|{{z{z{{zzyzz{y{{|z|{{{{{z{zy{zz{{{z{{{zz{yz{zzzyz{|{{{{yzzzz{y{|{{z{|{z{zz{{{z{z{{{z{zzz{{zy{{{{{|z|{||{zz{{z{{{|{{{||zzzzz{zz{{|||||||z|{zzzzz{{|{|||{{{z{{z{{|}|{{{|{{{{zzzz||{{|{{{|{{{zz{{{{||{|z||{|z{{z{z{{{{{{|{z{z{{{{{||{|{|{{{yz{{yz{{|}{|{|z{zy{{zz{{|{{{{{{{{z{{|z{{|{||||{y{{{yzzz{{{{{{{{{{zyyzzy{{z|{{{{z{z{zzz|{z{{{{|{z{yzzzz{{{{{{|{{zz{z{zzz|{{z{|{zz{z{z{y{zz{{|{{zyzz{z{yzz{z{{{{zzz{yyyz{y|z{{{{zz{zyzzz{z{|{zz{zzzzz{zzz{{z{{{{y||zyzyz{{{{|{|{zz{zz{zzz{|{z{||zzz{{yyyy{z{zz{z{z{y{zzzz{zz{{{{{zzz{{zyzzz{{{|z{zz{zyzz{{||zz{{{zzzzzzz{{z{||z{{z{zz{z{|{|{{|{||{{zz{{{|{{{{{||{z{z{z{z{{|||{|z|z{{{zzz{|z||{|{z{{z{{z{z|{|||{|z{{zz{|{{{{}|||{{{z{{zz|{{|{{{||}z{{{z{{||{||{||{|{{{{|{{{|||{|{}{{{{{z{{||{{{|||y{{{{z{|{|{|||{{{{{|{z{|{|||{{{{{{{{{z{||||||||{z{|zz{z{|{{{}{{|{z{z{{z{{{{{{{{{zzzy{{z{{{{{{{{z{zzzz{y{|{{{zz{z{zz{zyzzz{z{{z{{zzzz{z|z{{z{z{{zzy{yzz{{{{{{z{{{zzyzz{z{z{{zzz||z{{zyzz{{{zz{{zzz{yzzzzzy{{zz{{zyz{z{zzzzzzz{{{zzzz{zyzz{{zzz{zzzzzz{yzz{|{{z{{z|{zzzzzz||{|z{{zzz{zzzyy{zzzzzzzzyzzz{zz{zz{z{|{zz{{zzz{{{{{{{{{zzzzzz{{|z{{{{{zy{|{zzz|z{|{zz|{{{{zzz{{{{{{|{|{z{{{yzyz{zzz{{{{{zzzz{z|{||{{{{{z{zz{{{{|||{{||{{z{{{zz{{|{{{||z{{{|{|{|{{{{||||z|{z{z{||||{{{|{z{{{{{{|}{|||||||{|{|{{z{|{{|||{z{z{z{{|}{{{|}||{{{{{{z{{||||{||{{{|zy{{||z|{{{|{{{|{{{{{{{{{||{{{{z{z{{{{{{{{{|{{zz|{{{{{{{{{{{z{z{zzz{{|zzz{|zyzyzzzz{zz{zz{{zz{{zzzzz{{{{{z{{zzz{{zz{y|z}z{{zzzzzzzzz{{|{zz|{{yyyzzy{zzzz{{|yz{zx{zz{{z{z{{z{z{zzzzzz{{zz{{z{zzzyzzzzzzzzz{{zzzzzy{zzzzz{{{z{zzzyz{zzzz{{{{{zz{zyz{{z{|z{|{{{y{zzz{zz{z{{{{z{{zzzzz{zzz|zz{{{z{zzzyzzz{{{{{|zzzzzz{zzz{z{{{{{{zzzz{{{z{{{{{{{zz{{{{{{{z{{z|{zz{{{y{yz}||zz{{{{zz{{z{{z{{{|{{{|yzzy{{|{z{{|{{z{z{{z{{{{||||}{{{{{z{{{{|{|||||{{{z{z{zz}{||{|{{{zz|{z|{{{{|{||{{z{z{{{|{{{{|{{|{{{{{zz{|{||{{}{{{|{{{{{|{|||{||zz{{{z{|z{|{{||{zz|{{zz{|{{||||{{{z|z{{{{||{}||{z|{{{zy{{{{|{z{{zzzzyyz|{{{{{{{z{zzzzzz{zz{z{z{{zzzzzyz{zzz{{{{zzzzzzyz{{{z|{|{{z{zzzzz{y|zxz||z{zzzyzz{{{{{{{z{z{zzyzzzz{{z{{{z|zzzyzz{{{z{{zzzz{y{z{{{zzzzzzzy{yyzyyy{zzzzz{{z{zzzzxzzz{z|zzz{yzzyzyz{z{{{{{{zy{z{xyyzzzz{z{{{zzzzyzyz{zz{z{{zzzyzzzyz{zz{{{z{zzz{yzzz{z{{{z{{zzzz{{{{zz{||{{zz{{z{{z{{{{{{{{z{{zzzyy{{|{zzzz{zzzzzzz{{{|{|{{z{{{{{{z|{z{{{||{zzz{z{z|{|{||{{z|{{{{|z{{{||||{{{{{|{z{{{|{{||{{z{{{{zz{{z{{||}z{{{{{{{{{|z{{|{|{{zz|{zz}{z{{{{{z{z{{z{{z||{|}{{zz{{{z{{{||{|||{{y{|z{{|{|{{z{|{z{zz{{{{{{{{{|{{{{zz{{zz{{{z{{z{z{{zzz{{{{z{{{z{zzz{z{z|{zz{z{|{zzzzzzz{z{{z{|{zz{zz{zz{z|z{z|{zz{{{zyzz{|{{{zz|zz{yyzzy{{{z{{zzyzzzz{yz{y{z{z{{{yzz{zzyz{zzzzz{zzzzzzy{y{zzz{zy{zzyzzz{{{{{z{zzzyzyzzy{z{y{{zzy{zzyyz{z|{{zz{{{zzzzzzyz{y{z{|{zz{yzzzzzzyz{zz{zy{{z{zzz{z{{z{{{{z{{zzzz{{{zz{{|zzzz{zyz{{z{{{{zzzz{zzzzz{{{{||{z{{{z{{{z{{{{{{{z{zyzzx{z|z{{|{zzz{{{z{{{{{{{{{{zz{zz{|{{||{{{{z{{{{z|{{{{{{{}|{{z{zz{{{||}{{{|{z{z{{{{||{|||||{{{|z{|{{{||{|||{{|{{{z{{{|||{|||z{{z{z|{{z{{{{{{z{{{|{z{{{{|{{|{{{{zz{{z{|{{{}|{z{{{z{{{|z|{|||{{yzzz{z{|{|{{{{{z{{zyzz{{{{{|{{{zyzyzyyz{z{{{{{yyzzzzzzz{{{z{{{{zyzyzzy{z{z{z|{{zzzzy{zz{{zyz|z{zzz{zzyzz{{y{z{zyzxyzzz{{{{|{z{zzzxyyz{zzzz{{{zzz{{zzyz{zz{z{{{zzzyzzzx{zz{y{{{zzzzzzyy{{{zz{zz{zzyzzyzzzzzzz{zz{y{{zzzzzzzz|z{{zzzzyyz{{{yzz{|zzyzzzzzzzz{z{{zz{y{zzzz{zzzzzz{{zzzzyz{{zz|{{{{z{zzz{{{{{{{y{{{{zzz{zz{{|z{{{|{zzz{zzzz{|{{{z{{zz{z{y{{{{{{z{{{|{zz{z{{|{||{zz{{{{{{{z{{{{||{||{{z{{{zz|{{||{{||z{{{{|z{{{z||z{{{{z{||{{{{{|||{{{z{{{{{{{{{{||{|z{{z|{|{|{{{|{|{{z{{{z{{|{|{{{|{{z{z{z{{|{{{z|||{{z{z|{z{||{{|{|zz{yzzzz|z{|{|{z{zzzzz{{z{{|zz{{zz{zz{zzz{zz{z{{zzzyyzy{yz{zz{{{zzzzzzzz{z|zz|{|zzzzyzzz{|zz{z{zzzyyyzyzzzz{|z{{zzyyzyzz{{z{{{yzzzzyyyy{z{y{z{zzzzzy{yz{zyzz{{zzzzzzzzzyz{{{zzz{yzzzyzzzz{{{{zz{{zyyzzzzz{zzz|{zzzyyzzzyz{yz{{{zyzyy{zzz{zzz{zzzzzz{zzyzz{zzz{zzyz{zzz{z||zzz|{z{{yzzzz{z{z|{||zzz{yz{{z{{z{|{zzz{zzy{zz}z{z{||{yzzzzzz{||{zz{zzzzzz{yz{{{{{{{{{zzzzz{{{{z{||{|z{zy{z{{{z||{|{|{y{zzzz{{||{{|{|{yz{{{z{{{{{|{{|{{{{|{z{z{||{{{{{zzzz{{{{||{{|||{{|{{z{z{{z{{z{|{zz{z{zz{{{{{{||{{z{{{zz|{{|{|||{{zzz{zz{{z{{{{{{z{{zzzz{z{{z{{{{{zzzzz{z{z{z|{zy{zyzyzyzz|z{{{{zzzzzyzyz{{{|{z{zz{yzzzzzzz{{{{zz{{{yzy{zzz{zz{z{zzyyyzzyz{|zz{{zzyy{yzzy{zzz{z{zzzyyzz{zz{zz{z{zzzyzzyyzzz{z|yzyzyyyyyzz{z{{y{z{zzzyzyz{yzz{z{{zzz{yyyzyzzzz{{z{zzzzzzyzzz{z{{zzzyzyzyyyzzyz{{{zzz{zzzyz{zzz{|{yzz{{zzzzz{z{{{|zz{zzzzzzzz{{{{|{zzyzzzz{y{{{z{z{{zzy{{z{{z{{z{zzy{zyzzz{|{z{z|{zzzzyyzz{{{z{{z{zzzzzz{{{{|||{{zzzzz{{z{{{{{{{{||y{zzz{{{||{{{{{{zzz{{zz}}{z{}|{zz{{{{{zz{{{{|{|{{z{z{zz{{{{{{|||{{{z{{z||{|||{{|zzzzzzzz|{z{|{|z{{{|{{{{zz|{{||z{zz{{{z{|{{{{{|{{zz{zzz{{{{zz{|zzzyzz{y{{{{zz{zzyzzz{{z|{{zz{{{|zzyzzzzz|{{{{{|z{zzzyzz{{zzz{{z{y{z{{zz{z{{zzz{yyzzz{{yz{zz{{|{{{zzz{zy{{{yz{{z{{yzzzzyzz{z{{y{{zzyzzzzzz{zz{z{zzz{zy{yzz{z{|{z{zzzzzzz{zz{|z{z{zzyyzzzz{{|{{{{zzzzzyy{zyzz{z{{zzy{zzzzz{zzz{{|zyzy{zzyy{{zz{|{zyzz{zyyzz{{{zz{{z{z{zz{{zzzz{{{zz{z{{zz{{|z||zz{z{z{{zz{{z|z{zzz{z{z{y{{{{{{{|{zz{{zzz{{{{z{|{zzyz{{{y{{{{{|||{zz{z{{zz||{{|{{|{z{{{{zz|{{{|{|{{{z{{{{z{{{{{|{|{z{{zz|{{{{{{{|{{z{{{{zz||{{|}||{{{{{z{||{||{|{{{{zz{{z{z{z{|{||{{z{z{{z|||{{|{|{{{{zz{{z{{{{{{{zzzzzz{zz|{{z{|{{zzzyz{{{{{z{{{zzyzzz{yy{|zz{{{{{{yy{yzzz{|z{{{{zzzzz{z{{z{{{{{{zzzzzyy{{{z{z{{{{z|zyzyzzz{{{{zz{z{zzzzyzz{{{{|zzz{zy{zzzzzz{{z{zyzzzyzzyzzzzzz{zyzyzzzzzz{z{{{zzyzzzyzzzzz{{z{z{y{zyzyzzzz|{|{{{zzzzzzyzz{z{{{{zzzzzzzzy{{y{z{{{zzzyz{z{{z{z{|{{yzz{{{zz{{{{z{|zz{zzzz{{{zz{zz|zz{zzzzzz{|{{|{{z{{{{zzzz|z{|z{{{{{{z{{{{z|{{{|{{zz{{z{{{{{{{||{z{zz{{{{{|{{{||{{{{y{z{z{|{z{{|{|zz{{z{z{{{|{||{{z{z{{{{{||{|{}|{{zz{{{{{{{{|{z{{{{{{z{{{{|{|{|}{zz{{{{{{{||{|{|{zzzzz{{||{{|{|||{{{{{z{||{|{{{|{{{{z{{z{{{{{{|{|{z{{{zz{|{{{|{{zy{{zzzz{{{{{zz{{zyy{{zzz{{zz{{|z{zzzyz{z{{{{||{zz{zzzzzzz{{|{|{z{zz{yzz{{{{z{{z{zzzzzzyz{{{z{|{zzzy{z{yz{{{{{|zzz{z{yzyz|{zz{{{zz{zyzzzzzz{z{{zyy{zy{zyzzzzzz{{zy{zyzz{zz{z{|||{zyzzzyzzz{z{{{{{{zz{z{yz{zz{zz{{zzzzzyzzzzz{{{z{{{{z{|y{{{{{|{|{zzzz{zzz{{|z{{{{z{z{yz{{z{{|{{|zy{zzzzzz{{{{{{zz{{{{{yz{z{|{{|{zzzz{zy{{{|{{{||{{{{{z{z{|{{{{{{|z{z{z|z{{{{|{||{{{{{{z{}{|{{|{|{{z{{zz{{{|{|{|z{{{z{{|{{||{{{|}{z|{z{|{{{||{||{||{{||{z{}{|{|}{{{{{{{{{{{{|||{|{{{{{{{|{|{|||}{{{|{|{zz{{{|||||{z{{{zzz{|{{{{||{z{z{{z{{{{|{{|{zz|{{y{{|{{{||{{zzzz{zzz{||{z{z|{{{zzyzz{z{{{z{{{zzzyz{z{zz{{{{{{{zyzyy{z{{{{{{{zzzzyyzz|{{z{{{|{zzzyyzzzz{zy{{z{y{zzzyz{{{z{zzzzyzzyzzzzzz{z|{{z{zyyzyz{{{{z{{{zzzyzyyzzzz{{z{{zzzzyyzzzzz{zzz|{zzz{yz{z{{zzzz{zzyzz{{zy{zzz{{{z{zzz{zzy{z|{{{zzz{{zz{z{z{{{{{|zyz{zzzz{{z{{{||yzzz{z{{{z{z{zzz{z{zz{zzz|z{|{{{{{{yz{zzz{{{{|{{{|{{zzyzz{{z{{|{{{zz{{zz{|{{|{||z{zz{{{{{{{|||{|z{{{{zz{|z{|||||{z{{{{z|{|{||||||{{{zz|zz{{{|{||{z{{|{{z{{{|z|{{{{{z{{{{|{{{z||{{z{z{z{z{{||{{||{z{|{{{{{{{}z{|{{{{z{{z{z|{|z|||{{{{{z{z{|{{|{{|zz{zzz{{|{z||{|{zzz{zyzz{{|z{z{{zzzzzyyzzzyz{{|zzzzzzzzzzzzzz{{{zzz{zyyzz{{{zz{{zyzyyzyy{zzzzzz|zyzyy{yyy{z{{{{{zyyyzzyzz{{{z{zz{zyzzzzyz{zz{{z{zzyzyzyz{{{zzz{{zz{zyzyzzz{|zzzyzzz{zyzzz{z|zz{{zzzz{yzzyz{z{z{{{zyzzzyzzzzzz{z{{{zzz{zyyzz{{z{z{{yzzyzz{z{z{z{{zzzzyyzyz{z||{{{{{zzzzzzz{{{{{{{{{zz{z{z{{|{{{{{zzzzzzzz{{{|{{{zzzz{z{z{|{{{{{{{{{{zz{{zz{{|z{{{{|{zzz|{{|{|z{|{z{z{z{zz{|z{|||{{zz{{z{{|{{{||||{|z{z{z{|{{z{{|{|{{{{z{{z|z|{{||{y{|z{zz|z{{{{|||{{zz{{{{{{{{z{|zz{zz{zz|{{{{{|{{z{z{z{{z{z{{{|{|zzz{{{zzz{|{{{{z{z{{zyz{z|{z{zzzzyyzyyyzz{zzzz{{{z{yzyy{{yz{{z{{zzzzzzy{{{z{{{zzz{zyzzz{zzz{{{{z{zzyz{xz{{{z{z{zzzyzzyyzzz{z{{zz{zzyzyyzz{zyz{{{y{yzyzyzyzzzzzzzyyyzyzzzzyzyzzzzy{yzyzz{zz{zz{zzzzzyzzzy{zzzz{zzyyzzyzz{z{{zzz{z{zyzzyyzzzzzz{zzyzy{zzz{{z{z{z{{y{zzyzzzzzz{zzzzz{zzz{{{z{{{{z|z{yz{yz{z{{z{{{{{zz{z{{yzzz|{{|z{{{{zzzz{{z{{{{{{yzz{{zz{{{{{|z{zz{{zz{{{{{||||zzzyzz{z{{|z{{{{{{z{{{zzz{{z{{{{z{{{{zz{z{|{|{{||{{|{z{{z{{{{|{|{{z|{z{|{z}{{{{{||{z{zz{z{{|z|{{{{z{{{{yzzzz{{|}|z{zzz{{{|{{{{{||{{zzz{zz{{{{{{||{z{{z{zz{{{{zy{{{zzyzzzz{z{{yzzz{zzyzzyyz{{yz{z{zyyzzzzz{{zz{zz{{zzzzyy{zyzz{{z{zz{zzyzz{zzzzz{{{zzzyzzzzy{{zz{{zyyzzyzyzz{zyz|{zzyzyzzyzz{{yzzz{zzyxzzyyyzy||{{yzyz{zyyzz{{z{zzzzzyzzz{zz{zz{{yyzzzyzyz{zzz{{{{zyzzzyzzzz{{z{z{{{zyzzyyzzzzy{zzzyzyzz{z{{z{{z{zzz{z{z{{zz{zzz{zzz{{zzzzz{zz{zz|{z{zyyzz{z{z{{{|{yzzzzzz{|||zzyz{zyzz{zzz{z{{z{y{yzz{z{yz{{{z{{{zz{{{z{z{{|{{|{z{{zz{zz{{|||z{||{{{{{y{zz|{{{{|{{{zzz{{z{{{{{{{|{{z{{{{z|||z||{||{{z{zzz{}{||{{||zzz{z{{|{{{}}|{{yzz{zz{|{{|zzz||{z{{z{{||{||z{{z{|{{z{zz{|{{{|{|z{yzzzzz|{|{{{|zz{zy{zzz{{z{zz{zzyyyzyzzzz{z{{z{yz{yxzyyz{zyzzz{yzyy{zz{{zzzz{{yyzz{yzz{z{zyzzzzzyxyyyz{zzxzz{zzyzyyyxyyzzyzz{zzyyyyxyyzz{yzz{{yzyzyzzzzy{{z{{{zzyyyzyyyzzzy{{zyyzyxyyzyz{y{{{{zyyzyyyyzzzz{{zzzyyzyyyyzzzzz{{{yzyy{y{yyzzyzz{{zzzzzxyyz{{yz{{{{zyzzzyzzz{{yzz{zzyzzzzzz{zzz{z{zyzzyzzzz{z{{{{zz{zzzzzz{{z{z{z{zzzzzzzzz{{z{z{yzzzxzzzz{yz{z{zz{zz{{z{zz{{|{{{zz{z{zyz{{|z{z{|{{{yzzzyz{|{{{{{z{zy{{zzz|{{{{z|{{z{z{{{{{{{{{{{{}{zz{zzzz{y{z{{|{zzzzzz{zzz{z{z{{{z{zzz{{{{zz||{|{z{z{zz{z{{{{{|z{zzz{zz{{|zz{|{z{zz{zzyz{{{|{z{zzzzz{zyz{{{{{{zzzyxz{zxy{zzzz{zzzzzyyyzz{zz{{{|zzzxzzzyzz{zzzz{yyzzzyzzz{zz{{z|yzzzyyyxzzzzzzz{xyzyzzzzy{yzzz{yzzyxyyzxzzzzzzyz{zzzzzxyyyzzzyzzzyyyyyyyzz{{zyzzzyyzxzyzzzz{{zzzzyzyxyyyzyzzzzzzzxzyyyzyy{zz{zzzzyyyzyzyyzy{z{zzyzzzz{yy{{zzy{z{zzyzzz{zzzzzzzy{{{zyzzzzz{{zz|{{{yzzzyzzz{{z{{{{zzyzzyz{zz{{|zz{{zz{zzzz{z{zz{{z{yzzzzzz{{zz{{{{zzzzzzz{{|{{||{{yz{{{zzzz{{{{zz|{{zyzz{z{{|z{{z{{zzz{zzz|||{z{{{|zz{z{z{z{z{z{{{|z{|zz{zz|{zz{{{zzz|zz{{|z{{{{|{{zzz{zzz{z{|{{|{z{zyz{{zz|{{{{{{zzzyyzzz|{y{z{{{|yz{{zzzy{{z{z{{z{zyyzzx{{zz{zzzzyzzzyyzy{zzzz{{zyyyzyzxzzzz{{z{zyzyyzzzyzzzz{zzyzzyyzyzzzz{{z{z{yyyyy{yzzzzz{zz{zyzzyzzyzyzz{{{z{yyzzyyz{zyzzzzzzzzyyyy{zzzzzy{zyyz{yyz{yzzz{{yyzyzyzzzzzzy|z{{yzzyyyyzz{{zz{{{zzzyyyzyyyzyz{{z{zyyzyzyzzyzz{{zzzzzyzyzzyzzzzz{zyzyzzzyz{zzz{{|zzzyzyz{{z{zzzzz{zzzyzyyz{zzzz{{zzzzyyyyzzz{zzz{zyzzzzzyzz{zz{|zzzyz{zzy{||zz{{{y{zyzy{zzz{{z||zzz{z{zz{z{{{z{{{z{zz{{yzz{z{{{{{{zzzzzzz{|{|{||{{z{zy{{{{zz{{{|z|y{z{z{{z{{{{{{{{{z{zz{{{|}z{{z|zzzyzzz{{{{z{{{|{z{{z{{zz{{z{{{{{{{{zyz{z{{zz{{|{{z{{zzz{{zzzzzzzyzzzy{zzzzz{{zzzzyz{zyy{zz{z{{{z{{yzyyyzzzz{{z{{zyzzzzy{zzz{{{zzzzzyyxyzz|z{z{z{zzyyzzyzz{z{{zz{{zy{zzyz{{z{{z{zyzzzzyzzzzyz|{z{{zzzyzzz{{zzzz{yyzzzyzxzyz{zz{zzyzzxzzzz{zzz{{{zzzzzyzzy{y{y{{{z{zyyxzyyzzzz{zz{zzzzzzy{|zzz{{z{zy{zzzzz{{{z{{{zzzzzzzy{{z{zz{{{y{zzzzz{{zz{{{{yyzzzzzz{zzz{z{{{yzzzyzz{y|{{{zz{yzzz{{{{z{z{{|z{zz{{zyz|{z{{z{zz{{zzzzzz{||{||{zz{z{z{{{{z|{{{|zzz{zzzz{{|{{{{{{z{z{zz{{|{{{{{{{z{{y{{{{|||{|{{{{{z{{{{{|{{{|}{{z{|z{{{{{{{{{{{zzzy{zzz{{z{{{|}{{z{{{yz{||{{{{|zzzzzzzyz{{{{z||{zzz{zz{{zzz{{{zzz{zzzyzz|{y{zzzyz{yzyzz{{z{{z{zzzzzzy{yzzzz{z|{zzyzzzyz{{zzz{|{yyyz{xzzz{{{z{{zzz{yzyyzyzzz{z{{zy{yyyzy{zz{z{zzzzyzyzzzzzyzz{zzzzyzzzyzzyzzy{zzzyzyzzxyyz{zz{zz{{zy{zxzzzzz{{{{yzzzyz{zzyzzz{z{yyzz{yzyzzzzzz{zz{zyyzzzzzzz{{z{{yz{zzzyyzz{z{{zzyzz{y{yzz{zz{|{yzzzyyzzz{z{{{{{zy{zzyzyz{zz{{{{{yz{z{zzz{z{z{z{z{{zzz{zzz{{{zzz{zz{zzzzz{z{z{zz{{zzz{z{z{|{|{{{{z{{{{{z{|{{{|{{{zz{zyzzz{{{{|{{{{zzz{{z|{{{{||zzz{{y{{{z{|{{{|||z{zz{{{{|}|{{{{{{|{{{zz{{{|||{z{zzz{z{z{z{{z|{{{{zzzyz{|z{{{z||z{{{{zyyzy{z{}{{{zz{zzzz{{z{zz{{{zzzz{zzzzz{{z{zz{yyzzyz{zzy{{z|{zzzzyzzzzzzzyz{zzzzzzzyz{z{z{{{zyzzyyyyzzyzzz{|zz{yyyzyz{z{z{{zyyyyyyzyzyyzzz{{zyzzzyzyzy{zy{zzyzzzxzzyzzzzyzyz{zyzzyyzy{zyzyzzzyyyzzxyzz{y{zz{zy{zyyzy{zy{y{zzyyzz{zzxyzzzzzz{zzyzyzzzzz{zy|{zzyzzzzzzzz{zz{{{zzzzzzyyz{zz{{{{z{zzyyy{zz{{zz{zyyyy{yzyz{zz{zz{{zzzyyzzz{z{zz{zz{yy{zyzz{{{y{{z{z{zzzyz{zz{z{||zzzz{{yyz{{|{{|{yzzz{zz{z{{{zz{{zzzzzzzy{{zz|{{{z{zzzzzz{||{{|{{zzz{{{{{zzz{{{{{{{{zy{zz{|z{{|{|zz{z{z{z{{|{{{z{zzzz{{z{{{{z||{{{{z{z{z{{z{|{{{{zzzzzzz{z{{zz{|{|zzyzz{yzz|z{z{zzz{yyzzz{z{zzz{{zzzzzxxzzzzzzz{{{zyyzyxzz{zzz|{zzy{zzyyyz{z{z{{zzzyzyyyzyy{{{z{{{{xzzzyyzzzz{zy}zyzzzyyzz{zzz{{zzyzzzyyzzz{zzz{{{yz{yzyy{zz{z{{{zyyyzyyyzz{zyz{{yxyzyzyzzzz{{{{zzzzzyzzyy{z{zzzz{yz{zyzyzzzzzzzzzyzzzzzyzzzzz{{{zzzyz{zzzzz{{{{{zyzzzzzzzzzzzzy{zyz{{zz{zz{zz{{{zzz{z{zy{{{zzz|{{z{{zzzzz{{z{{{{{yz{zz{z{{z{{z{|y{z{zzzz{|{z{{|z{z{z{zz{z{{||{{|z{{zzz{z{|z{{{||{zzzz{zy{{{{zz|{{{zzzzyz{|{{{|{|{{zz{{{{z{{{|||{zzy{z{z{|{|zz{z|{{z{{zz{{{||{{{{{z{{{zy{{{{{{{{|{z{{{{|{|{{{{{|{z{{{zzzz{|{{{{}{{{yzzzzz{{{{|{{{zzzzzyyzzz{z{{zzz{yzyzzyz{zyzzz{{{yyyzzzzz{{zz{zzyzzz{zzzy{y{{zz{yzyyzzz{{zzzzz{{zzzzzzy{zzzzzz{zyzzyzzzz{zzzzzzzzzyzzyzzzzzzzz{zyzzyzzyzzzzz{{zyzyy{zyzzzzyzzz{{zyzzzxyzz{zzz{zzzzzyzyzzzzz{z{{zyzzzyxy{zzzz{z{{zzyzzzyz{{{z{{z{z{zyzyyzzz{{{{{zzzzyyyyz{{z{{z{yzzzyzzz{{{{{{z{yzzz{zy{zzz{{{|{zyzz{zzyz{z{zz{{{y{zyzz{{z{zz{{|zzzz{yzyz{z|y{{{{z{zzz{z|z{||{{{y{z{{zzz{{{|{{|}{zzzzzzzzz{{{{{{{z{{z{zy{||||{{||{{z{{{{|{|z|{{|{{{{{{zz{|{||{|||{{z{zz{{{{{|{|{zz{z{{z{{{{{{|{{{{{{{z{{|z{{{|{|z{{{z{z{{{{{{}|{{{yzzzzz{||{{{{{zz{zzzzz{{{zzzzzz{zyyyyzy{|z{z{{yzzyyyyz{zzzz{{{{zy{zzzzzzy{{zzzzyzzzzzyy{{zyy{{y{yzyxzz{y{yzyzzzyzzzyyzzyzzyzzxyyzxyyyzzzzzzzzzyzzyxyyzzyyzz{zzzyyzyyyzyz{z{z{|{zzyzzyzzzz{{z{{zyzzyyyzyyzzzz{z{zzyyzzyyzzyz{{zzyzyyyzyyzzyz{{zzyzzy{zz{zz}z{{{zzzyzyzyy{yyzzzzzzzyzyzy{zz{zyzzzzzzyyyz{{{zz{{{zzz{zy{zzzz{zzz{zyzzyzzzz{zzzz{{{yzyzzzy{y{yz{{{z{{zy{{y{{{{|{{z{{z{z{z{{zzz{{{{{zzz{yzzz|{{{{{{{y{z{zz{z{z{{{|{zzyyyzz{z{z||{{{{{{{zzz{{|{{{{{{|z{zzyz{z{z||{||{zz{zy{{y{{{{|z{{{zzz{zz{zz{{{{{{zzzyzzyz{z{{{{{z{zyzzzy{z{z{{zzzzz{zzyzz{z{z{zyyyzxyyzzz{{y{{yzyzzyyzyz{zyy{{{{zzyyyyy{z{{{zzzzzzzyzzzyzzzzz{z{yzzyzzzzzzzzyzzzzzzzzzzyyzzyy{zzzyzzyyzyyz{yz{{zyzzyyzzyzzz{{zz{yzyyyyzyyzyz{z{{zzzyyyzzzz{zzz{zyyyzzyzzyzzzzz{{zyyyzyyzz{zyyzzz{zyyzyzyxzzzz{zzzyzyzyzyzyzzzyz{{yyzzzz{zzzzyzz{z{zzyy{{zzy{{z|{yyzzzyyy{z{zz{|{zzzz{zzyzzz{{|{{{zzzzzzzzz{{{|{{zzzzzzzzz{|z{z{zz{zzzzzz{|{{{|{{zz{zzz{y|{{{{{||{{zzz{{y|{|z{{|{{zyz|{z{{{{{{|{zzzzyz{{z{{{{{||{|{y{{yzz{|{{z||z{{{z{zz{{{z{|{|z{zzzzzz{z{|{z{{{z{z{{z{{{{z|{|{|z{zy{z{z{{{{zz{|{{z{{z{z{{{{{{z{zyzz{yzy{{zzz|z{zx{yyzzyyzzzzzz{yzzzyyyzzzyy{{z{zzzxyyzyzzzz{z{{yzyzyzzyz{{z{yz{z{zzyzzyzzz{zz{|zyzzzyzy{zzyyzzz{zyyzyyyzzyyy{zzyzyyyyyyzzzzzzzzyyyyz{yyzzzz{{y{yzzyyzz{z{zz{zzzzzzyyzyyzzzzyz{{zyzyzzzyz{zz{{{{zyyyyyyzyy{yz|z{zzzyyyzzzzzyzzzzzyzzzyzyzzzyy|{zzy{zzzyyzyz{zz{zyz{zzzzz{zz{z{z{zyzz{yz{z{z{z|{{zzzzzzzz{z{{{{{z{yzzyzzyz{zzz{{{|z{{zzz{|z{|{|{{zzz{{zz{{z{z{{{z{{yz{{yz{{{{z|{{|zzzzzzz{{{|{{|{zzzz{z{{|{{{{{{{{zzz{{{zz{{z{|{{{z{{zzz{{{{{{{{{{z{{{zzz{{z{{{|z{zzz{zzz{z{{{|z|{zzyzzzz{{{{z{{{{{z{yzzzz{z{{{|{zzzzyzyz{z|zzz{{z{zzzyyzy{zyz{{zzzzyzyzyyz{zzzzzzzzyyyzyzzzz{zzz{yzzz{zyzy{{z{{{zyzzyzz{yzzzz{y{zyzzyyzyyzzzzzzzzyzyzzxyyzzzzzzyzzyzzyyyzyzzzzyzxyyzyzyz{zz{zz{yzzzyxyyyy{{zzyzzyzzyyzzyyzzzzzz{yyzy{y{yyzzz{zzzzzzyyzyyyzzyz{zzyzzzzyyzzyzz{zzzzzzyyyyzzzzz{z{|zyzyzy{zzzzz{{{{zzzzzzzyz{{{z{{{yxzzzzzyz{z{{||{zzzzzzzzzz|{zz}zzzyyyzyz{{{zzz{{{z{z{zzyzz{{z{{zz{{y{zzz{{z{{{{|zzz{zzyz{{z{|{|{{zyz{{{z|{z{{{||{zzzzzzz{{z{||z{{{z{z{{|{||{{|{{{zz{z{zz{{z{{z{z{zzz{y{zz{zz|{{{{z{z{zzz{{{{|{{zzz{zzyzzz{{zz{|{z{zzzzzy{{{{{{{zz{zyyyzzzz{z{{{zzyzzz{yzzzzyzz{z|zyy{zzzzyzzz{zzzzxzyyyyzzzzzz{zzzzzyyzzzz{z{z{{zzzyyyzyzzzzzzzzy{zzzyzyzz{{z{{yyyzzyyyyzzzz{zzzzyyxzzyyzyzzz{z{yzyyzzzy{{{zyz{y{zyyyyzyz{{z{zz{yzzzzzyzzz{zzzz{zyzxzzzyzzzzzz{zzyzyz{zyyzzzyzzzyyz{zyzz{zzzzzz|zzzzzzzzz{zzz{z|yzyyyyzyzyzz|z{{zyyzzyzzzz{{z{{{{yzz{zzyz{zzz{|{yzyzzz{zzzz{{z{{z{zyzz{z{z|{z{z{zzz{z{z{z{{|{{{{zzzzz{zz{zz|{{{{{zyzzzz{{z{{|{{|{zzz{yyz|{{zz|{{{z{z{{{{{zz{{z{{{zzzzz{{z{{{{|{|{z{{yy{z|{{{z||{{z{{y{z{y|z{{z||z{zzz{yzz{zz{{|{zzyyyzz{z|{z{z{z{{{y{zz{{{{z{{|{zz{zzzzzz{z{zzzz{xyyyzyyyz{zzz|yz{y{yyyzy{y{{{zz{zzxzyzz{zzzyzz{yz{zzyyzzzzzz{{{zzzyyzzyzz{yzzzzyzzxzzzyy{z{zzzzzyyyyzyzyz{zyzzzzzxyyyyzyz{zz{zyzzyyyyzzyzzzzz{{y{yzyyzzyz{z{z{zzzzzyzyyz{zzz{{{zyyyyyyyy{zzyz{yzzzzzyyyyzzzz{{zzyzzyzzzzzzzz{{{zyzzzzyzz{zzzzz{zz{yyzzzyz{zzzz{yyz{yzzzzz{{zzz{yyzzyzyyzzz{z{{zzzzzyzzyz{{{zz{zyzyzzzzz{z{{z{z{{zzy{{z{{z{{{{{{zz{zzzzz{z{|z{{{zzzzzzz{|{{z{z|{{z{z{zzz{{{z{||{{{|zz{z{{z{{{{{|{{{{zy{z{{{{|{{|zzzzzz{y{|{|{{{|zzzz{zy{{{z{{{{{{z{zzzz{{{{{zz{{z{{zzzz{{{{z{zz{{yzzzzzy{{{|z{|{{yzzzzzzzz|z{{zzzzy{yyzxzzyzz{z{yzyyyyzyz{{z{{{{zzzyyzyzzzzzz{{zzyzyyzzyz{z{zzz{z{yyyyzyzzzz{zz{zyyzzyzyy{zzzz{zzzyzzyyzzz{zy|zzyyxxzyyzzzzzz{z{zyyz{yzzzzz{zzz{{zzyy{z{zzzzzzz{{yyzzzzyzzz{zz{|{z{yyzzyzy{zz{z|zyzyyyzzy{zyz{z{yxz{zzzzzzz{z{{{zzzzzzyy{{zz{{z{z{zzzzzzzzzz{{z{zy{zzzzzz{{zz{{{zzzzyyyzz{z{{{{zzzzzzzzzz{{{|{|{{yzzzzyz|{z{{{{{zz{yz{{z{{{||{zzyy{{{z{z{{{{{{|{{{{zzzzz{{{{{|{{{y{zz{z{{{{{{{|{{zzzz{{zz{|{||}z|{zzzzz{z|{|z||{{{{{zzzz{{{{z{z|{z{z|zz{{{{z{{|{{z{z{{zz{{z{{{{|z{{{zz{zz{{z|{|{zz{z{z{z{|z|{{{{zz{{zz{{zzz{{{zzzyyzzyzyzz{{zy{{zzyzzzxxzzzz{{{{{{yzyzzyzzz{{{{{zyzzzzzzzy{|zzzzzzyzzyyyzzzzzzz{zzzyzyzyyzzzzz{{zzyyyzyzy{{{{z{zzyzyyzxzy{{{zz{{yyyzyzyy{{{zz{{yzyzzyyzyzzyz{zz{zzzyyzxyz{{{zzz{{zzyyzzz{{yzz{{zzzzzzzyyyz{z{{z{{y{{z{yz{zzz{zz{{zzyzzy{z{z{{zzz{zzzyyzzz{{{zz{{zzzy{z{z{zz{{{{|zz{zzyzzz{{{{{y{{zzzyzyz{{z{{{{zzyzz{z{z{{{{z|z{zz{zz{zz{{z|{{{zz{zzz{{{|{z{z{{||zz{zz{{{{{z{{z{zz{zzzzz{|z{{{|{{{zz{{{{{z{z{{zz|zyz{z{{z{{{{{{|z{|{{zz{{||{{|{{}zzzz{zz{{z{{{||{{yzz{zz{{zz{{{|zzzz{zz{{z{{{{{{{zzzz{{z{z{{{|{{|{zzzzzzz{{y{z{zzzzxyyyzy{zyzzzzzzzzzyyyyzz{yzz{zz{zyzzzz{zzz|z{{yzyzyyzyz{{zz{zzzzyzyzxzzz{z{zzzyyzyyzzzzzyzzzzzyzzzyyzz{{zz{zyyxyzzzyzyyyzzzz|zzxzyyyzzzyzz{zzzzyyxyzzzz{z{zzz{yzyyyxzy{z{{{{zyzzyzxyyzz{{{y{zz{zzyzyyyz{zzzzzzzyyzyzyzyz{{{{|{yyz{yzzzy{{yz{{{zzzzyzzzzzz{{|{zzzzyz{zzzzz{z{{zzyzzzzz{{z{{z{zzz{zyyzzzz{{zz{{yzz{zzzz|z{z{|z{z{{y{{{{zz{|{{z{zzzz{z{zzzz{{||{yzz{zyzyy{{{{{{{{zzz|yz{y{{{z{|{zzz{zz{zz{z{{{{{{zzzz{{z{{z{|{{|zz|zzzz{{{{zz|{zzz{zz{yzz{|zz|{|{{zz{z{z{z{{z{{|{zzyzzzy{{z{{{|zz{zyzzzzz|{z{z{{zzzzzzzyzz{{zz{zzzyyzyzyyzy{zyy{yyzzzxyyyzzzz{{{zyyyyyyyz{{{zzz{yxzzzyyyz{{zyz{zzzzyyyyyzzzyy{zzzyyzyyzxzzyzzzzzzyzyzzyy{zzzz{zzyyyyyzyyyyzzz{zyyyyyzxyzzzyy{zzzzyyzyzyyz{{zzz{zyyzzyyxzz{zz{zz{zyzyyxyyz{yyz{z{yzyyyyyzzyzzzyzzzyzyz{zzzz{zzzzzzyxyzzyzzzzzzzy|yzzzzzzyz{{yz{{{yzzyzzz{zzzz{{z{zzzz{zzzz{z{{{{{{yyzyzzzzz{zzz{zz{zzzzyzzzzz{{z{{zzyy{zy{{{{z{|{zzzyzz{{z|{{{|{z{zzzy{zzz{z{|z|z{zz{z{zz{{{{||{{zzzz{{{z{{{{{{{{{{{{{{zzz{|{z{{{{z{zz{{{|{z{{|{|{yz{{{z{{{{{|{|{{{{zzzzz{{zzz{{{{z{yzyzzzz{z{{||z{{zzzzzz{{{y{zzzzzzzzzyyz{{{y{zz{yzyyyyz{{zyyz{zzzzzyzyz{z{{zz{zzyzzzyyzzy{y{zzzyyyyyyzzz{zyzz{{{zyyyzyzzzzzz{zzzyyyzyyzzyzzzzzz{zyzyyyz{zzyzz{zyzyyyyyzyzzzzzzyyyyyzyzzzyzz{{{zzyzzyzyzz{zz{{zzyzxyyxyz{y{yyzzzyyzyyyzyzzyzzzz{zzyzy{yy{zzzzzzyyzyyyyyy{zyyz{{yzyzyyzyzzzz{{{zzyzyzyyy{yz{{z{{yy{zzzzzy|{{{{{{zzzzzzzzy{{zz|{zzzzyy{zz{zzz{{|zzzyzzyzzzz{{z{{{zzzzzzz{{z{zzz{zz{{z{z{{{{{{{{|{zzzyzzzzz|{z{z{zzz{zz{yz{|z{{{{{|zzzz{{z{{zz{|{{|zzz{zzzz||{z{{{{z{z{zzz{{{{z{{{zzzzzyz{z{{{|{{|{z{{{zz{{{{z{{z{zzzyzzzzz{{yz|z{{{z{zzyzz{z{yz{yyzz{zyzyyzzzz{zzzzyyzzyyyyzyyzzzzyzyzyyyyzz{{{yzzyyzzyzyzz{z{{zz{xzyzyxyyzz{zzzzyzzyxyzyzzzzzzz{yyzyyzyxyzzzyz{yzyzyyzxzyz{zz{yzzzyxyxyyzyy{zzyyxyzxzzyyyzzzz{{zzyzyxyyxzzzzzz{yzzzyyyzy{z{{{zzzzzzxyyyyzzzzz{{zzyzyyyyyyyyzz{zzzyyzz{yyyzzzyz{zzzyyzyzzzzzz{{z{zyzyzyyzzz{yyzy{zzzzyzyyzz{yzzz{yyzyzyzyzz{zzzz{zzyyz{yz{{{zyz{yzzzyzzyy{{zyy{{zzzyy{y{{{z{{{{|{zzzz{zz{{yzzz{{z{zzzzzzy|{{{zz{zzzzzzzzy{z{{z{{{{zzzzz{{zyz{{{z{zyy{zzz{{{z|{{{{zzzzzzyzz{{{|{z{{zzzz{yz{{{{z|{{zzz{{{{z{{zzz{{{zzzyzzzzzzz{z{|{|{{zzzzz{z{zzy{zzyyyzzzyzzzzzz|zzzzzzyyyy{{zzz{{zzzyzxzyzyzyyz{zyzzyzzyxzzzzzz{{zyzyyzyy{zz{zzz|z{yyyxyyz{y{yz{zxzyxyzzzy{zzy{{zyzzyzyzzz{zzzyzyzyyyyyzyy{zzzz{zzzyyzzyyzzzzzzyzzzyzyzyyyzzzz{z{zyzyyyzxz{z{zz{zyyzzyyyxyzzzz{zzzzzyyyyyyzzz{{zzzzzyyzzyzz{zzzzzzyyyzy{xy{{zzz{|zzzyzyzzzzz{zz{{zzzzyzyyz{{z{zzzy{zz{{yy{{zyyzz{|zzzyzzy{z{{zz|{zyyyzyzy{z{|z{{{{{||{z{{{z{{{z|{z{{zzz{z{{z{{|||zzz{{zzzzz{zz|{{{zz{{z{z{{{z{{{{zz{{zzz{{z{{|{{{{{z{z{zzz||{{{|{zzz{zzz{{{|{||{{{zz{zyyz{{{z|{|{{zz{{zzz{{{{z{z|zzzy{y{z{{z{{{{{{zzzy{zzz{z{{{{z{z{zzzzy|zzzyzz{zyzyyzyxz{{zy{z{z{zzyyzyzzyzzzz{z{zzzyzyyzzzzzzz{yzyxxzzzzz{zy{{zyzyyyyxzzzzyzy{zyzzyzzyzzzzz{zyzzyzxyyzyzzyyzzz{yzyyzyyzzxyzz{zyzyyyyzzyzzyzz{zzxzzyyyzyzzzzzzzzyzzyyyzzzzz{zz{zzzzyyzyyy{yy{y{yyyzyyzzyzyyz{z{z{yzyzzyy{zzzz{zzzzy{yzyyzzzy{{{zyzyzzzy{z{{{{z{zzyyzzzyz{{|z{z{zy{yzyzyz{zzz{z{zzzzzzzzz{{zzz{{zzzzzzzzzz{{{|{{z{z{z{{y{zz|zz|{zz{zz{zz{z{{{{|z{zzzzzzz{{{z{zz{zyzzzz{zz|zz{{|z{y{zzzzz{{{{{{{{{zzzzzzzz|{{{z{||{yz{zyz{{{{{{|{|yzzzzz{zz|{{{{{{{zz{{z{{z{{{z{{{{zzzzzzz{zz{{{z{zzzzzzzzz{{z{{zzzzzzyzy{zzz{yzzyzzyyyzyy{zz{y{zzyzzyz{z{zyyzzzzzzyyzyyy{z{zz|{zyzyzzzxzzyzyyy{{{yzzyzyyzz{z{{z|zxzyyzzyyzyyz|{zzzzzyyzzzz{{yzzzzzyzyzyzyyz{z{{zzyyzyzyyyy{zy{zzzzzzyzzyz{yy{z{zzyzzzyyyzzzzzzz{zyyyyzzzyy{z{zzz|yzzyyzyzzyzzz{{zyzzyzxzzzz{{z{|zzyzzyzzzzzyzzz{yzzz{yzyzyzz{{{zzzzzyyyzzzz{zzzz{zzz{yzzyzyz{{z{{yz{zyzy{{z{{z|zzyzzyzz{{{zzz{{{{z{{zzyz{zzz{{z{z{{{z{{zz|zzz{{{{{zzyzyyz|{zz{|{zzz{zzzz{{z{z{{{{{{zzzz{{{{z|{|{z{{zyzzzz|{{{{{|{yz{{{{{{z{{{{{{{zzzyz{z{|{{{{|{{zz{|zz|z||z{|{|zzzz{zz{z{z|{z{{{{zzyz{yy{z|{{|zzyzzzzzz{{z{z{{zyzzzyzyy{z{zzzzzy{{zzzzy{zz{{{z{zzzyzzyzzz{zzz{zzy{zzyyyzzz{zz{{zzyzyzyxzzz{z{{{zzzzzzyyz{{zyzzz{yzzzyyyyyzzzzzzzyzyzzzzyzzzzzz|zzyyyzzyz{zzz{zzzyzzy{yzz{zz{{{zzy{yzyyyz{zzzz{zzzyzz{zyyzzyzzzz{yzzyyyyzyz{z{{{yzzyzzyyzz{z{{zzzzzzyzyyyz{{zz{{zzzz{zzzzy|{{{{zzyzyyzzz{{zzz{{{zzzzz{zyzz{{{|z{zyz{yzz{z{zy{z|{{zzzz{zz{{zz{z{|zzzz{zz{{{{|{{{z{{zzzz{z{{{|{{z{z{zzyzzz{zz{{{z{{{z{zzzy{{|{{|{{{z{zz{zzz{z||{{{|zz{z{{{{|{||z|{{z{{{z{zz{{{{{{|{{zzz{yz{zzz{{|{zzzz{zyz{zz{{{{|z{zz{{zzz|{z{{{|{{zzzz{yyz{|{{{{{zzyzzzz{{{|zz{{zzyzzzzzzz{zzz{zzzzzyyzz{{yzz{zzzzzyy{yy{zzzzzzzyyzzzzyyyzz{yzzz{yzyyzzyyz{z{{zzyzzyzyyyyzyzy{{{yzzyzzzy{zzyyzz{zzyyzyyyyzz{zz{{zyyyzzzzzy{{{{{yzzyyzzyzyzzzz|{{{zzzzzzxzzzzzz{zyzy{yyyyzz{zzzzyzzzzyyxzzzz{zz{{zzzyzzyz{z{zzzz{zzzz{zzz{zzzz{z{{z{zzyzzzzz{z{{{zzzzyzzzyzzzzz{zzzzzz{zzy{z|z{{yzzy{zyyz|{zz{{{z{z{zzzzz{zzz{zz{{zzz{zzz{{{{{z{{zzzyy{z{z{{|{{{|{zzzzzyzz{{{|z{{{zy{zzzz|z|{{z|{zzzzy{{{z{{{z{{{{z{zz{{zz||{{{{{{zz{yyz{z{|{||{{{y{{{yzzz{z{|z{|{{zzzzz{zzz{{{|{{zzyy{z{zzz{z{{zzzz{y{{yz{zz{z{z{z{y{zzy{{|zz{y{zzyyzy{yz{zzzzyz{zyyyyyz{zzzz{{zzyyyzxzz|{zzyz{{zzzzyyyyzyy{yzz{zzyyyzzyzy|{zzy{{{zyzy{yzzzzzzzyy{yyzyyyzzyzzzzzzzxzyyzzyzzzzzzzzyyyzyyzzzzzzzzzyyzyyyzz{zzz{zz{yzz{zzzyyz{zyz{zyyyzzxzyyzzzzz{zzzyyzyzyy{{zz{{z{zzzz{zzzzzzzzy{zzyzyyzyzzz{zzz{yy{zzyyyzzz{{{z{zyz{yyzzzz{{y{zzzzzzzyyzy{|{z{{z{zzzzzzzz{zzzz{zzyy{zzzzz{|z{z{zzzzyz{{{z{z{{{{{zz{{zzzzz{z{{{||z{{yzzyzz{{{{z{{{z{{{{yz{{{{z{|{{zzzzz{{{z{{{{{|{yz|z{z{z|{{|z{{zz{zz{{z{|{|z{{{{zzzzyz{zz{z{{{{{{zz|zz{{{{{{z{{z{zz{zzy{{{z{z{{{{yyyzzzzz{zz{{|z{{zyyzzz{zzz{zzzzyyzzzzzz{z{{z{z{yzzzzyy{zzzy{{zzyyzzyyzzzzz{zzzzzyzyyzzyzzy{zzzzyxxyzy{zyzzzzz{x{zyyzyzzzzzz{zzyyyzyzy{yzyzzz{zy{yyyyyzzyzzzzzxyyzyyyyy{zzz{{zzyxyyyzzy{zyz{z{yzzzzxzzzzy{zz{zyyzyyyyyyzzzzzzzyyyyyyyyyyzyy{zzyzyyzyzzzzzzzzzzzzyzzzzyz{zzzzz{zyyyzzyyzzzz{zzzzzzzyzyzzz{z{z{|zzzyyyzyyz{{zz{yzyzyzzzzzz{z{{{{yzy{zzyyzzz{{{{zzzzxzzz{x{zz{z{{yz{zzy{z{{z{z|{zyzy{zzzzz{{{z{zz{yzzzy{zz{{z|z{{{zzyzyz{zz{z{{{{{yzz{zyzzz{{{{|z{z{zzzz{{{{{z{{{{yzzzyyz{|z{z{{zz{zzzzz{{zyz{{{{zyzzzzzyz{zz{{{zyzyyzzzyzz{{zzz|zy{y{yyz{z{zzzzzyyyzyyzyy{{zzzz{yzzzzyyyyzyz{z{zzzyyyyyzz{zzzzzzzyzyyzyzzz{zzz{{yzzxxyyyzzzzzzyzyzzzzyyyzyzzyz{zyxyyzyzzyzzzy{{zzyyyyzyyyyzzyzz{yz{yyyyxzzyz{z{zyyyzyyyy{zzz{{{{zzzzyyyyz{{yzzz{zyyyyyzxyyyy{{yzzyyyzyzxzyzzy{{zzyzyzzzzzyz{zz{zzyyzzyzyzzzzy{z{zyzzyyzz{zzzz{zzyyzyzyyyzzz{zzz{zyy{{yy{z{zzz|{zzyzzzzyzz{{zzzzzyzzz{yyy{z{{{|{zzzzzyzzyzz{z{{z|zzyzz{z{z{z{z{{{yzy{zzz{|{zzz{{{{z{zyz{z{z{{{{{{z{zzzzzz{{z{{{{{|zz{z{zz{|z{{{{{zy{{{zy{{z{{{{{zz{zzzzzz|{|{{{z|{z{z{z{z{z{{{{{{z{zyzzyzzz{z{{{z{zz{yyzyz{zz{{{|yyzyyzyyz{z{z{yzyzxyyzyyyzzzzz{zzzzyyzyzzzzy{zzzyyyyzzxyzzyzzz|zzzyxyyyyyzzzyz{z{zzyyyyxzzz{z{zzzyyyzzzyzzzyy{zzzzy{yzyyzyzxzzzyzzyyzzzzyzyzyzzzzyyzyzyyzzzz{zzzzyy{yyyzyzzzzzz{zyzyzyyyz{zz{zzzzyyyyy{yyzyzzzyzyyzyzyyzzzyz{{{yyzzzzzzyyzzz{{zy{zyyzyzyzzyz{{z{yyz{zyyzz{zzz{z{z{{zzzzz{z{zz{{zzzyz{y{yz{z{{{z{zyzzzyzyzzz{y{{zz{yzzzzzz{zzz{z{zz{zzzz{{z{|||{zzzzy{zzzz{z|{|z{zzz{zzzz|{z|{y|{{{{zzzzz{{{{{z{{zyz|zzz{z{zzz{z{zzy{z{z{z{z{{z|{|{zzzzz{|{{zy||{zz{z|{{z{{z{z{{{zzz{yzzy{{{{{{{|yzzyzzzzz{zz{z{z{z|yzyzzz{{{z{{zzzzzyyzyzz{yzzyzyzyyzyzzy{{zzzyzyzxzyxyyzzzzyzzzzyzzxyxy{{zzzzz{{yzyzyyyyzzzyz{zzyyyxzzzzyzzz{z{zyyzyyzyyzyxxzz{zzzyyzzxzz{yyzzzyzyyyyxxzyyzzzyzyyzyywxxzyzzyyyzzyyyyzyzyyyyzzzzyyyyzyyyy{zzzz{|yyyyyzzxzzzyzzyzzzzyxyxyy{zzzzzzyxzyzyyxzzyzz{{{zzxyxzyyyz{zzzz{yzzyyyzxzzzzzzzzzzzzyzxzzzz{zz{{zzzy{zzy{{z{z{zzyzzyyyyzzz{zyz{{{{zzyzyz{{{{{z{{yzzzzyzz{z{{{{zzyz{zxzzz{zz|zy{{zzzzzz{zzz{zzz{{zzzzzzyzz{{{{|{{zzzzzy|{z|zz{{{{zyyzzzz{zzz{z{{|{yz{zyzz{zy{z|{z{zzzzzyzzz{{{{{z{{zzzzzz{{z{{{{zyzyyz{{yz{z{zzz{|zy{zzzyz{y{yz{{zzzyzzzyyzz{zzz|xzzyyyzyyzzyzz{zzyyzyyyzzzzy{{z{zzyyyyzxzzzzzzz{zyzyyyyyyzzzzyzzy{zyyxzxyzzzzz{zxyzyyyzzyzyyz{zzyzzyyyzy{zzzzzzzyyyyzyzzzyyy{zzzyzzxyxxyyzzyy{zzzyyzyyyzy{zzzzzzyxzzzyzzzy{z{{z{yyzyyxyyyzzzzzzzzzyyxyyyyzzzzzzzzyyyxzxyyyz{zzzzzyyyyyzzy{{zzyzyyyzyyzzzz{zzzzz{yzyzzzyz{{zz{z{{zzyyyzyz{zzz{{{zzyz{yy{yzzz{{{{{zzyyzzzz{{zz{{zzzzzzz{{zz{{{{zz{zz{zzzzzz{z{z|z{zzzzy{zz{|{||z{y{zz{zz{z{{zzzz|{zzzz{z{zz{|{zz{{{{zzy{zzz|{{{{||{zzzzzzz{{{|z{z{{zyzzzyz{{{{{zz|{{{z{yz{{z{zz{{{y{zzzzyzy{zzz{{{zy{zyyzzzz{|zz{yzyzzzzzzzzy{zzzzzzyyyyzzy{zyzzzzyyyyyyyzzyzzzzzzzzzyzzzyyzzz{{z{zzzzyyyy{zz{zz{{zyyzzyzyz{zzzzzzyyyyzzxyy{zzzzyzzzzyyyyyzz{yzz{zyzyzzzzyyzzzzzzyyzzyyyyyyz{zzzzy{zyyyyyzyzzyz{z{yyzyyyzxyzzz{z{zzzzzxx{xzyy{z{zzyyzyyyyyzzzzy{zzyyzzyzzzzyyzz{zzzyyyyzyzz{{{zzz{yzy{zyyzzzzz{zz{zyzyyyyyz{{y{z{y{y{{zzyzzzz{z{zzzzzzzyyy{{{yzz{zzzzzzzzyzz{zz{{{{z{yzzzzzz{{{{z{zz{zyyzzz|z{z{{zzzz{yzzzz{z{{z{z{zzy{{zyz{{{z{{zz{{yyz{zy{z{z|{z{z{yzzzzz|{{|{z{zz{zz{zz{{zzz|zz{zzzzzzzzz{{z{{z{{{zz{zzz{z|{{{|zzzzyzz{z{|zyz|{{{zzzzzyzzzzzz{{zyzyzyzz{z{zyzzzzyyyzyyyzzzzzy{zyzzzyyzyzzzzz{z{yzyyyzyyzzzzz{{{{y{yyzzzzy{z{z{z{yzzyyyxzzyzy{{zzzyyxyyyzz{zzzzyzzyzyzzzy{{zyzz{zyyyyyyzzzz{z{zzyyzyyyyyzzzzzzzzzyyzyzyzy{zyzzz|zy{yxyyxz{z{yzz|zyyyyzyyyzyy{{z{zzzyzyzyyzyzzzzyzzzz{yyy{zyzy{z{zzzzyyzy{{{zzzzyzyzyzyyyz{z{zz{zyzyyyyzzzzzzzzz{{zzzyyyzz{{{{|zzzxzyyz{y{{|yz{zzzyyyz{zyz{|{z{{{{{yzyyzzzz{{{z{|zy{zzzzz{zy{{{z{zzzzzzyz{|zz|z{{{yzz{zzz{{|z{{|{zz|yz{{{{|{{{{{{|zz{z{zz|{z{{{|{zyzz{zz{{{{|{{|{zyzzzyy{{{z{|{{{zz{z{z{y{{{z{{{{zzzzzzy{zzzzz{{z{zzzyzzzz{{zzz{{zzzzzzyyz{yz{zzzzzyyyzyy{zzyz{{{zyzyzzzyzzzzz{{zzzzzzzzxz{zz{{zzyyzzzyyyxy{|z{{zzyzyzzyyzyz{z{zzzyzyyzyzzzzzz{zzzyzzzyyyzz{zyzzyzzyyyzzy{yz{zz{zzzyzzzyzzz{{yzzzzzzzz{xyyz{{zyzz{zyxyyyzzyzz{z{zyyyyyyyyyyzzzz{yzzzyyzxzzzz{z{{{yzzzyzzxzz{zzz{|zyzzzzyxy{zz{z{{zzzyzyyzzz{{{y{{z{z{zyzzz{{zz{z{{zzzyyzzz{{{zz{zzzzzzz{yz{{{{{{zzzzyyyz{{{zzzzz{zzzzzzzz{{z{{{{{zzzz{zzz{{z|zz|z{{zzzzzz{{{{{{{{|zzzzzzy{z{{||{zzz|yz{{{z|{z{{z{{zz{z{zz{|{zz{{{{zz{zzzz{{zz{{{z{z{{zzzz{{z{{z|{{|yzzzz{|{z|{{z{z{zzz{zzz{z{z{{{{{z{z{zzz{zz{{{zzzyyzzyzz{z{{|zzyyyyyyxy{z{y{{z{zzyyyyyyzzzzzzz{zyzyzyyzzzyzzzzzzzzyyyzyzz{zzz{{zyzyxyzyz{zzzzzzzzzyzyzzzzzz{y|{zzyyyzyyzz{zyz{{yz{yzzzyzyzzyy{{yyyyyzzyzzyz{z{zzyyzyyyzz{{zzzz{zyzzy{yzzzz{zy{{yzyzyyyyzyzzy{zzzyzzxyyzz{zyz{zz{zzzyzy{y{zz{{zzzzyzzzzzzzzzzz{|yyzyyyzzzz{{zzzz{zzyzzzzz{z|{z{zzzyyzyyzzz{{z{z{zzyzyzyyzz{z{zz{zyz{zzz{{{{|{z{{zz{yzzy{{{|{{zz{z{zzzzzz{z{z{|{zzzzyzzzz{|{z|{{zzy{zz{yzz{{{{{{{zy{zz{{{{z{{{{|{zz{z{{{zz|{{||{{{{{zzz{{{{{{{{|{z{{z{zzzz|z{{z{|{zz{|z{z{z{{{{{{z{{zz{zz{{{{z{|{|{z{{{yzz{zzz{z{{z{yzz{zzz{{z{{zzy{yyyyyzz{zzz{z{zzyzyzy{zzzz{z{zzyzzzzz{{zz{zz{zyzzzzz{z{{zy{zzzyyyyyzyyyz{z{zzyyyyyyzzzzyzzzz{yyzyyz{yzzzzzzzzyyyyy{yyzyyzz{y{zyyyyyyyyyzzzyzyzxyzyyyyxz{zzzzyzz{zyzzyyzzzzz{{yzzxyyzzzzzzzzzzzyzyyzzyyzzzy{{{yyzyzzyxzzz{yzz{zyyyzyzzzzzzz{{{{zyyzzzyzzz{|z{{yzzyyz{z{zzy{zz{zzzzzyzyzz{{zz{z{zyzyzzyzz{zz{|zzzzzyxy{{{|{z{{{zzzz{zzz{zzz{{z{zzzz{z{{{{z{{z|{zyz{z{zzz{z{{{|{zzzz{zzz{{zz{z|{z{{zzzz{{{z{{|z|z{zzz{yz{{{||{|{{zz{zzz{z{z|z{{{z{zz{zzyz{zz{|{{{zz{{{{{z{{{{{{{z{{zzzzy{z{zy{{zz{{{yz{z{{z{z{|{zx{yzzzyz{{{zz{zzzyyxyyyyz{zzz{{zzyzyzyyzzyzzzzzzyyzzyyyzyzy{yzzzyzyyyxyyzzzz{yz{yyzyyyzyyz{yzzzyyzyzyyzy{zzx{{zzzzzyyyyzy{yzz{{yyyxzzzxz{zzyzzzyxyyyyzzyy{yz{{zyzyyyxyzyzzzzzy{yzzyyyyyzzzzzzzzyzzyzzyyzzzzyzzzzzyzyzxxyzz{zz{{yyz{zzzzzzyyz{{{zyzyzyzyzzzyzz{zzyzyxz{zzz{z{{z{yzz{zyzz{{z{z{{zzzzzzyyzy{{zy{zzzzzzzzyyzzzz{z{{{{zzz{yz{zzzz{{{zzzzyzzz{zz{{{zzz{zz{z{z{{{z{{zzyzzzz{zzzz{{zz{z{yzz{z{{{{{{{|{|zzzzzz{{y{{yz{{{{zzzzz{{z{y{{z{{{zzzzzzzzz{{{z{{{z{{zzzy{zy{{{{z{{z{z{zz|{{{z{{{{yyzyzz{{{z{{{{{z{z{z{y{z{{{zz{zzyzyzzzzz{{{z{z{zzyyyyyyx{zzzz{{zzyzzzzyyzzzzzzzzzyxyzyyzzzzzzzzzxzzzyzyyzzzz{{zzyyyyyyyy{zzzy{{yzxxzzyyxz{yzzzyzzyzyzzyzyzzzzzzyyyyzyyyyyyzyz{zyyzzyyzzyzyzy{zzzyyyyyyyz{yzzyzzzyyyzyyxzzzyy{{z{zyzzyzyxyzzzyz{zzyxyzyxyzzzy{{{zzzy{yzyzy{z{z|zyzzyzx{yzzzzzyzzzzzyyyyyzzzzzzz{zyyzyzyzzzz{{{zyzyz{zzyyz{zzzzzzzyzxyyyzzzz{y{{z{zz{zzzzzz{zzzzz{zzy{zyyyzz{z{{{yzzzzzz{{{{{{{{{zyzzyyzzzzz{yzzz{zzyzzzyz{{z{|{{{yzzz{|{yzz{{||{{yzzzyz{z{|z{|{z{yzzzzz|{{z{{{{z{zzzzzzzz{|z|z|{zzzzzzzzzzzzz{{{{zyz{{zzzzz|z{z{{zz{zz{zzzz{z{{zzzzzzyzyzz{zyzzyyyzzxyyxyzz{zy{{yzyzyxyyzzzzzzzzyyxzyyyxzyzzzzz|yyzyzzyyyz|{zyyzzyyyzz{yyzzzzyz{zyyyzyyzy{zzzzzyyyzyzyyzyzzzyyzzyyzzyyxy{yz{yz{zyzzyyyzxz{zzzyzzzzzyxyyyyz{yzzzzyzyyyyyyyzy{yzzzzyyzyyyyyzzzzzzzzyyyzyzyy{zzzz{zyyzzzyzyzyyyzz{zzzyyzyzyzzzz{{z{zzzzzyyz{z{zz{|{zyzyzyyzz{{zyz{{zzzyzxyzz{{zz{zzzzyzz{yz{z{{zzzzyyz{zzzz{{{yzzz{zy{{zzyzzzz{{|{zzzzzzzz{z{{{z{z{{yz{zzyzz{{{{z{{{yzz|zzy{{{z{{{{zzy{z{{{z{{{zz{|{z{zz{yyz{z{{{{{{zz{{zz{{{{zz{{{{{{zzzz{{zzz{z|{zyyzzz{{{z{{z{z{z{{zzzzzz{{{{z{z{zyyzzzxzz{zzzzzzxzzyzxzzz{zz{zyzyyzyyyzzz{z{z|zzyzyzyyyyzzyzzz{zzyyzyyyyzzyz{{{zzzyxyyyyzz{zzz{zyzxyyzy{zz{zzy{zyzzzyyyz{{{yzzzzyyyyyyyyzzz{y{{zyzyyyzxyzyzzz{zyzyyyyyyyzyyy{zyzzzyyzyyzz{zz{zzzzzyyyyyzzzzz{{zzzyyzyyyyzzyyzzzzyyzyyzzyyyzzzz{yyzyz{zyz{zzzzz{{yyyzyzyz{zzz{zzyyzzzyzzzzz{|z{{zzyyzzyzyz{yz{{zyyyyzyzzyzz{{yzy{yzyzzyzzz{{{{{zzyz{yyzy{{z{zz{|zyzyzzzyzzz{{zz{z{zyzzzz{y{{y{{{zzzyzyyyzz|{z|{{zz{zzz{{z{{z|{|{zzzyzzzzz{z{z{{|zzyyzzz{z{{{zz{{|{z{zy|z{zzz{{|z{z{yz{{zz{{{{{{z{zzzzzz{{{{z{zz{zyzzzz{zz{{zzz{{zyyzz{zy{{z{z{zzzyzxzyyyzyzzyz{zzzyyzyyzyzzzyz{yz{yxyyyyz{zzz{z{zzyxzyxy{yzzzzz{zyyyzyyyzzzzyyzzzzzyyzzyzyyyzyz{yyyyzyzxzzyzyzzzzzyzyyyyzyzzz{zzyyyyyyy{yyz{yzzzyyyyyyzyyzzy{z{zyyyyyyyzzzzyzzzzyzyyxzzyyzzyzy{{zyzyyyzyyyzyzzzyzyzzyzzzzzy{{zzzzzzzzyzzzzzzzz{zyyzyzxzyzzz{zz{zyzzyyxzzz{zz{zz{zyyzyzzzyzzzz{{{yzzyyz{yz{z{y{{yzyzzzzyy{{{z{z{{yzyzyzzzzy{zz|z{{yzzy{zzy{{{{{zzzyyyzzzz|z{{zz{{zzyzz{zz{zz{{{{{zzzzzyzz{{zz{{z|zz{zyz{{z{z{{{|{{yzzzzz{z|{{{{{{{zz{yyzz{zzz{{{zzzyy{zzy{zz{||{{{z{zzzzy{{{zzz{{zyyyzyzy{{z{zz{{z{{zzzzz{{{{{z{zzz{zzzyyzzzz{{zzzyzzyzzzyzz{zz{zyzyyyzyyzzzzzzz{zyzy{zzyzzzzz{|yzzzyyzyzz{zzyyz{{yzyyzyyzyzzz{zzxyyzzyyyzz{yyzz{yyzyyyyyzzzyyzzyzyzzyzyyyzz{zzzzzyyyzyzxy{zzzzzy{yyzxyzzyz{{zyyzyyzzyyyzyzzz{z{{zzzxyzzzyz{zzzyzyzyyyzzz{{x{zzzzzyzyzzyxzzzzzzz{zzzxzyz{{yz{{{z{zzzzzy{zzz{z{y{{zzyzzyzzzz{z{{zzzzyyzyzyzzzz{z{z{zzyzzyzz|z{{z{zzzzzzy{zzzzzy|{zzzzz{{zzzz{z{{z|yz{zzyzy{{{{z{{{{zy{z{zzz||z{{{z{yyzzz{z{|{{{{|{zzzzzz{|zzz{{|{{{zyyyz{{z|z{|{{|{{|zzyzz{|zz{{{|{zzyzz{{{{{{{{|{{zz{{zz{{{z{{{{{y{y{zyzz{{z{z{z{zy{zzyzz{{{{z{|{zyyzyzzzy{yz{{zz{yzyzzzyzzzyzzzz{zzzzyyzz{zzzzzzzzzyzzyy{z{zz{zzzzyyyzzzzz{zzz{zz{zyyyzy{zzzz{{{zzzzyyyy{{yy{{{zzzzzyyyy{{zy{{{zzyyyyzzzyyzzz{{z{zyyzyzyz{{yzzzz{zzzyyyyzy{zzz{{{z{yzyyyzzzzzz|{zyzzyyyyzzz{z{{{zzzzzyzyzzzzz{zzyzzzzzyxzzz{zz{zzzzyzyzzzz{zy{{{{yyyzz{z{{{zzzz{{{zzyzzz{{zz{zzzzzzzzyz{z|||{{{zzzzzzzzz{{{{zzz{zzzzzzz{{z{zz{{{{zzzzz{y{{z{{{{{yzzyzzzz{z|{{{{{zzz{zzzz{{{{{||z{y{z{z{zz|{z{{{|{{{z{z{{z{{{{{|{{z{{{zyzz{z{|{{{{zz{zz{{|{|{{z{|zz{zz{{{{z{{{|{{|{|z{{zz{{z|{{{{{{z{{zz{yz{{{|{{{zzz{zzz{z{{zz{{{yzzzzyzz{{{|zyzyxzzyzyyyz{zzzz{zyyyzyzyzzz{yzzzy{yyyzyyyzy{zz{zyyzzzyyzzy{zzyzzz{zyyyzyzzzzzzz{zyzzyyyzyyyzyzzyzyzyyyzyzz{zyzyzyzyxyyyxzz{{zzzzyxyyzyzzy{zzzzyzzyyyyyzyyyzzzzzz{zyzyzyyzzzzz{zzzzyyzyzyzzzyzzz{zzzyzyyzzyyzy{zzzzz{zzyyy{zz{z{zzzyy{yzzzz{yz{{zyzyzzzzy{z{zzzzzzzzyzyzy{z{{z{zzyzzyzzzyy{zz{{{zyz{yzyzy{{y{zz{{zzzzzzzz{z{zz|yzyzzzyzzzz{{|{{{yzzzzzzzz{|{zz{{{zyzzzz{yz{{{{z|{zzzzzzyzz{zz{{{{zyz{z{z{|{z{{z{{zzyzy{zzz{{|{{|{{z{zyzzz{zz{zz{z{zzzz{{{{{z{{{||{{{{{{z{{z|{{{z{{z{yzyyzzzzz{{|zzzzzzzzzz{{{{{z{yzzy{yyyz|{{{{zyyxyyzzzxzyz{yzzzyxyzzzyzzz{z{zz{yyyyyyyyzzzy{zyz{yzyzyyzzzzzzz{z{yzyyyzxzz{zz{zzzyzzyzyxzyzzzzzzyzyyyzyyzzzyzzzzyzyyyyyyzyzz{{{zzzyxyyyyxzzzyzzzzx{xyyyxzyz{zzyzyzzyzzzyyzzzyz{{zyzyyxyyzyzzzzyyzyyyzzxyyzzzy{zzzzzzzzxzyz{zzzzyyyyzzyyyz{{zzzz{zz{zyzzyzzzyzzzzzzzyyyyyzzzzz|z{zyyyyyzyzzzzzy{zzz{zyyyzzz{{{zzzzzzzzyyyy{z{zzzzzzz{yyzz{zz{zz{{zzzzy{zz{z|zz{{{{yxyzzzz{z{z{|{{zy{zyzzy{z{zz{|{zzz{z{{y{{z{{zz{zzzz{z{{{|z|zz{{{z{{zyzz{{{{z|{zzyzz{{yz{zz{{{{zyz{{zy{z|{z|{z{|{zzyzzzyz{zzz|{{zzz{zz{yy{{{{z{zzzzxzyzyy{zz{{yzzzyyyyzzzzzyzzz{zyyyzyyyzzzzzzzzyzyyzzyz{zz{z{{zzzzzyzxzzzzzzz{z{yyyyyyxy{{zy{zzyyyyyyzyyzzzy{zzzyyyyyyzzz{zzzzzyyyxyyyy{{y{z{{yyyyyyyzyz{zzzy|zyyyzyyxxyz{yz{{{zyzyzyyyzzzzzzzzzzyxzzyyzyyyyzzz{zyyzzzzx{yzz{zzyy{yzyzyz{{zz{zzzyyzzzzzyzzzz{{yzxzy{yyzzyzzy{z{zyyzzzz{z|{z{z{zzzz{zyzyzzz{z{zzyzzyzzzxzz{{zz{{{zz{yzzz{{z{z{{{{zzzzz{zz{z{z{{{{z{z{{{zzz{z{{{{y{yzyyzzz{{{{{|{yzzzzzzzz{{z{{{|{z{zyzzzzzz{{|{{zzy{z{zz{||z{z{z{yz{yz{z{z{z{{{z{zzzzzz{{zzz{z|{{yzzzzz{|{z{{z{{zzzzzz{z{{yz|{{zz{zzz{yyz{{{zzz{zz{zzyzzz{z{{zz{yyyyyyzxyzyzzzz{zyzzzzzxzzyzzzzyy{y{yzyyz{{{yzzzyyyxzyy{zz{{yz{{zyyyyyyyyyz{zyzzyyzzyyyyyzzzz{zyzzzyyyyy{zzzzzzzyzzzyzzz{yyzzyz{yzzyyyyyzzzzyzzzyyzyzyxzzzyzzzz{zzyxzzxyzzzzzz{zzyyz{yzzzzyzz{{zyyzyyxzxzyzyyz{zyzyyzyyxz{zzzz{zyyyzzy{zzzzzzzz{zzzyzyyyzzyzzzz{zzzyyyy{zzzz{z{yzzzzyyzzyzz{|{{zzzzxzzzz{{{{{z{zzyzzyzyyzz{z{{zz{zyzz{zy{{z{{yzzzzzyzzzz{z{{zz{{zzzzzyyz{{z{z{{{|zzy{zzzz|{z{{|{{z{zzz{zyz{{{|z|zzzzz{{zy{{|{|z{{zzzyzzz{{{z{{z{{zzzzzy{{{zzzz{{{{{zzzy{{z{{z{z{zzzzyzyzyz{zz{{{{z{{yzzzyzzz{{{{yzzzyyzzy{{{{{z{yyyyyyzyyzzzzyyzzyxzyyzyzyzyzzzzzyzyyyyyz{z{{zzzzyyzyyxyyz|zyz|{zyzzxyyx{zzzz{{zzyyyyyxyzz{yyy{zzzyyyxzyzzzyyzzyyyyyyyyyyyyzyzzzyzzyyyzzyyzyzyyzyyyyxyyyzzyy{zzzzyyyyyyyzz{yzzzzzzyzzyyyzzzy{zy{yzyyzyyzzzyyzzz{yyxyzzyyz{y{z{zzyyzyyyyyy{zzzzzzzzyzyyyzzzz{{{zzyyzyyzxyzz{zz{zzzzzyzzyzzzzzz{{zyyzyzzzy{{{zzz{zz{yzyyyz{zzzzz{{y{yzzzzyzz{{z{{{zy{zzyzzzzz{yz{{{zzzzy{z{{{{yz{{yyzzzz{z|z{{{z|{zyzzzzyzz{z{{{{|zyzyzyyz||{{{|{zzy{z|zzzz{{{|{{{{zyzyzzz{zzz{z{|{z{zzzz{{{{zzz{zzyzyzzzyz{zzz{{{zyz{zyz{zzz{{{{{zyzyzz{y{{z{zzz{xzyyyxyyzzzzyzzzyzzzyyyyzzzzzzzzzzzyxzyy{zzzzzzzyyyzzzyyzzzyzzz{yzyyyyyy{zyzzyzzzyyyyyzxyzzyzyz{zzyyzxzyzzzzy{zzyzzyzxyyyzy{zzzzyyyyyyyzzyzzz{z{yyzzyyyyzy{zzzyzyyzyyyyyzzz{yyz{yyyzyzyyyzzxyyz{zzzzyyzyyzyyyzzzyzzyzzyyyzzzzzz{zzyyyxyyyzzzzy{{zzyzyyzyyzzzzzz{yyz{y{zz{zzzzzzyyyyzzyzyzzyzzzzzzyzzzzyzzzzzzz{{zyyzyzyzzzzz{zzzzzyzz{zzzz{z{{{{yzyz{zzy{zz{zz{{zzy{zzyzz{{zzz{z|zzyzy{z{|{{{zz{zzzzyz{zz{z{zz{{zzzzzzzzy{{z{z{z{zzyzz{zzzz{z{|{zzzz{{zzz{{{{z{{zzyzzzyzz{zz{{z{{zzyyyzz{{{z{{{{{{zzzyzzzz{{z|zzzyyyzyzyzzz{{zzzzyzzyyzyyzzzyzzzzyyyxyyyzzzz{z{{zzyyzyyzzyzzzzzzyzzyyyzyz|zzzz{zzyyxxyzyyzzzzzz{zzzyyyzxy{{yyzzxyyyyyyyyzyzyzyzzzxzyyyyy{zyzzzyzyxyxyxzyzzzyz{{yyzzyyzy{zzzz{z{zzzyyyxzyzzzzzz{{yyyzzzyxz{yzyzzyzyzyyzzyyzzzzzy{yyyyzzyyyz{z{zyz{yxyyzzyzzzz{yz{zyyyyyyyzzz{zz{zyzzzyzyzz{{zzy{{zzyyzyzyzzzzyzzzzyzzzyzyzzzzzz{z{yzzyyyz{zzzz{zz{zy{{zyz{z{{z{{{zzzzzyzy{{z{z{{{yzy{yyyzy{{zzzz{{zz{zzzy{zz{{z{{{zzzzzzzz{z{{{z|{zzzzz{zz{|{{{{{|z{{zz{z{{{{z{{{{zz{zzzzz{z{{z{{{z{z{{{z{{z{zz{{zyzyzzzzz{zz|{{zyzzyyyyyz{{yz{zz{{zyzxzyzz{yy{{yyyzyyxyzyzzzz{{{yzyzzyyyyzyz{zy{{zzyzyzyzyyzzzz{yyyzzyzyyyz{{y{{zzzxyyzxzzz{zzz{yy{zyyyyz{zzzy{zyyyzyyyxy{zzzyyzzyzxyyzzzzzzzzzzyyzyzyyyyzzyyzzzzyzyzzxzzzyyzzzzyyzyxyzx{{z{zzz{xyzy{yyyzzzyzzzzzzyyyzzzzzzyz{zzzyzyzzzyzz{zx{{{yzzyzyzzzzzzzzzzyzyyzxzzyyzz{zzzyzzzzzzyzz{z{z|zzzzzzyzyz{zzz{{{zzzzzzyyzzzzz{{zyzyzzyzz{zzzzz{z{yzzzzzy{{{z{zzzz{zzzz{zz|z{z{{|{zyzzyzyz{zz{{{{|yzzzzzzz{z{{zzzz{zzz{{{{{{{{zz{{zzyzzzzz|{{{{|{zzzzyzzz{{{{{{z{{zzzzzyz{{zz{{{{|{{{zzyz{{z|{|{{zyzzyz{{y{zz{{z{zzzzzzzyz{z{zz|{yzzzzzzyzyz{zz{zzzyyyyxyzzzzzyz{yzyyyzyyzyyzzzz{zyzzz{zxzyzy{zzzyyyyxyyyzyz{yzzzzyzyyyyyy{yzzzz{yzzyyyzzyzzzzzzz{yyzyyyyzzzyyzzzxyzxyzyy{zyyyzzyzzyzzyzyzyzzzz{zyyyxxyyyzzzzyzyzz{yzxyxxyzzyzzzzyyxyyyzyyzzyyzz{yyyyyzxyxzyzy{zzyyyyyyyyzzyz{yzzzzxyzzyzzzzz{zz{yyzzyzzyzyzzz{zzzzyzyyzzz{zzzzz{zzyzzyyzy{zy{{zzzzzzzzzzz{z{zzz{zzzyzzyzz{zyyz{z{yzzzzzy{{zz{z{zzzzzzyzzzzyzz{{{yyzzzzyz{zz{z{{z|zy{zzzzz{{{zz{|zyzzyy{y{z{z{{z{{yzzzzzzzz{{{{z{z{{zyzzzz{zzz{zzzzyzzzzyy{{{{{{{{z{{zyzzzzz|{{{{yzzyzz{yzz{z{z{{{zzzyzzyz{zzy{{z{yzzyyyxyyzzzzz{yyyzyyxyyzyzzyyzyyyyxyyyzy{zyz{{yzyyyyyxzzyyzzzyzyyxyyxzyzzzyyzzzyyyyxyyzy{zzz{zyzyyzyyyyzzyyz{zyyyyyyzyyzzzzyzzzyywxxyyyzzzyy{zyyzyzyyzyzzyyz{yyyyyyyyzy{{zzz{{zzzyyyzyyzzzyzzzyzyyyyyyzyyyyyzyyyyyzzxzyzzz{zzzyz{yyzzzyzyzz{zzzyzzzyxyyzzzyyz{zyyyyyyyzzzzzz{{yzzyyyxzyzyzz{zzzzzyzyyyyz{z{{z{yzzzyzyxzz{yzzzzzzzzzyzz{{zzzzzzzzzy{zyy{zz{z{z{zzzzyzyzz{{{{{{{zyyzzyyzz{{{{z{zzyyyyyzz{z{zzz{{zzzyzzyz{zzz{{{{{zzzy{zyz|{|{{zz{zzzzz{{zzz{{zz|zzz{zzzz{{z{zzz{zzz{{zzz{{zz{|{{zzzzyzz{{{z{z{{{z{yzyyzyzzzz{zzzyzzzzzzyz{z{{{yzzzyyzxyyzyzyyyz{zyyxyyyyzzzzz{zzyzyyyyzyyzzzzzzzzyyzyyyyy{zyzzz{yyyyxxzzyyzzzxz{zyyyyzxyzzzyzzzzzyzxyyyzyzzyzzzzyyyyyyzzzzzyyzyzyyyyxyzyyzyzyyzyyyzyxzyyzzzzzzzzzzzyyyyyy{zzzzzyzyyyyxyyyyyzyzzzyxyxyyyxy{yzzzzzzzzyzyyy{z{zyz{zzyyy{zyzzzzzzz{{yyzyxyzzyzzyz{zzzzyxyzzyz{zy{zzyzyzyzyyyzz{{zz{z{yyzy{zyzzzz{z{yzyzzyzyyzzyzzzz{{zzyyzyzyz{{zz|zzyyyzy{zz{zzz{z{{yzzzzxyzz|z{{{{zzzzzzyz{{{zzz{{|y{yzzzyzzz{z{{z{zzyy{{zz{{{{{{{{yzzzzyzzz{|{{{zzyzzzyzzzz{zz{{|{{zzzzzz{{zzz{{{{zzyy{zzz{zzz{{{{y{yyzzyzzz{z{zzz{zzzyzyzy{yz{zzzyyzyyyxyyzzzzzzyyzzyyyyzzzzzzzyz{zyyy{yyzzyzzzzzxzzzxxyzz{zyzzzyzzyyzyyzzzzyyzyzyzyyyyyzzz{yzzyzyyxyyyyzy{{yzzyzzyyyyzyyyyyz{zyyxzxzyyyzyzyy{zzzyyzyxyyz{zzyy{zyzyyyzyyyzyzyz{zyzyyyyyyxyy{zzzzyzyyzyyyzyyyz{zzyyzyyzyyyzyzz{zzzyyyzyyzz{zxzz{zyy{zzyyyzzzyzzz{yyzyyzyzz{z{z{{zyzyyzyzzzzzzzyzzzzyzzzyyzz{zy{{zzyzxzzyyzy{z{z{{yzzyzzyzz{z{{{{zzxyzzzzz{{z{z{{|zyzz{zzz{zzz{zzzzzzzzz{z{z{z{{{{yz{yzz{yzz{z{{z{|zzz{zzzz|y{z|{zzzzzz{z{{{{{{{{zzzyzzyzyzz{z{{z{zzyzzzzz{{{z{{z{{yzz{{{yz{{zzzyz{zyzzyzzzzzz{z{z{{{yzz{zy{yzzzyzzzzzyyzyyzzz{zzzzyyzyyxyzyyzzzz|yzyyyyyzzzyyzz{{zxzzyxyyyy{zzzzzzyyzxyzyzyzzyzy{zyyyyzyzy{zzyzzyzzyzyyyzyz{yzzzzyyzywzxzyyz{yyzzzyzxxyzyzzy{yz{yzyzzyzyyzzzzzzzyyyyzyzyyyzz{zyzzzzzxyyzyyzzzzzz{{yyyyyyyyyzzz{yy{zyyzzyyzzz{z{z{{zzzzyyzzzzyzzzzyyzzzzyyzzzzzzzzzzzyzzzz{{{zzz{zzyzyyyyyyz{zzz{{yzz{yyyzzz{zyzzzzyyyyyzxz{{zzz{zzzzzz{zzzzzz{{{{zyzzzyzy{{z{{|{{zz{{zyyyz{zzz{{{{zyz{y{zz{{z{{z{{z{z{{{z{{z|z{{|{zzzz{zzz{{{z{{{{zzyyzzyz{|{{{{{{zzzzzz{{{{z{{{zzz{zzzyz{{zz|z{{y{zyz{{z{{zz{{{zzzzzyyz{z{{z{zzzyyzy{zzyzzz{zz{yyzzzyyzxyzzzzzzzyyyyyyzyzzzzyz|{yyyyzzzzzxzzzz{zzyzyyyyzy{zzzz{zzzyyyyyyy{zzz{yyyzzyyzyyzzzzyzzy{yyyxxzzzzzz{{z|y{yzyyyyzzyyyzzzyyzyyyyx{yzzzyzyzyzyyyyyxzz{{zzzzzyxxyzyzzyzzyz{yyzyzxzzyzyzzyyzzzyyyyyzyzyz{zzzyyzyyyyyzzzzzz{{zyzzyxyyzz{zzz{{zyzzyzzy{{z{zzy{yzzyyzyyzy|zz{z{zyzzzx{yz{{zzzzzzyzyyyyyzzzz{|{{zyyzyzzzz|z{zzz{yzzyyzzz{zy{{z{{zyyyzzzy{{{zzz{|{zzzzzyzz{z{{y{{zzyzz{zy{|{z{{{{zz{zyz{z{{{z{{z|zz{zz{zy{{{{{{{{zz{zzzzzz{{zz{z{|yzzzzyzzzzz{zz{{{y{zzzz{zz{{{{{{{zzzzz{z{z{{{{{y{{zzzzzzzz{z{zzzy{yyyyzzzzzz{zzyzyxzyyyyzzzzzzzyyxzyxxyzzyyz{{zyyyyxzyzzzzxzzyzyyzxzyyyzzzzzyzzzyyyxxyxzzyzzzzzyyyyyyyxxzxyyzzzzxyyyyyyyzzzzzyy{yyyyyxxyyyyyyzzyxyxyxxyyzyzyyzyyyyzyxyyzyzyzyzzyzzxz{zyyzzyzzz{yyyzyyyyyyzyyzzyzyyyzxzyyzzyzzyzyyyyzzzyzy{zzz{zzyyyzyzz{zyzyzzzzzyzyyyzyzy{zzz{yyyxyzyyyzzzzyzzzzzxzyyxzzzzy{zzzyyzyyyzzzzz{zzyzyzyzzzzzzzzz{z{zxyxzzxyzz{{{y{{yzzz{yz{{z{|zzzzzz{zxzyy{{zyz{{zzyzzzyzy{z{z{z{{zyy{y{zzz{{z{{z{{zyyzzzzz{{z{{{zzzz{zzz{{z{zz{z{|yzy{{z{zyyzz{z{{{z{yyyyyzz{z{zzzzyzzzzzz{zzzz{zzzzzyzzzzz{{{{{zzz{yyy{zzz{{zzzzyyyyzyyxzzzyyzzzyyyzxyxxzyzyzzz{zyyyyyzxzyyyyzzz{yzyxyyyzyyzxzzyzyxxyyzy{yyzzzyyyyyyyyyxyyyzyzzzzyyyzyyxzyyzzzzzyzzyxyyyzyzzyzzyyxyyzyyyyzzzyzzzyyyzyyyzyzzy{yzzzyyxyzyyyyzzyyzzyzyyyyzxzyxyzyzzzyyyzyyzxzzzyzzyzyxyyyyzzzyzyz{{zyyyyzyyzzzzyyzzyyzzyyyzzzzyzzzzyyzzyyyyzzyyzzzzzyzzyyyyyyzzyzy{zyyxzyyyy{zz{y{zzxyzyy{zzzzy{yy{yyzyyzzzz{{{{{yzyzzzyzzzzzzzzz{{yzzzyzyyzz{z{zy{{yzz{yzy{z{{z{{zzz{zzzz{zzz{z{{{yzzyyzyzyz{|zz{zzyzyyzzy{{zzzzy{{zyzzy{{z{z{{{z{zzyyzyzz{z{{{{{{zzzyzy{zz{zzzz{{yzyzyzyyy{zz{z{yzzzyyyxyz{zz{zzyyyyyyyzyzz{yzyz{zyxyyyyyyzzzzz{{zzyyzzyyyzzzzzzzzxzyzyyyyyzzy{{{yyyyyyzzzzyzz{z{zyzyyzzxyyzz{zzyzzzzyyyyzzzzyzzzyzyyyzzzzyyyz{zzyyyyzyyy{zyzzzz{zyxyyyyxzz{zz{{yzyzyyxyyyyz{z{z{zyzxyyy{yyzzyz{zzyyyyyyxz{yzzz{{yzzyyzyyzzzyyzz{zzyzyyyzzzzz{zz{yyzzzyyz{zzzyzz{yzz{zyzzy{xzyy{zyyzyyy{yzzzzz{zzzyyyzzzyz{z{zy{zy{zyzzyyzzzzzz{z{zzzz{yzzzz{zzzzyzzyzyzyz{z{{{{{zyzzzyyy{{z{{|z|zzzz{zz{z{zzzz{{zzzzzzz{z{z{{{z|{yz{zzz{z{{zz{{z{zzzzzzzzzz{{{{zzzzzzzzz{{{{{z{{{zyzzyzz{|z{{z{z{{zyzzzzyz{{z{{{{zzz{yzyzz{zz{{{zyzzyyxyz{{zz{zzyyzyzy{yyzzzyzzzz{yzzyyyyyyzz{{{zy{yzyyzzz{yzzz{yyxzzyzzyz{zzz{yyzyyyyzzzzz{zyz{zyyyyyzxzzzyzz{zzzzzyzyyzyz{zz{{zyzyzzyyzzy{zzzzyzyzyyzy{zzzzzzzzzyyyyyyyzzyzzzzzyzzxzyzz{zzyy{zzzyyyzz{zzzyzz{zzyyyyyyyyyz{{zzzyzzzyzzzz{zzzzzz{yzyzzyzzzzyz{z{yzzzyzyzzy{zy{zzyzzzyyzyz{zzzzzz{zzzzyyyz{{zz{{z{zzzzyzz{zzzzzyzzzy{yyyz{zz{zyz{zzzzzyyz|{z{zzzzzzzzzzz{{{z{zz|{z{zzzyyz{{{{{{{{{zyz{zzzz|{z{z|{yz{{z{zzz{|z||{{{y{zyzzy{{{{{z{|{z{{zyzzz{{{zz{|{zzzzzyzz{{zz|z{{{z{{zyz{{{{z{{zzzyyz{yyzzz{|z{{{zzzzzzyz|zzz{zzzzzzzzyyzzz{zz{zyyyzyyzzyz{yzz{zzyzyyyxyyzy{z{zzzzyzyzzyz{zz{{{zzyzyyyzyy{zzyz{{zzyyyyzyzzzzzzyzzyzzyyyyzzzyzz{zyyzyzyyyzyzzyzzz{yyyyyyzzzzzzzzzzzyzyyzyzzzyz{zx{yyyxyyy{zzzzzzzzyzyyzyyy{z{zz{{zyzyzyyyzzzzzzz{zzzzyyxyzyzzz{{{zyzyy{yyzzz{zzz{zyzyzyyzzz{zyzzzzyzzyzyzzzz{zz{zyyyzzyxzzz{zzz{yzzzzzyzzz{{z{{{zzyyyzyzxz{{{{{{{{zzzzyyzzzzzzzz{zzzyzzy{z{{z{z{|zzzzzy{z{z{{z||{zzzz{zyz{{zz{|{{zyzz{zzz{{{{{{{{{zzzzzzzzzz{{z{||z{zzzzzz{{{{{{{{zz{zzz{zz{z{z{z{zz{zzzz{z{{{z{z{{z{{zzz||z{{|{{zzzzzyzzz|{{{z|{zzz{zzyyy{{{z{{zzzzyzyyyz{zz{zyzxzyzyyzzzzzzzz{zyyyzyyyyzzzz{zzzyxzxzyyyzyzz{z{zzyzzzyyyxzzyyzzzzyyxyzyyzzzyy{zzyzzzyzyyzzyyzzyzxyzyxyzyzzzyyzzyyyyyyzyyyzyzyzzyyzyyyyyyyy{zyzzzzxxyyyxyxyzzzyzzyyzyzzxyyzzzxzzyyyyyyyzyyzyyxzz{yzxxyzyzyzzzzz{yyzyzyxzy{zzz{zzz{yyzzyzzzzz{z{z{zyyzxxyyyyzyy{z{yyzzzzzyzzyzzzzzzyzyyzzyzz{zy{{z{zzzzyyyzz{yzzzzzyzzzzyy{zzzz{{{zzzyyyyzzzy|{z{zy{yzzz{{{zz{{{{{zzz{zyyyz{{zz{zz{yzyzzzz{{{{{zzzzyzzy{z{{{{zzz{{{zzzyz{zz{{{{zz|{zzzyz{zz{{{{{z{{zzyzzzzyz{|{{{{{{{zzzz{z{z{z{{{{zzyzzzzz{zzz{{{{zzzzzyz{z{{z{z{{z{zyzzyzzzz{zy{zzyzxzxxzzzyz{{zzyzyxyyyz{zyy{{zyzyyyyyx{yzy{z{zyyyzzxzyyz{yy{yzzzzyxyyyzzzzyzy{zyzyyzyyyzzyyzzzyzzyzzyyy{zyyzzzyyzxyzyyz{zzyzyzyyzyzxyxzyz{{yyzyyyyyzxyyzzzzzyzzxzzxyyxy{zyzz{yyxzyyxyyyyyyxzzzzzxyyxzyy{zzyyy{yyzyzyyyzzyzyz{yzyyyyxyzzzzyz{yzzzzyyyyyz{{zzzz{yyzyyxxxzzyzzz|zzz{zzy{zzz{yz{{yzyyzzzzyz{zzz{|zzzyzy{zzzz{yzzzzzyzyyzzzzzzzz{{zyzy{zzzzz{{{z{z{zzz{{zyyz{zzzz{z{yzzyyzzz|{{z{{z|yzzyz{{{{{zzz{{z{{zzzzzz{{z{{{zzzzzyzzyz{{z{z{z{zzzzzzz{zzzz{z{z{yzzzzyzzz{zz{{zzzyzzyzzzz{{{||zzyzzzyyz{zzz{{{yyyyzzyyzyzzz{zzzzyyzyyyzzzyzyzzy{yzzyyyz{zzyz{{yyxyyzxyzyzyzz{z{zyxzxxyyzzzyz{zzzyyxyzyyyzz{zzzyyyyyxyyyzzyy{{z{yyyyyyyyyzzyzzyyyyxzzzyzyyyzzz{xzyzyyyyzzyzyzyzzyyzxxyzzzzyz{z{yyyyyyyyy{zzzzz{yyyzzxyyzyzyzzy{zyzzyyyyy{y{zzzzyyyzzzyzzz{{zzz{zyzz{yzyz{{zz{{|zyzzzxzyy{zzz{y{zyyzyzzzzzzzzzyzzyzxzzyyyzzzzzzzyyzyzyyyzz{zzz{zzyyzzzyzz{y{zzzzz{yzyyyyzzzzz{z{y{yzyzzyy{{{{z{{zz{yyzzy{{{{{{{|zy{zz{zy{{zzz{{{zzzyzzzz{z{zz{{{{zyzzzzyy{{{{{{{z{zzzzzzz{z{{|{{zyyzz{zz{{zzz{|zz{zzzzz{y{z{{{{z{zyyzz{z{{z{z{{y{{zzyyzyzzz{{z{{zyyxyzzyzyzyzzz{yyyyyyzyyyzzzzzyzyyyyyzy{yyzzzzzzzyyyzzy{zzyzz{zyyzyyzyzzyzyzyzzzyzyyyyxyzzyzzy{yyzxyyyxzyzzxzzyzyyzyyyyzx{yyzzyyxyyyyyy{zzzz{zzxyyyyyyxzyyzyzz{{yzyyyxyyyzzzzzzzzyzyyyyyyyzzzz{yyyyyyyxyzzyzzzzzzxyzyxyzyzyxzzzyyzzy{yyyzzyyzzzyyyyzzyyzyzzyzz{zyzyyyz{{{zzz{z{yzyzyxzzz{zz{zzzy{yxzzzyzzz{yzzzzyzyyzzxzz{zzzz{yzzyzxyzy{{yzzz{zzzzzzz{zzzz{{{{yz{yyzzzy{{{z{{zz{zzzyyy{{{zz{{{{zzyzyzy{{{zz{{{zyzzzzzzyzzz{{{{zzzzy{zyzzz{{{{{{zzzyzzzzz{{z{z{{yyyzzyz{zz{z{{{{zyyzzyz{yz{z|{{z{yyyy{z{z{zzz{{zzzyzzzyz{zzz{zzzzzzyxzyzzzzz{{zyzzzyyyyyzzzzzyzyyyyyxxyyzz{{zzzzyyyzyzy{zzzzz{yzy{yxyyyzyzzzyzzzxyyyyzyzz{{zzz{yyzyzyzxzz{zzzzzzyyzyyzzzz{zzzzxzyzyyyzyzzzz{zz{zyz{yyzyzxzzzzzzzyyyyyzyzyzzzzzyzyzyyyyyyyzyzz{{zyzyzyzyzyyyzyzzzzyyzyyyyzzzz{zzyyyxy{zyzzzzzzzzzyyzzxzyyzzzzzz{zyyyyzyzyzzz{{y{zyyyyzyzz{zzzzzzzzzyyyyzy{zzyzzzzzzzz{zyy{zzz{|zzyyzzzyzzz{zz{zz{zyzzzzzzzz{|{zzzyzyyzzz{zzz{{{{zzzzzyyzzzz{|{{zzzzz{zzy{|{z{y{{zyzzzyz{{zz{{{{zzzzzzz{z{|{{z{z{zz{{{y{z{{{z{{z{zzzzzzyz{|{{z{{|zzz{yzzzz{{z{{{{yzyyzyzz|zzzz{{{{zzzzzyyz{z{{{{{zzyzyzzyzzz{{zzzyyzyyyzyz{yyyzzzyzyyyzzyzzyyzyzzzyzyyzzyyyzzzz{zzyzyyxyxxzyzzyzzyzzzyyyyyz{zzzzyxyxyxyyyzyyzyzzzyyyyyyzyzzzzzzyyzyyzyyyyyzzzzz{zyyyzyxxyyzzzzzzyyyyyyyxyy{zyzzyyzzyzyyyxxzzy{zz{xzyzyyyxyzyzyyzzzzyyzyyxyzyzyzzzzyzzzzzyzzzzzzzz{zzyzyyyzz{zz{{{zyzzzyzzzzyyyz{zyzzyzyyyyzzzzz{zyyzzyyyxyyzzz{z{{zyyzyyyyz{zyz{{zzxz{zzy{{{zzz{zzzzzzyzzz{z{|{{zxyzyzzzz{{zz{{{zzyyzzxzyzz{zz|{|zzyyzzyz{zz{z{z{zyzzzzz{zz|{{zzy{z|{y{zzz|z{|{{{zzzz{zyzz{{z|z{z{zzzzzzzzz{{zz|zz{yz{zz{z{|{{{zzzzzzzzyy{{zzz{{{zzyzzzyyz{z{zz{zyzyyzzyzyz{zzyzzyyz{yyzyyzzzyzzzyzzzyyzyz{zzy{{zyzyyyzyxzyyz{|zzzyyzzzyyzz{{yyy{yzyxxyyxyzzyzzyzzyzzyyyyzzzzz{{zyzzyzyyzzzzyxzzzyzzyyyxyyyzzyzzz{zyxyyxxyz{{zzzzzyyyyyyyzzzyzyzzyyzyxyyxyzyzzz{zyzyyzyyyzzzxzzz{zyxxzzyzyzzzzzzzzzzzyzyyz{y{z{{{{zyyyyzyyzz{{zz{{yzyzzzyz{{{z{{zyzyzzyzzyzzzzzz{z{yyzyzyzz{yz{zzzyzyzzyzyz{zz{{zzzyzyzzyzz{{zzz{yzzzzzyyzz{{zz{zzzzyzy{zzzzz{z|{zyyzzzzz{zzz{{z{zzzyzzzz{{zz{{{{zzyzzzz{{z{zzz{{zzzz{{zzz{zz{{{z{zzzyzzyz{z{z{{{{zyzzy{zzzzzzz{{{{{z{{zz{{{{{{z{zzzzzzzzzz{{{{{{{zzzyzyzz{zy{y{zzzzyzyyyzyzzzz{zyyyyyyywxzzzzzz{zyzyyyyy{zzzzz|{{yzyyzzyyyzzyz{zzzyyyyzyzzy{zzzzxzzyyyyyzzyzyzzzzz{yyyzxzzyzz{zzzzyyxzyzyyzyzzzyyyyyyzyyzzyzz{zzyyzy{xyxzzyzyzzzzyyyyyzzzzzyz{zyyzyyzxzyzzzzyy{{zyzxyxyyyyzzyzy{zyyzyzyyyyzzzz{zyyzyyzyyzz{zzz{{zz{yzzyzzzzz{z{{zzzzyyxz{z{zzyz{yyzzzyzzzzz{z{{zzyyyzyzyyzzzzz{zzzzyzzyzzz{z{{{{yzzzz{z{{{{zzzzz{y{zz{yz{z{{{{|zzzzz{zyzzzz{yz{{{z{zzzzz{|{z{{{zzzzzzzzz{{{z{|{{z{{{z{z{zz{{{{{|{zz{z{y{z|{{{z{|zzzzzzzzz{zzz{{z{zzz{zz{zzz{{{z|{zz|{zzzzz||zz{{zzzyzyzz{z{zz{{{z{{zzyyzzzzz{{zzyzzzyzzzzzzzz{zz{yyzyyyyzy{yy{zzyyxzzyyyzzzzzzzzzyzyyzzxzyzzzzzzzzyyzyzyy{zyxz{{yzzyxyyyyyyz{zzzzyzzxxzzzzzyy{zzxzyxyxzyzzzyyzzzzyyyyzyyz{yzzyzyyxyyzxyyyyzyzzz{yxyzyyyzzy{zzzzzzzzyyyzyzzzzzzz{yyyyyyyyyzzyyzzyzyyyyxzzz{yyzzz{yyyyzyyyzzzzzzzzzzzx{zzzzzzzz{z{zz{zzyyzzzz{zzz{zyzyyzy{z{zzyz{{{zy{{yzyzzzz{z{{yzzyyzyyzzzz{z{{zzz{zyzy{zzyz{zz{zzyxy{z{z{{zzzzy{zzzyy{z{zz{{{{zyz{yzyzz{zzz{{zzzz{zzzz{|{z{y{{{zzzy{{{zz{{{{z{{zzzyyz{zz{{{{z{{{zzzyy{zz{{zz{{zz{z{zyyzzz{{{|{zzzzzxzzzz{z{|{{zzyyzzy{z{zzz{{z{zzzyyzzz{{{zz{{zz{zzzyzyzzyy{{zyzyyyzyyzzyzyzzzzyyyyyyyzzzyz{zzzzyyzyzzzyzzyyzzzyzyyyyyyzyzzyzzzzzyyzzzzz{zzz{{yyzyyxzyy{yyy|{zzzzxxxyyzz{zzzzxyzyzzzy{zyzzzzzzyyzyyyyx{z{zzy{{zyyzzzyxzzyzzzyzyzyxyyzyyzz{yzyzyyyyyzyyyyyyyzz{y{zyzyyyzzzzy{{zyzyzyzyzyzzzyzzzzyxyzzzyzzzzy{y{zyzyyyy{zyzz{{{zyzzzyyyz{z{zz{{zzyzzzzzzy{z{z{{zyzzzzyyzzzzzzz|{zzyyzyzz{z{zz{z{zzzzzzzzzz{{{{z{yyzyzzzz{zz{z{{|zzzy{yzz{z{zzz|z{zzz{zzy{{zz{{{zzzzzz{zzzzz{{{{zz{z{zz{zz|{|{{{{{zyzzzyzz{zzzzzzyzzzzzyzzz{{z{{{{zzz{zzz{z{z{{{zyyyy{{{zz{zz{|{|{zyyzzzy{{z{{zzzzzzyzyzzzzz{zzyzzyyzzxxxxyxyzz{{yxy{yyyyyzy{zz{{zyyzxyzx{zzzyz{{yxyzyyyyyzzzzyz{yyzyyyyxzyzyy{zzyzyxzzyxyy{zyz{xzxyyyyyy{zzzyyzzzyyyyxzxzzyzzzyzxyyyyyyyzzzyzzzzyzzzzzzyyzzyzzzyyyzzyyyyyz{zzy{{yyyyxyyyyyyyyzz{yyyyyyzyy{yzzzzzzzzzzxyyzzzzzzz{zzyzyyyyzzzzyz{zyyyyyxzzyzyzzzz{zyzzyyzzyz{z{zzzyz{yzyzzzzz{yzzzyyyzyyzzzz{zyzz{zyzzzyzyzzzyyz{zzyzzyy{y{zz{z{{zzzzyyyzy{z{z{{|{zxzzy{yzz{{{{{|{zyzzzyz{{z{z{{|{zz{yyzyz{{{zz{{zz{yzzzz{z{{{z{{||zzzzxyzz|{{z{{{yyyzzyzz{z{{{{||{zyz{zzzz{{z{{{zzz{zz{{zz{zz{{{zz{zzyyyzz{z{{{{yy{zyz{zyzz{zyzzzzyyxyyzyyz{y{z{{yzyyyyyyyz{zzzz{zzyyyyyzzzz{yzzzzyyyzyyzyzzzyyzyzzyyxxzwzyzyz{zyyyzyyyyxxzyzzz{zzyzyyzxxyzzzzyzzyyyyyzxyzzzyzzzzzyyxzxyyyzyyzzzyxxyyyxyyzzzzzzzzyyzxxyyyzyyzyzzzyzyyyyxxyyyyzzzyyzxyyxzyyzzyyzzzzyzyzzyyzyyzyzzzzyyyyyzxy{zzzzz{zyzzyyyzzzzy{z{{zzyyyzyyzzzyzzzzzzzyyzzyzz{{z|zzyyzzyzzyyzyzzz{zzzzzyyyzz{zzzzz{zzyyzz{yzzzzz{zzy{yzzz{zzzzz{z{{zzyzyxyzz{z{{{z|{zyzzzzxz{{zzz{{{zzzzz{zy{{{z{z{{{zzzyzyz|{zz{{{zyzzyyzz{zzzzzz{{yzyzzzzzzyz{{z{zzzzyzz{zzzz{{z{zzzyzzzyzzzz{zz{z{yz{yyzz{z{z{{{zy{zyyzyzzzzzzyyyyyxyyzyyzyzzzzzzzyyyyzzyzyyzzzzzzyzyyyyzzzzzz{zyyyyyxxxz{{{zy{zyzxxyyyyzyzzz{yzyxyxyyzxzyzyyzyzzyyxzyxyyyzyzzzzzyzyxyzyzyz{yyzzyyyyxyyyxyzzxyzyyyzyyzyzzzzz{yzzzzyzxzxyy{zzyyyzyyyzzxyxyzyyyyyyxyyyyzzyyzxzyzyzzxyyyyyxzzzzzyzzzzzyyyyxzz{zzz{{zzzyyyzyyz{zzz{zxzyyzyyyzzzzzz{zxyyzyyzzzzyzzzyyyyzzyyyy{{zy{z{z{zzyyzyyz{yyz{zzzyyyyyzzzzz{{zzzzyzzzzyzz{z{{{y{zzyyyyzzzz{zzzzy{yyyyyzyzzz{z{{|zzzzzzzzzzz{zzzzzzzzy{z{z{{{{{{|{zz{zyzy{z{{zzz{{zzzzzzzzzzz{z{zy{zzzzzzz{{z{z{{zzzyyzzy{{yzzz{{{yz{zzyyzz{zz{{zyyzyzyyyzzzzyzyzyyyxyxyxyyyzyyzzyyyzyyzyyyzzz{zzzyzxyyyyzzzyzz{yzyyzyyyyz{zzz{zzyyyyyyyxzyyyzyyyyzyyyyzyyzyyyzyzzzzyyyyyz{{yzzyzzyyzzzyyxyyzzzzzxyzzyyyyyyzzzzzyzyxyyyyyyzzxzzzzzzyyxzyxzyzyzz{yzyyyzwyxyzyzyzzzyyzyyyyyyyzzyz{yzyyyyyyyyz{zzzzzzzyyyyyzy{zyzzzzyzzyxyyyzzyzz{zzyyyz{yyz{yzz{zzzxyyzzzyxzyyzzzzzyyyzyyyyyzzzzz{yzyyyyzzzzzzzzzzzyyyzzzyz{y{zz{{zzzz{zzyzzzzz{y{{zyzzyzzxzzzz{z{zzzzzzyyyz|z{z{{z{{zzz{zzzzzz{{{|{yyzzzyyz{z{z{{{{z{zyyz{{zzzz|zz{yzz{yy{{{zz{{{{yzy{{zzzzyz{z{{{zzyyyzyzy{zz{{{zzyzyyzzyz{zzzz{zyyzyyzyyzz{yzyz{yxyyyyyzzzzyyzz{zzzyyxyzzzzzzz{{zyzyyyyzyzzzzz{zzzyyyyyyyzzzzzzzzzyyyyyxyyzzyzzzyyzyyyzxzy{zzz|zzyzzyyyzyyzyzzyzzyzyyxyyyyyyzzzyyyxyyzyzyzzyzzyzyyzyxyyyzyzzzz{zzyyyyxzyyzzyzyzzzzyzyyyyyzzzzzzyyxyyzyyyzzzzyzz{yxyyyyyyyzyzzzzzzzzzxyyyzz{y{zzzyzz{yyyyzzzzyzzzzzyyyyzzz{{yzz{zyzzzxyyyzzzzz{zzzyzzyzyyzzzzyzzyzyyyzyyz{zzzyzzzzyyzyzzyzzzz{z{zyyyyzyyyy{z{{{{{{zyyyyzyzz{zyz{zzzyxzyzzz{zz{z{{zyzyz{z{{{z{{|zz|zyzzzzz{{{|{{{z{zz{zzyyzzz{zzzzzxzzzzzzz{zzzz{z{zzzzzyzz{z{zz{{{z{y{zz{zyzz{{{{{yyzyzzx{{z{zzzyyyzzzzzyzz{z{z{yyyyyyxyyyzzyzzzzz{zzzyzyz{z{zzzzyzxzyzzyyxzyz{{{zyyyyyxzzzzyyyzzzzyyxyyyzy{zzzzzzzyyyyzyyzyzz{{yyyzyyyxyyzzyyz{yyyyzyxzzyzzzyz{zyyyzxxxyxyyzzyzzzzxyzyyy{zzzzzzyzyzyyzyyzzzzyzyzzyzyyyzyyzyyzzyzyyyyyxzyyzzzzyzzzyyyzyzyyzyzzzzzzzzyyyyzyyzyzz{{zyyzxxzzzzxz{yy{yyxxzyzyy{zzzz{{{zzyyyzzzzzzz{yyzyzyzyxzzzz{zzzzzyzzzzzy{z{yz{{yyyzyzy{zz{{{z{z{yzzyzzzz{{zz{z{{{zzzyyxy{zz{{z{yzyyz{yyzz|{{{y||zy{yyzzzz|zyzz{{zzzzzzy{z|z{z{{{zzy{yyzz{{{z{{{z{y{zzzzzy{z{z{{|{zzzzyyz|zzz{{{{zzzzyzzyzz{zz{z{z{yyyyyzz{yzzzzzzyzxyyxyzzzzyzyzyyyyyzyyxzyyz{zzyyyyxyyyzzy{zzz{zxzyyzyy{{yzz{zzzyyzzyyzyzzzzy{zzyyyyyyyz{yzy{y{yyzyyzyzzzyyyzzzyyzxyyyyyyzzyz{yxyzyzyyyzyzzz{{zyyyyyyxyyyz{yzzyyyyyyyyzyyzxzzyzz{yyzzyzyyzzzzzzzyy{yyyzzzyyzy{zyyyzyyyyzzzzyzzzyyzzzyyzz{zzy{z{yzyzzyzzzzzzzzzyyyzzzyyyzzzzy{{yyyyyyzyzzy{z{{{zzzzy{yyyyz{z{{yzzz{zzyzyz|zzyzzzzzz{zzzyzzzzzz{{zzzzyyzzzzz|zy{{zzzz{yzzzz{{{zz{{yz{yyzz{{z{{{{zzzyzzyzy{{{zz{{|zz{zzz{zzz|z{{{{|yyzz{zzz|z{z{{{{zz{zzz{{{{{z{zzzzzzzzyz{yz{{{{{|yz{{zzzz{z{{{z{zzzyyyzyyz{{z{{{{zz{zzzy{zzzzz{{zy{yyyzyyz{{{zyyzzyyyyzzzzzzxzzyyzyzyyyyzyzz{yzzzzyyyyyyyzzz{zyzyzzyyzyzzzzzyzzzzyzyyxyyyzy{zzzzzzyyyxyxzzyyzzzzyzzyyyyyyxzzyyzzzyxyyyyyyzyzz{{{yzzzyyyzyzzzzyzzzyyxyzxzzyzzzzyzyyyyyyyzz{{{z{zyyzzxyxyzzzzzzzzzzzyxzzyyyzyzyzz{yzyyzyzyy{{zzzzzzzzzzyyyzy{yzy{zyyzyzx{zyz{zz{{zyzzzyyyyzzz{z{z{{xyzzzzyz|z{yzzzzyzyzyzzzz{zzz|{zzzyzyzzzz{zyz{{yzz{zyyzzzz{z{|{zzzyzzz{{zz|z{z{{zzzz{zyz{{zz{zzzyz{zyzyzz|{{z{{zy|zzzyzzz{z{{z{z{yzzzz{z{zyz{|z{zzzyzyzzz{{zzz{{zzzyz{z{zz{{zz|{{zzzyxz{z{{|{z{zzzyyzzzz{{{z{{{z{zzyzyyz{z{{{{zyzyyzy{yzzzy{{zzyyzzzx{yzyzzyzzzzyyxzyyyyzyzzzzzzzzyyzxxzzyzyz|yyyyzzyyyzzzyzyz{zyyyyzyyzzzz{{zzyyyyyxyyyzzyyzzzyyyyyyyyyzyy{{zzyzzxyzyyzxyz{zy{xyxxyzxyyyyzyz{xzyxyxyyzyzzyzyyzzyyyyzyzyzzyyzzyxzzyyxxyyzxyzzzzzzyyyzyyzzzyyzzyzyzyyxzyyyzyzzz{zxyyyyz{zz{yzzz{zyzzzzzyzyzzzzz{zzyyzzzzzzzz{zzzzzzyyyyzyz{{{zzzzzyzyyyyy{zzzzz{zyzyyzyzzzzzzzz{zzzyyzyyyzyz{{z|zy{zzzzz{zz{{z{{zzzz{yzyz|zzzz{zzzxyzzzzz{zz{z{zzz{zzzz{y{{{{{{{{yzzz{zzy{{{y{{|zzzzzzzzz{{{zz{{zyy{z{z{zzz{{{{{zzzzzyzz{{{{z|{{{zzyzzzyzz{zz{{{zzyyzzzzyzzyzzzzzzzyzzzyzz{zy{yzzyyyyxyyyzzzyzzzyyzyyxzyzxzzzzzzyzxyzyyzzz{zzzzzzyzyxyyy{yyzzy{zyzzyyyyyyzzzyz{zyzzzyzzyyyyyyzzyyyxyzyxxzyzxxzz{zxyxzyyzyxyyyzyzyxyyyyxy{yyyxzzyzzyzyyzyyyzyzzyyyxzxxyyyyzyzyz{yzyyyyxyyyzyzzzzzzyyyyyyzy{yzyzyzyyyyyzyyyzzzyzzzyyyyyyzzyzzzzyzzzyyyyyyyzyyzyz{zyyzxyyzy{zzyzzzzzyzyzxyyzzy{z{z{zyzzxyyyzzzzzz{zzzyzzzyzzzzzzyzzzzyzz{yzzzzzzz{{zyzy{y{zzyy{{{{{z{yzzyzzz{zyzz{{{yyz{zyzz{z{{z{|z{y{yzyzz{z{{{{{{z{yxyzzz|y{z{{{{yz{yzyzzzz{{{zzzyy{yzzzzy|zz{zz{yzzzzzz{zzzzz|{{zyyzzz{z{z{z{{{zzzzxzz{{yy{zzyzzzzyzzyyz{{zyzyyyyyyyyzxyzzyzyzyyxyyyzzyyzzyzyzzzyywyyzyzyyzyyzzzyzyyyyxxzzyzzzyzyzyyxyyzzyzzyy{yyyyyzxyzzzxyzzzyyyyzyyxyz{zzyzzzyyyyyyzyyzzzyzzzyzyzyyyyyyyzzzzzzzxyyxyyzzz{zyyyxzyxyyxyyzz{zzyyyzyzyyyyzzyzyzyyzyyyxyyyzz{zzzz{yzyzzyyyzx{zzzzzyyyzxyyyyzzyzzzzyzzyyyyzzzzzzzyxyyyxzyyzzzzzy{zyzzyyxzyzz{z{zzzzyyyxzyyyzzzzz{yzyzyyzxyzz{yz{zzyzyzzyyyzzzz{{zzzzy{zy{{zz{{{z{z{yyzyyzzy{{zy{zzzzyyzyzz|{{z{{{{zzzzyz{{{z{zz{z{{zzzz{zzzz{{z{{z{yz{yyy{{zz{z{{zyyzzzyzzzzzzzz{{{zzzzyyzzzz{z{zzzzzzzzyzzz{zzz{{zyyyyzyyzzz{{z{zyyyyyyyyzyzzyzzyyzyzyyyyyzzyzz{zyzyzxyyyyzzz{z{zyyyyzzyzzyyy{{{zzyyzzyzxyzzyyzzzyzyyyyzyzyzxzzyyyyxyyyxxyyyyzz{zzzyzxyyyyyzzzzyzzyyyzzyyyzzzz{zzzyyyyxzyzzzz{yz{zyyyyzxyyzzyzzzzzyzyyyyy{zzzzzzzyxyyyyzzyzyzyyzzyyyyzyzyzyyzzzzyzyzyyzzyzyzzzzzzzyyyzyzy{zzzz{{zzyzzyyzyzyy{zzyyyzzzzzyxzzzz{zz{yzzzyyzxyzy{zzzzzyyyyy{zz{zzzz{zzyxzzy{z{z{zy{zzyyyxzzyzzz{{{{{zzyzzzzzyzzz{{{{{z{zzzzzy{zzzz{zzzyzz{yzzz{zz|{z{zzzyyzzzzz{{zzzz{zzzzzzzz|{z|{zz{zz{z{zz|zzzzz|{{yz{zzzz{zzzz{||{zzzyyyz{zz{{{|{zzzyzzzzzzzzzzz{zzzzyzyzzzz{{{zzzyzyyzzyzzyz{{zyyyxxyzyx{yyzzyzzyyxyxyxyyzzyyz{zxxyzyzyyzzzyzzy{yyyyyyyyzyzzyzyzyzyyxyxxzyyyzzz{yyyyyyyxxzyyyzzxyyyxyxzyyxyyz{y{yxyxyyxyyyyzyzzzyyyyyyyyxzzzzzzyyxyyyyyyxyyzyyyzxzyyyyxxyyzzyyzzyyyxyxyyyzzyyzzzyzxyzyzxyyyzzzz{yyzyyyyxyzyyzyzzzzyyyyyxzyyzzzzzyxyzxyyyzy{zzzyzyzzywxzzyyyyzz{zyzzzzzxyzyzzzyzzyyyzyzyyzzzzyz{yzxxyyyyyzzyyzzzzyzzyzyzzy{{zz{{{zzzzyzyyy{zzz{z{yyzzyzyyz{zyzzzzzzyyzyyyz{zz{zzyyzzyy{zz{z{z{z{{zzzzyzyz{zz{z{{{zyzzzzyz{z{{zz{{zyyyzzyyzzzz{z{{{yyyzyzz{{z{z|z|{zzzzyyyz{zzz{zyyzz{z{yyzzz{y{yyzyzyyyyyzzzzzzyzyyyzyxyxyyxyyyzyzzyyyyxxyz{yyy{zyyyyyzyyzyyzyzzyyxyyzxyyxzzzyyyzzyyxyxyyyzyzzyz{yyyyzyyxyyzyyzzxzzyxyyyyzzzzzzyzzxxxyzyyyyzzyzxzxzzyyyxzzyyyyzzyyzxyyzyyyyyyyyzzyyzyxyzxyzzyyzyzyyyyyyyyyyyyyzyyyyyyzyyyyzyyyzz{yyxyyyxxyyzzzy|yyyyyyyyyyzxyzxzzyyzyyxyyyzyyz{zzzzyxyxxyyyyz{zzzzyyy{yyyyz{{zzzzzzzzyxyxyzzzy{zzyyyzyzxyyzyzyzzzzyyzzzyzzz{{y|{{yyyzxyzy{yzzz{{{zyzzyyyyyz{{zz{yzxyzyzyyz{{zzzzzzzzzzzzyy{zy{zzzzyzzyyzyy|z{{zz|z{zzyyyyyzzz{{yz{yyzzzzzzzyz{zzzzyzz{yzyzyz{zyz{yyyyyzzyyz{zz{{{yzyzzyyyzy{{{zzyzyzxyyyyzzzyzzyzzxxyyyyxyyzzzzzzyyyyyyxzyy{zzzz{yyyxyyzyzyyzz{zz{{zyyxxxyzz{y{{{zyzyyyyyzzyyyzzyyyyyyyzyyzyyyzzzyyyyyyyzzyzyzyzzyyyyyzyzyzyzyyyzyyyzyyxyyzzzzzzyzyyyxyyyzzzyxzzzyyyzxyxxzzyzyzzyzyxyyyyyyzzzyyzzzyxxyyzyyzyzzzzzyzyyyyyyzzyyyz{zzyxyzxyyzyyz{{zzzzzyzyyzz{{zzz{{yyzyyzxyyzzyzz{zzyzzzxyzzyz{zzzyzxzzyyzy{zzzz{{zzzzyzyyyyzzzzz{{yyyyy{zzyzz{{{zzxzyz{zyy{{{{zz{{yzzzyzyyz{{z{{{z{zzz{zyz{|{z{{z{{zyzyzzzz{{zzz{z{zyzyzzzz{|{|{zzz{zzyzzzzz{{zzzzzyyzzzzzzzz{zzz{{zzzzzyy{{z{zz{{zzzyzyzzzzzz{z{{{yyzzxzz||{zzzz{zzzyyyyyy{zzyyyz{yyzzzxyyyzzzzyzzyxzyyyyyzyyzyz{zzyyzzyzyzzyzzzzzzzyyyyyzzzzzzzzzzyzzyyyzy{zzy{zzyzyyyyxy{yyzzzz{zyyzzyyxzzyy{zzyyyyyyyyzyzzzzyzzyyyyzyyyzzzzyzyy{yxyyyzyzzy{{zzyyyyyyyxy{yzzzzzyzxzzyyyyzyyzyzzzyyxzyyxyyzzy{zzzzyyyzyyzzz{yzz{zzyzzyyy{zyzz{y{yzyyxxzzyyyyzzzzyzzyzzyxzzzzzzzzyyzy{yzyy{z{{z{zzyzzzxyyz{zzzz{{{xyzyyxzzzzyzzzzzyzz{zz{zz{zz{z{zyzzyyzzz{z{{z{{{yzzyzzz{z{yz{z{{zzzyzzzz{z{z{{zzyyyyzzzz{zzz{zz{z{zyzyzzz{{|{{z{zz{zzzzyz{{zzz{zyzzyy{z{{z{z{{{{zzzzzzz{{{{z{|zzzyyyyzzz{{{z{{zzyzzyzzz{z{{{zz{yyzyzyyxzz{zzzyzzzyyyyzyxy{yyzz{y{z{zyyxzzzzzzzzyzzyzzzyzyzzzy{zyyyyyyzyzzzzyyz{zyzyyyyzzzzzy{{{yyxxxyzzyz{zzyzzyzzyzyyxzzyyzzzzyzzyyxxyzyyzyy{zzyyyzyxyyzzyzzzzyyzyyyxzyzzzzyyyyyyzxyyzzzz{zyzzzzzzyzzxxyyzzyzzzyyzyyyyxzyzzzyzyyzzzyyzyzzzyy{zzzzyzyyyyyzz{zzzyzzzzyzzzzzz{zzzyyyyy{yzyzzzzzz{zzzz{zzyyyzz{zz{yyzyyzxzzz{zzz{zzzyyyyyzz{zzzz{zzzzy{zyzz{y{{{{{zyzzyzyyzzy{{z{{zzyzzzyzzy{{z{{zzyzyy{zzz{{{{{{z{zyzzzzzzzzz{{{zzzz{y{zz{{{{{{{|{yzzyyzy{{{{zy{z|zzzz{zzzz|{{{z{{zzzzz{z{{zzzzz{zz{zzzzzzzz{{{z{{zzyyzyyzzz{z{zzzzzzyyyyzz{z{yzzzzyyzyyzyz{yz{z{zyyyyyzyyzzzzy{{zzyzyzxyzzzzyyzzyxyyyzzyyzyzyyzzzyyxxyyxzzzzzzyzzyyyxxyxyzy{zzz{zzzzyyxzzzzzyyzyyzzyyzxyyzzzzy{{yyyxyyyyzyzzzyyzzyyzx{xxzyzyz{zyzyzzyyxyzzz{zyzzzyzyyyyxyzzxzyzzxyyyyyyyyzyyzzy{yyzyzyyyzzzzz{z{yzyyzyyyzzzyyzz{zzzyyxzyzyyzzzz{yz{yyzyyz{z{zzzzzzzy{yzzzzzzzzzyzyzyyyyyz{{z{z{zzxyy{zyzzzzyzzz{zzyyzzzzzzz{z{|zzyyzzzy{z{zzz{{zzzzzzzyy{{zx{{{z{z{zyzzzz{{z{{{{zz{zyz{zz{yz{{z{{yzyyzzz{{{{{{{|{zyzyzzz{{{{z{z{zyyzyzyz{z{{z{{z{zz{zzzy|z{{{|z|z{zzzz{yz{{{{{z{{yzzzzzyzzzzz{{{zyyyyzzyzz{{z{yzyzyyyyyyyzzz{zyyxyyyyxyyy{zyzzzzyxzxyyyyzyyyz{zzzyyyyyzyyz{zzz{zzzyyyyzyzyzy{yyzzyxyzyxxyzzyyzzzz{xyzyyzzyzzyzzzyyyyyzwyzzyzzyzzyxzyzyyyzyyzzyzyyxzyyzxyyz{yzzzzzxyzyyxzyyzzyzyzyyyyyyyxxzzxyzzyyyyxyxyyyzyyyzzyyyxxyxyx{zzzz{yzzxzyyzyz{zyyyyz{xzyzyxyxyzyy{zzzzyzzyyyyzzzzy{z{zzyyyxzzz{zy{z{zyyyzyyzy{zz{zz{z{yxzyzzyzz{zzzzzzyzyzyzzzzz{zzzzzzz{zyzzzzzyyzzzyzzzzyzzz{{z{{{y{xzzzzzzzz{zz{|z{yzzzzzz{{{z{{{{{zzzy{zz{{{z|{{{zzzyyyzy{zzzzz{zzzzyy{{z{zzzzzz{zzzz{zyzz|{{z{z{zzzyzzzzyz{{{yz{{yyzyzzyzzy{{zzzzyzzyyxzzzzzzzyyyyxxyyzyyzzxyyzzyxxyyxxyyyzyy{{zzzyyyyzyyzy{yz{zzyzyyxxyzzzzzzzzyy{yyyyxzyyyzzyzyyyxyxyyyyzyyzzyyzyyyyyyzy{yzzzyzyyyyyyzzzyyyzzzyyyyzyyyyzzzyyzyyyxzyyyxzyyzzzyzyyyxyzzyzyzzyyzzyyyyzxyxy{zyzzzzxzxyyyyxz{yyy{zzyyyyyzzyzyyyzyzzyxyyzxyyzzzzzzzzyyzyyxyyzzyzyzz{yzyyyxyyzz{yyzzzyy{yyxyxzzzzzzzxzzyyyyyyzzyzzy{zzyzyzzyzzzyyzzzzzzyyzzyyzzzyzzzzzzzyz{yyzzzzz{{{zzyyyyyyyz{z{z{z{yzyzyyzz{z|{z{zyzz{z{{zz{zz{{z{zzzzyz{zz{z{zz{{{yzzzyzz{zzz{{zzxyzzzzyyz{zzzz{z{{z{zzzzzzyzzy{{|yzyzzzz{zzzz{z{zzyzyyyyzz{y{z{zzzzyyxyyzyzzz{yyzyyyyyxyxz{zyzyzyyyyxyzyyzzyzzzzzyyxyyyzzyzyzz{yyzyzzyyxzzzyyyz{zyyyxzzyyzzzzyzzyyzyyzxyyzyzzzyzyyyyyxyzzyyzyzzzyxyxyzzzyy{zzzzyyyyyxyyyyyzyyyzzyzzyxyxxzzyyzzxyzzyxyyyyyzzyy{zz{yyyyyxzyyyxzzzzzyyyyyyxyzzzz{zzyyzzzyyyzz{{zz{zzzyyyyzzzzzyzzz{zyzyyxzzzzzzyz{{zyzxyyyyzzzzyy{yzzyzyx{yyzzyz{zzzyyyzyzzyz{zyyzzzyyzyyyyzzyzz{{zzzyzyzzyzzzz{z{{zzyy{yzz{{z{z{{zzz{zyzyzzzzz{z|{|zzyzzyy{{z{|{z{{zzzzzzzzz{{{zz{zyzzzzy{{zz{z{{{{z{zzyzyz{{zz{{{zzyyyzy{zz{z{zzz{zyzzzzzz{{{z{|{yyzyzyzzz{zz{z{zzzzyyyzzzzz|y{z{zzzzzyyzyzzz{zyzyxxyzyyyyyzzz{zzyyyyyxyyzyzzzzzzyzxzyzyxzyzzzzzzyyzyxxyzzzzzzy{zyzyyyyyy{zyzyzzzyxyxyyyzyyyzyyzzyyyxyyyyxzzyyzzzzzyyzzzyyzyzzzyyyyyyyyyyzyyzzzzzzyxyxzyzzyzyzzzzyyyyyyyyyzzzzzz{zzyyyxyyyzyyyzyzyzzyyyzxzzzzzz{|yyzyzyyxzzyzzzzzzyzxzyyzzzzzzzzzxyzzzyzyzzzzz{z{yzxzyyyyzzzz{zz{zzzzyxzyy{zz{z{zyzzyzyyyzzzyzz{zzyzyyyyyzzz{y{zz{z{zyzzyz{{{{{{zzzyyzzzzzzzzz{zzzzzzz{xz{{z|zzzzzzzzzy{z{{z{z{{{{zzzz{|z{z{z{{{{{zzzyzzz{|{zz|z{zzz{yzzzzzzzz{z{zyyzzzyyzzzy{z{{{zyzyzyy{zz{{|zzzzzyzzzyy{z|{z{{zz{yzyzyzzz{zzzz{yxzzzzyzzy{zzyzyyxyyyyxyyzzzz{zyyxyyzyyyyzz{zzzzzyyyyyyz{zzzyzyzyyzyyyzyzzz{yzzzyzyyyyxzyyzzzz{yzyyyyzyyyzyyzzzyxyyyxxyzzzzy{zyyyyyyyyxzxzzyzyzyyyyyxyyyzyzyyzzzxyyxxyyyzyzyzyyzyzzyyyyzzyzzyzzyxyyzyxyyyxyyz{zyzxyyxyyyzzyzzzzyyyyyyzyzyy{yzzyzz{yzyyzyzz{zz{{yyyyyyxyzyzzzzz{yyzzzyzzzz{yz{{{zyzyyzyyz{{z{{|zzzyyyxzyzzzz{zzzzxyzyzyyzzzzzzz{yzxzzyyyyyzzz{{zzzzyzzzzzzzzzz{{zzzzzzzxz{{{zzzyzzyyzyzyz{zzzz{|zz{zzz{y{{|z{z{zzyyzzyzzzz{zz{z{zzyzzy{zzz{zz{|{{yzzzzzzzzz{zzz{{zzyzzzzzzz|zz|{zzyyzzyzzz{{{zz{|yyyzzzyz{zy{{{y{yzzzxxyyzyyyyzzyzyyyyxyyzz{zyyyxyzzyyzyyyzx{zzzyzxyyyzzyyzzzy{zzzyzxyyyzzy{yzzzyyyyxyzyzzzzzzzzxyyyzy{xyzzyyy{yzzyzyyyyyyzyyzzzyyxzyzyyzzzzzzyyyzzxyyyxyzyzzzzzywxyyyyyzyzyzzzzyzyyyyyyyyyzzz{zzyyzzyzyyzzyzzzzyzyyyyzyyyyyzz{zzzzxyyyxyzzzyz{zzyyxzyyzzzzzzzz{zxyyzzzzzzzzzz{zyyzyyyxyyz|z{zzzzyzzzyzzy{z{{zz{zyzxyyyyyzzzzzzzyzz{yyzzz{zzz{zzzyzzzzyzzz{{z{z{zz{yzzzzz{z{yz{{zzzyzyyzz|{{{z|z{yzzzyyyz{zz{{{{zyyyzzzyzz{{{{zzzzz{{zzzz{zz{{z{{zzzyzzzzz{{zz{z{zz{yyyz|{{z|zzzzzzz{zzzz{zzzzz{{{zyzzzzyz{{{zz{z{zzyyyy{{zzzzz{yzzyzyz{z{zzzzyyxyxyxyyxxyzzzyzzyyzyyyyyz{zz{zz{zyyzyzzyzyzzzzz{zzyyyyzyzzzzzzy{yyyyxwyxzzzzzyyzyzxxxzyyyzyz{zzzzyyyyzzxzz{zyzzzzzyyzyyzyyzyzzy{yyyyyyyxzzzzyy{zzyyzyyyyyzzzzzzzzyyyyyyyzzzzyzyzyyyyyyyyyzzyy{zz{yzyyyyyxzyy{{zzxzyxyyyyyzzyzzz{zyyzzyyzzzzzzzzzzzyyyzy{yzyzzzzzzzzzyyzz{z{z{z{zyyzxyyzy{zzzz{yyzzzzyzyxzzzzzzzzzzyyzzyyzzzyzz{zzzzzzz{y{z{zzzzyyyyyyzzz{zz{zz|{zzzyzyzyyzzzzzzzzy{yzyzz|z{z{{{{yz{yy{zzz{{yzzz{{z{yzzzz{{{{{{z{{yzyyyyz{{{{{{{zzyzzyyzz{zz{z{z{{zzyyzyz{{{zzz{|z{{zzzzyz{zzzz|{{zzyzzyyzz{z{z{{zyzyzyyxz{zz{zz|yyyzyyyyzyzyzzzzzyzzyyyyzzy{zzzzzzyyyyyyyyzzz{{zzyyyyzyyzzy{zzz{yzzyyyyxzzyzzzyzzzyyxyyzyzyzzzyzzyyyyywyzyzyyzzzyyyzyyxyyyyzyyz{xyyyyxyyyzzzzzyzzzyzyyyyzzzzz{zzyyyzwzxxz{zzzzzzyzyzyyyxzyzzyz{yzyzxxyxyzzzzzzz{yzzzyxxyyzzyzzyzyyzyyzzzzzzzy{zzyyyyxzyzzyzzz{zzyz{yzzyzzz{{zz{zzyzzzyzyzzzzz{zz{zzzzzzz{{{{zz{zzyzzyzzyz{z{yzzzzzyzzyzzzz{{{zzzyyz{yz{z{{z{zzz{zzyzzzzzzzzz{|{z{zzz{yzzz{z{{zzzzyzy{y{zz{zz{z{{{yzyzzyzzz{z{z|z|zz{zzy{zzz{z{{{zzyzzyzzyzzz{z{{{zzz{z{zzz{zz{{{{{{zzzyz{{zz{z{{y{zzyzyyz{{{zzz{zzzxyyyyyzzyzxyzyy{yzyzxzzzyzzzzyyzyyyyzzyzzz{zyzyzyzyyzzyzzyzy{zzzzyyyyzzyzyyzzzzzyxyyyy{zzy{z{yyyyyyzyz{zyzzzzzzzzyzyyyyzyzz{zyzzyzyyyzyzzyzzzxyyyyyyyyxzzzzzyzzyzzyyzyz{zyz{zyyyzyzzyzzzzzyzzyzyzyyyyyzzzzzzzzzzzzyzyyzyyzzzyzyyzzyzy{zzzy{{zyyyzzyyzy{{zyzz{zyyzzzyyz{zzzzy{yyzyyyyzzzzzz{z{yyzzzzzzzzzzyzzz{zzzyyyzz{zyzzzzzzyyzzzyz{zzz{z{z{zzzxyy{{z{zz{{zyz{zyzz{{{{|z{{{z{zyzzy{yz|{zzz{zzzzyzzz{zz{z{{zz{zzz|zz|z{{|{{|z{zzzzyz{{{{{{{{zzzzyzzz{{zzz{zzzzyzzzyz{{zz{|{{zzzzzyyz{{{{|z{zzzyyzyyz{z{{z{{zzyyzyyyz{z{z{{zzyzyxyzz{zyzz{yzyyzyzyyzzyzzzzy{zyyzyyyyyzzyzzzzzyyxyzzyzyzzz{{yyyzyyzxyyyy{zzz{zzzyyyzyzzyzzzz{yyyyzzxyyzzyzyzzzyzyzzyy{yzyz{zzyzzzyyxyzzy{zzzzzzyxyyxxzzzzzzzzyyyxyyyzzz{y{zyzzzyxyyxzyzzzzy{zzzyyzyzxyzzzzzzyzyyyyzyyxyzy{zzzyyyzzzyxzyzzyzzzxzyzzyz{z{yzy{zzzyyyzy{yzzzzzzz{yyzyyzyx{z{zz{zzzyyyyyzzyzzzzy{zzzzyzyyxz{yz{z{z{yyzzyz{zyzzzzz{zzyzzzyz{z{{{zz{yzzy{zzyzzz{{{{{zy{zzyyzzzy{{z{zzzzz{yzzz|zzzz{{{zzzzzzzzz{{{|z{{zyzyzzz{{zz|{{{{zzzzyz{|z}z{zzyzzzzzzzzzz{{{{{{zzz{{zy{|{{{zzz{|zzyzzzzz{{{z{z{{y{yyzzzz{yzzz{zzyyx{yxzzzzzzyz{yyxzzyyxzy{z{yzzzzzyxxyyzyy{{yz{yyyyzyyyzzzyzz{{yyxxyyyyzzzyzz{{zyyyyyyxzyzzyzyzyyzxyyxyzzzzzz{zzzyyyyyyzyyzzzyxyyyxxyxzyzz{yzzzzyyyyyxyyzzyyzzzyyyxyzxyzy{zzzzzyyyyyyxyzyzzzzyzyyzyyxyzzzzyzzzzzyyzyzyzyzzzyzzxyzzyzyyyzzzzz{{zyyzyzyyzzzzyzzzzzzyyzyzyzzz{z{{zzzzyyyyzz{{zyz{zzyyyzzzyyzzzy{zyzy{yyyyyz{zzzz{zzzzy{zzy{zz{yzyzz{zyzzyyzzz{{{{yzzyzzzzz{|{{{z{|zzzzzy{z{{{{{z{z{zzzzzzy{{zzzz{{{zz{yzz{{{{yz{y{zyyyz{zz{{yz{{{{zyz{{zzz|zzz{{zz|zz{z{{zyz{z||z{{{zz{y{{z{{{{z{{yzzyyzyzyz{z|zz{zyyyy{|zzz{z{z{zyzyyyyzz{zzzyzzzyyyyyyyxxzzyzzzzyzyzyxyyzyzy{z{yyyyyyzzyzzz{zz{zyzyzxyzzzyyzzz{{{yyyxyyyyzy{z{zyyyyyyyyyzz{yyyzzyyzyyyyzzzzyzyzyyyzyxyyyyyyzzzzzyyyxzyyzyy{yzy{zzzzyxyxzzzyyzyyzyy{yyyxyzzzzyzzzyyyzzzyyyzz{zzyzyxyyzxyyyzzzyy{zxyzzzzzyzzzy{yzzzyzyzyyyzyzz{{zz{xyyyxzyzzyzz{|zyyzyyzz{yzzzy{zyzzzzyyyyzyzzz{zzyzzyzyzyyzzzzzzzzzzzyyyzzz{zzzy|zyzyyzyzy{{{zz{zxyzzyzzyz{z|z|{{zyzyzyzyzzzz{z|{zyz{zzzyz{z{{{{zzzzzzzzzz{{zz{z{zyyy{zzyzz{{z{zzzzzyyzz{{zz|z{{zzyzzyzzyzz{{z|{{zzzz{zzz{zzz{zzzz{zzyzy{zzzz{{z|{zzzzzzyyzzzzz{zyyyyyzyyyzzzzy{yyyxyyxzyy{zyzyyyy{yxyyyyyzyzx{zzyyyxyyzyyyzyzzyzzyyzzyzyzzyzyz|zzzyxzyzxzzzzyzzzyzyyxyyyyyzzyyzzyyzyzyxyzxzyyyzzyyxyyyyyyyyyzzzyxyyyzzxyyzzzyyyyyyxyxzxyyyyyzy{yzyzyxxyyyzzz{yzzyyxyzzyyzyyyzyyzzxyxyyyyyzyzyzyzyyyyyyxxzzzyzyzzzyyxyyyyyzyyyzz{yzyyzyyzzzzyzzzzyyzzyyzyzyzyz{zzzxyzyyzyzzzz{zyzzyyyzyyzz{{zzz{zzyyyyyyyyzyyz{zy{y{yyzyzyzzzzzzyyzzzzyzyzz{zz{{{yzyzzyzyzzzzzz|zzyz{yzzy{zzzz|{{zy{zzzzzzzzz{{y{zzzzzzzz{|{{zz{zzyzzzzzzz{z{{z{zyzzzzzzzz{zzz{{{{zyz{zyz{z{z{{{{z{{xzzyzzzz{zz{z{zyzzyyy{zy{zzzzyz{yzyyyz{zzzzzzzyyyxxzyzzzyyyz{yzyyyxyyyyzy{yzzzzyyzyyxyzzyyzyyyyyyyyyyzzzyzyzzyzzyyyyxzzzzzyz{yyyyyxzxyz{yyzzzzzyyxyyyzzyzyyyyzyxzxyzzzyxyzzzzyyyyyyyxyyyzyzzzyyxyyyyx{yzyyyyzyzzxxzxyyzzyyy{zzyyyzyzyyzyzzyzzzzyyyzyxyyyzy{{zyyzyzzyyyy{zyz{zyzyzzyxyzyyyz{z{yzzxxxyzzzzyyzzyyzzxyyyzxyzzyzzzzyzzzyxyz{zzz{zzzyyyyyzxzyzz{{zzzzyyyyyz{zzyzyzyzyzyzzyz{z{zz{{zzyy{zzzy{z{z{zz{zzyzyyxyz{{z{{zzyzzzzxzz{{zz{{z|yzyzzz{zzz{zz{{{zxzyyyz{zz{z{{{|zyyyzzzyzzzzz{{zzyyyzz{yy{zz{||z{zyyzzzzzzzz{{{{yzzyyyyxzzz{z{zzzzzxzyyyz{zzzyzxyzzyzyyyz{z{zyyyyzzyyxxzxzzyxzzzyzyyywyyzzyyzzyzyyyyyzxyzyzzzzzzyzyzzxyyyz{yyzzzzyyxxyzxzzyzzzyzyzzyyyzzzzzxzzy{yyzzyyyyxyyyyyzyzxyxyyyyyzyyxzzyyyyyyzyxyyyzzyzyyyyyyyxzyzyyzzzzyyyzyxzzyz{zzz{{zxzzzyxxzyyzzzzzyyyyyyyyyzyyyzzyzyzzyzzyzzzzzz{yzyyyyyyzyzyyzzzzyyzzyyyy{zyzzzz{yzzyzyyzzzzyzzzzyzyzzxyzzzzzz{zzyyyyzyyyzyzyzy{yzzzyzzyzz{zzz{zzzyzzzzz|z{{{zzzzyyzzyzzzzzy{{{y{zyzzyyzy{{zzzzzyzyyyyzyzzz{|z{z{yzzyzyzyyyzzz{{zzzzzyzzz{|{z{{{{zz{{zzzz{|{{{{{y|zyy{zzz{zzyzyz{zzzzyzz{z{z{{z{|z{zzzyyzz{zzz{{zzzzzyzyyz{{zzy{zzzzyyxy{zz{zyz{zzzyyyxyyyzyyzzzzzyyyzxyxzzzz{zz{zyxyxyzyzyzyzyz{yy{zyxyzyzyzyyyzzyzyxyyxyz{zzzyzzyzyyyzyyzzyzzzyzxzyyyyyyzzzzzyzzyyyyyyzzzyzxzzzzxzyyyxyyyzyzzzzyyyxyyyyyyyzzz{zzyyyyyyyyyyzzyz{zyzzyyxxzyyzyzzzzzyyzzyxyzzzy{zzzyzyzzzxz{zyyy{zzyzyyyxxz{zzz{z{zzzzxyyzzz{zz{zzyzzyxzyzzzzyzz{zyzyzyyyyzyz{zz{yzzzzzyyyz{{zzz{z{y{zyyyzzzzzyzz{{yyzzzzzyzz{zzz{yzyyzzzzz{z{z{z{{zzzyyzzzz{zzz{zzyyzzzzy{zz{z{z{{yzzzzz{z{{{|z{z{zzz{yzzzz{z{|{z{zzzyzyz{y|zzz{{zy{z{zzy{{z{{z{{zzyyzzzzz{z{{zy{z{zy{yzzzzzzzz{z{yzzyzzyz{zzzzzzyzzyyyzyyz{{zzzzyyyzxyyyyzz{zyzzzyyyyyyxzzyzzzzzxyyyzy{zzzz{zzzzzyzyyzxyyyzzyyy{yyzywyzxyzzzzzz{yyzyyyzyyyzyyz{zyyzyzyyyzyzzz{yzyyzyyyyyzyyyzzzzyxzyyzyxzzzzyzzzzyyyyyyyyy{yzzzzyxyyyyzyyzzzzxzzzzxzzxyyzyzyyzyzzyxyzyxyxyyzzzy{yyyzzzyzzzyzzzzzzyyyyyyyzzzzyyz{zyyxzyzyzzzyz{z{zyyyyyzyzz{yzz{{zyyyyzyzzzzzzzz{zyyyyzyzzzzz{z{zyzyyyyyz{zzy{zzzzyyyyyz{yz{{{z{{yzyyyzzz{z{{z{{{zzzzzyxz{zz{z{zzzzzzzyzy{zzzz{zzzzzyz{zy{z{y{z|y{yzzy{zzz{{{z{|zyzzzzzzy{{z{{{z|zyzzzzy{z{{y{z{{zzzz{zzzzz{{z{z{zyzzzyzyz|z{zzz{{yzzyyzzzzzzzzz{yzzyyzzyzz{zzzzyxyzyzyyyyzzyx{zzzyzzzyyyyzzzzzzy{zyyyyzxzzy{zzzzyzyyyzyy{zyyzy{zyzzzyxyyyzzzzyzyyzzzyyzyyzzzz{yzyyyyyyyyzyyyzzzyyyyyyzyyyyyyyzzyzyzzyyyyzzyyy{zzzzzyyyyyzyzzzzzzzyyzyxxxzzxzy{zzyyyyzyyxzyzzyzyyyyyyxyxyyzyxyzzyyyzyxzywyzzzz{yzzyyyyxzyzzzzzzzzz{yyyyzzyyz{zzz{zzxyzyzzy{zzz{z{{zzzzyyyzzzzzzzzzyzyyyyzzz{zz{{yzyyzyzyzzzzy{z{{z{yyzyyz{{{{{{z{zzzzz{zy{{z{{z{{{zzzzzzyzzz{{{z{zzzz{{zz|z{z{{{{zzzzzzzz{zzzz{zzzyzzzzyyz{zz{z|zzzz{zzzz|{zz{{{|z{y{zzzz{{z{y{{{zy{zzzzy{{zzz{{{zzzyzz{x{zzz{|{{z{zyyzzzzzz{z{z{zyyyzyzyzzzyzyyxyzxyyxyyyz{zyzyzzyyyyxxzyzzz{yzzzzyyyyxyyzzyzzzzyyyyyyzzyzzzyzzyyyyyyyyyzzzzz{z{zzyyyzyzyzyzzzzyxyyyzzyyzyzzyxyyyxzxxyyxyyzzzyzzyyyyyyzyzzzyzz|zyyyyxyxzzzzzzzyzzzzyxyyyzzyzyzzzyyyyyyyxyyzyzzyzyyzyyyyzyyyzyzzzzyzyzyzwyyzzyzy{yzyyyyyyzzzzz{{yzyyzyyzyzz{zzyy|yyzyxyzyzzyzzzz{zzyz{xzyyz{zzz{zyzzyzyyzz{yzz{{yyyyzzzyyzz{z{z{zy{zzzyyyzz{z{{{{zzzzzzzzzzz{zy{{zyzzyyyzzzz{|{{z{y{zzzzz{{{z|{{|zz{zyzzz{zzz{zz{{zzzy{zyz{{|zz{{{{zzzzzzz{|z{{{{zyyy{{zyzzzzz{zz{zyzzzyzz{{zzz{{{{zz{yzyz{{zz{{{zzyyzzzyz{yyzz{zzz{yzyzyzzzzzzyzyyyzxyyyyyzzyyy{yxyyzyzzzyzzzzyzzyyyyyzyzyz{zz{zyxzyyyzyxzzzyxyzzyyxxyyxzzzzzzzzzyyxzzyyzzzzzyzzyyzzzxzyyyzyyzyzzxyyyyyyzzyzyzyzywyyyzyyyzz{yyyzxyyxyzyxyzyyyzzzyyzyxxzyyzzzyz{zyyyyzyyyyyzxzy{zzyzyyxxyyzyzyzyzyyzxzzyyzzzzzzz{zzzxyyzxzzzz{{zyyxyxyyzzzzzzzzz{yyzyyyyzyzyzz{{zzyyzyyyyyzz{zz{zzzyyyzyyz{y{zzz{zyyyyyxzzzzyz{zzyzyyyyyz{{z{z{zzzz{yyzyyzzz{z{z{{zy{zzyz{{zzzy{zzxzzyyzzz|zzz|{{zyz{yzy{zzy{{{z{zzz{zzz{{{{{z||z{zz{yyzz{{{{z{{{zzyzzzzyzzzzz{{{{zzzz{zzz{z{z|{{zzzyz{zyzzzz{{{{zz{zyyyyz{zzzzzzzzzyyyxzyyzyyzzyyxyzyyyyxzyyzy{{xxyyzxyyzzzyyzyzzyyyyxyyzzzzy{zyzyyyzzyyyzzyzzzzzzzyxxyxyzy{yzy{yyyyzzyxy{yyzzzyzyzxyyyyyz{yyy{yyyyyyyyxzzzzzzzzyzyyyxxyyzyzzyzyzyyyxxyyxyyyyzyzzxzyxyywy{zzzzzzzxyzyxywxzzzyyyyyyyyzxzyyzyzx|zzzxzyyzyyyzzy{z{zyxyxyyyyzzzzyzzzyyyyyzzyzzzzyy{{zyzzzyyyz{zzzzz{zyzxyyyyzzzzzzzy{yzzzzyyzyzzz{{{zyyzyyzyz{{zyyzzzyzzyz{zzz{zz{{zyzyzzz{yzyz{zzzzzyz{zzyyz{{{zzy{{zzzyzz{zzzzz{{z{yzzz{{zzz{{zz{{zzzzz{zyz|zzz{{zzyzzyzzyzzzz{z|z{yzy{yyy{{z{z{{zzzzz{zzz{{{z{{{|yzzyyyzzz{zzz{|zzzyxzzzyyzzzyyyzyyyzyyyyyzzzzzzyyyxyzyyyyyyyzyzzyzyyxxzzyz{yzy{zzzyxyyzyyyzyyz{yzzyxyyyxyzzzzz{yzzyxxyyyzzyzyyzzyyxyxyxxzyzyzyzyyyyxyzxyyzzxyyzzyyyyyxyyzxyyzzz{yyxyyxyyzzyzzzzyyyyyxyyyzyzyzzz{yyyyxxxxyzyyyyzzyzyyyzzyyzzyyyzzyyxyyxyyzyzzzzzzzyyyxxyxzz{yzyzzzzzyzzyyyzyz{zzzzyyyxyzyzz{yzzz{zyyzyyzyzz{zz{{zyy{yyyzxy{zzzzyzyyyyyzyzzzzzz{zzzzyzyyyz{zyzzzzzzyyxyyyyzz{|zzzzyzzyzzyyzz{zz{z|zzyzzyzy{zz{{zzz{xyzzyzyz{{{zz{{zzzz{zyyzz{{z|{{{yy{yzzzz{{{|{{z{zzz{zyy{zz{{{{|zyy{zz{zzz{{{y{zzzzzzzzzzzz{{yzzzzzzyzyyz{z{{{z{yzzzyyyy{|zzzzzzzyzzzyzyzzzyzzyyyyyywyyxyzyzzzzzyyyyyyyyyyzzzzzzyyxxzyyzyyyyyzzyzxzyyyyyzzzzyzyzzzyyyyyxyy{yyzzzyyyyyyxzyzzyyyzyxzyyyyyyyzzyyzyzxyyyxyxyxyxyxyyyxyxyxxyyzzzyyxz{yyyxxyxyyzyzzxyzyxyyxxxyyyzzzyyyyyyyxzyxyzzzyyyzyyyxyyyyxzyyyyyzyyyyyxzyzzzyzzzyzxyyyyyyzzzyzyzzzyyyyyzzzyyzzzy{yzyyyyzzzzzyzzzzyxyyzyyzyyzzzzzzxyyyzyzyzzzzzzzyyzzzyzzyzzzyyzzz{zyyzzyy{{zz{z{zxyzzyyyyyzzzzzzzzyzzxyxyzzz{yz{{{zyzzyyy|zyzz{{{zzzzzzyy{{z{z|zzzzyzyyyyz{z{z{{{{yyzzyzyzzz{zzz|{yzyyz{zzzzz{|{z{yzzyzyz{{y{z{{{zzyyyyyzzzyzyzzzzyyyy{zyyzzzzzzzyxyyyyyyzzzzzyyzyyyyyxyyxzzyzzzzxyyxyyxyyzzy{zzzyxyyxyzxzxzzzy{{zyyxxyyzzzzzyzzzzyyyxyyxyyzxzzzzxzzxyyyyyxyyxzyyzyyyyxyyyzzyzy{yzyzxyyyxyzyzxzyzxxzyyyxyzzzzyzzyyyyywyxxyzyyzzzzyyyyxyxxzyzyzzzzzxxyxyyxyzyzy{zzyzyyyyyyzz{zzxzzzzyyyxyyzyyyzyzzzyyyyyyzz{zyzzyzzyzyyxy{yzyzyzz{yx{zyyzxzzyzyzzzyzzxyyyzzzzzzzyzzzzyzyyyzyzzyz{zyzyzyyyz{z{yzzy{yyzyzyzz{y{{zzzzyzzzyzzz{{{{zz{zzyyzzyzx{zz{zz{zzzzzzyzyzzz{{{z{zzyzzzzy{{zz{{{|zzzzzzyyzzz{zzzz{yzz{z{y{{{z{{{zyyyyzyzzyzzyzzz{zyzyzzzzzzz{{zz{{yzyyyzzyzzzzzzzzzyyzzyy{{z{yzyzyyyyyyyyzzzzzyxzyyxyxyyyzy{zzz{zyyyyzyxyzzyzzzyzxyyyzzyxyxzzz{zzyy{yyxyyzzz{zzyz{yyxxyyxyxzyzzzzyzyyyyxyzyyyzyzzzyxyzxzyzyyxyzyyzxyxxxyyyyyxzzzyzyyxxyyyyyyzzzzy{xyyxyxyyyzzzzzyyyzyyyxxzyyyzy{zyzxyyzyxyzyzyyzzxyyxzyyxzzzyyyzzzyyxzzzxzyyzzz{yzyyyyyyyzyzyzzy{yyxyyyyzzzzz{z{|yxyyxyyyzzzz{yzyyyzy{yzxz{yzzzzyzyzyzyyzyzzzzyzzzxzzyyyy{zzyzy{{{yyyzzzxyzzz{z{{zy{zyzz{yzzzz{{zyyy{yyyzzz{{z{{yyyzyzzzzzzzzz{|{yzzz{yzyzy{{z{z{{zzxzzzzy{{|{z{{zzyz{y{zy{z{zz{zzyzy{zyz{{{z{{{z{{z{{zzy{yzzz{{zzzyyyzzyyzz{zz{{z{zyzyzyzzzzz{zzyyyyyyyyzzzzyzyyyyzyyyyxy{yzyzzyyyxxyyzyyzzzzzz{zyxzzyyzzzyz{zz{yyzzyyyyyzzzzzy{zyzyxyyzzyzyzzzyyzzyzyzyyzyyzzzyyyzyyyyxz{zyzzzzzyyyyyyyyyy{yyyzyzzyyyxyzzzyzzzyyyzzzzyzzy{yyzzzyyzzyyxxyzzzyz{yzyxyyyyyyyzzzzyyyzyyyyyxyzyzzzyyyyyyzzzyzyzyzz{zyyyyyyyyzzzyzyzzzyzzyzzzzyzzzzz{zzyyyyyz{yyzy{{zzyyyyzyy{zzz{zzz{yyzyzyyyzzzzy{zzzzzzzzyz{zzz{zzzyzzyyzzzzzzzz{{yyzyzzzzz{zzy{z|yzzyzyyz{{|zzz{{{zzzyzzz{{{zz{z{zyzyzzz{z{{z||{zzzzzzzz{z{{zz{|z{zzzzzyz{zz{zy{{zzyyzyz{{{{{z{{{{zzzzzzz{yz{{{{|zyzzyzzz{zzzzz{zzyyzzyzx{zz{zyz{zzzzyxyyyyzz{z{zyyzxyxyyyyzyyyyzzxyyxxyxy{yzzzz{yzyyxyyyzyzxyx{yzyyyyxxyzzyzxz{zyyyyyyzyzzzyyzyzyyyzyxyyzzyy{zzzyyxxyyxy{y{yyzzyyyyxyyzyyyzzyzzyxyyxxyyyxzyyyzyzzzyyyzxyyyyzzyzzxyyyxyyyyz{zyzzzyyyzyyyyyyyyzzzzyyyzyxyzzzyzyyz{zyzxzyyyyzyzzy{zyyyxyyyyzz{yzzzzzyzyzyzx{zzzzy{zyzzyxyyzzz{{yzz{zyyzyyzzzzyzyz|zzyzyzzyxzzzzzzz{zyz{yyyyzzyzy{yzzyzyyzyz{z{{{{{zz{xzzzyzz{zz{z{z{xyzzyzyz{{{zz{zzzzzzxyy{{{{{{zzzyzzzyyyz|{yz{zz{zyzzyyzzyz{{{|{zzz{zzyzzz{{zz{zzyzz{yyz{zz{z{zzzyyzzzzz{zz{{|{|yzyyzzyzzzz{yz{{zzxyzyzyzzzzzzyzzyzyzyyyyxyzy{zyyyyyzyyyyzzzzyzz{zyyyxzy{zz{y{z{yyyyyxyyzyzzz{yzzyxyyyzyyyz{yyzzzyyxxyyxyyzzzzzzzyyzyzyxxyyyzyyzzyyyzyyyzzyzzyyyyyyyyyxxyyyyyzyyyzxyzyxyzyyyzzzyzyyyxyyyyzzyzyzyzxzyywyyyxzz{yzz{zzxxyzyyyzzyzzyzyyyyyyyyzzzyzz{yyyyyyyyzzyzyy{zzzyyzyzxy{zy{yzzyyyzyyzzzzyzz|yzzzzzyyyyyzzyz{zzzyzzyy{xyzzzz{zzxyyxyyyyzy{zyzzzzyyzzyyzzzzzyzzyyzzzyxzzzzz{{zzzzzyyzyzz{{y{z{{{zzyyzyyxzz{zz{{yzyzyz{zyz{z{z{z{zzyzz{zyzz{zzzz{zzyzzzzyz{|{zz{{zzzyyxyzzzzz{z{{zyzyyyzzz{zz{{{|zzzy{zyzzzz{{z{zyzzyy{zzzzyyz{{zzzyzyxzzy{zzzz{z{yyyzxyzyzzyzzyzyyyyyxyyzzzyyzyzyyyxyxxzyyzzy{zzzyyxzyyxzyyzyzzzyyyyxyyx{yyzzzzzzyyxxxzwyzzyyzzzyxyxyyyxzyyzwzyzyyyyyyyxyyyzyyzyxyyyyyxyyyyzyyy|yxyxyyxzyyzyyyzyyxxzxxxyxyzyyzzzyyxyzyxxyzyyyzzzzyxxyyxyyzyxyzyyxxyxyxyyzzyzzzyzzyyyxyyyyzyyzzy{zxyzyxzyyzyyzyzzzxzzxzyxyzzzz{zzxzyyyyzzzyyyy{zzzzyyyyyxzzyzyzzzyyyyyyxyzzzzzzzyyyyzyyyyzz{y{zyz{yzzyyyzzz{z{z{{yzzzxzxzzyyzyzz{zzyzzyyyyzzz{{|zzzzyzyyzzz{zzzz{zzyz{|zz{zzz{zz{zzzzzzyzz{zz{z{zzzzzyyzzz{z|{{{zzzyyzz{yz{zy{{zz{zy{zz{zz{{zzz|{zzyzyyyzzzz{zzzzzyyzzyzyzzzzyzzzzyxyyyzyzz{zyz{yyxyyyyyyyzzzzyyzxxyyyyxxyzyyy{{yyyzxyyyyzyzz{zzzzxzyyyz{zyzzz{zzzzzyyyxxyyyzyzz{zyxyyyyxyyzyzz{zzxyzzxyyzzyz{zzzyyyyxxyx{yyyzyyzyyyxzyyxyyzyyyzyzyyzyywxyyzzzyzzyyxyyxyyxyxyyzy{zxyyxyyyyyyyzyz{zzyxy{yxxzyzxyzzzyzyyzxyzyyzyz{zyzyyyzxzzzzyyzzzzyyyyyzyyz{zzzzzyzzyzyyyzzzyzzz{yzyyyyzxy{z{yzzzzyyyyzxy{{y{zzz{yyzzzzy{y{{zyzzzzzyyyzyz{zz|{y{{zzzzzzzzzzz{{{zzyyzzyyyzzzyzzz{y{zzzzzzz{z{zyz{{{{zzyz{zzzzzzz{{{zyzzzzzz{zzz{{{zyyzzyyzzzz{{yzzzz{z{yzzz{zzzz|zzyyzz{zzz{z{{zzzzzyyzyzzzzz{z{{{z{yzzzzxzzz{yz{zyyzzyxyyzz{zzzyzzzxyxxxyyzzyzyz{xzyyyxyyyzzyzzzzyxyyzyyxyyzzyzz{yxyzxxyxyzzzyzzzzyzxyzxyzyzzzzzyyyyyyyzxxyyyx{zyyyyyyyyyyzzzyzzyyyyxyxyzzxzxyzzyxxxyyxzyyzyyzyzzyyyzxxyxxyzyzzzyyyzxxzyyyzyzz{zzzyyxyyyxzzyyyzyyzyywyxxxyzzzyzzzyzyyyyxxzzzzyzzzzyyxyyyyzzzyz{zzzyzyyyzyyzzzzzz{yyyyzyyyzzzzyz{{zzzxyyzyyz{zzzzzyyzxzyyyzzz{zzzzzzzyyyyzz{zyzzzz{zyzzyyy{zzzz{{zzyzzyzzyzzy|z{z{yyyzzyyyzz|{z{{z{yyyzyzyzz{zz{{z{y{yzyzz{{zzzzzzzzyy{yyzz|zyz{{z{zyzzyzzzz{zzz{{zzzyzzyyyz{zz{{{zzyyzyzzz{zz{zz{zzzzzyzyzzzzyz{|y{zyyyzyzz|{yzzzzyy{yyzyzyzzyzxyzzzyyyzyxzyzyzzzyzyyyxxyy{yyyzz{zyzyyyzxzzzzyzyyyyyyyyyzzyzyzyyzzy{wxyyyyxyzyzyzyyyyyyyywzyzyzzyyxyyyyxyyyyyyzyzyzzzxxyzxzyyyzzzzyxzyxyyxyyyzyzyyzyxyyxyyzzzzzzyyyyyyyxxyyyyzyyyyzyyyzyyyyyyyzyyyzyyyyyxzzzyzzzyzyyyzzyyzyzzzzzyyyyxxyxyzzzzyzzzyxxzzyyyzyzyy|zzzxyyyyzyy{zzzzzzzzyyxzyyz{zzzzzzyzyyzyyyyzzyzz{{xyzzyyyzzzzzyzzzyyyzyz{zzyz{zzzzyzzxzyzz{zyyzzz{zyyzzyyyzzzzyzz{{zzzyyzyzzzy{zzzzzzyyzzy{{z{z{{zzzyz{{zz{{{{{zz{zyzzzzzzyzzzzzz{{yz{z{yzzzy{{zzzzz{y{yz{zzzzz{z{yzyzyyyyyzzzzzz{yzyyyyyyzz{zzz{yyyzxyyyy{zzzyzyyzxzxyyyxzyzzzxz{yzyxyxxyzzyzzzzyyxyyyyyxzzyyyyyzxxyyyyyyxzzyyyzxzyyyxyxxxzzzyyzzyyyxxyyyzyyxxzzzyyyyxyxyzzyyyyzyyyyxyzyxyyzzy{zzxxyxyyyxxyyyyzzyzyyyxywxyyyyzzyzyyyyxyyyzz{yzxyzzyyyyxxxyyzyyyyzyzxxzyyxyyyzyzyyyyxyxyyyyzyzyzzyyyyyyxzzyzzyzyy{zyyzyyyxzyzyzzzzxyyxyxyyyzzzyzzzzzyzzyyyyzyzzzyyyzzyyzyyzz{yyyyyyzyzyxyzyyzyzzzyyyxzzyyyyzyzz{zzz{yyzyzyzzz{y{zzzyzyyxyxy{yz{zzzzyyyzyyyz{yzz{{{yyzyyz{yyzzz{{zzzyyyzzzzz{zzzz{zzzzzyzzzzz|zzz{zzyzzyyz{{zzy{{z{{yyz{yzyzz{zz{{{zyyyxzyzz{zzzzzz{zyyyyyyyzyyzzzzzyyxzyxxyy{zyyyzywyxyyyxxzzzyyyyyxyyxyyyyyyzz{yzzyxxyzxyzyzyzzyz{xzyyyxxzyzzyxy{yzxxyxyxyyzyzzzzyyyxyyywxyzyyyzyzyzxyyxzxzzyxyzyyzyxyyxxzyzyyyyzzxyyzyyxyzyzyzzyyxxyyyyyyzzyzzzyyxyywyxxxyzzyyzzyyyxxxyyzxyxzzzyyyyyyyyxzzyzyzyyyyzxyzyyyzyzyzyzyzyzzyxyyzzzyyzzyzyxyxzzzyyzz{z{zyyyxxyyyzzzy{yzyyyyzwzyy{zzz{zzyyzyzyyxyzzzzy{zz{zyzzyyzzzz{yzzyyyzxyyyzzzz{{zyzzzyzyzyz{{{yz{zzzzzyyyyzz{z{z{zyyyyzzzz{zzzz{zzzzzyzzzzyzz{zzz{zzyzyzyzyz{{z{{{{x{zzyzyzzzz|z{{{yy{yyzzzz{zz{{{zzyz{zzy{yzz{{zzyzzyzyzyyzz{zzzzzyyzzyzzzzzyyy{{yyzyzzxxzzzyyyzxzywxxyxyyyyzzyyyyzyyyyyyzyyyyyzzzyyyyxyyyyyzzyzzyyyyyyyzyyzzyzzzzyyyyyyxyyzzzyzyyyyxxyyyyyyyyyyyzwxyxxyyzyzzyzzyzyxyzzyyyyyzzyzzyxyyyxxyyzyyzyzzyxyyxxyyyyyyzzyyzyyxxyyyyyyyzyzzyyxyzyyyyyyyyy{zzyyyxyyxxzyyyzzyyxyyzzyyyyyy{zzzzyyxyxyyzyzyyzzzyyyyyyyyzyz{zzz{yyyyyyzyzyzzzzyzyyyyyyxyyzyzz{zzzzyzxyxyzyzzyy{zyyyzyzyyzzzzz{zzzyzyyzzzy{z{zzz{yyzzzzzzzzzzzzz{zzzyyyxyzz{zz{yyzyzyyyzyz{zzz{{z{yzzzzzzzzzz{{z{zzz{zzyzy{yzz{{zzzzzzzzzzz{{z{{z{yyzzyzzzzz{{z|{zzyzzzzz{z{zzz{zzzxzyyzz{zyzz{z{zzzyyzzyz{{zzz{zzxyzxyyxzzzzzzzyyyxzxyyyzyzyzzyyyyyzyxyy{yzzzzzyzyyzyyyyzxzyzzzyzyzxyxyxyyz{yzzz{yxxxxxyzzzyzyz{yxyzxyyzyyxyyzzzyyyyyyxyyyzxyzyyyzyzxyyyzyzzyzzzyyxxyyxyxzzyzzzzyyyzyyyxzyzyzyyzxzyyxyxyyzz{yzzzyyyyyyyxyyyyz{yy{yxyyxzyyyyyzzzzyyyyzyyyzzzzzzzyzxyyyyxzz{zzzzz{zyzyyyyzzyz{zzzzyyyzzzzzyzyy{zzzzyyyzyyxyyzz{{yzyyyzzyyzyzy{yz{yzzyyxzzyz{zzzzzzzyzzyyzzzzzz{zzzyyzyzyzyyzzz{z{{zyyzyzyyzzzz{{{zyyyz{yzy{{z{zz{{zzzzy{{zz{zz{z|{zzzzyzyyz{zz{z{z{zzyzzzzzz{{{zzz{yzyzzyz{{zzzz|{yzzzzzzzzzz{{{{zz{z{yzzz{z{yz|{{{zzzyzzyzzzzzz{zyyyzyxxyyzz{zzzzyyyyyxyxyzyyzzzyyyyzyyyyzzyyzzzzyyzyyxzyzyzzzz{zzyyyyyyzyzzyyyyyzzyxxyxxzyzzyzyyyxyyyyyzyyzyyzyzzxzyzyxyzyzyyzzzyyyyxyywzyzzyyyzyxyxyzzyyzyyyz{zyyzyxyxyyyzzzy{zzyyyyxxxyzzyxzzyyxyyyyyyyzyyyyzzyzyyyyyyyyyyyzzzyyzxyyyyzyzyzy{yyyyyzyyyz{zzzzzzyyzyyyzyzyzyzyyzyyzzyyyy{zzzzyzzyyzyyxyyyzz{{yzzyyyzyyyxzzzz{z{yzyyzyyxyyzzzyzzzyzyyyzyyyyz{z{zzyzyzzzzy{y{zz{{zzzzyzyyyyzzyzz|{{yzyyyzzzz{zzz{{zzyzyz{yzzy|{{z{zyzyzyz{y{z{z{{{zzyzzzzzy{z{{{z{zyyzzyzzzzz{zz{{{{zzzzyz{{z{{yz{zyzyyzzyyzz{zz{zzzyyyyyyzzzzzzy{yzzyyxzxyyyzyyzzxyyyyyzxyzyzyyzyyyxyxyxxyzyzzzyzyyyxxyxyzxzyzz{{zyyyyxyyyzyyxzyzyxyyyyxxyzyzyzzzyzyxyxyyzyyyzzyzzyyyyyxxzyzyyzzzxyyyyyxxyyzzzyzzyyyyzyxxyyyzxzyzzxxyyyxyzyyyyyzyyyyyxxxyy{yyzyzyyzyyyxyyxyzyxzyzxyxyxxyyzyyyzyzzzyxyyzyxxzyyxzz{yxyxzxyzzzyzyzzzxyzyyyyzyzzyzzzzzyyzxyyyz{{yyzzzyyyyzyzyzyz{zyzzzyyzyzyyyzzzzzyzzyyyyyyzz{zxzzyzzyzzzyzzzyzzz{{yxyyyyyzzyzz{yz{{zzxyyyyzz{{yzz{{yyyzzyyzzzzz{{{{{{zzy{zy{{{z{z{{zzzyyzzzy{z{z{{{yzyyzzyyzzz{z{{zzz{yzzzzz{zzzzzzzz{zzzyzzz{{z{zz{zyyzzzzzyy{yz{zzyyyyzyyzzyzzzzyzyyyyxyyzzzyyzyyzyzyxyyyyzzxzyzzyyyxxyxyyyyzyzzyzyyyxzzyzzzxzy{zy{yzyyxyzyyzyyyzyxyxyyzyyyzyyzzzxyyyyyyxyyzzzzzyyyyyyzyyyzzyyyzzyyxyxzzyzy{z{yzzxyyxyxyyxyyzyzzzzyxyxxxyyzzzzzyyyzzyyxxxyyyzzyzyzyyzzyyxxyyyy{zzyyyyyyyzyzzyyzyyyyyyyyyyyyzzyy{zzyyyyxzyzyzyzzyzzzyzzxzyyzzyzzzzyxyyyzyyyz{zzzz{yzzyyxyyy{yzzzzyyyyxyyxyyzzzzyz{zxyyyyyxyzyzzz{y{yyyzzyyzz{zz{zzyyzyzz{zzzy{{zzzy{zzyyyyzz{z{z{zzzyxzyyz{zz{zz{zyyzy{zzz{zyy{{{zzzyyzyyyz{zz{y{{zyzzyyzzz{zzzz{z{zyzzzz{zz{z{z{{z{yyzyyzzzy{{{{zzzzxzzzyzzzz{{{{{zzyyxyyyzzzzzzzyzzxyyzyzzzyzzyxyyxyzyyxxzzyxzyzyyyyyxyxyxzyy{zzyyyxyzyxyyzzyyzyyxyxyxyyyyzzyy{{zyyxyyyxzzyzzzyzyxzxyzxyyzyyyzzzyyxywzyyyy{zyzzzyyyyxyxxyyxzyzzzyzyyxxyyz{zyyzyzxxyyxyxyyyzyzyzyyyyyyyyyyxzzyzzzzxzxyyyxwyzxzzzyzzxyxxxyy{zyzzyyyyyzyyxyzzzzzyyzzyyyyyyxyyz{zzzzzyyyyyzzzyyzyz{zxyzyyyyyyzzzzzzzzzyyyyyxzzyzzzzyyyzzzyyyzyyzzzzzzyzyyyyyzzzzyzzzyyyyyyyxyzz{yzyzxzzyzyzzzzy{z{z|zzyzyyyzzzzzz{zzzyyyzyyzyz{zz{{zyzzyyyyyzyyz{z{{{xyzzzzzy{{zz{zz{yzzyzyzy{{{{zzzzyyy{yyz{yzzzzz{{zzyz{yzzz{zzzz{yzzzzyyzz{yzy{zzzzyyyyzyyzy{{zzzyzzyxzyyzzzyzzzyyxyxxxyyyyyzyzyyxyxxxyyyxzyyyzzzzzyyxxyxyyzx{zyyyyyzxyyxzzzzzy{zyyzxyxxyzzzzyzy|yxyyxyyxzyzzy{zzyxyyyyxzyyzyzyzzzyyyxxyyzyzyyyyyxxyxxyyxyzzyyzyyxxyyxyxxxyyxzzyyyxyyzywyxzzyyzxyzxxyyxyxzxyyzzzzxyyxyxyyyyyzyzz{yyyxyyyyyyzzzyzzyyyzyyyyxyyyyyy{yzyyyxyzzyzzzyz{zzyyxxyzzzzz{zzzzxyxxxyyyyyzy{yyzzzzzyzyzzz{{zzyzyyyzyyyzzyyyyzzyyyyzzzzzz{zz{zzzyyzzyyyz{zzxzz{{zyzzyyzzzzzzzz{zyyzzyyyy{z{z{{{zzyyzzzzz|zz{zzzzzyzyzzyyzyz{z{z{zzzyzyzz{zz{{{zzyzyyzyy{zzz{zz{z{zzzzyz{z{zz{{{yzyy{zyzyzzzz{zzzyyzzxzyyzzzy{zzyyzyzyyyzyz{zzxyyyyyxyyxxy{yzzzzyyyzyxyyxyyyyzzy{zyxyyyxyyyyyzzzyyyzyyyyyzyzyzyzyyzyxxyyzzxzxzzyyzyxyxyxyzyxyzzzyyzyyyyxyzyyzzzyyxyxyzyxyyyzyyyzyyyxyyzyxzxyyyzxyxxxxyxyyzzyzzzzyzyyxyyxxyyyyyzzyzzyyyxyzyyxy{zzyyyyyyyxzyyz{zzyxxyyyyxyzyzzxzzzyyyyzxzyzzzzzyz{yxzzxyyyyzyzzzzzyyzyyzyyzyzzyzzzzzyzzyyyy{zzyzzzzyzyyyxyyz{zzzzzzzzyzyzyzzzzyzzzzyyyyzyzzzzzz{z{zyzyzyyxyyzzy{z{yzyyyyyyzzz{{z{zyyyy{zzzz{zzz{{yzyzzyyzy{{zyz{{{zyzyzzzzzz{z{z{{{z{zyzzzzzz{{{zyzyzzz{zzzz{{{{zzzzyz{zy{zzz{zzz{zzzyyxzyzyzyzz{zzzyyzyyyzzzzzz{zzzzxyyyxzzzyyzxzyyyyxxywy{zyyxzyxyyxxxxyyxzzyzz{yyyyyyyxyyyyyzzzyzxyyxyyyyzzxzzzyzyxyxxyyzzyyzyzzxzyxxyyyyyyyzzyxyyxxxxxyyzxyyzyyyyyxzxyyxyzyyzyyyyxyxxyyzyyyy{yxyxxxyxzyyzyzyz{xxxyyxxyyyyyyzzyyyyyzxxxwzyzyzyzzzyyyyyyyyyzyzzzyyyyyyzyz{yyzy{yyyyyyyyyzyzyyzzzyyyyyxyzzyzzzzyzyyzzxyyyyyzyyz{{zxyyyxyxyzyyyzzzyyyzyyxyyz{yzyzzzzyyyyy{zyzxzzyzzzyzyyyyy{zzzz{zyzyzyzz{{zy|{z{{y{yyyyzyzzz{zzzz{yzzyxyyz{zyzzzzyyzzzzzzzzzzzzz{zzzzyzyzzzzyzzzzzyz{yyzzyyz{z{zzzzyyyyzyyz{z{z{{zzzzyyy{zy{zzz{zzyyyzyyzyzyzyzz{zzyzzyzyzzzyyyzzzzzyxyyyzzzxyzyzzyyxxyxxy{zyyzyyyyxyxxyyyyzyyzzyzxyyyyxyzyyzzzyyzyyxyyyxzzzzyzzzzzyxxyxyyyyzx{zzyyyyxxxyyyzyyy{zzxxwxyxyyyyyyzyyyyyxyzyyxzzzyzyzyxxyxyxxzyzzyxzzyyyxyyyxyzzyzzyyxyxyyxyxyzyyyzzzyxyyyzyyzyyyyyzxzzxxyxzxyzzyyy{yyxyyyyxyyyyyz{yyzyyyyxyzyzzyyzzzzyyyyyzxyzzzyyy{yxyxyzyyxyyzzzzzyzyzzyyyzyzzyzyyzyzzyxxzzzzyyzyyyyyzyzzzzzzzz{zyzyyyzyzyyzzz{z{{yzyxyyyyzzz{zyzzyyzzyxyyyzzzzzzz{zyz{yzyz{{zz{{{zxzzzzyzz{{zzyzz{yyzz{y{z{y{z{y{zzzyyyyyzzzzy{zzzyyyzyyzz{zzz{z{zzzyzzzzzzyz{zz{yzyxyyyyyzzzz{{zyyzzxzzyz{zzyzzyyxyyyyyxyyyzzzyzxyxxyyyyyzzzyzzzzyyzyxyxyzzzzyzzyzyyyyyyzzzyzzz{zyyyxxxyzzy{zyz{zyzyyyyyzxzzy{zyyyzyyyyxyz{yzzzzzzyxyyyyyyzyzyyyxyyyyyyyzyyzzyxzyyxxzwyyzyzzzyzyxyxzyxxyzzyxz{zzzyyyxxyyyyyzzz{{xxyyyyyyzzyyyyzzyyxyxzyyyyyzyzyyzxyzxyxzzyyyzyz{yyyyyyzyzyyyzy{zyyzyyxzyz{yyzy{zyzyyyyzyzzzz{{zzyyyyyyyyyz{{zzzzyyyzyzyyzzzz{y{{yyyyyzyz{{zyyy{zzyzyz{yzyyzz{zzzyyzzzyzyzzzzz{zzzyyzzyyzzzzz{zzzzyyzyyzyz{{{{{zzzzzzzzz{z{zz{{{{{zzzyzzzz{zz{z{zyz{zyzzzz{z{{zz{{{yzzzyyzzzz{{{{zzzzzzzzz{{zz{z{zzyyyzzz{{zzzz{yzyyyzzyzyzz{zzzy{zzzyyyyzzzz{zyyzxxxwxyxzyzyyzzzyzyxyyyzyyxzzzzzzyzxxyyx{yyyyzzyzxzyxyzzyzyzyzzzyyyyxzyyyyzyzzzzxyyxxyyxyzyyyzyzyyyyyxxxyy{zyzzyxxyxxyyyyyyzyyzyyyxxxyyyxyz{yzyxyxxxyyxyyyyyzyzyyyzxyxxzyyyyyyzzzyyyyxxyyyxxzyyyyyyxyxyxzzzzzzyzzzzyzyxyyyyyyy{zzxyyyxyyzyzzyzzzzzyyzyyyyyyyyzzzyzzyyyxzzyzzzyzyyzyyyyyyyzzzyzzzyyyyyzxyyyzzyzzzyyzzzyxyzzzyyzzzyyyyzyyz{zzzzy{zyzzyzzyyz{zz{zzzzyzzzyyyz{zzz{{y{yxyzzzy{zy{{{zzzx{yzzzzzyzz{z|{zzyyyyyzzz{{zz{zzzzzzzzz{{{{zz{z{xzzzzzyyzzz{z{zzyzxzx{zzzyzzz{zyyzyyyzyz{z{zz{yzyzyyyzyyyy{y{zzzzzyyyyyzzzzzyyzxyxxyyyyyyyyyyzzzzyxxxxxyyzyzz{zyyyyyyyxxyyyzzzzyxxyyxxxzzyyyyz{yxyxyxyyzy{yzyyzyyyyxyyxyzyyyyyzyxyyyyyzyyzyyzyzyyyxyxyyyyyyyzyyxxxyyxyxyyzyzzzzyyyyxxyxyxzyyyzyyyyyxxyyyyz{y{yzzzxyyxxxyzyzyyyyzyxyzyyxzzzz{zzzyxyyyxzzyzzzyzzzyyxyyyzyzzyzyzzyyyyxyyzyxzyxzzzzyyzyyyyzyzyzz{zzyyyyzxzyyzy{zzz{yyyyyyzyzzzyyzzz{zzxzyyyzzzxyy{yzzzyzyzyyzzz{{{zyyzyyzzyzzzyyzzzzyzyzyyyzz{z{zzzzyyzyyyyz{{{{z{|yzzyzyzzzz{zy{{zzzzzyzzzz|zz{yz{z{zyxz{z{{zzz|zzzyzzzzyyyz{zz{{{z{yyyzy{{{{|z{zzzzzxzzyyzzzzzz{{zzyzyzzyzyzzzzzzyyyyyzyyzyzzzyyzyyxxxwyxyzzzyyxyyxxxxyyyyyzzzyzzzyyxxyzyyyzzyy{zzxyxyyyyxyyzyxyzyxyxxxxyyzzxyzyzxxyyyyyyzyyyyzzyzyyxywxxzyyxyzyyyxyxxxyyzyzyzyzyyyyxxxyxyyxyyzzyyyxxyyxyyyyyzyzzyxyxwxxxxzzzyyzyyyxxxyyyyyzyyyzyyyyxxxyyxzzyyzzyyxyyxzyxyzyyyyyzzzxyyxyyyy{zyzzzyy{xzxzyyzzyyzy{yyzyyxyyyyzzzzzzzyyyzzyyyzyyyzyyyyyxyyxzzzzyyzzzzyxzxzyzzyzyzzzyyyzyzyyy{z{{{zzzyzyzyy{yzzzzyy{zzyzyzyzyzzzz{{{yyyyyyyzyz{zzzzz{zzzzzyzzzzzz{|zzzyyzzzyzz{{{z{z{zzzyzzzzzz{zy{{y{yzyzyzzzzzy{{{z{zzzz{zzzzzyzzz{yyyyzyzyyzzyy{{{zzyzxxzy{zz{yz{zzzyyxzxxyyyzzzyyyyyxxyxyyzyyyyzzyyyxyyxyzzzyzzzyyyxyyyxxyzyyzyxzyyyyyxxyyzzzyxzyzyywyyyxyyyzyyy{yyyxzxzxzzzyyzzzyyyyyyxxyyxyyyyxyxxyyyxy{yxyzyyyyyyyyyyyyyyyyzzyyyxyyyyyyyzzzzyzzxyyxxyxyyzzyzzzzxyyyyxxzyyzzyzzyyzxyzyyyyzzyzzzxxzxxywyyyyyyzyzyxxyyyyyyyzyyzy{yxyzyxyyyxyyzzzzzzzzxyzxzzzzzzzzyyzyyyywyzzzzzzyzzyyyxyyy{yyzz{zzyzyyyxxyzzyyyy{yzyyyzzxz{{zzzzxyzyzzzyy{zz{yyz{zyyzyxyyzzzzz{zz{yyyyzzzzzz{zzzzyyzzzzyyz{z{z{z{zyzyy{yyy{yz{{{{zzyyzzyzzzz{z{{z{yyyzzyyzzzy{{{zzyyzyzzz{{z{{{yzzzyyyzyyzyy{{z{{yyyzzyyyz{yzyzzzzzyyyyyzzzzzyzzzywxyzyxxyz|zyxyyyyxxxxyxzxxyzzzyyzyxxyyx{zxzz{yzyxzyyyyxyyzyyzzzyyyxyxxyyzyzyyxzyxxyzyyxyyzyyyyzyxyxyyxyyyzyzzyxyyyyyyyyyyyyyyyyyxxyyyxxyzzxzzzyxwyxyxxxzyyyzzyzxyyyyxxyyyxxzzyyxyxyxwxxyzyxzyxzyyyyxyyyxyxyyyzxxxxyyyxyyzyyyyyyzxxxzyxxyzzyyyzyzyzzyyzyyzzzyyzzxyyxyxxyzzyyyyzyzyyzyxxyyyyy{zzzzyxyyzyzzzyzz{zzzyyyyzyzzzyyzzzzzxzyyyyyzyzz{zyzyyzyyzyxzyzzzy{z{yyzyyxyzzzyzz{yzyyyyzyxz{{zyz{zzzzzyyyzzzzzz{{zzzzzyzyyz{z{zz|z{zzzyzzyzyzyz{zzzyyyyzxyyzyzzzzzzzyxyyyyzz{z{z{z{zyyyyzyyzyzzzzzyyyzyyyyyyyzyzyyyzzyyyzyyyzxyzxyyxxyyxyyyyzyzyzyyxwyzwxxyzyyyzzyyzyyyyyzzyzyzyzzyyyyxxxyyzzzxyyzyyyxxzyxyzyyyzyzxxxxyyzxyyyyxyzzyxzwyyyyzyzxyzyzyyxxyyxxyyyyyzyyyyyyyyyyyyyyyzyyywyxxyyxyyzyyyzzxxxyxyyyxyxyyxzxxyxxyxxxyzyyyyxzxyxyxxyxxyyyyzzyxxyyyyyxyyzyzzzzyyyyyxyzyy{zxzzzyxyyyxyyzzyzzzzzyxyyyyxyxyyyyzyzyyyyyxyyzzzzyzzyyzyyyyyyyyyzz{zyyyzyyyzyzyzyzzxyyzyyzzzyyyyz{{{zzyzyyyzzyzx{zz{{yzz{yyxzzzzz{{zy{yyyyzyzz{zzzz{zzxyzyzzzzzzzz{{y{zyyzzzy{zzy{|z{zzzzyyzz{zzzz{z{|yyzyzyyzzyzzzzzzyyyzzyy{{z{{{zyzyyyzyzyzzzzzzzzzyyyyyyyzzyyyzzzyzyzyywxyzzyyzyzyxxxxyxxxzzxyzzyxxxyyxyzyzzzyzzzyyxxyyyyzzzyzyzzyxxxyyxyyzyyxzyyyyxxywxxyxzyzyxzyyyyyyxwyyyyyyzyyyyywxwyzyzyxyzyyyyxxxxyzyzyzyyyyxxyxxyyyyzyyyyyxxxywywyyyyyzyyyyyyxxyyyxyyyyyzzxyxxyyxyyzyzzyzyxyyxyxxxxyyyzyyyzyxyy{xxzxyyyzzzyyxxyyyxyyyyzyyzxxyyyyyyyyzyyyzzyyyyxxxyyyzyyy{zxzzzyxxzyzyyzzyyyyyyyyyyyyyzyyzyyyyyyxxyzzyyzzzzyyyyzyyyyzyzzzzyyyzzyyyyyzyzzz{zzzyyyzxy{zz{zyzzzyyyyyzxz{zyz{{zzzzzyz{yzzyzzyzyzyzzzyyzyzz{zz{zzxzzyyyy{zzz{yz{{yzyzy{zzzyyzz{{zzy{zyyy{zyzz{y{yyyyzzyyzzyyzy{zzyyxyzyxzz{yzyz{yzyyyxxyyzyyzzyyxxyyyxxxyyzzyzyzxyyxyxzxyyyzyzyzyxxxyxyyzyyyzyyyyyyxyxyyyyyyxyzzyyyyxxxxyzzzzyzzyyyxyxxxxzyyzyzzyxzxyxyxyyyyzzyyzxzxxyyxyyzyzyyyzxyxxxxxzyzyzzzyyyyxxxyyxyzyzzzyyyzxyzxxxyyyyyzzzxyyyxxyxzzzyzyyxyyyzyyyzzyyzyzzxzyyxzyyyzyyzzzyyyyxyxyxyyzzyxyzyzyxxyyzyzzyyzy{yyxyxyyzzzzyyy{zyzxzyyzyyyzyzyyzzxyzyyyzy{yyz{zzyzyyyyyxyzzzyyzzyxyyzzyzzyyyzzz{yyyyzxzyzz{{yzzzyyyzzyyyzzzzzzzzzzyyzzzy{{zzz{zyzyyzzyzzzzzz{zzyzyyzzzzzz|zzzz{{zyyyyyyyzyz{{z{{{yyzzyyzzzz{{zzzzzzxzzzzzzyz{{|zyzyzyyyzyyzzyzz{yyxyyyyyz{y|{yzzzyyzyyyyyzzyzyyyxyxyxxyzxyyyyyzyxyyxyyyyyxyyzyz{yzxxyyyyzxyyzzyzzxzxxxyyyzzzzyzyzyyyyxxxyy{yzyxzyyyxyxyxyxyyyyyyzyywyyxyxyzyzyzzyyxxxyyyyzzyxyzzyxyyxxyxzyyyyzyxzxxyxxyyxyzyyzzyyxxyyyyyyyzzyz{zyzyyzxxxyzyzyyzyxzxxyxzxxzyyyzzyzzyyzzyyzzzyyzzzzyzxzyyyyyzzzyyyyyyxxxwyyzzyyzzzxyyyyyyyyzzzzz{zyzyzyyyyyyyzyyzzyyyzyyxxyzz{zzyzyyyzxxyyzzz{zzyzyyyxzyzzy{{{zzz{yyyyyyzyyy{zzzzzzyyzyxyyzz{z{z{z{yzyzyzz{zyyzzz{zxyyy{zzzzzzzzy{|zzzzzzzzy{zzz{{zyz{zyyzyzzz{{{y{zzyyzzyz{zzzz|{{zz{{zyzz{zzzzzzzyyzzzzyyzzzzzzzzyyyzyyyzzy{yxyyzzzyyyyyzzzyzz{zyxzyyxyxyxzyyyy{yxxyyxyxyzzyyz{yyyxyyzyyyyyyzzy{zxyyyyywyyzyxyyzxyxxxxyxzyyyzyyzxyyyxyyxz{yyzzzzzyxyxyyyzyzzzzzzyyxxxyyyyzyyyzzyyyxxyxxxyzyzzzzzxwxxxyyxyxyyyyyyyxyyxxyxyyyyyzyyxxxzxyxxxzyyxyyyyyyyxzxyxzyyyzyzzxyyxzxyyyzyzzz{zyzyyyxyyyzyzyyzzzyxyxyzzyzzyzx{yyyxxxxyzyyyzyy{yyxyyxyxyyzyzyzzzyyxyxxyyyzzz{yyyzyzzzyzz{zyy{yzzyyyyzyyyyzzzzzyxyzyyyzyzyyyzzz{yyzyzyzx{z{{z{z{zxzyyzxzyzzyyz{yzyxyyzzyzzzzzzzzzyzzzyyyy{{{{z{zzzyzyyyyzz{zzzzyzyyyyyzz{zzz{zzzzzyzzyyyzzyzz{{zzyyzyyxyyzzzzzz{yzyyxyyxyzzzzzyyyzyyxyyxyzz{yyyzyyyywyyyyzzyzyzyyyxxxxyxzyzyyyzzxyyxxyyxzyyzyzzzyyzyxxyyyyzzyzyzzyyxyxyxzyyzyzyyyyyxyxyxzzyxyzzzyxyyyxyxzyzyzzzyyxxyxyzyzyyyyz{zyxyxyyxyyxyyyzyyyxyzxxzyyzyzzyyyzyyxxzxxyyzyyyzzxxzyxxxyxzyzyzyyyyxxxyyxyyzyyzzzzzxyyxyyyyzzzyzyzyyyyxxzzzyzzyyzyyyxxxyyyy{yxzyyyyyyyzxxyzzyzzzyzyyyyyzxxzyyz{yyyyxyyyzyyyzyzyzyyyxyyyyyzzzyyyzzzyzyzzyyyzyyy{z{yzyxyxzyzzyzzzzzzzyyz{yy{zzzzz{zz{yyyyyyzzyy{y{{yyyyzyzyz{{zzyyzzyzyyzzzyzz{z{zz{zzyyzyyzzz{z{z{zyyzzyyzzzzz{{{zzzyzzzzy{yyzzzy{yzzyyyyzzzzzz{zzzzxzyyyyyzzzzzzzzyzxxxzxyyzzzzzzyzxxyxxyyzyyyyyxzyyyyxyxyzyyyzz{yxyxyyxxxzyyzzzzyyyxxyzyzyzzyzyyyyyyyyyxyyzzy{zzxyyxyyyyyyzxxyzyyxxxyyxyyyzzxyyyyyxyyyxzyyyxyz{yyyyyyxzxzyzyyyyyxxyywxyxyyyyyyzyyyyyxxyxy{zxyzzyzxyyyxyyyyzyyzxzyyyxyxzyzzxzyz{yyyyyyyyyzyzyy{zyzxzyyyzyzzyyyzyzyyyyyyyyyzyzy{{zyyyyxyxyyyzyzzz{zyzzzzyxzzyzyzzyyxyzzyyyzz{zyxzzyzyyzyyyzz{zzzzzzzzzyzzyzz{{zzzzzyzzyyyzzzyzzzz{zzyzyyyzyz{zzzy{{yyzzyxy{zzzz{zzyzzyzyyyzzyz{z{zzyyzyz{yzzz{yzz{zy{zyyzz{zz{{zzzzyzzyyyyzyyz{z{zyyxzyzyz{z{zzzz|yzzyzyzzzz{zzz{{zyyyzyzyyzz{yzzzzxzzyyyyyzzyzyzyxyxxxxxwyyzzzyzyyyxyyxwxyyyzzzzyzyxxxxyxzyyyyyxxzyyyxyyyyyzzxxzzyxyyxxwyxy{yxyy{ywyxxxyyzzzzyzyyxyxxxwxyyyxyyyyzyyxwxzyyyxyyyyxyyyyyyxyxyzyzyyyyzxwyxzxyxyzyyyzyzyxyyxyyzyyyzyzyyyxyxyxxxzyyyzyyyywwywxxxyyzyyzzyyyyyyywyzzyzyyyzxyyxyyxyyzyyyzyzxyyyxyyzzyzyzzyyyxyxyzzyyyyyzzzyyzyyxyyy{yzxzzyzyzyzyxyzyzyyzzzyyxxzxxzyyzyyyzyyzyyyyxyyyz{zzzzyzyyyzyyzyzyzzzzyyxyyyyxy{yzyyzzyyyyyzyzzzzyzzzzyyzzy{zzyzy{yy{z{zyyyzzyz{zzzz{zzzzyyyyyzzzzzz{yzyyyyyyzyzyy{z{zzyzzyyyyzzy{zzzzzyxxyyyyyzy{{z{yyxzyxyzyyzzzyyyzyxzyxzxyzz{yyxzyyyxxyyyxyzzyyzzyyxyxyxyyzzxyzyz{yyyxxyzxzyyyyyyyxxxxwxxyzzyzzyzyyxyxyyyxyyzyyyyyxyyxyxwyyyyyyzyxyyxyxxxyyyyyyzzxxxyxxxxyyxxyzyyyxyxxyyywxzzyzyzzyyyxxxxyxyyyzzzyyyxyxyyxyyyyyyzyyxyyzyyyxyyyyzyzxyzxxxxxyyyyyzzyyxxzyyxxzzzyyyzzyyzxyyxyyyzzyy{zwzxyyxyyxzyzyzzzyyzxxyyyzy{yyzzzyyyyyyyyyyzyyzyzyyyyxyxyy{yzyyyz{yxyzyyyzzzyzzzzyyxyzyzzyzzzzzzzyzyyyzyyyzy{zzzzx{yyxyzyzzzzzy{yzzyyyxzxzzzz{{z{yyyzzzzzyzyyzzzzzyzyyyyyyz{zz{zz{yzyzyyyzzyyzzz{zyyzyzzzzyzzzzzzzxzyyzyyyxz{zzz{yzzyyyyzzzyzzz{zzzyyyyyxxzzyzyzyzyzxyxxyyzzzyyzyyyyzxyzyyyzxxxxxyxyyxyyxyy{yyzyzyyxyyyyzyzzzy{zzzyyxzyxxxyyzxyzyzyyxxxxyzyyzzzyyxzyxxyxwyyyyyyzzzyxxyxyyyyzzyyyyyyyyyyyxyyxzxyyzywxxxxyyyzyyyzzxyxywxxxyyzyyzzyyzxyxyyxxxyyxyyyyyxxxywxxxyyyzz{yyxyyyxyyyyyyyzyyyyyyyyyxyyzzzyzzzyyxyyyyzzzzyyyzyyyyzyzyzyzzyzzzyyyyyyyxzy{zyzzyzyzyyxyxzyzyzzz{yxzyxyxyyzyzyzzzyyxyxyyyzyzyyzyy{yyyzyyzzyzzzzzzzzyzzyzyzzzz{zzzyzzzzyzyzzyz{z{zzyxyyzyyzzzzzz{zyyzz{zzzzzzzzz{zzyyyzzxzyzzzyz{zyyzzyzzzzzz{zz{zzyzyxyyyy{zzzz|z{yzyyzzzz{zzzzzzyzyxyyyyyzyz{z{z{yzzyyzwy{zz{zzy{yzyzyyy{zzzzyyyxyxyxyxwxyzyzxzzyywyyywyyyyyzzyzyyxxzxxyyyyyzzzyyyyyyxxyyyyyxyyzyxyxwxyxyyyxzzzyxwyyyyxwxxyzyyyzyyyyxyyyyyzxxzzzyxyxxxyyxzyzyyyyxyxzyxyxyxyyyzzzyxxyxyxyzyyzyyyyyyyxwxyyxyyyyyyzyyxyxwxyyyzyyzyyyyxyxyxyxyyyxyyzyxxyxzxyyyzyyyz|xyzyyyxyyyyzyzyzyyxxyyxyzyyzzyyzyyyxyyyyyyyyxzyyyyxyyxxyyzy{zzzyyyyxyyyyyyyyzyzzyzyzxyyzxyzzzzyy{zyxyxyyyyzzyxzyyzyyyyyyzyyzyz{{yyyzzyyx{zyyzz{yzyxyzzyy{z{zz{zzyxzyzyyzyzzzz{zz{yzzxzyyzzyzy{zyzyzzyzyz{{yyzzzz{zyxyyyzyz{zzzz{zzyzyyyyzyyz{z{zzyzyzxyyyyzzzy{zzyxyyyyxxzyzyzzyyyyxyxyyyzzyyzyywyyyyyyxxzyxyy{zzyyxxyxyyxxzyyzzzyyxyywxyyyyyzy{yyyxyxxyyyzzyzzzyyyxwxxxzxzyzyzzxzywxyyxyyzyzyzyzyxyyyxxyzyyyzyyyyyyxxwyyxxzyyzxwxxyyyyxyyzyxzyzxyyxyxxyyxyyyzyzxzyywxxxyyzyzyzyxxxyyyyyyyyyxyzyyzxxyyyyyyyyyzyzzzyyyzyxyzzyzzzyzyzyxyyyzzzyzyyzzyyxxxyyzyzyzy{yyyyyxyyyzxyzzzzzyyyyxxyxyzzzzzyyyyyyyyxyyzyzxy{zzxxxyzwxzzyzzyyyyyyyzzyyzzzyz{{zyxyyyxzyzyy{zz{{zzyzzyyyzzyzzzzzyxzyzyxzzzyzzz{zzyyyxy{yyzzyz{zz{yyyyyyzzz{z{z{{zzzzyzzy{yz{y{zz{zyyzyzzzzzzzzzzzxyyzyzyzzz{y|zyyzzxzyyyzzzzzy{zzyyxyxxyzzzzyyyzyyzyyyywy{zzzxyxyyxxwwyxyyzyyyzzyyyyxyyxzxzyxzzzyxyxxyzxzyyyyyzzyyyxxxxxyyyyyzzyyyyyxyyxyzyyxyyzyyyxxyywyyyyyzzyyxyzyyxxyyzyxzyzxzyyxyxywyyyyyyzyyyxyyyxxzyyyyyyxxxzwxxyyyy{zzzzyyyxxyxyyyyzyzzzyxyxxxyxyyyxzxzxyyywyxyyyzyyyzyyyyxzyyyyyyyyzzyzyyyxyyyxyyyyzyzyxyyyyyzyyyzzyyzyyyzyyyyxyzzzyz{zzxyyyxyyyzzzyzyzzyzyyyzyzzzxzzzyyyzzzyzyzzyzzyzzzzyyzzxyyzz{zzzyzyzyyzzyzzzzzzzzzzzzyyyzzzzzyz{zzyyyyzyy{y{z{z{yzyyyyzyzzzzzzzzzzzyzzzzyzzz{zzzzyyyyyzzy{z{{zz{zzyzyyyyyzz{zzz{zzyyyyyyzyzzzzz|zzyyyzzyxzzzzzzzzzyzzyyyyz{zzyz{yzzyyyyyzz{zzzyyyyywyxwyxyxzy{yzzyxyxyxyxyzzzzyzzyywyxyyyyyyyzzzxyyxxyyxyxzxyyyzyyyzxxxyxyyy{yyz{xxyxxxyxxyyyyzyyzxyxywyxyyywyyyyxyxxzyyxyyyxyyxzyxxxyzxxyyzyyzyyyxyyxywxzzzxxyyzyxyyyyxwyzyzxyzzyxyyxxyyzyyyxzzzyyyxyyyyxyyyyzy{yyxyxxxxyyyxyyyz{yyzzxzzyzzyzzyzxyyyxyyyzzy{yz{zyzxyyyyyyzzzzyyyzzzyxyyyxyy{zzyzxyyzyzyyyyzyyzzzyxyyyyyzy{yyyzzzyxyyxyyy{z{{zyzzyzxxyyyyzzz{{zz{yyyyzyyyzzzz{zzzzyzyzzyyzzzzzzz{yxyzyzzzyzy{zyy{yyyzyzzzz{yzy{z{zyzzyzzyzzyzzyzz{yyyzyyzyzzz{z{{zyyyyyyyz{yzzz{zyyyxyyxyxzzzyz{zzyxyyyzyz{zzyzzyzzyzyxyxyyzyyyxyyyyyyxyxxyyyyxyyxxyyyxzxzyzyyyzyyxxyxxyzzzzyzzyzyyywyyyxyxyzxyzzyyyxyyyyyxzyyyzzxyyxyxyyyzxzyyzzzzyyyxxyxyzzxzyxyxyxyxxyyyyyzzyyyyxyxxxyyxyyxzyzyzxxxyxxzyzyz{yzzyzxxxyyyyyyyzz{yyyyyyyxyxyyyyyyyyyxxyyxyzyxyzzzyxyyyxyzyzyzzyzyzyyyyzyyzyyyyzzzxyyyxxyyyyzzyzy{zxyyyxxxyzzzyzzyzxyyxyyyyyzyzyzzyyyxzyyy{zzzyyzzzyyzxxxyyzzyyzyy{yyyyzyyyzzzzzzzyyyyzzyzy{yzyy{{zzzyzzyzzzzz{z{z{yyyzyyyzzyzz{z{zyzzyyzzy{yzzz{y{zyxz{zyyzzzzzzzzyzyzyzz{z{z{zz{{yzzzzyz{yzzzz{z{zyyzzyyzyyzzz{{zzyyyzxyzyzyzz{{yyxyzzyyzzzzzzzzyzuxyxyyzzzzzyzyzyyyyyyxxzyzyzzzyyyyyyyxzxzzyyzzyxyxxyxxyyyzzyz{zyyyxxxxzxzz{z{zyyyywyyyyyyzyzyyxxyyyxyxyyzxyzyyzyyyyyxyyzyzyzyyyyzxxyyyyyzyyyyzyzyxwxyzyyyyyzzyzyzywzxyyxyyzyzyyyyywyywyzzyyzzzyyyyyyyxyyzxzzzzzxyxyyzzyzyzyyzzxxyyyxyyyyyzyyyzyyyyzyyyzyzzzzzzzyyyzyzzzyyzz{zzyyyzyyyx{zzyzzzzyzyzyxy{z{yzzyzzzyzyyyxxzz{yzzzzyyyyyzyyzzzzyzyyzyyzyyyyzyz{{zz{yzyzzxzzyzyzyyz{zzyzzyzzzz{zzzyzzyyzyxzy{zzyz{zzzy{yyz{xyzzyy{zz{zyyyzyzz|zzzz{zzy{{yyxy{y{zzzzzzyyxzzyzzz{{zzz{zzyzzzyyzzy{{zz{zyyyyyzyzzzzyz{zyyxyzzyzyzzz{xyzzxzyyyzyxyyyzyzyyxyyxyxxxzzyzyzzxyyyyyxyyxzyyzy{yzyxxzzyzyyyzzzzzyyyxxxyyzyyyyzyzxxyyyxyzyz{zzzzyyyxyxzyxzyyyyzzyyyyxyxyxzyyzxyzyyxxxyxxyyzyyzzzyxxyyxxxzyyyxzzyyyyyyxyyxzzyyzzzyyyyxyyxzyzzyzzxyxyxyxxxyyxyyyzyzyyy{yyxyyyzzzzzzyyyyyzxzzyyyyyzyyyyxxxyyzzyzzzzyyyyyyxyzzyyyzyzzyzxzxyyzy{zzyzyyxyyyyzyyzyzz{{zyyxyyzyyyzyzzzzzzyyyzyyyzzzzyz{yyxyyyzzyzzzyy{zzyxyyyx{zy{y{yz{{zyxyyyyyzzz{{zzzzyyzzzyzz{zzz{z{zz{zyyzzz{y{{{z{zyyzzzzyy{zyzz{{zxzzxyzxz{zzzzzzzzyzyyyyz{zzzzz{yyyyzzyyz{{{z{{zyzzxyzyyzyzzzzzzzyy{yzzyyzzzz{zyyzzzyyyxz{zzyzzzxxxzyxxxzzyzyyzzxxxxyxyxyyzyzz{zzxxxyxyxzyyxzyyzyyyxyyyyyyyyyzzzxxxyxyyzyyzzyzyzxxyxxyxyzzyyzzzyzxyyxxzxyzzyyyyyzyxxxyxxxyyyyzzyxwxxxyxyyxyyyzyyyyyxxxxyyyzyzzzzyxxxxyyxzyyyyzzyyxxyyyyxwyxxyzyzyxyxyxxxyzzyyyyyyxzxzyxyyyzyyzyzzyyxyyyxzyyyyzz{yxxyywyyyyyzxzzyyyyyxyxzzyzzzzzyzyyyyyzxyzzzy{zyyxyyyzyxzz{zyyyyyxyyzyxyyyzyzzzzyyzyyzyyzz{zzzzzyxxzzyxyzzzzzzzzyyzzyzyyyzzy{{zyzyyyyyzzz{z{{zz{yyyzzzzyzyzzzzz{{yzyyzyyz{zzyz{zzyzzyyyzzz{z{zzzzyzyxyyxzz{y{zz{zyzyyyzzzzy{zzzzzyxyxyyyyzyyzzz{yyyyzyyyzyzzzzzzyyyzyxyxzzzyzyyyyxxxyyxxyyzxyzyyyyxxyyxyyyzyyyzyyxyyyyxwxyzzyy{yzxyyxyyxyyyzzzzyyyzxyxxxzyzyyzyxyyyxxxxxyyyzxyyyyxxyyyzxxyyyyyyxyyxxwyyxyzyyyyzyyzxxxxxxxzyyyzzxyxyyxyxyxyzyyzy{xyxyxywxxyyyzzyyxxxyyyyxxzyyzzzyyyyxxyyxzyyyzyzxzxyyxzyxyyzyzyyzyxyyyyyxxyzyxz{zyxxxyyxxzyyzzzyzxyyxyyyxyz{zzy{zzyzyyxzxyyzyyzzzzxyyyyxyyy{zyyzzyxxzzyxyzzyxyzzzyxzyzyyzzyzzzz{zyzyyxyyyzzz{yz{zzyyyxyyyzzzzzzzyyyxyzyyzzzzz{zzzzzyyyzzzzyzz{z{zzzzyzyyzyzzzzz{zzxzyyyyxzzzzyzzyzxyyzyyzzzz{zzyzzyzzyzyyzzz{zzzyyzyyzyyyz{zyzz{zzzyyyyzyyyzzyz{yzyyxzzyxzz{yyyyyxxyxyxxyxyyzyxyzzyyxyxyxyzzzzy{zyyyxxywyzxyyzzzyyxyyyxxyyyyxxy{xyyxyxxzwxyzyyyyzyyyyyxxyyzyyy{zyyxyyxyyyzyyyyzyyxxyxyxyyxyxyyyyzxxyxxyyxyzyyyyxyxxyyyyxyxyyyzyyzyyxyywyxyyzzxzyyyxxyyyyxzyyyyxxzyyxxxxxxyyyyyzyzyxzyyyyyyzzzyyyzyyyxyyyxyyyyyyyzyyzyywyyxyzzyyyzyyzyyyyzzzzzzzyyzyzyyyxyxyyzzyyyyyyyyyyyzzyyyzzyyzyyxyyzyz{zyzzzzxzxyxyxzz{{zzzzzz{yzyyyyyyzzzy{yy{zzyyyz{zzz{zzyyyyzzzzzzzzzzzzyzyyyzyz{z{zyz{zzyyyyyyyy{y{zzz{zyyyzyyzzz{zzzzzzyzxyzxzyzzzzzz{{yyyzyyzy{zzz{{zyyyywyyyzzzzzzzzyyyyxzyxyyzzzzzzyzzyyyyyyyzyzzyzxyyyyxyzyyyzzyzyyzyyyxxxyyzyyzzzzxyxyzyyyyyyzzzyyxyyyyyzyyzzyyzzzyxxyxyxzyyzyyyzxyyyzxzxyyyzzzzzzyyyyyyyzyyyzzzyyyxzxyxyzyzzxzyzyyyyxxyyyyyxzzzzxxzyyyxxyzzyxyyyzyyyxyxyzyyz{yyzyzyxyxxyyzyzyyyyyyyxyyyyyzyyxzz{yyzyxzyxzxyyzyzzyyyxzyyyyzzyzyzzyzyxyxzyyzzyzzzzyzzyyyyyzzzzy{yz{xyyxyyyyzyyzzzzyyzyyyxzzy{yyzzzyzyyyzxyzzzyyzzyyzyyzyxyzzzzzzz{yzxyyy{yzzz{zz{{zyzzzzyyyzzzzzzzzyyzyzzzz{zzzzzzzzyzyy{z{zz{zz{zzzyzzyyyzz{{{z{{{yzzzzzzzzz{z{zzzxy{zzy{zzzzzzyzzzzzyyyzyzzzzzzzyzzyzzyyyzz{yzzzzzyzxyyy{zzzzzzyyyyyxxyyzz{yyyyyyyyyyyyxyxyyyyyyyxxxyxxxyzzyyyzzyyxyyyxyyyxyyzzyyyxxxxxyzzyzyzyyyxyxxyyyzyxzzzxzyzxywyxxyyzyzzzyyyyxyxwwyyzyyzzxyyxyyywzyyxzyyzzxyxyyxyyyyyzxz{zyxxywywyyyzyyyzzxzxyyyxwxzxyzyzyyzxxxyyyyyyyyxyyyyyxxxyxxyyzyyzzxxyyyyxyyyyyyyzyzxyyxyxyzyzyyzzyyz{yyxzzyyyyyzzzyyyyxyxzyyzyzzzyxxyyyyzyzyyzzz{zxxyyxyxzyyzzyyzyyyzyyyzzy{yzxz{zzyyyyzyzzy{z{z{zyyzyyyzyyzzzz{zzyxyxyyyyzzzzyzzyzxyyyzzyzzzzzzz{yyyzyzyyxz{y{zzzzzyyzzyyy{zz{{z{{yzyyyzxzy{zyzzyyyyzzxxzzzzzzyzzzzyyyzyyzzyzyzz{zyzxzyyyzyzzzz{zyxyzxyyyxyy{yzz{yyzyyxzwyyyyzyyzwyxxxxyzyyzyyzyyyyyyxxxyyzyyzyzzyxyxyyxxyyyyzyzzzxyxxxxyyyzyyzyzyxyxyyzxyzyyyzz{yyyyyxyxxyyyyzzyxyyxxxyxxy{yyzzyyyyxxxxzyyyyyyyzxxzyyxyyyyzyzyzzzxxzyyyyyzyyyzyzyyxxyyyxxyzyzy{zyxyyyyxxyxyyyyyxyyxyyxyyyyyyzzyzyyyxyyyyyyyyzzzzyyyyzyyyzzyw{zyyyyyyxxyyzyyzyzzzyxzzxyzxyzyz{zzzzzxyzyxxyyyzzzzzzyxyyzyyyyyyzz{zzzyzyyyyyyzyyzzzzyzyyyyyzzzzzzzzzyzzyyzyyyzzzzzzzyzzyyxyyzzzzzyzzxzxyzxyzzzzzyz{yyyyyyzzyzz{{{{{zyyzyzzzyz{z{z{zzxzzzyzzzz{zz{zzzzyzzxyyzzzzzz{{zzyzyzyyyzzzz{y{yzyyyyyzyz{zzy{{zyyyzyxyyzzzzzzzyyyxxyzxyz{zzyzzzyxwyyxxyyzxxzyzyyxyyyyyzz{yzzyyyyyxyyyx{yyzzyzzyxyyyyyyyzyzzz{zzzyywyxxyyyzyzyzyxywyyxxyyyyzzzyzyyxyxxyyxzyyzzyyyyxxxyyyyzyzyxyxxywyxyyyyyyyxyxxxyxxyyyyxyyyzyzzyzyxxyzyzyyyyzzzyyzxxyxyzyyzyyzyyyxzxzyyxyyxzzyyxyyyyyzyyzyyzzyyyzyzyyxzzzzzyzyyyyzyxyyyzzyzy{zxzyyxzyyyz{zyzzzyyyyxyyyyzzzyzzyyxyxzyxzy{zy{zzzzyx{yyyyzzzyzyzz{xzyzzzz{{{z{{zzzzyyyyyyzzyzzzzzyxyzzzyyz{zzzzyz{yzyzzzyzzzz{zzz{zyyyzyzzyzyzzz{y{zzzzyxyzzzzz{z{yzyyzyy{zx{{z{{zyyzz{yyzzzz{z{zzyzzzzyz{zzzzyz{zyzyzy{zy{zzzz{zzzzyyyzzzzyzyzzzyyyxyxyxzzzzzyyyyyxyyzyyyzyzyzzyyyyxzxyyzzyyyzzzyyxxyzyxyyyyyz{zxyxyyyxzyzyyyyzzzzyxxxxyyxzzyzzzyxxyxyyyyyxyyzzyxzyxyyxyzxzyz{yyyyyxxyyyyyyyzzzyyyyyyyyxxzyzyzzyzxxyxyyxyzyyzzyzyxzyxyyxyzyzyyyyyxyxyxyxyzyzyzyzyyyyyyxyyyyzzzzzxxyyyyyyyzzzyzyyyyxyyyxxyzyyyzyzzyzzyxyyzzzzzyyzxzxyyyyyzyzyy{zzyyyyxyxyy{zzz{yzzyyyyzyyyzyyzzzzzyxyyxyyzzzyyzyzyyzxyzzyzyzzzzzyy{zyyxyyzzzzzzzyyzyzzxzx{{z{zz{yzyzzzyzzyzyzz{{zzzzzzyzyyzzzz{{{{yyzxyyzzz{{{{{{zxyyyzzyyzzzz{zzzyzyyzyzzzyyzz{{zzyzzyzzyz{y{zzzyyyyyzyzyzz{zz|zzzyzyyyyzyyzzzzzzyxxyxxyzyzyyzyyzxyxy{xwy{zyyyy{yyyyyxyxxyyxzzy{zyyyyxyxzzyyyzzyyyyyxxxyyyyyyyy{yyyzyxyxzyyzyzzzzyyxyyywzzyyyyzzxyzxyyxyxzzyyyyyyyywyxyyzyzyyyzzyyyyyxyyyyzyyyzzyyxxxyxxyzzxyzyyyyyxxyyxxyyyyyyzyyyxxxyxyzyyyyxzxyyxyyyxwyyyzzyzxyyyyyxyyyzyzyyzzyyxzyyyyzyzyzy{zxzyxxxzyyyyyzzzyyyxyyxyzyyyzzyzyyyxyxxxy{yyzzzzzyyyyyyyzyzyyzyyxyyyyyyyy{{yyzzzyyzyyyzy{yzzzzzzxzzzyyzyzyzzz{{{zyzyyzzxzzyzzzzzyyyyzyyz{z{zz{zzzyzyyyzzzzyzz{{z{zzyyyyy{z{z{z{zzyzzzyzy{zz{zz{z{zyzyyyzz{zzyzzzzyyzzyyyzzzz{yzzzzzyyyzzyzyyzzzxzyyyyyzyyzzyyzzzzyzyywxxyzzyzyxzyyyxxxxxyyzyyyyzyyxxyxxwyyzyyzyzzyyyxyxxyyyyzzzyzyxyxxxxyzyzyyzyzxywyxyxywyzyyzzyzyyxyyyyzxxyyyzyyxxyxxyyzzzxzzyyxyxyyxxyyyyyzyxxyxyyyxyzyyyyyzyyxyxyxxxyzyyyzyyyyyyxyyyyxxyzyzyyyyxyxyxyyyyzzxyyzxwxyyyyyyyyzzzyxyzzzyyyyyzzzzyyxyyyyzzyzyyyzzzyyyyyxyyyzzzzz{yyyyxyyyzyzyzxzzyzzyzxyyyzzzyyzzzyyyyyxyzzzzzyx{zyxxyyxyzzyyyzzyyyyyyyzyyzyzzzz{y{yyyzzyyzzzzyzzzyyzzyzxzz{z{zzzzzxzz{yzyzz{{zz{zzyyyyzzzyzzz{zz{zxyyyzzyy{z{y{{zzzzzyxzzzzyz{{{zzyyzzzxzyyzyyzzzzzyyzyxyyyz{zz{zyyywyyyxyzzyzzzzz{yxyyyzzzzyzzzzyyzyxyxyyyyzyzyyyyxxxyxxyy{yyyyyyyxxxxxxyzyxzyyzzyxxxyxxyyyyxzzyyyyxxxxxyzzzyyyyyxyxxyyyyzyyyzyzyyyxyyxxzyzxyyyyyyyyyyxwyyyyyyyyzyyyyyxzxywzxyyyxxxyxzyxxzyyyyyyyyxxxywyxyyzzyyzyyyxxxxyyyyzyyyzyyyyywxyxyzxyyyyyxyxzyxyxxxyyyyyyyyxyyyxyyzzzyyyyxxxyyyzyzyyzyzzyxxxyyzyyyyyyzzzyxyyyxyxzyzzyyzzzxyxyxyyyyyyyzyyzzyyyxxyxy{zzzzyyxxyxxyyyyyzyzzzzzyyzyyzyzzyzzzzyzyyyyyyzzyzzzyzzyzzzyyxyzzzyz{zzzzyyyyyz{yy{{z{zzyzyyzyyzzzz{{z{yzzyzzyy{zzzzzz{yzyyyyzzzz{{zyzzyyzzyzzzzyyzy{{{yxxyyyzzzzy{z{{yzzyzyyxzzzzzy{yzzyzxyyxyzyzyzzyyxzyxyyxyyzzyzzzyxyxxyyxyxxyxyyzyxxxyyyxzyzyyyzyxyxxyxxwyyyzyzyzywyyyyxxyyzyxxyyyyyxyyyxxyyyyzyyyxyxzyzxxyzyyyyyyyyxxyxyyzyxyzzyxyyxyyyxyyyyxyyyxxxyxyyxyyyyyxzzyxwxxyxyxxyyyyyyyxyyxwxxxzyyyyzzyxyyywxyyyyxyyyyyyyyyxxyxxyxyyyyyxxyxyyyyyzzyyzyyxyyyyyyyyzzyzyzyyyyxxxxyzyyyzyyxxyyxyyyyzyxyyzyyyyyxxxzyyyzzzyyyyyyyzxxyzzzzyyzyzyzyyyzzzyzzzzzyyzyyyyyyyzzyzzzyxyyyyzzyyyzyzzyyyyzyzyyzyzyzyzyzxyzyyyyz{{zzz{{zyyyxzzyyzzzy{zzzxzzyxzyzzzzzz{zzyyzxyzyzyz{z{{z{yyyzyzyyzzz{{{zzzyyyyyzyzyz{zyzyzxxxyyyzzzyzz{zyzyzyyyyxzzz{zzzzyxyxyyyxzzzyzyyyyyyzyyxyzyxzyzzyyxyxxxxxyzyyyzzyxxxxywxyxzxzyzyzxxxxwyxyzyzzxyzyyxwxyxxyyyyyzyyxyxxxxxyxyxyxyyyyxyxzyxwyxyxyzxyyyyxxywyxyyzyyzyxyyxyxxxywzyzzzyxxyyyxxyyzzyzyyxzxzxyyyzyyyzyyzyyyxyxxyxyyyywyzzzyxxyxxxxyyyyzyzyyxxyyxxzyzyyzzzzxyxxwxxyyyyyzzyzyxyyxyzzyyzzzyyyxyyxyyyyzzyyzzzyyyyyxyyxy{zzyyyzxyyyyyyzyyzzyzyyzxyyyyyyzyzzyzyzzyyyywz{yzzzzyyyyyxyyyyzzzzzzzzyyzyxxyyyzzzzyzzzyyyzyyyyzzzzyz{zzzyyzzzyzzyz{z{zxyyyzxxz{{z{zz{zzyzxyyyzzyyz{z{zxyyyzyyzyzzyyzzzzyyzyxyyyzzyzzzyyzxyzyyyzzyzzzz{yyzyyxyz{zyzzyyyxyyyxxyzzzyzzyzyyxxxyyxyyzxxzzyxyyxyxxyyyy{yyzzzyzyyyyyyyyyzyyyzyxxyxxxyyzyyzzyyxxxwxyxxyzyyyzzyyzxxxyxyyxyyyzxxyyxxyxxxzyzxzxzyyywyxyxyyyzyyzyxyyyxxxxyxzzyyyyyxyzyywxxyzzxyzyyyyxyyxwyyyzzyzyyyyzxxyyxyzzxzyyxyyxxxxxyyyyyzzxyxyxyzxxyzyzzyzyzxyyyyxyzzzzyyyyyyzyyyyyz{zzzzyzyzyxyxyyyyyyzzyyzyyzyyxyyzy{yzxzzxzyyyxyzzyyzzzzzyyyyxzyzzzxzzyz{yyxzzyyzzzzyzzzzyyyyyyyz{z{zyz{yxyzyyyyzzzzyz{yyyyyzzyy{zzzz{zzzyyyxzzyzzzzzzzz{zzzxyyyz{yzzzzzzzzzzzzyzzzyz{zzzyzxzzyyyyyzz{yzzzzyzxyzzyyzz{{{yyyyyzzyyyyyzz{zzyxzzyyyzzzzyyzzyzyyzyyxzzzyyyzyyxxxxyxxyzzyxxyzzyyyyxxyyzzyy{zzyxxyxxxxyyyxzzyzxxzyxxxxyzyxxyxyyyyxwyyxyxyzyzyzxyxyyyxxxzxzyyyyxyyxxyyzyyyyxyyyzxyxxyyyyxyyxyyyxyxyyyyxyyyxyzyyyxyyxyxyyyzyyyyxyzxyxxzyyzyzzyyzyyyyxyyxyyyyyyyzyxyxyyyyxzyyyyzzzyxyzyxyyzzyzzzzyyyxyxyyyz{zyyyzyyyxyyyyyzyzxzzzyyyyyxyxyyzyzzzzyxyyzxyyyzzyyyzyyxyxxyxxxzyyzyzyzyyyxzyyyzyyzzyzzyzyzyzzyyzzz{zzyzyyyzyyyzzzyy{zzzzyyxyxy{zzzz{zzyzyzyzzz{zyzz{zyzyxyyzzzzz{z{{{zzyzyzzzzzzzzzzzzyyzyyzy{{zzyzzzyzyzyyyz{zzzzz{zzzzyyzyyzzzyyzz{zzyzzzzyyzyzzzzzzzwyzyyzyzz{zz{xyyyy{yyxyz{yzyxzxyxyzxyxwzyzxyyzyxyxxxxyzyyyyyxzzyyyxyxyzyzzzzyxxyxyyxyxyzyyyzzyyyyxyyxyyyyyyyzzyyzyyyyxxyyyyzyyyxxyxyxxyyzyzzyyyzyxxxxxyzyyzyyzxyxyxxyyyyyyzyzyyyyyxxxxy{zyyzzyyyyyxyxxxyyyyzzyyxyxyyyyyyyyyyy{yyyxxxzyzyyyyzyzxyyyzyzxxy{yzz{yzxyyyyyxyzyyyxz{zyyyyxyxyyyxzyzyyyyyxxyxyyzyyzzzyzyzyxyyzyzyzzyzyyyxxxyyz{zzyyzyzxxyyxxzyzyzyzzyzyyxzyyyzyy{yyz{yzxzyzy{yzzyyz{zyyzyyzyyzy{zzz{y{yzyyyyyzzzzzz{|zyyyzzzyyzzyz{zzzzxzzzzyz{zzz|z{zzzzxyzxyz{z{zyz{yxyyyxzyzzz{yz{zyzyzyyzyz{{yzzzzyzzzyzyyy{zzzzzzyyzyxzxyzzzzyzyyzzyyyzzyzzzyyyzzwxxyxyxyzyyyxyyzxxyxwxyyzyy{yyzzxxyyxxxyyyyyyzzzxyxyyxyyzzzyyzzxyyyxyyyxzyyyyxzywyxyxyyyyyxzzzyzyyyyyyxyyzyyyzyyxyywyyyxyyxzyyzyyxyzyxyyyyyyy{yyyxxxzwxxyyyyzzzxyzxxyyxxyzyzzzyyyxxxxxwxzyxyxyzzxxxywxxzyyxyzzyxyyyyxyxzyzzzyzzyxyxzxyxzzzyyzyzzyxyyxyy{zyzyzzzzyyyyyyyyyzyyzyzyyyzyyyxxzzzyzzzzzzyzyyyzzzyyyzzyyyzyxyyyzzzzyyzzyyzzyyzzyzzz{z{zyyyzzzyzzzzzz{zyzzxyxyxxzzzz{zzyyy{yzzyz|{{zz{z{zyyxzzzzyz{z{zzzzyyyzyzyzz{z{{yyzzyyyyy{zyzzzzzzyxyzyyyzyyzz{z{yzyyyzyy{yyyzyzzyyzx{yyyyzzzyz{{zzzxzyyzxzyzyyyyyzxwyxyyyzyzyyyzyyyyxyzxxzzyyyyyyxxyxwxyzyxzzzyzxyyxxyyyyyyyyyyxyxyxxyzyyywyxxyzyxyxxyyyyyzyyyyyyxyxyyyxxyyxyyzyxyzyyxxyxyzzyzyyyxxywxyyyyyyyzxyyyyyyxyyxyzzyyzyyzxyxxxyyzyyyxzyyxxxxxxxxzyzzxzzyyxwxxxxxyyyxzyyzxxxxxywxyyyyzyyyxyyyyzwyyyyzyzyyzxyyyxyyyyzyzzzyyyxxxyyyzyzzzyyzyyyyyyyyyyzzzzyzy{yxyyyyyzyyzzzyyyyxyyxzyzyyy{zyyxxyxyyyy{yyzzy{yyyyyxzzyz{zzzzxxyxyzyyzzyzzz{zyyyyzyyy{zzzzyyzzyyzzy{yyzyzzz{zzyzzxz{{zzyzz{{{{zyyxzyyy{yzz{{z{yyyyyzxzyyzzy{zzyzzyyxyzzyy{zy{zyyyzyzz{zz{{z{zyyzyyyxyzz{zzz{zzzxyyzyyz{yzzzzz{xyyxxyyyzzzzyyxxxyyyxwxyzyyyyyyxyxxxywxxyyzyyyzzxxxyyxxyzyyyyyyyyyyyxxxzyyzyyzzyxyxxxxxyyyzyxzzyxyxxyyxyzxyyzzyxxyxxxxxyyzyyyzyyx{xxyyxxyyyyyzzxyyyyxxxxzzyyzyyyyyxwxyyyyzyzzzzxxzxxyyyxyyyyyzzyyyyyyyxxzxxyyyyyxyyyxxyyyyzzzxyxzyzyyzwzyyyyzzyyyyxzyxyyyyyy{yzyy{zyyzyxyyzyz{zxyyyzxyxyyyyyzyzzxzxyxzyzzyzyzzzyyyyyyyzyzzzyzyzyyyzyyyxyzzyz{zzzyxx{yyzzyyzzzz{yyyzyxzyyzyzzzzzyyyzzyyyzz{z{{zyzzyxyxyy{z{zz{z{yyzxyz{yzyz{xz{zyyzyyxyzz{zzz{{zyyzyyyzy{yyzzzzz{yyyzyyyzz{zz{{{zyzzyyyyyy{z{z{zzyzyzzyyyzyy{yy{{yyyyyyyz{{zzz{zyxyywyyyyzzzzyxzyxyyxwxxyyzyyyx{yyxxyxxwxyzyy{yzxxyyxxyyxyyzyyzyyxyxyyxyxxyzzyyyyxyxxxyxyyxyyzyyxyxxyxxyyyxyyyzyyyyyxyxxzzzyxyyzxyyxxxxxyyyxyyyyxxxxywxxyxyxyyzxyyxyywxxyxyxzzzyyxzyxyyxyyxzyyyyzyyyyyywxzxxzyyyyyxyxwyxxyxxzyyyyxyyyyzyzyyyxzzzyyyxzxxyyyyyxyyzyxyxxxywyyyyyzzyxzyyyxyxxyzyyzzzzzzyyxzyyzyyzzyyzxxzxyxyy{yyzzzzyxyyxzyxzzyyzyyy{xzyzxyzyyzzzzzyyyywzyzyyzzzyy{zyyzzyzyyy{z{yz{zyzzyyzxyzzzzyz{zyzzyzzyzzxy{{{zzzyzzyzyyzzy{{z{zyyyzyyyyzz{zy{zzyyyyzyzyzzzzzz{zyyyy{zzzzzzzyyz{yzzyyyyyzzzyyy{zzzxzyyyyyzyzzyzzyzyyzxzyyy{zzyzyxyxxxyywyyyyzyzzxxxxyxwyzyxyzz{zyyyxwxyxyyyyyxzyyxyyyxxyxxyyyxyyyyyxxyyxxyxyyzyzyyxyywxxyzyyyy{yzyxyxyxxxyzzyyyyyyxxxyxxyxxyxyyzyxyxxwxxxyyyyxyxxzxyxxxzyyyy{yyyxxxyyyyxyyyyyyyzyyyyyxyxyyxxyyyzzyyyxxxxxyyxyyzzyyyxxxyyyyyzyyy{yxyyxxyyyzzxyyzzxxyyyxyyyyyyyyxyyyyyyxyxyyyyyzy{yxyyxyxxxzzyyzyyzxxxyyxyzzyzzzzzyxyyxyyzyz{zyzyzyyxyyzzxyzzzyzyzyzxxyyyyzyzzyy{zzyyzyxyzzz{yyz{zzyyxzyyzzzzzzzzzzyyzyzzyyzzzy{zzzyyzyzzyyzyzzzzzzyyyyyyyyzzyy{{zyyyyyyyxzy{zz{{zzyyy{zyzyzyz{zzyzyzxyzyyyyzyz{zzzyyyzyyyyyzzyzyyzyxyyxyyyyzyzyzyxyxxywxxxyyyzxyyyxxyyxwxyxyyxzzzyywxxywyyzzyyyzyyxyyxxxyxx{yyyyyyxyxywxxyxyyxzyyyzyxyxyxxyyyyzzyyxyyxyxxxyyxyyyyyxxxxxyxyxzxyyzyxxwxxyxyyyyyyyyyxyyyyywxxyzyyzxyyxxxxxxxxzzzyzyyxyxxyxxwyxxxxyyyxxxxyxyxxxyyyyzyyxxyyxxxyyyyxzzyyxyxxyxyyyyzxzzzxyzxyxyyyzzyyyz{yxxxyxyyyyzxyyyzyxxyyxyxxxzyzzzyyxzyxyxyyzzyyzxzzyxyxxxyxxyyzzzyyyyyyyyyyzyzzzzzxyyyyyyyyzzyzzzzyzyyyxyxzzyy{{zyyxxz{yyzzzzzzzzzyyyyyyxzzzzzz{zzzzzzyyyzzyzzzzzzzyzyzyzyzyz{zz{zyyyzyyzyyy{zzz{zyyyyzzyyzzzyzz{zzzzxyxyyyzzyz{zyyyyyyyzyyzyyzzzzxyyxyxxyzyyzyxyzwxxxwyxxwyxyyxy{xxxxyxyxxzyzyyzyxyxxxyyyyzyyyzzyyzyyxxxyxyyyxwzzy{xxxxxxxyzyyyyzxxyxxxyyyyzyxyyyxxxyyyxwyyyzyxyxxxzxxxxxxyzzy{zyyzxxzvxxxzyyzyyyxxyyxyxyyxyyyyzyxxyxyxxyyzyzxyyyyxxyyxyxxzyyyxxzxyywxyyxyyyzyzyzyyyxyxyyyyzyzzzyyyyxyyyxxyyyzyzyyyzyyxyyyyyyyzzzyyxyyxyyyyzyzyzyzyyyyyyxyzyyyyyyyxzxyyyxzyzyyyzyyyyyyyxxzzzyxyzzyyxxyyyyzzzzzzyyyyyyyyzyzyzzz|zzzzyzxyyyyyzzzyyzzxyxyyzzzzzz{{z{yzzyyyzzzzzy{zzzzyyxyzyyz{{yyzzzzyyzyyyzyzzzzz{{yyyzyyyyxyxyzzzzzzyyyzyzzzyyzzz{yyyyxyyyyyzzyzzzzzxyyzyxzzyyy{zyyyzxyyxzyzzyyyzzyyxxxyzyyyyzxzzzxxyxxyxxyyzzyzyzyyyyxxyxyyxyzyz{yyxxwyyxyyyyyxzzyyyxxxxyyyyyxzyyyyxxxyyxxyyxyyzyxzyyxxyxyyyyzyyzyxyxxxxxyyyyyzyywxxxyxxxyyzyyyyyyxyyxyyxyyyyzyyyyyxyxyxyxyyzzyyyxyxxxxwxxyyyyyzyxyyyyxyzxyyyyzzyyxyxyxyyyzyzxyz{yyyxyxyxzyzxzzzzyyyxxxyxzyyyy{zyyyxyxzxyyxyyyyzxzyxxyxyxxzyzyzyyyyyyxyyxxyyyyxzzzyzxyyxzzzyzyyzzyyyxyzyyxyzzy{yyxyyyyyzzyzy{yzz{yyzyyyxzzyz{z{zyzyyyyzxzyz{zzzz{zyyyyyzzyzyyzzzzzzzxyyyyzzzz{{zzzyyzzxyyzzyyzzzzzzyyyyzzzyyzyz{zzyzzzyxyy{yzzzz{zyxyzyyyyzzzxz{zzyyyyzyxzzz{yy{zyyxyyxyzzyzzzyzyxyyxxzyxxzzzyyyyzyyywyyxyyyyyyzyyyxxyxyyyyyyzzyyyxyxxyyyyzyzyyyzzyzywxxxyyyyxyyzzyyzyyxwyyzyyyyxzyyyxyyyyzyyyyyzyxyyxyyyyyxzyzyzxyxxyyyxzyyyyyyyxyy{yywyyyzxyzzyyyxxxxxxy{zzyyzyxyyxxyyxyyyxyzxyyyyyyyyyxzyzy{yzyzxyyyzxzyzzyzzzyzyxyxyyyz{yzzz{xyyyyyyyyxzyyzy{xxxyyyyyzzzyzzzzzyzyyy{yyzzyyz{yzyxyyxyxyzzzzyzyyxyyyxyyzzzyzzzzzxzyzxyzzy{zz{zzzyzzyxzz{yz{z{z{zyyyyzyzyzzzyz{zzyyyyyzyz{z{zzzzzyzyyzzyzzyzzzzzzyyzxzzzy{zz{{zzyyyyyzzy{zyzz{{zzzyyzyyzzzzz{yzyzzzyyyyyzzyz{{zzyyzyyxxyyzz{z{zzzyyyzxyzzyzzzzzyyyzzyyxxzyyzzyzyxyzxyxxyyyzyyyyyyxyxyyyxyyzyzzy{yxxxyzzxxyyxyzzzywyyyyxxzyzzxzzyyyywyxyxyyzyz{zyyxyyxzyyxyyyzzy{yyyxyxyyyzzyx{zzyxzyyyxyxxyyyzyyxyyxyxyyyyzzxz{zyxwyxxxxyyzyzyzyxxyyxxxxyzyzyzzyyyyxyxxyxzxyxyyyyyyyxxyyxzyyyzyyyxxzyxywxyyzyzyyyyxxyyxyzzyzyyzzyxzyyyyyzzyyy{{zyyyxyxyyyyyyzz{yzyyyzxyyy{yyyyyzyxyyxyyyyzzzxzzyxyzyzyzyzxzyyzyzyyzyyzxyyy{zzz{zyyyzzzyyzyyzyzzzzzzzyzyz{z{zz{{zzyyyzyzyyzzzzyzzzyzzyzzzzzz{{{{{{xyzyzxzyz{zzzz{zyzzyyzz{z{yz{{{zyzzzyyzzz{zzz{zyzzyzyyzzzyzz{zzyyyyyyyzzyyzzz{{zzyyyyyyyz{zyzzyzyzyyyzzy{zzzzyyxxxzxxwxxzyyyyzyyxyyyxxxyyzyzzyyyyyxxywyyxyzyyyyxxxxyxxxzyzyxyyzyxxxxzxyyyyyzyyzxyxyxwxxyyyxxyzyyxyyyyyyyyyxxzyyyxxyyxxxxxyzxyyzxyxxyxyxxyyyxzyyyyyxxyxwzxxyzyzxyyxxwyyxxyyyyyyyyxxxwwxxxzyyyyyyyxzxyzxxxyxyyyzzzyyyyxyyzyyyyzzyyyyxzxxyyxyyyyyyyyyzyxyxzyyzyzzzyxyyxxxyzyzyzzyyyyzyyxyyyzzy{zzyyyxyzyxzyyzzyyzyzxyzyyxyyz{xyyzyyyyxyyyzyzzz{{yzxzyyyxzyzyyzzzzzzxxyyxzyyzzzzzzzyyyyzyyxzzzzxyzzyyyyyzyzxyzyy{zzzyzzzyxyyz{zyz{z{yyzyzzzyzzz{zzy{yyyzz{zyyzyzz{{zyyyxzyzyyzz{zzyyyyzyyyyzyyyzzzzzyyyyyxyyyzzyy{yzyyyyzyxzzzzyzzyxxxxxxyxyyyyxyzzxyyyxxxwyxxyyyyyyxxxxwxxyzxxyzzxzxxyxxxxxyyyzyzyyxxxwyxxxxyzyzyzxxyxxwxwyzxyxzzyyxywxxyxyyzxxyzyyyyxxxxxyyxyxyxxxxxxxwyxyyxzyyyzxxxxwzwxyyzyyyyyyxxxyyxxxyzzyyyywxyxxwxwxxxyyzzyyyxxxxyxxyxyyyyzxxzxyxxxxyyzyyyzyxxxyxyxyyyyyzyzyyxyxwyxxxyyyzyyyyyxyxyxyzzyyzz{yxyyyxyxyyxzyyzyyyxzxxxyyyyyxzyyyyxzxyyzyyzyzzzyyyyxyyzyzzyzzzyyzzyxzzzxzzyzzzzyyyyxxxyyxzyyzyzyyyyzzzyzz{zyxzzyyyyxyzyzzzyzyz{zzyyyyyyyyzyzyz{zzyyyzxyyyzzzyzzz{zzzyyxxzzyyz{zzyzyzzyyyzzzzzyzzzyxyyyzzyyyyzy{yzyyyxyyyyzzyyzzyyyxxyxxyyzyzyxyzxxyyyxxxxyzzyzzyyxxyyxxxyyzxyyz{xyxxyxyxyyxyyyzzyyxyyywyyyzyyzzyyxxxxxywyzyyxzyzzyxxxxxwyyyyyyzyxyyxxxyxyy{yyyyxyyxxyxxyyxyyyyyyxyyxyxxxyyyyxzyyyxyxxyxzyyxyyzyxyyyxyyyxyxyyzyyyxwxyxxxwxzxxyyzyyyyxxxxxyyyzyzzzxxyxyyyxyyyzyzzyyzyxyyyyyyzyyyzzyxyyxyyyyxxzxzzzyzyyyxxzyyyyyyzyzyyyxxyyyzyyzzyzyyyyxyyyyzzyyyyyyxzzyyyyyyzyyyzzzyyyyxyyzyyzzz{zyyzxyyyyyzyzzzz{yyzyxxyxzyzzzz{z{xzyyyyyzzzyzzz{zyyyyyyzxzzzzzzzzyyxyzzyyzzzzyzzzyzyyyyzzzzyzzzzzyxyyyzyz{yzzy{{{zyzzzy{zzzzzzzzyyyxxyyyyyy{zz{zyzzyyyyxzzyyy{zzyyyyyyyyyzzxzyxyxxxyxxyxxyzyyyyyyyxyyxxxyyzyzzxzxzxxyyyxyyyxyyzyzxxyxxyxyyzyxxyyxxxxxyxxyxyyyzzyzyxyyyyxyyyyyzzzyzyxxyxyxzyyxzzyyyyyxxxxyyyyxyzyxyyxyyxxyxyyyyzxyxxxwyxyyzyzyyyyxxzxxyyxyyzyyyyzyzxyyyxyyyyxyzzzyxyxyyxxxzyyyzyzxyyyyyyxyyyyzzyyyyxxyxyzzzyzzzyzyzyyyxxzyyzzyzzzzyyxxyyyyyyyzyyyzyzxyxxyyyyyyzzyyxyyxxyyyzyzxyyyyyyyzyyyzyzyyzyyzyzyyyyyzzzzyy{zyzzzyyzyy{yzyzz{yzzyyzzyyzzzzzzzzxzyyyyyy{x{y{y|xzyyzzzzyy{zzzz|{yyyyzyzzzz{zzzz{zyzyyyy{zzy{zzzyyyxyyyyzzzzzzzz{yxxzxzz{yzzzyzzyzxxzyzyzzzzzyzzzyxyyyzyxyzzzzyzyyyxyxxyyzzxyzyyyxxxxyxyyxzzyxyzyxyxyxyxyyyxyyzzxywyyxwxxzyyyyzzyyxxxxyyyyzzyxzyyyyxxxyyyyzxyyyyyzxyyyxxxyyyyyyzyyyxxxxxyxyyyyzxyyyxxyyxyyyyyzzzxxyxxxxxxyyyyyxzyxwxyxxxxyyyzzyyyyyxwxyxxyyxyxzzyxyyyxyxyyyxyxxyxxyxxyyyxxyyyyzzyxyywyxxxyzzyzzzyyxyxyxzxyzyzzyzyxyxxxyxzxzyyzzzyyyxxyxyyzzzzyzyzxyyyxyyyyzyyzzxyyxyxyxyyxzzyyzxyxxxxywyyyyzyzz{yyyxzzyxy{yzyzy{yyzyyxzxz{yzyzyzyxyyxyyxzyzzyzzzyyyyyyxyzzzzzzzzzyzyxzzyyzz{zzyyzyxyxyxzz{zzz{z{yyyzyyyxzzz{zz{yzyxyzzzyyzyyzzzzyyyyyzzyzzzzzyzzyzzyyyyyyzzzyzzyyyyyyyxxyyzzyyzyyyxzyyzxxxzyzyxxyxxyxxxxyzyxyyyyzyyxxxxxzxyyyyzyyxxxxxxxyyyxyzzyxxyxyxyxyyzyxxzyyxxwxyyxyyzyyyyyxxyxyxzwxyxyyzyyzyyxxxwxxyyxxyyyxxyxxyxxyxxyyyzyyyxxxyxxxyxyyyzyxxxyyxwxyyyyzxxyyxyxxxxxxyxyyyyyxwyyxyxwxyyxxyx{ywxyxwyyyyzxyzzyyxxxxyxxyyyyyyyyxyyyyyyyyyzzyyyyyxxyyxyyyyyzyyyyyxyxwyxyzxyyzzyzyxyyxyxyyzyyyyyzyxyxxyxxyzzyy{zxyyyzyyyzyzyzyzxy{yxyxzyyzzyzxzyzxzyyyzyyzzyzyzzzzyyzyyzyzzzyzyzz{xxyyyyyy{zzz{zzzyxyyyzzyzzyz{zz{yyzyyyzz{yzyz{zyyyyyyzyzyyzyzzyyyyxyzyyzzyyzyzyxyxyyyyyy{yzyyzzyyyxyyyyzzyzzz{zyxyyxxyyyyyzyyyyxyyyxyyxyyzyyzxyxxyyyxyxxzyxzyzyyxyyywxyyzzzzzxyzyyxywyxxyyyyyyyzyyyxyxxzzzzzxyzyyyyyxyyyyyzyyyzxxxyxyyxyzzyzyyzyxyxyxxyyyzyxzzyyxyxxxxxxyyzyzyyyyyxyxxxyyyyyzzxzyxyxyxyxzyyzyyzyxxywxxxxzyzzzzzyyxyxxyyyxyyxyyyyyxxyxxyxzyxyxyzyywyyzyxyyyyyyyzyyyxywyyzzyyzzyzxyzzxyzxyxzyyyzzyyxyxyyzyyyzyzzzyxyyyxyyyzyzzyyyyyyyxyyzxyzzzzzxyyxyxyxyyyzzzzzzyzyzyyyyyy{zzzzzyyzyyxyyzyyzyzzyzyyzyyyyzzyyzzy{zyzyyxzxzzzzyz{zxzyyyzzyzzzz{{yzzzyyyzyyz{{zzzz{zzzzyyyy{z{{zzzzzyyyyyyzyyzyzzz{zzzyyxyzzyz{zzzyzywxyyyzyzy{{zz{{yxxyzyyzzzzzyzyyyyyyyyyyzzyynFu4a z|{zzzz|||||||}{{|{zzz||z|{{{{|{{{{{{|z{{|{|||||zzz{z{{{z{{{{|{{{zz{{{z{||{{{|{z|{{z{zz{{{zz|||{{zzzz{{z{{z{{|{{zzzz{zz{{z|{{|{{zz{{{{{z|{{{{{z{{{z{zz{{{{{{{{{z{{zzzyzz{{z{{z|z{{{{z{zz{{{z|{|{{zzzzz{{{zzz{|{{{zz{z{{{{{{||{{{z|z{yz{|{{{|{{|{{|{zzzz||{{{z||{{z{{{z{|{{}|}||zzz{zzzz{|{||{|z{z{{{|zz||{{{z|{{z{{{zzz|||{{}{{{{{{|{z{z|{||{{{{{{{zz{{{|{{||||{{{{{{{{{||{|}{|{{|||{|{|}{|||{|{{|{{{||||{|{||{|zz{z|{{|}||{|{||{{}{|{|||{|{|z{|z{{|{{{{|z{|{|||{{|{{{|||{{||}{{{{z{{{{{{||{{{{{|z{z{z{z|}|{{||{|{z|{z{|{|z{{{}||{|{{{z|{}|{||||{|{|{{|||||{||{{{|{{{{z||{{{|||{{{{|{{{{||{|{|{{z|{z{z{|{{|{|{}z{{{z{z{{{{{{{|{{{{{zzzz{{{{{{{{{{z{z{{z|{|{||{|z{{{{z{z{{{{|{|{{{z{z{z{{|{|||}|{{{{{z{zz{{{{{|{|z{{zz{z{z{{z|{{zz|{z|zz{{{{z||{{{{{{{z{{{{{|{|||z{zz|z{{||{{|{|zz{{{{|z{{|{{{|||{{|z{{{{|z||||{{{{{{{{{{||{{z{}|{z||{|{||||{{}|{{{|{{z|||||{|||{{|z{{{|||{}|z{{{{{|{||{{{|}{{|{{{z{{{z|{|||{|||{{{{|{{{{|||||{}{z|{{{{{{|||}}}~|z{{{||{|}}}}|||{{{{{{|{|}|||||||{z|||{|||{{}|{|}||{||{{{|||{}||{||{{||{z|{||||{||{{z{{z||}{{{|{{{{{{z{{|z{{||{{||{{{{|{{}|||||}|z||||z{|||||||}|{z{{||{||}{|}|}{{{{|{{{|||||||||{{{{{|{|{|||{{||{|{{{|{|||{|}||{{|{z{{{}{|{{||||{{{z{zz|{z{|{||{{{{{{{{{{||{{{z|{{{{{zz|||{|}{||{{zzz{z{|{{{z{{{{z{|{{{z|{z{||}{||{{|{{z||{{{|||z{{{z{{{|||{||}|{z{|z|{{|{||||{|{{{{{|||{|{|||{{{{{{{{{||}{{|}|{|{||{||{}|||||{|{{{{{{{{|}|||||{|z{{{{{|}|{{|{|||||{{{{||||}||||{|||{{{{|}}|}}}{{{|||z||||}}}||{{||{|||}}||||}}|{{||{||||||||}|}|{{|||{|}}|}|||}|{|||{{|}|}|~~}|{|||{{{{|}{||{}{|||{|{||||||}|}|{|{|{|||{|||}}||{{|||{|||{{||{{|{{{|{{{{||{||}|||{{|||{{{|}||{}|{{{|{{{}||}||||{|{z{{{|{z{||}}}{{z{{{{{|{||{{{}|{|{{{|{|{|||{||{{|{z{|{{|{{{}||{z{{{|{{{{{{{|}|{z{{{{{z{{{{|{||{{{z{z{z{{{{||{{{z{zz|z{{|{|{|||}{{|zz{z{{|{||||{{{{{z{{{{{{{|||z{{{z{z{{|{{{||||{{{{{{z{|{||{||{{z{{z{z{{|}{||||{{|{{{{|{{|{}||z{z|{{{{{{||}|}{{{{{{{{{{|||||{{|{|{{{{z{|}|||}|{|{{{z{||{|||}|||{{|{|{||||}{{|}{||{z||{|||||||{|zz|{{z|}|||}||{||{{z|{{{}|{||}||{}|||}|||}{}}}|}||{{|||{||}|~}}|||{|{|{{}|}|}}||{{{{|{|{{||||||||{|{|{}|||}|}|}{||{{z}|{|||{}}|||{{|{{{{||||{|}zz|{{{{{|{{{|}|}{||{|{{{||}|{|}}{{{|{{{{|||{|}|}|{{{{z{{{{||}|||{{|{zz||{||}{|{||{|{{{{z{|||}|z{{{{{{||{{{{{{||{||||{z{{z||z{||{z{{zz{{{{{z{z{{|z{yz{{{zz{{{{{}|{zzzzzzz||{{|||{{||z{{{{||{|{{|z{{z{zzz{{{|{{||z{|{zzzzz{zz{|{z{z{{z{|z{{z{{z{|||z{{{{{{{|{{|||{{|zz{{{z{{|{{{||||{zz{z{{{{||{||||zz{z{z{{|{}||{{{||{zzz|{}|{{|{{{{|{|{||{{{|||{{{|{{{{{|||||{||{{{{{|{||{{||||}|{{z{{|{||{||||||{|{|{{{}||}|||||{{{{|{{|{}||}|||{{|z{{{{}||||}}||||||{||}||||{||{{{|{{|||||||||{{||||{|{|z||{|{|z{{{|{{|{||||{|{z{{z{{{z|{||{{|{|{z{|{z|z|{{}||{|{z{|{{||}||}}|}{{|{zz{{{|{}{{}{{z{{|{{{|{{}}|}||{{|{{{|{}|{{||{|{zz|{{|||}{|z{{zz{{|z{{{|{{|{{{{{|{{{{|{|z{~{z{zz{{{zz{{|{{||{{zz{z{z{{{z|{|{|{{z{zz{{{{{{|{|{z{{z{z{z{|{{{|||{{{z{z{z{{{z{|{zzz{{{{{{{{{{{|{{{{{z|{|y{{{{|{|}{z{{zy{|{z{|{{{|{{zzzz{{z{{|{{{|{{{{|{zz||||||{||zz|{zz{{||{z}||{{|{{{zz|||||||{{{{|{{z{{||{|z|{|{|{|{{{|||||||{{{{{z{|{|}|{{{}|||{{|zz{}|}|}||||z{|{{||||}|||}|}{|{{|z||}{||}||{{{}{{|{{|{||{|~}{|{||{||||{{|}||{|z|{||{}{|{|}||{{|}{{{||{|||{|||z{{{|z{|{||~|||{|{|{{z||{|{{{{{zz{{zz{{{|{{{|||}{{{|{{{|}}{||}{|}}||{{||}|||}||{{zz{z{||{|{z~|{||{zz{{{{|{{{{z||{{z{{z{||}|||}{||{{|{{{|z|{|{{|z|{z{{|{{{{|{{|{{yz{{z{|{{{{{{|{y{z{yzz{{|z||{|{{{zzzz{{||{|{|||z{{zzz{{|{{{{||{z{{zz{{yy|{{z|zzzy{zzz{{|zz{{{|{{{{{{{zz|{|{{}|||{z{{{{|||{|{||{{||z{{{{{{||{||zz|{{{{{|||||||{||{|{{{|{|||||z{|{{zz{{{|||{|||{{zz{{{{|{}|{{z||{||{|{z{{}|{||||{{{{{{{{{|||}|}}||{|z{{{|||}||~||{{||{|{||}{{||||z}{{|||||{|{|}}||||||{{}||||}|||{}|{z|{|{|||||||z{|{|{{}||{{||}|{z{{|{{|}{|||||{{{|z{{z||{{{|||{{|{{{|{|||{{{|||{{zzz|{{{{|{}|}{|{{{||z||{|||}{{|{}{||z|{|}|||{|{{|z{{{|{|{||}|{||{z{{{|{{{{|{{{{{{yz{{{{||{|||{|{{z{{{|{z{{||{{{{{{{{{{{||{|{|{{{{{z|z|{{|z{||z{z{yzy{|{{{{{|{{zz{{{{y{{|}{||{{{{zz{z{{|zz||{|{{zz{{zz{{{{{{z|{z|{yz{zz{{{{|{{{z{z{z{{{{||{|||{{{zz{z{z{{|{{{{{{{{{yz{{{{{{{||{{|z{zzz{{|{z{|||z|{{{{{{||||||{z{{{{|{{||{|{|{{{{zz{z{z|||{|||{{{z|{{{|||}|||}|{{zz{||{|{{{{|||||{{z{{{z{||{|}}|{|{{{z{{||||{|||{||{|||||||||||}|{{{{{{{||{||||||||{{z{||}||}}|}z{|{}|{}{||}||||{{{|{|{||||}|}}{|{{|||z{|{{||||}|z|z|z{{{||{{||{{{zzzzzz|z{|{|||{z{{zz{|}|{{|}}{|z{{{||{{|{|{|}|{}{{{{{z||||{|z|z{{{zz|{{|{{}||zz{zzz|{{{{{{{||{zz|{z{{{{z{{||{|{z{zz{z{||{{|{z|zzzz{z{|{{{|{{{{{{z{{{{|z{|||{|{{z{zzyz{{{{{{||zy{{z{zz{{|{|{|{z{{{{{z{{{{z{{{{z{z{z{zz{|{{z|{|zzzz|{{{{{{{{||{{{zz{{{{{||{|{|{{z|z{y|{{|||{||{{z{{{{{z||}{{{{|{{{z{{{{z||z{|{|{zz{{z{||||{{{||{z{{||{{||{{||{{{{{{{{{{|{}||}|}|{{{||{{|{||{|{|{{z|z{{||}|}{|{{|{{|{|z{|}|||{|}zz|{||||{|{}|{||||{||||{{||}|}|{|||z{{{||||}{|}}|{{{|{|{{|}||||||z|{{{{||{|{{|{||||zz{{{|||||{|}|{{{{{z{{}|z{||{{{{z{z{{|{{{{}|||{||{||{{|||{}{|{|z{{||{|{{}|{||}{zz{z{{|||||{|{{z|{{yz{z{||z{{|{{{{{{{z{||{{{|}zz{{{{{{{||{{|||{z{{zzz{{{|{z|}{z{{zz{zzzz{{{{{{zz{z{z{z{{{{{||{{|{{{{{{{{||{||{z|{{z{zz{|||{{{{{zz{z{{{{{{{z{{z{{|z{{{z||{z{|||z{|{{|{|{z|{{||{{{{z{{z{{z|{{|{{{z{zzz{{{{{{|{||{{zz{{{z|{|{{{{||{{z{{|{{{|||}{|{z{{{zzz{|{|{{|{||{{{{{{{|{|{||z}z{{{{{{{||||||{{{{z{|{{||{}|{}|{|z|z{{{||{{}}}|{z{{||{{|||{||}}{{||z||||}{||||}||||{||{||||||||||{|{{{{||||{|||}zz|{z{||{|{||||||{||{z|||||{|||{||z|{{{z||}|{{{z{z{{{z{{|{|{{{|{{{yzzzz|{||{|||{||||||||}|~}}{}{|{{{|{{||||{||||||{{}{{||||{|}||{{{z{{{{|||{|{{}{{zz{z{z{{{|||{|{{|{{{z{|{|{{|{{{{{{z{{{{z{{|{|zz{z{{zz{z{{{{{|{z{zzz|{{{{{{{{{|z{{z{{z{||{{{|{|{z{{zz{{{{{|{|{zz{{{yzy{{z{|{{|{{{z{yz{z{z{{{||{{z{z{{{{|z|{{|||{{{zzzz|||{{|}|z{zz{{{{|{||{|}|z||{zzzz{||{|{||{|{{{{|{{{||{{{{{{{{{|{{{{|{{{|||{{|zzz{|||{{{{|{{{|z|{|{{{}||||z|{{{{|{{|||}||||z{{||{{{{||{{}{{{{{{{{{||{||}}}{{{{{{|||||}|||}||{|z||||||{||}||{{|{|z|{}||{{||}{{{{|{z||||||}|||z||{{{}{|||||||{|{z{|z|||||{}|{|{{{{{z{||{|{|{{{|zz{z|{||{|}}|{|{{||||}}||}{}|||{||{{{}|}{}||{{{{{|{{{{{|}|{||{{{{{{{{{}||{{||{{z{z{{{{|{z{{|{{{{z{{|{{|{{{}||{{z{{{{{{{|{{{|{|{{z{{z{{z{|{{{|{{{z{y{{z{{|{|}{z{|z{{yz{{{{|{{{z{{|z{y{z{{{{|||z{{{{z{z{|{z{{{|}{zz{z{{|z{|{|{{{z{{{{zz{|{{{{||{zzy{{zz|{||}{{{{{||{{{{{{|{|{||{z{z{{{{|}{{|||{{z|{{{|{{{|||{|{{{|z{{{{z||{|||||{{{|z{z{|}{{|||{{{{zz{{{|{}|{|{zzz{{|{|||{}|||||z{||{z{||||||||{{{{z{z{|}|||||{{||{|{{|{||||{|||{{|{|{z|}{|}||||{|||{}{||}|||||}|{|{|{{|{||{||||{{|{{{|}|{}||}||{||{|z|||{|||||{{{{{{|{|}}{{z{||{{{|zzz|{||{{|}|}||{||{{|{}{{{||{{{|{{{|||}}|||}{|{|{{{|||}}||||z|{|zz|{{}{|{{||{{zzy|z||||{|||z{{z{z{z{{}{y{{|{{|z{{zz{|}{{||{|z{z{z{z{zz{{{{{{zz{{zzz{||{{{||z{{z{{z|{|{|{{}|zzz{z{{{{{{|{{|||zz|{{{{z{{{{{{z{z{{{{{{z{z||{|||{{z{{|{{|||z{||{z||{{{{{|{{||{{{{{{{{{{{{{{{{{|z{{{{{{z|{{|z|||{{{{|zzz||{|||||{{{{{{|{{||{{{|||{z{{z||||}|{|{{z{|{|{{{{|{|}}{|{|}z{z{|||{|{|}}|{|{{{{{||||||}||zz{{z|{|{|{|}}|{z{{||||}|}{||||||||{|||{|||}|}}}{|{|{||z|||||}|{{{||{{||{|{|||||{{{|{{{||||}}|||{{{{{{{{}||{{|{|zzz{{{{|{}{||||{{{{|{zz{|{||~}{{{{||{|{}}|}|||||{|z}z||||}||}|}|{{z{{{|||{{|||||}|{{{{|{||{z||{|{z{{{{{|{||||{}{|{{|z{{{{||{||}|z{z{{zz{||{{|{|{zz{{zz{{{{{{||{|z{{{{{z{{|z{{|{{zzz{zz{{{{|{|{{{{{{z{{zz{{|||||{{{{{{{{|{{{{{||z{{{zz|z{{z{{|{|{z{||{{{|z{{{{||{{|{{{{z{{{{||}|{||{{{||z{{|||||{{z{{zz{|{{{|{{{z{{z|z{{||{{|{|{||{z|{z|{{|{{|{{|{{{{{{|{|{|||||{{{{|z{{{|||||}|{{{{{{{{|{{||{}}{z||{{{{|}}|{||||||{|{{|}}|}{||}{{|{|}{}}{|{|||}~{{||{{|{|}}||}|}|{{|{{{|{||}|||||{{|{{{|}||||||||{|{{|{|||{|||}{{{{|z||{{{z|||||zz{z{{{|{||{||||{{z{{{{{{|{{|{}}||{|||{|}|{|~~}{{||{{{{||}|||}}||{|{{{||}|z|||}{{{{{z||{||{|}||}{|{{|{{{|{|||{|{{{|{{{z||||{z|{{zz{{{z{{||{z{||{{{{zzzz{|{{z{||{{{{yzz{z{{{|z}{z{{|z|{z{||z||{{{|zzzy{z{|{|{{|{{{zz{z{zz{{||{||{{zz{z{{z|{{|{||{z{{|zz{{|{|||{|{|{{{{{{{|||{{||||{{{|{{||||{{||{|{|{{{{|{|{||{{|{{z|{{{z||{{|}}{|{{{{|{z||{{{|{{{|{|{z{||{|||||{z{{{|{|{{|}|||}{|{||{z{|||||||}|{|||z{{||{|}{}}||{{{{{{||||}|{}|{{{|||{|~||}}{}}{{{{{|{{||}}||||{||{{{|{{||||||||z||{{{||{|}|}}{|{z||{{|||||||}{|{{{||{{|||{||{{|{{z|{z{{{|{||{{{|{z{{z|{{{|}|~|~|}||{|||{}}|}}|{||||{{}|||}|}}||{{|{|z|||}||||{{{|{{z{{{}{{|}||{|z{z{{|{||||{||{|{{{{z{{{|z||{{z{{zz{{{|}z{{}|{{|{{{zz|z|{||||{zzzz{zz{{|{|{||yzz|z{z{||}z{||{{{{{zz{{{|||||{|{|{{{{{z|{{z{|{{{{zz{z{{{||{{|{{|{{z{{y|z||{{|||{|{zzz{z|{|{{{||{y{{|{|z|{||{|||{{z{z{zz||||{||{{{{{{{{|{|{{{|{|{||{{{|{||{{{{||}{|||z|{{||{||||{{{|z|z{{||||}|{{{|{{{{{{|}}}|}||{{|{{z{{|}|}|}|{|z{{{|{||{||{|}|{{{{{||{}||||}|||{{|||{||}||||}|{|||{|||||||}|||{{}||{{{|||||||||{{}|z{|{||}}|}{|{{{|{||||||{||{{|z}{{|{}||{{||zz{{{{|{{||{{|}|}z||{|||}}}}}|}|||{{{{{|{|{|||||{{{z{{{|{{{}||{||z{{|{z{{{|||{{}|{{z{z{z||||||||{{|{{z|zz||{|{|||{|{{{zz{|{{{{{{|zz{z{{z{{{{{{||{{{z{zz{|{{{{||z|z{z{zz{{z{|{|{|{{|{yzy{{{{||{||{z{{|z{{|{{z||||{z{zzz{y{|{z|{{|{{{|z||{{{{|z|}|{{{{{z{{|||{|||{{{zz{{{{{{{|||||{{{zzz{z|{||||||{|{|{{{{||{|{}||{{|z{{{z||{|{{|{{{{||{{{||{{|{|{|{{{{{|{{{{|{|{|{|}|{||{{|{|||||{|{{|{{z|||||}|||z{|{{{{|}|{}|||||{||}|||}{{|}}}{{||{|{|{}||}||||{}{{z{||||{{|}}|{{{{{|{|}}|||||{{{{||||||{|{{}|||{{z{{|{{|{}||}{|{{z{{z|||{|{||{|{z{{{zzz|{{~||||{|}{|{|}|||}}}}|||{{{{|{||}||}||{{|{{||||{|}||{{{{{{z{{||{|{|{{z{z{z{{|||{||z||||z|zzz{||{{||{{{{y{{z{{|{{z|{}|{zzzzzz{{{{{{||{z{yz{{z{||{{{|{{{{{z{{|{{|{{{||{z|zz{{z{{{{|{||zz{z|{z{z{|z{{|{{{{z{{zz{|{{{z{|{zz|z{{{z{{|{}|{{zz{{z{{||{{{{{||{||{y{{}{{{{|}|{{{zzz{{z|{z|{||{|{{{{{{{|||||}||z|{z{{|{|{||||{|z{{{{z||{|{{{|}{|{{z{{{{{||||||{|{{|{z{{||{||||}||{{{{{|}|}|||||{{{|{{{|}|{}}||{{|{{|{{{{{|||{}|{|{{}{|{|||}||||z|{{{{||}||{|{||{|{||{|||{{||}||{{{{{||||||||}{{||{|{{zz}z}|}|}||{{{{{z{z|{{|{{{||{|yzy{{{{||~}}{|}}||||}}|}}~||~}||{||||}|}||}}|{{|{|{|{||}}}{|{|{{{{{{{{{||{}{{|zz{zz{{|{|{||{{{{z{{{z|||{|{{{{{z{{{{{{||{|{z|{{{zzz{{{{{{|{{{{{|zz{{{{z{{{{|{||{{{zz{|{{{{|{{{{{z{zz|{{}|{}|{z{|{{{{{{|z|{|{{{z{{{{{{{{{z||}{z|z{{zz{{|{{|{|{{zz{zz{{{|{|}|}{z|zz{|{z{{||||z{{z{{{{{|||{z{||{{{{zz{{{||||||{{z|{||{z|||{|{}|{|{|z{{{|||||}|{|zzzz{{{{{}|{||||{{{{{{|{|{}|{||||z|}z{{|||||}||{{{|}{{|{||z|}}|||{||{|{|||||}}||{|||{{||}|}|}}|}{{|{||{}||||}||{{|{|{{{|||}||}||||{{{{||{{|}||{{|{{|{{||||{|}|||{{zz{z|{{|{{{|{{|z{{{{z{{{||}}}||}{|||||}|}}|}}|||{{||{|}}{{}}|}|{{{|{||||{|||}|{|z{{{{{{||{{||{{{zz{{z|||{||||{{{{{{{{{|{||||{{{|z{{z{{{{{|||z{|{{z{|{{z|{{z||zz{{{{zz|{|{|{{|{{z{{zyzz{|{||z|{{z}{{{{z{|z|z||{zzz|{{{z|{{{{{{{z{{|{zz{{z|{|{{|{{{z|{z{{|{z{|||{{{{zz{{{|{|}||{z{{{{{{{|{{||||{||z{{{{{{{||||{||{{||{z|{|{{|||{{{{|{{z|{}|{{|{|z{||zzz||{{||{||{|{z|{z||{||||{|{{{{|{||||||}{|{{z|{{{{{|{{|||}|{{|{{{{||||{|||||{{{{||{||||||||||{|{{||}|}|||||{|||{|{{}|}|||||{||{||||||||||}|{||{|z|{|{|||}||{|{{z{{{{}|||}}|{|{|z{z{}z|{{||{{z{{{{y{z{{|}~}|}|{{|}{{||||}|}}|{|||{{|{{|{||}|{|zz}{}|||{|{}||{zzzz{z|{{{|{||||zzzz|z{{|{{|{|z{{{{{zz||{z|{||{{|{{{zy{||z{{|{z{zzz{zz{{{{{{{{z{{z{z{zz|{|zz{|z{zzz{zz{{{{{{{|{z{zz{z{|z{z|{|{{{{{zzzzz{{{{{|{zz{|zz{{{z{{|||{z{{{z{z{z{z|{{||{{{zzz{yz{{}|||||{{{{z{{{{|z|z|}{z{{{z{{|||{{z{||{z|zz{z{||{|{||{zz{{{z{||{{{|{{|{z{{{{{{|{{{{|{{||{{{z{{{|||}|{{||{{{{||||{||||{{{z{|zz{|{}|}|||{||{|{|{||||{||{||{||||{|{|}|{}|{{{|||{|}|{|||||{||{{|{|||||}{|{{{{{{{{|{|{|{|||{{{}|{|||||{||||{|zzz{{||{{{z}|{z{{{{{{{{|||{{{{{{{{{{z{{z|{}}~|}|~}||||}}||}}}|}|{{{}||{|{||}||{{y|{|{{|||}}}||||{|{{{|||}{{||{{|{{|{{{||{{|{|{{{{{{{{{||z{|||{{{{{{zz{{{{{|{{{|zz{{|{{|{|{{||{{{zzzz{{z{{{{|||{{{{zy{{{||{||{{{{{z|z{|{|||{|}|z{{z{{z|{{{{{{|{{{{{{{z{{|{||{{{{{{{zzz{|{||{|||{{{|{zz{{||z{{}{|{{{{||||{{{|}{|{{{{{{{{||||{}}|{{|||z{{||||||}{z||z{{{||}|||||{{{{{{{{||||{{||{|{{{z|||||||||||||{|{|{||{|{||}{|{{{{{{|||}|{||}zz{{|{{z||}|||||{|{{||{{{|{||}||{{{||||{~{}|}|}|{|{{{|{|}||}|}|{{{{{{|}||{|||~}|{{{}|{|{||}||||{{{{{{{{{|{|||||{{{{z{{{|||z}||{|z{{z{{{{{{|||}}}}}|||~}}~}{}|}~||||{|{}}|{||}|{||{{||{{}{{{{}}}|z|{{{{{{||{|{|}|{{{z{{{{|{{|{|}{{{{{{{{{|{|{||{{z|{{zz{z{|{y{|||zz{{{{{{|z{|||{{zzz{z{z{z|{{||{{z{{z{zz{{|{|z|{|z{{z{zzz|{||{|{{z{|z{{zz{{{z|{|{|{zzz{z{{{}||{}zz{{{{z{{{|{{|||{{{zz{zz|{||{||{{|{{|{{{|{|{{{||{{{z{{{z{{{|{{|||{{z{z|{{|}{{|}|{{{{y{{|||{z{}||{|{z{|zz{||{{}|{|{{{{{|{{||}||}|{{z{||{{{{{{||||{{{{{|{{||||{|||{{{||{{{||}||}||{{{{||||{}|}|}||{{|||||{||}}||||}{|||{{||||||}|}}{{{{{{|{{|}}|}~{{{z{{}{||}|{}|}|{{{||z{||||{|~||{{{{{z{|{{{|||{{{{{{z{z{|{|{~~}}}}|}}||}~||}{}}}||{||{{}|||||}||||z|{{{{||||}|||{{{{{{{{||}{||||{z{z{{z|{|{||||{||{}{z|{|{{|{|{{{{{zz{{{{|{||z|z{{{z{{{{{|z|{{zzy{z{{{|{{|z{|{zz{{z{{{{{{{|z|{|{{{z{z{||{{{||{{{{{{{zz|{|{{{{|{{{z{zz{{{{{{|{{{{zz{{{z{{|{{{||||zz{{{{{|}{{{|||{z|zz{{{{|{{|||{{{{|z||{|||||||{|{|{z{{|{|{|{|{{{{{|{{z|||{{}|{{|{z{{{z||{|{}{||{{{{z{{{|}||||||{|{{|{{{{{|{}}|{{{{{{{|||{|||}||{|{|{|{|||}|||}{{{{{||{}{|||||||{{{|||{{}|{|||}|{||{{{{}{{}{}}|{{|{|z{{{{||||}|||{{|{{{{||}|}{||||z{|{{||||||}|||{{{{}||}{}{{|{{{{zzzz{{|||}}}~|||}|}~|}|~|}|~}}|||{}{||||||}}}{{{{||{||}||{|{|||{{|zz{{||{{|}||{|zz{{{{}{||||||{{{{z{z{{|z{{{{{{{zzzzz{{{{z||{{{{{z{{z{z{{|{{|{{zzzzz{{{{|z{{{{{z{zzzyz{{{|{{|{z{{{zz|{{{||z{{z{zz{{z{{|z|||||{{zzz{{{z{{{z|||zz{{{z{z{{|{{{{|{{{z{z{|{{|{||||{{|{{z|z{|||||||{z{|{{{{{{|{{|}||{{{{{|{zz{{}|||{{|{z{{{z||{{|{{|{z{{{{{|{{{{}||{|{{{}{{{{{||}||{{z{{{|{{|{|{{||{{{{{{{z||{}}{}||z|{{{{{||}{}|||{{{zz|{|{|{{||||{{{{{{{}{}|}}}|}|z}|{{||}||||}}{|z{z{{z||{{|||||||{||{z{}||||{{{|{{{|||{|{|||||{||{{{||z{{|||||{|{{z{{|z{z{|z~}~||}}}|}|}}~}}|}}{||||||}}|~|||}||{{{|{z{{|||{||}|{|{{z{{z}{|{{|}|{|{z{{z|||z{|{||{z{z{{zz{{||{|z|{z{{{{{{{{{||{{{z{{z{{{{|{{{{{{{{{{{yz{{|z{z||y{z{{z{zz{{|{||||zzz{z{{zz{{zz|||{y{{{{zz{||z{{{{}zzz{{{{|{z|{}{|{z{{||{{|||z|||||{{z{{z|{||{|z||{{{{{z{{|||{z{||{{{{{z{{|{{{{|||{{{{{{{{{{|||||{{{|{{{{{{|}||{|{|z{}{z{|{|||||{{{{{|{|{||||{||||{|z{{{|z{}}|{|}|{|{}{{{{{{|{}||||{{|z||{||{{||}|{{{{{{||||{||}|||{|z||{|{}|||||}|{|}|{{{|{{||{||}|{|{z{{||{{||||||{|||{{{|{}|}||{{{z{z{{{|{|{{}|||{{{{{{z}{|z||{{{|z{|{{|{|{{~~~~|}|~|||}}}}}||~|{|{|||{|~}}|}|}||{{|||{{|{{{|}{|{||{{{z{|||{|{}|{{|{{|z{|{|z|{|{{|{{z{z{||{{|{||{{{||zz|{{{z{{z{zz{{{z{{|{{{|z|{{z{{{{z{{z|z||{zzzzz{|{z{|||{{|{{{{z{{z{{{{{|{{|z{z{z{{z{|{{{||{z|z{z{{z{{{||||z{zz}{{z{||||||||{{{{z{{{|||{{||{{{{zz{{}{{|{{||{{{|{{|z{{{z|{||{{zz{z{z|{||||{{{{{{{{{{|||||||{{{{z{{|||||{{|{{{||z|{{{{|||}|||{{|z{{|{{{|{{||||z{|{|{||{|||||||{{||{|{||||{|}|{{|||{|{|}}}{||{{{{{|{||{}}|{}|||{||{|{|{||||||{|||{|{{|||{}|||}{{{|||{}{|}||}||{{|{{|{|{|{|{||{|{{{{{{{{|||y{|{zz|zyzz{{||{|~}~~}~}}}}|}}}}~~}}}||||{||}}||||}}}|{z{{|{}}{{}{||||{{{zz{{{||{{|||{{z{{{z{|{{|{{|{{z|{|{zz{|{||{|{{{{zzz{{{|{|{{{{z{z{{z{zz||||{|{{|z|z{|{{{{{||{z{z{z{zzz{{{{|{|{{{{zzz{{|{|z{|{{zz{{{{zz{{{|{{|zz{z{|z{|{|{{||}{{{{{{z{{{{{{{|{{{{z{{{|{|{||z{||{{{{z|{|{||||||z|z{zzz{{}|{||{|{|{{{z|{{||}{|}{{{z{{|{z{||{{{}{{{|{||z|{{|{{||{{{{{|{{{{|||||}}z||zz||{{{{|{|}}{{{{{{z{{|{||{|{|{{{|{{|||}|||{||{{|{{||{||}{|}|||{{z|{|{||{||{}||z{{{{|{{{|}}|||{z{{{{|{}||||}|}{{{{|{|}{|}}||||{{{{{{{||{|||}||{{|z{|{{{{{}{|{{||z{y{z{{||{~~~~}}}}|}}}~}||}||}|{|||||}|||||{{}|{{{|{z|||{|{|}||{|z{{z{{|}{{{|{|{zz{zz|{{z{|{||z{zzz|z{|{{{{{|{z|{z{{z|{|z{|{|{{zzz{{z{z{{z{||y{{{zzz{{z|{{{{{{zzzz{{{|{{{{||{z{z{z{{{{|{||{||{{{zzz{zz||{{z||z{zzzzz{{{{|{||{{z{{{|zz{||{{|{||{zz{{|{{||{|{{|{z{zz{{{{{|{z||{{{{{{{{{{|{{|||{{yz|{z{z{{||{|{|{z{{{{{{|{}||||{{{zz{{{{|||{{|z|{{{z{{{{{|{{||{|{z{z||{{{|z|}{}||z}||zz{{||}|||{{{z{{{{{{}||}||||{{{{|||{|||||{|}{||{{{{{}||}|}{|{|||{z{{{{|||}||{|{{{{{{||}{|}}{|{|{|z||||||||}z||z{{{{{{||{||{|{{{{{|{{{|{|{||{{{{{zz{{{{{{~~|~}}~|~}~~~~~}~||}||||}|||}}~~{{|{{{|}}|||}}||{|{{|{z{{{|{{{|||{{zzz|{||||{{||{{{z|||y{|||z||{{z{||{|z{{}|{{||zz{{z{{{{{{|{|{{zz{zz{{{{z|{{{|{{{z{z{zz{||{|{|{{{{{{{z{{{{||{{{zz{{{z{z{{|z{|||{{z{|{z{{||z{|||{zz{{{z{||}|{|||}{{{{zz{|{z||||{{{zzz{{{||{||{}|{{{{z{{{|{{{|{{{{||{|z|{|{}||{||||||{{{z{}|{|||||{{|z{{||{|{|||{{z{|{z{{{||}|}{{{{{|||{{|||{||}}|||||{{{{|||||{|{{{{{||{|}|{|{|{||{{{||{{|||}{{}}|||{|{{{~|||||}}{{{{{||||}|||||||z||z{|||}||||||{||||{z|||||||||{|{|{{|{|{|||{||{{{{z{z|}||{{}||z{{{z{{{{|{{~~}}}}}}|||~}}|}~}||{|{{|{}}|}|}|{|{{}|{|}{|{||~{|{|{|{z|{{|{|{{|{{{{zzz{|{||||{|{{{zz{{{z{{{|||}|{{{zz{{{{||z|{{{{{z{{|z{zz{{{{{zzzzzz{z{{{||{|{{zz{zzz{{{|{|{||{{{zzzzz{{{{{||z{{{zzz{{{{{{|{{{{z{{{z{zz|{|{{{{z{{{{{zz|{||{z|{|zzzzz{{{{{{|{|{zz|z{z{{{{|{{{|{{{|{z{z{{|{||{{}{{{z|z{{{||{|{|{zz|{z{z{{||||||{{{z{{{{{|{|{{|{||zz{{||{{|{}|}|||{{{{z{{{||||||}|zz{{{zz|{||||||}z||{{{|||||{|||{z{z{|}|||||}||||{z|{{{{{}|||||||{|{|{||{{}||}|}{|{{|z{}{{|}|||||{{|{{{{||{}||{}}{|z{{{{{|{||||}|{{{|{{z|||{||||{|{z{z{z{{{{{}}||}}|}|}}}}~|}|}}}|{{||}||}|}|}||||{{|{{||{{||{{{|z{z{{||{|{{}{{{{{{{|z{||}{}{|{zzzz{{{z|z{{{{{{{z{{z{{z{{{||||{z{{{zz{{{{{{{{|z{z{{zzz{|{{{{{{{{|zzz{{z{|z|{{{{z{zzzzz{{|{|{{|{zzzzz{zz}{z{{||{{zz{{{{{|{{{{{|{{z{z{{{{{{{{z}||{{zzz{{|{{{{{||{{{{z{{{|z{|{|{|{z{{{{z{{{|{{{}{{{{z{{z{{|{|}||{{{{{|z{z||||{z|{{{{{z{{z||zz{{||{{z{{{zz|{||||{}|{|zz{||{|||||{{{{{{|{zz{|||{|{}{|{|zz|{}{}{|{{{|{{z{{|{||{{}||{|{{{{{|{{|}}|}|}|{{{z{|{|||{|||{{{{{|{z{{||||{||{{{{zz{{}{{|{{|}{z{|{|zz{{{}||{||{{{{{|{{{||{||{{{{{zz|{{{{|{}~}}~}~~~}|~}}}~||}}|}|}|}}~}~}}{z{{||z|}|||}||{{|}{{{{|}}|{{{||{{{{{{{||{|{}|{z{{{{z{{{|{{||{{{{{{{{z{{{}{{||{{{{{{z{{{{|{{{{{z{z{{z|z{|{{|{{|{{{zz{z{z{|{z{|{{|{{{y{{{|{|{|{|{|z{{y{{{{z{|{{|z{{zzzz{{|{|{{|{{{|{{{zz{{{|{||{||{{{{{{{|z||{|||{{{{z|{{{{||||||{|{{z{{|||{{}|{{{|{{z{{{}||z|{{{{{{{{z{|{|||{}||{{|{{yz{{|||{|{{zz{||{|||||}}}|||{{{{||||{||}|}||{{{z{{||{||||{|{{{|{{{|{}{|{|||{{{|{{{}|{}{{}|}{||{|{{||~|||{||{|||{||{}|||{|||{{|{z{||{|{{||||{{{||{|}{{}||||{|{z{{{{{{|{|||{||{|{{{z{|{|{||{|{{z|z{{|||||~~~~~|}}}~~~~~~}~}}||||}|||}|}|||||{{|z{||{|}}|{||{{{z|z|{{||||}|{{zz{z{|{}{{|||{{|{{{{{{{|{|}||{|{{z{zz|{|{|{{{{{||{z{{|{z{{{|{{z{z{z{z{{|{||{{{{{z{{z{{{{{||{{{{zzz{z{z{{|{|}|z{z|zzzz{{{{{{{|{z{z{{z{z{z{{|{||z{|z{zzz{{|{{|{{{z{{z{{{{{|{|||z|{zzz{{{|{{{}{}{zz{{|z{{{|||||{{{{{{z{{{{{{||{{{z{z{{{z|||||{}{{{{{{{z{|{{{{{z|{|{}||{{||||||||{{{{{{|{||||}||||||{{{{{|{|||{|||{{|{|{z|}|||{}|{{|{|{||{}{|}||{|{|{}{{|||{||}}|{|{|{{{{||{||||||z{|{||{||{|{||}{|{{|{{{{}||||||{{{z{{{{{}{}{||}|{z{|z{z{||||{{|{{|{|{{{{{{|{~~~~~~}~~|}}}~~}|||{|||}~|}}|}|||z||}{||{||}{}|{|{{{{{{{{{||{|{z{zz{{{{||}{||}{{{{z|{{{{||||{|{z{zz{{z{{||{|{|{{{{{z{z{{z{|{|{zzzzzzzz||{z|{||{{zzzzz|z{{{|{|{{{|z{|{z{||{|{|}{{zz{{{{{{||{|{|{{{yz{{z{{{{{|{|{{{{{{zz{z||{||||{|{{z{{{{|{{||||z{z{{|{|z||{{}|z{{z{{{z|{||||{||{z{{{{{|{{|{||{{z{|{{z|||}{{{|{||{{{{{{{|{{||{{{|||{{||{||||||{z||{|{|{}|{|}|||z{|||}{{|||}||}}|z{{{||z|{|{|||||{{|{||||||}|||{||{{{{|{z}}||||}{||{{z|{{||{|}||{{{{{{{|||}||}||{|{{|{{||||||||||||z{|{{{|||||||||{{{{{{{}||{{|{|{|{{{{z{|{{{~~}~~~}}~~}~~|~}}|{|{}{|}}}}}}}||{||||{|||z||~||z{{zz|{|||}{||||{{{{z|z{||{{||||{{zz{zy{{z|{{|||{{zzzzzz{|{{|{{{z{z{{zz{z{{{{|{{zz{{{{zz{|{z{{{{{|zzz{z|||||{|{zzz{{|{z{|{{z{|{{||{zz{zz{{z{{{{|{{{z{zz{|{{||{|{{{{{{z{{{{|{||||zz|{z{{{{|{|}||{z{{{{{{{|{{|{{{z|z{{z{z|{{{|z|||{{z{z|{{||}||{{|z|{zz{z|||{{z||{{zz|{zz||}|{{||{{{z{{z{{{|||||}{{||{{|z{|{}{{|||{{{|{{{z{||||{||{{{{{{{{}|{|}|}|{{|{||{{|}||}||}{{{{{{{{|}||||}|z{|{{{{||{||}|{{|{{|{{{{||{|||||{{{|{{{{|{{|||||{|{z{{{{||||||||{{zz{|{|}||{|||{{{z{{z{z||{{~~~~~}~~~}}~}~|}|}}{}z}}|}|}}}||{{|z{{|||||}|||{{{{|{{|{|{{z||||z|z{{z{}|{||}|{{z{{z{z{{{{{||{|{zz{{z{||{z{|{{{{zz{zzz{{{|{{|{zz{zzzzz{||{{||{zzzzz{z{|{|z|{||{z{|y{{z{{||{{|{{z|{{{zz{z|z{{{|zz{{{{zyz{{{z{{||zz{{z{z{{|{}|||{z{{{{z{{||{||{||{{{{{|z{{}{||||{{zz{{z{|{|||}||z{{|{{z{{|{{||||||{||{{z{{{{{}}|{z{|{{{{}{|{{|z{{{|||z{{|||||}{|{{{{{z|{||||||{}{{|{|{{{{|||||{{|{|{{|{||||||{|{{{||{||{|{||||}|{z|{|{{{|{|}}|||{z{||{|{|||}}|{{{|{{z{{{|||||||}{z{{|{{||{}}{|||{|{{{|{{{|{{{||||{{{{{{z|}||{||z|{|{{{z{||{{{~~~}~~}}~~~}}}||{|{}}|}|}}}}|}|{{{{z|}{|}}}|||{z{z{{{{||{|||{||zz{{z{|{{{||||{{{{z{zz|{{{|{|{z|{z{zzz||{{{{||{z{{zzz{{{{z{|{z{z{z{zz{{{{|{{{{{{z{zz{{||{||{{{{{zz{z{{{{{|||{{z{{zzzzz{zz{{{{|z{z{{{{{||{||{||{{z{{{z|{{|{{|{{|{{z{{{{|{{{||{|z{{{z{{z{{|{||{{{z{z{{|{|{||}{||{|z{{{{{|{|}{|{{{|{{{{|{||{{|}{{{{{{{z{|{{{z||{{{{|{{{{||}}{{|}{||{z{{{z|{{||}{|{||zz{{{|||}|{||{{{{z{{|}||{}||{z{{{{||{||||}{||z||{|||||||||}||{||z{{|||{||}||{{{{{{{{{{|||{|}|{||{|{||||||{|{{{{z|z{z{|||{|}||||{zz{{{}||z||{{{{{{{{{}{{{{~~~}~}~~}~~~~}||}{||{|}|||}|}||{{{{{{||||{}||{{{{|{|{{|||{{||{|{zzzzz{{|{||{|{{|zzz{{{||{{{{|{z{z{{z{{{{{{{|{{{zz{{zz{z{|{||{z{{z{zzz{{{{{y|{zzzzz{{zz|{|{||{{{{{z{z{{{|{{{{{{{{zzzzz{{{zz{{|{zzy{{{zz|z{||{|{z{zz{zz{{{|{z{||z{zzz{z{{|{|{||{zzz{z{{{{{{{{||zz{zzzyz{{{z|||{|zzz{z{z{|{{|{|{{z|zzzzz{{{{{{{{{{{{{{{{|{{|z{{{|{{{zz{{{{|||{}{{{{z|{{||z{|{{}|{{z|{z{z|{{||||||zz|z{{|{||{{{|}|{|{{{{|||||{||{|{|{z|{{{{|}||{||{{{{{{{}|||{|}||{{{|{{|{{z{{||{|z{{|{{{||||{{||z{{z{{|{z{|{|{{|{{{{{z{z|{}{{|{{{|{{{{|z{z{{|~~~}~}|~}{|||~}{}}}}|}||{|||{z|{||}}|}|||{{{{||||{{||{||{z{{|{{{|{{}{|{y{{{z|{|{{{{|{|z{z{{{{z{z|{z}{{{{{{zzzz|{z|||{{{{{{|z{{{{||{{{{{{zzz{zz{{|{{|{{{{zyz{z{|{{|{{{{||{z{z{zz|{{{{{{{{{zz{{{z{{{{|{|zz|z{{{zz{{|||}{{{|{{z{{||z{{|||{{{{zz{z{{{||{||zz{zz{{{z{{{|||||{{{|z{{|{{||{|{{{{|{z{{{{|||||{{{z{{{{{||{{{{{|{{{|{{z|{{|{||||{{{{{||{|{||||}}|{{{|z{{{{|||~}{{z{||{||||}||||}|{|{|||{{|||||}||{{{|{{{{||||}|||{{|||{{||||||||}|{{|{{{{||}|}||{||||{{{||||{|{|{{{z{{{{|}{{||{|{|{{z|{{{|||{||||{{z{{{z{{{||~~}|~}~}~~||~}}||}|||~||{}{||z|||||||||||||{||z{{{|||{|||{{yzz{z{z{{{{{|{{{{zzz{zz{{{{{||z{{{{zzzz{{{{{{{{{{{zzz{{z{z{{z{|zyz{zzzzz{{z|||{{z{z{zzz{{|{|{z{{{zzzzzz|{{{||{{zz{zz{zz{|{{{|{{{{zz{{{{z||z{{||{zz{{{{{{||{||{|{z{z{z{{{{{{{{|{zz|{zz{{z{{|{{|{zz{{zz{zz|{z|||{{||{{{{{{{||{|{{{{{{{{{{{|{{||{{{{{z{{z{{|{||||z|{{{{{{{||}|||{{z{{z|||{{}{|{}{|{{z{|{{z|||{|{||{z{{z{{{||{|||}|{{{{{{||{{{|{|}||{{|||{{|||}}|}}{|{{{{{z{~|||{||{{z{{|z|{|||}|}|{|{|{||{||{|{|{}z||zzz{{z|||{|||{|{{z{{{{{{|z{|{{{{z{{zz{zz{{~~~~~~~~~~~~}||||{}}}}}|{}|||}{|{{z}{|||}|}||z|{||||{||{|||{{{{{{|z{{{|||||{{z{{{|z{||{|{|{{{z{{|{{z{{{{{|{{{z{y{zz|{{{{|{{z{{z{z{{{|{|{{|{{{{y{zz|{{{||||{z{{{z|zzz{{y{{|z{z{yzz{{{{{z{{{{{{zzzzzz{|{{|||{{z{{{{z{|{|{{||{{{zz{z|z{|{{{{{|{z{{{{{z{{||{{|{{z|{{z{{|{{|{|{{{{|{{z{z{}||{||{{z{{zz{||||{|{}||{z{{{{{{||{||}{|z{{{{{z{|||||||{{{{|z{{{|{|||{}{{{|{y{{z||||||||z|||{{{|||{{|||{{{{|{{{{|||}}{||{{|{|{z|}||}}{||{|{zz{{|{|||||||{{|{z{|{||||||||{z|z{{{|{|}||{||{{{{{{{||||{|||{{{|{zz{{||{|{|{{{zzzy{{{{{|{}}~~~~~}}}||}}}}}|}}~}|{{||||||}||||{||{{|{{|||||||{{|z{{z{{{z|{}{{||{z|{z{{{z{|{|{|{||{{{z{{{{{|{{{||{|zzzz{{|{{|||{|{z{|zzzz{{z{|{|{{{z{zzzzz|{{|||{z{|z{{yz{|{|{{|z{z{{{{{z{|{|z{{{{{zzz{{{{|{{||{{{{{|||zy{{{{{|{|{|zz{z{{{|{{|}z|{{{zz{|{|{{|{|||||{z{{z||{{|{{|{z{{{|{{z{}|{{|}|||{{{z{z||{{{|||{z{{{|z{|||{{||{{|{|{{{{||{|}{||z{{{|z||||{|{{|}{z{|{{{{}}||{||||{{{{{{|}}{||||||{{{{{|{||||||||||{z{z{{{||||||}|||}{|{{{|||||||}{z|{{{|{||||||}{|||z|zz||{||{|||{|z|{z{{||{|}|{||{{z{{{{{|{|{||{{{z{z{z{{{{{~~~~~~~}}||||}}}|~|}}}}||{|{{||}||}}|||{z|||{{{}|{||||{||{z{{|{||}{|{|{{{{{z{{||{{z}{{{|{{{{{z{||{{|{{|{z{z{z{{{{|{|{{{{{z{{{{{z|{{{|{{{z{{{{{{|||{{{{{{|zy{{z{|{|||||{{{zzz{{|||z{{{{zz{z{{{z{{{{z{|{{z{{{|{z{{|{{|||{{{{{{{z{|{{{{||{||{{{{{{{{{||||z{{{z{{{{{{{|}||{{|{{z{zz|{||}|||{|{{{{z||{{|||{{{|{{{{{{|{|||{||{{|{{{{z|{|{|||{|{{{{|{{|{{|||{{{|{|z{{{|}|||}||{{{{{}|||}|||}||{||{|{{|}|{||}|||||{|||||}||}|||{{||{|{|||||{|}|{{|{{{{||||}{|{||{{{{{{|}|}||{{{|{{{z{{||||||}||{|{{{zz||}|{{|z{{|{{{{z{|{{|~}~~~}||}||}|{|}|}}}}|||{z|{{}|||{{|||{|{{{z|{|}|||}|{z|z{{{{{z|{|||{{{|zz{{z{|{{|{{||{{z{{{{{||{z|{{z{{{z{zz{z{{{z|{{zzz{zz{{{{{{{{{zz{{{{zy{|{{{{|z{{{{y{zz|{|{{{||{z{{{z{{zz{{{||||{zzz{{z{{{{z{|zzz{{{{{{{{|||{||{|{{z{|{z||{{|||{{{{{|{|{{||||{|{{{{z{{{{||{{|{|||{{{{|z{{||{{{{|{{{z{z{{|||{||{{{{{{{z{||{||}||{{{z|{{{}||{{|||{|{{z{{{{|{{{|{}||z|{{z{{|||{||||z|{z{|z|{||{|}||{|{{{{||||{||{}||{{{||{{}|{|{}||}|{|{|{|{||||}{|||{{{{||||{}{|}|||{{{{{}|}{|}||{{|{|z||{|||z|{||{{{z|{{{|{|||{|{{zz{z{{z||||~}~~~|}}}||{|||||}|~|}}{|{|{{||z|{|{||{{{{{|{z{{{{{{||||{{z{{y|{|{{{|{{{{{{zzz{{{{{z{{|z{{{{{z{|{{|{{{{|{{zz{|y{{{{{{|zzzzz{{zz{{|{{{|{{{{{{zz{z{{{{z{{z{zz{zz{||{{{{||zz{{yz{{{{{{{{{{{zz{|{z{z{z{|{|{{{{{{yz{{||z|||{{{{|{zz{|{|{||}{z|{zz{{{{{{|{{{{z{{z{z{|{|{|{||{z|{{zzz||{|{|{|{{{{{{{{{{|{{|}{{{z{zzz{{{{{{||{{{|{{{{z{||{|~||{||{||{|{|{|{{||{zz{{z{z{{||||{||z{z{z|}{}|{|{||{{{{{{{||{||{{|}{{{|z||{{|||||}||{{{|{{|||||||}||{{|{|{{{||||{{||{{{{{z||{{|{|||{{z{z{||{|z|z|||{z{{z{{z{||{||}||z{{|{{{{{{||~~~|}}}}||}|}}|||}|||{|{||{|{||{}|||{{{|{{{{||||{|{{|||z|{{{||{||||{z{{zz{{{{{{{{|{z{zzz{zz{{{{{{{{{{z{z{z{{|{|{||z{z{{z{zz{{{{{|{{z{{zz{|{{z{{||{{z{|{{z{{zz}||||{{{zzzzzz{{z{|{|{{|{{{z{zz|{{z|{{{z{{z{zz|{{{|{{{|{{|||{z{{|||{||{{{z{z|{{|{{||{{||{z|z{{||||||{||{|{{{||{|||||{|{z{{|{{{z||||{|{{z{z{{z{|{|}|{|{{{{{{{{{||||{||||{|{{{|{||{|||}||{{{{|{{}|||||||{z{{|z|{}}{}|}||{{|{|{{{{||||}|{}{{|{|{{||||}{||||||{{|||||||}|||z{{{||{|{{||{}||{{{|{|{|||}|||||{{z{|{|{|||{}}||{z{{{{{{|||||{{{{{{z|{{|||{{~~~~~~}}|}{|}|}}|}}}}}||{}|{{{{||{|{||}|{{{||{{|{{{z{|{|{|{{{{{{|{{{|{}{{|z|{{z{|z{{|{{{|{{{{|{{{{|z|{{z{{{z{z{{{{{{{z{{{{{{z{{{{{}|{||{z{{|{z{{{{{||{|zz||z{zz|{{z{{|{{zzzz{{z{|{|||{{{{{z{{z{z{{{{||{{{|{{z{{{||{||{|{{z{|z|{||||||||{z|{{z{{{{{||{|}z{{|{z{{{{|{|{|{{|{{|{{{{{{||||{{{{|zz{z|{|||||{|{|zz|{{{||z|{{|||{|{{{{{|||{|||z{{{z{|||||}{||||{{{{{{{{}{|||}|{{{|{{{{|||{|{|}|||{{|{|||{||||}||{{{|{|||{|||||||{|{{{{||}||}|{|z{|||||z{||}{|}||{{|{{{|{{|{{{|{{{{{{z{{{||||}{|{{{{|{{{{||{|{{{z{z{{z{||}z{~~~~}}}}}||}{||||{||||{||z{{{{|{|||{|||{{|{z{{|}||{z}{|{{zzzz{{{{{||||z{{{{{{{{|{|{{{{{{z{zzzz{z{{{z{|{{{zz|z{|{{{{{z{z{{zzz{zz{{{{{||zzzz{zyz{|{{|{|{{z{xzzzz{{zz|||{{zz{|{zzzz{{{{z{{{zy{z{{{{{{{{{|z{{z{yz{{|{|{{{{zzz{{z{z|||{{|||{z{zz{{z||{{{{||{{{{zz{{{{||||z{{z{z{zz{{|||{||{{{{{z{{z{||{||||{z{{z{{||{|{z|{{{{{|{{{{}{}||||}{{{{{{|{||||{{|{|{{{|{{{{|{{||{|{{|{|{|{||{{||}|{{{{{||{{||{|||}{{{{{|{{{}||}|}||z|{z{{z{{{{|{|||{{{{z{{{||{{|||{{{{|z{{{|{|{||}{{{{{{{z{{|||||{z{{|z{{z{|z|{{{{{{{z{{z{{||{{~}}||}}|z{|}}||}~~~|{{z|||{{||}|{}|}|{{|{{||||{{||}|{{{{z{z|{|{z{{{{{|z{{{zz{z{{||{|{{zzzz{z||{{||{{{zz{{{z{z{{{||{{zz{||{z{{||{{|zz{zzz{zz{{{{|z||{{{zzzzzz{{|z{{{{zz{{{zzz{{z{|{{|{zzz{{{z{{|{{{{{z{{{{z{{|{|||}|{z{z{{z{{|||||z}{{|{{z{{|{|{{}{}z{{{zz{{{||{|||}{{{|{{{{{||{}||{|{z{{{{{{|{|{|~{{||{{{z{|||{|{|||{{{||{{|{}||}||{{{{{{{{{|{|{||}|{|{{|{|{}}{|{{||{z{{{{{||{}||{{||{{{{{{{{|{}{{||{{{{|{{|}|}{|}|||||{|||{|}}||||{{{{{{|{{|{||}|}}{{}{{||||}}||||{{{{{{{{{{{||}|{{|z{{{{{{{{|{||{|||z|{{{|{|{|~~~}~}}||||}}}|}}|||}||{z{{}|||}||||z|{|{{{||}||{||{{zz{zzz{{|{{|{|{|{z{{{{{{|{{||||{yz{{z{|{|{{{|{|zzzzz{z{{{{{{{z{{zzz{z{{{{{{|{|{zz{z{z{{|z{{{{{z{{z{zz{{{|z{{{{{{z{zzzz{{{z{{{|{{z{{{{{zz{{{|{|yz{{{zzz||{{z{|{{z{z|{{{{{|{z{{|z{{{{z{z|{z|{|{|{|{{z{{{{||{|{|{{{{{{z{{||{{|}|{{z|z{{yz||{|z{|||{zz|{z{{|||{||||{{|{{{||z{|||{}{{{z|z{{{||||||{|z{{zz{{z||||{{{{{{z{|{z|}{|||||{{|z|{{{{|||||||{{{|{{{{{}|{||{|z{{|{{{{||||{}|{{|{{z{{{{{|{|}||||{|{|{{{||{{||||{{z{{{{{||||||||{{{{||{{{{|||||{{{z{z{{{{{z|}~~~~~}~||~}|}{|}}|}}|}{z|{{||}}||}||||{{||z|||{|||}|{{{{{{|{{||{{{||{{{{{{{{z|{{{||{{z{z{zz{{{{{{{|{{z|{{{|{|{{{{||{zzz{zz{z{|{{{{|{{{{zzzz{{{{z{{|||{|{z{z{{|{{{{}{{{{{{z{{{{{{|{{z{zz{{z{z{|{{{|{|{|z{{{{{{|||{||}{{|{{z{{{|||{|{|{z{{{{{{{|{||{{|{{{{{{{{{{|{|||||{{z|z{{{}|{{{{|{{{{|{{{|{|{|||{{{{||{{{||{{{||{|{{{||||||}|{||{z|{|{{||{|||{|||{{|{{z|{|}||||||||{{{{{z||{||}|}{|{{{||||||||}{}|{||{|z|{|}{|}}|{{||{|{|}|}||{|{|{{{{|{||||}||}||{|{|{||||z||}|{{{{{z||z||{|||}||{|{{{{z{|||{||{{{{{z{z|{|{|{~~~~~}}}}}~|}}}}}||{}}}|z|||{{|{|||||||{{|{{{{|{||{}|{{{{zz{{|{{{{{||{z|z{{{{{{|{|{{{{{{z{|z{{{|{|{{{{z{zzz{z{{{{|{{{{{zz{{{zz|{|z||{{{{{z{z{z{{{{{|{{{{{{{z{{{||{|{|{z{zz{zz{|{{z|{|{{zz{z|z|{||||{{|{{{{{{{{{{{||||{{z{{z{z{|{{|{{|{z{zzz{{{|{{||{|{z|{z{{|{|{|||{|{{{z{{|{{{{|}||{|z|{{{|{|}||{{|{{{|{|{{{{{{||||||{z||{{{{|||||||{{{||{|{||||{||{{{z{|{{{{||{{|||{|{{z{|{{{|{|||||{{{|||{|||{{||}|{|{{z{{||||||~|||||z{||{||}||||}{{|{|{|{{{|{{}}||{{{|{{|||{||||{||{{}|{{}{|{|}||zz|{z{{||{{{|{{{|zz{{|z{|}||~~~~}}~~|{}|~|}~}}}|||{|{||{}{|||}|||z{{|{zz{|{||{|{|z|z{{{{|{{|{|||z{{z|{{z{|}z{||{|zzzz{z{{||{{{|zz{{zz{{z{{{z{|{}z{zzzzzz|{{z|{|{{{zzz{z{{{{|z||{{z{{{{{|{|{|{{|{{{{zzzzz{|{{{|{|z{z{zz{|z|{|{|||zz|{{zz|{{{|{|||{{{{z{{{{z{z{||||{{{zzzzz||||{{|{{||{{{z|{||{|||z{{z|z{{{{|{|{{{{z{{{{{|{{{|{|{{|{y{{|{{{|{{{||||{{|{{{{||||}}|{{{|{{{{{{{{||{||{z{||{|z{||||}{{|zzz{{{{||}||}|||||{{|{|{|{|{||}}|{|{||{||||}{}||{{z{|{z||{}|||||{{{{{|{||{|{||}{|{|{y{||||||||}{{||{{||||{|{|}|{{{|{{|{{||||{}|{{{z{{{{{{{{|~~~|~}~|||{~|}}|~|}}||{|}{|z|||}|||}{{||z{|{{||{}|}{|z{{{{{{{{|{|{{||{{z{zzz{{z|{z|{{z{{{{zz{{|{{{|{{z{z{z{{{{{|z||{z{zz{z{{{{|{{||{{{z{y{{|z{{|{|{{{{z{z{z{{{|{{{{{{|{{{{{{z{{{|{z|z{{{zzzz{{z{{{|{{{|{{{{||{||{{|||{{{|{{{|{{{{{|{{{{{{z|{{{||||||{|{zzzzz|||||{|||{{|{z{z{|||||{|{z{{{z{z{|||{{||{zz{{{zz|||{||{{{z{{{|{|{|{{{{||{|{{{{|z{z||||}||{||{{z{{|||}|{||z{{{{z{||||||||{{{{|z{|{}|||||}|{{z{||{|}||}|}|}||{{z{{|||{|||{|{{{|{{{||||||{}|{z|{{{{||||||||{{{z|{{{z|{{}||{|{{z|z{{{|||{{}||{{z{{{{{z{{|~~}}}~}}}}}}|~{|}|{|{{{||}{|||||||z|{{{{{||||{||||{zzz|{z|{|{{|{|y{{z{{z|{z{{|||{{z|{{zz{|{||{{|{|z{{{z|{{{{|{{{z{{{{zz{{||{{{{{{|{{zzzzzz|{z|||{zz|zzzzz{{{{z|||z{{zy{zy{zz{{{|{{zz{z{{zz|{{|{{{{{{z{z{z{{||{|{|{|{z{{{{|{{{|{||{z|{{z|{{{z|{||}z{z{z{{z{{{{{|||||{z{{{{{||{{|}{|{{zz{{||||{{{||{z{{{|{{{|{{{||{||{{{z{{{||}|}||||{{{|||{|{{|||||zz||{{{|||||{{||{{{{|z{||||{|||{{|{{||||{{|}|}}|}{||{|||||||||||{{}|{{{|||||||||{{|{{|{{||{|||}{|{|||{{|{||{||}{{{{||{{|||||||z||z{{|{z{|{||||{{zzzzz{{|{|{|}~}~|}~}||}}||}}}}~||z|{{||}}|{}||}{~|{{||||}|||}|{{|{{|{{{{||{{|{{|{{{{z{z{{{|||||{{{{{{{{{||||}{{z{zz{z{||z{{{|{|{z{z{{{|{{z|{{||{{{{{z{{{{|{{{|{{||zz{{{|{||{|{|{{zz{{zz|{|{||{{{{{{{z{{||{{|{|{{{{{|{{|||{|{|{z|{z|{{{|||{|}|||{|{zz|z|||{|}|||{{|{{{{{}||{|||{{{|z{{z{{{{|||{{{|z{zz{|{{}{|}{|zz{{|{||||{z|||{||z{{{{|||}}|||{{||{||{{|{|{||}|{{{{|{z|{}{|{}|{z{{{|{|}||{}|}{{{{|{{{{{|||}}{||{{|||||{|{||}|}|{|{|{|{|}{}||}|||{{}{|{|{||}|}|||{{}{{|{{|}|||||{|{{{{{|}{||||}|{{z{{{{|||{||||{{|{{z{{{||{{~}}}~|{|}~}}~|~}}|}{{}{|{|||{}}}|||{zz{z{{}|{{}||z||z{z{z{z|z|{|}{{{|{{{y{|{}{|{|{{{{z{{{|{{{||{|{z{{{{zz{z{{{|{|z{z{z{{{|||z|{{{{z{zzzz{{{|{{{|{{z{z{zz{{|{{z{||{z{z{zz{z{{{||{{{zzz{{{zz{{{{|{{zzz{{}{{{|{{{|||z{zz{{{{||{|{{{|{{|{z{{z|z{|{{|}z{{{{z{{|||{{|||{{{{{z|{||{|{|{|{z{{zz|{{{|}{{|{|{{z|z{{{|{|z{||{|{{{|z||{|||||||{{{}{|{||||||}}{{{{{{|{||}||||{|z{{||{{}||||||}{|{|{||{{|||||||||{|{}{{{|}}z|}|||{|{{|{|{{}}|}|||{{{{{|}||||{||||{{}|||{{||||||{||||z{{||}{|}}}|{{|{{{{{}{|{{|||{{{zz{|{{|{{~~}|}}}|||}}|||}}|}|{{{}{|{|{||||||z|{{|{{{{|{|{}|{{zz{{{zz||{{|||{{zz{z{{z{{{|z{{{{{{{zzz{z{{{|{{z{{zz{{z{{z{{{{{{yzzz{zz{{{|{|{z{{zzzzyzz|{{|||{{z{z{zz{{|{{z{|{{z{{z{{{|||zz{|{{{zzz{zz{{{{{z||zzzz{{zz{{z{z{|{{{{{{y|z{{{|{{{{{z{zzz{z{|z{{{{|zzzz{zz{|{{{{{{|{zz|{{|zz{{{{{|{|z{z{zz{{{{|{|||{{z{{{{z|||{{|{{|zzz{{{{{|{|{{{{y{z{{||{{||}{||}{z||zz{{{{{{}|}}z{{{zz|{||||||||{{z|{||{{|{{||{}}{{|{{{z|}|||||}||{{{z{{|||z|{{{{|{{{{|{{}|||{}}{||z|{{{{|||{||{z{{{{{z|z}{||||||zz{zzz{z{{{|{|||{|{{zzz{{|{{~~~}}}|~{}}}||}|}|||||||||||||||||||{|z{{z{{||}{{|{||{z{{{{{|||{|{|{z{zzz{{{{||{||{{{|{{zzz{|{z{z{{z{yyz{zz{z{{|{|{z{y{zz{zz||{{{{{{{{zz{zzz||z{{{|{{{zz{zzz{{|||{{{|{{zz{y{|{z|{|{{zyz{{{zz|z{{{{{{z{z|{{{{|{{{{{{|z{{{z{{{||{{|{|{{{z{z{{{{{{z||||z{{zz|{|{|{|{|{{}{{{{{{{{|{{|{||z{{z{{z{|{|{|{{|{{{{|{{{{{{|||{{z{|zz{{||}{}{||{{{{{|z|{|{|{||}{{z|{zz{|{|{}||{|{|{{{|{}{{{{|||{{{{{{{|||||{|||}|||||{{|}{}|{|||{{{{{{|{|||{||||{||{{{{|}{{|||}{{{{|{{{|||{|||||zzz||{z{||||{|{{{{{{|{{{|||{|||{{{zzz{{{{|{|~~~~~~}~|~|}|}}}|}}}}|||{||||||}{}|{|||{{z{{{||{|{{}|{|{{z{{{{{||{{{{{{{{{{{z{{|{{{|{{{{z{zzz{{{{{{|{{{{{{{{z{{zz{{{|{z{{{zzz{{{z{{{z{{z{zzz{z{}|{{{{{y{{zz{{{|||{{||{z{|{{z{{{|{{{{|{z{z{zzz{{{z|z{{{{{{{{{z{|{|{|||{{{zzy{{{|{||{||{{{|{z|{{|{|{{{|{{|{{zzz{||z{|{|{{{{{|{{{{|{{|{|{z{z{{z{{}|{{{{|{{{{{{{||||{z{|||{{{{{{{{||||}||{{{{z|{{{|||{|}|{{{|||z{{{|||}}|{zz{{{{{|}}{}}{{z||||||||{|{||}||{|{z{{{||||||||{{|{{z|{{}|{||}||{{{|{{{||{|}|||||{|||{|||||}{}|{|{{|z{{{{{||}|||{z{z{{{||}}{{{{{z{{{z{z|{||{~~}}}|||}|}{}||}~~||{|z{{||{||}|}|{{{{{{{z{z||||{{{{{zz{{y{{{{z|{|{{|z{{|z{{z{{}z|{zzzz{{z||{{z{{z{zz{z{z|z{{{{{{{{{zzzz{zz||{z{{{|z{z{zzz{{{||||||{{{z{{{{||||{||{z{{|zzz{|{{|{{{{{zz|zz{{{{{z|{|{{|{{{{z|{{|{|{}{{{z{z|{{|{z{{{{{z{{{z||{{{|{{|}z{{{z{z{|{|z||}{{|{{{z{{||{{{{|{{{{z{z{|{|||{|||y{{{{{{{{z{{{{{{{|{z|{{{{{|||{|||{|{{{{||}{|{}|{{{{{{z{{{{|{|||||{{{|{{{{||{|||||{{{{{||z}|{|{|||{{{{|{||||||{|}}{|||{{{|{|{||{{|{{|{{|{|{}||||||||{{{{{{|||{|||{|{{|{}z{||||||||{{{{{{{|{||||{{z{{{|z{{{z{{|~~~}~}}~||}}|}}|||~}||{{{|{}|||||~|||{|{|{z{{|{{{{|{{{{{{zz|{|||||}{{{{{{{{{||{{{||z{zzz{zz{{|{z{{{{{zzzz{z{z{{||{|{{{|{z{z{z{||{{{{|z{{{{{{z|{{{z||{{zz{z|||{{{}{{{{{{{{z{z|z|{z{|{z{{z{{zz|{{{|{{{{{{{}{{{{|{|{{z|{{z{{{{|{{|{|||{{{{{z{{{{{{{{{|{{{{{{z{|{|{|||{{{{z{z{{{|{}{}{|{{{{yzzy{||||||{|{z{{{{z{{||}|{{|{{{{{{{{|||||{||{{{{{}{|{{}||}|{{{|{|{{{{|}||}||{||{{|{||||||}{{|{{{||{|||||||}|{{|{{|{|}||}}|}}|}{|z{{||}{|{|||{{{|{{{{|||||||}||{{{{{}|||||||||{{z|{{|{{|{||{|{{|zz{{{{||{||{z{{z{z|{|{|||~~~}~}|}}|}~|}~|}|}|}}{|{|{{||{{|}||{||{|{{|||{{|}||{z{{{{{{|{{||}|{{|z{{|{|{|{|||{{z{{{|z{{|{z{|{{zz{z{{z{{{|{z{||z{{{{{{{{{{{{||{{{z|zz{{|z{{|{{||z{zz{{{{{z|{{{{{{|{z{{{|{{{z{|{|{{z{{z{{{z{{|||zz{{{|zz{|{{|{{|{z{z{y|{||{|{|{|{{{{{z{{||{||{|||{{z{{{{{{{{{{{||{{{{{z{{{|{{|{|{{|z{{{{{}{|||}{{||{z{zz{||{z{{{||{{||{z|||}||||{{|||{{{|{|||}|}{{{{|{{{|||{|{|||{{z{{{{|}|||}}||{{|||}|{{|{||}|||{{{{|{{~{|}|}|{|{{|||{{|}|||}||{{{{{{||}|{{}||||{|{|{{}|{|{||||||{{|{{||{|||}||{{|{{{||}{|{||{{||{z{|z|||||~~~~~~}}|||||}}|}||}}|z|{{z|{|||{|||{||{z{{{{|{|||||||{{{zz{z{{|{||||z{{z{zzz{{z{z||{{{zz{z{z{{|zz|{{{z|z{{z{{|z|{|||zzzzzz{{z|{{{|}{{{z{z{z{z|{{{{{}{{zz{zz{|z{|{{{{{{zzzz{zz{{{{|||{{{{{y{zy{z{{{{{{zzz{zz{{|{{{|{{{{{{{z{|{||{{{{|{z{zzz{{{{{{{||}|{{{z{z{{|||{{|||{{z{{{z{{{}{|{|{{zz{zzy{|||{}|{{z{{|{{z}|{{{|{|{|{{{{z{||{|{|}|{|zz{{|z||{}{|}|{z{{|{zz{{||}{|{|{z|{{{{{|{{{|||{{|z{{{{|{|{|||||{z|{|{{{}||||}|{{{|{{{z||{}||||{{|{|{{{{}{||{|||z{zz|{{{|||{|||z{{{{{z||{|}||}{{{|{{{{{||||{{||||{{{z{{z{{z{~}~}}|}}|}|}}}|}}}~||||{{|||||||||}||{{z|z{||{||{|{|{{{z{{{|||{{|||{z{{{{{{z{{{||{{{{{{zz{z{{|{|||z{{{zzz{{{zz{{||{z{z{{zz|{{{{{{z{{{z{z{zz{|{{{||{{z{zzzzz{|{|||{||{{zzz{z{|{{{||||{{z{{{{z{{z{|{{{z|z{{{{y{{|{|{{z{{{{{{{|{{{|z||{{|{zz{{{{{|{{|}{{zzzyzz{|{|{|{{{{|z{{|{{|{z|||||{{z|zzz{|||||{{|z{{|{{{{||{|{||z|{{{{||||||}|||{|{{{{{{{{{||||}{{|{{|{{{|||{||}{{z{{{{{|{|{||||{{{{||{|{{z|||{}{{{z{|{{|}|||||||||{{||{|{{|||}||{{zz{{{{||||||}|{|{|{||{||{}}}|{{{{{|{z|{||{|||{{||{{{{{||{|{}||{z|{z{{{{{|{~~~~|}}|{}}}}}}}}~||||||}{{}||{|}{|{{{{||{{||}{{||}{{{{{{z{|||{|||{z{{z{zz|{|{{||{|{{{{{y{z|{z{{|{|{|{{|z||{{{{{{{z{z{z{zzz|{|{|{{{{{z{zzzy{|{{|{|{z{{z{z{{{{{{|{}{z{z{z{z{{|z{|||{{{{{zzz|{z|{{{|zz{{{zz{{|{|{||{{{{zz{{{|{{|z||}{z|{{{{{|{{||{||{{{{z{z{{|{{{|{{{{zz{z{{{|{{{|~|{{{{|{{{|||{{{|||{|{|z{{{}{{{{||z{{{{{{{||||||{|{{|{{{||||{|{}||{{|{|z{{{||{}}{||{{{|{|{}}|||||||{{|{{|{{|{|{|}||{{|{|{|{}}||}}||{{{{{|{||||{|{||{|}{{|{{{||{{}||{{{{||{{|||{|||||{{{|{{|||||||{|{{{{|{{{|{|{{||{|{{{z{{}{{||~~~}~|~}}|||}}||~}}}|}||{||}{{||||}|||{{z{z{{{|{|{{{|{{|{zz{{{{{|{{||{{{zzz{z{{{{|||{{{zz{{z{{{{{{|{{|zz{z|z{{z{{{|{{z{z{{z{z{|zz{{{z|zy{yz{z{||||{{{{{||zzz{{{|||{{{{{z{zz{zz{|{{{|{{{{{{{{z{{{{z{{||zz{|{{{{|{||{{|{z{z{z{{{|||||{{zz{{{zz{||{|{{||{{{{{{{z|{{{}}}}{{{{{z{z{|{{{||{{{|{{zz{|||{||||{{{{{z{{{||{{|||z{{{z{{{{|||||||{{z{{{|{}|{{|{|}|{zz{{|{||||||||{z{{||{{|}{||||||z|z||||{}||||{||{{{{||{|}||{|}||{{|{{{||||||}}}|{z{{{{{|||{{}|||{{|z{{||||||}||{{z{{{|{{}||}||||||{|{{{{{{}||{{{|z{{z{{{|{|{~~~||||||{|}|}}|}}|{|{{||{|||}|||{{{z|{{{{{{|||{|||z{{{{{z{{|{z|z|{z{z{zzz{{{{||{{{z{{zz{{|{|zz{{{zzz{{{{{{{|{z{|{{z{{{z{{{{{{{|||z{z{z{zz|{{{{|{|{z{{{zzz{{y|z||{|z{z{{{z{z{{{|{z{{zz{z{{z{z{{{||{{{{{{{z{|{{{{|{{{|z{{{{z{|{{|{|{z{{|{{{||{|{|{}{{{|zzzzz{{|{{||{|{{|{{{z}|{{||||{z{{{{{{{||z{|{{{z{{{{{{||{||{{{|{{{{{{{{}|||||z{|z{{|{{||{|||||{{{{zzzz|||{|||{{z{{z{{||{|||}||{|{{{|{{|{{||}||{{|{|{|{}|}{}|||z{{{{{{{||{||{|{{{{{{{||{|{|}}|{|z{{|{||{{||}|}{{{{{{|{{{{}||}|{{zzz{{z|{|{|{{|{{{{{{zz{|{{{}~~~||~||{}}z|||}||||{{{||{||{|{}{||z||{zzz{||{z{|||{{{{{{{|{{{|{|||{{{zz{{{{{{{{|{zyzzz|z{|{{{{|{{{{{z{{z{{{{|{{{{{{zz{{zz|{{{z{{|zz{zz{{{{{{z|{{|{{{zz{yz{{{{{{|}zzzz{z{zz{{{{{{{{z|{z{{zzz{{|{{|{{{|{z{{z{||{|||zz{{{z{{{|{{{|||{{|z{{{{{|{{{|{{zz{{{{z{{{{|||||zz{{{z|{z}|{{|{{{z|{z{|{{|{{||||{{{{|zz{{{|{{{{z|z{{{{{{{{|{|||}{{{{{{{z|{{}{||{{{{{||{{{{|||{||{zz{{{{{{}{|}}}||{}||{}{{{|||||||z{||{{{||{{}|||||{|{{|{|{|{||||{|z||{{{{||||{|}|{{|{{|{{{{|||||{|{{{zz{{|||||||{{z|{{{{{|{{{{||{|{z{z{z|||||}~~}||}{||{|||}|}||{|z{{{{z|||}}|||}{{|{{{{||{|{{||{{{z{z{{{{{||}||{z{z{{{z{z|zz{||{{zz{zz{{{{{{|{{y{z{zzzz|{z{{{{{{{z{zzzz|{{|{{{{{zzzzzyz{{|{z{{{z{z{{{{zz}{|z{{{{{{yzz{z{{{|{{{{{{{zzz{zz|z|{{z{{{{{z{z{{|{|{{||{{{z{z{z{|{{{{{{|z{{{zz{|{{|||||zzz{yz{{z|||{{|{{z{{{z{z{||{{}{|{{|{|{{{{{|{|{|{|{|{z{{z{|{{{{|{{z{{z{{{|{{|{|{}|{zzz{|{||z{{||{{z{{{{{{{|||{|}{{zzz{{{|{|||}|||{{|z{|{|||{||||||{z|{{|{{}}{{}||{{{{z{{{||{|||||{{||{{{{|{{|}|||||z{|{{{|||||{|{{z{z{z{{z{|{|}||{{z{z{z{{|||{||||{z{z{{z|{{{{~}~}}}}||}}||}|}}|}||}z||{{~||{|||||z{{{|{{|{||{||{|||zz{{{{||{{|||{z{|{|zz{||{|||{{{{z|{{{{{|{{{{||z{zzz{z{{{{{{{{{{zz|zzz{||{{||{z{zzzz{{}{{|{|zz{zzz{z{{{|{||{|zzz{zy{{zzz{{{{|{zzzzzz{zz|{{z{|{{{{{{{{z{{{|||{|z{y{z{z{{{||z{|z{{{{{{{z||{{{}|{{{|{{{z{|{{||{||{{{{|{z{{|{{||{|{{{{|{{{{|||{{|||{{{{{{{{}|{z||{{{{{||{z{{||}}}|{{{{{{{{{||{}{||{|{{{|zz|||{||||{|{{{{|{||{|{|||{z{{z{|{{|{|||||}{{{{|{{{||{|{|}{|{{{{{||{{}{||}|z{{{|{{{{||||}|||{|{|{{{{{{|}{}{{{{{z{z{|{|{||{{|zz{{{{{}|{|{{{|{{{}zz{{||{|~~}}{||}{}}|||}|}|}|||{{||z{}{{||}||{{{{zz{|||}{||{{{z{z{{z|{{{||{|zz{z{|{{z{z{{||{{z{{zzzz{{{{z{z{{{{zzz{||z{{{{{{z{|{{zzzz{{z{{|{{{{{zz{{{{|{{|{|z{{zzz{z{{||z{}||{{zzzzy{||{{{{{{{{zz{{{{zz{{|{{{z{{z{{{|{{zz{{|{{zzzz{z|||{||z|{{{{{z{||{{|{||{{z{z{zz|{{{{{||{{{{|{{zz{{|{||{{{z{y|{zz||||||||{z{z{{{{||{|{|{|{|{{|z|{{{|{}||{{{{{|{|{|{||{||{{|{{z{{z|{||{||||{z{|z{z|{|{|}||||{{{{{{||{}{||||{|{{{z{{}}||{|||{{{{z{{|{||{||||{{{zz{||{||}||}||{{{{{{{{{|{{{|{{{{{{{{|{|{|||{{{{{{zz{|{||{z|{{{{zzy{z{|||{~~~~~}}|}|{{||||}}|}}|{|z{|{|}||}}|||{|{{{{{{|{|{||||{|{{{{{||{|{|{{{{{{zz{z{|{{{||||{{|z{zzz{}{{||{{z{zz{z{{{{{{{|{{z{zzz{{{||z|z|{{{{{z{zz{{z{|{|{|{{z{zz{{|{{{{{{z{|zzyz{{{|{{{{{{{z{{{|zz{{{{{{|{{{{{{{{|z{{|{|}|{{z{z{z{{|{{|||zz{{{z{{{|{{{|||{z{{zzz|{|{||||}{{{z{z|z{|{{{{||{{|y{z{{{{|||{|{|z|}{{z{||{|||{{{{{{|z{{||||{|||{{|{|{{{||{}{}|{z|{{{{z{{||{|}}{|{{{{z{|{||}|||}|{||{{|{{|{||}}|||{|||{|{}|{|||||{||{|||}||||}|}|{{{{{{{||}|{}}||{{|||{{|||||{|||||{{{{z|||{|||||{{{|{{|{|||{|||z{|{{{{{||{||~~~}~~|}{}|}||}|}|}}||||{{{{||||{|}}|}|z|{{{{{{|}|{{|{||{{zz{z|||{{{||{{{z{{{z{|{|{|||z{{z{|{z{{|{{{{{{{{{{z{zz{z|zz{|zz{{{z|{{{{{||||{{{zz{{{{z|||{{|{{{zzz{{{|{|{{{z{|z{|{{{z|{{{{z||{zzzzz{{{{|{{|{z{{zz{zz{|{|{{{|{{{z{zzzz|{{{{|{{z{z{z{{{{|{{{|}{z{z{z{z{{{{|{{||{||{{{{{{{||{{{{|{z{{{z{|{{{{|{|{z{{{yz|{{{{||{{z{{|z{z{||{||||{{{|{{|{||||||}|{z{{|{{z}|||{{}|{{|{|{{{|{{{|}}}{|{{{|{|{|{||}}}|{|{{{||||||{}}||{{|{{z{|{|||}}||z{|||{}||{|||||||{{{{{{|{{|||||{{{{{{{z|}}}}||||{z{{{{{||{|z{}|{{{{{zz{zz|||~~~}~}}}|}||||}}|}}}}|{|{{||{|{|||||||{{{|{{{{|||{{{||||{z|{z{||}{{{||{{|{z|{{||zz||{{z{{zzz{|{|{z|{z|{{{z|{{z{{|{{||y{zz|z{zzz|||||||{zz{{z||{|{{|{{{{{zzz|z{{{{|{{|{{z{{{{{|{{{{{|}|{{zzyzz{{{{{|||{{|{{zzz|{{|||||{{zzzz|||||{{{||{{{{{||||{{{{{||{{{z|{{z{{|{{||||{{z{z{{{{{|{|{{{z|z{{{{{{{{{}|||{{{z{{{|}||{||||{|{|{z{||{||{||{|{|{{||{|{}||{||{z{||{{{||||||{{{|{|{|{|{|{|{}}|{{{|{|{|}||||}|{{{|{}{|z|{}||}|||||{{{|||}|{{}||{{{|||{{|||}{||||{{{{|}}|||{|}|{{||{{||||||{|||{|{{{{z{||||{{|||{{z{z|{||||{~~}}}~~|}{||}}}{}||}|||{{||{|{}||{~||{{|{z{z{{|||{|}{{{{{{z{|{||{||{zz{{{{{z{{}{{{|{|{{{{{{z{z|{{|{{z{|{zzz{{{{{{{}|z{{{{z{{z{|z{{{{{{{{{z{z{{{||{|{|z{{zz|{{{{{|||}{{z{zz||{z{{{|{{|z|z{z{{|||z{|{|{z{{|{{{{|{|{{|{{{z{{|{{{|||{||{|{zz{zz{{z{|{{{|{{{z{{z{z|{{|||}{{{{{z{z{|{|{|{|{{{{{|z{{|{{{||{|{|}{{{{|{|{||{{{{|{{{|{|||}||}|z{||{{||||{{|||}|}|{{|{|}}{{{||{{z{|z{||{||{{||{{{{{|{|||||||}|}{{|{{{{{{|||}|}|}|{||{{{}||{|{{{{{{|{|{{|}{{|||}|{|{||{{}|||{|||{{|z{|||}||||}}|{{{{{{|{||{|{|||{{{|z{zz{|{{|~~~~~~~~}}~}||}|}||}}}}}|}||{|{{|{}{}||{|||{|z{{||||{{{{||||{{z{{z||{||{||{{{{z{{{{{{z{{||{z{yzz{z{{{{zz{{{{{zzz{{|zz{z|{|z{zzzz{z{{{z{{zz|{{zy{zz|z|{zz|{{{z{zz{{y{{z{{||{{|{zzzz{{z{{|{z{{|z{zz{z{{{|{||{zzz|{z{|{{|{{z|{zz{|{{z{|}z{{||{{{y{z{{{||{|{||zzz{{zzz{{{{{{{{||z{z{{{{{|{{|||{z{{{{{||||{|{||{{{{{{{{||{{{|{z|{{z{{{|{{{||||{{{z{{{{{||{|{|{|{{{{z{{{||||{}|{|z{{||{}||}{{|}}{|{{{|||{||||||}|{z|{|{{{||}|||}|z{{{{{{|{}|||}{|{|{|zz{|}{{{||}|{z{||{|{||{||||{||{{{{{{|||{}|{|{{{{{z{|{|||{||{{zz{{|z||{{|~|~~~~~}~~~|}}|}|{}}}}|}}|||}{{{{|||||||}|||z{{{z{{{{|{{||}||zz{z{{{|||||{|{{{{{{{|{{{{zz{|{{{{{{|{{|{{{||{z{zyz{{z{z{{{|||{{yz{{zz{||{{|{{{{zzz{{{{|{{|{|{{|{{zzz{{|{{z|||{{{{zzz{{{{z{{{|{{{{{z{y{z{{||||{{{|{{zz{{|{{||{{{z{zzzz{|{{|||}{{{z{z{{{{zz{{{|{z|{{{{{|{||||||{{z{{{|z{|{|{|}||{|z{{z{||||{{||{|{{{{{z{|{|{|||{{{{{{{{{{||||{|zz|{{{|{||{||||}{|||{{z{{||{|{}|{z|{{{z||||||{|||{{|{{|{|}{||||||{|||z{{|}{|}||||{{}|{|{|||}|||}{|{||{{{|||{{|}|{{|||{z{{||}{{}|{|{{{{|{{||||{||z|{{{z||{||{{{{|{{{{{{zz||{{{~}||~~}}~}~}}}||||||||}}}}|||{{|{{z{{{|{|||{{{|{z|{{{|{||{{|zz{zz{z|{|{z{{|{{zzz{{zz|z{z|{z{z{z{zzz{{{{z{{{{z{{zz{y{{{{{{|{zzzz{zzyz||{{{{{zzzzzz{z{{{{{{{{{z{{zzz|{{{|{{|z{{{{{{z{{z{|z{{{{zzz{{{zz{{{{|||{zzzz{zz{{{{{{{|{y{{|zzz{|{{{|||{z{{{|{{{|{|{{{|y{z{{z{{{||{{{|{{z{{{z{zz|||{{{{|z{{{z{z{{||{{|{z{z{{{{{{|{{{||}{zz|{{{z||{|{|{{{{{{|z{{|{||{|z|{{{z|{z||||{|{|||{{{{{{{||}{{|}||z{{z|{{{|{||{}||y{z|{|{{|{|||||{{{{{{{{||||{{|||{{{|{z|{|{{{|||{{z{|{{{|{{|||{|{|||{{{y{|{}{|{|{{z|{|{z{{||{|||{{|{{z{z|{{{|~~~}~}}~}}~}}|}||}}||{~}|}||{|z|{|{|}}||z{||{{{{||{||{|||{zzz|{{{{|{|}|}{z{zz{z{|{|z{|{{{{zz{{{{{{{{{{{|{{{{z{z{{z{{{{{{|{{z{z{z{{{{{{|{{z{{{{y{{z{{{{||{z{z{zzz{{{{{{|{{z{{{{{zz|{{z{z{{{z{zz{{z{|{{{|{zzz{|{z{z|{|z{|||z{|{{{{z|{{{{|{{zzz{zz||{{{{{||{|z{{|{{{{|z{||{z|{{{z{{{||{||||{{|{{{{{|{||{||{{{{{|z{{|{{{{{{{{{{{{{{{{|||{|{|z|{z{||{|{||{{}}{|{z{{{z{|{{}|}||{{{{{{{||||{}|||{z{{||{||{||||}|{|{{|z|{||||}|||{}{{{|{}|||{}|||{{{|z{{{}||||||}|{{{|z{}|||{|||{z|{{|{{{||||||{{|{{z{zz{{{|||}{{{{{{{{{{||{|~~~~~~}~}}~}~|}}{{z|}}|}}}}}|{{z{{z|}{|{}||{|{{{y{{{||{||}||{zz{z{{{z{|{|{|{{{{zz{z{{{{{|}|{z{{{zz{{{{z{{||zz{{{zzz{z{{{|z{z{{{zz{z|{{{{{{{z{{z{zzz{{{z||{{{{{{z{zz{{{{{{{{{zz{zz{z{|z{||{{zzz{{{z{{|{{{|||{{{{zzz{{{|{{{|||{zz|y|{{{|{{|{|{{|zzz{{{{||{|{||{{{{{{z{|{{{|||z{{{|{{{|{{{|||||zzz{z{{{|{||||{{{{z{z{{{{{{z{|{{{{{{{{{|{|{{|{|{|{{{z|{||{{z{}||{{z{{{{||{|{||||{{{|z{{{|{|||||{{{{{{{|||{||}|{|{z{|{{{{}|||||||{|||{z{|}|||||||{{|{|{|{{|{|||}{|{|||{{{|||||}{|{zz||{{{{||{|}|{{{{|z|{{|||{{|||{|{z{z{|{|{{~}}~}~~~~|||}||{||||}}|}}}||||||||||||||||{|{{{||{{|||{|{|{{{{{{{{{|}{|{|{{{{{{zz|{|{|||}z{z{|z|{||{{|}||z{{{{{{z{{z||{||{{z{{{{z{|z{{|{{z{{z{z{z|{{{{|||{{{zz{{{{|{{{{{{{{{{z{zz|{{z{|||{z|z{|{|{|{{|{|{zz{{zz{{{|||{{||{zz{{{{z{|{|{|{}{{|z{{{z|||{{{||{{{|{{|{|}{|||||{z{z{z|z{|}{}|||{{|z{{{{||{{{|}||{{{|{z{{|{|||||{{{{|}{{{||}{|||{|{{|{||||||{||||z|z|{{{||||||}|{{{|{{|{{|||}|}}{|{{|{{|{}|{}|||}|{|{|{||}||||}|}{|{{{{{{{}}|}}||||z|{z|||||}|}}}|{{|||||||}|||}||{{{{|||{{||}}{}{{{{{z|{||}|||||||{{z{{|||{|~~~~~~|~}~~}~}}|}||||}}}}|}|}||{{zz|{||{|||}|{{{{{z{{|}|{{|||{{|{{{{z|{||{|}|{z{{z{yz|||{z||{{{{{z{z{{||{||{||{{zzz{{|z{|{{{|zz{zz{{{{||{|{|{|{{{zzz{{z||{|||{|z{{yzz{{{|||{{{zz|{zz{z}|{{||||{z{z{|{{{{{{||{z{{{{{{{{||{{{|{||{z{zz{{{{{|{||{z{|z{{{|{{{{|{|zzzz|z{z||{|||||{{{{zz{{{{{{}|{{{{z|{{z{||||{}||||zz{{{z|{{z{{||{{{{{{z{{{|{{|||z{}|{{{{{|{||||||{z{{z{{||{|{|{||{||z{{z|||{|}{}{|{{{||{||||}}{}|{{|{{{z|}}||||{{{||{|z{||||}||}{z{{|{{{}||}{|}|{|||{{|{|{||{|{|{z{{{|{{{|{{||}|{|z{{{{{}||}||||{|{{zzz{{{||{~~~}~|}}~~}~~~}}|{|||{||||{}|}}|{{{{|{{||}|{|}||{{{{{z{{|{|{||{{{{z{{{{|{{{{{||{|z{{{{|z|{{{|{{{|{{{|{{{{|{{{|{|{{zz|{{z{|||z{{{z{{{{{z{{|{|{|z{zz{zz{z|z|{{|||{z{{{{{z{{{|{{||{{z{zzzz{{{{|{{|z{|z{|{zz||{||{|{{{{z{zzz{{|{{{||zz{|y{y||{{||||{zzzzz{{|{{{{}{|{{{{z{|{{{|{{|}{|z{{{z{{{{|||{|||{{{zzz{|{|||||{|{z{{|{{||{{||||||z||{{{|{||||||{{|{{|{{{{|||||{{{{{{{{{|||||||||{|||{|{||{{}}|}z{|{||{{{||{}||}{z{{{||{{|||||||||||{{|{|}|{|{|||{{{|{|{{{z|||||{|{{{{{||{|||||}{{{{{{{{{|}|||||{|{{{{{{||||{}}||{{zz{{{{|{{{~~~}}}~~~}}|~}||}|}{||||}|~}}||{{{|||{}{||}|{|{{|{{{|{|||||{}|{|{{z{{z|{|{||{|z{{{|z{{{|{z{|{|{{{{{z{{{||{{|{{{{zzz{zz{{{{|z{|{{zz{{{y{|{{{|||{z{{z{z{{{{{||{{{{{zy{z{|z||{z|||{{zzz{z{{{{{{{|{{{z{{{y{{{{{z{z{{|z{z{y|z{z{z||{{z{{{{z{||{}{|{{|{{z{{{||{||{||z{z{zz{{{{||||{|{|{{{z{{{|{{||}|z{zzz{{{{||{{|{|{{{|{z{z{}{{{||{{|{|{{{{|||}{}|}z|{z|{{{|{|||}}||{z{{{{zz{||||{z|{|{|{{{||}||||||||{z{|{|||}|||||}{|{|{{|||||||||{z|{{{{|{}||}||{{||{{|{|}|{}{}}|{{|||{|{|||{||||zzz{{{{||{}|{}||{||{{{{{||{||}{{{{{zz{z{|{{{~}~|~~|~~}}}|~}~{}{|}{||}|~}|}}}}|||{|{||{}{}||}{{|{{{{z{{{|{||}||{{{z{{{{{|||{~z{{zz{zz|{{{||{{{{{{{z{{z||{{|{{{{zzz{{{{{{{z{{{{{{{{z{{|{|||{{z|{yzzzz{{{{||{|{{{{{z{{{{|}{{{}|{{{|{zz{||{|{{||}{{z{zz{{{z|{{{|{{{{{||zz{{{{{|{|{{{{{{{{||{{||{{z{{{{{{{|{||{{||{{{z{{{{|{|{{||z{||{z{{||{z||}{|z{zz|{{|}||{||}|z{{|{{||{|{{|{|{z|{z{|z|||}|||{{{{{|{||{|{{{|{|{{{{{|{z{}||}||{|{{{{z{||}|||{||{{|z{{|{||{}|}|}|{{z{{|{{}|||}}}|||||{{{|}|||||{|{{|{{{|||||||}|{|{{||zz|{||{}||{|{z{{{{|{|||||||{|{{{{z{|{}||}|{{zz|yzz{|{{{~~}~}~}}~~}}}}}||||{|{|{|}||}}|||||{{}||{||}|{|{{|zz{}|{{|||||||{{z|{{|{{|{||{{{{{{{{{z{|zz|{{{{{z{z{z{{||{|{{{z{zz{z{{{|{{{z|{z{zzz{{|{{{{{|{{{{{z{z{z{|{{{|}{z||{{{z|{z||||{{{z{{zzz{{{{{{{z{{z{zz{{{{|{{{{{{z{{|{|{{|{|{|||{{z{|{{z{{{{|}||{{z{{z{z{{{z||{{{|{{zz{z{{{{{||||z|{|z{z|{||{|||{{{z{|z{|}{|{|}{{z{{{||{|||{{||{|z{{{{{{{{}|||}|{|{z{{{{||{|{|{}|{|{{|{{{{|||}||{z|{{|{{}||||}||{||{{{{{||||}{|||{{|||{||}|}|||||{{{{{|{{|||||~}}{{||{z{||||||||{{{{{|{{|||}|||||{{{z|{|||||{{}{|||{{{{z{|{}{|}{||{{|{{{{z|{{~~~~}~}~~}}}~~}}}|||||{}|}||}}|{{|{|{{{|{||}||{{{{|z{{{{||{{}|{{{{zz{|{|{|z|{|{{{{z{zz{||{||{{{|zz{zz|{{||{|{{{{{{{|{z{{{{{|{|{{zzz{{{{}{{|{|{{{|z{zz{{{{{|{|{{{{z{{{{z{z{{|||{{{z{{{z{{{{zz{{{|zz{z{{{{{z{{{{{z{{{{{zz{{|z{{|{z{{z{{{|{{{||{{{zz{{y{{{|{{{{{|{{{{{|z|{{|{|||}{|z||{{{{}|||}||{{{|{z{{|||{{|||{{{{{z|{{||{||||{{{{{z{{||||}}|}{{z{{|{{||{||||{{{{|{zz{||||||~}|{||{{{{{|||||{~{{{{|||{||}{{}||}|{{{|{{||{}}|}|||{|{{{|||{{|||||{{{|z|}||{{||}||{}{{{{|||{||{|||||{{|yz|||||}}}{|zz{|{|||||{{||{|{{|{{{{|{{z}~~|{|}}~}}}}}~|}|{{|z}||{}|}~|{{|{|{{|||{|}|||{{{{{{{|{{|{{||{{z|{|{z|{{{{{{|||{{{{{z|{{{z{{{{{{{|{{z|||{{|z{{z{yzzz{{{z|{|||z{{zzzz{{{{{{{|zz{{{{yz{{{}{|{{{{{{zy{zz|{{{{||{{zz{zz{z{{{{{||{{{zz{{{{z{{z{{|{z{|{{{{y{{|||{||{{|{|zz{z|||{{{|{z{{{{z||{{||{|{z{{{zzzz|||{|{|||{{{{{{{z|{|||||{{{{z{{z{|{|{|{}{{zz{|{{||{{{||{|z{z{{{||{|}||{{|||z|{|{|{||{||{|{{{z{zz{{{||||{{|{{|z{{|||||||||{|{{|{{{||{||}|}{{|{{|{{|{}||||{|{|{{{{||||{{||}z{|{{z{{||||||}|{{{||{{|{|}|{|}{{{{{{{{{}{||||}{{{{{z||{|{|{|{{{{{{|{{{|{{||~}~}~~|~}||~}|}|~~}||{}{}||{|}}|||{||{{{z{|||{|}||||{z{{{{}||{||{{|{{zzz{{{{||{}{||{{z{|{z|{{{{||{zz||{{{z{|{{{|z{{{{{z{z{{z{|{{{{{z{zzz{z{{{{z||{{z{{zzz{{{{{|{|{{{{{z{zzz{{{{{{{{{z{{{{{{{{{{{{{{z{{{{zzz{{||z{|{{zzz{zz{|{{|{{{zz{z{zz{{|{{||{|{{z{{z{{|{{{{|{|z{{|z||z{}{{|{||{{{{{z{z{||{{}||{{{{{|{{{{{}|{|{{{{{z|{z{|{{{{{|{zz{{{{{|||||{}{{|{||{{}{{{||}}}z|||{{{z|||||||{|zz{{{{|}|{||||}|{|{{}{{||||||}|{z{{{{{{{|}}}||||{|{{{|{{||{|||{|{{{{{{{||{|||||||z{|{{|}{{||{{}z{{{z|{|||{|{|||{|{{{{{{||{|{||{{||{{z{{|{||{~~~~}|}}}~}||~}}}}}}{|||}||||{|{||}||{{{{{|{{||{|{|{|{{{z{{|{||{{|{{{zzzz|z{{{|{{{||z{{{{z{{|{{{||{{z{{zzzz{{{{{{{{|{{z{{{zz{{{||{{{z{z{{zz{|{{{{|{{zz{zzzz{z{{{{{||{{{zzz{{{|{|{{|{{{{{{zz|{{z|{z{{{zzyzzz{|zz{|{{{z{z{zyzz{{zz|||{z{z{z{z{|{{z{||{{{{{z|{{z{{{{|zz{{{|zzz{|||{{|{{{{{{{{{{{|{||{{|{z{{zzz||{|{{{{{{{{{y{{||||||{|{{|z{z{{|{|{||||z|{z|{{{||{{{}|}{{|{{{{{|{{{|||{{{z|{{{{|}{||}|{||{{{z{{|{{||||||{{{|{{|{|||{|}|||{{{z{{{|||{||{{{|||{{||{{|||||||{{|{z{|||{}}|{{{{z{{{{||{{||||{{{{{{|{|||||{|{{{|{{z|z{||{z~~~|~}}}|}}|}|}}}|}{|||||}{|||}||}|{{{{{{|{{{|||{|{{{{{{{{{{||{||{{{{{{{z{{|{{{z|{{{{z{{{{|{|}{{||z{{{zzz|{{z{{||{z{zz{zz{z||{{|{z{{zyzzz{|{|{{{{{{z{{{zz{|}{|{{{|z{{zz{z{{{{{{{{{{{zzz{zz{{{z|{{{{{zzz{z{{z{{{}{{zz{z{z{{{{{|{|{{z{{z{z{{{|{{{|z||{z{{{{{{{{{||{z{{{zzzz{{|{{{{{{z|{z{z{{{|{{|{{{{|{{z{z{||{|{{{{{{|{{{{||||{|{{{{z{|{|{{{{|||}{{{{z{|z|{|||||}|{{{|{z{{|{{||||||{{{{{{|||||||||{z{{{|{{{||{||{}|{{{{{z||}||{{|}|{{{{{{{||{|{{|||z{{{{z|||||{{|||{|z|{{{{|{||{||{{|{|z{{{||{|||||zz{{{|{{{{|{||{{z{{{{{{{|{{{~~|}}}~}}}~}~||}~|||{|{||||}||}|}{||z{{{z||}{{}|}|{{|z{{|||{{||||}{{{{{z{z{|||{}{z{{z{z{{{{|{{||z{{{z{{{{{{|{{z{|zz{z{z{{{{{|{|{{z{{zyz{{{{{{{{|{zz{z{zz{{z{{{|{{{{{{y{yz|{z{|{{{{{{{{z{{{{{{{|||{z{zz{zz{|{{|{||{{{{{{zz{{{|{{{{|z{{z{zz|||{|z||{{|zzz|z{{{||{|{z|{{{zzz{{|{|{{{{{{z{z{{{{{{{|{|{{{{{{zz|{|{|||{|{{{|{{{{{{{{{|{{{|{{z{||{{{{||||zz{||||||||{|}|{{z|{{{||}||||}||{|{|{{{|||{|}||{{{{{||{||{||||||{z{{{{{|}||{||||||{|{{z|{||}|||||{{|{|{||{|}|}||{z|||{{{{{}|{{|{{{zz|{{{|{}|}|{|{{{{zzz{{{{z{||{|{{|z{z{||{|~~~}~}~}||~}}~}|}||||||{{||}}|}|}}||{{{||||||||{|||{|{z{zz|||{{||{||{{zz{{{||{{||||{zz{{{{z{{{|{||{{{z{zzz||||z{{{{{z{z{{{}{|{{{|zzzz{z{{z|{||||{{{y{{{z{{{||{|{|{{zz|z{|{|{||{|{|{zzz{{{{{{|{{|{{{{{z{{{z{|z{||{|{z{{{{{{{{{|{{{|{|{{|{|{{||{{{||{{|{{{{z|z{|||||{{{{z{{{|{{{|{{|{{{{{zzz{}||||{{|||{|{z{|{|{|{|{{{z{{{{{|{}{||||{z|z{{{{|{|}|||}{{|{|{{|||||}}{|{{{{{||{z|||{||{|{{|||{{}}|||}|{|{|z{}|||||{|}{}|{{{{{||{~||||}||{}|{{|}|{}}||||{|{{{{{||{}|||}||{{{|{{|||{||}}||{{{{{{|{{{|{|||{{{{{{{{||||{||{{{{zz{{{||z||~|~}}}|||~}~~|~|}||||{|{{|{|}}|}|}{{|||z{{|{{{{}|{{{{{zz{{}z{|{||{{z{z{z|{|{|{||||{{{zz{z{{||z{{{{{|z{z|{|{{{{{{{{{{zz{z{{{{{{|||{{{z{{{{zz{|{|{|{z{z{{zy{|{{{{{|{zz{{{zzz|{z{{{||{{z|{yzz{{|{z{{{{z{z{z{zz{{{}||{z{{{{{zz|{|{{{||{z{z|{zz{{{z{{|{{z{z{{{{{zz{{|||{|{zz{z{{{{{{||{{{{{{{{z{{{|{{{|{zz{{{{{|{||{{||{{{|{{{{{}{{{|{{z{{{z|{{{|{|{}{|z{{z{z{||{|||{}|z{z{|{{{{|{}|}||{{{{{{|{||{{{{||||{{{{{|{{|||||||{{||||{{|{|}||||{{{z||{|||||}|||{{{{{{||{|{}}}{{{|{}{|||||{{|||{{|{{z{{{{{||{|{|z{|z{z|z{{|||}{{z{zzz{|{|{||~~|||}|}|||~}}}|}||||{||{||||||{{{|{{{{{{zz|{{|}||{{zzz{{z{{{{|{{|{{{{{{y{z{y|{{|{{{{zzz{zz{||{z|{{zzz{zzzz{{{z{{{zz{{zzz{{{z{{{{z{zz|z{zz{{{{zzz{{{{{yz{z{{{{z}{{{{z{{z{zzz{{{{{{{z{{zyzzzzz{{z{{{z{zzzzzz{{z{z{{{zzz{{{{y{{{{|||{{{{z{z{zz{z{{{{|{z{{zzzy{{{{{{{|zz{zz{z{||{z{{{|z{{{{{z{{{{|{{|{{{{{{zy{{{|{{{|z{{{{{{zzz{|{{{{{|zz|{{{|zz|||{||{{z{{z|{{|||{|||{{{|{zzzz{{|||{|{{{z{z|{{||{{{{{{z{|{{{{{|{||{|||{{{{{{{{|||{||||{|{z{{|||||}||{|{|{{{{||{|||||}{{z{|{{|{{|{{{{|z{{{{{|{z{{||||{{{z{y{{{{|{|{|{{|z{y{zzz|{{{{~~~|~}|}{|z}}~|||}|}{}{z||{|{|||}{||{{{{z{z|{{||z||{zz{zz{zz||}{{|{{{{{zz{{|{||{{{{{{{{z{zz{{{{{||zzzzzz{zzzz|{{{zz{{z{zz{{{{{{{{|{zzzy{{yz|z|zz{|{zzzzzzz{|{{{|{|{|z{{zzzz{zzz|{{{{zz{{{zy|z{{{{{zz{{{y{z{zz{z{{{{{{{yzz{z{{{{{{{{|z{{|z{zzz{{z||{{y{{{z|z{{{{{{{|{z{zz{zz|{||{{{|{{zz{zzzz||{{{{|z{|z{zz{{||{{{{|{zzz{zz{{{{|{{||{z{{{{{z{{{}|||{{z{z{z{{|{|{|||}{{{|{z{z{{}{{{||{z{{{{zz|{{{||||{|{{z{|{z|{|||{}|{{{{z{{|||{|{|}{{{{{z{|{|||}{}{|{{{|{{{{{|{{|||{|{{{{{|{|||{{|}{{z{z{zz|||{{||{{{z{{{{{{|{{}{|{zz{zz{{z{|{{{~~}}}|~}z|{}}}|{}}|{||z|{|{||{}||}}|{{z{{{z||{{z||{{z{{{zz{|{||z{|{{zzzzz{z{{{|{{|{zy{zzz{z{z{z{{{{{{{{z{zz{|||{|{{zzzzzzz{{zz|z|{{zzzzzzzz{{z{}{z{z{z{zzz{z{{{{||{zz{zzzzzz{{|{|{{{z{zzzzzzz|zz{{{{{zz{zz{{{|{z{z{zzzzz|{y{{{{{{{{{{zz|zzzz{{{z{||z{z{{zz{zz|{{{{{|z{z{zzz{z|{{|{|{{z{{{zz{||{{{{{{|{{z{zz{{|{{||{{{{{zzzz{{||z{{|{zz{{{{{z{||{|{{|{{{|{{z{|{{z{|||{z{{zzz{{{|{{{{{{{|z{{{{{{||}|{{{{{||{{|{|{{}|||{{{z{{{||{|||{|{{{|{{{z|{|{||}{|zz{{{z{||||{{||{z{{|{{{{{|{{|||z{zzz{{{{|{||}{{|{{{{{{z{|{{{{||{{|z{zzz{||{{~}~}{|||}{{||}}||||{z{|{z{||}}||}||||{z{{|{|{{{|||{{{z{{z{z{{||z{}{|zzz{{{{|z{{|z|||z{z{{z{z|{z{{|z{z{zzz{{{{{zzz{{{{zzzzzzzzz{zz{{z{{z{z{z{{{{{|{{{{{{{zzz{z{{{{|{z{z{zzzz{{{{||{|{zyzzz{{zzz{{||zz{{{{zz{|{{||{{{zz{z{{zz{z{{{{||{zzz{y{z{z{|{z||{zz{zz{{{{{{{|{{{z{{{{z|{{|{}{|{|{{|{z{y{{{||{{{|{z{{{{y{|{{{{|z{{{|{z{z{||{z|{{zz{{z{|{{|{{{{|{|||{{{{{||||||||{{{|{z{{{|||{|}||{{z||{||{|||{{||{{{{{||{{|||{|||{{{zz{{z||||{{}||{{{{{z|{}|||{{|{||||z{{||{{||}{|{{{{{{|{{{||||z{{z{{{z{|z{{||{{|{zz{{{||{{{|{{{{{zzzzz{{|{z~}~}}{|}||||||{}{|}}{{{{{{||}|{||||{{z|zz{{{{{{{z|||{{|z|{{{{}{{z{{{{{zzyzz{{{|||{|z{zyyz{z{|{{{{{{{{zz{zzzz{{{{{{{zz{zyz{z{zz{{{|{zzzzzzyzz{z{z{z{zy{zzzzzz{{{z{|{zzzzzyzy{{{{{{z|{zz{zzyzz{z{z{{{yzz{yyzzz{|zz|{{{{zz{{zzz{{z{{{zz{zzzzz{zz{{{||{z{{yzzzzzzz{z{{{{zzzz{zzzz|{{{{|zyz|{zzz|{z{|{||{z{{{{zy|{{{{{|{{{{{zzzz{{{{{{{|{{{{{{{|z}|||{{{z{z{{{{zy|{|{||||z{{{y|{{|||||{|}z{z{{z{||{{||||{{{|{{{{{{{{|}||{{{{{|{{{{|||{{|{z{{{z{{{|{||||{{zzz{{z{{{{||||{z{z{|{{{|{||{{||z{z{{{zzz{{|{{{|{{z{{z{z{{||{{{|{{{zzz{{{{z{{~}~}}{|{{{||||||{|}{||||{{{||}{}|}{{{|{{{{|{{{{||||zz{|{{{{|z||{{{{{zzz{z{z{z{{{{||{{{zz{zz{{{{{{{{{z{z{zyzz{{z{{{{{zz{z{zz{{{{|{||zzzz{y{zz{}{{{{{{{{{z{zz{{{{{{{{z{zzz{{z{{{{|{{{{{{{zz{zz{{{{z{z{{zzzzzy{{z{|{{{z{{z{{zz|{{{{{|{{{zz{zzzz{{{{z||z{{zz{{{z{{{{z{|zz|zzzz{{{{{|{|{{{zzz{{{z{||{|{zz{z{{{zz{{|{{||{{{{|{zyz||{{{|{{{{{{{{{|{{|||{{{{|{{z{{z{|z{{|{|{{z{z{zz{||||||{|z{{{z{||{{{||||{|{z{|{{{{|{{{{}{{{|z{{{|||||||}|zz{zz{{||||{||{{z{z{y{{z|{|{{}{{{{{|{{z{{{|z|||{{{y{zzzz{{|{{{|{{{{{z{z{||{{{z{zz{z{{{z{|}{{~|~|{||||}|||}|{}}|||{|{{{{||}{}{|}|{{z{{{||{||||||z|{{|z{{||||{|||{{{{{z{{z{|{{{|{{{zz{{{{z{|{{{{||{{zzzz{{{|{z{|{{zzz{z{{|{z|{{||{{zz{z{{z{z{{{{{{zz{{zz{{{|{||{{{{{zz{z{{{{||}{{{{z{zz|z{{|{{|{|{{{z{zz{z{{{{|z{{{{z{{zz||{{{{{|{{{zzz{z{|{|{{{|{z|zz{{z{{{{||{{zz{{zz{zz|{{||{{|{{z{{{{|{z{{|z}z|{z{{{z|{|z{|||{zz{{{{{|{{{{{{{{{z||{{{zz{||{{|z{|{|{|{}{{}{|||{{{{{{{{{||||||{|{z{{z{{}}|{{|||{|{{z||{||{|}|{||{z{{||{z||{||||{z{||{||{|{{{}|{{{{z{{{|{|{{|{}}{{{zz{{{|}{|{||||z{{{|||{||||{}|||{{{z{z|{{|{|||{z|{{zz{|{{{{~~}~}}|||}{}}|}||}}|{{|{z{{|||}||||{{|z{{{z{||{|||{{{{{|y{{{|||{{||{{z{zzz{|{{|{{{||zzz{{{z{{z|{|{|{{zz{{{zz{|{{{z|{{z{zzzz{{|||{|{zzzz{{{z{{|{{{{{{zz{{zzz{{|{||{{{|z{z{zz{{{{{{|{{zz{{z{{zz{z{|{zzy{{|{z{z{{zz|{{{z{z{zzz{{{{{{{{{{{{{{{{|{{z{|{{{{{zzz|z|{{{{{{|{{zzz{{{||zz{{|{zz{{zz{{{{{||||{{{z{zz{{{|}|{{|{{{{{{{{z|}z|{{|{{{{{{{z{||||||||{{{{{{z{{{{|{|||{{{{{zy{|||{|||{|{{{|{|{{|{{{{||{{{|{|{{|||{||{{}{||z|{{{|||}|||{{{||z{{|}||{||{{|{{{|zzz|{{{|||{{z{{{{{{|{{{||}|{zz{{{{{{{|{|}||{{{{z{{||||{{{{|z{zzzz{||{{{~|}||{|||{{{}}||||{|||{|||{||}{|||{|{{{||{z{{|{||||z{{{{z{{{{}|{{{{|{|z{{|zz{|{{{|{{{{{{{z{{{{{z{|{z{{{{zz{{{|{|{|zz{{zzzzyzz{z{{{|z{zzzzzzz{{{|||{z|y{zz{|{||||||{|y{z{z{zz|zzz{|{{zzzz{zzz{zz{{{{zzzz{{zz{|{{{|{{z{zz{zzz{{{|{||{{{|{y{z{|||{z{|{{z{{z{{{{{|{{{{|zyz{{z{{{{z{{||{{{{{{yzz{|{||{z{{z{{{z{{|{|{{{{{|{|{zz{{z{zz{{|{|z|{{{{{||||||{{z{|zz|{{|{|||||||z{z{zy{||{{||||{{{{{z|z{}||{{|}{|{{{{|{{||{||||||{{{{|{|}||||}|{{||{{|{{|||||{|{z{{|{{|||{{||||{|{{{{{||{{|{|||{{|z{{{z{||{{{||||{{{{{{|{|{|{|{{{{{zz{{|{|{{|||}||{{{|{||||}~|{||{{{{{{|{{|}}}||{|z{z{{{z|{{|{|{z{zz{{zzz|{{z{{|z{{z{zzz{|||{z{{z{zzz{{{|{|{|{{{{z{{zzz|{z{{{{{{{{zzzzz{{{z{{z{{{z{{z{z{{z|z{{z|z{yzz{{zz{{{{||{zzz{{yz{{{{{{|{zzzyzzzz{{|{z{|{{{zzz{|zzzzz{{||zz{{{z{{z|{{{{}{z{zzzz{{z|{z{{{{|z{{{zzz|{||{{{{{z{{zzzzz||{|||{{{{{zz{z|{||{|{{{{{z{z{z|{|{|z|{{zz{{z{{|||{{{{|{{z{{z|{{{{}{|||{{|{|{{||{}|||||{{|{|{z{||||{|||{z{z{|z{{{{|||{|{{{{z|{||||{|||}{{{{{{{|{|}|{||||{||z{z{|||||{|{|{{{|{{|{{|{|||||{{{{z{{}||{|{||{{{{||zz{|{{|||||{z{z{{z{|{{|{|{{{{{zzz{{{|{{}}||{{|{|{{||||||||{|||{{{{||{|||}{{{{z{{{{{{{{|{{|{z{{{{zz|{z|{z|{{|{yzzzz{{{{{|{{{{z{{{{{{{{zz{{z{{{{{zzz{{{z{{{z{{{|y{zz{z{zz{{|z{zz{z{z{{z|{{{{{zzzz{zzz{|{{|{{zzz{yzzz{{{{{||z{z{zzyzz{|zz{{{{{{{z{zz{z{{zzz|zz{{zzzz{|{{{{z{|zz{{z{zz{{{z{{||{zz{zz|z{{{|{{{{zzz{zz{z{{|{{{{|{{{z{{|zz{|{{|{{zz{{z{{z|{{|{||{|{{{{zz{{|{{|{{{{|{{{zz{{|{||||{zz{{{{{z||{{{{}{|{{{z|{z{{|||||{{|{{{{z{||{{||||{{|zz||{|{z|{||{}{{{{{{{z|||{}{|{{{{{{||{|}||}|||zz|{z{|{|{{{|{||{{{{{zz{|{||{{}{z{{z{z{{{{||||{|z{z{{zz{||{|||{|{{{{zzz{{{z{}|||||}|{|{|}|||{|{{|{z{{z{{{|}{}|}|||z|{z{|{{|||||{{z{{{{z|zz{zz{|{zzzzz{z{||z{{{|{{{zz{zz{z{{{{z|{{z{{{z{|||z{{{z{z{z{{z{{{|z{{{{{{z{{z{zz{{{{||{zz{zz{z|{{{{{{{{{{{zzyz{{{|{{{{}z{zzzz{z{{{{z|{|||y{{{zz{{{{z{{z{z{z{zz{{|{{|{|{{z{z{z{z|z{|{{|{z{{{{zz{{{{{{||{{{{zzz{{||{z{{|{|z{{{{z{{|||||{|z{{{{zzz{||{z{|{{{{{{z|{{||{{{|{{z{{{{|z|{|}|}|{{{{{{z|z{{|}|||{{{{{{z{{{|||{|}|||{zz{{{|||{|||{{{{z{||{{|{||{|||{{{{{{{|}{}|{||{{{|{{{{}||||||{|zzz{{{{|{{||{||||{{|zz{|{||{||{{|{{zz{{{{|{|||||{z|{{{z{|||{{|{|{{{z{|{{{||||||{||{||||||}|{||||{||{zz{||||||||||{{{{{{z{{||{{{|{{yzzz{{{|z{{|{{z{{zzy{||{|{{{{{zzzzz{{{{|{|||{{z{z{{z{z{{z{{{{{{zz{z{z{{{||zz|{{z{{{zzz|{{|{|{z{zzzzzz{z|{{{{z{{{yzzzzz|z{z{{{|{{zzz{{{z{zz{{zz{zzyz{yz{z|z|{|z{z{z|zz|z{z{{|{{zz{zyz{{{{{{{{|{z{{{{zz{{{{zz||z{{{zz|z{{{{{{{|{z{{{zzz|}{||{{{{z{z{{z{{{|{z{|z{{{{{{{z{|z{{|||{{{{{{{{{||||}|{{{{||{|{{{||{|{}{z|{{{zz{||{||||||{z{{z{||{{||{|z{{{{{{{||||{||{|{{|{{||{}{|{{|{{{{{z{{{||||||||{{{|{{{|{{{|{|}||{{z{{{{{{|{|{}{{|{{{{||{|{|{{|{{{{{z{{{y{{{||z||{|{zzz{{{{|{}}|{||||||{||}|{|{|{|{{|{{||{|{{|{|{||zz{{z|||{{|||{y{zz{{z{z{z{{|{zz{{zz{z{{z{{{{{zz{z{zzz{{{{z{|zz{{zzz{z{{{{{{{{{{zyz{y{{z{z{{z{z{zy{zzz{{{{z||{zzz{zzzzz{}zz{{{{{zzzzzzz{z|z{||{z{zzzzy{{{{{|{{|z{z{zzyzzy|{{{{{z{zzzzz{{|{{{|{{zz{zyz{z{zz{|||{{|z{{{z{{{|z{{|{z{zzzyz{{|{{{{|{{{{zz{{{|z|{|z{{z{{{z{z{|||{{||{{z{{zz{{{{{{||{|{{yz{{{{{{|{{{|{{{{{|{{|{||{|||{{{{|{y{||{{|{}{}z|{{{{z|{{||||{|{z{|{{{{|||}||{|{{{{{{{{||{{|{||z||{z|z{||}|{{{|z{{zz{{}|{{}{|{{|{{{{z||{||||||{{z{z||{z|{{||||{|{{{{|{{|{{{{|{z{{{zzzzz{|{{}|}}|{||||{|}}{||}{{{z{z{z{{|{|||||{|{z{{{z|{||{|}||{zz{z{|{||{{{{|{{{|zzzz{{{|z|z{zz{z{zzz{{{{|||{{{zzzy{z|{|{{{{{yz{{z{{zzz{{|{|{z{zzzzzz{|{{{{{{zy{zzyz{{z{{{{{|{{{{zzz{{{||{{}{z{{{y{z{z|{{z||{|z{z{zy{{{|{{{{|z{z{z{{z{{{z|z{{{z{zz{{z{{|{{{{|z{zyzz{{{{{{|{||{{{{{{z{{{{{{|{|{{z{{z|{{{||{||{{{{{{{{z{{{{{|{{zz{{z{zzz|{{{{{|{{zz|z{{|{{{{|{{{z{{|z{z{{||{|||{{{|{z{{|{{|||||{{{{z{{{||{{{|||{{{{z{|{{{{{|{||{|||{{|{{|{|||{|{{{{|z{{{||{||}|{{||{{{}{{{||{{}{{||{zz||{{|{{|}{{{z|{{{{{{{|{||{{{{z{{{{|{|{{|{{z{{zz{{z|{{{|||{{{{|z{{|{{{z{|||{z{{{{{{{}{|{|{{{{z{{{{{{|{{{||{z{{{z{{z|||{{{{{z{zz{yzz{|{z{{{{zz{{zzzzz{{{|{{zz{{{z{z{z{{{z{zz{{zzzzz{{{{z|{zz{{zz{zzz{{{{{{{{yy{zzz{{{|{{{{zzzzzyzyy{z{{{{|{z{zz{yzyzz{zy{{zz{zzzzzzy|{{{{z{zy{{{zzz{{|z{{{z{zz{{yzzz{|z{{{|{y{z{z{zz{{{z|{{z{zyyz{z{{{{{||{{z{{z{z{{{|{z|{zzz{z{{{{{{|{{||{{zz{z{{z|||{{z|{{{{{z{{{{|||{{||zzz{|{{z{{{||{}|{{|{z{{z{|z{{{|||y|{{z{{{{z|{|||z{{{z||{|{{{z{|{{{{{zzz|{|{|||||{{{{{z{{|{|{{|{{|{{{z{{{{{{{{{|}|z{{{{z{|{{||||{zz{{{{{{z{{{z|||{{yyzz{yz|z|z{|{{y{z{zz{{{{{{|}|}{|{||z||||||}|||z|{zzzz||{|||{||||{z{z{{||{{|{{{{{{zzzz{z|{{||{{zz{z{{{|zz{{||{z{{{{{{{{{{{{{|{{z{{yzz{|z{{{|{{zzyz{{zzzzzz{{{{z{{z{zz{z|z{{z|zz{{zz{yz{{{{{{z{{{z{zzyzz{{||z|{z{{{zy{zz{{{z{{|{zz{zzzzz{{{{{{|{{{{{{zz{{{|{|{|{zzz{z{y{{|{{{|{{{{{zz|z|{{{|{{|z{{{{zz{|{{{{||{{z{{{z{{z{||z|z{{{|{{z{z{||{{{|{{{z{z{|z{{{{{||{{{zz|{zz{||}{|||{|{z{z{{||{|||||{{{z{{zz{||{|||||z{{{{|{{}z||||{{z{{z{{{{|{{{|||{{{|z|{z{||||{||}{{{{{||}{|{|{|||{{{{{|{{||{|z{|{{{{{{{{||{||}||{{{{zzz{{{{{{|}|{||{{{{z{||{{|{z{zz{{z{zz{{||{||{{{||{{|{|{||||{|{{}{z|{{{|{|||}{{z{{{z{|{{{{{||{z{{z{z|{{||{{{|{zzzz{{z{|||{{{|{z{zz{zz{{{{{z{{{{zzz{{{z{|{z{{{zzz{{{{z{z{|{{{{z{{zz{z{{{z|{z{{{{zzz|z{|{|{|{|{{{{{z{{y{|{{z{{{{{z{{z{z{{{z{{{{{zzz{zz{zzz{{|{{{z{{{{{{{{{{{{{{{{zzyzz{{{{{||{|{z|{{z{z{{|||zz|{zz{z{z{{{|zz||||{zz{y{{{|z{{{{|{z{{{zzzz|||{}|{{|{zz{z{||{{||{{|{z{{|{{{{{|}}||{|{{||{{{|{|||||{{zzz|{zz{||||}|{{{{{{{{|}||{{|||{|{{||||{|{|}|}|{{|{{{{{}}}|||}{{{|{z{z||}{|||{|{{{||{{{{{{}{|}|{{{{{{{{|{|{{||{{{z{{{{z||{|||||{{{{{{z{|||{{{{{z|z{z{z{||{{|||||{{|{|{{||||{}|||{{{{{|{|{{{|||z{{z{{{z|{{{{|||{z|{{z{|{{{|{|{|z{zzz{zz{{{{||{z{{zzz{zzz|{{{{{{|z{{z{{{{{{zz|{{|{{zz{{{{{{z{{{{{zzz{{{zz{|{{{{|{z{{{{y{{{|{|z||{zzz{{zzz{{{z{||zz{{zz{zzz|y{{|{{{{z{{{zz|||{|{|{z{{z{zz{{||z{||{{z{z{{z{{|z{||{z{{{zz{z{|||{{{|{z|z{{z{{{{{{{{{{{zz{zz{{{|}{{|{{z{{{{{z{|||z||{|{{|{zzz{||{{||{{{{z{z{{{{|||{||{{{zz||{|||{{|||zz{{{{z{{||||||||z{{{zyz|{|||||||{{|zz{z{{{|||||{{{|{{|{{z{|}{|}|z||{{|{{|}{{|{|{z{z{{z{|||{{{{|{zz|{{{{{||{||||{|{{{zz{{{{|{|{|}|{{{{z{{{||{{||{{{zzz{{{{{{{}|}||{{{{{{{{||{|}}|{z{{{z{{||{{|||{||{z{{z{|{|z|||{{z{{{zzz{{{{z}||{{z{z{z{{{{{|{{{{{{zzz{{|z{z{{|{zz{{{zz{|{{z{{{z{|z{z{z{{{{{{|{z{zz{{{z{{|{|{{{{zzzzzzz{{zz{||{{{z{{{zz{|{z{{|{zzzz{yz{{{{z{|}|{{z{{{z{{{{{z||||zzz{{{z|{|{{||{{{{{{zzz|{|{{{||{z{zzz{|{|{{{||{z{{{{z{{{{{{{z{{{{{{zz{{{{||{|||{{z{{z{{|{{|{|||z{{{{|{z|||{{}{{|z{{{{{{|{|||}||{{{{{{|{||{|{|}|{{{|{{{{||||||||||z|{{{{||||||}|{{{{z{{|||{||||}|{{{{|{{||||||||||{{z{|{{|||{|||{{|{{{z{|||{|||||{{{{||{{||{||{|{{{{{{{z{|||{|}{|{{{{{|zz|||{{{{{z{{zz|z{|{||{{|z|z{|{|z|{{{{{|{{{z|{{{|}{|{||||z|zz{z{y{{{{{|z{{zz{z{{{{{||{z{{{zz{zz{z{{|{{{||z{{zz{z{{{{{z||{{zz{z{{z{||{z{{||{zz{{z{{z{{{|z{y{zzzzzzz{{{{{|{|zzzzzyz{z{{{z{|z{z{yzzyy{{{z{|{{zzzzyz{{z{{z|{{z{{yzzz{{{z{z|{{{z{y{zy{{|{{{{{z{{zz{{{z{|{z{{{{{{{zz{{z{{{{{{z|zz{{zzz|{z|||{z|{{{{{{{{{|{{{|{{{zz{z{{z{{{||{|{|{zz{z{{|||{z|||{z|z|{z{{|||||||{{{zz{|{{|{|{|{}{{{{{zz{|{}}||{|{{{{|z{z{|z|{{|{|{{{{|{|{||||z|{{{|z{{{{{|||{{|}{z{|{zz{|{||||||{{{{{{||||{||{{|}|z}|{z{}|{|{|||{{{z{{yz{|||{||||{zz{zzz{|z|{{{|{z{{z{z{{{{{{}|{{|{||{|{|||||||{{{||zz{{{{{z||||{{{z{{zz{}{||{{||zz{{{zzz{|{{{{||{zzzz{z{{{{{|z|{{{{z{{yz{{{{|{{{{z{z{{z{{{{{{{z{{{zz{zz{{{{{{z|yzzzzzzz{{|zz{|{{{{zz{zz|z{z{{{zzzz{zzzz{{{{z{{z{zzz{z{{z{{{{|{z{{zz{{zzy{{{{{|{{zzz{zz{|{{|{|{{{{zz{zz{{|{|{|{{{z{zzzzz|{||{{{z{z{zy{z{{|{{{{z{zzz{|z{z{{{|{{||z{{{{{{z{{||{{}{{z{z{{{z{{|{{|{|{{{z{|zz{||{{|{|||{{{{{{}|{|{||||z{{{z{z{{|||||||{{z}zz{{{|{{||||z{yz{{zz}||{|||}|z{z{{{{||}{|||{{||{z{{|{|}|||||{{{||{{|{|{||||{{z{z{{z{{{|||||{{{z{zz{{{{{|z||{{{{z{{z{|{}|{||{z{{|zzz{{|{||||{{{{z{{{{||{|||||{{{{zz||{|{||{||{{z{{zz|{{{|{{|{{{{zz|z|{||{{||{{yzzzzz{{|{{|{|{zzz{z{zz{{z{||{{{{|{z{z{{|{{|{{{zzzz{zzzz|{{{{z{z{z{{zy{{{{z{{{{{{zz{y{{{|{{{z|{z{zzzy{z{{{{{|z{{z{zzyy{{|{{|{|{{{y{zzzz{|{{{{z{zzz|{yzz{{|{{|{{zzz{z{y{{{{{|{{{z{z{{y{{{z{{{{{{{{{{{zz{z|z|{||{{z{{{{z{{{{{||||zz{z{z{{{{{{||{{z|{{z{{{||{{||{{{{{{{z{{}||||||{{{|{{{{||{|||||{{||z{z{{|||}||{|z{{{{|z|{|{{{}}|{zz{|{{{|||{|||}{{|{{|{{}{||||}|z|{zz{{|||{}{|||{{{{zzz|{{|||||{z{{|{{{{||}||||{|{z{{{{|||{||||||zz{z{{{|{z{||{{{|z{zyz{|{{|{||||{{{{{|{|||{{||zz|{{{{z{|{{|||||zzzz{zz|{{{{||{{zzzy{zz{|||{{{{{{{zz{{z{{{z{|{{{z{{zzzz{|z{|||{yz{{zz{z{z|{z{{{zz{{zzz{{{{z{{|{{{{zz{zzz{{{{||{{zzzzzz{|{||{{{{|z{{zzyz{{{{{{{{{{zz{zzzz{{z{{{{{z{z{zzzz{{{{|z{{{{{z{zy{{{|{|||{{zz{z{{{||z{z|{{zz{{z{z|{{{{{{|zzz{z{zz{z{{{{{{{z{z{z|zz|||{{{{|zzzz{{{||{{{{|{{zz{{{z{{|{{{{{}|{{z{{z{|||||||{z|{{{{{{}z{{|}|{|{{{{zzzz{||{{|{|{z{{z{{{{{{{{|||z{zz{|z||{{|{{}|z{{{{{{{|{|{|{{|z{{{z{z}{{{{{|||{{z{|{{{|||{|{|z{z{{|zz{{|||}|||}yz{{{{{|{||||{{zz{zz{zz|{{{||{zzzzz{zz{|{{{|{|{zz{z{z{{||{||{|{{{{{{{z{|{{||{||{z|z{{z||{|{{||{{{z{yz{zz|{{|{{|z{zz{zy{|{{{{{{{{{zy{{yz{zz{{{{{{{yz{zzz{||z{{{zzzzy{zzz{{{{{{{zzzz{zzyz{{{{z{zzzz{z{z{z{|{{{|{{{zzz{{yz{z{z{|{{zz{zzzzz{z{z{{zz{zzzzyz{zzz{~|{{{{{z{zyz{{|z|||{zzz{yzz{z|{{|||{z{{{zzzzz{{{||{zzzzzzzzzz|{{{{{{{zz{z|zzz{{{{{|{|{zz{zz|{|{|{|{z{{zz{{{{{{{||{{zz{z{{{|{{|}{|||{|{z{{{{{{{|{{||{z{{zz{z||||{{|||z{{{{z{{|{||||{z{{{|{||{{|z{||||{zzzz{z||{|{|}|{{z|{z{{|||{{|{|z{{z|{{z{{{{|{||{{{zz{z{{|{|{||}{{{{|{{z|{z{{|{|{|zzzz{{z|{|{|{{{{{z{{{z{z{z{{|||{||{zz{z|{{|{|}|{zz{zz{{{{{{{|{{{{z{|zz|{{||||z{zz{zzzzz{||{{{{{{{yzzzz{{{{{|{{{{{{{{zzz{|zz{{z{z{{z{zz{z{zz{{{{zz{zzz{{{{|{{z{yzz{{zzyz{{{z|{{{z{{zzy{{zz{|{|{{yz{zyzz{{{{z{||zz{zzzzzzz|{{|{|{zzzyzzzz{|{{|z|{z{zzzzyzzz{{|{|{zzzzz{z|{{z{|{{{zyzzz|{{z{z{{||z{z{zy{{z{{z{{|{zzz{zzz{z{{|{|{{{zzy{z{{{{{{{||{{z{zz{zz|{{zz{|{{z|z||zz{{|||{||{{{{{z{{z{||{|{{{z{{zzy{|z{{{{|{{{zz{z{{{{{{{|||{{{{|||z{{{{|{{|}{z{z{{z||||{||||{z{|{{z{||{{{|{|{||{{{{{{{{{{}|z{{{{{{{||z{{}|}zzzzz{z{{{{{{{||{|{{z{{z{{|{|{}|{{{{{z{z{{|{{|||||{{|z|z{{{|{{|{{{{{{z{z{{{{{{|{{{|z{z|{{|zz{{{|{zz{zzz{|{{{{z{{{|z{{{{y{{z|{|z|{yz{{zz{z{{{{{|{{z{{zzz{{{{zz{z{{z{y{zz{{{{z{{{{{zzzzyzy{|{z{{{{zz{zz{{z{{|{{{||{{{{zzz{{{{|{{z|{{{zzyzyz{{z{{z{{z{zzz{z{{{{{|{{y{zz{{z{{{{{{z||zz{z{z{z{{{{z{{{|{{{{z{{{z{zz{{{{{{{{{zz{|{{{{{{{{{|zzzzz{{{{{|{zz{{{{zz|{{{{{{{{{z{zzz{|{|{{|{|zz|z{{{{{|||||}|{{{{{|{z{|{|{|{}z{z{{zzz{{|{|}{{|{|{|{z{||{{|||{|{{z{{|{{|{{||{{{{{{{z||||{}|}}|{||{z{{{{||{{||}{{{{z{z}{{z|||{||{{z|zzz|{||}||}y{{{{z{{{{{||||{{{z{{z{z{|{|z|||{{{z{{{z{|{{|}{|||{{{z|{{||{|{||{{{{z{{{z{|{{||}|{|{|{{||{|{{{{{{z{{{{z{{{{{z{{||{z{y{{z{z{{z{|||{|{z{zz{{{{{||z{{{zzyzz|z{zz{{{{z|z{{{y{|z|{|{|zyyzzzz{{{z{z|||{{{{{{yz{{{z{||{{{z{{yzz{|{{{||{{z{z{z{zzz{{{{{{zz{zzz{z{{{zz{|{zz{zz{zzz{|{z{}{{z{{{{{{|{{{{{{|{{{{zz{{{{{{{{|{zz|z{{{z{}{|{{{{{z{{{y{z||{||||{{{{z|{{{||{{{{{{{zz{z{z{{{{{z{|||{{{{{y{{|||{{|{{{|{|{{{{{{|{{||{{{{|{z{z||{|{||{{{z|{zz{{{{{||}{{{{{|{||{{||}|{|{{{||z{{||{{||||{{|z{{{{|{||{{|{{{{{{{z{||{||||{{|z|{{{{{||{||}{{{{{{|{{{|{|{{|||{zz{z{{{z}|{{{{{{{{{{{{|{|{{||{{{{z|||||||||}}{z{||z{{|z||||||{{z{z{{{}|{||{{}||z{{zz{z{||z{||{|{{zz{{{||{{|{|{{{y{z{z{{{{{|||{zz{{{z{{{{|{{{|z{z{zzz|{z{z{{{{{{{{{yz{{{{|{||z{{{zz{{z{{{{{|{{{z{zz{{z{||{z|||{zz{{{{z{{zzz|||{{{zzzzz{{{|{|||{z{z{{{{{{{||||{zz{zz{{{|{|{z|||{{{zz|{{{{{|||{{{{z{z{{|{|{|{|{|{{|{{|{{z|{||||{{||{|{{z{||{{{{||{y||{{|{}}{{{|||{z|{{{{{{|||||||{{z{{{{||}|||||z|{|z{z{||{||{|}{z{{{{|{{}|||}}|||{{{{|{||{||}||||{{{|{{||||{|||{{{|{z|{{||||{|{|{{{z{|{}}{{{||}{{{|{{{{||{||{||{||{z{{{{|{|{{|}{|{{z{{{z||||||{{|{z{{{{|{||{{{|||{z{zz{|{||{||z{{z{{zz{{{|z|||z{{{{{{{{{{{|{|{{|{{{z{{z{{{{{{||{{|yz{zz|{||{{{|zz|zz{zz{z{{z|{{{z{zz{{z{||{{{{{{zzzz{{z|{{{{{{{zzzzzzz{zzz{{z{{{{{zzz{z{{{z{{{{{{{{{{zzz{{{{{|{z{z{{zzyzz{zz{{{{{zzz|zzz{{{{{{|zz{{z{yzz{{{{{{{{zzz{{{{{{{{{{{{{z{zz{{{{{{{{{{{{zz{zzzz|{|{{{{{{{|{zz{z{{|{{|{z|{z{{z{z{{}|{||||zz{{z{z|||{{|{{{{{z{{zz{|{}{{|{{{{{{{{{||||||||{z{{{{z{|||{{||{|{{{z{z{{||{|{{||{{z||||{z|{||{{}{z{{|{{{{||{{|||{{{{{{|{||{{||{{|z{{z{{{|{||{|||zz{{{{{{|{{|||}|{{z{{z{z{|{|||||{z{z{{{{{|{|{||{z{z|{|zzz{{{||{z{z{{zz{|{{{{{|{{|z{{z{{z|{{{{{z|zz{zzz{{{{{{{{{zzz{zyy{{{{|{{{{|zzzz{zz{{{|{{{|{{{{zzzz{{|{z{{{{zzzz{z{{{|{{{{{y{{{zz{zzzz{{{{{z{yzzzzz{{{{z{{{{zzzzzy{zz|{{||{z{z{z{zzzz{zz{{{{zyzyyz{z{{z{z{{|z{z{{z{{zz{{{{{{{y{zyzz{{{|{{{{{zzz{{z{z{|{{{{{{y{zzz{z{{|z{|{{{{{zzyz{{|{{{{||zz{z{zzz{{zz{{{|zz{zzzzz{{{|{{{{|zz{{{zz{|{{|{{{{z{z{{{zz{{|||{{{{{{zz{z{{z|z|}|{z|{z{{z{{||{||||zz{{z{z{{||{{||{{{{z|{||{{|||{{|{z{{z{z{|{|||||{{{|{z{{|{{||||||{{{{z{{{{{{|{||z|{zz{{{{{{{|{|||{{{{{z{z|z{{{|{{{zzz{{z{|{|{{|{{{{{zzzy{|{{{}||{z|{z{z{{{|{{z|{{{|zzzzzz{z{||{||{{z{{{{|{{{||||{zzz{{zz|{|{z{{{|z{zzz{y{{{|{z|{{zzyz{{z{{{zz{{{{zz{z{zz{z|{{{z{{z{z{z{z{{z{{{|{{zzz{zzzz|{z{{{z{zzyz{y{z|z{|{||{|yz{zzz{z{{{{{{{{z{{yzz{{{z{|{{zz{yzyz{{{{{{zz{z{{zz{{z{{{||z{{{z{zz{{zz{{{z|{{{z{{zz{z{|{|{{z|zzz{zzz{{{{{{{||{z{zzzzz{{{{{|{{zzzzzz{z|{{|{||{{zzzz{{z{{|{z{{{{zz{z|zz|{{z{{{|z{{{{|{{||{}{||}{{{|zzz{z{||||||{z{{{z{z|}{{{}|{|z{{zz|{{{||{{|{{{z{{{{{{{||{|||{{{{{{{||{{}{||||{z{{{z|{|{||{|||{y{|z{{{{|{{{||{{{zz{z{z{{{|||||{{|zz{{z|z{z{|}zz{zzz{z}{|{{||{zy|{{{{zz|{{z||{{||z{z{{{z{{{||||{{z{{{z{{{{{|}{{{{zy{{z{{{{{{||{zzzzzzzz|z{z|{{{{zzzzyzz{{zz||||{zyyzzz{{|zz{z{{{zz{zzz|z{|{{z|zzzz|yzy{z{{{{{{{z{zzzy|z{{{||{{z{{zzzzzzz{{{z|{z|zzzyzzz{{{{{z{zz{z{zz{{|{{{{{{zyz{z|zz{{|{{{|{{{zz{z{zzz|{{|{{|zz{{z{z{{|{{z|{z{{zzzzz{{|{{{{|zz{zzz{zz{{z{|{{{z{zz{zz{{|{{|}{{z{{{zzy{{|{{{{{{{{{|z{|{||{{{|}{z{zz|{{{{{||{|}{{z{{{z{{{{|{{{{{{|{{{{{|||z|||||z{z{{{{{|||{||}|{{{z{{{{}||||||{{{{{{{{|{{|{{|{|{z{z{z{||{||{|{{{{z|{z{{||{||{{{{zzz{|z{|{|{{|{|{z{{z{z{{z{{{||{z{z{{zzz{{{{{z{{{z{{z{z{{|{|{||{{{{{zzz{{|{|{{{{|{{y{zz|{|{|z{{{{{{{z{zz{|{{||{{{{z{{{{|{{{z{{{{z{zzz{z{zz{z{{{z{{yzzzzz{{{{{{{zzzyz{zy{z{{{{{{yz{{yzz{{zz{{{{zzz{zyzzzz{z{{{{z{z{zyz{yz|{{{{{{{zz{zzzzz{{z{{{z{yzy{y{{z{z{{{{{zz{zz{{zz{{{{{{{{z{{zzzz{z{{z||z{zzzzz{|{||{{z|{zzz{zzz{{{{{z}|{{z{{{zzz|}{{{||{{{{{{|z{{{|{z{|{z{zz{z{z{{{{{|{{|{{zzz{{{{{|||||z{{z{|z{{z|{|}|{|z{{{{{{{{||{{|{}|z{{y{z||||{{||{{z{{||{{|{{||{}}{{|{{{z|{{|{{|||z{|z{{z{||||||{|{{{{{{{{|{{|{|{{z{{z{{{{|{{{|{|{z{{z{{{{{||{||{|{{{zz{z{|{{z{||{zz{{z{{{{|z|{{|z|{|{{{{{|{zz||||{{{{zyz{||{||{}z{zz{z{z{z{{|{|||{zzz{{{z{{{{z}|{{|zy{zz{{{{{{{|{{{zzz{{{{z{{|{z{{{zz{zzz|}{z{{{{zzzzzzzz{z|{z{|zzzz{y{zz{z|y{{{zzzzyz{{|{{z|z{{{{{{yzzyz{{{zz{{{zzzzzzz{|{{z{{{{zzy{zzzz{{{{{{{zz{zz{{{z{{{|{{{{zz{{z{zzz|{z{y|{{zzzzz{{|{{{|{{zz{zzzzz{{|{|{|{{z{z|zzz{|{{{||{{{zz{{{z||{{{{|z{{z{{{{{|{z|z||{|{{{zz{||{{||{|{z{z{{z{|{|{{{|{{{z{{{{zzz{{|{{||{{{z{{y{{||{||}||{|z|z{{|{{{{||{|{{{z{{z{|{{|{|||{||{{{{{}{z{|{{|z{{|{{{z{{z{||{{{{|{z{{||||{{||y{{{zzzz|||z|}{{{zzzz{z{z|{{{{{{{z|z{z{z{|||{{}{z{yz{{z{||{{||{|{|z{{z{{|{{}|{{|{{zzz{{z{{{{{|{{z|{{zzz{{{|{{z{|{z{{zzzz{{{zz|z|{{{{z{zzzzyzz{{{{{zzzyzz{{{zz{z{{y|zy{zz{{{|{z{{zyyyzyzz{{zz{{{{zzz{y{zzz{{z{|z{z{{zzzzzzz{{{{{|z{zy{zz{zzz{z{|{{zzzzz{zz{||{{{|{z{yz{zyz{{{{|{{z{z{zzzz|zz{z{||{{|{zz{z{z{{z{zz{zz{{zzzz{|{{{{|{z{zzz{z{{{|{|{z{z{zz{{z{{{{{{|{|{y{{z{z{{{{{z{{{{{z{{z{z{{|{{||{|{{z{{z{{{||{{|{{{|z{{{{{|||{{||yzy|z{z|{{{{||{{{z{z{|{{{{{||z||{{{{|{{{|{|z||{{{|{{zz{|z|{z|||{{zz{zz{|{{z|{|{z{z{{z{z{{|{|{||z{{z{{z|{{{{{||}{z|z{{zz{{||z|{{{{{z{z{y{||{z{{|{z{z{zzz{|{z{{{{{{z|{{{{z{{{|{{{zz{zzzzyz{{{{{|{zz{{zzz{{z{z|z{{{{{zzzzy{z{{{{{{z{zzzzzyz|{{zzz{{zzz{{zz|{{zz|z{{zzzzyzzzz{|{{{{zzyzzzzyz{{z{zzz{zzzzzy{zz{{z{zz{z|zz{{yy{{z{z{{z{zzyzzzzzz|{{z|{zzzzzzzz{{{zz{{zzyzzzzy{{{{z{{{zzzzzzzz{{{zz{{{{zzz{y{z{{{{z{{|{z{z{{zzz{{{{{{{zz{zzzzzz{|{{{{|zz{z{zzy{{|{y|z{{zzzzz{{{|{{{z|{{zz{{zz{{{{||{{{zz{{{zz{{z{{z{|{{{z{zz{{z{|{{{|||{{|{{{z{||{{||{{|{z{{{||{{{|{|{{{{|{z{{{|{||{||{z{zz{{{{{|{{{{{{z{z{z{{|z|{{{{{{{zz{{{{|{{{{|||{{zz{z{z{|{{z{{|{{{{zz{z{{|{{|{{{z{zzz{z{|{zz||}{{zz{{|{{||{|{}|{{{{{z{zz{|{|{|{z{{{{zzz{z{{{||{z{{{{z{zzz{|{{{|{|zzy{zz{{zz||{|{zzyz{{z{|z{{|{{{z{{zzz{{{zz{{{zyz{{z{z{z{z|{z{{zzzz{zz{z{{{{{|{{z{zz{zz{{|z{{z||z{{zzzzz{|{{{||{{zzzz{zz{|{z{{z{z{zz{z{zz{{z|{{{zzzzzzz{z{{z{|{{zz{yzzz{{{{z{{|{{{zz{{{{{{zz{||zz{{yz{y{|{{{z{|{{{{{{{z|{z{z}|{{{z{{z{z|||{{}||z|{{{z{{{{{{{{{|{{{z{{z{{||{||{{{{{{|{z{|{{{|||||{{{zzzz||||}|||{{z{|||||{||||}{z{{{zz{{||{{|||||{{{|{|z{}}|{|||||{|{{|{|||{{||||{{|{{{{{||{||||{{{{{{{|||{{{||{z{zz{z{{zz{{|||{{{|{{z{{{}{|||{{{{{zzzz{{{z{|}{|{{{zz{{z{{|z{{{{{{{zzz|{{{{{{|||zzzzz{z{{zz{{{{||z{{{zz{{{|{{z||{{{zyzzz|{{{{{{{zzzz{zzz{{y{{|z{{y{{zz{zz{z|z{|z{zz{zzzz|{{|z{{{{zz{{z{z{zz|z|{{zzz{zzy{{{z{{|{{{z{zz{z{{{z{{{{{zzz{zz{y{z{{{{{{z{{zzz{zz{{{z|{{{y{z{{zzz{{{{{{{|z{z{zzy{{{{z{|{{zzzz{{z{{{{{{{{zzz{yz{{{{{{{{|{|z{z{{{z{|z|z{z|{{{yzz{z{||{z{|{{zz{{{{|{z{{|{{{|{zzzz{{{{{|{z|{y{{z|z{z|{{|{|||{{z{{{z{|||{{||{|zz{|{z{|||{||{|{{{{{|{{{|{|{||||z|zz{{{|}||||||{{{{{{{z||{|||||{z{|zz{|||{|{{{}zzz{{{{{{|{|{{|{{{{{{{|{|{{|{|{}|{z{|y{z{|||{{|zz{{zzzzz|{|{{|{{|{{zzzy{z{|{{|z{|zz|{z{z|{|{|{||{{zz{{{{{{{|{{{|{{zz{z{{z{{{{{{|{{zz{zyzzz{{|z{{zz{{{z{z{z{{z{{z{z{zy{{z{|{{{{{{z{{{{zz{{{z{z{{}{zzz{z{z{{z{{{{zzz{{zzzzz{{{{{{{{zz{zz{zz{{|z{{zzz{zzzz{{{{z{|{{z{zzyzzzz{z{z{|{zz{{{{zzz{|z{{|{z{{z{y{{{zz{{z{|{{{{zy{{{{{{{{||{y{zzz{z|||{z||{z{{{zz{z{{{|||{|z{{{z{{{{{|{{||{zz{|zz{z{{|{|||{{{{{{{z{{|{|{{||{z{{|{{|{{z|||{|{z{{{zz{{|||||||{{{{|z{|{|{{|{}{|{{{{{|z{{{{{||||{{|{{|{{|{}{|||{{||z{{{{{{|{|||{z|{{{z}|{{{|{}||{{z{{{{{|||{||{{{{zzzzz{|{||||{z{{z{zzzz{{{{||z{zzz{z{z{|{{{{{|{{zyz{z{{|||||{|{{{z{{{{|{|{}{{|{{zzzz{yzzz{{{||{z{z{z{z{{{{{{||{z{zzzzz{{{{||z|zzy{{{{{z{{|z{{z{{{z{zz{{{{|{{|z{{zzzzyz{z{{z{z|{zzz{zzy{{{{{{{{z{zzyzzz{z|{|{{{zy{zzzzxz{{|{z|{{{zyzzzz{{{zz|{|zz{z{{zz{{z{{|{{{z{zzz{{z{z{zz|{zzzzzz{{{{{{{{{{zz|zz{{{{{{{{{|}zz{zzzyz{{{{z{{{{zzz{y{z{{|{{|{{|{{{zz{z{{{{{|}z{z{{z{{{{{{{z}|z{zz{{{z{|{{||||{z{{zzz|z|{||||}||{{|{z{{||||{}||{z{{{{|{{{|||{}||{{{{{{{|{|{||{||{{z{{{{{}{||||{{{{}z{{{{|||||{{|{{{{{{{{{{{||{||{z{{z{{{||{|}||z{{z{{z{{|z||||{{|{{z{zzz|z|{{||zz{{{zzz{z|{|}{|{{{y{zzz||{z{{{||z{z{zy{{{{{{}{|{{{zzz{{{z{{{{{|{{zzzzzz{{{{{{|{{z{zz{yyz{{{z{||{z{zzz{z{||z{{{|{{zzzzz{z{{{z{{{{{{yz{y{{z{|zz|{z{zzzz{{{||{{{|{z{z{z{zy{{{z{{z|z{zzyz{z{{{{{|{z{{z{z{zz{{z||{|{zz{y{zzz{|z{{{{{{{{{zzzz{{{{z{{|{yz{z{{{z{|z{z||zz{zzz{z{|{z{{{{{z{{zzz{z{||{||z{{{z{z{z{{|{|{{{{z{{{{yz{{||z||z{{z{zzzz|||{{{{{{{{{z{{{{{{|{|{{z||z|{{{||}}|||}|{{{{z{{{|||{{{{|z{{|{{{||||||||{{|{{{|{|||||{|||{{{{|{{z}|||||||{|{{{{{z||{{{||{{{z{{{||{{||||{{{z{{{z{|{{{||||{|{zz|z{|}{{|||{{{{zzz{{{{||{{||{{{y{{{{|{z{{{z{{{z{{zzzz{{|{|{|{{zz{z{{{{{|{||}{z{{{{{z{{{{|z||zy{{z{zz{|{{{|{{{zzyzz{z{{||{{{|{zzzzzzy{{|{z{|zzzz{zz{z|{{{z||z{{{zzz{zzz{zz|zz{z{zzzzz{|{{{{{{zy{z{zzyzz{zz{|{{zz{z{zzz{|z{z{{{zzz{{{{yzz{{{{{{z{yzy{zz{z{{{{{zyzz{{yz{{zz{{{{{{zz{zzz{{{{zzz|z{zzzzzz{{{{{{z{{{zzyz{z{z{z{{{|{zz{zzzz||{{||{{zzzzzzzz|||z{||{|{z{zz{z{{{|{|{{z{z|{{{z{{|}{{|{zz{{{z|{|{||||}|{{{{zy{z{|{{{||{{|{{zzz|||{|{|{|{{{{|{|{z{||||||}{{{{|{z{}{{{|{||{z{{z{{||{||{{||z{{{zz{|{{||{|||{{||{{|{{{|{{{{{|{{{{|zz{{|{||{{{{{{{{z||{{z||{zz|{zz{{{{|zz|{{|{zz{y{z{|||{{{{{z|z{z{{{{|{{{{||{{zz{zzz{{{{||{{{{z{{zzz{{|{z{|{z{zyzz{{z{{z{{|zz{zzz{z|{{{{{{|{{y{{zzzz{{{z{{zzzzyyzzzzzz{y{|zz{zzzzzzz{{{{z|{zz{zyzzzzz{zz{z{y{z{yz{zzz{|{{{{{zz{zzzzxz{z|z{{z{zzzz{{{|{y{{{{{z{zz{zzz{{{{{|z{z{{yzzz{z{{|{{}zz{zzzzz{zz{z{{{{z{zzz{z|{{{|{{|{z{zzzzzzz{z|{{z{{{z{{zz{z{||{||{z{{{{{z|{{zz|{|{{{z|{{{{{||{{|{{{|{z{{{|{{{{|||{{{{{zz{{||zz|{|z{zz{{{{{||{|||}{{{{{z{{{{{|{{|{|{{{{{||{|{{|{||}|z{{{z{|||{{|{{|{{|z{z{{|z{|{{{{{{{{{{{||{|||{|{{zz{yz{{{{|||||z{{{{zz{{|{z{{|{|zzzzz{z{{{{z{{{{{zz{z{z{{|{z{{{z{zzzz{{|z{{|{|{{z{zz{z{{{{{{{||zzz{zzz{{{{{zz|{{{zzyyzz{{z{{{{{zz{{zyzzz{zzz|{z{y{zz{zz{{{zz{z{{z{yzz{zzz{{z|{{z{z{zzy{y{zzz{{zz{zzzzyz{{zz{{{|{zzzzzzz{{z{{{{zz{{z{zzzz{zzz{{{zzzzzzyy{zz{{|||{z{zz{zyzz{{|{{|{z{zzzz{|{z{z{z{zzzzzzzzzz{{{{{|{{zzzzzzz{{{z|{{z{z{{zzz{{z{{|||{zz{{zy{{{{{{{{{z{{{{{z{{||{{zz{{z{z{zz{{{|||||{z{z{{z{|z{|{{|||{{|{{{{{{|{{z{{|{{{{|z{z|{|{{||{zz{z{{{|||{{{{{||z{{z{{{{||{{|{|}z{{{{{z|z{{z|{{{{{{{{z{{|{{{|{||zz|{zz||z{|{}{||{{{{{{|{{{|{|||{{z{z|{{{|{|{{||{{{{zy{{{{{z{|{{{z{{z{zzz||{{{{|{{zz{yzzz{|z|{{{{{{zzzzz{{z{{{{{{zz{{y{{{{zz{z|{|{z{z{{z{z{{z{z|{zz{{{z{{{z{{{{{{zzzz{{z{{{{{z{zyzz{z{yzzz{|zz{{z{zzzzzz{z{{z{{{|yz{zzyzz{{{z|{z{zzzzzzzyz||{{{{zzzzyyyzyz{z{{{{z{zzzzzzz|{{{{{{zzz{{z{{{{{{{z{{zzz{zzzz{|zz{{{{zzz{yzzyzzz|z|{{z{z{zz{{{{|{{{{{{{{{zyzz{|{||{|{z{z{|z{{zzz|{|{{z{{|{zzz{z{{{{{|{z{{{{{{|{||{|||z{{{{{|{{{{}||||{{{{z{z{{|||{{{{{zz{|{{{|{{||||||{{{z{{{{|{|||{{|z{zz{|{{|||||{|{{|{{z{z|||||||{|z{z{z{{|{{{{||{{{z|{zz||{{{z{||z|z{zz{{{{{{{|{{{{{zz{zy{{{|{{||z{zz{zz{{{|{|||{{z{zzz{yz{{z{{|{{{{{yzzz|{{{{{{|z{{{z{zzz|{z{{{{{zz{{zzz{{{|{|{z{{zzzz{z{{{{{z{|{z{z{{zzzz{{{{{{{zz{zzyzz{{{{{{{{{{yy{{z{z{|z{{{yyzyzz{z{{zz{z{zzzyzz{z{z{{{{{||zz{{yzzz{{{{z|{{{zzzy{{zzzz{z{||yyz{y{zzzzz{z{y{yyz{{zyzz{{|{||{{zzz{{{z||{z{{|{{zzzzz{z{{{{{{z{{z{zzz{z{z{{{{|{{z{{{y{{z{{{{{||zz{zz{zz|{{{{|||zzz{{|z{{{||z|{{zz{{zzz{z{||||||z{{y{{{{||z{{{{||{{{{{zz{}{|{{|{{{{{{z{{{|{|{||||z|{|z{{{||{{|{}{z{z{{||{||||{{{|z{{{{|{z{}{{{||{{zz{{{{{z{{|{|{{{{{{{{z|{{|{|||{{zz{z{z|{z|{{{{{{z{{zzzz{{{{{{{{{{z{z{z{{|{{||{{{{{{{{{{{|{{{|||{{{zz{{{{{{|}{{zz{zz{zz|{z{{{||{{|{zz{z{||{{{|{{{zzy|zz|z|{{{{{{zzzzzzz{{z{{{|{zz{z{zyz{zz|z{{{zzzz{{zz{{{{{{{|{{zzzzzzz||{{{{{zyzzzzz{{z{{{|z{{{{|{{{{z|z{{{||{{z{zzzzzzzz{{{{z{{yzzzzz{{z|{|{yz{zz{{y|{{{{{{|{zzzzzzz{{{zz{{{{{{zzyz{{{{|||{|z{{{zyz{{}||||{{zzz{|zz{{{|z{|{||y{z{y{{z||{}||z|{zz|zzz{||{{{{{z{z{z{{{|{}||||}z{{{{{}{{|{}|||{z{{{{{{{{{|{|||{{zz{{{|z{|||{||||{{{{|{{||{{|{{}|{{{{{z{||{||||{|{{{{z{{{||{{||{|zz{{{{||{|||{{|{{{{|{|{{|}{||||zz{{z{{{z{|{{{{||zzz|{|z{{|{|{||{{{zz{z{{}|{{{{|{{{{{z{z{|{{{{{{|z{{z{z{||{{|}|{{{z|{{{{|{|{||||{z{{{zy{z{{|{{|{|{zz{z|z{|{|{{{{{z{{z{{{{{|{{{|{zz{{{zy|{{|{z||{{{zzz|y{z{{|{{{{z{{zzzzzz{{{{|z{yz{{z{zzz|{z|{|{{{z{zzzz{{{|{{{|z{z{zz{{|{z{{|{{{{zzzzzz{{{{{{{|{z{{{{zz{{|{|{|}{{zz{z{{{|{z{{|{{{{{z{{z{{{{{{||{{z{{{{z{{{z{{||{zzz{z{zz||{{{{{|{{zy{{{{||z{|{{|{{z{z{{{}{{|{{{{z{{{{{{{|{|||{|{{{z{z{{{|{||{||{{z{{{||||||{|{{|{{z{{{{||{{}||||{z{{{|{{|{||}|}||{{{{|{|}||||{||{{|z{|{|||{|}|||{{{{{{{{{{|||{||{{{|z{||{|||{|{{|{z{z{z{{||{{|||{{{{{{z|{|{|{||{{|{zzzz{|}|{||{{{{{{z{yz{}|{{||zz{|{z{z|{{{{|{}{|z{{{{z{{{{{{{{|{{{{{z{||{{{{{z{{zzzzzz{{}{{|{|{{{z{z{z{{{{z||{{{z{{z{z{||z{{z|{zzzyzz{z{{zz{{{zzzz{{{z{{{z{{{|{{zzyzzz{{|{|{|{{{{{z{yzz{{||{{{{zzy{{zzz{{{{z{{z{yzzzzz{{z{z|||zzzzzzzz{{{{{|{|{{zz{z{{{|z{{{{|z{y{zzz{|{||{{||{z{zz{{|{|{|{||{z{{z{z|{{|{{{{{{{{{y{{{{{{|{z{||{{zzzzzz{{|{|{{{{{{{|{{{{}{{|||{z{|z{{{{{|{|{||}{{|z{{{{|||z|||{|{{{|{{{{{|{{|{|{{zy{{|{||z||}|||{{{z|{{|{{{{|{||{{{z{{z|{|}|||{{{{|{{{{{{|{||||{{{z{z{{||{}||{|||{{{{{|{|{{{||||{{{zz{{|{{||||{|z{z{zzz{{{|{|{{{zz{{zzy{|{{{{{||zzzz{{{z{|{{||{|zzzzzzz|{{z{||{z{z{z{{{{{{{{{{|{{z{z{yz{z{{z{||zz{zzz{zz|{{z{z{{zzz{zzzzz|z{z|zzzzzz{z{{{{{zz|{yzz{{zzz{{{y{|z{{zz{yzyzzz{{{{{|{zzzz{zy{z{{{{|{{zzz{y{y{{{zy{{{z{zzzz{zyz{{{{z|z{{{zzzz{z|z{|{{{yzzyz{zzz{|{z{{{y{{zz|yz{{{|{{{zz{zz|zz{{{zz{{{|z{z{zzz{z{|{||{z{{zzzyz{{|{z{|{z{{{{{z{{|{{{{|z|{{|{{{{{{|{{|{{{{{{z{|{{{||}||{{z{z{{zz||{|{{|{{{{{{z{{||{{|}}|{{{{z{||{|{|}|{{|{{||{{{{}{|||||{{{|{zz{}}||{||{{{{{{{{{|{{{||||{{{{|{z|{{z|||{}|{{y{{{z{{{|{{|}{zzz{{{z{|{{{{|{{{zzzz{yz{{{|{{|y{{zz{{z{{|{{{{{{{{{{yz{{{|{|{|}{{yzzzzz|{{{|||{|zz{z{{{zz{zz{{{{{zz{zzz{z{{{{{zz{{{{zz{z{{{{{{{||zzzz{{{{{{||{{{{zzyz{z{{zzz{{|yzzzzzz{z{z{|{{{{zzzzzyzzz{{|{{zzz{z{z{yz{{{{z{|zzzzz{zyz|{z{{{|{zzzyzz{y{{|z{{{{zz{zz{z{z{{z{{{{zz{zzyzz{{{|{|{zz{zzz|{{{z{{{{{{{y{z{y{{{|{{|{|{{zzzy{{z{{{{{{|{z{zzz{z{{z||{{{{z{z{z{zz|{z{{{{{zz{{{{{z{|{||||{z{z{z{{{{|{{{{|{{zz|{zz||{{{{{{{z|zzzz{|{{{||||{{{{z|{{{|{||{}||{{{{|z{{|||{||{|{{{zzzz{|{|{{{{|z{{z{{||||{||||{|{{{z|{||{{||{||{{z{{{{|{{{{{{||{z{{zzz{|{|||||{|z{{{{z|zz{{{||{z{zz{{|z||{z{|{{z|{z{{{{|}{{{|{{{{{{{{{{{|{{|{||{yzzz{z{{||{{|{z{{zzyzz{|{{{{z|{zyzzz{{{{{z|{{{{{z{z{{{{z{zzz{{z{{{z{z{|{z{{|{|{{zz{zzz{{{{{z{z{zzzyzyz{z{||{{{zy{zz{zyzz{{{{|z{z{zzz{{zzzzz{{{{{zzzzzy{{z{{{{|{{zz{{{z{{{z{{|||yz{zzyz{{z{|{{|{z{{zz{z|{|{|{{|{{z{zz|{{||{{||{{{z{{z{{z{|{{{|{{z{z{z{zz||{{||{{zzzzz{{z||zz{|{{z{{{|{{{|||{{|||z{z{|{{||z|{|{|{{{{|z{||||{||||{{{{{{{y|}{{|{||{||{||||{||{||||{|z|{{{z{|}{||||||{|{{{{|{|||{|{{{{{{z{|{|||{||}{{{{||{{{|{|||||{{{z{{{z{{{|{{||{zz|zz{zz{|}{{|{{z{z{zz{|{{{{||{{{{{zzz{{{|{{z{|zzzz{z{|{z{{{{{{{{{z{{{z{zz|{{{{zzz{{{{{{|{z{z{{{|z{zz{z|{{{{|z|zz{zzz{zz|z{{||zz{z{zzyy{z{{{{z{{z{zz{yz{{{{{z{{z{{yzzz{{zz{{{{{zz{y{{y{{{z{{{z{zz{zzzzzz|{{|{{zzzzzy{z{z{{{{z{{zyzzzz{y{{{zz{z|zy{{z{z{z{{{{|z{{zzz{x{z{{{{{{{zz{{zzzz{{{|{{{{{y{{{z{{|{z{{{||{{{{zzzzz|{{{{}{|z{{y{z{z|{{{{{|||y{{{z{z|||z{||{z{{{{z{{{{|{||z|z{{z|{|z{{{{|||{{z{{z{z{{{{{{||{|{{{|z{{{||{||||{z{{{{z{{{|{{|||}z|z{{{{z||}{{|||{{{{{{{|{|{||||{{z{{zz|{||{{||{|{{z{{{{{||{{||||z|zz|{zz{{|{|{|{zzz{z{{{|||z|{{{{zz{zz{{{{{{||z{zzz{{zz{{{{{{|{zz{{zz|{{||z|{||z{z{{{{z{{{{z{z{{{z{|{z{zz||{{||{{{zzz{z{{{{{|{{{zz{zzzz{{{{{{{{}z{z{{{z|zzz{{z{{zzyz{{zz{{|z{{zzzyy{yzz|z{z{{|zzzzzzzzz{{zzz{zz{{{zz{zzz{{{{{|{zzzz{yzzzz{zz{zzz{zyz{y{z|{{|{{{{z{zz{{zzzzzz|{{zzzz{zzy{{{{z{{{{yz{zzzz{{{{{||{{zzzzzzzz{{{{{z{z{zzzzzz{|{{|{||{z{{zz{z{{{||{|{zz{{{z{{{{{{{{|{{{{zz{z{{{|{||||z|{{{{{{||z|||||zy{{{{z{||||||{{|z|{|{{{|||}||||||{{z{{zz|{{|||{|z|{z{{{z|{|||||{{{{{|{{{z{|||{|z{{{{{{{||||{||}{{zz{z{{|{{|||{|z{{zz|{|||{{z}|{{z{{{{z{{{||{|{|{{{zzzzz|{|{{{{{{{zzzzzz{{}{|{||{zzz{{{{zz{{{{||{zzyz{zz{{{{{z{||y{{zzzzz{{{z||zz{{zzz{zzz{{z{{|z{zz{{{{{|{{|z{{{{zz{{zy{z{{{z{{zz{{yzzz{{{zzz{{{zyzzzzzz{{zz{z{zz{zz{zz{{{z{{{{zzzzzzzx{{{zzzz{zzzz{yyyy{{{z{{{z{zyzzzzy{{{z|{{zzyzzzyzz{z{{{{zzzzxzzz{||{{{{||{{{{zz{z{z{{{{{{z{zyz{{z{{|{z||{zz{{{z{zz|{{{{|z{{{zzzzz{{{{{||{{z{{z{{z{{{|{{z|{zzz|{z{{|{{}|{{{z{{{z{{||{|||{|z{{{{{z{z{{{|{|{{z{{z{{z|{|{}||{{{{z|{{{{{|||{|{|{{{{}|{{|{||{{|{{|{{z{|||{||||{|{{{{|z{{|{{|{|||{{z{{{{||{{|||{{{{{{{{{{{{zz{|{{{z{{yzz{{{|z||{{z{zzyz{z{|{{{{{zzz{{yzz{{{{{{|{{z|y{zz{zz{|{{{|{z{zz{{z{{|{{{{|{{{{zyyz{z{z{{{||z{zzyzzz{{|{|z{z{zzz{z{zzzz{{{{|z{z{zzy{{{z{{{zzzyzyzzz{{{{{{{{{z{zzz{zz{{{{{{{{zzzyzzz{z{{{{{{{zzzzzzzz{z{zz{|zzzzzzzyyy{zy{{{|yzz{yyzz{{z{{zz{zz{zzzz{z{{{{{{{{zz{{|y{|z{{|{{{zzzzyzzz{{{{{|{z{{zz{{z{{{{{{{{z|{{{zzz{{|{{{|{zzz{zzyz|{|{{{|{{{z{zz{z|{|{{{|{|{z{z{zzz{{|{{||zzz{z{{z|||}}||||{{{{z{z|{{{|{|{|{{{zz{{||{{{|}{z{|z{{{{{{||{|||{{{{{{{z||||||||{{z{z{{{{{||{||{{|zzzz{||{{|||||{|{||{z{||{|{|||z{{{{{{z{|{{{|||{z{{zz{z{{||{{{{{{{zz{z{{{{{{{{{{{{{{zzz{{|{{{{|zzz{zzzz{{{{||{|{{{zz|{{{|{{{|{{zz{{z{yz{{|{z{{|{{{zyzz{{||{{z{|{zz{zz{zz|{zz{{z{yzyzzzzzz{{z|{||{{zzzzy{{z{z{{{zzzzyz{{||{z{{{{zzzzzzyzzz{zz{z{zz{zzzyz{{{{{{{|zzzz{zy|z{{y{{{zz{zyzzzz{{zzz{z{zy{yzzzy{z{{{{{zy{zzzz{{z{{{{{{{{z{{yz{zz{z{|{{{{zzyyyz{z{{{|{|{zz{yzzz{z}{{|{{{{{zzz{yz{|{|{{|z{z{z{zz{|{{{{|{||{||{{z{{|{||{||z|{z|z{{|{z|{||{|z{|zz{zz|{|{||{|z|{{{{|{{{|||||{{{z{{|}{{|{|}||{{|z|{z{{{|||{{||{z{{zz{{||{{{|{{{{{{z{{{|{{||{|{{{{zz{{|{{|{{|{|{z{{{{{z{{|{{|{{z{zzz{z{|{z{|{{{zy{zzzz{|{{z||{z{zz{z{zz|{|{{{{|{{z{{zz{z|{{{{|{{{{z{yy{z{{{{{{{{{zzzz{{|z|{{{|{{zz{{z{{{{{{{{{{{z{{z{zz{|zz{{{{zzzyyzzzz}{z{z{{{zzz{{z{zz{z{|{zz{zyzzz{zzz{{{{{zzzyzyz{|{{|{{{{zyzzzzzz{z{z{{|{z{{zz{yz{zz{{{{zz{zzzzz{{z{|{{zzz{z{zzz{z{{zz||{{zyz{z{z{|z{||{{z{zzz{z|{z{{{||{{{z{{z{z{{{|{|z{{{|zyzzz{||{||{|z{{z{{{{{|{{{}{{zz{{{zz|z{{{|{|zz{zz{z{{{||{|||{{zz{{{|{|z{{|{|{{||{{{{||||}{|{{z{{{zzz{|{{|{||{|{z{{||{||||{|||{|{{{{{|}||}||||{{|{{{{|{}{|{|{|zzz{|{{{{||||{|{{z{{{z|{|z|{||||{{zz|zz{|||{||||{{{{|{{{{{{||||{{{{{z{{z{{|z{|{{z{{zyzz{{|{zz{||zzzzzz{|{z{{{{{{{{zzz|zz{{zz|||z{zzzz{{z{z{{|{{{{{zzz{z{|{|{{z{yz{z{{zzz|{{{{{zz{{z{zzy{{{{{|{{{{{{zzzz{zzz{{{{zzzzyyzz{{{{{{{{{{zzzzz{z|zz{z{|{z{zy{{yz{{{|{|zzzzzzyzzz{{z{{{z{yzzzyzzzz{y{{{|{z{zzz{z{{{{z{||yz{zyz{{z{{{{{|{z{{{zzzz{zz{z{|{y{{zz{{z{{{z{{{|{{{z{{{{{|{|{|{{zzz{zzz{{{|{{{|z{zz{zzz{{||{{{||{z{z{z{{|{{|{||{z{{{{{z{{||{{{{|{{{{{{{z|{{||{|{|{{{{zz{|}|{{|||{{{z{{{|{{{{|||||z{|||{{z||{{{|{|{{{|{|z{||{{||||z{z{zy{{||{{||{|{{{|{{{||{{|{||{{z{{}|{z|{||{{||{{zz{{z|{|{|||{|{{{zz|{|||{{{|zz{zzzz{z{{{{{{{||{{zyzzz{{|{||{{{zzzy{|z|{{|{{{|{{{zzzzzz|{{{{|z{{{zzzz{{|{{z{{{zzzzzy{y{|{z{{{{{z{{y{zyzz{{{{{zzzzzyzzzzzz{z{{|z{zzzzzy{{{z{z{zzzzzzyzzz{|{{{{z{{{yyz{z{z{|{{{{{zzz{zzzzz{{z{z{{zzzzzzzzzz{zz{zzyz{{{zz{{z{z{{zzzy{{zz{z|{{{zz{{z{zzzz{{{z{z{{|{z{zz{y{zz{zz|{{z{zz{{zzz{{{{{|||{{z{zzy{{||z||{z{{{{{{{{{{{|||{{z{{{{zz{{|{}{{{z{{z{{{z{{z|{|||{zz{{z{z{{{|{||{{{z{z{{{|}|{{{{|{z{z||{{{z{|{||{||{{{{{z{|{||}{|{{{{{|{{z{|{|||{|z{z{z{{{{|z||||{{{z|{y|{{{|{|||{{{y{z{z{|{{|{|{{z{{z{zz{{|{{{{zz{{y{{zz|y{{||{{z{zz{zzz|z{{{||{z{{{{zzzz{|{|{z|z{{z{z{y{{z|{{||{{z{z{z{{z||{z|{zzzzzzzz{{{{{|||{{{zz{zzz|{{z}{{{{zzz{z{{{{{{z{{{{{zyzzy{{z{z{{{zzzzzzzzz{{z{z{{zzz{{{zzz{{y{|{{zy{zyz{{{zz{{{{{zzzzz{zyz{{{zzz{{zzz{{z{{z{{z|z{zy{z{{{y{|{z{{{{yz{zzzz{{z{{zz{{{{{zzz{{{{{{{z{{z{{z{zxz|{{{{{|{{z{zyz{z{|{|{z{{{{{{zzyz{{|{|{{{zz{{|zz{{{{z{z{z{{z{|z|z|{{{{{||z{z{{{{z{|z|{|{||z{zzzz{{||{{{{|{{z{{z{{||{{{|||{{{{z{z{|{{z{||||z{{|{{|||||{{|||{{z{{{{{||{{}{|{z{{{{{{{{{{{{|{{{{{{{z||||{|}||{{{{{z{z{{{{|{|{|{z{z{z{{{|{{{|{{z{{{zzz{{{{{{{{z{{z{zz{|{z|{{|{z{{{{zzz{{{{z{{{{{{z{{{{{|{{{{{{{{zzyzz{{z|{{|||z{{zzzzz{{{{{{{}{zzzz{{yz{{{{{{{{z{zz{{zz{{z{{{{{{{zz|zz|{{{{{{{zz{zzz{z{{zz||{{{zzzzzy{{|{|{{{{zz{y{zzz{{|zz{{{{z{zyz{y{{{{z{{|zzzyzzzzz{{{z{{|zz{{z{z{{{z{zz{zzyzzzyzz{|||z{{|z{z{zzzz|{{{{||{{{{zzz{z|z{{{|{{|{{zzz{z{{{|{|{{{zzzz{{z||{{|z|{{z{{{yz{{{{{{{|{{z{{|{{{{{{{||{|zz{{{{{{||{{{|||{{{{zz{{{{|{{||{{{{{{{{{{}||||||z{z{{{z{{z|{||}{{{z|{{z||||{||}}|{{{z{z{{|}|{||{{z{z{z{{z||{||||{{{z|z{{{{{|||}|zz{{{{zz{{{|z}|||{{z{z{zz|{{{{|{{{{{{{{z|z|{{z{zzz{zzzzyz}{{{{{|{{zzyz{zz{{{{||||zzzzz{z{{{|{{||{yzzz{{{z{{zz{{|{{zz{y{z{z{{{|{|z{zzzzz{{z{{z{z{{zzyzz{{z{{z{zzzz{yzzzzz{{zz{{z|zzzzz{zy{{{z{{{{zz{zy{yzz{{z{{{{zz{zyz{{z{{{|z{{zyzzzyzz{zzy{y{{{zzzzzzzz{zzz{{{{zz{zzzyz{{{{{z{{zzz{zy{z{|{{z{{z{{zzy{z{{{z{{zzzzzyz{yz{{|{{{z{{z{zzz{{{{{{{|z|{zyzz{zzz{{{{{{{{zz|{z{{{{{{{{{{|zz{{{|zz{{|{{{|z{{z{{|z{{{|z{||{{{{{{yz{{|{{||{|z{{{zz{{{{{|{{|{{{{z{{z{{||||||{{z{z{z|{}|{}}||{{{{{zzz{|{|{{{{{z{{zz{{{{{|{|{||{|{zzz{{{{{{|||{z{zzzz{z{{|||||{|{zzzy{|||{|||{{|{{{{{{{{{z{{z{{{zzz{{y{|{{{z{{{zyzzz{z{{|zz{||{{{z{yz{zz{z{z|{z{zz{{{z{{{z{{{||z|zzyzyz{{z{|{{{zzzzzzy{z{z{{{zzzzzzzz{{{{|z{{{{zyzy{zzzzz{{{{zzzyzzzyzz{{zzz{z{zzzzzzz{z{z{zy{z{{zzzzzzz{{z{|zzy{zzzzyzzzzz{{{yzz{{yzzz{{{z|{zzzzz|zzy{z{{|{{{zzzzzy{z{|z{{{{{{{{yz{{z{{|z{{z|zz{{zzz{{{|{zz{{{zz{zzz{z{{{{|{{zzz{zzyzz{{{{z|{{{y{{{zz{|{{{|{yz{z{z{zy{||||{|{{{{{{{{{||{{{|||z{{{{z{{{|||{||||{{{zz{z||zz|||{{zz{zz{z{{{|{||||{{{{{{{{}|{|{||{z{||z{{||{{{{{||{z|zzz{{|{z|{||{|{{{zy{{z{||{|{z{zzz{zz{{z|{{{{|{{zzz{z{}{|}{|{{z|z{{{{{{{{{{{|zz{{{{zz{{|{{{||z{{zzzzzz{{{|||{{{zz{{{zz{{||{{z{z{z{z{y{z{{{{{{{z{zzzzx{{{{|{{{{z{zz{zz{|z|{|{{z|{zy{{zy{{z{{{{{{{zzzzzz{{{{{{{zzyyzz{zz|{z{z|{zzzz{zzz|z{{|{|{zy{zyyz{{z{{z{|{zzzyzzzy{{{{{{z{{z{zz{yz{{y{zz{{yzz{zzzyz{{{{{{}{zzy{zzz{|{{{{z}zz|zzzz{{zz{{{{{zz{z{z{{{||{{{{|zz{{z{z{{||{||z{{z{{{zzz{|{{{||z{|{{{{zy{{{{{|{|{{z{{|{{{z|{{{|{{{z{{{z{{{{{{|||{|{{{zzz{||{{z}||{{{{{zz|}|}||{|{zz{{{{{z||{|}|{{||{z|{{{||}||}|{{||zz|z{{|}|||{{{z{z{z{|{{||{||{{|{{z{{|{|{|{{|{{{{{{z{z{{z|{||{||{z{{{{|{{{{|{{{{zzz{{|{|{{{{|{{zzzzzyz|||{{|{zzzzzzzy{{{z{{|{{{zzz{{z{z{{|{z{{z{zzzz{{||{{{{{z{zzyz{z{{{z{{{{{zz{{zzyz{{z{{{zzz{zzyzzz{zz{|{{zz{y{{zy{z{{{{{{zzzyzzzzzz{{zz|zzzzz{zxyz{{{{{{{zzzz{z{zz{z|zzzz{zzzzzyzz{{{z|{z{{zzzz{zzzy{{{z{zz{zzzzyz{|{{{{{{{zzzzz{{z|{{{{|zz{{{y{{z{{{{{{|z{{zzzz{{{{z{||{z{z{zyz{{{{{z|{{{{zz{z{{zz|{z{|{zzz{z{zz{|z}z|{|z{{{{z{z{|{|||{{zzz{{{{{{|z{{|{|{{z{{zz{{|{|||{{||{{{{{{{||{||}|{{{{|z{{|{|{||{||{{{{|{{||{|{|||zz{{zz{{{|||{||{{{{{||{{|{{{||||zz|{|{z{{{z{{|}|{{{zz{z{{|{{|{{{{{{{{zz{||{{z{{|{z{{zzz|{{{|{{{{zz{z{{zyz{{z{{|{{zzzyzz{{{{zz{{{{|zyz{zz{z{{||{|z{{zz{{zz{{{{{|{z|{z{{zyz{{{z{{{zzyz{z{zzz{{z{{{{z{{zzzz{{{{z|{{zzyzzzyz{zzz{zzzzzyzzyzzz{{{{{zzzzzzyzzzz{{z{{|zzz{z{zzzzz{z{{{z{z{yz{{zz{{zzz{{zzzyzzzzz{zzz{|{{yz{z{yzz{z{{z||zzzz{zzz{z{{{{z{zyzzzyzz||{{z{|{zzyzzzz{{z|{z{z{{zzz{z{zzz{|||{{zz{zzyzz{{{{z{{{z{yzzzz{{|{zz{{|{zzz|{zz{{|{{{{{z{{z{{{{{{{|z||{z{{{z{z{{{{{|{{||{{z{zz{||||||||{z{z{||y{{|{||{}|{{z{|{{{|{|{|{{{z||{{{z|||{}|||zz{{{|z{{{{z{|}{{{z{{{{z{{|||{||{{zz{z{{{}|{{{{||z{{zyz{{{{{{{{{{z{yzz{z{||{||z|{zzzzzzzz{{{{{{{zz{zz{z{{|||{{{{{{zzzz{z{|{{{{{{z{{{zzzzzz|{{{|{{{zyyzz{zy{z{{||zz{z{zzyzz{{{z{z{{zyzzzz{{{{{{{zz{{zzzzzzz{z{{{{{zzzzz{z{{{z{{{{{zzzzzzzz{z{{{|zz{{{zzyzz{zz|{{|{y{z{zzzyzz{z{z{{zy{zzzzz{z{{z{zzz{z{zzz{{{{zz{y{{zzy{z{{{z|z{{{zz{zzzz{z{{{{{|{{{zzzzzz{{{|{{|z{{z{{zzzz|{{{{{z{{zz|zzz{|z{z|{||zy{zz{{{}{{{{{{|z{{{|{|z{{||{{z{{z{{{{z}|z{|{||{{z{{{zz|{||{||||z|z{{{{{|||{|}{{{{z|{{{z||||||{|{{{{||z{|{{|||||z{{z{{|}||{|{{||z{{{{z{||{{{{|}{{{{{{{||{{|{||{z{{z{|zz|{{|{||}|{{z|zz{{{{|{{|{{{{|{zzy{{z{|}{{{{z{zz{z{|{{{{{{z{{zyzz{|{{z||{|{|{z{z{z{{|{{|||{yzzzz{{z{{{z{{{zz{zz{zy{z{{z{||{z{yz{y{z{z{z{{{z{{z{zzz|z{z{{{{zzz{zzzz{zz{z{{{z{zy{{{zz{{{z{{{{zz{zzzy{z{{{{{{z{zzyzz{zzzzzz{|{yzzzyzyz{{zy|{yzyzyz{zzy{z{{{z{zz{zzzzy{|{z{z{{{{zz{z{z{{{z{{{||z{{zzz{{z{|z{|{{z{zzzzz{{|z{{{|z{{{{{zy{|{{{{{{{z{{{{z{{{{zz{{|{z{z{z{z||{{|{z|zzz{|{{z{|||||{|{zz{{zz||{{{||{{z{{{{zzz{|||{||{|z{{|{{|{}{||||||{|{|z{{||{|||||}{{zz||{{|{||{|}|z{|{{{{{|||||||{z{z{zz{{{{||{{{{|z{{{y{}{{{|||}{{z{{{{{|}{{{{||{{{{zz{z|{{{{{|{{|{{zz{z{z{{{{{{{{{z{zzz{|{{zz{|{{zzzz{z{{|{{{{|{yz{y{{z{{{{||{{{{{{zzz{{|{{zz{{{{{z{{{z{z|{{{||zzzzz{z{|{zzz|{{{{{zzyz{{{|{{||{{z{zzzz{zz{{zz{z{yzz{z{zz|{{{{{{{z{zyzzzz{{{{{{{{{{zzyz{z{{{{{zz{zzzzzzz{z{yy{{{zzzzzzzz{|z{|{{|zz{{z{zz{{{z{{{{{zzzzz{{{|{{{{|{zzzzzzzz{z{z{{{|{zz{{zzz{{||{|{|{zzzz{{{z|z{{{{{z{|{{zz{||{|{||{{z{{{{{{{{|{{|{|{{z{|{{{{{{{{|||z{{{{|{{{{{|{|}|{{{{z{{z{{|{{{|{{z{{z{{{|{{|z||||{z{{{|{{{{{|||{|{|z{||{|{|{||{|{{{{{|z{{||||{||{{{{|{{{{|{||||{{z{{z{{{{{z|{|||||{z|{{{|{z|{{||{{z{{|zz{|{|{}|||z{zz{{z{|{z{|{{{{zz{{{{{{|z{{|{zz{{zzzz{{|{{{||{z{{{{yz{z||z||{{zzzzz{{z{{|z{|{zz{{zz{zzz||z{z|zz{{zz{zz{z{{{{{{{zyzzzzz{{zz{{{zzzzzzy{z{zz{|z{{zyzzzzyz{{{z{z{zzzzz{zz|z{z{z{{z{zz{zzzz{{{|z{{zzzzzzyzz{{zz{{{{{yzzzzy{{z{z{{{zz{z{|yy{{z{{{{zyzzzzzyzzz{{{z{z{zzzzz{z{z{z{|{}yz{{yzz{z{{z{||{z{z{zz{zz{{|{}||{zzzzzzz{|{|z{|{{z{zz|{{{{|{{{{{{{z{zzz{{|||{{||zzzz{{z{|{{z{}||zz{{|z{{|||{{||{{z{{{{{z|{||{|{|z{zzz{{{{{{{|||||{z{{z{{{|{{{{}|{z|{zz{{|{{{{||{{z{zz|{{{{{|{{||||{{{z|z||{|||||{{{{z{{{{{{{{{{|{{{{z{zz{{{|z{||{{{{z{{{{{{{{{z{zzzz{{{yz{{{{zz{y{{z{{zz{z{{|{||{{zzz{yz{{{{{{||{z{zzzzy{||{||{{zz{zyzzz{{{{{{{{{zzzzz{zzz{||{z{{yzz{zzz{{|{{y{{{{zzzyzz{z{{|z{{zzyz{zzzz{zz{z{z{zzzzzy{z|{z|{z{{{{{zzzzz{{zzz|{zz{zzyzyzzz{{z{zzzzyzzzzy{zz{{{{{zzz{{{yzz{{z{{zzzz{zz{{{z{z{zz|zz{{zy{zzz|z{|{{{y{zzyzz{||{{{||{y{z{{zz{{|{{{|{zz{zzzz{{|||{||{|{zz{{{y||{z{{|{zz{{{{{zz{{|||}|z{{{{{zz|{{{|||{{z{{zz{{{|{{||{|{z{zz{{z||||||||{{|{{{||{{|{{|||{z{{z|{|{|}||||{{z|{{{{{{|{|{{{|{z{{{zzz{|||||z||{{|{zz{{{|{{{{{{{z{{|{{{|{|{|{{{{{{zzz{{|{{z||{|zzzyz{z{{||{{{{{z{{z{{zz{{{|z{|{{{{{zz{{zz{|{{{zzzz{zz{{{|z{{{|{z{{zzzz{{{{{{{{{zzzzz{z{|{{{z{||{{zzz{zz{y{{{{{{z{zzzz{{{{|zz{z{zzzzzzz{{{{z{{|{zz{zzzy{{{z{{{zzzzzz{zy{z||{{{z{zzzz{y{{{{{{{{zz{zzzy{z{z{{z{{|{zzy{zy{y{{zz{||yy{zz{yyzz{{zz|{|zzyzzzz{{{zz{{{{z{zzyzz{{{{z{z|zz{zzzzz{{|yz{|{{{{z{{z{{|{{{}{{{z{y{{{{{{|z{{|{{{|{{{{z{|{z{|z|{|zz|z{||{{|||||{{{{{{z{{|{|{|{||z{{{{{{{||{{|||{z{|{{zz|{||||{|{|{z|||{|{||||}||{{{z{{{{|||{{|{{z{{z|{{|||{}|||{{{{{{{{z|{z||||{|z{z|{{|||{{|||{z{z{{|zz{{||{|z{{{z{{{zz||{{{|||z{{z{zz{{{{{|{|{zzzzz{z{{|zy{{{zzzyyzzz{{z|z{|{{zzyz{{z|zz{|{{zz{zz{z{{z{{{zz{|z{zzzzzy{z{{z{{{z{{yzz{y{{|{z{{{{z{zzyyzz{{z{z{z{zzzzzzzyzzz{{|{zzzzzz{{zzz{zzz{z{yyyyyyzz{{{{{{z{{zzzzzz{|{|{{{zyzzyzzyy{zz{{zz|zzyy{zyz{{z{z{{zyyyzzzyzz{|zz{z{{{z{yzzz{{{zz{{{zzzzy{z{{{z{zz{yz{zzzzzzz{{{z{{zz{z{zz{{{{|z|{z{zzzz{zy{{||z{{{{zzz{y{{||{z{{|{{zz{{{{z{{||{|{{{{yz{z|{{{z{z{|{{{zzzzz{|{{{}{{|{z{{|zzz{{|{||{|{{|zzz|z{{{{{||{{{{{zz{z{{{{|||||{{{zz{{}{|{|||{|zz{|{z{{z{|{z|||z{{{z{z|{{|{{{{|z{z{{zz{{z{|z{{{{zzz{{zz{{{|||{zz{zzz{{{z|{|{{{zz{zzyzzzz{{z{|{zzzzzyzz{{z{z{{{z{{z{zzz{z{{z{|{{y{zyz{z{{{z{z{|{{{zzz{z{z{{{{z|zz{zzzzz{{{zz{zz{zz{yzzzz{{zz|{{{{{zy{zzzzz{z{{zz{zzyy{zz{z{{zzz{zzzzzy{zz{{{{y{{zyzyzzyz{{z|{{{z{z{{zzz{z{zzz{{zzzyyz{zzzz{{{z{zzzzzz{zzz{{{{{{{yz{z{{zzz|{{{{{y{{zzz{zzz{|z{{{zzy{zzz{z{|{{z||{{zz{z{y{{|{|{{{zz{z{zzz{{z|zz|{{zz{yzz{{{|z{{{|{{{{z{zz{{|{|{{{zz{z{z{{{{|{|{||{zzzzzz{|{|z|{|{zzz{{{z{|||{{{||{zz{|{|{{||{{|{{|{{{{|{{{|||{||||{{{zz{||{|{{{|||{z{{{{{|{|{||{{{{{{{|z{{{z}{{||{{zzz{{{{{{{{||{|{{zz{z|{|{{{||{{{{zz{{{{{{{||{{zzz{zz{yzz|z{{{zzzz{{zz{z{z{z{{|{{zzzz{z{zz{{||{{zzzzzzz{z|{zz{{|z{yzzz{z{{||{{|{{z{zzzz{{{|z|zz{zy{zzzz{z{zz|{z{zzzyzzyzz{{y{z{zz{z{z{zzz{{z{{|zzzzzzzz{zzzz{{{zz{{zzzzy{z{{{{|{z{zzyzzz{{{zz{{{yzzy{zyz{{{z{z|zz{z{y{z{z{z{z|{{zzz{yzz{{z{{{{{{{zz{{z{z{{|{{{{z{{yz{yz{|{{{|{{||z{zzzz{||{|||{zzz{zzyz{|zz{{|{{z{{{{zz|{{{{{zz{z{|{{{{{{{~{|{|z{zz{z|{|{{}{||{{{{z{{zz|||{|{{{{{z{{{{z{|{{{||{{{|{z{{{{{{||||||zz{|{{{{||||{|{|{{{{{{{|{||{|{{{zzy{{z{}|{{|}||{z{z{{{|{{|{{|||{zzyz{{{{{z|{|||{{{{z{|{z||||{|{{zzzzzz{|{|{{{|{{{{z|z{z{{{{{{{}z{z{zzz{z|{{{}{|{z{zz{{yz{{|{|{{zzyzz{y{z{{{z{z|{z|z{{{z{{{|{{|{{zzzy{zz{{{{{{|{{zzzzzyz|{{{{{{{{zzzz{yz{{{{z{{{{{zzz{zy{z{z{{|z{zzzyzzzz{{{}{|{zyzyz{zzz{z{|{zz{{zz{zyzzz{{z{{{zzzzzzzz{{{{y{|{zy{zyzzzz{{zz{{{|zzzzz{z{{z{{{{|{{{zzz{z{{z{{{{|{z{zyyz{|{{{{{{|{{z{zz{{{{{{{{{|{z{{{|zzz||||{|{{yz{|{{z|{|{{|{{{{z||z{{}|||||||z|{{{{||{|{|{||{z{{{{z{z|||}|||||{{{{{z{||{|{||{|||{{{{{{|{{||{|{{|{{|{{|}{{||||||{{z{{||{||{|||{|z{{{{{z|{||{|||{{{{{||{||{||z{{{{{{zz{|{{{|{}{{|{z{{{{|{{||||{{{zz{z{{|{|||{{|zzz{{{zzz|}|z{{{z{zzzzzzz{{{{||}{{{yz{{{{{z{{{|{{{{{zzz{{{{{z{{|{{{z{z{{{{{{{{z{zzzy{z|{{||{{{|{{z{{zzz{{{{{z{|{zyyzzzzz{{z{z|{{{z{|zzzz{{{{z{{{{{{yzzzz{{{|||z{z{zzyyzy{{z{z||z{{{z{zzz{{{zz{{zzzzzzzzz{{{{z{{|{z{|zzzz{{{{{{{{{zzzz{{{z{|z{|{|{z{{{{{|{z{{{{|{zzzzzz{z{|{|{||{{|z{{z{z{|z{|||{zz{zz{z{z}{|z||{{z{z{{{{{{{{z}||z||{{zz{{|{||||{z{{{{{{{||{||{||{{{z{z{{|{|{|{|{z{|z{{z{|}{{||||{{{{||{|{|{{{|||}{{{{{{{{|||||{|{{{{|{{|||||{{{||{{z{{{{{{{{|||}{{{{{{{{{{|{}{|||{{z{{{z{{|{{||{{{zz{z{{{||||z{|{{zz{z{{||{}|{{{{{y{zz{z{{{{{|{|z{{{yzzz{{|{{{{{{{{zz{{{|z{{|z||zzzzz{zy{{{{z{|}{{{{z{zzz{|{{|{|{{zz{y{z{{{zzz{y{{zzz{yzz{{{{{|zzzzzzzz{{z{{{|z{zz{zzzzz{z{{{{z|{yzzyzy{zzzz{{z{zzzzz{yyzz{{{|{{{zzzzz{y{{zzz{{{{yzzyzzzzzz{{{{|{yzz{{z{zzz{z{{{{zzzzz{{{{{z{{{{{z{{zzzz{{{|{||{zz{{{{{{{|{{{|||z|{{{zzz{{{|z|{||{{{{zz|||{{{|||zzzz{{{|{{{z{|{{{z{|{{zz{{{||||{{{||{{|{|{|{{||}|z{||z{{{||{{|{{{|z{{zz{||{||||{{{{{{{{{z||{|{||{{z{z}|{{||||||{}{|||{{{|||{{{|{{{{{z{z{{||{|{|}{{{{z{{{{|z|||{{{{|z{z{{{|z{z|{|{{z|{z{{{|}{{|||z{{{{{{{{|||||{|zz{{z{{{{{{{{{{{{{z{zz{z|{|{|||{{{{yz{yz{{{|z{{{zzy{zz{z{{{|z{{|{{{z{zzz{{{|||z|{zzz{z{z{{{z{|{{{z{zzzzz{{|{|{z{|{zzzzz{zz{{z{{|zz|{{{zzzz{{{z{z{z{zy{yzz{{z{z|{zzzzzzzz{{|{{z{z{{zzyy{zzzzz{{|z{zzy{zzzz{{{{{{{zzzzzzz{z{||{|{{z{{yz{{z{zz|{{{{{z{zz{zz{{{{z{|{zz{{{z{{{|||{||{|{z{{z{zzz|{{{|{{{|{zzzz|{|{zz|{{{{{||z{|z|{{|{|{|z{z{{|{|{{|{|{z{{{{||z|{|||}||{{{{z{{z}{|||||{{z{z{{{{{{}{||{|||{{z|{{}|{|||}{|{{{z{{z{|{|{}||}{zz{{{{||{||||{|{z|{{{z||||||||||{{|{z{|}{||||{{{{z{zz{{{{{|||||zzz{y{zz{||{{{{zz|{{{{{|||}|{zz{zzz{zyzz{{z{z|{z|yzzzz{{z|z{{{{{zzzzz{z{{{y}z|zzzz{z{yz{{{{zz{{{{{zyzzy{z{{z{{z{z{zzzyzz{zy{z{||zzzzy{z{y{{z{|z|zzzzzzzz{zzz{{{zzyyzzyyzzz{{{zzz{zyzzzzzz{zz{zzzyzyzzz{zz{{z{{|{yz{yzzzyzz{zzzz{yzyzzzzz{z{{zz{{z{z{z{z{{{z{{|{zzzz{zzz{{{{|{{|zz{z{z{z{zz|zz{zz{zzzy{z{|{{z{{|{z{z{z{zz{{|{z||zzzy{zzz{z{{z{|{zzzzzzz{{|{{{{{{{{{{{zz{{{|||{z|z{{z{{{{{|{{|{{|{zz{{zzz|{{{|{|{{{z{{||z|{{{{{{{{zzzz{z{{{{{{{{||{z{{{zz|}{{{{{{||z|{{|{{{{|{{|{z{{z{{{z||{|{|||{{|z{zz{{z{|{{{|z|{{zz{z{|{{{{|{zz{zzz{{{|z||{|{z{{z{z{|||||||{|{{{yzzz{z{zz{zzzzzzzzzzz{|||{|||{z{zzzzz|z{{{{{{|z|zzzyz{{{|z|{|{|{{zz{zz{{z{{z{{z{zzzz{z|z{{|z{{{{zzzzz{z{z{{{z{zzzzzzzzzz{{{{zzz{zzzzzz{{{{z{zzzzzzzyz{z{{{{{{y{{zzzzzy{zzz{|{{zz{{zyyyz{zz{{{{yyzzyzzz{zzzz{|zz{zy{zy{|{{z|{{{zzx{zzz{||{{{{{zzzzzy{z{z{{{{{{{zzzz{z{{z{{z{{||z{{{zzy{{{{|{{{{{{{zz{{{{{|{|{{{{zzzzz{{||{{|{|||z{{{zz{{{{z{}{z|{{y{{{|{z|{|{|{{{{{{z{{{{{{{{|{z{z{{{||||{{|||{{{z{{{|{||{{||{|{zz{{{|{{||{|{||{{{{{z{|{|{|{{||{{z{{{{||{|||{{|{{z{z{{{z{{{{||z{zzzz|{z{|{{z{{z{z{{zzz{||{{|{|zz{{z{z{z}}{}|||zz{{{zzz{z||{{z|z{yz{zyzzz{zz{||{zzzz{{z{{zz{{{{{z{zz{zzz{z{{{|{zz{yyzzzz{{z{z{{{z{{{{zzz{zz{{{{yz{z{|yz{|{zz{{z{yzyz{y{{z{{{{{{zzy{zzzyz{{{z{{{z{y{yzzyzz{z{{z{{{{zyyzzyzzz{zz|zzzyzyzxz{z{{z{{zyyzyzzyz{yzz{{z{{zz{yyz{y{z{{{{zyzzzzzz{{|{{{z{{z{{zz{y|{{|{{{{z{zzzz{z{{|{{{{|{zz{zz{z{{{{{{{{zz{yz{z{z{}|{{{{{{z{{z{z{{|{{{{{{z{z{zz{|{|{||||{zzzz{}{{{{{z{||{{{{z{z{|||||{|{{{{{zz{{|}|{|}||{|{zz{{|z{||||||}{{{{{zz{|{|{||||{{{z{{{{{|{{|||{{{{{{{z{{|{{|{{{{{{|z{|{|}|{{z{{|z{z{{z{{{|{||{z|{{{{{{{{{{{|{}zzzz{{{{{||||{{{z{{zz{{zz|{{{{|{{{yz{zzz{{{zz|{|z{zyzzz{{z{{{{{{{{{{yzzz{{{{z|{{{z{zyzz{{{z{z{{{{{zzyz{y{{{|{{z{z{{zzzzz{z{{z{{yzzzzzz{z{zzzz{{{zzzzzzyyz{zzz{{{{zz{zzzz{yzz|{{zz{zzzzzzz{{{{{z{zzzzzz{z{{zz{zzyzzyyzzyzz{{zz{{zzzzyzzzy{{{y{{{{{zz{zzzz{{{z{{|{z{zz{z{{zzz{{|{|{z{{yz{{{z|z{|{{{z{{{zzz{{{{z|zz{{zzzz{zz|{{{||{z{{{z{{{{{|z{{||z{{z{zy{{{{|{|{|z{||{{zz{{{{{{{||{{z{z{z{|||||{{|{{{|{|z{|{{{}|||{zz{{}{z{{|{{{{|{z{{{{{||{|{{}|{{{{{{zz}|{z{|||{z{zz{{z{{|{|{{{{{z{{{{{||{|||{{{|zz{|z{{{{||{|{{{{{{zzzz|z{{{|{{{{zz{{y{||}}{||{{{{{z{zz{{z{{{zz{zzzzyzy{{{|{z|z{z{zzzzzz{z{{{z{{yzzzz{z{{|zz|zzz{zzzzzz{|{z{{||{{yzzzzzz{{{{{zzzz{zy{zz{{zz{{zzzz{zzzyzz{{z{{{zyz{z{zzz{{z{{{{{{{{zz{{z{z{|{{{yzzzzyzyz{{|{{{|yz{zzzzyzz{zz{z{{{{zzzyzz{zzz{zzyyz{zzzy{{{{{|{{{zzzzyzz{|z{z{z|{y{{zzyz{{z|{|{{zzzzzzzz{{{{{{{|{{z{zz{z{|||{||{{{z|{{{zz|{{{{{{{{zz{zyzz|{{{{{{|z{z{z{|{{{{{|||{{{{zz|{|{{{{|||z{{|{z|z{{|}{{|{|z{{z{z{{|{{|{|{{z{z||z{{|{{{{{{|{{|{{|{|||{{||||{{{{yz{||{||{|{{{{{{{{{|||{|||z{zz|{{z{{|||{|||z{z{{{{{{{{|{{{|{{z|{{{z{|{||{{|{{{z{z{{}}|}}|{{z{zz{{{y{{z{z{{{zz{zz{zy|z{z|{||zzzzzyzz{z{z{{z{{y{zyz{yz{z{{z}{{{{zzy{y{{{|{{{|z{zzz{{zzzy{{{{{|zz|z{{zz{{zz{|{yzzyyzzz{{z{{{z{z{zzz{zzzz{{{{|zzyyyyyz{z{|zz{{{zzzzyzy{z|z{{{|{zyzzzyzzz{zzz{zyzy{zz{zzzzzzz{{{zy{yyzzz{z{{z{{{{zzz{yzz{{{z{{{|z{{zzzzzz||{|{{|zzyzyz{z{{{{z|z{{y{{zzyy{{{{{|zzzzzz{zzz{|{{{z{yz{{{z{zz{{z{{{{z{z{{{z{z{{|{{{|{z{zz|{{{z{{{{{{{{z{z{{z{{|{{|{||{{zz{z{{|||{{{}|{{{{zz|{|{|{||||||z{{{z{{}|{|{{|{{{{{{{{{{{{{{{{|{zzz{z{{{{{{{{{|{zz{zzz{{{{{||{{{z{z{z{{}{{{{{||{zy{zzzz|{{{z|{{{{{{y{{||}}}|z|zzzzzz{zz|{{{z{{z{{z{zzzzz{{{{{{{zzyyzzzz|zz|{{z{{zzzz{zz{{{zy||{{{zzz{z{z{{{{{{z{{zy{zz{z{zz{|{|z{yzzzz{{zz{{{zzz{z{{zz{zz|{{z{zyzyyzzyz{y{z{|{{yzyzzyz{|{{|{{{{z{zzzzz|{{{{{{{z{zzzzyzz{{{{z{{zzzzzz{{zzyzz{{zzzzzzzyz{{{zz{{{{zzz{zzy{{|{{{{zyz{zzzzz{{zz{{{{yzzz{{zz{|{{z{|{{{z{zzz{{{{{|{{{{y{zzzzy{{|{z{{{{{z{z{z{{{{{|{{{{{{{{{{zz{{||{|{z{{{z{z{{|{{{{}||zz|z{zz{|{{||{{||{{|{zz|{|z||}|{|z|{{|{|||{|||||{{{{|zz{||||{|{{{{|{{{{{{|||||{|z{{{{{|||{{{{|{{{{{{{{|z{||{{||{{{z{zz|{|{{{{{|{{z{{zzz|{z|{{{|{{{{{{}{{{||~|{{{{zzz{{{z{{{{||{z{zy{{z{|{{{z{{|zz{zzzzy{z{||{{||z{z{zy{z{z{{{{{|{{z{zzz{{|{{{|{zzzzzzzzz{{z{{{{zz{{{zzz{{|z{||z{zzyzzyzzzz{z{{{yzzyzy{{{{{{|{{yzzzzzzz{|z{y{{{|z{yzzz{y{z{{z{{{z{{zy{zzz{z{z{{zzyy{zzz{z{{zz{{{zzzz{zzzz{z|{{|z{yzzzzzz{{|{{{{|{z{zzzyz{{{{z|||zzzzz{{{{{{{{{|{{z{{yzz{{|z{{{|||zzy{zzz|}{{{{||z{{{zz{zz{{|{{|{{{{{{{zz{||{|{||{{|{{z{z{|{|{||||{{{zz|{{{{{{{|{{{{}|z{{||{z{{|||{{{{{{|z|{||||||{{z{{{|{|{|||||{{{{{z{{{|{|{|||{{{z{z{{|{{||||||{z{|zz}z|{{{{|||{z{{z{{{{|{{||}{{{{z{|{{{{||{{{{{|{z{z{||||}{{{{{zz{{z{z{|z{{{|zzz{zyzzz{{{{{z{{z{z{{{yz|{{z{{{|zz{zzzzz{|{{{{|{{{zzzzy{{{|zz{|{zzzz{zz{{||{{{y|{{{zzyzz{{zz|{{{z{zzzzz{{{{{{|{zzy{zyyz{{z{{||zz{{zzzzz{z|{{|{|{zzzyzzz{z{z{|{{|yz{yzyzyzzzz{{{zyzzzzyz{{{{z{z{yyyzzzzz{{{z{{{{zzzzzzz{{{zz{{{zzzzyzzzz{{{{{||{z{{zz{|zz{{{{{|{{{{zzyzzz{{|{|{{{{zzz{yzz||{{{|z{{{z{zzz{{{{{{{|{{{zz{z{{||{|{{zz{|{{{z{{|{{||||{{{|{zy{{{|z|||z{{{z{z{|{|||||||zz{z|{|z{|{|{}{|{z{{zz{z{|{||||{|{{|{{{z{||{|||{||{{{{{{{{|{{|{||{{{{zz{{{{{||{|{{zzz{zz{{{{{{}|{z{{{{zz{{{|{{{{{{zz|{{z|{}||{|{{{zzzzzzz{{{zz|{zz{zzz{z{{{zz{|{|{zzz{{y{{{z{|}{z{|z{zzyzz{|y{{|{{zz{zzz{{{{z{||z{zzz{{z{{{z{z{{{zzzzzzzz{{z{{|{{zzzy{yz{{{z{|{{{{yzzz{zz{{{{|{|zz|{z{yyz{{{z{{{zzz|zyzzz{|z{{z|{y|zzzzyzzz{yzz{zzzy{{zzz{zz{{{zyzzzz|{z{{{{{{{|{zzzz{zzzzz{z{|{zzz{zzz{{{z{{zz{{{{y{z{{{||{{z{{|zz{{zzz|{|{|{|{|z{z{{z{{{{|{{||{{z|{{{z{|||{{{{{{|{|z{{{|||||{|z{|{{z{{|{{|{{{|{{{{{zz{{||}}||{|{z{{{{{|||||{|{{{{{zz{||{||{{{{|{{{{||{z|||{{|{|{{{z{{{{{||{|{{|{{{{zz{|{|{|{}||{z{{zz{{||{{|||{|{zz{{{||z|{|{|{{{{{{{{{{|{{{{{{|{{|{{z||{||z|{{yz{{z{y{{{z|{{{{{{z{y{zzz{{|||{{{zzyzz{{yz{{{|{{{{{z{{{{{{{z{{z{{{zyz|y|{{|{{{|zzzyzzzz{{|z{{|{{zz{zzz{{{{zz{{|zzz{zzzzz{zzz{zzyzzzzyyzzz{{z{z{z{z{yyzzzz{{{z|{zzzzzz{{{z{{|{|{{z{z{z{zzzzz{z{{zzyz{zzzz{z{z{{zzz{z{zz{zzz{{{z|{{zz{zz{z|{z{z{|{zyzzzzyz{{z{|z|zz{zzzz{|{{{{{|{z{z{{z{{z{{|{||{{{|z|{{{{z|{{{|{{{zzzzz{{||{{{||{{{{{z{z{|||{{|{|z{{{{|{{{|||{{|{{{{z{{z|{{||{{{|z{{{{zz{||z{{|{{{{{{|||{{{{{{|||z}{{{zz{|||}{||{{{{{{{z||||{{||{{{|zz{{|{{{|{|{{{zz{{{{||{|{||{zzz{zz{{{|{{z{{{{zz{zz{zz|{|{{|{zz{{zz{{||}||{{{{zzyzzzzz{{z{{{zz{yzyzyy{{|{{|{{zzz{zz{z{zz{|{{{zzzy{{z{{{{{zzz|{{zz{zzz|{zz{{|{{z{{z{zzz{zz{|{z{zzz{yyzzzzz{zz{{zzzyzzzzzy{z{z{{{zzzyz{z{zzz{zz{z{zyzzzz{{zzz{{yzzyyzzzzz{z{z{{zzyzzy{zz{zzz{zz{zzzzzzzz{zzz{{zzz{z{{zzz{z{{z{{yzyzzzzzz{zz{{{{{zzyzzzzz{{{z||zz{{{zy{z{z{z{{{{zzzzzyzz{{{z{{|{zz{zzzzy{{{{zz||{{zz{z|{{{z{{{{{zzz{yz{{z{{|{||zz{z{{{{z|{z{{|||{{{||{zz{||{|||{|{z||zz{{}{{{|{|{{zzz{{z{{|{|{|{{z}{{z|z{{||||{{{z{{{{{z{z{|{|{||{{z{zz{|{{z{{{|{{{z{|z{}{{||{{|z{{{z{{zz{{|{{{{|{{{{zzzz{|{{{|z{z{zzz{{|{|z|{{z|{zz{{zzz{|{{{z{zzzz{zyz{z{z{{{{zz{zzzzzzz{z{{|{{yz{zyzzz{{z{{z{{zzzyz{yz{{z{|z{zzzyzz{yzzz{z{{zzzzyzzyz{{{yz{zzz{zyzzzyzz{zzz{{yzzyzyzzzzzz{zz{zzyzzzzxz{{z{zz{z{zzzzyzzzz{{{{{{zzzzy{yy{{zz{z{zzzy{zzy{{z{z{y{zzy{zzzzz{{{zz{{{zzy{yzxz{{zz{z{{{z{zzzzzz{{z{||{{zzzzzz{{|{{{{{zz{{{{z{z{|z{|{{z{|{z{zz{{{z{||{zzzzz{{{{{{{{{|{{{zz{{zz{|{||{{z{zz{{{|z||z{||{|{{z{{z{z{{{{|{{{{z{{{z{z{|{|{{{|{zz{{{{{{{z{{|||{z|z{{{{{|z{|{}{{||{z{{z|{||z|||z{z{|zz{z{|{{{{{{{{{z{zz{||z{{{|{{z{yzzz{{{|z|{{z{zzz{zzz||{{y|{{y{z{zzz{{|{{{{{z{zzzzyyzz|{z{z{{zzzzzzz{z|{z{z|{zzyzyyz{{{{zy|z{yzzzzyy{zz{zz{{{{{yzz{z{{{z|z{{{z{yzzzzz{zzzz{{y{zzzzzz{{{{{z{{zzyzyzzzzzzz{{{{zzyzy{yz{zz{z{{z{zzzzzyzzz{zz{{zy{zyzzzy{z{zz{|zzzzz{yyzyzzyz{{|zyzyzyyzzzzzz{{{zzzyzzz{y{y{zz{{z{yyzyzz{z{z{{{|zzzy{y{z{z{{{|{{zzzzzzz{{{{|{{{{z{zyzzzzz{{{|{{{zzzzzzzz{{{{{||zzzzz{zyzz{|z{{|{{{{{{yy{{z{||{{{zz{zz|{{{{z{z{{{{z{{zz{{{|{{{{{{|{y{|{{{{|z{|{||{|{{zzz{{|{{|{|||z|z{{{{|{{{{{||{{{{{z{{{{{||||{{z{{z{{{{{{{|{|{{z{z{zz{||{|{||{{{z{zz{{{{{{{||||{{{zz{{{{zzzz{{z{zz{y{{{|||{{z{{yzzzzzzz{{|zz{{zzzz{yzzzzzz{z|{zzzy{zzz{{{z|z{z{zzyzzyyz{{{z{{{{{zzzzyz{z{{z{{{{z{z{z{zy{zzz{z{{z{zzzz{z{{zz{z{zzzzyzzzz{zzzzz|yyzzzzzx{{zz{{{zzzzzzzyz{z{{{{{{{zzyyzzz{{{zz{{zzzzyyzzzz{{zzzz{zzyyzyz{xyzz{{{yzyzzz{zz{zzzz|{{zyzzzzz{z{z{z|{|{z{yzz{z{z{||{|zzz{y|zzz{{z{{{{{z{{z{zz{{{zz{|{z{zzzz{zz{z|{zz{z{zz{{{zzz{{{{{{{z{{{z{{z{z{|}z{{z{{{z{{z{|{{{|||{zzzz{yz{{{|z||{{{{{z{zz{||{|{{|{{|{{|{|{|{{{|||{{{{zz{{|}|{|z{{{{{{{{{z|{{|||||{{z{z{{||{{{{{||{{z|zzz{{{{|{{{{z{zz{{{{{{{{|{{|z{zz{{z{|{|{{||{z{zyzzzzz{{|{|||{zz{{{{z|{|{{|{||{zz|{zz||{z|{{|{{zzyz{{|{|z{|{{{{zzz{{z{|{|{{||zz{{zz|{{{|z{||{{{z{{{zz{{|{z{{z{{{{{{z{{{|z||{{zz{zz{{{{{{{{||{zz{z{zzy{|{|{z{|{zzz{{zz|||z|z{|{zz{zzzz{{{|{z|{{y|{zz{zz}z|zz||zz{z{zzzz{z{|||z{{{{{zzz||{{{||{{{{zzz{{{z{|{{|{{z{z{|{{{|||{|||z{z{{{{{{{|{|{{|{z{{{{|{{|{||{||{z{{{z{{|{||{||||zz{{zz{||||z||{{{{|{{|{{{|{{|{|{||{|{|{|{z|{||}{{{{{{{z{|||||{|}z{|||{{|}}||{||||||{{||||}|}{|||{{{|}{|{}{||{}||{||{||{|{|}|||||{{|{|{|{|{||||||{||{{{|||}{|}||{{{{{{{{{|{|{||||{zzz{|{{{{|{|||{{{{zz{{{{{||{{{{{{{|z{{z|{{{{||{{z{{z{{z|{{{{||{{|z|{{{{{|{|{|{|{{{z{zz{{{|{{||{|z{z{zz|{{{{{{|z{{z{zz{||{z{{{{|z{{z{zz{z{z{z|{{{zzz{yz|{{|{||{z{zz{z{{{{{}{{{{{{{{{yzyz{{{|{{{z{z{{zz|{|{|z{{z|zzzz{{{{{|z||{{{z{{{{zz{||{{|z|{z{{{{{z{{|z|||{zzzz{{{z|{{{{|{|{{z{zz{z{{||{{}|zzz|{{{{|zz{{||{{{{z{z|z{{|||{{|{{|{yzzz{|{||{||{{{z|zz{{{|{{}{{|z{z|{zz|{||{}{{{{{{{{|{{|z|{}||{{{{{{{{||||||||{{|{{{{{|}||||||{z|{|||}||||{}}}|{{{{{{{|}|}||}||{||{{{|||||||}}|{{{{{{{{|||}|}|{|{{{|{{|{||||{}||{{{{{{||||||}|{z{{{{|{{}{|{{||z{{{{{{z}|||{{{{{{z{zz{z||{{{{|{{zzz{zz{{{|||{|{{{{{z|{z{{|||{{||||{z{{z|{{{{{{|{|zz{{{z{{{{{{|{{z{zyz{{{{z{{||{z{{z{|{z{|}{|}{{{{zz{zz{z{zz{|{|z{{{{zz{{{z{{{{{{zz{{z{{{|{{{{{zz{z{z|z{z|||z{|{{z{zz{z{z{{{z|{||{zzzz{{{{{{{{{z{{{{{zzz{|{{|{|||{zzzz{z||}|{||{{{{zzz|{|{{||{||{{{{|z{{|{|{{||||{z{z{|z|||z{{{|{{{{{|z{{}||{{|{{{{{z{z{|{|{{}|{|{{{{|{||||{}|{|{|{{{{|{|}||||{|||{|{{{z||{{|{||{{{{{{|{}||}}{|}{{{{|}||{|{|||}||{{{|{{{{}|{||||{{{|||z{||}{|}|||{{{|{|{||{||||{}{{{{{{|{|||}}}{{{|{{{{z{|{{|{}|{{|{{|{{||||||||{|{{{{{{z|||||{{|{{{z{zz|{{|{{{|{{{{z{{{{{{|z{{}{{zzz{|z{{|z|||{{{|{{{zz{|}{{|{|{{{{z{{z|||{{|{|{{z{{{{y{|{|{{||{{{{{z{z|||z{||{zzzz{{y{{{{{{||{{z{z{zzzz||z{|{{{z{zzz{{z{|{|{z{{{|zzzz{zz{{{{|{{zz{{z|zz{{{{{|{|z{{{{zzz{{{{||{{y{{{{zzz{{{{{|{{{{zzz{z{|||{|{|{z{{{z{|{{{|{{{|{z{{z{|{|{|{{||||{|z{z|{{}|z||{{|{z{|zz{{|||{||{{zz{{{z{|||{}{{||{z{|{{|||||}||{{|{{{{{z{|{||}}||{{|{|zz{||{|}|||{{||{{{|{|}|||}|||{{{|||||}|{|}|{||{|||{}||||||||{{||{{|{|}|||||{{{||{{{~|{|||}||{{{z{|{{|}||{{{{|z{|{{{|||{{}{|{zzz|{{{||}||{{{{{z{z{{||||{z|{|z{zzz{z{{{z|{|{z{zz|zzzz{{|||{|{z{z|{{{{{|{|{|{|zzzzz{z{{{z{{|{{{{zzz{z{|{{z|{||{z{z{{zz{{{{|{{zz{{{{zz{{{{z|{{z{zz{zzz{z{z{z{{z{{zz{yzz{{{{{{{zzz{{{z{{{{{{|{|{{{zz{zzz{{|{z{{zz{zzzzyz{{z||{zz{z{z{zz{{{{|{{|{zzzzzzzz{{{|}|{{{z{{{|z{|{{{||{y{zz{{|z{{{{{{||z{zz{zz{{{{|{z|||{{{{{{{{{{|{{|{{{{{|{z{{{{|{|||{{{{z{zz||{{{{|{|z{{{{z{||||}|||||z{{{||{||}||{}{{{{zz{{|||}}||||{{{{{{{|||{|{}{|{{z|{|{{||||||||z{|{|{{||}{}||}|z{{||z{|{}|{|{|{{{{{{{{z|{{|}|||{{{}{{{|{{||{||{{{{z||{||||||||{{{{z{z{{||{{{|{{{{{z{z{|{|{||{|{zz{{z{zz{|{|||{{{{zz{{z{{{{{{{{{zz{{{z{|{{|{{|{{{{{z{z{z{{{{{{{{zz{zzz{{{{{{{{||{{zz{{{{{|y{||{{{{|{z{{z{{{{{{z{z{zzzz{{|z{{{{{zzzz{zzz{{{{{{|{z{|{yzz{{{{z|{|{{{zzzzzyz{|z{{|{{zz{|yzz{z{{{|{{{z{{zzzyz{{{z||{{{{z{zyz{{{{{||||{{{{yzz|{{|{{z|{{{{{{zz{{|{{|{||{|{{{{{{{|{{{|{{{{{{{{{{{{||{{{{z{{{zz{|||{{{|{{{{|{|z{{{{{{||{z{|z{z{{{{|}|}||{{{z{{|{|{|||||}z{{|{zzz{||}||}||{{{{{|z|{|{||||{{|||{|{z||||||{{{z|{{|{{|||{|}|{{|{|{{||||||{|||z{{{{{|{}|||||}|{{z|z{{||{{||{|{{{z{z{|||{|||{{{{{z{{{{{|{||||{{||{{{|{{||{||{{zzzzz{{|z{|{{{{|z{zz{z{{{|{{{||{{{zz{{z{{{{{|{|{|{{{{{zz{{{{{{{{{{{{z|{{{{{|{{{|z{z{{z{z{z{z{|{{{{zzz{zzz{|{z{|{{zzzzzz{zz{{{{{{z{zz{zzzy{{{{{|zzzz{zzzz|{|{{{{}{{{zyzzz{{{{{z||{{zz{zzzz{z{{{{{{z{{zz{{y{z{{|{{z{zz{{z{{z{{{}{{{zz{zyzz{{|{z{{}{{z{{{{{|{|{|{{{{{{z{z{{{{|{{{{{{{{z{{z{{|{||{|||{{{z{z||{{{{|||{{z{z{z{||||{|||{|{{{{zz{||}|}|||{{{z{{{{{|||||}{{{|{z|{{|{|||||{{{||{{{|{}{|||}{{|{{|{{{||||}{}}|{|{{{{||{}{|{}||{{{{{{{}|}||||{{{{{{{{{{{|||}{||||||{|||{|{|}|{{|{z{z{{||{|{||{{{z{zz|{{}|z{{{{{{z{{z{{{{}|{|{{{{{{{{zz{|{{{||zz{z{z{{z{|{{{{|z{{zzz{{{|{{|{|{{|{{zyz{{{{{|{{||zz{{{|zz{{|{{{{zzzz{{{{z|{{{}|{z|{{zz{{|||{{{{{{z{{zzy{|z{{z||{{{zz{zzzz{|{{{{|{zzzzzzz{{{{}{||{zz{zzzz{{{{{{||{z{z|z{z{{{{{{{|zz{zz{zzz{{{||{{y{zzzz{zz{{{{{|{{{{{{z{z{{|{||{{{{{{zz{{{{|z}|z|{{{{{{{{z|{|||{|z{||y{||z|z||{||{{{{{{zz{|{{{z|{{zz{{z{|{{{{|}|{{{{z|{{{|{|||}||{z{{z|||||||{}||{{z{}{|z||}|{{}||{{||{{|}|{{||||{{{{{|{{|||{|{}}|{{{{|{{{{|||||||{|{{{|{|{}|}|||{{z{{{|{{{|}|{|||||||{{{|||{||||{{{z{{{{|||||||||{{|{{{|{{||{||||{{{{zzz}|||{{{{{z{z{{{|{||{|{|||{z{{z{{||{{{|||{{{|z{{z{|||{{|{}z{{{{{||{||{||||{{zzzzz|{{z{||||{{{|{{zz{{{{|{|zz{zzzzz{{||{|z{{{z{z{{{{{{|z|||zz{{{{{{{{{{|{|{z{{zyzzz{|{{|{||{{|z{zz{{|||{|||{{{{{{{z{{{{{z{{{{{{{|zz||{z||{{|z{{{{{z{|{z||||{{|{{z{{|{|{}||||{{{|z{{{|{|{|}}{{{{{{{{|||{z{{||{|{{{{{|{|||||{{{{{{{z{{|||{||||{{{|{{{|||{||}||{{{{|}{|||||||||{{{{{|{||{|||{}{{||{|z{|}|}|{}||{z||z|||||z|}||{|{|{|{{|||||}|}}|||{|{|||||}|}||{{}|{{|{{|{|||}|{||{||}|||{|}|{}|{{{{|||{|}||}}|{{|{{{{{}}|||}|||{{{{|{{|{|{||||{{z{{{{{|~}{|z|{{z{{|zy{|{{z{{{{{{{{z{{{{z{{|{{|z{{{{{{{{||{||{{z{{z{z{{{{{{z|{|{{z{{zz{{||{|z|{{{{z{{{{{{|{{}{{{{{{yzzz{{{{{{{{{z{z{zz{{{{{{{{zz{{z{{{{{{{{{z{{{z{{{yz{{|z|||{{z|{zzzz{{{{{|{{{z{z{z{{{{zz{|||z{{zzz{z{{{{z|{{z{{{{{{y{z|{{{||{{{{{z{z{{|{{}{||z{zz{|{{{{{{|||{{|{{{{z{|}|{|{||{z{{{|{{{}}||{{|{{|}{{{{|||||}{z{{{{{{|{||{{|{|{{{z{{z{{{{|||||{|{{|z||{|{}|||}{{{|{{|{|||}||||{z|{|z{{|||||{{}{{|{|||{{||||}{}{||{{{||{~|}|}|}|{||z{|||{||{||}|{{|{{{|{|||}||}|{{||{||{|}|{||||z{z{{|z|||{||||}{z{{zz{||{||||||{{zz{{|{|{{{|||zzzzzz{yz{|{|{{{{{zz{{zz{z{{||{{zz{zzzzz{{{{|{{{{{{|z{{zz{||{{{{{z{yzz{z{{{{|{{|{{{{z{{z{{{{||{{{zz{{{zz{{{|z{{{zyzyzzz{{{{z{{|{{z{{z{zzz{{{{{{{zzzzzzy{{{{z|z{|zz{{{zzzzz{{{|{|z{{z{z{yz{zzz{{{{zzzzz{zz|{z||{|{z{{{zzzz{{z{{|{{{{{{{|{{|{{z{|{{{{|zz|{{|{z{{||{z|{zzz{{|{|z|||{|{zz{{zz|{|{z{{{yz{{zz{{|}|{||{{{|{{{{{{|{{{{}{|{{{{z{{{|{|{}}|z{z{{{|{{|{}z||}{{z{z{{{|{|||{}{{z{{{{{{{{||{|||{{{{z{||||||{|||}|{{{{|{{|||}{|||{||{||||||{{|||||{{|{{{|||||||||{{{{{z{{|{|{|{|{{|{{{{{{{|||{||{|{z{{{z{|{||{}z{{{{|{{{{||{|{{{{{z{z{|z{|{{{||{{{{{{z{{{|{|{||||{{{{y{z{{{{{||{|{{{{zyzz{{{{|{}|{{z{zzz{{{{{{|{{z{z{{{zz{{{{|{z{z{z{z{{|{|y{|{{{|zz|{zz{{z{{{{{{zyz{{{zz{{|{|{{{{z{{zzz{{|{{{{|z{{zz{{z{{{{{||}zz{{{zzzz{z{{{{{z{zzzzzzy{{{z{{{z{{{{{{z{{{{{{|{{{{{z{z{{{{|{||||z|{zzz{z|||{{||{{{{{z{z{{{||{|{{{|{{z{{z{|||||{|{{zz{z{{{|{|||{|z|{{|z{{|{{{|{|{{|{{|{{{}|{{|||{{{z{{{{||||{|}}}|{{{{{z{|||{}}{|{}{|{|{|||{{|||{||{{}{{|{||}|{|||z|z{{{{{||}}{|{||||{{||||||}|||{{{||{z{|{|}|}}{|{|{|{|{|{|||||{{|z||{{{{{|}|}}{{||{z{z{|}|{{||{|{{{{{{|||{||z|{zz{{zz{{|{{{{|{{zzzzz{zz|{{{|{{|{z{z{{zz{|{{{|||{{|zz{zz{}||{|{{{{{zzzz{z{{{|{{{z{zz{{zz{{|{z||{z{{z{{{{{|{{{|{z{{{{{zz{{{{{||zz{z{zyz{{{{|{|{|zz{zz{z{{{{{{{{{{zz{z{{{z{||{{|{|z{{zzzzz{z{{{{|z{z{{zy{z{||{|{|zz{zz{zz|{{|{{|{{z{zz{{{{|{{{{|{{{{{zz{{{|||{{{|{{{{{{{{{|||{{{}{|{z{{{{{|{|||{{|z{z{{{{||{{|{{||{{|{{|{|||}{{|{{{{zz|{{{{||||{|{{|{{{{|||||||||{z{{{{{{|||||||{|z{{|{|{|{{{|||}}z|{{||{|{{||}||||{{{||{{||}|{|||z{||{|{||}|{|}|{{{|{{{z|||{||||{{{||{z||||}{{||{{{{{|{{z{{|{|||||{{{{|{{}||||||{{{z|{{{|||||{|{{{{z{z{{{z|{{{}{{{{{zz{z{{{z|{}}{z{zz{z{{z{{||{{|z{zzzz{{|{|{z|}{{zy{{zz{{|{{{||{z{zzz{zz{z{{{||{{z{z{{{|{{z{{{{{zz{z{z{z{{{{{{{{{zzz{z{{{{{z{|{{zzzz{{z{{|z{z{{{{{{zzzzz{{|z{{{|zzz{z{zzz{z{z{{zz{y{z{{{|{z{{{{zz{z{{xz{{||{|||{{z{zyzz{||{|{{|{z{{z{{{{{{{{}{|{{z{z{|{{{{||{{{|{{{{zz{{{{{||||||z{{{{{{{|||{|{{|y{z{z|{|}|{{}z{y|{|z{|{|{{||{{{{{{{|{|{{}|{|}}{{{{{{|{|}{|}{|||z|z|{{|{}|||}|}{{|{||{{{{{|{|{{||{{{{||{||||||||{{|{{{{|{{{|||}}{{{{||||}{{||}||{z{{{{|{{{{|{{{{{{z{{{z{|z{{|}|{{|{{z{{|||{{|||||{{{{{z|{||{{{{{z{z{z{z|{|{|{|||{zzzzz{{|{{{{||{z{{|z{z||{|{|}||z{zzy{{|||{zz{||{|{{{{z|{{{||{|{{{{z{{zz|{{|{|{{zy{{zyz{z{z{{{{{z{{{{{z{{{{{|z{{zzz{{{zz{{|{||{z{zzz{{y{{{z{{{z{z{{z{{{{{|{z|{|{{z{zz{z{{{{z|{{{zzz{z{z{{{{{{{{{{{z{z{z{{{{{{|{{z{{zzzz{|||{|}||{{{{{{z{{{|{}||zz{z{{{z{||{{{{||{|zzz{{{|{{{|{z|{{{{zzz{|||{||||zz{{{{{|{|{|{{|||{|z|{{{{||||{{|{{{{{{||}{|||}}{{|{|z{{|{|{|}|{}z||{|{|||{||||}|{{{z|{|{|||}}|}||||{{{{{}}}}||||{{z{|{{{{{|{|||{{{{{z{|{|}{|}}}}|{{|{||{{|||{}|{|{{{z{{{|||{||||{{{{{{z|||{|{||{|{z{{|{|{|}}{{}{{z{zz{z{{|{{z{|{zz{z{z{{{{{{|{|{|{{zz{{z|{{{||{{|zzzzzz{z{|z{||{{{zzz{z{||{z{{|z{z{{{|zz{{{{{{z{zzzz{z{z{{{|{|{zz{{z{z{{|zzz{|{z{z{z{zz{{{{{{{{y{{zyz{zz{{{z{{z{y{zyz{z{{{z{{{zzz{zzzzzz{{zz{|{{zzzz{zzz{z{{}{{{|zz{z{z{{{{{{|{{zzzzzz{{|z{{{{{zz{zzzzz{{{|||{{|z||{z{z{{{|{{|{{|zz|{{z{||||{|{{z|{{{z{|z{||||{{{{{{z{z|{|{{||{{|{{{z{z||||||||{{{||{{z|{{{{|}|z{zz{zz{||||{|{{|{{{{z{{||{|||{|{{{{{{|{{|||{{|||{z||{z{||}{||}||{{{{{{{||||{{||{{|{{{||{{{||||{{{{{{{{{||{||{{||{{{z{{z|{z||{}||{z{z{|{{|{|{|{|{{{{{{{{{|||{|{|z{zzzz{z{{{z{||||zzzz{zz{|z{|{{}{{{yzzzy{|z{{|||{zzy{yzz{{{{{z|{{{z{yz{z{{{zz{{{zz{zyz{|{|z{|{{z{zz{zzzzzz|{{{z{zzzz{zzz{z{{yz|zzzz{zzzz{{{||{|{{{z{yzz{{z{z{z|{{zzzzzzz{{{{{{{{zzzz{zzzz{{z{{{{zz{z{zzz{{{z|{{{{zzzzzzz{z{z{{{|{zz{zzy{z||{{{{{z{{{{{z{{{z{{{{|{{{zzzzz|{{{{||{z|z{{{{zy{{||{z|{zzzz{zz||||{||{{{{{|{z{z{|z{{z{{{{z|{{z||{{|{{|{{z{{{{{||{{z{|||{{{{z{{|||{|||{|{{z|z{{{{|{{|{}{|{{z{{{{|||||}||{|z{{{|{}}|||}|{|z{{{{{||||||||{{{{{{{{|{||}|{{|{{{||{{{{||{{|||{{{{zzz|{|||{|{{{{{zzzz{{{|{{{|z{|{{zzz{|{|{{z{zzz{{z{{z{{{|{|{{{||z{{{{{{|{{}|z{{zz|yz{{{|{{|{{{zz{{{{{|{|{z||{z{{z|{{{{{{{||{{zzz{{zz{|{{{{{z{y{z{{{z{{{{|{{{{{{{zzz{{{z{{{z{zzzyzzz{{{{|{{|{{z{{zzzz|z|{{||z{z{z{zz{{{z|z{{z{{zzyzz{{z|{{{|zz{{zzy{z{{{|{{|{{{{{{z{z{{{{z|||{z{{{{{|{{{{z{|||{{z{{{z{{|{|{||{{{{{{z{{{|{||{{|z{{zzzzz|||{|{|{{{{{zz||||||}{z{z{z||z{{|{|{{{{|{|{{{{z{|||||||{{z{{{{{||||{{||{zzzz{{zz{|{{||||z{{{{{{||{|||{|z{{{{{{||{{{||}}{{|||{{{{||{}|{||}||{{|z{||{|||||{{{zz||||{|||}|{||||z{|{|{}|{|||{{{{|{{{|{|}{|||{z{z{{{||||{|||{|{z{{{z{|}{{{{|{z|z|{zz{||z{{||{{z{{zz|||{{{{{||{z{{z{z{||{{||||{{z{{{y{|{{z{{}{{{zz{z{{{{{|{|{{{{zzz{{{{{z{|{z{{{zzzzz{{{{{||{{{zzz|z{{zzz{{||{zzzzz{z{z|{|{{||zz{{{{{{z{{|||{{{{zyzz{zz{{{{{|{{zzzz|z{{z{{{{|z{{zz{{z|{{{{|||{z{{{zzz{{{{{{{|||{z{{{{{{{|{z||{{{{{z{z|{{|{|{|||{z{z{{|||{||{|{||{zz{z{||{|}||{{{{z{{{|{|{|{||{|{zz{{{|||{z||||{{{{|z{{||{|{}|z{{{{z|{}|{|||||{||{|z{{{{}{|||{|{{|{|{{||{{}|||{z|{{{|{||||||{||{{|{|{|||}||}||}|{{{|||||{|{|||}{{{{{{||||{{||||{|{|{{{||{}|{}|{{{z|{zz||||||||{|{|{zz{{||}|{|{{{{{{{{{|{|{|z{{{zz{{{{y{{{z|{||zzz{{{yz{{||{||}|z{{{z{{|{{|{{||{{z{z{z{{{{{{{{||{|zzz{y{{{{{|{{{z{zzz{zz|{{{{{{{z{zz{{y{{{z{|{z{{z{zzz{z||{z{{{zyz{zzzz{{z{{z|{zzz{zzz{z{zz{|{{z{{zzzz{z{z{zz{|z{{z{zz{{{{{z||{{{zz{z{yz{{{{z{{zz{zz{{yz{{|{|{|z{z{{z{{{{|{{||{z{{zzz{z{z{||{{|{{{{z{zz{{{{{|||{zz|{z{zz{||||{z{|z{y{zy{{{{{||{|zz{{z{{||{{{|{z|{{{||{{|{|{|{||{|{{|{{{||{}|||||{{{|z{{|||}}|||{{|{{{z|{||||||}|z{{{|||{||||||||{{{|z{{|||||||||{{|{{{|{|||{|||{{|z{{{{{z|||||{|{|{{|z{}||||}||{{z{{{{{{{z{{}|{|{|{|{z{{|{|{|||z{z|{z{|{{||{{{{{yzzzzzzz|{||{{zz{{||z{{{zzz||{|{zzzzz{z{{{z|||{|{{{zzzz{|{|{z{{{{z{zz{y{z{|{{{{{z{{zzzzz{{{{{{|{z{{{{zy{{{{{{{{zzzz{z{z|{{{z{||z{zzzzz{{{z{z||zzzy{yzzz{{{{|{{{{zyzzzzzz|z{{{||z{{zzzzzz{zz{z{{z|{zzzyy{|{{{|{{zzzz{{zz{|{{{{||{{zz{z{z{|{||z|{{{z{y{{z{}{{{{||{z{|{zzzz{{|{|{{|{|z{y{zz|{z{|{{{{{{{{z{{|{|{||{{z{{z{{{{z{{|}{{{|zzz{z|||{||}{|{{{{{z{|||{|{|||{|{z{{z{{|{|{|}{||z{|{{{{{||{|||{|{||{{{{|||{||||{{|{||z{}{|||||{z|{z{{{}{|||{{|{{{{{z{{|{|{}{||||z|{{{{{{}{z||{{{{{z{{{{|{}{{||{{{{z|z{{|||{||{z{{z{zz{{|{|{|{|{zz{zz{{{{|{{{{|{{z{{zzz{{{{{{||{{z{{{|{{{{{{{|{|{z{z{{z{|||{{{{{z{zz{{z{{{{|{||z{zzz{|z{|{{||{{{zzz|{zz{||z{{{{|zzzz{zz{{{{{{{{z{{{zz{zz|{{{||||{{{zy{{{||{{||{{{{zzz{z{|{{z{||z{z{zz{zz|{{||{|{{z{{zzzz{{{|{|{{z{z{{zz{{{z|{{|{{|{{{z{{z|z{|{|{z{{{{{{{{{{{}|{{{z{z{{z|z{{{|}|{{|{|{{z{{{|{|{||{{{{{z|{}|{{|{{|{{{zz|{|{|{|}{{|z{{|z{{{{{|{||{{{{{{z{{||{|{|||{{{{||{|{||}|||{|||{{{{{|}||{}|}{||||{{{||{||||}|{|{|{||{}||}||{|{||{{{{|||||||{||z||{{|{{{|}}{|||{||{{{||{}|||}|{{z{|{|{{{}z{|||z||z{||||{|{{||{{{z{||{||{||z{{{|z{{z{z{{z|{{||{zz{zz{zz{|{{{|{{{{z{z{z|{{{{{{|{zz{zzz{z{{{z|z|z|z|zzz{{{|{{{{|zzzzzzz{z{|{{{{z|{{{{{zy{{{{{|{|{z{{{{{{z{{{{{{{{yz{{z{{|{{zz||zz{z{z{{{{{{{{|{|{{{z{z{{{{{|{{{{{zz{{z{z{{|z{z{{{{zz{{zzz|{zz||z{z{{zzzz{{|||{|{{{{{{zzz{|{||||{{z{{{z{{{{{|{{{{|z{zz{z{{|||{{{{{{{{{y{z{{|{|||{z{{z{{{{{{{|{{|{|{z{{{z|{|{|z||{{{z{{|{|{|||||}|{|{{|{{{||||||||{{|{{{{{{||||||||{{{|z{z|{|||{||{{{{{{{||{{{|||||{|||{{{||{{|{{{|{|{{{{{||{}|||{||{||{{{{{{||}}|{{z|}{{|||{||{{}{zz{{{z{|||zz||{z{{{{z{{{{||{}|{{z{zz{{z{{{{{|{|{zzy{yzzz{{{{|{{{{{zz{zy{z{||{{|z{zy{z{z|{zz{{{{{{{{zz{|{{{z{{{|{{z{z{z{z|{{{z{zzz{yz{z{{{{{{{{{{z{zzz{z{{{{{|{|zz{{y{zzzz{{{{{{zzzz{zzz{{{z{z{|{zzzz{zz{{{{zz{{zz{zzzz{{{{{{{{{{{zzzz{y{z{{|z{|yzzz{{{z{zz{||{{zzz{{{z{{{z{{{{{{{zz{{{{|{zz{{|{{z{z{z|z{{|{{|||{{{{zyzz|{{z{||}{{{{{z|z||||{{{{{{|{{{{{z||{|}|{{{z{{{zz{||{}|||{{{{|{{z{|||||{|{|{z|{|{{|{}||||{|z{{{{{{|||||{{{zz||{{{|||{{|||{{z{zz{{{|{}|||}|{{{{|{{|}{|||}}{{||z{|{|||{{||{{{{{{|{|{|{{}||}{|{{|{{{{{|||||}z{{zz{z{{z{{{}||{zzz{{{{y|{|z{|||{z{zzy|{|{{z{{{z{z{zz{y{z|{|{||{zz{z{{{{{{{{|{}{{{y{z{z{z{|{|{{{{{{zzz{|{|zz{||{|{zzz{y{{{{{|||{z{yy{{zzzzz|{|{zz|y{{zz||{{z{{{{zzzz{{z{z{|{{{|{zzz{zzz{||{{||{{{z{z{y{||{z{||{{z{{zyz{z{{z{{{{{{zz{z{{{{|{z|{|{{{{z{zz{{||{|||{{{z|{{{{{{{{{|||{{z{{{z{||{{{{}{{{{zzz{{|{{{|||{{{{z{z{{{|{{|{||{{zzz{{{|{|{|{|{{{{{z{z{||{z|||{{{|{{{{||{{{|{{|{{{{{{{|}}|}|||{{|{{|{{|{||{|||{|{{{z{{{|||||||||z{|z{z{}||||||{{||{|{|||{||||}{|{{{{{z|}||{}}||{{{{{{{}||||{|||{|{{{|{{{{}|{}}||}|||{||{{||}|}{{{{{zz{{{|{{{}||zz|{{{{{|||{|{z|z{{{zz{{||{z{{{{zzzz{z{|{|{z{{{{z{{zyyyz{{zz|{|{z|{zz{zzz{{{|{}{{{{zzzz|z{{zz|{|{z{zz{z{{{{{{{{|zzzzzzzz|yz{{{{{{zzzzz{zz{zz|{|{{z{zzzz{zz|{{{{z{zzzz{zz{z{{z}{zy{zzzzzzz{z{{|z{{{z{{{yz{zz{{{{{zz{{{z{z{{z{z|{{{zzzz{zzz{{{{{{z{zzz{zzzz{|{z{{{{zz{{zz{|{{z|||zz{{{y{{z{z{{{z|{z{{z{{{{{{|||{{{|{{zz{z{|{z||{{z{{z{{{z{{|{{{{{{{z{{{{{{|||||z{|z|{{{z{{}{|{||{{{z{{z{{||{{|{|{{{{{z{z{{{|{{z|{|{|{|z{{|||{{|||{{{{{{|{{|{{{||||z{z{{{z{|||{{||{{{{{|{{|||{}{|{{z{||{{{{||||||{||z||{|{|{{{||||{{{z{|{z|z{|{|}||{z{{{zz|{}|{||z{{{z{zzzz{{||{{z{z{{z{{{{{|{{{|||{zzzzz{{z{z|{{{|{{zz{{z{|z{|||{{{{zzzy{||||{{z{{{|zz|{zzz||{||{zz{{y{z{{{{{zz|||z|{yyz{{z{|{{z{{z{z{zzz{z{{{|zzz{zzzz{{z{|{{|{{{zz{zzzz{{{{|{{{zz{zzzz{{{{{{{{{{{z{{zz{z{|{{{z{z{zyzz{z{{z{z|{{{z{zzzzzzz{{{{|{z{{{{y{{{|{{{{{{|{zzzz{{{||{{|}|{{z{{z{{{{{||||{{zz|{z{z||{|{||{{z{{z{{{{{|||{|||{{{{zz{{|{{z||{{{z{|z{{{{|{|{|{|{{{|{|z|||||{{|{{|{{|zz{{{||{}}|{{{z{{{|}{|{|||||zz||{{{{}||{|}|{{{{{|{{}||||||||{|{{|{{|||{{|||{{z{{{|}{{{|||||z{{{|{{|{{||{{|{{|z{{{{{|||{|}|{{{zz{{{{{|{z||{|{{{{z{z{||{{{{||{zzyzzz|{{z{{{{{zzz{z|z||z{{|{|{{zz{{z{{{z|{{{||z{zz{{{{{|{{z||{{{z{zzz{||{{|z{zzzz{zzz|z{{{{{|{z{{{zz{{z{{z|{{{{zz{z{{z{z{yz||{{zzyzzzz{zz{|z{{{zyzzz{z{{{{{{{zzz{zzzzz{z{{{{||{zz|zzy{{{z{zz{|{z{zy{z{|z{|{||{{{z{z{z|{{z{||{{{{zy{z{z{|{||{||z{{zz{z{{{{{{||z{{zz{{{{{|||||{|{{{{zz{{{{{{||{|{{z{|z{|{{|{{|{{z{{{{{{{|}{{|{|z{z{{{{z{{}|||||{{z{{{|{|||||{{{||{|zzzz{||{|{|{{{{|{{|{{|{{|||}||{|||z|{}{||||}|{|{{{{||}{|||}{||{{{{{|||{|{|{{|z{{|{{||{|}||{|||{||{{||||}{|{{{y{{{|{z{|{{{||||{{{|{z{|{|{|{{|{{|{{z{{{{|||{z{zz{zzz{z{{y{{z}{zz{z{zz{{{{{|{{|{{zz|z{z{{{{{{|{z{{zzz{{{||{z{|{{{{y{{{{|{{|z{|}{{zyyzzzz{{z{|{z{z{{{{y{|{|z{{{{zzzzz{yz{zz{{{|{zz{{{zzzz{{z{||{{zyzz{zzz{{{|{|{{z{zz{zz{|{{{||{{zzz{z{zzz{{z{|{z{z{{{zz{z{{|{|{z{{{z{zz{|z{{|{{{{{{{zz{{|{{{{|}z{zz{y{zz{||{||{zz{{zz{{{{|{{}{{|{|{zz|z{||||}{{|z{z{z{z{|{}|{{{{z{{|{{|||||}{|{|z{{|zz{||||{||{{{zz{{{{{{{|{{||{{z{|z{z||{||{|||{{{{{{{|}|||{}}z{{{{{|{{|{|}}}|||{||{|{|}|{|||}{{{{|{{|}{|||||||z{{{z{{||||{|||}|z|z{{{|{|{|||||{z{{z|zz|{{{}||{|z{zz{z{{{{{|||{{{{zz{{{{{{||{z{{zzzz{{{{{z{{{|{{zz{zzz|zzz{|{{{z{{zzz{{zz{z|||{zzzzzzz{|z{z{{{z{{{{zzzz{{|{z{||z{zzz{zz{{{|{{{{zzz{z{z{z{{z{{{|z{zzzzz|{{{{{{|{zz{{zz{{z{z{{{{{{yz{yzz|{|z{{|{{{zzy{z{{z{{{|{z{zyz{z{zz{{{{{zz{{{{{z{zz{{{|{|{zz{z{{|z{{z|z{{{{z{{{{{z{z|z{{|{{{{zz{{z{{{{||{|z{{zz{|z||{{{{|{{z||zz{{|{{|{|||{z{zz{{|{{|||{|}{{|z{z{|||{|{{||{|{z||{||{|z||{}|{|{|{{{{{|||{}}|z{{{{{{|||||||{||{{|z{z|||{|{}}{{{{{{{{||{||}}{|{z|||{|{|||||||{{{{{z{|}||||}|{{{{{{{{|{{|{{|||||z|{{z{|{|||{|||{{zz{{z|{{|{|{|{{zz{{|z{{{|{|||{{{z{y|z{{{{}z|{z{z{z{zz||{{{{{{{{zz{zz{z{{|{{{||{zzz{z{|{{z{{|{{z|{{zyz{z{|{{{{{{zzzz{yz{{|{{{{zz{zz{z{z{{{{|{{{{zz{{yz{z|{z{{zzzzzzz{zzy{{{{{{z{zy{{{z{{{{{z{zy{zzz{y{{z{|||{{{zzzz{yz{{{{{z||{{zzzy{z{|{zz{{{{{{zzz{zzz{{z{{{zz{{|{{z{{{|{{||{{zzzz{{z||z|{||{{|z{{{z|||z{|{{|{{zz{{z{|{{{|||{{{{{y{{z{|||||||{{{z{z{|{{{{||{{z|{z{zz|{{{|{|{{{{{{{z{|||{||{|{z{||{{{|{{{{}|||{|z{z{{|||}|||||{||{{{{|||{||}|z|{{}{|{|||{|{|||{{z{|z{{||}|{||||{||{{{|{{}{||{{{{{{|{{{{{|||||||{{{{{{||{|||||z{{zzz{{{{|||{|{{{{{{zzzz{|{{{{{{zzzz{zz{|||{{{{{{zz{zzzzz{{|{||{{zzzzz{{{{{||{|{{zzy{z{|{{{{{|{{y{zz{z{|{|{z||{zzzz{{{z|{{{{{{|zyz{zzzzz|{{z{|{z{{{{y{{{z{{{z{{zzzz{{zz{{{|{{{{z{yzz{zzz{|{{{{{{zzzzyzzz{z{{{{{{{{{yzy{z|{{{z||zzzyyzzz{{{{{{z{zz{{yz{z{z|{z{|{z{z{z{z{{{||{||||zz{zz{z{{{{{{{{{{{{zzz{{||{{}{|{{z|{{{{{{{||{||{{{{|z{{{|{{{{{{{{zz{{zz{{||{{|{{{{{{{{|}{|{|||||{{||{{z||{|||||z{{{{{{z||{||{{|{z{|{{{{{{{|{||{|{{{{{{{||{|||}}{|}{|||{{|{|}}|||{{{{{{{z}}|||||{{{|{{{|||{|||||{{|{|{{|{|{{{{{}{|{{||{{|{|{{||}z{{{zzzz|||{{{{|||{{{{|z{}{{{|{|{z{z{z{z|{|{{|z{zyz{{z|zz{|||{{|{{zzzzzz{{{|{|||zyzzz||z||{z|{{|{{{{{zzzy{||z{{{|z{z{z{z{{||{|{{|{{{{zzzz{{{{|{z{z{zzzz{{{z{{{|{{{{zz{y{{{|{{{{{zz{{{z{zzzz{{{{{zz{{zzz{z{{{z|{|{{{{zz{zz{{{{||{{zzz{y{zzzzz{|{z|z{zzz{{z{{{z{{z{z|zzz{z{{{|{|{|z{zzzy{{{z|{{||{{{{{{z||{|z{|{{|{{|z{y{z||z{{{{||{|{{{{z{{{||{{|{|{{{{{y{||{{{||{{{{{{{{|{||{{{{|zz{{{|{{{||||||{{{{{{|{|{{||||}{z||{|z{{}z|{||{|{{{z{|{|||{|||}|||{|{|{{|||{|||{|||z{{||||{{|||{|{|{{{{}|}{|}|||{{{|{{{{|{{|||}|{{{|{|{{|||{|}|{{{z{{{{{{|{{||||{{{||{{{|{|}{{|z{z{{z{y{{{{|{{{|zz{{yzyz|{{||{|{zzy{{z{{z{{{{|z{|zzzzy{{{{{{z{{{zzzzzz{z{{{{y|{{{zzzzz{z|{{{{{|{|{zzzzz{{zzz{zz{{zzzz{z{z{z{{{{{zzzzzzz{{{{{{{|zzz{zz{{z||z{{{{zyz{z{y{{z{{z|{|{|{zzzyy{{|z{{|{z{{z{y{zz{zzz{|{{y{{zyzzy{{{z{|z{{z{{{zz{z{{{{|{z{|zzz{z{|{{z{{{{z{{{z{y{{z||{||{{{{{{z{|{{{|{||{{{|{zzz{||{{||z{z{z{zz{|{{{{{}z}{|{{zz{{||{|{|{{{{yzz{{|{|{||||{|{{|{z{||{{{{|||z{{{{zz{||||||||z{{{zy{|}|}||||{|||{z{||{{{}|{||{z{z{{{|}|||{||{{{|{{|{{{|||||||{{{{{{}{{{|{{}|{{{{|{{{|{||{||}{{{z{{{{{||{{|}{|{{{z{{{{{{|{z|{z|{{{z{{{z{{{{|{z{zyzzzy{{{{{{{{{zz{{zz{{{{{{||z{{zzzzz{{z{{z{{{{{zz{{{z|{z{{{z{{{zzz{{z{{{{{{{{{{zz{zzz{{{{z{{{{zzzzzyzzz{z{}{zzzzzzzzz{{z|{{{{zzzz{zz{{zzzzzz|{zz{zzzz{z{{z{{{z{zyz|zz{yz|{{|{zzzzzz{z{z{{{{{{{zzz{z{{{{z{{{{|{{z{{y{z{{{z{|{{{{{z{zzzz||{z{{|zz{zyz{|{z{{{}|{{{{{z{{z{{|{z||{z{zz{z{{||{|{{{{z{zzzz{{{}{z{{||{z|{zzz{{{{{{{{{{{zz{{y{{|||{||{{{{||{{z{|{{|{|{{z{{{{z|{{|||||{|{{{{{zz||{{|||||z||{{{{{|{{{|{|{{{{|{y{|{z{}||||{z|{{||{{{|||||{{{{{z{z{|||{||{{|z{{{z{|||{||{}{{{z|{{{{||{{||{{{{{zz{{z||{{|{{z{{{z{{z{{{{{{{{zzzyzzzy{{{z{{{{{z{zzzzz{z|{{{{{{z{|zy|{{{|{{{|{{zz{{{zz{{{{{z|{{{z{zz{z{{{|{{{{zy|y{{{zy{{{z{|z{zzzzzzz{{{z{z{{{{{zz{{{{{{{z{z{yyz{zzyz{{{|z{{zzzzzzzyz{{{{|{||z{zzzzzzz{{{{{|{z|zz{zzzz{{z{|z{zyyz{yz{{{z{|||{{z{|z{{z{{{|{{{{{z{zzzzzz{{z{{||z{z{{z{|{{{{{||zzz{z{z{z{||||{z{{{{{{z{{z{|z{|{{{{z{{|{z{z||{|{{{{{{{{y{{z{{||{|{z{{{{z{||{|||{{|{{z{z|{||||||||{|{{{{{z{{}{{}{{|zz|{{{{}{|{|{||{{{{{{{|{{}{|{||}{{{z{{{{}}|}|||{{{{{{{{{|{||||||{{{|{|{{{|{|{|||{{{{{{{{|{{||{||{zz{{{z{|{||}{|{{z{y|zz|{{|{{||{{zzzzz{z{{|{{|z{{z{|zz{{z{{{{|{|{z{yz{zz|{{|{{{|{{zzzzz{|{|{|{{{z{zz{zz{{|{z|{||zzzz{zz|z}|{|{||z{zz{zzz{{{z||{zz{{z{z{{|{{{{{zzz{z{{z{zz{zz{{|yz{zzzzz{{{|{{{{{zzzzzzz{z|z{z{|{{{{zzz{z{{{z{|zzz{{zzzz{z{{|||{{zzzyz{z{{yz{|{{z{{zz{zzz{|{|z{|{{{{{z|{{{{{|z{|zz{{z{z{||{{{~{|{z|z{zzzz|{{{{|{{z{y{z{{{|{|{{z|zz{z{{|z{{{{{{|{{{{{z{|{|||{{|{{|{{{{{{{{|||{{{{z{{|{z{{||{|{|{}{{|{|z{z||||||}|{|{{{{{{|{||||||{{|zz{|{{}|{||{||{{|{|{{{~||||||{{||{|{{|}{}{{|{|{{{{{|||{|{|||||{{z{{{{|||||}||{{z{{{zz{{|||z}{|||{z{{{{{|z{||{{{|{{{zz{{{{|z{{{{{y{zyzz|{z{||{zzzz{{zzz{{{{{||{z{{zz{y{|{z|{{{{{zz{zz{|z{||{{{{{{zz{zy{|{{{|{|{zy{{z{z|{zz{{{|{zz{z{{{{{{{{{{{{{z{z{zzy{z{{{{{{z{{{zzz|{zzz{|{zzz{y{y{{z|{|{|{zz{{{zz{{{zz{||{{{{zzz{zzz{{{{{z{zzz{|zz|{z{{{{{{z{{z{zzz{{{{{{|{{{z{{{z{{||{{{{{{z{zyz{{{{{{{||{z|{z{{z{{{{{{{{zz{{{{{{||||{|{{zz{z{{z{{|{{{{|{z{{{|{{{|{|{{{|{{|||{{{z||{{}{{{yz{|}{{{{|||{{|{{z{||{{z|{{||{|{{z{{z{{{{{{|||||z||{z{|}{{|||}{}|{{{z{|{|}{||||}{z{|{{z{{}|{|{|||{{{z{z{{||||}||{{z{{{{|{{{|{|||{{|{{{{z{||{{{}z{{{|{z{z{{|||{|{{{{z{{{z{z|{{{{z{{z{{zz{|{|{{|{{z{zz{zz{{{{{{||{{{{{zz{zz{{{{|{|{z|{{yz{z|{{z{|z|z{z{{|y|{{|{|z|{zzzyzz{{||{|||z{{{{{z{z{{|z{{{{z{z{z{{z{{z{{zz{zzzz{yzzz{{{|{|zzz{{z{{{{{{{{|{{{{{{zzyzzy{{|z||{{zzzyzzyz{{z{{{{zzzzzzz{|{{{|z{zz{z{{{{{{{|{{||{{{{{zz{{{{|z{{|z{{{{|{z{|{z|||{{{{{z{zz||z|||}|{z{{{{|{z{{|{}|{{{{zzz{{||{{|{|{{zzz{{{{|{{{{{{||{{{z{{{{||}||}|{{{{{|{{||{{{}|||{{{{{z{|||{||||{{{z{z{z|{|{{|||{{{{|{{|{}{|}|||}|{{{{{{|||||}||{{||{{{{|}|||}{|{{{z{|{{||{{{{||{{{|{{{{|{||{|{|z{{{|{{z||{|{}|||zz|{{{z{||{{{||{{{zzz{{{z{||{||zzzzzzyy{|||{{||{z{z{z{{z||{||||{{zy{z{y{{|{{|{{zz{{z{z{{{|{{|{{{{{z{zzz||{{{|{{|{{zy{{z||{z{{|{z{zz{{z{{{|{|{{{{z{zyzz{{z|{{{|{yz{zzz{z{z{{{{{|{z{zzzzz{{z|{{|{{y{zzzzz{|{{|{{|z{zzzzzzz{{{{|z|z|{{yz{z{|{{{|}{{z{{{yzz{{}{{{{{{{z{{{|z|{{|{|||{{{z||zz|{{|{{|}{{{{zz|{|{|||{||z{{z|{|z|{{{{||{{|z{{{{{{{}|{|}z{{{||zz{|||{{{|||{{z{z{{{{||}}||{{{{{{{{{|||||||{{{|z{z}|||}||||{{{{{{{|{||{{}}{{{|{{||{}|{||}|||{{{{{z{{}|}|}|||{|{||z{||}|}|||}{zz{{{{|||||}|~{|{|{{|{}|}{||||{{{z{{{{{{{|{|{||{z{{{z{{{|{|||{|z{{{{{{{|||{|z{{z{zzzz{{||z{|||{|{{zzz{{{z{||{{{z{zzz{z{|z{{{|{{{{{{{zz{{{zz{{{z{zzzz{z{{|z|{z{z{zzzz{|{{z{|{{z{z{z{{zz{|{{{{|{z{z{zz{{{zyz{{{|z{zzz{z{z{{{{||{yz{z{zzz{{{{{{{{|{zzy{zzz|{z{{{|zzz{{zyzz{zz{zz{{z{z{y{y{{{{{{{z{zz{||{zz{{|||||{{{z{z{z{{{{{{{|{z{{zz{z|{z|{{|{{zz{{zzz{|{||{{|{{z{{{{{{|{|{{{{||zz{{z{{|{{{||{{{{{{{{{||{|{|||{{|{z{|{||||||}|{||{z{{|{|{||{||{{{z{{z{|||||||||{{{z{{{}|{{|||||{{z{|{|||{{||}{}{{|{{{{{||{||||||{{{|{{{|}|||||{{{{z{{{{{{|||||{|{{||{{{{{}|{}||{{z{|{{{{||||{{|z{|{|zz{|||{{|{{{zz{z{z{{{|{|{{z{{zzz{z{{{{{z{{zz{z{zzz{|{z{{{{zz{z{z{y{{{{{|{{{{zzzz{z{{{|z{{{{zzzzzzyz{|{z|z{{zzz{{z{{{{z{{{{{z{zz{{{zz{zzz|{{{yzzzzzzz{{{{{{zzzzzzzz{|{{{{|{zzzzzzz{{z{z{{{{zz{{z{zz{{{{{|{{{{zyz{zyzz{{{|{{{{zzzz{zz{{{{{|{{zzy{zzz{{{{{|{{zzzz{z{z{z|{|{z|{{z{yz{{{{|{{||{{{{zz{{z{{{{||{|{{{{{z{{{{{{{{|{{{z{zzzz{||{{{|{{{{{z{{z{{{|{{|{|{{{{{z{|||{|||{{{z{|{{{z}{|{||{{z|z{zzz{{z{|{{{{{{{{{{{{{}||||{|{{{z|{||{||{||||{{{|{{|{}|{{||||{{{{|z{||{}|||||z{z{{{||{{|||||{{{|{|{|||{|{||{{{|{{zz{{|{{}{||z{{{zzz{|{|{{||{{z{z{z{{{||{{|{|zzz{zyzzz{{{{{z|zz{{z{z{{{|{{z{|{{z{z{z{{{{{{{{{zzzz{z{zz{|{{z{{z{zzz{z{{{z|z{{|zz{{z{{zz{{{z|{z{z{zzzzz{{{zz{zzyz{{zzyzzz{{z|{{{zz{yy{zz{z{{{|y{z{zzzz{z{{z{{{z{{{{zzzz{{z{z|{z{{zz|zzyz{z{z{z{z{zyz{yz|z{{{{{{z{{{{{{zz{{{{{|{{{zzzzzz{}z||{{z{z{zzz{y|{||{{{|{{zz{z{zz{{{{z|{{z{{{z{z{{{{||{{|{z|{z{z|z}{|{{z|{z{|{z{z{{{{|}||z|{{{{{{||{{{||{{{{{{zz{|{|{||{|{{z{y{{|||||{|||z{{{{{z{|{{}{||z||{{{|{{}|z|}}|{{||z{{{{}{||||||{{{{{{{{|||{|{|{z{{{{z|z{{{{|||{z{{|{{{||z{{||||{{z{{z{z|||z|||}{{{z{|{|{{|{{{{{{z{z{{zz{{{zz{|zz{|zzzzy|{{{|{|zz{zz{zz{{{|{{||zzy{{{zz|zz|{||{z{{zz{yz{{{{{{{{{zzzzzz{{z{{z{{|zzz{zz{zz{{z{{{|zz{zzzz{{{{z{{z|zz{{zzzz{{{zz{||zzz{yzz{zz{zzz{{zz{z{yyz{|{z{{||{zy{zzzz{|{{{z{|{z{zz|zz{{{{z{z{{zzzzzzyz{{{{|{{{zzz{{{{{{|{{{|{{{zzzz{zz{{{{{}||z{y{zzz{z{{{|{{z{{z{z{yz||{|{||{{{y{z{{{|{z{|{|{z{{{{{z||||{{|{{zz{z{z{{{}{|{|{|z|z{zz{|{{|||{|{{{{{z{z{|{{||||{zz{|{zz|{}|||{}|zz{{|z{|{{z{{|}{z{{z{{{{|{||||||{{{{|{{|}|}|||||{{{{{{|{{|{|||||zz{{|z{|{{|{{{{}z{{{{z|{|{{}{||{{zz{z{|{{{{{{}|{|{z{{zz|{{|z{|{z{|{{z{zz{{{|{{{z{zzz{yz{|{z{{|{{y{z{{{z{{{{{||{{{{zz{zz{{{{{{|||zz{z{z{{|{{{{|{{z{zzz{z{{{{{{{}{z{zzz|zzz{{z}|z{z{zzzz{{{{zz{{{{z|zz{z{{{{{{|||z{zz{z{{z{{{{{|{{z{{{{{zz{{{{{{|z{{{zzzz{{{{{{{|{{zz{zzzzzz{{{{{z{zzzz{zz{z{z{{|{{{zzz{{{{{{{{|{{zzzz{{z{{{||{{|zz{|{{zz{{|{{||zz{{z{{{{|{{{{||{{z{|{zz{|||{|{{{|{z{{{|z|z{{||||{{{{{{{{{|}{{{|{z{{{{{{z}|{}}{z|z{{|{{{||{|}{{|||{|{|{|z{{{{||||{{{{{|z||||{|{}|{z{|{||{{|z{{||||{{{|{{z{}|}||||{{{{{|{{|{|||||||{{{{|{|z|{{|||||{{{|{{z{{z}|{|||{z{{{|{{||}|||{}{{zz{{{{|||{||{|{{zyz{z{|||{{|z{{zz{zzz{{{{z{{|z{{|z{zz}{z{{{||{{|{z{zzz{|z{|{{{zzzzz{z{z{{{{|{zzzz{z{zzz{{{{{|{z{{zzzy{{{{|{|{{{{y{zz{{z|z{z{{{yy{zzyzzz{{z{{{zz{zzz{|z{zzz|{{{zzzz{z{{z|{|{||zz{zzyzzzz{{{z|{|y|zzzyz{{{{zz{{{{zyzz{zz|{z{{{zz{{{{{zz{|{{|{|{|zzz{z{z{{{{{|{{zz{zzz|z{{|||z{}z{{{z{{z|{{z||{|{z{z{z{{{{||||||{{z{{{z{{||{|{{{|{z{{{{{{|{{|{{{|{z{{zz|{|||{|||{{{{|{{{z{|{||}|{{||{z{z{{|{|||||zz|{{{z{|{||{}||{{z{{{{{|||||{|}{{{{{{|{}|}||||{{z|{|||{|||{|{{}z{{{{z{|||{{}|||||{{|z|{{{||{||{z|{{|z{z|{||{|{{z|{||{{{|{||{{|zz{zz{{{|{|{{|{{{{zzzzzz{zz{|z|zzzzzzzzz{{{{|||{yzzz{{{z{|{{{{{|{z{yz{z{{{|{{{{{{{zzzzzzz|{{{{{{{z{z{{zzz{{{{|{{|zz{zzzzzy{z{z{{zz{yy{z{{z{{{{|{{zz{zzzzz{{zy{|{z{yzzzzy{{{z|{|{y{zyzy{zz{z|{zz{{zz{{zzyz{{{{|{{zzzzyz{zz{z{z|{{zzzzz{zzz{z{z{{zzz{z{z{z{{{{{|||zzz{{zzz|{{{{|||{z{{z{zz{z{{{|{{|z{{{zzz{|{{{|{|z{{z{z{z{{{{{{{||zz{z|zz{{{{|{{|{{zzz{|{z{{|{|{{{{|{|{||}{||{|||{{{zzz{z{{|||{{{|z{{{z{{{{{||{||{{|{z{{{|{{{{{|||{{{{{z|{|}}|||||z{|{{{||||{{||{{zz{|{z{{||{||}{{zz{{{{z||{|{{{|{{zz{zz{{}{|{||{{{{zy{{z{|{|{||{{z{{zzz{{{{{{y{{zz{zzyyzz|{|{{|{{{zzzzz|{{z{|{{|{zzzyz{z{|{z{z|{{zzz{{z{z{|{z|{{z{{zz{yz{{{{|{z{|{{{{z{zz{zz{||{{|{zy{{zz{|{z|{z{yzz{{yy{{{|{{|{{zzzzzzzz|zz{{|{zz{z{yzz{{{z|{{|zzzzzz{z{|{{{{||{zzz{zzzz{{{z|{{{{z{{{zz{|z{{{|z{zzyz{zz{{|{{|{|{{{zzz{z{|{zz|}||zzzz{{{z{|{{{{{{{zzz{z{z{{|{{{|{|{{|{{{|{|||||{{{z{{yy{{z{{{|{{|z{{zzy{{{{z{|{{z{{zz{z{{|||{}||{{{{{zzz||{|||||{{zzz}z{{{|{|||{{{{{zy|{|}{{}}}||{{{z|||{|||}}|}|{{z{|{|{|||||{||zzz{{|{|{{|{{||z{{{|{{{{{||{|}||{|{{{{{{{{||{{{{{|{{z{z{{|{{||{{zz{{{|z{|{{{|{{{zz{{zzz{{|{|{z{z{{zzz{zzz{z{{|{{{{zzyzzz{{{{{{|z{zzzzzzz{{{z{{{z{z{{yzyz{{z{z{{{z{zzz{z|{|{{z{|zz{zzz{zz{z{{{{{zzzzzzyz{{{zz|{{{zzzyzzzz{{z{{{{{zzzzzzz{z|zzz{{{zz{zzzy{{{{{{{|zzzy{z{zz{{{z{||z{{zz{{yzzzz{{{zzz{zzz{{{{zzz{{{z{{{zz{z{{{{{z{{{zzz{zz{|{|{z{{{z{z{zz{z{|z}{{|{{{{{zzz{{{|{{{{{{z{z|y{{z{{||{|z{{{{y{zz{{|{{{|{{z{{z{z{|{|{{|||{z{|{{{{|{{}||||z{zy|{|||{{|{|{|{{|{z{zz{||{|{}}|{{z{{{z{|{z{|||{zz{|z{{{{{{||||{zz{{}z{{|{||{||{{{z{{|{|{{|{{|{|{{|{{{{{{{||{|}|{z{|zz{{|{|{{{|{{{z{y|zz{z{|{{{|z{|zz{{{|{{{{|{{|{{{{zz{|{{|z{{{{y{zzzyz||{{|||zzzz{zy{{{{{|{||{{{yzz{yz{{{{|||{zz|zzzz{{|{z{{{{||zzzzzz|{{{{{|{{zyz{zz{{{{{z{z{z{zzzyz{{|y{{{z|z{zz{zz{{{{|{{{{z{z{zzz{z{zz{{{z{{z{zzz{{{{{{{{yzzzzzzz{{{yz{{{{zz{z{{z{{{{y{{|{z{z{z{zz{{{|{}|zy{{z{{z|{{{{{||{{zzzyzz{{{{{{{|{z}{{z{z|{{|{z||zz{zz{{{||{{z{||z||{{x{z{{z}{}{{|{{{z{{z{{{|{|{{{{{{{zz{{{{{{|{|{{{{|{|z{{{|||||{|{{{z|{}|{{{|}||{z{zz{z|{||{||{|{zz|{|z{|{{||{|z{{{z{{}{{|{||}|||{{{{{{{}{{{||}||{{{|{{|{||||{||z{{{z|{|{|{{|}|{{|{{{{{|{||||||{{{z{{|{|{{|{||||z{|{{{{{|{|z{|{{{z{{z{{{|{{{zz{zzzz{z{yz{{{z|{|{z{{{zz{{z{{{||{{yzzz{{z{|{{|{||{z{z{zz{{{{{{{{{{|zz{zzzzz{{{{z{z{zzzyzzz{zz{|{{|zzzzzzzz|zz{{zzz{zzzzzz|{{|zzz{z{z{zzzzzz|{{z{{{zz{zzzz{z{z||z|{{zzy{{z{|{{{{||z{zzz{{z{{|zz{z{|y{{zz{zz|zz{|{{{z|zz{zzz{{|z||z{{{z{zzz|{||{{|{zy{{zzzz||{{z{z|{{{zzzz{z{{{{|||{{{{{z{{{{|z{{{{z{{{|z{z||{z{{|||z{{{{y{|{{z|||{{|{{}z{{|{|{}{|}z{{{{{{|||||{|||{{|{z{zz||{||||||{{{{{{||{||{|||{{{{{{||{{{|{}{||{{{{{{{{||{||{||{z{{{{{||{|{{{||{{{{{z{{{z||||}|{{{{{{|{{||||||{{{|z{{z{||{{||{|{z{{{|z{{|{|{||{z{yzz{z{{{|{{{{z{zz{z{y{{{{zz{{z{{z{zzzz|{{{z{{{{yzzzyz{z{{{{{{{{z{yyzz{z|{zz{{{{{z{zzy{{{{{|{{{y{zzz{z{{yzz{{||zzzz{zz{z{zzz{zz{zyy{yz{{zzz{{{zx{yyz{z{{{{zz{z{zyzyzyzz{{{{|z{z{zzzy{zzz{{z{|zzzzzzzzyzz{{z{{{z{zz|zyx{{z{{{{{{{z{z{zzzz{{{{{|{zz{{{zy{{|{{{|z{y{zzyzz|{z{z{{|z{|{{z{{zz|z{|{{{zzz|yzz|{{|{|{{{{{z{zzz{z}{z{|{z{z{z{{{{{{{{|{{zz{z{zz|z||||||{z{z{{z{{{{|{{|}|zz{|zzzz{{|{}||{|{{{{{{{|{}||{||{||{{{|{{}{|{{{{|z{{{zz|||{{|||{|{zz|z{{|{{||{{{{{{{{z{|zz|||{|}{z{{zz{{{{|||||{z{{{{{zzz|{||{||||zzz{zz{|{|{|{{|z{z{zz{{{{|||{{zz{zzz|xzz{{z{{{{zzzzzzz{z{{{{{{{zzzz{zyz{{{|{||{z{|{zy{{{{z{z|{{zzzzz{z{z|yz|{{zzzz{{zz{{{y{{zyz{zzzzzz{z{zz|z{{zzzyzz{zz{{zz|{zz{yzzzz{z|zz|{{{|zzy{yz{z{zzz{{{{z{yyzzzz{{{z{|{zzzyzzyy{{yzz{{{zzzzz{zz{z{{{|{z{zz{{zz{|z{|z|{{zzzzzyz{{zz{{{{|{z{|z{{{{zzzz|{z{{{zz{{{{{{|{{|{{zz{z{zz{{{{|||{{{z{zzy{{|{{z|{{|z{{{{{{{||{{{||{{zz{{{{{{|{{{{{{{{{{|{||||{{|{{z{{zz{{{|{{{|{{{zz{{{z{{{|||{}{{{z{z||{||||||{||{{{{{{{{|{|{||}|{|{{z{z|{{||||{|z||{{{|z||{|{{{|{{{{z{|||{{|||}{|{z{{zy||{{{{|{|||{zzzz||||{{|{z{{|{z{{{z|{|{|zzz{yzyzz{{z{zz{{zz{zzyyz{z{zz{{{z{z{yzzzz{z{z{z{{zzzzzzzzz{|{{{z{z{zzzz{{zz{zzz|zzzzzzyy{{|{z{zzz{zz{yzz|zzzzz{zzzzyz{yz{{z{z{{{zyzz{zyz{zz{{{|z{yzzzzzzz{z{|z{{z{zzyz{z{z{{{{z{{{{zzyzz{{{zz{{|z{zzzzzzz{zzz{{{zzzzzzzz{zz{zz|z{z{z{zzz{{{zz{{{{{{zyyy|{yz|z{{|{y{yzz{{{{{||{{|{{z{zyzzz|{|z{z{yz{zzzyz{{{{{{||{z{{z{zz{{{{z{{{z{{{{{{z{{{{{{||z{{zzz{z{|{||{||{{{{z{z{|{|{}{{{{{{zz{z{{|{{{|}}z{{{{{{{|{|}{{{|{{{|{z{|{{||{||{{z{z|z{{{{{{{||{|zz{{{{{{{{{||{|||{z|{z{{{|{||z{{{{zzz{z{||{{{{}{{{{{|{yz{{{|{{{zz{z{zzzz{z{{{|{{zzyzzzz{{{{z{{zyzzzzyz{{{|{{{|{z{yzz{zz{zz{|{{z{zz{zzy{{{z|{z{{z{{zzzzzz{{zz{{|zzzzzzzyz{{z{|{{zzz{zzzz{z{zz{zz{zzzyzzz{{{{zzz{yz{zzyzzzzzzz{{yzzzzzzzzz{z{{z{z{{z{yzzz{{z{{{{{yzyzzzzy{{zz{z{{zzzzyyzyz{zzzzz{zzzzz{{{zz{{{{|{zzyz{zy{z{{{{|{{z{zzz{|zzyz|{z|z{{{{zzz{{{{z{{{{zz{{zz{{z{{z{|{zzz{zzzzz{{|zz||{{{{{{zzz|{{{{|{{{{z{|zz{{{|||}|{z{z{{z{z|{{{{{{|zz{{z{z{|||{|||{|{zz{{{zy|{{{|||{{{z{|{{|{|}{|{{|{z{{{{z{|{{|{|{|z{{{{{{|{|||{{{{z{{{z{|zz||{|||{{{{||z{{{{|{{||{|{z{{{z{|z{{{||{{zzz{{zz|{{{{{{{z|zzzyz{{{{z{{zz{zzzzzz{||y{{{|y{zzzy{zz{{{{{|{{{{z{z{{{{{z{{{{{z|z{y{{zz{{{{|||zzz{z{z{{{{{{{|zzzzzzz{{{{{{|||{{{zzzzz{{{z{|{z{y{z{{zz{{{{z{{{{z{zzyzz{z{zz{z{zzzz{zyz|z|{{{{zzzz{zz{{{zz{z{{{{yz{zz{yzz{{{{yz{{z{{{z|z{{{{{{{z{zz{zyz{{|{{{{{{{zz|z{z{|{|z{z{{z{zzz{{{|{z{{{|{z{{z{{z{{{{{{{{z{z{{z{z{{|{||}|{{z{{{zz{{|{{{||{{{{zz{|||{{{|{|z{z{||{|z{||{|{}{{{|{|{{|{||{|}||z{{{{{z{{|{|{||{z|{{z{{||{|||{}{{{{{{|{z{{|||z{{{|{{{{{{z{|||}||{{{{z|{|||{|||||z{|{{{{{|{|||||{{|{{{z||{||{|{||{|z{{{z{||{{{|||z|{|z|{|||{|||{|zzz{{z{{{{{{{z{zzyzzzzy{{z{{{z{{z{yzzz{{{{{{||{{{zzzz{zz{{{|{{{|zzzzzzzzz{|{{||{zz{z{zz{z{{z{{|zz{zz{zzz{zzz{|{zzzz{zzz{{{zzz{zzz{yzzy{{{z{{{{{zzzyz{{{z{{|z{{zzzzyyzz{{{zz{zz{zzyzyzzzzz{{{|{{{z{zyzzz{{{zz{z{{{zzzzzzz|z{{{z{{z{zz{z{zz{{z{|z{{z{yzz{{|{{||{|y{{zzy{z{z{{z|||z{zyzz{{z{|{{{|{{zz{zzzz{z{{||zz|{zz{zzz|{|{{{{{{{zz{{zz{{{{{{|{{zz{z|z{{|||||||{{z{{{{{{|||}{|{{{zz{zz{{{{|{|{|{z{z{|{z{|{|{{}|{{{{{{{{{{|||||||{{{{|{{{||||{}||{{{{{z{{{{{{|}{{z{zz{zz{{{{{|||{|{{{{{{{|{}{{||{{{z{z{{{|{z{{{{{{z{z{{z||{{|{|{z{zzzz{z{{z{{zzz{yz{yyyyzz|z{|{{z{zzyzz{{{zz{{{|{{yzzz{zz{y|zz|{{zz{zzzzzz{zz{|{zzzzzz{zz{{{z{{{zzzy{yz{zz{z{{{{zz{yzzyyzyzzzz{zzyzzyzzzzzz{{zz{zzzzyzz{{{zzzz{{zyzyzyyz{{{{{z{{{z{zzy{z{{z{z{{{zzzyzzzzzzzz{{{z{zz{zzyzz{zzz{{{y{{z{{zz{{{{{{{{zzyzzzzy{{|{z|{z|zzzz{zz{{{{|z{{{{{zzz{z{{{z|{{{{{y{zzzzz{{{z{{{{{z{{zy{{{|{z|{{z{{{zyzz{|{{z{z{{{{y{{z{z{||{{||{{z{|{|{|{{{{|||{z{z{zzzz|{{|{|z|z{z{z|{{}|{{|||y{{{{z{{{{|{|{|{}{z{|{zz{||{|||||{{{{z{{||z{|||z{{{zzz{|{{{|{{}|z{|{{z{{||{{{|{|{{{zz{z{|{{{{{|{{{|zz{{z{|||{{{z{{zz{z{zzz{{z{{{zyy{zz{{{|{{{z|{z{z{zz{zz{{{{{|z{zzzzzz{{zz{{{|{{zzzzzzy{z{{{{||{{yzzyzz{{{{{{z{{zzzzy{z{{{z{{{z|{zzz{zyzz{{zz{{{{{zyzy{z{z{z{{{zzzzyzzy{{{{{{{{zzzzzzyyz{{{{|{{z{{zy{z{{z{|zzzz{zzzzyzy{{{{z{z{z{zyzzzzz{{zz|{{z{zzzy{yz{{{|{{z{{{zzz{||{{{{{||z{y{zzzz{{{{z{{|{zz{zyzz{{{{{{||z{{{zz{zz{{{{{{{|z{zy{zz{||{|||{{yzz{{z{{{{{{{{{zz{{{{|{{|||z{{|z{{|{{|{|}{{||{|{{{{zz{|||||{{{|zz{z|{{z}||{||{|{z{{||{|{{{{|||{|{|{{{{||||}{|||||{{{{{{|{{|||{||z{{{{z{|{{|{{}|{{{{{{{{{{|{{{{|{{zz{{zzz{{||{|{z{z{z{{{{||}z{z{z{zz{z|z{|{{{{|zz{{yz{{yz|{|z{|||zzz{zzz{z|{||||{{{zzz{z{{{{{{|{zz{z{z{z{zzzz{|{{z{y|{{z|{||{||{{zz{z{{z{{|{z{{|{y{z{z{{{{|{z{{{{zzyzzyz{z{{{|{{zz{z{zzz{|{z{{z{{{zzz{zz{{{{||{{{{{{zz{yz{{{{{||{yzzz{z{zz{zzz{|{zyzzzzyz|{zzz||zyz{z{zz{{z{|{||z{zyz{z{{{{z{|z{|zyyzzz|||||{|{{zzz{zzzz|{{|{{|{{{z{{zz{z|||{|{{z|{z{{z{|{{{|{||{z{{zz{{{||{{{|{{{{{{{{{|{{{{||{zz{z|{|||{{{{{||{{|{{zzz|||||{}|{{|{|{{z{||||||{{{{|||{|{|z|{||}|z{{{{{{{||||}}||{||{z|{{}|||{|{|{{{{{{|{{}|{|}||{z||{{|}{||}|||{|{z{|{{z|{||||{{z{{|{|z{{|||{}{{{{{{z{{{{|{{{{{{zzzyzz{z{{z||{{zzzz{{zyz{z{{{{{{z{yzy{{zz{z{|{{{z{z{zzzz|{|{{{|{{zzzzzz{{{{{{z{{z{zzz{zzzzzz{{{{{|zzzzz{{{zz{{{{{zzzz{{zzz{zzz{zzzyzzy{zz{z{{|{zzzzz{yzzzzz{{|{z{zzzz{zzz{{|{{{{{zzzy{zz{{z{{z{{{{zzzzz{{z{{{{|zzzzz{zz{z|{{{}|zzz{zy{z{{{{{{|{z{{{zzzz{{{|{|z{z{{{z{{{|{{|{|||{{{{{z{z{|{{{{z{{{{{zz{{}|||{{|{{{{|{z{z{||{z||{|z{{|{z{{|||{z||z{z{{{{{||||{}{|}{{{{{zz||{||}|{{|{{|{{{{|||{|||{z|y{{{{{{{{|||||{{{|z{zz||{||||}{|{{{{{z|{|||{|{{{{|{{||{|{{||}||{z{||{z{{}||||{{{{{{{{{{{{|{||||zzz{z{{{||{z|||z{z{y{{{|{{zz{{z{zzzzzyz{|{{|zz{zyz|yzz{zzz{|z{{zzz{zzz{y{z|{{{|{{zy{z{{{{zz{{z{zzzzzzz{{{{{{z|zz{zz{zyz{{{z{z{{y{z{zzy{|{z{|{{zzzzzz{zzz{zy{{zzzz{zzyz{{zzzzzzz{zzzzzzzz{{{{{{{z{zzzzyz{{{{z{|zzzzzzzyz{{zz{z{zzz{zz{z{zz{{{{{y{zy{{zz{{{{{z{{zzzz{yz{zz{{||{|zz{zyzzy{zy|{|{|{z{zz{{z{|{{{{||{{z{{{zzz|{{||||{z{{{zz{{{{|{{|{{zzz{zzz{|{{{{{{{z{{{zyz{{{{{z|{z{z{z{zz{{{|||||{{{{{{{{{|||{{|||{{{{z{z{||{{||{|{|{{{{{{|||||{{|zz{{{zz{|{|{||{{{{|zy{{}|||{{{||z{{{{{|{|{{|{||{{|{{{{{|||{|{z|{zzzz{z{{||{{{}|{{{z{{{z||{{|{||{z{{yz{zz{|{{|{{{zzzzzzzz{{{{{{|{zzz{zzz{{z{{|{{{z{zzz{zz{{z|{||{zz{z{z{z{{{z{{{{zz{zzzz|{|{{{z{zzzz{zyy{|{zz{{{zz{zzzzz{{|{{{z{zz{zzy{y{zzz{{{{zzzzzy{z{{{z{{{{z{{{{{yz{{{z{z{{{{{yyz{y{{z|{{z{{z{{zzzzz|{{z{{z{{z{z{{zz{zz|{|{zzzzzzy{{|{{{||{{z{{zzzz{{{{z{{|{{zzzz{z{z{|zz{|{{z{zz{z{y{|{{|{{z{z{y{z{z{|{}{{|{z{{z{z{||z{||zz{{z{z{{{}{{{||{{{{{{{z{{||||{||{z|{{{z{{|{|{{||||{{{zzz|||{|{|||{{|{z{z|{{{{{|}|{||{{{{{{|{}||{|{|{{|{{{|||{{||}{{zzz|z||||{z{||{zz{{{|||||z{|||{|{{zz{{|{|||{}{{zzz{{{{z|{||||{{{{{{{z{{|{|z{z|{{z{z{z{z{{{{zz{{{z{zz{{z|{{{{|z{zzzyzz{|z{{|||{{z{zzzy|yzz{|{{z{zzzzz{{{{{y{{{{z{{zzzy{z{|{{{|zzyy{yzzz{z{{{{zzz{z{z{{zz{zzz{{zyzzzzzz{z{zz|z|zzzzzzzzz{zzz{z|z{z{zzzyz{{z{{z{y{zzyzyzz{{{|z{{{zzzzzzzzzzzz{zzzzyzz{zyz{z{{{{{|zy{{zzyzz{{{{|{{zzzzzzzz{{zz{{|{{{zzzzz{z{z{||{{{{{zz{{{{{|z||{|zz{|zy{{{||{|{{|zz{{{{{|||{{{{|{z{{z{{{{|{|z||{|zz{{{z{|z{{||{|z{{{{{{{{{{|{|||{{{{{zz{z{|||{||{z|{{{z{|{||||{{{{z{{{{{z{{{{}||{{|z{{{{z|}|||||z{|{{{z{{{|}|{|{{z{{{z{|{|{|||||{z{{|{z{{{{|{|{||z{z{{{{{|{{{||{{|{{{zzz{{{{{{||{{|zzzzz{{z|{|{{|{yzzzzzz{{{|{{{{zzz{{zzzzzz|{||z{zzz{{y{{{z{{||{{zzzz{zz{{{{{{zz{zyzzzz{{{{z|{z{zzyz{{zzz{z{z{zz{z{{zyzzz{{{{z{{zzzzzzzzz{{zzzzyzzzzyz{z{|{yz{{{{zzzzzzz{{z{|{{{z{zzyzzz{z{z{{{{zzy{{yzz{{|yz{{{y{zzzzyz{z{z{{{{z{zz{yz{{z{{|||{zzzyzz{z{{{z{{|{zzzzzzz{{{|{{{{z{{zz|z{|{|z{|z{{z{y{{z{{{{{{||z{z{z{{zy{{{{{{|zzz{{{{{z{{|z||||{z{zz{{{{{{|{|}{z{{z{||{||z|{|{|{|{|z|{z{|||{|}|{{{{{zz{|{{|{{}{{|z{{z{{{||||{||{z{{|{z{{}|}||||{{{{{{{z|||{{||}{z{z{z{|||{|{}|}{|z{{{{{|{{|{|||z{zz|zz{{z{|{||}{{{{z{z{{|{{{{}{{zzy{z{z{{{z{{{{z{zzyy|y{{z{{z{{{{{zz{yzz{{z||{|z{zzz{z{zz|{|{|{{zzz|zz{{zz{{|||z{yzz{zz{{z{{|z{{y{yzzz{y{zzz{{{{zzz{yzz|{{zz|{{{{z{yzzy{z{|{z{zy{zyyzzyz{z{{{zyz{{yzzz{zz{zz{{{zz{yz{zzzz{{{{||{{zz{zzyzz{z{{|y{{{yz{{zz{{{{|{{zz{{zz{z{{z{{y{{{{zzzzz{z{|{{|{||{{{z{z{z{{{{|{{z{{zzzz{{||zzzz|{{{{z{{{z|{{{|{{{{{{zzz{{{||{{}{{{{{z{z{z{{{{{|{{y{{{{{|{z{{||{z{z{z{z{{{|{{{||{{{z{{z{y|||{{{}||{{{|{z{{{{|{{}{{{{zz|{z{{|{{|}{|{|z{|{{z|||{|||{{{{{{z{{{|z{{|{{{{{z{{{{z|{|{|{{{{{z{z|{|z{|{{||zzzz|{{{|{|{{{|{zzzz{zz{|{{|{{{{{{{|zzz{{|{{{{{zzzyzz{z{z{{{{||{zzzzyyz{{{{z{{{{z{{zzzz{zzz{{|z{z{zz{yzz{{{{{{{zzyyyzyy{{|{{{{zz{z{{zzy{z{zz{{{zz{{zzz{yz{zz{{{zy{zz{zzyzz{{{{|{yzy{zyyzz{{zzz{z{z{zzyzy{{yz{|{{{yzzzyzzz{{z{|{{yzz{zzxzz{z{{{{zzzzzz{z{{z{z{{{y{zzz{zz{{z{{z||zzzzzz{z{{{{{{{z{{zxzzz{zz{{{{|{zz{yzzz{|z{{|||{zz{z{zzy{|{|{{{{z{z{{{z{{{{{z{{{{z{{{{{{z|z{{|||{z{{{{zz{z{{{{|{{{{zzz{{{{|{{{||{z{{{zzz|{{|{{|||z{{|{{{{|||}||{{{z|{{|{|{{||||||{{{z{z{{|{{|||}|z|{|{zz{|{|{{{{|{{{z|z{{{{{{{|{||z{{{z{|{z|z|{}{z{{z{{{z|{{|{|||{zz{{{{{|{{z{|{{z{zz{{{{{{{{z|{zzyzzzy{{{|{{z{{{zz{zyzz|{{z{z|{{{{yzzyyzz{z{{{|{zz{zyzzz|{|z{{|{z{zyzzz{zzz{zz|{zzz{z{z{{{z{|{{{zz{zzyzzz|{{{z{zzzzz{yz{{zz{{{{{yzzzz{z{{z{{|zz{{yyyzyz{{z{{{|{{z{zzzzzzz{{z{|zyzz{zzzyz{zzz{{{zzzz{zzzzyzz{|{{{z{z{z{{zzz{{{{{{{z{{yz{z{{|{|{|zz|{{{zz{{z{zz{|{z{{yzz{z{{||{{{{zzz{{zz{{|z{|{{{{{z{{|{{{{{|{{{|{{{{zz{||{{{{{{{{{zz{z{||{|{{{|z|{z{{{|{{}|{|||{{{{zzz{||{{||{{{{{z{zzy|}{||||z{z{{{{|{{|{{||{|||z{{{{{{|{{{{||{{{{{|z{||||{||||{{{{{{||{|{|||||{zz{{{{{{{|||||{|{{z{zz{{|{|{||{{z{z|{z{|{{z{||{{|{{z{z{z{zz{z|z{{zzz{z{{{{{{||zz{{|yz{zz{z{{{|{{z{{z{{{z|{zz{||zzzzz{{z{|{{{{{{{yy{{zz{{zzz{{|y{{{yzz{{{{z{{|z|zzy{zzz|||zz{{z{{{zzzz{{|z{{{||zzzz{yz{z{{{{{{{{z{{zyzzz{{z{|{{{zzzzzzz{{{z{{||z{{{zzzzz|zzzz|{{zzz|{z{{{{{||{{{{{zzzyz{z{|{{}z{z{{{zz{{{||z|||{zz|z{{{zz{{z{z|z|zz{{{z{||{{{||{{||{{{z{||{|||{{{{z{{{{{{|{|{}{|zz{{{{{{|{z|}||{{z{{{{{{||}||{|{{{{{{{{{|{|||{|{{||{{|{z}|||||{|{{|{{{z|||{}|}||{{z{|{{{||||}}|}z{{z{{|{|{|||||||{z{{zz||{{|{||{{{{{{{|{|||{|||{{z|z{{z|{||||{|{{|{zz{{{|||{|||||{|zzzz{||||||{{{{{z{zz|z{{z{{{yy{z{{zzz{{{{{||{zz|zz{{{{{|{|{|zz{{z{{{{zz{{|{{{zzz{{zzz{{{{{|{z{{yzz{z{{{{|z{}zzzz{z{z{{{zz{{{zzzz{z{zz{{{z|{{zz{zzz{z{{{{{{{zzzzxzzz{{{{z{{{{zy|zzzyzz{zz|{{{{{{zz{zy{{{{{{|{{zz{zzzz{{zzz{{|z{zzzz{yzzz{{{{{z{zzz{z{z{{z{{{{{z|zzz{z{{{{|{{|{z{{{{{z{z{||{{{{z{{{zz{{|z{||{|{{{z{zzz{|{{{{{|{{zzzzzz{{|{{|}{{{{{zz{{|{|{z{{|{{z{{{{{{{|{|{{{{z{{{||{{|{|||}{z{{z{zz{{||{|||{{|{{{{|{|{|{{{{||z{{{{{|{||z|}{|||z|{{z||}||}||{|z|{{{{{{||||{|||z{|{{{{}{{}{||}{{{{|{{{|{|{|{{||zzzz{{{|{{z||{|{{{{{{|{{|{|{{|{{{{zzz{z{{||{{z{{zyzz{{z|{{z{{|}{{zzyyz{{{{{{{{{{zzzz{{{{zz{{|||{z{zzzzz{{z|z{|||{zyzyzz{z{{{{{{yzzzz{zz{{{{{{{{{yzyzzz{z{|{{{{{zyzy{zy{zzz{z{|{{zz{zzyzz{{{{{|{zzzzz{yyz{{{{{z{z{zz{zyy{{zz{{{|z{zzyzzzz{{z{z{{zz{zzzzzz|zz{{z|zz{z{zyz{{{{z{{|{z{yz{{yy{{|{{{{{zzz{z{{{{{{{{{{{zzzz{{z{{{{z{z{|z{{zz|zz{{{|{|{z{z{y{z{{{{{{|{|{{{{y{{zzz|{||{{zz{{||y{{{{}{|}{|{{{y||z|{|{|||{{{{{{|{{{|}{{|{{|{{z}{{{|||{|{|||{|{z|z{||{{|||||{{{{|{|{}{||{|{|{||{{z{|||||||||z{z{z{{{{z}{{{||{{{|z{{{{||{||}{{{z{zz{{z||{|}}{zz{{{{zz}{{{{{{{{{{{z{zz{{z{{}{{{zzzyz{z{{{z{zz{{{{yzz|{|{z{{{{zzzzzzzz|zz{{{}{zz{zzzyz{{z|zzz|{{{z{y{zzz{{z{{{{{{yz{zzz{{zz{||{zzzzzzzz||{zz|{{z{z{zzzz{{{z{{{z{zyzzzy{{z{{z{{{zz{yzzyz|{{{z{zzz{{{zzzz{{{{z{{zzzzzzzzzzzz{z{{zzz{zzzzzzz{z{{{yzzz{z{yy{z{{z{|{z{{{z{z{{{{{{{{{{{yyy{z{{|{{{||z{zz{zz{{{{z{{{{{{{zzy{{{{{{{|{{z{z{zzzzz{|{{{|{{z{z{{zz{|{{|{{{zz{{{|{z{||{{|{{z{{z{z{{{{|{{||}{z{|{zz{||||z{}{{{{{{{{{||{||{}{|{{zz{|{{||||||||{z{{z{{{}{{{}}|{z{{{z{{|||{|||{z{z{{zz{|{||{}||{zz{{|z{||{|{|||zz{z{{{zz|{{{||||{{zz{{zz{||{{||{{zz{z{{{{{{}|{zzzz{{zz{z{{|zz{zz{z{zzyzz{z|z{{{|zzyzz{{{{z{{{{zzzzz{zzz{||{zzzz{zz{zzzz{z{zz{{{zz{z{zzzzz{{{}z{{zzzzzyzzz{zz{{z{{{{zzyzz{z|{{z{{zzzzzyz{{zy{{{{{{zzyyzzzz{z{{z{zzzzzyzzyz{{z{|{zz{{{zzyzzz{{{{|z{{zzzzy{{z{z{|{z{{{zzzzz{{{{{||{{zzzz{{{{{{y{{{{yz{{z{{z{{{{{z|z{zzy{zz{{{|z{|zz{{{{zzz{{{|{{{{zz{{{z{{z{{z{{|{{z{{{zzz{{{z|{z{{z{z{z{z||||||{|{|z}{{|||{{|||{|{{|z{|z{{{|{{||{|zz|{{{{{}|{{||{z{{{z{|{{|||{||||zz{|z{{{{||{||||{{{{{{{||{{||{|{zz{z|z{|||{|||||{{z{{z{{|z{|{{|{{{zz{{{{|{}{||{{{{|z{{z{{|{{{|zz{{yzzzz{|{{|{z{{{{{zyyyz{{{{{{{zzzzzzzz{z{z{{{z{zyzzzyzz{{{{{{{{yzzzyzzz{{zzz{{z{zzzyzz{|{{{zz{zyzzzzyz{{zz{{{zzzzzzyzz|{z{z{z{zzzyz{yzzzzzz{z{yzzxzyzyz{{{{{{zzy{zzzyz{z{z{z{zz{{zzz{z{{z{zz{{zzzzzyzzyzzyy{z|z{zyyzzyzzzz{{zzzz{{zzzyzzz{{{{{zzzy{yzyz||{{z{zzzz{zyz{||{{{{{{zzz{zzzz{{|z{{|{z{{zzzzz{|||||{{{{{{{zyz{|||{{|{{zzzzz|{z{{{{{||z{{z|z{z{{{||{z{z{|z{{{{{|z{|{||{{{{zzz{|||||{|{{zzz{z{{||{{||{}{{{z{|z{|{{{z{|||zz||{|{{{{|z{|{{{{{zz{|{{{|{||{|z{z{{z{|{{|{||{||{{{{zz{{{{{{z||z{{{{{z{{|{{{|{{{{{z{zz{||{{||{zy{z{z{zz||z{z{{zzy{zzzyz{{{{{{{zzzzzz{z{{{{{z{z{zz{zzyz{{{||{{{zzyzzzz{z{{z{|zz{zzyz{zzz{{zz|{{zz{{zyyyz{z{z{{z{z{{{zzz{{|{z}{zzyzzzzzzzzzzz{|{zzy{{yzz{{{{{{{zzy{zzzyyyzzz{{{{z{{zzzzzz{{|z{z{{{|zyzyyz{zz{{||{zzzz{zzz{zz{{z{z{{yzzyz{{{{{{{{{{zyzyzz{{|{{z||{z{{zzz{|{{{{{z|{{z{zz{|{z{{{z{{|z{zzzzz{{{|{{|{{zzz{zzz{{|{{{{|zz{{z{zz{||{{|{{{zz{z{z{{{|||{|{{{zzzz{{{{||||{|{|{{zzz{|{||||}||{{z|{{{|{|{|{{|{|{{{{||||{{|{|||{z{{{{{{|{}||||{z{{zz{{|{{{|||||{{{z|zz|||{||||{{{{{{z|}{{{{|||{{{{{|{z{{{{|z|{|{{{zzz{{{{|{||{{{{yzzzzz{{||||{{zzzzyzyz{z{z{||zzzzz{zzz{|{{{z{zz{yzy|y{{|z|{z{{zzzzz{z{z{{z{{{{zzzz{zz{z{{z{{{{{{zzz{zzzz{{{z{{{yzzz{yz{|zz{{{{z{zzyzzz{zzz{|z{{zzzz{yz{{z{|{z{zzzzzzz{z|{{{{{{z{zzzzzz|{{z||{z{zz{zzzzzzzz{{zzzz{zyzz{|{{zzz|{zzz{zyy{{z{{z{z{{{z{zzy{{{z{|z|z{{z{y{z{{|{z{||z{z{{zz{{{{{{z{z{z{zzz{zz{{{z|z{|{{z{zzz{{{|{{{{{z{{z{{{|||{{||{{{{{{{z{{{{|{||{{|{{|zz{{{{{{|||zz{{{zzz{z}|{{{|{z{{|zz{|||||||||{{{{{{z{{|{|||||z{z|{|{{|{|{{|||zzzzz{z||{||}{{{z|{{|z{||{{{{||{z{z{|{||{{{{}{|{{{{{{z{{|||z{}|{{{yz{{|{||{{{{{{{z{z{z{{{{z{|{{{zzzzz{{y{zz{z{|zz{y{zzz{zz{{||{{{zzz{zz{{{{{{{z{yyzyzzzzzz{z|{|{{zzzzz{zzz{{z{|zzz{zzzzz{{zz{{{{zzzyzzz{{{zz{{{{z{zzz{z{z{{z{{zyzzzzyyzzz{{z{|z|zzyyzyz{{|z|{{{zz|zzy{z{{|{z{|{{{zzzzzzz{zz{{{{z{{y{z{zyzzzzz{|zzzzzzyz{{{{{{{zz{zz{z{zz{{zz|{{{z{{zzzz{{{{{|z|{zz{z{z{{|{{z{z|{z{z|z{{z|{{{{{{{|zzzzz{|{{|{{|{{{z{z{z{{z{{z{||z{z{{z{z{|||{|||{{|z|{{{{|{|||||{{||zz{{{{|||{|{||{{{{z{{{|z{|{|z{z|{|{{z{z|{|{||z|{||{z{|||||||z{{{{{{{||{|{|{{{{z{{{{{||{|{||{{{{z{zz{{{{{|{||{{{{{z{z{{{{|{|{|{z{z{zz{{|{{|{{|{zzz{{z{{{||{{|{zz{{zzzz{zz{{{{z{zzzzzzz{z{{{{{{zzyzzzz{zz|{{|{zyz{zzzz{{{|z{z|{zyyzyzyzz{|zz{{zzzzzzzzz|{{{{zzzyyzzyzzz{{z{zzz{zzzzyzyzzzz{{z|zyzyyyzzz{z{{{{z{yzz{yyzz{||{z{{zy{yz{yzz{{zz{{{y{zzzzzzyz{zz{{zz{zzzz{zz{{{{z|{yxzz{zzz{{zzz{{{zzzyzyyzyz{{{|z|zzzzzyz{z{{{|{{{y{{zyzzzz{z{{{{{zz{z{zzz{{|{{||{zz{y|z{z}z|zz{{|{zz{zzzz{{{||{{zz{{z{{{{{|{|||}{{z{{{z{{{||{{{{|{zz{{zzz{||{{{{{{y{z{z{{{|{{{|}{z{{z{z|{{{{{|{|{|z{{{{z{{|{|z{||{{{{zz{z{}{{{{|||z{{{z{{|{z|||||{{z{z{z{{{{||||||{zzzz{z{|{|{{{||{z{zz{zz|{|{{{{z{zz{zzz{{|{{z{z{{zzzzzzz{{{z{zzzyzzzzzzz{{{z{{{{{zyzzzzz{{z{{{{{z{{yz{zy{{{{{{{z{zzz{zz{{z{{{|zzzzzyzzy{{z{z{{{zz{zz{zzz{{z{{|{zzzyz{yyz{{zz{z{zzzz{yz{z{{{z{{zzz{zzzzzz{{{{{|{zzzz{{zyz{|{{z|{z{z{zyzzyyzz{{{z{zzzyyzzz{|{z{{{zzzzz{zzz{{|{|{z{zzz{zz{z|z{{{{{z{zzzzy{{{{{{z{|z{{zz{yzz|{{{z|{y{{z{zz{{{{{|||{{{zz{z{z{{{{{{|{|z{{zzz{{|{{{||{{{{|z{{{{{{{||{|{{{z{{|{{|{{||{{{{z|z{zzz{{|||||{{zz{|z{{|{||{|||{|{{{|zz|zz{||{|zz{z}z{{}{|||{||{{zz|{z{{{{{{|{{{{{{z{{|{{{|{|||{{{|{{{{||||{||{z{z|{{z{{{z{||}|{{zzz{{{|{{{{|{{z{zzzzz{{{z{z{{y{z{{{zzz{{{|{{{zzyzzzzzz{{z{{z|{{z{zzzz{zz{{|{|zzz{zyz{{|{{{z{{{zzzzzzyzz{|{zz|zzzzzzzzz|{zz{{|zz{{zyzyz{{z{z{{zzz{z{zzyzz|zzz{zz{zzz{{z{z{{|zz{{{{zzzz{{z{|zz{zzzzzzzz{{{z{z{|{y{zzzzyz{{z{{{z{{z{zzzzz{z{z{|{{yzzz{zz{z{{z{{{{z{z{z{{z|zz{{{z{{{{z{{z{zz{z{{{zyyz{zz{{{{z{{{{|z{{zz{zz|{{{|{{zz{{{{z||||z{{{|{y{zz{{zz{{|{z{{{z||{{{{{{||{{{{{{{{{{{z{|{||}{|{zz{{{y{{}||{{|{{zzz{z{{|||{{{|||z{z{{|{{{{|{}|||{{|{z{{{||}||||{{|{{z{{|{|{{{|{{z{{|{{{{z||{}{||{z{{z{{|{|{||{|{{z{{{{zz{|{||{|{{zyz{|{{|{{|{{{{{{y{y{{|z{{{{yzzzyzzz{zyz{{{{{{{zzzzyzzzz{{{{z{zz{zzzzy{z{{z{{y{zzzzyzzz{{zzz{{{z{yzyzzzz{{z{{{zzzyzzzyz{|z{{{z{zyz{zzzz{|yy{{{zzzzyyzz{zy{z{z{yzyyzzzzz{{{{zzzzzzzyyzzz||z{{{{yz{zzzzz{{{zz{{{{zz{zz{zzzzz{z{{z{zy{yzz{{z{{{{{zz{yzzzz{{{z{{{{{zzz{yy{z{{|{{{|zzzyyzzz|z{z{{{|zz{zz{zzz{{z{z|{zz{{{zzzz{z|{{{{yz{{{{|{{|{{{{|{{zz{{{zz{{{{{{{{{{zzzzz{{{|{|{{|z{{z{z{yz{{{|{}|{z{z{zzz{{z{{|{|zz{{zzzz{}|{{{}{{{{{z{|zz||{{{{||z{{z{zz{}{|||||{{|{{zz{|{|{{||||{z{{{{zz|{{{{|{{{{{{{z{|{||{|||{zzzzzz{z{||{{{z|{zzz{{z{{z{{{||zz{zzzzz{{{z{{zzz{{z{y{{{{zzzzz{{{zy{xzxzz{{{{{{{z{zyzyz{zz{{{{{z{{zzzzy{zz{zzzzz{{zzzzy{{{|z|{{zzzzzz{zz{z{{|{{{{zz{zzzzz{{z{zzzz{zyyyzz{{{z{{{{zzzzz{zzzzzz{{zy{zzzyzz{z{{z{{{zzz{yz{yzzzz{z{z{zzz{yz{zz{z{zzz{{zyyyzz{zzz|{{{zyzzzzzz{{z{{{{{zzzzzz{{{{|{zz{||z{|zy{y{{{|{{{{z{{{y{z|{{{{{|{{z{{z{z{{{{z|||z{{{{z{zz{{|{{{{}zz{zzzzz{{{}{||{{{zy{{yz{|{{{{|||{zzz{{{{|{{{{{{|{|{zz{zz|||{z{|{{{{z|z{{|||{{|||zzz{{z|{z{||{{{}|{{z{|{|{{|||||{{z{|{z{|{|{|{}{}|z{{{{{|{|{{||{{{{z{}z{{z{{|{{||{{{z{{z{||{{{{|{|z{zzzzz||z{{|{|{z{zzz{z{{|{{{z{{{yzzyzyz{{{z{{{{zzzzzzz{{|{{{{|{{zyy{zz{z{|{{{|y{z{zyzz{{{{{{|zzzzzzyzzz|{|y{z{{yzzz{zz{{{{{z{{{zzzzzzzz{{{z{|zzzzyy{zzzzz{{{{{zz{zzzyzzz{{{{{|yzzyz{y{z{{{{z{{{zy{zzzyz{{zz{{|zzzzzyzyzz{z{|{{{zz{zyy{z{zzzz{zzzyyz{{yzzz{{{{|{{{zzz{z{{{{{{|z{z{z{z{zz{{|zzz|yzzzzzzzz|{z{{{{{{{{z{{{z{z{{{{{{{zz|z{{|{||}{|}z{{{{zz{{|{{{{{{{||{{{{{{|{{{|{|{{{|{{|z{{||{}||{z|{{{{z{||{{||{{{{|{{z{{}{{||||{{{z{{z{{|{{{|{{|{{{z{{{{||{||||{{|zz{{{|{{{{|{||z{{|{{{{{{{|{}|z{{{{{{{{|{|{|{|{{{y{{z{|{{{|{|{{{{{{{z{{{||z{|{zz{{z{zz{{{||{{zzz{{zz|zzz{zzz{{{zy{zyyyy{{{{|{||zzzzzyyzzzzzz{y{{zzzzzzz{{zz{{{zzzzyzzyz{{{z{z{zzzzzzzyz{{zz{{{zzyzzzzzzz{z{{zzzzzz{xzzzzz{z{z{yzz{xzzzz{{zzzzzz{zzzzxzz{{|{{z{{{zzyzzz{{z{y{|{{zyyzyzyyyzz{{{{{zzyzzzyzz{|z{z{zz{zzyyy{zzzz{|z{yxzzz{{z{z{{|{{zzzzzy{zzz{z{|{{zzzzzz{{z{{z{{{z{z{zyzy{z|{{{{|{{z{zzz{z{|{|{z{z|z{{zzyzz{zzz{||{z{z|{z{||{{|{|{z{{zzz{{{|{}{{||{{zz{zz{{{|{{{{{{{z{{zz|{|{||z||{z{{z{{{{{|{}|{|{{{{{{{z{|}{{|||{y|{z{z{{|||{{|{|{{zzz{z||{{||||{zzz{zz{{{||{||{{z{z{zzz{{{z{{{{{{{{z{{z{{{|{z{{{{zzyzzz{z{{{z|z{zzyzzzyz{{z{{{|zz{yzzzzz{zz{|{{zz{z{{zz{y{z{z|z{zzz{zzyz{{|{z|{{zzyyzzz{z{{{{{|{zzzzzzzzzz{{z{z{|zzzzyzz{{yzz{zz{zzzz{yzzzzzz{|{yzzz{y{{z{z{{{{{zzzzzzzz{{z{{|z{zyzzz{zz{{{{{{|{zzz{{y{z{{z{{{|z|{z{zzzz{z{{|{{zzz{{yzzz{{zzz{{{zzz{zz{{{{z|{{|{zzz{z{{{zy{{z{{{{{{y{|z{{|zz{{{zz{{zzzz|{z{{{{|{z{|{zzz{{{||{|{{zz{zzzz{|{{z|{{|{z{z{zz{{{||{|{z{zz|{||{|z{{{||{zz{{{{z|{||||{|{z{{|z{{|}{|{{|}|{{{|z||{{{||{||{z{{{{{|{}{{{{}|{{{{{{{z|{{{|~}{}z{{zzz{{{{{||||{|{{{z{{||{{{|{{z{{{{{{{{|{z|{|{{z{{z{zz|{||{{{{{|{zz{yz{{|{|{{y{z{zzzzyzz{z{{{|zzzzyyzzy{{{{z{z{yzyzyyz{z{z|{z{{yz{z{zz{{{|z{{zyz{{zy{y{{{{z{z|zzzyzzz{{{zz{{zz{zyz{zyz{z{zzz{yzzz{yzzzy{zzz{z{{{{yyzyzzzzyz{{z{z{zz{zyzz{z{z{{{z{yyzz{z{{{z{z{zzzz{yzz{{zzyzzyz{{yzzzzz{{zz{{zzzzz{{zyz|z{{{|{{z{yzyz{{zz{z{zzzzyzzzz|zz{z{|z{{{zzzz{z{{z{{{{{zz|{yy{zz{|{{{z{{zyzzzz{{{|z|{|{yzyzz{zz{|{|{}{|{{{z{z{z{{||{{|{zz|{{z{{|{z|||{|{z{{zzz{||{{z}{|{zzz{z{{||{{|{||{z{{{{{|{z{{|||{|{{{z{zz{}||||{{|{{{zz{{|||{{||{{z{z{{zz{{{|{||||{z{{{{z|{{|{|{{|{{zz{z{|{{z|{{{{{z{{zz|{z{z{{{{{{{yz{{z|z{{z||{zzzz{zzz{zzz{{{{z{{zzyzz{{{{{{{{{{zzzzzz{z{z{z{{z{zzzy{xzz{{{z{|y{{zyz{y{z{|{{{{{zzzzy{zyzzzz{{{{z{x{zzyzzzz{{{{zz{z{yzzzzzzzzz{yzyyyy{y{{{yzyz{zz{zyyzzzy{z|{zzzz{zzyy{{z{zz{{{{zzz{zzz{z{zz{z{{zzyzzzzz|zzz{zzzzyzzzzzzzz{{{|{zzz{{{zz{{z{|{{{z|{zzyzzz{{{{{{{zzzyz{{yz{{{{|{{zz{zzzzz|{z{{{{{z{{{{z{y{{{{z{{{{zz{z{zz|{|{{{{{z{zz{{|yz{||{{||{z{{z{z{{{{{{{|{{{z{{zzy{||{{{|||{z{{{z{{}{{|}||{{|{{{z{{||{|{{{|{{z{z{{{|||{{{{}z{{{z{{|{|{{||{|yzz{{z{z|{|{|||{{{{{{z|{{z{||z{{{{z{{z{{{|{{||{{yz{{{{z{{|{{{{z{{zzzzz{|{|{z{z{zzzzzzzyy{{{{{{{{yzzzz{zyzz{{z{{{{yyzzy{{{{{{|{{zyzzzzzyz{{|{{{{yzzzyyzyz{zz{|z{zzzz{z{zz|}zz{zz{zzzy{{z{zz{z{z{zzyzzzzz{zz{{{zz{z{zzzz{yz{z{{{{zyyzyz{|zzzzz{zzzz{{zzy{zzzy{{{{zyzz{yzzzz{{z{{{zzzzyy{y{{z{zz{zzzzz{zzz{{{{zz{|{zzzz{zz|{|zzz{{{zzzzyz{{{z{{zz{{y{z{{z{z{|{{{{zzz{z{zzz{|{{{{{{{z{y{{z{{z{{{{{{zz{{|zz{{{{zz{{{{{{z{{{{{{||{{{{z{zzzzz{|{|{{|||||{|{z{{zz{||{|{|z{{|z{{||{{{||{{{{{{{{{{{|{|||||zz{z{{{{}|}||{|{z{{z{{{{|||{|}{{{{{z{{{{{{{{{||{{z|{{z||{z{||}|{{{{|{{{|{{{{{|{{z{zzzyz{{{||{z|{{{{{z{z{|{z{{{{|zzzzzzy{{zzz{{{zz{{z{{z{zzz{{{{{zzz{zzz{|z{{|{{{{yzzzzy{z|{{{z|z{{zzzzz{z{{{{{|{zzz{zzz{{{y{{{zzzyzzz{z{zz{|{{zzzzyzzzzyyy{{|z{z{zy{zzzz{{{{{|{zz{zzzzy{{zzz{{{zzzzyzzyz{z{z{{zzzzzzy{zz{{{z{{z{{zzzzzzzz{z|{|{{zzzzyzy{{{{{{|{zzzzzz{zy{{zz{{|zzzzzzz{{{zzzz{{z{{zzzz{z{{{{{{{yzzz{yzz{{{{|{{|zz|{{zzz{|{{|{||{z{{z{z{z{{{{||{z{|{{{z{{{{{|{{|z{|{{{z{||{{{||||{{z{zz{|{{{|z|{{z{{{zzz{||{|{{{{z{{{|{{{{|z|||||{z{{{{z{|{{{|||{{||{zz{{|||{{{}||z|z|{zz{z|z|{|{|{{{z{{|z{|{{||{z{z{{z{{{|{{{|z{{{{zz{zz|{{{{|{{zzz{z{zz{z{z|z{{{zz{zzzz{{{{{{{{y{{{yzz{zz|{||{|{{y{yzz{{{zz|{{{z{zzzzy{{{{{z{{zz{yzy{yz{{{||{{{{zzzzzzz{{{{|{{{zzzz{zyz{|z{{zzzzz{zzyz{zz{{{{{zz{z{zzzz{{{zzzyz{zzyzzz{{|z{zz{{{zyzyzz{{zzz|{|z{{y{zzzz{{z{z{zzzzy{zzzz{{{{{z{zz{{{{zz{zz{{{|zzyz{zy{{z{z{z{{{zz{{{{{z{{{{z{{|zzz{zzz{{z{{{||{{{z{{y{zz||}|||{{zz{{z{{{||{{{{{{{z{zz{z{{{|{||z{{{z|z{{{{{||{{{{z{{{{{z{{{|{|}|z{{{{{{{||||||{{zz{z{{{z||}{{|{{|z{{{|z{|z||{}||{z{{z{z{{||{{|||{{{{z{{|{|{|||{}|{{{z{z{z{{|||||{zzzz{{{{{||{{|{{{{zzz|zz||||{||{{zzzz{z{||{z{{|z{zz{z{{|||{{||yzzyzzzzzz{{z{z{{zzyyyz{zzzz{z{{{zzzzzz{yz{{z{|{{yzyzzzyyzz{{zz|{{zzyzyyzz{zzz{z{zzzzzzzzzz{zz{{{yzzyzzy{{{{yzzzzzzyzyzzzzzz{{{zzzyyzzzzyzzzzzzzzzyzyzyyzz{zz{z{{zzz{zzzzzzz{zz|{zyzzzzyzzzzz{{z{z{zzzyyyz{z{z{z{zzzzzzyyz{yz{z{{zzzzzy{z{z{zzzz|zyzzzyzz{{z|y{zzzzzy{{{zzz{{{{||zzzzzy{{z{zzz||{{z{{zzy{{{z{{{{{{z{z{{z{{|{{{{z|{z{z{z{{{{{|{|{{z{{z{{{{z{{{{|z{{{{{{yzz{{{{|{{{{{|z{z{z|||{{|{{zz{{{z{{{{{{||{{{z{{z{z{z|{|||||{{{|{z{z|}|{{|{{|{{z{{{{{{z{{{|}{zz{{{{z{{{{|{||{{{z{{{{{{z{{{||{{{{zz{{{|{{{||zzzz{zz{z{{{|z||{yzzzyzzyz{{z{z|{z{yzyzzzz{z{{{{|y{zyzyzy{{{{{|||zz{yzz{z{zzzzz{{{yzzzyzyz{z{{{{{yzzyzzzyz{zzz{zz{zy{zzy{{zzzz{{{zz{zzzzyy{zzz{{zzzyzzyz{{z{{}z{zzz{yyzzzzz{{{{{zzzzzzyyy{{z|z{{{zzzzzyzyyz{zz{{zzzyzyzzzzzz{{{{zyzzyzzzz{z{|{z{z{zzz{zzy{z|{{|{{{z{yzzz{zzz{{z{|zzzzyzzzz{{{{{{{|z|y{zzyz|{{{z{z{z{zzzzz{|{|{||zzz{z{yzz{|{{{|{{|{zz{z{z{{{|{|{|zz{{{z{{||{||{{}|z{z{zzz{{{|{{{{{zz{{z{{|||||{{{zz|{z{|{{{{{{{||{{{z{{zz{{{{||||}z{|z{z{|{{{z{z|{z{z{{z{{{{||{{|{z{{|{z{{{{|{{{|{{z{zy{{{|z{{z|{{{|zzzzy{{{{z{|{zz{zz{z{zz{{z{z{z{zyz{zy{{{z{z{zzzy{y{yzzz{{z{{zzzzzzzzz{zz{{{{{zz{yzyyzyz{{z{{z{zzzyzzzz{{{z{z{zzzzyz{zz{{{z{{{zzzyyzz{z{z{z{zzzyyzyyz{{yzyz|z{zyzzzyyzz{zz{z{y{zxy{yyy{yzyzzz{zzzzzzzyy{zz{{{zz{zzzz{yz{zy{zz{z{{yzyyyz{{zz|{zzyzyyzzzz{z{z{|zz{zy{y{{{{{{{{{|{zyz{y{z{z{{{z{{z{{zyz{{{zzz{{{{{{zzzzzyy{{z{{{zz{zz{{yz|{|{{{|{{{{{{{z{{{|{{|{{z{{z{zz{z{|{{|{{{{|zzy{z{{{{{{|z|zz{{z{z{||{z{{{|zzz{zzzz{{{{{{|{{z{{{{{{|{{{{{{|z{{{{{{{{|{|{|{{{zz{y{{|{{|{|{|z{{zzz{zy{{{|{|z|{{{{z{{{{||z{||{|z{{z|{{{{{{||{z{zzzz{{{z|{{{|{{zzzyzzz{|{z{{z{zzxzzyzyzz{zzz{z{z|zyzz{{zz{{||{{{zyyzz{zz{{{{{{{zzyzzyzz|{z{{{zz{{yyyzy{y{{z{{{zzzyzyzz{zy{yz{z{zzzzyyzzz{zz{z{zzzyyzyyzzyzz{{zyzzz{zyyyzzz{{zzzyzzyzyz{z{z|y{yzyzzzyz{zzz{z{{{zzzzzzzz{{z{{zzz{{zzzxzzyzz|{{z{zzz{{{zzz{{{{{{{{{zzyzz{y{{{{zz|{{{{zzzz{{zz{{|{zz{{zyzzz{{z{{{|{zzzzz{y{zzz{|{{zz{{{z{yy{{{{z{{{|z{yz{z{{z{z{z{{z{z{z{zz{|{|}{{z|{z{{{z{{{{z{|}{{{z{zzzz{|z|{{{|{zz{zz{{{{{{{{|zz|yz{{{{||{{||{z{{{z|{{{|{{||{||zzzzz{{{{||{{|{|z{z{zz{{{{||z||{{{{z{zz|{{{z{{|z{zz{zz{{{{{|{{|{z{z{{zzzz{{z{{z{z{zzz{zzzzz{|{zzzz{zzyzz{{z{{z{zyzzyzyz|{zz{{z{{zzzyz{zzz{z|{{{|z{yzxyzzzz{zz{{zzzyzzzy{z{{z{{{zyzzzyzyz{z{z{|z{zzzy{{z{{{zz{z{{yzzz{zz{zzy{z{{{zzzzyyzzzz{z{{{{yzzzzzzzzzz{z{yzz{yyz{zzz{{z{{{zyz{zyy{z{zzzzz{{zyyzzyzyzzz{{{{y{zzzzzzz{z{yzz{{zzzz{zz{|{{{z{|{zzyzz{{y{|{{{||z{zzyzzz{{|{{{z{{z{{zzzzz{{{{{{{{z{zz{{{{{{{{|{{{{z{z{z{{{{z{||{{{zz{zzz{z||{{|{zzz{{{{z{||z{{|||{{{zyzz{{{||{|{|z{{z{|z|{{{|{|{|{zzzz{z{||{|{{||zz{||{{|z||{|||{{{{z{{{{z{|{|{|{{z|{{{{|{{{||||{zz{{{{{{{{{{{{{z{{zzzz{{z{|z||{|{zzzz{z{z{||{{{{z{yyyzz{{{{{z{{zyz{zyzyz|zzzzz{zzyyyzzyzzz{z{{zzzzzzyyyzz{zz{{{zyzzyzz{yz{zz{{{zzzyyzyy{zzzz{{zyyyyzzzyzyzzzz{zzyzyyzzyzzzzz{{{zzzzyyzyzzz{{z{|yyzzzyyyzzz{zzzzyzx{zzxzyyz{{|zyzyzzzyzxzzyy{z{{zyyzzzzzz{zz{z{zzzzzyyyyy{yz{{zzzz{{{z{zzzz{{{|zz{zyzzzzz{zzz{{zzzzzyzzz{z{{|zzzzzzzzzzy{{zz{{{{{zzzzzz{z{z{{{{{{yzz{yzz{{{{zz|zz{zzzzzy{{|{{|zzz{zyzzzzz{||{z{{z{zyzzzz|{{|{zz{zzz{zzzz{{|{{z{{{{z{z{{{{|{z|{{|{zyzz{zzzz{{|z|{|zz{|{z{{|{|{{|{{y|{z{z{{|yz{{|{{zzzz{zz|{{z{{||z{zzy{y{{{{{{{{{{{{y{z{zz{{{{|}z|zzzzzzz{{|z{z{{zzyzzzz{zz{{{zyz{yzyyzzzyzzzy{z{zzzyzzyzzzzz{{z{zzzyzyz{{yy{{zzz{zyyzzyyzz{{zzz{{zzzyzzyzz{yz{z{{zzyyyyyzzz{z{z{zyzyzyyyzzzzzz{zzzzyyyyyzzz{y{zzyyyyyyyz{yzz{zyzzyzzzzxyzzzzzz{z{zzxzzyyz{zz{zzzzyyyzx{yyzzzzyyzzzzzzzyyyzzzz{zzzyzyzzzzz{z{z{{{zz{zzyzyz{zzz{{zyyzzyzzzzyyzz{z{{{zzzzzzzzzzzz{|{zyzyzyyzzzzz{{{z{zzzzzzzzz{{{{{zz{zzz{zzzzz{{{z{z{z{zzz{z{{{|{{zzzzzz{z||{{|{{|zzz{z{yz{{z{{z|{{zzz{yzz{|{z{{{{{{zzzz{{z{{{{|z|{y{zz|zzz|{{||{{|z{{yzzz{z{{{|{{zzz{{zzz{z{z{{|{|{{zzzzz{{{z{||{zzzyzyzyzz{{{{z{z{z{zzyzz{z{zzz{yyzzyyzz{z{zzzz{zzyzxy{yyz{zz|z{zzzyzyyy{zz{{|zzzzyzzzz{{zzz{{{{zyzzzxzzzzz{y{{zzzyyzzzy{z{{z{z{zy{yzz{zz{{zzz{z{zzyyyyzzz{zz{zzzzzzxzyzzz{{zzz|zyzzyy{yy{zz{zz{zzyzyyyyzz{z{|zz{yzzyzzz{zy{z{{{zzyyzzyzzzzzzz{yzyzyy{yxz{zyy{z{yyzzzzzy{zz{{zzzzz{yyyzzz{{zzz{zzzzzzyzz{z{z{{{|y{zzyzyzz{z{zz{{{zyzzzzzz{{zzz{{{yyzzyyz{z{|zz{zzzyzy{zzz{{zz{{{yzzzzzzz{|z{{{{{{{{zzz|{{{z|{{||z{zz{zz{z{|{{{{{{zzzz{{z{{|{{z||{z{zz{{z{|{z||z|{z{zz{{zz|{|{{{|zz{{zzzz|{zz{|{z{zzzzz{z{|{{{|{{{z{{{{z{{{{{|z{{zzz{zz|z{{{|z{{{zzy{zzzzzz{{{{{{z{zzzzzz{{zz{{{zzz{zyzzyz{{zz{{{zzzzzzzzzzzz{{|{zzzzz{yz{zz|z{{{zzzz{yzz{{zz{z{{zzyxzyyz{y{zz|zzyz{zzzzyyzz{z{z{{y{zzyy{zz{yzzz{{yzyyzzzzz{zzz{{zzzyyyzzzz{zzz{zzzzzzyyyzyzy{zzzzzzyyzyy{zzzz{{z{yzyzyyy{zzzzzy{zyzzzyyzzzzzz{{{zy{zyzyzzzzzz{{{zzzzzzz{zz{z{{|{zyz{zyzz{{{{z{z{z{{zyz{zz{z{{{{{{z{{zzzz|yz{{{{zzzzzzz|z|{|z{z|{{zzzzz{{{{{{{{{{|z{{zz{z{z{|{|{{{zz{{{{{{{|{|z{{{{z{{|y{{|{{}zzz{{{{|zzz|{{{{{{z{{zzzzz{z{{|{{|{{zz{{{{z{|z||{{|{{{{z{z||{{{zz{{z{{{z{{{{|{|{{{|{{{{{{{z{}|{|{{|{z{{z{zzz{{{{|{z|{zzzz{zz|z|z{z{z{{zz{zz{y|z{{zz{{zyzzzyzz{{{{{{zzzzzzzzzzzz{{{{zzzzzyz{z{zzz{{|zz{zyyyz{{{{{{{zzzzzyyzy{{zzz{{{yy{z{zzzz{zzz{{zzz{zzyyy{z{yz{{zzz{zyyyzzzz{z{z{zzyzyyzzyz{{{{{{zz{zy{yzzzz{{{z{zyzzyzzyz{zz{{|zzzyz{zyyyz{z{zzyzyyzz{zzz{z{z|zzzzzz|yzyz{{{{z{zzzzzzz{z{{{z{{{{{{{zyzzyzzz{{|{z{z{{yzzzz{{z||{{z{zzzy{y{|{|z{z{zz{zzzz{{{{|{||{{zy{{zzz{{{zz{z{{{z{{z{{z{|{{{{|z{zz{{{{{{{||{||{{{{z|zz{{{{{{{{{{z{y{{{{{z|z{|{{{{|{z{{{|z{z{|{zz{{{{{{z|z|{z|{|{z{{{{{|{{{{|{{{zz{|zz{zz{|{{{{{{{yz{{z{|{|{{{|{{{y{{z{z|{|{{|{{{zzzzzzz{{{z|{{yy|zzzzzzz|{{{{{{zzzzzzzzz{zz{z{{{zzyzyyyz{zz{zz{zyzzzyz{zz{z{|{zz{yyyzzz{{z{z{{zzzyyzyy{z{zzzzzzzzzz{zzzzzzz{zzzzzzzzyzzzzzzzzzzzyyyyzyz{zzzzyzyyzyz{zzyzzz{{z{yzyyyyzz{zzz{z|zzzzzyyzzzzz{y{{{{yz{zyzy{zzzzz{y{yzyyz{zz{{y{{{zzzzzzzyyzz{z{z{zzzzz{zzy{{{zzz{zz{zyzzzzzz{zz{yzyzzzyz{zz|zz{z{{zyz{zzz{z{{{{{zzzz{zzz{zzz{z{{|z{yzz{zz{{z{zz{{zzzzz{z{zz|{{{{z{zz{zzzz{z|{|{{{|{zz{z{zz|{z{{|{z{z{z{z{z||{{{{||zz{z{{zz{{z{{|{{{z{{{{{{{|{{{{|{{zy{{{{z{{{{{{||{zzz{{z{{{|{{{{{z{{zz{{{{|{{{z{|z{zzzz{z{{|{{{{{|{{{yz{zz{{|{{{zzz{{zy{z{z{zz{z{xyyyzz{yzz{zzz{zzzzyzyyyz{{z{{zz{y{zzzzz{z{z{{{{zz{zz{y{z{zz{{{{yz{xz{{yzz{z{{z{zzzyzzy{y{zzyzzzzyyyyzzyzzz{{{zzzzzyzzyz{zyzyzz{yyzyzyzyzzzz{{zzyyzyzzyyz{yzz{{{zz{zzyyz{{zzzz{zzyzyyyyzzz{z{z{yzzyyyzzyz{zzz{{zzzyy{{yz{z{zz{{{{{{y{zzyz{{{zz|{{zzzzz{z{{{{{{{{zz{{zzzy{{z{{|{zzzyzz{yz{{z{z{{zzyz|zzzz{{zzz{|z{zzzzz{{z{{zz{{{z|z{zzzz{{|{|{{{z{zzzzz{{{z{{|{|zyzz{{z{z{|{z{{|{zy{{zy{||{{{{|z{{{{z{z{{{{{||{{{zz{yz{{{{{|{||{|{{zz{z{{{{{{{|{zy{{zzz{{{{z{|||{|zz{yzz{{{z{{|{{z{zz{{zy{z{{{z{|zzzzzzz{|{{{z{{zy{yzyzzz{{{{{zyzzzz{yzyz{{z{z{{zzzzzxzzzzz{z{|{yyyzzzzz{zzz{{{{yzyzyyyy{{zzz{{zzy{yyyzzzyy{yz{zzzzzyzyxzzzzy{{zzzyyzyyyz{{zz{y{zyyzyzyzzzyzzz{zyyzyzyx{zzzyz{z{zzyzyyz{y{{z{z{zyzzyzzyzz{zz{{{{z{zyzyzyz{zz{{z{z{{yzzyyzzy{{{zzzyzzzzzyzzz{z{{{zzzyzyzy{{{zzzz{zzzzyzz{{{zz{z{zy{zyzz{y{|{z|{{|{zzzzyzz{|{|z{zzzzzy{z{zzz{z{z{z{zz{y{yz{{zz{{zz{z{{zz{z{{{|||{{z{zzz{{{{{z{{{{|{zzzzz{z{{{{{{|{{zy{{yzz{zz|{{|{{{{|z|zz{|{{{{{{{z{zzzzzz{||{{{}yzz{z{zz{{{{|{{{zz{z{z{z{{{{||{|{{z{zzz{{{{{{{{{{{{yzzzzzz{{z{{{zz{z{yzzz{z{zz{{zzyzyyzyzzz{{{zzzzzyyzzzz{zz{{{|yyzzyyy{zzz{zz{{zzyyyyyz{z{{z{{{zyyzzzzzz{{z{z{zzzyyyyzxz{y{z{{zyzzzzyzyzzyyzzz{zzzzzxzzzzzzz{yzzyzyzzyy{zz{yzz{yzzyyyyzyz{zyz{zyyyyyzzyzz{{zzz{zyzyzyyyzzz{z{zz{zzzzyzyyzzyzzz{yzzyxyzzzz{z|{|{zyzyyzzyzz{z{{z{yzyyzzy{z{z{{{{zzyzzzz{yzzz{z{z|zzzzzyzzzz|z{{{{zyzzzxzz{{z{zzz{z{{|zzxzz{{z{{|{{zzzyyy{{{yz{z{{zy{{{zzz{{{z{|{|{zzzzz{y{|z|{z{|yz{zzzzz{{{{|{|{{zzzzz{z||{{{{{{zz{zz|{{z{{{{{{{|z{zz{{y{|{{{|{{{z{zzzzz{{|{{|||{{{zzzz{zzzz{|{|{{zz{zzz|{{{|z{{zzzzzzzzz|z{z{{z{{{zyz{y{{|{{|{{{zzzzzzzzzzzz{zzyzyxzyyyz{zzzz{{yyyzyyzzz{zzy{yzzzzzzyyyzzzzz|zzzzyzyyyyzzz{{{{zzzyzzyyyz{zzzzz{yyyzyyyyy{zyzzz{zyyxzyyy{z{yyz{zyzyyyxyyzzzzz{{{yzyzzyz{yzyzzzzzzzyyyzyzz{z{zzzzzzzzyyyxzzz{{zz{zz{yyxzyz{zzyy{{zyzyyy{zyzzzz{z{y{zyyyzyzyz{z{{{yzyyzzzyzzz{z{zzzy{zzzzzz|{zz{{|y{yzz{zyy{zyzz{|zzz{zxzx{{{{{{{zzzz{yyyyzz{{{z{zzyy{yzzzzz{{{z{{zzzz{{{zzzz{|{|{z{zy|{zzz{|{{z{{{{zzyyzz{{{zz{{{|zzz{zzz{|{{{{{|zz{zzz{{z{z{{{|z{{zz{zz{{{{z|{{|zz{zzzz{|{||{z{{{zzz{zzzz{zz{{{|zzzzzz{{{{{{{}|{y{z{zz{{z{{z|{{{{zzzzzzy{z{{z{z{zyzyyy{z{{{{zz{zzzzzzyyyz|{{{z{zzzyzzyzyzz{{{{zz|zyyyzzzzz{zzzzz|xz{z{yzyz{{yzz{zzzyyzyy{zyzyzzzzyzy{yzyzz{zz{zz{zyyyyyyz{{z{zz{zyyyzyzzzyzyz{{{yzyzyyzzzzzzzy{{zzz{y{yy{zzz|zy{y{zzzyyzy{{zzy{{zyyzzxzzz{{z{{|z{zzzyyzzzz{{{{{zzzyzzzxyy{zz|{{{y{yyzxzzyy{zz{z|zzz{zyzz{z|{{|{{zzzzzzzzzz{{{z{{zy{zzzzyzz{{z{{|zy{zzzzz{||z{{z|zzyy{zzzz{|{z{{zzz{zzz{zzz|{z{{{{zz|{y{{{zzz|{{{zy{zzzyzz{z{{{{{{z{{zzzz{|||{{|{{{{z{{{{{z{{{{{{{{zzzz{yz|{{{{{|{z{{z{z{{{z|{|{{{z|zz{zzzzz{{{{{z{zz{zz{{z{{{{z{zz{zzz{zz{|{{{{zz{{{y{{y{{z|{z{zzy{yzzyz{|{z{zzzzzyyzyzzy{zyzz{zzzzzyyyzzzzz{z{{{yyzyzzy{z{z{{{zzzzyzzzzzz{zzyzzzzxzyzyyzzzzzzz{yz{yyyzzz{{zz{{zzyzyyzyy{zzy{{{zyy{yyzyyzzxz{zy{zzzxyxzzzy{yyzz{zzzzzyzy{{z{zzzzzyzzzzyyyzzz{zzzzyzzyzzyyz{zzz{z{zzzzyzzyzzzz{{zzzz{y{zyzzz{{z{{zzzzzyzzzzzz{zz{zzzzyzz{{{{zz{zzzzzzyzzz{{{z{{z{z{zzzyzz{zz{{z{z{{zzzzzzz{{zz{|{{zz|zzzz{zzz{{z|{zzyzz{y{{{z{{{{yz{{{z{zz{z{{{{{{zz{z{zz{{{{{{{{{zzz{z{z{{z{{{||{yzyyz{zzzz{z{{|{z{{zzzzz{z{{{||{z{z{z{{z{{{{|{z{zy{{{z{{z{{{{|z{{zz{zz{z{z|{{{|{z{yz{zzzz{{{|||{{zzyz{z{{z{{z{{zzz{zzzzzzzzz{{|zyzyzyzy{{zzzz{zzzzyyzyyy{yzz|z{||zyz{yzzzzz|{{{yzzzzyz{zzz{z{zz{yzzzyzyzz{{z{y{z{yzzzzzyyxyz{{{zyzyzzyzzz{yzzzzzzzzyzyzyzz{zzz|yzzzyxzzzzzzzz{zzzzzyyy{zz{{{z{zzz{zyyzyzzz{zz{z{zyzyyzzz{zyy{{{{zyyzzyyyzzzz{|{{yzyyzyyzz{{yzzz{yyyzyzzz{{zz{{{{yyzzyzzz{z{z{{|yzzzzzyz{{{z{{z{{zzzzz{z{{zz{{zzzyzzzzzzz{|{z{|z{yz{zzzz{||z{z{z{{zyzz{zz{z{{{|zzzz{z{|z{|{|z{{|zz{zzzzzz{|z{{{|{{zz{z{{{{||{|{{{{zz{{{{{|{{||{{{z{{{z{{{{{|z|{|{z{{z{{z|{{{{{{||{{zz{{z{|{|z{{{|{z|{zzz{{|z{|{{z{|zyzz{{{z{{{|{{zz{yz{z{{{|{{{{{zzzzyzz{{{{z{zzzzzyzzzyz{zzz{z{zzyyzxyzzz{{{z{{{{zyyyzy{zz{zzzzzyyzyzyy{z|zzy{zzzzzyz{y{y{{z{z{{zzyyyyz|zzzyyzyzzzzyyyzzzzzzzz{zzyzyyyzzz{zz{z{yyzzzzzzyzzyzz{yzzyzzywzyz{{zzz{zzzzyzyzyz{{z{{{xzzyyzyzz{zz{{zzzzzzzzzzy{zzzz{{zzzzy{yyzzzz{{z{{zzyzyzyzzzzz{{{zyyzzyzy{zz{{{{{zzzzzzzyzzz|{z{{{yzzzyyzzzy{{{zzz{{{zzzzz{z{{z{zzyyzy{zzz{{{{{{{z{zz{zzyz{{{|||{z{{{z{{{||{zz|{{z{zz{{zy{{{{z{{{|z{zz{{z{{|{|z{{{{{zzz{{z{{z|{{|{{{z{{{{z{{{{{{||z{zzz{z{{{{||{{|z{zyz{zz{z{z|z|{{z{zyy{{{{z{{{|{{{{z{zy{{z{{{{{{{zzzzzyz{{{{z{zz{zyzzyzz{zz{{z{zzz{zyyyz{{z{zz{zyyzzyzyz{{{{{y{zzyyzyz{zzzz{{{zzyzzzzyy{zzzy{zz{{{yzzyy{z{zzz{{zyzxyzzzzzzzzzzyzyzxzzyyzyzyyzzzzzzzzzyyzzzzzzz{zyzzyzzzzzz{{{{zyzzzyyyyzyzzzzzzzzzzzzzyzzzz{z{zzyzzyzzyzzzz{{zzzzzyzyzzzyyzz{|{zy{yzyzy{z{{zy{zzzzzzyyxz{z{z{{|{{zzzz{{{z{{z{{{{zzzz{zz{{zzzz{{{{zzzzy{z{z{z{{zzzz{{zyyz{{{z{{|{zzzzzzy{{|{zz|{{z{z{zzzz|{{{{{zz{zzz{{{{{{{{zz{{{{z{{z{z|||{z|{|{{z{zzzz|{{{|z|zzz{{z{z{{{{{{{|{zzz{zz{{{|zz|}|{zz{zzz{{||{{zz{{z{z{z{|{{{{|{{|{{{z{zzz|{{|{{{|{z{z{{y{zz{{{{|{{{{y{zzyz|||z{{|zzzzyyzy{z{{zz{{zyyyzyyyyzzz{z{{zyzxzyzz{zzz{zzzzzyyyzzyyz{{zz{zzyzyyzz{zz{zyz{zzzzzzyyy{{{{zz{zzyzyyzzzz{yz{{zzzy{yzzyzzyzyy{{zzyyzyyyyzzzzz{{zyyyyyzzyy{zzz{zy{zzzyzyzzz{zzyzzzyzzzyy{zzzzz{z{zyzzzzzyzzz{zz|{{xzyzzzzzzz{z{zzyz{yzzzyyzz{{zz{{zzzzy{zz{{zz{zzzzzzzyzyzzz{zzz{zz{yyzzzz{{{z{z{{zzzyzyz{z{zzzz{{yzzzzyz{z|zzz||zz{zzzzz{{{{{{{|{{{zzzzz{{{{{{{{zz{yzz{z|{z{{z{{zzz{zzxzy{{{{{{{{yz{{zzz{|{z{}|z{z{zz{{{{{{z{z{|zz{{z{{{z{|z|{{{{z{{z{zz||{zzz{{|zz{z{z{{{z{{z{|{zz{{zyz{{{{{||{zzzyz{{z|z{{|{{zzzzzzzzz{z{{z{{{zzzz{z{z{z{{{yzz{yzzzyzzyz{yyz{z{zyzzyzyyz{{z{z{zz{y{yyyzz{zzz{{zzzyzzyz|z{{zz{{z{yyyzyyz{z{zz{zzyzxzzyyzzzyy{zzzyyzyzyzz{{zzzzyzyxyxyzzzzzzyzzyyyzzzz{yz{zy{zz{zzzyyyyzy{zz{zzzzzzzyzzyzz{z{{{{zzzzzzzyz{zz{{z{zyzyzyzzz{zyz{z{zy{yzzyz{z{{{z{{zzzzzzzyz{{{z{{|zz{{yyzzzzz{y{{z{zzzzyz{z|{z{z{{{z{zzyzyz{{|zz{{zyzzzzyz{{|{{{|{yyzzzzzz{{|{{{{{zz{z{{zz{z{{|||{{zzzzy{z{{z{{z{{y{zzzzyy{{}||z{z|z{{zzz{{{{{|{|{{z{{zzz{{{zz{{|{|{zz{z{{{{|{z|{|{{{{{z{z{||z{{||{{z{zzzz{|{{{{{{|z{{z{{{{zzz{||{zz{zz|zzzz|{{{{{|zz{yyz{{|{{z||{{z{{zzzzz{{{{{|{zzzyzyzzzzzz{zzz{zyyzzzzy{z{zzzz{zzyzzzyz{z{{{{zzzzzzx{zzy|{z{{{{{yzzyyz{zz{z{{{zzyyzzzyzzzy{{{{zzzzzzyzzz{{z{{zyzzyxyzzzzzzzz{zzyzyzyz{y{zzz{zzzyyzxyyzzyzzzzzzzzzyzzzzzzzz{z{|zzzzyzzzyzzz{z{z{zzzyzzyyzzz{{zzzyzyyzzy{z{z{zzz{zzzzzyz{z{zz{|zzz{{zxzzz{y{{{|{{yzzzzzy{z{{{{{z|{z{zzyzy{z{{z{zzyzyzzzzyz|z|{{z{zzzyz{z{{{zzz{zzz{z{zz{z{{z|{{|z{{|z{{z|z{{{{{|zzz{{{yzzz|||{{{zz{||{{z{||{{{{z{zzzz{{{{{{{{||||{|zz{{{z||{||{{{{{yz{z{|{{|{|{|z{{{zzz{{zz{{{{{z{z{z{zzz{{{{{{{z{zzz{z{{{{{z|||zyzzzzzz{{|{{{{z{zz{z{zz{{{{z{zzyzyzzzyyz{{z{{{zyzyyzyzyzzz{z{z{zzyzzyzyzzz{{{{{zyzzyyyzzz{zzz{{{yyzyzzyyzz{{{{{zzzy{yyyz{zz{zzzzzzyxyzzz{{zy{zzyyzyzzyzzzy{zzz{yzzyzzzzz{zzzz|zzyzzyzzyyzzy{zy{yyzzzyyzz{zzzzzzzzzzyzyyz{zy{zz{{yyyyzzzzzzzz{{yzyzzz{yyzz{yz{z{{zzyzz{zz{zzz{{z{y{yyyzzyz{zyz{{yzzyzzzz{yzz{{{zzzyyzy{zzzz{z{{{{y{zzzyyz{{zzz{{zzzzyy{{{{zzz{zzzzyzzzzy{{{{{{{{zz{zy{{z{{z{zz{|zyz{zzz{{z|{{{{{zzzzzyzz{{z{{|{{z{{zzz{{z{z{{{{{{{zzz{zzz|{{{{{{{z{z{z{{{{{{{{|{{z{{zzz{{|{{{{|||zz{{zzyz{z|{|{{yzzz{yzz{{{z{{|{{z{zzzyzz{z{{zz{{z{zyzzzz{{{{zz{{zyyzyyyz{zz{zzzyyyzyyyzzzzyyz{{zzyyzzyyzzzyzy{{yzzzyyyzzz{{y{zzzzzyzyzy{zz{zz{{yyzyyyzy{zzxzzzyzyyzyyxyzzzyzy{zzyzyzzyyzyzzzzyzyxyyzzyzzzzzzyzyzzyyz{zxyyy{z{{yzzxyxyy{zzz{{|zyzyzzzyyyzzzzyz{zzzyzyyzyxz{yy{{zyzyzzyyzzy{{{{z{{zzzzyyyzzzyzz{|zyzyyzzzz{{zzz{zzzzyyy{y{{z{{z{zz{{zz{zy{z{{z{zzzzzzy{yyz{zz{{zyyzzzzzzz{{zzz{{zzz{z{{zzzzz{{{{zz{zzzzzz{z{{{{{{zzz{zzyy{{|zzz|z{zzz{yzz{{{{{z|{zzzzzzz{zz{{||{{{z{zyzzzz{{|{{{{{zz{zzzz{{{zz{|z{zyy{z{zz|{zz{||{zzz{zzz{{{{{{{{zzyzzzyzz|{{{{{{{zzzzy{yzz{|zz|zzzzzyzzz{{zz{zzyyzyyzzzyyz{zzzzzzyyyzyzyy{zzzyzzzzzxzzyzzzyy|yzzyyyzzyyz{z{{z{z{zyyzyzyyyz{zzzzzzyyzyzyxzzyyz{zzzyyyzyzxzzzzzzy{zzzyyyyxzyzzxz{zyzzyyyyyyzzzzzzzzzzzxyzyz{{zzz{zzzzzzyyyzzz{zz{{zzzyyzyyzzzzz{zyyyzxyzzzzzyz{zzzzyyy{zyyzzzzzzz{yzyyzzzyz{zzzzz{y{yzyzzz{zz{zzzzzzzzzzy{zz{{zz{{zzzzzyzzz{z{{{{{yzzyz{zzzz{{{z|zzzzzzyzzzz{z{z|y{z{{z{{{{z{z|{{{{zzzzz{z{{{{{{{|z{zz{zzyz{z{{z{{{zyz{z{z{{{{{|{|{{{zz{zzz{z{{{{|{{z{{{zy{{{{|{{{{zz{zy{z|{{{{z{{{yzz{{zzzzz{{{{z{zz{{{z{{{{{{{{|zz{z{zzzzz{z{z{z{{zz{z{zy{z|z{{{zzzzyzyzyz{{zzyzzyzzyyyyyzzy{yzzzy{xyyyz{z{{|zzzyzzyyyyyzzzzyz{{zyzzzyzzyz{zz{{{yzzyyyzxzzzzz{{zzzyzzzyyz{zzzzzyzxzyzyzyzzzyyz{zyyzyzzyy{yzzzzzzyyzyzzyyyz{zz{zzzzzzyzyyyz{z{zzy{zyzyyyyzzzzzzzzzzyyyyyyz{zyzzzyzzyyzzyyyzyzzz{{zzyz{zzyzzzzz{{zyzzzzy{yzz{z{{z{zyzyyyzzzz{zzz{{{yzxyzyz{z{|{{{zzyyyzzzzz{yzzzzzzzzzz{z{zz{{{z{{z{yzzy{{zz{{y{{{{{zz{zzzz{|z{z{{zyyyzz{{{|z{z{{|zzzzzyzzz|{{{{{{{z{{zzzzz{{zz{|{{{zz{{{zz{{z{z{{zzz{z{{zz{{{{{{{{zz|zyzzz{{{{|{{zzzzzzyzz|{z{{{|{{zzz{z{z{{z{z{|zzyzzzzzz{{{zz{{{z{{zyzz{zz|yz|zzz{zzy{zz{{zzzzzzyyzyxyyyz{yz{z{{yzzzyyzzzzzzz{zyzyyzzyyyyzy{z{z{yzzy{zyyzzzzz|yzyzyyyyz{zzzz{z{yzzyyyyzzzzzzzzzzzzyzzzzzz{zzzzyyzyzzyzyyzyzzzzzyzzyzzyzyyz{zzzyzyyyzxyyz{zzz{{{{zzyyyyzzzzz{y{{yyyz{xyyyzz{y{z{zyyyyyyyyzzzz{{zyyzyzzzy{{z{zz{zzzzyyzyzz{zz{{{zzzyzzyzzzzzzyzzzyyzyzzzzz{{yzzz|{zzy{yzzzzzzzzz|{{yyzzyyz{{zzzzzzzyzy{zz{{{zz{{z{yyzz{zz{z{{{{{{yxzz{z{{z{{z{{{{{zzzzyzzz{z{{{{{zyzy{zyz{{{z{{{{zz{yz{zz{{{z{{|{{zz{zzz{y{{{{{||{z{zz{yzz|{{z{{z{zzzzyzz|{z{z{{{{{zz{zzzzz{{|{{|{zzyzzz{{|{zz{{{{{{yzzzzz{{{{zzzzzzyzzzz{{{z{{zzzzyzzyzyz|z{zz{zyzyzzyyzzzzzzz{{zzzyzzyyzzz{{zz{{z{zzyzzzz{{zz{{y{zyxzzyyzz{y|z|z{yzzzzzyyz{zzzzzzyzzzzzz{{yyz{{zz{zyyyzzzz{zz{zzzzzzyzzz{z{zz{zyzyyy{yzzzzz{{z{yzzzyzyzz{{zz{{{zzzyzyzyz{{zzz{zz{zzzzzyyzz{{{z{zy{zz{z{z{{{{z{{{zyz{zzyz{{zzz{{zz{yzz{z{zy{z{{{zzzz{zzzzy{{z{z|zzzzz{zyy{{z{{{{{zzz{zz{{{{z{{{z{zyzzzzz{z{z|{z{{{zyz{z{{{{{{{|zzzz|z{{z{{z|z||{{{zz{zzz{z{{{z{z|z{{{{{z{|z{{{||y{zzzz{{z{{{{|{{|{{z{zz{{{|||{{|zzz{{{{{}|{z|{{{z{z{{{z{{|{{|{z|{{{{{zzz||{{z{||{{{z{{z{|zz{z{|{|zz|zzzz{|z{{{|{{{{zzzz{z{{z{|zzzyyyyyyy{zzz{zzzzz{zzyzy{{zzz{{{zyzyxyzyy{zz{{{{zzzzzyyz{zz|yz{{zy{yzyyyzzzz{z{{zyzzyz{zz{{yyzzz{xyyyyxyyz{yz|zzzzzyyzyyyzyy{zzzzyyzzzyzyzzyzz{zzzzzyzzyz{zy{z{zzzzzzyzx{zz{{{{|zzzyzxzyz{{zzz{zyzzzz{zzy{zyzzz{zyyzzzyxzz{z{z{{zyzyzzzzzz{zzz{{zzyyzyzz{{{{z{{{zzyyzzzzzzzzzy{{z{zyzy{y{z{z{{zzzz{zzyzyz{z{z{{yz|zzzzzz{{{{{{zz{{z{z{zz{{z|z{{|{{z{{{z{{|{{{{{{{{zzzzzz{{{{z{z{|{z{{z{zz{{z|z||z{zz{{{z{{{{{||{zz{z{{{{{{|z{{||{zy{{zz{z{|{{||{{zz{{zz{{z{{{{||{zzz{zz{|{{{|{{{{zzzzz{{z{z{{{|{|{zzzz{{z|{{zz|{zzzz{zzz|{{{zyzzzzyzyyzzyzzzzzz{yyzzyxxzz{zz{zzzz{yzzyzyzz{yz{{zzyzzzyyzyzzzz{z{zyxyyyyyyy{{z{zzzzyyyzzzzzzyyz{{zzyyyyyyzz{yyzzzzyzzz{yzzyzzzzzzyyyzzzyxzzzz{{zzzz{zyyyzy{zy{zzyzyzyyzyxz{{{zzz{zzzxyyzyzzzzzz{zzyyyyyzyy{zzzz{zzyzyyyyyzzz{zzz{{yzyyzzzyzzzzzz{yy{y{zzz{{{z{{{{zyzzzzyzzzzzz{{y{zzzzy{z{{{z{zy{zzzz{zzy{z{zz{{{{zyzzzz|{{zy{{zz{zzyyzzz{zz|{{{zzzzzzz{z{zzz{{z{{{zzzzyyz{|zz{{{{yz{zyyz{z{{z|{|z|{y{z{{{{{{{{|{{yz{zz{{{|{{{{{|zzz{zyzz{{zzz{z{{yyz{zzz{{z{{z{|{{{{zy{{{{{{{{{{{{zzzzzzzz{{{z{{z{zyzy{{y{z{z{{z{yzz{{zyzzzzzz{zyz{yyzz{zz{zzzyzy{zzyzzzz{{yz{{{zzyyzyyyzzzzz{z{zyyzzzyyzzz{yzz{{zzyzyyyyz{zzzyzyzyzzzyyyz{zzzzzyyyyzzyzyzzzz{|{zyzzyzyzyzzzy{z{yyyyzzyyzzyzzzzz{yzzyyyyz{zz{z{zzxzyyzyyz{z{zz{{zzzzyzyxyzz{zz{zyyzyzyzyyyz{z{{zzyzzzyyzzz{zzz{zzz{zzzyzz{zzzz{{zzyz{y{z{z{{z{{zyzzyzyzzz|zzz{{zzy{yyzzzyy{{zz{zyz{z{yzyzzzzzy{zzzzzzzzzz{|zz{{{{{zzzz{{{{{{{{|zzzz{{z{y{{z{{{{{{zzzyyzz{{{{z{||zzz{z{zz{{{{z|{z|zzzz{{{|{{{{{{{zzz{z{zzz{y{|z|{{z{{zzzz{{z}z|{|{zz{zz{{z{{z|{{|{zz{{zzzz|z|{|{{z{zz{zz{z{z{zz{|zzzyzzzz{{{}z{|{{zzyzzyy{{z{z{zzzzzzyzzyyz{zyzzzzzyzyzzz{zzzyyz{zyyyzzyyzz{zzz{zyzyyyyyzz{zzyzzz{yzyxzzyzz{zz{{zz{zyzyyyyzzzzzzzzzyzzyyz{yzzz{zzyyyyzyyyzzzzzz{{yyyxyyyyz{zzz{{{zyyzxyyyy{{z{{z{zyzzzz{zz{{y{z{{zzyyzyyyyzzz{zzzzzzzzyyzz{zz{{{zzyyyyyzyzzzz{zz{yzzyzyzz{{{zzzz{zyzzyyzzzz{{zzzz{yzzzzzzzzz{zz{{zzyzzzyyz{z|{|{{z{z{yzyz{{{z{z{zzzzzzz{y{{{zz|z|{zzz{yyzz{{{{{|z{zzzz{{z{{zz{{{{{z|yzy{yz{|{zzz{{zzzzzzzz|{{{{{{zzyzzzzz{z{z{||{{{zzzzzzz|{zz{{{{z{zzzz{{{zz{{{{{yzzzzz{z{zz{{{{zyzz{yz{zz{{{{z{{z{zzzy{y{z{{z|{{z{{zyzz{{{{z{{zy{zy{zzyz{zzzzyzzzyyyy{yyzz{zzzzyyyyzyyzyz{zz{{{zzyyyyzyz{yzzzz{yzyyyyzz{y{zyzz{yzzxyzzyzyz{zz{{xzyzzyyyyzzzy{zzzzzzzzyzzzzyzzzzzyyzzzyyzzzyyzzzyyyyyyyzzzzz{{z{zzyyzyyzzz{z{yz{yzzyzyxyyz{yzz{{zxzzyyzxyyzzzzzzzzyyzyzxyzzz{yz{zyy{yxzyyzzzyzz{zyzzzyzyz{{zz{z{zyz{zz{y{y{{z{{{zzzzzxyz{{zzz{{zzzyzzzzyz{zzz{{zzzzzyyzz{z{zz{{zzyz{|zzz{{{z{|{zzzzzyyyz{z|z{|{{zzz{yzz{z{{{z{{{{yzz{yzy{z{zzz{{zzz{zyzz{z{z{{{|z{zzzz{{zzz{|z{{|z{zz{zz{|{|{{{z|zzz{z{z{{z|y{{{{z{{zzzzzzzz{{||z{z{z{z|{zz{{{{|zzzzzy{yzz{{{{z{{zz{zz{zy{{z{{{{zzzy{zzzz{zzzzyyzzzyzzyyyz{yzzzzzyzyxzzyzzz{zz{{yzz{yzyzyyzzz{{zzyyxyyyzyzz{yy{{zzzyyyzyzzzz{z{zyzzyyzzyyzzyzz{zzy{xyxzzzzzyzzzzyy{yzyyzzzzyyzyyyyyyzyyzy{zyzzzyyzzyzzyzyzzzzzyzyzz{xzyyzz{z{{z{zzz{zxyyzzyyzzzzzzyyzzyyyzz|yzzzz{zyyzzz{zzy{z{zz{zyyy{yzyzzzz{zyyyzyyyzzyzzzz{{zzyyzyyyzz{{z{z{{zzzyyzyz{{{{zzyzzzzzzxzzz{{{{{{zzzyzzyz{{z{zz{{zy{z{{zzyz{zzz{{{{{zzz{{{{{{{{{zzzyzz{z{zz{{{{z{zyzzyz{{{{|{{{{{zzz|zz{{zzz{{{{||{zz{zz{z{{{{{{{{zzz{{z{z|{zy{|{{y{zzyzz{{{z{{{{{zzz{zz{z{z{{{{{zyzzyy{yz{{{{|{z{zy{zzzz{zz{{{zz{y{yzzzyz{zzzz{zyzyzyyzzy{{zzzyzyzyyyzyzzzzyz{z{zzzywyyz{{z{{z{z{z{zzyyyyzzzzz|{zzzzzzxyzzzyy{z{yyyyyzyzyzxzyzzzzzyyzzyyzyzzy{{zzxzxzyyyzzzzzzz{zxyyyyyyyzyyzz{zyyyyyyyyzzzzz{zzzyzzyzzxzzz{zzzzzzyzzxyyyyzzz{zzyzyyzyyyyzyyzzz{zyy{zzxzzyzy{z{{yzyzzzyyzzzz{z{zyyzyzyyzzzy{zy{{yyzy{yyy{{z{z{{zzyyyyxzzy{zzz|{zzzzzzzz{zzz{zz{zzzz{zzyy{{zzz{{zzzz{zyzz{z{{{|{{zzzzz{{|{{|{y{zz|zzzzzy{{zz{zz{{{zzzz{yz{{z{{{{z{zyzzz{z{{z{{zz{|z{{z{z{{{{z{{{{{zzzzzz{{|z{z{{{zzzyzz{{{{zz{{||{zyz{zz{{{{|z{z{zzzyy{{{zz{z{{{{{{zyz{yyz{y{z{zzzxzzzzzyzz{z{{zzyzyyzyyyy{{zzz{zyyzzyzyy{zzz{z{{{zyzzzyxzzzzz{|{yyzyzyyzzz{{zz{{zzzyyyyyz{z{z{{z|zyzyzyy{zzzyzzyzz{zyyy{zzzzyz{zzyzyyzyz{zzzzzzzyyzyzyyzzzzzzzzzzyyzxyxz{{{z{zzzzyyzzyyyzz{{zz{{zzzzzyzzzzzzzz{{zz{yzzzzzzzyz{{{{zyzyzyyz{yzz{zz{zyzzzzzz{zzz{{|z{yyzy{{z{{zz{{zzzzy{yzyz{zzzz{z{zzzyyzz{|{{z{{z{z{zzyyzzz|{z{{{zz{zyzyz{{zzzyzzzz{{{z{zzz{{{|{{{y{{z{yz{{z{z{{{zzy{zzzy||{|{||{{yzzzz{{{{|{{{||{z{{{{zz{|{|{|{|{{zzy{z{{{||{|z{zz{{{z{y{{{{|z{{zzzz{|zzz{{{{{{|{zy{{z{{{z{{{|{{z{zy{zzzz{{{{{{{zzzz{yzz{{z{z|z{zz{zzyzy{z{z{zz{zzyyyyyzzz{zzy{{zzzzyyyz{{zzy{z{zyyzzyzzzzzzzz{z{yzzzyyyyz{{z{{{zzzyxyzx{zzzz{z{zzzyzyzyz|zzz{{{zyyzzzzz{z{yyzzzzzyyyyzy{zzzyzz{yyzyyxyzy{zz{{zzyzzyyzyzzy{zz{z{zzzzyyyyy{z{{zyyzyyyz{zyzz{yzzyzzyyyyzzzzyzzy{zzzyzyyzyzzz{zzzzzzzyzyyzyz{z{zz{{zz{yyzyzz{zz{zz{yz{yyzyy{z{{|{{{{zzyzyzzz{z{{{{zyy{zzyyz{{|{zzzz{zzzzzzz{{zzz{{zzz{{yzz{zz{|{{{{{z{z{zzz{z{{z{{|zyzzzzzz{z{{zzz{{{{z|z{z{{{{z{||yz|zzzzz{z{{z{{{{zzzz{z{z{z||{{|zz{{zzz{||{{{z{zzzz{zzy{z|{z|{{{{{z{zzy{{{z{{|z|zz{zzz{zyz{{{{||z{{{zzzz{{{{{{{zzzzzzyzz{y{{zzz{yzyzzyyyz{zz{zzzzzxzzyyzyyzz{z{{zzyzzyyyzyzz|yzzzzxzzyyzyzzzzzz{zyyyyyzyzyz{{{{{zyzyzyzyzzyzzzzzyxzzzyz{zzy{z{z{yzyyzyyyzzzzzzy{zyzxzzyzzzzzzzzzzzyyyzyyz{{zzzz{xyzyzyyzyzzyzzz{zyzzyyyyyzzzzzz{zzyxyzyyyzzz{{{{zyyyy{yyzzz{zz{{zyzyzyyyy{{zyz{{yyzyzyyyzz{y{zzzxy{yzzyz{z{z{{{zzyzzyyzyzyzzz{z{zzzzzzyz{{zzz{|{zy{zzzyz{|{zzz{z{zzzzzzz{{{|{{{{zzz{zy{y{{z{z|{{zz{zzyzy{{{{{{|zzzzz{{{z{{z{{z|{zzzzzz{{y{z{{{{z{{zzyzz{z|{{z{{|{{{{zzzz{{{{zzz{{yzzzyzzz{{z{{|{{z{z{zz{zz{z{{zzzzzzz{zzz{zz{{{{yzzzzz{z{{{{{z{zyy{yzyzzz{zzzzzzz{zyyzzzyzzz{zz{zzzzzyzzzzzz{{z{zzzzzzzyzyzz|z{{zzzzyzzzyz{zz{z{zxyxzyyyyyzzzzzzzyzyzyyzy{zy{zzzzzzzyyyyyzzzzzzzzzzxzzy{zzyzyy{{yyyyzyzyzz{{zzzzzzyyyzyzzz{z{zz{zzzyyzzzzyyyzzz{{yzzyz{yzyzz{zz{zzzyzyzyy{zy{zzzyyzz{zyzzz{zz{{zzzyzzyzz{z{{{z{{zzzzyzzz{zzzz{z|z{zzzzzzy{zz{zz|{yyzzyzzzzz{{z{{zyzzyzzy{z{zzz{{zzyyyzzz{|{y{zz{zzzz{zzz|{{{zz|{zz{zzz{zzzz{{{{|z{zzzz{zz{{{|{{|zzzzz{y{{zzzz{|{z{{zyz|{{{z{{{{z{yzzz{yz{|{{{{{|{z{{zzzz{{z{{{z{{z{zzy{z{{z{{{|{|zz{zzzz{{{{{{{z{{z{yzzzy{{z{{}|z{yzz{yzz{{zzzz{zzzzzyyy{z{zzzzzyyyyyzzzz{z{yzzzzyzz{yyzzzyz{z{{zyzyyzzzzyyz{{zz{yyyzzzyz{zz{z{zzyzyyz{yyzzy{{|{zzyyzzyyyzzzzzzzzzyyzyzyz{{zyzzzyyyzzyyz{z{zzzzzyyzyzyzzyz{zy{zz{zzyyzyzz{{z{zz|xzzzyzzxzzz{z{{{yzzyzzzyzzyy{{z{y{yyzxyzy{zzzzz{zz{zzz{zzy{{{z{zyzzzzyyyz{{zzzz{yzyzzyzyzzzz{{z{yzzzzzyzz{zz{{z{z{zyzyyyz{{y{zyzzyzyzzzyzz{{zzz{{zy{{{y{{{{zyz{{{zzzzyyz{z|{{{{|zz{yyyzz{{z{{|{{zzy{zzzz{{{{{{{{{z{z{z{{{{{{z{|{zzzzz{{{z|{zz|{{{{zzy{z{{|{{|{{|{z{{zzz{|{{{z{z|{yz{zyz{{{zz{|||{{{z{yzzzz{z{|{{zzzz{yyy{zzz{{||zzzyxyzzzz{{z{{zz{zyyyzy{|{z|zyzyzzxyzxy{zzzzzzz{yzyyyyyzzzz{z{{zzyyzzxyzy{zz{z{zzyyyyzy{zy{y{{{zzzyyzzy{zz{zyzzzzyyxzyy{zzzz{yzzzyzzyyyzzzyzzzzzyzzyzxyzzyzz{{zyyzzyyyzz{zyyzzz{zyyzyyzyz{zzzz{zzyyyyyyzzyzz{zzyzzyyzzxyzzyzzzzzzyyzyzyz{zzyz{zzyzzz{zyz{zzz{{|zyzyyzyyy{yzz{z{yy{zzzzy{zzzzz{zyyzzzzzyz{zzzzz{{y{yzyyzzzz{{yzzzyzzxzzz{{zzz{zz{yyyz{yz{{zzz{{zzzzyzzz{zz{{{{{{zzzzzzzy{{z{{z|{{zz{zzzz{{{z{zz{|zzz{zyy{{{z{{{{zyzyz{{z{{{{{|z{zzzzzzz{{|{z{{|{{zz{zzz{z{{{{{{{{z{zz{z{{{zz{|{|zzyz{zyzz{y{{{{{zz{yzzy{z{y{z{{{{zzzyzzz|z{|{z{z{zzzzyyzz{{zzyyzzzyyzzzyzz{yzzz{yyyyyzyyyzzz{zz{yyzyyyy{zzzz|z{zzyzzyxyzyzz{zy{zzy{yzzyyzzz{z{zzzzyzyyzyzzzzyzzzzzxyzyyy{z{zz{{zyyzzyzyz{zzzzz{zyzyzyzzzyzzz{z{zzzyyzyyzz{zy{{{zzyzzzzzzz{{{zz{{{zzyyxzyxzzzyz{zyzyyyyzyyz{zz{{{zzz{y{yzyzzz{zzzzyyzzzzyzyzzzzz{yyzyyzz{zz{{zzz{{z{{zyzzz{z{{{zzyz{zyzzzzz{zz{{zzzzyzyyzz{{{z{|y{yz{zzzz||{zz{{z{z{zzzzzz{{{{{{{y{zzz{{{{{z{z|z{zz{yzzzz{{z{|{{{{z{z{zy{z|{{{z||zz{{zz{zz{{z|{|{{{zzz{zzz{{{{{||{z{zzzz|{z{zz{z{{z{zzzzzzz{|zz|{{zz{zz{z|{{{{{{{{{{zzzzzz{zzz|{|{zzyzzzy{{{{y{{{{zzxyyzzzzz{zzyzzyzzzyzzyz{zzzzzzyyzzyyyzzzzzzzzyzzyyzyzzzzz{z{zzyyyzyyzy{z{zzzzzzyxzxyzzzzzzzzzzyyyyyyyzzzzz{{zzzzyyzyyzz{zzzzyzzyyyyzyyyz{y{z{yyyyzyyzzyzzzzzzyyyyzyyzyzz{{zzzzzz{yzywzzzzzy{{zyyyyzyyyyyzz{zzxyzyyyyyyzyyyzyzy{zzzzyy{zzzzzzzyxyyyyyzzzzzyzz{zyyyyyzyzyz{zzz{zyzyyzzyyzz{zzy{zzz{{yzyy{{zzzzzzzyyyzyzyz{zzz{{{zyzzzz{zzzzzzzzzyzzzzzzz{z{z{{{yyzz{z{yzzzz|{{|z{yzzz{z{|{|zz{{zzyyzzzz{{{y{z{|z{yzz{{z|zzzz|z{{yz{zz{zz{z{|{{z{yz{zy{z{{{{{{{zzyzzzyzz{{zzz{{{|y{{zzzz{{{z{z{{z{zyzzzz{z|{z{z{zzzzzzyz{{zzz{{{zzzy{yyz{z{zy{zzyyyyxyyxxz{zzz{zyzyyxzzxzz{zzzzzzyzyzzzzyzzz{yzzzyzyzzzzzzzzzzzzyyyxyyyyz{zzz{zzyyzyzyzyz{y{y{z{zyyzyyzyzz{zyzyz{yzyxywx{yzyyzzzxxzyyyyyyzyzyz{zzyyyyzzzy{zy{zzzyzyyyzyyy{zzzy{{yzyyzyyxzyzzyyy{yyyzyyyyzzyyz{zzyzzzyzz{{yy{z{z{zyzyyyzyz{zz{z{|yzzzyyzzzzy{z{zzzyzzyz{zzzz{z{{{zzzzzyzzzzz{|{zzzyzzzzy{{|{z{{z{{zzzyyzzz{{z{z{zzyzzzyy{{zzy|{{{zyzyzzzz{{{{{{z{z|yzzzzz{z{|z{{{zz{zzyzzz|{y{||{zzzzzz{z{{{zyz{{{zzzyz{zz{zzz{|{{yzzzzzz{z{|{{{{{zyzzz{z{zz{{{{{{zzzzzzzzzz{{|{{{{zzzzz{z{z{z{{{{{{yzzz{z|zzz{{zzzyyzzzyz{{{zy{zzyzyyzyyxzy{zzzzzyzzyyzxzz{zyz{zzyzyyyzzzz{zzzz{zzzyzyxyyz{zyz{zzyzyyyxxzzzzzzz{yzyyy{yz{yzzzz{zyyzzyxyzyyzyy{zzzyyyxzyyyyy{yz{zyyyyzyzyyzyzzy{zzyzyyyyyzzy{zzzzyyyyyxyzyzyzyy{yzyyyyyyyyyzyx{zzzyyyzyyzzzzzz{{{{z{yyzzyyz{yyzzzyyzy{yzxzzzz{z{z{yyyzyyy{zyzz{z{yyz{yzzyyz{z{{zzzzyzyzzyy{{{{{zzyzzyyyzz{z{{z{{{zzy{zyzzz{|{z{z{zzz{z{yz{{{{{{{{z{yyzz{zz{{{z{{{{yyzzzyz{{{z{zz{yyz{{yzz{{zzz{{{zz{z{{{zzzzz|{{{|yy{zz{zz|{{{zzzzzyzyz{{zz{{{{{{{zzzzzz{{z|{z{{zzzzyzzzz{zz{{{{|z{yyzzzzzzz{{z|zzz{zzyzzzz{{y{{z{zyzzyzyy{zzyzzzzyyyyzyyzz{zyzzzyyyyzzyyzyzzzyz{zzxyyyyzyzzz{{z{zzzy{y{yyz{zz{{zzyyyyyyyz{zzz{{{yyyyyyyzz{xyzz{z{yzyzzxzzzzzzyyzyyzzzyyxzzzzyzz{zyyyyyyyyzzzzz{z{yzzyyzxzz{zyy{zzyzzyzxyz{zzzz{|yzzzyyyzxz{yzyzzzzyzzyzyz{z{z|{zyyzyzzyzzzzzz{zzzy{yzyzyy{zyzzzzzyzzzyzzzzz{y{{{zyzyzyyyzzzzz{zzzzz{zyy{yzzzzz{zzzzzzzzy{z{{zzz{{yyz{y{zz{zy{z{z{zz{zy{z{{{{{|{{z{z{zzz{zyz|zz{|zzz{zzzzzz{z{{{{{zz{zz{y{{{z{|{{zz{zzzzyzzzz|{{z|zzzz{{z{|z{z|{{{zz{{{zz{z{z|{{z{zz{zzzzzzz{{z|{z{z{{zzzz{z{z{{|zzzzzz{z{{{{{{|{z{xz{yzzz|{{{z{{zzzyyyzzzzz{{zzzzzzzzyyyzzyzy{z{yzzyzy{zzzyz{zzzzyzyzzzyzzzz{zzzzyzzyyyzzzzzzzz{{zzxxyzyzzzzzzz{zzzyzyyz{zzyzz{zzzzyzzyzzyzzz{{{yyyyzzyyzyzzyzzzyzzyxyyyzzzyyz{y{yzyyxyzz{zz{z{zzyyxyyyyzz{zy{zzzyyzzzyxzzz{zzzzzyzyyyyzz{y{zzz|yyz{z{zzzz{{yzz{zzyzzzzy{{z{z{{{z{zzz{zz{zyzz{{zzyzzyyzz{{{z{z{zzyzzzzzzz{z{zzzy|zyzzyyy{zz{{z{{zzy{zzyzz|zzz{{zzzzzzzyz{{z{{|{{zz{y{{zz{zz{z{{|zzzzz{zzz|{{{{{{{zzz{zzzz||z{{{}{zzzz{z{z{z{{{{{{zz{zz{{{|{{{|{{{{{zyz{{z{|{{{{z{z{zz{zzzz{{z||{z{z{{zxz{{{{{{{z{z{zyzzy{z{{{{|{zyzzzzzy{{z{zz{{zzzz{y{y{zzz{{zzzzyyzzyzz{zzz{zzzzyxyyzzyzzy{{z{{xyyyzzyzzzzy{zzyyyy{yzzzyz{yy{{zyyyxzzz{z{zzyz{yxyzzyzx{{zzz{{zzyzyyyyzyy{zzzzzzyzywyyzzzzzyzyzyzzzyyyyyzzzzy{yyyyzyyyzzzzzz{zzyyzyyyzyyzzzzzz{yyzyzxzyxzzyyzz{yyyyzyyyyzy{z{z{zzzyzzzz{zzzzz{{yyyyzzzyz{{zzz{{yzzzyyzzyz{{yzzzzyzzyzzyzyzz{{{{zzzzyyzyyz{yy{zz{{zzzzyyz{{{yz{{zyyzzzzz{{z{z{{zzzzzzzyyy{{{z{{zzzzzy{zyzz{{{{z{zyzyz{zz{|{{zz|{{zz{zz{{z{{{{{{|zzz{z{{{z{z{z{{{{zzz{{zyz{{{{{{|{z{z{zzy{{{{{|{z{zyzzzzz{{{zz{{zz{zz{zz{{z{{z{{{{zzzzzzzz{{{{{{zzzzzzyzz{{z{zzz{zy{zyyyz{z{{y{{zyzzyzzzyzzzzzzzzzyzyyzyyzz{z{zz{zzyyyyzyz{zzz{{zzyzzzyyzy{zzzzzzz{zyyyyzyzzz{{zzyzyzzyyyzz{zzzz{yzyzzyzyyz{zzzyzzyzyyzxyzyyzzzyzyzzyzzyxyz{z{zzzzyyzyxyzxzzzzzzzyyzzyzxzyz{{z{{zyxzxzzzyy{zy{zzzzzzyyzzyzzzzyzzzzyyyyzzzzzzzz{z{zzzzzzz{zzyyzzz{{z{yzy{zzzz{{{zz{yyzzzxzzz{{z{z{zzzzzyzyzzz{z||{zz{yzyyyz|zz{{{z{yzzzyz{z{{zz{zz{zzzzzzz{z{{{z{zyz{zzzz{{{{{z{{{{zyzy{zzz{{||{|{{zzz{zz{{|{|{{{|{{zzz{{zyz{|{|z{{{zyzzzz{|z{|{|{{{{z{zzz{{{{{|{{{yz{zz{z{{z{|||{{zzzzzzzzzz{z{{{{zzzyzy{y{z{{{{{{{zzyzzyz{{{{{|zzzyzzyzzy|z{zzyzzzzyyyyyyy{z{z{zzzzyzyyyz{{zzzzyzyzyzyzx{zzzz|{zzyzzyyyyyyz{zz{z{zzyyyyz{zz{z{zzzzzyzyzyzzyyzzz{zzzzzzyyzz{zyzzzyzyyyyyzyyz{zzzzyy{yzyyyzzzzz{{zyyyzyyxyzzyzz{{zyzzzxyyyz{yzzz{zyyzzyzyyyzzyz{z{zzzzzyyzzz{zyzzzyxzzzzyyz{zzy{zzzzzzzyzy{z{{z{|{zyyz{zzy{{yzzzzzyyzyxzzz{{zz{{zzyzzyzyzzz{z|z|{zzzzyyyyzy{{{zz{zzyz{{zzz{{zzz{{zz{zyy{{z{{{{z{{{zzzyzz{{|{z|{{{{zyyyzyzzz{{{{z|{zzzz{z{zz|{z{{{|yz{yzz{zz{{{{{|{{{{{{z{zz|zz{z{|{zz{zy{y||{{{{zz|zzzz{{{zz{z|{||{{zzzz{zz{{{{{z|z{zyzz{zz{zz{|{{|zy{yzzy{{z{zz{zzzyzzzzzzzzzzzzzyyyyyzxyzzzzzzy{zzyyzyyzzzyzzzzzz{zyyyyzzzzz{y{zyz{xyzyzyz{zzyz{zzzyzyzxzzyyy{zzyzyzxzyyy{zzx{yyzyzzyyyyzzzyy{zzzyyxyyzyzyzzz|z{yyyxzyzzz{zzyz{zzyyxzzxyyy{zzzzzzyzzyyzxyyy{z{zzyzyyzyzyzyzyzzzzzzyyyyyzyzzzz{z{zyyyzyyyzzz{yzz{yzzzzyyz{zzz{z{zyzzyyyzzzzzzyyzzzyzy{yzyzzz{{z{zzyyzzyzzyy{z{{{zzz{yzyzyz{zz{z|{zzz{yyyyzzzz{z{zyzyzzzzz{z{{{{{{z{zyyzzz{{{{{zz{zz{zzzzy{||{{{|{{yz{z{zzz{{{{{||zzzzy{{{{{z{{{{{{z{zz{{yz{{|{{{{zz{zzzzzz{{z{{{z{zy{yzzz{{zzzzz{z{zyzz{{zz||zz{{{z{yzyzyzzz{{{{{{zzzyzzyz|{{z{zzz{{yzyyzz{zz{yzzyyzyyyzyzz{zzyz{zyy{zyyzzzyz{zy{zzxxyzzyzx{z{zzzzyzyyyyyzzzyzzz{zyyyyzzyzz{zzz{zzzzzyzyy{{zzzz{zyzyzzzyyzzz{zzzzyyzxxyzx{yzzz{zzyzzxzyyyzzzzzzzzzyyyyzzy{zzzz{zzzyzyyzyx{{zzzz{yzzyzzyyyzzzzzzzzyyyyzzyyzzz{zzzzyyzxz{zzzzyz{{z{zzxzyxzz{zzzy|yz{z{{yxz{{{zzz{{{yyzyzzyy{yzzz{{{zzzz{yzz{zzz{{z{zzzzzyyy{{{{zzz{yyzzzzzzz{zz{z{z{yy{zzyz{z{{{{{{{zzzzzzz{{{|{{z|{zyz{zzz{{z{z|{|{{{zzyzz{{{z{{{{{yzzzzzzz{{{{{{{{yxzzzyz{{{{{{|{{{{zzyzz{z{{y{{{yzz{{zyz{z{{z{{z{zz{{z{{{{{{{{{{zzz{z{zz{{{{{{{zzzyzx{zyz{{{z{{{zz{yyyyzzz{{{yyzyzy{yzyyyzzyzyz{yyzyyyyyzyzzy{zzzzyyzyyyz{zzz{{zzyyzyyyyzzy{yzzzzyyyyyyyzyy{yzzzyyyyxyyxyxyzy{zzzzyyyyyyxzzzy{yyyzyyyzyyzyyzzzzzyyxxyxxzzzzzzz{zyyyyyyyyzzzyyzzzzyyxxyyyy{yzzzzzzyzyzyyyyxzyyz{zzzzxyyzy{{zzz{zzyzzzzyyyz{zzzzzzyyyzzzzyzzzyzzzzyyyyzyzyzzyzyzzzzyyzyyyy{{zzzy{zzyyyyzzy{zz{y{zzzyzzyzzyzzzzzz{{zzzz{zy{zzzzz{z{yyyyzzzz{z{{y{zzzzz{zzzyy{zz{z{{zzzzzzyyz{z{z{z{zyzzzzzyz{|{z{{{{z{zz{{zy{{zzz{{{yzzz{{zz{y{{{{{zz{z{z{zzz{z{{z{zzzyzzzzz{z{z{|zzy{zzzzz|z|{{{{zzz{yzzyyz{yz{{zz{zyyzzzyzzz{{zzzzxzyzzyzzzzzzzyzyzyzzyyzy{z{zy{zzzzzzxzzzzz{z{zzyyzzz{yyzzzy{zzzzzzzyyzzzz{yyy{zzyyyyxyzyzz{z{{{yzzyyyyyy{zzz{zzzzyyxyzyzyzyzzzzyyzyyzzyzyyzzzy{zyyxyyyyyzzzyzzzyzyyyzxyzzzzzzzzzyzyzyzyzyyz{zzzzzyyzyzyyzyy|zyzyyzyzyzyzyzyzz{zyzyyzzyyzy{zzz|zyyzzyyxyyzzyy{{{zzzzyyzzz{{zzzz|z{zyzzzzz{|zzz{zzzzzzzzzzzz|zzzzyyyxyzyzzz{z{zzzzyyzzzyzzz{{z{{{zzzyzz{{{{{{zzzzyzzzzzz{{zzz{z{zzyyyz{yy{{{{{z{{zxzz{zzz{{{|z||{zzz{z{{{z{z{{{{{{zzzz{zyz{{{z{{{{yz{zyzz{{z{z|{{zyz{zzyzz{z{z{{{{{z{{yzz|zzz{z{{{{zzzyzzyz{{{{|{zzz{yzyzzz|{zz|{z{{xyyzyz{{{{zzyyyxzyyyyyz{y{zyzzyyyyyxyzzzyzzyzzyyyzzyyz{zzzzz{yyzzyyxz{zzzz{{{zyzyyxyxz{zz{{{zzxyyyzyyy{{zyzzzzyzyyyxzzz{yxzzzzzzxxzzzzzzzyz{zyyyyzxyzz{yx{zyzzyyzyxyyyzzzzzyzyyyyyyyzzz{yzzz{zyzyyyzzzyzzzzyzyyzzzzxzzzzy{zzzyyyyzyyy{yz{zyzzyyyy{y{yzyyzyzzzzzzzyyzyz{zz{zz|yzzyyzyzzy{zzz{{zzyyzyzzzyzzz|z{yzzzzyzyzz{z{zzzzyzzzyyyzzzzy{zzyzzzzzzzy{z{{|{{zzzzyzzz|{z|z{{{z{zzzyzyz{{{{zz{{zzz{zzz{{{{{|{z{{z{yz{z{zz{{|{|{zzzz{zzz{{{z{{{{z{zzzz|{zzzz{z{zzyyzzz{{{{{{{{{{{zz{z{{{zy{{{{|zzzyzzyyz{zzz{{yz{z{yzyy{{z{{zz{zyyyzyyyz{zzzzz{zyzyzyxzz|zzyzzzyzyxzyxxzyzzyzz{{yyyyyyyzyz{zzzzyyzzyzyz{z{zy{z{zyyyyyzxzzzzzz{{zyyyxyyyyzzzyyzyyzzzyyyyzzzyyzzzzyyyyzyyyz{zzz{{zyzzyzyyzyzzzy{zzyyzzyyz{{zzzzyzyyzyxyxyzzz{yzzzyzyzyyyzzzzzyz{zyzzxzyyyzzzyzzz{zyzy{yyyzzzzzzzzzzyyyyyz{zzz{z{{{{yzzxzzzzz{yz{zy{zzz{yy{z{z{z{z{yzxzyzyz{zzz{z{yzzzzyyzy{zz{z{{zyzzyzy{{zz{zzz{zzyyyyyzz{{{{{{{yzzzyzz{zz{{{{zz{zz{{zzz{z{{{zz{|y{zzz{z{{{{{z{{zy{zzy{{z{{{|z{{{yzzzzyzz{{{{{z{{{{zzz{z{{{{{z{{zz{{{zzz{{{{{zz|{z{z{{z{{{zz{z{{zzzyyzzzz{{{{{{{zzzzzzzz{{{z{{{{y{zzzyzz{{z{zzzzyzyzyyzyyzzzzyz{zyxyzyyz{zz{z{zzyzyz{yzyzy{yz{zzzyyyzzzyzz{zyyzz{zzzyyzyzzzz{zy{zzyzyzzyyzzzyzzzzyzyyzxzy{zzzzzzzzzyyyyzzyyzzzz|zzyyyyzyzyzzyzzyzyzyyzzzzyzy{z{{zyyyzyzyzzzzzzz{yyzyzyyzy{zyz{yzyzyyyzyxyzzzzzzzzyzyyzyzz{zzy{z{zzzyzzzz{{z{zzzzyzz{zxzy{zzzz{zzyyyzyzzyzz{{zzz{zz{zzzzyz{zzzzzzzzzyz{zzz{yzz{zzzyyyzyyyz{z{y{{{zz{zz{zzzz{|zz{{{zz{zz{z{zz|zz{{zzzzyyyzz{{{{{{{zzzzzzyzz{{{z{z|zz{zzzy{z{{{{{|{{zzzyzyzz{{|{{|{zz{zzzzz{{{|z{z{zzzzyzzz{{zz{z{|{zzz|{zzz{z|zzz{zzzzz{{zzz{{z{{zzzzyzzzz{{yzz|{zyzzyzzyzz{{zzzzzzyyzxyyyzzyzz{zzzyyzzyzyz{{zy{zz{zzyyyzy{zzz{{zzzyyzzyyzyz{zyzzz{{yyzz{yyyzzz{z{zyzyzzzyzz{zzzzzyzzzyzzyz{zzzzzyzyzyyyyy{z{{z{yzzyzyzyzyzzzzzzz{zxzyyzzzzz{zz{zzyzzyyzzyz{zzzz{yyzzyzzzyx{zz{zz{zyyxyzyzyzzzzz{{zyzyzzyyzzzzzz{zzzzzzy{z{zzzz{{zzzyyzyzyz{zz{z{{zyyzzz{xzzzzzz{{zz{zzyzyz{{z{{{{zy{z{zyy{z{z{z{z{yzzz{z{{{{zz{{zzzzzzzzzz{|z{zzzzz|{zzzz{{{z{{{{|zy{zzzyzz{z{{||{yyzzz{yz|z{{{{z{zzzzz{{{{{{{{|{{{z{{zz{y||zz{|{zyzzz{zy{{{{||z{{zzzzzzy{z{z|{}{{{y{zzx{z{z|{{{{zzzzzzzzz{z{z{{|z{zz{zzyy{{|{{{zzzzxzyzzz{zyz{y{zzyyyyxzy{zzz{yzyzyxzzzzzzzzyz{zyzyyzyzyzy{yzz{z{yzzzzyyzzzz{zzzzyzzyyyyzzzzzzzz{yzyzzzzz{yzz{z{zyzy{zzyzz{yxzyzzyyyzy{yzzzzy{zzxzyzyyzzzz{zyzzzzyzyyzyzzzzzz{z{{y{zyzyyzzzzz{{zyyzyzzyyz{zz{yzzzzyyyyzzzzzyz{zzyzzyzzyzyzzzzzzzzzzzzyz{zz{{{z{{z{{zzy{z{z|zzz{zyzzyyyzzz{zz{{{|{yzzzzzzyzz{{{zz{z|zzyyy{zzz{z{{zzyz{zxzy{{zz{z|{zyzzzyzz{{|z|z|zz{z{zz{z{z|{{{{zzz{{zyzz{|{{z{z|zz{z{zz{|{{z{||z{z{z{{z{{z{{{{{|zzzz{zzz{{||{{{{yz{z{z{{{{z{{{{{y{zzzzzzz{{{{{{{zzz{zzz{{z|{|{z{zyy{z{zz{zzy{|z{z{{z{z{z{{{zz{{z{{zzyyzzy|{z{yzyzzzzyzyzzzzzyzzzyyy{yxzz{zyzy|{zy{zzzyzyyz{{{z{yyzzzzzxzz{{y{zzzzzzyyyz{zz{zz{zzzyzyzyyyyzyy{zzyzzzyyyy{zzzy{{zzyzyyyyyz{yzzy{zzyz{xyzyyy{yzzzzyyzyyzyxyzzz{zz{zzyyyzyyz{y{zz{|zyzzyyyyzzzyzzzzzyzyyzzyy{zzy{zzyzyzy{yyy{zzzz{{yyzzzyyyzz{zzz{{zyzyzyyyz{zyz{z{zzyzyzzy{zzz{{{zzzzy{y{zzz{{zzzzzyzzzzyy{{{zz{z{zzzzzzzz{{z{zz{zzz{zyzzzzz{{{{{{zxzz{zzzz{zz{{|{zz{z{z{yzz|z{{|zzzyz{zzzz{{zz{|zzzzzzzz|{{z{z{z{{zzyzzz{z|{{z{{|{{zzyzzzzz|{{{{{zzzzzyzz{zz{{{z{{zz{{{z|{|z{{{{{{zzzzyz{{{{{z{{{zzz{zzyzz{zz{zz{y{{yzzzzzz{zzzzzzxyyyyyzyzzzzzz{zzyyzyyzzyy{zzzzzzyzzyzyyzyz{{{{zz{zxyyyxzz{z{{yzyzyyyzzyzzyzzz{zyzxzyzxyzzzy{zzzzzyzyyyzz{zzzzzyzyzzzyyzz{zz{z{yxzyxyyyyzzzyzzyzyyyzyyzyzz{zz{{yzyyyyyyyzzzz{z{zyzyyyxxzyzyzzz{zzzyzyzyz{yyzz{{zyyzzzzyzz{{{{{zzzzxzyyz{zzz{yz{zzyyyy{zzyzz{z{{yyzyyyyzzzz{{z{z{zzyzyzzz{{{zzz{zzyz{zzzzz{zz{{z{zzzzzzzz{zzz{zzyyyzyz{{zz{{{{{{zzy{yy{z{{z{{{{{zyyz{{zzz{{{{z{z{z{zzy{z{{{zz{{{{z{zzzzzz{z{{|z{|zzzy{zz|{{|z|{{zz{{{z{{{{{z{{|{zzzzzz{z{z{{z{|{{zzzzyz{{{z{{{{{{z{yzyyy{|{{{{{zzy{zzzzzzzz|z{{zzz{zzy{zzzzzz{zzzyyyzyzxyzz{zz{zyzy{yyxyyzzzz{z{zy{yyzyzzyz{zzzzyzyyzyyxzyzzy{zzzzzyzyzzz{zzzzz{zzzyxyzyz{zyz|zzyyyzzyzyxzzyz{zyzyyyyyzzzzz{zzzzyyzyzxyyzzz{yzzzyyzyzyyxyyzz{zz{zzyyyzzzzzzyyzzzyyz{zyxyy{z{zzyzzyxzyyzyzzzzz{{zyyzzzyyyzzz{{{zz{yzzzyyyz{zy{{z{zz{yyzzyzzzzy{{zyzzzzzzzz{{z{zz{zzzzzzzzz|zz{zyzzzzzzzzyzzzzzz{{yzzzzzzzzyzzyzzzzzzz{yz{{{{z{{{{zz{zzyzz||{{y{|{zz{|zyyy{zzz{z|zzyzzzzzy{{{z{{{|yz{{yz{y{zzz{zz|{{zzzz{|{zz{{{|z{zz{{zz{{{{{|z|{zzzy{yz{zz{{{{{{{zzzzzzzzz{{{z{|zzzy{{zyz{zz{{z|{{xzzzz{z{z|z{zzz{{yyyyz{zzzz{yyyyzyxyyyyz{zzyzyzzyzyxxxzzzzz{zzyyyzyzyzzyyz{yz{yyyzyzyyzy{zyyzzzyyyyyyzzzyyzzzzzyxyyzyyyzyzyzzyyyyyzzyy{zzzz{zzzyyxyzyyzzyzzzzz{yyyxyyyzzyyyz{yyyyyyyyzzyz{yy{zyy{zzyyxyzzzzzzyyyyzyyxyzyzzy{z{yyzyyxyyyzyzzzzzyxzzzzxyzzzyz{zzyzyyyyyzyzyzyzzyzyyzyyyyyzzzzzzzxyzyyzyzzyyz{z|yyyzyzyzyz{{zzz{yzzzzzyzyzzzyzyzyzyzyzzyyyzzzzzzzzzzzxyzzzz{zzzz{zzzzzyzyzz{{{{{|zyzzzzzyzzz{zzz{zz{yzyz{{{{|z{{zzzzz{z|zzzzz{{zz|zyz{zzzz|{{z{{{zyzzzzzzz{{zz{{z{yzyzzy{zzzz{{{zzzz|zzz{z{yz{{zzz{zyzz{{zz{{{{{zy{yzzyyz{zz{{zzzyxz{zyzyz{zzyzyzzyyzyyyyyzzyzz{{zzyyxyyyzzzyzzzzzzzyyyyyyzyzzz{yzyyyyyyyyzyyzyzzzyzyxyyx{yzzyzy{zzzzyyyyyyzzzy{z{yyzxzzyyzzyzzzzyyyyyyyyyyyyz{zzyyyzyyyyyzzzzzzyzyyyyyzxyyzzzy{yyzzxyyyyy{zzyzzyyyyyzxyyzzzzyy{zzyyyyyxyyzzzzzzzyzzzyzzy{zzzz{{zzyxzzyzzy{zzyz{zzzzyzyzx{zzzzzz|zzyyzyyyzzyyzz{zzy{y{yzyzyzzz{zzzzzyyyyzzz{z{zzzzzy{yyzz{{zzz{{zzzzyzyzzz{zz|{|{zzzyyz{z{{z{zzzzzzzzzyyzyzzzzz{yzz{zzzz{{{{{{{{{zz{{zzz{{{{z{z{{zzzz{z{{y||zz{{{zzz{yy{z{zz{{zzz{yyy{zyzz{z{z{{{zyzzzzzyzz{{z{z{{yzyyzy{zz{z{zzz{zzyzzzy{z{zz{yzzzyyzzzyzyzyz{yzyyxyzxyxzyzzzzzzyzyyxxyxzyzy{zzzzyzxyzxyzzzyzz{zzyzyyyyyzzyzzzzzzzzyxyyyyzzzz{zzyyyyzyyzzzyyyzzzzyyzyyyyyzyyyzzyzxyyyzyxyyzzyy{zzyxxzyzy{{yy{zzyzyyyyyyyyzzzzyyyzy{zxyzxzz{zzz{{zyyyyzyyyzyyyzyyyxzyxyzzyzzyyzzzzzzyyzzxzz{yyz{zzyyyyyyz{{zxyz{zyzzyyyzzzzzz{yy{yzyyyyzyzyz{z{zz{zyxzyzyzz{yzzz{zzyyyzyyzzz{zz{z{zzzzyzzzzzzzzzyzzzyzzzyzz{zz{z{y{yz{zzyzzz{zzzzzyyzzzzz{{{zzz{{zyzyzyzz{yzz{{{{zyzzyz{yy{{z{{|zzzyyzzzzz{zzz|z{zz{zyzzz{z{{{{{z{yxzzzzz{z{{{{{{{zyzzzy{zz{|{|{zzzzzyzzz{{{{{z{zzzzyyyzyzyzzzzzzzzzyyyyyzyzzz{zzxzyyyyzxzyzz{zyzyyzzyyyyyzzzz{{zzzxyzyyzzxyzy{{zzxzyyyzyzyzzzz{zzyzyyyyyzyzz{{z{yyyyyzyxyzyzyzzyzy{yyyyyzyzyzzzzzyzyyzyyzyzzyzzzyyyyyyyxzyz{z{zzyzyyyyyyzyzy{zz{zzyyxyyyyzyxzzzzzyyzyzyxyyzzzzzzzyzyyyxzyyzzzzz{yyxzz{yy{z{yy{z{zzzyzyyyyzzzzz{z{yyzzyyyzzzy{zyzzyzyyzyy{{zz{zz{yzzzzzyzz{zz{{zzzyzzzyzyz{zz{zz{zyzzyyzyzzzz{zzzzyzyzyzy{y{|{{zzyzzzzzzzz{yzz{z{{zzzzz{y{{{{{zz{zzzzzxzzz{{zy{|{zzzzzz|{z{z{{{{{zzzzzzzzz{{||{{{{yyzyyzyz{{zz{{z{yzzyzyzzz{{z{{|{zyzzzz{{zz{|{{z{{zz{zzz{|zzzz{{zzz{yyzyyzy{yzz{zzzyyyyyzz{{zyyzy{yyyxzyyz{zzzzzzyy{yxyzyzzzyzzzzzyyyyyxzzzzy{{zzz{yyyyzyzzzzzzzzyzzyyzyzyyz{zyzzyzzyz{yzyzzyyzzyzyzyyyxzz{yzzz{zzyzyyzyz{zzzz{{zyzyxxxxyzzzyzzzzxyyyzyyyyzzyzzzyzxyyyyyzz{{yz{{zyyzzzyzyzzzz{z{zzzxxyyyyzzyzzz{zzzyyzyy{zzzz{z{zzy{yxzyzzz{{{zzzyyzyy{zz{zzy{z{zz{zzzyyz{zz{{{{yzzzyyzyzzzzz{zzzzyzzzzzz{zzz{{zzyzyyzyzzz{zzzzz{z{zzzyy{zz{{{z{z{zzzzzy{{{z{{|{{y{zzyyz{{zzy{zy{xzzzzyzz|z{{z{{zyyzz{zzz{{z{z|zzzzzzzy{{{|z{{{{{z{{z{yyzzzzz{{zzzzz{zzzz|{{{{{{{zy{zz{zz{{{{{{{{z{zzyzz{zyz{{{zzzyzzz{zz{{{z{z{zyzzyxyzzyz{yzzzzyyyyxxyy{yzzyzzzyzyyyyzz{y{z{{{zyzyyyyyzzzz|zzzyzzyzy{zzzz{zz{zzzyyyyzxz{z{xzzzzzxyzxzy{{{zzz{zyzyzzyyyzzzzzz|zyzyzy{zyyyzzzzzzxyzxyzyzzz{zzx{zzyyyyyzzzzzy{{zzzyzzyyyzy{zzzzzzzyzzyyzyyzzzzyz{yyzzyyyyyz{{yzzzyzzzzyyzyzzzzz{z{zzzzyyzzzzzzyz{yyzzzy{zz{zzzzz|zz{zzxzz{zy{{{{{zy{z{zzzy{{{z{{zzyzzyyz{z{{zz{{{{zyzyyxzz{zz{{zzzyyzzzzz{{|z{{z{zzzzzzzz{zz{z{{{zzyzzzzz{z{z{z{{{zzz{z{zz{{{{z{zzzzyz{zz{{{{{{zz{zz{zzyz{||{{{|z{zz{zyzyzz{{{z{{{z{{{y{zzzzz{{{{zzzz{zzz{zz{{{{{zzz{yz{z{zz{z{z{{zzzzzzyzz{{zzz{zzzzyzyzz{zzzzzzyyzy{xyyyzyzzzzzyyyyzyzxz{yz{{zzyyyyyyzyyz{zzz{yz{zyyzyyy{|zyyz{zzyyyyzyyzzzzzyzzxzyyyyyyzzzyzzzzzyyyxyzzz{{y{zzyyyyxyzyzzzzzz{{yyzyzxyyzzzyz{yzzxzyyzzyzzzyzzzzzzzzwyyxyzzzzzz{{z{yyzyyzyzyzzz{zyyzyyyyzzzzz{zzyz{yyyzyzyz{zz{{zxyyyyxyyzz{z{zzzyzxyzyyzzzzzz{{yyzyyzyy{yyz{{{yzzzyzyyzzy{{zzz{zyzzzzyyzzzzzz}zzzz{yyyyzz{yz{z{{zy{zzzz{z||{z{zyzzzzz{zzzz{{{|{{yyz{yyzzz{{z|{{{zyy{yzy{{z{{{{|zzzyz{z{z{yyz{{{|zzzzzzzz{{{z|{{zzzz{zzzzzzz{z{zzzzzzyzz{z|{{z{|yzzzzzzy{{{{{{yz{yzzyzyz{|{{z{{{zzzzyyyyz{{zz{{zzzzzxyzyy{zy{zzzzzyyzyyzy{zyzzz{yzyxzzyyzyz{yyz{zyzyyzzzy{yz{{{zzzyyyxyyyzzz{zzzyyzyyyyyyz{zz{z{zzzyyyyx{zyzz{zyzyyzxyzyy{zzzyyyyyyyyzxyzzzzzz{zxzzyyxyyzzyzzyyyzzyyzyyy{{yyzzz{yyzyxyxyzzyyzz{zyzyyyyyyyyyyxzyzzyzyzzyzyzzzzzyzyyyzyzzzzyzyzz{zzyyy{yzzx{zzzz{{yzyzzxyyzzz{yzz{{zzzyyyzyzzzzz{zzzzyyzzzz{yzz{zzzyyzzzzy{{{{{zzzzy{zzyzz{{{{zzzzzzyyzzyzz{{{zz{{yzzzyzzzz{{{z{{zzzzzzyyy|{{zz{{zzyyzzzzzzy{z{zzz{xz{z{z{{{zz{{{{zyy{yzzz{{z{z{{{{zzzy{z{zzz{{zz{|yyyzyzzzz{{{z||{zzz{zzz{z{{{{{{zzzzzzzzzzz{{z{z{zyzzzyzzzy{z{{{zzzzyzyz{zz{{{zzyyyyyyyzyyzzy{zzzyyzzyyyzzzzyz{{zzyyzyxyyyyzzzzzzyyyzyyzzzzzzzz{zzzyyzzxyzzzy{zzxyyxyyyxzyzzz{zyzyzyzyzxyzz{xyzyyzyyyxzzyzzyyzz{yzxxyyyzzyyz{zzyyyyzyyxyzy{yzzyyyyyzxyywxzyzz{z{yyyyzxyxzyzyyyyyyyxyxyyyyzzyyyzzyyyzy{yzzzzz{yzzzyzzzyyzzzyzzzzzzyzyzyyz{{{yzz{yzyyyyzzz{zzz{{{{zyzyzyzyyzzzzy{zzyzyyzzxyzzzz{zzzyyyyzyyzzzzz{{zzz{zzzzy{zzzz{zzzyzzzzzyzzz|z{{|zzy{yzz{z{zzz{{z{yz{zyy{z{z{z|{{{zzzyzz{zz{zzz{{{zz{yzzyz{{z{{{{zzzzy{zz{{z{zzzz{zyzyzzyzz{{{z{||zzyzzyzzzz{z{z{{zzzzzyzzz{|{z{{{zzyyzyyzzzzz{{zyzzzzyzyzz{zzzyzzzzyzyzyzzzzyz{zzzzyyyyzzzzzzzz{zzyyyzxyzzyyzz{zzyyxzyyzzzzzzzzzz{zxyyzyzzzyzz{{yxyzyyzyyzzyzy{zzzzyyzxyyzzyzz{zyzzzzyzyzzzyyzyzyyzyyyyxyzzyzyz{yzxyyyyzyz{yzzzzyyyyyzyyy{zy|{z{zyzzzyyzyzzyxzzzzzyzzzzyyzzzz{z{yyyyyyzxzzzzzz{{zyyyzyyzyz{yzy{zzyzzxyzyyzz{zz|zyyyzyyyzyzyzzzzzzyzyyzzyzzzzz{{zyy{yyzxyy{zzzy{zyzyy|zyzzz{zzyz{{zzzzzyyyz{zz{{{yzzzzzyzy{zz{{z|zyzzzzyzzzz{z|z{zzyzzzzz{{zz{z{z{yzy{{zzzzzz{{{z{zzyyzyzz{{{{|{{|z{z{zzyz{|{{z{z{zzzzzz{{zzzzy|{{zzzyyy{z{zzz{{{{zyzzzyz{zy{z{{|z{yzzzzyzzz{z{{zzyzzzyzyzyzzz{z{yzyxzyyzxzzzyzzzzzyzyyyyyyzzy{zz{yxxyzxy{{zzyz{zxyyzyyzzzzzzyzyzzyzyyyxyzyz{zzy{zzzyyyyyyyzzzzzyzyyyzyyxzyzzyzyzzyyzyzyyzyzyyz|zzyxyyyzyy{zzzzzzzyyzyyyy{{zzzzyzyyzyyzyyzxzyy{{{zzyyyyyyyzzyzy{zyzyyzyzzzyzzyzzzyzzxyyyyzyzyzyzzzzyzyyzxzzzyzzz|zyzzxyyy{zy{y{zzzzyyyyyyz{zzzy{{zzyyzyzzzz{zz{zzzzzyyyyyzz{zzzz{yzzyzzzzz{|zzz{{zzzyzzyzzzzz{{z{y{{zzyzyy{yzzz|{zyzzyyy{z{zzzz{z{yyyz{yz{{zzz|{{zyzzz{z{z{yz{z{{{zzzy{zz{|z{{||{{yzzzzyzz{z{{{zzz{{zzzzzzz{z|{{{{zyzzzy{{z{{{{{{zz{yyzzyz{z{{|{{zzyzyzzzz{z|zz{z{yzyyyyzzzzzzzyzxyzyzyxyxzyzzy{zyzyyyyyzy{{zzzzzzyyyyzyyyyyzzyzzzxzxzyyxzyzyxyzzzyyxzyyyzz{zz{z|yyyyyyzyzzzzz{yzzyyyzyzyzyyzyzyzyyyyzyyxzyyzyzz{zyyzyyyxzyzzzyyzzyyxyzyyyzzyzyzzyyzyxyyzyzzyyzzzyyzy{zyyyxyyzyzzyyyyyyxyzyyzz{y{yzzzyzyyyz{{zzzzzyyyzxyzzzzz{zyzyzyzyyyy{yzzz{zzyzyzzyzyy|zyzzzzyzyyzzzyxzzzzz{{{yzyzzyyz{zzzz{y{{yyyzyzzzzzzz{{zzzy{z{zzzzz{zzzzz{zyzzz{zzzz{{{zzyyzyxyzzz{{z{|{yzyzyzyz{{{{y{zyyzyzy{zzz{z{{{z{zzyy{zy{{{{{{{zzzyzzyzy{z{|{{|zzzyzz{zzy{zzz{{{zzyz{yzzzzzzz{{{zzzyzyyyz{yzz{z{zzzyyzzzyzzzzz{{yxzyyzzzzzzzzyzyzyxzyyzyz{zyyzz{yyzzyyyxzyzz{z{zzzzxzyyyzzyyzzzzyzyxyyyyy{zzyzzzzyyyzyzxzzzyyzy{yyzyyxzyzzzzy{zzzxyyzxyzzyzyzz{zzyzyxyyyyzzzzzzzzyyyxyyyzyyzzzzzzyyzzyyyyyyzzzyzyyyyyzyyyzyzzy{zyzyzyzyzyzzyyz{zzzyyyzyyyzyzxzzzzxyyyyzyy{z{yzyzzyyyyyyyzzyz{{z{zzyyzxzzzzzzzzy{yzzyyyyyy{zz{zzzzyyzzyzyzzyz{zz{yzzzzyyzzyz{zz{yyzyzyzyzz{zzyz{yzzzzzzyzzz{||z{{yzzyyz{zzzz{z{{zzyzzyyzyzz{yy{{zzyzxzz{zz{{{z{{{{zyyy{zzyzz{{{{{{zzzyzz{{{{{{{|zzzzzzzz{|zz{{{z{{zzzyzzzzzyzz{{|zzzzzyzzzzz{z{{zzzzzzzzy{zzzz{{zyzyzyzzyzzzyz{zzyyzyyyzy{zzz{z{{yzzxyyy{yzzxzy{zyyyzzyyyz{yzzzzzzzxyyyyzzzzzyzzzzyzyzyzzzz{zzyzzzzyxyyyzyy{xyzzzyzzyzyzyy{zyz{zzzzyyxyyyyz{zz{zzzyzyyyyyyyzzzzzzzyyyzzyyyzz{zzzyzyzyyyyzy{zyzzz{zzyyyxyzyzz{zzzzzyyyyzyyyzzyy{zzyyyyzxyyzzzz{yz{yyyzyzyz{zzy{z{z{zyyyyyzzzz{zz{{zyzzzyyyyzzz{{zyzzzyzzzyzzz{zzz{yzz{zyyyz{zz{{zzzzzyzzzz{zzz{y{zzzyzzzyyzzzzzzz{z{zzyzzyzzz{{{{zyzz{yyzz{{z{{{{z{yy{yzzy{z{{{{{{{zzyzzzzz{z{{z{{zzyzx{{zz{{{{{z{zzzzzzzz{|{{z{{zzz{zzz{zz{{{{{zzzzz{zzzz{{{z{|{z{zyzzzz{{y{{{z{z{zyyyzzzzz{{x{{{{{zyzzyyz{zz{{{zzzyzyxzy{zzzzzz{yyzyxyzxy{zzzzyzyzyzyyyxzyzzzz{zzyzyy{zyy{z{zzzzzzyzzyzzzzzzyzzzyyyyyyzxzzzzyzzzyzzxzzyyzzyzyzyzzzzzyzyyzy{zzz{zzzyyyzyzzzzzzzyzyyxyyyyyyzyzyzzzyyxyyxxzyzyzzzzzzzyzyyyyzzzz{zyzzzzzyyzyyzyyy{yzyzyyyyxzzzz{zzzzzyyyzyyyyzz{z{zyzzzyyxzzz{zz{zz{yzzyzzyyzz{zzzzzzzzyzyz{xz{zzzz{zzzyyxzyyzz{{z{zyzzzzzyz{zzz{{{zzyyyyzyyzz{y{{zzzzzyzzyy{z{{{zzzyzzzyyzz{zz{zz{{z{y{zzzyzz{{{z{zzzzyzzzyz||{{{{zz|z{zyz{z{{z{{{{{zzzyz{zy|{{|z{|{yzzzzzzz{{z{{{zzzzz{{zzzzz{zz{zzz{{z{z{zzz{{||{zzzyzzz{zzzyyz{{{zzzzzzyzyzy{z{{{yz{yxzy{zz{zzzzzzyyzyyyyzz{zyzzyyyzyxzzyz{{z{{zzzyyyzyyzzzzz{{z{yzxyzyzyzyzz{{zzzyxxzzzzy{zz{z{zyzzyzzzyzyzy{zzyyzyzyzyzx{zyz{yzzyyxyyxzzzz{yzyyyzzyyzyzzzyzz{{yyzyyzxyzz{yzzzyzyzyyzzzz{{zzzzzyyyzzyyyyzzyzz|zy{yxzy{yzzyzzzz{zy{zyzyyzzyzzz|zyzzyzyyzz{zzyzzzzzzyyyzzzyz{yzz{zyz{zzz{zzz{zz{zzzzzzzzyz{zzz{{zzz|zyzzy{zzyz{{zzzy{yyzzzz{yzzzz{zzzyzz{|zzz{zzzzz{{zzzz{zz{{z{zz{{{zzyzz{{{{z{{zyzzzzzz{{|{{z|{zyyzzz{{z{{{{{zzzz{{zyzz{|{{{{z|{zzzzzz{|z{{{|{{zz{{{{zz{{{{{{{{zzzz{zz{||{{{{|{{{yyz{zz{z{zz{z{z{zzzyzyz{{{zy{{{yzyzzzyzzzz{zzyzyyxyyyyzzzzzzzzyzy{yyzyzzzzz{{{{yzyzzyxzyzyzzzzzxzxzyyzzz{{zzz{yzzyzzyyzyzyz{{{zyyyyyzy{zyzzz{zzzyxyyzyzy{yyyz{zzzyxzyyyyzzzyyzyyyzyxzyzzzzzz{{zyzzzyxyzz{zzy{zyzzyyyyyzyz{zzzzzzyzzzyyyzzzzz{{yzz{zyyyzzzzy{z{zzzyyyzzzz{z{zzzyzyzzyyxzy{zzzz{yzyyzzzzz{{zzzzzyyyzyyzxzz{zz{zzzyzyzyzzzzzzz{z{zyzzzyyzz{{zz{{z{yyzzyyyyz{yz{{{zzzzyzyzyz|zz{{{zyzyzzzz{{{{{z{|zzzyzzz{{{zz{{|{{yzzzzzz|{{z{{|{{zzzz{{zz{{{z{|{zyz{{zzzz{z{{{{{|{{{zzzz{{||{{|z{yzzzzz{{z{|zz{{{{yz{{zy{{z{z{z{zzzzzzzz{{z{{{{{zzzzzz|yy{z{{{{z{z{zzyzxzzzz{zy{yyyxzyzyxzyzz{z{yzyyyyzyyzzzyzzzzzyyyzzxzxyzzy{zyzyyyyyzzzz{{z{{zzzyyyyyyyzzzzzzyyyzxzyxzzzyyzzyzyzzzyxyzyzzyzyz{yyyzyyyzzyzyzzzzyzyyyyzzzzzzzzzzzyyzyyyzyzzzy{zyyyyxxzyz{zyzzz{yyyyyyxxxxyzyyzzyzxyzyzyyzyy{y{zzyzyzyzyzzyz{{{{zyzyzyyzz{zzyz{zz{zyyyzyyzzz{zzzzxzyzyzzzzzz{zzzzyyyzzyzzzz{{{{zzy{zyzyyzzzzz{zzzzyzyxy{{z{{zy{z{zyzyyzyyzz{{{{{zzzzzz{z{{{{z{z{zyzzzyyz{zz|z{{z{zzzzzzz{|z{|z|{xzzyz{z{z{z{z{{{{yzyzzzyzz{|zz{{{zzyz{z{{{zzz{|{zzzzzyzz{zy{{{{{{zyz{zyz{{z{zz{zzzzyyzzyz{z{{{{{{z{yzzyzz{z{zzyzzzzyzzyyz{{{zzyzyyyyyxzy{zz{zzz{yzyzxyyyzyzzzz{zyzzyyyyyzz{zzzyzzyyyzyzyyz{zyz{zyyyyyyxyzzzyzyz{yyyyzyyyyzxyzzzyzyyzyyxyyyzyyzzzzxyzyyyyzyyyyzzzyyyxyyyyzyyy{yyzyyyzzyxyzyz{zzzyyyyzyyyyx{yzzyz{yyxyyyyyyzyy{{zzyzxxyxzyyzxzz{z{zyzzyzyyyzyzzyz{zyyyyxyyyy{zyzzz{xyzzzyyyzyzzzzzyzyyzxyxzzzz{zzzzyzyzyyyzy{{zzzzzyyzzyyxzzzy{{{{yzzzzyzyzzz{zy{zzzyz{yzz{z{y{z{zzzzzyyyy{zzz{{zzzyzzzyzyzzz{{zz{{xzzzzzz{{|{{{{zzzzzzzz|z{z|z{{{zzzzz{zyz|{zz|z{{zzyzzzy{{{{z{z{zyzyzyyzzzzzz{{{{zzy{zzzz{zz{zz{y{yyzyzyz{y{{z{z{zyzzyzzz{zzzzz{zzzzzyyyyy{zz{xzyzyyyyyyy{zyzzzzzzyyyyyyzzyx{{z{zyyyyyyxzzz{zzzzyy{yzzxyzzz{zyzzzyzxzyzxyyyzzzzzzyyyyzyyyzzyyzzzzzyzzxxyyzzzzzzzyxzyxyyyyyzyzzyzyzzyzyyzzyzzzzzyyyyyyzyyyzzyzyzzzxzyxzxxzyyzyyzzzyzzzyyyyzzzyzyzxyyyyxzyxzzzzzzzyyyyzzzyyzz{z{zzzzyyyzzyzzzzz{{zzzzzyxyyzyzzz{y{yzyyzzzyyzzzzz{zz{yyzxzzzzz{zzzyyyzzyyyy{{z{zzzzzyzyyzyz{{{zzzzzzyzzzzzzzzzzy{{{{yzz{z{yy{z{yz{{zy{yzzyy{z{z{zz{|xyzyzy{{{z{{z{{{{z{zzy{zzz{z{z{zz{zzyzzz{|{{z{z{zzzzzzz{z{{{{{{{zyzzzy{{{zzz{{z{zzzzzzz{{z{{{{{zz{yz{zyzz{z{{{{yzzzzyzyz|z{zz{zzzyzyzzyz{zz{zzyyyyxyyyxyz{yzz{zzyyzxxzyyzzzz{zzzzzxyzyyzzzyzz{zzyyyzxyyzzzzz{{zzzyxyyyyyzyyzyzzyzyxyyyxzyyyy{zyzyzyyzxyyzzzzzzyzyyyyzyyyzy{z{zyzyyzyyzyzz{zzzzzzyzyxzyyyzyyzzzzyyyxxyxzzzyyzyzzzyyyzy{xyyzyzzzzzzzyyyzyyzxzyz{zyyyyyzyyzz{yzz{zz{yyyyyzzzzyyz{{yyzzyyyyyyzzzzz{zzzzyyyzzz{y{zzzzxzzyyyyy{y{z{yzzyzzzyyyz{zzzz{yzyzzxyyyzz{zx{zzzyyzyzy{z{{{z{{{y{{{zzzzzzz{z{{{zzzzyzyy{{{zz{{zzzyzzzzz{|zzzz{|zzzzzzyy{{{{z{z{zyyzzzyz{{{|y{z{{y{z{zzzzyz{z{z{{zy{zzz{zyz{{{{}zzz{zz{{{{z{zzz{zyzyy{zzz{yzzzz{zzyzyyzzy{{zzzzzzzzyzzzyyxzyzyzyxyxyyyyzyzyyyzzzxzyyyzzyzzzzyzzzzzyyyzyzzzzyzzzzyzyyzxxyyyzzzyy{yyzyyxyyxzyzy{yzzyzzyy{yxyyyyzzzyzyxyxyyyyyzyzyzyyyyyxxyzzzyyyzyyyyyzyyyyzzzzy{zzyyzyyyyyyyzzzzzzyxyyyyyyyz{yyzzyyyyyzyyyyzxyzzyyxyxzyyyy{yyyyz{zyyyyzyzzzzzzzzzzyzxyyzyy{zzyyzzyzzyyxyyz{z{y{yzyyzxyyzzy{{z{zzzzyyzyyyxyz{z{{zzyzyyzzxyzzzzzzzzzzzyzxyy{{zzyzzzyyyzyzyx{zzz{{zyyyyyzyzzzzy{z{|zzzzyyyyz{{zyyz{{yyxyzyzyz{zzz{|zzzzzzzzy{zz{{z{|{zzyzy{zz{{{zz{zzy{zyzyzz{{{{{z{zyyzzzzzz{z{{{{{{z{zzzzz{zz{zzz{zzzzzyzzzz{zz{{{{yzzyyyyyzyz{z{yz{zyyzzyyz{yyzyyyzyzyyyyyyzzzzyzyyyzzyyyzzzyzzz{zzxzyzzyzyyzzz{{yxzyyxyzyzzzzyzyzyyxyxzxyyzzzzzzzyzxxzyyyz{yzzzzzzyyyyxyzzyyzzy{zyzzxzyzyzyzzyyzxyyyxyxyyzzzzyyzyyyyyyxyyx{yyzz{yyyyyyyyy{zzyyyzzyyyyyyyzzyyyzzyzyyzyyxyyyzyyzzzyyzyyyzx{zyzz{{{yzyyyyzzzyzzzzzzyyzyyyyzzzzz{yzzzzzyyyyzyz{zz{z{y{zyzyy{zz{zzzzyzzzyzyyzyzz{zy{yzyyzyyzzz{{yz{zzzy{zzzyz{{{{zz{{zzzzzzzyz{{{{z{{zz{{yzyy{yz{zz{yzzzzyzyzz{zzzz{{zyyyy{{{{{zz{{{{{yz{yzzzz{{{z||{{zzzyyzyzzzzz{zzzzzyyzzzzyzz{zz{{zzz{zzz{y{{z{z|zzzyyz{yz{{zz{zzzzyzzyxy{zz{zz{{zzzzyzzyz{yzzyzyyyyyzyyxyzzyyz{zzzyyyzyxzzzzzzz{zyyzzyyyzzz{yzz{zzzzyyxyzzzzz{{zyyyyzzyxyzzzzyyzzyzyyzzyyzzzzz{yzyyxzyxzxzzyyyzzzzzyyzyzzzy{{{{zyzyyyxyyzzz|zzzzyyzywxyyzyzyzyzyzzzzyxxyyz{zyz{{yyyyyyyyzyzxyzzyyzzyyxyyzzyzzzz{{yzyzxzzzzzyz|{{yzzzyyzyz{zzz{zzzzzzzz{yzzzyzz{zyz{yzzyyzzzzy{zz{{z{yyzyyzzzz{zzzyyyyzzzz{{zzz{zzyzzzyyyzy{{z{z{zzyzzzzzzzz{{z{{zyzzyzzz{{z{zyz{zzzzzzzz{z{{z{{zzzzzzzzz{{z{{{{{zzzzzz{yzzyz{z{{{zzyzzzzz|{{{z|z{zy{zyzz{{z{{{{{{zzzyzzz{{z{z{{{{zzzzzzz{{zzzz{{zzzyyzzzzz{z{{|{zzzzyyyyzyzzzzz{zzxy{yzyz{z{zzzyyxyzzxyyyz{zyzzzyyyyyyz{zzzzz{zzyyyxyyzyzyz{{z{yzzyyyyzxyzzzyzz{zzyyyyyxyzz{y{zzzyyyyzzyzzyyyzzzzyyxy{zyzzzyyyzyyyyzyzyyzzyzzzy{yyyyzyyyzzzzyzzzzyzxyyxyzyzzzzzz{yyyxyyyzyz{zzzyyyxyyyzzyzyyzzy{zyzyyzyxy{zzyzzzyyzzyyyy{zzzyz{zyyzyyyyx{zzzzz{zxyzyzzyyz{yzzzzzyyzzyyxyzzzzzzzz{yyyzyzyzzzzy{zyzyzzzzyyz{{zz{|yzzzzyyxzz{zyzzz{zzyz{yzzzz{{zyz{yzzzyyzzz{z{y{zzzzyzzzzy{{zz{{{zzzzz{z{y{z|{{|{{yzyzzzzzz{{{{{z|{zzzz{zzz{zzzz|{{z{zyzzz{zzzz{|{{zyzzyzyz{zz{|{{{zy{{zyz{zzz|{||{zzyyz{z{{zzzzzz{zyyzyzyy{z{z{|zzy{yzyzyzzzyzz{yyyzxzy{yy{{yzyzzzzzyzzzyzz{zzz{{zzyxyzzxyzz{zzzzzyzyzyyzyzz{yz{zzzyyzyzyzz{zz{{{yzyzyzzyzzzzzzzzzzyyyxyy{zzzzz{{yzzyy{yz{yzzzzyzy{zxyyzzzzzzy{zzzyzyyzxzyzyyzzyzzyyyyyyzzz{zzzzyzyyyyxzzyzzy{zzzzzzxxzyyzzzzz{{yzz{yyyyy{z{yy{zzzxzzyyyzyzzy{zz{yzyzzzzyz{zz{{z{zzzzyyyyzy{{{zzyyzyyzzxzzy{z{{{{zzyzyyyyzzzzzzzz{yzzzyzz{zzyz{zzyz{zzzzy{{zz{z{{yzzzzz|yy{{z{z|{zzz{zyyyz{|{zzzzzyzz{yzz{{z{zz|{z{{zzz{{z{z{{{{{{{z{zzzzy|{{{{z{{zzzzyzz{z{zz{zz{zzzzyzz{{z{{{||{zzzzzzz{z{{z{{{{zzyz{zz{{z{{{{{{{{zzzyzz{{zy{{zzzyyzzyyyz{zzzzzyzyzyyyzzyzzzzzzzyyzxyzy{zzzzz{{zzxyzzyzzyz{zzz|{zz{yzzyzyy{zzz{zyyyyzzyzzyyzzzzzzzxyyzzyyyyzz{zzyzyzyyxzzzyy|{zyzyyxyyzzyz{zzzzzyyyzzyyzzzzzzzzzyyyzyyyzzyy{z|yyxyzxyzyyzzzyz{zzyzyyyzyyzzzyz{{zzyyyzyyyyzyz{z{yyyyzzzyz{zyzzzzyyzyzyzzzz{zzzz{yyzyyzzz{zz{z{{zyxzxyyyyyz{zzz{zzzzzzyyz{z{z{{zzzyzyzzyy{z{zzzz|zzzzzzzzyz{z{zz{y{zyzzyzzyzz{{{{yyyzzyzy{z{{{zz{zz{zyzz{z{{y|zz{zxzzzzzzz|z{zz|{zz{zzy{zzz{{{{{{zzzzz{zzy{zzz{{|{zz{zzz{z{{{{{zz{zzzy{{yzyzz{{z{{zzzz{zz{{{{{z{{{zyzyz{zz{z{{{{{z{zzyzzzz{{{z{zzzz{zzyzyzz{{y{zzyyxyyywyxzzzzyzzzyzyzzzyzzzzy{zzzyzzy{yyzzy{zzy{y{zyzzyyyy{zzyzzyyyyyyyyzzzzz{yzxyzyyyyxz{yzzz{{yyzxzyyyzzzzyzzzzyy{yyyzzzzzzzz{zyzyyyzyyyzyzz{zyxyyyzyy{y{yzy{zyy{yzyzyzzyzzyzyzzzzyyzyzzzyzzzzy{yyyyyyyzyzzzzzzyzy{zyyzzz{{{z{zzyyyyzzy{zzzzz{{zzyyyyxzz{z{z{yyyzyyzzy{zzzzz{zzzzyyyzxz{zzzz{zzzzzzzyzzz{zzz{zzzyx{zy{{{{zz{z{zzzz{zzyy{{{{{{zyzyzzy{{z{{{z{{{{zzzzy{z{{z{zz{zzyzzzzzz{{zz{{{{zz{zz|{{{|z{{|z{zyzzzz{z{|zzz|{|{z|zyz{{{z|zz|{{{zzyzzx{yzzz{{{{{{zz{yyzzzz{{{{|{zzy{yy{{z{zz{zz{yzyzyzz{{z|{z{{yzzzyxzxyz{yyzzzzyzzxyyyyz{zzz{zzzzzxzyyyzyzzz{zyyyzzyyyyzyzzz{zzzzyzzzyz{zyz{zyyzxyyyyxyzyzzzzzyyzyyzzyzzzyzyzzyzyyyyyyzzzyyzzzzzyyzzyzyzyyz{zyzxyyyyzz{{yyzzz{yyyzxyyxzyzyzz{yyyzyzzyyyzzyzzzyyzzzxyyyyzzzz{zzzzyzyyyzyzyzy|yzyxyzyzyyyzzyzzzyzzzxyzzxyzzzz{{zzzyyyyyzzzyzyzzzyzyyzyyyzzzzz{{zyyzzzy{yyzzzz{zzyyyzzzzyzzz{zzzyzzyzz{yyz{{zzzzzzyzzyzyzzzz{z{|{zz{yyy{y{zz{y{z{zyzzyyyzz{{{{z{zzyzzzyzz{zzzz{{zzz{zz{zzy{z|z{{{{zzzzzz{z|{z{{{{|{y{zzyz{{z{|z{{{yyzzzzz{zz{{{{|{{zz{yz{{{{z{z|{zzzyzzzzzzz{z{z{yyzyzyzyz{z{{{zzyzzyzyyy{{{{z{{{yzyzyyxyyzzyzyzyzzyyyyzzyzzzzz{zzzyyyyyyzzzyyzzzzyzyyyzyyz{{yzyzzyyxyzyxzyzzyzz{yyzyyzyyy{zyyzzzzyyyzyyzzz{yy{{z{xyyzzyzzzy{zz{yyyyyyxyyzz{zzz{zxyzzyyzyyy{yzyzzzzyyyyxyzy{zz{zzyyzzyxyxyyzyz{{zyzyzyyyyy{yzyzzzyzzzyzzzz{zzyz{zyzyyyxzyyzyzyzz{yy{zyyzy{zzzzzzzzzzxyyyzzzzz{zzzzy{zzyyzz{{zz{z{zzzyzxyzzy{zzzzzzzyyzzyyz{zzz{zzzzzzzyyz{zzzzzz{y{zzy{yz{{{{{z{{zzzzyzxzyz{{{{{zzzzz{zzy{{z|{{z{zz{zy{zyz{zz{{{{zzyyyz{zz|{z{{{{|zzzyzzzz{{{z{{zzzzzyz{zyzz{{|{zzzzzzzyz{{z{{{||zzzyyyzz{{z{{{z{zyzyzzzzz{z{zz{yzzzyyzyyz{zyzzyzyyxyyyyxwzzzyzzzzyzyxyyyzzz{{{{zzyxyyyzy{zyz{{zzyyzyyyzyyyzyyyzzzzzxyxzyyzzzzzz{yy{yzyzxyzzyzzzyzzyyzyyzyz{zyzzzzzyyzzyyzyxzyzzzxyzyzzyyzyzzyzzyyyyyzyyxyzzyzzyzzyzyxyywyyzzzz{zzzyzyxyxyyzzzzzzyyyyyyyzyzzzy{{zzyyxzzyyzzzzzz{zzyyyxyzzyzzxzyz{zzz{yyyzzzy{zzzzzzzzyyyyz{zzzz{zzyzzxzyzyz{zzyzzzyzyzyzzzzzzyz{yzxzzzyzyzz{z{{z{zzyz{yzzz{{{{{z{zyzzzzyy{{z{{z{{{zzyzzzz{z{{yzzzzyyzy{yy{zzz{{{zz{zzz{zzzzzy{|z{zzzz{yyyz|{{{{z{yyzzyyzzzzz{{zz{{yzzyzzy|zz{|z{{z{zzzzzyzz{z{{{{y{zyy{zz|zzzzzzz{yzzzzzzzzz{yzzyzzzyzyyzz{zzyzyyyxyzyzyxxzyzyz{zyzyxyyyyzyyyzzzzzyyyyyyzzyzzzyzzyyzxxyxyyzzzyyzzzzyyyyyxzyzyyzzyyzyyyyzxyyzzyzzzzyxzxxyzzzzzzyzzyyzyyyyyxzyyzzzzyyzyyxyyz{zyyyzyyzyxxzxyyzzzz{zzyzyxyzyxzzyzyzzxyyyzyzzyyzyzzzzzzzyyzyyyyzxzzyzzyzyyxzzyyzzyyzzzxyxzyxxxyzyyz{z{yzyzyxzyzzzyzzzzzyzxxzyzz{zzyy{zzyzyyyyyyzz{z{{yzy{xzyxxz{zzzz{{zyyyyyyyzz{zzzzzyyzyzzyyz{zz{zzzzzyz{yzzzzzzzz{zyzyz{zzyz{{{{zzzzyzz{zyyz{{{{z{|{yzyzz{y{{{{z{{zzzzzyzzzzz{z{zz{zzzzyzzy{z{{{zzzzzzzzxzzz{zz{{z{{zyzzzzyzzzzz{{{z{yyyzyyzzz{{z{{zyyyyzzz{yzzyzzzzzzzyyzzzy{zyzyyyyyzyxxyxyzzzzy{yxyzyyyyyyyzz{zyzyyyyzyyyzzzzy{yzyyzyyyxzzz{yzzzzzyxxzzyyy{zzzyzyyyyxyyxzzyyyzzyyxyyzyyyyzzyyyzyyxzxyyyyzzyzzzzyyyyxyxywyz{xzzzzyyyxyyyxyzzy{zzzzyyyxyyxyzzzzzzzyzyyzyyxyyyyzyzyyzyxyyxxyyyzyzzzyyyyyzyyyzzzzzzzzzyyzxyyz{zzyyz{zzyyyzxzzyzzyzzzyzzyyyyy{z{zz{zzxyzxyxyzyzyzzzzyyyyyyyzyyzzy{{{zzyyyyyyz{zzyzzzzzzzyyyyzzz{y{zz{yzzy{yzzzzzzzz{zzyz{zyyyyz{{z{|{zyzyyzzz{zzzzz{zzyzyz{yzz{zyz{z{zyzzy{zyz|{zz{{{{yz{zyzy{z{zzzzzzzy{zzzy{{{zz{{{zzzzzzzz{{|zz{|zyzzzzyyzy{zzz{{zzzz{yyzzz{zzz{zzyyzyzzxyzyzzyzyzzyyyxzyyyyzzzzzzzzyyyyxxzyyz{{{yzyyyyyyyyzzzzy{{zyyyyyyyzzyzzzzzzzyyyyzyzyyzzz{y{yzyyyxyyyzyyzzy{yzyyyyxzzyyyyzyzzyyyyxzzz{zzyzzyyyyyxyyzzzyzyyzzyzxyyyzzyzzzyyzyzyyxyyyyyzzy{{zzxyyzxyyyzzzzyzyzzyxyyyyzzzzyzzyyyyzzy{zzzzyzy{zyyxyzzzyyzyyzzy{zzyzxxyyyzzzy{zyyyyxyyzyxzzzyzzzzyzzzzyyy|{{zzzzyyyyzzzzz{{zyz{zzzyzyyyxz{yzyzz{zzzy{yz{z{{{{zzzyzzzz{zzzzz{zzz{yyzzzzzx{zzzzz{zzyz{yzyyzzz{{z{zz{zzzzz{zz{y{{{zzzzxy{yzz{{{{z{yzyz{yzzz{{z{zzz{{zzzy{z{yzzy{z{{zzzyzzyz{{{zzzzzz{zyzzzz{zz{zz{zyzyyyyyyy{z{yzzzyzyyzzxzzzz{zyyyzyyyyxzxxy{yzyzzyzyyyyyzyyz{zzz{yyzzyzyxzyzyzzzzxyyzzyyzz{{zyyzzzyzyyyyyzy{zzzzzzyzyyyzxyyy{zzzzyyzzyzzzyyzyy{yzyyyxzyyzyyzzyzyyyyyzzyyyzzyzyyzzzyyyxyzyyyzyzzzyyyzyxzyyyzyyzyz{zxyyzyxyzyyxzzzzyyyyyyyyzyyyyzz{yzzyyyyyzyzzyz{zyzyxzyyyzz{yzzyzyyzyyyyxzy{zz{{{yzzzyyzyyzz{zzzyyzzyzyyyz{{z{zy{{xyzzyyyzz{z{zzzzzzz{zyxzzzz{zz{zzzy{zzzzz|{{{{{{zyzzzzz{{z{zz|{yzyzzzzzzzzz{{zz{yyyzyzz{|{zzz{{yz{yzz{zz{{z{{{z{zzzyyzzz{z{{{{zzyzyzzyzy{y|z{{{{zzzzzzzzzz{{{|{zz{zyyyzz{zzz{z{{{{zz{zz{zz{zz{{{yzyzzzzzzz{zz{{yzzzyyyyzzzzzzyzzyyyyyyyyzzyzyzzyyyyyxyyyyzzzzzzzyxyyyyy{zyzzz{zz{zxyyyyxzz{zz{{zyzyxzyyzyzz{zyyyyyyyzyyzzyzyz{zzyyyzyyzyyzzz{yzzzyyzyyyzzyyzzzzyyzyyyyyyyyzzzzyyyyxyyzyyzzx{zzzzxzyxzxyxz{zzzyzyyyyyyxxy{zyzyz{yyyyyzyyy{yzzyzzzzyyzzzyzyzy{zzz{yy{yyyy{zzzzzyzzxyyyzyxzzz{zzzzzyzyyyzyzzzzy{z{zz{zzyzyzzyyz{{{zyyzzyyyzzz{z{{zzyzzzzyx{|{zyzzzyzzyyzzz{{z{{{|{yy{zzzzzzz{zzy{{zyzzyxzy{{{z{{zz{yy{{yzz{z{z{z{{zyzyzzzyz{{{{z{{{y{y{{zz{z{{{{{|{zzz{z{z{zz{z{{zzzz{zzzzz{zzz{{{zzyzzzyz{{{{z{{{zy{yzyz{z{zz{z{zzyyy{zzzy{{zz{z{{zzzyyzyzz{{zzyyyzyyyyyyxzzyyzyzxyyyyyyyzz{yyz{{zyyyxyyyzzyzyz{zzzzyyyyzzzzzzy{zzxzxzyyzzyy{zy{zzyzyzzzyyzzzzzzzyyyzzyxzyzyyyzzzyzzyyzyyxyyzyzz{yzyyzyzyyyzzz{zzzzyyxzxzyzyyzz{zzyyyyxyyyzyzzzzzzyzyyyzxyzzyzzzyyzxyzzyyy{y{y{{zyyzzyyzzz{zzzzz{zyyyzzxzzzzzzz{zzyzyyxzzzyzz{{z{zyzzzzzyzzzzzz{y{zzzzxzyz{z{z{zyzzzzzyyzzz{{zz{zzzzzzzzzzyzz{z{{{zzyzzzz{y{{zz{{zzzzzzyz{z{zzz{|yyzzyzyzzy{|{{{{zzzyzzzzzzz{z{{zzzzyzz{zz|z{z{z{{z{zyzzzz{{zzz{{zzzzzyzz{{z|z{{}{zyy{yyzz{{z{{|{{zyzzz{{zzzzzz|{{z{xzzyzz{z{zzzzz{yzzzyzzzzzzz{zzz{yyyzy{{{zz{zzyyyyyxxyzzzyyx{zyyxzzyyyzz{z{zzzzzyxzyyxzzzzzz{yyyxxzxyyy{yzyz{zyyyywyzyyyzyyzzzyzzyyzzyy{yzzzyyyzyyyxyzyzzzyzyyyyyxzzyyzyyyyzzzxxyxyyzzyzyyyz{yyyyzyzxxyyzzyyyzyxxzyyyyyyy{yzyzzzyyzyxyzxyzyz{yxyyyyzyyyyyyyzzzxyyxzyyyzzyyzzzzyyyyzxyxy{zyz{yzyyyyyxyzyzzzyzzzyzzyxyyyyzzzz{{z{yzyzxzyz{zzzzzzzyzyzyzyzzzzyyz{zyyzyyyzz{y{zzzzzzyzzzyzyz{{z{{z{yzyzyyyzzz{zz{zyzzyyyyzzzzzz{{{z{yzyzyzzz{{z{zzzyzyyzzyz{z{{{z{zyyyy{zz{{z{{{{{zzzyzzzyzzy{zz{zyyyyzzx{z{{zz{{{{zzzzzzz{{y|{{{zyyzyzy{yz{zz{z{{zyzzzyzyzzzzzz|yyz{xxyyyyy{z{zyzyzyyzyyyy{zzyzyzyywyyxyyzzzzyz{yzzxzxzyxzzzzz{{xzyyyxxyzyzyzzzz{zzyyyyzzzzzzzzzyyzyyyxyxzzzyyzy{zyzyyyyzyzyzyzyz{xzyxyyyyyzzzzzyyz{yyyyyyzyz{yzzyzyyyzxyyyyy{zzzyyzyxyyxyzyzyzyz{yzyzyyyyyzyzyyyyzyyzyzyyzzzy{yzxyzyz{zzzzzzzz{zyyyyyxyxyzzzy{zzyyyyzyzyzzzzz{y{yzzzyyyyzzzyzz{{zzyzyyzyzz{yz{zzzzzyzzyzzz{{zz{z{yxyyzyzzz{zzzzzyzzyyyzyz{z{zz{zzz{yy{zzzzzz{{{zzzzzyzyx{zz{z{{z{yzzzyzz{z{{z{zzz{{yyzzzzzzzz{{{zzzzyz{zz{z{z{{zzzzzyyz{z{{zz{{{zyzzxzzyzzzz{z{zzzz{zzyzz{z{y{{{z{zyz{yzz{{z{z{z{{zyzyzyz{zzz{zzzyzyyyyyzzz{zzzyyxxzyyyxyzzzzz{zzyxyyyyyyzzzzzzzzzzyyyzyyz{zyzzyzyzzy{zyyzy{zz{{yzyxyyyy{zzzz{z{yzxyyzyzyyyyy{zxyyyyzzxyzyzzyzz{yzzyyzxyxyyzzzyzyyyyyyxyy{yzzzyzzyyzyxwyyzxyyzzzzzyxyzyxyzyzyy{zzyzyzyxyzyyyzyyyyyxxxxxyz{yxz{{yxyzyyyyyzyyzzzy{zyzzyyyzzzzzyzy{yxzyyyzz{zzzy{{{zzyyyzyzyzzyz{{{yzzzzyyyz{zzz{{zyyzyzyyyz{{zz{zzzzyzyxyzzz{yyzzzyzzzzyyyzzz{z{{zzzzyy{{z{zzz{zz{yzz{zzyy{{{{zz{{zyzyzzzy{{{{{{zzzxzzyzzz{|{z{{zzzzyzzy{yz{{{z{{{{zzzzy{y{{{z{z{{zzzyyyz{{zz{{{{{{{zz{yyz{{|{z{z{zzyzzyzzzzzz{y{{zzyzyyzyz{yz{{zzzyyyyz{z{zzzz{yzyyxyzyzxyzyzyz{{yyy{yyyzyzzyz{{{zxzxxyyzzy{y{{|zyyzyyyzzzzzzxzyyzzzxxzyyyyzzz{{zyyzyyyzyzzzzzyzzyyyyyyyyyzzz{yzzyyzyzzyyz{zyzzyzyyyyzyyyz{yyyyzyyyyzyyxy{z{xzyzzyzyyyxyyyzyzyzz{yyxyyyyxyyzxyzy{zyyyyxyyyzzzzzzzzzzyyzxyzzzzzz{yzzzyzyzzzzyzyzz{zyyzzyzzzzzzzzzzyzyyyxyzzz{zzzzz{yzzzyzyzzzzz{{zzyyy{yyyzzz{z{z{zzyyyyyzzy{{{zzz{zzzzzyyz{y|z{z{z{zyzyz{{zz{{z{{z{zyzzyzz{z{z{{{{yzzzzz{{z{{z{{zzzzyzzzy{zz{{z{{zzzzy{z{z{{z{z|z{zzzzzzy{zz{zzzz{yzzzzyzz{z{zz{z{zz{zyy{{{{z{{zzzzzzzz{y{{zzz{{zzyzzzzzzzz{zy{zzzxyyzyyyyz{zzyyzyyyxyyzzxzzzyzzzyyyyyxyx{yzy{zy{{yyzzyyyyyyyzzz{yyzyyxzyy{z{zzzzyyyyzyyxyzyzzzyzyyyxy{yyzzzzzzzyzyzyyxxyzyzzy{zzyzyyyyxyzyyyzzz{xyyzyyyzzzzzzyzzzxxyyzyzyyzyy{zzxzzxxyyyzzzzzzzzzxxyyyyyzz{zz{y{zyxyyyyzyyzyzyz{xyzwyzyyyzyzz{{yzzzyzyyyzyzyzzy{yzz{yyyyzz{zy{zzyyyzzzyyyzzzzz{zzyzyzyzyy{z{zz{{zzyzzyzzzzzzzz{z{yyzyzzxzzzzz{z{yzz{zzyzzzzzz{{{z{yzzzzz{{zzyzzz{yzzyyzy{{yz{{z{{zz{yzzzz{zz{{zzzzyyzz{z{{{{|{{{zyzzz{yzz{{|zz{{{zzzzzzz{zz{zzzz{zyzzyzy{z{zz|y{zz|{zzzzz{{z{z||y{zyzyz{{z{z{z{zzzyzyzzz{{z{zz{zyyyyzyyy{zzzz{xzyyxyyzyxyzzyyzy{zxyyxxzxzzzz{{zzzyyyzyyyyyzzzz{zyyyyzzy{yzzzzyzzzyzyyyyyzyy{zzyyzyyyyyzyzyzz{yyxyyyyxyxyyz{zzzzzyxyyyzyyzz{zzzzzyxyyyzxyyyyyz{yyzyyyyyyyyyzzzzy{zyxyxzxyyz{zzyzzyzzyxyyyyyzyzzzyzyzyyzyyyyyyzzzzyzyyzyyyz{z{zzy{zzzyzxyyzy{z{zzzyzyzyyyyzyzzyz{zzzzyyyzyzyzyz{zzyzzyzzzz{zyzzzzz{xyzyzxzz{zzzzzzyyzzzy{zy{zzz{yzzyzyzyzyzzz{{zzzyzzzzz{y{zz{z{{zzzyzyzyzzzzz{{{{zyzzyzzz{{{z{z{{zzzzzzyzz{zz{|zz|zyzzzyz{{{|z{{{{zzz{yyz{z{{{|z{zyzzzyzzzzz{{z{{{zzzyzzzzz{z{{|{zyzyzzyz{{{z{{z{yzzyyzyzyzzz{z{zzyzyzyzy{{zzyzyzxyzxyy{yzzzyzzzyzzxyyxyyyyyy{zyz{zyxyyzxzz{yzz{{zyzyyyxxzzz{yzyzy{yyxyyyzyyzzzy{yyzyyzzxzzzyzzyzzyzyxxyzzyzzzzzzzyyyyyyyzzz{yzzzyyzyyyyyzyzzzz{{yyxyyyx{zzzzzzzzzyyyzyyzyzzzyyzzzyxyyzyyzzzzzzzzzyzyyxzyxzxzy{zzzyyyzyzyzyzzzz{yzzzxyyyzzz{zyzz{zyzzxyzzy{zyzzz{zyzzyyzyyyzzzzz{zyyzyyzzzzz{zz{zzyzyzyyzz{{{yy{{zzy{yzzz{z{zz{zzzzyyzzyyz{{z{{zzy{zzyyzy{z{{{{{{zzzzzyyy|zz{{z|{zzzzzyyz{z{{z||{zzzyz{{yy{zzz{{z{zzzzzzyzzz{{{z{zz{zzy{z{z{z{{zz{z{zz{zyz{z{{z{{{yy{zyz{{z{{{{z{yzzxzzzy{{{z{{{{zz{yz{yyz{{{z{{zzzzy{xyz{yzzzzzzzyyyyyyxzyyyzzzzzzxyyxyyyyzzyzy{zzzy{yzyz{yyzy{yyxz{xzyyyz{zyzzzzyyyyyyxzyz{zyz{zxzyyyyxzyyyzz{z{yzyyyyx{yzyzzz{yzyyzxxyzzyyy{{zyyyxzyyyyy{zzz{{yxzyyzxyzzzy{zzy{zyyyyzxyyzzyyzyyyyyyxzyy{zzzzyzzyyxyyyxyzyzzz{zyzzzyzyyyzzzzzzzxyxyzzyyyzz{zz{zyyxzzyz{zzzzzyz{zzzzyyzzz{z{zy{zzyzyzyyyyz{zz{{zy{zzxyyyzzz{{z{yzzzzyzyyzyzzzz{{zyyz{{yz{{zz{{z{zzzz{zzz{{zzz{zzzy{zzyyyz{z{zz{{{zyz{zzz||zzzz|z{zzyz{{z{{z{z{z{zyyyzzyz{zzz{z{{{y{zzzz{{zyzzz{z{yzzzz{yzzzz{{z{zyyy{zzz|zz{z{z|zzzyzzzzz{z{z{zzzzzzzzzz{zz{zzzzzzyxyzyzyzyzzzyzxzxyzyyyy{zyzzzzzzyyyyxzzzzzz{yzzyyxyyyyyzz{zz{{zyyyzyyyzzzzzz{zyzyxxxyxzyyyy{zzzyyxyxyyzzzzyyzyzyzyyyyyzyyyyzyzyyyyyyyyzzzzzz{yyxyyyyyzyy{zzzzyzyy{xyyyzyyzzzz{zzyyyyxyzyzzyzzzzyyyyyzxzyyxyzzzzzyzyyyzyzzzz{{yyyyyyxyxz{y{zz{{zyyzzyyzzzz{zz{{yzzyyyzyyzzz{{z{yyzzzyyzyz{{y{{{zyzyyzyyzzzzzzyzzyyyzyyyz{{zzyzzzyzyzyzz{{zzzzyzzyzzzyzy{yz{zz{zzzyzzyzz{{z{z{y{yzyzyyzzz{z{{{{{zyzz{yzy{{{{z{{{zzzzz{zz{y{{{{z{{y{zyzzyz|z{{{{{{zz{{z{z{zzz{{zz{yzzzzz{{{{z{z{{{yyz{{z{{|z{zz{{zz{zyzzzzzz{z{{zzzyzzz{yz{{zzyz{yzzyyy{yzzzzzzzyxzy{yyzyzzzzz{zzyzyxzzzyz{zzzzyzyzyyyyzyyzz{zzz{zzyyzyyzzzzzzz{{zyyxyyzyzyzzzzyyyxwyzzyyyz{yzzzzyxyyyzyyzyzzzz{{zyyyyzzyyzzzz{zzxyzyzxzxyyz{zyzyzyyxyyyzx{zy{zyzzz{yyyyyzyzzzz{yzyyzyxyyyyyzzzzzzyyzyyxyyzzyzz{zxxzzzyzxzyzy{z{y{yzxzyyyzzzyyzz{{yzzxyzyzzyzzz{zyyzyzyzyzzzzz{zzzzyyzzxzz{yz{zzyyyzzyyzzy{zzzzzyzzzzzzyzyz{yz{zzyzyzyzzyz{z{{z{{yyzzzzzy{{z{zz{{zzz{yyzyyzz{zz{{yzyzzyyzz{z{{z{|y{zzyy{y{zz{z{{{zxyzzyzzzzz{{{{{zzzyzzyyzz{{{zzzzzzzzzzz{zzz{{{{zzzz{zz{{{zzzz{|yzyy{yz{y{{zz{{z{zyzzzzzz{zy{{{zzyyzzyzyzzzzy{zyzyxyyzzyyzzyzyzz{zyzyyyxyzzzz{zzyyzyyzzzzzzzzzzzzzyzyyxz{yz{yz|zyzxyzzyxzzzzyzzzzyzyyzzyyzzzzy{yyyyyzyxyzyzzyyzzzyzyyyyx{yzyz{zyyxyzyxyzyzyzzzzyyzyyyzxyyz{yzz{zzyzyxyzyzz{yzzzyzyyyyyyyyzyzzyzzyzxyzyzzxz{zzz{zyyyyzyyyyzzyzz{{zzyyyyyyzy{zz{z{{yyyzzzzzz{yyzy{yzyzzzyzzzz{{z{zyy{yyyzyzz{y{{z{zzyyzyzz{zzy{z{z{zyzzyyxzzzzyzzzzzzzzzzyzyzz{|{zzz{zzzzzzzz{{z{{zzz{yyyzzzz{{{z{zxzyyyyz{zzz|{{zzyzyzzzz{{{{y{{z{zyzzy{zz|{{z{{{zzzzyyzy{{zzz|z{zyzzzzzy{zzz{{{|{{zzz{zy{z|zzz{zy{zy{yy{{zy|z{|{z{zyzzzzzz{z{zzzzz{zyyyzz{zzyzyzyxyzyxyyzzzyz{yzzzyyzyyzyzzzz|zzzzxyyyyzyz{yzz{zzyzzyyyzzyzyyz{zzyzxzyyyx{yy{zyzzyyxxxzzyzz{zyzzzyyyyyyzzz{yzzyzyyxzyyzyyyyyyyyyzyyxxxzyzzyyzyzyyxyyyzyyzyzzzzzzyzzywyyzyzzyzz{zyyyyyzyyyzzzzyyzyyzyyyyyzzyzzz{zyyzyyyyyzzzyyz{zyzzyzyzzzzzzzzzzyxyyxyzzyzz{z{{zzyyzyyyyzzzzzz{zzyyyzxzy{yz{z{zzyyzyzyyzzzzzz{zzzyyzzzyyzzzzzz{zzyyzyyzy{zz{zzzzzyzzzzzyy{zz{{{{zzyzyyzy{zz{zzz{zyzzyy{z{{{z|{z{zzzzyz{yzzz{z{z|{yzz{zzzz{{z{zz{zz{{yzzz{zzzzz{z{yyzyz{zzz{z{z|{{{zzzzyzz{{{zzz{{y{yyzzyzz{{z{{z{yyyzzzyzzz{zy{zzz{yyzzyz{{zyyyzyzyzxyxyyyzyzzz{zzzyyyzxy{zzzy{{{yzyzyyyzzzzz{z{zzzyzyxzzzzzyy{zyyzyyyyxzzzyyzyzzxzzzy{zyzzzzzyyzyyyyzxyyzzzy{zyyyzyzyxzyyyzyzyzyyyyyyzyzzzzyzzyzzyzyzyyyyyyzyzzyyzzxyzyyyzyzz{zyxyyyyyyyyyyyyzzyzzyyxyzyyyyzzzzzyzzzzyxzzzyyyzzzzyzxzyzyz{zzzz{zyzzyyzyzzzzzz{{zyzzzyzyzzzz{{{{yyyyyyyxz{z{zyzzzzyzzyyzz{zzz{{{zzyzyz{x{{{zz{yzyyyzzzz{{z{zz{z{zzzyzzzzz{z{zzzzzzzyzyxyz{{z{{zzyyyyzz{zzz{zz{z{zz{yzyzyz{{{z{zzzzzzyzzzz|{{{z|z{yyzzyzz{{{z{{{{{zzyzzzzz{zzzzz{{zzzzzzzzzzzz{{|y{zzzzzzzzzzyz{{yzyyzzyyzzzzzy{zz{yyyyzyzzyzyzz{yzyyxyyyyyzzzyzzzyxzzxyyzzzzzz{zyyyyxyzyzz{z{zz{{yzxyyyzyzzzzyz{zzyyyyyyzzzzzzz{zzyyzyyxyzzzyzzyyyzyxyzyz{zzyyzzyyyzyzyzzyzzzz{zyyyyzxyyyzyyzzzyyzxyzyyyzz{zzzzzyyyyxyzyy{zzyyz{zyzzzyzxyzyzzy{zyxyyzxyyyzzzzz{zzzyyzyyyzzyzzyzzzyyyyyyyzy{zy{{zzzzzxzzyzzzyyzz{zy{xzzzyzzzzzzz{zz{yyyzzz{{yz{{zzzyzzzzyz{zy{{zzzyyzyzzyzz{z{{{{zzzzyzyyy{{{{{z{zzzzzzzz{{z{y{{|zyzzzyyyzz{{|zz{{yzzz{{z{{zz{z{{zzzyzyzzzzz{{z{{zzzzzz{zz{z{|{{z{zzzzyzz{{{zz|{{zzyy{zzz{z{|{{{|zz{y{zzz{{z{z{{z{zyyzz{yzzy{{{zzzzyy{zzzz|zzy{z{yzyyzzzzzzzzzzzzzyxyyyzyyzzyyyzzyyyxyxzyzzyzzz{{xyyyyzyyyzzyyz{zzzzyyyyyzyzzzzzzyzxyywyyzzzzzzzzyxywyyzyzzzyyz{zxyyyzyyyyz{xz{zzzz{yyzyzyyzyy{{yxxyyyyyyyxyz{{{zyyyzxzxxyzzyzyzzyzzyyyyyyyy{zyzzyzxyyxyxyyyyyyzz{yyyzyyzyzzzz{yzyxyyyzyyyzzzyzzzzzyyyyyyyyzyyzzz{yyyyyzzzzzzz{y{yyyyyyyzyz{zzyzz{yzyzyyyyyz{yzzzzyzzyzyyy{zzz{{zzyyzzzyzyzz{zzzz{zyz{zy{yz{{zz{{yzyzyzzzzy{{z{{{zyzyzyyyz{zzz{zzzzzzzyyzz{zz{{zzzzzzzz{zzzz{{z{|zyzyzyzyyz{|{{{{|y{zzyzz|zzz{|z{zyyzzzzzzzz{{{z|zz{y{zyz{{{{zz{{zzzyyyzyzzzzzz{zzzyyyzzzzzzzzz{zyyzyxyzzzyzzzzyzyyyyzyzyyz{zy|zz{yyzzyxyz{z{y{{zzyyyzyzxzzzzzz{zzzzyzyyyyzz{zz{zyzyyxxzyyzzzzyzzyyyyyxzwyyzyzz{zzyyyyzyyyz{yzzzyzyyyxzxyyyz{z{zyzzyyyyyyzzzzyzyyyxzyyyxzzyz{{zzyzzxxyxwyzzyzzzzzzyyzyxyyyyzy{zzy{yyzyzyyyyzyy{z{yyzyyyzwzy{yz{z{zzyyzxyyzz{zzz{zyyzz{yyyzyyyzzz|zzyzzyzzyzzzzzz{zyzyyyzyzzzz{z{{zzzyzyyzz{zzzz{zzyyyzyzyzzzz{z|{{zzyzyzzzzy{z{{{yzzxyzzy{zy{zzz{{zyzzyyz{zz{{zz{zxz{{zzzzz{z{{z{{z|{y{{zzzzz{{{z{zzzz{zyz{{{{z|{zz{zzzzyz{{z{z{z{yzyzyzzz{z{{{{|{zyyzzzzz{{|{{{zz{zzyzzzzzzz{z{{zzyyyyzyzz{{zzzzzzyyzyzyz{z{z{zzzyyyyxyxyzzzyz{{yzyyzxyyzyz{zzzzzzzzyyyyzz{zz{{z{yzzxyyyzzzzyy{{yyyxxyyyzyzzzzyzyyzyzyzyz{zyyzzyyyyyzyzyyzzzyzzyzyyyyxyzzzzzyyzzzyyxyyyyyyyz{y{yzyyyyyxyzzzyzz{zxyyyyyyzy{zzzzzzzyyyzyzxzy{z{yzzyxyyyzzyyzyz{{{yyyzyxzyyzyzzyzzzzyyxyyyyzyzyzzz{zyzzxzyzzyzzzzyzyyyyyyzzzzzzy{{yyyzzzzzyz{zz{zzzyyzzyyzzzzz{zzzzzzzzzzzzz{zz{{{{zzzzzyzyzz|{zz{{zzzzzzzyzzz{z{{zzzzzyzyyzz|{zz{z{zyzzzzyz{{|{{zzyzzyy{{z{{{zzzz{{zzzy{zzz{{{{{{{{yzzy{yz{z{{z{{{zzyzz{zzzz{z||{{{z{zzzyz{zz{{{z|{{{zzyzyz{z{zz|{{zzzyzzzzzzzz{y{zyyz{yyyzzzyzyzzyzyzyxyyxzyzyz{zyyyyxxyyy{zzzzzzyzyyyxxzzyzzz{{zzyyyzzyyyzzzyzzzzzyyxyyyyzzzyzyzyyyyyyxyyzzyzyzzzxyzyxyyyyzyyzzzyzyxyyxyzzzyzyy{yyyzxxyxyyzzyzzyzyyyyyxzzzzyzzyzxyzzyyyzyzzyyzzyzyxyzyyyyyyxyyyzyxyxyyxyyzyzxzyzyzyyyzxyzzzyzzzz|yyyzyyyzzzyz{|zyyzyyx{y{zzyyzz{zyzyyzyzzzzy{{{{zyzyyzyx{zzzzzzzzzzzzyyyyyyzz{zzyzzzyzxyzzzz{{zz{yzyzzzzzzz{z{{{zyzyz{zzyzz{{{zzyyzyyyyxzzz{zzzzzyzyzyzyz{z{{{{zzyzzzzzz|{z{{|zzzzzzz{zzz|{zz|{{zxyzyyzzz{{{{{|z{zzzzzzzy{zzzzzzz{zzz{zz{}z{{{|{zzzyyzzyzz{zz{zzz{zzzyzzyzzz{zz{zyyzyxzyz{zzzzyzyyyyyyxyxzzzzyzzxyzyzxxyz{z{yzz{{yyzyyzyyyzzyz{zzyyyyyyzzzzzyzyzzzyyxyyyyzzzzzzzzyzxyyxxyzzyzzzyyyzyyyxyzyyyyy{zzyywxyyyzyzzyzzzyzzzxxyyzxyzyzzzyyyzyzyxyyyyz{yzzy{zyyyyxzzzzzz{yyyzyyyyyyzyz{yzzzyxyyyyyyyzzzzzyyzyyyzyyzyyy{zyzyyyyyyzzzyzz{zzyzyyzyyyzzzyzzzzyyzyzzyyz{zyzz{zzzzyyyzyz{{zzzz{{yzzzyzyyzz{z{z{yzy{zzyzz{zzz{zz{yyyyyzyzzz{{{zzyzyyzzzzzzz{|y{zzyz{zxzzz{{zzzz{zzzzzyzzzzzz{{|{zz{zyz{zz{{z{{z{|yzzzyzz{|zzz{{|z{{{zyzzz{|{|{zzzyzyyyyzzz{zz{{{{zzy{{zzzz{{zzz{zzyx{zzz{{{{{{{z{zyzzzzyy{{yzyzzzzzzyyzzyzzyyzyz{xxxyyyxyyzyzzzzyyyzyxyyzzzzzzyzzyyyzyyxzyzyzzz{zyzyyzyyzyzzzyzzzyyxyyyyyz{zzzzzzxyyyzyzyyyzzyzyyyyyyyyxzyyzzzzzyyyxxzyyzzzyzzzzzyxzyyyyy{z{zzz{yyyyxzxyzz{xyzzzyyzyyyyy{zzzzzzyyyzzzyxyzzyzzyz{zzyxyyyxyzyyz{z{zyyyyyyyyy{zzy{zzzyyyzzyyzzzz{yzzyyzzyzzyyz{z{{{zyxyyzzx{zzz{{z{zyzyzyyyxzzzyz{zzyzzzyzzz{z{y{z{{yzzyyyz{yzy{{zzzyzyyyzzzyz{z{{zyyyzzzzz{z{{zz|{zyzyzzzy{zzzzz{{zzzyzzzz{{{z{{{{{zzzyzzzyz|z{|z{{{{{{zzzy{{{{{{zzy{z{zyy{{zz{{z{zyzzz{yzzzz{z{{z{zzzzzz{z{zz{y{|zzyzzzzzyzz{z{{{{zzzzzzzyz{{zzzzyyyzzyyyyzzzzyzzyyyyyyzyyzyzzzzzyxyyzxyzyzyzzzz{zyxxyyyyzzyyy{z{zzzyyyyzzzzzyzzzzywyyzyxzzyzzzyzyzyzyyyyyzyyyzzzyyzyyyxyzz{yy{z{yyyyxyxyyyzzyzyzzyyyyyyyyzzzyyyyyyyyyzxxyyyzzz{yyyzzzyyyzzzzyzyyyyyyyyyyzzzzyyzzyyyyyyyzyyzyzzz{yyyzyzxyzyzy{zzzzyyyxxyyzy{zyzzzzyzzyxyzzzzzyz{zyyyzyyzyyz{zzzzyzyyyxzzyzz{zz{zzzyzzyyyyzz{z{zzz{zyzyyyyz{zzzzyzzyzyzyzyzzz{zz{{xzzzzy{zzzzzz{{{zzzyxzyxzzzzz{{{zyzyzzyz{{zzz{|zzzyzzzyzyzzz{{{z{zzzzzzzz{z|z{zzzyz{yyyz{zz{zzz{zyyzz{yy{{z{{{{{zy{z{yzz{{zzzzz{zzyyzzzyyyy{zz{{zzzzyzyyz{yzzzy{yyzyyyyzyzyz{zzzzyxyyxyyzz{yyzz{zyyyyyyx{zzz{y{zzyyyzzyy{{{zzzzyzyyzyxzyyzzzyzyzz{yyxxyyzy{{y{zzzyyyyyyxzzyyyz{yzyzyyyyyyzyzzzyzzyyyyzzyyy{zxyzyyyyyzyzyzzzzyzzzyzzyxyyzxyyyz{{zyyzzyzyzyyz{zz{zzzxzyxyyx{zyyzzzzyyyzyzzx{zyzz{yzyzyzzzy{yzzy{zzyyyzzyyyzyz{zz{{zyzyzyzyzzyyyz{{zzyzzzzyz{zzzz{zyyyyyzyy{z{yz{zzyzzyzyzzz{{{zzzzzyzzzzzyz{{{yz{zyzyzzyyzz|{{z{z{zy{yzzzzzzzz{|{{zzyzzzzyz{z|{zzzyzzzzyyzz{zz{{{{{zzzzyzzzzyzzz{{{z{zzzzz{z{|{z{|zy{{z{{z{{{zz|{{zzzzzyzyz{{{{z{{yz{{{z{{zz{{{{{{z{zyzyzzz{z{{zz{{{{xzzzyz{zzzzyzzzzyyyzyzzzyyzyzyyxyxyyxy{zyyyzzyyyxyywyzzyzzzzzyxzyyzzxzyzyzzz{zyyyyxyzzzz{yzzzzzyyyyyxyzzzyzyzzxzyyyyyzzzxyz{yyzxxyxyxyyzyzyyyyyxxxyxyyzy{yzy{yxyyzxyyyyyzyyyzzwyyyyxyzyzzzzzzyxyxxyxyzzyzyy{zyzxzzyyyxzyyyzzzzyxyyyyxzzyzyzyzyyzyzyyxyyzzyz{zyyyyywzyzzzyyzzzzyzzyxyyzyyzzzz{yxyyyzyxzzyzzz{yyzyyyzzyyzzz{z{zxyzyyyxyzz{{zzzyzyyzyyzy{zzzzzz{{yyzzyyzzz{{{{yzzyzyyzyzzzzzz{{zyzzzzyyzzyz{z{zz{yyzzyzyz{zzzzzzyzzyzyzyzz{z{|z{|yzyxyyzzz{zzz{{zzyz{xyyzzzzzzzzzzzx{zzyzz{{z{z{{zzz{zzzzzz{zzz{yzzzzyzyy{{{zz{z{zzzyyzyzzzzzyy{yyzyyxyyyyzyzzzzzyxzxyzyy{yyyzzzxyyxyyzxzzyyyzz{{zyyzzyzzzyzzyzzzy{yz{yyy{zzzyzzzxzyyyzyzzyzyzzzyzyyyyxxzzyzyyzzyyzzyyxyyzzyy{z{zyyyyyyyzyzzzzzzyzyxyxyyzz{zyzzzyyyyzxxzzyzyyz{yzyzzyyzzzz{zyzzyzyyzzyyxyy{zyyzyzzzyyyxyyyzzzzzzzyyyzzyyzz{zzz{zyyzzzyyyzy{yyz{zzzyzyzyyzzyzzzz{yyzzyyyz{z{{yz{{yzyyzyxzyzzzz{zzzzzyzyyyzz{{z{{zzyzy{yyzz{{zzy{zzzzyzzzz{zyz{z{zyzzyzy{z{z{{zz{zzyyzyyyy{|{yzz{{{zzzzyyz{{|z{z{zz{zzzzz{z{zz{{{yyzzzzzzzz{{z{z{{zz{zzzzz{{{{zzz{z{yzzzz{z{z{z{{zzzz{zzzyz{z|{{{{zz{yyzzzz{z{z{{{zzx{z{zxyzzz{zzzyyzzyxzyzyzzzyzzyyyyxyzyyyyyyz{yyxyyxyyxzzzzyzzzyxxxyyzyzyzyzz{zzxyyyyyyxyzzyzzyxzyyxzyyzzzzyyzzyyxzyyzyyzyyzzzzzyyyyyyxyyyyzzyyyyyyyyyyyyzzyyzzyyxyyyxyyzzyyzzyzyyyxzxyyyzz{zzzyxyxyyyxyzyzzzzyyyxyyyyxxzzyzzzzyyxxyxzyzyzyy{zzyyyxyyzzzyz{yz{zyyyyyyyzyz{zyzzzzyzzyyzzyzzzzzzyzzzyyxyzzyzyzzzzyzyyyzyyzzzyyzzyyxzxzzyyz{zzzz|zzyyzzyzzzzzzzzyyyyzyyzz{yzzzy{zzzyzzyyyy{zz{z{z|{xx{zyzyzz{{zz{{yzyzzyzyz{yzz{z{yyyyzzzzz{{y{z{zyyzzzyzzz{zzzzz{zyz{{z{y{zzz{zz{{yz{yzzzz{{|z|{{zy{yzzyy{{y{{z|{zzyzzzxyyz{{z|{{zzzzyyyzyz{zz{{zyyzzyyyxzyz{zzyzzxxxyyyyyyyzzzzzyyyyyxxyz{zzzy{z{yyxxxzyzyyz{zzyzyyyxyyyzyyzyyyzzzxyxyyyyyyzzzyzyyyyyyyxyyyyyyyzyxyyyyxx{yzyy{zzzzyzxyyxyyyzyzyzyyxyyyyyyzzz{zzyyxyyxyyyyzzzzzzzyyyyxyxyxzzyyzzzyyyxyxzxyyyyzz{yyyzyyzyyyzzyxzyzxyyyxyyyxyzyzyzzyzyyyzyyzzzz{{y{yyzzyxyz{zyzzyzzyyyzyyzzyzzyzz{{{xyyzyzyyzzzz{z{zyyzzyxyzz{zyzzyyyyyyyyyzzzyzzzzzzyyzzyzyz{{{zzzzyyzzzz{zzyzzz{{{yyzzzyzzy{zzz|zyzzy{zyzz{{{z{zyz{zzzz{zz{zzy{z{{yy{yyyyy{{{z{{zzzyzzzyz{{{zzzz{yzzyzyzzz{{z{{{|zzyz{{zz{{z{{{{{z{zyyzzyy{zzz{{{{zyzyzzzz{z|zzyzzyzzzyyyy{zzzyyyyzzxyyyyzzyyz{z{yzzzyyyxzyzyyzzzzyyxyzyyyzyyz{z{zxzyzyyyzzyzyz{zyyyxyy{zyzzzyz{zyxyzyyyxzyzyyzzz{xzxyyyxyzzyyzzyyyzzzyyyxy{zzxzzyxyxzxyzzyyzyzzxzyxyxyyz{yzzz{z{yyxyyyyx{yzyyz{yxyzyyyyyzzyzyzzzzzyxyyyyzyzyzzz{xzzyyyyzzz{{zzzyyyyyzyzzzzzzyy{zzyyzyyzzz{zzzz{zyzzyxyzyyzzzzyzzyy{zzxzzyzzzzz{zyzzzzyyx{zzyzz{zzyzyzyyzz{zyz{{{y{zzzzyzzzzzz{z{zzyzyzzzyyyzyzyzzyzzzzzzzzzzz{{{{y{zzyyz{{zzzz|{z{yzyz{zzzzzzzzz|zzzyzzzz{z{{{{{zzzzzyzyzz{z{zz{{yyyyzzzz|zyzzz{zzyz{zzz{z{{z{{{yyzyyzzyyzzzz{{zz{yyyyyyz{zzzzyzzzyxy{zyzyzyyyzy{yyyyyyxzzzzyzyz{zyyyxyyz{zyzyz{yyyyyyxyyzyzzzzzyyzzzxxzyyyzzy{zyyzyxyyxyyyzzzyzyyzyyyzyyyyzyzzyyyyyyxzyxyzyyyzzyyzyyyyyzyyzyyzyzyyyyyxyzyzyyyzzyxzyzxxyzzyzzx{zzzyyyyyxyz{yzzzzxyyyyxxxyzxyyzyzyzzyyyyxyzyyyyyzzyyyyyyyzzyzyyzyzyxyyyyyzzzzyzzzyzyzzyzyyzyzyzz{yzzyyzyyzzzzyzzzyzzzyyzzyyzyzyzzzyzzyyyyz{zyzy{zzyy{zyyzz{zzzzzzyzyzyzyzy{z{{z{|zzyyzyzzz{zzz{z{zzzzzyyyyzzz{{{zyyzzz{zzzz{zzz|{zzzzzzzyz|yzzz{{zyzyzzyyz{yyz|{zzyy|zzzy{z{{zz{{zzxyzzz{z{{z{z{zzzzy{zzy{z{{{z{{zzyyyxzzy{z{{z{{yzzyzzzyzzyy{zzzyyzzyxxy{zzzzyzxxyxyyxyyyzzzyyzzzyzyyxxxzzz{{{zyyyyyyzyyzzzzyzzzyyyzxyyzyzyyyyzzyzzyxxxyyyyzyzzzzyyxyyzxxyyxyzyyzyyyyzyyyzzyzzzyyzzxzyxzyyyzyzzzzzzyyyyyyzzyyxzzyyyyyyyyyzzz{z{{zzzyyyxxyzzzzzzzzzxyzyyxyzzyyzzyzyzyzxyyzzzyzzyyyyyxyyyyyzyzzyzzyyyyzyzyzzzyyzzyyy{zyyyzyzzzy{zzzyzyyxzyzzzyzzyzyyyyyyzyyzyzzzzz|yyyyzyzzz{zz{yzyzyzzzzzz{zzy{{{{yzyzzzyyzzzz{{zyzyz{zzzz{z{y{|zzzzzzzzyzz{{zz{z{yzyzzzy{{{{zz|zzz{yzz{zz{zzzz{{{zzyzzzzz{z{{{zz{zzzzzyy{zzz{{{{zyzzyzyyz{zzzz{{zzyzzzy{{{zy{{z{yzyyzzzyyzzzz{{zz{zyzyyyy{zzz{zzyyzyyzyyzzyzzzyyyyyyyyyxzyzyy{zzyzyyxzyxzxyyyzzzyxyyyyzyzzzzyzzzyyzyxxxz{yyzyyy{xzzxyyyyzyyzzzzzzyyyyxyyxzzyyzzyzyyyyyyxyyyyyzzyxxyyyzzyyyzzyyyzyxyxxxyxyyyzyzyzyyyyyyxzyyzyzzyyzyyyyzyyzyzyzzzzyxyyyxyxyyyzyzz{yyyxyyyyyyyyyyyyxzyyyyyyzyzyyzzyyyyxzzyxyzyyyzz{yyzyyyyyzyzzy{zzyzyzyxyzyyzyzzzyzy{yyyzyzzyz{zzzyyyyyyyyzzzzzyzzyyyzzyyzyzzzz|{{z{zzzyyyzzz{zzz{yyzzzxzz{zzz{{z{{yzzzzyyzz{zzzzzzzzyzzyyz{{zzzzz{zyyyy{yyzz{zz|{zyyzzyyyzzz{zz{{zzzzyyzy{{z{z{z{zzzz{zzzzzz{{z{zzzyzzyxzzzzzzzz{yzyyyyzzyzzzzz{{zzzyzyzyz{zzzzyzyyyxyzzyyzz{zzyyzyzxyxyzyyzyzyzzy{yxyyxyyzzyzyzyzzzxyyxyyzzy{zz{zyzyyyxyyzzzzz{zzzzyyyzxzzzzzzz{zyzzyyywy{yyxzzzyzyzxyyxyyyxyzzzzyyxyzyzyyyzyzyyyyyxzyzxzzyyzz{yzyzyyyyxyzz{zyzzyyyyyyyyyyyzyzzyyxyyyxxyyyzyyyzzyzyyxyyzyy{yyzzyzyxyyzxyzzz{z{zzzyzyyyzyzzyzzyzyzyzzyyyyzzzzzzyyzyzyzzyyzz{y{zzy{yyzzyzzz{zzyyzzzyyyzyyxzzzyzzzzyzyzzyzzzzyzz{zzyzzyzyyyzz{zyzzzyyzyyyzz{{z{y{z{zyzz{zyyz{{{{z{z{zy{zyyzzzy{{{zzyyzzz{{zz{z{yzzz{zyyzzzzz{{{zz{{zyzyyyz{z{zzz{z{{yyyzyz{{{{{{zzz|yyzzyy{{z{z|z{zz{yyzyyyzzzzzzzzz{zzzzzz{z{zyy{zyyyyyxyyzzzzzyzzyywxyxxyzyyyyyyzzyyyyxyxxyzyzxyzyxyxyxyyzxyzzzzzzyyyyzxyyyyyyzy{zzyxxyyyy{zyz{yzyxyxyyyxzzzyyzyzyyxxyxzyyzzyyyz{zyywyyxxyyyyyyzzyyyyyyyxyyyyzyzyzyxyyyyzyzzyyyyyzxxxxxyyyzyyzyyzxxyxyxyxyyyyyzyyyyyyyyyyy{yyyzzzyxyzyyyxyzyzzzzyyzzyzzyzyzzyzzzzyxyyyyyyyyyz{zz{yyzyyxyyyzzyzzzzyyyzyxxyzzzzy{zyyyyyzyyxxyzzzzzzzzyzzzyzzzzy{zzzzzyyzyyzzzyz{zzzy{zzzzzzz{z{y{z{yyyyxyzyzz{zz{zyzzyyzyzz{|{z{zzyzzyyzzzz{zyzzzzz{yyzzzyyz{{zz{{{zyz{zyzzzz{{zzz{{z{yzyyzzyzzz{{{z{yz{{zy{yz{{{zzyyzyzyyyyz{z{{zzzzzzzzyyzzzzzzzzzyyyyyzyzy{zyzyyxxxxxxzxzzzzyyzzyyzyzyyxyzyyyzz{zyxyxyxyyyyzyz{yxyxyxyyyyzzzyzyzzyyxxyyyyzzzyyzyxxxxyyyyyzzxyxyyzyyzxxzyyzyyyyzzzxyxyxxyyyyzyzzzxxxxyxyyyyzyyz{yyyyxyxxyzyyyzyyzyyyyxxyyyzyy{y{zyyyyyyxyyzyzyzzyyxxyyyxxyzyyyzzyyxyyyyxxzyzzzzzzyyyyyyyxzzyzyy{zzyxwxyxzyyzyzyzzzzyxyyyzzyzzzz{{zyyzyyyyyzyzz{yzyyzyyzzyyzzyzyzyyzxyyyyyz{zzzzzyzzzzzzzxyzz{z{z{zzyyzzzzzzzzyzz{zzzzyyxyzyzzy{zzz{zzzyzzzzzzz{{yzyzyzzzyy{z{{{y{zzyzy{yyy{zz{z{zzzzyyzzy{z{zz{{zzzzyyyyzzzzz{z{{zyzzzzyyzz{zz{{{yyyyyyxyzz{zz{{{zzxzxxyzyyyzyzzzyzyyyyzyyzzyyyzzxyxyyyxxzyyzyx{zyyxyyyyyzyyyyzyzyyyyyyxyzyzyy{zyzyyyzzyyzzzzxyzzzyyxyxwyzyzyyyyzzxzyxyzyyyyzyyzzxyyzyxyxyzzyyyyzyyyyyyyyyxyyyzzyyywxzyyxzyyyzzyyzxxyxyxyzxyy{zzzyzyzyxyxyzzzyz{yyzyyyyyyyyyxzzzyzzxyxxyxyzyyzzyzyyxzzyyyzzzyyyzyxyyyyyyyy{zyyzyz{yyyzyyzyzyzz{{zyyyxxzyyzy{zzzz{yyzzyzyyzzyzz{y{zzyyyyyy{zzzzz{zyyyyyyzzyyzzyzzzy{yzzzx{zzyz{zz{zzyyyyyzzz{z{z{{zzyzzyyyzzzy{{zzzyyz{yzzz{zyzz{{zyyxy{z{zz{zzzzzzzzzzzzzy{zzzz{{zy{zyyzyzzz{zzyz{yzyz{zz{zzz{z{{z{yzyz{yzz{{{{zz{zzxxz{yyzz{zz{z{z{yyzzyzzzzzzyyzyyyyyzyz{z{yzzyyyyyyxyxyzyyzzyzxyyyyxyyzzzzyyyxyxxxyyxxyyyzyzzzyzyxyyxzzy{zzyzzyyzyxxyyyyyyyzyyzyyxxxyyyzyzxzzzzyyxzxxxzyzyxyzzyyyyxyzyzxzzyzyzzxyxxxyyyzyzzzzyyyxxxzxyyzzzyzz{yyyyyxwxyyyzyzyzyyzxxyxyzzyyxzzzyyyxyxyyyyxyyzyyyyyyyyyxyzzzzzyzzyyxyxxyyzyyzz{{yzyyyyzy{zyzzyyzxyyyyxzyyzzyzzz{zyyyxxyyzyzzyzzzzyyzzyyyzzyz{zzzzyyyyyyzzzzzy{zzzyyyzzyzzzzzzxyzyzzyyyyyzzzzzzzzzzzzxyyyzz{z{{{zzzzyzzyz{{{zzzzz{zzzyz{yz{{{zz{zzyzzyyzzy|zz{y{zyyzzzyyzyyz{z{zzzyyyzzyy{zz{zzz{{yyzzzzyzzz{{{zzzzzyyzzzz{yz{zzz{yzzzxyyyzy{{zzyzyzxyyzyzzzzzyzyyyyxxyyxy{zzzzzzxyxyxyyxyzzyyzzzzzyyyyxxzzzyzz{zzyyzyyzyyzzyyzyzyyxxxxxyyxyzyzzzyyyyxyxzzyyzyzzyzyyyzyxy{yzyyzzzyyyxyyxyyyxzzyzzxyyyyxxyyy|yyzzzyyxyyyxyzyzyzyzzzyyyxyxyy{yyyzzzzyxyyxyyyyyyyzzzzyyyxyyxzyyxzzzzyxxyyzyxzyzzyyzzzyxyyyyzzzzyyyyzzzyyyxyyzzzyzyzyyyyyyzyyyzzyy{z{zyzzyxyyyyzxzzyzzyyyyz{yzzzzzy{zzyyyyzyzyzzzyzzyzzyxyyzyzzzzzyz{yzzyyzzzxzz{z{{zyzyyyyzxy{{zzzz{zyyyzzyzyzz{{z{{yyyzz{zzzzz{y{z{zzz{yyzz{{{zzzzz{zzzzyzyz{z{zz{{zzyyyzzzzzyzz{z{{yzyzyxzyzz{zzz{zzyyyzyzzzzzzz{zzyyzyzyzzzz{y{zyzxyzyxxz{yzy{zzyyxyzyxxxzyzyzzzzyxyyyyyyyzy{zyzzzyyyyyyyyyyzzzzzyyyzyxzyzzx{zxz{xxyxyxyyzzyyyzzzyzyxyxyyxxyzyyzzzyyxyyxyzyyyyyyyyyyxyxzyzyyzyyzzyyyxyxxyyzyyyzzyyyxyxyyxyzyzyzyzyyzzyyxyyyzyyzzzyzyxxyyyyyyzyzyyzyyyyyzyyzyyyz{yyxxyyzzyyyzzyxzyyyyyzxzyzyzyzzyyzxzzyxyxzzzyz{{{zyyyxyyzzzzzzzyzzxyyzxyxzzyzy{z{yyyzzyyxzz{zyzzz{yyyyyzyzzyzzz{zzyyyyzzyzzzzzz{zzzzzzy{y{yzz{{z{zyyzzyyz{z{z{z{zzyyyzzyyzzzzz{zzzzyyyzy{y{zyzzzy{yzzyzzyz|z{{z{zzzz{zzzzz{zz{{zzzyyzz{z{z{zzzz{{zzzzzz{zzyz{zyzzzzyyyyzzyz{zzz{{yzyyyyzyzzxzz{|zyyyxyzyyyzzyzzyyyyyxzyyyyyzxzxy{yyyyyyyyzyzzzzyzzzyyyyzyzzyzzzyyyyzyyyxyz{zzzxzyxyzxyyyxyzzzyzzzzyzyzxyzxzzzyzzzyyxyxzxyzzzyyyyzyyzyzyyyyyzzzzyzyyyyxyxyyzyxzzzyyxyyyyyyyxyyzzzyyzzyxyyyyzzzyxzyzyyyyyyyxzzyzyzyyyyyyxyyyzyyxzzzzyyyxxyxyyyzyzyzyxyyyyzyzzzzyy|zzxzyyyzzzzzzzz{zyyzyyyxzyz{zyzzyzyzyzzyyyzzzyzzyzyzyyyyxz{zzzzzzz{yyyyyyyzyyyz{zzzzzyxzyz{z{z{zzy{yyzyzz{zz{z{|zyyzz{zzzz{{z{{{z{yzyzyyyzzz{{z{zzzzyyzzz{zzyz|zz{zzzzzyyy{{{zzz{zzzzyzzzz{zzz{y{zzzzzyzz{zz{zz{|zzzz{zzz{y{z{{{{zzzyzzzzz{zz{zz{zyzyzyyzyzz{zzzzzzyxyyzyyyzzzyzyyxxyyxxxxzyyzyyzyyxyyyxyzy{zzzzyzyyyzyyxyzzyzyyzyxz{yxyyzzzzzy{{yyyxyzyxyzzyyzyzyyzyyyxxyyzzy{zyzyzzyxyyyzyxyyzzxyyyzyyyzyyzyyzzyyxxyzyxxzzzzzzyzyyzxyyxxzzyyyzzyyzyxxyzyyz{yyyz{xyzzxyyzyyyyyzzyyyxyyyyyyyyyzzzyyyyyxyyz{{zyzzzzyyyyyxyyyyyyzzzyzzyyyyyzzyyzyz{yyzyyyyyzzzzy{z{yyyzyyyyz{z{yzzzyzyzzyyyzz{y{z{zzyyyzyyyzyyyzzzzyzyyyzzzzzzz{zyzzzz{yyz{z{z{zz{zzzyyzzyyzz{{zzzzzyzyzzyzzz{y{z|{zzyzzzzz{y|{{zz{{zz{yzzy{{zz{z{{{{y{z{zzz{z{zz{{zy{zzzyzz{zy{{{z{zzzzzy{{zz{z{|zzzzy{zzz{z{z{z{zyzzyzyzyz{{yzzzzyzyyzyyyzyyzy{yyyyxxyxyxy{yzzyyyzyxyxxyyzzzyyzzzzyyxzyyxyyyzyzyyyyxyyyxxyzzzzzyzyzyyxyyyyyzyyyzyzxzyxxyyyyzyyy{yyxyyyxyyxxzyyzzyyyzxyyyyxyyzzyzyyyxyyxyyyyyyzyyzyxxyyxyyyyzy{yyzyzyxxyzxyyyyyyzzyxxyyxxxyyyxyzzyxxyyyxxyzzzzzzyzzyyzxyyxyyzzyzzzyyyyxxyyzzyzy{{zyyyzyyyzyyyzzzz{yyyzyyzyzzyzzzyyyyyyyxyxyyy{{yzzzyzyyyzyzyzzyzzzzyyyyzyzyz{zyzzzyzyyyzzzzzyzzyzzyyzzzyyzzz{zz{{{zyyyyzyzz{zzzz{zzzzyyyzxz{zzzzzzzyyzyzzzz{z{{{{{zzyzz{z{zz{{{{{{{y{zzzzz{{z{zzz{zzzyzzyyz{{yzyz{{{zy{zyyzzy{z{{{zyyyyyzy{zzy{z{{zzzxyzzyyyz{zzzyyzzzyxxyzy{zzyxzzyywyxyyxzyxzxzzzyxwyzyyyyyyy{z{yyzxxxyyyyyzzyzyzxyyyyxyzyz{yyyzyyyyxzyxyzyyyzy{yyyyyxyxyzyzyzzzyyxyyyxyyyyyyzyzyzyyxyxyzzyz{zzzyyxxzyxyyzyyyzyyzxxxyyxxxyzzzyyyyxyyzxxxzzzzzyzyyyzyxyxwyyyyyzyyzyyxxyyyyzyzyyy{yxzyyxyyyxyyzzzzzxyyzyyyy{yzzzz{zyyyxxyzyzzzz{zzzyyyxzyyyzyzzzzzzyzyzyzyyzzz{{yzzzyyyyyyxzzyyz{yzyxzzyxyzzzzy{yzzzzyyyzyz{zzzzzyzyyzyzzy{zy{z{zzzzyzzxyyzzzzzz{zyyyzzyzyzzzz{z{{yyzyzzzzyzyzz{{z{yzyzyyyy|zzzz{zzzyzyyyzzzyzzzzzzyzyyyzyz{zz{z{{{yz{yzyz{z{z{zzzzzyyzxzzzzzyzy{zzyyyyyzyz{zyzzzyyzzxyyyy{z{zzyyyyxxyyxyxyzzyyyy{yyyyyxyyyzxzz{zzyxyxyzyyzzyyzyzyzzyyzxyyyzzyyy{zyyxxxyywyyy{y{yzyzxyyyyxxzyzzzzyyxyyyyyyzzyxzzzzxzxyyyyywzyzzyzzzxyxyyxxzyzyzyyyzxyyyyxyzyyyzzyyyyyzyxyxyzxzyzyzyyxyyyxxxzzyyzzyyyyxyxyyxyyyz{yzzyyxzyyyyxyzzy{y{yyxzxxzyzzyyy{zyyyzxxyyyyyy{zy{zyyxzyzzyyzzzzzzyyyxyyzyyzz{zzyzzyyyxwxxyyzyzzzzzyyyyzyzyz{zzzyz{zyxyyzzz{zzzzz{yyyxzzzyz{{{zy{{zyyyyzyyzz{zzzzyzyyyyyzz{{{zzz{zzyyyz{zyz{zzzzzz{yyzzyyzz|{{z{zz{zyzyzyyzzzzz{z{zzzyzyyz{yzzzz{z{zyzzzzzyzy{{zzzzzzyzyzyzyzz{zzz{yyzzxyzyzzzzyzzyyyyyyzy{zzyyxyzyxyxxyyxxyzyxzyzzyyxyxyxyyyyzzzyyyyyyyyyyzyyzx{zyyzyxyxyzzzzyyyyyyyxxyyxyzyzzyzzxyyxyyyyyzyyyyyyzyyxzzxxzyzyyyzyyzyyyyyyyyyzyzyzxyxxyyzxxyzxyyyyyxyyyyxyyyyyyyzyzyyyxyxxzzz{zzyzyyyxyyyyyzy{zyyzyxxxyyyyxyyzzzyzyyyyxyxyyyyyzzzzzyyzzxywzzzzyzzyyy{yyzyyy{yzyzzzyzyxyyyyyyyyzzzyyzzyzyzyzzzyzzyzyxzyyzyyyz{{zyy{yzyzxyyxyzzyzzzzzzyyyyyyzzz{{z{{zxzzzyyzz{zzz{{zzyzzyyyyyzzz{zzz{xyzzxyyz{{yzzzzzyzzy{zzz{zzzz{z{yzyyzzzz|{{{yz{z{{yyyyzzzzzz{{{zzyyyyy{zzz{z{z|zyzzzzzz{{{{{{{{zzyyxzyzxzzz{z{{{yzzzyzxy|zzzzzzzzzyxyyyyzzyzzyzyxxxyxyxyyzzzzzzzzyyyyxxyyyyyzyzzyxwyyxxzyyzzzzzzyyyyyyyyzyyzyzzzyyyyyxyxyzyyzyzxyyzxzzyxzyyyzzyzyyxxywxzzzzyzxzxxywyyxyzyzyyxzyzxyxyxyxzzyyyyyyyyyxxyxxyzyyzyyzzyyxxyyzyyyzyzzzyxxxxxzyxyyyyyyzyzyxyxyyyxyzzzz{xyzwzyyxyyyzzzyzyyxyyxyyxzyzyyyzyyyzxxyzzyzyz{yzxzyzyyxyyyzzyzzz{zzyyxzyy{zzzyzzzyzyxzzyyzzyzzzyyyyyyxxy{yzzzzzyzzyyyyyzy{{yzz{{yzzzyyzz{zzzzzzzzzyzyyyyz{z{{y{y{yzzyyyy{{zz{zz{zyzyzzzzzzz{z{{zzyyyxzyzz{zy{z{zzyzzyyzy{{{zz{z{zyzyyzyyzzyz{zzzzzyzzxyzzyz|{zzzzzyyzyzyyzyzy{{zyyzyyyzxyzyzyyzyyyzyzyyzyzyzzyyzxxxxyyyxyzzzyxzzyzxxywxyxyzxy{zyzyyxyyxyzzyyyzyzyyzzyyxyyyyzyyyyyyyyxxyxyyzyyzzzyxyxyyyxyyyyzyyyxyyzyyyyxyzyyzzyyxyyxywxyxyyyzyzyxyyzxyyyyzyyzzzyyxyxxxyyxyyyyyyyyywxxwyyyyzyyyzyyzxyyxyyzzyyzyzyzyyxyxyyzzyzzzzxxxyyxxyyyzzzz{zzyyyyxxyzzyyyzyzyxyzyxyzyyzyzzzzzyxyyyxyzyyyzzzzyyzyzxzyzzz{zzzzyyyyzxzyyzzzyyzzzyzyyyyzzzzzyyzzzyzzzyzyyzzzz{zzzyzzyzyzzzyzxz{z{yyyzyyyyyzyzzz{yyzyzzyzz{zyzzyzzyzyyyzyzzz{zy{zyyyzzzzzzzzz{z|{{zzyyyzyzzzz{{zy{zzzyzzzyy{zyzz{zzyy{yyz{{zzz{{zzzzyyxzzyzzzzzzzzzyzyyxyyyyyyzz{yyzyzyzyz{zzzyyzxywyxyzyxzyyyzyzyxxxyyxzyy{zyzzzyzxyyxyyxyyyzzzzzyzxyxxyyyzzyxzzyyyyyxxyyyzyyzzyyyxyyyyxyzyyzzyzyzyyyxxxzyzyyyxzxxyxxyyxzyyzxzyyyyxxyyxyzzyyzzyyzxyyxxxyyyzyyz{yyyzyxyxxyyzyyzyyzxyyyyxxyxyyyyyyzyyxzyyyyyzzzzzzyyxyyxxyzyzyxzzzzzyyzxxyyyzzzz{{yzyyyxxyzzzzzzzzyyyxyyzxzzzzzzyzyzyyyxyyyzzzyzz{yyyyyyyxyzzyz{zzzyyzyyyyzyzzzyzzzzyyyzyyy{{{{zz{zzzzyy{yzzzzz{zzyxzyyyyy{zzzy{z{zyyyzzyyz{zyz{z{yzyyyyzyzyz{{z{z{zyzyzyyz{zzz{{zzz{yzyyyzzyzzzzyzyzyzyyzzz{zz{zzzy{zzzyzz{zzz{zzzyyzyyyyyzzy{{{zzyyyyyyyyz{zyyzyyyyyxyzyzzyzzyyyyzxwxxyxyzyzyzyyyyyxyxxyyyzyzzyzyyyyxyxzyyzyzzyzzyyyxxxyyz{yyyzyyyyxyxyxxyyzy{zzyzyxyyyxyyyxyyzyzyxyyyxyzyzyyzzyyxyyyyyxyxxyyyyzyyyyyxyzyyzyyyyzyyyyzyxyyyzy{zyyyxyyywxxyyxyyyyzzzyyzxyxyyyyyzzzzyyxyzyyyzyyyzxzyyyyxyyyzzzyyzyzyyxyyyzyzz{yyzyzyxyzyyzyyzy{yzy{zyyywyyxxzzzzyzzzyyzyyyyyzyzzzzyzxzyxxyxzzzzzzzyyyxyyxyzzzyzyzzzzzyyzzxyy{zzzyz{yzyzyzzyzzzzzy{zzzxzzzzxzzzzzzy{zyz{zy{y{zzzz{zzyy{yzyyzzzzzz{zzzzzyyzyzyzzz{{{z{zyyyyzzz{{{z|zzzyyyyzzzzzy{zz{zzyyyzzyzyzz{{{zzzyzyzzzyzzzzzz{{yxyyyyyyy{{zzz{yzyyyyxzz{zyzyyyyyyzxyyyxyzzyyxyzzyzxxyxyyyzzyz{{yzxyyyyyzzyzzz{yzyzyxzyzzzzzzzzzyzyxxyyyzzzyzzy{yxzyyyyyyzyzzyzyyyyxxyyxyzzyyyzyzzyzzzxyzzyyyyyyyyyxyyxxyyyzzzzzxyyyyyyyxzzzzzyzyzzyxzyxyyyyzzx{zyxyyxyxxzyzzzzzzzyyyyyxzzyzx{yzyyyzzyyyzyzzyzzzyyzyzzyxyyzyzzzzyyzyxyzyyzzzz{zzyyyyyyyzy{zzz{{yyyzzyyzzz{zyz{zzzyzyyzyyz{zzyzzyzyyyzyzyzz{zz{{zzyxzyyzzzz{zzy{zyy{{yzyzzzzzz{{zzzzzyyzyzz{z{{{z{zzzzzzyz{{zz{{{{zzyyzz{{zzzz{z{zyzzz{yzy{|{{{{z{zzzzzzzz{zz{{{{zzzyzzzzz{z{{{z{zzzyz{zzzzz{{{{zzzyxyzzzzzzyy{{z{zyyzyzyy{{zzyzzzyzyzyyy{z{zzyyzzyyxxxzxxyzzyyzzxyxyxyxyzzyzzzzyyzxyyyzyyyyyzzyyzyyyxyyyyyyzyyzyyzyyxxzxzyyzyzxzxyyyyyyxyzyyzzyyyyyxyyxx{yzxyyzyxyyxyxyyzyyzyxzyyyxxxyyxxzyyyzyyyyyyyxyyzyzzzzz{yyxxyyyxyzzyzz{zzyxyyxyyyyzyzyyyyzyyzyyxyzyyyzyzyyzyzzyxxzzzyzyzyyxyyyzxyyyyyzyzyyyyyyzyzzzyzyyzyyzwxxyxzyyzzyzyzyzyzy{yz{zyyz{{zyyyxzyxzzzz{z{yyyyyyyyyyzzz{zz{yyyz{yzzyzy{zz{yzyzx{yzyzzy{zzz{yyzyxyyyzzz{z{zyzyzyzyyyzzz{z{{zzzzzyzzzzyzzzzzzzzzzzzyz{{z{zzz{{zzzzyzy{z{z{zzy{yyyyzzzzzzzz{{zzzyyzzyzzzzzzz{zzyzyyyyy{zzzzz{zzyyzyyzyzzz{zz{zyyyx{xxyyzyyz{yzyyyyyyyyyzzyyzzzyyyyzxxyyyyzzzzzzyyxyyyxyzyzzzzzyyyxyxwyyzz{zzzzyzyyyxyyyyyzzzyzzxzyzyxxzyyyyzzzyyyyzyxyyxzzyyyzzyzxyyzxyzyyz{yzyxyxxy{yzzyyyzzzxyyxxywyyyzyzzzyyyyxxxxyxzzyzzzzyyyyyzyyyyyyyyyyzyyyxx{yxzyyzz{zyyyxzyyyyyyzzyzzyzyyyyzyyzzzzzyzzyyzyyzxzzyyyz{{yyzyyyyzyzzzzzyzzzy{yyyzyz{{zzzzzyyyyyyyzzzzyz{zzyyyyyzz{zzxzzyyyyzy{yzyyzzzzz{zzyzyyyzyzz{zz{{zyzzyyzzxz{{zzyz{zzyyyzzz{zzzzzzzyyyzyzzy{z{zz{{{{yzzzyzzz{{z{zz{zy{zzyyzz{{zzzy{zyzzzxzzz{zzzz{zzzzyzzzzyzz{{{z{zzzyzzzzyzzzz{{zzzzzyzyyyyz{zzzzyyyyyyyyzzzyzzyyxxyyyxyyyzzyzzz{yxyyyxyyzyzzzzyzyyzyzyzyy{yy{zzzyzyzyyyyyyzzxyz{zxyyyxxyyzzzzzzzyxyyyyxxyyyzzy{yyzzyzxyyyzzyyzzyzyzxyyzyyyyyyzxzyyyyyyyxyzzzzzyyxyyyyzyxzzzyzzyzyyzyyzzyxyzyzzzzyyzyzzxyyzzxyzyzzwyyyyyzzzyyyzzzzyyyyyyxz{zzzzzzzxxyxzzyzyyyyz{zzxzyyyy{yyzzzzz{yzyzzzyyzyzzzz{z{zzzzzzyzy{y{y{zzyzzzzzz{zzzzyzz{yzzyyzyzzzzzzz{zyyzzzzz{z{zzz{{zxzyzyzyz{z{zzzyzy{zyyxy{zzz{zz{{zzzzzyzz{{z{z{{zzzyzz{yz{zz{z{{zzy{zzyyy|z{{z{{yzzzyzzzzzz{z{z{zyzzzyzzz{{{{{{z{z{zzzy{zyyz{z{|yzzyzzzyzzzz{{{zzzzyzzyyz{yzzzz{zyyzyyyyzzyz{yyyyxxxxzyyyyyzyyzyyyyyxyzxzyzyyyyzzyyyyyxwzx{y{y{zyxzyzyyzyzyzxyzzyyyyyyzxyyzyyzy{zzzxzyxyyzyyzyzzzyzyyyyzyzyyzyzyyyyyyyyyyyzzyyzyzxyyxyyyyyyxzyzyyyxxxyxyyyzzzzzzxyxyyyyxyzzyyzzyyxyyxxyyzzz{yzyyyyxyxyyyyyzzyzyyzyzxyzxxzzzzyzzzzyyxzyzyzyyzzyyyyyzyyyzyzzzyy{{zyyyyyyyyzzzzzz{zzyzyxyyyyzyz{{zyzyyyyzyzzzyyyzzzyyyzyzyzyz{z{zzzyzzyzyzyyzzzz{{zyzxzzzzzzzyzz{{{zzzzzzxz|z{{{{zzzxyzzyzzz|zyz{|{zz{yyzzzzzzyzzzzzyzyzzy{y{zzyz{z{y{zyyzy{z{zz|{yzzzzzzyyz|zzz|z{zzyzzyy|{{z{{z{|zyyyzzyzzzzzy{zz{yyyyyzyzyy{z{{z{zyzyyxzzzz{zyzzxyyyyxyxy{yyyzyzxyyzyvxy{yyyzzzzyyxxzyyxzyyyzzzzyyxyyyyxyxzzyzyzyyyxyyyxzzzyyyzzyyyxyyyxyzyzyzyz{xyxyyyx{zzxyzyyyxxyyyxzyzyyyyzyyyyxyxyyxyzzz{zxzxyyxyyyyyzyyyzzyyyyyyxxyzyyzzzyxyyyyxxyxyyyyyyyyzyxxxwyxzzyyzyyyxyzxyyyyyzzzyzzyyyxzyyyyyzzyzzzyyyyyyzxzyyyzzzzyyyyyyxyzzyyyyzzxzyyxxxxyyyzzzyzzyyyxyyxzzzzyzyzzyyyzyzzy{yzyzzyyyzzzyyzzzzzzzz{zzzxyzzyz{yz{zzzzyyyyyzy{zzzz{{{zyzyzyyz{zyy{z{{zzzzzzzzzz{yzzz|{yzyyy{zy{{{{|{{yyyzyyyy{zz{z{zyzxzyzzzzz{zz{z{{zzzzzyzzzzz{z{{{zz{yyyyyyy{z{zzzzzyyxzzyzzzyxzy{yyyyzyyxzzzzxyyyyyyyxyzxyzzyyzyzyxyyyyywzyyzzzyzyyzyyzyyxzyzyzyzyyyxyxyxyyyyyyzyyzyyyyxyxyzzyyyzyyyyyzxyyyzyyzzzyxzyyxyyzyzyzyyzzwxyxzyyxzxyzz{{yxyyxyyxzyxyyyzyyyyyxzxxyyzzzzyyyyyyzyyyyyyzzyz{xyxyyxzxzzyzyyzzyyyxxxyyzzyzzzy{zyyyy{yyy{yyyzz{yyyzyxyyzzyyyzzzzyzyyyyxyzyzzzzzyzy{yzyyyyyyzy{yyyzzyxyyyzzzzzzzzyzyyyyyzyzzyzzyzzyyyyxyzzzzz{zzzyxyzzyyzzz{{{zyyzyyzyzy{zz{z{|zzyyzxyyyzzzzzzzz{yzzzzyzz{zzzz{{zyzyz{zzyz{{zzzzyyzzzzyzz{z{{zzzzyzzzyyzzyzzz{zz{yyzzyzzz{zz{zz{{{yzyyzyzzzzzzyzyzyyyzyyzzzzzzzzxzyyxyyzz{zzzzzzyy{yyxyy{zzyzzzzxxyxyxyyyyzyzyxxyyxyzyxxyzzyyzyzzyzyxyxyzzzyzzyzzzyxxyxyzyyyyzyzyyxyxyyxzzyyzzzzyxywyzxxxyyyyyzyzyyzxyyxxyyyyz{zyyzyyyyyzyxyyzzyyxxyyxyx{yyyzyzzyyyywyxyyxyyyzzyxxzyxxyxxyzzyzz{yxxyxyxyxyxzyzz{yxyxyxxyx{yzyzzzyzyxyzxyxyyzyzzzzyyyyxzyyzzyzyzzyyzxyxyyyzzyyzzzyyyzzzwxyzzzzzzzyyyzzyxyyzzyxzzyyyzyyxyyyz{zyyzzzzxzxyyxzz{zyzzyzyzxzyzzzzz{zz{{zzyyyyzyz{yzz{z{zyyzzyyxyzzzzzzy{xzxzyyy{{y{zz{zzy{zyzzyzzz{zz{{zyyzzzzzzzz{{z{z{yzzxyyyzzyzzz{z{yyyyyyzzzy{zz{zzxyzzzyz{zz{yyz{yyzyyyyyzzzz{zzzzzyzyyzxyyyzzyzzzzyxxyyxyyyyyyxzxyxyxyyxxyzyzyyzyyyyywxxyxyyyzzyzyyxyzxyzyyyyzzyzyyyyyyyxzzzyyyzyyyyyxyyyxzyyzyzyyyyyzyyyzyyz{yyxyzyxxyyzyyxzyzyyyyyxyyyyyzzyyyyyxxxywyxxzyyyyzzyxyyxyxxyyzyzzyyxyyyxyyxzzzzzyz{yxyyyxywxyzyyyyyyyyxyxxyyzyyyzzyxxyzyyyxyyyyyzzyyyyxyxyyyzzyzzzzyxzyyxyyzxxzzy{yyyzyyyyxyzzyyzzyyyxxwyxyyyyzzzzyyyyxyyxyy{yzyzzyzyxzxxxyz{zyzzyyyzyzy{yyzyzy{{zzy{zz{yzyzzzyzzz{yzyzzzyzz{yyzzz{yyzyzyyyzzzz{zzzzyzzyzzzz{zzzzz{{zyyyyzzz{yyz{zzzyzyzzyy{z{z{y{zzzyzyzz{zzyz{zzzz{yzyyyyz{yz{zz{zyyxyyyyyzzzzzzyyyyyyyyyyyyzzyzzyzzyyxzyyzzyyyxzyzyyyzxxyzzyzzzzyxzyxxyyzzyyzyzzyyyyyxyyyyyzyzzyyyyxxyxyyyyzyyyzxyyxyyxxyyzzy{yzyyyxxyxxyzzyy{zzyyzxyxyzyyyxxzzyzxyyxyxyyxyyzyyzyyyyyyyxyzyyyyzyxxxyyyxxyyzy{zzyyyyyxyyzyyzzzyzzzyyyyyyyzzyxzzyyzyyyyxyzyyyz{zzyyxyyyyxxzzzyzzzyzyxyzyyyyz{yy{yzyzyyxzzyyyzzzy{zyyyyyyyyzzzyzzyzyxzzzyxyyzzzzzzyyyyxzyxyyzzyzyzz{yxyxxzyzzzyzzzz{zyyzzzyzzz{z{zzyzzyyzyz{{zzzzzzyzyzyzyyzyyzyz{yyyyyzyzzz{{zzz{{yzyyyzzyzzz{{z{z{yzxyzzyyz{zz{{{{zyz{y{z{{zyzz{zzzzyzyzyyzzzzzzzzzxzyyzz{{zzzz{zyzxyyzyy{zz{{z{zzzzyxyzyyzzzyzzzzyyyxyzxyz{yyzzyxyyyyyyyzz{yyxyyzxyywxxxzzzyyyzyxyxxxyxzyzyyzzzzzyyxyyxyyzyzyzzyyyyyxxyyyyyyy{yzz{xyyyyxyzyxyz{yzyyyxxxyzyyyyyyyyyxyxzxyyxyzxy{yyxyxyxxyyyyyxyzxyxyxxxwxxyyzzyyyyyyyxyxyxzyyzyzxyxyxyxyyxzyyyzyyzyyxyyxxyxyxzzzyyzyyyxyxyzzyyy{zxxyxxxyxyzzzyzzzzxzyyxyyzxzzyyz{yyzyyyyyyyzzyzzzyyyyyxyyyyyyyyyzyxyyyyyxzzzxyyzzzyxxzzxxzzzyzzzzyyyyzyzzyzyz{{yzyzyyyyzyyzyz{zzzzzzzyyyxz{yzzzy{{xzxyyyyz{yzzzz{zxzy{{zzy{{zy{{z{yyyyzyzz{zzzz{{yyyzyyzzzzyz{zzz{yyzzxyzyzyzzz|zzyzzzzzzzzz{y{z{yyyzzzzyzzzzzz{y{zyyxyyxx{zzyyzzzyyyyyyxzzzyzyyzxyyxyyxxyzyyyyzzzyyxyyxxzzyzyzyzzyywyxyxzzyyzzzzzyxxzyxzyyzzxyyyzxzxyyxxzyzyzzyyxxxyxyxxyyyyyzzyzxyzxxyyyzzxyx{yyyyyxyyxyzyyyyyzxxxyyxxxyyyyyyzzyxyyyyyyyyyyyyyzxyyywyyyxyyxzzyyzxxyyxyyxzyyyyzzyyxyxyxxxyyzxzyyxyxyyyyyyxyyyyzzzzyxyxxzyyx{zzyyzxyyyyyyzyyyzzzzyyyxyyyxyyyyyzzyzyyxzyyxyzyzzyyyyyyxyzxyyzyzyy{zyyyyxyyzy{z{zyyy{yyxzyzz{yy{zzyzzzyyyyzyzzzz{z{zzyxzzxyy{z{y{{yzyzyyyxyy{{{zzzz{zzzyzxyzzz{zzy{zzyyzzzyzyzzyzz{zyz{zyyzyzz{{{{zzzyyzyxy{z{zyz{{{zz{zzzy{zzxzzzyzzzyxyzyyyz{zy{zzzyyxyyyyy{z{zzz{yyyyyxyyyyyzzyyxxxyxyyxxyzyyz{zyxxyzyzyz{yzyzyy{yyxxyyyxzzzyzyzzyyyzxxxyxzyzyyzzyyyxxxxyzyzyyyyzxxyyxyyyyyyyyyyyyxyyyyxxyzyyyyzzyxxxxyxxxxyyyzyzxyyyxxyxyxyyxyyzyyxxyyyyxxyyyzyyxxyxxxyyyzyyyzyzxyxyxwywxyyyyzzyxyyxyzxxyyyyyzyzyxzzyzyxyyzyzyyyxyyyyyyyyzzz{zzzzyxyyyyyyzyzzzzzyxxzyyyyy{yyzyy{yxzyxxzxzzzzzzzyyzzzxyxyzz{{yy{zzyyyzyyxyzzzyzz{zyyy{yyyyyyz{zyyyyyxyzyzzzzzzz{{zzyyyxzyzz{zy{zz{yzyyzzyzyzzz{{zyyyyyz{zyzz{zz{zzyyzyzyzyz{y{z{{yzzzyyzyz{zzz{{zzyzyzyzyy{zz{zzzzyyzzyyyz{{zz{{zzyyxyxyyzz{zzz{{zzzxyzyyzzzzzzzzzyzyywyxz{zyzzzxxyxwwxyxyyyzyxzzyyxyxyxyyxyyyyzzzyxyyxyyzzyyzyyzyzxyyxxy{yzzyyzzyyyxxwyxyyyzxyzzyxyyyyxxxyxyyyyzzyxyyyyyxyzyyyyzzyyxyyxxyyzzyzyyyyyyyxxxxyyyyxyyxyxyyyxyyzzyyyyzyyyyxyyyxyyzyyzzzyyyyyzxyyyxxxzyzxxwyxyxxzyyyzyyyyyyzzyxyzyyyzzzyyxyzyyxyyyzzyyzyxyyyyzyyzyzyyzzyyyyxzyxyzzzyzyzyzzxyxyyyzzzz{xzxyzyyyxxyzzyyzyyzyyyxyyzzzzyyyzyzzyyyzyyzz{{z{yzzyzxyzyyzzzzz{z{zxyyyyyyz{z{yz{yzxxyyzyyzyzy{z{zzzyyy{yzyyyzzz{zyzzyzzzyzzz{{z{z{yzyyyzz{yzzz{zzyzzyyyzzyzzzzz{zyyyzzzxyz{z{zzz{yzzyzzyyzyzzyzzzyyyyyzxzzz{{yzzyzzyyyxyyzzzxzzyyzyyyxxywxyzzzzyzyyyyxyyxxzyzyz{zyyzyxyzyzyzzzyyzyyxyzyyyzyyzyzyyyyzyxxyyyyy{yzzzyyyyyyyxzzzyyyyyzwzwyyxyyzyyyzyyyyyyxxyyyzxyyyxzxyxzyyyxyyzzyzyxxyyyyxxxzx{yzyyxzzzyyxyxzyxyxyyzzxyyyyyxyyxzyzzyzzyxzyyxxzyxyzyzyzxyyyyxyyyyyy{zyyyzyxyyzzzyyyz{yyyxyyyyzyyxzyzzzyyxyyyyzzzzy{zzyzyxyxyyzzzzz{zzyzyyyxzyyz{zzy{zyzyyzzyzzzzzzz{zyyyyyyyxzyzzyz{yzyxyxzyyzzzzzzz{zyyzyzzyz{zzzy{zzyzyyzxzz{{{zz{zzyyzyzyzzzy|zyyz{zyyyzz{yzz{zzzzzyzyyyyzz{y{{zzzzyyxzyyyz{yyzz{{zzyzyzyy{{zz{y|{z{yy{xyyzz{zzz{zzxzzyzzyyzzzzz{zzyyyxyyyzyzyzyzzyxzyyxyxyyyxyy{yyxyyyyxx{yyyzzzyyyxxyyyyyyyyyyzyyyxyyxxxzzyyyyzyyyyyxyzyyzzyyzzyxxyxxyyxyyyzyyyyywyyyyxxzyyyyxzyzxyxxyxxyyyyyzyxxxyxxxywxzzyyzyyyyyxxyxyyyyyyyyzyxyyyxywyyyyyyzzyyxxyxyyyxyzzyzyyyzxyxyxyzxxzyzyzzyyxyxyyzzyzyzzyxyxyyyyyyzyyyyzyyyxywyyzyyzy{zzyyyxzyyyzyzyzyz{zzzywxyyyzzzyzzzyxzyyyyyyzzyyyzzyzzzxxxy{zzzyzzzyyyyyzyyyzy{zz{zyyyyyzzyzzyzzyyzyyy|zyyyz{zzzzz{zyyyzzzyzzyzzz{{yzyzzzyyz{yy{zzzzyzzzyyxyzzzz{|yyyzxyzyyzzzz{zz{zxyzyyzzyzzzzzzzyyyyzyyzzzyy{z{{yyzxzzxyzzzyzz{zzyyyzyzyy{zzz{yzxytxyyzxzzyyzzyyyxxyxyxywzyyyxzyyyxxyyyx{yzzyzzxyyxzxyzyxzyy{yyzyyyyyxyyyxyzyyzzyzyxxxxyyyzyyzyzyxywxyyxyyyyyyzyyxyxyyyxzyzyzzxyyyyyxxzyxyyyyyyzyyyyyxxyzyyxyzzzxyzxxxxyyyzxzzzzyzyxyyxxx{yyxz{zzxxxzxxyzyyyyzyyyyxyzyyyyzyyzzy{yyzyxyxyzyyyyzyyzyyyyyxxyzyzz{zyzyyyyyzy{yyyzzzzyyyxxyzyyzzzzy{zyyyyyxyyyzzyzyyyzyyzyyyyyzyyyyzzyyxyyyyyzzyzzzzzyyzzzyyzyzyzzzzzxzyzzzzyyzyyzzz{yzzzxyyyzzzyzzzyzyzyzyyyz|y{z{{{zyzzyyzyzzyzz{zyzzyyxzxyz{y{zzz{zyzzyyzy{zy{yz{{zyxy{yzzzyyzyz{zyyyyzzyyzzzzzzzzyzzyyxyzzyzzzzzzzyyyzzzyyzzyzzzyzyzyyyzyyzzzy{zxyyxyzxxyzyyyzzzyyyyyxxxxyyyyzzyzyxyxyyyxzyzyyzzzyyyxyywyxyyyyyyxyyxxyxxxyxyyyzyzxxzxxyyxyzyyyy{zzyyzxyyyxyyyyyyyyyyxyyxyzxzxyyyyxxxyyxyyyyyyyy{zyxxyzxyyxyzyyyyyxxyywyxxyzyyyyzyyxyyyxyxyxxyzzyxzyyxyxyxyyyyyy{yxxyyxyyxyzxzyyyyyxxyyzyyxzzyzzyzyyyyyxyyzzyzxzzyyyyxwyyzyzyzzzzzyzzyyxyyyzzzyzyyyyyyyzyyyzyyyyzyyyyyyyyxzzyyyz{zzzyy{yyyzzyyzzzzyyyyyyzzzyzyzz{zyyyzyyxy{zy{zzzzzyyyzyyz{yzzzz{zyyzxyzzyyzzzzzzz{yyzyyyyzzzyzzzzzxzzyyzzzzzz{y{zzyyyzyyzzyzz{zy{yyyzzyxyzzyzz{zyyyyyyyzyz{zyy{z{zyyyzyyyy{zzyyzzzzyxyxyxy{zzzzyyxxxyxxyxyzyzzzzyxxyxyyyyyyyzzzyzyyywyxyxyyyyzyzzyzxyxyxxyzyzz{z{yyxyxyyxyyyyyyxzyyyxzyyxyyzyyzyyyxyywxxxyyzxxyxyyyxxyyyxyxyzyzyzxxyyyxxywxzyyyyyyxxyzxxyyzzyyyzzyyyzxyyxyyzzyyzyxyxyyxywxzxxxzyzyxyyyyyxx{yxzyyzxyxxyyyxzyzyy{yyyyyyxyyyxyyyyyzzyyyxyxyxzzxyyzzzyxyyyxyyyyy{yz{zyyyzyyyxyzyzz{zzyzzzyyywyzzzyz{yzyyyyyxyzyzyyzzyyyxyyxyyzyyzzzzzyyyyyyyyzzzzyzzzzyyyyyxyzyyyyyzyzyyyxxzzyz{zzz{zzzyyyzyxyzz{z{zzzyyyyzyyz{{z{y{zzyzzzyyzz{zzyzzzzzzyzzyyzzz{yy{zzyyzzzxyzyyy{zz{yxyyzyyyzyzzz{zzyyzyzyzyy{zz{zzzyyzzyxyyyzzzyzzzxyyxyyyxxzzxyyyzzzyxyxyyyyyzyyz{zyyyxyyyzyyzyz{xyyxyyyxyx{yzyyyyyyyxyxyxyyyyzzyzyxxyxxxyyyyxyyyyyxxxyyxxzzyyyyyzzyxyyyxyyzyzxzxzxxxxxyyyzyyzyyzyyxyxwyxyxzzyzzzyyyxxxxyyyyzyyyzyyxyzyxyxyyyzxzzyxyyxxxxxyzyyyzyyxzxyyyyxyyyyyyzzxxyyyyxyyzzzy{zzyyzyyyyzzyzyyzyzyyyyyyyyzzyyyz{yyyyzyyzxzzyyyzzzzyyzyyyxyzzyzz{yyyxyyyzzyyyyyxzyyyyyyyzyyzzyyzzyzzzyyzzyzyyzzz{{zyyyyxxyyzzzzzzzzyzzyyyyz{zzz{{zyzyxyzz{zzzzzyz{zzzyzyzzy{z{zz{zzy{zyzzzzz{yy{z{zyxzzyyyyz{yyz{zyzyyyzzzzzyzyzzzxzzzyyzyyzy{zzz{{yyyyxyy{yzzyyzyyyzxyyzyzzyyzyyzyxxyyyxzyyyxxyzzyyyyyyyyyzyyxz{zxyxwyzxyzyxyzzzyzyyyzxyyzzyyyyzyzyyyyxyyyzzyzzyyyyzyxxyxxyyyzyzyyxyyyxyyzyyyyyyzyxyxyzxyyyzyxyzzxyzyxxyyxzyyyzzyyxyyxzxxyxzyzyyyyxyyxzyxyyyyyyzyyyyyyyyyyyyzxzyyxyxyyyyxzzyyz{{zyyzzzyyyyzyyzzyyxzzyyyyyyyzyyzy{yyzxyxyyyzzyz{zzyyzzxyyyyzzzyzzzzyyxzyzxxzy{zyzyzyyzzyzyzz{zyzzzzxzxyzyyy{zzyxyyzyyyyyzyzzzzzzzzyyyyzyyz{yyzy{z{zyyzyyyyzz{zz{{yzyyy{xzz{{z{|z{{zyzyzzxzz{z{z{z{zyyzyzzzz{yzz{{zzzzyzyyzzyyz{zzzyzzy{zyzzzy{{{{zzyzzzzyzz{zzzzzzyyyyyyyyy{zzz{{{yzzzzxyyyzzzyz{{zyxyyyyyzy{zzzxyxyyxyxxxyzyyzzzzyyyxyxxxzzzyzz{zywyxxyyyzyzyyzzzxyyzyyyxx{zzxyzzyyzyxxyxyyyxyyyzxyyxyyzxyzyyz{zzyyyyyyyxyyzzzzzzxyyyxyyyzyyzyzyzyyxyxxxyzyyzyzyyxyyxxzxxyy{zyzyzyyyyxxyzyyxyzzzyyyzyzyxxxzyyyzyzyyyxyyzyyzzyzzz{yyyyyzyyyyyzyyzzyyyxyxzxzzyyy{yzyzyyzyyyyyyyzzyzyyyyyxxyyyyzzzzyzyzyzxyyyyzzz{zzyyzxyyyyyx{yzzzzzxxzyxxyyzyzyzzzzyyyyzxzzzzzzy{{yzyxzyzzzzy{yz{z{zyyzyzxyzzz{{zzzyzzyzyyzzzzzzz{zzyyzyyyzz{zzz{{zyzyyyyzy{{{zz{{{yyzzyzyyzzy{zzzzyzyzzyyzzzzzz{zzyzyzzyzz{{z{z{zyzyxyxzzyzzzzzzzyzxyyyyyzzzx{zzyxyyxyyyyzyzxzyxyyxxxyxxyyyyxxzzyxyxyyyyyyzyzzzzzxyyyxxyyyyxzzyzyyyxyxxyzxyz{xyyzzzxxxxyzxyyyyzyzywzyyywxxyzyyz{yyyxxyxyxyyzyyzyyyyyyyxyyyxwzzyzzxzyyzxyxyxzyzzyzyxyyxxxxyyzyyzzyyyyyxyyyy{yyzzyyyyyyyxxyyyxxyyyyyyzxxxxyzyyyyyzzyxyzyxyxz{yyyyzzyxxzyxyyyyzyy{yzzyzyyxyyyyzyyzyyyyyyvyzyzz{yyzzzyxyyzyzzyyzz{zyyyywyyyyxyzzyzyzzyyyyyyxyy{zzz{zyyyyyyzyyyyzzzzzzzyxyyyyzzyz{zzzzyzyyzzxyzzzyzz{zzyyyzzyz{zzzyz{{yzzyzzzyy{zzz{yyzzzyyzxyzzzzzzz{{zzyyyzyzz{zzz{zyxyyyyyyy{zyy{{yyz{yyzxzzzzzyzzzyzyyyyyxzzzyyzzzz{yyyyyyyzzzz{{zzyzyyxxyzyzyyyxyxyxyyxyyyzyyzyzxyyyyxxxyzyyxzzz{yxyyxzyxzyyyzyzyyyzyyxxyyyzyyyzyzyxxyxzyyzzzxzyzyyyxyxxyxyzyyyyzzyzyyxyxyyyyxyzyxyxxzwxxyyyyzyzzyxxxyyyyyzyyyzzyyyyxyxyxxzyyzyzyyxyzyyxxxyyzyyzyyyyyyxxyyyyyyzyxzyxxyxwxyzyyyzzzyyyyyyyyyyzyz{{zxzxxyxyyzyyxzyzyyxyyxyzyyyyzzzzzyz{yyyyzyzzyzyzzzyyyzyxyyzyzzyyzzyxxyzyyyzyyzy{yzyxzzyyxyzyyyzzzzyyyyyxyz{yzyz{zyyyyzxzzzzyzzzz{xyyyxzyyzz{zzzzzzyzzzzyy{zzzzy{zzyyzyzyzzzzz{zzzzyyyzzzzzzzzz{zzzyyzyyyyzzzzzzyzzyzyzzyyzzyyzz{{zzzzyzzyz{zzzz{|zzyyzzxyzzzzz{{zzyyyzyzyyz{zzzyzzzzyywzyxy{zzzy{yyxyxzyxzzzyyyzz{yxyyyyyzy{yzzyyyyxxyyyxyyzyzzzyyyyyxxyyxzyzyy{zyyxyxxyyyzyzzzyyyxyywyyxyzyxzzzyzyxxzxyyyyzyyyyzzxyyyyyxyxzyzyyzyxyxyxyyyxyyyyzxyyyyyxxyyyzzzyzzyyxyxxxyyxy{yzyzzyyxyyyxyzyyyxyzyyyxzyyxyxyyyzyzzxyyyyxxyzzyzyyzzyyyzyzyyzzzyyyzzyyyxyyyz{zyyyyzyzyyyxyzyy{yyzyzyyzxyyyyyzyyzyzyzyzyzyzxyzzzzzzzyzyyyyzzzzzxyzzy{yyyyzzy{zzyzzzzzyyzzyyy{yyzzz{{zxyyyyzxyzzz{z{zzzzyzyzyz{{z{{{{zzzyyyzzz{zz{{{{{yzz{zzxz{z{z{{{zzzyyyyz{zzzzzz{zzzyyyyzz{yzzzzzyzzzzyy{zzzz{z{|zzzyzzzyzzzyyz{{zzyzyzxzyzxyyyzyzyyxyyyyyyzyzzyyxyyxzywyxzzyyyyyyzxxyywyzzyzyzzzyzyyxyxxyyyzzzzzxyxyyxxyyxzyyzzzyzyxxyxxzzyyzzyzyxyxxzyxyyyyyyyyyxyxywyyyzyyzzzzxyzyxyxxyyzzx{yzyyxxxxyxxzyzzyyzyxyyxyxyyzyyzyxzyyzyxxxyyzyyyxzzyxyyyyxxzyxyyzzyzywxyyxxyyzyyzyywyzyyyyxxzzzyyzyyyyyyxyxzzzyzzzzyyyzyxyyzyy{zzyzxyzywxyxzzzzyzz{zyyyyxzyyxyzyyyyxyyyyxxyyyzyyyzyzxxyyxyxzy{yzz{yyxyyyzyxzyzy{zzyyzyyxyzyyyzzz{zzyzxzyyyzzz{zy{zyyxyzzyyyzyz{z{{{zyyzx{zzy{zzzzz{zyyzyzxyz{{zzz{{zyyxxzxzyzyzyyz{{zzyyzzyzzyy{zz{zyyzzzzzzyz{z{{zyzxyyzyzz{zzz{{zzzyyxxyyy{yyzyzzyyyyzxzxyyzzyyzyyyyxyyyyyyzyyyyzzxyzxxxyyyxzzzz{xxxzxyyyyzzzyzzyzyyyyyyyyxy{yyyzyyyywwyxzxxzyyz{xyyyzxyxyyyyyzzzyyyxyxxxyxzyxxyzyyyxyxxyyxyyyzxzxxxyxxyyxyyyyyyyyyyyyyxxyzyzzyyxwyyyxxxxxxxyzyzyyyxyywyyyzzyzzyyxyyxxxywxyxxzyyzxxxyxyyyyyyzyzzxyyyyzxyxzyyzzzz{yyxyxxyyyyyyzzzzxxyxyyyyzyyyzzzyxyzyzxyxyzyyzyzyzxyxyyxzyyzyyzzyzyyyyzyyzzzyzzzzyzyyyyzyzyyzyyzyyzyyyyyyzzzzzz{zzyyzyyyyzzyzxyzzzyyxzyyyzzzz{zz{yyzxzzzyzzzy{zzzzzyzyyyzy{{{zyzzzyyzyxzx|z{yzzzzzzyyyzyyyyzyy{{{zzy{yz{zzz{{z{z{yxyyzyzxyz{yyyzy{zyy{yyxzyy{y{{zyyzzyxzxzy{yzzyyyyxxywxyxzzxyzyzyxyxyxxxyzxxyzyyzyxyxxxxyyxxyzyzyyyyxxyxyyyzyyzyxxxwyyzxxxzzyyy{yxzyxxxxyyyyxzyyyyxyyxyyyxyyyzzxxyxxyxxxzxxxzzyyyyxxyxxxxyyyyyzyxyxxyyxxxyzyy{yzyyxyxyyxyyzzzyzzyxxxyyyxyyyyxzyyxxxxxxxxyywyyzz{yxxxyzxyzyyzyzzyxxyxyyyxxzyyyyyzxyzywxxxyyyzzzzzyyxxxyxyzzyxzzzzyyyyzxyzyzzzyzyzzxyyxyyyyzzyyyzyyyzyyyyzyzzxyzzyzzzxzyyyyzzzyy{zyzyyyyyyyzzzzzz{yyyxxyxxzzzzzzzzyxyyzyyyzzzzzz{{yyzyyyyzyzyyzzz{{xzyxzzzyzzzyzyzzyyzxyzyyyz{zz{zzyyyzyxzzzyyzzzzzzyyzyyyyyyzzzz{zzyxzxyxzyyyzzz{zyxyxyyxyyyyzzzyzyyyxyxxzzyyyyzyxxywxyxxyzzyxxyzxyyxyxxxyzyyzyy{yyyxxyxx{yyzzzyyyyxxxxyzyzyyxyyzyyzyxyxxzzyyyzzzyyyxyxyxzyxyyxyzzyyyxyyxyxyzyyxyyxxwxxxyyyyyzyyyxyyxyyxyxyzyyyzyxyxyxxxyxyzyyyyyyzzxxwxxxyxxyyyzxyyyyyxxyyyyyyyyyzxxyyyyzxxzyzzzyyyyyyxyyyyyyyyzyyyyyxzyyzxyzzzzwyyyyxzyyyyzyzzzxxyyxyyyzzyyzzzyyyyyyyyyyzyyyyzzyyyyzyyxzz{zy{zyyyyyzyxzyzy{y{zyyzyzyzzzx{zzx{yzyzzyyyyyyzz{{{{{{yyz{zyyzyzyyzzyyyzzzzyyzzzzzz{zzyyyzzyyzzzyyz{z{yzxzzyyz{zy{z{zzy{zyyyyzy{zzyz{zyzyyzzyzzzzzzzzzyzyyyzzzzzyzzy{zyzyyyxyzzzz{z{zzyyyyyzxzxzzyyzzzyyyyyyy{yzyzzyzxyyyxxxxyyyzyyyzxyxxxxyxzyyyzy{zyyxwyxyxyyzzyzxyyyxyxxyxyz{zzxzyyyyxxyyxxyzyzzyzzxyyxxxxyyzyyyyyxxyyxxyxyxyxyzyyyyyxyxxxyyyzyyyyyyxyxyxyxyyyxyyzyxxyxyyxyzzyyzyyyxyyywyxxzyyyzzyyxyyzyyxyzyyyzyyyzyyyxxyyyyyyyyzyxyyyyyyyxyzyxzyzzyxyyyxyzyyyzy{zxyyxyyyzzyyyyzzyxyzyyzxxyyzyyzzyyyyyxyzyzzyzyyyyxzyzxxxzyzyzzzyyyyzxyyyzyzzzzzzyxyyzxzzzzyzyzzzyyyyzyzyzyy{zzz{xzyyxyyyzy{zzz{zyyzzzyzyzz{{zz{{zzzyxzzzz{zyzz{zyyzzzyzzzz{zz{{y{yyzyyyyyzz{y{zz{zyxzyzzzzyzzz{{{zzyyyyz{zz{zzy{yzzyyyyyz{yzz{{zzyxxyyxzyzyzzz{yyxxyyyyxyzyzzzyzzyyxxyxxxxyyyzyyzzyzyxxxyyyyyz{yyyxxyxyxzxyyyzyzyxyyzxxxzzzyzyzzyyyyxyyxzyyzyyzzyxyzxyyyzzxzyzyzzyyyyyyxzxyyyzyzyyyxxyxyyyyzyyyyyxwxyyyyyyzxzyzzyyyzxyxyyzyzzyyzyxzzyyxxxyzyyyzy{xyyxyyxzyxyyyyzyzyyyxyyyzyyxyyzyzyzxyxyzyzzyzzzyyyxyyzzyzyzyxzzyyzyyxzzzzzzzzzzyzyyxyyyyz{yzyyzyzyxyxxzx{zz{zzzyxyyzyyxzzzyzz{yyyxzyyzyzy{yz{zyyzyzzyzzzzy|{{zzyxyyzzzz{{yzy|z|zyyyzyyyyyz|{zyz{yyzzzyy{{yzz{{zzzzzyz{zzzzzzzz|z{{zyzzyz{{zzz{{zyzyyyzyz{{{y{zzzyyyzzzz{zzzzzzzz{yyzyyzzyz{z{zzyyyzyyyyzzyzyzz{{zyyzzzyzzz{yzzyzyzxyyyyyzzzzzxzzyxxxxyxzzzyxyzzyyyyyxxxxzzyzzy{zyyxxxyyzzxzyzzyyxzyyyxxyyyzyy{zzyyxxyyxzyz{yzyzyyyyxyyyyzwzzzzzyxyyxyyyyyyyyyyyxzzyyxyyyzzzzy{yxyxyxzyyyxzyyyzyyyyyyyxwyyyzzyyyzxzyyyyyyyyzyyzyzxxzyxzyyyyyyyzzyyyxyyzxxyyyzzyyyxyyyzyyzzzzyzzzyyyxzyyxyzzyzzy{yyyzyzyyzyzzzzzzyzzzxyyyzy{yzyzzzyyzxyyyzyzzyzzzzxzyyyyyzzzz{{yzzyyyyyyyzzzyz{z{yyyyzyzzyzyzy{zzzyzzyzzyzyzzz{z{zxyzyyxz{zz{zyzzzzzyyyzzz{zzzzzzzy{zxzzz{zzzzzz{zzzzzyzyy|zzzz{{{y{zzzzy{z{yz|zz{zzyzzxyzz{zzzz{zzzzyzzzyzzz{{zzzzzyzyzzyyzzzyzzzzzyyzzyzyzzyz{zyzyxzyzxzzzzzyzzyxyyyxzxy{zyyyzzyxzyxxwyyyyyzz{zyyyyxyyyyzzyyyzyzwzyzyyxyyyzxzzzxxywxxyyyyzzzzy{yxxyyxyyxzxyyyyxzyyyxxxxzyzyzzyyyyyyyyyyyyyyyzyyxyzyxyyxyyxxyyyyzxyywyxxyyyyzzzxyyyyxxyyyyzyxyzyxyzxyyxyyzyyzzyzxyxxyxxyxzyyyyzyyyyxyyxyyzyzyyzzyyyxyyyxzyyzyzy{yzyyxxzyzy{zyzzzyyyyyxxyzzzyzzzzyyxyzxzzy{zyyzzyzxyyxxyxzzzzyyzy{yyyzyyyzz{zyzzzzzxyyyyzyyz{{y{{yzyxzyzy{{yzz{zz{yyzyxyyyzzzzzzzzy{yzyyzz{zz{zz{yzzy{zzyy{zzz{z{{zzzyzzz{zz{{{z{{zy{yyzyzzzzzzzyzzzyzz{zzzzzy{{{{zzyyyzzzzyz{{{{yzyzyzzyyyyyz{{z{{yyyyzyzyzzyyyzyyzyzyyyzzzyzyxyyxyyxxxxyzzxyyyzzyyywxyyyyyyyyyzyzyxxyxxyyzyyzzyyxyxyxyyyyyzyyzyyyyyyxxxyyzzyyzzyzyyxyyxxzyxyzyzzyyyxyxxzxzxyyzyyyxxxxxyyzyyyyzzyxyxxxxyyyyyzyyzyxxyyxwxzyzxzzyzxxyyxxxxxyyyzzyxyxwyyyyxxzyxyyyyzxyxyxxxyzyyxyzzxxzxzyyxzxyyy{zy{xyxyyzyyyxyzzyyyyxyyyyxyyyyxzyzyzxyyyyyyyzzzyzyxyyxxyxyyzzyxzzzyyxyyyxxzyzzyy{yzxxyyyyyzzzyyzzzyyxzyyzzzzyzy{zzzyzzyzyzy{zzyzzzyzyyzzyyzxzzzz{zzyyyzyzzz{zz{z{{zzyyyzxzzzzy{{{z{zzzyzzyyzzzzz{{{yz{yyxyzzzzzzzyyyyyzyyyzyyz{zz{yyyyzzy{zzzz{zz{yyzyzyzyzzzzzz{{yyzyyyyyzzyzyxzyzyyyxxxxzy{{zyyyzyzxxxyyyyyyzyyzywyyzyyxyyzyyzyzzyyxyyxyyyyyzzzyyyyyxyxzyyzzyxzyyywxxyxxyyyyzyzzyxyyxyyxyyxyzzyyyyyyyyxxyyzxyyzzyyxxxyxxxyzyyzzzxyyyyyyxyy{yyzzyyyyyxyxxyyyzzzzyxxxxyxyxxyzyxx{yzyyyxxxyyyyyxxy{yyyyxwxxxzyyyzzyxyzxyxyyyyzzyx{zzywyxyyyyyzyzzyyxxyyyyzyyyyzxyyyyzzzxxzxyzzzzyyzyyxyyxzxyzyzzzyywyyyxyyzzy{zyz{yyzyyyyyzyzyzyzzyzyyyzyxx{zzyzyyzyyyzyyzyzzz{z{{{yyyyzyyyyyzyzy{zzyzzzyzy{zzzz{zzzyzzyyzyzzz{yz{y{yzzxzyyz{{{zz{zzzzzzyyzzzzyyzz{yyxzyzzzyzzzzzzzzyzyzzzzyzzzzzzyzyyyzzxyyzz{y{z{zzzyzyzyxzyzzzzzzyyxxyxxy{zzyzzxxzxyxxyyyyzyyyyzzyxyyyyyyyyzyyxzzyxwyyzyxyxxyyzyyyywyxyyyzyzyyxyyyyyyxxyxyyzz{zyzwyyyzxxxyzxyyzyzyzyyxxyyyzyzyyzyyyxxyyyzyyyyyy{yxyxywxxyzzyyyyyyyyxyxyxyyyyyyzzyyyxyxyyxzyyxy{zxyyxyyyyyzyyyxyyyyyxxyyxxyyyxzyzzzyyyzxxyyyyyyzyzyyx{xyxyyyyyyzzyyyyzxxyxzyzzzxyyzyxxyzyzz{yyzzyyxzyyyyyyz{yyz{zyxyzyxyyzyzyzyzzzzyyzyyyyzzyyyyzyzzyyyzyyyz{z{zzyyyyxyyzyyzzzz{zyzyzzzyyyzzz{zzzzyzyzz{z{zzz{z{zzyzzyyzzzzy{{{{z{zyyx{yxy{{z{z{{{zyyzyzy{zyzz{zz{y{{yyzyzzyzzzy|zzxzzyyz|{zz{z{zzzzxyyyyy{zzzzzzzzyzyyyx{{{zzzyyyyzzyxyxzyzyzzyzyyyxxxxxzyyxxyyzyxxxxyxxxyzyyyzyzyxyyyxyzzxy{zyzyxyyyxwyzyyzyyzzyxxyyyxxyyyyyyzyyyyyxxyxyyyxyyzyzyyyyxyyyxzyyzyyyyyxxyyxxyyyyzzyyxxxxxyxzyyzxzzyxyyyxyyyyyxyzzyzyxyxxzyyyyyzxxyyxyyyyxyxyyyyy{yzywxxyxyyxzyyzzyyyyyzyzyxyzyzzzyzzyyyyyyxz{yzyzyzyyzyyxyyyyzzy{zzzyxyxyxyzzxyyyyyzxzyyyyyyyzzzzzzyyxyyxyyxzzyzzzyyyyyyyxyzzyzyzzzzxyyzxxyyzyz{z{zzzyyyyzyyzy{z{{zyyzzyyyyyyzzzzzyzzzyzxzyzzzzzzyzzyyyyyzzz{zz{{zzzzzyyzyyz{zzy{|{{zzyyzyzz{zyz{zzzyzyzxyzz{zzyyz{zzzzzyyzzzzzyz{{yyyyy{yyzzzzzzzz{yyzzyyyz{zzzyzyywyzxxyyzzzzzzxyxyyyyyxwxzyxyyzzxyyyyyyyyyxyyzyzyzxxxyxyyyzzyyzzzyxyxxyxyyyzyyzxyyyxyxyyyyzyyzyyyxyxyyxxxzyzyyzyxyyxxzxxyzyyxzyzxyzwxxyyyyzyzyyzyxyxywxxyyyxzzyyyywxyyyxyxyxxyyyyxyyxyyxyyzzyyzyyxyyxyxxxyyxzyyzxyxyxxyyyyyxy{zzzyyyyzyyzzyyyyzyyxyyzyxxyzyyyyyyyyyyxxyxyyyyyzyyyyyyxxyyzyyy{zyyyyyyyxyxzzyyyzzyzyxyyxzxyzyzzzzyyyyyyyyxzzyyzyz{zyyxyyyyyyyzzzyzxyyyyyyyzzy{zzzzzyyzzyyyy{zzzzzzzyzyyxyy{{zzzyzy{zyyyzz{yzzyzyzzzxyzzyyy{{zzzz{{zyzzyxzyyzyzz{yzyzyyxxyyzzzzyzzz{yyyzyyy{zyzzzzzyyyyyyyx{zzyyzzzzzyxyyyxyyzyzyzyyzyxzyyxyyyyxyzyzyyxyyxyzyyyyyyyyyyzyxxyyyyyzyzyyyyyyxyxzxyyyyzzyxyyyyxzxyzyxzyzyzxxxyzyyzzyyzxzzyyyxwxxyyzyy{zyyyyyyxxyyzyyxyyyzyxyyyxyyyyzyyzyyyyxyyyyyxzyyyzyyyyxxxyyzyzyzyzyzxyyyzxxyxzzzz{zzxyyzyyxxyyxxzzyyxxxyyxxxyyyyyzyyyyyzyxxzzzzyzyyxyyzyxyyyzzyyxzzyxzzyxzyyyyyyyyzyxyzyyxxyzyzyxzzyxy{xyzyyyzzzyyyzyxyyyyyzzzyzz{yzyzzzyyyyzz{z{zyzyyyyyyyyzz{zyzzxxyyzyyz{xz{yy{zyyzzyzyzz{yz{z{{{yzzyzzz{{z{zzzzz{zyyzzyz{z{zzzyzyyzzzyxz{{{zz|{yxyzyyyzyy{z{{zzzxyxyyyzzzzzz{z{zzyyyzyyzyzzzy{{zzyyyzzyzzzzy{{zyzyzyyyyzzz{yy{y{yzyxyyzzy{yz{zyxxyxyxxyyzyzyxyyyxxyyxwyyyyyzz{zzywxxyxyxxzzyyzyyxyyxxwxyyzyyyzzxxxyyxxyzyzzyyyzyxyyyxyyyzyxyyzyyyyyzyyyxyzyyyzyyxyxyxyxyyyyyyzyxxxxyxxxyyyyyzzyyyxxyywyyyyyyyzyxyxxyyxxyyxyzzzyyyyyyxxxyzyyyzzzyyyyyyxxyyyxyyzyxyxyyyyxyzzzyzzzyxyxxyyyyzyxy{zzyyyyyxxyyzzyyzyzxxyxyxxyyxzyyzyyzyyxyxyyyyzzyzyzyyxxyyxyzzzyyzyyyyyyxyyyzzyyzzzyyyyywzyxyyyzyzzzyyyzzzyyzzzzzzzzxyxxyyyyyzzzz{{yzxzyzyyyyzyyyzzyxyyyyzyyzzy{{yz{zzyzyzzzy|zzzyzzzyxzyyzz{yz{z{zzyxyyyzyyzyz{{z{zzyyzzyyxyzzyz{z{yzzyzyyzyzzzzzzyzyxyxyyyyzyzzzyzyyzxyxxxzyzzyzxzxyyyyyyxyyyxyyyyxyzyxyyyyyyyzyzzyyyyyyyyyyyzzzzzyxyyyxxyyzzzxyzyyyyyxyyyyxzzzzzyyzzyyxxxxzyzyyyyzxxxyyzyyyyzyyzyyyyxwyxyyxyzyyyyzyyxywxxyyxyyyzzxyyxyzyxzyzyzyyyyzyyyxyxxyyzyzyzzxyxzxyywzyyyzyzyxxwxyyyyzyyyyyzyyyyyyyxzzyzyyzzyyyzxzxyyzyzzyzzzxyzyxyxyzzyzzzyyyyzyyyyzzyz{yyzzyyyzyzyyzzzyyyzzxzyxyxyzz{zzzzyyzxzyyxyzz{yz{zzzxzyyzzzz{zzy{zzxyyy{zyzz{zzzz{zyzxyyyyyz{z{z{zzzyyyzyzzzz{zzzz{yzzyyzzyyzzzz{z{{yyyyzyzz{{{z{{{zzzzzyzyyyzz{{{zzyzzzyyzzz{z{zz{{zzyzzyzzzz{z{zzzzyyyyyyzyzxzzyzzyyxyyzxzzzzzzyzzxzyyyyzyzzzzzyzyyyxxyzxyzzzxy{yzzyyyyxyyyy{zzzzyyxxxyyyxzzyyyyyzyxyyyxxyyzyyzyyzyyyyyxxzxzyyyyzxyxxyyyxxyxxzzzyyxzxyyxxzyzxy{yyyyyxyyxxzyyyxzyyyyxwyxyyxyzxyy{zzyyyxxyyyyyyzyzyyzyxxyxxxyzyyyyzyxyxxxzyyyyzyzyzxyzyyyxyyyyxyyzyyyyyyyxxyyyzyyzzyyyxyxyyyzyzzzyzyyyyxyxzzyzzyzyzyxzyyzzyyyyyzyzyyxyyxyyyxzzyyyxyzyzyxyyyyzzzyyzyyxzyyyyyzyzzyzzxzyzzzzyyyzzzzz{zxzzyzzzxzyyzz{zzzzyzyyyyzzzz{z{{{yyxyzyzz{zyz{{{yzyyzyzz{zzyzz{{{zzyzzzzz{zzzzzzyyyzyyzzzzz{zz{zyyyyyyzzyzz{zz{z{zzzzzzyzzzzz{zzyyyzzzzzzzzz{yzzyyxyxyyyz{z{{z{zyzxyzyzzyzzzyyyzyxyxxwywwzzyyzyyyyxyyyxxxzzyyyyyzyyxxxyyyyyxyyzyyxyxyyxyyzyzxzyzzyyxxyyxyyyyy{yyzyyyxxyyyyyzyyzyyxyyyxwyyyyxxyyyyyxyyyyyyyyzyxyyyyxzyyxxyyyyxzzyyxxyxxyyxyxyzxyyxxxxxyyyyyyyzyyyyyxxyyyxyyyyxzyyyzyxxxyyxyzyyzy{xyyyyyyyy{yyzy{zxyzyyxyzyyzzx{yzxyyyyzzyzyyzyzzyyyyyyzxxzz{zzzzzyzyyyxyxxzzzyyzzyyyxyyywyyzzzz{zyxxyzxyyzyzzyzzzyyyyyyxyzyzzzzz{y{yyyyyxzyyzz{{{yyxzyxxyyyzyzyzzzyxyxzzy{{zzyyzzzyzyyyyyyzyzz{{{zzyzyyyyz|zyzz{{yyzyzyzy{zz{zz{{zyzyyyyzyz{zzx{zyzzyzyyyzzzzz{zzxyzyyyyyyzzzz{{zzyyyxyyyzzy{yzzyyyyxzyzyyzyyzyyxxyzyxxxxxzyyyzzyyxyyyxxyyyzzyyzzzyyxxyyyzyyxyzzyyxxxxyyyxzzyyyzzyyzxxxyxzyzyzyzyyzxxyyyxx{yyyzzyzyxxyyxyzzyxyzyzzyzxyyxxxzyyzyyyzyyyyxyxyzzzx{yyyxwyyyxyyzzyzyyzyxyxxxyxzyyyzyzzyyzxzyywxyzxxzyyyzxxxxxyxzzyxyyyyyzyxyyyxyzzzyzzzyxyyyyyyzzyzzzzyzzyxxyyxzyxyzzyzyyyyyyyyzyyyyzzxyyyzyyxyzzzz{zzxyyyzxyyzzzzzyzzyyyyyyyyzyyzzyzyxyyyyzyyzyzzzy{zxzzyzyzzzzzzzyz{zzyyzyyxyz{{z{zzzzyyzyzyzzzy{zz{zy{yyzyzy{zzzzzz{yyzxzyyyzyzzyzzyyzzyyzy{zzz|z{{zxzzzyyzzzyy{z{{zyyzzzxyzyzzzz{zyyzxyyyyz{zz{{z{yzxzxyyyyzyzz{zyzzzyxyyyyzyzzzyzxxxyyxywyyyyyyyzxywxxwwxyyzyx{yzzxxxyyxyyzyxyzzzyxyxxxxxyzzyxyyzzxyxyxxxyywyyyzzxyxyyxyxyyxxyyyxyyyxxxyyxyyyxyyyyxxxxyxyyyxyyyyzxxyxyyxxxzxyzyzyyxxxyxyxyyzzzyzyyyzxxxxyyzyxxyzyzyyxxyyxxyyyyzyyyyzxxyxxxzxzzzyyzyyyyyyyzyzyyyyyyyyxxxyxyyyyxzxzzyyyyyyyzzzyyzz{yyyxyyyy{zyzzzzzyzyyxyyyyzyzz{zzxyyxyyyyyyzzyy{yyxyyyyyyzzyyyzzxzyyyyzyyzzyy{{zyzzyxyzzyzzzyyzzzyyyzyyyy{zz{zzzzzzyzxyyyyzzz{zzzyyzyzyyyyz{yzzzy{zyyyzyyzzz{yzz{{yzzyzyz{zzzz{zzzyyyyyzzyzzyzyzzzzyyyzyyyyz{zzz{zyyxxyzyyzzzyzzzzyyzyyxxy{yzzzzyyyxxxyxxxzyzzzxyyyxxxxyxxzyyyyyyzyyyzyzxyyzyyyyyyzyxxyyxyyyyzyzyyxyxyyyyxyzyyyzzyyzyxyxxyxyyyyyyyxyyxxxyzyywyyzyzxxxyxxyyzyxyyzzyyyxxxyxzyyyxzyyyzxyxxyxzyyxyyyyxyxyxyxyzyyyyzyzyxywyywwyyxxyyyyxxyxwxywyyxyyyyyyxyxxyyyyyyyyzzzyxzyyzywyyzyyxzyzyxyyxyyyzxyzzy{zyzyxyzzyyzyzzyzxyxwxyxyzyyyzyyyyyzxyxyyyyzyyzy{zyxyzyxyyzzyyzyyyyyyyyxyzzzxzyzyyxxxyyyyzyzzz{zyyyyyyyzyzzxzyzz{zyzyyyyyyzyz{zyzyyyzyyyzzzzzyzyzyyyzzzyzzzyz{zzzyyyzzzyzzz{zyzzzzyzzyyyyzzyzzzzzzzzzyyzxyzyzzyz{yzyzyzzyyzzzz{z{zxyxyyyyzzyyz{zyzyyxyyyxzzyzzzzyyxyxyxzyyyzyyyyyyyxxxzxxyyzxyxyyyyxyyyyxxyyxyyyzxxxxyxyxyyzyyzzyyyxyxxyyyxyyyyyyyyyyxxyxzyzzyyyyyyxxyxxxxyyyyyyywxyyyxxxyyyyyyxyxxxyyxxwyyyyyzxzxyyxyxxxyzxxxzzxyzyyxxyyxyyyyzyzxyxxxxzyyyyyzyzyxxxxxyxxyyyyyyyyxyyyyxyxxyxzyzzzyxxyxxxyyyzzyzyyzzxyyyxyzyzyyzzzzxxyywyxzzyyzzyyyyxyxyxyzzzyz{yzzyzyyxyyxyzzyzyzyyzxxzyyyz{yyzzyyyyyxyyxyzzzyyzyyyzyyzyzzyyzz{zzyyyxyyyzyyzyy{zzyyyzxzyyz{zzz{zzzyyzyzyyz{yzy{{zyyyyyzyyyyyzzz{{{yyzzyyyz|zzzyzzzzyzyyyzzzzyz{zzzzxzzyzyz{yzyzzzzzzyyyyzzzzzzzzzzy{xyyzyzzzz{zzzyyyxyyzyzyz{yz{yyyxxyyxyyyzzyyzyxxyyxxxxzyzyzyyyxyxyyyxxyzyyyyyyxyxwwyxwzyyzyxyyyxxyyxxyyyzyyyyzxxyxyyyxxyyyyzyzyyxwxxyxyyxzyzyyxyyxyyyxyxzyyyyyxxxxyxxyxyxzzyxyyxxxyxxxyzyyzyyxyyxxxxxywxyzyyyyyyyxwyxxyyxzyyxzyyxyxxxyxxyxyzxzywxxyyxxxzyzxyxzyyxyyyxxyxyyyyz{zxzxxxyzyyyxyzzzyzzyxxyyxyyzy{yzxyzyxxxyzzyyyyzyyzyyyxyxyzzyyyzzzxzxyxwyyzyxzyzyyyyyyxyyzzzzzzzyyyyxzzyyyxzzyzzyyzyyyyzxzyyyzz{zyyyxyyxyzyzzzzyzzyzyzyzyz{zyz{{yyyxzyzyzzzzyzzz{zzyzyyyyyzzzz{zyzzyzyyzyzzyy{yz{yyyyxyzyyyzzyzzyzyyyyyyzzyyzyyzzyyyxyyxyzyzzyz{zyyzxxyzyyzyyyyzzyyyyyyyyyzzyzyxyyxyxxyxxxyyyyxyzyyyxyxxyyzzyyxyyzyxxxyyxyyyxyyzzzxyxxyxyyxyyyyyyxyxxxxyyzyzxxyzzyxxxyyxxyyyyxyzyxyyxxxyxyyyyzyxyyxxwxywxyyxyzyyyyxyxxxyxxxxyyxzyxxyxxyxxyyyzyyyyyyyxxyxxxyyyyyyyyxxxzxxxyzzxyyyyyxxxxxxyxyyyxyzyyxyyyyxxxyyyyyzyxyxyzxyxyyzyyzyzyzzxxxyyzzzzyzyyyyyxyxxyzzyyyzzyxyyxyxxyyzzyzyzzzxyxyxxy{yzyxyyzyxxyyywzyxyyy|y{yyyyzyyyy{zzzy{zyzzxyxyyz{z{y{zzyyyyyyxxyzzzyyzzyyzx{yyyzzyy{z{yyyzzyyzyzzy{zy{zzyxyyyxzy{yzzyzzzyyzyyyyzyyzzzzyyzyyyzyzzzyyzzz{zyyyzzxz{yzzzzz{yzyxywyyzzyzyzzzzyyyyyxxzzyzzyzyxyyyyxzxyyyyyyxyyxxwyxxxxyyxzyyzyxyxxxwxyyyyxyyzyyyxwzyyzyxyzyzyyyyyyxywxzzyyxyzxyyxxxywzx{yyyyyxxyxxxxxyzyxxzyzxyyxxxwwyxzyyyyxyxxyxyxxyywyyxyyxxxyyxyyxxxyyyyxyyyxyyxyyyxxyyxyxxxxwyxyyyyyyzyyyxxxxxxwzyxyyyyyzxxxyxyxyyyyxyzzwyyxxxxwxyxzyyzyxyxxyyyyzzyyzzzzyxyxyyyyyyzzzzxzxyyyxyxyyzyzyyyzyyzwyxxxzzzyyzyzyxzyyzyyyzzyxzyzyyyyzyxyyyz{zyyyyzzyyyxyyyyyzzzyyyzzyyyyzzyzzy{zzzyxyyxyzzzzzzyyzyxyzyxyzz{z{z{zyxzyyzzzxyyzz{zyzxxyyyyzzzy{zz{|zzzyzyzyyz{zzzz{zzyzyxyzzz{zzyzzyzyyyyyzzzzzzzy{zyyxyxyyyyzzzzzzzzyyxyyyyzzyzzzyzyzyxzxxzyyzzzxyyyyyxyyxyzzzyyzzyyyyyyxyyyyyyzyzyxyyxxyzzyyyzyzzyzyxxyyxyzzzyzzyyzyxxxxyzzyyyzzzyyyxyyyxyyzyzzyyxyyyzyxyyyyzyyyzyyyxxxxyzyzzyzyyxyyyxyxxxzzyyzzzyxyyyyxxxyyyyyxyyyyyyyyxzyzzyyzzzxyyxxyxyyyyyyzyzyyxyxyxyzzyyzyyzxyyzzyxzzzzyzyzyyyyywyyzzzyyyyzyyzzyyyyzyyzz{zyyyzyyyxzzzyxyz{zzyzyyyyxyyzzzzyzyyyyyyxyzzyzyzyzzyyzyyyyyzzzzzzzzzzzyyyyyzz{{{zzyz{zyzzzyzz{zzzyyzyyzyyyzz{y{zz{{yzzyzzy{{zz{zzzyzyzyzyzzzzzz{z{zzzzzzzyy{z{{{{zzyyzzyzyzzz{z{zzzyyzzzzzzy{z{yz{zzzyzzzzz{zzzzyz{yyyyzyyyzyzzz{{zzzzzzyxyzzzzzzyyzyxyxyyzyzzz~Fw7a1 {{|{z{z{{{{||||{||zz{z||||||||}|{{z|{{z{|{|{{|{|{{{z{z{z{{{z{|{{|{zzz{z{{z|{|{{{{zz{z{z{|z|z{|{zz{z{{{zz||{||{{{zzzzzz{{{z|{{|{{{{zyz{{zz|zz{|{{z{z{zz{{z{{{{{{z{|zz{zzz|{{{{{{zzz{z{{yz|{|{{{|{{zz{{|{{{{||}z{zz{{z{z{z{z|{{|{{z{zzz{{{|{z||||{|{z{{{z|{{|{{{|{{{zz|{|||{}{||{|{{{{z|z{|{{|}|{{{{z{{{{{||}{{|{|{|{}z{z{|||{}|{|{{z{{{{{|}|||}{{|{zzz{{}|{|||}|{{z|{z|z{}}|}|{{{{{{z{{{z}{|||{|{{{{{|||{|||}||||{{|{{{{||{}|||}|{|{|||{|{|{{{||||{{{{{{|{||||{||{{|{{z{||{{|||||z{z{|z{||||||{z{{z{z{|{z|||{|||z{|zz{z{{{{{||{||{{z{{{}{{|||||||||{{|{z{|||||||{{{{zz{{|{|{||}|{{{|{zzz{{||{|}{{{{zz{z{{{{{{}{|{{{|{z{z{|{{{{|||{{{z{z{{{{{{{{|{z{{z|zz{{{z{|{{zz{z|zz{{{{{{{|{{z|zz{{{{|||{||}{{yzzz{y{{z}{{||z{{{{zzz{{{|z|{{|{{zz{{{z{|{{||{|{z{{{z{{{{{|{}{zz{z{{|{{{|{{||{zz|z{{|z{z{{z{|{z{||{{{z{{|{|{|{{{{z{z{{{{{||||{|{{{{{|z{{|{|{|||{zz{z||{|z|{|||{{{{{{|{}}|||||||{{{{||{}}{|{|||{{{|{{{{{|}}||||||{{{{|{|}||{}}||{|z{|{||{|||||}|{|{||{||}}{{|}}{{{{{{{z}|{|||||zz{||{z{}{||||}||||{|{{{||}|||}|{|{z{{{{{|{}|{|}{|{}z{{z{}{|{||||z{{y{zz{||{{{{|{|{||{|{{|||}|{|{{{|{zz||z||||{}|{{{|y|z{{{{{{|{{{z{{|{{{||||{{|{||{{z{{|z{|{~|{{z{{z|{{|||{{|}{{{|zz{zz{{{||}{|{{zz{zz{zzzz{|{{z{z{z{zz{{|{{|{|zz{zzyzz{{{{{{|zz{{zzz{{|{{|{{|{{z{zz{{yz{zz{{{|{zz{{yzz{z{{z{{|{zz{{zzz||{|{{{{|{{z{z{z{|{{{|||{|{{{{{{{{{{||{|{{{{|{{{{{||z{|{{{|{{{{z{||{z|{{{{{{{{zz{||{|{{{{{z{z{{{{||{|{{|{{{{{||z||{||{}}{{{{|{{{|{||{|||{{{{{{{z|||{}{{||{{{{||{|}{|{||}{z||{{{||}{{}||}{{z{{||{{}{|}||||{{|{{{|||}|{}|}||z{||z|||{||||}{{|{{{{||||||||}|{{{{|z{{|||{|||{|{{{{{}{}{||}|{{|zz{z{{{||{{}||}|{{{zz{|||}|{|}{||{{|{{}|}|{}}|{{{{||{{|}{|{}{||{{|{{{z|{{|{{||y{{{{{{z{{|{{{|||z{z{z{{{{z|{}z||{{{{{{{|{|{|{{{|y{{{{{{{z{{|z{{z{zz{zzz|{|{{||{{z{zzzzzz|{{|{{{{|{{{{{z{{{{{{|z|z{z{{z{{{{{|{{|{{{z{{{{|{{zz|{{{{z{z{{{{{||{{|{|{zz{z{z{||{{{|{|{{{{{|||{{|||||{{{z{{{{{{{|||||{zzz{{z{{{{{}{||{z{{{{z{|{|}{|||{||||{|{||||||{|{z{{{|{||{{||||||{|{{|{{{|}}{|}|{{z{{z{{||}||||||{{|{{|{||}{|~|||{{{{|||{{||}}}{~|{||{|||}{||}}}||{{{|{{}||{||}{|{{|{{{{{|{|}||}{||{||{{}|{|{|}}|zz{{||{{|{}{{}|{|{|{z{{|{{||{{|{{|{{{{{{|{|||{||{{||{{{|}|{|}}|z{{|{|{|}{}||}}}|{{{|z{z||||||}||z||{{z{{||{{{|{{||{{z|z|z{|{|z}{|{{z{|{{|{{{||{{{z{|zzz{||||{}{{|{{yz|{{{{|{{z|{{z{{{|zz{{z{{|z{{|{z{{z{{|{|||{{{{{z{{{{{{{z{||{zz{{zz{|{{z{|}{{|{z{z{z{{|{{|{{{z{{{|z{|{{{{|}{{z{{{{{{||{{z{{||{{|z{z|{{}|||z{|{{{{{{|{{|{{||||z{{{{{{{{{{{|||{{{{{{{{||{|{{|{{|{{{{{{{{||{|}z{|{{{|z{{||}||||{{{{{{|{||{|}||{|{|z|{|z|{|{|{|{|{{{|{{{|}||||}{{||z{|||{|||}||}||||{|{{||||||}}}{||}{||{}{|}}|}|{||{zz{|}|{||}|{|{||||{}||{{|||{||{{{||||||}||||{{{z{{{{|z{||||{{{{{z{z|{{{{}{{||||||{{|}|}|{|||{|||{{|{|||}||||{{{{{{{||||}}|}||{{|{{{{{|}}|}|{{{{z{{z{||}||||z{{|{{{z||{{{||{z{{|{{{z|{||||{||z{zz|{z{{z{{|{}|{{zzzy{||{{|||{}{{{z{{{zz|||{|||{zz{z{z{{}{{|{|zz{{{{{z{|{{{|{|{z|{{{{z{|{{{}|{zzz{{z{z||{{||||||{|{{{{||{{|}||{{}|{{{|||||{}||{{{|{z|z{}{|||{||{z{|z|||}||{||{|{{{{{{{}|||{|||{{z|||{{z{|{|||{{{||z|{{{}||||||{{{|{z|{|||}|{|}}|{{{{{{||||||~|}{|{|||{|||||}|||{{{|{{|}}{|||||}{{|||||{|||{}}}}||||{{{|}}}}}{|||{||{{{}||}~|}|||||{|||||{}}|{}|{{{z||{||||}{|{|z{{|zz{{|{||||{||{|{{{{{}}{||||||{{{{|{{|}|{||}{||{{|z{{|{||}}}|{{z{{{{{|||{||||{{{{|{{{|||{||{|{|{zz{z{||||{|}{{{{z{{{|||{||{|{|{{{zzz{{}{{|{|{z{z{{{{{{z{{{|{{z{zz{zz{{}{||||{{z{{{yz{z{z}|||{{{zzz{{||{|{||{{{z{{{{zz{|{{{||{zz{z{z{{|{{{{{{{{|{{|{y{{||{|}||{{zz|{{||}{{||{{{{{{z{{|{|{||{||{|{zz{|{{{{|}||{{{{{{{{{||{{|{|{{|{{|{||{||{||{{z{{|{{{|||{|{||{{{{z{{|{||}|}||{{|{|||||||}}{|||{{{{{|z||{{|{{}|{||{{|z|||z|}|}{{|{{{|||||||}|||{{{{|{||{||||}||{{{|{|{||||{|||||{{|{|{||{|{||||||{{{||{||||}||{{{{|}{{|}{|||{{{z{{{{{|{}||{{||||{zz{{|{||{z}|||||{}||{|}|}|}|}}||||{|||}||}|~}}{z|{{{||||{}|}|||{|{{{|||||||}{{{{z{zz{|{{{||||{z|z|{||{||{|{}{z{{z{{z{|||{{||{}{{{{|{|{{{||{{|{{zz{{{z{{|{{{{{{{{{{{z{{|||{|||{||z{{zz{{|{{|}}{{{|{z|{z{{{{{{}{z{zz{{{zz{|||z{{z{z{{z{|{{|}|||z|z{zzz{z|||||||{{{y{z{{z{{{{||}z{{{{z{{{{{|||||{||z{|{{{{{{|}||{|{||{{{|||{|||||{zzz{|{z||{|{||{{{{|{||||||||{||{{{{||{}|{|{|}|{z{||z{{}|}|||~||{{{{{|{|||{||||||{||{||||||}}}}{||{|{|{{}|}}||}|{||{||||||||}||{{z|{{|{}|}|}||~|{|{|{||||||}}|}|{{z{|}{||||{|{{|{{|{|{{{|{|{|}}{{{z{{zz{|{{{~||{{|||{{|{|}||{|}{{{||{{{||{|{|||}{{{{}|{{|{{||}||{{z{z{|{|||{{||{{{zz{{{|||{{||}z{{{{||{|{|{z|}|{z{{{|{{z|{|{|{{{{{{z|{{|z|||{{{z{zz{zzzz{{|{||||zz{y{{z{{|{||{|{z|{zz{{{||}{||{{zz{|{{z{{z{{|{}zz{{{|{z{{||{|||zz{z{{zz{z{z|{}{|{{z|{z{{|{{|{|{{zz{{z|z{|{|{{|{z{|{{z|{{{}|||{|{|{|{{{{z{|z{||||{{{z{zz{|{{|{|||z|{{{z{}{z{|||||{{z|{{{{|{|}||}z||{|{{{{}||{}|}|{{{{|{{||{|||}|{z|{|||||||{|}}|||{{|}|||||}{|||||{{{|||{||}|}||}{{|{||{|{|}{|||{{{||{||{|||||~~|{{{{zz|||}|{}}}{{z{{{zz{|{|{|||||{{|{{z{|}{{{||zz{{{z{{{||zz{|}{|{{|{|z{|{|{||}}|z|{{|{{{{||||{}{{z{{{z{{{{|{{}{|{{{{z{||}{z{{||{{{{{|z{|{{{|{|{zzz{{{zzz|{{||{|z{z{{{{{{{{{|{|{{{zy|zz{{||{|{{{z{{|y{{|{|||{{z{|z{{zzz}{|{{{|{{{{y{{zz{{|||z{{{{{z{{{z|{|{{|{}{{|z{{{zz||{{|z{{{{{{{z{|z|{|{{|{|{{{zz{{z{{{|||{{|{{{{{{{{|||||{|z{z{{{{{|{||{||z|{||{zz{||{||{{z{{{{{{|{|{{{}{{||{{}|||{{|{|{{|{{{{{{{|{}|{|}{{|{{|{zz}{{||||}{{z{z{{{|||{||}{{{{{{{{{}{||{|||{|{{|}{{|||}}||}}||{||{{|}||||}}|{||z|{{||}||||{}z{{{{|||{{{||||||{{{{{}}|{{{||||{{zz{{{|{|{{|{||{{{{{z{{|{{|{{|{{{zz{{{{||||~|||||{|{|z{||}}|{}||{{|{{{{||||}}}|{|z{|{{||{|{|}|{||{{{z{{{{{z{}{|{{zzzz{{|}|{|{|z{|{{{{{}|{z{{{{{{{zz{z||{{{|{{{z{{zz{{{|{{{{{{|{{zzz{{zz{{{{{|{{{z|z{{z|{{{{{|{y{{{zzzz{{|{|{||{{{{{y{z{{{{{z||z{{{{{{zz{{|{||||{{{{z{{z|{{{{{}||{{{{{{{||{{||}{{{{{|{{|{}|{|||z{|{zzzz||||{{}|z|{{{{{{||{|||{z{{{{|||{{{|{|||||{||{zz{{}{|||||{|{|{{{{|{||}|||z|{||||{||||{{|}{|||{{{{{}{|||}{{{z|||}{|~||{}}}{{|{{|{}|{|||{{|||{|{|{{{}}}}|}{|{||{|||{|||||||}||{{{{||{|||}}}|{{|}{|||{||}|}||||zz|{{}||}||||{{{{{z{{{|||{||}{z{z{{|{||{z{}||{|{{|||||}|||{}|{{{|z{{|{||{|{|||{|{{{|{{|{{|{}||{|{{{{{|||{||{}{{{z|z{{z{}{{|z|{z{y{{{z{|z{z||{{|{z{{{{{{||||||{{{{{{z{{{{|{{||{{{z{y{z{|{{|{}{{zzzzzyzz{||||{{{z{{z{zzz{{{{|||z{{{z{{zz{{{{||{|{z|zzz|{|{{||||{z{|{|zz{||{{{|{{{zz{|{{{|{|||||{{|{|z|z{{|{|||}{{{{{z{{||||{{z{{{{zz{{{{|{|{{{}|{{{{zz{{{||{{||{z{||{zz{{{||{{|{{|{{|{|}|||||||z{z}{||{{|{{|{|}z{{|z|{{|||||||{|{|z{{z{}||||}||{{|{{{||z{{}|||{|{z|{{|{{}||{}|||{{|{z{z}|||||}}|{{||{{|}{|{{||||{{|{|{{|{{}||}|{{{z}{z{{|||}|||||{{{{|{|||||{{||{{{|zz{|{{{{|{}|{{{|{|z{|}|||{|||{{{{{|{{||||}|{{|z{{{||{{|||{|{{{{{zyz{{{{||||||{{z{zy{{{||{|{{{{{{{zzz|||{{|z|z{{{{z{{{}{|{{|z{z{zzz{{{z|{|{{zzz{yz{{z{{||{|{{|{zz{z{z{{{|{|{{z|{z{zz{{{{{{{{{{z{zzzzz{{z{{{{zz{z{z{{{{z|{{||z{{z{{{zz{{||{||{z{{z{{{{||{|{|{zz{y{{zz||{}{{{|{{{{{{z{|{{{{||{{z{z{{{{{{{||||{|{{{zz{{|||{{{|{|zz{{||z|{{|{||{{{{|{{z{{||||{{|z{|{{||{}{||{|||{z{{zzz{|||{{{|z|{{{|{{{{||||||{|{{{||||||||||}|||{{{{{|||}|||}||{||{{|z{z||||||||{z|z{{{{|{||}{||{{{|z{|{|||}||{{{z{{{{{||||{|{{|||{z{z{|||{{||{|{z{zz{{|||z}}}||{}|||{|||||||}{|||||}z}||}}|||{{{{{{|{||{||{}|{{|{{{{{{|{{{|{|||{{{{{z{|{{{{{{z{{{|z{{{{{z{|{{{zzy{zz{|||{{z|||{{yz{z|{z{{{|}{{zz{{zz{z{{{{|}{zz{{{zz{{|{}{}|{{{{z{z{z{{{||z|{|zy{z{zz{|{{z{||{{zz{z{{{{z{{{{{{z|{{{{z|||{|||{{{z{{{{z{{|{{|{||z{{{{{||{|{{|||{{{|{{z{||{{|||{{{{{{z{z||||||{{{{{{{{{z{|{|{{||z{{{{{{{{{{{|||||z{z|z{|||||{||{||||z||{|{{|||}||{{{{zz{{|||||}{{z{{|z{{|}||||||{{{{{||{|}|||||}}{z|{{}|{}||}||}|{|{|{z{||||||}}|{{{||{|||||{|||{|{||{{{{|||{||}{|z{{{|{{{|||{||z{z{zz{|{{{|{||{{{{z{zz{{{||{||~{}{z{{{{|||||||}||{{{|{{|||||}}}||{{{{|{{}}|||}}{|{{zz|{{|||{||}{||{{{{{{|||}}||{{{{{{{z{|{|{||||{{zzzz{|{||{|||{{|{z{z{}{||{{{|{z{zyz{{{{{{{||{{z{{{|{{{{}{{||z{z{zzz{z|{{||||{{{z{{{z|y{|{{{{{|{{{||z{z|{{{|||{{{{{{z{{|{||{||{{{{{{{z|{{|{|||{zz{{{{{{|||{{{|{{|{{|z{||||||{|{{{{{z{{z{{{||{|{{{{zz{{|}{|||}{z{{|z{{{|{|{|}||||{|{{{{|{||{|||{{|{{{{|{{|}{{}|{{{|{z{z||||||}{|{{{|{z{|||||{|}{||z|{}||||}|||}|{|{{{{{|}}||}}}|{{|{||||}||||||}|z{|{{{{|||{{||{||{||{{}||||||}||{|{z{{{|{|{||{||{{{{{{|||{|{|{{{{{zzzz{||{z}}|||||{||{||||||}}||{|||{{{{||}|}|||{{{z{{}||{{{||{{||{|zz||{z{{||||zzz{zz|{|{|}|}{|{{{z{zz|||{{|{{{{zz{zz|z{{{{{{zy|{{{{z{{{|{|{|zzzz{zzzz{|{|{{{|{|{z{{|{{{|{|{{z{{{{zz{{{|{{|{{{{|{|{{{|{z{|{|{{{zz{{z{{{z{{|{{{{y{z{{z|{||z|||{zz{{z{{{|{{|{|}{{{{zy{{{{|{|{{|{{z{{zz{{{||{{{|{{{{{z{{z{{}||{|{{{{{{{z{||{{{{{|z|{|zz{{||{}{}{{{{|{|{{{{|||{}|{{{{{z{{|{|{{{}|{{z{{{z{||||||{||{{{{{{||}|{}|{|{{{{{{{|{z|{|}|}|{{|||{||{|||}|}|z{|{z{||{{||}|||zz{|z{{|||}||}{|{{{||y{|}|||||}zzz{|{{{{{{{|{{|{|{{{{{{||||{{|{{{|zzz{zz{{{z}}|}{|}}{}}|}}}||||||||{||{|}||||}|{{{{{{{{|||{|}|}|{{{||{{{{{|{{|||{{{{{|z|||{|{{||{{{|y{zz||||||{{{{z{yzz{|{{{{{{{|zzz{{z{z{|z|z||{{{{zz{{zz{||{{{{zz|{z{{{|{{||}|{|{z{z||{{{{{|{{z{{{{{z|{|{{|{|{{{{zzzy{z{|{|||{zz{{{{z{{{{{|||{||{{z{{{{|{{{}{{{{{{{{{{{|{||{{{{{{{{{{{{|{||||{{|{{z{z|{{|||{{{|{{{{{z|{|}{{||{z{{{{{{{{{|||||||{{{{{{||{{||{|{||||{|{}|z|{||||{||{{{|{||}|||z|{{|{{{{{||{|||z|{{||{|||}}||}||||{|{|{|{}|}||}}|{{{|}|{||||||}}|{||{|{{||||||}||{||{|{{|||||||}{{|z{z{{{{||}{|{||||z{z{|{|{|||||{{zzz{{{z{{{|}}}|||}||{{|}|}|}}|||{{|{||||||||}||{z{{{{|{|||||}|{|{{z{{{{{{z|{{{{{{{zz||{|z{{{|{{{{z{{{{{{z{|{z{z{z|z{z{z{|{|{{{z{zzzz{{{{|{z{{zz{yz{zz{|{{{{{|{zzz{zzz{{|z|{{{{{|zz{zz{|{{{||{{z{zz{zzz{{{{{{{{zzz{{zz{{{{{{{{zzzz{z{{{{{|z|{}{{{z{z{||{|{|{||zz|{{zz{|{|{{{{{z{{{{z{{{||||z{{{{{{yz{{{{{}|{||{z{{z{{{||||{|||{z{{{zzz{z}z{|{|{|z{|z{z|||||}{|z{{zzz|{|{{{|{|{{{{{z{z{||||||||{{|z{{{{||{{{|{{{|{{z{|z}|||{||{||||{|{{|}|||}||{zz{|{|{||||{}|||z|{|zz|||{{{{|}|{{|{{z||{{{{{|~{{{{{{{zz|{|||||{|z{{z{z{{{|{{|{{z{{z{{z{|z{{~~}||||||{|}~|||}}}}}{{||{|||||}|{{{|{{|{|{|}{||||}{|||{{|{{|||||{}|{{{z{{y{|{{{{|{zz|{z{zz{|{{{{||{zz{{{zz{{{{{|{{{|zz{zzzz{{{{|z|{{zz{{zzz||z{|{|z{{{{zz{|{{{{{{|z{{{zz{z{{{|{{|{z{{z{z{{{{|z{{{|{yzz{{{{{||{{{||z{{z{{{z{||{{|{{|{{z|zzz|{||{|{}{{{{{z{{{|{||{|{{z{zz{{{{|{{|{||{{zz{{|{|{{|{{{|{|{z{{|{}|{|||{{{z{{z{||{|{|||{||{{|z{{{{|||{|}|{{{{z{|{|{||{||{{{z{|{{{|||||||{|z{{|{|{|||{|||}{||{||||{{|{}}||||{|{|||||{||}||{z{||{{|||{||}|||{|{|{{|||||}|||||||{|{{{|{||}}|{{{z{{{||{|{{{||}{z{{{{{||{||{{{{{{z{z{|{z{|{|~}|||{{}|{|}~|}||}|z|z|z|{||}}}|}||}{{{|{{|{|{}||{{z{{{z{{{{||{||{|{{{zz{y|{{|{||{{{{{{{zz|{{|||}|z{{{{{z|{{{z{{{{|{{z{{{z{{{{{z{|{z{|{z{z{|{{{{}{z{z{z{zz{{{||{{|{{{z{z{zz}|{{}{{{{{z{zzzz{{{z{||{{{z{{{z{{z{{{|{|z{zz{{z||||{{||{|z{{z{z{|{|z|||{z{{yz{{{{|||{{{{{||||{{{{||{||{{{|{|{|z{}}{{{|}z{{z{|z{{|{||{{||z|{{zz{|{{|||{|{{|{{{{{|{|||||{{{{{{|{|||{}{|}|||{{{z{z{|{|{||{{|{{|{{||||||||||||{{||{|||||}|||||{{{{|{||}|}}}|{{|z|{{|{{||}{|}{|||||{{||||||||{|{|||{{}{{{|}|z{{y|z|{||||||||}|{z{{{z{|{||{|{|{{|z|{z{||z|}|~}||{|{|||}}|}|}}{||||{{{}||}{}|||{{{{{{|||{{|||||z{y{z{|{|{||{||{|{{z{{y{{|{|||}{z{z{z{{z||z{{{{{{{z{zzz{{|{{|z{{{z{{{z{{{z{|{|{z{zz{zz{{{z|{z|{{{{zzz{{{{{{z|{|{z{zzz{z{{{{{{{{|{z{zz|z{{{{{{|{{{{{{zzz{z{z{{{{|z{zz{zz{{z{{|{{|{{{zz{{{||||}|{||{{{z{{{{{{||z|{{{{{z{z{|{|||{{{{|{{{z{{{{{|{||{z{{{{{{z{{|{||{{{z{z{{z{||{{||{||{{{{{|{}||||||{|{z{{{|}}||||}||z|{{|z{}||{|||||{|{{|{{{||{|{|{{||{{|||{||}|||}|||{{{{|{}|{||||}|{||||{}|}|}||||z{{{z{||}|||{|||||{{{{{|{||||||||{zz{||{|{{{{|||{{{{{{z{|||{|{{{{{{{z{{{|z|{~|~||{|||{}||||}|~}{|}{|{{|}|{}|||}||z{z{{{{||{}}|}|{|{{|{{|{{}|{}|{{z{{{{z{{{|{{{{{|{{{{{{{{z{{|||{{{{z{z{|z|{{|{{{z{z{{{{{{{{{{{{{zy{{zz{||z}{{|{z{{z{{z{|z{{{|{{{{{{{{zz{|{{|{||{{{z{{zzz{{z{z||z{{{zzzy||{|z{{{{z{{{zz{{{{{||{{{{{{{{{{||{{{{||{{|z{z{||||z{||{z{{zz{zz||{{|{}|{{||{zz{|{||}||{{z{|{{{z{|{{|||{{|{{{{{{{|{{z{{||{{||{{{{||||{}|{{z{{{{|||{|{|}||z{{{{{|{{|}|{|{}z{{{{{{{~|||}}||{|{{||{|}||{||||{|{z|z||}|}|}||{{{{z|||}}|||{|{{{{{|{{{}|||{}{|{|{{|{z{|||{||{|{|{{|{{{{||{{}}|{{{z{{{{|||||||}{{{{z{{{{{{|{}}~}}}}||}{|}}}}{|}|{|~{{|}}}|}}|}}|zz{{{z{{{|||}|}{z|{{z{{|||{|{||{{{zzz{{{|{|{|||{z{z{{{{||z{{|{{z{|z|{z{{{|{{{{|z{{{z{{{{zz{{{}|{{z{z{{{{||{{z|{zyz{{{zz{{zz{{||z{{{yz{{{{||{|{|{zzz{y{zz{zz{||{{{{zz{zz{|z{{|{|{z||{{z{{{{|{||||z{zz{{y{{|{{{|}{{{{|z{{{z{|||{{{{zzzz{z{|{{{|||{z{{{{{{z{|{||{{|{{|z{zz{}{{{{||{{|zzz{|{{|{{|{{{{{{{{{{{|{|{{||{|{{{{zz{{z||{||{{z{z{z{}}||}||||{||z{{{|||{||||{|z|||}z{}{}z}|||{{|{|{||}{||}||{z||{z{{|||{}||||{|{|{{|{|||{}|}{{{z{{||||||||||{|{{{{|{|||{z{|{|{{{{{zz{{||{{{{{{{{{z{z{|{||~~~}}||}}||||}||{}~||{{{|||}|}|}}}|{||{{{{||||||}}||{{{{{{{}|{{|{{|z|zz{{z{||{|||{|{z{{{{{z|{{{{||{|{{zzz{z{||{z||{{{{{{z{{{{{|{{{{{zzy|z{z{z|{|{|{{{{{{|{{{||{{|{|{{{z{z{||{{{{|}{{{z{{z{z{{{{{{{|{|{z|{z{z{zzz|{||{{{{zzz{{|{{{}|{{{{z{{{}}||{{{||z{|zz{z{|{{{|{|{{z{|{|{{{|{|}||{{{{{z{{{|{{{|||{z{z{{{{{|{{{|||{{zz{{|{|}{{{||{||{{||z{|||}}|}|||}{{||{||{|||||{{{|{{{z||{||||||z{{{{{{|}}||{|}|||{{|}{|{{|||||||z{||{{|||}|||{|{|z{{{z||||||}||{|{{{{{}||{{}|}{}{{||{{{|{{||{}{|||{{z{{|}|{|||{|{{{z{{{{{}||}{{z{z{{z{{|{{z~}~|~}}}{}{}}~}}|}~|}|{{{|||{|}}||}|{{|{{|{|{||}}|{||{z{zzz{|||{|}}{{{zz{{z{|{{|||{{z{z{|{z|{|{{{|{|{{{{zzz{{{{z|||z{{z{{{{|{|{||z|z{zz{{{{zz{||{z{{{{{z{{z|{|{|{{{{z{{{zz{{{{||{||{{z{{{{z{|{|{{|}{{{{zz{{{{{{z||{|z{{zz{z{{|||{|{{z{z{zyz|{|{z|||{{|{{{{{{|||{{|}{{{{{zz{{{{{~{z||{||{{}{{|{|||||z{z{{{z{{||{|z|{{z{{|{z{|||z|{||{|z||{{{|{||||||{{{zz{{{}||||{|{{{{{{z{z||{|{{|{|zz{z{{{{{~{{|||z|}{{|||||{|||}{||{z{{{|{}{||||}|z||{{{{||||}|}||||{|{|{{{{|||||{{|{{{{||{||{|{{{{||{{{z||{}{|{}||{|{|||{||}{||{{|{zzz{{z{||{~}~|}}}}|}}~}||}|}}|}|{|{{|}|||{||||{{z||{{||}{||}|{||zz{|{||||{||||||{{{{z{|z{{{{|{{{{{{{z||{{{||{{{|zz{{z{{{{{{||{{|{{{z{{{{}||}{{{{{{z{z{{{z{||z{{z{{{z{|{z||{|||{{{{{z{{{{{{}{|zz{{{{zz{|{{{{{{{{zz{z{z{{{|{}}{z|{z{|zz{{{{{|{||{{|{{zz{|{|{{||{{{{{z{{{{{|||||{{|{{{|{|{}{||||{{|{zz{{{{|{||||{{{{{{{|}||{|{|{|{{|{zzz|{{||{|||{{||{{{|||{|}||{{{{|{{|||||||}|{||{{|{{{{}||}|||{||||{||||{|{||{{{{{|}{{{||||}}{|{{{|{{z~{|}|}||{{{{{{{||||||}}}{|{{|{{|}|||||}||{||||{|}||||~~{{{{|{z{}|{|||||||{{{{z|{|{|{|||{{{z{z{{{{||{~}}}}}}}|}}~}}}}}~||||{||{|||||}{}|}|{{|{|{{||{||||{|{{{{{||||{{|||||{z{|{||{{{|||z{{{|{{z||{{{|{{{z{|{zyz{{}{{||{{{z{{{{{{|{{{|{|{{zzzzzzzz|{{{{{{{zzz{{{{z{{||{|z{|{{{{{z|{|{||{{{{{{{{{|{z{z|{|{z{{|{zzz||{||{{z{{{{zzz|{{||||{z{{z{zz{|||{||{{{{{{zz{{}{{{{||{{z{z|{{z|{{|||||{{{{{|{{{{|||||||{{{{{{{||||{{}{{{{{{{{{||{{|{{{{{{{{{{|{}|||}|||yz{||{{{|||{||}||{{{{z|{{}||||{|{||||{{}||{}}||{{|{{{{{}||}{|}}}{|||{||||}}{||}||{|{|{|~|}{}||||z||{{{{{|||{|||{{|{||||{|||||||z|{{{{{|||{|||||||{{{{|{||{||{||{{{{zzzz{{||z~~~}|~}}|||}~}}}|}}||}||{||}{{}}}}~|{|{{{{{}{||}|}{|{{||z{{}{}|{{||{{{z{{{z{|||{}||zz{z{{{{{|{{{||{{z{{zz{|||{{{}||{z{{zzz{{{||{|||{z||{{{z{zz{{{{|{{y{zz{||||{|{|{{z{zz{zz{|{|{|||{zzyz{|z{{{||||{{{{z{{z{z{{{|}{{{z{}{z{|{{|{}|||{|{y{{z{{{{{{{|}{{{{{{z{||{z{|{}{{z{{z{{{z||{||}{{{{{{{{{|{{{|||{{{{|{zz{{{{{{|{{||{z{{{{{|{{||{||{{|{{{{|}|}{{|{|{{|{|{{{||{|}|{{{{|{{{|||||{||{z|{{|{{}||}{|||}|{|z|}|{||||}|{{z|{z|||{}}||||{}{|{{{|{|||}|}}||{|{|{{||{|}|||||{{|{{{|}|||{{{}{{{{{{|{|{|||||}|{{{{{{z|||{||}{{||z{z{{{||{{~~~}~|}}}~~}|}}|~|||}|||||||}}|||||{{{|{{|{|{|{|}|{{{{{{{{{}|{||}{{{{{{{z|{{|{{{}}z{{z{{z{||{{}{{zz|{z{{z{||z{|{{{z{{{{||{|{{{|||{z{z{zzzz{|{|||{zz{{{zzz|{}{|{||{{{z{{z{{{|{{{|{|zzz{{{{{{{{z{{||z{z{y{{z{{{{|{{z{{{{{{zz||{|{{}|{z{|{z{{{||z{|||{{{{{z{{{{|z}||zz{{{zz||||z||||{{{|{{z{{z}|{|{{{z|{{zz{|||{|||{{z{{|{{z{||{|{||{|{{{z{z||{||{||{{}{{{{{|}{|}||||{{|{zz{{|||||||{{{{||{{{}|||}}}{{||{||{{||||||}}{{|{{|z{}|||||||{{{{|{{|{|}|}}}|{|{{{{|||||{{|}|{{|{|{{{{|}|||~{{|{||{{{||||||{|{{|{{{z|}||{|||{{z{{{{{{{||{~~~}~}||}}}~}}~}~}|{}{z|{|}}||||}}{|z|{||{|{}||||{y|{|{|{||{|{|||{{{z{zz{|{{|{{{|{{{z{z{zz|||{|{{{z{|zzzyz{{{{|}{zzz{zzzzzz{z{|}|zyzz{z{y{|{|{{}{zzzzz{zz{{|z{{||{z{zzzzzzz|{|{{{z{yyz{{zz{{{{|z|z{zz{z{{{||{|{|{{{z{{{{{|{||{|{||{{z|{{{{||||{}{{zz{{{{{|{{|{}|{{{{{z{|{|{{{||{||||z{{z{||{||||||{z{{{{{|{|||{{|{{{{{{{{{{|{|{{{{{|{{z{||{||}||}{{|z{|{{{|{||}||{z|||{{{|{||||||{{{||{{|{|}||{|||||{||{{{{|||||{||{{z{||{||{}{|||{|{{{{{{{||}||||z{||}||||{{||||z{z|{{{{{||{|{{}|{|{{z||{|||}{|{|{|z{{{{{{{z{|{{z{{{z{z{||{{{~~~}~}}}|}~}~}~~~||||}{|{|||}}}|}||{|||{|}|||}}||{{{{{|z{{{||{||||{{{z{{{|{{||{{|z{|z|zzz{||{{{|{{{z{{{{{{z|{z|{{|zzz{{{{{{{{{||{zy{{{zzz{{{{{|{z{z{{{{z{{{|{|z{|{{{zz{{z{{||{{|{{{|z|{z{z{{{{|{|{z{{z{zz{}zz{||{{{|z{{{z{{||{{||{{z{{{{z|||{|{|{|z{{z{{|z{|{{|||z{{{zz{|z{|{|{|||z{{{z{{{{{{|||{{z{{z|{{{|{{|||||{{z|{{{|||{|{|{{{z{z{{{{||}{|||{{{{{{{|||||{||||{{|{{z{{|}||{|||{z||{{{|||}||||{{{|{|{{||{||{|||{{{{{{{{}{||}||{z|{|{|{|||}}{}|{{|{{{{|||{|}|}z||z|{|{{{{|||||||{|{{|{|{{z|||||{|{{z{{{{|{||||zz|{{z{{z{z{{{~}}~~}}~}}}~}}}||}}||||{||}}||}|}{{||{{{||}|{{||{{z|{{zz|{{}{z|{{|{{{{z{z{{}{{{{{z{{|z{zy{{{{{{{{{{{{{zzzz{|{{||{z{zz{z{{z{{{{{{|{zzz{zzz{{z|{{{{|z{{z{z{{{|{||{|{{{{{zzz{|{{|||{{{z{zzz{{{{{{||{{{{z{zzzz{{{|{||z{{z{|{{z{z{{{|}|{{{{{{{|{||{|{|{z|{{|z{||{|{{||{{{{|zzz{||{{||||y{{zz{z|||z|||{z{{z|{{{{|{|{{}{{{zz{{z{{|{|z||{{{{{|{z{||}}|||{z{|{z{{{{|}|{||||{{{|{{{{|}{|{|||{{{z|{z|||{{|||{{{{z|{{{||{}{|{|{|{{{|z|}|}||}}{|||{{|{{|||}}|{|z{{{{{{||{{|{|||{|z}{|{||{|||{|{{{{z{{z{|||{|}||{{{{{|z{|{||||{{z{{zz{{|{|z{}~~}~}~}|~|}~~}~}|{|||||}}}||}~|}|{|{||||||}|}|||z{{z||{{|{|{|}||{|{{|{z|{||{||}{{{{{{{{||{{{|{||{{zz{{{|{|{{|{||{{{zz{z{{{{{|{||{{{{zzz|||{{{{{z{z{z{zz|{{{{|{{{{{{zz{{{{{|{{{||zzz{{{z{z{z|{|{z{z{y{z{{{{{|{|{z{{{|{{|{|{||{|}|{z{z{{{|{{{|{||{{z{{{{z|{{|{{|{{{|z{{z{{|{||{|{{z|{{{{||{|||{z{{{|{z{z{|{||{|}{|{{|z{{||||{z|{||{z{{|z{{{|||}||{|{|{||{{|{|}|}}|{{|{{{z{|{||||||{{{||z{||||{||}{|z{}||||{{||}}||{{|z{|{|~}|||}||{{{{{{||}|{|||||z{||||{||{|{|}||||{|{||}{||||}}{{{{{{{|{||||||{{{{{zz{z{|{||{}|||{z{{{{{||||~}~|}~}~}~}}}~~~|}|{{|}||~|||}{|{|{{{{{||||}|||{{zz|zz|{|||{||||{zz{z{{|{||||||z{{z{{{{|{|{||{z{{{{{zz{|{|{{{}{{{{z{zz|{{{{}|{{z{{{zzz{{{|{{|{{z{{z{{z{{|{{{|{||{{z{{z|{|{{|||{z{{{z{{|{z{{||}|z{{z{{z{|{|||{|{z|{{{zzz{{|{|{|{{{|{z|{{||{z||}{{||{yz{{|{|}||{|z|zz{z{{{|||||{{|{{{z{|{|{||}|{|{{{{{{{||{{|{|{{z||z{{{||z{{|{|z||{|{z{|{{|{|||{{{z{{||{{|}{{|}|{{{|{zzz||||}|||{{z||{z|||||{}||{{{||||||{{}}|||{|{|{{{|}|}{}~||{||{{{{{{|||||}{{|{{{{{|||{{|}}|}|{||{{{}}||||}{|{{{|{|z|{||{|||{{{{{{z{||}{|||{{{{{|{{|||{{~~|~~}}~}~~~}~~}~}}|{||}}}|~|{}}|{|{{{||}|{}|||{|{||{{{{||z{{{|{|{zz{zz{{{}z{||{z{{{{{|||{|{||}|{|{{{{{{|||{{{|z{{zz{{zz||{{}{|{{y{z{{{{{{|{{||z{{{z{z{{{{{||{|{{{zz{{z{{}||||{|{{{{{z{z{{{{{|{{z{zzz{{{|{{{|{|{z{{{{z{{{||{{|{{{z{{z|{z{{{{{{|{z{{|zz{|z{|{{{|{z{z|z{z||{||{{|||{{|zzzz||||||{{{{z{{{z|||{{|{||z{|{z{{|{{{|||{|{{{{{|z||||||{|z|{{{{{{}{|||||||{zz{{z{{|}{|||||{|||{{{|||{||}|{||{|||||{||}||}|{{|{{{{|}}}|}|||{{{{{|||||||}}||{{{{{{||||{}|}}{{{{|{|||{||||||{{|{{{||{{{{{|{{{{{|z|{{{|||{{|}{||{z{{z{|{||~}~}}}}~~~~~}}}}|||||||||}}|}|}{}||z||{||{|}|}|||{z|{{{{{{|{{|||z|z{{{z|{|||||{{{zz{{{z{{}|z{|z{{{{{{{{{|{{||{|{{{y{{{{|{{|{{||{{z{{{{z{{||{{||||{{{{{{{{|||{{{{zzz{{zz{|{{{{||{{{|{z{z{{|z{|{||{{zzz{{{{{|z|{z{{{{{{z{z{||||{{{{{z{{{|||{|||{||{{{{z{{||z||||||{z{{z{z{{|{|{{|{{{{{z{{{{|}|{|||z{|z{{z{}|{z{}|{{{{{{z||{|{||||{{{{{{{{{{{}|}|}{{z||{||||{}{||||{|z|{z{||||||}}|{|{|{{{|}||{|||{{{{y{|||}{{||}{|{{{{||{|}|||{~||{|}{{{||}|{|}}{|{{{{|{|{||{|}|}|{|{|{{|}|{|}||}|{|z{{{{{||}||{||{{{{{|{{||{{{}}|||z{{{z{}|||~~}}~~~}}~}~}~}|||}{|||}}}~}||{{|}|{|||||}|||}|{|{|{{||{{{|||||{{{z{{|{|{|||{||{{z|y||{{{|}{{{z{{{{{{|}{{{|{{z{{{zz{{|z|z|{{zzz{{|{z{{||{{||{|z{{{{{{{|z{{||{{{{{{z{{{||{{{|{{{{{{{z{|{|{{{||{{z|z{{{{{{{}{{|{{z|z{zz|{||||{{{{{{z}{z|}{{{{}{z|{{{{z{{|{|{|{{{|{{{{{|||{{||{|{|{{{{{{{||||||{{{{{{{{{|||||||}z{{|{{{|{|{{|{{{{{{|{{|||}|||}|{|{{{{|{{|{|{|}|{{|{{{z{{|}|||||}{{{|{{{}|||||}|{{{{z|{{||{{||||}}||{{|{}|}||}|}||||{|{||||}|||}|{|{{{{{{|||||||||z{{|{|||||||{}|{{z{|{{{{{{||||{||{|{{z{|{{|{||{{|{|{{z{||{|~}}~}~}~~}}}}}~||||}}}|}|}}|}||||{|{|{||||}|}{|z{z{z|{|||{|}|||{yz{z{{|||{||{{{{z||z|{|||}|{|z{zz{zz{|{{|||{|{|z{{{|{{{{|{{||zzzz{zzz{{{{z{{z{zzzz{z{{{{{{||{{{{z{zz{{{zz{{{{z{{zz{zzz{z{{{||{zz{|{z{{{{{||{|{{{{|{z|{||||||{{{z{z|{|{{||||{|{{{{z{z{z{{||{{z{{{{z{{{||{}{|{{{{{|z{|{{|{|{{{|{{{{|{z||{|{{||{z{z|{z{||{|{||{{zz{{{z{{{|{|{|||{|{|{{{}||||||{{{{{z{z{|||{{{||{{{{|{{{}}||{|||{|{{{{|{||||||{|||{|{{{||||||||||{|}zz{||}|{|||}||||{{{{|{{||{|{{{|{{{{{|{||{{||zz|z{{{{|||||}||{|z||z{z{|||{|||{|{{{{{{|{{|{~}|}~~~}~~}}}~|||{|}}}}}|~||{{|{|{{||{{||}{{{{z{|{{|}|{|}|{z{z{{{{|{{|{|{}z{{z{{{{{|zz{{{|{{z||zz{{{{{{|{|z{{{zzzz{z{|{{|{zzzzzz{{{{{|{{|{{{{{z{{z{{{{{{|{{{z{zz{{{z||{{|{z{{{zz{{z{{{z{||{{{z{{z{z{{{{{|{zz{{z{{zz{{|z{{|{{zy|{{{{|{{||||{{zzz{{{{|z{||{|z{{{z{zz{{{{{|{{|zz{{{{y{|||{{{{{z|{{{z{z{|{{z|{{{z|{zz{||||{||{|{{|{{{{{||}|||||{{{{|{{{|{||||||{{{{{{{{||{{||||z{{{{||}||}||||z{{|{{||{|{|{||||z{zz{{{|}|{||||}|{|{zz{{}{|||}||{{{{{{{{|{|{|||{{{{{{z{}||}|||}{|{z{{{{{||{|||}{{{{{z{{|||{{|||{{|{{zz{{{|{|~~}~~~~~~~|}~{|||}}|||}}}}|{{{|||z|{{{|}|||{{{{{|{{||z|{|{{{|z{{{z|{{z{|{}z{{{{|zz{|{zz|{|{||z{zzy{|{{z{{{{{zzz{{z|{z||{||z{{z{{z{{{{{|{zz{zzz{z{z{{|{{|{{z{{{z{z{{{|{{|{|{zzz{|{zz|||{|z{{{{z|z{z|{{|{{{|{{{z{{{{||{{{{|}{{z|{z||{||{|{||{z{{{zz{{|{z{|||z{{{z{{|{{|{||||{{{|{z{z{}{||||{{{{{|{{{{|{{||{{{z{z|z{{|||||{{|{{|{|zz{||||{|}|{{{{{{z{||{||||||{{{{{{{{|||{}|{{|z|{{{{||||{||}|{|{{}z|{|||||||}{|{{{{{|}|}}{|||{z|{{{|{}{|||{|{{{{|{z{|{}|||||{{{|{{|{}}{}||||{{{z{{{{||}|||}|}{{{{{{z|||||||{zz{zzz{z{|{{{~~}~~|}~~~}||}}||}|}||||{{{|{{{{{||{{{||||z{||z|{{{||{|{{|{{z{{{{{|{{{{{|zz{{{{{z{|z{{|{{{z{{zzzz{{{{z{|{z{yzy{{z{z{|{{z{zy{{{zz{{{{z{{{|{z{zzz{z{z|{|{{{{{{{zzzzz|z{{{{{zz{{|{z{{{{|z||z{{{{zz{{z|z{{z|{{{{{|z{{{|{z{{{{{{{z{zz|{|{{{{|{{{{{{z{z{{z{{|{|z{z{|zz{{{{{{{|{{{|{{{z{{|}|{|{|{{{{{{z{{|z|{{|{{{{{{z{{|{{{|{||{{{{{zzz{{}||{}|{{z{{{{{|{{{||||{z{|{|{z{|}{||||{{{|{z{{||{|{|||{{|{z|{{{{{||||{}{z{|{z{{}{|{||||||{{||{|~|{|{{|{{{{z{{||{|{{||}|{|z{{{{|z{|||{|{{{z{zz}||||{||{|{{{z{{z{|{{{||{{{{{z{{{{z{{{~}~~~}~~~}}}|{||}}|}}}|||{|{|{{{|z|{|}||||{{{{{{{{|||{|{||{zz|{z{{{|||{{{z{zz{zz{{{{||{{{{{{{z{zz{|{|{{{{{z{{{z{{{{|{{|{z{z{zzzzz|{{{{|{{z{yzzz{{|{||||{{z{{zzz{{{|||{|{{{{z{y{z|z{{{|{||{z{{zzz{{{{||{{zz{{{{{z{||{{{{{{{{{|z|{|{{{||||{{{{{{{z{{{{{{}|{{|{z{z{}|||{||z||{{y{{z|{|{||||{{{{|{|{|||{|{}|{z{z|{{{{{}{|{||{{{z{{{{|{||||||{{{z|{{|{|||{||{|{{|{z{{{|{||z||{{|{{z{{||||||}}{{{{{|{|{}|{}|}||{{{{|{{|}||}}}||{||z{|{|||||||}|{{{|{z{|}||||}|||{{z{{|{||||}||{{{{{{{{{|}||||||{{{{{{{{||||||||{zz{zz|{||{{~}~~}~~}~}}|}}{|}}}|}}|}|}z{{||{|||}|||||{{|{z||{||}|||||{||{{z{{}{|{{|{{{zzzz{{{||{{|{|{|{{{z{{{{{|{{{|z{{{zz{{|{{{|{|{|z{{z{z{{{{|z|{{{z{z{y{{{{||||}||{{|{z{yz{|{||{}{{z{{{{zzz|{{{{||{{zzz|{{||{{|{{|{zz{z|zz{{||z||{z{|{{zz{||{|{{{|}{{{|{{{|{{|z|||{{{{z{z{{{||{{|{|||{z{{{{{{|||||{{{{{{|{|||{|{{||{{{|z{{||{||{{||||||{{{|{||||||{{{{|{|{{|{}{||||z|{{{{{{||}||||{{|{|{{{}||}|||}{}|{|||{|}{|}||||{|{{{|{{}|}{}|}}{|{|{{{}{{|}{||}{|{|{|{|{}}|||}{|{||{{{|{|{}|}||{|{{|{|||{}||||{{{|{|{{||}||{||{{{{{z|{{z|{{}~~~~}}|}||}{}||}}}||}|{{|{{{|}{{}||}{|||||z|{{{{|z||||{z{z||{{{}{{|}|{{{{z{{{||{{{{{{zzz{z{z||{{{|{{{z{{{{zz{{{{z|{|{{z{z{|{||y{{{{{{{zzz{zz|{|{{||{{|zzz{{z{{||{{{|{z{|zz|{{{|{{{{|z{{{{{{{{{z{{}{z{y{z{{{z{{{{{|}||{{{{{{z|}{{|{{|{z{z{z{z{{z{{|||{z{{{{||}{{{{{||{{{{{{{{|{}||||||{z{z{{{{{|{{{||{{z|{{{{|||||||{{z{{{{{{{{z}|{||{{|z{{|{|||}{||}{{|{|z{{{{}||||||{|{{{{{||}{||||{{|{{{||{}||||||{|||{{{|{|{}}}|{|{||}{|{||{{|{}||z{{{{{{{||||}|||{||||{||||||||||}|{{|{{||||||}}{||{{{z|{|{{{z||{y{{{z{{{z|||~~~}~~~~~~}}|}|||||}}{}}}~||{{|{|||{|{|{|}{z{z|{z{{||||{|||{{z{z{z{{|{{|||z|{{{z{z{{{{{{|{|{|z{{{{|{{{z||{z{z{{{z{z|{{{{{||{{{{z{z{{{{{{||{{z{z{y{{{{{|{{{{|z{{zzy{{{|{{|{{z{{{yz{{{{{{{{z{{{z{{{z{{{|z|{{z{{y{{z{{{{{|||{z{{{{{{z{||||{|{{{{|{{{{{|{{|{||{{{{{|{||{||||{{{{{|{{{{|z{{|{|{|{{{{z{{{|||||||{z{{{{yz|{||{||||{{{}{{{|}||{|||{|{z{{|{|||{{{|}{{z{{zz|{{{}|||{|z{z|zz{||||{|}||{|{{|{{|}|}{||}}{{|{{{{|}|{||||||{{{{|{||{||}|||{{{{z{{|||{}||||{{{|{|||||}|}||{|{{|{||{|||{|||{{{z||z{{|{}{|{{|{z{{{{|{{{{|~~~~~~}}~||{|||}}|}}|}}|{{|{|{{|||{|||{|{|{{{{||{|{{}|{{{{zz{z{{{|{{||{z{zz{{{{{{z{{|{{{{{y{{{{{|z{{{{{{{{zzzz{|{{{|{{zz{zzz{z{{z||{{|zzz{z{z{z{{||{{{{{||{{{{z{{{{{|{z|zz{z{zz|{|{|{{{{{zzz{z{|{z{|z|z{{{|{z{{{{{{||{|{{{zzy{||{{{{||{zz{zx{z|{|{z|{{{{{{{{{{{|{{|{|||{{{{z{z{{|{||{{{z{{{{z{{{|||{|{{{{{z{z{{{||{||{{{{{|{z{{|{{{|||{||z{{{z||||{|{|{{{{{{z{{{|||{|{|{{{|z||{|{|{~|}{{|zz|{||||||{|||z{|{{{}z|||||}|||z|{z{{|{{}{||||{{{{z{|||}}||}||z|{{|{{{{{{{}||{{z{{{|{{{{|||z|{||zz|{{||{{{{||{{|z{z{{{|||{~}~~}~~~}||||||{}||||||}|||{||{||||}||}|{{{{{{{{{|{|{}{|{z{z{{{|{||{{{|z{|{{z{|{{{z{|{{zzz{{{{z||{|{{{{{{zz{{{z{{z{{|{z{z{{{zzz{{{||{|{{{z{z{z{|{|{||{{{{{{{{zz{{||{z|{|{{{z{{{z{{{|{{{{z{{{{z{z|{{{|{|{{{{{{{z{{{{z{}|||{{{{|{{{{{{|||{{z{{{|z{|||{|{}{{{{{{{{}{|||||||z{{{{|{z||{||{{{y{{{zz{{|{|||{{{{|z{{{{{|{z|{|{|{|}{{{|{||||||{|zz|{{|{||||{|{|{|{{|{z{||}||}}{{{{{|{{{{}|{{||}{|{|{{{{z||}}}||}{{zz}{|{}|{|}|||{{{{{{{}}|{{}|||z||{{|||||{}{}|{|z{{{{|||||||}||||z|{z|{{|||}||{|{{{|{|||||{|||z{{|z{{z{|||{~}~}~}}}|{}||||~||~}}||{}|{{z|||}|{||||{{{}{z||{{||{}}{{zz{{z{{||{|||{{{{||{z{|{{{{|{{z{{{z{{{||{{{|{zz{{{{{{{|zz{{|{{z{z|zzz{||{{{|{z{z{zzz{|{|{|{{|{{z{zz{{{{z|{{{{{y{z{{{z{{{{{||{{z{{z{z{{{{{{|{{{z{{|{{{|z||{||||{{{|z{{{{|z{|||{{|{{{{{|{||{z}}{{{{|{z{|{{z}|{|{{zz|{{z|||{{}{{{z{{{{zz{|||{|||{{|z{|{{{{|{||{{{{{z{|{{z{||||{|z{{{{|{z||z|{{}~|z{{{{zz||}{|{||{{{{{{{||||{{||}{{|{{||||}|{||{}}{{{||{|{||||}}}|{{{|y{{||}||}}}|{|{|{{{||}|||||{{||{{{{||{{{||{{{{{|{{{|{{|{||{|{{z{{{{{{||{|||{{{z{|{{{{|{{~~~~}~}}{}|}}}|~}}||{}|||{|{|z{{||{|}||{{{{z{{{|||{{}{{{{{{z{y{|{z{|{{{{{z{z{y{||{{{|{|{{{z{zz{{z{{z{{{{zzz{{{{z{{{{{{zzzzzzz{{{{{{|{{zzzzzzz{z||{{{|{{zz{{{zz{{{{{{|{|{{z{z{zzz{{{{z{{{z{{z{{z{{z{|||{zzzzzz{z{||{|||{{zz{z{{z||z|{{|z{|{{{z{{{z|{{{{|z{{zz{|{{||||||z{{{{|{z{||{{||{{{{{z|zz{{|{{{}|{{{{{z{{|{|{{{|{|{{{z{|z{{|{|{||{{{{{||{{|||z|||{{{|{zzz{|||{{||{|{{{{z|||||{||}{{{{{||{{||{|{|{|{{{{|{z||{}{|}||z{z{z|||{|{|}|||{{{{zz{{{{|||{{{{{{{{|{z{{|}{|{{{{{{{{|{{||{{|{||{{{|{{||||{{|||z|{z{{{{{|{{~~~~~}}~}{||||||}|}|~}|{{|{{{|{|||{||||{{z{||{{{{z{|||{z{{{|z|{||{{{|{{|{{{{{z{z{z|{{z{{|zzz{{{|{{{||{{z{{zzzzz{{{{{{zz{{{yzy{z{{z{|{{{zz{{z{{||z|||{z{y{{{zz{{{zz{{|z{y{z{{z{{z{{{|{|{{{zz{zz||z||{{{{zz|z{y{{||{||{|zzz|{|{|{{{{{{{{{{{{z{|{|{{|{||zz{{z{{{{||{||||{|{{{z|{{{|{{||{{{{{z{zz||||{{||y|{{{{{{{{{{|{|{{{{{{{{{{|||||{|z{{{zz|{||{|{~||{z{||{{z}||||||{{z{|{{z{}{||{|||z{{z|{}{|||{{|{{}{{{{{{{{{}|||{{{z|{|{|{{|||||}|{|{{|{{{|}|||||{|{{{|{{{||{|{{||{||z|z||{|||}|}|||{|{{{||{{|{{|||{z|{{z{{||{z~}~~~~~}}~}}|||}}}}}}}~|||||{|{}|}{}{||{{{{|{{{{||{{{||z{{{{zzz{{|{|{||{z{z{z{{{{{{{||{{z{zy{yz{{|{||{|{{{{zzzz|{zz{z{{zzzz{z{{zz|{z|{{{{zzzzz{{z{|{|{{{z{zz{zz{{{{|{|{{{{{{z{zy{{z{{||{|{zzzz{{{{{{{{{zz|{z{z{{|{{{{|{|{{z{z{{{{{{{{{||{{|{z{{{|{{||{{{z{zz{{{|{||{|{{{||{{z{{{{z{}{||{{{z{{{{||{{|{}|{{{{zz{{{|||{|{{|{||z{{{{|{|{{|||{{{{{{|{||{|||||{{{{{{{{{|||||{{z|z{|{{|{|{|||}{|{z|{{{{{|||}{|||{{z{{{|||||||}{|{{{{z{||||{}||{{{{{{{|{{{|{|||{{{{{|{|z|{|||{|{{{{{{{{|{||||||{{{{{{{z{{{}{{|{{zzzzzzz{{||{~}}~|}}||||}}}}|}}}|||||{||{|}{}||}|{{z{{z{||||||||z{{{{{{z}||{|{{|z{{z{{z{z{{{z{{{{{{{zzz{{{|{{{|{|{}z{{{{|{z|{z{zz{{{zzzz{|{{|{|{zz{zz{z{{{zz{|{|z{z{zyzz{{||||||{{{zzzz{{|z{{{{|{z{{{{{z{|{{{|{|zz{z{z{{{|{|{|||z{{{{z{{|||{|{||z{{z{z{|{|{{||{}{{{{z{zz{|{|{}{{|z{z{{{{{|{{||||{{{{{zz{}|{{{||{{{{{|{{{z|{{{{||{{{z{{{|{||||}||||{zz{|z||{{{}|}{z{|{{{{|{{|||||{{z{{{|{{|||}||}{{|{{z|{|||}|}}|}{|{{{{{|}|{||}|{z|{y|z|||}}|{|{|{|{{|{|{{|{||{}|{|{{{{{||{{||}|{{{{{{{|||{{{||}|{{z{z{zz||||{|||z{|{{{{{z{{|~~~~~~}}}|}~~}}|}}||||{|{|}||||||}|{z|{|z{z|{{}|{~||{|{z{{{{{|{z{{|z{{zz{{{{{|{z||{{{{z{z{{{{|{{||{{{{yz{{{{{{{{|{{{{z{{z{{{{|{z|{{{zz{z{{{|||z{|||{||{{{z{z{{{|||{|zz{zz{z{{{{{|{{|{zz{{{z|{{|{|||{{{z{{{{|{|{||||{|{z{zzz{{||||{|{zz|z|z{{}|{|{||{{{{{{{{|{{|{{{{{{|z{{{{z{{{||||{{{|{{{{{{||{{}{||{{|z{z|{|{{{|{{z{{}|{{||}}|{||{{{{||{{}||||}||{{{{|{{{|||{||||{{{{{{{{|}||||}||{|}z{|{|||||}}|{|||{||{{{||{||}|||{{{{|{{{|||||{z{{||{|{{||{|}}||{{{}{||||}}|||||{{z{|{{|{|||{||zz{{{z{{{{||{||{{{{{{{{|{|{{~}~~~||}|}}~|}}}|||{{|||{}}|{|}|}|z{{{{zz|}|}||}}{z{z{{{z|{||{||||{|z{{|{{|{{{|{{|z|{{{z{{|{{{z{{|z{zz{zz{z{{|{{|{z{z{{|z{{|{{{|||zz{z|z{{{||{{||{{{{{{zz{|{|{{|||zz{z{{z{{{{z|{}zz{{zzz|{z|{||{{{z{{{zzz{|{|{|}{{{{z|z{{{|{|{{||||{z{{{|{{|}{{{|{{{{z||{|||{{|||{{{{{z{{{||||||{|{|{{{{|||}||||||z{|{{{{||{{|||{{{z|{{{{||}|||}|{{{{{{{|||{||||{|{|{zz{{||}{|{|{{{{{|{|{|}~{{|||{|{|{{{|||{||||||{{{{|{{|}}||}}|}|||||{{{}{}{|}{|{{{|{{{{{|}{|||{{{|||{|||||||||||{{{{||{}{||}||{{{|{{|z|{|||{||{{{{{{z||||||~~}}|}||{}}}}}|}}~{}||{||{|}{||}}{{|{|{z{{{||{|||}||{z{z{y{{|||||}|z{{z{zz{|}{{|{{{{z{{{z{{|{{{|||{|zyz{{z{{{{{{|{{{{{zz{z|||{{{|{{zz{yy{{{z{|{{|{zz{{{{{z{{{z|{|||{z|zz{{|{{{{{{{{{{zzzz{{{{|{}}|{{|{{z{{{|{{|{{{{{{{{{{{|z{||{||{{{{zzz{|z{|||||{{{zzz{{{}|{|{|{}{{{|z|{{{||}||{|{{z{{{{{|||{{||{{z{|{{{{|{}|||{{{{{z{z{{|}{|||{{|{{{z|{||{}|}||{{{{|{{{{|}|}{|||z{z{z{{|||{||||{{|{|{{{|{}}||||||{{{{{{{}|{|||||{||{{{|||{}|}||{{||||z}|{||||{}||z||{{||}||}|||{|{{||z{{|{|||{|{{{{{{{{{|{||{||||z{{z|z{{{{{~~~~||}}||~|||}{|~|{|{{||||{|||||{|{{{{{{|z{|{{{}}{{{{{{{z{{{{{|{{{{{{{{z{{{{{{{{{{z{zzzzz{{|{{{|{{z{{z{{z{{{{{{|{{z{zzzzz{{{{{{{{{{zz{{z{{|{{{||{{{z{z{{z{{|{{||{{z{{{{zz{{{|z{{{|{zzzz{z{|{{{|||{{z{{|zz|{z|{{{{||zz{{|{{{||{{||z{{z{{{{{{{{{||}zzz{{zz{|{{{{|||{{z{{{|z{{|||}|{{{|z{{{{{{{{{{{||{z|{{z{{||{{{{{{{|{zzz{{{||{|||{|{||{{|{|||}|{|{z{|{|{{|{{||z||||{{||zz}{|||{}|{{}|{{||||||{|||{{|{{||{|||||}||{|{|{{{{|{|}|||||{z{{||z||}|}||}|{z{z{{|||{||||}{||z|{{{{||{||}{{{z{z{{z{|{|{|||{{|z{z{{{|{{|~}~~}}}|||}|||}|}|||{||{z||{{|{|||z{{z{z{{{}||{{}|{||zz{z|||{{|{{{z{{z{{y{{{{{|{{z{{zz{zz{{{{{{z{{|{zz{z{{{z{z{{{{z{zzz{z|z|{|{{{zy{{zzzzz{{||||{{{z{{{z{|{{{z{{|{{{zzz{z{{{{{{||{|zz{{zz{|z{z|{zy{{{zz{z|{{{z{||{zzz{zzz||{{z|{{{|{{{z{{|{|{{|{||{z{z{{{z|{{{|{|{{{|zz{z{{||{||||{|{zz{z{{||{||{{zz{{{z{{||{|||{{{{z{z{|||{}||{|{{{|{{{{||||||{{z{{{{z{z|{}||||{|{{z{{{{||||||||{{|{z{{|{|{||||||{{||{{{{||||}{}{||{{{{{{|||||||{{{{{{{{{|{}{|}}|{{{{{{{{{{|||||{{{z{|{{{||}||{||{{{{z{{{{{{|||{zz|{zz|{{|z|{~~}}|}|}|}~~|}}}}}||{||z{||}{|}|{}|{{{{z{|{||{|||{{{{{{{{|||z{{{{{|{{{{z{|||{z{||{{{{zz{{{{{{z{|{{{{{z{zz|{z{|{{{{zz{zz{z|||{{|{|zz|z{z{{|{|{z|{{{zzzzzzz||{{{|||{{{{{zz{z|{z{||{z{z{{{{{z{z|{|{|zzz{{{z{{{{|{|||{z{z{z{{||{||{||{{{zz{{|{}|{|}||{{{{{{|{||||{|{|{{{|{{{|{}{||{{||{{z{{z{|{||||{||||{{{{{{{{{{{{|{z{{|{|||{||}{|||{{|||||||||{||~||z{{{{{{}|||}|||{{{|{{z|||||}}}{{|{{{{|{}||}||||{|{{|{{{||}|}|||{|}{|{|{}||{||{|z{|{z{{{|||}||}|{|{}{{|{{|||||}{{{{{{{{|{|||||}|{|{{z{{{|{|{||{{z{|{z{{|{{|{~~~~~~~{}|~|{~}|||}|}}|}{|}}{|{||{|||||{||{{{|z|{{{|||{{{z{{z|||z||{||{zz{{{z|{{{{z|{{z{{{zzz{{|zz{|z{{{zz{yz{z{{{|{{{zz{{{zz{z{{{{{{z|{zz{{z{|{{|{||{{zyz{yz{{{||||{z{z{{{{z{{z{{{|z|{z{{{zz|{{z|{|{{zz{z{y{{{{{{||z{{z{{y{z{|{|{||}z{|{{z{zz{{|{|||zz|zyz{{|||{{{}||{{|{{zy{||{|||||{{{z{z{|{{{{|{||{{{{z{{||{|z|{||z{{{{{{|{{{||{|z||{|{{{{|{}{|||{{|z|{{{{||{||||}z{{|{{{|}||{|}|{{{{{||{{|{{||||||{|{|{||||||||}|||{{|{{{||{|||{|{{|{|z{|}|||||||||{|{{{|}||||||{{{{{zz{z||{|||}{|z{{z{{{||{{||||{{{z{{{{|{|{~~~~}||{}}|}}}}}|}}zz||{{||||||||}{|{z{{z||||||||{|{{z|zz|||{|{{|{|{zzz{{{|{{{{{{{{|z{z{{{|{{{{{{{{{{{z|zzz{{{z{{zzzzzyzz|{{{{{||{{z{{z{{{{{||{|{{{zzyz{z{{z|||}z{{{z{zz{{{{{z{|z|{zz{z{{{{{y{||{zz{{{|{{{{{{{z||{{{zz{{{z|{||{|{{{{{{z{{|{{{{{|{{zzzzz{z|{|{||{||{{{{{{{{||{{|{||z{z{{z{{|{||{{|{z{{{|z{|||{|{{|{{{{{z|{|{|||{||z{|{|{|{||z||||||zz{z{{{||||||||{{{{|||{||{|{|}{{{{{|{{|{|{||||{{{{||{{{{}||||||||{|{|{{{{}{||||{{{{{{{{||||||{~|{{{{{{{{{|}||{}{{{{{z{z{|{||||||{z{{|{z{||{{{|}{z{zz{|{||{{z}~~~|}}}}|}~~~|}}~~}||{{|{z}||||}||||||{{{|{||{||}|{|z{z|{{{{|{|{||{{{zz{{{{{z{z{|{{{{zz{zz{{|z{}{{{z{zz{y{{z{z{{||{{{{{{z{{{{{{{{z|z{{zzz{{{||{{{|{z{{zzz{{{{|{{{|z|{{{z{z{z|{{|{|{{{z{zzzz{||z{{{{{zz{{{{{{{|{||{{{{zzz||{|{{||||z{z|{y{z{{{{||{}{{|{{{{z|{{{||{|{{zz{{{{z|{|{|||{{{{{zzz{|||{||{{|{{z{z{{|{{{|{{{{|{{{{||||}|||{{|z{{|{z{|||||||{{{{z{{{{{}{|||||{|z{|{z||{{|||||z{{{||{{{}||||}|||{z||{||{|{|}||{{{{z}{|{}|{}|||{{{{|{||||{||}|||{||{{|{{||}|}}{|{{{{{{{{{|{}{|||{{{{{{{{|}{{|{{z|{{{zz||{{{~~}}~}||}|}}}}|~~}|||{||{{||}{|||{{{||{{{z||{{|{}|{{zzz{|z{{}{{|{{{z{zz|{z{{z{|||{|{|{z{{{}{{{||{||z{z{{{|{{||||{{{z{z{{{z{{|{{{{{{z{{z{z{{{{||||||{|yz{z{{{{{{{||{{zzzzz{{{{z{|{||{{z|z{z{{{|{|{{{|{{{{z{{{z{|{{|{{{{{z|{|{{|||||{z||{z{z{{|||}{}|{{{{|{||z|{|||}||{z{{{z|||||{|{{{{{{{{{{|{|||}{{|{{{|{z{|||{{|{{{{z{{z{{||{|}|||{{{{{{{||{|||||{{{{z|{z||||{}}z{z{{|{|{|}|}{}|{|{{{{|||z{||{||||{||{|{|{|||}||||||}z|{||{|||||}{|{{{{{|{|{|||}}|{{|{{z{||||}|{|{z{{{|z{{|{{{|||{{{{{||{{{{|{z||{{{{{{z{{{|||~~~}}|}||}}|}}}}~|}{z{{{z}|{|||~|{zz{{z{{z{|||{}||{{z{{{z{{||{|{|{z|z{{{{||{{{|{{|zzz{{z{{{{{{|{{{zzzz{z{{{{|{|{{{z}{zz{{{|||{{|}zzz|{{{{{|{|{|{|{||{{{z{{|{{{{|{{z{|{z{z{z{zz|||{{{z{z{z{|{{||{|{z{{{{z{{||{|{}||{{{|{{||{||||{}{{|{z{{|{|{|{{}}|z{{zzz{||{{||||{{{{{z{{{|{{|||{{{|{{{{{{{|{|{|{{|{{z{zz{{|{|{||||{|{}||||||||z}{{|{{|||||{|}{}||{{|{{{{|||}{|{{|{{{z{|{|}|{||||{{||{|{{{|{}|}|}}{{{{{||||}|}}}||{{|{{{|}{|{||{||{zz|{|{{{{||||||{{{{{z{{||||||}{{{{{{{{{|{{{|}||z{{z|}{{|||||||{{|{|z|{|{|{{~~~}}}|}||}}}~|}}|}|||{}|||}|{|}|}{||{{{|{|{||||{|}{{z{{yzz{|{{||{|{|zzz{{{{||{{{|{{zzz|zy{{}|{z{|{{z{z{|{{{|{{{|||z{z{{zzz||||{|||{{z{{{{z{{{{{|||{{{{z|{z{{{||||}|{{{{yz{{{z{{{{{{{{z{{{z{|{z{|||zz|z{{{z|{{||{{||{{{{z{{{|||{{|{{|{{{z{{{|{||||}{{|{zz{z{||||{||{{z|{z|{z{|{{{z|{{{z{{{z||{||{|{|{{{zz{{{{z{|||{z{|{zz|{||||{|{|{{{{{|||{{{}||}}|{|{{{{{{|||}{||{{{{||{|}}|||||||{|{{||z{}{|}||}||{|{{{|||{||||}{||{|{||{||}||}||{|{{{{|{}|}|||||{{{}{{}|{||{|}|{|{{||{{{|||{|||||{{{{z{|}{}|z{|z{{{{{z{|{{||~~~~}~}~}}}}}}|}~|}}|{|||{|{||{}||}||{{{{{{|||||{}{|{{zz{{{{z|{{||}|{{|z{{{{{|{{{{{{|zz{{zzz{{{{{|{|{z{zzz{{{{z{{||{yzzz{z{{{{{{|{|{{{{zz{zz{|{{{{|{{{{z{z{{|{{{{{|{z{{{{zz{z{{{{|{{{{{{zzz{{{|{{|{|z{{y{{{{{}{{{{{{{{|{{y{z{{|||{{|{{{{{{z{{{z{{||}z{{{{{{{{|||{|{||{z{z{{z{||{|||{|{{|{{{z{{|{{|{|{{{{{{{{{{{{||||{|{zzz{z|z{|||||{|{{|{|{||{|||||{{z{{{zz|}|{|||||{{{{{{{|||||||}{z|z{||z{{|{{{|}|{{|{|{|{}{{|}}||{}||{{{||~}||{||{|{|{{{z}{|{~}}{{|z{||||{|}||{|z{{{|{{{{{{|{|}||{{zzz{{{|||{|}{{{{||z{z|||{|~~}}||}}}}{}~|}}||}|{|{{{|{||}|}}}|||{zz{|{{|}||{||{{{{{{z{{|}|}}|{{z{z{z{|z{z{{|{{|{{{{yz{|{}{|{{{|{{{zzzz{z{|{||{{{{z{z{{z|z{{{||{zzzzzz||{|{{|{|{{{{z{zz{{{|{|{|{{z{{zz{{|{zz||||{{{{{{{y||{{}{{{{zzz{zz|{||{{|{{{{z{zz{{{{{{||}{{{zzz{z{||{{{||{zz{{{zz||{{{{{{{{{{{{|{{|{|{|}{|z{z{{{{|{||{|||{{{{{||{{|{{{}{|{{{z{|{{|||||{|||{{{{{|{|{|||}||{{{{{{z{|{{}|||||{zz|z|z|||{|}}|||||{|{|{|{}||{||||{||{||||{|}}||{||{{{|{|||}~|{||{{|z|||{||{|||}|{{|{||{|||{||||{|{|||{|||||||||{{|{{{{{||{{||||{|{zz{{|||{|~~~}||}}|||}}|}}}}||}|||{{}|}|||||{|{{{{{{{{{}|{||{{{{{|{z{||{{{||{{zz{{|z{{{{{}|{|{{{z{zz{z{{{{{{{{{{{z{|{|{|z{{{z{{{{{z{{{{|{|{||{{{z{zz{{{{}|||{z{z{z||{|||{{{|{zz{{{{z{{|{{{||{{{|{zz{z||{{{{|{z{{{{zz|{{}{||||{{{{{{z{{|{{{|||z{{{{z{{z|{{{||{{{zz{{{||{{{|{|{{zz{z{{{{{|{|{||{{{{|{z||{{|{}|{{{|{{z{}}{{|||||{{{{{|{||||{}||{||{|{||||{||}|}|{{||{z{{||{{||{|{{}{|{{{|||}|}{{|||||{{|||||}|||{{||{{|{||||}|||z{{{{{{||||||{||{|{{{{{|||{|||}|{{{|{{|||{|}}||{|{z{|||}}|{|||||}{|{{{{|}|||||||z{|{{{{|||{|~~}~}|}}{}|}}~}}}}||{|||{{}|||}||~|{{{{zzz{|{||{}|{{{{z{{z|{{|{|{|zz{{{zz{{||z{{{{{z{z{z{zz{|{{{{{{{{z{{|z{z{{||{{{z{{{{zz{||z{{|{{zz{zz{{{{zz|{z{{z{{{z{{z{|z{|{{{{{{{{{z{||{{{|{|zz{{z{zz{z{{{|||{z{{|{y{|{|}|||{{z{|zz{{}||{|||{{{{zz{|{{{|{|||{z{z|z{z{}{{{||{z{{{{{{{z|{{{|{z{z{{z{|{{||{{{{|{z{{{{|{{{}{|||{{|}z{|z|{||||{{}||{z||{{|}|||||||{z||{zz}|||}||}|z{{|{{{{|{||{{||{z|{||{{||||}{||{{z{||z{}}||{}|||{{{{{{||||{|{|{{{{{{{{||{{|{|||{{{|z{{|||||||||{{zz||{{|{|||{{||z{{{{z{}|||||{{{|{{{z{{{{|{~~~~~}|{{|{||||}}|}|{|}{{{{{{}{|}{|||{{{{{{z{{{{|{y|{||zzz{z{{{|{z|z{z{{zzz{zz{{z{{|z{{{zz{{z{|{{{||{{z{{z{{z{{z{{{{{{zz{zzz|{|{z{{{{{z{zzzz{{{|{{|{|{z{z{|zyzz{{{{{||z{{|{zz{zz{{{{|zzzz{zzzz{z{{|{|{zzz{{zzz|{{{{{{{z{z{z{{z||{{|{{{z{z{y{zz{z{{{{|{zz{{{{z{{{{{||{{z{{{|zzz}{{{|{{{{{{z|{{{{{|{{||{{{{{{{||}{|{}|{{|{{{{{{{{||{}||z{{{{{{|||{||||||zz{{z{{z{{|||{{|{{{{z{{{|{}{|}|{z{z{||z|{{|{||||{{{z{z|{}|{|||||z|{{{{{|||||||{|z{{{{{|||||}||||z{{{|{{z|{{|||{|{{z{{|{{|{{}{{|{{{z{z{z{|z{|{{|{z|{z{zz{{|{|~~~~||}}}||}~}}|}|}}{||{|z|||{|||||z{|{z{|{}||{|}}||{z{{{z{{{|{||}{{{zz{{{{{|{{{{{|{zzz{{{{||z{||{{{|zz{z{zz{{{|{{{zz{zzzzz{z{{{|{zzzz{{yz{{|{{{{{{{|{zzz{{{|{|{|{{{y{z{{z{{|{{{{|{{|zzz{{z{{{{{z{{{{|z{{z{|{||z{|{{{{{zz{|{|{{{{||z{{{z{{{{{{{{{|z{{{z{|{|{{{{|||{z{{{{{{{{|{{||{{{{{{zzz|{{|{|||{{{{z{z{z|{{{{{{{{{{{z{{{{|||||{{z{{|||{|}|||{||z{{{||{{z||{||||{{{{|z{{|||}}|}{{{{{||{{{|{{{||||{|{{{{{|{}|}{|||{||{|{|||||||||z{{{{{z{{{|||{}{|{{{{z{|{{|||||{{{|z{{{z{{{|{|{||z{{{{|{|||||||{z|{{{z{{|{{{|~}~~~}}}{}||~|}}|}}{}|{||{{|{{||||||{||{{z{||{|{{||{{{zzz{z{{{|||||zz{{z|{{{{{{||||{{zzzz{{{{|{z||{|{{zz{{{{|{z|{{|{{z{{zzz||{|{{{zz|{z{{zz{{|{|{|{{{||zzz{{{{{{||{zz{z{zz{{{{{|{|{{|{{zz{z{|{{{{|{{{z|{{{z{{{|z|}|{{z{{z{z{{z|{{{|{z|{z{{{|{|{|{||zz{{{{{{{{{{||||{{{{{z{z{{|{{|||{{{{||zz||||{{|||{{{z{{z}|||{{||{z{{{{{{|{|{||||z{{{{{|z|{{}|||{|{{|{{{|||{||||||{zz|{{{||{|}|}|{|{{{{{|}{{||{}{|{{|{|{|{||||}}}|||||{|||{{|||{||{||{|{||{{||}||{{z{|{{}|||||||}{{{zzz|z{|{||}||{{{{{{{|{{||{{{|{{|{z{{z{||{{~~}}}~{|}}|}||}}}}|||z|{|{}{|{|{}||{{|{z{{{{||{{|{|{|zzzzz{{{|||{|{{{z{z{z{{||{{|z|{{{{{z{|{|{{{|{z{{z{{{{{{z|{|{{{z{zzz{{{{{|z|{{{{zz{zz{|{|{{||{z{zzzz{z{|z|{{|{{{{{zz{z{|{{{|z{{{{z{{{z{{{{{||{{{z{{|{|{|{|{{{|z{zz{zz{{||{{{{{{{{{{z{z{{|{{||{{{{{z{zzz|{|||{|z{{|zz{z{|{{||{{{z{{{||z||}{{{||{{|{zy{z{{|{||}|{{{z{zz{|||||}}|{{{z{{{{{|{{||{{z{{{{{z{{|{|}|}||zz{{|{{{|{{{||||{|zz|{zz|{|||{||z{|{||z{|{|{||}{|{{|{|{|||||{|||{{{|{{|{{|}{|}||{{|||{{|{|{}||||{{{{{z{|{{|{||{{|{|{z{{|{{{{{|{{{{z{zz{|{|||~~}}}}~}}|{||}}|{}}|}|}{||{{{|||{|}||{{{|{{z{||||{{||||{{{{{z|{|||||}|{{{zz{z{{{{{{||{{{{{{|{||z{{||||z{{{{{z|z{{{{{|z{z{{z{zz}|{{{|{{{{{zz{{{{|{||{{{{{{zz{z|{{{|{{{{{{z{zzz{||{z{|{{|{{{z{zz|{z{|{{{zzzz{{{{{||{{||{{{zz{{{|{|{||||{{{{{{{z|z{|{|{{{{|z|z{|{{||{{}{{z{{{{{{|||{|||{{{|z{{|{|||{|{|{||{{{|{|{|{|}}||{{{z{{{{|}{|||||{{{|{z{{{|||{||||{{{zz{z{}||{||||zz{{{|{|}|{|}||{{}{{{|{{|||{||||||{{{{{|}||||}}}{|{{{{{}|}{||||}{{{{{{|||{|}||}|{{{|{{{|||}||||||{{|{{{z||||||||{z|{{{{||}|{{{|{{{{{z{{{{{|}~~~~~|~~~|||}}}}}}|~}||{{|z|{|}||}||}|z||{{zz{{||{{|||{zz{z{{{{||{||{{{{{{{{z|||z{||{z{{zzz{{{||z|{|{{{{z{z{|{z{|z|{|z{{z{{{z{|{||{z{{{{{zzz{|z{{|{{|{z{{{{{z{|{{|{|{{{{z{{zz{{{{{||{{{z{z{{zz{{{|{|{{z{{{{zz|{{|{|||{{{{{z{{||||{|||{z|{z{zz||{{|||{|z|{{z{{{{{{{|||z{{{|z{{{{{{|||||{{{{{z{{{|{|||||{{|{{{{||||{||}z{{|{{{{{{|}||||{{{{{|{{{|{|||{|{{{{{{{z||||||}{|z{{z{{{|{{{||||||||{|}{{}{|}{|||{{||||{{}{}|||||{|{z||{||||||||}{{{{{|{||||||}|}{{{}|||}||||||||{|{{|{z|||{||||||{|{{|{|{{{z||{{|{{|z|{||||{~}}}}|}}}}|}|||}|}}}|{{|{|{|||{{{||}||{z{{{{{{||{|||{{zz{{|z|}||{{|||{zzzz{{{|{{{||{|{{{{zz{|{{{|||{{zz{z{{{{{{{{{{z{{{{|z{z{{|{{{|{{{z{z{zz{{||{|||{{{{{zz{{{{|{{{|{zzzzzzz{{{z{{{{|{zzz{z{z|{{|{|{{{{zzzzy{{{{{{||{z{zzzzz{{{|{{{|{z{|{{{{{{|{||z}{z{zzz{||{{{{|||{{{{|{{{{|{{||||{{{{{{{{{{|{|{|{{{z{{{z{|||{|}{||{{z|z{{{{||{}|||{{z{|{|{|||}}}||z{|{{{z{||||{||}z{{{{|{||{{|~}|{||{z}}{|{|||||||{{{{{{z{}{{||}|{|||{{{{}{{||}|||{{{||||||||}|{||{{{{{{{{{|{||||{}zz||{{z||{|{}|}{{{z{{{{{|||{|||{{{z{{{{{|{{~~}~~}|}|}}{}}}~}}}}}||}|z{{{}|{||{||}}{{|{{{{{{|||{||{{{{|{z|{{|{{||{{z{zz|z{}{{{z|{{z{{{zzz|{{{||{|z{{zz{{{{{{{{{|{{zz{{zzz{{{|||||{{{zz{zz{{|||||{zz{zyz{z{{|{{{{||z{{zz{{z{{|{|{|{{{z{{{{{{{{{|{{z{z||z{{z||||{{|{|{{{{|z{|||{z{{{yz{|{{{|{{||{|{|{{{zzz{|{|{{{||{{{{{{{{|{{{}}{{|{{{{{z{{|||{|~{||{{{z{{{{||{|||{{zz||{{|{||{||{z|{|{{{|||{{|{||{{{{|z{z{||||||||{{||{{||{||{|}{|{|{{z|{{|{{|}}||{{||{|{z}||}|}|||{|{|{{{|}|||||||{|{{{}{|{|||}|z|{||{|||{|}|}||{{{{{|{{||}{|{|||{|z{|{{||||{|{|{{{{{{z{{{{||~~~~}}~|}}{{}||}}|}}||{{|z|z|{|||}|||||z{{z{z|{|{z||{z{z{{z{|{{|{|{|{z{zzzz{z|{{{{{{z{{{{z|z|{|{{|||z{|{zz{{zz{{z|{|z|zzzzz{{{{{{||z{{z{zz{{{{{|{{|{{{{{{{{{{{{z|||{{{{{zz{zz|zz{|{{|z{{|z{{{{{{|{{|zz{{|z{{{|{||{||{{{|z{{{{{{{||{|{zzz{z{{{{||{}{{{{|{{{z{||{||{||{{{{{{{{{|{|{|||{{z{{||z{{{{|{|||{{{{z{{||{{||{{|{{|||z{||}|{|||{{|z{{{{|||z|{|}|z{{{{z{||||{{||{z{z{z|{|}{{||||{{{|{|||||{{|}|}|{{{{{{{|{|||||||z||{{{||||||||}{{{{||{z|}{{}|||{{{|{{z|{{||||{}{|{{{z{{{}{{||}{{{{{|z{{{||{{|{||{{{z{{z{|{{{}~~~~~}~}}|||}|||{|||}||}||z||{{{|{||{|{|{|{{{|{{|{{{{{||{{{{{zz{{|{|{|{}z{{{{{zyz|{{{|{|{{{zz{zz{{{zz{{zz{{{zz{z|{|{z||{{zzzzyzz{{{{z|zzzzz{zzz{{{|{|{|{{{z{z{{zz{|{{{|{zz{z{yzz{z{{z|{{z{z{z{{zzz{{{{{|{z{{{zzzzy{{{{{|zzzz{{{{y||{|{{{{{{{zz{z{{{z{||{{{{{z{|{{|{{{{|{{{{{zzz{{{{|{||{{{z{{zz|{|||{{}{{{{{{|{y|||{{{{|{{{z{{z{{||||||{{zz{{{{|||||{|}||{{{{{{z{|||{|}{{{z{|{{{|||{||}|z{{|||{{{|{{|||}{{{{z|{{{|||}}|}|{||{{{{||||||}||{{{{{z{{||||{|}{{z{}{{{{{|{|||||{z{|{|{{|{|||||{{yzz{zz{{|{|{|||{{{zz{{{{|{|~~~~~~~~~}|}||{|}}}||}}~}|{|||{|{}||{}{||{{{{{{{z{|||{}{|{{{{z{{y{{|||{{|{z{zz{{zz{{{|||{{{|{zz{{{|z{|z{{{zzzz{zzzz{{{{|}|zz{zzzz{z||{{{|{{z{{{{{zzz{{{{{|{{z{{zz{|z{{{||{{z{yzzzyz{{{{|z{|zzzz{{{{{{{|{{{{{{{z{z{|z{||||{|{{{{{z||{||}|}|{{{zzz{|{{{|{||zz{{z{z{{|||{{{|{{{{{{zz{|{|z||{|z|z{{{{{{|||{||y{{||{{{{{{|{|{|z{||{{|{||{|||||{{{{{z{|{|{|{||}{|{{|{z{{||||||{{z|{|{{{|||{{}}||{{{|{{||||}|}}||||{{{|{|}{|||||||||{{|{||{}||}|{z{{|{{|||{||{}}|{z{{{{||{z||||}{{z||{{{{||}|||||{|z||{z{|||||||{z|z{{{z{{|{{~}}~~~~}~}}~}|||{}|}}}||}|{{{{{{{|{|||||{{{|{|zz{|{|||{{{|z|{z{|z{{{|{{z|{{|{{{{z{{|{|{z||{zzz{zz{z{{|{{{|z{{{{z{|{{{{|{|zz{z{z{y{z|{{{|{{{{{{zzz{{{z{||{{z{{zzyz{{{{{{||{{{{{zz{{{|{{|{{z{zz{{{z{{|z{|{||{zz{{{z{{zz|{{|z{{{|z{{||{z|||{{{{zz{{{|{{{||{|z{{{{z{{{||{||||{{{zzz|z{{|{{||{{{{zzzz{{||{{|||{{{{|{{{{{{||||||{z{|{{z|{|}||}{{{{{{{|z|}{}||}|{|{|{|{|{|{||{{|{z{{{{{{||{{{|}||{{{{{{{{{{{||||||{{{|{||}||||}|{{|||{{z{|~}|{{}{|{{{{{||}|{{{||||{||{{|{{||||||{{|{{{{{|||{|||||{{{{{|{{}|{{{||{|{z{|{{{{z||~~~~~~~}~}}||||{||}}||}||{{|{{||{{{||||{}z{z{z|{|{{|{{|{|{{z{|{{{||{{|{{z{{zz{z{z{|{{{{||{{z{{z{{|}{{|z{z{|{zzz{{{{|{{||{z{z{{{z||{{{||{{zzzzzzy{|{{{{{|{{zzzzzy{{{||z{|{z{{{zzz{{{{{{{z{{z{zzzzz{|{{{|{{{z{{zz{z{z}zz{|{z{{{{{z{{||{{|{zzzz{z{z{|}{{||||{z{{{{{||{{|||{{{{{{z|{{|{{||}||{|{z{z{|{||{|}|{z|||{z{z}{{{|{|}{{{{|{{{}||||}|||{zz|{{{|||||||{z{{|{zz|||}|||{{z{z{{|{||{||}|||{|{{||{||{{}||}}{{{{{|{|||||}|}|{{{||{{}|}{{{}|{z{{||{|||{|||||}|{|{{{|{|{|||||{{{{|{{z{|{||||||{{{{{{z{|{}{|}||{{z{|{z|}{||}}}}~~}}||}|{{{}|}|}~}|||{||{||||}|}||{{||{{{z|{|{{|{{|z||{{|z{|{{||{|{{{{z{zy{{{{{|||{{{{z{z{|{|z{|{{{|{||zz{|{z|||{{z{{{{zzz{{{||{||z{{z{{z{|{{{}{|{{{zz{{z{||{|{|{|{z{{zzz{{{{{{{|{{{{{{{|z{{{|{{||{{zzz{zy|||{{{|{|{{{{{z{{||||{||{{|{zz{||{{||}}{{z{z{{{{|{{z{{|}|{{{|z{{{{|||||||{||{z{z|}|}||||{{||{{{|{{|{{|{|{|z{|{{{{|||}|{|{||||{|{|{|}||}|{{||{{{{|||||||{|{{{{{{{{||{|||}|{{|{{{|{}|||}|}|{|{|{|{{}}||}|||{{|{|{|||}|||||{|z{{|{{|{|{||{}|{|{{|{||{{|{||}|}{{{{{{|}|||{|{||{{{{|z{|||{}|||{{{z{{{{||{|~~~}~}}~~~}}}|}||}||||}}|}}||{|{{|{z}||{||||}{|{{zz{{{{|||||{{{{z{zz{{||{||{z{{zz{{{{z|{|{{||{zz{{z{{{{|||{{{zz{{{{{|{{{{|{|{{{{{{{{|{||{{{|{z{{{{zz{{{{|{{{{{{{{{{{|{{|{{{|zz{{{z{z{{|{{|{|{{{{z|{{||zz{{{|zz|z{{z{{{||{|}{||{z{{|{{||{{|{||{{{{z{{{{|||||{{{{|{{{|{|||{{||{z{{|z{z{}||}||{|{{{{{{z||||{|}{}{z{{z{|{|{|{|{||{||{{|{||{|{|||{|{|{z|{||{|z||}|||{{{{|}|||||}|z{{{|{{{||||{{}|{{|{z||{{}|||||{||||{{|{|~|}|{|||{|{|{||{|~}|||{|z|{||{{|}{{{|}|}{{{||{{{{}|}||||{{{{{{{{}|||}{|||{{{{{{}|||{||{{{{z|{{{{||{|~~~}~~~~~~~}}}}|}{|}}{}{}||}||{{{{|{|{|{}||||{{|{{||{|||zz}{|{||{zz{{|||{||{{z{{z|{{|||{|{|{|{{{|{{{{|{{{{{|{z}{{{z{{{{|{||{{{z{z{{|{{|{|{|z|{{{{{{|{|||||{{|{{zz{{{{{{{{{{|{zz{{{{y{{|{|||{|{{zzzz{z|{{||{|{{|z{zz{z{||{}||{{{{{{{{{|{{{||}{z|z{z|z|{{}||{|z{{{{{{y{{|{||}|{|{{|{|{{{|{{|{|{{{{{{|{|{||||}{|{{||z{z|{{z{|{|{{|{{{{{|||||}{|{|||{{{z|}{|||||||z|{zz{|||||||{|{{|{{|{|}{||||}||{{{}|||{||||}||{|{||z||~|}|}||}{{{{|}{|{||}{}||{{||||{|||||||}|||}|{{{||{|||}||z{{{{{{{|||||}|||z{{|{{{|||{}}|{{|{zz{z|z|{|~~~~}~~}}~~}~}}~}|||}|{||}{|}|}}|{|{|||{{|||}}|||{{{z{{|{{|{{|||{{zz{z{{{{||{|{|z{{{{zz{{{{{{||{{{{z{{{z||{z{{|{z{zzy{{{{{{{{{{|{z{{{zz{{{||{|{|{{{z{zzz{|{{{|{}{zzzzzzz{{||{z{z|{{{zzzz{|{{{z{|{{{z{z{{z{{{{{|{{{z{z{zz{z{{z{{{zz{{{z{z{||{{||}{{{z{z{{{{{{{}{|zzz{{{{{|{{{{{||{z{{|z{z{|||{|{{{{z{{{z{{{||{{}{{{z{{{z|||{{|||{|{{{{{{{{{|||||{{{{z{{{{{{{|{|{|{{z{{{zz{|{||}||{{{z|{{z{|{|||{|{||{|}|||{{{|||{|z{|{{{{}}|||}~|{{{|{{{{|||{||||{|{{{{{|}||||||{{{{|||{||z||||}|{{{zz{{{|{||}|||{{z{{{{z||||{{}{z{|{zz{|{{|{{~~~}}}|}}|}|}|||}{{{|}}}||}|}|{{{||{|||||||||{{{{z{{|{||{{}|{{zz|{{{|{{z}{{|||{{{z{zz||{{||{|zz{{zz{{||yz{||{{{zz{y{{{{{{{||{{{y{z{{{{||{{|{{{{{zzz|{zz{|}{{{{{|z{{z}|{{|{|{|{{|{z{zz{|{{zz|{{z{zz{{z{z{|||{{{{{{{{y|{{{{{||z{zz{{{|{|{{{|z|{{{zz{z{{{{{|}{|{{z|z{{{{{{{{{{{|{{{{{{{{|{|||{{{{{{{z{|{{}||{||{z|{{zzz{|{{|{{||{{{|{{{{{|}{|}|{{{{{{{{|{|{|{{|{{{{{|{{{|{|}}}}|{{||{{|{|||{{||||{|{|{{|{||||}|}{{{{{{{{|}|}||||{|{|{|{|||||{{}|z|{{|{|||{||||}|{zz|{{}|{||||||{{z|z{{z{|{}{}||||{zz{zz{|{||||||{|{{{{|{{{{{~}~~}}}}~~~|}~}~||~{|z}|}|||}||{||}|{{|}|{{{}||{|{{z{{{|{||||}||{{{{z{|{|{{{{}{{{zz{{zz|{{{|{{{{{z{z{{{{{{}|{{y{zz{{z{{{z{{||{{zz{{yzzz{|{{|{{{{{z{{z{{{{{|z{{{{{{{z{{{{|{{|||{zz{{{{zz{{{{{|||{|zzz{{{|{|{|{|zzzz{{{z{z|{|{|{|zz{{{|{|{{|{{||{{{{{{z{z{{||{{|{||zzz|{{|||{||{{|{|{z{{{|||{||{{z{{z{{z{{|{{|}||{yz{{{{|||{||||{{z{{{{z{{||{|{{{|{{{|{|{||{{{}}|{{z{z{z||}|}||{|z{{{z{z}|||||||z{|{||{{||||}|}}{zz{||z{{}{|||}|{{|{{|{{||}|||{{{{|||{{{|{{|||}||{{{{{z{|}}|||||||{{{|{{{|{{|||{{|{{{{{{{{z||{|{{|{{{|z{{{|{|~~}~~}}~}|}}}}|{|||||||}{||}}|{{z{z{||||{|}|||z{{{zzzz|{{|{{|{{{zz{{z}{{|{{|{z{|zzzzz{{z{||zz{{{z{zz{{{|{{{z{|{{zzz{z{{{zz{{{zz{{zz|z{z{{{|||{zzz{zzzz{|{|{{|{{{{z{z{{{{z{{|}zzzzzz{z{{{{||{{{zz{{{zzz{{z{||{zz{z{z{z{{{{z|{|{{{z|zzz{{|{{|||{z{{{{{z|z{{{{||z{{{zzzz{{{|{||z{{{{{z{z|{{{{{{||}{zz{{{||||{||||zz{{{{{{||{{|{{{|zz{{{{{{}||{||z{|{z{{z|{||{{||{{{{{{{{{|{}{|||{{{z{z{z|{||||}|{{{z{|{{||{|{||||{z{{|{{{|||{|}||z{|{z{{||||{{||{{|||{z{{|||||||{|{{{z{|}|||{|||{||{{{zzz{|{{{{|{||z{{z{|||{{{|{{{{zzz{{{||{|~~~}~|~}}}~~~~}{}}||}}}{|{|}{}|||}{|{{||{|{|{{}||||{|{zzzz{{{|{{{{|{zzz{zz{|{{{|{|zz{{z{{z{{{z{{||{{zz{{z{|||{z{{{{z{z{{{z{{{{|{||{z{zzzy{z|{{{{|{|{{{{zz{z|{{{|{{z{z{{zzz{||{|{||{{{z{{{z{{zz{z{{{{{z{{zz{{{{{{{|{z{z{{{z}||z{{}{{{{{zz{{|{{{{{{{|z{{{{|{{{{|{|||{{{{zz{{{{{{{||{{z|z{z{{||{z||{{|{{{{{{{{{{{{{}{z{{{{z{|{|{z{||{{|{{{{{{{|||}|||{|{|{|{|||{|{|}|{|{{{{||{||{|||||{{|z||z{}{|}{{|{z|{{|{{||{{|||{||{{||{{z}||}||}|{{{{|zz|{||||{|{{{{{{{|||{{{|{||{z{}{z{|{||{{||z{{{|{z{|{|{||||{{z{{||z{||}{}}{zz{y|z{z{|{|{~~}~~}}|||}~}}}~|||||||||}|}|}}|||}|{{||z|{{{{|}||{{{z{{{{{|{|{{{|||{{{{{{{{|z{{{{{{zzz{z{|||z{{|{z{z{zzz{{{z{{{{{{z{zy{z{{{{z|{|{zzz{{{z{z{{{||{z{{zz{zz|{{{{{z{z{{zy{z{z{|{||{|z|{{{{zz{|{{z{|zz{z{zzzz{{|z{{||{{|z{{{z{{{||{|{|z{zz{{{{||{|||{{z{z{{{{{{z{{||{zz{{{{z|{||z{|||{z{{{{{{|||{{|||{{{zz{z{{{|{||{|{{z{{{{{|{{|z||{{{{{{{{{|{|}||{|{{{{{|{z|||||{||{{{{|{z{||{|||{||{z{{z{||}||||||{{{|||||{||{|}|}|{|{{|{{{}}}|}||{|{||{|{||{|{{{||{{{|{z{{||{|||||{{{|{z{|||{||}|{{z{|{{z{|}|||||||{{{{{{|||{{||||{|||{zz{|z{{~~}~~}||}~~~~~}~~||||{{{||}|}}|||||z{{|{||||||}|||{|{|z{|||{|||{{{{{zz|{{|{|{{|||{|{z{{z||{|{|||{{{{{{zz|{|zz||{{{z{z||z{{z|{||{z{z{{{{{{}||||{{{|{{{z{{{{{{|{{{{{{{zzzz|{{z|{|{{{{{{zzzz{{{|{{{{{{{z{zz{{z{{|{|{{{{{{zz{|||{|{{{|{{{z{z{||||}|}z{{{{{{{||{{{||}{|{|z{z{{||{||}||{{{{{{{{|{|{}||{{{|{zz{|||||{||||{{{zz|||}{|||||z{||{||||}||}||{{z|{{|{||{|||}|||}|{{{{{||||}}{}{{{||}{|z{{|||}||||||||}}{||||}{|{|{{{|{}}|}||||{||{||{}||||}|||{{z{{|{}}|{|{|||{{{||{||}||}|}}z{{z{{{{|||{{||||{{|||{{|||||||||||{{{|{{{|{|}~~~~}}|~}}}}}}}~|||||||{}|||}||}{{|{{{{}{|}|}||{{{{{{{{{{{{|||}|{{{z{{{|||||}{}{{{{{{{z{{{{|||z|{|{{{z{||{||}|||{{{z{{{|{{}{|||{z{{{z{{{{{|{{|{|zz|{{z{z{|{{||||{|zz{{z{{|{{{{{{{{{{zzz{{|{{{|{z{{{{{z{{{{|{|{{z{{|{{{{{{||{{{|{{{z|{{z{|{{{{{}|{|{z{|{{z{|||{|{{|{{zz{{||}||||{{|{|zz{{||||||}||{{{||{{|{{{||{|{||||||{||{||||{{|{|{{{||||||}||||}{{|{{z|{|}}}|{|||{{{}{{|||{|||{z{||||}{|}|}}|{|{{{|||{||||}}|z|}{|{{{}||||}}{{||{{|z|{|}|||}||{{||||{|||||}||{{{|{||||||||||{{{{|||{{||{||}|||{{z{|{{}{|||||{{{{{{{{|}|||~~}||~|||||}}}|}}||}|||{|||}{{}||||{|z{{{{{{{{|{|||z|{{{{{{{{{{{||{{{{yzzz||||z||||zzz{{{z{|{|{{{{{{{z{{{{{z|{{{|{{{{{z{z{{{{|{|{|z{zzzzz{{{{|{{|{{z{{{{zyzz||{{{|{zzz{{|{{|||z|{z|z{{{z{z{z{{{{{|{{z{{z{{{{{z{{|{{{z|{z{{{{{|{||||{zz{{{{{{|zz||{{z{|z{z||{{{||||{|z{z{zzz|{{||{{{z|z|z|{{|{|||||{{{|{{zz|{|{|{{{z{{z{{z|{|||{{{{||{{{z||{{||}|}|{||}z{{{||}||||}z{{||{{{||{{|}}{|{|{|zz{|}|||}||{z{{z{|{||||||{}|{{{z{|||}{{z||||{|||{{{{|}||||||{z{z{{||||{||||}{{z||||{}{||||}|||{{|{{|}{{|}|{{||}zzz{|{{|{||{|{{z{{z{{|{{|~~~}}}}~}|}}}}}~|~}||{z{||{|}||{||}||{{{{{{|{|{|}}|{{{{z|z{{|||{|||{{{|z{{z{|{{{||{{{{{{{z{z{|{z{{{{{{zz{z{{{}zz{{{z{zzz{z{{{{|{{|{{z{z{z{{z{{|{{}{{{{zzzy{{{{{{{|{{{|{z{z{{|{{{|{|zzz|{{{{{{{zz{{|zzz{yz{{z{{{{|{{z{zz|{{{{{{|{{{{{{zz{z|{||{||{|{{{{{z{{z{{{{|{{|z{{{{{{{{{|{{{{{{{|{{zz{{|{|{||{zz{{{{{z{{}{|||||{{|{z{z|||{|||{{z{|z{{{||{|||}|{{{{|z{{||{}{|||{{|{|{{{{}||{|}{|z{{{{{{|}}|{||}{{{zz{||{{{||{}||{{{z|{{z}||{|}|}{|{{{|{||}{{{}}|{z{|{{|{{||}||||zzz|zz{|{|}{|||{{{zz{{||z|||||||{{{zzzz|{|{{{||{{{{{{{z{z{||~}}}}}|}}{}~}}}}~|{||{|{{{|||}|}|{||{{{{{||{{}{{}}|{|z|{zz{{|{||||{{{zz{{y|{{||{|{{z{{z{|{{{|{|{{{{{{z{zz{{{{{z{{zz{zzzzzz{{{{{z{|{zzzzz|z{||{{|{|{{z{{zzz{{{{{||{z{|{z{z{{{{{{{{{{{{zzyz{y|{z|{||{{{zyzzzz|{{{|||z{{{z{{z{{{|{{||zz{z{{|{{{|{|{{||z{z{z{{|z{z{{||{z{z{zzz{{|||{z|{z{|{zz{z|{|{|||{{|{{zz{{{||{z{{{z{{{{{||{||{{{|{{zy|{|{{|{{||}}{{|z{{{|{|{|{|||{|{{{{{{{{|{}||{{z{{{{z{}}{{||{{|{}|{{||{|{{{|}|{{{{{{{|{|||}|}{|{{}{z|{{||||}|||{{|z{{{||||||||||{{{{{z{||}{||||{{z{{{{{|{{||||||{{{{zz{{||||{|{z|z{{{{|{{{|~~}}|}||}{}}~|}~}}||}|{{||}|{}|||||{|{z{z{{{|{{{|{{{||{zz{||{|z{{||{zz|{{z|{{|{|{|{{zyz{{zz{|z{|{{|{z{{z{zz{|{{|{{{{{yz{z{{{{z|{{|zzzzzz{zz{|{{{|{z{z{{zz{{{{{{{{{{z{{z{z{{|{{{{|{{zzz{y{zz{{z|{{|{{{y{{{zz{{{||||zzz{{z{{zzz{{{{{{z{z{z{{{{|z{{{{{z|{z{{z{{|{||||z{zzzz{{{{{{{|{||{{|{z{{{|{{{{|{|z{{|{{{|{||z{|{{{z{{{{{{|{{z}{{|{{{z|{{{||{||||z{{{{zz{|{{}{|}||z{|{{z{z|{|}||||z{{{{{z||}|~|||{|{{z{||{{}|{||||zz{||{{{}{||||{{z{||{zz|||||||||{z||z{||||{}|||{|z{|{z{|||{|{{||{{z{{{{{{|{{{{{|{z{|zz{z|{{||||{{z{{{{z{{}{{}|~|~{}}|}{~}}}|}}{}|||||}{{||{{z}||{{{{{{z|||||||||{|{{zz{|{{|{|||{{{{{z{z{{{|{|{{z{zyyyz{z{{|{|{{z{{zzz{{{z{{z{{{{{zzzzz{zz|z|{||z{{z{zzz{|{{z{{{z{{{yzzz{{{{|{{{{{{zz{z{{|{{{{z{zzzz{zzz{z{||{|{z{zzzzzz{z{{{|{{zzzz{{zz{{|{{z|{{|z{{z{{z{zz{{|||zz{zz{z{{{{{{{{z{{z{zz{{|{zz||{{{{zz{zz{{||||{|{{{{{{z{{{{{{{|{{{{z{{{|{||zz{{|{zzz||{z|{|}{||}|z{{{{{|{{{||{|}{{{|zz{z|||||{|||z{{{{{{|{|{|}|{{z|{{{{{{||||{|}|{{{z{{{{}|||||}|||{{{{||||{}{|||{{}{zz|{|{{||{}|{{{|z{z|{|||z|}z{{{{{{{{||{|{||{{{{{z{{{{||{|||{{{z{{zz{{{|z|}}||||}|}{}}||~|}||||{{{{{{}|||{|||||z{z{z|{{{||||zz|{{zz|{{|||{||{{{{{z{z{{|{{{{|{zzz{zzy{{|{z{{{{z{z{zz{{{{z{|{z{z{zzyz{{z{z{{{{zzzz{zyz{{zz{||{{yzz{z{z{{{{{{{{{{{zyyzz{z{{{{{|{yz{{{{zz{{zzz{{|{{zz{zzz{z{{|{{z{{{{zzz{{{|{{{}{{{{{y{z{{{{{{||{zz{yz{z|{{{|||{z{{zyzz{z{{{{|{|{zzz|zzz{{{{{{z|zzzz{{zz{||{z{{{{zz{zz{z||{{{{{{{{{{{{zz{{{|{}||{{{z{{{z{{|{|{||zz{|{z{z|{|{|{||{z{{{zzz|||{||||{{{z{{{{z||||||||{{{z|{{{}||||||}|z{{z{|||{}}{||||{{{{{|z{|{|||{{{{{{z{||||{{{}|{{z{{{{y|{||{{||{{{{{{z{{||||{{|zzzz{z{{{{{{{}~}|}||{|||}}||{}}||{{{|z{{||{|{||||{|{{||{{{{{||||{{|{z{{zz{||{{|||{zz{{|{||{{{|z|{{{{{zzzz|{z{||{{{{z|{zz{{{|{{{|zzz{zzz{|{{{{{|{{{{z{z{y{z{{z{z|{{z{zzzzz{{{||{{{zzz{z{z{{{{{||{{zzzzz{zzz{z{{{z{{yzzzzzz{z{{{{|zz{z{{zzz{{{|{|{{{zz{zzz{{|{z{z{{zz{z{{z{z|{||||{{{zz{zz{z{{|{{{|z{z{zz{{|{{|{||{{{{{{{z{|{{{||zz{{{zzzz{|{z{{||{z{z{{{{|{||||{|z{{|{{{z{{{|||{||{z{{{{z{||{{|}{|z{|{{{{|||{|{||{{|{{{{|{{|{|||{|{{{{{|{||{{|}{|{{|{|{{{|||{|}|}|{|{{z|z{{||||}|||{{{{{|||{|||||zz{{{{z{{{{{||||{zzz{{{|{||{|{||{{{{{z{z|{{zz~{~||||}||||~~}|||||{||}{{{{||{||{||||{{{{{{{{z{}{{z{{{{{{z|{||z{|{||{{{zzy{{{z{{{}{z{{zzzz{{{{{{{||{z{{zzz{{{zz|{|{z{zz{zz{{z{{{{{z{{{zyz{z{{z|{{{{{zzz{zzz{|{{{{{{{{{yzyzz{{{|{{|zzzz{z{yz{{{{{{{{zzz{{{{z{z{{|{{zz{z{{{z{zz|z{{|{z{z{z{z{{{{{z||||{{{z{{{|{|z{{|zz{{z{z{{{|||{|{{{{|{zzz{|{{||{{|{zz{z{z{{|{{{||{z||{{zz{{||{{{{{{{{z{{{{{||||{{z{{z{{{|{|{{||{|{{{||{{{{||{{||{|{{{{{{z{|{{|{}|{{{{z{{{{|||z|||}{{{z{{{{{{|}{|{|{{|{{{z||||||||{{{|{|{z{{z{{|||{{{{{|z{||{||{|||z{z|{z{z|{||||||{zzz{{z{{z{{{{|z{{{{zz{z{{|z~}}}|||||{}}~||}|||~{|||{|||}|{||}{{z{{{{{|{|{|{}{|{{|{zzz{|{||{|||{{{z{z{z||{|||{|{zzzz|{z{|{{{{{|{{{zzzz{{{|{{||{{zzyy|{z{{|{{{z{zzzyzz{{||z{y{{|zz|zz{z{{|{z{{{{z{z{zzz|{|{{{{{{zzzz{z{z{{{{{z{z|zy|zzzzz{{{z|{{{{{z{zzz{{{|{{|{zz{{{zzz{z|{|{{|{z{{z{zz|{z{z{|{{{{zz|{z{{{||{{|{{z{{z{{z{||{|{||z{{z{zz{{|{{{|{{{z{{|{{{||{||{{zz{|z|z||{{|||||z{z|{|{{{|{||}|}{{z{{z{{{||{{||{|z{{{z{{|||{|{||{{{{|{{{|{|{||||||{{{|{{{|{}|||{|{||z|{{|{||{{|||z{z{{{|{|||||}||{{{{|{{{|||{{||{{{{{|{{{{{{{|{{||{{{{{{|{||||||{{{zzz{{{|{{|}}}}}|||||||}{}}}{~{}|{{{{{|{{{|||||{{yzz{z||{{||||{{z{zzz{z||{|{{{{{zz{z{{|{{||{{{z{{{z{zz{{{{{||{|z{{{{z{{|{zz{z{zzy{{zzzz{{|{{||z{z{zzzz{|{{z||{|z{{{{zz{{{z{||{{z{zz{{z{z{|{{|{{{zzz{zz{|{{{z||{zzzyzz{y{{|{{{|z{zz{{{z{y{{{{{{{{zzzzz{{{{{{{{{{z{{z{z{z{{{{{||{zzzzz{zz{y{{|||{{zzzzz{{|||}{{{{z|{z{{{{{{|{{}|{z{{z{{z}{|{{{||{{{z{{z{{{{{||||z{{z{{{{||{|{|||{{{{|{{{{}{{|||{|{{{{zz{||{{||||z{{{z{{{z||{||{||{{{{{{{|||{{{}||z{{{z|{}||{||||{z{{{{{zz}|{|||{{zz||y{{|{z|}|}|{{zz{{|zz|{||{{|{{z{{{{z||{{z{z{{{{y{z{z|z|{{}}~}}}|||{|}|}|}}}}{z{{{{{|}|||{|}{{{{z{{{{{{{z||}|z|{zzzzz{{||{{|{{{{z{zzz{{||{{{|{{|z{zzz{|{{{{{||{{zz{{{{{|{z||{zzzz{{zz|{z{z{||{{z{{zzz{|{{{{|{{zz{zzz{|{|{{|}{{z{zzz{z|{{{{{{|{{{{{{zz{{{|z{z{{{zz{zzz|{z|{|{|z{{z{z{{{|{|{{}{{{{{{z{z{{{{}{|{z{{{z{{z|{{{||{}||{z{{{{{{{{{{|{|{{{{yz{|||z{||||{{{zz{z{{|{{||{|zz|{{z|||{{{|||{{z{|{{z{{|||{||{{{z|{{z}|}|||}{|{{{z{{{{|||{||{|z{{|{{{}|}|{||||{|zz||z{{{|}}|}{z||{{||{|||||||}{{|{||{|||}{||||z{z{{{{|||{||}|{{z{{|{|||{{||||z|{{{{{}{{{{|||||{{z{{{{|{{|||{{{{{{z{{z{|||{}}}||{{}|{||}|}}|}|{|{{||{{|{{||||||}zz{|{{|||{|{||z{||zz{|{{||{|}|{{{{{z{z||{{{|{{zzzzzz{{z|{|{{{zz{zzz{{{{{{|{|{{{zzz{zzz{{{{|{|{{zzz|{{{{{|{z|z{{{|{{zzz{{{{{|{|z{z{z{{z{{z{|||{{z{{zy{zz{{{z|{{{{{zz{zz{{|{{|{{{z{{{{{z{|{{z||{{z{z{{|{|||{{{{|{z|z{{{{||{||{z|{{zzz{{||{{{{{{{{z|zz{zz{{|{{||||{{{{{z{{{|{{{}|{{{{|{{{||||{{|{{{{|{{|{|||||{||{{{z{{{{{{{}|||||{{{z{{{|||||}{{{{{{{{{z{{{|||}}{{{{{|{|{||||}|{{{{|z{{{{}||||}}|||{{{|{~{|||||{|{{{|{{{{{||}|||{|{{||{{{{{{{{|}{{{z|{{|||{||{{{|{{{{z{{||||z|{{z{|{{{z{{z||{|}}{||{|||{|}|}||{{{{|{{{{{{|||{||{{{|z{{zy||{||{|||{{{{zzz{{}{{{||{{z{zz{z{||{{{||z{{z{z{zz{{z{|{{z|zzz{z{{{{z{{{{z{{zzzzz{z{z{{{{{zzzzz{zz{{zz|{|{{{zz{zz{{|{}|{{{z{{yzzy{|{{{{{{zzzz{zzzz{zzzz{{zz{z{z{zz{zz{|{z{{{z{zzz{z{|{{{|zzzz{zyz{|{z{{{|{z{{zzz{|{{{{z{|{z{zzy{z{{{{{||{{{zz{z{|{{{{|||||zz{zz{{z|{z{{||{{{zzzz{{|z{{}{{|{z|{{{{||{}|{|{z{{z{{|{{|{||||{||{z{{z{||{||||||{{{{zzz|{|||||}|{{{||zz|||{{|||{z{|{{{z|}||||}||z|{{z|{{|{|{|{||{{z{{{{{{||}|{|{|{{{z{{||{{|z|{{{{z{zzz{}{|{|||{{zzy{{{{|||{{|{{{{{{z{{{{|{|}}|}|}|z{}z{}}||}|{||||{{{|{|{|||}||{|{z{{z{{{{{|{|{z{{{zzz{z{{{|{z||{zz{zzz{{{{{{}z{|zz{z{{|zzz{{{z{{zzzz{{{{{{{|z{z{z{{zz|z{{{{{{{{y|{z{z{|{{{||{|{zzzzzz{|{{{{{{zz{z{{{zz{{{z{{{zz{zzzz{zz{{{{{{{zz{zzz{y{z{z|{|z{{z{{zzz{{{z{{{{{{z||{{|z|{{z{{{{{z{zz{{{{{{{{|{{{{{{{z{{{|{}{{{z{{zz{z{||{|{{{{|z{{z{z{{||{||{{|{{{{zz{||{{{{{z{{z{z{z|{||||{|{z{z{{z{|||{{}||{{||{{{{{|{|{|}|z{{{{{{z||{|z|{|{{|{z{{|}}|{|||||{{|z{{||}||||||{|{{{{{||||}|{|{|z{{{{z{{{{{|||||{z{{|{|||{|{{{}|{{{|{z{{z{|{{||{{z{z{{{{|{||{}{z{|y{zz{{{{|{}}}|}|||||{{||||||||{}{{z|z{||{|}||{{{zz{{{{|{{}|{}|{{{z{{z|{{{|{{|{{|zz{zzz{{|{||{{z{{{{{{{{{z{{{{{{{z{{zz{{z{{{|{{z{{z{zz|{z{{|{{zz{z{z{z{z|{{{{{{zzzz{z{{|{{|{{{{zz{yz{zz{z{{{{{z{{{z{zzy{{zz{{{{z{zzy{{z|{z{{{|zz{{{z{z{{{{{|{{|z{zz{{{{z{z{{{z{z{{{z{z{|{||{{|z{z{zz{zz{}|{{{{{z{{z{{{z|z|||}{|{{{{zz{{{||z||{zzz{{{z{{{|{{|{|{{{{{{{{{|||{||{zzz{{z{z{|||{|}|{{{|{{|z{{{|||||||{z{{{z||{|||||z{{{z|{{||{|{|{{|z{|z{{{{|{|{}~||{{|{z|{}{||}||||{{{z|{|||{||||}|{z{zz{{||{|{{||{{{{z{{{{|{|{{||{z{{{|{{{|{||{|{{z{z{zzz{{|{{}}||}{|{{zz|}||{|{|z{z{{|z{||{|{}{|}{|{{zzz|{{{|}{|{z{z{{zz{z{{|{}|{zyzzyzzz{{{z{{|{{zzzzzz{z{{zz{{{{{{zz{{||{zz{{z{zzzy{{z{{z{{{{|zzz{zz{zzz|zz{{{z{{zz|yzz{{{{{{zz{zzzzzzz{{{z{{{zzz{zyzz{{{z{|zy{{zzzz{zz{z{z{{z{zzzz{zz{|z{{||{{zzzzzzz{{{{{{|{zyzzzz{z{{{{z|{{zz|zyzz{{|{{{{{{{{{z{z{z{{||{{{|zzz{{zz{z}||{{||{{{{zz{{{|{|{{{|{{{{{{{z|||}|{|}z{{{{{|{{||||||}{{{{z{{{||{{{{|||{z{{{z{}||{||||{{{{{{{z{{|{}{||{{|{{{{z{||{||{||{{z{{{{|{{{{||{{z{{{z{z{{|{{{||{|{z{zz{{{{|||||{{{zz{{{{{|{{|||{|z{z{zz|{{{|||z{{z{|z{{{{{{{}||{{||{{|{|}||||{|z{{{{{z{{{|}{{||{y|z{z{{{{{{|{||{z{{{|zz{{{z{{}{|{{y{{{zz{|z||{{z{zzz{{z{{{{{{|{{zz{{{zz|z|{{z|zz{{{{z{z{z{{{{{zz{{{z{yzz{{z{z{{{zz|zzzzzy{{{z{{{zzzyzz{{{z|z{{|{{{zzz{z{zz{{{{{z{zzzz{z{{z||{|{zz{yzzzz{||z{{{{{y{zzz{z{{z{{|{|{zz|{{z{{z|{zz{|zzz{z{{{{|{{{||{{z{{yz{z{|{{{|{{{{z{{{z{{{|{{{|z{{z{zz{{{|{{{|{||{{{{|z{{||{||}|{{|z{{|{{|{|||{}{z{{{z{{|{{{|||{|{|{z{{||||{|{{|{{z{{z{|{||{|{|{{{z{z{{z{{{||{||{{{{{{{{|{{{{|{||{{z{z{{z{{||{{||||{{{{{{|{{|{{{{{{{z{{z{{{{{{|z|{{|zzzz{||{||{{z{{zzz{{{{{{{}}|}||||{|{|}}|}|}|{||{|{{{|{|||{}}{{{{{{{z|{|{{}|{{|z{{zzz{|||{{|{z{{{z{{{|{{{{|||zzzz{{{zz|{z{||{{{zz{z{{{{||{{{{{{zzyzzz{{{{{{{{z{{z{zz{{}|z{{{{{zzzyyzyz||{{{z|{{zz{{{z{{{{{{{{{{z{zy{yz{{z||{z{z{zzyz{z{{zz{{{{z{{z{{{{{z{{|||{{z{{z{{{|{{{{{|{z{{zzzzz|{{{}{|z{z{{{{y{{{{{|{|z{{{zzz{{||{|{{|||{z{{z{{|{{|{|{{{{|{{{||||{{|{{{{z{{z{{||{||}{}{{{|{{{{}{}|||||{|z{{{zz|z}{{|{{{z|{{|z{{{{{|{||{{z|{||{{{|{||||}{{{{{|{{}|||{||{{{||{|{|||}}|}{{{|z{{{{||{{|||||{|{||{{|||{{|{|z{{z{{{|{|||||}|{z{{|{zz{{||{{||{z|{{z{{{{|}||}}~}|{|||||||||{~{|{{z||{|{{||}||}{|{|z||{|{{|||}{{|z{{{z|{{{}{||||{z{{{{{{|||z{||zz{{}zzz{{|{{{|{{{{zz{y{{z{{{{{{{z{zz{{z{|||{{{{{zz{zz{z{|{{{|{{{zz{z{z{{{z{{||{{{{{z{z{z{{{{{|}{{{|{zzyz{|{{{{{{z{z{z{z{|{{{|}{z{z{{{{{{{|{|{{|{{zzz{z{|||{{{z|{z{z{{|{|{z{{|{|{{{|{|z{|{|{{{|{{z{|{z{{{{|{|{|{{{{zz{{{||||{{|{|{{|}|{{z|||||{|{{{z{{z{|||{{||}{{{{z|{{{||{|}}{|{{{|{zz||{{||}}|z|{{{||{|{{||||{|}{|{||{{{|{|{||{|||{{{{}|||||}|{{|{|{|||}|{||||{||{{{{||}||{|}|{|{|{{{|||{|{}}{{|{|z{{{{|{|{||{{{{z{{z{{||{|}||{z{{{{zz||{|}}{{|z{||z||}}{{||}|{||z{{{{{||{|}||z{z|{{z{z{|{{{{{{z{{zz{{{{|z{{{{|{{z{zzz{{{{{z{|{{z{{{z{|{{z{{{{{z{{zzz{{{z{{{{{|{zzz{{z{{{{|{{z{z{{{zzzzz{|{||zzz{zzyz|z{z|{{{zz{{{{{{{{{{{|{|{{{z{{zzz{{{{{{|{{zzzzz{zzz{{{zzzz{{{{zy{z{z{{{{z{z{zz{{{{|{z{{{zz{z{{{{|{z{{{{{{|{z{{{{{|{{|{{{{{{||z{{{z{{{{|z{zz{z{z{||||{{|{{{|zz{{z{|{z{{|{|{{z{|{{|{||{||{{||{|{{{{||}|||}{{|{{zz{{|{|||}|{z{{|{|{{|{||||}{{||{{|{|||}{|||}z{{{{{{||{|{|||{{{{|{z{|{|{{{{{|{z{{{z|{{{{||||{{zz{zz{|{{||||||{{{z{{{z{{||||||{z{z{{{z{|{{{{|zz{zz{{{{{{{{}{|||{{|z{||{|||||}zzz{{{{|||z|{{||{{{{{{{{{|{|{{{{|z{z{zzzzz|{{{{{zz{zzzzz|{|z{{{{{{zz{{{z{||zz{{{{{z{zzzz{{|zz|{{z{zzz{zz{{{{{|{z{{zz{z{{z{zz{{|{{zzzz{zy{z{z|{{|zz{{zz{y{{{{{z{{{zz|z{zzzzzz{{{{{z{{zzzzz{{zz{{|zy{|z{zz{{z||{{{zz{zz{{{z{z{{|{{{z{z{zzz{{{{{{||{{{zzzzz|z{{z{||{zzz|zzz{{{{|{|}zz{zz{zz{|{|z{|{{{zzzz{{{{{{{{{|{{{z|{zzz{{|{{}{z{{{{z|{{{{}{{{}z{{{|{{zz|{|{{{|{zz{{{{{z}{{{{|{{{zz{|z{{|||{|||{{||{{{{||}}{}|{{{{{{{|z|{{|||{{|{{{z{{|{|z{|{||{{{{{{z{|{{|{||{zz{zz{{{{|||{{||{{{{{|{zz{|{{{{{{{{{{{zz|{{|{||}{|{{|{{{||}|{||}{|z{{z{{|{|{{|||{z{z|{z{|{|||{{|{z{{{{z{{{|{{{||{{{zzy{z|z|{{{{|zz{{zz|{{{|{|{|{{{z{{{z{|z{z{||{{z{z{zz{{z{{{z{{zzzzzz{z{{{{||{z{z{z{zyz{||z|{|{zz{zzz{y{{{|{{{|{{zz{zzzz{{z{{|{{{zz{{{z{{zzz|{{zz{{zz{z{{{|z|{{|{{{{{z{z|{|z|{|{z{|y{{{{{|z{{{{{zzz{{{|zz|{{{|}{{zz{zzz{||z{|{|{{|{zzz{{{|{{{{|{{{{{{{{|{{{{||{||{|z{{z{|{|||{|z{{{{|{||{|}|{}|{{{z{{{zz||{|{}{|z{z{{{{|}}|||}|{{{{|{{|{{||}}|||{{|{|z{|}|}{||{|{{|{|{||{{|{||{|{{|{{{{{|{||{||{{{||{z||{{|{}{|{{{{{|z|{{{}||||||z{{{{z{|}{{||{z{{|z{|zz{|{||||{|{|{{{{||||}|}||z{{{z{y|{{|||||zz{{{{{{{|{{{{{|zz{{z|z{|{{|z{{|z{{{z|z{{|{{||{{z{zzy{y{{{{{z{{{{zzz{{z{|z|z{|{{z{zzz{zz||{|{{z{zz{{zz{{z{{{{{{{z{zz{zz{z|{{|{|{{{{z{zzzz{{z{{||zz{{{z{zz}zz{||{|{{zzz{z{|{{{{{{z{z{z{zzzz{{{{||z{{{{{{zz{z{{{|{{z{zyzz{{{|{{{{|z{{z{{zz|{{|{}||{|{{{z{{z|{{{|{||{{{{zzz||{|{|{z|{{{zz{|{|{{{{{|{{{|{yz{|||||{||{{z{z{{z{z{|{|||z{z|{|{{{|||{{|{|z{{{z{z||||{{||||z{{z|z{|{{{||||{{{{||{{|||||||{{|||z{{|{||{|{|{z{{{z{{||{|{|||{|{{{{{{{{{|||{|{{{z{{{{{{{{{||||{z{z{|z{|{|{z||zz{{{zz{{{|{|||||||{z{{z|||}}||}|{{z{{{{z||||{{||z{{{z{z{{{|{}||}z{z{zzzz{{{|{|z{{z{z{{{|{{zz{{{z|{|zz{z{{{{z{{{{{z{{{{z{|{{{}{{{zy{zzzz|{{zz}{{zzz{yz{z{{|{{{|{{{zzz{yzz{|z||{{z{{{zz{zz|{{{{{|z{{{{zz{z{z{{|{{z{{{zy{z{{{|{|{{{z|zz{zzz|{z||{{{z{{|{z{{{|{{{||z{{{{z{|{{{|z|||{{{z{{{z{{{{{{|{z{{|{z{{{|||{||{{{{{{z{z{{{{{|{{{zz{{{{z{{|{{||{{{{{{|z{{||{||}|{{{{|{{{}{z|{{{|{|zz{|{{||{||||||{zz|z|{||||||{{{{|{{|{{{|{|||{{{{|{{{{{{|{|{|}||{|{{{{||||{|{|||{{{|{{{|{{{||||{|||||{z{{|{{|{}{z{{{{{{{{|{}||z|{z{{||z||{|{{||{{{z{z{{z{{{{|{|{{z{{{{{{}|{{{||||{{{z{|z{||{{||{zzz{zz{||||{||{|{zzzz{{{{{|{{{{{|zzzzzz|{{|z{{|{z{zz{{y{{{z{|{{{z{{z{z{|{{zzz{{z{{{z{zz{{|{z|{{z{zyyyz{{zy{{{|{{zzzz{zz{|{{zz{{{{{z{{zzz||{{|{{z{{zzzz{{z|z{||{||yy|zz{zzz{{{{|{zz{{zzy{{{{z{{{{zzz{{{z{{{z{{{{z{{zzzy{{{{zz{|{zz{zy{yy{{|{{|{|{{zzzz{zz|{{|{{|{|{z{{{zy{||{{}{|{z{{z{{{{{{{z|{|{z{{zzz{|{|{|||{{{z{{||{|{|{|||{{{zz{z{z|{{||{||{{{{{{{|||{{||||z|{{z{{{{|{}{|||{{{{{{z{}|||||{|{{{z{{|{|||}||{|z{{{{{z||{||||||{z{{{{{||{|||||{{{z{|z{{{{||{|{|z{{zyzz{|{||{|}{z{zzz{{z{{{{{||{{|{|z{{{|{|{{|{|z{{zz{{{{{|{|{|||zz{|{z{|{{|{{{|{z{z{z{{||{{{{{{z{zzz{z{{{{{{|{zz{zzz{z{zz{z{|zz{{z{{{z{{{zz{{{zzzzy{z{|zz{{}{|{y{zzzzzz{{z{{{{{{zzyzzz|{{z{{{{z{zzzzzz{{{{||{zzzz{zzzz{zz{{z{z|zyz{zzz{{zz{|{{zzzzzzzz{z{{|{{{{z{z{zz{{z{{{{|{yz{zzzzzz{|{{z|{z{{zyzzzzz{{{{{|zz{{{zyz{{z{{|{|{{{{zzzz{{{{|{|{zzz{|zy{|{{||{|{|{{z{{z{{|||{{|{|z{{{z{{|{{|{||{{z{{{z{{{{|{{{|||zzz|zz{{{{|{||{{{{z{|{{{|{|{{{|{{{{{|{zz||{|||{||{|z{z{|{|{||||{z{|z|z{|{||{{|{{{z{zz|{||{||{|{z{{z{|zz{{z|{|||{{z{zz{zz}|{z{{|yz{z{zzz{{{{{~{|z|z|{|{z|{||||||{z{zzz{|{{{{{{{|{z{zzz{z{{{{|{{{{zz{zzyzz{{|{z|{{z{zyzzzzz{{{{{|zz{zz{{zzz{{z||{{z{zzzz{{z{{{{z{z{{zzzzz{{|{{{{{z{zz{zzz{{z{{{|zzzzzzzzz{z{zz{{{zzzyzzzzz{z|{{{z{{z{{zyyzz{zz{{{|zzz{yyzzzz{z{{{zzzz|{zyz{{{{{|{{{zz{yzzzzz{z{{{zyz{zyzz||{z{{{|zzzzz{z{{{{{|{{|zz{z{{{zz{{{{{{{{{zz{zz{z{|{{{{{{{zz{{z{|{|zz||{{z{{|{{{{{|{||||{z{z{{{z{{{{{||{{{{{{{zzz||{|{{{{z{z{{{z{{|{{z}|zz{{z|{{{{{{{|{z|{{{z|{z|{||||{}{{{{{{z{{|{|{|||}z{{|{zz{|||{||{{{{z{zzz{{|||||{{{{zz{{{{||{|{|||{{{{{{zz||}{{{|z{{zzzzz{{|{{{|{z{{{||zz{|{|||||z{{{{z{{{{|||{||{|{y{|z{|{{|{{|z{zzz{{z{{{|{{{||{zzzz{zz{{{{{{|{zz{zzz{y{|{{z|{{zzz{{{{zz{{{zz|{{z{zz{{|z{z{z{{|zyzzzzz{{z{{{{|{{z{zz{zzz{{{{{||{z{zyy{{{{{{{{{{{z{zzz{zz{{{{|{z{z{{zz{z{|{z{zzzzz{{y|zy{z{{{|}{zz{z{z{{{{z{{z{{{zzzzy{{|{{{||||z{zz{zz{|{{{{{{|{{z{zz{z{|{||{{{{y{{{{zz{{{z{{|{{{|z{|{z{{{{{|{|||{{{{{{{|{|{|{|{{{|{{z{|{{{|||||{zz{zz{|||||{{{|zz{z{{z{{|{|{||{{|{{{{z{||{|||||{||{}{{||{|{||{|z{|z{{{|{{{|{|||{{{{{{{{|{{{|||{z|{|{{{{}||{{||{{{{{z{{{{{{||}|{z{z{{|{z}{|{{|{z{zz|||z{{{|{|{{||zzz{zz{|{}||||}{{{z{{z{|||{|{|{{{{{|{z|{{|{{|{|z{{zzz{{{{{z{|{{z{zzz{{|||{||{}{z{zzzz{{z{{{|{{{y{zz{z{{||{z|{{{zz{z{{zyz{|{|{|zzzzz{zz{z{{{z{z{{z{zzz{z{|{||{{{zzzzz{z{{{|{|z|zzz{zy{{{z{{{|z|{zzzzz{z{{x{{}{{{{zz{{yyz{||z{||z{zz{{zz|{{{|{{{{z{zz{zz{|{{{|{|{{|{{{zz{|{{|{}{{{|{zz{{{{z{{||z{z|{{{z{{||z{||{{{{z{{{{{||{|}{}{{{{z{{{|{}{||||zz{{{{{{||{|||}{{{zz|{{z{|||{||||z{{{{z{|{{{||||{{|{{{{{{{||||||{{{{{{{{z|||{||||z|{{|{||}||{|||{{{z|{{|z|||{}|||{|{z{{{{{{|{|||zz{{{z{{{||{|||{{zzz{{{z|}{{|z||{{{z{z{{z{|{|{}{|{z{{z|{|||{|{|}{z{{{z{z||{{{|z|{|{z{{{{|{{{|||{{{zz{{{{z|{|{{||{{{{zzzz{{{{||{|{z{z{z{yz{{{{{{{{z{z{z{{|{|z{{|{{z{{{{z{{{|{{{{{zzzzy{yz{{{|z{{{{z{{{z{{{{{{{{{{{|z{{zzz{{{z{{{{{zzz{zzzz{{z{{{{{{zzzzzz{|z{{|||{z{{zzzz{{{|{{{{{z{{{zzz{z{{|z{{zzz|zz{z{{{z{{}|zz{{{z{{{z{{z|{|{{{zzz|{{{{{{{{{{zz{{z{z|z|{|{{{{z{{{{{||{||{z{{|{z{|{zz{{|{|{||{{{{{{{|{}|{||{{|{|{{{{z{|{{{{||{{{{{{{||||{{|||z|{{|{{{|{|{{{|}|{{{{{z{{|{{||}{|{|{{|{{|||||||||{zz{{|{{|z{|{||{|{{||{{{||||}||{{{zzzz{z{|{{||||zz{z{{{{{{|{{|{{z{zzzyz|{}|{||}{||{|{{z{}|{|{||{{{{z{{{|||{|{{|||{z{{{{{|{{{|||{z{{z{z|{{z{z{{|{{{zzy{y|{{|{{z|zz{z{zzy{|{z{{z{z{{zzy{{{{{z{{{{zz{z{{zzz{|zz{{{zzzzzyzz{z{z{z|{zz{{z{yy{z{{{{||z{{zz{yz{{{{{{{{{{zzyz{z{{{{z{{{|zyyzz{z{|{{{|{{{zz{z|zz{{{{{{{{{|zz{{{z{{zz{{{{{z{{zz|z{{{{{{|zz{zzzzz{{{{|{|{z{{{z{{{z{{|{|{{{{zzzz{{zz}z|z{||{zz{z{z{{{|z{{{{{{{{zzz{z{|||{||{{{{{{{{{|{{{||||{{{{{z{||||{{|{|z|z{{{{{|{{||||{{{z|{{{{{{{||{||{z{{z{{{|||{|{|{{{{{z|z{|{{||||{z{|{{{{|||||||{{{{{{{{{{|{{{}{|{{zz{{|{{|{{{|}||{|{{z{z{|{}|||{{z{z{y{{{{||||||||z{{{zz|{|||{||{|{z{{zy{{|{{|||{{{{{{{z{{|{|||{{z{{{{z{z{|{{{|{zzzzyzzz{{{|{|{|{{|zzz{z|{{z{{{z|z{zzzzz|{{zz|{{{zzzz{z{{{{{{{{{zzzz{z{yz{{z{||{|yzzzzyz{{{{{}z|{zz{{{z||{|{{{{|{zz{yzzzz{z{{{{zzz{{zzzz{{{{{{{{{{{z{z{{{{{z{{{{{zzzzz{z{{{{{|{|{{{{yzz{|{|{{{|zzz{z{{{{|{||{|{{{z{z{{{{{|z{|||{{z{{{zz{||{{{{|z{{z{{z{{{|{{{|{||zz{{{|{{{}{{||{{{{z{{{{|{||z||||{z{{{{z{||||{||{z{z{{{z{||z|{||{z|{{|||{{{|{{|||zz{{{|{{|||{||{{z{|zzz{|{{||||{{{{|{{|{{{|{||{|||{{{{{|{{{{||{|{{z{{{{{z}|{{{||{{z{z{{{{{{{{{{|{{{{zzzz{||{{{{{{{z|{z{{|||{{{|||z{z|zzz{{{|{|||{{zzz{{{|{{|{|{{|zz|zyzzz{{|z|z|{{{zzz{z{{||{{{{|{zz{zz{z{{|z|{{{{{z{zzzz|{zzzy|{{z{z{zzz{{{||{{{{{zzzz{z|zz|{{{{z{{y{z{{{{zzz{||{zzz{zz{{{{{{||{zzzzzzzzz{zz{{|z{zzzz{{{|z{|{{|zz{{z{z{|{|z{|{{{zzz{{z{|{{{{{{{|z{{{z{z{{{z{|{|{{{zzzz{{{{||{{||z{z{z{z{{|{||{{{{{{z{{z|{{{{||{{{z{{{{{{|{|{|{{{{{{{|y{{|||{|}|z|{{{{{{{z{{|||||{{zz{{z{{|{||}|{{{{{{|{||||{||||{|z|z{{}||{{}|{}{{{{{z{{||||||{|{{|{z{{{||}|||{zz{{|{{{}{||||}||z{{{{{{|{{{||}|{}|z{{{{{{||{|||{{{{z|{zz||}{||{z{{{z|zzz||||{|||{{{{{zz{|||{|}{{y{zzzz{{{||{{{|{zz{z{{z{z{{{{{{|z{zzzz{{|z||z||{{zzy{{{{{zzz{{|{z|zz{z{z{{{z{{{zy{{zzzzz{|zz|{zzzzz{zzz{z{{{z{{zz{z{zyyzzz{{{{|zz{yzyyz{|{z{{||{z{zz{{z|{|{{{|{{zzz{zzy{z{{{{z{zzzy|{{z{{{{{|{{yzzz{zyz{{{{|{|{zzz{{z{z{z{{{{{|{z{{zz|{{{{{{{|{zyzzzzzz{{{{{|z|zz{{{{{zzz{{{{{{{zzzzzzz{{{z{||{|zz{zzy{|z{{{{{{{{{z|{{{z|{{{{{}{z{{z{zy{|{{{||{{{{{{{z{{|||{||{|{{{{{{{{|{|{|{{|{{{{|{|{{||{{{{|{{{z|zz{|||{{|||{{{{z|{|{|{|||{|zz{{{{{{||{{{{}{{z{|{{{{|{{{{||z|{{zz{{|{{{{||{{{y{{{zz{{|{{{||{z{zzzzz{|{{z}}{{{{{{{{{zz}{|{{||z{{z{z{{||||{||{{{zy{zz|{{{z{||{{{z{z{z{|||{{{{zzzzzz{z{|{{{{|{{{zyz{z{{{z{{z|z{zzz{z{{{{{zz|{{z{{zyz{zz{{{{z|{zzzz{z{zz{{{{z|zyz{zz{yz{{|{||{{z{zzzzzz{z|z{||}{z{{zz{z{{|z{z}{{z{zzz{z{{z{{|||zz{yy{zz{{{{z|{{{zzz{z{{z{{{{|{|zz{{z{{zz{{{{{{{{{zz{{zz{||{{{{|zy{{zz{|{|{{{{||{z{{{{zz{|{{{{|{|zz{z{z{{||}{{{|{{{z{{{|||{{{||{{z{zz{|{||{|{}||z{{{zz{{{{||||||{{|{{|{}}||z{}|}{|{{{{|{{{{{{|}{{{{{|z|{{|||{|}||{{{{{{{||||||{{{z|{{{z{{|{|{{|{{|z{{|{|{{||{||||{|{z{{{zz|{|{|{||z{z{{{{{{|{{}{|{zy{z{zzz|{{}{}{{{{{{{z|{|z|{||{z{{z{{z{{{||{|{{z{z{z{z|{z{||{|{{zzzz{z{{{{zz|{{zzzz{yz{{{|z|{|{zzzzzzz{{z{{{{{|z{zz{zz{|{zz{{z{y{yzzzy{zz|{{{{{yzyzyzz{{{{{{|{{yzz{zzz{z|{{{{{{{zzz{{zz{{{{{{{{zz{{z{y{{{z{{|{zzzy{xzzz{z|{z|{zyzzz{zzz{{{{{{|{{zz|zzz{{{z{|{{z{zzzy{z{{{{{{z{{|z{zzzz{||z}||{{{z{zz{zz|{{||{{zz{{{{{z||{{{{{{{z{{z{z{|{{{z||{{yzz{{{{|{{{z|{{{{{{z{z|z{{{{|{|{z{z{z{z{|}|{|{|{z{{{{{{}|{||{||{{{{{{{{{||}{{|||{||{{{{{||||||||z|{|{z{}z{|{{}||z{{z{{{{zz{||}{|{zz{{{{|{{|{|||z{{zz{{{{{||{|{{|{z{{z{z|{||{{|{{{{{zz{z{|{|{|{{{z|{{{{{{||z|{||{{{{{z{{{{||||{|z{zzzz{z|z{{{|{|z{{{{z|{{|{zz{{{{y{zz{z{{{{{|}{|{z{zz{{zz{|{{{|{{{zzzz{{z{{{z|{{{z{zyzz{{z{z{{z{{zzz{yzz{{{{{{{{{{zz{zzzz{{{{{|{{||{zzz{z{z{{{}|{z{zzz{zz{{zz{z{z{zz{y{zz{{{|||zzz{zzzzyzz|{{{|{{{zz{{zy{{{{{||zz{z{zz|{{{{{|{{{{|zzz{zzz{{{{|{{{zzzz{{z{|{|{{{{{z{zz|{||{|{{{{{{{{z{|{{{||{{||{|{{z{{||{||}z|{|z|{zz{{{{{|{||}||{{{{{z{{{}{{{|}|{zzz{{{|||{||{||{|z{{{z{{{||{|||{{{z|{{|}|}{||||{z|{{{{{{{||{||{{z{{{{{|{{}|{}||{{{{{z{{{{z||{{{|{z{||{{{{{||{{{{{z{{|z{{{|z{||{{{z{{{{{{{z{}|{||{|{z{z{||{{|{|{z{|{{{z{{{{||||{{{{{{z{{{||{{|{{zz|zzzz{|||{{{{|{|{zzyz{z{{{}{|{{{zz{{{{{{{{|{{{{{zz{{zz{{{z{|{z|{{z{{z{{z{{|{{y|{zz{z{||{{{{{{zzzzz{zz{{||{{{{{yz{z{z{{{z|{{|{{{z{z{zz{{{z{{{{zzzy}{{z||{{{z{|yzzzz{{z{z{zz||{z{{{{z{{{{{{{{{{{z||{{{{{{{|{{||{{{zzy{|z|||{{||{z{zz{{z{|{{||{z{|{{z{{z||{{{{|{{yz{{{{{{{{{|{|{{{{{{{{|{||{}|||{|{{{{z{|||{||||{z{{{|zz{||}{||{{{{||z{{||||||}|{{{{{{zzz{{||||}||{{|||{|||z{|||||{|{y{z|||{||{|{{{{{zz{{{{}{}}||{|||{|{{||{|{{||{{{{{{{{{|{||||||{{{{{{{|}{z|||{z{{{z{{{||{|}||{{{{{{{{z||{|{{|{||{z{z{{z|{||||z{z|{{{z{|{{||||{zz{{z{z{z{{{|||z{{zyz{z|{{{{{{||zz{{{zy{{{{z|{{z|{{zzzz{{{{{||{{{{zyzzz|{{{{{{{{{zz{zz{z|{z{|||{z{zzzzz{|{z{|{|{zzzzzzz{z{}{z{{zzz{{zzzz{{yz{{{{zzzz{{{{{{{z||{{z{{zz{{{{z{{{{|zzzz{z{{y{{{z{{||{{z{{{{{|{{|{{}zz|z{|z{{{|{{z|}{{{{{{z{{|{||||{{|{{z{{{||||{{|{|z{|zz|{|||{{{{{||{{{|{{{{||{||{{|{{{{|{{|||{|}|z{z|{{z{{{|||||||{|{{zz{||{|||}|{{{{{{{{{{|{{||{|{{{{{{{{||||}|||{{|{{{{|||{|}{||{{{{|{{{|{|{z|{{{{{|z{{||{{{||}{{{{{{{z{||{}||}{|z{zz{z{||z{z{{{{{z{{{zz{|{{||{{{{{{|zzz{{||{||||{{z{zz{{||{|||{{z{{|{{{{|{|||{|z{{{zz{{{{{z{{{{{|zzz{z{z{|{|{|{z{{{{zz{z{{{||{|{z{zzzz{{|zzz{|z{{z{zzz{z{{{{z{zzz{yz{z|{|{{{{zz{|{zz{zz{{|{{|{{zz{zz{zz{z{z{|{zzzzzz{y{{{zz{{z|{{z{{zzzz{{{{{zz{|zzzzzzz|{{{{{{yz{z{{{{{{{z|{{{z{{z{{{{{{{|{{|{{z{{z{z{}{{|{{{{{{{{z{{|{{|{{|{{z{{y{{{||{|{{|{{zz{{z{{z||{{}{|{{{|{z{z{|||||{|{|{{{{|{|{{{{|{||z{{z{zz||{{|||{{{{{|{{{|||{|{|}z{z{{|{{||||||{||{{{{{{{{{||{|||{{{||{|{}{|||||||{z|{{z{{||{||{{{{{|{{{z{{{}{{{|{{{{y{|{{{|{{||}{{{{{z|{||{|||{|{{{z{z|{z{{||{{||{zzzz{{{||{||{|||z{zzz{||{|{{|{{{{zzzzz{{z{|{|{{|{{{z{{z{{{{|{{{zzyzz{y|{z{{{{|{{zz{y{{z{|z{{{{{z{z{{{y{z|{z{|z{{{z{{zzzz{{|{{{zzzzzzzz{{{z{{|{z{{zz{z{{{{zz{}{{z|{z{zz{{{|{z{{z{zyyz{y{z{{{{{{{{|z{z{{z{{{z{{{{{{zzzzy{{{{z|||{{z{{z{zz{{z{{{{zz|z{zz{z{|{{|}{{{{zz{{{{{{{{{|{{z{{z{{zz|{|||{{{z{{zzzz{{|{{|{{{{{{{z{z{|||{{|{{z{zz{{{{{|||{{{{{{{{z|z||{||{{|{{z{{zz||}||}{|{}{|{||{{|}}|||}|{{{{{|{{||{||||||{{z||z{|||{|||{{{|{z{{|{{||{||{{{z|{{{|{{{||{||{|{{z{{{|{{||||}{{z{{{{{{{||{|||{z{{{z{z{{{{{{{{||{|{zz{{|{{||{|{{zz{zz{yz{|{{{|z|z{|{{{|{{{{{|||{zzz{z{{z{||{|{{z{{zzy{{|{{{{{{{{{zzz{z{{{{{{{|z{{zy{zz|z|{{||{{z{yz{zz{|{{z{z{zz{zz{{zz{zz{z{{z{{zzz{zz{{{z{{z{z{{zzz{{z{{|z{|{{{{yyyy{z|{z{|{{{z{zz{zzz{{{{{{zz{zz{zxzzz{z{{{{zz{zzzz|{|{z{|{{z{{zyzz{{{{{{{|z|{zz{|{{{{{{|{{zz{zz{zy{||z{{{|{zzz{{z{|{z|{{{|{|z{{{{z{|||z|{|{{{zz{{{||{{|{||y{{z{|z{{|||{{||zz{{{{{{||||{|{|{z{zz{zz{{|}|{z||z{|{z|{||{{||||{{{z{{{{{||}|||||{|{z{|z{|||{{{||{{{z{|{{{||{|||{{|{z|{{{{|{{|||||z{{{{{{|||||||{{|z{{zz{{{{z||{{{{|z{z{{{||{|{|{{|{{{{z{|{{|{{|{{zz{{{{{||{{|||{|{{z{{z|{{|||||z{zy{|{{{{{{z{|{z{{zz{{{{{{|{{{{{{{{zz{z|{{|{|{|z{{z{{{{{{zz{|{{{z{zz{z{z{z{z|{zzzzzzzz{{{|{z{|{zyzz{{z{{{zz|z{{zzzzz|zzzz{z{{|{{{{{zzz{z{z{{{||{zz{z{z{z{{z{{{{|z{z{{{y{{{{{{{|zz{{z{{z{{{{{{{{{zz{{zzz{{|{{|||{y{zzzz|{|{z{{{{zz{z{z{{{{{{{{|z|{{zz{zzz|{|z{z{z{z{{{z{{{{{{{|{|zz{z|z{|{{{||||{zz{{{z{{{{|||{|z{{|{{|z||{|}{||{{{{z{zz{|{|{{||{z|{{z{{{|{{||{}{{{{{|{{|}||{||||z{{z{{{||||||}||{|{{|{|{{|}{|||{{{z|z|z||{}{|||{z{{{{{{||||}|||{{z{{z{z{{{|{{|||{{{|z{{{||{z{}|{{{{{zzz{|{zz{|{|z{zzzz{z{|{|{{|z{{|zyz{|{{{{{||{zzyzz{|{z{{{{{|{zy{z{zz|{{|{{{|z{{{z{zz{{{z|{z|zzzzzzzzzz{{|{{z{z{z{zz{{{{{z{{{{zyzzzzz{zz|z{z{{yzzzzzzz|{{{|{{zzzzz{zz{{{{{{{z{zz{yzzyzz{{{{{{{{y{zz{yzz{{z{{{{{z{yzzz{z{z{|{{zzz{{{zzz{|z{|{{{{zz{z{y{|z{{|zzzz{{zz{z{z{|{{||{zz{zz{{|{{z{{{{{z{z{zzzz{{|{{{|z{{zz{zz{{{z{{{|{{z{z|zz||{|{{{{{zz{{zzz|{|{{||{z{|zz|{z{{{|{{{|{{{{{{zz{||z{|}||zz{{zzz{{z{}{{|{z|{{{{{{|{{|||||{{{{||||}{||||||{{|{{{|{{||{{|||{{{{zz{|z|{{|||{{z|{{zz|{{|{||{z{{z{{z{{|{{|||{|z{zz{|z{z{|{{{{zz{{{zyz{|{{|||{zzzz{zzzz{{||z{z{{zz{zzz|{{{{{{zzzzzzzzz|{z{|z{{{{zy{zz{{z{{z{{|{{zyy{{y{z||{|{{zz{{{{{zz{{{{{{z{zzyzz{z{{{{z|{{zzzzzzzz{{{zzz{z{zzzyzzzz{z{{z{{{zzzzyy{{{|{{{z{zz{zzzz{z{{{{{{|zzzz{z{z{{{yzz{|zzzzzyzzz{zz{{{{zz{zzzz{{{{z{{{{{zzz{z{{zz{z{{z{zzz{zz{z{{{{{{{{{{{{z{z{z{z{{|z|z{yyz{{{{zz|{|{{{zzzzy{z{{{||z|{{{z{{zz{z{{{z||zzz{zzz{{||{{{|{{{{{{{z{{{{{|{|||z|y{{{zz||{|||||{z{|z{{z|{{{{|{{{{|{z{{z{{{{|{|||{{{{{{z||{{{|||{{{|z{{{{||{{{{{{z{{{{{{{{{{{|{|||{{{z{{{{|{|{|{{{{zz{{{{|{||||{zz{{zz{z{||{{{{{{{zz{{zy|{{|{|{|{{{zz{|yz||z{{{{{z{{{y{{{|{{||||{z{|{zz{z||zz{{{{|z{{{zy{{|{zz|{{{{zz{{yz{z{z|||zzzz{{z{z{{z{{{{{{zzzzzzz{{{zz{{z{{z{zzzz{z{{{{|zzzzzz{{{|{{{{{{zzy{{zzz{|{{{z|{zz{{zzzz|{{{{{{|{z{{zz{z{{{z|{{{{{zzzzzzzyy{{{{{zz{z{zzzzz{{{{{{|zz{zzzzz|z{{z{{{zzzzz{{{{{{{{{{z{zz{zz{|z|{{||{zz{{{z{zz{{{{{{{{zz{{zz{{{zy{z{{z{zz{zzz{{||z{|{{{{z{{{|{|{|z{|z{{|y{{|{{|{|{||{{{z|{{zz}{{{|{{{{z{y{{{{{|||{|}|||{{z{{{{|{|||||{{{{{{{z|}|{{{{||z}{{{{{{{{||||{{{z{{{{|{|{}|||{||z{{{{{{||||}||||{z{{z{{{{{|||{{{z{z{{{{}z{{{|{{{{{z{{{{||{{{{|z{{{{{{{||||{{{|{zz{{{z{{{{|{||{|{{z{{{zz{{{{{|zy|z|{zzzz{{{{|z|{{|zyzz{{{z{|{{|z{{z{{{zz{{{z{{{{z{zyz{zz{{{{|||zz{{z{{zzz{|z{{{z{{{{zz{z|{{z{{{zz{{{zz{{z|{{{{{z{{{z{zzz{{|{||{{zz{zz{zy{zzz{{|{z{z{zzyz{{{z{|{yzzz{{{z{{{z{{z|zzz{{zzz||{z{||{{z{z{yy{{{|{{{{{{{{z{{z{|||{{||z||{z{zzzz||z{{{|z{{{{{z{{|{z{{{z|z{{z{z||{{{{{|{z|{{{|{{{{z{|{||{{z{{z|{||{{||}|{{{{|z{{||{{|}|{|z{{{{{{||{|||}|{{z{||{{{{{{}||||{{{||{zz|{||{{{|{{{{{{{}|{|{|||{y{|{z{{{|{}{|{||{{{|{z{|||{|{|{|{{{{{{{||||{|}||z{{{{{{||{{{||{{{{{z|{z{{|{{{|{z{yz{z|{{|{||{|}|{{{zz{{{|{{{{||{zz{{{zyz{{|{{||{z{z{z{|{z{|y||{{{{zzzz{{{|{{}z|{zzz{z{z{z{zz{|{{zz|{{zzz{{{z{z|{z{zy{zzz{{z|{{zyzyzzzzz{{{{{{||{{{yyz{{{|{|z{{{{|{{{zzzz{{{|{{{|z{zzzz{zz{{|{|{{zzz{zzz{z|z{|{{zz{zzzzzz{{{{{{z{{{{{zzz{{zz|z||zz{zzzz{{z{|z|{{z{{{{z{{{{{||{{|zz{{zzzz{{{{{{}z{z|y{{{z{{{{{|||{zz{z{z{{||{{||{{{{z{{{z|||{|{||z{{zz|{{{{{|||||{z{||zz{|{{|{|||{{{{{{{{{|{|}|}|{{z{{|{z{{||{|||{{{{{{{{z}||||||{{{{|{|}{||{{||{{{z{{{z{{|{{|{|}|{{{{{zz{}{||{z||{{{{yz{|{{|{{||{{{z{{|z{{{{{{|{z|{zy{{z{{{{{|{{{z{zzz|y{{||{{{{z{{zzz{{{{|{z|{{{zzz|zzz{{{{{z||{zz{zzzzz|{|{{||{{zzzz{z{{{{{|||zzzz{zzz{{zz|{{zzzz{zz{z{{|{{{{{zz{yz{zz{{{zz{{{yy{zzzy{z|zz{{|{zzzzzzyz{zz|{{{|zzz{z{zzz{{{|{{z{zzz{{zzz{{{{{zzz{zzzzzzz{{z||{{{zzz{{yz{|{z{{|zz{zz{{|z{{{}{{{|{{zzzzz{z{{z{{{{z{{zyzz{{{{|{{{|{z|zz{{z|{|{{{|{{{{z{{yz|zzz{{{{{{zz{zz{|{||{{{{{z{z|{z{z{{||||{{|{z{{z|{|||{{||{z{{{zz{{|||{|||{z|{{{{{{|{z|{|z{|{{{z{{{{{||}{|||{{{{{z{|{|{{||}{{{{{{{{{|||{|{{z{{{{z{{|||{{{|{{{z|{z|{|{|}|||{{{z{{{z{||||{{|||{{z{{z{|{||{{{{|{z{yz{|{{{{{||{z{{z{{{{|{{{{{}{{{z{{zz{{{|{|||{z{z{{{z|{{{{{{{{{{zz{z{z{{|{{{{|zzzy{{y{{|{{{{|zz{{{{zz{z{{yz|z{z{{zzzz{{|{{{{zz{{zy{z|{{z{{z{|{z{zyzyz{{z{{{|{|yz{zzzzzzzz{{z|z{{{y{zyz{{{{{{{zy{{zzzzyz{{z{{{z{zyzz{yz{z{{|{{y{zzzz{zz{z{{{{|zzzzz{{zzz{{z{||zz{z{z{{z{z{{|{{z{{{z{{{z||||{{{{{{{{zzzz{z{||{{z{{{zzz{z{{{{{|zz{{z{{zz{|{{{{{{{{|{{{|{{{{{{|{|z{{z{{|{z{{{}{{}{{{{{{z{|}|||}|{{z{{{z{{{|{|}|||{{z{z{{{{{{{||{{{z{{{|z{{}|||||{|{{|{{{{{{||{{|{|{{z{z{z|z{{||}{{zz{z{z|||{|{||z{{{z{{{z{|{{{}{|{{{{{zzzz{z{{||}z{{|zz{z{|||{{{zzz{{zz{zz||z|{{{zzz{{zz{{{{{{|{}{zz{{zyz{{z{{{{{{zy{{{z{zz{{{|{{z{{zzz{y{zz{{{{{zzzzzzzzz{{zz{{{z{{zzzyzzz{zz{{y{zzyzzzz{zz|z{|{{zyyyz{{z{|z{{|{zzzzzzzz{z{{|{{{zyz{zyzzz{z{z{{{zz{zzzzz{zzz{{{|{zzzz{yzz{z{z{z{zzzzyzzzz|z{{{z{zzzy{zzzz{zz{z{|{zzzyyzz|{{z{{{{{z{zzzyz{{{|z|}|{zz{zzzzz{{{{{{{{{|z{yzz{{|{{||{{{z{{{z{{{{{z|{{{{z{{z{{{|||||{|{{{z|{{{{{||{{|{zzz{|{{z|{||||{{{{yz{{{{|{|{{|||{{{z{{|{{{z{||{{|{{{{{z{{||{}|||{z{||z{{{{{{|{|{{{z{|zzz{{||{{}||{{{{{z{|{{}{|{|{z{z{yzz{|||{||{zz{{zzz{z{||||{|{z{{z{{{{{||{|{||zz{{z{z{{|{z{|}{z{zz{{z{{{{{|{|{{{zzzzz{||{{{{||z{zy{y{z|{{y|{||zzzzyzz{{{|{|{{{{{{z{z{{{{|{|{{{zzy{zzz{z{{z{z{zzzzz{zz{{zz{{{{zzzzyzzz{zzz{||{zz{{zzz{{{{{{{z{{{{zzzzy{zz|z{||z{{zzzzyz{|{{{{{{z{z{y{{z{|z{{{{{z{zzzzz{|{{{||{{z{z{z{z{|{{{{{|{{{zzz{z{z{z|{{|z{{z{zz{{{{|{{{{z{z|zz|z|||{{{{{|z{zz{{zz{|{{||{|{{zz{{{{{{{{|{{{{{{|{{||{|{|||{z{{z|z{{|{{|{|||{|{{{{{|z{||{{|{z{{|{{{{||{{||||||z{{zz{{{||{|{{{{{{{{{|{|||||||{|{{{{z{|{|{|||{|{{z{z{{|{||{|{|||{z{{{{{|||||{|{z{z{{z{z||{|{||{{{|{{{{{{|{{||{{{z{zzzzz{|{|{{{z{{{{{{{z{{{{|z{|{zzz{zz{||{|{{|{{zy{{z{{{z{z|{|{{zzzzz{{{{|{|{{{{zzzz|z{{{z{{{{{z{zz{{zzz{{z{|z{{{z{zz{z{{zz|{zz{z{y{zzzzz|{{z|z{z{z{zzzz|z{{{{{zzzzz{{{{{z{{{{zzzz{{zzz{{{{{|{z{z{zz{yz{z{zz{zz{{zzz{zyzz{z{{zz{z{z{zy{z{z{{{{zzzzzzz{{|{z{{|{{{{{zy{zzz|z{z{{{{{zzz{{{|z{{{{{{y{z|{z{{z|{{{{||zz{y{zz{{{{{{|{zz{{z{z{{|||{|{|{{{{z{{{{|{{|{{{{{zzz{{{{|{}|}||{{z{z{z|z{||{||{{{{{z|{{}|{{{{{{{z|{|||{{||{|||||{{{{||{{||{|||||z|z{zzz}|{|{||}|{{z{{z|{{{|{|||{{z|{{z||z{|{{{{{{{yz{{z{{{{{{{{{{z{z{{z{{{{{{|{|z{zzyzz{{{z|{{{|zz{zz{z{z|{|{|{z{z|zyz{z{zz{|{||{zzzzzzzzz{{z|{zzzzz{zz{z{{yz|{{z{zzzzz{zz|{{{{{zzz{zzxz|z{z{{{z{zzzy{zz{z{z{zzzzzz{z{zz{z{z{{{zyzyzyzyz|{{zzzz{{zzzzzzz{{z{{|{zzzyzz{zzzzzzzz{{z{yzzyy{zzz{{zzzzzzzyzzy{z{z{{{zxzzzzzyz{z{z|{zzzzy{zz{z{zzz|{|zzzzzyz|{{{{{{{{{z{zzzz{{{{{z|{{zz{y{zzzz{{z{{{z{{{zzzz{{{|z{{|zzzz{zz{{{{{y{z{{zzzz{zzzz{{{z{|{zz{z{{{z{{{{{z}|{zzzzzzy{{{||{|z|{{{z{{z{{{z{{||{{z{z|{z{|{{||{|{z{{{{z|{|{{|||{{z{{zz{{{|{z||{{z{{zz{{{{{z|{||{|z{z{y{{z|{{{{{{z{zz{{z{{{{{{z|{{{zzzzzz{z{z{{|{z{{{{zzzzz{{z|{|z{{{{zyzzz{{|{{|{{{zz{{zy{{{|{z{{zz{zzzz{{zzz{{{zz{zzyy{zzz{z{|{|z{zy{{zz{{{{z{|zzzzzz{zz{zzzz{yz{{zzzyy{zz{{{{{{yzyzyyzzzz|{{{{z{zzyzyy{{zz|{z|{zz{yzyz{z{z{{{zzzz{yzzzzzz{yz{zzzzzyz{zz{{yzz{zzyzzzy{z{{z{{{{{{zzz{{zzz{zzz{{{zzzz{{zy{{{{{{{zzyz{zy{zzz{{{|{|zz{yzzzzzzzz{{{z{z{z{zzz{|{{{zzz{zz{zyyy{{|{{z||zz{{yzzz{{|zz{z{zzz{{{zzz{{|{{{{z{zz|z|z{|{{{|{|{z{z|{zz{|{|{z{{{z{z{z{z{|{{{{{|{z{{zz||{{{|||{{{{{{{z{{z||{{|||{zz{zy{{{z{|{||{{{zz|{z{{{{{{{|}{{{{{{{{{z{{{{{||{{y{{zz{{z{{{{z{zz{zzzzz{{{{{{|{zyz{{zz{|{{z{{{{{z{{zzz{{{|z||{{{{z{{yz|z|{{||{{zzz{zzz{z{{{{||z{{zzzzz{||zz{z{{z|{zz{z{|{|{{{|{{{{z{{{{{{{z{{|{z{yzzz{{{{{{|z|{zz{zzzz{{{{{{{{{zzz{y|{z{{{{z{{zyzzz{y{{z{z||{{z{zzzzzzz{z{{{{{zzzy{zyz{{zzz{z|zz{y{{zzz{{|{|{{zy{{zzz{z{{z{{{|zzyzzzzz{{z|{{|{{{yyzz|{z{|{{{z{zzzzzzzz{{{{{z{{{|zz{zz{{{z{{|{{{z{zz{z{{{{{|{{{{z{{zzzz{|{{{{{{{{z|z{{z|{}|{{||{{{zzz{{{{{{|{|{{z{z{{z{||{{{{{z{z{{{z{{{{{{||||{{{{{||{{|{||||||{{||{{{{|{{{}{|{z{{{z{{||{|{z{||{{z{z{{{{|||{{||{z{|{{{{{{|||}|{{zzz{{z{|{|||}|zzz|z{z{{{{|||{{{{{z{{{z{{{{z{||z{z{zzzz{{|||{{|yzzzy{{{{{|{z|{{z{z{{{{z{{{|z||{{{z{{z{zz{|{{z|||{zzz{|z|{z|z|{|zzzz{{{z{|{{{{|{{z{{zzzz{{{zzz{{z{yzz{zz{{{{{{{|z{zzzz{z{{{{{{|{{zy{y{y{z{{{zz{{z{z{{zzzz{|{{{z{{zzzzz{yzzz{{{z{zzzzzz{yy{z{||{zz{zz{{zy|z{z{{{{zz{zz{z{{{{{{{{|zzz{{zz{|{{|{{{|{zzzz{zz{{{z{{||{{{{{z{{{||{{{{{{{{zz{{zz||||{|{|zzz{{z{z{zz{{{{{z{zz{z{|{{{|||{{{{z|{{{|{{{{{||{{{{{{zz||{{||{|||{{{{{{{|{|{||{{{{{z|{|{z{|{|{|||{{z{{{{|{{||||}{{|zzz{{{{||{|||{z{{|{{{{|{||||{z|{{|{zz|{||||{z{{z|{{{|||{{||}{z{zz{z{{|{|{{{{{z{{z{z|{{{{{{|{z|{zzz|z{{{{|{{{z{z{{z{{{{|{{{||{{{z{{zz{{|{{|{|zz{{zyzz{z|{{|{|z|z{zz{y{{|{z|z|z{|z{{zz{{{{{||zzzz{{{zzz{{z{{{{z{z{zzzz{|z{z{{zzzz{{yzzz{{{{zz{{zzzz{zz{{{z{{{{{z{{zzz{{{{z{{|{{yyzzzzz{z{y{z{zzzzzzzzzzzzzz|{{{z{z{{{yz{{{{z{|{yzz{zzzz{{{{z{||{{zzy{z{{|{{z{|zz|{{zzz{|{{{||{z{{yz{{z{{{||{z{{z{z{{{{{{{{{{|{|zzzzzz{{{{zz|{|{{|{{{|z|{|||{||{{{{{{{{|{||{|||{z{{{z{{{{||{{{{}zz{{z{{||{|{{|{{{{{{{{{{{{z{}{||{{|{||{{}}|||||{{{{{z|{|||||{||{{{{{zz|{|{|{||||z{{{{zz|||{{|||z{|zz{z{{{{|||||{{{{{{{{{|{{{|{{{{zz{z{z{z||{{{{zz{{{zzy{{{{{|{{{zzz{{z{||{{{~||{{y{z{zz{z{{|{|{zz{yzzzzz{|{|{|{{{{yyz{zzzz{{{z|zz{zz{zz{z{{z{{{|zzzzzzz{{{{{{{|zzzzzzz{yzz{y{z{zyzz{z{z{{|zzz{zzz{{zzzz{z{z{{z{{{{{z{{zz{{{{{{{{{zyy{{{y{{{{z{|zzzz{zzzz{z{{{{{zzzzzzz{z{{z{{|{zz{zzzz{{|{{|{||{{zz{yz{|{{{z{|{{z{zzz{z{z{|{{||{z{zz{zzy{|{{{{{{zzz{zzz{{{{{{||{z{{{{{{{|{{{|{{{{{{{zz|{||||||{z{{{{{{{{{{||{{||{z{{|{{{|||{|{{|{z{{|{{||{{{}||{|{zz{|{|}|{{{}{{z{{{{{{z|||{|{{{{{{{{zz{{|{|{|{{|{{{z{{z|{{{|{|{|{{|z{{{|{|||{|{{{{z{{{{{|{{||{z{{z{{{{{|{{{||{{{|z{z{z||{{{{{{{{{{{{{z{{|{{{|{{{zz{z{zzy{||{}||{zzz{zz{{{|{{|}{{zzyzzz{{{{|z{{z{{zz{zzz{{{z{z{{z{{{{z{{|{|{{|{{z{{{{zz{||{z{{{{zzzzz{zz{}z|{{{{zyz{yz{{{|zz{|{zz{zzzyz{z{{|{{{{zzzyyxy{{|{z{{{zzzzzzzzz{z{{{{z{|{yzzzzz{{|z||{zzzzzzzz{z{{{{|{{{|zzz{{{z|{z||{{zz{{{{z{z|z{|{|z{{zzzzz{|{{|{|z{z{{{z{{{|{||{|{{zz{zz{{{{{{{{{z{{{{zzz{{{z{{{|{{{{{{{z{|{|}}|{|zz{zzz{{{{{|||{|{z{{z{{z{{{{|{}z{{z{{|zz{||{{||{{{z{{}|{|{{||||||{|z||{{{|}||||{z{{{{{{{||{||{{||{|{{z{||{{||{|{|z{||{{{||z|{{||{{zz{{{{{|{{|{|}|{{{{z{z{|||||||{|{y{z{{{{|||{||{{zy{z{z{{{{{{|{{{zzzzyz{z{||{|{z{zzzz{{z{|zzzz{{z{yz{{{z{{{zz{{{{zzzz{zzz|||zz{z{{z{yzz{{{z{{{{{{zzz{{z{z{{z{{{zzzyzzzz{{z{zzz{zz{zzz{yzz{{{z|{zyzzzzzyz{{z|z{{zzzzzyyz{{{{z{{{yzzzyzzyyz{y{{{{yzz{zzyzz{{y{{{{{{zz{zz{{{{{z{{{{{z{{zzyzz{z{{{z{{yzzz{z{z{{|{|{z{{z{{zz{{|{z{||z{zzzzzz{z|{{}{z|zzz{zz{{{||{|{{{zz{zzz{{{{{{||||{{z{{zyz{{|{|||zz{{{z{{|{{|||{{z{zz{{{z{||{{{{{zz{{{{zz|||{{||{{{{zz{{{||{{|{{{|{{{{|zz{||||{|||{{{{z|{{{{{{|||{z|zzzz{{{{}|{{|{|{|{{{z{{||{{{|z{zz{{z{{|{|{|||{z{zzz{{{z|{{{|z{{{z{{z{|{||{z{|{{y||z{{{|{{{{{{{zzzzzzzz{{|{z{{z{zy|z{zz|{{|{{{{{zzyzz{{z{{{z{{{{{zz{{z{{||{{z|zz{{zyz{z{{{z{||zzzzy{yzz{{{{z{zz|zzzzyzzzz{{{z{{zzzzzyz{z{{{{{{zyyy{{zzz{{z|{{zzy{yzyzyz{{|z{{{z{zy{zzyz{{y{z{zzzyyzzzz{{{{z{z|z{zzzzyzzzzzzz|{{{zz{zz{z{z{{{|{{zz{zyzzy{|{z{{|{{{zzz{zzz{{z{{||{zz{{zz{{z{z{{z{{|zzzy{{||{z{|{{{{{{{z{{{zz{{{{{{{zz{{{{{||{{{|y{{zz|{{{||{z{|{|{{{zzzz{{{{{{{z|z{{{{{{{{{{{|||{zz{z|||{|{{||||{{{{{|zz{||||{{{{{{{{{|z||||{|{|{{z{{|{z{|{{|{|||z{|y{y|{z|{{{{|z{z{{|{{{{z{{{{{{zzzyz{{||{|{{|{{z{y|z|z{{{{z{|}z{{{z{{y{{|{{|{{{z{zz{z{{z{{{{{{{{{z{{yz{{{{{{|{{zzzz{{{{{{{{{z{{{{zzz{z|{|{z{{|{zz{{z{z{|{{z|{z{{zzz{zz{z{zz{{{{z{zzzzzz{z{{{{z{zz{zzz{{{|{{{{z{zzzy{z{{{{{{{{zzzzyzyz{{{z|{{{|zzz{z{zzzzzzz{{|z{zzzzz{{z{z|{{{zzzzz{zy{z|{{z{{z{zz{zzz||zzz{{|zzz{{z{z{{{{|{{}{zz{z{zz{{{|||||{{{{{z{z{{|{{{{{{z{zzz{{|{||{{||{{{{{{|z{{{|{}{{{zz{{{{{{|{||{||{{|z{z{|{}zz|{}||{{zz{zz||{{|{{{|{z{z{{{|||{|{|{{{{{{|{{{|||{{{{|z|z||{|{|{|||{|{{|}z{{{|||{|{|{{z{{{{{{{|||||{{{{{{{{{{|||{||||{{{z{|y{{||{z||{{z{{{{zz{{{||{{|{{{zz{zzz{{{z{z{zzz{{{zxz|{{{{|||{{zzzzz{z{|||{z{{zy{z{z{{{||{{{zzzz{zyz{{{{{{{{{z{zzyzz{{{{{{{{zyzz{z{zz{{z|{{zzz{zz{zyz{{{z{{{zz{zzzzzz{z{{{|{zz|y{z{z{{z{z{|z{{{{zyy{{{{z{z{z{{zz{zzyz{{{}{{{z{z{zzz{zzzyz{{zzzzzzzzzz{{zzz{{{zzzzzzy{z{{{{{{{{zzzzz{z{{z{{{|z{|{z{zz{z{z{z{|zz{zzz{{{{|z{{{{|{{z|{z{{z{{{{{{z{z{{zz{z{|{{|{{{{z{z{zz{{{{{z{{{|{zz{z|{{{{|||{z{{{{{{||{||{|||{{{z{zy{|||{|{|{{z{{{{{{{|z{{||||{{{{{{{{|{||||{|{z{|{z|{{|{||{||{{{z{{z|||z{}||{{{{z{{{{||{|{|||z{{{|{{z|{{|{|{|{{zzz{z|{{|{||{{{{{{y{{z{{{{z{{{{zzzzz{{{{z{|zz{{z{{zzz{{{|z{{|{{zzyyzz{|{z{}}|{{yzzzzy{{|z{{|{{{zyzz{z{{{{{|{{z{{yy{yz{{{|{{{|z{{zzzzzz|{y{z{|{zzzzyz{z{{zz{{{z{zyyzzzz{zz{|z{zzz{zzzzz{{{{{{zzzzzzzzyz{|z{{{z{zzzzzzzzz{z{|{zyzzz{zzyzzz{z{zzzyzzzzyzz{{{z{{{zyzz|{zzzzzzz{{{zzzzzzzzz{{{{{{{{z{{zzzz{{zzzzz{{zzzzzzzyz{{|{||zz{z{zzzz{{{{{{|{{|y{{yzz{|{z|{z{zz{{yz{{{|{z{{{{{z{{zyzz{{{{{||z{{zz{{{{z{|{{{|{zz{{z{{{{}|||z||{zzz{{{{{{|{|||{zzz|{z{z|{||{|||{{zz|{{{}{{||}|{|{z{{z{|{}|{}{||zz{{{zz{||{|{|{|{zz|{{{|{{{{{||z{{zzz{{{{{{|z}{{{zz{{zz{{z|zz{{{{zyzzyz{z|{{{z{{zzzzzzz|{{{{{{{{z{z{{zzz{{|z|{||zzz{z{{{{{|{{|{{{{yz{zy{{{|{{{{z|yzzzzzz||{{{|{{zzzzyz{{|zz{{|{zz{{zzzz{z{{z{z{z{zzyzzyz{{{{{z{zzz{zzzz{{{{zz{{zyz{z{yz{{{z{z|{zz{zzzzzz{{{|{{{zzzzzzzy{{zz{{{z{{{z{zzzzz{zz{{z{z{{zzyz{{z{{{{{z{zz{zy{z{{{{{{{{{zzzzzzz{z{{|{{z{{zyzy{{{{{|{{|{z{zzz{zz|{{{{{zz{z{{{zz|{{||{|{|zzz{z{{||{{{{|z|{{{{z{z|||{|{{|z{{{z{|zz{z|{||{{{z{{z{z|z|{|{|{{z{{{z{z{||{|{|}{{{zz{{{{{zz||{|{z{{{{{z{|}|{{|||{{{z{{z|{|{|{{{|z{y{{z{{{{{{{{|{z{{|{|{|{{{||||{{y{z{{{{{|{{{{|{{z{z{yzz|{||{{{{z|z{{zz{{{{{{z{z{{{z{{y{{zz{{{{zzzz{zzzz{{|{|y|z{{z{zzz{z{{{{{{{z{zz{zz{z|zz{|{{{{zz{{z{{{{|{{{{zyzzzzz{{{{{{|{zz{{zzzzzzzz{{{{{{z{yzz{{|{{{|{{{{{z{zy{{{{{{{z{zz{zzyzz{{{z{{{{zz{{{z{z{z{zz||{z{zzzzz{z{z{{{|z{|zzy{{zzz{{z{|{yz{{z{zzz{{z{{{|{z{zz{z{z|||z{|{{{z{z{{{{{z{{{}{zz{zzzzzz{z{z{|{|{{z{{{z{z{|y{||{{{{zz{z|}|{{{{{z|{{{{zz{}|{{|{{{z{{|{z{{{|}{{{|z{{{|{{{{z{|{|||{{z{z{{zz}|{|{|||z|zz{{{|{|||{|{{{|{z|{{||{{{|||{{{{z|{{{|{}{{||{{|zz{{{||||||||{{{{z{zzz||{{|{}{z{z{{{{|{{{||{|{z{{{{{{{{|{{}|||{z{{{{{|{|{{{||{|{{zz{{{{z{|{{{{{|{z{{z{|{{{{{|{z{z{z{z{{z{||z|z{zzz{{z{{|{{|{|{zy{{{{z{{{{|||||zzz{zzzzz|{|{{|z{{zz{zzzz{z{{|{{z{z{{zz{|{{{z{|zz{zzz{{zz{{{{{{z{{{zzzz{z{z{z{{{zz{zzzz{{{{{{|z{zzzzzzz{{{|{{{{y{{{zz{zz|{z{{z{{zzz{zz{{{{{{{{{{z{zz{zzzzz{{z{{{{zzzzz{{{{z{{{{z{{{{z{z{{{{{{{{zz{{{z{z{{{|{{z|zz{{{{|z{{|{{||{{z{z{zz{z||z{{}{{|z{{{z{||{{{|{{{{zz{{{z{{{||{{|z|{y{{{{{{{|}|}}{z{|{zyz{}{{||}|{{{|{{|{{|||{|}|{{{{{|{z{||{|}|||{{{{{z|{||{|||}}||z{{{|z{{|{|||{zz{{z{{|z{{|{||||{{{{y|{{{{{z{}{{{zzz{z{{{{{{{{|z{{{z{{{{||{{{{|z{zz{{z|{|{|{{zzzzzz{{z{{{{{{{{{zz||zzz{|z{{{{|z{{zz{z{{z|{{{||zz{{{z{{y|{{zzz|{z{zzy{z{|{{{|{{{{z{{{zy{|{z{{{{{z{z{zz{|{z|y{{{{z{zz{zzz{{{{|z{zyzzy{zz||{z{{{{zz{{zz{zz{|z{{{zzz{{zyz{zz|{{{||z{{zzz{{{{zy{{{{zz{zzzzzz{z{{{z{{{z{{zzy{z{{z{{{z{zzz{z{z{{z{|{{{zz{zz{{{{z{{|{|zy{z{zyyz{{z{{{{zzzz{z{z{{{{||{|z{{zzzz{{{}{z|||{zzz{{{zz|z|{|{z{z{{zz{{|||||{||{{{{z{{{{||||{|}||{{zzzz{}||{{||{{{zzz{{||{|{{}}z{{{{{{{||{||{|||{{{{{|||}{||||||{||{{|{{||{|||{{{{{{{z{{|}{||{}||{{{{{||{||{{||{{{z{{z{{{{{||{{|{zzzz{z{{{{||{z{{|yzz{|{z{|{{{zzzzzzz{y{z|{|z{{zzz{zzz{{{{{|{|{{|{zzz{z{|zz{{{{zyzzz{z{{{{{{z{z{zzzzy{zzz{{|{{{{zy{zzzzz|z{{{{{z{zzzz{zz{{{{{{zz{zz{{zzzzz{{{z{zzzzyzzz|z|{z{{{{{{yzzzzzz{{{{|zzzzzzzz{zzz{{z||zzzzzyzy{{|z{{{{{zzyzzzzzz{{{|z{zyz{zz{{{zz{{{{{{zzzz{{z{{{{z{|{zz{zzzzz{{{z{{{{{{{zzzz{{{zz{{||z{zy{yz{{|||{|{z{z{zzzzz{|{z{{{{z{{{{{zzz||{z{{{{{{{z{z{{{{{|||{zy{{{z{{{{z|||{|{{{{{{zz||{{{||{|{z{{{z{|{||{||||{{z{{z{z|{{{}|||{y{{{{{{|}|{||||z{{{zz||||}{{{||zz{{{z{{{||{|||{{{{z|z{||{|{{|{{{{{{{{{{{|||}|{{{zzz{zzz|{|||{|{zzzzzzz{||{{{{{{{zz{z{{{{{z{|{|z{{{{zzy{{{{{{{|zzzyz{zz|{z{|{|{z{{zzz{{{{|{{{{|z{zzzyzz{{{{{|{|{z{z{{{zz{zz{|zz{{z{zyzy{z{z||{z|zyz{yyz{zz{{{{{{z{{yz{zz{{{zz{z{zzzy{zzzz{z{z{{yzzzzyzzzzz{{{zzzzz{{yzzz{zzz{{{z{zzz{{{zzz{zz{|{zzz{zyyzz{{{z{{z{zz{{{zz{{{{{{{{zz{zy{z{{{{{z{{zz{zzz{z{z|{{||{{{zz{zzzz{z{{|z{zz{{z{|z{z|{{{|zzz{z|{{z|{||{{z{|{z{{z{{{{|{{}{{{{z{{{z{{{|}||||z|z{{{{{z}{|||||||{z{{zz{||{|||{{{{{|{{{||||{|||{{{|{z{|z|{|||||{{{{{{z{{|{{|{||{{z{{{{{|{z{{{|||{{{{{{z{{{{{{||{{|z{{{z{||||||{{{{{|{z{{{||z{{{|z|z{zzz{{{{|{{|zzy{zzzzy|{{{z{{{zzzzz{{{{{z{{||{{yzz{zz{{{{||{{{{{z{zz{{{{{{{||{{{z{z{y{{{{{{{|{{zzzzy{z|z|zz{{{z{zzzz{y{{zz{{{z{zzzzzzzy{|{{{{zy{zyzzzz{{{z{|{{{yzz{zyz||z|{{{{zzzyzzzzzz{{{{{{z{z{yzzz{{zz{{{z{zy{z{yz{{zz{{{zzzyzzyzzz{z{{{{zz{y{yzyzz{{|{|{|zz{zzz{{{{{{{{|{zz{zzz{{{{{{{{{{yz|zz{{{{|{{|z{{z{{yz{z{|z{{{|z{zz{zzz{{|{{{|{{|{z{|zz{{{{{{{|{{{{z|z|{|{{|{||||z{{{{{{{|{||{||{{|z{||{{{|{|||{{z{{{{{z{{{{||{|{y|z{|{z{{||{{||{{{{{z{{}{||{|{|{{{{{{{{{{{|}{|||{zz{{z{{|{|{{||{{{{{y{{{{{{{|||{{{z{{{{{|{|{||z{{{z{{zz|||z{{{zzz{zz{zzz{{{zz|{z{{yzzz{|{{{{|{{|{zzz{zz{{{{||{{{z{{zzz{{{zz{{z{{z{zyz{yz{{{zz{{zzz{zz{z{{{z{{{zzyyyzzzzzz{{{zz{z{z{zzyyz{z{{{{{zzyzzyzz{z{{{{{zzzy{z{y{zz{{{{{zyzzyzyyzz{zz{{{z{z{xzy{zzyz{{{|zzzyy{z{zz{zz{{{zzy{z{y{zzy{|z{{{zzzzzzzz{{zz{{{|zz{zzyzyz{{{{{z{z{{zz{{{{{{{{|{{{{z|zyz{{{{{|{{{{z{zzzzzz|z{{{|{zzz{zz{{{||{{z{{{{{{|z{|{{{|||{zzzz{zzz{{{{|||||{z{{zzy{{{|{{{{|{z{z{zz{{||{|{||{z|{{|{z{{{||||{{{{{z|{|{}|{|{{||{{{{{{z||{{{{|{z{{z|zz|||||{|{{|{z{{z{||{|{||{{{{{z|{{{{||{{{{z{{z{zz{{|{z{|{z{{z{{zz{y{z{{|{{{{z{zzzzyz{{{{yz|zy{yzzzz{z{{{|{z{zzz{zyz{y{zz{{{{{zzzzzzzzz{z{{{zzzyyzzz{z{{z{||zzzzzzzzzz{zz|{{zzzzz{zz{y{z{{{zzzzz{zzyz{zzz{{{zzzyzzz{{z{{yz{yyyzzzzxzzz{zzz{{zzyzyzyzz{z{y{{|{yzzyzzy{{zzy{{zzzzyzzyyz{z{|z{|yzzy{{yz{{{zyz{{{zzzzzz{zzz{{z{{{z{{zzzz{{z{{{zz{zz{zzzy{z{z|{|{{zzzzz{z{{{z{{{{{zzzz{y{{{{z{{{{{zz{yz{zz{z{{{{{{{{zzz{z{|{{{z{{zzz{{zz{{{{|||||{{z|zzzz{{{z||||{z{{zz{z{|{{||{{zz|zzz{z|}z||{{{{z{zz|z{||{{||{{{{{zyz{{{|{{{|||{{{zz{z{{{{{||{{||{zzzzz{{{{{{{|{z{zzz{{z|{|{{{{|z{zyzzzz{|{{||{{{zzzy{z|z{z{|{{z{yz{|zz{{{{{||{{zz{{{zyz|{{{z{|{{{{zz{z|{z{{||{{zzzzz{{{{{{zz{{{|zy{zzy|{{{{{||{zzz{z{zz{{zz{{{{{zz{zzz{|{zz{{{z{yyzzz{{{{{{{{zzzz{zzy{zz|{{{||zyzzy{zz{{{{z{{|{zzzyzzzz{|{{{{{z{zzzyzzz{{z{|||zzzz{zzzz|{{{z{{z{{{z{{z{|{zz{{{zyzy{z{z{z{{{{{{{z{zzz{z{{z{{{{|{z{z{{z{||{{{{{z{zzz{zz{z|z{{|{{{zzz{{{{{||{{{|{|zzzz{z{{{|{{|{{{z{{|{{zz||{{{||{{{{{{z|{|{|{||{{{{{z{{{{{||{|{{|zzzzzz{||||||||z|{{{||{{{z{||||{{{{{}z|{||||{|||{}{|{zz||{|{{{||z{{{{z{{{|||||{{z{{{zz{{{{|||}|{|{y{{z{|{{{{|||{{z{{{zzz{{{|{{|{{z{yzzz{||{}{z{{zz{zz{{z{|{|{{{zzzzzzz{{z|{z{{{|{{zzz{{z{z|{{||{{{z{zz{|{{|zz{{{zzzz{zz{z{|{{{|{z{z{z{z{z{{{z{z{zy{zzzz{{zz{{zzzz{{y{z{z{{{z{{|zzzyzyzzz{{zz{{zzz{zzzyz{zzz|{{{z{yzzz{z{{z{{{z{{zzzzyzzzz{zz{{|{zzzzz{yzzzz{{{{{z{z{{zzzz{{{||z{zzz{yzz{zzz{{z{{{|zzzzz{z{{{{|{yzz{|{{{z{{{{|{zzz{yzz{zz{|{z{{{{{{yzzzzz{||{{{|z{zzzy{z{|{{{{||zzz|z{z{{{||{|{|z{zz{zz{{z{{{|||{{|{{{{{{|{|{{{{|{{z{{z{{{{{}|||z{z{{{{|||{{|||{|{{|{{{{{|{|{|||{{|{{{{{{{{{{|}|{z{{{z{{||{||||{{{|{{{|{{{z{||||{|{{z{z{{{|{{{{|{|zz{zz{{{{{{{{{{z{z{z{{{||{{|{z{{zz{z{{{{|{{|zz{zz{{zzzz{{{{{z{z{zzzzzz{z{{{|||zzzzz{zy{{{zz{{|zzzzzzzzz{{{z{{|{y{zzzy{z{{{z{|{zzzzzzyzzz{z{z{z{zzzzzz{{z{zz{z|{zzzzzzzz{z{{{|{zzzzzyyyz{{{|zyzzz{yyzzz{{{{zy{|zzzzzzzyz{{z{{{{{zyy{zzzz{zz|{{{zzzzzzzz{z|zzz{{{{yzzzz{{{{{{{{{zz{{{z{{{z{{|{{|yz{zzzzy{{{{z{{{{{z{{yzzz|{{{{{{zz{{zzz{{z||{{{z|{z{z{zzz|z|{{{{{zzz{{zzz||{|{{}{z{z{{{z{{{{|{{{|{{{zy{z|{||||||{z{{{|z{|||{|{|{{{{z{{|z{z{{{{{{|{{{z{|{{||{{{||{{{{{{{{{{{{|{{{{z{{|zzz{|{{{{||{|z{{z{{{z{{||||{{{{z{z{{{z{{|{{|{{{zzz{||{{{{{{|{z{{z{z{{||{||{{{{z{zz{{{||{{||z{{zzzz{z{{{{||{z{{z{zz{zz{{{{{{{z{z{{z{{{||{{|zz{zzz{{z{|{{z{{|{z{{{zzz{{{{{z{{z{zzzz{y{z{{{{{{|{zzzz{{{zz{{|||zzyzzy{zz{{{z{{{|zzyzzz{{{{{{{z{zz{zyz{z{{z{{z|{zzz{zz{zz{{{z{z{zz{zzyzz{{{{|{{{zz{{z{zyzzz{{|{|{zzzzzzz{{{{z{||z{zz{y{z{y{|{{{{{zzz{y{{{{{zz||{{zz{{z{{{{|||{|{{z{z{z{{{||{z{{z{{z{{{zz{{}{|{|{{{z{{{z|{{||||{|z{zz{{{{|{z||||||{{|{|z{{|}||||||zz|{{{{||{{{|||{z{{{|z{|||{|||{|{{z{{{{{|{|{|||{{{|{|{{{|{|{{||{}{{{yy{z||{|{|{|{{z|{{{}{{{{|||{{{z{{{y{{|{{|{|{zz{{{{z{{|{|{|{{z|zz{z{|{|{{{{{zzyzzyzyz{}{zz{|{{{zyz{zz{{{z{{{z{zzz{{z{{{{|z{{zz{zzzzz{{|{z{}{z{zyz{zz{z{|{|{{{z{zzz{zz{}{z{|{{z{yz{yz{{{{z{{zzzz{zzzzzz|z{|{|{{zz{zzzzz||z{z{{yz{zzzzz{zy{{{{{{zzzzz{{{{z{{{{{zy{zz{yyzzzz|{{zzzyz{zz{{zzz{{{zzzyz{zzzz|{{{{{zzzz{zzz{{{zz{z|zzzy{zzz|{{{|{{|{{z{z{{|{{|zz|{{z{zzzy{z{{z{{{{{{z{zz{zz{||{{{|{{zy|{{zz{|{{{|{|{zz{{y{{{z||||{{{zz{{y{{{|{{{|||{{z{{{z{z|{||||{{z{{||{z{{{|{{{|{{{{{z|z{{|{|||||{|{z{{{{|{|||}|{{{{zz{{{|{{{|||{{{z{{zzz{{{{|||||{{{zz{||{|{}|{{{zz{{{{{{|{{{|{{{z{z{{{z||{{||zz{{{{y{{{{|{{y{{{zz{zzzzz{{{{{|{{zz{zzzz{{|z{{{{zzzz{{{zz{{||{{|{{zzzy{{z|{{{{}{{{z{zzzzz{{z{{z{z{zz{zzz{{{zz{{{zzzzzzzzz{|z{|{{{{{zyzyz{z{|z{{{zzzzzzzz{{zz{{{{{z{zzzz{zz{zz{{{zz{{zzzy{z|{zz{{{zzz{zzzz{{zzz{{zz{zyzzzz{zz{{{|zz{{zz{z{{z{z{{{zzzz{zzz{z|{{{{{yzz{zzzyz{z|{{{{{z{{{z{zz{{|{|z{|zzzzy{{z|z{|{{|zz{y{{z{{|{{{{{{z{{|zzz{{{|{z{{{{z{{{{zz{{||||{|{{zzz{{{{{{{{{{|z{{{{zzz{{||{{{|{zz{{{z{{{{z{{{{{{z{z{{|{|{||{|{{z{{{{{{{}{{{{||{z{{{{{{{{{|{||||{z|{zz{|{{{|{||||z|{{{{}{{|||{|{{zz{|z{{{{{{||{|{zzz{{{{{{{{{||{{zz{z{{{{|{{{z{{z{{zzzyz{{{{{z{{zyzzzy{{{{zy|{{z{{zz{zz{{zz{|{{{zzzzzzy{||{z{{|zzzyzzz{{{{||zz{zz{zz{z{z{{zzz{{|{zzzzyy{{{{{{{zzz{zzzz{zz{{z{{{yzzyzyzzyz{zzz{zzzz{yzzyzz{zz{{z{y{zzzzz{{{z{z{|{zz{zyyy{z{z|z{{{{zzzz{z{{{|z{|{yzzz{zzz{{z|{{|{{zyzzy{z{{zzz{{{{z{{zzzyz{z{{{{{yy{zzzy{z{{{|||{|{zz{z{{z{|{|{{zzzz{zzzz{{{{{{{|zzz|{{{{|{{{{|{{{zzz{zz{{{|||{{{{z{{zz{z{{{|{{|{{{zz|z{z{|{{|{|{{{{{|{z{|||{{z{}{z{{z}{{|{{|{||{|{z{{{{z||||z||{|y{{{{|z{{{}{|||{zzzz{{z||{|{|{{{zz{|{zy{|{{{||{{{{y{{z{{{{{{|{{z{{zzz{{z|{||z{{{z{{zzyz|z{|z{z{z{zxzz{z{{{z{{{|zzzzzz{z{{z|{{{zzzzyz{zzz{{{z|{{zyzz{zzz{{{{{z{|{y{zzzzz}||{{z{|{zyzy{zzy|{z{|{|{z|{y{yz{{y{zzzz{{zzzzzzz{z{{z{{y{zzy{zyz{{z{{{{zz{{zyyz{z|{|yz{zyz{zzzzz{zz{{{z{zzzzy{yz{zzzzz{zzyzz{zy{zz{z{z{zz{zz{yzzzz{{{|z{zz{zzzz{{z{|{{{{{zzz{zzz||{{{{{{zyyzyzzz{{zz||{{zz{zzzzz{{{|{z{{z{zzzyzz{{{{{|z|{zz{{y{{z{z|{{{{{{zzz{{|{|{|||{z{yz{y{{{{{{{||{{zzz{zzz|{|{z||z|z{{{{{{{|{|{{{{{{z{{{|{{{{{||||{z{{{{|{{}|{{|{{}z{{z{{{{{{{{{|{|{z{z{z{|{|||{{||z{{{{{{{{||||{{{{|{z{z{{|{{{{}{{{{zz{{zz{|{{{{{{z{|{z{z{{}||{z|zzz{z{zyz{{{{||{z{yzzyyzz{z{{{|{{zzzz{zzz{{zz|{{{z{zz{zz{{{zz{{{zzzyzz|{z{{{z{{{z{yzzyzz{{{zz|{zz{{{{{zyz{|y{{{{zzzzyzzzzzzzz|{{zzzzzzzyzzz{{{{zzzzyzzzzz{{{{zzzzz{{zyzzz{z{z{{z{zyyzzzzz{zz{{{{z{zz{zzzz{{zzz|{z{yzyzyz{z{zz{{{zzzyzz{{z{|zz{{|zz{zzzz{z{{zz{{|zzz{zzzz{{{{|{{{z{zz{zz|z||z{{z|{{zzz{z{{||{|||{|{{{{z{zz|{z{|{{z{zz{{{{z{{|{{{|zz{{{{{{|{|{{{||zz{{{zzz{{{{|{|{{{{{zzzz||{||||}|{z{|||{{{{{{{||{{{{zzz{{}{||{{|{z{zz{|{{{}|{{||{{{{{z{{z{|{{|{|{{{{z{{{{{{||{{|{|{yzzz{||{{z|{|{{zzy{{zz|{|{{{{z|{z{z{z|{{|z|{{yzyzzy|zzz{z{|{{zz{|zzzz{{{z{{{|{zzzz{yz{{{{{{{z{zz|zzzz{{zzzz{{{|zyzzzy{{z|{{{{zzzzzzzzz{{zz{{{{{zzz{yzz{{{{{|{zz{yz{yzzz{{{{{{{zzzzyyzzz|{{{{|{yzyyzzzzz{z{{zzzz{zzz{yzzz{{{{zzz{zzy{zzzzz{z{{{{zzzzzyz{{|{{z{zzzz{zzz{z{{z|{{zzyzzz{{{{{{{{|{{z{zzyzyz{z{z{|{zzz{zz{z{{{{{|{{zzzzzz{{z{|{{z{{{{{|{{zz{{|zzz{z{{z{{zzz||{z|||{z{z{{{z{|{{{{||{{{z{{{|z|{{{z{||{zz{|{z{{||{|{{{z{{{{{{{{|{{{|{|{{{zz|{{z|{|{{|{{{{{z{{{{|{||||||z{{{{|{{{|{{{||{zz{z|zz{{z{|{{|{{{z{z{z{|||{{{|z{{z{{{{{|{{{{|||{zz{z{{{|{{{{|{z{{{{y{{||{||{z{y{y{z{z{z{{{z||{{zyzzyzz{|{z{{{{{{{yzz{z{|{|{{{{zzz{{z{{z{z|zz{{{zy{zyzz{{{{{{{{yzzzzz{zy{zz||{{zzzyzzzzzzz{{{{z{{zzyzzz{z{{{zz{yz{z{yyyzzzz{{zzzy{zyzzzz{zzz{{{{z{yyzzzz{{zzz{{zzzzzzzyzz{{zz{{{{{yzzyy{zy{{|{{zzzz{zyzzzz|{{{{{{{zzzzy{{z|z{{{z{{yzz{{zz{{||{{z{{zyz{{{||{|{{|{{zz{y{{{{{{{|{{{zz{z{zz{{|{z{|{{{{{zzzy{|zzz{{|{z{z{{{{{{|{{||{{{z{{{{|{{|z{|||{{{{z{zz{{z|{||{{{zzzz{{{}||||{|z{z{{{{z{{{z{||z|{|{{|{{{||||||{|{{{{{{||{{|{||{{z{|{{{{{|}{{||||{{z{{z{{{{z{|{{z{zzz{y{{{{{{{|{z{z{y{zz{{{|zz|{z{{z{zz{}{|}}|zzzzzzz{zzz{|zzz|{{zzyzzz{{{|{{||{{yzz{z{zz{|{|{z||y{z{{zy{{{{z{{||{zzzzzy{z{{{|{{z{{{zzyzz{zy{z{{zzzz{z{y{{{z{{{{{z{zzzzzzzz{z{{{yzzzzzyyz{{{{{{zzzzzz{y{{z{z{{z{zyzzzzy{{{zz{{z{{z{zzzzyz{zzz{{{{zzy{{zyz{{{z{z{zz{{zz{z{zz{{}|{{{zz{{{{zz{{z{||{z{zzzzz{{{z{{||z{zzzzz{{|{{{{z|{z{zz{zz{|{{{|{zzzzz{{z{z{|{{{|{|zzz{yzz{|}{z{|{{{{z{|{{|{||{|z{{{zzzz|{{{||{|{|||z{{z{z{||||{|{|{{{{{z{|||{|}|{|{{{{||{{|{{|||}{|{z{{zz|||{{{|}{|{{|{{{|{|||{{z|{{{z{{{{{||{{||{zz{{{z{{{z{z|||z{z{{{z{{{{|{{|{||yzz{zz{||{{{{|{z{z{{|||||}}|z{{{zzzy{zz|{z{{{zz{z{y{z{|z{{||{{{yzz{{y{{{{z{|{{{{{zzzz{|{{|{{{{{{zzyzz{{z{|{{{{zzzzzz{{zzyz{|{z{{z{zzzy{{{zz|{{{z{{yyzz{{{z{zz{zzzz{yzzz|z{z{{zzz{{yzzzz{|{z{{|zz{{yyzy|{{z{{||zzyzzzzyz{zzz{{{{{zzzzzzy{z|z{{{zz{z{yz{{z{{z{z{{zzz{z{yz{{|{z{|z{z{{yzz{z{{z{{{zzz{z{z{{y|z{{{{z{{zzz|z{{z{{|{{{z{zz{{yz{{|{||{{z{z|{y{{{{{z{{|{z{{zz{|{{|{{|}{{{{{{z{{{|{}||{{{z|z|zzz{||{{{||{z||||{{||}|{|||{z{{z|{{{{{{|{{||{{{{|{{||||{||{{{|{{{{{||{|{|||{yz{z|{|{|{{||{|{{{{{{{{|{z||||{|z{{z{{{{|{{{{||z{{{{z{z{|{|{||}{{|z{{zzz|}|~{||{zzy{z{z{{{|{{||z{{{z{{zz{{{{{{{{z{z{{zy{{|{{{{{{z{zzzzz{zz{z{|{zzz{z{{z{{{z{{{|zzzzzzzz{zzz{}|{z{{z{{z{|{{|z{z{{zz{{zzzz{z|{{z|{zzyzzzzzz|{z{{z{{y{zzyzz{{{{{{{zzzzyyyyzz{z{{{{zzz{{xzyyz{{{z{{{zzzzz{zz{y{{|{zzz{z{{zy{y{{|{{{{zz{{y{z{z{|{{{{zzy{zz{z{zzz{|{|z{z{zz{z{{|{||{{{{z{zzzzz{{{||{{{zzz{{z{z{{|{{}{{zz{|zzz|||{{|{{{{{{{{zz|{|||||}{{z{{{|{{{{{z{{}|z{{z{{{|}{{{||{{{{zzz{{|{}||{||{{|z{{||{{{{|{||{|z{{||{{}{{{{||{{{{|{yz{{|{||{{|{{{{z|||{{||{||{{|{{{{{||{|{|{{zzzzy{{z||z{|||{z{z{{{zz{z|{{|{|{z{z{{{{{||}~|z{{{zz|z{zz{zzzz{|{z{z{zz{|{{z{{{zzzzzz{{z{{{{{{{z{yzz{z{zz{{{z{z{{zzzzzzz{{z{z|{{{zzzzzzy{zz{{{|{{zzzzzzz{z{z{{{{{yy{{zzzzzz{|z{|z{zzzzzyzz{{{|{{{zzzyzzzzz{z{{{{zzzzyzzz{{{|z{z{{zzz{yzyz{{yz{zzzzzzzzzz{{zz{|{zyzzzz{zzzy{z{{{{z{yzzzzzz|{|{z{zz{{z{z{{{{z|{|{|{y{zyyz{{{|{{{{{z{z{{zz{{{{|{||{{z{zz{zz{{{{z||{zz{{{{{{{{|{{{z|{{z{{{{z||{|{|{|{{|{{{{{{{{|z|{{{{{{zzz{|||||{}||{{z|{{{{||z|{|{{z{zz{|{z|{{{||||{{z{{{z||||{{||{{{{{{z{{|{|{{|}|z{{{z|{{|{||{}|{{{zzzzz{{||||||{|{zzz{z{{{{{{|||zz{{{{z{{||{z||z{zz{z{z{}}}}{{||{zzzzyzz|{{z{{|{zz{zz{{{{{zz{{{{{z{zz{z{z{{{{||zz{z{zzz{{{{z{{z{z{{zz{z{{{{{{{{{yzz{{{zzzz{{{{zz{zz{z{z{z{y{||{{{{z{{yz{z{{{{{{zz{{zz{zz{z{z{zz{zzzzzzyz|yzz{{{{z{yzzzyz{{|{{{|{zz{zzzz{z{{z{zzz{zzzzzzz|{{z|z{zy{{zzzz|{{z{{{|{zz{{zzz{{{{{|z{{y{zzzz{||z{{|{{{z{z{zzzz|{|{|{|{|{zzz{{{{|{{}|{{z{{zz{z{{|{{{{{|{{{{z{{{|{{|||{{{{zz|{{{z|{|{{{{{{{{||{||{{{|||{{z{{z{z{{{{{|{{|zz{{{z{{|{{||||}{{{{{z{zz{|||{|{{{z{{{|{|||{||||{{{{||{{||{z{|{|{{{{zz{{{{{|||{{{{{{|z||}|||{}}{{zz{z{z{|z{{{}|{{z|{zzz{|{{{{{|{z|z{yz{|||}|{z{|{{z{{zzz{{{z{{zzz{zzyzz{z|{{||{zzzzzzyyzzz{{{|{{{zzz{zz{{z{z{{{|zzzzz{z{zz|z{{|zz{zzzzyz{{{z{z{{zz{z{zz{z|{{{z{zzzyyyyyz{z{z{z{zyzzzzz{z{zzz{}{zzzyz{zzz{{z{{{{{yzyy{yzz{{{zz{zzzyzzyyzzzzz{zzzyzyzzzz{{{z{{{|z{zzz{{yyz{{{{{|{zzyzzz{zz{{{z{{{zzz{zy{z|{{{{{{{zzz{zz{{z|z{{|{{{{zz{zyz{{{{{{{{{{{zzzzz|{{{{z|zzz{{y{z{{{{zz{{|{zzzz{zz{{|||||z{{{{{{{{{{{|{{{|{z{{{{{{z|{{|{{|{z{{{z{{{{{{{|||{{{{z{{{{{||{|||{z{{{{z|{|{|z{{||zz{{{z{||{|||}{{z{{zzz{{{{{{||{{|{z|z{{|{|||{{{z{zz{z{z{{{{|{|{{{{{{zzz{|{{||||{{|zzzzz{{|}|{z{yzzz{{{zz{z{{{{zz{z{zzzz{zz|z{z{z{zzz{zxz{{z|z{{zzzzzzy{{{z{{z{{{{zzz{{z{{{zz{{|z{z{y{zy{|zz{{{{{zyzz{zz{{z{zzzz{z{zzzyyzz{{{zz|{yzzzzy{zz{{z{|z{yzzyzxzz{z{||{{yzz{zzzz{z{zzz{{{zyzzyzyz{zy{{z{z{zzzzzyzy{z{{{{zzzzzz{z{{{{z{{zzzzz{y{y{{z{{zz{{zzyzyz{{zzz{{z{yzzzyzz{{z{{zz{{{{{{zzzzz|zz{|{{zzzz{{zz{{z{z{{|{zz{yz{z{{{{{{{|zzy{z{{z{{{||{|{z{{{{{{z||z{{{||{{zzzzzz{|||{{{||zzz{zzz{{|{{{{|zz{zz{{{{{{{{|||{{|{z{zzz{{|||{{{zz{zz{z{|{|{{|{|z{z{{z{{{|z{|{{{z{{{{z{{{{|{{z|{{{{z{z{zz{{z{|{{{{{zzzy{{z|{{{{z{yz{z|z{||||{||z{zzzy{{{{{{z{|{z{z{{z{z{|{|{|{|zzzz{zzzz{{{|zz{{zzyz{z{{{{{{z{||z{z{zzz{{|z{{{|z{{y{z{yz{{zz{{z{zzzzzzz{{{zz|{z{{zzzzzzz{z{{z|zzzzy{yzzy{{{{{{z{{z{yzyyzz{z{{z{{zyzzzzzy{{z{{{{zyzyzyzzzz{z{{z|{zyzzzzzy{{zz|{{z{zz{zy{yzzz{{{zzzzy{zzzz{{{z|z{zz{zzyz{{{z{{{|{{{zzzzz{z{{|{{|{{z{{yzzzz}{{z||{{{{z{zy{{{|||{{{{zzzz{{z{{{{{{{{{{zzzzzyz|{{||{|z{z{{z{{{{{|||||{{{{z{zzz||||||{{{z||{{z{{||z{|}{{z{z{{{{|{||{|}||{{{{{{{|z|}{|{{z{{{zz||{|{{|{|{zz{{{{{{|{{|{|}|{z{{{z|{{{{z{{|{{{z{zzzz{{{{|}{{z{{z||z{||||{{|{z{zz{z{{|}|}|z{zzzzzyzz|{{{z{{|yzzz{zzz{z{zz{{z{zzzz{zz{{z{{{zz{z{{zzzy{z|{z{{|{yzzyz{y{{z{z{z{{zzz{zzz{{{{z{{z{|zzzzyyz{{zy{{{z{{yzzzzz{z{z{{{zzy{{yz{z{zzzz{{{yzz{zyz{zz{{{zzzzzyzzzzz{zz{{{zz{{zyzzxzz{{z{{yz{yzyyyzz{zzz{{{z{zz{zyy{zz{{{{zzzzy|yzzz{{zz|{{{{y{{zzz{yzzz{{{zz|zz{zzyz{z{{{|zz{zzzzzz||{{|{|{zz{{{zz{z|{{z{z{{yz{zzz{{|{z{{|{{zy{{y{z{{|{{{zz{{z{{{{{{{|{|{{{{{{{zz{{{z|{{|{{{{{{z{z{|{{{{|{{{{z{{|{z}{z{|{|{{{|{zz{||{{|||{zzzz{z{z{|||{{{{zz{z{{|{{{{{{||{{{z{|{z{{|z{{{{|zz{zz{{{{{z{{{|z{{{{{zz{z||{{||||z|y{zz{{{}|}{|{{{zzz{zzzz{zz{{{z{zy{zyz{|{{z{||{zz{z{z{zzz{{|{{{{z{{zz{{|{|z{{|{zzzzz{z{z{z{{{{zz{zz{zy{|{zy{{yzz{{yz{z{{{zz{{{zz{{zzzz{{{z{{{{zy{zz{zyz{z{{|{{{zzzy{yzz{z|{{{{zzzzz{z{z{zyzz{zzz{zzzzyz{zzz{z{z{yzzyzzz{{zz{{zzz{zzzzzzz{|{{z{zzzzz{zzz{{{{{z{zyy|yyyzzz{zzzz|{zz{z{{{{{|{{{z{{zzzzyzz{|{z|{{|{z{zzzzy{{{{zzz{{{z{{zz{{|||{{{|{zz{{|{{{{||{|||zz{{z{{{{{{|{|||{{{|{z{z{|{|||{|{{z{{{z{}{{}||||z{{{{z{|{{{{|{||{z{{zz{z{||||{|||z{{{{{||{|||{{{|{{|{z{{{|{{{|}{{{{z{{{{{|{|{{{|{z|zzzzz{{{{{||||zz{z{{{z{{{{|{{|z{{{z{{||||{z{|zz{{y{zyzzz{{{{{z{y{zzzzz{{{{{{{zzz{zzz{|z{{{{{{{{||zz{zzz|{z{zzz{{{zzzz{z|{zz{|z{zz{{zz{z|y{z{{{z{zzyzzz{{{z{{|{zzzz{z{zzzzz{zzzzzzzzzy{z{{zz{{{{{zzzyzzz|{{{{|{{zzz{zzz{{{{{{zz{z{zyzyzzzz|{{{{{yzz{zzz{z{{{z{zz{{{z{zzz{|{z|{{{z{z{z{{|{{z||{y{{zzz{{|{{{|{{{{{z{zz{|{{|{{{{{zzzz{zzy{z{{{|{{{{{zz{z{{{{{{{|{|{z{{z|{{{{{|{|{{{{z{{z{{{|{{|{z{y{{|z{{{|||{|||{zzzz{{z{{|{{{||{z{{{z{{|{|{}||}{{{{{{{{{||||{|{|{{|{|z{z{|{||||{{{~{{|{||||||{{|z{{{zz{{{z||{||{z|{{{z{|{{{{|||{{zzzzz{{{||{{{{{zz{{{zz{|{|z{{|{{{z{|{z{{}||{{z{zz{zyzzz|{{z{{|{{z{yz{zz|z{{{{{{{zzzzzzzz{z{{|{{{{zyzzzz{{|{{{{{z{zzy{yz{z{{{{|zz{zzzzy{{{z{{{{{{zzzzzy{z{zz{{z{zzzzzzyzzy{{{z{z{yzyzzzzz{{z{{z{zzzzzzzzzzz|z{{{{zzzzzzz{{z{{zz{zxyzzyzyzzyz{z{{z{yyyzzz{{zz|{{zyzyz|{{zzyzz|{{zzzz{{{z{{zz{{{|zzzzz{zyz{{{{{{{zzz{{z{{{{{z{|{{zzzyyz{{{|{{|{{{yzzz{zzz{{{|z{{{{yz{{zz{{{{|{{|{z{zzzzzz{{{{|||{zz{{z{{{{{z{|z{|{z{{{{z{{||{{|{{|{z{{z{{{|{{{|{||{{z{|{z{|{{|{{||z{|{{z{{||{||{|z{{{{zzz{{{|||{{zz{z{{zz|z{z|{|{|z{|{{{{{|{{|{|{z{zzz{|{{|{{{{|{{{{{zy{z{|z{{{{z{z|{{{z{|z{{{{{zz{{{z{zyz{|z{{{{{{{zyzzz{zz{z{{|zzzz{zyyzzz{{{|{{z{z{{z{z{|{zz{{zzzzzyzzz{|z|{{{zzzz{zzzzz{zz{{{zzzzz{zzz{{zz|{{zzzzzzz{z{|zyzz{zzyzzzzz{{zz{zzz{yyzz{zzzz|{{{{{y{zzyzzyzzz{zz{{{{yyzzyyzzyy{yzzzzyy{zyzzzzzz|yzzzzzzzzyz{{{{{{z{zzzzzzy{{{z{{||{{zzzzzzz{{z{{{{{{zyzzzz{{z{{|{{zz{z{zzy{{{z{||{zzzz{zzyzzz|z{{zzzz{{yzz{{zz{{{{z{z{{zyz{{{{{{{|zzz{|{z{||z{{}{|{{z{{{zz|z||{{{{|z{{{{{z||{|{|{|{{zy{{{zz{{|{{{||{{{z{|{{{||{{{||{{{{{{z{{{{{|{|{zz{{zz{{{{|{{|}|{yzz{z{||{|{|||{{{zz{z{|{{|z{{{{{zzz{{z{{{{{{{{z{z{zzz{{||{||{{z{z{{yzyz{{y{zz{{zzzzy{z{z{z{|z{{zyyzy{z{zz{z{{z{zzzz{yz|z{|{z{{{zzyzzzz{z{{{{{{{z{zzzzyz{z{z{zyzzzzzzzy{{{z{{{z{zzzy{zzzz{z{{z{zyyzzzzzy{{{zzz{{zzzyzyzzyzz{{|zzz{yyzy{zyyz{z{{{zzzzyzzxz{z{{{z{yzy{zzzz{zzz{zz{{zy{{zyz|z{{{{{{zzz{zzzz{{z{{{{{y{{{yzz{zzz{zz{{{zzzzz{{{{{{{{|yz{{{z{zz{{{{{{{{{yzzyzz{{{{{{{{zzzzzzyz{{{{{{{z{z{|{zz{{{|{{{|{zzz{z{{z{{{|z{z{|{zz{z{z{|}||{{{{{zz{z{y||{{{|||z{{zz{{{{|z|{{||{{{z{{{z{|z{{|{|z{{|zzz{{{{|{|||{zzz{{{{{{|||}{||{{zz{{{{z{{{|z{{{zz{zzz{|{{{{||{{|{zzzz{{{|{{{{{zz{{{{{{|||{z{z{zzzzyzz{|{{{zzzyz{{zyzz{z{{{{{{{zzzzz{{{{z{{{{{{zzzzyzyz{{{{||{{|zz{yzy{z{{zz{{zz{{zzzzz{{{{{{{zy{{yzyzz{{{z{zzzz{z{zzyz{z{zz{|yzzzyyzyzz{z{{z|yzzzzyzzz{{z|z{z{zzyzzzzzzzzzz{{zzyzzyz{y{zzz|{zzyyzxyzzyzzz{{{zzy{yzzzyzz{{{{{{zz{y{yzyz{{|z{{|z{{yzy{zz{{{{{{{{{zyz{z{z{{{{||{{z{{{zy{z{z{{{{{{{zyzz{z{{|{{{{{{{zz{{zz{{{|z{{{z{z{z{{{zz|{|{||z{z{{{{{{{{{{{||z{z{{{z{z}{|{{{|{z|z|{{{{{{{||||{z{zz{z{{|||{{}||{{{z{{{{}|{{{|||{z{{{{z||{{{|||{{{{{zz{{z{{|{{{{{{{{zz{|{{|||||{{zz{{z{z{{z|{}|z{z{{{z{z{z{|{{{{zzz{zzzz{{|{{{|{z{z{z{z|{{{{z||z{{zzz{z{}}{{|{{{{{zzz{z{|{|{|||{{{{{z{zzz{{{z{|{{{zzz{z{|{{{|{|{{{zzzzz||{zz|{{zzzz{{z{zz{{{z{zz{zy{{z{{{z{z{{|zz{{zzzy{{z{z{{{|zzzzzyz{||{{z{z{|{{z{zz{{{{{{{|{zz{{z{zz{|zz{z{{z{zzz{zz{zz{|{zzz{{zz{z{{z{{{{{{zz{{{{{{{|{{{||{{z{z{{z{{{|{||{{{{{{{{{{{|{|||{{z|{{z{z||{||{||zzz{{{{{{{|{z{|z{{{{{{{{|{|{{{{{{{{z{{z{|{|{|{||{||{{{{||{||}|{|z|z{{{z{{{{{{{|{{{|{{{z{|{|||||||{{|{{{{||{{||}}}{z{{|z{{}{|||}}|z{{{z|{|z{|{||||z{{{z{{{|{{||{||{{{{{{{||||||}{{{z{{{{{{|{||||||{{{z|{|{{{|||||{z|z{z{{{||}{|{{{z{z|{{|z{|z||{{{|zz{{{{{{{{{{{{{{zzz{zz{|{{||{|{{z{{zz{{{{{{|||{|{z{zz{{z{|{|z|z{{{z{zz{|z{{||{|{z{z{{{{||z{{{{{z{zyzzz{zz{{|{|z{{{zzz{{{|{z{{zz{{{z{zz{||z{z{{z{zzzzz{{{{{z{{{{{z{zzzzz{{|{|{zz{zz{z{z{z|{{|z{{z|z{{z{{{{{{{{{|{zzzzz{z{{|z{{||z{{yz{{z|{{}|||zz{{z{z{{{|}{{|{{{{z{{{z{|{|||{{|{{z{{{z{{{{|{|{{z{{{{z{{z|{z|{{{z{{{|z{||}|{{{|z{{{{z|{{|{{{}||{{|{{zz{{||}|}|||{z{|{|{}||||{||{{{{z{||{{|{{}|||{{{{{{||}|}|}{||z|{{{|{{|{|{|{|{{{{|{{{{|z{|{||||{|{{{{{{{|{{||{{z{{{{z{}{|{{}{{{|{z{z{{||{{||{{{{zz{|{|{}{{z{{{{{zz{|z{||z{{|||{z{{|{{{{{{|||{{{zzzz{|{{|||||{{z{{z{{{{{{|y{{{{{|{z{{{{{}{||{{{{zz{{zz{|{{z|{||{zzzzzz{{{{{{{{z{{{{zzz{{{{{{{{zz{z{z{{z{{|{{||{y{{{{z{{{|z{{{{{{zz{zzyz|{{||{{z{{z{z{{{{{{{|{{{{{{{{{{{{|z||{|{z{z{{zz{z{{{{||{{{{|z{|{{|{{|{|z{{{zy{{{||{||{|{{{{z{z{z|}{{||||{{z{zzz|||{}{||zz{z{{{{{|{{||{{{|z{{|{||{|{|||{|{{|{{{{|}||}|||{{{{{|{{||z|{{}||{||{{{z{}|}|{|||{|{{z{{||{||}|}{{|{{||{||}|||{||{|{|||{{}||||}|||{|{{z{|||{||{}||z||z{{}}|{{|}|||z|{{z||{||}}|}{|{|{{{z{|{||{||{{{|{|{z{||||||{|{{{|{|{||||{|{{{{zzz{{{z||{{z|{z{{{zyz{z{{{|{||{{|zzz{{{{z{|{{{zz{{zz{z{{{{z{|{z{{zz{{zzz|{{{{{{{zzz{zz{{{|{{|{|{zz{z{zz{{z{{{{{{z{yzz{{{{{{{z{z{zz{z{{z{{|{{{{{zz{zzz{yz|z|z{z{{z{zzzzz{{{z{{{{zzzzzyz{{{z{{|||zzzy{yyy|{|{{zzzz{{zyzzz{{{{{{|z{z{z{{{|{{|{{{{{{{zzz{{{{z{{{|}{z||{{{|{{{{{{{{{{|{{z|{{||{{|{{{{{{zzzzz{|{{{||z{{{z{{z{{{y|{{{||z{{{{{{{|{{{{}{zz{zz{z{z{|{|||{{{{{{{|{||||{||{z|z|{{z||||||||{||||{{|z|||||{||{{|{{{{{||||{||||{{{|{{|{{|||||{{{z||z{{||||{||{|{z{{{{}|{||||{{{{{{{|z{||{{|||{{zz{z{z{||{|||{{||z{{zz|||||{{{{{z{zz{zz|{z{{{|{{{zz{{{|{|{{{|{{|{{|{z|||{z{{{{|z{{{zyz{{z{z{|{{{zzzzzzz{{z{{|||z|z{zzz{{{{{z{{{z|{{{z{{z{z{|{{zz{zz{{zz{{z{{z{zzzyzz{zz{{z{{||{{yz{{yz{{{{{{{z{z{zzzzz{z{{{z{{zzzzzzyy{{z{{|z|zz{zzzzzy{{{z|{{{z{{{zzz{z{zz|{{{{{zzz{z{{{{z|{|y{{{z{{{{|z|{{|{zz{zz|{z{{||{{{{z{z{{z{z{|{|{|z{z{z{{z{zz{|{|||||{{{z{{z||||z{{{{{zz{{z|||{|{|{{{||{z{||||||{|{|{{{{|z{{{|||{||{{{{{{zz{||}{|||||{z|z{{{{||}{}||{{|z{{{{{}||||||{{{{{{|{|{}{|{||{{{{{{z{{||}||}||z{{|{{{|||||{||{{{zz{{z|{{|{||||{z{{{{{{||||||{{{{z{zz{|||{{{|{{{{|{z{z{{|||{||{{{yzz{|{{|{{{|||{zz{zzz{|||{{{}{{|{{{zz{{||{{{|{{{{z{zz|{|{|{{{{z{{{{{{{{{{|||{z{{{{z{{{{|z{|z{zz{z{yzy{||{{{||{{{{z{{z{{|{{|{{{zz{y{yz{|{{||{{|{{z{{{zz{|{|{|{zz{y{z{z{{{{{||{{z{{z|z{{{{{{{{|z{|{{{zz{|{|{{||{zz{{{z{{{{|{{{|zz{{{z{{|}z{||{|{z{{|{{{{{|{{|}{{{{|zz{{||{||||{{z{z{{{{{{|{|||||{{||{{{|||{||||{{{z|{z|{||||||}{{|z{{{|{||||{|{|{|||z{{{||}|||||{{{||{|{}|||||}|{{}{|||z||||}}|}{|{{||{|}|||}}}{z||zz|||}|}|||||||{||{|{{|||||}|{{{{|{{|||}{|||||{{{|{{{|||{}|||||{|{{|||{|||||{{{z|z|{{{|{|}{|z{z{{zz{{{{{{{|{z{{{{z{{{{|{{{|{{{{z{{z{|||{|{|||z{{z{{{|{{|{{{{|{{z{z{z{{|{{|{|zz|zzzz{{z|{{|{{|{z{{{|{{|{{{||{z{{z{z{{{{|{{|||{zz{{{z{|z{{z||{|z{{{{yy{|z{{{{{{z{{zzyzz|{{{{{}{{{z{z{zz|{{{}|{z{{zz{{{z{z{{||{{z{{{z{z{{{||||{{z{z{{{{z|{{{|{|zz{{{{{||{{|||}|{z|{{{{||{||||{||{|{{{||{||||{||{{{{{||z{||z|{}|{{{{z|{{{||{{{{|||{|{{z||z|||{}}|{{z{z|||}{{{}||{|||{|{|{|||||{||{{{{|{||||{|}|}{|||||{||||{|||}|{{{{||{}||}{||{|{{|{{{{{}|||||||{{{|{|{|{||||}||{|||z{z}||||}|||{|{{{{{||{||||}{|{{{z{{{||{{{{||{|z{{|z|{||}{||{{{z{{{{{||||{|||z{{{{{{{{{||||{|{z{zy{{{|{{{|}{{{||z{z{|{||{{{}|{{{zz{z{{{{||||{{{{{{{z{{||{||z{{z{zzz{|{|{{z{{{{z{{z{{|{{{z{|{z{{z{zz{{|{{{{|{|{{|{{z{z{{{|{||{{{{zz{|z{{|||{}{z{{zy{z{z{z{|{{{z{zz{{z{|{{{|}|z{{{{z{z{{{{z{}{{{{zzz{|{||{{{|{{{{{z{{zz|{{{|{|{z{{|{{{|{|{{|{|||{|{{{{{|{|}|{{{{{|{zzz|{||z||||{|{z{|{{{|||}|{|{||{{{z}{||{}|}z{{z|{{{|||||}|||{{||{|z{|||}{}||{|{|z||||}|}|}}{}{|{|{{|{|{||}|||{{{|{{|}|||||}||||{{|||}|}|}|{||{{{{|{||||||}|{|{{{{{|{}{{|||}|{|z|{{{||||||}}||{{|z{z{{|||||||||{{{{|||}||{{{{{z{zzzz{|{{||||{{z{z{z{{z{|{{|{{z{{z{|{{{{{|{{{|z{z{zz{{z{{{||{{{|{{{zz{{||{{|}{z{y{{{{{|z{|{{}{z{{zzzz{{{z{{{{{{z{{zz{z{{{||||z{{{{y{{{{|{{{|{z{{z{zzz{|{{{|{{{{{zy{{z{{{{z|||{{{{zyzz{{{z{{{|{z{zzzz|z|{z{{{{zz|z{zz{||{{|||{{|zz{z{{|||{|{||{{{{{{|{{{|{{{|||zz{{{{{}||{{|{{||{{|y|z{|{|{||{|{{|{{z{{|||{|||{|{{|{{{{||{{||{{{z{{z||||}||{|}{{{{{{|{|{|{|}|{{{{{{{z{{||{||}z}{{{|{{||~|{|}||||{{|{|||{{|||}}|{|{{|{{{}||||}}}|{||||||||}|}|||{{|||{|||{|{}}|{{{{|{{}|||}|||||{z{{{|{}||||||{{{{|{{{||}||{}|{{{{z|y|{{{|}{{|{zzz{{{|z{z{{{||{z{|{{{{{{{{z{|{|{{{{{{zz{{{{{|{||zz{{z{zzz{{z{||{{z{{z{z{{{{z{|{z{{{zzzzz{z{|{{|{z{z{{zzz{z{{{{{{{z{{{zz{{z|{{{|zzzzzz|z{{{{{{{{{{z{yzy{z||{{{|{{{{{z{z{{{|{|{{{{zzzz{zzz{{{{{|{{{z{{z{zz{zz{|{{{z{zz{zz{{{{{{}{zz{{{z{{{||{{|{{{z|{z{{{{z{z{}|{{{{{z{{z{{}|{|{{{z{|zz{{z{{{||||{|{zzzz{{|{|{{|{z{{z{{{z{|||z|||{{{{{{{|z||||}|{{z{z{{||}|||||||{}||{|{z|}{}|~|||{{{|z{z||{{}|||{{|z{||{|{|||}{{|z{{{{|{|}|||||||z}{z{{|{{||{|||{|z||{{{{|||}||}|||{{{{||z|{|z|||{|{|{{|{|||{|||{{zz{z{{{||||{||{{{zz|{{{||{}|}|yzz{|zz{{z|{{{{|{{{z{z{z{{|{|{|||{|z{{{z{{{{{{|||yz{{z{z{{||{{{{{{{{zzzz|{{|{{|||{{z{{zz{{z{{{{{{z{{zzz{{{{{{|{{{z{zzzz{{{z{z{{{{zzzyz{zz{{{{{{{z{{{zzz{{||z|{|{{zy{zz{yz|{z{{||z{zz{{{z{|zz{{{{{{z{{{{{z{z|{{{|{y{{{{{{{{|z{|{{{{{{{zz{{|||{{z|z{z{zy{y||{{{{||{z|{z{{z{|z|{{{{|{zz{zz{{|{|z{{{{{{zz{z{{{|{{{{{|{{{{|{z{{{{{||{|{{|z{zz{||{||{{{{{{{{||{|{}{}}||||{{{|{||}|{|{{||{z|{z{||||||||{{|{z{{|||}||{|{}{z{{{{{|}||||{|{{|{{{|{|}|||||||z{||{{|{|||||||||{{{{{{{{||||||{{{{{{z{{{||{|}||{{{{z{{|}{|{|{|{z|{{{{z||||||{z{z{{{{zz{{{||||{{zzzzz|z{z{{{|||{zz{{|zz{{{{{{|{{z|zz{{y|{{{{|{{{{{z{{{{z{{|{{|}{z{{zz{|{{z{{{|{|y{{z{z{{|{{{||{zz{{z{z{{z|{z{{|{|z{zz{{{z{{{{|z|z{{{zzz{{{{z{{{z{{z{{zzz{|zz{{{z{zzz{{{y{|zzz{|z{zy{yzzz{{{{{{|z{z{zz{y{{{{|{{{z{zz{z{z{{{|{|{|{|z{zz{{{{{{|{{|{{{zzz{z{|{|{{||{{|{|{|z{{z{{||{{{z{z{z{{{|{{||||z|{z{{{{|{||||{|{{z||{|{||||||{{{{{{{|{z|{||}|}|{{{{{{|||||||}||z|{{|{|||||{|}||{zz{z{{|||||||||||||{{{{|||||||{{|}{{{{|}z|||||{|z|{|{{{|{|||||||{{{{{{{|{{|||}{{{{z|{||{{|{|{|{{z|{{{z{{||{||{{}{{z{zz{{{{||||{zz{{{zz{|z{{{{{zz{zzzzzz|||{{|{{{zz{{{{|z{|{|{||z|{{zzzy|{{{{{{{{zzz{{z{{{{{{{z|zzzz{zzz{|{z}{|{{{z{zzz{z|{{{||{{zyzzzz|{|zzz{|{zzz{z{{zz|{z{|zz{z{z{{zzz|{{{|z{{zz{{zz{|{|{z{{zz{{zyz{z{{{z{{{z{zz{zzzz|y{{{|{{{zzz{{z{{z{z{||{{zz{zz{{{{z{{{{z{zz{z{|{{{{{{||{{{{{{z{{{{{z{|||z{{{zz{{|{|||{|{{{{|{{{||{{|z{{{z{z{{{z{{{{{{{|{z{{{{{{z{}|||{|z|{|{{{|||{{{}|{{{z|{zz{{|||{{|||z{|{|{{|||||}{||{{|{||||{|||}||}{z{{{{{{|||}||||{{{{||{{|||{|||{|{||{{{||{|||||{{{{|{{{||||{|}|{{|{z{{z{{{}||||}{zzz{z{|{{{{{{|{{{{||z{{{|{|z{{{{z{z{zzzz{{{{{{{zzz{zzz{{{{{|{{{{{{z{zz|z|{{{|{|{{zzzzz{z{|z{|{{{{yzzzzz{{{zz{{{{z{{z{z{{|z{{||zzzzz{zz|{|zz{{{{{{{z|{{{{|zz{{{{zzyz{{zz{{{z{|zzzzzzzy{z{{zz{|{{z{{zzzzz{{{zz|{zzy{{{z{zz{{{{{z{{{{zz{zz{z{{|||{{zzzz{y|{|{{z|{{|{zyy{z{{|{|{z|{{{z{{|{{{{{{{|{|zz{z}{{{{{|{|||{z{{{z{{{{{{{||{{{{{{z{z{{||||||{|z{|yzz{||z|||{{z{|{{{{{|{|{||{{|z{{z|||{||||}{{{{{{z{{{}{|{|{||z{{{{{{|||{|{{}{{|{{{{z{|||||||{|zz{{{z{||||||||{{{zz{||||{|||{{z{{{{|{|{{{{}|||{z{|{z|||{|{||{zzzzz{{{|{z{||||{{z{{{{z|||{|||{|{{z{z|{{z|{{z{|{{yz{zzz{{|{|{}{z{{{{{{{{{|{{{||{z{yz{{z{{|{{{||{{|{{zzzzz||{{{{||{{zz|{{{{|{||}|{{{z{{z{{{{{||{{{{{z{zzz{|{{|{|zz{zz{{{{z{zz|z|zzzz{{z{{zz|{{|{{{{zy|z{z{{|{|{{{|{{y{zz{{{||{||{{|{{yzz{{|y{{{{{{zz{z{{|{||{{{z|{{zz{{z{|{||{||{{{{{z|{z||{{{||{z||z{{{||||{}||zz{zzzzy|||{z{|}{{{|{z{{z||{|{|||z{{zz{{{||z}z|z|{{{{{yz{{{z||{|||{{{{{{{||{{||||{{z{|{|||{}|||||{{{|zz{|{|}|{{{|{{{|z{{{||{|||||z{||~{{|||{}}|}||}}||{{|~|}|}||{|{{{|z||||}{|||}{{{{|{|||||{|||||{{|{{}|}|||||||{|z{|{{{|||||}|||z{|{{{||{||{||{{{{z{{{||||}||||z{{z{{z|||||||{z{z|z{z{{|z|||||{|{z{{{zz||{|{|||z{{{{z{z|||{||{{|{z{z{{{{|{{|||{z{z{{{z{{{{||{||{{{{{{{{{|{{{{zz{{{{{{z{{{{z{{|{zzz{{{z{|{{|||{{{z{z{{{z{{{{|{{zz{{{{zz{{{{{|}{{{{z{z|{{{z{|{{|z{{z{zz{{|z{{|||{{{z{zz{{|{{{|||{{|{{{{||||{|{}|{{{|{z{{|{|||||{|{|{z{{z{||{||{|{{zz{{|{|||||}|{{{{{|{{||{{|{||||{z{{z{{||{{||||||z{{{||{||}}|||{z{|{|||{{||{}||{{{||{{z|}|{||||{|{||{{{}|||{}||{{{z||}||||||}|||{{{||{{|||}}||{|{{{|{z{|{||||}}}{}{|{|}||{||||{|{|}|{{||{|}|{||{|{{|{{{|||||{||{{{{{{{{||{||||{|{{z{{|{{|{|||{|{zz{z{zz{}{{z|||z{{z{z{{{|{{|}{|{{|zz|zz{|{{{||{{zzz{z{{{{|{{{{{|{{zzz{{{{{{{|{{zz{zz{{{|{{|{||{{{|{{{yz|{|z{{{{z{{zy{z|{{|{z{{{zz{zzyzzz|{||{{{zz{zyzz{z{{z|{{|{{{{{{zzz|{|{{|{{z{{|zzz{{zz||{|z{{zzzzz|{{{||{|{zz{{zzz{|{||{|{|z{zzz{{z||{z|{{{y{{zz{z{{{{|{{|{{z{{{|{z}|{z||{|{|{|{{{{{|{{}{||{|{{{z{{||||||{|{{|{{z{||{{|||{{|zz{z|{|{{||{{|{{z{{{}{||}|{|}|{z{{|{{||}}||||{}|{{|z||}|||{|||{|{{{||{{|{z}|}|}|{{z|{||}|}||}}|||{z{{{||{|||}||{{{{{{{{{{||||||{{{{{||{}||||{}{{{||||{|{|||}{||{|{||{{||{|{|{{{{|{|{z{{|||{{{{{zz{zz{z{{{}{|{|z{zzzzz{{{{{{{||{{{{{zz{z||{z{{{{zz{{zz|z{|{{z||{{{{{{z{{{{z{{||zzz{z{{y{|{{{|{{z{{{|z{{{z{{{{{{z{{{{zzzzzz{z{|{zz{{{zzz{z{{{z{{{z{{z{zz{z{{{{{{{{{zzzzzz{{z{z|{{{{zzzzzz{|zz||{|{zzz{{y{{z|{{{|zz{{{z{yz||{{{|{zz{z{{{{{{{{z|||{{{{z|zz|z||||z||{{{{zzz|{{{{|}{{{{{{{{{{|{{||z{|zz{{zz{|||{{{{{||z{|{{{|{{|{{||{{{{{{{z{{{|{|{|{{{|{{z{||||{||||z{z|{{{||{{||}{|{z{|zzz{}{{||||}||{{|{{{|}||}|||{{{{{z{||{||{|{{z|{{{{{{~|}{|{{}{z{|{|||||{|}||{{{||z||||{||{||{{{{z{{{||{|{|||{{z{{{{z{|{|{{{|{{{z{{zz{||{zz{z{zzzz{zz{{{{{{|{{{zzzz{z{{{|{|{|{{z{z{z{|{{z{{|{|zz|{{z{z||{{|{|||z{{zzz{{{{z{|{z{|zz{{z{z|{{||{{{{zzzzz{z{zz{{{{zzzz{z{{{z|z||{{z{yzzyz{z{{{{{{{yz{z{z{{zzzzz|{zzzzzy{zz||{yz||{zz{zzz{{zz{{{{{zzzzz{zzz{{{{|{{{zz{zzzz{{{{{||z{{{z{z{zz{{|{{||{{{zz{{z{{{|{{{{|{{{{z{{|{|||{{|{{{{zz{{z{|{{||{{zzz{zzz{|{{|{|{|z{{zz{|{|{{{{|||{{{|{{||{{||{||{{{z{{{z||{||||{{z{{|{{{{{{|||}{|yz|{{{{{{{{}||||{{{{|{{{|||||{{{{{|{|{{{}||{||{{{{|{{z|||{|{{|{||{{{{{||{|{{|}||{{|{{{|||{{|{|}{zz{{|z{{{||{{||{{z{{z{{{|{|||||{{zz|z{{}{{{{{zzzzzzzz{yz|{{{z{{{{{zzzzz{z{{|{{{zzzzzzzz{||{{{|z{{z{{{zzz{{{{z||{zzzzzzz{{{|z||{{{{{zz{zz{zz{{z{{{y{zzzzz{{z{{{{{{z{{{z{{{{{z{{{zzz{zz{z{zz{z{z|zzzzz{zz{{{{|{{{{z{zyzy{z{z{{||{{zz{{zzzz|{{{{z{yz{z{z{yzz{|{|z{y{{z{zzz{zz{{{{{{{z{z{{z{z{z{{||{{{z{{{{z{{{{{{{zzz{{{{z|||{{{||{{z|zzzz{{{z|{|{{z{{z{zz{|{{{{|{{{{{zzz{{|{{{{{{|z|{{z{z||||{z{{{{{{{{{{|{|||||||{|z{{z{{|{{|||||z{|{{{{||{|{{}|{{{|{||{}{{||{|{||z{{{{{{||{{|{}|z|{|{{{|{|||||{|{{{||z{{{{||{}||z|{{{z{||{|||{|{|{{{{{{{||{||||{z{{z{zz{|{}{{|{{{||zzz{z|{|z{{{zz{{zzz{{{{|{{{{z{|z{zzz|{|{{|{|||{zz{{{{{z{|||{{{z{zzz{{{{{{{{{z{zz{zzz{{{{{{z|zzzzz{zzz{{|{{{{zz{{{zzy{{|{|z{zzzzzz{zy{zz{{z{{z{{yzz{zzzz{{{{{zzzzzzzy{{{{{|z{|zz|zzzyz{{}{{{}zz{{zzzyzzz{{{{{y{{z{zzzz{{{{{{{{z{yy{|y{|{{{{|{{{{{zz{z{{|y|z{{{z|{z{|{|{{{||{|z{{{{zz{{{{{{{{{{{{z{z{{z|{{||{|{z{{{{{z{{{||{}|{z{{{zz{||{{{|{{{{z|{z{{{{{}{|||zz{|{{{||{||{|||{{{z{{{{||||{{|{|{z|||zz|{|||{||{|{{z{||{|{{{{}|}{{{{||{{|||||||{{{{{{{{|}{}|{}||{{{|{{{|{||{||||{{{|{{|{z||{||}{{{{{{{{|||{{||{{{z{zz{{{{{||||{{z|z{y{{{{|{}{zzzz{z{zz{{{z{z{z|z{{{{y{z{{{|||{|zzzzzz{z{{{{{{|{z|z{zzzz{{{zz{|{{{zzzzzz{{zz{|{|zzz{z{{z{|{|{{z{{zzzzyzyz|zzz{zzzzzyyz{y{zz{{{{{zzzzzzzz{{{{z{{|z{zzzz{{{{{{z{{{zz|zzzz{{{{{{{{zzzzzzzzz{{{zzzz|{zzzzzzyy{z{{{z{zz{z{zzz{{{z{|{{{{zzzzzz{{{{{{|{z{yzz{|{|{{{{z||zz{{z{{z{{{{{{||{{{{|z{z{|{{{}{{{z{zzzz{{{{{||{{{y{|z{{{{|{{{|{{{{z{{{{{{|||||||{{zz{z{|||{|}||{{{{{{{{z|{{{||}|}{z{{z{z{}{z|{}{{|z{{z{{{|{|{|||{{z{z{{{{||||||}{z{{{|{{{{{||||{|{|||{{{||{{}|}}{{zz{z{{{{{|{|||{{|zzzz{{{{||||{{{{z{zz{{|||{{||{y{{{|{z|{{{|{{{{{{zzzz{{{{{z||{zz{{zz{z{z|{|{{{|{zzzz{{zz{{|{|||zzzzz{z{{{|z{z{{{zzz{{z|{{{{{{|zz{{{{z{{|z{{{zz{z{{zz{z{zz{z{{{{zzzzyz{zz{{zz{|zz{{{zzz{zz{z||{zz{{z{{{{||{z||{{{{zz{zz{}{{{{{}zzz{zzzy{zzz{{{|z{zz{yzy{|z{{{{{{z{zzzz{{{{{|{||{{z{{zzz{|{{{|||{{zzzz|{{z{{{|{|{z{z{{zz|{z{{{||{{{z{y|{{|{{{||{z{{z{{{{{|{{z|||{{|{{yy|{|{||}|{{{z{{|z{{{||{|{|{{|{{z{||||{{{}||{{z{{{{||||{||{{z{{|{{{{|||||}|||{{{{{|{}{{|{{||{|{{{{{{|{|||||}{|{zz{{|{}}{}||||{|{{{{z||{|||}||{||{{|{{||{{||{{zyz{zz{|{||}|{}{{{{z{z||||||{|z{{z{z|{{|{|{|z{{{{{{zzzz||{|||{{z{z{{zz{|||{|{|z{zzy{zz{{|{z{|{z{z{{{{z{{|{z{|{{{zzzzzy{{|{z{{|zz{z{z{y{{{{z|{{{{z{{yz{{|{|{{||{zz{z{zz{{{|{z{|{{z{z{{z{{|{|{{{zz{|zz{zz|{z{{{|{zzzzz{zz{y{z{|{{zz{zz{zz{z{{{{{{{zz{{zz{{{{{{|{zy{||{{z{{z{{{{|{zzzzz{zzz{z|{|{{z{{{zz{{{|{{}|{{{|{yzzz{{zz|{{|{{{{{z{{{|||||{|{z{{z{{{{z{{|{}||zz{{z{z|||{||{{{||z{z{{{|||{||zz{{z{z{{}{||||||{z{{{|{z|{||||{|{{{{|{{{{||}{{||{{{{{{{{{||}|~|||{{|{{{{|}|}{{|||{|{{{{z||||||}||{{{|{{{|||{{|}{|{|{z{{|{}{{{|{|z|{{z{{||{{}{{||{{zzz{{z||{|{{|z{zz{{z{{|{|z|{{|z|zzz{zz{|z{z{|{{z{{z{zz{{{{z{{{{{yzz{zzz{{|{||{{zz|yyzz{{|{{{{|zz{z{zyy|{{{{{{|z{zyz{zzz{zz{|||zzzzzzzy{|{{{|{zzz{zyz{yz{{zz|{{{z{zzzyzzz{z{{{{{zz{z{yz{{|{{{{{{z{zzyzzz{{{{|{|{z{zzz{zz{z{z{{{|{{zz{{zz{z{{{|{{z{z{{{z{{{|{}z|{{{yzzz{z|{{{{{{{{{{{{{{{{{||{||{z{z{{{{|z{|{||{{{{{y{{|{|{{{|{{{z{{z{{z||{|{||{{z{|zzz{|||{{||z{{{|{|{{{{{|||||{z{{z{||{{|{|{{|{{{{{|{{{||||}|||{|{|z{{{|{{{|||{z{{{|}||||||{|||{||z|{{{|||||}||{{{|{{z}|}|||||z{z{{{z{{}|{{{|}z{{{|||{{{||||||{|z{{|z{{{|{{||{|{zzz{z{{{{{{|{z{z{z{zz{z{|{{{{{|{z|zzz{{z{{{{||{z{{{zzy{{|z{||{{z{{{{z{{z{{|||{{zz{z{{zz{{|z{{{{{zz{zzz{{z{{{{{zz{zzz{y{{|z{{{{z{zzzzz{{{|{{|{{{zzzzzzz{zz{{{{z{{yzzzzyz{z|{{|z{{yzyzy{zz|{{|{{{z{zy{zz{{z{z{z{{z{zyz{zzz{{{|||yzzz{zzzyz{{||{{z{z{z{zz{|{{{z{{{zzz{z{{|{|{{|{|zzz{z{{{|{{|{{{|{{{z{zz{{||{{{||{z{|zz{z{||{||z{|{{{{{z{|{{z{||{{z{|{{{{{{{{{{{{{{|{{|{{{z|||||}{{|{{{{{|{{{{|||{{{{z{{z}{|{|z|||z{{|z{{{||{|||||{|{{{|{{||||||}|||{{{{{{}{{{|||||{|{{|{|||||||{{{{{{{{{|||{{}}|{{{{z{z{}{{}}{||{{{z{{zz{z{{{{|||zz{{z{{{{|{{{|{z{{zz{{z{{{|{|{{zz{z{z{zz{||{z|||{zzz{{{{{{{{{|||{z|{{{{||z|{{||{z{z{zzz{z|}{{|{{{|zy{{y{{|{z{||{z{z{|zz|{{{{|{{|{|z{zyz|{{{z{{{{zzzy{z{|z{zz{{|{zzzy{zzz{{z{|{|zz{zz{zz{|||{{z{{{zz{zyz{{{|{{z{zzz{|zzz{z{zz{z|z{zz{zzz{{{z{|{z{{zzzzzyzz|{{|{||{{z{{z{||{|{|{{|z{z{{{{{{z{|{|{{{z|z{zz{||{||||{{{{{z|{{|{||{{||zz{{{{{||{||{|{{{z{{{z{||{|{{{|z|z{{{|{{{||{{{|{{{{{{}{{|{}||{}|z{{{{{z||{{{|||{|{{{{||{|}{{{{||{|{{{|{|{}|}|||}|{{{||{{}||}||}{|{{{|{{|{||{{|||{|{|||{||{{{||||{{{{{||}}{|||||||z{|z{z{{{|{|||{{zy{{|z{{|||||{{z{{{zz{|||{{z{|{{{{zzz{z|{{||{{|{|{zzzz{{{z||||zz{zz{{z{{{|{||{{{{{zyz{z||{{|||||zzzzzy{||{z|{{{zzzz{zz{|||{{{z{{{{zyyzz{|{||{||{{z{zz{{{{|z{{z{zzz{zzyz{zz|{{{z{zzz{zy{{{{z{{{{z{{zzz{{z{{{z{|{zz{z{{z{{y{|{{zz{{{{z{{{}{{{{{{{{{|{{z{|{z{{z|{zz{{z{{{|{{{z{{|{zzz{{z{|z{{{{||{{zz|{{{{{|{}|}}|{{z|{{{{||{|{{|{{|{{{{{|}||{|||{zz{{{z{|}{|{|{|{{{{|{{{||{|}|||{|{{|{}{{||{{{|||z{{{z{{{||{}||{|{{|{{{{||{|||||z|{}{{||z||||||{|{{{{{{||}||||||||{||{{{{||z{}{||{{{{{{{{|{|{||}|{{|{}{{{|{}|||{|{z{z|z{||{||||{||zz{{|{z||{|{|{{{zz{{|z|{|{{{{{z{z{zzzz{z{{{||zzzzzzz{z{{{|{}{|{z{{zy{zz|{{{{{{zzz{zzzz{{|{|{{{{{zzz{{{z{|{{||{{{{zzzzzz|zzz{|z{zzz{{{|{{zz{{{{zz{zzzzz{{{{{z|{{z{zzzzz{{{{{{|{yzzzzzzz{{|z|||z{z{yzz{z{{{|{{{z|z{zzyzy{{{z{{{{{z{zz{z{{z{z{{{{z|{{z{{zz{z}||{{z{{z{z{{{|z{{{{|z{zy{{{{z{|{z|||z{{zz{z{{{|{{{{||z{z{zzz{|||{|{|{{{{|{z{|||{|z{{|{z{{{{{{|{{z|{|||zz|z{{{|{||{|{{{{z{z{||{|{{||||{z{{{z{|{|||}}||{zz{{{|{|||{{||{|{|z||||{|{||{{|{{{{{{z{}||{{||||{|{{{{|{|||{|{|z{||{{z||||{|}||{z|{|z{||{||{|{{|{{zz{zz||{||||{{{{z{{z{{{{{|{{{{{{z{|z{|{{{{z{zzzzzz{zz|{z{z{{{zz{zzzzz{{z{{{||z{z{{{yz{{z{{{z|yzz{y|{{{|{{||{z{{zzy{z{z{|z{z|{zzzzz{zz{{z{{{{{|z{yy{{{{{zyz{|{z|zz{z{|{{z{{|{zy{zzzzz{zz{z{{zzz{zz{yz{zz{{|z{z{{zzyxzzz{zzz{zyzz{zzyy{zz{{|z{zzzyyz{zz{{{{{{{zz{zz|z{z{{{z{{||z{{{z{z||z{||{|{zzz{zz{{{|{||{|{z{{zzzz{{|{{{|{zzz{zy{{{{z|{{{|{{|zz{{z||{{|{{{{{y{{zz|||{{{{|{{|{z{z{|{{{{||||{{|z{{{{||{}}{{{|{z{{zz{{{|||||{{z{|{z||||{|||{||{z|{{{|||{{|||{|{{|{{{|||||{{|||{{{zz{{|{||||{|{z{{|{{{{{||{||||{{zz|{{}{{{{}{{{{{|z{zz{{{{{}||{zz{{{{z{{|{{{||z{zy|yzz{y{{{{z{y{yz{{z{z{{{z{z{z{|zz{z{|{||{{{|{{zz{zz{|zzz{|}{|{{zy{zz{{z|z{|{{{zzz{{z{z{||{{|zz{z{zz{z{{zz{z{{{z{yzz{z{|{z{{yzzzyz{yzz{{z{{{zzzyzz{{z{{{{{{{z{{zzzzyy{{{z{|{{{zzzzzzz{{{{z{{{zzzzzyzzz{{{{{{|{zyyzz{zy{{|{|z{zz{zz{zz{{{{z{{{{{z{zzz{z|{z{|{{{z|zzzz{{{{|{{{|zz{z{{{{{{|zz|||{{{z{yz{{|{{|{|{{{z{{{|{{||{|{|z|z{{{{{{{}|{{|||{{{z|{zz|{{}{|{{{{|{{{|{{}{|||||{{{{{{zzz}|}|z}|{z|{{{{{{|{||||{{|{{{{{|{|{{|}|||{z{|{||{}{|||||z{}z{{{||}||{|||{|{{{{{|{||{||{|{{z{{{z{{{{}||||{|{{z{{z{||||{}|{{{{z{zz|{||z||{zz{z{{zzz|{{zz{|{zzz{z|z{{{|{{{{{zzz{zzz{{|{{|{{{{{{zzzz{z||{{}z{y{z{z{{{{||{{|{{{{zzzzz{{z{{{{{z{zz{zzy{|z{{|{{z{{{{zzz{{|z{{{{zzz{zzzz{{zz{|z{z{yz{yzzz{{z{{{{{{zzzzzz{{{z{{||z{{{yzzzz{|z|{{|{zyzzzzyz{z{{{{{zzzzzz{zz{{{{{|z{zz{z{zz{zz{z|{{zz{{{zz{{{|{{{||zz{zzyzz{{{{|||{zz{zzz{z{{{||{||{{|z{zz{{|{{|{{||y{z{{z{{{{{{{|{{{zz{{z{{||{{{{|{{|{z{{z||||{||{{{|z{z{{|||||}{||{z{{{zz|||{{||{|z{|zz{z||{{||}|{z{{z{|{{||{|||||{|{{|{{{{|||}~|{{||{{{{||{{||||{{{z|{{||{{|||{{||{{|z{{{{{{||||z{{{{zzz{||{{|||||{z{{{z{|{|{||{{{{z{{zz{{|{{{{{{{z{z{{zz}{{{{{{{{{zzzz{{z{{{{|{zz{zz{{{{|{{{{{{{{{z{y{y{|z|zz}|{{{z{{zz{z|{{{{|zz{z{|z{{z|z{{{|{{zz{{z{{||z{{{{{zz{zzzzz||{{|z{zzz{z{{{{{{{{{{{{{zzy{z{z{{{{z{|{{zzzz{yz{|zz{{|z{zz{zzzz|{z{|{|zz{y{z{{z{{{{|z{zz{{{{zz{z|{|{|{y{{{zzz|z{{{|{||zz{{{z{{{{{{|||{{|{zzy{z{{{z|||{{{{{zz{z{|{|{{{{{|{{{{zz{{||{{||{{z{zzzz{{|z{{{{{z{||{{{{||}||{|{{|||z{{{{{|||||{{{|z{z{{|{{}||||{{z{{z{|}|{||}}|{{{{||{|||{|||||{{{||{|||||{}||||{{{{{{{||||}||{{{|{|{||||{||}|||{|{{||||||{|{|zz{{{z{{{|{||}|}{{{{{{z{{||{|{||z{{{|z|z{|{{{{{{zzz{zz{zy||{{{{|{{zz{|zzz{|zz{{|{|zzz{{{}{{{{{z|z{{zzzzz{z{{z{{{{{z{z{{z{{{{{|{|{zzzz{{z{|{z{{{|{zzzzzy{z{{zz{{z{z{zzzy{{{{{{{{{{{{zzyzz{zz{z|{{{{zzzz{z{{|z{{{zz|z{z{zz{{{y{{{{{z{zzyz{z{{{{|{{zzzzzyz|z|{z{{|{{z{zz{zz{{{z|{||{z|yzz{z{{{{{||{{{{{zz{z{{{{{{||{z{{{z{z{{{{|{{{{{|z|zzz|||{||||{{{z{{zz|{||{{|{{{z{{{z{{|{{{{{{|{{{{{{{{|{{{{||{|z|{{z{|{|{|{{{|{|{{{{z{||||||{|{{{{{zz||{|||||{{||{{|{{{||}|||{|{{z{{{{~|{|}|||{{|z{{{|||{|||||zz|{{{}{|{{{||{{{{{|{{|{{|||{||{{{{zz{z{{{||{|||{z{zz|z{|||{{|{{{zz{z{{}|{{|{{}zzz{{z{z{{{{{||||{zz{zz|{{|z{{|{|zzzz{{{{{{{|{{{{{zzz{{z{{{|{{{{{zz{zyzz{{|{{{{{|{{z{{|{z|{{{{{z|{{{{zz{z||{||{{{zz{z{zz{{{||{{{z{zzzzz{|{{{{|{|{{z{zzzz|z{|{|{{{zzzz{zzz{|||{{z{zzz{zzy{{{z{{{|}{zzzzzyz|{{{|{{{{{{z{{{{zzz{|{{{zz{z{{{{{{{{{||{z|{z{{z{z{{{{||z{|z{{|z|{{|{{{|z{{{z{{|{|{||||{{z|{z|{{{{{||{|||{|{{{z{{}{{{|{{{|{z{{{{{||||}||{{{{{|{{{||{|||{{{|{{|{z{|{||}|{|{{{|{z{}}|||||||{{{||||z||||}|}|{{{{{{{||{|}{~}|{|{|||{|{{||}|||{{{{{{z|{||||}|||{{{{{{|{||}|}|{{{{{z{{{||{|{}{|{{{|{{{{}{{}|||{||{{{{z||||{|{{z{{z{z{z||{z{|{{{z{zzz{zz{{z{}{{{{z|zzz||{{{{{||{z{{{z{{{||{||||{{zzz{{zz{{|{|z{zzzzzz{{y{{{{|{{{z{z{z{z{{{{z{||z{zzz{z{z{{{zz{|zzzz{zz{{{z{|||z{zz{zzz{{{{{{{{{{zz{yzzzzz{|{{|{{{z{zzzzz{{z||{{{zzz{zzzz{{{{||{zy{{{|zz{{{{{{|{{z{zzzz{{z{{{z|||z{zz{{{{||{{||{|{{{zz|{{|{{||{}{z{zzz{{{|{||}|{{{{{{|{{|{||{{|}{zz{|{|z|||||{{{|{{{{z{{{{||||||{{|{|{{{{|||{|}{|{{{{{{{{||||{|{|z{z{{{{|{|||||}{}|{{{{{{|||{|||}|{{{{{{||{{{|}|||{|{{{||||||||||{z|{{|z{|||||}}|{|{||{{{|{|{}||{||zzzz{||{||||{{{z{{{{z|{{{}{|{{{{z{{zzz{{|{{z{z{{z{z{{{{{|{|||{zzyzz{{{{{{{||{{{{zzz{y{{{{{{|{{{{zzz{z|{|{z{{|{z{yzzzz{z{{z{||{zzzzz{zz{{{zz||{z{{{z{z{{{{z{{{{zzz|zz{zzzz{zz|{{zz{z{zz{z{{{|{{zyzzzyzz{{{{{{{{{zzzzzzz{{{z{{{{z{{{z|y{|{|{||zzzzz{zzzz|{|{{{{zz|z{z{z{{{{||||{z{{{{{{||{z||{|z{{{zz|z}||z|}{{|{{z{{{||||{{|{|{zzy|z{{z{}|||{|{{z{{{{z{{|{z{{{{z{{{z{z|{{z{|||{{{{|{{z{{|}|||||{z{z{{z{{{|}|||{{|{{{{z{{||{||{}{{{{z{{|{{|||||z{{{{{{{{{{|{{{||{{z{{|{{{|{|||{{{{{{{zz|||{{||||zzz|{|||{|||||{|{{|{{{z|||}}|{|{{{z{{{{z|{||{||{{{{{z{{z{|{{{||{{{{{{{z{{{{zz{{{y{zzzzyz{{{{{||{zyz{yzz|z{|{z|{{{zzzz{y{|{{{{{{{z{zzzz{z{|{{{{||{zzzz{z||z|{|{{y{zzzzzy{{zzz|{zzzzzy{zzzz{z{{{|{zzzzzzz{zzz{z{{z{zzzz|{{{z{{{|zzz{zyz{zz{{z{z|{{zzzzzzz{|{z{{{{{z{z{zzzzz|{{{z{{{{z{{{zz|{{{{{{{zy{|{zzz{{{|||{{z{{{zzz{||{{{{|{zzz{{{{{||{{|{|{{{zz{{z{{{{|{||{z{z{z{{{|{||||{{z{{z{{{{|||z||{z{{{{{{z{||z{|{{{z{{{{|{|{|||{z{z|{z|{||||{|||{{{z{{{z{{{|{}{{||{{{z|{z{{||{||}}{{|{|{{|{|||}||{|{{zz{{{{{||{||||{{{|||{{{}z{{{||{{|{{|{{|||||||{|{z{{z{{|{|}||{{{{{{{{zz{|{z|||z{||{|{z{|z|{|{}zz{zzzzz|{|{{|{{{{zz{zzz{|{{{{{{|zz{{zzz{{|{{{{|{zzzy{{{{{{z||{{{{{{{zz{{{{{z||{zzzz{zzz}{|{{|{{z{zzzz{z{|{{{||z{{z{zy{{z{{z{{z|z{{zz{zz{zzz{{{|{zz{z{zzzz{z{{{zzy{zzzzz{y{{{{{{{{{{z{zzz{{{z{{{zzzzzz{zyz{{{{z||{{zz{zz{{{|z{{{{z{{|zzz{z{|{{|}{zzzzz{{{|||{{}|{{|{{y{z||{{|||{z{z|z{{{|{{{{||{{z{{z{{{{|{||{{|{{z{{{z{|||{{|{|{{|{{z{zz{|{{|z|{{|{z{{|{|{|||||{{z{|{|{||{}|}||{{|z{{|{||{||||||{||{{{z|{|{{}||{z|{{||{||{}||{{|z{{z{{||}{||}||||||{z{{{|||||||}{{{{{{|||{||||||{{{{{{{||{||||{{{{{{{z{{{{|}}||{{|{z{{zz}{{{{|{||{zzz{{|{{{{z|{{{{zzz{{{{|z{|{|zyzz{{{z{|{{{|||{{{z{{{z{{{{|{z|{{{{yz{{{{{{{|{{{z{zz{{z{{|{{{{{{{{z{{zzz{{{{{|{{{zz{z{z|zz{{||{zzz{z{|{{z{|{z|{z{z{{z{{z{{z||{|zyz{z{zzz{{{{{|{z{{zz{{zz{{z|z{{{{zy{{zzz{{{{|{{{{{{zz{{{|{{|{{{{zzz{zz{{{{{}||{{{{z{yzz{|{{|z{{zz{z{z{{|{{{z|||{{{z{{{{|{|{|||{{|{{{z{{{|{{{}||{{{{{z{{||{{{{|{{{{{{{z{|{|{||}||{{z|{|{{{{{{|||{{{{{|{|{||~{|}}}|{{z{z{||||{{|{{{{{|{{{{|}{|||{||||{{{||}|{}}|}}||{{{|{{~}}}}|}{{|{{{{||||}|||}{||{{|{{||||{}|}{|{{{{{{|{|||{||{||z{|{{|{||{||{||z|{zz{z|||{|}|{{{{{z{|||{{{{{{zzzz{z{{z{|{{{{|zzz{zz|{{{{{z|{{{|{{{z{zz{|{|{|{{{z{zyz{{{|z{{|{{{{zzzzz{z{|{{{{{zz{zzzz{|{{{{{z{{z{{{zz{{{{z{{z{{yz{{z{zzzz{{{{zzzzz{{zz{{z|{{{yzzz{{zz{{{||{z{z{{zzzzz{|{{z{{|zz{zzz{zz|{{z{{{z{zyzzzz{|{{{{|{{z{z{{zz|{z{{|}{{{{zzz{{|{|{{{{|{z{{zz{y}{{{{|||{{{{{zz{{{{{z{|{{{{{{{|{z{{{|{{{{z{{{zzz{{{{|{||{{{z{{{z|{{{{}|{|{{|z|{z{|{}|||{|{{{z{{{|{{|{}||{{{{{z{{{{|||||||{z{{|z{||{|||{}|{{{||}|{|{||||}||{{{||{{||||{|||{|{{{{|{{||||}z}{z{{{z|{{{{{||}{{{{{{z{||||||{||{zz{{z{z||{|{}||{{{{z{{{{||||||z{|zz{zz{|||{{{|z{{{yzzzzz{|z{z{{zyz{zzz{|{{z{z|zzzyyzzz{{z|z|{|{zy{z{zz{{|{z{z|{zzzyz{y{{{z{{{{yzzzzz{{{|{z{z{{{z{{{zyzz{zzz{{{zy{y{{zzzzz{zz{{{zzzzzzzz|{z{{{zzx{{yzzzz{zz{{{{{zzyzzyzz{z{z{z{zyyzzzzz{z{zzz{{z{zzyzzyzz{zz{{{zyzy{zzyz{{|{{{{z{zzzz{{z||z||z||{{zzzzzz{{|z||{zzz{z{z{{{{{{|{z{{{{{z{{{{|{|}|{{zz{{z{zz||{{{{{{{{{z{z{{{|{z|{{{{{{{zy{{|{|{{}{{{{z{{{{{{{||{|||{{{|z|{|{{{|}|{{z{{{{{z{|||{|{{{{{{z|{z{|z{{||}|z{{z|zz{||{|||||zz{{||}|{||{|{||z{{{{{{||z||{{|{{z{|{{z|{|||{|{{|{{z{zz{||{||{|{zzz{{{z{||{{{{{z{{{{{{z{|||{|z{zz{{zzzyz{z{{{z{zyyzzzyzz{z{{{z{z{z{zzzz{zz{{{|{{|zzzzz{{{z{zzz{{z{zz{z{zz{{{{{{{zzz{zzz{{{z{z{{z|z{yzzz{z{{{{z{zz{z{zyz{{zz{z{{zzzzzy{z{{z{z{{{zy{zy{yzz{{zz{{{z{|zzyz{{z{{{zz{{zzyzzzyz{{zz{{{zz{yzyz{{{z{z{{{zz{z{{zz{z{|{|||{zzzzzz{{{{{|{{|{zzz{{zz{{z|z{|{{{{zz{{{{{z|{||{zz{{{y{{{{{{{{{{{{{zz{zz|{{{z{|{{{z{z{{z{{{z{}{{{z{{z{{z{|{||||{z{{z|{|{{|||{|||{{{{{zz{z||||{||{z|{{}z{||{{|{||{z{{{||z|}{{|||{|zz{{{{{{}|||{|{{{|{{zz{{|||{}{|{z{z|zz{{|{{{||{||{{{{z{||||{||{{{zz{{y{{|{|{{||{zz{z{zz{|{{{{||||{{zyzzz{|z{zz|{{zzzy{z{{zz|z{{zzzzzzzzz{z{|{{{|yzzz{z{{{{{{|{{zzzzz{z{z{{{z{{{{z{zzz{z{{y|z{{{y{{yzz{zz{{z{{{z{zzzzyzz{{{z{{{{z{z{zzzzz{{z{z{{zzz{zzzzz{|z{z|z{{z{zzyzzz{{z{{{zzzzzzzzz|z{{{{|{zzzzzzzz{{{{{|{z{zzzzzz{{{zz|{{zzzzz|{{z{{{{{|z{yzzzz{z{{|{z{{{z{{{{z{{zz|{{|{|{z{zzzzz{{{||{|{|z|zzzzz{{|{{||{{{z{z{z{{{|{z{|{{{zzz{z{{|{z{||{{{{{{{y{||{{z|{{{z|z{z{z{|{}{|||{zz|{z{{{||{||||{z{z{{{|||{{{|||{z{|{{||z{{|{||{|{{{{{{{{|{|{||{|{z{z{{{|{{{|}|||{zz{{{{{z{|||{{|{{{{|z|{||{|{}}|z{{|{z{{{{{|{|}{|{z{{{z{{{{z{|z{{{zzzzz{{{|{|{{{zyyz{zzz|{{{|{|zz{z{z{zz{{{{|{{{{{zz{{z{{{|{|||{{z{{{z{z||{{z||{{{yzzzz{{{{{{{|z{z{{z{z{{|{z{|{zz{zzzzz{z|{{{{{{zzz{zz{{{z{z|{{zzzz{zz{z|||{{|{|{{{zzz{z{|{|{||{{zzzzzz{||{{z{{{{zzzzzzzz{z{{||z{z{zz{zz{{|z||zz{zzz{{{{{{|{||{z{|{{z{{{|||{{||z{z{{{{||{|{{{}{{{|z{{|z|{{{{|}{|{{||{zz||||{|{}{z{|{||{{{|{{|{|{{{{zzz{{||{|{|{{{zz{{z{{|||}|}|{{{{{{{{{}{}{{||{{{{{{{{{|||||{|{{{{z||{||{|||}||{}{z{|||}|||||{{|{{||||{||||||}|{{|{|{{}{|{|}|||{||{{{}{||||||}{{{{|zz{||{||}|||||||z{{|||||{{|{{{{{{{z|||{z||{||zz{{{z|{|{|{{{{zz{zyzz{{z{{{{|{{z{z{z{||{||{{}{zz{zzzz|{{{{{{{|zz{|zzzz{{{{z}{zz{zz{z{{{{{{{{{{z{{{yzz{z||z{{z{{|zz{{{{{|zz{{{{{zzz{yzzz{z{z{|{yzzzzz{z{z|z{{{z{zzzzz{z{{{||{{z{{zzyz{z{{{{{|{{y{{{z{y{{{z{{zzzz{zyz{zy{{|{{{{zz{|zzzz{{|z{{{{{{{zz{zz||{{{{z{zz{{{{{{z{{{{{|{{z{{zz{z{{{{{{{|{y{{{z{z{{{||z{||{{z{{{z||{||{}{{{{z{zz{|{{{{||{{{z{zz|{{{{}|{|{|{{{{|{{{|{|{||}{{z|{{z{|||||{}|{{{||{||{}{|||{|{|||zz{{|}{||||{|||{z{{|{|||{{~{z{{{{{{{}|{}{|||{zzz{zz{||{|{||||z{{{{{||||{||||z{z{{}z{|}{||{|{||{|z{z{{{{||{|{z{{z{z{z{{|{|{z|{|zyzzzz{{{z{{z{{{zy{z{z{{{z{{|{zz{z{z{z|{{{||{|{zzyzzyz{|{|{|{{{z{yz{yz{{|{{{{{{z{zz{zzzz{{{{{{zz{yzyy{{{{zz{|zz{zyzzz|zz{|{{||zz{zzzzz{{{{z{{{zzzz{zyz{{{zz|{{zzzyyzzzz{{{{{zz{zz{{zyzzz{{{{{|{z{{yzzz{zz{{{z{{z{{z{{y{{{{z{{{{{{{{y{z{{{z|{{|{{z{zy{{{{{{{{|{{z{{{{z{{||{{|{|{{{{{z{{{|{z||||{{z|{{y{z|{||{|{|z|{{|zz{|{|{|{|{{zz|{{{{{{}{||{{{{{{z{{||}|{|{{{{{{{z{zz{|||||||z{y{{z{|||||||{{z{|||{{|{{||{{||{{{|{z{{|}|{{}||{{z|z{{|{{{|||}|{|{{z{z|{{|||{|{{{z{{{z|{|||||||z|z|zz{{{{|{{|{{{{{{{{z||{{{{{{{z{z{y{|{|{{{{z{z{{zzz{zz{||{z{|{zzz{zzz{z{{{{{{{{zz{zzz{{|{{||{{z|z|z{z{{{|{zz|z{zzzzzz{{|z{|{|{z|z{yyz{{{|z|{z{{{yzzy{{{{{{|{{z{zzz{{z{{z{{{zzzz{zzz{yz{z{|{{{{z{zzzzzz|{z{{{{{{zzzz{y{{z{{{{|{zyzzz{zzz{zz||z{{z{{zzzzz{{{|{zzzzz{{z{{{{{{{|z{z{zzzzz{{{z{z{|zzzzzz{{{{{|{{||{{zzzz{z{{{|{}|{{{{{z{{z{{{|||{{{y{yz||{{|{||{|{|{z{{zy{{|{{{||{{z{z{{{{{{|}{{|{{{z|z{{{{z{||||{|{z{{{zz{{{|{{||{{|{{{|{|{{|||{{|{|{{{{|{{|||||||{{{z{{{{}{|{|}|{{z{{{{z|z|{{{|||z|{{|{z{{{{{|{||{||{{{|{|{|||{}||{{{{zz|{{{{{||{{z{z{{zz{{{|||{{z{zyz{{{{|z||{|{{zzzy{z{{y{|{zz{{{{{z{zz{{z{|{||zyzyyzy{{|{{{{{{z{{zzz{{{{{{{{{{zzzzzzz|{{{{{{{{zzz{{zzy{{{{{{{zz{{zyzz{{{zz|{{z{zzy{zzz{zz{{{{{y{zzzzzzz{{zz|z{{z{zzz{z{{{{{{|zyzzzzzz{zz{{{{|{zzzzz{zz{zz{{{{zzzyzzz{{zz{z||{zzzzzzzy{zzz{{|{z{z{{zzzz{{||{{{zzzzzy{{{||{{{{z{{{z{{{{|{{{|{|{{{{{|z{z{{{|{{|{{{{zz{{{{{||{||{{zz{{|z{|{|{{{|{|zz{{z{z{{|}|||{y{|y{{{{||{||{{|{{{{{{{{{{|{|{}|{{{z{{{{}}||{|||zz{{{|{|{||{{||{|{z{{|{|{|{||{}}||{{{{z{|||{|{}|||{{|{|{{{{|{|{|{{{{|{{{|{z|{z{}z{{z{{|{{{z|{|||{{z{{{{{{{{|{|||{zz{{z{{z|{{|z|{{{{zzzzyyz{{z|{{zyz{{yzz{{|{{{{{{zzzzzzz{{{{{{{{{zzzz{zzz{{|zz{{{z{{yzzyzz{z{{z|{{zz{zzzy{{{z{{z{zzz{zyz{{|zzz{{z{{yzzzy{zzz{{{{yz{zzy{zz{zz{z{{zzzzyzzzz{{z{{zzyzzyzzzzzz{zz{{{zzy{{z{yz{z|z{{z{zz{zzzzz{zz{}{{{zzz{{zzz{{{{{{{zy{zzz{{{{{{{{||zz{z{zzz{{{{{{{{zzz{zz{z{|{{{{{|z{|{{zzz|{|{{|{{{z{zz{zzz{{|{{|{{z{zzz{{{||{{|{|zz{{{zz{{{{|z{||{z{{{z|z||{{{{{|{zz{{zz{||{|{{z{|zz{{{{{{|{|||{{z{|{||{|{{|z||}||z{{z{z{{|||{z||{z{|{|z{|{{||}||{{{{z{z{{{{{|{{|{{{{{{{z{{{||{}|{{z{z{{{{{{|{|{|{{z{zz{{{{{{z{{{{{{zzzyy{{{{{{zz{{zzz{zz{{{|{{z{{{z{{z{y{{z{{{{|{z{zz{zz{z{z{z{|z{{z{yzz{z||z{|{|y{yzzz{{z||z{|}zz{zzzz{z{{{{{{{{z{zyzzzz|{zz{zzz{zzzzzz{z{{z|{{z{zzyyzyz{{z{{zz{zzzzzz{{z{{{|z{zzyzy{zz{{{{z{{|zzz{{zzz{{{zz{{{zzzzzy{{z{{zz{{{{{zzzzyzz{z{{{{|{zzzzyzz{{{|{{{|zz|zzz{zz{{z{|{|{{{{{{z{z{{{z{}|{{{z{{{{z|{zz||{{{z{{zzy{{{{{|}{zz{{z{{z|{{z{{||{{{z{{{{{{z{|{|}{{{}|{{|{{{{{{|}{||{zzzz|{{|{{||{z{z|{{z||{|{{||z{{{z{{||{|{{}|{}{{|{|{{|}||{||{{{|z{{|{||{|{||||{z{{{{|{{{{|{{|z{z|{z{z{||{}|{}{{{zzz{z{{{z{||{||{{|{z{|{{{{{|z{{zzzz}z||{{{{|{zzzzzz{z{{|{{{{zzz{zzyz{z{|{z{|{{{zyzy{{{{z{{|{{{|zzy{yzz|{{{z{|{z{yz{yz{z{{z}{{{z{zzzzy{{|z{{|zzz{zzzzz{{{{zy{zzzzzzzz{z{zz|z{z{zzzyzz{{z{z{{{{{{zzz{y{zy{|{z{{z{{z{zzzz{z{z{{{{{zzzzzzz|zzz|{{y{z{|zzz{{z{{{{{z{z{zzzy{{{z{{{{zz{z{z{y{|{{{{{|zz{zzyz{z{{{|{{|{y|z{zz{{{|z{|{||{{{{y{{{|||{{z|{{|{{{{{{{z|{||{{{zzz{{z|{|{{{{{{{zz{{z{{|||{}{{{{{|{{|||{{|{|}|{{{{|z{{|||{{||{{{z{|{{z||||{}|}{{{{{{||{|||||}||{z{z||||}{||||{{|z|{{{{||{{||{{{{z{{|{{{{{{{}{{|{{|{{{{||z{|{||z{{{{{{z{|{||||{|{z{z{{{{|{{{{|{{{{zz{zz{{{{z|z{{{{{y{yz{|{z{{|{z{{{z{zz|{|{{{{{{z|yzzzzzz{{|{{|zz{{zzz{{{}{{z|{{z{zz{{{zz{zz{z|{zzzz{{z{{{zz|{{{{{zzzzz{{{zz{{{{yzyyz{zyzzz{{{z{yyz{zzz{{{zz{|{{{zzzzy{{{zzzz|{{{zzzz{y{z{{{{z|zzzz{z{yzz{{z{{{{{zzzzzzzz{{zz{|zzzzzz{zz{|{{|{|{zy{zz{yz{{{{z{|{z{z{{zz{{z{z{y{zzzzz{{{z||{{{{|{{z{{zz{z||{||{|{{zzzz{{{{|{z{}|zzz{{{{{|{|||||{|{{{|z{{{{||{{z|{{{{{{{{|{{{{|||{z{zz{z{||{{{{|||{{{{{{{|}{{{|||{z|{|{||{{||{|{||{{{{|zz{{{||{{|{{z|{{{{{|||{|||{z{{{z{{{{|{|{{|{{{{{|{{{|||}{||{{zz{z{{{|{{|||||{{z{z{{||{||{|{z||{{z{z{{{{{z||{z{zzz{y{z{{z{{{{zzzzzzz{{{{{{{|{{zz{{y{{zy{{{{{{zzz{zz{|{{{z{z{{z{zzzzy{{z{z|{|{{{{zz{zz|{zz||{{{{zzzzz{{|z{{{{z{{zz{zz{zz|{{{{{zzz{zzz{zz{z||{zz{{y{zzzzzz|{|{zzzzyz{z{{{{{{zzz{z{zz{{{{{{{{||{zzy{{{z{{zz{|{{{z{z{{zzyzz|z|{z{yz{zzz{{||z{{{|{{{z{zz{zz{{z{||zz{z{{{z{||z{{{{{{{{zz{{z|{{{{{z{yzz|{z{{|{{{{||{zz{zzz{{z|z|{|{{{{{{z{{{||||{|{{{{z{{{{z|||||||{{{{{|z{|{{{}|||{{{{{z{{|{{}{{|{z{{|{z{||{|||{|}|{{{{|{{||{{|||{{z{{{{{{||{{|||{{{{z{{{{z{|{}||{|{{{|{z{{{{|||{{|{{zzz|{|{|{|}{|{{{z{{{{{{{|{{||{{zz{{{{||{{|{{{zz{zzzzzz|{{|y{{z{z{zz{z{|{|z{|{{{{{z{z{|{{{{|{{{zzy{zyz{{{{z{{{{{{z{z{xz{{{{{{{z{{zzzzz{{z{|{{z{{zz{zz{{|{{{{{{z{{zz{{{zzz{{{{|zz{zzzz{z{z{{|{zzz{zzz{z{{{{|{|{z{{zz{{z|{{{{{{{{{y{{zzyz{z{z{{{{{zzzz{yzzz{{{{z{z{zz{z{{z{{{{|{{{zz{z{{{|||{{|{{z{zzz|{{{{|{{{{{{zzz{zz{{{z|{{{{{{{{{{{z{{z{{{|{{z{z{{{|{||{{|||{{{{{{{|||{{{||{{{{{{|{{{|{||{|{{{z|z{{||{{{{|||{||z{z|{||z||}{|z{z{z{z{||{|||||||{|{|{|{|||||{}{|{{{z{{|||||||{z||{{{{|||{||||{z{|{|{{|{|||||{{}{{|{{{|}|{}|||{{{z{{{{{|{{{||{{{z|z{{z{|{{{||{|{{zzzz{{{|{{|{zz{z{zzyzz||{z{{|{{zzzy{z{z||||||{zzzz{zz{{{{{z|{{{zy{z{y{|||{|||z{{{zzzyz{z{|{z{zy{zzz{zz{z{{{{{z{{zzz{z{|{z{{z{{{z{zyzz{{z{z{|{z{zzzzzz|{{|{|z{z{{zzzyy{{z{{|}{zz{zzz{|z{{{{{{||{zyzzz{z|z{{{z|z{zyz{zz{{z{{|{|z{zz{zz{{{{{{{{{{z{{{zzz{|{{{|{{{{|{{{{{|{z{{{{|zz|{zz{{|{{|{{|{{{y{{{zz{|z{||{{{{|{z{{{|{|{{{|{{zzz|{{z||||{{{|{{{{{{{z|{|z|}||{{|{{{|{{z{|{|}}|{{{{{{z{|{{{}}{{z|{{{{{|{||{|||{{{|{{{|{{{||{|||{z{{||{{}{{}{|||{|{{{{z}||{{{{{||{{zz{{{|{|||{|{|{||{{{|||{||||{{{z{{z{|}{||{|{{{z{{z{|{|{{|||{|z{{yzz{{{{{{{{{zyzzz{zzz{{|{{z{{zzzzyzz{{{{||}{zz{{yzzz||{z|z{z{z{y{zzz{{{{z{||{{{zzz{z{{{{{z||{{zzzz{zz{yzz{{{{{{yzyzy{{{zz{{{{zzzzzyzzz|zz{{{yyzzzzzz{zzzzz{zzzzzyyyzzz|{{{{{{zzzyzz{zzz{z{|{zz{zzzzzz|zz{z{{{zzzy{{zy|z{z{{{{{{zzzzz{z{|{{{z{{{zz{z{{{{{z{{|{z{{{z{z{{{{{|{|zzzzzz{{z{|{{||{|{zzzz{{{|{{||{{{z{{{yzy|{{||z{{z{yz{zzz{{||{{|{{{zz{{{z{|{|}|||z{{{{{{{|{{{||{|{{{z{zz{||{{{{{{{{{{|{{{|}||||}}{{{{{|{{{{{{|||}{{z{{|{|{{|{||}{{z{{{zz{{{|||||{z{{z{{z|{{{}|||}|{{{{|{{{{{|{||}{{{y{{{{{{{{{|}{{{zzzz|{{{{{{{{|{z{z{{{zz{{{|z{z|zz{zz|z|{{zz{{|yz{{zzzyz{z{{|{{{{z{zzzzzz{{z{|{{zz{z{yz{z|{z{|{|zzzyzz{{||{{{{|z{{yzyzzz{|y{{{{{{{zz{{z{z|{z{zz{zyyzzzz{z{{{|z{zzzzzzzz{{{zz{||zzyyzzzzz{{zz{{{z{{zzz{zzz{z{{{{{zz{yzyzz{{z|{{{{z{z{zy{{{|{{{|zz{zzz|zz{{{{{||{{zzy{zz{z{{{{{{|{{{{y{z{|{{{z{||z{{{z{{{{{{{{{{|{z{{{zzz{|{{{{|z{zzz{{z{{{|{z{{{{{zy{{zz{{|{{{{|{{{z{zz{{{||{{|{zz{{{z|{{{||{|{|{|{z{zzz|||{{{{||{{{z|{{|}|z{}{|{|zz{|{|{|{|{{|{|{{{{{z|z|||||||{{|{{{{{|{||||}||{{{{{z{|}{{{||||{zz{{{{||{{||||{||z{{{{{{{zz||{{{z{{z{{||{||{{{{{{z{z|{{{{||{{{|yzz{{zz{|{z|z{{zzz{zzzz{{{z{{{|{{zzzz{z{{{z|{}{|{yzzzzz{{||z{{{z{{zzzzy{{{z{{z{zz{yzy{zz{{z{|{zzzzzyzzz{zz{z|{z{z{zzzz{z{z{y{{{zzzzzz{zz{{zz{z{{zz{zzzyzz{zz{{|{|{yzzyz{z{{{{{|{zzz{{{z{{y{{{y{{{z{yyzzz{{{z|{{zz{{{{zyy|z||{|{{{z{zz{{|{|{{z{{z{{zzzz{{{|{{y|{{{z{{zzzz{{z|{}{{z{{zy|zz||{{|||{{zzz{{{{{|{z{}{{zzz{{{|{{|{{{{|{{{{|{}z||{{{{{|z{{{{z{{{|{|||||{{{{|{{{{{||{{|{|z|{yz|{{}|z{|||{{{z{{|{|{{{}}|{|{{z{{z{|{|}|||{|{{{{{{|||{|||{{|{{z{z{z||{||||||{z|{{{||||}|{||{|{z{{{{{{{|{{||{{{{{|{z|{{{|z{{{z{{z{zz{z}|{{{{{zzzz{zz{{{{{{{{{z{zy{zzz{z{z{||yzzzz{z{{z{z{{|{{{{z{z{z{z{{{{{|{zzzzy{y{z{{{{|{|z{{yzzzz{zzz{{{{{zzzzzz{{zz{{|{zzzzzzzz{zz{{{{{{{zzzzzzz{{{zz{z{{zyzzyzzz{{{{|zzyzzzzzyzzz{z{{zzzz{yzzz{zz{{{{|{{zz{zyzz{{z{{z{zyzyzz{z{z{{{{{{{zzz{yzy{{{||z{|{zz{z{{z{{{{||z{zzz{zzzz{{z{||{|{zz{zz|z{{{|{{{|{{{z{{|{{||{|{{|{{{{{{{{{{|z{{{z|{{{{zzz{{{{{|||z{{{{{z|{{z{|{||{{z{{zz{{{|||}|{{z{z{{z{{||{||}||{{z|z{|{|{|{{|{|{{{{{{||{||||||{{{{{{{|z}||{{|||{{z{z{{{{{{|{|||z{z{{{|}{{{{{|{|{{z{{{z{{{||{{||{{z|{{z{{{||{{{{z{{zz{z|zz{z{z{{zzzyz{y{z{z{{{{{zzyzzxz{{zzz{{|{z{zz{zz{{{{{{{{zz{zzzz{zzz|z{z|{zzyzz{z{{{{{{z|zz{z{yzz{z{yz{{zz{zzzzxyz{{{z{z{{{zyzyz{{{{z{zz{zz{zzyzyzzzzz{zz|zz{zzyzz{z{{z|{{{{zz{zyz|zz{{|{zzzzzzzzz{z{{{z{zz{zzyzzz{{z{|{|zzzz{zzz|z{{z{||{zzzzzzy{{{{zz{{{{|{z{zz{{{{{|{{zz{z{zzz{z|{{{|{{{{zz{zz{{z{{{{{{{{{zzz{{}{{{||{{z{z{zy{{{{{z}|{{{{{z{z{{{|||||{zz{zzz{{{|{{{}||{{{z{zz{{}|{{{{|{z{{{{|z{||{{{{|{{{zz{{|{|{{||}{|{z{z{{z{}|{|{}||{{{{z{{zz||{}}{zzz{|z{{{|z{{||{{{zz{z{{}{{{||||{{{z{zz{{|{{{{|{{zyz{zzz|{{|{{{||{{z{z{z||{zz{{{zzzz{{{y|{|{{{{z{z{zzyzz{{{{{|{|{{zyz{{yz{z{{|{{z{{z{zy{z{{|{y{{{{{yz{zy{{{|zz{{yzzzzyzyz|{{z{{{zz{yzzyz{{{{{|{{{z{z{z{z{{{{{{||zzyz{z{yz{zzy{{{zz{z{zzz{{{{zz{{{z{zzz{zz{{zz{{{{{{{y{zzy{z{{{{{zz{zz{{zzzz|z{z{yzzzz{zy{{z|{{{{{zy{{yzz{{{{{z{}zy{zzz{z{zz{{|||{{|z{{zzz{z||{{|{{{zz{zz{{{{{|{{{zzy{zzz{{{{zz|{{y{zzzzz{{{{{|{{{{{{zz{z{{{{|{||z{|{z{{z|{{{|{{|{|z|z{zz{||{|{|||zz{z{|{||{|||||||z{{{|{|||{{||||{z{{{{{||{|||{||z{|zzz|{{|}||||{z{zzy{{|{|{|||||{{{{{z{|{{||}{{{{zzz{{z{||{{{{{{{{{zz{z{|{|z{|{{z{zzzzz{{{{{{{{{zyz{z{zz{{{{z{{{zzzzzyzz{z|{{||{zzzz{zz{zz|{{{{{y{{zzz{{|{{z{{{zzzzz{zz{z{{|{{{{zzz{zyyz|z{z{{{{z{z{zzz{{z{||{{{zzzyzyzz{{z{{z{zz{zz{z{z{z{z{{zz{z{zzzy{z{{{{z{zz{yzzzz{{z{{{{{{{{zzyzzyy{z{|{zz{{yzzzzyzzy{z|{zzzz{{yyz{z{{{||{{yzzzzzz|{{{{{|{{z{zz{z|{{||{{|{z{zzz{z|z{|{|z{zz{z{z{z{{{|z||{z|{|zy{z{|{{z||{{{{{{zzz|{{|z||{z{{zz{{{{{{|{{|{{{{z{||{|{{|{|{}{{|{{{z{{{||{||{|{{z{z{{{{|{}|{|{z{z{{{z{|{|{{|{|{|{{|y|{{}|{||{|{{|y{{{{|{|{|{{|z{z{{|{||{|{|||{z{{{zz{}||{{{{}{{{{{z{{z{z|{{{|{{zz{{{zz{{{|{|{zz|{zz{z{{{{||{{{{z{zyzzz||{z{{|zzzz{z{z{{{{{|{zz{zzy{{y||}z{|||{z{zzz{{{z{{{{{|{z{zyzzz{z{|{|z|y{zzz{zz{z{zz||{{z{zzz{y{{zz{{{{{zzzzzzzz{{z{{z{{zzzzyzz{{|{{z{zz{z{zzyz{z{z{{{{{zzzzzz{{{{{{{{{{{z{{z{z{z{{zzz{{{{zyzzzy{{{{|{zzz{z{z{y{||{zz{|{zzzz{zz{{{{z{|{{zzz{zzz|{{{{{|{zz{{{z|z{|{{{{{{|{{{zzz{{|}|{||{z{{zz{{{{||{{||{{zzzz{{z|{|{z||||{{{z{{{{{{||}||z{{{{{{{{{||{|{|{{z{{z{z{||||||{{{{{{{{{{{{||||{{{{{{{{{{{|{|}}|{z|{{z|{||||||||||{{{{{{|{|{|{||{z{z{{{{{{{|{{|||z{{{{{|{|{||||}|z{z{z|{z||{{||||{{{{zz{{|{|||}z{z|{{y{zzz|{{{{yzzzz{zzzz{{{z|{|{zzz{zzy{{{{{|{}{{{zz{{z{z|{{{{{{z{z{z{y{}{{{{{{{z{zy{zz{{{{{|{{{{{zz{zz{zz{z{|{zzzzzzzz{{{{z{|z{{zz{zzzzzz{{{|{zzzzzyzzzz{{{{{{{zzzyzzz{z{z|{{zzz{zzz{z{|{{{{|{z{{zzzzz{{|z{||{zzz{{{{zz|{{{||{{z{{zz{z|{|{{|||{zzzzzz{{z|{{{{|{zzz{z{{z{{||z{{z{|z{z{{{{{{{{{{|{{{{zz{{{||{{{{|z{{{{zz||||{|||{{{{{zzz|||{{}|{{{z{{{|z|{{||||{{{{{|z{||{|}{||}{{{{z{|{{{||{||||{zz{z{{|{||||||{{{{{{|{{|||{|}|{{z|{|{{{|||{z|||z|{zz{z{||{{|||z{z|{{{|{|{{||{|{{z{|{{{{{{||||}z|{z{{z{{{{||{|{{{{z{zzz{|{|{{|{{zz{{z{{{{||{{{{z{zz{z{{||z{{{{{{z{zzyyzz{{z{|{|zyy{zz{z{{{{{z|{{zzz{zz{{z{{z{{|{zzzyy{y{zz|z|{|zz{zzzzz{{zzz||{zzzz{zyzzz{{z{z{z{zzyzzz{{{{z{{zy{zzzzzy{{{z{{z{{{{zz{yz{{{{z|||zz{yzzzz{z{{|{|{zzzzzyyxz{{{z{{{{zzyzzyzz{{||{y|{{{zzzzzz{|{z{|{z{zz{zz{{{{|{||zz{{{zz{{|{{{{||{z|z{{{{{{{z{z||z|z{z{zzzz{{z{{z{{y{{z{zz||||{{{{{{{{{{{{{||{{||{{{{{{{{{|||{{||{{{z{{z{{{{|{||{|{{z{|{{{{{|||||{{z{{z{{{||}{}||}|{{|{|{z{{|{{||{||{{{|{zz|||{|||{{z{{{{{{|{{{||{{{{zz{{{|{{|}|||{{z{{{{{{|{|||{}z|{z{{z{{{{{{|}|{{z{{zzzz{{{{|{{zz{z{z{z|{{z{z{{{{{{zz{zz{{z{{{|{zz{z{zz{z{{{{{{{yzz{zz{{z{|{}|{|z{zzzzzz{||zz{{zzzzzzzz{{{{y{{zz{yz{zzyz{{{{{|zzy{zzzz{{{{zz|{{{z{zy{zzzzz{{{{{zzyzzyzy{{zzz{{{zzzzz{zz{z{z{{{{z{zzy{zzzz{{{{{{zz{zyzyy|x|{{|z{z{zz{zzzz{{{z{{{zy{zzyyz{{z{{{||zzzzzz{z{{{{z|{{zy{{z{z{{{|{{{{{zz{{z{{z{||{{{{{{z{{{z{z{{{{|{|{z{z{{{zzz{|z{{|z{{{{z|zz{{{{{{{{|{{{{{z{{||{{|||zz{zz{|{||{{{|||{z{zzz{z{{{||{{{|zz{{{{z}|{{{}||{|{{{|{{{|{||{{||{{z{||zz}{|||||{z{{{{|{{|{{{}{{|{{{{{z|z{|{{{{||z{{{{z{{{{|{z||{{{z{z{zz{{{{|||{|{{z{|zz{|{{{|{{{|z{z{|{{{{{|{z{zzzyzzzz||{z{{|{z{{z{zz{{{{{z||{{{zzzzz|{{{|{{{{z{{zyzzz{{{zz{|{zzzy{z{z{z|zz{|yzzzzzzz{zzz{{{zz{z{zzzzzz{{z{z{zzzzzzzz{{z{{{{{|zzz{yzzz{z|{{|{{{{zz{zzzzz{{{{{{yz{zzzzz{|{{||{{z{{zy{zz|{{{{{|z{zzz{zzzz{zz{{z{z{zzzzz{|{{|{|}{{{z{zz{{z{{{{{{zyz{{z{{zz||z{{{{{{{zzyz{{{{{{{{|{{{{zz{{{|{{|{{{{z{zzz{{{{||{|z|z{{zzzz|{z{{{|{}|{{{zz{{{||||||{|{z{{|{|{||{|||{z|zzz{{{||{{||{{{{z|{z{|||}{||{{{{{{|{z{|{|||{||{{{{zz||||||||{|{{|||{z|||{|||{{{{{{yz|{{||{{||{{{{{|{|||{|{{||{{{y{{{{|||{{||{|{z{z{{{{|||{{|{{{{z{y{{{z{{{{{yz{zzyy{z|{zz{z{{zzz{zz{z{{z{{{{{{zzyzz{z{{{{|{{{{zz|zyy{z{|{{{{{{{{yyzzyz{{z{{{{zzzzzzzzzz|z|{|zzzz{yzzz{{zzz{{zzzzzzzzzzzz{z{{{{zzzzzzz{z{{zz{z{zzzyzzzz{{{{{{{{{{zzyzzzz{{z{{|zzzzzzzyz{zzz{{|{zzzzzzz{{z{{{zz{zy{yzyz{{{{zz{{z{{z{zz{{{{{z{{{zzyzzzz{{{{zz{z|zzzy{y{|z|{{{|{|z{z{{{z{{||{{{{{{{{z{z{zz{{{z{|{{zz{{{z{{|{{{|{z{{zzz{zz{{{||{{{z{{{{z{|{|{{|||||{{{{{zz|||{|{{{{z{zzz{z||{{|{|{{{{zz{{|{{|{{{|{|{{zz{{z{|{|{{{{{z{{{{{{{{{{{|{{|{z{{{z{{|{{{||{zz{{{{{{{|z{||{|z{{zzz{{z{{|{{|{|{{z{z{||{{{{z{|{zzz{yzzz{|{{{zz{y{yzzyzz{{{z{{|z{zz{zzz{{z{{{{{zy{yzz{z{{zz{{{{{zzzz{zzzz{zzzz|{{zzzzyy{z{z{z{{zzzyzzzz{zzy{|{z{zzzzyzzzz{zz{{{zy{zyzzzz{z{{{{zyzzz{zzy{zz{{z{z{zy{zzyz{{z{z||{{zzzyzzzy{z{z{{{{z{zzzzyzzz{z{{{z{zzzzz{{{z{|{{{yyz{{z{{z{|{z|{{zz{{{z{z|z{{y{{z|zzzzyzzz{z{{{|{{y{yy{{yz{{|{{{{{{z{zzzy{zz{{{{{{z{z{z{{z{{|{{|{z{z{{z{z{|{{{{{{{zzzz{z{{{||{{{|{{{{{{||{{{|{{||{z{z{zz{{||||||{|{z{{z|z||{||||||z{{{{|{z|{{{|{||{z|{{z{||{||z|{{{{{z|{{{{|||||{{{z{zz{z|{||{|{||zz{|{z{{{{z{|{{z{|z{z{{{{|z{||||{z{{{{{{|{|{{{{{{{z{{zz{zz|{zyzz{zzzzz{{{{{{{{{{zzyzyy{{{{{z{{{{zzzzz{{{zzz{{{{zzyzzzyzyzzzz{{{{zzyyz{z{{{z|{z{yzzz{z{{z{{z{|{z{{zzzzz{zz{z{{{{zyzzzyzz{zz{z{{|zzzz{{zz{zz{zz{{z{yyy{zzy{{z{{{zzzzyzyyz{{{{z{{|zzzzzzzzzz{zz{{{zzzzzzzzz{zz{{z{{zzzzzzz{{{{{{|{{yzzzyzzy{z{{z|z{yyzzz{{z{{z{{{{zz{zzzzz{{{{{{{{zz{{{{zz{|zz|{{{{z{{z{{zz{}{{z|{{{z{yzz{{{||{{{|zz{{z{z|{{||{{|||z{{zz|z|{{||||{{z{{{{{z{|{{{{|||{{zzz{z{{|||{{||{{zz{{{{{{||{|{{|{{{{{{z{|{{z|||z{{{z{{{|{|||||{z{z{zz|{{{{{||{{{{{|zz{||||{{||{{z{z{zz{{{{{||{|zz{{{zz{|{|{{{{{|{zzyzzz|{{z{{{{zzz{{z{{{|{{|{{{zzz{zzz{{z{{{{{{z{yyzzz{z{{{{|z{zzzz{yz{z{|z{{{{{z{zzzz{{z{{z{}yzzyzyyzz|zzz{{{{zzzyz{zy{|z{{y{zzzzzzyzzz{zz{{z{z{y{z{yzz{{y|{zzzyzzzzyzz{{z{z{zz{yzzyy{{{z{z{{zz{z{z{zzz{{z|{zzz{zzzyzy{{{{{{zyyzz{zyyzz{z{{|{zz{zyzzyz{{zz{{{{z{zzzz{zz|z{{{|zz{{{{{z{|z{{{{{{zz{{z{zz|{{||{{{z{z|{z{z{{||z}|{{zzzz{z{|{{|{{{{{zz{zzz{||{||||z{{{{z|{||{|{{||{{{{{{z{||||{z||{z{zzz{z{|{{|{||{zzz{{z|{|{{||{{{z|z{{{{{||{{|||||{|{{{{|z}|{|{{|zzz{zz{||{{||{{{z{{{{{|{|{|||||{{{{z{z{z{{{{{|{{{z{{{{z|{{{{{{|{z{zzzzz{z{{{{{{z{{z{{zyz|{zz{{{{z{zzzz{z{{z{{{|{{yzzzz{|{z|{{{|z{y{{zz{{{z{{z{{{zzyzzzyzzzz{|z{{y{zzzzzzz{|z{{{{zzz{{z{{z{z{z{|{{zzzzzzzzy{{{z{zzzzzzz{{{zz{{||zzyzz{{zzz|z{yz{z{{zy{{z{{z|z{|{zzz{{zzzzz{{{{{{{z{zzzyzy{{{z|{{{z{zz{zy{|{{{{{{z{{z{z{{{{|z{{|{{{zz{{{{{{z{|{|{z{{z{{{z|z{{{{{{{z{{{zzy{|z|{|z|{{{z{{{yy{{{{||{|zz{{{{z{{{z|{{{{{{{{{z{{{||{|{|{{{{{{{{|{{||{|{{{{{{{z{{{|}{{||{z{{|z{{{|||{|{|{||z{zz{{|||}||{{z{{{{{{||z}|{}|{{{{z{{{|||{|||||zz{zzz{||{{|{|}|{{|{{z{{|{{||{|{{zz{zzz|{{|||||{zz{{z{{{{|{{{z{{z|{zy{{{|{{|{z{yzzzzyyzz||{{{zzzz{zzzzzz{{{z{z|z{{z{zzz{z{y{|{zzz{zzyzzz{|{{{|{zzz{zzzz{{|{{{{}{zzzz{zyzzyz|z{zzyzz{zyy{{zz{zz{zzyzzzyzzz{{z{{{{yzyzyzz{{yz{{zzyyzyyzyz{{|{{{zz{{|zzz{yzzz{{zzzzzy{zyzzzz{zz{{{yzzzzzzz|{{z{{{{yz{zz{zy{{z{z{{|zyyz{yzy{{z|{{{{zz{zzzz{{{|{{{|{z{{zzzzz{{{{{{||{z{z{z{zz{{{{|||{{{z|zz{|{{{zz|{{{z{{zz{{{|z{{{{{{{{{{{z|{y{|{{{z{z{{{{{{|{{{|||{z{|z{zz||{{|{{||{zz{z{{||{|{|||{||{{{z|{|{{|||}|z{{{||{{|{||||{{{{|{{{{{{}{{|{|{yz{zz{{z{{|||{|{{{{{{z|{{{{{||||{{{{z{{{{{{||||{{{{zz{zz{z{{{{|{{{zz{{z{|z{{||z{zzzzzzzz{{z{{{{{{{{zzyz{{z{{{|{|{zzzzzz{{{{|{{{{{z{{zyzzzzz{{{{|zz{{zzzz{{{{{{|zz{{zy{zz{{{z|{z{z{z{z{z|z{{{{z{zzz{z{zz{z{{z{|zzzzzzzzz|z{{z{{zzz{zy{zzz{{{{||{{z{z{yzz{{{{|{|{z{{{{{{zz{{y{z{|zz{{zzzzz{{{z|{{|zzz{zz{{|{{z{{z{{zz{zzz{|{zz{{|{z{z{yz{{{{{{{{|zzz{z{|z{{z{{|{|{z{z|{{z|{|{z{|{|{{z{zzz|{||{||{|zzzz{z{||{|z|{{{{z{{{{{{|||||||{{z{{{{{||{||{{||{{{z{{{||{|{||}{{||{zz{||{||||}{zz{z{{||{|{||{||{{{z|{{{~{||{{|{z|{zz|z{||{|||{{{{z{{{z|{{|{{{||{{{|{{{|||z|{||{{z{|{{z{|{{{{||||z{zzz{{|||||{|||zz{{z{{{{||{{{zy{zzzyzzz{z|{{{z{zzzyyzz|{{{{{{{zyz{zzzz{z{{{{{zzzzzzzz{zz{z{{{{zzzyyyyzz{{z{{|y{{yzz{yz{{{{{{zzzyyzzyz{{{zzz{z{{z{zzzz{zzzzz{{zyz{yyzzz{{{{z{zzzz{yyzy{{{{z{{zzyzzyzzy{zzy{{|{{zz{zyzzzz{{{{{{{z{{zyyyz{{{{z{{{zzzzzyz{zzzz{|zz{zzzz{{zz{{z{{{{z{z{z{z{{|{zz{z{{{{{zz{z{{{{{|{zz{zzy{z{{|{{{{{{z{zzzzz{{{zz{{||z{{{{z{{{|{{{{|z{{z{{{{|{{{{|||{{{{{{{{{{{|||}|zz{{zz{z|{|}|{|||zz|{|zz||{{||||zz|{|{{z{{|{{{{|{z{zz{{{{|{|{||}|{{{zz|z{{{|{{{{{z{z{zz{{{{z|{|{|{z{{|{{|{{z|{|||{{zz{{z{{{{z|||z{z{{y{yz{{{{|{|{|{zzzzz{{z{{{z{{zz{zzzyz{{z{z{z{{{zzzzzzzzz|{{zzzzy{zz{{{y{{||{z{zz{zzyz{{{{{z{z{zzzzzzz{{zz{{{yzzzzzyzz{zzzz{zzzzyzyyzzz{yz{zyzzzzzyzzzzz{z{zzyzzzzzz{zzzzzz{z{zyyzzzz{z{{z{|{z{zzyyz{y{{zzz{zzzzyzzzzzzz{z{|{zzyzzyyzzzy{yz{{zzzyzzyzz{{{{|{{{z{{z{zz{{{{{{{{{yyy{zzz{{{z{{{{z{y{zzz{z{{{{{|{{{{z{{{z{|{z{{{{y{zzzzzz{|z{z{|{{{{zzyz{z{{{{zz{z{{zzzzyz{||}||{z{{z|z{{z|||z|||{{z{z{zz{||||{}|{z{{{zz{{{|{{||{{{{{z{{{{{{{|||z{z{{z{{z{|||||||{z{{zz{{{{|{{}{{{zz{z{z{{{|||{|{{{{{{{z{{{{{||{{{{{zzz{{{{{{{z||{{{{zzyyz{{{z{||z{{{zz{zz{{{{{zzzzzz{zzz{{{{{{{{{zz{yzzz{z{{zz{|zzzyz{zzz{{|y{|z{yz{z{zz{{{zz{{{zzzyyyzz{{|z{zz{zz{zz{zxzzzzz{z{zz{zzzzzz{{{zzzz{zzzzzzzz{z{z|{zyyzzyzzzzzzzzz{z{zzzzzzz{zz{z{{zzzzzzzzy{{{{z{|{zzzyzxzyyzzz{{{{{{zzzz|yz{{zz|{{zzzzzzyz{{{z{{{|z{zz{zyzz{z{z{|{z{zz{zzz{{{z{{z{zz{zzzzzz{{{{{|{{{zz{yzzz{|{z{{{yyzzyzzyz{{{z{|{zzzz{|zz{|{{{|{{{{z{z{{{{z{{{||{zy{{{zzz{|{{|||{|{z{zzzz{{{z{{||{{{y{z{z{{|{{{|{{{{zzz{{z{z{|||||z{{z{{{{{{{{|{{|z{{{z{{||}|{||{{{|z{{{{{{{z|{{{{z{|{{z{{{|{{|{{{zzz{z{z{|{zz|{{z{{{y{{zz{{||{{{{zzzzz{yzz|z{zzz|zzz{z{xz{{z{|{|zz{{zzzz{{{{z{|{zz{zzzzzzz{z{{}{{{zzzz{{z{z{y{zzzz{y{{{z{|{{{z{{{y{zyzyy{zzzz{{zzzzzzzzzzz{{z{{{zzzz{{yz{zz{zz{{zyzzyz{zz{z{{{{{zz{zyzzy{zz{z|{zzzzzz{yz{{z{{{{{{{zyzzz{yz|z{{{z{{zyz{zyzz{z{{{|zz{zz{zz{{{{{{{{|zzzzzzz{{{{|{z{zy{zzzzzz{z{{|{|zzz{z{zz{|{{{{||{zzz{z{{{{{{|{||{z{{{zzz{{|{{z||{zz|zzz{{{|{{{|{{|z{zz{{{{{{{|{}z{{||{{|{{{|{{}|{{{{zz{{{{{||||{z{{zz{{{|||{{{{{{{|{z{|{|||{||||{{{{zz{{{}}|{{|{|{{|{{|{{{|{|||{|zzz{{{{|{|{{{||{{{{|{|z{{{|{||{{{zz|{{{z|z||||{{z{{zzz{z|{|{|||{{{zzz{{|{|z{|z{{{zzzzzyzzz{{{zzzzzz{{yzz{{{{{{|zzyzzzzzyz{z{{{{zzzzzyz{{{|z{{{|{{{zyyzyzz{{{{{|z{zy{z{zzz|zz{|{zzz{yyzyz{z{zzzzzz{{zzzzzzz{{{z{zyzzy{zz{zz{z{{{{yyzzzzzz{zz{z{{z{{zzzzzz{{{{{|{zyzz{zzz{{{z{{y{{{z{z{{zz{z{z{z|zz{z{zzzz|zz{{{{{zyzz{zz{{zzz{{|zz{zzz{z{{||{{{|zz{zyz{zz|{{{{||{y{z{zz{z|{{{z{{z{{z{z{{{||{{{{{|z{{zz{z{|{zz{{{{{{{{z|z{|{|{{||{{{z{z{z|{{}{{||{zz{{|z{{|||{{{{{z{y{{|{||}||{||{{{|zz{{{||{||||{|z|{|{{|||||||{{{{{z{{z{|{|{|||{{{{{{z{|{{{|}{{|{{{{{{{|{{{||{||{{{zz{z{{{{{||||z{zyz{{{{|{{z{{{z{yzz{{{{{|{zzzyzxxyzzzzzz{zz{|{yyzyzzzz{{zzz{z{{zzzzzy{zzzz{zzzzzzzyyzzzzzz{z{zz{yzz{zzz{{{{z|yzzzzxzyzzzy{{{zzzyzzyyz{z||z{{{z{yzzzyzyzz{zzz{yyzzzzzzz{{z{{zzzzzyyzyzz|{{zzzzzzzzyyy{z{z{zz{{zzyyzyzzyzzzzz{{{yzzzyyzzzz{z{{zzzzzz{zzz{z{|{{{zzzy{zyzzz|zzyz{xyzyyyzzz{z|{{{|yzzz{zzz{{{|z{{{{zz{{yzzzzz{|{{{yzy{zzzz{{{z{z}zzzz{zz{z{{zzz{{{{{{{{zzzz{{{{{{{zz{z{{{z{z{{{{|{{{{{zzzz{{{{{||{{{{{{z{{{{{}{{|{{{|{{|{{yz{|||{|{|z{z{z{{|{{}z{|{z|z{{|z|{|{{|{{|zzz{{y{{{{|{{{|{{{zz{z{|{{{z|{{{{{zzz{z{z{{{{|zzz{{zz{y{|{{{{|{zzzz{zz{z{{{|z{zz{zzzzzzz{{zzz{{zyz{zzz{{z{{|{{|{{{y{zyy{{{{{z{|zyzyzzzzz{{{{{{{{zzzzz{y{z{{yzz}zzzyzyyzy{z{zz{z{zzy{zzz{z|zyzz{zz{zyzzzzz{zz{|zzyz{zyzzz{{z{z{{y{zzyyy{z{{{|{{{zz{zzyzyz{|zzz{{zzzyzyzyzz{{z{zz{zyz{zz{{z{{{{z{zzy{zzyzyz{{{{zz{zzzyzzz{{{{{{|{zzz{zzz{{yz{{{z{zzz{{{z{|{z{|{{|z{{zz{zy{z{{{{{{{yz{zyzzz{{|z{{|{zzzzz{{{{{{z||{{z{{z{zz||{{{{{{z{||z{{z|{z{{||}{{z{|zzz||||{||{|{{{yz{||}}{|||{{y{{{{||zz|{|}|||{{{zz{y{|{{z{|||{{|{z{{{|||{|||{z{{y{{z{|{{|{{}|zz{{z{z|{}|{{||{{zz{z{{z{{|{z||{{zzz{{z{|z|{{{{{z|z{{{z{{{|{{{zyzyz{yz{y{|yz{||zzzzzz{z{{z{{{{{zzzzz{zz{{z{{{|{{zzzzyxzzz{{{{|{zzzzzzzyz{{|z{{{{yz{z{{z{{{{zz{|{zzzzxzy{z{z||zz{zzzzzyzzz{{{{{{y{{zz{zy{{{{{{{zzzzzz{z{{{{{{zzz|zzzyzzz{{zzz{{{zzzzzyzzz{{z{{z|zyzz{yzyz{z{{{{z|{zzzzzy{|{{z{{{z{zz{{|yz{z{{{{|{{{z{z{z{z{{{{{{{zzzzy{{{|{z{{{{z{zz{z{zz{{{{|{z{z{z{{{z||{z|||zzz{{{z{z{||{z{{{{{z{{z{{{{{|{||{{z{z{{{{||||{{{|{z{|z{z{{|{|{{{}{z|z{{z{|{||{|||{z|{}z{||{{|||{|}{{{zz{{||{}|{{{{{{|{z{{||{|{}{{{zz{{{{{|{|{{|}||z{z{{zz|{{|}|||{|{zzzzzz{{{{{|{{{{{z{{y|||{{{||z{{{{{zzz|{|||{z{z{zzx{z{{|{{{{|{{{z{{z{{zz{|{|{{{zyzz{zzz{{{z{{{{zzzzz{z{{{{{|{zzzzz{{y{z{{{z{{zzzzzz{zz{{{{||z{zzzz{zz{{{zz{zzzzzzyzz{z{zzzzzzzzzzzzzz{zz{z|{zzz{zy{yz{{{{{{z{{z{zzzzzz{z{zz|z{zzzz{zyz{{{{zz|{{zzzz{{{{z{{{{{zz{{z{{{{{|{{|{{{zzzzz{z{{{{z|||zyzz{zzz{zz{{||{{{{zz{{{{|{z|||{|{{{{{z{{|}}{{|||y{zzzzz{{{{{{||{{y{{{{{{{{{{||||{|z{{{{||{|}{||z{{z|z{{||{|||}|{|z{|{z{|||}{{|{{{{{{{{|{||{{{|||||{z{{|{|{|{||||{|{{{{|{|{{{{|{{y{|z{{||||{||}|{{z|{{{{{|{{{||||z{{|{|z|{||||||z{|{{z{z{{{z{|||{{{{z{{zz|{|{{{|z{{{zzz{{z{{{{{{{z{yyzzz{{{z{z{{z{zzzyzz{zz{{|{{{zzzz{zz{{z{z{|{{zzzz{y{{{{|{{|{zzzyzzzz{{z{{{z{{zz{{zzy{{zzz|{{z{{zz{zzzz|zz{{zzy{zzzzz{z{{zz{{{zzy{zzy{{|zz{{zyz{yyzzzz|{{{z{zz{zyzzyzz{{|z|{{{yyzyzyzz{zz{{{{{{{yzzzz{zzz{z|{zzzzz{{z{|{{{{|{{zzzz{y{{z{{{{{|{y{{zz{{{z{{{z{{zzzzzz{zz|{|{{{z{zzzzzzzz{{{{|{z|{{zz{zz|{|{{|{{{z{zz{{z{||{{|{|{{zz{{z{{|{|||{{{{{z{{|{{|{||||{|z{{z|zz{z{||}{{{zz{{z{z||{{{|||{{||{|{{{{|{{|||{z|z{{{{{|{{{|||{|||{{{{||{{|{|||{{{zz{||{{{{||{{{z|{{{||{||{||{z{{{{z{z|zz{{||{{{zzz{{z{{{|z{{{{{{{{zz{{{|{{{{z{zzzz{zyzz|zzz{{zzzzz{yz{{z{zz{{zzzzyy{z{z{{|z{{zz{yy{yyzz{|{yz{yzzyyyzz{{zz{{z{{z{yzzzyz{z{z{zz{{z{yzzzzy{zz{{{zyzzzzzzzzzzz{{|zzz{zzzyz{z{z{{z{zyzyzyzzz{z{{{{{z{yzzz{{{{z{{{|{{zz{yyyzzz{z{{{{{zzzzy{z{zzz{zzzzzzzzyy{z{zz{z|zzzz{yzzz{{zz{{|zz{zzyzzzz{{{{{{z{z{zzz{z{{{z{|{zz{z{yyzz{{{{{{zzz{zzzzz{{||{||{zzy{zzz{{|{{|||z{z{z{{z{{{{|{{{{z{{z{{}{|||}{{{|{z{z{{z|{}|||{{{|zzz{z{z|||{|{|{z{z{{{||{z{||{|||{{{{yzz{|{|||{{|{{|zz{{{{|{|||{{zz{{z{|z{{{{{||z{{{z{z{||{{{|{|{{z{{{{{z|{|{|{|{|{z|{zzzz{{{z|{{zz|zz|z{{|{z{|{yzzz{zzzzzzzz{z|zzz{zyzz{{{zz{z{{zzzzz{z{zz{{|{{zzyzzzzzz{z|{{{{zzzz{zzyz{z{z{{|{zzyzyzzz|zzz{{z{{zzzyzz|y{zzzzy{{yzzzzz{zz{{z{{zyzy{yyzzz{zz{z{z{zyy{y{{{{{z{{{yzzzzyzyz{{{z{{y{zz{{y{zzz{zy|{|{zzyzzzz{{z{{z{{z{{zyz{zzz{{z{||{zzzzyzz{z{{z{{{{zyzzyzz|{z{{{{{z{zzzz{z{{{{zz||zy{zzzzzz{z{{{{{{{{{{{zz{|z{{{|{{zzz{{z{|{{{{|{{{{{z{z{z{{{{{||{z{{z{{|z||{|||{{|zz{zzzzz{}{}{||||z{|zzz{{||{|}|{z|{z{|{||{{|{z{|{{{|zzzz|{||||{|{|{{z{{{{{||||{{z{zz{{{{z}||{{|{{z{{zz|{{{{z{||{{zz{zzz{{{{z{}{{{{{z{{z{{{{z{{z{{{{zzz{{|{{{{{{z{{z{z{yz{{{{y{{{zzzzzz{z{{yz{{{{{zzzzzz{{{{|{{|zzzzzzzz{{{z{z{{z{{zzzzy{{zz{{z{z{yz{zz{z{zzzz{{{yzzzyzzzz{z{{z{{z{yzyzzyzzzzz{{y{zzzyzyzzzyzz{z{zyzy{zy{zzz{{{z{zzyzzzzzz{|z{{{zzzyzzyzzz{{zz{{zzxz{zzzzzzzz{{zzz{z{zyyz{z{{z{{{{z{zz{{z{z{{{{{{y{z{zzz{{z{{|{{zz{y{zz{z{{|{{|{{z{z{z{zzz{|{{{zzzz{zzzy{||{{{|{{z{{{{zz{{{{{|{|z{{{{{z{{{|||{{|{z{z{zz{{{{{z|{|{zz{{{{z|{|{{||{{{zz{{z{|{||{|{|{z{{{{{z{z|{{|{|{zz{{{z{{|}|{{}{{z|{{{{{|||{{||{|zz{z{y{{{z{|}||{{zz{{{{|{z{|{|{{z|{{{{zz{{||{|{{zy{{{zz{{{{{{{{z{{z{z{{zz{{z|{{{yzzzyzy{{{zzy|{yy{zyzzzzz{z{{{{zzyyzzzz{zzz{{{|{zzz{zy{{z{|yz{{|{zzyyzy{{{|y{z{z{zyzzzzz{{zzz{{zzzyyyyz{zz{|z{zzyzyzzyz{zzzz{z{yzyzz{zyyzz{{{{{{{yzyzzz{{{y|{{zzz{z{z{zzz{{z{{{z{zzzyzzz{zzz{{z{yzyzyzzz|{{z{zz{zzzz{{{zz{|{{zz{z{zzzzzz{{{z{{{{zzzzyzz{{{{{|{}{{zzzy{zz{{zz{{{{zz{zz{z{|y{{{{|{zzz{{zz{|{{{{{|{z{z{{{{{{|{z{z{z{{z{z{{{{{||{{|{z|{zz{z{{{|{||||{{zzz{z{{{{{{{||z{{{z{{|||{||{{|{{{{{|{||{{}||||{z{z|{{{|{{{||{}z{|z{z{z{{{{|{|{{z|z{z{{{{{{{||||z{{{z{|{{|||||{z{z{{z{{|z{{||{{y{{z{{{{||{|{|{{{z{zz{z{{{z{{zzzzzyzzzz{{{{{{{{zzzzzyzz{yz{z{{{{yz{{zzy{|{z|{{{{yyzzzyzzz{z{z|{zz{yyzzz{{y{z{{|zyyzzzzzz{zz{{zzzzzz{zzzz{zzzzz{{yyyzzyyz|z{yz{zzzzyz{zyy{{zyzzz{zyyy{zzz{zz|{z{zzyyyyyyy{{{{{{{zz{yzzzyz{{yzzz{zyzzzzyz{{z{z{{{zz{zz{yz{{zzzz{zzzzzyzz{{{{zzz{||{{z{zzz{z{zz{z|{{zyzz{zz{|{{||{zzz{z{y{{||{{{{{{y{{{{zz{|zzz{{zz{z{z{zyz{{{{{{{z{z{{zz{{{{}{|{{{zz{{z{z{z{{{|{|{yzz{zz{|{|{{|{{{z{{zzzz{{{|{{||{{{z{{{zz|{|||{|{{|{{{{|{|{{||{{{{{{{z||{{{|{{||{zz{z{{{{{{||{|||zzz{{z{z{{|{{||{{z{zzy{{|{|||{{{z{{yz{zz{|{{{{yzz{zyz{z{z{{{{{{zyyz{zyyz{{{{{{{zz{yzyzzyzzzzz{{yzzyzzzz{z{{{{z{zz{zzzzz{zz{z{{{zyyyyyzzzz{zz{{{zz{y{yz{{z{zz{z{yyzy{zyzz{z{z{{zyzzzzzzy{zzzz{zzzzyyzzyzyzz{zz{{zzyyzyyzz{zz{{{zzzzzzzzyzzz{z{{z{zz{zyzyzzzz{zz{yz{zzyz{zzzzz{|{zyzzyzyy{{{{zz{{zz{zzy{zzz{{{{{|{zzyzyzzz{yz{{{{yzzzzzyzzz{z{{z{z{yzzz{zz{{{|{{|zzz{{zy{z{z{|z{z{zzzzzzy{{z{z{{zzz{{zz{z{{{{{{z{z{zy{z{{z||{{{{{{{|{{zz{{{{{||{{{{z{|zzz||{z|{||zzz{z{{z{{zz{|{||z{z{{zz{}z{|||{|{{{zz{{{|{{{z{|{zzzz{z{{{|{{|{|yz{z{z{z{{|{{||{{{|zz{{z{{{{{{{z{zzz{z{z{{{{{|{{zzzzyzzzz{{{zzz|z{zzzzzz|{{{zz{|{zzz{zzy{{{{{{z{z{z{zz{{{|{{{{{{zz{z{{zzzz{|y{z{{yzzz{zzz{{{{zz|zzzzyyzy{{z{z|zzzzzzzzy{zz{zz{{{z{{yz{zyzy{{zz{{zzz{zzz{{z{zz{|z{zzzyyyz{z{{{z{{zz{zyzzyz{{|{{{|{z{zzzzzzz{z{{z{y{yyzz{z{{{{z{{{zzzyzzzz{{{{{z|{zzz{zz{zz{{{{{{|{z{zyz{{{{{z{|{|{z{zz{z{z|{}{|z{{y{z{zz{{|{|{z|{{{{{{{zz{{{|{|{{{{{zzz{{{{{{{|{{{{{zz{{z{{{{{{{{z{{{{{{z|{{||||}{z{zz|zz{||{|{{{{zz{{z{z|||{||||{zz{zz{|||{{z||{{y{{{z{{|{z{|}{||z||{{z|{|{|{|{{zz{{{zz{z{zz||{||{z{{z{{|{{|{{||{zz{|z{{z|||z{||z{z{{{zzz{||{|{|{z{z{z{z||{{{{{{zzzyzzyzz|{{z{zz{{zyzzzyzz|{{|{{zzzyzzz{{{zz{{z{z{zzzyz{z{{{{z{{zz{zzzyy{{{yzzz|zy{z{y|z{{{{z{|z{zzzzzzz{{zzz{{zzzyzzzy{zyz|z{z{zzzyyyzz{{{zzzz{{{y{zyyz{y|z{zz{zyzzzzzz{{z{{z{|zzz{zyzyz|zzzz{{z{zz{{zzz{zz{{z{{yzzzzzzz{{{z{{{{{{zzyzz{{{{z{{{zz{{zzzz{{{{{{|{z{zzyz{z{{|z{{{{{{{zzy{zy{{{||{{{{{zzzzz|{|zzz|{zz{z{z{{{{{z{{z{z{{{zz{{{{||{|{{z{zz{{|{{{z{|||||z{{{{zz{{||||{{|zzz{z{z{||{|z||{{|zz||{|{{|{||||z{|z{{{|||z{{}}{{{{{{|{||{{{||{|{{{z{{{{{{{|{||{{z{|zz{|{|||{{|z|zz{zzz|{{{{|||{{z{zzz{{{{{{{{{{y{zz{zz{{{{{{z{zzzzzzzyz{{{{{{|{z{zz{zy{|{z{{{|zzzyy|zzzz{{{|{{{{|zz{zzzz{{{{|{zz{yzzzz|{{{{{{|zzzzzz{zz{{{y{|z{{{z{{{yz{{{z{z{zzzzz{zzzz|zz{{|yzzzzz{y{{{z{{{{{z{zyzz{{z{{{{{{zzzzzzyyyz{|{{z{{{yzzzzzz{z{{zz{zzzzzy{{yz{{z{|{zzzzzzzzy{{|{{{|{{zzzzzzz{zzzzz|zzz{{z|z{{zz{{|{{{zzzzzy{|{|{{{{z{|{{zzz{{zz{{||{{z{{{zz{{||{{{z{zzzz{{{{|{{{|{{{z{z{{y|{||||}||{{z|{|{{}|}{||||{{z{{{{{{|||{||{|{{{{{{z{{|z|{|{z{{{z{|{{{{|{{|{{{|z|{zzz|||{|}||{{|z{z{{{|{{|{{|z|{{{{{{}{|{||||{{{{{{||{{|{|z|{zz{{z{{{{{{|{{||z{{{{zz{{{|{|||{y{zzzz{{{{{z{{z{zyzzzyz{{zz{zz{zz{zzyzzzzzz{{{{{yyzyzzzz{{{z{{{{zz{zzzzzzzz|{{{{z{zy{zy|y{{z{|{{yzyyzzyzzzzz{z{zz{z{yzzzz|zz|{z{y{{y{yzzz{z{z{{yzzzyzzyzz{{{{{zzzzzzyyyz{zzz{{z{z{{yyzzz{z{z{{zzzzyzyyyz{{zzzz{{zzzzz{zzzz{{|z{yzzyzyzzzzz{zz{{{z{zzz{zz{|zz|z{zz{{zz{{{{z{|{z|z{zzzz{z{zz{{yy{zzzz{zzz{{|{{z{zzz{zz{z{|{{{{{|z{{z{z{zzz{z{{{{{|{zz{{zz{{{{{|{{zzz{{z{{{{|}{{||{zzz{{z{{{|||{|z|zz{zzzz{{{{{|{||{z{zz{{{|z{||{{|{{{z{z{{}{{{|{{|z{{zz{{{{{}{||{|{z{{{zz{{|{{{||{{{{zz{z{|{|{||{{z{zz{z{z{{{{z|||{z{zz{z{{{|{{|{zz{yzzzz{{{{|z{z{zzzzyyyzz{yzzz{zzyzzyzy{zzz{{{zy{zyz{yz{zzzz{|{zyz{zzzyz{zzzz{zyzzyyzyzzzz|zzz{yyyzyzzyz{zy{z{{zyzzyzzzzzzzyzzyzzyyzzyy{zzzy{zzzzyyzyzyyz{zzzzzyzzzyzxz{zzzzzz{zyzzzzyy{zz{zz{zzyyzyy{zzzzzzzzzz{zyzzxz{zyz{zzzyzzyzzzz{zz{z|{{zzyyzzyz{{zzz{z{zyzzyxzz{z{z{zzzzzzyyyyy{z{{{{{zzzyzzyzy{{{|{zzzz{yzyzyz{{{{z{{|zz{zz{zzz{{{{z{zzzzz{{zz{{{{z{{{zz{z{{z{{z{|{|{{{{zzz{zy{z{{{{zzz{z{zzz{{|{{{{{|{{{zzz{{{{{{|{{{|{{zz{{{z|{{{{{|{{{{zz{{{z|z{{|{{zz{yzz{z{{{{|{{zzzzzy{{{{{{{||{zz{z|zyzz{{|{{{z|{zyzzzz{{z{{{{|{z{zzz{zz|z{{zyzzzyzyzzz{{{{zz{{zzzyyxxzz{zy{{z{yyyzyzyz{zzyzzzzzzzxzzyyzzz{z{{z{zzyzzzx{yzyzz{{z{zyyyyyz{z{z{{{{yzyyyzzzyzzz{yzzzzyzzyyzz{yyzzzyyyxzxxyzzz{zzzzzyzyzyyyzzzzzzz{zzzzyzzzzz{zzzz{zzyyyzyzzz{zzzyzyyyxzzz{yzzyzzz{{yyzzy{z{zyzzzzzzyzzyyzyz{{z{z{{yyzzyzzzz|{zz{z{yzzyzzzzz{z{{{z{zyzzzzzzz{{{{z{{zzzzzz{zzz{{{{{zzyz{zyzz{{zzz{zzzz{{{zyzzz{{|{{{zzz{{{zz{z{z{{{|{zzz{zzzz{{{{{{z{zz{{zzyz|{z{||{{z{zz{{{{{zz|{z{{{z{zzzzz||{{{{{{zz|{z|{|{|z|{{z|z{y{z{z{zz{{|{|{z{zzzz{{{{z{{{{zz{zzyyzz{zz{{{{{{{zyy{yz{{|zz{{yyzzzzzz|{{zyzzzyyyzzzyzyz{{z{{{zzzzzyzz{zzzzz|{zzyz{zzy|zzz{z{{zzzzzyzzzzz{yzz{zzyyyzzz{z{{zzz{zy{zzzzyyz{zz{z{zzzyyz{x{z{z{{zzzzyyzzyyzyzyz{z{zy{yzzzzzzz{zzzz{yzyz{zyzzzy{{zzz{yyyzzyz{zz{zz{{zzyzyzyzzzyyzzzz{{zzzzyy{z{z{zzzz{yzz{yz{{{{zzzyyzzyzyz{zz{{{z|zyzzyyzzz{{zz{{{zz{zzzzz{{{{{{z{{z{zzyzy{|z{z{{{{yzzzzzz{{z{{{{{zzy{zzzzz|{|z{|{{zz{zz|{|{z{z|{{{zzzz{z{z|{|{{{{{z{zzzzz{||{|z|{|zz{z{zz{|{{{{|{zzz{{{z{{{{|||z{|z{{|zz{{{|{||{||{{zy{{z{{{{|||z|zz{{{{{{|{{{|{{zzy{{{yz{{{{|{z{zz{{z{z{{z{}{{{{{y{{zyyzz{{|{{{{zz{yzzzzz{{{{zzz{zzzzzzyzzzzzz{{zzzzyyyyz{{z{zz{z{yyzzzz{{zzzzz{{zzzzyzzzzz{z{zzzyyyyzyz{z{zzzzzzzzyyyyyzz{yzzzyzyzzzyyy{z{zz{zzzzzzzzzzzzz{z{zzzzzzyzxzy{zzzz{zyzyyzzyyzyzy{{{zz{zyyzzzyzyzz{zzyyy{zyyy{z{zz{{{zyzz{xzzxzzzz{{{zzzzzzyyz{zzz{zzzzzzzyzyzzz{z{{zz{zzzyzyz{{{||{|{{zzy{z{zzzzz{z{{{zyzyzzz{y{{|{z{zyyyzyy{z{z{z{{{zzzz{zz{z{z{{{{zzz{{{zy{z|{{{{{{{z{zzzz{{z{{{{{{zyz{zyz||{{{z{{z{z{{y{z|z{{|||{{z{yzy{{{|z{{{z|{{{{{z{yz|{{z|{{zzz{{z{{z{{z{|zz{zzz{z{{{{{{{{{|{{z{y{{zzz{{{|{{z{zzzzzzzz{{{|{|{yzyyzzzz{{||zz{yzzzzz{{zzz{z{zzzzzyzzzzz{{{zy{zyzyyzyzyzyzz{zzzzzzyzyzzzz{z{{z{zyyyyyzyzz{z{y{{yzzzyyzxzzzzzz{{yyzzzyzzz{zyzz{z{yzyzzzz|zzzyzz{{{zyyzxyzzzzzzzzyzyzzzyyzyzz{{zzzyyzxyzxzzzz{zzz{zzyxyyyy{zzzyzzzyzzzyzyyz{yz{zzyyzz{zzzz{z{{{z{zyy{z{yyz{zzz{z{zzzzzz{zzzz{zz{{zz{zz{zzzzzzz|{{zzzzyyzzy{zz{{{{zzzzzz{z{{z{z{{z{{{zzyzzz{{{{{zz|yz{zzzyzz{{zzz{{zzzz{z{{{zz{{{{zzzyz{zy{{{|{z|{{z{{zz{z{{{z{{{{{yz{zz|yz{{{|{{{{zz{{{{zz{|{z{{{{z{{z|zxz}{{{{{|{{z{zzzzzz{{{{{{{z{zzz{z{zz|z||||z{z{{{z{{z|{|{{{{{zzyzzz{|{{{|{z{{zy{z{z{z{{{z{yzzyzy{zzz{{z{zzzzzy{yyyzzz{z{{{zzyzzzy{z{{z{{{{{zyzzyz{zzzz{{zzzyzy{yzzz{{zzzz{zyzzyz{yz{{{{{z{yzyzzzyzz{zzz{{{zzzzzyyzzzzyzzzz{zyyyyyy{zz{zzz{yzzzyyyzz{{zz{{{zzzzzzyyzyzzz{{zz{zyyyzzz{{{{z{{{zzyzzzzzzzyy{{{zzzyyyyzz{{{zz{{zzzzyzzy{{{{zy{{{zzzzyz|zzz{{z|zzzzzzz{z|z{zz{|zzzzzy{yzz{{|{{||zzyzzyzz{zzzz|{{zz{zz{zz{z{z{|{zzzz{zzzz{{{{{{{zz{zz{zzyz{|{{{|{zz{zz{{{|{{{z{||{{zz{zyz{{{{{{zz{{z{zz{z{|||{{|||{{zz||{z{zz{|||{{{{z{zz{{||{|{{{{z|zzz{{|{{z|{{{{{zz{z{z{{||||{z{zz{{{{z|{z{|{|{z{y{z{{{|{{{{{{z{z{{zzz{|{{|{z{zzzzzxzyy{zzz|zzyzyzzz{z{z{{z{{{yzzyyyzzzz|z{{{{{yzzzzzz{z{zz{|zzyzzyyzzz{{zz{{zzzzy{y{yzzz{{{z{{yzy{zzy{zzzz{{y{zyyzyyzzzzzyz{zz{yyyzzyzzz{zzz{yzzyzzyyz{{z{zzzzyzyzxyyzzz{{{z{yzzyyzzz{y{{zz{z{yzyyyzy{yzzyzzzzzyyyzzzz{{z{{zzzyzyzzzyz{{{yz{{z{{y{z{y{{zz{z{{zxzy{yy{{|z{{z{{{zzz{yzzz{{{{z|{{zzz{zzz{z|{||zzz{{{zz{z{{{z{{{{zyz{z{yz{{zz{{zzzz{zzzzzz{{{|{||zzzz{zz|{{{||{{}zz{zzz{z{{|z{|{{{{z{{z{||{{|{||{{{{zz|{{{{|{{{|||z{z{{z{y}|{{||{|{{{{{{{||{{{|{{{z{{|zzz{{|{{{{{{{{{{{z{|{|{{|{|{z{yzzz{z{{{y{||{{z|zz{{|{|{z{{zzy{yzyyzzz{z{{zzzzz{zyzzzzzzzzzzzyzzyyzy{{zz|{{{yzyzyzzz{z{{{{z{zzyyyxyyzz|{z{{zzzzyzzzzzzz{{{{zzyzzyyyyy{zzzz{{zzyyzzzzz{z{{zz{zzz{yzyz{zz{zzzzyyzyyyyyyzzzzz{zzyyzzyyzzz{z{z{zzzzzyz{z{{zzz{{|zzz{zxzzy{zzy{{{zzzxzz{zzyz{z|zzzzzzzzzyzzzz{{zzzzzy{z{zz{zzz{z{zzzy{zzzz{zzzz{{z{zzyzzzzzz{{{{z{{{yzzzz{{{{{{z{z{{zzzz{{z{z{{{z{z{zzzzz{|zzz{{z{zzz{zzz{{{{|{|{{{{{z{{{|z{{z|{|{{z{z{z{{{{z{||{z{z{{z{z|{{|{z|{{zz|zzzz{|{|{{{{|{{yzzz|{{||{}{|{|{{{{zz{{{{{|{{|zzz{z{{{{|{{{|{{{{{{zzz{z{{|{{{{{{zyzz{{z{{|{|||{z{z{zz{{z{{{{zzzzzzyzzz{{{{{{yy{yyzzyzyzzyzz{{zzzyzzzzzzz{{z{|{zzyzyzz{zz{{z{zzy{yzzyyzz{{zzzz{{zzyzzy{zzzz{{{yzzzzyzyz{yz{z{{zyzyyyzy{zzzz{zzz{zzyzyyzz{zy{{zzzyxyyzzyz|zzzzzzzzzyzzzz{{zzzz{zyz{yyzy{zy{z{{{zzzyyzxyz{zz{{{zzyzzzy{yzz{zzzz{yyzyz{zz{zz{{zz{zz{zzzyyz{zz{{{{zy{{{z{zzz{{zzzzzyzzzzzzz{{z{{{{{zzzzyzzz{{{{z{zy{yz{zzz{{{|{|{{{yyzzzz{{zzzzz{|zyz{z{yzz|{z{|{|z|y|{{{z|{z{{z||{zzz{zyz{{{{|{{{|zzz{zz{|{|{{{{{{zzz{zzz{{{{|{{||zzzy{{z{{{|||{{|z{zzz{{{{|{z{{{{zzzzz{z{{{|{{{{{{z{{|zy{{{{{{{{{{{{z{y{z{{{{{{{{{yyzz{zz|{zz{{{{z{zyzzzz{z{zz|{z{zy{zyyzz{zz{zzzzyyzz{y{zz{yzzz{yzzzzzy{y{zz{{{zzzzyzzyzz{{{z|z{yyyxyyyzzzzyz{{yzyzzzzyy{zz{{{zyzzyyyyyzz{yy{y{yyzyyzzyzzz{zz{{zzyyzyyyzyy{zzzzzyzyzzyzz{{z{{zzyyzyyzyxz{z{zzzz{zzyyzyyz{yzzzz{yzyyyzzyz{yzz{z{yyzzzzzz{yz{{{z{zzyzzzxzzzzz{y{zzzzzzyyy{zz{{{{{yzzzzzzzzz{zz{{zzzyyzz{yz{zz{{z|zz{zyyy{{{zz{{{y{y{zy{zz{{|{zz|{zzyzz{zz{{z{|{z{zzzzzz{z{{|{{{||zzz{z{zz{{{|{{{{|{zz{z{z{{z{|{{{{zzzz{{{z{{|{{|{|{z{z{zzz{{{{{||{y{{zz{{{|{{z{z{{zz{z{{z{{|{{{{{zz{z{zz{{{{z{{{{y{zzzzz{z{{zz|{{{{zzyzzyz{{{{{z{zzzzzyyzzzz{z{yyzzy{yyzyz{{z{{{{zzx{zzyzz|{zzzz{{zzzzyyy{z{zzz{{z{{zzzyyy{z{yzz|zzzyyyyyz{z{z{{{yyzyzzzyy{zzzzy{zyzyzzyyzzzzzz{zyzyx{yyzzzzzz{zzy{zzyzyyzzz{zzzzzzyzzzyyzz{zzzz{zzyzy{zyz{zzzz{zyyzzzyyzz{zz{{z{zyyyzzzzyzy{z{y{zyzyz{zzz{{z{zz{zzzzzzzzz{{zz{|{zz{{zz{yzz{z{y{{zzyzyzyz{{z{z{{z{zzy{zzzzzz{{{{zzyzyzzzz{z|z{{{zz{yz{zzzz{{{{{{y{z{zz{zy{{{{{z{{zz{{{{zz{{z{{|{|zzzzyzzz{|{{zz{|{{{{zzzzz|{z|{|{{zzzyz{{z{{z{{{||zzzzz{z{}|{{{{{|zz{zzzz|{|z{|{|zz{{{{zz{{{{|{|}{zyz{zy{z{{{|{{|z{{z{zy{{{{{{||{zzzyyzyzzz{{{{{{zyzzzzzzz{zz{yz{zzyzyyyyz{{{{z{zzyyzyzyz{{z{zzz{{yyyyz{yzzz{zz{{zzyzzzyzzzz{zzz{zzzzyzzyzzz{zzzzzyzyz{zz{zzyzz{zzyzzyxzz{z{zz{{zzzyyyyyyzzyzzz{{yzzyyyzyz{zzzzzzzyyyyzzyz{zzzz{{zxzzyzzyyzzzyzz{zzyyyzzzzzz{z{{yxyyzzyzzyzzzzzzzyyzzyzyyyzzzz{|{zyzzzyzyzzzz{zzzzz{yzzzzz{zzz{{z{zzyzzz{{{|zzz{zz{zyzyzyz{z{{{{{zzzzzzzz{{{zzz|{{z{{zzzzz{{z{y|{z{zzzzzz{{z{{|{{z{z{{{{z{zzz{{{||{{{{{z{z{zz{z{z|zzzzzzz{|{zz{|{|zzyy{{z{z{{{|{|{z{{zz{{z{||{{{{{{{zzzz{z|{{{|{|z{z{zzzz{{{{{}||{zz{{{zzzz|{zz{{zz{yzzzz{{z{|{{{{{zzzzzzz{|{{z|{zz{zzyzz{zz{z{{zyzzy{yzxz{zzzzzzzyyyz{yzzzyzzzz{zyyyzzzzz{{{{{z{zzzyzyzyzyzzz{zzzyyxzyyxyzzzy{zz{zzzzzyxzzyzz{zzzyzyzzzz{{yzzzyyyxzyyzyyzzz|z{{zyzyyyyyzzyzzzz{{zyzzyyzzyzz{zz{yyy{zyzyz{z{zzz{z{yzyzyzyzyzyzzzzzzzzyzyyyzyzzzy{zz{zyzyxy{zyzyzzzzzyyyyyz{zzz{zz{zyyyzzzyzzzz{z{yz{zyzzy{{zzzz{{zzzzzzyyzzz{z{{zyyzzzzzzzz{{{{|{{yyzzzzyz|{z{|{zz{z{zzzzz{{{z{{|zz{z{z{z{z{zz|{{zz{zzzyzz|{z{{{z{zzyz{z{{{|{{{{{zzzzzz{zz{{{z{{{{zzzz{z{{|{{z{{|{z{zz{yz{{{{{|{{|z{|{y{z{{{{{{|z|zy{{zz{{zz{{zz|zzzzzz{z{{{{z{{{{zzzzzzzz{z{{{{|{zzzyzzy{z{z{{{{zzzzyzzxzyzzz{z{z{z{zyyzzzzzz{|zz{zyzzzxzz{z{zzzzyz{zzzzz{zz{z{z{zzxyzzxzz{zy{y{yzzyzzzyy{zyz{{z{xyyzzzzz{zyz{{{zxzzzyzzz{zzzyyzyzzzyzyyy{{zzyzzzyzzyyyyz{{zz{zzzzyzyzxzy{z{z{z|yzzzzzyxzzzzz{z{zxzyyzzzy{zz{{zzyyzzzyzzyzz{z{{{{zzy{yzyyz{z{{|{zzyzzy{yzzzyzyz{zyzzzzzz{z{yzzzzz{zz{zz{z{{{{zz{zyzz{zzzzz{{{{{{{zzzzzy{{{{{z{{zz{{{zzz{|{{{z}{{zzzzz{{z{{{{z|{{{yzz{zzz{{{{{{{||y{{|zz{{{|{{z{{{{zzzz{{z{{{|{|{{yzzz{zz{|z{{|}||z{{{{zz|z{{{zz{{zzzz{yz{zzz{{{|{{{zzyzzzz{{{{{{{{zyzzzzzzz{z|{{{{zzzzzz{z{zz{zzzzzyzzzz{{{zz{zzz{yzzyyxy{{z{{zzzzzyzzzzzzzzz{z|zzzyzzzzzyzz{z{zzzzyz{zz{z{zyzz{zy{zzzzz{zzzzz{zyzzyzyzzzzz{{{z{{yzzzzyyzzzzz{{zzzyy{yyy{yyzz{y{yzyzyyzzzzzyz{z{yzyyyyzyyzzz{zzz{zzzzzzyyz{{{{z{zzyyzyzy{zy{zzz{zzyyyzy{zzyzz|{{yzzyzzzyyzzz{z{zzzzz{zzyyzz{{{z{{z{zzy{yzzz{{{{{y{zzzzzzz{{z{{|zz{zz{yzy{{{{{{{{yyzz{zzy{z{{z{|zzzzzzzyzz{|{zz{z{zzyzz{yzz|{z{|{{{{z{{z{{{z{{z{z{{z{zzyzz{z|z{|{{{{{{zzzz|{{{{|{z{{z{{{z{|z{{{z{{zzz{{z{{{}{{|||zz{{zzy{{{{{z}|z|yzyzzz{{z{{z{||{{zz{{{z{{{|z{{|{{{{{z{{z{z{z{{{{{{zzz{y{{zzyz|{{z{yzzzzz{{{{{zzzyzyzzyzyz{zyz{zzzzy{yzy{z{z{{{{zzzzyyzzzzzzzz{{zy{zzyzz{zzzzz{{{zzzyyzy{{{zz{zzzyzzzzzyzzzzyzzzzz{zzzyzz{{zzz{zzyyzzzyzzy{zyz{{yyyzzzyzz{zz{z{zzyzyzzy{z{zz{zzzyzzyzzyyzzz{{zz{{zyzzzzyzyzz{{{{|zzxyyyzy{{yyz{zzzzzzz{zz{z{{z{{{zzyz{{z{{{zzzz{{z{y{zzy{{z{{{{{zzz{zz{{zz{zz{{{{z{yzzzzz|{|zz{{{yzyzzzy{{zz{z{{{{{zyzzz{|{{{|{{{zz{{z{zzz{|{{||yz{y{z{|{|{{{{||{zy{{zz{{{{|{{||{z{|zz{zz{{{{{{zzzzz{{{{{{{{{||{|{zz{zz{{{{||}|{{z{{yzyz|{{{{{|{{{z{{{zzz{{{{|}||{zz{{{{{{z{|{{{zzzzzzzzz||{{{{zz{zz{yzz{{{z{{|{zzzz{z{z{{{z{z{z|yzzyyzxz{zz{zy{zzyzyyyzz{{{zz{{zyzyyyzz{z{z{zz{zzz{yyzzzzz{zz|{zzzzyyzzz{{zzzzz{yzxzzyyzzzzy{{zzzzzzyyyyzzyzzzzzzyzzyzzz{yzyzz{yzzyyyzzzz{{zz{zzzzyyxyzy{{zz{{{zzzzzzzyzzzz{z{{yzyzyyzyz{zzzzzzyzzyzzzzz{z{{z{zzz{zz{{z{y{{z{{{zzzyzz{zzzzzz{z{{zzzyzz{zz{|z{{{zzzyzzyy{{{{zz{{zy{zzyy{z{{{{{{{zzzzzz{z{zz{{y{{{zyzy{{z|||{z{{{{y{yzzz{zz{{{{|{z{{z{{z{{z{{{{|{{zz{{{z{{|{||z|{{z{z{y{z{|{{|{|{{zz{z{z{{{{{{|{{{z{z{z{{z|{||{{{zz{z{zzz{|{{{{{{{zz|{{z{|{{{{{{{{zz{{zzz{{{{z{{{{yyyz{zzz{z|{{{}zzz{{zzz{{{{{{{|{zzzzzzz{{{y{yz{yy{yyyzyzzzz{z{zyyyzyyyyz{z{{z{z{yzyxyzyzzzz{zzz{yzyzzyzzzz{zz{{{{zyyyzyzzzzzz{{zyyxzzyzyzzyzy{zzzyzzzzyyxyyzz{{zyzyxyyyzyyzzzz{zzyyyyzxzzz{zzzyzyzyxzyzzy{{zzz{yzzzyzyzy{zyzy{{zyyzxyzyyzzz|zzz{zyyyyzyzzzyzz{{zyzyzyzy{z{{{{{zzzzyzzzzzzzzz{{{zzzyzy{y{{zz{{{{yyzzzzyzz{{z{{{|zzzzzyzzz{zzzz{{zz{zzzyyzz{{{z|{yyzzzyzz{{{zz{|{{zzzzzzz{{{{{zz{yz{{|zz{{{zz{{{{zzzzzz{y{{{z{{{{{zzy{z{{{||{{{{{zz{zyz{zz{z{{|{{z{zzyz{zz|||{{{{|z{zz{zz|{{{|{{{{z{{zz{z{{{z|{{{zzz{{{zzz|{z|{{|zzzzzzzyz{{zz{{{{{zzzz{y{{{{{zzzy{yzyyzzzz{z{zzzzzxyzyzyz{zz{{{{{zzz{yyyzzyzzz|zz{yyzyz{z{zzz{{|{yyz{zyzzz|{zz{z{yzzyyzyzzzzz{zzzyyyzzzyyzy{yz{zzyyzzyyzy{zzzz{zzzyyyyyzyyy{yzzzyzyyzz{zy{zz{{{zzzzzyzyzyy{{{z{zzzzzyzyzy{{zyy{zyzyyyyzyzzzyz{{{zyzyzyyyz{z{zzzzzz{zz{zyzzz{z{zzzzyzzzzzzzzz{{zzyy{yzzyz{z{z{{z{yzzzzzzz{{z{z{{|zzzzzyz{z{zy{{{{zz{zy{yz{{{zz{|z{yz{yyzy{{{zz|z{{zzzyzzz{{{z{|{z{z{zy{zz{{z{zzz{{zz{{yzz{{|zz{{{zyzz{{{yz|{{z|{z{z{z{{{{{{z{{|{{|z{{{zz{{{{{{{{{zzz{zzz{{{z{{|||{z{zyzzzz{z{{{{|{{zz{zzz|{{{z{{{zzzzzzyz{zz{{z|z{z{zzyzzy{z|z{{{zzzyyzzz{{z{|zz{yyyzyyzyz{zyzz{{zzzyzyzzzzzzzzy{{zzzzzyy{{zy{z{{zz{yzyyzzzz{zzz{zzzyxxzzzzyzyzz{zyxyzzzyzzzyy|{zzzzzyyyyzzyyzzzzzyzyzyyyzzzzzz{{zyyzyyyyxzz{zzzzzzyyxzzy|zzzyzz{{zzyyzzyy{z{z{zzyyyyzyzyyy{yzyzy{zyyyyyzyzz{yzzzyzzyzzyy{zz{z{{{zzzzzyzzz{{zzzzzzz{yyyzyyzzyz{{{yyzyzzzzzzz{zzyz{zzzzyzzz{z{z|zyzz{zy{yz{{{{{z{||y{yyzzz{z{zz{{zzzzy{{zz{zz{||{{zz{yzyzz{{{{{|{{{zy{{zzzzz{{{{{{zzz{|zzz{|z{z|{|zz{yzz{{z{z{|||zzzzzzzz{z{z{{{|{{zzz{|{z{z{|{{{{{yzzzzyz{{{{z|{|{zzzzzzzz|{{|{{{z{yzzyzzz{{{{z|{{z{yzyzyz||{z{{{zz{yzzzyzz{zz{{yyzzyyyyzzz{zz{{{{yyyyyzz{{zzz{zz{zzyzzyyzy{zzz{z{yzzzyyx{zz{{zz{zxyyzzzyzz{zz{zzyzyyyzzyz{yzzzy{zzyxzzzzzzzyzz{zzyzzxzyy{yzzy{zzy{zzzyzyzzzzzzz{zzzxyzyzzzzzz{{zzzyyyyyyyzz{{z{zyyzzzyyyyz{zz{zzzzzyzzzzzyzz{{{zzzzyzzzyzyz{zz{zyzyzzyyzyzyz{z{{zzzzyy{zzzz{z{zzy{{zzyzzzzz{{zz{zz{{{zzz{{z{z{{{{y{zzzzzz{|{{z|zyzzzzzzzz{{zz{z{zzzz{y{y{{z{z{zzz{|z{zzy{z{{{{z|zz{{{{zzz{{{{z{z{zz{|z{z||{{{|{{{{{zz|{zz{zz|||||z{z{z{{{{{{|{{{{z{zzy|{||{{|z{{{zzy{{z{{|z{z{{{{{z{{z{z{{|{{{z{z{{z{zzzz{{z{z{{z{zyyy{yzzzz{|{zzy{yyzzz{z{|{yy{yyyzxyzyyzzzzyyzxyyyzyyxz{zzz{zzzzyzyyzyzzyzzzz{zyyxyyyyyyzzzz{zzzyyzyyyzzzzz{{zzyyyyzyzz{{yzz{zyyzyyyyyyz{zyzyyyyzyxzyyzyzzzyzzyzzyyyyyyyzzyzzzzyzyyzyzy{zyz{zzyyyzzzxyyzy{yzyzyyyzyyyyyyzzzzzzyyzyzyyyz{z{z{z{yyzyyyyyyzzzzz{zyzzzzxzyzzz{yzz{zzyyzyzy{z{z{z{{yyzyzzzz{z{z|zzzzyzzzyzzyzzzz{{zzzzyz{zyyz{{zz{y{zzzzyzz{{zzzz{{y{z{zzzzz{z{{z{{zzz{zzzzy|z{z{||zzzyzzzzz{{|zz{zzz{zzz{zz{{{{||zzzyzzzzzz|{z|{{{{z{zzzzzz{z{{{{{{{{zzzyy{z{{{{{z{zyz{{yz{{z{{z{{{{yzzzyy{{z{{{{{yzyzzyz{zz{{z{z{{zz{zzzyz{z{zzz{{zzzzyz{y{{zz{zzzzzyzzzzz{{zz{{zyyzzxzyz{{zzz{zzzyzzzyzzzzzzzz{{{yzyyzzzzzy{yzzzyzyzyyyyzzzz{zzzz{zyzzyyyz{z{zz{{zzzzzyyyzz{z{zzzyzxyyzyyyzzzz{{yyzyzyyyyzzz{zzzzyzyyyyyzzz{zyz{{zyyyyzyzyy{zzzzzzyzzxzzzzzzyz{{yzzzzyzyyzyz{{{zyyzyyzyx{{yyzz{zzyzyxzyyzz{zzzzzzyzzzxzyzz{{{{zzx{zzyyzy{z{zz{{{zzzzzy{yzzy{z{{zz{yzzzyz{{{zz{{{zzz{yzzz{z{z{z{{{{{yyzzz{{||{{{|yz{{zyyz{{z|{{|{{zzyyzzz{zz{{z|{zyzz{yzz{{{{z{|{z{zzzzzzz{zz{{||zzzz{zzzz|{|{}{|zz{y|zzz{{{zz{{{{zzy{z{{{zz|{|{{{zzz{zzz{z{z{{z{zzzyyzyzzzzz{{{{{{zzzz{zz{{{zz{{zzzzyyzyyy{{{zz{zzyzzyzzyz{yyzz{z{zyzyyyzzzyzz{zzzzy{zzyzyzz{zz{zzzyyyzyy{z{zz{{zz{yyzyyzzzzy{|{zyzyyzzyyzzy{zzz{yyzzzxyyy{y{zz{zyzzzzzzyzzzz{zzzzyyyzzyzz{zzz{yzyyzyyxyz{y{zzz{zyzzyzyyyz{{zz{{zyzzyzzyzz{z{{{zzyyyzzyzy{zzz|{{zyzyzzzy{y{{{z{{zzyyzyzz{{{zz{{{zzyzyyzyzzz{{{{zzzz{zzzzz{{zz{zz{yzzzyyzzzzz{{{{zz{zzzz{z{{zzz{{z{zyyzzyz{z{{z{{{{zzzz{{{{z{{{{{zy{zzzzz{{{{{|{|{zzzz{yz{{{{{{{{zzzz|z{z{{{{{{||zzyz{{zz{z|z{{z{{{{{z|zz{{|{{||{{z{zz{zy||{{{{{{{zz{z{{{{zz{{{z|z{yz{yzz{{zz{z{{zzzzzzyz{z{z{{{{zzzzy{{z{{z{{{{{{z{{zyz{z{y{{{zzzyzyzyyyyzzzzz{zzyyyyyyyzzzy{yzzyyzyzzzzzzy{zzz{zzyyyyyy{{z{zzz|zzzyyzzyzzz{zz{{zyzyxyzyyz|zy{z{{zzyyzxzzzzzzyzyyyzzyzyyyzzyzzzzzzzzzzyyyyzzz{z{zzzzyyzzz{{zzzz{yz{zyzzyzz{z{zz|zyyzyxzyzz{yz{zzzzzyzyyzzzyz{yz{{zyzzzyyzz{z{zzzyy{yzyzzz{{{zz{{{zyzzzzz{{{zzzz{zyyzzyzz{zzz{{yzzyyyyzzz{{{zz{zzzyyzzyyz{{{{{{{{zzz{zzzzz|{{{{{{{zz{zzzz|{{|{{{||zzzz{{zz{{|{{||{{zz{zzzz{{|z{|{{zzz{{zz{|{{{{{{zzzzzz|{z|{|{{|{{z{zzzz{z|{{{|z{{zz{yzzz{zz{{{z{zy{zz{zzzz{{z{{{{zzz|yz{{{{{{{{|zyzzzzzzz{z{{{{{{zzzzz{zzzz{{{{zzz{yyyzz{zz{{zz{y{yzyxzyx{{zzz{{yzyyzyzzyz{zz{z{zzzyzyzyzz{z{|zz{yzzxzzz{yz{zz{zzy{yyyzyzz{z{{z{zyyzyy{xz{yzyzzzyzzyzzyzyyzzzz{zzzyzzzzyzzzzz{{zyyzyyyzzzz{yzzzzzyzyxyyzzzzz{zzzyyyyyyzyzzz{{{yzyzzyyzzzzyz{z{{{zzzzyzyzyzyzz{zzzyzyyzyyzzz{yz|yzzzzzyzzzz{zz{z{z{zzzzyyzy{z{|{{zz{zz{yy{yy{zz{{z{z{zyzzz{{z{{{{zz{zzyzzz{{{z{zz{{z{zzyy{|{zzzz{zzyzz{{zz{|{{{z|y|z{{{zz{zz{z{{{zz{z{zzyzz{{{{{{{yz{zzzz|z{z{{{|zz{yzzz{{|zz{{{|{zzzz{zzz{|zz{|{{y{zzzzy{{|{{{zz{zz{zyzzz{z{|{{{{zzz{z{{z{z{{{|{{||{yzzzz{{{z{{|{{zzyz{z{{z|z{{{zz{zzzzz{{zzzzz{yzyzzzzyzzzyzz{{yz{yyyyyzzz{{{z{z{yzzzyyzz|{z{zzyyzzyyzzz{zzzz{zzzzzyzyyzz{z{z{zz{zyzzzyz{{yzz{zyyyz{zyyzzzzzz{{zyyzyyyyzzzzzzz{yyyyyyyzyzyzzz{zzyzzyyxyzzzy{zzyyyzyyzzyz{z{z{z|zyzzzzzyzz{zz{{{yzzyyxzyzzyzzzzzzzyzzzyy{{{zzzz{zzzyzzyzz{z{z{{zyzzzyyzzzzzz{z{{zzyzzyz{z{{zzzzz{y{zyzzyzzzz{|z{zz{zyzz{z{{zzz{zzzz{yzzz{{|z{z{zzz{zzzzz{zz|{{zzy{zz{zzz{{{{{z{zzzzzyzzz{z|{{{|{{yyzz{zz{{z{{{{{z{zzyzzz{{{{|{{{zzz{{z{z{{{|{{{|zzzzzzzzz{z{{{z|{yzzzzyz{zz{|||{{zz{zz|z{|{z{{{z{{yyz{{zz{{{{{||z{zzyz{yzzz{z{{zzzzyzzzz{{zz{z{{zz{zyyy{z{zzzz{zzzyyxyzyzyzz{zyzzzxzzzzzzzzyz{z{zyzzyzyyz{z{{zzzyzzyyz{yzz{{zzz{zzzyyzyzyyz{z{{zyyy{zyzyzzzyzzzzzzzyyzzyzz{zz{{{zyyyyzyzz{zz{zzz{zzzzyzyz{{zy{z{{zzzyzzzzz{zzz{{yyzzzxyyzzzzz{zz|zzyyzyyxzxz{yzzzzzzzzzyzyzzzzzzz{zy{y{zz{{zy{{zyyyzyyzyz{zzzzz{yz{yz{zzz{{zz{{{zzz{zyzzzz{{{{{zzzzzzzyy|{|z{{{{zzzzzzzy{{zz{{z{{z{yzzz|{{{{{{{{{{{zz{{z{zy{{{{{{yzzzzz{z{{{{{{{zzzyzy{z{||{{{{{z{yyy{z{z{{{{{|{{{z|z{{{{|{{{{{{{{{{yz{{|{{{z{{{{yzzzzzzz{z{{{|z{{{y|{z{zz|{{|z{z{z{zzz{zz{zz|{{zz{{zzyzz|z{{|{{zz{z{yyy{zy{z{z{zzyz{yzzzzz{zzz{zzyzzzzzzzyzzz|zzzzyzzzzy{z{zy{zzyyzyyzyzzzzzzzz{zzyyyzyzyzzz{z{yzzzzzzzzz{zz{z{zyzyyzyzzyzz{z{zyzyzyyzyyzz{yzz{zzzyyxzzzzzyz{zzzyzzyxzzzzzzzz{{yy{zyzyzyz{{yz{{{zzzzzyzzyzz{{y{yzyyzzyyyzzzz{{zzyzy{yzyzz{zzzz{zzyzyz{x{zzz{{z{z{yzyx{yzz{z{{zz{{zzyyyz{z{zz{zz{zzz{{zzzz{{|{{zyzzzyzzyz{zzz{{{zy{zzz{z{{z{{{{zzzzyzz{zz{{{{|{{zzzzzz{{{{z{z{|{zz{zyzyzzz{{||{y|yzzyz{{{{{z{|{||z{zzzzzz{{{||{{{z{{z{zzz|{}{{|{|{z{{z{{{{{|{{|{{y{z{zzz{z{{||||{zzzz{zz{{{{{{{{zzzzzzzyz{{|{|{{|zzzzyzzz{{{{{z{z{zyzz{z{{zyz{yzyyyyzzzyz{zzzzz{{yzzyyyzzzz{{zzzyzyyyzyzzzzy{{zzzyzyyzzzzzzyzz{z{zzyxyzyyzzzzzz{yzzzyzzxzz{yzzz{zyzyyzzzzzzzz{{zyz{yyyyzzzzyzzzzzzzxyyyyzzzyzz{zzyzzyyxzyz{zzzzzyyyyyzyyzzzzy{{z{yyzyyyyyzzzyzz{zyyyyyzyyzzyz{yzyz{yzzyzz{zzzzzz{{zzzzzzzy{zzz{zzyzzzyzzzz{z{{{{zy{zzyzyz{zz{zzzzzzzzyzzzz{{z{{y{yzyzzyzy{{|zz{{{yzzyzzz{z{z{{{{zz{zzzzz{{z{{|{{{{yy{z{{{z{{{{{{zzzz{zyzzz{{{z{{zx{{{zzz{{|{{{|{y{zyzz{{zz{z{||{zzzz{z{yz|zz|{{{|zz{{{z{|{{{z{|z{yzz{{z{{{z|{{{|{z{z{zzz{{z{{{z{zzzzzy{zz{{|{{|zzzzzzzz{z|z{z{zzzz{z{zzzz{{z{zzzzzyzzyzyz{{zzz{zyzzzyyzyz|zzzzz|z{zzzzyzzyz{{z{zzz{zyyyyy{{zy{zzzzyyzyyzzzyzz{z{zyzzzzyyzyyzzzzzyyzyzyyz{zzzz{zzzyyyzyz{zzzzz{z{xyzzyyyzzzyzz{{yyyyzxzyy{zzz{zzzyzz{yzyy{zzzzz{zzzyyyyxzzyzz{{z{zyyyyyyzyzzzyzz{xzyzzyyzyzyzzz{zzzyyzyzyzzzzzz|zyyzzyyyzz{z{z{{zzzzzyyzzz{z{zz{{{yz{z{yz{{{{z|z{zyzyzyzz{{{zz{z{yyyyzzyzzzzyz|z{zzzzzzzz{{zz{|{|zz{zz{z{zz{{z{z{{{yzzzyz{{{{|{{|{z{yzz{z{z{{{||zzzzyzz{{z{{{{{z{{zzzyz|{{|{{{|{z{{{zz{zz{zz{zz{{zzzzz{z{z{|{z{||{{{zzzz{{z{|{|{{zzyzzzzzz{{z{{zzz{{zz{zz{zz|z{z{zzzzzy{yzz{z{{xzyzzyzyyyyz{z{{zzzzyzyzyzzzz{z{{z{zyyzyyzzzyy{{|zzyzyyyzyzzzzyz{{zzzyxzyyyzzyyz{zyyyzxzzyyyyzzz{yzzzzzzzyyy{yzzzzzyyxyzzy{zz{zyzzyyzyyyyzzzzz{yzyzyyzyzyz{{zzzzz{zzyzyzyxz{{zz{zzyyyyzyyyzzzzzzz{zyzz{zyzzzzzz|{zzyyzyzyzz{{zz{zzzzyyzy{yyzzyzzz{zzzzzyy{zzz{{{{{yzzy{yzy{z{zy{{{zyzzzyyzz{zz{{{{zyzzzyzyzz{{zzzzyzxzzzyz{{zzzzzzzzz{zzzz{{{{{|{{z{{zzzz{{zz{{{|{|zzzzyzzz{z{{{{{{{{yzz{z||{{{z{{{z{z{{{z{{z{|z{{zzyyz{zy{|{|{{{{{zz{zy{z||{{{|zz{z{zz|z{{z{zz{{{zzzzzzz{|{z{{{|{{z{yzzzz{{z{z{|{zzzzzy{y{{zz{{zz{zzyyzzzzz{{zyz{zyzyyzzyyz{zzz{{zyzyyyyz{{zzzz|{zzzzyzyyyzzzz{{{zyzyzzzzz{z{{zzzzy{yyyzyz{zzz{y{zzzyzzzxz|z{yz{zzzzzzzzzzz{{y{z{{yyyyyyxzzz{yzzzyyyyzxyyz{zzzz{zyzyyzyyxzzzyy{z{zyzzyzzzz{{{zz{zzyyzyyyzy{yyzzzy{zyyyyyxz{z{z{zzz{{zzzzwzzzzz{zz{yzyyzzyzzzzz{{zzyzzyyzzzz{z{{{{zyzyzzyzzy{y{{{{zzz{{yzzz{{zz|z{{yzzzyyy{|{zz{|{{zzz{yz{{zz{z{{|yyzzzzzzzz{|{{z{{{|{yzzz{zz{{{{{{zzzzzyz{{{{{{{{zzzzz{{|{{{{{{}{zz|{zy{zz{{{{{{zz{{zz{zzz|{{{|z{zz{{{zzzz{|{{|{{|zzzzzyz{{z{z{|{{zyzyz{z{{z{{||{yzzyz{zyz{z{{{{|y{{z{zzzz{{|zz{{zzzzzzzz{z{z{{{{zy{yyzzyyzzzyz{{yyyyzyyzzz{z{z{{zzzzyyzzzzyyz{z{zzyzzyzyz{z{y{z{zzyyyzyyyzzzz{{{yzzyyyzyyz{zz{zzzyzzzzyzzzyzz{z{yzyyxyzx{yzzzzz{zzyzzzyyyz{yz{zzzyzzyzxy{y{yzzzzzzyyyyzyyy{zz{{zyyzyyyyyy{zzz{{zz{zyyyyyy{{yzz{{zzyyyzzxzz{zzz{{yyzyzyzzzzyzzzzzzyzyzyyxzz{{zzzzzzyyyzzz{zz{z{zzzzzzzyyzz{{{{{{zzzzzzyzz{zz{{{|{zyzzzyyz{{{z{{zzz{{zy{zz{|{|{{|{zzz|{zzzz{{{{z{|{z{{yzzyz{{|{{{z{zz{z{zz{{{{|{{{zzzz{z{z{{{z{|{{|z{{z{z|z|{{z{|{|z{{z{{z{|||{||z{yzz{{y{{{{{zz{|zzzz{{yz{||{{{z{{z{zzz{z{y{zz{{{zzz{zz{yz{{{{{|{y{zz{yzzzzz{{zzzyzyyzyyzzz{zz{z{zyyzyzyyzzz{{{zzzzzyz{zzzyzz{z{{zyzzzzzyzzz{yz{z{yy{yzzzzz{zzz{{yyyyyz{zyzyyzzzzyzyzyyyxyzzzy{zyyxzxzyyyzyzzyzzzzyyyyyyzyy{zzz{yzyxzyyyz{zzzzz{|yyzyyyzzyzzzzz{y{yyyyyzy{zzyzzz{zyzyzzyyzzzyz{zzyyzzz{zy{zz{zz{zzzzyzzyz{zzzzzz{zyyyzyy{yy{{z{{|yxzyzyzzz{{z{{{zzyzzzzzzzzz|z{{zzzyzyzy{{{zzzzzzzzyzzy{yzz{zz{z{zzyzzzz{{{|{z|{zzz{z{z{{{zz{z{{zzzy{{zzy{{{{{{{{zzyyz{z{z{{{z{||{{|z{{|z{zz{{|{|zz{zzz{{{{{{|{{{|{{yz{{z{{{z{{|{{z{zzzz{z{{{{z|z{|{{zzy{{{{{{|z}{{z{zy{{z{{{{{|{zzyyzzzzzz|{z{{z{zyzyyyy{{{zzzyzzyzyzzyxyzzzz|{zzyzyzzyzyz{z{zz{zzzyyzyyyyz{z{{{zzzyyzzyyzzz{zz{zzyzxyyyzyzzz{zzyzyxz{zyzzyzzz{zzzzyyyzzzzzyyzzzzzzxyzzyzzyzzz{{xyyyzyzzyzyz{zzzzyzyyyy{zzzz{z{{yzyyyyyyz{yz{z{{zzyyzzyxxzzyz{zzzzyyzyy{zzz{zzzzzzzyz{yy{zzzzyyzyzzzzxzzzzz{zzz{{zzyzyzzzzzz{z{{zyyzzzzyz{{z{z{zzzyzzz{yzz{{{{{zzxzzzzyzz{z{z{{{|yzzzyxz|{z{zzz{{z{zyzzz{z{{zz|{z{zzzz{z{{{{{}{zzzy{zzzz{{{z{z{{{yzy{zzz{{{z|{|zzzz{zzz{z{{z|{{{z{zzzzzz{{z{z{{z{zz{zz{z{{zz{z{{zz{zzzzyz{zzz{||z{z{zz{zz{{z{{z{z{{zzyyzz{yzz{|{{zzzz{yz{{{|{z{{zz{zzzzyzzzz{{z{yzzzzyyzz{zyy{zzzzzzzyz{yzzzzz{{zyzyzzyyyzzzzz{zyyzzzxzzyzyzzzyz{zzyyzzy{z{zz{z{zzzzyzyy{zzzzz{zzyyzzzzzzzzzz{zyzyyyy{yyzyzzzzzzzyyzzzxzzz{zzzz{{zzzyyzzyz{zzzzzzyyxyyyxy{zzzz{zzyxyyyzyzzzzyzzzzyyzzzyyy{zyz{{zzzzyyzyyzzzzyz{{zyyzzzzzyzyzz{zzzz{zyzzyzzzzyz{zzzzzyyyzyz{zz{{{{zyzyzyzzzzz{zz{zz{yzzzz{{{zzz|{zyzyyyzy{{zzz{{{zzzzzzzzz{zz{z{{z{zzzz{{{{{{{{{{zzz{zzyz{{{{{{z{zzzzzzzy{{{{|{{zzzzyzz{{z|{z{{{{{zzzz{zzz||{{||{{zz{zzzz{zz{{{{{{zzzzzz{{{z{{{{{{zzzzzzzzz{{{{z{{{zyz{zz|{z|{{{|zzzzzz{yzzz{{{{{zz{zzyyz{zzyzz{zzyyzzyzyzzz{y{z{zyzzyzzyzzzz{zzzzzyyzzzzzyz{zz{{zyzyzzyzyzz{yy{yzzzyyzzx{z{z{zzzyzzzyzzyzz{zzy{zzzyyzyyz{z{zzzz{yz{yyyyyzyzzzzzzyzyyyyyyzzzy{z{zzzzzyyy{z{|zz{{zzyyyy{zz{{z{{z||yzyzzyzzz{yzzz{zzyzzyy{yzzzzz{zzzzzzy{z{z{zzz{z{zzyyzzzyzzzzz{z{yyzyzzyz{z{zzz{{zzzzyzzz{{zzzz|zyy{zzyz{zzz{{{{zzzz|zzzy{{{y{z{z{z{zzzz{{{{zz{{zzy{z{zyzz{|{{z{z{zzz{z{zz{{{z|{{zz{yzyzzz|{{{zz{{z{{{zz{{{z{|{{|{{{zy{{z{z|{z{{{{z{{{{yyz{|{{{||{{zzzzz{{zz{{|{|{zzz{{{z|{{{{{|zz{{z{z{{{{{|||{|{{{zz{zzzzz{z{{{zz{zzz{{}{{{{z{{zy{zyzzzzyz{{zzzzy{yyzzyyzzz{zzzzyyzzyyzzz{{{{yz{zyyyyzyzyz{z{{zzyyyzyyzyz{zzzzzz{zzzyxyyzz{z{z{zyzyyyzyz{{z{{{zzzzzzzyyzz{yzzzzyyzyzyyzzzzzzzzzzyyxyyyzzzzzz{yzzxzyyyyyzy{zz{{{{zz{zzyyzyz{zz{zzzzx{xzyzz{zzzz{{{yzzzzyz{zyzz{zyzzzzzzyzzzz{z{{zyyy{xzyy{z{zz{zyzxyyyzy{zz{zz{{yzzzyzzy{zz{{z{{{y{zzyzzy{zzz{{{z{yyy{yzzz{{z{{{z|zzzyz{{{{z{{z{zzzz{zz{{z{z{{{{z{z{{zzz|{z{{{{|zzzzzzzz{{{z{z|{{yzz{zz{{||{{{|{z{zzz{{{{{{zz{{|{z{{zzy{z|{{{{{{{zz{zz{z{|{{{{{z{z{{zz{{{{{{|||{{zzz{{zzzzz{|z{{zz{zzzyzz|{{{{|{|zzzzzyz{{zz{{|{zzzzz{zy{{{{{zzzzzyzyzxyyzzz{z{zzyyyyzyxzzzzzz{zzyyyyzzyyyz{zz{zzy{yzzyzz{yzy{z{yyyyzyyx{zzzyzzzyyyyzzyy{zzzzz{zzz{yyyyyzyzzzz{{zzyyyzxyzzzzzz{{yyzyyyyyzyyzz{zzzyzyxzxyyz{zyzzzzzzzyzyzy{zzzz{zzzzyyzyxyyz{z{zz{yzyyzyyzzyzz{{{yyyzzzyyzzzzzzz{{yzyzx{z{zzzz{{zyzzzyyzzzz{z{{zzyzyzzzzzz{zzz{{zzyzyzyyyzz{zz{zzzzz{yzzyzz{zz{{{zzzzzz{z{{yzz{z|zzzz{yz{z{{{zzz{zzz{z{zyzz{{|||{{zyzzyzy{z{z|{{z{yzz|y{{{{{{{||{zz{y{{{{z{{{z{{{{{zzzz{z{{{z|z{{{z{{z{{{{z{|{z{{zzz{zy{z{zz{z{{|zzzzzzzzzzz{{{zzzzzyzzzzzzzz{{|{{zzzzzyzz{z|z{{zzyzyzzz{zz{z{zzzyyyyyyyyzzzzzz{zzyyyzyzxyzz{yyzzzzyyyzzx{z{{z|{zzzyyzyyyyzzzzz{{zyzyyyyyz{{zzzz{zzyyz{zyxyzzyzzzzzyyyyxyzzzzzzzyyxyy{xyyzyzzyy{zxxyzzzzzzzzyyzzzyyzyxzyzz{zzzzzzzzzzyyyyzzz{{z|zzzyy{xzzyz{zzzzzzzzyyyzzyz{zzzzz{zyyzyyzyyzyzz{{zzzzyzzy{zzyz{{{zyzzzzyy{zzzzz{|yyy{yyzyyzz{{zz{zyyzzzzzz{{yz{|yzyzy{yyy{{z{z{|{zz{zzyyz{zz{{|zzzzz{zzyyzz{{{{zzy{{zyz{{{{z{z{|{zzzzzzzy{|{{{{{zzzzy{zz{|{||{|{{zz{zy{{zz{{{{zz{zyzzy{zzz|{{|{|{{z{{{y{{{{{|{{{{{yzz{zz{z{zz|z|{z{{{z{zzz{{z|{{{{{zzzyzz{{z|zz{{z{z{zzzzzz{zzz|z{zzzzzyyz{zz{zyzyzzzzyzyyz{zzz{zzzyzzyyzzyzz{zy{yzxzyyyzzzzzzzzz|yyzyzzyzyzz{zzzzzyyzyyzyzyz{zz{zyyzyyzyzzyyyzzz{x{yyyyy{zzyzzyzzyyzzzyyzzz{zzzzyzzyzyyyyyyyzz{yzyzyyyyyz{zz{z{zyz{zyzxyzzzz{|zzzyzxzyyxyzyzzzz{zyxyzyyzyzzzyzzzzyzzyyyzy{{{{z|{zyzzzyzzzzzzz{{{zyzzyyzzz{{|z{{{yzzyzyyzz{{yyzzz{{zzzyzzz{z{z{{zzzxyzzzy|zzz{zz{zzyzzyyz{{z{zzy{yzyz{zzzyzz{{{z{z{zy{{z{{{z|zzz{{zyzzyzyz{{{z{{{{z{{|zz{{{{{zz{zzz{{{yz{y{z{{{{|{{zz{zyzz|{{{{z{zz{{zyzy{{{{zz{z{z{zzy{zzz{zz|{{|zzz{{{{zzy{z{{|zzzyzzzz{zz{z|{{z{yyzzzyz{z{z{{zz{zzzzyyzz{{{z{zzzzyzzzzzzyyz{zzzzzzyzyy{{z{{{{zzyzzyzzyz{zz{z{{zzyyyyzy{{zzzzz{zzyzyz{zzzz{zzz{zzzyyxzyzyzzzz{zzyyzyyzyzy{z{{{zyyyyzyzy{yyzyz{zyyzzzyyyyz{zzzzy{yzyyzyzz{zy{{zzzyzyyzyy{{zzyzzzzyyyzyzyzz{zzzz{zyzyyzzzzzzzz{zzzz{yyzyzz{|{{z{{yyzzyzzyy{zzz{z{{yyyyzzzzz{{zz{z{yzzzxyzzz{zz{{y{zy{zy{zz{{zz{{zzzzy{zyzzz{zz{{z{zzz{yzzz|{zz{z{zzzzzzzzzz{|{{|{yzzzzzzzzzz{{{z|zyzzzzzy{{{{z|{{{zzzzzzz{{{z{{{|z{zzzzzz{{z{{{{{{z{zz{yzz|{{|{{zz{z{yzz{{|{z|{{z{zzzzyzzz{|{z|{{{z{{{yz{{{{{{zzzzzyzzzzzz{{z{{{{{{zyzyzzz{z|{{z{zzzyzzzyyzzzzzzyzzyyyzyzzzzyz{zzyzzyyyyyyzzzyz{{yzzxyzy{{zzzy|zzyyyyzyz{yz{zyyzzzyzxzyzzyzzzzz{{zyyzzyyxyzzy{{zzyyzzyzzzyzzzyz{zyyyyxyzzzyzzzyy{xyyzyyyyzzzz{zzyzzyyyyxzzzzzzzzzzzzyyxzyyz{{zzzzzzzzzyzyyzzyzzzyxzyyzyyyzzzzyzzzzzzyy{yyzz{z{{|{zyyyzzyzzz{{z{zzzzzyyyzyzyz{zz{zzzyzzyzzz{zzz{{zzzzzzyzyzz{{z{zzyzzz{zzy{{zzzy{{{yyzzzzzzz{{{{zz{zzzzyzzz{{z{|{zz{zz{zzz|{y{z|{{zyz{z{yz{|{{{{{{{{zzzzzzz{|{zz{|zz{{z{zzz{z{z{{{|zzzz{zzz{{{{{|{zyz{zzzy{{{z{{{{z{z{zyzz|{{{{{{{{{{{{yzz{z{{|{{|z{{yzyz{z{{{{{{{zzz{{zzyzzz{{zzzyz{zzyzzy{zzzzz{zzzyzz{xzyzzy{zy{yyzyzzyzzyz{{{zzzzzzzzxz{zyz{z{{yyyyyzy{zz{{{{zzzyyyyyy{z{yzzz{yyzyzyzyz{zzy{z{yzyyyyzyzzzyzzyz{yzzzzyy{zzyzz{zzyzzyyzyzzzzz{zzzyyzyyzyyzzzyz{zzyyzxyyyyz{{zzz{{z{yyzyxzzzz{zzzzzzzzzzyz{yzyzzzyyyzz{yyyz{zz{z{zyzzyyzz{zz{{z{z{zzzzy{zz|z{{z{{yzyzyyzyzz{z{zz{zzyyzyyyy{{{zz{zzzzyyzzy{z{z{z{{zzzz{zyz{zzzzzz{zzzzyyzyzz{|{{{zzz{zz{{zzz{{{{{zzzzzzzzzz{z|{{{zzzz{zyzzz{zz{{z{{yzzz{zz{zz|{|{{{z{zzzz{{{{{|{{|zzzz{zzz{{{{{{z{{zyzzz{{{{z{|{{|zzz{{{zz{{z{{{{z{{yzyzyzz{{{{{z{y{{zzzzyz{{{{{||{zyzzyyy{{y{{zz{yyyyyzyxzz{zzyz{zzyyyxyyz{zy{z{|zzzzzzyzzzzzzz{zzzyzyyzzzzz{y{{zzzzyyyyzzzyzzzzz{yyyzyzy{{zyzz{{zzzzyzyzzz{yzzz{zyyyzyyyzzz{zzz{zyzyzyyyzz{yz{{zzyzyyzxyzzzzz{{|zzyzyzyyz{z{y{zzzyzyyzyyzzyzz{y{z{zyzzyyyzzyzy{zzzzz{zyzz{{zz{{{zzzzzz{zzzz{y|zzzxzz{zzzy{z{zz{{yyzyyyzyzz{zz{{{yzzyzyz{y{zz{z{zzzzzzyzzz{|{{z{zzzzzzzzz{z{{zzzz{zyzzzzz{{{{{z{{zzzzz{{{{{{{{|{|zzz{zzzz{{z{{{|z{yz{{y{zzz{zz{{{yzzz{z{zz|z{z{|{{zzzzzzzz|{z{z{{|z{z|yz{{z{{|{{{|yy{z{z{z{z|{|{{{{zzzzyz{{z{{{{{z|{yzzzzz{z{z|{{{yzzzz{y{z{zzz{{zyyyz{zyz{{z{zzyzzyzzyzyxz{yzzyzzzzyzyyz{zzzzzzzzzzyyzyyyy{zzz{{zyyzyzyzzzz{zzz{zzyyyyzyzzzzzz|zzzzyyyxxzzzy{{{zzyzyyyyyzz{{yzzzyzyyzzzyzzzzz|z{zyyyzyzzyzzz{yzzzyxzzyyy{{zy{zyzzyzyyyyzxz{{{{{yzyyyzyzyyyzyzz{zzxyyzyzzzz{zzz{zyz{zyyzzyzz|zz{zz{yyzzyyzz{zz{{zyzyzyyzz{zz{y{zzzzyzyzyz{z{{yy{{zzz{{zzzz{z|z{y{{z{zyzzzzzzzyz{{zyyyzzyy{{zz{{{zzz{zz{yzz{{||zz{zzz{zzzz{{{{zz{{z{zyzzzyz{{{{z{{zzzzzzzz{|z{{{{{{zzyy{zzz{{{{{{{{zz{z{zz{{{{{{{|{z{zzz{y{yz{zz{{{z{yzzzzz{{zz{{{{{zzzz{z{z{{z|{|{z{{{yzz{zyz{{|zzzzzzzzyz{{{{z{zzyzyzyzzz{{zzzzzyyyyyxzxzzzyzz{{yzzzzxzyyzz{z{yzyzzyzzxz{zzzz{{zzyyyyyyyzzzzyzzyzyxyyyzyzyyzz{{zzyzyxyzyzzzyyzzyz{zzzzzyyzzzyyzzyzzzxyyzzyzzyzzzzyyyzxxzyzyzzzzzzyyxyzyxyz{zz{zzyzyzyzyyzzzzzzz{yyzzzyyzyzzyyzzzzyyzzzyyy{zzzzz{zyzzyzyyzzzzzz{zzzyzzyzyz{zzz{zzzz{{yzzzzzzzy{z{yyzyyzyzzzzyz|z{zyyzzy{yz{zzz{{zz{zzyyzyzzz{zyzzzzyzzyzz{{zzzz{z{zz{{zzz{z{{zzzzzz{zzzzy{{z{z{z{{{yzyzzzzz{zz|{{{yzzzzyy{z{z{z{{zyzzyzzz{{z{{{{{zzzy{{zz{}z{{{|{{zz{zyzz{z{zz{{{zzyy{yzz{{{{z|{{zzz{z{{{z{z{{|{|{yyzzzz{{{{z{{{{{zyzz{zyz{{{{{{{zzzzyyzzzyz{zz{zzyyyyyyzyzzzyz{{yzyxyzyyyzzz{{zzyyyyzyzy{yz{z{{yzzz{yyxzzz{{yyzzzyyyzyyyzz{{yz{zzzzzyyzxz{yzy{zyyyzyzzxxyzzy{zzzzyyyyyyzzyyyzz{zxyzyzyyyyzzzzy{{yyz{zyyyzzyzzzzzzzzzzyzyzy{zyzy{{zyxyyxzyzzzzzzyzzzzyyyyzzyzzzz{zyzzzzyyzz{zzz{zzyyzzyyyzz{zzzzzyyzyzz}zz{{{y{zzzyyyyz{yzz{zzz{{yzzz{yyzz{zzz{zzzyzy{zyy{zz|zz{z{zz{yzyzzz{{y|y{yzzzzzzy{{{{{{{zyzz{zz{z{{{{z{{{z{zzzzyy{z{{zz{{{zy{zzyy{{z{z{{{zzzzyzzy{{{{|{z{zyzzz{{zz{{zy|{{|zzzzz{zz{{{z|z{zyz{zzy{zz{{{z{|{y{zzzzz{{z{{{|z{zzyzzzzz{zz{{z{zz{zzyzz{{zz{zzz{yzyyzyzzzzzzzzzzy{xyyyyy{zzzzzz{yzyzyyyzxzzz{zy{yzyzyyyzzz{zzzyzyyzyyzy{z{zzzzzzzzyyxyy{zzzz{z{zyzzyxzyyz{yzzzzyyzyxzzzxzzzzyyzyyzyyyyyzzy{{z{{yzzyyzyyzzzzyzzzzzzyyyzzzzzzzzzzzzyyyzyyyzyzyyzzzyyzzyzzyyyzzzyzyzzyyyyxyzyzz{{zzz{yzyyzz{z{z{{{yzxyzzzyzzyzy{|zzyzyzyzyzzzzzzz|yyyzyyzzyzzyz{z{zyzyyzzxz{z{zzzzzz{xzyyyzz{zzz{zzyzzz{zzzzzzz{{zzzzyz{zzzz{{z{{zzzzy{{yz{zz{zz{{zzz{zzyy{{{zz{z{zyzzzy{z{|{z|{|{{{zzz{{zzzz{{{z{{zz{zzzz{|{|{{{|zy{zyzz{z{zzz{{{zyzz{{yzz{{{zz{zzzz{zz{zy{z{{zz{z{zyzzyzy{{{z{|zzzz{yyyyyyy{{z{zzzzyzzyz{zzzz{zzzzyzxyyyzzzz{yzzyyyyyyzzzzzzzzzzzzxyyzyxy{zzzzzzzyyzzyyyzz{z{z{zyyyxyyyxz{zzz{{{zzzyyyyyzzzzyzzzzzyzyzyzzzyzyzz{zyyxyyyyyyzzyzy{yxyyyyyzzzyzyzyyzyyzyzxyzzzzzzz{yxzyyyyyzzzyyzzzzyzyzyyyyzzzz{zzzxyyzxyyzzzzzzzzyzyxzzyyyzzzz|{zzyyzzyyyy{zzz{{{zzzyzyyyz{zzzzy{yyyyzzyy{z{zz{{{y{yzzyzzzzzzz{z{zzzyyzyyy{{{zz|{zzzyzzzz{{{{y{{zzzz{yzzzz{{z{{zzyzyzzyz{yzz{{z{{zzz{{yyy{{zz{{{{zyyzzzzy{{{{z|{|zzzzzzzzz{z{{{{|zzzzzzzzz{{{{{{{{y{zzyz{z{zzz{{|z{zzzyzzz{{{|{{{|zy{yzz{{z{z{{{|zzzyz{yzzzzzy{|{zzzzzz{yy{z{{z{{zyzyzy{zzzzz{zz{{zyyzyyxz{zyyyzzzzyzzyyyyzyzzz{zzyyyzzyzyyz{zzz{zyzyzyyzzyzzzzy{zz{zyyyzzyzzzzz{yzyyxxyyzzzyzyzzyyxyzyyyzzzyy{yyyzzyzyyyzyz{yyzzyyyyxzyyyyzzzyyzzyyzyzzyxzyzzzzzyyyyxxyyzyzzzyz{yyzyyyyyzy{yzzz{zyyyyyzyyzzyy{zzzzyxyyzyzz{zzzz{zzzzyyyzzyz{x{zzyzzyyyyyzzz{{zz{zzyzzzzzyyzz{zzzzzyzzzzyyz{z{{z{zzzzzzzzz{{yzzzzzzyzyzzzzzzzz{zzyzy{zz{zyy{z{{{{yz{yyy{y{z{{z{|{{{yyzyyyzz{{|z{{zxxzzyyy{|{{{{{zzzzzzzzzyzz{{z{zzzyyzz{yz|z{|zz{z{{{yzzz{zz{{{{zzzzzzyz{z{{{z{{z{zz{zzyzzz{{z{{{zz{z{zzyzz{{{{{{yz{z{zzz{zyzz{zzyzzzzyyyzzyzzz{zzyyyyzzxyz{zzz{{zxyxyyyyzzzz{zzzzyxxyyyxzzzyzz{zzyyzyyyyyzzzzzz{yyzxyzyy{zzyzzz{yzyzyzyyyzyyy{{zyyxzzyyyyyzy{zyzyyzyzyzyzyy{z{yzyyyxyyzzyz{yzyzy{zzyy{xzzyzy{z{yzzzyyyyxzy{yzyyzyyyyyyyyyzyzzz{zyzzyyyyyz{z{yyzzzyzyy{yz{{zzz{z{zyyyzzyyzz{z{{yzzyzzyyzzzzz{zz{|yzyyyzyzzyzzzz{zzzzzzyyz{zzzzzzzyzyzyyyzz{zzzz{z{xyzyyzzzz{zx|{{{zy{zyzzzzz{{z{{y{{zzzz{{zz{z{{z{zzzzyyyz{{zzz{|yyyzyzzzz|{zzz{{{zzz{z{zz{z{{z{z{{yzzzzzz{z{zz{{{yzzzyz{z{z{{{zz{zzyzzz{z{{{z{{|{z{z{zzzz{{{yz{{yzzyzzzz{z{zz{|z{zzyzzyz{{z{{{{{z{zzyyzzz{|{{zzyzyzyzxyyzzy{yzz|zzzzzyyy{zz{zzz{zyyyyyzzzzyy{{zyzyzyzyzyzz{{z{zzyzyyyzyyzz{zz{zzzzyzzyyyyzzyzyyyzzyzyyyyz{zzz{{yzyzzzzyyyz{zz{yzyzyzzyyxzzzyzzzz{zyzyyyyz{zy{{zzzyyzxzzyy{z{zy{zyy{yz{zyy{{yzzz{zzzyyzyyzzzzzz{yyzzzzzyz{zzzy{{{zyyyyy{y{{zz{zzzzyzzzzzzz{zzzzz{zyyzzyzyz{|zz{{{zzyzyzzzzz{{{{{zyyyzyyyyz{{zz{|z{zxzyyzz{z{zz{zzzzzyzyzz{z{{{z{{z{zzzzzz{zzy{{{{{zyzzzzzz|{z{z{z|yzzzyzy{|zzz{|{{zyzy{zzz{z|z{{z{yz{yzzzz|||z{|{{zz{zzzzzzz|{z{{{zzzzzyz{{zz{z{z{{zzy{yz{{z{{{||zzzzzzzz{{{zz{z{z{zzyy{yzz{{{zz{yzzzyzyyzzzz{zzzzyzyzyyyy{zzzz{zzyyyzxzzz{{{z{{{zzzyyzxyzz{y{{{zzzzyzz{yzzzzzz{zz{yyyyzyz{yzz{zyzyzyzyzyzz{zzzyzzyzzyzyzyz{zyz{zzzyxzy{yzyzzzz{{zyxzyyyzzzyzzzz{yyzzyzy{yz{zyzzzzyzzzyyyzzzzzzzzzyzyzzzyyzzyzz{yzzzyyyyzyzzzz{zzyyzyyzyyz{{yzzz{zy{zzyyyz{zzz{{zzyzzyyzzz{zz{{zzzzzxzyzyz{{{zzz{zzzzzz{yzz{{z{{{zyzzzzyzzzz{zz{{zzyzzzyzyzyzyy{zzz|zzzyz{zz{z{{{zz{zzz{z{{z{{{||zzzzzzzzzy|{{zzz{yyzzzzz{{{{z|{{zzzzzzzz{{zzz{{{{y{{{{zzz|{|{{z{{zz{z{{zz{{{{{{zzz{zz{z{z{z{{|{{{{zzzzzy{z{{{{{|{zzyzzzzzzz{{{{z{zyzzzzyz{z{{zz{z{{zzyzy{z{zzzy{yyzzzzzyzzzzzzzzzyyyyyxzzz{{y{{|zzzyyyzzyyzz{zzzzzzyyyyxzzyzyzzzyzxxzyyyzy{yyyzzyyzyyyzyzzzzy{{{zzyyyyyy{{yzzzzzzyyzxzyyzzyzxz{zyxyyyyzyyzzyzzzzxzyyzzzyy{yzzzzzzyyyzyyyyz{y{y{zyxxyyyyzzzzyyzzzyzyyzyzyzzzzz{z{yzzyyzyyy{zzzzzzyyyzzzyzz{{{zz{zzyzyyxzyzzzz{zz{zzyyyzyzz{zzzz|zy{zy{zyyzz{{{{zy{zzzzzzyzz{z{zzyyzzzyzzz{{|{{{z{z{{zzy{zzz{{zz{{zzzy{zz{{{z{z{{{zzzzyz{yz{{{{{|{{zyyzz{{{|z{{{{|zzyzy{z{z{z{{{{|{zyz{zzz{|{z{|{{zz{zyzzz{{{{{{zzzzzyzzzzz{z{{z{|zz{z{zz{z{y{{|{{{zzzzzzz{{z{{{|{zzyy{zyyzzz{zz{zzzzyzzzyzzzzz{yzyyxzzyzzzyzzyzz{{yzyyyzyzzyx{z{zzzzyyzzyyyzyz{zyyyzyzyyy{{z{zzzyyyzxyyyyzzzzyzyzyzzyyyzyyzyzy{z{{xyyyyyyyzzzyz{yyzyzzyzyzyyyz|z{yyzzxyyyyzzyyzzyzyzyyyyyyz{zzzzzyzzyyzxyyyzzzz{zyyyyyyyyzzzzz{yzzyyxyzzxz{yzzz{{zyyzzzyyyzzzz{z{zzzy{yyyyzyzzzz{zzzzyzzzzzz{yzzzyyzyzzzy{{{zz{z{yyzzzzyyz{z{{zz{{zzzzzzzzzzzz{z{zyy{zzyyy{zzzzz{yyzzzzzzz{{|{{zzyyyzzy{z{zzz{|{zzyzyzzzyzzz|{z{||zzzzzyz{||zz{|{{z{zyzzyzz{z{|{{|yyz{{zzz{{|{{{|{yyy{zyy{z{{zz{z{zz{{z{z{z{zz{{{{zzz{zzzz{{z|z{{z{zzzyyz{{{{zz{{{yz{yzzz{{zzz{zzzzzzyxzyz{z{z{z{yzzzzzzyyzzz{zzzzzyyyzxyyyyzz{z{zzyzyzyzyzzz{zzzzzyyzyyy{zz{zzzzzzyyzyyzzzzzyzz{{xzxzyyyzyyzzzyz{yyyzyyzzzzyz{zzzyyyxyyyzzzz{zzyzyyyzyyzzy{zy{zyzzyzzzyyyzzzzz{zzyyyyyyxzzyzzzzzzzyzyzyyzzzzz{zzzzyyyyyyzzzzz|yzyyzzyzzyy{z{zzzzzyyzzy{z{z{yzz{{yz{yyyzzzzzz{z{{zzzyyyzzzzz{zz|{zzzz{yzzyz{{zzzzzzzzyzz{z{zzz{{zzzzzzzyzzzzzz{zzzzz{zzxzz|{{{z{{yzzz{zzy{{{{z{{{{zzzzz{z{zz{{{|zzzz{{{y{{{|z{{{{z{{zz{zzzz|zz{|{{zzzzzzz{{z{{{|{{zy{{zzzz{{z{{{|{zz{zzzy{{{{{{{{{zz{zzzz{{|{{{{|zyzz{{z{{{z{z{z{|zzzzzzzz{z{zz|{z{zyzyz{zzzyz{z{yzzyxyyyyzzz{zy{yyy{xyzyz{yzyz{zyyzyyxzzzzzzy{{{zyyyyyzy{zzzy{zzzzyyyyzz{y{zzzyzzyyyzzzzzyz{yzzyzyyzyyyyz{yzzzzzzzzyyzyzzzzzzzzzzzyzyyzxzy{yzy{zyyzzyzyy{y{zzy{zzyyzyyyyyy{{yyzyyyzzzyyyyzzyzyz{yyzyzyzyyz{zyzzzzyyzzzyzz{yzz{{{zzzzzyzzzzz{z{{{zyzzzyyyy{zzz{{zyzzyyyzz{y{{{z{{zz{yz{zy{|zz{z{zzyzzyyyy{{|zyzz{{yzy{yzzzz{{y{{{{zzzzyyzy{{{{{{{z{{zyzzz{{z{z|z{yzzzzzzyz{z{{{{z{zzz{yz{{||{{{{z{zz{{zzyzzzz{{|{z{zzyz{zy{{{z||{{z{zyzz{{{zz{{{{|yz{zzzy{{{{{{|{{{zzzzz{{z{z|z{{{{{yz{z{z{{{{{{{{zzzzzzxzz{zzzz{yzzzyz{zz{z{z{zyzzyyyzxyyzzzzyzzzyyyzyyyzyyzzzzzzzyyxzzzzzzzzz{zzyyyyyyzyzyzzzzyyzzyyyyxzzzzyy{zzyyyzzyzyzyzy{zzzyyyyyyyyz{zzzyzzyyyyzyyyzzzzzzzyyyxzyyxzzzyyyyyzyyyxyxyyzzzzyzzyzyyyyzyzzz{yz{zyyyyyxyzwzyyzyzzx{yyzyzyyzyz{yzyxyzyzxyyzzzyzz{zzyyyyxyzzy{zzz{zyzzzzyzyzzz{zz{zzyzyzzzzzzyz{zz{zzyyzxzyzyz{y{z{{zzyyyzxzzz{z{zzzzy{yyzz{{zyyzz{yzzyzyyz{{z{z{{{zz{zzy{zz{{zzzz{{zzzzzzy{{{|{z|zzz{zzyzz{{zz{z{zzyzzy{{zzz{z{{{{{zzz{zyzz{|z{{{z{y{zzyzzzzzzzzzy{zzzy{zzzzyz|z{z{zz{zzzz{zz{yz{|{zzz{{zy{{{z{{zzyz{yz{yyz{yzz{yyyyzyzzyzy{zzzzzxzxyyzyyyyzzzyyzzzyxxyyyyzy{zz{{zyyyyzyzz{zzy|z{zzyzyzzyyyyyzzz{zzzzyyzzzzyzzz{zzzyzy{zyyzzzyyz{z{yyyzyyyyyzyyzyzzyzxyyzyyz{zzz{zyyzyzzyyz{yyzzzy{xyzyzxyyzzy{{z{zzzzzzyyzyzyzzzzzyzyxyyyyzz{zzyzzz{zyyyzzzyzy{yzzzzyyzzyyzzzzzz{zyyyyzzz{zzzzzz{zyyzyyzzz{z{zzzzzz{yyz{zyzzz{yz{{zzzzzyz{{{z{{zzzyyyyzyyzz{zzz{zzzyzzzzzz{zzzzy{{zzyz|zzz{{{{z{{zz{{z{yz{z{|z{{zzyzyzzzy{{|{z{{{zz{zzyzz{{{{z{||{zzyzzz{zz{{{{{{{zyzyzz{z|{z{|{{zzz{{zy{{{z{{z{zzyzzzyzz{z{{{{{{{{{z{zz{{z{{{{zz{zyyz{{z{{{{{{|{{{yyzyzyzzz{z{{z{yzyzyzz|zyzzzzzyzyyyzyyz|zzzzyzyzyyyyyzzzzz{zzzyyzyzyyy{zyzzzz{zzzyzyyyzzyzzzzzzzyyxyyyzz{yyyzzyyyyyxzyx{yzz{{{yyzyzyzyzyzyyzzyz{zyxyzzyzzy{z{{yyyyzy{yzzzzzzzyzzzyxyyyzzzz|yzzzzyxxyyyzyyzzyzzzzyzyyzyz{yyzyzzzyyyzyxzyyzzyzzyyyyzyzyyzyzzzzz{zyyyyyyzzzzyzz{{{y{zyyyz{{zzzzzzzyzyyyyyzz{zzzzyzzz{zyyz{{zzzzz{zzzyyyxyy{z{zz{zzzzyzzyyzz{{{{zz{yzyzzzzz{{{{z{zzzzzzzz{zzy{zz{{yzyzyzzzz{{zz{z{zyzz{yzy{{{zz{{{zz{zyz{z{{z{|{|{{zz{z|zz{z|{|{{|{zy{zyz{{{zz{{|{{zzyzzzzzz{z{z{{zzyzzzyy{zzz{y{zyzzyzy{z{zz{{z{{{zzzz{zyz{{{{z{{yzzyzxzyz{zzzyyzzyzyyyyzzyzyzz{{zyyyzzyzyzzz{z{{zzzyyzyyzzzzyzyzyzyyyyzxyzz{yz{{zyyyyyyxzzz{zz{{yzyzyyzxzzzzzzzzzyzyyzyyyzzzzzyzzyzyyzzyzyzzz{zyzyyyxyyzyzzzzzzzzxzxyyyyyzzzyzzzxxyyyzzyz{zzz{{zzyyyyyxxzzzzyzzzyzzyyyzyyyyyyz{{zyyzyyyyy|yz{zzzzzyzzz{{{yzz{zzzzzyzyzz{{zzyyzzzzyzz{yzy{z{{zz{zzyy{zyzz{{z{zzzzzzzzyzyzzz{{zz{{yyyyz{zyzzzz{zzzz{zzzzyz{{z{z{zzzyzz{z{z{{z{z{{{{y{{zyy{zzzzz{z{zzzzzyzz{||{z{{{{zzzzyzzzz{{|{z{{zzzyzzzz{z{{|{zzyz{zzyzzzzz{{{|{y{{zzzz{{zzz{{{zzzzzzyz{z{|z{{|zzzyzyzz{zz{z{{yzzzzzzzyz{z{yz{zzzzzyyyyyz{zy{|yyzyzzxyxy{zzzzyzzzyyyyzyzzzz{{yzzzzyyzyyzzzz{z{zzyzyyzyyzzzzz{{yzyyxxxzxz{zzy{zzzyzyyyyxyyzzz{zzzyzzyyyzzzzzyzzzzyzxyyyy{zzzyzy{yzyyyyzzyzzzyyzzzyyyyyyzyyzz{zz{zyzzyyyyzzz{zzz{zyyzzyzzyzzzzzyzzyzyzyyyyyy{zzz{yyyzzzzyzzzyzzzzzyzyzyzzyzzyzzzzyyyyyxzzzyzzzz{{yzzzzyyz{z{{y|{zzzzzzyzzz{{{|zzzzzzzzyzzzz{z{z|{zzy{zyyz{{{{z{zzzy{y{zzyzz{z{{{{zy{zzzzz{z{z{{{{zzzzzy{yz{zzz{{zzzyzyzzz{{{{||{zzzzzz{{zzz|{z{{{|{{{zzz{z|{{{z|{{yz{zz{z{|||{{zzzzzzzyzz{{|{zz{{{{yy{zzzzzz{{{z{z{zyzyyzz{zz{{z{zzyzzy{zy{{{z{{zzyz{zyyzzz{{yzz{yyyzxyyyy{zyyzzzzyzyxyyxz{z{{{z{{yzyyyzz{zzzzzzz{zzzyzzyzz{{zz{z{zzyyxzyzzzzzyz{zyyyzyyyyzyyyzz{yzyzzxyyzzzzyzzzzyzzxyyzyzyzyz{zyyzzzyzz{zzzzzzzyyyyyyzy{zzz{z{zyzyzyzyzzzz{zz{zzyyyzzzyyzyzzzz{zyyzzyyyz{zzzz{zyxyzyzyyyzzzzzzz{yzzyzyyzzzz{zz{yyzzyz{zy{z{zz{{yyzzyyzzzzzz{{{zzzyzyyyzy{{zz{z{{yzzyyzyz{y{{z}zzzz{{yzzzz{yz{z{yz{zz{zz{{{{zz|{zzz{{z{zz{{zz{{{{zy{{yzz{{{z{{|{{zyzzyyy{|{z{z{{{zzyzzzz{{zz|{{{|yzzzzzzz{{{{{{z{zzz{y{yz{{{{{{{z{{zzy{{{{{{{z|{z{{zz{{z{{z{z|{{{yzzzzzzy{zz{{{{{zzzyzzzy|{{z{{{zzzyyyzz{zzz{yzzyzyyyyyyyzzyzzzzyzyzzzyyzyzzzzzzzzzyyzzz{zzz{zzyzzyzyyxzzzzzzz{{zzzyyzzyzyzzzzy{zyzzyyyyz{z{zz{yzzzxyyyzzzzzyzyzzyyyxzyyzzzzyzzzyyyyyyyyyzz{yz{zzyyyyzxxyz{zzzzzzzzxyxyyz{yzzzzzzyyyzzzzyz{zyzzyzzyyyyxzyzyzzyzzzyyzz{yyzzzzzzz{{yzy{z{zyz{{z{{zzzzzyyyyzyzzz||zyzzzzyzzz{z{z{{z{yzyzyzyzzz{yzzzzyzzzzzzzz{zzz{z{yzz{zzzz{{zz{zzzzyyzzzzzzz{z{zzzz{zzz{zz{{{y{{{zzzzzyzy{z{y{{|{{yz{{{zz{z{{{{{zz{|zy{z{{z{zyz{z|zzzy{zz{{{{z{{{{yz{{zz{z{z{z|{zzyzzzyz{{z{{|{{{{{{zzzzzz{{{{{{{zzyy{{zzzzzzz{{{zyyzy{zzz{{{z{zzzy{zzyzy{zz{{{yzzyyzzzyyyzz{zyzzzyyzyyxyyzyyzzzzzyyyzzyyxyzzz{zzzzy{zyyzzzz{yzz{zzyxyyyxyz{{yzyzzyyyyyyxzzzzzzzzzyyxzyxy{zyz{zzzyyyyyyzy{yzyyzyyyyxyyyyyzzyzzyzzyyzyyyxyzz{zzzyyzyyyyyyyyzyzzz{zzyxyyyzyyzxyy{z{zyyyyyzxyz{zzyz{zyyyzzzyzzzzzz{zz{zyyxzyyzzzzzzzzyzzzyyyzzy{zz{yyzyzzxyyzz{zzzzz{yzyzyzzzz{zzz{yzxyzzzyz{{yzz{{zyzyzyzy{zz{zzz{{yzyyyyyyzzzzz{{zzzzz{zzz{{{{zz{{yzzzzyzzz{z{{zz{{yzzzyzy{{{zz|{{zyzzyz{zzzz{zz{z{zzz{zzzz{{z{{{{{zzzz{yz{{z{zz{{zzyzyzzzzyzz{{zzzz{zzzzzz{{{z{z|yyzyzz{{{{y{{{z{{zzzyzzzy{z{z{{zzzzzzzyyzzz{zz{yyyyyzxy{yzzyzz{zy{zzxxyzz{zzz{y{zyyxyyyyzzyyz{{zzzzyyzzyzzz{zzzzz{zxyyzyzzzy{zzzzyyyzzzyyyzyyzzzzyyyyyxzyyzzzyzyyyyyyyyyzzz{z{zzxyzyyzzyyzzzzz{{yy{zyzyzzzzz{zzzzyzzyyyyyzz{zzzzzzzzyyyyzyzzzzzzyzyzzyzyyzz{{{z{yyzyyzyyzzzzzzz{{yzzzyzyzzzzzzy{zyzzyyzzzzzzzzzzz{zzyyzyzzzzyyz{zzzyyzyyy{zzzzzzyyzyzzzzz{z{z{zzyzyyzyyz{zz{zzzz{zzzzzyzzz{z{{y{zyzzzzzz{{{{z{|zzyzzzyyz{|{z{zz{zyz{zzzz{{{z{z|{zzzyzy{y{zz{z{zzzyyzzzzz{{{{{|{|zz{z{zzz{zzzz{|zzy{zzzzz{z{{z{|{zzyzzzy{y{{{{z{{{zzyzzzz{{y{z{{z{{zzzzzzz{zzzzz{zzzyzzzz{z{zz{zzyyyyyzyyyz{zzyzzzyzyzzzyzy{zzzzzzyxyyyyy{zzzyz{zzzyyyyzzzzzzzyzyzyzyyyyyzz{zzz{zyzyyyzyyyzzyy{zyyzzyyyxyzyzyyzzzxxzzyyyyyyyzzz{{xzyyyyyxzzyy{z{zyyyzyzyyzyz{zzzzyzzyxyyxyzyzyy{{zyzxzyyyzzzzy{{zyyyyyzyzzzzyyzzzyyzzzzyyy{zzz{{z{zyyyzzyzzzzzz{{zzzyyzzyzzzzz{z{zzzzzzyzyzzzzyzzzzzzyzyzzzz{z{zzzzzyzyy{zz{{{z{zzzzy{zyzyz{yzz{z{zzzzzzzz{z{{{{zz{zzzyzy{z{{{z{{zzzyzzzzzz{zz{{{{yzyzzyz{{{{zz{zzyzzz{{zz{z{{{{{zzy{y{zyz{zzz{{{zzzzyyz{{y{{{{{{zyyzyyyyzz{zz{{{{{zzzz{zzyzzzzzzzzzzyzzzz{zz{{||yzyzzzyyzz{{{zzzzyz{zxyzz{zzy{zzyyyyzzyyyzzyzzzzyyyyyyy{yyyzzzy{yzzxyyyxyzzzyy{zzyzyyyyyzzzyyyzzzyyyxzywzyyyzz{yyzyyzyyxzzzyyzzyyxyyxxyyyz{yy{zyzxyyyyxyyzyzyzzzyxyyyyxxyyyyyzzzzxxzyyyyzzyzyy{zyzyyyzyyyyyyyzzyzyxyyyzyzyzyyyzzxyxyyy{yyyyz{{zzyzxyyyxyyzzzyzzyzyyyyyyyzzz{zzz{yyzzzzyyyyzyzyzzzyyyzyyyyzzz{zzz{yyzzyyxyzyzy{zz{yzzzzyyy{zzz{|zzyzzyyyyzz{zzzz{zzzyzzzyzz{zz{zzyz{yzzyz{zyzzz{zzyyzzxzz{z{{z{z{zyzzzzyyz|{z{z{|zyyzyzz{zzz{{|{{{zzyzzzzz{zzz{{z{zzzzyzz{{{{{z{|y{zzyzzz{{{{z{{{zzzz{zzyz{{zzz{{zzzzyyzx{|zzz{{{{zzyzyzxzzz{zzzyzzyxzyyyzyzzzzyzzyxyyyyxzzzzy{zzzzzyyyzy{xyz{{{zzyyxyyzxzzyyz{{{yyyyzyzxyzzzzzzzz{yzzyzxzz{zyzzzzzyzyxyyyyyzy{zyzyzzzyyy{yzzzzzzzyzyxzzyzyy{y{y{zyxyyyxyyzzzyzzyzxzyyyyyxyzzyyzzyzyyyyzyzyzzz{{zyyyyyyyyxzyyyyz{y{zyyzzxyzyyyzyzyyyzzyzyzy{{z{{{{yyyyxzzzzz{zzzzzzyyyyzy{zzzz{zzzyzyyyzyyz{zyz{{yzyyzyyyz{zz{|{z{zzzyyzyzz{{zz{y{zyzzzzz{{zzzz{zzzzyzyzzzz{|z{zzzzzyz{zzz{{z{{{{zyzzzyyzzz{zz{z{{yzzzzzy{{{{{{|zzz{z{z{|{z{{zzz{{zyzyzzyz|z{z|{{zzz{zzzzzzz{{{z{z{zzzyzzz{z{{{{{{zzzzzzz{{{{{{{{zzzz{{yyz|{{{{{zzzyyyzy{{{{{{z{zyyyyzxyyyzzzzzyzyzzxyzyyyyzy{yzzyzxyxyzxzzz{z{zzyyyyyzzy{yyzzzz{zyzyzzyyyzzzyzzyyzyyyzzyy{zyz{{zyxzyyyyxyzzzyzzz{zzyxyyzzz{zzzzzyyxzyyxyyyzzzy{zyzzyyyyyzyzzzzyyzyyyzyyyyyzyzzzyyzyxxxzxzzy{yy{yzyyyyzyxzzzyyzzzzyyyyzzxyzzzyzzzyyzyzzzzzyzz{z{zzzzyxyzyz|zy{z{{yyzyzyzzyyz{zzzz{zzyyyyyzzzzzzzzzzyyzz{yzzzzz{{zzzyyyzzzyz{zzz{{{zyzzzyzzz{{z{zyyzzyzzy{y{z{z{|zzyzzzzzyzzzz{|{{{zy{zyzzzzzz{{|zzyzyzz{{z|zzz{z{yzzyz{zzz{{{{{zzzz{yz{zzz{zzz{z{zz{yzyzyz{{{{{{z{yzzzyz{zz{{z{{z{zzyyzzzzz{zz{{|{zzzzzy{zz{{z{{{{y{zyzyyzzzyz{zyzzzxyxyy{zzzz{zz{yzzyyzxzzzzzz{zzyzyyyyyyyzzz{{yyzzyyyzyzyzxzzzzzzzzzyzyzz{zyzzzyyywzyzyyzzzyyzzzyzyyzyyzy{yzyyzzzyyyyyyyzzyyzzzyzzzyzyyyyz{zyzzyyyxzyzzzyyzzz{zzxyyyyyyyy{z{yzzzxzzyyyxyy{{yzyzzxyyyyzyzzyzz{yzyzzyyyzzy{yzyzzyzyyyzzyyz{yy{z{{zyzyyzy{zz{zy{{{zyzzyyyz{z{zzz{{yzzyzyzz{zyzz{zzzyzyyzyyzzyzzzyz{zzzzzzzzz{{zzzzzzyyyzyz{|{z{z{{yzz{zyyzzzz{zz{{z{{z{zyz{z{{z{z{zzzzzyzzzzz{{{|zzzyy{zzzz{{zz{|{{zz{z{z{z{{z{z{{zzzzzzyz{|{{{z{{zz{zzx{z{{zzyz{{zyzzzyy{z{zzy{{|{z|zzz{zz{zzz{{{zz{z{zz{{{y{zz{{zzzzzyyyz{z{z{zzzy{zyzzyzzyy{zzzxzxzyyyyyyzyyzzyyzxyyyxxyz{zzz{yyyyyyzyxzyyy{{zzyyzzzyzyy{zzyzzzz{yyyzxyzz{{zzz{yzyyxxyyyzzyyy{zzyzyzyyxzyyzzz{zyyyxyzyzzzzzzzzyyxyyyxyyyyzyz{zzyyxyyzyyzxzyzy{zzzzyyyyyyzyz{yzzzyyyyyxyyzyxyzzyzyyy{yyyyzzyyzyzyyzyyzyyzz{{yz{zzyyzzyzyzzzzz{{{zyzyzxzzzyzzzzzzzyyyyyyzzzzzzzz{zyyyyzyyy|{{zyyzzy{yyyyy{zz{zz{{{zzzzyyzzzzzzz{z{zyyzz|z{{zzzz{zyzzzz{z{z{z|{{z|yzzyyzzzz{{{{{{{zzzz{zzzz{{z{z{{zyz{zz{{z{{zz{zzzy{zzzzzz{{{zzz{z{zyzzzzz{{zz{{{zzzz{zzzyzzz{{|{z{zzzzzz{zz{{{|{zzyz{{yzz{z{{{z{{zzzyz{y{z{|yy{{zzzzzzzyzy{zzz{yyzyyyyxyyzzyyyzz{zyzyxyyzzzyyzz{yyyzyxyzzzz{zy{{zyzyyyyyyy{yyy{{zzzxyxzzzzyzyzzzzyzyzyzxz{yzzzzz{zyyyyxzzzzzyz{zzyyzzyzyyy{zyyzzzxzzyyzyzzz{zzzzzyyzyyxyyyz{zzzyyyzyxyyyzzzzyzz{zyzyyyzxyyzzz{zzyzzyzxxyyzzzyzzzyz{yyzzzyzyzzzzzzyyzzzyy{zy{z{zzyzzz{yyyzzzzzzzzyyzzyzyyzz{{{zz{yzzzyxyyzzzzzzzzzzyyzyzzzz{z{zzzzzyy{zyyy{zzz{{zzyyz{zz{y{{{{{zzyzzzyzzz{z{{y{z{zzyzzzyy{{{zzz{{zzzyzzyyz{z{{{{z{z{yzzzzy{{|{{{{zzzyzz{zy{z{{{{zz{zz{zzz{{{z{z{{{zyy{zzzzyz{{{{{{zyzzyzz{z{{z{z{zzzzzy{yz{zz|z{{zyzzzzzzz{zzzz{zzyzyzyyyzzzzz{{{zyyyyyyyxzzzyy{zzzyzyyyzyzzyy{zzyyyyyzyyzzyyzzz{yzyzyyzy{zzzzyzzzzzxxyyxzz{zzzz{yyzxzyzyyz{yzzzyzzyyxzyyzz{yzzzzyyyyyyyyzzyyzzyzyyyxzxxy{z{zzzzyyzzzzyyyyzzy{y{yyzzzxzyyzzyzyyz{yyyyyyyxyyzzzzyyyzzyzyzyzzzyz{z{zyyzzzzy{{zzzyzzzzzyyyyyz{zzyyz{zz{yyyyzzzzzzzz{y{yyzyzz{{z{z{{zzzzzzy{zy{{{z{zzzyzyyyzzzzzz{z{zzyyzzy{z|{{zz{{zzyyyz{zzz{zzzz{zyz{yzy{zzz{z{z|{zxzzzyyz{z|{z|{zzyzzyzzy{z{z{{{{y{{yz{z{y{|{z{{{{zzy{zzyz|{{z{{{{yyzzyyz{{{z{z{{{zzyzzzz|{yzz{||{zzz{zzzz{y{|{{{zz{zyzzzzz{z{{z{z{zyyzyyz{z{zzz{zzzxzzzz{z{yz{zyzyzyyxyyzz{{zzzzyzyzyyzyyzzzyzz|yxzzyyyyzyzzzzzy{zyyzzyyyyyyyz{zzyyyyzzyyzzzz{zzzyzyyxyyyzyyzzzzzyzyzyyyyy{zzzzzyyzzyxyxzyyyyyy{yzyyxyyyyzyzyyz{yyzyzxyyyzzzzzzzyzyyxyyyzyyzyyzzxzyxyyyyyzyzzyzzzyyyyxyyyzzyzz{zyzyzzyyzzyzzzyz{zzyyzyyyy{z{yzz{zyyyyzyyyyzzyz{zyyzyyyyyzzyzyzzzzyyyzyyyzz{zzzy{yzxyyyyy{zzyyz{zzyyzyxyzz{{yzzzyzyzzyyyxzz{zzzy{zzzzzyzzzz{z{{z|yzzzzzz{z{{{z{z{zzyzzz{yz{{{z{{zzzzyzzzzyzz{{z{|{yzzzzz{z|{{zz{{yyzzzyzyzz|{zz{{zyzzzzzzzyzy{{{zzy{zzzz{z{{z|zz{yzzzzzzy{zzz{{zzz{yy{zyzzzy{zz{zzyzzzyzyzz{zzzyzyyzyzyyyyzzzz{zzzzxyyyyzyzyy{{z{zzyxyyyyzyzyzzzyyyxyyyyzzzzzyy|zzyyyyyyyzz{yzzzzyyyyyzzxy{zy{zzzyyyzzyyyyyzyy{zyyyyyyyyzzxzzz{zyzzzyyyyxzzyyyyzzzyyzxzwzyyzzzzzzyzzyyyzyz{yzzzzzzzyzyxyxzzzzxzzyyyyzyyyyyzzzzzzzyyyyyyzxyzzzyz{zyzyxzyzzy{zyzz{{yzzzzyyy{zzzzzzzzzyyyzyzzz{zy{{{zzzyyzzyyzzyzzzyzzzzzyyy{{zzzz{zyyzyyyyyzyzzzzzzzyzyzzyzzzz{z{zz{zyzzyyyz{zzy{{zyzyyyzyyzz{z{{{{{yzzzyzy{{z{z{{{zzz{yz{yzzz{z{z{zzz{y{{z{{{|{{z{zzzyyzzzzz{{z{{{zyy{zyy{{zz{{z{|z{yz{zyz{z{{{{{{zzzzyyyyzzzzzzz{yzyzzyzyy{{zzzzzzyyyzxyyz{|yzzyzyyyxyyyyy{zyzy{zyyyxzxyzyyz{zz{{yyyxyyyzzz{yz{{yzyzzyxzzyz{zzyzy{yxyyyyyzyz{{yz{yyyyyyzyyzzzy{yzzzzyyyyzyz{zzyzzzzxyzyyyzyyzyzz{xyyyyxyyzz{zx{zzyyxyyzyyyy{yzzzzzzzzyzxyzyxzzz{yzyyxyzyxyyy{yz{{zyyyyyyxxzyzyzzzzzzzyzzyzzz{zz{{zyyzyzyzzyzzz{z{zzyyzzyxzzz{zyzzyyzyyzyy{z{zz{{zyzyzzyyyzz{zzz{{zyzzzyyzz{{zzzzzzzzzzzyyz{zzz{{zzyyz{zzzz{z{{{z{zz{{yyzzzzy{{z{{{zyzyyzx{{{{{z|z{zyz{y{z{{zz{{{{yz{zzzz{z{zz{{{{{zyzz{zzz|{{zz{zzz|zzyz{z{{{{{|zzzzyzzzz{zz{{|{{z{z{{{z{{{z{z{{{zzyzzzyzz|{{{zzzz{{yyzzz{z{z{z{zzzzzyzzzzz{z{zzzyxyzxyyyzzzzzzzyzyxzyzyzzzzzz{{yy{zxyyyyzyzzyyzzzyyyzyzyyz{zzz{zyzyzzyyyzzz{yyzzyyyyzyxxyzyzzyzyzzyyyxyzzzyyyzzyzyzzyzxyyzzzzyzzywyyzyyyyzzzzy{zyyyzxyxzyzzz{yzzyyzzyyyyyzzzz{{{yyxyyyxyzyyyzzzzzyyyyyyyyzyyzz{zyyzyyxxzyz{{yzzzyyzyyyyyz{zzzz{{zyzzzyzyzyzzyzzzzyzyzzzyzzzy{z{{zyzzxyyyz{{|{zzzyyzyzyyyzz{zyzzzzyzzzyyy{zzzyzyzzyyyyyzyzzzzz{zzzy{zyz{yzzz{zz{{zzzzzzyz{{{{yzzz|zzzzz{y{zzz{{{{zy{zzzzzz{zzz{{{{zzzzzz{{{{z{{zz{zz{zzzzzzzzzzz{{zzz{{z{z|{z{z{{zzzzzzzzzzz{zzz{zzzyyyzzz{{{z|z{zyzz{zyyz{zzz{{{zyyyxyyyzyzzzzyzzyyzyyyzyyzzz{{{yzyzxzyxyzyy{zyzzyyyxzyy{yzzzy{zzzzyyyxy{zzy{zzzyzyyxxyyyyzzzyzzyyxyzyyzyzzyzzzzzyyyyyxzzzzxzy{zyyzyyyyzyzy{yzz{yyxyyyxx{yyyyzyyzzzxxyyzzzzzzyzyzyyxxzyyyz{zzzzzzzyzxxzzyzyzyzyzzyzzyyzyz{zzxzzzyzzxyyzyzyz{{{zzzyyzzxzyzyzzzzzzzyyyyxzzzzyzz{zzyyyyyzyzzzzzz{z{z{yyzzxyz{zy{zzzyxyyyyyyyz{z{zzzyzzzzyzyzz{zyzzzzyzzzyyzzz{|{{zzzzzzzyzz{zz{z{{{{yy{zyyz{zz{|||zzzz{zyzz{{zzzz{{zyyzyzzyy{{{{{z{zyyzyz{yz{z{{{{zzzzzzzzy{{{{zzz{zzzzzyzz{z{{yz{{{zzzzyz{{zzzzz{{zyzy{yzyzzz{z{{{{zzzzyyy{zz{zz{{zyzyzyzyzzzyz{yzyyyyyyyyz{yyyyzzyyzzzyzzzyzz{yz{zyzzzzyyzyzy{{zzzyyyzyzyyzyzzzzz{yxzzyyyzzzzyyy{yyxxyyzx{zyyzzzzyyyyyyyyyzzzyzzyzyzxxzzyy{yzzzzzzyyyyxyyyzzzzzzzyyyzyyzzyzzyzzz{yz{yxyxyzzzzyy{zyyyyyxyyzzxyyzzzzzzyyyzzyzzzx{zzzyzzzyyzzzzzzz{{yzyyyyzzzzyzy{z{yzzyyxzz{{zyyz{{zy{yyzyy{z{{zz{zyzzy{yyzyzzz{{{zzxzyzzyz{zyzzy|yzzzyzzyzzz{z{zzz{zy{zzzz{zzz{z{{yzyzzyzz{{zz{zzzyy{zzzyyz|{zzz{zzyzyzzzz{zzz{{{{yy{zzzz{zzzy{{{{{yz{zzzzz{{z{{|{{yzzzyyz{z|{{z{{zzzyyzzy{zz{{z{{{{zzzzzzzzz{z{|{{yyyzzzyyzz{zz{{zzyzzyzzzzzzzz{zz{yyzy{xzzzzz{zzzzy{zyyzz{zyzzzzyyyyzxyzzzzzzzz{zzxzyyyyzzzyz{zzzzyyzyyyzzzzzz{zzzzzyzyyyzyyzzz{zyyyyyzxzzzyzy{zzzzyyyyyyyzzyzzyzyyxyyyxzyz{z{z{xzyzyyy{zyzzzzzyyyyxzxyzzyzzzyzzzyyyxyyz{zz{zy{zyyyzzxzyzzzzzzyzzyzzzzyyzzzzy{yzzyzyzyzzzyzz{yzzzzzzyyyyzzzzz{{zyyzzyyzyyzz{{{{zzz{yyzzz{zz{zzzzzzzyzyyzzz{zzzzzzy{zzzyyz{{z{z{z{zyyzzxyz{z{zz{{zzzzzzzyzzzzz{{{yzzyzz{z{{z{z{z{zzzzxzzzy|{y{{zz{y{z{yyzz{{{zz{{{y{z{zyyz{{z{|||{zz{{{{{z{zz{{|{{z|{{yzz{|zzz{z{{yzyzzzz{zzzz{|{{zz{zyzy{zz{z{zzzzzzy{zzz{z{z{z{{zzzyyzzy{y|zz|zzzzyzyzy{z{z{zzyyyyyzzyyzzz{zzz{zzyyyyyyzzzzyz{zyzyyzyzyz{zzzyz{zxzzzyyzzzzzyzzzzzyzxyyyzzyzz|z{xyyyzyzxzzzzzzzzzzyzzyyyzzzyyzzyyzzyyyyzzyy{z{yzyzyyyyzzyzyyzzzzyyzyyyyyyzzzyzz{zyyyyxxyzzzy{zzzyyzzyxzxyzyzyzyzyzzzyyxzzzzzy{{zyxzyyyyxzzzzxyzyzyyxyyy{zzzzzyzzyyzzyzzzzz{zzz{{zzyzzyyyzz{zzzzzzyzyzyzzyz{zyy{zzzyyyzzzz{{yz{{z{zzzyz{yzzzzzz{yzzyyzyzyz{{{|{{{zzzzzzzzz{z|{z{{zzzz{zyy{|{{{z{{{yzzzxzz{{{z{z|zzzzyz{{{z{{{{{{z{z{zz{z{z|y{zz{{{{{zzyzz{{z|zz{{{zz{zzyy{{{{{{{{{{z{z{zz{{z{z||{{zyy{zzz{z{yz{{zzzzzyy{z{|{zz{{zyz{yzyzzyzzzzy{zyyxyyyzyyzzzyzzzzyzyxxyyzyzzzz{yyyyzzyyy{zzyyz{yyzzyyyyyzz{zz{{zyyzxyyyxzzzzz{{xzzyyyyyyyyzyzz{zyzzzyzyyzx{yyzz{zzyyyzxyzyyzyzy{{yxzxyyyyzzxy{yyzyyyzyyzzzyyzzzyzyzyyyzxyy{zyz{{yzyyyxyyzzzzzyzyzyyxyyzxyzzzyzz{zyyxyzyyzzzyy{zz{zyyyzzyzzz{zzz{zyzyyzzyzyzzz{{zzy{yzyyzz{zzzz{zzzzyzyzyzzzzzyz{zzzyzyyzzz{{zzz{{zyz{yzzz{zzzz{zzzzz|zz{zzz{z{{{yzy{zzzy{z{|{z{{zzyzzyzy{|{z{zzzzyzzzyz{{{z{{z||{zzzzzzzy{z{{z||zyzzz{z{z|z{yz{{zz{zyzzy{{{{z{{{{yyzz{{zzzyzz{||z{zz{zy{{{{{z{z{zz{zy{yzzzz{{{{{{{zzyzzzz|z{z{zzzzzyzzyyyz{z{{zyyzyyyyyyyzzzz{zzzxzyxyyyyzzzy{zzzzyxzxyzzzzzy{zzyyyxyyzyyzz{zyzzzzyyyyzyyzzzzzy{yyyyyyyxyzzyzzyzyzzz{xyyz{yzz{zyzyyyyzyyzyyyyyzzyzyyzyyyzzzyzyzyyyyzyyyxzy{{zzzzyyzyyyyyx{zzyz{zzyyzyyzyyzyyz{zzyyzyyxyxzyzzzz{yxzyzzzxxz{zzz{z{zyyyyxzyy{zyzz{{zz{yzyyzzzz{zzz{zzzyyyyyzzzz|yzzzyyyyyzzzz{z{{zzzzzzyyxyz{{z{{{{zzzzyyx{zyzz{z{zzzyz{zyyyzz{{|{{zzzzzz{z{{{|{{{{zzyzyyyzz{zzz{{zyyz{{z{y{{zz{{{zzyyzzz{zzzzz{{z{{yyzzzzzz{{{{||{{zzyyzy{zzz{z{{z{zzzz{zyz{{zz{}{zzzzzzzzzzz{{z{zzyzzzzy{zz{{zz|{{zyyyzzzzz{zzy{zzzy{yyzyzzzzzz{{zyxzyyyzxz{zzyzzyxzyyzyxzzzzzzz{yyzyzyyy{zyz{yzyzyyzyyxyzzzzyzyyyyyyyyyxyy{zz{zzzzyyzzxyyzyyyzzzyyyyyyyyyzzyzzxyzyxyzyyxyy{zzzz{yyyyyxyxyzyyyzyzyyzyyzyyzzzyzzz{{zzyzyzxyyyzzzzzzyyzzzyyyyyyyzzzzzyzzyyyzyzyyzzzyyyyy{yyzyzzzzzzxy{yzyzyyzzz{{z{zxyzyy{zzzzzyz{zzzzzyzzzzzzzzz{zxzyzzyyzy{{{zzz{yyyyyyxy{{z{{{{zzyyzyzzzz{zzyzzzzzzy{zyyzz{zy{{zyz{yyzzy{{y{{{{{{zyyzzyzz{z{z{{z{y{z{zzz{{{z{{{zyzzzzz|{{zz{z{{z{zzzzzzzz|zzz{|{zzzzzyzz{zzzzz{zzyyyzzzz{z{{zzzz{{zzz{zz{z{{{z{{{yzyzzz{{y{z{{{{zyyzyzzyzz|z{{zzyzzy{yyyyzz{zzzzzyyyyxyyzzzzzyzzzyyxzyyyzyz{zyzzzzyyyyyy{yzyzzzzyy{y{yzyzzzzz{zzyzzyyyyyzyzzyzz{yyyyxyyyyzyyyz{zzyyyyxyxyzzyyzzy{yxyzzyzyyyzyy{zxyyx{yxzyzz{yyzyyzyzyyzxyyzzzzzzyyzzxyyyzzz{z{zzyyyyxyyyzyzzyzzzzyyyzyzyyzxyz{z{yyzzxzzzyzzyyz{{zyzzyyyyzzzyyz{{zy{yyyzyzzzzyzy{zxyzxyyzzzzz{z{z{zzzyzzzzzz{zzzzzzyzzzzzz{zz{zzzyzzzyzxzzzzzz{{zzzyzzyyzyz{{z{{{yyzzzzyzz{z{{z{zzzzzyyzxz{zyzz{{zzyzzzzy{{{{{|zz{{zyyz{zzz{z{z{|{zzzzzzzz|zz{|z|{yyzyzyy{{{{z{{{zyzyzzz{{z{{{z{{{zzz{zz{|{z{{z{{zzzyyzzzz{zzz|{{zzzzzzyy{{z{{|{zzzzzzxzyzzzzzzz{yyyxyyxyyzzzzzzzyyyzy{yzyzyzyzzzyyyyzyyyzzz{zz{zzzzyyyyzzzzzzyyzzyyxyyyxx{zzy{zzyyyyxyzyy{zyzzzyzxyyyxyxzzzzyzzyyyzxyyyyzyyzxzyzxxyxyyyyzzzzy{zzzxyyyzyzzzzyzzzzyyyyxzyyyz|zzzzzyyyzyyyyyzzyzzzyyyyxzzyyyzyzzz{zzzyyzzyyyzzzzz{zyzyyyy{yyzyzzzz{yyyyyxzy{zyz{zzzyzyyyyzzzzzzz{zzzzzzy{zyzzzzzzzzzyzzzzyzzz{yz{zyyy{zzyyyyz{zyyzzzzyzzzyzzz{z{{zzyzyzzzzz{{{{z{{{zyyzyyzz{{{z{z{yyyyzyzzzz{z{{z{zz{{zz{{z{{{z{{z{{z{zzzzzz{zz{{z{{|z{zyzy{zzz{{z{zyyzzzyzzy{{z|z{zzzzz{zzzzz{{z{{zzyzyzz{zzzzz{|{zzyyyyzy{{z{zz{{zy{x{zyyzzzzzzzzyyyxyyxxzzzzzzzzxyyxzyxyzyzzzz{zz{yxyyyyzyyy{zy{zyzxyxxzyzzzz{zzzyyyxyyyzyyzy{zzzxyzyyzyyzzyzyzzyzyxyyyyzzyzz{zyzyzxzyyyyyyzyyz{yyxxzxyyzzzyzzzzyxyzyyxyyxzyzzzzyyzyxzyxzyzzzyyzzyzyzyzyyzyzzzz{yyyyzyzyxzyzzz{z{zyyyyyyzz{zzzzzzyyzyxyyzzyzy{zzyx{zyxyz{zzzzy{zzyyyyzxzzzzzzzzzzzzyzyyyyzzzz{z{yyzzyyyyyz{zzzzyzzzzzzzzzzzzyzzyyyzyyzzyz{zz{{z{yyzz{xyyz{zzzz{zyz{zyzzyz{z{{z{zzyyz{zzyz{zzz{{z{{yyzzzy{zzzzz{{{zzyzzzz{{|z{{z{zz{zzzyz{z|{zz{z{yzzzzyzzz{z{{{{zzyzzzzz{z{zzz{{zzyyzyzyz{zzzz{{{zzyyyzy|zzzyzzzyy{yxyzyzz{{zzzzzzyyyzxxz{zyzzy{yyyzyyzyzyyyzzzzzyyyy{zy{zzzzy{zzyxzzyyyzzy{zzy{zyzyyyzyzz{zzy{{yyyxyzyyy{zzzz{yzyyyzzyxyzyzyzzzyyyxyyyxyyyzyzz{yyyyzyyyyzzyzyzyzzxyyyyzyyzyz{zzyxzzxyyyyzyyzyzzyyyzzzxxyxyzzyzzzyyxyyxyyzzzyzzzyyzyyyyyyzy{yz{yzyzyyzyyy{yzyzz{zyyzyyzzyzzzzzz{yyzyyxzxyzzzzy{{zyyzyyyzy{{zz{zzzzzzyzzzyy{zzz|zzyyyzyyz{zyzz|zzzzzyzyzz{zy{{{{{zzyzyyzzy{zzz{z{zyzz{yxzz{{z{{{{{yzzzz{zzz{zzz{zzz{yz{z{z{z{z{z{{zzzzzzzz{{{zz{{{z{zzzyz{{zzzz{z{zzzz{yzz{{{{{{{{zz{zzyzzyzz{|{{zzzyzzzz{{zzz|{z{zyzzyyzz{{zz{{yzzyzyyyy{y{zzzyzyxzyyyzzyyzyz{zzyzyyzyyyxzzzzz{yzyyxyyzxzyzy{z{zzyyyyyyyzyzyyzzzxyyyyyzxzzzzzzzzyzyxyzyyyyzyy{zzyyzyyyyyyyyzzzzyzxyyxzyzyzyzyz{zyzzyyzyyzyyyzyzyzyyyyxxyyyzyzzzzyyzyxyzzyzzyyy{zyxxyzyyzyzyyyyyzyzyyzxxyzzyyzzyzyzyyxyyyyzz{zy{zyzyyyyzyzyzxyyzzyyyzzzyzyzyzzzzzyyyzxyzyzzzzyzzzzzyyyyzxy{{yz{zzyxyyzzxyzzzzzz{zzzzzyyyyzzzyx{yzzzzyzyzz{{zzz{{zzzzyzyzyz{z{zz{zzyzzzyyz{z{zzzzzzyz{yyzyy{z{z{zzzzzyyzyzzzzz{{zz{{yzz{yzz|{z{{{{zyyyzyzy{{z{yzzz|yzz{{z{yzzzz{{|{zzyzzyy{{zzyzzz{zzzzzz{z{zz{z{zzz{yzyzz{{{{zz{zyz{xyxzyzzyz{zzyzyyyyyzyzzzyyyz{zzzyyyyzzz{zzzzzzyyzyyxyyyzyz{z{zyyxyyyyzzzzyxzzzyyyyxyxzzzxyyzzyyyxyzyyy{zzzzz{zzyxyxyyyyzyzzzzzyzyxyyyyzyzzzy{zyyzyxzyyzyyz{zyzyyzyzyy{zyyzzzzyyyyyyyzyzyzzyy{yxyxyzyxyyzyyzzzyyzyxxyxyzxyyzyzyzzyzzyzzzzyzzy{yzzyyyzzyyyzzzzzyyzyyyy{zzzyzzz{yyzzyyyyz{z{z{zzzxzzzxzyz{zzz{z{yzyzyyyyyz{zyy{zzzyyzzzyzy{zzzyzzzyzzzzz{z{z{z{{yzyzzzzy{zzz{{{{zyzzyzzyzzyzz{zyzzzz{{zyz{{{z{{{{zzzy|zzz|zz{{{{zzyzzzyzzz{zzz{z{zzzyzzzzz{zy{z{zyzzyzzzzz{{{{{{{{z{{zzzz{z{{zz{zz{z{zzzzzy{{{{{zzyyyyzzzzz{yzz{yzyzyyyz{{zzzzzyzzyzyzyyyz{yzzzzyyyyxxxyyzzzzz{zyzzyyzzyy{zzzzz{{zzxyzyyzz{{zy{zzzzyyyyxzyzzzzy{yyzyyzywzzyzyzzzyxyyyzyyyzyzyzzzyyyyyzyyzzyzyzzzzxyyzyyzyyz|z{{zzxzyyyyyzzzyzyy{zyyzyxyyy{zzzzzzyyyyzyyyyz{xz{zzzyzyyyy{yzyzz{zzyzzyyzzzzzzz{{{zzyxyyyyxzyzz{z{zzyzyyyyyzzz{zzz{zzz{yzyyzz{zzzzzzzyz{xzzz{zz{z{zyyzy{yzzz{yzz{{{zzzzzzzzy|zzy{zzzzzyzzzzz{{{z{{{yyyzzzzzz|{zz{{|zz{zyzzzzz{zz{{zzy{zzy{zz{{z{z{{{zzzzy{zz{{{zz{zyzyyyzyzz{{{z{{zzz{{zyzz{zzz{{{{zzz{{zyz{zy{{{z{y{z{{zzzz{{z{{{|yzzzzzz{{{{{zz{zzyyzy{zzzzz{zzy{{yzzyzyy{{z{zzzzyzyyyyyyyzzzyyyzzyyyyyyxyyzzz{z{yzzyzzzyzyy{zzzzyyyyyzyyzzzzzzzzyy{yxyxyzyyzyzyzzyzyyyyxxzyyz{{zyyyyyyyzzzzzz{zzyyzyxzyz{yzzzzz{yyzyyyyyyyzyzyzzyyyyzyyyyzzzzyzzyyzyyyyyyzyzzzzzyyyyyyyxzyzzzzzyzzyyzyyyzyzzz{yzyyyyzzyy{zzy{zzzzyyzzxyzyzyzzzzzyzzyyyzyz{x{zzz{yzyzyyzzyzzyz{zzyzzzzwyxyyzyyz{yzyy{yyzyzz{yz{{yzyxyy{zz{zzzzzzzzyyzzyy{{zzz{z{zzzzzyyyzzzzz|{zzyzy{zzyzy||{{z|zzyy{zzyzz{{{{{{zyzyzyzzzz{z|{{z{{zzzyzzzz{z{{{{{z{zzyyzy{z{z{{{{zzzyzzz{{z{zzzzz{zzzz{z|zzz{z{{{zyyyzzzzzzzzz{{{{zyzyzyz{{{yzz{zzzzzzyzz{zzzzyyyyyyyxzyxzzzyyzzzzzyyyxzyy{yy{{{zyzzxyyyzzzzz{z{zzyxyyyzyzzzzyzzzzxyzxyyzzzzzzzzzyzyyzyyyyyyyzyzzzyyyyxyzyzyyyzzyzyxyzyyyyzyy{zzzyzyxwyxyy{zzyzyzxyyyyyyyyyyzzyzyyxzyyyyyyzz{yz{zyyzzyzyyyzyzz{zyzyyyyyzyyzyzy{zzyyyyyyyyyzzyzz{zzyzyzyxxy{zzzzz{zyzyyxzzzzzyy{zzyzzyyzyzz{yyzyz{zzy{zyyyzzz{z{zz{yzzyzyyzzzyyz{zzyzyzzyyz{zz{{z{zzzzzzyyz{z{y|{{zzyyyyzz{zzzz{z{zyz{yzzzzzzz{{zzzzzzzzzz{zz{z{{{{y{zz{zzz{z{{{zzzyzzz{zz{{z{{{|{zzzzyyzy{{z{{z{{zzzyyzz{zz{{{{{{zzzzzzx{zz{|{{{z{zzyzzzzzz{zz{zzzyzzyzzyzzz{yzy{zzyzyyyzzz{zzyzzyyyyyyxzyzzzzzz{yywyyyxxyzzzzzzzyyyyyzyyyzzzzz{zzyyyyxyyyzz{zyz|zzyyyxzxz{zyy{zzyyyyzyzyyz{zzzzzyzyyzzxyzzzzzzyzzyzzyzzyzzyyzzyzzyyyyzyyz{y{zzzzzxxyxyxyzyzyzzyzyyzyxzyyzyz{zzzzyyyyzyyzyzxzzzzy{yyyzyxzyzzzzz{{zzzyzzzyyyzzzzyzzzzzyyyz{{zzzzzzxzyyyyzyzzyzzzy{y{yyyzyyz{{y{{z{zzzz{yzxzzzzz|y{zzyzzyzy{z{{z{zzzzyzyyzy{z{zz{z{zzyyzzzyz{zz{{zzyzzyzz{zzzz{z{{zzyyzzzyzzz{{zz{z{zzy{yzz{{z{zzzzzzzyzzz{{zzzz{{{{zzyy{{z{|{{{{{{zzzzyzzz{{{{zz{{{zyzzzyzzzz{{z{|zzyz{yzzzz{{{{z|zzzyyyzyyzz{zy|{zz{yzzzyy{{{z{zzzyzyzyzy{zzzzyyzyyyyyxzxyzzz{zy{yxyzyxyyyy{zzzz{zyyyzyyyzzzyyzzzzyyzyyyyzyzzyz{zzyyzyxxyzyz{zzy{zyyxyyzyyzzyzz{zzyyxyyxzzyyyzzz|zyzyyyyyyzzzyzz{yyyzyyyyyyyyyyyyyyxyxyyyxyy{yyyzyyzyyyyyy|zyzyz{zyzxyxyyzyyyzzzzzyyyyyxyyzzzz{{{yyyyyyyyzyzzyzyzzzxxzyyzzzzzzzzzyyyxxyzyyyyyzz{zyyyyyyyyz{{{zzzzzyyyyyzyzzzz{|{zyyyyyyyyy{z{zz{{{yz{zyzyzzzzzzzz{zyzzyy{{z{z{{{{yyzzzzzz{{x{{{{zzzz{yy{y{{{{{{zzzzzy|zyz{{{{|{{{zzzzzyzz{{yz{{z{{zzzzzzyz{|z{{{{zzzzyyzy{z{{z{{{{y{zzyzy{yzzzz{{z{z{{yyzzz{|{{z{yzzzzzzz{zzzzz{{{yyzzyyyz{zzz{zzyzzyzxyyzyzzyzyzzzyyzyxyxyyyyyzzyyzyyxyyyzzyzzzz{zyyzzyxzyzzzy{zyyyzyyyyyyzzyzzxzyyyyyyyyzy{yzzyyyyzyzyxyyzzyz{yyzyyyyyyyyyyzyzzxyzyyzyxyz{yzzyyzxxyyzyyyzxzzyzyyxxxxyyyyyz{{yyzzywyyxyyyzzzzzzzzyyyyxzxyzzzzzyzyyyyyyxyyzyzzzz{xyzxzzyyzyz{zz{zzxzyyxyzyzz{zzyzyyyyzyyyyzzzzzzzyyzyyyxzyz{zzzzyzzzyzxzzxz{zz{zzyyyzyyyyyzzzzz{yzyzzyzzyzyzzzzzz{zyyzzzzy|z|z{z{yyyzzzxz{zz{z{{|zzyzyyzzzzz{{y|zzyzyzyyzzzz{z|zyzy{yzzyyz{zz{{z{{zzyyzyzz{{yzy{{zyzzzzzyyzz{{zz{zyzzy{zz{z{zzz{zzzy{{zzyzzzzz{z|zzzyzzzy{z{{z{zz{zyzyzyyyzzy{{zzzyyyzyzyzyzzzzyzzyxyyyyzxzzyzz{zyyzyyzyyyzzyyyzzzyzyyyyzzyzzy{yzzyyyyyyzyzyzyzzyyyyyyxyyzzzzzzz{zyyyxyyxyzzyz{zzzy{yyyxyz{zzzzzyzyyyyyyyzzyzzzy{yxxyyyyyzzyzyyzyyyxyyyxyxyzz{zyzyyyxyxyyzzyyzzzzzyyyzxyyxzyyzyzzzzyyyyxyyzyzzzzzyyyyyzxyzyzzz{{zzzyyyxyzzzyzzz{zyzyzyyyyzzzyx{zzy{zyzxyzyzyyzz{zzxzyzxzy{{zyz{yzzyyyxzyy{zz|yz{zzyzyzyxzyzzzzzzzzyzz{zyzzzz{{{{zzyyzzyyz{zz{z{{{zzzz{yzy{zzzy{zzzxzyzzzy{{{zz{{zzzyyzzz{z{zzzzy{|z{zz{zzz{zzzz{{zy{zzzyyzzzz{z{{{zzzzzzz{{|zz{{{zzzzzyyyzz{zz|||z{yyyzzyyzzzz{{z{zyxyzzy{zzzzzz{zyzxzzyyzzzzzzzzyxyyyyyxxzzyzzzzyyyxyyyyzy{zy{{{zyyzzyyx{{{zz{zyyxyzyyzzyzyzzyzzzyyyyyyyzzz{y{yzzyyyzyyyyzzyzz{zzyzzyzxy{z{yyy{zyyzxyyyyyyyzyzyzyzzyyyyzyzzzyzzzzzzyyyyyyz{yyzzzyyyzxyyxzzzzz{|{zyzzyxzyzyzyzzzzzzzyyyyzyzzyzzzzzzyzzyyzyyzzzz{zyyyyyyyzzyz{zzzzyyzzyzyyzzyzzz{zyzzyyzzzzz{zz{zzzzzzyyzyzzz{z{zzzzyyzzyyyz{z{zzzzyzzzzyzzz{zzyzz{yzzzy{zz{zzy{{{zzzzzzzz{{{{zz{{zyzzzyyyzz{z{z{z{zzz{zzzz{z{{z{{zy{z{zzzzzzzz|{z|y{zz{yzz{{{{|{{{zzzyzzzzz{{z{{z{zy{z{yzzz{z{{z{zzz{{z{{yz{z{{{{zzzzzzyyy{|zzz{zz{zyyzyyzzz{{{{zzzyzzyyzzzz{{zzzyzxyzyyyyzzzyzzzyyyyxyzyzzzz{{zzzxyxyyyyyyyzzz{{yxxzzzyzzzzzyz{{zzxyxyywzyyyz{yzzyzzyyyyzzzzzzzyzyzzyyzzzzzyzzzyyyzwzyzzyyzzzzzyyyyzzyyyzz{zyyzzzyyyyzyzzyzzzyyzzyzyzzxyyyzyyyzyyzzyxyyyyzyyyzyzzzzyyzyyyyy{z{zzzyzzxzyyyyz{yzzzyyzyyyzxyyzzzzzzyzzyyzyzxzzz{zz{yyz{xzyyzyyy{{y{yxyzzyzzy{y{zzzzyzzyzyyyzz{zz{{zzyyzyzyy{zzzzzz{{yzz{yyyzz{{zz{zzzz{yyzyyz{{y{{{zzzzyzzz{zzzz{zzzz{zzzzzz|{zzz{{yz{zy|zzz{{z{{{z{yyyyzzy{{{{{zz{{zzzzz{zzzzzz{zz{zzzzzzyz{z{{z{{z{zzzzzz{{zz{{{{zzzyzz{zzz{{z{|{zzzyzyyyzz{{yz{zz{zyzyyy{zzz{zzyzyyyzyzyzzyyzzyzyyzyyxyy{zzzzzz{zzzyzyzzyzyzzz{zyz{zzzyyyyy{yzz{zyzxzyyyzyzzyzzzyyyyzyyzzyzzzzzzzyyz{zyy{yzzzzzzx{zyzxxzz{yyz{zzyxzyxyyzyzzzzz{zzxzzyzxyzzzzzz{yyyyyxyyyzz{zzzzzzyyyyzyxzzzzzzzzzzyyzyyyyyzzyzzzyzzyyzzy{{zyzzzzyyyzzxzyzz{z{zzzzyzzyyzzyzyz{zzzyyz{y{zzzzzzzz{zzzyxyyzzzz{{{{z{yyzzzyyyy{z{zy{zzzyzzyzy{{z{zzz{yzzzzyz{zzz{{{z{xzyzzzzyz{z{{{{|zzyzzzzzzz|{{{|{zzzz{zzy{zz{{{{{{{{zzzzzz{{|z{{zzzzzzz{zz{zzz{{|{zzy{yyz{{yzz{{zzzzz{zzzz{zz{{{{{zyz{{zzz{z{{z{{zzzz{zzzzzzz{z{zzzyyyy{zz{{{z{{zzzzyyzyzzz{zyzyzzyxyzzzyyzzy{yz{zzyxzyyxyzyzyz{{zzzzyyyxyzzz{{zzyyzzyyyyyzzzyyzyxzzyzxyxzz{zyzz{zyyzyzyyy{zy{zzzyyzzyyyyzzzzzzyy{yzzyyyyyzzzzyzzyyyyxyyzyzz{zzzzyzyzyyyyyz{yz{{zyzzzyzyxyzyz{{zzzzyzyyzzyzzzyzzzz{zyzzxyyy{yz{{{yzyzyyzzzzz{zz{{zzyzyxyyyzzz{z{zzyzyyzyyzzzzz{zzzyyyyzzzzz{zz{zzzyyzzzyzy{y{yzzzyzzyxyyzzz{{zzzyzzy{zyzz{zz{z{z{y{z{zzzyz{{{zz|zz{zzzzzz{zzzz{z{yz{zyzyzzz{z{z{{zyzzzzzzz{z{{yz|zz{zzzy{{zz{{{z{zzzz{zz{z{zz{|z{{z{zzzyz{zz{z{{{{zzy{zzzz{z{{{{{{{z{{zz{zz|{{{{zy{zyzzyzzzzzz|{{zzyyzzzyzzyz{z{zyzyyzyzyz{zzzzyzzzyzxxxyzzz{zxzzyyxzyxzxyzz{zz{{zyzyyzyyyy{zzz{zzyzyyyyyzyzzzzz{zzzyyy{yzz{{z{yyyyyyyzzzyzzyzz|zyzyyyyxyz{yyyzzzzyyxyzyyyyzxyzz{yxyyyyxyx{z{yzzzzyyyyyxyy{yzzyzzzzyyxzzxyzz{zz{zzyyzzwyyzyzzzyzzzyyyxyyzxzzyzzzzxyyzyzzy{zzzzzzz{yyyzyyyzz{yz{zzzzyzyyzzzyy{zzzzzxyyyyyzzzyzy{z{zyyyyyyzyzyzz{{zzyyyyyzyzzzzz{zzzyzyzyyzzzzyzz{zzzyyyzyzzz{{{z{{zyzz{y{yzzz{zz{z{y{yyzzyzyz{z{{{zyzz{zyyyz{{{{zz{zzzyz{{z{{z{{zzzzzyz{zyz{{{{z|{zz{z{{zzz{{z{{|zzzzyyzzz{{zz{{{{z{yzzzzzzz{{|{zzz{zyzyzyzz{zzz{z{yzyzyzyzzz{{{zzzyzyzxzyzzz{zzyyyyzxxzzyzzzyzzzzzzxyxyzyyzyzzzzzzyyxyzyxzzzyzz{zyyy{zyzyzzy{zyzzy{zyxyzxyzzyyzzzyyyyyyyyy{zyzzzzyyxyyyxxyzyyyyzzzyzyyzyzyyyzyzzzyyzzyyyyzzyzzzyyzyyyyzyyzyzyzyzzzyyyxyyyyzzzyzzzyyyyzyyxyzxzyzzzyyxxzyyzyzzzyyz{yyyyzyzxzyzzzzzzyyxyyyzyzzzzzzyzzyyzyyzyzyzzyzyyyzzyyzzzz{{zzz{yzyzzzxyyz{y{{z{{zyyyyyzyzzzzy{{yzyyyyyyyzzzzzz{zzzzzyyzzzz{{zz{zyzzyzzzzy{{|zz{{zyzyzyzzzz{zzzzz{yzzzyzzzzzz{{z{y{zz{yzzzz{z{{z{{zyyzzy{z{{{zy{{{yzyzzzy{zz{z{zzzzzzzyyz{{|z{{z{zyzz{zzy{y|zy{{zzzyyyzyzz{zzz|{{zzzzzz{y{zz{{yz{zyzyyyxzzzyzzzyzzyyyyyzxyyzzyyyzzyyyzyyzzyyz{zzzzyyyyyzyzzzz{yzzzyyyyzyy{zyzyy{z{yyyyzzxzzz|yzzzyyzyyyyyzzzzzzzzzzxyyyyxzzzzyzyzyyyyyzyzyzz{yzz{yyyyzyyyy{zzyzyzyyyzxyzyzyzx{zzzzxyxxyxyzzyyzzz{zxyzyyzxyyz{yyyzyzyxyyyxyzzzz{zzzxzyyzyyzzzz{z{zzyzyzyyyzyzzzzy{zyzyyxyzyzzzzz{zzyyzzyy{zz{y{zzyzyyyzyzzzz{{{{{zyyyzyyzy{z{zz{zy{zzzz{zzzyzz{zzzzyxzzz{zz{{zzzzyzzzzz{zx{{zzzz{zzz{zyyyy{zzzzzzyzyz{zz{y{{{{{{z|zyzyz{zzzzzz{{{{z|zyy{yz{{z{{{{{|zzyzzzx{z{{{{z{{yy{zzzzz{{{{z{{{zzz{yyzz{{z{{{{yyyyzyzyzz{z{z{{zz{yyzzyzzz{{{{yzyzzyzyyy{zzzzyzyyyyxyyxyzyzyzz{yyyzzzzyzzzz{zzzzyyyxyzzzzz{zzyzzyyzyxxzzzzzzyz{yzzyyyyxzyzyy{zzzyyyzzzyy{zzzzyzzyzzyyxyyzzzy{yzzxxyyzz{zyzyyzzzzxyyzzzxyyyzzzzzyyxyyyxyzyyyzy{yzxzyyzxyyy{zyzzzzxyyzyzxyzzyzzyzyyyzyyyyzzyzzzzzzyyyzxzyzyzyzzz{zyyzzxzyxzzz{z{{yyzzyxyzzzzzzzz{zyzyyzyyzz{zzz{zzzyzzxyyyzzz{zzzzyzyyzyyzz{zyz{zzzz{z{zzzzzzzzzyzzyzyyzyz{zzz{zzzzyzyy{z{zz{|{{{{yz{zzzy{{z{yzz{{zyzzzzz{z{z{zzzzzzzzz{y{zzz{{{{{zz{zzzzz{{{{|z{zzz{zzzz{z{{{z{{zy{yzzzz{{{zzz{z{{zzzzz{z{z{z{{zzzzzyzzyz{{{yz|{zzzzzyzyzz{zzzzzyyzyyyyyzzzzzz{zyzzzyyzyyyzzzz{zzyyyxxyyyzyzz{z{yxyzyyzxzzzyzz{zzxyyyyyzyzzzzyz{yyzyyyyyzzz{zzyzzxyxyyyyzyzzz{zzzyzyzyzyyzzzz{zzyxzyyyyyyzyyzyzyyyzyyzyyyzzyy{zyzyxxyyyxyyzzyzzzyzyzyxzyyzzzyyzyyzyxyyyyyzzyzx{zyyyyxxyyyzzzz{z{yzzyzzyyzz{zzz{zzyyyzxxyzzzzyzy|zyxzyzzzzzyzy{zzyyzyyzyyzz{yzzz{yyzzyyyxy{zzz{zz{zzyzyyy{zzzzz{zzyyzyzz{{{{zzz{z{yzzyzzyzz{zzzz{yzyyzzzz{zyzz{z{zzzyzyzyyz{z{{zzzyz{{zzz{{z{{{zzzzyyzyzy{zz{{z{{{zzzzzzzy{{|{|z|{zz{yzyzzyyz{z{{zyz{zzzzz|yz|{{{zyz{{zzzzzz{{zz{zzzyzzzyzzz{zzz{{zyyyyyyzz{yzzzzyyzyxyyxyyyzzzyzyxyyyyxyyzzyzzzzzyyyxxyyzzzzyyzzyyyyzyyyyyz{{zzzyyyyyyyxyzyyyyzzyyyywyyyyzyzyzyzzyyyxyyxyxyyyzzyxyzyyzzyzyzxzzyzzzzzyxxyzyyzzzzzyyyyyyyxyyzyzzzzyyyxyywyyzzyyyzzyzyyxxyxy{zzzx{yyxyyxxyyzzyyxzyyyxxyyxyyyzzyzzy{yzxyxyxxzzzzy{zzyyyxyzyyzzzzyz{zyyyzyyyyzzzzz{zzyzzyxy{zzz{zyy{zyyyyyyzyyzz{zzz{zyzyzxyzzzyzyzzzyzyyyyyyz{{z{yzyzzzzzyzzzz{z{{z{yyzzz{zzz{zzz{zzyzyzzzyy{zz{zz{zzyyzzyzzz{zz{z{z{zzyzzz{z{{z{zz{zzyzyzzzy{|zzz{{zzzzyz{zzz{{z{{{yzzyyzyzzzzz{||{yzyz{zz{zz{{z{zzzzzyzyxzy{zzz{{{zzzyzzzzzz|zzz{zyzzxyxzyyyzzyzyzyxyxyyzyyzzzzzzzzyyyyyxyyzzyzzzzzyyyxzzxyyzzy{zyzyxzyyzzzz{zzzzzyyzyyyzxzyyyzzyzyxyyyyzyyzzyyzzzzyzyyyzyyyzyzzzzyyyyyyyyyy{zzy{zyyyxyyxyzzyyyzzzyyzxyzzyzzzzzy{zzyzxyyyyz{zyyzyzyzyyyyyyyzzzyzzyyyzxzyzyxyyzz{yzyyzzzyxxyzzyzyz{zyyyyxyyzzzzyz|zxzyyyyzyzyzzzzyzyzzyyzyzy{{yzz{zzyzzzyzy{zzz{z{zyzzzzy{zzz{zzz|z{yyyyzyyzz{y{{{{zyyzzzyy{zz{zz{{yzzzzzzy{zz{z{{z{zyyyyyyzzz{{z{{zyzzzzzz{{z{{{|{zzzzyz{{z{z{{{{|{yyy{zzz{|{{{{{|{yzzyzzzzzzzz|zz{zzz{{yzz{zzz{{|zzzyzzyzzzzz{{{{{zzyzyzz{zzz{{{z{zyyzzzzzyzzzyzzyzyzyyyx{{zzyzyzyyyyyyyyz{{yyyyzyzzzyyxzzzyzzzzzzzzyyyyyyzyzyzzzzyzzyyzzyzzzzz{yzyzyxyyxzzzzz{yzzyzyzyyzy{yzz{zzyyyyyyyz{yyxyzzzzzyyyyyyyzyyzzz{yyyzyyyxzzzzy{{zzyyyyzxyyzyyzzzyzzyyyzyxz{{zyz|zyyyzzyzyzzzyz{zy{zyyyyzyyzyyy{zzyyzyz{zxzy{zzzzy{yzxyxzyzzzzz{yzzyzyxyzxzzyz{z{zyyyyyyzyzzzzz{{{z{yyyyyyzzzyz{zzzyzyyyyzzz{z{z{zzyy{zyzyz{zzzz{{z{zz{yzyz|{zzz{zzz{zzz{zzz{{yzzzzz{zzzzyz{{{z{zz{yyyzzzy{z{{{zz{zy{zzzz{z{|z{z{{{zyzzzzyz{|{z{{{{z{zzzzyz{{|{{|{{zyzyzyzz{z|zzz{{yz{zzyzz{|{z{{{{z{zz{{y{{z{{{zzzzyzyzzyz{z{z{{zxzzy{zyx{z{{{yzzyyyyyxyxxzzzyzz{zyyxyyzyzzzzyzzzzzyzyyxz{y{yzzzzzzzzyy{zzzzzyyzyzyzxxzyyzzz{zz{zzzyzyyyzyzzyy{zzzyyyzyxyzyzy{{{zzyyyyyyzzzzzzzyzyxzyyyyzyzzzxzzzyyyyyyxyzy{yyz{zyyyyyxzx{zz{zyy{yzyzzxyyzzyyzzzzyyyzyxyxyzyyz{z{zyzzzyyyzzz{zzzzzzyzyyzyyzzyzzzz{yxyyyy{zzzyzzz{zyz{xyyyzz{zz{{z{zzzzy{yzyz{zy{zzyzzyyyz{{zzz{{zzzxzyyzz{zz{{{zzzzyyzzzyzzz||{{zyzyzzyzyzzzzz{z{zzyzzyzy{{{{{{zzzy{zzyyy{{z{{{zzzyzzzzz{z{z{z|{{zzzzzzz{{{{|{{{||zzzzzzzzy{z{{{{{zyz{zz{zzz{{{{{z{zz{{zzzzz{|z{|zz{zyzzzy{y{{{z{{{zzzzzyy{z{z{zzzyzyzzyyzzz{zzzzxyyyyzyyxzyyzzzzxyzyzxyyzz{yzzzzzyyyyyzyzyzzzzzzyyzyzyyyyyzyy{{zyyyxxyzxyyzzyzz{zyyxzzyxzzyzyyxyzyyywxyzzzzyzz{yyxyxyyyyyzzzy{zzyxyyyyzyxyzzyzzyyzyyyyxyxyyyzz{zzyzyyxyyzyyyyzzzzyxyyzyxzzyzyyyyyzyxyxyyxzyyyzzzyyyyyyyxyzyz{|zzyyxyzyyyyzzzzzzzyyzyyxyyzzzzy{zzzzzxzzyyzzzzzy{{zyzyzyxz{zzzzz{zyzyyyzyyzzzzzzz{yxyzzyzzzzyzy{zz{zzyzzzzyz{{zz{{zyyzyzzz{zzz|z{{zzz{yyyx{|{zz{x{zyyxyzz{z{zz{{{{z{zzz{zzzz{{{z{y{zz{y{zyz|zzzz{{zzzzzzzzzz{{{zzzzyzzzzzz{zzzz{{{{zzzzz{{{{zz{{z{zzyzyyzyzz{{{{z{z{{zyyyyzzzzzzzzyzzxyxzyyz{zzyyzyxxyyyyzzzzy{zzzyyyzyyyyzyzyzy{zyzzyyyyy{zzyz{zzyz{xyyyyz{zzxyyz{xyxyyzyzyzzyy{zxyzzyzyxyzzyzyzzzyyxxyyyzzyzzyzzyyzyyyxyzyyzzzzzyxxyzyyyyzyyy{zzyyxyyyxyzzzzzzyzzxzyxyxyyzyyzyzzyyyyzyyyyyzyyzzyyzyyzyyyyzzzz{{zyyyyxyyyyyzzyyzzyyyxyxyyzz{yyzzzzyzyyzzzyz{zzz{zyyyyyxyxzzzyzzzyzzzyzyzyyzz{z{y{zyyzzzxzzzzzzzzzyzyzyzzyzzzyzz{zyyzyzzzyzz{{z{zzzyzyzzzxzzzz{z{zzzzzyyyzz{{{zz{zzyzzzzzz{z{zz{{{zyzyz{{zz{zzz{{zzzyz{zzzy{{{z{{{{zz{yzyy{{z{{z{{{yzzz{zyz{zz{z{zzyyzyzzz{zzy{{{{zzzyzyy{z{z{z{{zzyyzyyyyz{z{zzyzyzyyzyyx{zzyzyzzyyyyyyzwyzzxyzzzzyyyyyzzzzzzzzzzzyzxyzyzyyyyy{yyyyyzyyzyzyyyyzyz{zyyyyyxyzzyzxz{yyyyyzyyxyyyz{{zyzxyyyxyyzzzyzyzyyyxxxyyzyyzyzyzyyxyzyyzyz{zzy{yyxxyxyyzyyzyzzzzyyyyyxyzxyzyyzzyzyxxyyyxzyzyyy{zyyyyyyzyyxzzy{zzzyzyyyyyzyz{zz{zzyyyyyyzzyzyzzzzyyyyyxzzyzzyzzzzzyyxyxyyzzzzz{{z{zy{zxyzzz{z{z{zyyyyyzzyyz{zyz{zzzyzzyyy{{zzyzzy{zyzzyyzzz{{{z{zzyyzyyzyyzy{zzz{zz{zyyyzz{{zz{{{zyyyyyzy{zz{z{zz{zzzzzz{zzz{{z{{zzzzyzzz{{z{zz{{{zzzyyzzz{{{zz{{zyzzzzzyz{y{{{z|zy{zzyyzz{z|zz{{z{zyzzzzyzyzzzz{{zyzy{zyzzy{zzz{zzzyyyzyzzzyzzzyyxxxyyxzyzzzyxyyzyyxyzyyyy{zz{zzzyyyxyzyzzyzzyzyzyyzyyzxzzz{yzzzzzzyxyxxyyzz{zy{yzzyyyyyyyzyzyzyzyyyyyyxyzyzyyzyyyyxyyyyzyyzyyz{yxxyyyyyzzzzyyzyzyyyyyyyzzzzz{zzzyzzxyyxyzyyyzyzzyxyyyyxyzyzzyy{yyzxzxzzyzzzzyzyyyzyy{zyzzy{zz{zzyzyyzyyz{yzzyy{zzyyyyzyzzyzyzzzyyyzyzzxzzxyzzzzyzyzyyzzy{zz{zzzzzyyzzyzy{z{yzzzzzyzyyyy{y{z{{zzz{zzzyyy{z{{zzzzzzzyzz{z{z{{zz|zzzzzzzzzzzzzzz{{yyyz{yyyz{zzzz{zzz{yz{zzzz{y{{{{{zzyzzzzzz{{zy{{{y{{yyzzzz{zz{{zzzzzzyyzz{{z{z{zzzz{zy{{{{z{|{{{zzzyyyzz{{{z{yz{zzzzzyzzz{{{yzzzzzzzyyyzzz{yzzzzyyyzxzyxzzzyyzzzzyyyyyyyzyzzzzzzyyyyyzyyzzyzzzyzyxyyyyzyyzy{yzzzzyzzxxzxzzzyzyzyyyyzyyyyyzyxzzzzyzzyyyyxzyyzyzzyyyxyyzyyy{yzzzy{yyyxyyyyyyzyzyzzzzyyyyyzxyzzzzyzyyyyyyxxzyzzyzzzyzzyyyxyyzzzzyyzyyyxzyyyyzyxzzzzyyyyyyyyzyzzzz{yyxzxyyyxzzzyyzzzzzyzyxzzyzzzzy{{zyyzyyyxzzzzzz{zyyzxyyzyyzzzzz{zyyzyyyzyz{zzyzzzzyzzxzzyzzzyzzz{zyyyzyzyz{{{zzz{yzzyzyzzyzzzz{{zyzzzzzyyz{z{zzzzzzzy{zzy{|zz{{z{zyzzzzzy{{{zz{{{{yzzxzy{z|z{{{{{zzzzzyy{zzz{{z|{{zzyzzzz{z{{zzz{zzzzzyyz{zzz{zz{zzzzzzzyzz{z{{{{{yyyzzyy{zzzzz{{zyzyyyyy{{zzzzyyyyxyxzzxyyyyyyyzyyyyyyyyyzyzzyzzyxyyzzyzyyyyzzyyzyzyyyyyyzzzzyzzzyzyyyzx{yzzzzyzyzyxyyzxyzyyyzzyyyyyyyxyzy{yzzyyyxyxyzxyzyyzzzyzyzyyyzyyyzzyyxyzyyyyyyyzyyzyyzzyxyyyxwyyzzzzyzzzzyyyxzzyxzzzyzzzzyzyzyxyyyyzy{zyyyyyzyzyzzyzyzzzzxzyyxyyyyyzyzy{{yzyyzzzzyyyzzz{zxzyxzyzzzxzyz{z{yzyyyzyyzz{{zz{yyyyzzyzyzzyyzzzzzyyyzzyz{zzzzz{{zyzyxzzzzzz{z{zzzzyzzzzyzz{zz{{zyzzzyyyzzzz{z{z{zyzzzy{zzzzzzz{z{{yz{zz{{zz{z{{{zyyyyyzz{z|zz{z{z{zzzzyzzz{zz{|zyzzzzyyzzyz{{{zzzyzzyyzz{yzzz{{zzzyzyzyzzz{zz{{{zyzzyyzzzz|zz{zyzyyyyzyzzzzyzy{zzxyyxyyyzyzzyyyzyyxxxyxzzy{{zz{zyyyyzyyzxzy{yzzzyyyyzyyy{yzyyyzyyxxyyyyyzyzzzy{xyyxxyywyzxyyzzyzyyxxyyxzzyyz{yzzzyxyyxyzyyyyzyzxyxyxyxxxyzyzzyyyyxyxyxyzyyyzyzyzyyyxxxxzzzyzz{{yyyyxyyyyzyyyzy{zyyxyxyyxzyzzzyzyyxxyyyyzyzzy{yyyyyyyyyzzzzzyzyzyzzzyyzy{zzzyzzyzzyyzyyyzyzyzzzzyyyyzxzyyzzzzz{zzyyyzyxxy{zzzzzzzyyyyzzyzzzz{{zzzyyyyyyyzzzzzzz{yyzzzzyz{{z{{zz{yyyzyyyy{{z{zz{{{yzzyyzz{{z{{{zz{zyzzzyzxz{y{|yzzyzzyzzyy{z{{{{{zzzzzz{z{z{zzz{{{yzzzzy{z{z{{z{zzy{yzzz|zyzyzz{{yzyyzzyzzyzzz{{zzzyzzyyxzzz{zyzzyzyyzyyzzyyzyzzyyyyyyyxyzzzzyzzzyyxyzyzxzzzyyzzzzzyxxyzzzyzzzz|zzyzyyyxzzz{zyzzyyzyyyzyxyyz{zzyzyzyzyzyyyzyyzzzyzxzyyzyyyzzyyyyzyyxyzyxyzyyzzzzzyzxyyyyyzzzzyy{zyyyyxxyxzzzzzyzzyx{yxxxyyyz{yzzzzyyyyyyyzyzyzzzzzyyyyxyyzz{yyzz{yyyyzxyzyzzzyzzzzzzxzzyzzzyz{zzzzzzzzyzzyzzzzzzzzyyyyyzzzy{yzzz{zxzyyyzxzzyzy{z{zyzzyzyyy{zzzz{y{xyyzzzzzzzzzz{{{zy|yzzyzz{zzzz{zzzzzzyzz{yzzzz{zzzzzyzx{{{z|zz{zyzzzzyz{{zyz{{zzzzyzzzzzzzzzzzz{{y{zzzzzz{{{{zzzyz{z{zy{{z{{{{{zzzzzyyzzz{z{{{{{zyzzyzz{{z{{z{zzzyyzyyz{zzzz{{|zzyzzzzzz{zzyzzzzyzzzyyyy{yzyzzzyyyxyyyyyyzyzzy{yzyyyyzyzyzzyyzzzyyxyyyyzyyyzzzzzyyzzyzyyyzzyz{zyyyyxyzyzzzzzzy|yyzyyyyyz{zzz{yyzyyyyyzyyyzzyyzyzyzyzyxzyyyzyzzzyyyyyyyyzzzzyzzyxxyyxyyyzyzzzzzyyxzzyyyyzz{zyyzzyyyyyxyyzyyyyzyyyyyzxyyyyzyzyzyzyyzyzzyxyzyzzzyyzyzzzzzyzyzzzy{zyyyyxxyyz{zz{zzzyzyyyyyzzzzzyyzzyyzyzyyyyz{z{zzzyzzyzzyzzz{yz{zzzyyzzzyzyz{yzz{zyzzyzzyzzzz{{z{{zyyyyzxzz{z{x{y{zyzzzyyzzz{z{{{zzzzzyyzy{{{z{{{{zzyzz{{zzzzzzz{{zzzzyz{zz|z|zzzz{zyzyyzzzz{{{{{{zzzyzzyzzzz{z{z{{{zzzzzyzzzz{z{{zyzyzzzyzy{z{{{|zzzyzyzz{{zzyz{zzyyzyyyzzzzzyyzyzyywxxyyyzzzyzyzxxyxzzxyyyzyyyz{zyyyyzzyzyzzyzzzzzyyxyyyzyz{yyzzyzyxxyyyzzyyzzzyyyyyyyyxzyyyyyyzxxzyyzyy{zzyyyzyzyxyyyyyyzyxyzyzyyyyyyyyyyzyyzzxyyxyxzxxzzzyzzzzzzyyxyyyyzy{zz{yyyyyyxyyyyyyyzzzyzyxzyyxyzzzzy{zyyyyyyyyzyzyyzzzzyzyyyyx{zzzyzzzzyzzyyyyzzzzzyyzyyzyxzyyzzyzy{{zzyzyyzzxxyzzzz{zzyyyzyyyyzzzzzzzzzzyyyzzz{zzzyzzzyzxyzyzz{z{zz{{yz{zyyyyz{z{z{zzzyzyzzyyz{zzzzz{zyyzzzzzzz{z{z{{zyz{zzz{z{{z{{{{zyyyz{zyyzzy{z{{{yz{yyyz{zzzzz{{zzyzz{z{zz{zzz{{{zyzzzzyz{{{{zzzzzzyyyzyy{zzzzzzxyzyyyzzyzzzy{zzyxzyyyyyyyzzyyyzxyxyxyyxzyzyyzzzyyyyyxxyzzzyz{zzyyyyzyyy{zzzyzz{yyxyyyyyyyyzyzzzzyyyyyyxzzyzzzzyzyyxyyyxyzzyyzzzzyzxyxyyxyzzzzzyyyyywzyyyyyzzyyzyyzyyxzyyyzyzyyzzyyzy{yzyzzyzyzyyyzyyzyzzzy{zz{z{yxxzxyxyzyyyz{zzyzxyxyxz|yyy{yzzyxxyyyyyz{zzzz{yyyyzyyzzzzyyy{zyzzyyyyzzyzzzz{{yy{yyxzyzz{yz{z{zzzyzzyzyzyyzzzzyzyyyzxyzzzzzzyzyzzzzyyyzz{{z{z{zyzyyzyyz{zzz{z{zzyzyzyzzzz{z{|{zzy{zyzzzzz{{{{z{zzzzyzy{{{z{{{zzzzyzz{z{|y{{{zzzzz{{zzzy{{zz{{z{zzzzzzzz{yyzz{{zyzzzzyzy{zz{{{|{{yyzzyzz{zzz{{{zzyyzyzyzzz{z{{{zzyzyyyyzzzyz{{{{yyyzyyzyz{z{zzyyyzyyzyyyyyyzzzzyyyyyyxxxyzyzyz{xxyyyyzyzyzzzzzzzyzyyyxzzyyzyyz{yzyxxyzyzzzyzyz{yyzyyxzyyzyyz{{yyzzyxyxyyy{yxzyyxyyyxyxyyzzyyyzzyxxxyxyyxzyyz{zyzzyyyyyyzyzyzyzyyxzyxzxyzz{xzzyzyzyzyzyyyyyyzzzzzxxyyyyyyyyzyzzyyyyyyzyyzyzyzzzzzyzyyyzxzzy|z{zzzyzyyyzyzzzyz{zzyxzzzyzyyyzz{z{zzzz{yxyyyzyz{{yzzxzzzzzyzzzzzy{{zyyzzzyz{{{{{{zyzyzz{zzyz{zz{z{zyzzy{yzzyy{z{|{{zzy{zyzyyzz{z{z{zyyzyyyz{{z{{z{{zzzzyz{zzz{z{{z{zzz{yyyyz{zzzz{zzzyyzzzy{z{{{z{{yzzzzzyzz{zz{zyz{zzz{yzzzz{{{{z{yzyzyyyzzzz{zz{zzzyzzyyyyzz{zzzzyyzyyyzyyyy{zzzyyxyxyxyxyyyyzyyzyyyxyxxzzzyzy{zzyzzxy{yyxyxyyyzyyyxyyyzyzyzzyy{zzzzyxzyxzyyzzzzyyxyyyyyyyyyzzzz{zzyzyyyyzzzyz{zzyyyyyzyzyyyzzzzzyyxyzyyxyyxyyz{zzyyzyyyxyy|zzzzyzyyyyxxyzzzyzzzyyxzxyyyxxyzyyyzzyzxyyyzzyzzyyyzzyyyxyyzyzyyz{yzyyzzyzzyyzzzz{{zzzyzzyyyyyz{zyz{zzzyyzxzxzyzzzzzz{zzyyxyzy{yzz{zyyyzyyzyz{zzyyzzzzzyyyyyyzzzzzyyzzzyyyzzy{zz{z{zzzyzyzzyyz|zzyzz{zz{yyzyyz{{zz{zyzyyyz{yyz|z{{z{zzyzzzzzz{zz{z{zz{yzyzzzzz{z{y{zz{zzzyyzy{{zzz{{{{yy{yzzzz{zz|z{{{{z{{yz{zzzzz{{{z{yyyzzzz{yzzz{z{zxzzzyzzy{zzyzzzyzyyzyyyz{zzyxzxyyxxyyxyyzzzzz{yyxyyyxzzyzyz{yzzyxxxzyyyyzzzz{z{yyzyyxyyyzzyyz{yyxyyxzyzyyzy{y{xzyxyyyxyzyyyyzyyyyxyyyyyyzyyzyyyzyxyyyyyxyzzyyzzyyyyxyyxyyy{y{xyyyxyyyzyyyzy{yzyxxxxyyxzzzzyz{zxxxxyyyyyyzyzyzyyyxyyyyyyyyyz{zzzzyyyyyyzzz{y{zzzzyxzxyzyzzzzzzzyy{yyzyyyyyyzzz{yzzyyxyyzzzzyzzzyyyyxxyzz{z{zyzz{yzzyxyxzy{{yzzzzyyyzzyx{z{{{{yzyzyzzyzyzy{z{{zzzzzyyyzyzzzzzz{{zzyyyzyyzz{z{z{z{xyyyzzzz{yzz{{zz{zzzzzz{zz{{|yzzzyzyzyzzz{{z{{{zyzzyzyzz{zzzzz{zzzzzzz{zzzz|{z{{zyyzzyz{z{{z{zzyz{zyy{yy{zzy{{{yzzzzyyyz{yzzzzzyyzyyyzxzz{yyzzyyyxyxyxyy{zzyyzyyyzxzxxyyzzyzyzzzyyyyyyyzyzyzzzzzyyyyzyxyyzzyzzzzyyyxyxyzzzyzyyyxxyzxyyxyz{xyzy{yxyyyyyyyzyyyzzzyyyyyyyyyxzyzzzzxxxyzyyxzyyzyy{zzzyyyyyyyyyzzzyzzzyyxyyyzzxy{yzyyxyyyxyxzyzyyzzyyyyzyyxyzyzyyzzyyzyzzyyyzyzyzy{zyxyxyxyyy{{yyzzz{yzyxxyyzzz{{zz{yyzyxzyy{zz{zzzz{yxyyyyxzzzyzyzzzyyyyyzyzyzyyy{{{yyyyyyzzz{yz{zzzyyyyyzyzz{zyzzzzzyyyzzzz{z|zzy{y{zyzyyyz{{zz|z{yxzzzzyzz{zz{{{z{y{yzzz{zzyzzzz|{yz{zzyyy|z{zz{{{zzzzzzyzzzz{z{zzyzyzzzyyzzz{z{{|yzzzzyzzz{{z{{zzzyyyyyzyzzzz{|zzyyyzyzyzzzzyyzzyyzzzxyyzyzyyyyzyyyyyxxxyzzyyzzyyyxxxyyyzzzzzyzyzyxyyyxxzzzyzzzzzxyxyyyyyzzyzzzzyzyyxyxxyzyyyzyyzyyxyyzyyzzyzyzzyyzyxyyyyzzzzzzzyyzyyyyyyyyzz{zyyyxxxyyxzyyyzzzyyyyyxyyxzzyyyzzzyyyyxyyyyzzyyz{zyyyyyyxxyzyxyzyxyyxxyyxzxxzyzzzzyyyyyyyyyyyzzyzyzyyyzyyzz{yyzzzzyyyyxyyyyzy{yy{{yzzzyyzyyzyz|zzyzyyzzxyyyzyz{{zzzyyzzzyzzzzzz{{zzyyyyyyyzzzy{{{yxyzyyyyzzzzz{{{{yyzzzyzyzyz{z{zzyyyzyyyyzzz{zzzzzyyz{yzyz{z{zz{{zzzzyz{yyz{zz{z{zzzzzyzzyzzzzz{zzyyzzzzy{zz{zzzz{z{zzzy{{yyz{{{|zzyzy{zyz{z{{zy{{zzxz{zzzzzzzzzzzyzzzy{zy{{zyzzzyyzzyyzzy{{yyzzzyyyxxxyyyzzyzyzzzyyyyxyyyzzzzzzzyyxyyyyyyzzzzzzzyyxyyyyyyyyzyyzzyyyxxxyxzzzzyzzzzzyxyzzzzyzyzyyyyyyyyywyzyzyzzyzxyxzyzyxyxyzzzyyyxzyyyzyyyyzzyzz{yyyxyxyzyzyzyzzyyzyyyyzxyzzyzzzyyyyyyxyyzzyyzyzzzyxzyyyzyyyyyzzzyyxyyzxyyzzzzzzzyyyzxzyyzyyz{z{yzzyyyzxzzyy{yzzzyzzzyyxzzzzzzzzzyzyzyyyyz{z{{{zyyxzyzyyzzzzyzzzzzyzzyyyzzzzz{z{zyzzzzzzyzz{z{zzzyzyyyzyzzz{z{{y{zz{zyxxzz{{yz{{{zzzz{zyz{zz{{{zzyzzzzzyzz{{zz{zzzzzzyzyz|z{zzz{zyzz{yyzyzz{z{zzzyyzzz{y{zz{{z{|zyy{zzz{z{yyzzz{zyyyzyzzzzz{zz{zzyzzzyzyz{z|zzyyzyyyyyzyzyzzzzzzyyyxzyyyyzzzzzzzyyxyyxzyzyyzy{zzyyyyzzyyzzzyzzzzzyyyzyxyyy{yzzzyyzyxyyxxzzzyzyyzzyzxyyyyzzzzzzzzyzzxzyyz{zzzz{{yyyzyyzyxzyzzyzzzyzzxyyyyyyyzzyzzzzxyxyxyyyzxzzzzzzzxyyyz{{zzzz|yzzyyzyzyyyzxyyzyzzxyyxyyzyxzzz{zzyyxyzzyzyzzz{zzyyyzyyzzzzzzzyzzyyzyzyyzzz{zzzzyzyzxzzyyyy{yzzzzzzyzzyyzz{yzzyzyzyzzzzyyzzzzzyzz{yzyyyyz{{zzzy{zzzzzzyyzz{{zzz{zyyzzzzz{{{z{z{zzzzzyzzzy{{{z{z{{{yzz{zzyz{zy{{{{{{yzz{zzzzz{zz{z|y{zzz{zz{{{{{{{{yzzzyzz{{z{{{{{{zzzzz{zz{{z{z{{zzzzzzy{zzz{{{{zzyyyyzyzz{{{{z{yzzyzzzzyy{y{z{{zyzzzyzyyzyzzzzzzzyxxyzxxyzzyyzyyyyyyxyyyzyzyzzyzzyxyyxyx{zzzy{zyzzyyxyyyyzyyyyzyyyxyyyyyyy{yy{y{xyyyyyyxyyyyyzzyyyyyzzyyzzzyyzzyyyxyyyyzzyyzyzyzyyyyyxyyyzyzzzzzyyxyyyxyxzzzyzzyxzzyyzxyyyzzzy{zzzyzyxzyyzyyyz{zzyyxyyyyy{zzy{yzyyyyyzyyxyzzzz{yzyzyxyyyzzzyzzzyyyzyyyzyzyzyz{zzzxzxyzxyyz{zzzzzyyyyzyzxzzzz{{{zyyzyyyzyyzzzzy{zzzyyyyyyz{zzzz|{zzzxzzyzy{zzzz{zzzzzzyzzzzyz{{zzyyyzzyzyz{{z{z{{{yyyzyyzzzzzz{{zzzzy{{{zzzz{z{{zzzzyyyzz{|z{{{{{zz{zyyzxzzz{zzzz{yzzyzzzz{z{{{|zzzzzzzyyzzyzz{zzzyzyzzzzzzzzzzz{zzzyxyzyzzz{z{{{zyyyyyyxzzzzzzyyzyyxyyyyyzzyzzzzyyyyxxyyzy{yzzzzyzzyyxyxyzyyzyyzyyyxyyyyyzzzzyyzyxyyyyyxyyzyxyzyyyyyyyyxxzyzzzzyyyyxxzxyyyyyyyzyyyyxyyyyyzzzzzyzxxyyxxxyzzyxyyzzyyyxxzxyzyzwzyzzyyyyyyyxyyzyyyyzyyyxyxyyxyyyyyzyyxyzyyyyxyzyyzyzyyyyxyyyyzzz{zzzyyyzyxyxzz{zzyzzzzzxyyzzzyzzz{zzyyzxyyzzzzzzzzyy{yyyyyyyxy{zzzyzzzxyyyzyzzzzzz{zzy{yyyzyz{zzzzzyyzyyyyzxzzz{zz{zyyyzzyzyz{zzzz{{y{yyzyyzzz{{zzzz{zzyzyyyz{zy{z{zy{zzxzzz{yzzz{{{{zzzzzzyz{{zz{{{{{yzzyy{zzz{zyz{zxyyzyyzzz|zzzz|zzzzzzyzzzz{{{zzzzyyz{yzyzzzzzzzzyzyzxyy{zzzzzzzzzzyxyzyzzzzzyzxyyzyyyxxyzyxzz{zyzxxyyyyz{zyyzz{yyxyyyyxzzzyzzzzzxzyyywxyzzzzy{zzyyyyxyyyzzzzzzzyyzyxyyyyzzyyzzzyxyyyyyyyyyyyyyyzxzyyyxyyyyyyzzzyxyyxxyxyzyzyzyzyyxzyyxxxyzz{zyzxyyyyxyyxyyzzzyyzzyyzxyyyyyyyyzyyyyyyyzyyyxyzyzzyxyyyyxyzzzzzzzzzyyyyyyyzyzzyzzzyyzyyxyxzzzzyzzzzzyyxyzyyz{{yzzzzyyyzyxzzzzzyzyzyyyzzzzzzyzzz{{zyyzzyyyyyzyyzzyzyyyyzyyzzzz{z{y{yxzzzzzy{z{{z{z{zz{yzzzyzy{{zyzzzzzzzzzz{{z{z{z{zzzzyzzy{z{zz{yz{xyzzzyzz{{z{z{zzzzzyzzzzzz{{z{zzyzzyyyyzzyz{z{{z{zyzzy{zzz{zzzzzyzyzzzz{zyzzz{z{zz{zxyxy{zzzzzzyzzyyx{yyyzzyzyyyzyxxyyyxyyz{yyyyxxxyxyzzyzyyzzyyxxxyyxxyzzzyyzzzzyzyyyyzzzzyzzyzyzyyxyyyzyzyzzzyyzyzxxxyzyzyzzyyyyyyyyyyxzxyyzyxxywxyyxzyyzzyzzyxxyxxyzyzyyzzzzyxxyyyxxzzyyyzzyzyyyyyyyyyyyyyz{zyyyyyyyyyyzzzzzzyyyyxyyzyzyzzzzyxzyyyxyyxz{zyzzzyyyxxyzzzzzyz{zzyzzyzyyzzyz{zy{yyyyyyzyyzzzzzy{zzyyyxyyyzzzzzyzzxzzyyyyzz{zzzzzzyzyyyzzzzzzzz{zzyyzzyyzzy{{zyz{yyyzyyzzzzzzyzz{zzzz{yzyzz|yz{zyzyzzyyzy{zzzyz{{{z{yz{zzz{yz{{{{zzzzz{yzy{z{z{{{zy|zzzz{zz{{z{{zzzzy{z{y{zzzz{{zzzzz{zyzz{z{yz{{yzyyzyxzzz{zzz{zzzzyyyzzyz{{zzzzzzyyyyxxyzzz{zyzyxyxxxyyyzyyzyzyyyxxyyyxxyxzzzyzyyxyyxzyyyyyyz{yyzyzyyyyyzy{yxzzyyyxyxyxyzyyzyzyyyyxzyyyxzzyyzzz{zyyyyxyxyyyyyzyyyyxyyyyyyyyyyzzxyxyyxyyzyyyzy{zyxyyyyxyxyyz{zyyyxyyxxxyyzyyyyzyyyyyyyyxxyyyyzzzzyyxyyyxyyyzyzz{yxzxzzyyzzyyyzzzzyyyzyyyyzzzyzyzzxyyyyyyzyzzy{{zyyzyyyyzyyz{zzzyzxzyyxxyyzyzy{z{yzzyyzy{y{zyzyzz{yzyzyyz{zzzzyzzzzzzyyyyzzyzzz{{yyyyyzzzyzz{zz{zyzyyyzxyz{{{zzzzzyzzyyzyz{zz{z{{zyzzxzz{y{z{zz{{zyyzzyzzyz{{{{{{zy{zzzyzy{{{z{zz{zzzyxzz{z{z{z{z|zzzyzzzzy{yzzzzyyxyyyyxzzyzzy{zzzyxyyyz{zzzyy{zzxzyyyyyyyz{zyzyzyyyyyywyzyyxzy{zzyyyyyxyyyzz{zzxxyyxyyyzyyyz{yyyyyyyyyyyyyzyyyzzzxwwyyxzyzyyzzyyyyxxyzyyxyzyzzzzyxxzyyyyyzyxzyyyyyxyyyyxyyyyzzzyyyxyxxxyyyzyyzyyyzyxyyxyyyyzyzyyxyyxxxxyzyzzyzzzyyxyyyxyyzyzzzyzyyxyxxyyzyzzzyyyxyyxyxxyyzyzz{zyzyyzyyyyyzyyzyzzzyyxxzyyzzzzyzzyyyyyxyyyyz{zz{zzzxzyyxxy{zzzzz{yxzzyyyzy{zyzzzzzxyzyyyz{{{{zzyyzyyyzzyzzyyzz{zzyyzyzyyyz{zzzzz{zyyyyyyyz{zzyyy{zzyzzzzyz{{{zzzzzy{yzzzzyzyz{zz{zzyyyz{yz{zzzz{zyzzzxzzyzz{zzzzzzyyzzyyz{zzzzz{zyzzzzyy{{zzz{zz{zyzyyyzyzzyyxzzzzzzzyyyzyzzyyz{zzxyxyxyyzzzzyzyzyyyyyxzyxyyxzzzyyyyxxyyyzzzyyzzzzxyxyyzzyyzyyzzzzyyzyyyyzzyzyzyzyyyyyxyxzyzzyzzzzyzyyyxyyzzxyzyyzyyyyyyxzzyyxzzyyyzxyyxyyzyzyzyyyyyyyyyyzzyyxzyyzyyyyyxyzyzyyzzyyyyyyxyyyyzy{zz{xyyxyyyyyzyyzyyyyxxxyyzyzyyyyzyzzyyyyxxyxzyzzzzzyyyzzxyyyzzzzzzzyyyyzyzyzzzzzzzzyzyyyyyyzzxy{zzzyyzyyyzyyzy{yz{zyxzyyyyyyz{zzyzyyyyzxyyyyyzyyzzzzzzy{yzzyz{{yz{{yy{yzzzyzz{zz{{zzyyyyyzyzz{yz{zz{zyyzyyyzzzz{y{{yyzyyzzzz{zz{z{zzyyyzzzzyz{z{z{|zz{zzzzzzzzzz{z{zzzyyyyzzyz{{zz|zzzzzzzzy{zzzzz{zzzzyyzyy{zzz{{{zyyzyyyxyzyzzyzyzzyzyyyyzzzzzyyzyyxyyxzxwyyzyzyzzyyxxxyxxyyyzy{yyyxwxxxxzxyyyzzxzyxyzzyyzzzzxzzzyyzxxwyyxxzyxzyzyxyyyxzxyyzyxzyzyxyyxzxyyzzzzyyzyxyxyzxxxzyyyyzyyyxxyyxxyzyyyyzyyxzxyxxyyyzyzyyyyyyxxzxyxzyyyyzyxyyyxxyxyxzyyzyyzzxwzyzyyzyyyzyyxxyxyyyxyzyyyzzzyyxzyxyyyzzyyzyzyzzyxxxyyzzyyzy{xyxxyzzzzzzyz{zzyy{yzxzyyzyzzzyzyyyzzyxxzzzzyzzzyyyyyyxyzzzyzzzyyyyyyyzyzzzzyyzzyzyyzyzyy{z{zzz{zyzzyyyxy{{{z{{yzyzzzzzzzzy{zz{zzyyyyzyzzzzz{z|zyyzyzzyzz{{{zz{z{zzzx{zyzzzzzzz{{yyyyzyzz{zzzz{yzzzyzyyzzz{z{z{zzzzyyzzxyzyzzzzzzzzzyyyyyzyzyzzzyyzyyxyzyzzzyzyyxxyxzyyyyzzxyy{zyywxyxyxyyzzzz{zyyxyyzzxyyyzzzz{yyyyxyxzzyz{yzzzyzyyyxyyzyzyzzyyyxyyyyxxyyyyyx{yzyzyyyyyyyzyzyzyyyyxyxyzyyzzyyzyyxxyyyyxzyyzyzzxxxyyxyyyzzyzyzyyxyyyxzyyzzyzzzzzyyzyyxyyyzzyxz{zzyyxyyyxyzyzzzz{yy{xyyyyy{yyyzzzyyyyxyyyzzzyyzz{zzzyzyzyyyzzzyyzzyzzyyzyyyyzzz{zzyzyzxzyy{zzz{zzyyzyxyyxyyzyzzzzyyzyyzzyzz{yzz{zzzyyzyzyzz{|{{zzyyyyyyzyzzzzy{z{zyzyzyyzzy{yzz{zyyzzzyyzz{zzz{{|yzzzyzzzzzyyzz{zyyzyzzyzz{z{z{{{{zzyyyzyzz{z{zzzzzzyzzzzyzz{zz{{zzzzzzz{zzz{{{zz{yyyyzzyy{zyz{zzyzxzxyyxyzzzzzzzyyzyyzyy{yzzzyzzxxyxxxyyz{zzyyzzyyxxyzyzzzyzzzz{yyywyyyxzyyzyzz{{yyxyyyxyzzzyzzzzyyyyyyyyyzyyyzzyzzxyzzxyxyyyz{zzzzxxyxyyyzyzyyyxxyyxyyyzyyzzyzyyyzxxzyyyyzzxxzyyyyyyyxyyyyyzzzzzyzzxyxxyz{yzyzyyyyyxyxxyzzyyzyzyzyxxyyxyyzyzyzzyxyyzzxyyyyzzyzyyyyyyyyyyzzzyz{{zyzyyyyyzzzyyzzzyyyxzzzyzyzzzyzzyxyzyyzyy{zzzzzyzyyyzyzy{zyzyz{yzzyzxzyzzzzyzzzzzyzyzyzzzyzzzzyzxyyzyzzzzzz{zy{zzyzzyzzzy{zyzyz{yyyyzyzyzzyy{zz{zzzyzzz{zzy{{{|z{yyzzzzyz|z{{{|zzz{{zzzzzy|{z{zz|zyzzzy{{{{z{{{{zz{yzzyzz|{yzz|{zzyzzyyzz{yzzz{zzyyzxzyxzzz{yzzzyzzxyxyyzzyyzzyyyyzyxxyxyzyyzyyzzyyxxxxyyz{z{{yzzyxyzyyzy{yz{zzyyzzyyyxyzz{zyzzyyyzxyyzxyyzyyzzzxyxyyyyxyzzzyzyzzyyyyyxxyzyzyyzyxxyxxyyyyxyyyyzyxxxxyxyzyzyyzzzyyyyyyyxxyyzyyyzzxyyzxxwxyyyyyxzzyyyyyyyxxyyxzyyzyzywyyyyyyyzyzzyyyxyyyyxyyyyyyzzyxyyzxyyzzyzzyzzzzyyxyzyzzyyyyy{yyzyyyyyzyyz{yzz{yzzyzzyyzzzyzyzyzzzzyzyyz{yzyzzzzyzyyxyz{zyyzyzzyyyzzyzyzyz|z{yyzyzzzyyzyz{y{{zzzxzyzyyzzzz{zz{zzxzzyzz{{zz{zzzyyzyyzzzzzzy{{z{{zyzyyzzz{z{z{zz{zzyzzzzzzzzzz{zzzyyzyyzzzyz{z{{zzyyzzz{zzz{z{z{yzzyyxzyyzzyyz{{zzzyyyyxz{{z{zzz{yzzyxyyzzzyyyyxyyyyyxyyyzzzyyzzyzyyyxyzzzyyyzyyzyyyyyyxzyyyzzyy{xyyxxyxyyyyyyzzyyyyyyyyyzzyyzzzyxyyyxxxyzyyxyyyxyyxxxxyyyyyxzzyzyyyyzyyzzyyzzyzyxyyxyyxyzyzyyzzyxyyxyxxyyzyzyzzyyyyyyxyyxzyyzz{yyyyyxxxyzzyyzzzyyzyyyxyyzyyxzzzxyzyxxyyyzyzyyyzzyyyyxyyzyzyzy{yyyyyyyzyzzyyyyzzyyzyxyzzyzzzzz{zyyzyyyyyyzyzz{zzxyyzzyyzyzyzyzzyzy{yyyxyzzzyzy{{yzyyyyzzzzz{yz{{zzzzyyzzzzyzzzzzzyy{yyzzyzzz{z{{zyzzzyyyz{zzz{{{zyzzxzzzz{zz{{z{zzzyyyzyyzzz{{|z{y{zzyzzzzzzz{zz{zzyzyyzzzz{{{zzzzzzyzz{z{z{zz{z{z{xyyyzzzz{z{{{zzxzyyyxz{zzzzyyyxyxzyyxzxzzyyxzyxyzyyyxyy{zzzyyyzyyzyyyyzzzy{zzzyyyzyxxyzyzzy{yyxyzyyxxzy{zyyzyyyyyyxyyyyzyzzzzxyzyyyywyzyzyzyzyyyyyxxxzzzxzzyzyyxyyxyyyzyzzyyyyyyyyxyyyyzyzzzxyzyywyyxyyzzzzyzzyzyxyxyyzyzzyzzyyyyzyyyxzyyyzzyyyyyzzyyyzyzyzzzyzyyyzyyy{yyzyyzzyyxzyzxyyzzyyz{yyzzzxzyyyzzzzzzyyyxyyyzyzzzyzzzyyzyzzzzz{zyyyzyzzzzzxyyzzzzzzz{yyyyyzyzzz{{y{zyyyzyzyyzzz{zyz{zyzzzzyzyzzz{zzzzzyzzyyzy{{z{z{{z{yyy{zyy{yz|zzz{yyzyxzzzyyzz{{{{{yz{z{z{z{{{z{{z{zzzzyzz{{{z{{zz{yyyzzxyz{zz{{|{zzzzzzyz{z{z{z{{zyyzxyzyz{y{z{{zzzyzyyyyz{z{zzz{yyyyyyyyzzy{yzyyyyxyyxxyxxyyzyzzyyyxyyyyyyyyzzzzzyyxyyxxyyxyzyzzzyyyzxxyzxyyxyzzzyyxyxyyxy{zzzzyzyzxyyyxyzzyyzzzyyzyxxyzzyyzzzyyxzyyyxyyyyzyzzzzxyyxyyyyyyyyyyyzyyyyxxyyzzyyzyxzyyxxxzyyxyyzyyzzyyyyzyyyyyyyyyyzyxyxzxxyyzyzyzyzyyyyyyyyzyzz{yzzzzyyyyxyyzyyzz{zyyyyyyzxzxzzyyzzyxyzxyyzyyzzzzzzzyyyyxyxzzy{zzzzyzyyyyzzy{zyyz{yzzzyyzyzzzzyzzy{yzzz{yzzzzyyzzzzyyzxyzyzzyz{z{z{{yyzzzyzzzz{zy{zzzzzzyzz{z{zz{zzzyyzzzzyzzzzz{{{zzzzzzyzy{{zz{|{zyzzyyzzzz{z{yzzzxzzzzzzzzyyz{{{zzzyyyyzy{z|z|zzyzyzzyzyzyzyy{zzyzzyyyyxxzzzyzzzzyywyxyyyz{yzzyyzyxyyyyyxyyyyyzzxxyyxxyyyyyzyzzyyyyxyyyyyzyyyyyzxyyyyyyyxxyzyzyyyyyyxxxyzyyyzzyzyyyxyyyyyyyxxyyxyyyxyxxwyyzyyzyyyyyxxyyxxyyyyyyyxxyyyxzwzyyxyyyyxyyyxyxyyyyyyyzyxyzyxxxyxyyyzyyyyxyxyyzyxyyyxyzyyyyyxyxxyzzxzzyzyzzxyyxxyyxzzzyyzyyyyxyyyzzzzyyzyyyyyxyyyzzzyzzzyyyyyyyyzy{zzy{zyyzyyxyxxzzxz{z{zyyyyyyyyzz{yyzzzyzyyyyzyzyzz{yzyxyzzyxzz{zz{zzzyyzzyzzzyyzzyzz{yxyyyyyzzzy{z{zzzyzzyyzyz{zzzzzzyyzzyzzzzzzyyzzzzzy{yzzyz{{{||{zzxzyzzzzzzzzzz{{zyyzzzzyyz{{zzzzzzyyzyyyzzyz{{zzzzzyyzyyzyzyzz{zzyyyyyyyzzzzyzyy{yzzyxzxzyyzzzzyyyzwxxxyyyyyyyzyzywxxyzyyyyyzzzzzyxyyyyxyxzyzzzzyxyxyxyyyyzyyzz{yyzyxyyyzy{yyzy{yyyyyyyyyyyyyyzyyyyxyyxyyyzyyzyyyyxxwyyxzxyyxyzzyzxyyyyxzyyyyyzyyyxxxyyyyxyyzzzyyyxyyyyxyxyzyyzyyzyyyyyxy{yzyyyyyxxxyyyxyzyyyzzzyyzzyyyyzzyzzyzzyyyyzyxzzyzzyyzyzyzyyxyyyzzyyyz{yxyywyxyyzyzzyzyzyzyyyyzyzz{yzzzyxyyyyyyyzzyzzzzyyxzzyzzzzyzzyxzyzyyy{yzyzzyzzzyyyyzzzzzzzyzyzz{zyyyyyzyzz{zyz{yzyyxyyyzz|zyzz{{yzzyyzyyyz{y{{zzzzyzz{yzz{{{zz{{zzzzzzzzz{zzz{{{{zzzzyyzzzzzzzzzzzyzzxzzzzy{z{z{yzyyzzyyzzzzz{zz{yyxyzyxzzyzzzzyzzyyyyzyxyzzyzyzyyxyyxxxy{yyyyzzyxyyyyyyyyyyzzzzyyxxzyyyyyzzzyyzzyxyxyxxyxzyzzzzyyyxxzyxyzyzyzyzxyyxxyzxzzzyyyzyyyxxyyyy{zzyyzyxyyyyyxxyzyzyzzzyyyyyxxxxxyyzyyzyyxyxxxyzxyyyyy{yzyyyyyyyyyyyzzyzxxyyyxxxxyxyyyyyxyxxxyxyyyyzyzxxyyzyzyyzyyxyxzzzyyyzyxyyyzyzzzzzzzyyyxyyzyyzzzzzyyzyyyyxzyzzzy{zyyyyxxzyyyzzzyyyzyzyyzyyyzyzz{zzzyyyyyyzzzzzzyzzyzxyzyy{z{y{{zzzyy{yzzyzzzz{zz{|yzzyyyxy{zzz{z{zyzyyyyyy{{z{zy{zzzyzzzzzzzzzyzzz{zxzyzzz{{{{{zzzzyzyzzyyzzzzzzzyzyz{zyyyzz|z{zz{zzzzzyyzzyz{zzz{zyzzzyzyzzzzzzzzzyyzyyzyzyzzzzyzzyzzyyyxy{yyyzyyyxyxyxyxyyzyyyyzyxyxxxxyyyyyzyzzyywyyyxxzyyxxzzzzxyyyxyxzyzzyyxyyyxyyxxyxxzzyyzyyyywzxwxyyyyxzzyyxyyyxxyyzzzxyzzxyyxyyyyxxxyxyzyzxzyxyxyyzzyyyyyzyyywzxxxzyxyzzyyyxxxyxxyyxyyzyzxxxyxxxyxyzyzzyzxzyxxxxxywyxyzzzyxxyyxxxyyyyzzzyzxyxyyyyyzyyyyyzyxyxxzzyyzyyy{yzyyyzxyxxyyyyyzyyxyyxyxyyyzzzyzzzzxxzyyyyyzzyyyzyzyyyyyxzzzzzxzzzyyyyyzzyzzzzzyzzxzyxzzyyzzzzz{z{zzyzyyxyyyzzzz{zzyyyzyzzyzzzyzz{zyyyzzzzzzzzzzzyzyyzzzzxzzzzz{zzzzyyyyyyzyzyyzzzzyyzzzyzyzzyzyyzzyyyzyyyzzyz{yzzyyzyyzxxzzy{z{{zzzxzyzyyyyzyzyzyyyyyyxyxyyzzyyyywxyxywxxyyyyyyyyyyyyyxxxyy{zzzz{yyxxyyyxzyzz{zzzyzzzyyyzyyzzxyzzyzyyyxyyyzyzyzz{yxxyyyyxyzxyzzyyyxyyxyxxzyyyyyzzxyzxyyxxyyzyzz{zyyxxyyzyyzyy{yyyxxxyyxxyyzzxyzzyyxzyyyyxx{zyyyyzyxyyyxyxyyyzyzxzyyyxyxyyyzwzy{{yzyyxyyyxzzzzyxzzyyxyyyzxzyzzy{{{{yzyyxyyyzzzyzzzzyyyyyzzzzyyyzyzyxyzxyyyyyyzyzzyzxyyyxyyyzzzyz{yxyyyyyyyzz{zzzzzzyyyzyyyzzz{z{zzzzzyzzzzzzzzy{y{zyzyyyyyy{zz{z{y{yyyzzyz{zzz{zzzzy{zzzzyzzz{zzzzzzzyzzz{z{zz{y{zzyzzyxz{zzz{{{{z{yzzyyzzzyzzy{zz{zyzzyyy{{zz{zz{zzzzzyyzyy{zzzz{zyyyyyxzyyzzzz{zzyz{wxzyzzzyzyzzxxxyyyyyyyyyzy{yyzyyxxyyxyzyyzzyzyyxyyxxzyyzyzzyzyyyxxyyyz{yxzzyyzyzxxxyyyzyyzzzyyyyyzyxzyyyzyzzyyyyxxyyxzyyzyzzyyxyyxxyyxzyzzyyyxyyywxxyzyyyyyyxyxyzyxyyxzxzxzyyzyxyxyxyzzyyyzzyxyyxyxwyyyzyyyzzyyyyxxxxzyzxzyyyzyzxyyxxyzzyz{yzwyxyyzyyzzzyzzzyzzyyyxzzyzzzyyzyxyzyzyyyzyyz{zzzyyyxxyyxzzyzyyzyyzyyyyyzzyzzy{zyyyxyxyxyzzyyzyyzyzyzyyyzxzz{zzzzyyxzyzyzyzyyzz{xyyzzyyxzzyyzy{{{yzzyzyz{zzz{z{{zyzyy{zyyz{{{zzzzzyyzyyyzz{{{z{z{yzzzzzzzyzzz{{z{yzyzy{yzyy{z{z|zyyyzyzyzzzzzzzzyyyzxyyzy{zzz{yzzyzzxyzyz{zzzz{zxyyxyxyxzyzzyxzzxyyxyxyxzxzyzzzzzyxyyxzyzzzyzyzzzxyyzyyyzyzyzzyzyxyyyyyyzzyyyzzyyyyxywyxyzzzyzyzzyxyyxyyyzzyzz{yzyyyxyyyzzzyyxzyzyyxxyxxyyyyyyyzxyyyyyyxy{yyyyyyyyxyxyyzzzxyzzyyyxyyyyxyzzzxyyzzzyyxyyyyzzyyz{zzyyyyyxyyyzzyzzzzyyyyzzxy{zzyzz{{yyyyyyyyyyzzyzyzyyxzyyzzy{z{zyz{zyzyxyyxyyzzzz{zzzyzzyzxz{zzz{zyyyzyxyyyyz{zyzzzzyzzzyyz{{{yyzzzzzyyyzzyyz{z{zzzyzzyzyyz{{z{z{{zzzyyyzyy{{{{{zzzzzyyzzzzy{zz{zz|zz{zyzyzzz{{{{zzzyzzzzzyz{zzzz{{zzz{zzyyz{zzzy|{{yyzzyzyyzyzzzz{zzzyyyz{z{yzzzzzyzzyyyyyzzzz{z{{yzxyyyzyz{yzyz{zyyzxzyzxyzzzzyzzvxxyyxyxyy{yxyyyyxyyyxxxzyzyyzzzyyyzyyyzzzyyzy{zyyyxyxxyzyzzxyzzyyxyxyyyyyzzyzyzyyyxyyyyyzyyxzzyzyyyyxyyzzzyzzxxyyxywzyxyyyzyzzyyxyyyyzyzy{yyyzyywxxxxxyyzyzzyyzzyyyyyyzzyyzyyzyzyxzyxyxxyzxyzyxyzyxxxyyxyyyyzzzyxyxzxyyzyzyyyzzxyyyyyzxyzzzzzz{zxyyxyzyzyzzzzzzzyyzxyyyzzzz{{zzyyyyzyyyyzzzz{zzzyyyzyxyzzzyyzzyyyxyyyyyzzyzzyzzzzyyzyyyyyzzzz{zzyzzyyzyzzzzzz{zzzzzyzzyzzzzzzzzzyyyyyyy{zzz{zz{zyzyyzzzzz{zz{zy{zyzzzyyzz{z{{{z{yzzyyzy{zz{z{z{{yy{yzy{yzzyzy|yzy{yzyzzz{zzyzz{yzyyzyxzzzz{zy{zzzyyyyyyy{zzyzzzzxzyyyyzyzzyzyyyyyxyyxywyyyxyxy{zyyxyyyxyyzyyzyzzxyyyzyxyzzzzzzyzyxxyxyxyzyyyxyyzyxyyxxxzxyyy{yyyyyyyyyxyzyzy{yyyyyyxxxyzzyyyy{zyxyxxyyyzxzzyyyyxyyyxxyxyzzyzyzyyxxxxzxxyzywzzzxyyxyxxxxyyyyyyyzyywyyxyyyyzyyyzzyyxyyyxxxyyyyzzzyxyyxyxxyzzzyzzyyyyxzxyyyyyyyyz{yyzyyyyyzyyzyzzyyyyyyyyyyzzyyzzzzxxyyyyyyzzzyzzyzyyyyyyyyyzzzyzyyyyyxyxyz{yz{zyzzyyyyyzyyz{{zzzyzzyzyzyxzyzzzzz{yyzzzyyyzzzyzy{zzyxxzxzyy{{z{zzzzzzxzyzzzy{zz{{{zyzyyyxyy{zzz{{zyyzzyxyyzzz{z{z{{z{z{zyzyyz{zzz{yyyz{yyyzzyzzzzzyzyzzyzyzyzzzyz{{xzyyyyyyzzzyyzzxzyyywxyyzzzy{xyxzxxxyxxxyyyyzzzxyxyxzyyzyyzyzzyyzxxyyywzxzxyzyzyxyyxxyyyzyzyzzzyyxyxyxyyyyzy{zyzyzzyyyyzyzyyyzyyyzyxxxyzzyyyyzzyyzyxyxyyxyyyzyyyxyxxxxyxyzyyzzyyyxyxxxyyxyyyyyyyyzyyzxxyzyxyzyzyyxxyxyxxyyyyyzyyzyzyyyyyyz{yzyzyyyyyyyxzzzyzy{yyyxyyxyyyyyyzzzzzyyxyyyzyyzzzz{zzzxzxyxyyzzzzzx{yzyyyxzzyzyyyzyyzyyyyyyxzzz{zyzzzyyy{yyyy{yyz{{zyzyyyyyyzzyzz|zyyyyyzyyyzzy{zzz{yzzyyyxyzzzz{zyzzyyyzyyyyzzzyz{{zyzyzzzyyzzz{{{{{yyzzyyyzz{{{zzz{zyzzyzzz{zyyzz{zyzyzyyzzzzyz{{zzyyyyzxzzz{z{zzzzyyyzzzyyzzzy{{zzyyyyyyyz{zzzzzzzyyzxyxxyyzyzyyyxxxxxxyyyyyyzzzzzyyxyxxxyyyzyyzyyyxxxyzxyyzyyzzzyzyxyyxxzyzzyyzzzxyxxyyyzyzzyzyyyxyxyxzxxyyzyzyzzxyyxyxzzyzxyzyzxyxxxyxxyyyyyzyyyyyyyxyxzyyzyzyyyyxyyyxyzyyyyzzyzyxwyyxyzzzzyyzzyyyyywyyyzyzyyzxyxxwyyyyyzzyy{zyyyzyyzxyyyxxyzyyyyyzyyyyzxyzzzyzyyyzxyyyzzyzzzyzyyzzxxxyyyzyyyzzzyzyyyyyyyzzzzyzyyyzyyxxyzzyzzyzzyyzyyyyyzzyyzyzzyyxyzyxyzyzzzzzyyzzyyzzyz{{yy{{zyyzxyyyzzyzz{zy{yzxzyzy{zzz|yzzzyxxyz{zzzyz{zzzyyzzyzx{{yzz{{z{{yzzyxzz{z{z{{z{zyyzzzx{z{z{zz{{yzyzyyyyzzzz{zz|zzzyzyyyyyy{zzz{zyyzyzyyzzyzyzzyyxzzyxyyz{yyyy{yyxxxxxzxyzy{zzy{yyyyyxyyyzzzzzzzxyxyyyyyyyyzyzzzzyyyyzxxzyxzyzzzyyyxyyyxyyyyyyzzzxyyxyzxyyyzzzzxzzyyyyyxzyzyxyxyyzyyxyyyxyyyyyyzyyyyxxxyyyyxyyyyyyxyxxwxzz{x{xyzyyyyyyyyyzyzyyyzxxyyyxxywxxyxyyzyyyyxxxyyzyyyyyzyyyyyxyxyzzzyyzzyyyzyyyyy{yyyyzzzyyzyxyzzzyzxz{zyyyyyyyyyyzyzzzyyzzyyxyyzyzzzzzyyzxyyzzyyyzzz{{zzyyyyzyzzz{zzzz{zyyzyxyyzz{zzzzzyzxzzzzyyzz{zz{{zyzzzyzzzzzz{z{zzzzyyxyzzzzz{{{zzzzzzzzzzzzzy{z{zzyxyyyzz{z{zzz{{yzzyyyzzzy{zzzz{yzzzyyyz{z{zz{zzyzzyzxy{zz{zzz{yyyyyyyzyzyzz{zzzzzzyzyyyyz{z{zzyyyzxxyyyyzyzyzyyxxyywxxxzyyyyzzyxyyxyzxxyyxzzzyyxyxyxzyzxyyxyzyyyyyzyxy{yyyyyzyyyzyyxxyyyyzyzxyxxxyxxyxyyzxyyzyxwyyyyxxyzyzyyzyxyxyxyxyyxyyxzzyyyyxwyyyxzyzyxxyyxywxyxyxyyzyyyzyyyyxyxyzyyyyyzzxxyxyxywyyyzxyzzyyyxyyxxyzyyyzzzyyxyzyywxyzzyzzzzyyyyxxyyyzyyyzyzxxyxxzyxyyzyzzzyxyyyyyxzzzyzzzyzyzxyyyxyzyzyzzyzyyyyxyyyzyzxzzzyyxyyxxyzzzyyyyzxyxzzyyzyzzzyzyzyyyyyzzzzyyzzzz{yyyyyxyy{zzy{zzz{yzxyyyxzzyzyz{zzzzyy{yzyzzzy{{z{zzzzzyyyzyzzz{zzxyyxyzyz|y{zzzzzyyxzyzzzzzzzzzzzyyyzyzyzy{{{zz{z{yxxyyyzzzyzzzzzyyxyyzyyzyzyzzzyyuyxxyzzzyyy{zyyyyyyxxyzzyyyyzzyyxyyxyxyyyyyyyyyyzxyyzyzyyyyzzzyzyyyyyyyzyzyy{yyyzxxyyxyxyyzzzyxyyxxxxxyyzxyy{yzyyyyxxyyyzxyzyzyyxxxxxxzyzyyyyzyyyxzyxyyxyyzzzyyyyyxxyyxyzyyyyyyxywxxxwyyzzxyzyzxyyyzxyxyyyyyyyyyyyyyyxxyyyyzyzyyyyxyyyyyyyzyzyyyyyzyyxzzzzyy{zzxyxxxyxzzzzyz{zyyyzyyyyzyyyyzzyyyyyyyyyz{zyyzzzzxyxzyyxzyzzyyzzyzyyyyyyzzzzzzxzzyyyzxyyyyzz{zzzxyzzyyyyzzz{{yzzyyxzyxyy{zz{y{zzzxzyzxzzz{z{{z{zzzzzyz{zzzyzz{zz{zzyyyz{z{yzzz{{zxzzzzzz{zzzzz{zzyyyzzyz{zzzyy{{{yzzz{yyyyyzzzz{zzyzyyyyz{yzz{z{zzyzzyyyy{zy{z{zyyzyxxyxyyyzyyyyxyyxyxxyyzyyzyzyzyxyyxyyyyzyzzzzxzyxyyyxyy{yyyzyyyyyxyyyzzyzyyzzzyxyyxxyzyzzyzzzxyyzyyyxyyzzy{zyyyyyxyyxyzzyzzzyzyzxzyyyyyzzzzyzyxyyyyyxyzyyyxzzyyzxyyxxxzzyy{zyyzyyyyyxyzyyzzzzzxzxzxxxyyzyyzyzzyyyxwyxzzzzzzzyzxyyyzxxyyzyyzyzxyyyyyzyyzz{zyz{zyzyxyyy{zzzzzzzyyzyyyyyyy{yzzzzzyzyzyzyz{{zzz{yyzyxyyyyz{zyyzzzyzzyzxywz{zzzzz{zzzyzzzzzzzz{z{zyzyzzz{y{zzzzz{{zyzyzzzyzzzzz{{zzzyyyyyy{{z{z{z{yz{zzyzzz{zzzzz{|zyyzzzyz{zzzz|{zzzzzzyz{z{zzz{zzyyzzyyzy{{zzyz{{zyzzzzzzyz{z{zzzzzyyzzzzyzy{zzy{zy{yyyzzzzzz{zzzzzzyxyzzz{zzzz{yyyxxxxxxzyzyzyzyxxyyyxxxyy{zyyzzyxyyxzyyyzyzzzzzwyzxyyxyzyzyy{zyxxyyxyyyzyzzzz|yyyxyxyyxzyyyzzyzxyyyyyxyzzyzzzzyxyxxyyyyzyyy{zzxxyxyywyyyzxyyzyyyxyyyxxyyzyyyzyzyyyyyyyyzyyyzzyyxyyzyyyxzyzzzzzyyzyxyxxzzyyzzyzyxyyyyyxyyyzy{yyyyyyxyyyzzzyzzz{zxyyxyyzzzyyyzzzzyyzxxyz{zzyzyzzyyzyzyyyyyyzy{zzyzzyyzyyzzzzyzzzxyzzzyyxzzzzzzzzyzzxyzzyyzzz{zzzyyyyzzyyy{zzz{z{zyyzyyyy{yzzz{yyzzyzzyzyzzz{{z{zzxyzz{zyzyz{{{|{{yzzzzyz{|z{{z{zzyz{yyyzzzz{{{yz{zyzyyyyzzz{zz{zzyzyzzy{yzzzz{zzzyyzyzzyzz{zzzzzzzxyzzzxyy{zzz{zyyzyyxxyzz{{y{xzyxxxxyzyyyyxyzyyyxyxyyxyyz{zyzzyyyxyxxyxzzyzzxzzxyyyyyyyy{yyyzzzyyyxxyxyzyyzyyyyyxyyxxyyyyyyyzyzyxyxyyxxyyzzyzzzzyyxyxyxyyzzyyyyxxyyyxyxyyyyzyzzyyyyxywzyyzyzyyzxyxyxxywyzyyyyzzzyyyyxyxyyzzzzyyyyyxyxxyyyyxzyyxxyzyyyzxyyyy{yz{yxxyxxyxzyyzyzyzxxzyxyyyzz{zyzzzyzyyxzyyyzzyzzzzyyyyyyzyy{yyyzzzzzyzzyyyzzzy{z{zzyy{yyzzzzyyyzzzyzxzyyyzzzy{y{z{xzzyyyzyyzzzzz{{yyyyyyyxzzyzyz{{zzyyzyzyz{zz{z{yyyxyyzzzzzyz{z{{zyyyyzzzz{z{zyzzzy{yzyyzzzz{zzzzzyyyzyzzyy{zyzz{zzyyzxzyz{{z{yyzyzzyyzyyzz{zz{z{yyyyyxyzzzz{zzyyyzzyzzyzzyzyzzzzyyyyyxyxyyyyyyyyzyyyyzxxyyyyyyyzzyyxxzxyyxyyxzyyyyyyxxyyyzzzyzzzyyxxxxyyxyzyyyzzyzyxxxyyyzzyyzyyyyyyxxyxyyyyyyzyxxxyyyyyyyyyzzzzyyxyxzyxxzzxxyzyxyyyyyxyxyzyyyyyxyyywxxzyyxyyzzxyxyxxyyyyxyyyxyyyyxyxyxyyzyyyyzzyxyyyyxxyzyzz{yyxzzxzzxzzzzzzzzzyxzxxxzyzyyzzzzyyyyzyxyyyyzzyyzyzyyyzyyyyzyzyyzzzzyyyyyyzzyzzzzzyzxyyyyyxzzzyzzyzzyxyyyyzzz{zyz{zzzyzyyzzyzzzz{{yzyyxyxyzzyz{zzzzyxyyzyz{zzz{z{{zyxyzzyzy{zyzzzzzzzyyyyyz{zyzzz{zzzyyzxyzzzzz{{zyyyy{yxzzyyzy{zzzyyzyzyyy{{zy{{zzyyyzyyyzyzzzzzzzz{yyzyyyzzzzzyyyy{xzyyyzy{zxzyyyyxxyyyyzyyzyyy{xyzxyxxyyzzyyzzzyxyxxyyyyyyyyzzyyxxyyyxyyzyyxyzyzyxyyxyxzyzyyyyyxyyxzyyyyyyzyzyzxyyyxxzxyyyzzyzyyyyxxyyyyyyyyzyzyyyxxxxxyxyyxyzyyyyzyxyyyyzyyzyzyxyyxyyxyyyy{yzyyyyxyxyxyyyyyzyyzyxyyyxxyzyyz{yzxxyzyyzyyyzzzzzzzxzxzyyyyxzyyyyzyyyyyzyyzyzzzyzzyxyyyxxxyxzzyzzzzxyyzyyyyzzyzzzzyyyyyyyzzzyyxz{zzzyzyyxzyzy{yzyzyyzzzyxzyyzzzzyzyzxyyyyyyzy{zz{{zzzyzzyyzzzy{zzzzzyyyyxyzy{zzy{yzzzyzzyzzz{zzzy{zyyzyzz|yz{{{{{{zyzzzyzzyyy{yyzzzyyzzyyzzzyzzzz{zyzyzzyzz{{zzz{zyyyzyxxyy{y{z{yzzzzxyz{yzzyzyz{zxyzzyyyyzzyyxyyyyyyyzxxyyzyxyxzzzyxyyyyyyyyzzyyywxxyxyzyyyyzyzzzyyyzxyxyyyzzyyyzxyyxxyyyzzyyzyyzyyyxyyyxyyyyyyyxyyyyxyxxyyzzxzyyzxyyxxyyyyzxxyyyyxxyywyyxyyyy{yyyxyxxyxxyzyyzzzzyyyxwyxxyyyzyyzzyzxxxxyxxzyyzyz{yxzxzxxyy{zzyyyyyyyyzxxxyzzxyyzzzxzyyxzyyyyxy{zzyyzxyxyyyzzyyzzzyyyyyyyyyyzzyzzzyxyyyyyyzyyzzzzzyyyxyyyyxzzzz{yzyyyyyyyyyzz{yyzzyzxyxzyxyyzzyzzzyzyyzzyzzyyzzzzzzzxyzyxzyz{zz{zyzyzzzzyy{{zyzzz{zzyyzyzyyzzzzzzzzzzzxyyyzzyzzyz{{yzyzyyyzzzz{z{{zyzyyzyyzzyzz{z{zyyy{yyzzyyz{zzzyzzyzyzxyyz{zz{{zyyyyyyxzyyzyzzyzxyzxxyxzyzzyyyyyyxyxyxyxyzzxyzyxyyxxxxxzxzxy{{zxyyyxyyxyzyxyyzyyzyyyxyxyyyzyzzzyyyyxyxyzyyyzyxzxyyxyxxyyyyxyyyxyyyyyyyyyyzyyyyyzxyyxyyyyyyzzyzzyxxyxyxxyyyzyyyyzxxyyxxxyyzyzyyxxyyxxyyxxxyyzyzyzyyyzyxyyyyxxyyyyxyxyxyyx{yyyyzyyyzxyzxyyyyyyzyyyxyyxxyyyyzyzyyyyyyyzxzxyzyxyyzzyyxxyxyzzzzyyzzyzyyxyxyyyyyyyyyzyyyyyyyyzzzyzz{zzyyzzyyyyyzzyzyzzyyyyyyxz{zzzzzzyzyyzz{yzyzzzzzzxzzyyzyzyzyzyzzzzyzzzyzyzzzzzy{{yzzyyzyzzzzz{zz{zzyzxzyzz{z{zz{{yyzzyyzzyz{yzzzzzyyyzyyzy{zzz{z{zyyyzzyyyyyyzz{|zzxyyyyyy{yzyz{zzyyy{yxyy{zyzzzzyyyyyyyyyzzyzyyyxyyxyxyxxzyxzyzzyyyxxyyxzyzyzzyzyyyyxzxyyyzzzyzzyxxyyyxyxyzyyzyyxyyxxzyyyyyxxyyzxyyyzyxyxzxyyzzyzyxyxywxyzyyyzyyyyyxxyxwxzyyzyzzyxyxyyxxxyyzzyyxyxxyxxxyyy{yyyyzyyyxyxxzyyzyyzy{yyyxxxyyyyyyzyyyyyyxyyyxyzyzxyyzyxyxyxyxyyyyzyzyyyxzyxyyyzz{yyzzyyxyyxzyyzzyyyyyyzyyxzxyyyyzzzyzyzzxyyxxyyzyzyyyzyyzyyxxyzzzzz{zzyyyzyzyzzzzzzzyzzyyzxzyyzzzzzz{yyzyzzyyzzzzzzzzzyyzyzyyzzz{{zyzzyzzzzzzz{zzz{{zzyzzyzz{yzzzz{zz{yzyzzyzy{z{zzz{zyzyzxyz{zzzz{{zzyyyyzyzzzyzz{z{zzzzzzyz{zz{|yzzzzyyyyyzzyzzzzzzyywyxyyyxzyzyzzzyzyxzyzyzyzyzyyyxzxyxxxyxzyyyyyzxyxyxyzxyzxyyyyyyyyxxyxyzzyzzyzxyyxxxxxyyyyxyy{yyyyxxxxxyzzzyyyzyxyxxyyxyyyxyzyyyyyxyxxyzxyzyzzxyyxxxxxxxxyyyyxyyxxyyxyxxyyzyzzyyxyxyyxyxzyyyzzzyxyyxxxxxyyyyyzyyyyyyxxwyyxxyzyzyxxxyxxyyzyyyyzzzxyxzyyyyzzyxzzyzxyyyxyyyyzyyyxzyyzyyyyyyyxzzzyzyyyyxyyxzyzxyyzzyyyzyxyyxyyzyyyyxzyxxxxyyzzyxxzzyyxxyxxyzzzyyyxyyyzxyzyyzyyzzzzyyxyyyyzzyzyzz{yzyzyzyyyxzzyzzyzyzzyyzxyyyzzzzz{yyyzzyyzzzz{zzzz{zyyzxxyzy{{zz{zzzyxxyyzzzyzzzz{zyzxzyzzzyzzyyzzzyzzyzyzyyyzzzzzzyyxxzyzxyzz{zyzyyzzzyxxzyzy{zyzzzzxyzyyyyzzyyyyyyxxyxxyxyyzyzzzzxyxyyxxxzyzyzzyzxyyyyyxyyyyyzzyyyxxyyxxyxyzzxyzyyxyxywxwxyyzyzzyyyyyxyyxxxyyxyyzxyyxxxxxyxyxzyyzxyyyyxxxxyzyyzzzyxxzyxxyyxzyyxzyyyyxyxxxwyyyyyyyxyyywyyxyxzyyzxzyxyyxwyxyzyyyzyzyxxxxxyxxxyxzzyzyyyyyyyxyzzzzy{zyxyxyyyyyzzzyyyzzyzxxyyyyyyzzzzzyyzyxyyyyyyzyzzzyyyyyyyxyyyyzyzyyxyyyxyyyyzzyzzzyyyyyyyxz{zzzzzzyyyyzyyzz{z{yzyzyzyzyyyxyzzzyz{zzyyyyyyxyyzzyzzyzxyyyyyyyzy{{z{zyyyyzzzyyz{z{zz{zzyyyyyzz{{zzz{{zyyzzzzxyzzzzzzyzyyzzzyzyzzzyzz{{yyyyyzyzzzyzzy{yyxyyzyyxzzyyzzyyxyyyyzxy{zzzzzzyyyzxyyyyy{yyzyyzyyxxxyyyyyyzyzzyyxyxxzyyyzyyyzzzzxxyyyyxyyzzzzyxxyyxxyxzzyzy{zzxwxxxyyyzyyzzzzzxyyyyyyxxxyyy{zzxyxyyxzxyzzyz{zzxxyyxywyyy{yzzyzyxxxyyyyyyyyyyy{yzxxyyxzyzzyyyyzyyxyyyyxzyzzzy{zyyyyxxyyzyyyyyxyzyxxyxyxxxxxyyzzyxyzyyyyyyz{zyzzyxzyyxyxyzzyzzzzyyyyxxyxyy{zz{zzyyzyxxzyzyyzzz{zyzxzyxyyyzyyyzyzzxzxyyyyyzzzzzzzyxyzyxyyzzzyyzzzzzyxyyyzzzzzzzy{yyyyxz{yzzz{z{zzzzyzyxyzzzyzz{zzzyzyzyzyz{zzz{{{zyyyzzzzzzz{{z{{zzzzyzzyz{{zz{z{{yzzyyyz{zyzz{{zzyxyzzxz{z{{zzzzzzyyzyyy{zzy{zz{zyyyyzyyzzzyy{zz{zyyzzzxzzzyzy{yyzzyyxzyyyyyxzyyxwxyxyyxyyzzyzzzyyxzyxyxyzxzyyzzyxyyxxyyzzzxyyyyyzywxxxyyzzzyyzzyyyyxyyxyyyyzyzzyxxzyyxyzyyyyyzyyyyxxyxyyzyyyzxzyyyyyyyyxyxyyyyywyyyxxyyxyyzzyyyyyyxyyxyyyzyzzyyyyyyxxyzyzyxyzyzyyyyyzxxyzyyzyyzyyyxyyyyxyyzyyz{yyyzyxwxzzyzyyzyzxyyxxyyyzyyyzzzyyzyyxyyyzxyzyy{xyyyyyyyyzzzzz{zzxyyzxzyzzyyyzyzyzzzyxxyyyzyzz{zyyyzxyyyyzyzyzzyzzyzzxyyzzzzzzz{zzyyzyzxyzx{zzyzzyzyzxyyz{zzz{{zzyzyzyzy{zz{zz{zyyyyyzzzzzz{zzz{{yyzyzyyy{{zzzzzzyzyyzzyzyzzzy{{zyzyzzyzzyzzzzz{zzyyzyyy{zyzz{zzyyzyxyyyzzzzyzzyzyzyxyyxzzzyzy{yzzyyzxzxzzzyyzyzzyyxxxxxxzzyyyyyyyyyyxyxxzy{zzzyzyxxyyyyyyyzzyzzyxyyyzxxyzzyzzzzyyzzxyyxyyzyyyyyyyyyyyyxyyzyyyzyyyzxxyyyyyyxy{yzxyyxyyyyzyyzzzyzxxyx{yxyxyyyzzzzzxxyxyxyyyyyyyzxyyxyyxxyxyzxyy{yxxyxyxyyyxyyxyzyyyzxyyxyyzzyyyzzzyyyyzyyyyzyzy{zzyxxyxyxyzz{zzzyyyzyyyyyzzyyzzzzyyyzyxzyyyyyyzzzyywyyyyxyzzyz{{yyxzyyyyyzyzzyy{yyyyzzyyyzzzyzyyzzyzyyzzyzzyzyzzzyyzxyyzy{zy{zz{{yzyyyyyyz{{zzz|yyxxzyyyy{zyy{{zzzyxzxyzzy{z{zzz{{yyzyy{zz{zyy{{{zxy{yzyyz{{|zzzz{yzyzyyzzzyyz{{{zzyyzyyz{zzzyzzyzxyxyyxzyyzyzzz{yyyyyyxzyzyzzz{yyyyyyxzyzzzzzzxyyyzxyxxxzyzyyy{{yzyzyxyyyyyyzz{zyyyxyyyzzyyy{zzyyxyyxyxxyyzzyyyzzyyzxyzxyyxzyzxyxyyxxyyyyzyzzy{yyyyzyzzyzyyyy{yyyyyxyxxyxxyyyyzyxyxxyxyyyyxyyzzyyyyyyyxyyzzyzzyzyxyxxyxzzyzyyzzyzxyzxyyyyyyxyyzzyyxyyyxyxyyyxzzzyxzyxyxyyyzyzyzzzyyyyxyzyyz{zyyyyyyyyyyzzzyzyzzzyyzxxyywyy{zzy{zzyyyzxyyy{yyzzyyywyxyyyyyzzzyyzzyyzyyzzzzxzzz{zzyyyzyzyyzyzzyzzyzyxzyzzyz{yzzzz{zyzyyzyyzzzzzzzzzyyyzzyyzzz{zzzzzz{yz{zyzzzz{{{zzzzyyzyzz{zz{z{{zyzzzzyz{zzz{zzzzyyyyzyzzyyzyy{{zzzzzyyyzyzz|zzzzyyyzyzzzzzy{{{zzyzyyyzy{zz{zyyzyzzyyyxy{zzzzzzzyyyxxxywyzyyyyzzyyxxxxxyyyyyzy{zzzyxyzyxzyyyzzyzyzyxyyxxyyzzyyyyyyyyyxxxyyzzzyzzxyyxxxyxyzyyyyzyyyyxyxyxyyyyyzyyzyyyxyyxyzxzyzyyyyxzyxyyxyzyyzzyyyyzyxyzxyyyyyyzxyyyxzyxyyzyyyzzyyyyxyyyxyyyyyzyyyyxyxyyzzyzyzzyyyyxyyyxxyzyyyzzyyyyyxyyxzzzyyz{yyyxxzyzyzzyzyzzyyyxyyyzzyz{zxyyzyzyyyxyyyzzzxzzyyyyyzyxzzyzyyzxyyzzyzyyyzyyzzzyzyyyzyyzyzyzzz{zyzyyzyzyzyzzzzz{zyyzzzyyzyzzzy{z{yzyzzzyyz{z{{zzyyyzxzzyzzyzz{zzzyzzzyyyy{zzz{zz{yzzzyzy{y{zzz{zzzyxzzyzyyzzzzzzzzzzzyzzzyy{{{zzzyyyzzzzxzzyzz{zyzzzzyzyzzzzyy{yyzyxyzzxyyyzyyyyzxwxyxyxyyzyyxyyyxxzxyxxxyyyzyyyyxyxxyyyyyzxzzyzxyyzyyxxyzyyyyzyxyyxxxyxyxyyyzyzywxxyxxxyzzyyyxyyxyxxyyyxyzyzyyyyxyyxyxyyyzyxyyzxxxxyyxxyyzyxzyxyyxyyxwyyyyxzyyzyyxyyxyxyyyyyxzyyyxyyxxyxyzyxyzyyyxyyyxywyyyxzzyyxxwxywyyzzyxzzzyyyxxxyyyz{yyzyzyxyyyyyyyyzzxyyyxzyxyxzyyxzzzzzyzyxyyxyxyzyyzyzyxxxyyyyyyzzzzyzyyzyxyyxxzzyzxzyyzyxyyzxyyzy{yzzzxyzyyzzzy{yyz{zzyxyxyyzyzzzzzzzzzzyyyyyyzzzz{zzyyzzyzzyyy{yz{zzzyzzzyyyy{{z{zzzzzyyzyyyzzzyzzz{yzyyyzzyyyzyzzzz|yzzyyzyyyzzy{{z{zzyyyxzyyyzyyzzyyyyzyyyy{yyzzzzxyxzyywyyyzyyyyyyywyyyxxxyzzzyzzyxyxxxxyxyzyyyyzzyyyyyxyxyyxyyyzyyyxxyxxyzyzyyyzzyyyxwxyxzyyyyyxzxyyyxyxxxyyzyxxyyyyywxxwyyzxyxyyzyyxxxyyyyxzyyzzyyyxyxxxyyzyzzyyxyxxxyxxyyzzzzzyzyyywyyxyzzyyyyyxyyyyxyyyzyyxzzyyyywyxyyyzxyyzzzyxxxyyxxzzyyxzzyyyxyyyzxyyyzyyzyzxyyyxyzyzzyyzyyyyyyyyxyyy{zzzzzyyyyyyyyzyyxyzyzyyyxyyyxyzzzyyzxyzyyyxxyyyyyyzz{yyyyyyyzzzy{zzzyyyzzyzyzyzzzz{zzzyyyyyyyzzz{yz{zzyyxzyyyzzzyzzzzzzzyyyyzyzzzzzzyzyzyzyyzy{z{{z{{zyzyyzzyyzz{zz{{zyyzyyyyyzy{yy{zzzyyyzyzzzzyz{zzyyzyzyyyyzzzz{zzzzzzyyzyy{zzyy{yyxyyxxyyzzzyzyzywxyyxxyyyyyyxyzzyxyyyxyyyzzyzyyzzxyxyyyyyzxyzzzyyxzyyyxxyzzyzzzyxxxxyyzyyzxyzzyzyxxyxyxyxyyyzyyzyyxxyxxxzyzyyyyzyyyyxyxyyyyyzyzyxyxyyyyyyxyyxzzyyyxzxyyyxyzzyzzzyyyyxyyxyyyxyxyyyyyyxyyxyyzzzyyzzzyyyxxyzzyzyzyyyyyyyxxxyyyyzyzzxyxyyxyyzyzyyyyyyyyyyxyyyzyzxzzzzyyyxyyy{zzyzzzyzyyxyyzyzz{zz{zyyyyyyzyyzzxzyyzzyyxyyyyyzyzyzzzxzyz{yyyzzzzzzzyzyyyzyyyyyzzzzzzzyyyyyxyyyy{zzz{z{y{yxzzy{z{yzz{zyyzzyzzzzzzz{zzzzy{zyzyyzz{zzz{zyyyyzyyy{{yzy{z{yyyyzyzyzzyzzzzzzzyzzyyy{zyzzzzzyzzyzyyyxzy{zz{zzyyyyyzzyzyzzyzzyxyxxzyxyzzyyyxxyyzxxxyyxzzyyxzzxxyyxyxyxyyzyyzzyyyxyyyyyyyzzzzzyxywyxxxzyxyzyz{xyyxxwyyyyyzzzyyxxyxyzxxxyzyyzyzyyyxyyxyxyzyzzyyyxxxxyxyyxyxyzzyxxxyyxxyyzyyyyyyxyyxxxxxyyzzzzyyyyxyyxyxyzyz{yyyzxyxxyxxyyyyyyxyyxyyyxxxyzyyyzyzyxxzzzyxyyzyzyzyyyyxyyzyyzyzxyzzyyxyyyyyyyzzxzyzyzzyxyyxyxzzyzyzzxzyyyywyzzzzz{yyyyyyxyxyyzzyzzzyyyyzyxyyyzyyzzyzzyzyzzzzyz{yy{zxyyxzyyyyzzzy{{zzzyyzyxxz{zyyyzzyyyyzzyyyzyyzz{zzzzzzzzzzzy{z{zzzzyyyzzyy{{{z{zz{zzzyyyyyyzz{{z{zyyzyyyyzzyzzyz|yyyzyzz{{{zzzz{{yyzxyyyzzzzyzyzzyzyyzzxyz|zzzyzzyyzzzyyxzyyzzxyyyyywxxyxyyzyyyzzxxxyyxyxyzzyyzzzyxxxyxyxyzyxzyzzyyyyyxxxyyxzxxyzyxxxyyyxzyzyyyzyyyyyxwyxyzxzyzyyyyyywzyyyxzxyzyyyyxxxywxxyyzyzyyyyxyxyyyxyxxxzzzyxzxxxxyyyzyzyyzyxyxxyyyzyzzyyyzxyxyzwxyxyyyyzyyzxyyzyyyxyyyzyzzyyzyyzyxyy{zyzyzzyyyxxzxyyyzzyyyyyyyxxyxyyzzzyyzyyyzyyyyzzyyyzzyzyzxyxyyxyzzzzzzyyyzyyyxyyzzyzzyzyyyzyyyyz{yy{zyyyyyzzxyzzz{zyzzxzyyyzzyyzzzzyzzyzzzyyzyzz{yzzzyzzyyzyyy{zzzy{z{{yzyx{zzzyyyzzyyzyzyxzyzyz{z{yzz{zzxzzzzz{{{zyzz{yy{yyyyzzyyzzz{zyyzzzxzzyzyyz{{yzyzy{zyyz{zzz{|zyzyzxzyx{zzyz{zzyyyxxyyyyz{zyyyyyyxyyyyzzzyzzyzyyxyyyyyxxzyyzyzzzyyxyyxyyyzyzyyzyyyyxxyyyyzyyzyzxxxxxyyyxyyyzyzyyyyyyzyyzzyzyyzzyyyyxyxzzzxyzyywyyxxyyyyzyyzxzzyxyxywxyyyzyyyzxxzyxxxyyyyzyzzyzzyzxyyyxyzzzzyyzyyyyyyyxyyyyy{yzyxyyyxyyxzzyyzzzyxyxyyzyyy{yzy{zzyyyzyyxyyyyyyzzxyzzyxxyz{zxy{{zx{yyzyyzyzyy{{zzyzyyyyyyyzyyyzz{yyyyzxyyz{yzyzzzzyzyyyyy{zyzyzzyzzyxzzyyzzzzzz{zzzyyyzzzzzz{zzz{zzzyyzyxzzzzzzzzzzzxzzzz{zzyzz{{zzzyyyzyzyzy|zzz{zzyyzzyz|{zzz{{yzyzzyzy{z{zy|{zzyyzyyyyzzz{zzz{zzxyzyyz{{yz{z{{zyzzyxyxzzzzzzzzzzzyyyzyyzzzzyzzzyzxyzyyzyzyzzyyzyzwxyyxzyxyzzzyyzxyzxyzyzyyzyzzyzyyyyyyyyyyzzzzyyyyyxxyyyyzxzyzyyxxxyyxzyyyy{zzyyyxyxxwyyzyxy{zzyxyyyxyyyzxyzyzyxyyxyyyyxyyyyzyzyyxwxyxyzyzyxzyyyyyxyxyxyzyzzzzyyyyyxxxzyxzyy{yyyyyyxyxyzyzyzyyyxyyxyyxxyyyyzzzxyyyyzyxxz{zyxzyyyyyyyyzyzyxyyzzyyyyyyyxzzzyzzzzxyzyyyyxzyyzzzy{yyyzyzyxyz{yzzyzyyyzyyxxy{zzz{yzzyyyzzyyzzzzyzzyyyzyyzyzzzz{zzyzxzyxzyyyzyzzzz{{yyyzzyyy{zzzzzy{yyzyzyyyz{zzz{zzy{yyyzzzzyzz{zzzzyyyzxyyz{zz{z{{zyzzyzyzzzzzz{{{yzzzzxyzyzzzzz{{zzyyyzzzz{zzzzzzzyzyyyyzzzzzz{zzzz{zyzyzzzzzzzzzyxyyyyyyzyzyzzzzzyxxyxyxyyzzzyyzyxyxyxyxzyzyzzyyxxwxyyyxyyzzyyzyyxxxyyxyyyzyxzyyyyyyxxzxxyzyyyyyzyyyxyyyyyyyxzzyyxyyyyyxyyyyyzyyyyyxxxyzxyyzyyyzyyyyyywxyyzyyyyyxxyyyyxyyyyxzyyyyxxywyxyyyzzyzzzyxxxxyyxyxyzyyyyyyyyyyyyyyyyyyzzzyyyyyxxyzz{yyzzyyyxyzwyyzzyxzzzyzyyyxyyzzzzyzzzxxxzzyyzzyzyzzzyyyyyyxyyyzyzzzzzyyzyyzyxyzzyzzzzyyzyyyyyyyzzzzzyyzyxyyyzzz{zyyzzyzzyxzyyzz{zz{z{{zyyyyyzyzzzzz{z{yzzzyyyzzzzzzyyzyyyz{zy{zzxy{zzzyzyzzyzy{zzz{zz{yzzyzzyzz{zzzzyzyzyzyyyyy{zz{{zzzxyzyyyyzzzzz{{yyyyyxyyyzy{zzz{z{yyyxyyy{yzzzzyyyzxzzzyyzzzyyxzxxyxxyxwxyxxyyyyzxxxxyxyzyyyzyzyxyxyyyxxyyzyyyzyxyyyxxxyyyzzyxzzxzywxyyxyyzyyyzzywyxxxxyzzzyyyyyyyyxyxxxyyzxyxyyyxzyxyxyxyyyyzyxyxxyyyxyyxxzyy{yxyyxyyxxyyyyyyyyyyxyxxywzzzyyzyyyyywxwxxwyyyyyyyzyyxyyyxxyzyy{zyxyxyyyyxyzyyyyzyyyxyyxxyyzyxzyzzyyyzyyxyyyzzyzyyyyxxyyyyyyzyzyyyyyxyyyxyyyzzzzzzxxyzxyyyyyzyzyzyyyyxyxyzyyzz{zzyxyxxyyyyyyyzzzyzxzyyyyyyyzyzzyzzyyyzyyyyyyzzzyz{yyyyzzyzz{zzz{z{yzzyyzzyzzyyz{zz{yyyyyzyzyzzzzzzzyyyzyyzz{zzzzzzzyyyzzyz{zzyzyzzzyy{zzyzzzzy{zzzyzyy{yyyzzyzzzzzzyxzxyyxzzzyz{yzyxxyyyzyyzzyzyyyzzyxyxyxyyzyyzxyyyyxyyxxzzyyyzzyyyxxxyyyyxzyyzzzyyyyyyyyyzyzxxzyyyxxxxyxyyzyxzzyyxyxyxxxyyyxz{{zyzyyyxxyxzyyyzyzxxxyyyyzyyzyyzyzyxyxyzxyyyzzyzzyzxyyxyywyyyzxyyzyzzyxxxxyzxzzyyxxyxxyyxyxyyyyyzzyyyyxyyyyyyyyzyzzyzyxyxxyyyzyyzzzyyyyyzyzzyzzzzzxxyyxyyyzyzyzzyzyzyyyyxyzyzyy{{{yyyyzyyxyzzzy{{yzyyyyyxxzzyyyz{zyyzyzzyyyzzzy{zzzx{yzyyxy{zzzzzzxxzyyzzzyzzzz{{zyzzzyzyyzzz{{zzzzyyyzyzzzzz{{{{|yzyyyzyzzzzyy{{zzzyzyzyzz{{{zzzz{yzyyyzyzzz{{zzzyyyzzyyzzzz{zzz{zzyzzzyyz{zz{zz{yzxyyyyyzzzzzzz{zzzyyz{yzzz{zzzzyy{xzyyx{zzyzzyxyyyyxwyyyyzyyxyzxyyxxxyxzyyyyyzyyyyxyxxwyyyyyzyzyxyyxxyyyzzzyxyzzxzxxyyyxxxyyyyzyyyyywxyxxyyyzyyyxyyxxxyyyyxxzyyyxyxxxyxyxyyzyyyyyxyyxxxxyzyyzyyyyyyyxwyywzxyyyzyyxxxyxxyyyyyyzyyyxyxxyxyzyyzzzzyxyxyxyzyzyxyyyyxxxxyyzxzyzyyyzzyyyyywxxyyzyyyzzyyyyxyyzyyyyyzy{yyyyxyxxzzzzyyyzyxyyyxyyyzyzzzzyyyzxyxxxzyyyzyzzzyyyxxxyzyyzzyxzzyyyyyyyzyzzzyzzxyzyyzzyyzyzzzzzyyyzyyyyzzzyzz{z{xyyyzyyzzyzyz{zzyzyyyzzyyyyy{zyzzyyxyyzz{yzzzzzzyzyyyzyzz{zz{zzzzzyyxzyzzyzyyz{y{xyyyzyzzzzzzzzxyyyyyyyy{zzyz{{zzyyyzyyyzy{yz{zzyzxxxyyyyyyzxyzyxyxxxywyyyyyzyzyxyxyyzxyyzyyzy{yxyxyxxzyyyyzzyyyyyxzxxzzxyzyyzzzyzyyxxxyxzyzy{zxyyxzxyxxyzxzz{yyxywyyxyyzyyxzzyyxyxyxyxxzyxyzyyyyyxyxxxyyzyxyzxxyxxxywxyyyxzzyyyxzyxxxxxyzyyyzyyxyxyxxxxyyzzyzzyxxxzxxyyzyyxyzzyxyyxxxxxyzzyzzzzyyzzxzzyyyzyzzzyzzyyyyyyzyyyzzzyxyyyxxyzzzzzyzzzzzyyxxxyyyyzzyyzwzxxyyxzzyzzz{zzxxyyyxyyzyzzxyzyzyxyzyzyz{{zzzzyyyyyyyzzyzyyzyzyyzzzyyzzz{zz{zyzzyzyxyyy{zz{yz{zyyyxzyzyzyyzz{{{zyyxzyzyyzzyzzzyzzyxxyxzzzzyzz{zxzzyzxzxzz{{z{zzzxzzzyyzzzzyz{zyyzzyyxzyzzzzzzzyzyyyyzyyzyzyzzyzyyyyxyzyyzzyyyxxxxxxxxxyzyzyyzzyyyxyyyyyyyzyzzzyxxxyxxxxyzyyzyyzxyyxxxxxxyxxyzzxzyxxxyxzyyyyzyzyyzxxxyyxyyyyzyyyyywyxxxyyyyxyyyxyyxxywxxyyyxyyzxxyxyxxxyyyyyyzxyyxyxxyxyxyxzyyyzyyyyxxxxyxyyzzzzxwyxxxxxyywyyyzyyxyyyyxyyxyyyyzyyyxxxzxyyyy{zyzyyyxyxyxyzyxxyzyzyyyxxyyyyyzyy{zyyxyyyxxzzyyzzzzzyxyzyyyyyzzzzzyyyyxyyyyyyyyxyzzzyyyyyxyyzyxyzzyyzyyyyyxyzzzzzyyyyxyyyyyzzzzyzzzyyyyyyyyzzyzzy{yzyyzyzyxzyzzzz{yyyzyxzyzzzzz{yzzzyzyzyzyzyyyzz{{zyyzzzyzzzzyzzzyzyyyyxyxyyyyzyzzzyyzyyyyz{{zzzzzzyzyyyyyzzyz{yzzzyxyyyxyzzyzyyzyzyyxyyyyyzyzyyxyxyyxxyxwxzzyyyz{yxyxxxwxyyyzzyzyyyxxyyyxzyyyyzzyxzyyyyxwyyyyyyzzyyxxxyxyxyyyyyyyyxyxyxyxyyxwyyzzywxxywxyyyzyyyyxxyyyxxxxyxyyyyyyyxxxwzywxyyyyzyyxxxyxyvxyzyyyyyxwyyxxyyxyyyzyyzzxxyxzxywxyxyyyyyzzyxyyyxxyxy{zyyyxxxxyxxyyzzxyzzyyxxzxyxyzzyzzyyzzyxxyyyyyzzyz{zxyxyyxxxyyzyzzzzyxyyzyyyyzyzyzyyyyyxyyyxyyzzyz{yxyyzyxxy{zyyzzzzyzxyyyyyyyyzzzyzyzyyxzyyyzzzyzzzyyyzyxyzyyzzzz{{{xyzyyzyzyzyzzzzzyzyyzzyzzzzz{zzzyyyzzyzzzyzzz{{zyzyyyyzyzyzzzzzzyyyyyyyzyzyzyzzyxzxyyxz{{zzzzzzzyzyyyyyyzyyz{yzyyyzyyxyzzyzyyzyzyzyyxxxyzzyzzyzyzyxzxxwyxzzyzyyzyyzyyyxzyyzzyzyyyyxxyyyyyyzzyyzxzxyyyyyyz{yy{zyzyxyxyyxyyyyyzyyxxyyxyyyyyyyyzyyyxzzxyyyyyyyyzzxxyyyyyxyzyyyyyzxxyxyyyxxyxzyyxyyyyyyxxwxyzzzzyyzxyyxxxxxyyyyzy{yxxyyxwxxyzyxyzyyyyzzxxxyxyyzyyzyyyyyyxzxyyyzxyzzzzyxzyyy{yzzzz{zxyyxyxyzyzyzzyzzyzxyxxzzyzzy{zzzzzxxxxyxyyzzy{zzyxyxyyyxzz{zzzzzyyyyxyyyzz{{zzzzzyyyyyyzzy{zyyz{yxzyzyyzzzy{zzzz{yy{yyxxz{zzzzzyyyzyyzyz|zzzzz{zzyzz{yz{zzyzzzzzzzyzyzyyz{zzyzzzzyzzzyzzz{zzzyzzzyyyyyyyzzzz{zzzzyzzzzzzzzzzzyz{zzyyyzzyzyzzzzzzzzyyyyyyzyzzyyzzzxyxzxyzyy{yyzyyyyyyzxxyyz{y{yzzyxxyxyyyyyzyzzyzzyxyyzyyyyyyzzzyyxyxyxyyyyzyxzzzyyyyxxyxyyzyyyzzzzyyzyxxxxyyy{zzyyxyxxxyxyzzxyzyyxzxywyyyyxzyyxzxyxyyxxyxyzyyyzyzyxywyxyyyzyyzzxyyxxxyyxyyxyyyyzyyxyyyywyzyxyzyzyxyyxxyxwzzyzyyzyyyyyzxxxzyzyyyyxyyxzy{yzzyyyzyzzyyzyxzyzyyyz{yyyzxyyyyyzyyzzz{y{zyxyyzzxzyzzzzyyzyyxyxyy{yzzzzxyyyzxyzyzzzyxzzzyyyyyyyzzzzzzzzzxzyyzzzyyzz{zz{zzyyzyyyy{yzzzzz{yyyyzzzz{{yz{z{yzz{yyzzzzzyz{zz{{zyzyzyyyzzzzzzy{yyzxzzy{{{zz{z{{yzzyyyzyzyz{zz{zyyyzyxy{zz{z{z{yzzyzzyyyyzyy{{yzyyyz{xyxyzzzzzzz{zzyyzyz{zzyzyxyyxyyyyxyyyyyyyzyyxyxyxxzzzxyyzyzzxxyyyyyzyzyzzyyyyzxxyxzyzyyyyyyyxxxxyxyyyzyyzzyyyyywyxyyzyyzzzzyyyxyyxyyxzyyyxyxxwyyxwxyzzyyyzxxyxxxyxyyzyyzzzyxxxyyyyzyyyzzyyyxyyxyyyyyzzyyzzxywxyxxyxyyxxyyyyyxwyyzyyyyyzyyzyxyyyyyxzzyzyz{zzzxzyxyyyyzyzzyzyyyzzyyzzzzzyyyyyxzyyyyyyyyzyxzzzyyyyxxxxz{yzzyyyxyzyxxyzzzzyzzzyyyzyyxyyyyzy{{{zzyxzyxyyzzzzz{{yzzyzyzyzyy{z{|{zyyyyzxyzzzzzz{zzyyxzyyzz{yz{z{{zzzyyzzyz{zyz{{|{yyzyzxzy{{|zz{{zzzzxyzzyzz{z{zzzxyzzyyy{zzyyzz{{yyyyyxyzz{z{zzzyzyyyzzzzyyz{zzzy{zyyxyyyzzzzyzzyzzyyzzyzzzyzzzyyxxyyyxxyyzxxyyyyyxywyywzyyyyyyzzxyxwyzyyzzzyyzyyyxyxxxxyyzzyyyyyyyxxyzxyyzyyxyzxyxxxxyxyzyyxzzyzyxyxywyyyyxxyxyyyyxxxxxyxxyyyxzxxxwyxwxxyxyyyzyywwxxywyyyxyyxyzxyyyyxxyxyzyyyzyyxyxyyywyyyyzyyyyywxyxzyxyzyyyzyyyxyxyywyxxyyyyyyxyxyyzxyyzyzxzzyxyzxxyzzzxyyyyzxxyyyxyxyyyyzyzyyyzyzxzyzzyyyzyyyxxxyxxxyzyzyzzzxyxyyyyyz{zzy{zzyyyyyyyyyzzzy{zyyzzyyyyxzxzzzz{{zzzzyxyxzzzyzzzzzyyx{yyxz|zzyzzzyyyyyzzzzzzzyyzzzyyyy{zyz{yyyzzzzzzzzyyyzzzzz{{z{xzyyyx{yy{zzzz{zzyzyyxzzzzzzzz{zyyyyyyyzzyzzzzzzyzyyyzy{zyzyzzyyxywyxxxyyyyzyyyxyzyxyyyzzzyyyzzyxyyxxxyyyyzyzyyyxyyxxyxxxxzzzyyxyyyzxxxyyzzxyyzzyyxxyxxyzyyzyzyxyyyxxyxxyzyyzzxyxxzyyxyyxyxyzzzyyyxxyyxzzyyyyyzyyyyyxxyyyyxyzyxxyxyxyyxxyyxyyyyyxyxwxyyyzyzyyy{yyyyxwxyyxyxyzzyyyxyyxxyxyyzyzyzxxyzyzzxyzyyyyzzyyyyyyyzzzzyyzyyzyyxxxyxzyyyzyzxyzyxyyyyzyzzyyzzxxyyxyyxyy{yzzzyxyyyyyxyyzzzy{{yzyyyyyzzzyzyzzzzzyzzyzyyzz{zzzzyyzyzyyzzyzyz{zzyyyyyyyyyzzzzzzzyzyzzyyyzzzzzzyzzzyxyzyyyz{zz{zz{zyyyzzyzyzzzz{zzyyyzxyyzzzzzzzzy{zyyzyyzzyzzzz{{zzzz{xzxzzyzzy{zxzzxyzyyyzyyzyz{yyzyyyyyyzzz{yzzzyyyxyyxxyyzyFv7!aezzz{{{{{}|{{{}||{z{{{z{{|{{|||||{zz|{{z|{{||{|{|zz{{{z{{||z|{{{|{|zz{{{||{|z|{|{{yzz{{{{|{{{|{|zzzy{zz{{{|{{{|{|{z{{|z{z{z|y{{{z{y{{{zz{{{{{{{{{{zz{{z{|{|z{{z{{zzzzzzz{{{|z{||{{z{zzz{z|{zz{{{|{zzz{z{z{{{{|{|{zzz{{zy{{z{{{|{{zz{{z{z||{z|{{{{y{{{z{{{|{{|{|{{{zzzzz{{{{|z}||z{{{|z|z{|||||||{z{{|{z{{||}z||||{{{zzz{|}}{|||{|{{z{{{{{{||{|{{{|{{{{{||||{|}}{{{z{z{|||||||{|{|{||{{{z{{|||||}|{{{{}||{{||}}{||z{{{|{||||||||}|{{{{||zz{{|}|z|{zz{{||{|{|}|||{|{{|||{{||{{|{}{||{{||z{{|||{{|}{{y|{{{{{|||{z||{{{{{{zy{{|{{|||||z{||}z{{}|||}|{|{z{{{|{{|||||}}||z{{{|{{{||}~|||z}|{{z|||{{z||{{{{{{z|||{{{|||{{{z||{{{{{|||}|z{||zz{{|{||{{|{{{{{zz{z{|||{|{{zyz{zz|{{{{{{|{|||z{{{z|||||||||z|{{|{{{{{{|{||z{zz{{z{z||{{z{|z{|{zzz{{z{{{{}|||{{{{{|{{||||}}{|{|{{|{|{}|{{|||{{{|{{{{{{{|{{||{{{{{{{{{|||}||{|{||{{{{|{|{{|}|{{}{|{{{|}|||{}||zz|{|{z||||}|{}z{||||||||||}||||{{{|{|{|}|||}|}{{|{|{{{||||}|~}|{{{{{||}}{{||}~||{||{||{|}|}|~||{{||||}|}}}||{}|{|||{|||}}}}|||||{|{{|{||}}}|}}}||}||||}}|}|||}}|{||||{|}||||}}||||{{{{|||||}|{{|{{z{zz||||{}||{{{{{z||{||{||{~|||z{{{{{||||{{|{{|{{z|z|{|{|||{}{|z|z{{||}{{{||{{{zzz{z|{{|{{z|{{{{z{|zz|{{{{|{|z{{{{{zzz|{{||{{{{{{z{|{y{z|{{|{{y{{z{z{|||{||{{{{zz{yz{z{||||||{z{z{{zz{|||z|zz{{z{yzz{z{{{|{{{|{{{zzy{|{|z|||{{zz}{|z{|{}{|||{{{{{zz{{|{{{{|{{{{{{z{{{{{{|{{||{z||z{z|||{|||{|{{{{{{{z||{{|{z{z{z{{{{{|}{|{||{{z{{{{z|{{{{|{}{|z{|z{z||{||{||||z|{|{{|{||{||}{{{{{{{{{||{|}}|{{{|||{{{||}{|}|{{{||||{|}|{||}|{{{{{|{{{}||}}|||||||z{{||}|||}|{{z{||{||{|{|}||{||{||{}|{|}{}|}|{z{{{{{{{|||||||{z|{{|{{|||{{|{{{{{{{{z{{||}{||{{{{|{|{||{{}|||{|{{{|{|{|||}||}{|{{|{{{|{{{}}|}|{{||{{{|z}}{z{|{{{|{{|z{{||{||}{{{{{{{{z{{z|}{{{z{{{z{z{{|{{||{{{{z{{{{||{{{|{|z{z{{z{z|{|{{{|z{{{{{zz{{|{{{|||{{{{{zz{||{{|||{{{{z{z{{{|{{{|||{{{z{{{z{|{{|||||{z{{z{z{|{{z{||{z{{{zz{{|||{{|}{{{{|{|{|{{{{|{|z{{{{{|{{{{|||{{{{{z|{{|{{{||{{|{z{{{{{{||}|||}{{z{||||z}{|{||}|{{z{|{{||||{|{|{{|{{{{}||||}{}||{{|||{z|{||{||||}{|||{{{|}{{|}}|{{{|||||{}{|||~|}|}|{||{|||}}}}||||{{{|{|}|{|||||z||{{z|{||||||}|{|{|{{|||{|||{|}|{{z{{{||}}{|||{|{{{{{{|{||||{|{{|z|{{{||z|}|||{{|}{|{{{|}|||}}{|||{{|{||||}}|}{z{z|{{|||z{||}}{{{{{{|{|||{{|{||z|{{{{z|{|}||{|{|{{y|{{||z{|||{|{z|zz{{|||{{||{{{|zz{{z{z|{{{{{{{zzz{{z{|||{|||{{z{{zzz{{{{}||{{|{zzz{z|{|||{|{|{zz|zzz{{{{{|{|{{{{{{{zz|{|||{{y{{{|{z{|{{||{|{|{{{{{{||||{|{{}{|{{{{{zz||{||||{||z|{|||{{{|}|||{{{{z{{{|}{|{{{|{{{{{z{{{||{{|{|{{{z{{{|{{{{}||{||z{||z{||||}|}z{|{|{{{{||}|{|{||||{{{{{{||}|||{{{{{|{{{|||||||||{{{|||{{}||}}||{{|z|{|{}}}{}}}|{|||{|{||||}|{}}z|||zz||}|{}|}||{||{|{|{|{|||}}|||{z|{{||||{|}||{{zz{{{{|{}||||{|{zzz{{|{{{{}|||{{{{}{{|||}||}}{||{|zz{|||{{{|||{|{{||{{||{||~||{|z{{{z|{}}{|||{z{z{|{z{|||{|{|z{|{{{|zz|{{{{|{{z{{z|{{|||{{||{{{{z{{{z{{{{||{|{z{{|z{{||{{{||{|{{z{{{|{{|{||||{{{{{y{z{{}{{||}z{{{{{{{z|{{{|{{{z{z|{{z{{|{{|||{z{|{{|{{{{|{||}{z{z|{|{||||{|||{|{{{{z|{||{|}{||z|{zz|{||||}||}{|||{{||{{||||}||{{z{z{z|||{||||{z|||{{{{||||{|{||{{|{{||||||||||{{{{{|{||||{{|{|{||{z{|||{||}|}|||{{{{|||||||||}|}|{|{{|~|||}|}}{{{{{|{{}||}||}|||||{{|||||}}|||{{{{{|{|||}|||}}|{{||{{{||}}||||{z{||{z{||||||}||{z|{{z{}|{|{{|{zz{{{{{}{||||||||{||{|{|~||{|||{|{|zz{||{||||{|||{{z{|{{|{||{|||||{z{z{||{{z||{|{|{zzzz|{|{{{{{|{{{{|{{{|z{{{|{|{{{{{zz|{|{|{{|{z{z{{{z{{{{{|{{zz|zzzz{{z{y{{{{z{z{zzzz{|z{||{|{zz{z|z{z{{||||{{z|{z{{zz{{||{{{{{{{{{z{{|{{z{{|{z{{{|{{|{||{{{|{{{{{{{zz|z{||{{{|z{{{|z{|||{}{|{{{{z{zz|||{{{||{z|z{z{{{||||}{||{|zz{z{{{||{||{{z{{{|{|{{||{|||{{|{zzz{{{||{}|}{{{{z{{|{|||}}}}||{{{{{{{{}{||{||||{|{{{||||}}}|z{||{{{|}{||||||||{{{{|||||{}|||{{{|{z{|}||||||||{|||{||||{{||}|{|{{z{{{|}}}||||{|{{{{{{{{|||||{{{|{{{{{|{||{z}|{zz{{z{{{{|{z}||}{|{|z{{||||}|||{|{}{|{{}{|{||}{|{|{|{{{|||{||||{{{{|{{{{|{||{|{z{{{zz|z{{{{||||{z}{zz{{{||{{{{{{|{{z{z{||{|{||{{{{{{{{{{{{{{|{|{{{z{{z{||{|{z||{{{{{zz{{{{z||{{z{{z{zy{z{{{|||}{{{zz{{zz{{|||{{{z{{{{{y{|z{z|{{{{|{{{z{{{{||||{|{zz{z{z{|{||{{||z{z{{z{{}{|{||{{||{{z{z|{}{||}||{{{{{z{{||||}||{{{{{{|{|{|{||{{|{{{{z{|{}|{|{}||{|{{{|||{||{|||{{{{||{{{|{|{|}}{{|{zz{{|{|||}|||{{z{|{}|}||||}}||{{{{|{z|{|}}|}}{{{{{|{{||||||}||||{{{{||||{}~}}{{{||||}|{||||||{|||{{|}{z||||||{{z|{{|{|||||}{|{{|{{{{|||||||{{{{{{z{{{|{|{}|~|{||{z{{{||{|{|||{{||{|||||{{||}|||{{{{{|{{|}{{{|z{{z{|{{{|{||{|{|{zz|{z|}||{||{z|{{{{{z{|{{z{||{z{z{|{{z||{{||}{zz{z}{{|{{{||z}{{{zzz{z{{{{|{||{{{{zzy{z||{{{z|{z{z{{yz{{{||{|{{zz{{z{|{{{{{{{}z{{{{{{{{{z{{||{zzz{{{zz{z||||||{z{{{{{|{|{{||{|{zz{{z{{{||{||{{{z{{z{{{{|}{|{||{{z{{{{{z||{|||||z{{{{{{|||||{|{|{{{{{{{|z{z{|{{z{{z{|{{{}{{}|{|{|{|{|{{{|||{}{}|{|{{{{{|}||{{}}|{{{|{|{{||{{||}|{{||||{{|{|||||{|{{{||||||||}{}|||||{|{{||}|}|||{|{||{|||{{{}}~{|{|{{{||{|{|}}|{{{{{zz{{{|||||}|{||{{{z{|{{|||{{{{{z|{|z|{{z}||{}{|||{z{{|||||}||{|{{{{{{{|}||||{{{{{{{{|||||{|{zzz|{z{{||{{{|||z|{z|{z{||{||{|{|{y{z{zz{{|{{|||z{{{z{{z|{{|{{|z{z{z{z{{{|z{{|{zz|{zyzz{|{{|{|{{|{{zyz{{{{{||{||{{zzzyz{|z|}{|{{{{zz{{z{{{z{{{{{{|z{{{{{|{{|{|{{zz|{{{z{{|{|||{{|{{{{{{z{||{{||{{z{zz|{{{{||||{{{{zz{{z{z||||z|{{|{z{{{|{|{{}||z{{{{z{z{{}|{{}{}{{{{{{z{|{|{||{|{{z{z{z{|}{{|}|{{{z|{|||{|{}|}|{{|{z{{{{||}{|}||||{|z{z}||{{|||{|z{{}{{|}{||}}}{|{|{||||}||{||}|||{z{||||{}|||||z{{{{{|{{{{|||||||||{{|{{|{|}|||{|{{{|{{||{|{|{{{z{{{z{{|||{|{{{z{{{z{z|{|||||}||{|{}{z{|{||}|}{|{|{zz{||}{{|}||{{z{|{z}||{|{}|{{{{|{{{{z|{{|}{|{{zzz|zz|||{|||{||{{{zz{|{{{{{{{{{{{zz{{{{z{{z{zz{zzz{z{{{{z{{|zzz{z{zz{|z{|{|{{zzz{{{{zz{{|{|{z{{{zzzzz{{{{z{{z{{z{z{z{zzz{{||{{{z{z{zzz{|z|||{{z{{|z{z{z{||||{|{z{zz{}{|||{{|{{{{{{z|{{{|{|{|zz|{{zzz{|{{{{|||{{{{{{{{|||}{|{{{{{z{z{{|||{{||{{{|{z{{z|{||{{||||{{zzz{||}||||{{{{{{|{{||{{{{|z|{{{|z{|}{{||}{{{{{{{{{{||||||||{{z||{{{}|{}|}}{{{{|{||{||}||}||{||||z|{}{{{}|||{z{z{{{||{|||~||{{|||{{{|{}||||{{{{{{{{z|{{{||{|{z|z{{{{{{{{{||{{{y{z{{|{|z{}||{|{||{}||}}}||||||{{{{|||||||||}|{{z{{||||{||}}}{z|z{||z{|}||}||||{zz{{{{||{|{|{{z{zz{|{{|{|{||{|{z{{z{y{{zz{||{{{{{|z{{{{{|{{||{|z{{z{y{|{{{{||{{|zzzz{z{{||||{z{{{zzz|{z|{{|{|{z{{z{z{{{{{{z|{|{z{{zz{z||{{|||zz{z{|zz|{{{{z{{{zz{|{|{|{{{|||||{{{{{{{||{{z{||{{z{|{{{{{{|{{{{{z{{{zzz|{||}{{|{z|{{{|{{{|{{{}{{{|{{{{{|{{{{|||{|{{{{{|||||||||{{{{{{{|||{||}|||{||{{{{{}||{|||{z|{{|{{|||{||{|{{|{|||{{||||}}|{{|{{{||{}||}}}}|{|||{|{{{|||}}||{{{{z{{|{|{|}|}{||}|{{||{{}{|{||{{zz|||}}||||||{|{|{{{z{{|{{{|{{{{z{{{{|{|z{{|}{|{||{{|{}|}|||{{||{{{{||||}||}||{|{{|{{||||}||||z|{{z{{|{|||{{{|{{z{z{z{|{}{|||{z|zz{{{|{||{{|{{{{zzz{{{{|{{{{|{zzz{{z{{{|{{|{|{{{|{zz|{{|{z|}{{z{{z{z{||{||||{|{|{zz{z{{|{{{||{{z{zz{{{{|{{{|z{z|{{z{{|{{{|{|{{|{z{{{{z|{||{}{{z{{{{|{|{{{|||{{{{{{{|{|{{{{|||{{|z{z|z||{||||{|{{{z{{{|}{||{|{{{{{|||{{{||{{|{}z{{{{|z|z|{|{|||{||{{{{|||}|}}}{{|{{||{||||||}}|{{{z{zz|}|{{|}|{{{{|{{{||}{}|}|{|||{|||||||}}||||{|||{|{||||{}~}{|}{{|{{{}}|}}}}|{{|{|{||}{}||{|||{|{{{||}{}|}|{||z{z{{|{|{||||{|z{|{{{||||{{}{{{|{{z{z{||{{}|}|{|||{|{}|}}|||}||{{|{||||||}||}|{{{{|}z|||{|||}|{|{{z{|{|{{{|||{|{z{{{z{{{|||{{{z{{{{{{{{|{{|}|{{{z{{{{|{||||{z{zzz{{{{{z{|||||z{zz{{{z{z{z|||z{{{zz{{z{|||||||{z{{{{{{|||{{|||{{{{z{z{{||{{|}{|zz{{{|z{{{{{{{|{{{{{{{{{||{{|}{{{{{{{|y{|||{{|}{|{{{z{{{{{{||{{{{{zz{{{{|||{|}|{{{|{zzz||{|{|{{{|{z{|z{|{||{{{||{{{z|{{|||{|||||{{{|z{|{{||{|||{{z{{{{|||{||{}|{z{{{zz{|}}}{|}{}{|{{{||{|}}{}|}||{{z|}{|{|||}|}|{{{{||{|}{}}|}}|z||}|{z{||||}|||{{|||{{||||||}~{{{||{{{|||}||}}{|{z{{{|||||||||{{{z{zz{{|{|{|||{{{{{{zz{{|{{~{}|||{|{{{{}||||}}{|}|z||{|}||||{}|||{{{|z|{{|{||{zz{{{{{{{{}|}||||{{{z{z{|{||{|{{}{{{z{{z{{}|{||{{|{z{zz{|{|{{{||{{|z{{{z{|{{{{{|{{z{{zz{z{{{{|{{{z{{z{z{|||{|{|{z{{{z{{zz{{{{||{{{{zzzzzz{{{{{{|}{zy{{z{z{|||{{{|z{z{{{{|||||{{{{{{{{{{z{{{|}|{{{{{{{z{z{z|{{|||zz{zz{|z{||{{{{|||{{{z{{{||{{{{}zz{|{{z{{{}|{{|{{{|{{{{||||{{|||z{{{{|z{{{||||||{{{||{{|{}|{||}|{z{||z{{}||}|{}{|{z{{z{{||}|{||}{{{{{{|{||||{z||||{{||{z|}}||}|}|{{{{{{{|||}{||}||{{{{z|||||{|}}{{|{|{|{}|||}|||||{{{|||{||||{||{{{{{z{{|{{||{{{{{|{zz{z|{|{{}}}|{|||{|||||{{|||||{}{{{z{}}{}|||||{{{{{{||{{{{}|{z{{{|{{{|||{||{{{{z{z{{||}{{|{|z{|{|z{zz{{{{{}|{{{{{{{{{|{{{{|{{{{{|{{z|{{{{{{{{{{zz{y{z{z{z{|{{{{zz{z{{{|zz|||{zzzz|{{z|||{{{z{{|z{{{z{|{{{{|{z{{z{{zzz{|{z|||{{zz{{zzz{{|zz{{z{{z{{|{{|{{||{|{{{z{y{{|{{|{{{|z{{zzzz{{{}|||{||{z||z{{|{{{{{|{{{{{{|{{|z{{{{||{{zz{zz{{|{{z||{{{{{z|z{}{{{}|}{{{{{{{{{{|}|{||{|{z|zz{{|}||||}||{z{{{{{{|{{|{||{{{||{{{||{{|||}|{{|{|{|{||{||||{z||{z{{||{|||{|{{z||{||||||}{{||{|{{{|{|{|||~}|{{{{{|{{{|{{{|{|{{{{{z{{||||{{{{zz|{zz{z{{|{{{}}}}{|{{||{|||}{}||{|{{{{{||||{|}||{{z{{z|||||}|}||z{|{{z{|{{}||}||{|{zz{z{{|{|}{{{z|{|z{z{|{{{|{z|{z{|y{z{{|{{|{{{{{{z{z{{z||{{z{{zz{y{|{{z{|{{|{{{z{z{z{{{{{|{{|{|{zzzy{|{{z||{|{{zz{{{z{||z{{||z{{{zzzzz{|z{|||z|z{{{zz{{{{{{|{{{{{|z{|{{|{{|{{z{{{zz{{{{{{|||||z{{zz{z||{{z|{|z{{{{z{{{|z{||{{{||{{{{z{{||{||{{z{{z{zz|{{{{{|||{z{{zz{||||{{||{{||{|{{{{{|{||||{|z{{y{{|}||||{{|{{{|z{}{|{|||||{|{{{||||||}}||||{|{{{{{||||||}|{{|z{|{|}}|{{}}|zz|{{{|{||{}||{{{{{{|{{||{}|||}{|{z{{{zz|{{||||{{{|z{zz{{|{{|{{{{{{{z{z{{{{|}{}}|{|||||{}}|||}}|{{{{{{{{{||||}|{{|z||||{||{||||{{{|{{{{||z|z||{{{{|{{{{|{{{{{{|{z|zz{|z{||y{|{{{z|zzz{z|{z{{|{{|{{{{{z{{{{{{{{{{{zzzz{z{{{z{{{{{yzzyzzz{{|{{{|{z|{{z{{{|{{|{}|{zz{{{z{zyz{{z||{zz{y{zz{z{z{{{||zzzz{{{zz{z|z|{|{{z{|zz{{|}{{|{|zz|z{z{{|{{{|{|||{z|{z|{{|{{||{|z{{{{z{{{||{||{|{y{z{z{{{{{||{{|{{|{{zz{{{|{{|||{{z|||{{}{|}}|||{{{{{{|{|{{||}|||z{{{{{z|}||{||}{z{z{|z{|{|{|||{{{||{{|{|||||||{|{{{z||||}|}||}|}|{|{{{{|}||{|{|}{{|{|{{{|{|}|||{{{{|{{|{{}|||}|{{|zz{|{{|{|{||{z{{{{z{z{|||||||{z{{{{{{|{|z{~}|}}~}}{{{|}|{}|}}|{{|{{{|}{}{|}|}|z{{{|zz||{{|||||{|{z{{{||{{{{{{{z||{{{z|{{|{|{{{{{{zz{zz{|{{||{{zz{z{{z{{{z{{{{{{zzzzzz{{{z{{|{{z{z{z{z{|{z{{{{{{{z{zz{{z{z||{z{{{zyzzzz{z||{{|{zz{{{{zz{{z{{{{|z{zyzz{{|{{{||zzz|zz{zz|{|z{{{z{{{{|zz{{{|{{|z||z{{zz{z{|{{{|{{z{{z{{{{{{{|{{||{z{{{{{z{|{{{|{{{{z{zz|{|{{{||||{{z{z{{z{||{{{|{{{{zzzz{|{|{{{|{{{|{{{{||{{}{{|{{z{|{z{{{||||||||{z{{{{|{|{|{||}|{{|{||{{}|||}|||{{z{|{{|||||}|}|{{{{{z{|{||}|||{z{{{{{{|}|{||||{{}{|{z|||{||{{|z|{{{{{z|{|{z{{||z|z{z{{{{||{{z{|{{zzz{z{z{||}|~}|{||}|{}||{}|}~}||||{{{{||{{|}}||{{{|{{|||{|}||}{{z{{y{{{{{|{{|{{{z{{{z{{{{|}||{||zz{{z{{|z{{}|zzz{{zz{{z{{|||z{{{{z{{z{z{z{{{{{z{z{zzyyzz|{{{{{{z{zz{{{|{{{{z{z{|z{z{z{|{{{{|{{z{{{zzz{{{{{|z|{{{z{{zzy{{{{|{{{z{zzzzzz{{|||||{{{{{z{{|{{{{||{{{{{zzz{{{{{{{{|{{|{|zz{z|{|{||{{{{z{z{{{{{|{{||zz{zzzzz{|{|}{}|{{z{{zzz|{{||||{|{{{zz{{|||{{||||{{z{{{{{{|||||}{zz{{|z{|{|{|{|||{{{{|||}{{|{}|{|{|{{{{{||{{{||||{{|{|{|{|||{|{}|{{{{{{{|||{{||{{{|{{{{{||}}||||{{|{{|z{|||{}|}|{{{zz{{z|{|{|||||{{{|{{z|||{|{{{|z{{zzz{{{{z|}|~|}|||||{|}|}}||}{||||{|{|{{||}}{|{{|||{|{{|||}||{|zz{z{|{|{||||{{{|zzz{zz{||z{|{zzz{{z{yz}|z{{{z{zzz{zzy{{|{|||||zzzz{zzz{{{z{{{{z{zzzz{{{{{z|||{z{z{{{{|z{|{|{|{z}zz{{y{{{{}{{|{{{{z{zy{{zz{{{{{{zzzzz{z{{|z}||{z|zz{{z{|z{{{|||{{z{zyz{{|zz{{|{{{{{y{{{z|{{|||{z{|z{{{{{{{{{|}|{z{|{{{{|z{|{{{z{{{{{{{{|||{|{{{{{z{{{{{|||{{{{{|{z{{{|||{|||{|{|z{{|z{{||{z|{|{z{{z|z{|{|||||||{{{{{||{||z{|||{z{{|{||{||||||}||{{{{||||}|{|||||{|{z{{||}|||{{z{z{||{||{|{}|}||{{z{||z|{|{|{{}{|{z{{{|{|||zz|||{{{{z{{{{{{|{{{{z{|zz|{{{{{|~|}|}|~|||{|}|}|~}}||||{z|{||}}|}}}}|{z{{{|{|{|||}||||{|{z{||{{{||}|{{{|z{{{|||{}{|z{{{z{{{z{|{{||{|{z||{{{|{|{{}{|{{{zzzzz{{|{{|{{{z{z{zzzzz{z{{{{{{{zzzz{{{{|{|{{{z{yz{{{{||z|{|{{z{{{{z{{{{{{{|{{{{{{z{{{|{{{|||{z{{{{z{{{||||||{z|{|{{{{{{|{||{{{|{{{{||||{{{||{{{z{z{z||{||||}|{{{|z{{{|||{}{{|{{z{{{{{|||||}{{{{{{zz|||{{|{|||{{{|{{{{|||}|||{{z{{{{||{|||{z|{{|{{z|{|||}|||{|{{||{|{|}||{|}||{{{||||{||}}||}|{|{{{{{||}|}}|}{{{|{{{{|}|{||||{{{|||{|}||||{}}{{{||{{|{|||||||||{{{z{{|}{|{{}||{{zz{{{||{{||||{{{|{z{{{zz|{}}~~}||{}{z|}}~|{|}}z|{|}|||||}|}}}|{z{||{z|||||}{|{{{||zz|||{}{{|||{|{{|{z|}{{||{||{{{{{z|z{{|{|{||z{z|zy|{z|{zz{|{|z{z{{zz|z{|{||{{{z{z{{{{|{{||{{z{{zzzz|{{{{z{{{{{{zzz{{{|{z{||{{{|{z{z{|{{{|{|{{|{z{zz{|{|{|||{z|{z{zz{{{{{||{{{zzz{{{{{{{{|}}{{z{{zz{|{||||||{{z|{{zz{|{|z{}||{||{||{{{||||{||{{zzz{|{||||{||{{{{{||{|||{{{|{||z||{{z{|{|||}|{|{{{{{{|{{|||{}||||zz{{|||}{}}|{|{||{{|||}{||||{{{|{}|{|}|}{||}|||{{||{{}||{}||{{{||z{{{|{||{|||{{{|{z|{|{}|||}||{z|{|{||{|{|||{{}z{||{{|}||||{{|z|{|z{{{|||{|{{z{{{z{{|{|}|~~~}}|}|||{}}}}||}}}||{|{||}||}}|}}|||{||{{{|{{|||}|||{|{z||||{{|||{|{|z|{||||z|{||{|{|{{z{||{|{|}|{{{z{zz{|{|||||{{z{{zz{{|{{|{|{{zz{z{{zz{z{{z|}|{z{{{|z|{{{||{{||{{{z{z{||{|{||{{{{|z{{{{|{{{{{{zz{{{{|z{{{|{{{|{{{z{|{{{z|{{|}|{{{{zz{|{||||{||{{z{zzzz{{{|{{||{{{{|z{{{|||||||{|||||{z|||{|{|{|{{{{z|z||||{{||{|z{{{{{{}{|{|{||{{{||{|||}||||}|{{|{|z||{|||{}|{|{{{{zz}}||}}|{||z{{||{}|||{||}{|{{|{{|||{|||||}|{|{{{||||{}}|}|{{|{{|{||||}|}|{{{|{{{|||||{}}}|||{||{{||||||||||{{{{{||}}|{|}}|{{{{{|{|}||{||{{{{{|{{{{||||~}}}}}}}{~{}}~}||}}|{|{{{||{|{||}|}}{{{|{{z|}|{|||{{{|{{{{{{|{|{|||{z{{zzzz{|||||{|{{|zz{zz|{{{|{|||{z{zzzz{{{{{|}||z{z{|{y|{||{|{|{zzz{zzz{|{{{|{{{{{{zzzz{z{{|{{{zz{zz{{{{z{{|{|}z{{z{{yz{{{{{|{|{z{zzzz{{|{{{|{{|{zz{{zz||{|z{|{|zz{zy{{{|{{{{}{z{{|zy{{{{|||{||{{zz{zz{|{||z{{|{z|{{z|z{}{{||||{z{z|{{{{{|{|||{{{{{{{zz{{|{{||z|{{z{{{{|{{|{||}{{{}{{|z}{{|{||||{{{{z|{|{||||{{}{{{{{{{|z||{|||{{{{{|{{{|{|{|||{|z|z{{{{}|||||}||||{{{{}{|||}|||{{{{{|{{{{|{{}||{|{{|{{}||{|{{||{{{{{|z{|{|||}|{{{zz{|{{|||{||{{{{{zz{z{|{{|~|}~|~}||}{|}~}}}|~|}|||}{|||}}}{{|{{z|||{|||}|}|{}{{{{{{|z{|||{|||{{|{z{{{|{{{{{{||z|{{{|zz{{|z{|{{{{{z{{z{{{{|}||{{zzz|{z{{z{{{||{z{{{zz{{{{z{{|{{{z{{z|{|||{|{||{{{{{{{z{||{z{|{zzz{zz{{{|{{|{{z{z{{{zzz{{|{{|}|{{{z{{zz|||z{|{{{z{{|{z{{}||{{||{{z|zz{{{|z|{{|||||z{z{{||||{|||{|{{{z|z{|||||{|{{{{z{{{{|}|{|}|||z{{{z{{|{||||{{{{|{|z{{|{{{~|}z{zz{{{|{|||||}{{|{{{|z{{|}||||{}{||{{{|}~||}{}|{||{z{||{}{||||||{{{{}{{{}}|}}|||z|||{{|||||||||}{{{{|{|{|}|{||||{|||{{||||}|||||{{{{{{{||{|||}|{|{{z{z{{}||{|||{{{{|{zzz{||{~|~}}}}}|}{|~||||}}}}|||{|{|}|}{}|}|||{{{|{{{{||||||{{|{{{{{||{{|{||{z{{zzz{{{|z|{|{{{z{z{{{|||z{|||{{{z{{z{||{{{{{{{z|{{{{{|z{{|{{{{{{{z{z|{|||{|zz{zzz{{{z{|{{||}z{z{z{{z{|{{{{{|{{{{zzz{{{{{z||{|{{z{{{{{|{z|{{{z{{{{z{z}|{||}{{{z{{{{{{|{||{}{|{{||zz{{{{{{{{{{z{z{{{{{{|z{|~}{{z{{|zzz{{{|{|{{|{{{|{z{||{{{{|{{{{{|{{{|||{{|||{{z{{{{{{|||||||z{{z|{||{{{||||{|z{|{z{||||{{||||{{{|{|{||}}|{}|{{|{{{{{|||}{|||}{{|{{{{||||||}}}{{|{{{|{||}|||{|z{{||z||||}{||}|||||{{||}|}||{}||}{{{|{{{||{{||||{z{z|{||{|||{|{{zzyzzz|{|{{~}~~|~}}||{|}}}~}}~z|{||z{|||{}||}}|{{{{{{{|||||{|{}{{{{{{{{{{{{||}|{z{{|z{|{{{|}z||zz{{|zz{{{zz|z{|{{|{zz{{|{{{{z{{z|z{{{{z{z|{{|{{{zzzzz{{|{{{|{{{{{zzzzz{{{{{{|{{z{zzzzzz{{z|{||{zy{{|zz{{{{{{|}{||z{zz{z{z{||{|zz{{zz|z{{z|{{|{{{{z{{{z{||{|{||{z{{{z{{{{|z|||{z{{zzzz{||{{|{||{{{|{zz{{|{|{||{{z{{{zyz{|{{{{||{{{{{{z{z{|{z|||{{{{|z|z||{|||{|z{{zz||{{|{||}||{{{{{{{{{|{|||||||||{{{{||{|||{|{|{{z{|{{||||||{|{{{{|{|{}|{|}||}{{{{z{{|{{}|||}{{|{{{z|||||||}||}{{{{z||{||||{|{{{{{{z{|{{{|{|}|{z{z{{{{{|||{|{{{{zz{|{{|{{z}~|~|||}}~}}}|}}}}||||}|{||||||}|||||{{{z{||{||{|{{{{{{{z|{||{{{{|{{|{{{z|{{|{{||{{|z{z{z|{||{|{{{{{{{{{{|||{{|{{|z{{{{{zz{{{{|z|{{zz{z{{z{{{{||{{z{{z{z{|||{|{|{{{z|y{{{{{{{||{{|zzz{z{z{{{{|zz}{zz{|z{z{{{|{{||zz{{{|{zz|{|{{|}{{{z{zz{{|||{|{z{{z{{z{||{{{|{||{{|{z{zz{|{{{{{|{{{{{z{{{|{{{|||{z{|{z{{|||{{|{{{{z|z{{{|{{|{{{{{|{z{{|{||{{|}|{{{{{{|{||{|||||||{z|{{{z{||{||{{{{{{{{{|{||{|}|}z{{{z||{{||{|}|||{z|{||||}||||}}|{{{{{|{|{|||~}}{{{}z{{{{|||||~}{|{{||{{{|}}}|||{{{z{z|{|||{{{|{|{{{{{{{{||||{|{{z{zzz{{|z|{|~~~~}}}|}}}~|~}}~}||||{|||{}||||||}|{{z{{{{|{|z||||{{{zzz{{{|||{|||{{{y{y{{||||{|{|{{zz{|{z{{{{{{{{{{{|{zzzz{|{{z{{{{zz{{z{{|{|{|{|{z{{{{{z{{{{|{{y{{z{yz{zz{|{{{|{{{{zzzzz{{{z|{{|z{{{zzzzzz{z|{{{{{{{{z{{z{{|z}{{|zz|z{{z{|{{|{|{z{{y{z|z{{{{{{||{zzy{z{{{}|{|||{|{{{z{z|||{{{{||||{zy{{{{|||||{{{{|{{{{{{{||{{|{{{{{{{{{{z|{{|||{{|{{{{{{|{|}|||{{{{|{{{||{||}{|{||{{{{{|||{|}}||{{{{||{||{{{|}|{{{{z|{{|{|||{||}{{{z|{{|}{|||{}|{{{{{{{{}|||||{|z{{{{{{{|||||||{{{{{{|{||}||||}{|{z{{z{{|{|||{{{{{{{z{{{||{{{|{{{{{zzyz{{{{{}~~~}|}||~}~}}~~|}{||{||}~}}|{|}|{|{{||{}||||}|||{{{{{{|{|||{{|||{|{{{zz{{z|{{{|{{{{{{|z{|{{{|||{z{{{{z{||{{{{{|{z|zz{{z{|{{{{{|zz{z{{{z{|{{{{{|{{z{z{z{{{{{|{{}|z{{z{{{{|{|{{||z{z{{{{zz{{{{{|z{zz{z{zzz|{{{|{|{{|{{{z{{{{|{|||{{{z{{zz|{|{{{||{{|z{|z|{|{{{|||{{{|{{{{{|{|{{||{|{{{{{{z||{|}||{{|{z|z{{|}{{||}|{{{{{{{|}|z|||||{{{{{{{|||}}||{{{{{{||||{{{|||||{z|{{{{|{|{|||||{||{{{{|}||}||}{{{{{|{{z||||||||{|{}|{{|}|||}|||{{||{{|{|}||||||{{{{{|{{{|||||}{{{{{||||{{}|||}|{{|{{|{||{||}|{{{{{{{{z||{{|{|z{{{zz{|{|{||{~~~~}}~|~}}}}~}}}||}||}}|}|~|{}{|}||{|{|{|||||{}{|}{{{|{z|{}|{{||||{{z|{zz{|{|z|{|z|z{{{{{{||{||{{{{z{z{{{{||{{|{{z{{{z{zz{z{|{{|{zz{{{z{z{{|||{|{z{zz{zz|{||{{||{{{|{zz{zz{||{{|{{{{{zzz{z|z{||||{{zzz{{z{{z{{|{{z{{{z{{{{|{}{||{|{|z{y{{{||||{{|{{{z{{z{{{{|{|||{z|{{{z{|||{{||{{{|{|z{z{|{{|{{|{|{{||{z||||{||{|{{|{{{{}|||{}||||{{|{{z{}{}||||{{{{z{{{{{||}||||{{{|{{{|||{{|||{{z{{{{|}||{{}}||{}|{||{||{|||{}}{{{{|||{||}||}|{{||{{{}||{||}}{|{|{{{{{|{|||||~|{{z{z{||||||||}{{|z{z{{|}||||{||{{|z{|z{|||}|{{|{|{{{{{z{{|{~}}~|~}}~}~~|}~}}|||}}||}}}|}}}||z{{|||}}|||}}||z|}|{{{||{|||{|||{z{z{{||||{{|||{|{zz{{|{z{|}{{|{zz{{{{{{|z{||{{{z{z{zz{{|{}{|{{|zz{{{{{|{|{{{||{z{z|z{{{{z|{{|{{|{{zz{z{|{|||{|{z|{{{yzzz{{|{|zzz{|zz{z|{|{{|{{z||z{z{}||||{|}{{{{|z{{{|{{{|||{{{z{||{{{{|||||{{|{zz{||{}{{||{{|{{{{{{|||{|}{{{{{{{{{{|}{|{||{{||{{{z{|{{{|{{||{zz|z{|{|{||}}|{{z{{|||{{|{|{||{|{|{{zz{}}|||{{|{{{{{{|}||{{}|||{{|{{}{{{|||||}|{{{{|z{|}}}|{||{{z|{||{|||||{}||{|{{|{{{|}||||||||{|{|{||||||{{|{{{{|{{{}|{{|||||{{z{zz|}|||}}||{|z{{zz|{|{{~}~}}}|}}~}}}~}~}}|{||{|||}}}}}||{{||{z|}{|{{|{{{||z{{|{}{}{|}|{{|z{{zz|{|{}||{{{{{{{{z{{{|{|||{|{{{{z{{z|{z|{{zz{{zz{{{z{{{|{|{z{z{{{{{{z{|{||z{{{z{zz{||{|{|{|{{|zz{{zz|||||||z{{{{{z{|{{{{z|{{{{zzzzz{{{{|{|{{{{{{|z{|||||{}|{zz{z{{{{{z{|||{z{{{{z{|{{{|{{|{{{z{{z{{{{||}{{{{{{{{{{{{|{{|||{{{{{{{{||||{{|{{{||{|{z||{{{|{||z|{{{z||{{|||||{{|{|{{{|{}}{{|}{{|{{{{zz||||}|||{{{{{{{{|||||||}{||{{}{|}|||}{||||{{||{||||{|}|{{{{{{|||||||||||{{{||{{{||{|||||{|{}{{||{|}||||||{{{{{{{||||||||{{z{|{{{|||z|}{{{{{{z{z{{|{{}~~}~~~~~~}~|}|||{|||}}}||}}||||||{||||||}|}||{{{|{{{|{{{|}|{{|{{{{z}{||{||}{z{{{z|z{|||z{|{{{|z{z{{{{||{|{|zz{{z|{{|{|{{|||z{z{zz{{{{{z{{||{z{{{{zz{{|{|||||{zz{zzz{|{|{|{{{{{{zzzzz{{z{{{|{{{{{{{zz{{||{{{|zzz|{z{z{{}{||{|z{{{{{{||{{{|||{zzz{{|{|{|||{|||{|z{z{{{{||{}~|{{z{|z{z{|||{|{||{{{{{|{|||{|||{{zz|{{{{|||{{||{{||z{|||}{||||{{{|{{{{}||||||}||{|||z|{{|}|{|||||{{{|{|||{||{{}~||z{{|}|||}|||{|}||z|{{||||}||{||{{{|{|{{|}{|}||}{{|{|{|{|{|}}}|||{{{{{{{{|}|||||{|z{{|{{|||||}|{{z{{{{z{}{|}{|||||{{{{{{||||~~~~}|}}~~~~~~}|||||}}|{}}|}||}||||||}z|{||||}|{{z{|{{{|{}{{{|{|{{z{z{y||{{{{|{{{|z{z|{{{|{{z{z|{|zz{z{{||z|{|{|{z{{{{{{{{{{|{{{{{{z{zz{|{{{{{{||{{z{{z{{{z|z|{{{{zzz{z||{|{{||{{{{{{zz{{{{||{|zz{z{z{yz{{{||{{{{z{{{z{z{|{||{|{{{{{z{z{|z{{|}{|{|zz{{{{{||||{|{|{{{{zz{{}{{|}{{z{{{z|z{{{{}{{||{{|zz{z{|{|{{|||z|{|{z|||||||}|{{|z{z{{{{|}{{||z|z{|z{|{}{|{}|||{{{z{{{{|||{}}||{{{|{|{{}||}{||z}{{{||{|}||||||{{|{z{{{{}}||{}||{{|z{{{}||||||}||{{{|||{}{{|||||{||{{{||||||||||{|{{|{{{}|||||}|{{{{{|z|}||{|{{{{{z{{{{{||||}}}}~~~~~}}}||||{||{||}}||||||z{{|{{|||{{|}|||{|z{{z|{{}{{{|}{{{{{zz|{||{|||{{{z{z{yz{{{{{{|{y{y{z{{{|{{{{|{{zz{z{zz{zzzz|{{{z{z{z{{{{|{z{zz{zz{zzzz{z|||}{|{z{zzzy{z|{{{{{|{{{{{zzz{{zz|{{{{{z{{z{zz|z{{|{{z{z{{zzyz{{{||{|{{{z{zzz{|{z|{{|{z{z{z{{{{{|z|{|{{{{zz{{z|{{{{||{z{{{{z{{|{{{{|{z{{{{|{z{{|zz|{|{yz{{zz{|||{{{|{{z|{{|{{{|}|}|{|z{{{{{{|{{{|{||||{{{{z{z{|}|}{}{{{|{|{{{||{{|{}{{{{{{{|{{{}{|{}||{{|{{{{|||{|{}||{{|{z{{||||}|}||z{{{{{{{{{{{||}{{{z{|{|{{||||}|{{{{{{{{{|z{{|||||{zzz{z|}|{||{z{z{z{z{y{{||{~~~~}~~}|}}}~~||||||}|}}||||}|{|{{{{|||{}||}|{{{{z|z{{{|{{{{|{{|{z{z{{|{||{|}{{{z{{|{{{z{{{|{z{|{{{zy{||{{|z{z{zzz{zz{{{|||{{{{yzzzzzz{z{{||{{zzzz{zzz{{{|{{{|z{zzzzz{zz{{{{{{{zz{{zyz}{{{{|{{{z{{{zz{{{{{|{{{z{zz}{y{|zz||{}|{z{{z{z{||{|{{|{z{{{y{{{|{|z{{{{{{{{{{{{{||{|{|{|{{{z{{{{|{||||{{z{{{{{|||{{|||{z{{{{zz{{|{{||{{{{{|{{zz{|||{||{{{{{{{{{{{{||{{{{{|{z|z|||||||||{{{|{{{}}|{||{{{{|{y{{|{}{||{{|{{|{{{z|{|||||||{|{|zz{{||}|||||{{{z{{{|||||}|{||||{{z||{{|||{}{{{{zz{{z{|{{{|{|{|z|z|z{||{|{{{|z{{{{{z{{{z{|}}}~~~}}~~}~~|||}}||}|}}||||{{{{|{{|{{}|}|{{{{{{{|||||{{|}{{{z{{{z{|{{{|||{{{zz{{{{{{{{{{{|z{{zzz{{|{zz|{{|{{zz{zzz{||z|{{zz{{zz{z{|{{|{|{{z{zz{{z{{z{{{|{{{{zzzz{{{{{{{}|zz{zz{z|{|{z{{||}{{zz{z{{{{{|{{|{z{{{|z{{{{|{{||{zz{{z{{{||{}}|||{{zzz||{{{{z|{{z{{|{z{z{|{{|{||{z|{{{{{{||||||{|z|{{|{zz||{||{{||{z{{z{|||{{{{||{{{{{{{{||}{||{{|{{{{{|||||||||}{{|z{{{{|||||{||{{|z{|{||{|||||z{{{{{{|{{||||}}|{|{{{{|{|}||{||||{|{{{{}|}|||}||{{{|{{{|{{}{}}||{{{|{{{||||||||{{zzz{{|{||||{|||{{z{{{{|||{|{|{{{{zzy{{|{{{{~~}~}~~}|}}||}||}||}~~}~||{||{|{|||{||{|{|{{{{{{{||{||}|||{{zz{z||||{|{|{{{z{zzz{||zz|{{||z|{{zzz{||z|{{{{{{{z{z{z{|{|||{{{{|{{{{{||{||{{zzy{{zz|||{{{zz{{{{z{z|{|{{{{|{{y{z{{zz{|{y{{|{{z{{{{{{|z{z{|{|{{{{{{{z{{{{|{||{{{z{{{{{|||{||}{{{zzzz||{{{{{{|z{{|zz{{{{|z||||{||{{{{z{{|||{{{{{|{|{z{|{|{z||{|zz||z{{{|{}|{|{|{|{{{{||||}{|}|{|{{{{{{|||||{{||{{{||{{{||}{|||{{{|{{|||||}{||||{z{||||||||}}|||{{||{{{||||||}|}z|||{{|}||}{|||}{{z{{{||{{||{||}|{{{{{|}|{|}|||{|z{{{{|{|{|}|}||{z{{{{{{|||{{|}{|{{{{{{|{||{~~~~||}~~~~}||{|}|~}}}~|}||{{|||||}|||~}||||{{{|{|||||z|{{{{{z{{|}|{{{}|}{{{{{{{{|{|z|{|z{zzz{z|z{|||{{|{|{{{{{{{{{||{{{|{zy{{z|z||{{{||||{z{z{z{{{|{||{|z||zz{zz{|{{|||{{{z{{{{z{|{{|{{||{{zz{{zz|z|{|||{z{{|{{z{|||||{{{{{{{{{||||{{|||z{{z{{{||z||{|{|z{|{{z{{{{{{{{||{{||{{{{|{|{{|||{{z{{zz{{}{||}}|{{z{{{{{{||{||{{z|{{{{{{|{}|}|}|z{z{{{|{||{}|||}||{||{{{||{{}||{|{||{{{||}{}||||{||{{{|{|||||}|||{{|||{{{|}||||||{||{||||||||}|{|{z|{{{||||{}||}||{{{{|{}|{}|||||{||{{{{|||}|}||||{{{{z|{|}}|}|||{{zy{{z{{{|{~~~~~}~|}}}|}}|||}|}}}|||z|{|{|}|}|~}||{{z{z|{||||{|||{{zz{{{z{{||}||||{|{{z{{z|{{|||{{{zy{{z{zz|{{{{{z{z{zz{zz{{|||||zz{zz{{{||||{||{zz{{zzzzz{|||{|{{{{{y|{z{|{z{||z{zzz{z{{z{{z||{{|z{{zzz{z|{|{|||{zz{z{z{z{{|{||{{z{{{z{z|{{z|{||{z{{zz{||{|{||}|{||{zz{{|{{}|}|{{{z{{z{z{|||{|{{{{{{{z{{{{||||}||z{|{{{{{{|{|||{|{{z{{{z|{||}||{{{||{{}{||{}|}|}|{|{|z{{{}|{{||{{|{z{{{{}||||}}}{z{{||||{{|{}}|~|{{|{|{{}}{}||}||{||{z|{{|||}||||{|{{|{||{|{|}}}}z|||{{{{{||{|{|{{{{{{{||||{||}||zz{z{{{|{|{|{|{|{{zz{z{{|{||}}~~~~}~~}}|}{||}}}|}}}|{{|{||{{{}|{{|}||{|{{|||{{||{|||{{{{{{z{|{||||{{{{{{{{z{{{|{{|{{{|zzz{yz{{{{{{{|{{{z{{z{|{{|z{{|z{{{zy{z{{{{{{{|{z{{{z{{z{|{{|||{{zzzzz{{|||{||{|z{{{y{z{|{z{{{{{{z{zz{{||{z|{{|{z{{{{zz{{{|z{{|{{{{{z{{|||{||{|{{{|{{{{{{{|||{{{{{|{{{{||{{||||z{|{{{{{{|{|}{{||{{{{{{{|||{|{{}|{|{|{{|{|||||||{{||{{{{{||{}|||z|{|{{{|||||||{||{|||{{z||{|||}||{|{|{{|||||{|}{|||{}||{||||||||||{{z{{{{}|}|~|||{||{{{{||||||}||{{|{z{||||{|}{||{|||{{{}||{||{||{{{||{{{{|{||}|{|{|z{z{|{||{{||{z{{{z{{|{}||~~~}~~}}|}||{}}}~}~}}}|{||{{||||}||||{{{{{{{{{|}||{||{{z{zzzz|{||{}{}|{{{z{{{z|{{{||{{{{{zz{z{{{{{|{|{{{{{{{{zz|{z|{|{zz{{{{{{z{|{||{{{{{z{{z{{{{z|{{{{}zy{zz{{{|{{||{{{{{{zz{{|z{|{||{zy{{z{{{z{{||{{zzz{z{{{|}{{|||{z{z{{{{{{|{{{{|{|{{zzy|{{{{{|{|{z{z{{{{|||{{|||{{{{|{{{||||||{|{{{|z{z{{|||{{||{{{zz{|{{|{||||}|z{{{{|z{||{||{|{||{|{|z{||}|}||{{{|{zz{}{|||||{|{||{{{{}}||||||{{|{|{||{{||||}|}{||{||||~||}|}z|{|{{z{{|}||{||{{{||{{|{|}}|||{||||{{{{||||}|||}{||{{z{{{||{|||}|{|{|{{z||{||{||{z{{{zz{|{|||~~}~}~|}}}}|}}}}}|}}|}}||||{{|{{|{}|{{{{{{{|{{|||||}}|{{{z{{z|{{z{{|{|z{|z{{{zz}}{{{||{{zz{{z{{||{{{|{{{{z{zzz|{{{{{|{{z{z{{{z{|{{{|{|{{{z{{zz{{z{|{{zz{{z{{{zz|{{{{||z{|z{z{z{|||{{|{z|{z{{|{{|{{{|{{zz{z{|{z{{{{{|{|z{{{{z{{{{|{{|{|{|{{{{{{{|{{|}{|{|{z{{z|z{{|{|{{|{{||z{{||{|||{{|{z{{zz{|||{|||{|z{|{{z{{||{{|||{{|{{z{{{|}{||||{{{{|{{{||||{|||{|||z{z{{}||||||{z||{{|{}{|{}}|}|{|{{{{|{|{}||||}z}{{{|||}|||||||{|{{{|{|||||}}|}z|{{}{{{|{{||}}||||||{{}|}|{|||||{{||{{{}||{||||{zz{|{z||{|{||{|{{{|z{{{|}{{~~~~~~}~}}}|||~}}}}}|}|}|{{{{{z||{|}{}|{|{{z{|{z|||z{||{||z{z{z{{|{|{|{{{|{{{{zz}{{|{{{|z{{zz{zz{{{{{{{{{zzzzz{z{{{{{{|{{{z{zzz{z{z{{{|zzz{z{z{{{{z|{||z{{{z{{z{{{|{||{|zz{zzzzz{{{{{|{{{{{{z{{|{{{z|{|zz{z{|zzzzz|{{||{z{{{{{{z|{{{||{{{{zzz{z{{{{||{{{{{{y{yz{|{{{z{{{{{{zz{z{|{||}{{{{z{{{{z|{|{{|{|{{{zzz{z|{{{z{|||{{z{z{z{|{{||||{{{{{{|{||||{||{{{{{{{z{{||{||}{{{|{{{{||}{{|{||{{|{{|{{|||||||||{{{{{{{{{|||}}}{{|{{{{{}|{||}||{{{||{{||||{|{||}{{{|{z{|||{|}{|{{{yz{{{{|{|{{|{|z{{{{z{{{}|z}|{||zy{zzz{|{{|~~~}|}|||{||}|}}}}|}|{||{{{{|||{||{||{{{{{zz|{|}{|||z{{{{{{{|z{{{|||{z{{{z|z{{{{{{|{{{zz{z{z{|{{z{{{{{{z{|zzz{z{{{{{{{z{zzzz{{z{{||{zzz{z{zz{{z{{{{{z{zzzzzzzz{|||{|{{z{{z{{z{{y{{{{z{{{{zzz{|z{|{{|{{{{{{zz{{{{|{||{z{{{z{z{{{{|{|{{z{zz{{z|{{{{|{{{{z{{zz{||{|{{|{{z|{{{{{{{{{z|{{{{{{{z{z|{{{{z{}|{{{{{{{{|z{{{{{|{{{{{{{{|{|{||{{{zzz{{{{{{{||||{{{{{|{{|}{|{{|{||{{{z{{{||{|}}|{||{{{{||}|{||||}{{{{}z{{|{|||}||z{|{{{z{|{||||||z|z{|{||{{|}||||{{||z{{|||}|}|||{{z{z{{|{||{||}{z{{{{{{|{{|{{{{{{{z{y{{{{{{{~~~~~}}~}~|}|||||||}|}}||||||{{{{|{||||||{{{{z{{|{{{{|{||{{yz{zz{{{|{{|{z{{{{{{zz{{{{||{{{{|{{z{{{|{{{{{{{zzzzz{{z{|||{{|z{{{{zz|z{|{}z{{{zzzzzz{z|{|{{{z{{{z{{z{{{|{{|z{z{z{z{{z{{{{{|{{y{zz{{y{{{{{|{{zzz|{|z{{||{{|||zzzz{zz{{{{z{||{{z{{z{{||{|{{{||{z{{|{{z{{{{|{|{{z|z|{y{z{{{||{{{{{z{{{z{{{{{{||{{{{z{zz{|{{{|{|{{{{z{{{{|{|{{||{{{{|{|z|{{}||||{{{{{{z{{||||||{|{|{{z{||||{|{||{{{|{|{{|||{|{|||z{|{{|{{}|||||}|{z{{{{z{||||{|{{{{|{{{{{||||{||{{{{|{{{|{z{{||}z|{z{{{{z|{|{||||{{|{{{{|{{|{||{{{|zzz{z{{{|{~}~~}~||}||z|||}}}||}~{|{{{z|{|{{||{{|{{||{z{{z||{|{||{z{z{zz{|||{{|||{{z{z{zz{{{z{||{{z{{{zyz{z|{{|{|{z{zz{{z{{|{{{{{{{{|{z{{{{{{{{{|{z{z{zz{z{{z{{{{{zz{z{zz|zzz|{|{{z{{zz{zz{z{{{|{{{z{{zzzz{{{{|}|{zzzz{{{{||||{|{|{zz{{|{{||zz|{{{{{{zz{z{{|{{zz|{z|{zz{z{{{{{||{{{{z{zzz{{|||||{{{{|{{{{z{{{z||||{{{zzz{|{|{{|{{{{{z{{{{|{|}{{|{{{z|{|{{{{{{||{}|{{{||{z{|{{{{||{{|||{zz{||||{}|{{|{|}|z||{{||}||{{|z{z{||{}}||{|{z{{|}|{|||{|||{{{|{{{{{||{|||}{{{{{{|{{{|{||||{{{{{{{{|{}||{}|{||{{z{{|||{{{|{{z{z|{zz{{|{{~~~}~}}}}}|}|~|}~}}|}|||z|{}{{}{|||||}||z|{|{{|{|{}}|{{{z{{{{{{{|{{|{{|{|{zzzz|{{{{|{z|{zz{{{|{}z{|||{{{z{{{{{zz|{{{{{zzz{{yz{z{{z{{z{{{zzzzz{{z{{{{|{{zzzz{{{{{{{||{{zz{z{{z{{z{{|{{|{{{z{zzz|{{{|||{{{{{{zzz{z{{{{{{{{{{z{z{||z{|{|{zz{{z{{{{||{||}{{z{z{{{|{|{{|{|{{{{{z||{||{|||{{zzz{{{z{||||||{{|zz{{{{|||||}||{|{{{{z{{|}||||{{{|{{{||||{||}||{||{{z{z|}||}{{|||{{{{|z}||}||||{{z{z{{{{{|{|||||{||{|{{{|{||||||{||{{{||||||{||{{{{{{|{{||||||}}z|{{{{{{||||||{|{{z{{{{{|{|{{{|{{z{z{{{{|{{{||||{zz{z{{{|{{{~~~~}}}~|}}|}}|}|}|}}}|||{{||}|}|}||}||{|{{{{|}||{}||{z|{{z{z{||{||{{z{||{z{{z{{{{{|{{{{zz{z{{||{{||||z{zzz{{z{{|{{{|{zz{zz{{z|{z{|{{{{zzzzz{{{{{|||||{zz{z{{{|{{{||{{zz{{{{{z{{{{|||{|z{{{z{{{{{{|{{zz{{{{{z|||{{{|{|z|z{z{{{{{||{|||{{{z{{z|{{|{z||{{z{|{|{{{|||{{{{{{{{{{z{||||||{{{z{{{{z||{{|{}|{z{{{{z{|{||||{{{{{{{{{{||{|||||{{{{{{{||||||}|||z|{{{{z{||{|{{|{{||{|{||}}{||}}|{}z{||{{{{{|||||z{|{|{{{}|||}{|{{||{{{||||||}{{|{{{{{z{|}||||}|{{||{{z|||{|||{||{{{{|zzz}||||||||{{z{{z{||}||}||{z{{{|z{{|{|~~~~}}|}||}|}}~|}|~||}|{|{{{||{|||~}||z|{zz|{|{|{{|{{|{{{{{z{||||{||{{|{{{{z{|{{{{z{zz{z{zzzz||||{{|{z{|{{zz{{{|{{{|{z{{{zz{z{|{|||{{{{{z{z{{{|z|{|||{{zzzyzz{{|{{{|{{{{{zzzz{{z{||{{{zz{{z{{|{{{}{|{{{{z{{{|{{{{|||z|{z{{{{|{|{||{{{z{{{z{{||{{|{{|{z{|z{zzz{||||||{{|{|{{z{||z|||{{{{{|{{z{|||||||||z{|{|{{|{{{|{{{{{z{{{{{{|}{{{|{|{z{{{{||||{{{|{{z|{{z|{|||}|||{|{{|{|{|}||}|}}{{|{z{{{{||||}||}{{{||{{z}|||}}|{{|{{|||||}|||{|}{{{}|z{|{|}{|}}|{{z||{{|}||||||{{{{{|{{|}||||{||{{{{{{{{{|{{||||z|{{z{z{{|{|~}||~}}|||~}}}}}}|||{{|{|{|{|}|}|||||{{{{{}}{|{|||{{zz{{{{|{}{{||}{{{zz{{{{||{{{{{{|z|{{{{||{{{||{|{{zz|{z{{|{{|||zzz{{{{{{{{|z|{{|zz{z{z|{{|{{|}|{{{{{z{{{{{{{|||{{|zz{zzz{{|{z{{{{zzz{{{|{{z|{{|{{{{{{{{{|{||{{||{{z{z{|||||{{|{{{|{zz{{|}|{}|{|z{{{z{{|{|{{{{|{{|{z|z{{{|{{||||{z{{{{{{|||{|{|{zz{{zz{{{{|}||}{{|{{{|{{||||||||{{{{{{{}|}|}||||{{|{{{{{{}|||||||{{}|{|{|||||{}||{|{||{|||||}|{}|{||{z||}||{||||||{|{{{{||||||}||{{{|{{{|||}{||}||{{{{{|||||{}|}{{|{{|{{||||{|||{|z{z{{{{|z}{|||{z|z|{{{||{||~}}~|~}}}~}}{}|}}}}{{{|}|||{|||}||{{|{{y{{|{||{|||{{zz||{{|{{{|{|{|{zz{{z{{|{|{|{|{z|zzz{{||{{{{{{{|{z{{z|{{z{|{{{{{zz{{zz{{||z|{{{{{{zz{z{||{{}{zzz{z|{z{|{{{{||{{|{{z{{z{|{z{|{{|zz{{{|z{{{|{{|z{{{{|{z{||z{|||{zz{{zz{{|{{{{||||{z{{z{{|{|{||{{{|z{{z|{{||{||}z{{{{{{z{|||{{|}|{{{|{||||{||}|z|{z|{{zz{|{{||{{{{{||{{{||||||||{{{{{{{{{{|||{||{{{|{z{{|||||}|{|{{z|{|{||}|||||{|{{|{{||||||||||{{{{|{{||||||}{||{|{{{|{|{|||||{{{||z{{|{{||}}||||{|||{||{}}||||{{{{|{{||{||}||{|{{{z|{{||{{|{|{{{{{{{{|{}|{~~}}}~}|{||}|}}|}}}{{{{|||||||||||z{}{{zz|z||{{{||{{{zz{{z{||{{{{|{{{{z{z{|{{|{{}zz{{{{{|{{{|y||{{zzzz{zz{{z{{{{{{{zz{{z{{{{{zz|||{zz{z{zzz|{{{{|z{z{z{{{zz{{||{{{{{zz{{|z{||{{{z{{z{{{z{zz{{{{|||{{{{{{{{{{{z{{||{z{z{z{{z{{{||{|{{{{zz{{|{{{||{|z{{z{z{{{}{||||{z{|{zz{z{{{||||{{{{{{{z{{||||||{{zz{{{{{{|{{{|z|{z|{{{{|{||}||||{{z{{{|{|zz|||||{{{{z{zz{|{{|||{{z{{zz|{|||{{|}|{{{{z{{{{|{|||||||{|{{{{{~{|||}|}{|{{{z|||{}{|{{{{{{|zz}|||||||||{{{{{{{|}||}|{||{z{||zzz}{|||||{{zzzz{{{||||||{{{z|zz{{{|{|{}~}}}||}||~}}}}}}}|||{|{|||{{}|||||{{|z{{||{||{|}}|{{{{{|z|{|{{|{|{{{{{{z{{{|{{||{|{{z{{{zz|{{{z{{|z{z{|zz{{z|{{{{{zzzz{zzz{||z||{{z{z{{zz{{|{{|||{{{z{{z{|||{|{||{zzz{z{z{{|{z{{|z{{zzz{zz|{{|{{{{{{{{|zz{z{||{||{z{z|z|{|{{{{}|{z{{{{z{{{{{z{|||{zz{{z|{|{{{||||{|z{{z{z{{}|{||{{{|z{|{{{{{|{{|z{{z{{{|{{||{{||||{{{{{{|{}{||{}|{{{{{{{{z{{|}||}|{{|{z{z||}|}||||{{{|{{{|||{|||}{||{|{||||{||||}|||{||{{|}{||{||||||{{{{|||}||}||{{{{||{{}|}|{|||{z||{{{|||}||||||{||z{{|{{||||{}{{{{{zz||{||||{{|{{{{{z{|{{|~~}}|}|||{}|}{|}|}}|{||}{{{|{{}}||{z{{{z|z{||{{|||{{{{z|{z|{|z||||{|{{|{{{{{z{|{{{||{{{zzz{|{{{|z{{{z{z{{z{|{{||{|{zz{zz{z{{|{{{{{{z{{{zz{z{{z|{{z{{{zz{zz{|{|z{z{{{{z{{zyzz{z{|z{{|{z{z{{{{z{{}{|{z{{z{{z{{{|{|||{z|z{yz{{||{||{||{{{{z{{{{{z{|{|{z{{{{zy{{||{|{{{z{{zy{z{|{{||{|{{{{{{z{z||||||{{{{z{|{z{{{{{{||{{{{{|zz{|||||{{zz{||z{z{|{}{}{|{{||{zz|{{}{|{}z|z{z|{{{|}{||||}{{|z|||{{|{}|||{{{{{{|{{{}{|}}|||z|{{z{{|||{}||}|{z{{{{{|{{{{||}|{{{{{|{{|{|||}{{{{{{{{{{|||{{||{{z{{z|{{}{{|{}{{{{|z{{{z|{{{~~}}}}}|}}|}}}}~}}||{|}{{{}|||{}|||{{{{{{{{{{{{|||{{{{{z|z{{|{{{|{|{{{{{{z{||{{{|{{zz{z{{z{{z{{z|{z{zz{{z{|{z{{|{zzzzzzz{{|{|{z|{{{{{zzzzzz{|z{{|{zzzz{{{z{{{{{||{zyyzzz{zz{z{|{{zzz{yz|{{{{z{{{{|{z{{z{{{{{{{|{|||z|zzz{{{||{{{z|{{{{z{{z|{z|z{{|zzz{y{{z||||{|{{|{{|{z|{{|{|||{{{{|z{{z{{{}|{{{|{|zz{z{zz|z{||{{{{{{|{||||{{||||{{{{{z{||{{|||||{{z{{{{z{||||}{|{z{{|{{{z{||{|}|{{{{|||{{|{||||}{{{{{{{{{||}|||||{|{{{|z}}{|{||{}{z{{{{{|||{||||||{{|{{{{|||{}||{{{{{{{|}|||{}||}{{{{z{{{{{{{||{{z{zz{{{{z|z{~}}|||}}}}}}}|}}}}|{|{|{|{|||}|||z{|||{{{|}|}|||{{{z{{{z{||z{|}|z{{z{z{z{}z{{z{|z{|z{z{z{z{{{{{{z{{zz{zz{{{{z|||z{z{z{zz{||{|}|{{{{{{zzz{|{z||}{{z{z{zzz{{{{{||{z{z{zz{{{{{{{{{{z{zz{{{{{{z{{{|z{{{{{|z{{{{{{|{z{{{{{z{zz|{{{{{|{{z{zz{{{{||||{|{z{{{z|{|{{{|{||{z{{{zzzz{{{|{{{{{{zz{{z{|||{|||||{{zz{z{||{{||{{{{{||z||||{{}{|{{{{{|{{{|||||||{{{{{z{zz{|||{{{|{{{|{{{||||{|||{{{{z|{{{|||{}|}{|{|{|||{}|}|||||{{{|z|{||||{|}||{{{{|{|{{|{||}|}||{|{{{{}|{|}||{{|z{{{{{|{|||||{{z{{zzyz}{{{{|{{{{{|{z{{z{|{~~~~~|}|{}}~~}|}|}}{z{|{{z}|{|{|||}{{{{|{{||}{{|{|{{z{{{{{||{|||{{{|{{zz{z{{|{{||{{z{{{zz|{{|{|||{{z{{{{{z{z{{{z{|z{{zzzzzz{{z{|{{{{{zz{{{z||{{z|{{{{zzzz{{{z|||||{|zzzz{z{|{{{{z{{{{zy{{{z||{|{|{{zz{{{{z{|{{{z||{{z{{{{{{z{{||||{{{{{z{z{{{}{{||{z|z{{z{{|||||||{{{{|||{{{|{{{{|{|{{{{z|{|{{{{{||{{|{{{z|{}|{||{{{{{{z{{{{|||{{|{|{{{{{{||{|{|}|{{{|{{{{||}{{|||{{{{{{|{|{|||||||{{{{{{|||{|{|{|||||{{{{{|}||{||}|||{|{|{||||||||z{{{{|{|||{||||||{{||{|||{||||}{{{z{{{|{|{{{{{{{|{{z||z{{||{||||z{zzz{{{|{{{~~}|}}|||}}|||}}}||{||{||}||||}||{}{{{|||||||{|}}||{{{|zz{||}|{||z{|{|z{{{{{{{|||{zzz{zzzz{{z{||{{|{zz{z{{|{{||||zzz{zz{|{z{{{z|{{{{z{{y{{{{{{{{||{{{{{z{{|{{{{||{z{{|y{zz|{|{|||{z{z|z{zz|{|{{|{{{{{{{{{z|z|||{{{zzz{z|z{|{z{{||z{zz{{|{|{|||{||{{{{|{}|{{{{||||{z|{{{{z{{{{||||{{{|{{{{{{||{|{|z{|{|{{{{|{|{{{|{{{||{z{|{}|||||{{{z{{{|||{{||||{{{|{{z{|||}|||{|{{{|{{{|{||||}||{{{{{|{|{{|||||}{||{|{{|||}||}}||{{z{{{||}|||}|}{{|{z{{|}||||}|||z}||{{|{|||{||{z|z|{{{{|{{{|||}{{z{{{|{||||||{|z{z{{{{{{|{{~~~~}|~~|}}}||}~}~||{|{|{{{|}{}||||{{{{{{{{{{|||||{{{zz{zz}{||{{{|{z{z{||{{|{z||{{{{{{{{{{||{{||{{|{{{z{zz{{}{{{z{{{zzzzzz{{{||{{{{z{{{{zz{||{{{{{{{{zzzz{{{{{|{|}{{{{{z{{{{{||{{{{{z{zz{{{|{|{|{|{z|{{{{z{{{{|||||{{{{z|z{{||||{|zz{z{zz||{|{||{|{{{{{|z{|{{{{{{|{{|z{{{{{||{||||{{|{{{z{{|}{{||{{{{{{{z{{{|{{{|{|{|{{z{z|||||}{|{z||{{z{{}z{|}}}|{{{{{{z|}|||||z{zz{|z|||||||||||{{|{{}{|}{{{}||{|{|{{|}|||{||}|||||{{{{}{{|{|||}{|{{{|{||||||}||{{|z{||{|{{||{||{{{{{{{|{{{{||{|{z{{||{|}{||{||{z{{{{{z{||||~~~~~}}~|||~}}||}~|}||{||{{}|{|}|}{|zz{|z{{z||{{{{{{{{{{z{z||{|{{||{{|z{{zz{{|{{{|{|z{z{zzz{{|||{{{zzzz{{{{{{{|||z{{zz{zz{{{|{{{{{{{{z{{{{z{{{{|{{{{{{zz|{{|z{{{||{{{{z{zz{{{{{z|{||{|z{zyzz|{{{{{{{zz{z{zzz{{{|{||z{||zz{{|{}{{||||{{{zz{{z|{z|{||{zz{{{{z|{|{{|||{{{{z{{{{||||{||{{{{z{z{{||{|{|||{{|{{{{|{|{{|{}z{{{{z|{{||}||{|||{{{{{z|||||||||{||{{{{||{}||{{}{{|{{{||}|{}}||{z|z{|{{{||{{||||{z{||{{||||}||||{|||{z||{|}||||{{{||{{{|z}|||}|||{{{{{||}||||{}||{z|{{{{{||||}{|z{{z{|z{||||||{|{|z{{|{|{|{|~}~}|}}|}}|||}}~}|}{}|{{|||||||||{||z{{||{{}|||}||z|{|{|z|||z|{{{{{{{{{{{{|||{{{{||zz{|zz{z|{{|z{{z{z{{zzz{|{||{|zz{{{zz{z|{{|{|{{{{{{{z|z{z{||{|{z{{{{|xz|{|{{|||{{{zz{z{{z{|{{|{{zz{z{z{{{{{}{{zz{z{{zz|{{{{{{{{{|z{z{{{|{||{{{{{{{{{|z{|{||{|}|zz{{{{{{|||||{|{{{{{z{z{{||{|{{{|{{{{z{|{|{{||||{{|{{y{{||{{||{||{{{{z{{{|{||{|{{{{{{||{{{|||||zz{z|{z|{||}|||||{{{{{{{|}{|{|||{{{|{{|{{|{{|}|||{{|{{{{{}{|}}{}{|||z{{{|||}{}|||{|{{{{{|{|||}{}|{z|||{{{{||{{|}{{{{z|{{|{||{|||{|{{{{{{{|{||{{{zz|{{z{{|{{z{~}~}}}}~||}}|}}}|}|{||{|z|{||{|}|}{||{{|{|||}|{|||{{{z{{{z|{|z{|{|{z{{{{}{{z|{||{{{{{z{{zz|{{{|{{{{{{{{{z{{{{{{||{zzzzzz{{|{{z|{{{{{zzz{zz{z{|{|{{{z{{yz{{{|{{|{||{{{{{{{z{{zz||{|{{{{{{{z{{{{|{{{{z{{{{zz{|{||{{||{{z{z{z{|{{{{||{z||{{z{{z{{|{{|{||{{{{z{|||{{|||{{{{{{{|{|||{{||{{{{{z{||{|{|}{|{zz|{{{{|z|||{||z|{{{{|{{||||}|{|{{{|||||{}{|||{||{|{zz||}|{|||}{{{{||{|||{{}|}z{{{|{|||{|{|{}}{|{{{{{{|}||}|}}}{||||{{|||||||{}{{{{{{{{||{||||||{{||{{|||}||||{||z{{||||||}||{{z{{z{{{|||{|{|}{{|z{z|z|||{{~~~~}}}}|{}~}}||}~}{}{||{||}|{{|||}z|{{{z|{|||||{{|{{zzzzz{z|}{|{|{||{z{z{{|{{z{{{{{|{zzz{{|{{{||{{zz|{z{{|{{{z|{{zz{{{z{z{|{|{{{|{{z|{zz{{||{{{|{{{z{zzzz{{{{{||||zz{zz{z{{{{|||{|zzz{{zzz{|{{{|{{z{{zzz{{{{|{{{{{|{z{zzz{|{{|{|{{{|{zz{z|{z{{|||z{{{{{{z||{|{{||{{{{{{{|{{{|||{|{|{{zz|{{|{{{||{{{{{z{{z{{{{z{{|{{{{{{||||{{|{||{{{z{{|z|{{||}|}{zz{{z{{||||}|||}z{{|{{{|||{{||||z{|{{|{{}{||||}|{{|||||{}||{||}|||{{{|{|{||}}{{|{{|{z{{{|||||||}||{|{{{||{||{}|{{{{{{{{{|||}{|{z{{z{{{z{|{{||||zz{|{z{{{{{|{~~~~}}}}|||||}}|||}}||{|{|{z{|}{||||zz{{{zz{{{{{||||||{{z|zzz{||||||{{zzzzz{{{{{{|{{{{{{{zy{{{{z{{zz{z{zzyzz{{{{{{|{{{zz{zzz{|{{{|{{{{{{zzzzz||{|||{{{{zz{z{{z|z{|||{z{{{z{z{|{|z|{|{{{{{z{{{|{|{{||zzz{{zz{{|{|||||{z{{{{|y|{{z{{{|{{{{{{z{{z|{{|||{{z{z{z{{{||{{|{z{{{{{{{{|{|{|||{{{z{{{z|{|||{{{{{{{{{{z{|{{{|{{|{{{|||z|{{{|~}|z{{{z{{{{|||||||{{{{{{z{||{|}|{{|{{{{|z{||||}}|{{{{{{{{{{|{{|}}|{z|{z|z|{|}||||{{{{{z{{{||{|{||{}{|{{{{{|||{{{|||{{{|{{{|||{}}}|{{z{{{z{||{{|{||{||{{{z{|{{||{{|{{{{z{|{|||z{~~~|}~}|}|||}}|}}}}}|||{||{||||||{}||zz{{zz{|||{|||{zz{{zzz|{{|z|||{{zz{z{{z{{z||z|{{{{{zz{zz|{{{{{{{zz{{{{{z{{{z|z{zz{|{z{z{{{{{|zzz{{z{zzz||y{zz{z{{zzyz{{{|z|||{zzz{{zzzz{{z{|{{{{zz{z{{|{z{{{{z|zz{{{z{z|{{{{||zzzz{zzz{|{{{||{{z{zz{{z||{{|||{z{z|}{z|{|{{||{{{{{|{z|zz|{{{|||z{z|{{{|||{{{|{{{z{|{z{{{{|{z||||{{{{{z|{||{|{{}|{{|{{{{{|{||||||{{||{{z|||||||z|z{z{{{{|||||{{{|{z{{||{||{||{||}z{z{||{|}||{||||{||||{||||{{}}||{{|{||{|{|{|||}|{|||z{{{|||}||}{{{z|{|{{|{{||{{{{|{{{{z||{||{{{z{|zzzz{||{{{~~~~|}}|}|}}|}}}}}}|}||{{||{{||{||{|z{{{||{{|||||{|{|{|{z{|z|}||{|{{{zz{{{z{{|zz{|{{|{z{zzz{{|{{{{{{|{{|{{z{{{{{z{|{{zz{zz{{{{|{{{|{{z{zzzz{{z{{{{|{{{{{zzzz{z{{{{{|{yzz{{zz{{{z{{|{{{zzz{{{{{{|{|{{zzz{{{{z{{{{{{{|{z{y|{{|{||{z{|{|{{{{z{{z{|{{{|{{zz{{{{zz{{|||||{{|zz{{{{{{|||{{{{z{z|{|{{{|{{|{{{z{||zz|}||z}|{{{{{{{{|||||||||{{{{{{{{||{|||{||zz{{{z{{||||{||{z{{{{{{{|{||{}}{{{z{|{{||z|||||{{{{{{|z{}}|}{|||{{|{{{{|}|||{|{|{{{|{{{{|||{{}||{|{|{{|{{|{|}||{||{z|{{{|{|{{{|{{z{z{yz{|{|||||zz{z{zzzz|{||~~}~}||}{|}}}||}}|}||z|||{|{|||}|{{z}|{z{{||{|{{|{{{{z{{{z{{{z{{||{{{y{{{{{{|z{{||{{zz{{z{{||{{|{{|{{{z{{||{||{|{{|{z{zzzz{z||{z{{{{zzz{z{{{|{|||||{{z{zz{{|{||{|{{z{z{zz{{{{{{{|{|{{|z||z{{{{z{||{z{|z{zz{||||z|||{{z{{||{|||{||||z|z{{{{|{{|{{||{{z{zz{z{{|{|{||{{{z{z{z{{|{|||{{{{{{{{{{|{{{z||{{{{{{zz{{{{{{|}|||{{{|zz{{||{||{|{z|{|{|{||{||||{{{{|{{{|||||{{|z{{{{z{{}{|||}||{|{||||{{|||}||}||{{z{{||||||}||{{{{{{{|||||{|}{|{{z{{{{{||||||{z{|{{|{{{|}}|||{{{{{{{{{{{||||{|{{{{{|z||{{|{|{|{{{{{{{|{{|{~~~~~~}}|~{||{}}}||}||||z{||{{|{{}||}}||{{{{z{||{||{|||{|z{z{{||||{{|}{{zz{{{{{{z{{{||{|zzz{zz{{|{||{|{z{{{z{{{|{|{z{{z{{z{{{z{{z|{{{{{zzzy{z{|{{|{{{{z|{zzz{z{||{{z||{{{z{{z{{{{z||{{z{{{{z{{z{{{{|{|{{{z{{y{{{{{|z{{|z{|{z{{{|{{|{|||{|z{z{{{{{|{|{|{z{{{{{{{|{|{||{{{z{|z{{|{|{|||{{{{|||{{||||||}|{{z{{{z{{||{{|{|{{|z{{{{{|||}|{}{{{{{{|{|{{|{|}|||{||{{{|||}|{}||{|{|{||{|}{|||}{|}{z|{{||{||{{|}|{|{{|||}}||}}|{|{{{{{|}|{||||{}{{{{{{{|{|{|{|}|{z{|{{{|{||}|||{|{{{{{{}||||||||{z{{{{{{{{{{|||{||{{|{{|||{|~~~~~}||||}|}|}}|}~|{|{|{|z}|{}|{}||{{{{{{{{|{|{||{{{|{{y{{|||{{|{|{{{{|{{z{||{{}||{{{{{{z{|}|{{{{{{{zz{z{z{{{{|||zz{{z{{{z{|{{{{||{z{{z{z{|{{|{{z{{z{{z{{{{{z{||{{{z|{z{{{z{{{z||{z{z{zz{zz{||z|{{{{{{||{{||||{|{{{{{z{{{{||{{|||zz{z{{{{{|{{{{|}{{{{{z{{z{|{||{||z|{z{z{z{|{|||{{|{|{{{{{|{{|}|||{{|{{{z{{||{||||{{{|{{{z{|||||||{|{{||zz||{|{{{||{|{{{{{{|{}|}||||{{||{{z||||||}{{{|{{||{|{|}}|||z|{z|{|{|~{{}{|{||||{{{|{|||||||z{|{{||{{{|||}|||{||{{{|{|||||||{{{{{}{z{||||||||{{{{{{||{|{|{{{{zz{{|||||{|~}|}}}}|}}}~|}}}}||||{{{{||||}||}|{{{{{{z{||z{{|||{z{{{|zz|{|{{|{|zz{zz{{z{{|{{|||z|{{{{{{{{|{z|{{z{|{{zz|zz{|zz{{z{{y{{{{z|zz{{|{{z{|z{{{z{{z{{||{{zzzy{z{{|zz{|{{{zzzzz{{{{zz{z{{{{zz{{z{{{{||z{{zzz{{zz|{||{{|||{|z|zz{{{|{|}||{z{zz{{z{{z|{{|{|{{zz{{z{{{{{{{||{{{||{{{{{||{|{{z{{z{{z{|||{{||zz{{{{z{{||{{|{{{{|{z{|{||{||{||z|{{|{{{|{}||{{{|{{{{{z{||||||}|{{{z{{{{{|}||}||{{||||||{{{}{|{||{{|{{{||}||||}|{{||{{{{||}|}{|}|||{{{|{{||||{|}|{{|}{{{{|||{||{z{|{{{{|{||{||{|z{{{z{{z||||z{||{{{z{z{z{|}{{~~~}~}~~~}}}{}|{|{}|}|}|||{{|{z{||{{|||}|{{{{{|z|{|{{{|||{{{{z{z|{||{||{{|{{y{{z{|{|||||{{{{zz{z{|{{z||{{zzzzzz{zz{|{{z|zz{z{zzz{{z|||z{|zyyzzz{{z{{{||{{z{z{z|z{{{{{{{{{{z{{zzz{{{zz{|z{{{{zzzzz{{{{{{{|{zz|zz{|{{z|{{}{{zz{z{z{{{z{{|{{{z{zz{{{{{|{{{{{{{zy{z{|{|{||{|{z|{zz{z{{{||||z|z{{zzyz{{|||{{{|z|{{zz{{||{{{{|{{z{{z{{|{{|{{||{|{{{{|{||{||||||{z{{{{{{||{|||||{{z{{|{{|{|{}||{z|{{||{|||||{|||{{{|{{{|}||}||{|{{|{|{z{|{|}||}|{{{{{{{|{{||{||{{{|{{{||||||{{|{{{z{{|z}||{{|}|{{|{{{{{{|{{|{|{{{{{z{{z{{|||~~~~}}}}}{|{}}|}}}|}|{|{{||{}|}{{|{}{{{{{{z{{|||z{||{{|z{z{z{|}{{{z}{{zz{{|z{{{{z|||{z{{|z{{{{{|{{{|{{z{{zzz|z{{{||{z{zz{y{yzz{{|{|{{{{zyzzz{{||{|{|{{{zz{zz{{{|{|{{|{y{{{{z{{zz{z{|zzzz{{{{{}{{{|{{zz{{z{zz{{z|{{||{{{z{zzz{{|{|{||{z{z{z{{|{{{{{{{|{{zz{{z|{|{{{{|{{{{{zz{z|{||{{{|z{zz{{{{|{||{{z||{{{{{z|||{z{||{z{z|z{z{|||||}|||{{{{{{{|||{|||{z{{|{zz{|||||{{|z{{|{{{{|{|||}|{{{{z{|{{|z|||}|{{{{{{{{{||}||||{|{{{{{{|{||||||}{{{{{{||{|}||||~{{{{{|{|{{|||||{{|{{{z{|{{|{{{|{|{{{{zz{{{|{|||z|{{z{{{{{|{{~~~~~|}}|}}{{||}|}|~~|{|{{{{{||}|{||||{{{{{z{|{{|||{||z{zz||{{|||{||}{z|{zz{z{z|z{{||{{{{{zz{{{{|{{{|{z{{z{{z||{{|{{|z{zz{z{z{{{{|{|{{zzz{{zz{{|{{||{{{{z{z{zz||{{{|{{{zz{z{{{|{{{}{||zzz{z{z{{z|{||{|z{z{zz{{|z{||z|{zz{z{{{{{{{{z||{{|{z{{{|||{|||{z{{{{z{z{||{{|||{{zz{{{{{{{|{||z|z{zz{z|{z{|||||{{|{zz{{||{{{{||{{{{{{|{{||||||{z{{{|{|{{{{||}|||{{|{{z{|}|{|||{|{{{{{{{{z||{|}}|{z{{{|{{{|{|}}|{{{||{{{{|{||||||{|{{||{||||{{|||{|{{|{{{|{{|{|}|{z{{{{{|{{||}||{{{|{{{{{||{|||||{zz{{|z{|||{{|{|{{z|{|y{{{{{~~~~~~~||{|||||||~}}|~|{|{{{{|||{{}|||{{{{{z{{||{|z{}|{{zzzy{z{{{|||||zzz{{z{z{{{|{{{|{{|{{{z{{{{{|{||{{{{z{{|z{z|z{||z{{zz{z{z{{{{{{{{zzzz{z{z{|{{||{{{{{{zzz{||||{{{zzzz|{{y{{z{z{|||{zz{z{{{|z|{|{{{zz{{{zzz|{{{||{{z{{{z|z{|{{|{|{{{{{z{{{{{{||{||z{{z{zz{{{{{|{{|{{{z|{{{{|{{|{{|{{{zz{{z{|{{|{|{zzz{{{{|{{{{{||{|z{{{{z{{||}{||{{{{{{||{|{|{|||}{{{{{{{{{}{||{{{{z{{{{{||}||||||{{{|{|{z|}|||||}|z|{{|{||}||{}||{|{{|{||{||{||||{{{{{|{{{}{{||}~{{|{|{{|{{|||}|}|{{{{z{|{z{{|||}|{z{{z|{{{|{{{||{z{{{{z{{{}||~~}}|~~~}|~|}||{{|}}|||}|||{{{|{{||{|||||||{|{{z{{{|{|{{{|{{{z{{{{|{{{|{}{z{{zzzzzz{{{{{|{{{{zzz{z{{{{z{{||z{yz{{z{{{|{{{|zzzzzz{{z||{{z{{|zzzz{zz{||{{{{|z{{zz{z{{{{{}{|{z{zzzz{zz{{zz|{{{{{zz{zzz{{{{|{|{zz{{z{{{z{{z{{|{{zz{{zz{{z{|{|{z{|zy{{z{|{{z{z{{{{{z{{{{{z|{z||{{{{z{z|z|{||}||z{|z{z{{{{{{{||{{|{z{{z{{|{{|||||{z{{{{{|{{|||||{{||{{{||{|||}{|{z{|{z{z|}|||||||z{{{z{{{}{{{|||z{z|{|||||{|{||||{{{{|z|{||}|}}{|{z|{{{{|{|{|{|{|z{{|{{{{{{|{|||||{{{{{{{|{||||}{zz{{|{{{|{||||||{{{{z{z|||{|{}{{z{{z{{{{{|{{~~~~~}~}}}|||~{}}|}~}|||||{{{{z|{}{||}||{{{{{{{||||z{|{{|z{zzzy{|||{{||{zz{{{z{{{{{|{|z|z{{{{zz|{{{z{|{zz{zzzz{z{{{{|{|{yy{{zz{{|{{{{|{{zzz{{zz{{|{|||{{|{zz{yzy{{|{|||{z{zzzy{z{z{{{{{{{zzzzz{z|{{||{{{{{{{|z{{|{{|||{{{zz{zzz{|{z|{{|{z{zzz{{{z|z{|{{{{{{{zzz{|{{{{|{{{{{zzzy{|{{||{{zz{zz{z{|{|{{{||z{{{{{zz{{|{{}{|{{{z|{|||{{|||||{{{z|{z{||{|||}|||{{{{z{}|{|||}|{z{{|{{{||z{{||||{|{{{|{||z|{{||||{{{{{{||{{|}}|{{{|{{{||{{{{|{{{{|{{|{{||{|||}}|{{{{{{{||{||{||{|{|z|{{|{{|{|||z{{{{z{y{{{|{{|{z{{{{z{z{|||{~~~~}~~~}}~~|~}}|{{}}}|}}}}}}z{{{|{{|{|{}||z{z{zz{{{{{|{{||||{{{{{zz{{|{{||}{{{{zyzz{{z{{|{{zzz{z{yzz|{{{{{{zz{{zz{{{{{z{|{|{z{{{y{z{{{{{{{z{zzzz{yz{{{{{{|{{z{|{{zz{|{{{|||zzz{z{{{{z{{z{{{{{zz{{{z{|{{{{{{{{z{{|{zz{{{|{|{{z{z|z{{{|{{|{{{|z{{{z{{{|||||z|zz{yzz{{|{|||{{|z{{{{|{z{|||{{{{z{{{{z{{||||{{|{z|{{{{z{{{{{{|{||{z|{|{{{||}|||}z{z{{{{z|}||||||{{{{{z{{{{{{{|||{z{|{{{{|||{{||||{|{{{{||||||||||{{|{{{|{}|{}{||{||y{{{{||}|||{|{{{|{{{|||{||{|}|{{{|{{}{{||||||{z{{|{{{|}||{{}|{|{{{z|{{}|{|{|{|{{{{z{z||{{{~~~~~~~}~~}|}|||}}}||}}}||||{|{{{{|{|||{}||||{{{zz|{{|{{}||{zzz{zz{{{{{|{|z{|{{{z{{|{{{{{|z{zz{{{z{{{{||z{{z{{zzyz{{||{||{{{{zzz|z|{{{z|{{|{zzz{{z{{{|{{{{{z{{{{z{zz{{{{{{{{{{{z{z{z{{{{||{{{zz{{zz{{{|||{{z{{{{z{{{{|||||{{{{z{{{{{{{{{||{{{z|{{|{{{{{{{||z{{{{zz||{|{|||{z{{{{{|{{||{|{||||z{z|z|{||{{|{|{z|{{{{||{{{||{|{||||z{|||}{|||{{{|z||z{||{||||{zz{|{{z||{{{||||z{|{{{{|}|}|}}||||{{||{||{|||}}|z{{{||{{}{|||}}{{{|{{{{||||{|||{z{|{{{|||{|{|}}||{|{{||||||{}||{{{{{{{{|{{|{}||{{|{z{z{{|||{||||{{z|{{z|||{{}~~}~}}~}~}}}}|||||}}|||}}||z{{||||{{{|||||{{|{|z{{{{|{|{|{z|{{{zz||{|{{{}{{{{{z{z{{{{{||{|z{{{z{zz{|{{{|{z{{z{zzz|{z{z|||{{{{{{|z{{{{|{|{zz{{{{zz{{{{|||{{{{zz{{{{{{{{{{{{{zz{z{{{{{{{{{|{{{zz{{z{{{{{{|{{z{{|z{z{||{{|{{{{{{|{{{|{{{||}|z{{zz{{{{|{|{{{|{z{{z{z{z{|{{|{|z{{{|z{z{||||||||{{|{{z{{||{|||{{{{{|{z{||{{{|{||{{{{|{{{|{}|}|{|{{{{{{{||||||{|z{{|z{zz{||{{||||{{z|{{z{||||}|{|{||{||{{}|||}{|||{|{z{z|}|}||||{||{{{{{||||{||||{{{{||||{}||}}||{{|{{{||||{||||||{{{|z{{|{|{|||{{{{{z|{{|{|{||}|{|||{zz|||{{~~}|~~}~~~}}{}}||z{|}|}|}~|}{|{}{{{|{||||||}{{|zz|{{{{{{||||{{zy{|{|z|{{{|{z{{{{zzz{|{|{{|{|{{z{{{{{|{{|{{z|z{{z{z{z{{|||||{z{{zz{zz|{{|{{{{z{{{{z{|{{{zz{{zzz{zz{{||{{|{{|{{{zzy{zz{|{{{{{{{{{z{z{zz{{{|{{zz{{z{z{{{{|{{}|{z{{{y{z{z{{}|{{{{{{z{{{|{{{{{{|z{{{|{{z{||{|{}{|zz{{{{{{||{}||{|{{{{{{z{||{{|}{{zz{{zz{||{{||{||{||{{||{{|{{||{z{{||z{{{|{{||||{{{|{{{z|}|||||||{z{{{{{|}||{|{{{{{{{||||{|||{}|||{||||{|}|||}}}|{|z|{|{|||||||}|{{|{{{|{|{|}|||||{{|{{||{{}{{}|{{{{{||{||{|{{|{|{{||{{{|||{{{|||{{{z{z{||||{~~}}}~}}~~}||||{{|||}|{}||}|{|z||{{z||||||{|{{y{{z|||}z||}z{{{z{zz{{|{{|||{z{{{zzy{{z|{|{{|{{z{{z{{{{{z{||{{{{z{z{{zz{|{{{z{|yyz{{z{{{z|{{z{zz{z{z{z|z{{{{{zz{{{{{{|||{{||{z{zz{{z{||{{{{{{|zzz{zzz{|{||{{z{{{z{{z{{{{|{||{{{z{{{{{{{|{{{|zz|z{z{|{{{{{|{|zzz{{z{{{z||{{||{{z{{z{{{|{||||{{{{zzz{z|{||{{|{|z{{{z{{{{{z{|{{z{{{zzz{{{|{{|{|{{||{z|{{|{|{{||z{{{zz{||{||{{{{|{{||{|{{}|{{|||{{z{|{{z|{{{}|{||z||{{|{|||||||{}{{|z{|{{{||{}{||{{|{{{{||{||{|{|{{{{z{||{{|}||{|{{z{{{{|{{|||{|{{{|{|{{{|{|{|{|{{{{z{zz||{|{~~}~~~}~~}~}~~}}|}|}|||{|||||||||z|z{}|z|{{{}||}|{{{z{zz{|{{{|}{{{{y{z{{{{|{{{{{{{{z{{z{{|z{|{{z{{{{z{{z|z{{zz{|z{|zz{zz{{z|{{{{{zz{{z{{{{{{|{{||y{zz{{z{z|{|{||zz{{zz{z{|{{{z{|{{z{z{zz{{{{{{{{||zyzzzz{|{{{||{{{{{{{zz{{{{{{{|{{zz{zzz{|{{{{{|zz{{zzz{{z{{{|}|z{z{{{{{z{{{|{{|{{{z{z{z{{{||||{zz{zz{{{{{{||}}z|{{{{z{{|{{{{{{{z{{{|{{{{|{|||{|{z{{{{|{{|{|{}|}{{{{{{{{z{|||||{|z{z{{{{|||||}{{{{{z{|||{{|{|||{{|{zz{||{||{}|{}}{|{{{{z||||||}|{|{{{|{|{{{{||}||||z{|z{{|{|||{|{{{{zz{{{|}||||}{{zz{z{z{{||{||{{{zz{zz{|||||}~~~~~~}}}}}|}|}||||}}|}|}}|{{z|{|{}{|||}}|{{{{{z{{{{||{{||{{|z{{{{||{{{|||zz{{z{zz{{||{{{{{z{{{z{{{{{{z|{{{{{{zzz{{{z|{{{{z{zzz{zy{|||{{{{{zzzz{z{{{{|{||{{{{zyzzz{z{{{{|{{zz{{{zz{{{{z{{{{zzz{{zz{{{{{{{{{{z{z{zz|{{z|{|{z{z{{z|{{|{z|{||{{{zzz{{{|{{{{{{{{{|y{{{{{|{|{||||{y{z{{z{{z{|{{z{|{|{z{{{|||{|}{z{{{{zz{|{z||{{{|{{{{{z|{{{{|||{{{z{{|||{{{||{||{{{{{{{{{|{||||{z{{|{{z|}|{|||||{{{{|||{||}|||||{{|{{||||}|{|||{{{|z{z||{}|||||{{{{{{{{{{|{|{|||{{z{|{||||{||{{{{|z{z{{{|{||{||{{{{{{{z|{||{{{|{{{zz{z{{|||{~}}}~~~~}}~}}}}~}{|}}}{{|}|~}||}~~||{|{z{||}{|||{|{{{|z{{{|{|{|||||z{{z{z{{|{{{{|z{{zzzz{{{|{{|{{{|{z{zzz{{|{{z|{zz{zz{zz|z{|{{|{{{{{zzzz{{|{{{{{{{{{z{z{{{{z|||{{{{zzz{{{z{{||||{zz{{z{{{z{z{|||{zz{z{z{|{{|z|{}zz|z{|{z{z{|{|{{{{|z{{{{||{{|{{||{{{z{z{|{{{|{||{{{zy{z{|||{{|||{z{zzz{{z|{|{{{|{z{zz|{z{{||{{}|{{z{{{{{{{||{|}|{{{{z{{z{}|}||}|z{|{{{z{|||||}||{{{z{{{{}||||||{|{{{zz{{|||||||||z{{{{|{|}{{||||{{|{|{{|{}||||||{{||{|{{||||||{||{|{|{{{{|||{||||{{|{{zz{|{|{|||{{{z{{{z|||{|{{{||{{z{|{||{{|||{{{z{{zzz{{|||~~~~}}}|~~}}~}~|}|{{|||{}|||}}||||{|||{{{{{||}|{{{{{{|{zzz||||{{{{{zzz{{{{|{z{{{z{zzz{zz{|{{z|{{{z{zzzzzz{{{|{{{z{z{zzzz{z{{{z{|zzzzzzzz{z|{|{|z{z{{zzz{zz{{{{||{z{zz{zz{zz{{{|{zzzzz{{{{{z{{{{|{{zzzz{z{|zz{||{zz{{zz{{{{{|{|{{{z{zz{{zz{{{{||{{zz{zz{z|{{{{z{{z{{zz|z{||{{{|{|zz{{|z{z{|{{|||{{{|{zz{z{|{{{|zz{zzz{{|{||{{z{{{{{{{{|zz{{|{{|{{{{zz{z{z|{{{|{}|{z{z{{z{{|||{{||{{z{||{{|||z{{{||{|{{{{{{|{{|||{|{{{||{{{|||{|}{|{{|zz{|{{||{|{|{{z|{{|{{||{|||||{{{|{{{|{||||{||{{{z|z{{|{{{|||{|{{{zz{z{{|{|{{{{{zzz{z|{|z{~~~}~|~}}}}}}}~}}}|{}}z||||}||||{{{{{z{z||{{||{|{{|{zzz|{{|||||||{|{z{zz{||{{||{z{{{{{zz{{{{{{|z{{z{{z{{{{|zz|{{zzyzzzzz{z{{z{{|{{zzz{zz{{{{z{|{z{{{z{{{z{{z{{|{z{{{{{zz{|{{{|{|z|z{{{{y{{|zzz{{zzzz{{{z{|{{|z{{{z{z{{z{{{||{||{{z{{z{{{{{z{|{z{{z{{z{{zz{{{|||{{{zz{z{z{{{{||||{{{{{z{{{|{{{|z|{{{{z{{{{{{{{{{|{{z{{{|z{}|{|||}{{{{|{{z{{||{|||{{z|{{|{{|{|||{||{|{|{zz||||}{||}{|{{{{|{||{}||}|{{{|{{{|}{{|}||||{z||{||}|}}}}||{|{{{{z||{{|||||{z{{{{{{{{|{|}||z{{{z{{||{|{}{|{{{z{{|{{{{{||}|{|{{{{{{{|{||{||{{zz{z{|{{|{{}}~}|}}}}}|}}}}||{}{||}|}||}}||zz|{{{}|||||||||{{{{{{{|{|{||{{{{{{{|z{{|}}|{||{{{z{{z{|{z{|{{|z{z{zzz{{{{{{z{{{zzz{{zz{{{|{{{zz{{{y{{{{{{{{|{{{{{z{zz{z{{{|{{{{{{z{zy{||{{{||{z{zzz{z{z{zz|}{{{{{{y{z{{{{|{||{z{z{{{z{{{{{{||{{y|{z|{|||z{{||{{z{{{{{{z{||{||z{{{{z{z|{||||||{z|{|{{{{}|{{}|{{{{{zz{z{{|||||{|{{{zzz{{|{|{|}{{{|{{{{||||||{}|{{|{{|z|}||||||{|{{}{|z{|{|{|}||||{{{{|{||{{|{||||{|{{||z}{|||||z|{zz{{{||}|}}|{{{y|{|{{|{||||||{z{{|{{||||||||||{|{|{{{{|||||||||zz|{{{||{{|{}}|{|{{{|{{|{|z||}|{||||z{{|{{{~~}}~}~|}~~}}}}}}|{}|{{{||}}}||}||||z{||}{|{|{||{{{z{{{{{||||{|||z{zz{{|{{{|||{|{{{z{{|y{||{z}|{{{{{{z{z|{|zz|{|zzz{y{zz|{z|{||{zz{z{z|z{{{zz{{{{z{{z{{{{{|{{|{{{{|z{{zz{{{|||{{{z{{{{{z|||{|z|{{{zz{{{{z{z{{{|{zz{{|{{z{{{||{||zzz{z{{z{{{|z|||{zz{|z{{|{|{|||}|zz{z{{|{||{{{||{z{{{{{{{{{{|{|{z{{{{{{{{{|||}}|{z{{{z|{{|{||||||{{{|{{{{|||||{{{{|zz|{{}|{||{||{{}{z{zz{|}{|{}{|{{{z{{|{||{|{||{|{{{{{{|}||}}{|||{{{|||{}{||||}|{|}{{||{|}|{|{|{{{{{{{{|{||||||||{{{{{|{||||}|}{||z{{{{{{{|{|{||{{{|{{{||||{{}|{{{{z{zz{|||{}}~~~~|~}~|~~}~~}||{|||{{|||}|{}}|{|{||{{|{}{|||}{{{{{z{{{{|{{||{{{|z{z|{||{||{{|{z{{z{{{{|{{{||{{z{yzzz{{{{{z||{z{z{||{|{z||||{{{{{{z{zz{{{{{{|{{{{{z{z{{{{|{|||{{{z{z{{{{{{|z{|{{{z{zzy{{{z{|{{{z{{|{yzz}z{{|||{{|{{zzz{{{{{|{|{z{{|z{{{}||{{||{{z{{zz|{z|{{|{|{{{{|{{{{|{|{{|{|z{|{{{|{{||{|{|{z{{||{z{{|{|||{||{{{{{{{{|{{z|{||{{||{{{{||}||||||{|{{{|{{|{||||{{{{z{{|||{|{|{||{{{{{||}||||{}|{|{|{{{{{{||||||{{|{|{}{}|||}}||{|{{{|{}|{|{}|||z{||{{|||||||}||{z||{{{||||{|||{||{{{{z{}{{|{}z{{{{{z{z||||||{|{{|z{{{{{|}{|~~~~}}}}|~}}}}}~}|||||z{|{}|||||||{{{{{|{{{||{{||{{{{{z{{{{{|{{|||{{{{{zz|{{|z{|{z{{{{z{z{{{{{{||{{z{{z{zz{{{{{{{{{zzz{z{{z{{z{{{|{{z{zzz{|{{z|{|z{{z{{zzz{{{z{{{{{{{z{zz|{{{{{|{{{|zzzzzzz{z{{{{z{zzzz{{z{{z{{|{z{{{z|zz{{{{{{|{|z{z|zzz{{|{z||{{z{z{z{{{zz{{|||z{{{{{z{|{|z{z|{{{{z{z|{{{{|{||{zz{|{zz{|{|{{{|{{|zzzzz{{||{|{|{{zz{{{{{|{|{||{{z|{{{{{z||||||}}{z{|{{{{{}|{|}||{z{{|{{{||}{|}|{|z{|{||||}|||||}}{{|{{|{||||||}|{{{{{|{{||||{|{||{{z{{{{|}{{|{|||z{{{||{{{||{{|||{|z{{{{|||||||{{z|{|z{{z|||{{|{z{{{{z|{{{{{{}~~|}~|}{}|}|}|~}}|{{{|||}||||}|}|{{{{{}{||{{|||||{{{{{z{{||{||}|{z{{z{z{{{||{{||{z{{{{{{|{z|{{{z{z{zz{zz{z||{{||{{{z{{z{{z{{z{|{zz{zzyz{z{{{{z{|{{{{zzz{|{{{{{z|{{|zzz{{{{{{{{{{{{z{{z{zz{{z{|{{{{z{{z{z{{z{{{||{z{{{{{z{{{|{{|{z|{{{z{z{||{{{||{{{yz{{z{{{|{{||{{{{{z{z{{{{|{{{z{|z{z{{{|{{|||{{zz{z{{{{||{{{{{{zz{|z|{{{||{|||{z{{{yz{{|||||}{{{{{{|{||||{||}|{|{|{zz{|}|||||||y{z{{{|||||{|}||{|{||||{{|||||{|{{{{||{{}|{{|}{{{{{{|}{|{||||}|{z{|{{{{||||}|||{|{{|zz|{||}{|{|{{|z{z{{{||{|}{{|{{{{{z{||{||{||{{{{z{{||{|{{~~~}}~|~|}{~}||~||}||{|||{||||}}|}||||{{|||||{{|}|{{{{{{|{{{{||{||}{{|{{{{z|{{{||{||{{z{{{z{{||{{|{z{{{z{zy{{{|{{{{{{{zz{{{{z{{{{{{{{zzzz{{{{{{{||{{zz{{{z|{{{{|{{{|{zzzz{z{|{{|{z{{z{zzz{yzz{{{{{{{zzzz{{z||z{{|{|{{|{z{zz{{|{|{|{{{z{z{z|{{|{{|{{{z{{{z{{{z{|z{|{zz{z{z{zz{}{{{||{{{{{{{{{{{{{{{|{{|{{z{{{{{{{{|z{{{{{{z{{{{|{{|||{|z||{{{}|||{|||{|{{{{{{{||}}||{{{|||{{z|||{|{||z{{{|{{}}{||||{{{{{{{||{|{|||}||}{{|{{{{}}|||}||{{{{{|{{|}||}|||{|{|{{{z{|||||{{|{{|{|||{|}|}}||z|z{{|{{|{||||{|{|z{|{z|}{}||{{{|{z{{{{|}|||~~}}|}||}||}|{}|}}|{{{|z}{|||{}}}||{||{||z||{{{||||z{{{z{{||{||z{||zzzz{{z|{|}z{{||{{zz{{{{z{{{{{z{{y{{{{{||{zz|{|{zz{z{z{{{{{{{|{z{z|zzz{{{||{{|{{{{{y{{{{|{{{{|{zz{{zzz{{{{|{{||z{{{{{{zz{|{{|z||{z{z{zz{{{z{|{{{{{{{{zz{{{|{||{|{{{{z{z{||{{z{|{zz{{z{{{{|z||||{{{{z{z{{z{|||{|{{{z{{|{{{|{{|||{{{|{z{{{{{{|z|{{z{|{{z{|||{{{{{|{z{{z{z{||{|||{{{|{{{|{|{{}|||}z{{|{{{{{||||{||{|{{{{{{|||{||||{{{z}|{|{{||{|}||{|{{||{|}|||}|}|{{|{{|{|||}|||||{{{|z{|{||{||||{{{{{{{||{|||}|}{|{{{|{z{|||{||{{|z|{{{{||{{||{{{{|z{z{z||||{}}~}|{}||{||}||}}|}{|{{|{|{|{||||||{{zz{z{{{{{{{{{{{zz{z{z{|||{{{|{{||{zzzy{{|{{{{z{{zz{zz{{|{{z|{{{{zzz{z{{{{z{|{{zzzzzzzzzz{z{{||z{zz{z{z{|z{{z{zzzz{zzyz{{|{{|{{zz{{zzz{{|{{{{z|z{{zzyzzzz{{|{|{z{zz{{zz{{z|{|{{z{zz{{zz|z|{{{{{z{{zzzz{{z{{z{||{z{zz{{z{z{{{{{|{z{yzy{|{{{z{z{|{{{z{zz{{||{{||{{z{z{z{z{|{{{{{{zz{z{zz{|{{{z{{{|{{{{|z|{{||||{{{y{z{{{{{{{|z|}|{{zz{{{{|||{|{||{{{{|{{{||{{|{{{{z|{{{{{{{|||}|||{{|{{{||}{|||||{{{{{{{{{{|{||||zz{{{|{{||||||{||{{{{{{{{|{}{{||{zzzz|{{{{{||{}{{z{zzz{z{|{|{{|||z{z{{{z|{{{{}}||{|{|||{{|}|}{|}{|||{{{z}{{{{|}||{{zz{{z|z{{{{||{{{zyz{|zz{|z{|||z{yz{{z{z{{{{|{zz{yzzz{z{{zz{z{zyyz{{z{{z{{z{{zzzzz{zzz{{zz{|{{y{zzzy{y{{z{{{{{{zzz{yzzz{z{{{{{{{{zyyzzz{z{z{{{zz{{yzzzzz{zz{{{z{zzzzzz{{zz{{{{zzz{z{zz{{{{z{{|{zz{{z{z{|z{{z{{{yz{{z{{{|{{{{{{z{{zzzzy{{|{{{||z{zy{y{{{{|{{{{{z{{zzzzz{{{{|{{{{zz{{{z{{|{{{{{{{z{z{{{{z{{{{||{{{{z{z{|{{|||{||{z{{z{zz{|{z{|{{{zz{zzz{}{||{|||{{{|{{{{z{{|{{|||{{zzzzz||{{|{}{{{z|{{{z|{|||{|{{{{{{{z{|{|{{||{|{{{{z{{{{z{|||}|{zz{{zz{{{{{{||{{{{{{{z{|{|{{|{zzzz{zz{|{z{{~}}|}{|}||{|~|}}|~|{{}|{zz{||{|||}|{|z{{z{{|{{{{||||z|{{zz{{{|{{z|||z{z{{{z{{{{{|{{z{{z{{{{|{|{{|{{{z{zz{{{{|{{{|{{zzzyzzzz{z{|z{{{z{zz{zzz{{{z|{z|{zzzzzz{{||{|||zzz{{zzz{{{{{{{{{{{{zzzzzz{{z{|{{{{zz{zzzz{z{{{|{z{zzzz{z{z{{}{{|{zzz{z{y{{z{z{{|{{{z{z{zz{z{|{|{{z{{z{zzz{{{{{{|{zz{zz{zz}|{{|{{{{{{{{{{{{{{{{}{z{z{zzzz{{||{|z|{{{z{{{{|{||{||}z{{{z{|{|{||{{|{||z{{{{z{{{||||{{zz{{{|{z||z|{||{z{{{z|{{{{{||{{{|{{z}{{{}{|{|{|{{{{{{{|}{||||||{{{{{z{{{{{||||||{{{|{z{{|{{||{}{z|z{{z|z|{{||||{|z{{z{{{|{{{{{|z{{{{z{z{{{{{}|}|}||{||{}}}|}{||{{{{{{{{{|||||{|{{{z{{{{|||{{|||{{{{{zz{|{{{{{|z|{{{zzzzz{|{{{{{{{{{{z{z{|{z{{{{{zzz{{zz|{|{{|{|z{{zzz{{|{z{{z{|{{z{zzzz{z{{{{{{{zz{zz{zz{{|z{||z{{{zzz{{{||{{|{zz{z{{{zy{{{{{{zz|{z{z{{|{z{{}{z{z{{z{zz{{|{{{|{{z{z{z{zzz{{z{||{zzzz{|{{||{{|{{{{zzzz{{{{{||{||{{{z{{|{{{{|{{z{{|z{{{z{{{|{{{|{{z{{|z{z{|||{{{{|{{{{|{{|||||{{|{{{{|||{{{|||{{|{z{z{{z{|{}{||{{|{{{{{{z{{||||||||{{{{||}{||{|}||z{{z||z||{||}||||{{{zz{||||{}|||{{{{|{{|{|{{||||z{{z{{{{|||||{}z|{{{z{zz{{|{}||{{z{z|{z||{{{{||{{zzz{{{{|{z|}}}}||||}|{||{|||}|||{|{|{{}}{||{|||{{{{{|z{{{{||}{{|z{|{z{|{||{{|{{{{y{y{{{{{{{{{{|z{zz{{{{{{{{{|{{zz{zzz{{{|{z||z{zzzzz{{{z{{|{|{zzzzzz{zz{{{z{{{zz{|zzy{zz{{z|{|{zzz{zz{{{z||{z{zzzzzzzzz{{|{z{{|z{zzz{zz{{zz{{{{z{z{|zz{{{z{{{|zz{z|{{{z{{z{{{|zz{zz{{z{z{{z{{|zzzzzz{z{{|{||{{{{{{{z{z{{{{z|||{{{z{zz{{{|{z{|{{{{{{{{{|{}{{|||{{{{{|{{{|{}||{|{|{{{{{z{{|{{}{}{{z|{{z{|z{{}||||{{{{{z{}}{{||{|{z{|{|{|{{|{|||{||z{z|{{{|{|||||{{{|zz{z}|||||{{{{z|{{z|{||{{||||{{z}{{||{{|{}|{z|{z{{z{{|{|{{|{{{z{{{{{{|{{{{{|z|{z{z{z{{{{z~}}|}|{|{}{{}|}}||~|}|{||{{|{{{}|}|{{{{{{{{{|{{|||{{|z{{{zz{|{||z|{||z{{{{{zz|{{{{|{|z{{{z{{|z{{{||{z|z{{yz{|{z{{{z{{{y{zzzz{{|{|{{zz{z{z{{{{||{{|{z{{{zzz{{{{z{{|{z{{zz{{zzz{{|{|{z{zzz{z{|{|z{z||{{z{{z{{{{{{{|{{{{{{{z{z{{z|{|{{|zz{{z{z{{|{|{|{{{{{zz{{z{{{{{||{zz{zy{{z{{|{z||{{|zzz{{||{|{||{{{zz{{{z|{|||{|{z{{|zyz{||||{{||{{{{{z{{|{{|||||{{{|{{{{{{||{||{z|{|{|z{{|{{||{{|z{z{{z||}{{{|}{{{{{{z{{{||||||}{{||{|{{{||{|||||{{{{{{{||{|{{}||z{z{{{{{{|z||||{{|{{z{{|{{{||||z{|zz{{{{|||{{|}{{{{{|{z|||{{{||{z|{zz{z{{{{{~|}{|}|||{{|||}|||||{{{{{{{{|{|||||{{{z{{{{{{{{|{||{zzz{{{{z{{{{|{|{z|z{yyz{{{|{{{{|{{z{z{zz{{{|{||{z{z{{zz{{|z{{|{z{zzzzz{{{{{|{|{{{zz{{y{{zzz{{{z|{yzzzz{z{{{{|||{{{{y{zy{{{{{{{{{{zzzz{zzz{{{{zz{{zy{yzy{{{{z}{|{{{z{{{z{|{|{{|{{z{z{z{zz{{|{{||z{zzzz{z{{{{{{{{z{{zzz{z{|z{{{||z{{{{y{zz{{{{|{{{{{{zzzz||{{{z|{|zz{{z{z{{|{z|z||{{z{zz{zz||||||z{{{{{{{{{{}{|||{{{{z{z||{{|{{{{{z{{{{{|||}||||}{{{{|{{{|{||||||}{{{{|{{{}|||{}||{{{z{|z{||{||{{|z{z{z{{||{{{||{{{{{z{{{{||{|{{||{z{z{{{zz|{{{|{{{zzzz{z{}{{{|{{z{|{{{zz{{|||}}~||||{{|{{||||||}{|{{z{{{{|||{|||{|{{|{{z{{{{|||{{{{{{{z{{z{{z{||{{zy{zz{{{{|||{|zzz{z{{{{|{{{{{|zz{{zz{zzz{|z|{zz{z{{yyzz{z{{{z|z{zzzz{{|{{{{z|{{{{z{{z{{||{{||{zzz{zzzyzz{||{|{{z{{zzzy{{{z|{|{{{z{z{zzz{y{{{{z{{{{{{zzz{{|{{{|zz{zzz{{{{|{{{{||z{zzzz|{{{{{|}{{{z{zzz{{{z{{z|{zz{z{z{{{|{{||{{{z{z{{y{{{|{z|||{z{{{{z{{{z{{||{z{z{{z{{{{|{||{{z{{{|{{{z{||{|||{z{{{{{{{|}{||{{{{z{z{|z{|}z|~{|{{||{||{{{{|||{{|{{{{|z{|}{|{||}{{{{{z{{|{||{||{|z{{{|{{{{{{{|||{{{{{{z|{{{{{{|{{{{{|z{{z{{|{{{{{{{{|z{{z{|{{|{{zz{z{x{{|z{z{||}|}}|||{|||||{}}}{|{{{z{{|||{{{||||{{{{zz|{{{{{||{{z{{{z{{|{{{||}{{|z{z{y{{||{{|{zz{{{{{z{{{{{||z{{zz{{zzz{|{{{||zz{{{z{{{z{{{{{|y{{{zzzzz{{|z{{{|z{{zzz{{{|{||{|zz{{z{zzz|{{z{{{{zz{{{zzz{zz{{{{{yz{z{{zz{{zz|z{z{{{zzzz{{||{{z{|zz{z{z{{{{{z|{|{{zzz{{z{{||{z{|zz{{zzz{z{{{z{||{|z{zzz{{|{{||{|{z||{zz{{|{{|||{|{{{{z{{{|||{{|{||{{{{{{|{{|{|{{z{{{z{|{|{{|{||}{|{{|{z{z||{{{|{|{{{zz{z|||||{}|{z{{{||{|{|||||{{{{z{{{|{}|||{||{{|{{z|{||{|||||z|{zz{{{|{|{|||||{z{zz{{||{{|{|||{{y{{z{{{|{|}}|{{{{{|zz|{{|{{{z|z|{zz{z{{|{{}}||||}z{{z|||{|{|{|||{{{{|{|{||}{}{z{{{{y{{{{|{{||{{{{{{{z{{|{{z{{{z{{{{zz|{{{{{z{{{|yzz{zz{{z{|{{z{z{zzz{{{zz{|{{z{zzzz{z{z{z{z||z{zzzy{zz|{{{|z{{zzzz{zz{z|{||{{z{zzyzzzz|{|{{|{{z{zzzzz{{{zz{{{{zzz{z{{y|{z{||{z{z{zzz{z{{{z{|{zzzy{z{{{|{{zz|{{z{z{yzz{|{{{|{zyz{{zz{z{||z{{{|{zz{zz|y{z|z{{{{zzz{{zy{{|{{{{|{|{z{|{z||{{{|||{{z{{z{{{{|z|{{|{{{{{z{{{{|||||||{{z{{z{z{{||{{||z{{{{z{z{|{|||||z{{{z||{{||{||{|z{{{{{{{|}{|{|||||||z{{z}|||{{|||{z{{{z{|{{||{||{{{{{|zz|{||{}{|{{{z{{{z{{z{{||{{z{zzz{zz{{{}{}{{{{y{{{{{{{|{~}}|||||{|||}}|{|{}{{|{{{z{||{}||{{{zzzz{z{|z|z|||{|{{z{zz{{{||{{|{z{{{{yzzz{zzz|||zzz{{{{zz|zzz{{|{zzzzzz{zz{zz{z{zz{zzzzzzzzzz{{|zz{z{z{y{{{{{|z{zz{zz{yz{||{{{{|{{z{y{zzz{{{{|z|{z{{zzzz{{z{{|{{x{{zzz{y{{z{{{y{{z{z{zzzy{{{{|||{{{zz{z{zz{{{{z{{{z{zzz{{{{{{||{{zyzzz{zz{{{|||{{z{{{z{zz{{||}{{{z{{{{{{|{{|{{{{{{z{z{{z{{|{{{{||z{z{{zy{{|{{||{z{{|z{{{|{{|{{||{{z{{z{z{|{|||{{{zzz|{{{{||{{|||z{{{{{{{||{|{|}{|{{{{{{z{||{||||{{{{{{{{|{||{||}|z|{{{z{{{{|{{|}{|{{zz{{{{{|{|{z{{zz{{{{{{{{{{|{{{{|{{zz{|{{||{|{z{zzz{z{|{|{|}|}}|{{{|||||{}{|{z{{z{{z{{|{{{}|{|{zz{z{z{{z|||{{{zz{z{{z{{{{{{{|{{zzzzzz|{{{{{{|z{|zz{zzzz{{{{z{{z{{{zzz{{{{z|{{z{y{{zzz{z{{zz{{zy{{z{zzz{{{y{{{{{yzz{y{z{z{|{{{{{{yzzzzz||{zz|{zzy{zzzy|{{z{{zz{zzz{zzzz|zz{{{z{z{{zz{{z{z|{{||{zzz{{z{{{{{{{{{{{z{{yzz{z{{{{z{z{z{z{zz{{{|{{||{zz{z{zz{{{{||z|zz|z{zyz{||{z{{{z{{zz{{{{{|{{{|{{{{zz|{z{|||||||{{{z{z{{|{{{|{{}|{{{{z{zz|{||{|{|{z{{{{{|{{{z||{z|{{{{|{{|{|||{z|{{{z{{{|}{|{||||{|{{{{||||{{|||{{{{z{{z{|{{||{{|{{z{zz{{z|z{|||{|{yz{{{|{{|||{{{{{{{zz{{|{{|||{z{{zz{{z{{{z{}}{|||{{{{|||||{}}{{z{{{z{{{||}{|{||{{{{zzz{|{|{{|||{zzz{zzz{|{{{|{z{{y{z{z{{|{{{{|z{zzzz{zz{{{z|||{{{z{{z{{|{{{{{{yz{{{{{{{{{|{{z{z{yyz{zyz{|{{z{{{z{{{z{{z{{{|{{y{{{{zzzz{{zz{{{{{{{{zzzzz{{z{{|{{z{zzzz{z{{{{{{{zyzzzzzz{{{{{{|{{zzz{{zz{{{z{||{{{{{{{{z|z{{zz{|{{z{z{{{{{{{{|||{zz{{{{z{|{{|||{{z{z{{{z{||{{{|||z{{{zz{{{{{{{|{{{|{{{{{{{{||||{z{{{|{{|{{{|||||zz|z{{{z{{{|||{{{{{{{{{{||{{||||z{z{{{{{|||}{|}||{{zz{z{||{|||||||{{{z{z{||{||{{{{{z|z{{{|z|{{|{|{zz{{|{{{{||||{{z{{{z{z|{{{{||{|{{{{zzz{|{||{{|z{{zz{z{{{{{{}|}}|}{|||{||~|{||}}||{{{{{{|{{|z}}|{{zz{{z{{{z{|||{{{|{zyy|{|{{|{{{z{{zzzz{{||z{{|{zyz{zz{{z|{z{|{{{{zzz{z{{z||{z{{{zy{{z{{zz{{{z{|{zzzzz{|{{z{zzz{yz{zyzz{{}y{{{{{z{zzzzy{{{{{|{{|{zzzyzz{{z{|{{z{z{{{yzzz{{{z{|{{{z{{{z{|{{|{{||{zzzzz{zz|{{{z|||z|zzzz|{{z{{|{|zz{{{{zz|{{{{{|}{{|{{z{{{{{{|{{{zzz{{z{z{|{{z{}{{{{|{zz{|{{{||{{{z{z{{{{{{{|{{||{{{{{{|{|{{|{|||z|{|zzz{|||{|||z|{{{{{{{{|||{}}|{{z{|{|{{{|{||{|{{|{{{|z{|||{{{{|{{||{{{||}|{||{|{{{{{{|{{{{|||}|{{{{{z|||{|{{|}{{{zzzz{||{{||||{{z{z|{{z|{{{z|{z{{{{{zzzz{|{}|||}||{||z{{}||||||{||{{z{z{|||}{}{{{z|{|{|{{|{||}{{|z{{z{{{z|z{||{{{{{{zy|{}{z|{{zz{z|zzz{{{{{||{{z{zzz{z{{{{{{{{z{|yz{zz{z|{{{||{y{{zz{{z{{|{z{{{zz{zz{|zzz{z|{{z{zzz|{z{{{{zz|||{z{{y{zz{{{{{|z{{{zzzzz{|{{{|{{z{{z{{z{{|{z{{{{|{zzz{{z{{{{|{{{{z{zzz{{{{{{{{||{{{{{z{{{{{|{{{{z{z|{z{z|{{|||{{|{|{z{{z|{|{|||{{z{{{{zz{{{{|{|{{|{{{z|{|||||{|{z{{{|{{{|{{||}}|{{{|{{{z||{||{|||{|{{|{z|}{||}|||||{{{{{{||||||||{||{{{{|||||{||||{|{z{z{|||{|}|{z{{{{{{{{{||{|}|z|{||{{{{{|||{||{|{z{{|{||||{|{{{{|z{{{{||{|||||{{{{z{{|{{|{}}|{{{{{{|{}}||||{|||{||zz{{||{{}}|{z|{z|zz{}{{{}|||z{{{z{{{||}z{|{{{zyzzzz{||{{{z{{{{zzz{{{|{{{{{z{z{z{{zz{||{||{zz{{y{{zy{{z{{{{{zz{y{{zz{{{{zz|{|{{{{{yzz{{{{z{y{zzzzzzyzz||{{|{{z{zyz{zz{|z{z||{|yz|{{yzz{|{{{{zz{zz{zz{z{{{}{{{zzyzzy{{{|{{|||{{z{zz{z|z{|{|{zz{{zz{{z{z{{{{z|{{{{{y{z{{||{{||{zzz|{{{z{|{{{|z{{{{zz{{{{{z{{|{{{{z|zz{{{|{{|{{z{{z|{{zz{|{||{|{{{|{{zz{{{||{|||z{z{{z{|||||{||{z{{{{|{{|{{|{|||z{{{{{|{||||{|{|{{z{{{{|{{{|||{{{{{z{z|{|{|}{{}{{{{{{{{{{||{|}|{{{{{zz{{{||{|{}{{{zz{z{{|{|{{{|z{{zyzzz{{{{{}||{y{{{{{||}}||||{|{{{z{{{||{||{||{zz{zz{{{|{|{{{|{{z{{{z|{}||{{|||{{zzz{{{{{{{}{{{z{{z{{z{{{zz{|||{{zzz{{{{|{z{{zzzzz{{zz{{{|{{{{{{z{zyz{z{{z{{||{{zzzzz{zz|z|{{{zz{z{zzzzz{|z{|{{{z{zz{{{{{yz{{z{zzzzzzz{{{z{|{{{zy{{{zz{{{{{{|{{zzy{z{zz{{{{{{z{{z{{zz{{{{{{{||{{zzzzz{{{{{{{||{zz{{{{{|{{{{{{{{{{{{{{{|{{|{{|{{{z{{yz{|{{|{{||zzz{{{zz{|z{{||{z|{{{{{{{|{|{|||{{{z{{zy|||||}{{{{zz{z{{{}|{|{}|{z{{{|{{||||{|{||z{{z|{|{|||{{|{{{{|{{|{|{|{{|{|{{{{{{{{{{|{|{|}{{z|{zz{|{{|{|{{{{{z{{{{{{{||{|}{{zz{z{z|}|{{{{{{zzz{{zz{{{{{||}{||{{{{{|||{|{||{z{{yz{|{{{|{{|{z{zz{z{z|{{{|{{{|{{z{z{{{{z{{{{|{{zy{{zz{z|{{{{|z{z{{z{zz{|z{||{{{{{{z{z|z{{z{z{{{{zyzz{{z{z{{{|{zzyzzz{|{z{{|{z|zzzz{zz{{|z{{{{{yzzyzzz{{{z{{|z{{y{{{{y{z{{z{|{zzzzzyzzy|zz{{{{zzzz{z{z{{|{{{{{|{zzz{zzz|{{z{{|{z{{{zz{{{{{{{{|{z{{{z{{z{{{{{||{zzz{z{z|{|{{|{{{{{z{zz{{|{{{{|{{{{z{{zz|}{{{|{|{{{{z{{{|{||{|||{{{{{{{{||{||{|{{zz{y|zz{{{||{|{|zzz{{y{{|||{||}|{{{{|{|{{{|{|{|{{z{||{{|||{{||||{{{|{{{{|}{{||{|{{}z{|{{|{{|{|{|{{|{z{{{|{|{}{|{{zzz|zy{{|{{||{|{{{zy{z{{|{{z{z{{|z|z{zz{{{|{|}||||{{{{{||{|{||z|zzzzz{{{{{{|||z{{z{zzz|z{{{{{{{z{zz{yz{{{|{z||zzzyzzzz{{{{{{{{zz{zyzzz{|{{{|{{{{zz{zyz{{{z{|{{{z{zz{zyz{{{z{|{z{yy{zzzz{|z{{{{{z{zz{y|{|{z|{{{{{z{zz{zz|{z{{|{{z{{zyzzz{{{{z{{z{{z{z{zz|z{z{z{{zzzz{zzz{{{z|{{{z{zzz{z{{{{{{z{{{{{zzzz{{|z{{{|{z{zzzzz|{{{{||{zzz{{{z{{{{|{{z{z{{z{{|z{||{|{|{{{z{{zzzz{{z{z{|{{{|{{z{z{|||{{|zz{|{{|{{|{}{{||{z{z{z{{{|{{{{{{{z{z{y{z||{{|||}{{{{z{{{{{{||{|{{{z{{{zz{|{||{{||{{|{{{{{{||{}|||zzz|{zz{||{{||||{y{{{z|{{{{{|||{{{z{y{z{|{{||{||{z{z{zz{|{|{z|{{{{yzzzz{{|{||{||{{{{{z|{z|{{|{|{{{{z|zz{|{{|{{||z{zz{{z{{{{{{|{|{{zyz{{|z{{|z|{zyzyz{{z{{{{z|z{{zzzyyzzz{{zz{{zz{zzzzzzz{{zz{{{zzzyzzzz{zz{z|{{zzzzzy{{z{{{z{|z|{zzzyzzz{{zz{|{{z{{zzzzz{{z{{{{zyzzzyz{z|{{{|{z{|zzyyzyz{zz{|{{{z{zzzyz{{zz{{{{zyzzzyzzz{z{{{{{z{{{{y{{zzzzz{{{zzzzzzzzz{{{{z{{{zzzzz{zz|{{|{z{{{zyzz{zz{|{{{||{z{{{{|zz|{z{{{|{{{{|zz{z{||{|z|{z{z{zz{|{{{z|{|{{{{{{{z|{|z|{z{{z{{|{zz{||{||{}z{{z{||z|{{||{||{zzzz{zz|||{{||||z{{z{{{{{||||{|{{{{{zzz{|{z{{{{{zzz{{z{z{|{||||{zz{z{zzz{{{{{{{|zzzzz{z{|{{|z|{}{{z{zzz{{{z{{||{|{{{{{{||{|{|||z{{{{zz{{}|{{||{{|z{||zzzz{{{|||{z{z{zz{{{|{{|{{|z{{zz{y{{|{z|{|{z{zz{|z{|{z{|||z{zzzz{z{{z{|{z|{zzyz{z{{{{{z{{zzzzzzz{z|z{{{{{{zzzyzzz{zz{|{zz{z{{z{z{yzz{{{|{z{{zzzzzz{z{z{|{{|{zyzzzz{zz{z|zzzzz{z{zz{{{{{{|{{z{zzyy{{{|zz{|{{z{{yzz{{z{{z|z{{{z{yzzz|{z{{z{|{{{{{{z{{{||{|{{zzzz{yz{{}|z{{|{{z{{z{{{|{{{{|{{{|zz{{{zzz|{{|{|{{z|{{|{{{||{}{|{{|{{zzz{||{|{|||{{z|z{{{}}|||}{{{{{{{{{{{|{{{{{|{{{{|{{{||||}||{{||z{z{{|{{|}{|{{{|{{z{{|{||{{||zz||z|{||||{|{|z{{z{zz{|{{{||{|{|zz{zzz{{{|{{|{{{{{{z{zz|{{{|||{|z{{{|{|~{}||||z{{{{{{{{{|{{|||zz{zz{zz||||{{{|{{z{z{yz{z{{zz|{{|zzy{zz{{{{{|z{{{zzzzzzz{{zzz{{{zzzzzzz{z|z{{{{z{zz{zzz|{{{{{{{{yzyzzzzz{{{zz{|{z{{z{{zz{{{{z{{{{{{z{x{z{{{{|{{zzzz{yzz|{{zz{|z{{z{zy{zy{{{{|{{{y{zzz{z{{zz{{{{|yzz{z{{{||z{{z{zz{zzzzz{{|{{z{{zz{{yzy{{{{{{{|{{{zzzz{z{{{|z|{{z{{{{zzz{{||z||{{{zz{zz{{{|{{{||{{{{{{{z{|{|||{|{{z{{{|{{||{{{{|{z{{{{{z||{z|||{|zz{{{|{|||{{{|{{{{z{{{z{}|{||||{|z{{{{{||{||}||{{{||{{{||{{|||||z|z||{{{{|{|||{{{{{{{{{{|{|{{||z|{z{{z{{|{||{|||z{{{{{{z||{{|{|{zzz{{zz{|{|{|||{|{{|{{z{|{||{||zz{{{{{z|{|{}|{{{{|z{{{{{|{|||||{zzz{zzz{{{|{{{}{{{{yzzy{z{{{{{||{{{zy{zz{{{z{{{|{{z{zzz{||zz{{{{|zzzzzzz{{{z{|{zzyyzzzz{{{y{{{{{z{zz{yz{z{|{{|||zzzzzzzz{{|{{{{|zzzzyzy{{{z{{{z{{{zzzzzz{z{{{{{zzz{{{zz{{zz{{z{z{yz{zzzz{{{{{{{zzz{{zz{|{|z{|||{z{{z{y{{zzz{||{{zz{{zzz{{{{{|z||{zz{zzz{||{{{|{{{z{{{{{{{{z{{|{zz{{{{{zz{{{||}|{{{z|{zz{{||{||||z{{{zz{|{|{}{{{{{{{{{{{|{{{|{}{zz{{{|{{{{{{{||{||{{z|{{|||z|{{{|{{{{{{{{|{|{|{|{{zz|{z{||{|||||{{zz|zz{||{||||||{zz{{{{z||z|||{{{{z{{{{{||||||{zz{zzz{z{||{{}{|{|z{{z{z{{{|{{{|z{{{zzz{{|{{{|}||{yz{{zz{{|{{{|{{z{{z{{|{{|{z{|{{yz{zzzz{{{{|{{|{y{zzzzz{{{z{|{{zzz{{{z{{{z{zzz{zzzzz{zz{z{{z{z|zzzzzzzy{{{{z{z{z{{{zzzzz{{{{z{{{z{zyzzz{||{{{{z{{{zzz{zz|z{|z{{zzzzzzzyz{z{{{z{yzzzzzzzzz|{y{||{{zz{z{zz{{{{{{{{zzzzy{{{{{{{{|}{zzzz{z{{{|{{|{{z{z{{{{z|{{{{|{{{yz{{z{z{{|{{{|{zy{{{zzz{{{||{{{{{{z{{{z|||{||{|y|{z{{{{||{{}|||||{{{zz{{{{}|{{{|zy{|z{z||{{{||{{{|{{{|z{{||{|{||{{{{||{{|{|||||{z{{z{{{{|{{{{|||z{z{zz{z}|||{|||||{z{{{{|z{||||{{yzz{{{z{{{{{}{{z{{{{zzz{{{z{|{{{z{{y{|{|{z{|||{|{|{{zz{|||z{{|{{{{{zz{{{{{{||{||zzzzzz{{{{}|{{{z{z{z{{|{|{|{|{{{{zz{z{{{{{{||||zz{zzzzzz{z{||zz{zz{{zz{{{{{||{zz{zzzz{z{zz||{{z{zzzyzzz{{{{{|{z{z{y{{{{{{z{{|{{{{zyzzy{{{{||{|{z{{zzz{z{{z{{z{{zzz{z{zz{zz{}{{{zzzzzzzz{||{{|{{zzz{z{y{{{{{{|{|{{{{{zzz{z|{}}|{{{zz{{z{z|{{{{|{{zzzz{{z{{|{|{|{z{{{{zz{{{{{{}{{{zz{|zz||{{|||{|{{{{|z{{|||{||{{{{z|{{|{{{|{||||z{{zy|{{{||{|||}z{{{{z{||||{|}{z||{|{{z|z|}||}|{{{{z{|{{}|||}}||{{|{{{{||||{{{{{{z{|{|{z{|{||||{{{{|{{|{|{|{|z{{{zz{z|{z|z{{|||{{{zzzzz{{{{{||||z{z{zz{z{|zz||}||{|{{{{{|{||z|}z|||{z{z{{|||{||{|{{{||{||{{|||{z{{}z{|z{{|{z{{{|z{{{zzz{{{{{{{}{{{{{{{zz{zz|||z{{z{z{z{{z{{z{{{{z{zz|z{|z|{z{{{{zz{zzzz{{{{{{{{{{{{z{z{z{{{|{{{{zz{{{{z{{{|zz|{{zz{{z{{z{{{{{{||{zz{zzz{{{z{||{z{|z{{yz{{z||{{{|{{z{z{z|{|{{{{{{{z{zzz{|{{{{{||zz{z{{{y}{{|||||{{z{{{{zz{||{|{{|z{{{{{{z||{{{|{|zz{{zz{{|{|{|{{{{{{{{z{|{|||{||{||{{z|{{{{|{|{{|{z{|{|z{{}||{||{{z{{{z{}{{{||}|{{{{|z{z||||||||{{{{|{{{|}|{{||||{|{{{{{{{||||||{{{{{z{z{|||{{}||{{{{{zz{|{|||{|{{{{{{{{{|||{{|}|{z|{{|z{|{{||}||{{{{{zz|||{{|{}z{z|{z{{{||{|{||{{|z{{z{{{{|{|{|{{zz{{{{|{{z{{{{{zzz{zz{{{{{{|{{y{{yz{{y{{z{{z||{z{y{zyz{{{{z{{{{z{zzzyz{{|{{|{{{zzzyzyz{{z{{{{|zzzz{zzz{z{z{{{{zz{{z{y{{z{z{{{|z{z{zzz{z{{{{{{|{z{{{zzy{{z{z|z||z{{zz{yzzzz{{{{zzyz{{zzz{{{{{{|zzzz{z{z|z{{z{{|{{{yzz{{{{|z{{|zzzzzzz{zz{{{{{{{|z{{z{{zz{{{{{{{{z{{{zz{{}|{zz|{{zz{zzzz{|{{{|{|{z{{||z{{{|||z}{{{|z{{{z{{{{||{|{{|{{zzz{|||{|{||{z{z{zz{|}}|{||{|{{zz|{{{{z{|{|}{{{z{{{|{{|||{|{{{{{{{{{|||||{{{z{{{{z{||||{|}{{{{{{{{{z{|{||||{{{z|z{z{{{{z{}{{zz{z{{{z{{{|{{{{z{{{{z{|z{|{||||{{|{z|{{||}{|||{{z{{{yz{{|{{{|{{{z{z{{z|{{z{|{{{zzz{z{{{{|{{||{{{{zzz{y{{{z{|{{{z{yzyzz{{{{{{{{{{z{{zzz{{{{z{{{{zyyz{z{z{z{{||{{zzyzzyz|zz{z{{{{{z{yzzz{zz{{{z{{zzzyzzz{{|{{{{{{{yzzzzzz{{{{{{zz{zzzzzz{{{zz{{{{zz{zzzzzzz{zz|{zz{z{z{z{z{{||{{{zz{zy{{zz{{|z{{zy{zz{zz{{{{{|{{{zzz{{z{{{{|{|||z{{{zz{z{{|z{||{zz{{z{z{z|{{{|{|z{|{{{z{{|||{||{{|{{|{{{{{{|{||||z{{{{z{|{|{||{{{{{zz{zyz|||z||||{{{{{{z||{{}||||zz|z{|{|}{|{||||{|{{{z{||{|}{{{{{{{{{{z{{{{|{|{{{z{{{{||{{|||{|zz{{zz|zz|{{{{|{{{{{zz{z{{{{}|}{{z{z|z{z{|{|{|{{|{z{{{|z||{{{{||{z{{zz{|{{{{||{|{{{zz{|y|{z{z{{{{{z|zz{z{|||{{{|{{{zzz{{{z{{{|{{{{{z{z|{z{{|z{||{zzz{zyz{{|z{{}{zzzzyz{zzz{|{{{{zzzzzzzz{{{zzz{{{z{zyzzzz{{{|zz{|{{zyyzzz|{{{{|{{zzzzzz{zz{{{{{{{zzz{zzz{|{{z{{z{zzz{{{z{{{{{{}{zz{zzzzzz{{{{{{{z{{zzyz{{{{{{{{zz{{z{z{z{{{{z||{{z{{{{{zz{{{{|{{{{z{zz{z||{|{|{{{z{z{z{{||{{|{|{{{{z{{z{|{|{|{||z{zz{{{{{{|{{|{|{{{|{z|z|{||||||{zzz{{{z|||{{||{{{{z{||z{|{{|{|{||z{{{{{z|||{}|||{{z{{{{||||z||{{z|{{{{{|{{||{||{|{{{{zz{{{||||{{{{y{|z{{{|{{{}{{{{z{{zz{|{||{{|z{{{yz{z{||{{|||{{z|{{z{|||{{{{|{z{z{zzz{{|{z{|{{zz{z{z{|{{{|{|{zzzz{z{z{{{{{{|{{{{zyzzz{{{{z{||{z{{yzzzy{{{z|{{{zzzyzzzz{{z{{{{zzzzzzz{{{z{{{{{zy{{zzzzz{{{{{{{zz{zzyzz|{{{zz{{{zzzzzz{z{zzz|{zz{z{zzzz{{{z{{{zz{zzz{zzy{{z{{z{{{z{z{zz{z{{{z{|{zzz{z{z{{{{{|{|{y{{yz{zz{{{z{{|{zzzz{{}{{||{{|{{{||zzzz{{{|{{{|z{{z|yzz{|{{{||{{zz{{zzz{{|{{{{||{{{|{z{|{|||{||z{|z{{zz|{||{}|||z{{{z{{{||{{||{|{{zz{{|{|||{|{||{{{{z{{||{||||||{z{{|{{{}{{{||||{{{|{z||{|{{||{{{{{{{|{{||{{{|{{z{{|{{{|{{{||||{{{zz{z{{||{|||{{|{|z{{z{{{|{{{|z{{z{{{z{z{{{|||{|||z{{{{{|{|||||{|{|z|{{|{|||||{{zz{{zz{|{{{{|{{{{z{{{zz{{|{{{|{z{z{{zz{{{|{{{||{{zzyzz{{{z{{|{{yzz{zz{z{zzz{{{z{z{z{{z{{{{{{{{zz{y{yzzz{{|zz{zz{{{{yzz{{{{|{{{z{z{z{zz{z{z{z{|{{{{zy{zz{z{{z{zzz{zzzzzz{z{zz{{zy{zzzzz{{{|{||{{zzzzz{z{{z{z|||zz{{{zzzz{{{{{{{zz{zz{z{{{||{{{{{z{{zy{{{{{{{{{{zz{{zz{z{|{z{{{{zz{{z{{{{|{{{|||{zz{zz{{{{{||{}{|z{{{||zz|{||{}|{{z|{{{{{{|{{|}|{{{zzy{z{{||{{|{{|{{{|{|{|||{{|||z{{{z|{{||{||}||{{{{|{|{|{}||{|{{{z{z{{{{{{|{||{{z{z{{{{|{|||}|{yzz{zzz{{z{||||{{{z{{{{{||{||||{z{zzz|z{|{|{|||{|{{{{zz{{||||{|{zz{{zzz||{{{||||{{z{zz{|{{|{||{|{{{{|z{{{|{zz{|{{zz{{zz|{{{{|{{zzzz{zzz{|{{z{|{{zzzzzz{{{z{{{{{zzzy{zzz{{{{|{{z{zzzzzz{{{{{{{{{z{zzzzz{z{|z||{{{{zzz{zzyz{|z{{{{z{{yzzz{{{z{||{{z{yzzzz{|zz{||{{{{zz{zz{{{z{{{z|{z{{z{z{{{{z|zz{zz{{z{{{{{{{z|{{z{z{z{zz{{{{{||{z{z{y{z{|{{{|{{|{{|{yz{{{{z{{||{{{{|{z{{|{{{|||{{{zz{|{{{{|||{{||{{|{{|{||{|{||{{z{{zzz{||||||{|{z{|z{z|{{{{}|{{|{{{|{{{||}{||||{{{|||{|||}||{|{z{{|z{{}|{}|||{|{{zz{{{{{{|||}||{{{|{{zz|||{}{}|{zzz{{zz{|{|||{|{{|z|{zz|z||{|{|{{z{z{z{{|{{||z{|{{{{{z{{|{{{{{|{z{{{z{{{|{{{|||{{z{z{{|{z|{|{{|{{{{{{z{|z{||{{{{{{zzzz{{{z{|||zz{{z{{yz{{{{{{{|z|{y{{zzz|zz{{{{zz{{{zz{z{{||{{zzzz{z{zz{{{{z|yzz{{z{yzy{{{|{{{{{zz{z{zz{{z{|||{z{{zyzzz{{z{{{{|zzyzzzz{|{{{|{{zz{z{{zz|{{{{|||{{zz{{z{z{{{zz|{z{{{zz{z{||z||{}{{{{y{z{z{|{|{||{z{{{{zz{{{{{{z|{{{{zz{{||{{{{z{z{{{{{|{|{{|z||{{{{z||{{|||{|{{|{{{{{{z||{||{{}|z{{|{zz{{||{|{|||{{{|{{{||{{{|{||{|z{|||{|{{||||{{{{{|{{|||||}|}|{|{{|z{|{||{||{|zz{{{{z|{||{{|{||{{{z{{|{|{{||{||{z{{{{{{{|{{{{|z|zz{{z{{{{{{{|{z{z{z{z{|{{{{{z|{{{{{|{{|{{|z{|{yzz{{y{{{{|||{|{|z{z{zzz{{z||||zz{z{zzz{{}{{{}{{|{zz{{{{{{{{}||z{zzzz{zzz{zz|{|{{{zzzzzz{{zz{{{{{zz{{yz{{{|{{{{yzzyzz{{z{z{{{|zzzzzz{yzz{|{{{{{zz{{z{{z{|{{{{{{zy{zz{{{z{zz{|{{{yyzzzzz{{{{z|{{zzz{{zyzzz{z{z{{{{z{z{zzzz{{|z|{zz{zzz{{|{||{zz{zzz{zz{{|{|z{{|{z{{zzz{z{{{{{{{z{{{z{z{{{{|{{z||{{{zzz{z{{{z{{|||{z{{{z|{{{|||{|z|{{{{{{z{|{{|}|{{z{zzzz||{|{{||{{{{|z{z|||{|z||{{zzz{{z{{{||{}|}{{{z|{{{|{|||||{{|{z{{z||||{{|{|{{{{{zz|{{||||}{z{{|{{{{|{|}{||{{{z{z{{||z{|{|}|{{{{{{{z|{|{{|{{{|zzz{{z|{{{{|{z{zz{{{z{|{{z{{{{|{{{{zz{}|||{||||zz{{{z|{{|||||{z{z{{z|zz||{{|||z{yyzzz{|{{z{{}{z{{{zzzz{{{{||{{{zzz{zz{{zz{|{{{{{zzzzz{z||{{{{{zzyzzzz{||{{||{zz{zzzy{{{{{{{{|z{z{zzzz{z|{{||z{z{{zzzz{{{z{|{{z{yz{zz{z{{z{|{{zzz{{zz{{{{z{{|z{z{z{z{z||z{{{{|z{{{{z{{z{{{|{||z|zz{{yz{{{{{{}z{{{{|yzz{{{{|||{{zz{{{zz{||{{{||{{{zz{{{|z{|z{{||{{{{{z{|{|||||{z|{{{{{{{|{}{}|{|zy|{yzz|||{|||{|{z{zzz{|}{|{{|{{{{z{{|{||{||}|}|{{{z{{zz||{{||}|{{{z{{{}||||{{|{z{||{{{|z{{|||||{{{|{{{{|{{{|||{|{{z{z{{|||{{||{{zz{z{{{{{|{{|{{z{zz{zy|{{|z|{{{{{{{{{{{|{{{|{||{{z{zz{||z{{{||{{{{{z{{||{{||||{z{zzz{z|{{{{{{|z{{z{zz{zz||{{{{{{{zz|{z{{{z{{{{{z{|z{{z{{{z{|z{{{z{y{{z{z{|{{z{zzzzz{zzz{z{{{|{{z{zz{zz{{|z{{{z{z{|zy{z{||{|z{{z{{z{{{{z{{zz{{z{{{{{z{z{zz{z{{|zz{{z{zz{|{{{{|{{{zz{z{{z{{{|{{||{{{{zz{{{{|||{{zz{z{zz{{{{{{|||{z{{{z{z{{||z|||z{z{{zzz{}||{|{{{z{z{z{{|||z{|||{{{||z{z{|{|||{{|{||z{{z|{{|{|||{|z{z{z{}||{|{|z|zz{{{zz{|{||||{{{{{{{|{{{|z|}{{|{{{{{{{|||}||||{{{{z{{{{{|{{||{|{z{{z{{||{{{||||{{{{{zz||||{}||{|{{z|{{}|||{||||{{|z{{{||{||{}|{z{z{zz{z{||{{|{|{{{{y{{z|{{}|{|{|z{{zz{z|z|{|||{{{zy{zz{z{{{{|{{{|{{zz{z{{{{{|{{z{{zz{y{{|{{{{|{{{y{z{zz{{z{{|{{y{zz|z{{{{{z|z{{{zz{{z{zz{{{z{{zyz{zyz{|z|z{zz|{{zzyzy{{{{|{|{{zz{{{zz{z{z{{{|zyz{{zzzzzz{{z|{{{{zy{zz{{{zzzz{{zzz{y{yz{y{{{{{{{zzz{zzz{{{{{{|{zy{z{yzz{{{|{{{{{z{{z{{{|z{z{{|{{z{{y{{zz{{{|{{{yz{z{zzz{||z{|z{|{z{zz{{{|{{z||{{z{z{{{{||||{|{|zz{{|z{z{{|}{{{{|zz{z{zz{{|{|{|{{{{{{zz{{|{||{}||{|{{|{{{|{||{{||{{{||z{||{||||||{{{{{z{{|||||{{{{{{{z|{|||{||{}|{z{|{{{|{{{{}{~{z{{z{{{{{z|{{||{{z{{z{z|{{|{{{|{z{{z{{y{|{{{z|{|{zz{{{{{||{zz{{{{zzzzzz{z|{|{|{{|{z{{zz{{{{{|{{{zzz{yz{{|{{z{|{zzyzyzyz{{{{{{z|yz{z{zzz{|{{z|{{{z{{zyz{{{z{{|z{zzzzzzzz|zz{{{z{zzyzzzz{z{{{{{{z{z{zz{zz{z{y|yz{{zzzzyyyz|{{z{{{{zzzzz{zz{z{z{z{{{{zzyyzz{z{z{z{zzzzzzy{{{{{z{|z{zyzzz{z{{{{{{{{{{{zzzz{{{|{{{z|zzy{{{zz{z|z{z{{{zz{zzzz||zz{{{{{zzz{{z{{|{z{{{{z{z{z{zz{{|zz{{{{{{{z{z{{{||{{{|z{z{{{|{{||{{{||{z{z{|{z{{{{{{||{zz{z{{{|{{{|{|{{{{|{{{{||{{|{}{}{{{||{z{}|{{|{{{{z{{{zz||{|{||{{z||{{z|{{{{{{||{{{|{zy{||{{|}||{{{z{z{z{|{z{{{{{z|z|z{{{|z|{||{zz{z{y{z{{|{z||{{z{z{{{{{{}{{{||{{{{zzzz{|{|{|}|{{zz{zz{{{{z{||{zy{{{z{z|{|{{{||z|zz{yzyz{zz{|{|zz{z{{{{{||{{{|zz{z{{zz{zz{{z|{zz{zzz{zz|z{{{{||{z{y{zz{{{{|{{{{{{{{z{{z{{|z||||z{{zz{z{{{z{{{{{zz{z{{zz{{z{{{|{z{z{z{z{z{zz{|z}zz{zzzzz{{||||{{{z{z{yz{{|{{{|{|{{{{{z{z{{{{{zz|{{z{z{{z{{|{{{{z{{{{{zz{z|||{|{|{{z{zzzz|{{{{{|{{|{{{{{|{{||{|{{{zzz{{{{{{{}||||z{z|{{|z|{|{{{}{z{z{{{zz||{|{|||{zz{{z{{|||{|}{||{z{|{{z|{|{{|{||{{z{{{z{}||}|||{{|{{{{{|{||{{}||{{{|z{|{|{||||||{{{|y{||{|{}|}||{{{{|z{{{{||||}{zzzz{{{||{{{z||{|{zzzz{|{z{{{{z{{{{zy{zz|{z{z{{|{z|zzzy{z{z|{|{{zzyzz{z{zz{z{{{zzzzzzzz{z{{z{{|{zz{zzzy{zz{z{z|{{zzzy{zzz{{{{zzzy{{zzz{{{{zzz{zzz{z{zz{{z{zz{{{zy{zyyzz{{{{{{{z{zzzz{zz{{{{z{{{zzz{z{zzzz{{{{|{{zyzzyzz{{{zzzz{z{zzzzz{z{{{{{zzzzz{zzzz{z{{{{|{zzzz{z{{{{{zy||{{z{{zyzz{z{z{{||zz{zzz{z{{{{{{|{{z{{zy{{{|{{{|z{zz{zz{zzz{{{{{||{{{{yzz{{{|zz{{{{zz{{{zz|{|{|||{|z{z{{{{|{{|{{||{{{|zz{z{{{|{|{|{{{{{zz{{{{{|{|{{{{{{{{y{{{z{}{|{z{{{{{{|||||{}{zz|{z{{{{||{{|}||z{{{zz{{{z{{{|{{zz{|{zz{{{|{|||{|{z{z{z{{z{{{{{{z{zzzzzz{z|z{{zzzyz{zz{z{{{{{{{{{zz{{z{{{{||y|{{{zzz{{z||{{|z{|{{zz{yzz{{z{{||||zzyz{yz{z{{y{|{{{{yz{{x{{||{{{{{{zzz{z{{{|z{z||{z{{zy{{{{{{z|{zzz{y{zzz{zz|z{{{{zz{zzyzz{z{{{{zz{{zzzz{zz{{{{{{yz{{y{z{z{{{{{|{zz{zyzz{zzz{{|z{zzzzzzzzzzz{{z{{yz|zzyz{{{z{zz{z{{zy{z{{{{{z{{|{zzz{zzzzzzzzz{{{z{zzz{yz{z{{z{||{{{z{{z{||{{|{{{zz{{zy{zz|{{|z|{{z{{{{z{{|{{z{{z{{{z{{z|z|{}||{zz{z{{{|||{|{{{||{{{z{z{{||{{||||{zz|zzzz|{|{|{||{|{y{{{{|{||||{||z{{{{{{|}}|||||{{{|{{z{{{|{||||{{{{{{{{{z{|||||{{{{{z{z{{||||||{|zz||{{z|{|{}{{{zz{{zzz{|{|{|{|zzz{{{zz{{||{||{zzzzz{{z{|{{{z{{{{z{{zz{{||{{|{{{z{{zz{z{z|{{{|{{zz{zzzzz{|z{z{{{{{zzyzz{{|{{{{{z{{zzzzzz{{zz{||{zzzzz{zz{{z{{{|zzzzzzy{{{z{{{{{{z{yzz{zz{{z{{|{{z{{zz{{z{{{{{|{{z{zz{{z{{{|{z{z|{{{zy{z{{{z|{z{z|{yzz{zz{{z{{|{yzzz{zzz|{{{{z{{|zzz{z{z{z{|{{{|{{{zzyzzzz{z{|||z{{{z{{{{{{{z{{{{z{{{z{y{{{{z{{|zz{{zzz|{|{z{{{{{{yzzz{zz{{{z||{{{{{{{{{{}{|{||{{z{z{{|{|{|}{|||{{{{{{{z{|}|{||{|zz{{{{{{||{{{}|{z{{{{{{{|{{||{||{z{{{{{|||{{{|{|z|{|{z{|||{|{{|{z{z|{{|{{{{|}{|{{z{{{z{||{{{{|{{{{z{{z{{{{||}|{|{{|zzz{z|{{{|{{zz{y{z{{{{{{{{|{zz{{zzzzz||z{|{{z|zzzz{|z{|{|||}|{zzzzzz{z|z|||{zzz{{z|zz{|{{{{{{z|zzzzz|{|{{{{|{z{zzz{z{{{{{{|zz{{{zz{{{{{z{{{zzz{z{{{{{z{{z{z{yz{zzzzz{{{zz{{|{{z{zzzz{z{{{{{{z{{zyz{z{z{|{{{{{yzzyz{zz{{{{{{{{{yz{zzzz|{{{|{|zzz{z{zz|{{z{{|{{z{zzyzy{{{{||{|zz{zyz{zz{|{{{||{z{zz{zy{|||z{|{{z||{{{zzz{{{{||zz{{z{{z|z|{z{{|{{z{zzz{{{{{|{|{{{{{{zzz{{{||{{}{{{{{{{{|{|}|{||{z{|{zz{||{|||{{|{z{{z{z||{||||}{{{{{|{{{|{{||||{{{{{|{zz}|z|{|{{{|{|{{||||{{||{{z{||{|{||{|{{|{||{}{zz{||{|z{{{{{|z{z|{{|||{||||{{{{{{{{|{{{||{{|{{{zz{z{{{zz{{|{zz{{{zz{{{{z{|{{z{zz{z|{{{|{{}z{{{{zzz{{{|{||{{{zzzz{{y{{zy{||zz{zz{zz{z|{y|z|z{zzzzzzzz{z{|{{yz{{zzzzz|{{z{||zzzzzzzzz{{{y|||zyzzzzz{z{|{{{{{zzzzy{zz{{{z{z{z{z{zyzzzzz{|{{{|zzzzzyzzy{{z{{{{{{zzz{{zzzz{{{{|y{{z{{zz{{{{{{|||{{z{zzz{{{z{{|}{zzzzz|{{z{|z{{{{z{{{z{y|{{{z{|zz{z{{zyz{||{{{{z{zz{zzz{{{{|{||z{zz{z{z{||{{{{{{{{{{{z{z{{{{|{||z{{{{{|z|{}|{|||{z|{{{zz{||{}|{{{{{{|{{z{|{{|{|}{|zzz|{{{{{z{||{{z|{z{{|{|{|{||||{{{z{z{|{|{|}{|{z{|{|{z{{{|{|{||{{{zz{{||{{{{|}|z{zz{zz{{{||{{|z{zz{zzz{|{{{{|||z{zzzzz|{{{z||{{{zzz{{{|{|{{|{z|z{{z{{z{{{{}{{{{{{z{z{{{|{{{{{|{{z{{zz{{z{{{z{|z{zzzzz{{{{{{{{|zz{z{z|{{|{yz{{{{z{zz{z{{{{{{{{zz{{zy{{zz{|{z{{{zzzzz{y{z|z{{{|{z{{yz{z{{{zz||{{{{zzyzzz{{z|z{|z{zzzzzzzz{{{{{{{{|zzyyzzz{y{|{|{{zzzyzzz{{{{{z{zzzzz{z{z|{{|{{{|z{z{zzzz{{{|{{}{zz{z{{zz{{{{{{{{{zz{{{{{{|z||{}{{zz{|{zz{{{{{{|{{{{{|zz{{{|z{z||{z{{{{zz{{|{||||zz{{{z{{{||||||}z{{z{z{z|||||||{|z{{{z{{{||{{|||||}zz{{{{|{|||{||{{{{{{{|||{|{}||{|{{z|{|{{{{{}||z{{{{{{|{{|{|||{|{{y{z{{{|{{|{|z{{{{{{{{|{{||{||{z{z}{z|||{|}|{|z{z|zz{z|||||{|zzzz{{zzz|||zz{|{z{zzz{z{{{{{{||z{{z{{zz{|{{{|{z{{{z{y{zz{|{{{|{{{{zy{{z{{|{{zz|{{zzzzzzz{z{{{zz{{zz|z{{z{|{{{|{{{zzz{z{{y{{z{{{zz{zzyzz{{zzz{{|{z{zzyzzy{{{{{{{{zzyzzzzy{z{{{{{zy{{z{{zz{z{{{{{z{zzzzzz{{z{{{{{zzyzz{zz{{{{z|}|zzz{zzzzz{{{{{||{{{{zz{z|{{{{{{{z{{zzz{|z|{z{{{z{{zzz{{z{{z{{||{z{{zzzyzz{{z{||zzz{zz{zzz{{{z{{{{{{z{z|{|{{{z||{{{{{z{{|z{{{||{|{{|{z{zz{|||{{||}z{||{{y|{|||||}{{{z||{z{|{{|{{||z{{{|{|{||{|z|||{{|{{|{}{||||{||zz{{|z{{{{{|||||{z{{{z{{|{|||{|{{{{{{{{z{{z|{}{{zzzyzz{{{{{{|{|{zzzzz{{|{|{||{{z{{{zzzzz{|z{{||z{{{{zzyzzz{|{||{{{zyz{yz{{z{{{|{{zzzyzzz{|{z{{z{zy{zzzz{z{{{{{{zzyyy{zzz{{{z{{{{zzzzzyzz{{{zzz{zzzzzzz{{zz{{{{zz{zzzyz{zzz{z{{{zzzzyzzzy{{z{{|{{z{{yzz{z{{{{{||{z{yzzzzzz{zy{z{{zzzzzyzz{{{z|z{yzzzzzyy{zz{{{z{zzzzzz{{z{{{z{{{zzzzzzzz|{{{{{{{yzz{zyzz{|z{{{{|zz{{{z{z{{z{z{z{zz{zzzzz{{{{{{{{z{z{{{z{{{|{z{z{|{zzz{z{{|||{|{|{{{{{z{z{z{|{|||{{{{{{zz{}|{||{|{z{zzz|{|{{{{{{|{zz{{z{|{{{{{|{{{{z{{z{z{{{{{{{|{{||{z{z{||{|{||{{z{|zz{z{{|{{{||{{{{{z{{{z|{{{|{{{{zz{z{{|{{{{{zz{{{zzz{|{z{{{{{zzzyzz{{z{{{|{zz{z{zz{{{{{{zz{{{zz{{{zzz{{{{{||{{{zzz{z{z{{{{{{{zzyz{zzz{z{z|{|{{y{zzzzz{{{|{{|{z{zzzzzz{{{{{{zz{{{zz{{{{{{zzz{zyzz{{zzzzzz{{{{zz{zzzzyzz{z{z{{zzzzyzzzz{{{{zz{z{{zzzzzy{{{z{|{z{zz{zzzy{z{{{{zzz{yzzz{z{{zz{{{zyzzzzzz{|{{|{|{{zzzzy{z{{z{{{{|{z{{yzz{{{|{z|{|z{{zzzz{{|{||{z{z{z{zzzz{|{{{|{z|zzz{zz{{{{{|{|{{{zz{z{zz|{{{{{{zz|z{{{{{{{||{||y{{z{{z{|{{||||{z{{{zz{{{||{|{|{|z{{zz{{|||{{||{{zzz{z{z{|||||||{z{z{{{{{||||||{{{{{{z{{}||{{{||{{zz{zz|{{{|||{{{{{z|zz{{{|{||{|zz{{z|zz{{||z{{||{{z{{z{||{|{{{|{{{zzzz{{{{{{|{{{z{z{zzz{|{|{|||{{z{zzz{{z{{{{{|{|{zzz{{{zz{{|z{zz{zzzzy{{{zz{z|zzyz{zzz{{z{{z{|zzzzzz{z{z{z{{{{{z{y{zzz{{z{z{zz{zzyzzyzz{zzz{zzz{zyzzzzzz{{{{{{zzz{{zzyzz{{|{z{{{zzyyzzz{{z{{{zzzzyzzzy{zz{zzzz{zzyyyzz{{{zz{{{zy{{{zzz{{z{{{{{{yzz{zz{{{zz{||{z{z{{z{{zz{z{{{|zz{zz{zzz{{{{z{{{z{{{yzy{{{z{{{{{zy{z{yz{{|{z{{{{zzzzzzz{{|z{|{|{{{z{{z{{z|{{|{{{{zzzz{z{{{|{{||{zz{zzyz||{{{{{{{zzz{{{z{||{{{|{{z{|zz{{{}|{|||{|{z{z{{{z|{|||}||z|{{{{|||z}{|||{z{{{z{{{{{{|{~{{{|{z{z{{z{{{{|{|z{z{zz{{{{{{z|{{z{{{zzz{{{z{|{|{zzzzzyzz{|{{{}{{z{z{zz{{{|{{{z{{z{{{z{{{|z{{{{{|{{z{zz{{{{{{{|{{z{zzyz{{{{{{z{{z{zzzzz{{zz{{{{|zz{yz{{zz{z{zz|{{zzzz{zyz{zz{{z{zzzy{zzzzzzz{{z{yyzyyzzzz{|z{{{z{zyzyzyy{{yz{{{zz{{y{z{zz{z{{|z{zz{zzzzyzzz{zzz{{zz{{zzzz{z{z{{{zz{xz{zzzzz{{{z{{zzzzy{zz|{{{{z{{{z{{yz{{z{{{{{{{z{z{{{{{z{{{{{{{z{z{z{zy|{z{||{{{{{|z{{{{||{{|{{{{{y{zz{{{z{z{z{{z{zz{{{{{{{|{{{{|z{zzz{{{|{{}{{zzz{zzz{{{||{|{{z{z|{|z{|{{{||}{z{z|{{||{{{{|{{{{|{{{{|{|||z||{{z{{z{{z{{||{||{{zz{{z{|{{{|{|||{{{{{z{||{||{{||z{zzz{|zz{z{{{||{zzzz{{z{|{{{z{{z{{zzzzzz{{z|{{|{{{zzzzy{z{{{z{{zzz{{z{zz{|{zz{{{z{zzzzz{zzz{||{|zzzyyzz|{{{{{{{{{{zzzzzzz{{{{{|zzzzzz{yzz{{{{zzz{{zzzy{zzz{z{{zyzzzzyzz{{z{{z{|{zzzzzzyzz{y{{{{{zzzzzyz{{{z{z{|zzzyzzz{z{{{{z{{zzzzyzzyzz{zzzz{{zyyzz{z{{z{{|z{z{{zzyyz{{{{zz{y{zzzz{{z{zz{{{{|{z{zzzzzz{{z|zz{zzzzzzz{z{{{|z{{{z{z{z|z{{{{{{{{{{|{zzzz|{{zz{{{{{{{zz{z|{{z{|{|{{z{{{{z{||{|{{{z{zz{z{{{{{|{|{{zz{{zzzzz{|{{{|{{z{zzz|{{||z{|{{{z{zz||{|z{z{||{z{{{|{{{z||{{||{{z{{|z{z|{|||||{{{{z{z{{{zz{{|{{{z{{|{{|{{}{z{{|{z{z{{z{{|{{|{||{{z{z{{z{{{{{{|{{zzz{z{z{|{z{{{||{{zzz{z{{|||{|{{{{zzzyz{{{{|{|{z{{yz{{z{{{{{}{{zzz{zyzz{|{{z{{{|{zzzzyy|z{{{{z{{y{zz{zz{|zz{z{{{zz{zzzzz{{z{{zz{|{z{zzzzz{z{{|{{z{zzz{zy{{z{z|{{z{z{{zzz{{{|{{z{z{zy{zzzz{|{{{{{{{{{z{z{zzzz{z{zzzzzyz{yz{zz{z|zyzz{z{z{{|{zz|{z{yzzz{zzz{{{z{{zyzzzz{{{z{{{|||z{zzz{z{{{{{z{{|{{z{{y{zz|{||{|{{zz{zz{y{{{z{{|{{{{{{z{{{{{{z|z{|{{{|z{|{{{{||{|z{zz|{{{|z{{{{||{z{{{{{z{||{{{|{{zz{zz{z{{{{|||{|{{z{{{{{|{|||{|{|{{||{|z}|||||||z{{z{{||||}{||{|z{{{{{{{{{|||{|{{{{z{||{|||||{|{zz{|{z{{|{{{|||{{{z{zzz{{{|||||{{zyz{{{{z{{{{{|{zzzz{{z{||{|z|{z{z{z{{{{||z{{{|{{zz{{{{{{{{{||{|{{zzzzz{||{{{z|{{{zzz{z{{{zz{{{{{zz{{{zz|{{{|{{{{{zz{zzz{|{z{{{z{{z{{zz{{z{z{{{z{{{zzzzz{zzz{{{{y{zzzy{{{{{{{||zz{{yzyzz{z{z{{{{{yzz{{zz{zzz{{{{zzzzz{z{{{{{{zz{z{zz{zzzz{{{|{{zzzz{zz{|{{|{{||zz{{{zz{{{z{{{{|zz{zzz{z{|{|z{|z{z{zzz{{{}|{{{|{{{{z{{zz{|||{{{{{z|{{{z{{|{{{{{{{{{{{{z{|z|{|{||z{{{|z|z{{|||{{|{||{{zyz{}}|||{{}{{{|z{z{|{{{{||{z|z{{z{|{{{|||||{{|z{{zz}||z||{{|{{zz{{|{{{|||{|z||{zzz{{{{|}|}{z{|{|{z||{|||{||{{z{z{z{{|{|{|||{{zz{{||{|{|{|{{z{{|zzz{{{z|||{z{{z{{{y{{|{|{{|{zzzzz{zz{{{|{{{{{{z{{{{{z{{{{{|z{z{zzyzz{{|{{{{{zz{zz{z|{{{{|z{{{{{z{{zz|{|{||{zz{{{{zz{{{z{{{{{zyzz{zz{{{{{{{|y{zz{zzy{{{zz{z{{{zyz{z{zz|{{{{{zz{zyzz{z{{{|{|{{zzzzyzzz{{{z{z{z{zzzz{z{|{{{z{{{zz{z{{zz{{{{z||zzzz{z{zz||z{{|{zzz{{z{z{{{{{{|{z{{zzz{{|{{{|{|{{z{zzz{z|{zz{}|{{zz{z{z{{|{{{{{|{z{zzz{zz||{{{{{{{{{|zz{{|||||{{{||z{z|{{|{||||||z{{z|{{{||||||z{{zz{z{{{||{{|||{||zz||{{{{||||||{{{{{||||{|{||||{{|{zzz|||{{||||z{z{z{{z|{|{||{|{{{{{{{z||{||||{{|{{{{{{|||{||||{zz{z{{{{{{{{{{z{{y{z{z|{{{{{}{zz{{zzzz{z{z|{z{{{z{{{zzz{{|{|}{{{zz{{{z{||{{{{|{{{z{zz{{{{{{{{{zz{{zz{z{{z{|{{|z{z{{z{z{{|{z{|z|zzz{{z{{{|{z{|{{z{z{{z{z{{{z{{|zzz{{z{z{{{{z{|{{zzzz{zzzz{{{{z{z{{zyyz{{{{{{|{{{z{{zyzzz{{{z{||{{{zzz{zzz{{{{{{{z{zz{zzzzz{{{{}{zzz{zzy{{|{z|{{{yzzzy{{{|{zz|z|z{{yz{zzz{{||||{{{{zz{{{{z{{||||{{z{zz{z{|{{{z|{{{{{{zz{{{{{{|{{{{z{{{{{{|}|{{||{{{{{{{|{|{|||||}{{{{zz{{|}||{|{|{{{|z{{|||z|||||{{{{{|{{}{{|{|||{{{{{z{{}||{||}{{|z{{{{{{|||||{{{{{{{{{||||{|{}|{{{|{{{{{||||{|{|{z{z{z{|{|z{|{{zz{{{{{z}||{{{{{{{zzz{{|{|{z|||z{{z{{{z{{|{{{|{{zzz{zz{|{|||z||{z{zz{z{{{|z|{|{{{z{{{z{{{||{z{|z{zzzzz{{{{{{{z{{{{z{zz{{{|z{|{z{z{{{zzz{{{z{z{zz|{zzzzyz{{|{{{|{zzy{zzz{{{{zz{z{{zzyzzz{{{{|z{{{{zzzyzz{z|{z{{{zzzzzz{zz{|{z{z{z{{zz{zy{|y{y{{{{z{{z{zzz{|{{{|{{zzz{z{{{{{{{|{{{zzz{z{{{{|{{{||{zzz{{zz|{{{{z{{{zz{{z{{z{{{{|z{{zzz{zz|{{||z{{{{z{{z{z{|{|{{{{{{zz{|{{|z{{|||{}{|{{zz{{{{z}{||||{{|{z{z{|{||||{|{z{{{{z{{|{{{{{||{{|{{{|{|{|{{||z{{z{{{{|{{|||||z||{{{{{{{||{|{|zz|{zz|{{||{z||{{z{{|{{{{{|{||{z{zz{{{{z||{{||{|zz{{z{z{|||{{{|z{|zzz{z{{|{{|{|{{z{z{{z{{{{{{{|{z{zzzzz{z{{|{||{{zz{{zz{{zzz{z{zz{zzzzy{z{{{{|{{{{{zzzy{{{{zz{{{{{zzzzy{|{{{z{{{yzzzzyzzz{y|zzz{z{yzzzz{zz{z{{{z{zyzzzz{|{{{|{{zzz{zzzz{{{{{z|{{zzzzz{zy{{zz{{{zyz{yzzyzzzyzz|{zzzyzzzzz{{z{{|{{z{zzz{y{{{zz{|{{zzz{z{zz{{{{{z{{yy{{zz{{{{{{{{{{z{z{zz{{{{{{|{|zz{{{zzzz{{{{|{z{{zzzzzz{z{|||{|{{{{{z{{{{{{{z|{{{z{{zz{z{{{||||{{zz{{{{{|||}||{|zzz{z{z{{||{|{{{{{{z{{{||}||{{{z{|{z{{||{||{~|||{|{{{{z||{||{|{{{|{{z{{{{}|||{||z|z{{z{{{{{{z{|{{z{|{z{z|{|{{|||{{zzzzz{{{{{{{|{{{{{y{z{z{|{|{{z{{zzzz{z|{{||{{{{{zzy{z{{|z{z{{zzz{zzz{{{{{{{{{{{{z|{{z|{z||{{{zz{zzzz{{{{{{{{|z{zz{{{z{z|{{{z|yzzyzz{yzz{y{{|zzzyzzzzz{{{zz{z{zz{yy{zzzyy{{{{{zyzzyzzz{{zz{|{zz{zzzzz|{{{{{{{{{zzzyzzyzzz{{{{|zyzzz{y{z{{z{z{{zyzzzzzzzz{{{{zzzzz{{zzyz{z{{{|zzz{zz{{zz{{{{|{}{zzyzz{zz{|z{z{{{{yzzz{z{z||{{{{{{zz{zzzz{{{{}|zz{|z{zzz{{{z{{|{{z{zz{y{z{|||||{{{zzz{z{{{|{|{|{z{zzz{zz||{|{||{{{z{{{zz|{{{{{|{{zz{{|z{{{|{{|||{{z{{z{{z|{{||{{{z|{{}z{||{||}||}{{{{{z{||{{{{{{{z{z{{zz{{|z{|{||zz{{{{{||{|{{{{z{zzz{{{{{|{{{|{|z{zz{zzz{|zz}{{|{{zzyz{{z{{{||{zz{z{yzyz{{{|{|{{z|zzzyzz{{{{z{{{{zzzzzz{z{z{|||{{zz{{{{|{z{z{||{{{zz{zz{{|zz{|{{z{zz{{zz{{|{{{{{zz{{yz{zz|{{{z{z{zz{zzzzzz{{{{yzyzyzzzy{{z{{||z{z{{zy{z{z{{{{|{zzzzzyyz{{{{zz{|zzzy{zzz{{zzz{zz{{{zzzzyz{z{{|{{{zzyyzzyzz{{{{|{{zzzyzz{{zz{{{z|{zzzyz{z{{|{|{{{zzy{zy{zz{{{{z{|z{{{zy{zz|z{{{{{{{{{{{zz{{{{{z|{z{{z{{{z{{{{|{{{{{z{zzz{{||||{||z{zz{z||{|z||||||{z{zzzz{{{|{|{{z{{{z{zz|}{{{{|{|{zz||{||||}{|{{{z{{z{{{{|||||{}{{|{{z{{{||||{||{z{{|{zzz{|{||{{{{{{|{z{||{{{|||{{{zz{{|{|{|{{|{{|{{{|{y||{|{|||{{zz{|{zz{{{y{z{{zz{zzzy{{|{{z||{{z{{yzz{{{z{z{z{zzzz{{{|{{{|{{{{|zy{zzz{{{|z{{|{zz{zz{zz||||{||{zzz{yzzz|{{{{{z{z{yzyzyzzzzz{z{{{{zyzz{{{{{z|{{z{zzzz{zz|zzz{{{zzzy{zyzz{z{{z{{{yzzzzzzy{zz{{{{zzz{zyzzy|zz{{{{z{z{{zzzz{{zz{z|zzz{z{zzz{{{{{||{zzzzzz{||{{{z{|zzzzz{zz{{{z{{{z{{zy{{{{{{zz{{{|{z{z|z{z{|{{{{|{{zzzz{zz{{{{z{|{{{{{z{zz{|{{z||{{z{{z{z{{{|||||{z{zz{{z{{|{||{{|{{z{{{{z|{|{{{}{{zzz{{{z|||||||{|zz{{|{{z{zz||{|{{zzzz{{|}{||{{||z{|{|z{{|{|||{|{{{z{|{|{{|{|{|{{zz{z{z{{{{|{{||{{{z{z{{{|{|{|||{{{zz{zz{{{{|{{z{z{zzzzz{{{{z{z{zz{{zzzz{|{|z{{z{{{z{yzzz{z{{{{{zzzz{{zz{{{|{{{{{z|{{z{zzz{{{z{{{z{z{zz{z{z{z{{|{z{z{zzzz{{zz{zzzz{zzzyzz{{{{zzzz{zzzyzzzzz|zz|zzz{zzzzy||{z{{{{z{zzyzyy{z{z{{{z{y{zzzzz{{z{z{|{zz{zzyzzzz{zz{z{zzzzz{zz{z{zz{{zzyyzz{yzz{z{{{z{{z{zzzzzz|{{zz|{{{{zzz{z{{{{{z{{zzzyzzzz{z{{|||{zzz{zzzzz|{z{{{{{zzz|zyzz{|{z|||{z{{{{zz{{}{z|{{{z{z|zzzz||{|z{|{z{{{{||{{{|{}||zzz{z{{z{|{|{||}{z{{z|{{|}|{|||{zz|{{z{{{{{{|{{{|z{{{{{{{||||||{{{{{{z{z{{{{{||{|z{z{{zz{{{z{|||{{{z{{zz{{{}{{{|zz{z{z{{{||{{||{{{{z{{z{{||{{|{z{{zyzzzzyz{{{|z{{zzzzzzzz{{z{|{|zz{zzyzy{{|{|{{{z{zz{z{{{zz{{|||z{zzz{zz{{{|{{{|zz{y{z{{{{z{{{z{{z{zz{zzz{zzz{z{{z{zzzyz{z{{zz{{z{zzz{z{{z{z{{{{zz{zzzzz{{z{{z{{{yzzz{z{{{{z{z{{zzzzzyzyz{|{{{{zzzz{zyzyzz{zz{z{zzzzyy|zz{z{{{z{{z{zzz{z{{{z{{{{z{zzz{zzzz{{z{{{y{{zz{{z{z{|z|{|{z{zyzzz{{z|z{|z{zzz{zzz{z|{{{{zz{{|{{y{{{{{|{|z{{{z{z|z{{{{||||{{{z{zz{{{{|{{||{{{z{{{{|{{{|{{|{{{{z{zz|{|{||||{z{{{z{{|{|{{||}z{{zz|{{{{z{{||||zzz{{{{z}{||{|}|z{{z{{{zz|}|{|{zyyz{{z{{|{|{{{||zz{{{zz{{{{}|{|z{zzz{{{{|{{{{|{zz{{{z{{z|z{z{|zzzzzz{y{{{{{|{y{{z{{z{zz{{|{{{{{zzz{{yyz{{|{{|z{{zzzz{zz{{{{{{{{z{z{zzz{z{{{{{|{zzzzyzzzy{z{|{z|{z{zzzzzz{{z{{{z{|{{zzyzz{{z{{{{zzzy{zzzzyz|z|{{zz{yzy{z{{zz{z{zz{zyzzz{{{{|{z|{zzz{zzzyzz{{z{{{zy{yzzzy{zyzz{{zzz{zzyzzz{{zzzz{zyz{yzzzz{{{z{{{zzzy{zz{z{|{z{{{zzzzzy{z{z{|zz|{zzz{yzz{z{|{y{z{zz{{zzz{{{{|{|z|{{zzz{{z{{|{{|{zzzz{{{zz|{|{{|{z{y{{{{zz{{{|{{{{z{{z{{{z{|||||{{|{{{{z{z{{|{|{{|{{zzz{{||}|{{z||{z{{{{{zz|{z|||{z|{{z{z{z}{{{{{{{z{{{z|z|{|{|{}{{z{z{{{{{{|{{|||{{zz|z{{|z{{|{|||z{zzzzz||{{{||{{{z|z{z{{|{{{|{{{{{{zzzy{{|{{z{{zzz{zz{y{{{{{{{|{zz{{zzz{|{z{{{|{zz{z{{zz{{{{||{{{z{zzzzz|z{zz{{{{{{zzz{{z{{{|{{z{{{z{{z|{{z{{{|{z{{{{{zzzzz{z|z{z{zz{z{{z{z{{{z{zzz{zz{zz{|{{|{z{yy{zzzzz{z{{z{{z{zzzy{{z{{{{z{zz{{zyzyz{zzz{{|{zzzyzzzz{zz{{{|{yz{{{zzy{{z{z{|{{{z{zz{{z{z{{{{zy{zzzzz{|{{{{{|z{{{zzz{{|||z{{|z{{zzzz{{{|{||z{{{zzz{zzz{{{{{|{{{z{zz{z{{z{{|z|{{{z{{{{z{|{{{{{{|{z{{{z{{|{{|||z|{{|{{z{|||||||{{{{|}{z{{|||{|||{|{{|{{||||||{||{z|z{{|{}{{}|||||{z{{|{{||{|||||{{{|{z{|{{||||{{|{{||z{|{{|{{{|z{{{zz{z|{{||{|||{z{z{{{{}{{||{{z{{{zzzz{{{{|z{|zzz{zzzyz||{|{|{|{yyzz{z{|z{{z{{zz{zzz{y{zzzz{||{zz{{zzzz{{{{|{{{{{{{{zyz{{{{z{|zzzzzzyyz{|{{{{{zzzzz{zz{{{|{|z{{{zyz{z{{z{{||{{zzzzyzyz{{{zzz{{{yzzzyzz{{|{|{{zzz{{{zzy{z{{z{{{{z{{zzzx{z{{{{{zzz{|zyzzy{{{z{z{zzz{zz{zzz{{|{{{z{zzzzz{{|z{{z{{{z{z{z{{{{|z{{{|zz{z{{{z{{{{z{{|zzzz{zz{z{{z{{{{zz{zzzzy{{|{z||{{zz{{z|{||{{{{{{{z{zzz{z|{}{|{|{y{{|{{{{|{{{{|{{z{{{{z{{{||{|||{{z{{{z{{||||z{{|{y{z{z|{{|{|{|{|z{{{z|{{{}|{{{|||z{{{{{{|||}||}|||z{z{zz{{{|}{{{|{{{{{{{|{{||{|}zzzz{zyy{|{{{||{{{{{zzzz{|{|{{|z{{|{{z{{|z{z|||}{zz{zzzz{{|{zz{|z{z{{zzy{{{||z{|zz{{z{yzz{z{|{{{zz|{zzzz{{{{{{{{{{{zzz{y{{||zz{|zzzz{yzzz}z{z{|{{y{zzzzzz{{{{{|{{{zzzyzz{zzz{{z{{zy{zyzzz{{{zz{{z{z{zzzz{zz{z{zz{{zzyzyz{z{{z{{{{zyzzyzyz{{z{{zzzzyzzzzzz{{{z{{{yzzzzzzzzz{{{{{|{z{{{zzzz{{{{{{|z{{zzy{z{zz{z|{{{{{zzzz{{{{{{{|{{y{z{zz{{{{{{z{zzz{{z{zzz{{|{|{{{{zz{{{z{{{{z{|{z{{{{{{|{z{{|{|{z{{|{z{{{{{{{||{{zzz{{zz{{{|||}{{zz{{zz{|{{||||{zz{{{{z||{{z|||{|{z{|{zz{|{|{||{{{{{z{|{{{{||{||{zz{z{{{{{{||||{{{{{zz{{||||{}||{{{{{zzz{{{|{|{{{{z{zzzz{{{{||||{z{{zz{zz|{{{{{{{{z{zz{{z|{z{{{{{{{|{{zy{{{{||{|{zyzzz{z{{{{{|{||zzzz{{{{{{{z{{{{{{zzzzz{z{{{|z{zz{{zzzz{{z{{{|zzzzz{zzz{{{{z{{z{zzzzzzz{z{z{|{{zyzzzzzzzzz{{{{z{zzzyzyz{{{{{z{z{{{zyzzzz|{{{{{zzy{{zyzzzz{{z{z|{z{zzzzzy{z{{{{zzzzyzzy{zzz{{|z{z{zz{z{z{{{{zz{z{zzz{zzzz{{{{{{{zy{zzz{z{{|z{{|z{zz|zyzz{{z{|{z{{{{z|{{zz{{{{{|zz{zz{zz{{|{{z}|{zz{z{zz{{||{|||{z{|z|z{z|{{|{||||{z{{zzzz|{|||||{z{{{{{{z|{|{|{}{{{{|{|{{|{|||{{|{{{{{{{{|{{{{{|{{|{{{{z{|{}{|{{|{z{{z|{|||{{{|}|{{{|{{z||{{|||}{{{z{y{zz|{{{{{||{z{{z{zz|{{z|{{{{{zzyyzzz{|{|z{zzz{{z{zz|{{{{{{|{zzz{{{{{z{{{{{{{{zzzzz{{z|{{z{z{|{zzzz{{{|z|||{{{zz{zz{{{{{{{|zzzzz{z{z|{{z}|{z{{{zzz{z{{z|{{{zzzzz{{zz{|{{{{{zz{zzzzz{{{{{{|{zyyzzzzz{{|{{{{{zz{z{zz{{{z{{{{{{zz{z{zz{{{{{{zz{zzy{{zzz|z{{z{{zzzzzzzz{z{{z{{||zzz{z{yzzzz{{{{{z{{{y{{{z{{z||{{{y{zzz{|{{z|{{{zz{{yz{{{{{||}|{{z|{z{{zz{|{{{{||zz{{{z{{{{z{||{{z{{{{zz{{|||{{{z|zz{{{{|{{|||||z{{{{{z{{|{{||||{{{z{z{|{|{|{|||{{{{|{{{{||{{||{|{{z{{{zz|{||{|||{|{{{|{{|{|||{{{{{{{{z{{{{z||||}{zz{{{{{|{|||||{{{zzz{{z|{|{{{||{{{zz{{||{{{{|{{{z{{{{z{z{}{{{{{zzz{zzzzz{z{z{{{z{zz{{{{|{{z{{{{{{zzzzz||z{{}{z{{{z{{z{{{{{zz||{z{zyyzzz{{{{{|{zzzyzzzz{{z{{z{z{{{zzzzz{z{yz{zz{zzzyyz{{z{zzz|{{z{zzzzzzzz{{{z{zzz{zzyz{z{yzz{zz{{yzyzz|{{z{{{{{y{zzzzzzzz{y{{{zzzyzzzzz{z{z{z{yz{zzzyz{y{{zz{y{{z{zzzz{{{zz|z|{zz{yzzz{{|z{|||z{z{{zz{z{|{{{|z{{{zzyzzz{{{{{|{|zzy{{zz{{z{{{{|{z{{zzz{{|z|{{{{{{{{{{zzz{{|{{z{z|{{{{{z{|{{{|{|{z{z{zzz|{||{|{{{z|y{{{{{|{{{|||{{{z{|{zz{{|{||||z{{{{{{{|||{||||{{{{{z||{|{{{{{|{|{{{{|{{|{{{|{|zz{|{z{{{{{z{{{{{{z{{z{{{z|{||{{|z{z{{z{|{{z{|z|z{{zzzy{{{{||{{{zzyzzyy{{{{{{{{zzzzzzz{zz{{{{{{{{{zzz{z{{{{{{{{{zzzzzz{{z{{{{{{{z{{yzzy{{{|{{{{zzzzzzzz{{{z{{|{{{zyyzzz|{{zzz{zzzzz{zzzz{{{z{{{yzzzzzyz{{{{z{{z{z{zzyxz{{{{{{z{{z{zyy{zz{{{zz{{{z{yzzzyz{{zzz{{{{zzzzyzz{z{z{{{yz{yx{zyz{{{{{{{yzzz{z{zz{zzz{{{zzz{zz{z|z{{{|{{zzz{zz{z{{{z{{{{z{{{zzzzzzz{z||{zy{zz{yz{{{z{|{{{{{{{zz{{||{|{{{|z{z|z{z||||||{|z{{{{yz{{{{{{{||{z{{{{z|{{|{{||||z{z{z{{|{{{|{||{{{{{z{zz}{{{}|||{{{|{{z|}{|{{||{{z{{z{{{{||{|||{zzz{zzz{|{{{||{{{z{{{{{{{|z{{||zz{zzzz{{|||{{{|{z{zz{{z|{{|{{{|zz{zzz|zz{{z{|z{{{zy{{{zz{zz{{z{{zz{zz{yzz|z{{|{{yz{z{{z{zzz|||zzy{zz{{{z{{{zz{{{z{yzzzz{z|{{{|{zyzzyzyzz{{z{{{{zzzyzzzzzy{zz{{zzzz{zzzzzz|{||{zzxz{zzzzz{zzz{|{yyz{zzyz{z{{z|{z{zzzzyzzz{{{{zz{{yzyyyzzzzzzz{{z{yzzzyyzz{z{{z{{{zyzz{z{z{zzzz{{zzz{zyzz{{zz|{z{{zzzzzzz{zz{z{z{z{{zy{zy{zz{{{{{zzz{{z{zz{{zzz{{zz{z{zyz{{|{z{|{{{{{zzz{{{{zz{{|{zzz{{{z{||||{{{z||zz{zz|zz|{|||{zz{zzzz|||{|{{{{zzzzz{z{|{{{{}}{z{{{{|z{{{{||{{|z{z{{{zy{{|{z{|{{{{zzz{|{|{{{|{{{z{{{z{{{{|{{}{|z{z|zz|{|{{|{}|{z{z{{z{z{{zz{{|{{{z{|{z{|{{{|||{{zzz{z{{|zz{|{z{z{zzy{zz{{z{{{{|zz{zyyz{{{{{{{|{{z{z{zy{z{z{{|{|{{zz{zzzz{{z{{{z{{yzzzzz{{{{{{{zzzzz{{yzz{z{{{{{yzzy{yz{{{yzzz{{{zzzzzz{{{{{|y{zzyy{zzz{{zzzz{{z{zzz{yyzz{z{z{{{z{zzzzyz{{{{z{{zy{zz{zzzz{zz{{{z{{yyzzzz{zzz||{zzz{z{zy{z{{z{{z{zzzzyzzyzz{z{y{zz|{zz{y|zz|{{{|zzz{{zzy{{{z{{z{{||zzz{zz{{{{}{{zzzzzzy{{{|z{z|z{z{{{zzz|{{|z{{{|z{{z{zz{{||{|{|zz|{{{{{{{z{{}|}|{{{{{{{|||{|{{|{{{{zz{{|||{||||{z{{{{{{{|{|}}{{|{z{{zzz{|{{{{{}{{{zzz{{|{{||{|{{{z{{{{|{|{|{{{|{zz{{{{{{|z|||||z{{zzzzy{{z|{||{{{{{{zzz{|{{|{|{{{{zzyz{{|{{{|{{{zz{{zzz{{{{z{|z{zzzz{{z{{{{{{{|{{zzzz{z{z{{{{|||z{{{zzz{{{{{{||{z{zzzzyz{zz{{{{{z{z{{zzzz{z{|{{{z{zzyzy{z{|z{{{zz{zzzyzzz{z{{{|zzzz{yzy{zzz{{{{{zzzzzy{zz{z{{z{zzzzz{yz{{{z{{{zzzzz{z{yyz{z{|{z{{zy{z{yzz{z{z|{zyzyz{z{z{|{{{|{{zy{{z{{{{z{z{||zzzzzzzzzz{{|{{|zz{zz{yzz{|{{{|{{z{zz{zzz|{{z|z{{zz{zz{z{{{zz{{{zz{{{zzz|{{{z{||zz{{z{{{{{|{||{{z{{z{{{{{|{{||||z{z{{zz{{{}{{|{|{{|{{zz{|{{{|{}||{{z{{{{{|{{|||||{{|z{|{z|||{{|||z{{{{{{{{|||{|{|z{{{{zz{|||{{{|{zz{zz{|{{{{|{{||{{zzzy{{{{|||{|{{z|z{z{{{z|{z{z{{zz{y{{|z||{|{|zz{z{z{{z{|{{|{|z{{zzzzz{z{{|{{|{{z{zzz{{{{z{{{{{z{{{{zz{z}{z{|{zyzzzz{zz{{||z{|{zzyzz{z{|z{{{|z{z{z{yzz|z{{{{{{z{zzzz{yzzz{{{z{zzy{yy{z|{{{z||y{z|yzzy{{{{z{{{{{zzzz{z{{z{{zz{{{zzzzzzy{z{z{{{{z{zzzzzzz|zzz{{z{zy{zzzz{{{{z|{{{zzzz{zz{{{zz{|{zzzy{z{z{z||{{||z{{{zzz|{}{{{{{{|z{z|z{z{{|||||{{z{z{|zy{{||z||{{{zz{{{{z||z{{{{z{zz{{z{{||{|{{|{{zz{{{{{{z|||||{{{{{{{{{{|||||{|{{{{{{{||{{{|||{{{{{}{{z{{{|{||{z{zz{{{{}}|{|}||z{{{{{{|{|||{{||{|z{{z|z|{{{{|{|z{{{|{{|z{|{|||{z{z{{{z|{{z|||{{{{{zzzz{}||{z|{|z{{yzzz{||||z{{{zzzzyzz{{{{y{{{zzzzzzz{{{{{||||{{zz{z{z{z{{{|{z{{z{{zzz{z{{yz|{z{zzyzzy{{{{{||{{z{zz{{z{{{{z{zz{z{zzzy{{{{z{z{{{zzzz{zz{|z{{{{{z{{{z{z{z{z{{{z{zzz{zzz{zz{zz|z{z{zyyz{zzz{z{{{|{z{zzzyyz{{zzzzzzyzzzzzzz{{zz{{{zzzy{zyzyz{{z|{||zz{{yzz{z{{{{|{zzzzyzzz{{{{{|{{{{zz{zzz{z{{{z{{|{{{|zy{{|{|{|{zzz{z{{{z|{||{{|{zzz{z{z{{{{z{{z{|zz{{{{z{{{{{|||{{z|{z{|{|{|{{|||zz{{z{z{|{||||{|{{{{{|{{||{|}{||z{{{z{{{{||||}||{||{{{{||{|{||||{|{|zz{{|{|}||||z{{{{{{|{|{{{|{|{{{{zz{||{{{|{{|{{zz{zz{{{{|{|||{|{z{{{{||{|{|{|z{{{z{{||{{||{{yzyz{{zzz{{{z{z{{yzzzzzz{z{{z|{{{{{z{zyzzz{{{{{{{z{yzzzz{{{{zz|{zzzz{zyz|z{z{{zzz{{zzzzz{{{{{{z{zzzzz{zy{{|{{z{{{z{yxz{zzyzzzz{|zzzzzzyzzz{{{{zzzzzzzzyzz{{z{{y{yyyzzzyyzzz{zzzz|zzzzzyzz{zyz{zy{zyzz{z{{{zzz{z{zyz{zzzz|z{z{z{{{yzz{zzzzz|{z{{|yzz{{z{zz{{{z{z{{zz{zz{zz{{{{{{{{z{{zz|y{{{{{{{{{zzzzzzz|{{{{{|{{zzzzzzz{{{z{|{{zz{z{{{zz{|{{{{|z{{z{z{|zz{{{|{|z{{{{zz{{||{{{|{zz{zzz{{{|{{{||{{{zz{{{{{{|{{{|{{z{{{{{z{{|{{|}{}{{{z{zz|||{{{{|{zzz{{{{{z||{{||{{{{{{{{{|||{{z{{{|zz{zz{|{|{{|{{{zz{{zz{{{{{{{}z{|z{zyz{|{{{|||zzz{z{zzzz{{{{|{z{zz{zzz||{{{|{|z{{zzz{z|{{z{{|{{z{zzzzy{z|{{{{{{{zzzzzz|zz{{{{{zzzzy{{zz{{{{{{|{{zzzyzz{z{zy|{{{{zz{yyzzz{z{zz|zyyzzzz|z{{{{{{z{z{zzyyzzz{z{{z{zz{zyzyzz{{{{{|{zzzzzz{y{z{z{z{{z{{zzzzz{{z|z{{{{zz{zzzy{z{|{z|{{zzzzz{{{z{{{{|{{z{{zzz{{{zz{{z{{z{yzzzz{z{{|{{z|{{zzzzzz{{{||{z{zzzz{zz{{|{{{|{zy{z{z{z{{{{{|z{{z{{{z{{z{{{|{{|zz{{{|zz||z|{{{{|{z{{zyz||{{{||{|z{{{|{{{|{zz||z{{{{{{{{{{{||||||{{z{{{{{|{|{{|{{{{{{{z{}{{|||{|{zz{{{{{|{{{z{|||{|{{z{z{|z{||}||{{z{zz|{z{{{|||{{zzyz{{{{|||{{|{{{y{z{{|{|{{z|{{{zzz{yzzz{z{|{{{zz{zzzz{{{{{|{{z{zzzzzyz{{{{{||{yzzzzz{{z{{y|{{zzz{zzzz{{{{||{|z{{z{z{zz{{{{|{{{yzzzzz{{{|zz{|zzzyzz{zz{zz{{z{{{yyzyzyy{{{{{{{{z{z{y{zzz{z{{{z{{z{zzzzz{{{zz{{{{zyzzyzy{z{zy|{zzzzzzzzz{{zzz{{{zz{zz{yzy{{{{{|{zz{zzyzz{{{{{{||{zzyzz{zx{{{{z{{{{z{yyz{z{{{z||z{z|zzz{z{{{|{|{|{{z{{zzzzz{{{{{z{z|zz|z{{{{{{||{z{zzzy{{{|{{|||{{{{{{z{|{{z{{|||{{{{{z{z{|}|||||{{z{{zzz{||{|||{zz{z|{{|{||{{||||{{z{{{{{}|||}{||{{{z|{{||{|z||{{z{z{zyz{|{|{{|{{{{{{{{{{|||||||{{{zzzz{z|{{{{{{{|{z{zzz{|{{{|||{|{{{z{z|{{||z{{zzzyzzzzy{z{zz{{y{yzzzzzz{|z{{|{{z{zzz{zz{{z{{{{{z|zzyzzz{{|{{{{z{zzyzzz{{{{z{{{zyzzzz{zzz{zz{{z{zzzzzzz{z{yz{zzzzzz{z{{z{z{{{zzyzz{yzzz|{{{zz{zzy{zyyyzzz{{{{z{zzzzzzzyz{|{{{{zzzzzzyzz{zz{{{zzzyyzzzzzzzzz{z{{zzzzyzz{{{{{z|{z{{yz{z{zz{|z{{{{zzzzz{y{zzz{z{{|yz{zz{zzzz{{{{{{z|{yz{zzz{zz{|z|zzzyzzzy{{{{{|{{{{z{z|y{zz{{{|{{||zzz{{{{{{{{|{{zz{{z{{{|{{|{{{{zz{z{zz{|{|{{{{{|z{{{zz{{||{|||{{{|zz|{zz{{|{{}{|{{{z|{z{|{|||||zz{{z{z{{||{z{{{{z{{{z{{z{{z||{|{{{{z{{z|{{|||||{zzzzzzzz{|{{|{{{{{zzzzz{{{{{z{{{zz{{z{zz{|{|{z{z{zzyy|zzz{zz{{{{{zzzyzz{{{z{|{{zzzzzzyz{z{z{{{{{zzzzzz{z{{{{z{{{{zzyzzy{{{z{{{{{zzz{zzzzzz{{{zz{zzy{zyz{{z{{zz{{zz{yzyz{yz{z{z{{zzzzzyy{{{{zzz|yyzzzzzzzzzz{{zz{zzzyzzzz{{{z{{{zzzzzzyzzzzz{zz{yzzzzzzzy{{|{{{zzzzy{zzzzz{{{{{{{zzzzz{z{zz{zz{|zy{zzzzy{{{z{{{|zzzzz{z{{{{y{{|{zzzzy{zzz{{{{{{{z|z{zzzzz{{{z{{z{zzzz|z{{|{{{{||{z{{{zz{{zz|{|{{zz|z{z{{{|zzz{||{zzzz{{z{{|{z|{{{zzzz{{{|{{{{}||z{{{z{|z||{z{{{z{{z{z{{z{|{|z{|||z{z{{zz||{|{{{{{z{{{zz{{{{|{{||{|z{{zzz{{{|{{{|{{{zzz{{{{{{|{|{{{zz{z{zz||{{{{|{z{zz{zz|{|{{{z{z{zzzzzzz{zz{{{zzzzzzz{{zz{{{{{{{zzzz{zyzz{{{{{{zyzzyzyz{z{|zz{{{zzzzz{z{{{z{|z|zzzzzzzy{zzz{||z{zzyzzzz{z{zzzz{zz{yyzx{z{z{z{y{zzzzzyzyzzzzz{{{zzzyz{yzz{{z{z{zzzzzyyzyz{{z{z{{zyzzzyzyy{zz|{zzzzzz{zzzz{yz{{{{zzyzyzyzz{z{z|{zzzz{zz{zz{{{zz{{{zzzz{z{{{z{{{{{zzzzzyzz{{|zz{{{zz{zyzzzz{{{{|{zzzz{z{zz|{|z{{{zyzzz|{z{{}{zz{z{{{zz{{{z{{{|{{|{z{z{zzz{||{{{{|||zz{zzzy||{{{{{|{{{zzzzz|}{z{{|{{{zzz{{{{z{z{|{z{{{{z{{{{{|{z{||{{{zz{z{{{|{z|{{{zz{{zzz{}z{{{{|||{z|zz{{{z|||||zyzyzyzz||z{{|{{{{zzyy{z||{|{{|{{z{{{zz{{{{|{{{{z{zz{zzz{|zz|z{y{{zzzzzz{{{z{{{|{zyzyz{{{z{z|z{{zzz{{zzzz{{{z{{{{zyzzzzz{zz{zzz{zzzzyzzzz{zz{z|zzzz{zzyz{{|z{{z{yyzyz{z{z{z{y{z{zyzy{zyyz{{{{{{zz{{y{zyzzz{z{{{yzzzzzzz{|{z{z{{z{yzyy{zzy{zz{{z{{{zzzzzz{{z{z{{{zzz{{{z{zzz{{{{{zz{{zz{z{z{{zz{}zz{zzzzy{{{{{{|zz{{{{yzz{{{{{{{|z{{{z{z{z|{|{{{{{{zz{zz{z|{z{{|{yz{zyzzz{{{{{{|{{{z{z{{{{z{{z{{|{{zzzz{|{{{|{{||{{z{{z{z{{{|{{|{{{{zz{|{|{{z{|{{{{z|z|{{z|{z|{|||{{{{z{{||||{|||{{{{{{{{{{||{z|{{{{z{{zz{{||{||||{{{{{z|{{{{|{{{z{{z{z{z{|{{{||{{zzzzz{z{|{{{{}{{|{|{z|||{|{}{{}{{{yzz{zz{{{|z{{{{{zy{zz{{{zz{{z{z{zzzzz{{{zz{{{zz{z{{zzz|z{z{|{{{zzzz{y{{{z{{{{{z{z{zzyz{zzz{{{z{{zzzz{zz{{z|{{{zzyzzyzz{zz{|z{zzzzyyzz{{{{z{{zzz{{zzyz{{{z|z{{z{zz{zzy{{{z{{{{zzzzzzzyz{zz{{{|{zzy{yzzz{yzz{z{zyzzyzzz{z{{{|zz{{{z{{zz{{{{{||{{{{z{yz{z{{{{{|{{zzzyz{{{{{{{|||{{{zz{zz{|{|{||{z{{zz{z{{||{z|||{zzz{{{{{{{{{|{z{{{z{z{z|{{|{||{z{{{{|{z{|||{||{{z{{{zy{z{{{{{|{zy{{||{{{|{|{|}{{z{z{{{{{{{{{{{{}z{{{{z|{|{}{|||||{{{{{{{||{|{|{{{{{{{{{z|||{|||{|zz|{{{{|{{{{||{{z{zz{|{||{|{{}|{{{zz{{z{|{|z{{{||z|{{{||}|}|{z|zzz{{zy{z{|{z|{{zzzzyyzzz{{{{z{{zzyz{zzz{z{{{zzzzzyzy{zz{z{{{z{{{zzz{zy|{|{{{{z{{zzzzyzz{{z{|{{{{{zzzzz|{{{z{zz{yzyzzz{{zz{yz{zzzzzyzzz{{z{z{{{{{zzzzyzzz{zz{{{z{{zyzyyz{z{{z{{zy{{{yyzz{{zz{{{{zz{z{zy{zzzz{{{y{zz{zzyzzz{z{{{{yzz{yz{{{z{z{z{zz{{zy{z{zzzz{{{z{{zzzzz|{{{{{|||{zz{zzz{z{{{zzz{z{{{zzz{z{|{{{{{{yyzzzz|{{|{z{{{z{zzz{{{z||||{{z{zz{{{{||{|{{{||{z{{{zz{|||{||z|{{{{z{{{||{|||{zzz{{z||{|{{||{{{{{{z{|{{}{||||{|z{|z{z{|z|{||z|{zzz{{|{{{|z{|{||{{{{{{{{|{{||z{{z{z{z{|{|{||{|zz{z{{{zz{{|{{{{||{{zzzz|{|{}}{z{{{zzz{z{{{{{z{{|{{z{zzzzzz{{{{|{zzzy{{yz|z|z{{z{zz{zzzzzz{{zz{{{{z{{zzzz{zz{z{{{{zzz{{zz{z|zz|{z{{zzzz{z{zz{z{z{zzzzzzzzzz{z{z{|zzyzzz{zz{z{yz{{{zz{zzzzz{{z{zz{y{z{zzzyz{{zzzz{{{{zzyzzz{zzzzyz{{zzzzzzy{yzzz{zzzzzz{zz{zz{{{{{zzzyzzzzzz|{{{{|{{z{zzz{{{z{{{|{zz{zzzzz{z|z|{{{{{zz{zzzz{{{{{{{{{{{zzzz{{|z{{|z{{|{zz{{|{{{{{{{{|{{{z{{{{|{{{{|z{{{z{{{||{|{{|{z{{zz{{{z{z{{{|{|z{|{{{{||{{|}{{{{z{z{|z|{{{{||{|{{{{zz{{{||{|{{|{{{{{{{|z{{|||{{z{z{{{z{{{||{||{{zz{z{{||z|{|||z{z|{{{{{{z{|{{|{|{{y{{z{{{||{|{z{{{{z{z|}}}|zz{{{zzz{zzz|z{z{{{yyzzzzzzz{{z{z|{{{zzzyz{zz{{{zz{z{yz{zzz{{{{{{{{{z{z{zzzz{z|{{z|y{zzy{{z{{{{z{{{zz{zz{yyz{{{zy{z{{zzz{zy{z{zz{z{zz{zz{zzzz{{{zz{zyzzzzy{{{{zz{zzyzzyzzzyz{{{z|{{{zyzzzzyyz{zy{{z{{{yyzzzzzzz{{z{zzy{z{zy{zzz{z{|{yzzzz{z{{zzz{{{zzzzyzyz|{{{y{||zz{z{{zzzz{|{||zzz{{zzzy{{{||{|{{z{zzzz{z{{{{{{{zzz{{zz{{{{{z||z{{z{z{{{{z|{||||{zz{{||z{{z{{{}|z{{z{z{z{{z{|||{|{|{{z{{||{{{{||z{{zz{{{zz{||||||{zz{z|{{{{|{||||{{{{|z{|z{{{{|{{{{|{z{z{|||{||{{z{zz{z{{|{|{{|{{{zz{z{zz{{|z{|{z{z{zzzz|{{|{z|{{z|z{z{||{|}}{z{{{{{yzzyz{{{z{{zzzy{zyz{z{{{{|z{z{zyzzzzz{zz{{z{{zzzz{zzz{z{{{{{{z{{zyzx{z{{{{z{zzzzz{{zzz{z{{|{{z{z{zzz{z{zzzz{zzzyyzzz{{zzz{zzzyzzzzzzzz{zz{{zzzzyyzz{y{|{{{|z{zzyyzxzzz{zz{z{zzy{zyzyzzzz{zzzzzzz{zzz{{{{z{z{{zzzyzzzzzzz{{{{{zyzzzzz{{z{z|{{{zzzzyz{z|{{{{{{zz{zy{{yz{{{z{{{{{{z{zyy|{{||{z{z{{z{{z{{{{zz{{{{zz{z|z{{{{{{{|{{zyz{|{{{||{|||{zzz{zz{{z{{{{{{|{z{{z{zz{|{{{{|{{{zz{z{|{{{z{|}|{z{{{{{{{{|{{||}|{z{z{{|{{|{{|||{{{{z{{z|{{|||{|{|zz{{z{{|||{{||{|{{{{{z{{{||||{{zy{{{z{{{{{|{{{z|zz{{{{{{|{|z{{{z{z{z|{{}}|}||{zyyzzz{yz{zz{{{|zz{zzyzz{{{{{{{{{{yyzzzy{z{z|{|{{zzzzzzz{{z{{{|{{zzzzzzzz{z{{z{{yzzyz{{z{{zzz{z{{z{z{zzzzzzyz{{zyzzzz{yy{{z{{|{{zzyzzzzyz{z{{{{zzy{zzzyzyzzzzzz|z{{{y{zzzz{z{{{{z{zyzyzzyzzzz{{{zz{z{zzzzz{yz{{zzy{zzzzyz{{{z{|zzzz{zyzz{{{zzzz{{{zzyyzz{{{zz||{zzzzzz{|{{{{y{z{zz{{{z{z{{{{z|{{{zzzz{yz|{{{{{{zzzz{{z{z{z{z{{{z{z{{zzz{|{}}|{{z{|z{{z{{{{{{{z|{{{z{z{zy|{||{{{{zzz{{{{{{{|z{||{{{z{{{{{{||{||{|{zz{{{{{{|{{{|{|{{{z{z|{{|{||{{{{{y{{y{z{{{|{|||z{{|{zz{{||{|{|{{{{zzzz{{{{{{{{{{{{zz{zy|{{|{|{|{z{zz{{z|{~{|zz{z|zx{z|z{{|{zzz{{{{z{zyz{|{|z|z{z{zy{yzzzz{{zz{|zzzzzzzz{{{{z{{{{zzzyyzz{{z{z{z}zz{{zyzz{{zzz{{{{yzzyzyzz{{zz|{{zyzyyzz{z{z{zzz{zzzzzyyz{{{z{z|zzz{zyzzzyz{{{{{{zzzzyz{yzzz{yzz{z{zyzzzzy{yzz{{{z{{zy{zzy{{{z{{{zz{z{zzzz{{{zz{{zzzzzzzzy{z{z{zz{zzzzyzz{{zz{{{{zzzzyzzy{{{{{z{{{{z{zzyz{|{|{{z{{zzyz{zz{{{zz{|{z{z{{{zzz{{{y{{{{{{{{zy{{{|{{|||z{z{zz{{{|{|{|{|{z{z{{{zz||{{{|||{{{|{{z{z{z{{|{{z{{z{{|{|{{|||}{{{{z{{{|{{|{{{|zz{zzzzz|{|||}{|{z{z{z{{{{|{{|{}{{zz{{z{|||{{|{|z{zzz{zzz|{|{{{{{z{zzzzy{z{{}z|{zz{|z{{|{}||||{zzzzzzz{z{|{{{{{{zz{{zz{z{z{z{{z{{y{zzz{zzzz{{{{zyz|z{zz{zzz{{{{|{zzzyy{zzz{{y{z{zzzzyy{z{{{|z{|{{zzz{zzy{|{{z{{zz{zzzzzyz{{|zz{y{zyzzyzyyz{z{|zzzyzzxyzz{z{z{z{{zzzyzyyzzz{zz{{|zzzzyyyyzz{z{z|zzzzzzzzxzzzz{{{{yzzzzzzz{z{{{{{{{zzz{zzzz|zz{{{{zz{zyz{zzz{zz{{{zz{zzzzzyz{{{z|{zz{z{z{zz|{{|z{{zz{z{{zz{||{{{{{{{z{zzy{{{{{{{{{zzzzzzzz{{{||{|{y{z|z{{{{{{{{|||z{|z{zzz||{{{{{{{z{z{{{{z||{{{||{{{z|{{zz|{|{}|{{|{y{{{{{{{|{|{{{{{{{z{|{{{{||{{z{z|z{|{z{|{{{{|{{z{{z{{{{z{{{{|zzz{{z{z{{{{{{|{z{zzzzzzz|{{{{{|zz{z{yzz{||||{{{|y{yzyzzz|{{{{|{zzzz{{zzz{{{{{{|{{zzzzyyz{{yz||{zz{y{zzzy{{{zz{{{z{yzz{z{{{{{{}{{zzzzzzzz{z{{{{z{z{{zz{y|{{yz{{{zzy{zzxzzzy{z|{{zzzzyzzyzz|{{{{zzzzzzzzyz{z{z{{zzzzzzz{zz{y{{z{{{yzyzzzy{zzzzz{|z{zyyzzz{{yz{|z{{z{{zyzzz{{{{z{{{zyz{zzz{{z{{{|{{z{{{y{z{{|z{{z|z{zz{{zz{{|{{{{|{{z{z{zz{{{{|{{{{zzz{zzy{{{||z|{|{z{zzzz{||{z{||z{{{{{z{{|{|{|||{{z{{{|{{|||{{{}{{{{zzyz{}{||{{|z{{{{z{{||||{|||{{{zz{{z{{{{{||{{{{{{{{{z|}|{|{||z{{z{{{|{{{{{{{{{{{{{z{{{{{{{{{{zz{{{z{||{{{|||z{|z{zz{{|{{{{|{{{{z{{{z{{{{{{|{{z{z{zzz{||||{z{z{yz{{zyz{||z{{|{{z{zzz{{zzz{{{|{|{{zzzz{z{{{{{|{z{|zzz{{{{{{z{|z{{{y{{zz{|{{{||zzyy|{zzzz{z{{{|{y{zzz{z{{{zz{|{{z{yz{zyz||{z{{zzz{zyzzy{zz{z{{|zz{zyyzzz{|{{|{{z{zzzy{{z{{z{{||z{zzzzzyz{zyzz{z{{z{zzzz{{z{z{{z{zz{zzzyzz{{{z{{{{zz{z{zz|{{{||{{{z{zy{z{{z{||{|zzzzzzz{{{|z|{{zz{zz{z{zzz{{||{{{|{zzzzz{z{|{{||{{|{{z{z{|||{{|{{{z{{{{z|{}{{||{zz{{zz|{z|||{||{{z{{z{zz{||{{{||{{{{{z{{|}|{{}}}|{{{z{{{{||{|}{||{{{{|{z{|||}}{|{{{||{{{||{|{|{||z{{{{{{|{{{{||}{z{{{zz{{|{|{{|{{{{zz{{{{||{{{|{|{zzz{{{{||{z{|{{{{{{{{z|{}||{zz{yzxz{{zz{{y{{{{z{{yzz{y{{{z{{{|zzzzzz{yz{{{z|{{{z{zzzzxzzz{{{{z{zzzzzz{{z{z{{{||z{y{{zzz{zzy{{|{zzz{zyzz{z{z{{z{zzzzzzy{zzz{{{zz{zyzyzzz{{{z{zzz{z{zzy{zzzy{z{{zz{zzzzz{z{{{zzz{zyzyyzzyzzzzz|{{yzz{zzzz{{{{{{{zzz{{{z{z{zzz{{{zzzy{yyz{{{zz{|{z{zzy{zz{{zz{|{{{zzzzzz|z{{{{{{|zz{z{zzz{|{{{|{{zz{z{zz{z{{|{||{{yz{{{{{{zz{y{{{|zzzz{zz{{|{{|||z{{z{z{{|{{|{|{{{y{{|{{z{{|{z{z{|{{{{z{y{{||{||}z{{zz{{z{{}|||}||{{{{||{{{|{|{{|{z|{{{{{||{||||{{zz{{{{z{{{{{{{{{{zz{zz|{{{{||||{zzzyzz{{|{{z{|{{zzzzzzzz|{|{{{zzz{zzz{{{{{||{{z|z{{zzy|y|{{{{{{{{zz{z{z{zz{{{{{{z{zzzzz|{{z{|||{z{{zy{{{{{zyz{{|z{zyz{z{{z{{{{{zzzyzz{zz{{z{z{zz{{z{zzz{{|{{zzyzyz{zzz{y{z{zz{{zzzzzzzy{zzzzz{z{zzyzzzyz{{{{z{{zzzzyzzzz{{|{||{{zyzzzzz{z{z{{z{zzzzyzyzzzzz{{zz{zzyzz{y{{{{{||{{zzzz{z{z{{zz{{{z{{{zz{{{{{|{{{}{{{zy{{{zz||{z{|{z{z{zzz{{{{|||{{z{{zz{z{{{|{{{|{{{zz{z{z{z{{|||{{yz{z{{||{}{{|{{z{{z{{z||{{z|||{{zzz{z{{{|||{|{|{zzz{zz{|{{|{{|{|{{z{|{{|{|{{{{|{{{{|{{{{{{{|}|{z{{{{z{{z{{{{}{{zz||z{{|{|{{{{|{z{{{zz{{{|{|{{|{{zzz{{zzz{|{{|{{{z{zzzz|{{{{||{z{{z{zzz|{|{{z{{zzz{yzzz{{|zz{{z{yzy{|zzz{{{{{{|z{zzz{zzz{zzz|{{zyzzzzzz{z{{{{{{{zzyzzyzz{{z{{{zzzzzzzzyz{zzzz{{zzyzzzyz{{{zz|zyzzzyz{{y{y{zz{{{zyzyyzzyz{zzz{|z{yyzyzyzzz{zzz{zzz{yzzzzzzzzzz{{{zzzzzz|y{zy{{zzzyzyzz{{z{{{{zzzyyzzz{zyzzz{{{{{zzyz{yz{{zz{z{{|{zyzzyzzz{zz{{{{zzz{yzz{z{{{z{{{z{zyzzzz{|z{{|{{{z{zy{zzz{|{z{{{{zzzzzz{{{z{{||zz{zzz{{{|||{{|{{{z{{zzz{{{z|z{|{{z{z{z{|z|{|{{|{|zz{{{{{{{{{{{||{{{zz{{{{{{{{|{{zz{{zz{z{|{|{|||{{{{z{{{{||{{||{{zzz{{{{|{|||||{{{{{{{{||z{||{|{{{{zzyzzz|{{{{||{zz{zz{z{{{{zz{|{z{z{zzzz{||{z{{yzzzzzyz{{z{z{{{zzzzyyzz{zz{{{{{z{zzzy{{z{{zz{{{{|zzzzz{zz{|z{{{{zzzzzzzzz{{{|z{zyyzzzzzz|z{{{zzzzzzzzyyz{z|zzzzz{zzzzzyzzzzzzz{zyzzzzyyz{{z{|{{zzzzzzzy{{{z{z|{zz{yzy{z{z{zzzzzzzz{{yyzyz{{z{zzzzyyzzzzz{yz{{zzyzzy{zyz{{{{z{|{zzzyzyzzz{z{z{z{{{{{yy{z{z||{{{|z{zyz{zzz{||{{{{zzz{|{z{y{{{z{zz{z{yzyzz{z{{{{{{{{zz{{zz{{{{z{{|{{zzzz{z{{{{||{|{{{{z{{{|{z{{{{|{z{{zzz{{||{{{||{z{|{z{{||z{||||{{{{{|{z{{{{z||||{{{z{{yz||{{|{{z||{z{{z|{|{{||{{zz{zzz{{{|{{{|{{z{{{z|{{{{{{{{|{z{zz{{{{{{||||{z{z{{{zz{{|{z{{{zzz{zyz{z{|{z{||zz{{zzyy{{|z{{||{{zz|zzz{|z{|{z{{{{{yz{z{{|{|||{z|{zzzzz{{{||{||{{{zzz{z|{{}{|||{{{z{z{zz||z{{|{{{{{z|z{{{z{zz||zz{{{{z{z|{{z|{|zzz{{{yz{{{{z{{{z{z{y{zz|{|{||{{{z{{z{zzz|{{|{|}{zzzzz{zz{z{{{{|zz{xz{zy{{{{{|{{{z{zyz{{{|{{{{||{{{{z{{z|{{{|||{|z{|zz{z|||{{|{{|z{{{z{{{{|{{{}}|{{{{y{{{}{{{{{{{{{|{{zz{|}{|||{|{{z}z{{{|{z{|||{{|z{z||{{{|||{|{|{|{{|{}{|{{|||||{{{z{||||{|||||||||{||}|||{|}}{{{|{{{{{|||{|{}|{{|{|{||~{||}||{{{{|z{{|{{|{||{{z||{{z{{|{|}}|||{{{|{{{|{|{}|}}|z{|{{{{{{|||||||{|{z|{|||{||||{{{{{{{{{{|||{{|{zz{{{{|{{{|{||{|z|yz{{{z{||{{|||{{zzzz{{{||{{||||{{{{{z{z{{{{{{{z{zz{z{{|{|||{||{{{zz{z{z{{{{||{|z{{z{z{||z{|{{|z{zzz{{y{{{{{|{{zzz|{zzz|{{{{|{{zzzzzz{z{{|{{{{|{{{zzz{z{|{{{|{{zz{{zzzz{z{{{|{{zzzz{{{{{y{z{|{{{z{{zzz{||{{{{|{zzzz{{{|{|{|{{{|{{z{zz{z{{||{{||{z|{{{{z{|{||||||{{y|{{{{||{||{}|{z{{{{{{||{{|}{{{{{{{|z{{|{z{{|{{{z|{{{{}||||||{|{{{{{{||{|||||{{{z{zz{|||||||{}|z{|{{z|}||||||{{{{{||||||||}|||z{|{{|{|||}{|||}z||{{}{||{}|||||z|{|||||{{{{||}|||{z|{{z}|{||||{{{{|z|z{|||{{||{|{|{{{{{|||||{{{{|{|z{z{{||{{|{zz|{{{{z{|||z{{|z{zz{{{z|{}{{{||{{{zzzzz|{{{{|}||{zz{{yzz|{|{{||{{zzzz{z|z|{{|{||zzzzz{z{{{z{{{{z{|z{{zz{{{|{{|{{zz{zzy{{{z|zz{{zzz{{z{{z{{||{|{{zy{zzz{{{{{|{|{{{zzzzzz{|z{|{{{yz{{{z{{y{z{{||{{{zzz{zz{{{{{|{z{z{{z{{z{z{{{{{{|{{z{y{z|{|{z|{|{z{zzz{{||{||{{||{zzzz{{{||zz{||{{{|{zz{|{|{|||{zz{{z|{z||{{|{{|{{zz{{{{|z|{|}{zz{{|{|{{{{|}}|||{{{zz{|||||{{|}|{{{|{zzz|{{||||{{{z{{|{{{|{||}|}{{zz{{||{{|||{||{z{{{{{{}}||{|||{{||z{z{||{||}|||{{||z{|{}||}|||||||{z{{|{z}}}}}{{{{|{{{||{|||||{|{|{{z{{{|{||{|{{{zzz{{z||||||{{{z{{{{{z{{z{|{|{{{{zz{z{z|||{{{|{{{{{y|{z{{{|||{{{{zzz{{{{|{{|||{{{{{{z|{z|||{||{{{{{zz{{|{{{{{{{{zz{z{|}}z{|{{{{zzz{z|{|z{|{{{zz{zzzzz|{{{{|{z{{z{zz{{z{{{{||{z{{yz{zz{|}{z|||{{{{{z{{zz{z{{|z|z{z|{zzz|{{|||{{z{z{{zzz{{{{||{{{{{z{{{|{|{|{{{z{||zz{{||{{{|||zz||{z||{{{{z||{|{{{{z{{||||||{z{z{{{{{z{{{|||}{{z{{z{{{||||||}{{{{z{{{{||||||||{|{|{{{{{{{|{||}||{{||{{{|}||{}|}{{||{{z|{||}||||{||{|{z{}|||}||}{|{{}||{}||{||{|{{{|{z{|{{}{}|}||{{||{||||||||}|{|z{{|||{||}|{|{{{z{{{{{|||{{||||{{{z{{{}|||{|{|||z{{{z{||{{|{{z|zz|{{{{{|{z{{|{z{{zzz{|{|||{{|{z{{{z{{||{||{}|{{{{{{z{z||z|z|z{{{z{z{z{{|{{}{|{{{zz{z{{{{{{{{z{z{zz{z{{{|zz|z{{{z{zzzz{{{{{z{|{{{z{z{{{{{{{z{zzzzzz{zz{{||{{{{z{z{zz{z{{{|{{{{{{z{{zzzz{z{{{{{zz{zz{z{z{z|{{||zz{zz{{{z|z||{{|{z{{|z{{y{{{{{||{z{|zz{{z{{|{{|{|z{{zzz|{z{|{{||{{{z{zzz{{||{||{{{{{{{zz{||{{|}|||{{{z{{||{|{|{||z{{{{z|{{{||{}|{{{z{{{{{{||||{||{{{{{{{|||}|}{{|{||{{{{||||||{||{||{{{|{{||{||||{{{{|{z|}|{||}||{|{{{|||{{{|||||{{{{z{{{{||||||{{{{|{{{{|||{{{}{{{z{{{|{|{|||{|||zzz{{z{|{||{|{{{{zz{zz|||{z{{z{{y{{{zz{{|{{{||{{{{{zz{{{{{{{{}{zzz{z{z{{{{z{{|{z{{zzzz{{||||||z|{zz{yz{{zz|{{{|y{{{{zz{|{{{{|{{{{z{{z{{{{z{{z{z{{z{z{z{{{{{{|{zzzzyz{z{{|{{{{{|{z{z{zz|{{|{|||{{{{zz{z{|z{{|{z{z{{zzzy{z{{{|{|{{{zzzzz{{{{z{{{yz{zz{z{{{{{|||{{z{z{zzz|{{{{||||z{z{z{{{{{z|||{{{{{z{{{{||{{}||{z{{|{{{zzz{{||z{{{{{{zz{{|||{}{|zz|{|{{{|{{{}|{{{|z{{{|{{|||||}{|{{{{|{|{|}||||||||{z{{}||}||||{z|{{|{||{|{|||||{|{{{|{{{{{|}}||{{|{}|{z||||~{{z{|{{{{{|||}||}{{{{{||{{{|{|||}}||{{|{{{|}{|||}{{{{{{{{{{||{{|||{|{{|{{{{||||||{{{{{|z{z{}||||{{{zz{|zz{{||z|||{{{z{{z{z{{|{|{{|{{{{{{zz{{{{||||{z{{{{zz{{z{{z|{{{z{{{{y{z|{||{{zzzz{{zz|{|{{{|{{z{z{{{{{z{z{{|{{{z{{zzz|z{{||z{zyzzyz{z||z{{|{{{z{zz{z{{{|{{|{{|{{{zzz{{{|{{{{{{zzzzzy{z{z{{|{{zzzz{yzzy{zz{||{{z{z{{zz{{z{||{{|y{y|{zz|{||z|||{z|{zz{{|{|}{{||{{{{|{{y{{{|{{|}{{|{|{{|{|z||{}||z{z{z{z{||{{{|{|{z{z{{{{||{{|||}{|{{{z{{z|{|||||z{{{z|{{||{z}||{z|{{{{{|}|||}|}|{{{{{{{{||{||||{{{|{||||||||~|||{z{{|{{||{||{||||||{{z|||||||}{|{z{{z||||{{|||||||||z{z|||{||}}|||z{{|{||{{|||}{{{z{{{z{|||{{|||||zz{{{zz{||z{|z|{|{zzz{z|{{{|{{yzz{{zz{{{{||||zzzzzy{z{{{{||{{z{{{zzz{|{{{{z{{{|{{zzzz{|{{|{{zz{{zzz{z{{|z{|{{zz{zzzz{z|zz|{|{{z{zz{z{{{{zz{{|zzzz{z{{zz|{{{|{z{z{y{zzz{{{zz|{{{{zz{yzz{{z{{{|zyzzzz{yz{z{{{{|{zzyy{zz{{z{{z{{{zzz{zyz{{{z{||{zzz{{z|{z{{{{{||z{|zz{{z{{{z{{{{{{z{z{zz{{{{|{||{{zzz{{{{{z|{{{{{zz{{z{z{|{{z{|{{z{{z{z{|{{{|{{z{{{{z{{{{{|||||{{{|zz{z{{|{|z||{{{z{{{{{{||{|{|{{|z|{{z{{||{|{||{{|{|{{|||{{|||||||{{{|{{|{|||||{z|{{{{{|||{|||||{{z|z{{{{{||{||{|{{{{{{{|||{|||{{{z|{z{}{{{z|||z{zz{z{z{{{{{|{{|{{zzz{{|{|}{{{{|zzz{z{zz{{z{{||{{x{{z{z{z{{{||||{{{z{zz{|{|z{{{{z{{{y{z|y{{{{{{{zzz{zzz|{{{{|{{{{{{z{y{{{{z|z||{{{zzz{zz|{{z{{{{{zzzzz{{z{{{{{{zzz{zz{{{{{z{{|{{z{{zzz|z{{{{{{{{z|{{{zzz{{z{{||{zz{zzzz{{{zz|z{{zzzzzz{z{y{{{{{zz{z{zzz{{|{{{|{{z{z{z{{{z|{{{|z|{{z{z{{{{{{{{{|{z{{z||{{{||{|{|{z{{zz{{{{|{||||{{{{{{{{{|||z|||{{{{|{{{{|{|{{|||{z{{{{{{|||||}}z{{{|{|{{{{|||||{{{{{{{||||{{|{{}{{{|z{z||{z{|||{|{{z{{{||{{{}|||z|{{{{{||{|||}||{|}{{{{|{|{|||||z{{z|{{{{{{{||||{{{{z||{|{}||{|z|{{{{{|||{||{|||{{zz{{{|{{|{{}{{z{{{z{z{||}{z{z{{{z{{zzy||{{{{|{{z{{z{z{||{{|{|{{z{{z{z{{{{{|{|{{{z{zzzzz{{z{{{{z|zzz{{{z{{{{{|{z{{{{zzzz{{{{|||z{zzz{y{{{{z|{z{{{{{{z{|{{|{|{|z{z{{zzz{{z{{{{{{{{{zzyzz{{{|{|{yz{zzzzz{{|{{{{{{{yz{zz{{{{z{{{{z{{{z{{z{{zz{{{{{{z{{{{zz{|||z{{{{{{zz{z{|{|{||{|z{z||{|z|z{|{{{{{{zz{{{{|{z{|||{{z{{{zz{{|{|||{|{{{|{z{|||{||{|{{z{{{{{{|{{{|{{{|{{|{|{{|{|||{{{{{{{{|{||}||}}|{{{{{{{||||}|{||{{{{|z{{|{|||||{|{{z{{|{{}|{{|{}|{{||{|z{||||{}||{{{{z{{|{{|{||{|{||||{{||{{|{||~{{{{|{{||||}|||{{z{z{{{{{|||{|{{{{{z{{{|{||{{|{{{{zz{z{{}{|}{|{zz{{{{z{z{}{{{{{|z|z{zz{{z{{{|||{{{zz{zz{{{{{{|{|y{{{zzz{{{|z{||{z{z{zzzz{{{||{|{{|{zz{z{{z{{{|{{{{|z{z{z{|{{|{|{{{zz{z{{{z{{|{|zzzzzzzz{{{{|{z|{{{y{z{||{|{{||{zz{zzz{z{{|z{{||z{{zz{{z{{{{z|{{{{z{{z{z{|{{{{{|{z{{{z{z{{{{{{|}{z{z{{z{{{{{{z||z{z{{z{{z|z||{{|{{{{{{{z{||{|{{{{{{{{{{{{|z{|||{|zz{|{z{|{|{|{{|{||{zz|{|}z{|||{|{{z|{z{{||||||{{{{{{{{||{{{{|||{{{|{{{{{{||||{||{|{{{z{|{{}{{}|z{{{z{|||{{{||{}}||||||{||}||||}{{|{{z|{|{|||||{|{{{|{{{|{{{}||}{{|{|}|{||}}|{|||{|z{{{|{|{|z~||{z|zz{zz{|{|{|||{|{{{z|{|{||{||{{|zzz{z{{{z|{{{{|{zz{zzz|{{{{{{|{{{{z{{z{{{|{{|{|{z{zzzy{{|{{{z|{zzzzzzzz{{||z{{{zzy{z{zz{z{{|{{{zz{{z{z{{{z{|z|{{{zzz{{{zz{{{|{{zzy{z{z{{{{z{{z{z{{{{zz{{{{z{{{{{zz{|z{zz{{{{|{{{{zzz{z{{zz{z{{{{zyzzzyz{{zz|{{zy{zz{{z{{|{{z{|zz{{{{{{{||{{{||{z{{{z|{{{{|z{{|zz|{{|{{z{{{{|||{||z{{|z|{{{{|{{{z{z{|zz{{||{|{{{{{{{|{z{|||{{z{{{|{|{{{|||{|||{{|{{{{|{{||}||{{{|{{z{{z||{{|||||{|{|{{{||{{||||{|z{z|z{{{{{|||{|||{z|{z|}|||}}||{{||{{||{{||||}z{||{{{|||{|||}||{{{{{{|||{}||{|{{{{{{z{{{||{|{|{{{|{{{z{{||z|{{{|{{{y{{||{}}{{{zz{{{{zz|z{{z|||{{zy{zzz{{{{{|{|{|z{z{zz{{|{{||{{{{{zzzz{{{{|||{{{{z{zyz{z|{{{{{|z{zzzzz{}{zz{zz{z|z{{zzzz|{{{|{z{z{zzzyz{{||{{{{|zz{zzz{{{{z{{{{z{yzzzy{{{z{{{{{{y{yzzzz{{{{{||{{{{z{zzzzz{{z{{{{zzzzzz{{z{z{|{{z{z{|{z{{z{|{||{{{z{zzz{|{{{{|{z{{zyz{z{{|{z|||{{{z|{z{{{{|{{|{{{{z|{z{{{|||{{||{{{{zz{{{{|{{|{{{z{{{{{|{||{{{|{z{{|zz{{|||||||z|{{{{{{|||}||||{|{{|{{{{{{{||}{|z||{{{||{||||}}{|{{{{|{{{{{||||||z|{{|{|}||{||{|z{||{|{|||}|{|{|{{|{{{z||{{{|||{{{{{||{||||||||{{|z{{{zz|{||}|{{{zzzz{{z|{{|{|}z{{{{z{{|||{||{{{z{{zzzzz{{{{{|||{zz{{{{{||{{|z|{z{{z{{{{{{{|{|||{{z{{zz{zz|{{{{|{{{zz{zz|{{{{{|{{{z{{|{{|{{{z{|{{{{z{zz{z{zz{|{{z{z{z{{{{zz{z{z{{{z{zz{{{{z||{{zy{z{zz{{{{z{{|{{{{{z{zz{|{{{{|{|zz{zz{zz{|{{z{|{zzzzz{{{{{{z||{zzz{{{yz{{{{{{|{z{z{zz|z{||{|{{|z{{{{{{{{{{||||{|z{zy{{z{|{{{{|{{z{{{z{{{{||||||{{{z{zzz{||{|{||z{{{{{{||||{{|{{{z|{z{z{|{|||}}{{{|zzz{{|{||{|}{{z{{|z{{{||||||}||{||{{{|||{|{||{{|z|{|{{|||||{||{|{{|{{|}||||||||{{{z{{|||||||{}|{z|{{{|{||||||}{{{|z{{|||{|{|{{{{{|{{{|}||}{}|{{{{zz{{||||{|}|{zz{{z{||||}|z{{z{z{z{{z{{|{{{||{{zz{yz{{|z{|{|{{{{{zz{{{|{{{|{|zz{zz{z{{z{{{||||z|{z{{z{{{z{{{{{{{z{|{zz{|{{{|{|{{{z|z{{{{z{{{{{z{zz{{z{{{{z|||{z{z{zzzz{z|z{{{z{zzz{zy{{zz|{{{{{{{yzzzzz{{{{{{{zz{{{zy{{z{z|{|{z{yzzzz{{z{{{{||zz{{zz{{|{{{{{|z{z{{z{zzz|{{||{{{|{z{zz{{|{{{{|{z{z{|{z{{|{{{|}||{|z{z{{||{|{|{{{{{z{z{{{|{{{|||z{{|zz{|{||{||{{{{{{{{{||}|||{{{{{{{{{{||{|{|||{{{{{z{{{|{{{{||}{{{z{|z{|||||}|{{{{z||z|}|||||}|{|z{{z{{}|}}||||{{|z{{{||||{||{|z{{{{|||||{|||}|{{{{{{|{|||||}|{{{{z|{z||{|||||{{z{z{zz||||{||{{{{zz{zz{}|||{|{z{zzzzzzz{{|zz{|zzzzz{{{{{z{{z{{||zyz{zz{z{|{{||{{{z{zzy{z{|z{|{{{{zz{{{{{{{z}{|{zzzz{{z{zz{z{z{{zzzzz{zz{{{{{{zy{zzz{zz{{{z{{{{zzzyz{zz{|z{{{{{z{zzy{zzz{z{{z{{zz{{zzyzz|{{|{{{zzzz{{zyzzz{{{z{{{yz{{yzzzz{{|{{zzzzz{zy{{{|{{{z{{{zz{z{{{{|{z{{{zz{zzz{{{{{|{{|{z{zzz|y{||{{|{{{z|zz{zz{|{||||{{z{{{zz{{{{{|||||{z{zzz{{|{{{|{zz{{|z{{z{{{|||{{z{{{z{{|{{{|{|{|{{{{zz|z{||z{||z|{z{{{z{||}|||||{{z{||{{{|{||}|{{{{{{{{z{||||||{|{|{{|{{|{||{|||{{y{{z||||{{|{||{{{|{|{{||{|{{{|{{|{{{zz{{{{{{||{{{{y{{z{{z{{{||{z{zzz{{{{{|{{z{z{zz{zzz{{{zz{{{{{zy{{zz{{z{||z|{zzzz{zz{{z{{|{{{{zzzzz{{{{{{z||{{zzzzzz{{{zz{|{|zzzzzzz{{z{{|z{{z{zzzyz{z|{z{{{{zzzzzzz{z{{zz{zzyzyzz{yz|z{z{{z{yzzy{zzz{{z{{{{{{zz{zzyz{zz{{{{{zzzzz|zz{zz{|z{zzzyzz{z{{z{{{{{zz{{{{zz{z{|z{{|zyzz{yzz{zzz{{|{{z{{|{{z{z{|{|z{z{z{zzz{{||{{{{{{z{{zz{z{{{{|z|{zz{zz{zz{{|||{||{{zz{{{{{{{|{{{{{z{{{z{{|{|{{{{{z{{{z{{||{{{|||{{{{{{zzz|||||{{{|z{|{z{||}|{{}||{z{{{{|{|{{{||{|{{{|zzzz{|{||}||{z{|{{{z{{{{|{|{{{{{{{{{{{|{||{}{||{|{{{|{{||{{|{{zzz{z{|z{{{{||{{zz{z{{z|{{|{||zz{{|{{zz{|{{{{{z{y{zzy{{{{z{{{|{z{{zzzy|{z{|{{{{{zyz{{zzz{z{{{{{zzzzzz{{{|{{{|{{{zzzz{z{{{{z{{|{z{{{{{y{{{{{||zz{zz{zzz{{{{{{{{{zz{y|x{{{{|{{{{zzzy{z{z{{zz{z{{{zzzzzz{{{z{{z{{zz{zz|{z{z{{{{|zzzz{yyzzz{zzz{{{zz{z{zzz{{z|{{||{zz{z{zzz{{|{{|{{z{{{zz{|{{{z}{{{{{{{z{{|z{{{{z|{{{{{zzzz{z{{{|{{{{{zzz{{{{{{|z{|{{{z{{{{z|{{{{z|z{z{zz|{|{{{{|{||zz{{|z{||{{|||{{{|{{{{||{||{||{z{{{{zz{|||{|{|}{z{{z{{||z{z|{{{{{z{{{{|{|{{||||{{{zz{z|{{||{{|{|{{|{|z{|||||{|{{{{{{||{|{||||||{|{{yz{{{{|{|||z{{{{{z{{|z|{}|}{{{{zz{{{|{{|{|{z{{{{{{z{{||{||{zz{z|z{{z|z{{{{{{z{z{zz{|{|zz{{||z{{{{z{{zz{{{}{z{{z{{{z{{{{{{{{{{{zzz{z|{z|{{{{{z|{z{{{{{{z{||{{z{z{zzz{{||z{{{{yzyy{{z|zz{zz{{{zzz{{z{{{zz|zz{zzzz{{z{zz{{{{{{z{zzzzzzz{{{{z{{z{{{zyzz{{{z{{{|z{{zzz{z{{{z{{||{zz{{{{z||{{{|{{{{{z{z{z{|z{{{||{{{z{zzz{{{{||{|z{{{{{{{{||z|{{z|{{{y{zz{|{|z||{|{{{z{zzz||{{|}{||{{{zz|{|{{{||z||zz||z{{{|{|z|{{{{{{z|{|}{{|||{|{{{{z{{||{|{||||zz|{{{{||||{||{|{{{z{|{||{|}|||}{{{{|{{z{}}||||{|{{{z{{|{||{|||{{{{{{z{{|{{{|}|{|{||{{|{{{|{{||z{{{{{{{{{{{|{||{||zzzz{{|{|}{||{|{z{{{{|{{||{{z{|z{zz{zz{z{{{z{{{z{zzzz{{|{{{|||{z{{{zz|||{{|||{{{zzz{z{{||{{|{|{{z{zzz||{{{{{z{{{zzz{zz{{{{{{|zz{z|zzz{{{{{|{{z{{{{zzz{{{|{{{|{z{zz{zz{{z{zz||{{y{{zzzz{{|{||{zz{z{zzzz{{|{z{{z{zzz{{{{{{{{|{zz{{z{{zyz{z{{|z|z{{{zz{z{zz{{{{|{z{zzz{zz|{{{{||{z{z{z|{{|{{{{{|zz{{{{zz{{|{{|||{z{{{{zz{{||{{|{{z||z{{z||{{{{}{|{{{{{z||||{||||}{{z{|{{|}|{{|{|{{{{{{{{|{{|||||{{{|{{zz|||{{{|||z{{||{{{|||||||{{|{{{||{|{|||||{{{{{z{|{|||{|{||{||{|{{|||{||}||{{{|{{{|||{||}}|{|{|{{|||||}|||z{zz{{{{{||{|{|{|z{z{z{||}||||{{{z{{{{{|{|||{||{{zzz{zzzz{{{{{||{{{{{{z{{{{|||||{|{{{{{{|{{{|{{{z{|{{{{{|{|{{{|{{{yzzzzz|{{z|{{|z{{z{z{{z|{{|{{{{z{{z{yz{{{z|{|{{{{zzz{{z{{{|{|{zyzzyzz{{|{||{{{{{z{zz{{{|z|{|{{z{{{{{zy{|{|{{||zzz{{zzzz{{{{{{|{{zz{{zzz|{{||{{zz|{zz{y{|{{{|||{|z{{{zy||{|{{|||{{{{{|z|{{{|{|}zz{{|{z{{{||{|}|||{|{y|z|{{|{||z{z{{{{{{{{||||}|{z|z|{{{||||{|{{z{||{{z{||||{|}|{{z|{{|||}|}|||}{{zz|{{{{||||{|||{{{|{{{{||||||}{{{|{|{|{|}|||||}|||{|{{{||||||||{|{||{|||}|||||{|{||{{z||||||}|{|{||{{||||}|}||{{|{zz{}||||{||{||{{{{|{|}{|{|||{{{z{z{z{|{||{{{z{zz{{zzz{{{||||z{{{{zzz{{{z{z{{{{zz{{{z{{{{{{}{{{z{yz{{{{{{{{z{z|zz{z{z{{{z{{{|{y{zz{{{{{{{{{{{{{{z{yz{z{{|z|{|{z{zz{{z|zz|{{{|zzzz{y{z{{{{{|||zzz|zzz{{{{{{{{{{{{zzzz{{{{z|{|{{z|zzzzzzz{{{{{||{{{{zzzz{{z{|{{{z{z{zzz{{|{{|||{|{{{{z{{{|{{{{{z{zz{z{{{{{|{}||{{zzzz{z{{|{||||{{zy|z{{{{{||}|{{|z{{zzz{{}||{|{{{{|z{{z{|{{{||{|z{|{{{z{|{}||{|{{||{{{{{||}||||{||{{{{{||{||{{{|{|{|zz{|||||{||{||{|{z{|{{|||||}{{{{||{|}}{{|z|}{|{{{|{{{}||}||{zz{|{|{|||{||{|{|z{|{{||{|{{||}{{{z{{{{||||||||{{{{{z|z{{||||{{{{{z{z{{||{|z{||zz{z{z{{{|{{{{|{{zz{zz{zzz|{{{||||{zzz{z{{z{{{|z|{zzz{z{z{{|{|z{z{zz{{{z||{|{{{}zzzz{{{{z{zz{{|{{{{{{{zz{|{z{z{{{{{y{{{zzz{{{{{{yzzz|y{zz{z|{||{zz{zyzz{{||{{{|{zzzzz{{{{|{z{||{{{z{{z{zzz{zz{{{{|zzzyzyz|z{{{{|zz{{z{z{{{{{{{|{{|{{{z{{{{{{{|||{{z{zz{{||{{{|{}{z{z{{zz|{{{|||{{{{|{z{zz|{{{||{z{{|{zz{{|{||{||{{z{zzz{{{{{{{|{{{{{z{{{||||||||{{{{{{|{||||{||}{|{z{{{z{||z|{||{z{|{z{z|{|{||{|{{{{z{{{{|||||{{{|{{{{||{{|||{|{|{||{{{z|||||||||{{|{{|{{||{|||}|z{{|z{||{|{}||}{{z{{{{{|{|{|{{{||{{{{{{|}{||{|||{{y{z{{{{|}{|{{{{zz{{|zz||z{{||zzz{{{z{{{{z{{||{{zzz{{{{{{{|{{{{yz{z{{{{{z{{|{|z{{{yz{{|{{|z{||{{zzzz{zz|z{{{|{{{{{zzzz|{{{{{{{z{zz{{zzz{{{z{{{zyz{z{zz{{{{{{{|zzzz{{y{{|{{|{z{{zzzzz{z{{z|z{{{z{z{zy{z{{{{{{{z{zzzz{z{{|z}|{{{zy{{{{z{{{{{{{{{zz{z{y{z||zzz{{{{z{zzzzz|{{{{|{|{{{z{z{{{{{{||{|{|{{|z|{{|||{|{|{{|z{|{{z{{{}||{{{{z{{zz|||{||{|z{{{{z{{|{|||{{{|z{{{{{{||{}{}{{|{{|{|{{{{|||{{||{z{|{{||}|{{|||{|{{{|{|||||||||}||}z|{{{||{||}||{|{{{{||||{||}}|z{{{|z|{|||{||}|{|{|{{||{{||||||{|{|{{||||{{{}||{zz{z{{|{|}|||||{zz{{{{|{|{{z{{{{zzzyzzzz|{zz{{{z{zz{zz||{{z|{{|{zzzz{zzz{|{{||{{{|zz{zz{{{{z{||{zyyzzz{{|{{{{{z{{zzzz{{{zz{{|{{{zzzz{z{{{{{{{{{{{zz{{zz{{z||z{zzzz{zzzz|zzz{{z{zzzzzyy|{{z{{{{{zz{zzz{z{{{z{{{{y{z{z|y{}z{{{{{zz{zz{z{z{z{{|{|{{zz{{zz{{{{{{{{{zzz{yzz{{{{{{{}{|zz{z{{{z{|{|||{z{{{{{z{|{{}|{||{{zzz|{z|||{||{|zz{{z{z|{||{{|{{{{{z{z{{{|{{{{|{{||{{{|{{{|||||{{{|z||{||{|||{{{{||{z{z|{|{|{||{{{|{{{z{||||||||{|{z{|{{|||}|{}|z{{{{zz{}{||{{|||z|{{{{||{|}||{{{|{{z{{|{|{|{|{|{z|zz{{||||{{|}{z{{{z{z{|{|{{|{|{z{{{{{{{{|{{|{{|{{|{zzz{{{{|||zzzz{{z{{{{{{||{{z{z{z{z{{{{{{{{{{{{{{y{z{{{{{||{{y|{{{z{z|{{{||{z{zzzz{|{zzz|z{zzzzzz{z|{{{{||z{{{{zzzy{{|{zz{{{{{{zzzzz{z{{|||{{z{zy{{{zz{yz|z{z{zzzzyzz{z{{|}{z{zyz{yz{z|{z|{{{zzyzzz{{{z{{{{{{zzz{{zz{{{||{zz{{y{zzz{{{{{|{|{{z{|z{z|||{{{|{z{zz{{|{{{{|{{|}z{{z{{{{|{|{{|||{z{{zzz{z{{||}||{|{z|{{{{||{{{|{{{zzz{{{{||{{|{{{{}||{{{|z{}|}|{|{||{{{z{|||{|}{{z{z{|||{|||||{||{|||{{{|||z|||{{{{{|||{|||||}||{{{{{||{{|||||}||z|{{|zz{|}||}|z|{|z{{{|{{{|{|}|{|{{{|{|||||||||z{{z{{|z|{|{{|{||{{{{zz{|{{{{{||{{{{{{{z{|{|{{|zz{{{z{{z{z{||z|{zzzy{zzz{{{z{z|{||zzzz{z{{{{{{{|{{{y{{zzz{||{{zz{z{yzyzz{z{|z|||{{{{{|{z{{{z{{{{|{z{zyyz{{{{y|{{{zzzy{z{{{{{{{zzz|zz{{zy{{z{{{|{|zzzzzz{z{{{{{{{z{zz{z{z{zzzz{z{{z{{zzzz{|{z{{||{zz{{zzzz{{z{{{zzzzzzz{z{{{{{|{|{z{zzzzz|{{|{||{z{{z|z|{|{z|||||z|{{{z{{{|{|{{|{{{zz{z{z||{{{{||z{z{z{{{{{|{|{||{z{z{{z{|}{{{|||{zz{z{{{{z{{|||||{|z||{{{|||||||{z{|{z{z{|||{|||{{{{{{{z|||||||||{{z{||{{z{|}||}{|{{{{zz{}{|{|{|||{{{{{{||{|{|}{{{{{{{z{{||{{{|{{|z|{{z{||{|}|{{|{{y|z{z{{|||||{{{z{{{z{{||{{{|{{{|{zzzz|{z{zz{|z{{zyzz{{z{{{{{{{zzzyzzz{{|{z{{|{zzzzzzzz{z{{|{{{zzzzy{{zz{{{{{z{zz{yzzz|{{{{{z{{z{yy{zyzzz|{z{{zzzzyzy{{z{{{{{z{zzzzzzzzzz{z{|zzzzzyzzzz{{z{{{z{zzyzzyzz{{zzz{{z|{zzzzz{zzz|{{{{zyzyy{yzy{{{z{{zzzz{zzzz{z{z{|{{z{{zzzy{{zz{{{{{z{{zzyz{||{z{||{z{{z{{z{{|z|{}|y{{{z{zzz{{z|{||{z{z{z{{{{{{{||{z{|zz{z{{{|{|{||{{z{z|zz{zz{{{{{{{{z{{{{|{||{|{{z{{z{{|{||{zz}|{|zz{{z{zz{{||{|{|{{|{z{{z{{{{{|{|{z{|{||{{{||}||{{|{z{z{{|{{||||{{|{{{{{||{{{|||}z|{{z{{{||||{|}|{{|{|{|{||{||{{|{{{{|{z{{{{{|{|{{z{{z{{{|{|{{||zz|{zz{{|{{z{{z{{{zzzz{zz|{{{z|{{{zzzyzzz{{{{z{||z{zz{{z{{{{{||{{{z{zzzz{{z{{|{{z{zzz{{{{|{|{{{|zz|zy{zzz{zz|{}|zzzz{{z{{z{zz||z{{{{{zzzzzz{{||{zzzzzz{{z{{z{{{{{zyzzzzzzz|{{||{zz{zzz{z{z{{|{|{{yzz{zzzz{zz{{{{z{z{zzy{{{{z{|{{{|z{{{zzz||{{{|z{{zz{{{zz{{{{{|||{zz{z{{{z{{z|}|zy|zz{{{{{|{{|{{{|{z{z{z{{|{|||{{z|zz{{{{||||{{{{{{|||z|{||z{|{|{{{{{z{{||||||||{{{|zz{{|}{}z|||{{{{{z{{||{{|{||{|z{|{zz{||{|{|||z{{{||{{|{{}||}{|z||{{|{||{|||||{||z|{{||||{{|}|{|{z|{{|{|z|{{|{|z||{z{{|||}||||{{|zz{z||{{{{|||{{{{z{z{|||||{{z|{{z{zz||{||{{{zzzz{z{{{}|{z|{|{{z{z{zz{z{{{|{|{{{z{z{{{|{{{||z{z{{{yzz{|z{{|{{{{|yzz{z{{{{{|z|zz{z{zzz{{{z{|{{{{{{{zz{{{{{{{{{zz{zzz{z|{zz{{||{{{z{zzzzz{z{z{zzzz{|{z{z{{{{{{{{{{{y{yz{z{{{{{{{zzzzyyy{{{{{{{{{z{{zz{zz{{{{{{|z{z|zzz{{{z|{|{{{z{zzz{{{||z{{|{{{{z{{{zz{{{{|||zzzzzzz{{{|{|{|{{{{{z{|z{{{{{{||{{{y{{|z|{|{{{}{|{z{{{{{{|{{{|{{{|z{{{z{|{}|{|||z{{z|{|{{||}||||{{{{{{{{|||||}|||{{z{{{z}||{||}{|{{|{||{{|{|{|{||{z{|{{|{|{}{|||{|{||z{|{||||||{|{{{{{|{{{{|{||}||{|{{{{{{{|||||z{{{{{{z|{z|{||||z{{{{{z|{{|z{{{z{zzzzzz{||{|{{{{{zz{{{zz||z|{{{{{{zzzz{z{{{}z|}{{zy{{zz{{{{{{{{|{{|z{z{{{z{|z|{{{zz{yzy{{||{{z|z{{z{{{{z{{z{z{|zz{{zyz{{z{zz{{{{{zzyy{{|{z{{{|{{zzzzz{zz{|{{{|{{z{zz{zz{z|{{{|{zz{zzzzzz{{|z{|{{z{{zzzzz|{|{{{|{{{z{yzyz{{|{{z{zz{{{{{y{{{{{|||{zzz{{{{{||{z{||{{{{z{{{|{}{{}{{{{{{zzz{z|{{||}|{{z{{{|{z|||||||{|{{{{{{{|}{{|{{z{z{{{z{|{{{{{{{{|z{{{z{{{|{{||{{|{{{{{z{|||||||{{z{{{z{{||{{||{|z{z{z{{{||{{{}}zz|{{||||{{|||||}{{z{|{{{}{||||}zz{{{{{{||||{{|||{{|{{{{}{{||||||{{|{z{{{{|{{||{{{{{{{zz||{{||||||z{z{|{|{|{{{||z{{{zzzz{||{{|{|z{z{{z{z{z{{{{z{{zzzzzzzz{z{{{{|{{zzz{{zzzzzz{{{z{zzzz{{y{|{z|{{z{z{zyzz||{|z{{|{{{{z{zz{{|z{{{{zz{zzzzzzz{{z{{z{zyz{{zz{|z{{||{yzz{z{{zz{|z{|{z{{zzz{zyzzzzz{{zzz{zyzzy{zyz{{||{z{yyzzyzz{{{{{{y{zzz{zz{|{{{{|{{zyz{{{y|{{{{{|||zz{{zzz{{|{z{{{{z{{zz{y{|{{z|{{z{zz{z{z{{|{}{||z{{zzz{zz{{{{|z{{zz{{zzz|{{|{{|{{{{{{{{{{{|{{{|{{{{{{{z{||||||||{{||{{{{{|||{|{|{{{|{zz{|||{|||{|{{{{z{{||||{{||z{}{{|}{{{|||||||{z{{||z||{|||||||{|{{{{||}{||}{|z{{{{{{|{{{{{{|{{|{|{{{|{{{{|||z|{z{zz{|||{|||{{{|{{z{z{|{|z{|{{z{zz{{z||{{z}{{{zzzzzzz|z{||{||{z{{zzy{{{{{||{{{{{zz{zz{{{zz||{{zz|{{zz{{||z{{|{|{{zyzy|{||{{{|{z{y{z{z{{{{|{{|{z{zzyz{{{|zzz|{{{z{z|zz{{{{z{{|z{z}{zzz{|{z{z|||yzzzzzz{{{{{|z{z{|zzzzz{|{{z{{{zyz{zzzzz{z{{y{|{z{z{z{z{|{|{|z{{z{{{{zz{z{|{{||z{{yz{{{{{|z{{{{zz||{z{{{|z}{|||{{{{{zzz{{{{|{{{{{|{z{{{z{|z||{{{z{{{z{{{||{{{|{{{{|{{{{{z{{{{{z|{{|{|{z{{|}||{|{{{{{{{{{}|{|||}{{{|{z{{|||{{}{{|{{{{{{{||||||}||{|{{||{||{|{|||{{{{{|{||||{{||||{{|{|z||||{||||||{{{{{{{|{|}{||}|{||{{{{|}||||{{{{{{{{z{|||||{|z|{{z{{z{||{|{||{z{{z{{z|{{{{||||zz{{zy{z|{z{{{{{{{zzzzz{z{|{{{|{{z{z{{{|{|{{z|{{z{zzz{{z{{|z{{{{z{{z{{y{{|{||{||z{z{{{y{|{z{||{z{zz|zz{z{{{z|{{z{{zyzz{{zz{{|{|{zz{{zzz{{|{{{{{zzz{y|z{{{|z{{{{zz{zzzzy{{{z|z|{{z{z{yzy{{zz{zz{{zz{zyzzy{z{{{{|{z|z{z{z{{{{{{||{{{z{{{z{{{{|{|{z{{zzz{z{|{{{|{|{{{|y{z{{z{{||{{{{{{|z|z{|||{|{{|{|y{zz{{{|||{|z|{{{{zz{{{{{{|||{{{{zzzz||||}||{{{{{|{{z||{{||||{|{{{{{{|||{{||{|{{z||{{{|||||}{||||z||{{|||}{||{{{|{|||{}|}||}|}{z|{{{{|{|}{|{||{{{{|{|z||{|{|||{|||{{{}||{|{|}{||{{z{|{||{||||{{{{{{{{{|{|{||{{z{z{z{z{{{|{{zz{{zzzzzz{{|{{z||{{{{{zzzzz{z{z||zzzyzz{{z{{{{|{|{zzzzzz{{|{|zz{{{{{zzz{z{|{||{{{zzzz{zzz|{{zz{{{|{{z{{zzz{{z{|{{{{zzz{zzzz{{{{{{{zz{{zzy{z|{{||{{{z{zzzz{z|{{{z{{{{zzzzzzz{{{z{zzzzzz{{z{{{{{{{z{{yz{zzzz|{{|{{}z{{zzzzz{{{{{{z{{{zz{z{{|{|{z|||{{{z{z{{z{{zz{|{{{|{z{{{{|z{|{{{{zz{{{zz{|||{|{{{{{{{{zz|{{||{}{|{z{zzz{|{{z{{|zz{{{{{{||{{||}|{z{{{|{{{|{|||{||{{|{zz{{{{||}|{{|z{{{{{{||||{}||{z{{{||{{{|{{|||}{{{{{|{{||z{|}{||{{|{||||z{{}|||{{{z{{{|{||{|||{z|{{{{||||{{{{}{{{z{z{{{||{{|{{}{{|{{{zz{{{{{{{{{{zzzzzz{{{{|z{{zzzz{zzz||{||z|{zzzzz{z|z{|{{|||zz{{{zz|zz{z{||zz{zyzz{z{{{z{z|{zzzzyyz{{z{z{{|z{zy{{|zz{|{{{{z|zz{zzzz{{{{{|z{z|{yz{zz{zz|z{|{z{zzzzyz{{|zz{{{z{zzzzzzz{{{{|z{{zz{zzy{z{{{{{{{zz{zzzzzzzzz{{z{zzz{z{zzzz{{{||{z{zz{yz{{{zz{{|{{{zz{zz{{{{{|{|{y{{y|{{z{zzz{||{zz{{zzz{{{{{{{{z|z|z{{{z{{|{{|{{{zzzz{z{{{{|{|~{{{{{{|{{||{{{|{{{{z{zzz{{||||||{z||zzz|{{{{{{||||{{{{z{y{||{{||{|{z{z{z{|{{||{|}z{|{||z|{|{||||||z{{{{z{{}||{{||{{z{zz{|{|{{{||||{{{|{{{|||{|{|}|{{{|{{{||{|}||}{{{z{{z{z|{{|{|{{zz{zz{z{{{{||||{{{{zz{z{z{{|{{zzz{z{zzzz{{zzz|{{{zzyz{zzz{y{||z{zzyzzzzzzz{{z|||{zzzz{zz{{{z{{{|z{zzzzy{y|{z{z|zzzyz{zzy{{zz|{zzzzzzz{z|z{z{z|{yzzzzyzz{zz{{z{{zzzxz{zz{{z{zz{z{yzzzyy{zz{z{zz{{zzzyzzx{{z{y|{{{zzyzzzyz{{{z{zzyzzzzzzzz|{{{{zzzz{zzzz{|{|{|{{{{z{zzz{{{|{z{{{|zzzzyz{z{||z{|{|{{zzzz{{{{{{{|{{{z{{z{z{z{{{{{|{{z{zz{{yzz|z{{z{{{{zz{{{{{|{z|{|{|z{{{{|{{{|{}{{{{|{z{{{{{{{z|}|{{{{{{{z{||{{{}{|{z{{{{{{|{z||||{{{{zz|{{{{{|||{|{z|{|{{{{|||||{|{z{z{{z{{|||||{{{{|zz{|{z{{{{|{|{{{{z{{|||{||}|{zzz{{zzz{||{{{{{{|{{{z{z||{|{{{{z|zz{z{{{{{{|zzz{zyzzyy{|{{{{{|zzyzz{zz|{zzz{{|zzzzz{zz{{zz{{{{zzzz{{yz{{{{z{{z{{zzyzzz{{{zz{{{zzyzzzzz{z{zz{{zxy{zzzyzzz|{zzz{{{zyzzzzzyzz{zz|zzzy{y{y{zz{y{|zzzy{zzy{z{z{{{zzz{zzzzzy{{z{z{|z{z{zzz{zzzzz{{z{{zz{z{yzz{{z|z{{{zzz{zzzzz|z{z|{zz{z{yz{{{|{|{{|{{{z{z{z{{{|z{{{{{{{y{{{{{{zz{{|zz{zzzzz||{{{{z{yz{zz{z{{|{{{|{|z{z{{{{z{{{|{{{{|z{z{{zz|{|{{{{{zzzz{z|{{{{{{{||z{{{|z{{{}z{||||{{zz|z{z||||||||{z{{z{{{{|{||||{|{{{{z{|{|{|{||||{{{|z{z{}{|{|{||{{z{{zzz{{{|{}{|{{{{{z{{|{{||{|{{|z{{zz{|{{{{|{{{zz{{{z{|z||{}{{{||zzzz{z{{{zz{{z{yzzzz{|{{{{z{|z{{zzz{z|{{{{|{{z{{z{yz{{|z{{|{{z{{zzzzzz{|z{{{{{|yzzyy{{{{{{{zz{{z{zzz{{{{z{{{{{zz{zyz{{|{{{{{{zzzz{z{{{yzz{||{zz{{zz{{|{{{{{z{yzzyzzzz{{z{{|{{{zzzz{{zzz{{{||{z{zzzzyz{z{z{zz{z{zz{zzz{{z{|{|z{z{{zzz{{{{{z{{z|zz{zzz{z{{{{||{z{z{{{z{{zz{{{|{z{{z{{{{}{|{{||{z{z{{{{{{{{{|{{{z{{{zz{{|{|{||{z{z{{{|z{{{|{{{{{{{{z|{{{|||{|||z{{{{|{{|z{|{|}{{{z{{{{z{{|{{|||{{{||{{y||{{|{}|{z|{{{{{{|{|||}|{{{{{{{{{|{{||||{{z|z|{{|}{|{|||{z{{{{{|||{{||||{{{{{|z{|{|||}{|zz{{{{zzz{{{||||{{{{{{zzz|{{{{{|{{{z{z{{{|{{{{|zzzyzzz{z{||{|{z{{{{y{z{z{{z{|{||z{zzz{{{z|{|}{{{{{{{z{z{z{|z{{|{{{{z{{|z{{z{{|{{zzzz{z{{{{{{z{{{zzz{z{z{{zzz{|{|{{{zz{z{z{z{{{{{zz{z{{{z|{{|z{{|zz{yz{yzz{z{{|{{{z{z{|{{{{{{{{|zz{{{|z{zz{{{|{zz|{zz{z{z{{zz||{{{zz{{{zz{{{{|{{|{zzz{{{{{|{z{{{{|z{|zz{z{|{{{z||z{z{z{{z|{|{{||{{{{z{z|z{{||{{{{{|{z{|z|{{{{{{{{{zz|z||{{{|{{||{|{zz|z{{{{|||{||z{|{{{{{{||~||}}{z{{{z{z{||}{{}||z{{|{{{|}|{{|||{{|{|{{{|{{||}|}||{{z|y{||{|}||||{|{{{{{{{|||||||{{{{{{{|{{{|||||{{{{|{{{{|{||{|{|{zzzz{{{|{|||{|{y{{zzz{|{{{{{||{{z{z{{|{|{{{z|{{zzzyzzz{{{z|{{z{{{{z{z|}|||{{|{{yzz{zz{{{z{{|{z{z{zzzz|{|{z{{{{{zzy{zyz|{{{|{|{z{yzzzzz{{{{{{zz{{z{{zz{||{z|{zz{zzz{z{{z{{z{|{{yzz{zzzz|{{{{{{z{zyzz{z{{|{{{{{{zzzyzzzz{{z{{|{zy{zzz{z{z{zz{{{{{zzzzzzz|{{{{{{zz{z{{zz{{|{|{{{{{zzzz{z||||{{{|z{{{zz|z{|z|{{||z|{zz{zz|{{|{{||{{z{{{{{z{{|||{}{{{{{{{z{{{|{{|{|{{|{zz{{|||||{{{{|{{z{{||||||||{|{{{{{||||||||{{{|{{{{{|||||||||{{z{{{z||{||}}}|{{{{||{{{|||||}{{||{{{{{|{{|{||{{{|{zz||||}|}}{{{{{{{z{{||{{||}{|z{{{||{|||||{}||z{{{{{|{{||{}||{{{{z{zz{|{|{{|{zzz{{|{{|{||z{{{{{zzzzz{{|{{{{{{zz{{y{z{z|z{||{{{zz{zz{zzz{z{z{{{{zzzz{{{{{z{||{{{{yz{y{|z{z|||{zzz|zzy{{{{{|{{zzz{zzzz{z|{z|{{zz{{{zyzzz{{z{{zzz{{zzzzz{{{|{{{zy{zzzy{z{{z{|{{z{{zzyzz{{{{|z{{zzzzzz{zz{z{z{z{|yzz{{{{z{{{z{{{zz{zy{zzz{{{{{z|{z{z{z|{{{|{{{{{{{{{{zz{{{||{|||z{{z{|{{{{{|z||{{|{{{z{{|{||||{{{{z{{z{z{|{{|{||{z{{z{{{{||zz|z{|{zz{|{{|||{{|{{{{{{{{{{{z{||{}|{{{{{{zz|{{{|{}{|{{|{zz{|||{|{|||{{{{|{{|{{{{||||{|{{{{{{}|||}||{{|{{{z{||{|{|}{|{{{{{{{|}|||{|||{{{|{z|{{||{|||{|{zz{yz{{|}|{|||{{{y{{z||}{{{{{zz{z{{{{||||{z|{{{z{{{zyz{{{{{{{zzzzz{yzz{|{{{{{{zz{zzzzz{{{{|{{{z{{zz{{|z|{{z||yzzyzzzz{z{zz|{|zzyzzzzzy{{{{{{{{{{{zz{z{{{z{|zzzzyzz{zz{{{z{{{{zz{z{yzyzz{{z|{{{yzzzzzz{{{zz{{{{{z{zzzz{{{{{{|{{zzz{yzxz{z{{{{|{{{yz{zzz{z{{{z{zz{zzzz{{{{{{{}{{{zz{{{{zz{{|{|{{{{{zz{zzz{|z|{{{{{{|{{{z|{{{{|{{{|{zy{z{{|||{{}{z{zz{zz{|{|z{{{{{z{{z{z{{{|{{{|{z{{{zz{{{||||||{{|||{z{||}}{|}{|{{{{{{|||{{||}{}{{z{{{{|||z|{{|{{|{{||{{||{{}|}{{{{{||{|}||||}|{z{|||{{{}|{|}||{{z||z{{{{{|{{|||{{{|{y||||||{|{z{z{{|z{{||{{|{{|{zz{{{z{||{{{||{{{z|zzzz||{|{z{zyzzzzzz{{zz{{{{{zyzz{{z{{{{z|{}{zzzyzzz{{yz{|{{{{|zz{zz{{{|{{{{{zzz{{{z{z{|{{{|z{z{zzzzz{{{{{{|zz{yz{z{zz{zz{{{zz{zz{{zz{{{{|{|{zz{zz{zz{{y{z|zzzzzz{yz{{{zz|z|{{zyz{{zz{{{z|{|{zzzzz{zz{{zz{{{{{{zzzzz{{z{z{||zz{{z{{{{{{{|{||{yzzz{{z|{|{{{{|zzzzz{{z{z}||{{|{{{zz{{{{{|||{|{{{{z{z{|||{|{{{{{{{{zz|z{||{{{|{|{{{{|{{|{|{{z{{{{{z{z{{||{|{{|{{{|z|{{{||{}|}|{{{z{z{z{|{||||||{zz{{|{||{{||{}}{{{{z{{{{|{{|{{}|{{{{|{{{|{|||}}|||{{z{{||{|{|{{|{|{{{{{{||{|{}}|{{{|{{|{{{{|}||{z{{{{{{{{|{{|||{{{{{{{z{{|{{{{zz{{{{zzz{{{{{{{{zzzzy{zzz{z{zz{z{{zzzzzxy|{{zz|{z{{zzzzz{z{z{{|{{zz{zzzzz{z{{z{{{{zzzzzz{z{z{{{{{zyzzzzz{{{{z{|y{{{zzzyz{{{z{{{z{{zzzzz{z{z{{|{}zzzzzyzzzz{zz{{{zz{{zz{zz{|z{{{{{{{zzzzzz{{z{z{{zzyz{{zyzyzzz{{|{{zz{zzzzz{{z|{{zzz{{zzzzz{{|||{zz{{z{{z{z{zz{z{{{z{{z|{|z{{{{{{z{z{zzzz{{{{z{}{zz{{{zzz{{z{{z{{{yz{zzzz{||{|{||{{z{yzzz{{{{{|||{{zz{{z{||{}|{||{z{{z{z{{|{{|||||{|{{z{z|{|||||||zz{{{z{|{||{|}z{zz{{{{{{|zz{}{{|{{{z{|{{|{|{||||{{|{{zz{|||||{{{z|zzz{{{{{{{|||{z{{|zz{{{||{|{|{{{z{{{z||{{|{|{{{zzzzz{{|{||{{|{{{{z{{z{{{{{z{{{{z{{{zz{{{|z{|{{{{zz{{z{|zzz{{{z{yzzz{{{z{{{{{|z{{{z{zz{{{zz{{|z{{zzzzz{{{|z|{|{zzzzz{y{{z{{{{zzz|yzzz{{{z{z|{{z{z{yzzy{z{{{|{{zz{zzyzzz{{{{{{zz{z{zz{zzz|{{|{{{zzzzzzyzz{|{{}zzz{{{zzzz{{z|{{zz{zzzzzyz{z{{z|{zzz{z{zy{|{|{{||z{{zz{z{{{{|{{{||{{{zz|{{{{{{{||zzzzy{z{{{{z||}||z{{{z{z|{|{{{{{{{z{zz{{{{|{{{|{{{{{{{z{{}{{{|z||{{{z{|z{{{{{{|{zz|{{z{{{|{|||}{|{zz{{{z{|||{|{|}zz|{{z{||||}{|||{{|{{|{|||}|||||{{z{{z||}{{{{}|{{{}{{{{{|{|{|||{z{{{zzz{||{|||||z{zz{{{|{|}||{|z{zz{{z{|||{|{|||{{{{{{{{||{{{{{{{{{zz{z{{|z{{{zzy{yzyzy|{{z{{|z{zzyzyzyzz{{{{|{{{{z{zzz{|{{|{|{{z{zzz{z{|{|{z|{{z{zy{{z{{{{zz{{{z{z{yzy{{{z{y{|zzzzzzz{{{zyz{{zz{zyyz{zzy{{{{{|z{zzzzyy{{zzzz{{zz{{zzzz{{zz{{{{zzyyyz{zz{{z{{z{{zzz{zzzzz{z{{z{zz{{zz|{{{zzz{z{zz{zz{yzz{z|{{||{{zz{y{{{z{{{{z{{z{zzzzz{{{{{{z{zz{{{zzz{{|{{{|{{{zzzz{z{|{{||{{zzz{{{z{{{{|{{{|{z{zzz{{{||{{{z{|{zyzz{{{{{{|{|zz{zz{{{|{|{|||{{z{zz{zzz{{||||{|zzz{{{{{{{{|{|||{z|{{{{|{{z{{}|||{{{{|z{{||||||}{{{{z{{{|{}{||{{{z{{zzz{{{|||||{||z{{{|{{|{{{{{}{{{z|{{zz|{|{||}|{z{z{{{z|{{{z{{zz{{{zzyz{{z{{|{{z{zzz|y{{|{{{{|{{zzzzz{zz{{|{{|{z{zz{yz{{z{{{|{|zz{zz{|{zz|z{|{{{z{z{zy{{{{{{{{{{{{zzzz||{{zz{{{{z{zz|{zz{{{|{zy{{zzzy{zz{{{z{{zz{zzyzz{{{{|{{{{zzy{zzz{z{z{|{{|{{{yzz{{{z|z{{{{zz{zzzzz{{{{{z{zz{z{{z{z|{zz|{{zzzz|{zz{{{{{|||{zzzzzz{|{{{{{|{{{{zzz{z{zz||{{{{{zzzzz||z{{{{||{|{{{z{z{{|{||||{{zz{z{{{{{{|{|{{{z{{{z{{|{{{|{{{{z{{{z{{|{||{|{{z{{{{|{|||{{|||{{z{z{z{{{{|{{|{}z{||z|{||{}{}|{{{{z{{{{{|{{|{|}|{{|{|{{{}|||||||{{{z{|{|{|||}{||z{{{{{z{{{|{{{|{{{{{z{{|{|||||||{{{{z|{||{|{||||{{{{z{zz|{|{|{|{z{z{{{{|{|{z|zz{zy{zyzyz{{z{{{|{{{{|zzzz{||{{|{{zzzzzzz{z{{{{||{{{zzz{zz{||{zz{{{zyyz{z{z{{{{{|zzzzz{{zz{zz{{{{{{zzz{z{{{{{{|{{zyzzzyzz{{{{zz{|zzzz{zzz{z{y{|{{z{yzzzzz{z{y{zz{z{{zzz{y{z{z{{||{zzzzz{z{{{{{{{{{{zz{y{yzzz{{{{|z{|{{z{zz{z{z{z{zzz{{{zz{|{{{|z{z|zyz{z{|{||{z{{{{{{{z{z{{z{{|{{{{{{{zzz{{{{{||{z{|zz{z{|{|||{||{zzzz{{z{{|z{{||z{{{{{{{{{|||||{z{{z{{{{|{{{|{||{z{{z{{{{|{|{|{|{{{z|{|||||{{|{|{{|{{||{z{{||{}||{{{{|{{z|{|||}|{{{{|{z{|||||||{}{{z{|z{{||{{}{{{{z{{z{{z{||{{{{{{{z{z{{{|{{|{||{{z{{{{{{|{{{{||{{z{zz{{z|{{z{{z{{yzzz{zz||z{{{zzzzzzyzz{{{{{|{|{{zzzyz{{z{z{||{zz{zy{z{zz{{y{{{{z{{zzzy{{zz{|{|z{{{zz{z{{z{z|z{z{{zzzzz{z|{{z{{zzzzyzyz{{zz|{{zz{{z{zzzz{|{{{|zz{zz{zzzy|z{{|zzzzzzzyzyz{{{{{{{{{z{z{zzz{{{z|z|zzzzzz{zz{y{{{{{{zzzzz{{z{{{z{{{z{zz{zz{{{{{{z{zz{{z|y{z{z{z{{{|zzzzzz{y{|z|{|||z{{zzz{{z{{{{|{{{zz{y{{zz{{{{{|{{z{{{z{{|{z{||{|zz{{z{|{{{{{||||{{{{{{{z||{{|}|||{{|{{zz{{|{{{||}zz|zz{{|{|z|}||{{{zz{|{|{{{|{}|{{{{{{|{{|{|{{{|{{|||{z{||{|{|||{{{{{z{{{}z|{{||{{|{z{{{|{||}}|{{{z{{|z{|{{{{{{}{{z{{{{{{{|{z{{{{{zzz{zz{{{{{{{{{{zz{{{yz||{zz{{{{zzzz{z{{{|||{{{zzzz{{zzz{{|{{||z{{z{z{{{{{{{{|{{{zyzz{{zz{{{||z{{zz{zz{{zz{{|z{z{yz{zz{|{|{|{{z{{zzzzzzz{z{{{zzzzzzzzz{{{{{{zz{z{zzy{{z{z{{{{|{z{zz{zz{{|{{|{{zz{{{zzz{{{z{{{{z{zzzy{{{|{z{{{{{zzy{{zz|{|{{||{{z{{{zzz{{{{{{{|zz{z{zzz||{{{|{|{{{zzzzz{{{z{|||z{{{{z{{{{{{|{{z{{|{{{{z{||z{{}{|{{z{zzz{|{z|{||{{zyz{{{{|||{}{|{{{{|{{{|z{|{||{{{{|z{zy|{{|}|||{z{|z|z{{|{|{||{{{{{{{{{{{|z}}{}|{{{z|{{{}}||||}|{{{{{z|{{{|{||{{{z{{{|{{z{||{}||{z{{z{|}|||}||{{{zz{{{|{|{|||||{{zz{{{z{z{|{z{|{{{zzzzz||||{|{|{{yz{zzyz{{|z{z|zzzyzz{zz{{zz{|{{{z{yzz{||z{{{|{|{zz{zz{{z{|{{||{{{z{z{{z{{zz{{{zyzzz{zy{{{{z{|z{z{zz{yzz{z{{{{{{{y{zzzz{z{zzz{zzzzzzzzz{zzy{{|{{zyzyzzz{{{z{zz{z{{zz{zyz{{{{{{{{zz{zyzz{{zzzz{{{|z{zyz{{|{{{{{{yzzz{{zz{z{z{z|{z|{{{{zy|{{{||{{{{{zz{z{{{{{{{|{|{{{{zzzz{|z}|{||{zz{y{zz{{|{||{{{{z{{{z{{|z{{||{{z|{{{{|{{{{{{|z{z|{{z{z|{|}|}|{{{{z{|z||{}{{|||{{|{z{{{|}|{|}{|{{{|{z||{|||{||{{{{|{|{||{|}{|{||z{{{|{{{|||||}{{{{{{z{|||||{||{|{{z|z{|{{}||{|{zz{{{{|{{||}{|}{{{{z{|{{|{||||{||{z{zz{{{{{|||{{{{{z{{{{{|z|{y{{z|zzzzzz{{|{z{{{{yz{{{z{{{{{{{||{{z{{zz{{{{{{{{zz{{z{z{{z|{z|{{{z{zz{{z{z|{}|{{zy{zzzzz{{z{z{{{{zzzz{z{{{{z{|{{{zzzzzz{{zz{{{zzzzyzzzzz{{{zz{{z{{zzzzz{z|y{|{{{z{zzzzzzz{z{{z||zyz{zz{{zzzyz{{{{|zy{zz{z|z{{zz{{{y{z{{z{|{|{{{|{zz|z{z{z{{{z{{{{zzz{y{{{{z{{||{{{{z{{|z{{{{{z||{{{{|{{z{{||{{{y{{{{z{{{{{{|{z}{{zz{{{{{|{|{{||{{{{{|{{z||{||{||{{zz{{{z{{||{{|{{z{{{zz{|||{{||||z{{z{z{|{|{||||{|{{{||{{|||}{}|{|{{{{zz|||||{|}||z{{{{|||||{|{|{z{|{z{|{{{{{{|{|{{|{{{|{{||||||{{{z{{{z|{{}|||{{{{zzz{z{{{{{{||{{{{z{zzy{|z|{{{zzzzzzz{{z{z{{{|{zzzzzzzz{|{{{{{{zzzz{zz{{z{|{{{{zz{y{|zzz{{{{{{|z{zz{zzzzz{{{{{{zz{{zz{{{{{{|{{z{z{{zyz{{{{z{{z{z{zz{zzz{{{z{{{zyyzzyzy{z{{z{|{zz{zy{y{{{|z|{{{{z{{yz{{{{{zz{{{{zz{zzzzyz{z{{{{z{zyzz{zz{zzz{{{{zzzzyzzzzz{{{{{{zyz{z|{{|zz{{||{z{zzzzz{{{|{{{{z{{{zzz{{z|{|{|{{zzz{{zzz{{|z{{{{z{{z{zyz||{{{||{{{{zzz{|{{z{{||{{{{z{{{{|z{{||{z{{z{z{z||{{|}{{zz{{{|{z{{{|{{|{{{{z{{z|{}{{{|||{{|{z{{{|||||{{||{{|{|{{{|||{|{|{{{{z{zz|{}|{||||{{{{zzz{{{{|||||{{||{{{|{{||{{|z{|z{z{z|||{|||}{||{{zz{{|{|{{|{zz{zz{zy{|{{|{{{z{yzzz{z{|zz|{{{y{zz{z{y{{{|{||{z{{{z{zz{zz{{{{z{zz{zzzzz{||{{||{{|z{zzy{z{{z{z{{yzy{{zzz{zz{{|zz|zz{zzzz{{zz{z{{{yz{zzzzz{zz{{{zz{zzyzz{z{z{zzz{yzzy{yz{{{||{|{zz{{yz{zz{{{||{{zzzz{zzzyz{{{z|{zzzz{{{yzzz{{|{}zzzzzzz{{|{|z{{{{zz{{{z{{{{{{|}{{zzzz{{zz{{{{{||{{{{z{zz{z{z|{{{|z{{{{{zz{{{{{|{{z{{zzzz|{{|z|{|z{||{{z{|{{z{{{{{{{z{{|z||||||||z{{z|{{{}{|}||||{|{z{{zz{||||||{|z{{z{{||}|||||||{{{{{{{{{{||}||||z{{{z{{||}|||{|z{{{{{||||{||}|{z{{zz{||{||||||{{|z||z{|{{|{|{{z{|{z{zzz|{|z{|}|{{{z{zz{|{|{|{{{{{zzyz{{|{||{zz{{z{{zzyz{|{z{{{z{zzzz{zzz{{{z||{{{z{z{zz|{zz{|{zz{{{{zz{z{{{{{{{zzz{zzzzz|z{{{{zy{yzzz{y|{{z{{{{z{zzzzzz{zy{{{zzz{zyzzzz{{zzz{{{yzzzz{z|z{{z{z|{zzzzzzzz{{{{|{z{zzz{zzzz{{|{z{|zzz{zz{zz{{{{{{z{zzz|z{zz{z{{{{{{z{zzzyzz{y{{{{|{zzz{z{z{{{{{|{|{z{zzzzz{{z{{|||zz{{yz{{{{{|{{|{z{z||{z{{|{|z{{z{{{{{{{z|{{{{{{{{{{{{{y|||z{{{z{{z{{{z{{{||{||{|z{||{z{{{|{|{{|{{{{{{z{z{{|{}{||{z{{{{{{|}|{|||{{|{z{{{|{|{||||||{{{{|{|z||||}|||{|{y{z{|{||{}|||{z{{{{z{|{||{{{{||||{z||}{{|{{{{z{z{z{{|{{|{||{|z{z{z{{z{{{{{|{z{{z{z{{z{{{{{zzzyzzz{{zz{z{{z{|{{yzzz{z{{{{|z{{{z{zzzzy{z{z{{{z|{{zzyzz{zzz{{{{{zzzzzzyy{{z{{|{{zzzzy{zy{{z{{{{zzzzzzzyzzz{{{{{zzzzy{z{zzzzz|{{yzzz{zzzzzz{{z{yyzzyz{yzzz{zz{{zzzzzyzy|{z{{{z{|zzzzyyzyz{{zz{z{{yz{zzzzz{zzz|{|z{{zy{zz{z{||z{zzz{{z{zz{z|zz{{|zyz{zz{zz{{|zz{{zz{zzz{{{{{|z{{{|{zz{yzzz{{{||z{zzzz{{zz{|{z{{|{zzy{z{zz{{{{|{z{{zz|z{z{||{||{{{zz{{{{{z|{{{|||{|{zz|{zz{{{{|z|{{z{{z{{z||{{}}|||z{{z{{{{{{{|||{|{zzzzzz|{{{{|||{z{{{zz{z||{|||{{{{z{{{|{{{{{{{|{{{{{{{z{{{}{{{{{{z{zz{{z|{{{{|{{z{{zzzzz|{{|{{|{zzyzzzz{{{{{|{{{{zzz{zyz{{{{{{|zzzzzzzz{z{{{{{|{{zzzzzz{z{{z{|{{zzzz{z{zz|{{|{{{{{yzzzz{{{{z{||z{{zz{zzy{{{z{{{{zzz{zzz|{|zz{z{{zz{yzzzzz{z{{{zzzzzzzzz{{z{z{{zz{zzzzzyzz{|{{{{{z{zzzzz{{{{z{{{zzzzyzzzzzzzzz{{zzzzzzzzz{z{{z{{{{{zz{zzz{{zzz{|{zzz{zzyz{z|{||{{z{zz{zz|z{|{{{{{zzzz{zz{{{z||z|{{z{{yz{z|{{|||z|zzz{yz{{|{|{||zzzzzz{zz|{{{{{{{{z{z{{{{{{{{{||{{{|zz{|{|||{{|||{zzzzzz{{}}{|{{z|zz{|{{{{||{||{|{{{{|{{{|{}|{{}{{z{{{{z{z||}{}|||z{{{z{{|{{|||}|{zz{{{{|{{{|{|||{z{z{z{{|{|}{|z}{||zz|{{{|{{{}|||z{{zz{{{|||{|{{{z{{{z{{{{{zzzzz{zzzz{zyz|{{{{{{z{{zz{zzz|{z{{{{{z{zz{zz{zzz{{|{|zzzzzzz{{|zzz{|yzzzyz{yz{{{{{|{zzzzzzzyzz{y{|{z{{zz{{yzzz{{zz{zz{zzzzyzz{{|z{zz{y{yzz{zyz{{z{{{{zzzzzzyz{{{{zz|{z{zzzy|zz|{{{z{{zzyzzzz{z|{z{{{{{{yzyzyz{{{z{z{zz{yz{zzzz{z{{{|zz{{zzzz{{{z{|{|{{zzzz{zz|{{z{{|zz{zzz{zz{{z{{{{zz{{{zzzz}{{{{{{{{{zzz{zz||{|{{{zz{{{{{z{{{z{{{|{z{{{{|{{||}{}{{z{z{z{{{|||||{||{z{z{zz{{|||{||{|z{||z|z||{{{{{{|z{z{||{||z{||{||z{{{|z{{{||||}|{|z{{{{{|{|{||||zz{{{{z|{{{{|{||{|{|z{{{|z|{|{|{{{{{{{{{{|{|{{|{{z{{{{zz|{|{||{z{|{{{{z{{{|{z|{{zz{yzzzz|{z{{{{|z{zy{zzz{{z{{{{{{{zzzzz{|zzz{{{{{zzzzzzz{{{zzz{{z{yz{zyz{{{{{{|{z{{z{zzyz|{|z|z{{{z{{z{z{{{yzzz{{zz{y{yyzzz{{{z{zz{z{yzz{z{{{{{z{{{zzzyzyz{z{|z{{{zyzyzz{{{{{{{{{zzzzyz{z{z{{{{|{zzz{zzyz{{{{{{{{zz{{{{y{z{|{|||zzzz{zzz{{{{{{{||zz{zzyz{{{{{||{{|zzz{zz{|{|{{{{|{{z{z{z{{{|{{{{{{z{{{z{{|{{{{|{z{{{{zzz{||{z|}|{{{{{zzz{|{{|}|{z{zz{{{{||z|{{|{{|z{{zzz{{||}{{|{z|{{z{{{||{|{|{|z{{z{{|{|{{|||||z{{{z{{{|}|||||{{|{z{{{|}}{{{}|{|{z{zz|{|{}{||{{{{{{{{{|{{|||{|{{{z{z{|{|{{{|||{{{{z{z{z||{{{{{{{zzzz{z|z{{{|{{zzzzyzzz{{{{|{{zzzzz{zyz{{{z{{{||z{yzyzzzzz{{{|{{{zzzz{zzz{{z{|{{{zyzzzz{{z}{|{{zzzzzyz{{{{z{|{{z|{zy{z{zz{zz{{zzz{zzz{zzzz|y{z{zyzzzzzz{zz{zz|{{{zzz{{{zz|z{z{{|zzzyzzyz{{{{{{{z{yzzyzzz{|zz{{z{y{{{z{zz{{z{{|{zzy{{{zz{{z||z|{z{zz{z{z{{{{{z{|{{{{zzzz|z{{{{|{z{zyz{zzz{|{{{|{{zzzzz{z{{z|{{{{|z{zz{z{||{|{{|z{{{z{zzz{|||z{|{{{{{{z{z{|{{}{||{zz{{{{z||{|{{|{{||{{{{{||||}||z{{z|{{{{{}|z||||{{|z{{|{|||{|||{|{|{{{{z{|{|{{}||{{{{{{{|||||{||}{{{{z{{||{{|||{|||{|{{{|}{||{|}{z|z{{z{{|{|{{}|}{zz{{{{{{|{{{}|{zzz{yz{{{{{{{{{z{{zz|zzz{{{{{{{{z{yzzzz|{{{|||{zz{zzzzzz{{{{{{||{z{zz{y{{|{zz{{z{zzzzzz{{{{{{z{{z{zzzyy{{{zzz{{{z{z{zyz{{{zz|z|z{zzzzzz{{{{z{{{zzyzzzzz{{zzz|{z{zzzzzz{z{{z{{|{zz{zzzzzz|{{zzz{zzzz{zzzz{z{z{{zzzzzzz{zz{z|z{{zz{z{{z{y{{{z{{{{zzyzzzz{{{{zz{||{z{zyzz{{zzz{|||{z{z{zzz{|{{{{{{{{{{{{{{z{{{{|{|z{{{|zz{{{{{{|{{{zzyz{zz||{{{|{{{{z{{{{z|{{|||||{z{{z{{{||{{|{|}{z|{{{z{{|||{{|||z{zz{{{}|||{}|{|||z{|zz{{{||||||{{{{{z||||{|||||{{{zz||{{||||||{|{{|z{{{{{|||{||{z{{z{{{{{|||{|{{{zz{{{|{||{||{{{{z{{|z{|{{{{||{y{zz{zz{||{z{{{{zzzz{zz{{z{{z{|{y{zz{zzzzz{{z||{{zzzz{z{{{z{{{{zz{yzyzzz{{zz{{{z{zzzzzzzz{{{{{zyyzzzzyzz{zy{zz{{zyzy{zz{{{{{z{zzzzzyzzy{z{z{{z{zzzyzzyy{{z{z{zz{{zzzyz{z{{{|{{z{{{zy{z{zz{{z{{{{zzzzzzyy{{{zzz{|z{zzyzyz|{{{{|}{zyzzzz{z|y{|z{{{z{zzzzzzz{{{{{{{{z{yy{y{zz|z{|{zz{zzzzy{zz{|z{{z{{{zz{z{{{|{|{|zz{{zz{{{z{{{{|{{{{{{zzzz{{{{{{z{{{{z{zz|||{|||{{z{z|z{{|{{|{|||z|{z{|zzz|{||z|{{{z{{{{{||||{|{{||{{|{{||||{|{|||{{|z|{|z}}||}||{{||{z{{{|{|{{||{{z{z{{{{{{||{|||{{{{z{|||||{|z|zzzzzz{{z{z{{{}|{{z{z{{{{{{{{{{z{z{zzzzz{{z{z{{{zzzzzzzzz{{{{{|{zzzzzzzzz|z{{|{{zzz{zzzz{zzz{{{{{zz{zzz{zz{{z{|z{{{{zzyz{z{{z{{|{zzzyz{zz{{{z{{{{z{z{zzzzzzy{z|zzzzzz{zzzz{{z{{zzzzyzzzz{{{zzz|z{zzzy{zzzz{{zz{{zzzzyyzz{z{{{{{|{{zzzz{zzzzz{z{{zzzyzyz{z{z{{|{{{yzz{zzy{{|{{{{{|{z{zzzz{{{{z{{{zz{z{z{y{{{{|{|{z{|z{z{z{|{{{||z{z{{{yzzz{z{|{zzzz{z{{{y{|{{z||{{z{{zzz{{|{{z||{{z{{z{{z{{{{|||{{{{{z{|z{{||{||{|{{{{{z{||}{{||{{z{z{zzz{|{|{|{|{zz{z{z{|{||||||{{|z|yz{{{{}||{||z{{{{|{||{{|{|{|{{{{{{|{{{||||||zzzz{{|||{|{|{{{{|y{{{{z{{|{|||{{{{z{zz{|{||{{{{z{y{y{{zz||{{{{{zzzy{{yzz{z|{{|{{zzzyzz|{{{||{|z{zz{{zyzz{{||{{zyzzzz{{z{{{{z{z{zzzz{zy{{z{{{{|{y{zzzyy{z{yzz{zz{yzzxyz{{{{z{{{{z{zzzzzz{z|zz{{yyzzyz{{{{{zy{|{zzzyyzzyz{z{{z{{z{|zyyzyz||y{{||{zzzy{yy{zzz{|{|zzzy{yzzz{z{{{z{zy{zzzzz{z{{{|{|zzzzzy{zz{{{{{|{{z{zz{{{zz{{{{{{y{zzz{zz{{{z|{zz{z{{{z{zz{{|||{|{z{{z{zyz{{{{{|{{zz{z{{{|{{zz{{{{{z{|{{zz}{|{|{|{{{{z{{{{||||{{|{{z{{{{zz||{{||{{z|z{z{|{|{|{|{|{z{{{||z{{||{{||{{z{{|z{z|}{{}|||{|{{{z{|{||z{|{|z{{{{{{{{|{||{{{{{{|{{{{{z{|||{z|zz{{{{{z{|{|{{{z{{z{z{z|{|z{{zzzzzzzz{{{{z|z{{z{yzzzzyz{{{{{{zz{y{zyyy{z{{z|{|{{z{z{{z{|{{{{|{|yy{{zyz{{{|{|{zzzzz{yzyz{{{z{z{z{zyzzzzz{|yzz{{z{zz{yyy{{z{z{{{zz{zzzyz{|{z{z{{zzyzzzyz{{{{zz{{zz{zzzzzzz{z|{{{zz{{y{yz|z{z|z|z{{z{zyzyy{{z{{{{z{zy{zzzz{{z{{{{zz{zzyzzz{{z{{{{zzzzzzzzzz|{{{|{{{z{zzz{{{{{{{{{{zzz{{{z{{z{{|{{{{{{zz{zz{{z{|z{{z{zzyz{{|||{||{|zz{z{{{z|{{z{{{{y{{{{{{{|{|{{{|z{zz{zz{{{||{{{||{z{{{zz|||{|{|||zz{{{{{||{{{|}{|{|{{{{z{{z{||{{{z{|zzzz{}|}||||{{|{z|{y{||{{{||{{zz{{{{{{{|||{}}{z{{zz{{z{{{|{|{{zzz{|{{|{||{}|z{{zz{zz{|z{{{}{{{z{{{{zz{|{{{{{{zyyzz{{zz{{{{{{{zzz{zyz{{{{{{z|z{zzzzz{zz{{{{{{{z{zzzz{z{{|zz{{z{yyyzzzz{{{{{zzzzyyzzyzy{{yz|{yzzzzz{z{z{{zz|z{{zzzzzzz{{{{z{|{zzzzz{zz{zzzzz{{{yzyz{yzzz{{z|{z{z{yzzyyzz|{z{}{{yzzzzzz{{{z{zz{z{{zyzzzz{{{{|zzyz{yz{zy|{zz{z|{zz{yy{{z{{{{{|{{zz{z{zzz|z|{z{{{{z|z{z{z{z|{{{{{{{zzzzzzz{{{{{{z{|zz{{z{|z{{z{|z{y{{zz{z{|z{|{|{{{{zz{y{{{{{{{{{{{|{{{{{{||{{|{|{z|{{z{zy{||{{|z{zzz|z|z|||||}|{z{{{{{{z{{z|{|{}|z{z{||{z|{||{|||{{|zzz{{||{{z|{|{|{{zz{{{{||{|{{{{{{{{{{z{}{|{|{z{zz{{{z{|{{|{|{{{zzzzz{{{{{{{z{z{{zz|{{{z|{zzzzzyzzzzyzz{y{{{|{|zzzyzzzzz|{||{z{{zz{zy{zz{{{{{zz{zzz{zz{{{{z||z{zzyz{z{{{z{zzzy{{zzz{zz{{z{z{{{yyzzzzz{{|{{zz{z{yzzzzz{{z{z{{{zzzy{z{zz{{{z{{{zzzzy{yz{zzz{{{zzzz{zyzzz{{|{{{{{zzzzz{y{{z{{{{{{{{zzzzyzzz{{{{z{z|y{yy{zz{{{{{zz{z{yy{z{{zz{{{|zy{zzzy{{{{{{|{{{z{zy{zz{z{{{{|{|zz{zzz{{{{{{{{{{{{zz{z{{{{{|{|z|{{zz{y{{{{{z{{|{{{zz{z{{{{|||z{{{{|{{|{|z{{{||}{{{{z|{z|{|{z{|{{{|z{z{{{{|{{{||{{{z|{{{z||{|{||{z{|zz{y{|||{||{|{{{|{z{{{|{|||z{{{{|{{|zz{{|{|||{z||{zz{{{|{|{|z{{{{zzz{{|{{||{{z{{{z|zz{{{{|{{{y{z{z{z{z{{{z{{{{yzz{zz{{{z{z{{zz{z{{zz{{{{z{z|{zzz{z{z{z{{{{{{{zzzzzzzz||zz{||{{zzyyzy{z{z{{||yzzzzzzy{z{{{{|{zz{zzzyz{{z{zz{{z{{zzzzz{{{{{|{|yzzz{zzy{{{z{{{{zzzzzzzyzz{{{{|{z{zzzyzyzz{{{{{{z{zzzzzyz{{{zzz{z{zzzzzzz{|{z|{|zyzzzzzyzz{zz{{{zzz{{y{z{{|z{z{|{zyzzzzz{{{{{{z|{{zzzzzz{{|yz{{|z{{z{yyzz{{|z|z{|z{zzz{{{y|{{{{{{zz|{{zz{{|z{|{z|{zz|zz{{{||||z{{{z{{{z{{||||||{|{{{|zz{|{|||{{{{{|{{{|{||{{|{|{|{{z{z{{{|{{{|{|||||{{{z{|{|||||{{{z{z{{||{{{||{|z{{zzz{{||{||||{{{{{{{z||{|||{{{{{{zzz{{|{{|}{|{{|{{zz{{{{{{|{|{z{z{{{z{{|{{{z{{zzyzzy{z{{zz{z{z{{yzz{zz{|{z{{{{zzzzzzyz{{{{{{z{yzyzzzzz{z{zzz{zz{zzzzz{z{|{{{|zz{xzy{zzzzyzz{{zyzzzzzzzzzzz{{zz{zzzzyzz|{z{z{{zz{z{zzzzz{zz{{{{zzzzzzyz{z{{z{z{zz{zyyzz{z{yz{{{zzyzyyzzzzyz{zzzzyzzzyzz{z{{{{{z{{z{yzz{z{{{z{z{{zz{zzz{{z{z{{{{zzzzzy{{z{z{||{zz{{zz{y{{{z{z{|zz{zzzzz{|zzz|z{z{zy{zzz{{{{{{|zzz{zzyzz|{{|z{{{z{yz{{yz{z{|{z{|{z{{z{||z{{{||||zz{z{zzz{||z|{{{{y{{{{{{{{{{||||{z{z{|{|{{{{{||{{zz{z{z{{|{|||}{z{{{zz|{z|z|||{{|{z{z{z{{{|{|{{|{z{|z{z{|{{{{{{{zz|z{{zz{|{{|||||{z{{z{z|{z|{{}{{z{zzz{{z{|{{{z{zzyzzzzyz|z{{{|{zzyyzzzz{|||{{{{zzz{zz{z{{z{{{|{zyzzzzz{{|z{zz{|z{{yzy{yzz{{{|{{{{zz{z{zy{{z|{{zzzzzzzz{zz{{z{z{zy{zzzyzzz{{{zzzzzzzzyyz{z{{z{{zzzyzyzzyz{{zz|{zzzz{zzyzzzz{z{{{zzzzyzzz{{zzzz{{zz{yzz{{zzzz{{{{zz{{zzzy{{z{z{|{{zzyyzzz{{|zzz{{{{zyzzzz{{{zz{|{{zy{zzz{z{zz{{zz|{{zzz{zy{{{{{{{|z{zz{zz{{{{{{{{|{zzzzz{|{{|{{{{{zz{z{z{{z||{||{{{zzzz{z{|}|{||{{{{{{{{{||{{{||{|{z{{{zz|{||{|{|||zz{{{{|||{{{|{|{{{z{z|{||||{{{|{{{z|{z{{{|{||||{{|zz{{{|{{{||||z{{{{{{{{{{{{||{{zz||z{z{||||}{{z{zz{zzz{{{z|||{z{|z{{{z{{{z{{{{zzzzz{zy{z{z{|{{yzz{zz{{|{z||{{z{zyzz{z{z{{{z||z{z{zzzz{{{{|{{|z{yzyzzz{z{|{{z|zzzzzz{zy{zzz{z{{z{yzzzz{z{{z{{{|z{zzzzz{z|{zzz{zzzz{zzz{z{z|{{{z{z{zzy{{z{{{{{{z{zzzz{zz{{{{|{{z{zzzzzzzzzzz{{|yzzyz{zzz{|{{{z{zz{{zzzy{z{zz|z|{z{{zz{zz{{{{|{{{z|zzz{z{z{z|{{|z{z{zzzzz{{|{|{|zz{{|z{{z|{||{{{{z{zz{zzz{{{{{{|z{zz|{zz|||{|{{{{{zz|z{z{{{||}{{z{zz|{{{||||{|||{{|{{{z{{|||{|{||{{{z{{z|{|||{}|{{{{{z|z{{{|{|{{|z|{{{{z{||}|||||{{{{z{{{|{{{|{{{z{{{{z|{{{||}|{|{{||{{{|{{|{{||{{{{z{{z{|{{{||||{z{{z|{{||{{{|{{{zzzzz{{{|z{{{{yyzz{z{zz{z|{{{{zzz{zzzzz{z{z{{{z|zyzzyz|{{zz{{{{{zzz{zzz{{{zz{z{{zy{zzz{{z{z{{zzz{zzzzzzz{zzz{z{zzzzzzzyzzz{z{z{z{zzzyyzzz|{|{{{zzzzyyzyz{{{{{{{zzyz{zzzz|{z|zzzzz{zzyz{{{{z|{|yzzzzzzzzz{zz|{|yzzyzzz{{{z{{|z{zz{{{zz{z{z|{z|{z{{zzz{zzz{z{{{{{{{{zz{z|y{{{{{{zzzyz{{y{{|{{{|{z{z{zzzyz{{|{{{|{{{zz{yzz||{{z{|zzy{z{{{|{|z{{||z{{{z{{{|{{z||{|yz{zzz{{|{{|z{||||z|{{z{{||}{|{{|{z{{{zz||{zz}||z{{{z{{|{{|{{||||zz|{{|||||||{}{{z{{{{{{|{{{{{|{z{{{z|z{{|{{||{||{{{{{{|{{{}{}{|{{{z{{y{{{{{|{||{{{zzzzzz||{{{{{{{{{{zzz{|{{{|{zz{{zz{zz{{zzz{{{zzz{yyz{{{{{{{{z{{zyzzzz{{{z{{|{zz{{yyyz{z{zyz{{{{zyzy{z{z{{zzz|zzzy{zyzz|zz{{|zzzzz{yzyz{zzzzz{zzzyyyzzzzz{{{z{zz{yzzzzzz{z{z{{{yzyzzzzzz{{zzz{{zzzzzzzz{{z{{{{zz{yzyzzz{{z{{zzzzzzzyyyy{z{{zz{z{zzzzzzz{zzz{||zzyz{zxy{|{{zz{{zzzz{z{z{{zzz{{{z{{{z{zz{{{{{{{{{zzzzzzy{{z|{|{{{zzzzz{{{z|z{{{||{zz{zzz{{{{{{{|{z{{{zz|{{z{{{{{zzz|z{{{||{{||{|{{{{z{zz|{||}z|{{{{z{{{{||||{||}{{{z{{y{{{|{{{{|{{{{|||{z}|||{|{{z|{z{{|{{{|||}{{{{z{{zzz{{|||||z{{z|{{{{{{|{{|{{{zzz{z{{{{{z{|||{{{z{zz{||{{{|{{z{y{zzz{{{{{{{{{y{zzz{yz{{zz|z{z{zzzzzzyzz{{{|{{z{zzzzz{{z{zz{zz{z{zzz{zzz{y{z{|zzyyzzzz{{{z{{zzz{zz{yzz{{{z{{z{yzz{zyy{{{zz|{zyzzz{{zz{z{{{z{{zzzyyyzzz{{{{{{{zzzzz{yz{{zzzz{{{zzzzyzzz{{|{y{{z{|{zzzz{|{zz{y{zz{zzyzyzzzz{{z{{y{zzzzzz{{|z{{{z{{zzzyy{{{{{{|{{zzzyz|z{z||{}|{z{zzyzzzz{{{{z||{z{z{z{{{{{{|{|zz{z{{z{{{{|z|{|{{{{{{{zz{{{{z{{|{{{{{{{||{||||{{{z{{{{{z||{}{{||{{{{{{zz{|{||{|{{y{{zz{z||{|||||{z{zz{{{{|||{||{|z{{{}z{{|{{{{{|{z|{zz{{|{{||||{{z{z{{{{|{{|||||{{{z{{{{||{{{||{{{|z|{{z{{{{|{}|{z{{zz{z{{z{{|{{{{{yzz{z{{z{|z{{zyzzzyyyz{{{z{{zzz{zzzyzz{{{zz{{zzzzzzy{{zz{{{z{{zyyz{zzzzz{zzzzzzzzz{zzzyz{zz{{zyzzyz|zz|{zzz{z{y{zzzyz{z{{z{{{{{zzyyzzzzy{{z{zzzzzzyyzz{z{z{|zyzzzzyyzz{{{{{{{zzzzzzyz{z|{z{|zzzz{zyzyz{z{z{zyzyzyzyzzz{z{zz{|zyzyzzzz{z{{zz{{zzzy{z{y|z{z{{{{{zz{zzz{{{{{{|zzzz{zz{{{{{z{{z{{zz{{zy{z{{|{z|{{{{{zzzzz|{{{{z{z{yzzz{yz{||{z|z{{zz{zzz{z||||||{{{{{zz{{||z{||{{{{z{zz{{{{{{|{{|{zz{|{{z|||z{||}z{z|{{zz{{{|||||{{{{z{{{z|||{|{{|z{zzz{z{||{{{|{{z{zzz{{|||{|{{{|zz|{{{|{{{z{}{|{z{zz{{{{{{z{{{{{{{z{zzz{|{|z{{{{{zzz{zz{{z{{|zz{zzzzzzzz{{zz{{|zzz{z{{{{zzz{{{{{{zzzzzy{{{{{{{{zzzz{z{yz||{{{z{z{{zzz{{{{{{z{{{zzzzzzy{z{{zz|{z{yzzzzz{z{{z{{{{{zzy{zzyzzz{z{zyzzzzz{z{yzz{{{|{zzzzzzzyzz{{{{|z{{{zzzzzz{{{{{{z{zz{yz{zzz{zz|zz{{zyzz{zz{z{z{z{zz{zzzzzz{{z{|{zzzzz{z{z|{{z{|z{{y{zzyz{{z{z{{|{zzy{{zzz{z|{{{{||{zz{z{yz||{}{z{{{zz{{zz{{|{z||z{zz{{{{{{{zz{{||{{{{{z{{{{{||{{{z{{{{{|{{{{|{|||{{{|zzz{{}{|}{||{{{{{{z{{}|{{{|z{{{{z{{{{{z}{||||{|{||{{{{z|||||{{{{z{{z|{|{{{|{zzz{{{{{{|{{{{||{{{{{{{{|{|{||{}z{zz{{{{{{{z{{{{|{{{z{zzz|{{z||{|{{zzzzz{{{{|{{zz{zyz{zy{{z{{{z{{zzzyz{{|{{zz{{{zzzyzzzy{{zzz{||{zzz{zzzz{{zzz{|{{{zzyzy{|{{{{z|{zyyz{{zy|{{zzzyzz{y{yzz{z{{z{{{{zzzyzzzzzz{y{{|zxyzz{zyz{{{zz{{{zzz{zy{z{{{{{{|zyzyzzz{y{{{{||{zzzzzzzzz{{z{{zz{zzzzyzy{{z{{{z{yzz{z{zzzzy{zz||{{zzzzy{zzzz{{{{{zzz{y{z{{{{{{{{zzz{zz{zz{{{z{{zz{|zzyzzz||{z{|{{zzzz{{z{{{z{{||z{{{zzzz{{{{{{z{zzz{zz{{z{{{{||{z{zzz{{z{|{{|||{{{{{zz{{||{{{||z{{{{{zz{||{{{|}{{|z{z{{{{||{|{||{z{|{z{z{|||{|{{|{z{zy{{|||{|{|{|z{{{zz{|{{{{z{{{|{{{{{{{{{{{{{|{{z{{{{z||{{{z|||z{zzz{{{{{||{{{{zz{zz{z{z|{{{{{zzz{zzyzz{{{{{z|zzzzyyzz{z|z{|{z{{{{z{zy{{|zz|{{{{{yzz{zz{{{||{{z{zzyzyy{{{{zzz{{zz{yyyz{{zzzzzzzzz{zzzy{z|z{||{zzzzzzyzz{{zz{|{zz{zzyzz{{{{z{{|zyzzy{zzzz{zz{{{{{{zzzzzzzzz{{{z{zzzzzzz{{{yz{|zzzzz{z{z{{zzz{{{zyzzzzzyz{z{{{{z{zyzzy{zz{{{z{{{|z{zzzz{{{{{{|||z{{{{{zz{{y{{{{{{{{z{z{zz{|{{{|z{zzzzz{z{}{{z||{zz{{{{{zz|{{{{||{{{{z||{{{{|{||{z|z{{z{{{{{|{|}|{z{zzzzy||{{|{|{{{z{{z{{||||{||{{z{z{{{{z{{z|||||{|zz|{{||||{||{|{z{zz{{||{|{|{{|z{{{{|{{{{|{{{}{{z{{{{{{{||||{|z{{zz{{zz{}{{|{||{zzzzzz{{{|{{{{z{{zzzz{{{|{|{{}{zzzy{zz{{{|{{z{{zy{yzyyz{z{{{|{{z{zzy{z{z{z{{{zzyzzzzz{z{{{z{{zz{zzzzzy{z{{{{{{{zzz{z|yz{{{{||zzzz{zzzzzzzz{{z{zzzzz{yzzzz{zz{{zzzzzzzz{{z{{{z{zyz{z{y{z{{{{{{{yz{zzyzzz{z{{{{{{yz{zzzyz{zzz{{{{yyzzzzzzzzzz{|{zzzzz{y{{{{|z{||{zzzyzz{{{|{{{{{z{{z{y{z{zz{z|||{zzzzzzz{zz|z{|{zzz{{zz{z|{{{|{|{{{z{{zz{|{{{{|{{{z{z{z{{{{{z{z{{{z||{{|{{{|}{z{{{zzz{{{{{||{||||{{z{{{z{{|{{|}|{{{{|{{{|||{||||{{zz{{{|{{{{||||{|zzz{z{z}|}{||{{{{|{{{{{{{|{|{{}z{z{z{||{||||{{|{{y{{z{||{{|{{{|z{zzz{{zz{{||{{|z{{z{zz{|{{z{|{{|z{{zzz{z{{|{z{zy{zy{zzz{|z{{{{{zzyzzyzzz|{{{{{zzz{{zyz{z{{{{zz{z{yzzyzzz{{z{z{{zzyyzzz{zy{{{z{zzzzzzzyz{{zzz|z{zzz{zzz{zz{yz{zz{yzzzzzzzzzz{yzzzzzyzzyz{zz{z{zzzzyyzzzz{z{z{zzzz{zzyzzz{zzz{{{zzz{{zzyyz{z{{{{{yzzzyzyyzz{{{{{z{{yz{zyzz{{z{|{{zzzzzzz{{|z{zzzyyyz{zzz{{z{{{||{zzzzzz{z{z{{{{z{{{z|z{{z|{{z{|zz{{z{z{||z|{|{|{|zz|z{{{{{{z{{{{z|zz{{zyzz}{|{||zzz{{{{{{{{|{||{{z{|zzz{{|{|{{|{|z{{{z|{|{{|||{||z{{{{{|z|{{{|||{{z{z{z{{|{{{{|{|{|{zz{{{|{||{{}|z{{{{z{{|{|||{|{{{{{zz{{{{{|{{|{{zzz{{{{{{|z{||{{{z{z{{{{{{|{|z{zzzzzzz{{zz{{{|{zz{yzzyzz{zz{z{zzzz{zzz{{{{{{z{{{z{y|zz{zz{zz{{y{{zz{yzz{{{{{z{{z{zyz{yzzz{{|{|zz{zzzzzz{y{zz{{{zzz{zyz{{|zy{z{zyyzyzzzzz{{{z|y{zzzzzzzz{{{{z{{zz{zzzzz{{{z{{{z{{{zyzyyz{z{{{{{zzzzzzzy{{z{z{z{{zzyzyzzzz{z{{z{{{|z{zzy{{{{{|{{{z{yz{zzz{{{{{{{z{{{zz{z{zzz{|{|zz{z{zzz{{{{|||}{z{{{z{z{zz|{{z{z{|{zzzz|{{{z|}{zzz{zz{zz||{{|{{z|{{|{{z{{{{{|||z{z{{{{z{|{|z{||{{{{{z{{||{{{{{{{{z{{{{{|||}||||{z{z{{{{|{{{||||{{z{z{{z{||||||{|z||{{{{|{|{|{{||z{{z{|z{|{{|||{{{{z}z{{|{{{}|||{{{{{{zzz{{{{{|||z{zz{z{{|{{{{{|z{{{{y{{z{|{{{{{zzzz{zzyzzz{|z{|z{{z{zzz{{z{z{{{{{zzzzzz{z{z{{|{{zzzzyzzz{{zz{{{zzzzzz{zz{{{z{{{zzzzz{{zyz{z{z{z{yzzzyzz||{{{{{zzzzzyzzz{{z{z{|{zzz{zzyzz{zz{{|{{yzz{zzz{{{{{{{{zzzzyzzzzzz|z{{{{zz{zz{zz|{z{{{{{zzzzzy{z{z{{|{{zzzzz{zyz{z{z{{|z{zz{zzz{{{{{{||{zzzzz{z{{{{{{{{zzzyzzzz{{{||z{{zzzz{z{y|{z{{{|z{{y{{zzz{{|{{z||z{{{zzz{{{z{z|||{zz{zzz{{|{{{{|{{z{{{{{{|{{|{||||zzz{{{z{{{|{{||{{|{{{{{z||||{|{{{z{{|{{{||{{}{{||zzz{{{{|||z||{{{{{{{z{{{{|{{{{{{{{{{{|{{|{||||{{{z{{z|{{{|||{|z{{{z{{z{{{|{{|{{z{{{{{{{||||z{{zz|{z{{{{{|{|{{{zz{zyzyz{{zz{z||{{zz{zzz{{z{{|{|zz{y{y{y{{zz|z{{{zyzzz{{{z{{zz{|{{zzyzyzzz{z{{{{z{zz{zzyy{z{{{{|zzzzyyzzzz|zz{{{z{zzzz{zzz{{y{z{zzzz{{zz{|zzz{|z{yzzyzzz|zz{|{{{{z{zzzzzz{{{{z{{{zzzzyyzzzz{{{{y{zzz{zyzy|{{{{|{zzzzz{zzz{z{|{{{{zzzzz{z{{|z{{{|{z{z{zzz{z{{{|{{zz{z{{{z{|{{||{{|z{{z{zzzz{{||{{z{zz{zz{{|{|{z{{{{z{zzz{{{|{{z{z{{{z{{{{{{{|||}{z{{{{{{{{{z|{{|{{{z{{{z{{|{{{{|{|{{{{{|{||||||||{||{{z|{{|{{||}||{{{{|{{z}z|||||{z{|{{z|{}|{|{{|{zz{z|{{{{{{|||{{{{z||{{|{{|{|||{z|{z{{z{{{{||{{{{zyzz{y|||{{{{{{{{{zyzz|{|z{{{{{zzy{z{zzz{{|zz{zz{zzzzz{{zzz{{{zzzyyz{{{zz{{z{{{zzzzzzz{{{||z{|zzyyyy{z{{{{y{z{zz{zzzzyzzy{z{{zzzzyyzyzy|{y{{zyyzzzzy{zzzzzzzz{zz{z{yyyzyzz{{z{zzzyzyyyz{{{{{z|zzzyyy{x{{{zz{{{zyyzzyyyzz{{{{z{{y{y{zyz{zz{z{{zzzzz{zzz{{zz{zz{{zzyzzzz|zzzz{z{zz{z{zzz{z{{{{z{zzzzyzz{z{{yz{|z{zzzzyzzz{{{{||{{zz{zzzy{z{|{{{{{zz{zzyy{||{{z{{{{{{{{zz{{{{{{||{{{{{|z{{|z{{||}{z|{z{zz{{|{{{{{{z{{{{{z|||{|}}|z{{{{||zz|{{{{|{|z{zz{z{z||{|{{|{z|{{z{{{|{{|{|{|zz{{{zzz{|{|{{z{{{{{{{{{|{{{{{{{{zz{{{{{{zz{{|{|zzzzzzy{{{{z{{{{{zzzzzz{z{{{{|{z{zy{zzzz|{{{{z|zzyzzyz{z{{z{{{{{{{zzzyz{{{{{{{z{zzzy{yy{z{|{zzzz{zyzyz{{z{z{{{{yzzzz{yz{{{zz{{yzzzyzzzzz{{z{{{{{zzyyzzy|{{{{{{zyzyz{yzz{z{{{{{zzzzzyz{yzz{{{zz{{z{zzzz{z{{|{{{{{zyzzyzz{{{zz{{{{{zzz{zzz{{yz{z{zzzz{{yyz{z{{zz{{yzzzzzz{|{z{{{{z{y{zzz{zz{z{|{|{{zzzz{{z{{zzz||zzzyzy{zz{{{{|{{{{zzzyz{|{||{{{{|yz{zzzz||{|{|{|{||yz{{zzz{{|z|{{{{{|z|z{|{{|||||zzzzzz{{|{{{{{||zz{{z{z|||{{{||{{{z{{{{{{{{||{|{z{z{{z{|}{{{}||{{{|{z{z||{{{|{{z{zzz{z{{z|||{||{{z{{{z{{{z{|{|}|||{zz{z{z{{|{|{{zz{z{|z{{{{{{|{{z{{|z{{z{{{{{{zy{yz|zyz{z{z{z{z{zzz{{{z{{|{{{z|{{zzzz{{{{{{{{|{{zyy{zyz{z||z{||z{{zzzzzzzz{z{{{z{{zzz{zzz{z{{{{{zzz{z{z{{|z{z{zzzzyzzzz|{yzz{{z{zzyzyyzz{{zzz{{zzzzyzzzz||z{{{{zz{zzzzz{{|{zz{{zzzyzyzyzz{{z{{|z{{zzzzzyz{{||{{zz{zz{zzzz{{{{|{{yzz{yzz{{{{{||{{zzzzy{z{{{{{{z|zzz{z{{{{{{{{{{z{zzzzz{z{{zz|{{{{z{{zz{{{{|{|{|{{{z{{z{{{{{{z|||{{{{z{|z|{||{|{{{{{z{{{{{|z||||}{z{{|z{z||{|{{||{y{{zzzz{|{|{|||{|{|{{||{{|{}|{{|{zz{{{{||{|{{{{{{||{{z{||{|{|{|{{zz{{z{{{z{|||||{zz|{y|{{{{|{|}|{{zy{|{{{|{|{{|{|{|{z{{{z{{{{|{{zzzzzz{{{{{z{|{z{zy{zzz{z{z{zz||zzzzyzy{{{z{|{{z{|zz|zzyz{{|{{|z{{{{yyz{{|{zz{{zz{yzyyy{{{zzz|{zzzz{zzyz{z{z|z{{zz{yzzzz{{{zzz{zzzyzzyz|{z{{z{|z{zzyyzz{z{zz{{{zzzzz{zzz{zz{{{{{z|zzyzzz{z|{{{|zz{zzzyyz{{{z|{{yz{yzzzzz{y{{{zzzzzzzzyz{|yz{z{{zzzz{z{y{z|{z{z{{{z{zyzyz{{z{{zz{yz{{zyz{{{|{{{{{{zz{z{y{|{{{{{{{z{zzzzzzz{{|{|z{z{z|{z{zz{z{{}{{{zz{zz{{{{{{z{{{{z{|z{zz{{|{{||{{z{{{z{|||||{||{z{|{{z||||{{|{{{{{|{{{{{{|{{{||{{{z|{{{{||{|||{{{{|{z{{||{{|{{|{zz{{{{{{{|{{{{||{z{{{y{{{|{|{{{{|z{zzz{{z{{|{||{{{{z{|{{{{||{{{|{{z{zzz{{z|z{{{zzzzyzzyz{zzz{{{{yyzzyyz{z{{{{z|{zzzzzzz{{{{|{{z{{zy{{z{{zzzzz{{{zz{zzzy{{{{{|{{zzzyzy{{{{zz{z{zzzzyyy{y{{{zz{{zzyzyyzyyzxz{z{z{yzyzzyzzzzzzzz{{zzzzyzzzzz{yz{z{zzzzyzyzz{{{{z|{{{zyzzzzz{{z{{z{zz{zzz{{z{zz{{{zzzzzz|{y{zz{{{{zzz{zz{zy{{{{z{{{zyz{yzz{{{{{zz{{zzzz{{zzz{{{{{z{zz{{{zzzz{{{{{{{zzz{z{yz{|{z{|{|zz{{z{z{{||{{|}|{zz{zzz{||{{{{{{{{{z{{|{zz{{|{}{|{{{{{zzz{|{{{{||z{{{{{{{||z{|{{{z{{{{|z{|z{{||{}{{{{z{zz||{|{|{|z{|{z{{{|||{{{{{{zzz|{{|{{}{{{|{|{{y{{{|{{|{|||{z{yz{{{{{{|{{|{|z{{z{{{{|{{|||{z{zz{zzz{|{{{}zz{{zzyzzz{z{{{{{|{{zzyzz{{zz{{|{{zzzyzzzz{{zzz|{{{zzzzzzzz{z{z{|{zzzzy{zz|{z{{{{{z{zzzzzz{z{z{|{z{zyyzzzyzzzzz{{zzzz{z{zz{zz{{{{|{yzzzy{{{{{{zz|z{zzzyzzz{{{{{{z{zz{zyzyzz{z{zz{{{zzzzzz{{{{zz{z{z{zyzzzzz{z{z|{|zy{{zz{y{{z{{z|zzz{zzy{{z{z{{{|zzzzz|z{z|{|{{|{{|{zzzzzy{{{{{{{|z{{zzzzyz{{{{{{{zzz{zzzz{{{{z{|{{{{{zy{z{|||{{{{{{z{{{z{{{|||||}z{|{{{{{z{z||{|{zz|{{{zz{|||{||z{{{{{zzz}{||{|||{|{z{{{{{|{}{{||}{{{|{z{z}{{{||||{{{{{z{{{{{{|{||z{zzzz{z|{|{||||z{|{z|{{||||||{{{{zzz{{{{z||{{||{z{z{{{{{{{{z{{{zzzzzz{z||{{}{zz{zz{yzyz{z{z{{{zz{zzyyz{{{{{{{|{zzz{zzyzz{{{z|{{{zzz{z{{{||{z|z{z{yzzzzz{|{z{{{zyzzyzz{z{|z{{{zz{yzzzyz{{{zz{{{{zz{zzy{z{{{{zzzzyyzzzzzyz{{{y||zzzzzzy{z{{|{z{{{z{zzzzyz{zzzz|{zzzzzzzyzz{{{z{{{zzzzz{zzzzzz{z{zzzzz{zyz{{zzz{{z{zzzzzzz{{{z{{{zz|z{zyz{zzz{{{{zzzyz{|z{{{{{z||{zz{{zzzz{{{{z{{{z|yzzyz{{{{|{{{zz{{z{{|{{||{{{|z{{{zzz{z{||{|{{z{z{{{{{z|{|{{{{{{{{{z{{z|{{{||{|{z{{z{{{|{||{||{z|{zz{z|{|{{|{{|{|{{zzz|{{|{{||{|{{z{z{{||{||{|{z{{|{z{{|{|{|||{z{z||{{{{{|||||{{{{{{z{{||{z{|{|{{z{z{{z|{|{{||{z{z{{{zzz{|{{z{zzyzzzzyz{{z{{{{{{y{zz{zz{zzzzz{{{{z{z{z{{{{{{{{{z{yyzyz|z{{zz{|zyzyzzyz{zz{zzz{zzz{yz{z{z{{{{{z{zzzyzy{z{{z{{{{z{zyzyzzzz{zz{{{yzzzzyzzz{{z{{{{zzzzyzzyzz{zz{{{zzzzyzyy{{{{zz{{{yzzzyzz{{zzz{{{yz{z{yzzzz{{{{z{zzzyzz{z{|{{z{{{{zzz{z{yz{z{{|{{{y|{zyzzz{{z{{||zz{zzzzzzz{{{{{{zz{y{{zzz{{{{|{{z{zz{zy{|{|{{{{{{z{{{zzzz{{{{{{z{zz{{{z{{{|{{}{{z{|{{{{{{||{}{|||z|z{{{z{{{|||{{|z|z{z{{}}||z|||zz|{{z{{|{{{|{||{z{{{{z{{{z{|{|||z{{{z{|{{||{{|{{z{{{zzzzz|{{|||{z{z{z{{|{{|{||{z{z{zz{|{{||{{||{|{z{{z{{|{{y{{{{{zzzzz{z{{z{{{{zzzzz{zyz{{{{|z{{zyzzzzyzz{{{{{zzz{z{zzz|zz{{{{{{zzzzyzzz{z{z{{{{zzyyyzyy{{{{{{{{zyzyz{yz{{{|{{zzzzyzyzz{{{z{{z{zzzyzzyzz{z|z{zzyzzyzyzzz{{zzz{zzyzzzyz{zzzyz{{{zzz{yzyyz{{{|{{z{zzzzzzyzzzzz{z{{zzzzzzzzz{z{z{{zyzzzzzy{{{zzz{zzzzyyzzz{{{z|{{|zzzz{zzz{{|{{{||{zzzz{zz{z{{zz|{zzz{zzzzy{{{{{{{{z{zzz{{{{|zz{|{zzyzzyz{{{|{{|{z{{{z{z{z{||{{{{{z{{z{{|{||z||||{{z{{{z{z{|{|{|{{|zz{{{{z|||{|{||zzz{z{|z{|{{||{|{{{z{{{{{|{{|{||{{{{{z|z||{{{{||{{zz{{{{z{|{{{|{|{{{{|{{{|{{{{{{z|z{zz{{{{{{{{{{{{zzzy{z{{{{{{{{{{zyzz{z{|{{z|zzzz{zzyyzz{{z{zz{{{zyzzzz{{zzzz{{{{zzy{zz{z{{{{{{{z{zzzz{z{{{z{{z{zz{zyzz{z{{zz{{z{zzz{z{zz{{{{|{{z{zzyzzzz{z{|z{zzy{yzzyz{z{z{{zzzzz{zzy{{zz{{{zzzzzyzyy|{{{{{z|{yy{yyzyz{zz{{{{{zzyzzzz{zz|{z{zzzzzzyzzzzz{{{{|z{zyyz{zz{|{z{|{zzzzzz{z{|{z{|{}z{{{{yzzz{{{{z||zz{zzz{zzz{{{z{z{{{{{yzz{zzz{|{{{z{{{yzz{{{|{{{{{{{|{zz{|{z{{{z|{z{z{z{z{{{{{|{|zz{{{z{{|{{|{{|{{zz|zzzz{|{|{{{{|{z{{{{z{{|{|z|{z{{zz{|{z{{{{|{{|{z{{{{z{|{{{|{{{z{{z{{{{{{|{{{|{{z{{||{z{{|{{||{{{{{{y{z{|{{{||{zzz{{{z{{|{z{{|{{{zyzzz{{{{{z|{zy{z{z{{z{{z{z{{z{zzzyyz{z{zz{z{{zzzzzyz{zz{{|{{zzz{yz{{zz{{{{{|{zzzzzxz{zz{{{{{zzzyzzzy{{{zz{z{{y{zyzzzzz{zzzz{{y{zz{zzzzzzzz{{zzzzyzzzzzyz{z{zzzzzzzzyyzz{zz{{yzzzyxyz{{{z{{{z{zzyz{{zz{{{zzz{z{{zzyzzzzzz{{{{zyzzyzz{z{zzz{{{zzzyzzzzz{{{zz{zzzzz{zzz{{z{{|||{z{zyzz{zzz|{z{|yz{yz{{zz{z{z{z{z{zzzz{{{{z{||{z{z{yz{zz||{zz{{{{{{{yz{{{{{{{||{{{{{|{yz{{|||{{zz|z{{{zz{|z|{{||{{zz{yy{{|{|{{{{zz{{{{{{|{{{|z||{{{{{{{{|{{{|{||zzz{zy{zz{|{z}{||z|z{z{{|{|{|{|{{{z{|{{z{z|{||||{|{{{{z{||||{{{{z|{{{{{{z{z{{{{||{{{z{{z{|{{{z{{z{z{z{zy{{z{{z|{zzzzzzzyyzzzyzz{z{yzyyzz{{zzz{{{{{zyz{zy{zyz{zzzzyzzzxzzzyz{z{z{zzzyzyzyz{z{zzz{zyyzyyyyy{z{y{z{{yzzyzzzyzzzzz{{yzyzxzyyyzzzzzz{{zzyzzzy{zzz{z{yzzzzzzyyzzzz{{zzzzzzyzyyzzzz{z{zzyyzzyyxyzzzzzzzyzyzzyy{z{zy{{{{zzz{zz{yyz{zz{{{zzyy{yzyz{zz{|zz{zzyyyzzzzz{{{{{zz{yyzyyzz{z|z{{{zzzzyzz{{z{{{{zz{zzzzzzz{{z{{zzzzz{yzzz{{{{z{{{zzzzz{|z{{{{{{{{z{{{{z{z{{z|{{{{zz{zzzzz{{{{{{{{{zz{{zzz{|{{{{||{{{zzz{{{{z{{{{|}{zzzz{{z|{{|{||{{{zzzzz{{z{{{|{{z{z{z{{z||{{|{z{zzzz{z{{|z{{z{{zz{z{zzzz{{{{{{z|{zz{z{zz{|z{{{zz{z{zyzzzz{{{zzzyyy{yzzyz{zz{y{{z{zzzyxyzz{{{zz{zyzzzzyxz|{z{z{{zzyzzzyzz{zzzzzz{zzyzzzzyz{zzzz{yz{yzzyyy{{{y|{zz{zzyyzzzzzyz{zz{yzyzzyyzzyzz{{zyyzyzyzyzyz{{y{z{zzzzyzyzz{zzz{zz{zyyzz{zz{{zz{yzyyzzzyzz{zzz{zzzzzyzzzyzzz{z{z|{yzyzzzyy{z{{{zzzyzzzzzyzzzz{{{zyyzyzz{yz{zz{zz{zyzzzzz{z{{z{{{{{zz{zzzz{{zz{{|zzz{yyzzy{z{{z{{{z{zzzyzz{{{zz{{z{{yyz{zz{{{|{|{{z{{zyz{{|{y{{{|{{y{{zzy{{|{{{{|{{zzzz|zz{{{{z{||zz{{z{{z{{{|{{{{z{zz{{zz{{{z{|{{{{{{{{z{{||{|{|{|yzz{zzz|{{z{||{z{{zzz{{zzz{z{||{{zy{{yz{{{{{{{z{{{{z{{y{|{{z{|{yyzxyzzz{z|{z{zzzyzyxxzz{z{zz{zzzzzzyzzzzzzz{{{{{zzyzzzyzzzy{z{{z{zzzyzzzyz{zzz{zzzzyzyyzzz{z{{{zzzzzzyyy{zzy{zzzyzzyyzy{z{zyzzzzzzyzzyzzzz{zz{{zyzzzyzzzz{zyzz{zyyzxzzzy{{y|{z{zzzzyyzyyy{y{{{{{zzzzzzzzz{zz{zy{z{yyzyyz{z{z{{zzzzyyzyy{{zzzz{{{zzzzzyyzz{{z{{yzzz{zyzzzz{{{z|zzz{zzzzzz{zz{z{{{z{zzyzzz|{{{z{z{{yyyyzzz{{{zz{{{{yz{yzz{{{{{{{{z{zzz{y{{{z|{{{{zzzz{z{{z{{|z||z{{zzzyzz{{{|z{|{{zzz{z{z|{{{||{z{zzzz{{z{{{||{{{|z{z{{z{z|{|{{{{|{{{zz{z|||{z{|{{zzy{z{zz{{{{z|{|{zz{zz{|{zz{{{{{{{z{{{z{{{z{{|{{zzzzzz{z{{|{{{{zzzyy{zz{{{y{yzzzzyzyyzyzzzzzzy{zyyzyyzyzzzzzz{{zzzzz{zzz{zyz{zzzz{zzzyz{zzzyz{{yzyyyzzzzy{yzzyzzyyxzyyyz{z{{{zyzz{yyzyzzzzzzzzzyzyyxyzyzyz{y{zzyzzzyzxy{zyzzzzzzyzzyzyyzzzyzzyzxzzzzyzyzzyz{zzzzyyyzyyyzzzzzzz{zzyyzzzyzzzzzzzzyyzzzzyzzz{zzzzzzyzzyyzy{zzzz{{zyz{zzyzzzy{{zzz{z{{zyzyz{z{{z{{z{zzzzyzzzzz{zzyzyzzzz{zyz{{zzz{zzzyzzzyz{z{zz|zzzyyz{zzzz{{|{{|zyzy{{zzzz{{{{{|{{zz{zzzy{|||{{{z{{zz{{zz{{{{|{{{zz{zz{zz{z||{|{|{zzz{zzzz{z{z{{{zzz{{{zz{{{z{|{{zz{{z{z{zz{{z{{{{{yzzyy{zz{{||{|zz{yzz{z{z{{{z|{yzyz{yzyz{z{{{{{yzzyyzzzzyz{{{{zy{yyzyyyzz|zzz{zyzzzyzyzzzzz{z|{zzyzzyzz{{zz{z{zyyyyzyyy{|{zzzzzzzzyyzyy{zzy{z{zzzzzzzzyy{zzz{|zzyzyzyyy{z{zzzyzzzzzzyzzzz{{zzzzyzyyyyzzzz{{zz{yzyyzyzyz{zzzz{z{zyzyyzyy{{zz{z{{zyzzyxzzyzzyz{zzzzzzzzzyyzz{{{z{zzzyzyyxzzy{z{{zzzzyzzzz{zzzz{zzzz{zyzzzz{{z{{{{{zzyyzzzz{{{|{{{zzzzzzzxz{z{z{{zz{{yy{yzz{|z{{{z{yz{zzz|z{{{{{zzz{z{z{zz{{z|{{{{z{zzzzzz{{{{|{{{{{zzy{zz{{{z{{{{{zz{{{{zz{{{z{{{|{{{zzzz{{{{|{|{|{{zzz|{{{z{{{{|{z{z{{{{{||{|{|{|z{y{{zzz{{z{{{z{zzz{{zz{{z{{{{|zzzzz{zzz{{|{{{|zzzzzzzz{{z{{{{{zzzyyzzz{z{{{zzzyyzzyzzyzz{y{{{{z{yyzyzx{zz{z{z{zz{yyzzyzy{zz{z{zzzzyzyyz|zzzy{{zyzyyy{xzz{zz{z{zyzyzzyz{z{{zz{zyzzy{yyyzzzyz{z{zyzyyyzxzzyzzz{zyyyyzyyzx{zzzzzzzzzy{yzyzzzz|z{zzzyzzyzyz{zzzzzzzzyzyyzyyzzzy{zzzzzyyyzz{zzzzz{zzyzzzzzyzzz{z{|{zyz{zzz{zz{zzz{zzz{yzyzyzz{{zz{zz{zzzyzz{z{z{z{{zzzzzyzzzzz{{{z{zz{zz{yzz{|z{{{{zyyz{{{z{{{z{|{{zzzyz{yz{{z{{{{{zzyyzz{z|{{{z{||z{{{z{zz{{zz||{{{zzz{zz{{|{{{{|{{|{zz{{zz{z{{|{{{zyzz{{z{{{{{{{z{zz{{z{zzz{{z|{{{{yzzzzz{{z{{{{|{{z{{{z{{{{{{|{zzyyzzyz{{{{{{z{|{zzzz{zz{{y{z{{{zz{zzyz{y{{zz{{zz{yzzzyzz{{{{z{|yzyyzxyy{yzz{z{zzzyyzzyzzzyzyz|{yyzzy{zzzz{{zzz{{z{xy{zyzzzzzzzzzzzyzyzzzzyzzzzzyyzyz{zyzz{yy{zzzzzxzzzy{zzzyzz{zyzyyzzyyzzz{{|zzzzyyyyzzzzzzz{zzzzyyzzyzzzzy{z{yzzyyzzyyy{zz{yzyzzyzyzyzzzyz{zzzyzzzzzyzzzzzzz{{zyyzz{yz{z{{zz{zzzzyy{{{zz{{z|{zzzyzzzzz{{{{zz{zz{z{zzyz{z{{{|{zz{zzzzzzzzzz{|{zyzzz{zzz{zzz{{zzz{zz{{zzz|||z{{zzzz{z{{{|{{z|z|zyzz{zzzz{z{{{|{{z{{z{zzz||{z||z{{{zzzzz{{z{{|z|{zzz{{zzy|{{{|{|zz{{{{{{|{|{{|{{zz{{z{z{|z{z{{{{{z{{{{yz|{|{{{{|{yzz|{z{z{{z{{|{zzz{zzz{zzzzzzzzy{zzzyyzz{|{{zzzzzzz{zzzzz{zzz{{zyzzzyyyzzzz{z|{yzzyzzyz{z{zz{{{zyyzzzyz{{z{zz{zyyzyyzzzzzy{{zz{y{zzzzzy{{y{zzzzzzyyyzyz{zzzz{z{zzyyzzyzzzzzzz{zzyzyxyyzyzz{z{z{zzzzzzyyyzzz{zzzzzzzyyyz{{zzzz{{yzyzzyyyzz{{z{{{yz{yyzzzz{zzz{zzyy{zzzzyzzzz{{zzyzyyz{yxzzzzz{{{zzz{zyzz{zz{zz{{zzzzzzzzz{z{{{{zz{zzzzzzz{{{{{zyzzzzzz{zzz|z{z{{{y{zzzzzz{zz{{zz{{zz{{zz{{{{|{{|zz{{{{{{{{z{z{{|{{{{z{z{{z{{{|{{{zz{{zz{z{|{{|{zzz{z{zzzy{|{{|{{|{{{zz{{z{|{||{|{zzz{{{{|{{{{|{z|zz{|{z{z{{{{{|||{zz{z{{{zz{{{{{z{zzz{zzz{zzz||{{{zzzzzz{{z{{{{{{zzzy{zzzz{{{{z{zzyyzyyyz{{yzz|zzzzyzzzzzzyzzz{zzzzzyyyy{zz{z{{zzyzyyzzzzzzzzzz{{yzzxyyyz{z{zzz{yzyzyxzyyzzyzyzzyyyzzyyzzz{zy{zzz{zyyyyyzzz{zz{zzzzzzzyzzz{zzzzyyzyzyyyy{z{y{zzzzzzzyzyyyzzzz{z{zzzz{zyyyz{z{z{zzzzyyxyzzz{{yz{{zzzzyzzyzzzz{{z{zzyy{yzzzzzz{{{{zyzzyzyzzz{{{{z{zyzzzzyz{zyzzzzz{zzzyzzzz{{{yzz{zzzyz{{zz{{zz{{z{zzzzzz{{{zzz{z|zz{y{yyzz{zz{{{{y{{yz{{zz{z{z{|{yzzzzz{yz{{{{{{zz{zz{zzyz{{{{{{|{zz{{{zzyzzz{{{{|zzzz|zzz{{|{{{{{z{z{z{{z{|{z||{zz{zzzzzz{{{{{{|{{{z{{z{z{{z||{{yzzz{zz{{{{{{{{{{{z{zz{zz{{z{z{{zyzy{zzzz{{zyzzy{z{zzzyyz{{zzz{zzyyyyyyzzz{zz{z{zz{zzy{yzzz{{|{{zzyyxyzzz{z{{y{zzzz{yzzyzyz{z{y{yzyzzyzzy{zyz|{zzyzyyyyy{z{{zyzyzyzzxyyyzz{{yz{zzzzzzyzyzzyz{zz|zzyyzyyy{zz{{zz{zzzyzzyyz{yz{{zz{z{yzzzy{zyzz{z{zzzyzyyyzzyzz{z{zyzyzyzyzzzz{|zzzzzzzzzz{zz{z{{z{yzzzyzz{zzzz{z|zzzzzzzxz{{z{{{{zzzyyxzyzzz{z{zz{y{zyzy{{{zz{{|{z{yzz{zz{{{{{{{{zzyz{zzzzz{{{{z{z{zy{z{yzz{{z{|{{z{zz{zz{{{{{{{{{zzz{zzz{|{|{||{{zzz{{{{{|{{{|{z{{yzzzzzz|{zz{{{{{{{z{{{{{{{{{{{|zzz{{zz{{z{|{z|{z{z|zzz{{z{{|{{zzzz{z{{{{{{{{|{z{zzyzzz{z|{{{{{zz{zzzzz{z{{z{zzzyzzyyyyyzzy{{zzzyyyzyyxzzzzz{{z{zzyzzyyzz{z{z{{{zyz{xzzz{{zz{zzzzzzyyzyz{zyyzz{zyzyyzyzyzzzz{zyyyzyzyyyyzzzz{{{yyzyyzyzzzy{yzzzzzzyzzyzzzz{zzz{zzyzxzyyzz{{zz{yzzyzzzyzzz{{zz{{zzyyzyyzzzzzzzzzzyzyy{zyzzz{{{z{zzzzzzyzz{zz|{zzzzyz{zzzz{z{zz|{zzzyzy{z{{{z{{{|zzzzyzzz{{{zz{{{zz{z{zzz{zz{{{{{{yzzz{z{z{{{{z{{zzzzzy{{zz{z{{{zzzzzzz{z{z||{|{zzz{{zzz{{{z|{{{|{zz{zzzy{{z{z|{{{zzzzz{zz{z{|{|{zzzz{z|z|||{{{{{|zz{{{zz{}{{{{|||y{{zz{zz{z{|||{{{{{zzz{{z{|{|z{{{zy{zz{{{{{|{{|z{zzz{zzz{{{{{|{zzz{zyzz{{z|yzz{zyzyzyzz{zz{|zyzyyyyz{zyyzzzz{zzzyzyyxyz{{zz{|z{yyyzyzzzzyzzzz{{zyzzyyzyyzzzzzz{{{zzzzzzzyzzz{y{zyyzyzzyzyzzz{|yzyyxyxyzyz{zzyzzzzyyzyyz{zzz{zzzzyyxyyzzzz{zx{{zzyzyzyyyzz{yzzzzzyyyzzyzzzz{zz{{{zyzy{zyyz{zz{zzzzyzyyyyzzzz{z{zyyy{y{zy{z{{{z{{yz{zzyzzzzzz{zzzzz{zyyzy{z{{z{{zyzzzz{zz{z{{z{{{z{zzzzzzz{yzz{{z{zzyzzzz{{z{{{|z{zzyzyyzz{{zzz{z{z{z{{{y{{z{z|{{{zzzz|zzz{{{{{{{{z{zzzzz{{z|||{z{zzzzzzz{|{{{{|{z{zzz{zzz{{{{{{{{zzzyy{{{}||z{|{z{{{z{z{{{|{||{{{zz{zzz{{{{|{{{zzyzzz{zzzzz{z{||{{zz{zzzz{z{{z|{{{zyzzzz{|z{{{z{{zzzzz{zzzyz|zzzyzyyzzyyzzzzzyzzzzyyzxyyy{zyz{z{zzyyxyyyzyzz{{zzzzzyzxzzy{{yyzz{yzzyzyyyzzzyyz{{zyzyzzzyyzyzyz{zzyyyyyyxy{zzzyzzyzzyzyyzzyyzyyzyyzzyxyyyyyzzzz{zzzyyyyyyzz{yzzzzyzyzyyzxzzzzyy{zzzyyzyzxyzyzzzz{yyyzyzzyyzzzzzz{zyzzzzyxzzzzz{z{{yyzzy{zzzzzzz{{zyyyzzzyyzz{{z|{yyyzyzyyzz{z{{z{zzzy{yzzyzzzz{z{zz{zyzyyzz{{{z{{{yzzzyzzz|zz{z|zyzz{zzzy{{z{z|{{zy{yzz{zz{{{z{{{zz{zzzzz{|{{z{zzzzzzyzzzzzz{z|{{z{zzz{z{{{{{|{{{zzz{zzzzz{|{|{z{z{z{z{zz{{zzz{{{|zz{zy{z{y{|z|{{{zzy{{zz{{{z{{{{zzzzzz{{{z{zz{{{z{z{zz{yzz{z{{{z{z{zzyzx{z{zy{{zzyyyzzzyy{zz{zzzzzzyzyxzyz{y{{zzzzzyzxyzzzzz{z{yzzzyyzyzzzz{zzzz{zzyyyzyzz{zz{y{yzyyyzzzz{zyz{{zzyyyzxzzz{zyzz{zzzyyyzyyyyzzzzzzyyyzzyyyzz{zz{{zzzyyyyyyz{{{zzz{zzzzyyyyz{{{zzzzzyyxzzyyzz{{y{{{zyzyzyzyyy{{zyz{yyzyz{yzyzzzz{{y{zyyyzzyyz{zy{{z{yzxyyzz{zz{y{zzyzzzzyyzyz{z{z{{{xzz{y{yzy{|{{{z{zzzyzzzz{{zy{{zzyyyy{zz{{zzz|{zz{{zzzzzz{{{z{{{{{y{zyzzzz{{{{{{{zyy{zzzz{{{{{{{{z{zzz{z|{{{{|{|{zzyzy{|{{{zz{|{{z{{y{zy{{z{{{{|{{zzzzy{{{{|{{{|{zzzz{yz{z{{{{{{{zz{zzyz{z{{z{{{{{{yzzzzz{{{z{z{z{{z{yz{z{{{z{{{zz{zzzzz{{{zz{|zzzzzzyzzy{{zzz{{zzzxzyyyyzzzz{zzzzyyzzzzzzxyzzz{zzzyzzyyzyy{zz{{{zzyyzyyzz{zz{{{zzzyzyzyz{z{zz{zzy{yzyyyzzzzyyzzzyzxxzzzzyzzzzzzzzxyyyyyyzzz{z{zzzzyyyxzyzzyzzzzyyzzyzzxxyy{zzzzzzyyyzzyzzz{zz{{zzzyzzyyzzyy{{{zzzzyzyzzzyz{zzzz{zyyyyyyzzzzz{zzzy{yzzzyz{z{z{{{yzzzyyzyz|{zzz{zzyz{{zzyz{{zz{{{zzyzzz{yzz{zzz{y{yzzzyyzz{{zz{|{zy{yz{z{z{z{{{{zz{{z{zz{{{z{z{|{z{y{zyzyz{{{|{|{{zz{{zzzz{{{z{z|{zyzzzz{{{z|zz||zz{z{{zxz|{{{||{{z{{{{{{{{{{{{{{{zzz{z{{z{{{|z{{z{yz{{{{{z|{{{z{z{z{zz{{z{{|{{{{{zzzz{zz{{z{zz{{zz{{yyzz{{{z{z{zzyyyzyzyy{{yzz{z{zyzyyzyz{z{{{{zzyyyyxzyzzz{zzzzzyyyyyzyyz{zyzzzzzzyyyyy{zzzz{{zyzzzz{zyz{{zzz{yzyzzzzyzzzzz{zz{zxyyyyzzzyzz{z{zzyyzyyyzyzzzz{zzzyzyyzyzyz{z{z{zyzzzzzyyzzzzzzz{zzzyzzzyzy{zz{{{zzyxzyyzyzz{z{zzzzyzzz{yzzz{zzz{zzzyzyzzz{{zz{{{{{{zyzzyzz{z{{z{{zzzyzzzzz{{{z{zzz{zzzz{{zz{{{{zzyzyzzzy{{{z{z|{zzyzzzzz{{{{{z{|z{zz{z{{z{{{{{{{yzzzzz{z{{z{{{zzzzz{{{yz{{{{{|{{{yzz{z{z{z{{{z{{{{zzzz{z{{z{|{{{{z{z{zzz{{{z{z|{{zz{zzyy{{{{z{{z|zz{z{{z{z{{y{{{{{z{{{zz{{{{{{{{zzzzzzz{{{z{{{{z{{{zzyzy{|{{{{{zyz{zz{{zzz{z|{{{zzzzzyyzyzzzzz{zzzzyzyyyzzzzz{z{zy{yzzzxyzzzzz{|zyzzzzz{{{y{zzzyyz{yyzzz{{zyzzy{yyzzzzyyy{z{yzzyzyyyyzyzz{{{zzy{zzzyyzyyyzzzyz{zxyyyzyzyyzzz|z{zyzyzzyxyy{z{z{{zzyzyyyyyzz{{z{{{zyyzyzzyzyz{{{z{yzyyzzzyz{z{zzzz|z{zyyzyzz{zzzzzzyzzyzzy{zyzzyz{{zzzyzzzzz{{zz{zyyzzzzzzzz{z{zzzyzzzzzzyy{{{zz{{{zzzzzzzzzz{{z|{zzyzzz{{{{{z{{|{|zzy{zz{z{{{{|{{zzz{{z{{|zz|{|{|zzy{zzzzz{|{{{{z{zz{{zz{{{{{{{|{{zz{z{{z{{zy{{z{{yzzzzzz{{{{|{{|zyz{z{z{z{{|{{||{z{z{yzz{{|zzz{{{zzzzzz{zz{|{{{{{zzyz{zzz{z{z{{{|zzzyzz{z{{z{|z{zzyzzyyzzz{z{{zzzyyzzyyyzzzzzz{{zzyyzyyyzz{{{zzzzzyzyzyy{y{z{zzzzyzyyzyzz{{{y{{zzyzzyzyyzz{y{zz{yyzyzyzzzzzz{{zyzzyyzyzyy{z{z{z{zzzxyyyzz{zzz{zzzyyzyy{yzzzzz{zzzyyzyxyyzz{zz{z{yyyzyzzyz{zzzy{{{yzzxz{yyzzzyzz{{zzzzy{zy{z{z{z{zyz{yyy{zz{z{{z{yy{zzzyyz{{z{z{{{zzyyzzyz{zz{{z{z{zyzzzyzz{y{{{zz{zzzyzyy{{zz|z{yzzzzzzy{z{z{z|z{zz{zzzz{{{z{y{{zzzzz{zzz||{{{|zzyzzzz{z|{z{z{{{z{zz{{yz{{{{zz{{zzz{zz{{{{|zy||z{{zzzz{z{|z{{|{{{zy{yzz{{|{{|{z|{z{yzzzz{z{||{z{z{{z{zzz{{{{|{{|{{{zzzz{{{{{{{{{{{yzzz{z{|zz{{|{{zy{zy{zz||{z{z{zzzzzz{yzz{zz{z{y|zzyzyyzz{z{z{{{zzzzzyz{{zz{zzzyyzyyy{z{zz{{zz{{zz{yyyx{zz{zzzzyyzzzyzyy{zzz{{{yyzyzzzyzzz{y{zzy{y{zzzzzzzzzz{zzyzxzzyzyyzzzz{{y{yzzz{yz{zzzz{zzzxzyzzzzzzzzz{zzzzzy{zzz{z{z{{z{yzyyyzyz{zz{{{{zyzzzzyyzzzzzzzzzyzzz{yz{{{{zz{{{yyzzx{z{zz{z{z{zzzz{y{yzz{zzz{{zz{{yzzz{{z{z{{{zz{zyz{z{{zzz{z{zz{zzyzyz{|{z|{zyyzz{zzy{z{zy{|{{zz{zzzz{|{{{{{{z{z{{{{}{{z{{{|{{zz{zy{zz|{|{{{{{yzyzz{z{|z{{{|y{{zz{|{z{|zz{{{{|zz{zzzz{|{{|z|||{|zzz{z{{{|{{|{zz{zz{zz{z{||{{|z{z{{zzyz{{{{{{{zzzz{zyzzz{{|{{{{zzzzzzz{z{|{{{z{zyzzyzyz{zz{{z{zzyzzyyzyzzzxzz{zzzyzyyzz{{z{zz|zzyxzzyzz{zyy{zzzzzyzyzyzzz{zzzz{zzxzyzyyzzz{zz{yyzyzyzzzzzy{{zzzyz{xyyzzzzzz{zyzy{yyzyzzyzzzz{zzzyyzyzzzyzyzz{zzxzzxzyyzzzzz{{zzyzyyyzzzz{zzz{{zyzyzyyyzz{yzz{zz{zzyyyxyz{zzzzzyzzzyyzz{z{{{zz{zzzyzxzy{z{z{z{{z{zzzyzzzzz{zzzzzzzyyy{zzzzz{{z{zzzz{yyz|{zz{zzzzzzyzzzzzzzz{{zz{{zzy{{z|{|{z{{zzy{y{zzzzzzz|{z{z{zyzy{{z{z{{{||{zzz{{zy{{z{{{{{zyzzzyy{{{zz{z{{{{zzz{{zz{y{{|{{{yzzyzyz{|z|}{{{zz{{zzz{{{z{||{{zzzzz{yz{{{{{{{{{zzz{zzz{{{||{{zzzyzyz{zz{z{|z|zzz{yzxzyy{{z{z{zzyzyzzz{zz{zzzzyzyxxyyzzyz{zyy{z{yyyzzyzy{zzz{{zzzzyyyzyy{{z{{|zzzzzzyxyzzzzyzz{yzyyzz{zzz{zzzz{yyyzzyyzyzzzy{zzzyzyyyyzyyzyz{z{yzzzyzyyzz{zzz|zzyzyyyyyyzzzzz{zzzzyyzyyyz{zzzzyzzyzyzyyzyzz{zzzzyzz{yyyyzzyy{{{yzzyzyyzyzzzz{{zzzzyzyzxzz{zzzz{yzyy{yzzz{zzzyz{yyzzyzzzzz{{yz{{xz{yzzz{zzz{{{zzzzzzzzzz{z{{{z{{|zzzz{{yz{{{zz{zzzzzzyz{zzzz{{|{|zzzzzzz{{{{{z{zzzzzzz{{{{z{z|z{{{{zz{z{{{{z{{{{zzzz{z{z{{{z{{|zzz{zzz{z{{{|{{{{z{zzz{zz{||{{{|{{zzzzz{{{|z{{z|{{zzy{zz{{{zzz{|{{{y{{zz{{{{{{{|{{zzzzy{zz{z{{{{{zz|zyzzzzy{{z{{zzzzyzyyy{{{zzzy{yzzyzzyyzzzzzzyzyzzyzyyzzzy{{z{z{zyyyzzyzzzzzz{{zzzyzzyzyz{{{z{zz{zy{yyyzzzzzz{zzzyyzyyyzzzy{zzz{yzyyyyyzzzzyyyyyyzyzyxyzyzzyzz{zzyyzyzyzy{{zzy{zyyyyzyyz{zz{zzzzyzzyzzyzyzzzyzyzyzzyyzyyzy{zzzzyzzzyzyyyzzzzz{{z{yzzzyyyzzzy{{zz{yy{yzxz{{zzzzyzyyyzyzyzzzzz{z{zzyyzz{zzz{zz{|zyzzyzyzzz{z{z{zzzz{yzzzzzz{{{z|zzyy{yyzzzzzzz{{{{zz{z{zz{zz{{z{zzz{zzz{{zz{{{{{{{zzzyzyz{|z{z{z{zz{zz{{z{{{{{{{{z{z{{zzz{{{{{{{|{zz{z{z{{{{{{|{|{y{zzzzz{{{{{{{{{zz{{{{z{{{z|z|z{{zy{{z{z{z{z|zzzzzyyzzzz{{{z{{|{zz{zzyzz{{{zz{{zyz{z{z{z{{y{zzzyzyzzzyyyz{zz|z{zyyzyzyyzz{zz{z{yzyyzyzzyzz{zzzz{yzzyzzyzzz{y{{zyyyyzyzyzzyzz{{zyzyzyzyzzy{{zzzzzyz{yyyyyzzz{zyzzzzyzyyyzzzzzzzzyzzyzzyyyzzzz{zzzzzzxyyzzz{{zzzz{zzzyzzzzzz{zz{zzzzyyzyxz{zzz{z{zyzyyzzzyzzzzzz{zyyyyzzy{zyz{{{{zzzyzy{yz{zzzz{{zyzzzzzz{z{zzz{{zyzzyyzzz{{y{{{{zzyzzzzzzzz{|z{{zzzzzzyz{|z{y|{z{zzzzzzzz{}{y{|{{zzz{{z{{{||{z|zzzzz{zzz{zz{{|{{zyzzyzzz{|{{z{{{{y{z{zzy{{|{{{{{{{zzzzz{{{{|{{{{{z{z{{{{{{{{{{||{{{z{zzz{z{{{{zz{zz{z{y{{{{{{{{|{zz{z{z|{z|{||{|{zzy{zzzzz{z{{{{{{zzzz{z{{{{z{{zz{zzzzzz{{{{zzzyzyyzzyyyxz{yyzzzzyzxzzzyyzzzzzyzyzzyzzyyyzz{yzz{zzyzyzzzyzzzzzz{zzyyyyyy{yzyzzz{yyzyxzyyzzzzzz{yyzyxyzyyzzzyzyzzyyyyxyyzyz{zy{zzyzyyzyyyz{zzzz{zzxyyyzyyyz{{zzz{yzzyyyyxy{{zyzzzyyzzyzzxzyzyzzz{zzzyyzyyyyyzz{z{zyzyyzzyyzzz{z{z{yyzzzzyz{yzyzz{zzzzyyzyz{{zzzz{zzzyyz{zzzzyz{z{zy{zzxzzyz{z{{{{zzzzzzyyz{{zzz{zz{zzzyzyzzzz{zz{zxzzyy{z{zz{{{z{zyyzyz{zzzz{z{{{{zyzzzzz{z{{zzz{{zzzzy{z{|{z{zz{{zzzzz{{{zzz{z{{|zz{z{zzz{{{{z{|{z{{zzz{{|{{z{{{{z{zzzz{z{{{z{{{{zz{{zzy|{{{{z{|zzzyzzyz{{{{z{z{{yzzyzzy{z{{{{{z{z{yzzyy{z{{zzyzyyyzzyzyzz{zyz{zyyyyyyyzyzz{zzzzzyzzzyyyzzzyyz{yzyzyyxyzzyzzy{{zyzzyyzyx{zzzzyz{zzzyxyzyy{zzyz{yzxyyyyyyzz{zzzyzzyzyyzyyyzyzzzzzyyyyxzyzzzzzzzzzzzyyyyyyyzzzyzzzyzzzxzyyzzz{zz{{yyxyyxyzzzzzzzzzzzzyyyyzxzzyz{y|zyyyyzyyzzyyz{{zzyzyzxyzzz{zy{{{zyzyyzzy{zzzz{z{zzyzzzyzzz{z{zz{zzzzzxyz{zzy{{zzzzzzzzzzy{z{z{zzzzzyzzzyz{zyz{zzzzzzyzy{{|{{{{{{z{zyy{zzz|{{{{||{zyzzzzz{{{zzz{|{yzyzzzzz{{zz{{{zz{z{z{z{{{y{{{{{{zzzzz{z|{|{z{|{zzzzzzz{{z{{{{zzzyy{{{zz{{{{z{z{zzzzyzz{{{|{{{{{zyzzz{zz{z{z{|zz{zzzzyzz{{{z{zyyzzzyzzzzz{{{z{{zyzzyzzzy{{yzyzzyzzyyyyyzzzzzzzzzyzzzzyyzz{z{{{{zzy{zzzyzz{{zy{{yz{z{x{yzz{{{zz{zyyyzy{zyz{zz{{zzzzyyzyyzzzzyzzzyyzzzzyzzzzyz{{yzzyzyyzyzz|zzyzzzzyyyzxzzyzz{yyzzzzyy{yzz{zz{zzzzzzyzzzzzyzzz{{{xyzyyyyyyzzzzzzzzzzzzyyyzzz{{z|zz{zyzzyzzzzzz{{{yzzyzzzy{zz{{zz{zyzzy{zzzzz{{{{z{{{zzzzy{z{{z{zzzyzz{yyy{{{{z{z{zyyzzzzz{{|zz{zzz{zz{zz{z{zz|{|{zzzy{zzz{{|{z{{{z{{{{zyy{z|zzz{z|z{z{zzz{{{{{{{|{z{zzz{|z|{z{{{{{zzzzzzy{{{{{{{{zz{zzzz{zzz{{z{{{yz{zzzzz{{{{{|{{{yz{zzz{{{{{{{|z{|{z{y{z{{{{{{|{{zzzzzz{{{{{{{zzzzzz{zy{|{{z{{yyzyzyzyyzzyyyzzzzzyxyzzz{zzzz{{{z{zzzzzyzzzyzzz{zzzyyzzz{{zzyz{zyzzyyyyyzzz{zzz{zyyzzzzyz{zz{yzzzyyyzzyz{y{zy{zzzzzzyzzyzyz{zz{{zzyyyxzyzzz{zzzzzyyzyzzz{zzzzyzzzzyyyyyzzzy{zz{zzyzyyzyyyzyyz{zzyyyyzyyzyzz{z{{zzzyyzzzyzz{z{zzzzzzyzyzzy{zz{{z{zzz{yzzzzz{zzzzzzy|yzyzzz{zzzz{zzyzyzz{zz{{z{{zzzzzz{z{y{{{|{z{z{zz{zyzyz{|{{{{y{zzyzzz{{{{{{{{zzzzz{z{zy|y|{z{{{zzzzyzzzzz{{{{{{zyzyzzz|{{{{z{|zzzzz{{z{{{|z{z{z{z{xz{z||{|{{{{{{{{{zz{{|{{{|||{{z{{zzzz|z{z||{{zzzzzz{{{z{{{|{{{zzy{zzyzz{{{{{z{zzzzzz{{zz{{{{zzzyzz{y{z{z{z{zzzzzyzzz{{{zyzz{{zy{yxz{zz{{{{{{zz{yy{yy{y|z{z{zyzzzyyyyzzz{z{{{{z{yyz{zzy{{z{z{{z{zzzzzzzzz{z{{zy{zyyzyzz{{{{yzzzy{yyyzyzzzzz{{zyyyyzyzzzzzz{{z{zyyyyyzz{zzzzz{zzzyyzzyz{y|zz{{zyyzyzyyzz{z{zz{zyzyzyzzzzzyz{{zzzzz{zzyzz|z{y{zzzzy{zzz{{{zy{{{zzzzzy{z{{z{{{{z{zzzyzyzzzz{z{|{{y{{zzzyz{{z{{{{zzz{yzzzz{{{{{{{z{zz{yzz{{|{{{z|{zzz{z{zz{{{{|{{{y{yzz{z|{z{z{{|zz{zzyzzz{|z{z{|{{zz{z{z{{{{z|{{{z{yz{{z{|{z{|{{|yzzz{{{z{{zz|{{{z{z{{{{{{{{|{{{{z{zzz{{{{{{zy{{zzz{{{z|z{{{{|z|zz|{z{{{{{z{z{{{{{y{zz{z{{{|{{{{z{{z{{yy{{{zzzzz{zzzzyzyy{{{yzzz{yzyzyyyyzzz{z{zzzzyzyzy{zzzz{{zzyyzyyzz{zz{yzz{zyyyyyzy{z{zzz{{yyzzzz{yzzz{yz{zyyzyzyyyy{z{yzzzzyzzzzyy{{zzzz{zyzyyzyzyzzzyzz{zzyzzyxyyzzz{{z{{zyzzzyyzzyzzzz|zzzzyzyzzzzzzzz{{zyyyzyzyyyzzz{z{{yzyzzzyzzzzyz{{zz{zyyyyz{yzz{{zzyzz{yzzz{zz{{z{zz{zyzzz{{{{z{{zzyzz{yzzzzzz{zz{zzyz{yzzzzzzz|{zyyz{zyzz{z{zz{{{{zzyz{{yzz{{{{{{zz{z{z{{z{{|z{||zzzz{zzzz{y{|{|{|zyzz{yz{{{{{{{zzz|{z{{y{z{|{{{{{z{zz{{{z}z{{|{{z{zz{zzz{{{{{{z{{z{y{{{zz{z{{z{|{zzz{yzz{{{{{{{{zz{zzzzzzzzz{{|z|zyyzz{zy{z}{{{{y{zz{zzzz{zz{zzzzyyyzx{y{z|yzz{{zzyyyyyzzzzzz{z{zzzzyzzyzy{y{{{{zyzyyyxyzyzzzz|{yyyyyzzyzzzy{{x{zzyyyzzyz{xyzzzzzyzyyyyxzz{zzzzzzxzyzzyzzz{zyzyzyyzyyxyz{yzzzz{yyyyyyzzzzzzz{{z{zzzyyzyyzzzzzz{zzyz|yyyzyyzyzzz{zyyzyzyyzzzyz{zz{zzyzzyzy{{z{yy{zzzyzyzzz{{{yz{{zyzzzzz{zyzzz{{{z{{zzzyy{{zz{z{zzzzzzyyy{z{{z{{zzyzzz{yzz{z{{z{z{zyzzz{zzz{zz{zz{y{z{{z{zzz{|{{{{{yzzz{y|{{{z{{{zz{zzzyyz{{{z{|z{zzz{yzzz||z{z|{zzzzzz{z{{{z|{||z{z{z{{zz|{{{{{z{zzzz{z|{{{|z{{{zzzz{zzz{{z{{{{|{{z{zzzzz{z{|{||zyzzyyzyzzz{{|{{z{zz{yyzzzz{{{{zz{{yzzzzz{{z{zzyyzzz{yzyy{zyzzzzyyyzzyyz{zz{{z{zzzyxyzzy{z{zzzzz{zzzzzyyyzz{z{z{zzyxyyyyzyzzzzyyzyzyzzzyzzzyzz{z{yzyzzzyzy{zz{zzzyzyzyyzzzzz{{{zzxzyzzzzzyz{zzzy{yyzxzyyzz{zzz{zyyzzyzyy{{{{y{{{zyxzzzzzzyzzzzz{zzzzzxzy{{yzyzzzyz{zyzyyzyzz{y{yzzzyyyzzz{{yzz{{zyzzyzzz{z{{zz{zzzzyzzyzz{{{{z|{{zz{yxzzz{z{{{{zzzzz{yyyzz{zzz{zzzy{zzzz{{{zz{{zzy{z{zzz{{{|{z{{zzzz{z{z{z{z{zz{{zzzzzzy{{|{{z|z{{{z{{{z{z{z{{{|zz{zyz{{{|z{{z{z{z{{zz{y{|{{{{||{z{{{{zz{{z{{{{{{zzzzzz{{{{z{{{}{{yz{zzz{z{{{|{{zz{zzz|zz{z{zz|{|zzyzzzzzzz{z{{zz{zzyy{zy{{zy{y{zzyyyzzzyzzzz{z{zzzzxyyzzzyz{{{zzzzzyzzxzzyyz{z{{yzzyyyxyy{zzz{zzzyyzyyyzz{zzzzzzyyyyyzzy{yzyzzz{yyzzyxzzz{zzzz{yyyxxzzyyzzzzzz{yzxyyzyyy{z{y{{zzyyzxzzyzzyzzz{zzzzzzzxyyzzzzzz{yyyy{yzxyzyzzzz{{xzyyyyyyzyyy{{zyzzy{zxyz{{|{{{zzyyyzyzyz{zzzzz|zzyzyyyz{zzzzzz{zyz{zyzzzz{{{{|zyzzzyyzzz{{zz{|zyzz{zyzyzz{zzzz{yzzzzyzzz{{{z{{zz{zzzzyy{z{{{{{{z{{|zzzz{{{{{{{z{{zy{zzyy{{{zz|{|{zzzzz{{{{{{{{{{z{z{{zz{{{{{{||zz{zz{zzz{{{{{|{{yzzzyzy|{{{zz{{{{zz{{z{{{z{{zzz{y{{zzz{{z{zzz{{yz{zzzzzz{{|{{{{{{zzzzzzzzz{yzzzy{zyzyyyz{{zzz{z{z{zyzzzy{zzzzzyzzyzzyzy{zzzy{{zyzyzzzzyzzy{{{{y{yyzzyzyzzzz{yz{yz{yyyyzzyzzzz{{zyyyzzzzy{zzzzzzyzzyyyyxzzzzzy{zyzyyyyyyzxzzzzz{zyyzzyzyzzzzzzyzyyyyz{yyyyzzzzzzzyzyzyyyzzzzz{z{zzyxzyzyyzzy{z{zzyzyxzzyyzzzyz{zyzyzyyzyzzzz{z{zzzyyyyyyzzzzzz{{zzyz{zyy{z{zzzy{zyzyyzz{z{{{zz{zzzzzzxzyzzz{z{z{zzzzyzyy{z|{zz{zzzyzz{zz{{z{{zzzzzzz{yz{{{{{{z{|zz{yzzzyzzz{zz{{{z{zzzzzzzz{{z{{{zzzzy{z{|zz{|||zzz{z{zz{z{{{{||{zz{z{z{z|{{z|{{zyz{zz{{{{|{{|{{{{{{zyz{zz{{{z}{|{zzzzz{{{|{|{{{z{zz{z{z{{z{|{|{{yzzzzy{zz|{z{zzzz{yzyyz{zz{{{{zzzzzyyzz{z|zzz{zyyyzzyyyzz{z{{z{zzzyyyyyzyzzzzyzyyy{zyzyz{zzyzzzzzzxyyzzzzyzz{zzyyzzyyzyyzzyy{{{zzzyzyxyz{z{z{yzyyzxyyyyzyzzzyz{zyzyzzzzzz{zzzzzzzzzyyyyzz{zzzzzyzzyyyzyyzzzy{zzzyzzzyzzzzyzy{zzzzzzzyzyyzyyzzzzyzzyyzyx{zz{zzz{zyyyyzzyyz{z{z{{{yzzzzzzzzzzzzz{y{yy{yzyzz{{z{z{zz{{zzyyzz{z{{{{yyzzzyzy{{y{zz{{zyz{zzyz{z||{y{zzyzzzzzy{y|{{{zzzyyz{zzz{{{{{{{zzzzz{zyz{{{{{{{z{zz{{zzy{{z{{z{{zzyzz{{zy{z{z{{{{{zzz{zzz}{{z{{{{z{zyzzz{{{z{z{{zzz{zzz{z{zz{{||y{z{{zzzz{|||{{z{zzyzzzz{{{zz{{{z{zyzzzz{{z{{z{{zyzyzzzzzy{z{z{zyzxyyyzyz{zyyyzzzzyyyyyyz{yz{z{{{zzyzzzyyzzzzzz{yyyyyzzzzzzzyzz{zyzyzyzyzzyzzzyzzyzyzyyzy{yyz{zzyzzyzyyzzz{zz{zyzzyyzzyzyzyzzyzzzyzyyyzzzzzzz{zyzzxzyzyyzzyzyzz{zyzyyyzyzzyzzzz{{zyyyyyyzzzz{yzz{yzzzyzyyzyyyzzzzy{zzzyyz{zzzzzzzyzyyy{{yzzzzzzzzzzyzxyyzzzz{{z|yyyzzzzyzz{{{{{{zzzzzzyzy{{{{{z{zzyzyyyzz{{zz{z{zyyzyzzy{{z{|y{zyzzz{zyzz{{{{{{z{{{zzz{zz{zzz{zzzyzzzzz{z{zz|{{z{zzzzzzzz{{{{{{zzzzyyz|yz{z{{{z{{z{yz{{zz{{{{z|{{zz{{z{z{zy{{|{z{z{zzzy{z{|{zz||{zzyyzyz{{{{z{z{zyzzzzz{z{zzzy|z{zzzzzzy{zzzzz|zzzzyzyzy{{zzzz{zzzzyzyyyz{zz{zzzzzyzyyyy{y{{z{z{z|zyzzyy{yzz{{zzzy{yzzzyz{z{zy{zzyzzxyzyzz{zzzz{zzzyzzyzzzzzz{zz{y{zyyyzz{zzyzzyzzyy{zyzzzzyzzzzyzzzyzyzzz{zz{zzyyzyyyyyzzz{{z{{zy{yyyzyz{{zz{z{zzyzzzzxyzz{{zzzzzyy{yzzy{{zzz{{zyzzzzy{{zzzzz{zzzzz{yzz{{zzzz{{zzzzyyz{zzz{z{|zyz{zyyyyz{zzz{zz{yzzzzyzz{z{{zzzzyzyy{zzzzz{{{{zzyz{zzzz{zzzzzz{zz{zzyzy{{{{{{{{zz|z{z{{z{{|{{{{{{yzzzzy{z{{{z{{|zz{zzz{{{{z{|{|z{{zz{{zz{{{{{{{{zyyz{{zz|{|{{{{|{{{zzz{|{{|{{{{zzzyyzzzz{{z{{z|{{{{|yzz{{{|{|{{z{{y{{zzz{{{|{{{{z{zyyz{{z|z{z|zyz{zyzzyz{z|z{yzy{yyyzzyzzyz|{yzzyyy{yyzzzyzzzzzzzzyzzzzyzzz{zzzzyyzzzzy{{y{yzzzzyzzyzzxzyzzz{z{yy{yyyyyzz{zzzyzzyyzzyxyzzzyz{zzzzyzyzzyzyyzzzzyyy{yyyyzz{{zzzzzzyyyyyzyz{{{yzzzzyzzyzyyyz{y{zz{zyyzyxyyzzzyzzzzz{zzyyyyzzzzy{zyzyzz{zyzyzzzzyz|zyyyzyzyzz{zzzz{yzzyyzzzzzz{{{z{zyzzyzyzzzzz{z{|zyzzzzyzy{zz{{{{zzz{zzzy{|y{z{z{zzzzzzz{zzzz{yzz{zzzzzyzz|{{z{z{{{yz{zzz{{{|z{{{zzyzzzzy{{{{{{{{{zzzzzz{||{{z{{|z{zzzz{zz{{{{{{{zzzzy{zz|{||z{{|{y{{z{{zzz{zz{{{{zzzzzzz{{{zz{}{z{zzz{z{{{z{z{z{{{zzzzz{{|{{{{{z{zzzyzzzz|{{{{z{{zyzyzyyzz{{{{yzyzyxzyyyz{zzz{z{yzyyyzyy{{z{z{z{zyyyzyzyzzz{{z{zzzzzxyyyzz{zzy|zzzzxyzzy{zzzz{{{zzyyzzzyzzzy{z{yzzyyzzyzzz{zzz{{zy{yzyzyzzz{y{{zyzyzyzyyy{zzyyzzzyyyxzxzzz{zzz{zzyz{zzyzzz{|zz{{yzyzyyzyyzzzz{zzzyyyyyzzzzyzzzy{yy{{yzyzzz{z{zz{zyzzzyzzz{zz{{{{yzzyyzzzyz{{zz{z{{yzyz{z{{{{zzzzzzzzzzzzy{{z{z{zzyzzzzyy{{{zzy{{{yyz{yzz{|{zz{z{{zzyzzzzzzz|{{{{zzzzz{yzz{{{{{{|{z{yz{zz{z||{{{{zzz{zzzzz{{z{|{{{zzzy{{{z{{{{{{{{zz{zz{z{||{|{|{z{zz{z{|{{z|{{{{z{z{zy{y{z{{zz{{{zz{{z{z{{{{{|z{{{zzzyzz{{zz{{{{{|zzzzzy{|z{{{zz{zyyzzzz{y{{{zyzzxzyzyzzzzzzyzzzzzzyyyyzzyzzz{zz{zyyyyzzzz{zz{{yyyzyzyyyyzzyyzz{zzyxyy{yz{{zyz{|zyyzyyzyyyzzyz{zzzyzzzzx{yyzzzzzzzzxyzyyzzzz{zzzzyyyzxyyzz{z{y{zzzzyyyyzyz{yzzzyzyyzzyyyyz{z{zz{zzyyyyyyyzzzzzzyzzzyyzzyzzzzyzz{{yzzyyzyzzzzz{z{{yyy{zy{z{{z{{{|yzzzyzzyz{z{{{{{zxzyyyzzzzz{{{z{z{{{{y{zyzzzy{z{zyzzzzyzz{zy{z|z{z{yzyzzzz|zz|{{{{zzzzzzz{z{{{z{yzzz{z{z{{z{{z|{zzzzzzzy{{{{{||{zzz{{zzy{{zz{{|{zzzz{z|{y{{{{{|{{z{{z{z{{{{{{{{|{{y{zz{zzz{{{z{{{zy{{zyyz{{zz|{{zzz{z{{z{{|{{z{{z{{zyzzzz{{{{{||{{zzzzyzzzzzz{z{zz{{y{yz{zzzzzzzxyyzyyzyyz{zyyzzzzzzzzyyzzzzyzzzyyyyzzyzzzzz{zzz{yzyyyzyy{zzzz{{zzyzzyxyzyzzzz{{yyyyyyyyyzzyzzzzxzzzzyzy{z{yz|{z{z{yyxxxzzzyzz{zyzyyzyzyyzzzzzzzzyzzyyxxyzzy{{yzyzyxyzzzyzyz{zzzzyyzzyzyyzy{z{zzyzzyyyzyyzyzzzzzzyzyyyyzzzzzz{z{zzyzyzzyy{zzyz{z{yzzzxyyzz{{z{{{zzyyyyzzyzyzz{z{{y{yyzzzz{{zz{z{yyzzyzzy{|zzy{{z{zzzzyzzz{zzzzz{zzzzz{y{zzz{{{{{zzyzz{zzzz|z{{{{z{z{zzyxz|{{|z{zyzz{{yz{{{{z|{{z{yzzzzz|{{{z{{{{|zzzzzzzz{z{{{{|{z{{yzzz{{{z{{z|{zzzyzzy{zz{z{{|{zzz{z{z{{{{{{{{zyzyzzzz{z{{zz|{z{z{z{zyz{z|{{{{yz{zyzzzzz{z{zzzzzzyzyxyzzzzzzz{yyzyzzyxzyzzz{z{zyyzzzzzzzyyzzzz{zyyzyzxzz{zyz{{zyzxyzyyyz{zz{zzz{zyzzzxzz{yzzzyyyyyyyzyzzzzy{zzyxyyzyzyyyzzyzz{yyzyyyzy{zzzzz{zzyzyyyyyzyzzzzzzxyyyyyyyyzyzzz{zyyyyzyzzyzzzy{{{zzyyyxyy{zz{{{z{zzyyxzyyzzzzz{{zzyzy{yzyy{zzy{z{zzyzyyzz{zz{{z{zyyzyyzzzz|{{z{zzzy{zzzzyzzzz{{{z{zzyzyzzz{zz{{{z{zzzz{zz{zz{{{zzyzzzzzzzz{z|zzzzzzzzy{z{{zz{z{{{zyzzyzzy{{{{zz{zzyz{zxzz{zzzzz{{{yz{{{{yzzz{{{{{|yz{zzzyz{{{z|{{{z{{yz{z{zzz{|{{{zzzzzzyyzz{{{z{zzzzzzz{{{yzz|{{zzzzzzzzzz{{z{z{{zz{{z{zzzzzzz{{zyzyyyzyy{zz{{zy{zyyzyyyyyzzzzz{yzzyyyzzy{zzzzz{yyyzyyxyzzzzzz{zy{{xyyyyyz{zzz{zyzyyyxyyyzzzzzz{z{zyyyyzyzyzz{{zzxzyzyyyyyzzy{y{yxxyyyyyzyzzyzzzyyyyyyyyzzyyzzzzyzyzyyzyzz{yzzyz{yzzyyxxz{zzzzz{yyyzyyyxxzzyzyzzyyyyyzyyyzyzz{zzzyzzyzxyzz{{zz{zzyzzzyzzyz{zz{y{{zyyyy{{zyzzzzz{yyyyzyyxz{|zzyz{{zy{yyzzzzzz{{zzzyyyzyyzzzzzz{zzzzyzyzyz{z{zyzz{{zzz{zzzzzz{{{{zz{zzyzzzz{z{z{{|{zy{yyyzz{{z{{{z{yz{{{zz|{{z{{{zzzz|{z|{z|z{{{{z{zzzz{z{z{{{z{zz{zz{zzzz{z{zz{{y{z{zzzz{z{y{{{z{{y|zzyzz{zz{{{{|zz{{zyzzz{z{{|{{{zyyyzyz{zzzzz{zzz{yyyzzzz{zzzyyzzyyzzzyz{zyzzz{zyzyyyzxzzyzz{y{zxzyyzyxzzzy|{zzzzzzzyyxzzyzzzzzzyzyyyxyzyzyzzzzyyyyzyzyzz{zyzzy{yzzzxyyzyzyz{zyzxzyyzzy{zyzyzzzxyyyyyxxzzyzzzzyyyyyxyyyyzzyz{zzzyyyyyyyyyz{yz{yzzyyzzyxzyzzzz{zzyyzyyxxz{yzzzy{yyzxy{xyzz{zzzzzzyzyzzzyzzy{{z{zyxzyyzzzzzz{{z{{yzzzxzy{|{{zzzzyyyyzzzzzy{z{z{zyzzyzzyzzzzz{{{{{zzyzyzzy{{zzzz{{zzzzzzyy{{zz{{{{zzzyz{{zzzz{z{{z{zz{zz{y|z{{{||zzyz{zzz{{z{zz{{{{zzyz{zzy{y{{|{{{zz{zzzzz{{{{{|{{zz{y{zz{{{{{{{zzyzzyzyzz{zzz{{{zz{xzzy{{|{|{|z{z{zy{yzyzz{{{z{{z{zzzzyyz{y{zz{zzyzxzyyy{zzyzzzzzyyxzyzzy{zzyzzzzyyyyyyyyz{z{{zzzzyyzzxyzyzzyzzzzzyyzyzyzzzyyy{z{yzxzyzyzzzzyzz{yyzyzyyyy{zyyzzzzzzzyyyyz{zzyzzyyzxyxyy{yyzzzzzzyyyyyyzyzzz{yz{yyyxzyzyz{zzzz{{zzzzyyyyyxzy{yz{yyxzyzyyyy{zyz{zzyyzyyzzyz{yyy{yzxyyyyzzyzz{zzz|zyzzyyy{y{zyzz{{{zyyzyzzzyzzzzz{zzzzzyyyz{z{{z{{zzyyyzyzzzz{{z{zzyyzzzyzy{{zzy{{{{yyzzzzz{{yz{{zzzzyzzyz{z{z|z{zzyzzzz{zz{{z{zz{{zzzzzzzzzzzz{zz{zyyz{zzzy{{z{{{{{z{{z{zzz{{{zz{zzz{{{{zzz||{{{{{zzz{z{zzzz{z{z{{zyy{zzy{{{z{z{{z|zzy{{zzzzz{{z{{zzzzyzyzy|zzz{{zzzz{zyzzz{z{zzz{zzyzzzyzy{zz{zyyzyzyyz{yzzzzyz{zzzyyyyyyzyy{zyzzzzzyzyzxzyyz{zzy{zy{yyyyyzzzyzzyzyzyyzyyzyzzzzyzyyyzzxyyzzzyyzzyzyyyyyyyyzzyyzzyzyzyyyyxyyzzzzzzyzzyyyyyyzzzzz{yyyyyxxyyyzzzzzzzyyzyxzxzz{{zzzz{zzyyyyzzyzzzz{zzzyyyyyyzz{zzyzzzyyyzzyyyzxz{{zzzyzyz{yyz{yzyz{zzzyyzyzzz{zz{zy{{zzyzyyyzzzzz{zzzyyzz{yyyzzzzyz{zzy{yzyyzz{zzzz{zzyzzzyy{y{{{zyyz{z{zzyzyz{zzz{{zyzzzzzzyzzzzz{{{yzzzzzzzz{{z{{{zzyz{zzz{z{z{{{{{z{zzz{{{zzz{{{{{{zz{zzzzz{{{{z{{{yzyz{zz|{{{z|z{zzzzzzyzz{z{|{{{{{yzzzz{{zzzzz{|zzy{yyzyzzz{z{{{z{y{zyzzy{z{zz{{zyyzzzyzzz{yzzzzzzyyyyyyzzzzzzy{yzzyyyxzyyzzz{z|zyzyyyzy{zzyz{zzyz{zyyyyzyzyzzz{zyy{xyzyzzyzy{yzzyzyyyzyzzzyzyzzyyyy{yyyzzzzzzz{zzyxzyzyyy{{z{yzzyyyzzyzzzzzzzzzzyyyyyxzyzzz{zz{yzyzyyzzzzy{zz{zzzyyzyyyyzzz{zz{zyzyyzzzyzz{zzzzyyyyzyzyzz{{z{zz{zyzzyyyy{{yyzzzyyyyzzzyzzzz{zzzzzyyzzzzzzyz{{{zzzzyzyzzz{zzz{{yzzz{zyyy{|{z{z{{zzzzzzzz{{|{{|{{zyzy{{z{z{zzz{{zz{zzyz{z{{z{zz{|zzzyzzyy{z{{{z{z{y{y{z{y{{{z{{{{z{zz{{zz{{z{{{{{{zz{{z{z{|{{z{{{zzzzzzzz{{{{zz{z{zzz{{{{zz{zz{{{{{z{zzzzzz{{|||{zzzy{zzyz{z{z{z{zyyzz{zy{{{zzzzz{zyzzzzy{{{z{{zzzzyzyz{yzzzzzyz{yxyzzyzyzzzzz{z{yyzyyzyzzzzz{z{{yzyzzyxyzzzzzzzz{zzyyzzxzzyzzz{zyzyyzyyyyzzzz|zzzyzyzzxyzzzyyzzzzyzyzyyyzz{{z{zzyyyxyyzzzzzzzyzzyzxzxzzzzzz{zzzzzyzyyyxyzzz{yzz{zzyxzxyyyzzzzz{zzxyyyyyyzzyzzzzzyy{yzzzzzzzyzz{zzyyyzyzzz{{zzz{{z{zzyz{y{zz{zyz|yzyyyzyyz{{zz{|{zyzyzzzyzzzy{{zzzzyzyzyy{z{z{{{{zyzzzzyzyz|zz{zzzzzyz{zzzz{{{|{{zzzzzz{zz{zzz{{{{zzzzyzzz{{{{{||{zyzzyzy{{{{|z||zzz{yz{zz|{{z|{}{{zz{zzz{|{zz{{|{y{z{yzz{z{|z{|{zzz{{{z|{{z|{{|{zzzzzzz{{z{{z{{|zzzyzzzz{|y{{{}z{zzyzzzyz{z{{zzz{z{yyyxzzzz{{yzyyyyyyyyxxy{zzz{{yyyxzyzyzyzzzzyz{yzyyyzyyzyz{z{yzyzyzzzzy{zzyzz{yzyyyyzxzyzzyyzzyzzzyxzyzzzyz{{zyzxyzyxzyzyzz|zzzzyzyyyyyz{z{zyzyzyyzyzyyzzzy{zyyyyzyyxyzy{z|zz{zyyyyyyyyyzzzzzzyxzyyxxyzzzyzz{{zzzyzxzyzzzyyzzzzy{yzzzyyzzzzzz{zzzyyxyy{yzzzzzzzz{zyyzzy{zzz{{{zyyyyyyyzzzzzzzzzzzzzzzxzzyzzz{zzzzyy{yy{zz{yzzyyzyzzzzzzzzzyzzzzzzz{yyzzzz{{{{zyzzzzz{zz{{{zz{{{{yyzzyzzy{{{{{z{y{zzzyzzz{y{{{{zzyzz{zzz{z{z{{{zzyzzzyzz{{{zz{|{yzzyzzzz{|{{zz{{zz{{yyz{z{{{{z{zzzzzzz{{{zzz{z|{zzy{zyy|zz{z{{{zzzyzzzyzzz{{zzzyy{yzyzyyzyz{z{zyyxzyxyyzzzxzzzzyyxzzyyzzzzzz{z{yyyyyzyyzzyzz{{zzzzzyzzzzzz{zyz{zxzyyyzyzzzyz{zzyzzyyyyyzyzzy{{zzyyyyzyzyzzyzzyyyyyyyyzz{yyzyz{zyzzzyyyzyzz{{z{{zyyyyyyyyzyzz{zzzzzxyzxyyz{yyzzzzyyzzyyyyyzyy{zzy{yxxyyyyzzyyzz{yxzxyyyzzzzzzz{zyyx{zyzzzzzz{{z{zyyzzyzzz{yy{z{{zxyyyzzzzzzzzzzzyyz{zyzzy{zz{{z{zzyxyyzy{{{{{z{zzyzzzyyyz{{z{z{zyzzyz{yy{{{z{{{zzzzzzzz{z|z{z{|z{{{zzzyyzz{zzz|zzyzyz{yz{{{zz{{|zz{zz{yzz{{{z{z{zyzzzzzz{{{zz|{|zz{zyz{z{{{zzz{{zyzzzyy{{{zz{z{{|yzyzzzy{z{z{z{{{{zzzzzzz{zz{{{z{{yzyzyz{{z{{yzzyyyyzy{zzzzzzzyzyzzyzyyxyzz{yyz{zyzyyyzzyzzzzz{yzyyyyzzyzzz{zzzyzxyyzyyzyzzzzzzzzyyyyyyyzz|zzzz{yyyyyyyyz{zzzzzzyzzyyzzyzyzyz{zyzzzyyyyzzzzzyzzzyyxyyzyxy{{z{z{zzyyyyzyyzzyzzzzzyyzzzyyx{yzzzy{{zyzzzyzyzzzzzz{{zzzyyyzyyyzzyz{zzyzyyzzz{{zzzz{{yyzyzzyx{zyz{zz{zyzyzyzyz{zzz|z{yy{yyyyyz{z{{{|yxzyyy{yzz{z{{{z{zzzxzyzzzz|zzzzzzzz{y{zzzz{zzzzzyzzyz{zyz{{|{z{{yzyzzzz{{{{{y{{{{zz{y{zy{zz{{{z{zz{z{y{{z{{z|{z{yz{z{z{z|{zz{{{|{zzzyzzzz|{|{|{{{zz{zzzz|zz{{{{zzzzzz{yz{{{{z{{{{zz{{yzzzzz{{z||zz{{zzy{y{zzz{{{zz{zyzzzzzzzz{{zyy{zzy{z{{{z{zzzyyyyyzzyyyzzz{zzzyzzzyzyyz{zzzzzzzzyyzyyzzz{zzz{zzyzzzxxy{{{{zzzyyxyyyyyzz{z{{{{zzzyyxzyzzzzz{zzyzzyyxxz{zzyzzyzzzzyyzyyyy{yxzz{yyzzyxyyzyyyzzzyzyyzxyyyyyzyzzzzzyyzyyzyzzz{yzz{yyyyyyyyzzzyzzzzzyyzyyzzyzzyzzzz{yzzzzyyy{zzzzzzzyyzzzzyzzzzzzzz{yzyyyzz{{z{zz{|zzyyzyzyzzzzz{z{zzyz{yyzzzyzzzzzzyzyyzzz{zzz{z{{zy{yzzyzzz{zy{{{zzzz{zz{{{zz{{z{zzzz{zzyzz{{{z{zzz{zyyyzzz{z{|{{{zyyzzzz{{{{{{{{z{zzzzzzzz{{{|z{zzz{z{{zz|z{||{|zz{zzyzy{{z{{z{zzyzzzzzzz{z{|{{|{zzz{zzz{{z{{|{|zzzyyzyzz{yyz{{zy{zzzyyzz{z{zz{{zzyyz{yyzzz{{zzyzzyxxxxyyzzyzzzyzyy{yyzxzzzzzzz{{zxyxyyyzy{zzzzzyyzzyzyyzzz{zyzzyy{yyyyxy{yyzzzzyxyyyxyyyzzyzyzyzzxyyyzzzzyzy{zzzy{zyyyyzyzzyzzzzzzzyxyzzyyyzzzyyyzyyzzyyyzzzyzzyyyyyyyyyzzzzxzzyyyzyyyzzzzyzyzxzyyyxxyzxzyzz{zzzzzyzzyyyz{z{z{{yyyyyyyzzzyzy{{zzyyyyyzy{zzzxzy{yyyyyzzyzyzzzz{zzzzzzyyyz{{{z{zzzzyzz{yyzz{yzz{zyyzzzzzyzzzz{z{zzzyzyzyzz{z{{{{{xzzyzyzzyzz{zy{zz{yzzyyyz{{zzzzzzzzzzyyyz{z{{zz{zy{{zyzzz{{z{{{{{zzzzzyzz{z{|{{{{zzyzzzzy{z{{{{zzxzz{zzz{yz{{z{{z{zzzzyzz{{{zzz{zzzz{zzyzzz{z{zzyzz{zyzz||z{zz{zz{zyzxzzzzy{zzzzxyzyyyyyy{zzyyzzzxyyzyyzzzzy{z{{yzyxyzzzzyzz{{zyyyyzyyzyyzzzzzzyzzyzyyyyzzyyzzzzyyyyyyzxzzyyzzzyyyyyyyxyyz{zyzz{yyyyyyyyzzxzzzyyyyyyyyyyzyzzzzzzy{yyzyzyyzyyzzzzzyyyyzyyzz{{yzzzyxyyyyyyyzzyz{{zyzxyyyyxzzzz{zyzzyzyyzzzyzzzz{zzzyyyzzyyzz{zzzzzzyzzyyzyyzzzz{z{zyzxyyzzz{zzzy{zzzzxzyzyy{zzzzzzzzzyzyzzzzzzzz{yzzyyzzyyzz{zyzyy{yzzzzzzzz{{z{z{xyyzzyzz{{z{z{{{zyzzzyyyzz|{{zz{zzyzzzzyzz{z{z|{{zzzy{yzz{{zz{{{{zyyzzz{y|{{zz{|zyzzzyzy{z{{{{z{zzzzyzyzz{zz{{{{z|yyzzzyy{{{zz{{{zyyzyyz{{{{z{{{zzzzyzyy{{yzz{zzzyyyxyzzzz{zyzzzzxyzzxzyyzzzz{zzyzyzyxyyzzzzy{z{zyyyyyzyzyzy{z{{zyyzzyyxzzz{yyzzzzyyzzzyyzzzzyyzyyyyyyyzyzzyzzzzyzzzyyxy{{zyyzzyzzyyyzzyzyzyzzyyyzyyyyyxy{yyyzzzyyzyyzxzyzzy{z{{zzyyzyyyyz{zzyz{yxzzyyyyyzzzyzzzyyxxzzyyyzzyyzzzzyyyzzyyzyzzz{z{{yyzyyzyzyzzz{{zzyyyyyyyzzzz{zz{zyzzyzzzyz{zz{{zyzzyzyyyyzzyz{zzzyzzyzyyzz{y{z{zzyzyyyzy{{z{zzz{zyz{zyzz{zzzzzzzyzzzyz{zzzz{{{z|{zzzzzyyzzz{{{zzzzyzyzzz{{yzz{z{zzzzzz{zy{{z{{z{{zzzzzz{y||zzz{{zzzyyyzzzz{{zz{z{zzzzzzyzz{{{{{{{zzzy{z{zyz{z{{{zzzyzy{y{{yz{zz{zyyzxzzyzzzzzz{zzzyyzzyxzyzzzzzzzzyyzzyyzzzyzzz{zyyyyyzyzzzzzz{zzyyxyzyxzzzzzzzzzy{yyyyyzz{zzz{{zzzzxzzyy{y{z{z{yyzzzyzxyzyzzzzzzyyyyxyxyz{zzy{yzzzyzyyyyyz{yyzzyzyzyyyzzzzyyy{zyzyxyyyzzyyz{zz|zyzzyyyx{zzzzy{{{yyyzyzzyz{yyyzyzyzzyyyzyzzzz{{zyzzyyyzyz{zzzzzzzyzz{zyxyz{y{zz{zz{zyy{zyzzzz{{{yyyzyyzy{z{{{zzyzyzzyzzzz{z{zzyyzz{zyzyyz{zzzz{{zzzzyzyzzzzzzzy{zzyyzzyzz{z|zzz{zzzz{yzzz|z{{{|{zzzzzyyzz{z{{z{z{zyzy{zy{||{{{||zyz{zzzy{z{{{{{{{zzzzzzzz|{{{{{{{zzyz{{z{{|{z{{z{z{z{zz{z{{{{{{|{zzzy{zz{{{{zzz|zzzz{y{zz|zz{{{{{zyzzz{zzzz{{{zzyzzyzxyzzz{zzzy{yyyzzy{y{zyzzzzzzyyzyyyz{zzzy{{{zyzyzyyyzyz{{{z{{yyyyyzzzz{zz{z{z{yyyyyxz{zzzzz{zyzyzyzzzzzzz{{yyyzyyyyyzzzzyzzzzzzxzyyz{zzzyy{{yyyzzyyyzzz{yz{yzzyyyzyzz{{yzzzyyyzxyzyyz{{zyy{{zyyyyzzyzyzzz{zzzzzyyyzyyzzzzz{zzzzzzzyyz{zz{zzzyzzyzzzyyz{zzzz{zzyyzyzzzzzz{z{{yzzzzyyyz{zzyz{{y{zzzyyyz{z{zz{zyzz{zyzxz{|zzz{{{zzzzzzz{zz{zzz{z{zzzzzz{z{{{{{zzzz{{zzzz{z{|z|{zyzyz{zyyz{{{z{z{yyzzz{zz{{{z{|zzzzzy{z{y|z|{{{z|{{zzy{zz{{{{|||{yzzyyz{{{z{{zz{{zz{zzz{{{z{{z||zz{z{|z{zzz{z||{{zzyzzzz{{{{z{{{{zzzyyyzzz{{zz{zz{{{zzzzzz{zzzyzz{yzzyyyy{zy{zzzzyzyyzyyzzzzz{{{zyzzzz{yzy{zzzz{zyzzyxzzzzz{zzzzzz{yyyyyyzzzzzzzyzz{xzzyxzzzz{zz{zyzxyyyzzzzyzzyzzyyyyyyz{zzzzy{yyzyyxzyyyzzzzzyzzyyxxyzzz{zzzyzzzyyyzzxyyzyzzzzyyzyyyyyyy{y{{zzzyyyzyyzz{yzzzzzyzz{yzyyz{y|{z{zyzzxzyzzz{zzz{zzzzzyyyzyzzyzz|zzyyzyyyzzzz{zzz{{zzzyzzzyz{z{{z{{zz{zzyzz{z{{zz{z{yyzzzyz{|z{y{{z{zy{zzzzz{{zz{|{zzzy{z{zz{zzz||{{zz{zyyzz{{{{{{{zyzzzyzy{{{{{{|{{zzzyzzzzy{z{{{zzz{zz{{z{{z{z{{|{yz{zzzz{z{{{z{{{zzzzz{{{z|z{{{{zzyy{zzzz{{{z|{{zzzzyzzzzz{{{{|{zy{zyz{zzz|{{{zzzz{zzyzxzzz{yzzzzyyzyyzyzzzzz{z{zyyyzyxyzzz{zzzzyzzyyyzzzzzz{{{{zyyzzyyyzz{zyyz{{yyyyyyxzz{zzzzzyyyxxyyyzz{zz{zzzyyyyy{yzyzzy{zzz{zyyzyyz{zzyy{zyyzyzxyzzyzyyz{{zyzzyzyzz{zzzzzyzyyyyyxyz{{zyz{zyzyyyyyyyzzzzzyzyyyzzyzyzyzyzzy{zzzzzyzxz{yzz{z{zyyzzxzyyzzzzzz{zzzyyyzzzzzzz{{{zzzyyzzzzzzz|{{zzz{zzyyyyy{zz{z{zz{yzzyzyz{yz{{{yzzzzzyzy{{z{zzzzz{y{zzz{{z{{{{{zzz{{z{zz{{z{{{{zyz{zy{z{z{{zzz{{zyzyzzz{|z|{{{|zzz{yz|z{{{z|{{{{zz{z{{{{{{|{{{zzyz{{zzzz{{{{{{{{zzzzzzzzz{z|{|{{{yzzzzz{z{{{{{|yzzzzz{z{{{{{{{z{zyz{zzyz{z{zz{zzyzzzyzzz{zz{zyyyzyzxzzyzz{zz{zzzyzzzyyz{zzzz{{zzyxzyyyyz{yz{zz{zzyyyxyxzzz{zzzzyzyxyzzyyyz{zzzzzzzzzyyxyyzzy{{{{yzzyy{zyz|zyz{{zzyyzyyyzzzyzyzzyyzyzzyyyzzzyyzzyyyyyzyzyzzzzy{yyxyzyzyxzz{zyzzzyyzyyyzyz{z{z|zyzyzzzzzyyzzzzzzzzzyzy{yy{z{zyzz{zyyyzxyz{z{zz{zzzyyzzyyyz{{zz{z{yyzyzyzzyz|z{z{zyyzzzzyz{{zzzz{{{y{yzyzzz{{zzz{z{z{zzyzyy{z{zz{{|{z{zyzzzz{{{|zzz{zz{yzz{{zz{|||zzyzzzyzy{|zz{{{|z{{{z{z{{{z{z{{z{{yzz{{{{z{z{{{{z{zyz{z{{|{{|||{zzz{yzz|||{z{{{{y{zzyy|z{z||z|{{{zzzzzzz{z{|z{{{zzyzzz{z{{{z{{{zzz{{zzyy{z|{y{zzyyzyzzzzz{{zz{zzzyzxyzyzzzzyzzzzyxyyyzyzzzyz{zzzzzyxyyyyyzzy{yzzzyyzyyxyzzzyz{zzyyyyzyxzzzzzyz{yyzyyyyxy{y{yzz{{yzyzyzzyyzzzzz{yyyxyyyyzzyy{{zzyyyy{yywzzyzyzzzzyyyxyxyyzyzzyz{zzyyyyyyyzyzzz{zzzzyyyyyyzyzzyyzxyyyyyyyxzyyzzyzzyzyzzzyyzzzz{{{zyyyzyyyyz{zz{zzzyzyyzyyyzzzzzzzyzzyyyzz{{zzzzz{zy{yzyzyyzzz{zzyzzzyyzzz{z{z{|z{zzzzzzzzz{zzz{{zy{zyyzzzz{{{{{{{{zzzzyzz{{{{zzz|yzyzzzzyz{{zzz{zyz{y{zzz{{{{z{|{zzz{z{{yzz|z{{{{{zzyz{z{z|{{{z{{{zzzzz{z{{yz{z{|zyzz{yy{z{{|z|{zzzy{zz{z{y{|z{{|zzzyzzzzz{zzy{{{{{{zyyzzzzy{z{{{zyzxyyyzy{zzzzzzyyxxyyyyzzzzyzzyzyxyyxyyyzzzzzz{zzyxz{yy{zzyzzz{{yzyyyxzyzzzyzzyzz{zxyyyzzzzzzyzzyyyyzyyzzyzyzzyyyzzzyyyyyzyzzzzzzyxyyyyzyzzzzzyxxyyyyzy{{zzzyzyzyyyyyxyyyzyzzzzzyyzxzyyyzzzy{zzzyzzzyyxyzzzzzzzzyyyyyyyyz{zz{zzzyyzyzyzyz{yz{zzyyyyzyxyz{zyzzz{zzyzyyyyyzzzzzz{zzyzyzzyzzz{zz{{{zzyyzzyz{{zzzzzzzyzyyz{{zzzz{z{zyzzzyyzz{yz{{zzzyyyzzzyz{|{z|{{z{zzzzzzzz{{zzz{zyzyxzzz{{z{z{{zzzzyzzzzzz{{{{{{zzzzz{{{{z{yz{{{{zzzzz{zzz{{{{{zzz{zyyzzz{{z{{{zzyyz{zzyzzz{{{{|zzzzyzyz{{z{{{{{{zyzzzzzzzz{{z{zyzzzzz{zzzz{{zzzzzzzzyzyzz{zz{zzyyyxyyyyz{zzyyzzyzyyyyxzzzzyyz{zzzyyyyyyzyzyzz{{{zzyzyyyzyzzzy{zzzzxzzyyzyz{{zz{zyyzyxyyzyyzzyzyyxyyyyyxzzzzzz{yzyzxyyyyzzyzzz{yxyyxxyzyzzzzzzzzyyyzzyyyyzzzzzyyyyyyxyxxyzzzzzyzyxyyxxzxyzzzyyzzzzyyzzyzyzzzzzzzzxyyzyyx{yyyzzz{yyzyyyyyz{zzyz{{zyyyyyxzzzzzyyzzyzyxyzyyzz{z{z{z{zyzzyyzyz{zz{y{yzzyzyzxz{{zzz{{zyy{yzyy{zzz{{{zzyyyzzzz{{{{z{{zzz{zzzzzzzzzzz{|zzyzyzz{z{z{z{{zyyzzzz{z{{{z{{{{{zzzzzzzz{zz{{{{zyz{zzzzz{{{z{{{{zyz{zzz{{{{{z{z|yyzzzz{z{zz{z{{{{yzzzyz{zz{z{{{z{zzzy{{z{{{zz{{{zyzzyyyz{{{zz{zzzzzzzxyyz{yzzzzyyyyyyzyz{{zzz{zxyyzxxyzyzzzzzzzzzyxyzzxzyyzz{zyzyyyyyyyyzzzyzzzzyzyyyyyzyy{z{y{zzzyyzyxy{yyy{zzyyyyxzyzzzzyzzzzzyyzyzyyyyzzyzzyyxzxyyyyyzzyzyz{{xyyxzyzz{{zzy{zzyyyyyzzyzzzzzz{yzzzyyyyzzzzyz{yz{zyyyyzyzzyzzz{yyzyzyxy{yzzz{zzzzzzzxzzyzzzzz{{yyy{yyzy{zzzzz{zzzz{zzzzzyzzzzz{zyyzyyzyzzzzz{zzyzzzzyzyzz{zz{{zyzyzyyzz{z{{zz{{{yzyzyzzz{z{|zzzzyzzzzzz{{{{z{{{zy{zzyyzzzz{{z{zzyzzzzzzz{{{zz{{zzzyzz{zz{{z{{|{{yzzzzyz{|zzz|{z{yzzzzzzyzz{{|zzzy{zyz{z{z{zz|{zz{z{z{zz{zz{z{{{zzzyyz{y{z{|{{{z{zyzzy{xz{z{zz{{yy{yyyyyz{{zyzzzzyyyzyyyy{zzyzyzxyyyyxyyzyzyyzz|yyzyyzzzzyzy{{zzzyzzyyzzzz{{yz{yyyyyyzyzyyzzzzzzyyzzyyyyyzzzz{zzzzzyyzyyz{yzzzzyyzzyyzyyyy{zyzzzyzyyyyzyzzyzzzzyzyyyxyyxzz{zzzzzyyzyxzyzzzzzzzz{zyxzyzyyyzyyzzzzzzyzzyxxyyzzyzzzzxz{yyyzyzzzzz{{zyyyzyyyyzzzyzz{yyyzyyzzzz{yzzz{zzzyyyzyzzy{zz{{{yyzzyyzz{{y{{z{zyyyyyzyzz{yzzzzzzyzzyyzzz{yz{{zzyzzzzyz{{{z{{zzzyzzzzzz{yzzzz{{zyzzzzyz{{{z|{{z{zyzyzyz{{{z{z{{{zyz{z{zy{|{{z{zzzzzzzyyzz{{{{|z{{zzyzzz{{z{z{{zzzzyzyzz{z{y{z{{{{zzzzyz|zz{{{{zz{zyzzzzzzzzz{{{zzzzzzzzzzz{z{zzzyyzyyyyyzz{zzyzxyyyzyyzx{zzyzzzzyyyywyyyzyzzz{zyyzyyzyyzzzzzz{yzyyyyzyyzzzzyy{zzyzyyzyxzyyyzzyzzyyyxyyyyyzyzzzz{yzyyyyzzz{zzzzzzy{yyxxzyzzzzyz{zyxyyxyzzzzyzzz{zyyyyyyy{zzyz{zyyyyyyzzzzz{{yyzzyyyyyxyyyzzzyz{zzzzyyyyyz{zzz{{zxyyzyzyxzzzzzz{zzzyyyxyyyy{yzzz{{zzzyyyzzzzzyyz{xyzyyyzyzyzzz{zzzzzzzzzzzy{zy|z{zyzzyzxxzzzzz{{{zzz{yyyzzz{yzzz{yzzzzzyyz{zzzz{{zyzy{z{z{zz|{{{zzzxzzzyyzz{zz{zzzyzz{zyz{|z{zzzzzzzyz{yzyzzz{{|z{zyyyzz{{|{{{{{z{zz{{z{zyz|{z{{{zzyzzzz{z{z{{zz|{zzzzzzy{z{z{{z{zzzyyzzzz{z{zzz{zzyzyzyyy{z{z{{{yyzyzyzy{zzzzzyzxyyyzyzyzzzyz{zzzzyzyyzzzyzzzz{zzyzzyyyyzzyzzzz{zyyyzyyyzzzzyzy{yzzyyyzyyzz{zz{{yzz{yyyyz{zzzzz{zzzyyyzyyzzzyzyyyyzyxyyyyzzzzzz{yzyyyyyyzzz{yzzyzyyzyzxyzzyyyzz{zzzxzyyyz{z{yz{zzyzyzzyyzzzyyzzzzzyzyzzzz{zzz{zzzyyzz{xzzzzy{{{zzyzzzyyzzzzyzzzzzyzzyyzzyzyzyyzzzzzzzyzz{{{{{z{{zzz{yyzzzzz{z{zzyzzzzzzzz{{{zz{{zzz{zzyz{zzz{{zzyz{zzyyyyzz|z{{z{zzzzzzzy{{{z|{{zz{yzyyz{{{{{{{{zyzzzyzy{z{|z{zzzz{zz{{{|{zzzz|{|zy|yzzzzzzzz{{|{zz{{|zzzz{z{{{{{{z{zzzz{z{{|z{|{{zz{{zz{{{|{{{|z{{yzz{zzz{zz{{{z{{zzzzzz|z{{{{zzz{zz{{yzy{{{{yzyzzzxyyyyzyyz{{zzzyyyyyyzzzzzzzzzyzxyzyy{yz{{zz{zyyyzyyyyz{zzz{zzzzyzyzyzzz|zzy{{yzzyyyxy{zzyzyyzyyzzyyxzzzyyz{zyyyyxyyyzzzzzzzzyyyyyyyyy{zzzzzzyzyyzzyyy{{z{yzzxyzyyzyyzyzzzyzyzx{yyyyyyzyzzzyzzyzxyyyyzzz{yz{zzyzzzzxyzzzzzyzzzyzzyyyzzz{z{zz{zyzzzyzyz{|{{zzzzz{zzyyyzz{z{{z{{yz{yyzzyzzyzzzzzyzzz{zyz{{z{zz{yzyzzyzzz{{z{{{zzzzzzzyyzz{y{{zzzzzzyy{yz{{{{{{{yzzzyyzy{|zz{{{{{yzzzzzzz{|{{{{{zzz{z{zzz{zzzz|{zz{yzyzyz{{{{|{{{{zzy{yy|{z{z|zz{zyzzzzzyz{{{z{{zzyz{{yy{z{{z{z|yzzyzzyzz{{z{{|z{{zzyzzz{z|{{{z{yyzzyzzzzz{zzz{yyyyyyxzyyzyzzzzz{{zzxyyx{{zzz{z{yyyxyyxyyyyzzzzzzyyzzyzyyz{zzzz{zyzyxyzxzzzzzz{{zzzyzzyyyzzyzzzy{zzyxzyyzyzyyzzyzzzyyzyzzzzyyzz{yzyyyxyzzzzzyyzy{yzzyyyzzzyyzzy{yzzyyyyyzzz{y{z{yzyyzyzyzyyyzzzzzyzyyyyyy{zz{{z{zyzz{zyyyzyy{{zzyyz{zy{zzz{{zzz{zzzzyxzzzz{zyzz{yzyzyzyyzzzyzz{{zyzzyyyzzzyzz{{{yy{yzzyzzz{{z{{{yyyzzyyyzy{{y{zz{{zz{zzzx{{{z{zzzzzzzyzzz{{zzz{{zzyzzzyz{{{{{|{{{z{{yzzzz|zz{z{{zzzyy|{zy{z{{{{z{yzz{zzzz{{z{{z{zx{zyzzyy{{{{{|z{yzy{{zzz{{zy{{{zz{zzzzzz{z{|{z|zyzzyzzz{{zz{z|zz|z{yzzzz{z{{{{{{xzyzzzzzzzzzzzzzyyyyyzxzyz{zyzzyyyyyyyyzyzzzzzzzyyzyzyzzyyzzzzzxyzyyyyyzyyyyzzyzzyyxyyy{yzyzzzzyyzyyyyyyzz{zzzyzyzxzyxyyzzzyyzzyyzzxzyyyzzyzzzzyzxyzzzyyzzzzzzzzxyzxyyyyzz{zzzzzyzzxyzyyyyzz{{{zyyyyxyyxyyyyyzyzyyyzyzyyyzzyzzzyzzzyzyyzzz{zzzzzyxzzyyzyz{yz{{zzzzyyyzz{{zyz{zzyzyzyyyyz{y{{y{zzyzyyyzzz{zzz{z{{zyzyzzzzz{zyy{{zzzz{yzyzz{z{{z{{yzzyyyz{{{z{zzzyzzzzzyz{{y{z{{z{yzzyyyzzz{z{{|{{yyzz{zyzz{{z||{zz{zy{zzzzzz{{{{{zzzz{zy{|{{|{{{zyzyzz{z{{z{{{{zzyzzzyyzzz{zz{{{zzzzy{zz{zzz{{{z{zzyyzzyzyz{{{{{zyyyzyxzzzz{zy{zzyzyyy{zzz{zy{zzyyyyzyyxzzz{zzz{zyyyyyxyyz{zzzyzyyzxxzyxzzy{yzyzzyzyyyyyzy{yyzzzyzywyxxy{z{yzzz{yzyxyyyyzzzzyzzyzzzzyxzzyyzyzzzyzxxyxzxyzyyzzzzzyzyzyyzyzzz{yyyyzyzyyyyyyzzzyzzzzzzyyyyyzzyyzzzyyzxyyy{yyzzyyzzyyzyyyzyyy{yzzzyzzxzzzzzzzzz{yz{zzyyyyyzyyzzzyzz{zzyxxzyz{yzzzzz|yyyyzzyyz{yzzzz{yzzzzyyyx{zzzzzzzzzyyzyy{zzzz{z{zz{zyyyyzzzzzzzyzzyzyzyz{{zzz{z{yz{zyyzz{zz{z{|{zyyzzzyyz{zz{{zzzxzzyzyyz{z{z{{{zzzyzzzz{{z{{{{zzz{{zz{zzzz{z{z{{yz{{zzz{{{{{{z{zyzy{zzz{|zz{{|{{zzz{zzzz{z{{|{{z{zyzyzzzzzz{{zzy{zyyzzxy{zzz{|zzyyyyyyyyyyyzzy{xzzyyyyyzyyyyzzzyyyyyyz{zzyyz{zzyyzyyyzyzyzyzzzzzyyyxzyyyzzzyzzzzzzzzyyyyz{zzzzzyzyyyyyyyyyzzz{zzyyyyyyzyzyzz{zyzyyzxyyyzzzzyyz{yyyzxyyyzzz{zzzzyxyyyyyzxyzyzzzzzyzyyzzyyyzzyyzzyyyyyyyyyzyyyyzyzyzyyyyyyzy{yzy{yyyyzzxyzzz{zzz{yyzyzzzyzz{{z{{z{yyyzzzzzzzzyzzzyzzyyzzzzz{zzzzzzzzyzyyyzyz{z{yz{zzzyzzzz{zzyz{zyy{zzxz{{{{{zz{zzyzzzzzzzz{{{zz{zyzy{zyzzzz{{{{|{zzzyzyz{z{{zzz{zzzz{{{yz{{{zz{zz{{zyzzzy{z{zzz{{zz{zz{zz{z{|{{z{z{yzzzz{{{yz{{{{zzzzzz{z{z{{z{{{zzz{y{z{zz{{{{zzzzzyzz{{{zzz|z{zzyyz{zyz{z{zz{zzzzyzyzzy{zzzzzzzzyxyzyzzzzyzy{zyzxyyyzyzz{zzzzzzyyxyzyyyyyzzzzzyyzyzyyxzyzzyzzzyyyxyyxy{zzzz{zzyyzzyyzyzzzzzzzy{y{yxyyyzyy{yzzyyyyyyzyyyyzzyzzzxzxxyyyyy{{zzzyyyxzyyzyyzz{zyzyzzyyyyyyyzzyzzz{zzxzyyzyyyzzxzzyzzyyxxyyzyz{zzz{zyyzyyzyyzyyzzz{{yyzyyyyyzzzzzzyzzyzzyzzzzzzzzzzzyzzzyyyyzyzzzz{zzzzzyyyyzz{z{{{zzzzyyy{yzz{zz{{zzzyzzyyyzyz{zz{zzzzzzzyzzz{zzzzzyzzzz{{zz{z{z{{{zzyzzyyzzz{zzzzy{zzz{yyz{{zzz{{{yzzzzy{z{{{z{zzzzz{zz{zzy{yz{z{{zzzzzzzzz{|z{{{{zyzzzzzy{{zzz{{{zz{zy{zy{{{{{zzzzzzyyyzzyz{z{z{{{zyzxzzyzzzyzz{{{zyxxyyyz{{zz{yzyyzyxyzxy{zzyxyzzzzzyyyyzy{yyzz{zyzxzyzyzzyyy{zzzyyyyyyyzzzzyyzzyzzxyyxxzzzyx{zzzyyxyyyxyzzyyzzyzxzywyxyzzzzyyzyzyyyyzyyyyyyyzyyxzzyyxyxzyyyxzyyxyyyyyyxyxzyzzyyyyyzxxxxyzzyzyz{yxyyyyyyyyzyyzyyyzxxxyxyyzyzzzz{yyyyzyyxyzzyyzzzzzyyyxyzzzzzzyzzyyzzyyyyzzzyzyzzyyyyyyzyyzyzzzzzyyzyzzyyzzyzz{z{zyyzyyyz{z{{z{zyyyyzzzzyzzzzzzzyyzzzzzzy{yzz{z{zzyzzzyzzzzzzy{{zzzyzyzyzy{{{zz|zzzyyyzzy{y{zz{z{zyzzyzz{zz{zz{z{{zyzyyyzyzzzzz{{z{zzyyy{z{{{zz{zzyzzzyzzz{zzzz{{zzzzz{y{zzz{{z{zzyzyzzzzzzzzzzz{zzyzzzzzy{yzz{zzzyyzxzzy{zzyyzyyyzyyxxxzz{zzzyzzyyxyyxxyyzzyy{z{{yyyyzzyzyyyz{yzyyzxzyyyyyxyyzzzzzyyzxyyzzy{yzzyzyzzyxyyyzzzyyzzzzzyzyyzzzyzyzyzyyyyyyxyzyzzyzyzxxyyxxzxzyzzyzzyyyxyyyyyzz{y{yzzyyzzxxxyyzzzzzzzzyzyyzyyyyyyyyzzzzxyyyyzyzyyz{zzyyyyyyyzzzzzzy{zzyyyzyzzzzzzzzzzyyzxyxyyzzyyz{zzzyyyyzyyzzzyz{zzzzyzyy{y{zzzzzzzyzyxyzyxyzzyzzzzzyz{zyyzyz{zzzzzzzzxyyyzy{{z{{{zyzz{yzzy|{yzz{zzzy{{yzzyz|{z{z{yzzzzyyzzz{{z{{{zzzyzyz{zz{zzz{{{{zzzyyzzy{{z{{{{zzyzzyzz{z{{z{|{zyyzzzzyzzzy{z{{zyzzzzzyzzz{{{{{zyyyyzyzzzz{yzzz{zyyzyzxyz{{yz{zzyzyyyyyyzzzyzzzzzxyyyzxyzyy{zz{yyyyyxxxzzzy{zz{zyzyzyzy{zzyyzz{zyyyyzyyzyyzyzzzy{yyyyzyzyyyzzzzyzzxzzzxyyyyzzyy{zzyzxyyzz{zyzzzyyzyyzyzyyz{yz{{xxyyyyzxzzzzzzzzzyzzzyxyyzyz{zzzzzyyyyyyzzyzyzzzyyyzyyzyzzzyzzyzzyzzzxyyyzxzyy{{zzyyy{yyyy{yzzz{zyyzyyzyzzzzzzzzzyzyzzyyzzzzyzz{yyzzyzzzzy{{{zz{yzzyzyzzy{z{{{zyzyzzyyyyy{zzzz{{zzzyzxyyz{{zz|z{zzzzyzzz{z{{{{zzzzxyzzzy|z{zz{z{zz{zzyzz{{{{{z|zzxyyzzzyz{z{zzzzz{zzzzzz{zz{z{{z{zzzzz{yz{z{{{{|z{z{z{zzz{z{z{{{zzzyzzzyzzz{zz{zzzzzz{z{{{{{zz{{{zzyzzzzz{zz{|{{{zzzyzzyzz{{zz{zzyzyzyyzz{z{zzyzzxyxyyyxzyyzzzzzyzxyyxyyyyyz{{z{z{zzzyzxzzzyzz{zzyxzyz{xzyz{zzzzzzyyxyyxzz{zzzzzyxxyyzyxyyz{zz{zyzyyyzxyzz{zyzz{zzzxxzyyzyxzyzzzyyzyzyyyzzyzyz{yzyyzyxxyyzzzyzzyzy{zyyyyzyzzzz{zyyyyzzyyyyzyyzzzyyyzyyyyz{zzzz{zzzyyzyzyz{yzzzzzyzyyzyzx{z{zyy{zzzyzxyzzyyzzyyzzz{zzyyzzzzzy{z{zyyzy{zzzzzzzz{zzyxzyzzyzzz{zzz{zzyzyzyyyz{zzz{{zzzyyzyzz{z{z{z{zzzzzyyzz{zz|{{{{zzz{yzyyzz{|{zzzzzz{yyzyz{{zz{|zzzzzyzzzz{|z{{{{z{yyzzyzz|{zz{{|zzzzzzzz{{{z{z{{yyzzzzyz{z{{z{{{|zyzyzyyz{{zz{zzyy{zyzzyz{y{yz{{zzzyyz{yzzzz{zzzzzzyzzyyzyzzzyzyxyzyyxyyzzzzzzzzyyzyxyzzyyzzzzz|zyzzyzyzzyyzzzzzzxyyzyyzyzzzyyyzzyyyyxyyzzzzz{zzzyyyyyyzy{yzyz{zzzzzyyyxzzyzzyzyzyyyyzzy{yz{z{zzzyxyyyyyyzzzy{zzyzzyyyyyzxzz{z{yxyyyyyzyzzyzzz{yzyzyyyzzyzyzyz{y{xyyzyzzyzzyyz{{zyyy{zzyyzzzy{{zyyzzzxyyzzzzzzz{yyzyzyzzzyyz{{zzzz{zyyyyz{zy|{{zzyzzzzzyzzz{{zzzzyyyzzyzz{z{yz{{zyzzzxyyzzzzz{zzzyzzzyzz{z{z{{{zyyzz{zzz{zz{z{zzzzzyzzyy{z{|{{{z{yzzzyzz{{{z{z{z{zzyzz{z{{zz{{{z{yz{zzzzz{{z{{z{zz{{zzyyz{z{z{z{yyyyyzzzzzz{{{{{zz{z{{zzzz{z{{{zzzzzyzzz{{zz{{|{zyzzzzyzz{zzzzzzzyzzzyzz{z{{{zy{yzzxxyxyyyyzzzzz{zzzzxyyzzzyyzz{zyyyyzzyyxyy{zz{zy{yyyyyzzyzzzz{xyzxyzyywzzzzzz{yyzyyyzyy{{zzzzyyyyyzzxyyzzyyz{zyyyzzyxyyyzzzzyzyyyzxyyxyzzzyyzyyyxzyyyzzzzzzzzzyz{yyyxyzzzyz{zzyyzyyyyyyyzzzzzzyyzzyyyyzzyzzzzyyyyzzzyyyzzzzzzyyzzyyyzyyzzyy{z{zyzzzyzzzyzzzzzzxzyzzyyzz{zzzzzz{zzzzyzy{zz{zzzzyzyzyyyyz|{z{{zz{zzyyzyzzzzzyyzxzzyzzyyz{z{{{{{{zzzyzyz{{{z{{zz{yy{yyyyyz{{{{z{{{yyzzzyzzz{{z{{{{{yzyzzz{zyz{{zzzzyzy{zzz{{{{{{{z{zzzzy{{z{{{{{{zyzyz{y{yzzz{{|{zyyyzzyzz{{{{{zzz{zyz{zyz{zzz{{{yzz{{zzzz{{zzzzzzyzyyyyyzzzz{{zzyyyzyzzyyzzyzzz{zyyyyzzyzzzyzzz{zzyxyyyyzzzzyz{yzzzyyyyyy{zzyz{zzyyyyxyxyzzzyxz{yyzyyyyxyzyzyzzyzyyyzzxyzzzyyyzzyzxyy{yyyzzyy{zzyyyyyyyyyzy{zzzzyxyzzyxyyzzyzzy{zyyyyxzyzzzzzz{zyxyyyyyxyzzzzz{{zyzxxyzyyzzzzz{xzzzzyzzyzzz{zz{z{yyz{xyyz{yzzz{{yzyyzyzyzzzzzzzzzzzyyzyy{z{zz{{{yzzyzzyyyz{z{zzzyyzyzyxzyz{zzz{zzzzzzzzyy{zzz{zzyzzzzzy{zzz{z{z{zzyzyzzzyzz{yzz{zyz{zzzyyz{{{z{z{zyzyzzz{{{z{z{zzz{yz{zz{|{{z{z|zzzzzzzzz{z{{y{{{yzzzzz{{zzz{z{z{yyzzzyz{zzz{{z{z{zz{yzz{z{z{{{{yzyz{{zzy{yz{|{|zzyzyzxzz{z{{y{zzyzyzyzy{yzzzzzzyyyyyyyyy{yzzyyyyzyyzzyzzzzzzzz|zzyyyzyyyzzzzzzzzz{zzyyzzzz{yzzzzyzyyyzyzzzzz{zzyzzyyyxxzyyzzz{{yxyyzxzyyyzyyz{zyyzyyyyyzyzyzzzzzyyzyyzyzyyyxyzzzxyzyyyzyyz{zzzzyxyzyyzzzzzzzy{{xzzyyyyyyzzzz{yzzyyxxyyyy{zzy{{{zzyyyyzxzzyzzz{{zyzyyyzz{zzzzy|{zzyyzxzzyyzzzzzzzyyyyyyyzz{zzzzzzzzyyyxxzzzzz|zzyzyzyzyz{zz{zz{{zyyzyxyzz{zyy{zzz{yzyzyxzzz{{{zzzyzyzyzxzz{{{|{zzzyyzyyzz{{{z{z{zzzyzyzz{zz{z{{{zyzzy{z{z{z{{{{z{{yz{{zzz{{{{|{{{yyzz{zyz{{{z{{z{yyzzyyzz{{{{|{{zzz{zyzz{{z{zz||zzzyzzzzzzz{z{{{zzyzyzzyz{{{z{zyzyz{yyzyzz{zzzyzzxyyyyyyyyyyzyzzzzyyyyyxyzyxzzy{{zxxxyyyyz{zzzzzyyzxyyyyzzzyzzzzzyyyyxyxzzyyzzzyyzzyyyyyyzyyz{zyzyyyyywxyzzyzyzyyzxyyyyxzzyyyyz{yyxxxxyyzzyzy{zzyzyzxyxyyyzzzzzzyyzxyyyyyz{yzzyzyxyyxxyyzzzyyzyzyxyzzyyyyzyzyzyyyyzyyyyxzzzzy{zzyxxzyyzyyzzzz{zzzyyzyzzyzyz{zzzzyyyyzyyyz{zzyzzzzzyyyy{zyzy{yzzzyzzxyyyzyz{zzz{zzyyy{yxyzzzyzzzyzyzzyyzz{{{zyz{zyzzxzzzyzzz{y{{zzyz{yyzz{zzzz{|yzzzzzzyz{{zy{{{zyyy{z{{zy{{{zzz{{zyzzzzzz{zzz{zz{zzzyzzy{z{zz{zzzzzyzzzz{zz{zz{{zzzzzyzzzz{zzzy{zyyyyzzzz{{zzzzyzyzyyxzzz{zzyyy{zyyyyzyy{{zyzzyzyzwxyyxyyzzzzyzzyxyxyzyyzyyzzzz{yyyyyyyyzzzyz{zyzzyzxyzxz{yyyyzzyxyyyyyx{zzzzyyzyxzyyzyyz{z{zyzzzyyyyyyyyzyzzyzzyyyyzyzzyyyyyyz{yyyzyyxyzyzyzzzzzyyyyyzyyxxyzzyzyz{yyxyyy{zzzzzzzxyzyyxyzzyzzzz{yxyyyyzyzzxzy{{zzyzzxxyyzzzzzz{{zyzyyyyzzzzyzz{zzzzyyzzxzzzzzz{zyyzyyyyyyzz{zy{zyzzyzyzyz{zz{{yzx{zyzzyyzzzyyz{zzyyzyxzzzz{zz{zzzzyzzzzyzzy{{zzzy{{zyzyzzzz{zz{zzzyzzyyyz{z{z{{zzyyzyzzz{{zzz{{{zyzy{{{yzzzz{{{z{zyzxyzzz|{{{z{{zzzzzyz{{{{{{zzzzzzzyyzzzz{{{{|{zzzyzzyz{{z{z{z{{{{zzzzyzzz{{z||zzzzyyyzz{{{z|{zyzzzzyzyz|zzyzyyyxzyyyzxzzyzyzyzzyxyyyyyyxzz{zzyyyyxxzyyzyzyzz{yyyyxyxyzzzzzzyzzzzyyyxyyyyyzyyy{zyyyyzyyz{zzyy{zyyyyxyyzyyyyyzyzzyyzyxyyzyyxzyzzyxzyyyyyxyzz{yzyxxyxxzyyzxyzzzyzyzyxxyxyzzyyzyzzzyyyxyyyxzzzyzz{yzyxyyxyyzzzzz{zyyzyyyyyzzyzzzz{zyyyyyyxyyzyzyzzxyzyyyzyyzyzz{{zy{yzyzzyzz{zzzzzzyyyyxzyz{z{z|zzzyyyzyyzzzzyzz{zzzxyzyxyy{zyyzz{zyyzyyzzy{{{zz{{zzzyyzzzzzzzzzz{zyzyyxyy{{zzz{{zyyzxzzyyzzz{zz{zzzzzyy{{zz{z{{zzzyzzy{zyy|zzzz|zzzzzy{zzzz{zz{zzzzyzzyyzzzzzz{z{{zy{zzzzz{zzzzzzzzzzyy{zzz{zyz{z{zzy{{zyyzz{{zzzyzzyyyzyzzzz{zzyzyyyyyzyzyzzyyzzzyyyyyzzyyzy{yzz{yyyyxxxz{xyzz{zzyyzyzyxzzzzzzzzzzxyxyyyyzyyyzy{yyzyxyyyyzzyzzzzyyyyyxxyzzzyz{zzyyzxxyzyzyzzy{yzyyxzxxyyzyyzyy{{zyyyxyyzyzzzzzz{zyzzxyyyyzzzzzyyyyyzyxxzzz{yzy{z{xyyyxxyzz{zyzzyzzzyyyyxzyyzyz{yzyyzyyyyzzzzzyzzyyyxyyzyzyzzzzz{zyyxyzzzy{zzyyzzzxyyzyzyzy{zzzzzyzyyxyyyz{{z{z{zyyzzzxyzzzz{zzzzzzyyzzzz{zz||{{{zyzyzyxyzzz|{{{zzy{zzzyzzyz{zz{z{xyyyy{zz{z{{{{zzyzzzzzzzzzzzz{|zzyzzx{xz{{{z{{|z{zzzzzz{z{{{|{zzzyzzzyzzzzzzz{{zzz{zzz{{zz{z{|{{zzxyyzy{zzyzz{zzzxyyzzyzz{{z{zyzyzyzzyzzzz{zzyzyyyyyyyyzzzyyzzzyyyyyyyzyzzyyz{yzyyyzzxxzyzzzzzyzyzyyyyy{yzzyz{{yyzxxyyxz{z{z{|zzyyzyyyyxzzxzz{yyyyyyyxyyzzyxzy{yyzzyyyyyyyzyzy|yyyyyyyyz{zzyzyyzzyyyyyyyyyzzzzyyxyyxyyyzzzzzz{{yzzxyyyyyzyyyzzzyzxyyzyyyyyyz{yz{yyzyxyyy{yzzzzzzzyyyyyyyzzzzz{zzyyyzzzzzzzyyzz{yyzyyyzzyzzzyy{zyyyyyzyyy{zzyzzzzy{zyyyzzz{{zzzy{zzzzzyzzz{yzz{zzzzyzyyzzy{{yz{{yzzzzy{y{y{{z{z{yzy{zzyzzz{zzzz{{yzzzzyzz|zz{z|{zzzzz{z{zzzzz{z{zyzxzzyz{{z{zz{{{zyzzyzzzz{{{zzzzzyzz{z{zzzzzz{zzzy{z{y{zzz{{{z|zzzyyzyyyzz{{{{zzzzzyzzyz{zyzzzzzyzyyzyzzyzzzzyzyyyyzyxx{{zyzzzzyyyyyyzyzzzzzzz{zyyyzzzyzyzz{{zyyxyyzyzyxzzzzy{yzyxyyxyyzyzy{zz{zzyyzxyyzzyyzzyzzzyyxyxyyyzyzyzzzyyyyyyyzzyzyzzzyzzyyyyyz{zyyz{zzyzyxyxyyyzzyyzzyzzyxyyyzzyzzyzzzyzzyyyyyzzzz{zzyzyyyxyzzzzz{zzyyzzyyyyyyyzzz{zzyyyyzyzyzzyz{{z{zyyzyx{zzyzyy{zzyzzyyyyyzzzzz{zzyyzzzyzzzyyzzz{zzyyyzzyyzzzzzz{z{zzyyyyzzzzzy{{yzzy{zzyzzz{{{{{zyyy{zzzyz{y{z|{{{zyzzyyz{{z{zzz{zzzzyyzy{{{{{{y|y{z{{yzz{{{{{{{{{yzyzzzzz{{z{{{{zy{{zyzzz{z{zzzz{zzzzzzzz{zz{{{|{zzy{zyzyzz{{{{z{zzzzyzy{{zzzzz|zzzzyzzyz{{zyz{zyzyzzzyxyyzzzzzzzyyzyzyyzyzy{yzzyyzzyyyxyzzyzz{zyxyxyzxyyzzzzyzzzxyyyyyzyzzyyzyzzzzyyyyxyzzzzzzzyyyyyzzyxzzyy{{yxzxzyyyyyzyxzzy{yyyyzzyxyyzzy{zzyyyyyyyyzyyzyz{zyyyxxyyyzzzyzyzyzzzyyyxyzyzzzz{|zxzxzzyxyzzzzzzzyyyyyyyzyzyyzz{zyyyzyyyz{zzyyz{zyzyyzyzzy{zzzzz{zyzzxy{x{yy|zzzzzyzyz{yyyzzzzzzzzzzyyyzyy{{zzzz{zyxyyzyyz{{{{{{yyzy{zzyy{zzzz{{zzyyyzzyyzz{zz{{{zyzxyzzy{{z{{z{{zzzzzzzyz{z{{z{zzyyz{yzz{{{zz{|{{zz{yz{zzz{zzzz|{{zzz{zzz|{{z{z{zyzzyzz{z{{{{{||{yyz{yz{{zz{zz{{{{zzyzyzzz{{|z{{zzyxzzzzzzzz{|z{zzzzyyzyz{z{|zzzyyzzzzyyz{{zyyzzyxyyyyyxzzzyzyzzzyyyyyyyyzzz{{zyyxyyyyxyzzzzzzz{yyyyyzyzy{zzzzzzzyxyzyyyzzyzyzzzyyzyyyyyyzzzyzzzyyyzyxyxzzzyyzzzzxyyyyxyzzyz{zzyxzyyyxyyyyyzzzzyyyyyyzyyyyzyzzzzyzzyyxyx{yz{yzzzyxyyyyyyyyzyyzzzyxxyyxyyyzyzyz{zzyyzzzyyz{zzyyzyzzyzyxzyzy{zyyz{yyzzyyyzzzzz{zy{zzzzyyzzzzzzz{z{zzzzzz{zzzzz{zyzyyzyzzzxzzz{zz{yyyyzzzyyzz{x{{zyyzzzyzyzzz{{{{z{z{zzzyzzzz{zz{{{zz{zyzzzz{{z{z{{zyz{{zyyz{{z{z{z{z{yyzzzzzz{{z{{zyyzzzzzz{{z{{{{zzyzyzzzzz{z{zz{zzzzyyy{zz{z{zz{zzzzz{zzz{z{|{z{zyzzyyyzzzz{z{{{{yyyyyzy{zzzz{zz{yzzyxzyyy{zz{zzzzxxyyxxzzyzzzzyzzyzyxyyz{zzzyzzzyyyzyxyzz{{zzzzzxzyyzyyyyzzyzzz{zzyyyyxyzzyz{z{yyyxxyzyzzyyyyzzzyyyzyyyzyyxzyyzyyzyxyzyzyzzyzzzyxzyyyxxzzyzy{zzxyzyzyyyzzzyzyzzzyzyxyzxzzzy{zzzyyyzyyyyyyzyyzyzyzyyyyyzyyyyzzz{yyyxzyyy{zz{zzzzzxyyyyyyzzzzzz{{zyzyzyyyzzzz{zz{zzzyyzxyzzzz{yzzyyzzyyzyz{{zz{zzyyzyzzxzzzy{zzzzzyyzzyyzz{{yz{{yzz{zyzzyzz{zzz{zyzzyzyzz|y{{z{{zzyzyyzzzz{y{z{{zzzz{zyzy{{zz{{{zzz{yy{{z|{z{z{{|{z{z{yyzzz{z|zz{z{{zzyzz{zzzy{{{{yyzzyzz{zz{{{{{zzyzzzyyy{z|zy{zzzzyz{zy{z{zzz{{zzyzyzzzy{{{{zzzyy{xyzyyzy{z{zyyzyxzzxyxyzyyzyzyzzyyzxxyzzzyyy{yyyyyzyyyzzzyzzzyzyzyxyxyyzzyxzzyyyzxxzzyyyzzzzyzzxxyyxyyz{yyyzzzyyyyyxyyzzzyzzzzyxxyxyyzyyxyyzxyyyyxyyyyzy{zyzzzyyyyyzyyyy{zzyzzyyzxxyxyzzyyy{zzzxyzyyyyyyzzyyzzzzzyyxzxxyxzzzzyxzyzyyyzyzzzzyzzzxyyyxyyyzzyy{zzzyzyzyzzzyyzzzzzyyyxzzzzyzzzzz{zzyzyzyyyyzzzzzzzyy{yyyzyyzzzzz|zyyyzyyzxyzzyz{z{yzzyyzzzzzzzzz{{xz{zzzzz{z{zyyz{{yyz{yyyz{z{{{zzzyzzzzyzz{{yz{{z{zzzz{{z{{z{{zzz{yzyyzzyx{z{z|z{yz{zzyzz{zzzz{z{{yzz{{zz{{zzzzzz{zzzzzyx{zzzzz{zzyzyzzzzzz{zzy{y{yyzzzzy{zzyzz{zzzyzyyxzzz{yzyzyyyyxzyxyxzz{zzzzyyyzyxyzyyzzzzzzxzxyy{yyzyyyzzzz{zzy{zyzyz{zyy{zzzyyyyzxxzzzz{zz{xyyyyyzyzzzz{yzyyyyzyxyzyyzy{zzyxyyyyyyyzzzzzzzxyxyyxyyy{{xzz{yzzyyzxyyyz|yzzzzyxyyyyyyyzzyyzzzxyyyyy{xyyzyzyzzxzyyyzyyyzyzzzzzzyzyyyyyzzy|zz{zyyzyzyyyz{zyyzzzzzyzzzyzzyyyzzzzyyyzyyxyyzzz{zz{yzyxyyzzyzzzx{zyyzyyyyzyyzyzzz{y{yyzyz{zzz{{zzz{zzzyzyzzyzzzz{z{yzzyzyzyz{{zyzz{zzyzzyzyz{zz{{{{zzyzzzzz{{{zzyzzzyzz{zzzz{y{{y{{{zzzyz{yzzz{{z{{{z{zzzzz{{zzz{z{{zyzz{yyz{z{z{{{zzzzzyzz{zz{z{{{yzyyyzyzzz{{zzzzzzzzyzyzz{zzzzzzyy{yyyxx{zzzzzzyzyyyyxyyyzzy{zzzyzyyyyyxxzzzzzz{yxzyyyyxzzyzyyzzyzyzyyyyzzyzyyzzyyyyyyyyzzyzy{zzyyyxyzzyxzzyzzzyyyzyyyyxyyzzyy{zzyyxyxxyyyzyyy{yyzxyyyzzyyzyyzzzyyxyxxyzyyyyyyzzyxzyyxyyyzzxyyzzyyywyyyyxyzyzyzzzyyyzxyyzzyzy{zzwyzxyyyzzzzyyzzzyxyyzyyyyzzxzzz{zzyzxxyyyzzzzyzyyzyzyyxyyyzzz{{{yyyzyzyzz{yzzz{yzyyxyyyyzz{yzz{zzyyzyyyzyz{yzzzzzyyyzzz{z{z|zz{zyzyyzzyzzzzzz{y{{zzzzyyz{{zzzyzzyzzzzyyyzzz{{zzzzzzyzz{zy|zzy{{z{xzzyzyyz{zzz{z{{yzzzyzzzzzyzzzy{zzzzyyyyz{{{{z{zzyz{zyzzz{zzz{{{zyyzy{yy{{z{zz{zzzzyxyyzzzzzzzzxyzyzxyzzzzzzzyxyyxxyyxyyzzyzxzzxyyyyxyyyz{yzzzzzyzyzyyyzzzzzzyz{zyyyzyxyy{yzy{y{yzwxxyyyyzyyzy{yyyyyyyxxyzyzyyzzyyyxzyyyy{yy{zyzxzyyyxxyyyzzxzyyyyxxzyzyzyyzzyzyxyyxyxyyzzyz{zzxyzyyzyxyzyyyyzzyyyyyyzxyzyyyzzzxyyxyyyyyzyzzzyzyzyyyzyyzzyz{zzzxyyyyyyzy{yyzyzzyyzxyxzzzzzzyzz{yyyzyzyyz{zzy{{zzzzzzyzyyzzzyzzz{yzyzxzyz{zzzz{yyzyyzzyzz{zyzyyzyzyzzyy{{zzy{zz{yzyzyzyzyz{{{y{zzzyyzyxzz{zzzz{{{zyyzyzzz{zzz{{zzzzzz{zz{zzzz{{{{zyyzyzyz{{zz{{zyyzzyzyyz{z{z{zzzyyzzyz{zzzzz{{{{z{xzyyyy{zz{zz{zz{yyzyzzzzyzzzzzzyyzyyyyz{zzzz{yzyyzy{zzzzzy{yyyyxyxyyzxzzyzzzzyyzzxyyyzzzzyzzzyyyyyzyzzzzzzzzz{yyyzyxzzzyzyyz{yzzyyyyyyyzzzzyzxyyyzyyxzzzyyyzyyyzyzzxzzyzyz{yzzyyxyzxyzyyy{zzzxxyyyyyyzzxzzzzyzzyxxzxzyzzz{zzyzzyzyyyyyz{zzzzzzzyyyyyyxyyxyzzzyyxzzyyyyzyzx{yyyzxxzzyyyzzyz{zzyzzyzxxyzzzzyz{{yyyyxyzyzyyzzzz{zyzyxyyyzzz{yzzzzzx{yzzy{{zzy{zzzyyyyzzyz{zz{zz{zyyyyyyzzzzzyzzzzzyyzzzy{{z{{z{z{z{zzz{zz{z{yyz{zyyzyyyyzz{{zz{zzzyzzzzz{z|z{{{{zz{zyzzzzz{z|{{z{zzz{zzz{{{zz{{{zy{zzzzyzz{zz{{zzzzzzzzz{{{zzzz|{zyzzzyyz{z{yz|{yyzzzyyzzzzzzz{{yyzzzzyzz{zy{z{zzzzzyyyyzz{zzzzzyyxzyzyxx{zyyzzzyyyyyyxyz{zzyzzyzyzyyyyyzyzzzz|zzyzzyyyyyy{zzzzzyy{yyxyyzzzyyzyzyx{zxyyyyyyy{z{zyyyyyyzyyy{yyzzyyyzyxyyyyzyyzyzzxzyyyxyxyzzzzzyyzyxxyyyyzzzzzzzzzyyyyyyyzzy{yzzyyxyyyxxxyyzyzzzyzzyyyyyyyzzyy{zzyyyyxyyxyzzyyyz{yyyyyyyyyzzzzzz{yyzyyzzzy{{y{{{zzzyzyxyyyzzyzz|zyzyzyyyxyzz|yzyzzyzzyyyzy{zzy{zyzzyyzzzzyzyzzyz{yzz{zz{z{z{zzz{{zz{zyzzzzzz|z|{{zzzzyzyy{z|{z{zzzyz{z{zz{{{{{z{{zyzzzz{yzzzz{{{{{y{zz{zzz{z{z{{{zzz{yyzz{y{z{|{{zyyzzzx{{z{{|z{z{zy{zz{{{zz{{{{{zzyyzzzzzzzzz|{zzyyzyzzyz{{zyyz{zyyyyzzyzzyyzzyzzyyyxzzyz{|zzzzzzyyyxy{xzzzzzzzzzzzyyzzyzzzzz{|yyyxyyzyzzzyzyz{zzzyyxyyyzyzxzz{zzyzyyyyzxzyzyzz{zzyyzyzzzz{yy{zzzyyzyzyyyyzyyyzzyxxyxyyyyzzzyzzyzyyyyzxzyz{z{zzyzyyyxzyyzzy{zzzzzyxzzzyyyzyzyzzzzyyzyzyyyzyzzzyzzxzzzzxy{yyyzzzzyyzyxxyxzzyzyzzzyzyzyyyz{|{zz{zzyyzzyyyzz{zzzz{{zzzzyzzzzzzzzzy{zzyzyzzyz{zz{z|{zyy{yzzz{zzzz{zz{zz{zzyzzzzz{z{zzy{yyzzzz{z{{{{{{zzzyyyzzz{z{{z{zzzzzzzzzzzz{|{|{{{yzzz{{z{{{{z{|z{zz|yz{{{{z{|||{zyzzzy{z{z{z|{zzyyzzy{y{{{{{|{yzyzy{y{|{{{z{z{yzzzzy{z{{zy{{{zzyzyyyzyzzz{{zz{zz{yxxzzzzzy{{zyyyyxzyyyyyz{zzz{yzyxzzyxzyzzzzyzzyyzyzyyyzz{zyzzzyyyyxzyzzz{zyzyyzzyyyyyyy{zy{z{yyyyyzyxyzyzzyyzyzzyyzyyz{yyxzyzyxyyxyyyzzyzzyzyzyyyyxyyzzzyyyzzzyxyxyxyzzy{zyyyyxzxyyyxzzyyzzzzzzzyyyyxxzyzzzyxyyyyyxyxxzyyyzz{zyzyzzyzyzzyyzzzyzyyyyzxy{zzy{zzxzyyyy{yy{yzyzz{yzyzyyzyy{zzzyz{{yzyzyzxy{zzzzz{zxzzyyyy{yzz{zzzzyzyyzyyzzy{yzzyzzzz{y{zz{z{{{zyzzzzzzzzyzz{zzzzzzzyyzz{zzz{zz{z{yzzzy{zz|zz{{z|zzzzyzzzz{{z{{{zzyzzyzzzz|{zz{zzzyzzy{zz{{zz{z{{zyzzyzzzzz{y|z{{{zzzzzyyzzz{{z{{zzyzyzzzyzz{{z{zz{zyy{zxy{z{{zzzyzzyzyyyz{{zzzyyyyyyxyyyyzyzyzzyyyxyzyyyzzz{{zzzzyyxzyyyyzyy{zyzyyyzyzyyzz{zyz|zzxzzyyyyzyyyyzzzzyyyyzyyzyzyyzzyzzyxyyyyyy{yz{zzyzzyxzyyyyzzyyz{yyzyzyyzzyzzzzzyyxzyxyyyzzzzyyz{yyxyyzyyy{y{zy{zzyzxyxzyyyyzzyzzzyxzyyyyyzzzzyyzyyyyyzyzzy{zyzz{zzzzzyyyyzzzzzzzyzzyzyyxzyyyzz{zyyzzyzzz{zzzzzz{yyyyzyzyz{{z{zzzzyyyzxyyz{{z{zzzzyyzyzyy{yzyyz{zzzzyzzzzzzz{{{{yyzzzyzz{{{zzzz{zyyzzzyyzz{{z{{{zzyzz{yzz{{{{{y{{{z{zz{{zzz{{{{{{{z{zzyyyz||{z|{zz{z{zz{yzzz{{{zz{xzzzzzzzz{{zz{{zzzzzzyz{{{{{{{{yzyyzzyyz{{zzz{z{yzzzy{yz{zzzz{{zzzyyx{xz{zzzzyzyxzyyzyyy{z{yzyzzxzzxyyyyzzy{z{{zyxxyzyzzzzzzzzzyzzzyyxzzzzzyz{zyyyyyyyzzzyzzzzzyyyyyyyyyzyzy{z{yyyyzzzyzyzyy{zzzyyxyzyyyzzyzzzyyxyyyyyxxzzyzyyzyxyzzyxyyyzyzzzz{zyyy{xzyyyzzz{{yyyxyyyxyzzyzz{zyxyzyxyxyzzyzyzzyyyyyyyyzz{zy{|zzyyyyyyzzzzzzzzzzyyyyyzyz{zyz{zzyzyzxyzzzz{{{{zzyzzzzzyzx{yzz|z{yyzzzyyyzz{{zz{zyyyyyzzz{z|zz{z{zzyyzzyzz{z{zzzzy{zz|{y{{{z{yz||zzyzyyzyzzzz{{{z{zyzzyyz{{zz{zzz{zzyz{zzz{|{{z{{zzzy{{zzz{zyz{z{{zzzzz{yz{zyz{zzzzzzyyy{{{{z{z{{zzzz{z{{z{z{{{{zzzzzzyzzzzzzzzzz{{yzyz{zz{{zz{zzz{zyzzyzyzzzyzzzyyzzyxyxz{zzzxz{yzyyxzyyzyzzzzzz{zyyzyyyzyzzz{yzzyzyyxzzxzzyx{y{zyyyyyzxyzyzzzzzyyyxyzyyy{yyzzzzzyyxyyxyzyzyyyzyyyyyyxyzzyyy{z{yyxxyyyyzyyzxyyzyzxzyyzyyyyzyyzy{yyyzxyyyzyyzyzz{zyxyyxzxyyzzzyzyzzyyyxyyxzzyz{zzyyyyyzyyyzzz{yzyzyyyzyyyyzz{zzzzzyyzzyyyzzz{zz{zyyzzyyyzyz{yz{z{yyzyyzzzzzz{zzzzyzzzzzyyzzzy{z{yzyyyzxyyzzzyzzz{zzzzyyyyy{{{zzz{zyyzzzzzz{{zzz{{zzyzzzzz{zzz|{{zzz{zzz{z{{z{{{{{z{yzzyzzz|zz{zz{{zzyzzz{z|{{zz{zzzzyyzz{{{z|z{{z{zyyyzzzzzzz{{z|{{xzy{zz{zz{{{|{{zzyyyzyzz{{{z{zzzyxyxzzz{zzzy{{zzyxzyyyzyzzyzy{xyyyxyyxyzzyyzyzyyxyyyyxzzzzzy{zzzyyzyyxyzzzzzzzzyyyyyyzyzzz{zy|zyzyxzyyzy{zyzzzyzyyyxyzyzyzzyyzyzyxyyyyzzzxzzy{yyzyyyyyyzyzyzzzyyyxyyyyxzzyyzyyyyyyyzyzzyzxyyzyzxxyxyyyyzyzzyzzyyyzywyyyyzyyyzyzz{xyyxyyzzzyyz{yzyzyzxyzyzzzzzzzyyyyyzyzzzzzz{zzyyyyzyyyz{zz{zzzyzzyyyy{z{z{z{yyyzyzyzyzzyzz{zzyyyzzzzyzzzzzzzzzyyzyyzzyzzzzzz{zzzzyzzyz{{zzz{{yy{yzzzz{z{{zz{zyzyzzyyzz{zz{{yzzyzzzzyz{{zzzz{{zz{zzy{zzzzyz{{{zyzyzzyzz{z{zz{{{zzz{zzzzyz{z{zz{yzzyzyzzz{{{|{{{zzzzzzz{z{{{{{{zzzzzzyz{{zzz{zz{zzzzyzyyzy{z{{{zyzxyyzz{{zz{zzzyzyyyyyyyzzzzz{zxyyxyxyyzzyzzzyyyyyyyzzyzyyzzz{{zyyxyyyyyyzzyyz{yzyyxzyyyzyyyzzzyyxyyyyxyzyzz{zzzxxzyyyyzzzyzzyzzyxxxyyzzzzz{zyzyyyyyxyzyzzyzyzzyyyyyyyy{yyyyyyyzyzyxyxyyzzzyzzzyyxxyzyyyxzzyzy{yy{xxyyyxyyzy{zzzzyyyyxyz{yzyz{zzyzzxyyyyzzzy{zzzyxzzyyyyzzzzyz{yyzyyyxyyyzzzzzzyyyzyyzyzzy{zzzyzyzyyyyx{{zzy{{zyyzyzyyzyyzyzzyyyzyxzyyzzyzzz{{yyz{yzyzyzzz{{z{zzzxyyyyy{{zyz{z{zyyyyyzyz{zz{yz{yzyzz{zz{z{z{zz{{zyyzzy{{{zz{z{{zyz{yyyz|zzzz{yzzyzzz{yxz{z{zz{z{zzzyzzz{{zzzz{|{zzyzzzyz{zzz{{{zzyyyzzyyz{zzz{{{y{yzyyy{z{zzzyyyyzyzyyxzzzyyyyzyyxyyxzyyzzyzzzzzyyyz{yzzyyzzz{yzyyyzyxzzyz{yzzzyzzxxyzxyyy{zyzzyyyyxyyxyzzyyzzzyyzyxyxzyxzzyyyzzyzyyyxxzyzyyyzzyyyxyxyxzyxzyzzzyyzyyyyzzz|yzzzyxyyxyywyxyzzyyzzyyyyxyyxyzzyzzzzzyxxyyyyyyzzyzzzyyzzyyyyzyzyxzzzyzyyyzyzz{z{zyzzyyyyyyzxyyzzzzz{yyyyy{yxyyzzzz{zzyyyyzyyy{zzzzzzyzzzyyyzzz{{zzzzyyyzyyzyzz{zyz{zyzyyzyyzzz{{z{z{zyyyzzzyzzz{zzzzyyzzzyyy{{z{zz{{zzyy{zzyz|{z{zzz{yyyzzyyzz{{z{z{zyyyz{zz{{z{{zzz{yz{zzzzzzzzzzzz{yyyz{yyzz{zz{z{zzx{z{zzz{z{{{{{zzzzzzzyyzyzz{{zyyzyyzyzyzzyz{z{zyyyyyyzzyyyzzz{yywyyxyzyz{zyz{{yzzyyyxyy{yz{zzzzzyyzyxyzz{z{zz{yxyxzyyzzzzyzz{{zyyxyyyyzz{{zyzzyyxyzyyyyzzy{zzyyzzzyyyyzzz{y{zzyzyyyyxy{zzzyzzzyxxzyyzyy{zzzyzzzzyyyyxzyzzyzyzyzyyxxyxxz{zzzzzzyyyyxxyzyzzxyzyzyyzyzyyxyzzyyz{yzyyxyyzyzzzzyzz{yzzzyzyzzzzzzzz{{xyyyzzzzyz{zzzzzzzyzyyzzzzz{{yzyyyzyzyzyzzzyzyzzzzyzyyxz{zzzy{zzyyzzyzyzzz{y{zzzzyzyz{zzy{{zz{zzzyyzzzz{{z{zz{zyzzzyyyyy{{{{z{{{yzz{yyy{{yz{zz{zzzzzyzzzz{z{z{{{yzzzzzz{{z{{{{z{yz{zyy{{zz{zzzzzyzzzyzyz|z{{zz{{{yzzzzzz{{{{{{{yzzy{zyyzz{{z{{{zzyyzzzyz{zzz{{zzzzxzyzyzy{zz{zzzyzyzyyxyzzzzzzzyzyzxxyy{{zzyzzzzxzxyzyyzyzzz{zz{zzyyyyzzyyzyz{{yzyxyyzy{zzzzzzzyyxyyyzzzzzzyzzzyyyyyyyy{zzzyyy{yyzyxzzyzzzyzzzzwyyxyyyyyzzzzyz{yzyyxzyyyyzy{yzzzyzyzzyyyzyzz{zzyzx{zyyyyyyzz{zzyzyyyxyyyzyzz{zzxyzzyxyyyzzz{{zzzyyyzyyyzzzy{zz{{yyyzyyyzzzzyyz{zyyyyyyyzz{yz{{{zz{yzyxyzz{{{{zyzzyyyzyyzz{zzyyzzzzyzyyzz{zzz{{zyyzyyx{zzzzz{z{{yzzxyzzzz{z{{zz|{yzzyzyy{z{zzz{zzyyzzyyyz{{zz{{zyzy{{z{zz{z{{{{{z{yzyzzyzzyz{{{{zz{zzzyz{z|{{{{{{zz{zz{{zzz{{{{|z{yz{yzz{{z{z{z{z{yy{zz{z{zzzzzzzzyzzyzy{zz{z{{zzz{yzy{xyzzzyy{z{yxxyyyzyzzy{zzzzyzyyyxyyyyyyzzzzyyyyzzyyzzy{zzyzyyzyzyyyzzzyy{{|zyxzzxxzyz{yzzzyyyxxyyyzzzyzzz{yxzxyxyyyzzzyyzzyxzyyzyyzyzyyzzzzzzyyyyyyzz{zyyyzyyyyyyzzzzzzzzzyyzwxyyxzzzzzy{zzyyyzyyyyxyyzzz{yzyyyyxzyzzzz{{zyyyzyyyx{zzyzz{{zzyxyyzyzyzyz{{{{yyyyzzzzyzyyzyzzy{zyyxzzyyzzzzzzyyyzyz{y{{zzz{zzzzyzyyzz{{zzz|zzzxzzyyyzzzzy|z{{zzzyyyz{z{{{z{zyzz{zzzz{zz{{y{z{yzzyyzyzzzzz{zz{yzzzzyyyz{{y|zzzzzzzzyzzzzzz{z{zyzyzzyzz|{z{{z{zzzzzyzy{{z{{zz{zzzzzy{zzzzyz{{{zzy{{zzzzzz{{|zzzzzyzyyyzzzz{z{{z{zzyyyzzzz{{z{z{zzyyzyzzzzzzy{{xyyyyxyy{zzzyzzzzyyyzxyxzyz{zy{zzzzyyyzxyz{y{z{zzxyyyyxyzyyzyy{zzzyyyyyyyyzyyzzyzyyzzyyyzzzyzyzzyzyyyyxyyzzyyzyzzyyyzyzzzzyyyzzyyyyyyxyyyz{zz{zzzyyyyzzzzyyyyzz{xzyyyyyyzzyzzz{{zzzyyyzyy{zyzz{z{zyyyyzyyzyz{z{zzyzyzzyyzyzzzyzzzyyxzzyzz{yyz{z|yyyzzzzzyz{{zzzzxzyyzzyzzz{z{z{{zzyyyzyyyz{{z{zzyyzyzyyyy{zz{zzzzzxzzzzy{z{yz{zyyyyyzyyz{{{|zz{zzzzzzyzy{z{zz{z{{zz{zzzyzz{zy{{{zzz{zzzz{{zz{|{{zzzz{z{{zzz{{{z{{zzzzyzz{|zz{z{|{y{zzyzz{{{{{{{z{zz{yz{y{{{z{{|{zz{zyzzzz{z{{z|{zzzzzyyyz{z{{{zzzzzyzyzzzzyzyz{{z{zyyyzy{{{y{yzzyyyxyzyzz{yzyzzyyzzyxyyyyzzzzzz{zyyyyyxyzzzzzz{yzyz{yyyyzzzyzzzzzyyyyy{xzzzzyzz{zzzyzyzyyzyyy{yzzzzyyzzyyzzzzzz{zyzzyyzyyyzzyzzzyyxyyyyxx{zzzzzyyzyzyyyzyyzzzzzzyzyyxyzzzyzzyzz{zyyyzzyyyzzzzzzzzyyyyyyyyyzyyzzzyyzxyzyyzyyyzzzzzyyyyxyzyzzxyzz{{yzzyyzy{{zyyyz{z{yyzyzzzyzzyz{zzzyzyzyzyz{zyzzzzyzzzzyzzz|zzzzzzzzyzzyzyz{xz{z{yzzzzzyyz{{{z{{zzzz{zz{yyzz{z{{zzzzzzxyy{z{{zz{zzzyzyyzy{{zz{{{{yzzz{yzz{zzz{{{|{zyzyzzzy{zzz{zz{zz{zz{{{z{z{{zz{zzzz{yzz{{y{{{{{z{zyyz{z|{zz|{{z{zzzzyz{{z{z{{yzy{zyyyyz{{zzz{zzzxyyyyz{z{|zzyyzzxzyyxzyzz{zyzzyyyzzxyy{yzyzzz{yyyxxyyxzyzyyzzzyy{yxyyyyzzzyy{zzyyyyyyy{zzzzyz{zyzzyyyyyzzzzzyyyy{yxyyyyzzxyzyzzyyyxyyzzzyzz{yzyyyyxxyyyyyyyzz{zyxxzyxyyyzyyzzzyyyyxyyzyzzyyy{zzyzzyzyyzzyyzxzzyyyxzyyyzzzzyzzyyyyxzyyyyzzyyyyzyzzxzy{yzy{zzz{{zyyzxyzzzzzzzz{zyyzxyyzxzz{zyzzzzyyyyyyyzzyzzzzyyzyyzzzyzzzzy{{zzxzzyxxyzzzyzzzzyyzzzzzyz{zzzzzzxyyzyzyz{{z{z{{{yyyyyzzzzzzz{z{z{yzzzzzzzzy{z{{{{zzyxzzy{z{{zzz{yzzzzyzzzzz{z|{{zz{{zzzyzzzzzz{{zzzzzzzz|{zz{{{{zzyzzzzzzzz{zzz{z{zyzyzyzyz{z{{zzzyzzzzyy{zy{yyzzzzyzxzxzzyzzzzyxyxyzyxyzzzyyzzyyzyyxyyyzz{zzzzzzyyxyzyyyyzzy{{{zyyyyzzyyzzzzzzzyxyyyxzyzyyyzyz{zyyxyyzyxzyxyzzzyzxyyxyyzyzzzzyzyzzxzyzyzzyzyyzzxxzzyxyyyyzyyyyzyyyyxyxzyyzzyzy{zzyyyxyyzzzyzyz{yzyyyyyyyyzyyzzzzyyxyxxzyzyzyzzzyyyyyyyyzzyzyzyzyzyyzyxxzyyzyzzzyxyyzxyyzzzzyzzzzzyyyyyyzzzyzzzzzzyyyyzzzzyzzzzzzyyzzyyyzyzzxzzzyzyzyyyzzzyzzzzz{zyzxzzyyzzzzzzzzy{zzzzzzzy{y{z{zzzyzzzyzzyzzz{{zzyyyzyzzzzz{{{z{zzzzy{zy{zz{z{{zyzzzzzzz{{zz{{|{zyzzzzz{zy{{zz{zyzyzzzyzzzzz{z{{yzzzzyzz{z{{{|zzz{zzzzyz{zzy{{zzyzzyyzxy{{{{{zzyyzyyzyzyyz{{yyyxyxzyxyyyzzyzzzzyyyyyyzxyzzyyzzzyzyyyzxxyzyzzzyyyyyyxzyyzyzyzzzzzzyxxxyyzyzzzyyyzyyzyxyxyzyyy{yxzyzyyyyyyyzyzzyzyzzyxzyyyxzzzzyzzyyxyyxyxzzyyzzyyyyzxzzx{yyyzzzyyyyyyxxyzzyxzyzyzyzzyxyyyyyyyyzyzzxxyyyyyyyzyzzzzzyyyyyyzyyzzzz{yzzxyzyyzyyzzzzzyzzyyxyzyyyzzzzzzzyyxzyyzzzzy{{zzxyzyyyyz{zzzzzzzzyzzyyyzz{{z{{yzxyyzyyyzzzyzzzzzzzzyz{zyzzzz{{{yyzyzyzzzzzzzz{zzzzzzzyz{zzz{zz|{xzyzzyzz{{{z{{{zzyzyzzzzz{z{{{zzyyzyzzz{{z{{{z{zyzzzyzzzzy{z{zz{yyyzzyyzzzz{zz{{{zzzy{z{{z{{z{{zzxyzzzzzzzz{{{zzzyzyzzyy{yz{zzyyyyyxzyyzzyzyyzzxyyyyyxxy{{zyzzzzyzyxyxyzzzyyzzzzzzyyxxxzzzyzy{zzxzyyzxzzz{zzyzzzyyyyyzyzyzzy{zzyyyyyzyxyzyzzzzzxyyyyyzyxyzyzzzyyyzyyyyyxyzzyzyzzyyyyzyyyy{yz{yzyyyzxyxyyzyxy{{zyyyxxyyxzzzzyzzzzxzyxxyyzyzyyyyyyyyxzyxxyyzyzzzzyxzxyyyyzyzzz{zzyzyxyyyyyzzzyzzyyyzyyzyyzzzzzzz{zyyyyyzyzzzyy{z{yyzyyyyzzzyzz{zzzyzzyxyzzz{yyzzzzyzzyyzxyzzzz{{zzzyz{zyyz{z{zzzzzzzzy{z{zzzzyz{{yzyzzzzyzy{{zzzyzyzyyyzzy{{zz{|zyz{zz{zzz{zz{{{{{yzzyzzyzz{{z{z{zzz{zyzzzzz{{{z{{yxzzzzzz{z{{z{{zzzyyzyzzzz{{{{zyzzzzyzy{zzzzzzzzyyzzzyyzzzyzzzzyyyzyzyyzzzzzzyzzzyzyyyxyyyzyyzzyxyyyyxxzyyzzyy{yxxyxzyyyyzy{zyzzxyyyxzx{yzzyyz{{zyyyyyxxzzzyyzzzyyxyyzxyzyyyzzyyxyy{xxyzxyyy{zyzyxxyzyxyyzzzzyzyxyxxzxxxzyzyzzyyyyyyyxyzzzyyzzzyxyyyyyxyyyyyzzyyxxxzyzyzzyyyyyzyxyyyxyyzzxyyzyzyyyyyyyyyzzyzzzzzzyyyxyyzyzzzyzzyyzzyxzyz{zyyzz{zzzyyyxyyz{yzz{zzzzzzyyyyy{{zz{yyyyzyzxyyz{zy{zzxyyzyy{zzzzzz{zzzyyyyyzyzzz{{zzzzzzzzyzyyzz{z{zzzyy{yyyzzzz{zzzyzyzyyzyyz{zzz{{yzy{zzzzzzzy{{{|zzzzyyzzzz{{{yz{{{yyzyzzzz{z{z{zz{zyzy{yyzyzz{z{{{z{zzyzzz{z{{{{{zz{z{zzyz{yzzz{{{yyyyyyxzzzzz{zyyyxyyyyyyzyy{zy{yyyyxyxxyyyyzyzyyyzyyxxy{yyyz{zzzyxxyyyyyzzzzyzzzyyyxyyzzzyzy{z{zyyyyyyyyyzyyzyzyyyxyzyyzzzyyyzyyxyxyxyxzyzzzzyzyxyyyyxyyyyyyyy{yyxxyxxxyyzyyz{zxyyzxyyyyyyy{zyzyyyzxxyyzz{zz{{zyyyyyyxxyzyzyzzzyyzxzyyyxyyzyzyyyyyxyzyxzzyzzzzzyxyyyzyyzzzyyyzyzzzyyyzzzyzyz{zzzyyyyyyyzzzzyzzyyyzyyyyzzzyzzzzzyyyyyyyxzzzzzz{{zyy{zxyyzzzyyzyzzzzzzzyz{zzyzzz{zzyyyzyyzzzz{{{zzzyzyzzzy{{z{{zzzy{yyzzyzzzzz|{{zzzzyzzzzzz{zzzzzzzzzzyzz{zzzz{{zzzzyyyz{z{y{zzzzyzyzzzzzzz{z{z{zzzyzzy{y{{{{{z|yzzyyzyyy{z{{{{{zzyyyyyzzz{zzy{yzyyyyyyyyz{z{zxzzyxyxxxyyzyyzyzzxzyxyyyyyzyzyz{z{zzyyxyy{xzz{{yzzzzyyyxzyy{zyyyzyzzxxyzyzyzzy{zzyyyyxyyyyz{yyy{zzyyxyzxyyzyz{zzzyxyyyyyyyyxzyzzzyyyyzxyyzzzzzzyyyzyyxyxyzyzyyzzyxxzyxyyyyyzzzyzzzzyzyyzzyyyyyyzzyzyyyyyyyzyzzzzzzyyyyzzyzzz{zyzzzzyzzyyyzzzzzzzzzyzxxxzyzyzzyyz{yyyyyzzzzz{z{zz{zxzyzyzzyzzzzzy{yyzyyyy{zzz{y{yzyyyzzyzyz{z{{{zzzyzyzyzz{y{{zz{{yyzyxzxxzyzzz{{zzyzzyyzzz{zz{zz{zzyyzzzzz{{zzz{z{zzzyz{z{zz{z{{{{zz{zzzzz|z|z{{{{zz{zzzy{{{zz{zzzzzzzzzzzzz{{zz{zzyzzyzz{zz{zz{zzzzyzyyyy{{{z{z{yyy{zzzyyyzzzzyyzyyxyxyyz{zy{zyyxyyzzyyxyzyzzzzzyyyyyyxy{zzzzz{{yyyyyyyzzy{yyzzzzzzzyzzy{y{zzyz{zyyyyzxyzzzzzzyzzyyzyyyxyzzyyyzyzzyzyyyyzz{zyz{zyyzyyyyzzyyyyz{zyyyyyyzzyzzzyyyyzyyyyyxyyzyzzzzzzyyyxxyyzz{zyzzyyyxyyzyxyz{yyzyzzyzyyyxyzyzzy{zyyyxzyyxyyyzzzzz{z{zzxyyzzy{zzzyzyyzyyxzyzyzzzzz{zzzzzyzz{zyzz{zz{zzyzyyzy{z{zyzzyzyzzzyy{{z{y{{{yzyzyzyyz{{{{{{{|zzzyzzzz{{z|{{zyzzzzyzyyzzzzz{zz{{yzyzzzzz{zz{z{yyyyy{z|{zzz{{{z{zyzzzyzz{{z{{{{zyzzzzzz|z|{{zzzzy{zyz{{z{{z{{{y{zz{{yyzzzz{{{{{zzz{{zzz|{{z{z{{zyyyyzyzzz{z{z{|zzyyzzzz{z{yzy{zyzyyyyy{zzzzzyzzxyxzyyyxyzzyz{{yyzyyyxxzzzyyz{zyyyyxyyyyyyyyzzyzyzxxyyyyyyzyyy{yzzyyyzyxyzyzyyzzyzxyxyyyzzzyyzyyyyyyxyzxyyyyz{zzzyyxyxyzyyxyzyzzxyxyxzyyzyyzyzzyyyxyyxzzzxyzzzyyxyxyxyyyzyzyz{zyxxyzyyyyzyyzzyzyyyzyyyx{zzzzyzyzyzzyyyxzyzyyz{z|yzyzyyzyzzyzzy{zyyyyyyzzyyzzy{{yyyyxyyxyzzyzzzzzzyzyyzyyzyzyzzzyyyyyyzyy{zyzzzzyyzyyyzzzzyyz{z{yyzyzyyzzzz{zzz{zzyzyyz{zz{zz{|{{zyzzzxyzzzzzz{zzyzzzyzxz{z{zzz|zzzzzzzy{{z{{{zz{yzyyz{y{zz|{z|{yzzyyzzzzz{{zzzz{yzyzyzyzzzz{z{{yyz{zzy{yzz{{{{{zzyyzzyzzzyyz{z{zzzzzzyyyzz{zyyzzzzyyyyyyzzzzzzzyyyyyyyxyzzzzyzzyyzyyyyz{z{{zzyzyyyyyzzyzzyz{zzzzyyzzyyyyz{zzy{{yyzzxxyxyzyyxyzzyyyyyzyyyyzxyz{zyyzyzzyyyzyyyzyyyxyxyyyzyyyyzzyzyxzyyxyxyzyzyyzxzxyyxyxyyzyzzzzyyyyywyyxzyzyyyzzyzzyxyzzyyyzzzy{yyyyyyyxyyyzzzzzyyyzzzyyy{yzzz{{zxyyzyzyyzzyzzz{zzzyxyzyzyzzyyyzyxyxyyxyzzz|z{{yyxzzzyyzxyzzz{{{{zzyzyyzz{zzyzzzzyyzzzzzzzzzz{zzyyzzyzzyzzzz{zz{yy{zzy{zzz{z{{{zzyyzyyzyzz{{{z{zzzzzzzyyz{z{z|z{zzzz{yzz{zzy{{{z{zyzz{yyz{zz{{{{{zzzzzzz{{{{{{z{z{zx{{zz{z{zzz{zzzy{zz{zzzy{zzzyzzzyzy{yz{zz{{{{{zxyzzyyz{y{zzzzzzzyzyzyzzyzzz{xyyyyyyzxyzyzzzzzyyxyyyyyzzzzyzzzzyyxyzxzzzzz{yz{zyzyzyxzyzzzzyzzzyyyyyyy{zzzyzzzzzyyyyzyzzzzzyzyyyyyzyxxzzzxyz{zzyzxyyyzzyyzyz{{xyyyyxxyyyzzzzyzyyyyyzzzzyzyyyzzzyzzxyyyxyzzzyzzzyyzyyzxyzzzzyyyzyyyyzyxxzyzzzz{yxyxzzyy{zzzyz{zzyyxzxyyz{zyzzyzyyyzyyyyyzzzzz{zyzzyyyyzz{{zzz{zzyzzzyyyyz{zzz{zyxyzyzyyzyzyyzzzzyzyzyyyz{zzz{z{zyzyzzyyz{{{zz{{zyzzzz|zzzzzz{z{zzzyyyyy{{{{{z|z{yyzzz{z{{zzz{{{{zzy{{y{zz{z{{z{{zzzzyyyz{zzzz|{{zzzzzyz{zzz{{{{{zyyzzy{z{z{{{{{{zzz{{zz{zy{|{{{zyzyy{zyzzyzz{{zzzyzzzyyy{zz{z{{zyzyzyyyzyz{{yyyyyyx{xyzyyyyzyzyyyxyyyxyyyyyyyzzyyyxyzyyyzzyzyzyzyyyyyyxzzzzyyzzyyxxxyxzzyyyzyy{yyyxxxyxyzyyzzzzyyyxxxyyzx{yyzxyyzyxxyyyyyyyzzzzxyxyyxxyxzzyzxyxxyxxxzxxzyyyyzyzyxyyxyxyyyzyyz{zyxxyxyyxzyzyyyzyyzyxyxyyxzyyzyyzzxyxyxxyyyzyyyz{yyyxyzxyyzzzyzz{yzzyxyzyzzyyyzzzzyyyxyyyzzyzyzzzzyyyyyzyzzzzzzzzyyyyzyxyyzzzyy{{zxyzzyyyyzzyzzzzzxyyyzyyzyzzz{zyyyyzyyzyzzz{zz{zyyyzyyyzzyyzzzz{yzyyyyzyz{z{z{zyzyyyyzyzyzzyz{{zyyyzyzyyxzy{{zz{{z{zzzzyzzzzz{zz{yyyzzyyzzz{{z{{zzyzzzzy{{zzy{z|zzyxzyzyzzzyz{{{yzxzzyzyzyz{zzzzyxxxyyxxzyyzzyyyyyyyxxxxxz{yzyzzyyyxyxyyzzzyy{z{yyyyxyyyzyyzzzzyzyzyyzzzyyzzyxzzzzyxxyxyzyyyzzzzyxzxyyyxyzyyyyzyzzyyyyyyzyzyyzzzyyzxxyyyzyzyyzzzyyyyyyxxyzyzyzzyyxyxyyyyyzzzzzyzzxyyyxxyyyzzzzz{xyyxzxxzzyzz{yy{yyyyyyxxxzyyzzzzyyzyyyyyyyzyyzyzyzzxxxyyyzyzzzyzyy{yyyz{zy{zzzzzyyzzyzyyyyzyyzzzzxyyyyzyx{zzzzzzzxzxyyxyzyz{zy{zzyyyyyyzzzyz{z{zzzzy{zyzzz{zzz{zyzyyzxzzz{zzyz{{zzzyyyyzz{{{{{{zzyyyzzyzz{yzz{zzzzzyz{zzz{z{zz{{{zyyzz{z{{{{z{{zz{zzyyzzz{{z{zz|zyz{zyyzy{z{{{||zzyyzzzzzz{{zz{|yyzyyzzy{zz{{z{|zzzyyzyyzzz{y{y{yyyzzz{yyzzzy{yyyyxxzyxxyzzyzzyyyyyxyyyxyyzzy{zzzyyyyyyx{yyy{z{zyxyyyyyyzzzyyyzyyxywxxyyyzzzzyzzyyyyyyyxyyyyyzyzyyyyyyxyxzyyyzzyyzyyxyyzzyzzzzzzzyyyyxyyyyzyyyzzyxyyxyxyy{zyzzzyxxyywzyxyyzzzyzyyzyyyyyyyyyzxyyzyyyxyxyyyyzyyzzzxyzyyzyxxzzzzzzzzxyyyxyyzyz{zyzzzzzyyy{yzzzzzzzyyyzyyzyyz{yzzzz{zyy{yxzzyzy{yyz{yyyyyzyxyz{xzy{zzyzyyxyzzzzzy{zzzyzyyyzyzzy{zz{zzyyzyyzzzz{zyzzzzyyzyyyy{{z{z{zzzyyzzzyz{{{{{|zz{zzzyz{zzzzzzz{{|yzzyzyzy{zz{{z{yyzzzzzzzzz{z|{z{zyyz{yzzz{{z{{{zzzzzzyy{z{zzyzzzzzyzyzyzzzz{z{zzyzzyyyyyyzzzyy{yzyzxzyzyzzzzyzyyyyyxyxyxzyzyyyzyyyyyyyxzzyyzzzzzzyzyyyyzyzyzy{yyxzzywxyyzzzyzyzzzyxyxyxyyyyzzzzyyyxxxzwyzyyxzzzzyyyyyyzzzzzyzzyyxyxxxxxyyyyyzzzyyxyyyyyzzzxzzzyyyyyyywxyz{zyzzzyzyyyyyxyzzyxyzyyyzxxxyyxxyyzzyyyxzxxyyyxyzzyzzzxyyyyzyyzyyyyzzzyxxxyzxyzz{zyzzzyyyyxzzyzzzzyyz{yzzyyyyyzyzzzzzzzyzyyxyyyzzzyzzzyzzyyzxyzzzzzzzyyzyzzxzyz{zzzzzzyz{yyzyzzy{zzz{zzyzzyyyy{{yzzzzzyzzyyyzyz{z{z{{{{zyzzzzyz{{zz{{{zz{zyzzzz{zz{z{z{yyzzzzyz{zzzz{z{zyzyyyzz{{zzzz{{zzzzyzzzzzz{{{zzyzyzzyz{{zzz{zzyzzxzyyzyzzzz{{{zzyzyzyxz{zzzzz{zx{xyxyxyyz{yzzzyyzxxxyxyyyyyzyzzyyzxxxyzzyzzzzyzzxxzzzyzyzyz{zyzyzyyyyxzzzyzyyyyxyyxyyyzzzzzyyzyyyyyyxxyyzyyzzzyxy{zzyyyxyyyzzyyyyyyyyyyyxyzyzzyyyyyyzyxyzyzzz{yyyzyywyyyyyzz{zyyyyyxxxyzzzyzzzyyyyxxxyyzyy{zzzyxyxyyyyyzyxzzzyyxyxzzzxyz{zzz{zyyzyyyyzzzzzzyzzzyxzxyzyyzyzzzyzzz{zyyyzzzzy{{z{zyyyzyzyyzzz{{zzzyzzyxyz{zz{yzzyyyxyyzyz{{yzz{zzy{yyyzyzzyzz|{{zyzz{zyyyzzz{z{{zzzyyzzyyzzzz{zz{{yzzyy{zzzzz{{yzz{yyyz{{zzz{z{zzzz{zzzzzy{z{zz|zzzzzyzzyzzy{z{|z{yzz{zzyz{zzz{{{zzyyzzyzyzzz{{z{zzzyzzzyzy{zzz{zzzzzyyzyz{z{zzy{yzzzyzzyzyzxzzxyzyyyyxyxzyyzzyzyyyzzzzyyyzzzzzzzzyzxzzyx{zzzyzz{zzyyyxxzzzzzzyzzyyyxyzyzzxzyy{yzyyzxzyyyyzyyyzyyzyzxyxyzyzzzx{zyyyxzyyxzzzzzzzzzzxyyyyxxyyxzyzyzyy{xyyyzzzzz{zyzzzyxxyxyzz{y{zzyyyzyxyyxyzzyyzzyyyyzyzyzyyyyyzzzzyyyzzyyzyyzyzzzzzzzyyzyy{yyzzzzyzzzyyzyzzyyz{zzyxyyzzzyzyzzzzzz{yzzyxyy{zzzzzzyyzyzzzyyzzzzzz{zzzyzzyxyzzzz{z{zzzyyzzzy{z{{zzzzzzzz{yzzzzzzz{zz{zyzzyyzy{{z{{{zzyyzzyyy{|zyzz{zzzzyyzzzzz{z{{{{{zz{z{zzzz|{{zz{zyzzzz{zz{{{z{{zzzz{y{yyz{z{{|z{{yz{|zz{zzzzz{{|zzxyyz{{yzz{{z{{zzzyyyzyzz{{z{{zyyzzyzzyzyzzzzyzzyyyxxyyzzzyzyzzyyyyxyyyz{yzzzzzzyyxyyxyzyzyyz{yyzyx{xyzzzzzzyz{yyzyyyyyzyzyzzy{yzzyyyyzyyyyxz{yyzzzyxyyzzzyyzzzzxyyyyxy{xyzy{yzxxyxyzyxxzyyzy{yyzyyxyyyyzyzyyzyzyyzyyxyyzzyzy{zyyzyyyyyyzzyxyzyyxyyxzyyyz{yzzyyyzzzy{yyyzyzzzzzzzzzzyzyyz|yzzzyzyzyzxyyzz{zzzzyyyzyzxxyxz{yzyy{zzzyzzzzy{{yz{zyzzzyzyzxzzzzzzzzzyyyzxyz{zzzyz{{zzzyyzyyzz|{{{zzz{zzzzzzzzyzyz{yyzzyzyyzzz{{zz{yzyzz{yyyz{zy{z{zzyzzz{{zzzzz{{zzzzzzyzyzz{z{z{z{{yyzyzzzz|z{z{zzzzyzzzzzz{{||{{{zzzz{y{zzz{z{{{{zzyyzyyyy{y{{{{zzzyyyzyyzzzzyzzyzyzyyzyyyzyzyzyyxzyxyyyxxyzzzyyzyyyzyxyyxyzzzyzzzyyyyyxyyzzyzzyzzxyyzyxyzzzzyyzzzywxxyzx{yzxzyyzyzyxyyyyzzzyyzzzzxyyxyyyyz{zzzzzzzxxyyyzyyyzyzyyyyxyyxzyyzyyzyzyzzxxyyyyxzyyzzyyyyyyxyyyyzzyzzyzyxyyyyxyyyzyyyz{yyyzyxyxyzzyyz{zzyzyyyzyyzyzzzzzyyzyzyyzyzzzyz{zyzzyyyyy{y{{z{{zzyzzyxyzzz{yzzzzzyyyzyyxz{zzz{zzzzyyzxyyz{zzyz{zzzxyyzyy{zyzzzzzzzzzyzyyzyzzz{{zzzzzyyyzyzz{y{z{{yzzyzyyzzz{zzzzzyyyyzzz{{zz{zz{zzzzzz{{{zzzy{|z{yzzzyyz{zz{z{|{yy{{zzzz{zzz{{{z{zzzzyz{zzzzz{{|zzzzzzzyzzz{{{z{zz{z{yyzz{z{{{zzzzyyyyzyzz{zzz{yyzyzyyzy{z{zyzyyzxxxxyxyzzzzzzyzyyzyyxxzy{zyyy{zzzyyzyzyzy{zz{zyyxyyyyyx{zzzyzzzzyyxxyzxyz{zyyzzyyzyyxzzyz{xzzzyzxyzyzxyyyzyyzzzyxyyyyyyyzyyzyzzxyyyyyyxyyyzy{yzyxyyxzzzyyzzzyyzzyyyxxyxzyy{zy{zyyyyyxyyyyyzzz{zyzxyyyxyyzzzzzzzyzzzzzyyyyzzzz{zzyzyyyxzyzzyzzz{zzyyyyzzzxz{{zzzyzzyyyyzzzzyyz{zzxyyzyyxz{zzzz{{zzyzzyyzzzzyzzz{{zyzyyyz{zzzzzz{yz{yzyxyzz{zzz{{y{yyyzzzzzz{{zy|zyyyzyyzzzz{z{zzzyyxzzzz{{{zz{{{zzzzzzy{yzz{{zzzzzz{zyyzy|z{z{{zzyyzyyzzzz{{z{z{zyyzzyzz{zzzzy|{{{zzzzzzz{z{{|{zzyyxyyyzzzyy{{{{zyyzzyzxzzz{z{zzyyyyyxzyzzzy{zzzyyyyyyyxzzyyzzzzyzxzyxyxyzyzzz{yzzxyyzyxyz{yy{zzyyzyyyyyyzzzyz{zyyyyxzyyyzzyxzyzxyzyyyyxyzyyyzyyyy{yyyyxyy{yyyyzyyyyyyzyyyz{yzzyyxyxyxyyyyzzzzzyyxxyyzxxzyzyzzzyxzzzyyyyyyzyzy{zyyxyyyyyyzyxyzzyxyyyyyyyyzzyyzz{zyyyyyyxzyzyy{zzyyxyyyxzzzzyzzz{zzzyyyzzzzzzyzzyyyyzzzyyyzzzzzzzyyyzzxzyyyy{zzzzyyzxzyyyzzzyzz{zxyyyyzxzz{z{zzzyzzyyxzzzzzzzzz{zzzyyzx{yzzzz{zzzyzyzyyxyzzz||{{{|yzyzzzz{{{z{z{{zzzz{{zzyzz{z{{zzzzzzyzyy|{z{z{zyyzzzzzz{z{zzzzz{zzyyzyzzzzy{z{|z{yyyzzz{zz{zzzz{yzzyyzyzz{zzzz{{zzzyzyyy{zyzzzzzyyyyyzzzzzyzzyyxzyxyxyyyzyyxzyzyzxyyyyxyyzyyzyyxxyxyyyxyyzyyzzzzzyxyyxxxzzyyyzzyxxxyxyxzyyxyzzzyyyxyzyzyzzzzzyzzxyyxywxyzzyyyyzxxywzyxxzyyzxzyzxyyyxyyxyyyzyzyxyxyyyyxyzzzy{xyyzyzxyxwxxzzyyzzyzyyyyxyxyzyyzzzyyyyxxyyxyyyzyzyyzyxyyyzyyzzzzyzzyxyyzxyyzzyzzyz{yxzyyyzyzyzyzyzzyzyzxzyyzzzyyzzyxzzyzxyyyyy{zzyzyyyyzxyzzzzyzz{zzzzyyzyyyyyzyzzyzyzyzzyzzzz{zzzzyyyyyyzy{zzzy{zzzyy{yyyyzzzyzzz{zyzz{{zy{{{zzz{zz{yyzzzzyz{zzz{zzzzzyzyzy|y{zz{zzzzzzz{zz{zz{{{zzzyyyyyz{zzz{z{{zzyyyzyyy{{zzz{yzyyzyzzyzyz{yyz{zyyzyzyyz{y{yyzzzy{yzwyyzz{yzyyyxyxxyyyxxyyyzxzzyyxyyyyxyyzyyzzzyzyxyxyy{yyyzzzzyyyyxzyxyzyyyyyyzxxyxxxyyyzyyyzzyxxyyyxyyyyyyzyyzyyyyxxyzyy{y{zyyyywxxyxyxyzyyzyxxyyyzxyyyxyyyyyyyxxxyxyxzyzzyyyyyyyxyyzyzxzyzzzyyzwyxxyxyyyyyzzzxyyyxxyyzyyzzzzyyxxxyyyyxyyzyyzyyxyxxyyyzzyzyzzyyzyzxyyyzyyzzzyyxyyyyyyxyzzzz{zyyyyyyyyyzyzyyyyzyzyyxyz{z{zzy{zzyxyyyyyyzzzzzzzzzxzzxyyyz{zz{zyxyyyzyzyzzz{zzzzyzyyyyyx{zz{zzz{zyyyyyyzzz{z{z{zzzyyzzyzzyzyyz{{|yy{zyyzz{zz{{zzzyyzzzyzz|z{{{{zyzzzzzzyzzzz{zz{zyyyzzyzz{zyz{{{zyyyyyxyy{{z{zzz{yzzzyyyzyzzzzzzyxyyzyzyzzzyzyyyzzxxxyxwyzzyyzyyyyxxxyyxy{zyzzzzzzyzyyxyzyzyzyyyyyxyyyxzxyyyyzyzxyyyyyzyyyyzxzxzxxxxyyyyxyyzyyyzzzyyyyyyyyyyyzyyyyyyyyxzyyzzyyzzxxxxyxxyyyyzyzyzyzxyyyxyyyzzzzyzyyzyxyxxyyzzyyzyyxxyzyyxyxzyyzyzzzyyyyyyyyxyyz{zyyyxyyyyxzzzzz{yyyxyxyyzzzyyzzyzzyxyyxyyzzyyyyzzzyzyxyxzyyzzyzzzyzyyyyzyzzyxzzzzyyzxyyyyzz{zzz{zzyzyyzxy{{zyz{zzyyyyyzzzz{zzzz{zyzyzzyzzzzyyy{z{yyzzzyzzyyzz{yzz{yyyzyyy{yzzz{{{zzzyzzzy{zz{zy{{zzyzzzyzz|zz{zy{zzzyyyzzy{z{z{zzzxyzyyzzzyzy{zzzzzyzyzzyzzz{z{{zyzyyzzzzy{{zzz{zzzyyyzzzyzyzy{zzzzyxyyzxzyzzzzyzzyyxyyxxx{zyzxz{yyyyzxyxyyyyyzzyzy{xyzxyzyzyzzzyyxyxyyxyxyzzyyzzyyxxyyyxyzzzyzzzyyyxzyyyyzxyyyzyyyyyyyyyyyyzzzzzyxyyxyyyyzyyzzyzxyzxxxxyyzyyyzyxywxxyyxyzyyzzyyyyzyxxxxxyyzzyyzzyxyyyzyyxyzyxzyyyxxyxzyyyzyyyzyyzyzyxyyxyzzzzzzyzxxyxxyyzzzzzzzzyyyzyxyzzzz{zzz{zyzyyyyzzzyzzyyzyyyyzyyyyyzzyzyyzzzzzyyyyzzzzzy{yyyyyxyyzzyzzzzyyyyyzyyyz{zz{{zzyzyxzzyyzzzzzzz{zyzzyyxzy{zzyz{{zyzyyzyyz{{z{{{{yyyzzzzy{yzzzz{z{zyyzzyyz{|{zz{z{zzzyyz{z{{{zzzzzzyz{yyy|z{{{zy|zzyzz{x{{{zyz{zzzzzxyyzzz{zzzz{yzyyyyyyyzzzzzyyzyzyyyyyyyyyyzyyyyyyxyxyxyyyxzyyzyyyxyyxyyzyyzzz{yywwyxzyzxyyzyyzyyyzyyyxyzyzzyzyxyyyxyzxyzyzyzy{xzyyxzyxyzyzyzzzzxyxyyyxyzyyzyyyzyyyxxxyzyyyyyzzyyyxyxyxxyzyzyyyyyxyyyyxyzyzyyxyyyyyxyxyxyyyyyzzyyyyyyzzyzyyyzyzyxyyyxyxyzyzyyzzyzyxyyyyyz{yzyzzyyyxyxxyyzzyyzzzzyyyyyyyzyyzzz{zyzyyxyyyyz{yz{zzyzzxywyzzx|{z{zzzyyzyyyyyyyzzzzzyzxzyy{zy{zzzyzyzzyyxxyyzzzz{{{zzz{yzzzzzzzzzz{{zzyzyyyy{y{zzz{zzxzyzzzzz{zzzz{zyzyyzz{zzzzzzzy{{zyzzyzzyz{{zy{{zzz{zzyyzz{z{zzzzz{{yzyzzzzz{{{{zzzzzzy{{zz{{{{zyz{y{zzyzzzzz{{zzzzyzyzyy{zzz{{zyzzzyyyxzzzzyyyyzxxxyxyyxyyzzzzzzyxxyyyyyyzyzz{yzyyxyxyxzyzzz{zzzzyzyyxyyzzzyyyyzzyyyxyyyyzzyzyyyzzyyyzyyyzyyy{zzyyyyyxyyyzyzyyzzxyxyyxyyyzyyy{zyyxyzzyyyyyyyzyyyxwyyyyyy{yyzz{zyxyxyzyyyxzyzyzzyyyzzxxyyyyyzzzy{yxyyyyyyzxyy{{yyyyyyyyyz{zyzzzzzyyzzxyyyyyyz{zzyyzyzyzzzzzzzzyzzyyyyyzyzzzzzzzzyzyyzyyyyzzzyyzzzyyyzyyyzzzyy{zzzyzzyyzyzzzzyzzyzzzzyzyyzzzzz{zzyyzyzzzyzzy{z{{{yzyzyyzzz{zz{z{yyyzzzzzzz{z{z{{zzyzzyzzyy{zzz{{zzzyyzzzz{{zzzz{{zzzzzyzyzz{{{zzy{zzzyzyzzz{{{{z{y{zzzzzzzzyz{{{{{zzyzzzzzyzxzzz{zzyyy{yxyzy{yz{zy{{zxyxxyyzy{{yzyzyyyyxxyzzyyzzyyyyyyyzyyx{z{yz{zyxyyyyyzxyyzz{zyzyyyzyxyzzzyxyzzyyyyyyyyzxyyyyzyyyxyyzyyyyyzzyz{yxzyxzxyyyxxyxzzyzxyyxzyyzzzzzzyyyyxxyyyyzyzzyzyxxxxyyxyzzzzyzyyyzyxxxyyzzzzzzzzxxyyyxzyyyyyy{yyyywxyyyzzxzz{zzxyyyyzxyyzzzyzzzyzyxzxzzyzzzzzzzyyyzyyyzyyzzyzz{yzzxyyyyyzzy{zzzzyyyzyxzzy{yy{zzyzzyyyxyyzzzyyzyzzyyyzyyz{|zzzzzyyyyzyyyyzyzzz{yyyzyxzzz{y{{z{z{yyzzzzzzz{{z{{zzzyz{yyzzzzzz{z{{zyzzzzyz{{y{z{zz{yyyyzyzz|z{{z{{zzzzzyzzzzzzz{{zzzyzzzzzz{z{{zzzyyzzz{yz{y{z{{{zyzzyz{yy{{zyzzzzzzxzzyyyzzy{zyzzzyzxyyxyzyzyyzzyxyyxyxyxy{zyyzyzyzxyyxyyyyyzzzzzzxxyzxyxzyyyzzzzzyyyyyyyyz{yyyzzyyyxyxyxyyzyx{yzyyzxyyyyyzyzyzyzzyywyyyyyxyzyzyzyzyxyyxyyyyyzzzzxzxyyyxxyzyzyz{yzxyyyxyyzzyzzzyyxxyyyyyyyxyyyzzyyxxzyyyyxxxyyyyyyyxzyxzyy{yyxzyzxyyyyyyyzxyzyzzzzyxxyyyzyzyyyyzzzzzzyxyzzzyzzyz{yyzyyyxxzyzzz{zyyyzzyyzxyyzyy{zzzzyyyyyzyyzyyz{yzyyyyyyz{zxzzzzy{yyyzzyzz{zzzzzzyz{yyyyyzzz{{zzzzzyyzzyyzzzzzyz{|yzzzyzyzzzzz{zzzyzyzz{zz{zz{yz{zyzzy{zyz|zzzz{{yyzzyz{yzz{{{{{{{yyyzyzyzyzzzz{|zyy{zyyyz{yzz{zzzzyyxyyxyzyzz{zzyyzzyyzyz{{yzzyzyyzyzyyyzzzzyzxzyyyxyxyyxyzxyyzyzyyyyxyyzyyzyyzzyzyxyxyyyzyzyz{zyxyyyyxxzzyzzzzyzxyxyxyxyyzzyyyyyzzxyyzyyyyxzzzyyyzyyyyyyx{yyyyyyzyyyzxyyxyzyyyzxyyyxxyyyyyzyzzyxyyyxyxyzyzyyyz{yyzxxyyxyyyyzyzzyyyyzxyyyyzyyxyyzyyxxyyxyyyzxzzyzyzzxzxxxyyzzy{{zyyzzyyyzzyzzyy{zyyyyyzzyyyzzzzyzyyxyxyzzyyyzyzzyxxyyyyyyzzyyzzyyyyyyxxxyyzzyyzzyyyyzyyxzzyxyzzzyyyyzzyzyzzzzzzzzzzyzyzzzzzzz{{|zyzzyxyyzzzzzzz{yyyyzyzzz{zyzzzzzzzyyzzzy|zzzz{z{zyyyyyzy{{{{z{{zyz{yxyyz{z{zzz|zyy{zyyzzzy{zz{z{{zzzz{zyz{z{{zzzzzzzyzzxz{zzz{zzzyyxzzyy{y{yzzyyyzyxyxxyzzzzyzyzxyxyyxzwyzyyzzyyzyxxwyyyyyxyzzzyxyxyyyxzxyzz{zzzxyyyyyyyyyzyz{zyyyyxyyxyzzyyzyzyxyzyxxxzyzyyzyzzyyyyxxyyyzzxzyyxyzxyxzyzyyyyyzyyyxwyxwxxyyyyzzxzyyyyyxyyyzyzyyyzxyyyxxyyzzzyyzzzyxyzxyyyyyyyyyzyzyxzyyxyzyyyzzzxxyyyyyzyyy{zyzyzyxyyyyyzyzzyzy{yyyyyxyyzyzyy{y{yyyyxxyyzzzyzzx{zyyyyyyzyzyy{yyzyyyyxyxxyzzyyzzyyyyxyyyyzzzyzyzzzyyyzyzzzz{z{zz{yzyyyy{zyzz{zzz{yyzyyyyzzzzzzyzzzyzy{yzy{zz{z{zzzzzyy{yzzzzz{z{{zxyyyzxyyz{{{{z{zyzyyzzy{zz{zz{zzyxzyyyxzzyzz{zzzzyyyyzyzzzzzzzzzzzzzyyyz{z{zzzzzzyzyyyxz{xzyxzyyyyyyzxyzyzyzxyzxxzwzyxxzyzzyyzyyyyxywxyxyyzyyyzyxxyyyyxyyzzzyzyxxyyyyyyzyyzyyyyyyyxyyyxzxzyyyyzyyyyxyyyxzyyyzzyyyyyxxzyyzyxyyyyxxyyyzxyyxzyyyyyyxyyyyyxyy{zyzzyyyyyxxyyyyyyyzzzxyywxxxxxzzzyyzzxyxxyyyxyyyxyyyyyyyxyzxxxxxyzyyzyyyxxyyxxzyzy{zzxyxxyzyxyzzzyzyzzyyyzzzyxyzyzzzyxzzzyzyzzyyzyzyzyyyyzxzzy{yyzzyzyyyxyyxxzyzzy{zyyyzyzxyz{yzyxzzzzzzzzyyyzyz{zz{zyyyxzz{z{zyzyzzzyyzyzyyxzzzzyzyzzzyxzyyzzzz{yz{zzzzzyz{yzyyzz{z{yzyyzzzyz{zzzzz{{z{yzyyyzz{yzzz{zyzyzyyyzzzyz{{{{zyz{yyz{zzz{z{{zyyxzyzxyzzzy{z{zzyyxyyyzyzyzyzzyyzyyyyyzzzyzyyyxxyxxxyxyzyzyzyzzyyyxyyyzy{zzzzzyyyyxyyy{zyzyz{yyyyyyyyyyyzzyyyzyyyyxyyyyyyzyyzyyyyyyxxyxyzxyzyyxyxxyxxyyyzyyzyyyyyxxyxxyyxzyyzyxyyxyyyyyyyyyzzzyxyyxyxyxyyyzzzyxyyyyzyxyyzyzyzzyyyxxyyxyzyyyyyyyyyyyyyzyyyyyzyyyyzyxxxxzxyzzyyzzxzyyyxwzyyzzzz{zyzzyyyyzzzyyzyzyyyyyyyyyyy{zzzzyyyyxyyxyzzzyzyyzyzyyxxyzzyzzzzzyyyzyyyxzzzzyzzzzzyyzzyyzzzzzzyzzyzyzy{yzzzzz{z{zzzyzyyz{{{zzyz{zyyyzzzyyzzyzzzzzzzzyzyyyzzzzyzz{zyzyzyyz{z{z{{zzzzyyyzy{z{zy{{zyzyyzzyzzzz{{z{{zzxzyzzzy{zzzz{|zyyyzyyyyzy{yzyzzxyyyzyyzzzzyyzyyzyzywyxyyz{yzzxyzxyxyzxyzyzyyzyxyyyzyyyyyyyzzyzyxyxyxxxzzyz{yzyyyyyywxzyyzyyyzyyxxxxxxxyyyyyyyyyyyxyyxyxzyyyzzyzyxyyyxxyyzyyxyzyzyxxzxxzxyyyyzzxxyxxxxxyzzyyzyyywxyyxwyyxzyyzyzyyyxxxxxxxyyyzyyyxyyxyyyxyyzyyyyyyyxwxywwzyyyyyxzyyyyyxyxxyzyzzzxxxyyxyxzz{zyyyzyxzyyxxyyyzzz{yzzzzyxyyzzzyyyy{zyyzzzyyyy{yzzzyzyyyyyyyyzzyyxzzzzxzyxyyzyzzyyyyzzxxxxzyyyzzzzz{zyzyyyyxyzyzzyzz{zyzyzyyyzzyzz{zzzyyzzzzyzzyzzzzzyzzxz{zyzzzzzzz{{zyyyyzyyzy{z{{z{yyzyzzzyzz{zz{z{yxzzyyyzzzz{zz{yyzzzzyyzzy{z{zzyzyyzyzz{z{y{zz{zyyyzyxyzzzzyzzzzxyyyyzzzzzyyyzyxxxxyyyxyzyzzyyzxyyxyxyxyyyyzyyz{yyxyyxxyyxyzzzyyyxyxxxzyyzyxxy{yyxxyxyxyyyzyyzyyxyxyyxxxyzyyyyyyxzxyxzyxyyzzyzyzyyxxywyyyxyzyzyxyyxyxxxxyyxyyyyyyyxyyyywyyyzzzyxyzywyxyyyyyyyyzxyxxxyxwxyyyyyyzyzxyxxxxyyxxy{zyyyyyxyxxzyyyyxyyzxxyyxxyyyzyyyyzzyxyxyyyzyyy{yzyyzxxxyyyyzzyzz{zyyyyyyzyyzyyzzzzzxyzyzzyzzz{z{yyyyzyyxxyz|zxyzzzyyyyyyyyyyzzyzzzyzxyzyzyzzzzzz{zyyyyzyyyyzzzz{{z{yyyzyyyy{zyz{{zzzyyzyyzzzz{zz{zzzzyyzxyyzz{zzzz{yzyyyzz{z{zz{zzzzyyzyyzyzzz{zz{yyzz{zzzz{y|z{zzzyyyyyyzzzz{yzzzyzyyyyzxyyyzyyyzyyxyyyyy{xzyyxyxyyxxyxywy{yxyyzzxzyxxyyyzyyyzzyzyyyxyyyxxzxyzyzzzxxyxyxxzyzzzyyyxyxyxxyxxzyyyzz{yzxyyzyxyyzzyzzzzyyyyyyyyyyxy{zyyyyyyzzyyzzzyyzyxyxyyyxxxyzzyyzyyxxyyxyyzxyyyyyzxxyxyxyyyyyzyyzyyyyyyxxxyyzyyyxyyyxyyyyyzyyyyyzzyyyxyyxxyzyyyyyzzzxyyxzxzyzzzyzyyyyyyxyzyzyyyyyzyyyxxxyyzzzyyzyyyzyxyxyzz{{zxz{yzyyyyzyyyzzzz{zzyyyxyzzyz{zyyz{yzyyyzzzzyy{zzyz{zyxyyzzyyzzzzz{{yzxzyyyyz{zzz{zyzyyzzzzyy{{z{z{zyyzyyyyyzzzzzz{zzyyz{zzzzzyz{{{{zzzzyyyz{yzzzz{z{xzzzzyzzzzy{z{{yzyyzyzz{zz{zzz{zyyxzyyyzzzzzz{zzzzxyxzzzz{zyzzzzyyxyyxy{yzyzzyyyyxxyxxyyyyyxzyzyyyyyxxxyyyyzzzyzxzyzzxyyzzyzyzyzxyxyyxyzyzzyyzyyxxxyxyyxyzzyzyzzyyxyyyxyyyzyyzzzyzyzyxyyyzyyyzzyyyxyyxyyxyzyyzyyyyyyyyyyyyxyyyyxyyyxxzyyzzyyzyyzzzxxxyyyzzzyzzzyyyxyyyxyyyyyyyzyyzxyxzyyzzyyzzyyyxxyzyyyyyzzzzzyyyyyyyyzz{yzy{{yyyyyzyzzzzyyzyyyzzyywyx{yyzzzzyyyzyzxyyzzzzzzzzyyyyyyzzzzzyyy{{yzyzyxzzzzzyz{zyz{yz{yyzyzz{z{{zzzyyyyyzz{z|z{zzzyy{yyyyzzzzzyy{zyyyyyzz{zzzzz{zzyzzz{zzzzzz{z{{zyyzzzyzz{z{{z{{zzz{yyyyyzzzz{zzzzxzyzyzzzzzzz{{zzzyyyzzzzz{zzz{yzyxzyzyzzzz{{{zzyxzyyxxyz{zyyzzyzyyzyzyz{{zzyxyyxyyxyyxyzyyzyyyyxxyxxzyyzyzyzzyyyxyxyyyyyyyzzy{{yyxzxyyxyzyxzyzyyxxxxzxyzyyzzyzxyyyxyxxyyyyyzzzzyxxyyyxyyyxyzzyyxyxyxyyyyyyyzyyyyyxyzyxzyyyzzyyyxyzyywyyzzyzzzyyyzxyyyzyzzzzzzyyxxyyxxyyyyyxzyyyyyxyyyyzyyxyyyyyyyzyyzyzzzzyyyzyyyxzyxyzzzzzzyzzzyyyyyyzyzzy{zyyyyyyyyyzzyyyyzzzzzyyxyyzz{yyzzyyxyyyzzz{zyyyzzzzyyyxzzzyyzyz{zzyyyzyzyyzzzz{z{{zxzyyyyyzzzz{{{zyxyyyxyyz{zz{zzzzzyyz{xyzz{{y{|{zyzyzzzyyzzzz|zzyyyzzyyzzz{zyzzzzyzyzz{zyzz{zz{zzyzzyyzyyz{zyz|{zzyyyzyz{zyz{{|{zyyyzyyyzyzyzz{yyyyyzyyy{zyzzzzyzzyyyyxxyzzzzzzzyzxyxxyyyzzyyxyzxzyxwyyyzzyyzyz{xyyyxyxyyyzzzxzyyyyyxyxzyyzzy{zyyyxxwzyxzzz{xyyzyyyyyyyyyzyyyyzyyyyxwxyyyzyyyyyzyyxxxyxzyyyyyyyzywxyyxyyxyzzy{zyzxxxxyxyyyyyzzzzyzyyyzxyyzzyyyzyyyyyzyxxxyxzyyyzyyxwxyxxyyyzyzzzyyyyyzyyyzyyzyzzzxyyyyzyyyzzxzyzzyyyyxyyzzy{yzz{xyyyxyyxyyzzyyzyyzzzyyzyy{zzyzzyyxzzzzyxyz{yz|zzxyyxyzyyzzy{y{zzyzzzyzyzz{zz{zz{yxyyyyzyzzz{z{{{zyzzyyzz{z{{{{zz{xyyyz{y{{yzz{{{zzyyzyzzzzzzz{y{{yyzyzzyy{z{zyzzzzzyzzzzzz{zzzzz{zzzzyzyzzzzzz{{yzyzyzzyzzz{zzzzzyzxyyyzz{zyy{z{xyyyxyyxzzz{{{zzyyyzxyyyy{{zzyyyxxxxyxxxyyyxyyyyxyxyyxyxzyyzyyzzyyxxyyyxyyyyzzyyyyyzyyyxyyyyyyyzyzyyyxzxzyyzyyyzyyyyyxzxy{yyyzzzyxyxyyyx{zzyyyyyyyyxwxyyzzyzyyzyxyyxyxyyyzyyyyzyxxyyyzwzyzyyyyzxyyyyyxxyyyyzyyzzxyxyyxyxxyyyzyyzyyxyxxyyyzyzyzyyyxyxyyyxyyzzyyzzyyyyxxxzyzyyyxyyzxyyyxzzyyzzyzzzxyyyxxyyyzzxyz{zyyyxyyxyyyzyzyzzyyzxyyyyyzzyzz{zyyyyzyyzyyzyyzzzyyzyyyyyyyzz{{zzyzyzyyyz{zzzz{zzyzyyzxxzyzzzzz{y{yyyyyzz|z{yz{z{{zyyyyzyz{zzz{zzzzyzzyyyy{zzzzzyyyyzzzzyz{zzzzzzzyyzyzzzzyz{{yz{zzyzyyzzyz{{yzzzzyyyzyyyyz{{zz{zyzzyxzxyzzyzzyyyyzyyyyzyyzzyyzzzyxyxyyxxxzyxyyz{zzyzxxxyzzyyzyyzyyxxzyyxzzz{yzzyzxyzxyxyzyyzzzyzyyyyyxxyyxyzyzyzxyzxxxxxxyyxxy{xzwyyyxxxzzyzyzxyxyyyxzyzxyyyyzz{yyxywxyyzzyzy{zxyxyyxyyyyxyzyzyyyxyxxyyyyzyyyzyzyyxyyxxyyzyyxyyyyyxyyxxyyyyzyzyzyyyxxyyxyyzyyyzzyyyxyxyyyzyyyxy{xxyxxxyxyzzyzyzyyyzzxyxyzzyzyzyyzyxxyyyyyzzzz{yzyyyyzyxyyyzyzzzyzyxyyyxyzzzzzyzyyyyzyzxyzyzy{zyzyyyyyyzxyyzzyzz{{yyyyxyzzzzzzz{zzzzzyyzzz{zyzz{{yyyyyyzzz{zzyy{z{yzzyzy{zz{zz{zzzzyyzyzyzzzzzz{y{zy{zzzzzzz{zyy{zyyyzyyzzz{z{yy{zzzxyzyyzzyyz{{zzyyyxyyyy{zzzyzzyzzxyxyyzyyzxzzzyyxyxyyxxzzxxyyyxxxyxyyyzyzzyzyzzyxxyyyxyzyyz{zzzyxzxyyxyyyyyyzzzyyyyyzxyyyzyzyyxxyyxyyxyzxyyzzzzyxxyxyxyzzyyzzyxyyyyyyxyyyzxzzyyxyxxyxyzyyzyzzxyyyzxyyyxyzyyz{yyxzyxxxxyyzyyyyzyxyyyyxxyyyxyzyzyyyyxyzxyyy{yyyyyxzxzzzxyyzzyzzyzyyyyyyxyzyxyzz{yyzyyyyyyy{yzzzzyyxzyyyyyzyyz{zzyzyyyzyyzz{zzzzyzyzyzyxyyyzyzz{zyzyzyzyzzzzyzzzzyzyyyzyyy{{zz|y{zzyzzyzyzzyzzz{zyyyxyyyxz{zzzzzz{yyx{yyyz{{yzzz{yzyzzzyzyzz{zzyyzyzzzyyzz{zyzz{yzx{zyyzyyzy{y{{z{z{yyyzzzyzzzz{zzzyyzzzyzzzz{zz{zyzyzyzyzzzzz{{zzzyyyyyyzyy{zy{zyyy{zyyyzzyzzyyyxyxwyxxxxyzyzyyyyyxywyyyyyzyzyzyyyxyyxxyyxzyyyyyyyyyyxyxyzzyyyzyyyyxxyyxyyzyxzyzyxyxxxxwyzyyzyyyyxyxxyxxyxzyyzzyxxxxyzyyxxyxyxyyyxxyyxyxyyyyxzy{yyxyxywxyyyyyyzyyyyxxxxxzyzyzyzyyxyxxyyxyyyyzyyyyxywyxxxyyyxyzzyxzxyxyzwyzyyyyzyyxyyyxxyyzzzzzzyyxyxyyyzyyyzzyyzyyyyyxyyyzzyyzzzyxyyxxxyyzyyy{yyyyxxyxyxzzzzyyzzzzyyyyyyzyzyyyyzyxyyzzyyyxzzzzyzyzzy{zzxzyyzzzzyzyyyyzyyzzzz{y{yzyyyyyyy{zzyz{{{zyyxzzzyyzzzzzzyyyyyyzyyz{yyzz{zzz{zyyyzzzyzzyz{zzyzyzyyzyyzz{zzyyyyzyzyzzz{zyzzzyxyyzyyy{{zzz{zzyyyxyyxyzxzyyzzyxyyyyyzz{yzyyyzxyxxxxyxyyzyzyzyzyyyxxxyzyyyyyzyyyyxxyyxzyyxxzyyyxyyxxxyzyyyyxzzyyxxxxxxyyzzxz{zzxyxyyzwx{yxyzzyyxyxyyyyyyzxyzzxyyyxxyyxyyxyzyzzyzxyyyxxxyyyxyyyxxxxyyxyyyyxyzyyyyyxxzyyyzyyzyzzxyyxyxyyxyyyyyzzyyyxyxyyyzyyyzyzyyyyxyyxyyyxyzzzyyyxyyyyyyzzz{zzyxyyxxyyyyyzzzzzzyyxyxyyyyxyyyzyzyyyzyxxyzzyzzzyyyzyzyyyyzyyzyzyyxyzyyxyzzzzyzzyzyyyzy{yzzzyz{yzzyyxzzyzy{zzzyzzzyzyzxyyzzzzzzzyzzxyyxyzzzzy{z{zzz{yxzzzyz{z{zzzzzzyzyy{zzzyzzz{yxyzxzzyzzzz{{zzyyzzyzyyzyyzzyzzzzyzyyzzzzy{zzzzzyyyzzzzzyzyzzyzzyyyxyyxzzyzyyzzyyyyyyzyyyzzyzzyyxyyxyyyzzzxyyyyyxyyxyyxzxyyyzyzyyxyxzyzyyyzyzyyzyyxzxxyyyyyxyzyxyxxyyxxyyyyyyyyxxyyxxxxyzyzxyzzyyyyxxxxzy{yyzyzyxyxxzyyzyyxyyyzyxxxxxxxyyyyyyzxyxxxyxyxxzyyyyzyyyxxxyxxzzyyyyyyyxxyyxyxyxyxyzzyyzyyxxwxyyyzyyzzyyyzyxyyzyyyzyzyyxyxzyyyyzyzyyy{ywzyxwyyzzzyyzz{yyzyxyxyzyzzyzzzxyzyyxyyyzyzzzzyyxyxxyxyzyzyyyzyyyxyyzyyyz{yy{zzyyyyzyzyzzzzy{{zyyzy{zzyzyzz{z{zyxyzyyxzzzyz{zz{zyyxyzyzzzyz{z{{yzzyy{{zyzzzzzzzzzyxzyyzz{zzzz{z{{yyxzyyzzzz{zzzyyzyyyyzzzyzyz{yzxyyzyy{zyzzyzyzyzyyyzyyzzyzyyzzyzyzyxyyzzyyyzzzzyxyxyyxyzzyyxyyxyyyzyyxxyzzyyyzyyyyyyxyzyzzzzyzyyyyxyyyyyyz{zzyyyyyxxyzyyzzxxzzyyzxxxxyzyzzzyyzyyyxyyyyyyyyyzyyyyyzyyyyyyzxxyzzyzyywyyyzzzyyyzyxxxyxyxxyzyyyzzyyyxyzzyyyzzzyyzyyxyyxyxyyzyzzyz{xyyzyxyyxyzzyzyyzxxyxxyzxyyyyzyyyxyyyyyyzyyzzzzzzyyyyyyyzzyzzyyzyxzzyxyyzyzyyzzzyyyyyyyyzzzz{zyzyyyzyyyxzyy{zyyzzyyyyzyzyyzyzzzy{yzzyyyyzzzyyzzy{yyzzzyzzz{{zz{zy{yyyzzyzzzzzz{{zyyzzyyyzz{zz{zzzyyzzyzyz{{{zz{zzzzyzyyzzyzyzz{{zzzz{zzyyzzzz{{zyyzzxyyzzzyzz{z{zyyyzzzzzzzzzzz{zyyyyyy{zzyzz{y{zzzyxzzyz{zzzz{zzzyyzyyzzzzzxzzzyyzyxxyyyzz{xyyyxyxyyyyyyyzyyzzzzyyyxyzzyyzzzyzzzyxyyyzyyzyyzz{zyyzxyyxxyzzzyyzzzzyyxyyxyyzzzyz{yyzxyyyxyyzzyyyyxxyyxyxyyyyyzzzyyyyyyyxyyyxzzzz{yxzxxxyyyyzyyzyyyyyyyyzyyxyyyzzyyyyyxyxxxzyzzyz{yzxyxxyyxzyxyyyyyzxxxyyyyyzzzyyzzyyxyzyyyzx{{z{xyyxxzxyyyyzz{zzzyyyyyyyyzzzz{zzzyyxyxyyyyzzzyzyyyxzzxxzyyyzzz{zzzyzyyzyxyzz{yz{zzyzyzyyzyzzzy{z{zyyyzyyyy{z{{{zyzyyyzzzxzyzzz{{{zyzyzyzxzzzy{|zz{yzzyyyzzzyzyzzzzzyyyzzzzzzzzzyzzyyzzzyyzz{{{{{{zzzzyzzy{z{zy{{yzyyyzyzzz{zzz{zz{yzyzyyzzz{zzz{z{yzyyyzy{zzz{{|{zyzyyzyyzzy{yyzzyyyyxyxyy{zzyyzzyyxxxxyyyzyyyyzzyyxxyxxyzzzyzyzyzzxxyyyyzzyyzzyzxxyyyyxxyyy{yzzyyyyxyyyx{yzzyzyzyyyyxyyxyzyyzzzzzyyyxyyxyxzyyzyzxyyyyyyyyzyzz{yyxyzyyxxxyyyyyyzzyxyyyzwxzzzzzyzyzyyxyyxyyyyyzyzzyyyzyyxxwyyyxyzzxxxyyxzxyzzyxzyzyxyyyyyxzyyyyyzzzyyyyyyyyyzzzyyzyzyzyyyxyyzz{zzzyyyyyyxyyz{yzzzzyyzyxxyyyyzzyzz{zzyxyzyyz{zzyzzzyyyyyyzyzzzzyzyyzyzxyyzyyz{z{{{zzyyyyyzyzzzz{yzyzyzyxyxzzz{zz{zyzyyyzxzz{zzzz{zyyzyyyyyz{zzz{{zzzzzzyzzzzzzz{zzzzyyzyyzz{yz{yyzzzyzyzyyzyzzzy{{{yyyyzyyyy{z{{zz{y{yyyyyyyzyyyz|zzzzyyzyyzzz{yyzzzzzzzxzyzzyyzzzyxxxyxxxyyyyyzyzzyyyyxxxxy{zzzzzzyzxyxzxxyyzyzyzyzyyyxxyyyyyzxyyzzxyxyyyyzyxyyxzzzyzxyzxxyxzzyzzzyxxxyxyyyyzyxzyxyxyxzxyyxyyyyxyyxyyxyxyxyyyzzyzxyxyyxyxxyy{xzyz{zxyxyxyyyzyzxyyzzwyyyyyyyyyxyyzzyyxxyxxyyzyyzzy{yyzyyxyxyyyyyzy{zzyyyxyzzzzyyyzzyyxyyyyyyyyzzyyzzyzxxxyyyyzz{yzzzyzyyxzyyzyzzzzyyzyzyzyxzyzzzz{xzzyyyyyyzzzzyz{zyxzyzzzyyz{zzzz{yzyzyyyyz{z{z{z{zzzyzyyzy{zzzz{zzyzy{zzyz{zzzzz{z{zzzzzy{zz{yzzzzzyyyyzzy{z{z{z{zzzzyyyy{{y{{zzzyyxyzyzyzy{y{{{zzzyyzzyy{zzzzz{zzyxyzzyxyzzyyzzz{zyyyy{zyzy{zz{zzzyzzyyyzyyyyyyzywyyyxxxyyy{zyzyyyzyyyxxyyyzzzyzyxyxxxyyyyyzzzyyyyyxyyxyxyyzyyyyyzxxzyxyyzzzzzyzxyxyxyyyzzyyyzzyzxyxxxxxxzyxyyzyzxxyyxyyyyzzzyyzxxyxxyyyxyyzyzyyzxzyxzxxyyxyyzzzyyyxxwxxyxzzxyzzzyyxyyyxyyyyyzzyzxyyyxyyxzzzzyzzzyyyyyyxyzzz{zzzyyyyyyzyzyyzyyyzyyzzxyzyyyyyyyzzyyyxyyyyz{yyzyzzzyzyxyxyyzz{zyyyyyzzzxyyyzzzxyzzyyyyyzxyzzyyzzyyzyyzyyyz{yz{{{zzxzyzyyyzzyyyzy|{yxzzyyyyzz{{zz{zyxzyyyzz{{yzz{{{yyzyyzzzyzy{{zzz{yyyyyzyyz{zzzz{zyyyxzy{zzy{zy{zzyz{yyyzzyzyzzz{zzyyzyzzzzzzzzzzyzyxzyyyzz{zzz{{zzxyzyyyzzzzzzzzyyuyzxzyzzyyzyyyyxxyxxxyzyzyyyzyyxyyxyyyyxyy{zzzzyxxxyxyyx{yzyzzyyyxyxyyxxyzyyyyyyyxwxyxzyyyyzyxyyzyxzyxyyyxyyzyxyyxyxyyyyxxyzyyyyyxyyxyyxyyxzy{yyyyyxxxyyyyyzzyzxxyxyxyyyzyyyzzyyzxxxxwyyyzyzzyyyyzyxxxyxyyyzxyzyxyyxyyxzyyyzzzyyyxxyyxzzyyyzyyzxyxyxxyzyyyyzzyyyzxzxyyzzzzzyzzyxyyxyyyzzzyzzzyxzyyyyyyyzzzyyyzyyxyyyyxyzyyzyzyzyyyyzyyz{zyyyyzzyyyzxxyzzzzzzzzyyyzyxyzzzyyyzz{zyyzyxyzz{zzy{zzzxyz{{zyzzzzz{{yzyyyyzzzzzyzz{zyzzyzxxyzzzz{yzz{yxyyyzyyzz{zz{zzzzyxzzyyz{z{z{z{yyyyy{yyyzzzyzz{zyyyyzzyxzzyz{zzzzzzyyyyyzzyzyzz{xyyyyzyyzzzyyyzxxyyxyxyyyyzzyzyyxyyxxyxyyyyyzyyyyyxyyyxyyzzz{zyzyyyyxxyzzyyzy{yxyyxxxyxyxzyyyzzwxyyyxyxyzyyxzzxyyyyxxyyxyyxxzyyyyxxyxxxyyzzyzyyxxyyyxxyyyyzyyzzyyyxyxyzyzzzzyyyyzyyxxxwyyy{yyzzyyzxxxyxyxzzyzz{yyyxxyyyzyzyzyyyyyxxxxyxyyyzyyzyyxyyyyyyzzyzzyzzyxyyxyyxzzzyyzyyyxzyyxyyyyzyyzzzyzyyyxzyyyzzyzzxxzyyyzxyyzzyzzyyyyyyyxyx{zyyzzyyyzzyyyyzz{zyyz{zyzyyyyzxyzz{y{{{{yyzyyyyzzz{zzzzzyzyyzyy{{zzz{zzzzzyyyyzz{zz{{zzzzyyyzzzzzzyzzz|zzzzyyzyz{zz{{{zyzzzzzxzzzz{zzzzzyyzyyxxzzzzzzzzzzyyzyyzzzzyzyyzzyyzyzyyy{zyyz{zyyzyyyyyzz{zyxzzxyxyyyxyzzxyzzzyxxwyxxxxyxxyyzzzxyyxyxxxyyyxyyzzyyyyyyyyyyxyzyzxyyyxxyxxzyyyyzxzxxzyyyxxzzyyzzzxyyyyxxxyxyzxyyzyyxwxxyxyxxyyy{yzxxyxxxxwwxzxyyyxyyyyxzxxyyyyyzzyyyyyxyxxxyxyyyzyyxyyyyxyywxyyzyyyxyxxxxxyzyxyyyyyzyyyzyxyyzyyyyyyxxyyxxxyzyyyyyxzxyyyyxyzyyzyzyzyxzyxyyyzyzyyzyzzyyyxzyxyzyyzzzyyyyyyyyxyz{yzzyzyyyyyyyxzzyyyyyyyyxxxyxyyyzzz{yzxyyyyzzyyzyzzzzzyyxxxyxyzzzzzzyyyyyxyxzzzzz{zzzzzzzzzyzzyyyzz{yy{yyzyzzzz{zzzzzz{yzxyyyz{zz{zzzzzyzyxxyxyzzzzyzzzzzyzyyyyzyzzzzz{zyyyyyyyyzzzz{zzyyyzyyxxyz{zz{yyzyyyxyyzzzzyzzxxyxyyyxyyyyxyxzyyyxyyyxxyzzyzzzyzyyxxyxxyyzyyzzxyyyzyyxyyzzyzzzzyyyyyxxyzxxzyzyyxxyxyyyxyyxyyzyyyxyyyzywyzyyyyxyzyxxxyyxyyyyyzyyyyyxxyxyyyxxyzzyyxyxwyxyyzzyzzyzxyyxxyxyyyzyyzyzyzyxxxxyyyzyxyyyxzxyyxxyyyyxzzzyyxyzyyyxyyzzyyzzzxxyyyxyyzy{yz{zyx{xyyyzzyzyzzzzxzywzyxzy{yzyzzyzyyyyyywyyyyz{zzzyyyzxyyzzzyzzzzyyxzyyzyzyyyzyzzyyzyzzyyzzyzzzzzyyyyzzzyyyz{zzz{yyzyyzyxyzzzzzzzyyzzyyzzyyzyzz{zzyzzzzzzyzzyzz{zzyzyzyzyz{z{zzzzzyzyzyyx{yz{zzzzzxyyzyzzyzzz{zy{yy{zzyzyz{{{zzy{zyzyyzyyz{zzzzzzzzyyyyyyy{zyzzzxzzzyyyyxzyzzyyyyxyyyyywxyzyyyyzyyyyxyxyyyyzyzz{zyzyxxzxyyyyyyzyyyxyyyyxxyyyzxyzzzyyxxxyyyzzyzyyzyyyxyyyyyzyyyyzyyzyyyyxxzzzzyyyzyxxxyxyxyyyyyyzyxyyyxyyxyyyzxyzyzxyzwyyyyzyyyyyyxyyxxyyyyzyyyyzzyyyyxxyxyyzyxxyyyyxxxxyxzyyyyyy{yyyyyyyxyyyyzzyzzyyxyzyyzzzzzzy{yzzxyxyyyyzyyyzzzxyyyyyyzyyzzzzyyzxxyyyzyyyzyzyzyxzyzxyyzzz{yyzzyzyxzyxyyyzyyzyz{yyxyzyyzzyz{yyzyyzyyyzyzzzzz{z{yzyyzxyzy{y{zz{zyyyzyyyy{{zz{z{{zyzyzzy{y{zzzzz{zyyzyzxyyzzzz{{zzyyyzyyzzzzzzzzyzyzyyzxy{z{zyzzzzyyyyzyzy{y{z{zzyyyyyzxzyzzzyzz{y{zyyyzxzzzzyzzyyyyyyyzyzxzzyzyyyyxxxyxwyzzzzzyzyxxyxxyxzzzyzzzyyxyxxyyxyxyyzzzyyxxyxxxyyzzyzyy{yzyxyyxxyyyyyzyyyxyxzyxyxzyxyyzzyxxyyxyxyxzyxyzyxyyxxxxyyyyyzyyyyyywywxyzyyzyzyyzxyyyxxyyyyzyyzzyxxxxyxyyxyyyyzzyxyxywxxxyxyxyyyzxxxxyyyyyyyyzyzxzzyxyyyyzyyzyzzzyxxyxxyyyzyyyzzzyzyyyxzyyyyzxzyyyzxyxxxyzzyyzz{yyyyyyyyyyyzzzzzyyyyyxzyyzyzzzzzyyxzyxxyy{zzzzzyyyyyzyyxzzyy{zz{yzyyyyyyyzyzy{zzzzyzzzyyz{yyzy{zyyzy{xxyzzzzzzy{{zzyzzzyzzzzzzzzzyzxyzyzyz{z{zzzzy{zyyzzyzzzzz{yzyyz{xxzyzyzzzzzyyyzzzy{y{zyzzzzzzyzxyyzzzzyyyyyyyyyzyyzyzyzyyzzyzzyzyyxzzyyyzyyyyzyyxyyyyyyyyzyyyxyyxxyzzyzyzzzyxyxxyyxyxyyyyzzyywyxxyyyxzzxzyzyzyyyyyyzzyzyyyzyyyyyyyyyyxxyyzzzyyxyxxyxzzyyzzyzyyyyywzzxzyxzzzyyxyyxxyxxyzyyyyxyyxxxxyxzzzyzyzxzyxyyxyyzzyy{zzzzyxywyxxzxyzyyzyyzxyxyyzyyyyzyyxzyyyyxxzyzyyy{yzzxyyyxyyzyzz{{zyyyyxyyyzyzzyzz{yyyyyyxzyyzzzz{yzyzzzxyyyzyzzzzzyxyyyyyzy{yzzz{zyyyzyyyyz{zzyz{zyzzyxyyzyzzzzzz{yyxyyzzyzzyzzyzzyzxyyyzyz{zyzz{yzyyyzzyyzz{zyzz{yyyyyzzyxzzzzzz{zzzxyyzzy{zzzz{zzz{zyyyyz{{{yzy{zyyyyyyzz{yz{{zzzzyzzyyzzzyy{zzzy{zyzyyyy{zzz{{zzyxyyyzyzzyzzzzzzyzxyyzyyzzzyyyzxxyyyxxyxxzyyzzyyzyyyxxyzyyyyzzzxyyyyzyxyyxyyyzzyyyyyyyyyxyxyzz{yxyyxyyyyyyzzzzzzyyyxwxxzyxyyyzzyyyyxyzxxyzyyyzyyyyyyzxxyyyzzyzyyxyxxxyyyyzyyzzxzxxxxxxyyyyyyyyyyzyxxxxxyyyyyz{yyyyxyxxxyzyyxyyyyyyxwyyxyyxyzxzzyyxxxyxwyyyyzzyzyxyxyyyyzyyzzyyyyyxzxyyyyzyyyzz{yyyyxzyyzzzyzzzyzzyyyxyxyyyzzzzzzyyzyyyxyyyzz{{zyyxyyyxxyy{yyzyyyyyyyzyyz{zz{yz{yzyzzyzy{zyzzzzzyyyzyyyyyzzyzzyyzyyzyzyyzzzzy{zzzyyyyyzzzzzz{y{zyyzyy{yyzz{zz{zzzxzzyyyyzzzzzyzz{yzyyyxzy{z{zzzz{yyzyyzyzzyyz{zzzyyyyyyyyz{zyz{{yyyyzxzyzzyzzzzzyxyyxxyxyyzzzyyzxyyxxyyxxyzyzzyzyyxyyyyxyxyyyz{yyxyxyyxxzyyzzzyzyxxyyzyyyyyzyyzzyzyxyxyxyyyyyzyzyyyxxyywxyyyyzzyyxxzyxxyyyzyyyyzxyxxxyxxyyzyzzyzyyywxyxxxyyyzzzyxxyxyxxxyzzxyzyyyzxyyyxxxyzzyzzzxxyyyxyxyxxyyzxyyyxyyxyyxzzzx{zyyyxyyzyyyyyzzyyzyxyyyyyxzzyzyzzzyyyyxyzyzyyzzy{zxzyyzyxyyzyyyyzyyyxyyxyyyzyzzzyyyxyyyyyyyyyyzzzyyzyxyyyzyzzyyz{yyyyyyyzzzzzy{zzzyzzyzyyyzzzzzy{{zyyzyyyzyzzyzzyzyyyyzyzzzzzzzzzzzyzzzzyzyyz{{zz{zzzyy{xyy|zzzzzzzzzyyyyy{zz{zzyzzyzyzyyzzzzyzzyzyzz{yyzyzzzyzyz{yyzyyyyyyzyzzzzzzwxxyyyyzzyzzzzzxyxxyyyyzyyyz{zyyyyxzyxxxyzxyzzyyyyyxxxxyxyzyzyzzyyxxxxxyyyzyxzyyxyyxyxyyyyzyyzzyyxyyyyyzyyyzzyzywyxxyzyzzyyyyzzyyyyyxyyyyyyyyyxyyyxyyyxxyyyyyyyyxyyyyxwyzzyzyzzyyyyxyxxyyyyzzyzyxzxxyyyzyyzxzzyyxyyzxyxyzyyyzxyzyyyyxxyzzyyyyzzyxyyyyyxyyzzyyzyyyyyyxyyyyzzyzzzzxyzyxyzyyzzzzyzyzyzyxxyzzzzyyzzzyyyyyyyxzzzyzyyyxzxyyyyzyzxyyyyyyyyzxyyzzzyyzzyzyyyyyyyzzzzzzyyyyzyyyyyzzyz{{{zzxyyyyyyzz{zzz{zzyzyyyyyzyz{{{{{zyyyyyyzy|{yzz{zzyyzyzyzyzzzzz{zyzyyyzxy{zzzzzz{zyzyy{yzzzzyzzzzzzzyzyyzzzzzy{zzxzyyxzyyzzzz{y{yyzyzxzyyzzz{zzzyzzyyxyyyyxzyzyyyxyxyxyxyzzyzzyzyyxyyywyxyyyzzyzzyyyxxyxxyzzyyyyyyxyyxyxxyx{zyyyyzyxxyxxwyyyyzzyzzxyyyyxxyyyxxxzyyyzyxyxxyyzyxyyyxxyxxyyyxyyyyyyzxyxxywxyyyyzxyzyyzyxxyxxyyzzyyyzyyyxxxxyxyyyzyzzyyyyxxyxzzyxyyyzzxxxyxxxyyyyyyzyxyyyxyxyyzyzyyzzzyxxyyywyyyzzyyzyyxyxxxyyyyyyy{zyyyzyxyyyzyyzyzyxyxyyxyyyzyzyzzzzxyxyzyyyzyzyyz{zxzyyyyyzzzyyzzzzzyyzyyyzzzzzzzyyyyxyzyzzzz|z{{zzyyyzyxyzzzzzzzyyyzyyyyyzyzzyzzzyyzxxzzzzz{z{{zzzyyyyyyx{{{zy{z{{yyzyyyy{zz{zzzyzyzzyyyzyz{yz{{yyyy{yyxyyz{yz{zzyyzyyyzxyzzzyzzzyyyzyyyxyzyzyzyyyxyzxxxzyzzyyyxyxyyzyxyxy{yxzyzzyyxxxxxxyzyyx{yyzyyxxxxyzyyzzzzyxxyxyxxyyyyyyyzzyyyxxxxxyxzyzzzzxxzyyyyxxyxyyzyxyyyxxyxyxxzzxyzyyyzxyxxyyyyyyyzyyyyxyxwyyyzyzzzzyxxxyyxyxzyyyyyyyxyyxxyxzyzyyyzyyyyyyyyxxyyzyxyyxzywyxyyxyyyzyzzywzyyyyxyyyzzyyyxxxyxyyyyyyyyyzzyxyyxxzxyzzzzzzzyzyxxxyyzyyyzzzyzzyyyyyyyzzzzzyzzyyxyxyyyzzzzzyzzyxyyxyzzzzzyyzyzzyyzyzyyyzzyzzzyyyxyyyyz{z{y{z{zyyyyyyyzzzzyzy{zyyzzyyyz{zzz{zzyyyyyzzzzzzy{z{zzzzyzzxyzzzzz{zzzx{zxyzyzz{yzzzzzyyzzzzzzzy{yy{zzyzzzzxzyzzzz{zzzyyyxxyzy{zyyzzz{yyyzyyzzzy{zyzyyyyyyxxyyyy{zyzyxyywxxyyyzzyxyzzyyxxyyxxxzyzxyzzxyyxyyyxzxyzzxzyyzzyxxyxyyyyyyyyyyyxxxzxzzxyyyyyyxyxyyxyyyyyyyyzzyxxyxyxyyyyyyzyyyxxxxxyxyxzzyyywxyxyyxywyxxyyzyyyxxxyxyyyzyyxyzzyzyxxxyxyyxyzyzxxwwwxwxyyyyyyyzzxyyxyxyyyy{yyzyyyyyyyxxzyzyzyyyyyxwyyxzyyzzyy{zyzyyxzyyyyyyyzzyyyxxyyyyxyyzzy{yyyxyyyyyz{xzzzzyyxzyzzxyyxzyyzzyyyxyzyyyyzzzyzzyzyxyyyyyyyzyzzz{yzyyyyzyz{yzyzzzyzzyzyyxyzzzzzzzzyyzxyyyzyzyzzzz{yzzzyyyyy{yzzzzzzy{yyyyz{zzzyzyzyzzyyzyzyzzzzzzzyzyzzzzyyyzz{zzzzyyyyyzz{yzzz{zzzyyxyyyzzz{zzzyyyyyyyyxzxzzy{{zzyyxyxyyyyzyyzyyxyywxxywxyyyxxyzyyxxyxxxyyyzxyyyyxxxyxzwzxyxyyyyxyxxyzxxyxyzyyzyxxyxyxxxyyzyyyyzxxyyxyyxxzxyyyxxxxyxyxxxxzxxyzzxyxxxyxxxyyyyxyyzxyyxxyyyyyzyyyzyyxxyxxxyyyyyzyzyyxyyyxxxxyxzxyyyxxxxyyxxxyyyyyyyyxyxxxyxxzyxxyzzxyyyyyyxzxyyyyzyyxyxyxxxyzzxyzzzyxxyxxyyyyyyxzzzyyyyyyzxzyzyxzyzyyyyzxxxyyzyxyyyxxyyxyyyzzyzyzzzyyyzxyxxzzzzyzyzyyyyyxzyzyz{yyzyyyxxyyyz{zyzy{z{yzyyyyxyzy{zzzzyyxyzyxzyzzzyzz{{yyyyxy{zyzyzyz{zyxzzyyyyz{zzz{z{{xyzyyzzzyzzz{yzzxyyyyzyyzzzzzzzzyzyyyyzzyy{z{zzyzyyyzyzyzyyyzzyzyyyzyyyyzzyzzzyyxyzyxxxyzzzyzzzxyxxyxywxyzyyyyyzyyzyxxyyyyzyzyzyxyxyxxyxyyyzzyyyyyyxyxxyyyzxyyzyzyxxyyxyxxyxyzyxyyxyyxxzzyyyyyyyxyxyyxxxyzyyyyyyyxyxxwyxxyyyyzxxyyyxxyxzyyyyyzyxyxxyyxyxyzyyyyyxxyxxyyxyyyyyzzyyyyyyxyyxyxyxzzyyyxxyyxyxyyxxzyyyxyyzxxxyyyzyzzyyyxyzxxyyyyyzyyyyyyxyxyyzyzzzzyzyyzwyxyxzyzzzyzzyyyyyxyxyzzyyyyzyxyyyyxyy{zyyzzyyyyyyyzyzxyyzzzzzyyyxzyyyzyzy{yzyyzyzxyyzyzzyzz{zzyzxzyyzzzzz{zyzxyyyyzyz{yzzz{zyz{yyyyyyzyzz{z{zyzzyzyyz{zz{z{{zxyzyxyz{zyz{z{zzyzyzzyyzyyyzz{yzzxy{yyy{zzzzyyzyzyyyxyzz{{{zzz{zxyyyyyyxzzy{zyyyyyxzwzyzyyzyzzzyyyxxxyyyzyyzyzzzzyxyyxxyyyyyzzzyyxyxyywyxyyzzzzyyyxyyyxyyyzyyzzyxzxxyxyyyzzyyyzyyzyyxyxz{yyyyzzyyyyzxxyyzzzyyzzzyyxyyxzzzzzyyzywyxyxxyyzxzzyz{yyyxxyyyyxyyzzzyzzyxyyyywzyzyzyzzyyyyyxyyyzzyxyyyxxyyxyxxyyzyzzyzzyyyyyxyyzyzyy{zyyxxyyzyyzzyzyzzyyyyxyzzzzzzyz{zyyyyyyyyzyyzzzzzzxyxyxyyzzzzzyyyyyyyyyzyzzz{zz{{zzzzyyyyzzzyzzzyyzyzyzzzyzz{z{zzzzzxyyyzy{{zzzz{yyyzzzyzyzzzzz{zzyyyzzyy{zzz{zzzzyyzz{zyzzzzzzz{|yzzzyxyy{z{{z{zzzzzyzyzz{zzz{{{zzyyzzy{zzzyzzzzzzyzzzyy{yz{{z{zyyyyyzxzzzzyyz{zyyyzyzyyyyzzyzzzyyzyyxyyzzzyzyzyxyxyxxywyzzzyyzzyxyyxxyxzyzyyzxzyxyxyyyxzyzyzzzzyxzyyywxyzyyyzyzyyyzxyxxzyzyyyzzxxyzxxxxyzyyzzyyyxxyxxyyxyyyyxyyyyyyxxxyyzyzzyzzxxyyyyyxzxyyzzzyyxyyyyxxxyy{yyzyyzywxyxxyyzyzyz{xyyyyyyxxzxyyyzxyyxxyyxxxyyyyzzyyyxyzxxyyyzyyyzzzxyxzxyyyzzyzzyzyyzyyyyyyzzzyzzzyyyyxxyyyzyyyzzzyyyyzxyyzzzzzzyyyzyyyxxzyzyyzzzzyyxyyyzyzyyzz{zzyzyyyzxyyyyzzzzzyzyxxzyzzzzzzzz{zxxzyzxyy{zzzyzzzyyyyyzyzzzzzzzzyzyyzyyzyzzy{zzzzyyyyyyy{zzzy{zzzzzzyyzzz{y{{z{zzyyyyyyzzzy{z{z{{zzzyzzzz{zzzzzzzyyzyyzyyzzyzz{yzyxyyxyyyzzyzzyzyyyxyxxyzzy{yyyyyyxywxyxxzzwxxzzyyxyxxyyyzyyyzyzzyzyxyxxyyyzyzzzxyxyyyyxzyyyyxyyyxyxwyyyyyzzxyzyyxyxyxyxyyyxyzyyyzyyyxxxyxyyyzyyzyyyxxxyzyyyyyzzyyyxxxyyyyyyyyyzyyxxxxxxyyzzzyyyzyyywxywxzyyzyzyyyxxyxyyyyzyyzy{zzyyyxxyzzyzyzyzyyxyyxyyyzzzyzzyyyyyyyyyy{yzyzzzzyxzyzyxzzzyyzyzyyzyyyyyzyyyyyzzyyzyxxyyyyzzyyz{yyyyyyxyyzzyyyzyzyxyzzyzzyzyyzyzyyyzyyyyyyz{zzzzyzxzzzxzy{yzy{{zxzzzyzyyzzzz{y{z{yyyyzyzzyyz{zz{zzyyzzzzyzzzz{zzzzyyzzzzy|zz{zzzzxzzxzyxyzzzzzzzzzzzyyy{yzzz{z{zzzxyzzzzz{|zzzy{yy{xyzzyzyzzzzzzyxyyyyzyzzyzzxzyyyyyzyyyyz{zyyyyyxyxyxxxyzyyyzyxyxyyywyxyyzyzzzzyyyyyyyxyyyzyyzzzwzy{xxxyyzyyxzyxyxxxxzyyzyxyyyyxxyxxxyyyyyyxyzzywyxxyyyyxywyyzyyzxxyyxzyyyzyyyyxxxyyxwxyyyzxyzyyxxywxxxxyyyyy{zxxyxxxzxzyyyyxyzyxyyxyxxyyyxxxyzxyyyyyyyzzyyyyyzyxyxyyyyxyzxyyzzyyxyyxyxxyyyzyzzzyyxyy{yyzyzyzyzyyyxyyzyyyzz{zzzyyxyzyyyyyzyzzzyyyyyyxyyzxzyyzzyyyzyxxxyzyzzyzzzyyzyyyyzzyyzzzzzyyzzyyzxzyyzyzz{yyyyzxyyzzz{zz{zzyyzyyzyz{{zzyyzzyzyyyzzzzzzzz{y{xyyxyyyy|yzyz{yzyyzyyyz{{yzz{zz{yyyzzyzzzyzzzz{yzyzyyzyzyyz{zyzzzzyyzyxz{zxyzzzzyzzyxxzyzzzzzzzzyzyxxxyyyyyyzyyyyyxxyyxy{yyyyzzyyxyxxzxyyyyzyyyyyxyxxzxzyyyyyyyzyxxyyyyyzzyyyyzyxxxxyzyyyzzzyyyxwyxyyxxxyyyyzyyyxyxyyxxyyzyyzyyyxxyyxyyyzyyyyzyxxxyxxyyyyyyyxzzxxyxxyxxyzyyzyyyyxyyyyxxxyzzzy{yyyxwyxyxyzyxxyyyyyyxyyxxwzxyyzyyyx{yyyzxyxyyzyyzyyzxzyyzyzxyyyyzyxzyyxyyyzyy{zyyyyyyzyyyzyzyyyyzzxyyyyzyzzzzyzzzyxyyyyyxzyyzzz{yyyxyzyzyyzyzzzzzyzzzzzyy{zzzzz{zyyzxyxzyzyyy{{zzyzzyzyyzzzzyzzzzyyyyyyzyzzzzz{{zzyzyyyz{zzz{z{zzzyyzyzyyx{z{z{{zzzzxyyzy{{z{zzzz{yyzyyyyzy{zzzzzzzyzzzyyzzzzzz{{{zzzyyzyyzzzzzyzzyyzzyyzzzzyzyz{yyyyywyzxyzyz{xyyxxxyyxxxyyxxyyyyxyyxxyyxyzyyzzzyxyxyxyxyzyyyzzyyxyxyyxyyyyyzyyyyxyxxyyxyyzxyyzyxxzxyxyxyzxyyzyyyxyxzyxyyy{yyzyyyzyyxyyyxxyyyzyxyxyxxyywxzyyyyyzyyyxxywyyxyyyyyzzxyyyyyyyzyyyyzyxzyxyyxxxyyyyyxxyyyyyyyxyyyxyxyyxxyzyyyxyzzyxyzzyyxyyxyyy{yyy{yzyxyxxyyyyyyyyzzzyxyyyyxxyzyzxyzyyzzyyyyxyyzzzzzyyzyxyyyyyzzyyzzxyyxzyyxyzyzyyzzzzyyyyyyzzzy{z{zzyyzzyyyzyzzzyzzzyyzyzzyyzy{yzzzzzyzzyxyzzzyyzzz{yzzzyyzyz{xyzzzzzyzyyzyyzzzzz{zzzyzyyzyyz{yzzyzzyyyz{yyyz{yzzzzzzzxyyzyyzzyzyzyzyyyyyyzyyyzzyyzyzzzyxyzyyzzyzyzzzxyxyxwyyzzzyyyyyxxxyywxyyzxyyzyzyxyxxyxxyxyyyyzyzyxxxyxzyyzyyzyyxyyxyxyyzyyyyzyzyyxxyyxzxyyyzzzxywxxxxxyxxzyyyyyyxxyxyxyzzyyyyyxyxxxyxyzzyyyyxzxyyxxxxyxyyyyyzyyxyyxyyxyyyyyyyzxxxyxxxyyyyyzzzzyxxyyxyxyzyyyzyzzxxxyxyyyyyyyzyyyxyyyyyxzzzyyzzyzyyy{yyxzzyyyyyzzxyyyxyyyyzyzzyywyyyxxyxzzzyy{{zyzyzzxyyy{zxyyxzyyyyyyyyxzyyyyyyyyyyyzxzzzyzy{zzyyyyyxzzyyzzzzzzxyyyyyyyzyyzyz{zyyyzyyyyzzz{{zyyyzzyyyzzzzzy{{zyyyyzxzzzz{y{zyzz{yzyx{yzz{zzy{{{yyyzyyzyzyzzyyzzzyyyyzyyzzzzzz{z{yyy{zyy{zyzy{zzyzzzyyyzzzzyzz{{yyxxyyyyyzzzyzzzyyzyyyxyyyy{zyyyyzxxxwwxzzxzzxxyxyyyzxwzyyyyyyzyyxxxxxyxyyzyyyzzyxxyxxyxxyzzxxyyyyxxwxxxyzyzyyyzxwyyxxxxyzzyyyyyzzyzxyxxzyyyyyyyyyxxxyxyyyxzxyyyxyxwxxxxyxzyyyyyxxxzyxwyyyyyzyyxyxyxyxwwyxzyyyyzxxxyxxxxyyyyyzyyxyyyxxyxyzxxyyyyyzyxyxyxyyyyzyyyzyyyyxyxyyyyzyyyxyxxxxxxyyy{yyzzyyyzxxxyyyyyzzzzyxyzzyyyyyzyzzzzzzyyxyxxz{zzyzzzyyyyyyyyzzzyyyzzyzxxywxyxzzzyz{zyyxxzxyyyyzzyzz{zzzyyxzyyzyzzz{yyyyxyxyzzzzzz{{zyzyyyyzzyzyz{zyyzzzyyzzzz{z{zyzzzz{yyxyyzyzzy{zyzyyyyyyzzzyzzz{{zyyyyyzyyzyyzzyzzyyzxyxyyzzzyzzyzyyxyyyxyzz{zzzzxyyyyxyxzyzyzyzyyyxxzwxxyyyyyxzzyyxxywyyzyzxyxzzyyxyyyxxyyyyzyyyxyxxyyxzyxyzyzzyyyxyxxxyyzxyyzyyyxyyyxyxxxyxx{zyzyzyxyxxyyyyyyyyyxxyxxxyyyxxxyzyyxxyxxxxxyyxyyzywxxyxzwxyyzxyyyzyyyywxxyxzzyyzyzyxxyyyyxxwzyxxyzzyxxxxyxyyyxyzzyyyxxzxxxyyyzyyzyxyyxyxxyyzyzyzzzyxyzyxyxyzyyzzy{xyxyyxxyyyzyzzzyyyyzyxyyyyyzzzzzyyyzyyxyyzzzzz|yzxyyyyyzyyyyzzzyyyxyzyyzyzzzzyyzyzzyyyzyyzzzyzyzyzyyyxyzyxzyzzzyzxyyyyyzzyzzz{zzyzzyyzyyzyyzz{{zzzyyyyyyyy{yyyzz{yyzyyyyzzzzyz{yyyzyyyyyyzzzzz{yyyyyyyzyzyzzzzzzyzzzyyyzyzzyzzzzzzyyyyxxyzzzyyzzyyyxxxyyzyzzz{yyyxyxyyyxxzyyyyyzyxyyxxyyyyzyyzzyyyxyyyxxyyyyzzyyyyxyyxyxzzzyxyyxyyxxyxxyzyyyzyxyyzyyyyyyyyyyyyzyyyyyyxyyyyyyyzzzxyzxxyxyyyyyxzyyyxxzxyxyyyxyzyzyyyyyyzyzxyyyxyz{yyzxxywxy{yyyyzzyxxyyzxxxyzwyyx{yyywyyxyxzyzzzzzyyyyzyyyz{xyyz{zyzyyyxxyzzzyzyzzzyyyyxyzzyzyzz{zyxyyyyxzyyyzyzzyyyzyzyzyyzyzzzzzyyyyyyyyzzzzyzzyzyyy{yyyzyzyzyzzyzyyyyyzyyzzzzzzzyyyyzzyyzzzzzz{yyyyzxzyy{zzzzzzzyyyzyyy{y{y{{{z{zzyyzzzzzzz{zz{|{zyxzyzz{zzzz{{zzyzzyzy{yyzzzzz{yzzzyxzyyzyzy{|yyzyzzyyyzz{{{zzzzyxzyxyzzzzy{zzyzyyyyzyyzzzzzz{yyyyzyyyyzzy{zzyyyxyyxxyyyzyzyyyzyxyzyyxzzyzzyzzyyxxyxyzxyyyzyzzyyxxxyyzyzzzxyyyxzyxxxyxzxyyyyyzyywxxzyxyyyyyzzxxyyxxyyxxyyxyzyyxyyxyyywyyzyzyyyyxxxyyyxyyyyyyzyxyyxxxxwyxyyzyyzyxxxxyxyyzyzyxyyyyyxxxxxxyyzzyxyzxyyyxxxyyyyxyzxyxyyyyxxyzyzyzzyzzyyxxyy{zyyyyzzyzyyyxyzzyzyzzyyyyzyxyzyzzyzyyzyyxyzyyyxyyyz{{yzyyyxxyyyzzzyyyzz{yzxzyxyzyyzyzy{zyyzzyyyyzzyzzz{yyyxzzyzyzz{{zz{yxzzzzyxzyzzzz{{zyxyzyyyz{zzz{z{zyzxyzyzzzyzz{{{zzzzyzzyy{zzyzzzyyyzzyyy{{{{zzzzyyyyyxzzyz{zzzz{zyyyzzzzzzzzyzyzzyzzzxyyyzzyyzzzyyyyyyyxyzy{yzzzzyyxyyyyyzzzzzyzyyxxyxyxyyyyxzzzyyyyyxxyyzyyzz{zyyyxxxyxyxxyyyyyyxxyyywxyyyzyyy{zyxxxxzxzyxxyzz{yyzxxyxxxxzyyyzzzxxyxyxxxyyyyzyyzyyyyyyyyyxzzzyyxxxxxyxxyxyyyyzyxxxyyxxxyyzyyzzzxyyyxyxyxyzyyyyzyyyxyxyyxzyyyzyyyxyxzxxyxyyyxzyyxxyxyxyxzzzzzyzzyyxxyxyzyzyzyyyzzzyyyyzyyyxzzzzzzyyyyyyx{yyzyzzyyxyyyyzyyyzzzyzyzyyyyyyxxyzyzyz{zzxyzxyyzzzyzzzyzyzyzyzyyz{zxyzzyzzyzyzy{zzzy{{{yyyzyzyyyzyz{y{zzyxzyyzx{{y{{zzzyyyyyzzy{zyz{zzzzyyyyzyyzzzzzzz{zy{{yyzz{zzzz{{zzzyyzzy{zzzzzyzzy{zzzyyzyyzzzy{{xzzyyyxyzzz{zzzzzyyyxyyyzzzzyyzyzxzyyxzyzzzxzxyzxyyxxyyxyzyyxyyzxyxyxxyxyyxzzyyyyxxxxyyxxyzyzyzyyyyxyxxyxzyyxxzyyyxxywxwyyyyzyzzyyyxyywxxyyyyzzxyxyxyyxyyyzzyzyyyyyxxxxyyyzxxyyyxxyyyxywyzzzxyyxzyxyyywyyzyyyyzyyyyxxxyxyyyyyzzzyxxxxwxxyyzxyyxzyyxyywyyyzyxxyxyyyyyxyyxyyxzzyzyyxxyzyzyy{yzzzyzyyyyxyyyyyyzy{zzyyyyyxzyzyzyzzzyzyyyyzyyy{zyy{yzyyyyyyxyyyyyzy{zyyyzzyxyyy{yzyyzzxyzzzyzyyy{yz{yyzyzzyzxyzzzz{yzyzzzyyyzzzzzy{yzzyyxyyzyzz{y{zzzyyzzyyzzyyzzzzz{{yyyxzyyy{{{zzy{zzzyyyzyzzzz{z{zyyxzz{xzy{zzzyzzzyyzzyxyzzzy{yz{yyyxyxyyzzzyy{{zyzyzyyyxzzyz{zzyzyyzzyyyzyyzyyxyxyxxxxyyxyzyzyyzxxxzxwyxyyyyy{zyyyxxxxxyyxzyyzzyxxxxyxxxyzzyyyyzzxyxxxxwyyzyxyyzzxyxxxywyyzyzyzyxyyyywwxyzzyxzyyxxxyxxxxyxyyyyyyyyxxyxxwyyyxyzzyyyyxxyyyyzyyzyyyyxxyxwyyxyxyzzzyyyyxxyxxxyyyxyxzyyxxyxxxxyzzyzyzyyyyzyyyyyyzyyyyyyyxyxwxyzxyyyyyyxyxyyxyxzyyzzz{yyzxxyyyyyxyzzzyyzyyxyxyxyxyzy{zyxyxyyxyzzyyzyzzzyyyyyyzyyzyyyyzzxyxyzyyzzzz{{{yyyyyyyzyzyz{zzz{yyyzzyyyzzzzzzzzzyyyzyyyyzzyyyzyzxyzyyyyzzyz{zyz{xyxzzzyy|z{zzz{yzzzyyyyzzzzz{yzyyxyzzyyyzyyyyz{zzyzyyxx{zyzzzzzyzyyyyyyyzxyy{zyzyyyyyxwzzzyzyzyyyyyyyxxyzzyzyzyxzxxyxxxyzyyxzzzyxxxyyyxyxyzyzzxyxyyyxywyxyyzzyyyyxzxxxyzyyyxx{zyyxxxyxyzxyzyyyzzxxxyyywyzzyyzyzyxzxxxxyyzyyyzyxyxyyyxxxxxxxyzyyyyxxzxxxyyyyxyyzyxxyxyxyyyyyyyyzyyxvxxwxxyyx{z{zxxyxxyxwyyyzyyxzyyxxyyyyxyyyyyyyxyyxyzyxyyyzyzyzzyyyxyxxxyzyyyyzyyzxyyyyyxyzyzzzyyyyxyxyzzzxyyzyyyyyyxxyxyxyyzyzzyxyyyxyyy{yzz{zzxyyyyxyyzzyyzz{yyyyxyxyyzzzzzyyyyzyyyyzzyyzzzzzyyzzxxzyzzzzzzzyzyyyzyzxzzzzyzzzzyyyyzyyz{zzzzz{zyyyyyzyyzzzyzzzyxyyyyzyzzzyzzzz{yyyyyyyzzyzzz{zzyzz{yxzz{yzzz{{zyyxyxyyyzzyzzz{zyyyzyyxyzyzyyzyyyyxzxyyyz{yyzzzxywxxxxxyyyyxyyxyyyyyyxxyzyyyyzyxyyyxxyyyzyyyzyzzxyxyxxyyxyyyzyzyyyywxyxyyyzxyxzyxyxxyywxyxyyxzzyyxxyyyxyyyxyyyyxyxyyxxxzyyyyzyyxxxyxxyxzyyyyyyyzxxxwxyyxzyzxyyyyyyxxxxxyxyyyzzzxyyywxxxxxxyyzyxwyyyxxyyyyyyyyyzzyyyxxyxyyyxyzzyyyyzyzxxyyyyyzyzzyyyyyyyyyzzyyzyyyxyyxyyyyzxyyyzyyxzyyxyyzyzyzz{yxzzyyyxyzzyyzyzyzxzzzxyzzzyyyzzxyyyyyzy{xz{zzyyyyzyyyyyzyz{yy{{{yzzyyyyzyzzz{zzzyzyzyzz{zzyzyzzzyyyyzzzyzyzzzz{zzzyyyzzyz{zy{{yyyyzyxzz{{z{zzzzzzxyyyyyzzyyzz{{zyzxzzyz{zyzyzzzzyzyzyyzzzzzyz{zzzzzyyyyyyzzzzzzyyzyyzyyzyzyzyyyxyyyxwxxyyzyzyyyyyyyxyxxyyyyyzyyxxxxyyxwyxyxzyyzzxyyyxxxyyxzzyy{yyyxxxyxyyzyyxyzyyxxyyyxxxzxzzyzyyxxxyxwxy{xxyyyxxyxxxyxxyyyzzyywxxxxxyyzyzxyyzyyxywwxxxxyyxyyyyywyxyyxxyyzzyzyzxyxxyyyxxyyxzzyyyyyxyxyyxyyxzzxyyxxxyxyxyzyyyyyyyyyxxyyzzyzxxy{yyyzyyxyyzyyyzyzzyyyyx{xzyyyyyzyyzzyyyxyxxzyyzzzyyyxyyyxzyzzyxyzyyxyxyyxxzyzzyyzyzyxyyyyyzyyzzzzzyxyyyzxzzzzzyzzzyyyyyyxyzzzzzzzzzwyyzyzy{{yyzzz{yyyzyyzyyyzy{yzzzyyzyyyyyzzzy{zzzzzzyyyyzzzyzz{zyyxyyyzyzz{zzzzzzyzyyxxyzzyyyzz{zzyxyyyyzz{zzzzzyyyxyyyyyyyyyzzzxyzyyxyyyyzyzzzxyyxxxxyyyyyyzyyyyxyxxwxyyzyyzzzzyywxyxyxyzyzyzyzyxyyxxxxyyyxyxzyyyxyxxywyyzyyyxzyyyyxyxxxyyxyzzyyyyxxxyxyyyyyzyyyxxxxyyyyyxyyyxyxxxxxxyxxyxyyyzyxyxyxxxyxyyxyyyyyxxyyxyxyyyzyyzyxyxyxwyxyyzxywyzwxyxxxzyxyxyyyzyyxyyxxyxyzzyzzzzyyyyyzyxyyyyyzy{yyyxxxyxyyzyyyzyyzzyxxxy{yzyzyzzyyyxxyyxyyyyyzz{yyyyxyyyyzyyyzzzxyyyyyyyyyyzyzzyyyyyzzyxzzzzy{yzyyzyzzzyz{zzyzyyyxxzyyyxy{zzyz{zzxyy{zxxzzyyzzzzzyyzyyz{zzzzy{zzzzy{yzyzz{{zzzzzzxyyyyyyyzzzzzzzzyyyzyyyy{zyyzzzzyzzyzxyyzzzzz{zyzzyyxyyzzyyy{zzyyyyyyxxzzzzzzzyyyyzyyyxyzyyzzxyxyxwwxxxxzxyyxyyyxxyxxxx{xzzxxyzzyyywywxzyyyxyzyyxyxzwwxyxyyxyyyxxyxxyxxyyzyyyyzxxyyxyxyxyxxxzyyyyxxxxxxxyyxxyxzyxxwxyxxyxxxxzyyxxyxxwxxyyyxxyzyxwyyxyxwxyywyyyyyyyyxyxyxyxyyyyyyxyyxyxxyyyyxxyzyxyyxwxyxyzyzyx{xyxxyyyyxyyyyyzzyyxxyxzxxyyyyyyyyyyxxxzyyzyzyyyyyyxyxxyyzyyyzzzzxyyyyyywxzyzyyyyxyywxyyxyzzyxzzzyxyyyxyyyyyyy{yyyyxyyyyyyyzzyzzzxzyxyyyyzyyyyzz{yyyyzyyyyzzyzzz{zyyxzyxy{{zzz{{yzzxyyyzzyyzzz{zzzzyyyzzzy{yyzzz{zyzyyyyyzzzzzzzzzyyyzxyzzzyzzzzyyyzyyyyz{zyzzzzzzzyyxyyyyyzzyzzzzyyyxyyxzzy{zyzzyxyyxyxyyyzzyzyxyxzzxxxxyzyyyyzyyxxyxxxxyyzxyzyzyyyxyxyyyxyxzyyyzyyxxxyxyyyzyyyzxyzyyxyxyzyyzzzyyzyxyyyxxyyxxzyyyxyyxxwyyyyxyyzzxyxxxyxwyxyyxzyyxxyxywxxxyzyyyyzxyxyxxyyyyyyyzyzxxxyxxxxwzyyzzyzyxyyxxyxxxyyyyyzyyxwyxxyxzyyxyyyyxxyyzxyyzyzyyzzzyyxyxyzzyzyy{z{yxyxywxyyyyyzzyy{yxyxyxyyyyyyz{yyyyyyxxxyzzzyzzyyyyxxyyyxyzzyyyyyyzyxyyyyzyyz{zzyzzyyyyyyyzzzyzyxyyyxxyyyzzyzzzzzyyyyyxyyz{zzzz{zyzyyyzzyz{zzzzzzzyzy{yyzzyzz{{zzzyyy{yyy{zyzz{{zzz{{yyy{yzzzzzyzyyzyyxzzzzzzzz{zzyyyyyzzzzzzzy{zyzyyxyxyzzyzzz{zzzyyy{yyzy{yyzzzyyxxyyyyzzzyFu7$"7b{zz|z{z|}||||}}||{|{{{{{|{}||}|||{{||{z|{|{|{||{|{|{{{{{{|{z{{{{|{{{{{z|{{{|}|{||y{{z{z{{{||{|{{{{{{{{|{{{{{{|{|{z{{z{|{{z||||{|zzzzzz{|z{|{|{{{|{{{{z{{||{||z|{{{z{z{{{|{|||||{{{{{{{z{{{{{||{{{{{{z{|{{||{}{{{{z{||z{{||{{{|{|{z{{z{{|||z{|||{{{{{{|{{z{{{z||{|{z{|{z||||{{|||{{{{{|{z}{||{||{||z{{{z|||{{|}}|z|{|{{||||{||||{{{{|{{{{}||{}|||{{||{|{|}{|}}}{|{{|{{{{||||||||||||{||||}||}}{}{{{|||}||{}}}|||||{{{{|||~}|}}||{{{|{{|{{}|}||||||{||{{{||{|}{|{}||||{z}}|{|{||}||||{|{|{}{||||{{|{{z{{z{||{||||{{|z{{{z{z{||}|||||||{{{{{}{||||{{||{{{|{||}|||||}{{|{{z}|{}|||}{|||{{{|||}|{{||{|{{z{{z{|{{||{|{{zz{{{{{}{|{{{|z{|zz|{{{|{{|||}{{|{zzzzz{{{{|||z{z{z{|z{||{|{}{{zz{{z{{|{|{{{|{{{|{z{{{{{{||{||{z{z{{{y{{{{{||{|{{zz{{{{{{y|||{{{z{|z{{{z{|{|||{z{yzz{z{{|z{|{}{y{{{z|z}|{|{|||{{{{{zz{{{}{|{}{{{{z|{z||{{{{{|z{{{{|{{{{||||{|{|{z{{{{{|||{{}{{{||z{|{{|||}|{||{||||{{{|}|}{|||{zz{{{{||||||||}|{{||||{|}|{|{}}{{z{{|||{|||}}|}||z{{||||}}||}}}|||{{|}{}|||}||{|{{{|{{|}|}|}}}}|||||||{|}||}}}}||||{{{{{|||||||{|{|z{z{|||{{{{{{z|z{z{{||{|{|}|{||z{{|||}||||}}|{{{z{z{||}|||}||{z{|{z{|{{||||{{{z{|{z{||{}|{||{{{zz{{{|{{|{}{{|{|zz{|{{{|{||}{{z{zzz{{|z{|{|z||{z{{{{||{|{||||zz{z{z{{{{{{{|||{{{{{{z{{{{{|{||z{{z{zzz{z{|{{|{z{{{z{{{z{|{|{{|{{{z{{{z{{|{{|||{z{{{zzz{|{{||{|||{{{{{{{|{{{|{{{|{||{|{|{||||{|{|z{{{|||||{||||{{{z{{{{{}{|{||{{z|z{z{z{}|{|||{{|{|{|{z{|{|{|||{||{|{{{{{|||}|||{{|{{|||}|}{}|{{{{|{|{{|}||||}{|{{|||||||}{|}}|||{{|||}|||}|}|}||z{{{|{{}|||}||||||{||||}|{{|}}{{|||{{{{{{}|||{{{{||{{}|}|{}||}|{{{||{{{||||}}||{|||z{{{}|||}|||{{{|z{{z{{||{|}{|||{{|{|||||}{}{{{{|{{{||{||||}|{|z{{z{{||||{}||{z{{z{{{z|||{{}{z{{z||z||||{|{}{{|z{{{{z|z{{|{||z{z{{{z{{||{|{|{{|zz{zzzz{{zz{}z{{z{zzz{{z{{{}{|zz{{z{{{|{{{{{{{z{{{{zz{{|z|{|{{{{z{{z{|{{{{z{{z{{{{{{{||z{{||{z{{{{{|{{||{{z|{|{{zzz{{{}{|{{{{|{{z{{{{|{{|{{}{z{{z{{z{{|||||||{yzz{{{z{{{{||{{{{{{z{zz{{{||}|{{z{{|z{{|||}|{||{{{{|{{{{{||||{||||{|{|{{|||{|}||{z|{z{|{|||||||{z{{{{{||||{}|}{{{{{{{|||}{}}}||}||||{|{||||{{|}|{||{||{||{|}{{|||{z{|{{|{|{}{{}||{|{|{|||||||||||{{{|{|{}||||}}{{{{{{{|||||{{||{z{{{{{z|||||}||}|{{{||z|}|{|||}|{{{{z{|{|}|}}|||{z|{{|z{|{|{}|||{||{|z{{|||{||}{{{{{z{z{|}||||{{|z{z{{{||{{|}}|{z{{}z{{{|{|{{||{|{{{{{{{{z{{|{|z{{{{z{z{{{|{||||{{zzzzz{{}{{{{{|z|{z|z{{{{{{{||{z{{zz{{|{zz{{|{z|{|z{zz{|{|||{zz{{{||zz|{{{|{|{{{|{|z{{{{|||||||{{|{{{{|{{|{}{}z{{zzz{{|{{||{{}{{|{{{|{{||{|{{{{{{{{{{{{|~{||||{z{{{{{|{|||{{{{{{{{z{|{z{{|||}|{z{{|||||{{|}||{{{{{|{{{||{|}|{{|{{{|{{{||}|||||{{{{{|{|||{|}~}}||{{{||||}|}||||||||{{{|{}}}|}}||{|{|{{{{}|||{}}||z||{{|||{||{|}}||{{|{{{||||||{|{{{|{{{{}{{|{||{{zz{z|z|{|{{}||{{{|{{{{||}||||||{{{|{{{||||}{{|||z{{||{|{|{|}|}{{|{z|{z{z{|{||}|{zz{z|{{{|{{{||{{|{{{{{z||{{{{zzz|{{{z{z{{|{||{{zz{{{zz{z{{{{{|{z{z{yzzz|{|{{{{|{{{z|{{{|{z{||{{{z{z{{zz{{||{||zzzzyz{yz{{{{|z{{z{z{{|{z{{{{|{{{{z{{{{{{{||{||||zz{|z{{|||{{{|{|z{|zzz{z|||||||zz{{{z{{{||{|{|||{{{|{{z{}|||||{{{{{z{z{}}}|{|}||{{|{{z{{{||{{{{|z|{|zz|||{|||{{{|{|z{||{||{|{|||{|z{z{{|{{|}||||{|{|{{{|{{||}}|{{||||{{{|{|||}||{|{{{{|{}|||}}}}{|||{{{|{||}{||{{{{{|z{|{{|||}|||{|||{{{|{|{{{||{{{{{|{{|{|}|{||z{|{{{|{|{|{{||{{{zyz{{{|{|{{||{|{{{||{{||}{||||||{||{{{|||||}|||{{|zz{|||{|||}{{{{{z{|{|||z||{{{{{z{z{|{||{}||{{||{{z|||z{{{||{z{z{{{{|{|{|{{|{z{z{{z{{{{{{{|{{z|{{{z{{{{z||z|{zzzz|zz{{{{{}|{zyz{{z{{|{{|{{|{{z{zz{zzzz{z|{|z{{z{z{z{{|{{{{||{{|z|{{{{{{{|{|{{{{z{z{{{{|{{{||z{z{{{|||||{{z|}{{{z{zz{{{{{|{||{{{{{z|z{||{||{|z{{{|{z{|{}{}{|{{{{|{|z{{|||{|||{{|{{{{{|{}|{|||{zz{{{|||||||{||{zz{{{{{||||{|}||{{z{{{{||{{{|}}|{||{{||||{{{}}}|{{{zz{{||}||}||}{|{|z{{}|{||||||{||}||{|||||||}||z{{{||}||}}|||z|z{{z{{{|{{{}{{|{z{{{{|{}||{{||||{zzy{z{{|z{|||{||z{{{{}}||||||{||{{||{|}|||}|||{z|{{{{||||}{}}||z{z|z|{{{|{{|{{{{{{{{z{{{|||{|{z|{{z{{|{{|{||{{|{{|zz{||{|{||{|{{z{{{z{{{{{{||z{{{{zz{{{|{{||{{zzz{zzz{{{{{{|{{{{zz{{{{||z|{||{{{{z{{{{|{{{|{{{{zzz{{{{{{|{{{{{{zzz{z{{z{{||||{{{{{zz{{{{{{{{|{{z{|zz{{{{|{|{|{{|z{{|{{{|{{||||{{{{zz{{||{{|{z{|{{{z|{|||{{|{{{{z{z{|z{||{||{{|{{z{{{{|||{||||}{{{|||{{|{|{|||{{{{zz{||}||{||||z|{{|{||}{{||~}|||{|{}{{{{{|||||{z|||z||}||{|||{{|{{{{{|{|{|||}}{{{|}|{{{|||||||{||||{{|{||||||{{|{|{{z|{{{|||||{{|z|{{||||{||||{|zz{|y{|{{{}{|||{{{{|{{}}|||}{|z{{|{|{{|{|||||{{|z|{zz|{|{||{||{{{{z{{{|||z{||{{{{{{zz|{|{|{{|{{z{{{{{{|{|{||{|{{{z|z{{|}|z|{{||zzz{z{{{{{{{|{z{{zzz{{{{{{|{|{|zz{z{zzz||{{{{||{{|zzzz{|{{{||{zz{{{z{z{{{{{{{{zzzz{z{z{|{{{{{{zz{z{|zyz{z|||||zz{{|{{{{{{{{{||zz{|z{{{{{{|z|{|z{|z{{{{|||{|{{|z|zz{{{{{{|||||{{z{z{{{{|||{{||||zz{{z{{}{|{|{{||{|||{{z{|{{}|||{{z{}{|{{||||||{|{|{{{|{{}{|||}}{{z|z{|z|{}{|{}|{||{|{|{{|||||}|||{{{||||}|||||{|{|{{{{||{||{}{}|{{||z|{{|||||}}||{|||{|||||}}||{z{{{{|{{|||{|||{|zz|{{{{|}}{{|||z|z|z{z{{|{{||}|{{{{{zz||~||~}}}}|z|{|{{||{||}||{{z{{{{}|}|}|||{|z{{{{{|{||z|||}{{{z{{{||||}{{}||zzz{{z{{{{||{{{z{z|zzz{||{{{{{{|{{{{z{{z{|{{{{zz{{zz{z||{z{{{{{{z{z{yzz{{{{||{{{{y{{zz{{{|{|{{{z{{{{{z{{zz{{{{z{{z|z{{z{{{{{|{{{z{{{z{|z|{|{}{{{zz{z{z}{{|{|||zz{{zz{z{{{{||{{{{zz|z{{{|{|{|{{|{{{{zz{{||{|||{{|{z{z{z{}||{{}{{{{{{{z{{|{|z{|||z|z|z{zz||||}||{|{{{{{{|{{}|{}|{{{}{{z{||{|||}{{{|{|{{z|||{||}|||z{{||{||||||||||||{{||{|}||||{}{{{z{||}|{{|||{|z{z{{{|||{{||}|{||{{{{||{{|{||||{|z{||z{}||||||{{{|{{{z{}||||{|{{|z{z{{{||z||}}||}||||||~|{|}|}}||{{z{{{|||||}}{|{z||{{}z{{||||{{{|{{{{{|{}{{|||{|z{{z{z|||}}||||{zz{{z{{{{z|{{z|{z{|{{{|{|{|{{{{zz{{{z|{{{{{{|{z{zzz{z{||{{{|{z{zy|{{{{z|{{{|{{{{{z{z{{{||{{||{{z|{{{y{|{{|{||{{{zz{{{{{z{{||{{{{{z{{{{|||{}{|{z{z{z{{||||{{|}|{{{z|{{{|{|{|{|{|{|{z{z{{||z{||{z{{{{||{|{{{|{{|{{{{|zz{||{{|}|{{{{{{z{{|{||{||{{|zz|{||||}|{||{{||{}{|{{{{}|||{|||{|{{|{{{|{}||{||||}{||||{}}|{{|z{{|{{|||}|||{{{{}{{{|}|}}||||}|}|{{|{}|{||||}z{{{z{{{|||}{||}|{|}z{|}||||}||||{{{||{||||{||||z{zz|{{{|{|{|}{{z|z|{{z||{||||}{}{|{||||~||{|||{{|{zz{{||}{||||{{|{{{|{{|{|||}||{|{{{{||{}|z}|}{z{{{{|z|{|{|z||{{{zzz|{z{|{{{|||{{{{{{{{{|{{|||{z{{|z{{{{{{{|||{{zzz{{{{{{{{{|{{z{z{zzzz{{{{{{{{{{{{{{z{|{{{|||{{zzzzzz{|{{z|{|z{zzzz{zz{{|{|{zzz{{{|zz{{{{{{{{{{zz{{{z{|||||{{|{{z{z|z|{||||{{zz|z|{z{{|{{{||{|{|{{zzz{|{|||{|{z{z|{{zz|{|{{|||{{{{{{z|{|{{{|{|{{{{{|{||}|{||{{|{{{{{{|{|{{{|{{{{|{{{{||||{|||{z{zzzz{|}|||{}|{|}{{{|||{|||||||||{||{{{|{|||||}{||{||{|}{}{}}|{z{{{{{|||||{}}||{{|||{{|{{|{{||{{{z|{{|{}||||}{|{|{z{|{{}|||{|{{z{{|{{z{||{{||}||{|{{{z||||}|{||{||{|{{|||||||||{{{{{{z}{{|}}|{{{|{{{z{{{}|{|||}|{zz|zz{|}||{||{{{{|zz{{{|{{{|{z|{z{z{{{{|{{{|{{z{{{{z{{z||||{{{{{{{y{z{|{|z||||{{{{{{z{{{|{|{|{{{z{zzz{|{}z|||{{{{|zzz{|{z|{|||{{{{{{{{{{|{{{|z{zzzzzz{{|{||}|{{|{{{}{|}{{||{{{{{z{{{{|||{{{{||{{z{{|{||||{|{|{{{{{z|{{{{}}|{{{{{z{z{{|}||{|}|{{|{{{{{|{{{z{{|{{{||{{{{|{|||||{{{{{{{|{{|||||}|||{z{z||||||{|||{{{|{|||||{||}|}{|{{|{||||{{||||{{{{|||||}|||}{}z|{{{{{}|}|||||{{{|{{{{||||||{{||{|{{{z||}|}|||{{z{z{{z{||||{}{{|z{|{{z||{|{|}|{{{z{zzz{{|{{|}}}{{{{{{{|}||||}|}{|{|z{{||||}{||||{{|||{{|{||}{||{{{{{{{{|{|{{}||{{{z{{z{{{||}|{|{|z{{z{z|{{z|}{|z{{{z{{{|{z|{{|z{{z|{z{z{|z{{||{z{z{z{{z{{{{{{z{z{{zyz{{|{{|{{{{{z{zy{z{{|{||{|{{|{|{zz{}|{{||{{|zz{{{{{zz{|{|{{z{{{{{z|{{|{{||||z{{z{z|{|z{|||{{|{{{{|{{{{||{|z{z{z{z{|{|{}{||zz{{{z{{{|{{|{{z{||{{{{{{{{|{|||zzz|z{{|{||{|||{|{{{{{z{||{|||||{z{{{{{{|}{|{||{{{|{{z{{{|}|{||{}{{{}{{{|}||||{||z|{{|||||{||}|~}{{|{{|}{}||||}{}{|||{{{|||||||}||{||{|z|{||||}|||{{||{{|||||{||{||{{{||{||{|{|}|{z|{{{z{||||||{{z{{zzz{{||{||z}|||{|||{|}}||}||{{{{|{{{|{{||||}|{{{zz{{|{{z||||zz|{{z{{{||{{|}||{{z{{z{|z{|{|||{{{|z{{z{||{{||{{{{zz{z{{||{z{|{{{{z{zz{|z{{z{{{{z{zz{zz{|{{z|{{{z{{{{zz{{{{||{{{z{{zz{{||{{{{|{|z{z{{zzz{{z||{||{{z|{{zz|||{||||z|z{{z{{{{{|{{|{{{{{z{z{{|{{{||||z{|{{{{{||{|{|{{{{z{{{{{|{||{{{z{|{{{{{{{{{|z|{{|z{z{{||||{{|zz{z{{{{{{{|||||{||{z{|{|{z{|{||}|{{||z{{|{{|{||||{|{{{{{|||||{{|{{{z{{{{||||||}}{{|{{|||{|{{|||||{|{z|{{{}|||}|||z|{{{{z||||{||}|{{{{|{{{|{{{|||{z|||||{|{|||{|||{z{{{zz|{|{{||{{{zz{|z{|{||{{||{{{zyz{zz||{z~~~}||{|{|{{{{|{{|}|{{||||z||||}|||{|z||||{{|{|||||{z{{zzz{{{|{{{{{|{{z{{{y{{{{|}{|z{{z{z{{{{|{{||{{zzzz{z{{||{{z|{|{{{{{z{{{{{|||{zz{zzzzz{|zz{{|{{z|{zzzz{||{z{{|{z{{y{z{{{{{|{{|{|{z{{z{{|zz{{|{|zzzz{zz{{{{z{{{{zzzzzz{{||{z{{|{{{{{{z{|{|{{{{|{{z{{{{{|{z{|{{|z{|{zz{{{z||{||||z|y|z|{{|||{{{{{{zz{z{z{{{|{{{{{{z{{{{{|{|z{{|}{{{{{{{{|{{|}|||z{z{{z{{{{|{|{}|{{{{zz{{{{}||||{|{z{|{{{{|{}||||z|{|{|{|{|||{||}|{{|{{|{||||}|{|{{{{{{{|{|{{{||{{{{{{{{|{|||||||{{{z||{z{{{{||||{{z{{|{z{{||{|{{{{{z|{{z|||||{|{y{{z{zzzz{{|{|}}}}}||{|{{}}|||||{{|}{{{{||{{||}|||y{{{{{|{|{|{||{z{{{{{|}{|{{||||{{zzz{{|{{{{|{|{{{{{{{zz{|{|{{{{{{z{z{z{{{{{{z{{z{z{z|{{z{|{{{{{{z{zzz{{z|{{||{zzz{{{z{{{{{|||{{{z{zzz{{{|{{{||{z{{{{|{{{{z{{{|{z|{zz{z{{{{||||{|{{z|{{{{z|{{|{|{{{|z{{{|||{|||{z{{z{z{{{{z{||{{z{zzzz{{{}{{|{|{|{{z{{z{|{{||{|{{{{{{z{{{{|{|{||zzzzz{|{{{|{|{|{{{{{{{{|||{||{{{{|{z{|{{||{|}|{{{{{{{{{||}|||{{||{{{z{|{|{{||||{z{{{{{{|||||||||{||{{{{{}||}|}||{|z{|{z{}|{{||}|{{{{{{{{||{||||{|{{|{{{||{|||||||{zz|{{{{|||}||{{{{{z{z{{|{|{||{{{z{z{{{z{{|~}~||{||z|{||}|}||}}{{{{|{{{|{|}|||{|{z{{{{|{||{{{|{||{{{zz{{|{zz||z{z{{{zz|z{{{{{{{y{zzz{{{{|{||{{|{|yzzz{{{{{{{|{{{z{{{zz{{z|{{{{{z{zz{{z{{|{{{{{{z{zy{zz{{|z|{|z{zz{{|zz{z{{{z{{zz{{{z{z{z{{{|z|zzz{{{yz{{{{z{{|{zyz{{{z{{{|{|{||{zz{zzz{||{z|~{{z{{{z{{|{{|{{||{|{zz{{{{||{{{||{{{zzy{{{{{{||||z{}zz{zz{{{{|||{|{z{|z|{|||{{{||{{{|{{{{|{|}|||||{{{{{{z{{||{||||{{|z{{{|||||{|}{{{{{{{{|||||||{{{{{{{|{||{|{||||{{{{|{|{}|||||||{{|{{|z||||{}|{{z{|{{{|||{|||||{{{{{|{{|||||||||||z{{{{{|z{||||{{|{|{{{|{{|z|{|z{{z{zzzz|}{{}~}|{|||{||}}|}}||}|||{{z|{|||}|}}|}{{|{|y{|||{|{{}||||{{|z{}||{}|}||z{{{zz|{|||||{|{|{{z{{||||{{{{z{{z{{z{{{||{|{{{||{z|z{{||{{{z{{|{{z{zz|{{|{{|||{{zzz{z{{{||{{|z{z{{{{|z{z{{{||{z{{zz{{{{{z|{{||{{zzz{z{{z{z{|{{{{{z|zz{z|{{|||{{{{{{|{{{|{{||||z|{{z|{{{|{||{{{{{{z{||{{|||{{|{|zz|{{z{{|{{||||z{|{z{z{|{|{}|{|{z{{{{{{|||{|||}{z{z{{{||}{||||||||{{z||}{{||||{|{{{{{|||{{|||{{|{{|{z|{{}z|||||||{|}}|||}||}}||{|{|{|||}||{}||{{{||{{||}}|{|}||{{{{{{{||||}}||{|{{{|{|{}{|}||{{{zz{||{||{{|{||{{z|{{{{{{||{||{|{{zzz{z{||||~|~||}|{}}||~|}|}}}{{|||{|||||{|}}||{{{|zz|{|{|||}{{|{{{{{|{||{||{|{|z{{{{|||{{|{||{zz{z{{z{|{{}|{{{z{z{{{|{{{{|{{z{z{{{|{{zz{{{{{zz{z{zzzz{|{{{{|{zz{yzzz{||{{{{|{{{{z{{{z{{z{{||{{{{|z{zz{z{{{{|{z{z{{zz{{{|{{||{z{{z{zy{||{{||||{z{{zz{{|{{|{}{zz|{{z{z||{{|{{|{{{{{|z{z{{|{{}{{{{z{z{z{{{||{{|{{z{{{{{{||{|{||{{{|{{{{|{{{{|{||{{|z{{{|{||{|||{|{z|{|{{|{|{|}}{{{{{{{{{{{{{||||{{||{{||||||{||||{{{{||{||||}{|{|{||{{||}|||||}|||||{{{|}||||||{{|{||{|{|||}~|||{{z{|{{|}{{{|||{{|{{{|||{}||}|||{{z{z|z{|{}{|||}z{{zzzzz{{{{~}~}||~{}{||}}}~}}}|}}{||{{||}|||}|{z{|}|{|}{|{}{}||||z{{|{{}|||{||||{|zz{z{{||{||}{{|z|{{z{|{zz|{{{{zz{{{z{{|||{{{z{{z{{{{{{z{}{{|{|z{{{z{{|z{||}{{{zzz{{z{{{{{{{{|{{{zz{{z|{{{||{zy{{{zzz|z{||{{z{{{{{{{z{{{{{}||{{|z{{{{z|{|||||z{{{{z|z{||||||||{{{{z{z|{{|{||{|z{|{zz{|{{{{||}{{|{{z|zz}{{{|||{|{|{{{{{||}{|||{|{{{z|{{}|{{||{|{|{{{{{|||||}|}|{||{|{||{||||{}{{{{{{{{|||{|}|||{{|||z|{{}|}}|||||{{|}|{||||||||{|{||}{|}|||}}|||}{{{{|~}|}|}|{|||{|z|{||||}|||}|{||{{{}{||{||}{{|z|{|{{|{{||}}}{{|{{{z|||||||||{{|z{{z{|{|{}}~}~|||z}|||}|}}}}|||{||}}|||{}}|{{{{{z}||{||}}}|{|zz{{{{{}{|{{|||{{|{{{{{|{|{||{{{|{{{{{{||{{|||{{||{{{z{{{|{|{{{{{zz{|{{|||{|{{z|{{{{z{{z{|{|{{z{{z{{z||{|{|{{|{zz{zz{z{{||{{}||{{{{|{z{{|z|{|{{|{{zzzz{{{|z|{{|{{zzz{{|||{||||{{z{{{{z{{{||||{{{|{{||{{||z{}|{{{{{{z{{|{{||}||{{{{{{{|{|}|||||{{||{|{{||z{|{||{|{{{{z{||}|{||||{{{{{z|||}}}|}|{||{z{{|}}{||{}||{|{|{{{{|}}}}|||z{{{{|{|}|||}{}}{{{{|zzz}}{}||{|{{{|}}{|}|}|||}{|||{{|{||{|||||{{{|{|{||}||{|}|||z|||{{|{{||||||{{z{{{z|||{{}}||{|z{|{{|||||{||{{{||z|{z{{{|}~~|}}||~~|}}~}{}|}|{||||{}}||||||||{|{|{|z}{{{|{|{|{|{{{{{|{}{|||}{{{{{|{{{}|{|{|}{{{{{zz{||||{{{|{z{{{{{{{{{{{|{|{{zz||z{{|{{{{{}|{{{{zz{z|{{{{|||zzzz{zz|z|z|{|{||{{yzz{{{|z|||{{{zz|z{zzz{{{{|{|{{{{{yz|{{{{|{|{zz|zz{{{{|{{|}{{z{zzz{{{||z||||z{{{z{{{|{{{z|||{{{{{{zz{|||{||{{z{{{{|{{||||||{{{z{{{{z{{{{{|~|{{|{|{{{{{||||{}{zz{|{{z|}{{|||}|z{{{z||{{{||||}{|{|z{{|||{|||||{z|{{|{{}|}{|}|}z{{{|{}|||||{}||||{{|{{|||||||||{z{{{{|{||||}|||}{{{}{{|{{{||{||{{|||{{|||||{||}{|{{{{{{|}{{||||}{{{z{{{{{|{{{||z|{{{{{{{|||{~~|~|}|}||~}}}||}}}}||||||||||}|}||{|{{|{{|||{|}}|{{{{{|z{{||}{||||{{{z|{{||||{}|||{zz{{{z{{z|{{|{||{zz{z{{|{{{{||{{{{{z{{z{{{||{{{zzz{z{{{z|{z{{{{{{{{{z{{{|{||||{{{{{{{{||{{{{|{{{{{{{{z{{|z{{{|{{{zz{z{{{z{||{||{{z{{{z{|{|||||{{zz{z{|||{|{|{||{{{z{{{{{{{||||{{{z{{{z||}||||{{z{z{|{{{{}|}||||{|{{z|{{|||{||{|{z|{{z{||{||}{|{{{{{{{{||}||}}}{|{|{{{{||{||||||{|{{{z{||{|{|}||{zz|{{{}}{{{{|||{|{{||{|{||z}}}}{{||{|{|||}|}|{|{||{{{|{||||||{{{z||{||z|||z||}{|{{{|{{{{{}{|}||z{{z|{{{{{||}}|||{{{z|{||{|z|||{{{zzzy{{{|{{}}~|~}}}{~|}}}}}}}}|{|{|{|{|||}|||||{zz{||{|||{|}|}|{|{{{z{||||zz||{{{{z{{{{|{|{||{{z{zzy{{||{{{||{{{{{zzz{{||z{{|{{z{{|zzz{{{z||{|zzzyzzz{{{{|{{{z{z{{zz{z{z|{|{|||{{|zz{z{z{z|{}}z{{{zzzz{|z{{{{|z{{zzz{z{{{z{|{|{{{{{z{{{{{{|||{{zz{{{zz{{|{{{||{z{{{z|{{{|{|{{|{zz{z{z{z{{{{||||{{{{{{zz{{{|||{|zz{|{{{z|{{{{|{{{{{{zz||{|{{||{|{{{{{{{||{||}|||z{|z{{{|{{|{|||{{{z{{{|{|z|}{|||{{|{z{{||||{||{|{{zz{{{z|{{{||||{{{{{z{{~{}}||}|{|{{{|||||{{}||{{{{{||}{{|||||}||{{{{z{||{||||{|{{{{z{z|||||{|||{z{{z{z||||{{|z{{z{{{{z{{|{{~}~|}}~}|||}}}}|}}|}||{{{|||{}|}{}}{{{{{z{z|||{|||||||z{{{|{||}{||{|{||{{{{{|||{|{{{z{{{{{z{|||{||z|z{{{{zz{z{{||z{{{{{z{{z{y{|{{|{{z|{{{{z{{{{|{|{z{z{zz{z{|{z{{{{|{{{z{{z{{{{{{{{{{{z{z{z{{}{|{|z{{zz{zzzz{{{{||{{{{{{|{{{||{{|{{|{{{{zyz{|{|z{|}|z{{|zzz{{{{{{{{{z|{zz{{|{{|{}}|{{{{{{|zz{||||{{{z{{{zz{{{|{{|||{{{{{z{{{|{|||{{z{{{{||{||}{{|||z{{{{{z{||z|{|||z{}{|{{{{||||}||}{||{{{{|||}}|}|z{|{{{|z{|{{|||}||||{{{{|||||||}||||{{z|{|{|{||{|{|{zz{|{{{|{||{||{||{{{{|{||{|}{{{{{{z{{|{|||}|{{{zz{{{z|{|{||{|{{z{zzzzz||{}~}}}}}}|{|~}}}{|}|}||{||{|||}|}||||}{|{|{|}{{||}{}{{{|z{{z{{{{|{|{|{z{z|z{{{|{{||{{{{|z{z{|z|{|{|{z{{{zz{{{|{{z||{zz{{{{z{{{{z{{z{z{z{z{{{{{|z{{{{yzyz{{z{{{{{{{|z{z{z{{{z|z{{{|{{{{z{zzzz{|{{{|{{{z{zz{zz{{{||{{{z{{{{zz{{{{{|{{{z{z{zzz{{{{|||{{z|zzz|{{{{|{{|{zzz{{z{{{{|{{|{{zz{{z{{{{{{{{|{{{{z|{zz{|{||{|{|{{{{{{{{{{{{|{|{{|{{{|{{z{|{||||{{{{{{|{|{|||}|||{|zz||||||||||{}{|{{{{|{}}{|{}{{{|{z{{|{|||{|}||z{z{{{||{||||||}|{|{{{|||}|{||{{{{|{{{{|{{{|||||{{||{z{{|{|{}||{|{{{z{{{|||{{|{}|zz{z{zz{|{{z|{|{{z{z{{|{|||~~}|~}}|||{~}||}}}}|{||{|||~|{}|}}||{{|{|||||{|}}{|{{{{{{{{{{|{{}|{{{z{{{z|{{z||{|{|z{{{{{{|{{{{||{z{zz{z||{{{{|{{{z{zz{zz{{{{{{{{zz{z{zzz{{{|z||{{{{zz{z{{{{{|||{{z{{{{z{{|||{||{{zz{z|{z{|{{{{{|{{{|z|{{z{{{||{|z{|zz|{{{|z||{{{{z{y{{{{{{{|{{{|{{{z{z{z||}{||||{{{{z{{z{||||{{||{{z{{|z{|||{||{{z|{{{{{{||zz||||{{{{{z{{{||{|{{{z|{{z|{|{||}||}{{{z{{{{{|{{{||}{{z||{{{|{|{|||{}z{{|{z{||||{|{}{{{{||||{}||{}|{|{|z{|{|{||{|}||}{{|{{|{{|||}|}||z|{{{{{{||{|||}{{|{|{{{|{z|||||{{z{{z{z{{||||||||{z{{|{{{||{{|{{{{zz{{{|{{|z~~}}~|}}}~~}}~}}|}|{}{}{||}}|}|}}{|{|||z}}|||}|}{{||{|{}|||{{|}{{{{{{|{{{{|||||}{{{{{z{{{{|{{}{|{z{{|{{{{|{{|||{{zz{|{{{|{z{||{|{{{y{{{z{{{{|{{{{z{|{{{{{{{{|z||{||zzzzz{{|{{||z{{z{|{{z{{|z{{||{||{{z{zz{{|||z{|z{zz|{{{}|{{||||z{{{zz{{|{{{||{z{{{|{{z{z||||||{z|{{|{z}|{z|{}|{z||z{{{||||||{||{{{{z{{{||{||{{|{{{{{|{{{{{{|{|{|{{||{|{{||||{|{{|{|||{||}{|{|}|{{{|{{{|||||||||{{|||{{{|{}|||}z{|{|||{{|||}}|}}{|||{|{|}}|}|~|||||{{{z|{|}}}}||||||{{|||}||}}|||{{{|{|{||}|}|}||{|{{{{||{|{|}|||{{{|}{||}}{||{{|{z{{z{{|{{{}~~~}}}~}}}~~}}}~}}||~{|||}}|}}}}}{|{|||{{|{||}|||{}{|{z{{||||||||{{{z{{{|{||z||{{{{zz{|zz}||{{{{{|{|{{{z{||{|{{|{z{z{{z{{|{{{{|{{zz{{{z{{|{|||}{zzz{{{{z{{{{{{{|{{{zz{{z{{|{}{|{||z{z{{z{{|z{{|{z|{{{{{{{|{{||{|{yz{{z{z{{||{{|{zz|z|z|{{||{|{{{{{{{{y|y{|{{{{|}z{{{{z|{||{|||||{||{{{{{{{}||}|||{{|{|{{{{|||||{|{||||z{|z|z{{{}|||{{{{||{|{{}||{{{{{|{|{}{||||}{{{{|{|z|||}||||{{||{||{}||||{|||{}{{}{{{y}||||{||||||{|{|{|||||}{|{{|{|}|||{||{|{{{||}|{}|||||||{{|{|{{{{|||||||{{{{|{|{||||}||{{||{z{{{||}{|{{|{|{{{z{{{|{|~~~~~~}}}|}}}~~~}~||}||{{||}||~||~{|||{{|||||||||{|||{|{{|{{||||||{z|{{z{{||{||{{||{{z{{{{{{{{{|{{{z{{|{z{{||{{|{~{z|z{zz{{{z{{||{{{{{{zzz|{{{{||{{{{{{{yz{{|{||||{{{{z{z{{{||||{|{zz{{z{zzz|{{|{{{{z{z{zz{|{|z|{|{{{zz|{z|{{||{|{{{{{|{z{||{{{|}{|{{{z{{{z||{{}|{{zz{z{{{{{|{|||||{|z{{{{{||{{|||{{{{{{z{{||{|{||z{{{{z{z|||{{||||{{{{{{|||}}}}{|{{{{|z{{|{||{|}}{{|{{{{z{|||}|}||z{{{{{{|}}|||||{{{{||{|{|{||}|||{{}|{|||~|}|}|}{z|||{||{|}|}||}|{{|||{{{|||}|}}|}{{|{{{||||||}|{{|{{||{||z|{|||||{z{{{{{{}|||{|{{{{{{{z{{||{~~}}}~~}}|}~~~}}}}||}|{}}}}||}|}||{||{}{||||||}|{|{{z{z||{||{|}|||{zz{{y{{{}z|{|{zzz{{{{||{{||z{{{{{{z{{z|}{{{{{z{z{zz{zz{{{|{{|{zzz|zzz|{||{{{||{z{zzz{{||||{{{{{|z{zz{z|{{{{}{{z{{{{{{{{z{{|||zz{z{{{z{{{{{{{{|zzzz{z{|{{}{|}||{{z{{{{|{||||||{|{{{{z{|{|{{|{|{{{{{{z{{|||{||||z|z|{||{|{{{|||{{{|{{{z|||}|||{|{z{{z{||{{z{||||{{|z{{{||}|{|{|{{|z{|{||}|}|}|||||{|{|z{{}{|{|{||z{|{{{{}|||||}|{}{{||{{|z|}{|{{{{{{|{||}{|||}}|z{||{|{|{|||||{|z{{{{|||{{||}}}||{{{{|{}|||||||{{{{{{{{||{|||}|}{z|z||{{|{|{{|{{z|y{z{z{|||{~~~~~||~~}}~}}~~}|||}||||}||}|}|{|z|{|||{|}}}||{z{|{{{{{|||{{|{{{|{z{{{|{||{|||{{{{{{zz||{|||{{|{{{zzz{z{{{|}|{|{{{z{z{{||{||}{{{{zzz{{{|{|{||{{{z{{{z{{{{z{z|{{{|z{zzz{{{|{{|}|zz{z{{z{{{{{{{|zzz{z{z{z||{{{{|{{{z{|z{|{||{{|}{{|z{{{{{||{{|||{{{z{z|{{{{{|{||{z{{z{z|{||{||{{z||{{{z{{|||{|||{{{{z{z{||{{{{||{{{{{|z{|{|{{|{|{{{{{{{{|||||~}|{{|{|{{|||{}}}}|||{|{{{{{||}||{{|z{|{|{||}||{||}{{{|{z{{|||||||}|{{|{|{{||}||}|||{|{{|{||||||}}}|z{{{{{z||{|||}{||{||||}{||||||}|{{{{{{z{||{||}|{|{{{{{{|||||{|{{{|{zz|z|{|||}}}}~}}~}|}}|~}}}}|{{{|||||||}}|||{{|{{|{|{||||{|z|{{|{|{||z{{||{{zz{zz|||{||{||{{{{{{z{{|{{||{{|z{{zzz{||z{||{{{{{{{zzz{{{{|{{{z{{z{|{{{|||{|z|z{zz{z{{{{z|||{zz{{zzzz{{|{|||{{zz|z{{z{{{z{{{z{zzz{|y{{{{{{{{{{{{{z{zz{zz|||{|{{z{{{{{{{{zz||}{z{{z{{{{z{{||{}{y{{z{z{{{|z|}}{{{{{z{zz||{{|{{{|{|z|{{{|{||{|||{{|{{z{{|{{{{|{|z|{{{z{{|||{|}|{z{{z{{{{||||||}}{{{{{{z{{|{{||}{{{{{{z{{|||||||||{|{|{{|{||{|{|||||{|{|{|||{|}}|{{|{{{{{|||{{{|||z{{|{{z|||{|||||{|{||{|{|{|{|||{{{z|{z|z}{||||{{{z{{{{{{{||{{}|{z{z{{{z{{|||~|}}~|}|}}~~~~}}~}}{|{|}}}||}}|}|zz|{{z|{||}|{}|{{{|{z{|||{z{||{z{{z{zy|z||z{{{{{{{{{{{||{{z|{z{{}zzz{z{{{{{|{|{{zzz{{{{{{|{{|{zz{z{zz{{{{|z||{{zzzzzy{{z|z|{{{{{{zzzz{|{{{|{|{|{zz{zz{{|{z{z{z{{z{{{zzz|{{{|{z{{||z{z{z{|{{{|{{z{z{z{{z{{z{{{{{z{{{z{z{{{{{||{zz{{{z{{{{}{z{z|{{z{|{{z{|||{{|{{{{{{{z{|{{{{}{{{zz{z{{{|{{|{|}{|{zzz{{{|{||{||{z{z{{|{z{{{{{|{}{{{{{{z{|{|{|||||{{{{{|{}}|{|{||{{||{||||{|}|{||}{{{{{{{{}}}|||||{{{{{|||{||{}|||{{{|{{|z{|||{|}{{{{{{z{|{|||{{|{{{z|||{{{{||||{{|z{{{{{{|{{{{|{{{{{{|zzz{{{{~~~|}}}}}~|}}}}}|||||}|||{}}||}|{{{||||{|{{|||{{{{{{{zz{|||{{{|zz{{|{|y{||{{{|{{z|z{z{z{|z{{z|z{{{{{zy{{{z{|}|{{zz{zz{z{{|z{||{{{{yzzzy{{{{{{|{|{{{zz{z||||{|{|{z|zzz{z{|{|{{|}{{z{{{z{{{|zz{{|z|{z{z{zz|{|{|{|zzz{{{zzz{{{{}{{{zz{zz{{{{{||{|{{{{{{z{{{{{||||||{{z{zz{{||{{{{|zzz{{{|{{{}|{|{||{{{z{{z{{||{|||{|{{z{{|{||{{|}{{{{{|{{|{{|||z{|{||{{{z{{{|{|{|}||{{||{{{|}|{||||{{{{zz{||{{||||{|{||{||||{||}|}|z{{{{||{}||{{}|}{|{{{{{}||||||||z{{{{{{||||||{||{{{|{{|}|{|||||||z{{z{|{|}}{||}|{{z{z{{{{|{{{|||{{z{z{z{||{|~~}~~}}~}}}}|||}|||{|~}}}}||||{{||{|{{||}{|{{{||{{{{|{||{{|||{zz{{zz|{{|{|||{{{{{z{z|{|z{{{{{zz{{{zz|{|{z{{{z{|zzzzz{{{{{||{z{z{zz{z{{{{z|{{{zyz{{yz{z|{|||{{{z{{{zzyzzz{z|{{z|zz{z{{{zzz{{{zzz{{z{zy{{z{{{zzz{zzy{zz{||{|{{{{{{|{{z{{{{|{||{{{{{z{{{{{{|{{|{{{{zz{z{{{|||{{{{{|{{z{z{}{|{|{{{{{z{zz{||{{|||{{z{{z{z|||{{{||{z|{|{{{{}}|}|{{z{{{|{|{{{{|||{|{|{{{{z{|||||||{{z{{{z{{|||||{}{z{{{{||{{{{{|||||{{{{|{{z||}|||||{{{|z{{|{|||{|{|{{{{|{{{||{||||{{{{|{{|||||{|{||{z{{{{|{|{|||}{{zzz{{zz|}||{{}{{{{z{{z{|{|{|~~~~~}}~}~~~~}}}||}|}|}|{||||||||{||{|{{|||}|{|{z{{{|{||{{|||{z{zz{{z||z|{{{|{{{z{{{{z|{{{{{{{z|{{|yz{{|z{{{{{z{yz{{z{{{{{{||{zz{{{zzz|{{|{{zz{{{{zzz{{{{{|{{{z{zzz{{z{{{{{|zz{{{{yz{z{z{{{{|{zzz{|zz{||{{|{|{{zz{{{z}{{zz{{|{{{{{{{{||{{{|{||zz{zz|z{{|||{{|z{{zzz{z|{|{||{}{{{{{{{{|||{{{{{|{{{{z{{||{|{||{{|{{{{{z|{|z{{|||||{{{{{||}||{||{{{|{|{{{||{{|{|{{|{z{zz|{|{|{{}{{|{{{{{|}||||||{|{{{{{|{||||||||{{{{{{{{}}||||}}|||{{{{||{|}||||{{{{{{{||||||}{|{{{{{{z|{|}|{||{{{{{{|{{|{{{|||{{|{{{{{{|||{{||{z{|z{z{}{|{{~~}~}~~~~~}~}}}|||}}||||||}{{|||{|||||{|}||{{|{{{|{||{|||||{|{{zzz{{{{{||{zz|z{z{{z|z{{{{|}z{{{zz{{{|{||{{|{{zz{zz{{{{|{}{{zzz{z{z{{|||{{{{zzzz{z{{{{{|{|||z{{z{z{{{{{{{{|{zz{z{zzz{{z{{{||{{{{{{{{||{{{{||z{{{z{z{|{{{|}|{{z{{{{z|{|{|{{|{{{z{z{z{{{|{||}{{{z{z{z{{{z|{|||zz{{{{|||{||||{|{{|||{{{{||{||||{{{|zz{|||{{||{{{{{{z{|{{{||||{{{{{|{{{~||{{}|||{{{{{{z{}{{{}{||{z{{{{{{{|||||}{{||{{{{|||{{||||z{{z{z{|}}|||}|{|{{{z{|}}|}{|}|{{{{||{||{{|{}}||{{{{|{||{||||||{|{zz|{{{|||{{|{{|||{y{z{|{|{|{|{{{z{zz{{||{z~~}~~~}~~||}}}||}}|||}}|~|{|{{|{||{|{|{{|}z}{{{z{{||{{||||{z{z{|z|{{{{|{|{z{zz{{z|z{{{|{{{{{{{z{z{||{{|{|{{{z{{z{|zzz|{{{{{{{z{{y{||{|{{{zzzz{{z{{|{z{|{|{z{{z{z{{|z{z{|{{z|z{{{{{||{{{{|z{{zz|{{z|{z{|{|{y{z{|{{|{{{z||}{{{z{{|{{|{||z{|{{{{{y{{{|{{{}{{{{{{z|{z{{|{|z||{{{{{y{z{|{}|{{{{{{|{{{z{|}|{{|{{{z|{{{{{|{{|||||{{{|{{{|{||{{}|{|{{{{{{|{{{||||{{{|{{z{{|||{}|{{{{{{{{{||{|{||}{{|||{{{||}||{}|||{{|{{||}|}{|||}|||{{{{|||}{|{|{{||{{{||z{|{}|}||{{{{|{|||||||{{|{{{|zz{|{||}|}|{{{z{z{{}{|{|||z{{{zz{z}{|{{~~}~~~~~}|}||||||}|||}~}|{|{z{||||{|{{|||}{|zz{{{{|||||{|{{|{{{{z}|||||{|{{{{{{{{{{{{|{|{{{{zz{zz{{{{z{{{|zz{||{{|{{|{{|{{{zz{{{{{{{zz||{{{{|zzzzz{{{|zz|{{{{z{{z|{{||{||{|{zz{{z{{{{{{|{|{zy{z{|{|{{|{|{{z{{{|{{{{||||{|{{zz{z{{z|||{|||zyz|{{{z{{{{{{{}z{{{zz|{{|{{{{||{{|{|{{{{z}{||z|{{{{{{{{|||||{}|{{{{|z{{{|{z{|{||{{z{{{{||||||}{{|{{{{|{{|}}||{||{z{{{{z{||{||||z{{|z{z{{}||{|}}{{|z{{{{||{||||}||z|{|{{{||}|||||||||||{|}|||}|||{z{z{{||||{|||}|||{{|{{}}{|||||{||{{{z{{|||||}||{{{{{{{{{|||||{|{z{{|{z{||||~~~~~~~}}|}|||}||}}|~||{|{||{{||||}|||||||zz{|||}{{|}|{{zz{z|z{}{||{z{{|zz{{{z{||{||{z|{{z|{{zz{|{{||{|{zzy{zz{{{{{{|{{{|{{{z|{|{{||{{z{z{z{{{{{|||||}z{{zzz{z{{|{{{|z{{z{zz{z{z{z{{|{|{z{{zz{{{{{{||{{z{{{{{z{|{{|||{|{|{{{{{|{{{{{{|{{{{{{|{{{|{{|{|{z{{z{{{|{||||{|{{{|{z{z{|{||}||{{{zzz|{|{{{{|||{{|z{|{zz|{{{||{|z||{z{z{||{||||{{{{{{||||{|{||||{{{{zz{{|{}|||||z{{{{{z|~|{|||}|{||{|||{||||}|{~|{{||z{|}|||||||{||{{|||||}|{}|{z{||{z{{||}||}}|{{|z{||||||||}||{{{{|{{{{|||}}|}{z{|{{{||||{{|||{{{{z{{|{{{{}}~~~}~~}|}|}||||}}}|}}||||||||}||}}||||{{{z{z{||{{{{||{||{|{{{{|{|{|{{{{{{z{{z{|{{z|{{|{{{z{z{|{|{z{z{{z{zz{{{z{{{{{||{zz{zzzzzz|{{{{{{{z{z{zz{{{{{|{|{z{{y{zz{{{|{{|{{zz{{{zz{{zz{{{zzzz{{zzz{{zz|{||{{{{{{y{{z||{{|{{z{y{zzz||{{{{{|{|{{|{z{{|z{{||{{{{{zzz{|{{|{|||{{|||z{{z|{|{|||{{{|{{{{||||||{|{{{{{{z|{|{{||{||{|{|{{{{|{||{||{{|||{|{{{{|||||{z{{{{z{{{||}||}|{{{|{{{|{||{|||{{{z|||||||{}|||{{{{{{{|{|||}}|}{{||{{{{|z||}||{}{{|{{{{|||||||}|{{{{{z}{{|}|||||{|z{{z{{||{||||{{{{z{|{{{|||{||{{{z{z{z{||{{~~}}~~~~~}|||||||}|~}}|}}{|z||||||{|}}}||||{|{z|{|{|||{|{{{{z{|{{{|{{{{||{{{z|z{{||{|{{{{{z{zz{{{{|{{{{|{z{zz|z{z{{|z|{|{zz{{{z{{{{{{{{{zyz{z{{z{{||{|{{{{zzy{zzz|z{z{{|{{{{{z{z{{{zz{|{|z{z{z{{{{z{|{{{zz{z{|zz{||{{|}||z{zzz{z{{{{{{||z{{{{z{{z{{|{||}|{{{{z{{{||{{|||zz{{{z{z{|}|{}||{{zz{{{z{||{|||{{z{{{{{{{{{|||{|{{{{z{{{{|||}{{|z||z{{|||z{|{|||{{{z{{{{{|}|||}||{{{|{{{|{}{}}|||{{{z||{{~{|{|}||{|{{|{{|||||||{|{{||{{{}}{{{|{||{{|{{{|||||||}||{|||{{|{{{||||||}{z{z{{{||{|||||{{{{{z{|}{{||||{z{{{{{z{z||{}~~~~~|}}{~|||}|~|}}}}}|z{||{{|{{{||||{{{{{{{{{||}|{|{{{{{{{{{|z{{|{{{z{{{z{{zzz|{{|||{{{zzzz{|{{z{{|{zzz{{{z{{{{{{{||zzz{zzzz{{|{{{|{{zy{{zz{{{{{|z{{{zzzz{z{||||||||zz{{zyzzz{{{{||{{{{zzzzy{{{{z||{{{{y{{{{||{{{||z{{{{z{{z{{{||{{{{{{{{{{z|{{|||{}{z{z{{|{{|{||||{{{{|{{{{|{{{{{||{{{{{{{{{{}{{||{|zz{{{z{||{||{|{{{{{||{{{|{}||{|{|z{{{|{{|{||||||{{|{{z{|}|}|}||{z{z|{{{|{|{||||{z{{{{{{||||{|{|}{{||{{{{}||{|}}{{|{||zz|||{{||||{{{||z{{||{|||}|{||}|{{|||}{||}|{|{{{{{{}|{z|||{{z{|{zz{|{||{|{{z|{{{{z|{|{{~~~~~}}{|||||}}}|}}}}{||{z||||{||{{{{z{{|{{{z|||{{|}|{{{{{{z{|}|{{||{{{{z{{z{{{{{{{{|zz{z{zz||{{{zz{{{{z{zzzz{zz{{{{zz{zzzz{{{{{{{{|{{z{{{z{{z{z|{|{{z{{{z{zzzz{{{{|{{{{{zz{{{|z{||{{zzz{{{z{{z{{|{|{{{{zzz|{{{|{{|{|{|{{z{z||{{{{|}{z{{{z{z||{|{{||z{|{zz{{{}{|{|{{{{{z{z{z{|{||{{{|{{z{zzz|||{||~{{z{zzzz{{{|{{{|{||{{{{{{|}{|||{{{{{z|{{z||{|}|||{{{{{z{{{{|||||||{|{|zz{||||||{||{|{z{{{{|{}|}{{{{{|z|z{z|||{}|||{{|{||||{|||||{{{{{{{{{}}{||{}{|||||{{|||z}{||}z{{{{{{z{{{|{}|||{{{{{|z{{{{{{||{zz{{{|z{{|{|~~~}}}}|}||||}}}|||}}{||{|{{|{{||||}|{}{{{{z{|||{{|{{{{{{{|z{{{{{|z{{z|{{{{{{{{{|{|zz{{{{{zzz||{z{{{{z{zz{{z{|{{{|{{{z{{zy{{z{{|{{}{zz{{{zz{{{{{{{{{{{{{{z{{z{{{|{|{{{{zzzzy{{{z{{{|{z{{{z{{{{{{{{|{{zzz{{z{{{{{{{|{|{zz{zz{z{|{|{{|{{{zzy{zz|{{|{{|{{{{z{z{{|||{|{|{{|z{z{{{{{{{||z|z|{{{{{{|{|||{{{z{{zzz{{{{{{|{{|{z{|{{{{{||{|}|{{{{{{{{{|{{|||}{z{{{{{{||{|z|{{{{{{|z{{{}{|{|||{{{{z{||||{||}|}{|{{{}|{||{||{|||{||{{{{|}||}||||{z|{{{{||{||||||{{{{|z{{|{|{{||{z{z{{z{{{}~||{{{{{zzz{{{{|{{{|{z{{{{z{z||{{}~~~}~}|||}|{}|}|}|}|{||{{{{||{||||||{{{zz{|{}}{{{}||{{zz{{z{{{z{||~{|{{|{{{{}}{{|||z{zz{{{{{z|{{{{{z{{{{|{{{z{{{|{|zz{{{zzz{|{{{{{{{{z{z{zz{{||||||{{|zy{{{{|z||||{{z{{{z{{|{|z||{|z{zzz{{{z{{|{{{{zz{{{{z|{{|{{|||}{z{|zz{{|||{||{{{{{z{{{{|{{{|{}{z{{{{zz{{{{{|}|{{{{|z{z{||{{|{|{{{{{{z{{|}{|{|||zz{{|{{|{||{|{|{{{{{{{z{|||{||}{{|{{z|{|{|}||||{{|{{||{|||{|||{|z|{{{{|{}{{|}||{{{|{|{{{||{||||||{{||{{{||||}|||{{|{z|{|{|||||||{|{}{{{|}||{|||||||||{{||||{||}z{z||{z{{}{|{{||{|z{z|{z{||||{|||{{{{{|{|{|{{~~~}}}}}||}{||||}}}}{||{|{{{{|||||{{|{{{{z|{|||z|}{|{|zzz{{{||{|}{|{z{{zzzz{|{{{|{{{{{{{{zz{{{{z}{|z{zzz{z{||z{{{{{{z|{{{zz|{|{|||{{{{{{zyzz|{{|{||{{{{{{zz{||{|{|||{{zzy{z{||{{|z|{{zz{zz{{{{||}{|{{{{{{z{{|{||{{||{z{{{{{{{{{{|{||z|{zz{{{{{{{||{{{}{{z{{||{{||||{{|{{zz{|||{||||z{|{{|{z||}{||||{{{{|{{{{|{}|{{{{{z|{{|{|{|||}||{z|{{|{{|||}|}||{{|||{{{{||}||}}{{|||{{|{|||{{||||{{{|{{||{|||}}}{{||||z{}}|{|}|{{{{|{|{|{~||{|||{{|{|||{||||{|||{z|{{z|{||||}|~|||{{{|||{}|{|||{{|{{z{{{|{|{||{|{|{|{{z{||||~}}|~}|||||~}||~||{{|{|{|{||}||||{|{||z{{|{|{}|}{{{{z{|z||||{{||{{|{z{{{z{{z{{|{{{z{{z{{{{|z||{{{|{y{{{{z{z|||{{{z{z{z{{{{{|{||{{{{z{zz{|{|||{{||{z{{|z{{{|{{{{{{zzzzzz{{{{{{|{{{{z{z{{zz|{{{{{z{{{{{{zzz{{|{{|{{z{{|zzz{{|{{|z{{z{{zy{{|{|{{||}z{|{{{{{{{||{|||{{|{{z{{{||z{|{{z{{{{{{{{|{|||||{|z{{z{{{y|{{{|}||{{{|{{|{|{||{{{{}||{|||||||}||{||z|{{{|||||||{}z{{z{{{}}|{|{||{{{{}|||{|||||{||{{|{{|||}||||}{||{|{{|{{{{|{||{{|{|{|{|{||{||||}{|{|{|{||}|||||{{zz|{|{||||||}{|{{{{||{|||{{{|||{{z{z{{{{|{{~~}~~}~}||}|}}}||}|}|}{{{|||{||||{||{{|{{{{}{|{||{|{{|{{{{{|||{||{||{{{|{{{{z|z{||||{{{{{z{|z{{{|{{{z{{{{z{|zz{|{{|{{{{z{zzz{|{{|||{z{zz{|{||{z|||{{{{z{{{{{|{{{{|{{{{zz{y{{{z{{{{{{{z{{{zz{{{{||{{|{z{z{{{{|{{z{}|{z{z|z{|{|||{{{||{{{zy{{|{{{{{||{zy{{z{{{||{|{||{{{{|z{{{{{{}||z|z||{|{z{|{{{||||{{{{{zz|||{|{{|{||z{{{{|||||{{|||{{|z|{{|||}|||{{{zz{|{||{||{|{|{|{|{{z||||||}|{{{{|||{|||||||}|{||{{{{||}||||||{||{{{{|{|||}||{{|{{{{||{{|{||}||z|{{z||||{||{|{{{z}|{{{|||}|}{|{{{z|{z||||{}||{{{z{{{{{}|{{~~~}~|}}}|||}}}}}}}}{||{||{{||||||}|}{||{{z{||z|||}|{{{{z{{{{{|{{{||z{{{{{{z|{|{z{|z{{{zz{z{{{|{||{{{zz{zz{|{{|}{{{{{zzz{y|z|{|{{|{{{{{{{{z{z{{{{||{{{{zy{z{z|{|{{|||{zz{{zz{{{{{{{|zz{z{{z{{|{z{|{{{z{z{{{{{{{{|{|{z{|{z{|{|||{{||{z{{|{{{|{{||}|||{{{{{zz{z{{{{|||{|z{{z{{{|{{|||||{{z{{{{|{||{{|{z{{{{{{zz{{{{||{{z{z{{|{z||}||||{z|{{{||{||{|}}||z{|{{{{|{{}||{|z{{{{z{z||||}|||z||{{{{|{|{}}|}||z{{{|{{||}}}|||}{{||{{|||||{||}|{{||{||{|||{}|||{||{|{||||}|}{||{|{{|{{z|{||||||{z{{{{{|{|{|{|||{{|{{z|{||{|~}}}}}}||{}}}}||}}|||{|||||||}{|||{{|{{{{{|{||{||{{|{zzz{{|{||{|{|{z{zz{{z{{{|z||{{z{{{{zzzz{{{{||{{{yy{{{|{{{||{{y{yz{{{zz{{|{{{{{{{{zzz{z||{|{||{{{{y{{{{|{z{|{||{{zzz{z{{||{z{{{{zz{{{{{{{{{|||{{{zz{z{{{|{{{{{|{zzzz{{{||{{{|{z{zzz{{{z{{{||{{{{{z{|z||{{|{|{{{{{zzz{{z|{|}|{|{z{{{z{{||||{{{{{{{|{z{z|{|{||{{{z{{z{{{||||{{|{||{{{{{{{{{{{|}|{{z||z{{{||z{|{||{{{{{|||}||||||{{||{{||||{{|||}||||z{||{|{|{|}}}{|||{{{{||||{|||zz{{{{{zz{|{|}}||zz{|{{||||||||{{zz{{|{{||||||||{{{{z{{{|{|z{||zz{{z{{z|{|{{~~~~}||}{}|}|}}}|}|||{|{{||{||}|||{{|{{{{|}{|{{||{{|{{{{{|{{{{{{{{{{z{z{{{{{{{|{{|zz{zzzzz|{{{{{|{{z{{zz{{{{{{{{|zzzz{{z{{{||z{|z{{z{z{z{{{{z{{|{{{z{z{{z{{{{z|{{zzz{{{{{{|z{{{{{{{{{zzz{{{{|{||{{zz{|{zz{|{{{{|{|{{{zzz{{{z{|||||{{{{zzz|{|{|{||{{{z{{z|||{{{|{|{{{z|{{{{|||{}|||{}{zz{{{{|{|{}{{{z{{{z{|}|||{||{{|{z{z{|{||||||{z{{{{{{|{{||||||{{|{{z|{|{{|||||{{||{{{||||||}|{{||{|||{|{|{||||{{{z{|{||||||}|}{||{{{|{|{||||{|{{{{{||||{|{||}}{{{|{{{|||{||||{{{z{|{{{{{|||}|{{{z{{|{{|{|{{{|{{{{|{{z{||{|~~~~~~}|}|}|}{~}}}}}}}||{{z||{{}{{|{||zz|{z|z{{|{{{{|{z{|zzz{z{{{|||z|{{{{{z{z{{|z{{|{{{zzz|{zz{|{{||{z{{zz{zz{z{|||{{{zzz{{{z{{{{{{z{{zz{z{yzz{{{{{{{{{z{zzzy{{{z{{{{{{{{yzz{z{|z{|{z{{{{|{zzz{{{{{||{{{z{{zz{{{z{{||z{z{{z{{{|{{z{||{z{{{{{z{{{{||{|{z{z{z{{|||{{{|{|{zzzz|z{{{{||{{||{{{z{z||{}{|{{{{z|z{z{{{{|||{{{z{{z{z|{{{||||{|z{{{{{z|{{{{{|{|{{{{{z{{|||}||||{{{|y{{|{||||}|{{{{z{z{{|||||||}zz{{|z{||||}z}||{{{z{|||||{|z{|{zz{{zz{{{|{||{||{{{|{{z{|||||{|z|{{{z|{{|{||}{{{{z|{{{z{||||||{{{{z{{{z{{{{|~~~}}~{}|}||}}}|}|}}}{|{{{|}|}||}{|{z{{z{{{|{{|{{|||{{{{{z{|{{|{}{|{{|z{|z{{|{{{||{zz{zzz|z|{||{{||{z{{zz{z{z{{z|{{z{z{{{zzz|{{{||{{z{{z{z{{||{{|{{{{{z{zzz{{{{{{{|{z{{{z{z{z{{z{}{|{zz{z{z{|z{|{{|z{|{{{zz{{{{|{|{|z{z{z{{{{{{{|{|zz{{{{{{|{{{z|}|z{z{{z{{{z|{{}|||{{{{{|{{||{|{{|z{{zz{zzz|}|{|||{{z{{{{|{|{{{|z{{{|z|{z{{{|{||||{{{{|{|{{||||}|||{{|{|{z{}|||{||||z{{|z{||||||}|{{{||||z||{}}|}|{||{{|{{{}|{|||||||{z{|{|{}|{||{|{z{{{|{{|{|||||{{}{{{||||{|||{|z|{{{{|{{||||{|||{z{{{{z|}||||||{{{{}z{{|{}{}~~~}}}}|}}|}||}~|}|}}||{{|{{}||{||||}{}{{{|||||||{|||{|z{|{z|{|{{{{{{{zy{{{z{z{{{||||{{z{zzz|{{|{|{{{{{zz{z{{{{{zz|{|z{|{zz{{|{{{|}{{z|{{{{zz{{|{{|{|{z{zz{z{|z|z|{{{{{{zzzz{|zz{|||y{{z{zz{{|z|{{z{{z{{|{{{{{z{{|{|{z{{{zz{|{{|{|{{{{{{{{{|{{{|{{||{{|{z{{|{|{{|{|||{{{{{zz{|||||{|{{{{{{z{{|||{{|||{{{{|z{||{{{|{||{{{{{{{{||}}|||{z{{|{{{{|z}|}}}|{||{z{{{{||{{}|{{z|{{{{}|||||}}{z{z{||{{}|}|||||{{{||||{||}||||{|||{{|{|||||{{{{{z{||z{|||||||||{{|{|{|{{|||}|||{|{{{|{{||{|{||{|zz{|zy{|{{{|}|{z|{{z{z{}{|{~}~~|||}|}}|}}~}|||{{|||{}|||}|}}|{{{{{{{{{}{{{|}|{{{{{{{{z{z|{{|z{zzz{{z{|{|{{|||{{z{{{{{{{{{{{{{|z{z|{zz{zzz{|{zz{zzz{z|{{{{|{{{{zzz{z{{{{{|{{z{{z{{zy{||{|{|||zzzzz{zzz|{{|||{z{{zz{{z{{z{{{|{{{{{{|{z{{{{{|||{{zz{z|{||{{{|{|z{{zz{z{|{{|{z||yzzz{z{z{|{{|{{{{{{|z{{{||{||{{{|{{{{z{{{|{{{|{}{z{{{{{z|{z{{||||{z{{{{{|{}|||||{{{z|z||{{}|||}}|{{z{{{{{|||||}||||z{{{|}}{||}|}z{{{{||{{{{|}|}||{{|{||{}|}||{}||{|}{|{{{|||}|}|||{{{{{|||{}}{}|||||||{{||}{|}}}|{{{z{{{|||}||}}{|zz{z{z||||{{}{||{{{{{{{{|z{~~~~|~}}}{|~}}}}}}}|||||}|{||||}||||{{{{{{{{{|{{|||{{|{z|zz||{{{||}{z{z{{{z||{{{{|{{z|z{z{z{|{{{|{{zz{z{z{{{{z{{{||zzz{{{{zz|{{z||{{z{{zy{{{{{z||{{{{{z{{{{{|{|{{|{{{z{zzzz{{{{{{|{{{{z{{zz{{{{{{|{{{{{{|y{{|{{z{|z{|z{{{{z{{{|{|||{{{{{{{z{z|{|{||{{{yz{|{{{{{{{|{|z{{{y{{{{}||{{|{{|z{{{{|||{{}||z{{{{{{zz||{||||{|{zz{{{{|||}{{{{|{z{{zz|{{||||}z{{{{z{{||||||}{}{{{{{|{|}|{{}|}z||{z||{{}{|}|{}{{{{{|z{|||||||}|{|{{{{{}{{|||}{}||{{{||{||||{||{||{{|{{{|{||}|||{|{|z{{{}|||{{||{z{{z{{{{{|}{|{{{|{z{{{{||||~~}}}|}||}|}}}}|}}|{{|||{||||||}}{{{{|{{z||||{||}{||{z|{z||||{|z|{{|zzz{{{{{{{|{||{{z{z{z|{|zz{{{{z{{z{{{|z{{{z{{zzz{zz{{z{{z{{|{{z{{z{z{z|{{{z||{{{{z{z{z{{||{{{z{{{z{zz{|{|z}|{{{y{z{|z{|{|{|{{z{z{|zz{{{{{|{|{{z{z{z|{{||{|{{|{{{{{z{{||{|||||||{{z{{{{{|{{|{||{{z{z{{z|||{{{|{{|z{{z{{{|{{{{||zz{{|{{|||{|||{{z{z{zz{|}||||||{{{|{{{{{|{|||{}|{{|z{|{|||z||}{|z{{||{{|{|{||}|{|{{{{{||}{|}|{{||||z||{|}||||{}|{}||{{{||}|{}|{{{{|{|z}||||{||||{{{|{{||||||}}~{|{z{{{{||||}||||}{|z|{{{||{{|||{{{zz|{||{|||~~}~}}|{|~}}}}}}~||}{||||}}||}||{{{||{{{{||||{|}|{|{{{|{z{|{||}||{|{z{{{zz{z{z||||{y{{zzz|{||{{|{{{{z||z{{{{{{|||z{{{zz{yz{|{{||{|{z{{{z{|{{{{|{|{||z{{z{{{{{|{|{z{|{{z{z{{{{{{{||{z{{{{z{|{|{||{{{|{|{zz{{z|}|{|{z{z{z|{{{|{{{{|{|{{zy{{{|||||{|z{||{z{{{|{{{|{||{z{{{{{{{{{z}|{{z{{z{{{|{{|{||||{||zz{|||{|{|||{z{{{z{{|{|||}|{||{{{{|{{|{||{}}{{|{{|{z{|}||||||z|{{{{||||{|}||{|{{|}||{|||||||}{{|z{{|{}|}|||{|{|{{{|{||{||}}||{{{{{|{{||{|}}||{{{|{z}|{|||||||{{{{{{{{|{||{}|{|{{|z{{{{{}||}{|y{{{z{{|||{|~~~}|}}||||}}||}}}||{z{{|||||||||}|{{{z|{z{{{||{|{{{zzz{z{{{{{{|{{{{zz{{|{{{{z{|{{{{{z{|z{{||{{{{z|z{z{{{{z{z{{|{{{zz{{y{{{{{{{{|{{zz{z{z{z{{{{||{{{z{zzy{{|{{{z{}zz{{zzzzz{{z|||||{zz|z{{{{z{{||{{{{|{{zz||{{{|||{{{z{y|z|{||||{}|{|{{{{||||{{{{||z{zz|z{|||z{|||{||{zz{{{|{{{|{{{z|{z{{z{|||{{||{{{{{{{{{{||{|{{|{|{|{|{||||||z|{{{||{{{||{||{|||{{|z|{{|{|{|}|||{{{|{{{|||||||||{||{{{{{}|{|||{{{||{|{{}|||{|||||{|{{{{||||{}|||{z{{z{{||{{{|||{{{|{|{{||{|||||{{{{{{z{{|||||||||z{z{{{|||{||{}z{{{{{z{{|{||~~~~}}|}{{|}|}}|}}}||z{|}{{||{}|}}{|z{|y{zz{||{|{}{{|zz{zzz{{||{{{|{{|zz{z{{{{|z{{{|{zzz{yz{{||{{||{zzz{{{z{{{{||{|{z{{{zzz{z{|{|||{zz{{z{{{{{{{{{||{{{z{zy{{||{{||{{zz{z{z{{{{{|||z{z{{z{zz||z|{||{|{{{{{{{|{{||||{{|z{{{z{{||{|{{|z{z{{{{{z{{|{||{{z{z{{z{{|||||||{{{{y{{{||z{|{z{{{{z{{z||||||||{{|{z{z{{{{{||||z{{{{{{|||||{|{|{{|{|{|{||{||{|}{{{|{|{{||||||{|{{{|{|{|{}|{|||}{{{{z|||{|{|{}||{|{{{{z|}}|||}|||||{|{z|}|}|||{||{zz|{{{{{|{{||}||z||{{|||||||||{{|{z{|{{|{}|||||z{zz{|{{||{|||{z{{z{{{{{{|{{~~~~}}}|~{|}~}}}|}|}|{}{|z{{|{{}|}}|{{{||{|{{|||{{|{{{{{{z{{{||{||{}{z{zz{{|{|{{{{|{{{{z{zzz{|{{{{{|z{zz{{z{z{{{{{|{zz{}{zz{z{|{{||z{zz{{{zz{z{{|{{|{{{{z{{{z{z|{{||{|{{zzzz{{{{{|z|z{{{{{{{{{|z{|||z{{{zzzzz{{|||{|z{{z{zzz{|||{{{{z{{|{{{z{|{{{{{||{{z{{{|{|||||||{z{z{z{zz{||{||||zz{{{z{{{{|{{|{z{{{z{z{|||{{|||{{{{{{{{|{|{||||{{{{z{{{{|||{{||{{{{z{{{{|||{||{{{{z{{{{||||{||{|{{|{|{z{{}|{|}|{z{|{|zz|||}}z||{{||z|{z{|}||{|||{{{||{{{||||}||}{{{|||{||{}|{||{{|{{{{z{}{|||}|{|{z|{||{}||{|{{zz|{{{|{{{|{|~~~~~}}|}{|}|}}|}}}||||{||{{}|||}{|}|{{{|{{{{{{|{}||{{|zzz{z||}z|{{{z{z{{{zz||{{{|{{{z{z{{z{{{{{|{|{{z{z{z{{{{{z{|{{z{z{{z{z{z{{{{|{{{{{z|zzz{{|{{{{{|{zzz|z{{|{{{|{zzz{zz|{z{{z{{{{|{{{zz{{{{|z{|{|{z{z{{|{{|{|||{|{{{{zz{z{{|{|{||zz{{{z{z{|z{{|||{|{{z{z{||}{{{|||{{zz{z{{|{|||{{z{|{{zzz{}||{||{{z{{{{{|{|{{{{z{|{|{|{{{|||{{{||{||{{||{||{|||}|{{{|{{zz||}|{{||{{{{{z{{||||{}||{{{z{|{{||{|{|||{|||{{|{{|||||}||{{|{{{{{||||{||}{{{{z{{{{|||||}{|{{|{{{{||||||||||{{|{{||{{||||{{{{{|z{||{|||{|{zzz{{zz{|{{{~~~~}}}}~||||}||}|~}||{|{|{{{|}|||}|{{|z{|{{z{|||||||{{{{z{{|{{}|{|{|{zzz{{zz|{{{|z{{{{{zzz{{z{{{|{z{{zzzzz{{{{{z|{{zzz{{zz{|{z{z|{{{{z{zzzz{{{|z{{{|{{z{{{{{{{|{||{{zyz{z{z{{{{{{|||zyz{{zyzz{{{||{{z|zyz{z{{||{|||{{{{zzz{{|{z{|||{z{z{z|z{{{{z{{{{zz{zzz{{{|{{{}{{y{{|{|{{|{{||{{{z|{{z{y|||{{||{{{{{{{|z{|{{{|{|{|{z{{{{{{{}||||{{{|zz|{{|{}{|{|{{{{z{z{|{|||||||zzz|{||{||||||{||{{{|||||{{||{||z{|{{{||}||||{||z|{{{{{{{{|}|||{{{{z|{{{{|{{||}|{|{|{{{||}||}||{{{z{{{|{{|{}|}||z|{z{|z||{{{||{{{{{zz{{|||||~~~}~}}}|}||}}|}|}}}{{{|{}{{||{{||}|{|{{{|{{{|}{|{||{|{y|{{|{z}|||||{{{{{{z{{{{{|||{|{{{zy{{{||{{{{|z|z{zzz{z{|z{{|{z{z{{yz{{{|{{||{{{zz{{z{{{{|||{{{|zzz{{{{||{{||z{{{{{{z{||{{||z{|{{{z{{{|{|{{{|z{|{{|{z|{z||||||z{{{{|z{{{|{{|||zzz{z{{{{|||||}{{{{z{{{||{|||{|{|{z|{{{{{{{{}|||{{{{{{z{|||{{|||{|{{{{{{|{{||||{{{{{{|{||{|||}|z|{{{z|{{|{|{{|||z{{{z{{||}|{||||{{z||z||||{|||}{{|{{{{{||{|}|||}{{z{{|||}|||||||{{{{{|||{||{||||{{z{{{{||||||||}|{{|{{|||{{||{|{{{{|{{{||{|||}{}|{|z|{z{|{|||||{{{zz|{||{|{|~}}}~}}}}}|}|}}||}}|}|{|{{||||||{|||}|{{{{z{{{|{|z}{|{{|{{z{{||{|z||{|zzzy{|z{{{z||||{{{{{zzz{{|{{{{{{|{zz{{z|zz{{z|{z{zzz{z{y{{z{{{{{{{zz{{zz{zz{{{||{{zzz{{z{{zz|{||zz{{z{{z{{{{z{|{{z{zz{{z{z{{{{{{{zz{{|z{|{||{|{{z{{|z|z{{{{{{||{z{{zz{{{|{z{|{|zzzz{{zz{{{{||||{z||{zz{{|{{{|{{{{z{{{{{{{||{|{|{{z|{z{{{||{z|}|{{{|z{{{{}|}|||{{{{{{|z||||{|}|}||z{|z{{{{{{|{||{{{{{{{{|}|{|{}}|{{{{||{||{{{|{}|{|{{|{{|}||||||{{{{{{{{||{{|||||{{z{{{{{{{||||||{{|{{{|{||||||||{|{{{{z|}{|{{|{|{{z{|{y||||{{|{{{{{{z{z|{|{{}~~}{||||||||}|}|}|}}|{{|}{|||{|||}|z{|z{z{{}||{|}}|{|zzz{z|{||{|z|{{z{{zzz{{|{|{|{{z{zzzz{{{{|{|{||{{zzzz{{{|{{||{z{|{z{{{||{z{|{{{{zz{{z{{{|{||{{z{{{{{y{{|{{{|{{{z{{{{{{{|{{{{{|z|{{zzz{{{|{||||{z{z{{{z|{z{{{|{{{{{z{z{{{|{{{|{{z{{|{|{{|{{{{||{zz{z{{{|{|{||{|z{{{{{|z||||{|{{|{{|{{{{{}||{||{{{z{|{{||||{||{{|}{z{{{{||||||}|{{{{{{{{{|{}|||||{z{{zz{{{|}|}|||z{|{{{{||{|||}||{{{{}{|{|{|||||}z|{{{|z|~{{||}~}{{{{{|{|}|{}||{{z|||{{|{{||}{}}|{{{||z||{|{|}||}{|{|{|z{|{|||||{{z{{{{{z||{z{{|zz|z{zz{||||{~~}~}~|}{||}||~}|}|}{{{z{{|{{{|{{||{|z|{z{{{{|{|{{|}{{|{z{{z|z|{||||{z{zz{{{{||{{|||{{zz{z{{{{{z{|{{zz{z{{zzz{{{{{{|zzzzzzzzz{{|{z{{|z{{{z{z{{{zz|z{{{{zz|z{|{{|{{||{{yzzzz{|z{{{{|{{{{zzzzyz|z{{{|{zz{{z|{{{{{z{{{|{z{{{zz|{{{|{|}{{z{zzz{{{{z{{|{|{{{{{{{z{|z|||||z{|{zz{z{{|{{{{|{{z{z{{{{|{{z{{{{{z{{{{{{{z{{{{{|zz{{zz{{{|||||{z{zz{{{{|{||{{||{{{{{|{{z||||{}{|zz{|z{||||||}}|{z{|z||{|||||||||z|{{{{{z|||}{|{||{{{{z{||{|||{|{{z|{{{{|{||||}||{z|||{{{{|{{|||{|z{{{{{z|||{||||{{{||{{{|||{{|{{z|z{{|z{{{||~~~~}}|}||||}||~{}}}}|{||||z{||||{}|}{{{{z{z|{||||{||{{{z{{{|{|||||}{{{yz{{z{{{|z|||{|{z{{{z|{{z{|{{{{zz{zz{{{|{|{|{zzz|{z{{z{||z{|{zz{{zzz{{{|z|{z|zzz{z{z{||z|{{||{{{z{z{{{{|{{{{{{z{{{z{z{{{{{||{{{|{{{z{|{{{||{{|{z|zzz{{||}{{||{{z{{{{{|{{{|{{|{{{z{{{{{{z|{{||{{zz{{{{{{|{{|||{{|{{|z{|||{|{}}{{z{{z{z{|||{{||{{{zz{{{{}|||}|{{z{{z|||||{}|||||z{{{z{{||||{{|{|{{z|||{|}|{||||{{{{||{{|||}}||||{{|{{z{z|{z||||}|{z{{|{|{|||||||{{{{|z{|{{||}}||{{{{|{|||||||||{{{{{{{{||{||||||{z{z{{{{}}{{|{{|{|{y{{{{{|{{~~~}}|~|}|}~|||}|}}}|z||z{z~{|||{||}{{{{z{{{|{{z||||z{{{z{{{{{{{||{|{{z{{zz{|{{z||z{{{zz{|{|{|{{||{{zzzzzz{{{z{{{{{{z{z{{z{z|{}{z|{{{zzz{z{|{{{|{|{zz{z{{zzz{z{{{|{|{z{|{z{z{{{z|{z{{{{z{zy{|{|z||||{z{{{{{{|{~{{{|{{zz{z{z{z{{{z{|z{z{z{{z{z{{{{|{z{{{zzz{|{{|{{||{{{{z{z{{{|{{|||{{{{{{{{|{|{|{{|z{{{{{{{{}{{||{{|{{z{|{|{{{||{||{|{{{y{{||z{{|||{{{||{{{{||}||{||{{{|{{||{{|||}|{{|{z{}|{||||}{||z|{{|{{{||{||||{{{{{{||{|}||||{|{{{z{||{{|{|}||{|{{|{z{{||||{||{{{{{{{{{{||{||||{{yz{{{||{{||||{{zz{y{{{|}|{~~~~}~}}{||}|}}}||}}||||{{{{{|}}|||||z{z{|{z{{|||{{||{{|{{|{y{z||{||||{{z{{{|{{z|{|||{z{z||{z{|{{z|{{{z|{z{yz|z{|z{{{{z{zzz{z||{|{||{{{{{{{z{{{{{{{{|{|{{zz{{{z|{{|||{{{{{zzz{{{{{zz|zz{{{{z{{|{|{||{{z{{|{{{z{zz{|||{z{z{{{{||||||{{{{{z{z{{{{{|{|}{|{{z{yz{{z||{||{{{z|{{{{{||||||{{{{{{{z{||{{|{|{{{{zz{{{z}||{}||{{{|{|{z{}{||}{|{{z{|z{{||{||||{z{{{{{z{{{}|}||}}z{z|z{{|}|{|}{|||{z{{|{{|||{||||||{{{{|{|||{|}|{{{{{z{{|{}||||||{{{{{{{||{|{{}{||{{{{|{{|{{||||{|{{z{{{{{||{||}{{{z{{zz{{}|{|{}{{{{z{zz{{|||~~~~~~|}}}|{||}}}}|}}}}||||{|z||{|||||{z{|{{{z{}||{{|||{zyz{{{{{|{{|{{{z{{{{{zz{{{z{{}{{{{zzy{z|{z{{{{{{{z{{zzz{{{{{{|{y{{{zz{{{{z{{||{{zyzzz{{{{{|{|{|{zzzz{{{{{{{{z{z|{y{{zz{{z{{z{{{z{z{z{y{|{z||{{{z{{{{{z{{{{{{{|{{{z{zy{{||{{{{|zz{z{z{{{{{z{||{{{{z{z|{{{{|||z|{{|{|z{z{{{{{|{{{{{z{{z{||{{|{{{{z{|zz{{z{{{{||{z{{{{{{{|{|{|||{|{{{{{|{{|{|{|{}{{z{{z{z|{||{{}||{{z{|{{{|||||||{z{z|{|{|||||{{|||{|{{|{|}|||||||{z{|{{{|{}{|}|}{z{{z{zz||||||}|{{{||{|||{|||{|}{z|z|{{z|{{{{}||{{|{|{{z|{{|{{|{{{|zzz{{{{|{|~}~}~~}||}}{|{|||}||||}{{{{z{{|{||{|||{{{z{{{z{|||{{||{|{zz{{z{|{z{{{|{{zzz{{z{{|z{{|{{zzzzzy{{{{|{{{{z{z{z{zz{{{z{{{{zzzzzzzzz{z{zz|{zz|zzzzz{||{{{||z{|zzz{{{{{{z{{{|zz{yzzzz{{zzz{{{z{zy{z{z{{{{{{|{{{z{z{z{{{|{{||zzzz{{zz{{|{|||{{z{z{z{{|{z{{{{|{{{zyzz{|{{{||{{|{|{{zz{z||{{{|{{z{|z{{z{{{{{{|{{{{|{zz{{|{{{{||{{z{|{{z{||{|||{{{zzz{{{{|{|{|||{z|{{{{{|{{{|{{{|{|{{{{{{|||||||||{{{||{{{||||}||{z{|z{{{}{||}|||{{{{{{z|||||{||{{{{{|{{|z||{|}|||z{{{z{{{{|||{}{{{{|{{{|||{||{|{{z{z|zz|{{|{{}{{{{|zz{{{||{{~~~|~}}}|}|}||||}}}}{}}|{{{{{{{{|||}{{|{||{{{{{|{{|{{{||{{|{}{{||{{z{{{{z{{{z{zz{{{{||{{{z{{{zz{{{{{{z|{{{y{{zz{{{|{|z{zzzz{z{z|{{{{{{|zzzzzzzz{{|{{|{|z{{z{{zz{{{{{{}|z{{{zzzz{|{{{|{||{{zzz{yz{{|{|||{{z{{zzz{~{|{|{}{{z{{z|{{{z{{{|{|z{{|z|z{zz{{{{|zz{{{{z{{{|z{{||{{{z{z|{|{{{{||{{{{z{{z{{|{|{||||{{{zz{||{{z|{|}{{{zz{{{z|{|{|||{{|{{{{|{|{{|{||{z{|{|z{|}|{{||||{{{{{z{||||||}}|{{{{{{{|{||||}}|z|z{{||{}|||}|{|{{{{{{{}|||{|||{{|{{{{z{{|{|{|}||{{{{{{|}|||}}{{{{z{{{{|||||||||{zz|{{z{|||||||{z{zz{{z{{{||~~~~~~~~~}}}~}||}}}}}}}}~|}{{{{z|{|||}}|{{}{{|z|{|}{{{{|{{{z{zz{||{|{||||{{zz{{z{|{{|{{{{{|zz{{z|{|{{{|z{{z{zz{{z|{|{z|{{z{z{z{z|{|{zz|{{z{|{{z{{{|{||{{{z{zzz{{z{{{{{||{z{{zz|{{{z{{|{{{{{z{zz{{|{z{{{|{zz|{{{z|{{|||||{{zzz{{|{{|{{{|{{z|zyz|{{{||z|||{{{z{{zz{{||||||{{{{{z{{{|{{{|||{{{{z{{{{||{{z|{{{{||zz{{{||{||{{{{||{{{{||}{||{zz{|{{{{}||{{||~{{{{{|{{z|{|{{||{z{{z|{||||{|{}||{{{{{|||}{|}||}||{{{||{{}{||||}}||||||||||{||||{z{{{|{{{||{||||{{{|{{{|||{||}||{{{{{{||{||||||}|{z{{{|{|||{{|||{z{{{{{z{|{{{~~~~}~~}|||}|||~|}}}}}||{{|{{{|{{}|{}|{{|z{||{{{{{||}{{{{{{{{z{{{}||{{|{{{{{|z||{{|||{{{|{zz|{|{|{{||z{{{{{{{{|{|{{}{{z{{z{zzz|{{{{{{{{zz{{{{{{||||{||{{{{{{{z{{{{|{{||{{{{{{z{|{z{{{{{{{{{{{z{|{z{|{||{{{{zz{|{||{|{|{z{z{{{|{{|{{{|{{{{{zzy{{{{{{{|{{{zz{{{|{|||{|||{{{|{z{{z|{|{|{|{{{{{{|{{|}||||{{|{{z{z{||||{}{|||{|{||{|{||}|}|{{{|{{{{|}{|{||}||{|{||{|}|}{|}||{{{{{|{||{{|~|||{||{{|{{{||||}||{||{{{|{|}}|}|}|{|||{z{||||||}||{{{|{{|{||||||}}{{{{{{{|||{|~|}|||{{|{||{{|{||||||{{{{{|||{|{||{{|{{{{z{||{|~}~~}~~}||}|||z}}}|}}|||||{||{{}|}{|||||{{{|{zz{|{|{|{|{{{zz{{z|{}{{{{||z{{zz{{z{|{{{{{{z{{z{{{z{|{{{|{{z{zz{z{{{{{{{{|{{z{zzz{|{|{{|{|{{z{z|{z|{{{|{{{{{{{zz{y{{{|z{{{{z{zzz{zzz{{{{{|zz{{zz{zz|{{{{{|{zyz{zzz{|||{{|{{{y{{z{z{{|{}|||{{|zzz{{z{{|||{}{y|{zzz{{{{|{{{||z{{|zz{{{|{|{{|zz|z{{{{{|{|{||{{{{{{{{z{{|{{{||{{|z||{|{{||||||{{{z{{|{||{|{|||{{{{||z||||{|{|{|{{{{zz{|}|{||}||{}|{||{||{|||}|}|z{{{{{|||||{}|{{{{{{|||{|||||||{{z{{{|||||{||||{{|||{{{|{}||{}||zz{{{{{||{|||||z|{{{{{{{{||||{z{{{|{{z{|{{{~}~}~~~~}|}}}}|||}}}||}|}|{{{{{{z}||{{{}{|z{{z{{z|{|{{|{||z{{z{zz|{|{{{||z{|{{z{z{{{{{||{{{zzz{{{z{|z{|{z{z{{zyz{{{{{{|{|{z{zzzz{{{{{{||{|{{{z{{{{|{{|{|{{zz{z{{z{{{|{{|{{z{|zzzz{{{|{{{{{z{{{|z{z|{{z|{{zzz{{{z{{{{{{{||{z{{|{{z{{|{{{{{zz{z{|{|{{||{||zz{|z{z{{{{|||{|{{{{zz{{z{|z{{{{{{{{zzz{{{|||{||{{zzz{z{{{||{||||{{{{{z|z{|{|{{|{|{{{|{|z|}||||}}{{|{{{{{{|}|||||{z{|{{{z|||||}||}{|{{|{|||{{|}|||{||||{|{}||||}}{{||{z||||}|||{||{{|{{{|{{|{|}|}||{{|||{|||||||}{{{{||{{{|{{{||||{{{zz{{{}{{{||{{||{|{{z{||||~~~}~~~~}}}}||||||}}|}}}||||{|{||{{||{|}{||||z|{||z|{||||{{zz{{{z{|{|{{}|{{{z{{{{{|{{{{{}{||{{z{{{{|{|}{|{{|{{{zz{{|||||}{{zzzz{z{{{|{{}z|z{{{{zz{|{{{|}|{z{{z{|y||||{{|}|z{{zz{z{{|{{|{|{{|{|z{z{|{{{|{{{z{z{{{{{z|{|z||{z{{|{z|{||{{{||{zz{|{{{|||{{{|}zzz|{{z{|||{{||{}{{{{z{{{{{|||||{{|{||{{|}|{{{|||z|{z{{{|||}{{|{{||{||||||}}|||{{{{{{|||{{||{|||{{{{z{{{|||||||{|{{||{{{|}}|||||{|{{|||{|{{||||}}|{{{{|||}||||}||{{{{{|}|}||{|}|{{{|{{{{||||{||}||||{||{||{}|||}|z|{{||{||||}||||{z|{{|{|||{||{||{|z|{{{|{|||~~~~}~~~~~}}~}{}{||}}}}}}}|{{|{{{|||||{||}||{{{z{{{||||||{|{{{z{{z{z{||{z|{{{z{{|z{{||{{||{z|{{zzz{|{z{||{{z{{{{z{{{{{{{{{{{z{zzz{||{|z{{|{z{zz{{z{{{{|{{{{z{|zz{z{{{z{|}{z{{z{z{z{{{z|{{|z{zz{z{{{{{|{|||z{{{{{{{{{||{||{|{{z{|{z{|{|{|||{{|z{z{{|z{{{{||{{|{{{{}|{}|{{{}|{{|{z{{{||||||}z|{z{z{z{}||{||{z{{{{{{|||{|||}||{{{{|{{||}||}{|{{||{|{||}{}{||||z{{z{z{|{{||{||}z{z{z{{{{{||{|{|{{|{{}{{|||}|||}|{{{{z|{|z||}||{z||{{{{||}|||{|{|{{||{|||{{||}}|{|{|||||||||{|}||{{{||{|||{{{||{{{|{{{{{{{||||||{{z{{z{{||{{~~}~~~}~~}~}}}}{||||{}|||}|}||{|{|{{||{|{||||{|{{z{z{{{{{|{|||{{|zy{{z{||{{{||{{|{z|{zz{{z{{||zzzz{yz{z{|{}{{z{y{zzzz|z||{{{{|{zz{z{{zzz{{|{{{{{zz{{z{|{{z{{{{{zzzzzz{z|z|{{{{z{z{{{{y{z|{{{|{{z{z{{z{z{{{{{{{zz|{{zzz{{|{{{|{zzzz{z{z{|{{{{{|{{z{z{{z||{z{|{{{{{{zz{z{{|{{{{||{{{{z|z{|{{||{|{{{z{{{{{|{z{{||{{zzz{z{{|||{{{{{||{{{{{|{{|{|{|{{|{{{{{{|{|{}|{{{{|z{{{{||{{||||{z|{{|{|{{}{{|{{{{|{{|z||{{|||||{||{|{{{|{{}|}||{|z|{||{|}{|||{|}{{|{z{{|{||||}|{z{{{{{|||||{|||{{{{||z{|{||{||}{z|{z{{{|||{{|{{{|{{z{z{{|{{~~}}||~}~~}|~||||{||}|||}}|||{z{{{{|{{{|||||{||{{{{{|||{|||{z{zz{|{z{|{z|{{zzz{zzzzz{{{{{{{{zzz{zzz{{{{{{||{y{zz{z{{{{{{|{{zz{{zz{{{{{{{{|{{{{zzzzz{{|{|{{|z{{zzyzz|{{{z||{{zzzzzyz|{{{z{|{|{z{z{zz|{z{{|{|{z{zz{zz|{|{|{{{{{{zz{{{z|{{{|||{zz{zz{z{z|{{|{|zzz{{z{z{{{{{|}|{{{|{z{{{{z|{{{{{{z{z|{{{{}{{||{{||{{{{{|{{{{||z{{{{{{{z|{{|{||{|||{{{z{|{||{}|||{{{{zz{{{}||{|{|{{{{{|{|{|{{{||z{{{{|{{|||||||{|z{{{{{{{||||}{{|{{{z{{{|{|||}||{{|{zz{|{|{|{|}||{|{{{z{|{||||||{z{|{{{|||{}|{|}z{{|{{|z{{{||}||{{|{z{{z{{|{{~}}~}}}}}}~}~||}{|{|}{}|||}|||{|{{{{{|||{{{|||z{zz{{|||{|{|{|{z{{{zzz{{{}|{{{zz{z{zzz{|{{{{{{z{{yy{zz||{{{|{{{{zzz{z{|{||{{{|{yz{zzzz{{{{|{{{{z{{{{zz{{|{|{{z{{z{yzz{|{|{{{{{{{{zz{{{{{{z{{{z{{zyz{{{{|{{{||{|{z{{{zz{{{|{{}{{zz{|z{z{||{{{{{{y{{z{{{|{{{|||{{{{{{{zz{{{|{|||{{{||z{zz|{{{||{|{{zz{{{{{||{||{{{z||zz{{{{{{{{z{{{|{{{z||{|}}|{{z{{{z|{{|{|||~|{|{{{{z{|z|{|}}}{{|z{{{|||||||||{||z{{{{{||{{{|{|z|{z{{{{}||||}|{{||{{|{|{|{|{|||z{{{|{{||{{{|}{|{{{z{z{{z{|{{||z{{zz{|{{|||||||{{z{{{z{||||{{|{{z{{{{{{{|||{~~~}}~}~~}||~}|}|||{||}}||}||}}{}z{|{{|||||||{|{{{{z|{{{{|{{||{z{z{z{z{||{{|{z{|{{{z{{{||{|{|{|z{{{zz|{{{{{|z|z{{{zzzzz{|{{{{{{{zz{{{{z{{{zzz|{z{{z{{{{{{|{{|{{|{z{z{{||||z{|{{{{{zzz{z{{z{|{{z{zz{{{z{{{{{|{{{zzy{{{{{z{{{{|{z{{zzz{{|{{{{{{||{{{z{{{|{{{{|{|z{{{y{z{|{|{|{{|{zz{{{zz{{|z||||{{|{{{{{{|||{{{{{{{{{z{{{||{||{|{{||{{z{{||}||||{{{{{{zz{|{||{|}|{z{{z{{{{{|||{{|{{{|{|{||||||}||{{{|{{|||{{}|{|||{||||||||{}||}|{{|{{{||||{||{||{|{{|{|||{||||}{{{z{{z{{{|{{|{|{|{{z{z{{{||{{}|{{z{{|{z|||{||}|{{|{z{z{{{{{{~~}}}}~}}}}~~}}{}}|||}|}}}}}}}{{|||{{||}{}||||{|{{{zz|{||{|}||{{z{z{{|||{{|||z{|z{zz{{{{z{|{{{{zzzz{{{{|{{|{{{{{zz{zz{{{{z{{{{{z{zz{{{{|{|{|z{{{{z{{{{{{{{{{|{{{z{{z|{{||{|||{z{z{{{|{{{{z{{||z{{{{{{{||{{|z{{{{z{{z{{{{{|{|||{{z{{{|{|z||{||{{{{{{{{{{|{{{{}z{{{z{{z{|{||{||{z{z{{{z{||{||{|{{{z{z|z|||{{|||{{{{{{{{|}{||{{{{{{{{|{||||}{||{||{{||z{||{|{|||{{{{|z|{|{|||{||}z|||{|{||||{||||{z|{|{||||||}|}|z|{|{|{|}{|||}}||{{{{{{||||{||||z{{{||{||{|||{|||{{{|z{||||||}||{{{z{|z{||}|||{||{{{|{{{{|||{||||zz{z{{|{{||~}|~}}}~~~}~|}|{{|{{||}}|}}}}||{{{z||||||}}||}|{{zz{{{{{{|{{|{{|{{||z|{||||{{|z{zz{{zz|{|{|{{{z{{{z{z{{||{{|{{{zzzz{{|{{{|z{{{{{{zz{z{z{{||{{{{{{z{{z{||{||}}{z|{{{z{|{|{{z}|{{{{zz|z{{|{{|||{{z{{{zz{|{{|{{|{{|{{z{||{||{|||{{|{zzzz{{|{{|{|z{{{zz|{|{{{||{{{||{{{zz{{{||{||{{{{{{{{{|||{{||{{||{|{{||||{||{|{{{|{|{{||{{}|||{|{{||{|{||||{|{{|{zz{{{|{||{{}{{{|{{{{{||{|||}{{{|||{{}}||||||{{{{{||{||||||||{|{|{|||||||||~||{{}{{{z{|{||}{|{}z|{{{{{|||||||||{||{{|{{||||}||||{{|z{|}|{||}}|{{|{{{|{|{|{|||{|{{{z{{|{|{|}~~}~}~}~~|~}}}}}}|||{|{|{}}|}{}}}||{||{|{{|{{|}|||{|z{{zz{||{{{|{{{{z{{{{{|z|||{|{y{{{{{{{|z{{|||{z|{{z{{{{{{{|{{{{y{{zz{{{|{{|{{|z{{{{zzz{{|{{|z{{{{{{zz{{{{|{|{{z{{{zzz{{{{{|{{zz{z{z{zz|{{{{{|{z{{{|zzz|{{{{|||z{{z{{zz{||{{|{|z{zzz{{||{|{|||{z{{{{{{{|{{|{{|z{{z{{z{|{z|}|||{{|{zzz{||{|{|z|{{z{{{z{z{|{{{{{{|z|z{z{{|{{z}|}{{{{{{{{{|||{}||{{{|z{{{{{|||{|||||||zy{|{|||||||{{|{{{{|}{{||||z{|{|||{{|||||{||{{|||{{||{||}}|}{||z{{{|||}}}||{{{||{{{|||||||||{{{z{{{|{{|||{|{{{{{|z|||{||}}|{|z|z{{{||}||||{{{{z{{z{{||{{~~}}}}||~}|}}|}~||{{|z{||}|{|}}||||{|{{|||||{|||{|{|{{z|{||{{{{{{zzz{zz{{|}{|{|{{{{{z{{{{{{{|{{{z{zz{zy|{zz{|{{{{y{zz{z{{z|{z{{{z{{zzz{z||{{||{{zz{yzzz{|{{||{{zz{{zzzzy{{{||||{{z|{z{z{{zzz{{{{{{{{z{{{{{{{||{{{{{{{|y{z{{||||{{}z{zz{{|{{|{{|z{{{zz|{{zz|{{|}z{{{{{{z{||{{{||{{{{z{{{{{{{z|||{{{{z{{z{||{||{||{{z{|{{|||{{{|{|{|{{{z{{|{|{||{{{{||{|{{|{|{{{{{z{{zzz{{||||||||{zz{z{{||{|||||{{{{{{{{{||{{||{|{|zz{z{{|||}{|{{{{|z{{{{|{|||}|{z{{{{{{|{}|{||}{{{|||{{{|||{{||{|{{{z{{|||{}||{||{{{{{|{{{{{||||{zz{zyz{}{{{~}~}~}}}}}}}}}}}||||||{|||}}||~||{{{{{||}|||||}{{z{z{{|{|}{|z||{|{{z{{{{{{|{|{|{||zzz{z{||z{{{{{z{{zzy{{|{{z||{{{{{{{zzz}|{z||{zz{zzz{z{||{{{{{{{{{zzzz{{|{z}|{{{{{z{zz{{{{{{{{{{z{{z{{{|{{{|{||{{{{{{{z|{|{||{{{{z{|{z|||{{|}|{{{{|zz{|||{{|{|{z|{|z|{|{|{|{||{{z{z{{{{|{|{{||{{|{{zz{z||||}|{z||{|z{{|{{|||||{|z{{z||||{{||}||{z|{{{{||||{||{{|{z{||{||{|||}}|||{z{|{{||{|{}{|{z{{{z{||||||}|{{|{{{{z{||{|||}}|{{z|{{{}|||}||}{|{|{|{|{|||||||{{||{{{|{||{|}}|{{{{{|{|{|}}{||z|{{z{{|{|{||}|{|{{|{|{z{||||||{z{z|{{z{|{|{{~~}~}||}}}}}}}}|||||}|{{}}|}|}||||{{{z{{z{|{{||{|{{{{|z{{{|{{|||{{{z{zz{|{{|{{{|{|{{{{z{{||{{||{{z{{{zz{{{{zz{||{{z{{|z{{{z|z{{{{z{{zz{|z|{{|{{|{z{zyz{z{{|z{z{||{z{{{z{{|{||{||{z{{{{zz{{{{{{{{zzzz{z{{{{{{|{||zz{{{{|{z||{{{|||z{{{zz{{|{||{|||{{|{{z{{z||z||{{z{{zz{z||||{{{}{{{{z{{{{||{{||{|{{{{z{{{|{{|{|||{{{{{|{{|{{||{z{{{{|{z{{{||||{|{z{{{{{{|{{|{|||{{{{{{{{}|{{||{||{{|{{{{{||{{|{|{{{{{{|{{{|||}|||z{||{|{{|||}}|}||{{z|{{||{|{||}|{{||{{|{{|||||||{|{{||{{|{|}||||{{z{z|z{{{|{||||{|{{{{{||{{|{{{{z{{{z{{|}|{{~~~}|}}}~|~|}}~|~}{||{|{||||||{|{||{|{{{{{{{{z|}|{{{z|{{z{z|{{{{|{|{|zzz{z|{}{{||{|{{{|zzz{{{{{z{{{z{zz{zz{{{{{{{{{{zz{zz{{{{|{{{{zz{{y{{{{{{zz{{|{z{zz{zy{{|z|{{|{{|{z{z{|{|{{z{{|{{{z{z{z{{zz{|z{zz{zz{{z{{z{|||{{z{{{zz{{{{{|}|z{zzz{{{z||{|{z|{z{{zz{|{{{||||{{{{{{{z{z{{{|{||{zzz{z{{{|||{}||{{{|z{y{z||z|{|{{z{{z{{{|||||{|}{zz{{|{z|||||||{{{|{z{|z}|{{|{||{{{{{z{{|||||}|||{{||{{z|}{{{|}{|zz{{{{|{|{{|}||||{{z{{{|}|{{||||z{{{{{{||||{|||||{z{{{{||{|{||}|{{{z|||{|||||{{{{{z{{{{z|{||{|{{{{}{{{{{{|||{|{{{zz{{{z|{{|{~}~}}|}}|}||~}}}|}}|{||||}{|||||}{}||{{z|{z{|{{{||}|{{{{zz{{{{||{{|{z{{z|{z{{|{||{|{{{z|z|z{{{|{||{{z{{{z{{{z{z{|{z{z{{z{{{{{{|{||{z{{zz{z{z|{|z{|z{z|zyzzy|}|{{{{{{z{zzz{{{|{{{{|zz{z{z{z{z{{{z{||zzz{{{{{{|z|{{||{{z{{z{z{||{{{{{|{zz{zz|{{{|{||{{z{{z{{z|{{|{|{}{{{{zz{{{{{|{|{|{{{{{z{z{|{|{|{|{{{{z{{z{{{{{|}|zzy{{{z{{||{|{|{{{{{{z{{||{|||}|{{{||||{||{|{{||{|z|{{z{|||{{{|||{{zz{||||||||}|{z|z|{|||{{{|||{|{{{{{{|||}||||}{{|{|{||}||}}{|||{z{{{||{|||}{||{{{{|z|}{||||||||{{z{||z{{{|||{||}{{{z{z|{{{|{}{{{{{z|{zz|{z{~~}~}~|}}|{}}}}~}}|||||{{|{|||||||}{|{{{{{{||{{{||||z{{{yz{{{||{{||{{{zz{zy|{{|{{{|{|{{|z|z{{{{{{|{{|{z{zzz{z|{{{{{{z{zzzzz{{zz{{z{zzz{z{zz{z{||{z{|zz{z{z{{{{z{||{{z{zzzz{zz{{||||{{{{yzzyz{z{{{z{z{{{zz{y{{{{{{z|zz{z{{zzz{|{{{{|{{z{{zz{|{|z{{|{{z{z{{z{{{{}||||zz{zzyyz{z|{||{{{zz|{z{{{|||{}|{{z{{{zzz{{|{{||z{{z{{zz{{{||{|{{{z{z{{{{z|{{|}|}|z{{{z{{|{z|||{}{z{{{{{z|{{|{|||{{{zz{{{|||{||||{z{z||||{|{||||}|z{z{{{{{}{|{||||{|{|{|{|}|||||{|{z{{{z||{||}|||{{{{|{z{{|{}{|||{zz{{z||{{{}{{}|{{{{{{z{{|||||||zz{y{{z{{|||{}~}}|}|||||}}}||}}}{|{{{{{{|{|||}||{z||{{{{{{{{z{|||{{{{{z{{{|}||{|{{{z{{{z{{|{||{|{{{zzzz{{{|y{{{||{z{{y|{{z{z|}{|{{{{{{{{{{z{{{|{{zz{|{{y{z{{{{|{zzz{{zzz{|{{{z{{{{{zz{zz{{z|{{{|{z{{zz{z{|{{{{{||{{{{y{z{{z{||{{zz{{zzzz|z|{{{|{{zzz{z{z{||{|{{|zz{z{z{{{|||{|{|z{zzzzz|{{|||||{{{{z{z{{{|{{{{||{z{{{|{{{|||{{}{{{zz{{{|{{|z{|{{|{|{{z{z{{{{{|{|z{{{z{{{|}{}{|||{{{z|{|{{{{||||{{{{||{{{{||{||||{|{{|{|{{{{{||{||{{|{{{{|||{|||||{{|z{{||||||{{{|z|z{{{||{|||{||z|{{|{{{~||{|{||{{{{{{{{{{|||{||{{{{{z|z{||||}{|{{{{z{{z|{|{z~~}|}||||}|}~}}}}}}{{|{}{|{}||||{{||{{{{zzzz||{{{}|{zzz{z{{z{{{{{|{{z|z{z{z|{z|{{{{{zzz{zzz{{|{{|{{{z{zzzzzz{|{{|{{zzzzzzz{{z{{z{{{{{{{{z{|z{z|{{{{|{z{zzzz{{|{{{|{z{z{zz{z{|{{{|{|z{zz{y{{zz{|{{|{{{zzz{z{z{zz{{{|{zz|zy{{z{{{{}{|z|z|zz{z{|{{{{{{{z{{yz{{{{{{{{{|{z{z{yzzz{{{{}{|{|{zzz{z{{{|{|||{z{{|{zz|{{{{{{||z{{{{z{{||{z{{{{zz|{|{|{|{{||{|{{{{z{{z{{{{{{|}{|{{zz{z|{|{|{|||{|{|{{{{||||{||{{|{{|{z{{|||||||z{{|{{{||{||{|||{|{|z{{|{||||}|}z{{{{{|{|||||{|{|z{{{|{{|{{{{||{|{{{{|{|{|||z}|{|{{{{{{{{{|z|{|{{|zz{z{z{{|{~~}}{}|||}|}}}|}|||{|{}||{{{|||||}}}{{z{z{|{z|{{|}{{z{{{{{|{||}|{{||{|zy{{y{z{||{{|z{|z{{{z{||{{|||{z{yzz{z{{|z{{|{z{{{zzz{{{{{{|{{z{zz|zz{z{||{{|{{zzzzzzz{{{{|{|{{{{zz{{z{{{{||{|z{y{{{{zz{{zz{{{{{zzzzz|{{{z{|{{{z{zz{zz{{z{{||{{{|zz{{{{{|{{{{{{zzz{zz{{{{{{|||z{{zzzzz{{|{||{{{z{y{z{z{{|{|{{{{{|z{{z{{||{|||{z{{{{z{{{|{|{||{{{{z{{{z{|{|||||{z{{{{{{{{{{|{||{{z{{{{||{|{||||{y{{{z{{}}||{|||{{{{z{{{{|{||{|||{{{{{{{{|}{|{||||{|{z{{{{|{|||{{|z{z{{{|{{|{||||{{{{{{{|{||{||||{{{{{{z{{|{{|}{|{{{z{{z{}||{{||z{{{zz{zz|{{{|}}~|}}}{{}|}}}}|||||z|{{|{|}||||||{{{|{{{|{{||||{|{z{|z{z{|{{{|{{{z{y{z{z{{z|{|{|z{{z{zzzz{{{{z{{zz{z{{zz{|{{|{||zzz{z{zz|{{||{||z{{zzzzz{{zzz|{|zzz{y{zz|z{z||||{z{{zyzy{{{{{{|{z{zz{{yyz{{{{{zz|zzzyz{z{{{zz{{{zzzyz|zz{{|{||||{zyz{{{{{{{|z|{{{{{z{zz{{{|{{{||{zzz{zzz{{|{{{||{z{{z{{zz{|||{||{{z{z{{|{|{{|{|{{{{{{z{{{{|{{|z|zzzz|{|z{{|{{{|}{{{{{{{z|}{{{}||{{{z{{z{{{||||{{{z|{z{|{||||{||{{|{|{{|{|{{|||{{{{z{{{{z||{}|{|}{{{{z{zz{{|||||{|{zzzz|{{||{|{}|{{{{|{{{|||{||||{{zzz{zz{{{|{{|||z{|{z{{{|{||{|{{{{{{z{{{||{{~~}||||}|||||}|}{}|{{{{{{{|{z|||{|}|{{z{{{{|{z{||{{{{{zy{{{|{|{|{|zz{{zz{{z{{{{{|{|zz{y{zzzz{{z{||{z{z{{{{z{{{{{{{|zz{{z{{|{{zz{{{|zzzzzyzz{{{z|{|{{{zz{z{{z{|{{{{{z{z|yyz{{zz{{|{{{{{z{{zzz{y{{z|{{zzz{{{zz{{{{|{{z{{zz{zzz|{{z{{{{{zzzzzzz{{{zz||z{z{{z{{{{{{{|{|z|zz{z{{{{|||{|{{{{{{z{{{{|{||z{|z{{{z{{{||{|{{{{{z{zz{z{|{{{}|{|{z{{|{{{|{|||{{{{z{{|{{{|{{|||}|{z{{{{{|{|}{{}{{{{{|{{z{{{|||{|{{z{{{{||{{{|||||z{{zz{{{|{}|}{||{{{{zzz|||||}{||{{|{{{{{{{||||}z|z{{{{{{|{|||{|{{{{{z{{{z{||{}|{{{{{{{{{{{|{|{{{{y{{{{zz|{{{~}|}}||}||||{}|}||||{{|{{{{|{}||}|}|{z{{{z{||}{z{|{|{{{|z{z{{{{{z||{|z{{z{{{{{|{{{{{{{z{{z{||{{{{{{{zz{zzzz{{{z{{{|{zzz{{zz{{z{{{|{{z{{zzzz{{|{{{z{{{z{zzz{z{{|z||{{{z{zzyzz{{z{{{{{{z{{z{zz{{z{z|y{zy{zzzyz{z{{}{|{y{z{{zyzz{|{||{{zzz{zz{z{|{{{|{{|zz{z{z{{|{{{{|z{{zz{{{{z|{|||{{z{{{zz{{}z{{|||zzzz{{{z{||{{{|{|z{{{{zz|{{{{||||{{{{|{{{|||||{|z|z{{{|{{|||{|||{{{{{zz{{||||{{||{z{{{{{|}{|{{{}{{{|{{{{|{|{||}||{{{{{z{{}||||}|{{{|zz|{|{||||||{{{{{{zz|{|{||||{{{{z{{|||||{|||{|{{{{z|{|||{||{{{{{zz|z{{||{z{||{{zzz{{{{{{|~}}}||||{|}|||||{||{{|{||{{|{|{}|||{{z{{z{z|{{{{{||{z|{zzzz||||{{|{{{{z{z{z{z{{{{{}z{{z{zzz{{{{{|{{{z{{{zzz{{{{{{z{{zzz{{z|{{{|||{{y{{z{{{zzz{{{{|{{zzzzy{z{{{{|||z{z|zz{zz{{{{{{|{{{{{zzzz{z{zz{|{zzzzzzz{{{{zz{||zzz{{zzzz{{{{||{{{{{{y{{|{|{z{||{{{z{zz{z{{|z|||{z{{yzz{{||{|{|{{{{{{z{{{{{{{|{{{z{z{{z{||||{{{{{|{{z{zz|{|{|}||{z{{{{{{||{|||{}{{{zz{z{{||||}||{z{{|{z{{||{{{{{|z{z{{{{||{|{|{}|{{{{|{{z|{{||||{{{{{{{{|||||{||{{{|z{{{||||||}|{{{{{z{{z{|{{{|||{{{{{{z{||||{|}{z|z|{{{{||{z|{|{{{{{{{{|||{{||{{{{{{z{z{{|{{}}}||{|{{}|{~}|{{||}|{|{{{z{||{|||{{{{y{z{{|{{|{||{|z|z{zzz{{{{z{{|{{{{{z{y{{{{{{|z{{{zzy{zz{|z{|{{|{z{{z{z{z{{{|z{{{zy{{{z{{{{{zz{{{{zzzz{{{{z{{{|{zzzzzz{|{{{|{{{{{zyzzz{{{{|{|{{{{|z{z{zz{{{z{|{{{z{yz{z{{{z{{{{zz{yzzyz{{|{z||{{{z{{z{{{{{{{{||{{{zyzz{|{{{{{|{{{z{z{zzz{{{{{|{|{|{{{{z{{{{||{}{{{{z{{z{{{|z}}{|z||{z{{|{{{{{{{|{{z{zz{zy{||||||{{||{{{|z{|{}{|{{z{{zz{||{|{||z}{{{{z{{||{{{{||{{{{z{|{{|{{||}}|{{|{{|{{{|||||||{{|{{{{|||{||}{{z|{{{||{||{|||||{{{{|{{{{|{{{z}z{zz{{{{{{||||{{{|{zz{{z{|{{{{{{{z{{{{z{{|{{z}}}}||{}{|||}||||}|{{{{z{{{{{|||{||{{{{{|{zz|{{|{||{{{{{{z{|{|{{|||{{{yzy{z{{{|{{{{zz{{z{zy{{{{{{{{zz{{zz{zzz||{{|{zzz{{zzzzz{{{{|{{zzz{zzz{z{{{|{{{{{zzzyz{{{{||{{z{{zzz{{z{{{{{|z{{{z{zzz{{{z{{{{z{zzzzz{zz|z|{{{zzz{zz{z{{|{z{{{{z{zzz{zz{}{z|{{{z|{{{z{{{zz{{{|{z{{zz{z{{{{z|{{z{{z{z{{{{{{{{|{{z{z{z{z{z|z{||{{{z{z|zz{|{{z|{{{{z|||{{{|{{|||{{{z{{{|{{{{|{}{|{z|{z{z{{|{|{|{{|{{{{zzz||}||}{|{|}|z{{|||||{|{||{{{{|{{{|||||||{z{|{{{z|{|{{||}|{{{{|z{|{{{||}|{{{{|{z{{|{|{{{|{|zz{{{z|{{{||{|{zz{{z{{{|{||||{{z{{{{{z{{|{{}~|{}}{|{{|{|}{||{}{|z{|z{{{{{z{{{|{z{zz{z{{|z||{|{{zz{{zz{{{{{{{}||{{zzzzzz{{{z{{{{z{zzzyzz{{zz{{{{{zzzzzzz|z{y{{{zyzzzzzz{zz{|{{{zzyzzyzz{{{zz{|{{{z{zzz{{{{{{{{{zzzzzzzzz{{{z{{{zz{{{yzyy{{z{{{{zzzzz{zz{zzzz{{{zz{zzzzzz{{{|z{{zyzzzzyz{{{{z{|z{zzyzy{y|{{{{{{{z{{zzy{{zzz{{{{{{{|zzzzzz{{z{{{{zz{{zzz{z||{||||{{{{zz{{{{{{{|{z{{|{zzz{{{|}{|{zz{zz{{|{{{|{|{{|{z{{{zzz{|||||}{{zz{{z{z||{z|{||{{{z{{{{{{|z|{|{|{{{z{{{{|||||{|{z{{{z{{{||{{||{|{zzzz{z{{{z{|{{{z{z{{{z||||{{||{z|y{z{{{|{{{{{{{z{zzzzz{|||{zzz{{z{zz{z{{{{|}}|||||{{|{||||||z|{|{z{z{{{||{|{|||z{{|{{{{{||{|||{{{{zz{y{||{{|{{|{{zzzzz{z{z{{z{{{{zzzz{{{{{z{|z|z{{z{zz{{{{z{{{z{{zzzz{{z{{z{{|zzzyzyzz{{z{{{{{{{{z{zyz{{{{{|{{z{{z{zzz{{z|{{{{|z{zzyzz{zzz{z{{{zzy{{{{{{zz{|}{zz{|z{z{z{{|zz{|{zz{{{{{z{|{zz||zz{|{{{{{|||{{{{{z{{z{z{{{{{{||{{z{z|zzz{{{{{{|{{{zzz{zy|{|{{{{{{{{{{{{z{|{|{{{|{{{{zz||{|}|{|{{z{|{{{|||{{|{||{z{{{z{{z{|{|||||{z{{|{zz{{|||}{}{{{{{{||||{|||}|{|{|{{z{|||||||z|{{{{|z|z||}{|}||z{{{{{{{||{|{{||{z|{{{{||{{{{{||{z{{{|{{|{{||{|{{{{zzz|{{{|z{|{{z|y{{{z{{|{{}}|}|||}{{{|||z}|{}|{||{|z{{}||{||{{{zz||{z|{{{||}||{{{{{zzz|||{||{|{{{zz{z{{{|{|z|{z{z|{z{{{{z{{{{|z{{{zz{{z{{z{{z{z{zz{{{|zz{{{{z{{zzzyzz{{|zz{{|{z{zzzz{z{|{{{||zz{{z{{{z{|{{{|{|{z{zz{zy{{{{|{{{zzzzzz{{|{{{{{{{z{z{{zz{{|{{|||{zz{{z{{z{{{{|{|z{{zzy{z{{{|{{{{{{z{yzz{{|{{{{{{{{{z{{{zz|{{{{|{{z{{{{zz{{||z||{{z{{zz{{{|{{{{{|{{{{{z{|{||||{}|{zz{z{|{|{z{|{||{{{{|{{z{||||||{|{{z||{{||||||{||{{{z|z|||{||}}{}{{{{{{{z}{{{}{|{{{|{{{{|{{}|{||{z{{{|{{{|{{{{||{|{|z{{{|{{|||||{{{z{{{{{{{||{}|{{|zz{{{{||{{{||{||{{z{z{|{|{~|}|||{{{{{||}||}||{||z||zz||{|{}|{|{{{{{{|||{||||{{z{{{z|{{{{||z||{{{zzzz{{|{{z|{{z{{z{z{z{z{{z|z{{{{{z{z|z{{z{|{{{{zzz{zz{{z{z{z{{zz{{zz{z{{{{{{{zz{{zzz{{{{z|{{{|z{{zyzzz{{}{{{|{zz{{z{{{z{{z{{{{{{z{z{y{{{zz{{z{zz{{|zz{{{|{{|{{zz{{y{zzz|{{{{{z{{{{{{{{{|{zz|{z{{{z|z{{|{{{{|{{{z{zzz{z{|{{|}|yz{{{{{z{{|z|||{{{{zz{{z{{{|{||{{z{z{{z{z|{||||||{{{{z||{||{|||||{{{{{{{|{|{{{|||{{{|||{|}{{||}{{{{{{{|{{|{{|||{|z||z|{{{|||{|||{{{zz{z{}{}|{|}|{{{z||{{z{{|}||{{|zz{{{{{{|{|{|||{zz{z{z|{{||}|{{z{{zzzz{|||{{||{{{z{z{{{|{{{}|~{{|{|z{|||||{|}}{||{z{{{||}{|{}|{z{z{z{{||{||||{{zz{{{{{{{{{{||{{{z{zz{|{{{z{{{{{{{zzz{z||{{|{{{z{|{y{z{{|{{{z{{{z{zz{{z{{{{{{|{{{zzzz{y{{{{|||{{{y{zzzz{{{{{{|z{z{{zzz{z|{{|{|z{z{{zz|zzzzz|{|{{z{zz{zzz{{|{{{{zz{zzzzz{|{|{|{|{zz{zzz{{{{{z{|{{z{{zz{{{z|{{z{|z{z{z{{{{{{{{|{|{{{|{z{{z{|{z|{{zzz{z{{{||}{{z{|{zz{{{{z{|{{||{|{z{{{zz{|||{{||{|{{z|{{|{{||||{}{z{|{|{{{{|{||{||{||{{{{|||{{{||{{{z{|{{{|{{|}||{{{|{{|{|{{||{}|||{{{z{|{|||{{{||{{{{|{{{{{|{||{|{{{{|z{|{{|||{|zz|{{z{{{{{{||{|{{{|{zz{{||{{{{|{{{{{z{{{{{{{~~}|||{{||{|}|{|{||z}{{|{{{|}|z}||}{z{{{{{z|{||z|||z|{{{{z{{|z|}||{{{zzzz{y{|z{{||{{zzzz{{{{{{{{{{{{{zzzyz{|{{zz{z{|zz{z{z{{{{{{{{{{{z{{z{{{{{{{||{{zy{z{z{zz|{||||{|{zz{z{{||{{|{{{{{{zz{{{{zz{|{|{z{z|z{{z{{{{{||{{{{{zzzz{{{z{|{{z{{zyz{z{{|{{{|{z{zz{z{{|{{{{{|z{{{{yzz{||{{{{{{{z{{{z{{|{{{{z|zz{z{z{{z{|{{||{z{z||{{z{{|{|||{{{{z{|{z|{{}|{{|||z{{{|{{{|{||||{{z{|zzz|{|{||{{|z{{{z|{|{{|||||{{{z{||z{|||||}{}{{{{{{z{}}}{||||z{|z{{||||||||||{{{|z{{{{{{{||||{{{{{{{|{||{|}}{{{{{|{z|||{|{}|{{{{{zzzz|||{|{{{{z{{{{zz{{{{}|}|||{|{{{|}||}|}{{||{{z{{{{{{||{}z|zz{{z{{{||{|||{{{{zzz{{{|{z{{}|z{zyz{z{{{|z|{|{z{y{z{y{{{z{{|{{{zzzzzz|y{z{z{z{zzzyzzz{{{zz{||{zzzyzzyz{z{{{{{{{z{zzzz{z{z{|{{{{{zy{z{{{{{{{{{{{{zzz{zz{{zz{{{{zz{zzzz{|z{{|z|zzz{z{zz{|{z{|{{{zzzzzzz{|{z|{{{{{{zzz{z{{||{{{{{zy{z{zzz{|{|||{{{z{{zz{{|||{||z{z{yzz{z{z|}{|{{{zzzzzz{{{{{{{}|{{{z{{{{|{||{{{{z{{zz{|{}{{{{z||{z|{z{z{{{{||{||{y{zz{{z{||{||||{{{{||{{||{|{|}|{|{|{{{{{}{{|{{|{{{|{z|{{|}{{||||z{{{{{{{{{{{{|}{{{|{{z{{|{|{|||{z{z{{{{{||{{{{||z{{z{{{{|{}|{{|{{{z{z{z{{|{{}}}||||||||{|{}|}}||{{|zz{{|{|{||}|}{{{|{{{|{z{{}||{{z|{{z{{|{|{{}{||{zz{{zz|||{||||z{{z{z{zz{{{|{z{{zz{{zz|z{{{{zzz{zz{{{yz{{{{{{{{zzzzzz{{{|{|{|{{{z{z{zz|z||zz|{zz{{zzz{z{z{{{|{{z{{{{{z{{{{{{{{|zzy{z{{{z{{{|{{{{{{z{{z{{{{||z{{{{{zz{{{{z{{{|{zz||{{z{zz{z{|||{z{zz{{{{|{{{||{{{{{{y{z{|||{|{|z{{zz|z{{{|{|{{{{{{{{{{{{{|{|||||{z{|{|{||||{|{|{zz{|z{{||{}|||}{z{{{zz{{{||{{{|{z||{z|{||z{{|}|{{{{z{||{|{|||}||{{z{{{z{||||{||{{{{{{z{||{{{{{|{{{zz{{|{|{||{||{{{{{|z{{{|||||{{{{{|z{{{{{{{|||{{zzz{z{{{{|{{{{{zz{{{{z{||{{|||{z{{z{|{{|||{}|{{z{{|z{{{{{{|||}{{{z{z{z{z{{{{||{y{{z{z{{{|{{{|{{zyzzzz{{z|zz{{{{{zzz{{{||z{z{{{{{{zyzz{{z{{z{{zzzzz{zzz{{{|{{{{yzzzzy{|z{{z{z|{{{{zzzzyz{{z|{{{{z{z{zzzz{{|{{{{{{{{zz{zz{{y|{{{{z{zzyzzz{zz{{{{|z|{{{y{|{||||{{{zzzz{zz{|{{z||{{{zzzz{z{{{{{{{|zz{zzzz||{{{{||z{{{{z{{z{{{|||{|{zzz{zz{{{{z{{|z{{|{{{z{{{{{{|{{{z{{{{{{{{{|{|||{{zz{z{z|{{|{||}{{|{z{zzz|{||||{{{{{z{{z{}{|{{|}|{|{{{{|{|||{{||||{{z{{{{|||{{|{|{{||{{{|{{||{{||z|{{|{z{|{|{{{|{{z{{{zz{|{{{|||{{{z{{z|{|{|{{|||{y{{{{{{{|||{|{{{{y{y{zz{{|z|||{}|{{|{{{|||||}|||{||zz{{}||||||{|{z{zzz|{}{}{{{zzy|{{z{{{y|{{{{{{{{{z{z{{{{||{||{{z{{zzzz|z{{{{{{{{zz|z{z{zz{|{{{z{{{{z{z{{{{|{{{zzzzz{{{zz||{{{z{zz{zz{||z|{{{{z{{zz{z{z{z{{{z{{{zzzzz{z{{{{{{zz{z{zzz{z{{|{z{{zzzzz{zz{{|||||{z{z{{{{{{z{{||||{|{{z{{{{||||{|{{{z{{{{z||{{{|{{{zz{zzz{{||{{{|{{{z|zz{z{||{||{{{z{{|zz||{{z{{||{|{z{{z{{||{{|{{{{z{{{{{|{|{|{{{{{{{{{{{}}|{||}{{{zz{z{|{||||||{z{{{||{|{{||}{|{|{{{{z{{}{|||||{|{|{z{z|{}||}{|{{z||{|z{|{}{|||{|{{{{z{{{{|{|||{{|{{{{{|{|||||||{{{{{|{z|{||{{{{z{{z{{z{||{{}||z|{|{{{|z||{||||z|z{{{|{{|{z||||zzz{z{z{{{{z||||{z{zzz{{z{||z{||{{z{zz{z{{{|{}{zz{{zzz{zz{{{|{{{z{{{{zz{{{{yz{{{{{{z{{{z{|{{z||z{zzzzy{{{{{{{{{{{z{zz{y{{|{z{{{||{zzz{z{{z{{{{{{zzz{{yzz{{{z{{|{{{{{{z{zz{{{{{{zzzzz{zzyz{{zz{{{z{y{zzzz{{{{{{|{|{{{{z{{|{{{|{{|{|{zz{{z{{{{{|{{{{{{{z{{{{|{||{|{{{{{{{{{{{|{{{|{{{{{zz{|{{{{||{|{{{z{{{z||||{||{{{{z{{{|{|{{|||{|{{{z{z{}|||||||z{zz{z{||||{|||{{{{{|{{|{|||||||{z{||{{{{|||{|||{{|{{|{{|||{{{{|{z{z{|||{{{{{||{{z{{{z||{{|||{|||{{{{{{{{|||}|||{{{z{z{{|||||{|{{{z{{{{{{{{{{|{|{|{{{{|{{|||||}|{{z{z{{{{|||{||{{{z{{{z{{{{|||{|{{zz{z{{{{{{{|{z{z{zz{z|{{z{{{|{{{{{z{yz{{{z{{{{zy{{yzy{{{{z{{|z{zz{zzz{{{{z{|{{y{{z{{z{{{{{{{z{{z|{zyzz{{y|{|z{zz{yz|zz{|{{{{{{{{{|zz{z{zz{{||{{{zz{{{{z{{z|{z{zz{z{{z|{{{{{|{{zz{zzzz|{{z{|{{{z{{z{{z{{z{{|{{{{{{{z{|{{{{|{{{{z{|{{zz{|{{{|{zz{{{z{z{{|{|z{|{zzzz{{z{{|||{|{z{z{{{|{|{{||||||z{zz{{|{||{|{|||{|{{{|z{||{{|}{{|{z{{{{{{{}{|{||{{{zz||{{|{{|||{|{{|{|z|{|{||||}{z|{{|{{||{|{}{||{z||{{{||{{||}{z{z{{{z{{||{||||{z|zz{{yz{{{||}{{{{{{{{{{{{|{||z{{{{{{|z{{{z{|}{{{||{{{z||{|z{||{{{{|{||z|{|||||{zz|{{zz|{|{|{}{{{{{zzzz{|{|{||}|z{zzz{zz{{{{{{|{{zzzz{z{|zz{{|{zzz{{zzzz{{{z{{{zzzzz{{{{z{{zz|{{zzzyy{z{z{{{{{{|{y{z{{{|{|{{{{|{|{zz{zz{{{{{z||z{zz|z{y{zzz{{{|z{{zz{{z{{{|{|{{{zzzz{z{{{{{|z{||zz{{zz{{{z{{{{{z{z{zz{{z{{{z{z|{z{zyz{{{z{{{{{||{{zz{z{{|z|{|{{z{{z{yzy{{|{}{{{{{y{zz{{{z|z{{{{{{z{|zz{{||||{||{{|{z{{{{|{{{||||{||{{zz{{|||{||{{{z|{{{|}|{|z}{|z{{{{{|{{|{|{|||zz{{{{{{|||{{{|z{|{{zz{|||{}{|||{{z{{{{{{{|{{||||z{||{{|{||{||{{||z|{z{z||{{{|{{{zz{zzz||{|{{|{{zzz{zy{{{|{{|{|{{{{{{|{}|||}|}{|{{zz{{{{|{||||{{{|{{z{z{|{{||{|{{{{{{z{{{{{{|{|{{{{{zzz{{{{|||||z{z{zz{{{|z{{{{z{z{zz{{z{{z|{|z{zz{z{zz{z|{{{{zz{zz{zy{{||{{{|{{{{z|{zz{{{{{z{{{zzz{{yz{{{{{||{{{zzzzzy{{{|{{|{|{{yzzzz{{{{{{|||zz{{{{{{{{{{z|{zz{z{{{{{|{{{{|{z{zzzz{z{|{z{{|{zz{{{zz{|||{{{z{|zzz{z{{|{{||{|{{{{zzz|{{{||z{||{zzz{z{{||{{|{|{{{{|{{z{{|{||||{{{{{|{{z|{{|||{}|}{{z{z{{||||{|||z{{|z|z{||||||{{z|{{{{{{}{{||}|{}{{{|{{{}}||{|||{{{{{{z{{||{|||{{{{||{{||{||{||||{{{{|{|}{|||||z|{{{{{{{{{||||||}{z{{{z{|||{{||{{{z|{{z{z|{|||}||{{z||{{||{|||||||{|{{z{|{{{{||{{{{{|{{{{{{|{{{|{|{{z{zz{|z{{||{{zzzzy{{|||{|{|{{zy{{{{z|{{{{{{{zzz{zz{z{{z{{{zz{{y{{{z{{zz{{{{zz{{z{{z{{||{{}{{{{zzzzzzz|z{{|{{{{{yz{{{|{|{{{|{{zz{yzzzz{{||{{{{{z{z{z{{{{{{{{zzz{{{{zz|{{|{}|z{zy{z{{{{{{{|z{|{z|y{yz{{{{|{||z|{{z{zz{{{{{|||zz{z{zzzz|{z||||{zz{z{{{|||{|{{{|z{z{||{{||{{}{{|{{z|{{{||{||{|{{{{{|{{{{{{|||}|{z||z{{{z{|{||{{|z{{{{z{{|{{}|}|{{|z{|{{{|{{||{|{{{{{|{{||}}{||}|{{|{{{z||||{|}||{{{|{z{||||{||||{{{|{{||{{{{|||{{zzz{{{{{{{||{|{{}z{{{{{|{|{|}{{|zz{z{z|{|{{|||{}||{{z{||||z{|}{{{{z{|{|{|{{||{{z{zz{{{{|{|{{|{z{|{{{{|{{{||{||{z{z{z{z{{z{{{||{z{zz{{y{{{|{|{{{{{{{z{{{||{{{|{{{{zzz{z{{{{{{{{z{zz{zz{z{{{{|{{zzz{z{z{{z|{{{zz{{|zz{zzz|{{{|{|zz{z{z{yz{{zz{z{{{zz{zzzzz{{z{|{zz{z{z{z|z{{{||{{{zz{z{z|{{z{{z{{zzzzz{{{{||{|{|{zzzzzz{{{{{|{||{{{{{z{{{|{{{z{{|{{{zz{z{{|{{{|{{y{{{zy{||||{|||{{{|{{{{{{|{|||{{{{{{zz{|||||{|||{{||{{{|||{||}}|{z{{{{{{||z|}|}|{{{|{|{|{|z|||||{|{{|z{{}||||}}|{{|{z{{{||||||||{{z{z{{{{{|}{{{{{|{|{|{z{|{{|||{{{z{{{z{|z|{{|{{|{|{{{{{|{{{||{{{{zzz{{{{|{|{{{{zzz{{z{{|||{|||{{|{zzz{{{|{|{|{{{zz{{{{{{|{||{|{{{z{{yz||||{{|{{z{{z{zz|{|{{|{{y|{|z{{z{{{{{|{{{{z{z{zz{{{zz|{{zzz{zzzzzz{|{|z|zzzzyzy{{z{|{{||zz{zz{zz{{{{{{{{{{zzzz{z{{{||{{|{{z{zz{z{z{y{{{|{{z{zzzz{{{{z|{{{zzzz{{yz{||zz{{{zzz{zz{z{||{{{{{z{{zz{{{|{{{|{{{yz{{{yy{|{{z{{{{z{zzzz{{|{z|{||{z{{z{{y{{|{{{{|{{zzz{y{{|{{{|{|{{{z{{{{z|{|}||{{z|z||||||{|{|||{{{{{{{z}|||{{||{{{{{zzz||{||||{{z{{{{{|{|{{|{|{|z{{z{{{{||{{||||{{{z{{{|{|z{}|{|{zz|{{{||{{|}||||z{{{|{||{|||||z|{{{{{{{|{{{{||{{{{{z{{{||{{z||zz{z{z{z|{{z{|{|{z{{{zzz{|{{|{}|||z{{zy{{{{{{}|{||{z|z|{{{{{{{||{{{{{{{{{{||{z{|z{zz{z{y{{{{{{||{z|zz{zy{z{{{z{z{z{zz{z{zz{{z{z{{z{{zzz{{{{z{{{|zz{{z{{{{z{{{{{zz{{zz{{{{z|{{{|{{z{{zzzz{z{{{z{{{zz{{yzzzz{z{{{{{zzy{{zz{|{z|{{{z{zz{zzzz|{{{|{zzzz{zyzz|z{zz{z|{{{{{z{{}{z|{{}{{{{{{zz{z{{{{}|{{{zz{z{z{z|{{{||{z{z{{z{z{}|{{||zz{z{z{{{{z|{|{{{|zzz{{z{{|||||{{{{{{z{{{||||||{{{{z{{z{|{z{||}{{z{zzzz{||{|||||{{{|{{{{{|{{||{{{{z{{{{{||{||{|||z{z{{|{|||||}|{{{{{|{|z{|{{||{|z{{z{{z{||{}}||{{{{z{z{z{||{{|}{z{z{z{{{{{{{{{||{{|zz{{z{{|{{|||{{{{{{{{|{|{|{||{|{{{{zz{|{||{||{zzz{|zz{{|z||{{{|zzzzzz{|{{z{{{{{z{zzzz{{{{{{{{z{{z{z{z{{z{|{z{{z{zz{zz{{{z{|{{zzzz{zzzz{{{z|{{{zy{zz{y{{{{{|{{{z{{yzy{{z{z{{{z{{zzyzzz{{z{z{z{{{zz{z{{z{{zz{|{{{zzzzzz{{zzz{{{zzzz{{zz{{{z{{{|zz{z{z{z{{{z{{|{z{{{|y{z{{z{{{{{{zzz{z{zz{|{|z{{{z{z{z{z{|{{|{{{{z|{z{yz{|||{{|{{{{{zz{{{{{{z{{{zz{{{{{zz|{||{{|z{{z{{{{{{{{|||{zz{{|{zz{{{{{|{{{z{z{|{z{{|||z||{{{zz|{{z{{{{}}||{z{{{{{{{|{{{||{{{{{z{{{{z|{|{{|{{{zz||{}{{{}|{{{z{{{z{{||{||{{z{{{{z{z||{|{||||{{zzz{z{{{|{|||{{{{zzz{{|{{{}|{{{|z{z{z{||||z||{{z{z{z{z{}|{||{{{{{{{zz{{{{{||{zzz{zzz{{{{{z{{{z{{{z{zz{z{|{{{|zzzzzzzy{{{{{{z{{{{z{zzz{{{zz{{{zzzz{{{z{zz{{{{{{zzzzzz{zz{zz||{{zzyyyzzz{|{{{{|{zzzzzyz{{{|{z{{{zzzzy{yy{zz{{z{{{zzzzzzzzzzz|{{zz{z{zzyz{z{{z|{{z{z|z{{{{zz{{z{{z{{zyyzz{z{z{|{z{{{z{{zz|{{{||{{z{z{z|{{{|{{|{{{y{{{zzz{{{{{|z{{zz{z{z{{{{|{{|{|{{z{{zz{{|{|{{{z{{|{{|||{||{{}|{{{{z{z{|{{|{{|{{zz{{z{{{{|||{||{{{{z||{{{{|{|{|{z{{{{{{|}||{{||{{{{y{z{{|{||{|{{{{{{z{z{{{{{{{|{{{{{zz|{{||||{|{|{{|zzzz{{{||{||{{{{{|z{z{||{{{{|{{yyzz{{{{{||{{{{{|{{z{|{{{{||{{zzzz{z{|||{|||{{{{z{{z{|z{{{{{{|{zzzz{{{{z{{z||{{{zz{zz{{{{z{{zzzzzz{zz{{{z{{{{z{y{zzz|{|zz{|{{{zzzzzy{zz{{||{zz{zzy{z{{z{z{z{{{{zz{zz{z{{{{|{|z{zz{zy|{z{{{|{{{{zzzzzz{zzzz{{{zzz{yzz{{z|z|{{zzzzz{zz{z{z{{||{z{{{z{{|{{{{{|{z{{zz|{z|{{{{{{{z{{z{{{z{|{||{|{|{{{|z{zz{{|{|{|{{{z{{z|{{{{{||{|{zz{{{{{||z|{{{{{{z{|{{{{|{{||{{{{zz{{{|{{|||||{{{{zz{{{{{{{|}|{{{zz{{{{z{|||{}z{||{||{{|{|{||{}{{{{z{z{z|}|||||{{{zz{||{|||||{{{{{zz{z||z|{|{}||{||{{{|{{|{{}|{{{z{{{{{{{{|||{{{{zz|zz{||}|{{{{{{zzzzz||||{|}|{{{|{{{{{||{{}||||{{{|z{|{{||{|}|z{{{|z{{{{|||{{zz|z{zzyz{|{||{{{{{zzz|z{{|{{z{|{z{zzzzz{|||{|{{{z{z{zz{{{|{z{{zz{zzyzzz{{z|{{|{{z{{zzz{z{||{|{{zz{{zzz{z||z{{{{{z{zzzz{{{{{|{|{z|zzzzzz{{{{z{||{zzzz{zz{{{zz|{{{zz{{{{zz{{{z{{{{zzz{{{{{{z{{{||{zzz{z{z{{{{{{{{{z{{y{|{{{{{{{||{{{{zz{zz{{|{|z|{{{{{{zz|{||{||{{{z{|{zz|||{{||{{{{z{{z{{|{|||||z{{{z{{{||z{{{}|{{z{|{{}{||||{|||{{{{z{{||}|{|||||{{{||||y|||||||{{{||{{{{|||||||{{|{|z||{||{|||{|{|{{{{|{|{||||{{{{{{{|z|{||{|{{{{z|{z{{{|||{|||{{|{{{z{|{||{||{{{{z{{z|{|{{||{{{zzy{|z{z|{|{||{{zz{{|z{|{|||||{zy{{zzz{|{{{||{zz{zz{zzz{|||{|{{{{zzz{{{|||z{{|{{z{z{{zz{{{|z{{{y{z{z{{{{{{{{{{{z{|{zzz{z{{z{{|yzzz{zz{z{z{{{{{{zz{z{z{zz|{{|{|zzzzzzzz{zz{|{||{{z{zzzz{{{{{z{{|z{zzzzyz{z|z{z|z{{z{zyz{z{{z{{z{{y{{z{{z|{|{{||z{{{{y{z{z|{z{{{|{|zz{{{{|||{|{{zy{|{{z{{{|||{||zz{{{zzzz|{{{{{||{z{{z{{{{|{{||{{{{z{zz{{|||{|||{{{{{||{{{{{|}{||{{{{{zz{|||{||||z{|{{{{{|{z||}|{{{{{{|{{|||{|||{{z{{|{{|}|{|||||{}}|z{{||{|||||}||{{{z{z{{{{{|||{{{{|{{||{{||}||{{{{{z{{|{{{{{||{y{{{{z{||{{|}{|{|z{z|{|{{{{|{|{{{{{{{z{{|{||||{{{{{{{{|{{{{|{||{zzzzzz|{{z}{{|{|{{z{y{{{{{{|{|{{zyzzzy{|||{{{|zz{zzzzz{{z{z{{{zzz{z{z{|{{zz{{{{z{z{z{z{z{{{{{{{{{{{zzz|{{{|{{{{zzzzzyz{{{{{{{{{{{zy{{z{zz{|z{||y{{zy{{{{z{z{|zzz{zzy{{{{{{z{|zz{{{{{z{{{||{{{{zzzz|z{{y{{{|||{{{z{zz{{z{{|zz{|z{|{zzzz{|{{||}{{{{{{{{zz||z{||||zzzzz{z{{{{{|{|{z{{{z{|||{{z|{{{{{{z{{z{{{|{|||{{{{z{||{|{{|{|||{{{{{zy{{||{||{|z|{{{z{|{|{{||||{zz{{{|{||}{|||{{z{{{{{{|||||{{{|{||z{z{{{|{||||{{{{{{{{z||{{|{|z{{{|{{||z|z|{|{{{yz|{{z{|{{{|{|{z{z{zz{|z|{{||{{{z{{{z{{|{z|{|{z{|{{{y{{|{{{{|{{{z{z{{{{||{{{||z{z{{{z{|{|{z{{|{zzzz{{{z{{z{{z{zzzzzzz{{z{z|{|{z{z{zzzz{{{{{|{{zzzzzzzz{{z{|{{zzz{zyy{zz{{zz{{yz{z{{zyz{||z{|{{{z{yzzzz{{{|{|{z{|zz{zzz|{zzz|zzzzzzz{zz{{zz{z{|zzzzzz{{{{{|}{{{z{z{{zz|{z|z{|{z{{zzzzz|{{{z|||z{{{{{{z{{|{{||{{z{{z{zz{{{{|{{{z{z{z{zzz|{|||{{{z{{{yz{{{||{{{|{{z{zzz{||{{{{{{|{z{|{{{{{|||||{{{{z|{|{z{|||}{|{{{{{zz|{|}||z|||{{|{{{|{}|{|||||{{z{{|z|{{{|||||z|{|{{{{}{||||}|z{{{{|z{{|{{|||{zz{{zz{|||{|||}|z|{{{{z{{{|{|{|{{{z{{{z{{|{{{{||z{{z{{{{{{|{|z|{z{zz{{z{|{{|}|||{|z{{zz{|{{{{|{{{{z{zzz||{|||{|{zz|{{z{{||{{{|{{zzz{yz{{{{{z{{{|yzzz{{{{{z|z}{{zzzz{zzz{{{{{{|{{{{z{zzzz{{{{{{{zz{zz{zzz{z{zz{{zzzz{zzz{{|{|{|{z{z{zzzzzz{{{{z|zzz{zzzz{{{{{{{|zzz{zy{yz{{zy{{{{y{zzzzzz|{{{}|{zyzzzzzz{{{{{{{{{zzy{z{zz{{{{z|{{z|zzzz|{{|z{{{z{{z{zz{{{{{{zz||{z{{{{z{{|{|}{{{{{z{zz{z|{|{{{|{{{{{{z{z{{z{z{z{|{z{z{{{|z{|{|}{{{{{{|{{|{|}||{|{{{{z{{{|{||{{|}{{{|{z{{|{z{{|{}{|{{{{||{{{{|{|||z{{{{{{{||z||}||{{{z{{{|||||{{{|{z{{|z{||{{||{|{|z{{{z{{{|{z{{{{{z{z{{|{}{{{||}{{{{|z{{{|{{|{|{{|z{{zz{{{{{{|||{{{z{y{zz{|{|{{|{|{{zz{{{|{||}{}{|{{{||z||{{{|||{{{{{zz{{z|{{||{{zzz{z{{{{{|z{{|{{z{z{{yzz{{{|{{zz{{zzzzz{{{{|{{{z{yzzzz{z{{{z{{z{zzzy{z{{|{{{{{{{zzzzyz|zz{|{|{{z{yzzzzzz|zz{|zyzz{zyzz{{{z{{z|{zzzz{{zy{{{z||{zz{{zz{z{{{{{{|{{{{z{z{z{z{{{{{{z{{zzyz{{z{{{{|}z{|zz{{{{{|{z{|}z{zz|{yzz||}{|{{zz{z{y{{{{|{{{||{{{z{{{zz{{{z{{{{{z|{{{{|{{{||||{{{{|{{{{{{||}|||{{{{z{z{{{}|{{||{||zz{{||{|||||{{{{{{|{{|}|||{||z{z{|{|{}|||{||{{{|{{|{|{{{||||{{z{{|{{{{z{|{{}{{{|{|{{}|||{{|{{{{{z{{|z||{{{||{{z{{z{{{{|{|||{{{{{{zz{z||{|{|{{z{z{zz{z{|{z{{{{{{{{z{z{{|{{|{|{{{zz{zz{{||{|||zz|{yzz{{{{{z{{{z{{zzyzz{{{{{|{{zz{zzzzz{{z{zz|{{z{{zzzz{{|{z{|{zzzzyzzzzz|{{z|{{zzyyyzzz{{z{{{z{z{zy{zz{yz|z{{{z{|{z{zzz{{|z{{{zz{z}zzyzz{zz{{|{zzyz{{zzz{{{z{{{z{{zzzz{{{{{{{|{z{zzzz{{{{{zzz{zz{{zy{z{z{{{{{|z{zy{zzzz{|{{z|{|z|{z{{z{{{|{{{|{z{{zzzz{{|{{{{{z{z{|{zz{{|z{||zz{{z|{{{{{z||{{|z|{{z{{{|{{{{{|||z{{zzy{{||{}{|{|z{{{{{{{|{{{|{{{|z{{y{{{||{{|||{{{{{{z{{{|{|{|{|{{{z{{{|{||z||{{zzz{z{|z||{{|{|{z{{zzz{z|||{}||{{|zz{z{{{|{{{{{|z{{z{zz|{||{{|{z{{{{{{z{{|{z|{{|zz{zzzz|{|{|{||{{{{y{zzzz{|{{|{z{zz|zz{{{zz{{|{zz{zzzz{{{{z{z{|{{zyyyzy{z{{{{{|y{{zzz{zz|{{{zz|{z{zz{z{{z{z{{{{{z{zzzyzzy{{zz|{zyzzzzzz{z{zzzz{z{z{y{zzzz{{{{{{{zz{zzzzy|{|{{{zzzzzzyzzzz{{z{y{{{{{yz{z{zz{z{{|zzzzzzzzzzz{{|{{{zyzzzzz{{{zz{{{{{zzzz{{zz||{{{{{z{zz{{z{z{{z|{|{{zzyzyyz{{|{{{|zzz{z{zz{z{z|{{|{zz{z{{{z||{{|{{z{{zz{{z|{|{|{{{{z{|{z{{|{{|{|{||y{{z{{z{{||{{{||{{{{{{{{{|{{{{|{{|z{{{{{{{{{{|||{{{{|z{{||{|{{|{{z|{{{z{||{{{}{{y{z|z{z||{{{|{|{{z{z{{{|{{{{{||z|zz{z{{{|{{z{||{{{zzz{{{|{{{{{z{z{zzy{z{|{{z{|{{z{{{z{{z{||{||||zyz{y{z{{|{{{{|{{|z{z{{{{{{z{||{{{z{zz{{{{{{{{|{{zzy{{z{{{z||{{z{zzzy{zz{z{{{{z{z{{zzz{{{zz{{{{z{{z{z{z{|zz{{{{{{z{z{z{zz|z{||z{y{zy{zzzz{z|{z|z{{{yzzzz{{{{{{|z{{zzyzz{{{{z{zz{{{{zyzzz|z{{{{{{zzzy{z{{z{{{{||zzz{{{|z{{|{z{{{{zzzz{{{z{{{|{{{z{{yzz{z{{|{|{{{{{{{{zzz{|{|{{{{{z{z{{zz|{||{|||z{z{{z{z|{|{{||{{z{zz{{{||||||{{|{{{|{|{|{|||||{{|{{z|{z}|{||{|||z{{{|{{{{|{{|{|{{|{{{{{{}{{}|{|}{|{{{{z||||{|{|}{{{z{{z}{||{|||z{{{{z{|{||{||||||{|{{z{{{||{||{{|{z|zz{{{{{|||{|z|{{zz{{|||{z{|{z{zz{z{{{|{|||{{{{z{{{z{}{y{{{{{{z{z{{{{{z|{{{|{yzzzzzz|{{{|{|{{x{z{zzy{{||z{{{{zzzzz{z{zzzz|{{zz{zz{zz{z{{{{{{zzzzzzz{{|z{z{{{zz{zy{yz{zz{z{z{{zzzzzzzzz{{{z{{z{zzyzzzz{{z{{{{{zzzzzzzz{{{{z{{{zz{zzzy{{z{zzz{zz{zzzzzzzzz{||{zz{{zz{zy{{{z{||{z{zzzzzz{{{|{{{z{z{{{{z|{{{{{{{zzzzzz{z{{}{z}{{|{zz{z{{{{{|{|{{{{zzzyzz||{z{{|{{|z{z{z{{zzz{{{|z{|z{|z|{|{{{{{|z{{zzz|z||}{|{|{z{{z{{z{||z{|{||{yz{{{z{|}|{{{||{zzzz|{{{{z|{|{|{{{{{{z{{}|}|||{|{{{zz{{|{||{|||z{|z{{{|||{|{|{|{{{{{z{{||{|||||{{z{{{{{z|{{z{||{{|{{{z{|{{{{{{{{{|z{{{z{{{zz||{|{z{{zzzy{|{{{|{z{zz|zzz{z|{{{||{z|zzzzzz|||z{|{zz{{{{zz{z|{{{|{z{{zyzzz{{{{{{||{{{{zzyzz{|{z{{||{{{zzy{z{zz{{{{z{zz{{z{zz{{{|{{zz{z{z{{{zzzz{|{zzy{z{{{{{{{{{z{{z{zzz{{{{z{{z|{zzz{zzzyzz{z{{{{{z{zzzz{{z{z{||{{{z{{zzz{{{{{{{{{y{z|zzz{{|{z{{{z{yzzz{{{{|{{z{|z{{zzzzzz{{z{{|z{|{{|{|z{{{{||{z{{{zzzy{{{|zz{|{{z{{z{{|{{{{{{|{{{zzy{{{{||||{{}{{{{{{|z{|{{{|{|{{z{zz{{{{|{|||{|z{{|{zz{}{z|{|||zz{{|{{|{{||~|||z|||{{{||{{|||}|{{|{|z{{||||{||{{|{{{z{{|{||{{|{|{z{{z{{|||}|{||{zz{{{{{|{{|||{{z{{zzzz{|{{{|||{zzz{zzzzz|z{{z{{|z{z|{{{{{|||{z|z{z{{{z|{{z|{||{{zzzz{z|{{{{|||{{{zzzzz|{{z{{||{{{{z{{z{{z{|{{|{{z{{z{z{{{|{{|{|z{z{{{z{|{{{|z{z{{z{zzz{z{{z{z|{{{zzzzz{{{z{|{{z{{zz{yzz||z{{{{zz{zy{zz|{||z{{{yzzzzy{{{zz{{zz{{yzz{{zzy{{z{{{|zzzzzzz{z{|{{||{{{{z{z{{{{{{{z{{zzzzzz{{{{{z|{{{z{{{z{z{z{|{{{|{{{{{{{{{{|{z{{|{{zzzzz{||||z{{}|{zy{{|zz{|z{{||{{{|{{zz|{|||||||{z{{{{{{{|{|||||{{||{{zz|||{||}||z{{{{{z|{|{|{|z{{{|{{{{{{{{{|{{{zz{z{{z{}||}||}{{{|{{z{{||{|||{{{{{{|{|{|{{}||||{{{z{{{{{|{||||z{{z{{|{{|||{|||{{{{z{z{{{{{|{||{zz{zzzzz|z{||{{|z{{{{{y{|{||{|{{z{{|z{z|||{}|{{{{{{z{zzz{|{{|{{{zzzz{{y{{z{{z{{{{{z{zzz{z{{|z|{{z{{|{z{z{{z{{|{{{zzz{z{z{{{z|{|z{|zzz{{{{{{{{|{{{zz{z{{{{|{|{{{{{zzzzz{{{{{{{{|{{{zz{{{{{{{z{{{{{z{zz{{{zz{{{{{{{zy{z{zz{zz{{z|zz{z|{{{{|{{z{|{{zzzz{{z{{{{{{{|{{{zz{{{{z{{{{{|{{z{{zzz{{{{{|}{{{{{{z{z{|{{{||{|zzzzz{{||}z{{|{{zz{zzz{{{|{{{}||{z{|{{{{{||{||{{{{z{z{z{|{}||}|{{{{|z{{|{||{|}{|z|{{|{z|||{}{{||{{{{|}|{||||{{|{z||{{{{{}|||||||{{{z{{{|{|||{||{{{{{{{}{|{|{{|||{{{{|{|}||{{||||{{{{{{{|{{|||}}{|{zz{z|z}||||||{z|{{z{{|{|{{|z|y{z|{zyzz|{{z{{{|zzz{z{z||{{z{||{z{zz{{z{{{{|{|||zz{zzz{z{{{{z{|{yzzz{zz{{{{{{z|z{{zz{{{{{||{z{z{{{yzzz{{{z|{|{{{{{z{zzz{{{{{zz{{{zz{zzz{|z|zz{{{z|zzzy{z{|{{{||z{zzyzzzzzz{{{{z{zzzzz{yz{z{z|{{z{zzzzzzy|{{{|z{zzz{zzzy{{{{{{{{{z{z{z{{{|{|z{{|z{{z{{{{z{{{|||{{yz{{{{z{||{{|{{z{zzyz{zz|{||{{{{z{zz{{z{{|{z{|{{zz{zz{{{{{{{{|{{{{{zz{z{{{||||{z{z{{{|{||||{|||zzz{zzz{{|{|||{{{{{|{{{z{{{|}}||{{|{{{{||||||}||{{{{{{|{{|{}|{|||z|{{{|{|{|{{{}{{z{{{z|{|{{{{|||{{{{{{z{{{|{{|||{{{{{{|{|}{{{{||z{{zzz{{{|||||{{|{|z{z{{{|{zz|z{{zz{{zzzz|{{|{{{zzz{zz{z{||{{{||{{z{zz{zz{{{{z||{zzzzzzz{{z{y{{{{yzzzyz{{{z|{{{{{y{{z{{z|{{z{||{{{zz{zzy{{{yz{{{z{zzyzy{{z{z{{|{z{zzzyz{z{{{{{{|zz{zyzzy{{{|{z{zzz{zzzzz{z{z{{{|{zzy{zzzy{{z{z{{zzyz{{{z{zz{{{z{zzzyzy{zz{z{z|z{{{zzzzzzz{zz{z{{yzzxzy{{z{{{{{z{zz{zzy{z{|{{z{{|z{{z{z{z{|{{{{{{{{|zzzz{zz|{{{{{{{zz{z{{{|{{{{{{{zzz|{zz{{{||{|{{z{z{{{z{{zz{{||{z{{{zy{{z||{|{{|z|{z{zz{}{{|{{||{{z{{z{{|{{{||{|{{{{{{z{||{|z|||{z{z{{{{|{|z||{{z{{||z{z{|{|{{|{{||{{{{|{||{{|z|{{z{zz{{{{{z||{{{z{zz{{|{|{{{|{zz{zzz{zzz|{{{{|z}{z{zz{z{{{{{||{z{{{z{z{|{{|{{|{{zz{zzzz|z|{{|{zzz{{zzzz{{|{z{{zzzzzyz{{{|{zz{|zzzz{z{{{{z{z{z{zz{{{{z{z{{z{{{|z{zzzz{{zzzz{|{{zzyzzzzz||z||{{{z{zzz{z{{z{{{|{||{zzzzyz{{zz|{{{{{zzzy{{z{zz{{z{{z{zyzyzzzzz{{{{zyzzzz{zz{{{{{|{{zzy{{zz{{{|{z{{zzzz{zz{{{{||{{{z{{zz{{z{{{{{|{z{{zz{z{z{{{|{|||{{{{z{z{{{zz{{{{{z{{{zz{{|{{{|{{{{{zzz{{{|{{|}||z{{z{z{z||{|{||||{z{{z{{{|||{|{{{{{{|{z{{|{{{{||{{{{{|{{||{{{{{}|{{zz|{{{}|||{||{{|||zzz{{{{{||||z{{{{{|{{||{{||{{z{{{zz{|||{||}{|{{{{{{{|{{{|{|{{z{{{zz||{{{{|{{{{yzzzy|{{{z|z{zzz{zzz{z|}|z{||z{|{{zzz{|{z{{|{zz{z{{zz{{{{{{{{{z{zzz{zz||{{{{{zz{zy{zz{z{{{{{|{{zzzzzy{{z{{{{z{{zz{zzzzz}z{{{{z{zzzzzzz{zz{{|{zzzzzz{zzz{z{{}{zzzz{zy{z{{{{|{{z{{zyzzzz{z{{{{zzz{zzzyzzz{zz{zzz|{zzzzz{{z{{{{{zzzyzzzz{|{|{{|{{zzzzz|yz{{{z|{|z{{yzz{{z{|{z{{z{{{z{{z{{|{|{|{{z{zz{{{{z{{|{||{{zzz{zzzz{z{zz{{{{{zz{z{{{|{{|{{{{z{|y{{|{||{|{|z{{{{z{{{{{{{{||{{{{{{z{{{{z{||{|z{{|{{z{|{{|{{|{|{z{{{z{|{{{||{|z{{{{zz{|{|||{|}{{{z{{{|||}{||||zz{z{{{{{{{||||{{zz{zy{{|{|{{|{zz{z{{y{{{{{{|{{|{{{zz{z{{z{{{|{{z{z{zz{{{{||{{z{{{z{|zzz{|{{|{|zzyz{zzz{|{{|{{{{{{zz{zz{{zz{{{{{zyy{{zyz{{{{||zzzz{zz{y{{zz{{{{{z{zzz{z{zzz{{|{z{zzzzzzzz{z{{z|z{{zzzz{{z{{{{{|{zyyzyzzz{{z{{{z{z{zz{yzz{{{{|{{zyyzy{z{z{z{{|{{zzzy{yzzzzz{zz{{{{zzzzzzz{y{z{zzzzz{z{zzzzz{{{{{zzzzzzzz{{z|{{|{{zzzzz{{{|{|{{{{{z{y{zz{{{z{{{||{{{z{yz{zz{{{{{|{{{{{zzz{||{{|{||{{{z{y{z{|z{|{|{{zz{z|{|{||||{{{{{{{{{z|{|||{||}{{z|{zzz}||{{}{{z{{zz{z{|{|{}{||z{z{{|{{}||{|{{|{{{{{|{{|{|}{{||{|z{z{|{{||||||{z{|||{{{|||||{||{{||{{{{{||{|{|{{{z{zz{{{z{{{{{{{{{zz{z{{||{{|{zzz{zz{z{z{|{{z{{{zz{{zz{z{z{{{|{z{{zzzz{{{{{{||{{{y{zzz{z{z||{{z{{y{zz{{z{{{{{{{{{zyzzz{z{{{|{{zzzzyzzz{{{{z{|{z{zzzzzzz{|{z{{z{zzzzzzz{{{{{{z|{z{yzyz{z{|{|{{{zy{z{zzz{{{z{{z|{{{yzz{zz{{|z{{{{z{zzz{zz{zz{{{{{{zzzz{z{|{{{{|z{zz{{zyz|{{{z{|{{zzzzz{{{|zzzz|{z{z{zz{z{{z{{{{{z{{zzz{{{|z{{{{{{{z{zz{zz{{{z{{{{z{{{zzz{{{z|{{{{{zz{z{z{|{{{{|z{{{z{{|z{{{{{{{}yz{{z{{{{{{{{|{|{{|zz{{zz{|||{|{{z{{zzzz{|{|{|}{{zzz{{{{{{{||{{||z{{|{{{|{|}|z{||{|{{|||}|{||||{{z{{zzz||{|{|{|{{{zz{{z{{{||{{||{z{{zzzz|{{|{{|||zz|{|{z{{||{{{{{{{yz{{z{||{z|{{{{z{z{z{{|{z||{|{z{zz{{z{{{|{|||{{|{z|{z{{{|{|||zz{{{zz|{|{|z{{|{{zz{y{{z{|{{{|{{z{z{z{z{{|{{|{{{zz{{zz{{z|{{|{|{{y{zzyz{{{{z{{{{{zyzz{z{z{z{{{{{{z{z{z{{{zz|{{|{{{z{zz{{z{{{||{zzz{zz{{{{{{{{{||{{z{{z{{zzz{{{{{z{{z{zz{|{z|{{{zzz{zzzz{||z{{{{z{zzzzz{z{|z{{{|z{z{z{z{{{|{|{{{{z{z{zz{{|{}|||{{{z|{{{z{||{{{|{|z{{z{{|{{}|{|{{{|{z{{{{|||z|{|{{{{{yz{{||{|{||{{z{{{{{z{|{}{z{|}{|{|{{{|||{||}{|{z{|z{{{|||||}}||{{z{{yz||||||{|{|{{{|{{|{}|||{|{|zzz{{{{z{{|||{{|||z{{|{|||||{|{{z{{zz|}{|{||{{zz{{{{{{z|{{||||zz{{z{z{{||{{}|{z{{{z{{{{|{|z}|{zzz{{zzz|||{|||z{z{{{{{|{z|{{||{z{z{zz|z{|{z{{z{|zzzz{{{{||{{{|z|{zz{zzz{{{z|{z{{{{{{zzz{z{z|{z{zy{zz{{{{{{{|z}zy{zzy{zz{|z{{{|{zzzzzzzz{z{{{{{{{{zzzyzz{{{{{{{{{{zzzzyzy{z{y{|{{{zzz{z{{{{z{{{{z|zzzzzz{{{zz{|z{{z{{z{z{|z|{{{z{{{{z{{z|{{{||}{z{z{z{{|z{{||||z{z{{y{zz|{{{|{{{{|z{z{{{{||{{{|{zz{z{{z{||z|{{|{{z{|z{{{{{{{||{z|{zzz{z{{|{|||{|{{{|zz{||{|{|}|{|{z{z|{|||||{||{{{z{{{{{||{{|}{}{{{{|{{||||{|}||{{{|{{{|{|z|{{{{{|z|{{|{||{{|}{{{zz|{{|||{||}|}{|{z{{{{{{{{{{|||{{{{{{{||{{{{|{z{{zzzz{{z|{{}{|z{{{zzzy{{{{{|{|{zz{zzzzz{{{{|{|{z{zz{z{z{z{{||||z{{{{z{{|{|z{||{{zzzz{y{{z{{{{{|zy{zzzzzz|zz{{{{z{z{zzzz{{{{z{zzzzzzzzz{zz{z{{zz{yyyyzz{{{zz{{z{z{zyyzyyzz{{{{|z{z{zzzz{{{{z{||{zz{xz{yzz{zzz{{zzzzzzzzyzz{z{z{z{{z{{{z{{{{{|zz{zzzzzzzz{z|{z{{{zz{zz{{{{|z{z||{zzzy{zz{{{z|{{{{{z{zzy{{{{{{{{z{{{{yzzy{{{{{{{{{zzz{{z{{{|{{|{|{{zz{zzz{|||{{{{{{{z{{|z||{|{|||{z{{{{zz{{|{||||{{{z{z|{||{|{|{|{{{|z{{|||}|{|{{|{{{{{{{{||||{{||{{{zz{{|{}}{||{{{z{z{{{{{{|||}||{{z|{{{{||{{{||{z{z{{zz{{{{||{{{{{zz{{{z{z{||||{{{zzzzz{||{|{{{{zzy|{{z{{|{z{{{{|zz{yzzz{|||{||{{{yy|{z{|{{{|{|{z{{yzz{{z{{{{{|{{z{zz{z{|z{z{{|{{{z{{z{{}{{{{{{|{{zzzz{z{{{z{z{z{zz{zzzzzzz{|{{{{zzzz{{z{{{{{{{z{zyzzyz{{{{{{{{{zzzz{zzy{{{{|{{zzzzzzyz{zz{|{{{{z{zzzzzz{z{|{{{zzz{zz{zzz{{z{||yzzzyzz{{{{|{{{|{{zz{z{{{{{{{|{zz{z{zzzzz{|z|{{{{{z{{{{z{{{|{||{zz{{z{{z{{{{{||{{{{{z{zz{|{{{{{{{{{z{{|{{{{{|{{|{{{z{{{{{{z||{||{{z{{z{z|{{||{||{z|{{z|{{|{{|{}|{|{{{|{{{||z|{}||{z{{|{{{}|||||{|{{{z{z{|||{||{{|z{{{{{{{{||{{{|{{{{|{{||||}|{|}{{zzz{{{{z{{{|{{|{{|{|{z{{{|{{{|{{{{z{{z{{|z{|{|zz{zzz{{{||{{{|z{{yzzzzz{{{{{{||{z{y{z|{{{{{{|{{{zzzzzzzz{{}{z{||{{z{z{z{|{{z{|||z{z|z{{z{z{{||{zz{zz{{zz{{zz{{{z{{zzzyz{{{{{{z|zzz{{zzz{{|{{z{z{zzzzzzzz{|{{{{{{zzzzyyz{|{{{{z|{zzz{zzyz{{zz|{zz{zyz{zzz{zz{|{{{z{{zz{z{{{{|{{{{zzzzzz{z|{{{{z{zzz{zzzz{{{z|{|||y{{{z{{z{{{{|{}{zzz{{{{z{{|{{|||zzz{z|{{||{z{|z{{{z{{z{{{|{{{{{{{z{{{{{{{{{|{{|{{z{|{{|||{||{|||z{{{zzz{||{|{|{||z{{{{{||{{|||{{{z{{{z{{|{|{|{||z{{{{||{|{{|}{{{{{{{{{|{{{{|||||{{|{{zz|{{z}{||{z{{|{{{{|||||{|z{zzz{z{{{{|{||{{{zzzz{z{|{z{||{|z{{{{{z{|{|{||{z|{z{zyz{|{z{z{{z{{zyy{zz{{z|z|{{z{z{zzz{zz|||{{{zz{{zz{{{|{{{{|{{zzz{zz{{{z{{{{{z{{y{{{||z{{||{z{zz{{yz{z|{z{z{{zz{yzzz|{z{y{z{z{{zz{zz{z{{zz{{{{zzz{y{zzz{{zz|z{zzzzzz{{z{{{|{zzzzzyzzz{zyz{{{zzzz{zzyzzz{z{{{{zyz{zzyzz{{{|||z{zzzzzy{z{z{{{|z{{zzzzz{{{{{|{|{z{zzy{{{{|{|{{{zy{{z{zz{{{{z{{{zz{{{z{z{|{{z{|{{zz{{z{z{{|z{{{{{{{{{z{{{||{}|{{z{{z{{|{|{{{{{||{{{{{{{{{|{|{{|z{zz|z{{{|{{{{||{|{{{z|{{{|{{|||||z|z{{|{{||{|{|||z|z{{{{}|||||{|{{{z{z{zz{{|{|{||||{||z{{{{|{||{{{{z{{{z{|{|{||{{{{{zz{{{|||z{|{{{{z{zz{{|{|{{|{z{z{{{{zz{{|{{z{{{{yzzzz{{{|||||{{zz{zz{{{{{{||{z{z{{y{{{{|{z{|{|y{{zzzz{|{{{|{|{{zz{z{zz{{{{|{zzzz{zyzy{{{{z{{{z{zzzz{z{{{{{{{|zzzzzzz{{{z{z{{{{{zz{zzzz{zzz{{{{{zzzyyyz{{z{z{{{zyzzy{y{{{zz{{{z{{xzz{{z|zzz{{{{zzz{{zzzz{{z{z{zyz{zzz{z{zz{zz{{z{z{z{z{{z{{{{{{z{zzzyzz{||{{{|z{{{zz{y|{z{||z|{z{{zzzz{||{{z|{{z{zz{z{{{{{z|||{zzzz{{z{|{|{||{z{|{{z{z||{{{||{{{{{{zz{|{||{{{{|{{z{z{{|||{|{|{{{{{z||{{|{{{}|{|{{{{{{{{||||{}|{{{{z{|z{{}||||{|{z{{{{{{{{{{|{|{{{z|{{|{||{||{{{z{z|{{|{{{|{|||{z{{zz{z{{{}{|{{{{{zzzz{{|{|{{{{zzzy{z{zz{{{{z|{zz{zzzz{{|{{|{{z{{zzz{{z|{{{{||{{z{zzzy{y{{{{{{{z{{y{zzz{{{{{{{{{zzz{{{{{{|zz{z{{z{z{zzz{z{zz{zzzyzzyzzy{{{{{|{{zzzzzy{yz{zz{{{{yzzzyzyz|{zz{z{|{{zzz{zz{z{zz{{zz{zzzzzyzz{{z{zzy{zzzzzzzz{{{{{z{{zz{{{y{{{{{{|{{zzzzzzzz{{{{y{{zzzzzz{{{{{{{{||zz{{zyzz{{{{|z||zy{{zz{z{{{{{{|zz{zzzzzzzzz{zz|{{zz{z{z{||{|{{{{zzzz{{z{{{|{|{z|zz{{{z|{{|{{{|{|{z{{zz{{|||z}{{{|z{z{{{z{|}{{|{{{{|{{{{{{||}{||||z{{z{{{{|{||||{{{{{{{{{{zz{|{|{{zz{{z{{{{|{|{|}{{|z{{{{{{|z{{||z{{zz{zz{{z|{|{{|zzz{yzzz{{{{|{{{{zz{z{z{{{{z|||{zzzz{yzz{{{{|{{zz{z{zyzz{{{{{{|{{zzzz{z|z|{{{||{zz{zz{z{|{{{{{{{{{yyz{z{z{{||z{{z{yz{zzz|{{{{{zzzzzzyzz{z{y{z{{yz{zzzzzzzzzz{z{zyzzz{zz{{y{zz|z{y{zyzzzz{{zzz{|zzzzzy{{{{{{{z{|zzz{zz{{{zzzz{{{{zy{{yzyy{{zz||{zz{zz{z{{{{{{{{|{z{z{zzz{{|zzz{z{zzyzyz{{{{|||{|y{z{z{{{z{z{{{{{{{{{zz{z{{{{zz|{{zz{{zzzz{|{{{|z{zz{{{{{{{{{{{|{{z{{{{{zz{{{|{|{{{y{{{|z{|{|{||{|z{{{{z{|{|{{{|{{zz{{{{{|||{{{|{zz|z{{{{{{|z{{{||{|{{z{{|{{|||{||{{{z{{{|||{{{|{{{{{zz|{{{||||{{|{{{|{{{z|z{{{{||{{z{{{z{||z{{||{z{zzy{z|{{{|{{{{z|{{{{{{{{||zz}{z{{y|{{z||{{|{{{z{|z{{zz{|{{|{}|{z{z{{z|{{z{{|}zzyz{zz{{||zz{{{zz{zz|{z{{|{{z||zzzzzz{{{|{zz|{|{z{zzzzz{z|{{z{{z{zzzzzy{z{{{z{{zzzzzz{zz{{zz{|{zzzzzzzz{{{z{|{|{y{zzzzz{{{{{{{|zzzzzzzyz{{z|{zzz{zzzzzzy{z{z{z|{zzz{{{z|{y{{{}{zzzz{{{zy{{{{{z|zz{zzz{{{{{{{{{|{zzyzz{zz|{|{{{|{zz{{{zz{{{|{|{{{z{zzzzz{{|{z{|{{zy{zz{z|{{{{||{{{{{{{{{|||{|{||{z{{z{{{||z|{|||z{||{zz{{{{||||{|{{{|||z|||{||{||{{{{|{|{|{{{|||{{|z{{{{{|||||{|{y{|{{{|||{{{{{|{{{{zz{z{{{|||{|{{{|{z{{{|||||{{|{{z{z{{||{{{{||{{zzzz{{z{{{{{|z{z{{zzzz{{|{{}{{|{z{zz{y{{||{|{{zzzy{{{{||{{{{|{{{{zzz{{|{{|{z||{{{{z{{z{|{|z{{}|{{zzz{z{{{{{{|{{zzzzz{z{{{{z|{{|z{z{z{z{{{z{{{{z{z{zzyz{{{{z{|{zz{zzzzy{{{|{{{z{{{zzzz{z|{{{z||{{z{yz{{z{{{{{{|z{zz{z{zz{{{{{{{{{{zzzzz{{{z{{{{zzzzz{zy{{{{{||{zzzy{z{{{|zz{{{|{z{zzz{z{{{{{|{{y|z{zy{{|{|{z||{{{{z{y{zy|{{{|{|{z{{{{zz{{|{{{||{{{z{{{z{{|{{|{|z{{{z{{|{|{|{}|{{{{{z|{||{{{|||||{{{{z{z{||{|{{|{zzz{{z{||||||||{||{||{|{||||{|||{|{|{{{||||||{||{|{zz|{|{||{|||{{{|{|z|{|{|}|||{{{{||{{|{{|||||{{{z{{{{{{{{z{||{{{|{{{z{{|||{|{{{|zzz{z{{|{{{zz{zz|zzzzz|{{{{z{z|zz{zzz{{{{{{{zz{{yzzzz{{{{{|||z{{{{{{z{{{{zz|{z{{{{zzz{{{{{|z|{zzyz{{zz{{{|{{{z{{yzzzz{z{|z{{{zz{zz{zz{z{{{{{{{zyzzzzzz{{{z{{zzzzzz{y{z{{z{zz{{zzzyzzy{{{{{z{{zzyzzzzzz{zzz|{{zzz{{zzzy{zzz{{{{yzyyzz{yz{|{{{{{zzzzzz{{{{{z{{{{{{zz{{zz{{z{z{{{zzzz{{z{{{{{{{{{{{z{y{z{{z|{{{{{zz{zzz{{z||{{|{z{z{{|z{{||{{{{{|zz{{{z{{{{|{{||z{zz{{{z|{z||{{}{{{zz{{z{||{{{|{{{{{z{zzz|{z{||{{{{{z{{||||||}{{|z{z{{{{{{|{||||{{{{{{{{}}{|||{|{{z{{{{{{|{{}|||{z|{|{z{}|{||{{|{{zzzzz{{|z{{||z{{{{{{zz{{z|{{{|{z{{zz{{{|{z{|{|zz{{zzzzz{{z{{|{zzzzzzzz{|{{{z||{{{zz{z{|z{{zz|{|z{zzzzz{{{|{{{{|{zzy{zz{{z{{{z{zzz{{{zzzzzzz{zzzz{z{zzz{{{{{{z{{zz{zzyz{z{{zz{|{zz{zzyy{{{zz{{zzzzzzzyzzz{zz{{{zz{zyzzz{{z{z{{{zzzz{xzzz{zzz{zz{zyzzzzzz{z{{|{z{zz{{{zzz{{z{z|z{zz{zzzz{|{|z{{{{zzzzz{z{{{z{|{|{{{zyz{zzz{{|{|{z{zz{zz{{|{{{{{|{z{{{zzz{{{{{{|zz{{{|z{z|||{|{{{{zz{{zz{{{{|{{||z{zz{{{{{|{{|}{|zz{{{y{{{{|{{||||zzz{{z|{|}{|||{z|{{{{{|{{z{{|||{{{{{{{{{||{z|}{{{{{{{{{||||{||{{{{{{|{z||{{||||{{{{{|zz{|{|{|{|{z{{{z{zz{{{{||{|z{zz{z{z{|{{{||{{{zzzzz{z{{{{|{zzzzzz{y{}{z{|||zz{yzy{y{{z||z{{{zzyz{{z|{{{||{{{z{z{zzzzz{{{{|zz{{z{z{zz{z{z{||{z{z{z{z{z{zz|{{|z{{{{z{z{{|z{{{z{{zzzzy{z{{z{{{zzzzzz{z{{zz{z{|zzzzzzzz{z{y{{zzzzzyyzzz{z{{{||{{z{{{zzzzz{zz{{z{{zyzyzzz{{{z{z{{z{zzz{{z{z{z{|{{yzzzz{zz{z{{{z|y{zyzyzz{z{|{{|||z{yyzzz|zz|{{|zzz{zyyzz{{z{|{|{{{zzzzzz|{|{z||{{{{{{y{z|{{zz|||{{{zz{zz{{|{|{{|{{|{|{{{{{z|{||{{z{zzz{{{|||{|||{{{{{zz{}}{|||||{{zz{{{|{|{{|{|{|{{{{{{{z|}|{{}||{{zz{|z|||{{||{|{{z{{{|||{{{|{||{|||{{{|z{{|{||{{z{z{zz{{||{{|z{z{{z{zz{|||{{{{{z{zz{zz{z{{{{{|{{{zz{zz{{{{z{|{{z{{zyyzz{{{|{||{{zz{{zz{|{{|{||zy{zz{zzz{|{{|z{z{{yyyzzz{{z|{z{{z{zyz{zy{z|{{|zzzzzyzzzzz{{z{{{{{yyzzzz{{{{|zzzzyzzzy{z{{{{{{{{yzzzzyzz{z{{{{{{zzzzyy{zz|z{z{{{{z{z{z{zz{{{zz{{z{z{zyzyzz{{{z{zzz{{yzzzz{{{z{{{zzzzzyy{z{{|{{|{|zz{zzz{{z{{{{{{zz{{zyzz{{z{{{z{zz{{{yz{{{{|z{{{{yz{z{zz{{{{{{{yz{z{zzzz{{|z{{{{z{zzz{z{{{{|z{{|z{zzzz{z{{z{|{|{|{z{{z|z{}z{{||{z{{{|zz{{}{{|{|{z{{z{{{{y{{z{||{{{|{z{{{z||{{|{{|{{{z{{z|{||||{{{zz{{{z{{{z{|{|||{{{|{z|{{{{|{{|{z{z{zz{z{{{{|{{{|y{zz{z{{|{{{z{z{{z{z{zz{|{{{|{{{zz{{zy|{{{{z{|zz{zzz{z{z|z{{||{z{zzzz{{{z{||{{z{{{zzz{{{z{z{{|{z{zzzzz{zzz{{{{zz{zzzzyzz{{{||z{z{{|zzz|{{z{{zzzzzzzzzz{{z{|{{{zzyy|{yz{{|{z{z{zzzzzzzz{{{{|{{{zz{zzzzxz{z{{{{{{zzzzzzz{||zz{{{z{zzzyzzy|zzz{|{zy{z{{zyz{zzz{|{zzzzzzzz{|{zz{{{{z{yzz|z{z{z|zz{zy{yyzz{|{{z{{|{{zzz{z{zz{|{{{{{{z{z{{{zz{{{z{|z{z{zzzy{{z{zz{{{{z{zz{{{{||{{|{{{{{z|{{z{{||{{||{z{{{zzz{||{{{||{z{{{{{{{|{{{{|{{{zz{{|z||{{{{||{|z{{|{{{|||{|{|{|||{z|{|{{{|{{||z{{{z{z{||{{|{{{{{{{zz{{z{{{{{|{{{z{z{z{{{|{|||{z{{z{{z{|{||||z{z{zz{y{|{{z{z{{z{zzz{zyz{{{{{{|{{zz{z{zz{|{{{||z{y{z{{z{{{{{{|{zzz{z{z{{{z{zz{{{zz{zzyz{z{{z{z|{zzz{zzzz{{{{{{zz{{{zzzzz|{zz|y{zyzyzzzzzzz{{|z{z{yzzzz{{{{z{{{{zzzyzzyzz{|z{zz{z{zzzzzz{{{{z{||zyzz{z{zzzz{z{{zzzz{zzzz{{zz{{|z{yzzzzzy{{{{{z{{{zzzzz{y{{|{{z{{zz{zyzz|zz{{z{z{zzzyzz{zz{{{z{{{zyz{zz{{{{{{{|{{zz{z{z{zzz|{{{{|zzz{zzz{{{{{{{{z{{{{z{{z{|{||{{{z{{{|{{{|{|{{|{|{|{z{zz{{{|{z{|{|{zzzzz{{|{{{||}{z{{z||y{||{|||{|zz{{{{{{|{|{||{{zz{{z{{||z|||}||{z{{{zzz|{{{{{}{|z|zzz{{z{}||{|{{z{z{{z||z||{||{{{{zz{{{|{{|{{{{{zyzz{{{|{{{{{{zzzzz{zzz{z{{{|{z{{{zzyz{{z{|{{{{zzzzzz{{{{{|{{{zzz{zzzz{z{{{{{{{{zzzz{z{z{|{{{{{zz{{{zyy{zzz{|zzzzzz{zzz{|{z{{z{zzz{zyy{zz{z{{|zzyyzyy{{{{zy{z{zzzzzzyzz{{z{{z{yz{yzzyz{{z{{{|{zzzzzzzyzzzy{{{z{zyzyzzyzzzzz{{{zyyz{zzy{{{zz{{{{zzz{zz{{z{{z|z{zzzzyzzyzzz{{{{{{z{zzzzyz{z{z{{{{zzz{zzy{||{{{zzzzzzzzy{z|{{{|{{{z{{zzzy{{{{{{{{{zy{zz{z|{{{|{|{z{{zzz{{|{{{z|{|{z{{{z{{{{{|{|}|{z{|{z{{{||||}|z{{zzz|{{{{||}{|{|{z{{{{{{|{|z||{{z{{{z{z||{{||{{|zzzzzz|z{{||||{|{|{z{{z{|{{{{|{|{z{{{z{z{|{{|{|{{{zzzzz{{{|{{{{{zzzzzzy{{{zz{{|{zzyzzzz{|zz{|{{z{{{zzzzz{{z{{{|{zyy{zz{{z{{{{{|{zzzzyzzz{{{z{{{z{z{{zzz|{{z{z{{{{zz{zz{z{{{z||{zz{z{z{z{{zzz|z{zzzzzzz{zzz{{{{{zzzzz{zzy{{{zz{{{{zyzzzy{y{{{z{zzz{zyyzz{{zz{{{{zy{yzzzz{zzz{{zzzzzzz{zzzzzzz{{{zyzyz{zz|z{{|{|{zyzz{zy{z{{zz{{{z{zzzz{z{zz{z{z{zz{yzzzz{z{{{z|{{zz|{zz{z{{{{{{z{z{{{z{z{{{{z{|{{{{{z{z{{{{{{|{{zz{zz{{{{z{z{{|{z{{{{{{{z{z{z|{{{{{z{{z{{{{||{|zzz{{|z{z|{||||||z{{zzz{{{|z{}|{{{{{{z{z|{|{{||||{{{{{{z{{||{||{|{zz{{{{{{|{{z{{|{{{{{zy{{{{{z{}{{yzz{{{|{|z|{{{{{{z{{yz|{{{|{{z{{z{z{zyz{{{{z|z{{{{{z{{z{|{z{{{{{{zzzz{{|{{zz|{|{{{yzzzz{{{{{z{{{zzz{{yz{z||z{|{{{{zzz{z|{{{|{{|zzzzzzzzz{{{{{{{z{{{{zzz{{{zzz|z{zzzzzzzyzzz{zz{yyzy{zz{z{{{{z{z{{zzzzzz{z{z||{|{z{zzzzz{z{{{zz|{yz{{yzyz{{z{{zz{{yyz{z{z{{z{{{|zzz{zyzzz{{{z||{{zzzz{zz{|{{{{{{zy{zyyz{z{z{z{z{{{{zyzzy{z{zzz{{zzz{{z{zz|{{{{{{zzzzz{zz{{{{{{{||{zz{zzz||{z{|}{{{{zzzzz{{||||z{zzzz|z{{|{z{{|{|{{{z{{{{|{||{|||{{{z|{{{|{{{||||{z{z{{{{|{||{{|{{|{{{z{{{||{|{|{|{||z{{{{{||{||{{z|{|zz{{|{{{||||{{{{{|z{{|{|{||{z{z{zz{{{{{|{{{{{{{zzz{{||{z{||{z{{z{zz{z|{|{{{zzzz{{zz{{{{z{{{{{zy{|z{{z{|||{|{{yzz{z{|{z{{|{{z{{{{{zzz{|{{{|{{{zyyz{z{{{{{{|{zz{{zzz{{{zzz{{{{zzzyzzzz{{{{{{{{zzzz{yzz{{{{{}{{{zz{yzzz{z{z|{zzzy{zzz{z{{{{{||z{zzzzzzy{{|{|{z{zzyzy|z{zzzz{{{z{yzzz{zz{{{{|z{zzz{zz{z{y{{{z{z{zzzyyzzz{z{{{{|zz{zzy{y{{zzz||{{z{z{zzzz{|z{||{{z{{zzzy{{{{{|{{{z{{{{zz{{z||{{{zzz|zzz{z{|z{{|{{{y{{z{{|{{|||z{z{z{{{{{{{{{||{|{{z{{z{z|||{|{{||{{z{z{z|||{{|}{{zzz{||z{{||{|{|}{{{{{{z|||{|{{{{zz|zz{{|{||{{|{{z{z|{z|{||{{{{|{zz{|{z{{|{{{|{{{{zz{{z|{{{{{{||{{z{{{zz|{{{|z{{{z{{{{{z{{{|{{||{zzz{zzzz{{{{z{|{{yzzzzz{z|{{z{{{y{{zzzz{z{z{{{{zyz{zzz{z{z{z{{{z{{zz{zy{{{|{|{|{{{z{zzy{z{zz{|{{zzz{zzz{z{zz{|zzzzz{{z{zz{z{{|{z{{zz{zz{{{{z{{{{zz{yzyz{{{{{{{{zzzzyzz{z{{{|{||{{zzzzzzz{{zz{zzzzyzzzzzz|zzz{{{zzzzzzzzzzzz{z|zz{zy{z{z{{z{z{{|{zzzzyz{{{{|{{{{{z{{z{z{{zzzz{|{{z{{{yzyz{{{{z|{{z{z{z{{{{{{{|||{y{zzz{{||{{|{{{|{|z{y{z{|{|}{{zz{{zzz{||z{{{|{|{z{{|z{{{{|{{{||{z{{|zzz{|{{||||{{z{z{{|z{{{|{{{{{z{{{{{{|{|{{||z{{{{z{{z{|{{|{||z{|{{z{{||{||{|{|{{z{{{{{{{{{||{{{z{z{{{|z{z{{|{zzz{z{z{|||{|||zzzz{z{{z{{{{|{{{zz|{zzzz|{zz{||{zz{zz{zz{{zz{|{zzz{z{z{{zz{z||{{{{{zz{{{z||zz{{{{zyz{zz{{|{{{z{{{zzz{zzz{{z{{z{zzzzzyzz{z{z{z{{zyzzzzyzzz{{{{{{zz{zzzzz{{{{{z{{{z{zzzz{z{{{z{{{z{zyzzz{z{{|zz{|zzzzzzzyz{zzz|{{{zzzz{zyz{{{{|{zzz{zzzzz{{{z{{|{zyzzzy{{{z{{z{{{{z{zzzz{{z{z{{{{z{zz{zz{|zz{{{{|z{{zz{zz{|{z{{{{zz{zzzz{{{{|z{|{z{z{|{z{{{{{{{{|{zz|{{{{{z{|{{{|{{{{|zz{|{{{{|||{{z{{zz{|}|{||{|{zzzz{{z|||||}{|{{|{z{|{{||{|}}{|{|{{{{z{}|||{{||{{z{{zz|{{|||}{|{z{|z{{{{{|{z|{|{{z{{{{{z{||||{{{{z|{zz{|{|z|||{{{zzz{{z|{|{||||{zzyyzz}{{z{{{|{zz{zzzz{z{z{{||zz{zzzzz{|{|{{z|{zz{y{{z{{z{{{{{|{zy{zz{z{{|{{{{{{z{zz{z{{z|z|{{zz{z{z{yz{{z{{{{{{z{yzzy{z{{{{{zz{zzz{zz{{{{z{{{{zz{zyzzz{{z{{{{zyzzzzyz{z|z|z|{|zz{zzzzz|z|z{{{{zzzyyyyz{{zz{{{z{zzy{zzy{{zz{z{zz{z{zzy{{{{z{|{zzzzzzz{|zz{zz{{zzzzzzz{{zz{|{||yzzzzzzzzz{z{{{{zz{zzzy{z{zz{|{{{zzz{{zy|z||zz|zz{z{z{zz|{{z{|{{{z{{z{{z{{{}{{|{zz{{{{{{{{{{{|{{{{{z{zz{{}|{{|{||z{{zz{{|{{{{||{{{z{{{{{{{{{|{||{{z{|zz{{|{{||}{{z{z{zzz||z|{{|||{z{{|{{{|{|z|{{{{y{{{{zz||{|{z{{{z{zzz{z{|||{|{|z{z{{zz{{|{zz||{{z|{{{z{|{{|{z{{zy{{{{xzz{z|zzzz{zzz{zyz|{{|{{{{z{yzzzz{z{z{{|{{{z{{zzy{{{{|z{{{{{{yz{zzz{{{|{{{zzzz{{yz||z{{z{z{{zzzzz{{{{z{zzzyzzzzz{zy{zz{z{yzzzzyyzzzzz{||{{zzyzyzzz{{{z{z{{zzzzzyzz{zzz{{{{zzzzyzzz{zz{z{{{zzy{yzzyy{{{{||{yzzz{{z{z{{z{|zzzyzzz{{z{z|z{{{{z{{zyz{{z{z|{{{zz{zyz{z{{{{{|z{zzzzz{{zz|zz{{z{z{{zzzy{{{{||{{{{{z|{zzzz{{{y{z{{zz{y{z{{{{{|{{}{zzz{{zz{{z{{{|{{z{|{{{{|z{{||{{|zz{zzz{}{{{{|{|{{|z{{zz{z{|{{||{{z{z{{{||||{{|||{{zzz{{{{}{{{{||z{z{zzzz{||{||{{{{|zzzz{{{{|{|{{{zzzzz{z{{{|{z{z{{zz{{zz|{{{|{{{z|zzz{z{{||{{{zzyzzz{z{{{{y{z{{y{z{zyz{z{{{{{{zz{{zzz{zz{{{{||{{zz{zzzzz{{{{z{{zzyz{z{zz{{zz{{||zzyzzzzz|{{{|{z{zzzyyyzzz{zz{{z{zzzzzz{{{{{z{z{z{{zy{zz{z{zzzzz{yzzyzyzzzz{{{zzzzzzzzzzzzzzy{{{{zzz{yzyz{{{zz{{zz{zzy{zz{zzz{zzzz{zzzzy|z{zzz|{{{zy{z{zz|{zz||{{z{zzzzz{{{zz{{|zz{zzz{{{zzzz{|}{zz{zx{zz{|{|||{|{zyz{{z{{{{z{|z{{z{{z{|{{{z{{zz|zzz{z{{{{{{||||z{zz{{{{{z{|{|{{{{zz{{y{{|||{|||{{{{z{{{|{{{|{|{{|{z{{z{|{{{{{|{{z{zz{{z{|{|z{|||z{{{z{{{{z{{{{|{z{{zzzz{{{{{{{|{{zz{z{{|{{{||{{{|{z{{|y{{|{||||{z{{z{{z||{{z{{z{z{{zzzz||{{|{{{z{{z{zz{z{|{{{{|zzzzzz{{z{|z|{{}{{yzz{zz{z|{{{{{zzzzzzy{z|{{{z{{{z{yzyz{{{{|||{|{z{z{z{zz{zz{|{{{z{zzzzyz{{zz{{{{{z{{{zz{yz{{z{{y{zyzzzzz{{z{{|{{zzzyzz{{z{z{{|{zz{zzzz{zzz{{zz{zyzzzzzyz{zz{{{{{yzyzzzy{{z{z{z{zzzy{{z{z{zzz{{|{z{y{yz{{{{{zz|}zzzzzzzzz{{{|{{{zzzzz{zz{{{{|{|{{zzzz{{{{{|z|{z|{{{zz{{{{{||z||{{{{{{{{z{|{{{z{{{z{{|{{z{||||{||{{z{{{{{{|{|{|||{zz{{z{z|{{z|{||{z{{{{{{{|{|||{|{{{{{{{|{|{{{||||{z{z{{|{||||||{|z|{||{{||}|||{{|zz{|z{|{|{|z|||{{z{{{z{||{{||{||{{zz{|{|{{|{{|{{{{z{z{{{||||||{|z{{|z{{{{{||{{{{z{z{zyzz{|{{{{zzyz{zzzy{{|{|{z{z{zz{zzz{{zzz{{|{{{{{zzzz{{{z{{{{zzzzzzz|{{{{|{{zz{{zzzzz{{z{{{zzz{zzzz{{z{z{{{|z{z{yzyzzzz{z{z{{zzzzzzz{{zz{z{{zz{zz{z{z{{z|z{{zzz{zzzzz{z{{z{{{yzzzz{yzz{{z{z{zzzzy{yzyz{z{{{{zzyzz{{{zzz{zz{|{zzzzzzzzz{{z{{zz{{z{z{{{z{zz{{|{{z{zzzzz{||{{z{|{zz{{zz{{{||{{{zz{yzzzzzz{zz|||{z{zzzzz{|{{z{|{|{{z{{{z{{{|||{{{{{{{{{{|z{{|||{{zz{zzzz{{|||||{z{z{{z|z{|{|{|||{{{|{{z|{|{{{{|{|{{{z{{{{{{{{||||z{{|{zz||{{{|{||{{|zzzz|{{{{||||{{{|{{{||{{{|||{{{z{|z{{|{|{|{||zz{z{zz{||{{|{{z|zz|zzz|{|{{{{|zzy{zy{zz{{{{|{{z{z{{zzy{{|{{|z{{zzzzzzz|zz{{{{{zzzz{{{y{{|{z{{|{{zzz{|z{{{{{zz{|{zyzy{zz{z{{{{z{{zzzzzz{{z{y|{zz{{zzzzz{{{{zz{{{y{zzyzzzz{z{z{{zzzzzzzzzz|z{z{{{{{zzzzyzz{{|{{{z{zzzyzz{z{{z{{z{z{zzzyyzzz{z|z{yzzz{y{yz|{|zz||z{zzzzzz{z{zz{{{{y{zzzzz{zz{{{{{{{zzzzz{{{{{{{{{|{{zzz{zz{{{{|{z{{{zzzzz{{||z{{|{zz{z{z{{{|{{{z{{{|{z{z{{{|{||z{zz{{{z{{z{z|{{{{{{{{{zzz{}||z||{{zzz{{{z|{{{{{|{{{z{{{{{{|{{|{{||{z{z{z{{|{|{{}{{z{{{zzz{{|{z{|{{{z{{{{{{{{{|{||{z|z{{{|{|{||{{{{{{y{{{{{{{{|{}{{{z{{z{|{|{|{{{{{zzzz{{z}z}z{{{{zzzzzzzz|z{zz||{z{z{yyz{{{{{{{{{zzzzz{zy{{{{z|{|{z{z{y{z{{{|z{z|{zzzzzzz{|{{{{{|{{zzz{{zz{zzz{{{{zz{zzyyz{|zz{|zzzyy{{yz{zz{{{{zzzzyyz{z{{{z{{|{zzzzz{yzzz{z{z{{zzzzyzyz{{{z{{zz{{zy{zzyz{{{{zz{yzzzzz{z|{{|y{z{zzzzy{z{zzzy{||{zz{{{yz|{{{{z|{{zzzzzz{zz|{z{{{||z{yy{{z{{{{{{|{{zz{{z{{{|z{{{z{{y{zz|{{{|{{{{{z{{|z{zzz{z|{|z|zy{z{{z{||||{||{{z{{z{{|{{{z{||}|zzzz|z{z{|||{||{|z{z{z{{{|{||{|z{{{z{{{{{{|{{||}|{{z{|{|{|{{||{{|{{|{z{|||{{{||{z{{{{{zz|||{{||{{{z{{{z{|{|{||{{{|{{zzzz|{|{{|||{z{{{|{{{|{||{|{{zz|{z|z{|||{{{|zzzzzzzy{{{|z{{{z{zzy{zzz{{|{|{{{z{z{{z{{zz{{||{{{{zz{y{{{{|z{||z{zzz{zzzz{z{{{|z{zzzy{z{{{{z{{{zzz{yyyzz{{{zz{zzyzyy{z{zz{zz{{{zyzzyyzz{{zzz{{zzzyzz{zzz{{z{{{{{{{{yz{{z{{{{{{z{yzzzyzz{{{zz{z{zzzzyzyy{{z{z{z{z{zzy{yzz{{{z{{zzzzy{yzz{{{zz|z{zz|zzzz{{{y{z{{{yz{{z{zz{{{{{{{{{z{yzzzz{{{z{||zyz{{{zzz{||{|{|{{z{{zzzzzz|{{{{{|{{{zzz{{{{||{{|z{z{{{{z{|{{{z|{{z|{{zzz{{|{|z|{zzzz{{{|||{{{{|||{|z{{{{{{{{|{|{||{{z|z{{|z{||{||z{|zzz{{|||{{{|{{{z{zz{z{{{{{||{zz|zz{{||{{{{{}{z{zzzzz{{{{{||{{z{{z{z{z{|{{z|{|{zz{z|z{|{||{{{{zzz{z{{{{{z{|{|zz{{zz{z{{|z{{{|{{{zz{{z|{z{|{||zy{{zzzz{|{{{{{{{{yzzzzz|z{{{{{|zzz{{z{z{{z{{{{{|{{y{{yzz{zz{{{{z{{zzzzzz|{|{{|{{zz{y{{y{{{{{{z{zzz{zzyzzzz{{|zzz{{yzz{zzzz{z{{{{zzzyy{yzz{{{z{z{z{zzz{z{{z{{{z{yzzyz{zz{{{|{z{|zzzzzz{{{{{{{z||zz{zz{zzz|{{{{{{{{zzz{{{z{{{||{|z{{{zzz{z{{{{{{{{z{{zz{zz||z{|{{{|{{{{zz{{{{{{|{{{zz{zz{z{{|{}{{{{{|{|{z{||{{{|}zz{{|{zz{||{{|{{|z{{{z{z{{{|||}|{{|zz{|{||{{|{{|||{|z{z{|||||}|{|z|{z{z|||{{{||||{{zz{z||{z{||}|||zz|{{{{{|||{{|{{{z|{z{{|{{z{|||{||{{z{{||{{||||z{{{{{{}|{}{{z{yz{{y{{zz{{{z{{z{{z{zyzz|z{z{{{{{zyzz{yz{z{{{{{|{{{{zyzz{|{|yzz{{{zyzzzz{{{{z|{|{z{z{z{z{|{{z{|{zzzzzzzz{z|{z{{{zzzzzzyz{zz{{|{{yzyzyzzyz{{z{{zz{yzzz{zzz{{{z{|{{zzzzzzzz{{{{z|{{z{zzxzz{zzzz{{{{{{zzzzzz|z{{{{y{zzzyzz{z{y{z{{|z|{zyy{{{z{{{{||{z{zz{zzz{zz{|{{zz{{{zz{z{{{{||z{z{|{y{{z{{{{|{{{{zzzyzz{{{{{{|z{{{zzzzz{{z{{{{{zzzz{{|z|{||{|{{z{{{{{{|{{z|||{|z{{|z{{{||{{{|||{{{{zz{{|||{{|||z{z{{{{{|{{||||{{z{zz{{{z{{|||||{z{{{z{z{{|{{||||zzz|z{{{|{|{||{{{z{{|z{|z{{{|{|{{{{{{z{{{{|{|||{|zz|z{{z{|{{{{|z{{zzz{{{||||z{{z{z{zz{z|{z{z{|{{zzzzz{zz|{z{z{{|z{zzz{yzzz{{{|{{{zz{yyz{{|{zz{|{{zzzz{z{|z{{{{{{{{zzz{zz{{zz{{{{{zzzz{{z{|{z|{{zz{zz{zz{{{{z{{|z{yzzzzzzz{yz{{z{z{zy{yyz{y{||{{zyz{{zzzzzz{{z{{{zz{zzzzzz{zz{zzzzzzzzz{zz{z{{{{{{zzzz{z{{zz{{|{{{{z{z{{{{|{{{||{y{zzzzzz{{{{{{|z{{{z{{{{|{{{{{|{{zzz{{zz{{|z{|zzz{{z{zy{z{|{{||zzzz{{{{{|{|z|||{zz{{{z{{{||{{{{{{zzzy{{{|z{{{||{{|z{zyy{|}|{{|{|z{{{{{{{||{}}{{z{z{{||{{{{|{{z||{{z{{{{{|{||||}|z{|{{{z|{{{{{||{{{z{y{{{{{|{|}||{{{{{{|{{{||{||z|{zz{z{||{|{||||{zzz{{z{|{{|||{{z{{{{{}||}}||z{yzzzzzz{{{|{|{{{y{zzzzyz{|{{{|{|zzz{zz{zzz{z{{{z{zzzz{zz{{{{{{{|{zyzzz{z{||{z{{{{zzzz{zyzz{|z{z{{{zzz{{zzz{{z{{{{zzyzzzzz{{zzzz{zzzzzzyy{{zz{{z{zzzyzzyzz{|z{{{z{zz{z{{zzzzzzzz{zzzzzyzyyzzyz{z{{zy{zy{{zzzzzz{{{z{zzyzy{{{|z{|z{{zy{z{yz{z{{{{{{z{zzyzz{{{{z{{{zzzzzzzzz{{zz{{z{{{zz{zy|{z{{{{{zz{zyyzz{{{||{{{|zz{{z{{{{{z{||{{{{z{{{z|{||{||{z{{{{{||{|{|z||||y{{{{z{z|{{{z{{{{zz{{z{||{|{|||{z{z{z{{{|{{|{||{{{{z{{{{||}}||{||{{{{z{{|{{{||{{{{{{{z|{{{{{||||{{z{{z{{{{{{|{{{{{zzzz{{||{{|{{||z{zz{zzz{{{{||{z{{|{|{|{||}{{|{zyz{z{zz{{{z{{z{{zyzzyy{z{z{{{z{zzzzzyzyz{{z|{{{zzzzzz{zz|{z{{{{z{zyzzy{{zy{{z{zz{z{z{y{{{{{{{z{yyzz{yz{z{{{|{{zy{zzyzy{yzz{{z{zzzzzyzz{z{{zz|zz{zzy{xzz{zz{{{z{zzzzyyzzzz{{{z{zyzyzyyzz{zy{z{{z{yzyzzzz{zzz{{{yzzzz{yz{{|{{z{{{z{z{yz{{y{{zzz{zzz{zzzz{{z{{||{z{zzzz{zz{{{{{{|{{zzzxzyz{{z||{{{zz{{zyzz{{{{{{{{zzzzz{z{|{zz{zzz{{{{yz{{y}{|||{z{zz{{z{{{{|{|||{{z{zz{{{{||z{|z|{{{{z}{||{{|{{{{{{zz|{{{|{{|||{|{z{z{{{z|{{||||{{z{z||{{|||{||{{z{z{{{{{z{{||{}|zz{z{{|||{{{{{{zzzz{z{z{{z{{||{{{{{zzz{zz||{{{{{{{{{{z{{}||~{|z{zzzzzyz{{{|z{{|{{{z{zzzzz{{z{|{zzzzzzz{zz{{z|{{zzzzzzzzz{{{{{{{z|z{zzzzz{{z{z{|{{zyz{{y{{{{{{{{{zzzzzzz{{{z{{{{{yzzzz{y{z{{z{{{zzy{zz{zyzz{{{z{zyzzzzyzzzzz|z{{zz{zyzxyzz{{{{{{{zzzyzzz{y{{zzz{{zyyzzyyy{zzz{{{zyzzz{zyz{{z{{{{z{z{zz{{z|z{z{{{zzzzz{{{{z{yz{{{{y{zzz{zzz|{{{{{{zzz{y{zz{{|{{{{|zz{zzzz{z{{{{|{{z|{|z{{{{{{{z{|y{{z{zzzz{{|{{|}zz|{{z{{|{{{{{{{{{{{zzzz{|}{{{||{z{z|{zz{{{{{||{z||zzz{{z{z||||||{{{{{z{{|{||||{|z{zz{z{||{|{||{{z{z{{{{{{|||{|{{z|{{{z{|zz|{{||z|zz{z{z{z{{{{||{{{{{{zy{|||zz|{z{{z{{z{}{||}{{{zzzy{zyzy{z{{{{{z|zz{zzz{{{{{{{|{{zzy{{z{{z{|{{{zzzzzzz{{{{|{{{{{{zzzzzyz{z{|z{|{{{y{zyzz|{zz{{{z{{z{z{z{{zz{{{{{zzzzzzzz{zz{{|{zzz{zz{zzz{{z{zz{yz{yzzzz{z{{z{{yzz{y{zyy{z{y{{zzzzzzzzzz{{{{{{{zz{zyzyzzzzz{{{|zzzz{yzyz{z{{{{{zzzzyyzzzz{{{z{|z{{zzz|{{{{z{|||z{{zz{{{||{||{{{z{zzzz{zzz{{z}{z|zz{{z{{z{|{{{||{z{{z{y{zz{{{z{{zz{{z{{z{z||{||{z{z{z{|{{{{{{{{|{{{z{{{{|{{{{||{{{zzz{{z|{{{{{{{|{z{{|{{{{{|{{||{z{{z{{zz|{{{||||z}{{zzz||{|{{{{{z{{{{z{{{{||||||{|{{{{z{|z||{|z{z{z{{{z|zz{|{|{{{z{{zzz{{||{{||{zz{z{z||||}|{|z|{zzzzzzz{|{zz{zz{zzyzzzzz{|{|z}zzzyzz{x{{{z{{{||yzyz{z{{{{z{z{{|z{z{z{y{{{zz|{{zy{{zz{zz{zy{|z{{{zzzyy{{|z{z{zzz{zzy{zy{{{z{z{{yzzzzzzz{z{z{{{zzyyzz{y{z{{{{{||{yzzyzz{z{|{zzz{zzzzzyzz{{zyzz{{zzzzyyzzz|z{z{z{zz{{zzzz{{z{{{|{zzzz{yzzz{z{{{{{zz{{zyzz{z{{{z{{zzz{zz{z{|{|{{{{{{zz{{{z{{{{|}{{zz{{zz{z{{||{{|zzzyz{{zzz|{{{{{|{z{z{{{{{|{{{{|z{{{zz{{{{|{|{||||{z{{zz{{|{{{{{|{{{{{z{{{{|z{{|{|{{{{{{{z{{{|||}}z{{z{{{||{|{||||{z|{{{{|{z}||{{}{z{{{{{|{||{|{{||z{{|{{{||{{|}|{{{zz{{{z{{{|{||{{y{zzzz{|{|||{|{{{z{z{z|}}}}|{|{z{z{z{z{{{{{{|{{{z{zyy{z{{{z|zzzz{zzzzzz{{{||{{zy{{{yzz{|z||{{{{{zyyzzz{{yz{{{{{{{zz{z{z{zz|{|{{{{z{zyz{z{z{{{zz{{{{zzy{{{{{{{|zyzzzyzz{zz{z{|zzzz{zzyzzz{z{{{{z{zzyzyzz{{z{z{|{zzzyzz{z{zz{{z{{zzzzz{z{{zz{|z{zzzzzzzzz{{{z{{{zzz{{y{yzz{z{|z|{z{yzzz|{z{z{z{|zzzzy{|{{{|{z{{{zz{{{z{{z{{z{||{zzzz{{zz{{{{z{{|{{{{zzzz{{|z{|{|z{{z{{{z{{{|{z|{z{zz{{||{|{{{{||{|z{zz{y|{||{{||{{{{{{|z|||{||||{{{{{{{||{z{||}{{{{|z|{{||||{{|{|z{{{z{{|{z||||{|{{{{{z|{{{{{{||{z{{{z{|{|{||{|{{{{{zzz{{|{{z{|{{z{{z{{z|}{|||{|{{|{zz|{|}||~{{|{{zy{zzz||z{{z|{z{{{{{zz{z{{z|{|z|zz{{zzz{{{{{{|z{{z{zz}{{{{z{{z{{{{zzzz{{{{z{{{z{zyzyzyz{{{{|{{{z{zz{zz{{{y{|{zzzzz{zzz{{z{{{|{zzzzzzzzzz{{{{{{{z{|z{zzzz{z{{|{{zzzzz{zz{{{{{{{zzzyzzzyzzzz{{{{{zzzzzz{z{{{y{{{zzzz{yzy{{z{{{|{{z{z{zzz{|{{{|{{zz{zzzzz{zz|{{{{zz{zzzz{{|z{|{||{z{{yy{y{{{|z||||zzz{{z{{|{{zz||zzzyzzzz{||{{{{{zz{{{{z{|||{|{||z||{{zzz{|||{|{}{{{z{{z{{|||||{|{{{|{{{{{{||{|||{z{|{{{|{||{z}|||{{{{}{{{}{{{|}{|{{|{zz|{|||{|{{{{{{{{{z{{|||||{|{{{{{|{||||{|{|z{z{{z{z{}{{|{|||{{zz{{{z|z|}{|||z{{{{z||}}}}{z|zzyzzzz{{{|{|y{|z{z{{xzzz{{{{|{{|zzzzz{zz{{{{{|{{zzz{{zzz{{{{{{{|zzzy{{{{{{{z{{{zzzz{z{z{{{z{{{{{{z{zzyz{{z{{|{z{zzz{yz{{z{{z{{{{yz{zzzz{zz{z{{zzz{yzzyyzz{z||{{zzzzzzzyz{{zz{|{z{{zyzyzyz{z{{{{z{zz{zyyyzzz{{{{z{zz{zzz{yzz{{{zz{zyzzzzz|{|y{z|zzz{zz{z|z{{{{||{zzzz{{{zz{{{{|{{z{zzy{zz|{||{{{z{z{zzzz{|{{{|{|{z{{{{zz{{{{{|{{{zzz{zz{z|||{|{|z{{{{zz{|{z{|||{{{{{{zz{{|||{{{{{{{{{z|z||{||||{{{{z|z{{||{|||{|{{|{{{{|{|{|{|||{z{{{z{{{{|{||{}{{zz{{{|zz|{{{|||{{{{|zz|{{{{|{}z{{y{{{{z|{{{||||{{z{zzz{|||{{{||z|z{z{{||}|}{{z{zzz{zzz{{{z{{{{zzz{zzz{{{{{z{{{z{{zzzzy|{z{{{|{{z{z{zzzzz{{z{zz{z{zzzzz{z{z{z|{zzz{yz{x{|{zz{{{{zzz{yzz{{zy{{|zz{zzzz{z{zzz{{zzz{zzyzzz{{{{{||zzyyzzzyz{{y{{{|z{zzzzzyyz{zz{{{|{zzzzzzzyzzzz{{{{zzzzzzzzz{zz{{{zz|zz{zzz{{zz|zz{zz{zzzzz|z{{{|{{zzzzzzz{{z{{{z|{{{{{{z{{{|{{{{{{z{{z{zzz||{{|}{zz{z{{zz{{|{{{||{z{{{zzy{|{{{{{{{zz{{zz{|{}|{z{|{z{zz{{{z{{|z{||{{{{{zzz{{{|{|{|zz{{z{z{{|{{|{|{{{{z{{{{{{|{|{|||{{{{{{{{{{||{{{|{{{{z{{{z||{{{z{{{{{{z{{{{{{{||{{z|{z{{{{{{|{{|{z{zzzzz{|{{|{{{{zz{zz{z{{z|{{|{{{zz{z{{|||||zz{z{y{{{{zz{|{|z{{zzzz{y{zz{{z{{{|{{zzz{z{zzz{{{{|{z{zzzzzz{{zz{{|zz{yzzyz{z{{z|z{zzzyyyzz{{{z{z{{{yzyzyzz{z{{zz{{{zz{z{zzz{{{z|{|zz{{yzzyy{zz{{z{zzzzy{zzz{{z{{{zz{yzz{zyy{{zz|{{zzyzzz{zy{|y{zzz{{zzzzyzyzyz{{z{zzzz{z{zzz{{zz{{z|zzzy{zz{zzz{{{{zzzzz{|{{{zz{z{{zzzzzz{z{|z{|{{yz{{{z{z{{|z|||{z{{zzz{z{{{{z{|{{zz|{z{{{{{z|{||z{y{{{z{{{{{|{||{z{z{z{{{{|{{{|||{{zyzzz{{z{{{{{|z|{{z|z{{|{||||{{{{z|{{z{{|{z{{|{z{{{{{{{||{|{{{{y{zz{z{{|}{{{{|zzz{zz{||z{|{|{|{{{{zz{{{|||}|{{zzzzz{{{{z|{{|{{{{z{z{zy|{{z{|zyz{zz{{{|{||}{{|{zzzyzzzz{z{{{zz{zzzz{zz{{{z{{{zz{yzzz{zz{{zzzz{{{{zyzzz{z||{{{{z{zzzyzz|z{zzz|{{zzzzzzzz{{z{{{z{zyyzzyz|{{zz{z{z{yy{zzz{{{{zzzzzzz{yyzy{z{z{{{{{zyzyyz{zzz{{{zzz{{zzzyy{yzzz{zz{zyzzzzzz{zyzzzzzzzzyzzyzzz{z{z{yzyyz{zyzyz{{{z{yzzzzz{{z{z{{{{z{zzzzzzzzz{{|{||zzzzyzz{zz{{|{{{zz{z{{zzz{{{z|{{zy{z{zzz{z{zzz{{|y{zzy{{zz{zz||{z{zz{{{zz{||{||zzz|{{z{z{zz||{{{|z{{{zzy|{{{z{{z|z{z|z{{{|{{{{||z{zz|{{{z{zz}{}|{{||z{{{{|{|{{{{{z{{z{{z{|{|{|{|{{z{|{{{{z{{|{{|{{z{{{{z|||{||||{zz{{zz{z||{{{|{{zzz{zz{z{z{z{{{{{{{|{{z|{|z{|{zzzz{z{zzzz{{z{{{{yzzzzyz{z{z{|{{{zzyyzzzz{|z{z{z{zy{zzz{z{{zz{{yzzyyzzzzzz{{{{z{z{zzzzzzz{{{z{zzzzyzzyyy|z{{z{z{zyyzzzy{zz{z{zz{zzzzz{zzy{zz{z{{zzz{yzzy{z{zzyzzzzzzyzzzz{z{{{|{zzzzzzzy{{zy{zz{{yzyzzzzzzzz{{{{yyyz{zzz{z{zzz|z{zzz{yy{{z{zzz|{z{z{zz{z{{{|{{|{z{{yz{{zz|{{z|{{z{z{zzzz{{z{{||{{{{zyzzyz{{{z{{zzzz{zzz{{{|{z{{{zz{{{z{{{|{|{|{{z{zz{{{{{|{|{}{{{{|zz{zz{{||{{{{zy{{{zzz||{z{{|{z{{{z{{z{{{{||||||z{zz{{z|{|{{||{z{{z{{{{{|{{{||{{{{{{zz{{{|{{||{zyz{zz{|{{{z|||zz{zy{zz{{{{{|||{zzzzzzz{{z|{z|{{{zzzz{{z{{z{z{{zzzzz{yy{{{z{zz{zzzy{z{y{{{|{{{{{zzzzzz{{{{z{{|{{yzzyzyzzzz{{z{{{{yzy{zz{z{z{{{{zyzyyz{zz{y{z{{{{yyzzzyzzzzzzz{zzzzzyzzzzz{z{zz{zzyzzzzz{|yzz{{zzzzzzzyzzzzzz{{zzyzzyyyzzz{{zz|{zyzyzyzzyzzz{|{zyyy{zzzyz{{{yzz{zz{{z{zy{{zzzz|{z{yz{zzz{{{{{{{|zyzz{z{{z{{{{z{{zzz{yzzz{{{{{{z{zzyzzzzzz{z{{{{z{zzzzz{{zz{z{{{zzzz{zzzz|{{z{z{{{z{{{{{{||{||{|{zz{{{{z||{{{{{{|{y{{|y{z|||{{z|{|zy{{z{z{{{{{{||z{z{z{z|{||{{{{||z{z{{{{{|{{{{||zzz{{zzy{{{|{{|z{zz{{{{{{{{{|z{{zz{z{{z{|{{{{|{z{{zzzzz{z|z{z{{|{{zzzzzz{{{{{zz{zz{z{zzz{|||z{zzy{z{zy{{zzz{zz{{zyzyzz{zzyz{{{{{y{zzzzzz{zyz{z{|{{zyzyzzz{{{zz{{zzzzzzzzz{{{{{z{zzzz{zzzy{{zz{z{zzzzzyy{{{zzz{z{zzzzzzzz{{z{yz{{{y{zyzzyzzzz{z{zzzzzzyzzz{{z|y{{z{zyyyzzzzzz{{{zz{zzzzzzyz{zz{zyyyyyzzyyyzyzz{zyzzyzz{zz{zz{{{||zzzzzy{z{{{{{{{{zz{zyzy{{{{z{|{|zzzzzzzz{{z{{||{zz{{zy{y{{{{{{{zzz{zzzzz{z{z{{{{zz{{{{zz{{{zz|{{{{zz{{{zz{{{||{}yz{{{z{{|{{{||{||{z{zzzz|{|{{||{{{|{{|{{{||{{{{{z{{zz{{z{{{|{|||}z{{{{|{{{|{z||||{{{{{{z{|{{{|{|{{{{{zz{{{|{{||||{z{zzy|{|{||{||{{{zz{{z{|{{|{{{{zz{zzzz{{{||{{|{{zzzzzzz{|{z|{{{{{{z{{yz{{{{{{|z{{z{z|{{|{{||||{zyzzz{zz{{z{||{{{z{{z{zz|||{{||{{{z{{|z||{{{|||z{{z{{{z{{{{{{{|zz{zyzzz{|{yzz{{z{{{y|{z{{z{{{{{{zzzzyzz||z{{{{|z{{{y{z{{{{{{{|{{zzzz{zz{{{{{{|{{{z{zzzzz{{{{{z{{zzz{{zz{{{{{|{{{{{{z{zz{{z{{{{{{zzzzz{y{{|{{||{{{|z{zzz{{|z{{|{z{{z{{{z{||{|{|{|z{{{zz{{{{{{{{|{z|{{z{z{}||{{||{zz{z{{{|||{|{|||z{{{{{{|{{{{{{|{||{}{{{{|||{}||{{||{z{{|{||{{{{|{{{{|{|||||}||||{{|{|{{|}}||}|}}||{||{z{|{{|{|||{{||{{{||}||||||z{{{{{|{{||||||{{{||{||{|||{}|}|{|{|{{{|{{{{|}|{{{{z{{|{|{{||{{|{{|z{{z|z{|||{|{{zyz{z{{|{z{|{{{zz{{{{z{{{{{{z{z{zz{y{z{||{|{|{|{{z{{{z{{||{|||z{zzz{{z{|{{{||{{z{zz{{{|z{z{{{{{zz{{{zz{zzy{||{zz{z{zzz{z{|z|||z{{z{zz{{{|{{{{{{{{{zz{{{{|y|z|{zzz{yzy{{z{{{|{{{yz{zzzzz{{{{|||y{{{zyzz{{{{{|{{zy{{zzzz{{{{||{{|zzz{zz{{zzz{{{{{zzzzz{z{|||{{{|zz{{{{{{{zz{{{|z{{zz{{{{z{||{{||{{{zzzz{{|||{|||{{||z{{z{{|{||{|{|{{|zz{{|||{|{|z{{{|{{z||{{{|{{z{{z{{z{{}|||}|{|z|z{{{{||||||}|z|{{{{||||{{}||}{{||{{{z{||||||||z{z{{||{||||}||||{z|zy{||{{{|||{{{}|{z|{{{||{{||{{{z{{{{|{}z{||{{z{z{yz|||||{|z{z{{z{{{{|}{{|{|{{{{{{{z{}||z{||{{{zz{{z{{|{{||{{{{{z{{{{{|{|||||{z|{{zz{{|{{{z|{|zzz{{z{{|z|{{{{{zz{z{z{{||{{|z|zzz{{{z{||{|{{{{z{{{zz{{{{{{{|{zzz{{zz{z|{{{|{{{z{{zz{{{{{{|{z|{zzz{{z{{|{|y{{{{z{{z{{zzz{{{{|{{{z{z{zz{{{{|||{{{{{|||y|{{z{{||{{z{z{{z{{|{{|{{{{z{{z{{{|||}{{{{{{zz{{{|||{{{{|{z{{|zzz||{{||||z{|{z{{z{{|{|||{zzz{z|{{|{|||||{|{{{|{{{||{}}|{|{{{z{z{||||}|||||{||{{{z{||||{|||{{{{{{||||||{{~{{{{{||{z}{|{||}}{{{{{{{{|}|}|}||{{|{{{{{|{|||{{{{{{|zz{|}{|{|}|}{{|{|z|{||{|}||z|{{|{|{{|{|{|}||{z|z{z{||||{||{{{{z|{|{{||{|||{{|{{{z{{{{{|{{|{{z{z{yz{|z|{||}|{{|{{|z{{||{{||{{{|{{{zz{|||{{|{|{{{{z{z{|{|{||||{{z{{{z{|{z{|||{{y{{{{z||{|{{{{|{zyzzz{{{{{|{||z{{{zz{{|{{{{||z{zz{z{z{{{|{{{{{{{{zyz{z{||zz{|{{{zz{|{{z{{{{|{{{z{z{zzzz{{{z{|{{zz{|zzz{{z{{{{{z{{{{{{z{{||{{|z|{{{{z{{z{||{|||z{|{{z{{{||||z|||{z{{z{z|{{}}|zz|z{z{zz{{|}{{|||{z||{|{||||{||{|{{z{{|{{}{||||||{}||{{{{{}|{||||{|{{{|{z|||}||||{z{||{{{|{|{|{{|{{||{{||{||}||||||{{{||{|||||{|{||{|{{|{|{|||}|||{{|{|{||||}|{{}|{{zz|{|||||{||{z{z|{{{{{||||||{{{{{{|{{|{||{{{|{||{{z{z|||||{||{{{z{{zz{|{||z||z|{z{zz{}{|{|{{|{{{{|{z||z|{{{{{{z{{zz{z|{{|{{|{|{{{zzz{|{{|{{{|zz{{z{{{z||{{|{z{{z{|{{{zz{|{{{{{{z{{{zz{{{{{{|{z{{z{z{z{{{{{{|{zzy{zz{z{|{{|{{|{{{zz{{z{{{|{{||{{{z{zzzz{z|z{|z{zz{zzz{{|{{{||{zz{zz{z{{{{{{|{{{{{z{|{{{{{{{{||{z{{z{zz|{{|{{||{zzz{{|{{{|{|{}|{{{{zzz{{|{|||||{{{z{z{z{||{{||||{{z{{{{||{|||||{|z{{|z{{{|}|||{{{{{{{||||{||||{|z{{|{{z|{{}|{|{{z{||{{{|||{|||}|{|{||{{{{||||||||{{{|{{{|}{|}|||{|{||{{}||||||||{{{|{{{{|{||||||{{{|{{|{{{||{|{{{{{||{||||{}{}|{{{|{{{{|||||{|{{{{{{{{{{|}{{z{{|zz{{{{z{|||{|||z{{{zz{{{{||{{||{{y{{{zz|{z{|{||{z{{{z{{z{||{z||{{zzz{yzzz|{z{{|{{{{{{z{{{{z{||{{z{zyzz{|{{z{{{{zyzz{yzy{z{|{{z|zyzz{{z{{z{{z{{{{{{zzzy{|{{|{|{|{{{{yz{zz|{{{{||{zzz|yzy{zz{{{{|zz{z{{{z{{{{|{{{zz{z{{{z{{{{{||}{z{{{zz{|{{{|{{{{{{{{{{{{{{{{{|||{{{z{z{{||{{||}{z{{{{{{z|{||{||{{zz{{z{{{|||{|{{{{|z|{z||{{{|||{{|z||{{}||{}|{}z|{{{{{z{{{}|{}||{||{{{|{|||}||{|{|z{{{{}|{{|||||{||{{||{||{~||||||{{|{{{||}||||}{|{{{{{|{||||}||{{|{{{{|}|||}||}|{{|{{{{|||||||{{{{||{{||{|||||{{{{{{{||{{|{|}|{{{{{{|z{}{{|{{{{zz{zz{{{z|{z|{|{{zz|zz{{{z{|{||{z{z{z{{{{|{{{{{{{{zz{zzz{z{z{{|zzz{zzzzz|{{{|{{{{zz{zz{{|{{{||{{|z{z|{z{{}{{z{{{z{z{{{{{{{{{{zzz{zzzy{{{||{z{||zz{z{zy{z{{z{{{{zz|z{zz{z|{{|{{{{z{z{{{zz{z{{|{{z{zzzzzzy{y}{z{{{z{{{zzz{{|{{{{{zzz{{zzz{{z||{{}{{{z{z{{{{|{||{{z||z{z{{|{{{{{{{{z{{{{z{{|{|{{|||z{{{zzz{||{{|||{{{{{{{z{||{{|{||{|{{{{{|{||}||{||{{{{{|{}{{{|||{||||{z{{{||}|{||{{{{{|||||{{}|||}|{z||{|{{||}|||{z|||{|||}|||||||{||z|{|}z|||}|||{|{{{{|{|}|{|||{|||{{{{|{}|||||z{zz{{{|{|{||||{|z{{{{{|||{{{||{{{z{{{z{|}||{||{{{zz|{{{|{{{|||{{{{{y{{|z||{||{zz{{{{{z||{{|{|{|{zz{zz|{{|{||||{{{zzz{zz{{{{|{{yzzz{{{|zzz{{||{zz|{zzz{{{{{{|{|{zzzz{{{|{{|z||{z|{z{zz{{{{{{{||{z{zzz{zz{{{|{|{{{z{{{y{{{{{{{||{{zzzz{{{z{{|{{|{z{{{{zzz|{{{||{{{zy{yz{{{{z{|}||z{{{{{z{|{|{{z}{{{z{yzz{|{{|}{{z{{{zz{{|{}|{{||{|{{{{{{{|z||||{{{{{{zzz|{|{{{||{yz|{z{{{z{z||}{{z}{|{|z|{|||}|{{{|{z{{z||||{}}||zz{{{|z|||{{||}|{{{{{{{}{||||}|{|{{{|}{{}{{|||}}{{{{|{{{~||{}|}||}{{{{|||||||}||{{{||}|{{|||||}||{{||||||{{||}}||{{z{|{{{{||{||z{zz{y|{{{{{|}|{{{{z{{z||||||{|||zz{{{z{z|{{|{{|{{{{zz{z{||{{{||{|{{zz{{{{}{|z|z{z{z|y{{{{||{z}{{{z{zz{{|{{z{{{{{{{zz{{z{{{|{{|{{zzz{z{z{{{|{||{{z{{zzz{{||{|{{|zzz{{{{z{|{{{{{{{{{{zzy{z{{{|{|{{z{{z{zz{{{|{{||zzz{{z{z{{{{{|{z|{{z{zzzz{|{||{zz{{zzz{{{{{{{||{y|{{zzz{{||{|{{|z{{{{z|z{{{{|||||zz{{zz{{{||||{|{{{{zz{{{|{{||||{{|{{zz{|{{|{{|{{|z{{z{{{{|{{|{{{{{||{|{{|||{|||z{|{|{{{{{|||||||z{|{{{{|||||||{{{{{|{{{|||z||||{{{{{z|||||{{}|}|{{{z|{{{}|}|||}||z|{{|{{|{||}|||{{{{|{{||}||||||{|{{{{|{||{{|||{{{{{|{{||||{||{{|{|z{zz||{}{|||{{{z{z{{{|}}|z|{zzzzzz{z{|{{{{{{{{{{{zzz{{{{{{{|{z{z{z{y{zz|{{{{|z{z|zzz{{{{{{{|z{{{{z{z{y||{{{{zzz{zzzz{{z{z{|{{{{z||z{{z|{{|{{{{zy{{{{{{z{{{{|{{zz{zz{z{{z|{{{zzzzz{y{{z{||{|{z{{{zzz{{{|{{{{{zzzzzz{yz{z{z{{|{{{{{{zz{{z{{|{{zz{z{{{z{zz{{{||{{z{{zzz{{|{{{|||z{{z{{z{{{z{{{|z|z{z{{z{{{z||{|{{{{{z{{{|||||||{{{{zzz{|{|{{|{{{{{z{|{{z||{{||{z|{{{{{{{|||{|||||{{{{z{||}{{|{|z{||{z{{}|{}{||}{{{z|{{{|||{{|||}{{{|{}|{|||{}{|||||{{|{{|{||}|||{|{{{{{{|{|{|||}||{{{{{|{||||{|{{{{}{{|||{}|||||z{|zz{{{||||{||||{z{yz{{{{|{|||{z{zz||{{||{|{|{z{z{{{yyz{||{{{{{z{{zz{{zz}z{{|{zzzz{{z{{|{{{{{|{zzzy{zz{{{|{{||{{{zzzyy{{{{{{z{|z{{yz{zz{z{{{{{{{z|{{y{{{|{z{z{zz{yy{z|z{{z{|{{z{z{z{zz{{{{zz{zzzzz{{z{z{{z{{{{{z{zz{z{zz{{{|{|{zzzz{zzz{zzz{{zzzzz{{z{z{z|{||{{z{z{z{{{{{{z{||zzzz{{{{{|{|{z|}|{{{zz{z|{{|{{{|{z||{{zz{|||{{||{{z{{{z|z}{|{|{{{{{{{{|z{{|||||{|{{{{zz{||{{|{|z{{z{{{{{|||{|||{|{{z|{{|{|||{{}||{{{{{{{{||}{||{|{|{{z{{{|||{{}|{z{{{z||{||||||||{{{|z{{|||}|||{|z{{{z|||||||||||{{{{y{||||{|||||{{{{{{{{|{|{{}|{|{{{{|{{{|{{}||{z{z{{{zz|{|{{{||zz{{{{{}||||{{{z{z{z{{zz|{{{{{zz{{z{yzzz{{z{{|||zz{zzzz{{{||{|{zz{zz{yzz||{{z}|z{{zzzzz{|||{{{|{{|y{z{zz|{{{{{{{yzzyz{{{{{z{|{{zzz{{{z{{zz{z{|{zzzz{zz{{|z{z||{zzzzzz{{z{|zz{|{zzzzzz{{{|{{{{{}{y{{{zzzz{{{{|{{{zzy{zzzy{zy{|z{z{z{z{zy{{{{{{{{{z{z{zz{{{{{{{||{{{{zyz{{{{{|{{{{{z{zz{{{|{{{{||zz{zzz{{|z{|{{{|||{{{{z{z|zz{|}{|{{zz{{{{{{{|||{{{{{||z{{{|{{|||z{{|{{|{{|{}||||{{|{{z{{{{||{{{{|{{{|||{|}||{||||{{{{zz|{|{{||{|||{{{{{{{}{|||||{{{||{{||{||||{{{{z{{|{z{{|}{{||{|z|{{{{z|{{||{||{|{{zz{z{{}{||{|{{z{{zz{{{{{{{{{zzzzzzz{|{{|{{{zz|zz{zz{||{{{{|zz{{zzz{{{{{|||z{z{{{{{zz{{z{||}|{z{zz{{zz{{{{|||{{{{z{y|{z{{{{{|{z{{{{z{|z{{|||{{{z{{{zz|{{{|{|zzzz{{zz{{{zz{{{{zz|{zz{{{|{z{{{{zz{z{{{zz{{{{|{{zy{zzzz|{{{|{{|{{z{{{zzzzzz{{{{{{{z{zzz{|z{z||{{zz{{{zz{{{z{||{{{{{{{{|{{{{|{||z{zzzz{{{|{{{{||z{{|{zz{{|z{{|{|{z{z{z{{z||{|}z{{{{{|{{{{||z|{{{|{{z{{z|{{{{|||||{{|{{{|{{|}||{|{{{{|{|{{|{{|}||{{|{{{{{||||}}|}|{|{{{{z}||{|||{||{z{{{{{|}|}||||{{{z|{{||||}||||{|||||{{||}|}|}|{{{||{{|||{|}}|{|{{||{{||{||{||||{{{{z{{|{|{|||{{{{{z|{||}{{|||{|{zzz{z|{|{|{z|{{{z{z|zz{{{{{{{|{z{{{z{{|{{{||||{{{{{{{{{|{{}{|{|z{z{z{{|{{z|||||zy{{{{{|{{|{|{{zz{zz{{z||{{{|{|{{{{{{{{||{z|||zz{{z{{zz{{{{{|{zyzzzyzzy{{z{{||{z{zzz{zz{|z{{|{{z{{y{{{z{{{{|{{{zz|{yzyz||{z{{{{{{zzzzzz|z{{{{|zzz{z{zz{{{|{{{|{{{zzz{{||{{||z|z{{{{z{{{{{||{{{{z{|{zz{z|{|{{|}|z{{z{z|{||||}|z|{{z|z{{{{||||||||{{|z{{|||{|{||{z|z{{{{z|{||}{|{{{{|zz{{||}||||{||||z{{{}||||{|{z|{|{|{|||{||||{{{|{{|{|}|{|}|}{{{{||{z|||||}|||{|||{{{{{{|||{|{z|{{{{{{}}|{{||||z{|z{{{||{|||{{{{{|{{{{|{|{|||{z|{z{|z{|{{{}|{|{{{{zz{|{|||{|{z{z{{z{{|{|{{{{|{{{zzz{{{|{|{|{|zz{zz{z{{|{{}|}|{z{{z{y{{y{z{z{|{z{{zz{z{{|{{|{|{{z|{{{z{{z{{{|{{{{{{zzz{{|{z{|{{z{zzz{{z{{{z{{|zz{{zzzz{z{{{||{{z{z{z{zz{{{|{{{zz{{zz{{{{z{{{|||z{{z{zz{{{{z{{|{{zyzzyz{|{{{|{{{zzzz{zz{{z|z{{|{{yz{z{{{|{||{{|{{{|yz{z{z|{{{{{{zzyz{{z||{{z{|||{{{{{zz{|{{|{{||z{|zzzz|{|{|{|{{z{{z{{{{{{{{|||{|{|{{zz{||||{||{{|z{{{{{}{|||||{z{{{zz{|{}{||}|}z|{{{{{}|||||||{{{{||{{||}{||||}{|{|{{z}}}|||}|{|{z{y{|}{{|||}{}{{z|{{{}||||{||||{{{{{{|{|}{|}||{{{{{{|z{||||}|||{|zzz{||||||{|{{|{{zz{{|}{}||{{{zz{z{zy{{{|{{|{zz{z{|z{}{|{{{|||{y{{{|{|{{||{{{{{{{||z{|{|{{{|{{{z{{zz{{||z{|}{z{z{{z{{{{{z{|||{{z{zzz|{{{{{|{{{z{z{{{{{{{z{||zzz{zz{zz|{z{{{{{|{zz{zz{{{z{|{|{{{z{z{z|{|||{{|{z{z{{z{z{{z|||{z{z{z{{z{{{{{||{z{{z{{zy{||z|{|{{{z|{{zz{{{{||||{{{zzz{{|{{||{||{{{{z{|{{{{{|{{|{{z|{z{{{|}|}{{||{{{|{z{|{|{|}}{{{z{{{{z{|{|{||||{z{{{|z{|}|||}|z{{{{{{|||{|{||}{{{{|||{{||{|}||}|{||z{{|||||||}{{{{{}|{{||||}|||{{{{{{|||{|{|}||||{{{|{{||}{|||||||{|{{||{{{||{|{{||{|{|}|{|{|||z|z|z{{{{|}||||{{z|z{|{{{{||{||{{{z{z{z||{|{|{|zzz{{zzz{||{{{{{zz{z{y{z{|zz{}||{{|zz{{{{{{z{|{{|yyzzzz|{{|{{{{|z{zz{zzz{{{{z|{{zz{z{zz{z|{{{||{zzz{|zzz{{|z{{{{zzzyz{zz{{{z{||{zz{zzz{zz{{|{|{{zzz{yzz|zz{z{{{{{z{zzzzz{{{{{{|{{zzzzzzyz{z{z|{{zz{zzzzz{{{{|{{{{zz{{zzzzz|{|{{{{z{z{zz{{{{{z|{|zyz{zz{{{{zz||||{{{{{{{{||{||{{{{zz{{zz{{}{{{||{{y|{{zzz{}{||{}|{{{||{zz|{{{z|{{{|z{{{{{{{||{|||z{{z{{|{||{|{{||{{{|{z{z{||{||||{{{|{{|{||{{|||||{z{{{}{||{||||}}{{{zz{{{~|||||||{{{{{{{|{|||{|||z{|{{{{{{{{|}}}|{{|{{||||||||{|{{{{|{|{|{{|}}||{z{||zzz{|||{|||{z{{{zzy|{|{{{{|{z{{yz{{z{|{{|{|z{{{yzzz|{||{z{{{{{yz|zz{{z{{{{|z{{z{z{{{{{{{{||z{{zzy{y{{{{{|{|{z{{z{z{{{z{{||z{zzzzzy{{z{zz{{{{y{z{zzz{z{z|zz{zz{yyzyzz|{{z{|{{x{{yz{{{{{{z{{{|{{zzz{z{{{|{|{|zz{z{zzzzz}{{|{{{zzz{zzz{|{{{{{|yz{zzzzzzz|{{{|{{zz{|{{{{z{z{|{|{z{z{z{{|{{{{||}|{{zyz{z{|z{|||||{{z{{{z{|||||{{{{zzz{z{{||||{{z{zzz{{z|{|{{{|{||{{||{z{{|{|||||zz{{{{|{{|||||||{{{{{{{{{{{|||}|{{{{{||||||{{||||{|{z{|{|{{||||{|{|{|{|z{|{}|||}{{{||{|{||{||||z|{{{{{{z||{|||||||{{|z{{|{|}||}{{|{z|{{{|{|{{{{{{{{{z{{z{}||{{{{{{{z{z{z{||{|{z{zyyzz{z{{{{{{||{zzyzzzz{{|{{{{||{z||zzzz{{z{|{|{|z{{z{zz{{|{{{z|{{|yz{{z{{{|{|{{zz{{{z{z{|zz{|{{|{z{z|zzz{|{{{{{{zzzz{zz{{z{{{{|z{zzzz{{{zz{{z{{{{zzz{{{zzzz{{{zz{{zzzz{{{{{{{|{zy{z{zz{zzz|{{{{zz{zz{{zz{{{||{{zz{z{|{z{{{{|{{|{{zzzz{{{{{{{{{|{z{{|{{z{{{|{|{|{z{z{zz{|{}{{{{|{z{{zz{z{|||||{{{{zz{|{z{|{{|||||z{{z{{{{|{{{||{|||{{{|{||||{|{}{||z{{{z||{|{||{{z|{{z{z||{{|||}|zz{{{{{||{{||||{{{z{{|{}||||||||{{{{{{{|||}|||{||{z{|zz|{{||||}}z|{{{z|{{|{||}|}z{{{{||||{}{{||{{zz|z{{|{|||||{{|{}z{y{{|{|{{}{zz{{{z{z{|{|{{{{z{|y{zz{yz||{{||{z{zzyz{{{|{|z{{|z{zzz{zz{{{{{{{|yz{{zzz|{{|zz|{{{zzzz{y{|{{z|{{{zzzzz{zz{{{z||{zzzy{zzz|{{{{{{yz{zzyzz{{{zzzz||z{zzzyzz{{{z{{{|{zz{z{y{z{{z{{{zz{{zyzz{{z{{{{{|zzyzzz{zz{zz{{{zz{zzzzzy{{z{{{{{yy{z{{zzzz{z{{{{{z{{{{{z{{{{{||{{{{zzz{{{{|z{{||zzzz|{{z{{{{{|{|zz{|z{zz{{{{|{{{zz{zz{zyz|{{{{|zz{z{zz{{|{|{|z{z{{{z{{zz{{{{{|||z{{{{{|{||{|{||{{{{{{{{{||{{{|}{|zz||{{z|||{|{}|{z{{{{{z{|{|{||||{{z{{{{{{||{|}}{{{z{z{{{|}|||}||{{{{|{|||{{{||}{{|{{|{{|||||}||z{zz{{zz{{{|{|{|{z{{z{z|{}z|{||{{zzz{z{z|{|{{{{{{zzz{y{zz{{{|{{|z||{zz{{{{||||||z{{{{{zz|{{z{{{{{{zzz{zz{{{{{{{|{z{{zyzz|{{{zz{||z{zzy{{z{{{{z{{zzz{zz{yz{|{{{{zz{{zzzzz{{z{zz{|z{{zzz{{{z{|z|{{{{zzzyyzz{{{{{{{zz{zzzyyz||{{{|zzyyyzzzz{{zy{z{|{{zy{z{zz{z{{{{z{zz{z{{zz{z{{{{{|{{{zz{z{|{z{z{{{z{{zz{{{y{|{{||z{{{|{{{zz|{{{|{zz{{{y{{{|{{{z{|{{{{{{{z{||{{{{|{{z{{{z{{y{{z}{{{{{{{{{|{||{{|||{{z{{{zz|{{|{{|}{{{{{{{|||||{{}{{{{zz{|{|||||{}|{{{{{|{{||{|{||||{||{{|{{|}|}||{|{|{{{zz}{|}||{|{{{{|{{z|{|||}||{|{{||z|{z||{||}zz{{zz{{|{|}|||{{|{{z{{{z|{|{{||{z|zzzz{|{||{{|z{zzy{zzzz{|zz{{{{zzzzz{z{|{z{|||{{zz{z{{{{{{{||{zzy{zzz{{{zzz{{|{{zzz{zz|{|{{{{|{z{z{{{z{|{{{{{|{zzzzzz{{{{{{{{|{z{yz{{zyz{{{z{{zzyzzzzz{{{z{|||{{zz{zzz{z|{}z{{{{z{zzzzz{{zz{||z{{zz{zz|{{{z{{|{{{z{zzzz{zz{{{zzz{z{z{{z|{|{||{{{z{{zz{{{z{z{||{|zz{z{{{z{|{||{z{{{z{zzzz{{{|{{{{{{{{{z{{{{{{{{z{{zz{{z|||{z{|{zzz{{zy{{{{{{||{{{{z{{{{{{||{|||z|{{zz{{|||{|||{{|{|{{{{{{|||||z|{{{{{z{{|{||}|{z{{{{|{{{|{{|{}||{{{{{{{{|||{|||{{{{|{{{{{|||||||{zz|{{{{||||||{||z{{|{|{{|}||||{{{z{|{{{|{{||}|{{z|{zz{||{|{{|||z{z{z{{|{{|{{{{{z{y{{z{zz|{{|{|{{z{y{zz{{|{{||||{zz{z{{{z{|{{}{{{z{yzzzz|{{z{{|{|z{zzzz{{{|{{{{zzzzzz{z{|{{{{|{{{{zzz{{z{{z{{{z{zzzzyzz{{{|{z{{z{zzzz{y{{{{{{|{yzzzzzzz{{|{{|{{{zzzz{zz{{{{{||{zz{{zz|zz{z{||{{{{zyz{zzzzz|{{z{zz{z{{{z{|{|{{}|{{{z{zz{z{{|{{{{{{z{z{{zz{{{{{||{{{z{zz{||z||}|{|z{zzzzz{||||{{{{zyyz{{{{|||{{}{{zz{z{z{|}{|||{|{{yzz|{{|{{|||{{{|{|{{{{{|||{|}||{{{|{{{|{|{}|{|{{{{|{{{|||||{|||{{|z{|{{|{{|}|||{{{z{|{{}||}||||{||{z||||{|{|||||{{{{z{{|{||}||}{|{|z{|{|{}|{||{{zz{{z{{||||{||{{{{{{{z{||||||{z{{{{z{{{|}|{{z{{{{z{zz{{||||z||zzzz{{z{{{|{|{||{z{y{{z{{{{{||||{{{zz{z{z{{z{z|{{{{zz{zzz{{{{{|{{zzz{|{zz{{{z|{{|z|z{{{z{{{{{{{{|{|z{{{{z|z{z{{{zz{z{zzz{{{|{z{{zzzzzzzz{{{{{{{{{z{{z{z{{{{{|||{{z{zyzz{z{z{{|}{{zzzzz{{||z{{|{{zzz{z|z{{|z{|{{|{{{zzy{{||zz|{||z{{|{z{{{{|{||{|zz{|yzzzzz{{{{{||{{|zz{{z||{||{||z|{z{zz{|||{||{z{z{{z{{||{||||{{|z{{{z||{}|||{{|{{z{|z{||{}{{|||{{{{|{||||||||{|{{{||{|||||{||{{|{z{||{{{{||}}||{{z{{{z{}||{||||{{{{|{{{|}||}|||{{{{{{{{}|{{{{||{{|{{{z||||{|||{|z{{{{|{{{{{{}||{{zz{{{{||}{{{|{|{z{zz{{{||{{|{z{zzzzzz{{|{{|||zzzz{zzz{{{z{{{|{{{z{{{z|{zz{{|{zzz{z{zz{|{{{{{{|zzy{zz{{{{z{{|{zz{zzz{z{|{{z{|{{{{{{zzz{z}|z{{{z{zzz{{z{{zzz||{{zzzzzz{{z{z{{z{zzz{yzy{z{{z||z{{zzzzyzz{{|{{{||{z{{zz{zz{{{z{z{{{{z{z|zz|{{{|}|z{z{{zz{yz{z{{{||zzz|z{{{||||{{}{zz{|{{z|{{{{|{|{{z{{z|{{||||z||{{|zzy{|{|{{{|{{{zz{{{{{{{|||||z{z{zzz{{|||{{|}{|{{zz{z|{|{||}{|zz{{{|||}}|||||{{{|{|{{|{||{{{||{z{{{{|{{|||||}|{{|{z|{z{{|{||}{{{{{{{{z{}|zz{||}{{||{{{|||||}|{{{{z{z{{{|{|z{||{{{{{|{||{{|{|}|{{{{z{{{{{||{||{{{{{z{{{|||{|{|{z{{z{z{{{{|{{{{{{z{{{zzz{{{{{{z|zz{{zz{z{|{zz|{{zz{z{zzz{{|z|||{{zyzzzz{{{{|{{||zzzzz{{zz|{{{{z{{zzzz{zy{{{{{{|z|{zz{yzz{z{{{{{|{{|{yzz{{zzzz|{{zzzzz{zy{z|z{{|{yzzzzzz{{{{{{||{zzz{z{zzzzz||{zz{{zzzzzzz{z{z{zzzz{z{z{z{{{{|{{|zzzzz{zz{zz|{z{{{z{z{{{{{{|{{{{{{zzz|z{z{{{zz{|{{z{{z{z{{{{{{}{{|{z{{z{{{{{{{|z|{{{z{|zz{{{{||||{|{{yy{|{{||{{{z{{|{{{z{{{|||||{{|{z{{{{{}||||}{{{{{{z{z||}{{{|||z|{|{{||{|||||}||{{{||{|{{||}||{{{{{z{{z{{|{|}|}{z{z{{{|||}||{{|zyz{{{||}|{||}|}{{|{{{|||{||{{|{{{z{{{z{{|{{|||||{{{{{z{|{z{|{{z{{z{z{{{{{z{|z||z{{z{{z{{|{{{|{{{zyzy{{z{{{{{|{|{{{zzyz{{{{{|{|{{z{{{{{|{{{{||{|z{y{z{z|{{|{{|{z{zy{z{z{}{{{z{{{z{{{y{{{z{|z{z{{{zzzz{{|{{{{|z{z{zzy{zzzz{{|{{{{zzzz{z{||z{||{{zzzzy{zzz|{{{{{{z{{zzz{zz{z{{{{{{{z{{{{z{{{{{|{{zz{{{{{y{|{z{{|{{{zz|{{{{{{|{{{{{{z{z{{{{{{||{|{z{zz{{|{{{{{{{||{{{{zz{z|||||||{{zz{{{{{{||{{{|{||z{{{zz||{{{|{{|{{{|{{{{||{||{|{{{{|{|{|||}{||}|{|{{zz{||||{{|{{{{|{{|z||{||}|{|{|{{{|{z|||||||}}{|z|{{{|||||}||{{|{||{|||||{|}}zz{|{{z||z|||}|z{{{|{{z{|||{|{|||{{{|{{{|{|{{{{|{{z|{z{{{|{{|{|{{{{{y{{{{{{{{z{{{{zyzzzz{zz{{{z{zz{zzzz{{{{{{{{{yzzz{{{z{{z|||{{{{z{z{z{{|{{z{{{{{zxz{z{{|{z|{{{{{z{zyyz{|{{z|{|{z{zzz{{z{{{{{{{{z{{yy{z{{{{{{z{zzz{y{z{{z{z{z{z{z{yz{yzz{{z|{{zz{zzzzz{{zz{{{{|{zz{yzyz{zzzz{|{zzzzzyz{{{z|{{{|{zz{yzz{{{z{{{{{z{z{zzzz|{{{{z||{{z{z{z{z{{{{}|zzzzz{{zz{{z|{{{|{{{{z{{{{|{|{{|z{{zzzz{{|{|{|}{{z{{z{z{{{{{|{{{{{{{{{z{{|||||||{{z{{{||{|{|{{}|{{{{{{zz|||{}{|z|{||{{|{||{|{||{|{z|{{{{{{{||||{{z{{z{z{{|{|{{|||{{|zzz{{}|{{{|||{z{|z{{{|{{{|{{{|z{{{{z{{{|{{{|{{{z{{z{{{{||{|{|{{{|z{{z}{{{||{zz{z{{{{{{{{||{{zzzzzzzz{{{{{{{zzz{zzzzz|z{{|z||{zzyyzyy{{z{}{{{{{{zzz{zz|{{{{{zzzzzz{zzz{{|z{{{z{{zzzzzz{{{z{|{{zz{zzzz{{{z{{{{{{{zz{zz{{{{{{{{zz{zzyzz{{z{{{{{zzyyzzy{z|{z|{{{{zyzzz{{z|{|{{z|{{zzzyzyzz{{{{{z{{zzzzzzzz|{{|{z{z{{z{{yz|z{z{{|{zzz{yzz{{{{{{||{{z{zyzz{{{|z{|{{{{zz{{z{{|z{{|{{|{z{z|zz{{{|||{|{{z{{z{{||{|{|{{{z{z{z{{{{{|{z|{{{z{{z{{||}{|||z|{{{z{||{{|{|}{{zz{{y|{{{|||||||{z{{{zz|}{{|||}{|{{{|{{|{|{||||{{z{{{{{||||{{|}{{||{|{{|{|{|||||z{{{{|{{|{|||||{{z{{{z{{{||||||{{z{zzz{{{{{|||{{{z|z{{z||{{{|{|z{{{z{zz{{{|z{{|{z{z{zzzz{{{z{{{{zz{zzyzzzz{{|{{{{zzz{zz{{|{{{|z|{z{{zzz{{{{{{{{{{{{yzzyz{{z{z|{yyz{{z{zzzz{{{{z{{zzz{z{|z{yzzz{{z{zyzyz{z{{{{{z{zyzzyzzz{zz{z{{z{zzy{zzzz{{{z{{zz{{y{zzz{z{{{|{zzz{zzzzz{z|z{zzz{{zzzzzz{{{z|{|yzzz{{{zz{{{{{{{{zzz{z{z{{{z{{||zz{{{{{{{{{|z|{{{z{z{{zzz{{{z|{z{{{{zz|{{{|{{|||{{{zz{zz{{{||}||{{{z{zz|{|{{{||{{z{z{{{zz{|{{{{}{|{{|{zz|{|||{|}|{{{{z{{|{|{{||||z{{{zyz{{||{|~{{z|{{{|{|||{{{|||{{{{|{{{||{{||||||{{zz{}{{||||{|z{{{{{{{{{|{{|}|{{{|{zz{{{{||||zz{{z{{y{{{|||{{z|zz{|{{||{|zz{{{z{z{zzy{{{z|{{{zzzz{zz{z|{z{{{{z{zy{zz{{z|{{|{|{zzy{z{{|{|{{|||{{|{zzz{{z{{{{{{zz{z{zzz{zz{{|{|y{{zzzzzz|{{z|{{{{z{zzzz{{{zy|{zzzzy{{z{z{zzz{zzz{zy{{{{{{{{{{{{{z{zzz{z{{{{z{{{{z{{zz{z{|{{{|{{{|z{{zz{z{{{{z{{z{zz{zz{zzz{{{{}{zzzzzzz{{z||{{{{zzzzz{{z{|{z{}{zz{z{zz{{{{{{{{{{{{{z{zz{{|{{|||{zz{{z{z{{|{||}{{{{{z{zz{{|{{z||zzz|z{{{|{|{{|||{{zz{z{{{{{||||{{||{|{{{{|{|{|}{|{z||z{{{{|||{|||{{z{{|z|}|{{}}|{|z{{|{{z|{||{|||z{z|{||{{|{|||||{{{{||{{|||{}}||{{{z{zz|{|||{{}{{z{{{zz{|{|{{{{{{{z{zzz{{|{{{{{{|{{{{{{{||{{{{|{{{z{{zz|||{{|{|z{{z{{zzz{|||{{|z{z{z{{{{{{{}|{}{{{zz{zy{{zy{{{zzy{z{{{z}{{{z{|{{{zzzzzz{{z{|{||{{{{z{{z{z{zzz|{z{zz{{zz{{{{{{{{z{z{{z{{{{z|{y{{zzzz{z{zzz|{{|{z{{zzz{zzz{|{|{{{{{{{z{zz{{z|{|{|{zzzzzzz{z{{{{||{{{z{yz{z|{{{|{{zzzzzzzz{z{|{z{||z{{z{{z|{||{||||{{{{z{z{{|{zz||y|{{z|zz{{|{|{|||{|{|zzz{{}{|||||z{{{{z{|{{{{}|{|{{{zz{|{|{{|||z{{{{|{{{||{{{{}{{|{|z{||{|{}|{{|{{{|{{|{|{|{|{}|{z{{{{{{}|{|||||{||{||||}}|}}|}||z}|{|{{{||||{|||{|{|{{{||||{|{}|z|{||||||{|{|}|{{|{||{{}{|}{{|}{{|z{z{|{|{|{|||||{{{{|z{||{{|{|{z|z{{|z{||{{|{{{{zz{{{zz{{{{{{{z{{z{yz{{{|{|||{{{zzy{{{{{{{{{{{y|{zzzz{{|{|z{{{{{zy{y{zz{{{{|{|zzzzzz{z{{z{z{||{{{{zzz{{{{z|{{{|{{{z{zzzz{|{{{{|{{{z{{y{{{|z{|{{z{{zzy{z{{{{{{|{{z{zzzzzz{{zz{{z{z{zyz{{{{z{z{{{z{zzzzzz{z|{|{|{z{{zzz{|{{{|{{{{z{{z{{{{||z{{}}{{|zzzzz{||||{|{z{{{z{|y{{|{{{|{{{{{}{zz{|{{{|{{{{{z{{zz{|||{{||{zz|z{{{|{|{|{{||{{{|{{{z{|}||}{{z{{|{{{{{{|{|||z{{{{zz{z||||||{}z{{{{{{|}{||||}{{|{{|||||{}{}|||||{{{{{||||||||{{{|z{{|||||{}||{|{{{|z{||||{||}|{{{{{{|{|{|||}||{{{{{{z{|{||||}{z{{{{{{{{{|{||{{{|{{{{z||{{{{{{{|{z{{{{{|{{{{{}zz{zzz{{{{{{{|{{{z{zz{z{{{z||{||{{|z{z{{{{{{{z|{|{zzzzzz{{{{{|{||{{{z{zz{||{{||{{|z{{{{z|{{{z|{{{{zzz{z{|{{{{||{{{{{{zz{{{{{{{{{{z{zzz{{{z|{|{|z{zz{zzzz{{{{z{||zzzz{yzz{{{z{{{{{{zzz{{{z|z{|z{{zz{z{z|z{{{{{{||{{{z{y{z{|{|{||{{|{{{z{zz{{{{|||zz{zzz{{{{|{||{|{z{{{z{z}|}{{||{||{yzz{z|{|||||{|{{z|{zz{||{|{{{{{|{||{{|{|||{||{|{{{{{{||||{{|||{{z||{{||{|{{|||z{|{|{z|{|||||}{|||{|||{|{|||}||{|{zz{{||||||}||{||{{{{|{|}|}{||{{z{|{|{|}|{||||{{|{|{{||||||{|{{{{{{{{{{|{|{}|{{z{z||z{|}|{{{{{{{{{yz{|{{{|{{|zz{zzzzy{|{{{{|{|{zz|{zz{{|{|z||zzzy{{z{{{z||{|{{{|zzzz{{||{y{{{z{zzz{zy{{z{{{{{{z{z{zzzzzz{z{z{{{zzzzzzz{{z{|{z{zzyz{zyz{yz{}{zzzz{zyzz{z{z{z|{{{{{{zyz|{{|z{{z{{{zzzzzz||{z{{{zzzzzz{zzz{{{z{{|yzz{zzzz{{z{|{{z{zzz{z{{z{zz{{{{{{{|z{z{||{{{||{{|z{{{{{{{{{|{{{|{z{{{{{{{|{{{|{{{{|zyz{|{||{|||zz{zzz{{|||{||{{zz{z{z{|||{||{{{{{{z{zz{}}|||{{{{{{}||{|||}{|||{|{{z|z{{|{|||{||{{{z{z{||||{}|}{|{{z||{{{||{}{|}{{{|{|{{|{||||||{{||{{||{{|||||}{{{{{{{{|{{|{}||{{|{z|||{|{|{}}|{|{{zz{{|z{{|||{{{{{{{|{|{|{{|{|{|z{zzy|z|{{|{|{zzz{yzz{{|||{{|{z{{z{zyzz{{{{||z{zzzz{z{{{|||{||z|{z{{{{z{|{{{{{{zz{yzz||z|{{{|zy{zzz{zy{{{{{{{{zzzzz{z{z{|z|{{z|zzzzzz{{zz{z{{zzzzz{zz{z{{z{{z{{{{zzz{{{{y{{{{zz{z{{z{z{{{{{|{zzzz{z{zzzzz{{{|z{zzzzzzzz{{{||{{z{{zzz{{|{{z{}{z{zzz{z{|{{||{}|zz{{z{{{z{{{||{{{zzy{zzzz{||{{|{z{{z{zz|z{{{|{|{{z{|{z{{{{|{|{|{{{z{{z{{{{{{||{|{{z{{z{|{|{{{||z{{{z{|{|{{{|}{||{|{|{y{z{|||{|}|{{{{z{{{|||||{|{{{|z{{{{{|}||||||{{{z{{{|||{||}}|{{{zz{|{|}|{||{|{{{{z{{{|{|||}|{{{{|{{||||{||{|{{zz{{z{|z|{||||z{zz{{z{{|{{{{{{z{{{{{{zz|z{|{{{zzzy{zz{z{z{{{|{{zyzz{{y{{{z{|{{{z{zyz{z{{z|{z||{zz{zzzzz{{{z{{{{{{zyzzzz||z{{{{z{{z{{zz{{{{{{{{zz{{zzzz{{|{z{{{zz{z{zzzz{{{{zz{z{{yyzzz||{{z||{{zz{zzzzzz{z{{{{zz{{zzzzz{z{z||{{zzz{z{zzzz{{|{zzzzyzz{zz{{z{}{{{zzy{{{z|{|{{{|zz{{z{z{{{{{{{|z|{z{{{z{z{|{z{}{{{z|zzzzz|{{|{{}{{{{{zz||z{||{||{z{zz{{z{{|{{{{|{{zz{z{{{|{z{{|||{{{{{{{|{{|||||{{{{z|||{{{z||{||{{{zzzzz|}{{{{|{{zz||{{{{|||{{||{|{{{z|z{}{|||{|{{{z{|{|{}|||||||{|{{{{{{|{||||{|{{{{|{{|||{|{|||{{{{z|{{||{|{{{|{{{z{{{{|{}|{|{|{{{|{{{{|||{||{|{{zzz{z{{{{{|z{z|{z{zzz{|{{{{|{z{zz{z{z{{{{z|{||{{zz{zz|{{z{{{|{{{z{zzz{{{{{||{{{{zzzzz{{{{{{|{z{z|zzz{{zz{|{{{zz{zzzz{{z|{z{||z{zz{{y{{z{{{{{|z{zz{zzzz{{{|{{{{zzzy{zzy{||{z|{{{zzz{zz{{{{{{{zzyzyzz{zzzzz{{{{|z{z{{z{{z{{z{{{{y{z{{|zzz{{{{||{{{|{z{z{{|{{|||{{{{{|{z{{||||||{z{{z{{|z{{z{{|{zz{{{{{{z|||||{{zz{{zzzz{{z{{{|{{z{{{{{{{|{{{|z|}|{{z{|z|{||||||{{{{{z|{|||{{||||{z{|z{|{|||{||||{z||z{{||||{|}|{{{|||{{{|{|}|||{{z{{{{{{}{|||}}|{{z|z{z|||{}{|||{{{|{z{{{{{|}||||{{|{z|{|{|||}|||{z{{zz{|{||||||{z{{{{z|{{|||{|{{{z{{z{{|{|{|{{{zz{zzzz{{{{zz{{{z{z{z{zz{{{{{|{{y{{zzz{{z{z{{{{|zz{{yzzz|{{z{|{{zzz{z{y|zz{z|||{z{zzz{zz{{z{{{{{zzzzz{z{{{yz{|{z{{zzzzzz{{zz{{z{zzy{yzzz{|zz{{z{zyzz{z{|{{{{{z{{z{zz{{z{{z{z{|zzz{zzz{zzzzz{{{{z{yzyzzyz{{{{{{|z{{{{zzzzzz{{|||{{zz{zzz{{{z{{{|{z{{zzzz{{zz{|{{|{{{{{{{||{|{{{|{{{{{{z{{{{{|{{{zz{{z{{{{{}|{z|{z|z{{{{{||{{{{{{{{{{{{z{{{{{{||}z|z{z{{{||{||||{{{z{{zzz|{|||{||{{{|{{{y||}{{||{{{{{{||{{{|||{{|{{{z{{{{{{||{{|||{{{{{{{{|{||||{|{{{{z|{{{|{{||{{{z{{{z{||{||||{{z{{{z{{z{{||}{{{{zzzzz{z{{|{{|{{{{zzzz{{z|{{{{{{{zzzzzz{{||{z{zzz{z{z{zz{{|{|z{{z{zzzzz{{z{{|{{{z{{{z{zz{|{{{|{z{{{zzzz{z{{{{{{{z|zz{{zz{{{{|z{zy{zyzzzy{{{{{z{{zzzz{zz{{z{z{{{z{zzyzyz{z{{{{{{zzzzzzyzzz{{{{{{zy{yyzzzzzz{{{}{{z{zzzzzz{{y||{{z{zzzzzzz{zzz{|{{y{zz{z{z{|{{{|{{{z{|{{z{{{{{z|z{y{y{z{y|z{|{z{|zzz{zyz{|||{{{||{{zz{{{zz|{||{{||z{z|zz{z{|{|||{{{z{{{zzz||z|{||{zzy{{z|{{||{|{|{z{z{{{z{||{||{|{z{|zzzz{|{|{{|{|zz{z{{{{}{|||||{{|z{{|{{|{||}{{|z{{{{{{{|{|||||{{{|{{{{{{|}|{|||{{{{{{{{|{{|{{|{{{{{z|{|||{}{||{|{{zzz{{{|{{{{{}{{|zzz{||{{{{|{{{z{|{z{z{|{{{||z{{{z{{z|{|{z{{{zzzz{{zz|{{{{|{|{{zzz{zz{{{{|{||zz{z{z{{{{{z{{{{{{{zzzzy{{{{z{{{{{|y{zz{{||{|{{zzzzzz{zz{{z{z{{{{{zzzzzzz{zzz{|{{{z|zzzz{{{y{{{{{zzzyzzz{zz{{{{{z{{{zzzzz{{z|z|{{zzzzzz{z{{z{{{zz|zz{zyzzzzz{{{{zz{zz{zyz{z|{||{{{{zz{{z{{{||z}|{z|{{z{{||z{{{||{|{zzzzz{{|||{||zz{z{{{zz|||{|||{{{z}{z{{|{|{|}|{{{|z{|z||||||{|{z||z{{{{|||{|||z{|{{{{z{{{{}|{|{z{z{{z{|{||{||||z{zz{{{|{|{{||||{{{|{{{{|{||||||{{{{{{{z}|{{}|||{{{{{{{{{||{{|{{{z{|{z{{|{{||}|{{z{|{||{|{{|}{|{{{{{{{{{{||}}{{{|{||{{z{{{|{||{{z{z|{{zzz{|{{z{z{{zz{z{z{|{{{|{zzz{z{z|{z|{{{{{{zz{zzz{{{z{{|{|{zz{{zz{y{||zz{{{zyzzzzz{{|{z{{{z{|yzz{z{{{{{{{{{zz{z{{z{{{{{||{zz{yyzzzzzz{z{{zzzzz{{zzz|{{{{{{{z{zy{zz{|{{{{{{zzzzzzzz{{z{zy{{{zzzzzzzz{{z{{{{{zz{z{zzzzz|z{{{{{zzzzyzz|{{{{|{{{{zz{|z{|{{||z{{z{z{zz{|{{{{{{{z{zz{zz{{{{{||{||{{z{z{z{{{z{|{{zzzzzzzz{{|{|||{{{{{zz{{{{||{{{|{z{{{zz{|||{{|||{|{zz{{{{|{{{{}||{{{z{|{|||||||z|{{{{z{{{||{|{|{||{{{|||||{||}|}|z||{|z|z}|{|||{{{{z{{{{{|||{|||{z{{{{{{|{||{||}|{{|{{{{{||{||||{z{{{{{{z|{{||||{|{zz{zz||{|{{|{zzzz{{|z{{{{||{{{z{{{z{{z||{{|{{{{z{{zy{{|{{|{{{{{{{y{{{{{{{{||{{{zz|{{{{|{||{|z{zz{z{{z{{{{{{||{z{z{{zz{{{{{|z{zzzz{{z{||{z{{z{z{{{zzz{{{{{{z{{z{z{{{{{zzz{{{{z{{z{z{zzz{{{{|z{|z{zz{zz{|{{{{|{{zzz{yzyz{z{{{||{{{{{{z{z{{{{|{{{{{zz{{y|{{{|{||{{{z{z{{{|{{|z{{{{zz{{{z{{{{z|||z{{{z{{{{{|{{{||{z{z{zzz{||{{||||z|{z{{z|||{{||{{{{{z{z{{|{||{}}|{z{||{{{{|{{||}{}{{{{{{||||||}|{{{{{z{{|{||{||{|zz{{{|{|||{|{||{{|{{||{{||{|}|||{{{{{{z|}|||}|||{{{{y{||}}|{|}}|{z|{{{|||||||||{{{{}z{{{||{||{||{|{||{{{|||||~||{{|z{{{{{}{|{||{{{{z{{z{{||{z{|{|{{{zzz{|{|{{|{{{zz{z{{{{{{{{|{{zz{z{{{|{z{{{||zz{{z{yz{{{{{|||{{{zz{zz{{}{{{{{zzzzz{z{z{|{{{{{{z{yzz{{|z{z{{{{{{{zzz{z|{z{{{{|{zyzzz{z{{{z{||zzz{zzzyz{|{{{z{{{zzzzzyzz{z||{z||z{z{zzzz{{yz{{|zz{z{zzy{{{{{{|zz{z{{{zz|{|{{{{{{{zz{{z{{z}{||}|{{{z{{{{{{|{{}{{zz|zz{z{{{|||{|||{|{{{z{z|{||{|}|{{zz{|z{|||{{|{{{{{z{{{{|||{{{|{z{z{|z{||{||||||{{{{z{{{{{|||||{{||{z{{||||||{}|{{z|{{|||||{{|}z{|{{{{|{|{|{}||{{|||{{{{|{||||}{{z|{{z{|{||||{|||{{{{|||{|}{||{|{{{{{{|{|||{{||{|{{{z{z{{{|}{||{{z|{{{z|{{{|{|{|{z{{zz{{{||z|{z{z{z{zzz{{{{zz{{{zzzz{{zz{z{z{|{{zz{zyz{{{z{|{||zz{{{zz{{{{{{{{|{{zzz{zz|{{|{{{{{zzzzzzzzz{{y||z{{{{yzzz|{{z{{{z{{zzzzz{|{|z{|{}zzzzzyzyz{{z{z{{zzzzz{z{y{{{{z{{zzzzzzzzy{{|{z{{{zzz{zzzzzzzz{{|z{zzzzzzzz{z{{|{{zz{z{zz|{{z{{|{zzzzzy{{z|{{{{{{{z{{zz{{{{|{{|||zzzz{{zz|{{{|{|{z{z{zyy{{{{{{{{||zz{{{{{{||{{||z{z{zzz{z{||{{|{|{z{{{zz{{{||{{{zz{|{{{z{|{{|{|||{{|{{{{z|{{{{|{}{z|zz|{{|||{{}||{zz{{{{{|{||||||||z{{z{z|}|||}||{{z|{zz{}}||{|{|{{z{z{{{{{|{{||}|{|{|{{{{|||||{|z{{{{{{z{||{{|||{{z{z{{{{|{|{{|z{z{yzzzzzz{{|{{{{zz{zzzzz{z{{|z|{zz|z{{z||{{{|{||{z{zz{z{{{z|{|{{{z{{zzzz{{{z{|{{zzz{zzzz{{{{|{{zz{zzz{|z{{{y{{{{{{zzzzzz{{z{zz{zzz{z{zz{{z{{{{zz{zzz{z{z{|{z{{{{z{{yzzzz{{z|{{|{z{yzyzzz{{{{{|{zz{{{zyy{{{z{{{{{{zzzzzzzz{z{{|zz{{z{{zzz{|{{zz|{z{{zz{||{{{{{|{{{{{zz{{{{{z{z||{zz{{zz{{{{{||||zz{{|zz{z{{||{{|{{{{{zz{|}|||z|{{{|{zzz|{|{{||{|{{|{{z{z{{{|{{{{{{|{|z{{{{{|{{}{|{{|{zz{|{{{}||{|z|{|z{z{}{||||||{{{z{|{|||{|{|{|z{{{{|{||||{{|}{{{|{z|{||||||{||z{zzzyz||{|{{|{|{{{|{{{|{|{||||{{{z{}zz{||||||||{{{{z{{{{{||{||{{zz{{{z{{{z|||{zz{zz{{{{|{{{{z{{z{zzzzz{{{{{{|{zz{z{z|{{{{{{||z{{{z{zzz{{|}{|||zy{z{{{z{z{{z{{{{{{z{zyzz{z{z{{{{z{{zz{{z{{z{{z{{z{zzzzz{{z{{{|{z{zzzz{y{{|{z{{{{{zyzzyzz{|{{{|{zzzzzz{{z{{{{{z|{zzz{{{zzzz{{||{{{z{zz{zz{{z{{{{{{z{{{zy{{{{|{|{z{{zzzz{{|{||{|{{z{z{yz|{{{{z|z|{z{{z{zz{{{|{||{{{{|{z{z{|{|{|{|{{{{z{{{z|{{{{{{{{{z|zzz||{{{|{|{{z|{{{{{{{|{{|{z{|||{{{|{||||||{z{z{{zz{}{||{||{z|{zz{{||||||||{{{{{|{|{||{|||||{z{{{{{|||{||}||{|{{{|{|{{|||{{{z{{{||{{|{||}}|||{z{{{z{|{|||}}{|{{{{{{||||z{{{{{{zz{{{{||{||{{|{{zzz{y{|{|{{zzzyzzzzz{y{z|{zz{{{z{z{y{{zz{{{z|{{zzz|{z{z{zz{{{{{zy{yzz{{{{z{{{{z{yz{zzz{{{{{z|z{{z{{{zz{z{{{{z{zzzzz{zzz{z{{{zzzzzyzzz{{z{{z{{z{zzz{zz{{zz|{{{zz{zzzzzz{{z{{z{|z{zzzzz{|z{{{||{zzzzz{z{{zzz{{||zyzzzzzzz{z{{{{{zz{z{{z{{{{z{|z{z{z{z{z|{|z{z{{{{{zzz{z{{||{{{{{{{{zz{{{{{{|||{{{{{z{{z{{||{|{{zzz{zzz{|{{{{{{|{|zz{{{z{|{{{||{{{{z{{{{||||{{{{z{{{|{{{{|{|||||{{z{{{z|{|||||{{|z{|{{{{}}|{||}|{{{z{{|{{{|{}|}|{z{z{|{{z||{|}||{z{zz{|z|{||{||||{{{{z{{{{|{|{||z{{z{z{{|z{|||||{|{{{zy{{{{{|||||zz{z{|{{{|z||{{{z|{y{{{zz{{|{|{{zzzzyzyz{{z{|z{{{z{{yz{z{{{{z|||zz{zz{zz{{{{{|{{z{zzzzz{}{{{z{{{{zzyyy{|{{{z{{{z{{zz|zzz{{{{{|{{{zz{zzzz{z{z|{{zzz{z{zzz{{|z{{{zz{yzzzzz{|z{{{z{{zzzzyz{zz{{z{{{{{zz{{y|z{z{z{{{zzzzz{y{zzz|{{{{{zz{zz{z{{zz|{{zz{zzzzzz{z{{|||zzzz|zzz{||{{{{{{{{zzz{z{||{z||{{{{zz{zy|z||z{{{zz{{{zzzz{{{z{||z{{{{{zzz{{z{{{{|z{{zzzz{{{{z{{{{y{|{{{{|{{||{||z{zz{{{||{|||{||{{{|z{{z{z|||{{||{{{{{{||{||||||{{||{|{{|{|||{||{{z{{|{{{|{|{||||{{{{z{{|||||}|||{|{|{z{|{{{{|{||z{z{{z|{{{|{{|}z{z{{z{z{{{{|{{|{{z{{{|z{{z{{||z|{{{|{{{{{{||{{{zzzzzz{y{{|{{|{{zz{zzzz{zzz{{{{{z{{yzyzz|{{{{||z{zzzzzz{{z{|{z{zzzzzzyzz{{zz{{{{zz{zzyzyz|{{y{{{{yzzzzyzz{{zzzz{zyzz{yzzz|{zz{{{zzzzzyyz{{{zz{z{yzzzz{zzz|{{{{{{{zzzzzzzzz{zz|{zzzy{zzzzzz{{zzz{zzzzzz{zy{z{{|||zzz{zzzzz{{{{{{{z{{zzzzz{{z{{{{{{z{zy{{z{{z{{{{|{zzzzzzz{{{{{{|{{{{{{{{{z{{|{{z{{{z{zz{z{}|{z{|{zzzz{{zz||{z{|{|{z{z{zz{{|z|{|{|zz{{|z{z|{{|{{||{zz{z{yz|{{||{{{{{{z{{z{{{{{||{{{{{z|{{{{{{{|||{{{||z{z|z||{||{{|||{{{z{{{|||||{{zz{zzz{|}||z{}|{{{z{{z{{|{|{{||{{z{{{{{{{{{{{|{zzz{zz{{{{{z{{{{{zzzzzzzz{z|z{z|{zzz{{zzz{{|{{{{|{z{{z{z{{z|{|z{zzzzzzzz{{{z{{|{z{{z{{zzz{{{{{|{zzzzzzzzzz{{{|{{{{|zzzzz{{|zz|{{|zzzzz{z{{zzz{{{{zzyzzzzz{z|{{z{z{zz{zzz{{zz{{|zzz{z{{z{z{{|{{z{{{{{yzzzz|{{{{z|{zzzzzzzz{z{{{{{{z{zzz|zz|yzz|{{{{{zz{zzz{{|z|{|{z{{{z{{{{{{{{||{yz{|{{|{{||{{{|zz{{zz{z{{{{z|||z{{{{z{z{||{{{|||{|z{{{z|{{||{||{{z{zz|{{{{{{{{{|{zz{{{{{||{|{{|{{{{{z{||z{|{|||zz{z||{z{{{|||{|{{|z{{{{||{{||}{{{{{{||{z|||{}|||{{{z{{{||||{|{||z{{|{|{|{||{|||{{|z|{{||{{||{||{z{{z{{{|{|}||{|||{zz{{z{{{|{{||||{{{{zz{{{{{z||{{{z{z|z{{{|{{|{z{zz{z{{z{{{z{{{{{zzz{{z{z{zz{{|{zzz{zzz{{zz||{{{z{{{zzzz{{{{{{|{{zzz{zz|{{{z|{|zyz{zzzz{{{zz||z{z{z{yzz{{{zzzz|{{{zzzzz{zz{{{{{{yzz{zz{zzz{{z|{zz{zzzyzz{|z{z{{zzz{zzzz{{z|{{{{|z{z{z{zzz|{zz{{{{{{{zzz{{{|{|z|{zzzzzzz{z|z{{|z{z{y{{{y{{{{|{||zzzz{zz{{|{{{{|{{z|{{zz{|z|z{|{|{z{{|{{{{|{{z{{{zz{{z{{{|{||{{|{y{{{z{{{{||{{|{|{|{{|{zz||{{}|{{{z|{{|{{||{{}{}{{{|||{z{||}||{|{|{{z|{|{|{{|||||{z{{||{{|||}|{}|{z{|z|||{|||{||{{{z{{zz{}|{|||{|{z{{{{z{{{|{||}}||z{{{{|||z}{|||z{{{{{{zz|{{{{|{{z{z{zzz||{{||{{{z{{{zz{{{{z{{{{z{{zzy{z{||{{z{{z{zzzz{y{{{z{|||{{zzz{{zz{{{{{|z{{{y{zz{z{z{zz{{{z{zzz{{{z|{||{{{{zzz{zy{|zz{{|{zzzzyzz{{{{{{|{zz{{yz{{{{z{zz{z{zz{zzzzzz{{{{{{zz{y{yzy{zz{{{{{{|{z{yyz{{{{|z{{{{zyyz{zzzzzz{z{{{{z{{y{z{zz{z{{{{{{{z{{zz|z{|{||{{{zzzz{|{|z{{{{{{{z{z{{{{{{z{z{{yzzzz{z{{{{{|{|{z{{{{{{z|{|{{|{|z{{z{{z|{{{z{|z{{z{|z{z|{|{|{|{|{{z{{{z{{{|{||{z{{{{|{{|{{|{|{|{{{{{zzz{|}{{||||{zz{{{{{|{||||||{|{{}|{||{||{|}|{{{{z{{{}|||{{||{{|{{|||{{}{|{|{z{zz{{{{{|{{|{||{{|{|zz{|{||||{|zz{z{{z{|{{{}|{{{{{{{{z{{||{|{{{z|{{zzzz{{z|{{{{zyz{yzy{z{{z{zzzyz{zzyyz{{|{{{|zzzzzzzz{{zz{{||zzy{{{y{zz{z{{{{z{zyzzzx{{z{{{{|{zy{z{zzz|{zz{|{{z{z{zzz{{{{z{{{zyzzzzzzz{{{{{{z{zz{{yy{z{zzy||zzyzzy|yyzz{z|z{{{z{yyyzzz{{{{{{|zzzz{y{z{zzzz{{|{{yzzz{zz{{zz{{{zzzzy{{z{z{{{|{{zzzz{yz{z{{zz|z|z{|{zzzzz{{|z|{{z{{zz{z{|z|{{{{{{z{z{{{z{{z{z{{{{y{{{{zz{{||{{|{{{zzzz{{{{{z{|||{{zzz{z{|{{||||{{{{y{{{{|{{|{||||z{{z{zz||{|||{{{{{|{{{{|{z|{||||{{{{{{{{{{|||||}{{{{{{{||{|{||}{{{z|zz{{{||{{|{|{{z{zzz{|{{{}{||{z{|{{{{||||||{{{{z{z{|{{{|{|{|{zz{{z{z{{{|{{|{zzzyz{|z{||{|{{{{zzzzzzz{zz{{z{{yz{{{zzz{{{{z{z{{{zzz{{y{zz{{|{z|zzz{zz{{{{|{z{{{z{zzzzy{z{{{{{{{{{y{{z{z{z{{{|z{zzzzzyy{z{zz{{{zzzzzzzzzy{{z{{{{{zzzzzzz{{zz{{z{zyzzzzz{{{{{||{{z{zz{{z{{{z{{|{{zzzyy{zzzz{{{{|z{yz{{{yz{{zz{{zzzzz{zz{{{z|z{|{|zzz|{y{{z{{{{{{z{{{z{z{{{{{{{{|z{z{z|{{{z{{{{||{{{zz{z{z{{|{{|{{zz{{yzy|{{|{{||{z{z{zz{{|{z{{}|{{|{{{{z||}||{{||{{{{{{{{{{|||{|{|{{{zz{{||||||}|{z{{z{z{}||||{}|z{|{{|||{|}|}{{|z{{z{{{|||||||{|z{{{{z{|{{}|}|{{{{{{{{{|{{}|||||{{{}||{{z|}||||{{{zzzz{z|{{{|}}z{z{z{{{{{{|{{{{{{{{zz{z{z|||z{{z{{zzzzyzz|{{{{{z{zzzz{z{{zz{z{{zzzzzy{y{{{z{|{{{zzz{z{z|z|{{{{{{{zzzz{z{{{y{{{{{z{yz{{zz{z{{{{zzz{y{zyz{{{{z{{{{{zzzzyzzzz{z{{{zzzzzyyz{z{z{{zzz{zzyzz{{{{z{{{z{z{{zzzy{z{{{z{{zzzzzz{z{{{z{{z{{zy{zzzzz{zz{{||yz{z{z{zz{|{{{{{zyz{{zzz{{{{z{{|zz{zzzyz{{z{z{||zy{{z{zz{z|{{zz|{{{zzz{{{|{{|{{{{{|zz{zz||{{|z{{{{zzzzz|{|{{z||{{{z{{|zz{{|}{|{|{{z{|z|z||||{{{|z{{{{{zz{{||{|{||{{{{z|{{|||{|||{{{y{{{{}{{|||{||||{{|{|z|||{{{|{z|{{{{{{||z{|{|{{{{z{{{{{|||{|{z{{{{z{{{|||||||z{|zzzz{{zz{|||{{z{{zz{{{|{{|||{{{|yzz{{{|{z{{{zzzzzzzyzz{{{{{{{zz{{{zzy|{|{{{{{zzzzzz{yz{{{|z||{z{z{zz{{{{{zz|{{{{{{zzz{|zz{{z|{zzzzy{zyz{{z|{z{yzzzzyz{{z{z{{{zzz{zzzzz|{{zz|{zzzz{z{y{z{{z{|zz{{zzzzzzz{{{{{{{zzzyzzz{{{{z{{{zzz{zz{zzzz{{{{z{z{zzy{z{{{{{{{{{{{z{{y{z{{|{z|z{zzzzz{z|{z{z{||{{{zyz{y{{{{{{||zz{z{z{z{{{z{{|{|{{{{yzzz{{{|{z{z{{z{{z{{|{z{{|{zzz{z|{z{|{|{{{{|zz|{{{|{|{|{|}||z|{{{{{|||{|}{{{{{{{{z{|{|{|||{{zz{{{z{}||z}{}|z{{{{{|{{|{||||||{{||{z{||||{}}{{{{|{{z{}|{|{||{{{|z{z||{|z{||||{{z{||{{{{{{{{||z{{{{{{{|{|z{{||{{zzz{|{{|||{{|z{{{{z{{{|{||{{z{{{y{zzzzz{{z{{{|{zzzzzyz{{{{{{|{{{yzzzzz{{z{{{|{{z{z{{zzz{{zz|||z{zz{z{z{{{z{z{zyz{yzy{y{z{{{{{z{z{{zzyz{{{|z{z{zz{zzzzyz{z{z{zzzzzyzz{zz{{z{{zy{{yzzzzzz{z{{{|z{{{zyzz{{z{y{{{|zyz{zzzy{{{zz{{{{{zz{zyyz{{z{{{{{zzyz{zzz{z{{{|{{z{z{zyz{{{{y{|{{zzzz{zz{{||z|zz{z{zzz{y{{|{{{{{|{z{{zz{{{{{{{|{zz{{{{zz{|{z{{||{{{{{{yy{|{{{{{{{zzz{{z{|{||{{{{{{z{|{{{{|||{|{|zz{z|{z{{{|{|{{z|z{{{{{{|||z{||{{{z{z{z{{|{|{||||{zz{{{{{|{{{|}||z{{zzz{}|||{|{|{z{{z{{{{|{|{||||{z|{{{{{|||{{|{{zz{{z{{|{{|{|{{{{{{z{{zz{z|{||{{{{{z{z{{||{{z{zzyzz{zzz{{zz}{{|{zzzzzzz{|{{{|{z{zzzzzzz{z{z{{||{zz{yzzy{z{{{{|{{zyzzzzy{z{z{{{|zzzzy{zyz||{{{{{{zzyyyzzzzz{z{{{zz|{zzyzy{{zz{{{zyzyyzzy{zzzz{|z{yyyzzyzzz{{{{z{{z{zz{z{{{|zz{|{zzzyzzzy{y{{{{{{|{{zyzzzz{zzzz{z{zzz{{{yzzz{zzz{{z{{{zzy{{zz{{{}{zz{zzz{{{{|{{||zzzzzz{yz|{{{z|{{zzz{zzzz{{||{{{{{{zz{zz{{{{{z{z|zz{{{y{|z{zz{|{{{z{{{{z{{||{{|{{{{{{z{z{|z|{{{{|zzz|{y{||||{{||{z{{{z{z{||||{||{{{{{z{{{{{{|{|||{{{z|{{{|||||||{{|||{{{{|{|||{{{z{z{{z{|{z{{{||{{{{|{{{||{|||||{{{{{|{{||{{{||{{zzz{{{z{{{}{{{|z{zzz{{{{z|{|{{zz{zz{zz{z|z{z{{{zzzz{zyzz{z{{z{{zyzzxzzz{xz{{{{{zzz{zzyz{|{zz{{{zyzzzyzx{zz{zz{|zzzzzyzzz|zzy|{||zzz{zyz{{zzzz{{y{yzzzzyz{{zzz{{zzzzzzz{{zzzzz{zz{{yzzy{zzzz{{zzzzzy{z{yz{{zz|{zzzyz{zzzzz{zz{|z{zyyzzzz{{z{z{|zzyzyzzyy{{{{z|{{{yzzzz{yz|{{{z|{{z{zzzzz{{{{{|{{zzzzy{yz{{|{|{{{zzzz{zz{{z|{|{{|zzzz{zz{{{{{{{{{zy{{zzz{{{|z{{{z{{{{{zzzz{{|{|{|z{{z{z{{||{z|{|{zz{zzzzz{|}z|z||{zzz{z{z{||{{|||{{z{zz{|{{{|{{}{|z{{{{z|{}{{{|||{{z{zz|{{{|{{{|{|z{zzz{z{{{|{||{{z{zzz{{|{{{||{{{{{z{{z{{{{{|{{{{{z{z{z{z{{{|{{{{z{zzy|z{{|{{|z{zzzzyzzy{zz{|{{{zzzz{zxzz{{{{|{}z{zyzzzz|{{zz{{{{zzzzzz{z{z|zz|z{zyzyyzy{{{{z{{{zz{zzyzz{{zzzzz{{zzyzz{z{{zz{{{{zz{yzz{zz{z{zz{|zz{z{y{zz{{z{z{z{zz{zzy{z{{{z||zz{z{y{zzz{z{{{|{zzzzzz{zzz{zz{z{|z{zzz{zz{z{{{{|z{zz{zyy{{{{{{{{{{zzzzzz{{z{{z{{z{{zzz{z{z{{{z{|{{{z{{zz{{|||{{|{{zzz{{y{|{z{||{zy{zzzyz{||{{{|{{z{{zz{{||{{z{|{z{{z{{{{|{{{|{{{{{z{{{{|z{{{{||}|{{zzz{{{|{|||{{|z{{{{{{||{{||||{{zz{z{|z{{z{|{|{{z{z{{{z|{|}|{|{{{{z{{{||{{{{|{{z{z{z{{||z{|}{}|{{{{{z{z|{{||{|{z{{{{{zz|{{||||{z{z{{|z{{{|{{{|zz{zzzzy|{|zz{{{{{{zzzzz{{{{{{{|{zz{|zzy{{{{|{{{|{{yzzzz{{{{{|{z|{{yzyz{yz{{{{|{{zzyz{zz{{z{{|{|y{zzzzyyz{zz{{z{{z{zzzzzzzyz{{{z{zzzxz{z|y{{{{z{yzzz{zzy{zzy{z{{zzzzzzy{z{{zz{{{{z|zz{zzz{zz{{z{zz{{{yzzz{{y{{z|zzzz{{{zzzz{{{{{yyzz{zzz{|{{{{{{{{zz{z{{{z{{{|{|{{{{z{|z{{zzz|{|{z{{|zzz{{{z{|{{{z{{{zz{y|{||||{z{z|zzz{|{|{{{{{{z{{{{zz|{{{z{{{{{|z|{{{{|||}{|{z{|{{z||}|{|||||{{||{{{z{||{|{}||z{{{z{z{{||{|||{{||||{{|{{|||||}{{{{||{{}|{{|||{{{{zz{{|{|{|||{|z{{{y{{|{{{{|}|{{{{||{z||{||{{{|z{zzz{{{||{{|||{{z{|{{z{|{{{{{|{{{{{{{zz||z|z{{{z{z{yzyzz{{{{{{{zzzzzyy{{z{{|||{zzz|z{z{z{z{{|{{{zzz|zzz{|{{{|{{zyzy{zz|{{z{z|{{zzzzyzyz{{{z{{z{zzzz{zzz{zz{{{z{zzzz{{zz{z{z{{{zzzzzyzzz{{z{{{zzz{zy{zz{{{{{{{{zzzzzzyzz{{{z{|{zzzz{yzz{{|z{{{z{{zz{yzzzzzzz{{|zzz{{{{z{{||{{{{{zzz{zzyz{{{{|{|z|z{{y{z{z{{{|{|z{{{{z{{|{{{{{|{{z{zzz|{zz{{{||z{{{{{zz{{{|{|{|zzz{{zzz{||||{|}{{{{{{{|{|{|{{{|{{{z||{{z|||||{||{{z|{z{yz|{{|{|{|{zz}z{{|||{|{||{{{{{{{z{|{|}||}{{{{{|{{{||||||}|z{{{||z{|{|||{|{z{{{{{{{|{|{||{}{z|{{zz||{|{|||{{zz{{z{{{|||{}|{zzz{{{z{{{{{{|z{{{{{zzz|{|{|{{{|zz{{z{z{|{{|zz|z{{z{{zz{z{{{|{|{{z{zzyz{{{|{{{|{z{{{{zzzz{|zz{{zz{zzzzz|z|{|{z{zyzzz{z{z{{{z||{{zzz{zzzz{zz{{{{y{z|z{zz{zz{{{zzzyzzyzzzz{{|{{{zzzzzzzyzz{{z{{{{zz{{zzzy{{z{{z{{z{zzzy{zz{{{{zz{z{zy{yzzzzz{{|{{zzzzz{zy{{z{{z{|{z{z{z{yz{|{z{{{zz{zzzzz{{z{{||{zz{{{z{z||z{{|z{{z{z{y{{z{{{|{|{zz{{z{z{|{{{|z{{{{z{z{{{{{||{|{{{{z{{{{||{{{||||{{z|{z{z|{|{||{||{{{z{{z|{||{{||{{|{|zz{||{|||{{{{{{{|{|||{||}|{{{zzzz{{{{|{|{|||{{|{z{{||||{||{{zz{|{|||{z|{||}{z{{|{z{||{|{|{{{{zz{z{{{{|{|{||{{{|{|zzz|{|{|||zz|y{z{{{{{{{{zzzzzzzz{zz{|z|{{{zzzzzz{y{z{{{{||{{{zzzyzzz{{{{{{{z{zzzzzz{{{z{{zz{zzz{{y{z{|||{{zzzzzz{z{{{z{{{{{{{zzzyz|z{{{z{zzzzzzzzz{z{{{{{|z{zzzyz{z{{z{z{{{zzzzzy{zz{z|z{{{z{zzyzzz|{{z{{|z{yzzz{z|zz{z{z{|zzz{zz{z{{|z{z{zz{z{z{z{{{{z{||{z{zzz{|z{z{{{|{|z|zzz{{z{{|{{{{z{{zz{zz{{{|{{{|{{{z{{|z{|{{{|{|{zzz{{z{{|{{|||z{zzzzz{{{{|{{|||z{{zz{|{{{{}||{{z{|{{{|||{{||||{{{{|z|z{{{{{||{{{{{{{{|{||{|{|{{|{z{{{{||{||{|{{{{z|{{{|{{}||{{|||||{{{{{{|{|{{|{{{{z{zz|{||z{|||{|{{{{{|{z|{|||{{zz{zzz{{{{{{||{|{{{{{z{||{zz{z{z|z{z{z{{|zzz{{z{z{zz{z{{z{{{|{{zy{zzzzz{{z{|{|{{{zz{{zzz{{|{{|{zzz{zz{z|{{{{{{{{zyzz{yz{zz{{{{zz{z{zzz{{{z{|{|{{zz{zzzz{{{{{{{{zzz{zyz{zz{{z{{z{zzzz{zz|{{y{{{zzzz{zy{|{{{z|{{zz{yz{zyz{z|{{{{{zzz{zzzz{{z{zzz{z{zzzzzz{{z{{z{{zzzzzzzz|{{{z|{zzyzzz{zz{|{{|{z{z{{{yz{|{{{{{||zz{{z{{{{zz{||||{z{|zzzz{{|{{{{|{y{{zzzz|{|{{{{{zz|{z{{{|||zz{|{{yz{{|{{||{||}|{{z|{{zzzz|{|{{|||z{|{z{z|}{|{{{{|z{{{|{{{|{{|||{{{{zz{{{{{{|{{||{|{{{{{{{||||}}||{{{{z{z|z}||||||{{z||{{|{|{{||||{{{{{{{z||{{|||{|{zz{z{{{{{||}|z{{{{zzz{{{||{{|{{z{{zzz|z{{{{{{z{zz{zzz{z{{z{{|{zyyzzzy{{z{z|{{z{zzzz{z{{{{{{|z{y{{{zz{z|||{{{{{zzzyzzz|z{{{{z|zzzzzzzz{{{{{{|zzz{{zzz{y{{z{|{{{yzz{zzz{{z{{{{{yzz{{{{y{{{{z{{{z{{{zyzz{{|{z{{z{{{zz{zzzz{{{z||zzz{{yzy{{{z{{{{zz{yyz{{z{{{{{{z{{zyzzzz{{{|{{|{{{{zzz{zz|{|{{{|zzz{{z{{|z|{z}{{z{{zzzz{{{z|{{{|z{{z{zzy{|{z{{{{z|z{zz{{{{{{z||z{zz{{{{z{{{{{|{{|{{{{z{{|{{{{|{|{z|z{y|{{|{|||{|{z{{{z{{|{|||{||{{{{|z{z|}|{|||}{{{{{||{{{{{|||||{{{||zz{}}}{|||{{|{{{{{|{|{||{{{z{z{{{|{{{|}{||||{{{|||{{{|{{{{{z{{z{{|z{||{{z|z{|{z{|z{|z{{||{{z{|{y{{|{{|{{{{zzyzzyzzz|z{zz|{{zzzyyzzz{{z{{{|{z{yzz{{zz{{|{{{zz{zzyzyzz|{y{{{{yzzzzzzz{{zzz{zzz{y{zzz{z{z{{{{zzz{zzyz{z{zz{{zzzzzyzyz{zz{{{|zz{zzzzzy{{z{{|z{zyzzy{zzz{{{{{{{{z{zyyzyzzzzz{|{zyzzzzzz{{zzz{zzzzzzzzzy{zz{{{|z{{zyzzzy{{z{{{{{{zzzzy{z{{|{z{{{zyzzy{zz{zz{z{{{zz{{zz{{yz{{z{{{{zz{{z{z{{{{{{z{{{zzz{zz|{{|{{{z{{{{zzyz|{{{z{{{{{z{z{z{{{{{{|{|z{{{{z|{{{|{{|||{zzz{zzz||{|{|{{{zzz{{{{||{{|||{{|{{{{{z{{{|{{||{{z{{zz{{||{|||{{{|{|{{{||{|{{{|zz{{{{{{|{{z{|{|{{{{{{z{{{z{{{{{z{zz{{{{{{{|{{||{zz{zzzz{{||{{{{{zzz{yzz{|{{{{z{{{yzzzyzz{|z{|{{{zzzz{zzz{{{{z|{zz{zzz{{{{{{{{{z{zzz{yyzy{{{z{{z{zzyzzzzz{{{z{|zzz{{zzzz{{zz{{{zzz{zzzyz{{{zz{{{zzzyy{zz{z{z{z{{{zyyzyzyzz{zz{{zzyzzyzzzz{{z{|{|zzzyzyzzy{z{{z|{{zz{yy{yz{zzyz{|{yzzzzz{y{z{z|{{zyz{x{zzzz{|z{{{{{zzzz{{{{{zzz{|{yzz{zz{{{{|{{{|z{{{zz{z{{{z{{{{{zz|{zz{{|{{{|{{{z|zz{z{z{{|{{{{{{z|{{z{{{}z{|{{z{z{z{zz{|{||{{{zzz{{{{|{{|}{|||{{y{z{{z|{||{|{{{zzz{z{{{||||{|||{|{z{||{||||{|{{{z{z{{z||||{|z{{z{zzzz{z{{{{||{{z{{z{{{{{|||||{|{{|z{|{{{||{{{|{{z{zz{{{|{|{|{{|{{zzzz{{{{|z{{{{z{{zz{y{z{{{zz{zyz{zyzzz{{|{z{{{{{zzz{z{{zz{{||zz{z{z{{z{{z{{{z{z{y{{zzy{{z{{{{zz{yyyzz{{|z{|z{zz{yzzzzzzzzz{{|{z{{zzzy{zzz{{{{zzzzyzz{y{|{zzzzzzzzzzy{{zz{{{{{yzyyzzzz{zzz{{{zzz{{zyzzy{z{z{{{z{zzzz{yzzzzzz|z|zzzyzzzz{|zz{{zz{z{|{zzzz{{{{{{{zzz{{z{{{{{z{{{{zz{zy|zz{{{{{{|zzzzzzzz{{{{|{{{{z{{{{{z{{|{{{|{|zzzzzzz{||{{{|{{{zzzz{z{{||{{{|y{z{|{{{{{|||||{z{|{zz|{{||{||{{{{zz{{z{{{{||||z{z{{||{z|||z||||||{z{{|z{{{|{{|}|{z{{{z|{||||{|||z{{z{{z{{{|{|}|{zz{z{{z|{||{|||z{{|{z{{|{|{|{||{z{zz{|{{{{{|||||{z{z{zz{|{{|{|{zz{{{{zzzz|{z{z{z{zzzz{zz|{{z{{{{zzzy{y{|{{{{|||z{zzz{zzzz{{{{|{zz{zzzz{z{z{{z||{{zzzz|y{zz{zz{|y{zz{{zzzzzzz|{z{zzzzzzz{{{{z{{{{z{z{zzz{zz{{{{zzzz{{zz{z{{z{{{zzz{{y{yz{{{z{{zz{z{zzzz{z{{zz{||{{zzzyzy{{z{z{{{zz{yzzzy{{{{{{{{zyz{zzzz|{{{z{|{{zz{{{z{z{{{|{z{{zzzzz{{z|z{z{{{{zz{z{zy{{z{|{{||z|{zz{z{|{{{|{|{{{zz{{{{{|{{{|z{{z{yz{|{{{z{{|{z{z{{z{z|{|{{|||{{{{z{|{{{{{|||{{{{{{{{|||}|{|||{{{{{{{z{{|z{|||{z{z{{{{|{{{||}{|zz|z|{{|}|||{}{|{|{{{{{||||{||||{{{{{{{||{|||{}{{{{{{zz{{||||||z{z{|{zz{{{z|||||{{|z{{z{|{|{{||{{|{{|{{z|{z||{{{yy{zz{zzz|{{{z{|z{zz{z{z{{{{{{|{{zzz{{z{{|{{{|{{{{z{zzzzz|{{z{|{{zzzz{z|z{z{{{|zzz{z{zzzz{z{{{{{{zzzzzz{{}{{{{z{zz{{{zyzzz{z{z|zzzyzzzyzzz{|{{{zzy{z{yzz{{{z{{{zzzzzzzz{|z|zz{{z{zzzy{zz{{yz{{|z{zy{{zzzzzzz{{|y{zz{zzzzz{{{||{zz{{zz{z{{{{{{{{zz{zzzzz|{{{|{{|{{{{zz{y{{{{{|{{zz{{z{z{z|{{|{|{zzz{zzz{{|{z{{|{{z{{{z{{{{{z{|{|zzzzzz|z{{{|{||}z{{z|{{||||||||{z{{{z{z{{||{{|}||{z|{{{{{|||{|}|{||{{z{{{{z||}{{|{|{{{{{{|||||}{{{{z{z{{||{{|{||{zz{{zz{z{||{}{||{{{|{z{{{{{|||{{|zz{{{{{|z}{}{||{{zzz{z{|{{{{||{zz{zz{z||z{{|z{{zzz{zzzzz{{{|z{{{zzzzyz{{z|z{{{{{zz{zyz|z|zz{z{z{z{zzzzz{z{|{zz{{zyy{zz|{{|z{z|z{zzzzzz{{{{z{{{|zz{zzzz{{{zz||{zz{z{zzzz{y}z{{{zzzzzzyz{{{z{{{zzzzzz{y{{{zy{{y{{z|yzzzzz{{|{{{|zzy{zzzzz{{{z{{{{y{zzz{z{z{{{{{{{zzzzzzzz|{zz{{{zzz|zz{z{z{{{{{{zzzzzz|{{{z|{z{|z{zzzzzz{z{||{{|{{{{z{{z{{||{{{{{z{{{z{z{|{{{{{{{{zzz{{|{{|z{{{{{{{{{{z{{{|{|{{|{{|{{{{{|{{||}|||{z{{z{{|{|{{{|{|z{|{{|{||{||}||{{|{{|z{{||||{|{|z{{{|{||||{|{|||z{{{{{{|{|{{{|||{z|{z|{{|{|{||||{{{|{z{||{|||||{{{{{{{{{|{{{|||{{|{{z{z{|||z{||z|{zzzz{{|{{{{{z{z{{zzzyz{{{{{{{zzzyzzz{{{{z{|{{{{zyy{zz{{{{{|{|zy{zy{{z{{z|z{{|{z{zzzzz{z|z|{y{zzzzz{z{z|{z{|{z{yzz{zzz{z{z{{{z{{zyzzzyyyz{{z{|zzzzzzyyz{yz{|{{zyzyzz{zzz{zz{{zz{{zzzzzzzz{{z{{zzz{zzzyz{{{zzz{zyzzyyzzz{z{{|z{{z{y{{zzz{{zz{|{zzyzzzzz{{|{zz|{zzzz{z{z{{z{{{|{zz{{{{zz{{{z|{||{zzz{zyzz{{{{|{{zzz{|z{{{{z{{z|{{z{{{z{{{{{{{|{{{{{{{z{{{{{{{|{{z{zz{z|{||{{{{{|{z{{zyzz{{{||{|||{{zz{{{||{{{||{{||{z|{|{{{|{{{||z{z{{|{{|||{{}||z{{{{{|{{{|{|{{|{zz{{{zz|{||{|{{{{z|{z{{{|{{|{|{zzz{{z{z{||{z}||{{z{z{z{|{{{{|z{{z{{yzz{zz{{{{|zzzz{y{yz{{zz{{|z{z{zyzz{{{z{{{{{zzzzz{zz{{||{||{{zzy{z{z{{zyzz||z{y{zzy{zz{|{||zz{{{yzzy{{{z{{{{zzzzz{zzz{z{{{zzy{zz{zzzz{{z{z{zy{zzyyyz{{zz|{zzz{zz{yz{{z{{z{{{yz{zyzyz{{zzz{zzz{{zyzyz{zzz{z{{z{zzzz{zz{{z|{{y{{zzzzz{{z{{z{zz{z{{z{z{|{z{{|{{z{{zy{z{{{{z|||{{zzzz{{{z{{{{{{{{|z{zzzzz{|{{|{|{{{zzz{|{{{|||{{{{{{z{z{{{{{{|||z{zz{{}{{{|{|||z{zz{{{z{|{||{||{{{{z{{{|{||{|{}{z{{|{{{{|{{|{{|{{|{{|{|{||{|{{{|zz|{z{z{}{}{|{|{{|{{z{||||{|{|}{{{zzz|{||{{{|{{{{{{z{{z||{|||{{{{{z|{{{{{{|{{|||{{{{z{z{|{{{|||{{{zzzz{{{{{{{|zzzzzzzzyz{{{z{{z{zzzzzyzz{{{{z{{{zzyzzyzz{z{z{zz{z|yyzzz{z{{z{|{zzzzyz{zzz{{z{{{zzzzzzzzz{yzz{{zzzzyzzzzzz{{{zz{zzzyzyzzzzzz{{{{z{{{zzz{{{z{{yzz{zyzyzzyyz{{z{{zzzzzyzzyz{z{z{{{{{yzzy{yzz{zy{{{{{z|zy{zz{{{{zz{zzyzzzyxzz{zz{{{{zzyz{{zzz{{z{zz{zzzzz{{{z{{{{{|zzz{{zz{{{|{{|{{zz|zzyzzz{{{{{{{zzzzz{zy{{{{{|{{zz{{{{{z|{{|z{{{{{|{{zzz|{{}{|{{{|{{{{zz{{{{||{{zz{z{{z{zz|{{{z|{y{{zz{{{|{z|{{|zz{{{{||z{{{{|{{{zz{{{z{z|{{{{|{|z{{z{{{{{{|{{{{|z{z{zzz{{|{{|{|{z{{z{{{{{{|{{|{{z{zz{{{{|||{}|{{{{z{zzzz{{{{|z{{zzzzzyzz{z{{{z|zzyzzzzzzz{{z{{{{{zz{zzz{{{z{{z|{z{zzyzy{{zzz{{|{{{zzzzz{{|{{|{{zzyzzzyzz{{{{z{{zzyz{z{zz{{{{{{z{zyzzy{z{{{z{{z{zzzz{zzzzy{{{{{z{z{{zzzzz{{{{z|{zzzzzzzzz{{zz{{{z|{zzzz{z{{{zzz{{zyz{yzzzz{zz|{{{zzzzy{yzzz{{{{{{z{yzzzy{z{|z{{z|{zz{{{zz{zz{{|z{y{zz|zy{z{zz{|{z{{zz{{{{{||{{{{{z{zzz{{{||{|{{{{{zz{zz{{{|{{{|{{zzzy{z{{|{z{{||z{{{{zzz{{|{||{{z{{z|z|{|}{|{{||{{{|zzzz|||||||||zzzz{z{|||{|||{z{{zz{{{z{{{z{|{|z{{{|{{{|||{|||{z{{{zz{{{||{|{{{{z{z{{{{{{||||{{{{z{zz{|{{|}}||z{|{z{zz{{{{{|{{{zz{z{zz{|{zz}{z{{{zzzzz{z{{{|z{zzyzzz{z|{{z|{{zzzyyzyzy{{{z{{{{{zyzzzzz{z{{z{{{{yzzzz{z{z{{{{z|{{zyyyzz{zzz{z{{{zzzz{{yz{{{z{{{{z{zzzzzzz{zzzzzzzz{z{zzzzz{{{{{zz{zzzyz{{{zzzzzzzy{zyzzzz{{{{{zyyz{zzzz{{{zz{{{{yzzzyzz{yzzzz{z{{yzyz{yz{{{z{{|zyyzzzzz|{{z{z|z|z{zzzz{{zzz{{{|{z{z|zzz|{{|{|{{zz{zzz{z||{|{{||{{{z{zz{z{|{{{{{{{{zzz{z{{{{z|{|zzz{{{yz|{{{||{|{{|zzz{zz{{|{||{zz{z{{{y{|}{{}{||{z{zzz{|{zz||||{z{z{{{{||{||{||{{|z{{{{|{{{{{|||{{{{zz{||||{{{||z{z{y|z}||||{|{|z{{{{z{{|{{{|{{|{z{{zz{{{{{|{{|{{|{z{{z||{{|{|{{{z{z{{{{{z{{|{{z{{zzzyz{{{{|z{zzyzyzyyyz{{z{z|{zzyzzyzzzzz{{|{|zyyyyyzyz{{{{{z{yzzzzzzyz{zzzzz{zzyzyzzy{{zz{{{{zyzyyzyyzz{{z{{z{zz{zzyyzz{y{{{z{yyyyzyy{zzyz{zzzyzxyzyyz||{zzz{zyzzzzyz{zzz{{z{zzy{zyzz{zz{{{z|{yyyzzzzy{zzz{{{zzzz{zzyyz{{z{{zyyzzzzyz{{z{{{|{{yyyzzyzz{z{{|{|zzzzzzzzz{{{{{{|y{{zzzzyz{{{{{{{{z{{zzyzzz{{{{{{zzzzzyzz{|{{|{|{{zzzzz{z{{{z{|{{z{z{zzzzzz{{{|{|{zz{z{{{|{z{||{||{z{zzzz{{|{{{{{|{|{z{{z{||{|||{|{{z{z{z{{{{{{z|{{z{{zz{z||||{|{|{z|zzz{z||{|{|{{z{z{{{z{z{{{{{{{{z{{{z|{|{{z{{{z{zyzz{z{|{||{|{zzz{zz{zz|z{{{{{{zzzyzzz{{{z{{z|z{{yzzzyzzz{y{{{{zzzzzyyzz{{{|{{zzzyzzzz{y{{|{{|{zzzzyy{y{{zz|{{zzzyzzyy{z{{z{z{zzzyzzzzy|zzy{{{zzz{zzzz{{zzzzzzy{zzy{yzyzz{z{z{zzzzyyzzzzz{{{z{{zyzyzz{z{{yz{{zzz{zzzz{zz{{{{{z{y{zzz{zzzyz{zz{{zyzzy{zy{z{z{{{zzzzzzzzz|zz{{z{{yzzz{{{z{{{{z|{{z{{yzzzzz{z|{{{zy{zz{{{{{{{z{||zzzzz{zzzz{z{|{{{{{zzz{z{{{{{z{z|z{zz{{z{{{{{z{{{z{{{y{{{{{{{|{{{{z{{|zz{{{|{{|{{{z{{zz{{||{{{|{|zzz{z{{{|{{{{||zz{{z{|{z{{{{|{|{{z{z{zz{~{}{}||{z{{{{{z{{{{{||{|z{zzzzz{{{{|||||{z{{z{y|z|{{|{{{{{{{zzzzz{z{{{{{z{zzz{{{||{|z{{{zz{zz{z{{{|{zzzz{yyyzyyz{{zz{{{{zzzyzyzz{{z{{{{zzz{zzz{{z{z{{{z{{{zzzzz{{{{{z{{{zzxzzzzz{z{z|{|{{zzzzzyyz{zz|{z{zzz{zzy{z{zz{{zzzzzyzzzy{z{zz{{yzyyzzyzz{zz{{{zzyyzyyyzzz{{z{zz{zyzyzzyz{z{zz|{{zzy{{{zzz{yzzz{{z{zzz{zzzz|{{{zzzzzy{yzz{{z{z{{zzyz{zz{{z|{{{{|{{{zzzzzz{z{{{{|z{z{zzzz|{{{{{{{zzzzzy{zz{{|{|z|zz{{zzzz{{|{{{|{{z{{{zzz{{{{z|{{|z{zzz{{zz{||{{|z{{z|z{zz{{{{{z|}{{{|{{z||z{|{|||{z{{{{z{|||{|||{{{z{z{{z{{z{|{|{{zz{{z{{}z|||||{z{{{{z{{{||{|{{{{|{{{z{{{{|z|||{{{z|{zz{{{{z|{|{{{z{z{z{z{|z{{{{{{|z{{z{{{|{{{{{{zz{yzz{{{z{{{{{{{zzz{zz{z{{zz{zzzzzyzzzz|z{{z{{z{zz{z{|{{{{{|{{{zzzzzzz{z{{zz{z{zyyzzyz{{{zz{{{zzyzzzzz{zz{|{zzzzzzzyz{{{yz{{z{zzzzzyzzzz{z{{zzzzyzzzzz{{z{{{zyzzzzyzzz{{{{{{{{z{zzz{zz{z{{{{{{zzy{z{zz{{z{z{{zzyzzyyzz{z{{{{{zzyzz{zzyzz|{{{{zzz{z{yzz{{{{{||{z{{yzzz{{z{{||{{z{zzzz{{z{{|{|||{{{{y{z{{{|{|{|{{|zzzz{{|{|{{||{z{{zz{z{{{|{{|{{{z{|{z|{{||{{||{{|{zz|{}{{{||{|{{z{{zyz|||{|||z|{{{{{{{|}|{{||||{{{{{||{z{{{{|}|{{{{{{z|{|{{|||{zz|zy||{{||{||{{z{zzz{{{||{{z|z|z{z|z{z||||{{||z{{z{{{{{||z|{|{{{zz{y{z{{{|{{|{{{{{{z{yz{|{z{z{z{zzzz{zz||zzz|zz{yzzz{zzz{{||{{z{zzzzzz{z|{{{{|z{{zyzyzz{{z{{|{{zzzy{zzzzz{z{{{zzz{zzzzzz{zz{z{z{{{zzzy{{{{|{|{{yzzzz{z{z{{z{z{{zy{z{zzzzz{{|||{z{zzz{{z{zz{y{z{z{zyzzz{{{{zz{{z{zzzzzy{{{zzz{|{yyzzzy{z|zzz|{{yz{{zzzz{{{{z{{|{zzzzzz{{{{|z|{}{z{{zzz{|{{{z{z|{zzzz{yzz{{{{{{|{{{{zyzzz|{{z{{{{z{z{zz{|{|{{{{{{z{|zyz{{{z|{{|{{{z{{{{{{|{|||||{{{{{{{{|{{|{}|}{{z{z{zz|||{{{||{{{zz{|{{|||||}|{{|{|{{{{|{|{}|{|{{{z|{|{{|||{||{{{{|{{{||{|{|{{|{{|{{|{{||{||{}||z{{}z{{{||{{||{z{z{zzz{{{|||||||{{z{|{{|{||{{|{z{{zzz{|{||{{zzz{{{zz{zz{{y{|||zzzy{{z{{{{{z{z{{zzz{{zz{zz|{{{{zz{zzzyz{{{{z{{{zzzyzzzyy{z{{{z{zzzzz{zz{{{zz{{{{{zzyyyzz{{z{{z{zyzz{yz{zz{{z{{zyzzzzyzzz{{{z{{{zzzzzzy{z{y|zzz{{zyyyzzzz{{{{z|{{zzzzzzzzz{y{{{y{z{zzyzyzz{|{z|{z{{yzzz{z{zz{||{z{yyzzz{{{{zz{{{zzzzyzzzz{z{{{{|zzzzzz{zz{{{{{{{{{{zyyzyz{|{{{{|{zzzz{zz{{{{{{|{{{z{zz{{z|{{{|{z|{zz{zz{z|{|{{{|{{{z{{{z|{{{{}|}{z{{{zzyz{{||{|{{zz{{|z{{||{||{|{{{z{{{{{||{{||||{{{{{z{{}||{{||{zz{{{{{{|{|{|{{{zzz{{{{|{{{|{{|{{{z|zz{{{{||{||{z{z{y{y{{{{||{{z{z{y{zz{|{z{{{{|{{zzz{{{z{z{|{{z{yz{zyz{{z{|z{{zz{yz{yz|{{z{{|{{{zzzzzz{yzz{{|z{zyzzyy{z{z{|{{{{zzyyzzz{{|{zzz|{{zzzzzy{{{{zz{{zz{zzzzzz{{z{{{z{yzzzzzz{{{{z{z{zyzzzzzz{z{z{z|zzyzzzzyzy{z{{z{{{zzyzzzzzz|y{{|{{{zzzzzyy{zz{{{{z{zzy{zzz{z{{{{z{zzzz{z{zzz{z{{{{zzy{{yz{{zzzz{{{zzzzyzz|{{{{z{{{zz{zz{z{{{z{{{{z{z{zz{zz{{{{|z{{{zzzz{z{|{{{{{{{z{zzzz{{||z{|{{z|z{z{z{{||||z{|zz{z{{|{||z|{|{||{{{z{|z|{}{{|||zzz{z{{y|}{|{}{{{{{|{{{{{{{{{||||z{z{{{{{|{||{||{{{|{{|{|{||||{{{zzz{zz{{{{{{|||{|{{{z{|{{z{|||zzz{zzz{z}|{{{{|{{zy{z{{z{{z{z{|{|zz{zyzz{{{z{{{{z{zzyzzyzz{{{{{|zzzzzxz{z{|zz{|{zzzzzzzz{{{{|z{z{{z{z{zzzz{{{z{{z{zyzyz{{{{{z{z{zyzyyzzz{|{{z||zz{{zzyz{{zzz{{{yzzzyyzzzzzz{z{{{zzyyzz{zz|{{{{{z{zzzzz{zzz{|{{z{zz{{yy{y{{{{z{{{{{zy{zzyz|z{z{zzz{zzzzzz{{{z{{{|zz{zz{zyzzz{zz||zz|{{zzyz{{|{z{{z{{zzzz{z{{z{}z|{{z{zzzz{{{{z{|{|zzzzyzzz{|{|{{|{{zz{{{z||||{{|{|{zzzzzzz|{{{{{}{{{z{z{z||{|{||{{{{z{z|z|{{{{||}zzz{zzz{{{{|{{|||zz{{zz||||z{{}|{{{{{{|{|{|{{|{|{z{{zzzz{|{{{|{|{{|{zz{{|{{||z|{{{{z{{z{|{{{|{|}{{z{z{z{{{{{{|{{{{{z{{{{z{{{z{||z{{{|{{z{z|{{z{|z{{{zzzz|z{{z{zzz{{zzzzzz{z{z{{{{zz{zzzz{z{{z{z{zzzzzzzy{zz{zz{{zz{yzy{z{z{zz{{{z{zzzyzz{y{z{{{{zzzz{y{yz{{zz{|{zzzzzy{zzz{zz{{zy{z{{zzz{yzz|{zzzzy{{yzyzz{zzz{{zzzyzzyy{zzz|{{zz{zzyzzzzzz{{{{zzzzyzyzz{z{zz{{{{{zy{yyzzyzz{|{{zz{zyzzy{{{{{z|{{zz|zzzz{|{{z{{zz{z{zyz{{{z{{{{|z{zzy{zzz{|zz{{|{y{zzzz{z|z{{{{|{z{{{zyz{{{zz|{|zzzz{zz{|z{{{|{|z{z{zzz{{{||||||{{{{{{{{{{{{{|{{{{z{{{yz|||{{z}{{{{{{z{{{||{{}||z{{{{||{{{{{||{{|{{z{{{{z|{|{|{|{z{{|{zz|{||z{{{{zzz|{{z|{z|{{||{{{{{{{|||{{|{||{z{zz{zz{{{{{|||z|{{zzz{{{{{z|{{z{{{{{{zz{{z{{zzy{zzzzzyz{{{{y{|zzyzzzzzz{{{{{{{y{{zz{zz{{{{{z|{zzz{zyzzz{{{z{{|{zzz{yzyz{{{z{{zzzz{z{zzyz|zzzz{zz{{zzzyzz{zzzzz{yzyyzzzzz{zz{{zzzzzzyzyz{zz{z{y{zzyzzzz{{zz{{z{zyzzyzz{z|z|z{|zz{yzzzyy{zz{z{{{z{zzzz{zz{z{|{|{yzzz{zz{{{{z{z{{z{z{zzzz{zz{z{{{{z{{yyyzz{z{zz{{zzzy{{{y{z{|{{|{|zzz{{{z{{z{{{{{{zz{z{zy{z{{{{{{{z{z{zzz{{{z{{{{{{zyz{zz{|{||{||{{{|{z{z{{z{zz|{z{{{z{{z|{||{||z{{z||{z{||{|||{{|{{{{{||{|||{|||{{{z{|zz||{}{|{}{{|z{{{|z{{||{|||zz{{{z|z{z||{|}{{{|z{zz{{{{|{{||{{z{zzzz{z{{{|{{{z{z{z{zz||{|{{{z|z{z{z{{|z{|{{zzyyzy{yz{{zz{{{{yzzzyyzzz{z{{z{{zyyzzzyzzzz|z{{{zzzzz{z{z{zz{z{{|yyzzyyz|{{zz{{zzzyzyzzzzzz{{{z{y{zzzyzz{{{{z{z{zyzzyyz{zy|zzy{zzzz{yzzzyzzz{{zzzzyzzyzzy{z{{{{zy{zy{zyzzy{{{{{zyzyzyzzz{zzz{{{zzzyzzzyzzz{z{{|zzzyz{zy{z{{{z|zzzxz{zzzz{{{{zzzzyz{zzzz{zz{zz{|{z{zyzyzzzz{|{z{zzzzzzzz{{z{{||{{z{{z{zzz|{zz{|{zz|z{z{zz{{{|{{z{{zz{{z{|{{}{{z||z{{{{z{{{{{{{{{z{{{{z{z|{{|||{{{zz{{z{z{{{{{{z{zzz{{{{{{|{{||||||zzz{z{{|{||||z{z{{{{z{|{y|{{|{|{zzzzz{|{||z||{{|zzz{z{||{{{{{|zzzy{z{z{{|{{{||{{zzz{zz{|z{{{{{{z{yzz{{z{|z{zz{z{{zzyzzz{zz{{z{zzzzzyzz{zz{zz{{z{z|{zzz{{{zz{{|zyzzzzzzz{{zzz{zyzyyzz{zzzy{z{zzyyz{yzzzzzy{{{{zzzzzzzyzy{{yzzzzzzzzz{yzz{z|zz{zzzzzzzzzz{{{zzz|{zyzyzyzzz{{||{{{zzzyzzyzz{{zz|{{zzyzyzyzzzzzzz|zyzzzzzzz{zz{{z{z{zzz{zy{{z|z{{zzzzzyzz{{{z{{{|{yzzzzyzz{{z{z{{|zz{|zzz{{{{{{||{{{{zzz{z{{z{|z{{zz{zzzzz{{||{{{{{{zzzzzz{||{{||{{zzz{{z{{{{{{|z|{z{zz{|zz|{{{{||{y{{{zz{{|{{|{|{{zy{|z{z|{||{|z{{{z{z{z{|||||||{|zzz{{z{{|{{{||{{{{|{{z{{||||{{|{zz{{z{{z{{|{}|||{z{z{z{{{|{{|{}{{z{zz{z{|{{z{||{{z{z{zz{{z{{{{{|zzzzzzz{{|{{{{z{yz{zyzyz{{{z{{{zz{z{yzz{z{|{|{{{{zzzzzzzz||{{|zz{z{zz{z{{|{{z{{{{zyzzz{z{y{{{{|yyzyzzzzz{z{z||{yzzzzyy{{|{{zz{{{zyzxzz{zzzzz|{zzzyz{zzzzz{{z{|z{yzzzyzzzz{y{z{{zz{zyzz{y|z{{{{{{zzzzzzzyz{zy{{{{zzy{zyz{{{zz||{zzzzz{{y{{z{{{|{zzzz{zzz{{{zz{{|zzzy{z{zz{zz{||{{{yz{{z{zz{{{z{|{zzz{zzz{{|{||{|{{|z{z{z|z{{{{|{{y{zy{z|{|{{|{y{|{z{{zzz{|{{{{{|{{{{{{z{{{|{{||}{z||{{{{|{{{|{{z|{z{{|{{|{{{|||{{{{|{{{{{|{{{}{||{{{z{yz{|{{{||||{|{z|{{|{{|{{{{|z{z|z{{z||{||||{zz{{z{z{{{|{||{|{{{{z{{{{|{{{|{{{z{{z{{{{{{z{|{{{{zzzzzzzz{{{{{{zzzzzyyy{|{{{||zzyzzz{{{}{zzzz{{{yyzz{z{zzzz{{{zzzyyyz{zzzz{{{|{zyzzyzyz|{zz{z{zzzzzzzyzz{zz{{zz{zyzzzz{{{zz{z{zz{zyzy{zzzzz{z{yzzzzyzzz{z{z{{z{zz{zyz{y{|z{{{{zzzyzz{z{{{|{{zzzzzz{zzzy{zz{z|{zzyyzyzzz{zzz{{{{zzxzzzyz{{|zzz{{yzyzzzy{z{z{|{{{zzz{yzz|z{{|zz|yzzyzz{zz{{{{{|{zyzzzzzy{{z{{{{{{zzzz{z{|{{{{{|z{{z{z{|z{{z{z|{z|{zzzz{z|{|{||{{z{{z{{|{{{{{||{|z{{{z{{z|||{|{|||{yz{{{z||{{{{{{{z{|z|{{||{|||}{|{z{z{{zz|{{{}|}|z{{z{{{{||{z{|{{z{{{z|{{}|z{||||{{z|z{|{{{|{|||{|zzz{{z{{{|{z{{{z{{{{zz{{{|z{{|z{{{yz{zz{{{{{|{zzyzzzyy{|zz{z{{zzzz{zyzy{{{{{{{{{{zzzzzz{{{{{{z{zzzzzzzy{zz{{{z{yzzzyzy{z{{z{{{yzzyyzzzz{z{z{{{{yzz{zyz{z{z{z{|{z{zzzyy{z{{{{zzyzzyzzzy{{{{{{{z{yyzyzzzzy{y{z{{z{{zzzyyz{zz|z{{zzz{zzyyzzzzzz{|{zz{{yzzz{{z{{{{zzzz{{zyz{{zy{|{zy|zyyzz{z{zzz{{{zzzzyz{{|{{z{{{{zzzz{z|{{{{{{{{|{{{zyz{z{|{{{{|{z{{z{{{{{|z{{||{yzz{z{{{{|{{|{{{{zz{{z|{{{|{{{{{{{z{{{z{|{{{{|{{z{zzzzz{{|{{||{}{{z{z{z{{|{|{||{|{{z{{{|{{{||{}{z{{{z{{{|||{{|}{zz{{{{z{|||{{|||{z{{z{z{{|{{{|{{{{{{{z}{|{{{||{z{{{{{{y{||{{|||{{zzzzzz{{{||||{z{{{zzzzzz{{{{{{zyyyz{yyzz{zzz{{y{zzyzyz{|zz{{{{{zzyzzzz{z{z|{{{zz{zyzz{z{{{zy{zzzzzzyyy{{{zz{{{{{zyzzzzz{zz{{{z|{zzzyzz{z{{{zzzyz{zzzyzzyz{z|{yyzzzzzzz{{zz{{{zxzzzy{zz{zz{{{z{zzzzzzzzz{{{z{{{zzzyzz{zz{yzz{zz{zzzz{yzz{z{z{zzzzzzzzyzzz{{zz{|{zz{zzz{{{z{zzz{zzzzzyz{zz{z{z|{zzzzzz{yz{{z{{z{{{{z{z{z{{{{{{{{{z{z{{zz{{{{{{{{zzz{{{z{|{{{{|z{{{{{{zzzzz||||{|{{{{{{{{|{{{{{}}{zz{{z{{|{{{{{{{{{{{z{zz{{{{|{{|{{{{{z{{|||{{{|{{{z{{{zz{|}||||{|z{{zz{||{{||{{{{{{{{z{{{{{|{|||{{z{|{zz{|{|{||{z{z{zzzz{{{|{{|{{z|{z{{z{|{|zz{{{z{z{y{z{{{{|{{{zz{zzzzy|z{zzzz{{yzzzz{z{{z{{|{{{z{zzzzy{z{{{{{|z{{zzyy{z{{{{{z{{zzyyz{zz{{{z{z{zyzzzyzzz{{zy{{zzz{z{z{zz{{zzz{y{yzyzzz{{zzyz{zzzzyzz{yzzz{zz{{zzzzzyzzyz{{zz{{z{zzyzyyyzz{{z{zz{{zzyyyyy{z{z{z{zzzzzzzyzzy|z{{{y{zy{zz{z{z|{{{zzyyzzz{z{{zzz{{{y{z{yzzzz{{|{|{|zz{yyz{z{y|z{{z{{z{{zyz{{{z{{z{{zzzzzzzz{{{{{{|{{zz{{zzz{|{z{|{{{z{y{zzz{{|||{{{z{z{{|{{{{{{||{|{zzzzzz{{{{||{{{{z{z{z{z|{{||{||{{{{zz{z{{|{{z|{|z{zz{z{{|||{|||{zz{zz{||{{||{|{{{|{zz{z{|{{{||z{{z{{{y{{{{{{|{|{|{zz{{zz{z|{|}{{{zz{zzz{|{|{{{{zz{zzyzz|z{{|{z{zyzzzzzyzz{zz{||{{zyyyzz{zz{zz{{zzzzzyzzz{zzzz{z{yyzzzzzz{{{z{z{{zyyyzyzzzz{z{z{yxzzzz{yz{yzz{{zzyzzyzzzzz{zzz{{zyyyyzyyz{y{z{zzzzyyyzzyz{zzzz{zzzzzyzyzzzzz{zzz{zyzxzzzzzzz{{zz{zzzzz{zzzyz{zzz{{yyzz{zzzzzy{{{{y{zzzyy{z{zzz{|zzzy{yzz{z{z{{z{{zzzyzzz{zzzz{z{{zyz{yyzz{{{z{{{{zzz{yzzz{|{{{{{{zzz{z{zz{{zz{{|{z{{yz{y{zz{z{{{{zzzz{yz{{{{||{zz{z{z{|z|{{|z{{|{zz{z{{z{{{|{z{{{z{zzz{z{|z{{{{{{{yz{zz{{{{{{{|{|{zzzzz{{|{{{|||{{{{{zz{|{z|{|{||zzzz{zzz{{{z{||z{{z{zz{{|{{{|}{{{zzz{z{{{{{z|{{{zz{zyzzzz{{{{|{zz{yzyzzz{{z{y{zzyzzzzzyz{y|{{{{z{zyzyzyy{{{{{z{zzzyzz{zzy{z{{{{zzzzyyyzzz{zz|{{{zzyx{zyzzz{zz{{yzzzzyzyz{{zzzzzzyzyzyyy{zz{z{z{{zyyzzzzzy{{zzz{zyzzyzyzzzzyzz{zzyzyyyyyzzzzz{{{{z{zzzyzz{zzyz{zzyyyzzz{zzzz{zz|{yyxzzyyz{zzzzz|zyzzzzzyz{z|{{{{zzz{yy{z{z{{zz{zzzzzyzzy{zz{z{{{{{zzzy{{zzzzzz{{zzzzz{zz{{{{z{zzzzzzyzz{{{{{z{|{zzzzzzz{{|z{z{|{{z{yz{{z{{{{{{{{zz{z{zz{z{{{{z{{{z{{{z{{{{z{{{|{{zzz{{{zz|{{{{|{{zzzz{zz{|{{{{|z{z{zz{zz{|||{{|{|z{{{{{{z{|z{}{{|zzz|z{{z{{{||||{{{{zzz{{{{{{{{{z{zzzzyz{{{{{{|{|zzzz{zzz{{{{z{{z{zyzy{z{zz{{{{yz{yxzyzyz|{{z{z{zyyyyzyz{zzzz{zzzzyzz{zz|zzz{{z{zz{zzyz{{z{zzz{z{zzzyyzy{zz{z{z|zyzzzyyy{zzzzz{{zyyyyzzzz{z{z{zzzzzzyyyzzz{{zzzzzzzzzzyzzz{zzz{zzyzzzzyyzzzy{{{{{zzzzzyzzzz{|{zz{zzyyzzyzzzz{{zy{yzyyzzyy{zz{{{zzzzyzzzz{{{z{{z{zz{yyyz{{{z{zzz{zzzzzy{zzz{z{{{|zz{zyzyz{{{z{zz{zy{{zzzzz{{{|z{z{yzxzzz{zz{{{{{{zzzy{{zz{|{zz{z{zzzzzzz{{z{{z{|{{z{y{{{z{{{|z{|{z{z|{zzzz||{|{|{{{zy{{{{{{|||{{{{{{zz{z{{{{{|||{|zzzz|{{{{{{{|||{z{zz{{z{{{{{z{{{yzz{{{z{|z||z{|{z{{z{{{z|{{{{{{{{{z{z{y{{{{z{|{{z{z{yzzz{z{z{|{z{zzzz{zz{|{yzzz{zyyzxyy{{z{zz{zzyzyyzzyzz{{{{{{{yyyyzzy{zz{y{z{{zzyzyyz{z{{{z{{z{zyyzzy{zzzz{z{zzzyyyyzz{{zzy{zzzzzyzzyzy{zzz{{zz{yyzzzyzy{{{zyxyz{zzzyz{zz{z{zzyzzyzzzyyzy{{{z{zzzyzyy{zz{z{zzzyyzyzzzzzz{{zzzzyzxzyzzz{yzz{zz{zzyzyzzz{zz{{{zzz{y{zzzz{z{{zz{zzzzyyzz{zz{z|z{{z{zzz{z{{{{z{|z{{zzzzz{z{z{{{zz{zzy{y{{z{{{{z|zzzyzzz{z{zzz{{z{{z{z{zyyz{{{|{{{zzz{zzzzz|z{|{z{z|z{zzy{|z{z{zzz{zz{|zz{{|{{|{{|{z{zz{{{z{{{{|{{|{z{zz{z|{{|{{|{{zz{{{zz{{|{z|{{{zz{zzzz{{{{|z{{z{z{zzz{|{z{{zz{zzyz{z{zz{{zz{{z{zzzzz{zzz{|{{z{zz{zzy{z{z{{zzz{zyzxyzzzyzzzzzzzzzyyzzyy{zzy|z{zyzyzyyzyzzz{{{zzzyzyzzyy{zzzzz{zz{zzyyyz{zzyz{|zyyyyyzyzyz{zz|zzzzzyyxzy|y{zzzzzzyzyyzyzzzzyzzz{zzzyzzzyzzzzzyzz{yzzzzyzzzyzzzzzzyzzyyyyz{{zzzzzzyzzyyyyyzzzz{{zzzzy{z{yz{z{{{{zyzzzzzyyz{{{{z{zz{zzzzzyzzzzyz{{zzzyyzzzzzzyzz{{{zzyyyzzy{zz{{z{zyzz{yzz{{z{z{{{{{{zzzzz{{{z{{{zzzzz{zyz{{|{z{zzzz{{z{zzzz{{{{{{z{z{zy{z{{z{{|||{{z{z{zyy|zz|{{|{zz{{zz{{{|{{{{|zz{{{{{z{{|{|{{{{z{zzz{{{{z{||{{{zz{{zyz{{{{z{{{{zz{z{zzzzz{{|{|{z{zzzzz{z{|{{{{zz{zzzyz{|{{{{|zzyzzyy{zz{{z{{{{yzyyzzzzz{{z{zzzzyzyzzyyzz{zz{{{z{zyzyyz{zzz{{{{yzzyyzzyzyzz{{zyzzyzyzyy{zz{yzz{zyzzyz{y{z{zzzzzyzyzyyyyyzzyz{{yzzyyxzyz{{{zzzzzzyzzyzzyyyzzzyzzzyzyyyzzz{z{zz{zzyzzxyyyzzzz{z{{zyzyzyzyzzzzzzz{yzzzzyzyzzzy{{{{zzzyyyzzz{z{z{zzyyzzzzzy{z{{{z{{zyzzzzzzzzz{yzz{y{zzzyzyzzz{z||{zyzzz{zzzz{{{z{{zzzzzyzyzz{{{zz{{zzzzzzz{z{zz{{z{zz{y{{z{{zz{{{z{zzzzzzz{{{{z|{{zzz{z{{z{{z{{|{{{zzzzzzyz{{{{{{{{{{{{{{zz{z{{{}{{z{zz{{{z{{{|{{{|y{zzz{{z|{{zz{zzzy{{z{z{{|{|{{{zzzzzzz{zz||{{{{zz{z{{{z{{{{zz|{{{{z{zzz|{{{{{{|z{z{zzzzz|z{{z{{{{zzzz{yzz{{{{zz{zzzyzzzzzzzzzz{zyzyyzyzy{zzzzy{zz{yzzzz|zzyz{|{zzzyyyyzy{zzzy{zzyyxz{zyzzyzzzz{zzyyzzzyz{zyz{zz{yyzyzyzz{{yy{zzyzyzzzzzzyz{z{{zyyyyzyzx{z{{zzzzzzzzyyyzzzzy{z{{zzz{zzzzyzzzzzzz{yzyyyzyzzy{z{z{yzzyxzzyzzzz{{{zzzzzzzzz{{zzzz{zzzyzzyzyzzy{z{|{zyzzzyzz|z{z{z{{zzzyy{zyzzz{z{{zzzyy{yyzz{{{{{{zzyzzz{z{{{z{{z|{zzz{z{zzz{zz||{zyz{{z{zy{z{{{{{{{{{zzz{{{z{{{|{{{zzz{zz{{|{z{z{{zyyz{zz{z{|zz||{zzz{z{{{{{{||z|{{{zz{{{zz{{{{|{{|{{{zz{{|{{|z{{{{{z{{zzz{{{z{{{{{{y{zzzz|{{{{{{{zz{y{zzzz{zzz{{{{z{z{{yy{zz{{{{{zz{zzzzzzz{{{zzzzyyzz{zyzzz{zz{{zzzzzyzzzzzzzz{|zzzyzyzz{z{z{z{zyyyyyyyyy{{yzz{zyyzyyzzzy{zzz{z{zyzyzyzy{yzzz|z{yzyyzzzyyy{z{{z{y{yyyzyyzzzzy{zzyzyzxxzyyz{zzz{zzyzzyzyzzzzyzz{zyzyyyzzyyzzzzzz{zzz{yyzzz{zz{{{zz{zyzyyyzzyyyzz{xz{yzzzyz{z{{{{zzzzyzyyzzzzzzz{{zyzyyzzz{z{z{{{{zzzyzzzzzzz{{{{z{zzzzz{zy|{zz{yzzy{zzzzzzz{{{z{{{zzzzzyyzzzy{{{{{{zyzyzzz{||{|zzz{zzz{|{{z{{{{z{zy{zzzzyz{{{|{{z{zzz{{{{z{zz{||{zzzzz{{{z{{{{{zz|z{zy{z{{{z{{{|{{y{{yzzz{z{{{{zz{zz{{{z{|{{{{{{{{z{z{yy|{}{{{{{z{{zyz{zz{{zz{z|{{z{yyzyzz{z{z{|{zzyy{yzyy{zz{zyz{zyy{yzyyzzz{z|{|yzyyzzz{zz{z{{{zyzzy{yy{zzz{zzz{yyzzzyyzz{yyzz{zzzyxyzy{zzz{{z{{yzyzyzzy{yz{zz{{zzyyyzy{zzyz{zzzyzyyyzy{zyzzyz{zzyxyyyzzzzz{zzzzyyyyzzzz{zz{zz{zzzzzyzyzzzzzzz|zzzyzzzyz{{yyzz{zzzyyyzyzzyzy{{zzz{zy{yyz{zz{y{{zzyyzyy{z|{z{z{z{zzyyzyz{zzzz{z{zzyyyzzzz{zzzz{z{zyyyz{zz{z|z{{{z{{zzzzzz{{zzz{z{zyz{zyz{{{{zz{{zz{zy{zy{{z{{{{{zzzzz{z{{{z|{{{{{{yzz{zy{{{{|z{|zzz{zzzz||{z{{{{{{z{{|zy{zz{{|{{{zzzy{{zz|{|{{{{{z|z{zzz{zz{z{|{zzzz{z{{{{zz{{z{{{{y{|z{{{z{|{{{zyz{zzzzz{{{z{{{zzzyzzzyz{{{{{{{{y{yzy{y{z{{zzz{zzyxzyyyzzz{{z{{yyxzyyyzzzzzz{{{zyzyzyzy{zyzz{zz{yzyzyzyz{{{{zzzzzyzyzyzzz{zzzzzyyzyyzzyyz{yzz{zyzzyyzxyzyzzyzyzzyzyyyzyzyz{zzyzyzyyxxyxzzzzzyzzzyzyzzyz{zzzzzzzzzyzyzzyyzy{zz{z{yzzzyyyz{zzyyzyzzzzzyyyz{zzzz{zyzzyzzyzzzz{z{|{yyzyyzzz{zzyzzzzyzz{zzzy{z{zz{{{zzyyyzyzzz{{zz{{zyzzzzzyz|{zz{{zzyz{yzzzz|zz{|zy{zy{zzzz{{{z{{{zz{zz{zyzzz{{{{{{zz{zz{{{z{{{{z{{zz{{z{z{z|{{{{zzzzzz{zzz{{{{{{{{{z{zzz{y{|{{{{{|{zzzz{z{{z{{z{{{{{z{{{|y{{z{{{zzz{yyzzy{z{z{z{{{zzzy{yzz{{{{{{{{{zzyzzz{z|{{z{{{zzzzz{zzzzy{{z|zzyzzzz{yzz{{z|zyyyyzyzzyz{{zzz{{zzzzzzzzz|yzz|{zzyyyyyyyy{{y{zz{{yzyzzyyz{zy{{{z{zzyyzzy{zz{zzz{yzzzz{zzzz{z{{{zzzzxzzyyyz{zz|{zzxyyzzzzzzzzz{z{zzzzzyzyzz{z{z{yzyyyzzxzzzzzzz{{zzyzyyzzz{z{zz{{yy{zyyyyyzz{z{{zzzzyyzyzyzzzz{zzyzyzzzyxz{zz{{{{{zz{{zyyzzzz{zz{zzzzzzzzzzz{zzz{zzz{zzzzzz{{zz|zzz{z{yzy{zzz{{|zzyzzzzzzz{z{z{{zz{zy{zzz{z{{zz{|{z{zzzzz{z{{{{{{zz{|{zzz{z{{{{{{{zzzz{zzz{z{{{{z{y{zzz{{{{{{{{|{{{{zz|{z{||{|{{{{{zzzz{{{|{{{{{{{z{{{z{z|{{{{||{{z{{zzyz{z{{{{{|{{zz{{zz|{{z{{||z{zyz{zzz{{{|{|zzzy{y{{z{{z|z{|{yzzyyzzzzz{z{zz{yzzyzyzzz{{z{{{zzz{zzyzz{{z{zzzz{zzyyzzz{zzz{z{{zyz{yzzy{y{{zyz|{zyzyzyyzzz{z{zzyzzzzyzzz{yzy{{zzzzzyzzyzz{zzzzzyyzyyyyzzzz{zzz{zyzyyzzzyz{zy{{zzzzyzyy{zzzz{{{{zzzzzyyzyz{zzy{zzxyyzyzzy{z{z{{yzzzzyyyzzz{z{z{zzzzzy{yyzzz{{z|{zzyz{zyz{zzz{zz{zyzzyzzyz{z{{{{{zzyz{zyz{{{z{{z{{yz{yyzzy{z{{z|{zzzzyzyzz{{{z{|{{z{{z{zz{{{{{z{{{z{zzz{y{|z{||{{z{zzzz{{{{z{{|{|{zz{zzyzz{{{{{{z|yz{{zzz{z{{zz{{z{zzz{{{{z{{{||{{z{z{z{z{|{{||{{{z|{zzz{{{{|{||z{zz{zz{z{{{{z{{{{{zzzz{{{{{|{{|||{{z{{zz{{z{{{{{{{zzz{zy{|{{{{{zzzz{zzzzz{{zzzyzzyyyzyyzzzzzzzzzz{yyyzyyz{z{z|{zzzyyyzxyzyzz{{|zyzzzzyyzzzzzz{z|zxyzyyzy{z{{z{z{zzzzz{yyy{zzy{{zzzyyzzyy{{zyz{zzyzzyzyyzzzzz{{{{zzyzyyzyzzzzzyzzzzzzxyzzz|{zzz{z{zzyzzzyzzz{z{{z{zz{{zzzzz{zzzzz{zzyzzyxzzz{{{{{zzyzzzyyz{{{zz{{zyyyzz{z{zzzzz{z{{yzzyz{{z{zz{z{zzzzzzzyzz{{zz{zzzzzzzzyy{{{{{{{zy{zzzzzzz{{z{}{{yzzz{{zz{{{z{{zzy{{zy{yzz{{{{{z{zzzzz|{z{{{z|{||{z{z{zz{|{{{{{z{{zz{z{{{||{|{|{{z{zz{{{z|z{{|{{|{{yzz{{{|{{|{{{{{{{{{z{|{{{{|{|{y{zz{zzz{||{{|{{{z{{zz{{z{{{{{{z{z{zzzzz{z{{{{{z{zz{zzz{{z{z{zzzy{{yz{zz|{z{{z{zyzzyzyyyzz{{zz{z{zyzzyyy{z{{z{zzzzzyxyzzyzzz{{zzyzzyyzyyz{{zz{{z{zyyyzyzy{z{zy{zzzyyzyy{{z{z{{{zzyyyyzz{zz{zzzzzyyyzzzyzzz{zzyzyzzzzyyyyz{zzz{y{zzzzzzzx{{zzzzzzyzyyyzyy{{{zz{{zzzzyzzy{{{{yzz{zyzzzzyzyzzzz{{|zzzyz{yzzzzzz{zzzyyyzzyyzy|y{{{{zzzyyzzz{z{zz|{{zzzzzyzzz{{z{{zz{{zzzzzyz{z{{{{z{zz{zzzyz{{zz{zzzy{zy{z{z{{z{zzz{zzzzz{y{{{|{{{{z{x{zz{{{{z{{{{{{zz{z{zz{|zzz{{z|{{z{{z{{{|{|z|{zzz{{zz{{{|{{{{{{{{zzzzz{|{z|||{{zzz{z{{{z{{z|{|{zzzy{zz{{{|{{{{z{{{{zz{{{{{{{{|{{{zzzz{{z{{{{|{|zzzzzzz{{{{{|{{{z{zzzzy{{{{z{{zzyyyzyyxy{{z{yz{y{zyzxyyz{zyzzzzzzzyyxyxzzyzzzy{zzzzyzyyzzzzzy{|z{zzyzzyzzzzy{zzyyzy{xzyzz{zzzyzzyzyzzyyzzzzzzzzzyzzzyyyzyzzyzy{zyyzyzzzzzzzzz{yyyyyyzxzzzzy{zzzzzzzzyyyyz{{zzz{yzzzzyzyzzzzzy{zzzyxyyyyzzzzz{z{yzzyzyyyzyzz{zz{yzz{yyyzzzz{z{zz{zzyzz{yzzzzz{{zz{zzyzzyzz{{{z{{yzz{zzzxzz{zzz{{zzzzyzzyzz{{zz}z{{zzzzzz{{zz{z{|zzzz{zzz{{{|{{{zz{zz{zzzz{z{zz{|{zz{zzyz{{{z{{|{{y{{{zzzz{{||{|{zzzzzz{zz{zz{{{{{{{{{z{z{|z|{||{{{z{zzzzz{zz{z{zz{z{{{yzz{{z|{z{{zzy{zyzzz{{{{z{z{{yzyyzz{z{{{|{{zyzy{zz{z{{z{{{{z{zyzzzz{{zzz{zzyzy{yzzz{z{yz{{zyxzzyzz{yz{y{zzzzxyyyzyzz{{{z|x{zyzzzzyzzz{zy{zzzzyzzzx{{{z{zyzzyzzzzzyzzz{z{{yzzyzzyxyzyzzyz{zzzyyyyzzzyzzz{zzzyzzzyyzzzzzz{{zzzzzxzzzy{zzzzzzyyz{yzzzz{{zzzzzzyyzyz{yyz{{z{{{yyzxzyyyy{z{z{{{yz{yzzyyzzz{z{{zzzyzzzyzz{zzyzz{zy{z{yzyzzz{zzz{yzzzyy{yzz{{zz{zzzzzzz{z{{{z{{zz{zzyyzzz{z{zz{{{zyzzyzyz{{z{{{{{z{{y{{{{{{|{{{{{{z{y{|zzz{{{{|{{{zz{{{y{z{{{|{{{{zzzz{zz{{{|z{|z{z{yzzzz{{{{{|}{{z{{z{{{{|{|{|||{{{y{z{z|}{{z{{z{y{{zyy{{{{zz{{|{{zz{{zz{{{{{{{{z{zzzzzz|{{{{{|zyzzzyyzz{{{{{{|{{zzzzyzz{z|z{y{{yyyzyzzyy{zzyz{zzzxzzyyzzzyz{z{zzzyy{zzzzz{z{z{|{zzzyyzzz{{zz{zzzzzyzyzyzz{yz{yzyyzzzyzyzzy{y{{zzyzyyxyzy{{z{z{yzyyyyzzyyzzzz{zzyzzyyzzyz{zy{zz{zzzyyyxzyyzy{zzzzz{zzzyzzz{zzz{{zzzyyyzz{zyzzzzzzzyyy{yyyz{zz{z{yyzyzz{z{y{{zz|{yzzzzzyyz{zz{{z{yy{zzyy{z{z{zz{{zz{zzzzzy||z{z{{{yzzzz{zz{z{z{{{zz{{zzyz{{zzz{{z{{yy{zz|{{{{{{{{{zzzxzz{z{{z{|{{z{{{{zz{|{{{{{{{z{zzz{z{{{{{{{{{{z{{{z{{{|zz{|||{zzz{z{{z{{z{||{|{z{{{z{z{{|z{||{{{{yzzy{||z{z|{{zz{{zz{z{{z{z{||z{{z{{z{{{{{{||z{z{{zzz{{z{z{{{{{zzzzzzy{|{{{{{{zyzzzyz{y{{{{z{yyzzyzzyy{zz{zzzzzzyzzzz{zz{zzzzzzzyyzyyzzyz{{z{zzzzyzyy{zz{z{zz{zzzzyzyzyzzzzz{yyyzyyyzzzzyzz{z{yzzyyyyyzzzz{{zyyzxxyy{yzzzzzzzzyzyyyyzzzz{zzzzzyyyyzyyzzzzz{{zyzzzyzyzzzy{zzy{zyzzyyzyzzzyz{zzyzyyzyzyzzzzz{zyzyz{yyz{{{z{{z{zzzzzzyyzz{z{{z{{zzzzzz{y{{y{{z{{zyzzzzyyz{{z{z{{zzzzzzzz{zzzz{{zzzzzz{yy{z{{{{{{zzzzzzz{z{|z{z{{zzzzzz{{{{{|{{{zz{{zzzzz{{z{{{{{zy{yzzyzz{{{|{{{{zyz{{|zz{{z{{||zzyyz{|z{||{{{{{{y{{z{z{{|{|z{{{{{{zzzzzzzz{{{z{{yzz{yz{z{z{{{{|{{{{z{z{{z{{{{{{|{zyyzzzz{z{{|{{zzy{z{{z{{||z{|zzz{zzzzzyzzz{{{zyyyyzzyyzy{zz{{{zzzyzzxy{{z{zz{|zzzyyyyzz{zy{zz{yzzyzyyyyzz{zzzz{xzzyxyyzzzyzzzzyyyxyyyyy{zyzzzyzzyyzzy{yzzzzz{zyxzyzzyzzyyzxzzzzyyzzzyx{zzz{z{zzxyzxzy{zyzy{{{{yyzzyxxyxyyzzz|{zyyyyyyxxzyzzzz|yyzzyzyyy{{zz{yzzyzzzzzyz{{zy{z{zzzyzyzyz{{zzz{{zzzzzyzzzz{zz{z{yzzyzy{zzzzz{z{zzyyzzzzzzzzzy{zz{{zzzzzzz{zzz{{{{zyzzzz{{{{zyzzzzzy{z{yzz{z{z{{zzz|zz{z{{{z|{{{{{zzzzzz{{z{{{{{{{yzz{y{zz|zz{z|{{{{z{z{yz{{z{{{{|{zzz|zz{|{|{|{{{y{z{zzz|{|{{|{||z{z{{zzz{|z{{{|zzyz{zzz{{|||{{{{zzyz{z{zzzz{z{{zzzyzyzzzz{{{{{{{zzzzzyzz{{z{zy{yzzyyyxxzy{zy{z{zzyyyzzyyyz{z{{{zzzxzyzyy{yyz|z{zyyyyzzzzzz{zzzzyzzyyyzxzzz{zz{{zyyyyyzxyz{zzzz{zyzyyyyy{zyzz|yyzzzzyyyyzz{yzzzzyyyyyzyzyzz{zz|yyzyyxyzzz{{{z{yzzzzyyyyyz{z{{z{{zyyzyyzxyyzyzyzz{zzyyyyzzy{zz{zzzzyz{y{yy{{{zzy{zyzzzzz{zz{{zz{zzzzyyzyz{zzzz{{zzzzzzzyzyz{zz{zyzz{z{xzzz{z{{{zzzzzzy{yy{zz{{{yzzz{{yy{z{{{y||z{{zzz{zzzz{{{zzz{z{{zzzzy{|z{{{{{zzz{z{yzzzz{z{{|{z{{zxzz{|z{{{{|zz{zz{zzz{zz{{{z{{zzzzzz{|{{{zz{{z{zzzz{|z{{{}{{{yzzzz{z{{|zz{z{{yzzzzy{|{{||{z{zzzyzzyzz{zzzz{{zzz{yzzzz|zz{y|zzzzyyzzyz{z{z{zzxzxyzxzyyyzzzzzzzxyzyyyyzyzzzz{zzzzyyzzxzxzzzz{{zyyyyzyzzz{zzzz{zzyyzzyyy{zzy{zzyyyyyyzyyzzzz{{yzyyzzyyzzzzxz{z{yyyyyyyzzyzzyz{zyyyyzyzzzzz{{zzz{zzzzzzyyzzz{z{zzyzyyzyzz{z{zz{zzzyzyzyyyzzzz{zzyzzyyzyzyzy{zzz{zzzzyyzyzzyyz{zzyzzzzyzxz{zyzzzzyzzzyyyyzzyzyz{{yzzzyzzzyzz{{zz{z{zyzzzyz{{{{|zzzzzzzzzyzz{zz{{zzzyzzzyy{{{{{z{|{z{zzyzz{{z{z{{{zz{zzz{{z{{{{{|{zzzz{{zyz{{{{z{{{zz{zzzz{|{zz|{|zz{{z{z{z{{z||{{{zzzz{y{{{{{z{{{{zzzzz{{{|z{{z|z{{zz{zzz{zz{z{|z{{y{{zzzzz{{z{{{z{zz{zzzz{{z{|{zzz{yzyzzz{z|z{z{{z{yzzyx{{{z{{z{yzzzyyyyz{zzzzz{zzzyzxyxzz{zzzzzzzzyzzyzzz{{{z|{zzzzyyyyy{{zzzz{zzyyzyzyz{{zzzzzyyyzzyzzz{yzzz{zzyyzyzzyzz{zyz{yyyyyyzyy{yyzy{zzzyyzyzyyzyzyyzzzzz{zzzzy{|{{zzz{zzzzzzyyzzzzz{{{yyzyyyzyyzzyz{{{zyzzyy{zy{zzz{z{yzzzyzzzyzzzzz{{zzzzzyzzzy{z{z{|zzzzzyzz{{z{{zz{yzyz{zzz{{z{zz{{yyzzzzzzz{zz{|zz{zzzz{zz{{{{z{{{zzzzz{zyz{|{z{{zzzz{{{zz{{|{{{{{zyyzz{{{{{{{{zz{{z{{zyzyz|{|z{{{|zzzz{zz{{{{{{{z{{{zz{|{{{{{|}zz{zz{y{yz{{{|z{{{{z{{z{y{{{zz{{{{|zzzzzzzz{|{{z{|{{z{{z{{z{{z{{{{{{{z{zzzzzz{{{{{|{z{zzyzzz|{z{{zzzz{zzzz{z{{{zz{{yzzyzzy{z{zz{z{zzyzzzxzzzz{{{z{yzzzyyzyzzy{{{{{zzzyyyzyyz{{z{{zzyz{zyzyz{zz{{{zzzzyyzzyy{zzzz{zzz{zyzzyz{z{zz{z{yyyyzyy{zzzz{zzyyzyyzzyyz{zz{z{yyzyxyyzz{z{zy{z{yz{xzzyz{z{zz{{zzy{zxyyz{zzzz{{zzzyzzzyyzzzzz{zzyy{zzyyzzz{zz|z{zzzyzzzzz{|{z{zyzz{yzyy{z{{z{z{z{zzyz{zz{{{z{z|zzyzzz{xzz{|{{{z{z{z{y{z{{|{{{{{{zzzyzzz{z|z{z{{zz{z{{zz|{{{||{{z{{z{zzz{{zz{{|{{zz{zzzy{z{{{{||{zz{{zzz{{|{{{z{{{zzzzz{{{{{||{|{zz{{{{{z|||{|||{{{{zz{{{{{{|{{{{z|{zzz{{{{z||{z{{zz{{zz{{z{{{{{z{zyz{zyz{{{{{|{{zzzzyzz{{{{z|{z{z{zzzzz{z{{z{z{z{zy{yyxz{{z{yzzyyyzyzzzyy{zz{z{zyzxyzyz{zz|zzzzzzzyzz{zy{z{zzy{{zzyyzyyzzzzy{y{zyyyyzyyy{zzzz{{zyzzzzzy{zzz{z{zzzy{zyyzyzzzzzyzzyzyyyzyz{{{zzzzzzzzy{yyz{zzz{{zzzzzyyzxy{zzyz{{zyzzzyzxzyzz{zz{yyzyzyzzyyzzz{zzzyzzzzzy{z{zzzzzzyyzzzzzy{zy{{{{zzyzyyzy{z{{z|{zzz{zxz{zzz{{{{z{zzzzzzzyzz{{zz{z{{{z{zz{||{{{z{{{zyyzzyyz{zz{z{{{z{zzyzz{{{{{{zzz{zz{zyz{{{{{{{{{{{{zz{z{{|z{z{{{z{z{zzzz{zz{{{|zz{{z{{{|{z|{{{|z{z{z{zzy|{{{{|{zzzz{zz{{|z{}z{z{zzzzzy{z{{z||||{zz{{z{y{{z|{{||{{zzzzz{z{{{{{{z{zz{z{{y{zzzz|{z{zzzzzz{z{{yzzz{zyzyzyzyzz{z{zzzyzyzzyzy{z{z|z{{zzzyzyyyzzzz{{{zzyzzyyzzzy{yzz{zzzzz{yyyzzz{y{z{zzzyzy{yzz{zyzyzzzyzyyyy{z{y{zzzzyyyzzyxz{yzzzzzzyyzzyzyzzzzzz|zzyyzyzxz{zzz{zz{zz{zyzy{zyzzzz{{yyyyzyzy{y{zzz{{yzyyzzyzz{zyzz{{yzzzzzzzzzzzz{zzzyzzzzzzy{zzz{|{zzzyzyz{z|{zy{{{zzzyzyyzyy{zz{zzzzyzzzzzzz{zzz{{{zzzzyyyz{{zzz{{zyzzzzz{z{z|z{{z{zy{zy{z{{|{{{{{z{zy{{zy{{{{{{{{z{z{zyzz|{{z{|{{|zzz{{zz{{{{{{{|z{z{zz{{z|{{||{{{{zzy{zz{|{|{{{|{zz{y{zz{{z{{{|{{zzz{{zz{{{z{{z|{z{z{{zz{{zzz{{|zzzyyz{{{{z{{{{{{{z{y{zzz{{zz{{{zzyzyzz{{zzzzzy{zyzzzyyyz{zzzy{zzzy{zzzzzzzz{zz{zzzzzyyzzzzz{{{{{zzzyyyyzzzzyzz{zzyzyyzy{yy{zzzzzyzzyyzzzzzzz|zz{zzzzyyyyzzzyz{{zyzzzzyyyzyzzz{{zyyzyzzyyyzzzz{z{yyzyzyzzzzz{z{z{zyzyzyyzzy{{{z{zzyyzyyzzyzzyzz{yzyzz{zyyzzzzz{{zzzzzyyyzzz{{{{{{{yyzy{yz{zzz{{|yyzyzzzzz{zzz{{|zzzzyyyy{yz{zz|z{zzz{zzyz{{{z{z{yzzzzzyz{{{zz{{zzzzzzyzy{|{{{z{{zzzz{zzzzz{{{{zzzzzzzzzzz{{zz{{{z{yz{zyyz{{{{{{{zz{z{zzz{{{zz{z{z{zz{z|{z{{{{{z|z{zzzz{zz{{{{z{{zzz{zz{zz{{{z{|{{{{zz{{zz{{z{{{||{{zzzzz{{{{|{{{{z{{z{zzz|{{zz{{{zyzzzz{z{{{z{|zzyzzzzzyzz{{{zzzyzzzyzyyzzzzzz{zzyzz{zyyzz{{z{{|zyyyzyyyzzzzy{{yzzz{yyyzzzzzyzz|zyzyyyyxyz{{z{z{yzzzyyyyzyzyy{{zzyyzzzxyyyzzzzzzzzzyyzyyzyz{zzzzzzyzyyzyzzzzzzz{zyzzyzyyzzzz{zzzyyyyyzyyzzyzz{{zz{yyyzxyyyz{yzzzzyzyyyyyzzz{y{{zzyzyzzzy{zzz{z{zzzyyyyzzy{{zz{{zzzzzzyzzzzz{{z{zyyzyzyzzy{zzz{{z{zzzyzzzyzzzz{yzzzzyyzzxz{zzzz|z{zzzyzzz{|{{zz{{{{{zyzzz{{|{{{{{z{zyz{z{{{zz{||{zyzzzyzzz{{{zz{{{zyzz{{y{{{{||{|{zz{zz{zz|{{{{{{zzz{zz{y{|z{|{{{zzzzzzzz{{{{{{z|{zz{zzzz{{z|z{||{zz{{zyz{{{{{z||z{zyzz{zz{z{{{z{{zy{y{zzzzz{{z{yz{zzyzyz{z{z{z{zyzzzyyyyzzzz{yz{zzyzyyzzzzyz{{zzzyyzzyyzzzzzz{{zzxzyyzyzyz{zyz{{zyzxyzzy{y{{yzz{yzzyzzzxyzy{z{zzzyy{yyxzzz{zyzzyyyyyyyyzyzzzzzzzyyzyyyzzyzyzyy{zyzzyyyyz{{zyy{zzzzzyzzzyyzzyzz{zyyyyzyyxzzzzzzzzyzzxzyzzx|zz{{z{yzyyyzzzzz{yz{zyzzzzzyzyzzzz{{{{zyyzyyyyzz{y{{{zyzxyyzyxz{{zz{zzzzzzzyzzz{z{|{{z{{zyzzzzz{|{zz{zz{zzzxzz{{{{zzzzzy{yzzzz{{z{{z{{zz{zy{zz{z{{{z|{{yzy{zzzz{{zzz{{{zzzzyz{{{zzzz|{zyyyzz{zzzz{zz{{{{{zy|{{{{{zz|{{{y{z{zzz{{{zz{{{zy{zyy{z{{z{{z{{{zyz{{y|zzzz{{{{{zzzy{z{zz{zz{|{{yyzzzyzy{{{z{|zzy{zzyzz{yzyz{yzyyz{yy{yzzzzyzzzzyyxyzyyzzyy{z{zzxyyyyzyzzyz{z{zyzzyyxzyyzz{zyy{zxyxyyyzzyzyyz{{zyzyyyzyyzzzz{|zzyyzzyyzzzzyyzzzyyxzzyyxzzyzzzzzyxyxzyyzyzyzzzyyzyyyyxyyzyyzzyyzzyzxyywyyzzyyz{zzzyxzyyxyyzyyzy{zyxxzyyyxyyxyzzzyyyyyyyxz{zzzzzzyzyy{yyxyzzz{z{{zzzzzyyyyy{zyzzzzyzzyyzzz{zyzz{{zyzzzyzzyz{zzzzzzy{y{yzzzzzzzyzzzyzz{xzyz{{{z{{zzzzyzyzzz{z{{{{{yyzz{zzzzzz{z{{{zzzzzzyyz{{z{{{zzzyy{yzz{{{{{{{{zzzzzzzzzz{{{{zz{{y{z{z{z|{{{{z|{{z{zzzzz{{{zzz|{zyzzzzzz{z{{zz|{y{z{yzyz{{{zzz{zzzzzzzzz{zz|{|{zzyyzyzzyz{{z{{zyz|xzxyzz{zzy{yyzyyyyzzyy{zyzzzzzyyz{zzzzzzz{{{{yyyyzyyyzzzxzzz|zyzxyyxzzyzzy{zzzyzyzyyyzyzzzz{zyyyyyzzzzzyyzzzzzzzyyyyy{zzzyzzzyzyyzyyyzy{yyzzyzyyzyyyyyyyy{zzyzyyzzyyzzyzzz{yzzzzyyyyyyzzzzz|zyyyyzyyyyzyyzyyzyyyyyyyyy{zzyzz{zzyy{yyyzyzzzzyzyzzzzyzzzy{zzz{zzzzzyyzy{zzzz{{zzzzzzyxz{{z{z{{{z{zzyyzzz{zzzz{zzzyyzzyyz{zzzz{zzzyzyzyy{{zzz{z{zyzz{yyzz{yz{{zzzz{zzz|z{y{{zzz{yz{y{|y{zz{zyy{|{zzzzzyzzz{z{z{|{zzzzzzzz{zz{{z{{zz{yzz{{{{{{{{{{zyzyz{z{{zz{{z{zz{z{zzzz{z|{{|z{{{zzzz{{{z{z{zz{zzzyy{zzzz{{{zzzzyzzzzzzz{{z|zzzyzyzyyzzz{yzzz{z{yzzzzzy{{zzzz{zzzzyyzyzzz{{{{{{zyyyyzxyzzzzz|z{yzzzzyyyzzyzzz{yzxyyyyyzzyz{zzzzzzzzzyyy|yzyy{zyzzyyzzy{zzzzz{zzxzyyyzyzyzzyzzzzyzyyyyzzzzzyzzyyyyzyzx{zzzz{{zzzzyzxyyzzz{zzzzz{yyyyxzzzzz{|{yz{yzyzzzyzzzzyz{{zyzyyzyzyzzz{z{{zzyyzzzy{{zzzzz{zyyzzyyzzzzzzzz{zzzzyzz{z{zzzz{{{zz{yyzzz{{{{{{zzz{y{yzzzz{{z{zzzzzzzyzyzz{{{{z{zzzzzyz{{{{{{|{{zzz{zz{{{{z{z{z{zzzzyyzz{z{z{z{{zz{zzzzz{|z{{{{{zzzyzz{z{zz{||||{z{{zzz{{|{{{z{{{z{zz{{z{z{{{{{|zzzzzzy{z{{{z{{{{{zzz{zy{{z{{||{z{zzzz{{z{{{{{{z{{zxzzzyzzy{{{z{z{zz{z{yzzzzzzy{zzyzyyzy{{{zzzzzz{yyyxzyzzzzz{z{zzzyzzxyzzzz{{{zzz{yyyyzzzz{zzzzyyzyyyyyyyz{zzyz|yyyzzyyzzyyyzz{zzzzyyyzyyzzzz{zzyzyyzyyzz{zyyyzyzyyyyzzzzyzzz{zyxz{yzyzzzzzzzzyzzzzyzyyzzzzzz{zzyyzzzyyzzzyzz{|zyyxyyyz{{zzz{z{{zyyz{zzz{zzzzzyzzyyyzzyz{zzz{{{{zzyzyz{{{zyyz{|yzyzzyyxzz{zz{{{zzzz{yzy{{{{y{z|yy{zzyyyz{|zz{zzyzzzzzyz{{zz{zyzzzy{zzzy{{{{{|z{zz{zz{{z{{z{{{{{{{z{zzzz{{{z{{{{{z{z{{zz|{z{{||zzzzzz{{zz{|{{{||{zz{z{zzz{||{{{|{z{{{z{z{{{{{{{zzzzzz{{{{{z{zz|{{zz{z{zzz{{|{z|{y{zzzyzzz{{|z{{|yzzzzzz{zzz{z{{zzz{zzzzy|z{{{zy{zzyyzyzyz{{{zzz{zyzzzyyyzzzzzz{zyzyyzzyzzzyz{{{yzxyzzyyyzzz{zzz{zz{yyyzzzzz{{{{z{zzyzyzyz{zzy{zzzzyyyyzyzzz{yyzzzzzzyxzzzyzzzzzzyzyzyxyyzzzyzzz{zyzzyzzzz{zyzzz{{yz{yzyyz{z{{z{yyyyyyyyyzyzyz{zzyzzyyzzyyzzzy{z{{zyzyzzyz{zzzzzz{yyyyyzzzz{yzzy{zz{zyzzy{zz{z{zzzzzzzzzzyz{z{{{zyzy{{zzz{{z{{zzz{y{zyyyzzz{{zz{|zz{zzy{zz{y{z{z{zzzzzyzz{{z{{{{{{z{{|z|z{z{{{{{{{zzzzzyy{{|{{z|zz{zz{z{z{||||{|{zz{zzz{zzz{|z{|{{{zz{zz{z{{{z|{|{y{{{yzzy{|{{|{{|zzzzz{zzz{|{{{{{{zzzzzzz{{{|{{|z{zyz{{{{{z{{z{{{z{{z{{zz{z|{zz{zyzzzzyy{{{{{y{{zzzyzy{yz{zzyzz{zzyyyyyy{zzzzz{{zzyyyzyyzzy{{z{zzzyzyzyzzzyyzz{zzyyyyyyyyzzzzzz{yyzyyzzyzzzzyx{zzzzy{zyyzyzzz{zzzzzzyyxzyz{z{{zyyzyyzyxyzzz{yzzyzyzyzxyyz{zzz{z{zyzzzzzzzyzzz{{{zxzyzyzyyzzyy{zzzzyzyzyzy{zzz{{zzzyyzzyyzzzzzz{zzyzyyzzzz{zy{zzz{zzyyzzz{zz{z{z{yzyyzzyzzzyz{{{|{z{zzzyzz{z{zz{{zyzyzzyyz{{{{z|{zzz|zxzzz|{z{zzzzzy{zz{zz{{{|{{{{zz{{zzz{{{{z|{{z{z{z{zy{zz{{{|{{z{{{zzz|{{|{z|{zz{zz{zy{{{{{{zz{yyzzzz{z|{{zzz{z{{zzz{y{{|{{{{{{{zz{{{zz{{{{{{{z{{{zzyz{{zz{|{{z{zz{{z{z{||z|{zzzz{yyzz{{{{{{{zzz{yzzyzz{{zzz{zyzyyzzzyzzzyzzz{zzzyzzyyz{yzzyzzyzzyzyzzzz{z{z{{zyyyyyzyy{{zz{z{yyyyyzyx{{zzyzz|yyyyyzyyz{zzy{{zyyzyyzyyyzzyyzzzyyzyzyyxzzxzyz{{yyyyzyyy{z{zzz{yzyyyzzyzzzzzzzz{zzzyyyxzz{zzzz{z{yyzyzzyzyyzyyzzzyyzyz{zz|yzzz{zyzzy{zzyyyy{zz{{zzyyz{zzzz{zzzzzzz{zzzzzyyzzy{z{yzzzzz{zyzzz{{z{zzzzzzzzz{zz{z{zyzyzzyyz{z{{z{{zzyz{{yzzz{zz{{{{yz{zzzyzz{z{z{{{zzyz{z|y{{z{{{{{{zzzzzz{{zzz{{{{{zz{zzz{zz{{{z{{zzzzzzzz{|z{{|{{zzzz{zzzzz{{z{{|{{{{zz{zy{z{z{{zz{{zz{z{zzz{{{{|{zzzzzzzz{{{{|{{|yzzyzzz{{{z{z{|zzzzzzyyz{{{zzz{zzzzzzyzz{z{z{{zxyxzyyyyyyzzzzzzyyyyzxzzzzzyzz{zzzzxyzzzyzyz{z{zzyzyzyzyzz{zzyzzzyzzyyyyzzzzy{z{yzzxyyyyzzyzzzzyzyyyzxyyyzzyzzzzxzyxyxyy{zzzzyyzyyyyzyyzzzzzyzzzxyzyyyyzyzzy{y{{zxzzzzzzz{{{zz{{zzzyzxyy{yzzyzy{z{zyzxzyyzz{z{{zzyzyzzyyy{zz{zz{zyzyyxyy{{z{zzz{zyyyyy{yzzzzzz{z{yzzzyyzz{{zz{z{zzzzzyzyz{z{z{z{zxzzzzzzzz{{yzzzzzy{zyzzz{{{{zyzzyzzzzzzzz{{{|{{yzz{yzzz|z{|{{{{zzzzyyyz{{{z{{{{{yzz{zzzz|z{z{{{zyz{{{|{{{|{{{{z{yzzz|{z|{{{{{{{{{{zzzzzz{{z{{{{zyzzz{zzz{zz{{{{{{{{{z{{z{{{{{{{zzzz{yzzzzzz|{|{z{zzyzzzzz{{zzz{z{zzyzzyz{zz{zyzzyzyyyyyzzzz{yz{zxyzyxyyzzzzz{{{zyyzzyyxz{{yzzzzyyyxyyzzzyyzyz{zzyzyyzzyzyzzzzyzyzyxyzzyzzzzz{y{zyyyyyyyzzzzzz{y{yzyyyyzyzzyz|zzyyxzzzxyyzzyzz{yzzzzyyyyzzzzzzz{yyyyyyyyyzzzzzz{yzzzyyzxzyzzzzyzzzzyyzyzz{zzz{z{zzzyyzzyz{zzzz{zzyzyzyyyzzzz{zy{zyzyyyzy{yzzzzzzyyzzyyyy{zzz{{zy{yz{{zyyxzz{{{{{zxzyyy{yz{{yz{{y{zyzyy{zz{zzyzzzz{z{zzyzz{{{{z{z{zzy{z{z{zzzz{{{{zzy{yzy{z|{{z{{zzzzzz{z{{{{{{|zzzzzz{{{z|{{|{z{{zzzzzzzz{{{z||{|yzz{zzz{{z{z{{{{y{{z{zzz{y{z{{|z{yzyzyz{{z{{|{{yzzz{zzzz{z{{{z{{zzzyzyzz{|{zz{zzyyzyyyzzz{zzzzzyyyyzyxyyyzz{zyz{yyyxzxyz{yzzzzzzzyyzyzyyzzz{zz{yyyzzyxyyy{{zyzzzyyzyyyyzzzyzzy{yzzzzy{zzz{xzyzzzzyxyzyyzzzyyzzzyy{yxyyyzyyzyzzzyyyxxxyxzzzzzz{zzyyzyyxyzz{z{zzzyxzyyxzyy{y{yy{{yyzzzxyyyyzyz{zzzyzyzyyzxzzzzzyzyyyzy{yyzzzyzzyzzyyyzyzzzzyzzzy|zzyzyyzxzzzyzzzzzzzzzzyyz{{z{zzzzz{yyyyzzz{{zz{zzzzzyyyyzz{zzz{zyyy{zzzzz{{zy{z{zyzyz{zzzz{zz{{{{{yzz{z{zz{{z|z{{y{yzzzyz{zz{{{zzzzzzyzzz{zy{{{{{z{zzzzz{{{{{{z{zzz{{zz{z{{{{|||zz{zzzz{zz{{z{zzzzzzzzzz{{z{{y{{{yzyzzz{zzz{z{|{zzzyzzyyzzz{zzz{zyzzzzzzz{z{zz{zzzyyzyzyzzz{zyzzyyzxyyyzzzzyzzzzzzyzyzzy{zyzzzzzzzyzz{yyyzzzzzzzzyzxxyyzyzyzyyyz{yzxyyzxzzzzzzzzyyxxzzyyzxxyzzzzy{zyyzzxzy{zyzzyzyzyxzyyyzzzyz{zyxyxyyyyzzyzyyzzyxzzxyyzy{zzz{zzzzzzyyyyz{zyy{z{{yyyyzyzyzyyz{zzzzzyyyzyyzzyyzzz{yz{zyzyzz{zy{{{zyyyzyzyzzzzzzzzzyzzzyzyyz{zz{zzxzyyzzzzzzzzzzyzzyzyzxyyzzz{z{zzzzzyyzyzzzzz{z{zzzzz{yzyzzzzzzz{{yyyzzzzz{{{{{zzz{zz{{zzz{zzz{z{zzzzzzzz{z{||{{{{zzzzzzy|z{z{{{|zzzzzzzzz{{z{|{|zzz{z{zyz{zz{{|{{yzzzzz{z|z{z{{|{yzzzyzz{zzzz{{{{{zzzzyyzzzz{z{{z{zyzzyzz|{yz{|zz{zzzzzzz{{zz{{zzzzzzyzzzz{{z{zzyyzzyzyyzz{zzz{{zyyyyzzzzzz{{{z{zzzzzyzzyyyz{z{zyyzxzz{yz{z{yzzzzyxzzzyxzz{zzz{zzyyyyzyx{{{zyzzyzyzzyxzy{zyzyz{z{zyyxyyyy{zyzz{zzyyyzyzyzzzyy{zzzyzyxyxyyzzz{zz{zyyxxxyyzzzyzzz{zzyzzzyzzzzzyzzzyzyyxyzyy{zzzzzzzyzxyyzzzyzzy{{{yzyxzyzzz{zzzz{zzyzy{xyzzzz{z{{zzyzzyyzyzzyz{z{zzzyzyyy{zz{zz{{zzyzzzzzzzzzzz{{{zyzzyyzyz{zzz{z{zz{zzyzyzzz{{{z{yzzz{{zy{zz{{|{{zzz{yyyyz{z{{z{z{yzz{zzz{|{y{{{{zzyzzz{zzzzz{{{{zzzzz{z{z{{z{{{{{z{zz{zyz{z{zz{z{zyzzyzzz{zzz{{zzyyzzzzy{zz{{{{{{z{zyyyzzzz{{{{{zzyzzyzyz{zzzzzz{zzyzyyzzz|{{zyzzzzzyxzyzzzyyz{zyyzxyyzyzzz{zz{{{yzyzzzzzzzzzzzzzzzyyzzz{z{zz{{{zyzxyyyyy{{z{zzzyzxzyzzyz{z{yz{zzzzyyyzyzzzyy{z{zyyzzzzzzyzz{z{{yyzyzyzzyzyy{zyzyyyyyyyyz{zzzz{yzyzzyyyyzzzzz{|zzzyyzzzyzyzz{{zzzyzyzyzzy{{zz{{zzzzzyzyyzz{zzz{{zxyzzyzxzz{{zy{{zyyyzyzzz{z{{{{{zzzzzyzyyz{zzz{yzzzzzzyyzzz{z{zz{yzzzzyyz{z{z{{zz{zzzzzzzzzz{{zzzz{zzzzzz{z{{{{zzzzzyyz{{zz{|{{{yzz{yyzz{|z{zz{{{z{zzyz{{|{zz{{{zyz{z{{z{z{{{{{|{y{zz{zzy{{{{{{{zzz{yzzzz{{|z{{z{yzzz{zyz|{{{{||zzzz{{z{z{zz{{{|z{zzyzz{z{{{{{z{{{yzzyz{z{{{{z{{zzzyyyzyyz{{zzzyyyyyyy{xzz{{zy{zyyyyyyyyzz{{zzz{zyxzzyyzzyzzyzz{{y{yzyyyyz{zzzzzyyzzzzyzyz{{zzzzzyyyyyyyyzyzy{zzzx{yyyyyzyyzz{zzyyzyyyzyzxzyzz{zyyyyyyzyyzzyzzzyyzzxyyzyyyzyzz{yzzzyxy{yyzzzzzzyzyyzyyyyyzyyyzzyyyyyyyyzyzzzz{zzyyyyzzyyyzzzz{{zzzyyzyyzzz{zzzyzyzzyyyzzzzzzz{|{zy{xzzyyzz{{zzzzzzz{yyzyz{z{{{z{zzzzzzx{{zzz{zzzzzxyzyzzzzzzzzz{zzyyzyzzzzzzzz|{y{zzzyzzzzz{{z{{z{z{z{yz{zz{zz{{zyzzz{zz{z|z{{{z{zz{{z{zz{{z{{{{{{z{y{zz{|{{|{{|{yzzzz{{z{{z{{|zzzzzzz{zzzzyzz|{{zzz{{zz{yz{y{{|{{{zzzzy{z{z{{{zzzyz{zzzzzzzzz{zzy{zyyzzz{|{{{zzzyzyzyyzz{zzzz{zzzyyyzyzy{zzz{z{zxyyzyyyzy{{{zz{zyzyxzyy{{{{yz|{{yzyyyyxzzz{yz{{zyzzzzyyzy{zyzz{zyzzzxxy{yzzz{zzyzyyxyzyzyyz{z{zyyyzyyyxzzzyz{zyzyyyyyzyzzz{{z{zzzzyyyyyzzz{yzzzzzyyzyzxyzz{zyzyzzyxzyzyzzzz{yyzzzyyy{zzzz{{zz|zzzzyzzzzz{z{zzzz{yyzzyzzzzz{zzzzyzzyxyzzzz{z{{{{zyzzzzzz{zzz{z{zzxzz{zz{{zz{z{zzzzz{zyzz{{zyz{zzzzz{z{yz{zz|||zzyzzzzzzz{z{{z{{|zyyzzzzz{z{{z{z{zzzzzzz{|{{z|{{{zz{zzz{z{{zz{|{z{y{{yzy{{|{{|{|z{zzzzzzzz{{{|{{{{zz{zzzzz{|{{{{{{zzzzzyz{{{{z{|{zzzzzyyyz{{zzz|{yzzyzzzyz{z{zzz{zyzyyyzzyyyzz{|zzzyyzyyzzz{z{zzyyzyyzzy{zzzz{{{{{zzzyzxyzyzz{{{zzzzy{zyyzzy{zzz{zzzzy{zyyz{z{zzzyzzy{yzyz{yzz{{zyyzyzyyyzzzy{{{{zyyzxzyzzy{zzzzzxyzyyyzyzzzzzz{zyyzyxyyzzy{zzzzzzzyyzyyyyzzzzz{{z{zzzyzxyyzz{zzzzzzzzyzyyzzzz{z{zzzyzzyzzz{yz{{{zzzzzyzyz{yzzz{{zyzzzyzzzzz{zz{{zyzzzzzz{z{zz{{{zyzzyyyzz{{zz{zzzz{zzzyyz{{{z{|{{zyzzzzzzzz{{{zyzzzzzzzzz{{||{{zzyz{{zz{{{z{{{|{zzzz{zyz{{{{|z{{{z{zyz{z{||z{z{{zz{zyz{zz{z|z{{{{{{z{z{{{{{{|z{{{z{z{{{zz{{{{{{{{{yzzzz{{{z{z{{|{zzzzzyz{zzz{z|{{{yyzzzzz|z|y||{|z|zzyyy{{z{zzzzyzzyzzzzyzzzz{zzzyyzzxzyzzzzzz{zzyxyyyyxz{{z{{zzzyyxzyyzz{zzy{{zzzxyyyzzyzzzyz{yzzyzxxyyyzzz{zzzyyyxyyyy{{zzy{{{zzzyzyyyzyyyzyzzzyzzyyzyzyyyyzzyyyyyyxyyzzzzzzzzyyyyyyzyyzzzzzzyyyyzyzyyyz{yyzzzzzzyzy{yzzyy{z{zzzxzzyyzzzz{yzzzyzxyzzyxyz{zy{zzyzyyzyyzzyzzzzzyzyy{yzzzzzy{zz{|zzyzyyzy{z{{z{zzzz{yzyzyyz{z{{{yyzzyzzyyzz{zzz{{zyz{yyyzzzzzzzz{yzzzzzzy{|{{z|{yzzzy{y{zzz{{{{{{zzyzzzzyzz{|{z{z{yyzzz{z{{{z|{{{z{zzz{{zzz{{{{{{z{zz{zzzz|{{||{{{z{yzzzy|{{{{{{{zzzz{zzz{{{{{{{z{zz{z{z{zzzzz{|{zzyzzzzzz{{{|{{{zzyz{zzxz{z{{{{{zyz{yyyzzzzzyzzzyyyyyyyyzzzzzzzzzyzzyyyyzyzzz{{{yyzxzzzyzz{zz{z{zz{xyzyzyz{{y{zzzzzzxzzyzz|zz{yzyyzyyzzz{{zyzzzzyzzzyyyyzzzzz{{zzzzyzxzyy{zzxzz{yzyyzzzyz{{zyz{{yyyyyzxyzzzzzzz{yy{yyyyyzzz{zz{{zyzzyyzzzzzyz{z{zyzyzzyzyzzzy{|zyyyzzyyyy{zzzzz{{zzzzzzzzzz{z{{zyyyyzyyz{zyzzz{zyy{zzzzzzzzz{z{zzzzzzy{zz{{{{zz{zzyyyzzzz{{{{z{{z{zzyyzz|z{{y{{z{zzyzzzyz{{{{z|{{z{zz{zzz{y{z{{|{zz{zzzz{{z|{z{z{yyzz{yz{|{{zz{{zzzzy{{zzzz{{||{{{{zz{zz{|z{{z{{|{zz{zzz{{|{{{z{zz{z{z{{zzz|z|{|zzzz{zz{{{z{|{||{{yyyzyzzz{{{{{{zzyzzyzzz{{{{{{zzzyzzzzzz{zz{{zyyzyyyzzyyz{zzzz{yzyyzyyyzzzyzyzzzyzxyzyyzzyz|y{yzzyyyyxyyzz{yzzz{zyyyzyyzyyzzzzzzyywyyzzy{zzyzyzyyyyyyyyzy{yzyzzxyyyyyyyyyzzzzz{zyyyyyzzyzyz{{zzyyyzxyyyyyzzzy{{zzzzzyyzyzzzzz{zyzyyyzyyyy{yz{{yzzyzyxzxzzzzyz{zzzzxy{zyzzzzzz{zzzyyzzzz{yzzz{z{zzzzyy{zyzzzzzzzyyyzzzyyzzyz{y{{zzzzyzzyzzzzzz{zzyzxzzzyz{{zz{{{{yyzyyyz{{zz{z{zyyyyzz{yzz{{z{{zzzzzzzzz{z{{z|z{{zzyzz{zyz{{{{{{zzzz{z{z{{{yzz|{zy{zz{zzzzzz{{zzzz{{{zzzy{{{{{{{{z{y{z{zzz{{{z{{zyzzz{z{|{z{{zz{|zzzzyzz{{|{{{{|z{zyyzzzz{zz{{|zzyzzzzzz{{z{{z{zzyzyzzz{z{{z{zzzyyzyzyxyzzzzzzz{yyyzyyyyyzzzzzzzzzzxzzzyyzzzzzzzzxyyyzyyzzzzzz{zzyzyyyzxzzzzzyz{zyyyyz{xzzyyzyzyyzzyzzyyz{zzyzzyzyyyzzzzzyzzyzzzzzyzyyyzzzz{y{yzyyyyzyyzyzzz{zzzyyzyzyzxyzy{zy{zyzyyyyzyyz{zzzyzyyzyzyzyyzzzyzzzyzzyyyyyyzyzyzzzzzxy{yyzyzzz{zy{zzyyyxyzzzyzz{z{yy{yzyzyz{{zz{z{zyzyzyzyzz{z{{{{zyzzyzyyy{z{zyzz{zzzzzzzz{zzzzzzzzzzzyzyz{|z{zz|zzzyzzyz{zz{{{z{{zzzzzzz{zzz{|{{{yzzzzyz{zzzzz{{zyzz{{{zz{zzz|z|{{zyzz{z{z{{z{{|{|z{{{zy|{{{z{{zzyyzzyzz{{z{{{{{{{{zzzzz{{z{{z{z{zyyz{yzz{{{{{{{{{yzzzzy{{{z{z{{yzyyzyyzzzzz{zyzzyy{yzxzy{zzzzz{yyyzyyyyzzyzz{z{zzzyyzzx{zyzzzzzzyyzzyyyy{zzzz{{zzzyzyzz{z{zzzy{zyyyyyzyyzzyyzzzzxyyyzyyz{{zxzzzyzzyyyyyzyzzz{zzyzyxzyyzyzz{zzzyzyyzzyzyyzzzz{{zzzzyyyyzyzzy{zzzzyxzzyyzyyzzyyzyyyzyyzzzz{yzyzzzzzyzzyyxzzz{z{{zyzyzzzyzzz{zz{z{yyzyzyyzzzzzzyz{yz{zzyzy{z{{z{{zzzzzzzzzz{z{zz{zzyyzzzzxzz{z{{{{{z{zxz{zz{yz{zz{{zzyz{zzzz{{z{{zz{{zzzz{{zz{zz|zzz{{zzzy{z{{z{{z{zyzz{zzz{{{{z{{zy{{yzzzzzz{z|{{zyyzz{zz{|{{z{{z{z{yyz{zz||zzzzzzzzzyzyy{zzz{{{z|zz{yzzz{z{{z{{zz{{zy{yzz|yz{{|{{zzzyzzyz{z{z{zzzzzyzyzzzzzz{zy{yyzxyyyyy{zz{zz{y{yyzyxyzzyzy{zzzyzxyzzyz{zzyzzzzzzzyyyzzz{{{zzzzxyyyyzyzz{zyz{{xyyxzyzyyzz{zz{zyzzyzxyzzzyzzzyzzzzyyzzyzzzzyyzzxyyzzyyyzzy{xzzyzyzyyzyzyzzz{yz{{yyxyzyyyzzzyzz{yzyzzyyyyzzzzzzzzzzyyyzyyzyzyz{{yzzxzzzy{z{zzz{zyxzy{xzzyzzzzzz{zy{yyyyy{z{zzzz|yyzzyyzzzyzzzz{zyzzzzyzyyzyz{{{{zzzxzzzzzz|{zz{{{zzzyzzyz{{zy{{z{zyzzyzz{z{z{z{|{zzz{zzzz{zzz{{{zyz{zzyy{z||z{{z{zzyyyzz{{{zz|z{zzz{z{{{zzz{{{|{z{z{zzzzz{{{{{|{|yzzzyyz|{{z{{{zzzz{yzyzy{|zzzz{z{zzzyy{z{{{zzz{{zzzzzzzz{zzz{{{zz{yyyzyyzz{z{zzzzzzzyz{zz{{zzyzzzyzzzz{yzzyzyzz{zzyyzyzz{yz{zzzzzxyzzxx{{y{zzz{yzzzyxyzz{{zzz{zyy{xyyzy{zy{z{{{zxyyyzyyyz{zzzz{zzzy{yyyy{{zzz{zzyyyzyyy{yzzzyz{yyyyzyzyzz{zzz{zyyyyyzyzzzzzz{zzzyzzyzyyzzzzzz{zzzyyz{zyyyzzyzzzyy{yyzzzzzzy{zzzzyzyzzyyz{{z{z{zyyxyyyzyyzz{z{{zzyzyzy{z{zz{{|z{yzzyzzzzz{z{{{z{zzzzzyzzz{{zzz{{zyzyzzyzz{{{zz{yzyzzyzy{{{{yz{{zy{yyzzzz{z|{||{{zzzzzz{zz{{{z{{zzzzzzzzyz{{z|{{{{y{z{zzz{{|{{{{{z{z{zz{z{z{{{|z|zz{zzyzz|{z|z{{{{z{{z{|z{{{{|{{{z{yzzzzz{{{z{{{|{{y{{yzz|{{zz{{{{z{yy{{z{zzz{{{{z{zzzzzzz{z{{z{{zzzyzzzyz{{yy{zzzyzzyyyyzzzxzyzzzzyyyyxyzzzzzzz{{yzyyzyy{zy{y{{{yyzyyxzzzyzzzzzzzzzzzyzyzzzzzzz{zzyzyyyyzz{yz{{zzyyyyyyzzz{zy{zzxy{yyyzzzzz{z{z{zyzyyyyyyzz{zz{{zyyyzzxyzzyzzzz{yyyyzxyyyyzzzz{{zzzzzyyyyzzyzzyzzzyyyyyzzzyzz{z{zyyzzyyyzz{z{zz{zzzyzyyzzy{zz{zz{zzzzxzzzzzzz|{zzzzzyzzyzz{z{z{zzy{zzx{zz{{{z{{zzzzzzzzyzzzzzz{{{zzzzyzzzz{zz{zz{zyz{zzyzz{{z{{{z{zzzzzzzz{zz{{{zyzyz{zyz{{z{z{{zzzz{z{y{{{z|z{z{{{yyy|{zzz{{z{{{z{zzyzzz}{{{|z{{{{{zzy{{{z{z|{{zzzz{{y{z{{{{{{{|{{z{zzz{{z{{{{{zzzzyz{zzzz{|{{{{zzzyzzyz{{z{zzzyzzzyyzzzzz{{zzzzyyxyyyxyzzzzzy{zyyyyyyzzy{z{zz|yzyyzyyzzzzz{zzzzzzyyyyyz{zzyzz{zyzyxyyyzzzzzzz{zzyyyyyyzzzzzzzzzyyyzyyzzz{yzyzzzyyyyzyyzyy{zzyzzyyyzyyyzzyyzz{zyzzyyyzzzzzyz{{zzyzxyyzyzy{zzzzzyyyzyxyyyzzy{z{zyzyyzyyyyzyxz{zzzyzyyzzzzzzzzzz{yyzyzzyyzz{zzz{y{yyzyyzzz{zzzzz{yyxyyzyyyyz{zz{zzzzzzyzz{zy{yz{zyyyyyzyy{{zyz{{z{zyyzyzy{z{zy{zz{yzzzyzzzz{z{zz{zz{zz{zzz{{zzz{{zzzzzyzyzz|{zz{{yzzzzzzzz|{zz{|{zz{zz{{zzzzz{{{{{{z{{zzzz{{|z{z{zzz{yzzy{{{zzzz{{{zzzyzzz{{{{{z{{zzzzz{zz{{{{{{{{yzyy{zyz{zz{{z{{zzyzzyyz{zyzz{zzzzzyyyzzzzz{yzzzyyywxyxzzzzzz{zyzzyyyzyyyz{y{z{{yzyyzzyzzzz|{{{yxyzzxzyz{yzyy{yzzyyyyyyyyzzy{yzyyyyyxzyyzzzzzzzzyyyyyyxyzzyzzzzzyyyxyyzzzzzyzzzzyyyyyyyyzzyzz{zzzzyyyzyyyyzz{z{zzzyxy{yyyzzzy{zxyzyyyzzzzyzyyy{yzyyzyzyyz{yzzzzzyzzzxzx{z{zz{{zzyyy{xyzzzzz{{{zzzzyzxyzzzzz{zz|zzzzzyzyy{{yzzy{z{zyzzyzzzzyz||zzz{zzyyzz{{{zz{zzy{yzyzzzzzzzz{zzzzyyyzz{{{z{{{zy{{zzz{zz{z{z{{|zzzzzzzyzz{z{|{z{zyz{zzyz{zz{z{{|zz{zz{z{|{z{z{{{zzzy{zzz|{{{{{{zzz{yyzzzz|{{{{z{zyzzzy{z{{{|{{|{zzzyzz{{z{{{z{zzzzzzyy{z{{{zz{{{z{zzzzzzz{{zz|{zzzzzyzzzzzyzzz{zyyyyyyyy{yzzzz{yzzzyzzz{y{{yzzzzyyyyyzyzz{yzzzzyz{yzyyyzz{zzzyzyzzzxzyyyzzzzzzzzxzyzy{yxzzzz{zzzzzyzyyzzzzzzzzyxyyxyyyzzzy{yzzzz{yyyxyyzyz{zzyzyzzzyyyyz{zyz{z{yyzzyzyyzzyz{{zzzzyyz{yzzzzzyzzzzyyzzyyyzzzzz{yzzyyyyyyzy{zzy{{zyyyzyyyyz{{zzzy{zyzyzyzzzzz{z{{{{y{zxyzyy{zz{{z{zz{yzyzzz|{zzzzz{z{yzzzzz{z{{zzzzyyz{zzzzz{zz{z{{zyyzzyz{zz{zzzzzy{zzyzzzzz{{{{{zyzzzzzz{y{{z{{{{yzzzzyy{|{{{{|{zzyzzz{zz{{zzzz{{yzzyyzz{{{{{{{{{zz{zzy{{{zz{z{z{zyzzzz{{z{{{{{{zzzzzz|z{{zz|{{|{zzzzzzzz{zz{{{{zyzzzzzzz{z{zzz{zzzyyyzzzzzy{zyzyyyzzyzz{z{zzyz{zzyzyyyyzzz{zz{{zzyy{yzyzzzz{|zzyyzyyyyzz{zzzzz{{zzyyyyyz{zyzzzzyzyyzxyyyzzzzzyzzyyyyyzyzzzyzzyyyyzyxzzzz{zzyx{{zyyyyzyyzyz{yz{zzzyyyyyzyzyzzzzzyzzyyyzyz{{yzzz{yyyyxxyzzyyyy{zyzyyyyyzyy{zzzzzzxzyyzzzyyzzz{z|{zzzzyyyyzzzyzz{{zyzyyyzyyzzzy{{{yzzzxzzzzzzzz{zzyzzyzyyyz{{{zzz{yzyyyyyzzz{zyy{zzyzzyzzzz{{zzz{zzzzzzzzz{{{{{{zz{zzz{zzz{{z{z{{zz{yz{zzzzz{z{{|{zzyzzzzzz{z{{{{{zzzyy{zzzz{{{{z{{z{zzzzz{{z{z{z{zz{z{z{{z{z{yz{{|yzzz{y{{zzzzz{{{zzzzzz{z{{{{{{{zzyzzz{{{{{{z{{|zzzyyzzz{{zzzzzzzzzy{yzzzz{zz{zzyyzyxyxyzzyxzzzzyxxzyxxyyyzzy{zzzzyyyyyyzxzz{zzzyyyyzyzyzz{zzz{zyyxzzyyyyzz{zyz{yyyyyyxxxyzzz{zz{xzzyxyyz{zzyzzyyzyyzyxyzzzyz{yzzyyxxxyxyzzyyzzzyyyyxxyzyyzy{{zzzyyyyzyxzyzzzz{zzzyyyyyxyxzyyzzzzyzxyyyxyzyzyz{yyyyzzzyyzzzzzz{zzzzxzyzzz{zzzzzz{yyzyyzyzzzzzyzzzzzyyzyyz{{{yzyzzxyzzyzzzzzzz{zzzyyyzyyyzzz{zzz{zyzzyyyzzz{{zz{zyxyzyzz{z{{{{{{{zzyyzyyzzzy{{{{|zzyyxxzy{zzz{{{zzyyzzyzy{{{zzz{zzzyzzzzzzzzz{{z|{yzzz{zz{{zz{{z{{yz{zxyy{{|z|z|zzxz{zzyyzz{zz{{{{zzzzzy{zzzzy{zz{{yyzxyzzz|{yzzzzyzzyzzyzzyyzyzzyyyyxzzzzz{{z{{{zyyy{yzxy{zyzzz{zyzzzyyz{y{|zzyzyyzyxyzyzzzy{{zzzzyyzxyzzzz{zzz{zzzxzzzyzzzzzz{zzyzzxzyyzyzyyzz{zyzyyyyzzyzyyzyyyyzyyzyyzzzzzyzzzyzxyyyzzzzz{zzyyyyzz{yyy{yzzzzzyyyzyyyyxz{zzz{zyyzzyyyxyyz{{zy{yyzxzzyyzyyy{zyzyyzzyzyxyzzz{{{zyyyzyyzzz{{yy{z{yyzzyyyyzzzzz{{{zyzyyyyyzzzyz{z{yyzzzyzyz{zzzzzzzzzzzyyyy{zzz{|zzy{yyzzzzyzyz{yzzyyzzyzz{z{z{{{zz{zzzyzz{|{|z{|{zzz{{yzy{y{{zz{{zxyzzzzy{{{z|{z{{zz{y{z{{{{z|{{{zzzyz{zz{{z|z{{zzzzyz{z{{{z{{z{{zzzyyzzzzzzzz{{{zzy{zzzz{{{zz{{|zz{yzzyz{{zz|{z{{zyz{yyz{z{z{{z{{zzzyyzxzzzzzzyzzyzyyyyyzzzzz{y{yzzyyyyyzyzzyzzzyyyxyyyyz{yyzyzzyz{yzyzyyy{zyzzzyzxyyzzzyyz{zzzz{yzyyyyyzyzzy{zzzyzyyyyyyy{yyzzzyzyxzyyxzy{zzzzzyzzzxxyxyzzzy{{zyyyyxzyyzzzzzyzzyzzyzzyxyzy{zzzyzzzyyxxyyzz{{zzzzyzyyzzzzxzyzzyzyyzzzzyyzz{zzzz{zyyzyyzyy{y{zzzyzyz{yyzy{zyzz{z{y{zyzzzzzy{z{z{zxzzyzyzyzzzzz{z{zz{yzzzyzz|zzz{zzzzzzyzyzz{{zyzzzyzyyyyz{z{zz{{{zz{zyz{z{{z{{{{{zyzzxzyy{z{{z{{z{z{z{zzzz{{{z{z{z{yzzz{zz|yz{z{{{zzzz{{yz|z{z{{{zyz{{zzzzzz{{{{zzz{z{zzz{z{{{z{{{zzz{yzz{zz{{z{zz{zy{zz{z{z{{{{{{zyyzyzx{{zyzzzzzyzyyyzzzzzzzzzzzzzyzzxyz{{zzyzzyzxyyyzyzzzzz{zzzzyyyyzxyzz{{z{{yyyyxxzyyzzzzz{zzyzzyzzxzzzzyz{zyzzyyzyyyzzzyz{zzzzyyxyzzyzzy{zzzyyyyyyyyzzzyzzzzzyyzzxyyzzzzzzzzyyzyzyyyzz{{zzzz{zyxxyzz{zzyzzzyzyzyxyyyzzyzzy{zzzzyxzzyzyzzzzzzyzxyzzyzzzyzzz{zxzyzyyyyz|yy{zzzyzyyyyyyzzzz{zzyzyyzzyzz{yyzzzzzxzzzzzzyzzzzzzzzyzyzyyzzz{|z{z{zzzzzyzy{{{zzz{zzzyzzzyzzz{{{{{z{{zyyz{{{{z{{{z|{zzzzzzy{|zzzz{zzzzyyyzz{{zzz|{zzz{zzz{{|z{z{{z{zzzyyzzzy{|{{{{zyy{zzyy{{zz{z{{{zyzzzzzyyzz{{{|{{zyz{zzzz|zz{{z{zzyzzzyzz|z{{|z{z{yyyzzzy{z{y{z{yzzyyyzyzzzzzzzzzzxxzyzzy{z{zzzzzzxxxzyzzyzy{zzzzyyyyzyyzzzyz{{zyyzyyyyyxzyyz{zzzz{yxyyxzzzzz{zzxyyyyyyzzzzxzz{yyzyyyzyyzyyyzzzzyyyxyyyyzyzzyzyzyxyyzyyzzzzy{zyzzyyyyyxxzyyzzzyzzzyyxzzxyzzzzz{zzyzyzyyyyz{zxzzzzzzyzxz{yzzyzzzzyyyyyzzyzzzzz{z{zyzyzzyxzzzzzzzz{zzyyyyzzzzzzz{zzzyyyzzyzzzzzyz{zzzzyyzzz{zzz{y{zyzyyyyz{z{yzzzzzzzzyzzyz{zzz{z{{zzy{{yz{z{zzzz{zzzy{zzyzyzzzz{{zyy{zzzz{{z{z{{z{zzzzxzy{{z{{|{{{zzzy{y{z{z{{z{{{zy{z{y{{zz{{{|{{z{{z{z{{z{{z{z{{yyzzzzzzz{zz{|{{{zzzyyyzz{{z|{{{z{zzz{{z{z{{z{{|yyzzyzzz{{{{{zzzyzzyzzyyzzzz{zyyzyzyzyyz{z{yzzzzyzzzxyxzzzyzz{{{yzyyzzy{yyzzz{zzxyzyyyyzzyzzzzzzzzyzyyxz{{zyzz{yyzzyyyzzzyzz{zzzzzyzyyyyzyyzzzzzyzxyyzyzy{zzzzzyyyyyzyyzzzzyz{zyz{yyzyzyz{yzzzzzzzxxyyyzzzyzzy{yzxyyyyyzyzyxz{zzyzyzzyyzzyzzzzzyyzzzzyz{z{zz{zzzzyzzyyz{{{zzz{{{y{zzzyzzz{z{zyzzzzyyzyz{{zzzz{zzz{zzzyzzzz{zzzzz{zzzyyzy{{yzz{zzzyzzyyyz{zzz{zzzzzyzzzzz{{{{{{{zzzzzzzzz{z|{z{{zzz{zzzyz{{zz|zzzzyyzz{z{{{{z{{{zzz{z{z{y{{{{{|{{zzzy{zz{}{{z{{z{zz{zz{z|{{{|z{{{zzyzy{{{z{{{{||{zzzzzz{{zz{z{z|zz{yzyzz{|{zz{{{zzzzyyyyz{{{y{{y{zzzzzyyzzz{{zyzzyyyyyyzzyzyyz{zyyxzyxyzzz{zzzz{zyzyxyyyzyzzz{|zzxzyyyyyyzzz{yzyyzzyyyyyzzy{yzz|zzzyyzyyzyzyzzzzzyzzyyxyzz{y{zzzzyxyzyyyzzzzzzzzyyzzyxyyzz{zyzzzzxyyxzyzzzzzzzzzyyyyyyzzyz{{zzzzzyzyyyzyyyzyyzz{z{yxyyyyy{yzzzzzyzzyzzxyzyzz{z{z{zyzzxyy{yzzzzz{z{yzyyzzzzzyyzz{zz{zzyyz{{yzzzz{zyzzzzzyzzzzzz{{zzzyzyyyzzzzzz{z{yzyyyyzzy{z{zz{{zzyyzyzzz{zz{zzzzzyzy{y{{z{z{{{zxzzzzzyz{{{{z|zzz{{zzzz{{{{z|{z{zzzzz{zz||{z{|{{z{zz{y{z{zzz||zzyzzz{z{{zz{z{|z{zz{z{yz{{{{z{{{z{yz{yyz{zz{z{|zz{yyzz{yzz{z{{{{{zyzzzyyy{{{zz{zzyzzzzyyzzzzyzzyyzxyxxyxzzzyyyzzzzyyyxzxyzyyyz|{zyzyxyzyzyzzzz{zzyzyzxyzyyyzzzzzyyyxxyyxzyzzyzyzzzxyyyzyzzzzyz{yzyzyyzyyyyy{zyz{zyyyyzyyyxyyyzzzyyyxzyyzzzzyz{zyzzyyyyxyzyzzz{z{yyyyxyzzyzzzyyzzyyyyyzyxzzyzyzzzxyyyyxyxzyy{zz{zyyyyyyyyzz{zzz{zyzyyyyyyz{zyy{zyyyzyzyyyzz{zz{zzyyzzyx{yzzzzz{{zzzyyyyzzzz{{z{zzyyzzyyyzzzz{zzzzzyzzyyxzz{zz{zz{zzzyyzyzzz|z{zz{zzzzzz{z{zzzzz{{zzy{yyyyzz{{zz{z{yzzzz{zz|{z{z|zzyzyzzyzz{{{z{z{{zzzzzz{y{{{z{{{{{zzyy{z{{{{{z{{|yyyzzzzzz|zz{{zzy{zzzzz{{zzzz{{zzzzyzzzzzzz{zzz{zz{yzyyz{z{zzz{{yzyzyyyzzzzy{{{yyzyzyyzz{y{yzzzyyyyxyzyyzyzz{{zzzzyy{{zzzzyzzzzzzzxyzzyy|{zzz{{zzzyyyyxzzz{zzyzzzyyyzyyzyzzyyzyzz{yyyxyyzzzyzzz{yyyyyxyy{z{z{zzyyyzzyzzzyyyz{z{zyxyyzzxzz{yzyyyzyzyyyyzzzzzzzzzzyzyzzyyzzyzy{zz{zyzyyyyzzzz{zzzyyyzxzzyz{{{y{z{zyyyzyzyzyzzz{z{zzzyyyyzzzzz{{z{zyyyyyzzz{{z{z{zzyzyzzzyzzz{z{z{zzzyzzzy{{zzyz|{zyz{yzzz{{{{zzzzzzzzzzzz{{z{{z|zzzzyy{zzz{z{{{{{zzyzzyzz{z{z{{{zzyzy{zyy{{{{{{{|zzyzzzz{{zz{{{{|{zzyzzzzz{{{z{{{{z{zzz{{{{{{z{{zzzz{{yz{{zz{{{|{{zyzzzzz{{z{{z{|yz{zzzyzz{{zzz{{{zzzzzzyzzzz{{z{zzyyzyzz{y{zzyzzzyyyzyyxyzzzzz{z{yyyyyzy{yzyzzzyzzyzzzyyzzz{{|zzyyzzzyyzzz{zzzz|yzyxxyyyyzzzyyz{zyzyyyyyyzyyzzzyyyzzzyyxzyyzzzyzyyzxxyzy{yzzyzzzzyyyyxxyyzzzzyzyzyyyyyxyzyz{zz{{yyyyyzyyyz{zzzz|zyyyzyyzyyzyzz{zzzyzzyyyzzzzyzyzyxyz{yyyzzz{zzzzzyyz{yyzyyzzz{zzzyzzyyzyyzzyzz{zyzzzyyyyzzzzzz{zzyzzyxzzyzzzy{zzzzzzy{yz{zzzz{{zzzzyzzzzz{zy{{zzzzzzzzzyzyz{{{{{yyzzyzzz{{z{{{{{z{zzzyzy{zzzz{{z{yz{zzzzzz{{{z{{{xzzz{z{zzz{zy{{{zzzyzzz{|{{{{{z{zyzzzzyzz{zz{{zzyz{yzyyzz{{z{z{{zzz{z{zz{{{{||{{z{yzzzyzzz{z{z{{zzzzzyy{{z{{{{zzyzyyyyzzy{{{zyzyyyxyyzyyzzyyyzzzzyyzyyyzzyy{{yzyyyxzxxyyzzzzz{yyxyyzxyyyyz{yzzzzyzxyxzxxzzyy{z{zyyxyyyyxzyyyzzyyyyzyyyyxyzzzyyyyyzxyyyxyyyzyyzzxyyyyxyyzyyyzyzyxxyyyyxxzzzzzzyzzyzxxyxyyyzyzyzzywyyyxzyyzxyzyyzyyxyyxyxzzzzzzzzyxyzzzxyyzzzzyzzzxyy{yyyzyzzzzzzzyzzyxzxyzzzyzz{yyzyzyyyzzzz{zz{yyyyyyzyyzzzzzzyzyzyzyyyz{zzyz{zzyyzyzyyyzzyzzz{yzyyzzxyzzzzz{{{yzyzzyzy{zzzz{z{zzzzy{zzzyzzzz{z{yzzzyyzz{z{z{{zzyzyyzz{zzz{{z{zzyzyyyzzy{zz{{{zzyxzyzxz{zzzzzzzzzzyyzzyy{zzz{z{yzyzzyzzz{{{zzzzzyyy{yyzz{zzzz{zzz{yzyzzzzz{{zzzyzzyyyyyzyzzzzzxyyyyyxyyy{{zzx{zzzyyyyzzyyzz{zzzyzzyzyyyyyzyzz{{{yzyxyyyyzzz{z{{zyzxyyzzyz{y{zzzyyzzyyyyyyzzy{{zzzzyyyxzyzzzzyzzyyxyzyzyzyyyyzzzyyyyyyyzzzzyzzyyzxyyyyyzyy{z{{zzyzzyyzyxyzzzzzzzyzzyyyyyxyzzzyyzzyzzyyyyyzzzzzzzyyyzyzxzzzz{yz{zzyyxzyyy{zzzxzz{zyzzyxzzzzyyzzz{yyyyzzyzzzzzz{{{zzzyzzyyzzzzzzzzyyz{zyyzzzzzz{{yyzzyzyxzz{{{yz{zzzyzyyy{zzzz{z{z{yz{yy{z{{{{zyz{{yzzzyyz{zz{zz{|zyyzyzyzz{{zz{{{{zyyyzzzz{zzz{{zzzzyyzyzz{zz{{{{{zzzzzzz{z|zz{{zzyz{zzzy{{z|zzzz{zzzzzz{y{z{{{z{zyyzz{{zz{{{{{{zzzzyzzzyz{z{zzzzzzzyzzzyzy{zzzyzzyyyzyyxyzzyzyy{zyyzzyyyyzz{z{zzyzyxyyyyzzzzyzzzzyzzyyyyzyyyzz{yyyxyyyyyyyzyyzzzyyyzyzzyyyzzzzzxzyzyyzxyyxzzyzyzyyyyyzyzyzyzzzzzyyxxzxyyzyyzzzzzzy{yzzxyzyzzzzzzyyzyyzyyyyzzyyz{yyxxzyyyyzzyzzyyyzxxyyzyyyzzyyy{zyzzyyxyzzzzzyzzyyzyzx{yzyzzzzzzzzzyyyzzyz{yyzzzyzzyzyyzyzzy{{zzzyzzyxyzy{{{{{{zzzzzyxzyzz{zzz{zyzyzyzzyyz{zz{y{yzzyzyzz{y{yy{{zyzzyyzzy{{yz{|{{zzyyzzyy{zz{z{{{zyzyzzyz{zzzz{{{zz{z{zzzyzz{{z{{{{yzz{zyz{{{{{{{{zz{{yzz{{zz{{{zzy{zyyzyzz{z{{{{|{yzyzyyzyzzz{{zzzzyzyzzzzz{z{{{z{yzzzzy{{zz{y|zzy{yzyyz{z{{zz{zyzyzzyzyyzzzzz{yyyyy{yxzyz{yzzz{zxxyyzzz{zzzzyzyyyzyyyyzzyzzzyz{zzzyzzyxyzzz{zz{z{yzyyzxyzxyz{yyyxzzyyyyzxzzx{zzyyzyyyyzyyy{yzzzzyyyyyyyzzzzzzyzyyxzzyyyzzzyzzzzzzzyyzxy{yyzzz{zyzyyyyzyzy{yzz{zzzxxzyzzyzyzzzyzzzyxyyyyz{zzz{{zyyyyyzzyyz{zzzz{zyzyyzyyzzyyz{z{zyzyzzzzzzzzzz{zzzzyyyyyyzyz{zzzzzzzzzzzzz{{z{zzzzyyyyzy{z{zy{z{zyyzzzzzz{{zzz{zzyz{{zzy{zz{{{{{zyzyzyyyzzz{{{z{{zzyzzzy{{y{zz{{zzzyyzzyzzzz{z{{zz{yyzzzzzz{{z{{zzzz{z{z{{{z{z{zzzzzzyz{{zzzz{{{z{y{{zzz{z{{|{{{z{zzz{zy{{zz{z{z{z{yzzzyzzzz{z{zzyyyyyzy{z{zz{zyyzwyyyzyyzzzzzzzyzz{yyxyyzzzz{zyzyzzzzzyyzyzzyz{zyzzzxyzy{zyzz{zzzzzyyzxyxy{zz{zyzzyyyyyzzyyzzzzzzzyzyyyzzzzzzyzyzzzyyzyzzzyzzzzzyyzyxyyzzzz{{{zzzyyyyyzzzz|zz{zzzzzyyzyyzzyzz{zzyzyzyzyyzzzzyzzzzzxyzyyzzyzy{z{zyzyzzzzzzz{y{z{zzzzyyyyzz{zzzz{zyzzzzzz{zz{zzyzyyyyzyyyyzz{{{{{yzzzyyyy{yy{z{{{{zzyzzyzz{zzzz}z{yyyzzy{{z{{zz{zzy{yzzzzz{{z{{zzyzzzz{zy{zz{z{{{{y{zzzyzz{{z{{zzz{yzzzzy{{{{{z{{zzzzyyzzzz|{{{{|zz{{z{z{z{zz{{{{{z{yzzzz{z{z{{zzzz{zzzzzzzzz{{{{{zzyzzzzz|{{{z{{zz{zz{{zz{z{{{{z{zyzyzzzz{z{y{{zzyzzzyyyyy{zzzzzz{zyyzyyzyzyzyzzyzzzzyyyzzzz{zz{zyzzyyyyzyyzzzz{{yzzyzzzxyzzzzzzzyyxyyyyz{{zyzzzyyzyyxyyz{{zzzyzyyzyyzyzyzzyz{z{yyzyyzyzzyz{zyzzzzzxyyzzzzzzzy{zzyyyyzxzyz{zzyzzzyzzzzzyzzzyzz{zyzyyzyyyy{yyzz{zyzyyyzyyyzzzzzz{yzzzyzyzzzz|zzz{{zzyzyzzzzz{yz{{zyzyzyzyzz{{{{{zzzyzyzzyzyzzz{z{{zzzzyyzz{{{{{zy{zzzzyyzz{z{z{z{{{zzzzzy{z{zzzzyyzz{zyzyzzzzz|{zyzzzzzzy{{z{z{{zzyyzy{yzz{{{{{{{zyzzzzy{z|{z{z{{yyyyzzzzz{{{zz|{{zyzz{zzz{{{z{|{zz{zzyzy{{z{{zz{zzzzyz{zz{z|{{|{zz{z{{zz{|zz{{{{zzzzzzyyzz{{z{{|zzzyzzyz{zz{{z{zzyzyzxyz{{{zz{{{yzzzxzyxyz{zyy{{zzyzyyyyzy{z{zz{yyzxyyyyzzzy{zyzzzyzyyzzzzzzzy{zzyzyyyyxzyzzzzyzyyyyzzzyzzzzzyzyzzzzxzyyzzyyzzzyzzzyyzyyzzzzzzzyyxzyyyzyzzyzz{z{yzyyyzxyzy{{yzzyyxyzyyzxzzzzzyzzzxzyzyzyxyzyzzzzzzyyzzyyzzy{zz{|zzzyzyzyzy{z{{{{zzyyzyyyzz{z{zzzzzzzzyyzzzz{z{{{zzzzzyzz{{zz{zzyzzzyyyyzz{yz{zyz{yzzyzzzz{{{z{{zzzzzzzzy{{zzyzzzzzzzz{zzzy|zz{z|zzzzzzzz{zzz{|||zyz{yzzzz{{z|{{{{y{yyzzz{{{z{{{{{{z{{{z{z{{{|z{{zz{{zzzyz{z|zz{{z{{zyzz{{{{{|z{zzyzzz{z{{zz{y{z|{zzz{{zz{y{z{z{zz{{yyyzzz{z{z{{{{{zz{zzzzzz{z{{{zzzzyyzyzy{zzz{zyyyzyyzyy{zzzzz{yyyzyyyyyz{zyz{{zzzyyyyzzzyyz{zzz{yzyyyyyzzyyzzzzzyxxyyy{zyzz{y{yzyzyyyyyyyzy{{{zyzzzyzy{zzyyzzzyzyyyyyxzyy{zyzzyyzyzxyyzzzyyzzyyyyyyzwyyzzzzzzzyyzyyyyxzzzzzzzyyzzxzyyzzzyyzz{zzyyyyxzzyyzyzzzzzyzzzyyzzzzzzzzyzzzz{zzyzzzzzzzzzx{zyxzyy{xzzz{{zyyyyzyz{zzzy{{{{y{zzzyyzzy{zz{z{yzyyyyzzyzz{{{{zzzzzzyzzzzyzzzzzzzyzzyzzz|zzzzzzyyyyzz{{{{{zz{|zzzzy{yyzz{zz{{{{zzzyzyz{{{{{{|{{z{{zz{zyy{{zz{{|zzzzzzzzz|{{{z{zzz{yzzzzz{{{{|{zyzz{yzzzzzz{{{|z{yzzyzyz{{{|{|z{{yyyzzyzzz{zz{{zyzzyzyx{{z{zz{{zzzzzxyyzz{zz{zzyzyyyxyyzzyzzzzzyyz{yyyyyyzzzzz{zyzyyyyz{yyzyzyzzyzyyyyzyy{yzyzzyzzyyyxyyyzzyz{{yyzyyyyyzzzzyzzyyyzywyyxzyzzyzz{yyyyxyyyyzyzzzyzxxyyyyyx{zzyzzzzzyxyyyxzyxzyzzzzzzyyyyyyyzyzyy{{zyyzyxyyyyzyzyzzz{zyzxyyyzyzzzy{zyzyyzyxzyzyzzzyzzyyyzzyyzzzz{y{yyyyyzyzzzzzzzzzyyzzzyyzzz{zy{zz{yzzyxzzzzzzzz{y{zzzyyzzzyzzz{{zyyyzzyyyzzzzz|zzzz{yyyyyz{{z{{yzzzyzzzzzz{{zzzz{yyyyzyyyzzzz{zzzzyz{zzyz{{z{z{z{zz{yzz{z{{z{z{{{zyz{{{{zy|zzzz{{zz{zz{yzz{{zzzz{zzzz{yzz{zzz{zz|{zzzz{yz{{{{{{zzz{zyzzzzz{zzzy{{zzyyy{zzz{z{zzzzzyzyyyyyyzzz{yyzzyyzyxyyzyzyzzzyyyywyyyxyzzyzzzzzzyyyyyy{zyz{yzzzyzyyyyzzzzzzzzyzzyxyxyxzyyyyzzzyzyyxyyyzzzyzzzyzyyyyyyyzzzyyzzzzyyyxyyyzyyzyyyzyxxyyyzyzzyzzyzxyyyzzxxyyzyzyzzyyyyyxzyyyzzyzyzzyzzzyyxxyzyyzyzyyzyyzzyyy{yyy{{zzzzyzyzzyzyyzzyyzzyxyxyyzzyzyz{{yyyzyyzyzzzz{z{{zyyyxyyyzz{z{{zzyyzyzzzzz|z|zzzzzy{yyyyzzzy{yz{zzzyyzzzyzzzzzzzzzyzzyzzzzz{{{{zzzzzyzz{z{yz{{z{{zyyyzzxyzz{{{{{{yyyzzyzz|{{z{{z{yzzzzzzzz{{{{{{{{zzyy{zyy{z|z{{{{zxzzyzz{z{zzz{{zyyyyyzzzz{{{z{|{zzyzzyy{|zz{{z{yyzyyzzzyzyzzzz{zzzyyyzzy{yzzyzyzzzxyzzyzzzyyzz{yxzyyyzxzz{z{zz{zyyyzyxyzzzz{yzyyyxxyyyxzzzzyzz{yzyyyyzyyzzzyzz{zzzzxx{zzzyzz{zzxxyxzyyzy{yzzzyzzyyzyyyxyyzyyzyzyxyyyyyyyzzy{zzzyxyyzxyyyzzzzyzzxyzyyyxyyyzzzzzzzyzzyzyxyzzzyzzzyzxyyxz{yzyyz{yzyzyyyyxzzzzyzzzzyzzzz{yzzzzyzz{zzyzyyxyyzy{zzzzzzxzzzyzyzzzzz{zzxyzyzyyzzzzy{{{zzzz{yzyyyzzyz{{yzzyzy{yyz{yzzz{zzzzzzyzzzzzzzzz{zzzzzzzz{z{zzzy{zzyzzyzy{{yzz|{z{zyyyyzzzzz{z{{{{zzzzzzyz{{zz{{{zzzyyzzzzzyz{zz{{{z{yzy{z|zzy{{{zz{zzzyz{{|{z{zz{zzyzzzzzzz{{{{{{z{{yzz{zz{{z{z{{yzzyyyzzzy{{z{{yzzz{zyxz{z{z{{zzy{yzyzz{z{zy{yzxxyxyyyxyzyzzyzzyzxzyxyzzzzxyzzzzzyyyz{xzzzzzzzzyyyyzyxzyzzzzy|zyzzxyzyzyzzzzzyyzyyyzyyyzyyyyyzyzyyxyyyzyyzyyzyzyyxyxyxyzyzyyyzzyyyzyxxyyz{yzzzzyyyyyyxxyyzyzzzyzyxxxyyyxzzzy{zzyzyyyyyyyyyzyyyyzyyyyyyyyzyyzzyzxxyyzzyyzzzzyzzzzzyyzyyyyz{yzzzzyyzzyyzzzyzzy|zzyyyyyyyzzy{yy{zyyyyzyyyyz{zzzzyyzzyyyyzyzzzyzzzzzyyyyzyyzzzzzzzzyzyyyzyz{{zzz{z{zyzy{zyzz{{z{{zzyyyzzyzz{{{{{yzzzyz{zzyy{z{{z{{{zyyzzyzzzzy{zzz{zyzzz{xzz{{{z|{{zzzzzzzy{z{{z{{zzyyzzzy{zzzz{z|yz{zyzzzzzz{{{zzzzzzzzyzzzzyzz{z{zyzyzyzzy{{yzzzzzyzzyyzzzzzzyzyyyzzyyyyyzyzyzyzzzyyyzxzyzzyzy{{{yyyyyyzyyzzyz{{zzyzyyyyyyzzzy|z{zyxyyyyyyyyzzyzzyzzzyzyxyzzzyzzzzzyyzzyyzz{zyzyzyxzxyzyzyyz{zzz{yyzzyyyyzzzy{{zyzyyzyyyxzzzz{zzzyyyyxyxzyzyzzzzyzyyxzyywzzzz{z{zyyyxyxyyxyzzzz{{yyyyyzzyzzzzzy{{zyyzyyyzyyyzz{z{zyzyyzyyyzz{zzzzzzzyzyyy{zzyzzzzyyzzyyzxy{yz{{{zzzzzzzzyy{{{zz{zzzzz{zyyz{z{z{zzzzyzzz{zz{{{{z{zyzzyy{yzzy{{zzzzzyyzzzzyz{{{{z{{zzzyzyyy{{zzzz|{z{zzzzzx{zzz|{z{zzzyzzzzz{{{y{{{zz{zzzzz{{{{z{|yzz{{zzyz{{z{|{zz{zyzzzyz{{yz{{z{{zzyzzz{z|{{{z{{zzyzyzzyz{{yzzyzzy{yyzzzzzzzzzyyyzyyxyyyyzzyzz{zy{zyyyyyzzyzz{{{{zzzyzyyyy{zzz{{yy{yyyzyzz{zzy{|zzyzyyzyzzzzz{{zyzzyyyzxyzzzz{zyzyzyyxxxzzyzzzzyzyzxxxzyyzzzzzzzyyyyyyyy{zzzzyzyzyyzyyxzzyzyyz{zyy{zyzyxz{yyzzzzzyyyzyzyzyzzzzzzyyyyxyyyz{z{yzyyyzzyyzyyzzy{zz{zzzzyyyzyz{z{{zzzzzzzzzzyz{yyyzy{zy{zzzzyyzyyzz{{zzzyyyyyz{z{{{{zzyzzyzyxzy{zz|z{yzyyzzx{zz{yy{zzzyz{zz{zzz{{{z{zyyyzzz{y{zzzzzzzzzzyxzyzz|{{z{{z{yyzzyzz{{{{{z{{zzzyz{zzz{zz{z{z|zzzzzzz{{z|{{{zzz{{zzzy{zz{z{{zzyzyzzyzz{{{z{||{zz{{zzz|{{{z{||z{zzzzzzzz{{z{{{{yzyyyyyy{zzzzzzzyzyyyyy{z{z{z{yzyxyyyyyzzzyz{z{yyzyyxzyzzzz{{zz|yzzyzyzzzz{yz{zyyzyzyyzy{zzzz{yzyyyyyyzyzzz{z{{xyzyyyyyyzyzzz{z{yzyzzxz{z{zzyzzyyyyyzzyzz{{yyz{yyyyxyyz{z{z{{z{yyyyyyyzyzzzz{yyyzzxyyyzyyzzyz{{yyzyyyxzzzzzz{zzyyyzyyzyyzzzzzzz{yyyyxzzzyzzzz{zyzzyzz{zyz{{z{zzyyyzyyyzz{y{z{{zzyzyzzzyzzz{z{{{zzzzzyzzz{{z{{zzzzzyzyyyzzz{zz{zz{yzzzzyzzzyz{{zzzzzyzzzz{{{{{{|zz|yzzzzz{{zzz{{zzz{z{zyz|z{{{|z{{z{zzzz{|{{{{{{{{z{z{{yzz{{zz{{{yzz{{zzz|{|{{{|zzzzyzyz{{{{|{z{{z{{zzz{{{{{{z{|zzzz{z{{{{{yz{{}zzzy{zyzzy{yz{z{zzzzzyzzzz{{zzzzzzzzzyzyz{{z{zzyyyy{yyyyyz{zzyzzzzzyyzyyzyzzz{zzzxzyzyyzzzzzz{{zzyzzyzyzy{{zzzz{zzyzzyyyzz{zz{z{zyxyzxzyyzzz{y{z{yyyzyzzzzzzyyzzzyyxzzzyyzyyzzz{yyyxyzxy{zy{zzzyyzzyyyyyzyzzzzzzyzyyyzyzzzyzzzzzyyzzyyzzzzzyz{zzyzyyyyyzxzyyz{zzzyzyzxyy{z{{zz{{yzyyyyzyzzzy{zzyzzyyzyyzzzz{y{zzyyzzyzxyz{zzzzz{{zzzzzyzz{z{zzzzzzzyzzzzz{{zzz{z{yyzzzyy{zzzz{zz{zz{zz{y{zz{{z{{zyzyz{{zz{z|zz{{zzyzzyzzz{{{z|{z{zyzzzzz{{{{{{{zz{zzzz{{z{zzz{z{{yz{y{z{z{z{z|{{{yz{zzyzz{zz{{z{{|zzzzzz{{{{{|{|{zzz{zz{z{{zz{{{zzyzzzzzzzzz{z{{zzz{yyyyz{{{z{{z{yzyyy{zzzzzzzzyyyyzyy{yyzzz{zz{yyyxyxzzyyzyzyzzyzzxyyyyyz{zzzzz{zzzzyxzzz{{yz{{zzzxyxyxxzzzy{zzzzyzzyzyz{zyyz{zyzzxxyyyzzzyzzzzzyxzzyyyyyyyzyz{yzzxzyzyzzzz{yzzyxyyyyyzzzzyzzzzyzzyyzxyzzzzzz{{yyyyzxzxy{yzzzzzzzzyyyyyyzyzyzyzyyzyyxyyzzzzzzzzzz{yzyyzzz{zzzzzzyzyyzzz{zz{zz|{zzzzzzzyzzzz{z{{yzxyyyzyyz{z{|zzzzzyyzzyz{{z{yz{{zzzyzyyz{zzz{{zzyzzzz{yyzz{{{|zyzzzzzzzzzz{z{{z{zzzyzyy{{z{zzz{{zzy{zzy{{{z{{|zyzzzzzz{z{zz{{|z{zzzz{zyzzzz{{|{{zzz{zy{zz{zzz{{{zz{zyyz{{zz{|{|zy{z{xyz{{|zzzz|{{zzyz{zz{{zzzz{{zzzzyzy{{z{{z|{yzyyyzyzzzzzzzzzyyyy{yzyyyzzzzzzzyyxyzyzzyzzy{{{zzyyzyyxzzyyzz{zzyyzyzyyy{y{zy{zzzyxyzzyzzz{zzz{yyzyyzyyzzzyzz{zyyzyyyzyz{yyy{z{yzzxyzyyyyzzzzyzzyxyyyyyyzy{zz{yzyyzzyxyxyz{{{zzzxyzyyyyyyzzwzz{zzzyyxyyyyzzzzzy{yyxyyxyyyzyy{{{yzzyyzyxzzyzzy{zzzyyzxyzzzyzz{z{zyyzyyzzzyz{zz{{zzzyyzzzzz{{zzz{zzzzzzzzz{zzzzzzzyyyzzzyzz|zz{zyzzzyzzzz{{{yzzzzyzyyz{zyzz|{|zzzzzzzzz|z{z{z{z{{zz{zzzyzz|zz{{{{{zzzzz{z{{{{{{|zzzzzzz{zy{{{{z{{{z{{{{yzz|z{zz{{{zz{{{z{{z{zzzz{zyyzz{zy{z{zz{{{zzyz{zyz{zz{z||z{{{yzzzz{{zzzz{z{zz{yzzzzzzzyzzzzyzz{zyy{zzyzyyz{yxyyyzyyzzyyz{{yyyyxyyyyzzzyyzzzyyyxyzxzzzyyz{zzzzyyzyzzyyyzzzzyzzyyyyxzzzzz{zzzyyyyzyyzzzyzy{yzyzzyyyyyyzyyzzyzxzyyzyyzyxyyzzzyyxyyzyyyzyxzzzzzyyyzyyzzzyzzzzzzyyyxzzyyzzyxy{zzyzxyyyyy{yzzzyzyyxyyyyyzzzyyzzzyyyyxzyyzzzzzzyyzzyyzyyzzzzz|zz|zzzyzzyzzy{zzzzzyz{yyzyzzyz{zzz{zyzzzwzyzzz{yzz{yy{zxyzyyzz{{z{yzz{zzyyyzzzzyyzzz{zyzzzzyyzz{{|{zzz{{y{zzzz{{z{{zz{yyzzz{|{z{zz{{yyzzzyzz{z{{z{{zzz{zzz{zzz{{{z{zzzzyzzzy|y{z{{zzyzzzyyz{z{{{zzz|yzzz{{{zzzzz{z{zyz{zzzyzz{{{{z{zzzzzzz{z{y{z{z|zzzzzyyyyz{{zz{{yzzyzyzyzz{{z{zyyxyyyyyyzz{yyyz{yyyzzyyzzzz{z{{{zyzyyyzxzyyzyzzzyzzyyyyyy{z{zyzzyyyyzyyyzzz{z{zzzyyxyzyyzzyzyz{zyxzyzyyxyy{yzzzzzzyyzyyzzzzyzzzzyyzyyzyyzzzzyyzzzxyxyxyyzzz{zzyyzyzyyzzzyzzy{yzz{yzyyyyyzzyyzzzzzyyzxyzyyzz{z{{zzzzyzyyyzzyzzzzz{yyyzyzzyzzz{z{{yyzzyxzzzyyzz{z{yyyyyyyzz{zzz{{zzyyzyyzyzz{zzz{zyzzyzzzyyzz{zyzzzzzyzyyzzy{zz{{zzzyxzzyyyz{z{{z{yyyzzz{zyz{{zz|{zyyzzzzyz{{zz{zz{zzzzyzzz{{{{y{zyzz{yzzz{z{zz|{{{zzzyzyzz{z{{|{{zyz{yzyz{{{{z{|z{zyzz{zzzzzz{z{{{yzz{zzz{z{{{{z{{{zyz{zyz{{zzz{yyzzxzyzzzyzzzzz{z{zyzyyyzy{z{zzyzyxzyxxyyz{yzzzzyzxyxyxyyzyzzz{yyyyyyyyzzzyyzz{z{yyzyyzyzyyyyyzyyyyxyyywzyzzz{{zyyyyyyyyx{zyyzzzyzyyzyyyyzzyyyyzxzxxxyzyzyyzyzzzyyyyyxyyzzzyyyzzzyyyxxyyzzzzyzzzxzyyxyyxzxzy{zzzzxzyyyyxyzyyzzyyzyxyzyyyyyzy{{{zzyxyzyyyyzzzzz{zyyyzzyzyzzzzz{z{zyzyyxyyyzyzzzzzyyyyyyyyzzzzzz|zyyyyyyzyzzzz{yzzzyyyyyyyzz{zyyzzzyyzzyyyz{z{yzzzyxzyzzzy{y{{z{{zyyzzzyzy{zz{{z{z{{yyyzyzzzzz{{z{zyzyzyyz{zzzz{z{zzzyzzzzz{{zz{zz{zzzz{zzz{zz|{zz{yyzyyyy{{{zzz{{zxyzzyzzyyz{{zz|zzzzzyzzz{y{|z{z{zyxzzyz{zzzz{{{zyzzzzxxzzy{zzzzy{zyyxyyzyzyzzyzyyyyyyyyy|yz{zz{yyyyyyyzzyzzzzzzxyxyyzyxzyzyzyzzyyzyyzyzzzyzzyz{zyyyyyxxzyyzyyz{yyyyzyyyzzzyyzyyzyyyyyyzyy{zzzzzzyyxyyyy{yyzzyzyyyzxyxxyzyyyzyzzzyyzyyyyyyzzyzzzyyyyxyxyyyz{yzzyyyzzxyyyyyzyyzzyyyyzxyyyyzyzyzz{yyzzyyzxyyyzzy{xyzyyzyyyzzyzzyz{zxyzxyzyzzz{zzzzyyzzyyyzzzzyzz{y{zzzyyzzzz{{{zyzzzyyyyyyz{zzz{zzyyzzyzyzzzzzz{zyzzyzzyyyz{{zzz{yyzzyzyzzz{z{zz{{zyzzyzyzyzz{zz{zzzzyzzyy{{zz{{{zzyzyyzyyyy{{{{{{zzzyyzyzz|zz{z{{{z{zzzyy{zz{{zzz{zzzyzzzzy{zzz{z{zyzy{zzz{z{{z{{zzyyyzyzz{z{zz{zzzyzzyyyzzz|z{{z{z{yzyzyzzzzzzy{yyxyzzyxxzzyyyyzyyyyyyyzzzzzzy{zzxyxyyzyzy{yyzzzyzzyyyzyxzzzyzzyzyyyyyzyzz{zy{zzyyzyxyzxyzyyyyzyyyyyyyyyyy{yzzzzzyxyyyyzyyzzzyzzxyzyyyyyy{yyyzzzyyyyyyyzzyzy{zzyzzzyyzzzyzy{yz{zzyyyxyzyyzyzyzxyyxyyyyzzyyyyyzzzyyyyzzyyyzzzz{{zyxzyyyxyzzzzyzzzzyzyyyyz{zyzzzzzyyzyzzxzyyzyzzzyzyyzyyzzzzzz{{zyyzzyy{y{yzzzz{|yzyzzyzyzzy{zy{zz{yzzzzzyyxz{zz{zyzzyzy{z{{{zy{{zzyzyyyyyz{zzzz{{zyzzyzyz{{zzzzz{zzzzzz{yz{{{yzz|zzzzyzzzz{zy{zz{zz{zzyzz{zzzz{{zzyzyzzzz{z{{z{{{{zzzzzzzzz{zzz{{zzyyzzz{zzz{zz{{zzyzyzyyzzz{zz{{{yzyzyyzyzyy{zzzyxxxyxzxxzyzyx{zzyyzzyyyzzzzzy{zyzyyyzzzzzzzzz{zyyzyyyyxzyzzzyzzzzyyxyyxzzzzzz{{{xzyyyyyyzzyzz{zzyxyyyzyzyzzzz{zyyyyxyyxyyyyzzzzxxyxyyxyzyzyzz{xyxyyyzyyyzzzzy{yyyyyxyxyzzzzy{z{zyxzzyzyyzzyyxzzzxyyyyzyyyy{zyy{zyyyzyzyyzzzy{zzzzzyzxyxyzyzyzzzyyzyzxzzzyzzzz{zyyyyyzzyz{{y{z{zzzzyzyyyzzy{{zzzyyzyzxzyy{zzzz{{zyzyzxzyyz{zz{zzzzzyzzzzzzz|{z{{yyyyyyzzzzzz{{{{yzyz{zzyzzz{{{{{zyzzzyyzz{zz{||z{zyzz{z{z{zz{{{{|{zzzzzz{|{{z{{{yzzzzzzy{yz{y{y{{yzzyyyyz{zz{{{{|zy{{zyz{|z{zzzzyzzyzyzz{{z{zzzy{zyzyzzzyzzz{{{zzyzyyyyzyzy{zzz{yyyyzzzyyzyzzzyzzzz{yxyyzyz{{z{zzyzzzyyy{zzzzzzz{zzyyzyzzz{z{zzzyzyyxyzx{{zzyzz{zzyzyyxyzzyzz{{yzzyxzyyyzy{yzz{zyzyyyyyyyzzzzyzyyzzyyyzyyzzzzyyzzz{yyyyxyz{zzzzzyxyyyzyzzzzzzzzzyyyzzyyyzzyyzzzzyyyyzyzyyzyyzzzzzxyzyzyyz{z{z{zzzyzzyyyzz{zz{z|zyyzzzyzyzyzz{zzzyzzzy{yyyzzzz{z{yyzyzyyyx{zzyzzzzzzyzyyy{{{z{z{zzyy{zyxy{y{zz{{yzzyzzzzz{z{{{yz{zy{z{zzzz{z{{z{{zyzzyyzyz{{z{{{zzzzy{zzzz{{{{{{zzz{yzzz|y|{{{{z|{z{yzz{zz{{{{z|{{zzz{{zz{{{{z{zz{zzzy{zz{{{{{{zzzzzzzzyz{{z{{{|{zyzyzyzzz{{{z|{{zzzzyyzz{{{zz{{zyzzyyyyy{z{{zzzzzyyyyyyyyzz{yzz{zyzzzzyyxyzzz{zzyzzyyzzxzzzzzzz{yyyzxyzyyyzzyy{{yyzxyyyxzzyyzzz{zzyxyyxyyzzyy{zzzy{yzyxxzyzyyzzz{xyyxyxyzzzzzyzzzyxyyyzxz{{yz{zzyyyyxxyyzyzzz{zzzyyyyxzyyzyyzz{zzxyyyz{zyyzyyzzzyyyyzxyyyzzzyyzzzyzyzzyyzyzzyzzzzyzyzzzyzzzy{zzzzzyzzyyyzzyzz{zzzyzxyyyyzyzzzyzzyzyyzyzzy{{y{{zzzyzzzyyz{z{zy{{{{zyz{zyz{zzzz{{zzyzzzzyzz{z{{{z{{z{z{zzzzz|zzz{{zyzzzy{zz{zzzz{zzyzzzyyz{|{z{zz{zyzyzz{zzzzy{{z{zzyzzzzz{{{z{{||{zzzzyyz{{{{z{zz{zzzzzyzzz{z{z|{zzzz{yzz{zz{z{{z{{zyyzzzz{z{z{{{z{yzzyzxz{{zzz{zyzzyyyyyzyz{zzyzzyxzyxyyyzzyzyyzzzyyzyyxyzzzzzzzyzyyxzyyzy{yzzy{yyyyzyyxzzz{yy{zzzyyxyyyzyyzyzz{yyyyyyyxxzzyyzzyzzyzyyxyyyzyyyzyyyyyyzyyyxyzyyzzyyyyxxyyzyyzzzzzyyyyxyxxyzzyy{y{yzzzxyzyzzzyzzz{zyxyyyyyxzyyzzyzyyzyzyyxyzyz{yz{zyyyyzzyzyyzy{zzyyzyzyyyz{zzyz{zyyzyzxyyyzzz{{zzyzzyzyyzzzyzzz{zzzyzzyzyzzzzz{{z{yzyyyyzz{{zzz{zzzzyzzzzzzzzyzyzzzyyzyyy{z{yz{|{yzyzyyzzzzyzzz{{zyyyzyzyyzzzz{{zzyyzzzzyy{{zz{{zzz{zzzzzzzzz{{{z{xzyz{yz{{zz{{{|zzzzyzzzz{z{zz{z{yzyzzyz{zz{z{{{{{zzzzyz{{zz{z{|zzzzzzzzzzzzz{zz{zzyyzzzz{z{zz{zzyzyzyyyzz{zyxzyzzyyyyyxyyyyyzyzzzyxyyyxyzyzz{yxzyyxyyzyyyy{zzz{zzyxyxyxyzyyyyyzyyzyyxzyzzzyzzyzzxxyzxxyzzyzxzzz{zyyyyyyyyyzzzyzyyyyyywyyyyyy{zyyyyyxxyyyyy{xzzyzyyxxyxyyyzyyyz{yyzyyyyyyyzzzyzzzyyyzyxxxyzyzyzzzyzyzyyxyzyyyzyzyzyxyzzyzyyyzzyzzyyyzyyyzzzyyzz{zzzyzyyyzzzzzzzzyyzxyyyyzzzyyzz{yyyyyyyzyzzyzz{yzy{yyyzyzzzzyz{zzxyyyyzyyzzyz{yzzyyyzzyzzzzzz{z{yyzzzyzzzzzz{zz|zyzyyzzyz{|zzz{zzyyzzy|y{{z{{z{{zyzzz{zzzz{zz{{z{zzzyzz{z{z{{{{{zzzzzyzz{zz{{zz{zyzz{zzzzz{zzzz{zzy{{zyyz{zzy{z{zyzyyxzzzzz{zy|z{zyyzyyzy{zz{zzzzzyyyyyzyz{{zzyzzzzxyyxyy|{yzzyzyyyyzyxyyzzz{{{zzzyyyyyzyyyzzzzyyyyxzyyzyy{zzzzzyzyyyyxyzxyyyzyzxzyyyyyxyyzzzzzzyyxyyyzyzyzzxyyyzyyyyyyyzyyyyyyzyzzyyyyyyy{zzyyyzxyyxxyyyzzzyzzyyyyyyyyzzzzzzz{{zyyyyxyxzzzyzz{zzzzyxyyzyzyyy{zyyyyzxzyyz{zzyzzzxyyyzyyyzzzz{{zzzxyyyxzyzzzyyzyzzzyzyyzyzzzzzzzyyyyyyyzyzzz{zzzzzyzyyzyyzzzyzz{yzzyyzzyzzzzzz{zzyzyzzzyzzz{zzzzzyzzy{yy{{z{{{{{zzyyyzzzyy{{{z{{zzzzzzzzzy{z{z{|zzyzyz{{yz{z{|{y{{z{zzzzy{{{{z{y{{zyz{yzy{zzz{z{{zyzyzzx{yz{zzzz{{zyzzzzzz{y{z{{{zzzyyzy{zzzy{{z{zzyzzzyyzzzz{zyzyyyyyyzz{zzzyzzyyxxyxyyzyzzyyyzzxyyzxyxxyzzzzzz{yyyyyzzyzyyyz{zy{wyyxxyyyzzzyzyzyxxyxxxyzyz{yzzzyxzxyyzyzyy{yzzyzxyyyxxyyzyzyy{xyyzyyzyyyyxyzzzyyyxxyxyxyyyzyzzyyyyyyyxxyzzzzyyyyzyyxyyyyyzzyzzzyyyyxyyyyyzzyy{xyxxyyyyyyzyyzzzzzyzyyyyxyzzyyzz{yyxyyxyxzzz{yzxzyzzyzzyyyzzzy{zzxyzyyyzyyzyyzz{{yyyzxyyyzzzzz{zzzyyyyyyyz{yzzz{zzxyzyyzzz{yzzzz{zyyyzzzz{zzzzzz{yyyyyy{zz{zzz{{zzzyzzxyyyz{{zz{{zyzzzzyzzzzyz{zzzzzyzzyyzzz{{{y{zyzzyzyz{{{{z{|{zzzzyyzyz{{zz{zzzzyzzzyz{{zzzzzzzzz{yzx{{{zz{{{{zyzyzyzyzzzzzzzzzzyxzyyyzzy{y{{|zzyzyxzyyzzzyzyzyyyzyxyzyzzzyzyzyzyyyxxzzzzzyzzzyzyyyyxyzyzyzzzyzyyyzyyyzzzzzz{zyzxyyxzzzyzzzzzzyyxyyyyzyzyyyyyyzyzyyyyyyzzyyy{yyzyxxyyyzyzxz{z{yywxzzyxyzyzyzzzyyyyxyyyyzyz{zzzyyyxxyyyzzz{zyyzzyyxyxyyyzyyyzzzxyyyyyyyzzyzzzz{zyzy{zzxzyyyzzzzzyyyzyzxzyzzyzz{yyyzyyzyyzzzzzz{y{yzxyzy{zzyz{zzzyzyzxyyzzy{z{z{yzzxzyyyzzzzzz{zzzyzyzyyyyzzz{zzzz{zzzyyzyz{{{{yz{{zyz{zzzz{z{{zzyyyzzyzz{{{zzzzzyyz{zzzzz{{{|{{zzzzzy{zz{z{{zzzzzzyyzz{z{{z{z{{{yyzzzzz{{y{z{zz{y{zyzyzzzzz{z{{{zyz{zyzz{z{zzzzzyzyzzzyyzz{yz|{zzyyyzyzy{z{{{z{zzzyzyyyzzzzzzyzyzyyyzzxyzzzzzzyyyxzyyzzzyzzzz{zyyyyyyyyzz{z{zzyyyzzyzyyzy{zyzzzzzyyyxyyzyzzyyy|zxzyxyyyzzzzzzyzzyyxzzyyyyzyzzzzyzzxxyyzxzyzzzy{yyzyzxyxzz{yz{zy{xxyyyxzyzyyyzzzyyzyxzyyzzzzzyzzzyyyzyzxzyzy{zzzzzxxyyyyzzzzz{z{yzyyyzyyzzzzzzyzzyyzzyyyz{zyzyyyzxyyzyyyzyzzz{z{zzzyyyyyzzzz{z{zzyyyzyzyyz{z{zz{zzyyyyzzz{{yz{{{zzzzzyyy{zzyzzzzzzzzzzzz{yz{{z{zzy{yzzzz{{yzz{{{zzzzzzzy{z{{{{{zzyzz{y{y{|z{z{{z{yzzzzz{zzz{{{z|zyzzzzzzz{{{z|{{zzzzyzzzz{{{z{{{zyzzzzzz{{{{zz{{zz{zzzz{{{zz{{{z|yy{z{yzzz{{zzz{yzy{yyzzy{yz{{|zzzzxyzyyyzyzyzyzzyyyzzxxzzzyzzzzyyxzyxyzyy{zzzzzzyyxyyxz{zzyzy{zyzyzyxyzzzyz{{zzzyzyyxyyzzzzz{zzyyzzyyyxyyzzyyzzzzzxyzyzyyzyzzzzyzyyyzyyzzzyyzyzyyzxyyyyyzyzyzzzyzyyxyyzzzyz{yzz{zzyyyxyzyzzzyz{zxyzxyxyzzzzy{zzzyyyxxzyyyyyyzzzzyzyzyyzyyzzzz{zyzyxzyyzzzyzzyy{zyzzyyzzy{zzzy{zy{zxyyyzyzzz{zy{zzzyzyyy{{{z{{z{yyyxzyyzzzyzz{{zyzyzyzzyzzz{zzzzzzzy{yzzzzzzzz{{yzzzzyzz{{z{y{{{zzzzzyzy{zzz{zzzzzzzzyyy|z{{z{{{zzzyzzzz{zzz{z|{z{{zzzz{z{{z{{{zzzz{{zzx{{{{zzzyzyzzyz{zz{zzzz{{z{yzzzz{{{zzzz{{z{zyzzzzzz{z{{{{{zyyyzzyzz|zz{yzzyzyyxyyzyzzyzzzzyzzyyyxzy{zyzz{yzyyyyyyyy{yz{z{zyzyzzyyzzyzy{z{zzyzyyzxyz{zzzyzz{yyzyyyyyzzyzyzyzyyyyzyyzzzzzyzzzzyxyxyzyzzzzzzyyyyzzzyzyzz{zzzyyyyyzxyzzzy{z{zyyzzyzyyxz{zyzzzyyzyyxyyzzzzzzzzzyzyzyyxzzyzyzzyzzyzyyyzyzyzz{zyyyyyyyyyzzzzzz{{zyzxxzzyz{zyz{z{zyzyzzyzzzzyzzzzyyyyyyyyzzz{{zzzzzzyzzzzz{z{z{zzyzyyyzzyzzz{zz{yzyzzzyyyzzzzz{z{zzzzzzz{z{{{z{{{zyyzzzzz{{z{z{{{yzy{{yzzz{z{{z{zzyxyzy{yz{zz{z{zzzzzzzzzzz{{{{{zzzzyz{{yz|{{z{{|zz{zzyyz{{z{z{{{{zz{zzzz{{{z{{z|{zzzzyzz{{{|{{z|zz{yzzyz{z{{{{{{y{yyzyyy{{zzzz{zzzyyzzyy{y{yz{yzzzyyzyyx{yyzz{y{zxyyzyyxzzzzzz{yzzyyzzzy{zyzz{zzyyxzzxyzzzzzzzzzzyyzxyzyzzzzy{yzzzzzzzyyz{zzyzzyyyzyyywyzyzyyzyyzxyyyyyzzzyzyzyyyxzyzzzzzzzzz{zzzyyzyyyyyzzyzyz{yyxzxyyzzzy{yzzzyyyzyyzyyyzyy{{yzyzyyyyzyyyz{zzzyyzzzzyyzy{zz{zzzzyyyyzzzyyyz{zyyyyyyzyzzyyzzz{|yz{xyzyz{zzzzz{zzyzzyyyyzzz{yzzzzyzzzzzzzzzz{zz{yyzzyyyyzzy{z{z{zzzzzzzyz{{z{z{zzyyyzz{z{{z{z{{{yyzzz{zyzzzz{{zzzzz{zyzz{{zzzz{{{zzy{zzz{zzzz{z{{zzzzyzzy{{{z{{z{zzzzyzzzz{|z|yz{yzzzzzzzzz{{{|{{zz{zzzzz{zz{||{{{zzyzyzz{{{{z{{z{zzyzzyz{z{z{{{zzzy{yxzzz{z{zyzyxxzzyzyy|zz{zzzzyzyzxzyzzyy{yzyzyyyyyzyzyzzzzzzyyyyyyyyzyzzzzz{{yzyyxxyzzy|y{z{yyyxzzyxz{{yyz{yzzyzyyzzzyyyy{yzyyyyyzyyzzzzyy{zyyyyyxyyyzzyzzzzyyxxzyxzzz{zzzzzyyyyyzyyyzz{yzzyyzyyyzyyyxzzyzzzzzyyyyzxyzyzyzzzyyzzyzzyzzy{{z{yzzzyyzyzyzzzzzzzzyyzyyyyz{zz{z{|zyzzyzyzz{zzzz{zzyy{zzyyy{yzyz{zzzzyzyy{zzzyyz{yzyyyyyyzzzz{z{zzzyzzzzyzzzz{zzzz{yzzzyzy{zzzz{z{zzzzzzyz{zzzz{z{{yzzyyyy{{{z{z{zzzz{yz{yz{{{{{{zzzy{zzz{{zzz{yzz{{{zz{zz{{zz{{{{zz{zy|yyz{z{z{{{{zzz{zz{{{{{{{y|zyyyzz{zz{{{{{{z{z{zy{y{z{z{zy{z{zzzzyyyzy{zzz{yyyzxxyyzzzyyzzyzzzyyxyyyzzzzzz{{y{zxyzyyyzyzzz{zzyzzxzyxyzzzzyz{yzzyyxyx{zzzyzz|yyzyyyyyz{yyzzzy{yyyzyzyyy{yzyzzxyyyyyxyzzyyyyzyyyzyyxyyyyyyzxzyyyyyyyxzyzyzz{yzyyzyzzyyyzz{yyz{zyyyyyzxy{zzzzzyzzyyyyyxyyyx{zzzzyzyyzyy{{zyzzzzzyyyzyzyzzy{{yzzyyxyxzzyyzzzzz{{yyzyyxzzz{z{{zz{zyyzyxzzxzzzzzzzzy{zzxyyzzyzyz{zzyy{zyzzz{zzzz{zyzzyyzyyzzz{zzzzyzzzzzzy{{zzzzz{yzyzzzyxz{zz{z{{{zzyzzyzz|{{z{{{|zzyzzyzzz{zz|{{zzzyy{zzz{z{{zz{{{zz{zy{{zzz{{zzzyzzzzzzzzzzzzz|{zxyzzz{{{z{z{{{zzzzzzzzzzzzy{{zzyyzyyzzz{zzzz{|zyyxyyyzz{zzzxzzy{zyzzzxxzz{zzzzzzyyyxxyyzzyyz{zzzyyzyyyzyzyyzzzzyyyzyzzzz{zyzzzyyyxzyyxzzzzyzyzyyyyzyyyyzyz{{z{zyyzyyzyyyzzyzzzzyyxyzyyzzyzyzzzzyyyyyyzyzzzzzzzyyzyxzzzyzzyzz{{zyyyyzxzz{zy{zzyzxzyyxyyzzzyx{zyyyyyyyyyz{zzzzzzzzyyyyzyyy{yzzz{zzzy{yzzyzzzz{{zxzzyzyzyzzz{zyz{zzzzzy{yz{{zy{{{zzzzyyyyy{zzzzzzzzzzzzyzzz{{z{{zzyz{yzyyz{{zyzyyzzzyzzyy{zz{z{{zzzzyzzzz{{z{{{{{zzzzzzyzz{{z{{{zzz{yzyzy|{z{zz{|{{zzy{yyzzz{z{z{zzzzzyzzy|{z{{zz{zzzyzzz|z{{{z{{{zz{zz{yzz{z{zz{z{zzzyzzz{{{{z{zz{{yzyy{z{{zzzzzzzzzzzzyz{zy{z{zzz{yzy{yzzz{zzzzxyyzzyyxzyzzz{yzyyyyyyyyzzzyz{{zyyxyzzyzzyzzzz{zzzzzyyyxyzy{xz{{z{yyxzyyyzzzzyzyzyxyyzyzzzzyzyzzyxyyyxyxzyzyzzyzyyzyyzyzyzyyz{yzyyxyyyyyz{zyyzyzzzyyyyxyyyyyz{zzzz{zyzyxzzzzzzzzyyyzyzyyyzyyzyyyzyxyyxzyxzyzzzzzyzyyzzyyy{zzzz{yyyyyzzzyzyzzzzz|zzzzyxzyzzzzzz{yzyzzzyzy{zzyy{{zzzzzyzyzzzzzz{zzyyzyxyzyz{zyzz{zzzyzyyzyzzzyzz{zzyyyxzzzy{zz{{{zyz{zz{{xzzzzzz{{{z{zzyzyzzz{zz{{{z{zzzyyzzzzz{{{zzzyzzzzz{{z{{{zzyzzzzzzz{{zyz{{{z{zzzzyyz{z{{zz{z{yzzzz{{zz{{{|zzzy|yzzzz{z|zz{zyyz{yzz{zzz{{{|{zzzzy{zz{zzz{zzzyzyzzxyzy{zzzyyyxxzyxyyzzzzzzz{yyyyxyyyyzzzyz{zyxyxyyzyzzzyzzzyzyyyyyyyzzz{xzzzzyzyyzzxzyyzyzzzyxxxyyxxzyzzzzzyyyyyyyyyyzyyxzzzyyyxyyyyyyyz{zzyyyzyxxyxyyzzzyzzyyyxxyyxzzzzyzzzzyyyxyyxyzz{zzzzyyxyyxyxyyzyyzzzzyxyyyyyxyyyyzzyyxyyyyyyzzyzzzzz{zxxyyzyzzzzzzyzzyzyyyzzzzzzz{yxyyyyyyyzzyyyzz{zzzzyzyyyz{yyyzyzyxyyyyyzzz{yyz{zyzyzzyxyzzzzzzzzzzzzzzzyzyz{z{{zzzzy{yzyzzzz{{z{zzzzzyxyz{{{zz{z{zzyzzzy{zz{z{zzyzzzyzzzzz{{z{{{{yzyz{yzy{{{z{{zyy{zzzyz{zz{{{{zzyzzzyzz{{{zzzz|y{yzzzyyzy{zz{{{zzzzzyyyz{zzz{{zzz{zxzxyzzzz{{zzzzzyzzzyzyzyzyzzzzyyzxyyyzzyy{yzyyyxyyzyzzzzzzz{zyyzzxyyzz{yzy{zzyyxzyzzzzyzzyzzyxzyzzzyz{yzyzyzyyzyyzyyyyzzyzzyzyzyyxyyzzzyzyyzyyyyyyyyzzzyyzzyyyyyzyyyyyzzzyzyyyyxyzxyzyzyzz{zyzzyxyyyyzzz{zzyyyyzyzyyxzzyzzyyzyyyxyyyyyyzy{zyyyyyyyyxyzyyzx{{yzyyzzyzzzyyz{z{yzyyxyzzzzzzzzyzyyzzyzzzzzzyyy{{zyyyzyyyzzz{{{{zxyzzyzyyyzzz{{{yyyyzzzyy{zzzzzzyzzyyzyyzz|{zyz|zzyyzzz{zzzzzzz{{zzy{zzyyz{zz{{zzzzz{zyzzz{zzz{z{zzzyyz{zyzzz{|z{zy{zyzzzz{{{{z{{zzzzzzzyzz{{z{zz{z{zzyzzzz{{{{|{{{zzzzz{{{{z{z{{zzzxzyyyz{zzzz{zzyzyxyyxzzyzzzzyzyzyyyyyz{zyzyzzyyzyxyyyyzz{zzzzyzyzywyxyz{zz|zz{yzyzxxy{yyz{zzzyzyzzxyy{zz{yyzzyyyyyxzxyzzyzzz{yyzyyxzxzz{zz{zzzyzyzyxxyyzyz{y{zyyyxyyyzyzzyzzzyxzzzzyyzzyzyzzyzyyzyxyzyzyzzzzzyzyyxyyzzyzzzzzzzwyzyyxyyyyyzyzzzyyyyyyyyzyzy{{zyyzzzzyyz{zzyyzzzyyyzzyyyzzzy{z{yyyyyxyyz{yyzzzzzy{yyzyzyzyzzzz{zyyzyzzyzzzz{{zzzzyzyzzxzz{zz{{yz{zzzzyy{{zzz{{zzzzzyzz{{{z|z{z{yyzzzzzzz{zz{{{zzzyzzzyyz{zz{{{{yzzzyzzz{{z{{{{{zzyz{{zzz{z{{{{z{zzzy{{zz{{{{{{{zzzz{zzy{z{zz|zzzzzzzzz{z{|zzz{{yzzzzzzyz{z{{z{zz{zzyzzyz{zzy{zzzzz{zzyzz{z{yz{zzzyzyzyyz{z{yzyzz{yyyyyzyyzyz{zzyyzyzxyyzy{zzzyzzyyzxyzyyyzyz{{{yyyyyzyyyzz{{yyzzzzyxyyxzyzzzzy{yyzxxyyyzzzyyzzzzyzyzyyyzzzyzyyzzyyyyyyxyyxyzyzyyyyzyyzyyyzyyyzyzyyyyyxyzyzyyzzzzyzyxyyyyzy{zyzzzzzzyyyyyzyyzyzz{zyxzyxyyzzxyzzzyzyzzzyyzyxyyz{z{yzyzyyzyzzyzzz{zyyyzxyyzyzzzzyzzzzyzyzzzzzzzz{zzzyzzyzzzzzzy{zz{yyxyyzyzzzzzz{z{yzzyxzz{{{yz{{zzzzzyzzyy{z{zzz|zz{yzzzzy{z{z{{zzzyzzzyzz{{{{zzzzzyzzyzzz{{z{{{zzzyzzzzzzzzz{{{{{zzyzzzzz{{{{{zzzz{{{zzz{z{{{z|z{zyz{zz{{{{z{z|{z{yzzzzz{{z{{z{{{{zy{{zz{{z{y{{{z{zzyyyzzzz{zzz{zzzyzzyyz{zzzzyzwzxzzyxxzzzyzzzzyzyyzyzy{zzzzzzzyyyyyyyyyzzzzyzzzzyyyyzyzzzzyzzzzzyzyyyxyyzyzzy{yyzxzyyyzyyzzzzzyyyxyyyyzzzzz{yyyzyyyyyxyyyzzyzzyyzyyyyyzzyzzzzyyyxzyyyyyzzyzzzzzyzyxyxyyzyzyyzzzyxyxyzxzy{yzzz{zyyxyxyyyyyyz|yzzyyzzyyyzzzzzyzzzzyzyyzyy{zzzz{z{zzzzyyy{yzyz{zzyyzzyyz{zyzy{{zzzzzyxyyyyzzzz{{{yzzzzzyyz{{z{y{{zzyzy{yzzzzyzzzz{yzyyzyzzzz{{z{{zyz{zz{zzzz{y{{{zzzzyzzyy{zy{{{zzz{yyzz{{{{z{{{{{{zyzz{zzzzz{{{z{yy{zzyzz{{{|{{|{zzzzz{y{z{{{{z{zyzyzzzz{zz{{{{{z{zzzyzzz|z|{{{{zzzyyyy{zz{zzzz{z{zyzz{yz{{zzz{zzzzzyyzyz{{z{y{zzyxyzxyyxzzzyyyzyxyzyyyyzzyzyzz{zyyyyzzyzz{zzzzzzzyyyyzzzzzzzyzzyzyyyyzyzzzyzyyzyyyyyyzyy{zyzzzyzyyyzyyyyyyyzzzzyyzyyyyxzzzzzzzzzxzxyzyyzyzzyy{yyyzyyzyyyz{zzzzzzyyyxyyxyzzzy{zzyzyxyyxyyzyyyzzzyyyxxyyyyzyyy{z{yyyyzzzx{{zzzzzzyyyxzyyyzzzyzz{yzzzyyxzy{yyzzyzzzyyyyyzzzzzyzzz{yyz{yxzyzyzz{{{zzzyyzzyzzyz{zz{zzyyzyzyy{{{y{z{zzzyxyzyz{zz{{{{yyz{yzzzz|{zzz{{{{{yzzzyy{z{z{{z{zyzyzz{zz{zzz{{{zzzzzz{zzz{{{{{{|yzz{zz{z{|zzzz|zz{{zzzz{{{zz{z{|yzzzz{yz{z{{z{|{{y{zyz{z{zz{{{{zzzzyzzyz{zzz|{{zzyyyz{yz{{zz{{zzyyzzwxxzyz{zzzyzzyyzxyyyzzyzzz{zyzyyyyyzyy{zy{{zyzzyyzyzzzy{z{zzyyyyzyyyyzzzzzzyyxyyyyy{zzyy{zzzyyyzzyzyyyyzz{yzxyyzxyyzzzzyzzzzyzxzzyyzzzzyzyzzyzyyxyyzzzzzyzyyyyyyyxzyzyzzzzzzzzyyyyz{zzzzzzzzzzz{yyyzzyz{{zzyzyyyyzzy{yyz{z{yz{yyyyxyzz{zzzzzxzxyyyzyz{yzzzzzzyzyzzzzzz{zz|zzyyzyyyzzzzzz{{zyzzzzyzyzz{zy{zzzzzz{zzzzzzz{z{zzyyzyyzz{zzy{z{{zzzz{zzz{z{{z{z{zzzzy{{zzzz{z{{|zzzzzz{z{z{yzzzz{yzyzy{z{{{{z{{{zz{zyzzz{{z{{|{{|zzz{zzy{z{{z{z{{yzzyzzz{z{zz{z{|zzz{yzz{zz{z{{{zzzz{{yz{{{{{z{{z{zyz{zzzzy{z{z{{zyzzzzz{{{zzz{zzyzz{yzyzzzzzz{zyyyyyzxxx{zyyzyzxyzxyyyyzyzyzzzzxyyzyzyzzyzyzzzzzzyyyzxyyyzyzzzzyyzyyzxyzzzzzzzzzyyyyxyyyzyzzz{zzzyyyzxyzzyyyyzyzzzxyyyyzzyzyzy|yyzyyyyyyyzyzyzyyyyywyyxyzzyzz{yyyzxyxyxzzzyzzzzyyyyyyzyzyyyyyzzyyxzxxxyzzyyzzzzyyzzzxyxzzyy{zzzzyyyyzyyzz{zzzzzyxzzyyzyz{{zzzzzy{zyzyxzyzyyz{z{zzzzzzzzzzzzyzz{zzyzyzyyzzyzz{zyzzyzzyyzzzzzzz{zzzzyzyzy{zz{y{{yyz{zzyyzzzyz{zz{z{yzzyyx|{z{zz{zzyyyyyyy{zz{{{{z{zzzzzzz{{zzz{{zzzzzzzzz{{{{{{{||yy{yzzyzz{{z{zzzzyzzzzzzz{{z{z{zzzz{zzzzzz{{{||zzzzzzz{{{zzz{{{zzzzyyzyy{zzzz|{zzzzyyyyyzzyzzyyyyzyyyyyz{yzzy{yyyzyyyyy{z{yzyzzzyyyzzzzzzyyzyzzzyzyyzyzzzzzzzzzyyxyyyyzzyzzzz{zzzyyxyyyyzxyyzzyyyyxyyyyyyzyzyyzyyyxyyyyyzyzzyzzxyyxyyyxxzzzzzyzyyyyyyyyzzyyzzzzyyyzyzxy{zzzyyzzyyyyyyxxy{yzyzzzzyyxyyyyyzyzyzz{yzyzyzyyzyzy{{yzyyzyzxzyzzzzyyzzzzzyyyyyyzz{zyzzzyzyyyyyzzzyzzz{zzzy{yxxy{zzyz{{yyzzyzyyzyzzz{{zzzyzyyzyzzyz{{z{zzyzyzyzzzzz{zzzzyyzzyzzzyzy{z{{yyzyzyyz{{{{|{z{zzzzyyzzzzzz{{{zzzz{zz{zz{{{{{{z{zyzzzyz{|zz{z{zzzzzzy{zzz{yz{{{{yzyzzyz{z{{y{{{zyz{z{z{z{z{{|z|y{yyyzyyzz{z{||zzzyyyz{z{zzzzy{zzzzyzyyzzzyzzzyzyyxyzyyyzzzyyzzzyyyzyyyyyzyyzzz{x{yyyyxx{zyyzzzyzyyyyxyzzz{zzzy{zyyyyyyzyy{{yzzzzyxxzzzyzyzyyy{yyzyyyyyzzyzyyz{zyyzzyyzyzzzzyyzyzyyyyyzxyyz{zz{yyyyxyyxy{zzyzyzzyyyyxxyxyyzyzyyyzxyzzyyyyyyzyzzzyyxxzyyyz{zzz{zzyyyyyyzxzzz{yzzzzyyy{xyzyzzzzzz{zyyyxyyyyyzz{zzzyyzyzzzyzzz{z{{{zyzyyyzxzzz{zzyyzzzzyzzyz{zzzzz{zzxzyyyzzz{zzzyzzyzyzyyyzy{zz{{zzzyzyzyzzzzz{{z{zyzyxyzz{y{{zz{zzzzzzzyyzzzyzz{z{zzzz{zzzzz{{|{zzzzyzzzzz{{{|z{z{zzzzzyzzz{{z{{{zyzzyzzyzzzzzz{zyyz{zzyzz{{{zzz{zzzyzzyyz{{{y{z{zyzyzzzyz{z{zyzzyyyyzxyyz{zxyzyzzyxyxxyyyzzzyzz{yyyyyyxzyxyyz{{yzxyzzzyxzyzxyzzzyyyyyxxzyzz{z{zzzyyxyyyxyyzyyyy{yxzyxyxyyzyyyzz{yyyxxzyxyx{zyzzzyyzyxyyyyzyzyyzzyyxxyyyyzyzzyyyzxxyzwyxyyzzzzyzzyzxyxyyzyzzzyyzyyxyywyyxyzzzzzyyxyyyyyyxzzyzxzzyyyzxzzxwzyyzy{zzzyyyzxyzyzzyzzyzzyyzyyyyzyzy{zzyyxyzxxyyz{{{yzzy{yzzyyzzy{z{zzzzyyzyyzyzzzyzyz{yyyyyyyzxz{zzzz{zzyyzzyyyz{{z{{{zzzyyzyyxy{{zzz{{{y{zyyyyz{yzy{{zzzyzzzzy{zz{{{{{zzzzzzzzz{z|{{{z{yzzyyzyz{zz{z{zzzzyzyzzzzz{zzzz{zyyz{zzz{z{z{{|{z{yz{zzz{yz{zzzzyxyyyyyz{zzzzyzyyyyxzzy{yyzy{zzzzzxyyzyyzzyyzzzzzyyyyxxyyzyzy{zyyyyyyxyyy{yyyyyzxyyzxxyzy{zyzyzyyzyyyyyzyzzyzz{zyyyxxyxyzzzyyyzyyyyxyyyzzzxzyyyyyxzyzyyxyzzyzzzyxyyxzyzzzzyyyzzxyyyyyzyxyzzxyzzyyyyzyyyyyzzzzzyyyyyyxyyyzyyyzzyzyxxyxyyxzyyyzyzyyyyyyxyyzzzz{zzyyyzyzyxyzyzyzyyyy{yzyyxzzzzzz{zzxzzyxyy{yyyzzz{yyyyzzzyyzyzzyzzyyyyyyyyz{zzzz{zzzxyzzyxz{zzz{{zzyyzyyzzzzzyyyz{yyzzzyzy{z{zz{zzzzyzzyyz{{z{z{|zzzyzzzzyz{{{zy{yzzz{zyyz{{z{{zzzzzyz{zyyz{{zzz{{zz{zzzzzzzz{{z{zyzz{yyzzz{yz{{{zzyzzzyzzzzz{{z{{zyz{z{zz{zz{{{z{yyyzzyzy{zy{zz{zyzzyyzyyxzyzzzzzyz{yyyyyy{{zzyzzzyyyxyyxyzzzyzz{zyyyyyyyzyyzzyyzxyyxzzzyzyzzy{zzzzzyxyyxyyy{yzz{yyyyyyyxyyzyzzy{yyyxyyyyyyyyzzzzzzyyyzyyy{yzxyzyyyyyyxyyzzyzzzyzyyyyyzyyzxyzzzzzzyyyyyyyxyzzzzzzyyzyyyyyz{zzzzz{yyyyzyyyzyyyzyz{zyxyyzzyyzyzyyz{yyyyzyzyzzzzzy{zyyyzyxzyzzyyzyz{zzyzzyzzyyyzyyz|yzzyyzzyzz{zzzzzyxzyzzyyyzzzz{zzyzyzyyzyy{zzzzzzzyzzzxzyz{zyy{zzzyzyyzzyzz{zz{zzyzzzzyyzyzz{{z{zyyzzzzzzz{z{z{{yzzyz|zzzz{yz{{z{zzzy{yzxz{z{{|{{zzzzzzyyzz{z{{{|zyzz{z{zz{{{z{{|{yzzzzzzz{z{|z{z{zz{zyzz{yzz{y{{zyyyzzyy{yz{zz{{{z{yzzzxz{yyz{z{yzyxyyyyzzzyz{yzyyxyyyyzy{{zzzzzyzxyyzxxzz{y{yz{zyyxzyyyzzz{z{zyzyyzyyxyzzzz{zz{zzyzyyyyzyzzyyzyzyzzzxyyyyyyzzyzzyzyyxyyzzzyzzyxzxyxzyyyzyzzzyzzxyxyyxyyyyzyyyzzzzyyyzyyzzzyzzzzyyyyyyxxyzy{zyzzzyyzyxyyyzyyz{xyyyyyzyxxyzzzz{zzzzzzzyzxz{zyz{zzyyzzzzyyyzzzyzzzzzyzyzyyzzzzzyy{yzyzyzyy{zzzzzzzyzzyzyyzz{zzz|zzyzxyyyyyz{{yzzzzzzyzyzyyz|{zzzz{zzzyzz{zzz{z{|{{yzzyzz{z{{{{zzzzyyyyzyyyz{{z{zz{zz{zzzyzz|zz{{|{{z{yz{{z{{z{{{{zzy{yyzz{zzz{{z{{{zzz{zzzzz{{zz{{zzzz{zz{{{zz{|{{zzzzzzyzz{{|{z{zyzzyzzyzz{z{z{{{zyyzzzzzz{{{{y{{yyzyzyzzzzy{zyzzzyzyyxzzz{zzzyyzxxyyyyyyzyz{zzz{yyxyyzyyzzzzz{zyyyyyyyyyyzzzyyzyyyxzyzzyzz{zzy{zxyzzyyyyzzyxzy{zzyyxyyyyyz{zzzyyzzyyzyyy{zyyzzzzyyyxxyyyyy{zyzzzyyyyyyyyyyz{zyy{xyzyyyxzyzzz{z{zyyyyzyyxyyzzyz{zzyzyyyzzzzyyyzzyyyyxzyzyzyzzzzzzyzxzzyyyz{yz{zz{zyyzzyyxz{z{zz{zzyyyzyyxzzzyzzz{zzyyyyyyyz{{z{{{zzyy{{zyzzzzzz{zz{zzzzzy{z{zyzzzzzyyyyyzz{{{y{zzzzz{zyy{zzz{{{{{zyz{zzzyzzzz{z{{{yyyzzzz{{|z{{{{zz{zyzz{{zzz{{zzyz{yzzyyz{|{zz{{zzzzyz{zzz|{z{zzzzzz{{zyzzz{{{{{{zzzzzyz{{{zz{{{zzzzzyyyyzzz{{z{zzzzyyyzzzz{zyz{yy{yzxyzzyzzyyyzzxyyxyyyxzzyzyyzzxyxyxzyz{zzzz{{zyyyyyyyzyyyz{zzyyzyyyzzzyzyyzyyyyzyyyyxzyzzzyyzyzyyyzyyzzzzzzzyzyyyxyxxyzyzzzyyyzyyyzyyyyzyz{{zyyxyyxyyyyzzyyzyzyyyyyyyzzzyzyzyxyyxxyyyyyzzzyzzzyyxzyyyxzyyzyzyzzyyyyxyyzzyy{y{yxyyzyyyyy{zyzz{zzyxyyzyyzyyz{z{zyyyyyzz{zzzzyz{zzyzyyzz{zzyzz{z{yzzzyzyz{{zz{{zzyyyzxyy{z{{yz{zzyyzzyyyzz{zzzz{yzyzyyzzzzzz{z{zzzyzzy{zzzyzz{{{z{zzyyzyzz{z{zzzzzz{yzy{{{z{{zzzzz{yzzzyy{{zyz{zz{zzzzzyz{{z{{z{zzzzyzzy{z{y{{z{zyyzzyzzy|z{z{{{zzyz{zzy{z{|zzz{zzzzzzzzz{zzz{{{zyyzyyyzyz{{zy{z{yyzyyyzzyzzz{yzyyxyyxyyzzzyyy{zzzyzxyyyyyyyzz{zyyyxyzyxyzyzzzz{yxyyyyxxzzz{yzzzyyyyxyzxzyzzzzyzyxzyyyyyyyzyyzyyyyyxyxyyyyzyyyzzyyzzwzyyyzzzzyzyyyzzyxxyzyyzzzzyzyyyxxyyyyzyzzzyyyyzxyxxzyzzzyyyzyzxyyzxzzzyyzyyyyyyyyyxy{yzzzyzyxyyyyzxzzyzzz{{zyxyzyzzzyyzzyz{yxyyyyzzz{z{zzzzyyyzyzyy{zzzz{{zyzzzyyyyz{yzz{y{yzyyzyyxzzzzy{{zzyzyyyyzzzzyz{zzzyzzzyyyzz{{zzz{zzzzyzzzz{z{zzz{zzzzyyzyzzzzz{{zzzzzzzyz{{{{z{zz{zy{zzz{{zzzz{{{|zzzyyzyz{zz{{{zzyyzzyzz{{{{{|zz{zzyzyzyy{zzz|{{zzy{zzzz{{{{{zz{yzzyzzyz{zz{{{{zzzzyyzyyzz{{yz|zyyzyzyyyzz{zyyzyyzyyxyxyyzyzyzzzyzyyyzyyyzzzzzyzyzyyyyyyzyzzzyzzzyyxyyxzzyzzyy{{yyzyyyzxzzzyyzyyyyyyxyzxxzyzzzzzyxyyyyzzyzzzzzzzyyyyyxyyyzyyyzyyyxzyyyyzzyzyyzzxxyyyyyxxyyzzzx{zzzyyyxyyzzzzz{zxyyyyyyyyyyyyyyyzyzyxxyyxyzyzyz{yyyyyyyyyzz{yyy{zyyyxzxyyzzzyzzz{yxzyzyyzyzzzzzyzxzyyzzyyzz{zyzzzyxzyyyzyy|z{zz{z{yzzzzyy{z{zzy{yzzzzyyyyz{zzyzz{{zzzyzyzzz{{z{zzzzzzzyzzzzz{zzz{{zzzyyzyz{zz{z{z|yzz{yzzzz{y{z{yzyzy{z{zzzzzz{zy{yzzzzx{z{{{z{{{zzzz{zzyz{{zzz{{{{z{zzzy{{zz{z{{zzzzzz{z{z{{y{{{zzyyzzzzz{z{z{z{xzzzzyzyz{zzzzzzyyzzyzyxzz{yzzzzxyxyyxxxyzyzyzzzxyyxzxzyyyzyzzyzzyxxzzyyzyyyyzzzyzyzyyyyzzzzyy{yzyyyyyyyzxyy{zzyyyyxzyyxxzyzyzyzzxyyzyxyyyzxzyyzyyzxyyyzyyyzyyzzzyxyyyzxxyyzyzyzyxyzxyxxyyzzzyzyyyyxxyyyyzzzyzyzzyyyxyxwyzyyzzzyyyyxzxyxzzxyz{yzxyzyxxyyyzzyzzz{zzxyzxyyyzzzzzzzzyyyxyyzyzzyyzyzyyzyyyzyzyzyyzzzyyzyyzxyzyzy{zzzzzyyyyyyzzzzzzzzzyzzzyxyz{zyzzzyzyyyz{yzzzzzz{|zyyzzyyyyzzy{zzzzzyzyzxyz{{z{zzz{zyzzzyzzzzzz{z{{zz{xyzzz{{zzz{zz{zzzyzyzz|y{zzzzyzzyzyzyz{{z{z{zzzyzyzyyzzyyz{z{zzxzz{zzz{yz{zyzyzyyzyzyzzz{zzzzyzzyzzyyyzz{{zz{yyzzyyyyxyyzzzyyyzyyyxyyxzzyyzzyxyyyyxxyyyzyyzzzyyxyzzyx{yyyzzzyzyyyyyyyzyyyzzzzzyyxxyyxyyyzzzy{yyzxyyyzyyzzzzyyzxyxyxyyzyyyyy{yyyyyyxyyyyzyyzzzyyxzxxyxyyzyzzzzyyyyyxyzzzyyzyyyzyyyxyyxyyyyzyz{yzyyxyzxyzzyyzzxzyxyyyxyyzyyyzzzzxzyyyyyzzzzzzzzyyyyyzyyzzyyzyzyzzyyzyyyyyzzzzyzyyyyyyyzzzyzyzz{zzyzzxzyzzzzzzzzyxzyyzyyzyzyyzz{yzyzyzyyzzzzzzzzzyyyyzyyz{z{{zz|zyyyzyyyyzzzzzz{yzzzyxyyz{z{yzzyzyyzzyyyzzyzzzzzzzzyyzzyyzzzy{z|zzzzzzyzz{z{{z{z{zyzyzzxz{zz{zz{zyzzyyyzzzzz{{zz{{zzzyzz{zy{z{{{yzyyyyzzyyz{yyzzzzyyyyyxzzz{yyzyyzyyzyyyzyzyyzyzzxyyyzyyyzzyyzyzzyyzxyxyzzzz{zzzyzxxzzxzyzzz{{{{zyzxyyyyyzyzyz{zzyyyxyxyzzzzyzzzyyyyxyzyy{yxyz{yzyyyyxyyzyzzyzyyyxyyxyxzyzzzzyyyyyxyyyyyyyz{zy{yyzxyxzyxxzzzzzzzzzyyyyyzzyyyzzy{yyzyzxzyyzzyyzzzzzxyyzyyyzzyyzzyxxyyxxyyzzz{z{zz{yzyyyzzy{yyzzzzzzyzyyyyyz{yzy{{yzyxzyyy{z{zzzzy{zyzzyzzyzyzzyzzyyz{zzyzzzz{yzzyyzyzyyzyzzzyz{y{zzzy{z{yzz{z{zzzzzzyzzzzz{z{{zz{{yzzzxyz{{{{{{{{{zxzyyzyy{zz{z{zzzzzy{zzy{zzy{zz{zzz{yyzy{{|yz{{yzzzy{zzz{{z{z{{zyzzzzyzz{{z{{{|{zz{{zzzzz{z{{{{zzzyyzzyz|z{zz{zzyyzyz{yzzz{zz{zyzzzzzyzzyzyzzyzxyxxzyxyxyzzzyzzyyyyxxyyyyyyyzyzyxxxyyzyzyyyzzy{{xzzyzyyzyzyxzzyzyxxyyyxyzzxy{y{yxyyyxxxyzzyzyzzyyyxyxyyzyzyyyyyyzyyyyxxyyyyyyzyyyxyyyyyxyyyyyzxyyxyyyxyyyzzyyzzzxyyyyyyyyzzxyzzyy{yyxxxzzzxyyyyyyyyxxyxxzyyzz{zyyyyyyyxzz{zzyzyyyyxzyxzzzyzzz{zyy{yyyyyzzzzy{{zyzyyyyyyyzyzzzzzzyyyzyyzy{yzzz{zyyyyzxzxxz{{yzzyyyyyzzyyyyzzz{zzyzyzzzzyyzzz{{{zyyzzxzzz{z{{zz{{zyyyzyyyz{{zzz{y{yyyyzzyz{zz{z{{zzzzzzzzyzzz{yyzzzyzyzyzzz{zzzz|zx{zzyzzzz{{{z{{zyzzzzzz{{zz{{z{zzyz{zyz{zzzz{y{zzyyzzyzz{zzyzzzyzyyzyzyzz{zzzzyyyyyyzzyyzzyzzyyxxxxyxxyyzzyzzyzyyyxyxyxzzzyzy{{yyxyyxyy{xzxyyz{yyyyyyzyzyyzyyzzzyyywxyyyzzzyyy{yyyyyyyyzzzxyyz{yyyxyzxyzyyyxyxyzyyxxxxyyyyyyzyyyyzyzyzyyzyzyzzyxyxyyxyyyzyyzzyzyyyyyxyxyyyyyx{yyxxyywzxzyxzzyyzyyyyyyxyyyzyyzz{xzyyyyzxyzz{yyzzyyyyyyxyyzzzzzzzzyyyyyzyzxzzyzy{yzzyxyxyzyzyzzyzyyyzzyyxyzzyzzyzzyyyyyyyzzzzzzzyzyzzyzyyz{zzzzy{yyzyyyyyzzzzzzzzzyyzzzzz{{zzzzyzyyyyyzxyzz{zzz{zzzyzzyxzz{zzzz{{zyz{zzz{zzyz{{z{yyz{yzzzy{zzzz{yzyyzzzxyyzyzzz{zzyzyzyzzzyz{{{{{zyzzzzyzzzzzz{zzyyyyyyy{zzyzzz{zzyxyyyyzyzz{zzzzyyzyzyxxy{zyzyzzxxyxxyyyzyzyyyzyyxyyyxyxzyyyzyzzzyyyyyzxyyzyyy{zyzyyyyyyyzzzzyyzzyyyyyxyyzzyzzyyxyyyyzzyyzyyzyzzyyyyzyyyyyzyyzzzyyyyyxyxzyyyzyyzyxxyyxzyyzyyyyzzyxyyyyxxyyzy{zxyyyyyxyyxyzyxzyyyyyyyyzyxyyyyyzzyyyxyyyyyzyyyzz{zyyzzyyzxzzzyzzzyzxyyzyzzzzzzz{{zzyyyyyyzzyzzzzz{zyzxxzyxyzzzzzzzzyyzyxyyzzyzz{zzzyzzyzyyzzy{z{|zyyxyyyzyyzyyy|zzzzyyyyyzzyzzzzzzzzzyyz{zyz{z{yz{zyzyzyyzz{zy|z{zzyzyzyzzz{{{zz{zzyzzzzzzzzzzzz{{{zzyzyzzyzzzzzz{zzzyzzzy{zzzz{zz{yyyyyzyzyzz{zz{zy{yyyzz{zzzzz{{zzyyyxzyzzzz{z{{zyyzy{zyzzzzzzzz{yzyzyzyyyyyzyyyyzyxyxyzzzyyzyyzyyxxyyyxy{yzyzyzyyyxyyyyzzyy{z{zyyyyzxyyzzzyyyy{zyxyxyzxzyz{zzzzyyzxyxxyyzyzyzyzyxzyyyxyzyzyzzyzyyyxzzyyyxyzyyyyy{yxyyyyxzzyyyzzzyyxyxxyyzzyzyzyyxyyxyyyyyzzyyzzzyxyyyxxyyyzyzzyyzzyzxyyyzyyzzz{yyyzzyyyzz{zzzz{zyyyzxzyy{zzzy{zzyzzxyyy{yzzzzzzzyyyyyyzzyzzyzyzzzzyxxzyzzzzzzzzyyzzyyyy{zzzzzzzzyyzyyzzzzzzy{zzzzzyyzzzzz{zz{zzyyzzyzzzzyzzzzyyzyyzxyyyz{z{{z{z{y{yzzzz{z{z{{zzzzyyyz{yzyzzz{z{{zyzzzyzz{{{yzz{zyzyzyzyzzz{z{{{{yzzyzyz{zzzyz|{{zyzzyzzz{zz{{{{yzyyyzzyzzyz{zz{{{{zzxyyy{z{zzz{zzzyzxxyzzyzxyyzxyxxyyyxyzzzzyzzzyxyyxyyzyzyz{zyyyyxxyzyyzzzzz{zzyzxyyyyzzzyyyyyzyyxyyyyyzzzx{y{zzzxzyxyzzzyzzzzzyyxzywxyzzxyzzzyyxxyyyyyxyzzyzzxyyyyyyyzzyzzyzyzyyxyyyyzy{xzz{zyyyyxyyyzzyzzy{{yyzxyxxxyxzyxyzyzyxyxxyxyzzyz{{zzyzyzzyyyzzzyzzzzxxxyyzzyzzzyzzzzzyyyy{yyzzzyzz{yyzyzyyyyz{{zzy{yzyyyyyyyzzzzzzzzyzyyyxyzzzzzyzzzzzyyyxzzz{zyzzzzyyyzyyyzzzzz{z{yyzyzzzyz{z{zz{|zzyyyxzyzz{zzz|{zzyyzzzzz|{zz{{zz{yzzyz{zz{zz{zzzyzzzyzzyzzz{{{{zyzzzzzz{{zzz{|z{yzzyyzz{{{z{{{{z{{y{zy{z{{|{z{{zyyyyzyzyzzz{zzzzzxzy{yzz{zzzzzzzyzyxxyyzyzz{yzzyzyyzxxyyz{yzz{zxxyyyyyyzzzyzyzzzyyyyyyxzyyyz|yzyyyzyyyzyyyzzzyyyyzxxyyyzwzzzzyzyyyxyyzxyz{xzyzzyyyyzxyxyzzyyyyyyyyyyyyxzyyzyzyzxyyyyxyxyzzyyzzzyxxyyxyyyzzyzxzzyyyyyzyxyzyzyyzzzyyzxxyyyyzyxzzyyyyyyyyyyyyyyzyzyyxyyzzyyzyzzyzzyyyyxyzzzzzyzyy{yyyzyyzyzyzzyzyzzyyyyyxzyzzzzz{{yzyzyyzyzzzzzzz{yyyyyyyyy{zzz{{zzyzyyxzyzzzzyzzzzyzxzyzyzzzyzz{{zyzyzzzzzz{zzzyzzzyzyyyy{z{{zz{zzyzzzyyyz{{{zz{zz{zzzzzzzzy{{zzzz{yzyzyyz|z{{zz{zyzzyyzzzzz{z{zz{xzzzz{zzz{{zzzzzzz{zzzzyzyz{{{{zzxxzyyyzz{yyz{zzyyyyzyzyzyzzz{zzyzxyzzyyzzyyzxxyyxxyyyyxzyyyyzyyzyyyxyyzzzyy{yxzyyyxyyxxzyyyy{zzyyyyzxyyzyyyyzzyyyxyyxyyy{zzyyzzyyyxzyyyzxxyyzzzyyxyyzxyyzyyzyyzyzxzyyxzyyzzzyzyyyxxyyyyzyyyyyzywyxyywyzyzzyyyzyyyxyyyxyyyzyyzyyyyxzxxxyyyyyyyyyyyyyxyyxyyyxzzzzxyzyzyyzzxzzzzzxxxyxxyyzzzyzxz{yyyxyyxyyyzzyyzzyyzyyzyyzzyyy{zzzyyyzzyy{zzzzzyyzyyyyyyxzzzzzyyzzyzyxzzyzz{zyzzzyyyyzyxyyzz{yzzyyyyzzyyyzzz{zz{yyyzzzyyyy{z{{{yyzyyxyyyyz{{zzy{zyzyzxzzzzz{zzz{{{zzyxzzzyzy{z{z{{yyyyyy{{zzzyzzzzxyyzyyzzzz{zzz{yzzzzzyzzz{zz{zzyzzxyyxzzzzzz{zz{yzyzzyzzzzzzyzzzyyyyyzxzzzzzzyxyxxxyxxxyyyxyzyyyyyxyyyyyzzyy{{zxxyxzxzyyzzyzzyzyxyzyyxyyzyzyzzzyyyyxyyxyzzyyzyzxxzyyxyyyyyyyyyzyyyyyxyyyzyyyyzyzyzyxzxxyyxzyyyzyxyyxyyxzyzzyyyyyyyyyyxyyzzzzzzzzyywxyyyyyzzyyyzzyyyzyyxyxyyzyyyyyyxyyyxyzyyyzzyyyyyyxxyzyzzzzzyyxyzyyzyy{zyyzyzzz{yyxzxyyzyzyzzyyyyyyxy{zzzzzzyzyyyzyyyyyzzyzzzzyxzyyyy{{zyzzzzyyyyzyyzzzyyzzzzzzyxzyzyzz{yzzyzyyyzzzyzyzzzy{z{zzzzzzxyzzzzzz{zzyzy{zyy{{{zzzz{zzzzyzzzz{yz{zy{zyzzzzzzz{z{{{zz{zyzyzzzy|zzzzz{zyyzzzyzzzyy{{{{zzzz{zyzzzz{zzz{zzzxzzyzzzzz{zz{zzyyzyxyyzzzzzzyyyzyyyyxzyyzzzzyxyxyxxyyxyzzzzyyxyyyzyxyyyzyyzzzyyxxyyxxzyyzyzyyyyyyyzyyyyzzyyzzyzyyyxxxyzzyzyxyyyyzwxyyyyxyyzyzzzyyxyyxyxzyzyyyyzyxyzxyyxyyzyzzyyyyyxxyyzzyz{yyyxyyyyxyyyyzzyzzyyxxxxxxzyyyyyzzzxyxxxyyyyyyyzzyzyyyyxyyyyyyzzzyzxyzxxyyyyzzxzzzyyyyxyzyz{zyz{{{yyzyyxzyz{zzzzy{yyyyyxzyzyyzz{y{zyyyyyyyyzzzzz{zzyyyyyxyzz{zyzzzzyzzyyyyzzzzzyzz{zzyy{yyzzzzzzz{zyyyyyyzzzyzyzz|zzzzzxyyy{{yzzzyyyyzyyxyzzzyz{{{z{zzyyzzzzy{{zzz{yyzzzzzzzzzzz{{zyzzyyyzzzz{zzzzzzzyzyyyzzz{zz{{z{zy{yyzzzz{{{z{zyzyzyzyzz{zzz{zzyyyxzyyyyzzz{{{yzyyyxyyyyzzyzxzzyyyyyyxyzyxyxyzxyyzxxxyyxyyzxzzyyzxyyyxyxyyzzzzyyyyyyxyyyyzzyyyyyyyyyyxyyyzyyy{yyzxyyyyxzyyyz{yyyyyyyyyyyzyyyyzxxxxxyyyzyyyzyyyxyxxyxxyyyyyyyyzyyyxyxxxyyzzzyzzyxyyxxxyzzyyyyzyzxxxyyxxyyyyyyzzyzxyyxyyyzyyyzy{yzyyyyyxzyzyyyzzyyyyyyyyyzzzyy{yyyyyyxyyyyyyxzz{zxyzyyzxyyzyzzzyzxyyyyzxyzyxy{zyyyyxzyxzyzzyzzzzzzyxyyzzzyzzyzz{yyzzyyzyzyzzz{z{zzyzzyzzzzy{y{z{xzyzyzyzyzzzzz{z{xzzzyzyzzzz{y{zzyzyzzyzzzzzzzzz{zyzyzyyz{zz{{{zzyyzzyzzzz{yy{{zzyyzyy{zzzzz{zz{zyyzyzyy{{zyzz{yyzzxzyyyzzzzyzzzzyzzyxyyyzyzzyzyzyyxxyyyzyzyyyzzzyxxxyxyyyzyyyzyzyyxyyxyxyzyyzzzzyyyyxzyyzyyzyzzzxyyyxxyxzzyyyzyyzxxxxywyyyzyyyzyyxyxyyyyzxyy{zzzyyxyyxyyyyzxyyyyyyxyyxyyyyyzzyzyzxzxyyyzzyzyyyyyzyxxxxyyyyzzyxyyyyyyxyxxzyyyyyzxyzyyxzyyzyyzy{zyyxyyxyyx{yyzyzzyxyzyzxyzyyyzzz{zyxzyxyzy{zxyzz{yyyyzyxyzyzzyzzzzyyyyxyyyyyz{{zzyyyyyxyyyzzzzzzzzyyyyzyyxzzyzzzyyxy{yyyyzzzyzzyzyzyyzyyyzzzz{zzzyyzzyy{yzzzzzz{zzyz{yxyyzzzzzzz{{yzyyyxx{{zyzzzzzzzxyyzzzyyzzzz{z{yzzzxzz{z{{yzzzzyzyzzzzz{z{{z{zyzzyz{z|yzzz{{{zzy{zyyzzzzzz|zz{yxyyzzyyzyzzzz{zzyzxyxzy{zzzzzzxzyzyzxxyyzzzyyzyyxxyxxxxyzyyyyzzyxyxyyyyzyzzyzzyzyzyyyyzyyyyzzyzyzyyzxyyzy{zyyzyyyyyxzyzzzzyzzzyyyxx{yyyzzzyzzzzyyyxxxy{zzyyxzzyzyyxzyyyyyyyzyzyzxyyyyyyyyyz{zxyzxwxxxyyzzyzy{zyyyyyzxyyzzzzzz{yyyxyzyxxzzzyyzyzxxyyyyyxyyzzzyzyyzyyzyyyxzyzzzzzyyzyzxyz{zzzzz{yzxyyxzzyzzzzzzyzyyxyyyyzzzyyz{zyyzyyyyxyzz{z{{zyyyyyyyyyzyzyy{zyyzyyyxyyzzyy{{zzzyyzzzyzzzz{{zzzyzyzzzyz{z{zzz{zyyyyzxyzzzz{z{{zzzyzzyyzz{{z{z{zyzzyzzzz{zzzz{z{{yzyyyyz{{zzzz{zzzzzyzyz{{z{z{{zyzyzyz{zz{{z{{{zzzyzzzz{zzzz{{{zzzxyyyzyz{zyzzyzzyyzyyyzzz{{z{yzzyxyyzxzz{z{yzzyxyxzyzxyzzzyzyzxy{yyxxyyyyyzyzzzyyxyxzxzyyzzzzyyxzyzyyzxyzzyzzzyzyyzyyyyzzyyzyzyyxyxyxxxyyyy{zzyyyzyyyyzzzyyzyzxyyxyyyyyxzzzyzyyyyyxyyyyzzz{zyyzxyyyyxyyyzyyyyyyyyyyyyxyyzyzzzzxyyyxxxxyzyyyzzzzzyxyyzxyzzyzzzzxyzyzxyxzyyyyyyzzyyyyxzyzzzzzyy{zyzzyxyyzyyyy{yzyyzyxyyzzzzzzzzzzzyyzyzyyzyyzzyzyyyyyyyxzyyzzz{yyyyyzyyyzzzyyzzzzyyyyzyzyzzzz{{zzzyyyyzyzyz{zz{{yyzzyyyyzz{{zzzz{xyyzzzyzzzz{z{{z{zyy{{zzy{{yz{{zzyzyzzyz{zz{z{{{yz{yzzyz{zzz{{|zxyzyzzzzzzzz{zyzyyzzyyzzz{{zyz|yzyyyyzyz{zzzzzyyyyyyz{xz{y{yyzz{yyxyyyxzzzyzzyyyyyyyyyxxyzy{y{yyyyxxxyxzyzzzzz{zzyyyyyxyyyxyzzzyyzyzyyyzyzzyxyzyyyyxyyxyyzyzyyyyyyyyxxxyzyzzyzzyyyyyxyyzyzyz{zyyyzxyyyxyzyzyzyzyyyzyxyy{zzzz{{zzyxyyyxyyzyzxyyyyzyyxyyyyzyzzzzzzyzyxxyxzzyzyzyyzyxxyyyxz{yyzzzyyyyyzzzyyzzzz{zzyyyyyyxyzzyz{z{zyz{xyyzzzyzzzzz{yz{yyxzzyzzzz{{zzyzyzxyyyzzyzzy{yzyxzxzyyzzz{zzzzyzyyzzzzzzyzyzy{zzzyzzyzz{{z{z{zzyyyz{zz{zzyz{{zyyzzzyyz{{y{zz{zyz{zyyz{{zzzz{|zyzzzz{zz{yzzzz{{{zyz{yzz{{{{z{z{zz{zyyzz{{zzzzz{zzyzzzzzz{z{{{{zyzzzyyz{{z{|z{y{{yyzyzzzzzyzzzzzyyzyyyzzzzzzzzzzzzzzyxyzzyzzzzzyyyxxyyyxyyzzyzzywyyyxyyzy{zyzzzzyxyyyyxyzzzyzzzzyzyyyxxxzzyzyyzyyxyxxxxyyyzyzzzyyyyyyyywyyyyyzzzyyyyxxyyyyyzzyyxyzxyyyyyzzyyzyzyyyzyzyyzzzyyyyyyyyyxyyyzyzyyy{yzzyxxyxxyzy{yzzyyyyyyxyxyyzyyzyzyxxxxyxyyzyyyzzzxwyxxyxwzyzzyyyyyyyxyyyxzzzzyzzzzyzzyxxyyzyzyzz{yyyzyzyyz{zzzzzzyyzzzzzzyzz{z{zyzxzxxyyyzzyzyz{zzyxzxzyzz{zyyzzyyyxzyzzyzzzzzzzzzyyzyyzzyzzzyz{|zyyyzxyyzz{yyz{z{yyyyzyyzz{zzyz{{zyyyyzzzzzz{z{z{zyyyzzzy|z{zz{z{yyzzyzy{z{zz{zzzzyzzyyzzzzyzz{{zzyyyzyzzzz{zzzzzyyyzyzzyyzzyyzz{yyyzyzxzz{{zzzzzzyxyyyxzyzzyzyzyzyxxxyyyzzyzz{{zyyxyyyyyzzzzzy{yyyyyyyy{yzyzzzz{xy{yxxzyzyzyyzzyzzyyyyxyyyyzzyzxyyyyyywyzyyyzyyyyxzzyxyyyyyzzzyyyzyyyzyyyyyyyyyyxyxxyyyyzyyyyyyzxyyyxxyxzzyzzzzxxyyyxxyzyzyyzyzyzyxzyyyyzyyyzz{yxzxxyxxyyzzyzzyxyyyyyyyzy{{zzyzzyyyzyyzzzz{z{zzyxyyzyzyzzyzyzzyyzzyxzzzyyzy{zzzzxzyyzzyyzzzyyzyzxyzyyzyy{yyyyzzzzyzzzyyzzzzzzzzyzyyzyyyzz{z{yzyxzyzzyzy{zyzzzzzzzyzyzzyz{zzz{zzzzz{z{{zzzyz{z{zyzyyzyzyz{zyz{z{{yzyzyyyy{zzzz{zzzyzyyzzzzzzzz{{zyzzzyzzz{yzzz{{zzzzyyzzyzz{{{y{zzzxyzzzzzzz{{z{zyyzyyyyz{zzyzzzyxyyzyyyzz{zzzzyyyxyyyxyyz{yyyzzyyyxxwyyyzxzzy{zzzxxyyyyzyyyz{z{yxyyyyyyzzzzxzzyyyyxyxyyyzyzzyzzywyyyyyxxzzyyyyzyxzxyyyzyxzyyzyyyyyyyyzyzyy{zzyzyxyxxyyyyzzyzz{yyxzyyxyyyzzyzzyyxyzxxxyyyyzyyz{{yxyyyxxxzzyzzzzyxzyyzyxxyzxyyzzzyyxyyyyxyyzzyz{zzyyxzxxyzzzzyyzzyyyyyyyyzyyzzzzzyyyyxyyzzzzy{{y{zyyzyyyzyzz{zzz{zyyzyzzyyzyz{zzzzyyyyyyyz{zyzzzzzyyz{yyzzzzzz{{zzyzzyzyzzyzzzz{{zzyy{yyyzzz{zzzzzyyzzzyzz{z{z{{{zyyzyzzzz{z{z{z{zzzzyzzzyzy{z{{zzyyzzzyz{zz{{{{{zzzzzyyzzzyz{zzzzyyyzyyy{{z{{{{{zzzxzyyzz{zz{{z|yzyzyyzyyzzzyzzzyyzyzzxxz{{zyzzyyzwyyxyxzyyyzyzyzzxxyxxxzzyzyzzzxyxxzyyxzyzyzyzzyyyyyxxxyyzzyyyyyyyyyxywyzyyyyy{yyyyxyzxzy{yyyzzyzyyyyxyyyyyyy{zxzyxyyyyyxzzyzy{yyyyxyyxyyyxzzyxyyyxyxxxzxyzzyzyyxxzxyyxzyzxyx{zyyyyyxyxyzyyzzyyyyyyyxyxyzyzx{zzyzyyyyyyyzz{zzyzyyyxzyzyxzzyzzz{yyzxyyzyzzzyzzz{yxyxxyxxyz{zzzyyyzyyzyyyzzyzzzz{yzyyzyyyyyyzzz{yyyyzxyyyzyzzyzzzzyzzzzyz{zzzzz{yyzyyzzzzzzxzzzz{zxyzyyyxzzz{{zzyzzy{zyzyz{z{yz{{zyyyzy{zzzyzzzzz{yzzyzzzz|zzz{zzzzyzyzzy{{z{zzzz{zyyyzzyzzy{{{{{zzyzzxyzzzz{{z{z{zyzzzzzzzyzz{{zzzzyyyyzy{zzyzzzyxzyyyyxzyzyzzyyyyyxxyxyyyzyxyzzyyxyyyxyyyyyyzyyxyyxyyxxzyyzyyzzyxyyzxxyzyzzyzzyyyywwyxxyyzzxyzzyyzyxyxxyzyyzyzyzzyyyxxyyyyxzyzyxyyxxxyyyxyzyyyzxyxxyyyyyyzyzyzyxyyyxzyyyyyyyyxyyyyyxyxyxyyzzyzzyyxwzxxyxyzyxzzyyyzxyxyxyyyyzy{yyxyyzxyyyzyzyyzyxyyxzyzyzyyzx{yzyyyyyyyxxzyzyzzzyyyyxxywyyzzyyyyyyzyzyyxyzzyyyzyyyyyyzyzzzyyzy{zxyyyyyyyzzzyyzyyzyyyzyzxyyy{zzzyxyzyyzyyy{yzyzzzyyyzyyxyzzzyzyyzzyyyzyyy{{zyzz{zzyyxzyyzzzzzzzzzzyyzyzyyx{zz{{{{zzzzyyyyy{zzzzzz{yyzy{yyyzzzy{{zyzzyzzzz{zzzz{yzzzzzzyzyzzzxzzz{{zyyyyyxxyzzyzyzyyzyxyyyyzzy{zzyxyxyyxxyyzzyzyzzyyxyxyxyyyyyyzzzzyyyxyxzyyyyzzyzyxyxyyyzxyzyyyzzyzyxxyyyyzyyyyyzxzyyxyzxyzyzyzyzzyyyxxyyxyyyyyzyyyyxxyyxyzyyyyyzxxyyyxxyyzyyzxzyyyyyyywyyxzyzzzzxyyyyyyxyyxyyy{zyxyxyyxyxzzyyyxyyyxyyyxzzzzyyzyzyyyxyyyyyzyzzyzzyyyyyyzyzzyyzzzyyyyyxxxyzzzzyzyzyzyyyyyyyy{zzzzyyxyyzyxyzzzyzyzzyyyyzzyyzzyyyyzyzyyyyyyzz{zzzzzzxyzzyyzyy{yzzz{zyxzxyyzzzzy{zz{{yyyyyyyyz{{yzzzyzyzzzyyyz{zzy{{zzy{yyzzyzyz{zz{z{yyyzzzyyzzyzzzz{yzzz{yyzz{zz{z{yyzyzzzzy{{z{z{{zzxzzzyzzzyz{|{zyyyyyyzyzy{yzz{z{yyyyzzyz{yyzzzyzyzzyyyxzzzzzyyzyyyxyzxyyyzyyxyyxxxyyyyyyyzyzyzzyyyyyyxxyxyyyy{zzyyzyyyzyyzzyzz{zyyxxyyxyyzzzzzzyyyyy{yyyyzyyyzzyyyyxyxzxzxyyyzzyyxyxyyyyyyzyyyyyxyyxxxyyyyyzzzyywyxyyxyzyyzyzzyyzxxyyyyyyyzyyzyyxyyzxxyyyyzyzyxyyyyyyyyyzxyx{zzyyyxyyxxyzyyzyyyyyzyzyyyyzyzyyzzyyyyyyyyyyzzy{yzyxyyxyyyzzyz{zzzyyyyzyyzyzy{{zzyzxyyyyyxy{zzzz{zzyxyxyyyzzzzzzz{yyyyyzyyzzzzyzz{yzyzyyyyzzzzzz{{zxzzyyxzzyzzz{{y{yyzzyzz{{zyz{z{yzzyyz{zyzyyzzzz{zyzzzzzzzzzzz{{zzzzyzzyzzzzz{zy{yz{zzyyzzyzzzz{zzyzzyyz{zy{{z{{zyzxzzyz{zyzyzy{yzyyyyyzyzy{yzyzzyyyyyyyzzzzyxzzxyyxyxyxyzyyzyzyzyyzyxzyyzzyzyyzyxxyyyyyyzyzzzyyyyyyxzxyzyzyyzyzxyyxyyyxzyyzyyyzzyyxyxywyyxyyzzyzyyxwyyxzzzy{yyyyyxxyywzzyzzzzzyyxyyyxxyzzzzzzyyyyyyxyyyyyzyyyzzyyyyxyyyyyyzyyyyyxyyyxyyxzyyyyyyyyxyyyyyyzz{yzzzzxyxyyyyyzyyzz{zxyyxxyyzzzyzyzzzyyyyzxyzzyzzyzxyyyxyxyyyzyyyzyzyyyzyyxxyyzyyzyzyyyyxyyyxyzyzyzzzyzzzyzyzzzz{zyz{yyyzyzzy{zz{zzzzyzzyyzzzz{zyyz{{zzyyyyzyzz{{zz{zyyyzxzyzz{zzzz{{zyyyyzyzy{z{zz{z{yzzyzzzzz{y|z{zyyzyyxyz{yyzzz{zzzzzzzzzyz{z{zzzzzzzyyyz{zzzz{z{zyyzyyy{yzzzy{zz{yyxyyyyzzzzzzyzzzzyzyyyxz{zxxyyyxyyyyzxyzyyyyxzyyyyywzyzyyyzyyzxyxxxyyxyzyzz{zzzyyxyxxyzzzzyzzyyzyxwxyxyzzyxzzzyxyyxxyxyzzxxz{yyxyyxxxyzzzyyzyyyxyyxyxyyzyzzyyzyyyyxxyxyzyyzzyyzxxyxzyxxyzyzzzyzyzxyyyxyzyzyzyzyzyyyxyyyzyyyzzzxzzzyxyxyyzzzzzzzyyyzzyxzzzzzy{zzxyyyyzyyzyzyzzzyyyzxxyyyzzzyz{zzzyyzyyxzzzyzzzzzxyzyyyzy{yyz{yyyzyyyyyyzzzzyyzyzzyyyyyz{{zyzzzzyzyyyzzzyzzz{{{zzzyyyyyyzzzzz{zzzyzzyyyyzyzy{{zz{zyyzzyzy{{zyz{{yzzyyzyyz{z{{zzz{yzzzzyzzz{{{{zzzzz{zyyyzz{{{{zy{yyzzyzy{yzzzzzzzzzzzyzzz{zzzyzzyyzyyyyyz{zzyzzyyyyzyyyyyzzz{z{zyyyzyyzzzyzzzzyzyzyxxxyxyyzyyyyyzxyyyxyyxyzyzzzzyyzyyyxyyyyzzzzzzyzyyyzyyyyzyyzzzyyyxwxxyzzzyzzzyyyxyyzyy{{yyzzyyyzyxyyyzzxxyyyzyyxyyyyyzxyyzzzyyzyyyyyxyyzyzzzyyxyyxzyyyy{yzzzyxzzyxyyxx{{zyyyyyyyzxyyxyyxyyzzzyxyyxyxxyzyzyzzzyyzyxzyyzzyzyyzzzyyzzyyxyzzxzzzzyyyyyyzxyyyyzyzzyyyyxyxyzzzyz{zzyxyyxyzyzzyzyzyyyxyyxyyzzz{yyzzyzzyzzzyzzyzzz{zzzyzyyxyzy{z{{{zzyz|yzyzz{zzyz{z{zyyzzyzyy{{zz{z{{yyzzzyzz{{zy{{zyyzy{zzyy{zz{z{z{zzyzzyzy|z{{zzyzzzzyzyzzz{zzzzz{xzyyzzyzzz{zzz{{yzyzyzzzzy{zzz|y{zyzyyzyzzzzz{zzzxyzzyyyy{{yzzyzxzyzxzzyyzzyyzzyyxxxxyyxyzxyyyyzyyxxyxyxyzyyzzyyyyxyyxyyxyyyzyzyyyyyyxxyz{yyyyzyyyyxxyyyzyyzyzzyxxxxyzyyyyxyzzzxyyxxyxyyyyyyyzyyyyxxyyxyxyzyzyyyyxyyxyyyzzyyzzzyyyyyyyyyyzzyzz{yyxxxxyxzz{yyzyzyxyyyxxxyzyyyyyyzxxyyyyxyyyyyzyyxyyyxzyxzyzxyyyyyyzxyxyzyzyzzzzzyyyyyzyyzyyzzyzzxyyzyzyzy{zyyz{zyyyxyyzzxzzzy{yyzyzyyyzzy{{yxy{y{yyyyyyxyzzzyzzzzzyyxzyyzyzzzzzzyzyzzzzzz{y{{zzzzzyzyyyyzzzzzz{{zyyy{zzz{zzzz{{{yzzzyz{{zzz{zzzzzzyyyz{yzz{{zz{zzy{yyzyyyzz{zzzz{zyzyzyzzyzzzz{|zyzyzzzyzzzzzy{zzzyyyyyyy{zyz{zyyyyyyyyyzzzzyzyzyyyyxwyy{zzzyxzzyyxxyzywxyzxxyxyzyzxyyzxyzyzyyyzxxyyyxyxyyzyyyzyyxyxxxyyzyyyxyzzxyyxxyxxyyyyzyzzyyxxyxxyyyyyyzyyyyyyxxyyyzyxzzzyyxyxyyxyyyyyyyzxyyxyzyyxyzyxyzzyyxyyxxxxxyyyzzyyyzyxxyyxyyyyzyxzyxyyyyxyyyyyyzzyyyxyyyyyyzyyzz{zxxyxyyyxzxzxz{zzyyyyzxxyyzzyxyzzzyyyyyyyyyz{yyyzzyyzxyyyyyzyyyyzzyyyyyxyzyzzy{zyyyyyyxyyzzzyzyzyyyxyyyyx{z{zzzzyzyzyzyyzzyz{zzz{xzzzyyzz{{zzz{{{xyzyzyxzzzy|zyzzzyzzyyzzzzzzzz{zyyzzzzzyy{zz{zz{z{xzyzyyzzz{{{{{zzzyyyyzz{zzzz{zyyyzyzyyy{zzzzzzyzyz{zyzzz{zyzzzyyyyyyzyzzyzy{{zzzzzxyyyzzyyyzzzyyyyyyyyzzzzyzzyyxyyzyxyyyzxzxzxyxyzyxxxzyzyzzyzyyzxyyyyyyzzyzzyzyxxxyyxyyyyyzzxzyyxyyxxyyyyyzyzyzzxyxyxyyzyy{yzyyxxyyyyyyyyyzyyyyxyyyyyyyxyxyzyyyyyyxyyyyzyyxzyywyxxwxyyyyyyyyyyzyxxxxyzzyyzyzyyxyxyxyxyzyyyyyyxyyyxxxxyyyyyzzzyyyx{yzxyyyyxzzyxxyyyxyyyzzyyzyzzxyyxxyxzyzyyzzzyyyxxyy{yy{yz{zzxzzyxxxyyzzzzzy{yxyyyyyxzyzy{zyyzxyyxzyxzzzyyyzzyyyyyxyzzzzzzzzzyzzzzzyyyzzzz{z{yzyzyyyzy{zzz{zz{zzyzyzy{{zz{{z{yzzyzzzzz{zzzz{{zzyyzyyzyzz{z{{{{zzzyyyyzzzz{{zz{yyyzzyyzzzz{zzzyyzzyzyzzzzzxzzzzyyyzyyyzzyyzy{yzzzyyyyxzzzzyyyzzyxyyxzxzzzyzyyyyxxyyzyxyyyyyxzzxyywxxyxyyzyyzyzyxxyyxxxxyyxyyzzyxxxyxyzyzzzywyyyxxxxyywyyxyzyyzyxywyyxxxyyyyz{xxyyyxxxxyzzxyyyyyxyyyyyxyyyzyxyzwxxxxywyyyzywyzyyxyzxyxyyyyyyzzyyyxywyxxzyyyyyyzxxxxyxxxyyzyyzyyxxzxyyxyxyyyxyxyxxyyxyxxyyyyzyyyxxyxyxxxyyyzyyyzyyyyxyyyyyxyyzzzyyyyyyyyyyyyyzzzyxyyyxxyxyyyzyyzyyyyxyyyyyyzyzzyyzyyxxyyyzzzzyzzzyyxxzyzzzz{y{{zyzyyyyyyyyzyzzzzzxzzyxyyyyyyzzyz{xxyyyyxzz{z{zz{zyyzyxyyzy{y{z{{zyxyyyyyyzzzzz{zyxzyyyzyzzyzz{zyzyzyyyyzzz{zzzz{zzxzyyzyzyy{zzz{yzxyzxzyyyyyzy{yzyyxxyzyzzyyzyzyyyyxyxyxyzyzyyyzzyywxyxxxzyyzzzzyyyxyyyyyyyzzzzzzzyyyzyxyyyyyyzzyyyxyyyyxy{yyzzzyyxxxxyxyyyyzyyyyyyyxyxyxyyyyyyyyxyyxyxxyyzxyyyyyxyxxyxzzxyzyzzyxyxyxyyyyzyyyyyxyxyxxxxxyyyyyzyyzzzywzwxyyzyyyzyyyyyxxxyyyyyyyyyyyyyyyyxyzyyz{zzzxzyyyyxyyzyzzyyyxyyyxyyyyzyyzzyzyxzxxyyzzyzyz{zyyyyxyxzyyyzzyzzyyzyyxzyyyzzyzzyyyzyxyzxyyzzzy{zzyyyzyxxzzyzzyz{xyxyyzyyyzy{zzzzxzyyyyzxzyyzzy{{zyy{zxzyz{z{yzzyzyyzzyyyzzzzyz{zzyyyyzzzyzzzzzzzzzy{yyyzyyzz{y{zzzyzzzzzzzz{zzzyzxzyzxzzzzyyzzz{yyyyzxyy{{{z{zz{zzyyyzyxy{{zzzyzzyyyzyxyzzz{{yzyyyyyxxyyyzzyyzzzyyxxxyyyyy{yyyzyyyxxyxyxyyyyxyzyyyyyyyyyyyyyzzyzyyxywzxxzzyzxzzzyyyxyxyxzyyyyyzzyyyxxyyxyzyyyyzyxxyyxxxwzy{xxyyzyyyxxyyyxyzzyyyyxyyxwwyxyxyyyyzyyyxxxzxzyyyyyyyyyxxxxxxxzzyzzyyyyxxyyxyxxzyyyyzyyxyxyyzxxzyyzyzzyyyxyyzyyzzxyyzzyyzyyyyyyyyyyyyzzyyxyyyxyzzyy{z{yyzyxxyxyzzyzzyzzxyxyyyyzzzzzzyyzyzyyxyyyzzzzzzzyyyzzyyyzzyzzyyzzzzyyyyyyzzyzzyzyyzzzzyz{zzyyy{{zyzyyzyyzzzzzzzzzxyzyzyyzyzzzyzyyzxzyyyzyzz{{zzzyyzy{zzzz{z{{{{zzyzyzzyyzyzzzz{zzyyyyyzzz{z{z{{zzyzyyyyxyz{zzy{{yyxyyyyyyzzzzyzzyzzyyyyzzzzzyzzzzzyyyyyz{zyzzzyyyyzxyxyxzyzzzyzzyyyzxxxyyxzzzyzzyyyxxzzxzyyzy{zyyyyyzyxxyzzzyyyzyzywxxyyyyxyyzz{yyyxyyzyyyyxyzyzyxyxxyyxyyzyxyyyyyyyxyyyxyyyyyyyxwyxyyxxyzz{yzyzyyxyxyxxzy{zzyzzzxzxyxxxyyyzyyyyyyxyyyxxxyxyxzyzxyxxyxzyxzyyzyyzxyyyzxyxyzzxyyzyyxyyyyyyyzyyzy{zyyyyyxyyzzzyyz{zzyzyyyzyxyzzzyzzzyyyyxyyz{yz{yz{yyyzzyyzyyyzyz{zyyyxxzyyzzzz{{zzyxyzyyyyyzzzzyzzyzyyyzyyzyyzzz{|yyzzyyyyzz{z{y{z{yzzzzzz{{zzz{{{zzzyzzyyzz{zzzz{zyyzyzzyz|{{z|{zzzyzyyyy{zz{{zzyyyzxyzyyy{zzzz{zzzyzzzzyzzzzzzzzyyyyzyy{z{z{zz{{zzyyyyyyzzyzzyzzzzzyyxzy{zzyzyxzxyyyxxywyzyyyyyzxyyyxzyxzyzyyzzyyxxxzyyxyzzyzyzzyyxyyyyxzyyzyy{zxyyxyyyxyyzzyzxzzxyyyyyxyyzyyyzyxzyyyxxyxzyyyzzzyxyxxyyxxxyyxzzyyyyxxywyyyyzyyzyyzxyyyxyyyyyzzyzxyyyyxyxzyyyyzyyyyyyyxyxyxzzxzzyzyyxxyyxyyyzzzyzyyxyyyyxyyzzyyzyyxyyyyyyxyzyyzyyyyyyxxzzyyyyyzzzyyyyyyyxzzzyz{zzy{yzyyyyyxz{zyzzxyzyyyxyyzzzyyzyxxyyyyxyzzzzzzzy{yxxyyyzyzzzzzzzzyxzyyyyzzyzyy{{zyzzyyyyzzzzz{zyyyyyzyzyz{y{zzz{yzzyyzzyy{yz{{zyzyyyzzzyz|z{zyz{{yyzyyzzzzzzzzzz{zzzzyyz{zzyzzz{zyyzyyzz{z{yz{zzzzyzyxyy{zyz{{z{yzyyz{zyzzzzyzzzyytyyzzyzzzzzzzzyyyyzyxxxxyyyyzyxxxyyxxxzxzzzzzyzzxxyyzyzyyyzyzzyyyxyxyxyxyzyyz{yyyywyyyyyzzxzyzyyyyyyxyxzyyyzzyyyyyyyxxzyyzyzzxyyyyyxyyyzzyyzyyxxxyxyxxyyyyyyzzyyyxxxxxyyzyyyzzyyxyxyxxzyxzxyyyyyxyxyyyxxyyxyxzzxxyyyxyyyyyz{yzyyxyyyxxyxyyzyzyyyyyzyywyzyzzzzyyxzyyxyx{yxzzzzzyyyyxyxxyyzyzyz{yyyyyxyyyyz{yyzzyxzyxyxxzzyzyz{yyyzyyyyxyz{yyyyzyyyyyyyyyzzy{{yzyzzzzyzyzzzz{zz{yyyyyyzzz{y{zzzzzyyzzxyyz{z{zz{zzyyzzyzyyzzzyzyy{yzyzzyzz{{zz{{{zzyyzzyx{zz{yz{zzzzyyyyzzzzzzz{zyzyyzzxzzzzyyzzzzzzyzyyyzzzzyzz{z{yyzyyxy{zzzzyyyyyyzxyzyyzzzyzyxyyyyyyyyyyyyzzyyyxxyyxyzyyz{yz{zyyyyzyyyyzzyzyyzyyzyyyx{zyzyyyzyyyyzyywyyyyzzzyxyyyzxyyyyzzyzzzyyyxyyyyyzzyxzyxyxyxyyyyyyyyyyyywxxyyxyxyyyyyyyzyyyyxyyxyyzyzyyzyyxyxxyxyzyyzyyyyyxyyyxxyxzxyyyzyzyxyxxxyyzyzzzyyyyyyyxyyyzzyyz{yyxyyyyzyzzzxyyzzxyyyyyyzyyzz{yzxyzzxxyyyzyyzz{zzzyxyyyyyzyzzzzyxyyzyyyyyy{yzyzzzyyyyyzxyzy{zy{zzyyzzzzyzyzzy{zzzzyzyyyyz|zzyzzz{yyzyzyy{zzzzzzzzyyzyzyyzz{zzz{zzzzyzzzzz{zzz{{{zyyyyzz{yz{zzz{|zyzzzyzzyyzzzz{{{zyyzxyyz{zz{z{{yzyzzzyyzzyzzyzzzzzyzzyzzzyyzzzzzzyyyzzyzyzzzzzzyzzyzxyyzz{{yyzzywyyxxyxzyyy{yyzyxyyyxyyxzzzyzzzzxxxyyyxzxyyyzyzyyzxyyxyyzyzyyyzyyyyzyyxzxyzyzyzyzyxxxyyyzzzzzzxyyyyxzzxxyzyxyyzzxxxyyyyzyyzyzzzxxyyxxyyzyyxyyyyyyyxyxxxyzyxzzzyyyyxxyxxyzzzyzzzyxyyyyyxxzxyyzyyzyyxyxxxzyyyzzzyxyyxxzxyxyyzyzyzyyyyyxxyyzzzyz{zyxyyxxyxyy{yyyzzyxyyyzxyzxyzzzy{zx{zyxzyzzy{zzzyzyyxyyxyyz{zzzzyzyyyyyzyzzzyzzzzzyyyyyyyyyz{zzzzxyyyyyzy{zzzz{z|zyzzyyyyzz{zzzyyzzyzzxz{z{zzzz{zyzzzzzzzyyzz{{z{zyyzyyyzy|{zyzzzzyzzyyyzzzzz{zyzzxzzyyyyzzzzyzzzzzyzyyyzzzzyzzzzzyyyzyyyzyz{z{zzyyyyyyyyyz{zzzzzyxzzyyyxyyzyzyxyxyxxyyyxyyyyyxzzxyyxyyxyyyyyzzzzxzyyxyxxzzyzzy|zyyyxyyxyx{zyzyzzzyzyxyxyyyzyyzzzxyyyxxxyyzyyxzyyyyyyxxxyyxyyxyyyyyxyyyyxxyyzyyyyxyyxxxxxyyyyyyzxzyyyxywxyyzzzzyyxxxxzxyxxyzyzyzzyyyxxxyxyyyyyzyyyxxxxyxyyyyxxzyzyyzyyxxxyyyyzyyyyyyyyxyxyyyzyyzyxyxyxyyzzyyzyyzzyzyxyyxyzyzyzzzzxyxyyyyxyyy{yzyzzyxyyzyyyz{yzyzxyyyyyyxz{zzyz{zyyyyzzyyzxyzzzzzzyzyzzzzyzyz{zz{{zyyyyxyxyzyzy{{zzxzzzzzyz{yzzzzyzyzzyzyyz{zzzzzzzyxyyzzzyzy{zzzz{zzzzyzyzzzzyzzzzyyzyyyyyzzyzzz{yyzyzzyzz{zz{zzzyzzyyyyxyyzz{z{zzyyyyyzyyzzyzyzyzyyxyxyyxz{zyzyyxyyyyyxxxzyxzzxzyyzyyxyxyzy{zyz{yxyxxxxyyyxzyyyyyxzyxyyxzyyzyyzzzyyzxyxxxyzzyzzzxyyyyxyyyyyzy{yzyyxyxyxxyyyyyyyzxxyyyyyyxyyyy{zyyxyxxxyxxyyyyxyzyyyywyxxyyzyyzyyyxxyxyyyyyyyxzzzyyyxxxxxxxxxyyyyyyxwxxxyzyyyyyyzzyzxzyxyyyyyzzyyyyyxyxyyyyzzzzz{yyzyyxyyyyyyzyzyzzyyyyxyzyzzyz{yyxzyxyyxyxz{yzyyzyyyyyyxzzy{zzzzyyyyxyyyy{zyyzzyzyyyyyxxzzzz{z{{x{zyyyyzyzzzzzz|yyzyzzyzz{yzzzzyzyyxyyyyzzzzzzz{zzyyyzyzzzzyzzyz{yzyyyzxz{zzyz{{zyzxzxyzzzzzz{{{zxzyyyzyzyz{zzzzzyyzzzzzyzzz{z{{yzyyxzyxyzzzyz{zyyyyyzyyyzyzyzzzzzzyyyzxyzzyzzxxyyyyyxyyyzxy{yzzyyzyyxyxyyzzzyzzyxyyxyxxzxyyyz{yzyxyyyxxyyyyzyyzzxzyyyyxzyzyyyzzyxyyzzyyx{yyyzzxyzyxyxxxyxyyyzyyyxyyxyyyyyxzzyzyzyyzyxyyzyyxyyyyyyyyxyxxyyzzyzxyyyyyyyxyyyzyzzzyyyyyyxxxyyyyyzyy{zyxyxyxyyyzz{yyxyyzxyyxyyyzzzzzzyyyyxxyzyzzyzzzzyyyyyyyzzzyzzyyyyzyyyxxyyzzyzzyyzyxyyyzyzyz{zyzyyzzyyxyyzzzyzzzyyyzyyzyzzzzyz{xxyxyzyyyzyz{zz{zyyyyzyyzyzy{zz{{zzyzyyyyy{zz{zzyyyyzzyyyzyz{z{{zzzzyz{zyyzzzz{z{zyzyzzyzzzy|{z{{zyzzzyzzzz{{zz{zzzyzyyyyy{zzzzzzzzyzyzyzzzzyz{zzxzz{yxyzyzzzzz{zzzzyyyyyyzyyzzzyyyzyyyyyyzyyzzyyxzzyyxyxyzyyyyyyxxxyxxxxyyxyyzyzyyxyyxxyyyyyzzyzyxzyywyyyyz{yyyyxyxxyxyxyyyyyzzzywxxyyxyyzzyyyyyyyxwxxxx{yyyyyyyyxyxyyxyyxyyxyyzyyyyxwxyyyyyzyyyyxxyxxxyxyzyyyzzxzyyxyxxyyxyyyzyyyxwxwyxyyyyxyyzzzyyyxxxzyyyyxyzyyyyxyyyyyyzzzzyyyyxxyxyyzzyyyzzxyyyyxyzzyzyyzzyyyyyxyyyyxyzzyzzyyyxzyyyyzyy{yyyzyyxyyyyxzyzyyzyyyyyyyyyz{{yyzzzyzyxyxyyyzzz{z{zzyyyyyyyzzz{zzz|yyxyzzxxzyzyy{zzzxyzyyzy{zzyzzz{{zzyyyzzyzy{z{zzzzzyxyzyy{{zzzyz{y{yxyyyzzzzzzz{zyyzzxyyyzzzzzzzzzyy{zzy{yzzzyz{yyyyzzyyzzyzzzzzyzxyyyyyzzyz{zzyyyyzyxyyz{zyyzyxxyxyyyyyzxyyyzyyyxxzyyyyyyyyz{y{yywxxzxxzzyzyzzzyyyxxyyyyzzyxyyyyyxxxyyyzyyyxzzyyxyyxxyxyyyxyzzzyyyyyyyyyzyxyzyyyxyywxyyyyyzzyzzyxyyzyyyyzzyzzzyyxxxxzxyxzzyyyyzyyyxxxywyyzyyzz{yyxyyxxxyyyyyzyyyyyxyxyxyzyyzzyyyyxyxyxyyzyyzyzzyyyyyyyzzzyzyyzyyxyyyxxyzzyzxyzzyzyyyxzyy{zyyzzyyzyxyyyyyzzyzzzyzyzyyzyyyzyzzyzyyyxyzyyxzyzyyzzyzyyxzyxzzzz{z{yzyyyzzyzyzzz{zzzzzyyyzzxyzzz{zzz{yzyyyzzyyzzz{yzzzzzzyzzz{z{z{z{zzyzyx{yzz{zzzz{{zyzzy{zz{zzzzzz{zyyyzyzzyzzzzz{{zyyzzyzzzzyzyzy{zyyyzyyzz{yzyzz{zxyyyyyyzzzzyyzzyxyxyyzxyzzzzzxyxzxxyyyxxzyyyyzzyzxzyxyxzyzyyzyyyyyyyyxxzyzzyyzzyyxxxxyyzzyyyzzzyyyxxyxxyzzyyzzzxxxxyyxxyyyxyzyyzxxyyxwxyzzyyyyzyyxyyyyyyzyyyxzzxzxyxxyyyyzyzzyzyyyxyxxxyyzyyyzyzyyzzxxyxxyyyzzzyyyyyxyxzxzyyyyzzxyxyxywxyyyyzyzxyyyyyyyzyyyyyzyzyyyyyzxyyyyyy{zzyyyxyyyzzzzzyzzyyyxxxyyyyzyyzzzyxzzzyyyyzzx{xyzzyzyyyyyyzzzzyzyyyyzyyyzz{zxyzzzyyxyzyzzzyzzz{yzzzzyyzzxzzzyz{|zyxyzzyxyz{zzy{{zzyzyzyyyyyzz{zz{zyzyyzzzzzzzzz{zzz{zyzyyy{z{{z{{zyyyxyyyyzzz{{z{zzzyzzyzzzzz{zz{yzzzzzzz{zzzyz{zzyyyzzyyyyz{zz{zzyyyzyyyzzzzzz{yyyzyyyzx{yzyyyxyywxxyxxxxyyyyyyyyxyyyxyyzyzyxzz{yyxyxyxzyyxzzyzyyyxzxyyyzyzyyzzzyyyyyxxxzxyyyzzxyxyxxyyxyyyzxxyyzyxxxyxzxxzxyyyyyzxyxyyxyyyyxzyzyxxyxyxwyyyzyyyxyxxxxxyxxyyxzyzzxyyyxxxxyyyyyxzzzyxyyxyxyyyyyyyzyxxyyyyxxyzyyzzzyxyyzyyyyzyzyyzzzyzyxyyzyzyyxyyzyxzyyxzyzyy{zyzzyxzywyyz{yzyyzyzzyyyyxyzyyzyzzzyyyyxxzyyyzyyyzyyzyyyywyyzzzyyyyyyzyxyzyyzyzzzzzzxyzzzyyyzyzzz{zzyyxzyxyxzzzzz|zzzyzyyzyyxz{{y{z{zzzzzyzyyzzzzzzzzyzzyzzzz{yzzz|zzxzyxyyzz{zzzyz{zz{zyyzyyyzyzzz{zzzyzyyzyyzzzyzzzyyyzyzzxzzyyz{yzzyzyyyxyzy{zzzzyyzyyyyxzzzyyzzyyzxyxxyyzzzzyzy{xyxyyxyyyzyyzzzzxxxyxxyyyyyzzzzyzxyxxyyyyyyzyyzzzxzyxxxxyyxzyzzzyzzyzyyxyyyyyzzyyyyxzxyxyyyxyyyyyxyyzyxxzyzyzzxyxyxyyxzyzyyyyzzyzxyyyyxxyyzyzzzyyyyxxyyyxyyyyyyzxyxyywyxyyyyyyz{yxzxyyxyyywyzzzzzyxyyyyyyxzzyyzzyyyxyyxyyyyyyzz{yzyyxxxyzyyxzzzzyyyxxyyyzzzzzyzzyyzyyxyxzzyy{zzyzxyxyzxyzzzyyy{{yyyzyyyyz{yz{{yzzyzyzyxy{yzzzyzzzyyyzz{yyyzzz{z{zyzyyxyxyzzz{zzzyyxzyyyyzyzyzz{{zzyyzyzyzz{z{z{zzzzzzzx{y{z{{zz{zyzy{zzz{yz{{zyzzzyzzzyzzzzzy{zz{yzzyyzy{{zz{zz{yzzyyyzyyzzyzz{{zzzxzyxyzzzzyz{zyxyyyyyyzz{yzyyzyxyxyxxxyyyxyzy{yyyxxxxyyzyyyzzzyyyyzyyyzzyzzyzzzyxyyxyxzyzzyyzzyzyxxyyyyyzzyx{zyyzyyyyxyyyxzyzyyxyyyyxyyyzzyzzyzyyxyyxyzzyyyyzyyxxyyyxxyyyyyzyzyxyyyyxyyyzyyyzzzyyxyyyyxyzzyzzzyxyxxxyyzyyzxyzzxzyxyxxxyzyzyzzzyxyyyyzyyyzzyzzxxyzxyyzzzzzxzyzzyxxyxxyxyyyzyzzyyyyyxyyyyyzzzyzzzyxzyyzx{zzzzzyzxyyxzyyyzzyzyzzzzzyyyyyyyzzyzz{yyyyyzyzzzzzzzzzzyzyyzyzyzzzzz{zzzy{xxzyyz|zy{zzzyyyyyyzyzz{zzz{zzxzyzzyzyzy{zz{{zxyyy{zyy{{zzyz{{zz{zzyzzyy{z{{{zzyz{zyzzzzzzzz{{yyzzyxzyyz{yyz{yyzzzyyxzzzzy{zzzyyxyzxyzzzzyzzyzzyyyyxyyxzzzyzyyyyxxyxyyzzyxyzyyyxxyyyyyzyyyzyzyxyzxyzwzxzzyyzyyyxxyyxxyyzyxyyyyzxxxyyxyyyyyyzyxxxyzyxxyyyyyzyyyyyyyzyxyyzzxxzyzxxyyywyyyyzyyyzyyyyyyxyyyyyzyzzxyxxxyxyyxzx{yzyyxzyxyxxxyzyyyyyxyyxzyxyyyzxyyzyzyyxyyyyxxyyyzyyzxxxzyxyyzzzzyyzzxyxyxyyyzyyyyz{xyyxxyzxzyyzyzzzyyyyxyyyyzzyyzzzxyyyyxyzyzyzzzyzyxyxzzyxzyzzyzzyyyyyxyxyzyzxxzzzyyzyzxyzyzyzyzyz{yzxyyzyzyy{yzzyzyzyyyzzyzzzzz{zzyyyyyzyzz{zzz{zyyzzyyzzyyyzzzyzzyyyyzyyzzzz{{{yzzyzzyzy{yz{zz{zzyzz{zzyzzzzyzzzyzzyyyzyyzzzzzzzzxyyxyyyzzy{{z{{zyyyyyyyyzz{zzyyzyzyyyyyy{zzzzyzyzxyyxyxyxyyyzyzyyyxzxyyzzxxzy{yyyyxzxxyzyxzyzyzyyyyyxyxzyzyyyyyyyyxyyywxyzyzzzyyyyyyyxxyzyzyy{yzyzyxyxyyyyyyz{yyxxxyyyyyzyzyyzzxyyyzzyxy{yyy{zyyxyxxzyyxxyzyzyzyxxxxyxyzyyyyy{yxyyywxxyyyyyxyyyyyyxyxxxyyyyyzyzyyzzyzxyzyyyzzyzzxyx{yzyyyyzyz{zyxyzyyzyzyzzyzzzyyyyyyzxyyzzy{zzyxyzyyyyyz{zy{zzzxyyyyyyzyzyyyyzyyyzyzyyzyzzzzzzyzyyzyyzzyz{zy{zyzyyzyzyy{zzyzzzzyyxzzyxzzz{{zzz{xyzyyyyzzzzzzz{zyyzz{{zyzyyz{{{zyzyyzyyzzzz{{zzzxyyyyzy{{z{z{zzzyyyzyyzyzyyzzz{zzzxzyyz{{y{yzzzyzyxyyzzzz{zz{zzyzyyyyyyz{yzyzzyyyyyyxxyxyzzzzyzzzxyyxyxzz{yzyzyzyyzyxxyyyyzz{z{zyyxxyzxyy{yzyzyyyxyyyyxzzzyyzyzzyzyyyyxzzyxyzyyzyzxyxxzzyzzyyyzxxyyyyxxzzzyyzyzyyxyyxyxyyzzyzzzyxyzyyxyyyyxzyzyyyyyxyxyyyzxzzyyyxyyxyxyxyyxzyyyzyyyyxzyxyyxyzyzyxyxyxxzxzyyz{zzzzzxyyyxzzyzyzzzzyzyxyyyzyzyzyzzyyzyyxzyzzyzy{z{yyzyyzxyzzzyzzy{yyyyzyyxxzzyzzzyzxyyyyyxzy{y{zzzzzzzzzyyzyzyzzzzzyzyyzzzyzz{{zzyyxzyzyzyzzyzzzz{yzyxyyyz{z{zzzzzyyyzzzyz{{zzzz{zzzzyzzz{{{zyzzz{zzyzyyzxzz{zzy{{zzzyzzxzzz{z{yz{zyzyyyzzyzzzzyz{zzzy{yyy{zz{{zz{yyyyyyzzz{{zz{{zyyyyyyxzyzzzzyzyyyzyzxyyzz{zyzzxzyxxxxyxyyyyzyyyyyxxyxxyyzyzyyyzyzyxxyxyyyxyy{zyzyxyyxyxyyyzyyzzyxyxyxyyyyyyzzzzyyzyyyxyyzyyzyzyzxyyxxyxyzyzyxyyxyyyxxyxzzyyyy{yyyxyyyxyxyzzyyyyxzxyzyxyxyzyyyzzyyyyxxxwyxyyzyzyyxyyyyyxxyyyyzyyzzyxxyyyyzzyyzyyyyxyyxyxzyzyyzzyyyxyyyyxyyzzyyyzyzzyxxyyyyzzzzz{yzyyyxyzzzzzzyzzzyzyzyyxyyz{y{zzyyzyzyzzzy{yzzzzyy{xyyyxyzzyyzzyyzzzzzzyyz{zzzzzzyzyzzyxy{yyzzz{yyzyzyyy{yzyyz{zzyyzyzyzz{zzz{yzzyzyyzyzy{z{zy{zzyzzyzzyz{{zzz{{zzzzyyzz{zzyzzzzzzyy{y{yzzzyz{zzzzzzzyzyzyzzy{{{zyyyzzyyyzzz{z{zyzyzzyyyzyzzzyzyyzyyyyzxyzzyzyzzyyywyxyxyzyzxyzzyxxxxxwxyzzxyzyzyyyxyyxyxyzyzzzyxxzyyxxxyyyzyyyzyyyyyyzxyyyzyyyzyxyzyxyyyzzzyyzyyxyyxxxyyxyxyyzyyyyxyyyyyyyyxyyzwxxxyzxyyyxyyyzyyxxyyywxyyyyyyzzyxxxxxyxyyzyxyzyyyxyxxxxyyyzzyyy{yxxyxxyxyyyzyzzxxxxxyyyyxyyyzzzyyyxyyxyyz{yyzy{yyyyxyxyxyyyyyzzxyzxxyyxyyzyyzzzyxzxyyxyyyyzzyzyyyyxyxyxyyzyyzzzzxyzyyyxxyzyyyyzyzxyzyyxyyyzzzz{yyzxxy{yzzyz{zyzyyyyyyyzzzzy{z{zzyzyyyyyzzzz{zzzzyzzxzzxz{zzz{zyzyyzyyzy{z{zzyz{yyyzyzzzzyzzz{zyyyyyzyyzzzz{zyzzzyzyzyzzzzz{zzzzyyyyzxxyyyzyzzyyz{yyyyyyzzyzyzzyzyyyyyxyzzyxyyyyyyxyyxzxyyyyyxzzxxyxxxxxxyxyzyyzyyyyyyyxxyyy{yyyxyxyyyxxxyyyxyzyyyyxwxyxyyxzyzxzyyzyyyyxxzxyyyxzyyyyxxxxzyzyyyyxzxxyxyxxyyxyyxzyxxxxyxxyyxxyyyyyyyxxxywyzyyxzyxzyxyyxyxxyyyyxyzyxxxxxyyxxzywyyyzxxyzxyyxzywyxzzyyxyyxzyxxxzyzzzzyxyyxxyyyzyyzzzzyyxxyxyyyyxyyzyyyyxyyxxyyyyyyyzyyzxzyxyxyyyyyyyyyyyxxyyxyyzzxyzyyyyyyyxxyzzyxzzyxyyyyyyxzyzzz{zyyyzzzzzz{yzyyyz{yyyzyzxzzzz{zz{z{yyzyyyyzzz{{zzzzyyyz{zxyzzyz{{zzyyzyzzyzzyzz{z{zxzyyyyzzz{zzzzzzyyzyzyyzzzzz{zzyyyyyzyyzyzyzzz{zzyyzyyzzyzzyzyyzyxyyzyzyyyzwyzyyyyzwxyxzz{zzzyzxxyyxxyyxyzyyxyyzxyxxxyyyyyzzzz{yyzyxxyxyzzzzzzyyyyxyyxyxzzyyyxyzyxyxyyxyxyxyyy{yxyyxxyyxzxzyyzzyyyxyxyxyzzyyyyyyzyyyyyyzyyzyyzzxywxyyxxyyyyxyzzyyyyxywwxxyyyzzzyyyxyxyxyyyzyyzzyxyyyxxxyyzxyyyzxyxyzyyxzyxyyzyyyyzyyyyxyyzyzyyzzyyyyxyyyyzyyyzyzyyxxyyyzyyzyyzzyxxyxyzxyzzyzzzyzyxzxyzyyzzzzzyzzyyyyyyzzyzzyy{zxyyzzyyyyzzyyzzyxyxzzzyy{zyz{zz{yyyzyyxyzzz{yz{zyyyyzxyyyzzzzyyz{yyzyzzxz{zz{{zyzzzzxzzzzzzzzzzyyyyyzzyyz{z{z{{yzyyzyyyzzzzzzz{{zyyyzzyzzzz|zzz{yzyyzzzxzzyzzyz{z{{yzyyyxz|zzz{zzzzxzyyyzyyzyyz{yxzyyyyyyzzyy{xyyxyyyyyxyyzzyyzzzxyxxyxyxxyzxzxyyyyyxxyyyyyxyzyyyyyxyyyyyyyyyy{zzyyxyxyyyyzzzzyzyxxyyyyxxzyyyzyyyyyyxxxyxyyxxyzyyxyxyyzzyyyzyzyyyyyyyxyxyyyzzxzyxyyyyyxyxyzxxzzzyyxyyxxxxyzzyyzyyxxxxxzxxzyyyzyyyyxyxxyyyyyxyyyzyyzyyyyxzzyxzyyyyyyxyxyyyzzyzzzyyyyyyyxyyyzzy{yyyyzyyyyyyyzyyzzyyxyxyyyxyzzyyz{zxyxyzxyyzyyyzzzzyyxyyyyyyzyzzz{yyzzyzyyzyyzzyyy{zyzxxxzyy{zzzz{{yzyyyyzxzzzyyyzzzyyzzzzy{zzyz{zzzzy{yyzzz{z{z{zzzzyzyzyyy{{{z{z{zyyzzyyy{z{z{zzzz{xzyxzzz{zzzzzzzyyzzyyyzzyzzz{zzzzyyyyzzzzzzyzzzyyyxzyyyzzzyyzzzyyxzxyyzzzzzzyyyyxxyxxwyyzyxyyyyyxyxyxxyzzzyyz{zxyxxyxyzzyzzz{zyyyxzzyxzyyzyxzyxyxxxyxxxyzzxyzzxyyxxxxyyzyzyzzyyxyyxyxxxyzzyzyyyyzxxxxxyxyyyzzyyxyyxyyxyyxyzzzzyyxywyyzyyxzyyyzxxyyxyyyy{yyyxzyyyyzyxxyxxyxyzyzyxxyxxyxxyyyyyzyxxyyyyyxzzzzyyzzzxyyyxzxzyzyyzzzyyyyxyyyyyzzzyzzyxyxyyywyzyxzyyyzyxxyxyxyzzyz{z{yxyzxyyyzzz{zyyyyzyyzzyxzyzyyzyyzyyxyzyzzzz{zzzzyxyyyyzyyyzzzzzzyyzzyyyyz{y{z{zzyzyyzyyy{zyzzzzzyzzyxzzyzzyz{{zz{yyzyyzyy{|zzzz{zyzyyzyyzzzzzz{zzxy{zxzyzzzyy{{zzzyyzzyzzzzzzzzzzyyyyyzzxzzzzzz{zzyyxyzxzz{{yzzzyyyyyyyyzyz{zyxzywyxxxxxxy{yzzyzyyxxyyyxyzzyy{yzyxzwxyxyyyxyzyzyyxzxxyxyxyzyyyyxzxxxxyyyzyzyyzyzxyyxyyyxyxyyzyyyxyyxyxyxyyyyyyzyyyxyxyxxyyzxyxyzyxxwyxxyxyyyyyyxyyxyxyxyyxzzxzyyyyyyyxxxyzx{yy{zxyzyyyyxxzyyyzyzxxxxyxzyyzxyyzzzyxyyxzxzyzyzyz{yyyyyyyzzzzyzzzyzzyxyywyxzyyzzz{zyyxyywyyzzzyzzzyxxyyzxyxx{zyyzyzzxyyyxxxzzzzzzzyzyzzyyyzz{zyyzyyzyyyzyyyy{yzz{{zyzxxyxyzzzzzzzz{yyyyyyyyzzzy{{zzzzzyyyzz{{zy{z{zzzzyzzz{zzyz{z{zzzzzzzxyz{zzz{{|{yyzzzyyzz{yz{{zzyyxyzyyyzzzzzzzzyyzzzyyzyyzyzz{zzzxxyyyzzzzzz{zzyyzyzzyyzzzyzzzzzyyzyyyyyzyyzzzyyywxyyxyzzyyyyyyxxyyyxxzyyzyzzzyxyyxxyzyzyyyy{zzyyyyyxyyzzyyzz{yyywyxyxyxyzxzyyzyyyxwyyzyyzyzyyzxyyyyxxxyyyzyyzyyyyxyyxyyyyxyyzxxyxxyyxyyyzzyzzxyxyxywzyyzyzz{zyyzyxyyxyyyyyxzyyxzyyxyyyyyyyyyzyyyyyyyyxzyyxzzyzyzyyxyxxzzyzz{yzyxxyyzyyyyyyzzzxyyyyxyyyyy{z{yzyyyyyyxy{zyyy{zzyyyxyyyyyzzyz{y{zyyzxyyyyzyzzz{zzyxyxyyyyzzzzzz{yzxyzyyyyz{{zz{{zzzyzyzyyzzzyzz{zyyzyzyyzzzzz{z{zyzyyyyyzzyzz{{zzzyzzzzyzzyzzzyzzzyzzzzyy{y{z{{{zzzzzyzz{yzzy{zzzyyzyzzyzyzzzz{{zyzzzzyyzzz|{z{zyzzyyyyyzzzzzzz{zzzyyzzyzzzzzzzzzzyyxxzzy{zyyyzyyyxyyxyxxzyyzxzyyxxzxyxwyyyzyzzzyxyxxyyxxyzzzyxzzyxyyyxxxyzyxy{yzyyxxxyxyyzzyyxzxyyyyxyxyzxxxyzxxyyyyyxxyyyyyzyzyxyyxxyxxyxzxyzyyyxwxxywyzzyyyzyxyxzyywyyyzyyyyyxyyxxywxxyyzyzyzzxxyyywxyyxyxyzzyxyyyyzyyyyyyzyyzyxxxyxxyzzzyyzzyxyyyyxyyyzyyzzzzyyyyyyzyzyxzzzzxxyyxyxyyyxyzzzzyyzyyxyyyzyzzzyzyyyyyyyxyyyzzzzyyyxyyyyyyyzyzzzzyzyxyzyyzzzyzyzzyyyyyyyzzyyzzzzzyzyxxxxyxz{yyzzzzxyyzxyzyyyzy{yzyyzyyyyyyzzyzzy{zzyxyyyzy{{zzz{zzzzyyzyzzzz{zzzyyyzzyyyyxyzzz{{yyyyyzyyyzyzzzzz{xzyzyyyyyzzzz{zzyzyyyyxyy{yzyyzzzzzxyxxyzyzyzwzxyxyyxxyxxyyyyyyzyyxyyyxxxzyyzzzzyyxxyyxyxxyyzzzyyyyyyxxwzyzyxyzyyxyxxxxxyxyyyxzzyxyyyywxyyxyy{{xyxyxxxyxxxxxyzyyxyxxyxxyyzxyyyzyyyxxywxxyyxyyxyxxxyyyyxyxyyyyyyzyxywxxxxyyzyzzyyxyxyyxxxxyxxyyyxzxyxyyxxxyyzxzzyyyxxyxxxyyxxzxzzyyyyxyyyzyzxyzzyyyxzxzyyzyyyyzyzyyyxxyxyyzyy{zzzyxzyyyyyyzyyyzyzyxyyyyzxyyyzzzzyxyxyyxxxyzzyzyyzyyyxyxxzzyyzz{zyyyyxyzzyzzz{zzyzyyzzxxxyzzyz{zz{zyyyzyyzzzzy{{zzyyzyxyzyyyyzzyz{{yzzyzyyzzzzyzzzyyyyyyxyzzzzzzy{zyzzyyyzzyyzzyz{zyxyyzyzzz{zzzzyyzzyyzyyyzxzyyzzyzyzxxzxyzzyyzzyzyyyyzxyxyzxyzyyzxxyyyywxzzyxyxzyyyyxyxxyzyzy{yzzxxwxxyzxyyy{zy{yyxyxxyxyyzzyyyxxyyxxxxxzyyxyyzzxxyyyyywxzyxyyzyxyyyyxxxzyzxyyyyyyxxyyxyyyxzxyyyxyxxyxyxzzyyzyyyzxyyxxxxzyyyzxzzzxxyxxyxxyzzyyyzxxyxyxxyyyxxyyyzyyxxxyyyxyyyyzyyzyyyzzxxyzyyxyzyzyywzyyyzzyzyzyyyyyyxxyzzyzzyyyyxyyywyyzzzzyyyzzyyyxzxyyzzzzyzz{yyyxyyyxzzyyyyy{xxzyzyxyzzzzzyyzyyyzyyyyyyzzyzyyyzyzzyzyzzzzy{{z{zyyzxyyyzy{{z{{zyyyzzzyzz{yz{{zzyyyzyyzzzyyyz{zzyzyyyyyz{yzzzz{{yyyzyyzyz{yzzzzyzzyzzyzyzyzz{{z{yxzyyyy{z{{yzz{yyyzyxyyyyzyyz{zyyyyyyyyzzyzzzzyyyyxyyyyyzyyzyxyxxyyyxxxyyzyyyzyywxyyxxxyyzyzyyyyyxwxxxyyyzyyzxyyxxxxyxyyyyyyyyzxyyxxyyxyyyyxzyzyxyyxwxxxxyyyxyyyyyyxyxxyyxyyzyyxxyxyyyyxyyzyxxyyyxyxxyxyyyyxzyyxyxyyyxyzyyxzyz{yxyxwyxyyyyyyyzyyyxxxxyxyyyxxyzyxyyyzxxyxyzyxzzyxxyyyyyxyyzyyxzzyyxxyxxyyzzyyzy{zzyxyxzyyyyxyyyyxyxyyxyxxzzzzyzyyxyyywxyyzyzzyzzzyxxzyxyyyzyzyzyyzyyywzyzyyyyzzyxxyyyywyyzzzzyzzyyyzyyzyzzy{{zzzyyyyyyyyyyzzzz{zzyyzzzzyz{zzzzzzzyzzxyyyyyyzzz{yzyyzzyyyz{yz{zz{zzyyyzyyzzyzzzzz{zyyzxyyzzxyzz{zyzzyzyyzzyyzzyy{yxzzyyxyyyz{yz{zzzxyyxyxyzyzyyzyyxxzyxyyyyzxzxzzzxxxyxxwzzyyyzyzyyyxxyxyyyzyyyzyyxyxxyyyzyyyyzyzxyxxxwxyyxyyyyzyyxyyyxxx{yzyzzzzyxyyyyyxxyzyxzzyyxyxyyzxxyyxyyyzxxwyyyxxyyyxyyyyxyyxyxyxyyyyyyyyyyzyyyxxyxyyyyzyyxxxxxyxyyyzzyzzyyxxzxyyyyyyyzyzwzxxxxxxxzyyyzyyyyyxzyxxyzzzzzzyzyxyyxzyyzyyzzzzyyyyxxzxzyzzzzz{yyyyyxyzyyyz{{zyyyyyyxxyyyzzzzzxyxyxyyxyzzzzyyzzzxxyxzyyyyyyzzzzyzyyyzyyyzzzzzzzyyyyyyyyzzyzz{z{{yyzyyyyzyzyyzyzzxyyyyzxzzzzyzzzzxyyzyyzyzzyz{zz{zyyxzyzzz{{yyzzyzzzyyzzy{z{{{zyzyxzyyzzzyzzzy{{yyyzzyyyzzzz{z{{yxyxyxzyy{yzzzzzzzyzxzyyyyyzyzzxyyyyzyyxyzyyyzzzyyxxyyyyxzxyzzzyxyyyxxxxyyyzyzzzzyyxxxxyyzyzzy{yzxyxyyxyzyz{yyyzyyyxxxzxxzyyxyyyyxyyyyyxyyyyzyyxxyyyxxyyyyzyyyyyyyxxxxxyxyyyyyyyyxxxyyyyxyzyyzzyzyyxyxxyyyyyzzyzywxxxxyyyyyzzzzyyxzxxxyxyyyyyyyyyyxxyyyyyyyxyzyzyyyyyzyxzzyyzzyzyyxyyyyyyzzyyzzzyyyzzyzyyyyyxzzyyyyyxyyxyzxyyyyzyyyyyyyxyxyyzzzzzyyzzyxxyzyyyzzzzyyzyxxzzz{xzyzyzzyyzyyyyz{{yzzyyzyyzyzy{zzzzzy|yyyyyzzyzzz{zyyzzyyyyyyyyzzzzzzzzzyyxzyyzzzyy{zyyz{yyyyyy{zzz{z{z{yzyzzyy{y{z{{zzyyxzzyyzz{zz{{zzzyyxzzyz{zzzzzzyyzyzzyyyzyzyzzyzzyzyyxyyzyzzz{yyzyxyzyyzzyyyzzyyyzxyyzxyyyzyyyzyyyyyxyxyzzyyzyzzyxxwzyxyyyyyzzzyyyxyyyyyyyyyzzyyyyyxyyxzyzyyyyyyyyxyxyxxzyyyyzyyyyyyxyyzzzyyyzzzyxxxyxyyzyyxzxyxyxyyxyxzyyyxzzyyyyxzywxyzyyyyyyyyxxyyyyzyyyzz{zwyzyxxyyyzyxzzyzyyyxxyyxxyyyyyyyyyxxyzyxyyzyzzyzyyxyxyyyxyyzy{zxyzyyyxyyyyyyxzzzyyyyxxxyzzzyzyzzxyzxyxyxyzyyzzyzzyyyyyxyyz{yyzzyyxyyyzxyyz{yzy{zzzyxyyyyy{zyz{zzyyyzyzyyzzyzy{z{zyyyzxxyzzzzzzzzyyyzzzyz{zzzzzy{{xzzyzzyzzzy{{zz{yzyyyyzy{zzzz{zzyyyyzzzzz{yzzzz{zyyyyzyzzy{zzzzyyyy{zyzzzyzz{z{zyxyzzxyzyzzz{zzzyz{zyyyzzzzyyzyzz{xzxyzzzzyzzyzyyxyyxyxyzxyzzzzyyyxxyxyxzxyzzy{yyyxywyyyzyyyyzzyxyyxyyxxyzyxzyyyyzxxxyxyzzyyzzzyyzxyyxxxyxzzyyzyyyxyyzyxyyxyxyyyyxxyywyyxyyyyyzyyyyxxyyzx{xyyzyyxyyxxyyyyyzyyyzxxyxxxyyyyyyyx{{yyxxxxxxyyyxyyyyzzxyyxyyxxyyyzy{yxyxxxyxzyyyyyz{zzxxxyxzyyzyyzy{yxyxyxyyzzzyzzyyzzyxyxzxyyyyyzyzyxyxwxzxyzzzyzyzzyyzyzzxyz{zyzzzzzyyyzyyyzzxyyz{yzyxyzzyzzz{zyz{yyyyyzyyzzzyy{zzzyyyyxyxz{{zzz{zzyzyyyzyz{zzzz{zzyxyyyzzzzyzzz{zzzyyzyzyz{z{zz{{zyzyzyyzyz{zzy{{zyyyyyzzzzzzzz{{zzyz{zyz{zy|zzzyyyzyyyzyy{zyyz{zzzxyyyyyzzzzyyzzzzyyzyyyyyzzzyyyyxxyyxxyyxzyyyyzyxxyyxyxyyyxyzyyyxxxxxxxzzyxyyzzywyyyxxyyzzyxyyzxyxxxxxxyyyzzzx{yyzxxyxyxzzyyzzyxyyyyxxwyzzzwzyyxyxyyyxyyyyyxyyyxxxwxxxyxxzxyyyxyyxxxxxwyyyzyyzzyxxxyyxyyyyyyzzzyyxyxwyxxyyyxzyyyyyyxxyyxyxzyyyyxxxyxyyxyzyyzzzyyyyxzzyyzzzyyzzyzyyyywxyxyzzyzzzyyzxyyxyyyyyzzzyzyyyyxyyxzyyzzyyzzxyyxyxzyyzyyzyyyyxxyyzyyzyyzxyyyyyzyxzyyyzyz{zyzyyyyyxy{yyyyzzzyyzzyxyzzzzzzyzzyyzyzzzzzyyzzzzzzyyzy{yyy{zzzz{{zyzyyzzy{zzz{yzzzzzyyyyzyzzzz{zzyzzyyyyyzzzzz{zzyyyyzyyzy{yyz{zyyzyzyyyyzzzzz{zyzyxyzxzzzzyyyzyzyyyxyzxyyzzzyzxyyxyxyxxyyyyzyyyyxyyxxyzyyxyzyyyyyxxxyxxyyyyyzzyyxyxxyxxzyyyxyzyzxxyxxyyyyzyyyyzyyyzyyyxyyxxyyyzyxyyzxxyzyyyxyxxyxxwxzxxyyyyyyyyyyxyxxyyyyyzxyzyyyxwyyxxzyyyzyyyxyzyxyyxyyyzyxyzzxxyyxxxyyyyyyzxxxxwxyxyyzyyyyzyyxyyxxyxyyxyzyzzxxxyxxyyyyzyzzz{zyyyyxyxzyyyyzzzyyzyyxyxyyzyzzyyxyywywyyzyzyyzzyxyyyyyyyzyzzyzzyyyyyyyyzzyzyy{yzzyxyyzyxyzzzyzzyyzzzzyyxzzyzzzzzzyyzyzyxzzzzzzzyyxzyzyyzyzyxz{{zyxzxzzzzyyz{zyzzzyzzyyyyy|{zzzzzzxzyyyyxyz{zzzzyyyyzyxyzzzzzyzz{zyyyzzyyzy{zzzzzzyzyyxzyzyzzzz{yzyyyyyxxzyzzzyzzyyyzxyzzyyzzzyyx{xyxxywyyzyxyyzxxxxxyxyxyyy{yyzzyywyxxxxzyyyyyyyzzxyyyywxyyzyxzyzyxwwxyyyyyyyyyyyxzxxxyxyxyyyzyzzyxyxyxxxyzxxzyyyxyxyxxxyxyyxyzyyxxwxyyxxyxxzzyyxyyyyyxxxyyxyyxyyyyyxxyxyyyyyyzzyxyyywxxyzyxxzyzyxyxyyxyyyzyyzzzxyyxxyyxyyyyy{zzyxyyyxyyyxyyzzzyyxyxyxyyzyyyzzzyyxyxxxxyyzzz{yyyzyxyywxyyzyyyzyzyyyxyyxxz{yyzyzzyyyyyyzzzyzyyzyyyxyxzxyzyzyzyz{yyyyyyyyxyxyyyyzzzyxyzxyxyz{y{yz{zyxxzyyxz{{zyz{zyyzyzz{yyzzyz{yzzyyyyzyyzzyzyyz{zyyyyyyyz{yzzzzyzyzyyyyyz{z{yzzzzzxzzyyyzyyzyzyzyzzyzyyyyyyzyz{yyyyyyxyyzyyyzz{yzyyyxxyyyzzzyyyxxxyxxxyxyyzyxyzyyyxxxyyyyxxxyzzyyyxxywxyxyyyzzzyyyyxyyyyzzxyxxzyyxyxxxyxzzyyxyyzyyyxyyxwyyzxyyyyzyyyyyxxyyzyz{zyyyyxxxxxyxyzyyyzyyyyxxyxyyzyyxyzzyyyxxwyyyzyyzyyyyyyxyxyyzyxyyzzywyyxxywxyyxyyyzzyyxxxxyyyyyxzyyyxyxyzxxyzzyyyzzyyyxzxyzyyzyxzyyxyyyxyyyyyyzyyyzyyyxxyxyyyyzzyzzyyxyyxyyyzyzzzzzyyyyxyyyzzzyxz{{yxxxxyxyzzzyyzyzzyyzyyy{zzzz{zzyyyzyyzzzzzyzzz{zyzzxyyyyxzzyyz{yyyxyzyzyzyz{yz{{yyzyzzzyz{yzy{z{{yyxyyzy{{zzz{{zzzzzyyyzzzzzz{zy{yyyzyxyyzz{zz{{zzyyyxxyy{z{zzzzzzzyyyyyz{yyyzy{zyzxxzyxyzz{zzyzyyzyyyyyyzzzzF|6U"b{{|||{{y|}|||||||z||{{|{|}{{||||{{z|{{y||{||}||||{{z{{|{|{|{{|||{zz{zz{|{||{|{|{{{z{{{{{|z|{}|{{{{{{{{{{{{{{{|{z{z{z||{{{||{{||{zzzzz{{{z{{|}}{{{|{{zzz{|{{|{{|z{|{zz{zz|{{{z||{{{{{z{{|z{{{|||{|{zz{{{{{{{{|{{z{{z{{zz{{{{|||z|{zz{z{{{{||{{|}{z{{{z{{{{{|{{|{{{{{z|{{||z|{}|{|{zz{{|{{{{||||{{{|{z{{{{{|{{z}|{{|{{zz{|||{||{|{{{{{{z{|||}|}}||{||}{{{|{{|||||{{{|{{{{|{|{}}|{||{|{{{|{|}|||{}{{||{{||{{|{|||||z{{{|{{|}|}|}||{{|{{{{{|||{{|{}}{{{|{}|||||{|{|}|{|{{z||}||{|||{z{{{|z{{||}|||{|{{{{{{{|||||||{{{{{{zz{|{{{{|||}|{|{{|{||}{{}{|||{||{|z{{||{|}||{|{|{||{|||{|||{{{{|z{{}{}{|}||{{z{{{|{z||{}{z|{{z{{z{{||||||}|z{{{{z{{{||{{{|{{z{z{{{{z{{{{|||z{z{{z{z{{||{{{{{{{{zzz{{||{|}||{|zzzz{{{{{z|{{{{{{zz{{yzz{{{{|{{|{z{{{z{{{{{{{{{{{{|z|{|{{{|{}|{z|z{z{{{{|z{||{{|{{{z{z|{|{{||{{{{|{{zz{{{{|{{|{{|{{{z||{|||||||{z|z{{{{|}{}{||{{|{|{{{}{||{|||z{|{{|{{|}|}||||{{{{{{{{}||||||}{z{{{{{|{|||}|||}{{{|z{{||}|||}||||{{{|||}{|}|}}}{{|{{{{|}}|}|||{{}}}{|z}|{|}|||||{{|zz|||||||||||{{{{{{{|||{||||||{{{{|{|{{{|{{{|{{z|{z|||{|||{|{|z{{{{|{{|{|||z{{{{{{{||||||{}||{{|{{{|{|{||{}|{z{|{{{z|}|{}||{{{{{||z{{|}z|||{z|z{{zz|{||{|{{{|{z{z{||||{z|||{{{{zz}{|{{{{}|{|z{z{{z||{{{|{{z{zz{z{zz|{{|{|{|z{{{{{zz|{{{{|~{{z{{{{{z{z{z{{||{z{{zz{z{{|{|{{|{{z{{{z{{{{{{|{{{{z{{y{z|{{{|{{|{{z{{z{||{{{||{{|{{z{{{{|z{z{{{||{{{z{{z{|||{{||{{|{|{{{z||{{||{{zz{{z{{|||z{{{z|{{{|{{{{{{{{|||{{|{{{{z|{|||||||{{{|{{|{}{|||}|{{{||{{z{||{||||||{|{{z||||{||||z{{{{||{||{{||||{{{||||||}||||~}||{|{{{|}|{}{|}||{{{{z{||||{||||{{{{||{{|{|||}{}{{{{{|{{{||{|||||{z{{z{{|{z|{|}{{{z{{z{{z{{{{{|}{||{|{z{|{|{||||{||{{|{{||{||||||{{z|{z{||{|{||||zz{{{{{|{{|{{||zzzzz{zz{{{||{{||z|zz{{{{{|z{|{{|{z{z{zz{{|{{{|{zz{z{{z{{{|{{{{|z{z{zz{z{{|z|{|z{{{zz{z|{{{z{{|{z{{{zzz{z|{{{||{{zzzzyzz{{z{{{{{zz{{|z{z|{{{{{{{z{{zzzz{|{||{{}|{{z{{{zz|{||{{||{|{zzz{{{{{{{{{|zzz{z{|z{||{||{{|{{z{||z{{|{{|{|zz{z{{{z|{|{{|}|{{{{|{|z||{|||{||{{{|z{{{{||||||{{{{{{{{||||{{}||{{|{{{|z||{}{|||z{{{|{{|}|{{|}||{{{z|||{||||||}}|{||{|{||{|~}||||{||{|z||{||||||{{{z{z{|{||}||}|{{|{{{{||{|{|||{|{{{z{{{{{}|{||||z{|{{z|{|||{{|z{|z{{{zz|{{|||{|||{|{|z|||{{|||{{{{{{|{||{||||}|{zz{{z{}|{{|||||{z{z{{z{|{}z||||z{{{z{yz{{||{{|{{{{{z{{{|{||{|z{{|{|{zz{{|y{|{{{|{zzy{{{z{|{{{|z{z{{{{{{{{z|{|{{zzz{{{z{{{{|{{{}{y{zzz{{{{|{{{{{z{zz{{{{{{|{|{|z{zz{z|y{{z{||z|zz{{{{{{zz{{{z|{||z{z{{{|||{|{z}|{z{zz{z{{{{{{{|z{{zzz{{{{{{{{{||{{zzzzz{}||{||{{{{{{z{{{{||{{|{z{{{{{{{{{{|{|{z|z|{{{{{{||}{{||{{{{{{{|||{||||{|{|z{{{z{||{|||||{{|z|{{|||{||||{{{{|||{||||}||||||{{{{||}|}|}}||z{|{{||{}|||}||{z{{{z{|||{||}}|{|{{{|{||{z||{||{|z{{|{{||{{|{|}|{{{{{{{{|{||{||{|{zzz{{{{z{{|}|}{||{{|{}{{{|||||{|{{{{{{||{}|}}|{|{z{|{{|{{|||}|{{{{{|{{||||||{|{{z{{{z{{||z|{|zz{{{z{{{{|{{||{{z{{{{{z{{}{{}|{{{{zz{zz|zz{z||||{{z|z{zz|{|{{{|{{{{zz{{z||{{|}{{zzz|z{{{z{z{}{|zzzz{{{z{{|||{|{{z{z{{{zz|{{|{{||{z{{z{z}z{||{||{{z{{{|{||||{|}||{{zz{z{z{{{{|||{{z{|{|{{{|||~{{|zz{|z||{{}|||}|||{{{{{z{|}|{|||{|z|{{z{{|{{|||||{|z{{{{||{}}||||{{}{z||}{{}{{|||{{{}{{z{|||}|||}z{zz{{||||||}|}|{|{{{{}||||}{|}|{|||{|{{}}}}||}|{||{{{{||}{}}|||{|{{{{|{}|}||||}{|{}|{{{||}|||||{{{{|{z{|{|}|}}|{{{z{zz|}{{|z||zz{|{|zz|{{{{|||{{{{{{|{|}|}{|||{|{|{z{{||||||}|||{{|{{{{||}|{}|{z|{|y{|{|}}{||{|{{{{{{{||||{{||{{{|{{zz{{{|{|{||zzz{zz{{{|{{{||{{{z{{{|{{{{{{|{{{|{{{z{{|{{{{{|zz{z{{z{{{{z|||{{{z{{zz{||z|{{|{|{{{z{{zy|{{|z{{|{{{{zz|{{z{{{{{{z{z||{{||}||{}|||zz{{{{z{{{{{||{{z{zz{z|||{{{|{zz|{zzz|{|{{||||{{{{|{zz{||{{|{{{||{{{zz|z{|||||{{{||zz||||{{{{|{{{|{{z||{||||||{{{{|{{{{{{}}|||{{zz{{{{{{{|{{|{|{{{||{z}|}z||||{{{z{||{{}||||}|||{{{{||{|}|}||}||{|{{}{}{||{||{|||{{{{{||||||||{|||{{|||||}}||{{{{{{z{{|||{{{|{z{{{{{{{{||{{z||{z{{{z{zz{{z{}}||||z|{{{|{||||}|{|z{|{{{{|}|{|}|{{{{{{|{|||||||||||{{{z{||{||{}||||z{{{z||||||||{{|{{{{z{{|z|}}||{|{{zzz||||||{|{{{{{|{|{{{|{{}|{{{{{{{{}{{{||}|{|{{{{{{{{}{{z{|z{{{{{{{|{||||{|{{z{{zz{{|{{z||{{{{{zzzzz{{{{|}{{{||{{z{{{|{}|}|{{{z{z{{{|{||{{|{{z{{z{{{|{|{|{|||z{{z{{}{|{|}||{z|{{{z|{|}|}|{{{{{{|{|{|{|{|}}|||z{{{{z{|||||}||{{{|||||}||}}|}|z|{|{||||{|{|||z{z{{{|||}{}|||{|{{|}|||{}||||}}||{{|{||{}{|||}}|{|||{|||}|||||}||{||z{{|{|{||}}}|{||||||{||{|}}{z{|||{|}}||{|}||||{}{{||||{|||||{{{{z{{{{|||{}|{{{{{z{{{|||{}|}||||||||||}|{|}|}{{|{{|{|}|{||||||{{{{|{{}{|||{{|{{{{y{{||||{|}|{|{{y{|{|{||}|||z|{|{{{z{{{|{|||{z{{zz{{||||{{|{{{{zz|{{{{{{{z{|{{{z{zz{||{||{|{|{{zz{{{{{|{{{{|{{{{zz{{{{}||||||{{{{{z||{{|{|||{{{{z|z{z|||{|||zz{z|{zz{z{{{}{||{{{{{|{|{{{|{{{{z|{|{|{{||{{{||{|{{{z{z|||{|{{{{|{|{{{{{|||{{}{{z{{{z|z{||}|{|{|{|{{|{{}{|{||{||{{{|{{{{}|||||}{{{{{{{|||}||}{}|{|{{z{{}}{|||}{{{|{|{{{|}|{}||}|{{{{{||||{{|}||||{|z|}||||||}|||{{|{|||||{||||}|||z|{{{{|}}||}|||{||z{{}||||~}~{{{{|{{{||{||{|}|{{{{{zzz|}|{{|{{{{{z{{{|||{{|{}|||{{|z{||}}|||}|}|{{||||{|||}||}{{zz{}z||{|}{{}{{{{{zzz{|||{{{}||{{{{{{|z{{z|{|{{{{{z|{{}{{{{||{zz{z{{{{{{||||{{{zzz{zzz{|{{{{{{zzzzzzz{{{{{|{z{{{{zz{{|{{{|{||{{|zz|yz{||{{||||z{{|{zz{z{{{{{zz||{{{zz{}{|z{{{{z{z{z{z{{||{||{{z{{{{{{|{{{{{||{|z|zz{{|{{|||||{{{zzz|z{{{||{{|{{||{{|z{{{{||||{{{{{z|{{}|{{||{|{|{{{{{||{{{|{|}|{z{{{{{|}}{|||{{zz{{{{}{||||||z{|{||{{|}|||||{{||{{{{{|{|{{||}|z{{{|{{|}{{|||}|{{{{|{||}|}||}||||{{{{||||{|}|}{{{}{{{{||||{||}{{{z||{||{{{|||||{|z{z|{{|||||{|{|{{{|z|{|{{||{{{z|z{{zz{||z{}||}{{||||{{}|}{}}}|}{|{{{{|{{}||}}{|{z{|{||{||}|}|{{{}{{z{{{|}|||{|{|z{{{{|{|{||{{{|{{{{|{{||{||{|{|{z{zz||{{|||{|z{{z{zzz|z{{{|||{z{{zz{z{{{|{|||z{{z{{{z{{{{|{{{zz|{z{y{z|{|{{||{{{{zz|z{{{|{{{{{{{zz{{{{{{{{|{|{z{{z{{z|||}{{|||{{{z{z{{}}||{||zz{|{{{|{|||{|{{z{{{zzzz{|||{{||{||{|{{z{||{}|||{{{{{{{{||}{|||{|{{{z{z{||||||||{{|z{{{{{{}|||||{|{|{{{{{|{|}||||{}|{{|{|||{}{}{}{{}{|{{|}|}{|}|{{||{|{{{}|}|}|}}{{{||||{|}||}|{|{}|||z{|}}|||{}|{{z{{{{}||||}~}||{||{{{|||}||||{|{{{|{{{||||{||{{{{z{{{{|||{||{{z{z{{{z{|}|z}}}|{{||||{||}}}{}||{||{{||||}|||||{{{{{{|{|||{||}||{|{{z|{{||{|||}{{{{zzz{{{}{{|||{z{|{{{{||{{{{|{z|z{|{{z{|||{{||{{|{zz{z|{z|{{||{{|{{zzzz|||{{|{{z{{{zzzz{|{|{|{{{|{zz{{{||{|||{{{{|z{zyy{{{|{|||zzzzyz|{||{z|||{{zz{{zz{{{{{{|{{z{{{z|{{|{|{{{||{|{z|{{{||{||}|{z{{|{z{{}{{|||{z{{||{{z{{||{|}||z{z{{{z{{{{||}|{z}z{z|z||}{{{|||{{z{{|{{||{||||z{{{{{}|{{{|}{{}{{{}{{|z{{|||}|{{{{{{{z{|||||{|}{||{{|{|{{{}|||||{{{||{{|}|}}|||}{||z|{{|}|||}|}|{{{|z|{}{{}|}}|||z|{{{}{}{}|||||{{{|{|z|||{}|}||{{||{{z||||{{{||z{{{{z|{||{|{|}{|}|||{|{|||{|{||z{{{{{||z{|{||{|z{{zzz{|}{|||}|{||{{zz{{||z{|||{|{zzzzz{{{{{|||{z{zzzyzz{|{{||{z{|z{zz{{||{}|{{{zzz{zzzz{{{z{z{{{zz{yzz{|{|{z|z{y{zz|z{zzz|{|z{zzzzz{z{{{{{{{{zz{zz{{{z{z{{{{|{|y{z{zz{zzz{{{{{zz{zzz{{z{{{{{||z{{z{{z{z|{{|||{z{{zzz{z{{||{{{|{{{{z{{{{|{|{|{{{z{{{zzz{|{|{}{||{{z{{{{{|{z|{||{{{{{z|{{{||{|{|zz{||{z{|{{|||{|{{|z|{z{{{||{{||z{|{zzz{{|{{}|{||{|{{{{{}|{{|z|{{z|{||{{{|z{|{|||{|{z|{|{||||||||{{|{{|z}{|{|}||{{zz{z{{{||{|{||}z{{{z{{{z||||||{{{z{{zz{|{|z|||{{{{{{z{{|{|{{{|{|{{{z{z{{{{|}||||{||{{z|}||||{}||{||{|{||{|}|||zz{z{{|||{{{{||}|{{{|{{{{|{|{|z||z|{{z{{{{{|{||{{{|{{z{z{{z|{{||{z{{z{zz{{{z|{{{{z{y{{zz{z{{{{|{z{z|{zzz{{{z{{zzzy{z{zzzz{{{|{{{{zz{{{{zz{z{{{{{yz{z{{zy||z{{{{|{{z{{{{z{{{{{{{{{{{|z{{{|{|{{{||zzzz{{{zz{{z{||{z{z{|{{{{{z{{{z|z{z{{{{{|{{{|{|{{z{z{{{{{{{|||{{{{zz{{zz{|{{{{{{|{|{{{|{{|||||}|||zz}{{{{|||{|||{{{{{||{{{|{{|||{{{{{{{{|||{|||||{{{{{{z||{||{|||z|z{{|{||{|||||}{z|{{{|{}|}|||||{{{{|{z{{{|}}}}|{{{{{{{||{{||}|{{{{{{{{|{{|||{|{{{{{{{|z|{|{{||{{zz{z{{{{|||||{{z{z{zzzz{|{{{|~|||{|{||||}||{|}{{{z{||||||{|}}|||{{{{|{||{|{{|}{|||z{|{z|||{|}}{{{z{{{{{{{|{|{|{|{|{||{{|}|{{|{{|{{{{{z{||{zz{|z{z{zz{z|{||{{|{{z{{y{{{{{|{{||z{z{zz{zy{|{|||z{zz{{zz{{{||{|{||z{z{{{z{z{{{||{{{{{z{{z{{|{{{|{|{z{{{{z{{|{||{{||{z{{{{z{|||{||}{zz{{z|{{{||z||{z{{{{||z|||{||{{{{{z{{{{{||||{|{{{{{{z{{{|||{{||z{z|{{{{{||{|}|||{z{z{z|z{||{}|}{{{{{z{{|{|{|{|||z|z|{{{||{{}|||{||{{{{{}|||}||}{||||{{{||||}|||{||z||||||}||||||{|z{{{|{||}|}|||{{|||{{|}|{{|}||z{{{|{{||}||{||{|{{{|{{|}||||{|{z{{z{{{|||||{||{{{{{{{z{|{z|}|}|||{||||}}{|}{|}||z|{z{{||}|}}|}{|{{|{{z{||||||||{||z{{{{||{{{|{|||zz{zz|||{{|{|z{{{|{{{|{{{{||{|{z{z{{{|||{{{{{{z{z{{{{{{|}{|{{zzzz{{zzz{{z{{{{{{{{z{|||{|{||||{|z{{{{z{|z{{|{{{{{z{{{{}|yz||{||{{z{zzz{||{{{|{{{{zzy{{{|||{|{{{|{{{z{{|||{{||{|{{{z{|z}{{{||{}{{{{z{{||{|{||}{|{{{|z{z||{|{|{|{{{{{{|||{{{|{||zz{z|{z{{|{|{{{{|z{|{|z|{|||||||||{z{{{|{||||{|||{{{{z{{|{||||{||{{{|z}{|||{|}|{{{|{||{||||||}||{|{{|{||||{|{|}}{||{|{{{|||{|}||{z||{{{{|{|}|}||{{{||{{{||||||}{{{{{{{{{|{|{{||||{{{{{{||{|{{|{{z{zyz{zz{||{|}}}|{|{{}||}}}|||~}{{}{|}|{||{|{||}{{{z|{|{{{|{||||{||z{{{{||{|||}|{{|{{zz||{|{||{|{{{|{{{z}||{{|z|{{z{y{{}z{{{|{|{z|{{{{z|{{|{|{||{{|zz{{zz{{|{|{{{{{{zzz{{|||{{|{|{{z{z{{{||{|||{{{zzzzz{|{{{|{|{{{{|z{{z{z{||||z{{|{zz{z|{{|{}{{{zz{z{{||{{|{{|{{|{z{{{|{{{{|||{z{z{{zz{||{{{{|{{z{{z{z{|{{||||{{{{{{{{{{||{{}{|{{{{{{{||||{|{||{{{{{{z{{|{{|{}{|{{{|{{{{{}|}}||{{|{{{{}{|||{{||z{||{{{|}|{|{|||{|{{|{|{|||}|}}|{||{{{{z}||||}|}{|||{{{|}|{||}}}{|{{{|{|}||||}{{{z|{|{{||{|{||}|{{{z|{z{|{|}||{z{|z|z|{|{|||{|}|{{{{z{{{{|{{}|~}}|}}|}}|}}}|}|}}|}|{{||{|||}||}{|{{||{|}{|{|}|||{{{{{{{{|}|||}|{z{{{zz{|{{{{|{{{z{{{{{{{{{{|{|z{{z{zz{z|{||{||{{{z{z{{{|{y}{|{|{z{y||{z|{|{z{}|{z{{y{z{{{|{|{{|{z|{{|z{||{|{{{|zzzz{{{{{{|{{|{|z{zz{{z{{{{|{{{|{{{{z{{{{||{{|{{|{{{{z{|{{|{||{}{{{{|{z{}{|{|{|||z{{z{{{|{||{{{{{{{{{z{{{{{||{||{{|{zz{{||{|{{||{z|{{zz|||}z||||}{{z{{|{||}||||}|z{{{||{{}{||||||{||z{z{||{||||||||{|{|{||||{|}|{|{|{||{}{||{||||{{|||||{}|}||}|}{{|{{|{{}|||||||z|||{z}||{||}}|||{{|{|{|}}}|}|}{||{|z{{||z|}}}|{{{|{{{z{||}{}|{{{{{|z{z{||{{}~~|{{}||}{|}||}|}}}}|||{{|}|||||}||||||{z|{{||{}|}|{{{{{|{{{|{z|{}z}|{{|zz{|{|||z|zz{{{{{|{||{{|{|{z|{z{z{{z|{{|{{{z{{{{zz{{{{{{{|{{zzzy{{z{{{{{{{{z{{{{z{{{{|{{|zz{|zzz{z{|{|{|||zz|{{zzz{{|z|{{|{z{{{zz{y{{|{|{|z{{{z{zz|{{{{|{|{{{{zzz{|{{{{{|{|{{{{z{zz{{{{{|{z{{{z{{z{{|{{{}{|z{{{{{{{||{||||{z|{{z{{|{{z{||{|z{{{{{{|||{{{|||zz{{|||||||{||{|||{|{||||}}|||||{{{|{{{{{|||{|||{z|{{{{}{|{||||||||{|||||}|||||||{||||{{|}|}||||{||||||}||||||||{{|{{{{|||||}{{|||{}|{|{}||||||{{{{{{{{}{|{|{}}|{{{{{{{||{|{{||{{{y{{z{{z{{||}|}||{}||{~|}|}|}||||}|{{{||}{||}}||{{{|{||{{{|}{}|{|{{zz{|{||{{{|{{{{z{zz{|{{{|||z||zz{{{{|{{{{|{|{zz{{{z|{{{z|{{{{{z{{{z|{||z{|{z{zz{{zzz{{|{{||{zzzz{zzz{{{|{{|{zz|z{{z{{|{{z||{zzz|z{{z{{{{{{{{{{z{z{zz{{{z{{{|z{{z|{z{{{{{||{|z{{zzyz|{{|{{{|{{|zzz{{{|{|{{||{|{{{{z|{||||{{||z{{|{{z|{|{{|{|{{{zz{zz|{{|{{|{{|{{{{z{{|{{{}{||{{|{{zz|||||}|||{{z{{z|{{|{{|||{|z|{zz{||}|{{{||{{{{z|{{|||{||||{z|{||||{|{|||{|{||{{{|z|||{}}|||z{|{|||||||||||z{|{}{|||||}||}{|||{|{|{|{|{|}|z{|z{zz{{{||}|}{|{z{z{{{{{{{{{{{{z{zzyzzz|{{|~}~~}{||}}|||||}||}{{|||{||}||{}}|||{{||{{|||||}|}|{||{|{{{|{{{|{}|{z{{z{{z|{|{{|{}z{{zz{|{{{|{{||{{z{z{{{z{||{{|{{z{{zz{z{{|z{{{|z{z{{{zzz{{{{|{|{zz{zz{z{{{|{||{{zz{{yzz{{{{{{{{{{{z{{zzz{z{{{|{{{zz{zzz{{{{|z|{|{z{z{{zzz{{|{{|{}{{{|z{{{||{z|||{{zz{{{z{{||{|{|{{{z{z{{{{|{{|}|{|{{{{zz{}||||||{{{zz{{{{||{{|{{{{{{z{z||}{{{||{{{|{zz{|{|{|||{|{{|{{zz{{||{||||{z{{{{{z||{|}||{|{|{{{{||{||||}}{{|{|||{{|{||{}}}z{|{|}{{}||||||||||{{||}|||||{{|z{{{|{{{}|||||||{{{{{|||{||{|||{{zz{{{|{|{{|||||z{{{{{{{{||{{{|{z{{zzz{{{{||}~~}}{}{{}|~}}~||}}}|||||||{|||||}}|{{{{{{{{||}|}|}|{{{|{{{{|{|{{|}{{{|z{{{{{{||}{|{{{|z|{z{{{{{|}{{z{{z{z{{z{{{{{{{z{zz||{{{{{{{{zz{{{zzz{|{||z}|{{z{{z{zz{||||||{{|{{zzzy{{|{|{|{{z|zzz{{{{{|||{{{|{z{{{z{{{|z|{{zz||z{{{|{{{|||{z{{{{{{{{{{{{}{|z{{{{{{{{||{{|{|{{{{{{{{{|||{{{}|{{||z{{|}|{{||{{z{|{{{{{||{||{{{{{{|{z{||{{||}{|{z{{{{{|{}}}{|||{|{{{||||{}||||{||||{z{{|||||}||{z{z{|{{|||{|}||z|{{{||||}||||}|{||{|{{|}|}{|||{{{|z|{{}}{|{|{|{{{{|{{||}||{|}}|{{|||z{{{||||||||{{|{{{{|||||}||{{zz{{{{||{|{||{|{{z{{{{{{{{}}}|{}||}}{|}|}||~~|||}{|{||}|||}|||{||{{zz|{{||{|||{{{{{{z||{{{{{||{|{z{|z{{||||{}{{{z{|{{{{{z{|{{|z{{{{z{{z{{{{{{{zz|{{{{{{zz{{{|{zz{zzzz{z{||}||{{{zz{yz{zz|{z{|{{{{z{{{z{}z{|||{{zz{z{z{{{z{{|{{{{{z{{{{{{{{|{|zz{{|{{z|{|||}|||z{{z{{y|||||{|||{z{zz{{{zz{{|||{z{{{{zz{{{{{|||{z{{{{{zz||||}|{{{{zzz|{|{|{{|||||{{{{z|{{{{|||{{{{{|{{{{|{|{{|}{||{{{|z{{{||{|}{{{{z{{z{}{|{||{|{{|{{|z}}|{|}||{{{{{{||{|}||{||||{{{{|{|||}|||||z|{|zz{|{{||||}|z{z{{{{{|||{|||{z|{{{{{{{}||}|}{|{||{{{{|||{|||{{{{|{z{{{||||{|{{{zzz{z{|{{{~|~{|||||}|||}}{{|~|}||||{||}||||}||||{z||{{{{||}|||z|{{{z{{|{}{{{|{{z{z{{z||{|||{{{{{{{z{z{{z{|{{{{|{z{{z{||{{{{|{{{{{{zy{{|{|{|{{{zzz{zzz{|z{z{|{z{{z{{zz{{|z{{{{{{{z{{{z|{{||{||{z{zzz{{{|{{{{|{{{{zy{{z{|z|z{|{z{zz{{z{{{||{{|{{|{zz{{{{{{||{|}|{{zz{{{|{z|{{||zz{{{z{{{{||||{}{|{{{|{{{||{|{{|{{{{{{z{{{{|{|}{|{z|{{z{{|||{|{|{{zz{z|{}}|||{|||{|{z{{|{{||||||{{{{{{z{||{|||}|{z|{{{{{}||{{||{|{{z|{|||z||||||}{z{{||z{}|{|||||{{{{z{z|{||{|}||{||{{|{|{{|{|}|{|{|{{{{{{|{|||{{{{z|{{|{{|{||{|{{z{|z{{{||{{{}|{{{{{zz{z|z{|~}~}}||}}}|}}~|}|}}|||{{{||}|{||{}}}|{z{||{|}{{}}||{|{{{zz{{|||{|||{{|{z{{z||{||}{|{{|z{|{{|||{|{{{{{z|{zzz{{|{{|{{{{{{{{{z{z{|{{{}{{{{{{zz{{{|{{{{{zz{y{{z|{{{||z{z{{{z{zz{{{{|{||{zzz{{z{z|{|z{{}{{{zz{{{{||{{||{{{{{z|{z|{z{||||{z{z{z{{|{{||{{{zzz{{{{{{{|{||||{{z{{z{{|||{}|||||{{{{z{{{|{}||{{{{|{|{|{||{{{{|{{|{|{z{||{{{{|||{{{z{{{|{{||{|}|{{{{||{|||{|||||{z{{{{z||{||{}{|{{|{{|{|{|{{|}}{{{z{{}|||{||{||}||{||{{{}{|||{||||{{{{{|||||}}||{{{{|{{|{{||{||{|||{{{|}||||{{||{|{{{|z{|||||}|{{{{zz{{|{||{{|{{{{{{{zz{|{|{~~~}}}}}||||}~}}|~~|}}|{|||}||}||}||{}{{{|{|{}{|}|}|{{|{|{{{||{{{|||{{{{{{z|{{{{|{|{{{z{{{{{{{{{{|z{zz{{{{z{{|{{|||z{{zz{z{{zz{{|{{{|{z{z|{|z{z|{|{zz{{{{{||{{{{{{{{|{{zzz{{||{{|{|{z{{{zz{z|{z{{|zzz{zz{{{z{||||||zz{z{||z|{{{{|{{|z{{{zz{{|{}{||||{{{{z{||{{}{{}|{{{zzzz{|{{{||||{|{z|{{{{z||{{}{{{{|{zz{|{|{{||||z{|{{{{z}{{{|{{{{|{{{{z|{|||}||{||{|{||||{|{||}z{{|{{z{|||}|}|z|{{{|{||{|{||}||{{|{{||{z{}}|}}}|{|{{||{{}||||||||{|{{{||||||||||{{{{||{|||{}|||{{{{|{{|||}|||}|{|{{{|{{{|||{{}|{{|{z{{{{|||{z}|z{zzz{zz{{{|{~}~~}}~}}|}~}|}{}}}{~||{{{}}||}}}|||{z}||{||}{|{{{|{{{{{{{{{{|z|{||{|{zz{{|{|{{{}||{{z{{{z{{||||||{{|zzzzz|{{{|||{{{z{zzyz|{{{z{z|{{{{zzyz{{{{{{|{zzzzzzz{{{}{{z||z{|{y{{z{|{{|{|{{{zzzz{zz{|zz{{|{{zz|{zz{{{|||}{{{|{|{{{{{z{{|{{{{|z|z{{{{||{{||{{{zz{||{{||{{|{{zz{{{{{{||{z{||{z{|{{zz{{{|{|||{{{|z{{{|||{||}|{{{z{{{z|{}|||||{||{|{{{{{|||||}z{{{{{{{{||||}}|z{{|{{z|||||||{|}{{|{{{{{|{|{{}||{{{{|{|}|{||||||z{{|||z|||||||||{{{{{{||{{}|{|||{|||{|{{|||||}|{{|{|{{{|{{||{||z|{{z{z|{|||{||}{|{{{{{{||{|z{|{z{|{z{{{{||{|~~~||}~}}}}}~}~}}~}|||}||{|}|{|||}}}{|{|z{{||||}|}}{{||{{{{||{|{{|||{{|z{{{||||{|||{{z{{{z{{{{{|||||{zz|{{|{|{{{z{{{z|z{{{zz{{{{{{{z{{zzzzz{{{{{{|{{|zzzz{{{{||{|||z{{z{z{zz{z{{|{||z{{{{{z{{{|{|{|{{|{{{{zz{|{||||z{{|{z{{{|{{{{|||zzz{{{|{{|{|{{|{{{z{zz{||{}{{||{{{{{{{{|{|||||||||{{z{{{||}|}|||{{{{{{z{{{||||{||{{{{{|{{}{{|||{{|{{{|{}||}|{|||{{z{{{{{|{|||}}{{z||{{{|{|}|{|{{{|{{{{|}||||{|}||}{z||{{|{||||{|{{{|z{{|~||||||}{{{{{||||{}||}{|{{{{{{{|{||}|}}||{{|{|||||}||{}{{{{{{zz||||||}}||z|zzzz|{}|{z|{{|{{|z|z{{|{{}}~}|~}}~~}}}|}}}||||{{||}|}||}||{{{{||{}|||||}}|{||{{z||{{|{{|||{{z{{{{}{|z{{{||{{{|{{{|||{{{{|{{{{z{z{|||{{{{{{z{{{zz{{|{{{|||{z{zz{{zz{{||{{{|z{|{z{{{||{|{||{{{z{zz{z{y|{{|{|z{{{z{z{||{{{{{{{z{{zz{{|{{{{{zz{{|{{z{{|||{|}|{{{{{zz|{||{z|{|{{{z{{z{{||{|}{||{|z{z|z{{|z||||{{||z{{{{{|||||{zz|{{{{{{|{{||}{{{{z{{z{||{}{||{{{|{{{{{{{{||}}{{{{||||{{{{}|{{|}{|~{z{z{{||}|{|{{|z{|{{|}{|}}}~{z|{{|||{||||}}{}{|||{{{{}}}{}}|{{|z|{{{{|||}||||{|{{{}||||{||}|||{}{{{{|{|||||}{{{{{|{{{|{|{||||{{{{{{{{{|}|{{{|{{{zz{{|{||{~}~}}~}|}}|}}~~~||||}}|||{}}{|{}|||||{|{|}||||||}{|{z||{{|{|||{|}|{|{{{|{|{||{}|{{z|z|{{z||||{||{{z{{zz{y{||{{{||{{{zz{z{zz||{{{{{zzz{{zz{|{{|||{{{zzz|zz{{|{|{|{z|{zz{{z{{{{{{|{|z{{z{{y{{|{|z{|z{z|zzz{{{{{|{{|{zz{{|zy|z||{{|{|z{{|z{{{{{||{|||{z|{z{z{||{{{|||{|z{{z{|{|{|{|}{{{zzz{{{|||{||{{{{{{{z{||{{|{|{|{{{{z{{|{||{|{|{{{{|z{{{|||||||{{{z{{|{{|{}{}|||{z{{z|{|||||{|{|z|{|{||||{{{||{|}|{z}{z|||||||||||{{{{{{|||||||||{|||{{||}|||{||z|{|{{{||{||||}{{|{|||{{|||}||}|{|{{|{{z||{||||{{z|z{{{{|{{{{|zz{{{zzz{{|{{|~~}~~~}}}|{}~}~}~}|||{||{||}|}|}}||}|{{||||||||}|||{z{|{{|{|{{||||zzz{{{{||{|{||{zzz{{{{zz{{|{||{{{{z{{z{{{|{{||{{{z{{{z{{{z|{{||zz{{{{{z{||{{{|{z{zzzzzz{z{{{||{|{{zzz{{{|{|z||{|{zz{{{z{z|z|{{}{{{z{z{zz|{{{{|z{z|z{|zzz{{|{{{|z{z{{z{z|{|{|{}|{z|{z{{{z{{|{|||{z{{{z{{{{||{{||{{|{zz{z{{|{{|||{{{{{zz{{{|{{{}|{{z{|{z{|||{z|{||{zzz{|{{||}||{|{{{{|{{|||{{{||{{{{|{zzz||}|{{|{|z|{{{|{{|{{||{|}z|{{||{{|||||||||{{{|{{|||{|||||{{|{{|z|||||||||{{|{|z{|{{|||||}{{|{z||{||}|{||}|{z{{{{{{{|||}}{{{|{{{{{|}||{|{{|{z{{{z|{||{}~}}}}~}}~}~}|}}}}}|||||{{|}|}|}}}||||{||{|{||z|||{{|{|zz{}{{{||||z|{{zz{z{||z{|||zzz{z{{|{|{{{|{{||zzzzz{z{zz{{{{{z|y{zz{{z{|y|{|{{{{{z{z{{{{|{z{|{{z{{y{{|{z|{{{{z|zz{z{{{{|{|||{z{zzzzz{|zz||{}{z{{y{{z{|{{z||{{{z{|{{{{{{|{{}{{{{zz{|{|{||{{|{{{z{zz{{{{{|{{||z{{{zz{z{||{{{||{{{zz{{{{|{|{{{|{{|{{{{{|||{{|}{{{{|zz{z|{{{{||{|{{z{||{|||{||{|{{|zz|{{{{{{|||{|{{{{|{{{||||||||{z{z{|z|||{||}|{z|{{{|{||{|||}||||{|{{{|}{}}|}|{|||{{{z|||||}||{{{{{{{||{{|||{}||||{{{||{{|{|||{z{{|{{{{|{|{|||{{z{{z{{z|z|{||{{{{{zz{{{{{{{~~}}~}}|}~~}|~}}~}{}{}{|z}|}}}|}||{{{|{{{|||{{||||{|{z|{|{|{{|{|{|{{z{z|zz{|{{|||z{{|zz{z{{{{{}{{|zz{{z{{zz{{{|{{{z{{{z{z{{{{|||{{{{z{z{zz{{z{{{{z{{zzzzz{{{z{{{{{{{zzy{z{{|}||{{{{{{z{{{{|z{z{{{{{{{z{{{z|zz{|{||{{{{zz{{{|{|{{|{{yzzz{zz{{{|{|{{{{z|{|z|{{{{||{z{zzz|z||{{{{{||{{{{|z{z{{|{||{{{{{{zz{z|{z{{{||{||{||{{{{{{|{{{{{{{|{{{|{|{||}|z||{|{{{|{{|{||}{{}{{{{zz|{|}||{}z{{||{{}||{|||||{{|zz|{}|{|||||}{|{{||{z}||}{|||{{{|{|}{}||||}|}{|{{{{{{||||{|{{{{||{{{|||{||||{|z{{{|{{}|z{|}{|{||{{|z{|||{{|{{{{{{{{z|{{{{~~~~}}}}}}}}}|~|}{}}|{||||}|||}}|{||{{{{{||{{{||||{z{{{{{|{|{|{||{{{{{{{z|{{|{|||zz{{z|{z{|{|{||{{{|{{{zz{{{z{{{{{{{z{zzy{{{{z{{{z{z{zzzz|{{z{|||{{{zz{z{{|{|{{||{z|zzz{z{{||{|||{{z{{{zzz|{zz|{{{z|{zz{{|{{{{{{{zz|{{{zzz{{|{|{||{zz|{{{{{{|{{{}|{z{z{{|{{{{{|{|{{{{{{z{{|{{||}{{{{{zz{{|{|{{|}|{z{z{z{{{||||{}||{{{{{{z|}{{{|{|{{|{{{{{|{|{{|{|{{{|{z{{{{{}||||||z{{{z|{{||{||||z|z{{{z{{|{}||||{|{{|{|{|{{}}{|{{{{|{z{{|}|||}|{|{}{{z{{}|{|{|||{{||||||||{|{|||||||{z|||||||||||{{{{zz{|{|{|}{{|{{z{zz{||{{{|{{z|{zzz{{|||{~~~}~~~~~}~}~~}~}||||||||}}}|}||~|{{{}|{{||z{}}|{{|{{{{{{}|}{{|{|{zz{zz{z}||{|||{{z{yz{{{{{|{{{{||{{zz{z{{{|{{|{|zzz{z{{zzzzz{||{z{zz{zz{{{{{{z|{z{{{z{y{z{|{{{||{|{zz{z{{{{|{|{{{z{{zzzz{{{{{{{|{{zzzzz{{{{{{|{{{{{zz|zz{|{{{z{z|z{z|zzzz{{{{{{||z|z{z{|{{{{{z|{{{{{{z{z|{{{{{z||{y{{{{zz{||||{|{zz{{{z{||{{|||{{z|{{{{z|{{{{{{z||{zz{{{|||||{}{z{{{{{{{|{{{{|||{{{{{{zz|||{{{|{|z|z{}{{|{}||{|||z{{{{{||{|}||||||z{{{|{{}||||||{{{|{{|{{||{|||||z|{{y{{|||||{|}{{{|{|{{{{}|||}|{{|zz{z|{|{{||{|||{|{{|{{|{{{{|{{z{|z{{{{{{||~}}}~}~~~}~|}~}||{||||{||}{|||}{{{{{{{{{|{|}{||}z{|{||z||{|{||{|{|{{{{z|{|{{||{{z{zz{{z{|{|{{|{{{{z{{{{}{|{{{|}{{{z{{{z{z{{z|||{{z{{{{{z{{{{{|{{{{z{{z{|{|{{|||{{z{z{{{{|||{z{{{{{zz{{zzz{z{{{{{|{z{{zzz{||{{||zz{zz{zz{{}|{{||{zz{|z|z|{{z{||{{{{{zz{{z|{{|{||z{{z{z{y||||||||{{||{{|{{{||{{{{|{{{{{zz|||||||{{||{z{y||{|}{|{||{|{zz{|||||{|{}{{{||{z{|{{|{{|||||{{{{{|||z|||{}{z{{{{{|||{||||{|{{{{|{}|||{}|||{{{{|{{||}{||}}|{{|{||z{||||}|{|{||{z{{{|{||||{{{{{|{|||{|{}||}|||{{{{{{|z|z|{|{{{|{{{{|||}{||{|{{y{{{zz{|{|~~~}}}}~~}|}|||||{|}{|}}}~||z{{{{z||||}|||}{}{z{{{|||||{|||||{z{zz|||}{{{|{z{z{z{z|||z{||{{{{yz{{{{|||{{||{{{{z{zy{{{{|||{zz{{{z{|{{|{{|{{{z{zzzz{{z|{|{{|{{{{yzzzzz{{{{||{{{{{{zyz{{{{{{|{{z{|z{{{|{{{|{{|{|{{zzz{{{{|{{{|{{z{{{{{{|{{{{}{{|{z{z{{{{|{z|{z{{{z{z{||{{||||{||||{{{{{{{{{{|z{|||{{z|||{|||{{{{z{{{||{|{{{|||{{{|{{{|}||{|{}{{{{|{{{z|z|{}|{|{|{{{z{|||||}{||{{|||{|||{||{}}{{{|{||z{{||||||||{{|||z|{}}|||{{{{|{|{{|||||||{|{|{{{||{{|||{||{{{{}{{|{{||||}}{{z{{{{|{||{|||{{{{{{{z{{|{|{||||{|z{{{{{{|{||~~~}}~}~}~~}}}{{{|}||}{|||}|}||{{|{|||||}}|{{}{|{{{||||{{||{{|{zz{{|||{|{||{{{|{{|{z{{|{|{|zz|{{|zz{{|{{{|{{{{z{{z{|{{{||||{{{{{zyyy{|{{{{{{{zz{{z{{|{|{}z{{{{zzz{zz{|||{{{{z{zz{zz{z{{z{{{{{zz|{zzz|{{{|{{|{z{z{{{z|||{{{||zz{{z{z{{|{||{{{{{z{zz{{{{{{{|{{{{{{y{{|{|{|{|{{z|{{{{z|{||{{|{{z{{{{{z{|||{{|{{{{{{{z{{|||{|{{{{|z{{{||{}|||{|{{{{{{{{{|{|{}|||{{{{{{z|||}|||||{|zz{{{}}{|{|||{|{|{|}{{{{|}{{|||{{{{z||}||}||}|{||{zz{{|{|||||{{{{{{|{{|}||{||||{|z{{{{z|||||}{z{{{|{{{|||||||{{||z{{{|}{|z||{{{{zz{z||z||{~~}}~~}~~}~~}|}||}}||}}||||||{{|{|}||}}}{|{{|{{|{{||{||{|{{|y{{zz||{{{}{||{{{{{{z|{|{{{{{|{{{{z{||z|{{{{{z{{zzz{{|{{|{{|{{{{z{zzz{||{|{|{{{{zz|{z{{{{|z|{{|{{{{zz{{|{|{||{z{zz{{z{||{{|||{{{{{{z{||{{{{z{|{{z{{z{|{{{{||||{{{{{{{|{|{|{|}z{|z{zz||{{|{||}z{|{{{z{{|{{|||||{{zz{{{z||}}}{{{{{|{{{|{{|||{||||{|{{z{}{|{{|{{{{{{{{|{|}{}|}|}z{{z||{{|{{||||}|{{|{{{z{||||}}{|z{{|{||||||||{}{{|{{{|{||{||}|||||{{{|||}|||||{|{{{{|{{{}}}||||{{{{|{{|||||{{|}{{|{|{{{|||{||}|{{{{z{{{{|{|}|}|{z{{{{|z|{{{{{||z{{z{{z{{{|||~~~~~~~}~}}}}}|~{||}}{}|~|~|||||{{{||{{}||||{}|{|{{||{{{||{{{{{z{|z}||{{||||z{{{{{y|{zz{|||{{{{{{zz{z}{z{|{|{{z{{{{{{{{{{||{{zz{{zz{{|{{{{{z{{z{{{{{{|{{|{{z{zzz{z{{z{|{{|{zzzzyz{zz{{{{{|{z{zz{{{|{{zz{|{}{y|zz{{{{z{{{{{{{{{z{{|{{{{{{{{|{{|z{yz{{|{{{|||z{|{{{zz|{|{|||{{{{z|{{{{|||{{|{|{{{{{z{{{|{{{}{{{z{{|{{{{|{{{|{||{z{{z{||||||}|z{{||{{{||{||||}{{||{|{{{|||||{||{z{{{{{|||}{{{}|{{{{{||{||{|}}|{{{{{||z{|||}||||{|||{|{{||||||||z|{{{z{||||||||||{{|||{{}{|{||||{{|{|{{|{{{|}}}|{y{z{zz{|{{{||{z{|{z{{z{||{{~~}}~~~}|~}||||{{||||}}}}}|{{|z|z{{|{{}{|||{{|z|zzz{}||{{{{{{{{z{zz||{{z{{|z{{zz{{z{{{{|{|z{z{{{{{z{z{{z{{z{{y{z{z{z|{{z{{|{zzzzzzz{|{z{{|{{{{zzzzz{{{{{{{{{{{z{{zz{{{|z{{{zzz{z{zz{{{{{z{{|{{zzzz{{{z{zzz{{y{{z{{z{|{{{||{{{{z{{{zz|{|{{|{|zz{{z{{{||{||{|yz{{z{zz{{|{|||{{{{{{z|{z|{{{}z{{{|{{z{z{|||{{||{{{{{|zz||{|z||{|{{z{{{z{z||||||{{{zzz|{{{|||{{{{z{|{z{{{||{{|}||{{|z{{z|}{|{||}{{{{{{{||{{{||||||z|{{{{{||}}||{}z{|{{{z}||{{|{{|zz{{{{|{{{||||||{{{{|{||||||||||{{zz{{{|{||{||{{{z{z{{z{|{{{||{{z{{zzz{{{|{{~~~}~}~~~}}~{}}|}|}~||}}}}{{||{{}{}{{||}}||||{|z{{{||{{{{{|{{{zz|y|{{|{|{|{zzzzz{{{|{{z||{{z{z{zzzzy{{{{zz{zz{y{yz{z{{{}|{{z{{zz{z{zz{{|||{zz{z{z{|{{{{{|{z{{{{{{y{||{{{{{{{{y{yzy{z{{{{{{{{{zzyzzz|{|z||{{z{{{{{{{|{{|||{{|{{{z{z|{{|{{||{{{z{{|zz{{|{||{{z|{z{z|{{|}|||{{{{{{zzz{{||||||{{{zzz|zz|||{||{|{{|{z{{{{||||{{|{{{|||z{|{|||{||{{|{{{{{|{{{||}{z{{zzz{{|{|||||{{|{{{{{||{{|}|||{{{|{{{|{||}{|{}{z{{|{{}|{}|}|}|{{|{{{{||{||||||{{{zz{{{||||||}|{{{|{{{|{||{||||{|||{{{{{|{{|{||{{{{{{{{{||{{{||{{z{zz{{{z{{~}~}~~}|||{|{||}|}}}}{{{|{{|{}|{{}||||{|{z{{|{{||{{||{|{z{{{z{|||||{z{{z|{z{{|{{zz|{{{{{{{zzz{{{{{{{{zzzz{z{z{{{{z{{{z{zzzz{y{|{{{{{{{zz{zzzzz{{{|{||{{{zz{yz{|{z{{|{{zz{|zz{{{{{{{{{{zzzz{{z{{{z{||{{{{|{zzz|{{{|{||{{{{{{{{z{|{||{}|{z{z{z{{{{|||{|z|{zzzz{{{{{|{|{{{{{{zz{{|{|||||{|{{{z{z{|||{|||{{{z{z{{|||z{|{}{{|{{{{{{{|{|||{z{z|{{|{}}{|{||}|{|{z|zz{}||{{||{|{{|{{{{|||{|}||{|{|{{{{}{{}{||||{|{{|{||||||{||{{|{{{{{{|||||||{{|{{||{}||}||}{{||{||{||{|||||{||z{{{{{|{||||{|zz{z{{z||{|{|{||{{|{z{z{z{{{}}}~~~~~~}|}||||}~|}|}|}||||{{|{}|||}||||{{{{{zz{||{||||||{zzz|z|z|}||||{z{{{{{{{{{|z||zzz{{{z{z{|z{{|{{{zz{{{z{{{{|{|{|{zzzz|{z{{{z{{{{{|yz{{zz{{{{{{z{{z{zz{zz{{{|z{{{z{|{zy{{z{{zz{{|{{z{{{{zz{z|{{||{y{{{z{{{|{|{|}{{z{{{{{{{{|{{|||{z{{|{{{{{{|{{|{{{|z{{{{||{||{{|{{|z{{{{{{|||{||{{{z{zz{{|{{{|}{{{{zz{{{||{|{}||{z{{{zzz{{||}|||z|||{{|{||{{||}|{{{{{zz{|{|||}|||{{{z{{z{}||{}||{{|{z||{{}{||||{|||{|{{|{}|}|||||{||{{{{{|}||||||z{{{{{{||||{{|}||{|{{{|{||{|||||||{{z{{{|||{|}|{{{|{{z{|}|}{{|||{{|{|{{{{|{{~~~~}}~||||}||}}||~}}}|||||||{||{{}|{{|{{{{|{{|{|{z{{{|z{zzz{{{{||{||{z{z{z{{z{|{{z{{|{{zzz{zz{{{{{|z{{{z{{zzyz|{{|{{{{zz{{z{z{|{{||{{{{{z{{z{z{|{|{|zz{{{z{zzz|{{{{{|{{{yzz{z{{{{{{{{{{{zz{z{zz|{{|z{z{{z|{zz|{|{{||{{{z{z{|{{{{|||{||z{{z{{{{z{{|{|{{z{z{|{{{z|{||{|{{{{{zz{{{z{|}|{{{{{{{{z{{|{{||{|z{{{zzz|{|{{{||{{||{{{||||{||{{|{|{{{{{|{||||||{z{z{{y{{}{|{|{|zzz{{z{z|{{{|}|||{{||{{{|}{{|{||}z{{{|{{{|{{|}|}||z|||||||||||||{{{z{{{{|||{||||||z||{|{{}|||{|||z{{{{{{{||{{{||{|z{{|z{{|{}{||{{y{{{z{{z{{{{~}|~|{}}|}}}||}|}}}|{|{||{{{}|||{}{z{|{z{{{|{{{{{||}||{z{z{|{{{z{|{z{{{z|zy{{{{z{{{{{{{z{{z{{|{{{|{{{{{zzzz{{|{z{{|zzzzzz{z{{{|{{{{{{z{z{z{z{{{|{||z{{{y{z{{{{{{|||{zy{{{z{{{{z{|{{{z{{{{zz{z{z{{{{z{{{|{zzz{||{|{{|z{z{zz|{}{|||{|zz{{z{z{{{{{{{z|{{{{zz{{{|||{|||z{|{z{{z{{{z{||{{z{{z|{z|||{{{{|{{z{z{{z{{|{{{{|{{{z{|{{{|{|||||zz{{|{{|||{|{}}{{{{{|{{z|{|||{||{{|{|z{z{|{||||}{z|{{{{{|||||{||{{|{{||{{|{}||||{{||||{{|{}}|||||{{{{|{|}{|||{|||z{|{{{{|{||{|||{{{{z{{z{|{|{|||{{{{{{zz|{|{||}||{z{|zz{z|{{{~~~}}}|||}}}||}}}}}||{|z{{{||{|}}}{{{{{|{|}z||}|{||{{{{{{{{{{|{|{||{{{{z{{|{{|{{||{{{zzz{{z||{zz{|zz|{zz|zz{{z{|||{{{z{|zzz{{{{{|||z{{{{{{{z{{{|{|{{{z{zz{{z{|||{||{zzz{yz{z{{{{z|{{z|{{{{{{||{{|{|{z{{z{{zzz{{z|||{{z{{{{|{z{|||{|{zz{{{{{z|||{{{|{{{{{{z||||||||||{{z{z{{||||{{|{{{{{{{z{|{||{|{||{{|{{{|{|{{|||{{{z{z{{z||||||||{{z|{{|{{{|{|}}~{{{{{{|{}|}||{|{{{{{{z{{{|||||||{{{|{{{}||{||}}|||{|z|{|||{||||||{{|{zz||||||||||z{{{{{|||{||{||{{{{|{||{|{|||||||{z{{|{{|||||}|{z{{{{|{z|{}{|{{{zzzz{z{}||{{~~}~}}|||||||||}|}}}|{||{{||}{|||||||{|{{{z{|}{{z|||{{|{{|z{{z|{|{||{{{{{{{z{}{{{||{z{{z{{{z{{{yz{z{{{{zzzz{|{{{{{{|{z{z{zzzz|{{{}z{{z{{{{z{{{{{|{{{{{|{zz{z{{{||{{{{z{{{{zz{{|{|{{{z{zz{{|z{|{{{}||{z{{{{z{{{|z{|{{{zz{{z{z{{{{{||{z{z{{|{||{{{{z||{{{{{{zz|{{{{|{|{{{{{{{{{{}||}|{{||{{|{{||||||{{{{{{||zz{||{||||z{{{||{{||{{|{|}{{{{{{|{{|{}{{||zz{{{|{{{||||||{{{||{|z}{|||}||}{|{|{{||||{|{{||~}||{{z{{}{{||}}|{{|{y{{}{}||||{|{|zz{z{{|{{|{|}||{{{{{{|||{{||}{{zz{{z{{{{|{||{|{{{{{{{|||||||||{zz{{{{||{||~~~}||}{|}{{}}}||}|}}|}{||{|{{|||||{|{||{{{|z||}{z}{{{|y{{{z{|{{{|{|{|{{z{zz{{|{{{}{zzz{{zy{zz{z{{{|{{{zz{{{|{{{{|z{{{{zz{{z{{|{{{{|z{zz{{z{z{{z{{}|{{{{zz{z{{{{||{|{zzzz{zzz{{|{|{{{{zzzzyz{z{{{||}{z{{|zzz{{{{{{{{{{zzzzzz{{|{||z|{z{z{z{z{|{{|{|{{{{z{{|z{||{||{|zz{|{zz{{||{||{{||zz{|{{{||{|{}||{z{{z|{{{||{{{{{{{{{{{{|{}|{|||{{|{{|{{||{|{{{}{{{|{{|{|{|{|{||{{|{|zz{||{}}|||{||{{||{|{||||{||{{|z{{z{}{}|{||{{||||{{{|{{|||{{z{{|{||{{|{||}}|{{{{{{{{{{{|||||{{{|z{{{{|}||||{|z{{{{{||{{{{|}|z{|zz{zz{|||}~}~}}}}|{|{}||~}}|}{|||{||{|||}|{|||{|{{||z||{|{|{|{||{{{{z{{|zz{||{{{{z{|z{||{{z|zzz{{{{{z{{|{{{{{z{z{{{z{{{{|{{{{{z{zz|{{|{||{{{{{{zzzzzz{|{{{{|{{{{zzz{{z{||{{|{{{z{zzzz{z{{{{{{{z{zz{{z{{|{{|{|{{z{|{zzz{{{{||{{zz{{zz{{||{{z{|zz{{{y{{{|{{{}|}z{{{{z|z{|{z|{|{{{{z|z|z{||{||||{{z{{{{{{{||{{||{{|{||z{||||{{||{|z{{{z{{{}||{{|z|{{{zz{{|{|||{|||{{{{{z{|}||{|||{{{|{{{}}{|{{}||{{z{{||{|{||||}}{{{{{z|{||}{||||{{{{|{|z|||||||{{{{{{z{{|||||||}{{|{{|{{|||{{}|||{z||{{||||}|}|||{{{z{{{|{|{}|}{{{z{z{{{{||{~~}}|}||}{||}}}}}}|}|{{|{|}{|{~||{{||{{{{z|z|{{z}}{{|zz{{{{{{{|{{|{{{{{{{{{{{z{{{{|{{zz{y{{z{z|{{{{zz{zzzz{{{{{z{{zz{zz{{zzz{|{{{{{z{zz{z{{{{z|z{|{{|yzz{zz|{{|{{|{{{{zzzzz{z{|{|{z{zzz{zzz{{|z{{{zz{z{zy{{{|{{{|||z{z{z{{{||{{{{|{{z{zz{z|{{z{|||{z{zz{{{{{||{{||{{{{{z{{{|{z|}|{{{{z{{zz||{{{{||}{{{{|z{{||{{{{{{|{|{|z{{|||||||{||{|{{||}{|}||||{{{{{zz|{|{}{|{{{|{{{{|{{|}||}}{{|{{{{{{|{|{{|{||{{{{{{{}}{}||~|{{|z{{{{{||||||{{{z{|{{|{||{|}}{{{{||{{||||{|||{z|{z{zz{{{{|{|{|{{{{||z{|{{|{{{zz{zz{{z{{|||~~~~}||}||||}~}}|}}}}||{||{}|||{}}|{|{{{zz{{|{|{||||{{{{{{z||||{|z}{zzz{{{zz{||{{||{z|{{zzz|{|{{{|{{z{z{{{{{{{{{z{{z{{{{{{z|{|{{{{|z{zzyzz|z{|z{|{{{z{{{{z{z|{{{{|{{z{zzz{z{|{|{{{{{{zz{{z{{{|{{|{{{{{{zz{{z|{|{{||{z{{{z{z{||{{|{{|{{{{{{|{{z|||{|zzz{{|z|{{|{{|||{{{{{|{{{||{{}{}{{{{{zz{||}|{||{{zz{{{{{{{{|{{|{{{z{{{{{|||{||{|{{{{{{||{|{}|}|{{|{||{z{{||}|||}{{||||{|{|||}||||{|{{{||||}|}}|{|{{||{{{||{|||}|{{|{|{{|||{||{|~||{{||{|{{||}||||{||||{{|}{}|}||{{{{||{{{|{||{|z{|{{{|{{{||||{|||z{{{{{{{{|{{~~|}}~}|}~}}}||{}{||{{{||{||}{|}{{{{z|z{{|{|}||||{{{{z{z{|{||||{|{z{{zzzz{z{z{{{{{z{{{{zz{{{z{||{z{{zy{{{|{z{{|{|zzzz{z{{{{{|{|{{{{{{z{yzzz|z{|{{|{{{{{z{{z{{{{|{{z{{{z{zz{{{{{{|{{zz{{{{{{{z{|{|{z{{{z{{{{{|||{|||{zz{{zz{||{{|{{z|z{z||{{{{{{{{z|{zz{z|{{{{{{{{{|{{{{{{{|{{||{{{z|{{zzz{||{|{||{{{|{z|z{|||||{{{{{{{{{{{{||}||||{{z|{{||{{{{|||{{{z{{{zz{||{|||||z{|{{|{|||||||{z{{{{|{|||{|||}{||{{{z|{}||{|||{{||{{{{{|{|{|}||z|||{{z||{|{||}||{{|{{|||}||{}||{{{z{{{|}||{{|{{{z{{||{{||{||{{{{{{zz|{|{|{{~~}~~}}|}|}}}~}|}|||{z{||{||{|||||{|{{{{{z||{|{{|{{{{zz{{z|{||{}{|{z|zz{|z{|}z{{{||{z{zzz{{{{{zz{{zz{zz{{{{z{{{{|{{z{zz{{z|{{zz{{{{zzz{{{{{{{{{{{{z{{|y{zz{{{{{{||{zzzzzzz{{{z{{|{z{zzz{{z{|z|{}|{{zz{{{{z{{||}{|||{{{{{z|{{{{{{|{|{{zz{zz|{|||{{{|z{{z{z{}|{{||{|{|{zz{{{z|{{{|{{{{{|{{{{{||{{{|{{{z|{{zz||||{{{|{{{{{{z{|{||{|||{{{{|{{{||{|||||{z{{{|z{|||{||{{|{{{{{{{}|}{||}}{{||{|||||{||||}|{{{{|{||}}|{{|||{||{{z|{||{|||{|{{{|{|{|{||{||}||{{|{{|{||||}|}{||{{{{z||||{{}||{|{{{{z{||||||{{z{z{{{{||{|{~}|}~|{|}}|}~|~}}|{|{||{z{{{{{|}|{z||zzz{{{{z{{{{zz{z{z{z{{{|{||||{{{{zzz{{|{{{}{{{{z{z{z{{|{{|{{z{{zzzzy{{{{{{|{zyz{z{z{{{{zz{{{zz{{zz{z{}{{z{||{z{{z{{{{{|||{{{{z{zzz|{z{zz{{{{{{{z{z{zz{{zz{{{{{z{{|zz{{{{|||{{z{zzz|z|{{{{|||{{{{z{zz{z|{{{|{{{|{zz{{{{{{{||{{|{{{{{z{|{|z||{{{|z{{z{|||{{{|||{{|{zzz{|{|{}|{z{{{z{{|{{{|||||{z{{{z{{|{|{{||{{z{{z{{z{|||{||||{{{zzzz{||{||||{{{{||{||{{{{{||{|{{{{z||||||||||{||z{{{}||{||||{{{{|{z{|||||{||{|{{{{||{|||}||{{|{{{|{{{}{|}||{|{{{{z{|{{{|{{||{{{{{{{{|{|{|~~~~~}}}|~}}|}}}}}|}~{{{{{{|{|{|||{||{{||{{|{{{|}{z||{{{{z{{z{{{{{|{|{{{z{zz{{{|{{||{{{z{zz{z{{|{{{|{zzz{{{zz{{{||{{{{zzz{{y{z{{{z{|{{{{{z{z{z{{z{{|{{z{zzz|z{|{{{z||zzzzzz{zz{z{{{{{{z{zzz|{z|{|{{{z{{zy{|{{{{|{|{||{zzzzzz{{{||{{z{{{{{z{{z{{|z{{||{{z{z{{z{{{{|||{{z{z{{{{|{||{||{{z{zz{z{|{{|{{|{{{zz|{{{{|{||{|||{|z{{{{{||{||{{{{{{{{|z{||{|||{{||{{{{{{||||{||}{z{{z{z|||{{|||z||{{{|{|}{||}}||{{|{{{zz||||||{{{|{{{z||||}|{|{|{{|{{{{z|{{|}|||{z{|{{{||{||{||{||z{{{z{||||}||{{zzz{{z{{||{|{{|{{z{{{zz|{z|~}~~|}}}}}|||}}}|~}}{z{||z{{|}|{||{{z|{{{{{{z}|||{|{z{zzz{{{|{{|{{|{{{zz{{z{||{||{{{|{{{zz{{{{{{|{{{z{y{{zz{{|{{{z{{zz{z{{{{{z{{{}{{zzzzzz{{||{{{{{|||zzzy{z|{{{{{{{z{{{zzyz{{z{z{{{|zyzz{{{||zz{|{||{{{{|z{|{{|{|{{{{{{zzz{{{{{|||{{{z{z{{|{zzz|{|{{z{{{{|{}{|{{{||{{{{zzz{||||{|z|{{{z{{{{{|{z{|{{{z{{{z|{|{{|}|z{z|{{z{z|{{}|{z|{{{{{z|z{|{|||||{{{{{{{y{}|{||}||{z{{||{|||||{||{{||z|{{{|}}||{}|{|{{|{||{{|}||||z{|{|{{|}|{|{{||{z{|{{{}|{{{||}|{{{{z{|||{|{||||z{z{{{||{||||||{|zz|{{z|{{{||||{z{zz{z{|{{{|~~~~~}~}~}}||}}||}}}||{||{|{||||{}}|{{|{{{|{z|{|z|||{{{{zz{{{{{{|{{|{{z{{{zz{|{{{|{{{{{zzzz{z{|{{||{{z{z{z{{{yz{{{{|zzz{{{{z|||z{{{{{z{zyz{z{{|{|{|{zz{z{{zz{{{|||||{{{z{zzzz{{{{|{{{{{zz{zz{zz|{{|{zz{|||{z|{|{|||{{{zz{{{{{||{||{||{|{zz{{{z|{{||}z{{z{{{{{|{{{||{{{{{{{{{{|}||||{{z{{{{z|{|||||}|||{{{{{{{|z{}{{{{|{{{{{{|{{}||{}|z{{{{{z|{{|{||||z{{{{{{|||{{}|||{z{|{{{|}|{||}|{{{{|||{|||||||||{{|}{{{|}||||}}||||{{|||}|||||{}z{|||zz{|}|{||||{{{{|{}|{|{|||||{{z||{{|{|{|||||z{{{|{{{|{}||||{{{{|z{||z{|{~~~}}}}}||||}||}}}|||||{|{}|||{{|{|{{|{{{z{|||}|||{{{z{{zz|||{{{{|z{z{{{|{||{{{{||{{z{{{{z{{|{{{|{{{z{z|zy{|z|z|{||{zzzz|z{{{{|||{{{zyzz{zz|{{|||{zzzz{{zz{|z||{|}zz{zz{z{{{|{z{{{{{{zzzz{|{z{{{{{|{{z{{z{|{{{{|{z|{{z|z{{{||{|{||zz{{{{zz{{||||{{{{{{{{{z{{{{||{||{y|{z{z{{||||{{|{{zz{{{|||{}|{{{{z{zz{{{|{{|||||{{z||z|{|||||{|z|{{{{{{|||||}||{{{{{{{z||||||}{|z{|{z{{|}{|{||||{z{{{|{{|{|{|{|}|{{{||||}||{|||{{|{{{{z{{{{|||||z||{{||{|||||}}||{||{z{||{}|||}{|{z{z{|z}|{||||||{|{z{z{|{{|{|{{{|{{{{z{{||{~~~~~}}}|}|}}}||}|}||{|||||||{{||||}{|{z|{{||||{||}|{{{z{zz|{||||||||{z{{{z{|{||{{|{{{{{zzz{{|z{|z{{zzzz{{z|{{{{|{{{z{zz{z{{{{{{{|{{{{{zzz||{|{|{|{{{{{z{z|z|{{|{{{{{|{zzzz{{{z{z|{|zzzz{zz{{{{{|{zzz{{z{zz{||{|{|}{{z{{{{z{||{{|||{{|{{z{||{{}{||||{|{z{zzz{|||{z|{{{{{{{{||{|{{||{z{{{{{z{|{||}|{|{{|{{{|{|{z|}|{{{{{||{|{|}||{|}{{{{{z{||}|}|||}|{|{z{{{||{|{{|||zz{|{{{||||||}|}||{{{|{|}{||||}|{|{{||{|}||{{}|||||||{||{}}{|||||{{|{{{|}|||{|}||{{{{{||{{}|{}}||{{{||{||{|{||||{{|{||{|{|}{||||z|{y{{{|{|{{}~~~}}}|}|}}{}}}}~|||}{|{{}{|{|}}||||{z{{|}|||{{||{|{{{{{{{|||z{||{{{zz{zz{{z{{{|{|{|{{z{z{{|{{}|{z{{{z{z{{{z{{{|{z|{zz{zzz||z{{{{zz{{z{{|{{}{{|{|{{|{z{{z{{{{{{{{zzz{{yzz{{{{{||{|{{z{zyzz{z{{|{{{{{z{z{y{{{|{{{|{{{{{z{{{{{|{|{|{z{|z{{z{|{|{|{|zz{{|z{{|||{{}||{{{{|{{{z|{{{|||{z|{z{z{|{|{{||{{{|{{|{{|{{{{{||{{{{{{{{||||||}|z|{|{||{{||}}|}|||{{{z{{||||{{|{|{|||{{|||{||||}|{{z}{{{|{|{}}||}{{|{{{|||}}||||}{{||z{{}|}||||{||{|{||{||||}|}|||{||||{||{|||}|{{|z|{y{{{{{}||}|{{{{{{z{|{|{|||{{|z{zz{|{||{~~~~~~}}}}}|||}}|~}}||{{{{{{||||||}|}{{{{{{{{{{|{|||z{zz{{zz|{{{{{{{|{{z{{{{{z{{z|{{zz{{{{z||||{{{{{|zz{z{z{z{{{{{{{|z{z{z{z{{|{||{z{z{{z{y|zz{z|{{{{z{z{{z{{{{|z||{{|z{{z{z{{zz{{{|{{zzzy{{z|{|{|{z{y{|{zyzz{{|{|}|{{{z{z|zz{|||{||{z{{{{{{|{{{{|{}z{{zz{z{{{{{{|||z|{{|z{z||{|{|{|{{{|{{z{{|{{{|{|z{{z{|{{{{{|{{|{|{{z{y{zz||{|{{{{{{{{{{{{|{|||||{{|{z{{z{{{{|||{{{{z{zz{|||||}}|{{||||||{||z|||{|{{{{{z|||||||{}}{||{{|{|||{|{{{{{{{{{||||{{||{{|{z{|z{{{{{|{||{|z{{{{{{|{|{||{|{{z{{{{{{|{{{{{|{{z|z{z{{z|||}~}}}|}||}}}||||~|||{||{{|{{|}|}|{z{|z{z{z{{{{{{{{{{{y{{z{{|{|{z|{{{z{{{{z{{{{{{zz{z{{yzz|z{z{{|{zz{yyy{zz{{{{|{|zz{{{zzz{{{{{z{{{{z{zz{{zz{{{{{{{zzz{zz{z{|{{||{z{{z{z{zz{{{{{{|{{{{zzzzz{|{{{{|z{{{{{z{{z{{|{{{|{{z{z{z{{|{{{||{z|zz{z{y{{||{{|{z{{z{{{|||{{|{|{{{z{z{{{|{{||{{{{{{z|{z{{{{{|||{z{{{{{{{||||||{{{{z{{{{{|||{|z{{{{{{{z{||{|{|{|{{{{{|{z{||}|||{|{{{{{{{{||z|||{{{{{|||z{||{||}|{z|{|{{{|{}||||||{{{{{{{{}|||||{|{{{|{||{{||{||}||{z|{{{{{|{{{||{zzz{{{{z}z}{||||{zz{{{z{z||||||{z{z|zzz{{{{{~}}|}|||||}|}}}}~}|{{{|{{|{{{}||~{|||{{{{{{|||{|{{{{{zz{{{{{|z|{z{{{{{z{{z{{z{{{|{{z{zz{zz{{{{{{|{{zzz{{{{{{{|z{|{zz{{{z{z{{{|{z{{{zzzz{zzzz{{|{{|{z{zz{{z{|{z{{{|{{{zzy{zzz|{{|{{|{|zzz{{z{{{{|{|zz{{zzzz{|{{|{||{{{{zz{{|{{{{{|{{{{z{{{z{{{{{|{|{{|{{z{z{|{|{|{{zz{z{{z{zz||{{|}{{{{z{z{{{}{{{|{|{{zz{{{{||{|{|{{{{{|z{z{{{|||||z{{{{z{{|{{|{{{|{{|{{{{{{{|||{|{|{{{|{{{|}|||||||{|{{{|{|{{|{||||{|{{|z|||{||{{|||{|{{{{{|{}|||{{{{z||{{{|{||||{{{{{{{{}{|||{|{||{{{z{zzz|{||{|||{{{z{zz{{|{{z{{{{|z{{z{{||{{}}~~~~}}}{{||}}|}}}~{{{|{|{{|{{||{{|{||y{{{{|{{{{{||{{zzz{{{|||{{{||{|zzz{zz{|{z{{{|z{{{|{{z|{{{{{{{{z{z{zz|z{{|z{{{{zz{z{zzz{{|{z{z{{{zz{zz{{{|{{{z{{{zyz{z{{{{{{|{zz{z{{{y{{z{{{{z{{z{z{{{{{{{{{{{yz{z{yzzz{z{{|{{{{{{{{{{{{|||{||{y{{{z{{{{{{{||}{z{yz|{{{{}{|{|}||{z{{{{{|{{|}z{z|{{zzzy{|{{{|}{zz{z{z{{{||z|{{{{{{zz{zz{{{|{|||{||{{{{{{{||||{||{{||{zz{{{||{{||{{{|{z{{{|{{}|}{{{{|{|}||{{{||||{{|{{{{{}{}{{||||{{{{{{|}{{|{|||{{z|{|{{{{{|||}{{{{{|{{||||{|||{{zz{{{{{{{}|{||{{z{z{{{{{{{{{||{{{{{{z{|{|{{~~~}}}}{{||{}}}|||}}||||||{|||{||{|{{{{zz|{{|{|}{}{|{zzyzzz{{{|{}{|{{|z{z{{z{z{{|{|{{zzzzzy|{|{{{|z{zy{{{|{{z{{z|zzzz{z{z{{{|{{{{|{{{zzzzz{z||{{{|{{zz{zzy{{{{{{{|}|{z{zz{z{{z{{{{{|{{z|zz{z{{{{{|}{{{z{zzzz{|{{{{|zzzz{{zz{|}{{z}|z{{{zzz{{}{zz{|}|z{{z{zz{{{{{{{{|z{zz{|{{{{|{|{{{zz{|{{{{||{||||{z{|z{z{{||z{|{{{z{z{{z{|||||{|||{{{{{{z|||||||}{z{{z{{{{{|{|||||{{z{{{{{|}{|}|}|{||z|{|{|{|{|}||{||{||{{|}|{||||z{{{{|{|{}|||||{||{{z{|z|{{}{{||||{{{{{{}|{|||{{{{z{{z{{|{|{|}{z{{zz{{z{||{||||{{zz{z{{{z{{|~~}}|}}}|{|}|}|~|}}}{{|||{{{||||||}|{{{z{{{{|{|{{{||{}z{z{{{{{|{|||{|{zz{{z|{|z{}|{{{{{{{zz{{{z{||{{{{zzy{{{{{|z{{{z{zz|zzz{{{{{{{{{{zzz{{zz{|z|||{|z|{z{|z{|{{{{|{z{z{{{zz{{|{z|{|{{zz{z{{z{|{|{{|{{{{|{zy{{{|{{|{{z|z{z{z|||{{{|{|z{z{{{z{{{{z|{|{{|{zz{z{{{{{|||{|{z{{{{{|{||||||{{{{zzz|||||{|}{{{{{zzz|{{{||||||{{{{{{{|{|||}|{|{{{||z{{|{{||}{{{}{{{|{||{|{||{{{{{{{{{|}{||||{{{{|{|||||{|}}}|{{{|{{{|}}||{}||z{{{{{||||{{{|||{{{{|{{{}{|}|||}{{||{|||}{||||{|{{{{{{{|{|||}|{{{{|{{{{{||||||||{{zz{{{|{|||~}~~}}}}||||~}}|~||||{||||z{{|{{||}|{z{{{z{z{}}|{{{||{{zz{{z|{||{{{{zz{{zzz{z||z{{|{|{{||{zz{{|z{{|{{z{zzz{{{{{|zz{{|zz{{{{{z{{z{|{{|{zzyzzz{{{{}{||{|{{z{z{{{{{{z|{{z{{{z{{z{{{{zz{{{zz{z{{{{{{{{{{{z{{||{z{z{|||||{y{{{z{{{|{{{{|{z{{{zz{{{{{|{}||z{{{z{z{z||{|{}{{{|{{{{{{|{|z{{|{{{||{{{|{||||{}|z{|{{{{{{{{{|||{{|{{|{z||{{||||{{{{{{{{|||||{||{{{{{{|{|{{||||||{{{{{{{|}|||{}{|{{|{{{{{{{|||||}|z|z|{{|}|}||}|{{{{{{z{|}{|||||{z|{{{|||{|}|||||{{{{{|{{|{||}|||{|{{z|{|{|{{}{||{{{{|{{{{{||||{{{|zzz{{{||{{~~~}~~}||~||||~|}}}}}||||{}}z||||||z|{{|{{z{{{{||z{|||{{z{{{y}{{|z{{|{zyz{{{z{|zz{{|{{{{{zzz{{{{z{{|{{z{{zzzzz{z|{||{{zzzzz{{{{{z{||{{zzzz{z{{{{z{{{{{z{{{{yz{{{{|{{{{zz{{{zz{{|z{|{{{{z{{z{{{{{{{}{{zzz{{{{{y{{{z{|{z{|{{zz{z{{{z|{{zzz{{{{{{{||z|{{{z{{y{{{{{z|{|}|{{{zzz{z{{|{{||{{{{{{|{{{{|{{{||{{{zzzz{{}|{||{|{{{{{{z{{{||||||z{{z{{|{||{|||{|{{z|{{{|{{{{||||{z|{{{{{{||||{|{{z{z|{{{{||||{||}{{{|{{{|}||}||}|z{{z{{||}{|}}|{|{{{|{{||{{|||||{{{{{{|{|{{|||||{{{z{{{z|{|{|{|{zzzz{z{z{|{|z||||{{{|z|y{||{{~~~}}}}|}}|{}|{}}}|||{z||{{|{|||||||z{{{{z{{{||{||||{|z{{zz|{||{||{{{{{zzy{{|{{{{{{{{zz{{||{{|z{{{|{{zz{zz{{{{|{{{|{z{yzzz|z|{{|{||{{{zz|z{|z{z|{|{{{{z{|zz{|{|z{||{{{z|z{zz{|{{{{|{{|zz{zzz{z|{{{{{{{zz{{{{{{{{z|{{{{{{{{{{|||{|||{{{{{{{{{{{{{|||z{z{{{{|{{|{{|}|{{{{zz|{{|}{{{|{{{z{{zzz||{|||{|{{zzz{z{{{{|{|{{{{{|{{z{|{||||{|{{|{{{{{|{|{||||{{|{|{|{|{|||||{{{{{||{{|}|{}|||{{||{{|{{|{}{||||||{{{{|{||{||}|{|{{|{{{||||}|||z|{||{{{||}|||}}{{|||||{|||||||}|{{{|{{{{|||||||{{{|{z|{{||{{{{|||{z{{|z{{{{{~~}}|}|}||}~}}|}}|{|{{}||{||||}|}||{||{|{{z|||{{}||{{z{z{{|{||||||{{{z{{|z{{{{{||{||{{{z{z{{||||{{|z|{{{z{z{{{{{{|{{zz{z{{|{|||{|z{{{z{zz{{|{||{{|{z{{zz{zz{{||{|{{zz{{z{z{||z{{{{{z|{{z{{z{||{{{|{{{z|zz{z|{{|{|{{|zz{{{z{|{|{{|}{{zz{{{{{{{||||||z{{{z|{|{|{||||{|{{{{|z{|||||{|{{|{{z{z||||{||||{{|{||{{||{{||{{{{{{{||{{|}||||{z||{{|{|||||}|||{||{{{{z}|||||{|{{{{{|{|}|||}}}{{{{{{{{|||||{||||||{|{{{}|}|}|}{{|{|{|||||}||}}}{||{|{{}|{{}}{}||{|||{|{|{|||}|{{|{||{{|}|{||{||{{{{{{|||||{||}{{||zz{z||||{~}~|}}|||}|}||}}~||{z|||{}{{{|{|||zz{{{{{{{{|{||{{|{{{z{{||{{||{{{{{zzz{{{||{{||{{z{z{{zz{{|{{{{{{{zzzzzz{|z|z{zz{z{zzz{{{{{{{}{|{z{{z{{{{z{z|z{{{{{zz{{zz{|{||||{z{zz{{{zz|z{||{{|z{{y{z{{{{z{{{{{{{z{{zz{{||{{|{zz{{zz{{||{{{z{{{{zzzz{{|{z{||{{{|z{{{{z{{{|{{|z{|z|{{{{||||||||{z{z{{{{{{|{||z{{{|{zz|{{{{|||{{|{{{{z|{||||{||{|{{z{{{{{{{|||||{|{{zzzz{{{|||||{{{{|{{{|{|||||{{|{{|{{{|{{|||||{|{{||{{||||||}{|{|||{{||}||{|{|{{|{z{{{{{||}||{{{{||z{||||}|{}{{{z{z{|||{{||}|{|z{{{{{{z||{|||{{{{zzz{{{|{|~~~|}||||}||}}|~|}||{|||{{{|{{||||{{{{|{{{{{||{{{|||{{z{{z{{{{{}{}{{z{z{{zz|{zz||{{z{{{zz{{{{{z|{{{z{{zzzzz{{|{{{|zz{{{{zz{|{{{|||{{z{{zz{z{{{{|{|{{{{z{|z{z|{{{{|{{z{{{zz{{|{z|{|{|{{{{{zz{{{{{zz{{{{{{zz{{{{z{||{{|{{{{{|}{|{}{|{{z{{z{|{{{|{{{{{{{z{{{{{{||{{|{{z{z|{{{{{{{|}|{{{{z{{{{|{|||{}}|z{z|{z{||{|||{{{{|{|{{{|||}{|{{{|{{{{{z{|||}{}{|{{{|{{z{{}{{||{{zz|{z|{|}|{||||{{|{{{{{{|{|{|||}{|{{{{{{|||||||{{{z{{{{{|||||{||{{{{|{z{|}||{|}{{{{{{{||}{||{|||{{{{zz{|||||||{{|{{{{|{{{|{|{|z{z{z{z{{{|||{~~~~|~}}||{||}}}|}}|}||{|{z{{|||||}|{{{|{||z|{|}{|{}{{{{{{z{{z{|{{|{{z{z{z{y{{{{{z||{z{{zzyz{{|{{{|{z{z{z{zz{{{|z{||zz|z{{{y{|{|{||{{{{{z{{{{{{{|{|{{z{z{z{y{{{{{{|{z{{zzz{z{{z{z{{||{z{yz{z{{z{{{{{|z{{{{z{{{{{{{{|{z{zz{z{{||{|||{z{{{zzz{{|{{{|||{{{{zzz{{|{{|{|||{{z{{{z{{{|{||{|{{{{{{{|z{||{|{|{z{{{{{{{|{z{{|{{{{{{{||{|||||||{{{{{z{|||}||||{{z{|z{z|{|{{|}||{{z{{{{{|{|{||}{{|{z{|{{||{||||}||{{z{{{|||}|||}{{{{{{{}|{{|{|||{{|{z{{{|||||}|{{{||{{|{|{|{|||||{{{|{{{|||{{}{|{{{{{{{{{|||{|{{{{z|z{{{{||{~~~}~~~|}{~||||}}|~}}{{{|{{{{}{{{|||||{zz{z{{{|{|{{||{{{{z{{{{||{{|{{{{{zz{{zz{z|{|||{y{{{zzz|{{|||{{{z{{{{{{|{{z{{{|z{{zz{|z{{|{{{{{{{{{z{{{{|{{{|{{{{|{z{{{{{||||z{{{zz{z{{{z{{z{z|{{z{zyz{z|{{{|{{zz{zz{{z{{|{{||{{|{{{z{{z{||{{{zzz{{{{{{|{{||{{|{z{zzz{{|{||{||||{{|{zz{{|{{z||{{z{{{{{z{{|{|{|{|{{z{{{|{{{{{||}{{{{|z{z{|}}|||{z||{{z{{{||||||}|zz|{{{||{}|}|}|{z{{{z{|||{{||||{|{zz}||{||{|}|}|{z{z|{||||||}||{{|{{|{{}|}{|||{|z{|{{{{|{{{||||}{{{{|{{|{{|~|||{{{{{{{{{|{|{{}|{{z|{{z{z{||{|~|{{{z{{{{||||{~~~~~~}|~||||}}}}}~|}}{|{{{|z{||}{|}||||{|z{{{{{{|{{|||{{{{{{{{{{{{{{|{z|z{{{{|}|{|{|{{{{{{zy{|{{|{{zz{z|{zzz{{z|{{{{|z{zzzzzzz|{}{{{{{{z|{{z{{|{z{|{{{{{z{{z{{{{|{{|{|z{|{z{zz{|z{|{|{{{zz{{zz{{|z||{{{{z{{zzz||{{{z{{{{{{{{||}{{{z{{||{{{z{{{{|{|{}|z{{{zzz{{||{||}|||{{|zz{{|z||||{|{{z{{z{||{{|{}{|{z{{{{{|}||||||{{{{z|{{||{||||{{{||{{{{|||{|{||{{{|{{zz|}}{|||{|z{|z||{}{|{{|}||z{{{{|{{||||||}}{|{{{{z{}||{}|{{{|{{{{{||||{|}||{z|{||{||{{{{}|||{|||{|||{||||}{||{{||{{||||{|}{|{{{|zz{|{}{|||{{{y|{|z|{{|{~~~~~}|}}||||}}||}}||}{}{{{|{}{{|{|}|{{{|z{zz|{||{{{|{|{{zz{{}|{|{{{|{{{{z|{z||{{|{{{{{{z{{{z{{{z{{{{{{{zz{{{z{{{z{||zz{z{y{z{{{z{||{|{zzz{z{zz{{|{{||{{{z{{z{{{{{{}{{z{z{z{zz{{{{||{{{zz|z{z{{{{|{{|zy{{{{z{{|||{}|}{|{|{z{|z{|{{{|{{z{{zz{z{{{|{|{|{{{{{{z{{|z||{||{{|z{z{zz|z|{||{|{{{z{{{|}{{||||{{{|{{z{|{{{{|{||{{|{{{{{|{|{{||z|{{{|{{||{|||||{{|z{{{z{||{{{}||zzzz{{{||{z||||||||{{{{||{|||||}z|{||{|{||||~}{}{|{|||{{|}{||{{{{{{{|{{z||{|}}||{|{|{z{|{{|||{|z|{z|{{|{|z{|||}|{{{{{{{||{|{{z|{zz{z{{z{|{|{~~~~}~~~||}}|}}|~{}|}|}}|{|||z||{|{||||{{{{{z{|||{{{{}}|{|{{{{z|{||||||{z{{z{zz{|}z{{||{{{zzz{{{{|z{z{|{{{{{{{z{z||{{|{{z{{{z{yz{{{{z{{z{zzyzz{{{|||{}|{{{{z{|z|||{{{}{|{{{zz{z{}{{{{}{{zzz{{{{{{{z{{|||{{y{|{{|{||z{|{{{zzz{{z{z|{||}||{{zyz{{{{{{|}{|{{|{{|{{{{{|{|{|{{{{{z{zz{|z{}{|z{{{{{{|{||||||{{{{z{z{{{|{|{|{{{|{{{{||{|{{|}{{|{{{{{{{|}{|{}|}||{|{{zz{}|{|||{|y{{|{{{|||{{|}|{{{|{{|{|{|||}|}|{{{{|{|{||||}}}||{|{{||||||||}||z|{{{z{||{{||}}|{{|{z{{|{{|{|||{|{z{|{{}|||{||||{{|{{{{||||{{|{{||{zz{{{{|{{}}~~}}}}}}||{}}}|~}|}{|z{{{{{||}|}|}||z|{{|{{|{|{{{|{{|{zz{{{|{||{{||{{{{{{|zz{{|{{{|z{{{{{z{{||{z{{{{{zzz|z{{{{{{||}|zz|{zzz{{|{{{|{{{{zz{zz{z|{{}{{{{|z{z{{{{{{{|}|{z{{z{{zz{{{{|{|z{{{{zzz{|{{{|||z{zz{z{{{|{{}}|{|{{{{|{{{|{||||}{{{{zzz{{|{|{{||{{{z{{{z{||||{||{z{{{{{{{{||{{{|{{|{{{{{||||{|{|{{{|{{|{||{||}{|{}|||{|||||||}}}{z|zz{{z{||}{}||||||{|{|||}|||}||{|{||{|||}}{|}||{{{{||||}||||||}|{{{z|{|}||||}}|{{{{{{{{||}||||{|{|{{||||||||}||{|{|{{z|{|}||||||{z{{|{||{{||}|||{{|{{{|||}||{||{{z{{zz{{|||~~~}}~~~~}}}~}||||||||}|}}}|||{|||{{{|{|{}||z|{zz{{{{||{{|z{z{{zzzz|{}{{{||zz|{{{{{{{|{{{z{{z{z{z{{{{{{{{{z{zz{{zz{{z{{{{{|z{z{{{{z{|{{{|{{{{{{{zzz{{{{|{|{z{{z{z{z{{{{{{{{z{{|z{z|z{|{z{|zz{{{z{{{z|{z{{|{{{{z{|zzz{{{{{||zzz{|zz{{|||||{{{{{z{z|{|{|z{{{z{z{z{z{{{|{{{|}{{zz|zzz{{{{{||{{z{z{zz{{{{}{{{{{{{{z{z{{{|{|{|{|{|{{{{|{|||||{||{{{{|{|z{|||||}}{{|{{{{z||{{{}||{z{{{{{z|{|{||}|{|{z{{{{{z|||||}|{|{{{||||{}}|||{{{||{{{|||||{{|||{|{{{{|{{{{||{|{{{|z|{|||||||||{|||{zz{|||z|}|{{z|zz{z{|{|||||{{{z{{{{{{{{{~}~~~~}~~}~~}|~||||{|}|||}|||||{{|z{||{|{|{|}z{{z{zz{{{z{|{{|{z{z{zz{|{|||{|{z{{{{zz||z{z||{{{{{{{z{z{{{|{z|{z{zz{{z|z{|{|{||z{{{y{z{{{{{{|z{z{z{{yz{{|{|z|{{z{zzzzz{|z{}z{{{zzzzzzy{{{{{{{|{{zzz{{zz|{y{||z{{{|{{zzz{{|{{{|{z{{|{{z{{|{{{|}{{{z{z|{|{|{{|{|{z{{{{z{z{{{{{|||{{{{z{{{|{{{|{{{zzz{zz{|{|{|||{{{|{z{z{||{|||{{{{{{{{{{||{|||{|{|{{{|{{|||}{|||{{{{{{{z{||||||||z|{|z|{{|||||}|{{|{{||z}|{|||{}{{{z{{|{|}|||}}|}{||{{{z{|||||||{z{{{{{{||||}{|||{{}|{|{|}||||}}|{{{{|{{{{|}|||||{{{zz{{{|||{|{{{{|{z|{{|{}||~~~}}~}~~~~{~|}|}{|||}}||}}|{{{{{|z|{{|||{||z||{{{||{{{{|}{z{{zz{{zz{{|{}{}{z{z{{zz{{z|z{|{|{z{|{zz{{|z{|{{{{z{{z{zz{{{zz{{z{|{z{z{|z{z{{|{yz{z{z|{{{{{|||{}{zz{{z{{{|{{|||{{{z|z{zz{{z{{{|{{zzz{zyzz{|{{|{zz{z{{zz{{{{|{{|z{{{{z{|||{{||{}z{z{zz{||{{{z|{{{z{{z{{|{|{|{{{{|{{{{z|{{{|z|||{|z{z{z{{{|||{{}z{{{{{z{{{|{{|{|{|{{|{{|{}|}||}|||{{|{{{{||{}|||}{z{{|{{{{{|||}{||{||{{zz||||||||{{z{{|{z{}{||||||{{|{{{{{}{|{|||{{|||{{{||||}|||}{{{|{{}|{||||||{{{{|{z||{{}}||||{{{{{|z|||{{|{|||{{|{|{{{|{|{|||{{{{{{{|{}|{}~}~~}~~~}}~}~}}}|}|{||||}}}|}|{|{||{{||{|||}{{{{{{z|{||{|{{{{{{zzz{{zz{{{{{||{{{{z{zz{{{z{{{|{zzz{z{z{{|{||{{zzz{z{{{{{z{{{{{{{y{yzzz{{{{{{{{{z{{z{z{{{{{z|{|{z{{{z{{{{{{z{{|{{z{zz{{{|{{{{z{|{{zz{z{{|z|{||{{zz{{z{z{{{|{z|{|z{z{z{{{|{{{|||{z{zz{{{|{zz{|{{{zz{zzzz|{{|||||{{{{{z{z{||{|||{{z{z{z{{{|{|{{||}zz{{z{{{{||{{||{z{{|{z{|||}{||{z{{{z{{{|{{{||}||{{{||zz}||||}}||z{{|{{{|{||{}|{{|{z{{{{||{||{||{{z{||{{{}|||||}{{{{{z{{{|||||}||{{{|{{|{{{{|||}|{{{{|{{||||{{}||||{z||{{|{||||||{|{z{|z{|||||||{{{zzzz{|{{||~|~~}}||~|}~~}~|||||{||}}}}{||||||{||{z|||||{|}|||{{{{{|||}{{|{{{{{z{zz{{{|{|||{{{{{z{z{{||{|||z{{z{{zz{{{{{{{{|zz{zzz{{{{|{{||{{{{{{{z{z{zz|}|{z{{|zzz{{{{{|{{{{{z{|y{{zz|{{||{zy{zzz{||z{{{{{{{z{z{{z{{{{{|{|{{{{{zzz{{{z{|||{z{{zz{|{||{|{{|{y{{yz|{{{{z{|||z{{{{z{z{|{{{{|{|zz|{z{z{{|||{||z{z{{{{{||}|{|}{|zz{{z{{{{{{{|{{{{{{|{z{|{{|{|||{{|{{{|z}|{|{|}|{{z{{z{{z|{{|||{{{{{{{||{||{||||{|zz|{||||{}|{|||{{|z{{{{}|||||}|{|{z{z{||}|}||}|{{{|{{{{|}||}|||{{|{{{{{{||||}||zz{{{{{{{{z{|||||{{zz{z||||{|}|{{|{{{{z{{{{{~~~~}~}}~}}~}|}}z{z|}}||}}|}|||{|{{{}}||||||{{{{{zzz{{|||||{|{{{z{{{||{|{||{z{{zz{z{zz{z{{{{|{{{z{z{{|z{{{|{{{{zzzz{{|{{z{{|{zz{zz{z|||{{{{{{z{{z|{{|{|{|||{zz{{{z{z{{{z{{{||{{{zzzzz{{z{{{{{{{yzy{{{|{z{{{|{zz|{{zyz|{{|{{{{{z{|zzz{{{{{{{{{zz{{z{z|||{{|{{{z{zzzzzz{|{{{{{{{{z{z|z{{{|{||{{{{{z{{{{{||{{||{zz|{{{|}|||{|{|{{z|{{|{|||{|||}{z{{{{|{|{||{|{}{{z{{|{{{|||{{}||{{{|{{{|||||||||{|{{{{{|{||||}{|{|{{|{|{||{|||||{|{{z|{{||{||||}|z{{y{{|{{|{||||z{{|{z{{{{{||{}{z{{|{|{||}{{|}|{|{{{{{{{||||{|{|||{{{{{{||{|~~~}}|}~~}}}~~}|{{|{{{}{|}||}||{|||{|||||}}}|{{{{|z{|z{{||{{||{|{{{{{{z{|{{{{{{||{zzzz{{|zz{||{z|{z{{{{{{zz{{{zzzzz{zz{{{|{{{|{zzzz{zz||||{{z{{y{{z{y|{z{{{|{{z{zzz{{z{{{{|{{{zz{{{{{zz||z{{{|zz{{{zzzz{{{{{z{{{z{zzzy{{{{{{|{{{z{{z{{{|{{|{{{|{|zzz{{|z{{||{|zz{{z{{{z||z{{||{{|{{z{z{}{{{||{|{{z{{z{{|{||{{{{{|{{z{{||{{|{|}|{|{{z{{|{{}{}{|z|{{|{|{{{{{|}|{{{{{{|{{|{}{{{{{|{{{|{|{|}|||{}{{{{{{|{{{|z|||||||{{{||zz|}|{|||}{||zz||||}{{{|{}z{{{{{{{|z{||}|}{{{{z|{|||}||{||{{{{z{{||||||{||{z{z{z{{{{}|||{{{{|{{{z{|{{{~~}~~}~}~~}}~~}}}|}{{|}}}}}}~|||||}||{|||{|||{|{|{{{{||{{|{}{||{|{zz|{{||{z|z|{{zzzz{{{{{{z{{{{{{{zz{{{||{{{{z{z{z|{z{{z{|{{|{{z{{zzz{z||{{|{|{|z{z{zz{{z{|{{{z{|{y|{{{{{{{{{{z{z{|||z{{z{|{{{{{z{z{{z{{{|{||{|z{{{{zz{{|{|{|z|{{z{{{{{{z{|{{{{{}|{zz{|{||{|{|{{{{zzzz||{|{||{{{{{{{zz|{{|{||{{z{{zz{z{||||{|{{{{|z{{{{|||{||{|{{{{{{{{|||||||{|{{{|{z{{||||||||z{{{{z{|||||||{{{zz{{|{|{{||}|{{|z||{{|}z||}}|{{{{{|{{{||||||{{{{{{{z{||{|{|{{|z{{|{|{{||{||}||{{||{{{||{|{||||{||{{{{{{}{||{||{{{{{|{}{{}{{|{{{{{{{zz||{{|~~}~}|}~}}~}~}}||{|{|{||}|}||}{{{{{{{|}||||||||z{{zz{z|{{{{{{{{{{zz{{z||||{{{|{{zzz{{z{{{{{{{{{{{{{zz{{|}{{{|{z{{zz{z{{{{|{{z|{zz{{{{y{{|{{z{z|{{{{zzz{|{{||||{{|{z{{z|z{{z{{{{zz{zzzz|{z{{{z|z{zzz{{z{|zz{{{|{zz{|zz{{{{|{{{{{{z{{{{z{{|{{{{|{zzzzz{z||{{{{||z||z{{zz{{{{{||{{|{{{z|z{||{{{|{{z{z{{{z||{{{|}{{z{{zz{{{||{{||||{{{z{{{{||||||{zz{{{{{{||||}{|}{{{|zzz{||{|{}||{{z{{{{{||{{{||||||{|{{|{|{{{||}|{{|{|{z{}|{|}z||{{{{{{{{|{{{}{||z{{|{{|{|}||||{|z||{|z{|{||||||{||{{|{{z|{}{{||{{z{{zzz{||{{|}{{z{{|z{z|z|{{~~}}|}~}~~}~}~}~|}|}||{|}|||||}||{{{{{{{{{{||}|{zz{{{z||{|{{{||{{{{{{{z{{{{{|z{{z{zzz{z{|{{{{{{{{{zzz{y{||{z{|{{zyz{{{z{|{{z{||{{zzz{{zz{{{|{{{{{{zzz{{z|||{{||z{{{z{{{{|{{z{|{{{z{z{|zz{{{y|||zzzz{zzzz{{z{z{{{z{y{z{||{{{{{|{|zzz|zz{{|{{|{{}{z|z{zzzz{|{{|{{{{{{{z{{{{|{{{{|{z|{{z{{{{{{||{{{{{zz{z{{||{{{||{{{{{z{{z{{z{{{{z{{z{z{{{||{|||}z{z{{{{{||{{|||||{z{{{z{{{|||{|{|z{|{zz{|||{|{||{{{{{|||{{|{}||}||{{|{{{|}||}||||{{{{{|||}}||||||{z{{|{{|||||||{{||{|{{{z{{||{{|z{{{{{zz{{{{|{||{|{{zzzz{|||{|{||{{z{{z{{||{{~~~~}|}|}}~}}}}~||||{{{|||||}|}}||{{||{{{}|{|}||{z{{{{{y|{{||||{{|z{z{{z|{|}{|{|{z{yz{{{|{||{|||{|{zz{zz|{|{|{{z{zzyz{z{|{{{{{|||{{{z{{z{{|{{|{|zz{|zzz{{{{|}|{{{{{z{{zzz|z{|}||{{{{{{{zzz{{z{{{{{z{|{{{{{|{{|||{||z{z|{{{|||{||{zz{{z{{{{z||{||{zz{{{{{{{|{{|||z{{{{z{{{|||{||{{{zz{{|{||}|{|||{{zz{{z{{{|{{{|{{{{{{|{|||{|{||{|{|{{{|{||}||||{{{{}{{|z}}{}||||{{z|{{|{||||{|||{{{{|zz||}{}|}}}|z{{{|{||||{{|{||{|{||{|{}||}||||{z|{|z{||}|||||{{{{{{{{{{|||||{{{{{{|{{|{|{{||}|{{z{{{{|||{||||||{{{{|z{|{|{|}{{|{{{z{{}|{|}}~~}~~}}}{}~}~~}~~}}|{~zzz|||}||||}|||{z{{|||}|{||{{{|{{{{{|||{||{{{{y{z{z||{{{|{}{z|z{{{z{{zz{}|{{{{{{zz{{{|{z|{||z{zz{zz{z{{{||{{{{{{z{z{{|{{|{{{z{{zz{{||{|||{{{{{{zz{z{{{{|{|{{z{{{z{{z|zz{{{{z{{zz|{z{zz{|{{{z{|{{{{|||{{||{{zz{{{zz|{z|{||{}{{{z{zzz{|{{{|{|{z{{z{{{{||||||{{{|{{{zz{{{|z|{|{{{zz{{{|{||{{|{z{z{{{z|{{|z|||||{{|zz|z|||{||}{{{{{{{|{|{{||{||{{||zz{{{|}{|{|{|{|{|{|||{}{|{|}|z{{{{{|{|{{}||||{|{{{|{{}|||}}||z{|{{{|}|||||||||{{|{{|{{{||}|}|{{{||{||||||||||{{z{{{|{|||{|}||{{||{|{||{{{{||{{|z{z|{|{{{{~~}}}}}|}}}}}}}}}|{{|||{|}|{|||||{{{{{{{{||{||{|{{z{{z{{{|||{{|{{{|zzzz{z{|{{{{}|{zz{{{z{{|{z|{|{z{z{zzz{{{{{|{|z{{z|{z{|z{{{{{{{{{{{{{zz||{{{{{zz{{zzzz{z|{{z{{|{{{zzzzz{{{|{{|{z{{zz{z{{{z{||{{z{zz{zzzz|{{|{{zz{z{{{{z{{{{{|{{z{z{{zz{|{{{{{{{z{{{y{z{{{{{{{|zz{z{z{{{{{{|{||z{|{{{{{z{}{|}{{{z{{{{zz||{{{||{{zz{{z{{z{{{{|||{|||{{{{||{|||{{{|{}{{|{{{{|{|||{{{{{{{{{||{{{{|{{z{{z{{{|||||||{|{{{|{{||{|||||{{|{z|{{z{{{|}}}{|{{{z{z||{}|||}||{z{{{{{{{{|||{|{{{{{z{{{{||||{|{|z{|{{|{||{{|||{zz{zz{{|{|{{|{{z{z{zz{{{|||}~~}}||~|}|}}|}}}}}|{{||{||}||{{|{|}|{{{{{z{{{{{|||{{{|{zz{{z{|{{{|{{z{{z{y||||z|{|{{{zzz|{{{{{|{|{{{z{zzzz{{{z{{{{{{zz{{zzzz|zz{{{zzzzzz{zyz{{{{|{{{z{{{zz{{{{|{{{{{{zzzz{{z{z{{{z|{zzzz{y{{{{z||{{z{y{{zy{|zz{{|{z{{{{zzz{{{{|{|{{z{zzz{z{{{{{{}{{{zzzz{|{{{z|||{{{{{{{zz{{{{{z|{|{{{|z{{{z|||{{|{{z{{z{z||{{{{{{z{zz{zz{{||{{{|{{z{{zz|{|{{|{{|{{|{{{{{{{|{|{|}|z{{|{{|{{{|{|{||{z|{{z{y|}|{{|{{{{z{z{{{{{{|{|{}|{{{z|{{{|||{{}||z|{{z{{|||{{||}|z{{{{{{{|{{|||||{|{|{{|}|{|}||{z{{z{{{z{{{{{|{||zzzzz{z{{||{||{{{|{{z{{{|{{|~}}~~}}|}||}}~}}}|}|{|{}||}||||}|}||{{{{{z}{|{{}||{z{|{{zz{|{{{||{{{z{{{z{{||{{|||{{{{{{zz{{zz{||z{z{{{zz{{{{{zz{{{zzz{{zz{{{{zz{|zzzzzy{{{|{{{{{{z{{{zzz{zz|{z{{|{z{zzzzz{z{|{{{{|{z{{{{z{{{{{|{{{zzzzzzyz{{{{{{|z{{{{zzzz{{|{|{|{{zz{zzz{{{{{{{|z{zzzzz{|{{{|{{|z|{{yz{{{|{||{{|{{{z{zyzz{{{{||{{z{{{{z{{|{{{|||{{{{{{{{{|||{|{||{z{{z{{{{||{|||{{{{|{{{{{{|{||{{||{z|zz{|||||{||{{{{{|{|{||||}|{{|{{|||{z{|||}}|{{{z{{|z||{||~||{|||{{z|{|{|{||||{{{|{|{|||||||{{{{|{z||{{{{|||{{|{z{{{|{|{|||{||{{{z{z{{{|{|}z{{{z{{{{{{z{{~~~}}|~}|}|}||~}||}|||{z||{|}{}|||}|||||{|{|{|{|{||{{|{|zzz{|{}|{{{{{{{{{zzz|{{{{{{{z{yz{{zz{|z|{{{z{{zz{{z{{{{z{{{zz{zzz{{{{z|||{|{z{{zzzyz{|{|{|{{zzz{z{{{z{z{|{{{{z{z{{{{|||{{{|{{{{zz{z{{{{{{{|{{{z{{{z{{z{{|||{z{z{{zz{{|{|{}|{{{z{{|{{z|z{{{|zz{z{z{{{{{{z{||z{{z{z{{{z||{|{|{{{z{yz{{{|}{{}|{{{z{{z{|||||z||zz{{{zz{|{{{{{{||{{{||{|{{||{|||z{{{{{{{|||||||||{{z{z|z{|||}||{z{z{z{{{||||}}||{{{z{||{{||{{}|||{|{{{{{{}|||}|||{{{{z|{||{|{}}z|{{{z{z{z{||{{|||{z{|{{{{{{|||{{{{{zz{{{|{{z|{|}||{{z{{z{||{{{|{{{{z{{z{|z|{{}}}}{{|}}}|}}}||}|{|{|{{{{{{{|{}|}{||{{{|{{{{{{||{{{|{|{{{|{{|z{||{z{y{{{{|{|||{{{{{{y{z{{|{{z|{{{{{z{{{zz{{{zz|{z{{{{z{zz{{{z|z{{z{{z{z{z{{{{{{{zz{zzzzy||||{{{{|{zz|{{z{{{{|{|{|{{{z{z{{{{{{{{{|{{{{{{{{z{{{|{|{zzz{{z{zz{{|{{|z|z{{{zz|{{zz|{||zz{|{z|{{||{{|||z{{z{{z{{{{||{||{{zz{{{|{||{|{{{{{{{{{{{|{}|z{|{{zz|{zz{{{z|{||{|{{{z|{{{{{{{||{{{{{{{{{|||}{}||||{{{zz{{{{||||{|zz{z{{z|}|{}{||{{{{{{|||||{{|||}|{{{{{{{|||{||||z{|{{{{|{||||||{{{||z{z{{}{||||{{|||{{||||}||{|{||{{|z{{{||{||||{{|{|{{{|{{|||{z{{{{z{z{{|{{~}~~}}|}}}}|}}|}}}}|{{||z|{||{}|{}{{z{z|{{z{|{|{{||{{{{|zz{|{|||{|{{z{z{z{{{{|{{{{|{{{z{zz{zz}z{|||{{{z{{z{{z{zz{{zz|z{{{{{z{{zz{{{{{|z{{z{{{{{{{{{z{z{z{zz{z{{}||{{z{|zzzz|{z{{{{{{{z{zzzzz{{{{{{{|z{zz{z{{{{{{||{{z{{{|zz{{{{|{{}{|{{{zz{{{|{{{|{{{{{z{|z|{{|{{||z{{zzzz{{{|z{|{|{{z{{{{|{{{|{{{{z|{z{zzz{||{{||{{{|{z{{{{{|zz|{{{|z{{{z{{||}{{{{{z{z{zz{{|{|{{|}|{{{{z{{{|{{||||{{z{{{{{{||{||{||{|{z|{z{||||||||z{{{{z{{|{||{}|{{{|z{{{{{{|||{|{zz{{{{||||{|||}|{zz{{{{}{{||{{|{{{z{{{{{|||{|{{|{z|{{z||{{|z{||{z{{z{{{{|{{|}|}}|||}|~{{}}{}}|}{{||{|{{}{||{||}|z{zz{|{{{{||{||{|{{{|{{z|{|{{}||{{z{zzz{z||{{{|{z{{{|{zz{zz{{|{{yzy{{{{{z|{z|{{zzzz{zz{{{z{{{{{z{zzzyyz{z{{{{{{{z{{zzzzz{{{|||{{|{{zzzz{{|{|{{{{{{{zy{zz{zzz{{{z{{zz{zz{{{z{{|{zzz{{{{z{{||{|{{{z{{{z{{z{|{{||{zz{{zz{{{{{{{{||{{{zzzzz{{|z{{{|{z{z{yz{{|{{|z{|{{z|{{z{{{}{{|{{{|{{{{{{||{|{{{{z{{z|z{{{|z|{{{||{|{|{{z|{|||{{}{{{{{{{{|||{|{}{{y{z{{{{}||{{|{||{z{z{{|{{{|||{||{{z{{|{|||{{||||{{{|{{{|{|}{|{{|{{|{{z{|{{|{|}||{|{{z{|{|{||||}z|{{{{{z|||{{{|{|{z{z}|z{{|||||{z{{{zz{{{z{{|}~}|}}}||{|}|}}{|}}||}z{{{z||}||||||{{{z|z{||{|{|}{{{{zy{z{|{|{|z{{{{zzzzzz{{z|z|{{{z{{zz{zz{zz{|{z{{{zz{yzzz||z{{{yzzz{zz{{|{{z{|{z{{z{yzz{{zz{{||z{z{y{{zz|{{{{{|zzz{zzyz|{{{|{||yzyzzzz{z{{{{{{z{{zz|z{zzz{z{{z{{y{zz|zz{{{{{z{{{z{{{z{z{{{{{|z|{zz{{z{z{{{|{{|z{z{z{{z{{{{{{{|||z{z{{{{{|{{|{|{{{{z{{z{|||{|||{z{{{z{{{{{|{{|{{{{{{{{z{{||{||{|z|z{||{{{{{|z|{|{{z|{z{z|{||{|{||zz{{|{{{|||}|||{{{{{{{{||}{||||{z{|{||{{|{}|||}|||||z{{|}||{|{{{{{{zz{{||{||{}}|||z{|z{|{{{|||||{{{z{z{{|{{{{|||{z{{zzz{|{|{{{|{{|{{z{z|{{{{}|~}}|||{|{}}|}||}|{z{||{|{{{||}||||{{{{z{z|{{|{|||{z{z{z{{{{||{{|z{{{zzz{zz{{z{|z|{{{{{zzyz{zz{{|z{{y{zzzz{{{z{{z{{zzzz{z{|{z{{{{{z{zzzyyz{z{z{|{zzzz{{zyz{z{{{z|{{{{zzzz{{z{{{{|{{{yz{zzzyz|z{{z{{{z{zzzz{{{{{|{{zz{z{{zz{|z{{|{{{{zzzyz{{|{z{z|||z{{{y{{{{{{z|{{{{|zz{{{{z{|{{{||{zz{zzz{{{{{|{{}{{{{{zzz{{||{{{{z{{{z{z|{{|{|zz{{{{|{{z||{{||{{{{|z{{{{||{{}||}zz{{{{z{|||{{{{{|{{zz{{{{|{||{{}|{z{z{{||{{|{||||z{{{z{{||||{|}||{{{{{{{z{|||||}{z{|{{zz||{||||}|{{|{{{{{|{{||z{{{{{{{z{{|{|{{||{{z{{{{z{{z{||{|{|{{{z{z{|{|z~}|}}|||{||{|||}||}{{{|||z|||{||}}||{zz{{|{{{{{{{|{||{{{{z|{{|{{{|{{{zz{y{z{{{{{{z|z{{zzzzy{z{zz{{{{yz{{{zz{z{zz{{z{zzyzz{z{{|{{{{|yzzzzzzz{{{{{z{{zzz{zzyzz{{z{{{{{{{{zzzz{{{{{z{|zyz{{zzz{{{y{{{{zz{{{zzzz{{{z{{|zzzz{{{z{{{zzz{{z{{zzz{{{{{zz|{{z|{{z{z{z{{{{z{{z{{{zzz{{{{{{{{{{|zz|{{zz{||{{{{{z{zz{{z{|{{z{}{{z{|z{{zz{}{{{|{{z{{{{z{{{|{|z{{z{{{{{{{{|{{||||{{{{{{zzz|{{||{{|zz{|z{{{|{{}{||z{{{|{|{{{{z||{}}z{{z|{z{||{|{|{{z{|{z{{{{|}{||||z{|{{{||z|{{|||{{{{{{{{{|{|{{||{{{{|{y{z{{|{|{|{{{{z{{z{{{||{|{z{{zz{{{|{{{{}|}||||||||{||||{}}{{{|{{{z||||{}||{zz{z{{z|{{{||z|{{{{{zzz{{||{{{|||zzzzzz|{{{{|{|{z{{zzzz{{{{{|{{zzz{zz{zz{{z{{z{{{{zyzz{{{zz{|z{{z{{zzy{z{{{{{{{zyz{{yzz{{{z{{|{zz{zzzyz{|z||{{{{zzz{zyz{{{{zz{|{{zzzzz{z{{z{{{{{z{{z|z{zzz{{||{zzz{z|zz|{z{{{||{{zzz{{{z|{{z{{{{z{zzzz|{z{{{{{|zzz{{z{{{{{|z|{{|{zz{{{{|{{{{{|{{{{zz{z{||zz{|{||{{z{{{{{{{||{{|{{{z{z{{{{|||||{zz|z{z{{z|||||{{{zz{{{y{||{z|{||{{|zz{{{{{{|{|||{z{z{{zz{|{{|{}||{{{{{|{|||{{{||{z{{{{z{{{{{|{|{{{{{|z{{|{||}|||{{{z{z{{z|{{z{}|{{z{{zzz{{||{{|{{z{zzz{|{{{{{}|}}|||||}||{~|{|}|||{||{{{}|{{}|||{{zz{{z{|{{{{|||{z{z{z{{z{||{{{{{z|zz{zz{{{{|{{||{zy{{zz{{{|{|{{{{{z{zyz{{{{{||{{z{zy{{zz|{z{{{{{zzy{zz{{{z{|{{z{zzzz{zz{{|{{{}z{zzzz{zzz{|{z||{{zz{zyzz{{{z{{z{zzzy{yzzz{{{|{{{{zzzz{yy{{{z{{|||y{z{zzz{{z{|{{|{{{{z{{z{{{{{{|{{{zzz{{z{z{{{{{{{{{z{zzz||{{{{{{zz|zzzz{{{{{{{|{{{{{{zz{}{|{z|z||{{zz{z{zy}|}{||{z{z{{{z{{||{||||{{{{zz{|||{{{{{{z{{zz{{||||{|||{{{z{{{{{{{||||||zz{{{{z{|{|}{||{{{{z{|{||{{||||{y{{{|{||||{{{||{{{{z|z|{|{|{{{|{zzz{z{{z}z|{|{{{zzzz{{z{|z|{{|{{|{y{z{z{{|{|~}}|~{|{||{|}~}|||}||{z||{|{||||||||||zzz{z{|{||{|{{{{z{{{{{z|{{{||{zzz{z{{z{{|{|{{{{{{zz{y{zz{z{{||zz{zz{{{{{{{|{z{zzzzyz{{zz{{{{{zy{zzz{{z{{{zz|zz{zzz{z{{z|z|{{{{{z{zz{z{{{|{{{|z{{{{z{{y{{{{{{{{{zz{zzzzz{z|{|{{{{zzzzzz{||z||{{z{z{z{z||{{z|{|{{{z{zzzzz{{{{{|z{z{{{zz|{{{{{|{{{|{zzz{z|{{||z{{{zz{z{z{||{z{|z|z{{|{{{z{{{{|}{{{{z|{z|{{{{{|||z{z{||{{zz{{{|{||{{z{{y||{}{{||{|{{z{{{z{{{{{{||{|{{{{{{{|{{}|{||{{{{{{z{||}{||||{|{|{|{||{||{|{|{z{{|{z{{{{{||}{{{{|{|z{|{||||||{{{zz{{{{{|{||{|zz{{z{z|||{{{z{{||z{zz{||{{{}}|||||{{{{||||{}||{{|{{{|z||||{||||{{{z|z{||{|{|||{zz|z{{{|{|{{z|{{{zzzz{y{{{z{{{}|z{z{zzzzzzzz{{{{z{z{zyz{{{zz{{{{z{zzzzzzz{{{{{{{{{{zyzz{{{{{{{|zz{{z{z{z|{{{|{{{zy{yz{zz{{{y{{|{z{z{zzzz{z{z{z{{zz{{{zzy{{zz{|{zzz{zz{zz{{{{{{{z{zzzzzz{|{{{{}|{{zzzy{{|z{|{|{|z{z{{zz{zz||z|||{{{|{z{z|{{{z{{{z{{{{zzz{{{{{|||z{{zyzzzz{{{|{{|{{{{z{{{|||{{{{{z{{z{{|{|{{{}|{|{z{{{{z{{||{|{|||{{{z{zz||{{|}}}{{{{{{{zz{|{|||||{||z{z{{}||}|{|{{{{{{{{{|}||{||{z{{z{{{{{|{{{{|{|z{z{z{{|{{||{{z{{z{{zz{|{|{|{|||{zz{{{|{{|{{|z{z{zz{zz{{{{{~}~|||{|{{{||}||||{|{{||{{{{|||||}|{{|{|z{z{{{{||||{{{zz{zzz||{|{{}|{{{z{zz{|{{{{z||{|{{z{zz{z{{{{|zzzz{zzz{{{z|||{zz{{zzz{{{{{{{{{z{zz|{{{{{}|{{|z{zzzz{zz{zz{||{|z{{zzz{z||{|{{{|{{{z{zzz{{{{{{|z|{z{{zzzz|{z{{{}z{z{zz{z{z{{|{||zzz{{{{|{{||{{||{{{z{z|{{{|{|||{{z{{{{{{{{{|{|{|{z{z{{z{{||{{{{|{{z{{{{z{|||{{|{{{{{|z{{|{||{||||{|{{z||{|||||||{{{|{{|{|{{|z||}{{{z|{{z{||{|{}}{z{z|||{||||||}{{||{|{{|{||{|}|}}{|{{{{{|||}{|}|{|{|{{{{||||{{||{{||{{z{{||}|{|{|{{{{|{{|}||}|{||z{z{{{|z{||{|{{|{{{z|{z{|{||||{|{{yz{{{{{{}{}|}}|||}|||||||}}}||||{{{|{{{{{||}||{z{|{|||{{|||}||z{{{{{z{|{}|z|}{{|{zz{y{{{|z{{|{z{{zz{y{{{{{|{z|{{z{zzz|{{|zz{z{{{yz{z{|{{z{{{{z{zz{z{z{{{{{|{{{|{{zzzz{{{{{{||zz{zzzzz{{{{{|{{{|{{{z{zz|zz{{{zz{|{zz{zz|{{z|{{{|{zz{zz{{{{{{||{{{{|zzz{{{{{{|}z{z{{zzz{{{|{{{|z{{z|y|{||{{{{{|{z|z{zzzz|{{|||{z{z{{{z{z||{{|{{{{{{{zz{}|{|||||{{z{{|{z{|{|||||z{{|{{||{|{{{{|{|{{{{{|{||{|{{||||{{{{z{||||||||||{{{||{{{z}||||}{{{{||{z|||||}{{{{||{|||{{}|{{|{|{{{|{{{|{{{||}{{{zz{{|||||{}||{{{{{{{{||z|{||{{{{{{{{z{|||||||{z{{{{zz{|{|{}}}||{}{{|{}||{|{||{|{||{|y|{{{|{|||{{{{z{|}{{{{{||{{{z{{z{z{{|{{{{{{z{{{{zz{|z{{||z{{zzz{z{z{|{{|{zz{{{zzz{z{{z|{{{zyyzzzz{|{{{{z|y{{{zzzz{{|z{{{zzz{zzzzz|z{|{z{{{{zzyzz{z{z||{|{{{z{{zzzzz{zz|{{{zz{z{{z{{z{{{z{{z{{{{{{{{z{{|{{{z{{zz{{zz{{{{||zz{{{zz{|z{|{|{{z{{z{zz{{{{{z||z{|{{zzz{||{|||z{zzzz{zzyz||z{{{{{{z{z{{{{|{{{||{z{{z|{zz{|{}{|||{|zz{|{{{|||}{|||{{{||{z|{|z|||||{zz{{|z||{{||}|{{z|z{{{{|z|{{||{z{z{|{{{|{|||}{{z{{{{{{}|||||||{z{{{{z{|{{{|||||{|{|{{{|z|{|{|{{{zz{{{{|||{{|{{|{zz{y{{{{z|||{{{||z{{zzz{|z{}}}|{|{|||{{{}|}||{{|||{{|{||}|{||{{z{z{{{{{{{z|{}|{{zzzzz{z{|z|{|{zz{{zzzz{|{{{|{|{|zzzz{z{{|{{|{{yz{zz{zzz{z{z||{y{{zz{z{{{{|{{|{{zz{{{{zz|{{z{{{{z{|zz{{{z{z|{{{{{{{zy{zz{zz{||{{{{{z{zzzy{{{{|{zz{zzzzzz|{|{{{{{z|zzzzz|z{|{||{{zzzzz{{{|{{{|||{z{zz{{{{{{|{{|{z{zz{{z{|{|{|}{||{{{{{{z{||{{{|{zz{z{{{zz||{{{|z{{{{{{{{{{|{z|||{z{{zz{{{|||{|||{{{{|{{z||||||{|{{{{|z{{{{|{|{|{{zz{{{{{}}|{|{|||z{{{{|z|{{|{{{|{{{|z{{{z||||{{{|{{{zz{{{||||||||{|z|{|{{{{|{{{|||{{{{{{|{{|||{}{{z|{{{z{|{{}|||{{{{{yz{z|{{|{|{{{{z{{zz{{z{{}}}|{}|{||{|}}||||}|{|{|||{{|||||||{zz{z{{{z{||||{||{zz|z|{|{{|{|{{{{zz{{{y{{{{{|z{{{zz{z|z{|z{z{{{{|{zz{z{{{{{z{{{{zzz{{zz{{z|{z{{z{zz{z{zz||{{z{{{z{{zzzzz{|z|{{|{{zzzy{z{{|z{{|{{{z{{z{zz{{{{{{|{{{z{zzzz{z{||{|zz{{{{zz{{|{|{{|{z{zzzz{z{{{{{|{{{{{zzz{{{z|{z{|zz{{zz{z{{zz{z|z{{{{yz{{z|{|{{|{{{z{{{zz{{{{|{|{|zzz|zz{|{{|||{{{zz{{{z{||||{|{|{{z|{{{{{{|{|{||{{{{z{z{|{|{||||{{z{{{|{{|||{|||{zz{|||{{|||||{||z{{{{||z|{||||}{{{{zz{{{|{|||{{|z{zz{{{||{{|||||{{z{|z{|{{||||||{{{zzzz|{{{|z|||z{{z{{z{||{{{{|{zz|zz{zzz{|z|||}{}{{z|{||{{|{||{{{{{{zz||{{|{||{{{z{{{{{{z|{|||{|zyzz{{{z|{z{{|zzz{zzz{{{zzz{{{{{{zzy{yz{{{{||z{z{zzzz{zz|zzz{|zyzzyzzzz{{{z{{{z{zzyzzzz{z|{y|{{zz{{{zzzz|zz{{{{{z{zzyyz{z{|{{{{zz{{z{{z{|z{{{{{z{zzzzzz{{{z|}{zz{zz{zzy|z{|{{{zz|zz{z{{{{z{|z{{zzzzzzz{zzz{{||zz{zz{{zz{{{z||{{{z{z{{z{{{||{|{{z{zzzz{{{|{{{{{|zz{{{{{{||{{{|{{{|zz{{{{{|{{{{{zz|z{{{{{|{|{||{|{|{{{zy|{|{z|{||{z{{{{{{|{||||{z{z{{{{{{|{|{||{||z{z{{{{||{||||{{z{zy{{{}|{|}||{{z|{z{|{{{||{|}|{z{{z|{{{{{||||{{{z{z{{|{{z|{|||zzz{z{z{{{||{}{{zzzzzzy{||{{}}{|{{{{{{z{|||||||{{{|{z{{|{{{|{|{||{z{{zz|z||||||z{zz{zz{{z{|{||{{{z{z{zz{{z{{{|{{{zzzzzzz{{{{{{z{z{zzz{zzz|{z{{{{{{y{zzzzz{{z{{{zzzzzzz{{{{{zz|{zz{{z{z{z{{{zy|z{z{{yz{zz{zz{z|{{zzzz{yyz{{z{|{{{z{zzz{{{z{{z{{zzzzz{{zz{{{{{{{z{z{{{zzzzz{z||{|{z{{{zzz{z{zz||{z{zzzzz{z{{z{|z{{{{z{z{{{||{z|{|{{{z{{zz|{|{{{{{{{{{zzzz|{{{|{{{{{z{zz|{|z{|{|||{{{z|z|zz}{|||||zzz{{{{z|{{{{|||{{{{{z{{{{}{{{|{z{{z{{|{{||}|||||z{||{{z{|{||{|||{{{zz{{|z{{|{|{|z{{{{|||{|{{|{||{{{|{{||{||z|{|{{{{{{{{{{{{z|||||{z{zzz{{{|{{{|{zzz{z{z{{z{{|||||{z{z||{||||{{}{z{{{{{z{}{{|{{}|{z{{{z{{||{z||{{{{z{zz{{{{{{{|||{z{zz{{|z{{{{|z{{{zzz{y{{{{{||zz{{{z{zz{z{|z{{{zzyz{zzz{{{{z{{{{zz{zzz{z{z{{{{{{{zzyzzzz{|{{|{{{z{zzzzyz{{|{{{{{zy{zz{zy{{{{{{{{z{zzz{zz{{{{{{|{zzzzzzy{{{{{||{{zyzzz{zzz{{{{{{{{zzzz{z{{{|{{|{z{{zzzz{|{{{{||||{zzzzzy{{{{|{||{{{{|{{z{|{{{|||zz{{zzzz{{{{z{{|{zz{{{{z{{|||||{z{z{z{{{{|||{{||{z{z{z{z|{|{{|{||{{{|{|{{}{{{|||{z{{{{z{{{||{||{{z{{{|z{|||||||||{{z{{{{|zz||{{{|zz{|{{{||{{|{||{{z{{{{z{{{{{{|{{{|zzz{{z|||{||{{{{{z{{zz|{|z|||{{{z{zzzzz|{{{||{{{|{{{||{}}|||||{{{{{z{{||{{{|{zzz{z{z{|{|{{{{{{zzzzzz{|{{{|{}{{{{zyy{z|{{{zzz}{{{z{y{zz{{{{{|{{{{z{{y{z{{{z{{|yzz{zz{{{{{{{{|{zz{zzzz{z{{zz{|{{zz{zzyzz{{z{z{z{z{zzz{z{|{zz{z{z{{zz{zy{{zzz{{{zy{y{z{zz{yz{{{|zzzzz{{zz|{|{{|{{zzz{zz{{{{{z{{|{{{zzz{z{{{{{{{|{yzzz{{{{z{z{{{{{{zy{y{y{||{{{{||z{y|zzz{{|z{||{|{z{{z{{{|{{{{||{{{z{{{{{|{||{||z{{{|{{{{{{|{|{|{zz{z{{{z{|{|||{}{zz{{zz|z|{{|||{z{{z{{{{{|{{|{|{{z{{{z{z|||}}{}|{{|{{{{|{}}|||{{{|{{{zz{|{{|||{{{z|{{z{z{{|{|{|{{{zz{{||{{|{||{{{{{z{{z{||{{{{{{y{{z{{z{{{{{{||||{{{zzz{|||{|}|{|z{{z{z|||{{||}z{z{{zzz{{{z{|{{zzzzzz{z{{||{{{|{{{|z{zz||z|{{{|z{zzzz{z{{{{z{|{{{zz{yzz{{z{y|{z{{{z{{zz{zz{{|{{zzzzzzz{{{{{{{{{{zzy{{z{{{|{z{|{{{{zzzzz{{z{{{{|{zzz{y{yz|zz{|{{zz{zy{{{z{z{{{{{zzzzz{{z|z{{{|z|zzyz{z{{{|{{{{{{{zz{z{{zz|{{|{{{z{z{zzzz{{{{{|{|z{{{{z{{z{{|{zz|{z{zzzz{||{{{{{{|z{{{z{{||{{{|||{{{{{{{{{{|||{||{{|z{{z{{|{{{|||{{{{{{z{z{|{{|}}{{{z{{{z||{|{||||z{{{|{{{{{||{|||{z|{{{{||{||{||}{|{{{|z||||{|{|}z|z{{{|{|||{{{||z{{|{{{{{{{|{|}{{{z{{{{{|{{{{|z||zz|{zz{{{|{{{||{{z{z{{|||||}|{|{{{{{zz{{|{}{||{|z{{zz{{{|{||{}{{|{{{|{|{{|||{{|z{z{z{{zz{{z{||zy{zzz{z|{{z{{{{z{{zz{zz|{z{{{{|z{{z{zzyz{|y{{zz{{yzz{zy{{z|{|{z{{z{zy{z{{|{y{{{{zzy{{z{{{{{{{{|zz{{zzz{z{{z|{{|z{{{{yy{{{{z{{|{z{zz{z{zzz{{{}{z{z{yzzzz{{{z{{{{{z{{{yzzz{|z{{||z{{z{z|z{{{{{|||{z{z{zz{{{{{|{{{z{{z{z{z{}|{{|{{z{{zzz{z|{||{{||{{{{z{{{||z{{{{{|{{{{{{{|{{|{|||{{|{{zz{||{|{||}{{{z{{{z{||||||{{|{{{{{z{|}{{|||{{{zz|{{{{z{|||{{{{|{{|{{}|{||||||{{z{{{|{|||{|||zz{{z|{{||{|{||{{{z|{{|{|||{{{}{{zzz{{z|{|{|||{|{z{{{yy{{{|{{|z{{{{{z{{{||{{{|{{|{{{{{{{{}{||||{{z{{z{{{{|{||{|{z{{{z{z{{{{{|{|{z|{z{|z{{|{{{|{{zzzz{zyz{|{{|{|{zzz{{{z{|{{z||{{z{zzz{z{{{|z{z|{z{zzzz{{{|{{{{zzzyz{zz{z{zz{{|{zzzyz{{z{{{{{{{{zz{{z{{z{{|{{{{{z{zzz{{z{{{{{{{{{|{z{|{{{zz{{{{|{z{{z{zz{{{{{{|{|zzz{z{{{{{{z{|{z{z{z{z{z{|{{{||{{|zzz{{z{{z{|{{z{{z{zz{y|{{z||{{{zzz{{z{z{z|{{{{z{{{z{{|{}{{{{{{{{{{{{{{{||{||{|{{|{{{|{{{{|}}|{z{|{zz{{{|||{|||{{{|{{{{}||{|||{{{{z|{{|||{}|{|{|z{z{{{{|||}{||{{{{{zz{{||||||}||{{zz}|||{{}{||{{z{|{{{}|{||{||{{{z{{{z{{|||||{|z{{{{z{||{{{{|z{y{z{z|{||{{{|{{{|z|{{|{z{{||{||z{{zzz{{|{||{|||z|{|zzzz|{|{{|{||zy{{zz{{{{{{z|{{{{{{zzz{{{|z|{||zzzzz{zz{{zz{||{{{zzzz{zz|z{{z{|{{z{{zzz{z{z|{z{{yzzzz{{{|z{z{z{z{zyzzz{{zz{{{z{zz{zzy{{{zz{{|z{zzzzzzz{{{{{z{{zzzzzz{yz{zz{{|zzzzzzzzzz{|{{{{|{zzz{z{z{{{{{|{{{z{{z{zz{{{{z{|{zz{z{{{|{{{z{{{{zz{zzzzz|{{{z}{|zz{z{zz{{{{{{{|z|{{z{{z{|{{{{{||{{zz|z{{{||||{||{{{z{{{{{{z|{{|{z{{z{{z{{||||{|{{yzz{z{{{||{||||{{{z|||{z}|{|{}{{{z{{{{{|||||{|||z{{{{|{||||||||{z{{|{|{{||||||||{{{{{{{|||{||{|{{|{z{z{z{{||z|{{{z{zz{z{{|{z||{{{{{zzz{{{{{{}|{{|{{z{z{{|||{|||z{{z{{{{z{{{{||{{|{{z{zz{{{||{|{{{z{z{zy{{{{{|{|z{{zzzzz{{||{{{z{{{z{{{{{{{{|{{{z{{zz{{z|zzzz||z{{zz{{zz{{z{z{z{{yzz{zz{{{|{zz{z{zzzzzzz{{||{{{{z{zzz{{{z|{{{{{z|{z{zzzzzz{{{{z{{zzy{zzzzzzz{{{{{{zzz{zzz{y{{z{{{zzyz{{zz{{{z|zz{z|zzzzz{{{{{{{{zz{{zz{zzy{z{|||{zzzzz{yz{{|{{{|{{zzz{{{{{{|{{|{z{{{{{{z{|{zz{{{{|z{{{z{z||||{||{{{zz{{z{{{|{|||{{z|{zzz{z{{{{{||{{{{{{z{{{{||||{{{{{{z|{{{|{|||{{{{{z{z||{{{z||{{{{z{{{|{{{}{{||{{{|{{z{{||}|{|{{{{||z|{{||{||{|{{|{z{{{{{{{||{{{zzz{zz{|{|{{||zz{{{{z{{z|{{|{|{}{{|z|z{}|{{|||{{{{{zzz||{{|||{|{zzz{zzz{{||||{{{{zyzzz|{|{z{|{{zz{zz{zy{{{|{z{zz|z{z{zzz{{|{zzzz{{{z{zzz{{z{{{zz{z{z{{{z{{zz|{zzzyzz{zz{{{{{|{z{zz{{zzz{||{{{{{{{zzz{{{{|y{|||{|zzz{{z{{|zz|zz{{zzzzyzz{zz{|{{zz{z{|zzzz{{|{|{|zz{{zzz{{z{z{{|{zz{zzz{|z{{||{|{{zzzzz{{{|{|{||{{{|{{{z{|{|{{z{zz{zz{{z|||{{{||{z{zzzz{||z{|{{{{{zz{zz{{{|}z}{zz{|{{{|{{{{|{|{|{{z|{z{{{{{||{|{{zz{{{{{{{{{{||||z{{{{|{|||{{||}{{{z{|{{{{||{{|{{z{{{{{{|||{|||}|{z{|z{{{{{|||}||{{||{{{{|{|{|{{{{{{{{z|{|{{{{|||z{z{z{{{|||{||{{{z{zz{{z{{|{|||{||{z|{z||}{{|||{|{{zy{z{{{|{{{|{zz{z{zz{{{|||||{z{{{zzz{{{|{{|{{zzz{{zzz{z{{|{|zz{zz{zzy{{{{{{{zzz{{{{zz{{zz{|z{zyyyzzz{{z{z{{|{zzzz{{{zzz{zz{{|z{zyzzzz{{{|{{zz{zzyzzz{{z{|{{|zyz{{zzz{{|{z{{|zzzz{y{zz{z{{|{{yz{{{zzy{{{zzz|{{zyz{{zz{{|{{{||zz{{zzzz{{{z{|||z{{z{zzz{z||{{{{zz{{zz{zz{||z||{|{zzzz{z|{{{z||{{{z{{{z{|{z|z|zz{{{{{{{{{{|||||{{{|z|z|{{{z|||||{{z|z{{{{{{{|||{{z{{{{z{||{{||||z{{{{{{{{|{{|||||{{z{{{{|{||{||{||{|z|{{|||{{|||{z{{{z{{z||{||{{||{{z{z{{{{{{|||{|{{{{{z{|{|{{||{{{{|zz{|{{{{{{{{z{z|{{z{{|{{{{|{{{{{{{z{|{|{{{{{|z{zzzy{||{{||{{zzzz{zz{{{{{||{{y{|{zzz{{{{{{{|zzy{{z{z{{|z{{z|zz{yzzzzz{{{{z{{{z{zzzyy{z{zz|{zzyzzzzz{zzzzz{zzzz{zzzz{{z{zz{{z{{zzzzzz{{{{z{{z{z{{zyzz{z{{zy{{|zzz{y{zz{{z{|{|{zzzyzzyyz{{{z{zzyzzzyzzyzz{{{{z|zzzzzz{{|{{{{{{{{y|zzzz{{{{z|{{z{z{yyzy|{|{|{|z{yz{zzz{{{{{{|{{{{zzz{zz{{{{{zzz{zzzzy{{{{{{{{{{zz{{{zz{{{{{{z{{zz{{z{{z|{||{{|{{{z{{{zz{|{{{{{{{{{z{z{z|{{{{|{|{{zz|{zz|||{|||{|{z{zz{{|||{{|||{z|z{{{z||{|{{{{zz{z{{|{{{{{{||||{z{|{z{{{{|{{{|zz{zz{z{z{{{{||{{zz{z{yzz|{{{||zzzzz{zzy{{|{||||{{{||{z{|||{{{||{{{zyzz|{||{}||||{|z{zz{{|{z|||z{z|{z{{{{{{{{|{|{zzzzz{zz{{{{{z{{z|{z{{yz|z{{{{{{z{zzzzz{z{{{|{zzzzz{zzz|{z{z{||yzz|zyzy{z{z{{{{{zz{z{{{{{{{{|{|z{{|z{zzz{{|zz{{z{y{z{zzz|zz{|{{|{zzzz{y{{zyz{{{{zzz{zzz{{{{{{|{{{zz{z{{{{{z||{{z{z{{z|{|{||{{z{zz{zz{zz{{{|{{{{{{{{{{{z{|{{{|{{z{z{{{z{{|{{|{|{{zzz{zz{{{{{z{{{z|{{{|zzz{||{{||z|{{{|{{{|{|{{||{{|{{z{{{}|{{}|{{{{z{z{z{}|||{|{|{zzz||z||{{||{||z{{{|{|||{|{}}}|{{zzzz{{|{{{{||{{z|{zz{{|{{{||||{{{{{{{z|{{|||}|{{z{{{z}|zz|{||{{{{{z{z{|{|||||{{|z{{zz{|{{|}|||{{{{{z{{{{{|{{|{{{|zzzyz{{||{||{z{z{{{{|{{{z{|||{{{{z{{{{{{{{{{{{{{{zzzz|{{z|{{zz{zyzzyz|{zz{|{{{zzzzy{||{{z{{{{z{z{z{z{{z{{{{|zzz{zzzz{z{zz||{{z{yyzzz{{{{||z|{zz{{zzz{{||zzz{z{z{z{z{z{zz{{{{zzzzzzzzz{{zz{{|{zz{z{zzz{zzz{}{{z{z{z{z|{z{z{{{{z{{zzzzz{{{{|{z{z{z{zzz|{{{{|{{{{{{{zz{{|{|{{{|{z{y{zz{{|{{{{|{{{z{z{{z{|{{|{{{{{z|{{z{{|}|||||{{{z|{|{{{||{{|||{z{{{{zz|{{|||||yzz{{{z|||{{{|||{{{{{{z{{|{||{{|{{{|z{{{}|{{|||{{{|z{y{}||||}|{{zz{{|{{|{|||||||zz{{|{{||||||{|{{|{{|{zz|{{{{{{{{{{{z|{{{{||z|{{{|z{{z{{|{|{|{|{|{{{{{z||{z||{|{zzzzz{z{{|{{|||{{{zy{{z{{{{{{{{{{{{{yyz{|{{z{{{|z{zz{{z||{{{{z|{{zzz{{zz|{{z|{{{z{z{zzzzz{z{z{{z{zyzzz{{{z{{{{{zzz{z{z{{{|{|{|{{z{zz{zzz|{zz|z{{{zzyzyzzz{z{{||zz{zzzzyz{{{{{{{{{{zzzz{{|{{{|z{z{{yz{zz{{z{{{|{{z{z{z{{{|{{z{z{z{zz{{z{|{z|{|||z{{{zz{{{{|{{{|{{{{z{{z{z{||{{|{|{zzz{zz|{|{z|{|{{{{z{z|{||{{{}{{{zzzz{z{||{||||{{{{|z|{{{{|||||{{{{{{{{{|{{{||{|{{z{{{{}|{|{|||{{{{{{z{|||||||||{{{{||{{{||{{||{{{{{z|{{|{}z||{|{{{{z{z{|{}|||||{z{{z{{{||z{{}{{{{z{{{z{z{{{}{{z|z{z{{{{|{{{{{|z{{zyz{{{{||{{{|{|{{{{{{{{{|||||zzz{{{{z{z{|{|{||z{{{{{z|{|{{||{zzzzzy{yz{{{{|||{{{zyz{z{|z||{{|z{z{zz{{{{{{z|{z{z{zz{zz{z{{{zz{z{zy{{zz{{{{{{{{zzzzzzyzzz{{|{{{zy{zz{zz{{{{{{{{{{{zz{{y{{{{{{{|{zz{z{zy{z{{{{z|z{{{y{{zz{zz{|z{zzz{z{{z{{{{{{{{zzzz{zz{{{{{{{{{{{{{yz{zz{{{{|||z{{zzzz{zz{{{{|{{z{zzz{z|{{{{z{zz{{z{zzz|}{{|{{|zzz{zz{{{|{{||{{|{{{z{{{|{{{||||{z|{z{|{{||||||{{z{|zz{{{|{|{||||{z{zz{|{|}{{||z{{|{{{{z{|{{|||||{z{z{{|{|{|{{}{{z|{{z|{{{{{{}|}z{zz{{{z{{|{|{||{{z{{z{{{|{{|{{|{{{z{zz{{{|{{|}||z{{{{{{{||{|{{|{{|zz{z{z{{z{||{{{|{{{{z{|}{{|||{{{{{{{{||{|||||{zz|{{z{{|{{z{{|{zz{zz{{{|||{{{|{z{zzzzz||{{z{|z{{zy{z{z{|z|{|{{zzzzz|z{|{|{z|{{{zz|{z|{{{z{{{{{zz{z{yz|z{{{z{{{{zzzz{yy{{|{{|{{{zzz{{{zz{{zz{||{z{zzyzzz{zzzz||zzzzzzyzy{zyz|{zz{{zzz{z{{{{{{{{|zzzyz{{{z}z||||{zzzzy{z{{{{{||{zz{zzzzz{|}{{|{|{z{{{{z{{{|{|{{{{z{z{z{z{|||{{{|{z{{yzz{||{{|{{{{{z{zz{{|{{{||{{{{|{|{|{{{{|||}{{{{{zz{{{{{|{||{{{{{|z{z|||{|{{|{{zzz{|{{{||{|{{{|{|{z{{{|{|||}}{{z{{{|{{|{||{{{|{|z{z{{{{{{|{||{{{z|{{z|||{|{|||z{z{{{{{{||{|||{{{{{z{{{|{{{|{{zz|z{y{z{{||{|||{zz{|{{{{|||||||zzz{{zzz{{|{{||{|{{zz{zz{{zz|{|{{{{zz{z{z{{zz{{|{{{z{z{z{{{{{|{|z{zz{{zz|{z{z{{{zzz{zzz{{{|{z{{zzyzzzz{zzzz{|{{{{{yz{yzz{z{{{{|{zzzzzyz{{{|z{z{zz{y{z{zzzzz{z|{{{z{{zzzy{zzy{{{|{z{yzzzz{{{{{{|{z{zz{zzz|{{z||{{{z{y{zzz{zz{z{z{{zz{{zzz{{z{{{{{{zzzz{z{z||{|{||zz|{{zzz{{{{||z{{z{z{y{{{{{{{{|{{{{{z{{{{|||{{{{z{{{{{{{||||z}{{z{zzzz{{{|||{|||{{{{{{zz{{{||||{{z{{{{{z|{{{{|}|{z{{{{{z{|||||||||{{z{|{{|{{|}{{|z{{|{|{{|{}|||||{zzz|z{|{|{|||||{z{{{{{{{||||{{z{{z{z{{{||{|{}{||z{{{{z{{z{{{{{{{z{zz{z{{{{{||{{|{{{{{y{|{{{|{||{{{{z{z|{{||{}|{{{z{{{z||z|{{|{|y{zz{{z{{{{{|{{|zzz{zzyz|{|z{{|{z|{zzzz{{{|z|{{{zzzz{zz{{{{z|zz{{zzzzy{{z{{zzzzz{zy{zzz{{z{{{|{zz{{z{{z{z{{{{{{z{{|{{{z{{{{{{||{{|zyzzzzz{{{|z{|z{z{zz{{{z{{{z{yz{z{{{z{{||{{|{{{zz{{{zz{{{{{|{zz{z{z{{|z{z|{{|z{{{yzzzz{|{{{{|{{zz{{|{z|{{{||{{{{zzz{z{{|||{|{|zzz{{zy{|{{{|z{z{{z{{z{|{|||{||z{{{{{{{{|{|{|||z|{|{{zz|{||||||{{{{{{zz{||{||{|{z|z{{{{|{{{|||{{{{{z{{|||{||||||{||{{{{||{|{||{|{{{{{{|{{|{|{|||{{{{{{{{{||{}||{{{{z{{z{||zz|||{{{{{{{z{{{|z{||{z{z{y{y{z}{{{|{z|z{|y|z{||z{{{|{{{zz{{z{{{{{||{|{z{{zz{|{|||{{|zz{zzy{{{{{{{{{||z{z{zzz{{{{{{{{zz{z{z{{z{z{z|{{|{{z{zyy{{{{z{{zz{{zz{z{{z{{{{|{zy{zzz{{y{{{{{|z{{{{z{zzz{{{{{{|{zzzzz{{|{{{{z{{zyz{{{{zzz{z{{|{zzzz{z{zz{{{{|{{zy{{zz{z{z{|{{{|{z{{z{{{{z{{{{{{{zz{zyz{{{|{{|{|zz{{z{{{|{|{{|||zz{|{zzz{{{{||{{|z{|z|z{{z|{{z}{{zz{{{yz{|||z|z{|z|{{{zz{{{|{{}{z|z|{{|{|{{|{{{|{zz{{{{z{|||||||{{{z{{{{||{{{{|||{{z{{zz{|{||{|||{{{{{{{{|{|||||||||{{{z||{|{||||z{{{z{z|{z|{||||{{{{{z{{}{{||{|{{{z{z{z|{{|z|||{z{{zz{||{||{{|{{{{{{z{z{z|z{}||{{{z{{|z||{{{|{{{{{{{zz{{|{{|||}{|{{z{z{{z{{{||{|{zz{z{zz{{|{|{|{{zzz{zz{z{|{z||zz{zyyzzz{{{zz|{{z{{zzzzzz|{{z|{zzzzyzzzzz{{{z|{{zzz|zzz{{{{{{{{zz{zzzzz{{{{{{|{zzz{zzzyzz|{{{||{{zzzzzzz{{z{{{{{{zz{{{zz{{{{|z{zz{{zy{z{{z{{z{|{zzzz{zzz{{z{zz|zz{z{{{z{{{z{{{{zz{z{{{z{{|z{{{{zzzz{{zzz{||z|{{z{{zzzzz{|{{{z|{|{{{zz{z{{{{{||{{{{zz{{{{{{{||||z{zzzz{{z{{|{|||{{{{zz{{|{{|{{|||{z{{{{z||{||}}{z{{{{{|{}|{{{||{|{z{{{{|{{||{|}||z{{{{|{{{|{|||||zz{{{{{{{{{{{{||{|{{{z{{{|}|{|}{{{yz{{{|{{{{{||{{{{zz{{z||||{||z{{zz{{z{|{{{|{zzy{{{{{z{|{{{|{{|z{{{zz{{{|{{||{{zz{z{zz{{z|{{|{{zz{{zzz{z{{zz{{{z{zz{{zz{{{||{{{z{zz{zzz{{z{{{z{{{{{zzz{{{{zz{{zzzzzzzzz{{{{{{z{z{zzz{zz{{z|{{{zyzzy{zz|z{{{|{zzy|{zz{z{{{{z{{{zzzz{{zyzzzz{z{z{z{zyz{zzzz{zz{{{zzyzy{zz{{{|{|zzzzzz{z{{{{{{|{|{z{zzz{{{{{{z{{{{z{zz{{z{{{z{{zz{zzz{z{z{z{{|{{{zz{{yzz{{{||{||{{zz{{z{z{{|{{||{zz{z{z{z{|{{||{{{{{{zz{{{|{|||{}{zz{z{{{||{||||{|zz{{{zz||{{{|{|{{zz{{{{{|||||{{|z{{|{zzz{||{|{{{|{{{yz{{{{{{|{|{{zz{zz{{{|{{{|{{{y{|zzz{||{}{||zz{{z{z|z{{{z{{|{zz{{{{{z{{|{{||z{{z{zzz{{{{z|z|{z{zzzzz{{{{{{{|{{{zzzzz{|{|{{{|{{{zz{{{{zzz{{{|zzz{{yzz{{z{{{{{{z{yzzzz|{{{{|||zyz{{{zy{{{z{{|z{z{zz{yz{z{{{{|{z{{z{{zz{{{|{{z{z{zzzzzz|{{{{{|{zzzzzzy{{{{{|z{{z{{|{zzzz{{z{z{{zzzzzyzy{z{{z{{|yzzzzz|zz{{{z{{{{z{zzzyz{{z{z{{{{z{{zz{{{{|{{{{|zzz{zz{z{{z{{z{{{zyz{zzz{{|{{{|{zz{z{{{zz|{{{{{{{z{{{zzz{{{{{{{{{{zzz{{|{}|{{|{|{zzz{z{{{{|{{||{zz{{{{|{{{{|{|{|{z{{{{z{z{|||{|{{z{{{{{z||{|{|||{z{z{{{{{||||{||{{|{{|{z{|||{{}||{{{{y|{{{|{|||{{z{z{{zz{{{{||{|{{{z{{{{|{|{|{||{zzzz{z{{{{{z{|{{{zz{y{{{{z{{z||{{zzyz{z{z{zz{|{{{{z{z{y{|{||{||zz{{{z|{{z{{{|{|{{z{{z{{{z{{{{||{{{|zz{y{{{{{z||{{{yz{zzzzz{|{{|{z{|z{yzz{{{{||{{{zzzzzz{{{z{{{{z{{zzzzz{{{z{{{{zzy{zzz{z{{{z{|z{zzzz{y{zz{|{{|{{z{zzz{yzz{{z{{{zzzz{z{zzzzz{{z{{z{z{zzyzzz{{{{zzzzzz{zzz{{{z{{{{z{z{z{z{{|{{||{zz{{z{z{|{{{{{{{z{{{z{{yz{|{{{z{{zz{{zz{z{{zz{{{{{zzzzzz|{{{{|{z{{z{{{zz||{zz||{{{z{{{yz{|||{|{|{{zz{{{{|{{||{|{{{|zzzz{{{|}{z|{{zz|{{{{|{|||{|}{z{{{{{{||{|{|||}{{|{{||{}}zz|{{{{{|zzz{|{||{{||{{{{z{zz{|{{{|{{|{{{{{z|||{|||||{{zz{z{{{{{z{{{|{{{|zz{{{||}{|}|{{{z{z{z{{|{|{{||{z|{{zz|{|{{{{{|z{{zzyz{{||{|{{{yyz{{{z{{{||{{{{z{z{{{z{z||{{{{{|{yzzzz{|z{{{{|zzz{z{zzz||{{z|{{z{z{{{z{|{zzz|zyz{zzzz{{z{|{{|{{z{zzz{{{{{{{z{{zzz{z{zz{{{{{{||z{{z{zy{{{{{{{|zzz{zzzzyz{{zz{{{z{zz|z{zz{{z{|{{{z{z{zzz{{||||{{|z{zz{{yz{|{{{|z{{zzzz{z{{{{{{z{z{zzzz{z{|{{{{|z{z{{{zz{{{|{{{{|{{{{zzz{{||{|{|{{{{{zy{{|{||z{{{{{zzz{{{z|{{}||{z|{{{{{y|{||{||{{zz{{{zz|}{{|{|||z{{|z|||{{{|||}{{{{z{{z{|{|{}||{{{|z{{z||{|||||{|{|{{z{{{|}{|{{{{{{z{z{|{{|{}{|{{{z{z{{{|||{{{|{{{{{{{{|{|||{|{{{z{z{{zz|{{{{}|z{{z{{zz{{{{{z|{{{zzzyyzz{|{|||}{z{{{{zz{{||{||{|zzzz{{{{{{{|z{|{zy{{{z{{zz{{{||zz{yzzyz{{{z}|{|zz{{y{zz{{{{z{{{zzz{zz{zz{z|{{{{{{zzz{zz{{z{z|{{zzzz{z{z|{{z{|{{{zz{zy{z{{{z|{z|z{zzzzzz{z{{||{{{{zzyyzz{z|{z{{{{zzz{zzzz{{{z{{{z{z{zzz{{{z{{{{{zz{{{{{{|{{{{{{|z{yz{zz{{z|{z{|{{zzzzzzz{{{z{{{{{{z{{y{zz|z{{||{{{z{zy{{{{{zz{|{|zz|{{z|{{{z{|{{{z{{{{z{{|||||{|z{{{{{z{||||{{||{{{|{{z{||{{{|{||{{{|{z{||{{|{|}{{{{z|{z|||{|}||{{|{z{{z{|||{||}|{{|z{{{||}{{|{}|z{|{{||{{{||||||{z{{|z{{|{|}{|||zzz{{{{{|{|{{|{||{z{{z{{|z|{|{{{zzzz{z{|||{z{z|{{y{{zzzz{}{{z{{z{z{zz{{|{||{{|{{{{z{z{{{{{z{||||{{{{zzz|{{|{{|{{{zzzzzz{{{{|{{|{yzzz{{yz|y{z{{z{zzzz{zz{{|{{{{z{zzzzzzz{|y{z{{|{zzyzzyzz|{{{{|{{z{{zzyyzz|z{z{{{z|{yyzz{|{zzz||zyyzzzzy{zz{{z{{zzzz{zzzy|z{{{{{zz{zyzz{{{|{{{|{{zzzzz{{{{|{|{{{z{||zzyzz|{{{||{{zz{y{zz{z|{z{|{z{{z{{{{{{{{||{|{z{zzyzz{{||{{||{zz{{{zz{|{{{{{{{{{y|z{{{{|||{{{{zz{{{|{|{{|{|||{{{{{{{z{|}{|||{|{{{{||z|{|{{|}||{{{z||||{{{||||{{{{{{{{{}}{||}||{|{{{|z{|||{||{{|{{{|{z{|{{{|||||{z{zz{{{{|||{|{{{z|{{z{|||{|{||{{zz{{z||{|{{{{{{zzzz{{|{|{|{{|z{z{{z{zz{|{{{{{|zz{{yz{{|{{|{|{{z{{z{{zzz{{{|{{{z{{{zzz{{|{z{|||{zyy{zy{{{{{{z|zzz{zzzzzz{zz{{{{{zyzz{{zz{z{{{zz{{y{y{{{{z{{{{|{yzzyy{z{{{{{{{{{{{{zz|zz{{{|z{{{{{{z{z{{|{{zz{{{{{zzzzz{{z{{{{zzz{z{y{yz{{z{{{{zzz{{{zzz||{{{|{{{zzzyz{zzz{{{{|z{{z{yz{{{|z|{{{{z{{zzz{{z|{{||{{zz{{y{zz{|{{{{{{{{{zz{{z{}{{{|{zz{zz{z{{{{z{{z{{z{z{{||{|{{{|{{{z{z{{{{z|{|z|||zz{z{{y{{}{{{{{{{z|{{zz{{|{|||||{{zz{||z||||{{|{{|{|{|{z{}{{||{|{{{{z{{{|{{{{{|{{zzz{zz|{|{{||{{||{z{{{z||{{{|||{{{{z{z|{{{|{{{|{{{z{{{{z|}{{{{{{z|zz{zz|||z{|{|z|z{zzz{{|z|{|||z{zz{z|{z||{|{{}zzz{zz{z{z{{|{|z{{{{{zzzz{|{{{{{{zzyz{zz{z{{{{|{{{{zz{{zz{{{{{{{{{{zzz{z{|{{{{|z{zzzz{{z{{z{{|{{zz{z{zzz{z{{z{|{{z{zzyzzz{|{{{{{{{{{z{zzz{zz{{|{{z{zzzyz{z{{{{{{{{{yzzzzz{zzz||{yzz{{zzz{{{|{{{{{{zz{z{y|{{{z{{{{{zzzyz{{|{|{|{{zz{zzzzz{z||{{|{{z{zzzzzz{{z||{{zz{yzzzz{||||{|{{z{{{{{{|{|{{{||z{{{z|{{{{{|{{{{{{z{{z{{|{{{{|||{z{{z{zz{|{{{|{||zz|{{{z{|{|||||{z|z{{{{z}|||}||{{{{|{{z|}{{||{{|{z{{|{z|{||||||{{{{|z{|{|{||{||||{||{{{|z{{{}{{||{{{|{z{{{{|||{{{{z{{{z{{z||||||zz{zz{{{{{|z{{|{{zz{{{z{{|{{{{|{zz{z{{{|{|{{{{|z{{zzzz{{{z|{{|{{{yz{zz{y{{{{{{{{yz{zz{zzzz{{||{zzz{zz{z{z{{{{{{{{zz{{zzzz{zz{{{zyzzy{zz{zz{z|{{{zzzzyzz|{{{z{|{zzzzzzzzz{|{z{{{zyzzyzz{zz|zz{{{{y{z{zyzy{zz{z|{{{{z{{{zz{zz{{{{z{{z{z{{{z{z{{|z{zzz{z{zz{{|{{||zzz{zzzz{z{{|{{{zz{zzzz{{|{{{{||{z{z{z{{z|}{{{{z{{{{{{zy{{{{z|||{{{z{z{{{||{{{z||z{z|{zz{{{|{|||z{{{{{|z{{|{{z||{{{{{zzz{{|{||{{{{{{{z{z|}|{||||{{{|z{{{{||{{|||{|{{{{{{z||}{{||||z{|{z{{|{|{||{|{{{{z{z{|{{{|{{{{{{{{{|||{||{|{zz{zzz{z{|||{{||z{zzzz{z{|{{|{|{z{zzzz|z|{|{z{z{{{zzzyzz{{|zz{|{{{zzzyy{{{{{||{{{|zzy{{{z{z{{z{|{{z{zzy{z{{{zz{{z{{yzzzz{zz{z{{|zzz{{{zzz{yz{|{zzzyzzzyz|{{{zzz{{zz{z{zz{z{zz{{|{zzyzzyzz|zz|z{{zzzyzzzzzzz{|{{{yyzzzyyz{zzz{{{{z{zzzzzzzzzzz{zz{zzyzzzzy{yz{{|{zzzzzyzy{zzz{}zzzzzz{yzyz{zzzz{{zz{z{y{zzz{z{{z{y{zzy{zzz|{{z{{{zz{zzyzz{{{z{|{||z{z{zyz{{z{{{}|{zzzz{z{{{{{|{zzzzzz{{z{z{|||{{{zzzz{zz{{|||||{|{{zz{{z{{|{{z||{{z{z{{|{|{{||{|{{{z{z{z{|{{{{{{{|{z{z{{{z||{|{|||{|{{z{z{|{|{|{|{{{z{{z{{|{|{}{|z{{{{{{z{{||{{{|z{|zzz{{z{{|{|{|{{{{zz|{{|{{{{{{{{{yzzzz{|{{{}{{{{{{{{z{z{{{{{{|{zz{zzzz{|}{{{{{z{{zz{xy{{z{z{{{z{zzz{zz{{zz{{{{zzyzx{zz|{{{z{{{{z{z{z{zz|z{zz{z{z{zzzzzz{{{{{{z{{zzy{zzzzz{{{z{{zzzzzzy{{{{zz{{{yzzzyzz{{|{{z{{{{{zy{zyz|z|{{|{zyzz{z{yzzzzy{z{z{zzzzyz{zzz{{{{zz{z{zyzz|{{{{{{{{zz{yzy{zzz{{z|zzzyzy{{{{{|{|z{z{zz{zz{{{||{|{{z{{zzz{{y{{{{{{{z{z{z{zz{z{{{{{{{{z{zzyz{|{{z{{|{zz{{|{z{{{{{||{{z{z{{zz{||{{{|{{zzzz{zz{|z|{{}{|{{{z{zz{{|{|||{{z{zz{{z{{||{|{{{{{{z}{{z|||||{{}z{{{z{{||{{{{|{|zz{{zz{{{{{{{|||{{{|zz|{|{||{|{z{{{{{z{{{{{{{|{{zzz{{zz{z{|{{{{z{zz{{{z|{{{{{z|{zzz{{{zz{zz{{|{{zzz{{zz{{{{z|{z|z{zzz{z{{z{|z|{zz{z{zz{z{{{{{{zzzyyzz{z|y|{{zz|z|zzzzz{zz{z{{{{zzzzzzzzzz{{{{z{z{zzzyzzzzz{{{z{yzyzyyzzzz{zz{{{{yyzzzz{z{z{{z{{{zz{y{yzz{z{{|{{zzzyzzzyyz{zzz{zzzzzzyyzzzz{z|z{zzzzzzyy{{zz{{z{z{zzzzzzz{{zz{{|{zyyzzz{z{z{z{z|zzzyzzzz{{z{zz|{{{{{{zz{{{{{{{z{{zzzzyzz{{{|{{|{{zy{z{z{{{||{{z{{zzz{z{{{{|{{}||zz{z{{{z{{{|{{|||{{{{zz{{}{{|z{{{z{zz{{{{{|||{{|{z{zz{{{{|{|{|||}z{z{{|{|}{|{{||{z|{{{z{{{{{|{||{{{{{{z|}{{{{{|{|z{{{{zz{z{|{{||{{{y{zzzz|{{z|{{{{{zzzz{z{{{{{|{zyzyz{zz{z|{z{zzz{{{zzz{|{{{zz{|{{{{{zz{z{{|{{{||{zz{zz{|zz{{|{{|z{{z{zz{||z{|{{z{zzz{z{z{{{z{{{{zzzzzzz{z{{{|{{{z{{{zz{{{{{z{{{zyyzyzz{{zy|{z{{zzzyzzzzz{z{{{|z{yz{zzz{{{{{{{{z{zz{zzzz{{{|{{{zz{{zyzzzz{z|{{{{z{{yy{zzz{{{z{{{zzz{z{{z|{|z{|z|{{{yzzzyz{zyz{|{{zzzzz{{{{{|{|{{{z{{zzzzzz{||{{{{zy{{z{y{{{{{{|{{z{{{zzz{}|{{|||{{{z{zzzz||{z||{{z{zz{{z{{|{|z|{{{|zzz{z{{{|{|{{z{zzz{{{{|||{|||{|{{zzz{|{|{{||}{{{{z{|{|{{{{{|||{{{{{{{{|{||{{{|{z{{{{{|{|}{{{{z{{z|zz{{z{{{{{|{{{z{|||{|||{|{|{{{zzzz{z{{{|{{|{zz{{{{z{{{|z{|{{{{zzzzzz}|z{zz{|{{z{{{zz{z{z{|||zy{z|yzz{{||{{{zz{yzy{{|{{{{{{{zy{{{yz{{|{y{{{{{{zyzzzy{{{|{{{{{z{zzzzz{{{{z{{{{{{y{zz{z{{zz{{z{{zzzzyzz{{|{{{{{{zzzzzzyz{{{{z{y{zzzzz{zz{{|{{{{zzzzz{z{{|{z{|{z{zz{{zzz{z{{|{z{{zzzzzzy{{zz|z{z{zzzzyz{|{{{z{{y{zyzz{|{{{z{{{{zz{zzzzz{{{{{{{|{z{{{zzz{zz|{{{{{zz{{z{zz{{|z{{{{zzz{zzz{{{{z{|{{{zz{{z|{{z{{||{zz{z{{zzzz{{||{|{{yyz|zz|{{|{|}|{{{|{z{z{{||||}{{{{{{z{z{||{||{{{{{{{{|{{{|{{||}{{{{z{{{{||||||{{{{{zz{{||||{|{|{{{{z{{z{{{|{||{{|{{|{{{{{{|z{{|{|zz{{z{||{{{{{{{{{|z{{z{{{{{{{{{{{{zz{z{z|{{{{{{{z{{z{yz{{{{{|{{z{zzzy{{{{{{||{z{z{z{{zzzz|z{|{{{{|zz|{{{|{zz{{{|{zz{zzz{{{{{{}{{{yzzzzzz{{z|{{zz{zzz{y{{{{y{zz{zzz{{zz{{{{z{{{zzzzzz{z{z{|{zz{{{zzyzy{{{{z{|{{|zz{z|yzz{z{{{{{{zzz{zzzz{{zzz{zzzzzzzzyzz{zzzzzyyzzzz{zz{{{|{{{{{zzzzzy{z{z{{{{{zzzzyz{{z{{{z{{{{{zzzzz{z|{{||{{z{zzzzzz{{{{{{|{{{{|z{z|||{{{|{zzzzz{zz{{{z|{{{{{|z{{{{{{{{{|||{{{z{{{{{{{|{|{|zzzz{z{{{{||{{||zz{{{{zz|||{{|{{{{{zz|{{{}{|{|}|{{{z{{{{{|||{||{|zz|{{|{|{{{{{|||{{{{{{{z|{{{{||{{{z{{z|{{|{|||}{{{{|z{{z|zz{{||{{{{z{{z{{{{z{{{{y{z{z{z{|{||{{|||{{zzzz{|||{{{|{{zz{{{{|{{{{{|{|{{{z{|z|{{{|{{|{{{{zzzz{|{|{z||z{zzz{zy{||{z||{zzzz{{zz{{|{z{{zzzz{zzzy{{}z{{|{{z{zzzzzzz{{zz{{{zy{z{{zz{||{zzz{{zzz{yz{|z{{{{{{{z{zz{{{{{{|{|zzz{{{z{y{{|z{z{zz{{{z{zzzzz{{|z{{z{{{{zzz{{|z{|{{{zz{z{zz|{|{{{|{{zzz{zz{{{zz{{{{{zzzzzzz||z|{{{|{{{{z{z{{{{{{{{zz{|zzzz|{{{|{}|{{{|zz{{||{{{|{{{|{{{z{{|{{|||||z{{{{{{||{|}|}||{z|z{{z{|{||||}|{z|{z{{z{|}{||||{{{{{||{{{{||}}||{{|{{{z{|{|||{}{{{{zz{||}{|{|||{{|{|{|{|{{|{{||||{|{{{z|||{|{{}z||z{{zz{|{||{{||{{{z{{{{{{{|{{|{{{{|z{z|||{|{||{|{z{zz{z||z{{|{{zz{yzz{{{{{|||{|zzz{{{z{z{z{||{{z{zz{z{{{{{z{{{{{zzz{{z||{{z}z{zz{zz{zz{{{zzz{{{{zyzzz{{z{zz||zzzzzz{{z{zzz{{{{{{zzzz{zz{{{{{{{zzzz{zy{z{{z{{{{{yzzz{zz{{z{{y{{zzzz{zzz{{{{zz{{z{{yzzzzz{{zz{z{zzzzzz{z{{z{|{||zzyzy{zy{{{{{zz{zzzzzz{{zzz{{{|{zzzz{zzz{{|{{{|{{{{{{zzz{{{{|{{{{z{z{{|yz|{{{{{{z{{{z||{{{{z{{||{zzz{{{{{z|{|{{|zz{{{z{{{{z{|{}|{{z{{z{z{{{{|{|{{zz|{{{{z{{{|{}||{{zz|{{z|{|{{{{|z{{{{z{{{{|{{||{z{{{{z||||{|{{||y{{zzz{{{||{{|}|{z{{|{{{{|{}|||{{{z{{{z|z{|{{{|{{z{zz{{{{z|{|{{{{zzzz{z{{{{{|{||{zyzzzz{{{{{z{{{zzzz{zz{|{z{}{|{zz{|zzz{{{|z|{|{z{zzzz{z{|{{{||{zzzzzzzz{z{{|{|{zzzz|zz{|{{{||{z{zzzzzz{{zzz{{{{{zzz{z{z{zz{|{{{zzzz{{z{{{|{{{z{zzzz{yy{z|z{{||zz{{zyyz{zzz{|{{zyzzyzzyz{{yzzzz{{{z{{yz{{zz{{{{yzzzzzzz{z{z{{{{zzzyyzzz{{{{{{|{yz{zzz{{z{{{z|{|{z{{y{zz{{|{{{|{{{zz|{zz{|{|z{z||zzz{zz{z{{{{z|z{|{|{{{{{||z{{{{{{{{{{{{{{||{|{||z{z|{{z{|{{||||{{zzzzz{||{||||{{|z{{{{z||{|{{|||{{{z{z||||{{|||{{{|{z|z{|{{|}|{|{z{zz{{{{{|||{|{{z{{zz{{{{|{{{|{{{z{{{{z{{{{{{|z{{z{{|{z{{{{|||{zz{{z{|z{|{{{{z{zzz{{zz{z{{z}|{|zzy{z{z{|{z{{|{{{{|{{{zy{|{{|||{zzz{{{z{{{|{|z||{{{z{{{{{|{{{{{{{{{zz{z{{|{{{{|{z{{zz{z{{y{{||z{{zzz{zz{{{{{||{{zzzzzz{{{{|z{{|zzzzzz{{{z{z{{{z|{z{z{zzz{|{|{{{zzzz{{zzz{{|{{{{{{zzzzzzz{{|{z{{{zz{zz{zzz{{{zz{zz{zzyzx{{{{{{|{{zzzzzzz{{{{{{{{z{zz{z{{{{|{{{{{y{{{zzz{{{|{{{{{{{{yzz{z{{{{|}{zz{zz{zz{|{{{|{|{{{{z{|zzz{{z{{{{{{{|{zzz||{|||z{{{z{{z{{{{{{{|z}|z{{zz{{|{{|{|{{{z{{{z{z||{{|||{|{{{{{{||||{{|{||{z{z{|{z{||}||{|{{|{|{||{||{||||{{{|z|{{{}{|{|||{{{{{{{|{{{||{|{{{{{{zz||{{|}{{{{z{{{{zz|{}{{{|z{{yzzz{{{{{{{{zz{{{{y{z{{{{{z{{{zz{{zz{{|{{{{|{zzy{z{{{z|{{{{{{yz{z{yz{z{|{{{|{zzzyzzzzz{{{{{{{zz{zzzzz{{{{{|{{{{zzzzzz{{{{{{{{z{zzzzzz{{{{{|{{zzzzzzyz{{{|{{zz|zzzzyzy{{{z{|{{zzzzy{zzz{{{zz{{zy{zzz{yz{zzz{{{zzzz{zz{{zz{{{{{zyzzzz{zzz{{{z{{{z{zzzyzz{{{{{|{{zzzzz{zz{{|{{{|{{{zy{zz{z{{{{|}zz{{z{zzz{{{z||{{zzzz{{z{{z{{{|z{z{{zzzz|{z{|{{{{{zzz{{{{{{z{|||{{{{{z{z{|{||{|{{{z{{{z{{|||||{{{zz{{z{z{{{{|{||{{{{z{|{{{|{|{|||{{{{{{z{}{||||||||{{{{{{|||||{|||{{z{z{|||{{|}{||{|{{{|{}|||}{|z{{zz{{{{z|{{}{|||{{zz{z{}z|{{{|{{{{zzzz|{{{{{||zz{{{{zzz||{{{|{|{{zzzy{{zz{|{{{|{z{zz{z{z{z{{}|z{{yz{{{{{{{z{|{{z{zyzzzz{{{z{z|{z{{{y{z{{{zz{{{{zzzzzzy{{{zzz{{{zzz{zzz{{{{{{z{zyzzy{zz{{{z{z{{zzzyyzyz{{{{{{{z{zy{yyzyzz{z{z{|zz{{yy{zzzz{yz|{zz{yzzzyyzz|z{|{zzzzzzzzz{{z{{{{{{{yzzzy{z{{zz{{{{zz{z{zzz{z{{||yz{{zzzz{{{{{{||{yz{{z{y{{|{{|{{{{z{{zyz{||{{{{{zy{{z{zz{{{zz{{{{{z{zz{|{{{{}|z{z{|{{z{z{|{|{{||{z{z{zz{{{||{|}{{y{{{{{{|{|{|{||{z{{z{{z{}||||||{z|z{{{||}||}||{|{{{{{{{{{||{{{{zz{{{{{{{{||||||{|{{{{|{{{{|{{{{z|{{{z{z{|{{|{|{{zz{{z{z{|{{{|{{{{{z{zz{{{{{{|{{{{zzzzz{{|{{{{|{z{{z{yzy{{{{{z{|z{zyyzz|{{{{{z|{{y|zzyyzz{|{z{{||{zyzzzy{{{{{{z{{z{zz{zz{{z{z{{{zz{zzzzz{{zzzz{zzzzz{zzzyz{{z{z{zy{zzzzzz{zz{{{{{z{zz{zzz{{||{{{yyyz{zzz{{|{{{{{zz{zyzzy{{{{z{{{{yzyzzzzy{{z|{z{zzz{zzzz{{{|{z{|{zzz{zy{z{{{{{{{{{zzzzz{z{{{||{|zz{zz{y{{{|{{{{|{{{{{zzz{{{{{{{{|z{{z{zz{{{{{|{{zz{{{z{{{zz|{{}{{{{z{{{{z{{{{}|{z{z{|{zz{|{{||{{{{{{{{{y{|{{|{|{{z{{{{z{|}|{{{|{{z|z{||{{{{{|||||{{z{z{|||{|}{|||{|{z{z{z{||{{|{{z|{|z{|{|z{||{{|{|{|{{|{|||{{{|{z{{{zz{|||{{|{|{z{{{z{z||z||||{z||zzzz{{{z||{{{zzzz|zzz{|{{{{||{zz{z|{zz{|{{{{|{{{z{{zy{z{{||{{z{zz{{z{{z||{{{|{{{{zzzzz|{|z|{|zzzyz{{{z|{z{||{|zzzzzzz{{{{zz{{z{zz{zzz{zz{{z{{{{{yzy{{{{zz{||{{{zzy{yzzz|z{|{z{{zzzzzz{zz{{{{|{z{zzzzzz{{{zzz{zzzzyyzzz{z{{|{zz{z{{{zzz{{{{{{|{yzyz{{{z{{{|z|{{{zz{y{zz|{{{{|{{zzzz{zzz{|{|{z{|z{z{zzz{{z{|{{{{z{{z{z{{|{{zz|{{{z{zzz{{z{{{|{{{{{z{{z{{{{|||{|z{zz{{{{{{{{|||{|{{{z{{{}z{||||{|{{||{{{z{{{{{|}{z{{{{{{{}|{{|||{{{zz|{{{|||{{|{|{{|z|{{}}{|{{{|{{|z{y{|{||z|||z{z{{{{z{||{|{||||{zz{{zz{|{{|{}{{{{zzz|z|{|{{|{{{y{{{{{zz{|zz{{|{zzz{zzz{{|{{{{|{z{zz{zz{{{{{||{{zzz|z{z|{z{{{|{{|z{zzz{{{{{{{{{|zzz{yzz{z|{z{{{{z{{{zzz{{|zz{{z{{z{{{z{{{|z{{{{|zzzz{z{{{{{z{{{zz{z{z{y{|{{|{|{zzzz{zz{z{zz{z{{{{zzzzzz{{z{|{{|{z{zzzzzz{zz{|{{{{zz{zz{{z{z{{{{z{zz{{zz{{|{{z{{{zyy{yz{{{{zz{{{{zzzzy{zz{{{{{{{z{z|{z{{z{{{{{{{{z{|{yzz{{{{||{{{{{{{{z{|z|{{{{|{zz{{{zzzz{|{|{{{{z{z{z{{|||{{|{{{{z|z{|{}z{||}|{{{zzzzy|{||||{{|{z{z{z{{}||||{|{{|z|{{{{}{{||{||{{{{|{|{}{|||{||{{|{{zz|||{{{||{z{{{{z|{{|||}{|{{{{{|{{||{{z}|||{|z{|{{{{{|{||{{{z{z{{{z}}{}|{|zzzz{zzz{{|{{}|zy{zzz{zz{{{{|{|{{{zzzzzz{z{{{z|{{{z{{{{z{{{{|{{{{zz{{zz{{{{{{|{|{z{|zyz{{{{|{|z|zz{y{yzzzz|z{zz{{{{{z{zzz{{zz{{{zzzyz{zzzzzzz{{{zz{y|{{y{{z{{{{zz{{zzzz{{{{z{{{z{{zzyzyy{zz|{{{zzzzzzzzzz{zz{{z{zz{y{zzzzz{zz{z{{y{zz{zz{{{|z{{{{{zzzyyz{{{{zz{|{{z{zzzz||zz{z{|{z|zyz{zz{{{zz{|{z{zz{zzzz{{{{{{zzz{z{zz{{|{{z}{z{yzzzzz{{{|z|{{zzzzzzzzz{||{||{{{zz{zz{{|{|{z|{{z|z{{{{|||{}{|{{{{{{{{{||{|||||{{{{z{{{||{||||||z{{{{{{z|{||||||{{{{{{z{|{{{|||{z{z{{z|z{{||{}|{{{|{{{{||{{|{{{|{zz{z{{{{z{{|{|{z{{z{{z{{{{||{{{z{z{{zz|{{{|z{|{zzzzz{z{{{z{{||z{zzzzz{zz{{{{|{{zyzz{zz{{zz|{{|{{zzzz{{z{{{{{|z{{{zzzzz{|{{{{{|zzzzzyz{zzz{{{{z{zzzzzzz{zzz{{{zzzz{zzzz{{z|z{z{zz{z|zzz{z{{{{{zzzzzzzy{z{{{z{{{{z{yxzzz{{{|{{{zzzzzzz{zzz{{zzzz|z{zz{yzz{{{z{{{z{zyz{zz{{z{z|{{z{zz{{|z{z{{{z{zzz{{z{zz{{y{{|{|{zzzzz{{{{{|z{{{{z{{{zz{{{{{|{zz{z{{zzz{{{z{z{{{{z{z{z{{{{|z{|{{z{z{z{z{{{{||{{|{{{zzz{{{{{|||{|{zz{z{{z{||{{{|{{{z{{zz{{|{||{{|zz|{{|z{{{|||{|||{{{z{{{{|{|||~{|z{z{{{zz|{{{}||zzz{|{{{{{|{||{|{{{{|{z{|{||{||}{{{zz{zz{{{{{||{{{{z{{zz{{{{|{{{z|{z{zy{{{{{{{z|zzz{z{z{{|zz|{|{{{zz{zzy{{{||{{|z{zz{zzz{|{|{||{{z{yz|zz{{||{z{|zzzzzzzzz{|{{{{|{{zz{{y{{{|zz{{zzyzzz{zz{z{zz{zzzzzy{zzz{z{{{{{{z{zzzyzz{{{{{z{{{{zzy{zzy{|z{{{{zy{zyzz{z{|{z{}{zzzy{zyy{{z{z{{{{{{zzyz{{|{{{{{z{z|{z{zz{{{z{z{{{zzzzz{zy{{{{{{|{{{yzz{z{{{{z{||{z{{zy{{{{z{z{|{{{{zzz{z{{|zz{{{{z{{zzzz|{{{||{|{z{{{z{z||{{{z{|zzzzz{zz{z{|{{|{zz|z{|{z|{z{|{{|zz{{{z{z{|||||{|{{|z{zz{||{|{||||{{zz{|{{{{{{||{|{{{{{{{{}||{{{||{{{{{{{||{{|||{{{z{{{z|{{|{|{||{{{{{{{{z||||||{{|zzzzz{z{{{z{}{{z{zyzzz{|||{||{zz{{{zyz|{{{|zz{|{z{{zzy{{{{z{||z{z{{zy{{||{{{{|{{{zzzzyz|{z{{|{{{zz{{{z{{|{{}{|z|zzy{zz{{{|{z{|zzz{{{zzzz{{{{|{{{{{{zzzz{{{{|{{{{z{{{zz{{{{z{z{yz{yzzzz{{{{z|{z{zzzzzzzzz{{|z{zzzzzyzzz{zzzy{{{{zy{zyzz{zzzzz{{y{zzzzz{{zz{z{{|yzzzz{zz{z{|z|{{{zzz{{z{z{{{{z|{{z{z{zz{z{{zz{z{{z{zzz{z{|||{|{{{{z{{{zz{{{{z|||{z{zy{zy|zz{{{z{zz{{{zzz{{{{z{z{{zz{{{{z{z|{{{{|z{{{z{{{z|||||||{z{z|z{{{{||||}{{{{|{{z{{}|{{{||{z{{{|{{z|{{|||{|z{{{|{{z{{{{|{|{{{{zz{z{{|||{||{{z{{{{{{{|{{|}||z{z{{z{{{|{|{||{{{{{zzz{||{|||||{z{{{{z|||{{{z{{z{zzz{{|{{{{z|{zz{z{zzz{{{{{{|{zz{z{zzz|{{z{|||{{z{zzzz{||{{{|{zz{z{zzz|{{{{{{||z{{zz{z{z{{{|{{zz{zzzzz{{{{|{{|{z{{{zz{{{{{{{z{{{zzzzzz{zzz{{{|z{{zyyz{{{z{z{{{zzzyzzyzzzz{{{{z{{{zyz{y{{z{{z{y{z{|yz{z{{z{{z{{{z{zzzzzz{{{z{{{zz{zz{zz{zz|{{{{{z{zzzzzz{{|{{z|{y{{zz{{zzz{{{|{zz{{z{zz|{zzz{|{{{zzzz|z{{||{}|{{yz{z{zz{{{|z||z{{zz{zzz{{{{{|{{|{{{zz{z{{{|||{{{{{{{{{z||||{{}{{z{{|zzz{}{|{|{||z{{{z|{z||{|{|||z{{z{{|{{|||{}}|{{z{|{{{|{|}|||||||{|{{{{||{|||{z{z{{{{{{{||||{||{{{{z{z{{{{|{|{{zzzzzz{{{{|||{z{z{{{{z|{{||{|{{{{z{zz{{||{{{{{zz{{yzzy{||{|z{{{z{yyzzz{|z{{|{|{z{zz{{zzz|{|{|{{zz{z{zz{{z{z{{{{z{zzzzzz{{{{{zzz{z{{zzzz{|{z{z{zz{zzzzz{{{{z|z{zz{zz{y{zz{{z|{zzzyzz{zz{{{zzz{{zz{zzzyzz{{z{zy{{{{{zzzz{{{{z{{{zyzz{z{zz{zz{z|zzzz{zyzzy{{{y{{{{{{z{zzzzzz{|||{y{z{zzyzz|{{{|{{z{z{zzzz{{{{{{{{zyzzz{zzz{|{z||{zz{{{zzz{zz{{{{{{zzz{{y|{{{{{||{{{z{zzz{{{{{zz{zzzzzz|{{{||||{||z|{|{{{{|||{{|{|{|{{z{{{|{|z{{{||{z{|{{{{}{{|}||z{|zz|{{|{|{||{|{y{{{{{{{|||{{{{||{{{z{z|{{||||||{{{{{zz{{{{|{|{{|{{{{z{{{{}{{{|zzz{zzzz||{{{{{{zz{{z{zz{|z|{|}zzz{z{z{z{{{zz{z{zzz{{z{{{{|{{z|{z{zyyz{yzz{{z{{z{{{zzzzz{{{z{{|{zyy{zyzz{zz{{{{z|yzzzz{yz{z{{{{{zzzzzz{{z{zz{|{{{{zzyzzyzzz{{z{{{{y{zzyz{z{zz|{|yzzyzyzzzz{zyzz|zz{zzzzy{y{zzzz|zzyzyz{zz{{zz{{{zzzzzyzyz{{z{{zy{yzzzzzyyzzzz{{{zzzzyzyyz{z{{{{{{{zzzzzz{|{zzz|zzzz{yyzz{zz{{{{{z{{zzzzz{{{{{{||zz|zzy{zz{{{{{{{zz{{yzzzzz{{{{||{{zzzzzzz{|{{|{|zzzz{|z{z{|{{{|{{{z{{{{z{{z{{{||{z{z{zzz{{|{{{{{{{zz{zz{}{{{{||{{zzzzzz{z|{{|||{|zz{|{{z{|{{{|||||z{zy{{|{|{{{{{{{zz{z{z{{z{||{{z{{z{z{{{|{z{z{|z{{zzzyzz{z{{{{{{{zzzzzz{|||{{{{|zzzyz{y{{{zz{z|{zzz{zz{{z{z{{{{z{{{{yzyz{{z{{{|{zzyzzyzz{{{{{{{{z{zzzzzz{{{zz{{z{{zyz{z{zzz{{|{z{{{{z{{z{y{zzzyzz{zz{zzz|{zz{z{{zzzzzzzzzyz{{{|zzzzzyzyz{{zzy{{{zzzyzyyyzzy{z{{zzz{xyzz{zz{{{z{zy{zzzzzzzzz{{{{{zzzz{zyzzyzzzz{zyzzyzyzzzzz{||zzzyyzzzz{z{{z{{|zzzz{zzzz{{zzz||zz{yzz{zzz{zz{{{z{yzzxzz{zz{{|z{z{zz{zzz{{{{z|{{z{{z{zz{{||{y{z|z{zy{{zz{z{{||z{zz{{{z{{{|{{{{{|z{{{zzyz{|z{||{{{{|{{zz{{||{|{|zz{zzz|{z|{|{{||}{{{{{{z|{|{{{{|}|{{z{z{{z|{|{|{{|{{z||zz{{{{||{|{{zz{{z{{{{|{{|{{zzzzzz{{|{z{{{|{{{zzz{yz{{|{{z{{{{{zzyzz{||{{z{{{zzzyzz{{{||||{{zzzzyz{|{{{{{{{{{zyz{{z{{{|{{|zzzzzzzy{{{z|{{{{zz{zzzzz{z{{z{z{{z{yyz{yz{{zz{{zzz{{{z{z{z|{{{{zy{z{zzz{{zz{z{{{zzzzzyyzz{{{{{{z{zzyzzzz{y{{{{{zz{zz{zzzy{z{z{{{{zz{zzzz{{{yz{{{{zzzyzzyzzz{z{{{zz{zzzz{{z{{{{{{zzzzzy{yzz{z{{{{zz{{zz{z|zz{{{{|zzzzzzz{{z|z{{||zzz{{zz{y{{{|}{{{z{zz{zz{z{{z{{z{{z{zzzz{{{{{{{|{z{z{zzz{|||{{{z{z{{{zzz{{|{{||{{zzzz{{z||{||{||{{z{{{{z{|{{{||{z{zy{{{z{{{|}{|{{|{{{{z{{{||||||{z{{zzzz|||{{|||{z|{zz{{{{{{||}|{{zz{zzz{|{{{|{|{z{z{{z{{|{||||{|{{z{zzz{{{|{z|{{z{{zz{y|{{{||{|zz{z{z|{{{{{{{{z{{z{zz{{{||{z{{{{{z{zz{{{|{{{{{{z{{{{{zz{{{{{{||{|{zz{{y{{|{z{{{{zzzz{{zzz{{{||{|zzzzzzz{{{z{|{{zzzzz{zyzz{{{{||{zyz{zzz{{{z{{{{zzzyzzzzz{z{{zz{{zzzzzzzz{{{{{|z{{zz{y{z{{zzz{{{{{zzzzzz{{z{z{z{zz{{zzzz{z{{{z{{{zzzzzzzz{z{{{{|{{{zzz{{{|z{|{z{{{{{z{{z{{|{{|{|{{{|zzz{{|{{{{{{{zz|{{z{{|z{z{{{|{z{{zzz{||{{{|{{{zz{{{{{||{{|||{z{{{{|{|{{|||}}{{z{{zz{{||||{|||{{|z{|{{}{|||}|z{{{{{|zz{|||||{{|{{z|{{{|{||{|||{{|{{{{{{||{{|||z|{{{{{{||{|{{}|zz{|z|{{|{{||{|{|z{z{{|||{|{||{{{zz{|z{|{{|}||{{z{{zz{z|{{|||{{zzzzzzz{z{{{{|{}{zy{zzz{{{{{|{|{{{{z{{z{|{{z|{{|{y{{z{{{z{{{{{{{{z{{{{zz{z{|{{{|zzzz{zzyz{z{{{|{zz{zzz{{z||zz{|zzz{z{z{z{{{zz{|{zz{yzzzz{{|{{{|zzzzzzzyz{|{zz{{||{z{zzyz{{{{y{z|{{zzzzzyz{{zz{{|zzyzzzyzz|{{{|{{yz{z{{zz{z{{z{|{zz{zzy{zz{{{|{{{{y{zzz{{{|{}z{{{{{{zzz{{z{{zz{|{{{{{zz{y{|{|||{{zzzz{{{{{{{z{||{{z{|{{{z|||{|{|{{{{{{z|{|{||{|||{z{zz{z{|{{||{||{{{{zzz{}{{||{}||{{{{{{{{|||{|||{z{{{|z{{|{||{|||{{{{|{{{}||{{}}{{z{{{{|{|||{{{|{zzzzzz{{||{{|}|{}{{{{z{{|{{|{{{{{{{z{z{{|{{z|||{y{{{z{|{{{|{||{z{|z{z{{z{{|{{z{z{{zzzzz{|{{zz{{{zy{{zz{z{||{z{{{zy{z{{{|{zy{{{{zyz{zzyzz{{{z{{{z|{zzzzy{{{{{|{z{zzzzzyzz{{zz{{{z{{zzzzz{{{zz{{{y{zzzz{{{z{{z{z{z{{z{zzzz{{zz{{|yzz{y{y{z{{{{|{{{{zzyzzzz{{|{{z{{zy{yyzyz{zzzz{{zzzz{zzzz|{{|{z{zyzzy{zzz{{{{{{{zzz{zzz{{z{|{{{{{z{zz{yz{zz{z{{zz{{{{zz{{{{{{|{z{z{zyzzy{{z{{{{{{z{yzzzz{|{{{{|{z{zzz{zzz||z{{{{|{{{{z{zz{|z{{{{z{|z{{{{||{|{{||{{{{z{zy||{{{{|{zzz{{{{z{||{||{||z{z{{{z{{z{{||||z|{{|z{{|||{{|||{|{{|z{{|{{{{|||{{{z{{||{{||{{{{z|z{{zz{z{|||{{{z{zzzz{|{|z{|{|zzz{{{|z{{{|{||||{{yzzzz{{|{zz{|z{{zzz{zz{{{zz{{zz{{zzz{{{z{{{||{{{{zz{z{z{{zz{{z{zzzzz{{|{{z{{{{{|zzzzzz{{{z|{{z{{{{zzz{{z{|{z{{yzzyzz{{{{{{{zzz{zyz{y{z{{{y{z{z{zzzyzzz{zz{{{zzzyzz{y{|{{y{z{{{yzzzzzzzzz{zy{|zyzz{zzzzzzzz{{|zzzyzzzyz{z{z|{{zyzzyzzz{{{{{{{{zz{zzzzzz{{{{{{{{{{yyzzz{z{{{z||{{{z{zzz{{{z{{|{{z{y{zzz{z{zz|{{{{z{z{zz|{|{{||{{{zz{{{z{{{{z||{{z{{zzzz{z{}{{{{y{{{zzzzzz{{z||{{{{z{y{zz{{{{|{z{z{z{z{{|{|{||}{|{|z{{|{z{|{}|{||z{{{{z{{|z||||||z{{zz{{||{|{{|z|z{{|{{|{{{{|{{{|{{{|z{{z{{}{{z|{|zzzzzzz{{{{{|z|{z{{z{z{||{z{{|{{{{z{zz{|{{{|{z{zz{z{z{|zz{{{{|{{zyzz{{{{{{||||{{z{{{{z{z{z{{{{{{zzzz{{{{{{{|{{zz{{zyzzzz{z{{{|{zyz{zzzz|zz{|{zzz{zzy{{{{{z{{{{zz{{z{zy{zz{{{zzzyzz{zyyzzy{{{{|{zzyzzzy{zzz{zz{z{z{{zy{{y{{zz|{zz{{zzzy{yzzyz{{{z{yzyzyz{z{{{z{zzzz{z{zzzzzz{{{{zyz{z{zz{{{{{{|zz|{yz{zz{{{zz{{zzy{{zzzz{|{{z{{{z{z{{zzz{{z|{{{{{{z{zzz{|}|z{|{{z{{zzyz||z{{{{{{y{z{{yz{z{{{{||zz{z|{z{{{{{{{{{|z{{{{{z|{{{{|{||zzz{zz{||{z{||{{{zz{{{{{z{{{|{||zz|z{{{{|{{}||{||{{{z{{||{|{{||{{z|{z{z{{{|{|{|{{z{{{zz{{{{{|{|{{{zzz{{{{{{||{{{{zzz{{{{{z{{{|{{{{zzzzz|{|z{|{|{zzzzyz{||{z{{{|{{zzyzz{z|{{{{|{{zzz{zzzz{{|{{|{|z{y{zzzz{{{z{{|{{zzzyyy{{{{{{|{{z{zzz{z{{z{{{{{|{{zzzzzz{{|{{{|z{{z{zzzzy{|{{z{zzyzzzzz{{{{z{|z|zzz{zyz{{|{{{{z{z{yyzz{z{z{zz|{{yz{yzzyy{{zzz{{{z{z{yzzz{{z{{{{yyz{z{zzz{{|{{|{{zzzz{zzz{z{z{{{zzzzzz{z{z|{{|z{zz{z{zz{zz{{{{|{z{{{zyzz{{||{{||{{{{zz{{{{{|{{|z{{{zz{zz{{{z{{|z|{{{{zz{{{{|{{{|{{zz{{{z}|{{||||{{z{{{z{||}{|{||}z{{{|{{|{|{{|}{{{{{{|{{{|z{||||{{{|{{||z}||{||}|{{||z{{|{{|{{|{|{{{{{{{z{|{{|||z{z{|{z{||||{||{{{{y{{z{|{{{{{||{{z{zz{{z}{{{{{{{{{zyz{{{||||{{{zzz{{z{{{{|z{|{{{{zyzyz{z|{{{{|{{{zyzz{z{z{{z{{zzz{zzzzz{|{|zz|{{{zzzzzyz{{{{{{|{z{zzzzzz{{zz{|{zz{zzzzz{z{|y|{zzy{z{{yyzz{z{{{z{{zzzzzzz{|z{{z{{zzzyzzzzz{zzzz{zzzyzzzzz{{zz{||{zzzzzyzz{{yz{zz{zzyzzyyzzzz{{{y{yzzyzyzz{z|{z{{zzzz{z{z{z{{zz||zzyzzzzz{|z||{z{z{{yzzzz{z|{{{{{z{{{|zzz{{|{z{{{zz{zzz{z|{{{z{|z{zy{zzzzz{{zz{{||{{z{{{z{{{||{|{{{z{{z{z{|{|z|||{z{{z{{z|z{|{||{|z{{{y{{{{z|||||{{{zzy|{{{{{{|{|{z{{z{z{{||}||{{{z|{{yz{|{z|||{||{{z{|z{{z{||{||{{z{z{zz|{{{{||{|z{{{{{y{|{||z|{{{{{zzzz{{{{{{|{zz{zzzzz{|||{|zz{zzzzzzz{z{{z{{{zy{zyyzz{{z{{{{{z{{xzzzy{y{z{{{{{z{{zyzyz|{{z|}{z{z{z{zy|{{zz{{{z{zzzzyzz{|{z{z{{z{{zzzzz{{{z{{{zz{zzzzyzzz{z{{zzzzzyzzzz{z{{z{zzzz{z{zzzz|z{z{|zyzzyyzz{{zzz{{{{zzzzyzyyzzzzzzzzzz{z{{zzzzz{|{{zyyzzyzyyzzzz{{{zzzzzyz{zz{z{{{{{{zyz{zy{{{{z|z{zzy{zz{y{{|{z{{{{z{{{zzz{{z{|z{{zzzz{{zz{{{{{{|{{{{{{z{{{{{z{{{z{zzzz{z{z{||{{{{z{{{{{{{||{{{{{{zz{{zz{z{{{{{{{{{{z{z{{z|{|{{|||{{z|{z{|{{{{{{|{{{z||{{{z|{}{{}||z{z{zzz{{{|{{||{zz{{z{z|z|{{{{|{{zz|z{{|{{{||{|{{zz{{zy{|z{{|||{z{{{zy{{z}{{{{|zz|zzzzz|{|{||z|{zy{yzyz{{{{z{{z{zzyzyzz{{{{z{{|{{yzyz{z{z|z{{{{z{{z{zyy{{{{z{{{{{zyzzzz{z{{{{z{zzzzyz{yy{zzz{{zzzz{{zyyz{{zz{|z{zyzyzzz{z{{zzzz{zzzzz{{zz{zz{{{zzzzzyzyz{{{z{{zyyzzzyyyz{{{{{{{zzzyyyzz{zyz{{{{zzyyzzzzz{z{z|z{yyzyzzyyzz{{zz|zzzzzyyzzz{{zz{{|{yz{zzzz{z{{{{{zzzyzzzzz{{{y{{{{}{{zyyzzy{{|{{zz{zyzzzz{{{|{{{{z{zzz{zzz{{z{{|{{zz{{|z{{z{{||{||{zz{z{{zz{{|{|{{|{z{zy{z|{{{|||{{{{z{{{{{||{z{{{|z{{z{{{|{{{|{|||{{{{z{z{|||z{||{z|{z{|{{{|{{|{{{zzz{{zz{{{{{|{||{{{|{z{{{{{{|||{z{z{zy{{{z{{{{{{zyzzzyzzzz{{|{{zz{z{z{y|z||{{{{zzzz{zyz{{{{{{{{zyz{zyzz{{zz{{{{{zzzzzz{{zz{{|{{{{z{zzzy{z|{z{{{zzyzyzzy{{zzz|{{{zzy{zzyz{{{{|{|{z{zzzzz{||zz{{{{zz{yzz{zy{{{{{{zzzyyzzzzz|z{{|{zyzyzzyy{{zz{zzzzy{zyyzyz{z|z{{z{zyzzzzzyz{yyzzzzzyzzzzyzzzzy{{zzy{z{{yzyzz{{{|{{{zy{zzzy{z{z{z|z{zzzy{z{z{zz|{zzzzzzz{z{z{{{{{{{{zzzz{zz{z{|{{{{zzzz{{z{{{{y{|{|{zz{z{z|{|{|{{|{{zz{z{{{{|||||{{{z{{{{{{{z{{|{|{{{{zz{{{z{||{|||zz{{{z{z|{{|||{z{{{{{{{{{{{{}|{|z{{{zz{z||{{{|{|z{{z{z{|{{{|||{{z{{{z{{||{|{z}{|{|zz{z{|{{|{|{{{z{z{zzz|{|z{||{zzz{zz{z{{{{|{{{{yz{zzzz|{|{{{{{z{{{{yzzz{{{z{|{{zyzzyzyz{{{{{{|{z{yy{zzz{z|{{|{{zzz{zzzz{{|{{{z{{zzzzz{zzzz{{z}zzzy{zzzzz{z{|{{{{zzzzzzzz{{{z|zzyzy{zzz{zz{z{{{zzzzzyzz{{zz{{{{zzzzyzzzz{{{{|{{z{zyyzzzz{{{{z{z{zzyzzzy{{zyzz{z{{zzz{zz{zyz{{{|yzyyyzzz{z{{z{|{{zzz{yz{zz{zy|{{zy{yyzzz{{zzz{{{yz{zzzzzz{z{{{|{z{zzzz{yz{{{z||{|{zy{{{z{{{{z|}z{{{{z{z{z|{{{{{z{{{{{z{z{{{{{|{|z{{{z{{z|{{|zz{{z{{{{zzzz{{{{{|{{z{zzy{z{|{{{{{||{{zz{{{|{|{{||{|{{{{z{{{|{||{{|zz{{zz|z||{|{{{|{{{{z{{zz|{|{{||{{z|zz{z{{|{{{{|{{{z{zzzz{{{{||{|zy{{{zz{|{{|{z{zz{zzz{{||{{{|{{z{zy{y|{{{|{{{{{{{zzzzzz{{z{{|{{{{zzz{{z|z{z{{||{z{{{z{z{|{{{|||{zzzz{z{z|{{{{{{{y{{{zz{{{{zzzz{{{zyzzz{{z{z{{{{zzzzyzyzzzz{z{{zzz{yzz{y{{{{{z{{{zz{zzy{z{zzz{{z{z{zzzyzzz{{zz{z{yzzzz{yy{z{{zz{zzzzzz|zzz|{{|{|y{zzzzzz{{{zz{{{zzy{{yzzz{z{|{|{{z{zzzzz{|{|{{||z{zzz{{z{zzz{{{{{z{{z{zz{|{|{|{{{yz{zz{z{{{{{|{{{zz{{z{{{{{z{||{{{zz{zz{{{{|||{{{{|{z{{z||{z{|||{z{{{{|z|||{{|{z{{z{z{{z||||||||{{z{{{{{||{|||||{z||z{{|||{|{{|}|z|{zz|{|||{{}{{||{{z{z{|{|{{{|{|{zz{{{z{{{|||{{{{{yz{z{{{{{{{||{{{{{{{zz||{{{|{z{{|zz{{{{|{|{{{zzzyzzzyzz{zzz|zz{{{zz{z{z{{|{|{|zzyz{{zz{{{z{{|zzz{zzyz{||{{{{|{{|{z{zz{{{|z{{|zz{{{z{z{{{{{{{{{z{y{zzz{zzz|{{{{{{zyzyzzz{{{zz{{zzyzyzzz{z{z{{z{z{zzzzzz{zz{{{{zz{zyzy{{z{{zz{|{yzzyz{yzz{{{{{{yzyy{zzyzy{z{{{zzyzzzzyzzzz{{{{{{{zzzyzz{{{{z{{{{zzzyz{z{{{{{|{{zz{zzz{{{{{z{||{|{{|{z{z{|{{{|{{{z{z{{{z{{{z{{|{zzz{{{{z{|{{{{{{{z{{z|z{{||{||||zz{{z{{{|{{||{|}{zz{zz{z||z{|||{{{{z{{{z{||||{{|z{{|{||{}{{|{||{|{{{z||{z}|{|||||z{|{{{||{{{{|}{|z{{{{{||||z|||{{{{z{{z{z{{|||||{{{{{{z{{{z{{{{|zzy{{z{z{||{{{{{{{{{{{{{{||}{{z{{zzzzyzyz{zz{y{}zy{{zzz{{{{z{{||zzyzzzzz{{zz{{{zz{{zz{zz{{{zzz||{{{yzzzy{{zz{{{|zzzzzzzzz{{y{{{z{zz{zyyzz{z{z{{{{zzzz{zyy{z{z{{{yzz{zzzzyz{{z{{{{{zyyzyz{z{z{{zzzzzzzzzz{zz{zz{{{zzzyzzzy{zzz{{zzz{z{yzyy{zz{|{{{z{{{{z{zzzzz{z{z{zzzyzz{z{{{{{{{z{zzz{z{z{{|z{{z|zzzzzz{{{{z|{|z{yzyzzzy|{{|{{zz{zz{z{zz{|z{{|{{zz{zzz{{||zz||{{zy{z{{z{z|{{||{{zz{{zz{{{|{{|{|{{{zzz{z||{{|{|{{{{zzzy{{{{{{}{{{{{z{{|{z|{{||||{{{{zz{z|{{}{{{|{z{|zz{z|{|{||||{zz{{{|{z||{|||{|{zz{{{zz{|{{{||zz{z{zzz{{{|{{||{{zzzz{{z{{|{{|{{{zz{{{{}||{|{{{z{z{zzzzz{|{{{{|zz{yzzyy{{{{||{|{zzzzzz{|{|z{||{zz{zyzzz{{{{{{{{{{z{zz{z{{z{{{z{{{z{z{{zz{|z{|{|zzz{{zzy{z{z{{{{{{{zzzzzz{zz{z{{zzzyzz{z{z{{{z{z{zzzzzzz{{{z{{z{zzzzzzzz{{{z{z{zzzyzzzzyyzzzz{{{{{yzzyzzy{zzz{{{zy{z{zzy{{z{{{|{{{{zzzz{z{{{{{{|z{z{zzzz{{z{z{{|zz{z{{y{{{{{{|||{{{{zzzy{{{{{||zzz{{zzz{{|{|||{{{zzzzzzz{|{z{|{{{{{{{{{{{z|{|||{{zz|zz{{||{|||{{{zz{{zzzz{{|{z|||y||{|z{{|||{|||{{|{{{{{||{|{{{||{{||{z|{||}{|{||{{||zz{|||{{||{|z{{{|z|{{|||{||{|z{zzz{{{{{{|||z{zz{{z{{|{|{{||{|{zzz{z{{}{z|{z{{z{{{{|{{|}~{|{{zzz{zzyzz||{{|{{{zzzyzzzz{{{{{{{z{yzzzy{zz{{z{{{{zzzzz{{{z{{z{{zzz{yzzyz{{zz{{zzzzyzzyzz{zzz||{{zzyz{zzzz{{zz{{zzzyzzyzzyz|{{z{zzzyzzyz|{{{zz{z{yy{zzy{z{{{{z{{zzzzzyzy{z{{zz{{zyzy{yzzz{{zzz|{zzyyyz{y{{zzy{{zy{zzyzzzz|{zz{{zzz{zzzzz{z{z{zz{{{z{zzzz{z|{{{{{zzzzzz{zz{{z{{{{|zzzzzz{{z|{{|zzz{zz{{yz{{{{{{|{{{z{{zyy{|{{{{|zzz{zzy{zzz{|{{{||zzzz{|{{z{|y{{}|z{{zzzz{{z{{|{{{{zz{yz{|||||{|{z{{zz{{{z||{{{|{|{{{{{{{{||||{{{{z|{{{zz|{{z{|{||z{z{{{|zz{{{|||{{{{z{{|{|{{{{{|z{|zzz{{{{{{{|}{{{zz{zz{z{{{{{{{{z{{zy{{|||}}|{{{zzzzzzzz||z{{{{zzzzzzzzzz{{z{{|zzzyzzzz{z|{{{{z{yzzzzy{z{|{{zz{z{zyzyzyzz{{z{z{{yzz{zzyzz{{{{z{{{zzzzzz{z{z{{{{yzyz{zzz{zzzz{z{z{zyyzzzzz{{z{{z{zzyz{zzz{zyz{zzzyzzyzyyzzzz{{{zzz{yzy{zzz{zz{zzzy{zzy{{z{zz{|z{zzzzzzzy{{zz{{|{z{yz{zzz{{{{zz|{zz{zzz{z{zz{{{z{{zzzzzzz{{|z{|{|{{zyzz{{zzz{z{|{{yzzzzzy{{{{{{{{{{z{zzz{{{z{{{{zzzzz{zzzzz{|{{{zz{{y{{{z{{zz{{zzz{z{{{{z{|{|{|}||{{{{{{z{|{{{{||z{{|z{{{z|{|{{{||{zzzz{z{{|||||{{{{{{{z{{|{{|{||{{|z{{z{{{{{|{|{{zy{{y{z||{||{{{z{zz{zz{|{{|{|}|z{|z{{{z{{{|{{||{{zzy{{{{{||}z{|zz{{{{zz{|{{{{|{{{zzzzz{z{z{||{{{{zzzzz{{zz{{{||{z{{{yz{{{z{{z{{yzz{yzzyz{{{{{z|z{{zz{zzz{{zz{zz{zzz{zzyz{{z{{{zz{{zzzzzzzz{zzzzz{z{zzzz{z{z{z{z{zzzzzyz{|z{{{{{y{zzyzzxyz{{z|{{z{yzzyzyzzzz{z{{{z{zzzyyzzzz{{{zzyzzz{zz{{z{|{{z{{z{z{z{{{{zzz{|zz{yz{{y|{zz{{{{zzz{z{zz{{{z|{{{z{zzzyzz{z|{||{|{z{|z{{z{{|z{{{{{zzz|z{{{|{z{{|zzzz{{z{{{z{||{{|z{zy{{|z|{{{{{{{z{z{{{{yz{{|||{{|{|{{z{{|||{|||}{zzz{{|{z|{}{{{|{{{{z{{{z||{||||{{{{{{z{|||{|{||{{{z{{|{{{||{||||{{{z{z{||{||{|{zzzz{|zz{{{|{z{||{z{{{{z{{{|{|{{z{z{{z||{|}~}|z|{z{zzzy{{z{{{zz{zyzzzzzzz{{{|{z{zzyyzzyz}{zy{{z{{zz{{zzz{{{{z{|z{{zzyy{yzz{z{{{|zzzzz{zzzz{zz||{{zz{z{zzz{{{z{zzz{{yzzzzz{zzzzz{zzzyzzzyyz{z|{{{z{zzzzzyzz{z{z|{{z{yyyyzzzz{{z{{zzzzzzzzzz{zzz{yy{zyzzzzzzy{z{{{zz{zzzzzz{zz|z{zz{zzzzyy{{zz{{{zyz{z{zz{{|{{{|{|zzzzzz{z{|{{|{{{{{{z{zzz{{z{{{z{{z{z{{yz{z|z{{|z{z{zzz{y{{{{z{{{z{{{{z{z|{{|||{{z{{z{|z{{{||{{z|{z{{|{{{{|{{{{{{z{|z{z{z|||{|{||{{{z{{|{{{{{|{{}{{z{{{{z{||{{{|||{{{{{{{|||{{{{||{{z{{z{{||}{{{||{z{{{{{{|{{z{||{|{{{{{{z{{{{{|{{z{z{z{zz{|{{}{{{z|{{{{z{{}}|{{|{zzzzzzzz{{{zz{{{zzz{zy{{z{{{|{|zzzzz{zz{{z{{{{zzzz{zz{{{{{{{zzzzzzzy{yy{z{{{{z{zzzzzzzy{{|zz{{{{z{yzz{z|{z{z{{zyzyzz|y{zz{y{{z{zz{zzzzz{z{{{z|z{zz{yzyzz{{zz|{{zyzzzzzz{zzzz{{{zzy{zzzyy{{{{{z{zzzyyzzzz{z{{{{zzzzyzzz{{{{{z{{zz{{zzyzz{z{zy{zzz{{{zzzzz{{{z{{{zzzz{{zz{{z{z{{|z{{{zyz{z{z{{{zz{zzz{{zy{{{{{|{|{{{zzzzz{{{z{{{{zzz{{z{z{{||{{|{z{{{{zzz{|z|{|}{{{z{{zzz{{{{{{{z{{{{{{|y{|{{z{}|{|z{{{{{|{|{||{||z{{z{{{{}|{{|||{zz|z{{{{{{}|{{{{z{{{{z{{{{|{{{|{z{{{zz{{{|{||||{{{{z{{|z{z{{{{{{{zzzz{y{{{{|{||{{zzz{|z||{}}{{|{zyy{xyzz|{{z{|{zzz{zzzz{{|z{{||z|zyzyzz{{{z|{{|zz{y|zz{|{{{{{||{{zyzz|{{{{{|{z{{z{yz{zyzz{z{{{{{y{zy{zz{{|yz|{zzzzzzzzz{{z{{{z{zzzyyzz{z{{zz{{zzzyzz{zz{z{z{{{{zzz{yzzy{z{z{z{{zz{yzzzz{{zzz{{{zzzzzzz{z{zzz|{{zyz{{zzz{{z{z{|z{zzz{y{z{{{{{{{{{{{zzzz{{{{|{{{{{z{z{zzzz{|{{||{{{{{zz{z{{z|{{|{{z{{z{z{{{|z{{||{z{{{z{{{{{{{|||zz{z{z{{||||||||{zz{z{|{{{{{|{||z{zy{z{z{{|{{||{{{{{|z{z||{{|||{{zz{{{|{{|{|{||||{{{z|{{{|{|{||{|{{|{zz{{{||{||||{{{{{z{{{||{{||{zz{{{{z{||{||||{{{z{z{{{|z{{{|{{{{{{{zz{{{|{||{{{|{z{{{{|}}}{|z{{zz{{zy{{{{zz{{{zyz{zzz{z{{zz{{zyz{zzzy{{z{{{|{|z{z{zz{{{{{{{{{{zzzyz{zzz|z{{z{zzzyzz|z{{{{{{{{z{zz{yzz{|{|{{{{z{z{zz{zz{{{z|{|zzzzzyzz|z{zz|{z{zzzyzzz{z{z{{{z{z{yyyzzz{zz|{{zzzzz{zzzz{{{zy{{z{zzzzyz{{{z{|}{z{z{zzz{{z{{z{{{{{z{|zz{{{{|z{{|{y{zzzzzzz{{z{|{yz{z{|zy{{{{|z|{zy{z{yz{{{|{}|{|{{zz{zzy|{{{|{{z{{zz{{z{{{|{{{{{z{{z{zz{{||||{|{z{{{{{{{{{{|{|{|{z{{|zz{{|{}|||{|z|{z{{{|{|||||{|zz{z{|{z|{{|{||{z|{{{{{|||||||}{{z{{{{{{|{|{}{{{{{|{z{{|{z{{{||{{{{{{{||||{{{{|z{{{{{{{{{{{|{||{{z{z{z{{|{|{||zz{|zzzz{{||}}|{{{{zyzyzzz{{{z{{{{zz{{zzzz{z{{{||{zz{zzyz{z{{|{|{{z{z{zzzz{{{{z{{{z{zzz{z{z{{{{{}{zzyz{{z{|{z{{|{{z{{zzzzz{zzz{{z{zyzzzzzzz{{z{|{y{{yzz{yz{{z{z{{{zzzzzy{{{{{{{{zz{zzzzzzz{{zzz{{{zzzzzzzz{zz{{{{z{zyzzyz{{{{{{zzzzzzzzz{{z{{z{{{{{z{{yzy{{{|z{{{{yz{zyzz{{{{{z{|{{{{zz{{z{|{{{{{{{{z{z{z{||{z{z{{{z{{y{z|{{{{{{{{z{z{{z{z|{|z{{{{zzz{{{{{||{{}{{{{|{z{{{||z|{|{|{{z{{zzz{{{||{{{{z{{{{{z||{|z{{|{{{{z{{{|}{{|}|||{{|zz{{z|||{||||{{zz{{{|{z||||||zz{{{y{{|{{||||{|y{{zz{||{{||{|z{zzzz{zz|{{{{}|{{zzz{{{{{}{{|||{{{z{{{{|{{{{z{z{zzzzz{y{{|{{z{{{zyzzyzz{{{z{{|{zzy{{z{{{z{z{|||{zzzzzyz{{{{z{{{z{{zzzzz{{{{{{{{{zyyzzzy{{|z{z|z{yzzzzyzz{{{{z{zzzzzz{zyz{{{y{{zzzzyzzzz{{{zzz{|zzzzzzyzy{{z{{|{zz{zzzzz{y{zzz|{y{zzzzzyy{{zz{{{{{zyzzy{z{z{z{{zzzzz{z{y{zz{z{z{{zzzzyzz{{{z{{{{{zzz{z{y{{}{{|z|zzzzzzz{{|{z{{{{{z{{{z{zz{z{{{|{|z{z{zzz{{|{{{|{{{{zzyz{{{{||{{|{{{{z{zz|{{|{|{{{z{{zz{z{|{{z|{||{{{z{{z{{|||}{|{z{z{y{z{|{|||{{|z{{y{|{{{{{||{|{{|{{zzz{|}{}{{}{z{{z{{{{{{{{|{|{z{{{z{{{z{{z|||{zz|{z{{{{{{{|{||zzzzz|{{{{{{{}{{{{{z{{yz{|{{{|{z{{{{z{{|{|{|{z{{zzyy{zzz{z{z{{zzzzzyzzz{{{{{{{zzzzz{{zz{{{z{{|{{z{zz{z{{z|{{zz{zzzz{zzzz{zyz{{{{zzzzzzz{{zzz{zz{yzzzyzz{{{{z{{{z{zyzzzzzz{zzzzzzyyzzzzzz|zz{{{{{z{zzyz{z{|z{zz{zzzzzzzzzzzy{zz{zzzzyzzzzzzzz{zzyz{yyzzy{zzz||{{zzz{zzzzz{zz{zz{{yzzzzzzz{{z{{z{zzzyzy{z{{{{{z|{zzz{zz{z{z{{z|||{yzz{zz{z{{{{{{{{z{{{zzy{z{{{{{{zzz{y{z{{{|{{{{{{{y|{z{zzzz|{|{{{{{{zz{z||{|z|{|{{{||zzzz{{|{{zz{{{{|z{z|||{|{||{{zz{z{{{|{{|{{|{{zz{{{{{||{|||{{z{|zz{z{{|{||{|{{{z{|zzz{{{|{{{{zz{|z{{||{{{|{|{{z{{{{z{{{{{||{|zzzz{{z{|z{{{|}z{{zzz{z{{{||{{{z{zzzzzz{{|{{{{||zzzzy{{{z{z{{|zzzzzz{yzz{z{{z|{{{zzyzyz{{{z{{{{zz{yzz{zz{{{z{{{zy{{zzzzzy{{z{{zzzzzzzzzz{{{zzzzzzzyyzzzzz{z{z{{zzzzzzzyzzyyz{zz{yy{yzz{z{z{{|z|{{{zyyyyz{{{{|{{{zyzzyzz{{zz{zyzzzzzzzzyzzzzz{z{zz{zzzyzzz{z{z{{zyzz{z{y{|{|{{z{zz{{yyzzz{{{{{{|{{z{zz{{{{z{{{{|z{zz{z{zy{{{z|{z{{zz{{zzz|{|{{{{{zz{zzz{{zz{{{|{{zz{zz{z{{{}{{{{z{{{{{{{||{{||}|{z{{{z{z{{{{||{|zzzz{{{{{|{{{z{|{z{zz{{{{||||{||{{{{{{{z{|{||{||{{{z{{zz{||||}{|{yzz|{z{{{{{|{|{{zz{z{z{{{|{||{zz{zzz{yz{{{{{|||{{{zz{zzz{{{{|{z{{{z{z{z|||{z{{{yz{zz{zyz{{zz{{{z{yzyzzz{y{z{{{{{z{z{yzz{{z{z{|{zzzz{zzzzz{|{z{z{{zyzzzyzzz{{{{{z{zyzz{yzzyzz{{|zy{zzzzzyz{zzzz{{zzzyzzyzzzz{yz{zzzyy{yz{{z{zz{z{zzyyzyz{{{{{{|z{{zyzzzzzzzz{z{{zzyzzyzzzzzyz{z{{yzyzyzzz{z{{{z{zzzz{{zzz{zzzzz{zzyzzyzz{zz{{{|{zzzzzy{zzy{{{{{{{z{zzzzz{{{{z{{zzz{z{zyyz{||z{{{{{zyzzzz{|{{zz{{|yzyzzzz{{{{{zz{{{{zzz{z{|{{|{||yzzz{{{z{{{{{|{|{z{{{z{{{{||{{{{|zz{{zz{{{{{{|||z{zzz{{{||{|||||{zz{z{|{{|{{||{|{{{{{{zz{|{{|||z{zz{z{{{{{zz|{{||z{z{{{{|z{|{|{|{zzzz{zzz{|z{{{{{{zzz{{z|{|{zz|{z{{z{z{z{|{||{|{z{z{zyzz{{{z{{{{zzzzyz{{|{zz{{|{z{z{zzzz{{zz{{{{z{zzyyzz{{{{z{{{{zzzzzzz{zzz|{{{zzzzzzzyz{{z{{z{z{{yzyyz{z|z{z{zzzzyzzzzzzzzzz{{zyyzzyzzyzzzz{{{z{zz{yyz{z{{{z|{y{zyyyzy{z{{zzz{zzzyyx{yzzzz{{{{zyzyzzyyy{z{|{{{yzz{zzyzzz{{{|||zzzyzzzy{z{{{zz{zzzzyyz{zz{{{z{{{{{yzzzz{{z{{|zz{z{zzz{z{{{z{{z{{{{yzzz{{z{{{||z{zzz{{z{z{|{{{{z{{zzzz{{{{|||{{{z{z{{z{z{{{|{{{}{{{{{zzz{||{{|{{{z{{{{z{{|{{|{|{{{{zz{|z{{{||||{{{{{{z{{|||{|{||||{{{zz{{||{{||{{zzz{z{{{zzz|{|||{z{{zz{{|{|||{|{{|z{{z{{{{{|{||{z{zz{{z{z{||{{z{{zzzzz{z{||{|||{|{{zzzz|||{{z|||{z{{zz{|{{{{||||{zz{{zz{{|{{{|{{{{{|z{z{|{}{{{|{{{zz{{z{{|{z{||{z{{{zzz|{{{{z||{{{z{|zz{z{{{z|{{{{{z{{{{{{|z|||zz{z|zzz{{||{{|{{{{zzz{z{{{|{{{||z{{{{zz{{|{{||{{yzzzzzzz{{{{{{|{zzz{{{{{{{z{|{z|zz{{{yz{zz{|{|{{zz{z{|z{{||{z||{zyzzzzz|{|||{|{|{{{z{z|{{|{{{|||{z|{zz{{}{|{|{{|{{{|zz{|{{|}{{||{{{|{{{{|{{|||||{{{{{{{||||||{|z{|{|{|{{z{{||}}||{|{{z{||{|}||||z{z{z|z||}||{}|{{{}||{{||{||}||{|{{{|z|{}|{|||||{{{z{||||||}}{{|{|{{{{|{|{{|}||||{{{{{|{{|}||||}||{{{zz||||{|~{|{||{{{{{||||}|||{|{{{|{||{{|{{|{zzzzz{z{{|y{|{{zz{zzzzy{||z{{||{zz{{z{z{z{{{|{{{zz{{{z{{{z{{z|{z{zz{z{zz{{{z{z|{{{zzzzz{{{{{||{{zz{zz{z{{|zz{{|{z{zy{{zz{z|{{{|{{zz{y{zz{{|{{{|zzzzzyzz{z{z{|{{zz{{zzyzz{zzz{{{zz{zzzzyz{{{{{|{{y|zzzzz{{{{|{{{zz{zy{zyz{z{z{{{{{zzzzz{z{{z{{{{{{zzzz{z{||{{|{|zz{{z{{z{z{z{z{|{z{z{z{z{{|{|{z|{|zyzz|z||||{||{{{|{{z{zz{{{z|{||{zz|{{{{||}{|||{{{{{{{|{{{|{}{|{y|{{zz{||}{{{|||{{z{{{{||||{}|{{{{{{|{{{|{|{||}}{{z{z{z{}|}{||||{{|z{{|||||||}|{{{z{{{{z}{{||||{{{{z{{z||}|{{{|{|zz{z|z{|||z||{{{z|zz{z|{{{|||{|{zz{{{|{{|||{|{z{{{{z{z{|{{{{||z{zzzzz{{|{{{||{{z{{y{{z|||||||}|zz{{z{z{{||z{{|{z{{zz{{{{{|{||}{z{{zz{zz|{zz{}{zz{{{{{z||{{z{|zz{z{zzz{{|{{{{{|{zzz{z{{{{{{{{{{zz{{{{zz{||{{{{{{zzzzyzzz{{{zz{{{{zyzzzzz{{{{|{|{{{zzzzz{{{{||{|{{{z{zzz{{{{|{|{|{zy{{|{{{{{{{{{{z{{{z{z|||||{{{{{{z{{{z|{}z||||{|{{{z|{|{{{|}{|{z{z{{{{||{{||{{|{z{{{z{|{{||||{{{{z{{{{||||}|||z{{{{|}||{{|||}||{{{|{{z||}||||||{|{{|{|}|{||}|{{{{{{{|{{{||||{{|{{{{|}{{{||{{|}||||{{||||||{|||{{{|{z{|||||||}}}{z|{{z|{{{|}|||{||{|{|{{|{{||}}{{{{{{z{{|{{|}}{{{|{{{z{z||||{{{{z{{zzzz{{{z{{{{{z|z{zy{z{{||{}{{{|zz{z{{y{{{{|{|z{{z{zz{{{|z{|{z{zzz{{z{{|{{{{{{z{z{{{zz{z{{{|{{zz{{{zz|z|{{z|{{zzzzzzzzz{{{{z{|z{y{y{z{{||zz{|z{zzzzzz{|{{{{{zz{{zzyz{z{{{y{{|{zz{zzy{zzzz|{z{zz{zzzzzz{z{{{z{{z{z{{zzz|{{|{{|{{z{zz{z{|{||{{{{{{{z{{z|z{{{|||{z||{zy{{||z{|{|{{{{|z{z{{||{|||{{{{{{zzz|{{{z|{{{z{z{zz|}|z{{{|{{{zzz{z|{|{||||{{z|{{{{|z|{|||||{{{{{zz{z{z|||||{|{{{{{||{|||{|{|{{|{||{|{|||}||{z{y|||{||||{|||{||{{{z||||{{}{|{{|{zz{|||{||||{{{z|{|{{{|}{||{|{{{{{{{{|{|{{||||{{{{{{||||{|{|{{{z{{z{{||{|z{|zyzz{{{z{|{z{{||{{{{zz{z{{{|{|{{{{zzz{{{{|||{|||{{{{{{z{{{{{zz|{|{{zzzzy|{||z|{|{{|y{zzzz{{{{{{{{{{{{{z{|{z{z{{{zz{z{zzzz{zz|{{{zzzz{z{{zz{{z{{|{yz{{{z{z{z{{{{{{zz{{{zzzz|{{z|{zz{{{z{z{{z|z{{{{{zy{{{z{z{{{{|{zyzz{{z{|z{{}||{{{{y{z{{{{|{z{|{zz{{{|zz|{{{{{{{zz{{z{{z{|{|{{|{{|zz{zzz{{{|{|{|{{{{{z{{{z||{{|||{{{yz{zz{|{||{{|{{{{{{{||{||{||{{{z{{|{{{||||{|{{z{{z{|{{|{{{|{|{{z{{{{|}||{{{||z{z{{{{{|||{|{}|{|{|{{{{||{|{}{|z{{{||{{||}|{|||{{|{{|{{||||||}}{{z|{z{|}{|}||}|||{{{z{{{{|||||{{{{{{{{{|||{{|{{|{{{yz{|||{{{{z{{zz{{zzzz}|{{||z{{z{{{z{{{|{{{{|{zzz{{z|{{||{|}|{{z{zz{{{{{{{{{{{|zz{{z{z|{{{|{{z{z{zz{{{{{{|{{{{{{|{{{{{z{{{{{{z{z{z{{{z{{z{{|{{{zz{zz{||{z|{z{{{{{{y{|{|{}{{||{zz{{zz{{z{{||{{zz{zz{z{{{z{{|{{z{yz{{zz{{zz|{z{z|z{{{z|{{z{|{{{zz{|z{{{{{{{{{}{zz{{{{{|{{z{||||{{z{zz|||||{{{||{{{}z{{{|{||{||{z{z|z{{{{{|{|}{|{|{{{z{||{{{|{|{{{{{||{{|}|}|{|{{{{{z{{|||||{||{{{|zz{{{||||{}{|{{{{{{{}|{{||}||||{{{{{{|{{||}||{{{|||{||{||||{|||{{}z{||||{{||{{z{{{z{{|{||{}|||{{||{{||||{||||{|{{{{{{|{|{}||{{{{{{|{{{||||||{{{|{z|{{||{|{{{{{{{{zz{{{|{{|{}z{{{|{zz{|{|{}{{|{{{|{{{||{{{||z|{{{{{{z||{|{{|{{||{{z{{{|{{{|{|{{|{|zz{|{|{|||{{z{zz{z{{z{{z{{{{{{{{zzz{|{|{z{|{{yz|zzz|{|{{{|{{{z{z{zzz{|{}||{{y{{{{zzzz{{{{{|{z{z{zz{{{z{{|{{{{zzzz{{z|zz|{|{{{{{{{{{{z|{|{||{yzz{z{{{{|{{|{||{|{{z{{|{|{}|||{{{{zz{{{{|{|{}|{z|{|{{{{|}||{}|{{{{|z{|{|{{|}||z{{{{{{{{{|{{||||{|{{{|||{|}|||}{{||{{|{||{|{|||{{{|{{{{|}|||||}{{{{{{{|||}{|||||||{|}{|{{{{|}|}{{{|{|{||||}||||||||{{|{||}}|}}{{|{|{{{|{{{|}||}|{|{|{{|||{||}}||{{{{|{{{|{||}|}|z{|{{{||{}|{{|||||{|{{{{|{|}{{|{{z{{{{y{{||{{{||zzz{z{{{{|{|}|{|zzyz{{{{|{{||{|{{{zz{zz{{{|zz||{{{{zz{{||{{{|{{{z{{{{{zzz{{z|{|{{zz{z{{{{{{{{{{z{{{z{z{{{{{z{{|{{{z|zz{zz{{z{{zz{zzzzzz{{|||{{||zyzzzz{{{{z{||{{z{zzz{yz{|{{{{{{{zz{{{zz{z{{}|{z{z{zz{z|{{{||{{{z{z{z|z{{{{{z{{{{{{zy{z{|{{{{|{|{{z|{{{}{|{|{{||{z{{{{{z|{{{|{z{{z|z{{z{|{{{{{{{z{{z{{{{{|{{{|{z{z{z|{{|{||{|||zz{{{{|{|||}{}|}|{{{{{z{}{}|||}{{z{|{zzz||||}{}|{||z{|}{{|{{||||||{{|{{||}{||{{|{{{{|{|{{||{|}|||{{{{||{}z|||||||{z{{{z||}|{||{{{|{z|{z{{|||}|{|{{{{|z|z{{{||{||{z|zz{{|{|{||{||{z{{{{z{z{|{|{||{{z{{zzz|{{z{|{{z{{{{{{{{{|{{{{|{{{{{{{{{|{|{|{z{{{{{{zz|{{{{||{{{{{{{zz{||{{||{{z{{zzz{||{{{{|{{z{zz{{z{{{{{|{|z{{yzz{{z{{{{z{{{zz{zzz{z{{{||{|{z{{{z{y{{{|{{||{{{{yz{{z|{{|{{zz|z{{{z{{{{{z{{{{{z{z{zy{|{z|{||{{z{{{{{|||z|||{|z{|{{{{{||||{{|{z{z{{z{{{}||}|{|z{|{z|{z{z{{}|{|z{{{z|{{|}||{||{{z{{{{{{|||{{|{{{{|z{|{||}}{{|||{|{z{{{|{{||}~}{{{{{{z{|}}|{||{|{{{|{{z|}|||}|||{{|{|{{|}{|{||||{{|{|{{{|||}|}||||||{|{|{||{}}{|zz{zz||}||{{||{||{{|{{{{{||{||||{{|{{{{||{|||{|{|{{zz|{|}z{{||{|{|{|z{z{||{|{{{{zz{{{zz{|{zz|{{{{zz|yzz{|yz|{{|{{{{zz{z|{|{|z{{zzzz{{zz{{||{{z|{{{z{zzz{z||{{z{zz{{zzy{{|{{{{||{z{zzzzzz{{z{|{{{z{zzyz|{{{{{{||{z{z{y{{{{z{{{z{{zzzy{zzz{{z{{{{zz{zyyz{{|{|z{{|z{{zzyzzz{{z{{{{{{{{zz{zz{z{{|{|z{{{{{yz{z|{{{||{zzz{z{z{{|z{{{{{z{{zz{|z{{|{{|{{z{z{z{z|{|{{||{|zz{{z{z{{{{||{{{{|z{{{{{{{{{|{{{{|z{{{{{|{z{|{|{{{{{zz{z}||{|||{{{{zz{|||{}|||{{z|{{{{{{{{}||{|{z{{|zzz{||{||{||{{{{{|{{||||}{}|{{{|{{z{}{||}{{|{{{{{|z||{|z}||{{{|{{z|{|}{|{|||{{{{{{|{}||||||{{{{{{|{|}|{|{}|{{{{{|z{{|{|z{}{{zzzz|{{{|{{|{{{{zzz{{z{z{{|{{|{{z{zz{{z{{||{|{{|{zzz{z{{z|{{{|{|{{z{z{zz|{{{{{|{z{{zzzzz{|{{|{|{zzzz{{z{|zzz||{{yz{zzzz{{|{z{{{{zzz{zyzz{z{{{{{{zzzzz{zz{z{{{{{{{zzzzy{z{|y{{{{zzzz{zzzz{{{{{{{z{yzzy{zzz{z{{{zz{zyzzz{z{{{||||zy{{zzz{{{{{{z||{zz{{z{z{|{{{z{zz{{{{z{{{{{{{{z|{z{{{{z{|{{{{{{{z{{y{{{{{|{{|{z{{zz{z{{{{{||{|{{|{{{z{z{{{{{{||{|{z{{z{{{{|{{{||{{z{{{|{||{|{|||{z|{{||z}|{|}|{{{{{z{{{{|}{{|}}}{{{{z|{{{||{|{|}{|{zz{|{||||}|{|{{|{||{{|{|||}||||{{{{{|z{|||{{{{{{{|{{{{|{}|{{|||{{z{{{{{{{|{}{{z{z{{{z{|||z|{{z{{{yz{{{||z{{z{zzz{z{{z{|{{|{|z{zz{y{{yz{{z{z{{{z{zz{{{|z{{||}|{zzz{{y{{{||{{{|{zzzzz{z{|{{|{|{z{zyz{{zz{zz{{|{|z{zyzyz{{{{z|{{zyzyz{{z{z{{{{{{{zzyzy{y{{zzz{||zz{{z{{z{zz{{||{y{|zzzzzz{{{{{{{z{z{zz{zz{zz{{{{z{zzyyz{zz{|z|{|{{{zzzzy{{{|{z{{{{{zzzz{{{zz{{{|{{{{zz{{z{{z{{|{{{{zzz{{z{{{||{{z|{{{zzz{{{|{||{|z{z{zzz|{||||||{z{z{{zzz||{z|{||{|{|{{z||||{|||||{{{{|{|{||{||||{{{zzzz{|{z{}}|{z{{|{{|{||{{|||}{|zz{{{|}|||}|}||{|z||{||{|||{||{{{{{{||||z|||{|{{{{z{{{}{}{{|||z{{}{z{{||{||||{{|{zzz{{{{{{|||{|{|{z{z{||{{{|||z{{zz{||{{|{|||{{{|{yzzz|{{||{{{{{z{y{{{{{{{||||z{{y{zz|{|{z{||{z{{zzzyy{|{{{|{{{{zzz{z{zzzz{z{{{z{{{zzz{{z{||{z{yzzzzzz{|{z{{{zzz{{z{z{{{{{{{{zzz{zzzz{{{z{{{{z{{zzz{z|{{zz|{{zzzz{{z{z{z{{{{|{z{{z{zzz{z{z{{{zz{z{zzzz|{{{{{zz{z{yzzz|z{|{{|{|zzz{{z{|{|{|{|{z{|{zz{{{{{{{{|{{zzz{{y{{{z|{{{|{z|{|{z{{{{|||{{{z{z{{zz|{|{{{|{{z{{{{{{||{{||{z|{|z{{{{zz||||{{{|{{{{|{||||{}{||{{{|{{{}||{{||||z||{{{||{z||}|{{{{{||{{|z|||||||{{{z||{{}|||{{||z{|{{{{{|}|{|||{{z{{{z{{z{{{||||{{z|z{{{||{|||{{{{{zz{{{{{|{||||z{{z{{z{}|||{|{|{{zz{{{|{{||{{|{|{zyzzz{{|z{{{{{{|{zz{{{{{{||{{{{{zz{{z{{{{|}|{{zz{{{z{{{{{|{||{z{{z{zyz|||{{|{{z{z{y|z{||{{{||{|{{{z{zz{|z{|{{z{zzz{z|{{{{z{{{{zyyzzy{{{{z{{{|{y{{zz{z{{}{{{{{z{{{z{{{z{{|{{{{z{z{{zzz|{{zz{{{zz{zzzzz{|{{z}{{zz{{{|zy{{|{{{|{{{{z{z{{{|{|{{{}{zz{{z{{z{z|{||{{z{{z{{z{{{||||{{{{|z{{{{{|{{|{{{z{|{{z{{{{|{{}{{{{z{{z{{||||{}{zz{{zz{{|{||||||{{z{{{{{{{|}|}{||z{{z{{|z{|{|{{||{{{}zz||}|{||}}{{{{{|{{{|}|}||{|{{{{{{z{||||{||{z{{{z{|{{|}||{{|z{|{{|z{|{{}|||||{{z{{z{|||||{{|{{z|{|z||{|||}||{z{z{|z{|{{z||{z{|{{z{z|||||{{zz{zz{yz{z{|z{{|{{|y{{z{z{{z|{|||{zzzz{z{|{{|z||{|z{{{z{{{z{{{{|{{{z{z{{{{{{|{{{|{zzz{{zz{z{|{|{{{{{{{{{z{{|zz{||zy{yz{{{{{{{{{{{zzzz{zz{{z{{{{{{{z{zzzy{z{{z|z{z{{z{zz{z{{{{{{||{{zz{zzz{{z{z{{{{zzzyzzzz{z{{{{{{{z{z{z{{{{|{{{|{{{{{z{{{|{{{{||{z{{{{{{||{|{}{|zz|{{{{z|{|{{{{|{{{{{z{{{}|{{|{{{z|zz{{{{{{{{|||{{{{zzz||{|{{|{|{|{|{zz||{{|{}|{{{{{{{{{||{{|{{|{z{{{{{z|{|{|||||z|{{{{{|||{|||{|{{{{|{|{}{{||{|{{{{|{{{{}|}|{||{{{|{z{||{{||{||{{{{|{z||{|z{{}||{{{|{||||{||{||{|zz{{{{|||}|}||{{{|z{{{||{|||z|{{{{{{{{|||{}{|{{{zzzz{z{|{{{{{|{zzzzzz|z{zz{||||{{yz{zzz{|||{||{zz{{z{z{z||z{|{{{{zz{{zz{{{{|||{{{z{{{z{{{{{{|||{{{{{z{z||{|{{z{z{y{{{{{{|{z|{{{zzzzyz{{{{{{{{zzzzzzzzz{z|{{{{{z{{z{zzz|{{{{{|{zzz{{zzz{z|{z{|{{{z{z{z{{{{{z{|{z{{z{zzz{{{z|{|{{y{z{z{{|{|{{{{|{{zzz{{{|{||{{||{z|zz{{z{||z{||{{{{{z{{z{}{||}|{{{{|{{z{|{{{{{}||{{{{{{z{|{{{|}{{{{|||{{{|}||||{{|{|{|{|||{|||||{{{{|||{|{|}{||{{{z{|{z{|||}|}|||{|{|{{{{|||{}|}||{{{{z{{|||{}{|{z{{{{{{{||||{|{{|{||{z|{|||z|}{|{{{{{||{}{||||||{{{{{{z{{{{}{}|{{{{zz{{{|{|{{|{{{{|{z{z{{{|||{|{z{z{zz{z||{{{|{{{{zz{yz{|z{|}{||{zzz{{z{{||{{|{{{zz{zz{z||{{z{|{{{{y{z{{{{{z|{|z{{{{zyz{|{{||||{z|z{zz{{z|z{{z{z{z{zzz{y{{{z{{{z{{zzyz{z{z{{|{{{zz{yzz{zz{z{{||{{zz{zzz{{z{z|{{z{z{zz{zz{z{{{zz{z{yzzz{z|{{{|{{{zzz{zzz{{{{||||{zyzzz|{{|z{{{{|z{z{|z{{{{{|{|{{{{|{zz{|||{{{{|{|{|{{z|{{|||||||z{|zz{{{{||{{{{{|{{{{z{{{|{{||{{{{z{||{z|||{{||{zzz{{{|{||{|{{||{|{{{|{{||}|{{{|||{{|{|||}||||}}{{{|{||{|||{||{}|{{{{{{||}{||{|||{{{{{{|{|||{|}||z|{|{{|{{|||}{}||{|{z{{||{{||||z{{z|{{z|{{||||{{{z{{z{{{{{|{{{|{z{{|{{z{|||{|z|zzz{{z{z{||{{{|{{z{{{zyz|{z{|{||{{{{z{z{{{z{{|{|zzy{zzy{{|{|{|{{{{|zz{{y{{{{{|{{|{{z{zzz{z|z|{|{{zzz{zz{zz|{{|z{z{zz{zy{zzz|{z|z{z{z{yz{z{{{zz{{zzzzzzy{{{{{{{{{{|{zzz{y{|{|{{|{z{zz{zzyyzz|{{{{{{zzz{zzz|{{{z{|{z{|z{zzzz|{{{|||{||zzz{{|{{{}{|{z{{{{{z||{||{z{{|{{{|{{{{{{{{|}{{z{z{{z{|||{|||{{{{{zz{{|{{{{|{{{{{{|{{z|{|{{{{|||z{{z{{{}|||||z{{{{z{{}{||{||||{{|{{{{||{{{||{}{z{{{|{||{{|||{|{{{{{{{||{|{|{{|{{|{{{{|}{|||||{{||{{{{}{|||{|{|z{z{{z{|}|||}}||{|{{{{||||||||}{z{{{zz{{{{||{|}|{{|{{zz{{||z|{||{{{{{|{{|||{z{zz{zz{zzzz{|{{|}{{{{zz{zz|{{{{z{||{{y{{zz{{{{{{{{{{{z{zzyz{{{{{{{|z{zzzyz{{{|{{{|zzzz{{zzz{{{z|{|{zz{{z{{zzz{z{{{zyz{{zzzzzz{{{{{{{zzzzzz{{{zz{{{{zzzz{z{z{{{z{{{z{{zz{yyz{|{{z||{{zzzy{{zzzzz|z{z{zzzyzy{{z{z{{{{{zz{z{z{{{{||{{{{z{{zz{{z{z{z|{zz{{zz{{|{|{{||{{{{zz{{{{z}{||{|{{|{zz|zz|{{{||{{z{z{{yy{|||{{{{{z{{z{z{|}|{z|{z{{|{{zz{{{{||{||{|zz{z{{}|||||{{{{{{{{zz{||{|||{|{z{{{z{{}{{}|{|{{{zz{|{{{|{||{||z{|y{{{z|{{||{{{|{{{{z{|{{|||||{{{{{{z||}||{{|{|{{{{{{{{|{|||||z|zz{z{|{|{||{|{|{{{zzzzz||||||{{z{{{z{{{z{||{{{|z|zzz{z{{{{|{{{yzz{zzz{{|{{{{|{z{{{{{zz|{{|{{||{{z{{{z{{{||z{{|{||zz{{zz{{{|{|{zz{z{{zz{{|{{{{{{zzz|z{zz{{{{{{{|z{{{{zz{{|z{{{||z{zzyzzz{{|z{|{{{zzzzyy{{{|{|{|zzzzyzyz{{z|{{{|{z{zzyzzz{{{{{{{z{{zzzzzz{{|{z{|zy{zz|zzz{}{{z{|{{{{{{z{z{{{{{||{zzzz{{{{{{{|{||z{{{{zz{z{|z{|{{|zz|{{zz{{||{}{{{{zzz{{z{|{{{{}{{{z|{{{||{|{{||{|{{{|{{{||||{}{{{{{||z|{||||}|}||z|{{{z{{|||}{||{{{{|{|{{|||{|}|{{|{{||{||{|{|||{{||{{{{{||}z|{{{{{{|{|{|}|||||||{{{{{{{||{|}|}||z{{|{{{|{{}{|||{{{{|{|{zz{|{{}|{|{{{{{z||{||}||{{{{z{{z{{|{z|{{{{{z{{{{{{|{|{{|z{{z{z{{{{{{|{{|{{z{{z{z{{z{{{||{z{|{{zzz|{{{{{{zzzz{zzz|z{{{{{|{z{zz{zzz{{{{{{{{z{zz{{z|{|{{{{|{z{{zz{{{{z{{{{|{zzzz{{{{{{{{{{{zzz{zzzzy{{z{{{{{{z{z{{zz||{{z{|z{z{zzzzz|{zz{{|{{z{zz{z{{{{{{{{{zz{{{zz{{z{z{||{zzzzz|y{|z{{z{|{z{z{{{{{||{{{||{z{zzz{{{{|{{{|{{{|z{y{{||||{|{{zz{{yz{{{{{|{{|{{{z{{zz{|z{{{{|{{{z{{z{|{{{|{}||{z|{{{{|{|{{|||}||{{y{{{|||}||}||{z|{|{z||||||||{||{{|||}|{|||{}}{|}{|{{{}}|||{||{{|z{{z|{||||{|{{{{|{{{|{|||{~}|{{{|z{{|{||{{{~{|z{{{{{|{|{{|||{||{{z{{||{||||{|{{z{z{z|{}|{z|{{z{zzy{z{z{{z|{{{z{{{{{z{{{{{|{{zzzz{{{z|{|||{|{{zzyz{z{{zz{{{|z|{{zzzzz{{{z{{{|zz{{z{zzz{{z{{z{z{yzzzy{z{{zz|{{zz{zz{zz{{z|{{z|zz{{z{z{{z{{z{|{{zz{zzz{{{{z|z{|y{|{zzy{{{zz{{|z{zz{zzzz{{z{{{z{{z{z{z{{y{{{{|{z{{zyzzzz{{{{{{{{{|yz{{{{z{z{zz{{{{{z{{{{z{{z{||{z{{{{{{z{{|zz{||{zz{{{zz{{{|{|{|zzz{z{|y{||{z|}|{{yz{z{z{|{|{||z{zz{{z{z{||||{|{|{{z|z||||||{|||||{{{{{{|{{|{|}{{{z{{|{{|}{{||||{{{{{{{|||{|||}||{{{{{z{{|||||{||{{{{{|z|||||{|||{zz{{{{|||{|}|}||z{|{z{{|{|z|{|{|zz{{{||{{|{{}|{{|{{z{z{{{||||{{z{z{{z{}|{|{||{{{zz{{z{z{{{{{|{|{zzzzzz{||||||{{{zzzzzy{{z|{{{||z{{zzzz{{{{zz{|{{{zy{{z{{{|{{{|{{{{{{z{{{z{{|{{{z|{{yzz{{zz{{{{{|{zzyzzz|{|{{{{yzz{zyzz{{{zz|{{zz{{zz{{{|{zz{{{{z{y{{z{{|{{{{{{{{zz{z{zz{{{{||{{{{z{zzzz{{{{{z|{{{zz{zz{||{|{||{|{z{z{{{{{|{{{{{{z{yzz{{{{{{|{{{z|zzzzz{{{{z{{|{{{{zz{{{||{{{||z{zz{{{{{{|{{{|z{{{z{{z{{{{{{{{|{zzzzzzz{{||}|||{|{z{{{z{||{{{}{|{{{z|zz|{{||||{|{{{{z|{|||{||||||{{{{{||{|{|||||{|{|{{{||}||{{||{|{z{{{}||||||||{{{{{zz||{||||||z{{|z{{|||||{||{{{z{z{{z||{{||{|{z|{{z{{|{|{{|{{{zz{zz{{|||{|z{{yzz{zzzz{|{{{|{{zz{{zz{{{{z{{||zzzzz{zy{{{{|{|{zyz{zzz{z{{{zz{|z{{zy{zzz{{{{{{|zzzzzz{z{{|{z|{{{z|{zzz|{{z{z|{{z{{{z{yz{z{|{z{{zzyzyyyyzz{{{z{{yz{{zzy{{{{{{{z{{zzzxzzyz{{z{{z|z{{zzzzzy{z{|{z{zzzzz{zy{{zzz{z|zz|z{z{z|||{{|{{zzzy{zz{{{{{{{||{y{zzyzz|{{z{||{zz{|yzz{{{{z{|z{{{z|{y{{z{|||{{{z{{{z{{{{z{|{{|{{z{z{zzy{|{|||{{{{{z{{z{|{|{|{|{{{{{{|{{|{|||}{{|{{z{|{{{||||{{{{{z{{{{z|||{||{{{z{{z{|z{|{|{}{{}{z{{{{{{{||{}}|||}{z{z{||||||||{{{{|{z|{||{{|{}|{{{{{z|{|{||{{|{{{{z{{z{|{{{{||zz{z{z{{{{{|z||{{z{zzz{||{{{{{{{{|zz{zyyz{|{{{|{{z{z{zzzz{|z{{{|{{{{{{yy{z{{|{|{{z{{zzzy{||{z|{|{{zzzzz{{|{z{{|{zzzz{{{{{{z{{{{|{zzzzzzz{{{zz{{{zzz{z{{z|{{{{{{{zzzzzzzz{{zz{{{{zzz{y{yzzz{{{|{{{z{zzzzzz{{|z|{{zzzz{zzz{|z{{|z{{zzyz{z{{{{{{{{{z|zz{{{{z|{{z|{{|{{yzzzz{{|{z{{{{{zz{z{z|{{z{|||z{zzz{z{|{|{{|||z{{z{z{z{{{|{|{{{{{{z{{{{{{|{||{zz{{zz{z|{|{{||{|{|||{{z||{{|{{|z{{{{{|||{||||||{||{z{{z|{|||{||{{{{{{{{|||||}}{|z{{{{||{{|||}|||{{z{{{{{}}{||{||{{||||{|||||{|{{z{{|{|{{||{|{|}{|z{||{|{|{||||}|z|zz{{z||{{{{|z|{{z{{{{{{{{z{||{z|{zz{z{{{|{{|{{{{{{{zz{{{{{{{{{z{zzz{z{{{{{{{{{{{z{{z{{|z{||{|{z{{zz{{{{|{{{|{{{{{yzzz{||{||{{z{{zy{zy{{{z{{{}{{z{zzzz{{{y||{|{zz{z{{{{{|{{{{{z{zzzzz{{{{z{{|{zz|zzzyzz{|{{|{{{{zzzz{zz{z{{z{{{{zzzzz{z{z{z{|{z{{{{zzzz{y{z{|{z{zyz{yzz{||{{{|{{y{{{|{{||||{||zzzzzz{zz{{{|{{}{{{{z{{||{|{|{{|{z|{zz{z{|{{{||{{z{z{|z{{}|{{||||{{{{|{{||{|{||{{{{{{{{{|{{}||||||{{{{z{{|{|||}|{{{{zz{|{|}{|{|||{z{{z{{|}{|{|}{|{|{|}||||}z|||}||{|z}{|{|||{{}||{||{{|{||||{|~||z{z|{{|{}{{||||||z{||{{{{z}{{|{|z{{z|z|{{}{||z|||{|zzy{|{{{|{||{||{{{{{{{z{|z{|{z{zz{{z{{{{z{{||{zyzzzz{{{{||{{{|{{zzz{{{{{z{|}{z{{z{z{{{|{{|{{|z{y{zz{{z{{{}||{{{{||zz{{|{{{{|{{{{{zz{{z|{{{|{{zzzy{z{{{{{z{{{{zzzz{zz|{{z{{{{{z{{zz{{{{{{{|{{{z{zzzz{z{{{{{z|z{z{{{z{z{{{{{{{|{z{z{zz{z{z{|{{{z{{z|zy{{z{{||{|z{z{z{{{{|||{{{{z{z{zz{|{|{||||z{z{zz{{|{{{|{{{{{{{{{{{{}||||||zz{{{{{{|{|{|||{|{{{{|{{|{|{{|{}|z{{{z{|{|||||||{{{{|{{{|}{||||}||{|{z{||}}|{{{{{{{}||{{|}||||{|{{|{{{|{{{||||{||{|{{{|||{||{||||||{{{|{||}|{{{||{|{|{{|||{|{{}{{{{|{{{{|}{|{|}||{{{{{|z{|{|{|{||{{{{{z{{|||{|{|{{{z{{z{{{||{|{|{z{{{{zz{||z}{{{{zzzzz{z{|{{{{{{{z{zz{zz{z{|{{|{{{{zz{z{z{|{{z{{|{zzzz{z|z|{{{z|zz{{{{zz|{||z|z||z{|zzz{z{|{{{|{{{zz{{z{{{z{z{{|z{zzzy{{zz|{{{{{{zzyz{{{zz{{{{{|zz{zz{z{{{z{{{||zzzzzz{{{{z{|{{{z{{zz{zzz|{z{{{|{z{{z{zz{{{{{{||{{{z{zzz{|{|{{{|{{y{|z{z|{|{{|||{z{z||{{{|{{||||{{{{{z{{{|||||{{z{|y|{{z{{|||{}{{{{{|{zz{{{{{{{|}z{{||z{{{|}|{||z{|{{{{{{|||||}||{{{{{{z|{|}|{{||{z{{{{|{||}|{||||z{z{z||{{}||{|||{{{{|}{|||||}}||{{|{{{}|{{{||{|{|zz|{{||{{||||||{{||{||{||||{||z{|{{{z{||{{|{|{{z{{{z{{|}}||||{{|{z{{{{{{|||{{z{zzzzzz{{|{z{{{yz{yzzy{{{{{{z{|{{z{{zzzz{{|{{|{z{{{{zz{{||z{{z{zzzyz{zz{{|{z{{{{z{zzzzzz|{{z||{z{yz{zyz{{{{zz{{zz{{z{zz{{{{{z{|z{{{zyzz{{{{zz|{z{z{{{z{{y{{{{{|{{{zzz{zzzz}z{|{{zzzzyzyzzzz{{{{{z{zzzz{z{{z{{|{{zy{zzzz{{{{||{{{zz{{z{{z}{{z|{{{{zzzy{{{|{|{{|{|{{{z{{z{{|{{}{{{{{{{z|{{{||}{{{{{z{|{{{{{{{{z|{{yz{{{{{|{|{z|{{{{{{|z{z{{|||||{{{{{{{z{||{{||{||{{{{{{{|}{|}||{{{z{|{|z||}|||{{||{{{{|{{||||{||{{{|{{{{{}|}||{}{z{|{|z{}{|||||||{{{|{||{|||{||||{{|{{{z|{{{|||}{{{{{{{{{{{|z{|||{z{z{{{{|{{{{}{{{|zz{{z{{{{|{{{{zz{{{{{{{|z{|z|z{{zzzz{{{{{{{{|{{z{{{{zz|z||{{}zzz{{{z{z{{{{{{{{z{zz{{zz{{{zz{|zzz{zz{z{{{{{||{{zz{zzzz{z{{{{{{zz{zzzzz|{{{{{{{z{zz{zzz{z{zz|{z{y{zz|{z{y{{{{{z{{zzy{y{{{zz{|{{{{{{zzyzzz{{z{z{{z{z{zzzz{{{{{{{z{zzz{zz{{{{y|{{|z{z{{{z{|{|{|{{{{|{zz{||{{{{}||z{{yzz{{{{{{|{|z{z|{{z||{{{{{||{{{{zz{{{|||{|||{{{{{{z{||{{{{{|||zz{|{{|{{|{{|||{{{{|{{z||{|||||z{{{zzz{{{|||||{|{z{{{|z{||{||}{{{{{{|{|{|{||||}|{{{{{z||||{|{|||{z|{z{{|{|||||{|z{{{z{|{{|{||}}}||{|{{{|{||{{||{{{z{zzz{{{|{||||{{{{z{{{{{|{{|{{{{z|{zz{{{{|{{{{{zz{z{zz{{{{|z{{{{z{zzz{z{z{z{{{{zyzz{z|z{{{{{{{{{{yzz{|z{{{{{{z{zzzzzy{{{{{{{|zz{{zzzzz{{z{{z|{|{z{{{z{{{zz|{|z{zzzzzyzz{{zz{{{zzyzzzz{{|{z{{zzz{zzzzz{{|{|||zzz{zyzzy{|z{|{{|{zzzzzyzz{{{z{z{{{|z{z{zzz{{z||{{{{{{|zz{|{{|{{{z{{{zz{{z{{{{{{z{z{z{z{z{}{{{|{|{z|{{{z{|{|{||||{{{{zz{{|{{{{|||{|zz{{{{{||{{{|z{z{|zz{{{{{z{|{{{zz{{|z{|{{|{|{{{{|{{{{{{|||z{||{{{{{{z{{{{|{|||{z||{{z{{|{{|{||{z{{{|||{|z|||||||z{zz{{{}{||{|}{{{{{{{z|{{|{|||{z{{{{{|||{|{{|}|{z{{{z|{{{|{|||z{{z{z{{{||z|{||{z|{{{{z}{||z{|}{z{zz{{z{{||z{|{{zzy{zzz{{{|zz|{{zz{zzzz{{{|{{||{{z{{zzz{{{z{||z{z{{zzz{|||{z{{|zzzzzz{z{{{{{z{|{z{{{{zz{|{z{{{|{zzz|zzzz{|{{{{z{zzyzz{{{zz{z{{zy{zzzz{zz{{{|z{{{zyzzzzy{{{z{{{{{{zzzzyyz{{z{{||zz{zzzyzyz{z{{{{{zzyzzz{z{{z|{|{zz{zzz{zzz{|z||{{yzz{yzz|{{{z{{|{z{z{{zz{|{{{|{|z{{zzz{zz{||{{|{|zz||{{z{{||{{{{{z{{zzzz{{|{{{|{|{{zzz{{{}{{{|{z{{zz{{{z{|||{|||{{{z{{{z||||z{|}{{{{{zz{|{{{{|||{z{{z{{{|{{{{|{||{z{{|{||||{|||||{{{{|zz{|||||}|}{{|{{{|||z{{|||{{{{{{{{{{{{{{||{{{{{{{{{{||{|}|{{{z{z{z{|{{{{|{|{{{{{{{{||{{{||zz{zz{zzz|{z{{{{{zzz{{{{{{z{|{|{z{{z{zz{{z{z{z{|{{zzz|{{||{{|{{{{z{{zz{zz{{{z{||{{zzzyzz{{|{z}{|z{{z{{{z|{z{{||||{zzzzzz{||{|{{|{z{zz{zz{{z|z{{|{zz{{z{{z|{{z{{{z{zz{zz{{z{{{{{{{z{{y{zz{{{{{{{{zzz{{zzz{{{{{z{|{{zz{zzzzzz{{|z||z{{{{{{|{{||{||{{{z{z{{z||{{{{{{z|z{z{z{{{||{||{{|{{{{zz{{|{{{{|{|{{{{{z|||{{{{{{{{{{|y{{|{|z{|{{z{{{{|{||z|||||{{{|{|{{||||||||{{{{{{{{|z||||||{{{{{{{{|||}{|||{{z{z{{|}||||}||||{{{{{||||{|||||||{|{|||}|{}|{|{||{{{||||{|||}|{{z{{{|||{{|||}{|{{|{{|{|{{{{}|{z|{{{{zz|||{|{|{{|{{z|z{||{|{{|{{{zzz{zz|{{z{{zz{zz{zzy{z|z|{{{zzzz{zz{z|{{{|||{z{z{y{{{z{{{z{{{z{y{zzyzz{{z{|||{{zzzzz{z{{{|{{zz{zz{zzz|{zz{|{z{{z{zzzzz|zz{{z{{yzzzz{{zy|{{{{z{zyzyzzz{{|{z|{{zzzzzz{{{{{{{{|{zzzyyzz{{{z{{{{z{zzzzz{y|{zz{{{{{zyxyzz{{zz{|z{z{z{zyzzzzz{{{{|{{{zzyz{{{|{{|{{z{{{z{{y{{z{||||{{{z{{z{{{{{|{|{{{{{{z{{{||{{||{{z{zzzzz{|{{|{||||{{{{{{{{|{{{{{z{{z{zzz}{|{{{{|{{{{{{{z|{|{||{{{{{{{{{{{{|||{|{{z{z{{{z|||{||||{{{{{|{|{{{{||{{}|{|z|{{{}{{|||||{|{z{{z|||}{|||{{|{{{z|{|z|{{||{{{{|{{{{||{{|||{{|yz{{z{|{|{|||{{{zz{z{{{{|{|{{z{{{{{zzz|{{||{{{zzyz{{{{{|{{|{{{{{{{{{{{zz{{z{|{yy{zz{{{{{|{|{|zzzz{{{z{{z{z{|{zz{zzzy{{{{{z|{{zz{zzy{zz{{{{zzzzzzz{z{{z{{{{z{zz{z{{zz{{{{{z{{{{zzz{zz{|{{z{|{{yzzz{zy{zzz{{zz{zz{yz{{z{{{{{{}{zzzzzzzzzz{zz{|{zzz{{yzzz{|{{|{{{z{{{zyz{zz{zz{{{zz{{z{zz{|{{{{|{zy{z{z{z{||{{{z{{{zz{{z{{{z{||{zz{|zyz{{{||{{|z{zz{|{z{{{{{{{{||zz{z|{{{{{{|{|{{|z{{{zz|{{||||{{{{{|{{{{|{|||||zz{{yzz{{|{||||||{{z|{{{|{|}z|}||z{{{||{{|||{|{||z{|{{||||{{{|||{{{{{{{||{|{|}{||{|{||{{|||||||}{{{|{{{{||||}|{|{{|z{{{{{|||||{|{{{{{zzzz{{z|{|{{{{{{z{z{{||{|{|{{{zz{{zz{{{{{{{{{z{zyy{{{{|{|{{{{{{zz{z{z{{|{||{{z{zyzz{{{||{{{{z{zzz{z{{{{|{{{{{zy{z{zz||{{{{{{zzzzz|z{zz|z{|{{{zzzz{{{{zzzz{{zz{{{zyzz{{{{||z{zz{{zz{{{|z{z{{{{{z{zzz{z{{{{||z{{z{{zzzz{{z{{{|{yz{z{{{{{{{||{zz{zz|zz{{{|{{{{{zzzyz{{|{{|{{||z{{zz{|{|{{z{{{|{{zzz{{{{|{{|{|{{{{{{zz{z{{|{}|{{z{{{{z{{{|||{||{{{{|zzz|{|{||{|}{{|{|||||{{}||{{|{{z{{{|{{||{|}{{|{{{{z|}|{z||{|{{{{||{||||||||{{|||||{{|{|}{|||{{{{{{{{}|}}{||||{{{{{||{}|{||{|{{{{|{{|||||||||{{{{|{{|||{{{}|{{{{{z{z{||{||||{{{z{z{{{||||||{{{{{{zz{{|{{{{{{zzzz{z{{z{{|{{{{{{yz{z{z{|{{{|{||{zzzzzzz{z||{||{{{zz{{z{{{|{z||{z{zz{zz{{|{{}{|{z{zz{zy{{{zzz{{{{|{z{zzz{{z{z|{zzyz{{z{zzz{{{z{zzzzzzzyz{z{zz|{zz{z{z{z{{|{|zz|{{{{zzzz{{{{z{{{{z{z{z{yz{{{{|{z{zyz{{{z{{{{|{{{{y{zz|{z{{{z{z|{|{z{|z{z||z{|z{|zz|{z{|{{|{z{}|{{z{zy{{z{|||||||{{{zz{|{{{{||||{{{{{{{{{{||{{{|{|{|{z{|z|{{{{|||{{{{{{{{|{{||||{||{z{z|{{||{{||}|{|z|z{{}||{||||||{{|y{{|{|||||}|{{||{||{|z{{|{||{{{|z{{||}}|||{||{{{z{{{||||||{|{{|{|z{|{|{{||{{{{}{{{|{|||||{{{{z{{{{{{{||{z}{||{{|z{z{||{||{|z{{{z{{{{||z{{{{{{zyzzzz{{{{{|||{{zz{zz{{zz|{{||{|zz{zy{{|{{{{{{{zzzzzzz{{{{|{{{|z{zzzzz{{z{{{|{z{{{{{{yzz{{||{zzyz{zyzz{z|{zz{{{{zzz{yzzy{{{{{{zzz{zz{z{{{{z{{zzyzzzz{z{{{{|z|{{{zz{zzyz{{zz{{|zzzz{{zzzz{{z{{|zzzxzzzzz{{{{||z{{{{z{zz{{{{zz||{{{{{zzy{{{{||{|}{{z{zz{z{|{z{{|{z{zz{{zz{|{{|{z{z|{{|zz{|||{||{zzz{{{zz{||{z{|{{{{{zz{{{{z{|{{}{{{{{z{{{{{|{|{{{||{|z{{{}{|||{{{zz{zz{{{|{{|{|||zz{|z{z|||{||}}{{{z{|{|||{{|}|||||{z{z{{|{||||||{z{|{{z|{|{|{|||{{{zz{|{{||||||{{zz{{{{|}|}||||z{|{{{z{{{{|||{{|{|{z{zz{{{{{{|z{{{|zz{{{z{||||zz{{zzzzz{||{zz|{{zz{{zzz{{{{{{{{{z{z{{{z{{|{{{|{{{{zzzz{z{{|z{}{{{zzzz|y|{{{{||{{{zz{z{{|||z{|{{{{{{{zzzz{{yz{|{{{zy{{y{{{zz{{{|{z{{{zzy{{{{{{|{zz{{y{zz{{{|z{{z{z{{z{zzzz{{{{{{zzzzzzzzz{zz{{{|{{{{{zz{||{{{{{zzz{|zz{z{z{{{|||zz{z{z{z{{|{{{|}z{{{z{{z|{zz|||{{|{{{{{{{|z|{||{{{{{|z{z{z|||||z{z{{{yz{{{|||{|{{zz|{{{{{||{|{{|{|{{z{{{{|||{||{z|z{{{|{||{|{|||||{{{{{{||{|||||{{{|{{{z||}{}||{{z|z{{|{||{||}{||{{{||{{{}{|{|{||{||{{{{|{|||{{{{{{{{{{|||{||||{{|{|{|zz{{||||{|{{|{|{{{{{{|{{}|{|z{zz{{{|{|||||{{{{{zz{{{||{{{{zz|zy{z{z|||{{z{{zzzzz{{{{z{{{{{{{zzy{zz{{{{{{|{z{zzzzyzz|{{{{{{{zz{{z{y{{|{{|{{{z{zzz{zz{{{z{{{{zzz{zzzz{{z{{{{yzz{{{{z{|{{z{{{{z{zzzz{zz{{zzz{{{z{zzzzz||{{z{{zz{zzz{y{{z{z{|{{zzzzyyzyzz{z{{{z{{z{z{zzzz{{{{{zz{yz{zzz{|{|{||{zy{{z{z{{{{|{|{{z{zzzy{||{|||{|{{{z{{{{{{{{{||{zz{zz{zz{{|{||}{{z{z{{{z{||{|{{z{zz|{zz{{|{{{{|{{{{z{{z{{z{|z|{{{|{{{{{{{||||{}||{{zz{zz|||}{z|||{{{z{{{||{|{|}||{|{z{{|{{{|{|}|||{{z{{{{||||||{{{||{{{|||||{|{}{{{z{|{{{|{||}||{z{z{|{{{{{|||{|{z{{{{{{|{||{|{{{zz|z{y{|{{{{{}{{zz{{{y{|||{{|{{z{{zzzz{z{||z{{|z{z{zz|{{{|{{{{|{{{zzzzz{{{{{{{{z{zzzzzz{{{{z{z{{zzzyzzz{zzz{}{{{z{{{{z{{|yz{{{z{zzz{zzzzz{yzz{{{zzzzz{{{zzzz{{{zz{{z{zyzz{{||{{{zyzzz{{{z|z{{z{|{yzzzz{{{z{|{{{zz{z{z{{|{z{z{z|{zyyzz{zzzz{{|{{zz{zz{zz{z{{z|{{{{{z{zz{|||{{|||{z{{zz{z{z{|{|{|{{{z{{zz{|{{z{{|{|{z|{{z{|{||{|{{{zz|{z{{{{{{{|{|z{z{{{z{|{{|}z{{{z{|||z|{|||{||{||{{z{{{{||||{}{{|{{|{z{|||}||{|{{{{{{||}|{||{}||{{{{||||{||}{{|{{{{|{{|}|{{||||{{{{z{{|{{||||{|{{{{z{{{{{|||{|{{{||{|{||||{|||{{{{{{{{|{{|{|}|{{z{{zz{{{||z{|zzz|z{zzz{{{zz{{zzzz{zzzz{{{{{{{{z{{zz{z{|||{{{{{|z{z{{yz{z{|z|z{{z{{{{yz{|{|z{{|{zzzzz{y{z{{{{{{{y{z{z{z{|{z{{|{{z{{zz{z{||{{{{{{zzz{zzz{{z{z{|{{y{zzzzzz{{z|{{{z{{{zz{z{{{z{|{{{{{zzzzzz{{{{z|{{{z{zzzz{{z|z{{{{z{y{{zzy{|{zz|{zz{{zzzz{{{{{{|z{z{y{zz{z{{|z{{{||z{zz{z{{|{{|||zzzzz{{{|{z{{||||{{zzzzz{|{{{{{|{z{{{{{{{{{{||||{{{{{zz{{{{zz|{|{z{{{{z{|||{|||{z{{{{{{z{{{|{|||{{{{{{z{||{{|{{|{{{{|{{z|||{||||{{{{{|{|||{{|||||{||{|z{{}|||||||{||z|{||||||}{{}z|{{{z{|{{|||{||zz{|{{{|{{|{|||{{{{zz{{||{|||{{|zz{y{{z{||{{{}{{z{{z{{z{{|{|{zz{y{zzzzzz{{z{|{{zzzzzzzz{{{{{{|{z{y{z{{{{z{{{{{{zyz{{zz{{{{{{z{|zzzzz{{z{{{|z{{{{zzz{z{zz{{{z{{zyz|zzzzz|{|{z{{zzzyzzzzzzz{zz{{{z{zzzxyzz{{z{{{zzzyzz{z{{zzz{|zz{{{{xyzzz{{{z{|{{zzyzyzy{{{z{{{{zzzzzzyzz|z{z||{{z{z{zzzzzzz{z{|{z{z{zzz{{{z{{z|zz{{zz{{||{{z|{{{{{{{zz{{z{|{{{{{{{zz{{zz|{||{{{{{zz{{{{{{{{|{}{|{z{{{{{{||zz|||zzzz{zz{z{{{|{||{|z|z{{z||{{{||||{z{|zz{|||{{{|||{{{{{|{{|{||{||{{|z{||{{}{{|}}||{{|{{z{{}|||||||z{{||{z{|{|||||{z{{||z{{{{|z{||{{{z||z{{||||{||{{{z{{{{z||{{||{z{yz{{{{||||{{{||{{z{yzy{z|{z{y{z{{zzy{z||{z{{y|z{yz{z{{|{{{{{{{{zyy{{{{{zz{{{{{{|z{zzz{{z{{z{z|{z{zyzzzzz{{{{{{zy{zzyzzz|{z{{|{{z{zzzzz{{{zz|z|{z{zzyzzzzz{{|zz{z{zzzzzz|{z{{{{zzzzz|zz{z{{{{{{{zzzzzzzz{{z{|{{{{{zzzzz{|zz{{{{y{zzzzzy{{{z{{{{{z{{zz{y{{{{{{{|{{{z{z{z{{{z{{||{{{{{z{z|||{{|{{{{zzz{zz{|{{|{{|{{{{z{{{{|{|{{{{{{zz{zz{{||{|{|||{zz{{{{{{{|{{z|{z{z|{{z{|||{||{{{{z{z|{|{{|{}{{{|{|{z{{{{||||{}|{{z{{{|||{||||}zz{{z||{{{{|||{||{{{{|{{|||||||||{{{{{{{|{{|{|{{|zz{|{{{{{|{{}|{}{|{z{{||{|||||}{z{z{z{{{|{||}||{{{{{{{{|{{|{{|{{{{{{z{z{z||{{{{zzzzzzz{z{{{{{{|zyz{zy{{{z{zz{{{{{z{zz{zz|{{|{{|{zzzzy{{{{|{z{{{|{{{{{zz{{|z{z{|{zzzzzz{zz{zz|{z{{{zyzyzz{{zz{{{{{{zzyzzz{{{z{{|{zzzzz{{y{z{zz{{{z{zz{yz{|{zzz{{z{zzyyyz{z{z{{{zzz{{zyzz{z{z{{{zz|zz{z{z{{{{z{z{zz{{z{zy{{{{|{{{zz{{z{yz{|{{{{{|yz{z{z{z|{z{{{|{z{{z{{{{z{{|z{{{{{{{zzzz{||{{||{{{{|{{zz|||{{z{|{{z{z{{z{|{{{||||{z{{zz||{||||{{|{{{{{zz{|{|{||||z{{zz{{{{{{||{|{z{{{{{z||{|{{||{z{|{{{|z{{{z|{|{{{{z{{{||||{{}|{{{{{||z|{{||}|{|{{{|{{|{{||{{}||z{{||z|z|{|{{||{|{{{{{z{|||{{}||{{|{{z{{|{|{{{{{zz{{{{zz{|z{{{z{zz{zzzzz|{{{{|}z{z{zzz{{|{{z{|{{zzzz{zz{{|z|{|{zzz{zz{{zz{{{z{|{zzzzz{{z{z|{|z|{{z{{zzzz{{{z||z|{zz{zyz{z|z{z{{zzzy{{zz{z{{{{{{yz{yzzz{z{{{{||z{{zzy{y{z{|z{{{|z{yzz{zy{z{{{{||{z{zzz{yz{|z{{{||z{{zz{z{{{{{{{{zz{{||zy{|{{{{{|zz{{zz{z{z|{{{{{{z{|{zz{{zz{||{{{{z{zz{{{{|z||{|{zz{{z{{{z{{||{||{{zz{{z|{||{{}{{z{{{z{{{|{{{{{{|{z{{{{z{}|||||{|z{|{{{z|{{|{{||{{{{{{{{{||{}|}||z{|{|z{|}z|{{||{{|{{{|{||{{|||{|{{{{{{|||{|{|||{|||{z|{|{}|{|}|z{{{{{{{|{|{|||}||{{{|z{||{|{{{|zzz{{{z{{{|||z{|{{{{z{{{|{{{|||{|zyz{{zz{{|{{{{{zzzzzz|zz||{z{{{{zzz{zzz{z{{|||{{z{{zyzz{|z{|{{{{z{{z{z{{{{|{{|{zz{zzzz{{|{{{{|{zz{z{{zyz|z{zz{z{z{{z{z{{{{{z{|{zzz{z{z{z{{zz{{zzzzyz{zzz{{{z{{{zzzzzzzzzz{{||{|zz{zzz{z{{{z{{z{{zzz{{zzz{{zz|{{z{z{{z{{z{{z{{|z{{{zzzzzz||{{||{{zzz{z{{{|{{{z{|z{z{{{{|{|{|y}{{|{{{zzzy{{{{{{|}|{{||{{{{|{{|||{{{{{{{{{{|{{{{||{{z|{{{{|{||{|||{{{{|{z{{{{|{|{{z{{{|||{|}{{||||{{{{|zzzz}{{|{|{{{{{{z{z|||{}}{||{||{|{|{{{{||||{{{|{{{{|}{|||}||{{{{{||||}{{||{{{{{{z{|{||z|}|||zz{|{|z|{{|{{{|{|{{zz{|||{{{{{|{|yzz{|z||||||||{zzz{zz{z{{zz{z{zzzzzzyz{|z{{z{{{{{zzz{z|{{{|||{{{{{zzz{{{{{|{{|{{zzz{z{{{{|z{{|{yyy{{zz{{zz{{z|{z{{zz{{z{z{z{|z{zyz{zzzz{{z{|{{zz{{{zyz{{z{zz{{zzzzzzzzz{{{{{{{{{{zzzzz{{{z|{{{{z{|zz{yz{{|{z||{zzz{zzz{z{yy{{{|{zz{{zzzz{{z|{{z{{{z{zy{{{|{{{||{zzzz{{|{|z{{{|{{z{z{{{z{|||{{{z{zz{{z{}|{{{{|{|{{|z{{z{||||}{{zzzz{zz{{|}{{{{{{{z{zz{{|{{{{||||z{z{{{{||{|{{||{{z|{{{{|{{||}||{{zz|zz{{{{{{||}{{{{z{|||{{|{|||{{{z|{|{{||||}|||{{|{{|{|||{|{}||{{{|z{z}||{||}}{{{{|{{||{|||{||||{{||{{{{{}||||{{{{{{{z|{z{||}|||{z{{{zz|{|{|||{{{zzz{z{{{{{{{{zzzz{yzz{{{y{z{{z{{z{zzyz{z{z|{{{{zzzz{yzzz{z|z{zzzyz{zz{{{zzz|{{{zzyzzz{{{{z{z|{{zzzzzzz{zzz{z{{z{yyzyz|{z{z{{|{{y{zyyyz{{y{z{z{z{zz{{z{{{z{zzz{{z{zzyz{{{z{{|{{{{zzyzyz{{|{|{{zzz{zyzzz{z{zz|zzzzzzy{zzzz{z{{{zzz{{zyy{{z{{{|{{zzz{z{zz{|z|{z|{zzzzz{{|{{{{{z{{{{{z{z{{z|{|{{|{y{{|yy{|{z{|||zz{{z{{zz|{{||{|z{z{z{{yz{{|{z|{{z{{{z{{{{{{||z{|z{|zzz{{|z{|||||{{{{{zzz{{|{|||}{z{{{z{z|}{{{{|}|z|z|{|z{{{|||||zz{{{{{|z||{{{||{z{{|z{z|{{{|}{{|{zz{{zz|{z|{{{|{{{z{{||{|z}{|{|{{{{zz{{{||{{{|{{zz|{z{{{{|{|||{z{{z{{{{{{{{{{y{zzzz{zzz{{{z{|{{zzy{{zzz{{{{|z|z|zzyzz{z{{{z{{{{{zzzzzzzz{{{{{{{zz{zzyzy{zz{{{|{{y{zzzzzz{{{z{{{{zzz{zzz{{{{z{{z{yzzzzz{{{{z{{|{zzzzzyzzzzzzz||{yzz{zyyz{z{zz{|{{{zzzz{zz{{{{{|{{yy{{{{{z{{zzzz{zz{{{{zy{|zzzz{zzy{zzz{{z{{{{|{zzzzz{zz{{z{{{z{|yy{z{{{z{z{{{{{|zz{zzz{z{|{{|{||z{{zzyzz{{z{{{|{{z{z{{{z{{|{{||{{z|z{z{{|{{|{|{{{{{z{{{z{{{|{{{{{zz{{{{z||{{{{}{{zz{zzzz||||{|{{|y{{{{{{{|{z{|||{{|||{{z{||{|||}|{{{zz{{z|{|{{|{{{{{{{{{||||||||{{{{{{{|{{{|{{{{|{{{||{{}|||||{|{{{{{{{{{|{{{|||{{zzy{{{{||{z{|{{{{{{yzzz{z|{{{{y{z{{{z{z{{|z{{|{{{{zzzz{{{|{{|{z{{y{|zzzz|{{z||{z{y{{{zz{{{{z|{{{{yz{zz{z{z{z{|z{zzz{y{{z{z{{{{{z{zzzz{{{{z{{zzz{zzy{zzzz|{zz{zzyz{{yzyz{{{zz{zzy{zzzzy{|{z{|{zz{z{yzzzz{{{zz{{yz|z{z{z{{z{z{{{{zz{zzz{{{{z|{{|yzz{z{zz{{{{{{|{zz{{zzz{z{z{{|{{{y{zzz|{{{||z|{|{z{zzzzz|{{{{|||{zz{|zz{|{{z{||{z{z{zz{z{{z|||}zz{{{yzz{{{{z|||{||zyz{z{|{{{||{|{{|{{|{|z{{|{}||{{zzzz{z|{{}|{||{z{{{|z{{||{|}|{{{|{{|z{||{{z|{|{z{{{{{{|}{{|||||{{|{{|{{{{{{{|||z{{z{{|{{|{}{|}|{{{{{{{{{{|{|||{{{{z{{{{|{|{|||{|zz{{{z|{|{{{||z{zzzz{z{|||||{{zzy{{z{zzz{{{z{{z{|zzyzzzy{z{z{|z{z{zzzz{z{z{{|{|z{z{zzxzz{{z{{{{{{yzzyz{{{{z|||{zzzzzyz{{yzz||{{zzzzz{zz{{yzz|z{{zzzzy{{z{z{yz{zzzzzyzy{{z{{{zzzzyzyyyzz{z{|z{zzzzzyzzzzzz{{{{{{{zzz{{y{zzyz{{{{zz{zyzzz{z{{{{{z{{{z{yz|{|z{||{{z{z{zzy{z{zz|{{{zzzzzzz{z{||{{{{y|zz{zz{z{{|{{{|{{z{zz{{{{|{|z{{zz{zzzzz||{z|{{{{|{{z{z{|{z|{||{z{{{z{z{z}||{|{{{{z{{{{{z{{|||{|{{|{zz{{{|{{{|{}zzz|z{|||}|||}|{z|{{{|z{|||||{|~{|{z{{{{}{||}|||{{{|zzz|||||{|{{{{z{{{{{{{z{{||z{zz|{z|{|{{{|{|{zzz{{{zz{{|{||{{{z{{{zz{{|{{|}z|{{z{zzz{|{z{{z|{z{{zzzzzzz{zyz{z{zzzzzzzzzz{{{zz{zzzzzz{{{{{{{{{{zzzzy{z{{{z{{{{z{zyz{z{{{z{{|{yzyzy{zyy{zz{{{|{zzzz{yzzz{z|{z{{{zzzzzz{zz{zz{{zyzyzzzz|{{{{{{{{yzzzzzzzz{z{{{{y{zyzzzzz{{{{z|{zzzzyyyzyzz{{{zzz|y{{yz{z{z{z{{{z{zyzz{{{{{{{{{{z{y{zzzz{{{z{{{{zzz{yz{y{{zz{{{{y{zzzzzz{{{z{||{yz{{{z{z{{{{z|{|{{{zzz{{{{|{z{{z{z{{y{z{{|{z{|{z{z{zz{z{{|{|{|{{{z{{{{{z{||{{|{z{zz{{z{z{|{|{{|{|z{{{{{{{|z{}{|{||y{{{{|{{{{||||{|{|{{{|{}{|||||{|{|z{{z|zz}{{||{z||zzzz{{z{{||{{z{{{{{{{{|{{|{{{{{{z{zy{z{{{|{z|{{zzzz{|z{{{{||z{zzzzzyz{|z{{{{{zzyzzzz{{{{{{{{zzz{zzzz{{|{{|{|zzz{zzzz{{{|{{{{|zzzzyyz{{|{{{{{{{{{zz{zzzz{{z{zz{z{zzzzz{zz{|{z{z{zyz{zzz{z{{z{zyzzzzyy{|z{zzzzzzzz{zzz{{y{z{{{{z{zzzyzzz{z{{{{zzzzyz{z{{{{z{{{{{z{zzzzzz{{{{{|z{zz{{zzz|{zzz|{{{zzz{zzz{z{{}{{z{zz{yz{{{{z{{{{{{|z{zzzzz{{{|{z{z|zz{{{{||{z{|{{{{z{{z{{z{}|{|{{{{z{{z{||||{||{z{z|{zzz{{|{|{|{{{{{{zz{{{|||}{|z{zz{{{z|{{|{{|||{{|{zz{|{{|||||{z{|{{{|||{{|z{|{z||{{{|z{||{|||{|{{{{{z||{|{}||{{|{{{{{|{{|z||||z|z{||{{}{||}|||{{{|z|{{|{|{{{|{{{{zzz{{{{{|||||{{{|z{{z|{|{{{|{{{{yz{{{}|{||{{zzzzzzzz{{|{z{{{z{z{zzzz|{z{{{|{{y{{zzzz{{{{{|{{{{{{|zzz{z|{z|{|{z{z{{zy{{{{z{zz{{zzzzzzz{{z{{|zzz{zzz{zzz{zz{{{{yz{zzzzzz{{zz{{z{z{zzzzz{{zz{{{{{{zzzzz{{{z{{{{zyzzzz{z{{{{{{{{{zy{{zzz{zzzz{z{{{{{zzzzz{z{{{{{{z{zzzzz{{z{{{{|{{zz{yz{{{{zz{{{{zz{zzz{{z{|{|{|{{z{{{{{zz||{{|{{|{{{{{{{|z|||{{{{{{{z{{{{|{{{|||{|||z{{|{|{|{|}|{{{{{{{{|||||}|{|z|{{{{|{{|||{||z{||z{{|z}}||{|{z|z|{|{z{||||||{|{{{{{|{|||}|||{{{{{{{{{}|{{||||z{{{z|{{{}|||||{{{{{z{{{z{|{}{|{|{z{|{{z{{{|{}|{z|{zz{{{|{{z{|}{zz{z{z{||}{{|||||{z{{yzz{|{{z{{zzzzzzzzz{{{{z{|z{zz{zzy{{|{{{{{{{zz{z{z{{{{{||{{z{zzzzz{z{{{{{||{{{zzzz{{||{z||{zzyzzzz{{|{zz|{{z|{{zzz{{{zzz{zz{{zyzzzz{{{z{{|{zzzyzyz{{{zz{{{{zzzyzz{{{|{{z||{zzzyzz{{{{{{z{{zy{zyyzy{z{yzzzzz{z{zz{z{{zz{{{{zzz{{zy{{{|{{{{{{zz{{z|z{|{z{{{|{{{z{z{z{{{{{{{|zz{{zz{z||{|{{{|{{z|{z{{||{{{||z{z{{z{zz|||{{{||{zz{{zz{|{|{z|{{{{{{{{{{z{{||}|{z{{{zz|{|{{|||||{{{z{{{z{{|{{|||{z|{{{{{||||{||{|z|{{{{|||||||{{|{{{|{{{z||{||}}{y{|z|{{||||{|}{|{|{z{z{|}{|}||{{{z{{{{{{|{|||||{{|zz{{z{{{{{||{{{z{{{{|{{z{{|{{{{{{{{z{zz{{{{zzyzy{zyzz{||z{{z{zz{zzzzz{zz{{|{{{z{zzzzz{{|z{{{{z{zz{zz{z{{|y{{|z{{zzzzyzz|{||{{zzzzz{zzz|zzz{{z{z{zzzzzz{{zz{{{z{zzyzz{z{|z|{{{zzzzzz{{z{{{{{{{zzyzzzyyz{{{{{{{zyzzy{zzz{y{z{z{zzzzzyyzz{{{zz{{{zzzz{zz{|z{{zz{zy{yzzyz{z{{{z|{{{{zzzz{z{{{{z||{z{zzzzz{{{{{{{|zz{{zz{|{{{{{{{{{{zzzyz{{}{|{|{{{zzz{{{z{|||{{{{{{z{{{zzz|zz{|||zz{z{|{{z|{{|{{|{{{zz{{{|{|{||}{{{|{{{z{{{{|{{|}|z{{|{|{{|||}|||{{{{{{||{{z||||{}{{{{|{{{{|{|}}||z{{{zz{|||||||{{z{y{{{{{|{{{|||{{{{z{{{|{||{|{|z|{{{z{z{{|{{z{{||{{{{{z{||{{{|{zz{z{z{{{z|{z|{z{yz{zz{y{{z{{{{|zzzzzzzzz{z{zz{{{{yzzzzz{zy{{{{z{yzzzzzy{{{{z{{{{{zz{yzyz{|{|z{{{{zzz{{z{|{z{|{{{zzzzzz{{z{zz{{{{z{zy{yz{{{{zz{|zzzzzzzz{{zz{z{{{zyzzzzy{{|{{{{zyz{zyzzzz{{{z{{{z{zzy{zz{{zz{{{|zzzyz{zz{{zz{{{{zz{zz{{zz{|{zz||{z{zzzzz{{z{{{|{{{z{{{z{{{||{{{{{|zzz{zz|{{{{{|{{{{{{zz{{{{{|||{{{{z{zz{{|{z{|||{z{{z{zz{{{{z{{|{{{z{{{z{{{|{{{{{{zz|{z{{||{{|{|{|{{{zz{|{}{{||{|{{{{{{{{|{{{|||{{{{|||{z||{{|||{{|{{{{z|}|{{{|||{|{{z{{{{|||||{|zz{z{{|{{{}{{||z{z|{{{{||{{{||{{{{{z{z{{||{z|||zz{{{z{z{|{{{}|{y{zzzz{z|{{{{{|{{zzzzzzz{{{zzz{{z{y{yzzzz{{{|||{{{zzzzzz|z{{{{{{{z{{{z{z{{{{zz{{{{yzzz{zz{{zz{{{{z{{zzzzz{{z{z{{{zzzzzyzz{{{z{{zzzzzzzzz{{z{yz{{zzzzzzzz{z{{z{{{{{yzzzzzzz{{{{{|z{{zzzzzzzz{{{{{zzyzzzzz{z{zzz{|zzzzzyzzz{z{{|{{zyzy{{{z{{|{{{{||z{z{z{{{{{{{{|{zz{{{zzzz|{{zz{{{y{zz{{z{{{{|{{{{z{z{z{{z{{{{{{{{{{y{{{z|||{{{|{{z{{z{{{z{{|{{{{{z{{{{|z{|{{{{{{{{z{{{{|z|z|||{z{zzzz{{z{|||{||}{{|z{{{{}{{z||{||{|{{|{{{|{{{||{{{{{{{{{z|{||||}{{{{{{{{||{{|{{|{z{{z{z|z{{|{{||{|{|{|z{|||||{{}{|{{{{{z{{{|||||{z{zz{zzz|||||{{{zzz{z{z{{|{|{z{z{zzy{{zzzz{{z{z{zyyzzzz{{{|{{{|{z{{zz{y{yz{{{|{{z{zyz{yz{zzz{|{{zzzzz{z{{z{zz{||{{zzz{yzz{{z{{{{zzzz{zyzz{zzz{{{zzzz{z{zzzzz{{zz{zzzz{zz{{zz{{zz{{zz{y{z|{z{{{{{{zyzz{y{zz{{{{{{yzzzyzyz{z{z|{{{|z{zzzzz{zz{{{{zzzzz{zz{{z{{z|{{zzzzzz{{{{z{|{{{{z{zzz{|yz{{z{{zzzzzz{z{{z{{{{{{zzzzyzz{{{||{{|{{zzz{{z|{{{{{{{zzzzzzz{{{{{z|{{{z{|{zy{{{{}|||{{zz{{z||{|z|{|{|{{{|{{yz{{|{}{|{{{{{{|zz||{{{}||{{{{{z{zz||{|}}||{{{{{{z|{||||}||z|{z{{{|{|||{||{|{{{{z||{{|{|{}{z{{{{|{||{|{{{{{{zz{{{z{|z{{{{|{zzz{{z{z{z{{{{{{{zz{yzz{{|{|{zzzzyzz{{z{{zz{{z|zyzzy{zzz|{{{{{|zzz{zzzz{{{{{||z{yz{yzz{zz{{z{|{{{zzyzz{{{{|{|{{{y{zzzzy{{yz{{{{zz{zz{zy{{{{z{z{yzzyyzz{{z{|z{{{zyzzzyzyz{{zz{{{zyzyz{zz{{{{z{||{{{zz{yzz{|{{z{z{zzyzz{y{z{z{|zz|{{{zzzz{{{{{|{|zzz{{{zz{zz{{||{{{{zz{{y{{{{{z{{zzz|yzzz{z{{{|{|z{zz{z{z{z{{{{{z{{{{zzzzz{|z{{{{zzz{{zz{|{||z{|{{{{z{{zz|||{z|{{{{{z{{{z{{|{{{||{{{{zzz|{{||||{|{z{{{{yz{{{|{|{z|{{{{{{{||{{||{|{|{z{{{{{||{|z||}z{{{{|{{}|{||{{{z|{{{{{{{{|{||{|zz|{zz{{||z{{||{|{|{z{{{{{|||||{{{{{z{{z{{z{z{|{zzzzz{{z|{||{{{{{{zyzzy{{{|z{zzzzyzzzzz{z|{{{{{|{z{{{zzz{{{{|{||zzy{zzy{{z{{{z|{zzyz{zzz|{{{{z{{{zz{zzzzzz{z{{|zyzzzz{z{|{{zzzzzz{zzzzz{zzz{{|{y{{yyzzzzz|{z{{{{zyzzzzzy{{z{zyz{zzzzzzzz{{z{{|{zz{{yzzzz{{|z{{z{zzzzzzzzzzz{{y{zzz{|zzz{{z|{{{zyyzz{{zy{|z|{z{zzzzz{{zz{z{{{{{|zzz{{z{z|{z|{{{|{{{zzz{{{|{|{{{{|{zzzz{{|{{{{|{|z{{{{zz{|{|{{{{z{yzzzz{{|{{{{{|{{zz{{{{{z{|{{||{zz|{zz{{||{||||}{{{{{{zz{||||{}||z{{{{{{|}|{||{|{||z{{{z|{|||{|||{{z{{z|{||{|{{||{{|zz{z|||{{{|{|z{|{zz{{{{{{{|{|{{{{{{{}|{||{{{{z{zz{zz|{{{{{||{zz{{{{y{||{z|{{{z{zz{{zz|{zzz|zzzzzzzzzz{{{{z{{{z{yzyyz{{z{{{{}{|yyz{zz|zz{z{|{{z{zz{zzz{{|zz{{{{zyzzzz{{{{{{z{zyzzzy{zz{z{{z{zz{zzzzzzzzzz{z{{{zzzyzzy{{zz{z{{yyzzzz{zz{z{z|{zzz{zzzyz{z{{{{{{zzzyyyzyy{{|{z{{z{{y{zyzz{z{z{{z{zzzzzzyz{zz{{{{z{zzzzzzz{{z{{|{zzzzzyzz{zz{{z{{z{z{zzzz{{{{z{{{zz{{yzyz|{z{z|{|{z{{yz{z{{{{{zzzzz{{{zz{|{|{{z|{|z{zzzz{{|{{{{{|z|{{z{{{|{{|{||{{zz{{{{z{{|{{|{|||{z{{zz{{{||{}{{z|{{{|{||{|||{{{{{{{{{zz||{|||{|{zzz{{{{||||}|{|{z{{{{{|{||||{{|{{{{{{{z|{{|||||z{{|zz{{{|{}{||{z{zzzzz{{{z||}|{{z{{z{z{|{{z||{{z{{{zzzz|{{{{{|{zz{zzzzz{|z|{{|{zyzzz{zz|z{{{{|z{{|{zz{z{{z{{{{{z{yzzz{{z{{{|{{{z{zzzzzzz|{{{z{zzzzzz{z{{{zz|{{{{zz{z{z{z{zz{{{zz{zz{yy{z{{z{{{zzzz|zzz{{{{{|{zzzz{y{y{{z{zz{{{zz{zzzzz{{z{zz{|{{{yzz{zz{z{z{{|z{zz{yy{y{{z{z|{zz{{{zzy{{{{{|}|{{zyzz{z{z|{zz{{zzzzz{{z{{{z{{||zy{{zz{{{|{{{|z||{{{{{{{z{{{{{{{{{{{{zzz{||{{|}{|{z{zzz{{{|{{{z{{z{{{{{{{{{{|{|{{{{{|{{{{{{|{||}|z{z{{{z|{{|{z{}{{|z{z{{||{||||||{{{{|{{{{{{}|||{{{z|{{{{|{{|}|{|{z{{{{{|{{{{{|z|{zz{z{{{}{||||||{y{{{z{|{{{|||{{z}z{zz{|||{{{||{{z{z{zzz{|||||{z{{z{{z{{|{{{{{{{yyzzzzyzz{{{z|{zzzz{zzy{{{z||{|{z{zz{zz{{{{||{|{{{{{yz{{{{{z{{{y{{zyzzz{{zz{{{|zz|z{{zzzzzz{{{{zzzzzyzzzz|yz{{|{z{zzzy{zz{{z{{{{zzzzzzz{{z{z{{{zyzyzzy{{|{z{{{z{{{{zzzzz{z{{z{|zzyy{zzy{y{zz{|{zzzzz{{z{|z{{{{|{zzzz{yy{{z{z|{{{yzyzz{{{z{z{{{|{z{{zy{{{{{|{|{|{{{zzzz{{{|{{{{||{|{|{{z{|{{{z{|{{{{{yz{{|{{{{{{{{zzz{z{|z|{z{{|zz|{|{{z{|{|}}|{{|{}{{z|||||{}||{{||{|{{{{{|{}|||{{{|z{{{{}{||{|}{{z|{||||||{||{{{{|{|{z{||{||||||}{{z{{{{{}{|}||z{{{{z{{{{|{||||{{{{{z{{{{|{||}{{|z{|zz{{{{{|||zz{z{|{{||{{{{|{{{{z{{z{|z|{{|{{||zzzzzz{{{{{{|{zzzyy{yz{{|{{||||{zyz{zz{{{{{z{{z{z{{z{z{{|zz{{{{{zy{{{zzz{z{||{zz|z{zzzz{{y{{|{{|{zzzz{zz{{{|{{z{z{zzyzz{z{{{{{zzz{zzzzz|{{{{{{zzzzzzzzz{{z{{|{{z{z{{{z{{{{{z||zzzzzzz{{z{z{z{{z{zyzzzy{{z|{{z|{z{{z{zz|{{zz{{{{z{zz{{zzz{{{{|{z{{{{z{{||{{{{{|zz{zz{{{{|{z{{{{{z{{zz{z{|{|}|{{|z{{{zz{{|{{{||{|{{zzz{{z{{{{{||{z{z{{{{{|||{||{{{{{zz{{|{{|{{{|{zz{{{{z||||||||{{|z{{{{||{{{{||{z{{||y{{|{|||{{|{{{||z{{|||{{|||{z{{{z||{{{{||||zz|{{{||{|||{|||{y{{z{{{{{||{||{{{zz|{{||z{{{}|zz{zzz{{{{{{{{|{z{{zz{{{z{|{|{{{zzzy{{{z{z{{z|{{z{z{{{zy{|{zz|{{{{zz{y{z{{{|{{{z{z{z{zzzz{{{{|z{{zzzz{zyz{{|{|{|zzz{{{zzz{|z{{|{{z|z{{yz{{{{{{{{zy{y{zzz{{{{z{{{z{zz{zzz{zzz{{{{yzz{zzz{zz{{|||{{{{z{z{yz{{{z{|{{zz{zzyy{{{y{{{{{{zzz{{zzz{{{||{{{zzzz{z{{{{{{|{{{{zz{z{{{{z{{{{zz{zz{{z{{|{{||{{{{zzz|{|{z||{|}{{{z{{zz{|{||{|{||z{{|z{|{||z{|{{{|{{{{{{{z{{|{{{{|z{{{{{{|||{|{z{{z{{{{{{{|{|}||z{{{z{z|||}|{|{|y||{{|z}||{|||{{{|{{{{{{|{|||{||{{{{||z{|}|{|}||{{{{{|{||}|{{{||{z|{{{{{|{{|||{|zz{|z{{{{{|{{|}{{{z{{{{z||{{||}{{|{{{|{z|{{{{|||z{z|zz{{|{{{{{{z{zz{yzyz{zz|{z{{z{yzzzzz{z{{{{{zzzzzz{y{z{{||{{{zzzzzzyz{{|{z{|zzzzzzz{{{{{z|{{yzzz{z{z{{|z{{|zzzzz{zzzzz{{{{z{{yzzyzzzzz{zz||{zzzzzzz{zzz{{{{zzzzyzzzzz{zz{{{{zyzzy{zz{z{{z{{{zz{{zzzyz{zz{{{{zzzzyzyz{zz{{{{z{zzzyzzzyz{{{{||{zzz{zz{||{{{{{{{z{zzzzz{{{zz{{{{z{{zz{{z{{{{{{{zzyz{yzz{{|{{|{{{{{z{zzzz{|{|{|}{{zz{zz{{||zz||{|z{{z{z{{{|}{{|{{{z{{{|z{|||{||{{z{{zz{z{|{|{||{{z{z{{{{|{{{|{|{{{{z{{|{{{{|{||||{{{zz{|||{{|{|{|{{{{{{{|||{{{||{{{z{{z{z{|{{||}{{{|{z{|||{{|{{{z{z{{{{z{|{||||{|z{{z{zy{|{|{{z{{{|y{yzz{|{{z{{|zzzy{z{{z{{{{z{{yzzzzzzz{{|{{{{{z{zyz{zyz|zz{|z{z{zzzzzzzz{{z|{{{{yyzzzy{{{{zzz|zz{yzzzyz{{{{z{z|yzzzzzz{{{zzzzyzz{zzzzzz{z{{z{zzzzz{zzz{z{{{z{{{zy{yzz{{{|{{{{{{zzzzzz{z{{{{{{{zzz{zyyyy{{{z{|{|zzyz{{z{{z{{{z{zy{zyzyzz{|||z|{{zzzzzz{{{{{{{z{z{zzzzzz{{{{z{||z{|zzz{{{{{{{z||z{{zz{z{z{{{z{{{{z{zzy{z{{|{|{|{{{z{{z{{{{{{z{|{{{z{{{z{{|{||||{{{zz{{{z{|{|}{{|{{{{{{zz|{|{{{{||{|{z{z{||{{{{|{{{{{{{{|{{|{|{|{{{{|z{{z|}{|{|||{z{{zz{{{{{{{}||{{{{{{{{z{|||{|||{{{{{{{}{z{{|||{|{{{|{{{|||z|{||{{zzz{z{{{{{{{z{zzzzzzz||{{{{{{{z{zzzzzz{{{|{{{{{z{|y{z{{{{z{{|{z{zzz{zzzy{{{{{{z{zz{z{y{{{{{z{z{{yzzyy{{{{|{z{z{zzzz{zz{zyzz{{{yzzzz{yzz{{z{{{z{z{zzzzz{{z{{{{zzzzzy{z{{{z{zz{{zzzzzzzz{{z{||zz{y{zzzzz{{{{{{z{z{{zzzzzz{zzz{}z{{yzzzzzzz|{|{{zzz{{{zz{z{{{{{{{zzzz{{z|z{{{z{{z{z{{yzz{{z{{{|{{z{{{|zz{{{{{|{{{z{{zz{zz{|{{z||{z{z{{z{{z|{{{{{{|{{zzz{||{{{|{{{{{z{{z{{|||{|||{{{zz{|z||{|{{|{{{{z{z{{{||||}}{|z{|{z{{{|{{{{||{{{|z{{{{|||}||{||{zz{{{||{|||||{z{{{{|{||||||{||z{zz{{zz{z|||}{{{z|{{z{{{{|{|{|{{{{z{{{{{{{}||{||{|z{z{z{{|{{|{{z{zzzz{{z{{{z{{{zz{z{zyz{|{{{{z{zy{zzy{{{{{z{{{{{zzzz{z{zz{{{{|{yzzzyzzzz{|z{|{{{zyzz{z{z{{z|{{{zzzzy{yz{z{{{{y{zyzzzzz{{{z{{{zzyz{{zy{{z{{z{{{zzzzyzzzzz{z{z{{z{zyyzyz{{zz{{{{z{{zyzzyz|z{{{{|{zz{zzzy{zz{{{z{{{{zzzyzzzzz{{{{zzz{zzz{zz|{z{|zzzzzyzzz{{z{{{{{{zzzzzz{{{z{{{{{{{|{z{zz{{zz{|z{{{{{{zzz{{{z{{{{zz{zz{{{||{{{{{{{z{{yz{{{||{|{z|z{{{z|{|{{{||||{z{{{{z|z}|z|{{{{{z{zz{z|{||{{|{{zz{zz{z{|{|{{|{|z|{{zz||{{{||{{{|{z|{{{{{{||||||{z|{{|{{|z|{{|||{{{z{{y{|{||}}|{{|{|{{{|||{{{{{{z{{{{{z{{z||{||{{{{{z{{z{|{|{{{|zzzzzzzzz|{{{z{{{z{zzy|zz|zy{{z|z{zz{zyz|zz{{{{{{{yzz{yy{z|{{z{{{zzzzzz{{{{{{z{{{{zyzz{z{z{z{{z{zzzy{z{zy|z{{{zz{zzzyzzzyz{zzzz{zyzyzzzz{zy{z{z{|zzzzzzyzz{zzz{{{zz{zz{zzz{{{{z{zz{{z{yz{zz{{z{{zzzzzzzzz{z{{{z{zyzz{zyzzzzzz{{{yzzzzyzz{z{{|{{{zzz{zz{yzz{{zz{zzzzzzzz{{z{{{z{{zzz{{zz{|{{{{|{{zz{yzz{zz||{{{|{{z|z{{y{{{|||{|{z{zz{{zz|z{z{{|{zzzz{{zz{{}{{{|{z{{z|{z{|{{{{|{{{{z{{z{{{{{||{{{{{zz{zz{{|{{{|||{z{zz|zz{{{|{{{||z{{{z{{{|{{|}|{|{{{{{|{{{{{{|{{{{zz{zzz{{{z|{|||{{{|zz{{{{|{||{{|{z{zzz{z{{{{}|z|z|{{{zz|{|z{||zz{{zy{z|z{z{{{zzzzzz{zzz{{z{zzz{zzzzy{zzz|{{{{{{{zy{{zyzz{z|{||{zzyzzzzz{{{zz||{zzyz{zyzzz{y{||{{zyz{zzz{{{z{{|zzzzzyyyzzz{z{{{zyzzzzyzz{z|zz{{zzyzzyzzzz{y{{{z{{{zzyy{z{{y{zz{zzzyzzz{z{{{zz{{zzzyzzzzz{zzyzzzzzzyzzzzz{z{z{|{z{yz{z{zz{{{z{{{zzzzzzyzz{{{{{z{{yz{zz{z{z{{z{{{z{zzyzz{{z|{{{|{{zzzzzzzz{z{{|{{{zzy{zyz{{|{{{{{z{{zzzz{z{{{|{{{{{zz{{{zz{||{|z|z{{{{z|{|{{{{||||{{|{{zz{{{{{z|{{zz|{{{{z|{{{|||{{{{{z{|{{||{|||{{{{{{zz{|{}|}||{zz{z{||{|||{|{{{yzzz{z{{{|{|{|{|{{{{zz{|{{{{|{|{z{z{{zz|{{{{{||{|z{{zzz|{{{z{{{{{{zyzz{{{z|z{{zzzyzzzzz{{{z|{{zzzzzyzzy|z{z{{{{zzzzzyz{zzz{{{{{zy{{yz{z{zz{z{{{zxzzyyzz{{{z|{z|{z{z{z{zzzzz{{|zzzzzzzzzy{{zzzyzzzzyzzyz{zz{z{{{zzzzzzzz{zzz{{{zzzzzzzzzyz{zz|z{z{{yzyzyzzz{{z{zzz{{zyyyzzzzz{z{z{zzzzz{z{zy{{{{zz{z{zzy{|zzy|||yzyyyzzyz{{{{{z{{{zyzzzz{{{zz{z{z{zzzz{z{{z{{{{{{{z{zzzz{z|{{{{{{zzz{zzz{{|{|||{{zzz{{zzz{{{|{{|{{z{|zzz{|{{{{{{{{{{{|{{{|z|{{|||{{{{{zz|{|{{|||{{z{{{zz||{{{|}|{z|{{|{{{z{{|{{||{|{{z{{{||{|{|z{{|{{{{z|{||{|z|{z{{{|{z|z{|{||{||{{|{{{{{|{{}||{{{z{z{{{{{{||}|z|{zzzzz{{{{{{{zz{||zzy{{|{{|{{{z{{{zz{zz{{{{|{z{{zzzzz{z{z{{|{|{{{{z{{z{{z{{{|{{zz{zzzzz{z{z{{{{z{zz{{yzz{z{{{|{{|zzyzyz{{zz|{z{y{{z{yyz{z{z{{zz{{zz{zzzzz{{{{|z{zzzz{{zz{|{{{zz{zzy{zzz|{zzzz{z{{zzyzy{{{{zz{zz{|{{zzz{{zz|{z|{zz{{{{zz{zzz{|{z{zz{yyyz|{zz{|z|zz{zzz{{{{z{z{{{zz{|z{zz{{|z|||{{zyzzz{z{{|{{|{{z{z{{{z{{z{{||{{{{{{zy{{{{{z|}z|zz{z{zz{{|{{|{{{|{|z||{{{||||z|{{{z{z{{{}{||{|}{|{|{z{z||}||{|||{{z|{{|||||}|}|||{{{{{{||{||{|{{{z{z{{|z}||{||||{{z{z{{|{{|{{|{|z{z{{{{{{z||{||||zz|zz{|{{|||||{{z{{{{{{z{||{{||{z|{{{z{|{{{{{{{{|zzyz{|{{{z{{z{yzzzyzy{{z{{{{|zz{zzzzzzz|{{|{{zzzzz{zyz{{z{{z{zzzzyzyz{{{{{z{{zzz{zz{z{zz{z|{{z{zzyzzzzz{z{{|{{yzzzzzzz{}z{{z{zz{z{yyzzzyz||{|yzzzzzzy{|z{z|{{{zzzzzzyz{{{z{{{{z{zyy{y{{zz{||{{zzz{zzy{zz{z{{z{{zzzyzzz|y{zz|{{zzzzzyy|{{zzz{{{{{zzzz|{z{{z{z|zzz{{zz{|{{{{{{{zz|{z{{{{{{{{{z{{zz{zyzz{{{{{{z{{{{z{{zz{{{{z{|{zyz{z{z{z||{{|{{z{{{{{{z{{|}|}|{z{{|{{z{{{||||||{z{|{zz{{z{}{{{|{z{{{{{{||{{{}}|{{{{{{|z||{z|||{{{{z{{|{|{||{{|}{z{|zzzz{||{{|}{{{zzz{z{{{|{{{{|zz{{{{{{||{{z|||z{{zzzzz{{{{{{{|{zz{{{zz||||{|{{{{z{y{{z{{{z{|z{zzyz{{zzz{|zzz{{{zzyzzzz{{{{{|{{{{zz{z{yz{z{{{{{{{zzzzzzzz{|z{{{z{yxz{{yz{z{{{{{{zzzz{zyz{{z{{{{{zyzzzzyzz{z{{zzzz{z{zzyzz{zzz{{yzzzzzz{z{z{{{|{|zzzyzzyz{{zz{{{{{{yzyyzz{|{{{{{{z{z{zzyz{{z{{{y{{{yzzzzy{yzz{{{zzzzzyzy{{|zz{|{{zz{z{zzzz{{{{||{zz{zzzyz{{{{{z{z{z{zz{{{||{{{{|{z{zzz{{{{{{{{{z{zzzzzz{{{{{zz|{{zz{z{zz{{z{{{|{z{|{{z{{{{||||{{{{{z{z{{{{{|{{||{{z{z{z{{|{{|||||zzzz|{{{{{{{||{z{{|{{{z||{{{|{{{{{{z|{{||||{|||{{{|z{{zz|||{||{{{{{z{z||{z{{||||{{z|zz{|{{{|||{{{{zz{{z{z|{{|{|{{z{{z{z{||{z{{|{z{yz|zz{{|{{{{{z{zz{zzy|{{{{z{{zzyyzyzz{{{{z{|{{{zzzzzz{z{{{|{z{z{z{z{{{z{|y{z{{zzzyyzz{z{z{z{|{zzz{z{{z|{zzzz{zzzzzzzz{{{zz{zz{yzyyzzzz{z{{z{{yzzzzzyzy{{{zz|{{zzzyzzzzzz{{{{{zzz{yzzz{{{{{{||{zzzzyyyy{zzzz|{{{{zzyz{{zzz{{{{{{zz{z{z{{{z{|{|{zzzzzzzz{z{{{|{{zzz{yzz{{{z{z{{zz{{zzzyz{{{z{z{z{{yzzyzz|{|zz{{zzzzzz{z{z|{{{|{{z|{z{{zzz|{|{{{{{{z{|{{{|{{{}|{|{{z{{z{{|{|{|{{{{{{{{{z|{|{}{|{|zzz|zz{}|{{{{}|{{{z{{|{{|{{{{|||z{zzz{{{|{{|{|{{|{|{z{{{{|{|||{|z{{{zz{z|{|||{{{|z|{{{{|||{|{||zz{z{{z{{{{{{{||{{{{yz{{{{|{{|{{{zz{{zzz{zz{{yz{z{zx{zzzz{{{z{|zyzzzzyyzz{|{z|{{yz{zyy{y{z{z{{{{zz{z{zzyz{{{{z{{yz{yzzzyzz{{{z{{zyzzzzzzyz|z{|zzzz{zyzy{z{{{zz{{{zzzyzyzzzzy{{{zzzzyzzz{{{{{{z{{{z{zyzyzz{z{{{zzzzzzyzzz{z{{{{{{{{yyzzzzz{zzzz{z{zzzyyzyzzz{zz{{zy{{{{z{z{z{{{||{yzzyz{zzz{{{z{|zy{{{zzz{z{z{{{{z{{zzzz{{|z{{{{|{{{{zzz{{{|{z{{{zzzzzzzz{{{z|{|zzzz{z{zz{|zz{z|{z|z{{{{|{{|||{z{{{z{{{{{|{z|{{||{zz{{zzzz{{{}{|zzz|{{z{z{|{{||{|{{{{{||z{{{||{||{{{z||{{{|{{||||{{{|{{{{{|||||||{z{{{z{{{{|{{{{}{{z{{zz{{{||{|{|{|zzzz{z{{{z{{|{{zyzzzzz{{|{{{|{zz{y{y{yz{zz{{z{{yzzzzzy{{z{{z{|zzzz{yzyzzzz{{{{{{yyzz{{{{z{{|z{zzzzzyyz{z{{z{{{{yzz{xzyz{{|{{z{zzyzzyzzz{{zz{{{z|zzzzzz{{{zz{zzzzzyzzxzzzyz{zz{zzzzzy{zz{z{{{z{zyzzz{zzzz{zz{z{zz{{{zzzz{{{{z{{zy{yz{zzz{zz{{|z|{zzzzz{z{z{{{{|zzzzz{zz{{{zz{{|z{zzzzzzz|{{{{|{{{{zzzzz{{z|{{{{zzzzz{{{{|{{z{{|zzzz{z{zz{{z{{{zzzzzzzzz{{{{{z}{{{{|{z{z|{|zz{z{{{{{{{{{{{{{{{{{{||zz{{{{{|{{{{||{{{{z{z{|{|z|{|zz{{zz{z{{||{|||{{{zz{{|{|{{{||{|{{z{{{{z}||||||{{zz{{{{}|||{{z||{||{{zz|{{{}||{|{{{zz{|{{||||{||{{{{z{{{{z{{|{{{{{zzzz{{{|{{{{{{zz{z{{z{{{{z{z{y{yyzyzz{z|{{z{{zzzzzz{z{z{z{{zz{zz{zzzz|z{z{{{{z{zxzzzzzzzzzz{{{z|y{zzz{zz{z{z{zz{zzz{yz{{{{{{{{zzz{zzz{zz{y{zzy{yzzyyzzzy{z{z{zyzzyyzzz{z{{|{z{zzzzzyy{z{{z{zz{zzzyzzz{{{z{||{{zyyyzzzz{zzz{{{{zzzzzzzzzz|z{{{zzzyxzzzz|{{z{{{zzzz{yzzz{{zzz|{zz{zy{yzz{{{z{|{zz{{zz{{{{|{z{zzzzz{{z{y{{{z{{{zyzz{{y{z{z|{{z{z|{z{{zzy{{{|z{{{{{{{|{{zz|{{{|{{zzzz|{|z{{z|{|||{{{{{{{{|{||{|{|{{{{z{{{|{{{{{||{{{{{{||||||||{|{z{{z{{|z|{{|{|{|{|{zzz{{||||{|{{zzz{{z{{{{{{|||{{{{{|{z{||{|{|{|{{y{{{zz{{|{{||{{{z{zz{{{{z|{|{{{zz{zz{{{z{{zy{{z{zzxyyzz{zyzz{{z{zzz{zzy{y{{{{zzzzzz{yzz{z{{{{zzzzzzzz{{{{zzzz{yz{zzzz{{{{z{{zyzzzzzzzz{yz|{{z{zzyz{zyz{z{z{{zz{zyzzzzy{{{z|{{zzyzyzzzzzz{z{{zzzzzyzzzz{{z{zz{zz{zz{zyy{{{{z{|zyzzzzzz{{zz{{zz{y{y{zzzzz{{{{{{{z{z{{yzzzz{{z{zzzzzzzzzz{{{z{{{{z|{yzz{zzz{||{zz{zzzzz{z{z{z{{|{z{z{zyz{|{{||{|zz{z{{zz|z{{|{||{zyzzz{y{{|{{{{z{{z{{y{{{{{||{{{{z{z{{{z{{z{{{||{zz{zz{z{||zzz|{|zz{z{zz{|{{{{{{zz{{z{{{{{||||}||{z{{z{{||||||||{{{|{z{{{{{{{{||{{{{{zz{{|{{|||||{z{{{{z{|{{{|{|{y{z{{z{{|{{{{{||||z{{{zz|z|{{{{{{|z{y{z{{z{{z{{zyzzzyyyz{{{{{z{zzzzz{z{z{{{{z||{zzy{zzyz{z{z|z{zzzzyzyzz{{{z{{zzzyyzz{zz{zyzz{{zzzzz{zz{z{z{|{zzzzzzzyz|{{zz{{{zyyyyzzy{zz{{{{|zzyzzzzy{z{zzz{zzzzzzyz{{z{{zz{{zz{yyzzzzz|{z{{{z{zz{zzyz{{zz{zz{zzzzzzz{zyzz{{z{z{zy{zzz{|{{{|{zzz{zz{z{{z{z{{{{y{{z{{zz{{{zz{zzzzzzyyz{{|z{{{{zzzzzzzz{y{{{{{{z{{zzz{z{{|{{{|{zz{{{z{{{{zzz|z{{{zz{{{z{{z{{||{{z{{{zzz{{{|{|||{z{{zz{z{{{{|{|{{{{{{zzzz||z{{||{{|z{{{z{{z{{|{||{{{z{{{{z{|{{|||{{|zz{{||{{{{{{zzzz{zz{{|{{|||{{{zy{{z{{{||||{|zzzzzzzzzz{||{||{z{{z{zz{{{{{|||{z{yzzyyzz|{{zz{{{zzzzzzz{z{{{z{zzz{{{yz{zzz{{{{{{{z{zz{{{{{{{|{{zz{zy{zz{{{z{{|{{{zz{zzzzzzz{{zzz{zzzyzz{{{y|{z{zz{zzzzz{|zzz{zzzzzzzzzy{{{{z{zz{zyzzzy{{{{{z|{zzzzyzzz{{{z{|{zzzzzyzzz{{{{z{|{{{zyz{zzz{z{z{z|zzzy{yzzz{{{{{{{{{{{zz{z{{{z{{|{{{{z{z{y{{z{z{{{{z{z{zzzz{zz{{{{zz{{{zzz{|{{{|{{{{{{z{{z{{|{z{{|zz{{z{zy{{|{z{{{{{{{y{{{z{{{{{{|{zzz{zz{{z}|{|}|z{{{{z|{|||}||{|{{{{{zz{||{{{{|||y{{z{{z|||{{{}|{z{{{{{|||{{||}z|{{{zz{{{||{||||{zz|{{{{{{{|||||{z{{z{z{{z{|||||{|{{{|zz{|{}{{||{{{z{z{{{{|{{||{{{{{z{{z{|{{|{||zz{y{z{z{{{{{||{{zzzzzzzzz{{{|{|zz{y{zyz{z{zz{z{z{zzzzz{{zz{{|{{|zzyzzzy{{{{zz{z{zz{yyzz{z{{z{z{zzzzzyzz{{zz{z{{{zzz{zyzzz{z{{{{zzzzyzyz{zz{z{z{zzzzy{zz{{{z{z{z{yyzzzyzz{zz{z{{{zzzzzzzzz{{{z{z{yyzz{zzzzzzz{z{z{{zzyzyz{{z{{|zzy{z{zzz{z|z{{|{{{zz{z{z{|{{{{{|zzz{{zyy{zzz{{{|{zzzz{{zz{{{{{{{zxzz{zz{y|{{{{{|zzz{zz{y|{{{{{{{{{z{zzz{{||{z{|{zz{{z{{z|z}{{|{|y{{{|z{{{{{|{}|||z}{yz{z|{{|{|{{{zz{{z{{{|{|{{{|z{z{{{|{{{{||{||{zzz{{{z{|{||||{{{z{{{{{|{|{{||{|zz|{{zz|{|{{|{||{{z{{{|{|{{{|||{zz{zz{{{{{z{{|{zzzz{zzz{{{{{z{|z{zzzzzzz{|{z{{{zyzzzzzz{zz{{{{{{zzzzzz{z{{{{{{{zz{yz{x{{{z|z{{||zzzzyyz{zz{zz{{zzzzyyzz{zzz{{{z{{{zzzyyz|zzy{{zzz{yz{yy{{{yz{zyzyzzzzyz{{z{zzz{z{zzyy{zz{{{z{{zzzzzyz{{z{|{{{{|{yzzyzyz{{{z{z{{{z{zzyzyz|{zz{{{zz{zy{zz{{{zz|{|zzzzz{zzz{{|{{{|z{z{zzzzz|{zz{{{zzzyzyy{{{{{z{{{z{{{zyzz{{{z{z||{zzz{y{zz{{|z{|{{z{zzzzz{{||{{{{|zz{{zz{{|{{z{|||{{z{{zz{{||{{||{{{z{{{||}{}{|||{z{{z{{z{}{|{{}{|z{{{z{{{||{|{}||{{z{{||{{{||{||{{{{{zz{{|{{{||{|{||{z{{||{|||||{|z{z{z{{{||{{|}|{z{{{{z{|{|{|{|{{{z{zz{{{|{|{||{{z{{{zz{{{{|z{zz{{zz{{{{{z|{{{{{z{z{{zzzz{||||{{{z{zyyz{z{z{z{{zzzzyzzz{{{z{z{{{zzyz{zyz{{zzz{|{{|yyyyz{{|{{|{{zzzyz{{zz{{zz{{zz{zzzyzzz{{{zz{zzz{y{zzz{{zzz{{{zzzz{zzz{{{zzz{zzzzzzzyy{zz{zzzzy{{zzz{zz|{z{{{z{zzzzyyz{zzzz{|||zzzyzyzz{{z{{z{z{z{y{zz{{zz|{|z{zzzzz{{z{{{{z{{{{zz{zyz{z{z{{||yzzzzz{z{z{zz{{|{{{{zyzz{zz{z{{{{yz{z{z{z||{z|{z{{z{z{{{{{{{{{|{{{zz{z{z|{{|{||{{z{z{{{{{{{||||||{{|{zy{{{|{{{|||{zz{z{z{|{|{|||{{{{{|}|||{||{|{{z{z{{{{{}{||{{{|z{{{zz{|||{{}|{|{zz{{zz{{{||||{{{{{|{z{{{{|{|{|{z{yz{zzz|{{{{|{{zz{{z{{z{||{{{z|z{zz{zz{|{{z{zz{zyy{zzyz{{z{z{|zzzzzyz{{{{zz{z|zzzzz{yy{{z{{{{zzzzzzzzzz{{|{zz|{{zzzzzyz{|{z{{{zzz{{y{yzzyzzz{zz{z{zzyzz{{{z{z{zzzzyzzz{{z|zz{zy{{{zzyy{{{z{z{{zy{zyzyz{{zz{{z{zzzz{zzzzzz{yz{{{z{zzz{yzzzz{|{z{zzzzzzyzz{z{{{{yyz{zzyy{{{{|{{z{{zz{zzz{z{z{z||{yy{yyzz{{{|z|{{zyzz{zyz{z{z{{{z{z{z{z{zz{{{{{{{{z{zzzzz{z|{{{{|z{{z{|{{{{{y{z{{{{{zz{{{|{|{{z{|{{zz{zy{|{|{{{}||{{{{z{z{|||{{{|{{{{{zz{{{{{{|||{z{{{|{|{|{{}{||{z{{{{{z||{{|||||{|{z{{{{|{|{||{{{zzz{{z|{{{|{}}{{{{{{{{{{|{{{{z|{{y{{zz|{z{{{|{{{{zz{{{z|{|{{{{{z{z|y{{{zz{{|{z{{yzzyzzz{{z{z{|{yyz{zzz|{{{{{|{{{yzzzzzz{|{z|{{{zz{{{zyzz{|{zz{z{zzyzzy{z{{{{{|{zzzzyzz{{{{{{{z{zyz{zz{zz{zz{z{yz{zzzz{{yz{z{z{zyzy{zyzzzz{{{{{{{zzyzyyz{zzz{{zzzzzyyzyz{{{z{{{z{zz{zy{z{zz{{|{zzy{zzzzz{{{{z{{{zz{z{{zzz{z{{{{z{z{zyzy{{{z|{{|{z{zzz{zz{z{z|||{{zzz{{|z{z{z{{{{zzz{zz{{{{{z{{{zz{z{{zz{|{z{{|{{{{{z{z{{{{{{||{{|{zz{z{||||z|{|{z{z{{{{{||{{|||{{z{{z{z{{{{|z|{z{{z|{{{{|||{{{{{{{{|{|{{{{{|{{|{{||z{yz{|{||}|{{z{{{{|{|{{|{|{||z{{|z{{||{{{|{|||z|{{{{|{{|{{||{z|z{z{z{|z|{||{|{|{z{zzz{|||{||{{z{zz{{{|{z{|{zzy{z{z{z{{{{z{z{zzyyyzzzz{{z{{z{zzzzzzzz{zyzzz{||zzzzzyzyzzz{{{{zyzyyzzzz{z{z{{{{zzzy{yzy|zz{{zzzzzzzzzzzz{{zzyzyzy{zzzzzzz{z|{zyzyz{z{zzz{{z{zyzzzzy{zzz{zz{|z{zyzzyzzzz{y{y{z{zzzzzzzyzzz{{zzzyzzzzzyz{zzzz{zzzzyzz|zy{{{{{{{{zzzzzyzz{{zzz{{{zzzzzz{z{{{{z|{{zzzzzzyz{|{{{{|{{zzzzy{{z{{|||{|{z{zzzzzz{{{{{|z{{{z{{zzz|{{z{|{{{z{{{z{{{{||{{{z{{z{{{{{{z{||||zz|{{zzz|{|{{|||{zz{{z{z|||{{|{||{{zz{{{z{|{||{{{z{{z{{{{|{|{||z{{{|zzyz{z|{z|{||{zy{{zz{{{{{z{|zzzz|{{zz{z|{{{|zz{{zz{zz{{{z|||zzzzz|zz{|{|z|||zy{{{z{zzz{{{z{zz{yzzzyzzzz{{{|zzzzzz{{z{z{{{z{zzzzzz{zzz{{{{z{zz{zyyzzzzzzzz{zzzyzyyyzzzz{zz{z{zzzzyy{zzz{zz{z{zzzy{zyyz{{zzzz{{z{zyzzz{z{{z{{{yyzyzy{zz{zzzzzzzzzyzzyy{{{z{{{zzy{zzyzyz{z{z{{{yxzzyyzyzz{z{{{zzzzzzyz{yzzzy{{{zyzzzyzz{{{zzz|{zyzzzzz{{z|zz|{{zzzzzy{zz{zzz|{|zyzzzz{{{{|z{z{{zz{zz{zyz|z{{{{{zz{z{zz{{{{zz{{{{z{zz{yz{{{{|{{|{zzzzz{|{{{||{{{z{zz{z{z{{|{{|{{|{z|z{{z{{{{{{|{{{zz{zz{{||{{{|{{z{{z{{z{|{{{|{{{z{{{{z{z{|||{|{{{zz{zz{{{{}{|{{{zz{zzz{{{{z{{}{{z{{{{z{{|{z{||{{{z{y{{z{{{{{{||{zzzzzzz{|{{{{{zzz{zzz{y{{{{z{{{z{zzzzyzy{{zz{|{{zyzzzz{{{{{{|{{z{{zzz{z{{zz{{{{{z{zzzzz{z{|zz{{{yyzzzzzz{{{y{{{yyzzy{{z{z{z{{{{{|{zzzzy{{{{{{{zzyzzyyzyy{zzz{{zzzzyyyz{{{zz{{{{{zzzzzyzyyzy{{{zzzzyzy{{z{{|{{{|zzz{zzz{{{{{z|{{{zzyzzzzz{{{y|{{zzzzzzzyz{z|{{|{{zzzzz{yzzz{{{{{z{z{zzzz{{{zz{{|{z|zzzzz{z|{|{z{zz{{{z{z{z{{{{{z{{y{{{{z{{{|z{{z{zz{z{{{|{z{z|{{|zzz{zz{|{{|{{|{z{{{zz{z{|{{|{{{{z{{zzzz{{z}{{|{{z|{{z{z|||{{|{||{{z{{|{|{{{||||{z{{{z{{{|{|{|||{z{|zz{||{||{{{|zz{z{|zz|{{{{{||{z|{z|{||{{||{||{{zzzzzz{{||}{}|{z|{zz{{z|{{{{{|zzzz|y{{zz|{{|z{{yzzzyyzz{{{zzzz{zzzzzzzzz{zz{{{{zyyz{yy{zz{{z|{zzzz{zzyzz{{{zz|z{yyyyzyz{{zz{z{zzzzyzyzzz{{{{z{zy{yy{zzzz{y{z{{zyyzzzz{{zzyzzz{yzzzzy{yz{zzzz{zzzzzz{zzyzzz{z{zzyzzzzyz{{zzz{{{zzzzzzyzzzzzzzz|{zzzz{zyzzzz{z{{yzyzz{zy{{z{zz{|{{{z{z{z{z|zz{{|zzzzzy{z{{{{{z{}zzzzzz{z{{{{{{{zy{{zzyzzzz{{{{{{{{{zzy{||z{{zz{|zzzz{z{{|zz{z{|{{{{z{zz{{|z||{z||z{y{{|z|{{{{|{|{{z{{{{z{z|{{||{|z{zzzzy{{|{{|}|{{{{{|z{z{|{|{{|{{|{{{{{{|}||{||zz{{zz|z|||{|{|{|{{{zz{z{||{{{{|}{{{{{zz{{{|{||{{{{{{{{{{{{{{{|{{{z{{zzz{|{|{|||{{{zy{zzz{{{{{{|zzzz{zyzz{{z{|{|{zzzzzz{{{z{{{{z{{zzzzzzz{{{{{{{{zzy{zz{zz{{zz|{{z{{zyzz{z{{z{z{{z{zzzzz{{{zz{{z|zzzzzz{zz{{zzz{yyzyzzyy{{zzy{zzzz{zz{zy{{{{z{{zzzyzzzzzz{{{{{{{{zzzyyzyzzz{{z}{zz{yzyzyz{zzz{{{z{z{zyzyyz{zz{{{zz{zzzzyz{{{{z{|z{zzzzz{{|{{z|{{{z{zy{zzzzz{z{{{{zzz{{{z{{{{{{{{{{{zzyzzz{{{{|{{{zzy{zzz{z{|{{|{{{z{z{z{{|zz{{{z{zzz{z{z{z|||{{{z{{z{{z{||{{|z{{|{zz{zz{{{|{{{{{{zz{|{{||{{{||{|y{{zz{{{|{{|{{|||{{{{|{z{||{z{|{z{{|{{z{||{{{||}|{z{z{{{{{|||{{|{{z{{{z|||{|||{|zz{{{|zz|{{{{{||{{z{z{{z{|{{z{|{zz{{zzz{{z|z{{z{zzzzzzzzz||{{zz{zzzzzyzzzzz{|{{{{zz{yzzzzz{{zzz|{{z{zzz{{{z{{zz{{zzyyyzzzz{{{zz{{zzzyzzz{z{zz{z{zz{yzzz{zzzzz{{{zyyz{zyz{z{{z{{{zzzzzzz{z{zz{{{{zzzzyzzzz{zz|{zz{z{zzzzyzz{{{{zzz{yzzzzzz{{zz{{{zzyz{yzyzzzzz{{zzz{yyy{z|{zzz{{zz{zzzy{z{{{{{{{{{zzzyz{{{zz|z||{yzzyzz{{|{|{{z{{{zz{{z{{{{zz{{{z{z{yyyzz|{{|{{|{{z{{zz{z{{{{|{{{{{zzzzzz{{|||{{|{{z{{{{{{{{{{|||{{z{zzz{{{{{|||z{zz{{z{z{|{{{z{}|zzzzz{{{|{{}z|{{zy{{|{{{{|{z|{|{z{{{{{z|{||||{{{{z{{z{{{{}|{||{{{z|{{{|||||{|{|{|zz{{zzz{{{{{|{{{z{{z{y{||{{|z{{{zzz{{z{{{{{zz{zzz{zzy{zz{z{zz{z{z{zyyzzz{z{{{zzzzyzzzzz{zz{{|{zy{zzyzzzz|{zz{z{zzyyzyz{{zzzzz|yzzyzzzyzzzz{{{y{zzzyzzzz{{zyzz{{xzyyyyzzzz{zzz{zzyzzzyyzzz{zzzy{yzyzzyy{{zz{{zz{zz{xyzz{zzz{z|{zyz{{zzzyz{zz{{z{zzzz{y{z{zz{{{|{zyz{z{zzzzzzz|{{zzzzzzzz{{zz{{{zyzzyy{z{zz{{{{{{{zz{zyyz{zzz{{|{{{z|yyzz{{{{||z{{zz{zzzz{{{{{||zzz{zz{{{{z{{{z{{z{z{{{z{|{zz{|{z{zzz{{y{{{{{{|{z|z{z{zz{{{|{{{{z{z{{{{z{{{{z{{|{{z{z{{{{{{{zz{|{{{{{{{z{|{||{||{z{zzz{z{{{|{{||{z{{zzz{{{|{||{{{z{z{yz{{{{||{|{zz{{zzzz{|{|{|{{|{z{zz{z{{||{{|{{{z{{zzzz{|{{zx{yzzzzzzyzzy{z{zzzzzzyxzyzzyz{{zyzyyyzzzy{z{zzzzyzzzzzywyzz{zzzzzzzyyxzyyz{zzzzzzzyzzyzzxyzzzz{zzzyzyzyzzzyzzyzyzzzzyzzyyzyzyyzzzyzxzyyyxzyzzzz{yyzxzyyyzyzzzyzzzzyzyyzzzz{{zzz{{zzzyyxzyyyzzzzyy{yyzzzyyyzzzyz{{zyyyzyzyz{zzyzz{zzyzzzyyzzzzzz{yzyzyyyzz{zz{z{zzz{{z{zzzzzzy{yz{zzzzzzzyz{{{{{z{zyzyyzzzzz|{z{{zzyzzyyyzz{z{z{yzzzzzz{zy{z|z{{z{yzz{{z{zzz{{|z{|zz{{{yzz|z{{z{{{|zzz{z{{z{z{{|{{{{|zzz{|zz{{{{{{z{z{z{zz{z{{{|{{{zy{z{zz|{{z{{{z{yzz{zy{zz{z{{{|z{{zzzyy{{{zz{{{zzyyzzyzz{z{{z|{{zzzyzzyz|{{zzz|zz{y{yzz{z|zz{{zyzyyzyyyz|zzzzzzzxyzzyzyz{zz{{{{{zzz{zzz{{z{y{{|zzzzzyzz{z{{yzzzzzyyyyzy{z|{zz{{yzzzyzzyz{zyy{{zzzzyyyxyzy{zyzzzzzxyy{yyyzz{{{|{zyyzyzzyzzz{z{zzzzyzyzyzzz{yz{{zzyzzxzzzz{zz{{z{zzzyyxyzyyzy{z{zzzzyyyzyz{zyz{zzyyzzzzzyz{zzzzzzzyyzzyyyz{zz{{{{z{z{yz{zzzz{{z{{zyzzzyyz{{z{{y{{zz{z{yzzz{z|{z{zyzyyzyzzz{z{z{{zzzyzz{zz{{{zzzz{zzz|zzz{{{{{{{{z{{{{zzzzz{{|z{||z{z{{zzzz{{{{{||zz{z{zzy|{{{|{|{|{z{{z{{{{{{{|{||y{z{{yz{{{{|z{|{{zzzy{z{{{{{{|{{{zz{{zzz{z{{{{{{{{{zzzz{{{{{{{{z{{zzz{zz||{z{{{{zzzzzzz{{zzz|{{yz{zzzzz{{{{{{z{yzzzzz{yz{{zz{zzzyyyzzyz{zzy{z{{zzyzzzyyzz{zyz{{zyzyzyyy{zzyzzz{{yyzzyzzz{{zzzy{zyzyyzyxz{zzzzz{zxzyyyzz{z{zy|zzzzzy{zzyzzyzy{zzyzzyzyyzzzzyzy{xxyyyyyyzzz{y{zzzzyzyyyzyzzzzz{{zzxxzyyyyyz{zzzzzyzyy{yzyyzz{y||{zyzzzyyzyz{zzz{{zzzyzyzzz{zz{|{{zzyz{y{yzz{{zz{zzz{yzyz{z{{z{{z{z{zzzyyyy{zz{|z{zy{yzzzz{{|zzz|{{zzzzz{{z|{{z{z{zz{y{zzy{z|{z{{{{zz{{z{{{{{{{{z{z{zz{zyy{{|||zz{{z{z{z{{{|{{|{||z|{z{{{{z{{{||z{{zz{{{{zz|{{z||z{z{zyz{z|zz{z{{{|y{z{zz{{{z{{{z{zzz{y{y{{{z{{{z{{z{yz{zy{zzz{{{{z{zyzzzz{|z{{|{{yz{z{z{z{zzz{y{zzyzyzyzyz{{zzy{z{y{zzyyz{{zz{{{|{zyyy{zyzz{{zzzzzzzzzyzzy{zzzz{{zzyyyzzyyz{{zzz{zyzz{yyyxzzzz{{z{zzy{yyyzyzz{zz{zzyzxzyzzzz{{yz{zzyyzz{xz{zz{zzyzyzyy{yzz{z{z{{yz{z{yyyyzz{z{{{zzyzzzyyyzzz{z{zz{zzx{zzyyz{{z{zz{zzyyzxzz{zzz{{yzzyyzx{z{{zzyzz{zzz{yzyyzzzz{{|{zzzyzyzzy{z{|{{{zzzzzxzyy{{zz{z{zz{z{zyz|{{{z{{zy{z{zyy{{{|{{{{{z{zzzzz{{{{{|{{{z{z{{y{z{|{|{{{{{{{zzzz{|{{{{{||{{{{{{z{z{|z{{z|zz{zzz{z{|{|z{{{{zz{zz{zz|{|{}{{{{z|z{{{|{{{{{{||zz{{zz{{zz|z{{z{{{z{zzz{{{{{|{{zzzz{zzz{|{|{{{zzzzyzz{z{{y|{{{{zzzzzyzz{{z{z|{zzyyyyzzzzz{zzz{|zzy{zyzz{zzy{zzzyzzyzyzz{zz{z{{zzy{zzyyzz{{{yzz|yzzyzyzyzzz{zzz{yzzyyzyz{zzyz{{{{zyyzzyyyz{zzzzz{zyzzzzyzzyzy{yzyyyyyxzzz{{yz{yz{z{yyzzy{z{z{{z{zzzyyyzxz{yzzz{{zzyzzyzyzzz{y{zzzyzzzzyzzzyyz{{{zz{z{zyyzzzzzz{{zz{zzzzz{{{z{z{{zyzyzzzzzz{{zzz{zz{zyzzzz{zzzz|zzz{yzy{zzzz{z{{zyz{zz{zyz{|z{{{z{zyz{{{z{{{{z{zzzzzzz{{yz|||{{{{{yzy{z{{{{{{{{||z{zzzzzz{zz{z{|{{z{z{zzzz|{{{{|{{z{zzz{{{{{{|{|{|z{{y{{z{{|{{|{{|{{{{{zzz{{{{{|{zzy{zzz{{{{z{z{{z{{zz{{z|{{zz|{{zz{yzx{zz{z|{|{{z{zzz{{yz{{{{z{zz{yzzyzzz{z{{zz{zyzzzyzyz{z{zzz|zyyzzyyyzzzzzzz{zxyzzyzzzzyz{z|{yzzzzzyyzz{zyzz{zzzyyzzyzz{{z{z{zzzyzyyy{yzyzzzzzyyyzyyyzz{zz{zzzyyyyyyyzzy{zzz{yyyyyyzyyy{zzz{zzzzyy{yzzzz{zz{{yz{yyyzyzzz{yzz{zyzzyzzzyzzy{{zzzzyyxzzxzzzz{{{{zyzyzzzzz{z{z{z|{zx{yxzzz{zz|{{{{yzyyzzzzzz{z{{{zy{yzyzzz{{|z|{{z{z{zyzzz{{zz{{z{zzyzzzzz{{zz{{|zzy{{zyzz{z{{{zzz{{{zzyz{{|||{{zyz{z{zz{|{{zzz||zzzz{y{zzz{{z|{z|{{zzz{z{|{|{{{{z{z{y{z{z{|{{{{{|zz{{{zz{|{|{{z{{z{{y{z{{z{|{||{{{z{{{zz{{{{{{{{{zy{{z{z{{{z{{z}zzyzz{{{zz{{y{|{z{zz{zyyz{z{zyz{{{zyyyy{z{zz{{zzyyyzzzzzy{{zzz{{z{yyzxzzzzz|z{{|zzzzyyyzz{{z{{{zzzzyzyyzzy{{yzz{yzzyyyyyzzyzz{z|yyzyyzyy{zyzzz{yzyyyzzyzzzzzzzzz{zyyyzxzzyzzyz{zzyzyyyyyzzzzz|zzzyzzy{yzz{zz{{{zzz{zyxyyz{z{z{zyyzzz{xzxzzzz{z{{z{{yyzyyzzz{zz{zzyyzzzzzz{{zz{{zzzzyzzyzzz{zzz{|{yzzyyzzz{{{z{{{yz{zyy{zzz{zz{{{yzzzzzz{{{{{z{zz{z{zzzzzzz{z|{{z{zz{zyz{{{zz{|z{zzz{zz{zz{{z{{{zz{{y{{z{{{{{{{z{zzyzzzzy{|{z{{{z{zzzzz{{{z{z|||{zzz{y{{zz|{z|{{{{zzz{{zz{|{{{{{{{z{{zy{{{z||{{{zz{zzzz{z{z{{|{{|z{yz{zz{{|{{{{{zz{{z{{zz{z{{zz|{{zzzzz{zzz{|{z|zzzyzzzzz{zz{{{{{zyzyzyzyz{zzzzz{yyzzzzzzzzzzzy{|zzzyyyyz{yzz{{z{zy{yyzzyz{zzzzz{z{zyyzzzzzzz{zz{zyzzyyzyz{yyzyz{zzzzyyzy{zzzz{z{yzzzyzzzz{z{zzz{zzyyyzzxyzzzzyzz{yyyzzyzyzy{zz{zzzzyyyyzzzz{zzz{zy{yzzzyy{zyzzzz{zzyzzzzzzzzyzz{zyzyyzzz{zzzz{z{zzzyzzzzzz{z|z{|zzzzzyyz{zzzzy{{yzzzzzyzz{z{{zz{{zzzyyzz{{zz{{{z{{zyzzzz{|{{z|{{zzyzyyyzz{{z{{z{{z{zzzzzzzy{{|{|z|yz{{zz{{z{z{|{{zzy{{yy{{{z|{{{zzz{{z{zz{{{|{|z{zzzz|zz{z{{z{{||z{zz{zy{|{{|{|{{{zzzyzzz{{{z||{zzzzz{zz{{{zz{{{{{zz{{z{{z{{{{{{z{z{zzzz{{{z{{{{{{{yzzzzy{{{{z{{zzzzzzzzz{zzzzz{z{zzzzyyzz{yz{{zyzzyyyzz{{{zz{{z{zzyzyyyzz{zz{{z{yyzyyyyzz{z{zzzzzyzxz{yzy|zzzz{zzzzyz{yzzyy{z|zyzzxyzzzz{zzyyzyzyzzyzyzyzz{z{z|yyyyzzzyz{zzyzz{zy{zyzyyz{zyy{z{yzzyyyzyyz{z{{zz{zzzzy{yzyyyyy{zzyzzyyyyz{zzy{z{z{zzzzzzzz{|{{y{z{z{zyyzzz{{zz{{{z{zzzzz{zz{zzz|yzzzyzzyzzzy{z{{zzzzzy{y{{z{{{{zzy{zyyzz{{{z{{{zyyy{zyyzz{{{{{{zz{zzzyz{z{{{|{{{zzzzzz{{{{{{{{|{{zyzz{zy||zzz{{{{{zz{{z{{||{||{|{z{z{{{{{z{{|{{z|{z{{zz{z|z||||{{{{{zzz{{{|{{|{{{zyz{z{{z|z|{{||zzzzzzz{{|z{{{z{zzzzz{zzz|z|z{{|{|yzzzzz{{{{{{z{zzzzzyzzz{{zz{zzzzzzzyzyyz{yzzz{zzyzzzyzzz{{y{{{{yzzyyyyz{{{yzzyzzyyzyzyzzzzzz{{zzzyyyzyzzzzyz{|yyxzzyyyy{zzz|zz{zzzzyyzzzzzz{zzyyyzyzyzzzxzz{z{yyzyzyzyz{zzzzzzzzyzyyyzzz{zzz{{zzzzxzyzzzz{z{zzyxzyzyyzy{yy{{{zyzyyyyyyzzzz{{{{yyzyzzyyzzz{{z{{y{z{zzzz{zzyzz{zz{yzzzzz{z{zz{{{zz{zyzzzz{z{zz|{zyyyzzyyyzz{zzzzzyzyzzyzz{|zzz|{z{zyzzz{{zz{zzz{z{zzzzzyz{{|||{{z{z{zzzz{{z|{{{|zyzzyzzz{{zz{|{{{yz{zzzz{|{{{{{|z{{{y{{{z{{{{{{{{{z{{z{yz|{{{{{|{z{zzz{{y{{{||{{{zzz{{y{zz{{{{||{{zy{yz|{z{{|{{{z{z{yzzzz{{{z{|z{zzzyzzzz{{|zz|zzzzyyy{z{z{z{yzzz{yyzyyyy{{zzz{|zyyyyyyzzz{{zzz{zzzyyzyy{{{{z{z{zyyyzyyzzyy{yz{{zzyyxyyz{yzzz{z{zzyyyzzz{zzyyzzyzyzyzyyyzz{zz{zyzzyyzyyzzzyzz{zzyyyxyyyyz{{zzzzzzyzyzyyzzz{y{zz{zyyxyyyzyz{{yz{{yxy{yyyxyzzzzz{y{zyzyxzyzzzzz{z{zzzzzzyzy{{{zz{{zzz{{yzyzzzz{{zzzyzzyzzzz{yzzz{{zyzy{yzz{{{zz{z{zzyzzzzyz|zzz{{zzzzzzzzy{zzzzz{{zz{{yzyzzzzyzzz|zzzzyy{y{{y{{{zzy{zz{zzz{{z{{{{|zz{zyzzzzzz{z||z{z{z{z{z|z{z{{{{{zzzyz{y{{{{{{{z{z{{zzy{{{{{{{{{{z{zzz{{zzz{{{{{{zyzzzz{z{{z{{{{{zzzz{z{{{{{{|{|zzzzzzzzy{zz{zz{{{zzzzzzz{z{{{{{zzyzzzzyz{{{z{z{zyzyzzzzy{{yzz{zzyzyyyzy{zyy{{zzzzyyyzyzzzz{{{zzzz{zyyzzyzzzz{z{zzzyzzzyyz{{zyz{zzyzzyzyyyyzz{{zzzzyyzzyyy{zzzzzzzyyzyzzzyz{{{{{yzxyzyzyzzzzyz{z{yyyzzy{zz{zzz{zzzzzzyzyzzzz{zzzzyzyzzzyyzzzz{{z{yyzzz{zzzzzz{zzzz{zzzyyzyz{zz|{zyzyzyzzzyzzz{zzzzyzzyz{z{z{zz{{yyzzyyyz{{zzz{|zzz{yzz{yzyzzz{{zzy{yzzz{z{{{{{|{{zxzzzy{{{zz{zz{{yz{zy{yz{|zz{{{zzz{z{z{{{{{z{{{zzzz{zzzz||{z{|z{zzzzyzz{{{{{{|{{zzz{z{z{{{{|{{{{{{zz{{{{{z{{|{|zz{z{z{z{{{|{{{z{zz{{z{{z{z{{z{{|{{z{zzz{{z{{{{{zz{zzz{yy{|{||{{zzz{z{zyz{{{{z{{{zz{yzzy{z{zzzz{zyzyzzyxy{zzzzzzzz{yyzyyyzzy{{{{{zzxzzyxzzzzz{z{zyzzyz{yz|{{{z{{{zzxzyyy{{zzzzz{yyzzyzzzzz{zyzzyzzyzzzzzzzzzyz{z{yzyzzzzyzzzzzzzzzyzyyyzzzzyz{zzzyzyzyyzzzzzzzzzzzzzxyyzz{zzz{||zzzzyzzzz{zzy{{zzzzzzyyyy{zyyyz|zzzzyzzyzzzz{z{zzyzzzzyyz{{zz{z{zyyzyz{z{y{{z{z{yzzyzz{zz{zz{z{{{yzyzy{zz{zz{zz{zzyzzzzzy{{{{z{{{yzz{zyzz|{z{{{zzzzy{{zz{{{{{|{{z{zzz{zz{{z|{{{{zzzzz{zzzzzz{{|{zzzz{{zz{{{{{|{|{{zz{{zzz{|z{{{{|{{{z{{zz|z{|{{|{{{zzyzz||z{{{z{{z{{yzzz{{{{{{{|{z{z{{y{{{{{{|{{{{zyzzz{{{{{z{{{{zzzzz{zz{z{z{z{yzyzz{zz{{{zzz{zyzy{yyyy{{zyzz{{zzyyzyyyyz{yy{zzzzyyyzzyzzyzzz{{zzzy{yzy{z{{zz{{{zzzzyyyzzzzzzzz{yzyyyzy{{yzzzzzzyzzyyzyz{zzyzzzyzyyzyyzzyzzz{y{zzyyzzzyzzzzy{{zzzzyxzxzzz{{zzzzzz{yzyzyxzzzz{zzzyzzzyxyyzzy{zzzzzyyyxyzxzzyz{zzzz{yzzyyyzz{{zzzyzzzzzzzzzzzz{z{{y{zxz{zyzzz{zzzzz{yyzz{z{{{{{{zzz{yyyzz{z{{z{z{zzzzzzzyzz{zz{zzzz{zzzzz{{{{z{{{zzzyzzyyz|z{{{z{z{z{{zzz|{z{{z{|{zz{{yzzz}{|{{|{{|z{zzz{{{zzzz{{{zzzz{z{{{z|{{{{{zzz{zz{z{{z{{||zz{{zzzz{zz{{z{z{z{y{zy{{{{{{z{{{z{{{z{zzzz|{{{{z{zyzz{|zz{{{{{z{{zz{zzy{{{z{{{zzzzzzyzzz{zzzzyzzzyyzyyyzzzzz{{{zz{zzzzxzyz{yz{{zyyxyyyxzzzzyz|z{xzyyzzyzzzzyzyz{yzzzyyyzzzz{zz{zzzzzzzyzyzyzz{z{z{yyzyyzzzyyzzzzyxyyzyyyy{z{zzzzyyyzyyzz{zzzzzy{yzyyzyzzzzzyz{zyz{zzyyyzzyzzzzyzyyyzyyxyyzzzzz{zyzyzzzzyzzz{z{zyzz{zzzyzzz{{zz{yyzzzzzzz|zzyzz{zzzzyyzzzzzzz{z{zzzzyzzyy{{zzz|{zyzzzzzzzz{z{{{z{xzyzzzz{{{z{z{{{{z{zzyzz{zz{{{{z{{z{z{{z{{|{|{{zzzz{{{z{z{{{{{z{{zzzzy{{{{||{{{{z{{{yzzz{{z{|z{{zz{zz{{z{{{{{{{{zzzzzzzz||{{|||zzzzzz{y||{zz{{z{yz{zzz{z{z{{{|{|zzzz{{z{{z{z{{|z{yzyyzz{{{z{{|zz{yzyzyy{z{z|{{{zz{yzx{zz{{z{z{zzyzzyyyyy{{zyzz{zzyyzyzzzzzz{{zzzzzyyzyz{yzz|z{zzzzzyyyyzzzzzzzzzzyzyzzy|z{xzzzzyyzyzyyzyy{zyzzzzzzzzyyzyzzzzzzyyyyzzzzzzzyzy{zyyzzyyzzyyzzzzyz{zyyyyyxyyzzzzzz{yyyzzyzzzzzzzz{zzz{yzzyyzzzzzzy{xyyzzzyzzz{{zzzzzzyyzzzz{z|z{z{{zz{zyyyz{zzz{{{{zyzzyyyzz{{zzzzzzz{{zzyzy|{{{z{z{zyzzyzzzzz{z{{zzz{yzyzy{{zzzz{zzyzzyzzz{{zzz{{{zzzyzzzz{{{{{{{{zz{zzzz{{{z{{{||{zzzzzzz|{{{|z{zzz{{zzzz{{|{|||{{z{z{z{{z{|{{{{||{zz{z{{z{{||{{{{{z{{z{zz|{{{{z{zz{{zzyz{z{{{{{{{{zzz{z{{zz{z|{{{zzzz{zzzzz{{z{|{yyzzzzzz{z{z{{zz{zzz{zzzz{zz{zzzyy{yzzyy{zz{z{{zzyzz{yzz{zz{zzzzzzyyzyx{z{z{z{{zyz{zyzyzzz{zzzzzzyyyyzyzzzz{z{{z{zyzyzy{z{zyzzz{yzyzyyyyyzzz{zz{yzxyzyzzzz{{zz{zyyzyxzyzzzzy{zz{yyzyyyy{z{z{zy{zzzyyzzz{zzzzz{{zzzyyyzyyz{{z{z{zzyyzyzzyzzz{zzzyxzzyzyz{z{zz{{{zzzyzxzzz{z{zzzzzyzzzzzz{{z{{z{zzzzzzyyz{z|{zz{{zzzzzyzzzzzzz{|{z{zzzyzzy{{{{{{z{yy{zzyz{z|z{{z{zz{zzzzzz{{{z{zzzz{zy{{z{zz{{{|{zzz{zzyy{|{z{{{|zzyz{zzzz|{{{{z{{zzzzzzzz{{{z|{{{zy{z{zzz|{|{{{|{yzzz{{{{z{{{z{|{{yy{zzzz{z{{{|{zzzz{{zz{|z{{{{{{{zzzyyy{{{{|{|{{z{zzzzzz{{{{{zzyz{zzzzzzz{z{zz{yyyzyyzyyyzzzy{z{zyzzzyx{yyzzzz{yzzzzyzzzzzzz{{zzyzyyzyyzzzzzy{zzyzyyyyzyyzzyzz{{yyyzyyyyzzzzzzzzzzyyyzzyyzz{zzzzyyyyzyzzzyzzzyzyyyyyz{xy{zzz{zzyyyyyzzzzzyz{zzyyzzyxzyzyyzzz{{zyzyyxyyyy{yzzzzzyyyzyzyzzz{zzzzzzyyzyzyyzzzzyzzzzyyyzyzzz{zz{zy{zyzyyyzzzz{zzz{{zzyzzyzyz{zzzzzzzzzzzxzyz{zz{{z{{yzyzyyyz{zzz{{z{zzz{zzz{z{{z{z{zyzyyzzzzz{|{{z{zyzzyz{{{{{{zz||{zzzzzyz|zzz|{{{zzzzzzzz{|zz{{{z{{zy{zz{z|z{zzz{|yz{y{zzz{||{{{{{z{{zz{{zz{{{{{{{zzzzzzzz{{{{|{|{yy{|z{z{{z{z{{zyzzyzzyzz{zz{{|zzzzzzzzzy{{{z{{{{zyzyzyz{z{zzzz{yzzyyyzzyz{yzz{zyzyzyzzyzz{z{zz{{zzxzzyyz{zz{{zzzyzzyzzzy{{zzyz{zzzyzzzyz{yzzzz{zyyyzyz{zzxyzzy{zzyyzzyzzzzzz{{yzyyxyyzyzzz{zzz{zyyzzzyyzy{{zz{zzyzyxzz{zyzzzy{{{yzxyzyzzz{{{zz{zzzzyyzxyzzz{zzzyzzzxyyyy{z{z{y{z{zzyzyzzzy{{z{zzz{zzy{zzzz{{z{zyzzzyyzz{z{zzz{zyyzyzzyzy{zzz{z{zyzy{yyz{{{zz|zzyz{zzzyzzz{{{{{{{z{zy{{{{{{z{{zzzz{zzzzzz{{{{{{zzzzyzzz{{{{{{{}{zzzzz{zyz{{{{{{{{z{zzyzz{|{{{||{zzz{zz{{z{{z|{z{|zzzyz{{{{{{|{{||z{zz{z|zz{{{{||{zzzzzzz{{|z{z|{{{{{{{{{{{{{{{|z{zzzzyyzz{z{z{||{{z{yzzzz{{{{z|zzz{zzzyy{z{{zyzzzzyyzyyzyz{zzzzzzyzzyxzzzyyzyzyyzzzxzyyx{zyzzz{zyzzzzyzyzy{zzz{zzzzyzyzyz{zyz{zzzyyyzzyzz{yzz{{yzyzyyyxyzyzzy{z{yzzyyzxyzyyyz{zzzzyzzyyzyz{zzzzzzzzyyzzyy{{zz{yzzzzyzyyyyzz{zz{zzyyzyzxzzzzz{{zyyzzyxzyzzzzz{{z{zzzyyyzyzz{z{{{{yzyyzyzzzz{zzz{zyzyyyyzyzzz{{z{zy{z{zzyyz{z{{zz{{zzzzyyyz{z{{{zzzzzzz{{z{z{{zz{{{zzzzyzyzz|z{{z{{zzzzzzzzz{{z{{{zzzz{z{{{|{{{{{{zyzzzzzzz|{z{{{{zzzzzz{z{{z{{{{|{z{zz{{zzz{z{{|{{zzzz{{zz{{{{{{{{zzz{y{{{{z{{||{{zyz{zzzz{z{z{{|{zzz{zzz{{{{{||{z{zy{{zzzz{{z{{{{zzzzzz{yz{{z{{z{zzyzzzzzy{zz{yzyzxy{yyyy{yyzzzzzyzzzy{yzzzzzz{|zzzzzyyz{zzzy{{zyzyyyzzzzy{{zzzzzzyyyyzyzzzzyyz{zyyzzyyzz{zyzzzzzzzyzzzyzzzzzz{zyxzzyyzyyxyzyz{zxyyyzzzyyzyzy{zzyyzyyzy{{zzz{{zyzyzzyy{yyzzzyz{zzzyyzy{yyzy{zzy{zyyzyyyzzzz{z{zzyzzyyzzyzyz{zzzyyyyyzyzzz{zzyzzzzzzxyyyyz{zyzz{{zyzzzzy{z{{z{z{{yyyzzyzzz{zzz{{z{zzyzzyzzzzzz{{z{yz{zyzzzzzz{{{zzz{zzz{zzzz{{{zzzzz{{zzzzz{{{{{{{{yzxzzz{{{zy{|{{zyzzz{z{{z{{{|{{zzz{{zzzz{{{{{|{zzzz|zzz{{{z{{{zzz{zzzz{{z|z{{z{zzyyz{{z|{z{{{{{{zz{{zz{{{{z{z|zzzyzzz{z{{|z{{{zz{z{zzy{{{{{{{yzzzzzyzzzz{{zzzyzzzzzyyyyy{zzz{zzzyzyyyyzzzzz{{{zyzzzyz{yzzzz{z{zyzzzzzzyzz{zz{zyzzzyyzyzzzyzz{zyzyyzzzyyz{zyz{{{zzyzzyyzy{zzzzzzzzzyyyzyzzzyzyzyx{yzyzyzz{{z{zzzyyyyyyzzzzzzz{zzzzzyzyyzyyzyz{zzyzzzxyyzzzzzz{zzzyyzzzyyzzzz{{zyxzyzz{xzzz{zz{zzyyyzyzzz{zzz{{zyyz{zyzyzy{{{{z{yz{yzzyz{z{yz{{{zzzzzz{yzzz|{{{{z{z{zzyzz|yzzz{zz{zzzz{{{z{{y{z{zyzzz{zz{{z||{{{{{zzzzz{zzzz{{{|{{z{zzzzz{zzz{|{zzz{{{zz{|{|z{{{z{{zzz{{{{{{z{|{{{{z{zz{z|||{{{|{{{z{zzz{z{|{{z{{y{{zzz{{{{{z{{|{{zz{zzzzzz{{{|{{zzyzzzyz{{{z{{{{{z{zzzz{{{z{z|{zzzyyzzzzz{zzzz{zzyzzyz{yz{zzz{zzzzzzyyzyzzz{zzzzzyyzzzy{zzzzz{{zzyyyyyzzzz{zzz{{{zyyzyxz{zzz{{zyyyyyzzyy{yyzzz{yzyyyzzzzzzzzzzzyzyyzzzzyzyzzy|{zyyyzyzzy{z{z{{zyzzyyyzyyy{z{zzzyyzzyyzyzzzzzzz{zyyzzy{zzz{zzzzzzzzyzxzyzzy{zz{zyy{yzzzzzz{{yz|{{zxyyyzyy{{z{{z{zzzzzy{y{z{{y{z{zzzzz{zz{{{yzz{{z{zz{zyzzzzz{{{{{zzzzzzz{{|{z{z{zzzzzzzyz{z{z{{|zzz{{yzz{{{{{|{{zzy{{zzz{{{|z{{{|zzzz{zz{z{z{{{{{zzy{zzz{{{{|{{{zzzy{z{z{{z{|{{{|zz{{{yzz|||{{{|zzzz{zz{{|{{z{{{{yzzzzzzz{{|{{{{{{{{{zz{z||{{{{{{z{zzzzz{{z{z{{z{{z{zzzy{{{{z{{zz{zzyyzzz{|z{zz{zyyyyyyyzz{{{z{zzz{yzz{y{zzz{{{zyz{yyyzy{{{zz{{{zyzzyyyy{zzzz{z{zzzyyyzzyz{zzz||{zzzzyzyy{{yy{{yz{yz{yyzzz|z{{zzyyzyyzzyzzzzz{{{xzzzzyzyz{yzz{{zzyyzzyyyzzzz{zz{{zzyzyzy{z{z{zz{zyyz{yzy{z{zz{{zzzzy{yzzz{zyz{zzzzzyzzzyyzzz{z{{zzzzzzzzzz{{z{{{zzyyzzzz{{{z{{{|zzzzzzzz{{{z{zzzzy{zzzzzz{{zz|{z{zzzzyz{z{{{{{|zzzzzz{z{z|{z{{{z{{z{z{{{{{{}{{|||z{zz{z{{{z{{{|{z{zzzzz{{|{{{{{z|zzzzz{z{|z{{z{|{zz{zz{{{|{|{|{{{{z{z{zzz|{{{|{{zzz{zzz{{{z{{|{{{zzzzzz{{z||{z{{{{z{{{z{z|{{{{|{{z{zzz{z{{z{{{{{{{z{{zz{z{{|z{{zz{{zz{zy{{zz{{zzzzzzyyyzy{{zzzzzzzzzyyxyzzzzy{{zzyyyzzyzyzzz{z{zyyzzyyyyzyz{{z{{zyzyyzzyzzzz{zz{zzzyzz{yyy{zz{{zzzzzyxyyy{{zyyzzzyzyyzyyyyyz{z{{yyyzzzzyzz{{z{zzz{zyyyyzz{zz{z{zyyyyzzyyz{{|zz{zzzyzzyzzyyzzzzzzzzyzyzyyyzyyz{zzzzyz{xyyyzz{{z|{zz{zzzyzz{zz{zy{yyzyzyzz{zz{{{{{z{zzxyyz{z{z{zzzzzzzzzzzzz{zz{z{zy{yzzyyz{{zzz{y{yyzzyyy{{{z{{{{{zzz{zzzzz||{{{{zzzz{zzzy{{{{|z{zzzzzzzzz{|{zzzz{zzzyzzz{{{z{{{{z{z{{z{z{|zz{{{{zzzzzy{zz|z{z{z|{yz{{zz{{{|z{{|{zzzzzz{zz{{{zz{{{z{z{yzzzzz{{{{|zz{zzz{z{{{{{{{{{{zzz{{{{|{zz{|zzzzzzyzzzz|zzzzyyzxyyyyyzzyzzyz{yzzzzxyyzzzy{|z{zyyyyyzy{z{yyzzz{yyzxzyyz{z{zzzzzzxyzyyxzzzzzz{{zzzyyyzyy{zzzzyzzyzyzyzyzyzxy{zzyzzyyzzyzzy{zzzzxyxyyzyxyz{zyzzyyyzyyyyyyzz{zyzyzzyyxyyyzzzzz{{zzyyzyzyyyzyzzzzzyyyyyyyyzzyzzzzzxyyyzzyyyzzzzy{zzyyyzyyyy{{z|{zzyzzzyyyyzyzyz{zzzzzyyyyxz{zz{zzyzzzzyyzyyyzz{{zzzyzzyzzyz{zzzz{{zzyzzzyz{{{zzz{{{zzz{yz{z{{{z{zzzzzyzyzz{{zz{{{zz{zzyyzzz{{{{z{zzyzyyzyyz{zzz|z|z{yzz{zz{{zz{{{{{zz{{zzz{{{{{z|{{z{{{zz{z{z|zzz{{zz{yzzzz{{|z|{{zzzy{zzz{z{{{{z{zzz{zyzyz{{{zz{{yyzzyz{y{{z{{zzzzzzzzzyzyz{zzzz{zzyzyyyzyzzzyzzzyyyzyzzzzzzyyzzzyzyxyzzyzzzzzz{{yyzzzyzyyzzzzzz{{yzyywyyzz{{z{yzzz{yzzzzxy{yzz{zzzzyzxyyzzzyyzz{yzyzyyyyzzzzzzzzyyyyyzxxyzzyzz{zzzzzyyyy{zzzzzzzzy{zzzzyzzzzz{zzzzyzyyyzyzzy|yzzzyzyyyyzyzyzzzzzxyzyyzyyzz{z{z{z{zzyzyyzyyzzz{z{zzz{yyyyzyz{zz{zzzzyzzy{zzzy{{yz{{zzzyzzzzz{{{{zzzzzyyyyzz{zzyz{zzzzzyzz{{{{zzz{{zzzzzzyzzz{{z{zzzzyzz{{{{z{{{{{zzyzyzzyz{{zzz{z{zzzz{{y{{{z{{z|{zzyzzz{{|z{z{z{z{{yz{|zz{{{z{{|zy{zz{y{{{z{{{{z{yz{z{{zzzz{|{{|{zzyz{y{z{{{z{{{yzzzyzzzzz{{y{{zzzz{zzzzyzzz{{{{zzzxzyzyzz{zz{z{yzy{yy{yz{{zy{z{zyzyyyyyz{zzzz{zyyzzyyzy|zzyzz{zyyzyyyzzzzzzzzzzz{zxyyzyzzzzzzzzyyzyyy{yxzyzyz{zyyzzyyyyzyzyzyzzzyyxyxyyyyyzzzzzyzyyzxzyzyzzzz{zyyyyyzyyyzyzzzy{yyzyyyyyy{{z|z{zzzyyyyyyzz{zz{zzzzyxzyyyxzzzy{zzzzzyyzzzzzzyyzz{zzyyzxzyyzyyzzz{zyzyzy{zzzzzz{z{yzyyyzyzzz{zyz{z{{zzyyzzyz{z{zz{zzzyzyyzz{zz{{{zzyzz{yzy{{zz{{{zz{zzzzzzzzz|{{z|zzz{yzzz{z{{{{{{zzyzzzyy{{{z{|{{{y{z|zzy{z{z{{{{{z{{z{z{zzz{{|{|z{zzy{{{{{{{{{|{{z{z{zz{{{z{z{{{zzz{z{{{z{{z{{{{zzzzzyzz{{|{z{z{z{zzzyyy{{zz{{{{{{zzzyzyz{{zz{zzzy{yzyzyz{zzz{zzzzyyzyzyzz{yzz{zzyyyyzyyyzzzzyz{yzyzzzyxz{zzzzzzz{yyyyyyyyzzzz{zzyyyxxzyzz{zzzz{zyzzxyzyyzzyzzzzzzzyzyyyyyzzzzzzzyzyyyyyzzz{{zzzyxzzyyzyyzyzz{yzzyyzyzzzzz{z{zzzzyzxyyxyy{zzyy{zzyyzzyyzzyyyzzzzyzyxzyyyy{yzyzzzyyzzzzyz{zzzzzyzyzzyzyzz{yzzx{z{zyyzyyyyzzzzzzz{zzzzzyyy{{zz{zzz{zzzzzzzzzz{z{zyzz{yzzyzzzzz|zzzzzyyyxyzzzzzz{{{zyzz{z{zzz{{{{{{{{zyyy{{z{zzz{{{zzzzzzyzzz{|zzzzzyzzz{zzz{{{{{{{z{zzyzzz{z{{z{z{{{zzyz{z{{{{{{{{{zz{z{zz|{zz{{{{zzzz{{zzzz{z|{{{{zzzz{yz{{z{{{z|zxzzz{yzz{z{{{{{yzyzzzyzz|{zz{{zzzzyzzyzz{{yz{zyyywyyyyxxzyzzyz|zzxyyyyyzzz{zzzzyyyyzxxxzzzzy{zz{yzyzzyyzyzy{yz{yzyyyyzzzzzzzzzzzyyyyyzxyzyzzzzzzyzzyyzz{yzyzzz{yyxyyxzxzzyzzzzzzyyyzyyyyzy{zz{zyzzyxzyzz{y{{zyzyzzzxyyy{zzzyz{zzyyyyyzzzzyyz{z{zyyyxxyyzzzzzy{{yyyyzzyyzyzz{zz{zyzyzyzxzzzzyzzzyyzyyzyzyzz{zzz{{yyzyyyyz{zz{{{zzzyzyyzzyzzz{{z{zzzy{zzzz{zzzy{zzzzzzyz{{zzzz{zzyzyzzzzz{z|{{z{{{zyz{zz{zzzzz{|{{zzzzzyz{zzzz{{zzzzzzzzz{|zz{z{zz{{yzzzz{z{z{{|{{yzzyyzzz|{z{{{z{xzyzzz{zzz{zz{z{zz{y{zzzz{{{{{{{zz{{zzz{zz{z{{{zyyy{zzzz{zzy{{{z{zyyyzy{{z{z|zzzzzzyy{yyz{zzzz{yzxzyyyyzzzzzz{{yzzzyyxyzzzzz{{{{zzzzzzyz{zyzzzzzzyzyyyzzzzzyz{zzyyyxyyxz{z{zzzzyzyzzzzyzzzyyzzzzyzyzyxyzz{{zzyzzyzyyzyyz{yzzzyzzyyyyzyyzzzzzz{zzyyzyyyyz{zzzzzzzyzyzyyyzzzzz{zzzzyyyyzyxyyzzyz{zyyxyxzzyzzzy{zzzyyyzzyyz{yzz{{yzzzyzyzyyzzzz{z{zzzyyz{z{zzzy{y{yzyyyyyzyzzz{{zz{zzz{yzyzz{zz{{{zy{yzyyzz{{z{zzyyzyyyzyy{{zz{{{zzzyzyzzz{zz|z{{|zzzzzzzzz{{{{{{{zzzzzzzz{zzz{{{{{{zy{{zzz|z{{{{{{z{yzz{z{zzz||{zzzz{zzyz{{{{{{{||y{{zyzz{|||z{z{zz{zz{zzz{zz{{{{{zyzzz{z{{z{{{{{zyzzzyy{z|z|z{{|zzzzzz{{{z{{z{z{zz{yxyzyzz{z{zzzzzzzyyzzzyzz{zzzzyzyyyyzzzzzz{{{{zzyzyzyzzzy{{z{zyyzyyzzyzzzyzzz{yyyxyxxyzzzz{{yz{zzzyzyxyyyzz{zzzyyxyxyyzzyyzzzzzyxz{xy{yy{zzzzyyyzzyzyyzzy{zzzzzyzzzyyyzzz{z{zyyzzyzyzyzz{zzzzyzyzzyyyzzzyzyzyyzzyxyzzzzzzzzzzzzz{{zzyzzz{zzzzzy{yyyzzzzzz{zz|zzzzyzyzzz{zzzz{zzzyyyyzzz{zzz{zzzzzzzzzy{{{z{z{zy{zzyzzy{{{zzz{{zzzyyzzz{zzz{{{yzyyzzzzz{{|{zz{{zzz{y{z{{{{{||{zzzyzzzzz{{|z{|z{zzz{z{z||z{z{{|zz{zy{zzz{|{{{{{{zz{z{z{{{{|z{{{{z{zzzz{z{z{{{{{|zz{zzzz{{{{{{{|{{{zzzzz{{{{{{||{z{yz{{z{{z{{z{|yzzzzzzzzz{{z{z{{zzzzyzyzz{{{zz{yzyyzxzyz{zzzz{zyyzxzzzyzzzz{{zzzzzzyyzzz{{z{zz{{zy{zyzzy{yzyyzzzzzyyyxxzz{zzzz{zzzzzzzyy{yzz{zzzzzzzzyzy{z{zzzyzyzyyyzxzy{yzzzzyyyyyyzyzzzzzyzyyzyzyyzyzzzzzzz{zzzyyzzyyz{zzzz{yzzzyzyzzzzyzzyzyzzzxyyyzzyyzz{{zyzyz{zyzzzzzzzzzyzz{yyzyz{z{zz{z{yzyy{zz{{zz{z{zzzyyzyz{yzz{{z{zzzyyzzzz{zzz{z{{zzyxzyzzzzz|z{{{y{yzzyzz{zz{{{zzz{z{z{zz{|{{{{zz{zzzz{{z{z{{z{zzzzzzz{z{{zz{zzz|zzz{{zz{{zz{z|{{z{{{{z{z{{{z|{{{zz{zzzzz{{{{{|{z{{{z{zzz{|{{{{{{zz{zzz{{{{yz{{{{zzz{{zz{{{{{{{zzzzyzzzzz{{zz{|{yz{zzyzyzzz|{z{zyz{yzzzzzzz{{yz{zzyyyyzyz{zzzz{{zzzyyxyyzz{zzzz{z{zyzzzxzyzzzz|zzyyyyyzyz{|{zz{{zzzyyyzyzzz{zzzzzzyyyyzyzzzz{zzzzyz{yyzyzz{zzzzzzxzyyyzzzzz{y{{zyzzyzzzzzzzzzzzzzzzyy{yyzz{|{zz{zzzzyzyz{zzzzz{yzyzyyzyyzyzzzzzz{zyyzyzyy{yz{zzzyyzz{zzz|zyzzz{zzzzzzyyzzzz{zzy{yzyyzzyz{z{{z{zzyzzzzyyyz{zz{z{{zzzzyyzzzzzzzzzzzz{{yyyy{{{zzz{z{zyzyz{zz{zz{z{{{{{zz{{{z|{{{|{{zz{z{{{zz{z{z{z{{zzzzzyz{z{{{|{z{zzzzzy{{{z{z{{z{{yzzzz{z{z{|||{{yzzzzzzz{{{{{||{z{z{z{z{z{z{{{{{zzz{z{z{{{z|{{||{z{{{zzz{{z{{{|zz{zyzzzz{z{z||{zzz{z{zzz{{|yz{{z{zyzyzy{z{zz{z{zyzyzxzxy{zzzz{zzzzyyxyzz{{z{zzz{yyyx{zxzzzzzz{zyzzzzzzyz{zzz{zzyzzzyyyxzy{{zzz{yzzyzyzzyyzzz{{zzzyyyxyyy{zyz{{zyzzwyzyzzyzzzzzyyz{yzzzzyz{{yz{zzxzyyzyy{{{{{y{zzyyyzyyxz{yzzzzzyyyxzzzyzzzyzzz{zzyxyxyzyz{{z{yzzyyyzzyxzy{z{{{zz{zzzyyyz{zyy{{{yzzyzyzyzzzy{{|zzzyzyyyzz{z{{{{{zzzzzyyzz{{{zy{{zyzyzzzzz{{z{{{{zyzy{yyz{{{z{{{{z{{zzzzzzz{{zz{{yz{yzz{yzz{{z{{|zzzzzzyz{zz{{{{|{z{zzy|zz{{z{||{zz{{yz{{{{{z{{{{|zzzz{z{z{z{|{{{{yzyzzz{z{zzz|{{z{zzz{y{{zzzz{||{{{{zzzzz{{{z{{{{{zzzzz{{zz{{{|{{zzzyzyzz{{{{{{{zzzzyzyyz{y{{zyz{zzxyyzyyzzzz{z{zz{yzyyyyzzzyz{{yyyyyzyyzzzy{z{z{zzyyyzz{zy{zzzzyzyzzzyy|zzzzzzzzz{zyzyz{{yzz{zzzyyzyzyyyzzzzzzzzyzxyzyzzyzzzzzzyzyzyxzyz{{yzzzzzzzyxzyxzzz{{z{zyzyyyzyyzzzyz{zzzyyzyyyxzzy{zzzzzzzzzyzzx{z{y{{zzzyyzzzzyzzzyz{{zyyzzzzyzzzzz{z{zzzyyzyz{zzzzy{zzzzzzyyzz{{zz{|zzzzzzzyzyzz{{z{{zzzzy{{zz|z{{{{{zyzzz{zy{zzzz{{{{zz{zzzyz|{|{{{{zzzzzzzzz|||{{}{{zz{zzzzz{{{|z{{{zzz|zzz{zz{{||}{{{zzzzzz{z{|{z{|{zzz{y{z{{{z{{|{{zz{z{y|z|{{{{{{zzzzzz{{zzz{z{{{zzzzz{{z{z{zzz{{{{zzzz{z{z|z{{{{{zzzzyzz{{{{z{zzzzzzyzzzz{z{zz{zzzzyyyxzz{y{{z{zzyzyxyyyzzyzzz{zyyyyzzyyzyyyz|zyzyzyyzyzz{{zyz{zzzxzyyyzzy{zzzzyzzzyzyyzzzyyz{zyyyyzzyyzzzyzzzzzyzzyyyy{zzzyzz{xzyyzzzyzz{z{zzyzyyzyyxzzz{z{{{zyyzzzxzzzzz|yz{{zyzyyyyyzzyzyzzzzyyyyzzzz{yyzzzzyzzzyyyzzz{z{z{{yzyyzyzyzzzzzz{{yzzzyy{{yzzyyzz{zyyyyyzy{zzzzz{{xyzzyzzyz{z{{z{zzyzzzzzy{z{zy{z{zzzyz{z|{{{{z{z{yyzz{yz{z{z{{{{{zzzzzyz{z{{||{{{{z{zzyzzz{z{{|{{z{{{{yyz{{{{{{{|{z{yz|{zzz{{z{|{{y{zz{{zz{|{{|{|zz{{zzz{{{z{{|{{{z{yzzz{zzz{z{{|zzz{{y{{z{z{z{{|{|zy{zzyzzz{{{{{|zzyzzzz|{z{zz{zzzzyyzyyzz{{zzzzyzzyyzyxzz{zzyz{zzzzzxzy{yzzzzz{zzzyxyyzzzzyz{{{yzzyyzyzyz{zzzy{{zzxyzzxx{yzzzzzyyyyyyyyzz{{yz{zzz{zyzyyzzy{z{zzyzzyyyzyyzyzzzyzzyyyxxyxz{zzzzyzyxyxzzyzxzzz{{zz{zyzyyyyzyz{zz{zzzyyzyyyzyzzzz{{zzyzyyyyzzzzyzyzyzyzyzzyzz{{{{zzzyzyyzyyzzzzzzz{{zyyyxzxzzyz{zz{yyzyyyyz{{zyzzz{zyzyzyzzzz{zzz{{zzzzyyzyzz{z{y{{zyyz{z{zzz{{z{zz{{zzzzzz{{{{{{z{yzzyzz{zz{z{{z{{zzz{zyzzzzz|{{z{zyzy{zzzz{zz{{{{|zzzzzzz{{{|{{{|{zz{zzzyz{{z{{{{zyzzz{{y{{{{|zz{zz{{{zz{zz{{z{{|zz{z|{{yz{zz{{{{zzyyzzyzz{{z{{{{z{zzy{zyzzzz{{{{zyzyyzyy{zz{zzz{yzyyxzzyzzzyzz{zzyyzzyyyz{zzz{{{zzyyzzzyzzy{zzzzyyzzyyzzzzzzzyz{yyyyzzyyzz{zzzz{xyzyyzzyyzyzzzzzzzzzyyyyyzzyzzyyzyzxyzyyzz{{yzzyzzzzxyzyy{zzzzzzyyzzyyyxzzyyzzz{zyzyyzyzzzyzzzzzyyyzyyyyyyzyzzzzzyzzzyyyyyyzz{zzyyyyyyzzzzzyzzz{zzzyzyyyz{z{zzz|zzzzzxzzzz{zz{zzzzzyzyzzyzz{zzz{{yzyzyyzzzzz{{z{zzzzzzyy{zzzzz{{{zzzzyzy{zz{zy{z{zzz{{zzzz{z{{{{zzzzzzzz|{z{{{{{zyyzzzzzzz{z{{z{zy{zzyyz{{{|{{{{{{yzzzzzzz{zz{{{{zzzzzzzz{{z{{{{zz{zyzzy{zz{{{z{zzzzzzzz{zzz{{{{z{{z{zyzzz{{{z{zzzzzyzyzz{z{{z{{z{zzzzzyy{z{z{{{yz{zz{zzz{|yzzy{yzzyyyyy{{zyzyz{yzzyzyyxzyy{yz{zzzxxyzyyzzzzzzz{zyzyyyyyzy{zz{{zzyyyyyyxz{{zzzzzyzywyyzyyz{yzzzyyzyyzyxxzyzyyzzzzyyyzzyyyzyzyyzzyzyyyzyzyzzyzzxzyyyzxzyyyyzyzzyz{zyyyyyzyzzyzz{{zyzzzyzyyz{zyyyzyzyyyyxyyzzzz|{zzyzzzzyyzz{zzz{yyxzyyyyx{yzzzzz{zyzzzyzyz{zzzzz{yyzxyzzzyz{zz{z{zz{zzzzyyy{zz{zyzzzzyyyzzzz{yz{z{zzz{zzz{z{zzzzz{zyzzzyzyzzzz{{zzyyzzzzzz{z{{{z{{{zzzyyyz{z{zz{{zzzzzzzy{z{z{{z{zzyzz{{y{zz{{{z{|z{{yzzzz{{{{{{{{zz{yzzz{z{{{{z{{zzzzzyz{{{z{z{zzzzzzzyzz{z{{{{|{zyzyyzy{zz{y{z{zzz{zzyy{{{|{{{z{zzzyyyyz{zzzzzyzzxyyxzxyz{{zzzzyyzzyyzy{z{yzyy{zzyyzzzz{zzyzzz{{yzyyzyyz{zyzzzzzzzyyyyzyzz{zzz{{zzyzyzzy{zzyzzzzxzyyyxzzyzyy{zzyyyyzyzyyyzzyzzzyyyzyyyyzzzyz{zzyzzzyyyyzyzz{zyzzzyxyyzyzzzzyzzyyzzyxzyyyzzzzzzzzyyyzzyyyzzyz{z{xyzyzyyyyzzzyz{|zyzyzyzyzzzzz{{{zy{yyyyyz{{{zzz{zyzzzzyxzzzzyzz{|y{{zxzyyzyzzzzy{yyzzzyyz{{zzz{zyyyzzyzzzzzzyzz{zyzyzzzz{zz{z{zzzzzzzzzyz|zzzz|{z{zzy{zzzz{zz{|zzzzzz{zy{z{z{zz{{zzyzz|{{{z{z{{{{zzzyzzz{|{|{{{{{zzz|y{{|z|{{z|{{yzzzyyz{zzy{{{{{yz{zzz{{z{|z{{}zzzzzzzzz{{{z{{zzzzyyzzyzzz{{z{zzzyzzzyyzz|zzyyzyzzyzyyzyzyzyzz{zyzyyyyzyzyyzzz{zzyxyyyzzzzyyzz{zzzyyyzyzzyzzz{|yzyyyzxy{zz{zy{zzyzzyyxyzz{zyzzzzzyyzyxyyxzzzzyyyyzxzyyyzyzzzzyzyzzyyyzyzzyyzzzzyyxyzzzzzyyzz{z{{zzyyzzyzyz{z{zyzyyzyyyy{yyzzyz{{yyyyzzyzzzzzzz{{yyxzzzyzzzzzz{zzyzzzyzzyzzzzzz{zyzzyzzz{zz{z{{{zzyyyyzzzz{yzzzyzyyzyzzzz{z{z{z{zzzzyzzzz{z{z{{zzyyzzzzzz{{zzzzzzyz{yzzy{z{z{{{zyzzzzyzzzz{|z|z|zzzz{zzy{{{{{|{|{z{zzzyzz|{z{z{||zzzz{zzz{yz{{{{|zz|zz{{{{{z{{|{{zz{zzyz{z|z{|zz{zz{yzzyz{z{z{|{|yzzy{zy|{{{z{{zyz{yzzzzz{{z{{zz{zzyyzyz{{{{z{{{zz{y{yzyzzzyzzyzzyzyzzzzy{zz{z{z{yyzzyzzzzz{{{zzzyyyyzzyzyz{zzzzyz{zzxyyzzzzzzzzzyyyzzzzyy{zzzz{yzyyzyyyz|{yzzz{zyyyzzyyzz{zzzzyyyyzzyyyyzz{zzzzxzyyyzyyzyzzz{zyyyyyyzyzzyzyz{zzzyyyyyyyxyzy{z{zzyzzzyzyzzzyz{zzyzzzyzzyyzz{z{{{zzyxyzyz{y{{{{zzzzzyzyzzz{z{z{z{zzyzzyyzzy{y{{{{zyyzyyzz{zzzz{{{zzyyzyzzy{zzzzzzzz{zzzzyyzzyzz|{{zyzzyyyz{z{zzzz{zzy{zzzzz{|{|{zyyz{zz{zz|{{|{z{{yz{{zyzz{{{z{{{zzzzzzzzz{{z{{{z{z{zz{{z{{{{z|{{{yz{z{{y{{{z{{{{{zz{z{yz{{zz|{{z{zzzzzzz{zz{{{|{{yz|{zzzzzz{z{{{z{zz{{{y{{z{{||z{{{zzyzz{{z{{zz{{yzzyzzyzz{z{zzzzyyyyzyzyzzyyzzzzyyzzzzyz{yz{y{z{yzyzyzzzz{yzzzzzyzyzyyyzz{zzz{{{zyyyzyyzzzyz{y{zzyy{yzyyzyzzzzzyyzyyyzzyzzzyzyyyxz{yyyzzzz{{zzzzyzzzxyyzz{zzzzyzyyzzyyzy{z{zzzz{yzzyzyyzzyzzzzzzyzyyy{yzzzzz{zzyyyyyzzzz{yzz{z{yyyzzyyyzy{{zzz{yyzzzzyzz{yz{zyzzyzzzyzyzzzy{yz{zzzyyyyyz|{{{{{{zzyzzyz{y{{|{{|{{yyyzzyz{|zy{{zzzz{z{zzzy{zzzz{zyzzz{zyzz{{{z{{zz{zz{{{yz{{|{{|{zzzzzzzzz{z{zz{z{zz|yz{z{|{z{z{{z{{zz{{{zzz{z{z|{zzzzzz{{{{{{{{{zz{zz{z{{{{{{|||{yzz{zzyzzz{{z|{{zz{z{z{z{z{|{{{zzzyzyzzz{{{z{{{z{zyyzzzz{{zz{|{zzzxzyzz{{z{yzzzzyzyyzzyzzzzz{z{zzzyyyyzz{yz{z{{zyyyzyzyzz{z{{{zzzzyyzzyzyzzzz{{yzzyxzzxzzyz{zz{zyzzyyyy{yyyzzzzzzzzzyxy{y{y{zyzzzzyyyzzyzyz{yzz{yyyyzxyzyzz{zzzyyyyyxyyz{{zyzy{yyyzxyyzzyzzzz{zyyyzzyyzyzzzzzy{zzzyyyyyy{yyzzzzyy{yzyzyzzz{{zz{{xyzyxzzzzzzz{{{zyzyyy{z{zzyz{z{yyxyyyzzzy{z{{zzzz{y{zzzyz|z{z{zyz{zzyzyz{|{{zzzzzyzzzzy{{zzz{z{{zzzzyyz{z{|z{|{zzzz{z{zzzz{{y|{zyyzzyzz{{{{{{|{{yzzyzyz{{z{{{|{z{|zy{zy{|zz{{||{{yzz{zz{z{z{z{{{zy{yyzzz{{{{{{{{zyzzz{{zzzz{{|{{{zzzzzz{zz{{{{|z{zyzzzyzzz|{{z{{yzy{z{x{{z{z{{{zzyzzyzzzz{z{yzzzzy{yyyxyz{yz{z{zyyyzxyy{z{zzz{zzzzzyzzzzzz{{zzzzzzzzyyyzyzzzzz{zyzyyyyxzzzzyz{zyyyzyyzyxzzzx{{zzyzyy{yyzzyzyzy{yyzyyyyyyzzzyzy{zyzyzyyzyzz{zzzzzzxyyyyzyyzzz{z{zy{zyzyxzyzzzzz{yzyyyyyyyzzzyy{zzyyzyyzyyzzzzzzzyyzyzzzzyz{{zz{zyzzzzzyyzzzzzzzzzzzzzyzzzz{zyz{yyyzzyxyyyzzzzy|zz{zzzzyzzz{z{{zzzyzyzyzyz{zzz{z{zzzzyzzzzz{zyzzzz{zzzzz{zzz{{{z{zzyzzzzy{|{z{{{|zzzyzxzyz{{z{zzz{zzz{y{z{{{z{y{{zyz{yz{{{{{z{{|{zzz{z{{zz|{{z{{{zz{z{yy{{{z{{z|{zzzzzyzz{z{{zz{|{z{{zzz{|zz{{{{{zyyy{yzz{{zz{{{zzz{zzzzz{{{{zz{zzyzzzyyzz|{zzz{zyzyzzxzyyyzzyzzzzyyzzyxzyzzyzzy{zy{xzyyyzyzzzz{zyyzyzyyzzzzzyz{zyyzyxyyy{zz{yyzzyyzyzyxxzzyzzzzzyyzzyyxyzzzzyzzzyzyzxyzyyzzz{zzzyyyxzzyyy{zz{zzyzzyyzzyyyzzzzzzzzzzzyzyyyzzzzy{zzxzxyzyyyzzyyzzz{zzyyyyyz{zzz{{zzyzyzzyyzzzz{{{zzzyzzyyyy{zz{zz{yzzzzy{{zzzzzzzzzzxyyyyyzzzzzzzzzyyz{yzyzyyz{zzzz{zzyzzxzz{{z{{|zzyzyyzyz{{zzy{yzzzz{zy{z{{{z{zzzyz{zzzx{{y{{z|{zzzzz{yyyzzz{{{z{zyzzzzz{{{{z{|{zz{z{{zzz{{zz{z|{zyzzz{z{{z|zz{{|zz{zz{{|z{zz|{{zzyzzzyyz{|zzz{|{{zzz{z{{{z{{{z{{z{yz{zzz{{yz{{{zzy{yyyy{{{zzzzzzzzzyyyzzzzz{zzyyyyzyxxyzzzzzz{{yyyyyxyzzyzzz{zzyyyzzyyyzz{zzzzzzzzzyyyzzzzzzyzzyzyyyyyzzz{zyzz{yzxzyyyxy{zzyzzzzzyyyzxyyyyzzzyyxyyyyyyyzxyzyz{zyyzyyyzzyzzzzy{zyzyzxyzyyzzzzz{zyyyzxyyyzyyzyzy{yyyyyyyzyzzyyzzyyzyyzyzyzzzyzzzzyzzyyzzzy{zzzzz{z{xzzyyyz{z{yz{zzyyzyyzyzy{zz{{zyyyyyyyy{{{zzzz{zyz{zzzyy|z{zzzzzyzyzyzy{zzzz{zz{zzzzyzzz{z{z{yzzzzzyzyyz{z{z{{zzzzzzzz{zzzz{z|{zzzzzzzy{|z{z|z{{zz{{zzyz{{{{{{{zzzzzzzyzz{z{{z|zzzzz{{zz|{{z{z|{{{z{z{z{{{zy{{zyyzzyzyzzz{z{{{{zzzzyz{z{z{|{{{{{{{yzyzyz{zzz{z{z{{zz{yyzz{zyzzzzyyzzy{zzz{y{{zyyyxyxxxxyzzzzzzzzzyzzyyy{zyzzyzzyzyyzzyzzyzzyzyzzxyyyywyzyzyzzzzzxyxyyzyzyzzzzzzxzyyzyyyyy{y{zz{zyyyyyyyyz{yzzzzzzxyyzyzzyy{zzx{zyyyzzyyyzyzzzzyzyyyxxyyzzzzzyzzyzyyyyyyyzyzyzzzyyzzzzyyzzzy{zzyyyzxyyzxy{zzyzzzzyz{yzzy{zzzzz{zyzyy{zzzy{zyz{zzzyzxyzyyzzzzz{z{yyzzyyzzzyzyzyzzzyzzyyzzyzzzz{zzzzzyyzzyzz{zz{{zzzzzyzzzz{zzzzy{zyyz{zyz{zz{{{z{yzzzyzzzzz{{z|z{zzyzzzzyyz|{zz{{{yzyzzzx{}{{{{{{yyyz{zz{{{zz{zz{{zzzzyzzz|{|{|{{{zzzzzzz{{z{{{{{yz{{z{z{{zz{{{z{zzz{zyz{z{z{{z{zzzzyzzyzy{zzz|{zzzz{zzzzzz{{zzz{yzzzzyzzzzz{zyyzyyzyyy{yzz{zyzyzzzyyzyzy{{{yzy{zzyyxyzyyz{zzzzzzzyyzzyyzy{zyzzzz{yxyyyzyz{yzz{z{zyxyyzxyyzyyzyzyzyzyyzyyzz{yyzzyzzyxzyyyyzzzyzzzxzzyyyyyzyzxy{zyzyyzzyyyzyzzz{zzyxzyyzzxy{{zyzz{yzyzzzxyyyzyzzyyzyyyzyyyzyzyzzyzxyzxyzyyyzyzzy{zyyzyyzyyzzzzyy{zzzzzyyzyz{z{zzzzyzzzzyzyyzzz{zyzzyzyzzy{y{z{z{z{yyzzyzzyz{{{{z{{yzzyzzyyzzzz{zzzzyzz{zzyzz{zzz{{z{{zyyzy{zz{{{{{{zyzzzyyz{zzy{|{zyyy{zzy{z{z{{|{z{zzzzzzzzz{z|{|{{zzy{zzz{{|z{z{{zz{{{zzzzz{{z|{zzzzzzzy{zzz{{{|{zyzzz{z{zz{z{{{zzzyz{zyz{zzz{z|{zyzzzzzy{zzzzz{zzzyyyzyy{{zyzy{yzyyxyzzz{zyzyy{yyzyzyzyzzzzyz{zzzzyxzzzzzzzzzzzyy{zzyzyzz{{zz{zyzzyzxzyyyzzzz{zzyzzzyyyyzzzzzzzzyyyzyyyyz{zy{zzzzyzyzxyz{{{y{{zzzxyyyzzyyzzyzzzzzyyzyxyzyz{zzyzyyzyyyzyyy{zzz{zyzzzzyzyyzzzzzzzyzzzzyzyyzyy{zz{zx{yyyzzzz{{{{z{yzyyzyz{y{zzzz{{zzzzyzzyzzzzz{{zzz{yyz{y{z{zzz{zz{y{zzyzz|{z{{{zzzzz{yyzzz{z{zz{yy|zyzzyzzz{z{z{zzzzz{zz{z{{{{{{yyzz{zzzz{{{{|{|zzz{zzyzzz{{{z{{|{zzzzzy{|{{z{{{{zzz{yzzz|z{{z|z{zzyzz{zy{z{{{{{{{{z{yzz|{z{{{{{zyzz{{{yzz{|zzz{{z{{{zyz|z{z{{zzzzzyzzzy{zz{z{|{zz{yzzyzz{{{z{{{yy{zyxzz{yzz{zzzyyzyzyyyzyzzzzz{zzyyyyyzzz{zy{zzzzzyyzyz{zzz{z{{yzzyzzyyzzz{zz{{z{yyyyzzzyzzz{yzzzyyxyzyyzzzzzzzzxzyzzyyzzzzyzz{zyzyzyyyzyyzz{z{yyyyyxyy{zzzz{yxzzyyzyxyyyzzzz{{yzzzyyyyzzzyyzz{yyxyyyyzyzyz{z|zyzzzzyzyz{yzyzzzzyyzyzzyzzzzz{z{z{yyzyzzy{zzzzzzzzzzyyzzzz{yz{zzyzzyyyyyz{z{yzzz{z{yzyzz{zz{zzzzzyzzzyzzzzzz{{{zzzzzzyxzzzzzy{zz{zzz{zzzzz{{zzzzzyzyzyzyzzz{z|{{{yzz{yzyzz{z{{{zzzzz{z{yz|{zzz{{zzyzzzz{zzzzz{{{{zz{yzy{z{{{{{|{zzz{zz{z{{{|{{{zz{z{yzz{{{z{{{z{{z{zz{zzzz|{{{{zy|zyz{zzz{{{z||{{zzyzzzzz{{{z{{zyzzyyyyzz{zzzzzzzyy{zyyxyyzyz{zzzyyzyyzyz{{zy{z{zyzyzxzyzzzzzzzz{yzzzxyyyzyzyzzzzzzyyzyzyyzyx{z{{yzyyyzxzyzzzzzzyyzyzyyy{zzyzz{yyyyyzzyyyzzyyzzzyzyyzyzxzz{yzzyzzxyyxzyzy{{zz{zzzzyzyyyyz{zzzz{{yzzxxyzyyz{yyzzzzzzyyyyxz{yyzz{zyyzyyyyyzzzzzz{{yyyyzyzzz{z{zz{{zxzzzxzzzzz{z{zzyzzzzz{yzzzzy{{{zzyzzzzyzzzy{z{zzyz{yzzyzz{zz{|zzyzyzy{{zzzzz{zzzyyyzyzz{{{{z{zzz{zzz{{zz{z{{{|{{zz{|zzzzzzzzz{{zzyyzzzz{{{zz{{{{{zzz{{{{{zz{{{z{z{{yzz{y||{{||{zzz{{zzzz{{{{zz{{zzzy{zzzz{{{z{{z{z{zzz{{z{{{{{{{yzzyz{yzz{{zz{{{zzzz{{yz{z{{{|{yyzzxyyz{zz{z{{{zzzyyzyyx{z|zzzzyzyyzyyyzyzz{|{{{zyzxzzz{z{zzzzzyyyyzzyyzzzzzyz{zzzyyzyxzzzzzzyzyz{yyyzyyzzzyzyyzyzyzyzyzz{zyzzyyzyx{yzzyyy{zzy{yyyzzyzyzyy{zzzzxzzyzyxyz{{zzzyzzyzyyzyyzzzzz{zzzzyyzyzyy{zzyzzz{yyzzyyzyzzzzzzzzy{yyyyx{zzyzz{zzzzzyxzyz{zzzz{z{yzzyyy{zzzzz{zzzyzyyzyzyz{{z{{z{z{zyz{yz{zz{z{zyzzyzyzz{zz|zz{{yyzy{yyzz{{y{zzz{{yzzzyzzzz{zz{{yzzzzzzzz|z{{{{{zy{zz{zz{{{z|z{y{zzzzzzz{{{{z{{{zzz{zzzzzzz{zz{{{z{z{zzzz{{{{|{|{z{{zz{{|{z|{|{zzzyz{{{zzzz|{|{|z{{z{z{zz{z{{z{{z{zz{z{z{yzzz{{{{zzzzzzzz{{|yzzzyz{zzyzzyzz{z{z{yyyzzyyxyzz{zyz{zyz{yzyyzzz{zz{{{yzyzyyxyz{zyzy{zyyyzyzyy{{zzzzzz{yyzyzzzz{{yzzzyzzyyyyyyzzyyzzzyyyyyyzz{zzzzyzzzxzxzyxxz{z{yy{yyyyzyyzzyz{yzyzzxyyyyzx{yzzyz{zzyzzyzyz{zzzz{{{zy{zzzxz{zzzyzz{{yzyyzzyyz{yz{zz|yyzyy{zyzzzyzyz{zzyzyyzzzzzz{z{{zzyzzyzzy{{z{zz{zyyzxz{zzzy{zz{zyzzy{yzyzz{{zyzzzzzzzzzyzy{z{z{zzzz{z{yz{z{zzzz{yzzzzzzz{z{{z{{{yzyzzzz{z{{|{{{{zzzzy{zzzz{{{{{z{yy{zzzz{{z{z{{{zyzzyzz{{{z{{|{{|zzzy{{z{{{{{z{{{z{zzzzzz{{{{{{{|zzzzzzyzz{{{yz{{zzz{{yzz{z{z{{{{zzzyzz{zzzz{z{|zzzzzz{yz{z{zz{{zz{yzzyy{z{zzzyzyzyzyyzyzyzzzzz{zyzyyyyyzyzzy{zzyyxyyyyyzzzzzzyzzyzyzyyyzzzzyzzyyyyzyyyyyzzzxzy{yyzyxzyxy{zyzzzzzyyzyyyy{y{yy{zzxzxyzzyzzzzzz{z{xyzyxyyyyzzzyzzzzyxyxzxyzzzzyzzzxyzzyyyyyzy{zzz{zyyyyyyxzyyzyyzzzyzyyzzyy{z{z{yzzxxyyzyyzyzzyyzyzyyyzzyyzz{zzzz{zzyxzyzzz{z{zzzzyyzxyyyyzzzzzz{{zyyxzyzzzzzzzzzzyzzyzzyyzzzzy{z{zyzzyzyyzzz{z{zzz{yyzzzzz{zzz{{zzzzyzzzy{zzzz{|{zyyzzzzyzz{z|{{z{yzzyyzy|zzzz{{{zz{{zzzzzz{{z|z{zyzzy{zyzzz|{z{z{zz{{y{{{{z{|z{zzzz{zzzy{zz{z||{{zzzzzzz{{z{z|||zzyyyzzzz{zzz{{z{yyzyzzz{z{{zzzzzzzyyyzyz{{zyzzzyzyzyyzwyzzyzzyzzyyzyyyyzyzzzzyzzzyyyyyzyzzzz{yyyzyzyxxyyz{zzzzzyyyxxzyxzzzyyyzzyyzxxxzyzzyzzzzzyzyyyyyyyyyzx{zyyxzxxyyzzzyyyzz{zyxzyyzyzzyy{yzyyyyyyyyyyzzzzyz{zyyxzzxyyyyzyyzzyyyyyyyyyzzz{yzzyyyyyyzyy{yzzz{{yyyyyzyxyyzzzzzzzyyyyyzyzzzyz{z{yz{yzzyzzy{yzz{yyzzyzzyzzz{{zzzz{zyzyyzzyzzzzzzzzyyzyyyzyzyzzz{zyyzyzzyyzzzzzzz{zyzyyyzzz{{{{z{zyzyzzyzzz{z{zyz{zzyzzyyzzz{{{{|zzxzzzzzz{|zzz{z{zzzzy{yzzzzy|{zz{zzzzzz{z{z{z{{zzy{zzzyz{zz{{zzzzzzzzy{{zy{z{z{|{zyzzzxzz{z{zz{|z{zy{{zzz{zz{z{{zzyy{yzyyzz{zyzzyyzzxyzyz{zzzyz{yzzyyyzyz{{xzzzzzyyyyyzyyzy{zz{zyzzyyzyxzyzzzzzzzyyyzzzyyz{{yyzzzzyzyyzzzzzzzzzzzyzyxyzyzzxyzzzzzzyyyyxyzz|xzzzzzyxyyyxyyzz{zzzzyzyyxyxxyyzzyyzzzyzxyzyyzyzz{yzyzxyyyzxyzy{{zyzyyzz{zyyyyzzzyzzzzyyyzyyyyzyzz{z{zyzyzzxyy{zzzzz{zyzzyyyyzzzzzz{zzxzzzyxz{zyyzzz{zyzzzzyzyz{z{yzzzzzyzyzyyzyzzz{y{yzzzzyzzz|zzzzzzyyyyzzzzzzzyzz{zyzzzzyzyz{z|{{{zzyzzzyy{{{z{{{zzyzzzy{yzz{z{|{z{yzyzz{z{|{z{|zzzzzz{yzzz{z{z{z{{zzzzzzzz|{{z||{{yzzzyzzz||z{z{|{zzzyzyz{{{z{{{{{yzzzzzz{{{{{{z{zyyxzzzzz{zzz{z{zzzzzyzy{z{{{zzzyyzyyzzzz{zzzzxyzzzyyyyyyzz{zzzzzxyyzzzzzzyzz{yzyyzyyyyyyyyzyzzzyyxyyyyyyzzzy{{zzyzyxxyxzy{zzzzzyyyyyzyxyyzyzzyyzyyyyyyyzyzzzzzzyxyzxyyzzyyxzzyzyzyyyyyyyzzzyyzzyzyzxyxyyzyzy{{yyyyxyyyyzzzyyzzzyxzzyyyzyzzzzyz{zzyxxyzyyyzzyzzzyyyyyxyyzzzzzyzz{yzyzyyzyyzyz{zzyyzyyyzyzzzzzz{{yzzyyzyzyyzyzzz{zzzyyxyyy{z{{z{yyyzyyyzzzzzzzzz{{zzzyzyz{zzyyzz{yyzyyyzz{zzzz{{z{zzzzzzyz{{{{z{{zzy{zyxyzzz{z{zzzzzyzyzzz|{zz{{{zz{yy{yyz{{zz{z{{z{zyzz{z{{{{{{|zzzyyzzzzz{z{{zzzyyzyzzyz{{zz{{{zyyzyyzzz{z{zz{{zyzyzyyzz{zzzz{zzzzzzyzzzz{z{{z{yyyyzzzyy{zyyzz{yxxyyyyxyzzyzzzzzyxzzxzyzyyy{zzzzyzyyxyxzzzy{zzzyyzzyyyyy{yyzzzzyzyyyyyyyyzzxzzzyyyxyyyyyzyyyzzzzywyxxyyzzyyyzzyyyyyyyxyyyzyzzzyxxzxzyyyxzyyyyzyyxzxxyyxyz{yzzzyzzyyyzyxyzzzzz{yyyzyxyyyxyzxyyzyyxyyyzzyyzyyzzyzyyzyyzzyzzzzyyzzzxyyyzzyzz{zzz{{zyzyyyyzz{y{{yzzyyxzyzzyzzzzyzzzzyzyyyzyzz{zzzzyzzzzyyzzzzzzzzz{zyyyyzy{yzyzy{zzzzxyzzzyz{{zz{z|yzyzzzyzzzzzz{zzzyzyzyzy{{{{{zzzzyyzzyyzzzz{{zz{zy{zy{zz{z{zz{{{{zyyyzyz{|zyz{{zzzzzzzzzzzzy{z{zzyyzzzzz{zzzz|{{z{zzzyzz{{z{z{{zzzyyzzzyz{yyzz{{yyyyyyzzzyzzz{zzzyyyyzzy{z{zy{{yyyxzyzyxyzyzzzzzxxyyyxyyyz{zz{{{zyyzyzxyzzyzz|zyzzyyzyxyyzzzyzz{zyyxxzyyz{zy{{zyyxzyyyzyyyyzz{zzzyzyyyyyyyyyyzzzzyzyxyyyxzyyy{zzyzyxyyyyyy{zzy{yyyyyyzyzzz{{{yz{zyyyxyyxyyyyyzz{yyyyyyyxyyzyzy{zzzyyyyyyyzzyy{zzzyyzzyzyzyzyz{z{zyzzwyxyyzzzyzzzyyyyyyxzzzz{zzzzyzzyyyyxzzzz{zzzzzzzyyyzxzzzz{{zzyzyzyyzzz{{zy{zzxzyyyzzz{zz{{yzzyzyyzzzzz{{{{{zzzzyzyzy{zy{zzy{yyzzyzzzz{{zz{|zzzzyzzzz{{zzz|{{{zzzyzzzzy{{{z{zzzzzyzzzz{|{z{{{zyzzy{yzz|z{zz{{{zzzzyyzz{zz{z{{zzzzyz{z{zz{zz{zyyzzzy{zz{zzzzzzz{yzyzzyyzz{zz{zzyzyyyzyzzzzzzy{yyyzzyzyzzzyzzzzyyyyyyyyy{zzzzz{zzyzxzzyzyzzz{zzyzyyyyyyyy{zyyzzyzzyxxyyyzzzzzz{zyzzyyzxz{{yzzzzzzyyzzyyy{zy{zzzzzzzyzyyzy{zy{zyzyyyyyzyyzy{z{{zzzzyxzyyyzzz{zzzzyzzzzyyyzyzyzzzzzzzyyyyzyzzzyzzy{yyyyzzyzzzz{z{yyyxyzyxzzzzzzzz{zyzzxzyzz{yz{z{zzzzyzy{zzzzz{z{zzyy{yyyz{z{zzzzyzyzzzzzzz{yz{zzyzyzzzyyz{{z{z{zzyzyyyyyz|{{zz{zzzzzy{yzz{{{z{zzzzyzzzzz{|z{{{|{zy{zzyyy{{z{{{{{{y{yyzzz{{{{{z{{yzzzzz{zz{{{{zz|{y{zz{zzz|zzy{{{zz{{zzyyz{zzz{z{zyzz{yz{{z{zz||{zzz{zz{zzz{{z{{zzz{yzyzz{y{z|{{|{{zzz{zyy{z|{z{{yyzzzyyy{zzzy{zzyzyyzxyyyzyzyzyzz{yyzxyxzzyyy{{zzzzyyyyyzzz{{z{{zzyyzyyz{{z{zzzyz{yxyyzxz{{{zzzzyzyyyzyyzz{zyzzyzzyzyyyyzz{{zzz{zzyyzyxyzyzyyzyzyyzyyzyyzzzyz{zyz{yyyyyzyzy{zz{zzyyzxzzyzzz{{zzyzyyzyyyxzzyzyzzzzyzzyyzyyyzzyzzzzyyzyzyzzz{{zzz{zzyyyzzxyzzzzzy{yyzyyyzzzzz{yzy{zzyyyyyzy{z{zzzz|zzyzyyzy{zzzz{zzzzzzyyy{|z{z{zzzyyzyyyzz{{{{z{{zyzyzzzz{{{z{{{zyzzzzzzz{zzz{z{{z{zzyzzy{|{zzz{z{yzzzy{z{|{z{{{zzzzzzzyzzyzz{{{z{zzzzzzzz|{{{{{{{zzzyz{z{z{z{{{{{yzzzyzz{z|{|{|{{zz{{zzzzz{{z{{zzzzyzzzz{{zz{|{{{zzzzz{zzzz{z{{{yyyyyyxyz{{zz{zzzyxyyyzyyzzzzy{zyzzyzyyyyzyzyz{{zyyzzzzxyzzyzzyzzyyyyyyzzz{zzz{|zzyyyyyyzz{yyzzzzyzzxyzyyz{yzzzzyyyzyxyyyz{zyyzzyzzyyyyzyzz{zyyyyyzyyyyzyyzxzzzzzyyxyyyz{zzyzzyzxyxyyzyxyz{zzyzzzyyyzyyyz{zzyz{yyyyyyyyyzzzzz{zzyyzzyzyyzzzyzz|zzyzyyyyyzzzz{z{{zyzyzzyzzzzzz{z{xyyzzyxyzzyzz{zzz{zz{yzzyz{zy{yzzyyzyzyy{zy{zy{zzzzyzzzyy{{yzzz|zyzyy{yzz{{z{z{zzyzzzzzzz{{{{{{{zyzz{{xzz{zzz{|{zyzzzzyz{{|zz{|zzzyz{{z{{zyz{{{{{z{zzzzzz{z|z{{{{xzzzz{zzz{{{{{zzzzzzzzz{z{{{z{{zzz{z{yy{{z{{{{zyzzzzzyzz{|{{{{{zzz{yyyyz{{zzz{{zzzzyyzzzz{yzzzzyyyzyyyyzzyzyy{zyyxzzyzyzyzyzz{{zyyyzzyzyyz{zzzzzxyyzyyyyzzz{z{zyzzzyyyyyzzzzzzzzzyyyyxy{{yzyzzzzzzyxyzyyyzzyzzyyzzyyyyyyyyzzzzzxyyzyyxyy{y{zzyzzxyyyyxyxyzxzyz{zy{yyyxyyzzyyzz{zyyyyyyx{yzyzyzzzyyyyzxyxzzzy{yzyyyyzyyxzyzzz{{zzyzyyyyyyzz{z{{zzyzzyyzzzyzzzzz{zyy{yzyyyz{zzz{z{yzzyyyzyyy{zz{zyyyyyyzxzz{zyz{zyzyzzyzz{{{{z{zz{yyzzzyyzzz{zzzzzzzzyz{zzzz{z{{zzzzzzyyz|{z{z{z{{{zzzzzz{z||z{{z{zzyyzzz{{z{z{{zzzzzzzyzz{z{{z{{z{zzzz{yzzz{y{{{zzz{{yzzz{z{zy{|zzzz{zzzzz{{z|{|zzyzzzzzy{zz{{z{zzzzzyzzz{zzy{{{zzyyxyyx{zz{zzyzyzzyyyyyyz{yzzzzyz{yxzxyz{zyzzzyyyyyyyxyyzyzzzzzzy{zyyyyyzzzzzyzzyzyyxyzzzzzzyz{yzyyyyzyyyyzy{zyyyyyyyyxyzyyzzzyyzyxyyyzzzzzyzzyxyxyzyyy{yzzzyzyyyyyxyxyyyyy{zyzyyzzyyyxyzyzzzzzyyzyyxyyxzyzyzzyzzyxyyzyzzzzyz{zzzxzzyzyyzzzzzzzzyyyzxyy{zzzzzzzzzzyyyzyz{zyz{z{yzyyzyyyyzz{{{z{zy{zzzzyy{zzzz{{zyzzyzzyyz{yzzzzyyyzzzyzz{zz{{zyzyzyyyyyzzzzz{zzyyyzzzzzzzzz{zzzyzzzzzzzy{{{zzz{zzzyzyz{{{{{{{{z{z{yz{zz{z{{|{|{zyzyyz{zy|z{z{{zzzzzzzzz{|z{zz{{zzzzzzz{zz{{{{zz{zyzz{xzzz{{zzz|yzyyyzzz{{z{zzzz{yzyyzyyzzz|z|zzyzzyz{zzyy{zz{zyyyzyzxyzyzz{zzz{zzyyyyyyz{zyz{zzzyzxyyyyzyzzzz{zyzzyzyxxyzzzzzzzyyzyyzzxzzyxyzzzzyyzxyzyz{zz{zzzzyzyyyxzyx{zzyzzyyyzyzyyyzyyzyzzxzyzyyyyyzzyzzzyzyyzyzxyzz{zzz{zyzzzyyyyzzzzzyzzyyyyxyyyyzzyzyyzyzyzyzyyyyyzzz{|yyzzzyxyzzzz{y{{{yyyzyzzzzzyyyzzyyyzyzzyzzzzzzy{zyyzzyxyzyz{z{zyzyyyzyyzz{zzz|zyyyzzzzxyzzzzzz{yzzzzzzyzy{{{zz{y{zzzzzzzzz{{{{{zzzzzzzzzz{{{{zz{zyzzzzyz{z{z{z{{{yyzzzzzz{z{z{{z{zzzzzzzyzz{|{{z{z{y{{yyz{{zz{{{{yyz{yzz{z{{{{{z{yzz{zzyzzz{{z{{{|zz{zzzy{z{z{z{{yyyzzyzzzz{z{{{{{z{zzzz{{z{zzz|zyzzzyzzzzzzz{z{zyzxzyyyzzzzyyzyyyyyyzzzyyzyzzzzyz{yzyzyyyzzyz{{zyyzzzyxzzzzyzz{zzzyyxyyzzzzzzzzzyyyyzzyzyyyx{yxzyyyyyyyzyz{yzyyyyyzyyzyyyyyyzzzyzyxzxzyyzzzz{zzzyyzxyyxyyzyyzyzyzzyzzyyyyzzzz{{zzyxyyyyxzyyzyzyzzyyyyyyyy{zzzzzyyzyyzyxz{{zzyz{zyyyzyzyzy{yzzzzyyzxxzzz{yzzy{yzyyyzxzzyzzyzzx{z{z{zyyyzyzzz{{{yzy{zyzyyzzzzzz{{zyzyzyyzzzzzz{z{{zyz{yyzzzzz{{{{zzzzyzzyz{zzzz{{{yzzy{yyzzz{z{z{zxyzzzzy{zz{zz||zyyzyzzzz{y{{z{{zzzzy{zyz|{{{|{{zyzzzyzzz{z{z{|{zzyzz{z{zz{zz{{zz{zzzzzz{yyz{{{{{zzyyy{yzz{zz{{{zzzz{zzzz{{{zz{zzyzzyyyy{z{zyyzzyyyyyyzxy{zzzyzzyzxyyyyyyy{zyzzzzyzyyzzxyyyy{zzzzxzyyyyzzzz{zyzzyzyyyyyzyzzyzy{zyyyzyyyyyz{yyzyzzyyzxyyyyzzzy{yyyyxyyyyyzyyzzzyzzzyyyyyyyyyyzzzyyyxxyyyyz{yyyzzzyyzyxyyyyzyzzyzzyyyyzyzyyyyyyzzzyzyxyyyxyzyyz{zzzzzzyzyxzzy{yzzzzyyyyxzyyzz{zz{zzzyyyyyzzzzzyzz{zyzyxyyzz|{zz{{zzyzyyyzxxzzz{{{zzzzyzyyyzz{yyz{{{yyyzyxz{z{zzyy{zzzzzzyz{z|{{z{zzzyzyzyzzzz{zz|zzyyy{yyy{{zz{zz{zzyzzy{zz|zzzz{{zyzzzzzzyz{{z{{{zzzzyzyzz|{zz{{{{zyyzzzzz{{zz{{zzyyzyyzy{zzzy{z{{zyzyyzy{zz{zzz{z{zyzz{x{{zzzy{{zyyyzyzyzz{|{z{{zzzxyzyxzy{zyzyzzyxzzxzyzzzyzzz{xyyyyyyzyzzx{zzzzxyzyyyyzz{zz{{{zyyyyyyyzzzzy{zzyyzzzyzyyyzyz{yzzxyxxyyxyzyzzzzzyxyyzyyyzyzzzzzyyyyxyxyyyzz{yzzzxy{yzyyyyz{zz{yzyzyyyyyyzzzzyyzzzyzyyzyyyzzyyz{zyyyyzyyyzzzxzzyzzzyyyzzyyzyyyzzzzyzyyzyy{{yzyzzzzyzyzyyyzzzz{zz{yyyzzzzyzyzzz{z{yzzyzyzyy{zyzy{zzyzyzyyyzzy{z{z{zzzyzzyzzzz{{y|zzzzyz{zzzzzyzzzyzyzzyzzzzz{{|{{zyyzxz{zy{zz{z{{z{zyzyzzyxz{zz|zzyz{zzzzz{{{{{{{|z{zzzz{{z{{{{{{z{zzzyzzzz{{{{z{z{{{zyzy{{{zz{zz{yz{zzzzzz{z{zz{zzzyyzzzzz{{{{|{{zzyzzyzyz{zzz{{{{{yyyyyzzzz{yz{zyzzzyyyzyzz{zyzzzyyyyyyyyzzz{yzzzzy{zyyyzzyzz{zzzzzxyyyzyzz{zzzyzyzyzzyyzzy{zz{{y{zyyzyyzzyyyzz{zyzzzyyyy{yyyzzxzzzyyyyyzyzx{zzzyyyyyzxyzyzzzyzzyzyxzyzyzzzzzzzzzy{yyyyyyyzzyyyy{zyyzzyyzz{zzyzyzzyyzyyyzyzxz{z{zzyzyzyzyzzzzzz{yzzyyzyyzyz{{z{{zzyzzyzyyzzzzzz{zzzzyzyyzz{zz{yzzyz{zzzzzzz{zy{zz{zzzyzyyz{zz{z{zzzyzyzzzzz{yz|{zzy{zzyyz{z{z{zzzzzzzzzzzz{{{{{zz{zy{z{z{zzz{z{{|zy{yzzz{z{{zz{zyyyyzyzz{{{{z{{{yyyyzz|zz{{{{{yyzzyzyzzz{{{{z{{z{z|zzz{z{{{|{zz{{yzz{y{{zz{{{z{{zz{{zz{z{z{{zz{{zzzzy{z{zz|z{z{{{zzzzyyyz{zzz{{zzzy{yxyyz{zzzz{{yyzzyyyyz{zzzzzyyzyzyxzyzzz{zzzzzyzyyyyyzz{zz{zzzyzyzyyyzz{zzzzzyyzxxyyyzzzyzzzyyzyxzyzyyyzzy{y{zzzyxyxyzzzyzzzzzyyzyyzyzyyzyzzzzyyyyyzyyzzyzzzzyzyyyzxzzy{yzzzyzzyyyxyxyz{z{yz{zzyzyyyyzyyzy{zzy{yyyyzyz{y{y{zzyyzyyzyyzyzz{zz{z{xzzxyy{{{zzyz{yzyyyyyzzyzz{{{{zyyzzzzyzzzzz{zzyyzyzyzzyzzzyzzzzzyzyzzzzz{zz{zzzz{zzyzzz{zzz{zzz{y{zyy{zz{{zz{zzzzz{zyz{zz{y{{{{zzzzzzzz{{{z{zyzzzyzz{z{{{zz{zzzzz{z{yzz{{zz{{z{zz{z{yyz{{{|{{|zzz{{y{z{{{z|{zzyyzzzzzzzzzz{{z{{{zz{zz{{zz{|{z{{{z{yyzz{{zz{{zz{z{{zzyzzzzzz{{{zzzzyzyyzzz{zzyzxzyyzyzyzzzyzyzzyyzyyzxyzzzzy{{zzyyyyyyyzyzzy{zzzyzyyyyzy{zzyyzzzzzyyzyyzzzz{yyzzyzyzyzyzzy{y{{yyyzyzyyyzzzzyzz{y{yyzyyyzyyzyzzzywzyzyzyzyyzyzzzzzyyyyxyzzzzzzzzyzyyy{zyzzzyzz{zzxyyzyyyzzxyyzyzyzyzzyyyy{yzyyyzyzyyyyyzzzzzzzz{{zzyzzzzzzzzz{zzzy{yyyzyzyzz{zz{zzyzyyy{zzzzy{{zzyzyzxzzzzz|yzz{zzzzyyzyzzzzzz{zzyyzyyyzzz{yz{{z{zyzzz|z{zzzzz{zzzyzzzzzzzz{z{{{zzzyyzzzz{{{z{{yzzz{{yzz{{{{z{{{{zyz{z{{y{zz{{z{{y{zzzz{zz{z{zz{zyzyzzy{z{{{{{{{zzzyzyzzzzz{z{{{zzyzzzyz{y{{|{{{zzzzz{zz{{{{{z{z{zzzzzzz{{{zz{{zzyzyzxzyzzzzyzyyzzyzyzxxzzzzyzz{yzyzyyzzz{zzy{{{zzzyyzyyzzzzyzzyzzzyyyzyz{z{yzz{{yzyyyzyyzyzz{zzyyyzyyyyyzzyzzzz{yyyzyyxzz{zzzzzzyzyyyyzzzyzzy{{yyyzzzyyzzzzzy{zyyyzyyxyzyzyz{zyzzzyyzyy{zz{yzz{yzyyzyzyz{yzzzzzy{zyyyxyz{zyyzz{zyyzzzyyzzyzzz{zzzyzzyyxzz{zz{y{yyzyyzyzz{zzz{zzzzzy{zzzzzz{z{zzzyzyzyzzzzzz{{zyyz{zyy{z|zzzy{|zzzzyzyzyzz{zy{{yzz{zy{zz{z|{{{{{yzzzzzzzzzzz{{{|zyyzzyzz{{|z{z|z{zzzzzzz{zz|{{{{{{{zzz|zz{{{|{{z{zyzzz{zz|{z{{{zzyzz{{zzz{{zz{{zzzzzzyz{{z{{z{{z{{zyzzzz{{{{{{{{{zzzz{yz{zz{{z{|{zyzzyzzz{z{{zzyzzzyzzyyz{zz{{zzyyyzyzyyyyzyz{{zyyyyyzzyy{zzzz{zzzyyzzyy{zyzzzz{zzxyxyzyzzz{zyzyy{yxyyxyyyzzyzzzyxzyyyyyzz{|z{zyzxyyyyyy{zzzy{zz{yyyzyyxyzzzzzyzyyxyzyxyzyzzzyzyyyyzzxyzyzyyz{zyzyzyxyyxyzzzzzzzzzyzyyyxyyzyyzy{xzyyyzyyz{z{{z{zyyzyzzyyzzyzzz{{yyzyzyyyzyzzyzz{yzzzyyzyzzyyzyz{zyyzyyzyzy{z{{zzzyzyzyyx{zzzz{yyyyzxzzyyz{{z{z{{zzyzzyzy{{zzzz{zzzyzzz{z{{zz{z{zzzyzzzzzzzz{{zz|zyz{yyyyz{zz{{{z{xzzyyyz{{zz{z{{yz{zzzzz{z{|{{z{{{z{zyzzz|{{{{{{{zy{yyzzzyy{zzz{{zzzzzz{{{{zzz||{{zzzzz{{{{{{{{zzz{zzzzzy{zzz{{z{{zyyzyyz{z{{zz{zzzzyzzyzzzzzyyzzyyxzx{yy{zyz{zzyyzyyyzyzz{zyzz{yyyyyyyz{zzyzzzzzyzyyyyyzzz{yzzzyyzyzzzyzz{zzzyyyyzxyyyyx{zyy{yz{yzyzyxyzyyzy{zyzz{zyzyz{yyyzzz{yzzyyyyyyzz{zyzyyyyyyyyyyy{zzyz{zyyzyyyzzzzzzzzyyzyyyyzyzzyzzzzyyyyyyyyzyyzyy{zzzyzyzzzyzyzzzz{zzzyyzxzyzyzyzzz{zyzzyyyzzzyyzzz{yzzyyyyy{zyy{{zzyz{zyy{yyz{{{{{zyzyy{yzy{{zzzzzzzyyyzyyz{{zyyy{zzyzzzzyzzz{zz{{{yyzzzy{z{|y{{zz{zzzyyyzzzyz{zzz{{yzyzzzzz|{z{{{zzzyzzz{zz|z{z{z{{zzzzz{zz|z{zzz{zzz{yzzy{{{z{z{|{zzzzz{{zyz{{{|zzz{{zzyzzzzz{{{|{yyzzyzzzzz{z{{{zzz{zz{zz{z{z{{zzy{yzzyy{yzzz{yyyyzxxyyyxzzzzz{zzzyyyxxzzzyzzzzzzzyyyyzx{yyzzzzzyyzzzyyyyz{zyzyzyyyyyyywzzyyzyyzyyyyxzyyyzzyzyyxyzyyzzxzyz{yyzyyyyyzyyzxzyzzzyyzyzyzyyxyzzyzzzzyyyyzxzxzz{{zzyyzzyyyyyyyzyzyy{z|zzzzyyxyxzzyzzyzyyyyyxyyyzzzzzyzyzyyyyzyzzzzx{zzyzyyzyyyyzzzz{z{zyzzyyzy{zzzyz{zyyyxyyzzz{{z{zz{yyzzyyzyzzyzyzzzzyyzyzyyzzzzz{y{zzzzyzyyzz{zyz{zyyzzyyzzz{{{{z{{zzzzy{zz{{zzz{z{zzzzyxzz{{z{{z{zzxzyzyzz{{{y{{{{zz{zyyzzz{zzz{z{{zzzyzzzzzzz{{|{zzz{zzy{{z{zz{{{zyzz|zzzz{yz{zz{yzzz{yzz{{{{{{{zzzzyyzyy{{{{{{zzzyyyzyzzyzzzzzzzzyyzyyyyyzyzzzyzyzyyyyzzyyyyyzz{zzzyxyxyyzzyyzz{yzyxy{yzzzyzyzzzzzyyyxyyyzzzzzyzzyyyyyyyzyzz{yzzyyyyyyzxzzyyy{yzyzyyyyyyyzzzzzzyyyyxyzywyzzzzzz{yyyyxyxxy{yyyzyyyxyyxyzyyyzzzyzzyyyyyyyyyzyzzzzzzyyxxyyxzzyzyzzyzyyxyyzyxzyyyzyxyyyyyyyxzzyyyz{yyyyzzyyzyzzzz{yzyzxyy{yyzyyzyzyzyyzzzyyzzyzzzyzzyyyzzxzyzzzyzy{zyyzzyxzx{zzzyyzzzzyyzyyzz{yzyzzzzzzyyyyyzzzzy{zyzy|zyzyz{zzzyzz{zyyzzzyzz{{z{z{zzyyyzzz{zzzz{zzzyz{zy{zzz{zy{{{zzyzzzzzzzzz{zz{zzzz{zyzzzzzy{{|z{zzyzzyz{z{{z{{{{zyzzyzz{{zz{{{zyzzyyyyyy{z{zzzzzyzzxyyyy{z{zz{zzyzxyzyyzzzyz{zyxyyyxxzxyyzzzyyzzzyyyyzzzzzyzzzzzzxxyyyyyyzyyzzzyyyyyyxyzyzzyyyzzzxxyyyxzzzzzzyzyxyyyyyxyzxzzzzzzyyzyyyyzyzzzz{{yzyyyyyyyyzyyzzyyxzyxyyzyzzzzzy{zxzyyxxyzxzzzzyzyyyxyyyyyzyzzzzzyzyyyyyyyyzyy{zzyzxxzyyyyzzzzz{zyxyyyzyzzzyzzzzzzyyyxxzxzzyyzyzzxyzyzyzzzzyzyzyzyyzyyzzyy{{z{yy{zyyzyyyxzzzyzzyzzyyyyyyyzzzzyz{zzyyzyyyy{zzzzzzzzzyzyzyyzzz{{{zzyzyyyy{x{{zzzzy{zzzyyzyzz{zzzz{{yzxzzzzzzz{{zz{{yyyzyzyzzz{z{{{zzzyzyyzzz|z{{{|{{y{{zxzz{z{{zz{{zyyyzyzzz{z{z{|{zzyz{yyzzyzz{{{{z{xyzyyzz{{z{z{{zyyzyyyyy{zzyzzyzzzyxyzyzzzz|zy{yyxzyzyxzzzy{zyzyzyyyzzyzz{{zyyzzzyyyyyyyyyyzz{z{yyyyyxzzzz{zzzzzzyyyyyyzzzzzzxzyzzxyyxxzzzyzz{yyzyzyyxyzzzzz{zzzyyzyyyyyyyzzzzyyyyzyyxyyyyzz{zzzxyyxzzzyzzz{z{zyzzyyyyzz{{{zzy{zyyyyxyyyzxyyzzzyxzzyyyyyyyzzzzzyzyxyyyyzzzy|z{{zzyzzyyyzzzyzzz{zzzyyxyyz{zyzzzzyyxzyyyyzzzzzyzzzzyzyzyzz{zzz{{yyzzyyzyzzz{zzy{zzzzzzxyyz{zzzzzzzyzzzyzzz{y{zz{zyzzyzzzyz{zzy{zz{zzzzyzz{z{{{|{zzyyzzzyz|{{z{z{{zyzzy{zyyzzz{{{{zyz{zy{{z|z{{}|{zzz{yzzz{{{zz{{{zzzzyzzzy{z{{z{{zz{zzyzzzz{zz|{|zyzy{yzy{{zzz{z{z{zzzyyyyzzzzz{{yyzyzzyyzz{yzzyyyzyyyyzxxzzxyyzzyyyzyyxzzzyzy{z{zyyyyyyyzyyz{z{zzxyyyyyyyyyzyz{zzyyxzxyxyzyzzzz{yyyyyzxzy{zzzzzzyyyyzyyxyyzyyyzzzyzyyyyyzyyzzyzzyyyyyyyx{{z{zyzzzxyywyyzz{zzzyzzyyzzyyyyzzy{zz{zyyyyzyyyzzzyyzzzyzyzyyzzyzzzyzyzyyzyyyyyzzzzzz{{zyzyzzyzzzyy{z{zyyyzyyyyzzzzyzzzyzzzyyzzzz{zz{z{{zzyzzzzyzzyz{y{yyzzzyzyz{{zzz{{zzy{zyzzz{zzzzzzyzyzyzzyzzz|zz{zzzzyzzzzzz{{z{{{zzzz{zyy{|z{{{{{zzzzzyyz{{zz{{zzzyzyzz{{zyz{{z{z{zyzy{zyz|{{{zz{zyyz{yxz|{{{{z{zzyzzyzzz{{z{zz{{zzz{yyz{z{z{{{{{{zyyzzzzzz{{{{{{zzzyzyzyz{{zy{zzzzyyzy{yz{zyzz{zzyzyyyyyy{zzyyzyyzyyzzzyzzyz{z{{yzyyyyyzzzz{zzyzzyzyyyyyzzzzyy{zzyzxyyzyzzzzyzz{zyyyyyzyzzyyyz{zzyyyyyzyyzzyyz{zzyyyyxxz{y{yzzzzyyyyzyxyy{zyzzzyyyzxyxyyzzzzzz{yyzyzyyyzzzzzzy{{yxyzyyy{yzzzyzz|zzyyyxyyyzyzyzz{xy{xyxyyyyzzzz{zzyzyzyyzzz{yzzzzyy{zyzyyz{{z{{{zzyyzyyzyz{y{zx{zzzzzyyzxz{z{z{yzzyzyyyzzz{{z{{{zzzyzzyyzyzzzzzyzzyy{zyzzy{z{{z{{y{zzzyzz{z{z|z{{zzzzyzzy{|zz{z{yyyz{yxzz{z{z{{{{zzzzyz{yz{zz{{z{zzzzzzzz{{{{zz|z{zzz{zzz{zz{z{{z{zzzzzz{{{{z{z{{{zyzzzyz{y{zz{{{{z{yzzzz{{z{z{zz{zzyzzzzz{y{z{zz{zzzyyzz{z{zzzyzyyyyyyyyy{zzyzzzyzxyyyyyzzzyy{{zzzzyyyyyyzyzyzyzzzyyzyyzzzzyyzzzyzyyzyzy{zzyyz{{zyyyxyyxzzy{z{zzzzyyyyyyzz{zzzyzxzyyzyyyzyzzy{yzzyyzyxzyxzyyzy{yzyyzyyxyyz{yz{zzzyzyyyyyz{zyz{{yyyyzzxyxyzzxzzy{zyyyyzyyyzzyyzzzzyzyzzyy{zzzyzz{zyyyyyyzzyzzz{y{zzyyyy{yzzzzzzz{xyzzzyyzzz{{zzzyyzyyyzyyyzzzyz{yyyzxzzzyz{{{zyzzzzyzyyzz{zzzzzzzyzyzzzzyzzz{zzzzyzzxyz{zzz{z{{y|zz{zzyzy{zzz{y{zzyyyzzz{z{{zzz{|zzzy{zz{z{{{z{z{zzzzzzzzz{{{{z{z{z{yzzzzz{{{{{{zzyy{zzzyzz{y{{{zzzz{{yyz{zzzz{|{{zzzyzzzzzz{z{{{{{yzyzzyz{yzz{zzyyzyzyzyzzzyzzzzyyxyyxyxzz{yzzzzyyyyyyyyyz{zz{{{zyyyyyyy{zzzyzzzyyzyyzyyzyzzyyzzzzzxyyyyyyyyyzyzzzyyzyyyzyzyyzzyyyyzyxyyzy{yzzzzyyyyyyzyzxzzyyyyzyxyyxyxzzyyzyzyzyxzyyyyzyyzzzzzzyyyxzxyzzzzyy{zyzyyyyyyxzyzyy{zzyzyzxzyyyyyz|zzyyyyyzyyzzyzzzzzzyyyyx{yyzz|zyy{yyzyyyyzzzzzz{{zyzzzyyyx{z{zz{{{yyyyyyyxyz{zzz{zzzzzyxzzzzzzzzzzzzyzzyyzzzxyzy{{y{zzzzzzzzzzz{{zzyzzzz{yzzz{zzz{zzzzzyzzzz{zz{z{{yzyzzzzzzzz{z{zz{z{yzzzzzyz{{z{zzzzzzzzz|zzzz{{{zzzzyzzz{{{{{zz{xzyyzzzzz{yz{{{{y{z{zzz{{z{{z{|{zyyz{z{{zy{{{{{{{zzzyzyzz{zzzz{zzzyzxyyzzzyxzyyzxzyyyxxyzzyzzzzzyyxyyyyyzz{zzzzzzyyxzyyzzzyzzzzzyyyyyyyyy{zyyzzzyzxyxyxzzzz|zyzxxzyyyyyyyyyzzzzyyyzzyyxyzzyzzyzyyzyyzxyyyzyzy{zywyyxyyxyzzyyyzzyyyyxyxyyzzzzzzyzyzxxyyyzzzyzyzyyzyyyyxxyzzyyzzzzyyyyyxxyzyzz{yzyyyzzyyyyzz{zzzz{yyyyyzyzzzzz{zzzz{yyyyyyyzzyzz{yzzyzyzyzzyyzzzyzxzzzxyxyz|zz{zzzzzyyzzyzy{zzy{yzyyyzzyyzzzzz{{zzzzzzzyzzyzz{{zzyzyzzzzz{zy{z{{z{zzyzxzz{zzzzzz{zy{zzy{y{{zzz{{{z{zzzz{zz{{zz{z{{zyzzzzy{zzz{{{z{z{{xzyzz{yzz{{{zzyzzyyzzz{zz|{|{yz{zzzyz{{{{z{{{zyz{zyz{{z{y{{{zyyyzzzy{{z{zzzzyyzyzyyyzzzzyz{yzyxyyyxyy{zyzzyzzyyyxzzxzzz{yz{zyyyyyyyyzyzzzzzzyzzzxyyxy{yzyzzyzyzyyyyyzyzzyzyzzyyyxyyyxzyyyzzyyyyyxyyxzzzyxzz{yyyxyyyxxyyyyzzyyyxxyyyxzzzyyyz{zyyyxyyyyz{zzzyzzzzyxyyyzyzxzzxzyyyyyyyxxyzyzzzyyyyyzyyzzzyyz{zyzyyxyyyyzz{zzyzzyyyyzyzxyz{y{zzzzxzxyyyzz{zzyzy{zyzyyyyyzyzzyz{{zzyyyyyyyzz{zz{{zzyyzxzzyzzzz{z{yx{yzyzyzzyyyzz|yyyyyyyyyzzyzz{zyzzyzzzzzzz{z{{{zzyxzzyzz{{|{zzzzzzz{zzz{{zzz{{{zzzzyz{z{{{{z{zz{zzyzzzzz{zz{z{{yy{zyzzzzzzz{{{y{xzzzzzyzzzzz{{|{{zyzzzy{zz{{z{{{yyyzyzzzzzzz{{{zzzyzzzyyzz{z{yzyzzyzyyyzz{z|zyywxxxxyyxyzzyzzzyxxyzyyxyz{yz{z{zzyxyyyyyzzzzzyz{yyyyzyyzzy|zzz{yzyzyxyyzzyzyz{z{yxyzyyyzzzzyzzyyyyyyyxxxyzzzzzyzyxyyyxyzyyyzyyyyxyyxyyyyzyyyzyzyxyyyyzxzyyyzzzz{zyyxxyxxzyzzyyzzyyyyyxyxyyzzyzzyzyyyyyyyzzyzyzy{yyzzyyyyzyzyyxzyyzyyyzyyyzzzyy{{yyzyyzyzzzzyzyy{yyyyyzzyz{zz{zzzzyzzyzyyz{z{zzzzzy{zxyyyy{z{z{zyyyzzxzyzzyyyz{{zzyyyzzzyz{{zz{{{zzzyzyzzzzzzyzz{{y{zyzyyz{zzyzzzzyzzyzzy{|{zzz{z{z{zyzzzz{zz|zzz{yzyyzzz{{z{{{{{zzzzzy{z{{{zzz{{{zzzzzyzzz{zzzz{zzzzzzyzz{z{|zz{{zzzyy{z{{z{{zzzzzzzzyyyyzzzz{zzz{zzyyzyy{{z{zyzyyyyyxyxxyyzyyyyyyyyzyyyyzzz{zzzyyyyy{yxzzzzyz{zyyyyyyzyzzzzzyzz{yyxxyyyyzzzzyz{yyxxyyyxyzzyyzzyyyzxxxxxyzzzz{zzyyzxyyyyzzzyyyyzyyzyyyxyyyzzyzzxyyyzxyxxyyyxyzzyyyzyxzyyyyyzyyzyyyzzyyyxyzyyyzyzyyyyyxzyyzyyyzzzxyyyzyyyzyz{zz{zyyzzxxzyyzyyzyz{zxyyyyyzyzzzzz{{zzyyzxyzz{zzy{zzyyzyyyyzyzzzzzzzzzzyzyzyyz{zy{yzyxxyyzyxz{zzyzyzzy{zyyzzzz{{z{{zxzzyyxyyz{zzy{{zzyzzzy{zz{z{z{{zzyyzzzyyz{z{{{{{zzzzy{zzzzzzz{zyyzyzyyzzz|{{z{z{zzzzzyzzz{y{{{zzzzzyzzyz{z{zz{{{zzyzzzzyzzz{{{{{xzzzzyzyz{yyzzzz{zyyzy{yxzz{{{zzzy{yyyyzyzyzz{zzyyyxyyyxyyzzzzzzzzyyzyzxzz{zzzzzyyxzzxyxz{zzzzzzxyyyyxxxyzzyyzzzzyyyxyyxyyyyzzzzzyxyyyzyyzzyyyyzzyyzyxyzzzzyzzzyzyyyyyyyyzyzxzz{xyyzyyxxzzyyzzzyyzyzyzyzyxyzyy{yxyyxxzyyzyyzzz{zyyyzyyyyxyyzyyzy{yyyzxyyxzyz{zzyyzyyyzzxxzz{zzyy{xxyzxxyyyzyyyy{zyzyzzyzzzzyzzz{yyyyzyxyyzzzzzzzzyzyyyzzzzzz|zzzzyzzzzyy{{{yzzz{zyyyzzyyzyzyzzzzyyzyyzyzzzyzzz{zy{zyyzzyzzy{zzz{zyz{zyyy{{|z{{zz{yyyzzy{y|{{z{{{zzzyzz{yzzz{{zzz{zyzzzyzz{{{z{{zzyzzzz{zzz{z|{{{{zyzzz{z{z{z{{{{{zy{zzzzz{{{yz{zyyyyzyzzz{z{zz{yzzz{yyzyz{zy{zzzzzzyxyzzyzz{zyyzxyzyyzyxzzzy{zzzzyyyyxxyyzyyzzzzzyyyz{xyzyzz{z{zzyzyzyyzzzz{zzz{zzzzyyzyzzzzyzy{zyzzyyyxyzyzyzzzyyyyyzyyzy{yz|yzxyzyyzyxzzyzyzyzyxyyyyyxyzyzzyzyzzyyyyxyzzzz{zzzzxzyxzyyyzyyzy{zzyzzyyyxyzzzzz{zy{yxyyyxzzzzz{zzyz{zzyyyyzzzzzzz{zzyzyyyz{{yzzzzyxzyyxyzzy{zzzy{yyzzyyzxzzy{y{zzyzzzyyyyyzzzzz{zyzyyzyzxzz{zzz{zzyyyyyyzzz{yzzzz{yzyyzzzyz{zzz|{yzzzzyzzzz{{zz{{{yz{{zyzzzz|z{zz{yzyyzzz{||zz{{{zzzyzzyzy{zzz{z{zyzzy{zzz{{{zzz|zy{{zzyzz{{zz{{zzyzzzyzzz{{zz{{{zzzzyzz|{zz{{z|{zzyyzyyzy{z{zz{zzzz{yzyzy{zzzyz{yyyyzyxy{zzy{{{zyyyyzxxzzy{yzzz{xzzyyyyyyzzzzzzzzyzxyyyyzzzzzz{zzzyyyyyzzy{zyyyzzyyyyzzyyzy{z{{yyxyxxzyxzzzyzzzzxzyyyyyyyyzyzzzzyzzyyyyzzyzzzy{yyyyyzyxyzyzyyyzzzyxyxyxyzzzyzzzzyzyyyyzyzyyzzz{zyzyyyzyyxzzzyzzzzzzyyyyyyzyzz{zzyyyyyzyzzzzzzzzzyyyyzyzyzzzxzzz{yyyyyyzyzyzyyyzzzzyyxzyzzyzzzzzzzyyzzyyxzz{{zzzzyyzyyyxyz{zzzz{{zyzyyyyyzz{zyzz{zzzz{yzzzz{zzzz{zzzzzyzyzzyzz{zzzyzyzz{z{zz{{zzz{yzzzzzzz{zz{z{z{{zzzz{zz{zz{z{{{z{{zzy{z{{zz{{{{zzzzzzzz{z{{zzzzzzyyyzzzz{z{{{{{zzzzzzz{z{zz{z{z{zzzyzzy{{z|{{zzzzzyyyy{z{{z{{zyzyyxyyyzy{z{yyz{yyxyyxyyzyyzyz{yzyyyy{xyzyzzz{yzyyyyyyy{yzyzzz{zxzyzzyyzzzyyyz{yyyyyxyxzzyzyyzzxyxyyyyyyzzyyzzyzzzxyyyyyy{zyzzzzyzyyyyyzyzzyy{yyyyyxxyyyzyzzyzzyxzxyyxyzzzzzzz{zzyyy{xxyzzzyxzzzxyyzyyyzzzyyyyyxyyyxyyyyyyyyyz{yzzyyyzxzzzy|zzzyyzxyyyyz{yyzzz{yz{yyxzzyyzzzzzzyzzyxyyyyz{{zzzzzzyzzyzyzzzzyzz{zyzzyyyzzz{zyz{y{yyzzzyyzy{zyzzzzzyyzyyz{y{zz{z{zyz{{y{zz{{z{z{{yyzyzyyz{z{zz{{zzyyzyzz{{{z{|{{|yy{zzzzzz{zz{{{zzzyzyyzzz{{{z{{{zyzzzyyzzz{zyz{z{zz{yzzz{yz{z{z{z{zzzyzzyzz{{z{{zz{yzzzzz{y{z{z{yyxzyzyyzzz{zzzzyzyzzyyzzzzzy{zyzzyyzyzyzyzyy{zzzzyyyyyyzzyzz{zyzyyyzyzxyzzzyy{{{yyzyyyzzzzzyy{zzzzzxyyyyy{z{zzzyyzyyyyyzzxyyzzzzyzyzzyyzyzyy|yzzyyyyzyy{yxzyzzzyyyyzxxyzzy{yyzyyzyyyyxzzy{{zzz{zyzyyxxyyzyyyyzzyxzyyxzxyyyyzyzyzyzyzzyyzzzyz{zzyyyyyzyzzyz{zzz{zyyzyxyzyzzyyz{{zyyyyzyyzzzzyyz{yzzyyyzyzyzzzzzyzyzyyzzyzz{zz{{zyz{yyzzzzz{zzz{{zzzzzzzzy{zyz{zzyyzzyyxyy{zyz{zzzzzzzyzzzyzzzz{zzzzyzyyxzz{zzyzzzzz{zyyy{{{z{{{z{zzyz{zzz|{{|{{z{yzzy{zz{{z{z{z|zy{zyz{z{{z{z{zzzyzzyzzz{{{z{{{{z{zzzzz{zzz{yz{{zzzzzyzy{y{{{y{z{yyzzzyzzzzzzy{{zyyyyzzzzyz{zyyzzyxxyyyyy{zzzzzzzxxyxyyyzzzzyzz{zyyxzyyzzzzzzzzzzxzzyzyzyzzzzz{zzxzyyyzyzyzzzzzzyzzyyyzyyz{zzzzzyyyyyyzyzzzyy{zyyyyyyyyyzyyzyyzzzyzyxxzxxzzzzzzzzyyyxzyyzyzzzzzyyzyyyzyzyyz{zzzzyyyyzyyxxzzy{yzzyyzyzyzyzyyyz{zzzyyyzzyzzyyzzyzyzzyyyyyyyzzyyzzzzyyxzyyyyzzyz{z{zyyyzyzyyyzzzz{zzyzyzyzxyyzzz{{zzyyzzyzz{yz{{zzz{zyzzyzzyzzzy{{{z{yyzy{zz{zz{z{{yzzyzzz{{zz{z{{{zyz{yzzyyzz{zzzzzyzy{zzz{{{{{z}zzz{zy{{zz{zz{{z{{zzzyzzz{{zz{{z|{yzzzyzz{z{{{{{|zyzz{zyzzz{z{{|{zzz{yzy|{{{zz{zzzzzyzyzz{{zzz{z{{zx{zzyy{z{z{zzzzzyzzzyy{z{zzzyyyyyxyyyyyz{yyzz{yyyyyzyyzzzy{z{zzzyxyyyyzzzyz{yyyyyyyzyxzzzzzzzzyyyzxyyyzyyyyzzzyyyyyyyxzzzyzzzzyxzyyzzxy{{zyyyyy{yyyyyzyzzyzyzzyyyxxyyyyzyyzz{zyyyyyyxxyyyz{yzyyyyyxyyyzzzzzzzzyyx{yyxxxzyyyzzyzyzyyyyyxzyyzzz{yxyzyyyyzzzyzz{yzyzyzyyyzzzyy{zzzyzyyyyz{z{zz{zzyyyxyyzyyz{yzyz{zzyzyyzzzzzzzzzzzyzyyyyzyz{zzz{zyzzzzzzzzzyzzyz{zyzzzzzzzyzz{z{zzzzyzzzzzzz{{zz{zzzyzyyzzzyzzzz{{zyz{zy{{{zzz{z{zzzzzz{{z{z{{{zzzyzz{zyzz{{{zz{{zzzz{yz{zzzz{|zzzxzyzy{zz{z{{{{zz{yzzzy{z{z{{{{{zz{zzzzyzzz{z{{zzyyyzzzz{z{zz{{{yy{yzxzzzzzy{zyzyzyyyyxyyzzyzzz{yyyyxxzyxyyzzyzyyyyyyyyyzzyyzyzz{xyyzxzzyzzzzy{{yyyzyyyyzz{zy{{yyxzyxyyzzzzzz{yzyyzyzyyyyzzyy{zzyyyyyyyyyyyzzzzzyyxzyyyyyyzzzyzzyyyzxzyyyyyzzy{zyyyyxyzyz{y{yzzyxyzzyyyyy{yzzxyyyyyyzxyyzyzyyy{zzzzyyzyyy{zzzzz{zzyzzzyyzz{zzz{{yxyyyxzzz|yz{zz{yyzyzyyyzzzzzzyz{yyzyyyxzzzzzz{zyyyyyyzz{z{{zzzzzzzyyyyyzzzzz{zzzz{yzyyz{{{{z{zzzzzyzz{zz{zyz{zzzzzzzzx{{{{{{z|zzzzz{zzz{z{{|{z{{z{zzzzzz{z{{{{z{zyzyyzy{{{{{{{z{yzzzzzzz{{{{zz{z{zzzzzzzzzz{zz{{y{zzzzz{{zzz{{zzzzzzzzyy{{zzz{{zzyyyyzzyzz{y{zzzzzyzxyyz{z{zzy{yyxyzyyxyy{yx{y{yyzyzzyyzzzzzzyzzyyyzzyyyzzz{yzzyxzyzzyyzzzzzy{yzyyyyyyxzzyyzzy{zyxxyzzxyzyyy{zzyyyyyzyyzzyy{zzzyxzyxzyxzyzzyyzzxyxyyyzyzzyzzzzzyxyyyyxzyyyzyzzzyzzzxzzxzzzzzy{zyxyyyxyyzyxyyzyyzyyyyyyyy{zzzyzzyyzzyzyxyyzz{zzyzyyzyyyzy{zzz{zzzyzyyyzyz{yyyzz{zzzyyyyy{z{yzzzzzzyyzxyyzz{zz{|y{zyyyyzyzz{z{z{yzzy{yyzz{zyz{z{{zyzyzyzzzzz{{{{zyzzyzzzy{{y{z{{{z{zzyzzz|{|z{{zz{zzz{yyy{{{zz{{zzy{zzyzzz{{{{|{{|zzzzzzzz{||z{{{yyzzyzzyz|{zz{{{{zzz{zzz{{zzzzz|zzyz{zzz{z{{z{{{zzzzzzy{{{{z{y{{{zzzyzzzzzz{{{{y{yzyyyzyz{zzzzyzzyyzzyyxyyzzy{z{zzyzyyzyyz{yz{zzyyyyy{xy{zzyy{zzzyyzzyyyzzz{yzzyyyyyyyxyyzzzzzzzyyyzyyzyz{yzzz{zyzxyzxzyzzzzyzyzyyzyyzxzyzzzzzy{xzzxyyzyyzyyzy{zyyyyxyyyyyzyzzzzzyyxyyyxyz{zzzzzyyyyyyxzzz{yzzyyzyyyyyyyx{z{yzz{zzyyyzyyyzz{yz{zzzyxzyxyzzzzzzy{zxxzzyzxyzzyyzzzzzzyzyyzyz{yz{{zzyzzzyzyy{{zz{{{zyyyzyzzzzz{{{zzyyyzzyzy{zz{zzzzzyyyyyzz{z{{z{zzzzyyyzz|{zzzz{{{{zyzzzyyzz{zzzzz|yyy{{yz{{zzzz{{{z{zz{zzz{{{z{z{{yzzz{zzy{z{{{{z{yz{zyzz{{{|y{zyzyzzzzzz{z{z{z{{y{zzzyzz{{zzz{zzz|zzzzyzzz{y{z{{z|yzzyzz{zz|z{zzyzzxzyzzyzz{zzyzyyyyyxyyyzzyyyzzzzzzxxyxzzzzzzzz{zyyzyzzyzyyzzz{yyyyyyyyzzzzyzy{yzyzyxyyyy{yzzyzyzyyyzzyyzzzyzz{{zzyyyzzzzzyyzzzxyzxzyyyzzyyzzzzyxyzyyzzzyyyzz{yyxxzxyyyyzyy{yzzzzzxyyzyyzyzzzzzz{xyyyyyyzyzzzzzzyyyyyyyxzyy{zyzyzyyzyyyzyzyzz{zzyyyyyyzzzyyzz{zzzzyzyxyzy{yzzz{z{yzyyzyz{zzzyz{zzzzyyzyz{yzz{zzyzyyyzyyy{yzzz{zyyyzzzzzz{{zzyzzzyzyzzzzzzz{z{zzyzyz{zzz{{{{z{{z{z{{{zyzz{{z{z{zzzzzzzzzz{{{{{z{z{yzzzzz{zzzzz{{zyzyzzzz{z|{{z{{{yzzzzyy{zz{{z{z{yzzyyyzz{z{z{{{{zz{zyzz{{{z{{z{z{zyyyzzz{{z{{|{zzyyyy{xz{z{{z{{yyyyzyyy{yzzzzz{yyxzyxyyzyyzzzzzzxyyyzxzyzzzy{zzzyzyyyyyzzzyz{{{yyyyzzyzzzzyzy{{zyzyyyyyzzyzzzzzzyyyyyyxyzzyzzzzyyyxxxyyyzzyzyyyzyzyyyyyzzyyyzzzyyyxzyxzzy{zyzyyzyyyyyxyyz{yzy{zzyyyxyzzz{yzzzzzxyyyxyzyxyyzzyyyxzyyyyyyyyzzz{{zyzyzyzyzz{z{zzzzyyyzzxzzzz{zzyz{zxy|yxyzzyzzzzz{zyzyzyyyzzyzzz{zzzyzyyyyzzzzyzzzzyzzzzyyz{zyzzzzzyzyyzzzz{zzyyyzzzzyy{yxzzzz{z{{zyzyzy{z{zzzzz{{zzyzzyyzzz|{{zz{zz{zyyzyz{zz{z{{zzzyzzz{z{zzz{zzzxzyzzz{zzz|{zz{{zzz{yyzy{z{zzz{{zzzzzzz{{{{{{||{{yz{yzyzzyzz{{zzzzzy{zzy{zz{{{zzzyyzyzzzzzzzz{{zz{zyyxzy{{z{{yzyyzzzzzyy{z{zzzzyyyyzyyyzyyyzz{{zyzyzyyxzz{xz{{zyzyyyzyyyy{{yz{{zyyyyyzxyzzxzzy{yyyyyxyxyzzxzzyzzyzyyyxzyz{zy{y{yzzxyyzzzzyzzzzzyyyxxyxyyzzz{z{{yzyzyzxzyyyzyz{zyyyyzyyyz{{zzzzzyzxyxyyyyzyyzyyzzzzxyyzyyzzzz{zzyzzyyzyyzzzyzzzzzz{zzyzyzzzz{z{{{zzyyyyzzzz{{z{zzyyyyyxz{zzyzzzzyyyyyyyzz{zzz{zzzzzyyyzyzy{{y{{{zzyzzzzz|z{yzzzzyzyzzyxzy{z{{z{{zzzzzz{zzz{z{zz{{zzzzyyzz{|{z{{zzzzzzzzzz|zz{z{zzzzzz{{zzzzzzz|{{{zyzzzz{{{{|{|{z{{{yy{z{z{z{|z{{yzz{{yyz{{{|{z|{{zzzzz{{{{{{{{{yzzxzzzyz{z{{{{zy{{yyyyyz{{{y{{{zyzxyzzyzyzzz{zyyy{yyyzy{yzzz{zzyyzzzyzyzyzzzzz{zzyy{zyyyz{zyz{zzyyzzyyyzzzzyxzzz{yyzxyx{{yzzzzzzyzyyyyyzzzzzzzyyzzyyyzyzy{zyzz{yyyyxyyyyzyyzz{{yz{yxyzxyzzzyyz{zxyzyxyzzzyzzzzyyzyyyyyyzy{yzz{zzyzzzyyyyzzzzzzzyzyyzyzyyyy{zzzzyzzzzzyyyzz{z{{z{zyyzzyyz{zz|z{{yzzzzyzyzzzzyzzzzyz{y{zxz{zzz{z{zzyyzyzyy|zzz{zzyy{zzzzyz{zzzz{{zzzz{yzzzz|zzzzzyyyzzz{z{z{z{zz{{zyz{{zyzzzzz{{{zzz{{yzzzz{|{zz{{z{z{{zz{{{z{{z|{zyzzz{zzzzzzz{|{zyyzz{zz||{{{{|zz{zzzzz{z|zzz{{{yzzzyzz{yzzzz{{zzzz{zzzz{z{z{z{zzzzyyzzzzzz{z|{zzyzyz{zz{{z{z{{yzzzyzzyzz{zzyzzyyyyzyyyzz{yzyyzzyzxxyxyyzyzyzzzzyyzzzzyzzzzzz{zyyyyyyyzzzzzzz{zzzyzyyyxzz{zzzyzzyyxzzyyzzzyzzzzyzyyyyzzyyz{yzzzzyyyzzzyyzzzzyz{yyyzyyyxyyzzzzzyyyyzyzyzyyzzzzzyzzzzyyxzzzzzy{zzzyzyxzxzzyyyzzzzzzzyzyyzz{yzyzzyyyyyyyyzyzy{yzz{yyyzyxyzz{z{yzyzyyyyyyyy{zzzzzz{z{yzzyzzz{zzz{z|zyzyyyzyyzyzyzyzzyzzzzzzz{zyz{{zzyyyzy{y{zzzyzzzzzz{zzzyzzz{zz{zzzzzzzzzz{{{{{z{yzzzzzxyz{{{zz{zzzzzyzzz{zz{{z{{zyzzz{zy{{{{{z{{zy{zzzyzz{yz{{z{zyzzyzyzzz{yzy|{zyyz{zzy{zzzz{|{z{zz{zz{{{{{{z{{yz{yzy{zz{{{{{{{zzyzzzyyzz{y{zz{yyyyyyzyzzzzyzzz|yzzyyyyy{zyzzzzyzyzyyyy{zzzzz{{zyzxyyzyyyzzz{z{zyzzyzyyxzyzz{{zzyzyxyyyyzz{zzzzyyyyzyyzzzyzzzzzyyzxzzyyy{zzz{z{zyyyyyyy{yzzyzz{yyyxyxzxyz{zzyz{zyyyzzyzyzyzyzz{zzyzyxyzzzz{zz{{zyyyyyyyzzzzyzyyyyxyyxyyxzzzzzzzyyyyyyyyyyyyz{{z{yzyyyzyzzzyzzzzzzyyyxyzzyzzzzyzzzyyzzzyyz{yzz{z{yzzzyyyyzyzz{zzyzzzzzyzzzzy{{zzzyzyzyzzzz{y{|zzzzyzzzyyy{z{{{{zz{zzzy{zz{z|zz{zzyzzzyzyz{z{{z{zzyzzz{zzz{{{{{{{yy{zyzzzy|{|z|z{zyyz{yz{z{z{{||z{zzzzzzyz{{yz{{{yyzyyzzz{zz{zzz||zz{zzzz{{z{z{z{zyzyzzyzz{zz{z{{{zzzzzzyy{z{zz{zzz{zzyzyzzzzyzyzxywyyyyxzzzzzz{zzxxyxxyyyzyzzzzzyyyyyzyyyzyz{zzzzyzyyyyy{zz{yzyzzyzyyzyxzzyyyzyzxxzxxyyyyyyyzzzyyyyyyyyyyzyxyyzzxxzyzyzyyyyzzzzzyxyyyyyzyyyy{yzzzyyxyxyyzz{zzzzyzxyxyzyzyzz{zyzzyxyyyxzyxyzzzzzyzyyyyyyzyyyzyyz{yxzzxyyyy{yzzzzy{zyyyxzyzzzzyzzzzxzyyzzyyzzzzyyzyzyzyyyyzzzyz{zzzyzzzxzxyyzzzzz{yzyzyxzz{y{zyz{yzzxzxzyyzzz{zyzyzzzz{y{zzz{{{z{{zzzzzz{zzzy{z{{{y{zyyyyyzzz|{zzz{zzyyyyyz{{zz{z{yz{yyzzz{zz{z{{{{zyyzzyzy|z{{{{zzyyzzyyz{zz{{zz|y{zzzzyz{z{zz{z{{zz{zzyz{z{zzzzz{zxzzzyzzyz|{{zzzzzzz{zyy{z{{zz{zzyzyyzzzzz{zzzzyxzxyxzyyz{z{zzzyyyyzyyxzz{zzz{yzzyyyxzxy{z{z{{zzyyyzyyyy{zzzyzzyyzy{zzyzyzzz{yzzyyyzyzyy{yyyyzzyyyzyzyyzzyyyzyyzyyyxzxyzyyzyzyyzyxzyxyyzzyyzyzzzyyyyxyzyyzyzyzyzzzyxyyyzyz{zzzzyzyyyzyyyyyzyzzyyyyyyyyyz{yzz{{zyxzyzyyyyzzzzz{zz{yzzyxy{zzzz{z{zyyyyyzzyzzzyzzzzyzxyyyzy{zyyzz{{yyxzy{yzzzzzzzzzz{yxyzyzzzzz{{{xyyyyyzy{zz{zzzyz{zxzyyzz{{zy{{yzzyzzzzy{zzz{zzz{zzzyzyzz|zzz{{y{zzzyyzyz{zz{|z{{{zzy{{zzzzzz{z{zzzzyyzzz{zz{{z{{yz{zzzyzz{{z{y{{zyzyzzz{{{z{{{{{zyzzz{zz{z{|{z{{zzyzzzyz{z{{z{zz{zyyyzyz{z{zzzyzyyyyzzyzy{z{zxxzzxyxyxzzzyyzyyzyzzyyxyyyzzzzzyzzyxyzxyyzyyyzz{zzzzzzyyyzzzyyzzzzyyyzyzxzyzyzyz{zyyyyyzz{y{yyzzzyyyz{yxxyyyyzzzzzxxyyyxyzzyzyzzzyxyyyyyxzzyzzyyzzyyyyyxyyyyyzyzyzyyzyyyyyz{yz{{zzxyzzyzyzzyyzzyzyzzyxyzzyyyzyzzzzzzxyzzxzyyyzyz{yxyyyzyyyzzyzzz{{yyzyxzzzzyzzyzzzyzzyyyz{zzzzzz{zyyyxyxyyzyzzyyzzzyyzyyzyz{zyy{{zzyyyyyzzzz{{{yzyyy{zzyyzzz{zzzzyyy{zyyzzzzzz{{zzzyyzyyyzyzzzz{zzzyzzy{zzz{z{zz{yy{{zzzyzz{z{{{z{yyzyz{zy{z{{|{{zyyz{zzzyzz{{{{z{zyzzyyzz{{z{{{{zz{zy{{zy|{{z{zz{z{yzzzy{z{zyzz{yz{zyyyxy{{zzyzyyyyxxxzzzzzzzzzzyyxyyyxyyyyyzyzzyzxyywyyzzyzyz{zzzyxyyyyyyzyzzz{yyzyyyyzyzzzzy{{zyzyyyyyyzzyyyzzyyyyyyxyyzzzzzyzzzzyyxzyyyzyyzzyyyyxxzxxzzzyyy{yyyyyyzzyzyzyzzzzyyyyyyxxzyzzyzz{yxyyxyyyyzyzzz{{yyxyyzyxyzyzyyyzzyxxyyxyzzyyyyyyzyzzzxyyyzzzyz{zyyyyzzyzzz{yzz{{zyyyyyyyzzzzz{yyyyzyxzyyzzzyyzz{zyyyyyyyy|y{yzzyzzyxyyyyzy{zzz{zyyyzyyzzzzzyzy{zzyzyzzyyy{{z{{z{zyzyyyzzz{z{z{{{yyyzzzyyzyzzzz{zyyyyyzzzzzzz{{z{zzyzzzzyzy{zzzzzzz{y{z{zy{z{z{{{zxzzzyzyzy{z{y{zzzyz{zyzz{z{{{zzyyzzzyyz{{z{yzzzzzyy{zyyzzzzy{zzzzzyyyzyyz{zyzzzzyyyyxzxyyyyzyyzyyxzyyyxzzyyyzzzzyxyzyyxzyz{zzzzyyyyyyzyyzzzzyzzzzzyyyyxzzz{yyz{zyyxyyyyyz{zzzzzyxyyxyyxy{yzyyzzyzyyyyyxzyyzy{yzzyzyxxyyzyyyzzzzywyxxyzxyxyyzzzyzyyyxzxzzy{zzzyyzyyyyyxyyzyyzyy{yzyyxyyyyyzyyyzzzyxyyyyxyyzzz{z{yxzzyyyyzzzzyyzzzyyzyxyyy{yyzzzzyyzzyyyyzyyzzz{{yyyzyyzzyzzzzzz{yyzyzyyyzzzzz{zzyxzzzzy{{zzzzzz{yyyzyzxzzzzyzyyzyzzyyyyyzzz{zzzzz{zzyzzzz{y{{|{zzyyzyzyzzzzz{|zz{yzyzzzyzzzzzz{zzzyzzzyyz{yz{zz{zzzyyzyzz{{{{zz{zyzzyzyzzz{|zz{{yzxzyzyzyzyzz{{{{zz{{zz{{{z{zz{{zzzyzyyzzzz{zz{{zyyxyyyzy{{{yz{zyyzyyyzzzyzzz{yyyywxzyzyyz{zz{zzyyyzyxyyzzzyyzz{yzyyyyyyzzzzzzz{zyzyyzxyyzzzyz{zzzyyyyyyyyzzzzzzyyyyyyzyz{{yz{yyzxzyyzxyzzzyyyzzzzzxyzyyzyzyyzzzyyyyyzyyyzyyyzzyzyyyyyxyyzzzzzzyyyyxzxyxz{zzzzyzzyxyyxzxyzzyyzyzyzzxyyyyy{zzzzzzyzzxzzxyzzzzzzzzyzzyzyxzzzyzzyzzyzyyyxzyyzzyzzzzzyzyzyyyyzzyyz{zzyzyyyyy{zzzzz{zzzzzyzyyzz{yzz|zzyyyyzz{zzzzzzzzyzyyxyyxz{zz{zz{zzzyzy{zzzz{yz{{{zxyzzzx{{z{{{{z{zyz{yzz{z|yzzz{zyz{zzz{y{{{{|{{{zzyz{{zz|{{zz{{{zzzzz{z{{z{{{{{zyzzzz{zzzyzz{{{zzzzzyyz{zz{{z{z{zyyzzzzyzzz{{{{zyzyyzzx{zz{{{{{zyyz{yzyzyzzzzyzxyyyyyyyxzzzzyyzzzyxyxxzzzyzyzzzzyyyyzyzzzzzz{zzzyzyxyyzzz{{yyzzzxzyxyyx{zzyxzzzzyzyyyzxyzyzyzzzyyxyyzzyzzzzyzzyyyzyyyxyzzyzzyz{yyyyyyyyyyz{zyzyzyzyyyyyyyzyz{{yxyyzxzxyx{yxy{zzzzyzyxyyyyzyzzzyzyyyzyzyyzzzzzzyzyzzzzyyzzzzzzyzyyyxyxzyyyzyzzz{zyzyyzyzzzzzzzzzzyyyyzyyyzzyzy{{zzzzzyyzzz{zzzyzyzy{zzzyyz{{yy{zzyyyyyzyy{zz{z{zyzzzzyyzzyz{zzz{zyzzzzz{zzz{{{{{zzzyzzyyz{zzz{{z{yyyyyzyzz{{|{{zyzzzzzzzz{zzz{z{yzyzy{yyz{{zz{z{zy{zyzzzzz{zzz{{zyzyzyyzzzz{{z{{zzzyzzy{zzzz{{|zzzzzzyzzz{zz{{|{zzyyyyyyz{yzzz|{yyzyzyzyyzzzzzzzyyxyzyyyyzzzyzz{yyxyxyxyzzy{zzz{zzyyyyyx{zyyzzzzyyyyzyy{zzz{yyz{zxyxyyzyzzyzyyyzyyzyyyyyyzyyxyzy{yyyyyyyyyyyyzzyyyyxyyxyyxzyy{yzzxyzxzyxyzzzzy{yzyyyxxxyzyyyzzzzyyzyxyyyyzzzzz{zzyxyyzzyyyyyyzzzzzzzxxyyyzyyyzyzxyyyyyyyzzy{zyzzzyzzzxyyz{zyz{y{yyzyyyzzzz{zzzzzyyzzyzxyzzzyzz{zzyyzzzyxyyzzzz{yyyyyyzzxzzyzzzzyyyyz{yyyzzzzyzzzzy{yzyyyz{z{zzzzz{zzzyzyzyz{{{z{yzzzzzyy{{zz{z{y{yzyyyzzzz{z{y{zzyyzzzzz{zzz{{zz{zzyzyyzzzzzzz{z{yzyyyyyz{{{z{{zzyyyzzzy{zzz{zzz{z{zzzzzzz{|{{{{zzyz{yzzzzzz{{{{zzzzyyzyzzy{{{{zzyyzzyyyyz{z{yzzyxzyyzyxyzzzzy{zyxzzyyyxyz{zz{{{zyxzyzzyzyzzzy{zzyzyzyyzyzzyzzzzzzzyyzzyyyzzzzz{zzyyyyzyyzz{yzzxyyyyzyxyzy{yyzzyzzzzxyyyyzyzyzyzxyzxyxyxzzzzyzzyyyxyxyyyyzyy{{zzzyzyyyzzyzzz{{{zzyyzxyyyyzyzyzzzyzzyyxyzyyyyyzzzyzzyyzzyzyzzz{zyyzzyyyzzzzzzzzzzzyzzyyyyzyzzz{zyzyyyyyyxz{{z{yzzyzzzzyyz{zzzzyzyyyzyzyyyzz{z{z{{zzy{zzzyyzyzyz{yzyzzzzzzzz{z{{{{yzzzzyz{zzzyzz{|zz{zyyzyz{{z{y{{zzzyyzzz{{{zzz{zzzzz{zy{zz{z{{{z{yzyy{{zz{{{z{{|zyzzzyzzzz|z{{{zzyz{zy{z|z{{y{{{{{yzz{zzz{{zz|{{zzzyzyyy{zzz{|zzy{zyzzyyz{{{zzzzzyzyxyyzxzyy{zzzzyyyyxyxyzyyzzzzyzxyxyyxyyzyyzy{zyzyyxzxyzzxzzzzzyzyyyyyy{yzzz{zyzzxyxyz{zzyyzzzyyyyyxxyzzzyzzyzyyyyxyyyzyyyxyzy{xyyzxxyzyzyzzyzxxzyyyyxyzzy{z{yz{yxxyxyyzzzzzyzzxyyxxyyyyzzyzzyyyyxyzyyzyyxyzzyzyzyyxywyyzyyy{{yyyyyyzxyzzzzy{z{yyzyxzyzzz{yyzyyyyyyyzyyzzzzzzzyyyyyzyyyzzyzzzyyyzyyyzyy{zyzzyzzxzzyzyxy{zz{z|zzyzzyyzyzzzzz{{{zyzzzzyyzz|z{{{{yyyyzyyz{zx{zz{{yzyyyyyzzzzzyzzzzyzzzyzy{z{zzz|{{yzzyy{zyzz{|{z{{yz{z{zyz{{{zz{z{yzzzzzy{{zz{{y{zyzzzyyyzz{z{{z{zzzyzyzy{z{zzz{zzyyyxzyyy{z{z{{yzzzzyzzy{{{{zzzyzyzyyyxyz{zzy{yzyyyyxyyxxyzyyzzzzyyyyyyzzyyy{z{zzyyxyyyzzyzyzyz{zyyyyyyyzzzzzyzzyyyyxyyxyyzzyyyzzyyyyzyyxzzyzzzyyyzyzxxyyy{zy{zzyyyyyyyzzzyyzyyzxyyyyxyyyz{zyxzyyyyxyyxzyyyzzzzzyzyyyzxyyzzzzyzyyyyyyyyyyzyzy{zzyzyzyyyxzzyzzzyyyxxyyyxyzyzzzzz{{zyyyyyzzz{yzzyz{xyzxyzzzzz{zz{yyyyzyyyyzzyzyzzzzyzyzxyzzzzzzz{yyzzyyyyzzz{zzzzz{zyyyyyyz{zyzzzzzyzzzzyyz{zz{z{{zzyzyyyzz{zzz{{z{zzyzzyyz{zyzz{{{zyzyzyyzz{zzz{{zzzyzzyyy{zzzz|zz{z{yzyzz{z{z{z{zzxzzzz{zzzzzz{z{yzz{{zzz{z{{{{{{yzzzzzzz{z|{zzzzzzyzyyzzzyzzz{{zzzyzzyyzzzzzyz{yzzyyyzz{{yzzzzyyyxxzxyyyxyy{zz{ywyyyyyzzyzzyzzzzyyyyyyxzzzyzy{yzzzyzyyzzy{zyyzzyyyyxyyyyyzzyyyzyzzyxzyxyzzxzyzzzxxyyyyyzyyxyyzzzyzyyyyyzxzzyzyyyxyxyyxxzzyyyzzyzyyxyyxyyzyzyzzyyzyyzxyyyzyzyzzyyyyyxxyyyzyyyyyyyzyxyyxyyzyzyzzyyyyzyzzxzzzzzzz{zxzyyyxyyz{{zz{zzyy{zyzzzyzzyzz{yzyyyzzyzyzzzzyzzyzyyzzyyzzzzzzzyzzxzyyzyzzyyz{zzyyzxzzyz{zzz{zzyzzzyyxy|z{{z{zzzzyyyy{z{{z{yz{zyzyzzyyx{{z{z{{zzyyzzyzzz{zz{{z{zzz{zyyyzzzz{z{z{z{zzyzy{z{{zz{zzzz{yzzzzzzzzz{yy{yzyzzzzzzzz{{{zzyz{yzz{zz{z{{zzyyzzyzyz{zzzz{zzzyzzzyzzzzzz{zzyyyyyyyyy{zzyzyxxzxyyyzzzyzxyyzyyyyyyxyyzyzzzzzzzxyyzzyx{zz{z{zzyyzyxzzzyz{{zy{zyyyyyyzxyyyzzzyyxyyyyyxxzxzxxzzzyyxxyyyxyyzyzzyyyyzyxxyxzzyyzzzzxxyzyyyyzyzyyzyyyxyyyywyzzzzyzzyyxyxxyywyyy{yyzzyyyxyyyyyyyyyzz{zyyyyyxxyzzyzyzyyyyyyzyyzzzzzyzzxzxyyyyyzzzyyyzzzyzyxyzyyzy{z{y{yyxyyyyxzzzzzzzzyyyyzxyyyzzzz{zzyzzxzzyzzz{zzzzzzyzyyzxyzzyy{zyzzz{yzz{yzzz{{yyzyyzzzyyzyzzzzz{zzxy{yyzxz{z{zz{zzyzyzzyzzz{zz{z{yzzzzzzyzzzzz{z{zyyyyzzzz{{|{y{{zyyyzyzyz{z{{{zzzzzzzyzzz{zz{zz{yzyz{yzzyzz{{z{{zzyxyzzzyy{zy{{zzzxyyyzyzzyyzyzzzyyyyyyyzzzzy{zyyyxyyxxxyz{zyzzzzzxxyyzyzyz{z{zz{zyyz{xzzzyz{z{zzxxzzyyyz{zyzyzzzyxxyyzxyzyzzzyzzyyzzzyyyyyyzyzyyxyyzxyxzz{yzzyzyxyyxyyyzyzyyyyzyzyyyxxyzy{zzyzzzyyzzxxyzy{yz{{zxxyyyyyxy{zzyzyzzyyyyzyyyy{zyzzzzyzyyyyzyzyyz{{zyzyyyzzyz{zyz{{{zyzyyzyzzzzz{zy{zyzzyyyzzzzyzz{{yyyyyzyx{zzzzz{zzzzyyzzyyzz{z{zzyyyzyxyyyz{zzy{yzzxyxzzyy{z{zzzzzyzzzzyzzzz{|z{{yzzzzzzzzzz{z{{{zyzzzxzzz{zzz|{{{yzyz{yzzz{z{z{{zzzzzzzz{zzz|{{z{zzyyyzzz{{{z{{y{zzzyxyz{{{{zz{z{zyzzzzzzzzzz{zzzyzzzzy{zzzz{zz{{zyyy{zzzyz{z{{{zzzzyzyxyzzzzz|zyyzzzyyyzzyz{zzzyyyxyyzyyyyy{zyz{zzyyxyyyzyzzzz{zyyxyyyyyyzyzz|zyyyyyyyyzyzzyzzyyzxyxyxyzzyzzyzzyyxxxyyyyzyzyzzyzyyxyyyyyzzyyzyyyyzyzzyyzzzzzzzyyyyyxxxxyzyzyzzzzyzzyyxzyzzzzyzyyyzyxyyyyzzzyy{zzyyyzzyyyyyxyyzyzyyyzyyzyzyzzzzzzyyzzyyyz{z{zyzzzyzyzyzyyz{zzzz{yyzzxyzzzzyyz{zyyzzyxyyyzzzy{zzzyyyyzyzyzzzzzz{{zyyyyyyyyzzzzzzz{yzzyyzyzzzzz{zzzzyyx{yyz{{z{{zyyzyzzzyy{{{|z{zzxyzyzyyzzz{z{{{{{zyzyxyy{{{{z{{{zzzzz{z{z{zy|{zzzyzzyyzzy{{{{z{{zzyyzzzyzzzzz{zz{zyzzzyzzzz{{{{{{zzzzzyz||zz{z{{zzzzyyzzzzzz{z{{{zyzyyyzyzzzy{zzzy{y{{zyy{yzy{yyzyyxxyyxyzzyzyzz{yyyyy{yzzzyy{z{zyyxyxyzy{zz{{{yzzzxyyyzzzyzxzzyzyyyxzyyzyzzyz{zyyzyxzyxzzyyyzzyzyzxyyyyyz|zzyzzyyzzxzxyzzyzxzz{yyyyyxxyyzzzyzyyzyyyyyyyyzzzzzyyzyyxxyxyyzyzzzzzyyyyyyyyx{zyzzyzzyyyyxzyzyzyzzzzzxyzyyzxzzzyzzz{yyyzyyzzyzyz{zzzzyyzzyy{zzzzz{zzxzyyyyyyzyzy{z{z{yzzzyzxzzzz{z{zzyzxyyxyy{zzyyz{zzzyzzyzy{zy{zyz{yzzzzzzzz{zz|zyyzyyzyzz{{z|zzz{zzzyzzyzyzzy{zz{{yzzzzzy{{zzz|{zy{zzz{zzzz{zzy{{zyzyzyz{zz{{z{z{yzzzyzzzzzzzz{z{zzzyzzyz{y{{z{{{{yzzz{zz{zzz|z{zy{yzyyzyyzy{y{|{zyyyy{zy{zyzzzzzzyyzzyzyyzyzzzzyyxyxyyyxzzzzyyzzyyzyzxzyyz{y{z{{zyyyyxzxzzyyzzz{zxzzzyyy{yzzyz{{xyyyyyzyzyzyyyzzyyyzzxyxy{yzyzyzyyyyyzxyyyzyyyzzyyyy{yxxyzyzzyzzyzyyyxyxyyyyzzzyzyzyxyxyyzzzzz{zyyzyyyxxzzzzyyzyyyzyyyyyzyyzzzzzyyzyxyzyyzyzzzzyyyyyy{yyzzzzzzyyzzyyyyyyzzzzzzyzzyyzxyzyzzzzzz{zyyzzyyzzzzyzyyz{zyyzzzzzzzz{z{zzyyyyyyyxzzzzzzz{yyyyzzyzzzzzz{zyzyyzzzzzz{z|z{z{zzyzyyy{{zz{zzz{zzzyyzzzyzz{{{|{{z{zzyzy{{z{zz{zzz{zz{{{{zy{z{z{zyzzzzzyy{{z{{zzzzzzyzz{zz{|z{zz{yyzy{z{{z{zz{{zzzy{zzzzz{{zzy{{zzyyyyyzzzzzzz{zzzzzxzzyz{yzzz{{yyyxyzzyz{z{zzyzzyxyxxyyy{yzyyyzzyyyyxyyz{{yyyz{zyyyyyyy{yzz{z{yzzyywyzyzzz{yzzzyyyxyzyyyyzyy{yzyzyyxyyxyzyyyzzyzxzyyyyxyyzyzyzyzyyyyyzx{yyyyzzyyyyzyyyyyzzzzyyyyzzzyyxyyzzyzyzzyzyzyyyyyzyzxyzzyxzyyyyyzxyyzy{{yyyxyyxxyzzzzz{zyyyyyyxyzyzzyz{{yxyyyyyyz{yzzyzzyzzzzyyyyzzzzyzzyzzzyyyzzz{zz{z{yz{zyyzyyzzyzzzzzyyzyzyzzzyzzy{zyzzzyyyyzzzzzyz{yzzzyyzzzz{{z{z{zzzz{zyzz{zzy{zzzyyzzzyzzzzz{{|z{yyy{zzzz{{zzz{z{zzyzy{zzzzy{z{zzyzyz{yzy{zz{zzzzzy{zzzz|{{z{{|{zzyzyzyzz{zz{y{|{zyzzzzyz{z{zz{zzyyyzyzz{zzzy{z{zzyyzyzyz{{zzz{z{zxyzzyyzzzzzyyyyyxyyyyyyxyyzzyzyyyyyyyyyzzyzzyzzzxxzzxyzyyyyyyzyzyyyxzyzzzzyzzzyyyyyxyyzyzzyzyzzyyyyyyxxzyyxzzyzyxyyyyzyyzzyzzyyyyxyzyyzyyzyzzzxyyxxyxxyzyyyyzzzyzzyzxyxxyyyxzzyxyyxzxzzyyzzzzzyyyyzxxxzzyzzyzzzyyxzxyxzzzyzzzyyyyxzyyxzzzzyz{zzyyyzxyyzzzyyzyzyyzyyyzyyyzzz{z{zyzyyyyzzy{zzz{zyyyxyyyxzyzzzzyyzyyzyyyxyz{yzyzyzyyzyzzzy{{zzzzzzzyyyzyyzyz{{{{zzzz{zz{z{zzzzz{{zyyyyyyxyz{zzz{zzyyzyyzzz{zz{zzzzzzyyyzyz{yzz{{zzzzzzyzyyzzzzzzzzz{zyzzz{{{{zz{z{zzyyy{zzzz{zz{zzzyzzzzyzzzz{|y{yyyyyyyyyyzzzz{{zzzyy{zzzz|{zzzzyyyyyyyxzyz{yzxzzzxxxyyyyyzyyyzzyyyyyxyyzzzyyzzzyxyyyyyxyxyzyzzzzyzyyyyz{zyzzyz{zzyxyyzyzyyz{yyzyyzyzxyxz{zyyzzzyzyxyyyyyzzyyzzzyzyyyyyyyyzyyzz{yyyyyyyyxzzyzyzyyyyxxyxyzzzzyyzyyyyyyyxyzy{zyzzzzxyyyyxxxyyxzzyyyyyyyxxxzyyzzzzzzyyxzyyxyyzzzyzyzyyyzxyyzyzzzzzzzxzyyyzyzyyzyyyzyyyyzyyzzzz{zzzzyyzzyyyyyzzy{zzyxyyyyyyzzz{zz{{yyzzz{zyzzzyzzz{zzzzzzzyzz{z{zzz{zyyzzz{z{zzz{z|zzzzyyyyzyzzzzz{zyyyy{zyz{z{y{z{{zyzyzyzzyzzz{zzzyzzzzzzyzz{{{yzzzyyzzzzzzzzzz{zz{yyzy{yz{{{z{{{zzzzz{zzz{{zzz{z{zyyyzyzzzzy{y{{zzy{yyyzyy{zz{zzzyzzyyyyyzyzzyz|zyzzxyyxxyzyxzy{zyzxyyyxyyzzyyz{zyxzyxzyxyyyyzzzzzxyyyyyyzz{zyyzzyyzzxyyxzzzy{zzyzyyzyyyyy{zzyzzzzzyyxzxx{zyyyzyyzyzyxyyzzyyyz{yyyyyyyyyyyzyzzz{zzyyzxyyyyzzzzyzzzzyyyzxyzyz{zzzzyzzzyxyxyyxyzyzzzxzxyyyyyyyyyzzzyyyyzyyyzzz{zzzzzzzyzzyzyzzzzyzzzyyyyyyz{zzzzyzzzyyxyyzzzzzzzz|zzzzzyyzyz{z{zzzyzzzyzzzyzz{z{z{zzyy{zzzz{zzzz{z{{zzyzzzy{{z{{z{zzzyzzzzzz{z{{z{{z{y{{yyy{z{{{z{z{zyz{{zz{{z{yzzz{zzy{z{zyzzzzzzzzyzyz{zzz{{zz|{zzzzzyzzzz{{{zzzzzzzzyzy{zzz{{{z{{{yzzyzzyzzzzz{{zyyyyyzzyzz{{{{{y{zyyzzzz{z{z{{{zzxyxyzzzzzyzzyzxyxxyyyyyzzyyyyzzyxyyxxyyzzzzzzyzyyxzyyxzyyzzzyz{yxyyxxxyyzzyyzzyyyxyyyyzyzzzzzzyyyyyyxxyyzxyy{yyyzxyxyzyyzzyzz{xyxxyyxyyyyyzzz{yyxyyxyzzyyzzyzyzyxyyyyyyyzzyyzyzzyxxxyyyyzyzyzzyyyyyyyzzzyyyyy{yyyyyxzxyzzxzzzyyxyyyyzyzzzzyzzyzyzzyyyyz{zxzyzzyyyzyyzyzzyzz{{zyyzyyyyxzzyyzzzzyzyyzyzyz{zyz{zzzzzyzxxxy{{zzz{yyyyyyzyzzyzzyzyyzzzyyzxyzzzzzzzyzyy{xyzy{z{{z{z{zzz{yzyyzzyz{zzzyyyyzyzy{{zz{z{zzzzzz{|yzzz{z{zzzzyzyzzyz{{{{z{z{z{{yyyyzzzy{z{{{zy{zzzz{z{zz{{zzzzz{zzy{zzz|zy{zyyyzzyzy{zzz{{{zzyyzzyyzz{zzz{zyyzzyyyyyzzyyzyzyyxyxxwxyyzyyyyzyyyyyyyyyzzyz{{{zyxyyzyyyyz{zz{zyyyzyxyyxyzzxyzzzzxyxxyyyzzzzyz{zyyxyxyyyzzyxyyzyyyyxxyyzyzyyzzzzyyyzyyyyyyzyyzzxxyxzxyyyyyzyyzzzxxyxyyyyyyy{zyxzxyyxwyxyzy{yx{{yxyzyxyyyxzyyzyzzyyyyyxyyyyyzyzyyxyyzyzyyx{zzz{yyxyzxyyyzzz{y{{zzyyyyyzyyz{z{zz{yzyyzxzzzzyzy{zzyyyzxyzxyzyy{{{yyzyyzzyxzy{zyz{yzyzyyzyy{z{zz{{{yyzzyzzzzzzzzzz{yyzyyz{zzzzz{z{{zyzzyyyx{zzzz{zzzzzzyyzzzz{zzzzzzyzyy{zzz{z{{zz{zzy{zzzzz{{{z{z{{zzzzzzzz{z{z{{z{zzzzzzzz{zz{z{{{z{zzyyzz{z{{{{{zyxyxzzz{zz{z{{{zyzyzzzyzzzzzzzzyxyzyyyyyzzyyyyyyyxyxyyxyyyyzyzzyxxxyxyyyyyzzzzyyyyxyyyxzyzyzzzy{zyyxxyxyyzzzyzzyyyyxyyyyzzyzzyzxyyxyyyyyyyyzz{yzyyyyxyxzyzyyzyzyxxyxyyxzz{yyzyzxyxxyxyyzzzyzzzyzxyyyyxxyzzyzzzyyxyzxzyyzyzyyzzzyzyyxxyyyzyyyzyzzyyxxyyxyyyxzzyzyxzyyxyyyyzy{zzzzzzyzyyyy{zzzyz{zyy{yyzyzzzzzzzzz{xyxyzyzyyzzzzxyyyyyxzyyyzzz{zyzyzxyzyyzzzzzz{zzxyzzyyzzzyz{zyyzyyzzyyzzyz{zz{{zyzyyyyyzyzzyzzzz{yyyyyzzzzzy{{zzyzzyzyyz{zz{{{zyyyzy|zyzzz{zz{z{yzzyyyzzzz{{y{zzy{zzyzyzz{{y{z{zyyyz{yzzy{zzzz{zyxyzzzzzz{z{{zzyzzyzz{zzzzzz{z{{zzyxzyzy{yzzzzzyyzyzyzzzyzyzzyzyzzxyyyyyzzyyzzzyxxyyyxyyzyyzyyyyyxyyzyx{yzyzz{{zzxxyyxzyy{yxyz{yyyxxxyxyxyyzzyzyzyxyyyxxyzyzzzzyyyzyxxyzyzyyyyyyyyyxyyyyyyyyzyyyzyxxyzyyzzzyzzyyyyyxyxy{y{yy{{zzxyyyxyyyyyzyyyzyxzyyxyyyyyzzzyyyyzyzyxxy{yyzyzzyyyyyxyxzyzyzzzzzzyyzxxzyzzyzzz{yzyyxyyzzyzyzyzzyzzyxyyyzyzyz{zzyzyyyxyzx{zzzzzzyyxyyzzzyzzzzyzyzzyyyyyyz{zzzzzzzyyyyyyzzxy{yzzzzyzyyyzyzzzyzyzzzyyzzzxxz{zzzz{zzyzyyyzyy{{z{{{zyzyzyzzzz{yzzzzz|yzyyyzzz|z{z{{zzyzzzyzyz{zzz{zzzz{zzyzz{y{{z{{{zzzzzzzzzzzzz{{{zyyxzzzyzzzzzzz{zyzyyyzzz{yzzzyyzyyyyyyyzx{yxzxzyzyyyyyxyyxyyyzzzxxzyyyyyyzzyz{zzyxxyyyy{yyyzzzzyzyzzyxyyxzzyyyzzyxxyyxxzzyyyzz{yyyyyyyyzy{xyzzyzyyyzxyyyyyzyyyyyyyxyyyxyyyzzyzzyyyyyxxyyyxzzzyxyyyyyxxyzyyyyzyyyzzzyyxyzyzyzzyyyyyyxxxxzyyyyzyyyzzzyyzyyzxxzzz{yxyyy{yyzyzyyz{zyyyyyyyzzzzzzyzzyyyzyyyyzzzzzzzzzyyyxyzyzyzyzzzzzyyxzyzyyzzyz{zyzyyz{zyyzy{{zzzzyzyyyzyzzyyzyzz{yzyzyyyyz{{{zzzyyzzzyzyz{{{zzz{zyyzyyyyxy{{zzz{z{yyy{zzzzzzzzz{zzyzzyzzyzzzz{zz{yyz{zzyzz{z{z{{z{zyyyyyzz{{zzz{z{zyzzyyzz{zzz{{{zz{z{zzyzzz{{z{zzzyyzzyzyz{zzzzy{yzyxzyzy{zz{zzzzyyyyyyzzyzzyyzzyzxyyxxyyzyzzzyyyyyyyxyxzz{z{z{zyyyyyyyzzzzzyzzzzyzyyxyyz{zyzyzzyyzxyyyyyyzzy{zzzyyy{xxyyyyzzy{yzzyxyyxyyyzyyyyzyyyyyzyxzxzzyyyzyyyyyyyyyzzyzzzy{yyxyzyyyz{zyyzzzzyyyyyxxyyzzzy{yyyzzxyzyyzxzyyzyyxyyzxyyyyyy{zzyxzyyzyxyyzyyzzzzyzyyyyyzzz{zyyzzyzyyzzzzyyyyzz{zyzzxxyzz{zz{zzzyzz{yyyyz{yzz{zzzzxyzyzyzz{zzz{{zyyzyyyyzzzzzzzyzyyyyyyyzzzzzzyzyyyzzzzy{yyzzz{zyyyzyzzyzz{{zz{zzzzyyzyz{{zzz|{z{z{zyz{yzzy{zz{|{yzzzzyzy{z{zyz{{xzyyxzzz{y{z|z{{yyzzz{z{y{zzz{{zzyzzzy{zzzz{{{zzzyyzzyzzzzzzz{|zzyyyyzzz{y{zzyzyxzyyyyyyyzyzzyyzyxxzyyyzzzzzyzzyyyyzxzyy|{yyz{zzyzyyyzxzyzyzzyzyyxyyyyzy{zyyz{zzyzyyxzyyzyyzyyzyzyyyyyzyzyzyy{zyyxyyyyyyyzzzyzy{yzxzyyyyzyzzzzzxxyyxxyxzzzyyyzyyyyxxyyyzyzyyzzzyyzyyyyxxzyzzzzzyyyzzyyxyyyyzyzyzyyyyyyzyzzy{zzyzyyzyxyyxyzzz{zzyyyyzyzyzz{zyy{zzyzyyxzzzzzz{z{{yy{zyy{zyz{{zzzzzzzyyyzzz{zzzyyzyzzyyyyyzzzzzzz{zyyyyyzzzzzzzzyzyyyyyzzzz{z{zz{{yzyy{xzzz{{{z{{zzzzzzyy{zz{{z{{z{yyyyzzzz{z{z{{{zzz{yyzzzzzzzz{{zyzzzzzzyz{{{{{|zzzzzzyz{zz{{|z{zyzy{yzyzzzy{{{{{zzz{zzz{{{zz{zzzzzyzzyyz{zz{{zzyzzzyyzzy{z{zzzz{yzzyyzyzyyyzzzyyxxyyxxzxzyzyyyyyyyxyyyxyyzy{zy{zyxxyyyxyzzyzzzzyyxzyyyyyzz{yyzyzxzxyyyxzyyzyzzzxxyxyyyxyyzzz{zyzyzyyyxxyzzyzyzzzxyyyyyzzyyyyxzzyyxxyyyxzyyzzyyyyyxyyzxxyyyzyzzyzzyyyxxyyyyzzzzzyyyzyyyyxxyyyyyzyyyyxyyyyyyyzyzzxyyxxyyyyzyzzy{{yyyyyyyyyyzzyzz{zyzyyyzyzyzyzzzzzyyyyyxyzzz{zyzzyzyyyyzyyyyzy{z{zyyzyyyyzz{zyzzzyzzyyyyyzyzzyz{{zyxyyyyx{zz{zzzzzyyyyzyzzzz{zzzz{zyzyzzyzzzyzzzzzzyyzzyzz{{{z{{|{{zy{zyzz{zzzzz|zzzzzyzyy{y|{zzzzyyzyyyzz{z{zz{zz{z{yzzzzzzz{{||zzzz|yzy{zz{zz{yzzyyzyyyzzz{{z{zzzyzzyxyyzyzzz{zyyzyzxyyyzyyzzyyyxxyyyyxyzyzzyzzyxxxyxyyyyyyyzzzzxyyyyyxyyzyzzzzyzyzzyyyzzyyzzyzzxyxxxxxxzzzzzzzyyzyyyyyxzyyxzzxzyyyxyyyyyzxyz{yyyyxyyxxyzyzzzzyyyyyyxyyyyyyzyzwxyxyxyxyyzzyzxyyyzyxyxxyyyyyzyyzzyyyyzyxyyyxzzyyyxyyyyxyzzyyx{yzyyyyyyyyyyzyyzzzzyyzyyyyzzyzz{{yzyzzyyyyzyyyzzyzyyzyyxyyzzyyzzzzyzxzzzyyyy{{zy{zzyyyyzyzyz{{zz{zyzyyyyzzzzzyyz{z{zyzyzyyzzzz{zzzzzyyzzzzzzzzyzzz{zyyyyyyz{zyyzzyzyyyz{zzzzzz{z{zzzyyz{zzz{zzz{{{zyyzz{zzzz{zz|{{zzzzy{yyz{zz{{zy{yzy{zyyzzzzz{{zzzyzzzzzyzzz{zz{{zzy{zzyzzzz{z{yzzzzyyyyzzzz{z{yzzzxxyyyyyzz{zyyzyyyyxzyyzzyzyyyyyyyyxyxyyyyzzz{zyxxxyzzyyyyzy{yyyyyyyxxyzyzyyzzyyxxxyxxxyyzzzyzyxzxyyyxyzyyxyzyyzyyyyyxxyzxyzz{yyyxyxxyyxyzyyyzyyyyxywyyyxyyyzyzyyxyyyyyyzyyy{zyyyyyyzxyyy{yzzyzyxxzyyxyxyyyzyyyzyyyyyxzzyyzzyzyxyyyyxxyyzyxzyzyyyyzyxxx{yzzzz{zyyyzyyzyyzzyzz{yyzyyyyyzyzzyyzyzxyyyyyyyz{yz{zyzyyyzyxyxzzyzzyzzyyyzxyzy{zzzy{z{{zyzzyyz{y{zyzzyyzyyyyzzzzzzzzzzzyzyzzyyzz{z{zzyyyzzyyyz{{z|y{zzzzyyzz{zzzz{zzz{zzyyzyzyzzzzyzzzyzzyzyyz{y{z{zzzyyyyyyzzyz{{zz{zzyzyzyzyz|zzzz{zzyyzzyy{{zzyz{zzyzyzyyyzzzyyy{yyyyxyyyyyy{yyzzyyxyxxyyxxzyyyzyzyyxxyxyyzyxyzzxzzxyxyxyxxzyyyzzzyyyyyxxyzzyyyyzzyyzyyyxyzxxyyyxzyyxyyxxxyzyyyyyyyzxxxyxyyyyxyzyyxyzxyyxyxyzyyzyyyxzyyyxyyzyyxyzyxyyxxywyzyyyzzyyyxxzxxxxzyyyyy{yyyyzyxzxxyyyzzzzyxyxyxyxyyxyyzyyxxyyyxxyyyyyxz{zyyyxyxxyyz{{yzzzzyxyyxzyyzzz{yzzxyzxxyxxyyzxzzzzyxyyxxyyzzyzyzzyyxyzyyyzzzzyyzyzzyyyyyyzzzzzyzyzzzyyzyyzxzzzzzzzyyyyyyyzzzzzzz{{yyyzyyyyz{zzzz{yzzzzyyyxzz{zzz{{zyzyyzyzz{zyzz{yzyzyzzzz{{z{zzz{zyzyyzzyzyyzz{z{zyyzyy{z{zyyzzz{zzzzzzzyzyz{{{{{zyzyzzzyzzy{zzzzyyzzyyyyzzzyyzzzyzyyyyyxzzzyzzzyyywxyyyxxyyxy{yyyzzxzyyyyzyzyzy{zyyzyyxxyyyzzzzyzyyyyyyyzzxzzyzyyxxyxyyxyyyyyzyzyzzxxyyyyzzyyzzzyzyyyyyzzzyyxyyyxyyyxyyxyyyzyyzzxxzyyxyyyyyzyyzyyyyywyxyzyyyyyzyxzyxyyyyyzyzzyyzzyyyyyxxzzzzyzzzyxyyyyxxxzyxyyzzyyyyzyxxyzyzyz{zzxyzyxyyxyzyyyzzzyyyyyzxyzyyyz{yyzyyyzyzz{yyzzzzyxxyzyxyyzz{zzzyyyyyyyyzxzyzzyzyyyxzyyyyyzyzzz{zzyzyyzyzyzzz{zzzzzyzyzzzyzzzz{zzzyzzyyyyzy{zzz{z{zyzyyyy{{{z{z{{zyyzyzzzzz{z{z|zzzyyz{zzz{{{{z{{zy{yzzzz{z{zz{{{zzyyzzzzz{yzz|{{{yyyzzzzzzzz{z{zzzzyyzzzy{{{zz{zzxyzxzzyy{zzzzz{yzyxyyyyyzzzyyzyyxyyyyzwzyzyyyzyyyzyyxyyyyyzyzyzyyyyxyyyzxxzz{zzzxyyyyyyy{yzxyz{yyxxyyyyyyxyyyyyxwxyxzzxyyyyyzzyywyyxyxyzyzzyzyzyxyxxyxzyyyyyyzzyyxxyyyyxzyzyzzxyyyyyyxyyyzzyyzzyyyyyxyxyyzyyyyzyyxyzwyxyyzyzyz{yzxxxxzyyzyyy{yzxxyxzyyxzyyyy{zyyyyyyxyzzzzyyyy{zzzzywxyzzyyzzzzyyyyxyzzyyzzyzzzzyyyzyyyyzzzyzyyzyzyyyxyzyzyz{{zyyzyyyxxzz{zy{zyyzyyxyyyz{zzyz{zzzyzyyzyz{zyzzz{zyy{yyyyzy{zzz{zzyyyyyzxzz{z{{{{xzzyy{yzzyzzzzz{zyzyyzz{y{{{{{{{zyzzyyzzzzzzzzzzzyzzyzyyzzyz{{z{zyyxzyzzzzz{zz{z{zyyzzyyzzz{yz{zyyyzxyyyxzy{y{yzyyyyyzxzyzzzzyyzzxwyyxzxyy{yyyzxyxyyxxyyyyzyzzyzyyyxyxxxyyyyzyzzzxxxyyxxyyyzxyzyzyyywyzyyyzzyzyzyxxyyxyxyzzyyyyzzyzyyxzyyxyyxyyzyxyxxywyyyyyzzyyxyxxyxxxzxzyyyyyyyyyxxwyyxyyyyyyyyyywyxyyyyzzzyzzyxyxyyyyyzyxzxyyyxyyxxyyzyzzzzzyyzyyyyyyzzzyy|yyyyyyzxxzzyxxzzzzxyzxyzzyyzzyzyzyyzyyyzzzzzyyzzzzzyyyxyxyzy{y{{zzyyxzyyyzzzz{z{z{zyyyyyyzzyyyzzzzzzzzyxyzy{zz{zzyyzyzyyzzzyyxz|{zz{zyyyzyz{zz{z{zyyzzyyyz{y{yzz{zyzzyyzzzyzzy{zzyyyyzzyzz{zz{{{z{zzyyzzxzzz{{{z{{zyzyzyyzzzyzz{{zzzzzyyz{zzz{{{z{zyxyzzyz{zyzz{zzzxzyyzyyzzyzyzzzyyzzyxyyyzzzzyzxxxzxxyyx{yz{z{zyxxxyyyyyy{z{yzyyyxxzyxxzyzzzyzyzyyxyyxxyyzyyyzyyxxxxxxyyzyyxzyzyyyzyyxyxzyyyzzyyyyyxxxyzyzzyyxyyyzyyxxyyyyyyyyyyyxxwxyxzxxyyyyyzxzyyxxyzyyyzzzyyyyxxyyxzyyzyyyzyyyyxxxxyy{yyzzyzzyyyxyxxyyzzzzyyyyxyxxxyyzzzyyzyyyyzxyyzyyzzzzzyzzyyyzyzzyzyzzzyzyxzxzyzyzzzz{yzzzzzxyyyzzzyzzzyyyyxyzy{{zzzzzyyyxyyyzz{zzyyzzz{yzyyyzxzzzz{zz{yzzyzyzyyzyzy{z{zyyyzyyyzyz{z{yyzyyz{yzyzzy{zzz{yyzzzzyzzyzzz{z{zzzzzzzy{{zzzz{{{xyzz{yzz{z{{{{zzyzyzyzzzzzzzzz{zzz{zzzzz{zyz{zzzzyyzyyyzzyzzzzz{zyyzzyxz{{{zy{zzyyyyyyyzyyzyyyyxyywyxxyy{yyyzzyyyzxyyzyxxzzyzzzyyyxyyyyzyzzzyzzzyyyyxyyyzzzzy{yyyyyzyzwxyyyyzyyyyxyzyxxyzzyyzyyyyyxyyxyzz{yyyyzyyyyzyyxzyyzyyyzyyyxyxyzzyzyzyzyyxxyyxxyyyyzzzzzzxyzyyxxyzzzyyyyyxyxyyxxyzyzyyzzxzyxywyxyyyyyyzzzyyxyzyxyyzzxyzyyyyzzyzzyzzzzzz{yzzyyzzyyzxxyzy{zzzyxyxzzyzzz{zzzyzzyxzyyzyzzzzzzyyyyyyx{zzzy{{zzzyzyyyzzxzyyzz{zyyxzyyyzzzzzzzyyzzyy{zzzzy{{{{{{yyzzzzy{zy{{{zzyyzz{zyy{{zzzzz{zy{zyzzzz{{yz{{{zzyyzzyyy{{zyzz{zzzzyyzzzz{zzz{{zzzyz{yzzzyz{z|zyzzzzyyyyzy{{z{zyyzyzyzy{{zzzz{zzyyzzzzyzzzzz{zzzzyyyyyzzz{zzyzyyyyzyyxxyzzzyyyzyzyyxxyyyyzyzyzzzzxxyxxxyyyyzzzyzxyxxyxyyzyzyy{zzyyxyyyxyzzzzzzyyxzyyyyxyzyyyyzzxyyxyyyzyyzyyyyyyyxyyyyxyyyzyyxyxyxzzxyyyzzyyyyyyyyyyxxxyyyyyzzzyxzxxyxxyyzzyz{{yxyyywxyzyzyzzzzzyyyyyxyxzy{yzzzyxyyyyyyzyyzyzyyyxyxyxyyzzzzyzzyyzyzxzyyzzzyz{zzyyyxyxzzzzzz{{zzzzzzyyyyy{xz{zyyyyyyzzyzz{z{yz{zzyzzzyxzz{yzzy{z{yyzzyzyzzz{yzzzzzzzyyyxzyzzz|zz{yyzzxyzzz{y{|{{zyyyzzyxz|zzz{z{zz{zyzzzyz{zy{{z{zzyyzzyzzz{zz{{{zzzyzzzz{y{{{{z{zzzzzxyzzzz{{z|z{zzzyyyzzz{zzz{|yyyyyyz{zzzz{{zzzyyyyyyyy{zzzyz{yzyzyyyzy{zyzyyyxxyxxxyzyzzyyzzzyyzyxyxyzyzyz{zyyyyzxyxzzyxzyzyzxyyyywxzyzzyxyzyyyxxzyyzyyyyzzzxyyxyzyxzzzxyzzzyzzyyxxxzyzyyyzyyyxxyyyyyyyzzyzyyzxxyzyyyyzzyzyyyzxyxyxyyxyyxzzzyxzyxyyxxzzzyyzyyyzxxxxxyzyyxyyzzzyxyyyxyzyyyz{yyxzyyxyyzyzyzzyzzyxxyyzxyzyyzzzyyyyyyyyyzzyzz{y{yyyyyyyxyzzyzyzyzyyyyyyzyzz{zz{zyzzyzyyyyzzzzz{zzyyyzzzyzzzzzzzz{zzxzzzyyyzzzz{{yzyzzyzyzzyzzz{{zzzzyxyyzzyz{{z{zzzzzyzyz{zz{zzzyyzzzzzy{zzz{{z{zyzzyyzzzz{{zzz{zzzzyzyz{zzzzzzz{zyzyzyzyyzz{z{{zzzzyyyyz{z{{zyz{zyyzyyzz{zzyz|yyzyyzyzyzzyzyzzzxyyyyyyyyzyyzzyzzyxxzyxyy{yyyzzyyyxxyyyzzyyzzz{yyzxzyzxyzyzzyzzzzyyzyyxyyyzyzyyzyyxxyyxyyyzzzyxzyyzyyyyxzzzzyzzyyzyyyyyzzy{yzyyzyyzxxxyyyzzyzzyyyyxxyyyyzzyyyyzzyxyxxyyyyyyzyzyyyyyyyyxxx{zy{yyzyzyyyzyzyyzyyyzyyyyxyyzyx{yyyzzzzyyxxyyyyyzzyz{yzzzyzxyyzz{zzyy{yyyxyyzyzyyyzzzzyyyyyxywzzzzyzyzyyzyyxzyyzyzyzzzyzzzyyyyyzzyzz{zyyzzyyy{zzzzz{zyzzyyzzyyz{z{{{zzyyzyyzyzzzy{z{{{zxzyzyyyzzz{z{zzzyyzyzyz{zyyyz{yzyzzzzzxzzz{z{z{zyzzyzyzz{zz{z{{zzzzyzy{z{zz{z{{zzzzzzzyyzzzy{{{zzzy{yyyzzy{{{zzzzzyzzzzz{zyzyzzyzyzzyyyyzzzzzzzxyyyyyyyz{{y{xyzxyyzyyyyyyzyzxyyxyyyyxzxyyzzyyy{zyyyyxzyyyyyzzzyxxyzyyxyyxzyxzyzyyyxxxxxzyyyyy{{xyyxyxxxyyyzzzyxyzyyywxxxzzzzzyyyxzxxyxxyyyyxzyyxxyyyxxwyyyyyyzzyyyxxyxyxzzzzzyyyyyxyyyyyyyyyyyyyxyxzyxyyyzyyzyyyzyzzyyyxyzyyyyzyyyyxzyxyzyyzyzzzyxzyxyzzzyzyyzzzxyyzzyzyzzyyzyyzzyxyyyyzyyzzyzzzyyzyyyyyyyyzz{yyyyzyyyxzzyzyyzzzzyyxyzyz{zyyzzzzxyzy{yyzzzzy|{zyyzyyzzzyzyzzzz{zyyzyxyyz{{z{{zy{xyzyyyyz|zyzy{z{yzyyyzyzzzzz{zzzyyyzzyyy{zzzzzzzzzyzzzyzz{{{{{{zyzy{yzyyzzzz{yz{zzyzzzz{zzzz|{{yyxyzyyyzz{zzz{zzyyyyzyzyzzzyzzzzyyzyxyyyzzzzzzyyyyxyxxyyyyyyyzzyyxyxxyxzzzyzyzzyyyzxyywzxzyzyzzzxxxxyyyyyzyyyzzyyyyyxzxyyyyzzyyyyyxyxyxyxzzzxzzzyxxxyyyyxzy{xzzxyxxxxxyyxzyyyyzyyyxxyyxyyyyyyzxyyxyxyxyyyyzyyzzyyyxyyywyzyzyz{yyxxyyxxxyyyzyzyyyyyxxxyxxyyyyz{yyxyyyxyxy{zyyzzzzyyyxxzyyzyzyzyzzyyyyyyyzyzyy{zzyxyyxyzyzzzyy{yzyxzyyxyyxyzzzzyyzwyxyxxzzyzzzzzzyxyyyzyyzzzzzyzzyyyzzzyzyzzz{zzzyzyyyyzzzzyzzzzzzyyyxyyzzzzyzzzzyyzz{yyyzzyy{z{{zxyyzzzyz{zzzzyz{yyzyzzzz{zzzzzzzyyzzyzzzzzzzz{zzzzzyyzyzzzzzzy{zzyzyzyyzyz{y{zzzzyyzzyyz{zzy{zyzyxyyzyyzyzyzzzzyyzxyyyyzzzyzyyyxwxyzywxxyyzyyyyyyyyxxyyzxyzzyzzyxxxyxyyzyxzyzzyyyxzyxxyzyzzyyzzzyxxxyxxzzyzyyyzyxyxyyyxyzzyy{yyyyyxyxyxyyyyxyyyxyxxyyxxyyyyyzzzyxxxyyyzyzyyyzzzyxxyxyyxzyxyzyzyyyyxxxyxyxyzyyyyxxxxzxyxxyyyxzxzyyxxyyyxxzzyzzyyyxyzyyxxyzyzzyz{zxyzzxzyyyyzzzy{yyyyyyzyyzyyy{zzxyyyxxyxyzyyzyzzyyyyyxyxzyzyzyyzzxyyxzxxzzzyzz{zyyyyyyyz{zzyz{{yyyzxyyyyzyzzzzzzyyzyzzzyzzzzzz|zy{zyzxxyyzzzzzzzzyzyyyyyzzzz{z{zzyyyy{zzyzzzz{z{{yzyzyzzz{{zzyzzzyzyzyyzzzz{zzyyzyyzzyyyzyzzzzzz{yzzzyxy{zz{zzzzzzyyzyyyyzzzy{zyyxyyxyyxzzyzzzzyyyyyyxyyzzzyyyyyyxyyxyyxwyzyyzzzyxyyxyzyzxyyyzzzyyyxyyzxyyyyzz{{zyyyxywxzzyyxzyyzyyxyyywzyyyxyzyyyyxyyxyzzyxxyzzyyxwxxxxyyzyzyzyyxyyyyyyyxzyyyyzyyyyyxyyyyzyzxzyyyxyxyxxyyyzzzyyyyyxxyxxyyyzyyzyyxxxyyxyxyyxyyyzyyyxxyxxxyzyzyzzyyyzyyyxyzyyyzzzzxyyxyyyzzzzyyy{yyyxxxyzyzzzxzzyyxyyxyxyzzzzyyzyyyyyzxyyyyzyzzzyyyyxzyyyyz{yyyzxyyyyyyyyy{yyz{yzzzyzyzyyyzzzz{zzyyzyyyzyzzzzy{|{zzyzyyyyyzzzzzz{zyzzzzzzzzzz{yz{yxyzy{yy{zzzzz{zzyzyzzzzzzz{zz{yzyzyzyzyzzz{zyzy{yyzzyyzzxyzzzz{zzzxzyyzzz{zz{zzyyzyyxyyyzzzz{zyzzyyyyxzzzzzzzyyyzzyyxyz{yyzyyzyxyzxyxyxzy{xyyyzzyyyyyyxzyzzzyzzyyyxyyyxyyzzzzzzyyxzyyxzyy{zyyz{yxyzxyzwyzyzyzzzyxyyzyxwyzyxzzzyzyxzyzyyzyyzyzzzyyyxyxyyyyzyy{zyyxyyyyyz{zyyzyyxyxyyyxzzyzyyyz{yzyyxyyyyxzyyzz{yyyxyxyyyyzyyxzyyxxzyyyyyyyxyyzzzzzyyyyyxxy{yyzzyyyyyzyyyzzzyyz{{yyzyyxyxzyyzyz{{yyzzzywyzzzyy{zzyyyyzyyxyzz{|yzyyxzyzyyyzzz{zz{yzyyyyzyyzzzzzz{z{yzyyyyyz{zyyzyzzzzyzyzz{zz{zzz{zyyzzyzyzz{{{zzyzyzy{zyz{|{zzzzzzxyzzzzyzz{{{zz{zzzzyzzz{{zzzzzz{yzzyzzzzzzz{z{z{yzzyyzzzyz{z{{{zyzy{zzzz{zyzz{zyzzyyzyyzz{{z{{z{yyyyyyyzzzzzzzzyzzzxyyyzzyyzzzzxyyxyxyyyxzzyyzyyyzxxyxyyy{zyzzyyyyxyyxyzyyyzyzyzzyxyyyxzyzyyyzyzyyyxxywyzyyyzy{yyyxyzyyyzyyzzzzyyzxxyxyyyyyyyzzyyyyyyyyxyyzyyxyxyyxyxxyyyzzyyyxzyxyxzxyzxyzyyzyyyxxyxxxzzzyyyy{yyyxxxzxyyyyyyy{zyyxyxyxyzzyyzzyyyyyxyyxyyyzzz{zyyxzyyyzzzzyzy{zzyzxzyzyyzzyyzzzyyyxyyyyyyyyzzyzxzyzyxyzyzyzyzzyzyyyzyyyzyzyyyzzyyy{zyyxzzzzzzzzyyyzzyxyzzyzz{zzyyyzyzzyyzzzz{{zzzyyzzyyyzyz{{{{zxyzzyyyzz{yzzz{yyyyzzyyyzz{zzzzzzzzyyzyz{{yz{{z{yzyzzyzzz{zz{{z{yyzzyyzyyy{{{{{zyyy{zzyz{y{{zz{yzyyzyyzz{z{zzz{zyzyxxzxyzz{zyzyyyyzyyzxzyzzyyyyyxxyyxzyyzzyzyzyyxyyzwyxyzyyyxzyxxzyxxzxzzyyyy{yyyxxxyyzzyyyzz{yyyzxyxxwyzzyyyyzxyyxyyzxyzzyyyyyyyxxyxzyxyzxzzzyyxxxxzyyyyyyzzzyyxyxyyxxyzyyyyzyyxyyxxyyyzyyzyzyyyyyxyxyxzyzyyzyyxyywxxxyzyyyyyzzzyyyxyyxzyzzzyyyyzxyyyxzyyyyz{zyyxyyyyxxzzyzyyzyyyyyyyyyxyzyzzzyyyyyyyyyyyzyz{yzyyyyyzxyzzzzyzyyyzyzxxxyzzzzzzyyzyyyyzyzzzyzzyzzyyyzxyxz{yz{z{zxyyyzzzzz{yzz{{{yxyyzyyx{y{|zz{zyzyzzzyyy{{zzz{{zyyzyzyzz{{z{z{zzyyzyyzzy{zzz{{{zzzzyyzyzyzz{{zzzzyzzzyzzzy{yz{y{zzyz{yz{zzzz{{zzyyxxzyyzyyzz{{zzzyzyyyyzzyzyyyzyyzyyyyyyyzzzyyzxyyyyyyyyyzyyzyyyyyyxxzyzyzxyyzzyyyxxxyyzzyyy{zz{yzzyyxyzzzzyyzzyyxxxxxxzyxyyzyzyyyxyyyxzyyxyzyyyxzyxxxxzxyzyzyyyyyyxyzzyyyyyyzyyzyxyyyxzyzzyzyyyyyxxwxyyyyzyyyyyxyyxxxyyzyyyyzzyyxyyyyyyyzxyyzyywxxyyxyyyxyy{yyyyyyyyyxyzy{yzzzyzyyzyyyyzzyzyyyyyzyzyzyzyzyz{yzyzyyyyyxyz{zyzz{yxyyyyyyzzzzyzzyyyzxzzxxyyzy{zzz{yyyyzyxzyzzxz{zzyzyyyzy{yyz{zzzyzzzyyy{zyzzz{{{zyyyxyxyz{zzzzzz{yzzyzyzzzyz{zz{{zyy{|z{zz{zzz{z{yyyz{yyy|zzz{{{zzyyyyyyzzzyzz{{{yzzzyyyyzzzzz{y{yyzzyyyzzz{zzz{yzyyzyyyz{zy{y{zzzzxyyyzzzzz{z{zyy{yywyyyzzyzzxzyyxxyxyxyzyyyyzzyzxxyyxyyzzyzzyzyyxyyyxxyyy{zyzzxxyyyxxyyy{zyyyzzxyxxyxyyxzyzzyyxyxxyyyxyxyyyzyyzyyyxxxyyyzxyzyzyyyyxxyyyyyzyzzzxyyzzyyzzyyxyzzzyyyxxxxyxyzxyyzzzyyzyyxyyzyxzz{zyyyyxwyyzyzyyyzyxyzyyxxyyyzzy{zzyzyyzzyyxzzzzzy{zzxyyxyyxzxyzyzzyzzyyyyyyzzzyzyzzyxyyyyyyyyyzz{zzyyzyxxxzzyzz{{zzyyyyyyyy{zyzzzzyyzyxyxxzzyzyzyyzxyyyzyyzy{{zzzzzzyzzzzzz{z{y{z{yyzzzzyyz{z{zz{yzyyyzz{yy{{z{{{{yzzyyyz{yyz{{z{y{zzzz{zyz{zzz|{{zyyzyzyzz{zz{zzzzzzzzzzyz{{z{{y{zzyz{yyzz{yzzzz{yzzzxyyyyz|zzzz{zyyyyyyyy{{zzzyzzyzyyyzyyyyzyyyzyyyxyyyxyyyyy{yzyzyyzyyxyyzzzzzzyyyxxyyxzzzyyyyzyyzxyxyyzzzzyyzzyyyywyyyyzzyyzzzyyxyyyzxyyzyyzzyyyyzyyxyyzxyyzzyyyyyyyxyyyyyy{yzxyyyyxxyyzzyzyyzxxxwyxzyzxyzzzyzyyyyxyxxyyyzyzzzzyyyyxywyyyyyyyzzyyxyyyyyzxzzz{zyyyyzzyyzyzyzzyyyzyyzyxy{yzyzzzzyyyyyxzyzzzz{zzzyyxxxyyyyzzzyyzyyyzyxyyyyzzyzzzzzyyyyyyzzzzyzzzzzxzzzzyyyzzzyyzzyzzy{zyyzz{z{zzyzzxyzzzzzzz{z{z{zzyyzyyxzz{z{zzz{yyyzyzyz{yyzz{{zzyyzzyzyzzz{zz{zzyzyyyzyz{z{z|zzzzyyzyy{{zzz{zz{yzzzyzzzzzy{{zzzyyyzzyy|y{{zz{z{zyyzyzyz{{zzz{{zzzyyyyyzzzzyz{zzxzyyyyyzzzyyyyzzyyxxxyxyyzzzyyyxyyxyyyyzyzyzyzzyxyyyzyyzzxxzzzzyyyyyyzzyzyyyyzzxyyxyxyyzyyyyyzzxyyxxyyxyzxyzyyyzyyyxyzyzyzyyyyzyzyyyxyyxzyyyyxyxxyyxxxxxyyzzzyzxyyyxyxyyxxzyyzzxyyxxxyyyzyzyyzyyyxyyyyxzzyyyxyyyxyyyyyxxyyyyzzzyyzyz{xyyyxyyzzyyxyyyxzyzxyyyyyzzzyzyyzzyzzzzzzzyzzyxyyyy{yzzyzzzyzyzyyyyzzzzzyzzyzzzyxyyyzyzzzyyzyyzzz{yzy{yzzzzzzyzzyyzzzzz{zzyyzyy{zzz{zzzyzzzyzzyyyyzzzzzzzz{zyyyyzzzyzzzzz{yyyyyyzzzzzz{{z{{yy{yzyzz{yzyy{{zz{zzyyzzzzy{{{zzyyyzzyzyzz{{z{{{zzzzzzyyzzyzzz{yyzxxyzxzyzzzzzzzzyyxzyyzzz{yzzzzyzyyyyyy{yy{yy{yyxxxxxxyyyzzyzzyyxxwyyyzyyzzzzyyxyxxyyyyzyyzyzzyyxxyyxyyyyyyzzyyyxyxxxyxxxzyyzzyxyyxyyyyyyyyzzyzwxxxyyzyyzxyyxyxyyyyyyxxyxyyzyzxxyxxxxxxzyyyyyyzxyxxxwxyyyxyyxyyxyyywxxzyzyzzzzyxyyxxyyxyyxyyyyxzyxyzxxyyyxyzyyyyzyxyzxxzzyyyzzyxyyzxyxyzzzyzzzyyyyyyyxyzzzzyzzxxyyxxxyyyzyyzzzyyzzzyxyzyzzyzyzyzyyyyxyyyzyyy{yxyyyyzxyyyyyzz{yxyyyyxyyzzzzz{{zzzzxyzyxyzy{zzzzzyyyyyyxyzyzzzzzyyyyyyzyzyzz{{zzzzyzyzzyzzzzzz{zzzyyxzyzzzzzyzzz{yyyyxyy{yzz{zzz{yzyzxyyyyyzzz{zzzyzyzzzzzzzyyzzzzyzyzxyyzzyyz{z{yyzzzyyyzyzyyzzyyzyywyxyyzyzyyyyxxyxxxxyyyyyyzzxyxyyxxxyzxyzzyyyyxxxxyyyxyyzzyyxyyxzxxzyzyyzzzyyyxyyxyyyyyyzyyzzxyxyyyxyzzyyxzzyxyywxyyyyyyzyyyxxyyxyxyyyyyxzyzxyzxxxyxxxyyzzyzyyxxxzxxyyyxxyyyyxyyyxyxxyzyyzzzyyyxyyyxzyzxzyyxxyxxyyxyxyyyyzyzyyyyyyyxzyzxzyyzyyyyyxywzyy{xyzzxxyxxxyyyyzzzyzzyyyyyxyxzyzzyzzyyxzzxxyyyzx{yy{yyxzyyyyyyyzzyyzyxyxyyxxyzyyyzzyyzyyyyzyzyzz{zyyzyyxyzzzyyzzyyy{zzyzyyyyzzzzzz{zzzyyyzyzyz{xzz{{zzxzyyyzyz{zzz{z{zzzyzzzyzy{zzzzzzzzyyyyxyyzyzyzzzwyyyyyyzz{yz{z{{zyyzxyzzyyzzzzzyyzyzyyxzzyzzzzzzxyyzyyyyyzzyyzzyyuyyzyxzyyyyzzyxyyyyzxyxzyzyyyzxyyyyzyyyyzzyyyzzyxxyyxxyzyxzyzzzyyyyxyyzxzzyzzyyyxzxxzyyyzyyyzyxyyxyyyxyyzyyyyzyyyxyyxxxyyxx{xxyyyyyyxyyxyyyyyzyyyxxwyyyyxzzyzyxyxzxyxyxyyyzz{yyxyxxxwwyxyyyzzyzyyyxyxyxyyzxyyyzzyyyyyyyyyxzyy{yyyyxxyyzxzyzyzyzyyyyyyzzyyyzzzyyx{xxxyxzzzzzzzzyyyzyxzyyzzyy{zyyzyzzyyyyzzzyzyzyyyxyxxxzyz{zzzyzzyzzyzyyyzzzzzzyyyzzyzz{zy{{zzyyyz{zyzyzyzzzzzzyyyyxyyyzzz{zzzzzyyzyyzyzzzz{z{zzy{zyyyzzzzyzyzy{yzzyzyzy{zy{z{zzyyyyyyy{{z{z{zzyzyyzzzyzzzz{z{zzzyyzzxzzzzzzzzz{zzxzzzyy{{z{zyzyzyyyzyxzzzzzzzzyyyyyyyzyxzyzyyyyzyxyxyxyzzyyzzzyxyyyyyxzyyzzzyzyzyyyzyyyyzyyzyyzyyyyyzzzzzyzyzyzyyyxxyyyyzzzzzzyzxyzyxxyzyyyzyyyxyyyzyyxz{yyzzyyxyyyyyxyyzzzzzyyxyxxyyyzyyzzzzyyxyyyyyyyyyyzyyyyyzyxxyyyzzzyyzyyxyyyxyxzyxyyyyzxyxyyyzxyyyx{{zyyyyyyzyyyzzzzyzzyyyyxyxzyyyzzxyzzxyzxxyzzyyyxzzzyyyyyyyyzzzzy{yzzyyyyyyyy{yzy{zzyyyxyyyyzzzyzz{zzzyyzyyxzzzyyzzzzyyzzzyzz{{zzz{z{yzyzzyzzz{zzz|{zyzyyzyyyzz{zy{zyyzzyzyzz{y{y{{zyzzy{yyyz{zzzzzzzzyyyzzzy|zzyzz{zzyzyzzyyzzz{z{zzzyzzyyyy{zzzz{{zyzy{zyy{zzz{z|{yzzzyyzyzzzzzzz{zyzyyzyyz{zzyzzzyyyxzyyyz{zzzyyyyyyyxxywyyyzyyzzyyyxyyyxyyyyyz{zzyxyywyxyyyxzyzzyxzyyyxxzyyzyzyzyyxxyyxxzzyyzzyzyyxxxyyxxzzyzzzyyzxyyxyyyyzxyyzyyxyyxyyxyyxzyzyzxxyxzxyxyzzxyyyyyzzyyxxxyyyxyy{yyyyyxyxxzyyyxyzyyyyyyxxxzzxyyyzzzxyxyyyxxyxyyzzyyxyyyyywzzyyyyyyxzyyyyyyyzyyyzyzzxyxxxyyzyzzyzzzzzyyzyzyzyyzyzzzyyxxyyyxyyxzzyyyyyyyxyyyyzyzyzzyxyyzzyyyzzzyz{zzyyzxyzyyyy{{zzyzyyyyzyyyyzyzy{{|zxyxyxyyzyzzzzyzzxyyyyzzzzyzzz{{zyyzyzzzzz{yzzyzzyzyyyxyz{z{yz{zzzzzyzyzzzz{{zyyzzyzyyyyzyz{yz{zzzzzzzy{{zz{zzyzyzyzyzzzzzzzzzzzyyyyyyyyzz|zzyzzyzzyxxzyzzzzy{yyyyxxyxyxyz{xzxzzyyyyyxwyyyyyzzyyyyxyyxxxyyyz{y{yyyxyxxxxyzxzyzzzyyyxyyyyzzy{xyyzyyxyyxxyyxyyxzzzyyyyyyyyzyzyyyzyyyyyxxxxxzzyyyyyyyxxwxyxzxyzyzzyyyyyyywyyyyyzzyyxyyyxzxxyyzzyzzzyxyyxyxxyyzyyyzyyyyxyyxyyyyyxyzzxzyyyzxxyzyyzyzzxyyyyxyzxyzzxz{zyxyyyyyyzyzyzzyzxyyzyyyzyzzyyzyyzzzyyyyyyzyyzzzyyyzxyyyxzzzyz{z{yyyyyyyyzzzyyzzzxyzyzzzzzzzyzzzyzzyzyyzyzyy{{{zzyyzyxyyxy{zz{yzzzzxzzyzyzz{zyz{zzzzyzzyzzzzzz{z{{yyy{zyyz|zzzy{y{yzzy{xy{zz{yz{z{yyzyyzyyzyzzz{zyyzzzyyyzzzz{yzzyzyzyzzyyzyz{z{zzyyyyzzyzzzzzyzyyyyyyyyxzyzy{yxyxxyyxxxwxzyxyxxyyyxyxxyyyyzzyyzzyxyxxyyyyyyyyzzyzwxxxxxyyyyzxxzyzzxyyxyyyyzyxyyzyyzxyxxyxyyyyzyyyyxyyxxxyyzzzzxyxyxxyyyyyyyyyyzyyxyxxyyyxzyyxyyyyxxyyxxyyyzy{zyyyyzyxyyyyyzyyzzxxzyyyyxxyxyyxyy{yyyxyyxyyyzyyyzzyxzyxzyxyyyzyyyyyyyxyxyzzzyxzzy{yzyyxyzyzyyy{zyzxyyyxxyxzzyyzzzyxyyzyyyyyzyzzzyzyzyyzzyyyyzyyzzyyxzzyyxyzyzzyzzzzyzxyyxzzzyzyzyyyzzyzyyxzyzzy{z{zyzyyyxyzzzzzzzzzyyxxyzy{zzz|y{zzyyzyzyyyzyz{{yzzyyyzyzyy{yzz{{zzyyxzyzzyzzzzzzyzyyzzxyzyzyzyzz{{xyzyyxyyz{zzz{zyzzxyyyxyzzyzz{zyyxyxyyxyyyzzyzzzyyxyyyxyzzzyyyyyzwwxxyxyyyxzyyzzyyzxxyxyyzyzzz{yxzxxyxxyyyyxzzyyyyyxyyyyyyyyz{zyyxyxxyxzyyzxyyzxxyxyyxyxzxyz{yyyyxyyyyxyyzyyyzyzyyyxyxyzyyyyzzzyyyywxxyyxyzyyyzxyxxyxxyyyy{zzzyyyzyxyxxxxxzzzzyyyyxxxwxyxxxyzzyyxyyyyyyxyyyzzyzyyyyxyyxzyyyyzzzyxyyzxyzyzzxzyz{yyyxyyyyzyyyyzyzyxyyyyyyyzzyyzyyyyzxzxyyyyzzzzzzzxzzyyyyyyzzyzyyyyyzyxxyzzzzzzyzyzyyzxyzyzzzzzz{zyyyzyyz{zyzzz{zyzzyzyyyzzzz{{zzzyyzzzyyzzzz{yyzz{yyyyyy{zyzzzzz{zyzzzyzzzyzzzzz{yzzzzzyyyy{zy{zzyyyyyxzyzyzzzzzzyyyyyyyz{z{y{z{yyyyyyzyyzzyzzzzzzyxzyzyyyyzzzzyyzyzyyxxyxzyzyyyzyyyyxxxzyzxyyzyyyxyyxwyyzyzzzyzzxxxxxxyyyyxzz{zyxxyzxyyyyzyyyxyyxxwxxyyyyzxzzyzxxzxywywwyyyyyyxyyyxwxyxwyyyyzzyyyxxxyyyzyyyyyzyxyxxxxxyxyxyyyzyyxyyyxxyxxyyzzzzyyywxzyyyyyyzzyyyyxxyxxxyyyyyyyzyzzyyxyxxyyzyyzyxyzyyyxxyyyy{xzzyyyzzyxxyyzyyyzzzx{xyyzy{xzyyyzzzyyxxyyxyxzyyzzzzyyyzxyyyyz{yzzyzyzyyyxyxzzyyzzzyyyyyyyyzz{yyzzxxyyyyzxzyyzzzzzzyzzzzzzyzzyzzzz{yyyyzyxyy{yzzzzzzxyyyyyy{zzzzz{{zzyyxyzyx{{yyz{yzyzzzyyzyzz{z{zz{yyyyyyxz{yzz{{{yyxyzyyyy{yzzz{zzyyyzyxy{{zzyzzzyzyyyyzyzzzzzz{zzzyyyyzyyyy{zz{yyyyyxyyxyyyzzxyzwxxyyyyyyyzzyzyxxxxyywyxyyyyyyyzxxyxxxxyyyyzyyzzyxyxyxyyxyyyxyy{zyyxxxxxyyyyxzyzyxzyyxxwyyxyxyyyxxxxwxyxyxzxxzyxyyyxyyxyxyzzyyyyxxxxyyxxyyxzyzzyyxxyxyyxyxzyyyyyyyxxxxxyxyyyyyyyxyxxyxxyyyyyyyyyxyxxxxyxyzzyzzzyyxxxxywyyzyyzyzzyyyyxxyyzzyxyzxyyxyxxyxx{yyyyyzyyyyxyxyyyyzyzyzxzyxyyyxyyzyzzzzyzyyxyyxyyzyyzyyyyyxyyxxyyyyzyyzyyzyyyyxzzzz{{yzzyyyyyyzyyzyyyyzzyyyyyzyxyzzzyyyzzxyyyzyyzzzzzyzzxyyyyyyyyzzz{zy{{yyyyzzyz{zzzz{z{yyyyyxyzzzzzzyzzxzxxyyzzzyzzzzzzyyyzyyyzyyyzzyzyzyzyxyyxzzyyz{zzyzxyyyyyzyyzzzyyxyyxyxyyxyzyzyyyxyxxyxyyyzxyzyzyyyyyxxyzxyyzzzyyyyxxzxyzzzyzzzzyyyxyyyxyyzzyzzzzyxyxyxxxzzyzzzzxxyyyxxxyzxyzyzzyyyyxyxwyyyyyyyyywyxxxxyyyzyzzyyyxxxyxxxxyyzyzyyyyxyyxxxyyzyzyzzyyyyxyxyyyyyyzyzyyxxxxxyyyyyyyyzyyyyxxyxzyyyxzyxyyzyxxxxyyyyzzzzyyyyyxyxyzyzyyyzzyyxxyzyz{zyyzzyyyyyyyzyyzyzzzyzxyyyyyyzyzzyzzzzyxyyyzxyzzyzyzzzzyxzyyyxzzzxyzzyyxyyyxzzzy{z{zzyzzyyzzyy{zzzyzzzyyzzyyyzyzyzzzzy{yzx{yyyzzzzzz{zzzyxz{yzxzyzzzzzzyzyyy{yy{yzzzz{{yyyyyyzzzzzz{{zzzyyz{yzz{zzzzz{y{zyzyyzzzzz{zz{zyzyyyyxz{zzzzzzzxyyyyyxyzxzzzzyyyyyzyyyzyzzyyyxyxyxyyxyyyzzyyzyxyxxyyyxzyyyxzzyyyyyyyyxyzzyyy{{yxyxxxyzyzyyyxzzyyyxyyyxyzzyyzzzyxyyxyzxyyyyyzzyyyyyyyxyyyyxyzyyyyyyxyyxyyyyyyzzxyyyxyyxyyzyyyyzyxyxxzxyyzyyzyzyyyyyxyxxyyzyzzzzyxzxxwyxyyyyyyxzyxxxxwxxyyzyyyzyywyxyxxxyyzzzyzyzyyyzyyxyzzyzyz{yyzyxxzyyyzyyzzzyxyywyxyzzzzyzz{zzzyxxyyyyz{yyzzyyyxxzyzyyzyzyzzzyzyzxxyyzzyyzzzzyyzyyyyzzzzzzyzzzyyzyzzzzyzz{z{xyyzzxyyzzzyzzzzzyyyzzzxzyzy{z|yzyzyyzyzy{z{yz{{zyzzxyyzyzzz{z{zzzzyyyzyz{z{{z{zyyzzzzyzzzzzzyzzzyzyzyzzzyz{zzz{yzzyyzyyzzz|zz{yyyyyxzyyyz{zyzzyyzyyyyyyyyzyyyyzyzyyyyxxzzzyzyyzxyyyywyxxyyzzyzzyywyxyyxyzyyyyyzzyyyxyxyyyzyyzyzzxzyxxzxyyyzzzzzyyzxyzxwzyxyyyzyzyyxyxxxyyzxxzyzyyyyyyxyyzzzzyzzyxxyywyyyyzxyyzyzyyxxyyxyzyyzyzzyyyxxyxxyyyyyyzzxxyxyxxxzzzyxyyyyxxwyxyxzzxxzzzyyyyyxzxyxzyzzzzzzzyxzyyyzxyzyzyzyyyyxwxyzzzyyyyyzyzyyxxyy{zyzyzyyyyzxxxxyzyz{{zzzxyyyyyxyyyyzzzzzyyzyyyyyzzzzzyzyzzyyyyyzyzzzzyzyzyyzzzzz{zzxzzzzyy{yzxyxyzzz{zzyyyyzyzyzzzz{{{zzyyxzy{yzzzy{zz{zyyzyzzzy{{zzzzz{zzzzzyy{zz{{zzzzyzzyzyy{yyzy{{zzyx{zzz{z{yzzzzzyyzyzzzyzzyyyzzzzzzyzyyyyzyzyyzzzxzxyxyyyzyxzyyyyyxxyyxxyyyyyyyzyyxyyyyxyzyyyyyxyxyxyyxyyyyyzzzzyxxwxxxyyzzyyyzyxxyxyyzyzxyzyyyzxyyyxyxxyyxyyyzyyyyyyxxyyzzzyzzyxyyyxxxxyxzyyzzyxwyxyyxxyyyyzzzzyyxxxxxyzyzyxyzzzyyxxxyxxyzzyzzzyxxxxxyxyxzyxyyyxzxxxxxyxzxyyzz{xyzxyyyxyyyxyzzyyxyyyyyyxyzyzyz{yyyyyyzyyzyyzyyzxyzyxxxyzyyyzyzyyxyyywyyyyyyyzyyzyzyyyyyy{yzyyzyxzxyyzzzyzyxyyyyyyxyyyyzzyzzzzz{yyyyzzyyz{zyzzzzzyyyyyyyzzyyzzzzzyxz{zzyzzzzzzzzzyyzyzzyyzzyzzz{zyyzzyzyzyy{zzz{yz{yyyzzzzz{{{z{zyyzzyyyzzzzzzzzyyxyzzxzzzzz{zzzyzyxzzyxyzzy{zzzzyyxzyyyyzxyyyz{yyzyxxyxzzzyyyzyxyxxxyyxxzyyzzzyyyxyyxyxyyyz{zyzyyyzyyxxzyzyzzzyzyyxyxxyyzzzyyzzy{yzxyxyyzxyzzy{xyywyxyyzyyyyzzyxyyxzxxyyyyyyzzyyyyyxxyyyyyzyyzyzyyxxxwxwxyyyyyyyxyxxyxzyzzzzzyzxzyyxyxyyzxzzzyyyxxzxxwxyyzyyzyzyyxxyyxyyyyyzz{zyyyyzxyyzyzzzyzxyyyxyxxyyyzyzzzzyyxyxyyzyyyzyzzzxyyxxyyyzzz{z{zzyyxyyxyxy{xzyzzzyzyzyxxyzz{zyy{zyyxzxyyxyyyzyzzyyyyyyyzyyzzzyzzzzyyyyyyzzzzzzzzzyyyx{xyyz{zzzz{yzzzyzzxy{{{zzz{zyzzzyzzzyy{zzzz{zyyzyzzyy|z{zz{{{z{yzyzy{z{{zzz{zzzyyyzz{zzyyz{{zzyyzzzyzzzz{{zzzzzyzyyzzzz{yz{yzyzzyyyyyyzyyyzzyyzxyyyyyzzzzyyzyyxxxxyxxyyyyyzyyyyyyxyyyyzzyy{zyzyyywyyyyzzyzzyyyxyxxxxzyzzyzyzyxzxyxyxxyyyyyzzyyzyxyxyxzyyyyyyzyyxyyxxyyyyzzyzyyyyxyyyyyyzyyzxzyyyyyyxyyzzzzzyzyxyxxyxyzzyzzzyyxzzyyxyxyzzyzzzyxxyyyxyy{yyyyyy{yyxyxyyxyyyyyyzyyzyyxyyzyzyy{{yzyyxyyzyyzzzzzzzzyzyxxzyzzyyzyzzyzyyyyyzyzzzyzzzyxyzyxyyzyzzyzzzzxyzyyyyyz{yyyzzyzyyyxyzzzzzzyzzyyyyzzyy{zz{y{zyxzzxyyyy{zy{z{zzyyyxyzyzzzz{zz{zzyyzyyyxzzzzz{{{zyzyzz{yzzzzz{{{{zy{y{{zz{z{y{{zzyyyzzyyzzzzzzz{{yyyyyzyzzzzyy{{zzzzyyyz{zyz{zy{zzyxyzyzz{yzz{zzzzyyyyyzzzyzzy{yyzyyyyyxyzzzzyzyyzyxzxxwyzzyyzyzyyxyxyxxyyyyyzzzzywwxyxyzyyyzyzxzxyxxyyx{zyzyxyzyzyxyyyxyyyzyyyyyyyxyxyyyyyzyyzyzxyxyyxxzyyyxyyyyyyxyywyyyyzyyzzyyyyxyxyyxyxzzzyyxyxxxxyyyzyyyyzyxyyxyxyyxyyyyzyyyyyxyyxyyywzyyzzyxxyxxxxzyyyzz{zyyyyyxxzzyzzy{yyyyyyyyzzyyzzyyzzzyxyxyyzzyzzzy{yyzxxyyzzyyyzzzyzxyzzxyyyyzzzzyyzxxyyyxxzzzzyyzzyyyyyyzyyyyy{zzyyyzzzyxy{yyzyzzyyyyxyzzzzzyyxzzzyzzzzzyy{zzyzz{zzyyyzzyyzzxzzz{{zzzyzzzyy{zy{{zy{zyyyzyyzzzzzz{{yyyzyxyzyzy{zzz{zyyyyyzyzzy{{z{zzzzyzyyzzzzy{zyzyzzyy{yyzzzyzzz{yzyyyyzyyz{z{{zzyyzxyxxyyzzyzyyzxyxyxyxxyyyyyyzyyyyxyxyyyzyzzzzzyxyyxyxxyzyyzyzzyyzwxxwyxyyzxyzyyxyxxwyxyxzxxyyzyyzyxxxxyzxyyyyxzzyyyxxyyzyzxyyzxyxyxyxxyyxyz{zyxxxxxyzyyxzyyyzyyyyxzxxxyyzyyyyyyyyxxyyyyzzyyyzyyyxyyxyxyyyxyyyyyzyxyzwxyzyzyzyyyyzxxyyxyzzyzz{yyyyyxyyxyzzzyyzzzyyyyyyyyyzyzz{zyyyyzyxyxz{zzzzzzyyyyyzyyyyzyz{zyyzzyzyxzzzzzyzzyywyyyyyyzzxzzyyzyxyxyyyyyyzzzz{zyyyyzyz{zyzzzzzzyxzzyxy{zzzzz{yzxzyyzxz{zzzz{zzzyzyyzyyzz{z{zyz{y{zyzzyz{z{z{{{zyzzyyzzzyyyzzzy{zzyzyyyzyy{zzz{{zzyzzyyzyzy{zz{yyyxyyyzyzzyzy{{zzyzyyyxzyzzyzzyyzyxyxyyz{yzzyyzzyxwyxyxxyyyyyxyzyyxxxxyyyyxyyzzyyxyyyyxyyzzyzzyxyyzyxxxyyyzyyxzxxyxxyzxyxzyyyz{yxwzxxxyxxyyzzyxyxyzyyxwyxyyyyyyyxyyyyyyyyyyyxyzxxxyyyxyyzxyxyzxyxyyxywxyzyyyyyyxyxywyxxyxyyxyyzxxxxxxxyxxyyyyyyzzxxxxyyyyzyxy{yzxxyxyxyyyyyyyyzyxzxyyyzyzyzyyz{yyzyxxxyyyzyyyzzyyyxxxyxyyzzxzzzzxxzzyyw{yyzzzxxxyyyxyyyyzzzzyzyzyyyyyyxzyyyzzzzzzyyyyyzxzzyyzzzyyyxyyyzzzyy{z{{yxyzyxyyy{yzzyzz{yzyyyzyzzzzzzzyyzzyyyyyyyzzzzzzzzyyyzyzy{zyzyzzzyyzyyyyzzy{zzzyzyzyzxyyzyzzzyyzyyzxyyzyyzyz{zzzzyyyyyyyzzzyzzzzzzyyyyyzyyyyyyyyyyyxyxxxzyzzzyyzyyyyxxxyyzzyyyyzxyyyxxyyyyyyzzz{zyyxxyxxyyyzyzyzxxxyyxyxxzzzxyyyyyyxxxyyzxxyxyyyyyyxxyyxyzyyzyyyzyyyxzxxyyzyyyyyyxxxyyyyyyyyyyyzxxxyyzxxxyyyyy{yyxxxxywxyzyxyyxyyyyxxyyxyx{yyzzyyyyyyyyyxyyyxyzyyyyyxxxxz{xxyzyyxxyyyxxxyzyyyz{yyyyyxxyyzyyyzyyyyyyyxxxwyyyzyzzyxzyyzyxxzzyyzzzzyyzxyxyyzyyy{zzzxzyyzyyyzzzzyy{yzyyxyyyy{{zyyzzzyyzyzyyxzzyzz{zzyzyzyzyyzyzzzyz{yyyyyyyyzzzzzyzy{zyyxyyzzz{zzzzzzyzzyyyzy{yzz{yzzzzyzzyzz{zzzz{y{x{yyzxyzzzzzzzzzxyzzzyzyyzzzzzzzyyzy{zzzyzzzzzzzyyxyyyyyyzzyzzyzyzyyzyyyzzzyxyzxyyxyyyyyzzy{yyzxxxyywyxxzyzyzyyzyyzyxzyyyzxzzzzyyzyxyyyzzzyzz{zywyyxyyyxzzyyzzzyzxxxxyxyyyyzyyzyyyxxxyxzzyxxzzyyyyyxywxzx{xyzzyxyyyxzyyyyyyzzzyxyyyyyxxyyyyyyzyzxxyxxxxyzyyzyz{xyyyyyyyxxyyyyzyxxyyyyxxyyzyyyy{yzxyyxyyyzyzzyzxzyyyyyxwyzzyyyzyxyyyyxyxyz{yzyzzzyyzyyyyzzyzyzzyzzyyyyyyzzzyzy{zyyyzzyyyyyyzzzyyzyzyzyyzyzzzyz{zyzyzyxyyyzzzyyzzyyzyyyyzzyzzz{zzzyyzzyxyzzzzzyz{yzzyyxyyzz|y{zzzyzzyyyyy{zzyzz{zzyyzzz{yzzzzy{zz{yzzyzyyzz{{{z{zzzzzyyzz{zzyz{zzzyxzzyyzzyzzz{zzzzzzzzzyzzz{z{zzyzzxyyzyyzyzzz{{{zyzxyxzzzzzyyyzyyyyyyzyyzzyyyyxxxyxxwyxyyyyyyzyyyyyyxxyyyzyyyyzyywxyxyyzyyzyzzyyxxxyyyxyyxyyyyyyyyxxxyyyyyyzyxywxyyyyyxxzzyzyyyxxxxyyxxyxzxyyzyyyywxyxxyyxyxzyzyxxxyyzyyyyyzyyyyyyxyxxxxyyxzyzzyxyyxyxxxyyyzxzzxyzxyxxxyxxyyyzyyyyyyxxxxxyxxyyyyyyyxxyyyyyxyyzyzyyxyyzyzzyyyzyyzxxxyxxzyyyyzzyyyyxyyxyxyyzzzzyzyxyxxxyyzzzzyzyyzyyxyyxyzyyxyyzzyxyyxzyyyzyyyzzyyyxyxyyzyzzzzzzzyzyzwxyyzzyzyzyzyzzyyyyyzyyyyyzyyyzyyyzzzzyzzzzzyyyyyyzyyzyzzyzzzzzyxzxyy{yzzyzzzzzyzyzyzzxzzzzzzyyzyxyzz{{zzzzzzzyyzzyxzzyzzzyz{yzxyyyyyzyzzyzzyzzxxzyyzyyyyzzzyxyyyzxyyzyzzzxyxyywyxxxzyyzyyyyyxxyxxyxyyzyxzy{yyyxxxxxyzyyzzyyyyyyyyxxzyyyyzyyyxxxxxxxyzyzyyzyxyyyxxyxyzxyxzyxyxyyxyyyyyzyzyzyxxyxxxxxxxxyyzzyxxxyxxyxxyyyyzzyyyzyxyxyyyyyzyyzyxyyxyyyyzyyzyzzyyyyyyywxyzyxzyyyyyxyxyxxyyyyzyyyxyyxyyyyzyyzzyzzyyxyxyzyyzyy{yzzxyzxyxyyzyzxzyyyyxx{zxxyzyyzyzxzyyyzyyxyzzzzzzyyxzyyxzyyyz{zzzzyyzyyyyxzyyyzzyz{yyyyzyzzzyzzzzzxzzyyxzzzzz{yz{yyyxzzxyxzzzzzzzyzyyzzxyyz{yzzz{{zyxyyzz{zyyz{yzzzyzyy{yz{{zzzz{{zyzxzzyzy{zz{{zz{yzzzyyzzyzzzz{{zyyzzzyz{yz{zzzzyyyyyyxzzz{yyzz{yyzzyyzyzzzzyyzzyyzzxyxyzzz{yzyyyxyyxxxxyzyyyyzzyzxyyxxyxyyyy{yzyzzzxyyxzyzyyzyyyyzxyxywyzzxzyzyyxyxxxyxzyzyyzzzyyxxyyyxxxzzyzyyyxzxyyxyyyyxyyyyxyyxxyyzzyzyyyyyxxxxxxxyxyyyy{zyyyyxxxyyyzyzyzyyxxxyyxywxyyzyzyyxxxxxxyxwzzxyyxzyyxxxyxyyyyyzzzyyxy{yxzyxzzyyyzzyxxyyxzxyzyzyyyzzy{xzyxxyzyyzzzyxxyyyyyyzyzyzyzyzyyyzxzzyzzyy{zzyyyyzyxyzyzzzzzyyyyyxyyy{zyyzzyzyyxxyxzyyzz{zyz{yyxyzyzzzyyzyz{zyzyzyzyyzzzzy{zzyyyzyxzzyzzz{z{zzzzyyzzzzyzz{zz{{yyzzyyyzzzzz{{{zyzzyxzzzz{zz{{zyyxyyzyzyzzy{{z{zzzyyzyz{zzzz{yzyyyzyxxyyzz{zyzzyyyyzyyyzy{zzz{zzzzxzyyxzzz{xzzzyyyxyxyxyzyzzy{yyyxyyxxyyyzyzzz{xyyyyyyxyyzzzyzzyyyyyxyyyyyzxyyyyyyxyyyxxzyyy{zzyyyxyyywxyyyzzzzyxyyyyyxyyzxzzyyyyyxyyxxyyyyyzzzyxyxxxyyyyzzyyzzyyyyyxxyyyzyzzzyyyyxxyyxyxzyyyyzyzyyyxyxyyyyyzyyxzyyyyyyxzzxyzzyyyyyyyyyxzzzzyzyyyyxyxyyzz{zyzyyyyxzyyyyyzzzzyzzyyyzyxyyyzzyy{zzyxxzxyyyy{yzyzzzyyzyxyxyzzz{yy{yyxxyyyxy{{{zzzzyyyyyyyyxyzz{zz{{yyyzyzyyzzzzzz{{yzzzzyyyzzz{zzz{zyzyyzy{{zzz{{{{zyyyyyzyzz|z{{{yzyzyyxyz{z{zz|z{yzzzxxzzzz{zz{zzzyyyzyyzzyyzzzzz{zyyzyzzy{z{{yzzyyyyyxyyyyzyz{zzzyzzyyyyy{zz{{yzyyyyzyyxzyzzzzzzxyxzyyxyxzzzzyzyyyxxyxxyzzyzz{zzzwxxxyyxzyyzyyzxzxyyyyxxxyzzyzyyzzyyyxyxyyyyxzyzyyzyyyxyyzxyzzzyyyyyyyxxxy{yyzz{yyxxyyyyyyyzyzyyxyxxyxxyyyzzyyyxyxyxxzxyzxzyzyyzyyxyxxyyxyzzzzzzyyyxyxyyxyyxxzzyzyxxyyxyyxyzyyzzyyxxzzyyyyyyyzzzxxyyyyyxyzzzzz{zyyzyzwyyzyyzzz{{zxyyyyxyyyzyzzyyyzzyzxyyzyzzz{zzyzxzxzxyz{yzx{{yzyyzyzyzyzzyz{yzyyyyyyyyzzzzzy{zyzyyzyyyyzz{z{{{yyyzzyyyzz{z{z{zzyyyyyyy{yzzz{zzzxyzzzzyyz{y{{{{zyzzyzyzy{{zzzzzzyyzyzyy{zz{z{z{yzyyzzyzzyyzyyz{zzzzzyyyzzzzzz{{zyyzzyzyzzyyz{z{{yzyyyzyyzz{yzzyzzyyyyyzzzzzyyxyxxyxwyywxyyyyyyzxyyyxxxxyyyyyyyzywxyyxzyyyyxyyzyyxxxyyxyyyyzyxzzyyyxxxyxyyyyyyzzyyzxyxxxyyyyyyxyxyyyxywxyyyxyyyyyxzxwyyxxyxzyyyyyxwyyyxxxyyyzyzyyyyxxxyxyyzyyzyyyyxxxyxyyyxyyyyzyxxxzxyxxyyyyyyyyxywyyxyxyxyy{yzyxyxzxxyzyyyzzzyyxxyxyyxzyyxxzzzxy{zxyxxyzyyzyzzyxxxyxyyyzzzyyzyyzyyzyyxxzzzyzz{yyyxxyyxyzzyyyzzyyyyzxyyyzzyzy{yyyxxyzyzz{yyzzzyyzyxyyyxyzyz{zzzyyxxyzyzzyyzz{zzzyzxzyyzzzz{y{zzzyxyxzzyyxz{z{zz{yzyyzzyzyyzzzyzzxyyyyyyyyyyz{zzzzyyzyzyyyyzzzz{zzyyzyyzyyyzyzzzyyyyyyyyyzyzxyz{zyxzyzyxyzzzzzz{zyzyyyyyzzyzyzyxzxyyyyxxyyzyxyzxzywxyxyxyzzzzzzyzyxxxxyyxxyzyzxyyyxxxyxyxzzyyyyyyyyyyxyxyyzyxzyzxxxyyywxzzxyyyyyyyyxxxyxyzyxxzyywyyxyyxyxyyyyzzyxxxxyyyxzyyxzyyyyxyxxyxxyxyyyzyyzxyxxxxyxzyxzyyzxyzyxyxxyyyyyyxyxxxxyxyyzyyyxyzyyyyzyyxzyxzyxyyyyyxyyxyxzzyyzyyyyyyyyxxx{yyyzzzyyyyxxxyyyyzyzyyyzxxyyxywxzzzy{yzyzyyxxyxyyzzyyyzyyyyyyxyzyyyzzzzzzyyxyyzyzzzzzzzzyzyyzyx{yzzzzzzyyyzzyyyzyzz{z{zzzzzzyyxz{zyzzz{zyzyyyyzzzyzzzz{zzzyyyyzz{zzy{zzzyzyyyyzzz{zz{{zxyyyyxyyyzzyzzzzyyyyyyyzzzz{zyzzyyxyzzzyzyzzzy{zzyyzyyyxzzyzyzzzyzyxyyyzyzyyyzyzwxyyyxzyyzyzyzz{yyxyxxyyzyzyxxyzyyxxyxyxyyyxzyxyyyyxwyxxyzyyyyyyxxyywxywxyyzxzyzyxyzxxxxxyxxyyzyzxyxyxxxxyxxyzyzxyyxxyxyyyxzxyyyyyyxyxxxyyxzyyzxyxyyyxyxyyzyzzyzyxxxyxxxyyyyzyzwyyxxxxyyxyyyyyxyyxyxyyxyyyyyyzzyyxxxyyyxyy{yzyzyyyyxxxxyyxzyyy{zzzyyyxyyyxyyyzzzyyyyyzyxzyzzxzyzyxyzxxyxzzzzzzyyyzxxyxyxxzyzzy{yyyyyxyyyzzyzyzyyyyxyyyyyyyyzz{z{yyyyzxzzyyy{yzzzzzyyyyyxyx{{zy{z{xxzyyyyzzzz{y{zzyyyyyyyzzzy{{zzzyzzzyyxz|zz{zzzyyzyxxyyzyzzz{zzzyyxzyyzy{zzz{yzzzyyyxzyzzyyzz{zxyyyyxyzyzzzzzzzzyyyyyxxyzzzyzzzyyyxyxxyzyyyzxyyxyxxyxyyyyyyxyyzywyyxxyxzyzyzzzzzxyxxyxyyxyxyzzyyyyyxyxyxzyxxyyyyyyyyywwyzyzzyyyzzyxyxyxyyyxyzyyzyyxyxyxyyzyxzyyxzyxyyyxyxyyxyyyyyyxyxxwxzzyzy{zzyxxxxxzxxyzzzzyxxyyxxxxyyyzyxyyyyyxzxyxxzyzxxyzzywxyxzyyyyyxzyyxxyxyxxyxyzyyyzzyxyxyxyyyzyyzyyzzxyxxyyyyyyzyzyzzxyyxyxyyyzzzzzzyxxyyxxxyyzyz{yzzyxxxxyyyzzyyxzyywyxyyyyyzyyyyzzyyxzyzxzyyz{yzzzxzyyzyzyzzyzyzz{yyyyyyyyy{zzzzzzzyyzyyzyz{zzzzzzzyyzyzyyzzzy{zzzzyxyyyyyy{z{zzz{zyzzyxyyzzzzzzyzyyzyyyyzyz{yzzzzzyyyzzxzzyyyzyz{zxzyyyyxy{{zzz{yzzyyxzyyxyyzzyzyzyyyzyyxzyyyyzzxxxxyxxyxyyzyyzyxxwxyxxwyxzy{yyzyyyyxxyxyyxxyyyzyyxyxzxyxyyzyzxyyxwxyxxxxyyzyxxzzyxyxxwyyyzxyyyyyxyxxxyzxyxyyxyyyyxxyxxxxxyxyxyyyyxyyyxxwyyxyyyzzyyxyxxyxyxyyyyyyyyyyxyyyxxxyyxyzyyxxxxxwxyyyyxyxxyyyyyxxxzyxxyyyyxzxyyyxyzyyyyzzxyywxxxxxzyyyzzxyyzzzxyyyyyyyzz{xyyxyyyyyxyyyyzyyzyyyyyxyyyxzyzyxxyxxxxyyy{yyyzyyyxyyxyyyzzyyzyzyyyy{yyyzzzyzyyyyzywyzyyzzy{xyzzyyyyyyyxz{yz{zzzyyyzyzyy{zyyy{{zyyxzyzyzyzyzyzzyzyyyxyyyy{zz{zzzyzzyxyzzzzzzzzzzyyyxyyyyyz{zzzz{zxyyyyyyyyzzyzzzyzxyzzyyzzyyz{zyyyxyxyxyzyzyyyzyyzxyxyxxyzyzzzyzyyxyyxywyyyyyzyzyyyxxyxyyxyzyyyzyxyxyxxxyyyyyyxyyxyxxyyyyyyxyzzyxyxxxyyxyyyyyyyzyyywyxxyyzzyyyyyxxyxxyyxyxzyyyzyyxxxyyxxyyxyyyyyxxxxyxyxyyyzyyyyyyyywyxyxyzxzyyzxxxyyyxyyyyzxzzyyyyxyxyxxzx{yzyzyyxxxxyxyyyyyzyzxxyxyxxwyyzzxzyzzyxyyxxxyzyzyzzzzyyyyxyyyxzyy{yzxyyxyyxyyzzzyyzyyyzyyxzyxxyyyzyzyyzxxyxwyyzzyz{yyyyyxyzyzzzzzz|yyyyyzyyyyzyyyzzzxyyxyzzyzzzzyz{zyyzyxyyyzzzzzzzyzyzyyyzyzz{zyzz{yzyzy{yzzzzzz|{zzxyyzzzyz{zzz{{zzyyzyyyzzzyzzyz{zyyxzyyxyzxzzzz{zzyyzyyyzyxzzz{{zzzyxyyyyyyzzzz{zzyzyxyxzzzzyzzyyxyyzyyxzzyzyzyzyyxyxxxyyzzyyy{zyyxyyywyyyzyyyzzyxxxyxyxyyxyyyzzyxyyyxxyyyzzx{zyyyyyxxyxyyyzyyyzxyzxyxxyyxyyzzzyyxzxxyxxyxyyyyyyyyyxyyxyxzyzxzxyxyyxxxyxxyzyxyxyyxxxxyzxyyzyyxzzyxyxyyyyxyyzyxyyyxxyxxywxxyxyyzyyyzyxyxyzyxyzyyyzwyyxxyyyyyyzyyzyyyyyyyzzyzyyyyzyxyxxxyzyzyzyyyyzyxyyxyzyzzyyyzzzxxyxxzyyyyzyzzzyzyxyyxyyzzzyyyyyxxxyyyyzzzyxzyzyyzyzz{yzxzzzy{{yyyyxzyzyzyzy{yzzyzyyxzyzzyyzz{yyyyzyyxyzyzyyzz{zzyyyzzzyzyxzz{zzyyyyyyzz{zzz{zzzxyzyyyzzyzzyz{yzxyzyxyzyzyyyzzzzyyz{xyyzyzzyyyzzyzyyyyyzzyzzy{zzzyyyxyxzyzzzzy{xyzxxyxyyyzyyzzxyxyyyyxyyyzyyzzyyyxyxyxyyyyxzyyyyxywyyxxyyyyzyzyyxyyyxzxyyyyzxzzxxyxwyyxyyyyzyzyyyxxyyyyyyzyzzyzyyyxyyyxyzyyyyyyyyyyxwyxyyyzyyyyyyxxyxxxyyyyyxyyyyxxxxxyxyzyyzyyyxyxyyyxyyyzxzzyxywxyyxyxyyxzyzyyxxyxxyxxzxzyzyzyyxxzzxxyyzzzyzyzyyyyyyyyzyxyzyzyzyyyxyyyyyyzzzyxxyyyyyxzzyzyy{zzyzyyxxyzyyzyzyyyyzxyyyxyzyzyzzzyzyyyyzzyyzyz{xyyyyxyyyyzyzzyzzyyyzyyyyyzzy{yzy{yyzyyyzzzzyzzzz{zyyzzyzyyzyzz|{{zyzz{zzzzzyz{z{{zyzyzzzzz{zzzz{zzzy{yyzyzzzy{{zzzzzyyyyzyzzz{y{zzyzyzxyyzyzzzz{zyzzyzyzzyzzzzzzzzyyyyyyyyyzzzyyzy{yyyxyxzzzyzzyxxyyyyxyyxzyyzyxxyyyxxxxxyzyyyzyzyyyyyyyyyzyyyzyzyyyxyyxyzzzyyxzzyyxwyxxxyxzyyyzyyyxzzyxyxyyyyzzyyyzyzxyyyyyzyyyxyxyxyyxyzxzyyzyzxxyxxxyxyyyzyzyzyzywxyyyyyyyyzyyyzyyxxxyxyyzyzzzzxyxyxxyyyyxxyzzyyxyxxyyxyyzyzzyyyyxyyxxyzyyzzzzyxzzxyyyyyyyzzyzyyxzyxyyzzzxzyzyyyyxyyxyyyyyyzyzyzxyyyxyyzyzzzzyyyzxyyyyyzzz{yz{yyyyzzxzzzzzyzzyzyyxzzzyzzz{zz{{yzzxyyzyz{zzzzzzyzxzzzyyz{z{{zzyzyyzyzyyz{zzyz{zyyyyzzyyzzzzz{zzzyzzzzxyyz{zz{{z{y{{zxyyzyz{z|zyyzzzzzyzzyzy{z{z{yyzyzyzzyzzzz{{zyyyyyyzy{zyyzyzyyyyzyzxzzzyzyzzyyyyyxyxyz{zxzyyyxxyxxxxyzyxzyy{xyyxxxyxyxyyyzzyzxzxxzxxzyyzyyzyxyyxywxxyy{zyyzyyxyyyyyxyyzyzyzzyyxxxyyxyyyxyyzyyyzyyyyxxyyzxyyyyxyxyxwxyyxzyyyyxyxxyxyxzyyxyzyzyxyyxxyxyyyyzyyzyxyyxxxxyyyyxxzyxxyxyxyxyyyyyzyzyzxwxyyyxyzyzyzyxxxyxyyxxyyyzzzyzyxxxyyyzyzzy{zzyyyywxyxzzyyzzyzyyxxyyxxyyyzzzyzzyzyyyyyyzyzyyzzzyyxzyxxzyyyzzzyyyyxyyyyzyyyyzzzzyyyzyzyzxzzyzzyyzzyzyyy{zyzzzyzzyyyzyxxyzzyyzz{zyyyyxyxy{zzyyzzzyyzyzzzyyzzy{{z{zyyzzyz{|xzzy{{zyzyzyyyzzzz{zzzzzyzzyzzzy{zy{zzzyyyyyyzzy{z{zz{yyxyyyyxzzzzyzzzzyzyzyzxzzz{zyzyyyzyxyxyyyzzzyyyyyyyxyyyxzyyyxyzyyyyxyxyyxyyyzyzyyyxyyxxyzxyyzyxyyyyxxyxyyzzxxzyxzxxyxxyyyyzyzzyyyyxxyyxxyyxyzyyzyyyxxxxzyzzyzzzyyyxxxyyyyyxyzyzxyxxxyxxyyzyyyyyyxwyxywyxyzxyzyyxyxxwxxxxzzzyzzzyxyzyxyxyyyxyyz{yyxxyyyyyzyyyyy{yxyyxyyxyyzzyzzzxyyxyxzyyzyyzyyzyyyyxyyyzyyzzyzzyyxxxyyzzzzzzyyzyxyyyxzxzzzzzzyyzyyyxyyxyyyzxzzzzyzzyyyzyyyzzyzzyyyyyyzyyzyzzzzzzyyzyzyyyzyzzzzzyxxzyyyy{zzzz{{zzyzzzyzzz{zzzz{zzyyzyyyyzzzz{{z{{yzyyzzzy{zz{z{{zyzzzyxy{z{yz{zzyzyzyyzzzyzyz{z{zzzzzzzy{zzzzy{zzyzxyyyyxzyzzy{zzzyxxyyyzyyzyzzzyzzyxyzyy{yzyFw7"bz||{{{z||{{{{}||{{{z{zz{{|||{||{|{z||zy{|||{{|{{{|{{|z{{{|{{|{{{{zz{z{{||{{{{|{{{zyz{z|{|{|{{||{{zz{{z{{{|{{{{{|{z{z{{{|{{{{{{|{{{z{zz{{{{{||{z{z{{{z{z{|{{|{{{{z{{{zzzz}{{{|{|{{{{{zz{z|{{{{{{||z{z|z{z{{{|}{|{z{z{{{{{|{{|{|{|{z{zzz{{|{{{||{{{{z{{{zz{{|z{}{{|{{zzz{{|z|{||{{{{{}{|{z{|{||||{{{{{|z{|{|||||{{{|||z{{|{|z{{|{|z{{|z{{}|}|}{|{||{{{z{{||}}|||||{{|{z|{|{}|}{{|{{{||z{{z|}}||{}{|}{{|{{||{||{|{{{z{|{{z}||}|}||{{{{{z|{}}|{{||~|zy|||{|{||{|{}|||{|{|z|||{|{||{{{{z{|{{{}|{{|}|{}z{{{{zz|{|{z|{{{|z{{zz{|{{{}}|{{||{{{|||}||{|}||{{{{|z||||}{}}}||||{|z|{{}}}|{{{{||{{|||{{{||{|{{|{|{z||{{||{||{z{{{{{{|||||||{{{{{z{{{||{{{{||{{{{z{z|{||z|||{y{{{z{{{{|{||{{{{z|{{z{z}||}||||{{{z{{{{z{{{{|{{zzz||{y{{||z|{|z{zz{{z{|{z{{|||{zzz{{{{{|||||||{{{{{{{{|{}{{{}{{{|{z{|z||}|{||{{{|{{z{z{||||{||{{|{{{{{{|||{|{|{|{{|{{||{|||||{{{||{{{|}|||{|}|{{|{|{z{|||||}||{||z|}{{|}}|{}|}|z{{{{{{|{|}|{|}|{{{||{{|}|{}|}}|{|{|||{||||||}||{|{{|{|{}}||}|}|{||}{||}{|}}||}|{{|{|{|||{|}}|}|{{{|||||||||}|}}||{{|{{z||{|{|}|{{|z{{{|||{{|||{{{{{{z{|{|{{||{|{|||{|{|}}{||{}}{{z|{z||||||||||{{z||{{||||{|}{|{|z{{{{{|{}|z|{{z{{z||{|{||||||}{|{{{|{{{|{||}||{|{{{{{{|{{{||||{z{|{z|{{z|{|||{z{{z{z{||||z{|{{{zz|zzz||{|{||||{{|zz{{{{||{{|{{z{{{y{zz{{|||{||{zzzz{z|{{{|{||{y{{|{{{||{{{||{|{z{{{|{{|{{|||{zz|{{{{{|{|{{|||{{{{z{{{}||{|{||{{|{||{{|{{{{|||{{{zzzz{{||{|{||{{z{||{|||||||{|{}{{{{{{||{||{}||{{{|{{{{}|}|}}}{{{||{{{|||{|||||{|}||{{}|||}|}|{||||{|{|}|||||||{z{{||{{}||||}}}|{{|||||||}{}}||{{|{||||{|||||}{{|{|{{||||{|||}|{{{|{{{|||||}||||{|z{{{{|{}||}{|{{|{{{||{{|{||}|{z{||{{{|{{{|}|||||||{{{|}}|||}{|{{||{{|{||||}|||{|z{{|{|{}{{||{{||{||z{||~{||}|{|yzz{|y{{|{|{{{{{{{{{{{|||{}{{{|{|{{|z{|{z{{{}{{z{{z{z|{{{{||{{{zzz{zz{||{||||||{|zz{{{|{{{z|{{z{{zz{||{{{|z||{{{{|{z{z||z|||||{|{z{zz||||{{|{||z{{{zz{|||{z||{{|{{z{{}z{{}{||{{{z{{{{||{|||}{{{|{}||z{{|{|{|||{{{{{z{{||{{{|{|{{{{|{{||{|{||||{{||{z||{|||}|}{{|{|{{{||{}||}|{zz|{{z{{||{|{|}|{{||{{{{|}||~}||||||{||}||{}|}|}|{{{|{|{|||{|}}|||{|{|||}}||||}|{|{|{z{|{||}||}{|{||{|z{||||||}{{{|}{|{{|||{|}|}|z{{{}{{{|{{|}{{{|{{z{{{{{}||{{}}|{{{{|{}}{}|~}{|||{z|{||{|}||}||{{{{|{|{{|{}|}{{{{z|{{{||||{|{{{|z{z|{{{||||{{{{{{z{{{{||{|||z{{{|{{{{|{|||||||{{{z{{{|{{|{|||z|z{|{{zz|{{|{|{{z{{{zzz{{{{z|{{|{zz{z{z|{|||{||{{{z{z{{{|{{z||{{{{{{y|{{{z|{{{zzzz{}{{{{{{{{{|{{{{{{{{{{||{{{|}||{zzzz{{{{||||||{|zz{{{|||||}|{|{{z{{{z{|}|||{{|{|{|z{{}{|||||{{{{{{|{{|{{||||{z|{{z{{zz|}|{|}|zz|{{|}||{||||||||{z{z{{||||}||||z|z{{zz{||{||||{|{|{|}||}|{||{||{|{{|{{|}}|{||}||||{|||}||}||{}}{{|||z||||{}||}{|}|||{{||||}|}}|{|{{{|{|{|||{}{|{||{{|{z|{{}{|{{{{{{z|{{{|{{}||||{{|{{{}||{|||}{|z{|zz{{}{{|||||||{{|{{{{{z}}}}{|||{{zz{||}{{|||{{z{|{z{{{|{{}|zz|{{{{z{|||||{|{|{{z{z{{||{||||{{z{z{{{z{{||z{|{{z{{{zz{{||{||{|{|yz{||{||||{|{{zz{z{zz{{|{{|||{{{{zz{z{|{{|{{{{{{{{z{{{|{{{|||{z|{|{{{|{|||||||z{{{z{{||||{||}{z|{zz{|{{{{{||}{z{{{{zz{{{|||||{{z{{z{{{z|{{||||z|z{{{{}|||{|||{{{|{{{{{}|{|{|{{|{z{{{{}||}}{|z{|{||{|{{|{}{|}||{{{{{||{||||||||{{{{{{||}|||}}}|{|{{|}z|}{||}}}|{||{|||{|}|||}}|||||{||||}|||||||{{{{{||}{|||}{||||{}{{|||}}||}{||{{{z{|}|{{{||{z{{{{y|{}|||{||{{{|z{{{z|}{{||||{{{{{|{{|}|{}||{{zz{z|{|||||||}{{{{|||{||{|||}}}||{{z{{||||{||{|{|{z{|{||{{{{|{{|{{{{zzz||{{||{{{{{{{|z|{{{{|{|{zz{y{{{||{{z|{|{z{zzzy{{||||}|}{{z{{{z{{{{{|{{{zy|{{zzz{||~{{|}{{zy{z{{{{{z{{|zz|{z{zy{z{{{||{|{{{{{{z{{|}|{||||z{{{{{z{{|{{}|{||{{{z|{{{||||{|{|{{|{{z{{|{|}||||{z|{{{z|||{|||{{|{{{{z|{||{}|{|z{|{|{{{|{{{{{|{{|{|{{{||||{}||{{|{{{|||{|}|}|}|{{{z{|{}|{{||||{{||}||{|||{}}}||{|{{||{|{|||}||}{{|{{{{}}|||||}|{{{|{{{{||}|}{|||{|||{{|||{{|}}|{|{{|{{||{}||||{{{{{|{{||{||}|{||{z{z{{z}|{|z||{{{{zzz{|{|{{}}|||{|{|{{||}||}||}|{|{{{||{|||||||{{|{{{{|{|{||||{||{z{{{{|{}{{|{|{{{z{|z{{{{{}|{|z{{{{|{{|{{~{|{|{|{|z{z}}{{{||||||zz|{{{{{|{|{|z{{z{{{z||||{z|{{z{zz{z{|{{{{{|{{|{{z{{{{|{|{|||{{{{{{{z{{|zz{{|{{{z{zz{{{||}|||{z{{{{z{{{|||{|{{{{{{z{{{{|}|||{{{{{{zz{{|{|{{{}{{|{zz{{{z|||{{||{|{{{|{|{||||{zz{{{{z{z|{|||{|||{{{{z{{z|{{{|||{|{{{{|{{|{||{}|{{{{{{|}||{|{{}|{{{|zz{{}|}}|}|||{|{||{|||||{||}{|{{{{}|||||}|{|||{|{|{{{|||||}|{|{|{{{{{|{{||~}|{{|{{|{{|||||}|{|{z{|{|||{}||}|{{|z{||{{{{{{}}||{{{|{{{{{{|{}||{{}z{z{{{{{{|||}{||||{|{{|}|{}}||{{|{|{{|}||{||||{{{z||z|||{z|{|{z{{{y{{|{||z{||{z{{zz{z|{|{||{|{{{{{|{z{|{|||}}{z{|z{{{|{|{{|{{{{{zz{zz{|||{{{}{{{{{{{{z{|{|{|{{zzzzzzz{{|y|{{{{{|{{zz{{|||{}||{z{{{z{{|{{{{{{{{{{{{{z{||{{{|{|{z{{{{zy{{|{{|||||z{{{{{|||{|{|{{{z}{z{{{{||{{|{{{|{{{||||||{|||{z{{{{|z{|{|{|||{zz{{z|z||||{|{{zz{z||{{}||{|{{{{{{{{{{{{|||}}|}|{|{|||{|{|||}|~|{||{zz{{}}|{|}|{{{|{{{||~|{|{}|||z|||{|{|{}{|||{{{{{{|z{}}{|}}|||{{|{{{||||||{|{{{{|{{{||}|||}}|{{{|{|}{{|{|}|||z{{{|{{||{||{}|{|z{{{{z{||||{|{{{{z{z{{{|||{}||{{|{{{{{||{}||{|||{{{|{||z||||||{{yzz{{{{||{{{||{|{{{z{{{|{{{}{||{|{z{{z|||||{|{||{z{{{z|{||{}{{{zzy{zy{{||{{||{{{{z{zzz{{||{{{{z{{z{yz{{{{|||}|{{{z{{z{{||{|{{{{z{{zzzz{|z{{{{{{z{{{||z{{z{|{{{{{{z{z{{{|{{z{{{{z{|{{z{|{{||||{{z{z{z{{{||{{{|{|{{{{{z{|{{|||{|{{{{zz{z{|{||||{|{|{{{{z{{||||||{{{{{{zz{||{{{}{{{{{|{{{||{{{}|||{{{{z{{{{}||}||{||z{{{{|{{||{{{z{{|z{z}||{{|||{{{||{{{z}|{|{||{|{{||||{||{||||}{{|||||{|}}|}|}}|{|{{z|||{|||}|}|z{{|{{|{||{|}}|{|{{||{{}{{|{||{{{z{{{{{{{||{|z|{{{|{{zz{{{{|{|||z{{z{z{{||||}{|||{}||{|{}||}}}}||{|{z{|||}|||||{{z{||{{{|{|||}}{{{{||{|||||z|}|{{{z{z{z{|}|||{{|{{{{{{{{||{z{|{{{{|zzz{|{{{{|{z{{z{{zzz|{{{|{{|{z{z{z{z{{{{z{|{{{{{zzz{z{|z{{{z{z|{zz{{{{|{z{||z{z{{z{z|{|{|{{|zz{z{zzzz|{{{z{{{z{|{z{z}{{{{||||{zy|{{{{|}{|{{|{{{{{{{||{||||||{z{|zz{z{{}{|||||{{{|{{{|||{||{||{{{{|{{|||{||}{{{{{{{{|||{||||{{{{{|{{{{|}|||||{|z{{{|{{|||}|||{|{{{{|{|}{|||}||{|{{{|{{|}||{}|{{||{|||||||||||{|{{||||{}}|}||||{||{{z|||||||{|{{{{z{{||||||||||{{{}|{{}|||{|}|{{|{{{{{{}|}{|{|{zz{{{z{|{{|{||{{z{z{{zzz{|{{}|}{}{{|||z|~|}}||}{{||{{{}{|}{}|}||{{z{{|{||{|}||{|z{z{{{z|||||{{}||{{z{|{{||z||{|z{|{zz{z{||{||{{{{|{|z{{{|||}|||{zzz{|z{{{{|{|{|{z{{{{{|{{z{||||z||zzz{z{|z{|}|{z{{{z{z{z{{{{}{|{{z|zz{{{|{z{|{{{z{z{{{zz{z{||}{{z{z|{{z{||{{{||{{{z{zz{{{{{{{{|{|||{|{{{||{||{|{{|z|{{z{}{{{{||{z{z|||z{{{||}|{{{|{|{{z{|{z{}|||{{{{{z{{|}{|{|||{zzz{{{}||{||||{z{{|||||{{|{{}|{{{{{{{{|||{{||{{|{z{{z{}||{||||{{|{||{||||}||}||{|{||{{{}|}||}|}{{|{||z}||}|}}||{{|||{|||||}|}||{|{||{|||{|{{}|{{{|{|z{{|||||||{{{{|{{{{{||{{{|{{|{|z{z{{|{|{|}|}{|{|{|||}}|}{}{|{|{||{|||}}}}}|{||{{{{||||}}}{|{{z{z{|{||||||||{{{{{{{{||{|||{{z{{{{{z{{{{|||{{{{{{z{z{|}{{|{|z{{{z{{z{{{||{||{zz{{y{{{||{|{}{z{{{{{z{|{{{}{|{z{z{{{{z{{||{|{||{z{|zzz{{|{|{|{{|{zzz{{z|{{{{{|{{|{{{|y{||{||||{{{{{z{{{||{|||{{z{|{z{{|||{|{}|{{|{|z{y{|||||{{{{{{z{{{{{|{|||{{z{{{{|{{|||||||{z{{|{|{||||{|z|{|{|{|{z{|{}||}|{{{{||{||{|}||||{{{{{zz{|}|||||{{{{{{z{{|{|||{|{}{{|{}||{{}||||||||{{|z|||~|}||}|{||{||{|||||||||{{||{{{||}|||||~{||{}{z|{|||||||{|{{{{|{|}|{||{{|{|z{{{|}{{{{|{{{{z|{{{{{|{|}}}|||}|{||}{}}||}}|{{||z{{}|{|||||{{|{{{{{||{|{|||{{||{|{|{}{{||{||{{zyzzz{|{|}|{{|{{z{z{z{{{{{{|{{z{{z{zz|{|{{|{|{{|z{{z|{z||{||{{{{z|zzz|||z{{{z{{{zzzz|{|{}{{|{{z{zzz{{z||{{|}{{z{z{{z{{{{{{{|{{|z{{zzz{|{z{z{z{{{|z{z{{{{|{{{{z{{{{z{{||{{{|{}{{z{|{|||{z{{||}{{{{{{{z{{{{|{{||{{z{{|z}{{|{|||{{{{{{{{||{}|||{{{{{{{|{{|{|{{|{|{{{|z||{||}|||||z{{{{{{||{|||{|{{{{{{{{|{||{{|{|{|||{|{||||}{|}{{|{{|||}||||}|||{{{|{|{{}||||}||{}{||||||}||||}|{{z{||||{||||||||{|{{{{|{|}{|||{{|{{{{|{||||{|}{{z{z{{{{|{|{||{{{{zzyzz{{{|||~}{}|{{|{z|||||||}{{{|{{|{|}}|||}}|{{{{{{{|{{||}||z{{zz{zz{{|||z||{|{{{{zz{{{{||{|{z||{{|zz||{{{|||{{{{z{zz|}|{{}|z{{{z{z{{{|{{{|{z{{{zzz{{||{|{|{{z{zz{zz{||{|{||z|{zzz{y{|{{{{{{{{z{{z{z{|{{{{{{{{{{{{{{z|{{{||{{z{z{{zz||{{|{{||{{{|{{z{|{{{||||z{{zz|{{|||{{||{zz{{{{{{|{{{|||{{|{{{zzz||{z{|{z{|{yz|{{}||{||{{{z|zz|{{||{{|{|}{z{||z||z||||{}|{{|{z{z|||||||||z|{{z{z}|||}z}|{{z{{z|{|||||}|||{{{|{|{{|||}}|}||{z{|{{|}|}{}}}|z{{{{{{|{||{}||||{{{|||{|||||}|{|{{|}{|||{}|||||{{{{{z{{|{{|||{|{zzz{{{{|{|{{{{{{{yz{z{{{{{z~}}{}||{|}|||{||}}}{|{|z{{||{}|}|}}|||{{{|{}|{{|||{{{{zz|z{{{}|{{|||{{zz{zz{{|z|{||zz{|z{{zz{|{z|{|{{yzz{z{{|{{{||z|{{z{{{z|{{|{{{{{{{zz{{z{{|{|{|{{z{{z{{|{{|zz{|{{zzzz|z{{{{{{|{{{{{{z{{z|{zz{||{{{z{z{{zz{{|z|{{{{zzz|z{{{z|{}|{{{|{zz{z{{|}|{{{|{{{{z{{{{{}|{{|z{{{yz|{{{|||}{|z|zz{z{{{|||{|||{{{zzz{z{{|{{z|{{zz{zz{{|{{|{|{{{{{{|{{{{{|||||{{{|{{||{{|{||{}||{{{z{{{{||{|{||{|zz{{{{{|{|{||}{{|{|{||{}||||}{|{z|{{|{||}{|{{{||{{{{|{|||{{|{}|{{{|z|{|||||||}|{{{{|z{{|{}{~}|{|{{z||{{{||||{{{z{{z{{{|{{{{{{z{{{zz{{zz{||{}||||||{{}||}|}|{|}{|||{z{|{|||||}||{zz{|{{{{||}|}||zz|{{}z{{|||{||}z{{{zz{|{{{||||zz|{{z|z{|{{|{{z|{z{{y{z{|{{{|{{z{{z{{{z|{{{{|{|{{zz{{zz||{{|||yzzy{{|zz{{||{|{|z||{zzz{{{{{|||{{zz{{{{{{z|{{zz|zz{zzzzz{{z|{|||z{{{{{{z||{{||{|{{{z{z|{{{{{{{}|{z{zzz{{||{{{{|{{z{zz{{{{{|{{|{|{{{{{z{z||{|{{|{{{{z{{z{|{|{{{}{{{{{{zz{{|{z{||||{{z{{{{|{|||{{{{|{{z||{{||{{||{z{{{{{z{{|{|z||{|{{{|{{|{|}z{||{|{{z{{{|}}|||||||{{{{{{||}}|}|}||{|{{z|{||}{{|}||zz{{|{{{||{||}|{|{|{|||{||||||}||{z{|z{{|z{||||{{{{{{zz{{|||{||{{{zzzzz{{|{{}}}~||{|||{|}}|{|}||||{{|{|||}|}}|||{{{{{{{|z|{}||}zz|{{|{|{{|{{{||{{{z{{{z|||{|{{{{{|{{zz{{|{{{||{{{{{{{{y{{{|z{{z|zz{z{{z|{y{{{{{{z{zzz{z{||{{||{|{{zz{z{|{{{|{{{zz|{{|{y{z|{{{||{z{z{{{z{z{{{|{{{z{{zzzyz}{{{{{|{y{{z{z{zz|||}{|{{{z{z{{{||{|||{|z{{{z{{|{{{{{{}z{{z{z{{|{{z{}||z|{{z{{z{{{||{{|{z|{zz{{{{{|{|||{z{||z{{|{|{{{||{{{{||{{|{}|}|||z|{{{{{z|||||}|||{{{zzz{{|{}||||{{|z|{z{{||||||}{{|{{{||||{|{|||||||||{||}||}|||}|{{{{}{|||}||||{z|{{{{{||{||{|}{z|{z|{{|{{|||}|{|{{{{{{|{{|||}|||z{{{{z|z|{||{{{{{{{z{zz||zz|}|}|}||{||}}}||}}}||||z{||}||||~||}|{{{{{{|{}{{}|||z|{|{{z{||{{||||{||{z{y{||{{{{|zz{{{z{{z{{{{||{{{z{z{z{{z{zz|{{{{{z{{{z{|{{{{{|{zz{zzzz{{|{{||{{zzz{{zz|{{z|{||{{|{zz{{{{{|z||{{{{zz{z{{{}{|||{zz{z{z{{{||||{{}z|{zz{z{{{{{z|{{{{{{{zzz{||{|z||{z{|z{{{||{{|{{{{{{|{{{||{{|}|||{{{{{zzz|{|||||||z||{z{z||{{||}{{|z{|||z{||||}|{|zz{{{z{||{|{||{|{{{|{{||{|}||||{{{||{{{|{|{|{|||z|{|{{{||||||||{|{{|{||||}{|}|||{|{||{|{||}{||||{{||{{z|||||||}|{{{{|{{}{{||}|||{||z|||||||||||{{{{{{{z{{||{||||{{{{z{{{|||||{z|{{z{zzz|{{{|}}}||{|{{|{{|}|}|}||{|{{||{|||||{||||{{|{z{|z||||}|{{{|{{z{z{||{{|{{{{{{{{{{{||{}{{{{|z{z{z{|{{{||{{{z|z{{z{{zz||{|{zzz{{{z{z{zz{{{z{zz{zzzz{{{{{|{zzzzy{z{{{|{||{{{{{{z{z{z|{||{{{{zz{{zzzzz{z{{{|z{{zzzzyz{{z{|{{{{{{{|{{{{|{|{|||{z{{zzz{{{{||||z{z{zz{{{{{|{z{|{{|{zz{{z||{|{||{z{z{z{{{{|{|{||zz{{zzzz|{{|{|{{{{{||z{z{{{{|||{{{|{|{z{{|{|||}{|{|{z{{{||{||{|||{z|{z{||{|{||{{{{{{|{{{}{|{||}{|{{zz{{{{{{||||||{{|{{{{{|}||||||{{|{|{|{|{|{||{}{{|{|{{{||{}||||z{{|{{{}{|{|{||{{{{{{{{{{{|{||||{{{z{|z{{{||{{{{{{|zzzz{||{|~}~|}|{|||{}}||}}}}}||{{||{|}}}{||||{{|{{zz}|{|||}||{{{z{{{{{}|{z|{|{z{z{|z{{{{{|||{|{z{{{z{||{{{{{{{{z{{{z{|{{{{|{{{z{yz{{{zz{{z{{{zzz{zz{{{|{{z||{z{y{z{z{{{{{|z|{{|{zz{z{{|{{|{{zz{z{zzyz{z{{{|z{zz{zzzz{||{||||{z{{|{z{z{z{{{|||{{z{{{{{|{{{|{|{{zz{z{z|zzz{|||{{{{{{{z{{{|z{}{|z{{{{{zz|{{}{{{{{zzz{{{{{{{{||{{{{z{{{{||{{z{}||{{|z{{z||||}|||{||z{{{{}|{||{||{{{z{{zz||}{|||{|{{{{||{{{|{|{|}{{{{{|{|{{{{||}||{|{{|{|{|||}}||||||{z{{||||}}|||z|{{{{{|{|{|||{|{z{{||{|{{|{|||{|{zz{||{|z||z|}|||{{{{||||{|{z{|z|{|{|{||{{|~|}}}|}}}}|}~|}|||||{||}{||}{{}||}}{|{z{z{{}||||}|||||{{||{{|||{{|||{{z|{{{{|||}|z|{{{|z{zz{{{{{||||{{|{zzz|{{{{|||{z{z{|z{{|||{{{|zzzzzz{{z|{||{{|z{zz{{z{{{|{{||{|z{{{{y{||{y{|||{{{{{zzzz||{{{{{{{|{z{{z{|z{{||{{{{{z|{{{||{|||{||z|{{z{{|{|||{|{{{{z{|{|{z{{|{||{{{{z{z{}{|{{||||{|{{{{|||{||||{{{{{{z{|{{||||||{{{{{{{|{|{z{{||{z|{{z{{||||||||{{{zz|||||||{|||z|{|{{{|{|||{|{|zz{|{|{|||{{}||}||{{||{{||||}||||z{|{|||}|}|}|}{{|||{|{||{|}|||{{{|{|{{}{||||}}||{||{{|{||||{||{{{{{zzz|}|||||||zz{z|{{|}||||{|{|{{z{|||{{|{}}}}}||}|||~}}}|}||{{}}|{||}{||}}|}{{{{{{z|{||}||}|{|{{{{{||}|||{}{{{{|{{z{||{|||}||z{{{zz{|{{{|z||z{{|z{{{z{{{{|{{|{{z|{{{{{||{||zz{{|z{{{|{||{{{{z{z{{zz{{||{{{|{zz{z{{{{|{||{|{{z{{z{{{yz{z||{|{{|y{z{z|{|}{|{{{z{{{|{{{||{{||{|zzz{{|z{{{{{{|{|{z{z{{{{|||{|||{z{|z{zz||{{{||{|{{|{z{{{}{|||||{|z|z{z{{||{{||{{||{{{|{|{|||||||{{{}{{|{|{|{{|||{{|{|{||}{}{|}}{{{|{{{{|||}|}|||||||||{|{}||}}|{{|||}|{}||}||}|{||{|{{||}}}||}{|{|||z{||||||||||{{{{{{||||}}||||{|{{{{|||||{|||{{|{{|{{{|}|{|}||{}{{{{{{{||{|{{{|{{{{{{{{|||~|}~}{{}|}{}}|}~|}}||{|{{||}}|}||}||{|z{{{|{{}|{||||||{z{{{{}|}}|{||{zz{z{{{||||{||{{{|{{{z{{{|{{||{z{y{zz{{||{{||{{z{z{{z{|z||{{{|zz{z{z{{{{{{{{||z{zzz|z{{|{{{{|{{{z{z{{z{|{{|{|||z{zz{{zz{{{{||{{{{zzz{z{{{z{{{{{{zz{|zz{{{{{|||{{zz{{{|z|{}|||}zz{{yy{{||||{{{|{z{{{z{z|{}{||||{{|{{{|{{||||{|{{{{{|z{{|{|{{}|{||z{{{z{{|{|{{{||{{{{{{{||}|||{{{{{{{{|||||}||||{{{{{{zz|||||||{|{{{{z|{}}}|{||||z{{{|{{||{|{||}||{{||{{{}||{|}||{|{z{{z||}||{|{{|{||{{{|{||{||}|{|z|||{{|||{|}|{{|{{|||{{{|{|||{{{|{z{z|||||{||{z{z{{{{{z|{{~~}}||~|}|}|~~}}}~|||||z|}|}||||}}|||{{{{z}{||||}||{|{{{{{||||z{}}{{|zz{{{{{||||{|zz{z{{{{z{{z{{{{|{{zzzz{{{{z{}{{{z{{zzzzz{{zz|||{zz{{{zz{z|{{{{{{{{{z{{z{{|{|zz|{{{{zz{z{{|{{{|{{{z{{{{{{{zz{{{|zz{zzzz{{{{{z{{{z|{{{{{{{|{|{{||zzz{{zz{{|{|{{{{|zz{{z|{|{|{|{|}{|{z{zz{{|{{z}|{|z|{{z|{{|{|{|||{z{zz{{zz||||{}{{z{|{zz{|||{{||{|{{zz{{{|||||}||z|z{{{|||{{|{{{|{{|z|z{{||{{|{}||{|{{{{z||||||||{{{z{||{{|{||||||{{{{{|{||{||||||{|{z{{{|}||{}|||{{{{||{{{z|{{||{|{|||{{|{{|||{|{{{{{{{|{|{{{|{}|||{{z{{||||||||{z{{z{{zz{|{{~|}|~}}||||}}}||||||||||{||{}|{}{|||{z{||{|||{|||||{{zz{{{{|{|{{|{|{{|z{{z|{{|{|{{{{{zz{{{{|{{|||{|{z{{{{z|{|{{{||{{{z{{{{{z{|{{|{zz{{{z{{{{{{{||{{{{z{{{{{|{{{{{{z{{{z{zy|{|{z||{{z{z{z{{{{{{{{{z{{zz{zzzz{{|{|{|{z{zz{z{z|z|{{||{{{z{{z{{||{{|||{z|{{{{{{|{|||||{{{zzz{{}{|{||||{{{z{{{{{{|}|{{|{z{{zyzz{||{|}{||{{{z{{z|{|{{{{{{z{{{|{{|||{{|{|||{{z{|{{|{|{||}{||{{{{z{||||}}||{|{z{{{}|{}|||{{z{{z{|{z|||||{{|{{{{||{|~{}||}}{{{{{{{z|~|{||||{{{{zz{|{||{||}||{{{||{|{|||{||{{{{{{{|{{{{||{||{{{{{{{{{|{|{z||{{{y{|zzz|||{~}~}}}|~{}|~~~}~}}{|||z|z||~}|}}}|||{{||z|}|{{{{{}z}{{z|{{}}}{}||{{{{{{{{|{|{{|}||{{{{{{{{{|}|||||z|{{{{z|||{{|{{{{zz{{|z{{{{{||||zzz{{{{{{z|{||{z{{{{{z{{{|{{||{z{{{z{zz{{z|{{||{|{{zz{zzz|{{{|{{{z{{{zz{|{{{|||{{{{{|z{{{{|{|{{{{{z{{z|||{{{|||{{|{{{{{{z{{|||{zz{{zz{{{|{|{|||z{zz{zzz|{|{{|{{{{{{{{z|{||{{{|}{{z{{{{{{|{||||{zz{{{|{||z||||}|{{{{{{|{||{}{}{|{{|||z{|||||||{||{|{{||{{}|||{||{z{{z{{{|}|}|{{|}{|{|{{{|||||}{||{||{|{{||}|{||||z|||{{|||||||||{|{||||||}{{|}}}{||{|{{{||||{{|{|{{|zz{{|{{||{||{{z{zz{zz{||}}~~}|}|}|}||}}|}}}}}|{|{{}|}{|}|||~|{|z{{}{|{|{|{{||{{|{{z{{|||z{{||{{z{{{z|{|{|}z|{{y{{{{z{{|{|{{{|zz{z{zz{{|{{{{{{y{z{{z{{{{{{{{{zz|z{zz{z{{|{{{zy{|z{{z{{|{{||{{{z{zz{z{{{{z{||{zzz{z{zzz{{zz{{{|{|zz{{zz{{{{|||zz{{{{zz|{|{|z{{{zzz{zz{|||z{{|||zz{zz{z{||||{||{{|{zzz{{||{|{{{|z{|{{zz{{{|z||{|{|z{{{{{||{|{|{z||{{{{|z|{|{|{{|zz||{{{{{}|||}|{{{{{{|{{{||{|}}||z{{{|{{|||||}||zz|{{||{||{z}{||{{{{||{{{{{{{{||{{zz}{{|}{{|||||{{{z{||}{||||}||{{{{{{|{||}||{|}z{{{|{|||{|||z|{z{zz{{{{{|{{|||{{z{{zz{|||{|||{{{z|zz{z|||{{~~}~}}|}}~|}}}}|}|}||{||{||{|||}||||z{{|{{{z|}||{}||{zz{z{{{{||{||}{{zz{{{{|{{z|{{|zz{z{z{z{|{z{{{{{z{{z|{{{{{{{|{|{yzz{z{z|{{{{{{|{zz{z{zz{{{|z{{{{yz{yzzy{{|z|z|||{{zz{{z{{z{{{|{{zz|{z{{{{{{{{{||{{zzy{z{z{{{{|{zzz{{{{zz|{{{|{{{z{|{{{z{|{{{||zzz{|{{{{|{{|z||||{{{z{z|{{{{|{{|{{{{{{{z{||{|{{||y{{{{{{{|{{{{|{{{z|z{{z||||z|{{|{|z{|{|{{|}|}z|z{{{{{{{{|{||{}|{{{||z{z{||||{|{{z{{z{{{{|{|||||{{{|{|{|{||{||||}|{{{{{{|}||{|}}|{|z{{{{|{{||}}|{{{|{{{{{{||}|||{|{{{{z{||{|}||}{{{z{{|{{{{{{|}|{zzz{{{{|{|||{|{{|{z|z{z|{{{{~|~~|~}|}|~~}}~|}}|{{|{|{|}|~||}}|{|{{{{z{|{||}||||{{zz{{z|||{|||{z{z{{{{|{||{{{|{{{z{{{z{|{{{{|z{{{{{zzz{{|||{|z{{z{{{zz|{{{{}||z{z{zz{z{{{{{{|{{{{{zzz{{z{z{{|}{{{|{zzz|{{|{{||{{{z{z{zz{z{{{|{{|{z{{{{z|{{{{|||z{zz{{z{z||||||{{zz|{{{{{{|||||z{{|{{{{||{{{|{{{{{z{{{{{||{{|||{{{{{z{{{{{|}|}||{{{{{z|||{||{||{{{{{{{{|z||{|{||{{|{{z|{{}|}}|{z|{{{{{{|{||{{}|||||{z{||||{|||||z{|{{{{}||{|}|{z{{{{|{{|{|||}|}|||{{{{||}|}{}||{{|{{|{|{}||||||}{{{|{|||}{{|||{{||||{{||||||||}||{zz{z||||{||}|||{{{{z{||}|{{}||z{z{{z{|||||~~~}~|~||}~~}}~}}{}{|}||||}}|}|}|}{|{|z}}}}|||||}||{{|{{||{|||||||||{{{|z{{{|||{{{z{z|{{{{||{{|||{{{{{z{{|{|{|{|||{|{{z{{{{{|{{|{zz{{{z{{{|{z{||{{{{{z|zz{{}{{{{||{{{y{{{{{||{{{||{zzyzz{{{|z{|{{{{z{z{{{{||{z{{{{z{{{{zz|{{{|{||{{|||{{{|{||}||||{{z{|{|{{||{{{{{{{{y{{{{||{||||{{|{{{{{{||{{{||z{|zz{{{{||{{{|{{z{{|{{{{|}|{{||}{{{|{{{||||||||{|||{{|||{|{{|}||{{{{{{{|{}||}}|{{|||{{|||||}|||{z{{|}|{||{{|||{||||{|{|}}|||||}|{|{{{||||}|||{||z{|{}||||||||}}|{{{|{z{|}{||||}{|z|{{|{||{|||}||{|z{z{{{||||{}|z{{{{{|z{{{||~~~}}~}|}}}~|}}~}}}}}~|z|}|}|~}}}{|{{{{|||||||}}|||{|{zz{{{|{{|}||{{{{y{z{|||||||{{{{z{{{{|{{{|{{|z|{zz{{z{{z{|{z{z{z{zz|{|{z|{{|{{z{zz{z{{{{{|{|{{z{zy{{{|{z|{{|{{|zzz{y{{|{{||||{z{{{{z{{{{{||{{z{{z{zzz||z|{z||{{z{{{z{|{{|||||{{{{{{||{{|{|{|{{|{{{{{|{{|{z{|zzzz{{{{{||||||}|{{z{z{z|||{{|{zz{|{|{|{|||}{{}|{{{{{|{z{|}|{|z|{|{{{{{{|||}||||{z{{{||{{|||{|{{||{||z{{{{}{{||||||||{|z|}}|{|}||{||{|{{{|{||||}|z{z|{|z|}}}{}}{|||||z{||||{|}}|}z|{{z{||z{{|{}}|{{{|{{|}{||||}|{{{{{{{{{||||}||{{{|{{{z|||{|{{|{{|{z{z{{||{{~~~~~}}~|}~~|~}~~}|}||||}|||}|}}~|{{|{|{|}|}||}|}|{||{{{||||{|{}||||{{{|{{{}|z|{|{z{{{{{z{|{||}{z{{zz|{{{|{{{{{||{zzz{z{{z{{||||{{zz{{{zy{|{{{||||{{z{{zz{{{{{{{z{{{{{{{z||{||{||{{||zz{{{|{|||||z|zzz{{{||{{z{||{{{|{{|{{{|{|||||{{z{zz|{{{||{|}|z{{{{{{{{{z|{||{{|z{{{{{{||||||{{{{z|{{{|{{{||{{z|||{{||{||z{||{{|||{{|{{|{{{{|{{{{{{{|||||{|}|{|{{{{{{{|{}{|||{{||{z{|{}||||{{||{{|{|||~||{|}|{|z{|}|||}|{||}}{z}{||{|}}}||||}|{||z{z|}}||{|||{{|{||{||||||||}|||{|{{|{|{|}||}||{{{{|{|{|||||||{|{{{{z{||}|{||{{{{{{{z|{{{{}}}}~}~}}~~}}~}}~|||}|}{}}{|}}||{||{|z{|||{||{||{|{{{z{|{{|{{{{{{{|{z{{{{|{{{{}|{|{{{{z{{|||{|{|{|{{{{{{|}z{||{{{{{{z{z{z{{||||zz{zzzzz|{{z|{|{zz{zzzz{{|{{{|{{{{|{{{{{{{|{{|||{{z{{zz{{{{{|{|{{z{{zzz{{{{{|{{|{z{{{{z{{z{||{|{{{{|{{z|{z|{||{||{{z{{{z{{{|||||{zz{{{{{{|||||{||{|{{{{z{|||||||{{{z{{{{||{||{||{{{|{{z|||{{{|||{{{{{{{{{|||||{}|{{{{{{{|{||{{{}|{{{{{{{||{{|||||{{z|{{z|||{|}|}{|{{{|{||}|{}}{||||{||{|{|||}}}||{{|{z{||{|{}|||}zz{{|{{{|||||||||{|{{{{}|||||||||{z{{{{{||{{{}||{{{{z{{{}||{}|{{{{{{|{{|{||z~}~}~}~~~~}~~}|}||}}}}|||}~||{||{{|}{|||}||{|{{|{{{|||{|}|||{{{{z{{}|}|{||}|{|{{|{{|{||z{|{|{|{{zzzzz{{{|{{z{{zz{zz{{{{{|{|z{{{{zzz{{{{|z||z{{z{{z{{{|{{|{{{{zz{zzzz|{{{|||{{{{zz{z{{{{{{|{{{{{{{|{{{{|{{{|{{{{{{z{{{||{{|||z{{{{zz||{{{{{}{{{{|{{{{z||{{|{{{{{z{{z{{{{||}{{{{{|{{{{{|||||{|{z{{|{{{||||||{{z{{{{{{}}|{{|}|{{|{z{z||||||{{|{{{|{{{{||{||{|}{{{{{{{{|||||{|||{|||{{{|||{||}||{{|{|{||||{||||}{|{{{{||}|||||||{{{{{|||{}}}|{|||{{{zz||{|{}|}}|{||{{{||||}}||||{|{{{{{||{|||}{||z{{||{|}||}||{|||{z{{{{|||{~~~~~}}}~~}|~~|}{|}}}|{{~|~{}}{{|||{|||{|||||||{{{|{{||{|||||||z{{{{{z|{|||}|z{z{z{{{{||||{{{||||zz{{z||{{{|}{|{{z{{{z{{{|{|{{{||{z{zz|{{z{{{{|{{{z{{{|{|{||||zz{{{zz{||{|{{{|z{{{zz{z{{{z{{{|z{{zzzz{{|{{{||{{z{{zz{|{{{|{|{{|z{zzz{{{|{{{|}{{{z{{{|{{{{||{{||{{|{z{z{||{{||}|{{{{z{zz|{||||||z|{z{{{||||{|||{{{|{{z{||}{||||}{|{|{z{|||{{}|}{{|{{z|{||||}||{{z|z{{{z{||||||}|{|{|{{{|}{{||}{|||{{||{|}|||}|{}{|{{}||{||}{|||{{{}{z{|||{||}||||{||{{{{||{|||}||{{||{{||||}|{|{|{{{||{{|{|{|}|{{z{{|{z{||}{|{|{z{z{{z{|||{|~}~~~~}~}}~|}|||{|{|}|}}}|}{|{z|{z{{{|||{|||||||zzz||{{{{{||{{{y{zz{}||||{{{{{z{zzz|{{{|{{{{{{zzzz{{{|{{{{z{{z{zzyz{zz{z{{{{z{{zzzz{{{{z{z{|zz{{zzzz{|{{{||{{zzz{{z{{{{{{|z{z{zzzzz{{{|z{{z{zzzzz{z{{{z{|{z{z|z{zzz{{{{|||{{zz{{z{{|{{{{|{{{zzz{{{zz{{{{|||{{zzzzz{{{|{|||{{z{{{z{z|||{{{|{{{{z|{{{{|{{{{}{{{z{{|{{|||{{{{|{{{{|{|{||||||{{z{{|{|{zz|{|{||}{{{|{{{{|}{|||{||z{z{{z{||{||||}{{{|{z|{{{{|||{|}{{{{{||{}||||}|{{{{{{{{|{{|{|{{|{{{{|zz{{|{}{||{{{{{|{|}{|{||||{{{{z|z{{{}{||||{|{{{{{{{|{|{|{|zz|zz{{{|}|||~}~}}~~~~}}}~}}||||{|}||~}}}}}|{{{||{|z{|{||{|z{{{|{{{||z{|||{|{zz{z{{{{{{{{|{{{z{{{z{|{|{|{z|z{zz{z{z{{z{{|{zz{{{zzzzz|{{z|}z{y{zzzz{|{{zz{{{zzz{zzzz{{||{|{z{zzzz{{z{{{{z|{z{zzzzzzz|zzz|{{|{zz{zz{{{{z{|{{{{{{{zz{{|z}{{||{{zz{z{z|{{{{{{{zz{{{zz{{{{|{|{{z{zzzzz{{||{{{{|{{|z{z{{{|{{|{|{z{{{{|{{{{{{{{{|{{|zzzz{{z{{{|{z{{{{{{{{|||{||||{{{{z{|{{|{{{||{{{{{{{{z|{||}{|{{z{{{{zy}||}{|||{|||{{|{|||||{{|{{{{{{{{{}|||||}|{||{{z{||{|||||{zz|{z|{{{{||{|||{{{{|{{}||{{{||{|{{z{{{{|{{{|{|{{z{zz{z{|{|{{{|{|{zzz{{{{||{~}}~}~~}~~~}~||}|}{|}}}|}|}||{{||{{}z|}{}|}{z{{{{|{{||||{|||z|{z{{z|{{{{|}}|z{{z{{{{{{{|{{{{{z{{zz{|{{{|{{{z{{{zz{z{{{{|{||z{|zz{z{{{{{|{|{z{z{z{zzz|||{z{|{{{yz{z{{{|{{{|{{{{z{{|{{{{{{{|{{|{{|{z{z|{|{||{{{|{zz{z|{{{{||{{z{{{z|{|{|{{{|||||{z{{|{|||{{||{{{z{{{z{||||{||{{{{z{{{||||{{||{{{|{}{{{{|{{{||{{{|{{{{}{||{||||{{|}{||{{}}|}|{{{z{{{{{{||{|}{||{||z{{{{||||}{||{{|{{z||||{|||}{{|{{{||{|||{|||||{{{{|||{|}||||}|{{{{z{}}||{|}{|{{|{{|{|||{|}|}{|||{|{}{||||}||{||z{{{|{||{|{||{|z{{{{{||{||{||{{|{{z}{{{||{~~}~~~~}~}~}}|}}|~|}}|}}||{|{||{|||||||{||z|||||{{||{{{|{{{{{z{{{{|{{||z}{{{{z{{{{{|{z}{{{{|{{{{z{{|{{|{|||{z{{|{{{{{{|{|{{z{zz{{{{{|{{{{{zzzz{{{{{{|z|{{z{{y{zz{z{z|{|{{{z{zz{z{||{{|z{|}{{z{{{{||{z{||}{{{z{|{z|{{{{{|{|{{{{z||{|{{|||{|{||z{{{{~|{{{|{{{{{z{z{{||{||{|{{zz{{{|{|||||{{|{{{{|{{{|}{{|{||z{|{zz{{||{{{{|{|{{|z{{{|{|{|}{{|z{|z|{|{{|{|||{{||{{{{{}||||||{zz|{|z{}}|||}|}{{{|{|{|{||}|}|}}||{|{{||||}|}||||{||{{{|||}|||||{|{{{{{||{{||}|{{{{{{z{|||{||{}{|{{{{{z||{|||}|{z{{{|{z||||{|||{{{{{{z|{||{|~}}}~}}}~~}}{}}{}{}||}|~}}{{||{{{z~|{|||}{}{|{|{{{|||||{|{{{{{{{z{{||{{|{{{{zz{{{{||{{{|||{zz{{z{y{||{{{{{{{z{{zz{{{||{{{{zz{y{zz{{{{{|{|{{{{zz{zz||{||{{{{{{zzzzz|z|{{{||z{z|{z{|{|{z{{{{{zzzzz{{z}{{||{}{{||{{{z{{{{|{{||{zz{z{|{{z{||||{zz{{{{{{{|{{|||z{{{{z{{{{|{{||}|{{{{z|{{|{|||z||{{{{{{z{|||{{{|{{{{||z{|{{||}|}|||z{{{{|{||||}|{{{{{{|{|||||{|{|{{{|{{{|||{||||}{|{z|{{}|{|{|}|{|z{{{|{{|{{|||{}{{|z{{{{}{}}||||{{|{|{{{|||||{|{zz|{{{|{|||||||{z|{{{{{}}||||||{|{z{{{{{|}{|||}|{{{z{{z{{|{{{}{{z{zz{{zz|{{{~~~~~~}|}|{||}|}}}|}}{||z{{|{|{|{{}}|||||{{{|{|{||z|||{|{{{{z|{||{|{|{{{zz{|{z{{{z|{z{{{z{z|{{{|{{{{{{zz{{zz{{{{{{|{|{{{{zz{{{{{{|z||{z{{{{y{{{|}{{|{zz|zz{{y{{|{{{|||{{zzy{{z{{{||{|{{{{{zz{|{{{||{{z{{{{{z{{{|{|{||{|{{{z{{|{{|{|{|{{{{{z|z{{|}{|||z{{zz{{{||{|{||{{{zz{|{z{{|{}||{|{zzzz{zz|{|{{}|{{|{{{z{|||{|||{{{z{{{{{|{|{~|||{|{|{|{||{|}{||}{z||{zzz|||{|}||{{z|||{{|}||}|||{{||{{{{||||}|||}{||z{|{}}||{|||}|||z||{{{{|}||||{z|||{{||{||{|||{{{{|{z||{{|||||z{|{|{z{||||||{{{{{{{{{{|{{{z||{{{z{z{{|{{||~~~~~~~~|||{||}}|}~}~|{{|{||{|||{{||}|}{|{z{{{|||{}{|||{{|{{{{|{|||}{z{{{{{{{{||{{{||{{{{{{{{z|{|{{{|z{zz{{z{z||{|z|{|{|{z{zz{{{}{||{{|zz{{{z{{{{{||||{{|zzz{zz{{|{{|{|{|z{zz{{{{|{z{{||{z{zz{{|{z|||}zzz|{|{z{{||z||}{{{|{z|{||{||{{||{|{{{{z||{|{||{z{{{{{{|{{|{||||||}{|{{|||{}||{||{|{{{|z{{|{{{|||{{{{{{{|||{||||||{{{{|{{|||}}|{{{{{|{{{}|||{|}}{{||{{{{||||||}}|{|{||{|}||{|||}|||{{|||{|||||}||{{{{{{{|}}|}}||}z|||{z{||||||{|}{{|{{||{}||}|||||{||||z|}{}{{{}{{{{|{{{||{{|}|{|||}z{z{{{||{|||{{{{|z{z{{||{}~~~~}{}||}|}}}}|}}}}|}|||||||{|||||||{{|{{zz|||||{|{|{z{|{{{{{|||{||z{{z{{|{|}|{|{}{|{z{z{{{||{{||||z{zz{z{{{{{{{{{zzz{{zz{{{z||{{{{z{{y|{{{|{{|||{{z{{x{{zz|{{z{{|{z{|{z{{|{{z{|||zz{z{{{{{{z|{||{z{{{{|{|z{{{{||{|zz|{{zz{{|{|{{}|{{z|{{{|{{{{{|{{z|{{z{{{{|{{|||zz{{{z{{z|{{||||||z{{{z{{||||{||{|{{z{{{{|{|{||}{z{{zz{{{{||||||{|z{{{{{{|{{{||||{||{z{|{{||}|}{|{{{|{z{|}|{|}||{{{|{z{{||}|{|}{|{|{{|{{{}|}|||{|{||z|{{|||||}||{{{{{{|{||||{|||}{|||{|{{|{||}||||{{}||{||{|{|}}|{|{{z{{|||{{|}{{zz|{zz{|{}{|~~}~~}}|}|}{|}}}}}|}}|{{{{||{|{|||||}{zzz{|{{{||{|||{{{{{z{|{|{{{{{||{{|{zz|z{|{{|||||{{{{zzz{z{{{{{{{{{zzzz{{{{|{{{{{{zz{{zz{{{{|z{|z{{z{{zzz{z{{{|{{{{{z{{z{|{{{{||{zzx{zzzzz{z{|{{{|{zzzz{z|z|{||{{zzzzzz{{{|{z{|{{z{{{zz{z||||{|{{{{{|{{{{{|{}{||{z{z{{z{z|z|||||{z{z{{{{{{{{{{z|{{{|{{zz{|||||}{|{|{{zz{||||{||{{z{{{{{{}|}||}|{{{|{z{{{}|{{|{}}{{{|{{z{{|||{|||{zz{{{zz}||{{||||{|{|z|{|||}||}{|{{|{||{{}{{||||||zzz{|z|{||||||}{{{{{z{|||||{|||{{||{|{|}|{{}{}|{|{{{{{{|{|||||||{|{{z{||}|{}|||{{z{{{z{{||{}~~~}~}~}{|||~|}}|}}||||{|{{}|||||}{|||{|z{{|{}{||{|||{{{{|z{{|||||{{z|{z|zz||}{z||||{z{{{{z{{{{{{|||{z{{z{z|{{{{|{|zz{{zzz{z{{{|{|{{{{{z{z{{|{{||||{{{zz{{zz{{|{||||{{zz{{z{{{{{{|z{{{z{{{{z{z{{|{{z{z{{|z{z{{{{{|{|{|{|{{{{|{{{|{|{{|{zz{{|{{|{{{|{{|z{{zz||{|||{{|{{{{z|z|||||||{|z{|{{zz{{|{{{|{|zz{{{{{{||{{|||||{|{{|{{|{|}}{|{{|{|{|{||{}||||{{{{{{{{||}||{|||{{{|{|||}{||||||{|{{{|{|}{{|}|||{{{{||{{}|{}}}|||||{||{{|}{||}|||{|{{{||}||}|}||{{{{{{||||||||||{{{z{|{{|{{{{{||{{zz{z{{|||||}|{{|{{{{{{||||~~~}~~|}||{||||}|||}}||{|{|{{}||z|||}}{{{{{z|{{||{{{||{|{z{{{||z{|{{|{{{{yz{{z{|z{{{{z{{zz{zz{{{{{{{{{{z{{zz{{{z|{{{{zz{z{z{z{|z{{{|{{{zzzzzz{{{{||{|z{zzz{zz|z||{{{|{{zz|zzyy|{{|{{|{zzz{zyzz{||{|{{{z{{z|{z{{{{z{||{zz{zz{{{{{{{||||z{{{{{{z{{|{{{{{z{{{zz|{{{{||{|{{|{{z{z{||{{|{{{z{|z{y|{{||{{{{|{z{{{zz{{|{z||{{{{{{z{{{|||{|{{{{z{{{||{|{{{||}|{{{z{z|||z{|||{|{z{{z{{||||{}|||{{{{{{|{||{|~|{}||{{{|{{||||}}}}{{{{z{|||||{|{||{|z{|z{|||||{|{|{{{|{{{|||{}|||{{{z{{{|{{|||||}{|z{{{{z{}{|{{{|{z{{{{zz{{{{{}~}|}|{||}{|||~}}~}||{|{{|{|{{z}{}|{||z{{{y{}|{{||{|{{{{{{z{||{{|||{{{{|{{{{||z{|||{{{z{{z{|{||{{{zz{zz{{zz{zz{{{{{z{z{{z{{{{|{{|||zzzzzzz{{|{{{{{|zz{{y{{{z{z}{z{|{z{{{{zz{|{{{|{|{{{yzzzzz{z{{{{||{|{{zz{{z||||||{{zz|{{z{{||{}|{{{{{{{{{|{{{{{{|{|{{{{{z{{|||||||z{{{z|z{||{||{|{||{{{{z|}}|||||{{{|{{{{{|||{{||{{{{{{{{|{|||{|}{{z|{{|{||{|{||||{|{|{{z|}|||||||{|{{{{|}{|||}||{{z{{|{{|||||||||z{|{{{{|}|||{|{|{{{{{|{}|||||{{||{{{{{{|{||||}}{||{|{{|{}{}{||{{|{{{|{{||{|{|{|{{{{z{{z{z|||||{{z{z{{z{{|{||~}}~|||||{}|}|}}||{|{|}{{{|||||||{|{{z|{|z{z{{|||z|{|{{z{z{{{z||{{||{z{z{|{{|{{z{|{{zz{zzzyzz{z|{{zz{{{zz{z{{{z{{{z{{{z{{zz{|{{{{{|{z{zzz{{{zz{{{{z{{{{{zyz{{||{{|{{{{z{zzzz{|{{z{z|z{zz{zz{z{{{{{}{z|zzz|{z{|||z{||{zzzzz{z{z|{{{{|{z{zzz{zz}{|{|||{z{zzzz|{|{|{|||z{{z{zzz||{|||{|z{z{{|z{{|}||{{{|{z{{z{z{|{{{{||z{{{{{{z{|||{|}{{{{{{{{{}{{|{||{{{{{{|y{|{{|||||{z{{|z{{|}||{{}|{{|{{{|{|{|{{|{}|{{|{||{||{||||||z{|{z||||}|{||{|zz{{{|{{|{|{{{|{{|{{{z{{|}|{{|||{{{{{|||||{{|}|{|{{{{{z|{|{{{|{{z}{{{{z{{}{|~~~}}}|}|||~~|||}}|{{||||{z|{{}|{|}|{{|{{{|{{{{{||||z{{{z{z{{||{{|{{{{{{|zz{{z{z{}{|{{{{z{{{{|{|{{{{{{zz{z{{zz{{|{|zy{{zzy{{{{{{{{|{z{zz{z{|{|z|z{{{{zzz{{{z{{{|{||{{z{z{{{|{{{z{{|{{{{{z{z{{{{{|{{z{z{{{zz{|z||{|{{zz{{z{{{{{{{|{|{{{z{zz{|{{{{{{{z{{{z{{{{|{||}{}|z{{{z|{{||||}|{|z{{{{zz|{{}{{|{z{{{{{z{|{|{{{|{{{{||{{{{|}{|{|{z||{{{{{||}|{|{}{{z|{{{z{}{|{{{||{z{|{|{|}{{{}}||{{{|{}|||||{{|||{|{||{{||||||}|{{||{||{||||||}|{{{{|{{|{}|{||}||{||{|{{}{||||}{{zz{|{z{{||||}|||{{{{{{z{|||{|}{{||zz{z{z{{z{~~~~~~|}|}||{|}|}||}|}|{|||{|||||||}||{z{{z{||{|{z|{z{|{{z{z|{{||}||{|{z{z{{z|{{{|||{{{{{{zz{{|z{|{|{{{zz{zy|{{{|||{z{zz{z{|{{{{{{|{{{z{z{z{{{{}||{{{z|zzzz{{{|{{{{{{{{zzz{z{{z|{{{{{{{z{{z{{z{{z|{|{{{{{{{{{z||{{}{|{{z|{|{||{||||}{{z|zzzz|{|{{|||{{zz{z{{|||{{|}{{z{{{z{{z{{{|||{{{{z{{{{|{{}|{}|{{{{{{{{|{|{{|{{|{{{z||{|||}||}|||{{|{z|||||||{}|{{|{z{{{|{||{|||{|{|{||{||{||}|{{|{|{{{{{{|}}}|}{{|{{|{{}}}||}||{||{{{||}}|{}|{{|{{{{||{{||{|||{|{||{{|||{|||||{{zz{{{z|||||}}}{{{z{{{z|}|{{|{|{{|{{{{{{{|{z~~~~~~}}|||}}|}}|~~{|}{z||{|{|{|}|{}{||{{z{||{|{|{|{{|zz{{z{{||||||{{{z|||z{|{{{{{zzz{{zzzzz||{{{{{{zz{{{{{|{{|{{{{{{{z{y{{|||{{{{{{z{{z{z{{{{zz||{{{{{z{zzz{|{{{|{{{{z{z{z{|{z|{{|{z{z{{{z{{{{{||{z{{z{{z{{||{{|{|{z|||z{{|||{{{|{|z{{{z{{|||{||{|{|z{z{z{{|{{||{|{{{z{{{{z{|z|{||{z|{{|z{|{||{||{{{||{|{{|}{z{{}{|{zz|{{{{||||{|{{|{{z||{{|{}|||}{{{{{{zz{|}||{||{z{{{{{{||{|||||{|{z||||{{||}|||}{{zz{{{{||{||||{{{||||||{||||||{{{{|{|||{|{|||}{{|{|{|z||{}{{|{{{{{{{{z{|{{|||}{|zz{{{zz|||{|||zz{{{{{{{||{{~~~~~~}~~|}|}}~|}}||||||z}|{{||{||}|||{|{||{z||||||}|{{z{{{yz{||{|{||{z{z{z{z{||{zz|{|{zz{{z{{||{{|}{z{{z{||{|{|{||z{{zzz{z{{{{{|{||{|{{{{{z|z{{{{|||{{||zzzz{{|{|{{|{{{{{zz{{{{{|{{|{{zz{zz{|{{{|}|{{{{z{z{{{{{|||{|{{{zzz{{{{}|{{||z{z|{{{|{{|||{||{{{{{{z{{{||{{|{{{zz{{|z{{z|}}{|{zz{yz{z||||{{|{{{|{{z{|||{|{{{{{{|z{|{{{||||{}|{|{{{{{{}|{|{|||{{{{|{{{{}||{}||{{z|{{|{{|{|}|||{{|{{{{{|||{||||{{}|{{{{|||||}|}|z|}{{|{|}|||}}||{||{||{||{|||}}||{{{|z||||}||||||z{{{{{{|{}{}|||{z|zz{|{|{|{|}|z{{zy{{{|||z|~~~~}~}}|}|}~|}}}}}}}||{{{|z}{{{|||}|{{{{|{{{|||{{|}{|{{zzy{||||z{{||zzz{{{zz||z||{{|{{{z{z{{||{{z{{{{z{{{{z{{zz{{{{{z{zzz{zz{|z{{z{zzzzz{{{z|{|{|}{{{{{z{zz|{{|{||z{{{z{zz{{{z|{|{{z{z{{zz{{|z|{{{{{z{{{{{z{{{{|{||{z{z{zzz{{|z{|||{{{z{zzz{z{|{||{|{{{{{{{|||{|}|{{{|{{y{z{|{|{}|{{{{{z{{{{{{|{{|{{{{|{{{z{|{{{||||{|{{{z{{{|||}{|{|{{{{|{z|{{||||{{{|{{|{{{}{{||{|{{{{{|{{|||||||{{{{{{{|||{||||||z{{{{|{||}||}|}|{|||{{{||}}||||{{{z{{|||{|}{{}||{|{{|{{||{||}{|{|{{|z{{z|{||{}||{|zz{{{{|{|{{||{|{z{z{{{||{{~~~~}}}|||}}|}|||}|}||{{{{{||{{|}}{{z{{{{z{{|{|{|}|{{|{zz{z{{{|{|{}{z{{{{{z{{|z{||{|z{z{{{{{{{{{{{{z{zzz{{z|z{|{|||{{zzzz{z{{{z{{||{zz{z{zzz{{|{||{{z{{z{{z{{{||{{{|zz{|{{{{{{z{{{{{z{z|{yyz{{z{|{{{{z{{{{y|{{{z{||zz{{{{{{{{{{{||}|z{{{{{{{{|{{{{|||{{z{|{|{|||z}{{{{z{z|{{{|{|{||{{{{{{z{|{|||||{|{{{{{{z|{{|||{|{z{{|{z{||{|{{|{{{z{{||z|z{|||||{{{|{{{z{|{||{|||{z{|z{{}|{||||}z{|{{{{{|||||{||||z{{{{{|}|{{||||{|{{|{{|||{|{||{{{{{{{{{{}|||||||{{|{{{||{||{|}z|z{|{z{{|||}|}|{{z{{zz{{{||{{|{{{{{{{{z|{{{z~~~~}}}}}|||}~~||}}|{{|{{{||||}|}|z{||{{{{|{|}|||||{{{z{{z{{{|{}{|z{{{{{{{{{{{{|}{z{{y{{{{{}|z{|{|{y{{{{{||zz{{{{{{zz{z{z{{|{{{||{zz{{|{{{{||z|{{{|z{{{z{{{||{{z||{z{z{z{z{{{{{|{{z{z{z{|{{|{{z{||{{zzz|{z{{{}{{{|{zzz|{z{{|{||||{{{{z{z{{|{{{{{|{{{zzz{{z|{||{z||{{{{{{|{{|||{|||{{|{{{{{{{{{{||||{{{|{z{}||{|{||{{|{|z{{||}||||{{{z|||{{|{|}|}||{{|||{|{{|{|}|{{|z|{{z{{||||}|}|{|{||{}{|}||||}}||{|||||{}|||}}||{||{{|||{||{|}|}{{|{|{{{||||{}}{||||{{||{|{{|}|{{{{|{{{||{|||}|{|z{{{zz{{{{|||{|{{{{z|z||{{{~~~}}{}}||{|}}~|}}}|{|{zz{z}{{{{{|{|{|{{{{{z||{|{||z|{z{z{z{{}{z||{zz{{z{{z{{{{{{z{{{{z{{zzz||{|{|z{z{{zzzz{{{{{z{{{zzzz{zzz{{|z{{}{y{{zzz{{{{{{{{{|{{z{zz{z{{{z{||{z{z{z{{z|{{{{{{z|zzz{z{{|{{z{z{zz{z{{{z{{{{|{{{{zzzzzz{|{}{{|{|{zzzzz|{{z|{{|||{|z|z{{{{|{{}|{{|zz{{zzz{|{{|||{}{{z{{{z|||z{{}{{{zz{|z{{{{{{{||{{{{zz{{|{z|||{||{{|{{||||{|||{|{|{|{{{z{||{||}{|{{{{{{{||}{}{||{|{{|{|{||{|||||}{|||{{{|||||||{||{{{||{}|||{{|||{{{z{{{{|{|{||||{{{|{{{|||||}|{|{{{z{{z{|{|{|||{{{{{{{z{|{{|{|{{{{{z{{z{|{{{~~~}}}}||}}}}}|}}}}{{{|{|z||||||}||{{|z|{z{{z{{|||||z{{z{{{{{{{{{|{{z{{zzy||{{{{{{{{z{|{{{{|{|{z{{|{z{{|z{{{{{{{{z{zz{zz{{{||{{{{{{zzzzzz{{{|{{|{{{y{{z{zz{{{{{{|{{z{{zzzz{{z{{|{{z{z{z{{{{|zz{z{{{{z{{{{z|||{{|||{z{z{zz{{||{{{||{{{zz{{||{|z|{}}z{yz{{{z|||{|||{{{{{{{z{{|{|{{|{|{{{{{{|{{}|||{|zz{||{z{{{{{{{{{{{|zzzz{|||{||{|{{|z{{|{}{{||{|}{|{{zzz{|||}{||||{z{{z{{{|}|||}|{zz{||{{{|{||||{||{{|{|{{|{|||}|{{||{{{{}|z{|||{|z|{{{z{|||{|{{~{{|{|{{{|{{{|||}{{|{{{z{{|{{{}{}|{|{zyz{{|||{{||{|{{{{{z{{{{{~~~~}}|||||}|}}}|}|||{||{{{|||||}|{{{{{{{|||{{{{||{{z{{|{{{|{||{{{{{z{z{z|{{{||{{{z{{z{zz{{|{{{{{z{z{z{zz{{{{z|{{{zz{{z{z{{{{{{|{{z{z{zz{z{{{||{z{{zz{z{zz|{{{||z{z|{zzzz{zz{zz{{|{{zz{|{{{z{zz|zzzz{zzz{{{|z{{}z|{z{zzzz{|{{{{|{{{z{zz{z{{{{{}|}z{{z{{|z|||{{|||{{{{{z{z{{{{||{{z{{zz|z||{|{||{{{zz{z|z{z{{{{|{{{|{||{z{{{|{||{|z|{{{|{z||{|{||||{{{{{{z||{{{{|{|z{{|z{{||||||||||{{z|{{{|{{|{{|||{|{|||{}||{|}{||||{{{{{||{{|}|{{|{{{{|{{{{|}||{{{{|{{{|}|||||~{||{|{{{z|{|{||}|{z{zz{{{|{{{{|{{z|z{zzz|{||{~~~~~}}}}}|}}}}||}}}|}{{|{{|}||}||}|{{{{{{|||||||||||{{z{{{z{|{|{{{||{{yzzz{z{{|{{||{{{{zzz{{{{zz||{{z{{{{{z{z|{{{{z{z{{z{z{{|{{|||{zz{{{{{{|{|{{{|{z{|z|{z{z|{}|{{{{{{zz{zzz|{{{||z|{{{{{|z{{z|{}||{{{{{|{z{||{|{|{||{{{{||{}{{{||}|z{z{||{{|||||{|z{z{{z|{{{|||||||z{{{{{{{{|z{|{{|{{{z{{}{|||{||{|{{|{{z{{{{{{|||{{{{{{{{{||||{||{||{{{|z}|{|||{||{{{{{{{|}}||||||{{{{{{{|{|{||||}}{{z{{{||{{||{|{|{|z{{{|}||||||||}{{z{||}{|{|||||{{{z|{||{}{{}}{|{||{{{||{}|}||{{{{{|{z||{|}|{||{|zzz{|{||{{|||{{|z{z|{||{{|~~~~}}}~|{|}}}}|}|}}|||{{|{|||{{}||}||{|{z|||{{{|||{{{{{z{{zz|{|z||}{{{{zz|z|{|{{|||{{{{{{zzzz{{{{{{{{zz{||zz{{{{{||z{zzz{zz{|{{{}{z{z{{yzzz{{||{{{{|{{z{{z{{||||||{z{{|{{{yz{{{{|{{|{zz{zzzz{{{|{{{{z|{|{zy||{{||||{{zz{y{{{|{{{{{{{z{{{{|z{{{|||||{{{{{z{{|}|{{|{|{{|z{{{{{|||z|{{|z|{{{{{{{||{{||{{{{z{{|||{{{{|{{z|z{{z|{{}||{||{{{{{||||{||||}|{{{|{{zz|||}{||{|{z{|||{{{|||||}||{{||{{||{{||}}|{{z{||{{}|||{}|}|{{|{|{||||||}}|zz{{z{{|{|||}||||{||{{|||||||||{|{{{z{{||||{||||{{|{{{{|{{}|||{{z|{{{{{{{|{{~}~~~~~|}}~|~}}}}}~~~}}{||||{||{}||||}{z{{{{{{|z}||||{|{{z{{z|||||||{{{{z{{{z||{|{||{{z{{z{|{||{{{|{|||{zz{z|{{{|{{{{{{z{zz{{{{||z{{||{zz{{{{z{{|{|{}|{{z|{zz{|{}||||{|{{z{{zz{{z{|||{{zzz{z{{{{{|||||{{{{{{zz{{{z|||{{{z{z|z{{|||{{{|{|{{{zz|{{|}|||{{{{z{zz|{|{{|}|z||{{{{z{{{||}|{{{{{{zz{{}}|{||{{||{{{{{{{|{{|{||z|{||{{|||||||}|{{||{|{{|{|{||}||{{|{|{}}|||}||{{{{|z}{}||||}|{|||{{||||}|{{}||{{{|{|{{|}|}{|||}||}{|||}{{|{|{|{{{{{{|||}||{||}||{|{{{{|||{}{{||||{|{{{{|{|||}|||{{||{{{|{|{{||{{{|{{{{{{{{|~}||}~}}||}}|}}}}}|}|{{{{{}|||{||}{{{{{{{{|{||z|||{|{{z{zz{{{{{}{{{{{z{{|z{{{{{|{{{zzzzzz{|{|{||{{{{{{z{{{{{{{{|{{{zz{{z{z{|{|{|{z{|z{zz{z{{|{{{{||{{{z{{{{|{{{|||{{z{{{{{z|{{{{||z{{z{{zz{|{{{|{|{z|{{{zzzz{{||{{}{{{{{{z{|||{|}{{{{z{{z{{{z{|z|}|{{{z{z{||{{|{|{{{{{zz{|{}||{|{{{{{zzz{|{|{{{{|{|{{z{{z{|{|{|||}{|{{z{zz|{||||||{{{{{{{{||{||}|||{{}{{{{|||}}||||{{{{}|{{|}|}}}|{{}{{{{{||||||}}|z{|{||{|||||}||{||{{z{|||{{|||}|{zz|{||{|||{||}|{{|{||||{{||||||{{{{{{y{{{|||}|{{{{zz{{{|{{||||{{|{zz{{||{|{~~~~}~}}|}}}}}}}}}}}|||{}|{||z}|}||{|{|{{{|||||{z|}|{{{z|{{{||||||{{|{{z{{{{{||{{{|{{z{zz{z{{{||{|z||{{z{{z{{z{|{{|{z{{{|{z{{|z||{|{|zz{{{{{{|{||{{{{{{{z{zz{|{||{{{{{z{{{{z||z{{{|{|zz{z{zz{|{{{|||{z{{z{zz{|{{||{||{|z{z{{|{{{{{{|{{|{zz|{z{{||}|||||z|z{{|||{|||{{{{{z{{{|{|{|||||{{{{{{{}}|{{|||{{||{{z{{{{{|{|{z{|z|{{{{{||||||{{{{{{{||{|}||}|{{{{{{|{{|||||||{{{z||{||}|||||||{|{||{|{|||||||}{|{{{{{|}||||||{||{{{{{{{|{|}|{|z{{|{{{{|{|||{|}{{{{{|||{{{{{}|||{{{{{z{|{|||}|{{{{z{{{|}|||{{|{{{{z{{z{z|z{~}~}}|}}~}}|}}|}|}|{{||{|||}||||{||{z{z{z{|}|||}||{{zz||z{{|{{|{||{{z{{zz{|{{z|{{{z{{{z{{||{zz|{|{z{{{z{{{{{{{|{{z{z{zz{{{|{{{{{|{{{{z{y{{z{{||{{{{z{{{{z{z{{{||{{z{{{z{z{{{{|{{{|}z{zz{{z{{{{|{{{{{{{{z{{||{||{{|{|{z{{{}{{{|{{|{z{{{{{|{zz{{|}{z{{z{{z{|}|{|{|||{{zz{{{||||{{|{{{{{z{{{{{||{|||{z|{{{|{||{||}}{{{||{|{{|{{|{|~{{{{|{|||||{|||}|{{|{{{zz|}|{}}|{|{{|{{{{{|}{|}{}{{{{{{||{|||{|||}{{{{{{z{|||||}||{|{{{{{|}|}|||||{|||{|{{{{|||}||{|{{|{||||}||{}|{|{|||||{||{|||{|{{{|z{}{||{{|||{zz{z{z{{||z}~~}~}|}|{||}}}|}}||||{{{|}}|{|}||{z|{{|{|||{{|||{{{{{{{z{{{||||{{z{|z{{{z{|{{{{{{{|zz{{z{|{|{{{{{|{z{z{zzz{{{|{|z{{z{|zz{{{{{{{|{{z{{z{z{{{{z|{|{{z{{{zz{{{||{{||{zz{{{{zz|{{z|{{{{{zzz{{zz|z{{|{zz{zz{{{{{||{|||{{z{{z{{{{{{{{||{z{{zzzz|{{{z|||{z{{{z{{{{{{}||||z{{|z{{{|{|{|{|{{zzz{{{|||{{}||{z{{{z{z|{||{{||{{{{{{{|{}||||||}{{|{{|z{|{||}|}{{{{z{{{{|{|{||||{z{|{{{||||||{||{{{{|||{|{{|||}|||{{{{{{|||{|}|{||{{|{z}|{|{{|||{{z{z{{{||{{|}||||{{{{{{|||{|||{|{{{{{{z{|||||||{{{z|{z{|{{|{{{|{{{{y{z{{{||~~|}~}}||}}|}}}|~}}{|{{||{|{||{}|{{|{{{z{{||||{|}{|{z{{{{{{{{{||{}{{z{z{{zz{|zz||{|{{{z{x{{{{{{{||{{z{{zz{|z{{||||{z{{zzzz{{{{{{|z{zz{zzzz{{{z}{}{{z{zzy{z{{|{{|}|zz{{{zz{{|{{z|{|z{z{{z{z{{|{{|{{{{{{{{zz{{|}{|||{{{{{zzz{||{||||{zzz{z|{{{|{{{|}{{zzzzzz||{||}{|{{{{z{{{|{{|{|{||{{{{{{z{{|}{{||{{}{{{{{||{{{|{|{z{{{|{{{{|||{}|{{{z{{{|||{|||{|{{||{{z{{|}{|{{||z{{{{{||||}}{}}||||{|{{{|||||}||{{{{|{{|{}}}||||{{{|{z||}{{|||{{z{{{{|{{{|}}||}|{{{{{{|||{{{|||{|{{{{{{|{{{||||}{y|z{{|{||||{{||{{{z{z{{||{{~~}}}}}|||||}}||}|}|z{{{|{|{||||||||{{z{z{{{||{|{||z|zzzz{z{{|{{{|{{{zzzz{zz{{{z|{{|{{z{zz{|{|{|{{{|z{{z{{{zy{{|{|{{z{{zzzyzz{{||{|{{z{{{{z{{{{|{{{zz{{z{zzzz{z{||{{zz{zz{zz{{|{{|||zz{{z{zz|z{{|||{z{z{{zzz|{|||||zzzz{zz{{|||{{|{{{{{zz{z{|{{|{{|{{{{y{{{|{{{{{|||{|{{{{{{{{|{z{}|{{{{{{{{|||{||}{{z{{z{{{{{{{|{|{{{{{{{{{{|||{|{{{|{{{{|{|{|{||{|{z||{{{|{}|||||{z{|{|{{||||{||{|{{{z|{z||{||}|||{{{{|{{||||||}|||{}{{{{||||}||||{z{{z{z||}|||||||z||z||{|{|||||{|{{{|{{{||{|||{||zzz{{{{|{||{||{{{{{{{|{{|{z~~~~}}}|||||}}|}}}}}}||{{||{|{{{{{{|{{{{|z{{|{{|{{||{{{z{{{z||z{{{{}{{zz{{zz{|{y||{|{|{{{zzz{{{{{{{{{{z{{{z{z{{{|{{{{z{{zz{{{|{{{{|z|z{zzzzz{zz{{{||zz{{{{{z{{z|{{{|{z{{yz{zz|{{{{|{{{{{{z{z{|{{{||{{{{{z{{zz|{{{|{{{{zzzz{{{|z{{|{{{{{{z{|{{{||{{|}{{{|z{z{{{{{{{|{zz{z{z|{z||{|}{{z{{{{{{||{|{||{{{{{z{{zz||||||{|{|z|{{{{||||{||||{{{{|{{{||||}|}{z{{z{{{|||}||}||z{{{z{{}{{|||}}{zz{z{|{z||{|||||{{{{||z{}{|{||||{|{{{{||{|{{||{{{{|{{{{|{{{||{||{{|||{||{{||}||{|{z{{zz|{|||{||{{{{{z{z{|||{|}|z{{{|z{{|{|}|~~}}}|}{{|}|}|}}}}|||{|||{|{|{||||{z{|{{{y{|||{{||{{{{z{{{|{{||{{}|{{zz|zz{{{{{{}{{zzzz{{|{{|{{{{|{{{{z{{zzz{{{|||{{|z{{z{{|{||{{z{|{|{zz{{{{|{||{{{{{z{{{{|{{|{{|zz{z{z{z{{|{{{|{{{zzyzzyz{{z|{{{z{{z{{{z{|{{||{|{{y{{{||z|{|{{||{||{{{{{|{{{{{{|{{{zz{z{{{{||{|{{z{{{z{{z||{{||{{{z{{{{{|||z{||{{{zz{{z{{{{{|{{{{{{{|{|z|{{|||||{{|{{|{{||||{{}||{z{{{z{{{{||{|{{zz{|{{z{|||{}}|{{{{z||||||||||{|z{{{{|{{||{||}||{{{{{|{}|||}||{z{{{}|z{{|{|||}|{{||{{|{||||{}{}{{{{{z{|{{||{|||{z{{{{{{{{{{{{||{{{{|{zz|{{||~~~}}|~{||}}|}|}}}}|{||{|z||{|}|||||{{|{||{z|||||}||zz{z{z|{|{{|{|{{zz{{|zz{{{{z||{z{{{{zz{{||{{zz|z{z{z{{z{{|{|z|{zz{zzzz{|{{{|||{z{zz{yz{{||z{{{{{zz{{zz{{{|z|{|{{yz{z{z{{{{{|{|{{{{zzzz{{{{{||{|{zz{zzz{{{|{|{|{{zz|yzz{|{{{|||{z{{{yz{|{{||{{}{{{|z{{{{{{{{{|||{|{{{{z|||{||||{z|z|{{{{|||{|}{{z{{|{{{||{||{}|{|{z{{{{|{||||||{{z{{{{||||}{{||{{z|{{|||{|||||||{z{{|{|||||{|{|{|{{{|{||||||||||{{|{||}||||{||{}{{{{{{||||||||||{{|{{||{|{}|||}}|{||{{|{||{{|||{||{{|{{||{||||{|{{z{|{{||{|{{||{|{{yzzz|||{{~}~}}}|~|}||}}|}~||}{{z|||{||||{|{z{|{z|{{|||{{|||z{{zz{{|{z{{|{||{{z{{{{{|{{{|{{zy{z{z{{}{||{{{{z{{zz{{{{{{|{{z{zz{z{zz{z{{{{{{{{z{{z{z{|z{{{{{{{{{{{z{zz{{||{|{{{{{zz{zy{{{{|{{|{{{|{|{{{{|{{|{{{z{{|{{z{{{{|{||{z{zz|{{{{{|{{{{{y{{y{z|{zz{|{|{{|{z{z{y|{}{{||{|{{{{{z{{{|{||{|{{{{{{{|{||{|||{{{|{z{z|{|||}{{z{z{z{{{{{||||||{{{{|{{{||{{|||{|{||{{{{||||||{}|{{}{|{z{||{|}|||{|{{||{||{{}|}}|{{||{|||}||{}{|{|{{|{{{}|||||{||{{{{{|{{{|||||}|{z||{{||}|{||||{{{{{z{{{{|||}|||{{z||{|||||||||{z|{{{zzz{|||}~~~}}}}|||}}}}|}}|}|{{||||}|}||||{||{||z{{{||}{}|||{{|z{{z|{|}||||{|{zz|{|z|{{||{||z{|z{zz{{|{{|{{|z}|zz{{|{{||{{|{{z{z{{z{|{z{{||z{{{z{{{|{|{{{||{|{{z{{{|{{{|||}{|zz{{zz{|{|{{{{|z|z{{zz{}{{|}{z{{{{zz|{{{{{|||}{{{{z{||||{{{||||||{z{{{{{{{{|||{{{z{{z|{{|||||}{}{{{{{{{||||}|{{{{|{{zz||}||{|{{{{z{{{|||||||||}{|{{{|{||||||{|{{z{|{}{|||}||||}{{{{{z{||||{||}{z{{||||||||}|}|{{}{|||{|{|}|}|||||{{{|{|~}|}|}}|||||{{{|}}|}}}||{{|||{{||||}||}|{{{|{||||||}|}}{|{{|z{|{}||||}||{|{{{{{{||||{||{{|{{z|{{}||{~~~}~}~}||}|}}}|}}}}|{|{|{}{|||}|~||{|||{{{{{{|}{||}|{{zzz{{|{||{||{{{{{z{{{{{|{{|||{{{zz{z{{{|{|{|||{zz{{{{{{||{{{|{zz{zzz{{|{{|||{|z{z{z{{{z{{|||{|{{zyz{zz{||{|{|zz{{{zyy{{{{|{{|{{{z|{z{{|{{{{{|{{||{{{z{|{|{{||{{{{{z|{{|{{{|{|||z{z{{{||{{||{|z{{{{zz{||{{||{||{|{{{|{{|{||||{{{|{{{z{{||||{|{|{{{|z{{|{{{{}||{{{{{{{{{|}{|||~|||{|||z||||{||||{{{{{{z||||}|}{|z{{{|{{{|||}|}|||||{{|{{||||||}|{||{||||}|||{{}|{||{{{||||{||||}{{{{|{{{{||||}|}{{|||}|||{|||||||{{{{{{|}|{||||{{{{{{{{{|{||{|{{{{z{zy|z||||~~~}}|}}||||}|}}}~|{|{{||{||{||}{||{{{|z{z{||||{||{{{{z{|{||}|{|}{{|{z{{{{{|{|{{{|{z{z{{z{|||{{|||{|{z|{z|{||{||}|{{{z{z{{z|{|{{||{{{z{{{z{|{|{||||{{{{{{{{||{{||{|z{zz{|z{{{z{{{{{{zz{{{zz|{{|||{zz{{z{zz{{|||{|{|z{{zzz{||{|{|||zzz{z{{||{|{|{{}{|{z{{{z{{||}|z|{{|{|{zz{|{}{|{||{{{{{{{{{|||{|{|{{{|{zz{||{{{{{||{{|{{||}{}}|||{|{{{|{{|{{|||}|{z{{{z{{{|{{|||{|z{{{{|{|{{||||||{{|{|}{|}|}}|}||{{{}|{{|}|||||{|{||{|z{}}|{|||||||}z{z|{|{||}|||||{{|{{{{{|}|||{{|z|{{||}|||||||{||{zz{|{{}{{}|{{|{{zz{||||{~~~}}~~}}~}~||}|~||~~~}|||{{{{{}||{}}|||{|{{z{{{||{|{|~|z{zz{{z|||{{{{{{y{{{{|{z|||{{||{{|{{{z{{|{{z|||{{{zz{z{{|{{|{|{zz{zz{{{z|{{{zz|{{zz{|z{{{}{|||{z{{z{zz{{{{{}{|||{{zzz{{{|{{|||{|{{{z{{{{|{|{|{||{{{{|{z{{|{{{z|{z{{{{||||{{{|{|{{{zz{|{{z{||{||z{z{{zz{{|}zz{}{|||{{{yz||{||||{{{|{z{{{{||||{}{{{{|{z{{||{{{||{|{{z{{{||{|{|||||||z{|{{{|{|{{||{{{{{{z{|||||||||{{{{{{{|{{|||}|{{{{|{|{|{||||}{|{{||{||{}{||}|{|{{z}|{{|||}|||||{{{{||{||||{|||{{z{{|{{|||{{}|}{{{{{{|{||}{||||{||{{{{z{|||||{|}{|zz|{{{|{{|~~}~~~}~}}|}||}}{|}}}|}||||{{|{||||{{|||{{|zz{{{{{{{|{|{{zz{zz{}|{|||||{z{z{zz{{|z{|{{|{|zz{{zz{{|{|{{{{{{zz{{{z{{{{z}{zz{{zzzz{{{z{||{{zzz{{z{zz|{{{|{zz{{{zzz{{{{|||{{{{{zy{z{|z{{{|{|z|z{zzz{{z{z{|{zz{z{z{z||{{{{|{zz{{|{{z{{|{{{|}{{zz{z{{{{|{{{{|{{{zz|z{{|{|{{|{z{{{{{{z{{{{z|{|{{{{z|{z{{{{{{}{{{z{{{z{{{|{{|{{{z{z|{{||{|}||{|{{|{|{{||{{{{|}}{{z|{{{{{{|{|||{{z{{z{z{|{{z{||{|{{{|{{|{||||}||{|{z{{{{||||{{|}||{{{{{{|||{||||{z{{z{{z{|{|||}}{{z{{{{{||{}|{||||z{|{|{|}{{}|}||{{{z{|z{||{{|{|{z{{z{{z{|{}{~~~}~~}}}~~|}|||||||}||||}|{{{{z{|{{||{|||z{z{{zz{{|{|{||z|{{{z{z{|{|{{{{{{{zzz{{{|{{z}{|{z{zz{{z{{{{{z{z{{{zz{z{{{{{{|{{zzzz{yzz{{{|z}zz{zz{{{z{{{|{{z{{{{{{{z{{z{{|z{{|{{{zzz{y{{{zz|{y{z{yz{zzz{z{z{z|{zz{{zz{{|{{z{|zzzyz{{z{{|z{{{|{{z{{yz{z{{{z{{{{z{|z{{{z|{{|{|||{z{{{{{{{{{{{||z{{{z{zz{{||{{{{|{|zz{{z|{{|{{{{{{{{{{z{|{z{{||||{zz|{|{{||{|{||{{{{{{{{{|}|{{{||{z{z{{{{||{||||||{{z{||{{{|||{||{{{{{|{z{{{||||||{{{{{{{{{}|{{||{z{||z{z{|||||||{{z{|{y{|||{|}|{{{{z{{{{|{{{{||{|{{{{z{|{{{{|{{{z{{zzy|{{||{{~~}~}~~~}~}~|}{|}}||||}|{||{{|||{{{||{}||{{{zzzzy{{{{z{{{{z{{zz{z|{}|{{{|zz{{zz{{z{{{{{|{{|{zz{{{{{{zz||{z{{{z{yz{z{{{{{{zzzz{zzz{{{{|{{|{z{{z{{|z{|{{{{|{z|{{zzzz{{{z{{{{zzzyz{z{{{zz{{|{zzyzz{zz{z{{|{{z{{z{z{z{|z{{||{{{z{|zz{{|{{z|{}{yz{zz{{{{|{{{{}{{{zzz{z{{{|{|{{{{{{{z{{{|{||{{{{{{{{zzz{{||{z|{{{z{z{z{||{{z|{|{{{z{{{|{|||{|{|z{{{{}{{||{{z||}|{|{|zz{{{|{{{|{{{{z{{{{|{{|||||{{|z{{{{{|{{|||{||{}{{{{{}{|||}||z{|z{{|||{||{}||{{{{{{{{|{}|{|}{{{|{{|{|{{{|||||{{z{{{|{{|{}||||{{zz|z{z|||{{{}zz{z{z{zz|{{{~~~}~~~}~~~}~|}||}|}|||}}}|{{{{||{}{||}||{{{zzy{z{{{{{{|||{{{z{{zz|z{{{||{z{{z{{{|{{|{{{{{{z{z{{z{{{{{{|z|{z{z{{{z{|{{{{{|zz{{zz{z{{{{|z{{|zzzz{{zz{{z{{{{{z{{{z{{{{||{{|{zzzzz{z{|zz{z{{|{{{z{z{{{|{|{{|{z{zz{z{{z|z{{{||{z{{{{{{{|{{{{z|{z{zzz|{{|{{{{|{|z{z{z{z{|}||{|{{z{{{z|zz||{|{z{{z{z{{z{{|{|{|||{{|z{{z{{{{{{||{{|{{z{{{||{}||||z{z{|{{z{{|||||||{{{|{|z||||{}|||{{{||{{||}|||{||{|{{{{|{{{{||}|{z{{z{{{{}|||{||{{{|{|{{|}|}||{{{{{||{|{|{|||||}|}|{|{{{{{{|||z}{{{{{{{{{|{{{{|}{{z|{{z{{}||{|||{|{{z{{{|{{||~}}~}~~~|||{{||}}}|}}}}{|{|{{{||{||{|{{}{{{{zz{{{||||}|{{|z{|zy{{{|{|{{{{{z{z{z||{{{{{|{|{{{{{{{{{|{|{{{{{{{{|z{z{{||{||{zz|z{z{{{{{||z|z{{{{zz{{{{{{||{{z{zzzz{{{|{{|{|z{{{zzzz|{{{{|{y{zz{zz{z{|{|||{{{{{{}zz{{{||||{{z{{{{{zy||||{||{|{{{{{{{{||{|||{{zzz{{{{{|{{||{{{{z|z|{{|||{|{|{z{{{{{{{{|{{|||{|{{{zz{{{}{{{{||||{{{{z|{||||||{{z|{{||{{||||||{z{|{{|{|||||{|{|{z{{{{||||||||}{{{z{||{{{|{|}|||z{{z{{{||||||||}{{{|z|{{}|{}{|||{||{{|{||{||||}}{{z{{{{|}|{{|{{z{||z{{{|{{|||{{{{{|{{{{{{||{{}{|||{{{{{z|{||~~~~}|~}~~}}|}|{|}||||}}}|||{{||{||}{|}|||z|z{y{{z{|zz|||{z{{{z{z||{z{|||z{zzzz|z{{{|{{|z{{{z{{{{|z{z{||{z{|{{z{z{{{{{|z{{{{{zzzz{{{{{{}{{zzz{{z{{|z{||{|{|{{{{z{{{z{z{{{z{z{{z{zz{{{{|{{|{zz{z{zz||{{|{|{z{{{zy{{|||{{|{{zzz{z{{||{{{z{{{z{|zz{z||{||{{{{z{z|{{{|{|||||{{{{z|z|{|{{|||{{{{|{z|{{{|||{||{{{||{{z|{{|{{{{{{{|{|{{{|}}|{|{|{{||{{z{|{{{||||{{|{|{z{{|||}||||{{z{zz{{|{||{}{|{|{{{|{{{}||}|||{|{{{{{||}||}}||{|{{|z}||||||||||z{z|{|{||{}{||{{{||{|{{{||{||||{z{{|{z{||{{||{{{{{|z{{{||||{||{{{{zz{{||{{{~~}}}~|}~}~~}~}}}}}|||||{|||~||||{||{|}{{|||{||z{{{z{|{zz{{{||{{zz{{|{{{{|z{||zz{|zz{zz|{{{||{{zz{{z{{z{{{z{|{zzzzz{{z|zz{{|{|z{{{{{zz{{{{{{{|{{|z{{zz{{zz|{{{{{|{{{{|{|{|{{{|{z{z{zz{{{{|{|{{{|{zz{{{z{|{{|||{{{{z{z{{{|{{{|{{{{z|{zz{|{z||{}z{{{{{{{{|{{{|||{{z{z{{{{|||||||zz{{{{{z||{{}||||{{{z{z||{{|{||{|z{z{zz||}|{{{|{z{z{{|z{{|{|{|||{{|{{z|{{|||{|{||{{{{|{||||}|}|||z{{{|{z|||||}|{}{{{{||{{|{||||||{{{z{{{|}||}}}}|{|{|{||}}}||||{{{{||{z{|||||{||{|{{|{z{||{||{}|{{|z|{|||||||{|{{{{{{{{{{||||z|{{{|{{z{z{||||~~~~}}~~~}}}}}|{}{||}}}}|}}}}|||{|{{||}|||||{{z|{{z{{||}{{}|{{z{zzz{||||{|||zz{{{{{zz{||{||||{z{z{z{{{||{|{|{{{{z{zz|{{{|{{{{z|z{{{{{|{{z|}{|{{zzzzy{z{{{{||{|{{{z{zzzz{|{|{{{zzzzzzz{{{{{{{{{{zz{{z{{{{||{{{{|z{{z{{z{||||||{|{{{|{{||{|||}|z{zz{{|}|||||}|{{|z{{{z{|{{|{}}{{{||{{{{|{||||{{{{{{|{||{||{{||{{{{|{{{|{{{{}{|{{{{{{{||{{{{|||{{||{||{{|{{|}}|{zz{{{zy}}|{{||{}|{{|{|||||{||}||{{z{||||{||}{{||{{|{{{{|||}|}||}{|{{{{|}{}}|||{||||{z|{||{}{||{|||{{|{}|{|||||||{{{{{z{|||||{||||{|{{{|{}||{~||{||z{|yz{{{|z~~~}~}}}}|}~~||{{{|{|}}||||{||{{{{{|{||{z|||{{z{z{{z{{{{|{|||{{{{|{{z{{{{{|{|{zz{z{z{{z{{{|{|{z{zyyzzz||{z|||z{{zz{zz{|{|{{||{zzz{{{{{z{{{{{z{zz{{{z{{{|{{|||{z{{z{{z{{{{z{z|{{z{zzzy{{{{{{{|{{{zy{{zz{{{{{{{z{{{{{{z{{{z{{||{zzz|{{z{{{{||{{|z|z{z{||z|{{|{|{zz{{z{{{{|z{{||{z{|z{zzzz||{|{{{z{{{zz{|{{{{||{{{z{zz{{{{||{||{zz{{{{{z|}}|{{|{{{{{{||z{{{{||{|z{{||{z{{|{||||}}z|{{|{{|{||}|{{{{{|||{{}{{||{}{|{|{z|{{{}|||||}|{{{{|{{}{|{|{|||{{{|{{{{|{|{|||{{|{{{z{z{||||||{|zz{z{z{||{|{||{{{{z{zz{||||{}|{{{z{z{z{{|{{~~~}~~}~}}}|}||}{{||{|||}}|||}|{z{|||{|z||}|}|{z{{z{{{{{|||{}|{{z{zz{z{{{z|||||z|z{{{z{||{{{{|{{{{{z{{zz|{z{{{{z{zzzzz{{{{{|{|z{zzz{{z{{|{{|||{zzz{{z{zz|{|{{z{y{{z{{z{{{{{|}|{z{zzyz{{{|zz|{|{z{zyz|{{|{{|z{{zz{{{{z{z{{||{{|z{z{z{{{{{|z{{{|{{{zz{|{{{{{{|{{z{z{zz{zz|}z||z|z{{{{z{{{||{||{{{|{{{{{{{||{|{||{{{{{z{{{{|{|||||{{|{|{{|{||{|||{|z{{{{{{|{{{|{||{{{{{{z|||||}|{{{|z||{z|}|||{||z{{{|{||{||||||||{{{{|{{|{||}}||}{{||z{{|}|||{{{{{{z{|{{{|{{{|{}|{|{|{{{{{|{||||{{{{zz{{{{|{|||{|{{{{{{z{|{||||{||}|{{{||{{|{~~}~}|~}~|~}}~~|}||}{{{|}||||||}{}{||{{||||||}{|{|{{{{z||{|{|||{{{zzz{z|||{{{{|{{zzzz{z{|{{{|{{{{{z{z{{z{|z{{|{{yzzz{z{{{zz{{{|{z{|zzyz{{||{|{{{{{zz{z|{{zz{{{{{{zz{z{z{{|{{{||{{{||z{z{z{z{{||{z{z{{{{|}{|z}|{{{{zz{{z{z{{{{|||{z{{|||{{{|||{||{{z{{{||{|}{|||{z{{z{z{{||||{|||{||{z{z{{{{||{{|{{zz{|{{||{|{|{|z{{z|{|{{||{{{{}{|{{|{{{||||||{{{|z{|z{||{{|||}|{{z{|z|{}|{||||{z{{{z{{}|{||||}{{{{{||z|}|{|{|}|{|{{{z|{}|}||}}|{{|{{z|}|}}{|}|{{||{z{|{|||||}|{{{|{{{|||{}||{|{|{{{{|{}{|{||{{{{{zz{{{{|{|{{{||z{z{yzz|{{||~}}~}}}}}}~}}}~}{||||||}|}||}||{{z{{z|{|||{|}|{|z{{zz{{{|{||{|{|{zz{{zy|{|{{{||{z{{{z{z{|{{{{{{|z{z{{zzz{{zz{{{zzz{z{{z{{{{{{zzz{zzzz{z{z{|{{|z|z{{{{zzzz{{z{{|zz{zz{{zz{|z|||{zz{{{z{yzzzzz{z{{zz{z{zzz{{z|z{{{{{{{zzzz{{|z{{|{zz{{zzzz{|{{|||{zzzzz{z|{{z{|{|z{|zz{zz|{{z||}}||{|zz{z||{{{{{{{{{z{|{{{{||{||{|z{{z|{{|||{||{{|{{{{{{{||||||{|{z{{z{|z{|||{{||{z{{{{zz||{|||||{zzzz{{{|||{{||||{{z{{{|{|{||{{|{||{{|{{|}|{|}{{{{{|{{{{{{|||||||{{{|||{{|{{||||{{{|{{{{|{|{{{}|{{{{{{{z{|{||||{{{{zzz{{z|{{{{{{z{z{{z{z|{||{~~~}}|}|~}~||~~}||}{|||||||}|{}}|{{{{{zz|||{}|||{z{{z{{{|{{{{z||{{{{zz{z{|{|{|{{{z{{zzz{{|{z{|{z{{z{{z{z{z|z{{{{{{{zz{{z{{zz{|{{{zz{zzz{{{{{z{|{|{{{zzzz{{|{z{{{{{{zz{z{{{{{|||{{|z{{zzzz||{{{{|z{|{{z{y{|{z{|}{{z{zz{z{{|{{{{}{{z{z{{z{{z{{{{|{zz{{zz{{zz{{z||{zz{zz{zz|||{||{{|{{{|{z{{{{z|{{|{{z{{z{{z|||{{||{{z{{zz{z||{||{{{|{z|{{z{{|||{{|{{z|{{{|||||{|||{{z{|{z{{{|{|{|||{{|z{{|{|{|||||{{{|{{|{||{||||||{|{||z{{|{|||}||z||zz{z|{||}}||{{|z{{{|||{{|||||{{{z{{{|{||{{||{{{{{|z{}}||}|}|{|{{z{{z||{{{{{|{{|z|z{{||{{{~~~~}~}}}~}~|~}}||}|||{{||}|||}}~|||{{|{{{||{||{{|{{|{{{||||}|{|}z|z|z{|{|{||||{|{||z{{{{{||{||{|{{{{{{{{{{|zz{{{{{zyz{z{{{{{|{{||{{{{y{{{||{|{|{z{{{{|z{{{{{|||{z{|{{{{zy|{{|{||{{z{{z{{{|z{{{|{{{zz{{{z{|{{|{|{zz|z|{|z{|||{||{{{z{z{{{{}{||{||z{{{{{{{|{{|{{||z{zz{{z{{}||{{|}{{|{{{|{{}||z}{||z{{{{{z{||{}||}{{{|z{|{|||||{}{{{{{{zz||{||{{||{|||{||{{|{|||}|{{{{{zz|{}|||}}||z{{{{{{|||}|||}{{}|{{{{{|{|||||{|{{{{||||}}|{||||{|||{{}||}||||||{|{{{|{|}|||}||{{||{{{}|}|{|}|{|{{|{z{||{|||||{|||{|{{{{{|{|}{|{|{{|{{{|{{|~~}~~~~|}|~|}~}}}|}|||{|||{}||}}|}{{{z{z||||||{}|{||{||{{{|||{|{{{{{{zz|z{}||{|{|{{{{{z{z{|z{{||{{z|{{{zz|||zz{{|{{{zz{{{{{{{{|||{z{z{{{{{{|{{{|z{{{{{{{{zz|{||{|{z{{zz{z|{{|{}{{{z{z{z{{{{|z|{{z{{{z{{z{z{{{|{{|{{z{{{{{{|{|||{{|{{{zzz{{|||{|||{|{{{{{z{{|z|{{|{{{y{{{{|}||{||||{{{{y{{{}||||||{{{||{{{||||||}{z{z||{|{{|||||}}||}|{{{{}{||||}{{|{{{z|{||||||||{{|}{{{z{||||{||{{|{z{||{}|{|||}{{|{{{|z|{{|||||{{||||{{|||~||}{|{{||{|{||{||{||||{{{{|{|{||{|||||{|{|{{{}|||||}{{{{{z|z{{{|{|{{{|{{{{{{|}}}{||||{{zz{{z{{||{}~}}}|}~}~}}}|}}}}|{||||{|}}}|}|||||||{z{{|{{||||{||{{{|{|{|||{}{{{{z{{{{||||{|{|{y{{{{{y{{{{z||{{{{{{zz{|z{{{|||z{{{{{zz{|{{|{{||zzzz{zz{{{{{{{||{zz{{{{z{|y|{||{z{{z{z{{{|{||{||{{z{z{z{{|z|{{|{|{zz{zz{z{{{|{|{{{z{z{||{|{{{|{|z{{{{{{{|||{|z||z{{|y{|{{{|||{||{{{{z{|||||||{|||{{{z{{{}|{}|||{{{{{{{{{||{{|||{{{{{z{{{||{{{|{{{z{|{{{{|||{||{{|{{{{{{|}{{{||~|z{{{|z{|{||{||}|{{{|{{||}|{}|||{|{{{{|{|{|||}}||z||{|{|||||}|||{{{{|{{{}|||||||}z{|{{{{{||}|}||}{{{{{||}}{{}||||{z{{z{{{|||{|||{{{{{{|{{|{|||{{{{|{{{{{{||{{~~~~|}|~|}|||}~|}}}}|{{||||}|z|}|}|{|{z|z{{{|{}|||{||{{z{z{{{|||{||{{{zz{z{{{{||{|{{{{z{{{{}{{{{|{{{z{z{zz|{|z{{|{|{z{{zz{}||{z{{{{{{{{z{zz{|{{{{{{z{{{z{z{{||{{{{{{{zz{z{{zz{{{{z{{{{{{{zzz{{{{{{{|z{{z{zz|{{|{|{{{{z{{z{||{{{||{{{{{{z{|{{|{{|{|{{z{{{{{|{{|||||{{{{{{{{z{|{{||{{{{z|z{{{{|||||{{{{{{{zz|{}{||{{{{z{z{{|{|||{||{{{{|{{{{|||{|{|{z{{|{{{{||{|{|~||{||{{{{|||{||{{{{{{{{|{|{||||||{{{|{{||{}{|{|{|{||{z{{{||}||}}||||{{{{{||||||{|}|zz{z||{||{|{{}||{|{{{||||||}|||||{{{{{{|{}|}|z{{|{{{{{{|||{{|z{z{z{{{z||{{|~}}}}|{}}}}}|}~||||{}{{{|||}}|~{}{{{|{{||{{||{||{{z{{zz|{{|||||{{z{zz{{{||{{|{{|zzz{{z{z{{{{|{{{z{zzzzz|{|{{{{||{{z{{z{{{{{z{{|{{zzzz{{{{{{{z|zz||zzzz{z{{{|{z{{{|zzzzzz{{|{{{{{{z{zz|{z{{{{{{|z{zz{{{z{|y{|{{}{{{zz}{z{{{|{{|||z{z|{{{|||{{{{z|z{{zz|{{{{{||{{{{{z{zz{z|{{{z{|{{|z{zz{{{||{|{|{{{{{{{{z{|{{|}{|z{{|{{{{||{{||{{{{{|{z||||||{{|{z{{z{{{{|{{||||{{{{{{{{{}||{||{}z|{{|{{||||{||}{{|zz{{|{|{{||}||z|{{|{{|||||||{|{{{{||{}|{|}|||{{{|{{{{|||||||{{{{{|{{{||{||||}{{{{{|{z|{|{|}}|}|{{|{{z{|||{{}{|{{{{zz{{{{|{~}}~}~||}~{}~}}}}}~||}||{||}}{}||||||{{|{{{||{|{||}|{|z{{{z{|||{{|||{{{zz{y||{}{{|}|{|z{{{z{{|{{|||{z{z{{zz|{{|{{{{{{{{{zz{{{{{||{{zy{{y{zz{{{{{{{z{{z{{zz{{z|{{||{{{{zz|z{|{||{{{|zz{{z{zz{z|{{{{|{{zy{{{z|{{{{|||zz{{{{z{{|{{|{|z{{{z{{zz|{||{|{||z{{{zz{{{{|{{|}{z|z{z{z{{||{|{|{{{zzy{{{|||{||{|{{z{{{{{||{|{}||{{z{zz{|||{{|{||{{z{{{{|||{||}|||{|{{{{{|{}|}||{{{||{{{{{|{||}|{{|{||{|}||||||||{|{z}||{||{|||}{{{{|{||{}||||}||z|||{}|{|||}||||z||{{{{|{||||||}{{{|{{{{||}||||{z{z|{{{}|{||||||{{{z{{z{||{{}{||{{{{{{{|{z{|}~}}}}}{}|||}|}||}}}|{||{{|{}}{{}|}|{{{|z|{{{{|{|{|{{||{z{z}{|}z||{{{z{|{{z{{{z{{{|{|{{z{{z|{{{{z|{z|z{zz{z{z|z{{{z{{zzzz{{z||{{{|{zzzzzyz{z{{{{|{{{{{{zz|{{{{{|{|{zyz{z{y{{{z{||||{{{z{zz{{z{z{{{|{{{z{z{z{{{{{{{{z{{{{z{zz{{|{|}z|{{{|{{z{{{z{{|{{z{z{{{{{z{|{|||}{{|{{z{{{{{{|{{{|{{|{{{{|{z{|z{z{{{z{{{||{{|{|{}z{|z|zz{{{{|{{}{{{{{{{{{}{{|||{{{{{{z{{|{{|{{|}{{{{{{zz||{||{||{{{{|{|z||{{{|||{{|{{{{{z||{{{{}{|{{{|{z{}|||{{{{{{|{{||||||{||{}z{|{z{{|||{|||}|{{{{{{{|||{|||||{|z{{|{{{||{|||||{|z{zz{|{|||}|z{|{{{{z{{{|{~~}}}|}}{}||}}|||}}|{|||{{z}||||{z{{{{{{z{z{|{{|||{{zz|{{zy{|||z|{{{{{|zz{z{z{|{|{{{zzzzy{yy|{z{{{{{zzzzzyz{z{{{|{z{{{zz{z{z{{z{||zzz{zy{{z{{{{{{{|{{z{zzy{{z{z|{{||{zzzzyz{{{{{{{zz{{zzzzz{{|{{{|{z{zzz{{z{|{{z{z{z{{{z{yz|{{{{{{|{{{z{{{{z|{{{||{{{{{zz{{{{||{{||{{{z{z{{|||{{z|{{zz{zzyz||{|{||{{{zz{{zz{{|{{{{{{zzz{{z||{|{{z{|{z{{|zz{{||{||||{{{z{{{|{{{|z|{|{{z{zz{z|||||{|{|{|{|{{{|}|{||||{z{z{}{{||||}||}|z{{{|{{{||{|{|{{{{|{z{{{{}|||{{|{{{{|{|{|||}}||{{z{{|{{{z||{z||{{z{z|{{{|{{{||{|{{{zz{{{|{|z||{{{|zz{{{{{|{{~}}}|||}{|||}}||||}{|{|{{{{|{|{{|||||{z{zzz{{|||{||{zz{z|z{{{|{{{|{{{{|z{{z{{{{{{|{{z{zz{|z{{zzz|z{|zzy{{|{z{{{{{{{{yz{yzz{{z{{z|{{zzyyzyzz{{{z{{{{zy{y{y{{|{|{||{{{{z{zzzz{{{{||{{{{{zzz{z{{{{{{z{{{{yzz{{{z{{{{z{{z{z{{{y{{z|{|||{{zz{zz{{|{z{z{{{zzzz{|z{{{{{{||zz{yzzyz{||{z|{{{z{z{y{{{||{{{{{z{|zz{{{{{{{{z{{{{{z{{{{|{|{{{{|z{z{{z{y{|{}|||||z{z{{{{|{|{|{|{{{|{z{z{{||{{{||{z{{{{{{||{|{|{||{|{zz{{{}{||{{{|{{{z{{z{}|{|{||{zz{{{|||}{|{{||||y{{z{{{{|||||{|{{{zzz{||{|{{|}{{{z{z{y|||{{{}{{{{zzz{{{|{|{|{|{z{{{z{z{{|{{|~~|}}}|}|{|||}{|}|{|{||{||||{{|{||||{{{{{{|{{|}{||||z{{{{{|{{|{z|{|z{{zz{{z{{{{{z|{{{zzz{{{{{{{{{z{{{zz{zzz{|{{|{{yz{zzzz{{|{|zz{|{z|{{yzz{{{z{{{|zz{zy{z{{{{{||{{z{{{zzzz{{{z|{{{z{z{{{{zz|{z|z{|{{zz{{{z{{{z{{{|{{{zz{{z{{{{|{}|{{z{|{{z{{{{{{||z{{zzzz{{{|{{{|||{|yzzz{{||{|{{{{zz{zzz{z|z{|{|{z{|z{{{z{||{|||{z{|{{{z{{||{{|||zz{|z{{z}|||||||z{{{|{{{||{|{||{{{z|{{{z|{|{{{|{|z{{{{{{{|{{|||||{{|{{{{||||{|}||{{{|{|z||{||||}{z{|{{{{|||{|||||{{{{z{|{{||||}||{{{{z{||{{{|{|}|{{{{zz{{{|{{||{{{{{{{|z{{||{|||z{{{{z{z{|{{{~}}~{|}||||}~|}||||{{|{||{{{{|{|{|||{{{zz{z||{{|{||z{z||zz{|{||{z}{{{zzzyzy{{{{{{||{z{z{z{zz{{yz|{{zzzzzzz{{z|z{{{zzz{{zzz{{zy{zz{{z{zzzy{{{zz{{{|{zz{z{zy{z{z{{{{zzz{zz{{z{{z{{{{|yzzz{{zyzzzy{{{z{zz{{zzzzzzz{|zz{zzzyzzz{{zz{{{{zz{z{{{{z{{{z{|{z{z{zz{zz{{{z||{{{{{zzz{z|{{{{{|{{zz{zzz{{{|{|{{|{{zzz|{z{{{{{|{zz{z{z{{{|{{{|z{|{{|{{zz{|{{||{{{{{z{||{|{{{{||}{zz{zzz{{{|{{||||z{{|{z{{z||}{||{{{{{{{{{{|{{||z{{{{z{zz|{{{|{|{}{{|{{{z|{}|{{{z|z{{z{zz||{|||||{{{{{{{||{{{|{{|{{{z{z{{{|{{{|||z{{{z{z{|{{|{{{{{{zzzz{{{{{{z~~~}|}}}}}|||}{||}}|{{||||z{||{|||}{|{{{|{{{{|||||{{{z{z{{{}|{{{{||{{z{{z{{{|{{{|||z{{{yz{{||z|{{||{{|{z{zy{{|zz{{{{{zzz{zz{z{z{|{{zzzyzz{{{|{{{|{{{{{{zzz{{{{{{{{{{{{{zzzzz{{{{|{|z{y{zz{zz{{{{z{{{zzzz{{{z{z|{||{z|zz{{zz{{{{||||zz{z{yz{z||{z{||{z{{z{{{z{z{{{{{{{z{z{{{|{|||z{{{{{z{z{y{{{|{}{|{zz{{zzz{{|{{{||{z{{{{z{{{{{||{{{{{{{{{{||||}|||{|{{{{|{{|{|{||{|z{{{|{{|||{}{{{|z{{|{{z||{||||}|z|{{{|{|||{|}|}|z{z{|{{{|||||||z{{{|{{{||||||||}{{{{|{{{||{|||}{|{{{{{|||||||||{z{z{|z{{|||{||||{{{zz{z|{{}{||{{zzz{z{{||{|{}~}||||}|}|||~{|{}}||{|{|{{||||~}|}|||z{|{{|{{|||{}{}z{zzz{{{|}|{||||{z{zzz{{{||{|}z{z{{{z{{z{|{||{|z{{zz{z{||zz{z{{zzzzz{z|{{{{|{{{zz{{yzzy{{|{{{z|{z{{{z{|{{{|{{{z{|zzzzz{|{{{{|{{{z{z{zz{{{z{|{{{{z{zz{{z{zz{|{||{z{|{{z|z{{{|||{{{{{{{z{{{{{{||{z{z{z{z{{{{{{||z{{{{{{z{{{{{{}|{{z{{z{{{{||}||z{{{zz{{{{{|{{{}|{{z|zz{||{|{{|{|z{z|{{{|{{{||||}{{||{{{{{|{{|||}{z{{|{{|{|{}}|||{zz{{|{{{|{||{{}|{|{z{{|{|{|{|{}|{{|{{{||}|{|{|{|{{z{{{||{|||||||{{{z|{|{{{{||||{z{|{zz{{{||}||}{{|z{{|z{{|{|{|}|{z{{{{|{|||||||{{|zzz{{|{{|{}}}|}{}{{||||}}|}|~}|{||{{z}|||||||{{z{|{{{{||{||{z{|{{|zz{z{||z||{|z{z{zzz{{||{|{{|{|z{z|zz|{{{{{|{{zz{zz{{z{{{{|z|{z{z{{z{{{|{{{{zzzz{z{{{{z|||{{{{zzzzz{{{{{{{{{z{{zz{z{{{{{{{{|{{{zzz{{z{{{z||{z{{z{{zz{{z||{{{z{{y||{z{|{{{|{|{{zz{z{{{{{z{{{|z{{zz{{{|{{{|{{|{{{zzz{{{||{{{{{{{{|{{{{|{{|{|{{{{{z{{zz{{||{||{zz{{|{{{{|{{{|{|{{z{{{{{z{||||{|{{{{z{{{{{{||||}{z{{z{{z|{{|||{{|z{{zz|{}|{{{||{|{|{{{{z{|{{||||||||{|{{{}|||||||{{{z{|{|{||{||{|{{{{{{{{||{|{||}{|{{{{{{{|}z}{||{{z{{z||||{{||}|{{{{z{{||{|{||{{|}{{{z{{{|||}}}}}{||||||}{}|||{{{{z{{z{{||||{||||z{{{{z{{{|{{}{{zz{{zz|z{}{{|}|{zz{{y{z||{|{|z{{{zzz{{zz{{{{{{|z{z{zzzz{z{{{|{z{zzz{z{z|y{{{{{|z{z{z{{z{{{{z{{{{z{zz{zyzz{zz{{}{{zzzzzzz{{{{{{z{zz{{zzz{{{z{{{{zzzzy{{z{|zzz{{{zz{z{zzy{||{{{|{|zzzzz{{||zz|{z{y{zz{z{z{z{{{{{{z{{zy{z{{{{{{{|{{z{{zzzz{{{|{||{|{{zzz{{z{{{{||z|{{{{{{z{||{{||{zz{{|zz|{{{|{|{z{{{z{{{{|||||||{|{{|z{z{|||||||||z{{{{{{{||{|}||{||{z{|{{{{|||{{|z|{z|{{|}||||||{{{{zz{{}|{||||{|{{{zzz{{{{{{|||z||{|zz{||||||||{{z{{z{{|{z|{{{{|z{zzz{{{{{|{|}{{z{{zzz|{|{}{}}}|||{z{|{|||{{||}}|{{|z{{||{{|{||{|{y{{{y|{{{}{||{z{{|zz{z}{{{{}||{{zzz{y{{{{{{||z{{{|{{z{z{z||{|{zz{{z{z{{{zz{{|z{zyzzyz|z|z{||{zzzzzyzzy{{{z|||{z{{zzzyz{|{{{{{{{{zzzzy{|{{{{{{z{{z{{zyzzzz{{{|{{{{z{y{{z{zz{{|zzz{zzzz{{||z{{{zzz{zzz{{{{|{{}||z{zzz{z{{{{|z{{z{z{z{{{zz{z{|||zzz{zz{z||{{{|{{{{{z{{zz{{|{|{||{z{{z{|{|{z|{|{|{z{|{{{{{|{|||{|{|zzz{{{|{{||||}z{{z{{zz{|{z{|{{{zz{z{|z{}|{||||{{{{{|{z|{{{{}|||z{{{{{{z}{|||||{{||{z{{}||}{|||{{{{{{{{|{{||{||{|z{zz{|}{||||{{{|{zzzy{|||||{{||zz{zzzz{|{|z||{{{zyzzz{|{|{|~}}||||{|{{|}|{|{|||{|{|z{{{|}|||||{{|{{{{z|{|{{|||{{{{{{{z{z|{{{z||{{{z{{z{{|{{{z{|{|zz{{{z|z{||{{{z{z{z{z{{|z{{{{{yzzzzyzzzzz{{{||zz{{zz{|z{|z|{{{zz{z{zz{|{{{{{{{{{zyzzz{{yz{|{{|zzzzz{yzz{{z{{{{yzzzz{zzzzy{{{|{{zzzz{{{{z|{{|{zzy{{zz{{{{{{z|{{z{{z{{{{{{||{{|zy{z{z{z{{|{{{|{{z{{zz{{{||z{|{|z{{{{zzz{{{{{{|{{{z|zzzz|{||{|{|{{{{{{{{{|{|{{|{{{{z{|{||{|{{{|||{{|{{zz{{{||{|{{{{{{{zz{|||{}|}|{{{{{{{{||{|||}|{{{{{{{{{|}|z|{}z{|{zz{~{{||||||z{{{z{|{{{{|{||||{{z{{{||||{{|||z{z{z{{{{{{{|{||}{{z{{zz|{{{z|{|{{zzzz{{|{|z}}|}||||||{|}|||||}|{{|z{z{{{{|{|{||{{z{{{z{{z||||||{{zzzz{|{|{{{{{{{zz{zzy{{{|z{{{{{{zz{zz{{{{{{|z{z{{{{zz|z{{z{{zz{{zz{z{{zz{{{{{zz{z{z|z{{{{{{{|{zz{yz{{z{|{z{|{{zzzyzz{z|{{z{|{{{z|zz{zz{yz{{{zzzyz{z{zz{z{{{zzzz{zz{yz{{{{z||{{|zzz{z{{z{||{z{zz{{{y{zz{{{{|{|z{z{zz{{{|{|{{{|{zzz|zzz{{{{{{{{z{{zz{zz|{|}{||{{{z{{zzz|{{{{||{{z{{{z|{z{{||}z{zz{{{{{{||{{{{|||{{|{z{{{{||{{|{|{{{|z{{||{|||{{|||{z{||{{z||||||{{{{{{{{|||}{{|z{|{{z|{|{{}{{|||z{{{{{{{|{{||||{{{{{{{{{|{|||{|{{{{{z{z||||{|||{{{z{{{z{||{{{||{z{{z{{z{{z{z|}|{{||{{|{|||{||{}{{{{{{{z{{{{{||{{z{{{{zz||{{{{||{y{zzz{{z|{||z||{{zz{z{{|{|{{{|}z{{zzzzz{{{|{{{{{{{z{zzz{|zyz|{{{{zz{{z{{{zz{{{{zzzzzzzz{{{{{{{z{{z{zzzzz{{||z{|{{zzzzyz{{{|{{{{{{y{yzzy{zzzz{zzzzzzyzzzz{|{z{{z{zzz{{zz{{{{{{|{{z{z{z{|{{{{{{{|{z|{zz{{{|{|z{||zzzzz{z{{{{{{{{||{z{z{zy{{|||{z|{z|z{yzz{{{|{||{zz{{zyzzz||{{{{{{zzz{{{{{{|||}|}{{{|{{{|{{{||}||{|{{zz{{{{||{{||||{zzzz{{||{{{||{{{{{z|{{|{{{|||{{{z{{{{{|{||||||z{{{{z{{{{{{||{{z{{{{{{|{|||||||{{|zz{{{{{|z{{|{|zz{y{{{|{|||||z{zzzyzz{{|{{|{{{{{zzzzz{{||{||}||}{{|{{||}{|{||{{{{{zzz{|}|||||{{{z{z|z{{z{|{||{z{{zz{z{|}z{{{z{{{zzzzz{{{z|{{|{{{zy{{y{|{zz{{|z{zzzzzz{{{{z{{{z{z{zy|{z{{{{zz{z{{zz{{zz{{z{|{zz{z{z{zz{z{{{{{z{zy{yz{{z{z{{z{z{{zzzzz{zzzz{z||zz{yzz{{z{zz{z{zzz{zz{zz{{|{{||{{zz{zzz{{{{{{{|{{zzz{{{z{z{{|z||z{{{{zzz{{{{{{|{{z{{z{zzz||{{||zzz{z{z{{{|{{{{|{{zz{{{{zz|{{{{{{{{{{z{{{z}|||}||{{|{|{{{|{||{{||{{{{{zz{{{{||||{|{{|{z|z{||{||{|{{zz{|{{||||||{||{{{{{|z||{|{{{{{{{{{z{{|{||||{{{z|{|zzz{{||{||{{{{z|{{z{{|}{{{|zz|{{{{{{{{{{{|{{{{z{zzz{|{|z{{{z{|{zzy{{z||{~}}||}{{{||}}}|||||{{{|{z{{{|{|||{}{|{|z{{{||{{{|}|z{{{{{{z||{{{||{{zzyyzzz|{|{{{{{{{{z{{zz{{{{{{{{{{z{zyzz{{|{||z{{zzyzz{z{{{{{{{{{zzzzz{{z{z{{{{zzy{|zzz{z||zz{{{{{zzz{{z|{{{{||||{{zzyzy{z{{{{z{|{{{zzz{{{{{{{|{{z{{{{y{{{{z{{{{{{zzz{zzz{{{{{{|{{|{{{z{{{{{{|||z{z{z{z{{{{{z||{{{{{{z{{|{{||{{||{{{{z|{|||{{{|{|{z|{{z{{||{{||{|{{z{{{z{{{|}||{{|{||{{||{|{{|||{{z{{{z{{|||}|||{z{{{|{{{|}|{|||z{{z{|{|z{|z{||{{{{{z{{{{|||{||}|{|{{{{{||{{{||||{{{{z{|{{|||||||||{{{{{}|{|{|{|{z{zz{{z|{{{z{||{|z{{z{z{||{{||||z{{z{z{z{{{|}{}|||{|{|||}||||}||{{{{{{|{||{|||~{{{{z{z{{{||||||{{|z{zz{{{||{|||{{{zzzz{{||{{|{|{{{{{{|z{|{|{}|{{zzzzz{{{{{{{{{{z{zzz{zz{{{|{{||z{zzzzzz{{{|{{{|{{{zzzz{{z|{{|{zzz{zzzzz{{|{{{|{{zz{{z{z{zz|{|||{zz{z{zzz|{{{|||{{{{{{z{{z{{{{||{{z{zz{{{{{{{|{|zz{{{zz{{|{{{{|{|z{{|{{{{||{{{|{|zz|zzzz{|{{|{{{z{{{{{{z||||{||{|z{|{zz{{|{{|}{||z{{{{{|||||}||{zz{||z{z{|z|{|||{z{{{{{z{{|{|{||zz{{{|{{||{||}}|{|{{{|||{||{{|||}{{||z{{||||||||{|z{{{|{||}||||{|{|{{{{|{||{}|{||zz{|{{{||||||{|{||{{{{{z|{|{|||||y{{{zy{|{{{||{zz{{zz{{{||{{|}|{||||{|{||{|{|}}|{{{z{zz|{|||{}{{{{z{{{{{{{|{|{|{{z{{{{{||||z{|{|{{zzzzzz{|{{z{{{{{{zzzz{|{{|{{{{z{{{{zy{{|{{{{{z{{z{|{zz{z|{{|{z{{{zzz{||{{zz{{{zyzzzz{{{|z{|{|zz{{zyzz{|{{|{|{|zzz{zzzz{z{{|{{{{zz{zyz{{{{z||{{{zz{zyz{z{{{{z{|z{{{zzzz{{{{{||{{{{zz{z||{{{}{{{{{z|{z{|{{{{{|||zz|{zzzz|||{||{{{{{{{zz|{|{|{|{|{zz{{z{{|||z{||{{{{{{{{{{||||||{{}{|{|{{}{|||||{z{{zz{z|{|||||||{z{{{|z|{{||}}|{{{{z{|{||{|{||||{{{{{{{{}|}|||{||z{{{{{|{{{||||{{{{{{{{{|{{|||}|z{{{z{|{{|{{||||{zz{{{{z|{|||||{{{{z{{{{{{{{|||{z{{{z{z|{|{{||}|z|{{{|{{|||{}{{{z{{{z{z{{{{|{|}||z{zz{{||{{{{{{{{{{zz{{||{{{z{{{zzzzzzz{{{{{{z|z{|z|zzzz{{z{{{z{z{{{zz{{z|{{{{{{{zz{zz{zzz{{zz{{{{yz{y|{|{z{{{zzzzzz{{{{{{{||{{{yzy{z{z{z{z{{{{{zzzyz{{{zzz{{zzzz{zz{{{z{|{{z{{zzz{{z{zz{{z{{{|{zzy|{{|z||{{|}{{zz{zzz{|{{{{{{{{zz{zzyz|{{{{{{{{{z{{z{{z|z{{}|{{z{{{zzz|{{|{{|{{z{{{{{z{z{||{|{{{{{{zz{{{||{|}|z{{z{{{{{|{}|z{|{{{||zzz|{{||||||{{{{{|z{|{|{{||{z{{{{{|{||{{|{{{{{{zz{|{}{||{||{{{zz{{{{{|{{||{{z{{{{z{||{{{{||{{z{{{{{}||||{{{{{{zzz{z{{||{||{z{zz{{{z||{{{{{{{{{{{zzzz{|{z|{||{||{z{{{}}{{||{{|{{z{z{{{{||{{{{{z{{z{{|{z|{z|{{{{{z{zz{{||{||||y{zz{{y{{z|{z{z{z|zzz|zz{{{{{{|{{zz{zzz{z{zz{{{zzz{z{zz{{{zz{{|zz{z{z{zz{|{z{|{{zz{zzzz{{|z||{zzz{zz{zyz{{z{{{{{{zz{{zyzz|{{{{{z{{zzzzzz{yz{|{{zzz{{{z{{z{{{{|{{zy{{zz{{{z{z||||zz{zzzzz{{{|{|{{yzzz|{z{z{zz{{{|z{zzz|{z{{{z{||zz{zzzz{{{|{{||{{zz{{{zz|}{{{|{{{{z{{z{{{{|||z|{z{z{{{{{{{{|||{|{z{{zz{{z{{{{{||{{zz{zz{{{}|||||z{{{z{{{{{{z|{|{|{z{{|{z{||{||}|{|z{{zzz||||z|{|{zz|z|{z{||{{|||{|{||{zz||{{{|||{z{z{{z{|{|z||||{{z{z{zz{|{{{{{{{{{z{z|{{{|{z|}{|||{|{|{{|||||}{|{|{{{{{||{{{|z|{z{z{{{z{{|z{}||{{zz{|z{{{|{z{{|z{zz{zzz{||||{z{z{{|z{{z{{{z{z{z{z{{yzz{{{{yz{{|{|zzzz{z{{{|z|{z{zyzzy|zz{|{{{|{z{zyz{zz{z{{{{|{{{{{{z{{{{{{{{||{z{yzz{z{{{{{z{z{z{{{zz{{{{{{|{{z{{z{{zz{z{{{{{|z{z{{z{zz|zz{{{{{z{zzzz{{{{{|{|{z{{zz{zz|{||{{||{{z{{z{z{|{|{||{{zz{{{{{{|{{|{|{{zzzzz{z{{{{{||{{{z{z{{|{|||||{|{|{{{{z{{|{|{|||{{{{z{z{{||{|||||{{{{zzz{|{{{|||{{{|{{||{{|||||||{{{{|{{{{{||{|{|{{{{{|{{|{{{}||{z{{|{z{{{{|z|||{|{|{{{{{{{||{{|{{zz{z{{{|{||{||{{{|{{{z{|{|{{|{zz{zzz{{{|}|{}|{|{|{z{|{|||{{{{||{{{{z{z{{|{|{|||{z{{{{zz{z{{}|{{z{{{{zz{zz{{z||zz{yyz{{{{{{{{{{z{yzzzzzz{{z{{{|{zz{zzzyz{{{z||z{{zzzzzz{z{{{{zz{z{{{y{zzz{{{{{{zzyzzzzzzz{z{{|{zz{{zzzzz{{{z{|{zzzz{zz{z{{z{{{{{{zzzz{{zz{{z|{|{zzz{zzzz||{{{{{zz{z{y{{{|{z{|{{{{zzz{z{|{{{{{{{{zzzzzz{z{{{{{|{{{{{{z{{{|{|{|{zz{z{zz{z|{{{{}{{{{z{{{|z|||{|{||z{z|{|{{{{|z||||{{{{zzz{||{|{{||{{z{|{{{|{|{|{{{|{z{{{{z|}||{{||{{{{{z{{z{{|||{{|{z{{z|{||{{|||||{{zz|{z{{||||||{{{{|{{|{||{{{|||z{||zz{{|{{{{||z{{{{zzz|||{||{{|{z{zzzzz{{{y{|{{{z|{{zz{z{{{|{|{{z{{{{z|{{|||||{{{{{z{z{{|{|||{{{{zz{zz{{{{{z{|{{|{zz{|{{|{zz{{{{zzyz{z|{{|{{{|{z{yz{{zz{{{z|{{z{{yz{z{z{{zz{z{zzzzzzyz{{|zz{{|z{{zzyzyzzzz{{|{{zyzz{yz{{|z{{{{{zzz{zzzz|z{|{|z{{zzzz{z{z{{{{{{zz{zzz{z{zz{{||zy{z{zz{z{{{{{{{{{zzzzzzzz{{{z{{{{{yzz{z|{{{{{|{{z{{{y{{z{{{{||{|||{{{{{{z{{{{{||z{{z{{{{{|{||{{{{zz|zzz{{{{zz{{|{{z{z{zz|{|||||}z{|{zz{{{zz{|||}|{{{{zzz||{|{||||{z{|{z{{{||{|||{|{{z{{{z||{|{||{{z{z{{z{|z||{|{{{{{{zzz{{{{|||||{z{{zz{{{{||{|||{z{{zz{||{{{|{|{{{z{|z{z|{{{||{{{z{{zzz{{||{{{|z{zz{{z{{{|{z{|{z{{{{{{{}|||{{|}{|{zz{{{{|{|{|}||{{{z{{z{|{{{{|{|zz{zz{z|{|z{z||{z||yz{{{{{{z||{{z{z{z{zz|{zz{{z{z{zzz{z{z{{z|z{z|zzzzzz|zz|{{||zz{zzz{z{{{zy{|{{{zzzzzz|||z{{{{{zzzzzyz{{||z{|{{z{zz{zzz{|{{{z{{z{z{z{z{{{z{|{|zzzzzz{z{{{||{{{{zzz{zz{z{|{z{z{{zzzyyzz|{{{{{{{{{|zzzzz{{{{{{z||z{zzy{{{{{|{|{|z{{zz{{{z{{{{{|}{z{{zzzz|{|{{|||{|{{{{{z{{{||{{{|{|{z{{{{|{{{||||{{z{z{{{{|||||{|z{{{{{z|{{{||}|{{{z||{{{|||{{}|{{{{{{{{{}~||{{||{{|{z{{|{{}||{{|z{{{{{{{z|{||{|{{z{{z{{|{{||{||{{|{{{zz{{z|||||{{{|{{{{{|{|||{{{{{{{{z{{{{{||}|{{zzz{{{|||||z|{{{zz{z{zz{|{||{||{z{{|zz{|{|{|{{{{{{zzyz{{z{z{|{zzzzyzzz{|{{{|{|yz{zz{zzz{{{z{{{{z{zzyzy{|{{{{{{{{{zzzzz{{{|z|{{zzzz{zz{zzz{z{||zy|zy{y{{{|{z{|zzz{zyzz{z{z{zz|{{zzzzzzzzz{z{{{{zzyzzyyyz{{|z|{zzzzy{{{zz{z{zz{{zz{zzz{y{z{|{{z{zz{{zyz{|{{{{{{{{{{{z{z{{z|z{{{{{z{{zzzy{{{|{{{{|z{z{zz{z{{{{{{|zz|{z{{{{|{{{{|{{{{{{{{{{{||||{{{z{{|{|{|||{|}{{{{{|{zzz{{{|||{{{z{{zzzz{||||{|{{{{{{{{{|||{||{||z{{{{{{|}|{||||{z{{zz|{{||{{||||z{{{|{|{|{|{|}|{{{{{{z{|{{|||{|{|{z{zz{{|||{{|||{{{z{{z{||{|{{|z{{{{{zzz{|{{||}{zz|{{|{||}{{{}{{{z{{|{{|{|{}||||{z{{|{z|{{{{|{{{{{|{{{{||||{|{|{{{zzz{{{{{{{|{|z{z|{{{z{{z{{{|{z{{{{{|z{{{{{|{|{z{zz{zzz{{{|{{|zz{y{{{{z{{{{{|{zz{zz{z{{{|||z{|{zzzyzz{z{{{{|{|{{zzzzyzz{{{z|{{{{zz{zzyz{zy{|{|z{{y|z{z{z{{{||{{zzz{z{z{{{|{z{{|{{zzz{{z|||{||{{{zz{{{{z{||{{{|{{|{{{{z{|||z|{{|z{{{{{{||}{z{{|{zzz{{{{{{{|{||{{{{{{|z{{||{{||{{{{{{{|{{{{||||||{{|z{z{{{}{|{{||z{z{{|z{|||{{||{|{zz|{z{||||}{||z{|{{|{||{||||{|z{{z{zz|||||||||||z{z{{{{|||||{{{{{z{{{{||||||}{|zz{{{{||{|{||{{{z|{z{{{{}|{{|zz{{{{z{{{z}{{{}|||{|{z{{||{|{|||{||{{z|z|{|z{{||{|zzz{z{|||{|{|}{z{y|zz{{{||z{|{|z{zz{zz{|z|{|{|{z{{z{{y{{{{{{{{{z{zzzzz|{|{{||{zzzzzzz{{{{z{{z|zz{zzzz{{{|{{{{|zz{zzz{{z{{{|{||{{{z{yzy{{{{{{||zy{{{z{z{z{{z{|{zzzyzzz{z{{{z{{|{{zz{{zzz{{{z{{||zzz{z{z{{{{z{|{{z|{{{yz{|||||{}zzz|{{{z{{{{|{{||{{{zz{{z{||{||{{z{{{{{z|{|{{{{{{{zz{{{{||{{{||{{{{z{{z{|}|||||{|{{z{||{{|||{{}|z{|{{{|{||||{|{|}z{{|{{{||{{|~|{{{{z{{{{||{|||||}y{zz||{|||{{|}}|z{|{{{{|{|{||}|{{z{{{{{z{|{||{||{{{|z{{{{{}||{|||z{{z{{{{{{|{{|{{zz{z{z{|{{{|||{{zz{z|{z||{{{|{{{{{{z{{|{{{{|||||z{{z{{{{||{|{||z{z{z{{{{{{||{{|{{{{{{{z{{|z{{||z{zzz{z{{{zzy{|{z{z{{zzz{z{{{{z|{{{zzzz{{{{z}z{{{{zz{z{z{z{{{{}{z{{zzzz{{{z{{{{|{{z{{z{{{{{{|z{z{{zz{zzz{{|{z{z{yzz{y{zz{{{{{z{zzzzzz{|{{{z{z|{zzz{{zzy{{{{{||{{{zz{zzz{{{{{{z|zzz{zz{z{{z{{z{|{{z|z{z{{{|{{{||{{{{{y{{z|{{|{|{{{{{{{{{{z|||||{{y{yz{|z||{{||z|{{{{z{{{|{{|||||{{zz{z{{{|||||||{{{{{{zz}|{|||{|{{{y{{{z|{||z||||{z{{{||{{|{|{{}{{{z{{zz{}{|{||||{{z{{{z{|||||||{{zz|{{{{|{|{{|||{|{zz{{|}z{{||}{zzz{{{{z||{{{||}{{{z{{{z{{{|{|{{{{zzzzy{{{{{}|{|{{{{{{z|{{||z||{{{{z|{{|{|z{|{{|{{{{{{{|{z{|{{{z{{zzzzz{{{{z|z|}zy{z{zz|z|{{{{|{zzz{z{z{{z{z{{{{{{|{zz{z{|{y|zzy{{zzzz{{z{{{{{{zzzz{zzz{z{{{{|{{{zzzzzz{{{{{|{{zz{{zz{z{{{{{{{|z{{zz{zy{{{{{{{{{zyzyz{zz{{{{{{{{{zz{{zzz{{z|{{{{zzz{{{{{z{{{{{{zzz{{zz{{{z|{{{z{z{z{zzzz{{|{|{z{{|{{z{{{{{{{|{z|{{zz{z{{{{{{{|{|{zz{zz{{{|zz|{|{{{{{{{{{|||{{{{z{{z{{{z{{{{|{|{{{{{{{zz{{|||{|{{{{z{{{{z|{{|{z|{z{|{{|z{{{{{{{|{{{{{z{{|}||{|{||{|{zz|{{{||{|||{{{zz{{{{{{}{|||{{z{{{{{z||||~{|{{{z{z{{|||{{{||z{{{zzzz{{||{||{{z|z{zzz{z{{{|||{|{{z{{z|{|||{|}|{{zz{zz{{||{{|{|{z{{z|z|{{z{|}{{{{z{zz{{{{|z{||{{{{z{zz{{||z{{|z{{{{{zz{|{{z{|{|{{zzz{yz{|z{{{{{{{z{|zzz|{{z{{{zyz{zz{z{{{{z{|{zzzzzzzz{{{{{{{{{zzzzzzz{{{|{z||{{yzyzzzzzz{z{{zzzz{yzzzz|z{{{{{{z{zz{{z{{{{{{{{{{{{{zz{{{{{{{z|{z{zzz{z{{zzz{z{y{{z{z{z|z{z|{{{{{z{zz|zz|||||{{{z{{{zzz|||{{{{{{z{{{zzz{{z{z||{zzzz{z{{{{}|{|{{{{{z|{{z{||||{}{||{{z{{z{|}||{|{{zz{z{{{{||{{|}|{z|{{{{{{||{|||||z{|{{{{|{||{||}|{|{{{z{|{{{{|{{{{{{{{{z{{|{}||||zz{{{{{{{{{|{||{z{{{{{z{z|{{|||||z{z{|{z|{|{|||{{{z{z{z||{{{{{{z{{{{{{z{{{z{{||{zzz|z{{{{}{{|{{{{{{z{{{{{{{{|{|{|{|zyzz{{|{{z{|||{zzz{y{{{|{{{{{zzz{z{{z|z{{{||zzzzz{zzz{|z{{zzy|zzz{z|{{z{||{{zzzzzyyz{|z{z{{|{{zzzz{{z{z{{{{z|z{zzzzy{||||{{|{{z{zzzzz{zz{{{{{zzz{zzz{{z{z|{{z{{z{{zz{{{{{{|{{zz{zz{{{{{{{{{{zz{z{yzz{{zz{||{{{z{zz{{{{{||{{{{z|{{{{z{{{||{|{|{{zz{{{{|{{{|||{{{{{{|{{{|{{||{|{{{z{{{{{{|||{|{{{{{{z{{{|||{|||{{{z{{{{{{||{|}{z{{{{{z|{|{{|}{{z{{{{{z{|||{}||}{z|{{|{z|{|||||{{{{{{{{||||{||{|{{{zz{{||{||{||{{{{{|z{}|{|{||{|zz{{{|{{|{||{}{{{z{z|z{z|{||{|z{{zz{{{{{{|{{{{{{{{}{|{{{||{z|{|{z{{z{z{||{|||{|{{{{z{z{{{{{{||{{z{z{yzz{||{|{{{{{|zzz{{|{{{{|||zz|zzzz{{{{{{{{{z|{{{z{{z|{z{{{{{{yz{{zz{{z{{{{{{zzzz{zyzz{|{|{{z{zyzzzzz|{z{{z{{{z{z|{{zz{{{{||z{{zzzzy{z{zz{{zz{zzzyzzz{{{{{|zz{zz{{z{{{{{{{{{{zzz{zz{{|{z{{{|{z{{zz{zzzz{z|{{{z{{z{{{z|{|z{{{{{|{{{{z{|{{||{|{|{z{zzz{||z{|}{|z|{z{z|{|{{{{|||{{z{{z{{||||{||{|{z{{{{||{||{||{|{{{|{{{||{{{}{|{{{{{{{{|||{}|{|{{{{|{{||{||{|||{{{||{{{}|||||{|z{z{{|{||||{||{{{{{{{{{{|{||}}||{z{{|{{{|||||||{||z{{z{{{|||||{||{{{z{|{{z|{{{|z{{{{zz{z{{{{|{|z|{zzz{z{{||||}|{{{z{z{z{|||{}|{z{z{z{zz|{{zz{||{z{{{yzz{|{{{z{|{{{{{{zy{z{{{{{{zz{zyz{{{{z{{{{{|zz{zzz{z|{{z{{{z{{{y{zz{|z{z{{{{zz{{zz{{{{{{||zz{zyzzyz{z{{{|{|{z{zzzzzz{{{{z||z{z{zzzy{{z{|{z{{zzzzzz{z{z{{{z{z{{zzzzy{{{{zz{{zzzz{zzzz||{||{|zzzzzzzz{z|z{|{{zz{z{zzzz|{{{|||yz{{{zz{{{{z{{{{{z{{{z{{{z{z{|||{zz{zzz{{{|{{|{{z{{z{zzz{{||||{|{{{{|{{{{{|{{{}|{zz{zy{{{|||{||||z|{{z{{{{|{{{{|{zzz{|{{{{||}|}||zz{{z{z{|{{{{|||z{||{z{|{}{|||{||{zzz{zz{{{{|{|{z{z|{{{|}|{{|||{zzzz{{{{{{{|{{{|zz{z{{{{{{|{|{{{{{zzz{z{{|{z}{{y{{{{z{z{|||||{|{{{{zz{z{{{{||{|{{{z{zzz|{{{{{||{zzzz{zzz{{|z{{|z{zzzzyz{{|{z{{{zzzyzyzz{z{zzz{{{zz{z{y{{{{{{zz{zyzzzzzzzz{{z{{{zzzzzz{y{{{z{{{zzzzzyzz{z{{{z{z|{{{z{{zzzzz{{||{z{zzyyzzz{{{z{{{zzzy{yz{{{{{{{{{{{{yzz{z{{{{{z{{{zzz|zzz{{{z{{{{zz{zzy{z{z{{z{{|{z{zyyz{{{{z||{{|z{{zz{y{{z{{|z{|z{{zzzz{{|zz{|{{z{{{z{zz|{{z{|{{yzy{z{{|{|{{|{{{z{|z{{{{|{|{{|{{z{{zzz{{|{|z{}{{zz{{|{{|||{{|}{|{{zz{{{{|{|||{||{{zz|{{{||{|||||{{{{z{{|{{}{||||z{|z{{{{{{{|{{|{{z{{{|z{{{|{{||z{{{zzz{zz{{{{{{}z{{zz{z{|{||z|{{z{zz{zzz{z{{|z{|{{{{{z{{{{||{{{{{|{{zzz{{|{||||{{zz{{{{{{{||{{||zz{z{{z||{|{||{{{|yzz{y{{{{z|{|zz|zz|zz{{{z{{{||z{zzyy{{||{z|{zzz{{zzzzzz{{{{z{zzzzzzzy{z{{{{{zzz{{zzzz{z{{|{|{zz{{zzzz{{|z{z|{{{{zz{zz{{|{|{z{{zzz{zzzz{{z{{|{zz{zzzzy{{{{{{|{zz{z{{{z{|{{z||{{zzz{z{zz{{{|}{|{z{zz{z{z{{z||{|{z{zzzzzz|{{{|z{zz|zyzz{{{z{|||{{{z{{{{z{{|{{{||{{{{z{{||{|||}}|{zz{{{{|{{||{|{{{{z{|zzz{|||{|||{zz{|zzz{|{{{{{||z|{{|}{|||{||{|{z{{z{{||}||||||{|z{|{|{|{|{||{{||z{{{{{{{||{{{|||z{{zz{{{{|{|{{|{{{z{{{{|{|{{{{|{{zy{{{{||{{{{|{z{{z{|z|z|{{{{|{|z{{z{{z}|{||{|{{{{{{zz{{{{{{||z|{z{{z{|{|{|{|zzyz{{z{{{{{{{{{{{z|yzz{{{{||{|||{z{zzyz{{{z{z||{{{{z{{z{{||z{{{z{z{zz{zz{z{z{{{{y{{zzy{zzz{z{z{{zz{{z{zzz{|{{z{|{zzz{{{zz{{z{z||{yz{zz{zz{zzz|zzzzzz{zz{|{z{{|{{zz{z{{zyz{{{{z|{z{{{{{z{z{||{{{{{z{{{zz{{|z{zz{|zzz{zzz{z{|z{|||{{{{{zzz{|{{|{{{z{{{z{zz{{{{z{|{zzz{{z{{{|{{z{{||z{z{{{z{|{{||}|{{{|{{{|{|{|{|{}z{{{{{{z||||{||||{{{|z{z|{|}}|||{{zz{{|{|{|{|||||{{|{{||{|{|}|||{{|{{z|z{||{{}|z|z{z{{{{{{{|||||{|{{||{{||{{{}||{zz{{zz{{|{{{||{|{{{{{{{||||z||||{{zzyz{{{{zz|{}z{{{zz{{{}z{{{{{{{{z{zz{{{|{|{{{{{z{z{{{|{{{|{||{{{z{yz{{{{{{|||zzzzzz{z{{{z{{{{zz{zyy{z{{zz{{zz{{{zzzz{z{{z{}{{zzzz{zzz|{{zzz{{z{{zzzz{z{{{{{{{{||{{zzzz{|{|{{{z{zzz{zzz{|z{{{{zzzz{z{zz{{zz{z{{{zzzzzzz{{{{|{{zy{{{z{z{z{zz{|{{{{zz{{{z{{{{{z{{{{{{z{{{{|z{{|{z{{z{{z{{|{{{z{{{z{{zzzzz{{{{|{{{zzz{{zzz{{|z{|{|z{{zz{z{z{{{|{{{{{zz|{{{{{||{||z{{zzz{z{{z|{|||{z{|{zzz||{|||z||{{{zz{{|{|}{||{{{{z|{{zz{|||{||{{{{{|{{|||}{{|{||{{{{{{|||||{|}{zz{{{z{{{{|{{|{|{{{{|zz|{{|{{}|z|z{z|{{{{||{}|}{|z{{z{{{|{{{{{{z{{z{{{z{{{{{{|{{{{z{{{|{|{{{{|}{{{z{y{z||{{|{|}{{zz{{|{|{{{{{|{{{z{z{{|{{||{{{||{{z{y{{{{{{|{{|{y{{{|{z{{{zz{{{|z{zz{z{{{|{{{{{zz{zz{{{{{z{|{{{zzzzz{zz{{{{{{|{{z{zy{zzzz{{{{{{{{{{zzzz{{{|{||{z{{z{zz{z{{{{z{z{|z{z{{zz{|z{|{{z{{zz{z{{|z|||{|{zz{{{{|z{{{{{{|{zz{zz{z|{{{z{{|{{zz{{{z|{|||||{{z{|{{{z{{{{{{||z|{{{zz{zz{|{|||{{||{z|z||{{{|{{{|{z{{{{||||||}|{||{|||{|{{|{{||{|{{zz{z|||||||{{{{{{|{{|{|{{{||{{|{||{{{||}|||||{{|{{{{||}|||||{|{{|z{{||||{|{{||{{|{{{{|{{|{{||{z|{z|{||{}}{{|{z|z{{{{{|{{{||}|z{z{z{{|||||||||{{{zz{y{{|{{{|{{|{zzz{z{||z{{||z{z{{{{{{{{|{||{{{|z{z{{{{zz||||{{z{zzz{{|{{{{{|{z{yy{{z|{{z|{{|{{zzzz{zz{{{z{|z{z{zzz{z{{{{{|{z{{{z{z{zz{z|z{{{zy{{zzzz{z{{{{{{{yyzyzz{{z{z{{{{{zzzz|zz{z|{{{|{zz{zzyzz{{{zz|y|{|zz{z{zz{{{z{z{{z{zzyzz{{{{{{{{{yzzz{{z{{{{z|{{{z{{zy{z{{z{{{|{{{{z{{{zz{{z{|{|{z{{{{z{z{{|||{{zz{{{{{|{{|z{{{||z{{{zz{z||{{{{{{{z{z{{{|{|||{{{{zz|{{{{|{|{{||{{{z{{{zz{||||z|{{{{z{z{{{|{{|}||{|{{{{{|{|||{{|}||z{|{{{{|{|{|||{{{{{{z{|{||{||||z{{{z{z|{{{{{||||yz|z{|||{|{}|}{{{{{z{{{{{{|||{z{z{{{{z{{{{{{{{z|{{z{zz|{|{{{|z|{z{{z{yz||{{|{{{{{{z{{z{z{{{{{|{{{{{zy{{{{{z{|z{{zzzz{z{{{|{{|{{{{z{yzz{{{|{{{|zz{y{{zz{{{{{{{{{z{zz{z{{{{{{{{{{{z{zz{zz{zzz{{zzzzzz{zzz{{z{{{{{z{zy{zz{{zz}{{{zz{{y{yzz|z{z{|z{{zzzz{zz{|{{{z{{{{{zyzz{{z{z|{{{zzzz{zzz{{{{||{{zzz|yz{{{{|z{{{{{{zzz{z|{|{|{z|z{zzz{{zz{|{|{|{{{{{zz{z{{z{{{||{{{{{zzz{{{|{{{{|{zzzz{{||{|z|{{|{{{{z{{{{{{|{{{z{{z{z{z|{{|{|}{|{{yzzz{|||||{|||z{{{{|z}{{{||||z{{z{{|{||{|{||{|z{|z{{{{|{||{||{{{{{{{{|{|{||{||{{{{{{|{||{|{|||{z{|{{||||z||{{z{{zz{z{{|{{{{}||zz{{zzzz{{|{}|{{z{yz{{z{z|{{|{{{{{z{{{z{||{{}{|{|{{y|z{{|||{|||{{{zz{z{{{{{z{{{{zz{{{zz{|{{{||{zz{zz{zz{z{{z|{|zz|zzz{zz{zz{{{|zz{{{{{z|{{{{{{{zzzz{{zz{{z{z{{|zzzzzzz{{{|{z|{{zzz{{{yzzz{{{{{{zz{zzzzzzz{{{z|{{zz{zz{z{{{{{|{{{z{zzzzz{{z{{|{{zzz{{{{yz{z{||{{|{{z{zzz{|{{|||}|{{yzzz{{{z{zz||zz{{zz{{{{|{{{|{{{z{zzz{{{||||z{{{{zzzzy||{{|||z{zz{{{{{||{{|}||{{{{{{{{z{||{{|}|{{{{{{{|{|||y}|{{z|{{z{{|{{|||{{{z{{{z{||}{{|{}{z{{{{||||{|||||{{{|{||{{}||||||{|{{{z{{{|{}||{{|{{{{{{{{{{{{||{|{{{{{{|}|{|{||{{|{|{{z{{|{{|{}}{{||{z{{{|{{||{|{{{zz{{zz||{|{|{|{{z{zzzz{||{|{|z{z{zzz{|z{|{{||{z{zzzz{{{{{|{|{{yzzzzzz{{z{{{z{{{{zy{zy|{{{{{{|zz{y{zzzzzz{z{zzzzzzyzz{{{}{z{{{{{zzz|z{{zz{z{{|zyzzzzzzz{{{{{{{{zz{zzz{{z|zz|{{zzz{zzzz{z{|z{{{z{zzyzzyzz{z{{{{{z{zzzzzz{z{z|{{z{{{zzzz{{{z{|{|{{{y{{{yzz{z{{z|z{{zzzzz{{{y{{z{zyz{zz{z{z{{z{{{{yz{zz{{z{z{||z{{zz{zz{{{{{{{||{|{{{zzz{{|}{{zz|z{z{|{z{{{{||||{z{{{{{zz|{{||{}{z{|{{{{z{{||{|{{{z{{|{{z{||{{||{{{{{{{{z{{{{|||}|z|{{{{z|}|||{||{z|{{z{{{||{{|{||z{{{{y|{{z}{{|{{z{z{zz{||||{||||{{{{z{z{{{|{|{|{{{{{{z{z{||{|{{{zz{{{z{{{{{{{|||zz{{z{{z{||{z||{{z{z{z{|{{|||{{{z{{zz{z{{{|{||}|zz{{{{{z|{{z{{|zz{zz{zz{{z{{{{{z{z{{z{z{{{z{|{{|{z{zzzz{{z{|{{{zz{{zz{{|{{{{|z{zzzzzyzzz{{{{{|{z{z{zzzz{{{|{{{{{z{zz|zyz{{|{{|{zzz{zyz{{{{{{z{|zzz{zz{zz{{{{{{|{z{zz{zz{{{z{{|{{z{z{{{{z{{{{|{{z{z{zzzz{{{z{{{|{z{{{{{{{{z{{|{{{{z{z{{{z|{|{{{{{z{{{z{z{||{{{}z{zz{z{z{||z{|{{{|z{z{zz{{||{||||z{|{{{{{{|||{|||{{{{{z{z{{||||{}{|{|z{{{{{{{|z|||{z{{{||{{{||||{{{{{{|z{||||||}|{z|{{{{{{z{{{|{||z{{{{{{{}{{}{||{{{{{z{{{{{{||||{{{z{z{z{|{{|||{{|{zzz{{{||z{{{|{|z|z{z{{{||||{{|{zz{{{z||{{z{{|{{z{zzz{|{|z{{{|{{{zz{{z{{{{{{{{zzyzz{zx{{|{{zz||zzzzz{z{{{{{|{{{yz{{zyzzz{{{{|{zzzzzz{{yz{{{{{{{zzz{yyz{zz{z{z{{zz{{zzy{z|zz{|{{z{zzyz{z{{{{{{{zz{{zzzz{|{zz{z{zzz|zzzzzzz{{|z|z{zy{y{z{{{{{{{z{{zyzz{y{{{{{{{{{zyzzzzz{{z{|{{|zz{zzzzz{{{{{|{|zz{{{zzzzy|{{||{zzzz{z{y||{{{|||{zzzzzz{||zz{||zz{z{zzz{{{{|{z{{{|z{{zz{{|{|{|{{{{zz{{{z|{|}|{|{{{z{{{z{{|{{{{|{|{{{{{z{z{{{{{|||{|{{||{{|{{|{|{|{{{z{{{{}{{|{|{|{{{{{{z|{{{|{{{{{{z|{{{{{{|||{{{|{{{{{{{||{z|{{{{{{{{z{|{{|{|{|{{{z{z{z||{{|{z{z{{{z{{{{{|{{{{{{{zzy|zzz{{{{{{{{zz{{zzz{{{{||{|{{{z|zzz{z{{||{{z{zz{zz{z{{{z|{{{z{zzzz{|z|z{z{{z{{yz{zz{{{{z||zz{|{{yzz{z{{{{z{zzzyzyzzzzz|{{z{yyy{zyzz{{{{z{||zzz{z{zz{z|{{{{z{z{{zy{z{z{z|{{{zzzzzzzzz{zzz{{{z{{yzzzzy{{{{|z|zz{z{{{zz|{z{{{{{yzzzz{z|{{{z{{{zz{{zzzzz{{|{{{{zz{zzzy{{z{{{{{||{{zzyyz{{|{|{|{zyyzz{zz{||{{{|{{zz{zyz{{|{{z{|{{zzz{{{{z{z|{|{{{z{{{{||{{{|{||{|{z{z{z{{{{{{}{{{|{{z{y{||{{|{|||zz{||{{{||{||{|{z|{{{{z||{{|{||z{{{{z{{}{|{{{}{{{{||y{z{{{{}|{|{{{{{{z{||{{||||{{{z{zzz|{{{|{||zz{zzz{z{|{||||{{{{{z{zz{||{{|{||{{{{{zz{{{|{{||{{{{{{{{{{{{|{{{zz{zyyzz{{{{z{||{zy{{{z{zz|{z{|z{y{zzzyz{{{{{|{|{z{z{{zy{{{z{||z{zz{{z{zz{{zzz{{zzzzz{yz{{zzz||{{yz{{zzzz{{z{{|{yzzzzz{z{{z{{{z|z{{{yz{{{z{|{|{|zzzz{{{zz{{{{{{{zzz{z{zy{{{z{{{{z{{{{{{zzz{{{{{z{zzzzz{z|z|{{{z{{zz{z{{y{z{{y{{{{{{z{z{z||{|{|{{z{{{{y|zz{}{{{z{{z{z{zzy{{{{{||z{zzz{zzz{|{{{|{||z{z{{{z{{{|{|||zz{{zz{z||||{|||{{{{{{z{{{}{{||{{z{z|{{{{|{||z||{{z{{{{{{|{|||}{|{{{{{{{{|{{|{|||{{|z{{{{{{{{{||{{{{z{|{{||{{||||{{{|{|{{|{|{{||z||{z{{{{{{|{{}|z{{{{{zz{{{{{{{|{{{yy{{{{{|{{|{{{{{{yzz{z{z|{{|{zzzz{z{{z|{|{|}{{{{z{y{{{{{|{{|{y{{z{zz{z{z{zz{{|z{zz{z{{{|{z{||{z{z{{zz{|{z|{z{z{zzz{zz{z{z{{{{{zyzzz{{{{z{z{{{{{z{zzzzz{z{{{|z{z{zzzyz{yz{|{{|{zyzzyzyz{{|{{{|zzz{zzzzz{{{zz{{z|{yzzzzz{{zz{{|{zzzzzz{{{zz|{|{{zz{zz{z{||{z{||{zz{zz{z{{{{|{{|{z{{yzzzy{z{{|{{{{{{{zz{{{{{{{{|{z{{{zzz{z{{{|||{z{{zz{z{|{{{{{{|z{{{|z{|||{{{||{|{{{z{z|{|{|{|{{|{{{{z{{|}|{|||{z{{{z{{|{|{{{|{z{}{{{|{{{{{{||||{{{z{{{|}{|{{||{z|{|z|{{{|{{||{|{{{{{{{{||{|{||{{{{{{{z{{{|{|||{{{{{{{z{{{|{|{||z{{z{|z||{|{||{|{{{{yzz{{{{{|{|{zzz{zzz{{|{{{|{{zz{z{z{{{|{{{||{zzz{zzz{{|{z|z{|z{{{{zz{{|{{{{{{y{{y|{y{zz|z{{|z{{zzyzzz{{z{{{{z{{z{zzz{{|{z{{zzzyz{zzzzzz{{z{{zzyz{yzzzz{z{z{{{yzzy{z{{{z{{|z{{zzzy{zzz{z{zz{{zzzzzyzyzz{{zz{|z{zyzz{{{{{z{{z{yzzzzz{y{{|{{z{{{{z{zz{z{{{{{{z{{{{zz{{z{z{{{{{{{{{zzz{zz{{{{{{|{||zzzzzzzz|{||{{{{{{zyz{{{||z{{{{z{zzzz{{{{{{{|zz{{|z{|{{{|{|{|{{{z{z{{{|{|{|{|z{{{{{{z{|{|{{|z|z{|z{{z|||||{|{{{|{z|{z{{{{|{{|}z{{z{z|z||}|||{|{{{{z{{|{|{|{{||z{z{{{zz{{|{|{|{{{{{zzz{|{{{||{{{zzz{{{{{|{z|{{{{{z{z{{|{{{{{||{zz{{zz{{{|{{}{|{|z{{z{{{||{|||{z{{{{{zy{{{{{}{{{{{{{zzz{{{{|{{|zz{zzzzz{{}{z{{{z{z{zz{z{{{{{{{|zz{zzzzz{{z{z{|{|zz{z{y{z{{z{|z{{{{zz{z{z{{{z|zzzzz{z{z{{zzz{z{{zzzz{zy{z{z{|z{{z{zzyzzz{{z{z{|{zz{yzy{z{{zz{{{|{zzzzzy{z{{{{|zz{z{{y{zzz{{{{{{|z{z{{z{z{|{{{{{{{zzzzzzz|{zz{{z{{z{z{z{{z{{{z{{|z{{{{{{zz{{{||{{{{{{|zz{{{|{|{{{{{{{{z{{{{{|{{{|{{{|z{{{{|{|||{}z|{zzz{{{{||{|||{z{{{{{{||{{|{|{{{{|z{z{||{||||{{z{{{|{|{|{{||||||{z{|{|{|||||||{{|z{z{z||{|{{||{{z{{{{{|||||{{||||{|{{{||{|{{|||{{zzzz{{||||{{z{z{{{{zz{||{||||{{{{z{|z|z{|{{zz{{{{zzzyz{|{zz{|{zzzzzz{{{{{|{|{z{{yzzz{{{z{|{{{{{yzzz{{{{{{{{{{{z{zzyzy{{{{|{{{{zzzyzzzz{{zz{z{z|zz{{z{{|{{{z{{{zzzz{yz{zz{zzz{zzzzzzzyz{{z{{z|{zzzzz{z{{{{{{|{{zzzyz{{z{{{{{{{{zz{zyzzy{{z{{z{{{zzzzzz{{zzz{z|{zzzyz{yz{|{{{|{{{zzzzzz{{{z{{{|{z{zzzzz{|{zz{{zzz{z{zzzz{zz{{{{zzz{zy{{||z{{|{{{z|zzz{{{|{{||||{{zz{zyz{|{{||{{z{zz{{{{|{{|}|||z{z{zz|z{{{|{||}z{zz{{|{z|{||{{z{z{zz{{{|}||{||{{{{{{{{{{|{{|{||}{{z{{|{z|||||{|{{|{{zz{{|{||}{|{{{z{z{{|{zz|{|}{{{{{z{{|||{{{||zz{{{{zzz{{{{{{||{z{{{{z{|{|{z{|z{{zzz{y{||||{z{z{{{zz{zz|{{{||{{zzz{{{zz{{{|{{|{{{zzz{{{zz|{{|{{z{{{yzz{{|{{{{{{{zz{zzz{{{{{{{{zz{zz{{zzz{{{|{{zz{z{zy{zzz{{{zzzzzz{zyz{{|{z|zzzzzz{{z{zz{{{{{{z{y{z{z{z{{z||{{zzzzz{zzz||{{{{{{y{zzzzzz{{z{{{{{{{zzyyzz{{zz{z{zzzzzzyyz{{{{{{{{zzz{z{{{|{zz{{{z{{z{zz{zz{{z|{zzzz{zzz{z{z{{z{{zzz{{z{z{z{{{{{z|zz{z{zy{{|{{z|{{{zz{{z{{{{zz{|{z{{zz{zz{z|{||||{{zz{{{{|||||{||{zz{z{z{|{{|{||{{zzzzz{{{|{z{|{{{{{z{z}{{}|{{|{}{{{zz{{{z}|{{||{|{{{z{{z||{{{||{|z|{z{zz{}z{{|{||{z|{{{|{z{||{{|{zzyz{{{{{{{{{{|{zz{yz{z{{{zz||{z{zzzz{z{{{z{{||{zzzzzz{{z|{{{||{{z{{zzz|{{{{{z{}{yzzz{z{{{{z{|{zz{{z{zz{{{{{z{z{{zz{z{z{z{{{|{|{z{{zz{zz{{{z|||yz{zzzzz|{z{z{z{{zzz{zzzz{zzz|{zyzzz{zzzz{{{{{{{{|zzz{zyz{|{z{{z{{zyzzzzz{z{{{{z{z{{zzzyz{yzz{{{{{zzzz{yz{z{zzzzzzzzz{{zzz{z{{{z{zzzzzzzz{|zzz{zzzy{zz{{{{{{{{{|{zzzzzz{{{{z{|{|zz{z{z{{{|z{{{zz{{z{{{{{|{{{{z{|{zzzzzzy{{zz{|{{z{z{{{z{z{{{||}|{{{zz{{{{{|{{{}{{{|{{{zz{{{||{|{{{|z{{{{{||{{|{{|{z{{{{|{{{||||}z{{{{{z{||{|z{{{{{z{{{{{|||||{|{zz{{{{|{|{{{|{|{|{z{{{{{|{{||{||{{{{{{z{{{{{|{|{{{{{yzzz{{|{{z{{{zz{{{{zz{{{{|{{{{z{zzyy{{{{{{{|{z{z{{z{z{|{{{{z{{yz{{zz{zzz{|z{|z{{zz{{|{{{{{|{zzzyy{zy{z{{{z||{zzzzz{{z{{zzz{zz{z{zzzzzz{{{|{{zz{yzzzz{zz{zz{|zzzzyyzz{{{zz{|{{z{yzzyzz{zz{{{zzzzzz{{{{{{{{z{{zzzx{yzyz{{yzz{{zz{zyzzy{{z{{{z{{zzz{z{{zz{{{{{z{yy{yz{z{{{|{{|zz{{|{z{zz{z{{{{{{z{zzzzz{{{z{{z{z{{zzz{z{{{|{{{{zz{{zzzy{{|{|{{{{{{{{zzz|{{z{{{{{|z{{{{z{|{{{|{|{{{{{z|{{{{|{{||{{{zz{z{{{{{{z||{z{z|{{{||}{{{{||{{zz{||||{{|{{||{z{{{{z{|||{{||{z{{{z{{||{|z}{|{{{{|{{{{{{|||{||{{z|{{z{{{{{||||z{{{{{zz{{|{z||{{z{{z{z{|{z{{{{{z{z{z{{z{|{{z{|{zz{z{z{|{||z{{|z{{{{yz{{{{{z|||z{zyz{z{{{|{{{||{zz{yzz{z{{{zzz|{zz{z{{z{z{{{{{zzz{{z{zz{{{{zz|{{z{z{zyz{{{z{|z{z{zzzzzzyzzz{{{{zyzyzzzzz{{{z{{{zzzyzzyz{{{z{|{z{zz{z{zzzz{{z{{zzzzzzzzyzzzz{{z{{z{zzyzz{{{{z{{{{zzzzz{z{{{{z||z{zzzzyzyzz{|{{z{zzzz{zz{{{z{{|||y{{{zzzzz{{{zz{|z{{z{zzz{{{|||{z{zz{z{zz{{{{z{|z{z{{{z{{{|{|{{{{zz{z{{zz|{{|{{||{{zz{z{{{z{{{|||{{{z{z{z{{{|{{{z{zz{z{{{{{{{{{|{z{{z{{|{{{{{|||{|{{{{{{{{|||{{|{|y{z{{||{{{{|z{{|{{{{zz{zz{||{{{|zzz{{{{|||{|{{}{{zzz{{z{{z{{{|{|zzzzzzz{|{||||{z{z{zzzz|{{|{{{{z{zzzzzyz{{{{z{{zzyzy{z{z{{{{{||{{zz{z{z{{{{{|{|zz{zzzzzzz|{|z{{z{zyzz{zz|{{z{{{{yzzzyzzz|{zz|{|z{zz{zz{{{{zzzz{z{{{z{{z{z{zz{{{{zz{zzzz||{{{{{{{zzzzzz{z{{{{{{zz{zzzzzzz{{z{{z{zy{zzzzy{{z{z{zz{{zzzyzzy{zzzz{zy{{z{{{yzzzz{z{{zzzyzz{{{|{z|z{{{zz{{z{z{{{{z{|{{{{{z{z|{{|||{z{{z{zzy{z{{{{{|{zzzzzz{zzz{|z{{|{z{z{{{{z{z{zy|{{{{{zz{zz{{{{{z{|z|{{{y{|z|zz|{||{{{{zzy{{|{{|{|{|{{{{{zz|}{{|||{{zz|{|{{{{|{|{|{{{{{{{{z{{|{|||{{z{z{z{{|{|{{|{{|z{{{{{|{{{{{|{|{{z{z{{{z{{{{{{|z{{zz{zz{{{{{||{{{zzzzzzz{|||{||zyzzz{{{{{{z|{{{{{z{{{{z{{||{|{{{{z{{{{{z{{{z|||{{{zzz{{z{{{z|{|zzzzzzzz{{{|zz{{{{z{z{{y{{{{{|{{{zzzzzzz{{}{{||z{{y{{z{z{{{zy{|{zzzzzz{{z{{{{z{{yzz{zzz{{{|zyzzz{zzzy{y{{z{{{{{{yzz{z{zz{{{|{{|{{zz{zzzzzz{zz{zzzzyz{zzzz{{zz{{{{z{zzz{zzz|{z{{{{zzzzzzz{{|{{{z|z{{{zyzz{zz{{{{{zz{z{{z{z{|{||}{{z{{{z{z{{{{||{|{{zz{z{{{{|{{z|{{z{{z{{{z||{{||{{|{{{{{z{{||||}|{{{{{z{{{|{{{|{|{yz{{{{z|{{|{{|{{z{{}zz{||{{{|{{{|{{z{|{z|{{|z|||{z{|{{{{}|{||||{{{{zz{{}||}|}||{{z{{z{|{||{{{|{{|{{||z{|{{|||||z{zz{{{z{{{{||{{{{{{{{{zz||{{{|{z{y{|zzz||||{|||{zzz{z{z{z{{|{z|{|{{{zzzz|{{{|{|zz{z{{{z{z|{{z|{{zzz{yz{z{{{{{|zz{|zzz{z|{{z{|{{{z{{y{{{{z{{{{|z{z{zzyzz{z{{{z{{zz{zzzzzzz{z{{{{{yzzzzzz{{z|{{{{z{zzy{z{zz{y{{z{{zzzzzz{z{{|z{|{z{{{zzzyz{{z{{|{{{yzz{zzzzz{{|{|zzz{{zy{y{{{{|{{{zz{{zzz{{|{z|{{z{z{zzzz{|{}z{{{z{{zzzzzz{{{z|{{z{zzz{{z{{||||{|{{zzzz{{{|{||{||{{{{{zz{{|zz{|{{|z{zz{{z{{{|{|{|{|{{z{{{{|z{{{{}{z{{{|z{{|}|{||||{{{{{{z|{|{|{|{{|{z{{|{z||{|{|{||{{{}{{{{|{||||{{{{z{{{{{}{||{||{{{zz{{||||{}{|{|z{|{z{{|||||{{{{{zz{z{{{{{||{|z{{{{z{zz|{{|||||{z{{zz{|{{|{{{{{z{z{zz{{{||{{|{{{z{zzzz{{{||{|{{{z{z{z{z{|{|||||zzzz{zzzz{{{{|{{{{yy{zz{{{{{|{{{{yzzz{z{{{zz||z{{zz{z{z|{|z{{{|{{z{zzz{z{|{z{z{{zzzzz{{z|{{{{{{z{z{y{yz{{{{{{{z{zzyzzzyz{{{z|{{z{zzzzzzzzz{z|zzz{zz{z{z{z{z{{{{{z{{yzzz{z{{y{{{{{zzzzz{{{{{{z|{{z{yzzz{zz{{{|{|{z{zz{{{|{{{{z|{{z{z{z|yz{|{{{|{{|{zz{y{z{{{|{|{zz{z{z{z{{z{z{z{{{{{{zz{{|{{||||{{{{z{{{|{{|z|||{z{{{zzz{||{|||{{{{{{z{|z||{|zz|{{{zz{{z|{{{||{||{|{|{{{{{|{|||||{||{{|z|{|z|||{{{|{{{{{z||||{||{{{{||z{{{{|{|{|{{zz{{{z{|zz{|{{zzz{z{{z{|z|{{|{z{zzzzz{{{|{{}z{yz{z{y{z{{|z{|||{y{zzyzy{{{{{|||{{{{zzz{{{z{|z{|zyz{zz{{zz|{{{{{{{zzz{zz|z{{z|{{z{{z{zzyz{|z{{|{zz{yzzz{z{{z{{{{z{zzzz{z{zz{z{{{zz{z{y{z{z{zz{{{{z{zz{zz{{{z{z{{{yzyzzyz{{{zz{||zzzzyyzzzzyz{{{|zzzzyyyzy{{zz|z{zzzzz|y{{z{{{{|{{zzyzzyz{{{{||{{{{{zzzz{{z|{|{{{zz{y{{yz{|{{{{{|{z{{{{zz{{{{z{zz|{{zz{{zzz|{{{z{{{{{zz{z{{{{{|{|{{z{{{{{zz|{||{{{{{z{{|{||z{||{{{{z{{{{z||||||{{|z{z{{{{{|{|{{|{{{{{{{|{|{|{|{||{|{{{{{z|{|{{|{{|z{{{z{{{{}|{{|||z{z{{||{{{{|{||z|{{{{{{{|{||}|{{{zz{{z{{{|{{||||z{z{z|z||{{{{{{zz{xz{zy{|{{{zz{{zz{z{{{{||{{||{{{zzzzzzz{{|{{{|{{zz{{z{{zz{|||{{{{zzzyz{{{{z|z|z{{z{zzz{{{|{{{{{{{zzzzz{{z{z|{{{z{zz{zzzz{{{|z{zz|z{zzz{zz{{z{{zz{zzzzy{{z{z{{{yzzz{zzzz{|{{{{{{zz{zyzz{{z{z{{|zyyyzzzzz{z{{{{yzzzy{zzzz|{z{{{{{zzz{zzz{{z{{{|{{{{zz{{{{{{|z{|{zy{yzzz{z||{{{||z{z{{z{{z|{{{|{{z{{z{{zz{{{z||{{{{|zzz{{{||{{{|z{{{z{|{{{{{{{{|{{|{{{z|{{{|{|{||{|{z{{|{{|||{|||{|{zzzzz|{|||}{{{{{{z|{{||{|||{|{{zz|{{{}|{|||{||{|zz{{z||{|||{||{{{|{{||||{z||{{z{{{z{{|||{{||||z{{{{z||{||||{{z{{z|zz{||{{|{{|{{|{{z{{{||{{}{{{{{zzz{z{{||{||z|{zzzy{{{|{{{{|{|{{z{zz{{{|{{z{|{{{z{zzz|z{{|{{{|zzzzzz{{{{{{{{{|{{yzz{z{{|{z{||{zzzzz{z{|z{{{{z{{{y{{zzz{{{{z{z{z{{zzzz{{z{{{|{zzz{zzzz{{z{{{|{zz{yzyz{{{{zz|{{{zzz{yy{z{zz{z{|z{zz{z{y{z{zz{{zz{zyzz{{z{{z{|{zzyzzzz{z{{{{|{{zzz{z{zz{{{z{{{{{{z{zzy{{z{z{{{{|{zz{zzzz{{|{{|{{{{{{|zzzz{{|{{||{{{{{zyzz{{|{z}|z{{z{{{z{{|z{{{|z{{{{{z{{|||{||{{{{zzz{{{|{{||||{{{z{zzz|||||}{{{{z{{z{{{|{{|||{|zzz|{||z|{|{{}|{{|{{{||{}|{||{||{{{{{{{||{|||{||zz|{zz{{|{|||}{{z{|{zzz||{{{||{z|{z{|zz{{{|{{||{{zz{|zz{{||{{|{{z|zzz{{z||{{|{{{yzyzzyy{|{zy|{|{{z{zzz{{z{z{z|{{{{z{zzz{{z{|{{{z{{zz{zy{{z{z{{{{{zzyz{z{{|{{{||zz{yyyzzz{{{{zzzzz{{{{zzz|{z{{{z{zzzyyzzzzz{{|zzzyzzyzzz{{z{z{{zzz{zyzyzz{zz{{{z{z{zyyzzz{{yz{z{z{{zyz{zz{yzz{{{zzzz{zzyzzzzy{zz{y{zzz{yz{{{{{||z{{zzzzz{{{{z|||z{{zzzzz{z{{zz{{{yz{zzz{zz{{{z{||z{{|yzz{|{|z|{{{{z{{{zz{|{z{{{z{zz{{zzz{|{|z{{{|zz{yzzz{{{{|{{|{{z{z{{z|{{|{|||{zzzz{z{{||{|{||{{z{zzzz|{{{|{|{z{z{z{{|||z{||{{|{z{{{z{z|||{|||{{{{{{{z{{{||}|{{{zz{{z|||z{|||||y{{|{{{{z||{|{{z{{zz{{z{|z{{{||zz{{z{z{{||{{||{zz{{z{z{{{|{{{{{{yz{{z{z{{zz|{{{{zz{zz{z{{{{{|{{{zzz{{zz{z{{|||{{zzyzyzz{||zz{|{{|zz|z{zz{{{{{{|z{{zzy{{{{{|{{{{{y{zzyyyz{{{z{{zzzzzz{{zzzz{{{{|zyzz{zzzz{z{zy{{zzzzy{zz{{z{{{{{zzzzyzzzzzz{{{{yzyzyyzzzz{zzz{zz{yzzzzyz{{yzz{{zzyy{zyyzz{{{{{{{{zzz{z{{{{zz{{z{{zzzyz{zz|{{{z{{{z{zzzz{z{z||{{|{{zzzzyz{zz{{{|z{zzz{zzz{{{{{{|{{z{{z{{z{{{{{{{{|zz{{{zz|z{{|{||{{}{{{{{z|{{{|||{zz{{zz{{{{|{|{|{zz{{|{z||z{{{||{{{{|{|{{{z{{|||{{{zz{{{{|{{||||{{{z{{{{{{|{||||zz{{z{{z{{{|||{{{{{{{{zz{{{|{{{|z{{z{{{{z{|{||||zz{z{zz{{{{{{||{|z{z|zzz{{{z|z{{zzzzz{zzz{|{|{{|{zzz{zzy{{z|{{{zzz{zyy{z{|{z{z{zzzzzzzzzz{{|{{{{zzyzzzzzz{{{|{{{{z{zz{zz{{|z{{{zzy{zzzyzzz{{z{{{{{zzzzzz{zz|z{z|yyzzzzyz{{{z{{{{zyzz{zzz{z{y{{{{{zzzzzzz{{{{zz{{{zzz{xz{z{zz{{zz{zzyzyyzz{z{z|z{zyz{zzyzz{{|{{{{zzzz{yz{{z{{z{{{{{{zyzzzz{zzzzz{{zzzyzz{{{{{{|{{zzzzzz{{{{z{{|{zz{{{zzz{{{{{{|{{{|{zzz|{{{{{{{{z{{zz{zzz{{{{||{|z{{{|{z{{|z{{{{{{z{{z{zz{||{{|{{zzz{|z|{|}|{|{|{{{{{z{{{||||{|{||zz{{{{{z|{||||{|{||z{{{{{{{||{|{zzzz||{{{{{{|||{{zy{{{{{{{|{|{|zzzz{zz|z{{|{z{|{{{{{zzzz{z|{{|{{{{{zzyz{z|{zzyzzz{{zzzzz{{|{z|{{zz{zyyz{z{z{||zzzzzzz{zz{{z{{{{{|zzy{zz{z|{y|z{yzzzzzzyz{zz{{{|zz{zzzzzz|{{z{|zz{zzyyyz{z{{{{z{zzzyzz{z{zz{{{y|zz{zzy{z{{z|z{{zzzzzyzy{{y{{{z|zzzz{yzzz{zzzzz|{{zzzzzzzzzyzz{{{{zzz{zyzzzz{zzz{zzzz{zyzzzz{zz{{zzyyzz{z{z|{z{{|{{yzzz{{z{zz{z{{zz{{yzzz{{{{{{{|{{{{zzyyzzzzz{|{zy{{{z{z||{{||||zz{zzzzz{{{zz{{{{z{{{{y{{{{{{||{zz{z{{{{{{{|z{{|{{z{zz{{{{|{{{|{|zz{{{{{}|{{z{{{{{{{{{{{{{|{{}||{{z{y|{{{{|{|{{}{z{{z{zy{|{||{}{|{{zz{{|{|{||||{|z{{|{zz|z{||||}{z|{{{{z{{{{z|{{|{zz{{zz{{{{{||{zz{{{zyz|{{{{z{{{{{z{zzzz{{zz{{{{{{z{yyz{||{{{{{z{zzz{z{{{{{{|{{z{{{{z{z{{{zz{{|zzzzz{{z{y{{{|{|z{|yz|{zz{{{{{{{{{z{{yz{{{{{|z{{{{{zzzzz{z{z{{{|{{zzzz{z{{{z{{{{{{zzzzzz{|{{{z{{{{z{z{zzz|{{z{||zzzz{yzz{{{y{{z{{zzzyzzz{z{zzz|{z{zz{{yzz{{{{z{{z{zz{z{zz|{{z{{|zz{zz{{{z{{{{{{zzz{{zzzz{z||||{|{{z{|z{{{{{z{{||z{zz{|zz{{{{z{|{{z{{{zz{{{{{z{{|z{z{{zz{{||||zz|{|zz{z{z{{||{{|{|{{|{zzy{||{}{|||z{{|zz{{|{|||||{z|{{{|{{|{{{{|||{z{{z{{|||||{||{{{{{z{|{|{{||{}{{{{{z{||{{{{|{{|{z|{{z|{{{}|||{{{zz{{z{{|||{|{||{{z{{zz{||{{||{|{{{{zzz||{{|z{{|{zz{zz{{{{|{z{{{zz{zzzz{{z{{{|{{{z{{{zzzz{{z{|{{z{{{z{{{{|{z{{{{z|zzz{zz|{{{|{|z{{{zz{z{{||z||{zzzzzzzzz{zzz|{|y{{zy{z{z{{zz|{{{{zx{{zz{|{{z{|{yz{yzzyz{|{z{{zyz{zz{|{z{z{{z{{{zz{zzzzyz{{{z|{zzzz{z{zzy{{zz{{|{zz{{zzyz{{z{{{{{{yz{zzz{{{{||{{{z{zzz{{z{|{{|{{zzz{z{zz{||{{{|{{zzy{z{{zz{{||z{{{{{z{z{z{||{|||{{y{{zz{|{{|{{|zz{{{{zzz|||{{|||{zz{{{{z{{{{|{||{{{|{zy{{||{{||{}z{{|{zz||||||||{z{z{{|z{{{||||||{z{{||z{}|{|||||{zz{{|{|{||{|}||{{|{zzz{|{{|{||{|z{|{z{||||||{|z{{z{zyz{|{{|||{{{{zz{z{{}{||||{{{{zzz{{{{||{{{{{{z{{zzzz{{{{{|{z{zz{zz{z{z{||{{{{{zz{zz{{|{|{|{{zzzzzz|{{z|{|{{{{{{{z{yz{z{{{{{zz{{zzy{z{{{{{{{{{{zy{z{zz{{{|{z{zzzzzz{z{{{{{z|zyzyzzzz{{{{{{{{{zzzzzyz{{{z{{{{zyzzz{yzzz{|zz|{{zzz{yzzzz{z{{{{{yzzzzzzzyz{z{{{yzyzyzzzz{{{z|{{{zz{z{zzz{{z{||{{{zzzzzz{{{|z|{{y{{yzz{z|{{{{{||{z{zzz{z{{{{||z{z{{yzy{y{|{|{||||{|{zzzz{{|{z{{{{z{z{{{z|{|{|||{zz{zz{{{{|z{|{{|{|{z{{{z||{{|}|}{zzz{{|{||{|{||{{{{z{{||{||||||{{z{{{{{z{|{|{|||||{{{{{{{||{|||{{zz{{{{{|{{||{|||{|{{|{{||}{||||{{{{{{z{|{{|{}||{{z{z{zz{|{{{{|}{{zzzzz{{z{{{|z{z{zz{zzy{|{z{{|{{{z|zzyz|{|{{{{|z{zz{{zz{{{{{{||{{zzz{{zz{|{z{|{z{{zz{{z{{{{{{{|{zzzzz{zzz{{z{{z|{{z{zzzz{|{z|{{{zzzz{zzzz{{{|z{zzz{{zzz{y{{{z{{zzz{zz{x{z{z|z{{zzzzzzz{{zz{{{{{{zzzzzzz{{zz{{{{{z{zzyzzyzzz{{|{{z{z{{zz{z{z{{|{zzzzzz{z{z{|z{z{{{{{{y{{{z{{{|z{zzzy{zz{{{|{{||{{zzzzyz{{{||{|z{{{{z{{z{{{|z|{|{z{z{z{z{||z{{|z|{zzzzz{{{|{{{{||{zz{z{||||||{{||{{zz{{{z{{{||{|{{||{{{z{{||{{||{{{{{{{|{z||{||{||{{{{|{|z{|{{|||z{{z{z{{{|{|{{||z{z|{{|{{{{z{|}|{{{{{z{{|{{||{{||{|{{{{{z|{{{{}{z{z{{{{{z{{|{|{{|{zzzyzz{{||||zzzz{{zz{zz{|{{{{|{{{z{yz{{{z{z{|{{|zzz{z{zz{|||{{z{{{zzz|z{{{{{||z{{z{zzz|||z{z{|zzzz{zzyz{{|y{{{{z{{{zzz{{{z{||{{z{{zzz{{zz|z{{{{z{yyzyz{{{zz{|{zz{{zzyz{{{{{{{{z{z{zzzy{{z{{|{{zzz{zz{z{z{{{z{|z{yzz{zzz{zz{{{|{z{zz{y{zz{{z{{{{yzy{zz{{z{{||{|{{|{{yzz{{{{{|||{zzzyzz{{z|{||{z{z{{{y{{z{{z{|||zz{{{{zz{{{{{z||{zyzz{zz|{|{{{|{{{zz|{{|{{|{|{{{{{{{{{{{{{{|{|||{{z|{{{z|z}|{{{{{{zz{{{{||{|||||{{{{{{z{|{{{{{{|{zzz{{{{z{{|||}{{{|{{{{{{|||{|||{zz{{{z{{{|{|{||{{|z{|z{|{|{|{{||zzz{{{{z||{|||}{{{z{zz{{|||{{|{{z{{{{|z{{|{||{{zzz{zz{{z{{z{|{{{{zzzyz{{{|{z{{{{{{{zzzz{|{{{|{{|z{{{z{z{|{|z{{{z{zzz{{z{z{z{{{{zz{zzz{zz{{{{{}{zzzzz{zz{z{z{{{{z{zzzyzyzzz{{{{{zzz{zzzzz{zz{{{z{zz{zzz{yzzzz{{{zzzzyzzzz|z{{{|{{{zy{z{zz{z{y|{{zzyyz{zzzzy{{|{zzz{{z{yzzz{{zz{{{zz{zzz{{|{{{{{{{z{zzy{|zz|{|{||{{zzz{{{z{{{{||{|z{{zyzzz|{{{|{{{{zzy{zz{{z|{{|{|zz{{{zz|}{|{{|{{zz{{{{{{|{{|||{{{{|{{|{||{|{|||z{zzzz{{{||{{|||{z{z{{{|{|||{{}|{{{{{z{z{{||{||{{{z{{{|{{}||{|||{{|{{z{z|z|{|z|{{{z{{{{{||{{{{|{{{{{{z{{{{|{{|{{z{{zz{{{{{{||{|{{{{{z{{{{|{{{{|z|||{zz{z{|z{{z{{zzzy{zzzz{{{{{{{{{zzzzz{z{{{|z{|z{zz{zzz{{{{{{{{|yzz{zz{z{|{z{{{zz{zz{zy|{z{{{{{zz{yzzyz{{{{y{|{zz{yyyyzzz{{{{{zzz{zyzz{{z{{{{{zyzzyzyzzz{|{zz{zzzyzzzzz{{{{z|{zzz{zyyzzy{z{z{{{{zzz{yzy{zzzz{z{{yzzzzzzzzzz{{{zzzzzz{yz{{{zz{{{{zzzzzzy{z{{{||{{zzzzzz{|{{zz{|{{yzzzz{z{{{z{{{{z{zz{z{yz|{{{|{{z{{zzzz{{{{{{{|{{{zz{{zz{{|{{{{{z{zz{z{z{{|{{{{|z{z{{z{{|{{{{|||{z{{{{|z{{|{{||||{{{{{{{{|||{{{|{z|z{zz{z{{{|{{||{{{{{|{{|{{{|{||z{{{z{z{z{|{}|||z{{|zz{{|{z|{{|{{zzz|z{{|{zz{|{{{{zz{z{{{{|{||{{{zzzzzzz{{|{z|{{{{yzy{z{z{z{{z|z{z{{zzz{|{{{{{|{{{zzzzzz|{z{|{{zzz{y{z{{z{{{|{{{zzzzzzzz|{{z{{{{z{{zyzy{z{{{{{|zzzz{{zz{{|z{{{|{{{zzzz{z{{zzz{{zz{{zzzzz{{|{{{zzzzzzzz{z{zzzyz{zyzzzzzz{{|z{|{{zzyzzzzzz|{{{|z{zzzzzxzyzz{zz{{zzzzzyzzzz|zy{{{z{yzyzz{y{{|{z{{{{zz{z{z{z{z{{{{{{zzzyzzz{{{{{z{{zz{{y{z{{}|{{{{{z{zzzz{y{{z{{{{|{z{z{zyz{|{z{||{z{{|z{z{z||{{{z{{z{|{z{{zz{{{|||{{{{|{{{|{z|||}{|{{{z{zz{}|{}|{{|zz{z{{{{||{{{||{{{{z{{{{{{{{||||y{{z||zz{|{{||||{|{{{zz|{}|||}|{|{{{{{{{z{|{{||z{z{}{zz|{{||}|||{{{|{z{{{{{{{|{zz{zz|{zz{{{{{{|{{zzzzzz{{{z{|{{{zz{{zz{zz|zz{{{z{yzzzzzz{{{{{|{{zzz{z{z{z{z{|{|z{z{zy{{{z{{z{{{{zzzzy{z{{||{{z{zz{{{{zyzz{{{{||{zzzyyzy|z{{z{z{{zzzy{yy{{z{z|z{z{zzzzzyz{{zzz|{zzz{zzzzz{|{|z{{{zz{{yzzzzz|zzz|z{zzzyzz{z{z{{zz{{zyyyzzz{z{z{z{yz{z|zzy{{{|{{{zzzzz{{zz{z{{{|z{zz{{zzzy{z{z{{{{zz{zz{{z{{zz{|}{z{{{zy{z{{{{{{{|{z{z{{{z{|{{{z{{{zz{{{{z|{{{|zz{{z{z{zzz{{{|{|{|{zz|z{z{|{z|{{{{{z{|{z{{{{{||||{|y{{{{{{|||{{|{|{{{zz|{{{|{||||{}{{|{{z{{{{{||||||{{z{zz|{{|z{|{{z{{{{z|{{z|z{|{|z{{{{{z|{{|{{{{z{{z{{z{{{{{z{|}|{zz{{{z||{|z{{{z{{z{z{z{{{{{{{{zz{zzzz{z{{|{{{z{zzz{z{zz{{{{|z|zzzzzzzz{z{z{{||{z{zzz{z{{{{{{||z{{zzz{yz{{{{|{{{z{zz{zzz|zzz{z{{y{zzzzz{{{{{{|{{z{{{zz{{{{{{{{{{zy{{zzz{z{z{z{|{zzzzzyyzzzz{zz|zzzz{zyz{z{{{{{{zyz{zyyzzyz{{{z{z{zy{y{zz{{{{{|{zzyzzzzz{z{{{{{|{{{zzz|z{{|{{{|{zy{zzz|z{{{{|{{{zz{{zzz{{{|{|{{|{z{{{{zz{|{{||{{zz{zz{zz||||{z{{{{|zzzzz{|{{{{{{{z{{z{zz{{{||z|{{z{{{z{{||{||{|{{z{{zz{z{||{|{||{zz|zz{{|||||||||{|z{z|{{{||}||{|z{{z{y|{|||}|}{}{{z{{{{|||||||||zz{{zz{{{|{||{||zz{{{{{{{{{|||||{zzz{z{}{{{{|{|z{z{{{{{z{{{{z{{{{{{zyzz{{|{{|{|zzzzzzzz{{|{z{{{z{zzzzyz|{{z{{{|z{zzz{{z{{{y|{|{{zzzzzyz{|{{{{|{zzzzz{yz{{{zz{{|{z{zzzzzz{zz{|{{{{zzzzzz{z{{{{{zzzzy{zzz{zz|{{z{{yzzyzzz{|{{y{{zzzzzyyzz{zzz{{{{{zyyyz{z{zzzz{z{zyzzzzzzyz{zz{{{{zzyyyz{z{zz{z{{yzzzzyyzzz{{{{{{{{zzzzzz{{{z{{{{{{{z{y{z{zz{z{zzzzz{zzyz{zzz{{|{{{{{{z{{{{{{{|{{{zzzzzzz|{{{z{|z{{z{z{{z{{{zz{zz{{zzzz{{{{{||{{|zzzz{z{|{|z|||||{{z{{{z{z|||||||{z|z{{{{{|{||{||{{{{z|{{{}{{|{|||{{{z|z{||{|{{||{{{{{{{z||||{z{{|{{{z{{{|||{|{|{{{{zz{z{|{{|||||{zzzz{zz{||{{|{|z{{{{{zzz||{z{|{{{|z{zz{{z|{{{{|{zz{{{{z{{{{{{{{zzzzzy|z{{{{|{z|z|z{zz{z|z||z||{{zz{{z{{z{{{z{{|{zzy{zzz{z{{||||{z{{zz{z{{{z{{|{zz{zzzyzz{{{{z{z{zz{zz{{{z{{{{|zzzzz{{zz{z|{{{z{zyzzzzy{zzz{z{{|z{|zz{{z{{{{{z{{{zz|{yyzzz{z{{z{{z{y{zzzz{{{z{{z{zzyzzzzz{z{{{{{{z{{z{yz{z||{{{{{zz{{z{z{z{z|{{zz{{y{{{z{{{{z{{{{{{zz{z{{{{z{{||z|{zz{z{{||z{{}{{zzz{{{{|{|{{{{|z{z{{z{{{|||{|{z|{z{{{{{{|{|{||{|zz{{{{{z|{{}||{|{{z{z{{{|||||{||{{{{{|{||{||||{|z||{{z{{}{|||}|{||{{|{{||||{}||}{zz{{z{{{{|{{{||{z{{{{{||z|}||||zzz{{zz{{{|{{|||{{{{z{{{|}|{}|{{z|z{{z{{z{{{zzz{{z{zzzzz|{z{|{{{zzzzzzz{|||||||{{{{zzzz{||{{z{|{{{{{{{{{|z{{{||{{{{zz{z{{{|z{{{{z{zy{{yz|{|{{{{{zz{zzzz{{{z{z|{{zzzy{y{z{z{z|{|{zzz{yzz{{{|{|{zzzz{z{z{z{|{{|{{zzzzzzzzz{{|{{{{|zzz{zzzz{{z{z{{{{{zzzz{zz{z{{zzzzz{{{zz{z{zz{{{{zzz{zzz{z{{{{||z{z{zz{z{{{{{{{{{z{z{zzz{{{{|{{{|z{z{z{{{{||z{{{zz{{{{y{|z{{{||{|{{{z{|z{|{z{||{{{{{z|z{y{}|{{||z{|{{{{|{|{|||}{{{{z|z{z{{{{|||{{zz{{{|{|{||||||{{|||||{|}{{{{}|||z{{{{{z|||{||{|z{{z{z{|||||{|||{{z{{{|{|{{{||||{{||||{{||||{{|{|z{{{{z||{{{z|{|{z{{{{z{|}{{{|{{{|z{zz|{||{{|{{{zzyzz{yz{{zzz|{zzzzzzz{{{{z{z{{z{{z{zzzzy{{|||{{zzzzzzzz{{{z{{{{{{z{zz{{{{{z{z|zzz{{{zzzz{{{|{{{{{{zz{y{{{z{{{zzz{yyzzzzz{{yz{{z{zz{zyz{{z{zz|{{z{zyzzyzy{{{{{{{z{zzz{zz{|z{{{{{z{zzzzx{z{z{zz{z{zzzzzz{{z{{|{{z{z{zzzzz|{{{{{{zz{z{yzz|{{{|{|z{y{{zz{|{{{{{{|{zyzzzzzzz{{{|{{z|{zz{{{zzzz{||{{zzz{{|{{{z|{{{{{{zz{z{{y{||{||{z{{{z{{z{z||{||{||{z{{{{z{z{|z|{{{}z{{zzz{{||{{|{|zz{z{{z||{|{{|{{{zz{|z|{{{||}|{|{{{|{|{{}||||}{{zz{{z{{{{|{|{{{{{{{{zzzz{{{{|{{|{{{|z{{{|{|||{|{{{z{{z{{|{{|{|{{{{{{zz{{{||z{{|{{{zz{{z|{|{{z{{zzz{zzzz{{{{{|{|{zzzzz{{|{zz||{|{yzyzz{zzz{{z|{{zzz{zzz{z{{{{{||zzzzzzzyz{{z{z{|zz{y{z{{{{{{{{{{zz{zzyzzz{{{{{z{z{{yzzz{z{zz{{{{zzzzyzzyzzzz{{{{zzzzzzzzy{z{||z{zz{{yzyzz{{z{{{zzzyz{yzy{zzz{zz{z{zyzz{z{zzzz{z{{zzz{{y{zz{z{{{{{z{{yzzy{{{{z{{{zzzy{z{yz{{z{{{{{z{yzzzz{{{{{|{{{{{{zz{z{z{{|{{|{yz{z{z{{{z{{z|{{zz{z{z{{{{{{{{zz{z{|{zz{||{|||{z{zz{{|{{|{||{{{{{z{{z{{{|||{||||{|{zz{z||{|{||}{{{zz{|z{|||}||{{{{{{{{{{}|||{||{z{|z{||{|{{{||||{z{|{{zz|{{{|||{{z||{z{{{{{||{{{{{z{z{z{{{{z|||{{{zzzzz{|{||{z|{{{{z{{z{||||z{{zzzzyy{zz|{{{z{{zzzzz{zzzz{{z||{zz{zzyzzzzz{{{||zz{zyzz{{z{{zz{{zzzzzz{zz{{y{{{|zz{zz{zy{{|zz{z{{zzz{yzzz{{zzzz|{yzzz{zz{yz{{{z{zzzyyzzz|zz{z{{zzy{zzzzzy{{{{zz{zz{yzzzzz|z|{{{{{yzyzzzzz{zz{{z{{{zz{zzyzzzzzz{|z{zzzzyzy{{{{{z|{zzz{yz{z{|{{{z|zzzzzzzz{{{{z{z{{z{zyzzyz{{|{|{{{z{yz{z{z{{z{{{|zzzzzz{z{{{{||{{{z{{z{{{{{{{{|{{{{z{{{{{z{{||{{{{{{z{{z{{{{{{{||z{z{{zz{{{{||{|z{{{z{zz{||{{z{{|{{|zz{{{{{{{z||||{{z{{{{{|{{|{{|{{{{z{{{{{||{{||z{{z|yz|z|{||{||{{{{zz{{}{{||{||{zzzzzzz{{{{{{|{|{z{zz{z{|{||{{{z{zyzz{{||{|{{{zzz{z{yzy||{zz{{{{{{{zz{z{{{{z|{{{yyzz{zzz|zz{z{{{z{zzzzy{{|{z{||{{{zz{zzzz{{z|{{zzzz{{{y{{{{z{{z{zzzzzyzz{{{{{{{zzzzzzyzz{{z{z{z{z{yy{{zzzzz{{{{zzzzzzyyzzzzz{zzzz{zzyz{z{yz{{||zyzyzyzyzzzz{{{{{zzzyzzzzzz{z{zzzyzzz{zzzzz{zz{{{zyy{z{zz{{{zz{{zzzyzz{zy{{{z{|{z{zzzzz{{zz{{{{|z{zz{z{zz{{|{{{{z{{{zz{{{{{{z||{{{z{z|z{{|{{{{z{{{zz{{z{{{{|||{{zz{{{{|y{|{{{|{||{z{{zzzz}{||||{{{|{{{z||{{|{}||z{{zz{{{z{||{|{{||z{z{zz{|{|||||{z{{zz{{{{{|{||{{|{|z{zz{{{{{||||{zz{{{z|{{{|{{|{{{z{zz{{{{{y|{}{{zz{{zzz|||z{{{{{{z{z{z|{|{{{zzzy{zyy{z|{{z{{{|z|zz{zzz{y{{{{{zzyzzz{zy{z{z{z|{zzzzzz{{{{{{z{z{{zzzzzzyzz|z{{{}zzzzzz{z{{zz{zzzzzzz{zyyzy{z{{|{{yzyyzyz{zzzz{z{yzzzzyzzyz{{{|zzzzzzzzzyzz{z{z|z{zzzyyzyzzzz{z{{{yzzzyzyy{z{{z{{yyzzyyzyz{zyzz{zzzz{z{zzzzz|z{{|z{zyzz{{{z{}z{{|yyyzz{{y{{{{|{{{zz{zzzz{{||||z|{z{zzzy{zz|zz{z|{zzz{{zzz{{{{{{|z{z{zzzzz|{z{{{{{{z{{{{{z{{{|{||{{z{{zz{{{{z|{|{}|z{{z{{{|{{{{{}{{{zzzz|z{|{{|{|{z{|{z{{{{{{{{||||zzzz|{z{|{|||||{{|{{{{z{{|||{|{{zy{{z{{z{{{{{|||{{{{{zz{zz{||{}{{{z{zz{z{{{{{||{zzzzzzz{{{{{{{{{{zzzzz{|{{|{z{zzzzz{zz{{{{zz{{zyyzzzyzz{z{{{{{{zy{zzzzz{z{z{z|{zzzzzzy{{{{z{{{{{{zy{{zyzzzz{{z{zzzzzz{yz|zyy{z{{zzzzzzzz{{{z{zzzzzzzzyzzzz{z{{zyzzy{yyyzzz{{zzzzzzyz{zy{z{{z{z{zz{zzzzyz{z{z{|{zz{zyzzzyzz{zzy{zzzzzzzzz|z{z{{{z{zzz{|zzz{z{{{zzzzz{z{z{{{z{{z{zz|zzz{y|{{z{{z|{zzzzzzzz{{z{{z|{{{zzz{{zz{|{{{zz{zz{{zz{z{{z{{{z{zzzzz{{|{{{{{{z{zz{z{{z{||{{|{zzzzzz{z|{{{{{|{|zzz{zzz{|{||{|{{{zz{{{{{{||{{|{{{z{{{{{|{{{{{{{}z{{{zzz{{|{z{|}|{zzzzz{|{}{{{|z{{{{zz{{{|{{{{||{{{{{{z{{{{{{{{|{{z{z|z{z{{{{||z{zyzz{{{z{{{{{||z{{x{z{{|{{|}{{|{{{yzz{zzz{z{z{{{zz{zzzz{{{{{|{{{{zzzzzz{{zzz{{{{zzyzzzz{{z{z|{zzzz{yy{y{|z{|{z{{yzzzz{yy{{yz{{{{{z{{zzz{{{zz|z{{{zzzzyz{zzzz{{{zzzzzzzzzz{zzz{zzzzzyzzzzz{{{z{{z{zyzzzzyz{zzz{{zzzzzzzzzzzz{{z|zzz{zzzzy{z{{|z{{zzzzzzz{z{{z{zz{{yz{zzy{{{{|{|{zz{zyy{z{{{|{{|{{zzzy{zz|z{{{{|{{z|{zzz{{{zz{|{{{zzzzzz{z||{{z{||z{zyzzz{{|{z|z{z{{zzzzz{{|{||}{{{|zzz{{{{{|z{|{{z{z{{{z{|{{{z||zz{zz|{{{{{||{||{{|{z{{{{{{|{||{{{{{{z|{{|{}|{{||z{{z|zz|{|{{|}|{z{{z{{{{|{|{|{z{{zz{zz{z|{{{||{z{zzzz{{{|{{{{{{|z{{zz{z{{{{z{|zy{{z{{|zz|}|||||zzz{zz{{z|{{{{||{z{zzzyy|z{{{{{{{z{zzz{{z{|{zz{{zzz{z{zz{{{|{{z{{{{zzzyz{{{z{z{{{zz{zzzzzzzz{{{z{zzzz{yz{z{z{{zzyyzyzz{zz{z|{{{zzzyzzzzzz{{{{z{{{zy{zzz{{z{{{{zzzz{zzzyy{z{{{{{{zz{zzyyyyzzz{{z|zzzyzz{zz{z{z||{zzzzzy{zzz{|{{{z{zz{zzzz{{z{{{z{{zz|yzzz|{z{{{|{{zzzyzzz{|{{|{|{zyzzzzzyzz{{{{{z{z{y}{yzz{{{{{||{{zz{{{zz{{{||{z{{{yzz{z{{||||||{{{{{{{{|{{|{||||{|{z{zzz|{|{||{{{{{zyzz{||{||||{{zz{{{||{{|{|{|{{{z||{{{|{|||{|{z{||{{{z||{{{|||{{{{{z|{{{|||{||{{{|{{{z|{{|{{|{|zzzz{zz{z{{{z{|{{{{{zz{{{{{{|{{{{{z{{z||{}}{{{z{zzz{zzz{y{{{{{{{zz{yzzz{{{|{{|zzzyzyyz{z{z{{|z{z{{y{{{{{{|{{z|{yzzzz{z{z{{z|{|{zzzzzzz{{{z{{{zzz{zzz{zy{{{{{|{{zz{zzzy{z{{{{{{zzzzzzyz|{z{zz{{{zzzz{z{z{{{{{|{zzzzyzzz{zz{{{z{zz{zyzzz{{zzz{z{{{zyzzz{zzyzz|z{{yzzz{zy{{z{{z{{{z{{z{z{z{z{{{|{{{zzzzzzz{z|{|{{zz{{z{{{{{{z{|{{z{{z{{{{z|z{z{z|{{{zz{{{z{{{{|{|{{|{z|{{{z{{{|{{{{{z|z{{{{|{{|||{|{z{{zz{|{{{{||{z|{z{zz|{|||||||zzz|z|{{|||||}|{{|{{|||z|{|{|}|{{{|{{{z{||}|{|{{zz{{{z{}||z{{||{z{z{{{{{{{{|{|{|z{{{{{{{||}{{||{{z|{{z{{{|{{|||{{{z{z{z{{{|z{||z{{{yz{{|||}}{{{{zzz{zy{z|{{|{{{{xzzz{zzz{{z{{z|zzzz{z{z{z{{|{{{{zyzz{zz{z{{{z{|{z{zyyzz{{{{{|z{{{{zzz{zz{{zz|{zzzzzzyzzzzz{z{|z{{{zyzzzz{zz{{{{zzz{zzy{zz{{z{zzzyz{z{zz{{{y{{{zzzzyyzzyz{{{zz{|zz{zzyzzzz|{z{zzzzzyzzzyz{{{zzz{yzzyzzzzz|{z{{{{z{zyyz{z{{z{{{{{zzzzz{z{{z{{{{{{zzzz{zyz{{|{{{{|z{zzzy{z{z{{{||{{z{{z{zz{z{z{{{{{{yzzzzz|{|{{z|{{zz{{{{{{{|z{|{{z{zz{y|z{{|{{}|{zz{zz{{zz{|{{{}{{{{{z{{z|{{||||{{z{{{|{zz|||{|{|{{{{{{{{{||{|||}|{{{{zzz||{{{{||z{z{z{y{{|{}|{||{z{{{{{{|{}{||{||{{{{y{z{{{|{{||{z|zzz{{{{|{{||{{zz{z{{||{}}~|{|{zyzzzz{z{{zz{z{{z{zzyzz{{{z{{|{zyyzzy{y{zzz{{{|{zzzz{z{{{{zzzz{|{zzyzzy|{z{{z||zz{z{{zyz{{zz{|zzzzz{zzz{{z{z{{{zzzyy{zy{{zzz{z|zzzzzzzzzz{{z{|zz{zzyzy{yz{z{z{{zyyzyzyzzz{{{z{{zyx{zzyzzzzz|z{z{zyyzzz{yzzzz{{zz{{y|zzzzz{z{|{{{yzzzzzzz{|z{{{{yz{zzzzz{{{z{{{{zz{{zy{y{{z{{{{{{z{{zzzyz{||{|z{zyyzz{{{{{{zz{{|{z{{{{zz{|{z{{{{{zzzz{{{{{||{{|{{{{{{{{{||z|{{|{{z{{zz{z|{|z|{||{{{z{|{z{||{{|{|{z{z{zz{{{{{{|||{z{{z{{z|{|{{{{{|{|{{{zz{{z{||||{{{{z{z{{{{{{|{{|zz{{|z{|{{{{{|{|z{{zzz{z{|{||||{{zz{{{{||{{|z{{{{{{{zzz{|}|}{z{zyzz{{z{{{||{z{|z{z{z{zz|zz|{{z{zzzyzz{z{{zz{z{z{{zz{zy{{zy{{|{z{{zyzz{z{{{{{{z{z{{zz{zz{{zz{{{{z{{zzzz|zz{z{{zz{{zz{zzzz{{{{zz{{zzz{zzz{{{{zz|z{zzzzzzyzz{|{{z{zz{zzzz{{{{zz{|{zzzzyzzyz{zzzzz{zzzz{yyzz{zzz|{z{yzzz{yyzz{zz{|{zzzzzzz{{{zy{{{{y{zzzzy{{{{z{{{zzz{zz{z{{z{{z{{{zz{z{z{{z|{{{|{{{z{zzzzz{{{{z{{{{{z{zy{z{{{{z{{|{z{{{z{{|{{|{{|{{zz{zz{z{||{{|{|{zz{z{{y{{||{{{{|{z{{zzz{|{{|{||{{z{{{{{{|{{||{||z{{z{{z{||||}|{{|{{z{{z{|{|{{|z|{{{{z{{|||{{|||{{{{zz{{{|{{{{{|zz{zzz{{{{zzz{|{{zzzyy{z|||{{zz|z{{z{z{{z{}}~|z{zzzzzzzzz{||{{{{zzzz{zzz{|{zz{{|z{{{zzzz{{zz|{{{zz{{zzzz{{|z{{z{|zzzz{zz{{|||{z{zzzzz{zzz{{z|{{|zz{{{z{z|{zz{{{{zzzzzzzzy|{{{z{|y{zzzz{yz{zzzz|zzzz{zzz{zz|z{z{z{{zzzzzzz{{y{{z{zz{z{zyzzzyz{{{{yz{zzyzz{{{{{{z{zzzzzz{zz{zz{{{{zzzyzzz{{|z{zzz{{y{{{zzz{z{{{|{{zzzz{zzzz{{||{{{{{{{zzzzz{z|{{{{zz{yz{{{{{{{{{|{{z{{{z{zz{|{z{|{{{zz{zz{{{|{{{{{z{|{{z|{{{{|{{{|{{{zz{{z{{|{|||||{{{|z{{{||{{|||{{{{{{|{{|{|{||||z{{|{z{{|{||||||z{|z{{{{z|||||{{z{{z{{{||{{{{||{{zz{{{||{{|{|||{{zz{z{{|}|{z|{|{{{{z{zz{}||{{|{{z|zz|{{{}|}|{z{zzzzz{zy{||{{z{zzzzz{zz{{{z{{|{{{yzz{zzz{{{{{{{{zzzz{{zz{{z|zz||{{zyzzzy{{{{{z{{zyzyy{yz{|z{{{{zz{yzzzzyz{{z{|{zzzzy{zyz{yz{z{z|zzzzyzzzzz{z{{{{{zzz{zyz{{{y{{z{zz{zyyyyz{{|{z{{{z{zyzyyzzzz{{zz{{yzzzyy{{zz{{{{zzzzyzzy{zz{zz{{yzz{zzyy{|{z{{|zz{zzyzzzzz{|{{|{z{{{z{{yz||{{||{{zzzzzz{{|{{{{{{zz{{zzzz{||{z{{z{yzz{z{{z|z{{|{{{{zzzzz{{{||{|{|z{zz{{{||z{{|{|{{zz{{{{z{{|{{{{|{{zz{{{z{{{{|||{{z{{{|{{||z}{|||{{|{z{z{{||{||{||{{{zzzz{|{{|{|{{{z{|{{{|{{|{|||{{{z|z{{{|z{{{{|{zzz{z{{{z{z{{{{{z{zz{{z{|{{z{|{{{{zz{z{|{}|}z{zyzyz{zz{{{{z{{z|{{zy{zz|zzz{z{{|zz{zzzzyz{{{{|||{{zz{zz{{||{y|z{{zz{|zzzzz{z{{{{|{{zz{zz{{{zz{|z{z{zzyzzzzzz{|{z|zzzzyzzz{{{z{{{zzzzyzzzyz{{{{{z{z{zzzzyz|z{z{{{zz{zyz{zy{{zzz{{{y{yyyzzy{zzz{y{zzyzzzyyzzzz{{{zyy{{yzzz{|{{{{{{zzy{{{zzz{||{{z{{xzzzy{z{{zzz{z|z{{{zz{z{z{zz{{{{zzz{{{z{{|{{|{|{|zzzz{z||{{z|{{{{zz{{zz||{{{{{{{{{{{{z|{||{|{|{{{|zzz|z{{{}{|||{z{{{zzz|{|||{|{{{zz{{z{{||{{{|{|{{z{{{z{{|{{|{{|{{{{z{{{}||{|{}zz{z{{{{{{z|||{|{z{{{zzz{|{|{|{{{{zz{zz{{{z{|{{|zzzzzzz{{{|{{|{|{zz{{z{z{{z|z{{{|z{zzyz{|{|||||zz|yzzz{zz{{{{z{{zzzz{yzzzzzz{{{{{zzyz{{z{z{z{{|||{{yzyyzz{{zzz{{{y{zzzyz{z|{z{{{zzyyzzzzyz{yz{{{{y{zzzyy|{{zz|{|zzzzz{yz{{{zz{{{zyyyzy{zz{{z{{|{|yyyzyzzz{{y{{z{{z{yz{zyz{{z{{z{zzyzyyzyyzyz{zz{z{zzzzzzzzz{z{{{zzzzzz{z{z{z{{z{{{xzzzzzz{z{z{z{{z{zzz|z{z{{z{{{yzzzyz{{z{{{zz|{z{zzzzzz{z{{z{|{{{{yz{zyz{||zz|{{{z{zyz{{{zz{{{{{{zz{{zz{|{{{{|{|z{zz{{z{|{{{{|{{{{zz{zzz|{{{|{z{zzzz{zz||{|{{|{{{{{z{|{{||{{|{||{z{{|{{{{{{|||{{{{{yz{z{{{{||{{{z{{zzz|{{{{{||||{z{zz{z||{|{|{z{{{zzzzz{z{{{{{z|zzzz{yzz{{{zz{{zzz{{{{z|{||}{zz{zzyzzzy{{{{z{{{zzzzzyzzz{{z{{|{z{zzz{zy{zzz{z{z{z|zzz{z{z{{{{{{{{zyzy{zzz{{{y{|z{zzzzzz{z{{zz{zzyzzzzzzzz{{z{z{zzzyzzzy{zzzz{{{zzyyzxzzyzzz{z{{zzzzyzzzzz{{zzz{z{zzzzzyz{{z{{{{zzxyy{{xz{zyz{z{zzzyzyyyz{zz{{z|z{yyz{zz{{zzz{{{zzy{{z{yz{{{z{{z{{zz{zzz{{zy{{|{{z{zyzzz{{{zz{{{zzzzzyzzz{zzz{{{zz|z{yzz{z|{zz|{{yz{{z{{||{|{|{{{{zz{z{z{{{{{|{{z{zz{{{z{zz|{{||{{zz{{zz{{{|{{{{{{{{{{|{|{|{z||{z{zzz|{z{{|{}{||{z{{{{z{z{|{|{|{{z{zz{{z{{|{{|{|{z{{{z{z{|{{|z{{zz{zz{zz|{{{}|}|{{yzzz{{{{|{{|||{zz{{{{z{{{{{{{|zz{z{{{{{{{{{{{z{{zz{zy{z{||{{{|{zzzz{zy|z{{z{{{|z{zzz{z{{{{z{{{{yzz{zzzz{{zz{|{{zzz{z{zz{{{z|{{{zzz{z{{{{{zz{z{z{zzzzzzz{|{z|{{{zzzzzz{z{zzyz{zzzzz{zzzz{{|z{{{zzzzzzzz{zzz{{{{zz{{yzzzzz{{z|{|{zzxzz{yzzzz{{z{zzyy{{zz{zzz|zz{zyzz{{zz{|{zz{{{{zzz{yz{{{|{z|{|{z{{zy{zzz{{{|{|{{z{zz{z{{{{{{{|z{{zz{zz{{{|z{{{{{{zz{zz{|{{{{|{{z{zz{z{{{{{|{{{z{z{{z|{||{|{{{{z{{{{{{z{|{{||{|{{z{zz{z|{{{|{|||z{y{{z{||{{{{{|{{{{z{{{{z{|{||{|{{|{|{z{|{{|{|{{z{{{z{{||||{|{|{zz{{{{{{|{|}||{|{{|z|z{z|{||||{z{zzyzyz{|{{z{|||zz{zz{{z{z|{|{{z{|zz{zz{||{{{{{z{{{zy{z{{|z{{z|z{{z{{{{{{z{|{{{{{zz{{zz|{z{{z{|{{{yz{zzzzz{{|{{|z{z{y{z{{{{|{{|z{zzz{{z{{{{{{{{|z{{z{{zz{|z{{{{{zzzy{zzzz{{{||zzzzzyzzz{{zz{{zz{zyzz{z{z{{z{{{{zz{zzzzz{{{{z{{zzzzz{zzzzzzy{{|z{zzz{zzz{zz{zzy{zz{zzz{zz{{|z{z{z{zz{zzzz{{z{z}{|y{z{z{z{{{{|{|{{zz{yz{y||{{{{||zzzzzz{{{|{z{|||{{{zz{zzy{{{{{|{|zzzzz{{|||{{{||{{{z{z{{|{||{|||z{{{z{{z{{{|||{{{z{{{{{{{}{}{||||{y{|{{{|{||{|}|{z{{{{z{{||||||{{{{{|z|{{|}||{||z{{|{{z{||{|{||{{zzz{||{{|||||||{z{z{{{{}{|||||{{z{{{zz{z{|{{{{||{{zz{{z|{||{{|{{{{z|{{z{||{{{z{zzz{zzz{z{z{{z{{{zzzzzz{{zz{{|{|z|y{zzz{{{zz{{{{z{zzzzzzz|{|z{||z{zz{z{zzy{{{|{{zz{zzzzzz|zz{{{{{{{z{zz|z{{{|z{zzzz{zyzz{zzzz{{{zyzz{zzyz{{|{{|{z{yzzzzy{z|{{z{{{z{zyzzz{{zz{{{{{{yzyzzzz|z{zz{|zzz{zzzzz{{zz|{yzzyzz{zyzz{z||||{zzzzyzz{|{{{{{}zz{{zzzz{z{||{{|zz{zz{{z{|{z{|{|{zz{zz{zz{{{{|{{{z{zzzzz{z|{{{||{{{z|{zz{{{zz{{|{{{{zz{z{{||{{{{{{z|{|{z{{|{{|||{{{z{zzz{||{z|{{|z{||{{{||||{{||{{zzz{{{{}{z||||}{z{{z{{{}{||{||||{{z{{z|{||||{{|z{{{zz{{{{|||||{{{{{zz{{|z|{|||{{{zz}z{{|{{{{|{{{zz{{{z{{{{{|{{{zzzz|zz|}||{{||{zzz{z{y||zz{{|{z{zzzy{z{{{zz|{||{{{{{zy{{{z|||{{z{z{zyzz|{|{{|{{{zzz{{z{{||||{{|zzz|{{z|{{{{{{||zzz{{zz{{|{{{{{z{zzzzz{zzz{z|{z{zzzzzzyz{{{z||{z{z{z{yzz{z{{|{{z{{zzzzzz{{|{{||{{z{zy{yz{z{z|{|zz{z{zyz{{{z{}{{zz{y{zzz{{z{{{{{{z{zzyz{{{{{{{}{z{{yz{zz{{|z|{z{{{{z{z{{z{{{}||{|z{|zzzz{{{|{{{|{zzz{z{{{|{{z{||z{zz{{{{||{{{|{{|{{{z{|{{|||||||{{{{|{{|{{|||{{|||{|{{{||{|||||{}z{|{{{{{{||||||||{{||{{||z{}{|}{{|{z{{{{}|{||||{z{|{{{z|{||||}||{{{{{{{|{{|{|||{|{{|zz|||{|||{{{{{z{z{{{|{||}|{{{|{z{{z{|{{z{|{{{z{{z|{{|{{||{z{|{|{{{z{{|{{|{|||{{{{z{|{zz{||{{{|{{zzz{|{{{}|{zzz{{{{z{{|{{z{{{{z{{zz{|||zz||{{z{z{z{z{z{{{{{{{z{{zz{{{{|{{{{{{z{zzzzzz{{{{|{|zy{{{zzz{{{|{{z|{zz{{zzy{{|z{|||{z{zz{zz{{{{{{{{{zz{{zzzzzz{||{{{{zzz{{z{{{{|z{{zz|zz{zz{{{{z{|{{zzzzzz{{|{{z{{|{z{{zz|z{{|}{{{{{z|{{{z|{z{z|z|{|{{{{z|z{|||{{||{{{{{{zz{|{{z{||{{z{{{z{|{|||||{|{z{|{{{{|||||||{{{{{z|{{|||||{||z{{|{z{|{||||{|{{|{{{{{{}}|{|||{{{{{{{|{|}{||}||{{{|z|{{|||}|{{{z{}z{|z{|||||}}||{{|z{|{|{|}||}{|{||}z{{{||}|{|{}{{{{z{{}z{{||{{{z{{{z|{{{||||{{z{{{{{{{||{{{{}{{zzzz{zz|||{{{{|z{z{zzz{||{|{|{{zz{zyzz{{|{||{|{{{{{zz{||||{{{{{z{zz{zz{{{{{||||z{z{zzz{{y{{{{{|zzzzzyz{{{{z{{{{{{zz{{z{{{{|{{{zz{z{yz{{|z{{{|{{{z{{zzz{{{{{{{|z{zzyzzz{{z{{{{{z|zz{yz{zz{{z{{{{{|zy{zz{{{{||{{{zzz{{zy{{{{{{{{{zz{zzz{{||{z|{|zz{{{{zz{{{||{||z{{{{z{{{{}{||{|{z|{zz{z{|{|||{{{{{{{|{z|{|{{{|{{{z{|{{|{|{{||{{{{z{{{{|||||||{|{{{z{|}{||||{{||{{z|{{|{|||{||||z||z{{{|||||||||{{{{{{|{||{}{||{|{|{z{{|{}}||{}|{{||z{|{{{|{{{{||{{{|{||||{{|||||{{{||{||||||{}|{{zz|{|z{{||||||z{{{z||{{|||{|{|{z{|{{z{{{{{|||{||z{{{{{{z{{{{{{zz{z{yz{{{{{|{{||{{z{|{{{{{{{{|}{{|{z{z{{{|{|{|{{{{yz{zz{|{|{|{|{z{zz{zz{{|{{{|{zzzz{{zz{{|{{{{{{{{zzzz{{||{z|zz{zz{zyzzzz{{z{{{{zzzzzz{{|{{{{{{{{|zzzz{{{|{z||{zzz{{{z{zz{{|{{{{{{z{zzzz|{{|||{{z{z{zz{{{z{|||{z{{{zz{|||{{{{|{{z{||z{{|{{{{||}zz{{|{z|{|{||{|{{{{||z{||{|{|{{{z|zzzzz{{||{{||{{zz{{{{{||{{{|{||{zz{z{||||{{{||{|z{{{{{|{{|{{||||z{z{zz}z|}}{|||{{{|{{{{}|}||||{{|{|{||||{|||}|||{{{|{||~{|||}|{{|||||{}{|}|||||{{z||{|||||||{}}{{z{{{{||{||||{{{{{{||z|||}|||{{{{{{{{z{|{||{|||z{z{{|{||{|{{{{{zz{{{{z{{|{{{{|{z|z{{{|z{{{||||{{{{{{zz|{{{||{{{zzz{{{{{{{{z||{{z{{z|{z{{{{{|{{{{{z|{{z{{{|{|{{{z{{{{zzz|{{z|||z{{zzy{{|{|z{z|{{{{{|{{z{||{zz||{{zz{{z{{{z||{|{{{{{{|{z{{{zz{{{{zzz{zzz{|zz{z{{{{{z{z{yz|{|{||{zz{zz|z{|{{{{|}|{z{z|{{{{{{|{{{|{{{{zz{z{{||{|||zzz{{z{{||{|{||{{{{z{{{{{{|{||{{|{{zzz{{{{{{{{|||{|{|{{z{{{||}|||z{{z|y{{{||}|||{|{{{{{||{|||||||{|{zz{z||||||}{|z{||{{{||{|||}}|z{z||{{{||||||}|{{{{|}{{}|{||||}{{||{{|||{|||||{{{{z{{{{||{||}{|{||{{{|{|}}|||}{z{{{zz{|{||{|||{||{{{{{|{|||||{zz|{{{|{|}|{{|{z{{zz{zzz{||{{{}{{{{{|{{{{z|{|{{{{{{{z{{z{{{||{||zz|{|z{{{|||z|||{z{{z{{z{|{|{|{|{{{zz{zz|{{{{{|{{{{{{z{{{|{{z{||z{|zzzz|{z{{z|{|{{{z{z{{{|{{{|{{{{|z{{{{{{{|{|{{{z{{yz{zz|{{{{||{z{{{{zz{z{z{||{{zz{z{zzz{{{{||{{z{zz{z{{{{{{|||{zz{|z{{}||{{z{||{||{{{{{{|||{|{|z{{{{{|{||{|{|{|{|{{{zz{z}{|{{|z{zz{{{|{}{|||}||{{|||z{||{{{{|{{{{z{{{|{|||||}}{z|z{z||}|}}|{|||||{|z{{||}}||}||{{{{z{{||}|}{}||{|z|{||{|||}|||}||{{|||{|||||||{||{||{{|||{|||||{{||{{{|||||{||||{{|{{{|||||{}|{z{{{{{{||||{{|||{{{{{{{{{}|{}||{{|{{||{{{|{|{{|zz{{|{z||||{{|{|zzz{zz{z||{{}|{{{{{z{{zzz|||{{|{{{{z{zz{{{{{z{{{{y{{zz{z{{{|{{z|{yz{zz{{z{|{|||z{{{{zz{z{{|{zz{|{z{z{zz{{{|{{|{{z{zzzzzz{{z|{{{{{z{{zzzz|z|z||{{zz{zz{zz{{{{|{{|{{{y{zzz{{|{{}|{z{zy{z{zz|z|{|{{z{{z{z{{{z|{{{{{{{{z|z{z{|{{{|||{{{{zz{{|{{{|{|||z|{z{z{{z{{{{||{{{z|{zz{{{{|{|{{{z{{|z{||}z|||}|zz{{{{z{{|{{|{{{{{|{{zz{|||||}|||{{{z{{|}|z{}}~{{||{{|{{}||||}||zz{{|{{|}{||}{}|{||{{{|||||{|}||z{|{{{{||||||{|{|}|{|z{|}|||}|{|{{|{{|{|{|||||||{|{{{{|}|{|||{||{{{{|{{}|{||||||{zz{|{zz}{{{||||{|z{{|{{{||||||{{z|{{}{{|{{{z|{{{zzzzz{z{{{{|{|{z{zy{z{{{{{|{||{{{{{zz{{|{{{z||{z{{zzzzz{{|{{{|{zzzzzz{{{||||}|zzzzz{{{{{{{z{{zzz{zzzyz{{z{z|{{zz|z{zy{{z{zzz|zzzz{yz{z{z{zz{{{{z{zzzzzz{{z{z||{z{zzzzz{{{zz{{{zzzz{{zyz{{{{||{|zzzz{zzz{{|{{{{|{{{{{|{{{{{|{{|{{{{{z{{{||{||{|{zz{{{{{{{|{||{|||{{z{{{{|{{{||z|{{|{z{{{{||{{}|{z{{{{{z{|{{{|}||{|{{{{{{{||||}|{{{||{{z{||||||}|z{{{{{{||||||||{{{|||z{{}||{|||||z{{|{{|{{||{}|||{{{{z{||{}|{||{{||{{|{||||}||||{{{{{{{{z{|{|||{{{|{{{{{|{{|}}||zzz{|{{{||{{||{|{{z{z{{{{{{{||{{z{{{z{z{{|}{{||{z{z{zzz{||{||||{|z{{{zz{{zz{{||{{{z{{{{{z{{{{|{{{zzzz{z|{|{z{|{{{{z{|zz{{{z{}{|{z{{zz{z|||{|{|{{{|{{{{z{{|{{||{{{z{zz{{{{{{{||}zz{z{{zz{{{{{|{|zzyzzzz{{|{z{|z{{{{{z{zzz{{{{z|{{{{|zyzz{{|{{{{{{z{zzzzzz{{z|{{z{y{z{z{z|{|{{{}{{zzzzz|z{|{{|{{{{{{|{{{{z{|{|{||{{zz{{z{{||||{{|{{{|zz|{{||{{||{|{{{{|z{{{||{{{{|{{z{{{{z{||{z||{z{|z|{|||||||||z|z{|{|{|{|||}}}{{{|{{{{|||||{||{{{z{z|||||{{}||{||{{|{{}|{||||}|z||{|||{}|||{|}|{|}|{{{|||||{}|{z{{{{|{|{||||}||{{{{{{{|||{{|}||z{{|{z{||{}|{||{{{{{{{z{{{{{||{{{|z{{{zz|||{|{|zzz{{z{zy{|{{{z{|{{z{zz{{|{z{|{|{{zz{z{z{{{z{{{|{y{{{|zzzz|{{{{{{|{{z{{{|{z{|{{|zzzzz{{z{{{{{{{||z{{{zzz{{{{{{{{{{yz{{zz{z{{|z{{{zzz{z{zzz{{{{{|zzzzzzy{z{|{||{{|z{zzzz{zz{z{{{{zzz{{zzz{{|z{z||{{z{z{zzz{{{{|{{{zzz{{zzz{{z|{{|{{{z|z{{{|}{z|z||y{zz{{{{||z{}{|{{|{{z{z{{|{{||||{z{{{{{{}|{{}z{|{{z{{z{{}{||z{{{|{{z{||{||{z|{|{{{{{{||z|||||{|{{{{|{{{||{|{}|}{{{{{{{z|||}||{|{{{{{z{{|{|z{|||{{||{||{|{}||||||{{|{{|{||{||}{{{{|{z{{{{{{|{}|||{{{||z|{|||z{}||{z{|{z{|||||{{}|||{{{{{||{|{|||z|z{{{{{||{|{||{|z{{zz{z{|||}{{{zzz{{zzzz|{{|{{{zz{{z{zy{{{|||{{{{zzz{z{{{{{|{z{{y{{{z{zz{{{z{{{|{{zz{zz{{|{|{{{{{{{zz{z{{z{z{|{|{{{{y{z{{{z{{z{{zz{z{y{{{z{z{{|zzz{zzyz{z|z||{y{zzyzyzz{z{{{z{{{zz{yzzzz{{zz{{|z{{z{xzz{{{zz{{{zzzy{z{{z{z{||{|zzz{|zzzz{|{z{{{{|{zz{{{{}{|{{{|{{z{{{{z{{{{{{||{{||zzzz|{|{{|{{z{{zzzz{{|{||{{z|z{{zz{{{{|{{||{z{{{zz{{||{{{{{{{|{zz{z{z|||{{|{z{{{{z{{||||{|||{{|{z|{{|||{{z|||{|{{{{{{|{|{|||{{zz{|{|}{|z{||}|{|{{{{|{}||{{{{{{{{zz||{|{|{}|{|{{{{{{{||||{||||{{{z|{{|||||}||{{|{z{{{|{{||~}|{{zzz{{z||{|{{||{z|{zz{y|z}{|{{z{{zzyzz{{{{|{|{{z{zzzz{y{z{{z{{|{zz{zz{{{{{{{{{{{{{z{zzz{{zz{{||{zzzzzz{z{{{{{{|{z{zz{{{{{{{{{|z|z{yzyzz{{|yz{{{{z{z{z{{{{{{|z{{z{{zzz{z{{z{z{{{{z{{zy{z{{{{{{{{{{{zzzzzy|{{{{|{{z{z{z{z{{z{z{z|{{zz|zz{zz{{{|{{{zzzz{zz{zz|{|{||z{z{zz{{zz{{{{{{z{{y{{z{{|z{{||zz|zy{|zz|{{{{{|{|{{{z{{{{{{z||{{z{{{{z{z{|{|||{{z{{z{zz{{|{|{{|{{{{||{{{||||}|{{{zz{z{{||{||||||{z{{zz{{|{{{|||{{|{{{{{|||{|{}|{z{{z|||z{|{|||}||z{{{|{{}|{|||{{{{||{z|||||{|||{{{{z{|{|}||}|}||{{z||{{|{{{||{{|{|zz{z{{|{{||z||{z{zz{{{{{{|{||z|{{{z{{{{|{||{||z{zz{zz{{{zz{|{{z{z|{zz{{{{{z|{{{zzz{z{|{{{{|||{{{{z{zz{{{z{{{}{{{z{{zzz{{|{{{|{{{z{{{{z|z{{{|{{z{{{{{zz{|zz{{{yzzz{{zzz{{{{{{|z{{z{{zzz{z{{{{z{yz{zz{zz|{z{|{|{{{{{{{z{zz{{{|{{{zzzzzzz{zz{z{{y|{zzzy{z{z{{{z{zzz{{{yy{|{|{{{{|{{z{zz{{|{{{{{{{z|zzz{{{{{z{|||{{zz{{zz{{{z{|{|z{{z{z{{|{{|||{|{{{zz|{z{||z{||{{z{{{{|z{{{{{||{{{{{{zz{{{|}|{{{z}|{{z|{|{{||}|{{{{{{{z{{{{{||{|{z{{{{|{|||{|}{|||||{{{{{{|{|}}|}{z{z{{{|}{{}||}{{{|{{{{{||{|}|||{|{|{{|{|||||}|{{z{{{{{|||||||||{zz{z{|{|zz|||||{{{{{zz||||||}{z{{z{{zz||{z{{{y{z{zyz{z{{}{|{{}{z{{{zz{zz{{{{||{zzzz{zz{z{{z|{|z{{zzy{{{{z{{z|{{{{z{zyyz{{z{{z}{{{z{z{z{{|z{{|{{zzzzz{z{{{{z{z{{zz{z{zz{{{{{{{{yzyz{z{{z{zz|{|{{z{zy{z{z{{z{{{z{{zz{zz{y{{|z{{{{zz{z{z{z|y{{|z{zz{zzzzz{{{zz|z{zz{z{{zyzz{{z{{|z{zzyzy{{{{{{z{{{{{{zz|zz{{{|{{{{{{{z{{|{|{{{{||{{z{z{z{|{{{{|{|z{{{zz{{z{{||{|z{{{{{{z{{|{{|{{{{z{{{{z{|{{||}{|||{{{{{z|}|||||||{|{{z{{|}||{|{||z{z{{{{||}{|||}{{|{|{{{{}{|||{||{{|{{{|{|||}|}|{{{{{{{{|||||z|{|{{{{{|{{|{||}||{|z{zz{z{||{||{{{{z{|z{{||{{||{|{{{{zz{z{|{z{|||{z{{|{zz{|}||{{{z{yz{zzz|{{{{z{|zzzz{{zz{{|z{{||{zzz{zzz{{{{|{||{zzzz{{{zz|{z|{{{{z{{{{z{z||{{z||z{z{{{z{z{|{{|{{{z{{zy{{z{z{{{{{{{zz{z{z{z|z|z{z{zz{{zz{z{|{{|{zzz{z{zz{{{{{{{{{{{{x{zzzz|{{{{{|{z{zz{y{{|{{{{{{zzzzzz{z{{{{{{|zz{zzz{z{|{|{z{|{{z{{yzzz{|{{|{z|z{|z{zy{{{{|{{|z{{{zzz{{||z{|||{{z{{z|zz||{{{|{zz|{z{z{z||{{{||{yz{{{{{{|{z||{||{{{{{{{{{{|||{{|{{{z{|{||{|}||||z{{|zz{|{{{{|}{{z{{z{{{|}{{{|||{{|{z{|{|{{{||}|}{|{{{{z{~}}|||||z{{{{||||{|{{|||y{|{z{|{|{|{{||{|z{|{{|||||||||{{{z{{zz|{{|||{|{|z{z{{{|{{|{{}|{z{z{zz{|{|||{|{|{zyz{{x{|{|{z|{zzz{zz{{|{z{{|||||{zz{{{z{{|{||{{z{{{zz{{z|{{{{|{{zyz{zz{{{z{{||{{zzz{zy{|{{{{|{{{{z{{zz{z|{{|{|{{{zzz{{{|{{{{{|{{yzzzzz{z{z|{{{{{z{zzzz{{{{{|{{zzzyzz{zz{{{{|||{z{z{z{y{{|zz{{|{zzz{zz{{zz{{|{|z{{zz{zz{|{{{{}|{{|{{{z|z{{{{{{||z{zz{{{|{z{|{{{{{{{zz{z|||{|{|{{{{z{{|z{||||||{{|z{{zz{|{{{|||}|{{{y{{{{{||{{||{|{{{{{|{|{|}{||{{z{{{{z|{{|{|{|{{z{|{{{|{{{{|||}{{||z{|}|||{}{||{{{|}|{||||||}{{|{{{|{|{||}||}||{{{{|||{|}|{|{}|{|{{|{||{{||||~{|{|{zz{||{{|{|{|z}{{{|||}||||}|{{{{{{{z||{{|{|{{z|{zz{z{||{{{{{z{zz{{{{{{{||{{{zz{y{zzz{{{{||{||{z{{{z{{{z{{{{{{{zyz{zz{{{|{z|{z{{zzz{{|z{z{{|{{{zzz{zz{|{{{{|{{z{{{{{z|{|{|{z{{z{zz{yzz{{}z{{{zzzz{zzzz|z|{{|{{zz{yzz{{{{zz{{{zzzzz{{zz{{{z{|zz{yz{z{{z{z{{|{{{{zyyz{zz{{z{{z{{{z{z{zz{z{{{|z|{{|{{zz{{|{z{|{|{z{{{z{{{{{{{}|{{{{zzz{|{|{{||||{{{{{zzz{|{{{|{|zz{{z{{{{||{|{|||{{{{{{|z|{|{||{{{zz||{z|{{{||{|{{{z{{{{|||||{{||z{{{|z||||{{{|||z|{|{{{|{{{||||{{{{z{||}{{|||||}{|{{{{{{|{|{|||{{{{{z{z|||||{||{{{{{{{||{}||}||||{{{{z{|{||}|z|{{{z{{z{{||||||||z|{{{{{{|{{|{|{{||{{z{{{{{{{|{z{yz{{y{zz{|{{{{{zz|{zz{z{{{{|{{|{|{zz{zz{{zz{{{|zz{{{zzz{{{{zz{{{zzz{zzzz{{{{|{|{z{{zzz{z{zz{{{{{zyzzz{zzz{z{|{{zzz{yyzzzz|{zz{{z{{zz{z{z{{{{z{{zyzyzzyz{{|z|{{zz{z{zz{z|{z||{{|zzzzyyyzzz{{{{{|zzzzyz{zz{{z{{{|zzz{z{{z{y{z{|{|{zz{{zzz{{{{{|{{{{{zzzz{{{z{|{||z{{zzz{z{{zz{||{{{{{zzz{{{||{||{{zz{zz{{||{|{{|z{{{z{|{{||{{|{||z{{{{z{{{|{{|||{z{{z{{|{||{}{|{{}{{|{{{z||||{||||z{{{{{{|||||||||{zz{{{{{|{|{|{||{{{z{{|{||||{{||z{|{{{{{||{{{|{|{{{|{{{|{|||||||{|{{{zz|{{|||||{{{z{{y{{|{|{{{||{{|{{yz{z{{{{{z{z|{{{{{{{|{|{z{{z{z{zzz{{|{{{||{{zzzzz{|{{z{|{{{yzz{z|{{|{{{{{||z{{{zzyz||{{|{|{zzzzyzz|{{|{{{{y{{{z{zzz{{{z|||{{{zz{zzz{|{z{{{{{zzz{zz|{{{{|{{{zzz{zzz{{{{z{zzzzz{z{z{z{{z{z|{z{{zzz{yzzzz{{{{zzzz{yzzzzz{{{z{{{{{z{zzz{{{{|{{z{zz{zzz{{{z{{zz{{{zzz{{z{z{{{{{{z|z{z{{{||{{||}{z{{{{{{{{{{{||{|{{z{z|zz||{{||{{{z{{{z{|{{||{|{{z{{zz{{{{{{|}|{|{||{z|z{{|{{|||zz{{|{{z||{{z|{{|{|{{{{{||}{|||{|zz{z{{{|{||||||{{|{{||{{|{|}{{||z|{|{{{{||}}||}||z{{{z{|{|}{|{||{{{{{{{{|{|{||{{{zz{{{||||{{|}|{{z{{|z{|}{||{|{{{z{z{z{{|{|}|{||z{{{z{{|{{{|z{zzz{zz{zy{{{zz{{{z|y{zzzz{{||{{{|{yzyz{z{{{{{{{|{{y{zzzzz{{z{{{{{|zzyzyz{{zz{z{{{{z{yzz{zz{|{{{z{yzz{zzzzz{z{{|{{z{zz{yzz{{z{z{{{zy{zyzyzz{{|{{|{{zzz{yyz{{|{{{{{yyzzzzz{zz{zz{{{{zy{zyzyz{{zz{z|z{zzzzzx{{{zzzz{yz{z{|{z{{z{{|{|{zyy{z{zz{{{{{{|{z{zzz|{{{z{{z||zz{{z{z{{{{{|{{{{{{|zz{z{{{{||{{{z{z{{{z{{{{{||{{{{{zz{z|{{{{z|z{|{{|zzz{{|}z{{|{{z{z{{{||||{||{{z{|{{zz{{|{{{|||zzz|{z{z||{{||||{z|zz{{{|{|{|{}|{{|{{{{{}||{||||z{{{|{{||||||{||{zz{|{{{|{|||||zz{z{{{{{{{|||||{{yy{{{{z|{|{{{|{{{{z{{z{|{||{||{z{{{z{{|{|{|{{{|zzz{zy{{{|{|{{|y{{z{{zzz{{z|{z|{{zz{zz{|{{{{z|{{{{{zzzz{{{{|||{z|zz{z{z{{{{|{{|{{z{yz|{{|zz{{{{{zzzzzzz{||zz||zzz{z{{{z{{z{|{{{zzzz{zzz{z{|{{{{zzyzzzz{z{z{|zz|{zzz{z{zz||{{{{}zyz{zzzzz{{z{|{{{z{{zzzz{{{{{{{{{z|{z{{z{{{{|||{{{zzzz{zz{z{|z{{|z{{z{|z{{|||{||zz|zzzz{{{|{{{||{z{{zz|z{z{|{|{{{z{{{zzz{|{|{||{{{{|{{z{|{{z{}}|{{{{{{{{{|||||{}{z{|{{|{{{{|||}|{{{{{{{{}||||||{|{z{{{|{{{{||}|}{{{{{{z{|||||}{|}{{|{||{{|||||||{{{{z{{|{||{||||{{{zz{|{{||{||||{|{|{{{{|{||||||{{{z{z{{{{||{|{{|{{{{{{{||{|{||{{{{zzz{z}{{|{{z{zyzz{zz{{{|zz{{{z{zz{zz{{{zy{{{|{|zz{{{zzz{{{{|{{zz{z{z{{{{{{{{|{{{zz{zz{z{{{|z|z{{{z{zzz{{{{{z{zz{{z{{zzzzz{{z{z{{yzzzz{{z{{z{{yyzz{{zz{{{{|||{{zyzyzzz{{{z{{{{{z{{yzz{z{{zz{{{{zzzzzzz{z{z{||{z{zzzzzyz{z{|{{z{z{{{z{z{{{{{{{{{{{z{zz{{z{{z{||{{{zzzz{{zzz||||{zz{zz{{{{{z{{|{z{zz{{z{{{z|{}{{{z{{z{{z|||{{{|{{{{{zyzz|{{{{||z{z{{zzyz{||{||||{{|{{z{|{{{|{|||{{{{{{z{{|{{|{|{|{{{{{{z|}{{||}|{{{{z{{{|{{||||||zzzz{{{{|||||}{{{|z{z{{|{|||{|{|{{{{{{{{z}|{|{|||{z|zz{|{{|{{|}{{zzz{{{|{{||{||{z|{{z{{{{|{|{|{{{zzz|z{|{{|{z{||z{{|{{{z{|{{|{{{{z{z{{z{|||{{{{{{{{{z{|{zzz{{{|{{z{zz{zz||{y|||{{{{zz{z{{|{{|{|zz{zz{{zz{{{{||{{z{{zzzz{{{z{{{{{z{z{{zzy{z{zz{|{y{zzz{z{|{{{||{zzz{zz{z{{{{{|{|{z{z{zzz|{|z{{{|z{z{zzzz{z{z{|{|{zzz{zzzz{{{z|{{zzzzzzzz{|{{|{|{|zzz{z{z{{{{{|||{{{zz{{|z|{|z||{|{{zz{z{{{||{|{|{z|{zz{{{{{|||||{{{{zz|{{z||{{|{|z{zzzz{|}{|||{{{{z{z{{z|{|{|{||z|{{{{{{{||{|{|||{{{{{{z{{|||{{}|z{{{z{{|{|||{|{{{||z{{{{{{{|||}|{{|{{|z{}{||}||{{{{{||{{}||{}||{{||{{{{{||{{|||||{{{zz{|{{|||{||z|{{{z{{{|{{||{|{{{{{{z{|{{|{{{z{{{{z{{|{|{z|{{{zy{{zzz{{{{|{|{{{{{{y{zz{{z|{||z{zyz{{z|{z{{{|{{{{z{{{zz{{|{{{{{{{{z{zzz|{{{{|{z{{y{{z{z{}{{||{z{{{{z{{|{{{z|{{zzyz{zzz{{{{{{z{{y{zzz{zz{{||z{{y{z{z{zz{{{{||z|{{zzz{zz{zzz{{|{{zz{zzyzz{{|z{|{z{{zzz{{zz{{z|{{z{{z{{{z{{{z|{|{{{zzzzzz{|{{{||{{z{{z{{z|{{z|{|zz{zz{z{{{{{z||||{{{{{{{z{|||{{{{|z|zz{z{|{|{{|{{|zz{{zz{|{{{{|{|z{zz{z{{|z|}|||{{{{|||z|{{{|||z{{|{{{{z||{|{|{|{{{{{{{{{|}|z{|||{{{{{|z{{||||~||}|{|{{|{||||{|||{{}{zz{{{}{|{||||{{{{{{|||{|}|||||{{|{z|{|{{|{{|zz{z{{{||{||{|}{|{{{|z{z||z}{|||{z{{zz{{{{{{|{{{{{{{{{z{{{|{{{{{{z{z{zzz{{{{{|{|{{z{zz|y{{{{z||{{zz{z{yz{{{|zz||{{|zzzzz{{{{||{{{{zzz{z{|z{{{{{{zzzz{z{z{{{{|{{|{{{{{{{zy|{{{|z|{zzzzzzzz{z{{{|z{zzzy{zz{{{{{{||zzz{zy{|{|||{{{{{y{z{zzzz{{zz|{zz{zzz{{z{|zz{|{|{{{{|z{z{{{{z||||zzz{zy{{|{{||||{{{z{z{{{{{{||z|{{z{{{z{|||{||||{z{z{z{{{|||||{{{{|{{z{{{||{||{{|{{{zz{{|||{z}}|{{z|{|{{|||}||||{{{{{z}{{{{||{{|{|{{{{{{{|}|||}||z{{|{{{{}||||{||{|{{||{{|{||||||{|{z{{{|||}||}{{|{|{{z{||{}{}|{{|{{{{||||{||{{}|{||}|{{{{{|}||}|{{{||{{{{||{{}||{|{{|z{{{{||||||{{{{{zz{{||{{{{{z{{{{{z{z{{|z{{{zzzzz{z{|{{z|{{{{{zzzzz{zz{|z{||zz{{yz{z{{|{{{|{zzzyz{z|{z{{|{{z{zzz{zy{{{{{{|{{{zzzzzzzz{{{zz{{{{zzzzz{{zzz|{{{zzzzyzyzz{{{z}{{{zzzzz{{{{{{{|{{{zzzzyzz{z{{z{{|zzzzzzzzzzzz{{{{z{zzzz{{{{{||{{zzzzz{zz{{|{{{{{{zz|{z|z{z|{{{{|zz{z{{|{{{{||{|}{zy{zz{z|{{|{{||{{{{{z|{z|||||y{{|{z{{{{{|{|{||{|{z{{z{z{{{{||||{{{{|{{||{{|{||{{{{{{{|{||z{|{}{zz{|zz{{|{|}{|||{zz{||{z||}||{}}{{{z{{|{{{{{|||||||{{{|{{z{||{||{|{|{{{z|{||||||}{{z|{{{{|{||||}|{z|{{|{||||{{}|{{{zz|{z{{{|{||{|{{{|zzz|{|{z||{{{{y{z{z{{{{|{z{zz|zzzzz{{|{{||{{{{zzzzz|zzz{{||{{{zz{{z||z{||{{{z{zzyzzz{{{z{z{{zzzz{{z{z{{{|{|{{{zz{{{{{|zz{{{{z{z{zzz{{{|zz{z{{zzyzzz{{{z{{{|{z{yzzzz{{{z{|{{zz{z{zz{{{z{{{{|z{zzyzyzz{z{z{{zzzy{z{{z{{{{{{{{{{{{zyz{zz{z{{zz{{z{{z|yz{z{z|{{{{zz{y|{||z{|{|z{{zzzz|z{{{{||||{|z{zz{{{{{|{|||{{z{zz{z{|||||{|z{{{{{zz{|{|||||{|zz{{z||{{{{{{|zz{|{{{{{{|||{{{z{|{|{{{|{{|{||{{{|{z{|{||{{{{|{{{|{{{z{{|||||||{{{{{|{z{|{{}|{{||||{|{{||}|z|||{|{{{|{z{{|||{|{|{|{{zzz{{{|{{}|{{{{z|{{{||||{|||{{z{{{z{{{|{{{{{{z{{{{{{||{z||zz{{z{z{z|{{|{{|}{{zz{zz|{|||{|{|{zzz{{{z{{z{{{|{zzzz{{zz{zz||{|||{{zzz{zz{{{{{{{{zzyyz{y{{|z{{{{zz{{z{z{{{|{{{||{z{z{zzz|{zz{{{|zzzzz{zzzz{zz{{y{zzz{z{{z{{z||{|{{zzyz{z{z{{{{{|z{zz{z{{{{z|{{{|z{zz{zz{{{{{|{{{zz{zzzzzz{{{{{{|zz{{{z{{{{zz{{|{{zzzzzz{{{{{{{{|{z{{zzzz|{|{{|z|z{{z{|z{{z||{|{{{z{{{zzzz|{|{{{|{{{z{zz{{||||{||{{z|{{z{zz|{{{{{|{z{{||{{{{{||{|{{{{{{|{|}{||}}|{{z{{zz{|||||{{{|{{{{|{{|||}{{|{{{{{{||{{{||||||||{{{||z{|||{||||{|{{{{{{||{||{|{z{|{{z{{|}{|||}||{|{{{{{{z||{|||{{{{{zzz|||{||||{{||z{z|}||{}|{{{z{z{{zz{|{|{{zz|z{|zzzz||{{{{|zz{zzzzz{z{{{{|}{zzz{yzz{|{{{{||{z{zz{zz{{{{{||{{{|{{{{z|{|{{|||{{{z{{y{{zz{{{|{{zz{{{{{|{|z{|{{{{{z{zz{{{{|||{{z{zy|zzy{{{z{|{z{zz{z{{{z{{{|||{{{{z{{zz{{z{{{|{{{{{zy{{y{z{z{|{{{z{{z{zzzz{{{{|zzzz{{{y{{{{|{||{{{{{z{{z{{z{{||{{z{zz{{||{z{||{z{{{z{zz{||{{{||{{{{{zz{{{||||||{{{{zz{{||{|{{|||{{{{{z{{||||||||{{{{{{{|}{||||{{||z|{{{|{z|||||{{{{{z{z|||{|{}{|{{{{zz{|}|}{|}|{|{|z{|{{||||{{}||z|z|{{{|||}||}||{|{{{{|}{{{|||{{{{|{|{|}{||||||{{{|{{{{|||||||{{{{z|{{||z{|||||zz|z{|z{{{{|{z||{{{y{{{z|||{{{{{z{z|{{z{{{|||{{|zzzzzz{{{{{|||{{{{zz{zz{z{zzz|{{z{{zyzz{{{{z{{{z{{{zzz{zz{z{{{{zz{yzz{z{|{{{{||{{{yz{{zz{{{z{{{{z{zyzzz{z{{z{{{zzzz{zz{{zz{z{{{zzz{zzzz{{|z{{{zz{{zzzy{{{{{|{{{zzz{{{zzz{z|z{z{yzzzzyyzzzz{{|{{zzz{zzz{{{{{{{{|zy{z{zz{{|{z{{{{|z{yzzz{{{|{{|{|{{{z{zzz{|{{{||{{{z{{zz{z|z|{{{{{zzzz{{z{{{|{{|||{z{{z{z|{}|{|{|{|{zz{z{{{|{{|{}z|{||{{y||{{||}|}{{{z{{{{{|||||{{z{{{z{{|||{{|}|{{{{z{{{{||{{{{{|z{{||{{{}|{||||{{{{{z{|||||{}|{{z{{|z{{|z|z||}|}|{{{{{|{{||{{|{{{y{{zzz{{{{{{|||{{{z{|{{|{|{{|{{{{{{z{z{{|{|{{{y{zzzzzzz{|{{{|z{{zzz{zzz{{{{{{}{yzzz{z{|{|{|z|{{{{zz{zz{{z|{{z{{{zzzz{y{{{|z{|{zz|zzzzzy{z{z{{{{z{z{zzz{{{{{|{{{{zxzzzzzz{zz{zzzyzzzzzz{{{{{z{z{{zzzzzzzz|{||{{|zzzzzy{{{{{{z{{z{y{zy{zz{z{{{zz{{zzzzzz{z{{{}|{z{z{{{z{{{{{z|{{{zzzzyzzz||z{z|{|{{zz{yz|{{{|{z|{|{yzzzz{{|{{|||{zz{{yz{{{zz{{{{|zz{{{{{{z||{{{{z{{|z{zz{{{{|{|{|{{{{{z{|{{{{{||{{{|{z|{||}|{|}||{{{{{z{{}||{}|{{{{z{|z{|{|{{|}|{|{{|{{{{{{||{}||{{{z{{{{}{{{{||{{{{zz{{|{{||||}|{{|{z{{||z|{|||{|{z{{{{{{{|{{{|{z{{z{z{{{|{|{||z|{{y{zz{|{{{{{{{z{z{zzz{{{{{|{{{z{z{z{yzz|{|{||zzzz{{zz{z{|{z{|{{{zzzzzzz{z{{{{{zzzz{z{z{|{z{z|{{zzzz{y{{z{{{{{{z{{{zzzz{zzz{{{zzzzzzyzz|{{z{z{zzzzzzz{{yy{{{{zzzzzzz{{z{{{{{{{{zz{yzzz{{{{{zz{{z|zyzzzz{{|{{||{zz{zzzzzz{{{{{|z{zzzzzzz{{|{|{{yzzz{{z{{z{{z|{|{zz{z{{zz{{{{{{{{{{{{{zz||{{{|{{z{z{yzzz{{{{|||{{{{{|{{z{{|{{{{||z{z{z{{{{{{|}|{{{{zzzz{{||z{{{{{{z{{{{z{|{|{||{zz{{{{{{{}{|}{{|z{{{{{{{{|||||}{|zz{{z{|||z|{{|||{zz{{{{{|{|||{|||}|{{{{{}|}|{}||z{|{{{z|{||{|{}|z|{{|{{{{{{||{{||{{{{{{||{|||||{{|zzz{z{{{{||{||{{{zz{{z|{|z{|{{z{z{{{{{{{{{{z{zz{zzz{yzz|{{|{|zzzz|{zzz{{{{{{{{z{yz|zz{{{{{||z{zz{y{{zz{||z|{{{{{zz{zzzz{{{{{|zz{z{zzz{{zz{{z|{z{{zzz{{zz{zz{{z{{{zzzz{z{{{{{|zzzz{zzzz{{{z{z{zzy{{zyz{||zz{z|z{zyyzzzz{z{{{{}zyzzzy{yz{{zzz|{{{{zzzzzz{{z{{z|zz{zzz{z{z|{{z{|zz{{z{{{{{{{z{}{{z{{z{zz||{z{|{|z{{z{|zz{{{|||||{z{{zz{{z|{{{|{{{{zz{{{z{|{|{{|{zz{{zzy{|z{z{{{|{{z{|{zz{{{{{|{z{|{{|{|z||{||{||{{{zzzz{{|z|{{|||{{{|z{{|}|||}|||{||{{|{{|{{||{||{{{z{{{{{}|{||||{{|z{{||||{{}}||{|{{{{{||{{{||||{z|{{{|{{{{|||{|z{z{{zz{{|{|{||{{{zz{z{{|{{{|{|{{{{{zzzz{{{{||{z{z{{zz|zz|{{{{{{zzyz{{zzz{{z}{}{{{zzzzz|{{{{{||{zz{{z{z{|||{{{{{{{zz{{z{{{{{|{|{zzzz|{{z{z{{{{{{z|z{zz{{{|{{|{{{z{{z{z{z{{|{{|{z{zz{zz{|{{{{{|{zzz{zz{z{z|z|{{z{z{zzzyz{{{zz{{{{zyzz{zzz{z{{{||{z{z{zy{{{{{z||{{z{zzz{z{|z{{{|{{z{z{{{{{z{|{{{{{{{{{{{z{{{{||||{z}{z{z{|{{{||{|{{{{{y{z||||{|{{{{{z{z{z{{||{||{{{{{{{{{|||{{{|{{{z{{{{{||{||{{|z{{|{|{{|{|{{}|}{{{|z{{{{{{||||{|{{{||{{|||||{|||{||{||{|{||}|||}{{|{|{{{|{|}|||{z||{{{{|{{||{}||z{{z{{}{|||{||}{|{{|||{||||||||{|{z{|{{{{{{|||}||zz{||z{||{{{{{{|{|zzz{|{{|{|z|z|zyzz{z|{{z|{{|{{z{{{z{{{{z{{||{|z{{|{{{|{{}|{{{{z{z{{zz{{|{z{{{{{z{{{{{|z|{{{|{zzzz{{{{{{{z{|{|zzz{z{zz{{{{|{{{{zzzz{z{z{{{{zz{{{zzy{{|z{{{|{{{zz{zzz{{{{{{|z{{{{{zzzz{{{{|z{{{zzyzzzzz{{z{{z{zzzz{zzzzz{{{||{{{{{{zzzz{||{{|{{{{z|z{{z{{{z{{{{z|zzz{{{{{{{{}{{{{zzz|{{{{|{{|{z|z|{z{{|}||{||}{z|{z{{z{{{|||}z|{z{z{{{|||{{{{|{{{{|{z{|{|||}|}{{{{|{|{|{|}||}|{|z{z{z{{}|||}||{{}z|||||}|{|||}{{|{{|{||{|{||||{|{{{|{{|}{||{{||{{{|{{{{{{|{||||z|{||{|{|||||||{{{|{{||{|}}}|{|{||{{{{{{|{{{}|||{|{{{{{{|z|{|||z}|{{{zz{{{{{{{{|zz{{zzz||{z{{{{{zzz{{{{{z{{{|{{{z{z{{y{{zz{{{|{{{{{zzzy{|{{|{{|zz{yzzzy{{{{{z{{{{{zz{{zz{{z{{{{{yzzz{{z{{{{z{{{z{{yzzzz{|y{z{{|{z{zzzzzz|z{zz{{{zzyzzz{z{|z{{|{{z{{zzz{{{z{{{|zzzzz{{{z|{{z{{{z{zzz{{z{{{{zz|}{{{{{{z{zz{|{{|||{{zz{yz{{{{{{z||{{{z{{|z{z{|||||zzzz{|z{{{{|{{{||z{z|{{z{||{{||{{{|z|z{{{{{{|{||zz{{{|z{{{|{{}|{|{{z|{z|y||{{||{{{|{{{{|{|{|{||||z{z{z{{||}{|||{|{|{z{{{||{{||}{|{{{||{|{{|{{|{}|{z|{|{|z|||||||{{{{|z{{|{|{{||||{{|{|{{{{{||{|||{|{|||z{||{||||{{{{{y{{|{{{|{|}{z{{{{{{{{|{|||{{{{{z{z{{{{{|{z{z{{z{zzzz{{{z{{{{{{zzz{y{{{{{||{{z|zz{{{|||{z{|||{{{{z{{z{{{{{{{{z{zzyzy{z{{z{{|{z{y{zzzz{z{{{{{{zz{{zzz{{z{z||{z{{z{z{z{zz{{{z{{{zzzzzz{{z{{{|{{zz{zzzz{{z{{{|{{z{yzz{z{|{|{{{|{z{z{z{z{{{{z|{{{{zz{z{zz{zz{{{z{{{{{z{yz{{{{z{{{{{{{{{{{{{{{|||zzz{zz{z{z|{{||{{{|zzzz{|z||{|||{{{zz{{{{{||{|{{z{{z{z{||{{{|{|{{z{{z{z{|{|{z|{|{z{{|{{z{|||{|||{|{{{{|{||{{{|}|{|{{{z{z||||{||||||||{{{||{{}|{}|{{{{z{|||||||{|}{z{|{z{|||||||||{{{{{{{{||||||||{{{|{z|||||||||{{{{|{|||{{|||||{{z{{{{{|}|||||{||{|{{{z{||{{{|{{{{{{{{{{{|z|{{{z{zzz{zzz||z{z{|{zzy{yzzz{z|{|z|{{zz{zzz{{z{{{{{{y{{{{z{||{|{{{{z{zzzz{z|{{{{{{|z|z{zzzzz{z{{{{{{zz{z{z{{|{zz{{{{{zzzzzzzzzz{{{{{zzzzyzy{{{z{{{{zzzz{{zzz{z{{z{z{zzzzzzz{{{{{{{z{zzx{z{zz{z{{|{{yzyzz{zyz{{{zz{{{z{{{zzzz{z{z{|{{{z{{z{zz{{{|z{{{{{{zzzz|z||{|||||{{yzz{z{{|{{{|{zz{{{{{{|||z{||z{zzz{z{{{{{z||{{z{{z{zz{{|{{{||{zz{{{{{||||||{|{{z{zz||||||||||{z{|{z{{{|{{|||{{{{{{{{z|{|{{||{|{{{z{{{||{{||||{|{{z{z{||{{{|{||{{z{z|{|||{|{|}|zz{{{z{{||||}}||{z{{|{{||||{|||z||z{z{z{|{{{||||{{{{z{z{|{}|{||{{{{{zzz{z|{z|{z|zzy{z{z{{{{z{{{z{z{zz{z{{{{z{{{{y{z{zzz{{|{{z|{|{z{{zy{zz{|z{|{{zzzzz{z|{{{{{{{|z{yz{yzz{||{{|{{zzz{zzzzz|z{{{{{z{yz{z|z{{zz{{z{zzzzyzz{{zz{{{yzzy{y{z{{{{{{z{zz{{zyzzzz{}{{z{{{zzzzzz{{zz{{|{{z{zzzz{{{{{|{{z{zy{{{{z{|z{|{{}|{{{zzz{{{{{{|||{z{{||zz{|{{{{{{{{{{{{{|{{z{{{{|{{{{z|{{zz||{{|||{{{zzzz{{|}|{{|{{z{{|{{z{|{{{|{{{{{{{{{|{{||{{|{zz{z|{{{{{{|{{|{|z{{|{|{|{{|||||{z{{{{{z||{{{|}|}{{z{{|{|{{{||{|}{{{{|{|{|z|{|{{|{{{{{{|{{|||||{|{{z{{{||{{||}||{{{{{{{z{{|||||{zzzz{z{z{{{|}z||{|{z{{z{z|{{{{}}{{z|{z{|{{{{{{{z{zzzyz{{{{|{{z{{z{{z{zzz{z{{|{{{|{{yzzyz{{{z{{|}{{|zy{{z{{|{zz{{{{zz{{{y{{{{{z{|zz{z{{{zzz{z{zz{{zz{{zzzzz{zz{{{{{z{yzzz{{{{|{{{zzzzzyzzzz|{z{{{zz{zzzzzzz{{|||{{{zyzz{z{{z{{{{{{{zzyzyzzz{{{|z{{z{{{zz{z{z{z|{{{yzz{{{zz{{{||||{zzz{yz{{{{{||||zzzzzz{z{||||z||z{{zzzz{|||{||||{{{{z{|z||{|{||{z{z{{{{{{{{{{{|{{{{|{zz{{{{{|{||{|zz{{{{z{{|{|||{|{z{{|{{|||||||{z{|{{z{{{{{{||{|{{{{{{{{|{{{|}|{{{{{{|{||{{||||}{{|z{z{{|{|}}{|{{{|z{{{||}||||||{{{{{|{{{|||}||{{|{|{{{|||{|||}z|zz{{{|{{||{||}|{{{{{{z{{{|{|}{{z{{{{{{{{||z{||zzzzzzzz{{|{z|{|z{{{{zzz{{{|{|{||{zz{zzz{{z{|{{|{{zz{zz{|{{{{{{|{z{y{{{y||{z{{{|{zzzzzyz{{{{{||{z{{z|zz{{{{{{z{{z{z{{zz{{zz{z{{{{zzz|y{z{z{z{||{{zzzy{yz{z{{{{{z{zzzzzzzz{|z{{|{{zzzzzzz{zzzz{{z{{{z{zzz{{{z{{{{zzzz{{zy{{{|{{||{{{z{z{{|{{{{{||z{{{{z{z{{{{{{{{z{{{z{z{{{{||||{z{{yz{{z{|{|{||{z{{{{|{{{{}{{{}{{{zz{{z{||||||||{z{{||{{|{||{|{{z{{{{{{{||{|{}|{{{{{{|z{}|||{||||z{{|z|{}}{||||||{{{|{{{{|||{||||z{|{{||||{{{|||}z{{|{|{}||}|||||{z{|zz|{}{{||}}{|{{|{z||||||||}|{{{{{{z{||{||||{{z||{{{{|{|||{{z{{{{z|z{{{{|{z{{zzyz{yz{|||{{{{y{z{{yz{{{{|{|{{zz{zz{{{{{z{||z{{zzz{zzzz{{{zz|{{yz{zzzz{z{z{{{|{z{z{{{z{{{z{z|{{z{zzyzz{{z{z|{{{{zzzz{zz{zzz{{z{zzzzyzzz|{z|{{{zyzzzz{zz{{|{|{{zz{zzzyzzzz{zz||{zzz{zzxz{{z{|{z{{{zzyzz{z{{z{|zzzzz{{zz{{{{{z{{{y{zzz{{zz|{{{{{{{z{zzz{{|{{{{|{z{zyzzzz{{|{|{{|{|z{{{{z{{z{{{{{{{{{{{zzz{{{{{|||{z{{{z{{|{{{{{|{z|z{zz{{|{|{|||{z{zz{{{{{||{{|||zz|{zy{{||{{||{|z{{{{zz}{{{z|||{z|{z{{{||{{|{|{|z||{{{{|{{||{{|{z{{{{{z|{|||||||z{|{{{z{{{{|||}{{{|}{{||{{|{|}|{|{z{zz{{{{{|{||{z{z{{z{{|||{|||{{{{z{{zz{}||{|{zzz{zzz{{|{|{|{{zzzzzzz{z|{{||{|z{{zzz{|z{{{|{{{{{z{{zz{{{z{zz|{|{zzzz{zz{{zz|{{{z{zzzzz{{{z{{{{{{zzzzzz{z|{|{z{zzzzzzzz{{|{z{zzzzzz{yzzzz|z{{|zzz{zz{zzz{{z{{{{z{{zyzz|{{{{z{{{zz{{{z{yz{z{{{{{zyzy{zz{{|z{z|zzz{zz{{z{{{|{{||{{{{yz{{z{|z{{{{|{{{z{z{{{z{z{{{{zz{zz{z{z|z{{||{{z{{{z{z{|{{||{|{{{{{z{{{{|{||{{{zzz|{{{z|{{{||{{z{zz{{{{{{|||||z{z{{{|{{|{{|||{{{{{|{zz|||{||{{}z{{{z{{{{|{}{|{{{{{{{|{{||{{|}|{|{{{|{{|}||||}|{{|{|{{{{|||{|||{{{{{{{{z}||{||||z{|{{{{|{|{{{{|z{{z{{{{{z{|{|||{|{zzz{{||{|z{||{z{{{yzz|||{{{z{{zzyzzzz{|{{|{z|z{{{zzyz{{{{{{|{{zzzzzzz{{z|{|{{{{{{z{{z{||||{{|{{zzy{zz{{{{{{{|{{z{{zzz{|{z{|{{|zzzzzzz{z{z{{{{{{z{{{zz{{{{{{z{{z{{zzzz|{|z{||{{z{{z{zz{{{{{}{{zzzzyz{z{{{{{z{{z{z{zy{zz{z{z{|{z{{zzyzz{{{z{{{|{z{zzzzzz{{{|{||z{zz{zzz{{{{|{||{{{{{z{zz{|{|||{z|{zy{{{z|{||||{{{{z{zz{{|{{|{|{|{|z{zzz|}{{{{|{{z{{{{|z{|{|{{z{z|{{{|{zz|{|{{||{{|{||{{||||{|||{|z{|{{{{||||}{||z|{||z{|}||{|||{z{{{{{{{|||||{|{{{|z|{|{||||||||{||{{{{|||||||||{{z{z{z||{{|||}||||{{z||{{||||||{z{{{{{|{z{{||{{|{|z{{zz{{|{{||{{{{{z{z{{||{{{{{z{yzzzyz{{{zz{|z{|{zy{{z{{{z|{{{{{zyzzz{z{{{|{{{{z{zz{y{{{{zz{{|{{y{{zz{{{{z|z{{z{{zz{y{zz|z|{{|{zzyzyz{{zzz|{{{{zzzyzz{z{{{|{{{zzxzzzz{{{zzz|zzyyzyzz{{{zz{{{{{{{zz{zzz|||{z{{{zzz{z{zzzzzzz{|{zzzzz{{z{{{{{{{{{zz|{{zz{{|{|{{{{{z{z{z{{|{{|{|zz{{z{{{z{z{{{||z|{zzz|z{{{{{zz{|z|z{|zz{|{||{{{{z|{{|{z{}|{{{|||{z{zzzzz{{|{|||{{{{z{z{|{|||||{{{z|{{{{|}|{||}{|{{|{z|{{||||}||{{{{{|{{||{|||}|{z{z{{||{|{{||{||{{{{|{|{|||{{|||{||z{{{{||||}|||z|{{{|{{{|{{{~||{{|{{{{{}{||{|||{|{{{{y||{||{{||{{|z{zz{{||{{|{{{z{zzzz|{|{{{{z{zz{{zz{z|{{zz{|z{{{zzzy{||||||{{zzzzz{{{|{{{{{|z{{|z{{zz{{{zz{{zz{{zz{yz{{{{{{|z{zzzzz{z{zz{z{{{{{z{z{z}z|z{{{{z{z{zz{z{z{{{{{zyzzzzz{zzz{{|z{zzzzzzzzzzz{{{|{{{{zzzzzzz{{|{z||{yz{{zyyz{{{{z|z{|z{{z{zzz{{{|{{{z{zz{{z{{{|z||{{z{{{z{{|{{{{{{{{{{zzz{{|{{|{{|{{z{{{z{zz{|z||{|{z{z{zz{{{||||{||z{{{z{z{||{|{|{|{{||z{||{|{z|z|{{{z{zz{{|{||{|{{{{{{{{{{{||{{|{|{z{{z{z{{|{{|{{|z{}}{{{||{{|z|||{z{|{{{{|||{{||}{{{z{|||||{{{|||{{|{{{{{{|}{{}||{{{{z{{}|||{||||{{{{|z{{{{|{{||{{{zz{{|z{}|{||{|{{z{{{{{{{{{{|{{zz{{z{z{{|{z{{{zzz{zzzz{{{{z{{z{zz{zz{{|{{||{{{{{{{{{{z{{{|{z|{{{zzz{y{z{|{{{|{{z{yzz{{{{{z{{{{{z{z{{{z{|{{{{{{zz{{z{z{{{{{{{{z{{zzz{zzz{z|z{{{yzzz{zzz{zz{zz|{z{zzzyz{z{{{{|{{{zzzyz{zy{{z{{{{z{zzzz{z{|{{z{{zz{zz{zzz{|{zz{{{z{z{zzzzz|{{{{{|{{{z|zzzz|{{{{|{{{y{{z{z{z||{|||zz{|z{z{{||||{|{{{{{{zz{{|||||{|{{z{z{{{{{{{{{|{|{{{{{{z{{{{{{||{{z{{z{{|{|}|||{{{{z|zz|||||||||||z|{{z{||{}||{{z{{{{{z||||||||z|{{{{|{{||||||}{|{{{||{|{|{}||}|{{|{{{{{|||||}||z{{|{{{||{{|||||{|zz{{{{|{{||||{{|{{|{{{|{z{{{|{y{|{{{{{{|{{||||{{|yzz{y{||{{{z{zzzzz{z{z{{{{z{||{{zzzzzzzzzz{z|{zzzyzz{{|{{{|{{{z{zzy{zz{z{{zz{zz{{{zzz{|{{{zz|{{z{|{yy{z{z{{{{{zzz{yzz{{{zz{{{zz{zy{zzz{z{zzyzz{zz{yzyz{{z|{{{{{z{zzzz{{{z{z{{|{{{yzzz{{{{{z{|{zzzzzzzz{{zz{{z{zyz{{{zzz{{z|{yz{zzz{zy{z{{z{{{{{zzzz{zzz{{z|||{zz{z{{{{|{{{{{{yzy{zz{z{{{{z{{{{{{y{z{z|{|{|}|{z{z{|zzzz{|{{{||zzy{{z{{{|{{{z|{|{{{{zz{{|{||{|{{{z{z|{z||{{{||}{zz{z{z{{||||{|{zz{{{z|{||{||}|{|{{zz{{{{|z|}||{{{{z{|{{{|||{{{{{{{{zzz{|{{|||||{|{{{{{|{{{{{||{|{{|{{{|{{{||||||z{z{{{{||{{{||{{zzz{z{{{|z{{{{{zz{zzzzzz{{{z{{{{zzz{y{zz{{y{{{{{{{{z{yz{{{{z||{{{z{zzzyz{{{z{{{|z{yzzzy|{{|zz{|zzzzyzzz|{{{{{{{{{{z{|zzzz{{z{{{{zz{zzzy{{{zzz{|zzz{{zzzzzz{y{{{{z{zzyzz{{{{{{z{{{zzzyzz{z{{{{{{yz{zyzzy{z{{{{||z{{{zz{zzzz{|zz{{zzyzzzz{{zzz||{{zzzz{{z{{z{z{||zzy{zzzz{{{z{{{|{{{{y{{z{{{{zz{||z{{{z{z{{|{{||{{z|{{yz{z{||{{{{zz{{z{y{|{{{{|{|{{zz{{yz{|{{z|{{zy{{{{{z{||{z||{{{z{{{{{{{||{{{|{{{{{zz{{{|||{{||{{z{z|{{||{{|||{z|{{{z||z{|{{||{|z{{{z{{|{{{||||z|{|zz{|{{{|||z|{{z{{{{{{|{||{||{{{{{z{|{{|{{{}{|{zz{{zz{{{z{{|{|{{{{zz{|{{{{|{{{{{{zzzz{{{{z|{{zz{zzz{{{|{z|{{zzz{{zzz{z|z{{|{{{{zzz{{{|{{{{|{{z{zyzyzz{{|{{|{{zzzzy{z{{{|{{{{{{zz{zzz{{zzz||{{zz{{yyzz{{{z{z{{zzzzzzz{{{z{{{{z{zzzz{yz{{{{{{z{{yzzzzyzz{z{{{{z{{zzzzz{z{{{z|{{zzzzz{zz{zz{{z|{y|z{zzzz{z{z{|z{zzzz{zz{{|{{||{zy{z{{{{zz{||{|{{z{zzz{z|z{{{{{|zy{z{{zz{{{{|{{}{{{{{z{z{|{{{||{{{{{zzzz{{{||{|{zz|{|{|{|{{{{||{z{{{|z{{{|{{||||{{{{||{z||{||{||z{{|{z{{|{{||{{{{z{{{z{z{||{|{||z{{{{{{z{{{|}{|||{}{{{{z{|{{{{|||{{|{z{{{|||{{|||zzz{{|{{{z||{|{{{|z{z{{|{{|||{{{z{{z{|z|{{|{|||{{{{{{z{{|{|{{{|zz{zz{{yz||{{{y{zzzz{zzyyz{{zz{{{zz{{zzy{{{{z|{|zzzyz{zz{{{{{z}{|z{y{zzzz{|zz{||{z{yzyz{z{{{{{{|z{zzyzz{z{yzz{{z{zzzz{z{{z{{z{zzyzzyyzzy{z{{{{{|{{{zyyzzzz|{|{|{{z{zzzyz{{{z||z{zzy{y{z{{{z{{{{zzzy{zzzy{zzzzz{{zz{z{y{{z{z{|z{z{z{{zzzz{{{zz|{{{y{z{zzz{{{{{{{{{yzzyz|{z|{z{z{{zz{{{yz{{{{{z{||{{{z|z{zz{{zz{{{zz{{z{zz{{{{{||z{{{{{{{z{{|{|{{{{{zzz{{{{{{{||{|z{{{{{|{|{{{z|||{z{z|z|z||{}||{|{z{{{{{{{||{||||zzz{{{{{||}|{~||{|{|{{{{|||{|{{|{|{{z{|{||z||{{}{{{{{{{{{{z||{{|zz{{{{{{{{{||||}|{{{zzzzz{{{{||{|z{zz{{z{|||zzz|{{zyzz{z{{{{{{||yzzyzzy{zzzz{{{{z{z{zzz{{{{z{{{|{zzzzzzzzz{{{||{{zyzz{yyz{z{zz{|{{zzzzzz|{{z{z{{{zz|zzzz{yz{{|{{{zzzzzzyz{{zzzzzzzzz{{zz{zzz{z{zyzzzyzy{{zzz{{zzzzzzz{yzzz|z{z{zzzzyyy{zzzzz{z{{zzz{zzzzzzz{{zz{z{zzzzzyzz{z{{zzzyzzzyyzz{{{{{|{{zzzz{{y{z|{{{{z{z{zzzzz||{{{|z|z{{zy{y{zz{z{{|{{{zz{zzz{{{{z{{{zzzzzz{zz|{{{|{zzz{z{z{y||{z{{z|{{zzz{zz{z{{||{|zz{zz{{z{{{||{|||y{{{z{{{{{{{||{|zz{{{z{|||||{||{z{{{z{{{{{{{|{||{{z{zz{z||{|||{{{{{{{z{{{{{{|{{{z{{{zz{{|z{|{{z|z{y{{{{{|{zz{|{{{{z{{{z{{{{{|{{|{zzy{{{|{z|{|{z{z{zz{zz{{{{z||{z{zz{yzz{z{{{z{|{zzzz{z{{z|z{{{{|{zyz{zzzz{{z||{{{{zzy{{{|{{{{{{{zzzyz{z{z|{y{{{{{zzzz{zzzz{{{|z{{{yzzzz{{{{{{{{{zz{y{zz{{{{z{{|zyzzzzz{{z{zz{{zzzzzyzy{z{{{{|{{{z{zzzyzz{{|zz{{zzyzzzz{zz{zzz{{z{zz{yzzz|z{{{{{{z{zz{{z{{{{{{|{z{{zzz{{{{{{{{||{{zzzzz{z{{|z{{{zz{zzz{z{|{|{|{|{z{{{zz{{||{z{|z{{{zz{{z{{{{{{}zzz{{{zz{{{||{{|{{{{z{{{{||{|||||{{z{{z|{|}|}{|}|zz{{{{{z|{|{{||||z{z{zz{||{|{}||{{|{|||{{||||||||{{{z{{{||{||||{{{|z{{{|{||||{||zz|z{{{{{{|{{|{|{z{{|{z{|z{{|||{{z{z{{zz{{z}{{|{{{{{{{{{{{{{{|{|{{{{zzzzz{{z|z{z{z{{zzzz{z|y{{{{z{zz{yzz{{{{zz||{{|{zzzzz{{zz{{{{yz{zzzzz|||z{{|{zz{yz{z{{{|z{z{z{z{z{{z{{z{{|{z{{{zzzz{z{{{{{{{yzzxzzzy{{zzz{z|{zzzzzzzz{z{{{{{zz{zy{z{z{{{|{{{zzzzzyyz{{{{{{{{{{z{zzyzz{{{z{|{{zzzz{zzzz{z{{{z{z{zz{yzzz{{{|{|{z{z{z{z{z|zz|||{{{zzz{|{z{{z{{{zz{{{z{{{{{{{{|{{{{{z{{zz|{|{{z{|z{zz{{{{|{{{{|zz{{|zzzz{|{z{{{|z{{{{{{{|{{{}|||{|||{z{{|}{|||||{{{{|{{{|{{{||||{|z{||{|{|||{{}{z{|{{{||{|{{|}|}{{{z{{{{{||||||z|{{||{z|{|{||||{{|{z{{{z|{{|{||{}{{{{{{|z{{|||{|{{{z{y{|||{{{|||{|{|{{{{{{{|{{{{{z{{{{{z|{z{|{{{zz{zzzzz|{{zz{z{yzzy{yyzz|z{{{{|yzzzyzzz{{{{{{|{{{zxzzyz{{|{{{{{{{|zzzzy{||{z{z{{{zz{z{zz{zz{{{z{zzz{z{z{{zz{{{{zzzzz{z{z{|z{{{{z{zzy{{z{zyzz{{z|{{{zzyzz{{{{{{zz{zzzzzz{{{{zz{z{zz{{yzzy{{{{{{|{zyz{{zzzz{{z{{|zzzz{yzz{{{|z{|{{zzz{zz{{{|{{{{|z{{zzz{{z{{{{{||{z{z{zz{|{{{{{{{{z{{{{{yzz|z{{||z|{{zzzz|{|{z||{{{{{{{{z|{|{{|{|{|{z{{{z{|{|||||{{{{z{||{{{||{{|{|{{{zz{{|{{}||||z{{{{{{{|{{{||||{{{|z|{z{{|{{{|z|{{{{{{|{|{|{|{{{|{{z|z|{{{{|||{y{{{z{{{{{{|}{|{|{{{|{{{z|{{{||{zzz{zzzz{{{{|||{{{{{{{{{{{{{|{{zz{zzzzy{z{{{|{{z{{zz{{z{{{{|{z{{zzzzz{{{{|{{{{||zzzzz{z{z{z{{||{zz{{{zy{|{|{||{z|z{zz{z{{{|{{{{zz{z{{{z{|{z{{{|{{z{{{zz{{{zz{|{z{zyzzzz{z{z{{|{zzzyzzzyz{|{{{{{|{zzzzyzz|{{{{{{{zz{zyzzz{z{{{{{zzzzzz{{zzz{{z{zzzzzzyzz{{z{{{||{zz{{{zz{z|{{{{{{z{z{{{z{{{{|{||{z{{{{{{{{{z{|{|{z|{zz{||{{{{{{{|{z{{{{{{{{{|||z{{|{{{z{{}|{{|||z{{{{{{{|{|{{{{{{{{{{z{{{|{|||||{{z{z{|||||||||{{{{{zzz{|{}{|{|||zz{{zzz{||{{{|}{{z{|z||{||{||{|{{{{{{{|{|||{|||z{|{{{|{|||||{||{zz{zz{|{|{{|}|}{{{|{z{{{{|||||{{{{z{{{{z{{{{{|{|zz{{z{{||||{|{|{{zzz{z{{{|{||{z{yzzzzzyz{|{{z{{zzzz{zzyz{|z{{{zzzzzz{zyz{{{{{||{z{{zyz|{{z||z{{{{z{{zyy{{|{z{{{zzzzzzzy{{{zz{{z{y{y{zzy{{{z{zz{{{zzzzyz|zzzz{{{y{zyzzy{{{zzz{{zzyzzyzzzzz{z{{{zzyzzzzzz{{zz{{{zzyzzzzyxzz{y{zz{zzzz{zzzy{{{z{{|{{zzz{zz{{{z{{{z{{zz{z{z{{{{|{{|{{zz{z{z{{z|z{{{zz{yzz{z{{{|{|{|{{{{{yz{{{|{{}{||{{z{zzzz||{|{|{{{z{{zzy{|{|{{{{|zz{z{|{{{{||||{{|{z{{{{||{||{||zz{z{{{{{{|{{||{{z|{zz{{||||z{||{{|{z|{{{|{|}|||||zz{{z{{{{{|||||{|{{zz{{|||||||{{{z{{{{||{|{|{||{{{z{z|{{z||{{|z{{zzzzz{{z{|{{{{z{zzz{z||{|{||{|z{{zzzz{{||{|{z{{{{zzzy{{{{z{{{zzz{y{z{{{{|{|{{z{zzzz{{{{z{{{{{zzz{zzz{|z{{{{{{zzzzzzz{{||{|{{{{z{zzz{yz{{z{{|{{zzzzzzz{z{zz{{{{zyyy{zzzz{{||z{{zzzz{zz{{z{zz{|zzzyyzzz{|{z|{{{{{zzzzyy{{z{|z|{zz{zz{zzz{zz{y|{{z{zz{{zz{|{z{|{{{{y{{{{{z{z{{z|{|zzzzzz{{{zz{||{z{{zzzz{z|||||{{{{|{{{{{{{|{{{{z|{z{zz{{{|||{{{{{{z{{z{||{{{{|{{|zz{{{z{{z{{{z{{{{{{{z{|{{}|{{{{{{{{{|z{|{}{|{|{{|z{|zz{z|{|{|{{{{z{{{|{}|||}||{{z{|{{{{||{{|}||{{z{{{z|}||||{||z{|{z{{{||||z|{{{{{|{{{{||{z|}|{|z{z{z{|||||{{}{{{{z{{|{||{{|{||{{z{{{z{|{{{||||{{{{|z{|{{{||{{{y{{|zzz{|zzz{z{zyy{yz{y{z{{|{{|{zzzzzzzzz{{|{{{|zyzz{zz{|{{zy{|{{{zyy{z{|{z{{{{zz{{z{zy{{yz{{{z{z{zzzyz{zzzzzzzyz{zx{y{{z{{z{{|zzzy{z{z{z{{z|{{{zzyyyzzzz{z{{{|z{zyy{zz{z{{z{z{zzzzzzzzzzzz{{z{{{zzyz{z{{{{z{{{zzz{{z{y{{{{{z{{{{z{{zzz{|{z{{{{zzyzz{zz{{{yz{||{zz{zz{y{|{z{{{|zzzz{z{{{|{{||||{{zz{zzz||{zz{|{{{z{{{{{{{{z{{{z{z||{{|{|{{|{{{|{{{z{{{{{{|||{|{{|{{{{{{{|{{{{|{}{|{{zzz|}{{|||||{|{|||{{||{||||{{{zz{{{{~{}|{|{|z|{{z{{|{|}|||||{{{{{{{{{{||{|||{z{{|z{||}|{{|{||zzz{{|{{|{||||{{{{{yzz{{{{|{{|{{z{zz{z{{|{||{z{{{yzzzz||z{zz{{zzzz{zzz{|z{z{{|{{zzz{yz{y{{{{{{zz{zzz{{zz|z{{{{{yzzzzzzz||zzz{{{zzzzyzyy|z{z{{|{zzy{yzy{{{zz{z{{zzzy{yzzzzz{{{{y{zz{zzzz{zz{{{{{{zz{zyz{{z{{{{zzzzzzzzyz{z{{{{|zzzyyyzzzz{zz{{z{{yzzzzzz{{{zz|z{{z{{z{yz{{{{{{{{zzyzzzz{|{zz{{{|yzz{{z{{{{zz{{{zzzzzzzzz{|{z|z{{zzz{z{{{||{{{{{{{{z{z{{|{{||{{|{z{{{zz{{|{{{{{{{zzz{{{z{{{|{{||{{|z{z{z{{{{{{|{{{{{zzzz{{|{||||z{z{|zzz{|{|{{||{{{{{{{|z|{z|}|||zz{{{{z{|{{||||{{{{z{{{||{{|{{z{z{{|{{|z{|{{||{{{{|zzz{||{{||||{{{z{zz|z|{{{|||{{z{z{{z{{|{z{||{{{{zz|y{{{{z{z{z{zzzz{zz{{{{zzzzz{zzzzzz{z{{z{{zzzz{yzzz{zyzz{z{{{zzyy{z{z{z{{|{zzzyz{z{z||{yz{zzz{zzzz{|zz{{{zz{{yzzzzz{{zzzz{z{zzzzyz{zz{{z{|zzzyzyzz{z{zzz{zzzzzzzzzyz{{{{|{z{zzzzzzy{zz{{z{zzyzzy{{zz{z{z{zz{zz{zzz{z{z{{|{zzz{{zzyz{{{z|{{zzzzzzzzzzz{{z|{zzz|zyz{z{{|{{z{zzz{zz{z{|{z{{|{z|zz{zzyz{z{z{|z{z{{{{zz{{{{z{{z{{z{{z{z{{||z||{z{zz{zz{z{{||{{{{{zz{{{z|{{{||{}{{{{{{zz|z|{{{|{|z{{|{{{|||{{{{|{{|y{{{{{||{|{{{|{z{z{{z{|{||{|{{|{{{{{{{|{{|||{{z{z{zz{{{z{{|||{z{{{{{|z|{{|}{|{z{zz{{z{|{z{{||{zzy{{zy{{{|{|{{{zzzz{zz{{{zzzz|yz{z{zzyzzz{{z{{{{z{z{zy{{{{{{{{{{zyz{yzzy|{{z{{{z{z{zzzz|{{z|{{zz{zz{{z{z{{{{z{zzzzzzzy{{{zz{zzzzzzzzzz{{z{{{{{{z{zzz{zzz{{z{{{{zzzzzzy{{{|zz{{{{z{zzzz{{{{{{{zzzzzzyzz{z{{z{|{zz{{zz{zz{{y{{{{zz{zzz{zz{{zz|||zzzy{{zz{{{z{z|{zzz{zzz{zz||{{{|yz{{yz{{{{y{{{{|{zzz{yz{z{{{{{{{{{zzz{zz{{z{{{{{zzz|{z{{{{||z{{{|zzz{zz{{{{{z{{||{z{z{{{z|||{{|{z|z{zz{z{{|{{|{|||{{{{zzz|||{{|||z{z{{{{{|{|{||{{{z|{|{{|{{||||{|{{z{{{{{|||{||{{{{{zz{{|{||{|||{zz{{z||{|{{{{|||{{z{{{{|}|||{{||y{z{|{{{{{|{|{{{|{z{z{z||{|{||{{z{zz{zz{{|z{{{{{zzz{zzy{{z{{{||{zzzzzzzzz{{{||{{zyzzz{z{z{zz{|{zzzzyz{z{zz{{{{|zzz{{zzy{{{z{{z{zzzzzyzzz{{{z{{|{yzzzzzz{{zzy{z{zzzzyzyyzzz{zzzzzy{yzz{zz{{{{zz{{zzzzzzz{{zz{z{z{zzzxzzy{{{zz{{{zzz{{zzzz{{zz{{{{{yzy{yz{zzz{{{{{zy{z{{y{{yzz{{{zzyzzyzz{{{z{zz{zzzzzz{z{{{|{{|}zzz{zzzz{|z|{{{||z{{zz{z{{|{{{{{{z{zzzzz{{{{z||{{{zz{zz{{||{{{|{|{{{z{z{|||||{{|zzz{{z{{|{z}|}|{{{z{{zz{|{{|{||{|{{zzz{{|{{|{|{|{{{{|{|{{|{{||||{{{{z|{{{|||{{|||z{{{{|{|{||{{|{{{{{{{|z{{zz|{||{{{{{{z||{z||{||{z{z{z{yz{{{|{||{{{{zz{z{{|{{{{z{z{{{z{{z{|{|{{{{z{z{zz{{{{{{{||z{zzzzzzz{z{{|{{z{{zz|zy|{zz{z{{zzz{zzz{|zz|z||{|zz{zyzy{{||{|{|{zzzz{zy|{z{{|{{zzzzzzzz{z{zzz{{zyz{{{zz{|{{{|{zz{zyzz{{{{z{z{{{z{{{z{zz|z{zz|z{z{{yz|zz{|{|{{{|z{{{zz{z{z{{z{{{{z{yzz{zz{z{{{|{{z{{z{{y{{{{|{||{z{z{{{z{{{{z{|{{{{{{{zz{|||{{|{z{{z{z{z{{||{|{{|{||{z{{{{z{||{{{{{zzz{{|{||{{}{|{z{y{{z{|{{|{{||{z|z{{{|{}{|}||z|{{|{{{|||||||||{|{{{{z{{|{{||{|{{zz{{{||{{}|{|{{{{{{||||{||||{||{|{{{|z}}|{{||{{|{{{{z||}|}||{{z{|{{{|||{{|{||{{{{{{z|{|{|{{|{{||z||{{||||{|||{{|{{z{z{}||||||z||zzz{{|{||{||{zzyzzzzz{z|{{{{{z{z{zzzzzz{{{||{z{zzz{zz{{|{|{{|{zy{zz{zzz{{z{{z{z{{z{zzz{z|{{z|zzzzzzzz{{|{{{z{|z{zzzzz{{{{{{{|{{{zz{z{|zz{{{{{zzzzzzzz{{{{{z|{{zzzzzzz{z{{{{{|{{zzzzzzz{z{z{{{{zz{zzzzz{{{{|{{zzzzz{{{y{{z{{{{{z{zzz{z{|{{{|||{{zz{zz{{{{|{{{zzzzz{z{{{{{|y|{{zz{zz{zz|{|{{|{{|{{{zzzz{{{|{|||{{|zzz{|{||{{{}{{{zz{zz{|{|{z|||{{|{|{{z{|{|}||{{{{y{{{|{{||{}||{|{{{{{{{||{}|||{{|{|{{{|||}|{||{{{{{||{||{|{||}|{{|{{{{{{||{|{||{|{{z|{{|{||{|{|{z{{z{|{|{|||{||{{{|{{z{{|}{{||z|{z|zzz{{z||{|||z{z{z{{{|z|{{|{{{{z{z{{{{|{|z{{z{z|zz{z{z{z{{|{{{{zy{zzz{|z{|||{z{z{zz{{{{{{{{{{z{{{zyz{{}{{z|{|zy{zz{yzz|{{|{{{{{yzzyzz{{zz{{|{{{{{zzz{{{|z{{{{{zzzzzz{{z|{zz{z{zz{zzzz|z{{{{z{zz{zyy{z{{{{{{z{{z{zzzz{z{{z{|z{{zz{zzzzz{{{{||z{zy{z{zz{{{|z{|zz{{zzzz{{{{{{{|{zz{zz{z{z{{{|||zzzz{{z{{{{z{|{|{{{{yz{{{{{{{|}{|{{{zz{zz{||||{|{{{{zzz{{{|{z}{{|zzzz{z{{{|{|||{{z|z{||z{|||||{{{{{{{{{{{{}}z{||{{{{{{{z||||{|{{{{{{|zz||||z|{{{{z{{z|{{z{{|{}|{|{{{{|{z{}|}}|||{{||{{{{|||{{||{|{z{z{{|{{{||||{{{{{{{|{{{{{||{{|{{z{{{{|{{|{{||{{z{{{zz{{||||||{{{z{{{z|{{{{z{{{zyyzz|z{{z{{{{{{zzz{yzz{z{{{|z|{zzyyz{z|z{{{{{{{z{zzzzzz{{{z{|zzzzzyz{z{{{{{{||{{{yzzzzyz{{{{|{zy{zz{{{z|{z{z{{{zzyz{{zz{{{{{{{zzzzzyzz{z{yz{{|{{zzz{y{z{{zz|{|zzzyzzz{zzz{{{{{{{{z{yyzz{{z{{z{zzzzz{y{z{{{{{{{zzzyz{zz{{|{{{|{{z{z{{{z{{|{{{{{{{{zzzzz{z{{{{{{{{{{zz{{|{{{{{||{{zz{yzzz|{||{|z{{z{{{zz|||{{{|{{zzzzz{{{|{{{||||z{{{{{{{{{{||{|{zzz{{{z{|}|{|}|{z{{z{zz||{||{|{|z{{|{{z{}||||{|{|z{{|{{{{||{{{||z|{|{{{{}|{|{|{|z||z{{{||||{|{{{{{{{{z{{{{{|{{|{{{{|{{{||z|{|||{{|z{z|{{{{|{||{{{{z{{{{z|{{z{|{zz|z{{|z|z{{z{||{{zzyzzyz|zzzz|{{zzzzzzyz{|z{{{{zzzyzzzy{z{|{z{{{yz{zyyz{z{|zzz|{{zzzzzzzz{zz|yzzz{z{zzzz|{z{{|{zz{zzzzz{zzz{zz{{{zzzzzz{{z{{{{{zzyzzyzz{{{{{{{{zzz{yzz{z|zz{z{{zyzzzzzzzz|{{{||{zzzzzzzzzz{{{z{z{zz|{zyyzz{{|z{{z{yz{yz{{{{{{{{|zzzzzzy|zz{{{{{zyzzzyz{zzz{{{{{zy{zzz{z|{|{{{z{z{z|{z{z{{{{{|z{{{zyz{{zz{{{{|{z{z{{zyy{{|{{{{{{{zz{{{{{{{{|{{{|z{{z}{{{|{zz{|{}{z{{{{|{|{|{{{{|{z|{{z{z{|{||{|{{zz{{{{{{|{{||||{{z{zz{z{}|{|{||{z{{{z{{|{|||{|{|{{{{{z{{{|{{|||{{z{|{{|||{{||{}{{{z{{z{||{|{||{{zzz{zzz|{|{|{{z|{{z{zzz{|{zz{{{z{y{{zzz{{zz{{{{yzz{zzzz{{{{z|{{{zyz{yz{zz{|z{{{{z{zyzzzz{{z{{{{{zzz{zzyz{{{z{||{zzz{z{{zz{{{{|{{zzzz{zzz{{{y{|{zzzyyzzz{{{{{{||{zyzzyz{z{z{z{{{zz{zz{yzz{{{{|{{z{zzzz{zz{{z|{||zz{zzz{zz{{{z{|{{z{zzz{yzz{{{{z|zz{yz{zz{z{{y{|{{{z{zzzz|{{{z{|{{zz{z{{{{{{{z{{|yz{zz{{{{||z{{{z{{{zzzyzz||{{|z|{|z{{{zz{z|{{{{{|zz{{{z{{z|{z{{||{|z{z{z||||{{{{z{|||{z{z{||{|}||zz|z{{{||{|{|z}{{{{{{|z|||{{|||{{|z{{|{|||{{}{||{|{{|{|{|||{||}{{{{{{{{|{{{|}||{{{{|{{|{|{{||}||{z{{{z{{|{|||||{{{{zz{zz{{{|||{{|{{z{{{{|{{z{|z{|{z{{zz{{|||{zz{xzyzzzzz{{|{{{{{{zz{z{{{{{{{{{{{zzz{z{{{zz{{z{{{yz{z{zzyz{{{{z{{{{zzzzzz|{{{z{zzz{zzzzzz{yz{z||{{{zzyzzzz{{z|{zzzzz{{yz{z{z{{{zzz{{zz{yz{{{z{{z{{z{z{z{z{{z{{{{zz{{zyzy{{z{z{{{{zz{zyzzyz{zz{{|z{yyzzzyz|{{{z{|{zzz{z{z{{{{{{{{{z{z{zzz{z|{{{{zzz{{{zzzz{{{y{z{z{{zzzz{{{{z{{|{{z{yzzzzz{{{{{{{{zzz{{{z{{|{{z|{{{{{z{z{|{{{z{{{{{{{|{y{z{|{{|||{||{zz|{{{{}{}}{{{zzzzzzz||{|||||zz{zz{{|{|{{{{||{zz{z{{{||{|{||{{z{{{z|z|||||||{{{{z{{{|{|{||||{{z{{|{z|{{|{|{{|{z{z{z{{{|||{{||{{{z{{zz{{z|{{||{z{zzzz{|z||{{{{{zz{{z{z|{zz{{{zzyz{zzz{{z{y{|{zyzzzy{zzzz{z{|{{yz{y{{{{{{zzzz{{z{zzzzz{{z|z{{|{z{zzzzyz{y{{{{{zzzzzy{zz{{y{|{{zzzyzzzzz|{zz{z{zyzzzzzz{{{{{|{{zyzyzzyzz{zz{{{{{yyzzzyyz{{z{z|zzzzzzyzzz{{{{{{{{zzzzzzyzzzxz{{|zz{zzzzzzz{{{{{{zy{zz{zz{{{z{z{zzz{zzzzz{{z{{|||{yzzzy{{z{z{{||{zyz{zz{z{{z{z{{{{yz{{z{z{|{{{|{{{zz{z{{z{{|{{z{{zzz{z{{{{{{|{{}{z{z{{z{z{{{||{{|{{|{{{{z{{||{||||{{{{{zz|{|{|{|{{|y{zz{z|{|{{{{|||z{{{||{{|{{||||z{{z{{{{|||{||||z|{{{|{{{{|||{|{{z{{{{{{|{{{{|||{|{{{z{|{{||{{{{{zz{zyzz}{|{||{|{{{z{z{z||||||{{z{{zzz{z{{|{z{z|{z{zz{z{{{{zy{{zyzzzzzz{z{{{|{|zzzyy{zzzzzz|||{zzzyyzyzz{{z{z{{{{{zzzzzzz{z{{z{yzzzzzzzy{zyz|{{{zzyzzyzx{{{{{yzzyzzz{zz{z{z{{z{zzzzzzy{{zz{zz{zzyzzyzzy{z{z{{{{{{zzzzyzz{y{{z{{{zzzzz{y{zyz{{zz{{zzyyzzz{z{z{z{zzzy{zzz{{{{{{{{{yzzzzyyz{{zz{{zzz{yzyzy||{{{{{|z{zzzzzz{z{zy|{{zzzzzz{{{{{{{{|{{{{z{{y|z{{{{z{{{{zz{z{z{||z{|||{z{{{{zz|{z||}{|zz{z{{{||{|{{{||{z{{{zz{||{{z||{|{zzzz{z|||{{{{|{z{zz|{y{z|||}{|{z{{{z{z{|{|{||{|{{{zz{z{{{|{{|{|z{{{zz{{||{{{{|{z{{{{z{|{{z||{|{{{z{z{z{{{|zz|{{{{{z{{z{{}|{{|z|{{z{z{z{{{|{{z{zzz{zzzyz|z{{{{{{zzzzyzzz{{{z|{{z{zzzzzzz{z{{{|z{{z{{zzzz{z{zz|||zzyzz{z{{|zz{{{{{zyzzzz{{{z{|{{{{zzzzzz{{{{y{z{zyz{{yzzzzz{z{{zzzzyzzzzz{{z|{zzzzz{yz{{z{{{{{{{zz{{zzzz{{{{|{|{yyyzzyzyzzzz{{{{zzzy{z{z{{{{z{{{zzyzzz{z{{z{{{||z{z{{zz{{z|{{{{zz{{zzz{z{{{||yz|z{zzz{{z{z{{z|{{{{zz{z{zz{{|zzz{{y|{|{{z{{{{z{{{|{z{z{|{{|{z{{{z|{{z{{{z{{{||{||z{{||z{{|{{||{|{{{z|z{zz|{||{{{}|{{{{{{{{||{||{{{|z{zzz|{|{{||{||z{zz{{|{|{|||}|{{z{{{{{{{|z||}{|{z{{|{|{{{||}{|{{{z|{{{||z{{{{|{{z{z{{{{{|z||}|{{zz{{{z{{{{{z{{zz{zzzz{{{zz{|{{y{{{zzzz{{{{{|{{z{zzzyyzz{|{{{{{{{zzz{zz{z{z{{{zzz{{zzzzz{{{{{|{zyzzzzzz{{z{|{z|yzz{zzzzz{zzz{zzyzz{zzzz{{{z{|{zzz{zzzzyz{{{z{{zzz{yzzzzz{zzz{{z{z{zz{zz{{{zz{{{{zz{zz{zz{{{{|{{zz{zz{yzz{|{{{{{zzzz{{zzz{zz{|z{zz|{{{zyz{z{{|{{{zzzzzzz{|{{{{{{z{zz{{{z{|{{{|{{y{{z{zzz|{|{|{|{z{{z{{{{{|{{{{|{z{{z{zzz|{|{{{|{{z{{{z{z||{{{||{{{zz|{{z{||{||||{{{{{{{{||z||{||{{{|z{z{{||{{|{{{{{|{{{{|}{{||{{{{z{{|{|{{{||||||{{{{z{{{}||}{|{|z{{{{z{|{}{||||{z{{{{|zz{{{z||}{{{{{{z||{{{||{|{{{{{{{{{{{|||||{z{{zzzz{|||{{{|{{{{{{{z}|z{{{{zz{zzzz{yz{{z{{{|{z|zyzzz{{z{{{||{zzy{zzzz{{{|z|z{{{zzzzzz{{{z{{z{z{z{z{z{{{{z|||z{zz{yzz{{{{z{{|{z{z{{zyzz{z{|{zyzzzz{zz{{{{{z{|zzzz{zzzz{{{|{{{{zzzz{zzz{{z{z{|zzzzzy{zz{z{{{|{zzzz{z{yz{{zz{z{{zz{zyyz{{z{{|z|z{zyzzzzz|{{{{|{|{zz{zyz{|{{{{{{{{z{zyz{{{|{z}{||{{{zzz{zz{{z{{{|{{z|{{{{z{|{{|{{|zz{{zy|{}{{|{{|zzzzz{z|{{|||{|{z{{{zz{{{{}|||{{{||{|{{{|{|||||z{z{z{{|{{|{{{{||z{z{{{||{|{||{}|z{z{z{{|{}{}||{|{{|{{{|{}|||||}|{|{zz{{|||||||||{zz{{{|{||{|||{|{{{{{{{|zz|}||{|||z{{z{z{||{{|||zzzz|z{{|{{||{{z{{z{zy{{{{|{{|z{yy{zzzz{z{z{{{{zz{zzzzy{{z{{y{|{zzyzzzz{{|z||{z{zzzz{zzz{{{zz||{zzyy{zzz{{{z{|{zyzzyyzzz|{zz{{zzzzzzzz{zz|zzzzz{zyzzzzzz{zz{{zz{z{{zzzzz{zz{z{zzzz{z{yz{z{z{{z{zzzzz{zz{{{{y{{{z{zz{yzyzz{y||z{zzz{zy{zz{zz{z{{zy{{zzzzz{{{yz{{zzzzzzzzzz{z{{{{zzzzzz{z|{{|z{{zz{zzz{z{z{{{{{{{{z{{z{zz{{{{{{{{z{zz{zzz{{{{{{}{{{zz{zz{z|{{z{{z{{{{{z{y{{{|||}{{{z{{{{|{{{{|||{{{z{{z{z|{{|{|||{{{|{{zz||{{{||{{{{zy{{|z{|{||{||{{z{{{{{|{|{||}{z{{zz{z{{{|{{|{{{}{|{{{z{|z||||{{{{|z|{z{z|{{||{{{z{{{z{{|{{|{|{{{{{zz{{|{{{|{{{{{z{zzz{{z|{{{z{yzzzzzzz{|zz{{zzzzzy{zy{z{{{{{|{zz{zz{z{z{{|||zzz{z{zzz{{|{{{||z{yyz{zyzz{zz{|{{zzz{z{{{{{{{|z{{yzzzzz{zz{zz{zz{zzyzz{zzz{zz{zzzyzzz{yzzz{zzz{{zzzzzyzz{z{z{{z{z{{zzzzzz{{zzz{{zyz{zz{zyzzzz{z{yz{yzzzz{{z|z|{{zz{zzzyz{{zz{{{z{{{{{zzzz{zy{||{{zyz{yzz{z|||z|{z{zzzzzz{{{{z|{{{{{zzzz{{{{{{{z{{{zy{zz{{{|zz{||{{z{{zzz{|z{{z{z{{{z{{z{{||||{|{z{|{{{||{|{||}}|{z{{{{z{{|{{}{}|{{{||zz{|{|{|||{z{|{z{{|{|{||{||{z{|z{z{|||{{||{{{{{{{{{||{|{{}|{{|{zz{{{|{{||{|{{{|{zz{||{|||{}z{{{{z{z{{{zz||{}{{{z{zz{z{{{|{||{{{zzzy{{{{{{z{z{zz{z{zz{{{zz{{{zyzyz{{{{z|{|{{zzzzz{{z{zz{{{{zzy{{{{{z{zz{zz{|{z{yyzzz{z{{{{{z{{zz{{z{y{{{z{{zzz{y{zyz|{z{z{zzzzzzyzyzzyz{z{z{zzzzyzxy{{{z|{{z{{yzzzzzzzz{{{{|zyzzzzzy{{zzzz|{{zzzzzyzy{zy{{{zz{zzyzzzz{{{{{|{zzzzz{{z|zzz{z{{{{yz{zz{zzzz{{{|{z|z{zyz{{{{{{z|yz{zyzzy{{{{z|{zz{{zzzz{z|{{{{{z{y{yz{zz{{{{z{{|{zz{{{z{{z{{z{{{{{{{{{|z|z{{{||{{z{zzz{{{|{{{|{{{{{zzz{y{}{|||{{|z{{{{{{{{|{|{|{z{{z|{{{{|{|||}{|{{{{z{{{}|{{{{||{|z{z{{||||{{}{||{{zz{{|{z{|{||{|{{{zz{{|{{z||||{zz{{z{{{{z{{{{|{{z{{z{z|{{{{|{zz{{{yzz{{{{{zzz{z{zyzzzzzz{|{{yzzzzzy{{zzz{z{{{zzzzzyzzzz{z{|{zzzz{zyzzz{{zz{{{zzzy{{yyzzz{{{{|zyz{zzzzzz{{z{z{zzzyzzzzz{|yz{zzzyyzxyzzyzzzzz{{yyzxyzyzzzzzz{{{zzzyyzy{{z{z{zzzzzz{yzzz{zz{z{|{zzzzzzzz{{{zzz{z{z{yz{zzy{zzz{{{zyyzzzzy{{zz{{{{{zyzzzzzz{{zz{{|z{zzyz{yz{z{|{{|z{z{zzzzzzz{{z{{z{zz{zzz{{{z{{|{zz{zzzzz{||z{{{{zzz{zzzz||{z{{|zz{zzzzz{{z{z||||{{{{{{{{{}z|z|||{{{{yz{z||{{}{|{|{{{{z{z{}|{{z|||zz{{{{{{|{z|{|{|z{{{{{{{|{{|||||z{|z{z{z|||{{|{||{{{z|z|z{{{{z{{z{z|{{{{{{{{|{|z{zz{z{z{{{{|{{{{z{z{zzz{{|{z{||zz{zzz{{{{{{{{z{z{zyzzzyy{{z{{z{zzzzzzzy{zz{z{z|z{zzzzz{zz{z{z{zzzz{zy{zz|{{{{z{{zzzyyzyz{{{zzz{zzzzzy{zz{zz{{{{{zzzzzz{z|{y{zz{{zyyz{yzzzz{z{z|zzzzzzz{z{z{{z{zzzyzzzz{{{zz{{{{zz{zy{zzz{z{{z{{zzz{zz{z|{{yz{{{{{yzzyz{z{zzzz{{zz{y{zzyz{{{{{{|{zzzzzzzz{z{{{{|{zzzzz{z{{z{z{|{zzzzzz{z{{{{z{{|zzz{z{{{z{{{||{{zzzz{{z{{{|{{{|{{{zzzz{{|{{zzz{{{{{{{z{{z{{|{}{{{{{{z{{{|{{{{{||||z{{{zz{{{z{|{||{{{{z{z{{|{{|}|{z{{z||{{|{{|||||{z|{{zz{|{|{||}|z{{zz{{|{|{{{{|{zzz{|z{{{|z{{{||{z{|zz{{{|{||{||zzzz{{{{{{{{|||z{{{zz{{{{{{{{|{{z|{{zzz|{{{|{y{yzzzzy{z{{{zzz{z{zzzyyz{z{{{{{{z{zy{zzzz{zz{|{zzzzzzzzzzzzz{z|{{zz{zz{zz{{{{{{{{{z{z{zzy{{{zz|{|zzzyzyzz{zy|z{{{zzzzzzzz{{z{{{z|zyzzz{z{{z{z{{{{{{zyyzxzz{{{{{|zzy{zyzz{zzz{{{{{zzzzzzz{z{{z{{{zzz{zzzzz{zz{{{{zzzzzzzzz{z{{{{{{zzzz{z{y{{|{{{{{zy{z{z{zz{{{z|{|z{{z{z{z{||||{{{{z{z{y{{z{{{{{|{z|z{{zzyzz{{{{|{{z{z{zz{{{{{{{{{z{{{{{z{{{|{z{{{z{{{{{{z|z||||{|{|{z|{z{{|{{{{|{{{z{{{{{{}|{{{{}{{{{{z|{z{{{{||||{{z{{{{y}|||{|||{{{{{z{|||{{||{{{{z{y{{{|{||{{||{{{{{z{|{||||{}{{{z{{z{|{{{{|}{{{z{zz{z{{{{{|{|y{{zz{zz{{{{{{z{zzyyyyzyz{zzz{z{zzzzyzzzzz{yz{{{{{yzyz{z{zz{z{{zyzzzzyzzzzz{zz{{yzzzzzzyz{{zz{z{zzzy{yyyzzzz{{{{{zzyzzzz{z|zz{{zzyzzzzzzzzzzzz{zy{zz{yyzxzzz{z{{zzzyzyzz{{{{zzzz{zzzxyzzz{{{{{{{zyyz{xzzz{z{{{z{{yzzzzzzz{z{{{z{yz{yzzyzyz{{{z{{{yzzzzz{{|{z{{|{{z{{yzzz{{{{{|{{zzz{z{y{{z{z{|{|{z{{zyzzz|{{|{z|zzzz{zzz{{{{{{|{zzz{yyz{|{|{{{z{{{z{z{z{{{{|{{||{z{{z{{z{{{||{||{{z{{zyz{{|{|{{{|zz{{zz{|||{||{|{zy{z{{{{zz|{z|{|{{|z{{z|||||{|{|{{{{y{{{||{{|{{{y{zz{z{z{{{|z|z{zzz{z{{|{{{z{||yzz{z{z{{{z||{|{{|zzz{zz{{zz{{{|y{|zz{{zzzzzz{zzzy{zzyzzzz{z{{z{z{zzzzyz{{zz{|{{zzzzzzyz|{z{z{{{zyzzyyyzyz{{{z{z{zy{{yzyz{{zz|z{zyzzz{yyz{{{{{z{}zz{zyyzz{{{z{z{zyyzz{yzzzz{z{{{yzzzzzzz{z{zz{{{zyzzzzzz{z{{z{{zzyzzzzzz{{z{z{{|yzzzzzyyzzzzz{{|{{zzz{z{y{zzz{{{zzzz{zzy{{{{{||{zzzz{z{{{{{{y{{{z{zz{zzz{|{{{{z|z{{zzzzz{{{{zz|{{z|zzy{{z{z{{{z{zzzzzz{z{{|{{{|z|zz{yzzz{{{z{|{{{zz{{{z{{{{{{}{{{zzz{{{{{|z|{{{|{z{|{z{zz{{{|{{|{{{z{{{z||{{|{||{{{z|z{{{|{|{|{||{{{z{z{z||{{{|||z{||zz{|{{||{{||{{{z{{{{|{{{{||{{{zz|z{|{||{|{|{zzz{{zz{|{{{{{{{z{{z{{z{|{{{{{|z{{z{z{z{||{{zy{z{z{zzzzz{{y{z{|{{{zz{yzzzz|z{{{{zzz{{zyzz|z|{{|zzzyz{zzz{{{zz|{{yzyzzzzz{{{{||{y{zzz{zzz{zz{{{|yzzzzzyz{z{z{z{zzzzzzzz{z{y{z{z{yz{y{{zz||{{{{{zzzzzzzyz{{{z{|{z{{{zy{zzz{{{{{|{{{yyzyzxzzzz{zzz{zzz{yz{z{z{{{{{z{{zz{zz{{{z{{|z{{zz{zzz{{{zzz{|{zz{zz{z{z|{{|||{zzzz{{z{z{z|{||{z{{{{z{{||||{{|{z{z{{{z{|z|{{|{|{z{zzz{z|{{{{{|z{{z|{zz{|{}||||z{{{{{|{{{{||||}{{{|{{zz{||{|{|||{{{z{zz||{|{|||{{{z{{{z{{{{|||{}{{{{|{{z}{{}{|{{z{zz{{{|{{{|{|{{zzzz{{{|{{z{|{|{zzz{zyz{{{|{||}{{{z{yzz{{{z{}{||{{{y{z{z{|{|{{|{z{zzz{{zz{{|{{|{{zzzzzzz||{z{{{zzzyzzzy{z{z{{|{{yzy{z{z{{z{zz{{{z{zzzzz{z{{z{|{zz{yzy{z{zz{{z{z{zzzzzzyz{{zz{{z{y{{yzz{zz{zzyzzzxzyyzzzzzzzz{z{zz{zzyzy{zzyz{zzzyzzzzyzz{z{z{|{zzzyyzyzyyzz{{|{z{yzzyzyz{zzz{{zz{{zzzzzz{zz{|{{zyzy{zzz{{{{z{{z{zzzzzzzzz{zz{z|{{{z{yzz{{{{{{{{{z{{zzz{{{{z{z|{zz{{zyz{zz{{z}{{zzzzz{{y{|{{{{{|{zzzzz{{z{{zz{|{{{zzz{{{{{{|{{{{z{|{{z|z||z{{|||{y{zz|zz{{{||{{|{zz|{y{z{{{|{|||{z{|{z{z{|{{{{{|{{{z{z{{{{|{|||}{z|{{z{{{|{{||{|{{{{{{z{z{{|{{||{{{z{|{{{|{{|{{{{{zz{y{{{{z{{{|{{zzzz{z{{{{z{|{{{zzzzzzz{{|z{z|{{z{yyzzzzzz{z{z{zzyzyyy{z{{{z{{{zzy{zyzz{z{z{z{{zzyzyyzz{zz|{zz{zzyyyzzz{z{zz{z{z{{zzzzz{{{zz{zz{zz{zzy{{z|z{{{{zzzzzzyzz{zzzz{zz{zyzyyz{z{zz{zzzzz{yzzzzzz{z{{{{y{zyyyz{{zzy|zy{{zy{zzy{{{{z{{zy{zyzzzz|{zz{{|{zzzzz{yy{z{zzz{{zyzz{yzzz{z{{z{|{zzzzzzzz{|zz|z{z{{{zzzyz{z{{z{{z{{{{xzy{z{|{{{z{{{z{y{zz{{|{{||{zz{zzz{|{{{|{{|z{|{{{{z|{{{{{||z{zzz{{{||{|{{|||{{{{zz{{{|{{||||{zz{{{{|||{{|||{{{{y{{{|{||||{{|{{{{{{{{|{{{|{||{{zzzz{{||{||{|{z{zz{{|{{{{||||{{{{z{{z{z{|{{{|z{{yzz{{z|{{{|||{{zz{z{z{||{{z{{{zzzzzyz{{{|{{{zyz{z|yzzy{z|{{{z{zzzzy{z{zzz{z{{z{zzz{zzz{{{{{{{zy{yzyzyz{z|z{{{{{zzzzyzzz{z{{zzzzzyyz{zzz{z{|z{zz{y{zyz{z{z{{{zyy{zzzz{zzyz{{{zyzyyyyyy{{{z{z{{zzzzzzyzz{{z{{z{zyzzz{zzzzz{{{zzzzyyzyzzzz{{{{{{{zzyzy{zy{zz{|z{{zz{zzzz{zzzz{|{{yzz{zz{{{{{{{{z{{yzzyz{zz{{|z|{zzzzzz{y{z{{{{{|zzzz{zzyz{{zzzz{{{{{{yz{{{{{z||z{zz{zzzz{|{{z}{{{z{y{zz{{{|||||{z{zzzzz{|{{{|{|{|{zz{z{y{{|{{{|||zz{{zzzz|||{}}{{yzzz|||{{{{{||||{{{zzz{z{{|{{{|{z{{{z{{|{||{{|{{zzzz{{{|{{{}{{}{{{{|{z{z{|{|{{{{{|{z{{{{{|{{}|{z{{{zzzzy|{{{{{{{z{zzzzz|{{{z{{|z{zzzzzzz{{z{z{{{zzzyxzzz{{zz{{{zzzzz{{z{yz{{{|z{y{{zzzzzz{{zz|{zzz{yyzz|{z{zzz{{yyy{yzyz{{|yzzzzzzyyyzyyz{{|zz{zyzzz{zz|zzz|z{{zz{zyzzyz{{z{{{zzzzzyyzzz{{{{{{zzyzzyzzzz{{{{{{{zzzyyyyyzzzyz|{{{{zzzy{zzzzzz{{zzyzzzzyzzz{{{z|{z{{{zzz{{z{{z{{{zzzzzzzzzzz|{{{{{zzzzzzz{{|{{{{{{z{{zy{z{{{{|z{z{z|yz{zz|z{{|{|{z{z{{zzz{{{z{|{|zzz{zzz{{{{z{{{|z{{{zz{{z|z{{|||{{z{zzzz|{{{||||{zzz{{|{{||{|{|{{{{{{{{{{{{{{|||{|{z{{z|{{||{|||{{{zzz{{|||{{||{|zz{{|z{{{{z|{||zz{z{{{{{{{{{z{{zzz{{zzzz{{z|{|{|{{{{{z{z{{|{{{{z{zz{z{{{{{{{{{{zzy{zz{zzzz{zy{{{{zzzyzz{{{z{{z{zzyz{zzyzzzz{z{{{{yy{zzzz{{zzzzzzzzzzz{yzy{{zzz{zzzzzzzzyz|yz{{{{zzyzz{zzzzzzz|{zyzxyyzz|zz{z{{{zzyzzzzz{y{zz{zzzzzzzzzzz{{{{{{{yzzzzzzy{zy|zz{{yzyz{yzyzz{zz{z{{{zzzy{{zzzz{z{zzzzzz{zz{{z{z||z{{zzzyzyz{{z{z{{zyzzzyz{z{z{|{z{z{{zzzzzz{{{{|{{{yzzzz{z{{{{{{{|zzzzzz{y|{||zy|{{zzzzyz{{{|{|z|{{zzz|z{yz{|{{{{{zz{z{z{{y|{{{|{||{zz|z{zz{{{{{{{{z{z{z|z{{|{{{{|{z{{{|{z{{||{}|{{{z||{{z{|{{{{|{{zz{{z{{{zz{z{{||z{{{{{{{|{|{|||{{z{zzzz{{{|{z||{z{z{z{z{z||{|||{zzzzzz{{{{{{z{{{{yzzy{{z{{{{{y{zyzzzzzz{{{zz{{|zyzzz{z{{|zz{{{{{zzz{yzz|{{zzy{{zzzzyzzz{{{z{z{|zzzzyzzy{{z{{z|{zzzzzzzyz{{{{{z{{yzzyzzyz{zy{zzzzzz{yzyy{{z{zzz{zzzzzzzz{{{{zz|zyyzyyzzzz{{|zz{{zz{zyzyyzz{z{z|{{{zyzyzzz{{zz{{{zzz{zz{{z{{{{{z{zyzzzzzzz{{{{z{{yy{zzz{zz{|{{{|{z{zyzzzz{{|{{{z|{{z{zzzz{{|{||{{z{zz{zzz{{{{{z{{{y{{z{z{{||{z{z{z{zzz{zz{|{{|{|{|{z{{z{{{{{||{{|z{z{{z{z{{{{||||zz{z{z{{{||{z|{{{{{{z{zz{|||{{||z{z{{{{zz{||{{||{{z{{z{|{||{|||{|z{zz{z{|{{||{|{{z{z{{{{{{{||||{{z{{{|{{{{z{{{||zz{z{z{{z{{{{{{{z{{z{{{zz{z|{{||{{{{zz{{|{{{{{|zz{zzzyyyz{zzzz{z{zzyzyzyz{{z|{{{{zzzzzzyz{{zz{z{{y{{zyzzz|{{z{{{zyzzyyzz{{{|z{z{zzyzzzz{z{zzz{{z{y{zzyzzz{{{{zzzzz{zyzzzzzzz{zzzzyzzyz{zzz{{zz{{{zzzzyyy{{{y{z|zzzz{zzzxz{zzzz{zzzzyzyzyzz{zz{{{zzyz{z{zz{{zzz{{yyzzzz|z{zzz{{{{zzz{zz{zzz{zz{{{zz{yzz{zzzzz{||zzzzzzzz{{z{z{|{|{zz{{zzz{||{|{y{{z{{{{y{z{{z{{z{zz{z{{z{{{{{z{zzzzz{z{{z|{{||||{z{z{{z{{{{|z{{{{{z{{z{{z||{{{{}{|{zzzz{z|{||{{{|z{{{z{{yz|{z{|{z|{z{{{{{z|z|{||{{|z{z{{zz}{{{||{{z{{{zz{{||{|{|}zz{{|{z{{|{z{||{{z{{zzzz{z{{{|||{{zzzz{{z|{{{{{{z{zyyzzzz{{{{z{zzzyyyzzzz{{zzz{|zzyz{yyzzyyz{{z{zzzyzzzyzzyzz{{zzyzyzzzzzz{{zz{{zyzz{zzyyzzzz{{zzzzyzyyy{z{yz{|zzzzzzyyzz{{zz|zzzzzzyyzyzzzzz{z|xyyyzyyzz{zzzz{zzzzzyzyyzy{zzz{zzz{yz{zz{zz{z{z{zyzyyyzzyzz{{{zz{zyyzzyyyzzzz{{{z{yyyzyyz{{{zy|zz{zzzzzyz{{z{{{{zzzzzyzzz{z{{z{{zzzyzyz{z{zz{|z{zz{yz{zyz{z{{{{{zz{z{zz{{{z{z{{z{{zz{y{{{{{{{||zz{zzz{{z{{{{{|z{zz{y{zz{{{z{{zz|{z{{y{zz{{{|{z{{{zzz{{zz{||{{|{|zz{{{z{{|{{{|{|z{z{z{{z{{{y{||{||z{{{{{z|{z{{{|{{y{z{zz{{{{{|{{{{zzz{z{{|z{{{{|{{z{y{zzz{|{|zz{{{{z{zz{{{{{{zz{{{zzyzzzzz{|zzzzzz{zz{z{z{{z{{{z{z{yzzzzyz{{|{{{z{zzyzzzz{zz{{||{zzzzyxzz{{z|{z{|{{zyzzzy{{zzy{{{{z{yzzzzzy{{z{zzz{zyzyzz{{{zzy|z{zzzzzxzzzz{zzz{yzyyyzzzzzzyzyzz{{zyzzzzzz{z{z{{zzzzy{zy{{y{{{{|zzzzzzzzzz{{{{z{zzzz{zz{y{{{z{{{zzzyzzzzz{zz{z{{{zzzzzzzz{{zzz{{{{zyzzz{{{{{zz{{{{{yy{zzz{{{z{{z{{|z{z{zz{zzz|{zzz|{zyzz{{{zz{{zz{{{{yz{{{{zz|{{z{{{|z{{z|||{|{{{z{z{z{z{{|z{{||{z{{{zzzz|{{z{|{|z{{{zz{{||||{{|{{{{{{{{{{{{|||{|{{{{z{z{|{{{||||zz{zz{{{{{|{{}{{zzzzz{{{|{||{{||{{{|{{{{||||{|{|{{{{z{z{{{|{{{{|{{{zzzz{|||z|{z{zzzzzz{{z{z{|z{yy{z{zzz{{{|z{z{zzz{z{{{{{|z{z{}{{zyz{zzzz{z{{{{z|{zzzzzz{{{{z|{{{zz{zzzzz{{zz{{zzzzzz{y{{{{{{{z{{{y{yz{|{{{{{z{zzzzy{zyzz{z{{{zzzzzzzzz{z{z{{|zzy{zyzy{{{}{|z{zzz{zyzz{z{{{{{{{{z{y{zzz{{{z|z{z{{zyzy{{yz{zz|z{zz{z{{{y{{{|{{{{{{zzz{z{{{zz{{{|{z{{{zzz{{|{{|{|{z{{z{{z{||{{z|{{{{z{y{yz{{z||{{{{{{{zz{{z|{|{{{{{zzz{yz{|z{z|{{{z{z{z{{z{|}||{{{{zz{zz{{||{{{||{{{z{{{|||}{|{{{|{z{{z{{{{}|{||{z{{zz{{{{{||{||{{{|{{{|{{||{{|}{{{z|z{z{{|}}{|{{{{z{{{z{{||}|}|||z{z||z{|{{{{|{|z{zz{{{zz||{{|{||z{{{z{z|||{{{{zzz{{{z{z{{{{{z{{zzzyzzzy|{z{{{{{zz{{{yzz|{{z|{z{{zzzzzz{zzzz|{z{{zzzzzy{|z{{{{{{{{zyyzzz{{zzz{z{zzzzzy{yzy{zzz{z{z{{{y|zzz{zzzzzzyyz{zzz{z{zz{{{zzz{{zzzz{{zz{{{{z{{zyyz{{zz{{|{z{{zz{{zzzz{{zz{z{zzzzz{z{zzz{{zzzyzz{zzz{{{z{{{{{zxz{{{z|{{|{{|{y{zzz{y{|{{{z|{zz{zyz{{{z|{||z{y{zyy{{zz{{{{zz{{z{zzzz{z|{z|{{|z{{yz{zz{{}z{{{z{{z{zzz{{{{{{||{{{zyzzyz{{||||||zz{z|z{{{{{|||{|{{{z{z{z{{{{|}||{z{{{{{z||{{{|{|z{{zz{{{||{{{{}{|{z{{{zz{|||{}|||{{{{|{{{{{|{|{{{{{||{{z{|||{{||{{{{z{{{{{{|||{|{{zzz{{{{zz|{||{{{{zz{{zz|{|{{{z|zzz{z{z{{{{|z||zyyzzyzyx{{zz{zzzyyyzyzy{zyz{{|{zzyyyzzzy{zzzz{zzyzyzyz{zzz{zz|{{yyyy{yy{z{zz{z{zyyzyzyzy{{zzy{z{zzyyy{zzz{yzy{{yzyzyyzyzzyzyz{zzyyzzyxyy{{{yzzzzyzyyzxyy{z{{z{z{{zzzzzyzzzzzz{zyzyzzyzxyz{{yz{zz{zyzzyyzzzzz{z{zzzyzy{yzz{yz{{{{zy{zyzzzzzy{z{{yzzzyyzzz{z{{z{{z{zy{zyyz{zz{{{{{zzz{zzzz{zz{z{{z{zz{zzy{z{zzz{zzz{zzyzzzz{zz{z{zz{zzz{y{{z{{z{{z|{zz{|{{{{z{{|{zz{|zzzz{{|{zz{{zzzzzz{z{{{||{{{{{y{z{{{{{{{{{{{zz{z{{{{z|||{z||zz{{zz{{z{{|z||{zy{zzzz{{{{{{{||z{z{{zz{z{{{|{{{z{zz{zzzz{{{{z{{{{zz{zzz{{{|{{{{{{z{{zzz{z{{{zzzz{yzyzyzz{zzzz{{zzzzyzyzzz{{{{{zzzzyzzzzzzzz{zz{zzzzyyxzxz{zzz{z{yzzxzyy{zzzzz{zz{yzzyzyzzz{zzzzzzyzzzzzzz{zz{zzzzzyzyyzyzzzzzzz{zyzzyzzzzz{z|{zzzxyzzz{zz{{zy{{z{{zzzzyz{{zz{{z{zzzyyzzyzyyzzz{{yzz{zyyzz{zz{|{zyz{zzzzzzzzz{zz{yzyyyzzz{zz{{z{zy{zyz{zzzz{{zz{zyzzzyzzz|{{z{z{zyy{{zz{{{{{z{{{z{zz{z{z{{{{z{{{zzzzzyy{{{zzz|z{zzzzzz{z{z{{{{{{{{{z{zz{{{|{{{||{zz{{zzz{|{z{{{z{{{zz{{{{|{{{|{{zzzzzyz|{z{{|{{|{{zzz{{{{{|{|{{{||y{{zzz{|{{||{z{{zz{z{z{{zz||{{{zzzzzz{{z{{{{||zzzzz{{z{|z{z||{{{z{z{zz{{|{{{{z{zzyzz{y{{{z{{zzzzyzyyzzy{{{zzzzzzyy{yyy{yz{z{{zzzzy{zzz{zzzz{{{{zyzyyzyzz{{zz{zyzyyyyzy{zz{z{z{yyzzzz{yyzzzy|{zyzzyyyyy{z{zyzz{yzzyyzzy|zz{{{z{yzyyzzyyzz{zy{zyzyyyyyyzzzzzzzz{zz{yyyzzzz{{{{zzzzzzzzzyzz{zy{{z{yzyzzzzzz{zy{zzzzzyyzzzzzz{{{z{yzzzzyz{z{z{zz{{z{yzzxzzzzz{{{|{z{yzzzzzz|z{zz{{zyzyzy{zz{{{{{z{zzzy{z{zz{{{{{|{zzyzzyz{{{{zz{{{zzzzzzzz|{{{{{{{{zzzyz{z{{{{{{|{{zzz{{zzz{{{{z{{{{z{yz{z{|{{{|}|{z{{{{z{|{{z|{{{|{z{{|zzz||{{|{{zz{{z{{{{{{{z||z{zzy{zz{{|z{|{||{zz{{zzz{{{|{z{|z{zy{z{z{{z{{{|zzzzzzzzzz{{|{z{|zzzzzz{zz{{zzzzzzyzzyzzyzz{z{zz{zzyy{zzyzzz{{{z{zzzyzz{yzzz|zz{{z{zzyyzyzzz{zz{z{yyzyy{zzzzzz{yz{z{yyzzyzzzzz{zzzy{zyzxz{zzzz{{zz{zyzzzyyzzzz{z{yyyyyxyyyz{{zz{zzyzyyyyzzzzz{zzzz{zyyzz{{zzzzzzzzyyzzyyyyzzyz{zzzzzzzyz{z{z{z{{{zzzyzzzzyzzzz{{{{zzzzzzyzzz{zzz{xzzz{yzzzyz{z{{{z{{zyyyzzzz{zz||z{zyzyzzz{{{{z|zzzzzzzyz{{{zzz{{zzzzzzzz{zzz{{z{|zz{{y{zz{{{{{|{z{zzz{{{z{z|{{{{{zzz{zz{{|||z{{{{{z{zzzz{}zz{{|{zzzz{{{{{{{|{|{{{zz{zzzzz{z{{|{{{zz{zz{zz{{{{{{z{{{z{{yy{z{{z{||{{z{{{zz{|{|||{{{zz{zzzz{{{{{{{{{zzzyzzz{{z|{{|{zzzzzzzz{{{z{z{zzyzyzz{yzzzz{zz{zz{yyzyzzzzzz{{|zzzyyyzz{y{zzz{zzyzzzzzz{{{zz{|{z{zzzyyyzz{|z{{{yzzzyzzzy{zz{{{{zyyzzyzyzyzzzzzzzzzyyzyz{zzzzzz{yzyzzzzyzz{{|y{zzxzzyzyzzzz{z{{zzyzzyzyxzzzzzz|zzzzzy{zzy{zzz{zzyzzyz{zzz{z{z{z{z{zzzzzz{z{zz{zzzyzy{zzz{{{{z{z{zz{zyz{{z{z{{{{{zzzzzzzzz{zz{{{{{z{z{zzzz|{|{{z{{zzzzyzzz{{|zz{{{yzz{zzyz{{{y{z|{zzzzz{{z{{{{||{{{{{{zzz{{{|{||{|z{{zzzy{{{z|{|{{zz{z{z{{|{{{{|{|y{{zzz{{{|{{|{{{zz{{{z{{|z{{{|{{z{{zzz{{{{|{{{{{z{z{{z{{z{{|{|{{{{{{{{z|{z{{||{zz{z{{z{z{|||z|z{zyzzzz{zz{{z{||{yzzzyzz{z{{{zzz{y{zzz{y{zzyzz{zzyyzyyzyzzzz{zz|zzzyzzyzzzzzz{zz{yyyzzyyz{z{yz{zzzyyyyyyyzz{z{z{zzzzzzyzyzzzz{{{yyyyzyyxzzzyzzzy{zzyyyzzyyyzyzz{zyyxyyzyy{zy{zzzzyyyyyzzzyzzyzzzyyzyyyyzzz{zz{zzzyyzzxyxyzzzzz{yz{yyyyyyzzzyzz{zzyzzyzzyzz{zzz{{zyzzzz{yyyz{zz{zzzzzzzzz{{zzz{{zzzyyzzzyzz{z{z{{z{{yyyzyzzz{{{zzzzzzzzyyz{zy{{{zzyzzzzzy{z{zzz{zz{zyz{zy{{{|{{|{yzzzzzzy{{|{z{{|zyzzzzzz{z{|{{|{{zzzzzzz{|{||||{{z{zzz{{{{{|||z|{z{{z{{z{||{z|{{{zy{zz{{zzzz{{{{{zzyzzzz{{{{z{{{zz{z{{zz|{zz|{{{zyzzyzzzz{{{{{|{zzz{z{zzz{{zzzzz{yzzzzzzzzz{z{z{zzzzzz{yz{zzzzz{zzyyzyyy{zzzzz{{yy{yzzyz{z{zzz{{yyzyyyyzzyzzzz{zzz{yyyyy{zzzz{z{zyzyzzyz{zzzzy{yzyyyzyyyzz{zy{zzzyzyyyzzzzz{yz{zxzyyxzzyzzzzyyzzzzzzyzzzyzzzz{z{yyzzzyz{yzzzz{zz{yzzyyyxzzzyyzz{zzyzyzyy{yz{z{zzzzzyyzzy{y{{z{z{{{zzzyzy{z{{zz{{zyzzyyyzz{zz{z{{zzz{zyzz{{|{z{{zzz{zzzyzz{z||z{zzzyyzy{zz{zzzz{{zzzzyzzzz{zz{{{zzzzzz{zzz|{|{{{zzz{z{z{{{{{{{z{{zzzzzzzz{|zz{{{{z{zz{z{z{{{{{{{{{z{{zzzz{|z{{|{{{zz{{{zz{||{z|{{{z{z{z{{{{|{z||{zzzzzyz{{{z{{{z{|zz{{zyy{|{{{{{{zzzzzzzzzz{|{{{{zzzzzyyy{{z|{y{zy{{yzzzzzyzy{{{zzzzzzyzz{zzzz{z{zy{zzyyyz{{{{{{{{yzyyzzz{zzz|{{{yzzyyyzzzzyzzz{zyyyyyyyyy{zzzzz{zzyzzyzyzz{zz{{{zzzyyzyyzzz{z{zzzzyyzzyy{zzzzzz{zzyyyzzzyzzz{z{zyzzzyzy{zzzz{{{zyz{yyzzyz{zz{{{{zzzzzyzyz{z{yzz{yz{yzzyyzzzzz{z{zyyzzzzzyz{{{{{{yz{yzzzzzz{zzz{{zzz{zzzz{z{{{z{{zzzyyzzz{zz{{z{{{y{{zz{zz{{zz|{yz{{zzzz{|{|{{z|{{zzzzz{z{{{z{{{z{{{zz{zz{{{{|{|zz{{z{{{{{{z{{{{|{{z{zzzz{z{{{{|{{z{zzz{z|{z{z|||{{{z{{{{{{|{{{{|{zzz{|z{{|{|{|{{{{{{z{|{{|{|{{{{zzzz{z{z{|{z|{{{zzzz{zz|{{{{{{{{{y{zz{yzz{{z{{{z{zyz{z{z{|{{z{{{zzzzzyzzz{{z{|yzz{zyzzzzy{{zzz{|xzyzzzz{zz{{z{|{{zzzzzzy{zyz{z|{{yzyyyzzz{y{zz{{z{zxy{zxzzzy{{{{zzzzzzyzy{zzzy{{zzzyzzzy{z{{{z{zzyzyzzyy{zzz{zz{zzzyzzzzzzyyzzzzzzzzz{zzz{zz{{z{zzyyyzzz{zy{zzz{zzyz{zyzyzzzzzz|zz{yzyzyz{{{z{|{zzzzyzyz{{{z{z{|{zz{zzyz{{z{{|{{zyzyzzzzzz{{z{{}zzzzzzzyzz{zy{{{{zzzzy{zz{z{z{{{zzzzz{zzz||z{{{{zyzz{zz{{{{zz{{{{zz{{zz{z{|{{{|{y{zz|{z{{{{{{{{{zzz{{zzy|||{|{|{{zzy{{zz{|{|{{{{{z{{{{z{{{{{|{|{{{{{z{z|{|{|{{|{{{{{zzz{|zz{{{{{{zz{{{zz{{zz|{{{{{yz{{zz{z{{|{{{z{zzzz{z{|{{{{|}|{{zyz{z{{{zzzz|zz{zyzzzz{z{z{{zzzzyyyyzyz{{z{|zzyz{zyzy{{z{z{zz{yzzzzzzzzzy{{{{zy{zyyz{zz{z{z|zz{yyyxzxzyz{zzz|yzzyz{yzy{zyz{{z{yzzzy{xz{{{zzzzyy{zyzzy{zzz{{zzzzzzzyzyz{zzzz{{zy{yzzyy{zzzz{z{zzyyyzzzz{y{zzz{zzyzzz{zzzzz{zz{{yzyzyyyz|yz{{|{z{zzzzz{zz{{{{||zzzzzyzzzzzzz{{zzy{{{zyzz{{zz{{{yyzzyzzz{{{z{{|{zzz{{yzz{z|{{{{{{z{{zyzz|{{{z{|{{{z{zyzz{z{{{z{{zzz{{z{zzz{|||{{{|zzzz|zz{{{{{|{z{{z{|zz||{{{z{{|zzzzzzz{||||||{{z{{{{{{{|{{{|{||{zzz{{{z{{{{|||{{{{zz{{{||||{{{{zz{{z{{{{z|{{|}|z{z|{z{z{{{{|{{z{z{{z{|{|{|{|{||{zzzz{z{{z|{{|{zzzzzzzz{{}z{zz{{zzzyzyy{{{zzzz{zzzyyyyyzz{{zz{{yzzzzzyyzzyy{{{{{{zzzyy{zz|zzzz{{zzzzzyz{{zz{zz{{yzzyz{yzzzzy|zz{yzzzzzyyzy{zzzyzyzzzyyzzzzz{zzzyzyzzyyyzzzz{{{{{zyz{zxz{z{zzzzzz{zzyzyyz{zz{z{{zzzzyyyyzzz{z|{{zzzzzyzzzz{{{|{{{zzz{zzz{zzz{z{{zzzzzyyy{zzzzzz{{zzyzzzzz{{{z{{{zy{z{zz{zzz{{{}|{yzz{zzzzzz{{{{z{zz{{zy{{{{z{{|{z{zzyzzz{{{{z{{{{z|z{zz{zz{zz|{{z{{y{zzz{zz|{{||zz{zyzz{z{{{z{{{{zz{{z{z{|{{{||{{z{zz{{{z{{{{|{||z{{{z{y{|z|||{{{y{{{yz{{{{{|{|{{zzz{zzz{z{|{{}||{z{{yz{zz{{{{{|z{zzzzzzzz|{{{||{zzzz{y{{{z{z{{{z{{yzyz{zz{z{{{zzzyzyyzzz{zzzzz{zzyzyzyx{{z{zz{{zyzzyzzy{yzz|{zzzxzzzyyzyz{{zzz{zzzzxyzzzz{zzyz{{zzyyzyzz{y{z{zzyzyyzzzyz{zyzzzyzzyyyzzzzz{{zz{{{zzyyyzzzzzz{zz{zyyzzyyyyzzz{zz{yy{zzzyyzzzz{{{{zzzyzzyy{zzzzz{z{zyzyyzzz{{z|{{{yzz{y{zyzz{{{z{|zzyx{y{y{{zz{{zzzzzzzzzz{zzz{z{yyyzzzzz{{z{z{zz{zzz{yyz{zzz{{|zzzzzyyzzzzz{{zz{{{z{{zzy{{{{{zz{|{z{z{{zz{{z|{||{{zzzz{{z{{{{z{{{{z{zzzy{z{{{{{|{{z{{{z{z{{{z{z{|z{{zy{{{{{{||||{{z{z{yzz{|z|{{{{{{{{{zz}{z{{{|{|{zzzyz{{{z{{|||{|{zzz{z{{{{||}{|{{zzzzzy{{z{{{||{{zz{{zz|{|{{zz{z{zz{zyzzz{z{zz{yyyxzzyzz{z{{{|zzzzyyyyzyzyzz{{zzzyyyyyxzzzyzz{{yyzyz{zyzzzzzzz{zyyyyzyyzz{{y{y{yzzyzzyyzzzyzzz{zzyyyxzyzz{zy{zyzyzyyzzyzyzzzz|{yzyzyyzzy{zzyz{zzyzzxyyzzzzz{z{zzxzyyzzzyyy{y{zzzzzzyyzzzzzzzzzzz{zzyyyyyzyzyzz{{yyyzzyyzzzzz{z{{zzzyzyz{{{zzz{{yzyzyyyzz{yzz{zzzyzyzzyyzy{z{z{{yzzzzzzzy{zzzzzzzzzyzzzzzz{{z{{zzzzyzzy{z{{z{z{y{zzz{zzzzzz|{z{{yz{zzz{zz{z{{{||zyz{z{zz{{|z|{|{{zzz{z{{{{|{{||zz{|zz{zzz{{{{|{{{zzzz{zz{{|{{{z{{z{z{zz{{{{{{{{{zy{{zzz{{z{{z|{|{{z{{{z{{{{{{z{{zz{zzzzzz{{{z{|{zzzzzyzzz{{{zz{{zyyzzyzyzz{z{{zzzzzzyyyxyzz{zz{zyzzzyyzz{zzz{{{{{zyy{yyyzzzz|z{z{zzyyyzzzz{zzzz{y{zyzzyyzzzzyzy{zyzyz{zzzz{z{zzzzyyyyyyy{z{yzz{zzzzyzyzyzzyz{zz{yzyzyyyyzzzzz{zzzyzzzyyyy{|zz{zzyyyyyyyzzzzz{z{{{zyzzzzyy{zzyy{{yzzyxyyyy{zzy{zzy{yzyyyzzzz{zz{zzzzz{yyz{{zzzz{{{zzzyzzz{{{{{{{{yy{yzy{zy{zy{{{{zzzzyyzzzzz{{|{z{zzyz{zyzzz{{{|zzzzz{zz{{{{zz{{{{yzzz{{zz|z{zz|zz{zzzzzz{{{{zz{{{{z{yz{{zz{zz|{z{yz{z{zzz}{{{z{{z{{zzzzz{{{{|||{z{{yz{{zz|{{{|{{{zz{zz{{z{z{{|{{{{zzzzzz{|z{{{{z{z{{{zz{{zz{{{{{{zzzzzzzzzz{z{{|z{{{zz{{{{{zz{{{zzzzzzzzz{y{zzyzyzyzxyyxy{{zz{z{{zzyzyxyzzzzz{z{zzyxxyzzyzzz{{zzy|zyzyxzzyzzzz{zzzyxzzyxz{zyy{{{yyzyyyzyz{{zz{zyzzyyzzyyzyy{zzzzzzyxzyxzyyyzyzyzyx{yyzzzyzzzyz{zzzzyzxyyz{z{{{zzzz{zyzyxyzzyzz{yzyzyzyxzy{zz{z{y{zzzzzyyzzzzz{zzzz{zzzzyzzz{z{{{yzzyyyyyyzzzz{z{zy{{zy{yzzzz{{{{zzzzzzzyy{{{z{{zzzzyyzyz{{zz{|{zzzzzzzyzzzz{zz{zzzzzzzzyz|{zz{{{zzz{z{yzz{{{{z{{yz{z{yzz|{{|{z|{zzzzzzyzz{{z{{|zzzzzzzzz{{z{{{{{zzzy{z{{{{z{{{{{z{z{z{zzz|{z{{{{{{z{yzz{{{{||zz{{z{y{{zz{{{{{||}{zzzzzz{{{{{{{z|z{|z{yzz{|{{{z|zzzz{{zyz{{z{z{|{zzzz{yzyzz{{{{{zzzzzzyyyy{zz|z{{zzzzyzzzzzzzzzz{zzxyyyyyyzz{{zzyzyyyzzz{zz{zyzz{zyyyyyyy|zzzyz{zyyyzyzzyzzzzzzzz{zyzyzxxzz{yzz|zyzyyyyyzzyzyy{zyyyzyyzyyy{zyyzzyzyyyzzzyyyzy{x{zzyzzzyzyz|{zzzzyzzyzzzyyzzyzz{{zzzzxzyzyz{yzz{z{yyzyzyzyzyzzyzzzzzyyzyyzy{z{z{{|yyyzzyyyzyyz{zz{yzy{yzzyy{zzz{{yzz{zzzzzz|{z{{{{{zzyz{yz|{{zzz{zzyzzyzzz{{zzz{z|{zzyzzzz{{|{zz{|{yzy{yzz{{{{{{||{zz{zyyz{{{{{z{z{yzz{zyzz{{{{z{{zzzzyz{{{{z{z||{{zzzy{zz{||{{|{{zyz{zzyx{|zzz{|z{yzzz{z{{{z{{{{{z{{{z{{z{|z{{{{{{zzzzzzzz{z{{z{zzzzzzz{zz{{zz{{{zz{yzz{yz{{zzyzzzyzyyzyxy{zzzz{zyzzyyxzyyzzy{zzzzzzyyyyy{yzzzzz{zyyzyyxzzzz{xzz{yyzzyzyyz{{zy{zzyyyzzyyyy{y{yzzzzyzxxxyyzzzyzz{yyyyxyyzyyzxzzzz{xyyyyyzzzzzyzzzzzyyzyxyzyzzy{z{zzyzyzyzyy{yzzzzzzyyyyyyxzzzzzzz{yyyyyzyyy{yzzzy{{yy{zzyz{yzzzyzzzzyyzyyyy{zzzzz{zz{yzyyy{z{{zzzzzy{yyzzxzz{y{{{yyzzzzzyzyz{zz|{zzzzyzzyy{zz{zz|{zyyyzzzz{{z{z{{{zzzzzzzzz{z{{|{{{zzzyzzz{zz{y{||zyzzzzzz{{{z{{{{{yzz{zyz{|{zz{{{z{zz{z{zz|{{z{z{|zz{zzz{{z{{z{z|{z{z{z{z{|zz{{{{{z{z{zzzz{z{zz{z{zzzzzz{{zz|{{z{yzzzz{zyz{{{zz{z{zzz{zzzzzz{z{zzzzzzyzy{{z{zz{y{zyyyyzzyyzzz{yzzzzzyyzzzz{zzzzzz{yzxyyzy{zzzz{{{zzzyyyzzzz{{yzz{{zzyyxyxyzzzyzyzzzzyyyyyzz{yzz{yzzzzzyzzzzzzy{zy{yyxzyzzyyyyz{zzyzzzzxzx{zzzyzzz{yyyyzxyzyzzz{z{zyzzxzyzzzyy{y{{zyzxzzzyxzzyzzz{zzyzxyzyz{zzzz{|zyzyyzyzzzzz{{{{zzzy{yzyzzzz{zz{zzzyzzz{{{zz{zz{zyzz{zzz{zz{{{{{zzzz{yzz{{{zz{{zzyzyzyzyzzz{{{{{zy{yz{zz{z{zzz{zzzzzzzzzzz{{{{{{yyz{{{{z|z{zzz|{zzzz{zyy{|||{|z{{zzzz{zy{|z{{{||{zzzy{zz{{z{{{{{{z{{yzzz{{{{{{|{{z{{zzzz{z||{z{zz{zy{zz{z{zz|{z{{|y{z|z{z{zz{{{z{zzzzz{zz{{{{|{z{zzzzzzy{z{{z{zyzzyyz{zzzzzzy{{yyzzzyzzyzzzzz{|{{zzyz{zzz{z{{zzzzzzyzzzzzzzzzz{{zyyyzyyyz{{zzyzzzzyzzyzyyyyzzzz{yyyyzzyyzz{zz{zzz{zyzzzyzz{{y{{{zyzyzyzzyzzzzz{{yzzzyyyyz{zzyzzzzyyzyzzzxzzzz{|{zz{zxzzzz{zzz{{{zzzzyzzzz{zyz{z{y{xzzzzy{{zzz{zz{zzzz{yy{zz{zz{{zzyxzyzzzzzzz{{{yzzyyyz{zzzz{z{{zyyyzzzzzzz{|z{{yzyzzzzzzz{z{{|z|zzyzy{yz{{zy{z{yzzzzzzz{{{zz|{{z{zzzyzy{|{{{|{{{z{zz{{{{z{{{{{{zz{zz{zy{{||{|{|zyzzzyzy{|{{|{{{z{zzzz{{{z|{{{|{|zz{z|{|{|z{{|{|{{|zy{zz{{{|{{|{{z|z{z{z|{z||z|||zz{{yzz{z{{{{z{zzzzzzzzz{{|z{|{{{zzzzzyz{{{|{{z{zzyzzyzzz{z{zz{zzyyyzyyzz{zz{{{zzzzzzyzz{{zz{{{zzzyzzzyzzzzzzz{zzyyzzyyz{{{{z{{zzyyyyzyz{z{yz{|yzzxzyzzzzzyz|zz{yzzyzyy{z{yz{zyzyyyyz{yzzzz{zzzzyzyyyzzzyzzzyyzyzyzyyyzzz{zzzzz{z{yxyyyz{z{z{zzyzzxyzzxz{zyzz{zzzzyyzyzyyz{y{{{zy{y{zzyzzz{{z{{zz{zzzzzzz{zz{|{zy{zzyzyzzz{{{{{yyzyyzzzy{z{z{{{yzzyzzzz{zzz{{zzzz{yzzzzz{{{{zzzzzzzzzzz{{|z{{zz{zzz{{yz{{{{|zz{{z{zzzzz|{zzz{||{zzzzzz{{z|{z|{{{zzz{zz{{|{{z{{{{zz{zz{zz{zz{|z{{zzzz{{z{{|{|z{{{z{z{{z{z{{{||{{|zyzzzzzz{{{|{|{|zz{{z{z{{z|{{{{zzyyzyzzz{{{{|{{{zzz{|zz{{{{z{{{zzzzzxyz{z{zzzzyyyyyzyzzyzzzzzzzyyyyyyyzz{zzzz{zzzzyyyzyyy{y{{{zzyyyzzyy{{{{z{z{zyzyzyzxzzzzz{yzyzzxzyzxzzz{z{{yzyzyyyyyyz{yzzz{yyyzyzyyzyz{zzzzzyyzyyzyzyzzyyzzzyzyyzyzy{zz{zzyzzzyzyyyzzy{{z{{zzzyzzyyzzyyz{zzzzzzyyyzy{yy{{y{zyyyzzzyxy{z{z{{zzyyzzyyzzyy{yyzzzzyzzzz{{{{{{z{yzzzzzyzzzzz{zzzy{yzyyzyy{zz{z{zzzzzyyzyz{{zz{{z|y{yzzyzz{{{{{{|zzzz{zzz{z{{|z||zzzzz{{zzzzz{{zz{{zzzzzzz{z{zz{{{zz{zzzz{{{z{{{{{z{z{{{zyz{{{{|{{{z{zz{y{|{{{|{{{zzzzzz{{|z{{z{{{yzz{zz{zzz{z{{z|zz{{{zzzz{{zz||z{zzzyz{{{z{{{{{{zzz{y{{y{z{{{z{zzzzyzzz{{{{zz{zxyzyyzyzzy{zzz{{yzyz{yyz{z{{z{zzzzyyzzxyzyzz{{{zyzyzyyzz{z{{zz{{z{zxyyyyzzzzzzy{zzzyzzzyyzzyzz{yyzyzyyzyyzzzzz{zzzzyyyyz{zzyzzz{zyyzy{zyzzzyzz{y{yzzyzyz{zzy{z{z{yz{yzzyzzzzyyz{zzzzyzzzyzzyzzz{yyyzzyyyz{y{z{z{yzzzyzyyzzyz{{{{zzzz{yzzz{{zz|zzzy{xzyzz{zz{z{{{yzzzyzyz{{{z{{{{yzz{zyzzy{yz{{{zzzzz{zzzzz{z{{{{zzyzzz{{zzzz{z{{zzzz{zzz{{{|{{zzy{yzz{{zzz{{zz{{{yzzzzyz{|zzz{|{zyzzzzzy{z||{{|{{{zz|{z{z{{{{{{{{zzzz{zzz|{{{{{{zz{{zzzz{{{{{{{{{zzzzzzz{{z{{{|zzzzz|zz{|z{{z{||zzzyzzzzz{{{z{{|{zzzzzzyzzzzz{{{{zzyyyz{zz{zzzyzyzyyyzyyzz{zyzz{yyzzzxyyzyyzyzz{yyxyzyyzzz{z{{{yzxzzyyzzyz{{zzzzyzyyxyzy{{zyyzzzzyyyyyzyyzyz{z{yzyzxxzyyy{{zzzyzyzyyyyyyzzzzzzz{zyyyyzxyyzzzzzz{zyxyyxyzy{zzzzzzzyyxyyyyzz{zzzzyyzyzzyyzzzzzzzzzyyyyyyzyyyzzzzz{yyzyy{yzzzz{zzzzzyzyyzzyyzzzzyz{zzzzzyyyzyzyyz{{y{zyyzzzzz{z{{zz{zyy{yzzzzz{zz{zyyyy{zzyzz|{z{{yzzzzyzzxz{|yy{{{zzzzyzz{z{{{z{|{zzzz{zzz{zz{{{|{{zzyzz{z{{z{z{{{{zz{zz{z{{z{z{{|{z{zzz{{z{{{{{{{zyzzz{zzz{{{{z{{zz{yzzzzz{{{{{zzzzzyyzz{{{z{z|{{{zzz{zzz{zy{z{{{{y{yzzzyz{{yzy{{zyzyyyzzzzzzz{z{zzzyyzzzzz{z{{{zyzyzz{yyyzzzyz{{yzzyzyyyzzzyzz{zzzzyyzzyzzz{z{z{zyzzyzzyzzz{{zz{yzzyyzzyzzyzz{z{yyzzyzzyyzzzzzzz{yyzzyzzyzzzyzz{zyzyyyzyzyzzzz{zzyyzzyyyz{z{yzzyzzyyyzzzzz|yzy{zzyzyyyzyz{{zzzzyzy{zzzyzzzzzzz{zzzzzzyyzyzzzz{zzzzzzzzyyz{zzzy|zzyyz{zzzz{{{z{z{yzzzzyzz{z{zzzz{z{z{zz{yz{{z{z{{zxzzzzzz{z{zz{{zzzzyzzzz{{|{{z{{zzzzzzyzz{zz{zzz{zzzy{z{z{z|{{{{zzz{yy{{{{{|z{{{{{z{zzyz{|{{{{|{{zz{zzzyz|{{{|{|{zzzz{{{zz{z|{{{|{zzz{zz{||{{z{}{z{zz{{{{{z|||z{{zz{zzy{{{z{{z{|zzy{{zyzz{{{z{{{z{{zzy{y{{z{{{{{{zzzyyzz{|z{{z{|z{z{zzzzzz{zzyyzzzzzxyzyzy{zx{z{zyzzyzyyzz{yzz{z{yyyzx{yzzzzz{zzzzzzzzyyzzzzzzzzzzzzzzzy{zzzzzzzyyzzyzzyyyyxzzzyzyyzyyyyzzyzyzz{zzzyyyyyyyyzzz{zyx{zzzzyyzyyy{{z{zyyyyyzzz{yzzz{zzzyyyyyz{{{{zz|yyyyyyzyzz{zzz{yzyyyzyyyy{{zzzzzzyyzyzzyyzz{zz{{yyzzzyyzz{zzzz{{zyzyyyzzzzzzzz{zzzzzzzyz{yz{{zzzzyzzzz{zz{zyzzzyzyzzzzy{z{{zzz|zzz{zzzzzzz{z{z{z{zyzzyzz{{z|{{{{zzzz{z{y{z{{{{{{{zzzzzyz{|{zzz{z{{yzzz{y{{{z|z{{zzz{zz{{{|{z{{{{zzz{z{zzz|{{{{{}{zzzyzzzzz{|{z{{{z{zzyzzzz{z{z{|zzz{{zy{z|z|z{|z{zzzzz{{{|z{{|{{{zzzz{yzz{{{{{z{zy{yzyzzzzzzzzyzzzyzyyyyy{zzzyz|zyyyyyy{zzzz{{zzzzyyyzyyzzz{{zz{zyyyyyyyy{z{y{y{yyyyzyyxzyy{z{z{zyyyyyzy{yzzz{zzzyyyyyyzz{{{z{yyzz{xyzyzyzzyy{z{xzzxyzzy{zzzzz{zzzyyyyzzz{yzz{{z{zzxyyyyzzz{zzzz{zzzyzyzyyz{yz{z{zyyyyyyyzzyz{{zz{zyyyzyzzz|{z{z{yyyzzyyzzzy{zz{yzyzzyzz{{zyz|{{{{zzzyzyz{{{{zz{zz{zzy|x{{{zz{y{z{{zzyyzzz{{z{{zzzyy{yyz|{{{{{{{zzzzzzzz{{z||{z{{{z{{zzy{{z{{z{{zzz{z{zy{|{{{{{{{zyzzyzzz{{{{{{|{zzyxz{{z{zzz|{{{z{y{zzzz|{{z{||zz{{zzz{{z{|{{|{{zzz{{z{z{|{|{|{|{{zzyzzz{z{{{{{{{z{zzz{z{{{zz{{{zzz{{{zzz{{{{z{{y{{zzyyzz{z{{{yyyzyyzzxz{|y{zz{zzzy{zzzz{zy{zz{{zyzyy{xzzzzzzz{zzzyyzyyzzz{zzzzyzzxzyzyzz{{y{y{zzzzyzzzz{{zzzzzzzyzyyyyzyzyyzzzzyzzyzy{zzzzyzyzyzxyyzyzzz{xzz{zzzyyzzyz{{zz{z{z{yzxyyyzz{zz{z{zzyzzzzyxzzxzzz{{zzyyzzyyyzzzz{zzyyzyzyzyzz{z{z{zzyzyzzzyy{zzzzzyzyyzzyzy{zz{{{{{z{yzyzyyz{z{zz{zzzzzyz{yzy{{{z{{{zzzzzzx|{{z{z{zz{zzzzzz{z{{{|zz{{zyzzz{z{{|{{{z{{zzz{|zz{{z|{{{{zz{zyzzzz{zz||{{zzy{zyy{{{{{{}zzz{z{z{{{z{z{{{|{zy{{{zz{|{{{{{|zzz{{y{y{zz{z|y|{yzzzzyzz{{{{||{{z{zzzzzz{{|{{{{{{z{y{zz{{z{{z{{z{{zzy{z{{zz{z{zzzzyzyzyz{z{zzzzzzyyzy{zyzyzzz{zzzyyyyzzzyzz{zzzzzxyy{yzz{zzz|zzzyzyyzyyy{zzyzzz{zzyyz{yyz{zy{z{zyyyyyyyyzzzzzzzzyyyzyyyzyz{yzzzz{zyyyyyyzyzzzzzzyyxyyyyzzyzzzzzzzyzyzyzzzz{z{{{{yzyxyyyz{|y{yz{yyyzxyzxzyyzyzzzzzzyyyyyzzyzzyzzxzyyyyyzzzyzzz{zzzzxyyzzzzzzz{{{yyzyyyzy{zzzzzzzzyzzyzyyzzzyz{{z{zzzzyyzzz{xzzz{zyyxyzyz{z{zyzz{zyzzzyyyzz{zzz{{zzzzzz{zz{z{{{{{yz{yzzzyzzz|{z{z{zzzzyzy{{z{{zz{{{z{zzz{|{z{{{{z{zyzz{{zzzz{{{{{{zz{z{zzz|z{{{{{{y{zzy|z{{{{zz{zzyzzyzzzzzzz{z{{{zzyzzy{zz|{{{z{zzzzz{zz{{{{z{{z{zz{zzyyyz{z{z{{zzzzzyyyzz{z{yzzyzyzyyzzyyzzzzz{{zyyzyxyzz{zzz{{zzyyxyzxzz{zzz{zzyyzzzyzz{z{yz{zz{yyyyyyzzzz{{zzyyzyzzyyzzz{y{zz{zzyzyyyzzzyyyzyzzyyzyzxyzyyyz{{zyyyyyyy{z{{zzzzyzyzyxyyz{zzzz{zzzzyxxzzzzzyyz{{yzzzzzyzzz{zzzz{yxyzyzyzyzzzz{zz{yyzzzzyz{{zyzzz{zzz{yzyzzz{z{z{yyzyzyzzzzzy{z{zzyzzzzzy{z{{{{{yzyz{zzzzyz{{zz{{zzzz{zyzz{zz{{{zzzzzzzzz{z{yzzzz{zzzzzzzz{zz{{{zzyzyzzzzz{zz{z{{|{zzzzzzz{{z|{{{zz{z{zzz{z|{{{{{{zzzz{{z{{z{{{|||z{{yzzzz}{|{z{{|{|{{yzzz{{{{{{{{yzzzzz{{{zz{{{|{zzzzzzz{|{{{{{{zzzz{yzyz{z{{{{|{{zzzzzyz{{{z{{{zzyyzzzyz{{{zzz{zyzyzzyyzz{yyzzz{zyzzzyz{zzzzz{{zzyyyzyyz{zyz{zzzyzyzyyzzzzzzz{{zyzzyyzyzzzz{{{{zy{zyzzyzzzzzz{{z{zzyzzzz{zzzz{zyzzyyzzzyzzzzzzzyyyzyzzzzzzzyz{zyzyzzzzzzy{z{z{{yyzzzyyyy{zzzz|{zyzzxyyyyzzzzz{{zzyxyyyyyzyzzzzzyzzyzzyzzzzz{zz{z{zy{yzy{{{zyzzzzy{yzzyz{zzzz{||{{{zzyyz{y{{zzz{{z{zzyzzzzzz{{{z{zyzzzyz{z{{z{{{zyzzzyzy{zzzz{{|yzzy{yzzzzz{{{{|z{zyyz{z{{{{{z{{{{zyzzyzz{{{{z{{zz{zzz{z{{{z{{|{zzzzz{{z{{{zz{||zzzzzzzzz}{||{|{{zz{{z{{{{{|{{{{{yzzz{z{{{z{{z{{zzyz{z{z{zz{z{|{{yzzzzzz{{{{{{|{{zz{{{{zyzz{z|{{zz{yzzyz{{zyzzyyzzyyyyzyz{{zzyzzzzzyyxzzzzzz{|z{zzzzyyyzz{zz{yzzz{zzzzzzz{y{zz{{zzyyyzzzzyzzzzzzyzzyyyyxzzz{yy{zzyzyzzzz{zzzy|{zyyyyzzyyyyzzyz{zyyzyzyyyzzyzz{zzzyyyzzxzzzzzz{z{{zyyyzyyz{{{z{{yzyyxyyzzyyzzzz{zyyyzyzzyzzzyy{zzzzzzzyyy{zz{zzz{zzzz{zyyzzzzyzz{zyz{yyzy{yy|zzz{yyzzzyy{{{{{zy{{zzyzyyzzz{|zz|{z{zzy{z{zzz{z{z{{zzz{yyzy{zz{z{{{z{zzzzxz{{{z{{{zzz{zzzzz|z{|z|z|{zy{yzyz{zzz{{{z{{zz{{z{{||{{|{{{{zzzzz{{|{{z{{{{zzzyzyz{|z{{|{||zzzz{yz{{{{{{{|yzzzzzzz{{{{{|z{zzz{{zz{{{{{{{{|zzz{zz{z{zz{z{{{{{zyzzzy{{z|z{{{zzzz{zzyyz{{{{zzzyyyzzyyzzzyzzzzzyyzzyyyyzzzz{{|zzzyyzzy{zzz{|{zzyzyzzyzz{{zzz{zzzzyyz{yyyzzzzzzzyy{yzzyzyzzyz{{zyzz{{yzzz|zzz{zzyyyzzyy{zzzzzz{yzyzyyzyz{zzz{{zzzyzxyyz{{{zzzzzzzz{yyzx{{{zzzy{zzyy{yzyzzzzzz{{zyzz{yzzzzzzz{z{zyyz{zyyzzz{zz{{zzzyzzzzy{zzz{z{yyyzyyz{{zzzz{z{yxzyyzzz{z{z|z{zzzz{zy{zz{{{{{z{{yzzyzyzz{z{{{{yzyzzzzz{z{{z{{z{zyzyzzzz{z{zz|{|zzz{z{zzz{z{{z|{zzz{zzzz|z|{{{{{{z{z{{{z||{{||zzzzzz{|{z{z{{{{|{zz{{zzz{{|{|{|||{{{{{zyz{|{{|{|||z{{{{z|{{z{zz||zzzz{{|z{{{{}|{zyzzyzzz{{z{{z{|{z{{{yy{zzzz{zz{{z{zyzzzyzzzz{{{{yzyxzzyxyzzyzzzzzyyzyzy{z{zz{z{|zyyzzyyz{yzzzz|zzzyzyzyyzzzz{z{{zyzxxzzyzzzzz{z{{zzzzyzwzzyzzz{yzzyyxzyzzzzyz{zzzyxyyyyxzyz{zzzzyzyzyyyyzz{{zz{{zzzzyzzyzyzzzz{{yzzyyyyzy{zzz{{zzzzzzyzyzzzyzzzzzyzyzyzyyzzzzzz{zzyzzzyzzzzzz{{zzzzyzyyyzzz{zz{{zzzzyzzzzz{z{z{{zzyyxzyzzz{zzz{z{zzzzyzzzz{{{{y{yyzyzyzz{{{{{{{zzz{zzz{z{{zz{zz{zzzz{yyzz|{{zzz{zzzzz{{z{zz{z|{{{zzy{zyzzz{|z{|{{{zz{y{z{|z{{{{|zzzyzzzzz{{{z{|{{{y{zzz{{|z{{|{|zz{yy{z{z|{{{{|{{zzz{{z{{{{{}{|{{{yyz{y{{{z{{|{|{{zyzzzz{{zz{{{{{zzzyzyyz{{{{{{{zzzyzyyyz{zz{zz|yzzyzzzyz{zzzz{|zyyyzzzz{{{zz{{{{zyyzzzzzzy{{zzzzyzyzyzzzzzzyzz{yyzzyzyyzz{yzzz{yyzyyzzzz{zyzzyyzyyzzzyzz{zzy{zzyzzyyzxyzyzzzzz{zzyzzzyyzzzyyzy{zzzyyxyyzzzz{zzzyzzyzyzyzz{zzz{zzyzzyzyyzzyyy{zy{zyyyyzzzzzz{{yzzyyyyzyyzzz{zz|{zzzz{yzzzz{{z{z{zyyzyzzyz{zzz{z{zzzzzyyz{z{z{{{{zzz{zzzzz{z{{{z{zyzyyzyzz{{{{z||zzzzyyzz|{{zxzzz{z{zzzzyz{{{{|{{zzzz{y{z{zz|z{{{zzzz{zyz{{{{{{{{z{z{z{z{{{z{{{{{zz{z{zz{{z{{{{{{{{z{z{yzz|{{z{{{z{{z{zzz|z{{zzz{|zyzz{z{{|zz{{z{{{{{{zzzzz{{{{{{{zzz{{{z{{{z{{{{zz{zyzzyzz{{zz{zzzzzzzyzzz{{{zzzzzyyzy{yzzzy{zz{zzzzyyyyzzzz{{{zzzzyzzzxzzzz{{{{zyzyzzyyy{y{{y{{zyzzzzyyzy{zzzyzzzyyyyzzyzzyz{yyyzyyzyyyzzzy{{zxyzyyzyzzyzyzyzyzzyzyyzyz|yzzy{zyyyzzyyyzyyz{zy{zyzzzzzzyyzz{zzz{zyz{xzzyy{zxz{{{{{yyyyyzy{zyz{{yyyzyzzzzz{z{z{zzzyzyzyzzzzzz{yz{zyy{yzyyzz{{{{z{yyyyzyzyyz{y{z|{zzyyzzzzz{zyz|{zzzzzzzzy{{{z{{{zz{z{yz{yz{zzzz{{yzz{yzzzz{{|z|{{z{z{zz{z{{z{z|{{{yyzzzzy{{{z|{|z{z{zzzzz{{|z{|{|{{{zzz{zz{z{||{{{zz{yzyzz|{{||{|z{|{{yz{{zzz{{z{{zzz{zz{{z{{{{{{{{zzzzzy{{{{{{{|zzzzzzzzzz{{z{|||{zzzyzyz{{{zzz{{yzzzzzyz{{zzz{{yyxyyyzy{{zzz{{zzzyy{y{zzy{z{{{|{yyyzzyyyzz{{{{{zy{yyxyyyzzzzy{zzyyxyyyyzzzzyzy|zzyyyyzyyzyz{z{zzzzyzyyyyz{zzz{zzzzyxyzzzyz{zzzzyyzyzyyyyzz{y{zyzzyyyzyzy{zzzzzzzyyzzyyxzyzzzz{zyzzyyyyyzzyzz{zzzzyyzyzyyyzzz{{{zz{yzzyyzyzzzz{zzyy{zyzyy{{zz{zzzzxyzzzyz{zzz{{{zyyyzyyyz{{zz{zz{zyzzyyzzzz{{{z{zy{yyzyzzzz{zzzz{zyzzzzy{|{{zy|zzzyzzyy{zzzz{{{zy{{{zzzz{z{z{z{|{zzyzzyz{{z{{{{{{yz{zz{zz{{z{||{z{z{zz{zz{zzz{{{{zyzz{zzz}{{{{{{zz{{zy{z{{{{{{z{zyzyzyyz{||z{{{||zzz{{zz{z{z|{{zzz{z{zz{zzzzz{{{{zzzyzzzzzz{z{z{zzzzzzzzz{zyzzzzzyyzyzyyzz{yzzz{{yyzyyyyzyzzz{z{z{yzyzyyzz{y{{{zzyyyzyzzyz{{zzzzzzzyyxyzzzzzyzzzyyzyyzyzyz{zyzzz{yyzyyyzyzzzz{{{zyyyyzyzyy{zzz{yzyyzyyyy{zzyzzzzzzyyyyyzy{zzzzzzzzyyyzyzyz{zzy{zyzyzyyyyzz{zzyzyzzzxzyyyyzzzyzz{zyyyzzzyy{zzzz{{zz{zzzyzz{zyzz{zzyyyzzzy{zzzzzz{{yzyzzyzz{zzz{{zzzz{zzyzzz{{{{{zzzyzzzzzzzzz{zzzzyyyy{yz{zzzz{z{zzzyyzzzz{{z{z{{z{yzzzzz{{{|{{{|zyy{zyzz{{z{y{z{|zzz{yzzz{{{z{|{z{zz{zz{{|z{{{z{{zzzz{zzz{|{{{{{{{y{{{zz{z{{zz|{{zz{zzzy{{{{z{{{zzzzzzzz{|z{{{{{zzzzzzzz{{z{zzz{zz{zzzyy{z{zzzz{{{yzzzyy{z|zz|zzzzzyyzzyz{zzzzzzzzyyzyyyz{z{zzz{zyyzyzzzzyy{|z{zzyzzzyyzyz{zzzzzzzyyyzyy{zzzz{zz{zyzyyyy{{zyzyzzzyyyyyyyzz{yz{{{zyzyzyyzzyyzzzz{zzzzyxzzyzzyzz{zzzzzxzyyzz{zzzz{zzzzz{yzy{{{zz{{{zyyyyzxyzzz{yzzzyyzzyzyzzzzyyzzzz{zy{yyyz{zz{z{yyyyzzzzyzzy{zz{zyzzzzz{{yzzz{y{zzzzzzzz{{{{zz{zzzzyzzzz{{{{{{z{zyz|yyzyzz{zyz|zz{y{zyzzz{{{{zz{{yzzzzzyzz{{{{|{z{zzzzz{z{{z|{||{zzyzzzz{{{z{{{z{zzzzz{zz{{{{{{{z{{zz{{{|zzz{z{{{z{zz{{zz||{{{|{{z{z{zz{zzz{|{{|{zzz{zzzz{z{{z{{{y{{{yzz{zz||z{|{{{z{zzz{zz{zz{{z{zz{zyz{{{{z{{|zyyyzxzzzyz{{zzyyyyzzyyzzz{{{zzzzyyyzxyzz{zzzz{yzzyyyzzyzzz{{{{zzyzzyzyyzzzzzzz{zzyyyzzyzzzzz{y{zyzyyzxyzzz{z{{zzzzz{zyyzyz{zzzyyyzyyyyyyz{{zzzzyzyzyyyyyzzzzz{zzyyzxzyzyzzz{zy{zzzyyzxzzy{z{y{zzyyzzzzyyzz{zz{{{yyyyzyyzzy{zz{{{y{yzzzzzy{zzzzzzyzyyyzzz{z{{z{{zyzzzzyyzzz{z{{{yyyyzyzz{z{{zzzzzz{z{yyxz{{{{zz{zyyxzzzzzz{zz{{z{zzz{zzzz{{{zyz{{zzzzz{{z|{z|{{{zzzz{zzz{{z|{|{|yyzzzyzz{|{z{{|{zzzy{yzz{|{{{{{z{z{zzz{{{{{z{{{|zyz{z{{{z|z{{{{{|{{z{{yz{{|{{{{|zz{{{zzz{{|{{z{|{y{zz{zzzz{||z{{z{yzzzyzzzz{{{|{{zz{zzy{{zzz{z{{z{zyzzyy{zzzz{z{z{yyzzyyzz{y{{zzzzzyyyyyzy{z{z{{zzzzzzzzzyzzz{zzzyzzxzzzy{zzzzy{{xzyzyzyzzzzz{zzzy{yzzzyz{y{yz|z{zzyzzyz{yzzy{zzzzyzyzyyyy{zy{{zyyzyzzzyyzzzzz{zzzzyyxyyzzzz{zzzzzyyxyxzz{zzz{{{yzzzzxyyzyzzzz{z{zzzzyyxyzzz{zzzzxyzzzzyyzzzyzz|zzzyzyzzz|{z{|{{zz{zyyz{{yy{z{z{zzzzyy{zzzzz{|{{zyzzyzyzy{{{z{zyzyz{zz{z{zzzz{|z{zz{yyyz{{|z|z{{zzzyzzz{z{{{{{z{yzz{{{zz{z{z{|{|zzz{{zzzzz{|{{{{{zz{{z{{{|{{{{{{{z{z{z{{z|{{z|zz{yyzz{z{{{{{|{|{zz{{{zyzz{z|{{z{{zzzzzzz{zz{{|{{{zz{zzzzz|{{{z{{{{zzzyzzz|zz{z{|{yzz{zzyz{{}{{z{yz{yyz{zzz{{{yzzzzzyzyzyz{zyyz{{yzyyzyyxz{zzzzz{zyzyzzyxzyz{z{{{zzyyzyzxzz{zyzzzzz{yzzyyz{z{z{z{z{yxyzyyzzz{z{{zzzzzyyzzzzzyz{zzyyyyzyyzzyyzzzz{yzzyzzzzy{zzz{z{zzyyzzyyyz{zz{zzyxzyyzyzzzz{zz{zzzzz{yzzy{{yyz{{zzzyyzzzy{{yz{zzzzzzzzyyzy{yz{{|zzzz{yzzz{{zz{z{yz{zzzzzzzzzz{{{yyzyyyzzz{{zz{zzzz{z{z{yy{{zz{{z{z{yzzyyz{{|{{{{zzzzzzz{{zzzz{z{{z{zzzzzzzz{{{{{zzzzzzz{|{z|z{{{zzzzzzzzz{{|{{{yzz{z{zzz{{|{{{{{{yy{{{{z{zzz{{{{{z{{{z{{z{z{{{|{zzz{zzz{{{{{|z{||zyz{zzy{{{|zz{{{{zz|{y{{{{{{{{|zz{z{{zz{{{{z{{{{{{{yzzzz{{{{{{{zz{zyzzzzzzzzzzzzyzyyzzxzzz{zzzzzyyxzzzy{zz{zzz|zzyzzzyz{yzyz{{{{zzzzzzyz{{zz{{{zyyzyyxyzz{zzzz{zyzyyyy{zzz{yz{z{z{yxzyyzzz{zzzz{yyzyzzyzzyzzz{zyzyyzyyzy{zyzzz{zz{zyyzyyz|y{z{z{yzyyyxx{z{{{zzz{yyzzyzzy{zzyz{zyyyyzyzyy{zy{zzzzyzzzzzzzzzzzz{|z{zzyyzyzyzzzzz{{zzzzy{{{zyzz{|{xyzzzzyzy{{yz{zzzzzzzxyzz{{z|{z{zzzzyzyy{zzz{zz{zyyzzyzzz{{zzzz{{z{zzzyzy{z{{{{zz{zz{z{{{z{|zy{|zyzzy{yz|{{{{{{z{yyzz{{z{{{{{{z{{yzz{y{{{{y{{{{{{zzzzzzz{|{z{z{{zz{z{zzzzz{z{{{{zyzzyyz{{{zz{z||{zzz{zzz{{z{{{{{z{{zy{zyzz{y{z{{zzyzyzzyzzz{{{{zzy{zyzyy{{{{zz{zyyzyzyyzz{yyzzzzzzzzzyzzzzzz{{zzzyxzyyyxz{{y{{yzzyzyyzyyzzyzzzz{zyyyzyyxz{{{zzzzyyzyzyzyzzyzzzzz{yzyzzyyzy{zz{zzzxyyyzyyzyyzzz{zyzyzyyyyyzzzzzzzzzyyyzyyzzzzzzzzzyzyyyzyyz{{zz{zzzyzzzzyyzzy{zy{{zzzxyzyyzzzz{y{yyzzz{yz{z{zzz{z{yyyyzzzyzzzzy{z{yzzz{zzz{z{{z{{zz{yzyzz{zzzz{zz{yzyzzzzz{z{z{zzzzzzzyzzzz{{z|{{zyzzzyzz{{{zzz{z{{{{{zyzz{zz{{{{zz{yzzzyzzz{z|zzzz{zz{zzz{zz{{|zzyzzyzzzz|{zz|||{{zzz{yzz{{{{{z|{{z{z{{zz|{{|{|{zzz{zz{y|{{{{{{z{z{{{z{{y{{zz{|z{z{{{zy{zzz|{{{{zzzzyzyzzz{{{{{zzzyxzyyzz{{{zz{zzyyyzyyzzzzzzzzzzzyzyy{xy{{yzz{zzyzyyzzyy{zzz{{zzzzyyzzzzzzzzzzz{yyxyyyyzz{{zz{zzzyyzzzzzz{zzz{{zyzyyxyyyz{zz{{{zzyyyyyyz{{zz{zzzyzyxyyzzzyzyzyzyzyyyyyyzzz{z{zzzyzzzyyzyz{yy{zzyzzyyyyxyzzzzz{{zyzyzyzyyzzzyzz{{zzzyyzyzzzzzzzzyyzzyzyz{z{yz{{{zyzzyyzyzz{zyz{{{yzzzyzyzzz{{z{{{zzyyzzz{y{zz{z{{zzzzzzyz{{zy|{zzyzzyyyzzz{y{z{|{zyzzzyzzz{zz{zz{zzzz{y{z{{|{z{z{zzzzz{z{z{{{{z{zy{{zzzy{{|z{{{{{yzy{zzzz|{|{|{}{z{{z|{z{{{|{{{|zzz{zz{zz}z{{|z{{zz{{{z{{{|z{|{{{zzzz{z{{{zz{{{|{z{zzz{z{zz{{z{|z{z{{z{zz{{|z|{{{{zzyyzz{{{{{{|{zyzyzzzyz{z{z{{zyzzyyyzzzzzzy{z{yyzyyzyyzzzyzyzzzyzyy{zyzzzzzzzzzzxzzyzzzz{{zz{z{zzxyyzzyzzyyzzzyxzzzyyzy{yzyzz{zz{yxyzyyy{yzyyzzyyzzzzy{zzzyzzzyzyyyyzyyzz{yz{zzyyyyyyyyz{zzz{yzyzzzzyyyzzzzzz{yzzyzyyyzzyxz{zzyy{yyyzz{zzzz{{zyzyyyyyyzzz{yzz{zzzzyyy{{{zzzzy{{yzyzyzzzzz{zz{|yzyyzyyzz{yzzzz{zzyzyyyzz{{{zyz{zyzzzyyzz{zzz{z{{zzzzzzyz{zzy{{{yz{zzzzz{z{|{|{yzzzz{yyzz{{{z{{{zz{{{zzyy{{{|{{{{z{{yyyz{z{{|{{{zzyzz{zzz{z|{{{{{zz{zz{z{{zz|z{{{zy{zzz{|{|zz{{{zzyyzz{zzz{{z{|z{zy{zzz{z{zz{{{{{zyzyyzzz|{{{{{{zzz{zzyzz|zzz{{zzzzyzyyy{z{z{{zyyyyyzyyyyzzzy{z{yyyyzzyzzzzzzyzzyzzxyzzyzzzzzzzz{yzyyzyzzz{yyyz|zzzyxyzyzzzzz{z{zyzyyyyzzzzzzz{zzyyyyyyyzzyyyzyzzzxyyzzyyyyyzzyzzzyyzyzxy{zzzz{zyyyzyyxzy{zzzzzzyyyyyzxyzzyzyz{yyxzzyyyyzzyyzz{{zyyyyyzzyz{zzzzzyyzyzzyyyzyzz{{zzzyyzyzxzzz{zzzzyyzyzyzyz{yzzzzzyyyxyyzzzzzzzzz{zzyyzxz{zzzzz{{zzz{zzyzzy|{{zz{z{zzyyzyy{{{zyzzzzzzyz{zz{zz{{zz{zzzyz{{zzz{{z{{{zyyy{zzz{{|{{z{zzyzzzzzyz{{zz{{{z{yzzzzz{{{{z{|{{{zzzzz{z{{z|{{{zzzzzyz{{zzzz{{zzyyzz{yyzzzzz{z{{zzyzzzzzz{z{{{|z{yyzzzzzzz{{{{y{zzzzzyy{{zzzzz{zzzyzz{yzz{z{{zzzzzyyzzyyzz{zy{{yzzzzxzxzzzzzzzzzzzyyyyz{zyzzz{zzzzyyzyzzzzzzyzzzzyzyyzy{zzzzzzzyyzyzzzyyzzzyzzzzxzzyyyyzz{yy{yzzyyyzyyxzzyzyzy{yyyyyyzzyzzzzzzzzyyzzzyyyzzz{z{zzzyzyzyyz{zzzzzyyyyyzxzyyzzyzzzyyyyzyyyzzzzzzz{yzyzzzyyzz{zzzzzzzzzyyzyy{z{zz{zzyzzyyyyz{y{zzy{{zzzzyzyzzzzzzz{zyzyz{z{yzz{{zzzzzz{yzzyzzz{{z|z{zyyzzyyy{zzzz{{{{{zyzyzz{{{{{{{{z{zzzzzzz{z{zz{{{zz{zyyxy{z{{{{z{yzz{yzz{|{zz{{{zz{zyzzzz{z{z{{{{zyz{z{yz{{zzzz{{zzzzzzz{zz|{z{zzyz{z{{{z{{{{z{|zyz{z{{{{z{zz{{|{zzzzzz{yzzzzz|zzzyzzzzy{|z|{z|zyzzxyyzyzzz{{zzyyyyyyzyzzy{yzz{zyyzyzyyzyzyzzzyzzyyyzy{yzzzz{z{zzzyyyyyxyzzzyzzzzxzyyyyyzyzzz{z{zzyyyyyxy{zzzz{zzzzyyyyyzzzzy{yzzzyywyzxzyzzzzzzyyyxzyyyyzy{yyyyzxyyyzyzzyzz{zz{yzyzyyyyyyz{zz{zzzyyzyyyzz{zzzzzzyyyyyyzzzzzz{zyyyyyyzzyzzzyzz{zzyyzzzzz{{zzy{z{zyyzyyzyy{zzz{z{yyzyyzzyzyzzz{|z{yz{zy{zz{{{zz|z{zzzzzzxz{{zzz{zyyzzyyyy{{{{z{zzzzyzzyyz{z{z{|zzzzzyzyzzz{{{{{|{{zzyzzxy{z{{z{{{zyz{zzzz{{{{{{{|{{{zz{zzzzz{{z{z{zzzzzzzz|{{{{{{{zz{zzzz{z{z{{{{{yzzzzyzzzz{z{{zzzzzzzz{{z{{zy{{{zzzzzzy{z{{{{{{zzyzyz{yzz{{zzzzzzzyxyzzzzzz|yzzzzyzzzyyzy{zz{{{yyyyxzyyzzz{z|zzzzyyyzyz{zz{zz{{zzyyyyz{y{yzzzzzzyyyyzzzzyy{zzz{zzyzzyzxzy{zzz{zzyzyyyxzyz{zz{yzxyzzxyyzyzzzzz{zyyyxzyyyyyzzzzzyzyyzyyyyyzzzz{z{zyzzyyzyyzyzzyzzzyyyzzzzyzzzyzzy{zyxxyyzz{zyyz{{xyzyzzxyzz{{yzz{{zyzzyyyz{zzy{{{yx{yyyzzzyzzz{zzyzzyyyzyzz{zz{z{y{zzzzzyzzz{z|zzzzzzyzzzzyzz{{{{zxzzyzzzzzz{zzz{yzz{zzzyz{{{zz{{zyzzzz{z{{z{z{|zzzzzz{zz|{{zz{zzzzzzzzzy{{{z{{{{yzzzz{zyz{yz{{z{{yyzzy{z{|{z{{z{{z{{zyzz{{zyzz{zz{zzzzzzz{{z{{{{zz{zzzz{{{z{{{{{zzzyzzzzz{{z{||{{z{z{zzyz{{{{{{{yy{zyzzzzzzzzyzzzzzyyyzxy{zzzz{zyzzzzzyyzzz{zz{yzyzyzz{yzzyyy{yyzyzzyzyzyz{zzz{zzyyyyyzzyzzzy{{{zyzzyyyyzz{yzz{zzyzyyyyyzxzyyzz{zzzzyyyzzzz{zzyzxzzzyyyyyzyzzzzyyzyyxyxxyzzzzzzzzzyyyyzzzzyzzzz{yyyyzzzyzzyzzzz{yyzyyyzzyzzyyzzzyzzyz{yzz{y{{zz{zyyyzzyzyzzyz{zz{yzzzyzy{{{yz{{{y{zzzzzzzz{zzz{zzz{yzzzz{{z{{{{z{z{xz{yzzy{z{z{zzyzyyzzzzzzzzz{{z{zzzzyz{zzzzz{|zzzy{yzz{z{zz{{z{{z|{{yzzz|{|{{{{yzy{yzzz|{zz{{|zyzzz{{{{{zz||z{{{zzzyz{z{{{{{|{{zzzz{zz{{z|z|{zyz{{zzy{{z{|zzzzz{yzzzy{z{{{{z{{zzzyzzzzyyzzz{{zzzzzyzzzz{{{yz|{zzzzzzzz{{{{z{zyyyyy{yzyz{{y{yz{zzzzyxyyz{zzz{zzzyyyyyyyyzz{z{zzzyyyyyxyyy{zz{{zzyyxyzyyyzz{zzzzzyzyyyyyzz{zzzzy{yyzzyy{zzzzzzzzzzzyyzyyzyz{zz{zyzzyyxyy{yzzzzzzzyyyyzyyz{zy{yzzzzzzzzyzxz{zzy{zyzyyyzyzyz{zzzz{zzzyyyzzyzyy{zzzzzyy{zyzy{zzz{{zzyyzzyzzzzzzzz{zzz{zyzzz{zz{z{zzyzzyyyy{{zzz{zz{zzzzzxyyz{z{{{z{yzzzyyzyzz{{yz|{{yyzyzzyzz{zy{z{z{yz{zzzz{|{z{{zz{z{yzzz{zz{{z{z{{y{zzzz{{{z{{{z{zzz{yzy{{z{{{{{{{{z{z{z|z{{z|{{{{zyz{{z{{{{{{y{{z{{zy{z{{{z{|{{{yzzzzzz|{{{{{z|{{y{zzz{{{z{zz|zzzzy{{yyz{zz||{{{zyzyzzzzz{{z{z{yy{yzyzyzzzzzyyzyzyyxyzyzzzzzyz{zzyzzyyzz{zyzzz{zzyzyzzyzyyzyzzzyzzyzyyzzyz{yzzzzyyzyyyzzzzzz{zzzyzyyyzyzz{zzzzzyyyzxyzyzzzzy{zyyy{yxxzyzzz{yzz{yyyyyyyzzzzzzz{zyzyzyyyyyzzzzzzzyyzyyyyyyyzzzy{{yyyyyyzyyzyyyy{y{yzyyyzyyzyyyzz{zxyzyyzyz{zzzyz{zyzyyzzzyzzyzzzzyzyzyyyzzzz{zz{zzzyzyzzzzzzzzz{zzzxzzyzyzzz{{{{{yzyyzyyzz{zzz{{zzzzzzyyz{z{{zzyy{zyzyzzyz{{{{{{{zz{yzzzzzzzzz{z{zzzzzzyz{zz{{{{z|yzzzz{yz{{z{z{{zzzzzzzzzzz{{z{{{zzzzzzzz|y{{yz{|zz{z{{{z{{{{{{|{zzz{zzz{{{z{{{{{{zyz{yz{z{{{z|zzz{zyzzzzz|{z{{zy{{yzyz{z{z{{zzzxzzyyyyyzzz{{zzzyyzyyyyxyzzyzz{zyyyzyyzzzzzzyyzzzzyzyzzyzy{yzz{zzzyyyzyyzzz{y{yzz{yyyzyy{zzzz{z{zyyzyzzyy{zzzzzyyyyzzyyyyzzyyyzyzyzyyyyxzz{zzzz{yxyzzyzyzzyzz{zyzyyyxzyzzyzzz{zzzzzzzyyyyz{zzyzzyzyyzxyyzzzzyzzzyxyyyyzxy{yxyzzyyyyzyzzyzzzzyzzy{yyyzzyyzzzzyzz{yyyyyyyyyyzzz{zzzyzyyyzzzzy{zzz{{zzyyyz{{zzzzzzzzzzyzyzzzzzzz{{zzzzzzyyyy{zzyz{zzyzy{zzzzz{{{zzzzzzyzy{y{{z|zz|{zzyz{yyzyz{{zzz{{yzzzzzy{|zy{|{|z{zzzz{{z{zzz{zz{zyzzzzz{{{z{{z{{y{zzzzz{{{zz{{{{zy{y{yzz{z{{{z{z{zzzzzzz{{z{{{{{zyzz{zzy{z{z{{{zzz{zzzzzz{yzzzzz{yyyyyzz{z{yzzzy{zyyxzyyzzyzyzz{yzyxxyyzzzzy{z{zyyyyyyy{zzxz{{zyxzzyyyyzz{{yxzzzyyxyzyxzz{zyzzz{yzzyyzzzzzzz{zyyxzzyyyxzzyzzzyyzzyyyyzyyyyyz{zzzyyyyyyyxyyxzy{yzyyyzyzyz{zyzzzzyyyzyyzxy{zx{z{zyyyyzyzyyzzzyyz{zzxyyzyyyzzzz{zzzzzyzzyyzz{z{{zzzzzyzyzyzzzyz{yzzyyzyyzz{zyzzzzzyyzyzzyyy{{yzzyzzyyzzyyyzyz{{{zzyzzyzzzz{z{{z{{z{yzyyzyzzzzzyzzzzzzzzzzz{{{{{{{{zz{zzz{zz{{z{z{|{{yzy{zy{z{z{{{{{yzzzz{zz{y{{{z{{zz{yz{z{{{zz{{{zzz{zz{zy{|{z{|{zy{zzzzzzy{{zz{z{zzzzyz{zzzz{{{|zzz{zzy{{zz|z{z{zzzyzzzz{{zz{{{z{zzyz{zxz{zzy{{zzzzz{yyzz{zz{{zyzzyyyxxyzzyz{{zzyzyxyyzyzy{{{z{|zzyyyyxyzyzzzzz{yyyyyyzyyyzyzzzzzzyyxzyxz{zyzzyzyyzyyzzyzyzzyzy{yyyyyyyzyyzzyzzzyyyyzyyzyyx{zzzzxzzzyxyzzzzzyzz{zyyyyzyxzzzzzzyzyyyzyzyzyzyzz{{yzyyzzyzyyzzzzz{zzzyyyxyyzzyzzz{{zxyyyyyyyz{zz{y{z{zyyyyzzzzzz{zzzzzzzxzzzzzzy{yzzyyzzzyz{{zz{{z{zzzzyyzzzz{zz{{zzyzyzxzzz{z{zz{z{zyyzyzyy{zz{z|z{zzyzzy|{{yz{z{{yyyzzyzzz{z{zz{{z{zzzyyzzz{{zz{{zyyyzzzz{{{{{{{{yzz{yzzzz|{z{{z{{zzzzzzz{{z{{{{{zzz{zyz{{{{zz{{{zyz{zzyzy{{zz{{{zz{zzzzz{{z{{z{{zzzyzy{yz{zz{{{{{zyzzzzyy{z{z{zzzzzyyyyy{zz{z{y{xzyyzyzyyzyzzzz{zyyzyxyzzzyzyz{|zzzzyyxy{z{zyzz{yzxyyyyyzzz{zzzyyyzyzyzzzzzzzyyzyyyzyyyyzzyyzzzyzyyyzyyzyz{zyzyyyyzyyyyxzzzzyyz{zyyyyyyyyz{zyyzzyzyxyzzzyyz{zyz{zyyyzyyyyzzzz{yzzyyzyyzyyyzyzz{zzyyyyzxzyzzzzz{{yy{yyzyyzzzzyz{zxyzzyzyzyzzzzzzzzzzxyxzy{zzzzz{zyyz{zyzzzzzzzz{zyzzyyyzyzzzzzz|zyyzzzyzyz{{zzzzz{zzz{zzz{z{{zz{{zzyyzzzy{{{{z{{{zzzyzzzzz{z}z{{{{zyzz{zyyz{z{{{{{zzzzzyzy{{{{z{zzyyzyzz{{{{z{{{{{zzyz{zz{{{{{{{{{zzzzz{zyzzz{zz{{zy{zzz{{zz{|zz{{{zz{zy{{{zzz{{{{yzz{yzzzz{{{z|zzzyyyyyzyzz{{zz{yzzzzzzyzzzz{{yyzyyyyyyyzzzzxzzzyyyyyxxyzyzzzzzzyyyyzxyyzyzzzzz{zzy{yyyxyyzzzz{zyyyzyyyyyyzyyzz{yyyxyyzyyzzyyzzyyzzzyyyxxzzyz{zzyzyzxzzzzzzzzzyzyxzyyyyyzz{zzy{yyyyyxyyyzzzyzzzzyyzyyxxyyyyyzzzzyyzxyyyyyyzyzzy{yyzyzyyyxzyzy{zzyyyyzz{yzzz{{yzzzzzyzyyxzzzzyz{{yyyzxzzyzyzyzz{zzyyyyyyxz{zzzzzzzyzyzyyzyz{{zzzyyyyzyyyzzzzy{zzzzyzyyyyy{zzzyz{zzyzyyyyzz{{{zzzzyyxzzzzyzzz{zz{{zyzzyyxzz{z{{zy{{yyzzyzz{{zz{{{{{zzzzzzzyy{zz{{{{yz{zzzyz{{{{z{zzzzzzzzzz{{z|zz{{yzzzzzzzy{{y|{{{{zzzyzzyzz{z{zzzzzzyyyyz{zzz{{zzzyzyzzxz{zzzz{zzzzyxzzyyz{zz{yzzyzzyyyyyzyzzz{{zzzyyxyyzzz{zzzzzzzxyyzyyzzz{zzyzyzzyzyzzz{zyzyzzyyyyyyyzz{{yzz{zzzyyyyzzzyyzzzzzyyz{yxyyzzyyz{zyyzzyyzxyzzzzzzzyyxzzxyzzzzzyzzyyyyyyzyzzzyyyyzzzyyxyyyyyzzzy{zzyyzzzzyyyzyyyzyz{yyyyzyyyzzzyzzzyyzyyyyyyzzz{z{z{yzyzyzyzzzzz{{zzyyyyyyzzzzyzz{zzzzzyyyyzzz{{{{zzyzyzzzyz|{zyzzzzzyzzzy{z{zzzzz{zyzy{zyz{z{zzzzz{yyzyz{y{{{{{|{{yzz{zzzz{{{{z{z{zzzz{yyz{zz{yz{zzzz{zzzzz|{z{{{zzyz{z{{zz{{z{{zz|zzzz{z{{{z{z{|z{z{{zyzzz{z{{z|{zzzz{zzzz{z{{{{{{zz{zzzzz{{z{z{{zz{y{{{{zz{{z{{{zzyzzyzyzz{{zz{zzyzzzxyyzzzzzzyzzzzyyxzy{zzzy{zzyzyyxyyzyzzzz{z{zzyzzzzzzz{z{z{z{xyyxzyzzzzzzzzzzyzyyyyyzyzzyzz{{yyzzzzyzzzy{{zzyzzyzzyyzyzyz{zzzyzzxyyyyxzz{zzzzzyzxyzzyzzzzz{zzzyyyyyyzz{zzz{yzzyzzzzyzyzzzzzyyzzyyxyyyzz{{zz{{{zyyyyzzzzzzzy{zyzzyzyy{zzzzz{zzzyxzyxy{z{{z{{{zyy{zzz{{zzz{{z{zzzzzzy{z{{z{{{zzz{z{zyzz{{{{z{zzzzyzyzzz{|zzz{{zzzzzyz{{{{zzzz{zz{{zyzyy{{{{|{{zzzzzz{z{{{|z|{{z{{z{z{y{{z{z|{{{zzzzz{z{{|{z{{{{z{zz{{z{{{zz{z{{{zy{{{zz|{{{{|{zz{zzz{z{|{{z{{z{z{z{zy|{{{{||||{zzz{z{y|{zz{{{|{zzyzz{zzzz{z{{z|{zzyyzz{z{{{{{{zzyzyyz{{{{{z{zy{zzzzyyxzzzzyyz{{zyyyyzyzz{yz{z{zzzyzzzzzy{{zzzzzyyyyzzzyzz{zzzzzzzzxzzyz{z{zzz{zyyyzzzzyzyzz{zzzzyzzyxyzzzzzzz{zzyyzyyzyy{xyz{zzzzzzzzyzzz{zyzzzzzyzyyyzzy{{yz{zyzyyyyyzzzyzzzzzyzzyyyyy{zzzzzyzzyyzyzzy{zzzzz{zzyyyyyyzzzzzzz{zyzyzzzyzyzyzzz{yzyzzy{y{zz{zzzzzyzyzzzyzyyz{zz{{yz{zx{yyz{zz{{yzyzyzzzyzz{{z{z{zzy{yzzzz{zzy{{zyzyyzz{zzz{|{{z{{yzzzz{z{z{{{z{{{zzzzzy{{|{{{z|{{yzzyz{{{{{{{|{{zzzzz{{{z{{{z{{z{z{{{{{{{{z{z{|{{z{zz{zz|zzz{{{z|yzyzzz{{{{{{|{{{zy{zzzz{{{{z{{{{zzzz{{yy{{{z{{zzzzyzzzz{|z{{{{{zz{zz{yyz{zzzz{{zyzzzyyyyzzzz{z{zyyyyyzyzyzz{z{{zyzzyzyyzzzyzz{yzyxzxyyyzzzzyy{{zzyyyyyy{y{{zzy{zyzzzyyzzzzyzz{yzyyyyyyyzyyyyzzyyyzyyyyzyyzzyyzzyyzyyxyzzyxzzzzzzzyyyyyxyy{zzz{zzyzyyzyyz{{zy{zzzyyzyyzxzzzyzz{yzxyyyxz{z{zzyzz{yzzzxzzyyyzzzzzzzyyyzyzz{zzz{{{zzzzzyxzzyzzzz{{zzzyzyzyxzy{{{yz|zzzx{yyzz{{zz{z{zzzyxzz{{z{z{{{zzyzzzz{z{{zzz{z{zzzzz{yzzzzzzz{{y{z{zzzzzz{{{{z|zyzzyzzy{{|{{{zz{zzzzzzz{{{z{{|{zzzzzzzzzz{{{{z{{zzzz{z{{z{yz{{z{z{{{{zzz{{zz{{{zzyzzzyz{{{z{{z|{zzzzzzz|{z{{{{{{{zyz{{yzzz{z{|{z{{{zzzyy{z{z{{zzz{zzy{zz{{zzzyyyzyyyyzyyzyyzzzzxyxzyyxzyyzz{{z{yyyyyyzxzyz{zzzy{yyyzyzxyz{zzz{zzzzxyyyyyz{zz{zzyyyyzxzyyzyyzzzzzyzyyzyyzzyyzz{zyyzxxyzzyyyz{yzzyyzyxyyyzyzzzzzzyyyzyyyyyz{zzzzzzzyyyzyzyy{yzzz{yyyzzyyyyzzyzyzzyyzyzyzyyzzzz{z{yzyzyyyyyyyzy{zzzyyyyxyy{zyzy{{{xzzzyxyyzyzz{zzzzzzyyyzxzz{z{{z{zzy{yyzzzzzzz{{zzzzyyyzyz{{zz{|{zzyzzzyzy|{zzz{{zzzzyyzyzz{|zz{zyzzzy{zzyzz{zz{{zzzzy{yzzzz{z{{zyzzzzyzyz{z{{{z{zz{zz{z{z{z{{{{{{yz{zz{yz{z|{z{{{zzzyz{yz{zz{{{|{zyzzyz{z{{z|{{{zzzx{zzz{z{{zz{{zzzzzyzz{z{{y{{|yzz{yzyy{{{{zz{z{zyyzzyy{z{{zzxzzyyyzyzyzy{zzzz{yyyyyyzyzzzzyzz{zyyyyzzxzzyyzzzzzxyyzzxxz{zzzz{zzyyyyyyxzyzzyzzzzxzyyzzxyzzzzzzyyyyyzyyyzz{yyzzzyzzyxyzyzzz{yz{zyyxyxyyyzzxyyzzzyyzyyzyzyzyzzzzzyzzyxyyyyzzyzyzzzyzyyzyyzyzzy{z{xzyyyyyyxzzzyzz{yyzyzzxyz{zyzy{{{zy{xxzzzzzzyzz{zy{zyz{zzzzyzzzzyzyyyyzyzzzzyz{{zzyyzyyyz{y{yzyzzzzyzyyy{zzy{zzzzzzyyxyxz{z{z{{{zzz{yyzz{{zzz{zzyzyzzy{x{zz{y{{zzy{zyyyzyz{z{zz{{y{zyyzyz{{{z{{{zz{zz{{yz|{{|{{z{zzzz{zyzz{{{|z{zzzzzzzz{z{zzz{zzzzzzzzyz{z{{z{{z{yzzzz{{|{{z{{{{{zz{zzz{zz{{z|z{zyyzzzy{{zzzz{zzyyzyyzyzz{zzzzzyyy{zxzyyyzzzzzzyzyyyxyyzzzzzzz{zyzyyyyzzyzz{zy{yyyzyyyzz{zzzzyzzyzzyyzyyzz{zzyyzzyxyyyyzyzyzz{zzyyyyyyyzzzzyz{zyyyyxzzyzxzyyzzzyyyyxzyyz{zyzxzzz{zxyyyyyz{z{{z{yxyyyzyyzzzy{yzyzyyyyyyzzzyzzy{zyyyyyzxyyyyzzzz{yyzz{xyzyzzyzz{yzzyzyyyyyzzyzz{zyyzzzyyyzzzzy{zyxyzzzxyyyzzzzzzzzyzzyyzzzz{{z{{{yxzzzyyzzzzzzz{zzzyyzyyyz{zzz{{{zyyyzyyz{{z{zzzzyzyyzzyz{zy{zz{{zyyzyyzzzzzzz|{z{yzzz{zy{{zzz{{zz{zyzzyzz{yz{|z{|{yzzz{z{{{{{{|{{zy{yzzy{{{{{z{zzzyyzzzyzz{{{{z{z{{z{yzz{zz{{{{{z{zzzzzyzzz{zzz{{zzzzzzyz{zzz{z{zzyzyyzzy{{{zzyyyxyzzyyyxzzyyz{zyyzyyyxyzzyzzy{zzzyyzyyyz{{z{z{zzyxyxyyyyzzzzzzzzzyyyzxxz{z{z{zyyzzyyyyxyzzyzz{zzyyyyyyzzzzyz{yzzyzxyxyyyzyzy{zzzyyyyxyyzzyyzzzzzzyyyyzzyzyyyzzzzzyyyyxyyyzzyy{{zxzzzxyxyyzzzzz{yzyzyyyyzzzz{{{zzyyyyzyxyzz{yzzz{xzyzzyyyzzzzzzzzyzyxyyyzzyzzzz|zxzxyzyz{zz{zz{zzzzzzyyyzz{{yz{{zyzzzyyyzzyzzz{{zzzzzyzzz{{zyzzzzzzyzzzzz{{{{z{zyz{yyzzzzzz{{{|{zzzzzy{yzy{zz{|zyyyyzzzz{{{{zz{{{yzyz{{zzzzz{z{{zzyyyzz{{|{{z{|z{yzzzyzyz{zz{{{zzzzzzzzz{zz{{{z{zzy{zzzz{zzzz{{zyyzzyyy{zz||{{{zzzyzzzyyz{{{{{{zzzzyyzzyzzzzzzz{yzyyyyyzy{zx{yzzyzyyyyyzzyzzzz{zyyyzzyyy{zzz{z{zyyyzzyxyzzzzzz{{yyzxzzzxyy{zzz{{yyyzyyzyy{zzy{yzyzzxyyyxyyzzyzzyyyyyyyxyzyyzz{zzyyyzxxyzzzyzyzzyzxyyxzxyzyz{zzz{zzzyxzyyz{yzy{z{zyyzyyyzyyzzyzzyzzzyyzxyzzyzy{zzzyzyzyyyzzzzyzzzzyyyzyyzzz{{y{{{yyzyxyzzzyyyzzyzyyzzzyzyzz{{zz{z{zzyyyzyzzz{{{{zzzzyyzyyz{{{yzzzzzy{{z{{{zzy{{zzz{yzzzzzzzz{{{{zzyzzzyzzzzyzz{{|zzzzzxzy{{{z{z{{{yzzzzzzz{z{{{{{zyzzy{zzz{yzz}zz{yz{y{zzz|z{{{z{{z{{{z{zz{zzzzz{zyzz{zzy{{z||z{|z{zzzzzzz{{{{{{{zzzyzzz{zz{{{|z{z{yz{yzzyz{{zz{zzyzzyyyxzz{{zzyzyzyxzyyyyzzyyzzzyzxyyyyzy{zzzyz{zyyzzyxyyzzz{z{zzyyyyzyyyzzzzzzzyyzyxyzyzzzzzzzzzyyyyyzyzyzzzzzyzyzyzyyyzyzzyzz{yyyyyyyyyzzzyz{zyyyyyyyyz{zzzyzzzyyzyyxxzyzzzzy{yyyyyyyzyyyz{z{zzxzyyxzxyzxz{zzyzyyxzyxxyzzyyzzzzyyyyyyyzyzzzyz{yyyyyyyzzyzyzzzyzyzyyzzzz{zzzyzzyzyzxzyzzz{zzyz{zxzyyyyyyy{zzz|zzyzyzxyxz{{zy{{zzzyzyyyyz{zzzz{zy{zzzzzzy{zzzzzzzzyzzzzzzz{zz{{{zyzzzzyyzz{zzz{{zyyyyzzzzz{{yy{{zzzzyzz{zz{z{z{{zzz{zy{yz{zz{{{{{yz{yzyy{{z{z{zz{zyzzzzzyz{yz{y{{zz{zzzzz{y|{{z{yzyy{zyzzz{z{zzzzy{zzyzyzy{zzz{{zzzzyyzyzz{zzzzzyzyzyyyyzzzyyzz{yyyyyyyyzzzyz{zzyyzyzzyzzyyyzz{zyyyzyyyyz{zzyzzzyzzxxyyyzzyzyz{zzyyyyyzyx{yyzzyzzyyyyyyyyyzzzzzzyzyyyyxzyzyyz{yyyyyyxxyyz|zyz{zzyyyyxxyzzz|yzz{zyyyzyyyyy{y{zzz{yyyzyyyyyyzzzyyzxyzyyyyyyzyzz{zzyyzzy{yyzzzyzz{zzyyyzyzyy{zzyyyzzyyyyxyz{{yzyz{zyyzzyzyyzyzzzzzzzyzyyyyyzzzzzzyzyzzyyzzz{zz{z{{zyyzyyyzzz{zz{zzy{{zzyz{zzzzzz|z{zzyzzzzz{{zz{{z{zyzzzzyz{{{z{{{{zyz{zyyzz{zzz{{zzzzyyz{zz{zzz{z{{xy{{zyzy{{z|||{{zzzzzyzzz{{{z|zzyzzz{zz{zzzz{zzzz{zzyyzy{zyz{y{zyzzy{zz{zz{zz|zzzzzzzzz{{zzz{{zzyzzyzyyzyzzz{yzzyzxyxyyyzzzzyz{zyzyzyzyzyzzzzyzzzyyzyyyzzzyzy{{yyyyyyyzz{{{zyzzzyyzyyyyzzz{zzzzzzzyyxyxyyy{y{zyzyyyzzyzyzzzzzzzyyzxzyyy{yzyzzz{yxyzyyyxzzzyzyzzzyyyyyxzzz{zzzyzyyzzyyyzzyz{{{{{zzyyzyxyyzzyzzyzzyyyyyyzz{yzyzz{zzyyzyzyzzz{zzz{zyyyyyzyzy{zyzz{zy{zyz{zz{z{y{{zzzzzzyyzz{zzzz{zyyyyyyz{z{yzz{z{yzzzzzyyzzzyyzz{zzzzzyyzzz{{z{zzzzzzyyyzzz{zzz{zzyzzzzzz{z{{z{{{{{zyzzyyzz|z{{{z{yzy{zzyz{{{z{{|{zzzz{zzz{{z{z|{zzz{yz{zz{z{{{{{zz{zzz{zyz{|{{{{zy{zzzzz{{zz{{{{zzzzzzyz{zy{{{z{{zzyyyzyzz{{z{{zz{zzzzzyz{zzzz{yzzzyyyyyzz{{{{z{zyyzyyyyxzzzzzzzyzyyzxyzzz{zzzz{zzzyzzzxzzyz{zyzyyyyyyyzzy{zyz{zyyyyyyyyz{zzz{z{y{yyzyzyzzzzzz{zzzyyzyyy{zzzy{zzzyzzxyyyyyy{y{zzyyzzyxyyyyz{zzzyzzyyyzyzz{zz{{yzxzzyyyyzyzyzzzzzyzzyzyyxyzzzzzzzyyyyyyyzz{yzzzzz{yyyzzzyyzzzzz{{zyyyyyzyzz{zzzz{yyzyyyzzzz{z{y{yyyzyzyyyz{{{z{z{zy{zzyzyzz{{y{yzzyyyzyyzy{zzyz{zzzy{yyxz{zzzz{y{zyzy{zzzzz{{{z{{yzzyzz{y{z{{zzz{zyzzzzzz{{zy{{{zzyzzzzyzz{z{{{{{zyzyzzzz{y{zz{|{{zzzy{{y{{{{{|{{{zzzzz{z{{{{{{z{zy{yyzz{{{z{{{|{{zzzzyzzz{{zz{|{zzzyzzzyz|{{{y{zz{zyzzzyz{{z{z{zzyzyzyyyzz{zyzzyzyyyyyyyzzzzzzyzyzyzzxxyzz{z{{{zyzyyyyyxyy{zzzzzyxzzyyyyzzzzyz{zzyzyzyzyzyzzyz{zxzyyyyyyzzyzyyzyzzyzyyyzyzzzzzzyzxyzyyyyzyzzyzyzzyzyyxxzyyzzzzzzyyyyyxxzzzzzzzzzzyzzyzxyyyz{zz{zyyyxyyyyzzyyyzzzzyyyyzzxyzxyzzz{yyzzyzzyzzzzz{{zzzzyzyyzzzzzzzzzzyzzzzzz{zzzz{zzyyzyyyzy{zyzz{z{yzzy{xzzyyyzy{zzzzzz{zyy{zz{zz{zyzyzyyzy{{zzz{{z{yyzzyzzzzz{{zz{yzzzz{yzzz{{zzz{zzyzzzzzz{zzz{{z{yzyzzzy|z{z{z{{zyzzyzzzy{{{zzzzzzzzz{zzz{{z{{{zzzzzzzzy{{zz{{{{zzzzzz{zzzz{{{|{{{yzzzyz{{{{{|{{{{zzzzyzz{zzzz{{z{yyxzyyyzzzzzzzzzyzzyyyzy{{{yzzyyyzyyzyyzzyzy{zy{zyzzyzzyzzy{{{zzyyyzyyzyyyz{zzzyzyzyyyzzzzyzzxyzyxyyzxzzzzzzz{zyzyzyyyzzzzyzzzzzzyzxyyyyyzzzzzzyyyyyxyyzyzzz{zyyyxyyzyyzz{yzzzzyyyyxyyyzzzzzyzzzyzyyyyzzyzzzzzyyzyyzzyzzyyyyzyzzzzyyyyyzyzzzz{zyzzyzyyz{{zz{{|{yzzzzyzyzz{zz{zyzzyzyzyzz{{zz{{zyyzyzzz{zzzz{z{zzyyzyyzz{zzz{|zzzzyyyzz{z{zy{{{zzz{zyyyzyyzzzzzyzzzzzyzy{{{{zzzzzzyyzzzz|z{z{{{zzzzy{zyzz{z{{z{zzzzzyyzz|z{z{{{{z{zzyzzyzz{{z{zzyy{z{z{z{{{{|{zzz{yzyyzz{z|{z{z{z{{zzzzzz{{z{{{{{zzy{z{zz{{z{{|zzzxzzz{zz{{zzzz{zzyyzzzzzzz{z{{yzzyzyyyzzyz{{zzyzyyxxzyyzzyzzzzzyyyyxyzzyzyyy{zzyyyyzyyyyzzzzzzzzyyyyzyzzzzzyz{yzyxyyzyz{yzyzzzyzyxyzyyy{yzy{z{zzzyxyyzzzzyyzzyyyzyzyzyzzyzz{zzzyyyzyyzzzyyyzz{yyzzyzyzyzzyzzyyyyyyyyxxzzz{zzz{zxyxyyyyzzzyyzyzyyyzyyyyz{zzz{{zyyzzyzyxyz{z{{zzzyzyyzyzz{zzzyzzzyyzyyzzzxyyyz{zxyyzyyzzzzz{zzzyzzzyzyyzz{zy{{z{zzzzzyzy{{zzz{zzzzyzzzz{{{zzzzz{zzyyzzyyyz{z{{zzzz{zyyzz{zz{z{zzzzzzzyyy{{{{{{{zzyyzzzzz{{{{z{z{z{zzzzz{yz{z{{{{{zyzyzyzz{z{{zzzzzzzzzyz{{zzyyzz{yzzzzyzzzzzzz{|zzzz{zyzzzy{{{{{zzzzzyyzz{zzz{{{zzyzzz{yz{yzzz{{zzyzyzzxy{{{zyzzzyyzyzxxzzy{zzzyyyyzzzxyyyzzz{z{zzyyyzyyzzzyz{{z{zzyzyyyzzz{yy{zzyyyyyyyzy{zzz{zyyzzyyyyzzzyzzzzzyyzyxyz{yzyzzzzzyyxyxyzzyzzzzzzyyyyzyzxyxzyzz{{zyxyyyyzzzzz{zzzzzyxyzyyzz{{zyyzxyyzzyzyy{yxyzzzzzyyzzzyz{yzzzyzzy{yzyzyzz{zzzzz{zzyyyzzz{zzz|zzzzzyywzzzzyzyzzzyyzxzyyzzz{zy{{zzyzzzzyzzzzzy{zzyzzyyzyyyyzyyy{zzzzzyzzyz{{y{{zz{zyyzyyz|zzz{yz{zzzyzz{y{{z{zz{zzzzzyzyyzz{z{z{z{yy{zzzz{{{z{z{zzzzzz{z{zzz{z{zzzz{zyyzzz|{{{zz|zzz{yzy{{{zzz{{zzzzzzzzzz{{{z{{zz{zyz{zz{z{{{{{zzzxyzzzzz{{z{zz{zyzyyy{yz{zzzz{zzy{zzzyyyzzyz{zyx{yzzzzyyzzzzyzzyzzzyyyyzzzyyz{zyzyyzyzyzzzyzz{{zyzyyyyyyz{{x{{zzyzyzzyy{zzzzzzzyyyyxyyyzzzyyz{zzyzyyxyxzy{yzzyyyyxxyyzyzzy{yzz{yxyxyyyyzzzyzz{zzyyyyzxzyyz{zz{yyzzyyyyxzzyzyzz{{yyzzxyyyyzyz{zzzzzyzyyyzzyyz{yzzzyzyzyzzzzzyzyzzzyyzxyyyzzzzz{{zyzyzyzzz{zzzzyyzyzzzzzyzyzzzz{{yyyyzyzzzz{yz{{yyzzzyyzyzz{yzz{{zyzzzyyzy{{zz{zyzzzzzzyyyz{z|z{zyzzzzzzz{{{|z{z{zzzzzyyyz{zz{{|{{yy{zyzz{{zz{{{{{{zzzz{z{zz{|{{z{yzzz{{zz{z{{z|{z{zz{zz{{{{{z{{{zyzyzzzzzz{{{z{z{zyzzzzzz{{zz{{{yzzyzyzz{{{z{{zzzzy{zzzzzz{z{zzzzzyzyzzyz{z{zzy{zyyyyyyxyyzzyzzzyyxzyyzyzyz{zzzzzzyzyzyy{yyzyzzzyyxzyyyyzzzzzzz{yzzyzyyyzyzzzz{yyyyxyyyyyzzzzzzzzyyyxxxyzz{yzzz{zyxyyyzxyzyzyyyzyyyxzyyyyzzyzzyyzyzzyyzyyzzyz{{yzzzyyyzxyyzzzzzzyzyxzyyxxyz{zzzzyzyyzzyzyzzyzyzzyyyyyxyxzzzz{zz{yzyyyyyyzyzzyzzzzz{yzyyzzzy{y{{{yxzyzyzyz{{{zz{zyyyzzyyzy{z{yzzzzx{yzyyz{z{zzy{{zyyyyzyy{zzzzz{zyzxyyz{zzz{zzzzzzzz{zy{y{{{{{z{{yyzzzzyx{{|z{{|zzyzzyzzyz{zz{{z{yzz{zzz{z{{zz{{{{zzyz{zy{|{{{{{{zzzzyyz{{z{{{{z{zzz{zzyz{{{{{z{{{zzzyzyzzy{{z{{{zz{yzz{yz{z{{z{zzzyzyyxzzzz{zzy{zzzzyzzyyyzzzyzzxzyyyyyyzzz{zz{{xzyyyyxxzzzzzz{zzyyyyyyyzzyzyzyzyyyyxyxyzzzzzzzzzyzxyyyyyzzyy{zzyxyyyyyyyzyyyzzyzxyyyyyxzyzyyyzzyyzyyyxzxyzyy{yyyyyyyyzxzyzyzzy{yyzyzyxyyzzzzzy{yxzyyzxyyzyzzyzzyzyxyyyyyzyyzzzyzyyyyxyyyyzyyz{zyyzzzzyyyzyzy{zzzyzzzyyxzyzyz{z{zyyzyzzyy{yzyzz{zyzyyyyxyzzy{y{zyyzzzzzzyzyzzzzzzzzzyyyzyy{zzzzzzzzzzyzyy{zzyz{zyzy{yyzzzz{z{{zzz{zzyyzyzzz{z{{{yzzyzzzyzz{zzy{z{yx{zyzz{{zz{z{zz{zzy{zzzzz{z{{|zzzzzzzzz{{{z{zzzyz{zyzzz{{zzzzzzyzzzzz{y{y{{{{{{zxzz{yz{{zzz|{{yzyzzyyzzz{zz{{yzzyzzy{yzzz{zz{zzyyzyyzxzzzyz{z{zzyyzyzzyzyz{zzzzzxyywyy{{zzzz{yzzyyyyzzzyzzzy{yzyyyyyyyy{{zyyyzyyyxyyzxzzzzzzy{zyzyyyyyzyzyyzzyyyyyzzxyzz{yyzyzzyyyyyyyzyzyyzyzyzxyyzyyxzyy{zyzzxyyyyxyy{zyzyz{zyzyxyyyyyzz{yzzyyyzzyzzyzzzzzyzzyyyyzzyyyyzzzzzyyzzyyyyzyzzzzyzzyyzzyzxzzzzz{zzzyzzzyz{zzz{z{{yyyzxyz{z{zzyz{{zyyyyzyyzzzz{zzzzzyyyzyyy{{{zy{zzzyyzyzzyz{z{zz{{zzzzzzzy{zzz{z{{zzz{z{{{{{z{{{{{{{{zyzyyzz{z{z{z{yz{{zzz{zzzz{{{|zzzzzzz{zz{{{z{{y{{z{zzz{{z{|z{zz{z{zzzzyzzz{|z{zzzyzzzzzzz{z|{zzzz{zyz{{|{{z{{zzzzzyzy{zz{{|{{{zyzzzyzz|zyz{|zyzzzzyyyz{{zz{zzzyy{xyyyxyzzzyzzyyyzxyyzyzzyz{{{z{yxyyyyzz{zyz{zzxyzyyyyzzy{{zzz{yxxyyzxzzz{zyy{yyyyzyyyyzz{yzyz{yzyyyyyzzzyzz{zyyyyyyzyyyy{z{zzyxyyzyyyzzzzxzzzyyxzyyyyyzzxzzyzzyzyyxyyzzzzzzz{zyyxzyyxzzyyzzzzzyzyzzzxyzzzyzzzzyzzzzzyz{zzzzyzzyyzzxzyyzzyzzz{zzzyyzyyzyzzzzzzzyzyxzzz{z{{{z{zzyzzyyyyzzyz|zzzyyzyyyyyz{z{zyzzzzz{zyzyz{{zy{zyzzzy{zyz{{{zz{zzzzzzzzzz{zz{zz{{zzzzyzyz{y{{{{{{zyyzzzzz{{{zzz{{zzzyzzzz{{yz{|z{{yzzzzzzz{z{z{zzz{{zzzz{{{{{|{{z{z{zzzzz{{zz{{z{zzzz{zz{z{z{{z{z{{zyzzzzyzz{{{{{{{zzyyzzz|z{zyzzzyzyyzzyzyzzz{zyyzzxzyxyz{z{zyzzyzzyzyyyzzzyzzzzzzyyxzyxzyz{zy{{yyzyzzyyzz{zyzz{zyyxxzyyyzy{zyzzzzyyyzyyyzyzzzyzzzzyyyyzy{{yyyzyyz{yzyzyyzzzyzzyzzyyzyyzyzzyyzz{yxyzyzyy{yzzzyzzzxzyyyyzyzzzz{z{yzyzzyyxyzzyz{z|zzyxyyzxyzzzy{z{zzyyyzyyzzz{z{{zyyzyyzzyzzzyzyzzzx{yzxz{zzzzzzy{zzzyyyyzzz{{{{{{zyzyzyyxy{zz{{z{yyzyzzzxzyzzy{zzzzzyzyyzzzzyzz{zzzzzz{zz{z{{|zy{yyyzzzzyzzzzz{z{zyzzzyzzzz{|zz{{zzyzzyzz{z{{{zz{{zzyzzz{z{zz{{{{{zz{yzy{{{z{{z{{{z{{yzyz|{{{{z{z{yyyzzzzzzzz{{{{{yzzzzz{z{{{zz||{{{yzyzz{z{zz{|{zzy{yzyy{{zzzzz{{zyzyzyyzzzyzzzzyzzxyyzyyzzzzy{{yyyyzxyyz{y{zz{z{zyyyyyzzyyzz{zzzyzyzyyyzzzzyzzzyyyyxxyyyzzzzzyzyzyyyyyxzzzyzzzy{zyyyzzyzzzzzzzzxzzyxyyyzz{zzzzzyyyzxzyyyyyzzzzzzyyyyzyyzzzyzyzyyzyyyyyyyzzzyyzzyxzyxyyzyzzzxyz{zyzzyyyyyzzzzyzzzyzyyzyyzzzzzyz{zyyzzyzzzz{z{zzzyzzzyzz{zzyzzzzyzyzyyyyyyz{zyz{zzxzyyzyzzzzz{zzzzzzzzyyzzz{{zzzzzyzzzxyz{zzzz{{zzz{yzzzzz{{{{z{{yy{zzzyyzzz{z{{|zzzzzyyy{zz{|z{{zzyzzz{y{|{z{z{{{zyzyz{{{z{{zz{{{z{{zzzz{{zz{{|{zyzzyzzzz{yzz|{{zzzz{zzzzz{zzz{|zz{zzyzz{z{zz{{zzyzzzyyzzz{z{{{z{z{yzzyyzzz{zyzzzyzzzzzz{z{zyzyzyzxyyyyyzzzyzyzzzyyyzyyzzzzzz{zzzyyyzyzxzyzzzz{{yyyzyyyyyzzzzyzz{zyxyyyyzzzzzzz{zyyyzzzzzzzyzy{zzyyyzyxxyyzyzzzyyxxyyzxzzzy{z{yzyzyyyxyzy{zzxzzzyyzyxyxyzyz{zzzyyyyyyyxyz{z{yyzyzzyyzyyyyzyyzzzy{yzyyyzzy{yzy{zzyzzzyyzzzzzyyz{{yzzyyyyzz{zzzzz{zyyyzzzzzzzzzzzzzzzyzyyzzz{z{zzzzzzyzxzzy{zzzzzzzzzzzyyyzz{yzz{zzzzyyyyzz{{zzyzzzyzzyzzzzzz{zz|zzyyzzzzz{{{z{{{zzzz{zyzy{{zzz||{zzzzzz{z|{zz{{{|z{{zzz{zzzzz{{{|{zz{z{zzz|{{z{z{zyzyyyzz{{{z{z{z{zzzzzzzz{z{{{{|{zzyz{zz{{zz{{zzz{zyzz{zzyz{z{|zzyyzyzzzzz{zyz{zzyzyzzzyy{{z{yzxxyyyyyyyz{zyy{zzyyzyyxyyzzzzzzy{yzxyyzyy{zyzzzy{z{yzyzyyz{yzyz{zyy{yxzyxzzzyyzy{yyyyzxzxz{yyzz{yyyyxyyyyzyzyzzzzyzxzyyxyyyzzyzz{zyzxxyyyxzyzzzzyyxzyyyxzyzyzyzyyyyzyxyyxyzz{zyzzzyyyyyyzzzzzyyy{yzyxyyxzyzyzzzzyyxyyyyyyzz{zzzzzyyzyzzyzzzzzyzzzzyzzzyzxyzzzz{zyyyyyyyyyzzz{zz{zzzyzyyzyyzzzzz{zzz{zyyyxz{z{{zzzzzzyzzyzzzzzzz{zzzz{zyzzyz{z{{{zz{zzzyyzzzz{zzz{zyzyzzyyz{{{z{|z{zzzzyzz{z|z{z{{yzyyyzzzzzz{{{z|{y{zz{zzz{z{{zzzzyzy{zyzzzzz{{z|zy{zzyzyz{z{{yz{zzz{zzyz{z{z{{{zz{zyz{zzz{z{z{z{zz{yyz{zz{zzz{{{zzzy{yzz{z{zz{zyxyyzyxyyyz{{zz{zzyzxxyzyzzyz{zyzzyyyyyxy{z{zzzzzzyxyyyyzyzzzy{zzzyzzxyyyzzzyzzz{yyzyyyyxzzzyzzyyyyyzxyyzyy|yzyyzyzyyxyyyzyy{yzyxyzyyyyyyxzzyzzzyzyyzyyxzyzyzzzzy{yzzyyyyyzzyzyzyyzzyyyyyyyzyzyzyyzyyyyxyy{zzyzzzzyzxzyyzzzzy{z{zzyyyyz{yzyyy{yyz{yyzyxzyz{zzzzz{xzyyyzyyyzyyzyz{zzzyzyzzzzzzzzzzzyyyzzyyzzzzzzzzzyzzzyyzz{zyzzzz{{yyzzyxzz{{{{zzzz{yy{{zyzz{zzz{zzzyzzzy{zzz{{z{{yyzzy{zz{{y{{{{zzzzyzzzy{z{{{{zzy{zyyzzz{z{{z{|zzz{yyzzz{{zz{{{zz{zyyzyzz{z{z{z{zyzzzzy{{z{z{{{{{zyzzzyyzzzzzzzzzy{yzyzzzzzy{zyzzzyyzzyzzzzy{yzzyyzzyyyyzzzzzz{yyyyxxyyyzzzyzzzzyzyyzyzzyzyyzz{yyyzyyyyzzzzyzz{{yzyyyzxyyyyzzzzyyyyzyyyyzyyzzzyzyyyyyyyzyzzzzzzyyyyxyyyzyyzyyy{yyyyzyyyyzz{z{yyzyyzyyyzyzyy{zzzzyzyxzyyzzzzyz{{yzyyyyzyyzzzzzzzyxzzyyyyyzyzz{zzzyzyzzyyyyz{yz{zzyyyyyyxz{zzzzzzyzzyyzyzzyy{{{z{zyzyyzyyzzzzz{{zzyyyyyyyz{zzzzz{{zzyyzyzzz{yzz{zzzzzyyzyzzyzz{{zy{zzz{zz{zzzz{{{zzz{yyzzzzz|{zz{z{zzyzyzzz{zzzz{zyzzzyzz{|{{{zz{zzzzzzz{z{{{{{{{{yzzzzyzz|z{z{|{|zzzzzzyyzz{{{z{zzzzy{zzz{{z{{{{zzz{zzzyz{z{{z{{yzzzz{z{yzzzz{{zzzyyyyyzz{{{zz{zzxzyxyyyy{zzy{xzzyxyyyyyzy{zzzzzyyyyzzzyzzzzyz{{zyyyyzyz{zzzyzzzyy{xyyyyyyzzzyzzzyzyyxzy{yzyyzyzzyyzyyyxyyzyz{zyzyzyyyyyzzzzyyyzyyyyyxyyzyyzzzzzyyyxzyyyzzzzzz{yyyyyxyxyyzzzzzzzyyzyyyyyzz{zzyyzzyxzyyyyy{zzzzzzyyyyyyxyzzz{zzyzyzzy{zyyyzyzyzzzzyyyzyzyzzzzyzz{zyyzxyzyyyzzyzz{yzyyyzyzzzzzz{{zzzyzyxzyz{zzzzyzzzzyyyzzzz{yzyzzzz{yyzyzzyzyzzzyyzyzzzyy{z{zzz{{yyzzzy{yz{z|zy{zzyzzzzzzz|{{z{{zzy{zyy{y{{{z{{{zyzzz{zzzzz{{{{z{zz{yyzzzz{zz{|{{zzzzyyyzzz{zy{|{{zzzzzyzyyzzz{{{{zzy{zyzzzzzzz{z{{yy{zzzzz{{z{{{yyzzzyzzz{{zzzzzzzyyyyyzzzzzzzyzzxxyxyyyxzzzzzzzyyzyxyxxzyzzzz|zyyyyzyyyzzyzyz{zzxzyzzyyyzyzyzzyzzyyyyyxyzz{zz{zxzxxyzzyyzyyyyzyzxzzyzxyyz{yy{yzyxyyyyyzyy{zzzzyyyxyyxyyzyzyzyzyyxyyyyxyy{zyzyzzzzzyxyyxzxyz{yzzyxzyyxzxyzyyzyyyzyyyxxyzyzyzzz{zzyzxzyyyzzzyzzzyzyzyzyyxzyzzzz{zyyyyyyzyzyyzzyzzyyzyyyyyzzzzyzzzzzzyyzzyyzyzz{yz{xyyzyyyzz{z{zzzyyyzzzyyzzzzy{zzzxzyzzyxzz{{{z{yzyyzzyzzzzzzz{{zzzzyzyxyz{zz{{|z{zzyzyzx{zz{z{{|zzzzyzz{{z|{z{z{zxzyyzzzz{z{zzzz{yy{zyzyzz{{z{yz|yyz{zyz{z{|zz{{z{{zyzyz{{{z{{||zyyyzyzzyzyz{zzzzyyzyyzxzz{{z{yzyzyxyyzyzzzyzzyyyyxzyzzxyzzyzy{yyyyyyyyyzzyzyz{zyzxyyyyy{zyyzy{{zyzyyyzzyyzyyzz{yzzyyyyyzzzzyzz{yyzyyyyyzzyyyzzzzzxxyyyyyzzzzzzzzyyzyyxzzyz|yzzzyzzxyyyxyyzzzyzzyyyxyyxxxyzy{zzzyzzzyyyyyyzyz|zyyxzyzyzxxyyyy{zzxyxyyyyxyzxzyzz{zyzyyzyzzzzyyz{zzzyzzyyzzzzyzyz{yzzyyyzyzzyz{{z{zyyzyyyyzyzyyzzzzzyzyz{yyy{{z{zzyzzyyzzzzz{{z{{zyyyzyzzzyz|zyy{{yzzyyyz{z{z{zzy{zzzyzzzyzz{{z{z{zzzzyzyy{zy{z{{{{zzzzyzyz{{zz|zzzz{yyzzyz|z{z{z{zyzyzzzy{z{z{{{{{zzzyzzz{{z{z{z{{yyzzzyzzyzzzz{|{{zyyzy{z{{{z{z{zzzyzyzzy{z|{z{{z{y{{zyyz{zzzzzzzzzzzxxyzzzzzyyzyyxyxxzxy{zzzzzyyzyzzyxzzzzzzz{zzzxxyyyzz{zyzzzzyyzzyzyzxz{yz{zzzzyyzyzy{zzzz{zzyyzyyyyyyz{yzzzzzyyzyywyyzyyyz{zyyxyyzxyzyyzyzyzyyzyyyyyyzzzy{zzzyzyyyyyyzzyzzz{zyyzyyyyzzyzzy{zyxyzzzyyyyzyyzyzyzyyyyzyx{yzz{{{zyyzzzyyzyzzzz{zyyyzyzzzzzzzzz{{zyzy{zzz{{zzzzyzzzzyyzzzz{{zzzzzzyzzzyyyzzzzzyzyzyyyyzyzzz{yzz{{yyzyyyzyy{zzyzzzzzzzyyzzz{z{z{{zzzzzyyyz{z{zz{{{zzzxzyzyzzz{zz{{zyyzzzzyz|z{{{{{{z{yzzz{{zzy{z{{{zzzyz{zz{{{z{z{z{z{yyzz{zz{z{{z{yyyzzzzz{{{{{||{{yzzzyyzzz{zz{{z{{yzz{zz{zz{{{zzy{zyzzyzzz{zzzzzzzzzyzyyzzyzzzzzyyyyyyxyzzyyz{zzzyxyyyyzzz{y{zzyzyy{yyy{{zzzzzzyy{yyyyzyyzyyzzzyzzyxzyyzyz{yzyzyzyyyzzyzzzyzzzyzzyyyyyyzxzzzzyzyyzxxyyyyyyzyyyzyyyyxxyyzzzx{yzyyyyyxzyyyyzzzzz{yzzyxyxyyyy{zzyzzzzzzzyyyzzyzyyzyzyyzyyxyy{zzzzzyxyyyzyyyzzzzzzzzzyzzzyyzz{yy{{zyyzyzyyyzzzzzzzzyzyyyzyyzz{{zz{z{zzzzyyzzzyzzyzzzyyzzyzyzzzzzz{{yxyyzzzyzzzzz{z{yyzzyzzz{{z{z{{z{zzzzyzz{{{{zz{{zzzzz{zyz{z{{{{y{yzz{yzyz{|z{z{{{yyzzzz{{z{{z{z{|{zzy{zyy{{zzzz{zz|zyz{zzz{{zz{zzzzzzzz{{yzz{{{{{zzzzzzy{{{zz{{{zzzzzz{z{zz{{{{{zzzzzzzyz|zyzzz{zyzyyyyyyzzz{zzyzyxyzyzyyzzz{yzzzyyzyyyzzyyzyzzzzyyyzzyxyyzzyzzzzyyxyyxyzzzzzy{{zzyyyyyxz{zzzzzzzyyyyyyyyyzzyzzzzzyyyyyzyzzyy{zyyxzyyyyyzzzzzyzzzyxyzyzyyyyyzyzyyzyyyyyyyzyyzz{zzyyyyzyyx{zyzzzyzyyzzyxxyyzz{{zyxyyyzyyyyzz{y{yzywzyyzxyyyzzzz{{{yyzyxyyz{zzyzz{zyyyzzzzzyzzzzzzyyzyyyxyzzyzy{{{zzzyyzwzyzy{zz{yzyyyzyyxzzzyz{{zzzzyyzyy{zzzzzzzyzzzzyzzzzz{{{z{zyzzzzzzzzz{{z{{{yyzzyzyzz{zz{z{zy{yyyzy{zz{zz{z{zyyzzyyz{{{{{z{{zzzy{zzz{{zzz{{zz{{zzyzz{zzz{z{zyyzz{yyzz{{{{{{{zzzzzy{{{z{{{{{{zzzzzyzy{y{z{z{zzzzz{zzz{z{zzz{zyzyyyyy{zzzzyyzzyyyzyzyyyzzzzzzyzzzyzyzyzzzzzzyzyyyzzyx{zzyzyzzyyyyxyyzyzzzzzz{zyzyyyyxzzyzyzzzxyxyyyzyyyzyyzzzzyyyyxyxyy{zzzzzzyyzxxyyyz{yyyzzyyyyyyzzyyyyyzzzzyyyyxxxyzzzzzzzzzzyxzxyzzz{zz{zyyyxyxzyyyzzzyzzyyzyyyyzyzyyz{yzyyyzyzzyyzzyy{z{yzyyzyyzyz{xz{y{zzyzyyzzyzzzyzzzzyyzzyyzyyz{yzzzyzyyyzzzxzzyzyzzzxzyyzxzz{{zzy{z{zyyyyyyyz{zz{zzzzzyzzy{z{z{{{{zyzzyzzyyzz{z|{||zzzzyzyyz{{zz{zz{yzzy{yzzzzzzy{z{zyzzzzyy{{z{{{z{zyzy{yzzz|z{{{{{zzzyyzx|z{{z{zzzyzzyzz{yz{z{zzz{zyz{z{z{z{{{{z|{{zyzz{yzzz{{{{{{yzxzyyy{z{{{{zzyzzyzxzyzz{zzzyzzzxyzxxxxyzyzzyzyyyyzyyyyyzz{zzyyzzyyyyxzyzyzzy{yyzyzyyxy{{{yyz{zyyyyyxyzzyyyz{zyyzxyyyyyyzyy{{zzyyzyyyxzyzzyzyzzyyyzzxxyzzyyzyzyyxxyyyxyyyzyzzzyxyxyyxxzzxzy{zzzzzyxyyxyzyzzyz{yzzyyyzxzyzzyyzzyyzyyyyyyzyyxyzzyyyzyyyyzzzzyzzzyyxyzyyzzzyzzzzzzzyyyxzyzzzzzyzzyzyyxyyyyzzzzzzyzyyyzxzzzyyzzzz{yyzzzzyyyzzzz{zzzyyzzzyzyz{zzzz{zzyz{yyzz{{{zz{{yzyzyzzzzz{{zz{zyyyyzy{yzzzzz{z{{zxzyyzyzz{z{|{zyy{zzzzz{{{|{{|{zzyzxz{{z|z{{z{{zxzzzzzyzz{{z{zzzyyyzzyzyzzz{|{{yzz{zyzyz{zzzzz{zz{yzzyzzzzz{{{{zyzzzzxzzzz{zz{zzzyxyyyyyzzzzz{yyyyyyyyyyyyyyzzyyzzyxxyyyyzz{zz{yzyyxzxxyzzzzz{{zyyyyzzyyyzzzzzzyyyyxyyyyyzyzyyzyzyxyxxxzyzzy{zyyzyzyyyyyyzxyzxzyzyyyxxyyyyyyzzzyyyxzyyyyzyzyyzzyxyyyyyzyy{zz{zzzyzyxyxyyzzzzzz{zzzxyyyyyzz{zzyzyyzyyyyyyzxyz{zyyyzxyzyy{yzyzzzzyyyzyyzzzyzy{zz{yzzyyxzyzyzzz{zzxzyzyyyyzyzyzz{yzzyxyyyzz{{zzz{{xzzzyyyzzzzzz{{yzyzyyzyxy{{zz{zzzyzyzzzyy{z{zz{{zyzzzyzz{zz{x{z{zyzzyxyzz{{z{z{z{yzyzzzyz{{z|y{{{z{yz|zzzzzzz{{{zyyyzzzz{{z{|z{zyyz{zyyy{zzz{z{z{yzyyzzzz{{zz{{{zyy{zyyz{zz{z{{{yzyyyzzyyzzz{z{zzyzyzzzzyzyzzzz{zyzyzyzyzzzy{zyyyyxxxyyyyzyyyyyzyyyxyyxyzyzzy{zzzyyyxyyyyyzzyy{yyxzyyyyyzyz{yy{zzzyyyxyyzyyzzzzzyyzwyyxxyzzyzz{zyyzxyyyzyyyzy{xyzyzzxyyzyyzzyyzzxxyyyyzyyyzyzz{zzyyyyxxyzyzyzyzyyyyzyzyyyyzzyzzyzzyyyyyyyzzzzzzzyyyyyyyyyzzyz{zzyyyyyzxyzzzzzz{zyyyxyyyyzzyzzzzzyzyyyyyyzyzyzzzzzyzyzyyyzyzzzzzzzzyzyxzyzzzzzzzzzzyzyyxzyz{yzzzzzyzyyyzyzzzzzzyzzzxzzy{yzyzzzz{{y{zzzyzzz{zzzz{zzzzzyyyyzzzz{z{zzzzzzyzz{{yz|{{{zzz{yz{zz{{{|{z{zyzyzzyzzzz{{{{zzzyz{yz{{{yzz{zzzyyzyyyzz{{zzzz{|zzyz{y{{{y|{z{{zzzyzyzy{zzzzz{{zyyzyyz{zz{yyzzzzzzyzxyyz{yzz{zyyxxyxxxyyzzz{zzzzyyyxyxyyzzzy{zzyzyyyzyyzzz{zz{zyyxyyyyxzyzzxzz{zyyzxyyyy{yzyzz{yxzyyyyyyzyyyzzzyxzyxxyyzzyzzyyyyxyzzzyzyyyzyz{zyyyxyxxyyzyzyzzyxzyxzzxyyzzzzz{yyyyyyyyyy{yzyyzzzzyyyxyyyzzyzzz{zyyyxyyyyzzzyyyzyyyyyyyyzyzzzzzyzyyyzyyyy{yyyzzzyyyyzxyzz{zzyz{zzyyyyyyyz{zzzz{zyyzzzxzyyyz{zzz{zzyxzyzyz{{zzy{zyyzzyzyzz{zzyz{zyyzzzyyyz{{zz{{zzzyyzy{yyzz{{z{{zyyyyyyyzzzy{{{zzzyzyzz{{{{{z{zz{{{yzzzzzzz{{zzzzyzzz{zzy{y{{|z{yzz{xyzzzzy{z{zzzzyzyyzzz{zz{z{yzyzzzyyz{|z{{{{{zyzzyyzyy{{zzz{z|zyzzyzzzz{zzz{{zyzyyxyzyzzyzy{zyyxzyxyyyzyzyzz{yyyyxxxxyzzzz{zzyzyyyyywzzz{yzzzywyyyxxxz{{zzy{{zyzywzyyyyzzyzzzyyyxxxyxzzzzzzzzyyzyyyyyzyzyzzyyyyyyzzzyzzyzzzzzxyyxyxxyyzyzyyzzzyyzyyyyzyyyzzzzyyyyxxyyyzzzyzyzzyzyyxyxyyyzzzz{zyxyyyyxyzyyyzzzyzzyyzzyyzzz{z{zzyyxyyyxzzzzzzz{xyxzyzyyzzzyyyzzyzzyyyzz{{yzz{zzzzyyzyzyyzzzyz{zzxzyyzyy{{zzzzz{yzzzyyzzzz{zz{zzzyzyzyzyz{{{{zz{yzzyzzzzzzzzzzzzzzzyyyzzzzzz{zzz{z{zz{{y{{zz{|z{yy{yzzzzzz{{z{{zzzyyy{zyz{|z{{{{zzyzzzzz{zzzz{{{zzzzzzzzzyzz{z|{{yzzzzy{{zzzz{z{zzzyzyyzyzzz{{{{z{zyzzyyzzzz{zzzzyzyzyyzzzzzzzzzzxxyyzyxzyzzyyz{yyxyzzyyzzz{{{z{yyyyyxyyzzzyz{z{zzyyzyyzyzzzzzzzzyyyyyyxyzzzzzzyzyxyyyzyzy{yy{zz{yyxyzyyzyyzyzzzyzyxyzyzyyzzyzzzxxyyzyxyz{zzyyyyyxyyxzyzzyzyyyy{zyzyyyyyzzz{zyz{zyzyyyyyyzzyzzzyzzxy{yyyyz{zzyzzyyzyzzyyzzz{zyzzyyyyyxzyz{zyyzz{zyzyyzyzzz{xzzzzzzyyyyyy{{{z{yz{zzyyyyzyyzzy{{zyzzzyyyzyzzz{{{zzyyz{yzzyzzzy{zzz{zyzzzzz{zzz|zzzzz{yzz{zz{zzz{z|zz{zzzyyz{{{{zzzzxzyzy{yz{{{{{{{zzyzz{z{{{{{z|z{zyz{zzyzz{z{{{z|zzzzyzyz{{{z{{{|zzzzzzyzzzzz{{|{zz{z{zzz{{z{{zz{zzzyzzzzz{zzzz{{zyzzzyzyz|z{z{zzzzzzzzyyzyyyy|xyxyyzzyyxyzz{z{zzyyyzyzyyyyzz{{yzzyyyzzxy{z{zzzzzyyzy{xyyy{zzyz{{zyzxyyxyzzzzzzz{zyyzyyyxzzz{{zzyzyyyyyxyzyzzyzyzyyzyyyyyyyzyzzzzxyxxzyyyyzyz{zyyzyyxyyyyyzyzyzzzyzyzyyyxzzzzyy|zyyzyyyyyyyzxz{yzyyyyxyzxzzzzyzzzyxzyyyyxzyyzzzzzzxyyxyyzyzzz{zz{zyyzzzyyyy{zzzzzzyzzyyyzzzzzz{zyzyzzzyzyzzzzzzzzzyyyzyyzzzzzzz{zzyzzzzyz{y{{zzzyzzyyyzyzz{{zzyyzyz{zzzzz{zz{y|{{zzy{yyzzzz{{{z|{zyzzzyzy{{z{zzz{zzzzyzzzz{z{z{z{zzzzyzyzzzzz{{{{zyzzzzyz{{{z{{{zzyzzyyyz{{{zz{{z{zy{zzyz{{{zz{{z{z{yzyzzz{{{{{zzz{yzyzzz{zzzzz{{zzyzzzyzzzz{z{zyyyzyzyzyzyzyzzz{yzzzyyzyzzzz{z{zzzzyzzyy{yzzz{z{z{zyyyyyz{yzy{zzzzzyyyyxyyzzzyy{zzzyzxyyz{zy{{z{zyyyzyyyzzyyz{z{yyzyyyyy{zzzzz{{zxyyyyxzy{yzzzzyzyzzyyzyyz{zy{zzzyyzxyzxyz{zy{zzyyyzzyxyyyyyzyzzzy{xzyzyz{xyz{zzzzzzzzzyyzzzzz{{zzzyyyyzyzzz{{y{yzzzzxyyzzyzz{zzzzzyzxyyzy{zz{{zzz{z{yzy{{{zzz{yzyxzyzzyzzz{zz{z{zyz{zzy{{{z{z{zyzz{zzzz{z{{z{|{zyy{y{{{z{z{{{z|zyz{zzyyz{zzzz{zzyzzyzyx{{{z{z{{zz{zz{z{zzz{{z{{{y{yzzzz{{{zz{{{{y{zzzyz{zz{z{z{{zz{zyzz{{z{{{z{zz{|{yz{{zz{|{z{z{zzzzzzy{{z{z{{zzzy{zzy{{{{z{{{zyyyzyxz{zz{z{z{xyzyyzyyz{zyyyz{zyyyyyyyzyzzzz{{zzyyzzxyzzzz{{{{yyzyyzyzzzz{zzyyzyyyyzyzzzzzz{zzzyyyyyzyzzzzz{zzzyzzxzzyyyzyzzz{yyyyyyyzyzyzyzzzyyyyzzzyyyzyz{zzzyyzzzyyzyzzyy|zyzzyyzyxzzzzz{zzzzyzyyyzyyzyyzzyyyzyzyxyxzyzzz{zyy{yyzyyzzzzzzzzzyzyyzyyzz{yz{z{{yzyyzyzyzyzy{z{yz{yyzyyzzzz{{zzzzyyzyyyzz{y{{zzyz{zzzzy{z{{zz{zzyy{zyy{y{zzz|zz{yzyzzz{z{{z|zz{zyzzz{{z{zz{{{{zzyzz{{zzz{{z{|{z{yyzzzzy{{zz{z{|zzzzzzzzz{zzzzz{{zzzyzzzz{{|{z{{|zzzzyzz{{{z{|{{{zzzzzz{{z{{zz{z{zzzzz{zzzz{{{{{z{zzz{{{z{{{{z{{z{zyyyyyy|zzz{{zzyzzzyzz{z{z{zy{zyxxyyyxyzzyzzzzyzyyzxxyyzyyzyzzzyyxzyyyzzyzz{z{zyzzxyyxzxzzzz{zzyzyyxyxzyzzzzyzxyzyyyyxz{zyyzyzyzyyyyyyyyyzz{zzyyyyyyyyyzyzzyyzyyyyxyyyxzyyyz{zyyyyxyyzzyzzzyzzyyyyxyzyyzzyyz{zxyxyyxxyzzyyzzzyyyzyzyyxyyzzzzyzzyyyy{yx{{zzz{{zzyyxyyyyzzzz{z{{zyyzyyzyzzzzzyy{yzyyzzyyyzzzz{zyyyzyyyyyzzyzyzyyzzzyyzzyzzzzzzzyzyyzyzyz{z{zzzzzzyyzyzyz{z{{{zz{zzyyzz{y{zz{zzz{zzyzyyzz{{zz{z{z{zzyzyzz{{{z{z{zzzzzz{zzz{zy{{{{{zyzyzzz{{{z{{{{{yzzyz{yzzzz{{zz{yzyz{zy{zzzzz{|{zzzzzyz{{zzz{{{yzzxzzzy{zz{{{{{yzxzzzzyyzz{zz{zzyzyyzzzzyyzzyzzzyyxzyyyzzzyyzzzyzyyzyyzzzzyzz{{zzyyyzyyzzyzzz{zyyyyyyyyyzzzzy{zzyyyzyzxzzz{yzzzzyyzyyxyyzyyyzzzzyzyyyyy{yyzyzzzyzyyzyxyyzzyyz{yzxyyzxyyyzyyyz{zyyzyyzyyyyyzzzyzyyzyyyyxyy{zyyz{yzzyzxyxy{zzzy{yyyyyyzzyyyyzzyzzyyzzzyyyzz{yzzzzyzyzzyzy{zz{zzy{yzyyyxzyzzyyzyz{zyyzyyzzz{{{{{|zzzyzyyzzz{{z{zzzzyzyyzyy{zzzyz{zyzyy{yyyzz{zzzzz{zzzz{zyzzz{{z{{yzzyzzyz{yz{{z{{yyzzzyyz|zz|zz{z{yzy{yzzzzzz{z{{{{zzyzzzyzz{{{z{{zyzzzzzz{{zy{z{{y{yzyyz{{{zz{{zzyyzzzyzy{zz{{{|{zyy{zzz{{z{{{{|zzzzzyzy{zzzy{z{zzzxzzzyz{zzzyzzzyyxzyyyyzz{zy{zyxzyyyxyxzzz{zyzyyyyyxyyzz{zzzz{zyyyyxzyzzzzzyzyzxzxyyzy{yzzyzzzzyzzyxyxyzzzyzy{zyyyzyxxzzzyzzzyzzzxyyyyzzzzzz{yzzzyyzyyyyzzyzz{yyzyzyzzxyzyzyyyzxyyxyyyzy{zzzyzzyzzyxyxzyzzyz{zyyzxxyzyzzyzzzzzzzxyyyxyzzzzz{{zzyyyyyyyzzzyyzz{zzzzzxy{z{z{z{{z{yyxyyzyzz{{zzzzyzyyyxzyz{zzy{zzzzzzzzzyzzyzz{zzzzzzyyyz{z{{zy{zzyzzyzyyzzyzzz{zyyzzyzzzzzy{y{{zzz{zyyzz{{yz{zz{yzz{zyyyzzzyzz{z{yzz{z{z{|zzz{{|{zzzyz{{zy{zz{z{{zzzzzz{z{{z|{{{zz{zzzzy{zzzz{{{{yy{zzzzz{z{{{{{z{zz{y{{z{{{zz{zyzyyyyyz{yyz{z{{{zyz{z{yzzzyzz{{yzzyyyzyyzzzzzzzyyzyyxxxzzzyzyyzzyyyyxzzzy{zzz{{yzzyyyyxyyzzz{{zxyyyzzyyzzzzyzz{yyzyyyyyyy{{zzzzyyyyyzzyzyzyyyzzzxyyzxyyyz{yyzzyyyzyyyyyzyzzzzzzyyxyyyyxxzzzyyzyzzyyxyyzzzzz{zyzyyyzyzyxzzzzzzzzyyzyzzyzyzzzzzyzyyyyyxyyyyz{zzzyyyzzzzzzzzzyzzyzzyyxzzzyyzzzzz{{zyyzzyzyzz{zyzz{yyzyyzzzzzyz{{z{zyzzzyyzyz|{z{z{yyzxyzyzz{zzz{z{yyyyzyyzzz{yz{{{yyzzyzzzyzz{{zz{zz{zzz{yz{z{z{{{zyz{yyyy|{zzzz{{zzzy{zzz{{{{z{{{zzzzzz{{z{z{{zzz{z{zzzzzz{zz{{z|{zzz{yyz{z{{z{{{zzzzzz{zzz{{{{zzzzzzzzz{z{z{{z{{z{zz{{zzzz{zzz{{{yzzyyyyzzz{{{{yxyzyzyzzzzzzzzzzyyxyxyzyyz{xyz{zzyyyyyyyyzyyyzzzyyzyxzyzzyzzyzzyzxyzxzxzyzz{zzz{yzyyyyzyzz{zy{z{zyyxxyzyzzzzzy{yyyyyyyyzzzyyzzzzyyyxyyzyzzzzyzzyyzxyyyyzyzzzz{zzyyyxyzyyzyzzzzzzyyyxxyxxxzzzzzzzyxyyyyxyyyyzyzyyzyyxzxzyzzzzyz{yzyyzzyyzzzzzzyz{zzyyzyzxzyzzzyzzyzzyxyyy{z{zyyz{yzzyzzyzzzzy{zzzzyzzzzzyzz{zzz{zzyyyyyyzz{z{y{{{zzzyzzyxzz{zzz{zzzzzzy{yzyzzz{{z{zzzzzyzz{yz{z{{zzyzyyyzyz{zzz|y{yzyzzzy{zz{{z{{zzzyzzzzz{zz{z{{|zzyzzzzz|{zz{{z{zzzzyyy{z{{z{yz{zzzzzyz{{yz{{{{{zzz{zzz{{{y{{zzzzzyzzyyz{z{y{zz{zzzzzzzzzyzzzzzzzzyyyyyzzyzzzzzzzxxyyzyyyzzyyzzzzzxyxyyzyzyz{{{yzyyyyyyyyzyyzz{yyyyzyzzyzyzyyyzyzyyxyyyyzzzzzzzzxyxyxyyyyzyzz{zyyyyyyyyzyyyxyyzxyyxxyxyzzyzzyyzyyyyxyyyxyyyyzyzyxxyyzyyzyzzzzzzyzxxxzyzyyyyzy{yyyyyyyzyxyyyzyyzzzyyyyyzzyyyzz{zzyzyyxzzyzz{y{{zzzyy{zyyyyyy{{zzyzzyyyzyzyzzzz{zzzzyzyyzyz{y{z{zzyyyzzzyzzzzzz{yyyzyyzzyzyzyzz{zzzzzzzxyzyyzzzyzzzyyzzyyzzzzzz{{zzzyzyzy{{zyzz{{zyyzzyxyz{zz{{z{zyzzzyzyz{{z{{z{{zzyyy{zz{zz{{{{z{zzz{zzz{z{{z{zzyzzyzyyz{zz{{{zzyz{yyzyz{zyz{{z{{yzzzz{z{z{{{{{{yzzyyyzyzy{z{{zzyyyyyyyy{z{yzyzzzxyzyyyzzzyzyzzyyyyyxyyyzzyzzz{yzyyyyyyzzzzzz{zzyyyzxyyzzzzzzzzyzzyyyyxz{z{zzzzyyyyyzzxz{yzzzzzyyzzxyzyyyzxyzyzzwzzyyyxyy{yzzyzyyzyzzyyyzyzyzzzyyzyzyyxyzzzyzzzyyyzyyzyyyyyzyzzzzyyxzyzzz{zyzzzzyyzyyxxyzyyzzzzzyyyyyyyz{zzyzzyzyyyzyyxyyzzzzz{zzyzzyyyyzzy{{z{zyyzzyzz{zzxzz{{yzzyyzyyzzy{zzz{zyzyzyyzzz{zz{{zzyzyyyyy{z|yz{|zzzyzzyzzzz{z{{zzzzzzzzyzzzz{zz{{{zz{yzz{zzy{{{zzyzzzzyyyz{z{{zz{zzzyyzzzz|z{|{{{zzzzz{yz{{zzz{|zzzzzzz{yz|z{z{|zzzz{z{zz{z{z{{|{{zyzzzz{{{zzz{z|zz{y{zzzz{zzzz{|zz|zyzzz|zzzz{{{zzz{yzzyz{zzz{{yzzyyzyzyzzz{|{zyzyyzyyyyyz{zzzzzzzzyzxyxzzzy{z{|zzyyyyzzzzzzzz{{zzzyzyzyzz{{zyzzyyzyxyxx{zzzz{zzyyxyyxyyyyzyz{zyzyzxzyyyyzzyz{yzzzyyyyyyxzyzzzzyyyyyyzyyzyzyyzzzyyyzyyxzyyzzy{z{zyyyzzyyyzyzzzz{yzxzyyzxyzzzyxzzzyyzyyyyzzzzyzzzzyyyzyzzyz{zyzzz{zyxzyyyzyzzz{{zzyyzyzzyzyzzzz{zzyzyyzyyzzzzzz{zzzzyzyyzy{z{y{zzzzyxyzyzz{{{{z{zzzyyzyzz{{{{zy{z{{{z{zzyz{|z{zz{yzzzzzzz{zz{y{{{zyzzzyyzz{{zzzzzzzy{{z{z{zz{z{{{{zzzzzzzz{{z{{{{zy{yzzzzz{{{z{{{zzz{zzzy{z{z{{{{zzzz{zz{|{{{{|{zzzz{{zy{z{z|zz{z{z{zzzzyzzzz{{{zzzzzz{zzy{zzzzzzzyyyzzyyzzz{z{yzyyxxyyyxzz{zyzzzzyyyzyyxzz{{zzzzzyzyyyyzzy{z{{zzzyzyyyzyzzz{{zyzzyyyxyyzyyzzz{zzyyzyyyzyyzzyzz{zyzzxzyyyzzzyyzyyzzyyzxyyyzyzzyzzyyzyzyyyyzyzyyzzzzxyyzxzzzzyyzzzzyyyyyyxyzzzzyzyzyyxyyzyyyzzyzzzzzyyyyyyz{yzzzz{zyxzzyyyyyyzzzz{zyyzzyyyyzzzz{zzzyzyyyyy{{z{zzz{zyyzyyzy{zzy{zz{zyzyyxzzzzz{{z{zzzzzzzzzzzzzy{zzy{yxzyyz{zzzyzzyzzyzyyyzzzz{{z{{{z{zzzzy{zz{z{z|zzyy{zzyzy{zzz{z|zyzzyzz{|z{{{{{{{{z{z{y{z|y{{zz{zz{yzzzzzz{{z{zzzzzyzzz{z{{{{{{zzzyzzz{{zz{{zz{{{zzz{z{{{z{{z{{z{zyzzyy{z{z{{{{zzyzzzzyz{zzzz{zzzzzzyzzy{z{zzzyyzyzzyyxy{zzzzzzzzzyyyyxzz{zzzyz{yzyyz{yzzzzyz{zzyzzyzyyzyzzzzzzzzyyxyyyyzzzzzzyyyyyzyzzyzyzzz{zyzyxyyzzzy{yzzyzzyyxyyyzyyzyz{zzzyyyyyxyzzyzxzzyyzyyyyyyzzzyz{zzyyzyxyxyy{zzyzzzyyyyyyywyzzyyyzyzyzyyxyyx{zyyz{zzyzyy{yxzyzyzzz{y{zyzyzyyyzyzy{zyzyyyy{yzzz{{{zzyzyzyzyyzzzzzz{z{yzzyzzxzz{z{zzzzyzxzyyyzzzzyz{zzyxzyzzyz{{zzzyzzzy{zzyyzz{{zzzzzzyzyz{zz{zz{zzz{zzy{y{zzz{{z{z{{yz{{zzzz|{zz{{zzz{zy{zyzzzz{{{{{yyzzyyz{{{zyz{{zz{{yzz{{{z{{zzz{zzzzzyyzzzy{{{{{zzyzyz{zyz{z{{{{yyyzzzzzzzz{{{zzzzyzzyyyzz{zzzzyzyyzyyyz{z{{zzyyzyyxyyyzzyzzzzzzzyyyyxyzzzzzzzyzy{yyzyzzyzzyzz{zzzzyzyzzzzzz{{zzzyyyy{xzyzzyzz{zyzyyyzzyzzyyzzzzzyxzxyyzz{zyyzyyyzyyzyyzzzz{zz{zzxyyyyyyzyzyzzyzyyyzzxyyyxzz{zyyzyxxyyyyzzzzzz{yzyyyzzyzyzzyzyzyxzyyyyyzyzyyzzzzzzyyzyxzyyzz{z{yyyyzyy{yzzzyzzy{yyyyyzz{yzzyz{{yyyyyyyyzz{yzzzzyyzzzyyy{{{zzzyyyzzzzyyzz{zzzy{z{yzzzzzy{zzyz{zzyzzzzzzzzz{z{{y{z{yyzz|yz{{{zz{|zyzyzyyy{{z{z{{zzyzzzzzz{{{z{|{zz{{zyyzz{{{{{zz{{zzzy{zz{{{{zz{zzyz{yzyzz{{{{|{{zyyyz{{zzyzz{|{{zzzzyzzz{zz{z{{{{{zyzzzxzz{{z{z{zzzyyzzyzzzzzzzzzyzyzzyzz{zzzzzyyyyzyxyyyzyzyzz{yyyyxyyxyzzzzyzz{yzyyyyzyzzzzyzz{yyz{yyzyyzzy{{zzyyyyyyyy{yzzyzzzyzyyyyyzzyyyz{zzyyzy{yxzyyyy{zyzzyxzzyyzyyzzzzzxxyyyzzyzzzzyzzyyyyyxyyzyzzyyz{zyyzyxxyyyyyzzy{yxxyzyyzxyzzzzz{{zyyzyyxyyzzyyzzzyyyzzyyzzz{zzzzzyyyyyyyzzz{zzz{{zyyyyy{yzy{{y{zzzzzyxzyzyzyzyz{zzyzzyyyyzzyzzz{z{yzzyyyyz{zzzzzyzzzzzzzz{z{zz{zzzzyyzzyzzzz{z{|zzyzz{zzyyzzzzz{{{zzzyyyz{{zz{zzzzzzyzzzyz|{zz{{zzzzz{{zz{zzzz{|{{zzzz{zz{{|zz{{{zzzzzzz{z{{{zzz{{zzzzzyzzz{z{{z{{zzz{z{zzzy{z{||z{zyzzzyz{z{{{|zzzzyyzyyyzzzzyzzyyzyzxyyzzzzyyzzyyzxzyxyxzzyzzzzxxzyyxyyzzzyyzzzyzxyyyzzzy{yzyzzyyyyyxyyzx{zzzzzyzyzyxzyzzzyy{zzzzyyxzyyyyzyzzzyzxyzxxxyzz{yyzzzzyyyyxxyyyyzzz{zyxyyyyyxyyzzxz{yxyyyxzyyzyzyzyy{zyyxxxyyyzzzzzzzyyyzyyyxyzzyzzzyyzyyzyyzyyyyyzy{yyzyyyzyyzyyzzzzzyzyyyzzzzzzyzz{{yzzzyzyzyyzzz{yzy{yyyzx{zzzzyzzzy{yzxyzzzzzzyzzyyzyzyzyyzzzyz{zyxyzyyzy{{yzyz{zzzzzzzzz{zzzz{z{yzzyyyzzyzzz{{z{{zzyyyzyy{{{{zzzzz{yyzzy{{z{zz{|z{{zzzzzzzz{{|{zyzz{zzzyz|y|z{|{|y{zzzyz{zzz{{{zzyzyzyz{{z{zz{zz{zzzzzz{z{{{zz{z{zyxyzyyzzzz{{{{yzzyzzyzyzyyyyzyyyyxyyzyyyxzzyy{xyyyyxyyzyzzyzzxyyyyxzyyyzzzyyz{zzyyyyyzyzzyzz{zzyyyyyxzyyzyzzz{zzzxxyyzzzyzzzzzxyyyyyyyyyzzyyzzzyyxxxyyyyzyyyzzzyyyxyzyyy{yzzyzxxyyyxxyzzzyzzzyyzyyyyyyyyyyzyzzxyzyxxyyyyz{xzzzyyyzyzzyxzyyyyyyyzyyxyxyyzzyzz{zzzyyzyxxyzz{yzz{yzyyyxyzyzyyyzzzzzzyyyzyzyzyzzyzyxyyyyyyzzyyzzz{zxzyyyzyyzz{zzyzzzzzzxyyyzzzzz{zzxxyyzzyzyy{zzzzzxzyzz{yzz{{zz{zyzzyzzyz{{y{{{z{yzy{yxyz{{{zzz{z{yzyzyzy{z|zzz{zzzzyyzzzyz{zz{z{zyzyyyzyz{z{{z{{zzy{{zzz{zzz{{{zzy{zzzyzzyzz{{{|zzyyzzzzzzz{zz{zzyzyzzzyzzzzz{{{zzzyxyzyz{z{zyzzzyzyyyzxzyzzyyzyyyyyxyzyxzzzyzyzzxyyxyyxzy{yzyzzyyzyyyyyzyyzzyzzzyyyyyxyzzyzyz{zyyyyyzyyyyyz{zzzyyyyyyzyy{xyyzzyyxyyxyxyzzzzyzzzyyyyxyyyzyyxyzzyyxyyxyyyyzzyyyzyyyyxxyxyyyyyzzzzyzyyyyyyzyyyzzzyyyxyxyxyyyyyyzzyzxxyyyyyyzyyyz{zzyyyzxxyzyzyyz{{zyyyyyzyyyzxzzy{zyyyyxyxyyyzzzz{yzyyyyyyzzzyzyz{zxzyyzzyyyzz{zzzyyyyyyzyyyz{z{zzyyx{zyyzz{zzzzzzzyyyzzyzzz{z{z{zyzxzzyzz{{z{zz{{zz{yzyzyzzz{zz{{zzzzzzyz{|{y{{{|zzzyzzyyy{{{z{z{yzyzzyzy{{{{zzzzzzzzzzzzzzz{zyzzzzyzz{zy{{{z{{y{{{{z{zyzz{z{zz{{zzyxyyzzzzz{yz{zzzyzzyzyzxy{{zy{yzxyyxyzz{yzzzzzzyyxxxzyyzzzzyyzyyyyyyyyzzzy{zzzyyzzzyyxzyyyzyzzyyzyxyyzzyzzxzz{yyzyyyyyyyzyzzzzyyyyyzzxzyyyzyzyyxxxxyyyyyzzyzzyyyzxyxyyyyyyyyyzyzxxyxyxyzzyzyyzyyyxyyyyzzzzyyzyyxzyxxxxyyzzyzzzyyxyyxyxxzzzzzyzzyywyxyyzzyyyyzzyxzzyzyyyzzzzyzzzxzyyyyzz{yzzyzzyyyzyxzyzyzzy{{{zzyyyyyyzzyzyzzzyzyyyyyyyy{yz{yyzzyyzyzyyzzzyz{yyzyyzzzz{yyzzy{zyyzxyzyzyzz{z{zzzzzzzzyzzzzzzz{{yyzzzyyyz{{zz{{yzyzyzzyxzzzzz{{{zzz{{zzy{||zz{{{{yzzyzzyy{zzzz{{zyyy{yzzzz{z{{zzyyzyzyyzzzzzzy{{zzz{zz{zzzz{{{{{yyzyyyyzyzyzz{z{{{{yzyyxx{z{zyz{yzyyyxyyy{zzyyzzyyzyzxzyyzzyyyyzyyxyzyxyzyzz{zzzyzyyyyyyzzxyyzzzzzyzyyyyyzz{yyzzyyzyyxzxyxzyyzzzyyyyyzyxyzyy{zyzzyyxzyyyzyzyyzyzyyyyxyxyzzyzyzzzyxyyzyyyzyyyyzzyzyzxxyyzyyzzzzzzyyzyxyyyzzyzyyz{zyxyzyyyyzzzzzzzzzyy{yzyyzzyzzzzyyyzzzyxyzz{z{{zyyyy{zzyzzzyzyy{yxyzxyyyzyzzyyzzyyyyzzyyzzzz{z{zyxzzzyyyzzyzzzzzzyzyzxzzzzzzzzzzzyyzyyzy{y{zy{zzzzyyy{zyzzzz|zzzyzzzzyyy{zy{z{{{{zzzzzzy{z{yy{|zzyzzzzzzz{yz{{zzzzzyzzyyzzz{{{{z{yzzyzyx{z{{z{{zzzzyzzzyy{{{{{{zzyzy{zy{zzz{{{{{zzz{{yyy{zz{{z{zzzzzzzzzz{z{y{{{zzz{zyzyz{y{zzzzzyzyyyyyz{zyyzyyxyyzyxxyzzy{zzz{zyzyyzxzxzzzz{zzzyyyzzyyzyyzzz{zzyzyxxxxz{zzzz{y{yzyyxyxzyyzzzyyyyzyyzyxyzzyzzyyzyzxxzyyzzyyyzzyzzxxyxxyyyyzzzy{yzyzzxyyyyzzyzzyyyzyyyyyzyz{zzzzyzzzxyxxz{yzyzzzyzxyzyzyyzzzyzyzzzzyzyyxz{yyyzz{yxzyzyyx{zzzzzzzzzyyzxzyzzzz{z{zzyzyyzyzzzzy{yz{zyyyxzzz{z{{zzz{zyzyzyyzy{zzz{{zzyyyzxyy{zzyy{{z{zyzyzzyzzzyz{z{yzyz{yzzzzzz{z{zyzzzzzyzzzz{zz{{xzzzyyzzz{{z{z{{zzzzyzzzz{{y{z{{zzzyzz{{z{{z{{z{zyzyyz{zz{zzzz{{{zzzzzzy{z{{z{z{{yzxzzyz{{zzz|{{{zzyzyy{zzz{|{{{zzyzyyzzz|z{z{{{{zyzyzzyz{yzz{{{zzzyzyyzyz{zzyzzyyyyzzzyx{yy{zzzyyyzzyyyzzzzzzz{zyxxzyyzzzyzzy{zyzyyzyzzyyzzyz{yyyyyyyyyzzzzzyyzyyyyyyyyzzzz{yzzzxyxzyyzz{yzxzzzyxzyyyyzyzzyyzzzxyyzyyyzyzyzzyyyyzyyyxyyzzzyzyzzyzyxxyyyzzzyzz{zyyyzzyzxyzzzyzzzyyyyxyzyyzyyyzyz{yyzyyzyzz{zzzzzyyzyzxyyyzzzyzz{zyyzyxyxzzzzzzzyzz{yyyyzz{{zzz{zyzzyyyyyzy{zyzyzzyzzyzyyzzzz{y{zyyzyzyzzzzzzzy{zzzzzy{yzzyz{z{{zyzyzzzzz{{{{z{z{zyzzzyzz{zz{zz{{{yzzxyzz{{{z{z|{zz{zzzzzz{zy{|z{zyy{zzxzz{{{zz{{zzz{yzzzy{{{zzz{zy{zyzzzz{{{z{z{{zzz{yzz{zz{zz{|yzzzzxy{yz{{z{{zz{y{xyyyyzz{zy{{zy{yzyxzyzzzzzyzzyyyyxyyxzzyzzzzzyyzxxyy{zzzyz{zzyxxyyzyzxzz{z{{zyzzyyyzyyz{yzzzzzyyyyyxyzz{z{xzyyyyyyyyzyzyyzzyzyyyyyyyyzzzz{zyyzyyxyyyzyyyyzzyyyxxyyyyzz{zzzzyyyxxyyyyyyzzzzyzyyzyxxxxzyzzzzzzzyzxxxyyxyyyzzyyyyxyxyyyy{zyyzz{zyzyyyyyyzzzyzzyzyyyyzyyyzzzzzzzyyzyzyyzzzzzz{zzzzzzzyyyyzzxzzz{zxyyyzzzz{z{{zzzzxzyyyzyzzzzzzzzzyyyzyyyz{{zzyzzzzzzzyz{{zzz{{zyzyyzyzyzz{z{z{{|y{zzyyxxzz{zzz|{zyzzyzzz{{{z{|zzyyzzzz{yzz{zz{{{yzzyzzzzz{{{{{zzyzzyyzyyzzz{{zz{zyzzyzzzzyz{{{{{{zyzzzzz{zzzz{z{zzzzzzzyzzzy{{{zzzyyyyyyzzzzy{z{zxzyyyy{zzzzyzzyyyyyzyxxyzyzyzzzyyxyyxxyzyzzzzz{zyyyyyyyzyyyy{zyzzyzyyyzyzzzzzzzyyzyxzyyyyzzzzz{yyyzyyyxy{yyy{yzyxyyyxyyyxyyyzzyyyzzxyyzyyzzyyyzyyyyyxxyyzzzyzzzyyyxyyyzyz{yzz{yyzxyyyxyzzzzyyzzzzyzyyyxzxyyyzzzzyyxyyyyyzyzy|zzyyzyyzyxyyyzzzzzyyyyyyyyyzzz{yzzyxy{yyzy{{yzzzz{yyzzyxyyzzyzzz{{yzzyyxyzzzzzzyzzzyyyzyyyz{zzzzzzzyzzzzyzy{{y{|zzzzzyzzzzzz{{zz{{zz{zyzzzzzz{yzz{zzzyyyyy{zz{{zzzzyzzzyzzz{{{{z|{zzz{y{zyzz{zy{{{{zzzzzzzy{z{{{z{zzzzyyzzzz{zz{z{zzyyzzyzzz{{{{{{zzzzzzzzz{{zz{z{yzyyzzyz{{{y{{z{zyyzyxyyz{zyy{{zzzzyxyxzz{zzzzyxzyyxzzxxyzyyxzzzyzyxzzyxy{zzzzzzzzyyyyyyzyzyzzzzyyxyxyxzzy{zyzzzyzyyxyyxyyyzz{zyyyzyyyxyyyyyyyzyzyxyyzyzzzzyzzyzyyyzyyyzyzxzzyzzyyyyzzyyzzzyzzzzyyyyyyxzyz{zyyzzyyyyxyzyzzzzzz{yyzxyyxyxyzzzzzzzyyyxywyyyzyzy{{zyyyyyzxyyyyyy{{yzzyxyyyyyzzz{zyzyzzzzyzyyzz{zzy{zzzyyyzyyzzyzyzzzzyzzyzzy|zzyzz{zyyzyyyyyz{z{z{zzzzzyyyyzz{zzzz{zyzzzzyy{zzzyz{{zzzzzyzz{{zz{{z{zzzy{yzyz{z{zzzzzyyzzzzyzz|zzz{{z{yzzzzzyz{z{z{zzzyzyzyy{{{yzz{|{yyzyyzzz{{z{z{{zzzzzz{z{{{z{z{{{zzzzzyz{{z{{{{zzzzyzxzzzz{zzz{{zyzzzzyyzzzzyy{y{yzzyyyyzyzyzyzyxyyyyyyyyyzyyzzyyyyyxyxyzyzyzzzyzyyxzzxyzyyyyzz{zyyyyyxyzyzyzyzzyyxxyxzyyyyyzzzyyyzyyxyyyyyyyzzyzyyxyyyzyyzzzzzyxyyyyyyxyyyyyyzzyxxzyyyyyyyzyzyzyxzyyyxxyyyzzyzzzyzyxyyyz{zzyzzzy{yyyyyxyzyxzyzyyyxyzyyyzzyyyz{yzyyyzyyyz{zzzzz{yzyyyxxzyyzyzz{zzyzyyyzzyy{zz{z{yzzyyyyyyzzyzzzzzyzyxyyyzz{zzzyzyyzyzyyyz{{z{zyyyyyyyzyyzzzzy{zzyzzyyzyzzzzz|zzzyyzzzyzyzzz{zzz{zyzzzyxy{{{zz{zzzzyzzxyyzz{zz{{zzzzyzyzz{{{zzzzz{zzz{yzzyzz{zz{{{zzzzyzyz{zzzz{{{zyzyzzyz{zzzy{zzzzzzyy{z{zy{zz{yyzyzzzyzz{{zz{zyzyzzzzxzzz{z{{zyzxzyzzxyzyzyzzyxxxyxxxwyzyzzzzzzyyxyyyyxzyyyzyyyxyxyyyxzyyzxzzzzyzyyyxyxyyyyzzzyxzxxxyxyyyyyzy{yyyxxxyyxzyyxzyyzxyyyxxyzyyyyzzyyyyyyyyyxzyyxzzzyxxxxwxyyxyyyyyzxxyyxzxyyyxyyzzyxxyxyzxyyyzxzyzyyzyxxxxyyzyyyzyyyyyxyxyxyzyyy{yyyxyyyyxxzzyzzyzyyyyyyxxyyzyyyyzzzyzzzyyyyyyzyzzzyyyyyyyyyyyzzzzzyzzyzyxyyzzzzzyyyyzyxyyzzzyyyyzzyyyzyzxyyzyyzzzyyyyzzzyyzzyzzzzzxyzyyzxy{zyzzzzyzzzyzxzxyzyz{zzzzyyyzyyyzzz{zyzzzyzxzyzzy{yz{{zz{yzzyzzyzzz{{y{zzxyzyyyyz{{{zzy{zyyzyzyyyzyzzzz{zzzz{zyz{yzzzz{zyzyyzyyyzz{zyz|zzzzzyyzyx{z{zyzzzyyyyyyyzyy{z{yzxwzywxzyy{yyzyzzyyxyyxxyyyyyzzzzyyyxyyyyyyyxzz{yyxxxyyyxyzzyyyyzyyyyyyyxzzy{yyzzzyyyxzxzyyyyyyzyzzyzzxxyzyzyyzyyxyxxyyyxyyyzy{yzyyyyzyyyyzyyyyzyzyyyzyxyyzzyzzyyzyyxyyzyyyyzyyzzzyyyyyyxyzyyxyzzzyyxyzyyyyyzzzzzyxyzyzyyyzzy{zzyzyzyyyzyzzyxyzxyzzyyyyyyzzzyzzyyyyzyyyxyzyzz{zzzyzzyzyzyx{yzyzzyxyzxyyzy{zzyzyzyzz{{yxyy{yzz{{{yyzxzyyzzzz{z{{y{zyyzzzyzy|y{zyzzyyzzzyyy{{{z{zzzzyzy{yzyz{zzyz{zzyyzyz{zzzzy{zz{{zzzzyy{y{{{zzz{yzzzzzyz{zz{z{z{zyyzzyyz{zz{{{{zzzzyzyyzz{zzz{{zyzyyz{yzy|yy{{zz{zzzyzyxyzyzyzz{yxzyyyzyzzzyzzzyyyxxyxyyyzzzzzzzzyyyywyyyyzy{z{zzyxyyxyyzyzyzyyzyyzyxxyxyz{yyzzzzyywxxyxzzzzyyy{xxyyxyxxzyxyzyzzxyyyxyxyyy{yyyy{yzyyyyyyyzyzyzxzxyyyyxyyyzzyyyzyyyyyyyyxyy{zzzzyyyyyyxyyzzzyyyz{zyzyyxyxyzyyyzy{xyxyyyyxyyyzzzzzzyyzzyzyzyzzzz{yyyyyzzyyyzyzzyzzzzzyyyyyzzyyyzz{yzzyyxxyyyzyz{{{zyzy{xyzzzyz{z{yzyyyzyyyyzyzzz{zyzyyyyxyzzyzzzyzyzzz{yyyzzzzzzzzyzyzyxzy{zz{zy{yyzxyyzyyzzzzzzzz{xzyyxyx{{zz{{{zzzzyyyzyzzy{zzzzzzzzyyyyz{zz{{{{zyzzzyzz{{z{zzzz{zzzzzzz{{zz{{{{zyyzyzzyzzzz{zz{zzzyzzzzzzz{zzzzz{yyzyzy{zzz{y{zyzzyxyzyy{yzyyyzyyxxxxyxzzzyyyzyyyyyyxxyyzzxzzz{yyxxzyyyzzyzzyzyzyyxyxyyyyzzyyzzyyxyyxyxyyzyyzyzyyxyxyyxzyzxyyzyzyzyyzyyyyzyyzyyyyyywyxyyyxzzy{zyyyxyxxyyyyzzyyzyyyyyxxyxyzzzzzzzyzyxyyyyzyzyyzzzyyzywxyzxzyyzzzzzyyyyxxzzzyzzzyyxzyzyzxzzzyzzyzyzyzzxyyyz{zzzzz{yyzyxzxzyz{yz{zzyzxzyzyzzzzz{zz{yyyzxxyzzzy{zyzzyyyzxzyyy{zy{zzzzyzzyyzzzzy{{zzzzz{yzyyzzz|z{z{zzzyzzy{zzyzzzz|zzzz{xyyzzz{z{{zzzzyzyyzz{|zzz{zzyzyyzyzzzzz{{zzzzzzzyyzy{y{y{{zzyyzyy{z{zz{zzzzyyzzyzyzz{zzzz||zzzyzzzy{z{{{{{zyzyyyxzzz{zyz{z{yyzyyyyxzz{{zzz{zzzyyxyyyzyzzzyzyzyyxxyxxxyzzyzzxyyyyxyyzzzyzxzzyyxyxzyyzzzxzzzyzxzzxyxxyz{{zy{zyzyxyxyyzzzyyyzyyyyyyyyyyyzyyyzyyyzyyyxyyyyyyzzzyyyyyyyyyyyzyzyyyyxxxyzyxzzzyyzyyxxyzyxyyyzyzzzzyyyyyyxwyyyyzyyzyyxxyyyyyyyyyzyzyyxxzyxxyyyyyzyzxyzxzyxyzyyzzz{zzyyxzyyyy{zyzzzzxyzyyyyxyyyzzyzzyyyyyzzyy{zyz{{zzyyzyxzyyzzzz{zzyxzzyzyxzzzzzy{yyyyzzyzyzyy{yy{yzyzyzzyzzzyyzz{{yzyyzxzy{yz{zzzzyzzzxzzyzzzzzy{zzyyxyzyzz{{zzzzz{yzyyzzyyzzzzzz{zz{zyzyzyz{z{zzzyx{zy{zy{z{{z{z{zzzyyzzzzzzy{{{|{yyzy{zzz{zzzzz{zzyxzzzyzy{yz{z{{yyyyyyyyzzyzzzzzyzxyyyyyyyzzyzzyzzxxyyyyzyyyzyzyyxyyzyyz{yyz{zyyyyyyyxy{yzzzzzzyzxyxxyyyzyzyzzzyyxyxyzyyzy{yzzyyyyxxxyyyyzzzz{yzxyyyyyxyyzyyyyzyyyyyyyyzzyzyyzzzyxyyyyxzyyzzyzyyxxyxxxyyyzyyyzzzxyyyxyyy{zzyyzyyyzyyyyxyzzzyzzzzyyxxxyyyyzzyyzzzyyxyyyyzyyyzzzzzyyxzxyyyzyzzyz{yyyyxyyzyzzzzzzzyyzyzzzyxz{zzyz{zyzyyyyyyzzyyzzzxyyzzzyzyzzzzzzzzzzzzzyyzz{zzzy{zyzzzzzyzz{zzzzzzzyyzyzyz{zzyzzzzzzzzyyyz{z{{{{|{yyyzzzzzzzz{y{zzzzyy{zzzzzz{zz{{y{yzzyzz{{{zzzzzyzzzzzyzz{zz|z{yzy{zyyzzzzz{z{||yzyzyy{{{{{{zz{zzyyzzzyyzyz{z{{zzzzyyzy{zzzzyzz{z{xzyzyyz{zxyyyyyyxyyyxyyyzxzzyyyxyyxxxzzzzz{yzyzxxxyxxzzyz{zzzyzyyyyxyyyyzyz{zyyxxxyyzyzy{zzz{yyyyyyxyzyzzyzzxyyyyyyxx{zzyyy{yxzzyyyxyyyyyzyzyxyyzyyyyyy{yyyyzzyxyyyyzxyyyzyzzzxyyyyyyyzyzyyzyyxzzyyyxzyyyyyzyzzxyxxyyyzyyzzzzzyyyyzyyyzyyyzzzzyyyyyyzzzzyzzz{yyyyyxyyz{yzyyzzzxzzzyyzyz{y{yzzyyzxzxyyzzy{zzzzyzzzyzyyz{zzzyzyzyzzxzxzy{yzyyzzzzyzzyyyzzz{{{zyyyzxyyzyyzz{yzz{yyyyyyyyzz{zzz{{zzyzyzyzz|z{zz{{zzxzzyzy{zzzy{zzzzz{{yzzzz{{z{{{zyzyzyzz{|z{{zz{{zzyzzzy{z{z{yzz{zyyzyy{{z{{z{{{{{zzyzyzzzyz{y{y{yzyyzyzy{zzyzzzyxyyyxyyzyyzzyyyyzyyxyyzyzzyzyzyyyxxyxxyyyzyy{zzzyyyyyzz{zyyzzyyyzyyxyyxzyzzyzzyyyzxyyxyzyyyzzy{yyyxyyxyyyyxzyzxzyyxyyyyzyzxzyyyzyyyyyyxzyyyzxyzxyyxzxyyz{zyyyzyyyxyyyxyxxyzyzzyzyzyxyyxyyyzyxzyyyzyxyyyyyzyyzzyzzxyyyxyyzyzyzzzzyyyyyyyyzyzyzzzyzyzzyxyyzzyyz{zyyzyyyzyzzzzzzzz{x{yyzxyzyzzzzzzyyzzzyyxzyzzyzzzyyyzyzyx{{{yzzyz{yyyyyyzzzyzyyyzzyyyyzzzzzz{zzz{yzzyzyz{{zyzyz{zzzyzzzyz{yzzzzzyzyzzyzyy{{z{zz{zyzzyzzzzzzzz{yzz{yzzzyzyzzz{zyz{{zyyyzzzzy{zzz{{zyxyyyzzz{y{{zzzzzzzyyzyzyz{{{yzyyyyyzxyzz{zzzyz|yyzyyyzyzy{zzzzzyzyyyyyzzzyzzyzyyxxywxwxzzzyyy{yxzyyyyxyyzyzzy{zyzyxxyxzzzyzyyzyyyzyyyyxyyzxyzzyyyxzxyyyzzzyzzzxyyyyyyxyzxzyz{yyyxxyyxyyyzyyyzyyyyxxyxyyzyzyyyzyyyzyxyyzyyyyzyyxxyxyyyzyzzzyyzzyyyyxxxxyzzzzzzyyyywyxyyyyyzzzzyyyxyyxyyxzzyy{zyyyxyyyyyyzyy{zyzzyyzyyxyyyzzyzzyyyzxyyzzzyzzy{zzyxyzyxzzzzzyyzz{yzzyzyzyzyzzzyyzzyyyyyyyyyy{zz{zyyyyyzyzyzzzzz{zzyyyzyzyzzyzz|{zyyzzzzzzyzz{z{z{yyzzzxyyz{zz{{|zzyxzyyyyyzz{zz{yzzzyyyzzzzzzzz{{zyyzy{yzy{{zz{|{{zzzzz{zz{{{zzz{zzyyzyyzzzz{{{{{yzzzyyzyzz{z{zzzzzzyzzzzzzz{z{{zzyyzzyyyyzz{zzzzzzzyzyyxxzzyzzzzyxwyyyxyyzyzyyzyyzyxyyyyyyzyzzy{zyyyyxyyxyyzzzyyyyyzyzyyy{zzyzzzzyywyxyxyzyzzzz{yyyyxyzyzyyzy{zzyyzyyxyyyzzyyyzyyyyyxyyyyxyzxzzzyxyyxyyxyyzzzzyyyyyyyyxxxyyyyyyy{xzxyyyxyyzyyzyzyxyyxyyxzxzyyzyzyxyyzyxyyzyyzzzzyyzxy{yyzzzzzzyzzyyyyxzyz{yxyxz{yyzyyxyy|zzzz{zzyyyzxyyyzzzzzzzzyyyyzyyyyzy{z{yyzzyyzxyzz{z{zzzzyyzyyyzzy{yzzzz{yzyy|z{y{zz{zzzzyzzzyzzzzzzzyz{{zyzzzzxyzzz{{{zy{zyzyzyzzzzzz{{{yyzz{yzyz{{zzzy{{{yzyzzxz|{zzz{z{z{|y{zzyz{zzzzzzyzyz{zzz{zz{{{zzzzy|zyz{{zz{zzzzz{yyzzyy{yzy{{{zzzzyxzzy{zzy{{zyyzxzyzyzyzzzxzyyyxyxxxxxxzzyyyzyxyyyyxyyyyyzzzzyyyxyyyxyzyxzzzyzyyzyyyxzzzzyyyzxyyyxyzxyyyzyzyyzyyxyyxyyyyyy{{yyxyyyyzyyzzzxzzxyyyxyyyyyyy{yzyyyxyyyxyyzzzxyzzxyxyywyyyyzzyyyzyyzyyyzxxyyyyzzyzyxxyzxxxyyyyyyzy{xyxxxyyyyyz{zzyyxyyyyyyyyzyyzzyzyyyyxzzzzyyzyzzyzzyywyy{yyyyzyzyxyyyyzyyzzy{zyzyyzxyyxyyzzzyzzzzyyyyzyzzz{yzz{{zzyzyyzyyzzzzzzz{yzyyyxyzzz{zzyzyyzyyyyzzz{zzz{{zyyzzzzyyzyz{{{xzzyzzyzyz{zzyz{zzyzzzyzz{z{{{z{zzzyyzzzzzzzz{{{{zyzzyyzz{{y}zz{zzzyyzxyz{zzzzz{zzyzyyzyzzyyzzzzzzzyyzyyyzzxzz{{y{zyyyxzyyyzzzzzyyzzxyxxyzz{zzzzzyyzxyxzxx{zyzyyzyyxyzyxyzyyyz{{{xzyxyyxyzyzzzz{yzyxyzyyyy{zzyzzzyxyxxyyxzzyzzzxzxxyxyyyyyzzyyz{{yzyyyyxxyzyyzyyzzyyxyzyzxyzzzyzzyzyxyyxyxyyyzyzyyxxxxxyyyyzzzzzzyyyxyxxyzyzzyy{{zyyzyxxxxzzyyyzyyyxxyyyyyzzyxzyzyyzxzyxyzzyyyy{zyxyzyyzxyzzzyzy{zzyyyyyyzyzyyz{zzyzyyzyzyzyzzzz{zyzyyyyyzzyyy{z{y{zyyyxzzzzyzzzzzyyxyyy{{{{zzz|{{zy{zzzyyz{zzzzzzyzzxzyz{zz{zzz{yzyzzyxxzz|{zz{zyxzzyyzyzz{{|zz|{z{z{zzzz{{zz{{zzz{yyyzyz{zz{zz{zzzzyyz{z{z{zzzz{yzyyzzzzy{{zzz{zzzzyzyzzz{zzz{zzzzyyzyyzzzz{z{z{zyzzzyyzzzz{zzzyyyyxyyyzzzzzzyzyyyyyzyxyzzzyyzyyzxyxxxzyzyz{zzzyzxxyyyxzzyyzzyyzyyyyxxzzzyyyzzyzxyxxyyxyxzzyyyzxzyyyxyyyyzyy{zyzyywxyyyzyyzyzyzyyyyxyxzxxzyyzzzyyyyzxyyzzzyyzzzyxyyzyxxyyyyzzyzyyyyyxywzyyzyyzyyxyxzyzyzyyxzzyyyyyyyxzyzzyzzzyzzxxyyyyyyzyzyzz{zyyyxxxyyyyzzz{zyzyxyyyyzzzyzyzz{yyzxyzyyzzzzz{zzxyyyxyyy{zzzzy{zyzzyyyzxzzyzzyyzyyzyzzy{{zzz{yzyyyz{yyy{z{{zz{{yyyyyy{yz{z{{{{zzzyzzzxyzzzzzz{z{z{zzzyyzz{zzzy{zyzxzz{zzyzzzz{zzzzzyzyyz{z{{{z{zyyzyzzyy{z{yzz{{zzyzzzzzy{zzz{zzyyzyzzzzzz{{z{{zyyxyyyyyzz{yyzzzyyzyyyyz{{zzzzzyzyxzyyx{yzz{zyyxxyxzxzyxz{xzyyzyxxyxxyyyzzyyyyzyyzyyyxxyyzzzzzzzyyzxxyyzzzzzyzzyyyxyyyyyxyyzyzyzyxyyyzyyzyxzzyyzyyyyyyyzzzxyyzyyzyyyyxyyxyzyzyzyyyyzxzyyyzxzzzyyzyyyxxyyyzyyzzyzyyxxzyxyzzzzzzyyyyzyxzyyzxyzyy{yyzxzxxyyzzzy{zyzyzzyyyyzzzzzz{yzxzyzxyzyzzzyzyyyzzzyxyzyyyzzzz{yyyyxyyyzyyzzz{zzyyyxyyyyyyy{zzzyyyxzyyyzzzzzzyzyyzyyyyyzzzxzyzzzzzyyyzyzz{zzzzzzy{yxzyxz{yzz{zzzzyzzyyyzzz{z{{zzyyzyyyy{{zzz{zzzyzzzzzzy|zz{z{z{zzzyzyyyzzz{{{{zy{{zyzy{y{zzzz{zzyyzzzyy{yzz{zzzzzy{{zzy{z{{|{zz{zzyyyzy{zyy|{yzzzyyyyyy{zzzzzy{z{zyyyyyzzzzyzzzxyxyyzyxyzxyzzzxyzyyyxyzzyzy{zyzzyxxxyxzyyzyzzzzyyyyyyyzyzzyzyzyzyxxyyyyzzzyzzyxyyyxxyxyzyzzzzz{yyzzyyyzyzxyzzzxyyyyxyyzzyzyyzzxyyyyyyyzzyzyzyx{yyzxxyyzzzzzzyzzyyyyyyyyzxzyyzzzyxyyyxxyyyyyzyyxxyyzyyyyzyyyzzzxyzxyyzyxzyzyzzzyyyzzxyyzyzzzzz{zzzzyyxyzy{y{zzzyyyyxzyzzzzzzzyzyzyyzxyy{zzyzzzyzyzzyyyxzzzxzz{yzzzyyyxyzz{zzz{zzzxzyzyzzz{{zzz{yyyyzyzzzzzzzzz{zz{zzzzyzz{z{zzzzyyy{yzyz{zz{z{{zzzyz{{zzyz{z{{{{{zyzzzzzzzz{zzzzy{zyzzy{{z{{zz{yyyzyyzz{yz|{zzzyzzyyxyzzz{zzz{zyzyyyzzyzz{zy{{zzzyyy{yyy{y{yzzzzyyyx{yyyzzzzyyyyyxyyyyxyzzzyyzyzyxyyxyyzxyzyzzzzyzxyyyyzzzyzzzzzzyzzyyzyyz{yyyzyyxxyxxxyyzyxzy{yyxyxyxyzyyyzyzzyzyyxyxxyyyyzyzyyyyxxyzyyxyxxyyyywxyywyxzzzzzz{yzyyyywxzyyyzzyyzyxyywxyxyzyyzzzzxyxyyyyxyzyyyzzzyyyxyyyyy{yzyzz{yyyzyxzxxyyzyzzyyyyxyyyyyyzzyzyzzzzyyxzzyzzzzzzyzyyzyzyzzyyzzzzzyyzxzyyxyzyzzzzzzyyxyyyyyzzzy{zzyzyzyyyyzzzzyzzyyzyyyzzyyyzzyz{{zyzyyz{yzzzzz{z{zyyyyxyzzz|yzzz{zzzzzyzzzzzzzzz{zzyzzzzzzzzz{zzzzzzzyzzzz{z{{zz{{zzzzzzyzz{y{zz{{yz{yzzzyz{zzz{zzzyzzzyyz{z{z{{{zzyyyyzzzzzzz{{zyzyzyzyzyzzzzzzzzyyxyyxyzyyzzyzyxxxxxxyyx{zxzzzzyzxyyyzyzyzzzzzzyyzxzyyyzyxyzz{yyyyxxyxyyzzxyz{zyyxyyxyyxzyzyzyzyyxxxyzyzzxxyyzzyzyyywxyyyyzyzyzyyzxxyyzyzyyzyyzyzzyxyyyy{yyyyzzzxyyzyxxzzzyzy{{xyyxyyyxyyzzzyzzyyyyyxxxxyyyyyzzxyyyyyyyyzzzzzzzyyyzyyxxyyzzyzzzzzyyyyyyzzzzyzzzzyyzzxyyzzzyyzzzyzzyyyyyzzyxyzzyyzzzzyzyzz{zzzzzyxyxyyyxy{zzyz{|yzyzyzyzyzyzyzzyzyyxzyyxzz|zz{z{zyyzzxzyz{z{zz{{yyyzzxyyzzzzz|zzzyxyzzyyz{zzz{z{zzyyyzzzzz{zz{{z{yyzy{z{z|z|z{{zzyzyyyyzzzzzz{z{{zyyyzzzzzzzzz{{{zzyyzzzzz{zzz{zzzzyyyzzz{zzyz{z{{yyyyyyyzz{yzzzyyzxyyyyyzzzyzzyxyyxxyyxzzxyyyyzyyyyyxyxzyzyzzzzyyyyyyxxyyyyzzzyyxxyywxyzzzyyzzyzxyyyyxyyzzzyzzzyyyyyxywyzyyzzyyyyyxzyxxxz{yzyyyyyyxxyxzyyyyyxyyxxyxyxzxyyyyzyyzyyxyyyyxzyyyzzyyzxyxxyxxyyzzyyz{yyxxyyywyzzyxyxyyyyxxzyyyzyyyyyzyyyxyyxyyyzyz{yzyxyyxyzyyy{yzzyzzxyxyyyyyzyyzyy{xzyyxzyyyyzyzyz{zzyyzyyyzyzzzzyzyzzzyyyxzyyzyz{xzxyyyxyxy{{yy{y{yyzyyyyzzzzy{yz{yzyzyzzy{zyzzzz{yyzzyyyyzz{zz{z{zyzyyy{yz{yy{zzzyzzzyzzzz{zz{{yzzzzzyzxyy{zz{{{{{yzyyyz{zyz{zz{zzyy{zzzzzzzzzzzzzyyyyyyzy{zzzzz{yyzyyyyyzzzzz{z{zyyyzyyyyzyzyyzzzxyyyyyzzyzyyzyxyxxyyxyxyyyzyyzzyyyxxxyyyyyzzyzzzyxxyxyxzyyzzyyyyyyxxyxyzzzyyyzzzxyxyxyxyyyzyyyzyxyxyxxyyyyyyzyzxyzxzyyxxxyxzyyyxxyyxyxyyyyyyzyyxyxyxxywxyyyzyyyzwyxxxxyxzzyyyzyyyyxxxxyyyyzzzzzzxyxyxxyyyxzyyyyxyzyzyxyyzyyyzzzyyyyyxyyyyzzyyyyzyxyyxyyzyzyyyzyzyzyyyzyzxyyz{yyxyzywyyyyyyyzzyzyyyyyyyyyzzyyyzyyyxzyyxzyyyzzzyz{zzyzyxyzzzyyyzyzyzyyyyyzz{zzz{zzzx|yzyyyyyyy{zzzzyzzyyxy{z{zz{{zyyzzz{z{zzzzzz{zzxyzyyzz{zz{{{zzyzyyyzzz{z|{{{zzyzzyyyz{yzzzyzzzyyzyzy{zyzzzzz{yzzyzyyzzzz|{zzz{zyyyyyzzzzzz{{{yzyyyyyyyzzyyyyyyyzyyyyzzyzyyzyyyxxyyxxxyzzyzxyzyzxyxxwyyzzzyzzzyyxyyzzyyxyyzzzzyxyxyyyyyzzzzxz{yxyyxzyyyzyyyzxzxyzxxyyxxzyyyyzzyyzyyxxyyyyyyzzyyyyyyxzxyyyyxzyyyyyyxxyxyxzyyzyyyyyyxyxxyxzyzyzywyzxyxyxyzyyyx{yyxzzyyyyyyyyyyyyyyywxyxyyyxyyxyzyyyyyyyyzyyyzyzzyyxyyyyyyzzyzzyzyzyxyxzyyyzyzyzyyxyyxyyxzzzzyyzyzyyyzyyyzzyz{yzyzxyyyyyyyzyzzz{yyyzz{yyxzzyzyz{zyzzzyyzy{zzzz{zyyzzyyyzyz{yzzzz{yxzzyyzyz{{z{zzyzxxzyyzyz{yz{zz{zyyyyyzyz{yz{zzzzzzzzyzz{zzzzzzzzyzzyzzy{zz{zzzz{yzyxzzzzzy{{{zzzzzyzzxzz{{zzzzzzyyyyzzyzzyyzzzzzzzzyyyxzzzzyzzzyyyzyyyzzzzzzzxyxyyxyzyzyzyyzz{yyyyyyxxyzzyyzzzyzyyxxyxxzzyyzzzzzxyxywxxzyyzyyzyyyxxxxxxyzzzyyzzyyyxxyywyzzyyyzyyyzxxyyyyyzzyyzyxyyxyyyxyyyzyyzyxxyyyxxyzyzzyzzyxyxyyyxxzyyxxzxyzxyyyyxxxyzzzzyyyyyyyyxxxyzyyyyyxyyyxxxyxzyzzyyzyyyyxyyzyzzzyyzzyyyxzxxyzzzzzzyzzyyzyzzyyyyyzyzxxyyxyxyxzyzyzzzyzyyyzxzzyyyzzzzyyxzzyyyyzzyzzyzyxyzyxyxyzzyyyyzyyyxyzyyyzzzz{{yyyyyyyyyz{yzy{{zzyyyyzxyy{{z{zy{zzyyyzzzzyzyzzzyzyzzyyzzyzy{zz{{{{yzzzyzyy|z{{zzz{yyyyxzzyzzzzzzz{yyzyzyzz{y{z{z{zzzyzzyzz{xzzzz{yzyyzyyzyzzzyzz{zyzxyxyyyzz{yyyzzyyxyyzyzzzxyyzzzyyzxyxxyyzxyzyywxxyyxyxxyxyyyzzzxyxxyyxyyyxyzyzyyyyyxxxyyzzxyzzyyyxwyzyzyzyzyzxxyxxyxyyxyzzxzzyzyyxyxxxyxzzzzzxxyyxxxyxyyxzyyyywyxxyxxwyxyxzzyyyxyyxyxyyyyyyyyyyxzxxyyxyyxzyzyyyxyyyyyxxzyyyzyzyyyxxyxxyzzyzyyyxzyxyyxxxyyzyyzzzyxyyyyyyyyzzyzzzyyyyyxxyzzyy{yzxyxyxyyyzyzzyyzzyyyzxyyyyyyyyzyyyyxzyyyyyzyyzzzzzyyyyyyyxzyyzzyzyyxyzzyzyzzy{zzzxyyzxyyyyyzzzzzzzyxyyyxzzzyyyzzyzyyyzyxy{{{zyzzzzyzyyyzyzzzzz{zzxyzyzyzzy{z{zz{|yyyzzzyzzzzzz{zzzyyzyzyyyz{zz{zzzyzyzzyyzyyzz{z{yzyyyzyyyz{zyyzzyyyyyxzyyzzyzyzzyyyyyyyyyzyyzzzyyzyyxyyxxyzzzxyzzyxxxyyxzyzyzyyzyyzyyyyxyyzxz{zzzxyyyyyyyzzzzzyyyyyxwyyyzyzzzyxyyyyyyyyyyxzzzy{yzxyxyxxyxzzzzyyzyyxxxzxzxyyyyyyzyyyyyyxyyyyyyyzzzyyyyxxxyxyzyzyyyyxyxzyyyz{zyyzyyyzyzyxwyyyzzyzzyyyyyxzyxzyyyyzyyxxxyyyyyyyyzyy{zyzyyyyyyzzzyyy{xyyzyxyy{yzzyz{{yyyyyyyxzzzyzzzyyxyyyyyyy{yzzzzzyyxyyyyyyzzzyzzzyyyyxyyyy{yyyzxzzyyyzyyyz{{{z{{zxyyyyyzyzy{zzz|{yyyyzyyy{z{{yzzzzxyy{zzz{zyyzz{{y{{zzy{yzzzy{zyz{zzyzyyz{zzzzzzz{yzyzzz{zz{yzzzyzyzyyyyyyzyz{{zzzz{z{zyzzzz{z{z{{yzyzzyzzzy{zzyzzyyyyyyyy{yyy{zyzyzxyyyyzzzyzzyzxzyyyxyxyzyyyyy{yxyyyxyyzyyyzy{zzxyxyxyyzxxxzzyzxyyyyyxyyyzyyyzzyyyyxwyxzxzzzy{yyyyxxyyxzzyxyzyyzzyxxxyyzzzyxzyyyxyyyyyyxzyyxzzyyyyyyxyyxyxyyyzyxwyyxyxyxyzyyyzyxyzyxxyxzyyyxzyzwyxyywxyxyxxxyyzyyxyyyxyyzyzyyyzyxyyxyxyyyyyyyz{yxyxzyyxzz{{yzzzyyyxxxzyzyyzyzyzxyyyxyyyyzyyyyyyyyyxxxyyyyy{{zyzyzyyyxyyyzyyy{zyzyyzzxyzy{yyzzzyzyzyyyyyz{{zzzzzzzxyzzzyyyyzzzzzyyyzyyxy{zzzyz{zyxyzyyyzzzzz{z{z{yzyyzzyzzzzzyz{zyzzyyyyz{zz{{zz{yzzzyyyz{zzzzzzzyxzzxzyzzzz{zzzzyz{zyyzyzz{{zzzzzxzyyyzyzzz{z{zzxzyyzzxy{z{yyzyyzyxyyxyyyy{yyxyyyyzxxyzxy{zzzzzxxxxxxxy{xyyzzzzyzxyyyyyzyyyyzzzyxzzyxzxyzzzyzyzyyyxyyyxyyyyyyyzxxyyxxxxy{yyyyyzxxyyyyxyxzzyxyyxxxyyzyyxyyyzyzzzyyyyxxxyyyzyzzzyyyxxxyyyxyyzyzzzyyyyyyzxyyyyyzzyxyxyyxwyyyyyyzzzyyyxyyxxyxzzzzxzzyzzyzyxyzyyyzzy{yyxyxyyyzyyyzz{zyzyyyyxzzyyyzyzyzyxxyyyzzzyyyzyzyyzyxyzyxyzzyyzyzyxyzyzzzzzyz{zzzyyxyyxyzzyy{yzzyyzzzyyyy{z{{zzyyyxyxzyzz{{z{zzzzyzyyyzzzyz{z{zzyyzzzzzz{{zz{zzyyzzy{yyzz{z{z{zzzyzyyzxz{z{{{{z{{zzzzzy{zzzzz{zzzyzzzyyzzzyzxzzzzxz{yzyzzyz{yzzzxyyyyzzyzzzyzzzyyyyyyyzy{{yzzzzyyzyxyyzzyzyzyzzyyxxxxxyzyyxyyyyxyxyyxyxyyzzzyyyyyyxyxxxzzzyyyyzyyxyxyxyyyzyyzyzyyyxxxyxyyyzyzzzyxyxyxxxxzzyyzzxyzyyyy{yzyzyxyzyzyyyxyyyyyyyyz{yyyxxyxyxyzzyyyzyyyyywwyxyzzzyxyyxyyzxyyyyzzzyyzzzyxxyxyyxyxyyzyzyyyyyxyxxzyxxzyzyyyzyyyyxzyzyz{zyxyyzyzyzyyyyyzzzyzyyyxyyyyzzzzzzyyyyyyxyyyzyzzzzyxyyyyxyyzzy{zxyyyzyyxzzzzzzyzzzzyyyyyyzy{zzzz{zyzyzyyyz{{zzy{zy{yyyyyyy{zzyzz{zyzyyyzzz{{zzyzzzyyzyzzyzzzzzz|{yyzyz{zyzz{{{z{{zyzzyzz{zzyyyz{zyzz{yz{zzz{{{{zzzyzzzyzzzyz{zyzzzyyyyzzz{{y{z{{{yzzzzyyyyzz{zz{zzyzxyyzyyyy{yyzzzzyyyxyyyzyzz{yyyywyxxxyyyzyxyzyyyyxyywyxyzyyyyzywyxyxxyyyyyzzyxyxxzyyyyzzzyzzzzyyyxxxxxyyyxyyyzxxyxxyyxyzzyxzyyxyyxxyxyyyyxyyyyyyyxxxyyyxyyyzyzxyxxxxyyyyzyzyzxyxxyxyxxyyzyzyyyxyyyxxxxx{yyyzzyzxyyxxyxyxyyzyyyyyxxxxyyyyyyxyyyxyyyxyzxyzyyyyyyyyyyyyyxyyzyzyzzxxyxyyyyzyyyyyzzyyzyyyzyyyzyyz{z{yyyxyxxxy{yy{zyyyyyyyyzyyzzzzzzyyyyzyyyyzzyzzzyyyzxyyyyzy{zzyyzyyyy{yyzyzzzyzyzzzyzyyxxyzzz{zzzzyzyyyyzzzzy{z{{yyyzyzzzyzzzzzzzzzzyzyzzzzz{zzzzzyzzzyzyz{{zzy{zzzzyzyyzzyy{z{z{zyyyyyzyzzzyzyz{zyyyyyyzyzzzzzzyzyyyxyyxyzzzzzzzyyyyxxzyz{zzzyz{yyyyyxyyyzzyzyyzyxyxxxyxxz{yyyzzzyyyyxyxzyyyzyyyyxyyxxxzyzyyxyzzzyyxywxwzyzyxzzzyxxxyxxxyzyxyzyyxxyzyxyxyyzyyyyyyyxxyyxxyyyzxyyxyxxxyyxxyyyyyyzyyxyyxxxyxyyyyyyyxyyxxyxyyyyzyyzyyyyxxxyywxyyzyyzyyxyxxyyyzyzzzzyyyyyxxxyzyyzy{zyyyyyyxyyyyzzzzzzxyyyxxyxzyyyyyzzyyxxxxyy{yzyyzzyzyyyyxyyyyyzyzyzzzzyyxxyyzzzyzzzyzyyyzyxyzzyzzzzzyzyxxyzy{yyz{z{zyyxzzyyzzy{zz{zz{zyz{xy{zzzzz{xyyyyyzyyy{zz{{{{yyzyyzzzzz{zz{z{{z{yyzzyyzzyzzz{{yyyzyyy{zzzzz{yzzyzzzyzzxyzzz{{zzzyyyyzzzzz{z{zyyzyyyyyzzzzzz{zzzzyxyyxzzzzzzzyxyyywyyxzxz{zyyzxxxxyyyyzyyyyxzzyyyyyxyxyyxzyyyyyxyxzyyxzyyzyzyyyyyxyxyyyyyzyzzyyyyywxxxzyxzyzyzyyyyxyyxyyzyyyzyxxxxxwwxyyyxyzyyyyyxxyxwxyyzyyzyxxyyxxyxyyyyyxyyyxxxxwyyyzzyzxzzyxyyxyxxzyzzxyzzxyyyyxyxxxyxzyyzyxxxyxxxyyyzyyzzzyyxyxyxyzzyzzzyyxzyyyyyyzyyxyyzyyzyxyzyz{zyzzyzzxzyxyyyyyzyzyzzyxyyxxyyxzyyyzyyxxyxzyxyyyyyyzzyyyxyyyyyyzzzyzzyzy{yzzzyzzyyzzzzyzzyyyyzzzz{zzzzyzyzyyzz{zzzzzzzzyyyyyxy{zzzzz{{zyzyzzzzzzzyy{zz{yxyyzyyy{y{yz{z{yzzyyyyzz{zzzzzzyyyzzzzyzy{yz{zyyzxyyzzzzzzyzz{zyyxyzyyzzzzzyzzzzyxyyyyzzyzyzzzzyyyzyyyy{zyzyxyyyxyxyxyxzyyyyzzyxxxyyyyzyzyz{yzzyyyyyyxyyzyyz{zyxyyyxxyyyzzyyyyyyyxyxyxzyzyzzyzyyyxzxxyxyyzxzyxyyyyyyxyyzyyyyzzxzyyxyyxyzzyyzzyyxyyyyxxyyyzxzzyxxxxyzxyyyyy{zyyzyyxxxxxzzzyyzyzyyxyxxyxzyyyyzzyyxyyyxyxyyyyxyzzyxzyyzxwyyxzyzyzyyyxzxyyyzyyyyzzxzzyyyzzyyyzyyzzyyyxxxxyyyyyzy{zzxxyyxxyzzzzzzyzyxyxzyyyyzzyyzzzyyxzyyyyyzyyy{zzzyyxyyyyyyyzyzzzyzyzzzz{zzz{{z{zzyzyyzyyzz{zzzzzzyyyzyyyyzzyyzzzzyzzyzzzzyzzzzz{zzyyxzyyy{yyz{{zzyzxyyyyzzz{z{{{{yy{zyyzyzz{{{{{zzyzzyzzzyzzzzzzzyyyyyzyzzzzyzz{zzxyyyyzxzz{xzzyzyyyzyxyyzyzyyxyyyxxxxxxxyxyzzzzyxyyyxyxyyyzzyzyyyyxxxyxyyzyyyzzyyyyxyxyzzzyyyzzyyzxxxyyyyyyyzyzzwyyxxywyyyzyyzyyxyyxxyxzyyyyzzyyxyyxyyyyyyyyyyyyxxxxzxxxyzxyzyxyyxyxxxxyyyxzyzyyzyzwyxyyyyzxyyyzzxyxwxxyzyyyyyyyyyyyyyyyyzzyzzzxyyyyzxyy{zy{zzzyyyxxxyyyzzyyyzzzxyyyyyyyyz{yzzyyyxyzxyyzzyzzyy{yzzyzyzxxzzzy{yyzxzyxzyyzzzyyyzzyxyyzyxzzxzyzzzyyyxzyyyzyyzzzzyzxyyxzyzyyzy{yzz{zyzzyyxzzzyz{zzzzyzzyzyyzzzyzy{zyzzyxzzz{z{zzzyzzyyzyzyzyy{zzzzzyyzzzyzy{zzz{{zzzyzzzzyxzzyzzzzzyyyyzzxy{zzzyyz{{zzyyxzyyyyzyyzzyyyyyyyyzzyyy{zzyxzyyxyyzzyzyyyyyyyxyxyxyxzyxzzzzyxxyyyyzxyzyzzxzyyxxxyyyyyzyzyzyyyxxxxyyyyyyzzyzyxyxxxxyyyzyyxyyyyxxxywyyxyyzyyzxyxyyxxzyyxyzyyyyxyyyxxxxyyyyxyyyyzyyxyyyyyyyzyxyyxyyyyzzyyyyzzyyyyxyywzyzyyzzzxxyxyxyxyy{yxyzyyxyxxyyyyzyyyyyzyxyxxyyyzyyyyyyzyyyyyyyyzyzyzzyyyyyxyyxyyyyyzyzzxyzyyxyyyzzyyyzzyyyyxxxyyz{yzzyzzyyzxzyxzzyyzzyyyyxyyzyyyyyzzzyzzzyyyzyyyzzzyzzzyyzyyzyzyzzzzzzzzyyyyyyyyzzzzzzyzyyxyyyyzzzy{z{zyyyyyzzzzyz{{{{zyyzyyzyzzzyzzzz{zyzyzyzyy{zzy{yzzyyzzyyzzzzzzzzzyyxyyzyyyzzzyz{zyyyyyyyxyyyzzz{zzzyyyyyyzyz{zzzzyyzyyyyzzz{yzyyyxxyzxyxxyyyxzzyzyxyyxyxxxzyzyyyyyyywyyxyyzzyzzzyxyyyzyxxxyzyxyzyzzyxxyyxyzxxyyy{yxxyxyyxyyxzzyyyyxyxyxwyzyzyyzzxyyyxxyxyxxzyyzyzxyxxywyxyxyzyyyyyxyyxyxxyyzxzyyyzxyzxxxxxzzzxzzzyxxxyyxxyyyyxyyyyyxxyyxxwzyyxzzzyyyxyyyyyzyzzyzyyyyyyyyyzzyyzyzzyyyzyxzzyzzzzyzzyyyyxyxyyzyzyyzzyyyyyyyyxyzzzzxzyyzyyyyyyzzzyzzyyyyzyyxzzzyyyzyzyyyyxyzyyyz{y{{zzzyyyzyyyyyzzy{{zyyyzyyyy{yzyz{{zyyzzyyzy{zzyzy{zyzyyyyyz{z{zzy{zzxzzyyzyz{{zz{yzyzzyyzyy{z{{{zz{yyyyyyyzzyzzzzzyzxzzzyzzzzzyyzzzyyyyyxyzyzyzz{{yyzyyzzyyyz{zzzyyxyyyyyzyzzyzyxyyyyyyxyxxzyyyyyxyxyx{yyxyyyyyyzyyxxxyyxyyyzyzzzyyxxxxxyyzzyzyyzyyyxxyxyyyzzzyzyyyxyyyyxyyzyyxyyzzyzyyxyyyyyyyyyyyyzxxyxyyyzzxzzyyyzxxyyxzyyyyyyyyyyxwxxyyyyyyyyyyyzyxyxxyyyzyyzzyyyxyxyxxxzzxzyxyxywxxyxxyzy{yzzyzyyyzyxyzyzxzyzzyyyyxyyzzy{yzyzyxxyyxyxyyzzyyxzyzxyyzyy{zzyzzzzyyzyxxyyyyzzzzyyzxyxyyyxyzzyyyzyyyxzxyyzyzyyxzyyyzyyyxyy{yyzzzzzzyyyyzzzzzzyyzz{zyzyzzxxzy{yzz{zzyyyzxzyyzyzz{{{yyzyyzyzyzzzzzyy{yyyyyyyyzzzzz{zzxzyyyzxzzz{z{{yzyyzz{yzzyzzz{zzzyyyyxzyzzzzzz{{yzyxyyyyyyzzyzz{zzyyzyzxzz{zzzzyyxwyzyzyzyzyyz{yzyxyyyxyzyyyyxzyyzyyxyxyzyzyyyzzyxyyyyxwzyyzzy{{ywyyywyyyyyzyzzzyyzyxyyxyyxyxzyzxzyyyyxyyyzyyzzzzyyxyyyxxzzzyyxyyzyyyyyyyyyyyyzzyxxyyzxyyzyzxyyzxxyxxyxyyxzyzyzz{yzxxxwxyzyzzzzzzxyyxyyyxyyzxyyyzyyyzyyyyzyyzzzzyyyyxyxxyyxyyzyzzzyyzyyxzyzzyz{zzyzyyyzyyyy{zzzzxzxyyyyy{zzyzzyyyxyzyxyzyzzzzz{yyxzyyyxyzzyyyzzyyzxyyyyyzy{zyzyzyyzyzxyyyy{yz{yzyzzzzzzyyzyzyzyzzzyzyy{zz{zzzz{yzyyzzyyz{{{{z{{yyyzzyzzyyzzyz{zyzz{yyzz{z|zzz{{|yzy{yyzy{{z{zzzzzyyyzzyyzzzzz{{{zzyyyzzyzyzzz{z{zzyyzyyyy{yyyyz{z{yyyyyxzzzzzz{yzzyyzyyyyzzzyzyzxyxxyyxxyyyyyyyyxyxyxxyyyxyyzzyzyyzyyyyyyy{zyyzyzyyyzyyyzzyyyzzzyyyyxxxxyyyyzzyzxxyyyxywyzyxyzzxzxxxyxyxxzzyyzyxxyxxxyyyyxzyz{yywxxyyxxyyyxyyyzzxyxxxyxyyyxzyzyyyxyxxyxxyxxzzzzyzxxxyxyxyyyyzyxyyzyxxxyxyyyzyyyyyyxxyzyxyzyyyyzyyzyywxyyxzzzzyzzyyxyyxyyzzyzyzzyyyyyyxyzyyyyzzzzyyzyyyyyyzzyyzzzyyyxxxyxzzzyzyzzyyyyyzxzzzzzyz{zyyyzxyyzyzzyz{zzyyyyyyzyz{zzzzzzyyzzzzxxzzzyzzzzzyyyyzzz{zzzyzz{yyyzyyzzz{zzzzz{yzyyyzzzz{y{z{{{{zzzyzzzz{zzyzzzzzzyzzyz{zzz{{zzyzyyzyzyzzyzzzz{zzzyyyzyyzyzyzzzzzyyyyzyz{zyyyzzyyzxyxyyyz{yzyzyxyxxyyyyyyyzyyzyyyyyyxyyyyyxyzyzzxxxyzyxzyyxyz{zyxzxzyyyyzzzyyzzyyywxxyyzyyzzzyyyyyyyyyyyyzzyyzyyyyyxxyyxzzxxyyyzxxxyxyxyyyyyyyyywyyxxzxxyyzyyyzywxxxyyyyyzyyyzyyxyyxyxxxyyyyzzzxxxyzxxxyxwyyzyyzzywyyyxyyyyzzzzyxxyxyxxyyyyyzyzyxyyxzyyyzzyyzzyzxyyyyyyzyyzyzyyyyyzyyxzzyyyyyzzzyyxyyyyz{xzzzyzzyyyyzxyyzzzzz|yzyxyzyyyzzyzzzzzzzzyyyyyyyz{zzzzyzyyyzyy{yyzyzyzyzyy{yyzzzyyzz{yyzyyzyyyyzzy{z{{zzzyzzyzyyzyzz{zzyzyyzyzz{{zzzzz{yyzyzyz{z{{{zz{yyzyyyyyzzz{zy{zyyzyzyzyzyzzz{{zzyyxyyzyxzzzzzzyyyyyyxyyy{z{{yzzyyyyxyyyyz{zxyxyzyxyyxxyxzyyzyyyyxzyyxxyyzzyzyyzyyyyxyxwyyzzyy{yzyyzyyyyyzyyyyzyzzyxxxyxyyyyzyxyyxyxyyxxyyyxxz{yyyyyzxxxyxyxyzyzyzxyyyzyyyyyzzyyyxxxzxyxyyyzzyzzxyyyxyxyzxzyyyzzxzxxyxxxxyyyyyyyyxxyyxxxxyxyzyzyyyyxxyyxzyyyyzyzyxyyyzyyxyyyzzyzyyxxyyxyyzzyx{yzyyyxxyyyzzzxyxz{yyyyzyyyzzzxzz{zzyyyyyzyxyyyz{zyzzyyyyxyyyyzzzz{yyyyyzxyzyyyyyzzzyyyzyyyzzzyz{zzyyyyyyyyyzzzzyyzyyzyyyzzz{zyzzzyyyzzzzyzyzyzyz{zyyyyyyzzzzz{zzzzzyzyzyzyz{z{zzzy{zzzyzzzyyyzy{zzzyyzzzyzzz{zzz{zyz{yzyyz{z{zzyz{yyzzzyyyyyzz{zyzyzyzyyyyzzzyzz{zyyyyzyyyyyzzyyyyyxxyxxxxyyzzyyzzzyyyxyyxxyzzzzzyyyxxxyxyyxxzyzyyxxyxxyyyyzzzxyzzyyyyxxyyxzzzyyyzyyyxxxxyxzyyyyzyyyxyxxyyyyyyxyyyyxxxwyyyzxyzyzzyxyyxxyyxxyyxyyyyxxxyxxyxyxxyxzyzyyxzxyyyyzyxyxyxxyyyyxzxyxxyxyy{yxxxxxyxyyyxzyy{yxzxyyxxyyyzzyyzyyyxyyyxzy{yzzyzzyyyyyyyyyyyyzyzxxyzyxzzyyzzzzzyyyxyyxyxyyyyyyzzyyyyzxyyyzzzyzzyyyyyyzyyyyzzyzzzzyxyyyzyyzz{zzz{yyzyyyyyz{yyz{y{yyzzzyyz{zzyz{zzzxyxzyzyy{zz{z{{yzyyyyyzzzz{zz{{zyyyxzyzy{z{z{zzzxzxyyyzz{zzyzz{zyyzyzxyzzzzzzyzzzzzyyxzyyzyz{zzyzyzzyyyyyzzzzzzzyyxyyxxyyyzy{{yzyzxyxyyyyzzzzyyxxxxxyyxyyyzyyzyyxyyxxxxyyzxyzzyzxywwyyxyyyyyyzyyxyyyyyyyzxzyyyzyyyyyxyyyyzyyzxywyyxyyzxxyzyzyyyyyyyxyxyxyyyyzzzyxzwxxyyzyyyyzzyyxxxxxxxyzzyyzyyyyyxxzxxyyzzyzyyyyxyxyxxyyxyyyzzyyxxxxxxxyyxwyyxyywwxxyyxzyyyzyyyyyyyxzyyywyyyzzyxxxyxxyyzzyyyzzyyzzzyzyzzyzyyzzxzyxyyxyyzzyyzzyzyzxyxyzyzzzzzyzxyyyyyyyyyzzyyzyyxyzyyyyzzzzzyy{yyyyyyxyzzz{z{z{yzyyzyzxyzzzzzzzyzyyyyxyy{zzz{zz{xzzyyxyzzzz{yzzyyyyzzyyyz{{z{z{zyzyyyx{y{zzz{z{zyzzzyyz{y{zyyzzzyyyzyzyzzzz{zzz{zyzzyzzyzzy{zz{yxzxyyyxzzzzzzzzyzzyyzyxyzyzyzzzyxzyxyxyzyzzyzyyxxyyyxyyyzyyzyyxxxxyxxxyyyzzzzzyyyyyywyxzyxzzzzyyxwxxyyzyyyzxzzyyyywxwxyyzyyy{zyyyxxxyxwyyzxzzzzyxyxxyyyzyzyxzyyzyyyxyxyzwzyxyyzxyxyyyyxyyzzyyyyyzxxxxxzyyyxzyzyyyzyxxxxzzzyyzyzyzxxxwxyxzyyzyzyyzyxyyyxyzyyyzzzxxyyyyxyy{zzzzzzyxzzzxxyyyyyyyzyyyyyyyyzyzzzzzyzyyxywyyyzzz{zzzzxyyzyyxyyyxyyzz{zyyyzyyyyzyzzzzzyyyzyzyyzzzzyzzzyyyxzyxyzz{zzzzzyyyxzzyzzzy{zzz{yyzyxyyzyzzzzyzyzxxxzyzy{{zy{z{zxyyzzzyzyzzzzz{zzzzyxzyyyz{{zzyzzyyyyyz{{zzzzzzzyyyzyxyyyzzzzzzzyyzyzzyyzzzzzxzzyyyyzzzxzyy{|z{zyzzxyyyyzzzzz{{zyyyzyyyxyyzzyyyzxyyxyzxxzyzyyyzyyyxyyxxyzyyxyy{zxyzxyzyyyzyyzzzyxyzxyyxyyyzyyyyzyyyxyyyxzzyzyzy{yyyxyxyxyzyxy{yxyyyyyxxyyyyzzyyyzyyxyyyxzxxzzxyzyyzxyyxyyzyxyyyyyyxxxxxyzyyxyyyzyxyxxxyyxxyzzzyzzzxxzxyzxyyzzyxyyyyxyyxyyzxyyzyyyxyyyyxxyyyyzz{zzyyxyxyxyzyyzyzzzyyxyzyyzz{yzzzzyyzyxxyzzyzzzyzzzzyxyyyxxzyzzzzzyyzyyyyyyzzyzzzyyyyzyyyyzyzzyzzz{yyzzzyxyyzzzz{{yyzzyyyy{{yzzyzyyzyyyzxzzzz{zzzzzyzzzyyxyyzyzy{|yyzyyzzzzy{z{zz{zzyyyyyzzzzzzzz{zyyyzyyzzzzyyyzzzyyyyzzzzzzzzzzzyzyzyxyyzzzyyzz{zyxyxyyzyzzyzzzyzzzyyzzy{{{yzzzzzyzxyyyyxzzyzzyzxxyxxyxyyzyyyzzzyzyyxyxxzx{yyyyzyyxxyzxxyyzzzyzzyxyyxzyxyzyxyyyzzyxwxywxyyyyzzyzywyyyzxyyyxyyyyyyyyyxyxxyyzyy{wyzyyxxyyxzzzxzyzyxyyyxyyxyzyyzyyyyxzyxyyyzyzyzyyyyxyyxxxxzyyyzyy{zyyyxyxxyzyzzzyzxxyxxyyyyyxyyzyyxxzxzyyyzzyyyxzzzxyyzwyyyyzzxzz{yyyzxxyyxyzyyzyzxyzyxyyyzzy{yzzzyyzyyxyxyzzzzyzzyxyyxyyyyy{zzy{{yyy{zyxy|zzyzy{zyyxyxyyyzyzyzzzzyzyxzzyzz{zz{{{{yzyyzyzzyzz{zzzzzyyyzzzyzzyzz{z{zyzzyzz{yyzzzz{zzzyyyzzyy{zz{|{{zzzyyyzy{z{{zzz{yyyzyzyyzyy{zzz{zyyzzzyyzzz{z{z{yyzyzyzzzzzzzzzzzzxzzzyyyzyzyzzyyyyyxyyx{yzxyzxyyyyxyxxxxyyxyyyzxxyzxxxyyyyyzyyyzzyxzyxxzyyzzzzzyyyyyxyyxyyzyxzzzyyxyxxxxzyzyyzzyxyywxyyyyyxyyzzyxxyyyyyyyyyyzyyzyxxyzyyyyxzxyyyyxyxyxyxxyyyyyzyxxyxxyxyxzyxzyzzxyywyyyyyyyyzyzyyyyxzwyyyyzyyyyyyyxxyxyxxzyzzyyzxxyxzzyyzyyyy{zyyyyyyxzyxxzyyzyzyy{yyyyxzy{zyzyzxyzyyzyyzyzyyyyzzyzyzxzyyyzzyyzzzyyxzyxxyyzxyzzyzzyy{xyy{{zyzzyyzzyyzzyyzyzyzzzzyzzyzzzzzzyzz{{zyzzyyyyyyzzzzzz{zyyzyzzzzzzz{y{{{zzyyyyzy{{zzzzz{zyyyyyzy{yzzzzzzyzyyyyzzzz{zz{zzy{zzzyzyzzyzyyzzz{yzzyzzyyz{zy{y{yyzzyzz{z{yzzzyyyyyyyyzzzzyzzz{zyxyyyyzzzzyzyyyyyyyyzxyyyzyyyzxyyyxxxxzyyyzyxzyyyyyxyxzxzyzzzyzzyzxyyyxyyyxyzyzxxxxwxwxxyyyyxzyyzyyyyxyyxzxyyyyyywyxyyyxzyyxyyyxxxyxxyxxyyyyyyyyxxywxyyyyyxyyzzxyxxyxxyyyyzz{yxyywxyxyxyyxyyyyyxxyxxxxxyzyyyxyzxzywyyxxzxyyzyyxxyyvyxxyzyzyyzzzzyyyxxyzxyyy{yzzyyyyxyyxyzyyxzzyyyyyxxyzyzzzzzzyzyxzyxyyzzzzzzzzxyxxyxyyzyzzzzzzyyyyyyyyz{yzzzzzyzyyyyyzyzzzzzyxyyzzyyyzzyzzzzzyyyyzxyxyzz{{yzzyyzyzxzy{zy{z{zzzyyyyzzyyzyzzzzz{zxyyyyzz{zzzy{{zzyzyyyyyzzz{zyyzy{xyyyzyzzzzzzzyyyzyzzzzzyzzzyzyxxzyyyxyyzzyzzzyyzyyyyxyzyzyzzzyyzyywyyyyyyyzyyyxxxyxxyxzyxyyyzyxyxyxyyzyyzy{yyyxywyyyxzyyzyzzyyxyyywwyyyyzyzzyyzzxxxxxxyzzyyyzyyyyyxzyxyyzyyzzyyyyyyyxyyyyyzyzxyxyyywxzzyyz{yzyxxxxyxyyyzzyyyyyyxxxyyxy{zyyzyzzxyxyyyxzyzzyzzyyyyxyyyyyyyyyzyzzyxyywzyxzyyyzzzyyyyzzyxyxzyyzyzxxzyyxyyzyyzzyzzyxyxyxxy{zyyyyzyyyzyyxxyyzzyzy{zyxyyxyyy{zzzyzyyyxyyyyyxzzz{zz{zxxyyyyyyyyzzzzzzyyyyyyzzzyzzzzzzyyzzzyzzx{zzyyzyzzzzyyxyy|yz{z{zyxyyzz{zzzy{{z{zyzyzy{zzyzzzz{{z{yyyyyzyyzzzzzzy{yzzyyyyzzzzy{{z{yyxyyyzyzzz{yz{{zyzzyyzzzz{zyz{zyyyzzyzyzzzy{z{yzyyyzxzzzy{yzzzyyzxyxyyzzzzyyyyyxyxxxxxzzzyyzzxyyyyxwxxxzyzyzzzyyyxyyzyyyyyyzzyyyyxyyyxzyzyxyyzyxyxxxxxyzyzxyyzyyzxyyyyyyzyyyzzyxyxyxyyxxyyyyyyyxyxyyxxyyxzyyzyyyyxyxxxyzyyyyzyyxyxyyxyyyyyzzyzyxyxxxyzyzyyy{yyyyyzyxxxzzzxxyyzyyyxyyyxyxxzyzzyyyxyyyxyyyzzzyzyyyyxzxyxzyzyzzyzyzzyyyxyzyyyz{yzxzyyxxyyzyyzz{{zzyxyzyzxzzzzyzyyxyxyzyyyzyzzzy{yyxyzyzyzzy{zyzzyzzzyyzzyzzzzy{y{yyxyzyyyyzzzzzzzyyyzzxxyyyzzz{zyyyzzzyzy{yzzzy{{yzyyyyzzzyzzzz{{zzyzzzyzy{z{{z{zzyzyyzzyzzzzzzyzyyzzzzyzzy{zzz{zzzyyzzyyz{zz{zzzyxzyyzyzyzzzyz{z{xyxxyyy{zzzyyz{yxzyzyyyyyzzyyyzyxwyyyyxxyzyyyyxyyxyyxxyyzyyyyzyyyyyyxyyyxyzy{yzyxxxxxxxzyzyyyzzyyxxwyyxyyzzyzyyxwyyyyywxzzyyzyyyyyyxyyyyzyxyyyyyyyxyzyxzyyyyyyzyyxyyyyyzyyyzzzyzxxxxyxzyyyyzyzyyyyxyxxxxxyyyyzzxxyyyyxyxzyyxzzzyxywyxxyyzyyxyzzyxyxyyyyyzyxyyyzzyzxyxzxyzzy{zzzyxyxyzyyyyyzxz{zyyyxzyyxyzzzzyyzyxyyyxxyyyzz{zzzxxyyyyzyyzzyzzzyyzyyyxyyyzzzyzzzyxyyzyzzyyyzyzzzyzyxyyzyzyzzzy{{yyzyyyzyy{{{zyzzxxzzyyzz{z{yz{z{zyzz{yzzzzzzzzz{zyzyyzzzz{zzzz{zyxyyyyyyyzz|zzz{zyyxzxzyzzzyzzz{{zyyyy{zyzyzzzzzyyyxyyyyz{zyzz{zzzyyyzyyzzzzyz{yxyyyxxzyyzz{yyyyyyyxxyxxyzzyyzzyyxxyyxxyxyzyzzz{zyywyxyyyy{yzzzyxyyxyxywyzyyyyz{yzyyxyyxyyzzzzyyxyyxxyxxxyyyyzzyyxyyzyyxyyyzyzyzxzyyyxxxxyyzyyzzxxxyyyyyxyzxyzzyxyyyyxyxyyyyyzyxyyyyxzzyxyyxyyyzxyyxyyxxzzxyyzy{yyyxxxwyxzzzy{yzyyyxyzxxyzyyyz{zzyxyyxyzzyzzzxyyzyyyyyyyzyyzzzyzyyyyxxzyyzzyzz{{zyyyyyxxzzzzzyyyzxyyyzyyyzzyzz{yyyxzzyyy{zzyz{yyzzyyzxzyzyy{zzzyyzyyzzzzzzyzyzyzzzyzzyxyz{zz{{zzyyyzzzyyzzyzzzzyzyzyyy{zz{zzzzzzzzzyzzyyy{zz{{{zyxzyyyzz{yz{zzzzzyyyzyyyzyzzzyzzyzzyzyyz{{{z{zz{zyxyyyyyyyzyzzz{zyyxyyyyyzy{zxzzyyzyxxyyzyzzyxyyxxxxwyyyyzyyyzyzyyyxxxxyyzxzyzzzyyywxzxxzyyyzzzzyyyyxxyxxyyyyzyzxyxxxxyyzyyyyyzyyyywxxyyzzxxyyyyyxxxyxxxzzzyxyyyxxxyxxxxyyyyyzzyxyxyxwyxxxzzyyy{xxxxyyxyyyyzzyxzxyyxxxxxyyxyxyyyyyxzywxyxyyyxyy{xyyxyxxxxyyyxyxyxxyyyyxyxzyyxzzyyyyxyxzyxyzyyyyzyyyyxyxyzzyyyyzzyyyyxyyyyyyzyyzzyyyxywyxxyy{yyxzyyzxxxyxzyyzyzzyyyxzyzyxyyyyzzyyzxzyyyyzzzzzzz{zzyyyzyyyyzzzyz{zzyzyzyyyzyz{zzzzzyyxyyyzzzzyzzzzzyxzx{{yyzzz{zz{zyzyyzyyz{z{zz{{{yyyzyzzzyzyz{zyyyzxyzyyyz{yzzz{zyzyyyyyyzzyz{zzzyyxzyyyxzzyzzzzyxzzyyyxzy{zzzzzxyyxyxyxyyyz{yxzxyxyxyyxyzyyxyyxyxxyxxyyyyxxxxyzywxwxyyxzyxzyyyzxxxyyxywzyxyxxxzxxyxxxxxyyyyyyyyyyxzxxxxxyyyyzyxyyxyxwyxzyyyxzzzxxxyxyyyzzyxyyyyxxxxywxxyyxxyzzyyyyyyxwxxxyyyyyyzxxxyyxxyyyyxyyzxyxxyyxwxyxzyyyzyyxxxyxxxyxyyyzyyyyyyyxzyyyyyzyzyzyyxyyyyzzzyzyyyyyyxyyyzyzxxyyzyxyxxyxxxxzzzzyzzyyyyxzxxzzzyyyyxyxyyxxwyzzyzyzyxyxyyxyyyzyyz{zzzyyyzxyyyzzzyzyzxyxxyyzyyzyxy{z{yzyyyxxzyzzyzzzzzyyxyxyyy{zzzzzzyy{yyzyyy{yzz|z{yzzyyyzyzz{zzzzzyyz{yxyyzzzyz{zy{yyyzzyyyzzzz{zzzyyxzzyzz{zzzzzzzzzyyyzyxyyyy{zyyyyzyyzxzyyzzyyxyyywywxxzyyzzzyyxyyyyxxxyyyzxyyyxxxxxwyxyyzzyyzzyyyxyywwyyyzyyyyxxxxxxxxyzyyyzzyyyxxxyyxyyxzyzyzyyyyxxxxyzxxyxyyyyyxyyywyyyxyyzyyyyxxxxyyxxyyyyzwyyxxxyyyyyxyyzyxyxxxywxyyzyzyyyxxyyxyxxxyyyyzyyxxxxzxzyxyxxyxy{xyxyyxxxzyyzyyzyxwyxyyxyyyyyyyzyyxxxyxyxyzyyyyzyzyxxyyyyyyyyyyzyxyyyxxxyzz{yyyyzyxxyywyzzzzyzzyzyzyyyxxxyzzyyyzxyyyyyxyxyzzzyzzzzyyyyyyyyyzzzz{zyzxzyyzyyzzzy{zzzyyzyyyz{yz{zzzyyyxyyyzyzzzzzy|{zyyyzzxyyyzyzz{{zzzzxzyyx{z{z{z{zyzzyyyxyzzzzzyz{zyzzxxyz{zyzzyzzyyzyyzzzyzzz{zzyzzxyyy{yzzzzz{yyzyyxxyyyzyyyyyzyyzzxyyyzzzyzyyxyxzxyyxxyyyyzyzxyxxyyxyxyyzyzzyzyyzyyyzxyzyyy{zzzxyyyzxyyxyzyyzzyyyxxxyxyyzyyxyyzxxxyzyyyzyxyzxyyxyyyxxyzxzyxyzzyzxxyyxyxyxyyzyyxyxyxyxyyyyyxzyyzyyyxyyzyyyxzyzyyyywxxyxzyyyyzzyyxyxywxxzyyyxzy{yyyzxxyxxyyyyzyywyyyyyxxyyzyzy{zyyxyzxzyyxzyyyzyxxyyxwyxyyyyy{zxyyyyyyyyzyzyzzzyyyxyyyzxyyzyy{zzyyyyyzyyy{zyzzzzyyyyyyyyyzyzzyyyyyyyyyzxzzy{zzzzzzyzyyyyzyyzzz{zzyzzzyzyzyyz{{zzzyyyyyyxzzzyzz{zzyzzx{zzzz{zzzzzzyzyzyxyzzzzzz{zyzzzzyyzzzyzz{z{zxzzyxyzzzyz{z{{zzxyyzyyzyyzzzzzyzzxyyzzyzzzzzz{zz{yzxyyyyyyyyzzzyyxyyyyyzyyyzyyxxyxyyxxyyyyzyzyyyxxxyyxyyyyzzzyxyxxxzyyyyyyyzyyyyyxyyzxxzyyyyyyyyyxxxyyyxyyzzy{yyzyyyxwxyzyyyzxyzxyyyxxxzzxzy{yyyzzxzyyyyyyyzzzyxxxyyxxzyyyyzxzyyyyyzyyxyyzyzxyyyyyxyyyyyyyyyzyxxyzyyxxxzyyyyyyxyyxxxyyxyyyyzyyzyyyzyyxyyyyzyzyxyyyyyyxy{zyzyxyyyyxyyxyyyzzzyyzyzyyxyyyzxzyzyzzyyyyzyywyyxyzzzyyyyyxyyyyzzzzyzzzyzyzzyyyzzyyzzyzyyxzyyzzzzzzzzzyyyyyyyyzzzz{zzzyzyzzyxyzzzz{y{yzxyy|yzy{zzzz{{zzyyxyzz{zzzzzzzz{yyzyzyzy{z{z{{{zzyyzyzxzzxzzz{zyyyyyy{zzzzzzz{{zzyyzyxzzzyzyz{zzyyxyyyyzz{zyz{{yyyyyzxyz{zzzz{zyyyzyyyyyzzzzzyzyyxyyxyxyyzzxyzyyxwyyyxxyyyyxzz{zxyyxyxyyyyzzzyzyyyyyyxxyzxzyyzyyyxxxyxxxyyxyxzyxxxyyxzyxxxyzyzzyyyyyxyyyyyyyzzxyyzyyyyyyxyzyyzyyyyyxyyyyzyzyzyyyxyyxyxzxyyyyzyyyxyxxyxyyyzyyyyzyyxyyyyxxxxyyzyyzyyyyxywyzyyzyyyyxxxyyyyzzzyzzzzyxyyxxyyzzzyyyy{yyyyxyyxxyyzyzyyyyyyyyyyzzyzyzzzyyyyywyxyzzyyyzzxyxxzyxzyyzzzzzzyyyyyxyzzzyyyzyyzyzxzyxyyzz{{zz{yyyyyyxzzyz{zz{{yyyzzyzyyzzzzzzzzzyyzyyzzzzzyzz{zzzyzy{zzzzyzzzyyyzyyzzzzz{zzzzzz{zy{zyzyz{zyzzzzyyzzyyyyzyzzzzzzyyyzyzzzzz{zzz{zyyzyzyyzz{zyzz{zzyyyyyyz{{zyzyyyyyyxyyyyzzzyzyzyyyxyywxyyyyyyzzxxwyyyyyzyyyzzyyyzyyxyxxyzzyyyzzyyyxyyyyyyyyyzzzxxxyxxxxzyxzzzyzyxxyyxxwxyyyyyzyxyyyzyxxyzzyyzyyxyyyxyxxyyzzyzyyxzyyxwxyyzyyzxyyyyyyxxxxyxyyzyzyxyxyxyyxxzyyyyzyyzyxxyyxxzzxzyyzyyxxyxyyxyyyy{zyyyyyyzwyz{zyyyzyyxyxzyyxyzyzyzyzxzyyxyyyyzzzzyzzyzzzxyyxzyzyyzyzyyyyxxyyzzzyyyxzyxyyywyyzzzzzyzyyyyzyyyzyyzyyzzyyzyyzzzyyzzzzzzzyyxyzzzyyzzzyz{{zyz{xzzyzzyzz{zzzxyzyyzyz{zzzzzzzzzyyzz{zzz{{zzz|zzzyyyzz{{z{{{{zzyyzyyxzz{zzzzzyzy{yzzzz{{zz{z{zzyzzyzy{yyzy{{zzyzzzyyzz{zzyzzzzyyzyzzyyyy{zxz{yyyyyzyzyyzzyyyyzxywyxyxzzxyyyzxxyxyyyxyyzyzyzzyyyxxyyyxzyzzzzzzywyyyxyyyyyyyyyzxxxwxxywyyzyxzzzyxxzyxyxy{yyyzyxzyyyyxxyyyyxyzzzyyyxxyxyxyyzxzyzxyywxxyyxyzyzyzyywxxyzyzxyyyzzzxxyyyyyxxyyyyzyzyyyyxyyyyyzxyyyyzyxyxxxyxyyzzyyyyxyzxxxxxyyzzz{zzyyyyyyyyyzyyyyzzyyxxywyyyzzyyzy{xxyyyyyxzyzyzzzyyyyyyyxyyyzzyzzzyxzyyyxxyyzyyzzyzzyzxyyyzz{yyzzz{yyxyzyyyzyzzy{zzyyyzyzyz{zzz{zzzyzzzyyy{zyzzzzz{yzxzyyz{zz{zzyzzzyzzyyyyzzzz{yzzyzzyyzzyzzzzz{zzxzzyyyzzzz{z|yzzyyzzzz{zyyzzy{{zyyzzyyyz{zzzzyzzyzyyyzzyzzzyzzzzyyyxzyyz{z{zyzzyyyyyyyyyyyyzzyxyyxxxyxxyyzzyyzyyxxywwwyzzxyzyzyyxwxxxyyyyzyyyzyzxyzyyxyxyzzzzyzyyyxxxyxyxyzyzyyyyyyxxxxxzxyyyzyzyxxxxyyxyzyxyyyyyxxxyyyyxyxxyzyxyxxxyxxxyyyyyyxxyxyxyxxyyyy{ywxxxxxyxxxxyzyzyyzyyxyzyxxyyyzyyzzyxyyxxwyxyxyyzzzxyzxxwyxzzyzyyzzyyyxzyxyyzyzzzyzyyxyyxyyzyzyyzyyyxxxxyxzzyyyyyyzxyyyzxyyzzyzzyzyyyyzxyxyyyzyzyzzyxyxyyxyyyzzyyzyxyzxyyyzy{zzzy{zyzyzyyxyyyzyzzzzyzyxzyyyyzzzzzzzzyyyzyyzyzzzz{yzyzyyyzyyzzyyyzzzzyyy{yyzz{yzzzzz{yyyxzzy{zz{yyzzzxzyyyyzzyyzzz{zzyyyyyxyyzzzzzyzzzzyyyyzyzzyzzyzzzxxyyxxyzyzzzzzyzyxxyyxyzzyyyyyxxyyxyyxyzyyyxyzyyxxyxxxxyxyxzzzyyxyxyxxzyzyyyyyyyyxyyyxyyyyyyyyyzxyxyxxyxyxxyyzxxyxxxyxxyzxyyyyyyyxyywyzxyyzzyxxxyxwxxxyyyzxzyyyxxwxxxyyyxyyyzyxwxxxyxxyxyyxyyyxyyxxyxxyzyyyyzyxxxyxyyxxyxyxyyyzxywxxyxwyyxyxyyyxxyyyyxzyyyyyyyyxyyyyxyzyyyzzyzzxxyyxyyzzzyyzyzxzxxyxyyzxyyzyzyyyzyxyyyy{yyyyyzxyyxxyyyyyzzzzzyxxxyzyxyzzzzyyzyyyxxyyyyzzzzyzzyxyyyyzyyyyyzzzzzyyyzyxyyyzzzzzzzzyyyzxyxzyy{yzz{yyyyyzyyxzzz{zzzzyyzxyzzyzz{zz{{yyyyyyyyzzzzz{{zzyyyyzyzyzyyzzzzyzyzzzzyzzyzzzz{yxxyzyyyzzyyyzzzzzxxyyyxxzzzzzxyyyyxyyxyyzzzyzyxyxxyyyywxyyxxzyyyyxwxxyxyyx{yyzzyyyxyxxxyyyyyyzyyyyxyxxyyyzyyxyyxxyyxxyxyyyzyzyyxxxwyyyyxzyzyzzyxxxxxywxzyyyzyyyxyywxyyyyyxyyyxzxyxxyyxxyyyyxyyxyxyywyyxyyxyxyzxzyyxxwxxyyyzyxyzxzwxxxyxyzxyxyzyxxxwxyyxyxzxy{zzxxyyyyxxzzyyyyzzyyxzxwyyzzzyy{yzyxyxxxyzzzyyyzyyzxyxyxyyyyyyyyyyyxyxyxyxy{zzyzzzyyyzxxyyzyzzzzzyzyyxzyzyyzyyyzzyyxyyyxyyyzzzz{{zyzyyyzyzzzzzyzzzyyyzyzyyyz{zzzz{zyyyzyyzz{z{yzzzyzyyyzyzy{yyzzzzyyyyyzyz{{yzyzyzzyz{xxyy{{zzyzz{yyyyzyyyzzzy{z{{zyyzyyzxzzzzyzzyyyxzyyyyzzyyyyzyzyyzyyyxyzyyyy{zyyyyyxyyzzyzyzyyxxyxxyyxyyzxxzzzyyxxxxxxyyyxyxyzyyxxxyyyyyyzyyyyxxyxyxxyyyyzxxyyyxyxxyywyzxyyyzzyxyyyyxxxyyyyyyyyxyyyxyxxyyxyzyyyyxyxxyzyyyyyxxyyywxyyxyyyxzyyzyyxyyyyyxyyyxzzyzyyxywyxyyyyyyyyyyyyxxxyyyyyyyyyzyxyyyyyyxzyyyzyyyxxyxxyxzzzyyyzzxzyyywxzyzzyyz{yyyzyyzyyzyzyyyy{yyyxxyyxzyyyzzyyyyyyyxyyyyyzxyyzzyxxyyxyyyzyyyzzyyxzyyxyy{yyyzzyzyyzyyxyyzyzzzz{xyyxyxyxzzyzzy{zzyyzyzyyyzzx{z{zzxxzyyyyzzz{z{zyyzzyyzyxyzzz{z{z{yxyyyyyy{{zz{{zzyyyyxzzzy{zzz{zzyzzyyyxzzyyzzz{zzyyyyyzzyyzzzzzzxzyyzyyzzzzzzz{zyyyyyyzzzzyyy{yzyzyzxzz{yyy{yyzxyxyyyxxyzzzyyyyyyyxxxxxyzxxxyyzyxxyyxxyxxxxzyyzyxxyyyxyyyxzyzz{yyzxxyxxxzyyzzyzyyyxyyxxyyxyyyyzyyyxxxyyyzyxxzyyxxxxyzwzyyyyyyxyyyyxyyyxxyyzyyzxyxxxyyxyyyzyyyzyyxyyxxxyyxyzyxzzyywxxxxyxyxyyzzzxzxxyxzyxyyyxyzzyyyxyyxxyxxzyzzzxyyxyyyxzzyyzzzzxyxxxyxyzyyzzyyzyyyyxyzxzzyz{zzzyyyyyyxxyzyyzyyzzxyyxxxyz{yzyzzzyxyyyyzyxzzyyyyzyxyyyyyyyyzzzzyyyzyyzyzyy{yzzzz{zyyyxyxyyzzzzzz{zyxyzyyyzzzy{zzzyyzyyzyyyz{y{zzz{yzyyzyyy{{{z{zzzyzzyyyyzzzzzzy{zzz{zzyzyyzzzzzzzxyyzzyzyzyz{zzzyyzyyyzxyzzzyzzzyxzyyzyyzyzzxyzyzyzxyyyyxzyyyzzyxywxywyxyyzxzyyyxxyyxxxxyzyzyyzzyxxxzyxxyyyyyyzyyxxxyxxxyxyyyxyzyxyxxywxyyxyzyyzyxxyxyxyxyyyyyyyyyxxyxxyyyzywyyyxxxxxyxyyyyzyzzzyxyxxxxxxyyyyyzzyyyxxxxxzxzyyzyyyyyyxyyxyxyzxzyxyxyyxxxwxyyyyxxyxyxxyxxwxyyyyyyzyxyxyyyxyyzyyxyyyxxyzxyxxzyxyyzyzxyyyyyxyyyyzyzzyxyyyyyyyyyzyyyzyyxyyyxyyyzyzzzyyyyyxyyyyzzzyyzzyxyzyxzyxzzxyzzyyzyyzyyyxyyzz{zyyzyyzyyyyyzzyyzzyyxzxyyyy{z{zyzyyyyxxyxyzzzyyzzzyyyyxzxzz{zzzzzzzyzyyzyxz{zzzz{{zyzzxyyz{{{z{zzzzxyyzyxzxz{yzzzzzzxyyyzyyyzyzzzzzyyxyzyyyzyyy{zzzzxyxyxxzyzzzzzzyxxxyxxxz{zzyxyyxyxwyyxxyyzzyzyyyxxxxxxxyxxzyzyyyyyxxyxxyyyyzzzyyxxxxzxxyyyzyzzyyxxxxxxxyzyzyzyyyxyxxxyxyzyyyyzyyyxxxxxyyzyyxyyyyyxyyxyxyxyzyzyzxyxxyyxyyyyyxyzyyxyyxywxxyzxyyyzyxywwxyyyxyyyy{xyyyxxxywyyyyyzyyyxyxyyxxyyyyzyyzyxyxxzyxyyyyyyyzzyxyyxyxyzyyyzzyzyyyxwyyyyyxyyzzyyyxywyxzyz{yyzzxyyyyxyxyzyyyzzzzyyxxyxxyyzzyz{yyxzzyxyyzyzyyzzzyyyyxzzxzzyzzzzzzyyxyyzzzzzzzzz{yyyyyywyzzyyzz{yzyzxzyyxzzyzyy{zzyzyzzzyyzzzz{{{{zyzyxyzyzzzyzzyzyzzzxyzyyzzzz{{{yyzyxyxzyz{zyz{{yyyzyyyyyyzx{zzyzzxzxyzzyyzzz{yzyyyyxyyyyyzyyyyyyywyxzyyzzyzzyyxxyyxyxxxyyzyyzyyyxyxxxyyzyyyyzzyzxxxwyxyyyyyyyzyyyyxxyyxyyzxyyxxyyxxyyyyzyyyxyzyyyxyyyyyzyyyzyyxyxyxyzxyyyzyzyyyyxxxywxyyyyyzyzyyywyxxxyyyxxyyyyyxyxxxxxyyyyzyyyxyxxxyxyyyzyxyyyyxxwxxwxxxyyzyyxyzwyyxyyyyyyzyzyxxyyxzyyyzzxyyzzyxyxzyxyyzzyzyzyyyyyxyxzyyzy{zyyyxzywzyyzzyyyzxyyxyxxzyyzzzyzyzzxyyxyyyyyzyyyz{zyyyxyyyzzzyzzyzzyyzyyyyyzy{zyzzyyzxyzxyzyyzy{z{zyyyxyyxzzzyzz{zzyyzzyzyz{z{zzz{zyyyyyyzyyyzz{y{zzyyzzyxyzz{zz{zyyyyyzyzzyzzz{zzyyzyyyyyzzy{zz{yyyyyzyzyzzyyzz{zzz{yxyyyzzy{yzzyyyyyzxxyyzzzzyzyyxyyyyyyyzz{zz{yyyxyxxxyyyzyzzzzyyyyxyxyyzzyzyyzyzywyzzyzyzxyyyyywzyxxxyz{zzyyzyyxyxxxyxyzyyzzyzyyyyyyyyyyyzyyyzyyyyyyyxyy{yxyyxyyzxxyyyyxyyxyyyyxxxyyxxxyyyyyyyyxwxxyxyxyzyyyyzzxyxyyyxxyyyyyzzxyyyxxyyzyyxxzzyyxyyyxyyyzxxyyzyzxxyzyyyzx{yyzzzyyxxyyyyzyyyy{yzyzyzyxyzzzzzyyzzxzxyyyxzzzzzzyzyzzzyyyxxy{yzzzzy{xzyyyyyzyzzyy{zzyzzyyyyzzzyz{yyyyxyyzxyzzz{zzzyy{zyyyyyzzyzyyz{zzyxzyyyyzzzzzzzzzzxzyzyzzzzz{zzyyzzzyyyyzzzzyz{{yzzzyxzxyz{zz{zzzzzxyyzzz{zz{zzzzzyzyzzzzzzzz{zzzyyyzyy{zyzzz{{yzzzyzyxyzzzz{zyzzzzzyyzy{y{zz{yyyyxxyyzzyzyzyyyxxyxyyxwyzxxyyyyyxxxxwxyyyzzyyyzzxxxyyzxxyxzyzzyzxxyxyyyzzzyxyyzyyxyyyyxyyyyxzyxyyyxxyyxxzxyyyzyyxyxywyxxyyzyyyyxxxxxyyxyyyyyyyyyyxxxxxxyyzyyzyyyxxyzxxyyyyxzyyyyzxxxxyyyyzyzzxyxywxxxxxxyzyyyyzyyyxxxxyxxyyyyzyxxzxyxyxzxzyzzzyxyyyyxyxyyzyyyz{yxyxyxyyzzyzzzyyyyyyyyyyzyzz{yzyyyyyyxyyyyyyzzyyyyyxyxyxyzzzzzzyyyyzyyxyzyyyz{y{xyyyyyzxyzzzyzyzyzyyyyzzzzzzy{{zzyxyyyzyz{zzzyzzzyyxyyxzzzyyyz{zyyyyzyzzzzyyz{z{zyyzyyyyz{zzzy{zzyyzyyyyzy{{y{zyyyzyyyyz{zzzzz{zzyyyzzxy{zzyyyyzzyyyyzyyzzyzzzzyzzxyyxyxyyzzyzyzyyyyyxxxyyyyyyxyyyxxyxxyxyyxzyyzzyyxxxxyyzyyyyzzzyyyyyyxyxy{zzyzyyyxyxxwyzyyyxyyyyxxxyyxyzzzyzyyxyyyyxywyzzyyyzyzyyyyxxxyzyzwyzyyxxxxyyxyyxzyyyyyyxyyxxyyyxyyzyyyxyyxyxxzyyzyyyzxxyxyyyxyyyyyyzzywxxxyyyyyyyzyy{yyywyzyxyzzxyz{yxyyyxyyxyyzzyzyyyyxyyxyxyzyyzzzzzyyzyxyzy{yyyzyzxyyzyxyxyyyyzzzzzyzzyxyyyzyyyzzzyyyxxyxyzyzzyz{yzxyzyyyyyyy{zz{yyyyyyyyyzzzzzzzzyzxyyxzyzy{zyyz{yyxzzyyyyzz{{zzzzyyxzzxxz{y{zzzzyyzyyyyzzyyzzz{yzzzyyzzyy{yzyz{zzzzzyxyzzyzzzz{zzyyyyyyz{{z{zzzzzzxzyyyy{zzzyyz{yyyxzyyyyzyzzzzzzzxyyyyxyzz{yzzzzyyxyzyzyyyyzyyyyyxyxywxyzyxyzyyyzyyyxywyzzxy{yyyxyxyxxyyyxyzyzxyyyxxyywyyzzyyyzzyxxxxyyyxxyzzyzyyyyyxyxzyyyyzyxyxyxyxwyyyzyxyyzxyyxxxxxxyyyyyzzxyxxywxxyzyyyyzzxxxyxxxyyzzyzyxyyxxyxxxyzzzyyyzzyxyyxxyxxxyxxzzyxyyxyxwxyyyyyyyyyyyxyxyyyyz{zzzzzxyyyxyyzyzyxyyyyyyyyxyyyxyzzyxyxzyyxywyzyzyyyzzywyyywyyyzzyzyzzyyyyyxxxyzyzyyzyzxyyyxyxzzzyyzyzxyyyyyyyzzzyyyzzzzzzzzyyyzzzzzzzzyyyyyxyzyzy{{yyzx{yyxxyzzzzzzz{zyyzzyzy{yyzzzzzyyywyzyyyzzz{zzzyyyyzyyzzyzz{{zzyyyyy{yzzyzzzzz{yzzyzzyzzyzzzzzyzyyyxyxxyzyy{zz{zyzyzyyyzzzzyzzzyyyxxyxyyyzxy>y9`"{{|{z{{|}||{{~}|{{{{{{{{|{|||}{|||z{|{y|}{|||||{|{{{z{{{|}{{|||{|{zzz{{{|||{{|{{|z{{{{{{|{|{z{{|{{{{{{{{||{|{||{{z{{{{|{{z|{{{|{{{{{{{{{{|||||{{{z{zzzz{||{{{|{{zz{zzz{{{{{|{{|{{{{zz{z{z{{{{||{{zzz{z{z|{{{|||z{{z|z{{|{{|{|||{z{z|z{{{|{{}{{|{z|z{{{{||{{{{||{{{{z{{{|{{|{|||z{{{|||z{||{}{}||{{|z{z{}{{||{|||{|{|z{{{||zz|{}||{{||{|z|||||||||{{z{{{||{||||}|{{{{{{{|}|||||{{{{}|{|{{}||||{|{{|{z|{||}{|}||||{{{{||{|}}}|||{|{|{{{{{||||||{}|zz{{{|||{||}}||||{}||z{|||{||||{z{{{{{{||||||}|{|{z{{|z{||||{|{|||{z{{{{{{{{|{||||{{||z||}|{|{|}{||{z{zz|||}|{}{z||{y{{||}|||||{z{{{{{{|{||}||{{{{{{{{|{{{|{|{|z{z{{|{{{|{{|}||z{{{z{y{|{{||z||{z{zzz{{z{{{{{|{zz{zzz{{|{|{{||{zy{{y|z||{|||||{{z{{{{{y{||{|{{|{z{z{z{{|z{{z|{z{{{{{{zy{{{{|||z|{z{|{{{{z{|{{}|{{|z{{{|{|}{{|||{{{z{z{{{{{{{|{{{{z{zz{{|||{|||}zz|{{z{z|{z|{{{||{}{{{{{{|||{{|{{{z{|{z|{|{|{|{|{{{|{{{{|}|}||{|{|{{|{{{|||||||}zz{{{|{{|||}||}||{|{{||z{||}|}}}{|{{{{||{||}||}}|{{{||||{~|}{||||{{{|z{{||}|}{|||{{{{||{{|||}||~||{{|{{|||||}||}}||z{{{z||{{|}{|{{{|{zz{|{|{{||{{z|{|z{z{{{{|}|||||z{z||||}|}|||||{{|z{}|||||}||||zz{|}{{|||||}{|{|{|{{{{{||}{{{{{|{{|{z}{||{{z{|{{{{{{{{{{{|{||}|{{z{{z{||||{|{|{{z{{z|{{||||||{zz{{{{{z||}{|}{|{zzzzz{|||{{||||{{{zzzy||{||{|{{{z{zz{{z{{{{|||{{{{{z{zz{|{{|{|{{z{|{{z{|{||{{||{{{|z{{||z{||{{{|{{{{|||}|{|{{|{|z{|{|{||||{|||{{|{{{{|{|{{{||{|z|{{z{{|||{}{|{||{{|{z{|{{{{{||}|{{|z{{||||||||{{{{|||{|{{}}|||{{||{|{{|||{{||}}{{{{||{}}|||{}}{{|{|||{{||||||}|{{{|||||}||}}}|}{}{{{{{}}}{||}}{{||{||||{}|||~|||||||||}||}}|||||{z{|{{{|{|||}||{z{z{{|{}{}|}|||||z|z{{{{}|||}|||z||{|{{||}|||{z|}{|{z{||||}|}|{{{{|{z{{|}{||}|{{{{}|z|{{|}{{|||z{{z{|z|||{{z{{{{{{{z{zz|{{z|{||{{z{{{{{{{{z|{{{{|{{{{zz{|{zzz}zzzz{{{z{{{||{|{|{{z{|zz{|{}z{{|{{z{zzz{{{{{|{|{{{|{zz{{{{|{{{{{z{{{{zz{{|{{{{|{zzz{{{zz{|{||{||z{z{|{z|{{||{{{||||{{z{{|||{|{{|{z{z{z|z{{|||{|{||{z|{|{{||||{||{z{|{{{{||}|{}||{z}|{z{||{|}{|{||{{z||z{}||{|||{{|{{{{|{||||||}||{z{||{{||}|}{|{|{||{{{{|}|}|}}}|z{{|}{|||{|}||||z|||||{{||}||}}|{||{{|||||||||{}{{{{{||{|||}|||||{||{{{||}||||}|{{{{{zz||||{}||||{{|{|{{{|||z{|{{|{{{z|||{|{}|{||||{{|{{||{||||{{|{{z|{|{{|}{|}|{{{{z{z||{||{{|{{z{{{|{{}||{||{{{{z{{{z|{{{|||{{{{{{{z{{{z{{|{{{{{|{z{z|{|{{|||{{{{{z{{z{{}{||{{z|z|z{z{{|||{{|{zz{y{{{{{|z||z{{zzz{{z{||{{|{}{{|{{{z{z{{zy{{z{{{|{zz{{{|{{|||{{{z{{z{{|{{|{{}|{{|z{{z||{|{{{{||{|{zzz{{||{{{{|{||{z|z{{{{{|{{|{{{{|z{{{{|{{|{{z{|{z{{zz{|{{|{||{||{|{||{{{|}{{|{{z{{{{{||||||}{{{{|{|||{|||||{|{{{{{|z{{|{}|||{{|{{|{{||||{|}|{|{|||{{||{{|}{||{{|{{||{}|}||{||{||{|||}}||||{}|{||{z{{|}{{}|}|}|zz{|{{|{z|}{|}||{z{{{{|{{||}||{z{{z{||{|{|{|||{||z{z|z{{|{|~}|{|{|{{{{{|}|{|}|||{{{|y{{}|z|||||{{{{{|z||{z}{|~|{{{{{|{z{||}{|}{z|z{{zz{||{{|{|zz{zz{{z{|{{{{{{zzzz{{{z{{{{{|{z{z{{zz|{zz|{|{{{{z{z{y{{y{{z{{z{|{{{z{{{z{{{{||{{zz{zzz{{{{{{{z|{{z{z{{zz{zz{{{{zz{{|zy{{{|{z|{{{{z{{{{{}|{{|{||{zz{{{{{|}{{||{|{{{{zzz|z|{{{|{{z{{z{{{z{{{||{{{{z{{{y{{{|{{{}||{{{{z|zz{|{|z{|{{z{{{{zz{{|{{|{{|{{{{{z{|{{||||||{{z|{{|||{{|||{|{|{{z{{{|||}}|||{{z|z{||||{||}|||{{z|z|||||{{}||{z{{|{||}|{|}}}}{{||{|{||}|||{{|{{{z|{{}{|||||||{{||{{{|||}|||}{|{{{|{|{||}{{|||{{{{z{z{|{{|{|{{{{{{{{z{{{z{{||z{{{{{{{|||{{|{||{||{{z{||{|}||}|{|{{{||{||{{{||{{|{z|{z|||}{{|{{{|{z{|z{{|{{{{}{{zz{{{z{{{{z{|{|{{z{z{z||{z{{{{{z{|{{zz{{{{|{{{{y{z{z{{{{z{|||{{{zz{{zz{|{||{{{{z|{{zzz|{|{{|||{zz{{{|{zzz{{{{|{{{{zzz{{{z{{|{{z{{{zz{z{{|{{||{z{{z{z|{{{{||{{|z{{{z|}{|{{{{|||{{|{{|{{{|{|{|||{{{{{zz{{{|}||{|{{|zz{{z{||{||||{z{|{{|{||||{|||{{|{{{|{{{||{|||{{{{||{{||{|}{}}{{{{{{{|{|{||||{|{|{|||{}||{|{|}{{{|}||{}{|{{}||}{|||{z|||}|{||}|{{|{{{{|{||||||}z{|{{|{{||{|{}||||{|||{|{|}}||||{{{{zz{{||{|{||{{{{{{{z|||{|z}||{{{zzzz{|{{{|||||{{{|{{|}|{|||{{|{{{{z{{||{||}|{{z|{{{{|{{{||{{|}|{|{{{|{||{|{{|{{{{z|{|{|||{}||{{{{{{z|{{{||{|{|{{zz{{||||{|{|{{|{{{|{z{||{{{|{z{zz{zzz{{{{{|{{z{{{|z|{z{|{|{{z|z{{zzzz}{|||||{{{zzz{{{|{|z|{|{{{{zz|z{|{{{|{{|||zz|z{{{{|{|||{{{zz{{{{|{|||{||{{z{z{z{{z}{|||{{|{{z{{{||||{{|{{{{{{|{|{|||{{{z|{|{{{||||||||{|{{|{{{z|||{{||{{||{z||{|}|}|{|||{{|{{|{||||{|||||{{zz|{|}{}|}|||{{{{{|||||{||}||{||{|}|||{||}|||{{|{||||}}||||}||{|{{{z||{|{{}}|{{|{{{||{||||||||}|||{{|{{}||||{}{{{|{|||||||}||{{{|{|z{{||{{|{z||{{{zzy|{||~|}{{||{||{|}}{|{||{{|{|{{||}|||}|}}|{{{{|{|||{{{|{{{|{{{{{|{|||}||{{{zz{|z|{|{{|||{{{{{z{{z|{|||||z{{|{z{{{|}|z||{}z{{{|{{{|{|||z}{{z{z{{{z{|{{{{{{{{z{{z{z{|{{{{{{{|{zz{{{{|||{||{{zz{z{{{{{z{|{|{{{{z{zz{|{||||{{{z{{|{z{{{|{{|{{{z{{{{{||{{}{{|{|{{{z{{{||{|||{z{{{{{|z{{|{||}}|}{zz{|{{||||{|||{{{{{z{{||||||{|{{||{||}||{{|{{{{{||{{{||{|||||{|{{||{|{|{||||||||{z{|{|}|}||}|||{|{{||}}||}|}|{{{||||{|{||}}}|}|{|||}||||}|}}|||{{{|{{|||}||}|{{{{{{|||}}{|{||{{{||{{{||}|}}||{{z{{{{{|{{|||||{|z{{z{{{|||||||z{{{{z{{{{{zz||}||{{{||{||}|||}|||{{|z{||{}|||}|}|{{{|z{|||{{}|}||{{{z{{{}{|{{|}||{||z{z{||}||{||z{|{{zz||{||}|{{z{{|{z{||{|{|}{{{{{{{{{|{|{|{{{{zzyzz{{{{{{|||{{{{{z{{z{|{{{{}{|{zz{{|z{|{|{{||{{{{||{{{{z||{z|z{|{|zzz{||z{|{|{{{zz{{{{{||{|||{{{{{z{{{{|||{||{{{{{|{{||{{|||{|{|{{|{{{|}{||||{{{{{{|{|||{||||{{{{{{|{|}|}{{}z{{|{|{{|{}{|{||||{|{{||{{|}|{|||{{{{{z{||}|||||}{}{|{zz{||{{|||{{||{|{{{||||||}}{{|{{|{{}||}||}||||{{{{||~||||}}|{{|{z{||||||}}{|zz{{{{||||{||}||{|||||{||||{}|}{{|{zzz{{}||{|||||||{{{{{||{||||{{|z{{|z{{||{||}|||{|||{|}}|}}||||{z|{{{||||{{}}|||z{{||||{|||}|{{||}|z||{{z{{}{}z|{{{{{{|{{||||{{{z{{{{{|{||{{{{|{{{z||{z{{|{{{|zz{{{{{|{{{{{||zz{zzz{z{{z}{||{{{{{{{{z|{{zz{}{|{|{{{{{z{|z{{||z{zz{yzz|{|{{{|{{{z{zzy{|z{{{|{|z{z{{{|z|z{{|{}{|{{{{z{{{||{|||}|{{{{{z{|z{|{||}{z|{{z{z||}|{{|||{{{{||{|||{}{|z|{{{{|{z|||||{|||{z||{{{|}{|||||{{{{{{zz{{|}}|||{|{{{{|{|}||||{}{{{|||{z||}{||}{}z|z{{{|||}||||}|{{{|{{|{||{|}|}||||||||{|||}}}|}|{|{{|{}|}||}}|}z{z{|{{|z|||||}||z||{{|{|||||}|{|{z||{z{||||||||||{{{{{|||{|}||{{{{zz{{{|||{}|}{|}z|{{||}}}||}|{{{|{{z{||||}{}||{{z{z|{}||||}}}}{{{{{{{|{|{{|}}|{z{{{{|{||{|||||z{|zy|{||{{{{||z|{{|z{z{{|{|||{{{{{{{z{{{{|{|{{z{|{{z{{{{z|{||||z{{{{z{{|{|||||{||{{{{{{{{{||||{zz{{{{{{z{{z{{{|{z|{z{{z{{|||{{z{{z{}y|{{{{{z|||z{{{{{{{|{|{|||{{{{z{{{||||||}|{{{{{{{{{}{||||{||{{{{{|{||||||{|{{{{{{{{|{|{}|{|{z{{|{{|{|z|||{|{{z{{||{||||}|||{{{|{{{{|{|||||{{{||{|z}||||}|||{{|zzz{||}|||}||||||{{|{{|||||}||{{{|{{{}||||}|{z|}{{|z||||||||}{|||{{{||}|||}||{{|{|{||{{|}}|}|{{|{{{||||||||||{{|{{|z|||}{||{|{|z|z{{{||{{|}}|||||{||||}}|}|}||{{{z{|{|||}{}}|{|{|{z{{{}|}||||z|{{z{{{|||{}||||{zz|zz{||||{||{{{{{{z{||{{{{|{{{{{{z{{{}}{{|||z{zz{{{{|{{|{|||{{{{zyz{{|{{{|||{|{zz{z|{{|{||{|z{z{z{zz{{|{||{{{{z{{z{z{{{z{{}{{{{{{z{z{{z{{||{|{{z{{{z{{|z{|||{z|{|z|{||{{{{{|{{{{{{{{{|{{{{|}{|{||{|z|||{{{|{{z{||{{{{||{|}||{{{{{||{|||{||||{z{|{{{{{||||}||z|{|{}{{|||}|{|||{|{|{{{|{{}{|}|{|z{zz{z||}{||{||{z{|{{||||||{||}{{|{|||||}|||}|||||{|{|||{}}}}||{||{{{z|{||}|}}|{{{|{{{||}|~{|{||}|||z{|}||||||{|z{||z|||{{{|||{{z{{{{{|||||{{|{|{zz{{{{|{{z}}{}||{|{|{{||{{}{||{{{|{|{}{{{||{}|{{|{||{{||{{|}||{|{{zz{z||{{|{|||{z{z{{{{{{|||{{{z{{{|{{|{z{||{{{{{{{z{|{z{{{||z{{{yz{z{{{{{{{{{{{{z{zz{{{{|{|{{zz{{zy{{|{|{|{{{z{zyz{z{|{||{|{zz{z{{{{{z{{z|{|{{yz{{zz{|{{{{{{z{{|{{{{{{||z{}{{|{z{{|{{{{{|{||{{{zz{|{{z|{||{}{{zzz{z{{|{||{|||{{|{z|{|{{|{}||||{z{{{{{|{|{{{{{{{z{{{z{|{}z||{{z{{{{{{{||||{||{z{|z|z{|{|||}}{{{{{{z|||}}||||{}{z{{{{{||{||{|}|{|{|{|||}|||||}|{{|{{|{{}|||}}||{}{z|{{{{}}|||{|{z{||{{|}||||||||{{|{{{}|||{||}{|{{{{{||{|{|||}||z|{{{z||{|{||{{zz{{z{{{{{|{|z|{||z||||||}|}||{||{{||{|{||~}||}||{{z{|z}{{||{}|{{||z{{{|{||||}|}{|{z{{z{z|{|{||{|||z{{z{}||{}{{|zzz{zzzz{||{{|{zz{z{{{z|{{{z{{{||zz{{{|z{|{}||{zz{{y{y{z{{{|}|}{z{{zz|z{{{|{||{{zz{{{{{{{|{{|{z{{zz{{{zz{{|||{|{z{z{{z{||{{{{{||{{y|z{z{||{{{|{|zz|{z{z{{||z{{{{|{{{|{{|{||{|}||||y{y{z{}}|||||{{{|z{|z|||{{||z{{{{{z{|{{|{||||{{{{{|{|{|||{||}{{|{|z{z||{}|{|}{{{||{{z}||||{}}|{{||{|||{{|{|}|{|{{{||||{||}}||}{}|z||{|||||}}||{|z{|{||{|||}|||{{{{{{||}{|}||~{||{|{|{||{|||||{{{{{z|{{}|{{|}|||z{zz{{|{||z||||{{z{{{{{{{{{|}}}}|{{{{{||||||}|{|z||}|{||}||||}{||{{{{{{||||||{{{{|{{z{||}{z{||{||{{z{z{||z{|{|z{{|{|{{{||{||||{{{zzzz{{{|{{{|z|{{z{{{z{{|{{|{zzzz{{{zz{{|{{|}z|{zzz{z{z{{{{{{}{{zzz{z{{z{{|{{{{{zz{{zy{{zz{{||zzzzz{{yz|{{{||{z{z{z{zz{|||{|||{|z{{{{z{|{|{}{{|z{zzyzz{{{z|{||{z{{{z{{{{|{|}||{||{{{{{||{|||{{{{z{z{{{|||||{||{z{|zz{{{|||{{|{{{{|{|z{||{{||}{{{{zz{|{||||{|||}{{{{{z{{||{|}|||{{z{z||||{{||||{{|{|{{|{|{|{}|||{{{{{|{|||||}}}||||{{|{||}|||||{{z{|{z|{||||{{}|{|{z{z{|}{|{||}z|{z{{{||||{|||||{{{z{z{{|||{{{{{zz{{zz{{{|{||||}}}|{}{{}~|}||}}|{||{|{{||{||||||{{{{{{{}{{{|}}||{{{|{||{||||{}|}{{{{z|{||{|||{||{{{z{z{{}{||{|{|{{{zz|{{|{{|||{{z{{{{{{|{||z|z{{{{z{y{{|z{|{||z{z{z|{{{{{{|{|||||{{zz{{{|{|{|{|{z{{|{{z||{||{{|{{|{{z{z{{z||}||zz{{||z{{{{||{}{{|z{|{{{{{{}}||{|zz|zz{|{|||||||{z|{zzz{{|||{|||{{|{{z{{{||{{|{|{{|{{z{z{{{{|{|{{{|z|{{{|{{||{{{{z{||{{{|||{||}}{{{|{|{{||||||}|{{{{{|{z||}||||{|{|||{|||}|{||}}{|||{}||{||{{||||{||{{||{}||}||}}{{|{{|{}||}}|}|{{|||z{||||{}}||||||{|{||{|||}||}|{{z{{||}{||}||{{}|{z{{|{{{|{}|{{{{{{{z|||{|}|}~}}{{|}}}}}|}|}|}|||{{|{{|||||}}{|z|{|{{||||||||{{{|{|{{||||{|}|{{z{{|z{|z|||{{||{zz|z{z{{|{{}|{{z{zzz{zz{{{{{}{{{{zzzzz{{{|z{{|{z{zz{{z{{z||{|||{zzy{{{{{{{|{{|z{{zz{z{|z{{{|{{zzzz{y{zzz{z{{{{{zz{z{zz{|y{||{|{{{z{{z{|{{|z||||{{zz{z{{{|{{||}{z|{{z{{|{{{|{{|zz{{z{{{{{}z||{{zz{{{z{{z}|{||||{|{{{{{{{{{{{}|{{{z{{{{{}|||{{||{{{|{|{{|||{||{|{{{z|{}{||{{|{}{|{||{{{{||{||{|||{{{{{{{|||||{}{{{{{{{{{|}|||}||{{{{z||z|}}||{{{|{|{|{{{{||||}||{{|{|{{|{||{||}||z{{|{{|||{|||||{{{|{{{z{{{{{||{{{{{{{{{{|||{|}|||{z|zzz{{{{{~~|}}|{}|||}}}}||~}||{{|{{|}}|||||||{|{{{|{}|}||||||{{|z{{{|||{{||}|{|{{|{z||||{{}|{|{{{{{{{|||{||{z{z{{z{{{{{{{|||{{{z{{{{{|{{{|{|{{|{|zzz{z{|{{||||{{{{{z{{|{|z{{{{{{z{{z||{|{||{{{{z{{{{|z|{|||{zz||{zz{||{|{}||{z{z{{{{|{|{z||{|{{z|z{{|{|{|{|}||{|{{|{{}{||||{{{|{z{|{{||{|{||{{{{|z{{{|{|||}||{{{{{|{||}||||{{|z{z|z{||||||{||{{{{z{||{{}}|}{|{{z|{}|||||}||}|{z{{{z{||{}||{|||{||z{||}|{||~}{|||{|~{}||||}}||{|{|{{{|}|}|}}|||||||z|}|||}|}}|{|||{{{}||||||||{|||{{{||||||}|{||{{{|{|||||||||{{|{|{{{|||{{|{{|{z{{|{|{{}|~}}}}}}|{}{||~|}}}}}||||{{{|}||}}}|}|}{{{|z||||{}}||{|{{{z||||~{|}||{{{{z{z{{||||{||{{{{{z{{||{z{}{{{{z||{z{z{{|||||{zzz{{||z{{||{|{{zz|{y{{{{{{}|{z{{zzz{z{{||||{{{z{{z{|{{||||{||{z{{{z{z{|||{|{{{{z{{{{z|{|{{||{|z{z{{zz{|}{{{{|{|{{{z{{{|{{|||{|{z{{z{{||||{{||{|{{{{z|{|}{{{{|{{||{{|z|||}|||}{|{z|{{{{{||||||{{{{{|{|||||{}|||||{{{{{|}||{|}}{{||{{|{||||||||{zz{{|{z||{||{||||{|{{{{|||||}||{{||{||||{|||}}||{||||{{|}||||}}||{{{|||||||}|}{|||{{|{{}||}|}|}}|{{|{|{}{||}}}}|{{z{z{{||||||}||{z{{||{|{{|{|{{z{{{{z{{{{{||}}~|||}}||{|}}|~}}}}}|{|{||||}|}}|}||||{{|{|||||||||{|z{z{z|{||{|}|||{{{{{z{{{{{{||||{{{z{{{}{{{{||{{{{|z{{||{z{||||{{zz{{{{|{{{{|{z{zz{zz{{{|{|{|{z{z{{{zz{{{{|||{{z{{z{{z{|z||{|||{{z{{zy{|zz|{{|{{z{{z{{{|{{||}||{{z{{{{{{{|{{{||{z{|{{{{||{||{|{|{z|z|{{{||{|||{{|{{{|{|{|z|||||{{{{{{{||{{||{||{{{{{{{{||||{|{{{{{{z{||||}|||||{|zzzz|}{{}|}||||{|{{|{||{|{||||z{{{{{z||{{}||{|{{{|{{{|}}{|{||{|||{||||||}|}|||{||||||{}}|{}||}{|{{{{{|}|||||||{|{|{{{|||}|{|||{{|}{{{}{|{|}}||{|{{z{{||||{|}||{{|{z{{|{{|}{|||{|z{z{z|{{|{~}~|}||}{{}}}|||}~|||||{{|{|{||||}}{{{zz{|{{{||}|}||{{{{{z{|{{||{||{z{{{{zz{{{|||{|{{{{{{{{{{{{|{|{|{{{{{z{|{{{{{{z{{z{z{{{{{|{{{{{zz{z{{{{|{{{{{|{{z{zzzz{{|{{{{|{{{{{z{{z{||{||||z{{z{{zz{|{{{{{{|z{{{zzz||{|z{{{{z{zzz{z{{{{||||{{{{{|{{{{{|{|||{{{{{y{{{||z{||{{{{z{z{{{{{{|||||{{{zz{{{||{|||||{|{z{{{|}||}||{{z{|{z{{|{{{{||||{{|{{z{{{||||{|{}|{|{{}|||}|}|{{z||{{z{|}{||{}||{{{{{{{|}||{||{|{{|{||{{{|{}{|||{z{z|{{|||||}|||{||z|{{}|}|||||{{{|{{{||}{|{{|}|{{|{|z{{}|||||||{z|{{{|{|{{{{|||z{{{||{{{|{{z||{{{|{{{{{{{{{}|}}}}}{|}{}|~}|}}}||||{|{}{}|}|||||{{{|{{{{|||{}{|{{{{|z{{{|||{|}}{{{{{{{{{|{||{{|{{{{z{{z{|{|{{{{{{{{|{{{{{{{{{|{{z{{{{{{{{||z|||z{{z{{{{|{{{{{{{zzz{{{zz{{{z{{|{{{z{z{z{{z{{{|{{{{zz|zzz{{{{{|{{{{{zz{z{||{{|||}|z{z{{|{{|{{{||||z{zzz{z|{{{|||{|{{{|{{zz|{|{||{{zz{z{{z{|{{|||}|z|{{{{{{|{|{||{|{{{y{zz}{{{|||||{{|{{{{{|||{||{{|{{|z{{{{{|||||{{{{z{{{|{{||}{|{{{|{{{||}||{}~|{{|{|{{{|||{|||{{|{{|||{{|{|{}}|||{|{|{|||{}|}}{|z{{{{||}{|||}}{{z|{||z|{||{||}|||{|||||||||||{|||{{|{z|{}|||||{|{{{{||{||{||{{|{{{{{{zz{{{||~}|}}|}||}z|||}|{~}|||||{||||}}}|}|{|}{||{}|||{{|{|{{{{{{{z{}{}|||}{{{zy{|z{{}|{|||z{{z{{zz{{z|{|{{|{{z{zz{{{||{{{{{|{{{zz{{{{|{|{|{{{{{{{zz{|{{|{{z|{z{{z{{{{z||{{{{z{{z{{{{{{{||{{z{z{zyyz{{{{|{|{{{{|z{{{{{|z||||{{z{{zz{{|{{{||z|{z{z{z{|||{{z|||z|zzz{{|{{{{||{z{{|z{{{{||}|||{{{{{|{{{}|}}{{{{{z{{z{z|{||{|||{{{{z||{{|{|{|{|||{{||{{}|||||||{{||{{|{|{||||||{||{{{{z||{{||||{{|{|{{{||{||}|}|{|{{|{|}||||}||}{||}||{{}|||}|||{|{|{||}|{{|||||{{{|z{||||||}}|||{{|{{|{{||{|||{{{z{{{{{|||{|}}{z{{{{}{{|{{{z||{{{z{{z{{{|{|}|~}}|~|{}|}}~||}}|}||{|{|{{||||||||z{{||{z}||{||||z{{{zz{{{|{|z|{||{{yz{{{||||{||{{|{zz{{z{{|z{|{|z{zz{{{zz{y{||}{{{{yy{zz{{{{{|{}z{z{zy{{{{{|{{|{z{z{{{{z{{{{}z{{zz{z{zzyz{|{{{{|{{zz{{{zz|{{|{|{{z{zyz{z{{{z{{||{z{zzz{y{{{{z{{|{{zzzzzz{|{{{z||{{|{{z|{{{}{|{{|{z{{z{{{{{{{{|{{|zz{{z{{{{{||{|{zz{{{{z{{||{{{|{{{{zz{{{{{|{{{||||z{{|{{||{{||}|z{z{{{{{{{{|{{{|{z|z|z{{{|||}{|||{{|{{{{||||||||{z{z{{{{{|{{|}||}{{{{z{{{||||{|}|{|{{z|||||{|||||{z|||{{{|{|||}}|||{{{{{|{|||{|||z{z{{{{|||}|||{||{{z{{{{{{|{||{{{{zz{{z{{||{}}~}}}}}{~|}~|}||}}}|||{{{|{||}||}||{z{{z|{|{}{||||||{{|{|{{|{|{|}||{{{{{{{z|{{{|{|{{{{{z{zz{{{{|{{{z{{{{{z{{|{{|{{{{{{z|{z{{{|{{||{{{zzzz{{z|zz{{{{z|{zz{z|{{{{|||{z{{z{zz{{{{{{{{{zz{|zz{{|{{z{|{|zzz{z{{z|{z{}|{z{|{zzzz{{{z{{{{{{{{{zzz{{{{{|{|{z{{zz|{{{{{{{{{{{|{|{{{{{{z|}}||z{{{{z{{{|||||||{{||z{{{}||{|||{{{{{z{{{|{{{|{|{{z{{||{||{{|}|{{{z{|{|{|{{{{||}{{{{|{{{{}||}}|||{{{{{{{|||||||{z{{{{|||||}||||}||{|{||{{|}{}||||{{|{{{{{}|||{|||z{|z{{||{|{|}|||{{|}|}{{}|{{|||{{zz{{{{|{||{{}||{|z{|{{{||}{|{|{{{z|{zz{||z{~~~~}}~}|||}}}}}}||}||||{{{||}}||||||||{{{{{{z{{|}{{{|{{z|{z{{||||{{z{{{z|z|{{{{{{}{z{{{{{z{{|z{z{|{{zzz{zz{|||{|{{z{{{z{{z{{{{z|{|{zz{zzzz{{{|z{|{{zz{z{{zz{|{{z{{z{{zz{{zz|{|{{{{z{zz{z{zz{z{y|||{z{z{zzz{|{|||{{yzz{{|{z{|{{z|{{{{{z{zz{{{{{|z{{{{z{z{|||{{{{|||zzz{{|{{|{|{{||{{z{{{z{z{{{||||{zz{{{zz||{{{{||{{{z{|{{{z|{{|||}{{{{z{{{{|||||{||{{{|{|{||||||}||{|{{{{{|{{|||{{||{{{{|{{||}||{||{{{||{{||{||||||{||{||z|}|||||||{{{z{{{}|||||{|||{|{|z{{|{||||}||{{|{||||{||{||{{{{{{{{{|{||}||{|{{{z|{|{{{{{|{{{|z{{zz{{{{{~}~}}~}}}~}|~||}}}|||||{||}}{||}|}}|{{{||{||{{||||||{|{||{|{||{||}|{z{{{{z|{{{|}||{z{{{{{z||{{{|{|{{{{{zz{|{|{{{z||z{{z{z{{|{{|{z|z{{{z{y{{|{{{{|{z{{{z{{{{{{{}||{{z{zzz{{z{{{{||||z{{z{zzz{{{{}|{{{|{{|z|{z{z}||{{{{|{{{z{{||{{||{z{z{|{{z|{{|{{}{{{{{{{{||{{||}|{{|{{{{{{||{|{||{{|{|z{{{{||||||{z{z{|{z{|{{{{||{{|{{{{{{||{{|{|{z{{{{|z{||{||}|{{||{{|{|{{|{|}}{|{|{{z|||||}||{{{{{|{zz||}||||}|z{|{|||{||{||{|{z{{{|{{|}}||}|||{||{{|{||z|}||{{{||{{{|||{|{}}}|{z{{{{{}|||{|{|{{{{{{{{{{||||{|||||{{{z{||||||}{|{z{{{z{{{|z~~~}}}}}|}}~~~~}}~|||{|}{||}|||}}}}}|||{{|z{}{{}|||}{|{z{||{z||{||||{zz{{{{{{|{{|{||{|z||{z{{||{|{|{{}{yz{{{||{{|{{|{{{{{{z|{{{{|{{zz{{zz{zz|{{{{|{zz{{{z{z{|{{{{|{{{{{{{zz{{|{|{|{{zz{{{{z{|{{{{{z||zz{{{{||{|{||{{z{{|||{{||{|||||{{z{{z{z|{|{{|{{{{{|{{{{{|{{|||{{|{{{|{|||{||}{|{|}{z|{{|||{|{|{z{{{{{{{{|{{{}|{{|{{{|{||||z||{{{{{z|{{||||}|z|{|{{{{||||{|{|||{|{{||||{}}|||{|{{{{{{|{|}|||||}{||{|{{{||{}}}|{}{z{{|zz|}||}||}}{{{}z{{|{}}}}}}||{{{{{{|||||{||{|{{{{{|||||||{|{{|{{z{|{||||||||{z{{{{{{|||{||{{{{{{z{{{z|{|}~~~~}~}}}}|}}|}~~{}|||{|}}{}~|}}||{{|{{|{|}|}||{{|{|{{|{|}||{||{z{z{{{{{||||{{|{{|z{|{{{{{|{{||{{{{{{{z||{z{|{{{{{{z{zzz{{{z||{zzz|zz{z{{{{|{{{{{y{z{z{{{|z|{{{{{{{{zzz{{{|{||{{|z{zz{yz{zz||{{{{zz|{z{{|{{{|{{{{{z|{{z||{|||||{{{{|z{z{z{|||||{z{{{z|z|{{{|{{|{{{zz{{{{|||}{|||{|{zy||||}||{{||{{z{{z|||||{|||{{|||{zz|{||||{|{{{{{|{|{{{}}|{||{{||{z{{|{{|}|||{{{|{{z{||||{|||z{{|{{{{|||||||{|}{{{{z||||}|||}{{{|{z||~{||}}}|||{|{{{||}{|||}|{{{|{z|||||{}|}{|{|{{{|}|}|||}}{|{{||{||||||}}|{{{{z{|{{||||{|{|{z{z{{zz{|||}~~~~~}}}~}}|~}~}}|||}{}}|}}}||~|{|{{{|{||||||}||{z{z{{{{{{||||{{{{{z{y{|{z{{|{||{{z|{{{{{{{{||{{{{{|{z{|||{{|{{{z{zzz{z{{{{{{||zz{{|zz{|{{|{{||{{zzz}z{{{|z{{|{{{|z{{{{|{||z{{|{{zzzz{z{{{zz{z|{{{{z{z{y|{{{{{|{{{{z{{{|{|||{||{z{{{{{{{{|{||||{{|{{{|{{{|{{|{{|{{{zz{{{{|{|{{|{{|z|{{z{}|{{}|}{{|zzz{{{|||||}{{{{{z{z{{}|{||{|{|{|{{{||||||}||z|{{{{{{|||{|{||z{|z|{zz{|}|}||}{{{{|{{{|}||}|}|{{||{|||{||||||}{z{z{||{{}|}}}|||{|{{{{||}|||||||z{|{{|{||||}}~}|{{|{|{{{|{|||||||{z{{z{||{|{|}|{{{{z{{{|||{||{{{{{{{z{{|||||~}}}}~|~|~~|}~~|||||{|{}{}|||}}}{|{z{{|{|{||{}||{{{zzzz{||||{}{{|{{{zz{z{{||{|{|z|zz{{|z{||{z|{{{{{{zzz{{{{{{||zz{{{{zz{zzz{{{{{zzzz{zzzz{|{|{{{|{zzzzy{||{{{|{z|{zz{zzzz{{{|{||{zz{zz{zy{zz{{||{z{{{zzz{{{{z{|{zz{z{|{{{{{|{{}}{{{{{{{{||{{{|{{{z{{z{z{{|{|{|{}{{{{z{{y|||{|{|{|z{z{{{z{|{{z{{{{{z{{{zz{{||{{}{|{{{{|{{{|||{{{{|{{{|z|{{{}}{}|{z|zz{{z{{||||}{{||{{{{{{|{}{|{|||{{{{{{{|||{||||{|z|{|{{{||{{|||{{{{z{{{|}|}|}|}{{||{||||{|{|||||{z||{{|||{||||}|{{{|z{}|{{|||||{z{z{{{{{|{||||||z{|{z{{{|||{||{{z{{{{zz{|{{{~~}~~~}}}}~}~~}}|||{}|||}|~}||~}~{|{{{|||||||}|||{|{z{{|{|{}|{||{{{{zz{z{{|}z{}|z|{{zz{z|{z{||{{|{{z{{{{|{{{z||{{{z{{zz{{|{{|||{{|zzz{{{{|{{{||{{{{zzz{{zz{{{{|{z{{{z{{{z{|{{|{|{{{{zz{z{z{{{{{{y{{zzz{{{{|{{{|{{{{|{{{{||{{{{}||{{zz{{{{|{{|{||{{{{z{|z{|{{|||||z{z{{{{{|{{||{{{{{|{{{|{|{{}}{||{{|{{{z||{|||||z|{{{{|{{{}||||{zz{{z{|{z{||||||z{{||{{{|{{{{|||{{{{|z{z{||{|}|{|{{z{|{{||}{{||||{z{|{|||||||||{}{||z||{|}|}}|||}{}{|||{|}}{|||||z|||{z{|}{|||}|}{|||{||{|||||||{{{{{{{{{||{{|}||{|{{{{z{}{|z|||zz{z{z{{}{||{~}~~}|}|}~}~~~|}}|}}}|}|||}|}{}|{||{|z{{}{{|}||}|{|z{{z{{{{}{}|||{{z{z{z{||{{||||z{{z{zz{z{{|{{{{{{zz{z{||{z{{{{y{{{zzz{{{z{{z{|{zzz{zzz{|{||z{z{y{zzzz{z{|{{||{zzzyz{zz{{|{{|||{{z{z{{{z{{z{|{{{{{zz{z{{|{{{{{z{z{{{zzz{z||||{{|zzz|{{{{{|{{{{|zz{{z{{{|{|||}{|zz{{{|z{{{|||||{{{{zzzz{z{{||||{{{{{{zz{{|{||{||{{{{{{z{||{{{|z|{{{{{{{{{{||||||{z{z{{|{||||z|||{{{{{z{{{|{||{}||z{{|{{{||{|||}||{{{{|{{{|{{||||{|{{{{{{{|{|||}|||{{{{|{{{||{||{|{{{{|{{{}|{|||}{{{z}{{{||||{||||{{{|{{{z|{|{{|||{zzz{{z{{|{{||{|{{{z{{{{{{|z}}}}}|}~~}~~}~~|~}||{}||}}}{|}|{||{{{||{{|||}{{{{{{{z{{|{||{}{{|{{zzz|||||{{||{|{z{{z{{|{{{|||{|zz{zz{{{z{|{|z{{{{z{{{||{{|{|z{zzzzzz|{{{{{||{{z{zz{{zz|{||{|{{{{z{{{{{|||||{{{z{{z{{zz{|{{{{y{zzz{{zz{{{{|{|{y{{{{zz{{{{|{||{{{z{{z{|{|z{|||zzz{{{||{{{{{{{{|{z{zz{{||||{||||{{||z{{{||||{{|{zz{{{{z{||{{{|||z{{z{{z{{{{{|{{||z{{z||{||||}||{|{z{{{{{|{}|}||z{{{z{z{|||||}|{|{||{{z{}|||{{||||{{{|||||||{|{{||{}{{{{|}||||{||{{||{|{{}{||}{{|{|{{{{|{||{||}}|{|{{{||||{}||||||{zz{{|{}||{|||{{|{{{{z{|{||{}|y{|z{zy{{||||~}~~~}}~}}|~~}~|||}|}|{|}}||}}{{|{||{|{|{{}}|||z{{{{{{{{|{{{|||{{z{{|z||{{{{{|{z{z{zzz{{|{{z{{{{{{zzzz||{{z|{{{{|zz{{|{z{{z{||zzzz|{zzz{{|{{|{{zzzzzzz{||{||||{zzzz{{z{{z{{{|{zz{|zz{yz|{z{{{{{z{z{z{z{|{|{|||{{{{z{z{{|{{|{||{z|{{zz{{{{{||}|{{|{{z{{|||||{||z{{zzz{z{{||{{|{{{{z{{{z{|||||{{{{{{{{zz{||{{{|{{{|{{{{|{{{{{{|||z{{|z{{z|}|{|{}{{{|{{{|||{{|{||{{|{{z{{{||{|||{{z{z|{z{{|||||||{{z{{{|{|}{||}||||{|{{{{{}{||||}|{{|{{{||||{||{{|{{{{z{{{{{{|||}|z|{|{{{||{|{{{{{{{z{{z{{||||{|{}z{{{{{{z{{|{{||{{zz{z{{|{{{{~~~}}}|}~}~~~~}||||{|{|}~}}}}}||{z{|{z{|{|||}||{{{{{{{{||{|{{{|}{{{{z{{}{||||{|zz{{{{{{{{{{||{{z{z{zzz{z|{{{{|zz{zz{yz{{z{||{{{z{{{{{{{{{{{{|{z{zzz{z{{z{z{|||z{{{z{{{{{|{|z|{{{z{{{zz{{{zz{{|{{{y{{zy{{{|z|||{{{z{zzz{{{{{{{{|{|{{z{zz{{{||z{zz{{zzz{||{|{{||z{{zzz{|{|{|{{|{{z{|{{|||||||{{{z{zz{z{z{||{{{|{{{y{|{z{|||z{|z{{z{{{{{{{||||{{|z|{{{{|{||||{||}|{{{{{{{{|}||{|{|{{|{zz{|{||{|}{{{|{{||{|||||||||{{|{|{{{}}}|||}||||{{{{|{|}||{{|z|{{|{{{{|{||}|{{{zz|{||{||{||||{{||{z{{|{|||{{{{z{{{{y|||}{|{{{z{zz{{{{{|{{~~~~}|~~}~~}~}}~|||||}{||}||}||}{{{{{|||||{}}||{{{|{{|}|{|||}z{|{zz{{||{{||||{{{zz{{{{{{{{||{{z{{z|{{{|||{{{{{z{z{zz{{|z|z{|}{zz{zzzz{|||{{{{zzz|{{{{{{|{|{{{zzz{y{zz{z{{|{|{{z{{zzzz{z{z{||{{{zz{{zz{{|{{|{||{{zz|{{{||{{|||{|z{zz{{|{|{{||}{|{{{{{z{{{||{{|{{{{{zz{{||{||{}{{|{{{z{{|{|||{{|z{|{{{z{|||{|{{|{{|z{z{{{{{||||{{||{{{{|{||||{|z{{{{{|{|}}{{|{||{z{z{|z||{|{||||{{||z{{{||}{{|{{|{|zz{{{||}||{||{||z|z}{||||}}||{{|zz{{|{||}}|}|{{{{|{{{|}||{}}}||{{{{|}{|||{||{{|{{{{{|||||||{|{{{{{z{|{}|{{{||{|zzz{{{{z{|~~~~~}}}}||{{}}|}|}}}|}}|{{{||||{|||}}||z|}{||{||||{|{}|{|z{{{z||||{{||{{{z{z{zz{{{{{{||{{z{{{{||{{{|{{{{{{z{{{{||{{||{z{{z|z{z{{|{}||{|zzzz{z{{{|||{|{{z{z{{{z|{|{{{|||z{zz{{{{{|{{{{|{{zz{{z{||{z{|{|{{{{|z{z{|{||{|||{z{zz|{{}|{{{||{{{z{{{{{{|||||{zz|{{{zyz{|{||{||z{{|z{|{|{|{|{||{||{{{{|}{{{|||{{|{{z{{||{{{|{{{{{{|z||{{{}|}||{{|||{|{|{|{{|{||{{{{{z{{{|||||||{{{{{z||||}|}|}{|{||{|z|||||||{|{{|{{||{||}{|||||{{|{z{||}|||||{{{y|{{||||||||}|{|{{{{{{}{}|}||{|{z{|{{|{|||{{||{z{{{{|||||z|{{{|{{{zz{{|{|{}~}~~~~~~}}}}|||~|~}}|}|}|{{|||{{||||||||||{{|{{{|||||{}||{{zz{|z}|{{{|z{{{|{z{|y{||z{z{|{|{zz{z{{{{{{|{{{|{{zz{{{{|z{||{|zz{z{{{{||{{{|{{{{z{zzz|{{z||{|zzz{{{zz{{{||}|{{z|{z{z{z{{{{{{{{{{y{{z|{z|{{|||{z{zzz{|{{z{{{||{|{{{z{{{{{{{{{|{{{{zz{{{}|{|}||{{{z{zz{{z|{|{||{{{z{z|{{}{{|{|{z{|{{{{{|||{|}}|{{z||{{{||{|{{{{|z|{|z{|{|||||||z|{{||{z|||||||{{{{{{{{{||}{|||}{{z{{|{}|||}|||}|z|{||{{{|{|}|}|}|{|{{||||}|||}}}{|||{{{|||}{}{|{{{{|{{{|{||{|||||{|{{{{~}{||||||{{{{{{{{||{||{||{z|z|{{{|{|||||zz{{|z{z{||{|~~}}~}~~~|~|}~|||{~}~}|||}||{{{||}||{||||||{{|{{{||{||||{|z{{{{zz}|{{{|{{z{{zz{{z{{{{{|{{{zzz{{y{{{{{z{{{z{zzz{zz{{{{{zz|zz{{{z{z{{{{{||{{{{{zzzzz|{{{{{|{{{{z{z{z|{{{||{zz{z{{z{{|{z{{|{|{zzz{{{{|{{|{{{|{|{z|{z{{{|{{{||{{{{{{{{|{{|{||{{|z{y{zz{{{{{|}{y{{|zz{z|{{||||{|{{{z|z{||||}{||{{{z{|{{{{|{{||{|z|{{{{{||{{||{|{{z{{{{{|{{|||}{{{{{{|{z{{|||{||{{{{{{{||||{|||||{{{{z{||{|{||}{{{|{{{|{{|{||{|||{|{{{{{|}}||||||||{||||||{|{{{{{{|{z{|||{||||}{|{|{|{|{|{|||||{|{{{z{zz|{||||{|{{|z{{{{||||{||{{{{z|{z|{{z{~~~~~~}}|||||~}}{}||}||{{{{z{|}}}|{}|||{|{{z{{||}|{|{{{{||{z}zz}z|{|{{{{zzz{{z{{{{||{zz{z{{zzz{{|{{|{{{{zzz{zz{{z}{|{{|z{{{yz{{{{{|{||zz{zz{zz{{{|||||{z{{yzzz{{z}{||{{{zyz{{z{{{z{z||{{zzzz{{{{{{{}|{{zz{{{zz|{|{|{|zzz{{{z{{{{{{|{{|{zz{{z|z|{|{{||{{{|z{{{{|{{|{|||{{{{{zzz|{{||||{z{|z{{{{|{z{|{}{{{{{{zz{{{}||}{|{{|{{{{z{||{{|||{{{{|z|{{|{||{|}{z{{{zz{{{{||}|{{{{z{{|{||{{||}||{{|{|{{{|{{|||||z{{{{{{{}|||||{||{|z{{{{|||||||}{{|{{z{|{||||}||{{{{{{{||{||}{{|{{|{|{{{|||{{}{|z||{{{{{||{}{{{{{{{{z{{{|{{|~~~}~~~~}||||{{|~}}|}}}|}|z|{|{|||{{|z}{|||{z{{|{{||{|||{{{z{{{z|||{{{{{{z{{z{{z{||{{|{{|{{z{z{{{{|z{{|zz{{z{z{z{{{{{||{{{{zzz{yz{|{z|{{{{|{y{z{z{|{{|||{|{{zzz{z{{||z{{{zz|z{zzz|{{{{z{{z{zzz{{{|{{{{{}{z{{{zzz{z{|z|{|{||{{{z{{|{z||{|{{{{{z|{{{{|{{{{{{|{zzz{{|||{|{{{{|{|{{{{|{{{|||{{{{{{z{{{{{{z{|{{{{{z{{|||{{|{|{{{{{z{{{||{}|||zz{{|{{{|{{|{|}|{{{{{{zz||{}{{||{{zz{|{{|||{|||||||{||||||||||{{{{z{{{|{z}}}{||}}z{||{{|||||||{||{{}{{{{{{|{|||}|||{{|{{|||||{|||}{{{{|{||{z{{|{|{{z{{{{{}|{z{{|{z{z{{{z{{|{|~~~~~~~~~}}|}||}{}}}}}|}}}{|{|{|{|{{||||}|{z{|{{z{{}||}||{|{z{z{z{{||{{{}{{z{{z{{z{|{|{||{{zz{z{z{|{||{{{{{zzzz{{{zz{{z{|zzzz{z{{{{z{{z{z{yz{z{z{{z{{{|z{zzzzzzz{{{||z{|{zz{{{z{z{{{zz{{{{y{{{{zzz{{{{|{{zz{z{{{yz||z|||{|z{{{z{z{|{{{{|||{{{{{{{z{z{{{{{{z{z{{|{{{{{||{{zzzzz{{{{||}||||{z{{zzz{{||{|{||{{z{{|z{{}|||{}{z{{{{{{{z{{||}{|y{zz{{{|||{|{||}{z{{{z{{z||||{||}{{{{z{{||}||}}|{{|{{{{{||{|{||||{|{|{z{{||}|{}||||{|{{||||{|{||zz{|{{{||||||{|{{{{|||{{{|||{}||{{{{z{|z||||||}{|{{z{|{{{|{|{{||{{{zzy|{|{|||~}~}}}}~|||}}}|}}|}}{{{{|{{|}|{{||}{{|{{{{|{|||||}{zz|z{{|{{z||{{||z{{zz{{{z|{{||||{{{{zzzz{{|{||{{{{zz{zz{{{{z{||{{{{z{{{{{|{z{|z{{{zz{{zzz|{{|{|{{{{{z{zz{||{{{|{{z{zzz{zz{|{{{{z{{{{z{zz{zz{z|{{{{{z{{{{|{|{{||{{{zzzz{z{|{|||||{{z{{{z{{{{||}|{{{{{z{z{|||{||{{{|zz{z|{z|{|{||z{{{{{{z{|z|{{||{|z|{{{{{{||{|{|{|z{z|{{{{{{|{|||{{{{{{|{|{{|{||}|z{|{{y{{}|}|||||zz{{{{{|||{||}||{{|{{{{{{||||}||{{{{||{||}|~}||}||{|{{z||{{|||||z|z|{{|{{{|}{|||{{{|||{||||{|{|z{{{{{{{z||||{|{{{{{{|z{{|}{{|||{{z{{z{z|||{{~~~~}~~}~|}}z}{||||}}}~|{{{{{|{|{{|||}|{|{{{{{|z|{{z|{|||{{{yz{|{|||||{zzz{{{yz{|{z|{{{{z{{z{zz{|{{{{{{{|z{zzzz{z{{||{{z{z{{{{zz|{{{{||{zz{zzy{{||z{{{{{{zz{zz{{z{|{{|z{zzz|z{zz{{z{{{{{z{z{{zz{{{zz|z|zz|{{{z{|z||{{{{{{{zzy{z{{|{{{z{{{z{zzz{{|{||{{|{{{zyz{z{|||{||{{{{{|z{{{{||||z{{{{|{{{z|||||{||z{{zzz{{{{|{z|{{{z{{{z{{{|{{||{}z|{z|{{|}|{||{|{{{{{{{{{}{|||{|||{{{|{|{{}{{|{|}{{|{{z|{{||{||||{{{{z}|{{|{}||}|{{|z{{|||{||{||{|{z{{{{{{|{{|{|||z{{||{|}}{||{||zz{{{{{{{|{|||}{{{|z{{zz||{{{|||{{z{{{{z{||{{~~}~~}}||~{||}~|}|}|}|z|{{|}z|||||{|}{{{||z{{|{||{|||z{|{z{{{{{}{{|{}{{{{z||{{{|{{||||{{z{{{z||{{z|{{{{zzz{zz{z{|{{{{|z{zzyz{{|{{{||{z{z{z{z{{{{{}{{|zz{{{zzz{z{|{z||{{{zz|{zz{{{{{|z{{zz{zz{{|{z{|{{{y{{zz{zz{{zz{|{{{||zz{{|||{{{{|{zzz{|{zz{{{{{{{{|{{{{z{{{}|||||{{|z{z{z{|||{||{{z|{{{{{||}||{|{{|z{{{z|{{z|{|{{||{{{{{{{{||||||{z{{|||z{|||{||||{{|{{z{{|{{|||||{{||z{{|}{||||{z||{{{||z|{|}}||}{|{||{{|||}{}}||{{{z{{|{}|}|||||z{{{||}|{}}||}||{z{|{zz{}|{{|{||{{zzzz{{{|||||{{zz{{{{{z|{||{|{{{{z{zzz{||{|~~~~~~|}|}|||}~|~}}}|||{{{||z|{{||||||{{|{{{|{{|}{|}|{||z{{z{{{|{{|{|{||{zzzz|||{|{}{{{{z|z{{{z|{|{{zz{z{z{{{{{z|{||{{{|{|{zz{{{{{||{{z{zzzzz|||{{{||{z{{zz{{zz{{{|{{{zzz{|{z{{{{{{{{{zz{{zzz{{{|{|{{z{||{{{{z||{{||}{{{{{{{{{||{{||{{{{z{z{z|z|z|{||z{{|{{{z{z|{{{||{{}{|zz{z{{{{|||{{|{z{z{{}||||z{||z{{|{{||||||{{||{{|{{{{|}|}{||{{{{{{{z{|{}|{|}|{|{|{{{|||||||{|z{|{z{||}{||}}|{{{|{{{|{}z}}||||{{{|{z||}{||||{|{||zz||{|}}|}}|}z|{|{|{{|{|||}}{|{{{{{|||{|{|}}{{{{||z{z|{||||}|{zz{z{||}||||{|{{{{zz{{}|z|{~}~}~}}||||||}||~}|}|||||{|||||{|{}|||{|zz{||{|}|z|{|{|zz{{z{{{|{|{|{{{{z{z{{{|z{}{z|{|{{zy{|z|{{{{{{z{z{{{{|z{|{{{{z{{{{{{z{||z|{{{{z{{{|{{z||{|||{z{|{{{zz{{z{{|||{zzz{z{z{{|{|{{|zz{{|zz{z{{{z{||{z{z{{{z{}{||{||{|{{{{|z|{{{||||{z|{{z{{|||{|}{|{{|{z{{{z|{|{|||{|{{{z{z{|{{|||{|{|{z{{{{|||{}||{{z|z{{|||||{||{{{z}{|{|{{|}||||{{{|||{|}||||{|}|{||{|{{|{{}{}||{{|{|{{|}|}||||||||{}|{z||{||}{||||{{|{{|}|}}{|||{{{{{{{|}}||{}{|{||{|{{||||}||}{{{{|{{|{{{||}|}{{|z{{{{|{{{|{|{||{{{z{z|{{{{{|{|{|{zz{{|{{||~}~}}|}{}|}}|}}}}~}{|z{|||||{|}{|}|{{{{{{|||{{z||}||{{{||z{{||{z{|{{|z{|{{{{z{{{}{{{{{{{{z{{||{|||{{z{z{zz{{{{{{||z{{{{zz{{{{{{{|{{{{zz{{{{{|||{{|{{zzz{zz{|{{z||{{{z{zz|z{{{{{|{|{{{{{{{z{}|{{{z{{{{{||zy{|{|{{|{|{{z|{z{{|{{||{|zz{z{z||{{{|{{|}{|{{z{|{{|{{{||}||z||z{{{|||||}|{{{||{{{||}|{||{{{{{{z{{|{||{||||{||{|z|{|}|||||z|{{{{z{{||||}|}||{{{{{z|||||{{||{z{{{{{||||{}||||{{|||{|}|{{{{}}z{{{|{{||}|||}||{|||z{||}}{{{|||{{||{|{|{|||{{}||{||||{{||}{|}|z{{{{z|z||{{|{|||{{{{{{{||{|{{||{{|{|{{{||{{{~|~~~~}||}{{}}|}}}~}|}}|{z{{||||||}|{|{{{{{z||{{||||{{|{{{{z|{|{|||||{{{{{{{z||{z|{||{z{z{{{{||{{|{||{{{zz{z{z{|{{{|zz|zz{{{z{|{{|{z{zzzz{z{{{{{|{{||{zzz{z{z{|{|{{|{{{{{z{z{{z{{{{|{{{z{{{z{{{z{|{{z{z|{{{z{{{|z{|{{y{z{{{z{{|{||{||{z{z{zz{|||{|{{{{z{z{|{|{|{|||{{{{{{z{zz|z{||{z{{|z{{z{|{{{{{}|{z{{z{z{{{|{{||{|{{{{{{{||{|||||||z{|{|{{|{||||{|{{{{{{{{||{|||||z{{|{{{||{{||||{{{|{{{z{{|}|||||{{{{{|{||}{||||{{||z{z|||{|{|||{{{z{zz|{{{|{|||{{||{{zz||{||}||z{{z{{{{}{{{||}|{{{{{{|z|{|{{||||{{{zz{{{{{{{~~}}|}|}{}}}}~||}||||z}{|{|}||{~}||||{{{{{}|{|{}|{|{|{z|zz{{{|||||z{{{{{{{z{||{{{{z{{{z{z{{|z{{z||{{|{{|{{|{{||{|{{{zz{yz{{{|{{||{z{{zzzzz{|||{||{{z|{z{{zz{||{{|{{{zz|{|{{{{{{{}{{{zz{{z{{{{{z}{|{{z{zz{z{{|{{{}|{|{z|{{{}|{z{{||{z{{zz{z{{{|}|{|{z{{{zz{||{|||{||{|z{z{{z}|{{|||{{{{{{z{{{{{{{||{{|{z{{{{|{{{||{{{z{|{{|{{||||||{|{{{|{{||z{||||{|{||{{{|||||}||{{{||{{{||z|}|}||{|{{|{||{{{|||{}{|||{{|}||||}}}|{{|{z{z||}|||||}{||{{{{|{|{{||||{|{z{zz{|||{|||{{{z{{{{{||}|}||{{{{{{{z{{|{{{|||{{{{{zz{{|z|~}}}|}|||}}}}|}|}}|||||{||}{||{||||{{{{z{{{||||{z}{{{{z{{z}||{|}{|{z|zz|{z{{{{{|{|{{z{{{{{{|{z{|{z{{{zz{z{{{{{{|{{{zzz{zz{z{{|{{{{{{{z{{z{z|{{{{{{||{{z{z{z{{|{{||{zzzzzzzz||{{{{{|{{z|{{z{{|z{{{|{{|{{zzz{{|z{{{{{{zy|z{{{{{|{|||z{z{zz{{{|{|{{|{{{{{z|{{{|{|{{{z|{{{|z|z{|{{||{|{{{{z{{{{{||{||{{{z{{{z{||||{|||{|z||{{||{|{{|||{{{z{|{}|||}z|||{|{{|{{{|||{|}}{{z{z{{{{|{|}||}}{{{{{{{{{|||||||||{{{||{{}|||}|}}|{|{{||{{{||||{}{{|{{{{|{{||{|}|{{{||{{|{|||}||{{{z{|{{||||{||{|z{{{{{{{|{|{{}{z{{{zz{{{{|{{~~}~}|~|}}}}}}}||}}{{{|}|{}||{||}}|z{|{|{||{}||||||{{{z|z{||{{{||}{{{z{||z{|{z{{|||{{zz{z{z{{{{{{{|z{{{z{{{{{{{|{|z{{y{{zz{z{z{{{|{{{{{{z{{{z{||||{{|{{{{z{|{|z{{|{z{{{{zz{{{{{|{|{zzz{z|{{|||{{|}{{{{{{z{|{{{|{}{{{{{{z{{{||{||||{{{z|z{z{{}|{{||{{}{|{{{|{|{{{||{{{||z|z{}}||{|{{{{{|{{{{||||||||{z{{{{z{{|{{|z{z||{{|{{{||||||||{{|{{|{||z{{{|{{z{{z{{{||||||||{z{z{{{{}||{||{|{{||{{{||||}||||||{{|{{||{||||}{}|{{{{|||}{|{}||{{{{{{{||{{|||}}|{|{{{{|||||}}||{{{{{{|||||||||}|{{{{{{z||||{}}|{{{z{{{{{|{{{~~}~|}|}|||}}}|}|}}||{z{{{z|}|}{}}|{{{{y{z{{{{{{{|||{z{{zzy|{|||{{|{{{z{zzz{{|{{||zz|zz{{zzz{|{{{{{{{{z{{z{{z{{{{|{yzzzz{{z||{zz{{{{yzyzzzz{{{{{{||{zzzz{{y{{|{{z{{{{zz{z{{z{|z{{{|{|{{{zzzz{{{||}{{{{{z{z{{{{{{{{|{z|z{{{|{{|{{|{||{|{zz{{|{{|||||z{{zzzzz|{{{|{|{}{zz|z{{{||{|{{{zz{{{{{{{{|{{{|}{{yz{{{{|z{{||{{{z{{{{z{||{}{|||{{{{{{{{||{||}||{zz|z{z{z|||}{{||y{{||{{}|{{|||}{{{{|||{{{|}{|||{{z{{|{{|||{|||{||{|z{|z||||||{||{{||{{{||||}||||{|{{{{{{||{||||{|{z{{{{{{|{{|{|{z{{{z{{{|{||{||{{{{{zz{|||{{~~~~~~}}||{|{|}}}}}}z{{|||||{{|||}||z|{{{{||||||{|||{{z{z{{|{||{|{}{|{{{{y|{|{{{||z{{z{{{{z{{{z{{{|z{z{{{{z|z{|{zz|{{{zz{{{{{|{|{|{{{{{z{z{{{|{{z{{{{{zzz{z|{|{{||{{{{{zzz{zz{{{||{|{{zz{zzz{{{{|{|zz{z{|{z|{{|{{||{z{{{z{{{{{{{z{|{{{{{z{{|{|{||||{z{{z{{{{zz{{||||{{{{{{{||||{|{{{{{{{{z{{|||{{}||{|{|{zz||{{{|{{|z{{{|{{{{|||}}{{{{||{|{||||{||||z||{{|z{{}|}|||{z{{|{z{||{|||}||{{{|{}{|||||||}|{|{{{|{{}{{|||}{{||{z{||{}||}||||z{{{{{{{}|||}|}|||{{{||{||{{{|||{{|{{||{{}|||{{{{z{{{z{|{|{{|{|{{zzzz{|z|||~~~~}}}}}}|}~}~|}~}||||{|{|}|}||{||{||{|{{||||{{}|}{z|zz{|{{{{{||{|z|{{z{{yzz{|z||{{{{zzz{zz|{|||{{{z{zz|zz|{|zz{{{{{zzzzz{z{{{{{||{z{zz{z{{{{{{||z{|{{{{z{}{{}z{|{z{{{z{|{z{{{{{|{z{{zzzzz{|z{{|{{{z{{{zz{z{{{|{{|{z|{zz{{|{|z|{{||{z{zy|||{|{||{{{z|{|{|z{|{{|{|{{z{|{{|{{|{||}||{z|{|z{{z|{|{{|{{{zzz{z|{|{{|{|{{{{{{|{{{{|}||||{|{{{{||{|{{||||{{z|{{{{{|}{{||||{{{{{|{}}}|}|||||{{{{||{|{||||}|{{|{|z|{|{||}||}{|||{{|}}|{|||{{{z{{|{{}|{{|||||{{{||{{|{||}}||||{{{{{{{}{||{}||{zz{{{{{{||{|||{{{{{z{{{|||{~~~|}~}~|}}}|}~|}~~|}{{|}|{}|||{}{}|{{|{{{{{{|{{{||{||{zz{{{{|{{{||{{{|z{{z{}|{z|{|}{{{{{{{|{||{{{{|{z|{{|z{z{{{|{|{z{zz{{{{|{{{{||{{{{z{z{{{|{{|{z{{z{{{zz|}{|{{||z{|z{z{zz{{{{{|||{zzz{{z|{z{{||{{{{{{|||{{{|||||{{{z|z{{|{{{{{||{{|{{{|z||{{|{|}{{{{z{{{|||||{|{|{{{{z{{{|z{|}|{{{|{z{{{||||{{}|{{z||{|{{|z|{{{||{|{{{{||{||||||{|{{{{{{|{{||}}}|{{{{||{|||||}|||{z{z||{{}{|}|}}{{{{|{}{{||}}}|||{{|{|{{|{||y||||{||{{|{||{||}|||{{{|{z{|{|||{}|||||}{{||{||||}}||{{{|{{||||{{||{{{{{{{{|}|||}{||{|{{{z{{{}{{~~}}~}}||}}}}}~}}|}||{||}{{|}|z||||{{{{zz{z{|{{{|||{{{{{z{|{||||}{{{z{|{{z{{{{||{{{{{{{{zzz||z{|{|{{|{z}z{{z{|{||||z{{z{{z{{{||{|{{{zz{zz{{||z{||{zzzzz{{z{}|{z{||{z{{{{zzz{{{{|{{{{{zz|{z{|{z{||z{|{{{|{{{{{{z|{{|{z{{z|{|{|{||||{{{{{{{{{||||{{{{{{{{{{z{|{{{|||z{|{z{{{{{}||||||{{{||z{{|}|||||{{{{z{{{{{|{{{|{}|zz{|{{||||||||{{|{{{{{|{{}|}|}{{{|{z{{{||||||||{{|{{{|||||{|||{{z{{{|{{|||{}|}|{{|{|{|||{|}||}|{|{{{|{}|}||||}}{|{{||{|||||||}}||{|{{|{||{|||}{{{{{{{{{|{}||||{|{{|{{{{|{||||{||{{{z{z{{||{~~~~}~~}~}{}|}}}}}}}}|z|{|||}}{z|}|||{{||{{|||{}{|{|{||zyz{z||||{{z}{{{{z{|{{|z{z||{{{{z{zz{{|}zzz{|{{{{{{z{{z{|{z{|{y{{zz{{{||{|{|{{{{{{{z|z|{{{{{|{{zzz{{{{}{||{{|{zz{z{{z{{{|z{|||zzz{z{{{|z|{||zzzz{{{z{{{{|||||{{{{{z{{{|z|{||{{{{z{{z{{{{|{|{|{{{{{{{{{||{{||||{{z{{{{{|}{{|{|z{{|{{{{z{}|||||{zz{{|{{||||||||{z{{{z||{{{|}|||{{|{{{{{||||||||{{{{{{{{||||||{|||{{{|||||||}}}}}||{{{{{||{{{||{{{||{{{|{{|||{|}||}|{{|{||}|||{||{{{{{|{{|{||{||{{{||{z{|{||{{{|{z|{{{zz{|||||||||{{zzz{|}}|z{||{{{{{z{{|{{||~~~}~}}}}{}}||}}}}}||{|||{}||||||||||{|z{z{{|||{|}{|zzz{{{{|||||}}z{{{{z{z{|{{{{{|{{{{{y{y{z|z{|{{{z{|{|y{{|{{{z{|{{zzzz{z{{|zz||{{{zz{{z{{{|{|{{||{|zz{{{z{{||{|{z{{{zz{z{|{{{{{|{|z{{z{zz}{{{{{{{z|{z{{z||{|||||{{{{z{|z{}zz|}{|{|{{zz|{{{{|||{|{{||{{|{{||{{{{{|z{{{{{z{|{{{|}{{||{{{{{||}||||{{{{{|z{{||{{{||{z|z{{{z{{{||}}||{{{{{{||||||{{||{{{|{{{||||||||||z{{{|{|{|||||||{{|{{||{||}{||||}{{{{{|||}|||}|||{{{z{|z|||}|||||{{{{|{|{||{{||}}{{{{{z||||}}||}{||z|{{||{||{|||{|||{{{{{|{||{|{|{{{{{zz|{{{{}~}|}}}||}||}~~~|||{{}}{|}}|||}||{||{||{|{||{||}||{z{{{y|{{{||{{|{|z{{z{{||{z{{{|{{zz{zz|{|{|||{{{z{z|z{y{{||{{|z{zzzz{{{{{{{{{{{{||{z{z{{|{||||{{|{{{{yz||{{z{|{{{zzzzzz{||{|{|{{z{zz{{|{||{||{|z{{{|{{{|{|||||{z{{{z{z{{||||||{{{{zz{||{|||||}{{{|z{{{||{{}}{|{|{zz{{|{|||{||{|{|{{{{{{||{}|||{{{{{{{{||||{{|{}{|{|{z{z|||}|||{{{{{|{|||z}}}|}{{{{z|{{|||{||}}||{||{{z||}||||{|{{||{{z{|||||}||{|||{|||{{{|}}}~{||{{|||||||||||z{||{|||||||{|||{|{{|z{|{|}||}||||{z|{{{||||{}||{{{|{|{|||{{|||zz{|{{{{{||{{~}}}}}|}|}}~|||}}|{{{{|{{|}{|||}||z{{{|z|{||||{|{{{{{z|z{{||{||{}{{{{{{{{|{z{{{|{{z|{{zz{|z{{{|||{z{yzzz|{z{{{|{|{{{z{z{{|{||{{{{{z{{{{zz{{{{|||{{{zz{{{|{||{|{|{z{{{{{{zz{z{{|||{{{{{{{{z|z|{{{z{z{|{{{zz{{{{{{{|{|{zz{{|{||||||{z{zz{{{{{|{|{{}{{{{{{{z{{|{{|{{|z{{{{zz{||||}||{|{{{|z{|||{{|{||{{||{{|{{|{{|||||z{{|||||||||{|{{{{z{z||{{}{|||{{z|z{|{{}|}|{}{|z||||{z{}{||||}{||{{|{|z||||}|}|{{{{||z|||{|||{{|{|{{{|||{}|||||zz{|{z}z{}}{||}|||{{{|||}|{{|}|{{|z{|{z||{|{|}{|{z|{{{{}{|{|||{{|{{zz{{|{||{~~}~~}|}|}||}}}|~}}||}||{z|{||{}}}||{{{{{{{{|||||||{{{||{{|{{{|{|||}zz{z{{{{{||z{|{{{zz{zzz{{{{{{{{{{z|zz{{{|{{{|{{|zzzz{zz{{{|||||{{{z{{{z||{{{|}}{{|{{z{{z{{|z{||{z{{{{{{{||{z{||||z{z{z{{{{{|{||{z{{{{{zz{{{|{{{|{{{{z{{{||{{|{{{{{{{{{{{{z{|{|||z|{z{{||{{|{}}{{||{{{zz{{|||{{}||{{{{{{z|{||{{{|{{|{z{|{{||||}{{{|{||{{|}|||{|||z{z{|{|{|{{||||{{{{{|{{z{{{|{|||{{{|{{|{|}||}||}|{|{{{||||||||||}|{|{{{||{{}|{}{|{||{{{||||||||{{z||{{z|{}|{|||{}{{|{|{{||{||{|}||{{z||z{||}|||}||{{{{z{|}|{{{||z{|{{z{{{||||~~~~}~}||}|~||}}}}}|{{|{||{||||||}|{}{{{{{{|{{||{}}|{{zz{{{}|{||{{}{{|z{zzzz|zz{||{{z{z{zzz{{|{{{{|{{{zyzz{{{z{{{|{zzyz{z{yz|||{{{{|{{{{{z{z{{z{|{|{|{z{z{z{{{{{{{{{zz{{z{z{{|{{{{|{{zzz{{zz||{{{{{zz{z|z{{{|||{|||{{{z{z{{{|{||{|||zz|zzz|{{{{|{|}{{{{{{z{|{|{{{||{zz{|z{{{{|{{|{}{z|{{z{||{|}{|}{{{{{{{{|{{{{{|{z|{{z||yz{|||}|||{{zz{{|{|{||{|}}{z{{{{{y|}{{|{{{|z{{z{{{||}{||}}{||{{||{{{||{|||||{{{{|{||||{||}}{{{{{{||}||{}|{|z|{|{{{||{|||}}|{z|||{{|{|}||||{{{{{{|{|{|{{|||{{|{{|{{{{{||||}{{{zzz{z{||z{~~~}|||}}}~}}~|}~|||}||}|{|}}}|}||}|{{{|{||||}|||||{{z{{{}{}{|}|}{{|y{z|{|||{{{{|{{|zz{{z{{||{{||{{zzz{z{|{{|{||{z{{{|{zz{{z{|{{{{{{z{zz{z{{}{|||{{{z{{{z{|{{|||||z{{{{{z{|{|{|||{{z{{{{{z||{{||{{{{{z{z{{{{|{{||{|z{{zz{|{|{{{||{z|z{z{{}{|{{{|}{{{{zzz{||{||{{|{{|||{z{||{}||||z{{{{{{{||||{|||{{{{{}{z{||{{|}}{{{|{{{||{|{||||{{|||{|{||}}|}}}{{{{|{z||||||||{}{z||z|z||||{}{||{|z{{|{|}|||}~}|{{{{{|||||||}|}|{|{||{{{}||}|}|}{{|{{{{|||||}||||||{{{{|{|||||||{|{{{{|||||}|}}|||z||{{{{{|{{}||{{{{{zz|{||{~~~}}}}}|}}}|}|}~}|{{|{||||}||}}|{{|{z|{{{|{|{||||z{z{{{z{{{|||{}|z{{{zz{{{{{{{{||z{{zzy{{{||{|{{{|z{{zz{|{{}{{{|z|{z{{{z{{|{{|{{zzz{z{{z{|{{|||{{{zzzzzz{{|||{|||{{{zzz{{|{z{|{|z|z{|{{{z{{z{{||{{{z|{z{||{{{{}|{{{{{{{{|{|z|||||{{{|z{{{{|{{|}|{{||z{{{{||{||{{||z{{{{{{}{{|||||{{{{{z{{{|||{{|{{{||z{{|{||{{{||{{{|{{{||{{||||{{||{|{{{}{}|}||{{{|{{{{|{}|||||}||{||{{{|}|}|}||{{|{|{{{}||}}}||{{{{||||||}||}||{{{{{{{{||||{||{z{{{{z{{{{||}}||{||}{|{||||}||}{{{{{|{{||{{{||{||{{|{|{|||}|}|||z|{{zz{{||||~~|~}~}||}}~|}|}}}|}|{|{{{}|{||||{|{{||{||{}|{||||{{{{{{z|{||{|}|||{{{{zz{{{{|}|{|z{z{z{z{||z{{||z{{z{zz{z{z{{{||{{{{{{zzz||z{||{|zz{{|z{{{{{||{|{{{{z|zzy{{||{||{zzz{z{{z|{|{{|{{{{{{{{|{|{{{{}|{{{|{{zz|{{~{|}||zz{|{z{{|||{}}||z{{zz{{{{|||||{{}{|z{{{||{z|{||{{|||{|{{{{|{|{|{{{|{z|{{||{|{{||{{|{z{{{||{{||{||{{{{{{z||}{|||{{|||{{{|||}|||{|{z|{|{{{|||||}||{z||{{z|}||||}|{{{|{|{{||}|||{}}|{{{||{|}}|{|}||{|{{{{{|}|||||||{z{|{|||||||||}||{||{||||||}||}|{|{{|{{{|{|}||||||z{{{{|}||}||{{|{z{{{{|{{|{~}~}~|}}}z}}}}}}}|}{|z{{{{||||}|||{|{{|{{{{||||{}|}|{{z{{{{{|{{|{|||{z{zzz{{|{|||{{{{{{{{{{{{|{{zz{{z{z{z{|{{{{{|||{zzz{{z|||{z|{{{{z{zz{zz|{{|z{||{{{z{{{{|{|{{{||zz|{z{z{{|{{{{||{{{{{{{z{|{{}{|{z{{{{{{{{{||||{z{{{{{{{{|||{{|||{|{{z{{{|{|{|||{{{{z{{{|{||z|||{{{z{{{{{|{|||||z{{|{{|{|||||||{{{{{{{{{{}||}||{|{{{||{{{}}}}|||{{|||||{|||||||}{{{{{{{{{}}}{||||||{{{z{{}{|}}|||||{||||{||||||||{|||{{{{~|||}}~}{}{|{z||}}|}||{|{{{||{|||||{|}|||{||{|||}|||}||z|{z|{{z||||||}|||z{{{{{{}|}{||{{|{{z{{{||||{~~~~}~|}||}|}}|}}|}~|}}z||{{|z|||||||{||||z{|{|}{||}{{{{z|z{|||{|{|||{{z{zz{{{{{{|{{zz{z{z{{{z{{{||{{{z{{zz{{{{{{{{{{yzzzy{z{|{{{||{{zz{z{{||{{z|{{|{{zzz{zz{|{||{{}{zzz{{{{{{{|{{||{{{zz{z{z|{z||||{{{{z{{z{{{{||||{{z{|{|{{|||{|{}{z|z|{z|z{{z|{|{{z{{{{{|}|{{{|}|z{{z{z{{{||{|{}{z{{{{{{{|||{{|||{z{{{{{z{|{||||||{{|{{|{{{{|||||z{z{{||{||||||}{{{|{{|z{z}{||||||z{{{{{z|{|||{}{{z{z|{|||{|||{|{}{{{zz{|||||||}}|{||{{{|||||}|||}{z|{{{||{||}||||{{{|{{{{|||{}||z{zz{{{{{{|||{{||{{}{{{{|||{{|||{{{{|{{{|{|||}~}}~}||}}}|}~|||}|}{{{|{|||{||{|}|{{{z{{{||{|z{{|{||{z{{{{{|{|}{{{{{{{{{z{|z{{{|}{{|{{{z{z|z{{|{|z{{|z{{{{||{{{|{{zz{{zzz{z{|z|{{{{zzzz{{z||||{z{{{{z{{zyz|zz{||{z{|z{z|z{{{{{|{|{{{{{{{{{{zzz|{{|{{{{|{{{{z|||{||{z{z{{{{{|||||||z{|{{{y{{{||||{{{|{{{{{{|{{{|{{{|{{{{{z{{||{|||{{{|{{{{||||{{}|z{{z{z|{{{{{||||{{{z|z{{{{||||}|z{{|z{|{|||{{||||{{|{{{}{|{{{||||{{{{{{{|||{||}|{{{{{|{|}{|}|}|||{{|||{z{|||||||{||{{{{||||||}||||{{{{||}{|{|||}|{{{||{||{{{||||{|{|zz{{}|||{|||||{{{{z{{|||{}}{{{|{z|{{{{|||~~~}~|}{}||}}|}|}}|||{{{{{|{|{{|{}|{{{{z{z|{|||{|{{{|{{z|zz|{|||{||{{z{{{{{|z{{{{|{{{{zzz{|{}{{|||{z|{{{z{{|{|{{z{{z{zzz{{{|{{{||{{{{zzzz{|||{|{{|{{|yz{z{z{z{{|{{|{{{yz{zy}{{{{|{{zzz{zzzz{{|z|{{zz{|{||z{z|{|z||{zz{{{{{||{|{{|{{{z{z{{{||{|{{}{|z{{{{{zz{||{|{|{{z{{{{z{|{|{{|{|{|{{{{{{||{{{||{{{{|{z|||{{{||{{{{{{{{{{z|||}|{z{{{z{{{|||||{||z{{z{{{{|||{||||}|{{{|{{||{}{|}||{|{z|{{{|||}{|||{||||{|z~||||||{{{{{{{|}|||{||{|{{|{{z|||||||||{{{{{|{{{{|||||||{{{{{{{{{|{{{|||{z{{{z{|||{{|||{{|y{{z{{||{{~~}~|~~|}}||{|~|{||}}~}||{{{{{{|||||}||{z{{zzz{|{|{||{{{{{{z{{|{{|z}{||{z{{{{zz{z|z||{|{{z|{{{{||{{{{{{yzzz{{z{z|{z{|{zz{{{{z{z|{z{{{{zz{{z{{{z{{{{|{|{{{{zz{{{{|{{|{|z{{zzzzzz{{{{{{{z{{{{z{z{{{z|||{{z{{z{{z{{{z{{{||z{{z{{z|||{|{{{|{{{zz|z|z||{z||{{{{|zz{{{|{|||{{}|z{z{z||{{||||{z{z{{zz{{||{{|||{{z{{zz||{{|{|{{{zz|zz{|{|||{{{{|z{{z|z{{|||{{{{{z{|{zz|||||||||{{|{{{{|}||{|||{{{{{{{||||||||||z{{{z|{|||{|||}|||z{z{z||||||}{}{{{z{{||{{{|}}|||{{z{{{{||{|||{{||{z{{|{{{|{|||||{{z{{z{{{|{||{z{{{zz{{|{|{{}|~}}|}{}}}|}}|}}||{{{|{{{{|||}}||}|{{{{z{{{||z||{|{{{{{{{|{{|z{{|zz{z{zzz{{{{{{||z{{z{{{z{z{{z{{{{{{{{zyz{zz{z|{|zz{z{zz{{{{{|{{{{z{{zzz{zz{||{{{|zzzzx{zz{{{{{{{{zzzyz{y|{{{{||{{{{{zzzzz{{z{{|{{zz{{{{z{{{|{{|{|{z{{yzz{{{{|{{|z{{{zzz{{{{{z{||{||{{zz{|{{{{{|}{z{|zz{z{|{z{{{{{{z{{{zz|{{|{|{|{z{{{{{z{{{|{{{}|{{{{{{{{z||{}|{{{{{z{{z{{||{{{z|{zz{z|{z||||||||{{z|{{z{{{{||||{zz{{z|||{|z|||||||z|{{|{}|||{{||{{{{|{{||||{|}|{z{z{{{z{|||||}||{{||{{|||{|{|{{{{{z{{{{{||{|{|||{{{{{{{{{||{{||z{{z{zzz{|}{|~~~|~}~|}}|}}}|~|}}|||{{z{{{{||{{||}}{|z|{z{|{|{|{{||{{zzzz{{{{|{|{{{{{zz{z|{{{{{{{||{{{z{{{||{|{{|{{{y{zzzz{{|{{{||{{{{{{z{{{zz|{|||||z{z{zz{z{{{{{||{{{{{{zz{||{{{{{{z{{{|{{|z{{{{|zzzzz{zzz|{{{{||{{{{|{yz{{{}{{{|{{{z{zzz{|||||{{|z|{{z{||{|||{{{zzzzy{{{|||||||{}z{{|z{z||{||{{|{z{{z{z{{{|{|{|{|{z{|{z{{||{{|||{{{z{{{{}{{{}{}|||{|{{||{|||{|}|}{{z{{z{|||||||{|z{|{{{|}{|{|{||{|{|z{|{|{{|||}||{{{{{{z||||{||{}|{{{|{{|{|||{|{|{z|{{{{|{||||||||{{|{{{|{{||{|z|{z{{{{z{|{||{|||{{||{{{{|||{{||z||{{z|{|{{{|~~~~}}~}|||||}}}||}}|{|{{|z{|||}||{|{|{{{{|{z||}|{|||{z{{{{z{|}{{|{|{z{z{{z{{{{{{{|{{|z{{zz{{{{|{|||{{{{zzz{|||{{||{{{{zzzzz{{{{{{{|{z{{{{z{{{|{{||{z{zzz{{{{{{{|{||{zzz{zzz|{z{{{{|||{zzz{{|{z|{|||{{zz{|{{|{{{{{{|{{z{z{zz{|{{{{|{{z|{{z{{{|{|{||{zz{z{zzz{{|{{|{{{z{z{{z{{|{{|}|{{{|z{{{z{}}{{{|{{{{{{|{{|{{|||{{{|z{{{{{{{|{||||{|{{{{|z{|{|||||{{{|z{{z|}|||}}||||||{|{|{|{{|||{{z|{{|{{||{|||}|{{{|{|z{||||}|||{{{{|{||||}{||{|{{|{|z{{|{{||}|||{||{{{||||||{{{{||{z{|{||||||}|{{{z{{z{{{}{{{||{{z{z{z||{||~~~~~~~}}}|}||{~}}|}}|}}{|{|z{z|{{|{|||{{{{|{{{{||{z{{|{z{zz{{|||z|{|||{{{{{{z{{|{{{{{{{{{{{{{{|{{{{{|{{{{z{{z{z{{{{{||z{{{z{{{z{{{{{{|{zz{z{{{{{{|{{|{z{z{{{zz{|{||{{{z{{{zy{zz{{|{|{{|{z{zz{{{{{{|{||z{z{|{{{{|{z||||z{{{zz{{{||{|{|{|{|{{z{{{z|{{|{|{z{{{{z{z||{|{|{{{{{{{{{{|{|{|{||{{zy|{z{{|{{{|||{{zz{{|{{|{{{{{{{{{{|{z{|{{||||z{|{{{|{|||||{||{|{{{{{{{}{||{|{{z|{{{{||{{|||||{{|||z{||}{{|||}}{|{{{|{|}{|||}||{|{|{|{|||{||||{{{{|{z{||{{{}}||{{{{{{{|||||||}|{{{{|{z|}||||}||{{{|z{{{||{||{||{{{{{{z{|{{{~~~~}~~~|}}}{|||}|}|}}}||{|{|{||{||||||}{|{{{||{}|{{{|||z{|zzzz{||{|{{|{z{|z{{{z{{z{{{||{|zzz{z{{|{{{{{|{zz{{{z{|{||{|{{{{{{zz{z||{{|z{{{z{z|{{{{|{||||{{{zz|zzz{||{{{|{z{z{{{z{|{{|{||{{{{z{z{{{zz{|||{{{z|{zzz{|z{|||zy{z{|{{z{||{{|||{{{{{{|{|{{||||{|{{{{|{|{{{{{z|{|{{{{|{{{||{|{{zz{|{{|{{|}|{{|z{{{{{||z|||{|||{{{{{z{{{|{|{{|||{z{{{{{|{{{|{||||{{{|||{|~}{{|||{z{{{|}{|}|{|||}|||{{{{{|}{{{||}|{z{{{{{|}|||||}||||||{{|||{}|}|||{{|z{{{||||||}||{{}{{{{}||{|}|{|{z{|{{|{{{||||||z{{{zz{}|{|||}|z{{{{{z|{{}|~~~~~~|}~~~}}}||||}||}|}}|{|{{||{|||}{||||{||{{z{{{|{|{{}{{{{zz{zz|{|||||{{z{{{{|z{{{|{|{|{z{{{{{{{{{{{{{z{z{zz{{{{|{{{{{{{zzz{zzz{{{z{{|}{z{zz{{z{||{{|{{{z{{z{z{z|||{||{|{{zz{zzz{z{{{{{z{z{{zzzz{{zz|{|{|z{zz{z{{{{{{|{{{{{{{zz{|{{|{||{{{{{{z{{{{{{|{|{{{z{{{{{|{|{{{{|{z{{{{z|{z|{}|{{{|z{zz{{{|{|{|{{zz{{{yz||{{|{{{{|{z|{{{|||||}||z{{z{{{z{|||{{|}|{{||{z{|||{{|}{|z|{{{{{{}|{{|||{|}|{||{{{{||||||{z||{|z}|{||{}|{{|{{{{{|||}{||||{|z{zz||{|{{|}}|{{{|z{{|||||{|}z{{|z{{{||{{{{{{|{|||z{{{||||||||{{zz{|{{|{{{~}~}~~~}~~~}}||{}|}}}}}||}|{{{{|}z|{|||||{|{|{{{{{|||}|}{|{{z{{z{z{{|{{|{}z|{{{{{{{||{{{{{{{z{|{z{{{{z{|z{{z{{z{{z{{{{{|{{{{{{|{{zz{{{|||{{{z{z{yz{{{{{z|{{zz{zzzz{{{|{{|{{{{{{z{z|{|{{{{{{z{{{{{{{|{|{||{{{{z|{{z{{z{{||{{{{z{z{z{|{{{{||{z{{z{{{{{{{|{{|{||{{zz{{{|{{{|{zz{{|{zy{|}||{z|{zz{{z{{||{}{{||{{{{{{{{{}||z}{{|{{||||{|{||{|}{{{|{|{|{||{||||}{{{{|{{{{||||{{|zz|{|{{{||||}|}{|{|{||{||||{}}|{|{{{{|{{}}||||||||{||||{|}|}||{||{{|{{{|{||{|}|}||{||{{{||{}||}|||{{{{{{||||{|}||{{{{{{|{||||||{||{{|{z{|||{|~~~}}~}}}~}~}}|{{|||||}|}||||{{{{{{{{|||{{{|}{{{z{z{{|{{z{{}{zzz{{{{{{z|{}{{{y{z{zz{{|{{{|{{{{{z{z{z{{|z{{|{{{{zzzz{|{{{z||{{z{zzz{z{z{|{{|{|zzzz{zz{{{{{{{{{|{zzzz{{z{{{{{||z{{yz{z{zzz{{{{{{{z{zzzz{zz|||{z{z{{y{{z{z{|{{{{{{{{{zz{{{{z{{{|zy{{{{z{{{{{{}{{z{{z{{{{||z{{|}{{|{{z{|z{{||{{|{{{{{{{|{{||||||{{{{z{z{{|{{{|{{||{{|{{{{|||||}{{{|{{{{||{||{}|||z{z{{{{||{}{{|{{{z{{{{{{|||||}||{{{{|{{}{{|||{||{{{z{{||}{|||||{{{{{{z{||{|{|||{z{z{{{{z{{{{{|||{{|{{{{{{||{|}{{{{{{|{{z{|{|}{||{{{z{z{{|||{{{{|{|{zzz{{z{|{~}}~~}~~~~|}}}}||||}}|||}}||{{||{{|||||||||{{|{zz{|{|{||{|{{z{{{{z|{{||||||z{{{{{z{z{}{||{{zzzzzzz|z{z|{{{{{{{{zz{|z|{z{{{{{{zzzzy{{zz|{{|zzzz|{{zz{{{{{{|z{{{zz{|{{{{{{|{{{{{{zz{{|{{{{|{{{{z{z{zz{{{{|||{{{{|z{z{|{|{||{}|z{{{{{{z{{||||{{|{zz{{||z|{{||{{{{{{{z|{||{|{{{{{{{z|{{|{|{||}{zz|z{{{||{||||{{{{||{{{{|{|{|}|{{{z|{z{{||||}{|{{{|{|{|}}||{||||z|{|zz{|{|||{|{|{{{|zzz}}{|||{||{{|z{|{|}|||||||{{{{{|{{|||}}}|{{{|{|{{|}}||||}|{{{|{{{{{}{|||||{{{{{z|||||||}||{{z{||{|}{|{|}|||{z|{|{||||||||{{zz{z{{|{||{~}~}}~~~}}}}}}{}||}|||{}{}}|||z||{{||{{{|||{{z|{zz{{{{|{{{|||{{z{{|{{{||{{{|{{{{z{{zz||{{{{{{{{zzzzz{z{z{z{zzzzz{zy{{{{{{||{y{{{{z{z{{z{{{{{zz{{z{z{|{{|{|||{{z{{z{{{|{{{{|{{z{{|z{zz{{|{{|zz{{zz{{zz{{{|{{{{z{z{z{zz{||{{}{|{z{{{zz|{{{|||{{{{{zzzz|z{{{|{|{z{z{z{zz|{{{|{{z{{{z{{zz||{{||{|z{{{z{z{|{{{{|{|zzz{{{{{|{|{{||{|{|{zz||{}|{|||{{{{|z{z{}|z{|}|{|{{{{zz{}||{||||{z{{{{z{{|{||||{{|z|{{|{|{|||||||{{{{{{{||{||}|{{|{|{{{||||{{|||{{z{{{{{{{||{||{|z{{{{||{{{|||{|z{{{{{|{|{{||||{z{|{{{z{||{{||{{{{zzz{{{{|{|~~~}}}|~~}}~~|}||||||}|}}|}}|||{{||{{|{z|}||{|{|{{zzz{{||{{|||{{{{|zz{{{{{{{{zz{{z{zz{{{|z{||{{z{{{{z{{|{{{|z|zzz{z{{{{{||{{|{z{zzz{{{{{|{||{{{|{z{{{{{|||||{{|{|{zz{{|{z|{|{{{{z{z{{{{{{z{|||{{{z{{{||{{{|z{z{|zz{{{{{|{||}|{z{zzz{{|{{{|{{}z{{{z{|{{|{|{{{|z{z|{z{z|||||{||{z{{{z{{{|{||||{|{{z{{zz{{{|{{|{||{{|{{{||{z{{||z{{{{z{z{|{|{|||{||{{{{{{|||||}|{{{{{{z{{|{||{}{||{||{{z||||}|||{|{z||{|{|||||}||{|z|{|{||}}|||{}|||{{{{|{||}|||{{|{|{{{||{|||}||{|{{{{{|}{{||||{{|{||zzz|||||||{{{{z{{{{{{|{{|}zz|{zz{{{{{{{~}~}~}}~~~~~}}}}|||}{}||}}}||{{{||{|||}{|||}}||zz{z||||{|}||{{{z{{{{}{}|{|z{{{z{zzz{{{{{{{{{|{{{z{|{{{{{{{||{z{zz{zz{{{|{||{|{{{zzz{zz{|{||{{z{z{z{z{{z{{{|||{{{zz{{z|{{{{{|{{z{zzzz{{z{{|{{{{zzz{{zz{{{{|{{|zz{{|{{{{||{z|||z{{{zz{{{{z||||zz{{{z{|||{{{|||zz{{{{{z{{||z||{|{{z{z{{z|{|{||{{z{{{{{{||||{{}||z||{{{{{|{{{|{||{z|{{{{{|||||||{{|{{||{{|{{||||z{{{{{{{|||z|}}||{|{{{{{}||||~}{|||{{||{|||{||||{{||{{|||}}|||}||{|{{{|||{|||}||{{||{|z{|{{|{}|{{}{{|{z{{{||{|{|{{zzz{|{{||||||{|{{{{{{{|{||{||z{z|{zz{z|||{{~~~}~}}}}}|{|{|{{|}|||}|{}|{{{||{{|{||||}}|{{{{{{{{{||{{|}{{{||{{zz{{{|||{z{|z{{zyz{|{{{||{z{{{z|{{{|{{{{{z{{z{{zz{|{{{{{|{{{zzz{{z{{{{{|z{zzzz{z{|{|{{|{{{|z{z{{z|{{{z{{z{z{{zzzzz{{{{|{|{z{z{{{z||{{{|{}{{{{{{{z{{{{{{||{{zz{z{{{||{|}||{{|{z{z{|{{|{{||z{z|{{z{{{{{{}|{{{{{{{{{{{|{{|||{z{{|{{{|||{{||{{{|{{{z{|{{{{{||{{{{{{{{|{{||||}z{z{|{{{|||{||{||{{{z{{z{|||{|{{{z{{}{|z||||}{}|{{{{{|{{|{|||{|}||||{|{{{||}}|}}|{{{|{{{|||{||||{z|{{|{|||{||{{}|{|z{{{{|{|}|{{|{{|z|{{{|||{|||{|z{{z|z{||{|{{||{{|zzz{{{{|{{~}~}~}~|}~}|~}}~}}}}}||{|{}|}|}|}|{{{|{||}||||||{{{{{{{|{||||||}||{z{{{{{{}|{{{}{{{z{zz{{||{|{{{z{|{zz{{|{|z{|{|{z{zz{z|zz||{{{{{z{{z{z||{{|}|{{{{z{z{z|{{|{{||{{z{zzzz{|z{{{|{{zz{z{z{{{{{z{{||{{{z{{|{{{{{{{|{{{z{zz{{{z|{{{{|z{z{||{z{{{|{{||{{{||{{|{{{z{|{|{z{zz{{{{|{|{|||{{|{{z{{{|{{{{|{{{{{{z{{{{|{{||{{|{||{{|{{||{||{{{|||{{{{|}|}}|{{|{z{{|{|{{{|{||{{z{{||{{|||||{{|{{{|{{{|}|}||{}{{{z||||||{||}|||{|{|z{{|}|{|}}|||||{|{z{|{|||}||{{{|||||{{{|||}{{||||{|{|||}}}{||{z{{{{{}||||}|||{{{||{|z{||z{|}{{{{y{z{{{|{~~~~~~}}~~~~~}}}}}{{|{{{}|}||~}}{|{{|{||||||}|{{|z{|{{|||{{||{|{||||z{zz||{||||{{{{z{{z{z{|{z||{|{{{{{zzz{|{{{{||{|zz{{{{{{{{{z{{{{{{{{z{{|{{{{{{{{{zzz{{|{{{{||{{|{zz{{{{{|{|||z{{zzz{z{z{{{{{{{{{{z{{zz{{z|{{{{zz{zz{{||||||||{{{{{||{{{z{{}||{zz{{z{{|{{{||{{{{{{z|{{{||{{{|{{{|{zzzz{|||{|||{{||{{{{||{||||{|z{{{z{{|||{z||{z{{{{{{{||}||}||zz|zz{{{|{|||{|}{{|{z{{{{{{}|{|||{{{||{z|||{}|||{{{|z{{{||||||{|{|{{|}{{||}}{}}||{{|{{|{{|}|{||}{|{{{{{{||}|||}}|{|{{{z|{{||}||}|{{z{{{{{|{{{|||||{z{{{|{}{}|}{{{{{{{z{z{{||{~|}}~}}}}|}}}}||z|||{|}{|}}}~{|{{{{|{}||{||||{{|{|z{{{|}|z{||{{{{z{{z{{||||{{{{{{zz{z|{{{{{|{{zzz{z{z{{{yz{}{{z{zz{|z|z{|{||{z{{z{zz{z{{{{{z{|{{{z{z{{{|{|{{{z{{zz{{z{|||{|}|{z{z{{{z{{|{{{|||{zz{|zz{{z{|{|{zzzzz{{z||||{|||{zz{{{{{|{{|{{{{{{{{{z|z{{z{{|||{{{zz{{|{|{|{{|||{z{|{{{||{|{{{|{z{{{{{z{{{||{|{z{z{{{{z|{{{{|||{{{{{{z{{{{{{|{|{{z{{|{{|{||{{{||{z|zz{z{||||{}{|{|{{{{{{|||||}|{{{|{|{{|||{{|||{{{{|{{{{}||}{~}|z{{{{{|{{{|||}|{{{{||{|||{{|{}}|{{{z{{{||||{}||{{{z{zz{||{|||||{||{{{{{{||{{|||{{{z{{{z|{|{|~~~~}~}}}}}}}|||}|}{||{{|||}{}}|}|{||{{{z|{|||{|{{{{{z{{{{z{|{|{||z{z{zzzz{{|{||{|{{z{zzz{{z|{|||{z{zzz{z{{{{{zz{{zzyzzzzzzz|{{{|{{{{z{{z{z{{z{|{zzzzzzzz{|z{{|{{{z{zzzzz|{{{{{||{z{z{zzz{{z{{||{{zzz{z{z{{|{{|{{{{zz{{{{{{{|{{{{z{{{zzz{{||||z{{zzz{|z{{{z{|{|{{zz{{zzzz{|{{{{{{zz{{z{{{{|{{||{{{{{zz{{z{{{||{||{zzzz{{{|{|{z||{{{{{{{z{{{|{{{||z||{{{zz{|{|z||{{{{{zz{z|{||{|||{{z{{zz{{||||{|{{z{|z{{{{|{{{{||||{{{{{{{|||||}{|{{{z{{|{||||{|||z{{{{{{||||{|{}{{|{{|{z{|{{|}{||{z{{{{{{}||{|{||{zz{z{{{|{{{{|{{{{{{{{{z{{|}}~~}|~~|~}}~|~~~}~|||{{||||||}||||||}{z|{|{|{||{||{{z{z{z||{|||z{||{{{z{|{{{{|{||}{z{z{{zz||z{z|{|{{|z{{z{{{|{{|{{{z{{z{{{{{{{{|{|z{{{{z{z{{{z{|{{{zzzzzzz{{|z|||z{{{{{zz{{{{||{||{z{{{zz{{|{zz{{{{{{z{z{z{{{z{{{{{z{zzz{|{{{{{|{{{zz{{zz{{{{zz|{|{z{{{{{z||{{{}||{{z{z{zz|{}|{{||{z{{{{{z{||||}{{z{{{z{{||{{|{{|{{zz|{{z{{|||{{{|{{{{{{||{||}|||{|{{|{{{|{|{{|||||{{|zzz{|{{{||}z|{|{{{{{{{{|||}}|{{{z}{{{{{{||{|{z|{z|{{{}|}|||}|{|{zz|||||||}{||{{{{|{{{|{|||}||{{{{{z||{||||{|z{{z|z{{||{|{|{{{|{{{z{z{|z{||{|{{|z{z{{|{}z|~}~~}}~|}|}}}}}}||||{|zz|||}||}}|{{{|z{{{{|{|||}{{{z|{zz{||{{{{||z|z|z{z{|{|{|{|{{{{{z{zz{z{y||{z{{{|zz{{{{zz{{{{z{{{|z{{z{|{|{}{z{|z{{{{{{{{z||{zz{z{y{{{{{|{|||{{{zz{z{{{{|{{|{{{{{zzz{{{{|{{{{z{z{{{y{|{|{|{{z{|{z{{z{{{{{{{|{z{{{{{{{|z|{|{{|{{{zz{z{{{|{|||{zz{{{{z{{{|{z{{{{|||z|{{{{{||{{{{|{zz{z{}||z{|{|{{|{{{z{{{||{|{{||{{{z|{|||{|||{|{{|{{z{|{||}||{{{{{{{{|{{{||{{||{{{{{{|}||~|{{|{{|{{|{{{|||||||{|{{{z{{||{{|||}{|{{zz{}{||||||{{z{|{{{|{{|||{||{z||{{{||}{||{}{{{z{{{|||{||{}|{{{{|{{{{|{|||{{z{{{{zz{{|z{{~~~}~}~}}~|}|}}}}}|||||{|{|||{||}||{{{{|{{||{{{{z}{{{{{z{zz{{{|{{{|{{z{zz{z||{{{|z||{{zz{{z{||{{{{|{z{z{z{z|{{zz||{{z{zzzy{{{|{{|{|z{zz{zzz|{{{{{{zzzzz{{yzzz||{||{z{{{zz{{|{{|{{{{{{{{zzzzz{z{z{z{|z{zzzzz{|{{{|{{zzz{{zzz|{|z{||{{{{z{zzz|{{{||{{{zz{yzz{{{{|{{{|{{{{zz{{{z{||{||{{{zzz{{{|||{||||z{{{y{z{||{|{|{{{yz{{z{{{|||{{{{zz{{{{{{||||{{{z{|{{{{|||{||||}z{{{{z{{{|||{{|z{{|{{{{{||{|||}|{z|{{{{||||{|}|||{{|z|{{{{{||||||z|{|{{{||{{{||{{z{|{|{|{|}|||{|{{z{|{{z|{||}|||{{{z{{{{{|{{{||{{{{{z{z{{{{{{{|{{zzz{z{{{{{z|~~~~|}}}|}~|}~~|}}|{{||||{|{}{|}}}|{|z{{||{||{|}|||{|{z{y{{{{|{{||{z{zzzz{{{{{{{{{{{{z{{{zzzz{z{{z{{{zzzzzzz{{{{{{{{zzz{{{{{{z{{{|zz{zzz{{z{{{z{||{{{zzzz{{{{{{z{{{{{zzzz{z{{{|{{{{zzzzz{z{{z{z{{||zzzzz{yz{zz{{{|z{{{{zyz{{z|{z{|{z{z{z{z{|{|{{{{z{{{z{{{|{{{{{{|{{{zzzz{{{{|{{{|{{zz{zzz{|{|{{|{{z{{zyyz{{|{{{{{{z|{{{{{{|{{{|||{z{|{zzz|{|}||||{{{{z{{|||{||{|{{z{{{{z{||||{|{{|z{zz{|{||{{{{}|{{{{{{{||{{{||{||{z{{|{{||||{|}}}{||{{{{{{|{{{|||{{{|{{{|{|||{|{{z{{{{z{{|{{{}||{{|{{{{{|{{{|{}{|{{{{zz{{{|{{|||{{{{{zz{{{{{|~~~|}|}}}}}}}}~}~|||}|{{{}{||~}|}|||{|z{|{|{|{}|}||{|{{{{{z{}|{||||{|zz{{z|{{{|{||{z{{{{{z{{}{{|{{zz{zz{z{|{{|z{{z{{{zzz|z|{{{z{{|{{zz{{z{{{||{|{z{z{{{{z{z|{|}{|{|{{zz{{{{{{|{{{|zzz{yz{zz||{{|{{z|{z{z{y{|{{{||{{z|{|zz{{{{|{{|{{{{z{z{{{|||{||{{z{z{{|{{{{|z{||{{|z{{z{||{{|{|{|{{{zz{{z|{|||||{{{{{zz{|}}{{{{{|z{z{{{{{|||{||{{{{z{|{z{{||{||{|||z{{||||{||{|||{{{{{zz{||||||{|zz{||||||}|}{|||{}{{|||{{|||}|}|{{{|||{{}|||||||{|||{||||||||||{{{{{{|z{||||{{}|{{{|z{|||{|||||{{{z{{|{{{|{{|}||{{z{{{{{}{|{{{|z{{|{z{{||{{{}}~}}|||}||}~|}||}|}|||{{{|{}|||}}||{{{|z||||{{||||{|||{|{}{||{||||{{z{z{z{{{|||z|{|{{z{zz{{{z{||{|{zz{{{{{|{|{|{z{{|z{z{{{{{{z||{z{z{{zz{{{||y|{{zz{{z{{{{|{{|{|z{{{zz{{z{{{|{{{|{{z{{{zz{{||{|{{{{|zzz{{{|{{|||{{{{{z{{zz|{{{{|{|{{y|y{{{{|{|{||{z{{{{{{|{||{|{|{{{z{|{|{{z|{{{|{|z{{{|{{|{|||{{|{{{{{{{{{|{{||{||z|z{{{{|{{z||{z{|{{z|{||{{|}|{{{||{z|||||~}|||{{{||{{{|{{||||||{{{{{{z|||{|||||{}||{{{{||||}|}||{{{||{|}{||}|||{||z{||}{|||||||{{||{{{||||}||{{{{||{z{{{|||||}z{|z{|{{{{{}|{{|||z{{{{z|||{|||||{{z{{{{{{{|{}}|~|}}|}{|}}~}~~}||}|{{{{{||{|{}|{{|{{z{z|{||||{{{{z{{{z{{{|{|||{|{|{{z{z{{{{{||{zz{z{z{z{||{{||{zz{z{zyz{{{{||{z{|{yzz{zz{{{{|{|{z{zzzz{|{z{|z{{{{z{zzzzz{|{{|{{z{zzz{{z{{{{|{{{z{{zzyzzz{{{{|{|{zzz{{{zz{{{z|{|z{{{z{zz{{|{|{{|{z{|{z{{{{{{{z{{|{{{zz|{{{{{{{||{{{{zz{{z{|{{||z|{{{z{z{z{{{|{{{{{{z{{zz||{{{}{z||{z|{z{{||z{{{{{z{{{{{{z}||}|{}|{|{|{{{{|{||{||{{z{{{{{{||||||||{{{{{{z|{|{|{{}{z|{{{|{{||}}||}{|{{{|{{{}{||{||{{{{{||{|{{|}||{|{z|{{{||{{|}{|||{{{||{{{{||||||{{{{{|z{||||{{}{|{{z{zz{{{{|z{|{{{{{{z{z{{{{{}~|}}}{|||{}}|}||}|||||{{|{{{||{}}||{{{{{{{|{|{|{|{{{|{z{z{z{{z{{||{z{z{{zz{{{|{{{{zyzzzz{z{|{{z|{{{zzzyzyzzz|zz|{zzzz{{zzz{{{{zz||z{zzzyyz{{zzz|{{z{zzzzzzz{{{{{||z{{{zzzy{z{|{{{|z{zzzzzyzzzzz{{|y{zzy{y{zz{{{{{{zz{zz{zz{{{|{{{{{{{z{zz{{{z{{z{{{z{z|z{zzz{{{{z|z{{zzzzz{{{z{{{|{{zy{zzzz{{z{{{{z{{z|{zz{||{z{{{{{z{z{{{{||{{{{{|z{{{z{y{|z|{{{||{{{{z|{|{|{zz||{{{}{{zz|{{{{{||{yz{{{{{|{|{{}||{{{{z{{{{{{||||||z{{{{{{||{}|||}{{z{{zz{|z{|{{|{|{{{{{{{{|}{{|||||||{{z{{||{{{||{{zz{{|z||{|{|}z{{z{z{{y|{||{{||{y{z{yz{|z{{{}~~}~|||{}{}}}}||||{||||||{||{}||{{{{zy{{{{|z{||||{{{zzz{z{|{{{|{||{zyzzzzy{{{{{{{|{{{z{yzz{z{{{|{{{{zzz{{zz||{{|zy{z{zzzy{{{{{{{|{{{{zzzzzz{|{{{|{{zzzzzyz{{|{{|{|zy{zzzzzz|{{{{{{zzzzzzzyz{{{{{zzyzz{zzzz{|zz{z||zz{{z{zy{{{{{{{||yzzzz{z{{{{{||{z{{{{zzz{z{{{|||{z{zz{zz{z{{{z{|{{z{{z{z{{|{{{z{{{z{zzzz{|{{{{|{{{{{{z{{{{|{{|{{{{{{z{{{{{{}|{||z{{{{|{|{{{|{{{|{{{{{{{{||{|||||{z{z{{{{}||{{|||{{|{z{{z}{{||||{|z{zz{{{{|{||{{}{{|{|{|{|{{{|||{|{z{{{zz|{{||{}||{|{{{{{|||||{||{{{{z{{|z{|{{|{|z{zz{z{{{{{{{{{zz{|z{{{{{{{{{}~}}||||{|||}}}}{|}{{{z{{{z||{{|}|||{{z{z{||z{{||{{|{{{{{{{{{|{{{|||{{{z{zz|{{{{|{|{{|z|{z{{{|z{{|{zzz{{z{{{z|{z|{{{zzzz{zz|zz{{zz|zy{z{z{{z{z{{|{{zzzzzyzyzz{{z{|{{{{{zz{z|{{{{{{{z{zz{zz{z{z{z{|zz{|z{z{z{{{{{{{|zz{zz{zz{||{{|{{{{{{z{|z{{|z|z|}{{z{{z{z{z{|z{{{{zzz{z{z{{{{|{{|{|{{{z{z{|{{{|z||{{{{zz{||{{{||{|{{z{z{{z|||{}{{{{{{{{z{{{||}|||{{{{|{|{||{{||||{zz{{zzz{||{|||||zzz|zz{{||||{|||{{{z{{{|{|{||}{{{{|{|z{|{{||{|{|{{{z{{z||||||{}{|z{{{{z{{|{||||{{{|{{|{{z{{{|{}{||{zz{z{z{||{||{{zz{{{z{|{|{{{|{{zzz{zz{|{{{}}}|||}|{}|}|||}|}||{|{z{{||||||}}}|z|z|{|||{{||{||{{|zzz||}|{{{||{{z|{z{z||{|{}z{{{{zz{yzz{{{zz|{|zz{z{z{{{|zz||{zzz{zzzz{{{{|{{{{z{zz{|{{{{{{|{{z{||z{zzz{{|z{|{zzzzzz{z{||{z{|{{z{zyz{{{z{|{{|zzzzz{zzzz{{{{|{|zzzz|{{z{|{{{{{{zzzz{z{{z|{z{{|{{{{zz{{{{{{|z{{|{{{{z{{z{{||||{{|{z|z{{z{|||{|||z{|{{{|{{{{{z{||z{{{{z{{}||{{|{z{{{{{{{{z||}|{||{|{{{{{{{|{{{||||z{{{z{{||{{{||||{{{{{{{{||||||||}{||{||{||{||}||{|{{||{{||||||{|{{|zz|{|{||{||||{{{{{z{|||{{||||{{||{{z{|{|||}||{{z{{{|{{|}|||||{{{z{{z{{{|{z{|z|zz{y{{{{{z{|}}||{||||{|}{||||}|{|{|{{||||{|{||{{{{z{{{||{{{||{|zz{zzz{{{{{{{{}{{{{{z{{{{|{}||||{{z{zz{|{{z{{|{|yzz{zyzz{{zz{{y{z{zzzzz{zz{{{{|{yz{{yzz{{|{zz|{{zz{y{zz{{{y||||{{{zzz{{{{z{{{{{{z{{z{{zz{z{{z{{{{{zzz{{z{zz{{{{{z{z{{zy{{{{{{{{z{{zzz{z{{{{{{|{{{{{zz{zz{z{{|{{{{{{{z{z{{{z|{{|{{{{z{z{{{{|||{{{{zzzy{z|{|{{{|{{{z|z{z{{|{||{|{z{{{{z{{{|{|||||{{{{{zz{}|z{{|||{{{{{zz{||||}||||{{zzzz{|||{{||{{{{{{{{{|{|{{|z{{zzz{z{||||{||}||z{{{{{{|{|{{|{||z{z{{{{{{{{|{||zz{{|y{{{{||||||{z{{|zz{{|{{{|{|{{zz{z{zz|||||{{{{zz{z{y{{||{}|}}}{||}|{{|}{{}|}||{}{{{{{|{{}{}{{{zz{{zz{||{||||{zzzz{||z{||{z|{{{{{zz{{{{{{|{{{{{{{z{|z{{|z||{|{z{z{zzyzz{{{{|{yz{zz{z{{{||{{{{{{zz{zz{{z{{||{{{{z{{zz{{{|{{|{{z{{{z|zz{{{{{{{{{{{{zz{yz{{{z|{{{zzy{{z|{{|{{{{{{z{{zzzzz|{{{|{}{z{{{{z{{{z{}{||{z{zz{{{{{{z||{||{{zz{z{|{{{{{{}{zzz{{z{{{{{{{{||{{{|z{z{{||{||z|{y|z{{{{||{{{z||{{{z{{{z{}||||||{zz{{{{{z{{{|}||{{|{{{{{|}||{|{|zz{z{{z|}|{z|{||{|{{{|||{{|||||{{|{{{||z||{|||{|{{{z{{{{|}|||||{{{z{{|||{|||{}}{{{|z{{|{{{{{|{{{z{z{z{{{{|{}{|{|{{{z{{z{}{|{{{{{{{{z{z{||{||}}||}||||{|{|||}|}}{{|{{|{{|||||{||{|{{{{{{{{|||{{{{{{{{zz{{{{|{||}|{{{zzzz||{{{|{|{z{{{{zz{{z{{{{|z{z{zzzz{z{{z{{{{zz{zzy{{{{{{z|{zzz{{zzz{|{{{{|{zz{{{z{zz|{{{{{|{zzzzzzz{zz||{{{{z{{zz{z{{zz{{{{{{zz{zyzz{{{{{{{{{{{{zzz{{{|{{|{{z{z{z{{{|{y{|{|{{|{zz|z{{z{{{{|z{{{z{z{{{{{{{{{{z{z{zz{z{{|{|{|{{zz{z{z{{{{{|{{|{zz{zz|{{{{{||{|{{{{|{{||{|||||z{{z{z{z{{{|{|{|{{{{{{z{|{|{{|{||{z{{{zz{|||||||{{{{{{{|||{{{||||{{|{{|{{}|||||||{{{{z{{{{|{}|{{{{{{|{{{{{|||{||{{{{|z{{|{{|{}{|{{zz|zz{|{{{||{{}{{|zz||{|{z{{|{{{|zzz{z{|{{{~}~|{|{||||||}|}||}||{{{z{||||{||}}{|{z|{{z||{{||||z{z{z{{{|||{{||||{{{z{zy{|{{|{||{{zz{zzz||{{z||{{{z{|zz{{z{z{{|{zz{z{{zz{{{{{|{{zzzzzzz{{{|{z|{|z{zz{{z{z{|{||||{{{{zzzzz{||{{||z{{z{zzzz{{z|||{zz{zz|z{z{{zz{{{{z{{{z{z{z{{{|||zz{{{z{z{{|{{{{|{{z{zz{{|z||{{z|{z{zzzz|{{{{{||{{||z{z|{{{{||}{|z{{zzzzz{{|z|||||z{{|{{|{{{|{}{}|{{|z|{{{|||||{{{{{{||{{||{|||{|{{|{{{{{{||{{|{{|{{|{z{{|||{}{}}{{{{{{{{|||{|||}|||{{{{{{|{|}||{{z|{{{{{|||||||||{|z{{|{|{|{|{||{|{{{{|{|{{||{||{{{zzz{|{|||{|}{||{{z{{z{||{{{{{{z{zzz{{{{|||~}|}}z}|{||||}}}||}{|{{{{|{{||{||}||{{{{|{{{}|{{{||{|{|z{zzz{||{{||{{{{{{zy{|||{|z|z{{{{zzz|{z{z|{{{{zz{zzz{{{{{{{{{zzz{zz{zz{z{{{{{{zz{{{{y|||{{{{{zzz{{zz{||{{|||{{|{{{{zz{z||z{|{{{zzz{z{z{{{|{{{|zz{z{zzz{{z|||z{{{{{z{{{{{z||{{{z{{{{{{|{{{{{{{z{{{z{{{z{{{{||{zzz{y{z{{z{|{|||z{|zz{z{{{{{{{|{{{{zz{{||}{{{|{|{{{|{{{{||{{{{|{{{|z{z|{{|||}|z{{|{{|{{||||{|}|{|{|{z{zz||{||}||{zz|||z|||}||{|{{{|{{{|{||{||{||{{{z{{{{}}|{||||{||{{{{|||||{||}{{{|{{||{|{|}{||{{{|{z|}||{|||}{{|z{{|{|{{{{||||{|{{{{{z||{{{||{{{z{{{z{|{{{~~}{}|}{||z{|}|||}}{{{||z{{{||{{}{{{{{{{{|{|{{|||{{{z{z{{{z{{{|{z{|{z{z{z{y{{z|||{{z|z{{{zz{|{{{{|{z{zz{zzz{y{{z{{{{z{zz{zzzzz{{|{{z{zz{zzz{{{|{||{{zzzzzz{{{{z|{|||{zzy{{{y{{|{{{|{{{zzz{{z|z{{z{{{zz{{z{zz|{{{|{{z{{{{zzz{{{{z{}|zzzz{{{zz{{{{|{|{z{{zzzz{{|{{{{{z{z{zz{{|{{z||{{{{{z{{{z{{{{{||{{z{{{{{{|{{|z{{{{{{{{{z{|{|{{{{z{{z{{{{{{|{|{||{y{{{{{{{||||{{||{||{{{|{{{|{||}|{{{{zzz{|||||||{{{|{z{|||{{|{|||}{z|{{z{{}|||||{z{z{zz{{|||}|{|{|{{{|{z|{{{|{|{}||{zzz{{|{{{|{||{{{zz{{{||{}|{}{||{z{|{{{{{{|||{|z|z{{{{{|{{|}}||||||{z{|}}||}}|{{{{|{{|{{{{|}||{{{z{zz{||z{|{{||z{z{{{{{{{{{{{{{{zzzzzz{{|zz|{|{z{{zzzzz{z{{||{z{{{zzzz|{{zz|{{z{{zzzzz|{{|{{z{{{z{zzzyz{|{z||zzz{{zzz{z|{z{{{|{zz{{zzz{{|z{z{{z{zzzz{y{{{{{{|{z{{zzzzzz||z{|{|z{{{z{{z{{{{{|{{|{{{{z{zzz{z{|||{zz{zz{{{{{{{|}|zz{{zz{|}{|{|{{z{zz{{zzzz{{||{{{{{{{{yyz{||{|{|{{{{{zz{{|{|{{{|{|{{z{|{{||{|{|{|{|{{|{{{{||{|||||z{|z|{{{||{z|}||z{z{{|{|||{{||{z{{{{{|z|}{|}}|{|{{{{|{|||{||{||{z{{{{{{|{}|z|}{|zzz{|{{|||{|||||{{{|{{|{{{|||{|{{{zz{{{z{||||{|{{z|zzz{||{|{|{{{{{z{{zz{{{{||}{|}{{}|{{||}|}}|}|{|{{{{|||||{|}|||{zz{{{{|{||||||{{z{{{z{{}|{{||{z{z{z{z{{|z{{{|{|{z{{{{{{|{{{{{{{z{z{z{{{|zz{||z|z{{zz{{z{z{{{{{{zzz{zzy{{zz{|{zzz{zz{z{z|{||{zz{zz{zzz|{{|{||{{z{zzzzz{{{{|{|{zz{zzzz{z{{{{|z{zz{{z{{{z{{||{|z|z|zzzzz|{z{{{{{zzzzzz{{{{||{{z}{{{{|{{{||{{{{||{z||{{{z{{{{|{|{|{{zz{zz{{{{{{|{{{{|zyz{{|{{{|{|{{|{{{{{|{||||||z{{{|{{z{||||{||{{{{{{{||{{|{|{||{{{{{z|{||{|{|||{{{z|{{{|{|{||{||{{{{|{{|{||{||{|{{{{{|||z{||{{{|zz{{{{z{||{{|||{{||z{z||||{|{{{{{{{z{z{{|{|||||{{{zz{{{{{}|||{{{|z{zzz{|{{{}}}|{{{{|{|{}||||}~|{{{{{z{{{{{||||{{{{z{|{{{{|{|||{{{z{zzy{{{|{||||{{{zzzz{{{{z{|{z{{z{z|{{z{{{z{z{{zy{z{z{{|zz|{{{zzz{zy{{{{zzz{{{{zzzzzz||{{zzz{{{z{yzz{{||y|{|{zz{zz{{y{|{{z{{|{{{yzy|zy{|z{||{zy{yzzzz{{z{{{z|{zz{{{zyzz{{{{|||z{zzz{|z{{{{{{{{z{{zz{zz|z|{{{|zz{zzzz{{{{|{{{|zz{{zz{z|}{z{|{{{{{z|{{{{||{{z||{zz{z{{zz|{{{|{|{|zz{{{z{|||{|{{{{{{z{{{||{|{|||{{z{zzz{|{|{}{|{|{|{{{{{|{{{|||||{{{{z{{{{z{{|{||{{|z{{{{|{||||||z|{|{||{|{|||}{|{zz{{{{|{|{||||{{{{|{{{|{{|{||{{|{zzzzz{{{{zz||{|z{{z|{{{|{|{|{{z{{|{{zzz{{{{||{{{{{{{{{|{{||}|{{{z{{z{{|{{|{|}{zz|zz{{{{{{{{|{{{{z{zzz{{|{z|{|z{|zzzzz{{{{y{{{zz{z{y{z{{{z{{|{{zzzyzz{{zz{{{|{z{{zz{zz{z{z{{z{{z{zzzz{{z|{{{{{zzyzz{z{{z{zz{{zzzy{yzzzz{{|{{|{zyzzzzz{zz{{{{|{|{zz{{zz{{{{{{{{zz{z{{zzz|{{|{{|{{{{{{zy{{{z{|{|z{{zz{{z{{{z{{{|zz{z{{{{{{{{z{|{{zz{yz{z{{|||{{{{{z{z{zz{{{zz{{|{{z{{{{z{|{{|{{|{|zz{{{{{||{||{{zz|{|z{{|{{||||{{{{{{{zz{{|||{{{{zzzzz{{|{{{|}||{{|z|{{|z||||{||{{|{z{{z|{{{|{{||||{{z{{|{|z||||{{{{{z{z{{{z{{||{{{{{{{{|{{|||{{{{{z{z{|{{{z|||{{{zz{{zz{{{}||{{{{zzzz{{z|||{{}||{{||{{{|}|||{}}|{{{{z{z|{{{||}{{||{{{{{|{{{{}{{z{|{{z|{{{{|{{|{{{z{yz{z{{{|{|{{{z|zzzzz{{{zzz{{|z{z{zzz{{{{{{{zz{{z{zzz{{zz{{{{{yzzz{{yz{{{{{||zzy{zzzz{z{zz{{z{z{zyyz{yz{|{{{|z{zzz{zz{z{{z{{z{zzyzzzyz{{{z{{|{z{{z{z{{z{{z{{{{zz{z{z{{|{{{{{|{zzzzy{z{{{{{z{{{{{{{zz{{z{{{{{{|z{{{{zz{{|zz{|{zy{zy{{{{||{{z{|z{|{{|{z||{{z{|{{{{z{{z{{|}|z|||{|{z{{{{{{{{{||{{{z{{zzz|{|||{|{|z{|{z{{{||z|||{{z{zz{|{||||||}|{z{{|z{{|||||||||z{z{{{{z{{||z|{|{{zz{{zz||{{|||{z|{|{{{{{|||{||{z{{{{{{{{{|{||||z{zzzzz{|{|{{||{z{{y{zz|{{{{||{|z{||{{{||}}|{||zz|||z{||{||{||}||{{z{{z{{{zz|}|{{|{zz{|{{{{{{}{{{{{zzzz{{z|{{|zz{{{{{z|z{{zzz{{{zz{{yzzy{|{{{{{{{|y{zz{{{{{{{||zzzz{zy{z{{zz{|z{zyzzy{z{z{{{||{zzzzz{zz{{{|{z|{zzz{zz|{{z{z|{{|{zzyz{{{z|z{{{||{{{yz{zz{{{|{{{{|zzz{z{z{{{{{||z{{{zzzz{{{{{{{{|{{{{{z{{{{z{{|||{{{{{{z{{||{{z{|{{{{zz{{{|{{z{|{zz{{{z{{{{{{{||{|{{||{z{zz|{{{|{{{|{{{{{z{{|{{||z{{{|{{z|{|||||||{zz{{{{{|{{|{|{z{z{{{z|{||}||}|}{{{z{zz||{}{|||||{|{{|{|{|{|{{||{{||{z|||{|{||||zz{{{{{|{{|}|||{{z{{{z{|}{{|||{{{{{{{{{|||{{|{|{{{z{zz{z{|{{||}|{|{||{{||}|}}|||{{|{zz{}||{||{|{z{z{{{{||||{||||{{{z{{{|{{|||{|{{{z{{{z{{|||||{{{{z{y{z{|{{{{|||{{{zz{{{{|{{||{{{{z{{{z|{z{{{|{{|{z{{{{{{{|{{}{{y{z{{y{|||{|||{zz{zzz{y{{z{|{{|z{z{z{{zz{{|{{|{z||z{z{zz{z{{{{zz{{zzz{z{{||{|{{{zz{z{z{{{{{{{||{z{{z{{{{{}z{{{|{z{zzz{{|{|{{{|||{z{{z{{|||{{{{{{z{z{{{{z{|{{||{{{{{{zzz||{|{}}|||{|{{{{{|{||{||z{{{|{|{{|{||{}|{z{z|{|{z|||{{}||{z{z{{|||}{||}}{{|{z|{||{|||}|||{{{|{{{{{|||{}|}{{|{}{{}{|{|}}||{{{|{|{{}||||}|||{{|{{z{|z|{||{z{|z{{z{|||||{}|||{{{{{z{|||{||{|z{zz{{{{||{||||||||{|z|||||||}||{{{|z{{|{{||||}{z{z|{{z|{{||||}|{{|{zz||{|||{}|||{zzzz{{{||||{{z{{|y{{zz{|z{|{{{|z{{zz|{{|{{{|{{z{zz{{z{{||{|{zz{z{{z{{z||{z{|{{z{zzz{{{||{|||zzz{{zzzz{|{z|{}{{z{z{zzz{{zy{|{{{{{{z{{{{|||z|||{{{zz{yyz{{{{|||z{{{{z{z{|{{z||{{z|{zz{{{{|{z{||z{{zz{|z|{{{||||{{z{|{|{z{|{|{||{{{{{{{|{{||{{|{{z{{{{{|}||{{z{||{z{||{|{||}|{||{|{||{{{|{{{{}}|z||{|{{{{||{{||}{{{{{{|z|||{|{}|{{{{{{|{|||{|||||{zz{||{||{|}{|||z{{{{{||{||{|{|{{{||z{|{|{||||||{{||{{|{|{||{||{{{{{z{{{||||}}||||{{|{{|{|||{||{{z{{{||{}{{{}|||{|{z|{{z||{|||||{zz{{{{{{|||||}||||z{{z|{{|||||{{z{zzzzz{{|{{|{z{{zzz{z{{{z{{{|z{zzz{z{zz{{z{{|{{z{zyzz{{{{z|{{{yzz{{{z{{{|z{{{zzzz{zz{{{|{z|{|z{{zzzzz{z{y|{{{{yz{z{{y{|{|{||{z{z{{zz{y{z{{{||{{z{{zzzz{{{{||{zz{z{{zz{{{{|{{|{z{{|z{{{|{z|z{|{{{z{z{z{{{z{{|{{{{{{{zz{{{|{|{{z{{|{{zz{|||{||{{{{zzzzz{||{|{||{{{{z{z||{|{|{{|{z{|{|{{{{}{||{|{|{{{{{z||{|{|||{{{{{{{z|||||||{|{z{{{}{{|{|{|{|z{{{z|{z{|{|||||{|{zz{|{|{||}||}|{|{{{{{}{||{{|}{{{{{{{{|{|{|||||{{||z{{z{|{{||{{{{{z{{z{|{|||{{{|{zzz|z{|{{z{|{z{z{{zy{|{{{{{}|{{|{yz{{||}{{{|}{{z{{zzz{|{{||||{zz{{{z{{z|z{{|{zz{zzzzz{{{{{{{{{{|zzz{z{{{{z{{{{zz{z{z{{{|zz|{{zzzz{z{{{{{z{{{|y{zzzzz{{zz{{{{|{zy{z{zz{{{z{{|{{zyzy{z{{{|{{{{{yzzzzy{z{||yz{||z{zz{z{{{{zz{{{{{z{z{zzz{{z{z|{{zzzz{zzzz{{}{{{{{z{z{zz{zz{zzyz{{z{zzzzzz{||{|z|z{{zy{{{{z||{|{{{{z{zzzzyz{{{||{z|{zz{{{{z{|{{{{{zzz{{z{{{|{z{|{|{z{{{{{|{{{|}|{|{|{{{{{{|{{{||}{{z{z{z{{{{{||{{||{z{z{{|}||{{|{{{{{zz{{|{{{|z|||{z{{{zz{|||}{|{|{|{{{z|{{{|{||||zz{{{{{{|}{|z|||{z||zz{{{{|{||{{{|{{{z{{{{||{}{{|z{{zz{{|{|{{|{zz{y{zz{{{|{{{{{|||{{{||{||{|||||{{|zz|{{{|||||{{{{{{{{z{{|{||{|{{{{{{zz{{|{{|||{{|zz{zyz||{{|{|zz|z{z{{{|zzz|}{{z{zz{z{{{|{zz{|zz{zzz{z{{z{z|{|zzzz{zzzz|z{|{|{{{zzz{zz{{{{{{{{{{{zz|{z{{{|{z{{z{zzzzzz{{z||{{{{{zzz{zyzz{{|{{{{z{zz{{z|z{|{|||{z{z{|{{{|{z{{|{z{z{zzz{|{{{{|{|z{{zzzz{{{{{|{|{{z{z|z{{{{{{{{{{{|{zz{z|{{|{z|||{{z{zyzz|{|{{|{|{{{{{|{{{{{||{||z{{{z|{{{|{||}||{zz{{{{{z|||||}||{{|{z{z{||{|{|z|z{zz{{|{|{||||||||{{{{||||{|{|}|{{z|y{{{|||{|||{z{z|{z{|{|}||||{z{{|{{{{}|}||||{{{{{zz{||{|||}{||z{z{|z{||{{|||{{{y{{{z||{||}{|z{zz{{{z{{|{|{|{{|{zz|{{{{{||{|{|{zzzz{{{{{||}|{|zz{{{zz{z|{{{||zz{yyzz{z{{{{{{{{{zz{zzz{{|{{||{|z{zzzzy{}|z{{{{{|{y{zzy{zz{z{z{zyyz{zz{z{{|z{{{{zz{{{zz{{|{{{{{{zz{z{z{y{z{z{{{{zzzz{zz{{{{{{{{{z{y{z{z{z{{{zzzzzzz{{zz{{{{{{{{|{z{{z{{zz{{z{z{{z{{{z|z{{{{{|||{{{{zz{{z{{{{{||z{{z{yzzz{{|z|{{{z{{{zzz{{{|{z|{|zzz{{z{zz{z{|{{{{{{{zz{|{{|||||{{|{{{{z{{}|{|||}{{|{zyz{{|{|{{{|z{|zz{z||{|||}|{z{{{{{{{{{|{{|||{{{z{{{|{|||{}|{{{|{|{||{|}|{||{{{{{{{{||||{|{|{{|z{{{{||||z|||z{{{{{{{|z{{|{|{|{{zzz{{{|{{|{{{{{{zzzyz|{{{z}}|{}{{{{{{{||{|{||{{{{z{|||{{|{||{{zzz{{zz{|{{{{{|{{{z{{y{z{|{{{{{{zyyzzz{{{{z|{{|{{zz{z{z{{{{{{{{{zzzz{zz{{{zz{{{z{z{yzzz{{||{{{|zzzzzzzzz{|{{z|{zzzyzzzy{{{{{{{|z{{{y{{{{|{||{{{{zzzzz{z{{z{{|{{{{{{z{zy{{{z{{{|z{z{zz{zz{{{{{|{z{yzzzzy|{{{{{|{|zzzzz|{|{{z|{{|zzzz{{{z|{{{{|{{z|zz{y{z{|{{{{|{{z{{z{{{|{{{{{|{zz{{{zyz{|{{{|z{{{z{z{z{{||{||||z{|z{{{{|{|}||||{{{{|zz{|{||{{|{|zz{{z{z{|{|{|}|{{{|z{|{{{{{}|{||z{{z|{{{{|{{{||{z{{z{{||{{{|||{}{z{{{{{{||{|}|{||{||{{z{{||||||{{{{z|{{z{|{{|}{{zy{{z{y{|{{{{|{z{{{zzzz{{{z{||{|{|{{{{{{{||||{|||{{{zzzz{z|{|{|||{zz{z{z||||{{|{zzz{zzz{{{|zz|{{{{zz{|{{{{{{{{||{{{zz{z{{|z{{{z{|{zz{zzzz{{{{{{zz{zz{z{z{{z{{||zzzzzzzzz{{{z|{{{{|zyzz{z{|{{{|zzz{zzz{y{{{z{{{{{yzzzz{z{{{z{{{{zzzy{yyz{{{z{|{{{z{{{{zz{z{{{{{{{yzz{zzyz||{{{||zzz{zz{{|z{z{{{|{{{zzzzz{||{{|{{{{z{zz{{{{||||||{z{{{{{{}||z{|{|{{z|{yz||{|{{|{{z{{{{{{{|{|||||{{{{{{{|{||{||||||{|{{{{||{|{|{|{{z{{{{{z{{{{|{|{z{|{|{{{z|{{|}||{{z{z{{{{||{}||||z{{{{{{||}|||||{{z{{{{zz|{||}||{{{{{{zz||{|{{|{{{zz{{{{|}{{{{||{{z|{z{{{|||{|||{z{{{zzz{{|{{|}{{{z{{{{z|{{{|{||{|{{zz{{{{{|{|{{|{{z{z{z|{z{{|||||{zzzz{{z{{{{||||z{zyzz{|||zz{|z{{zz{zyz{{{y{{{{z{z{{z{{z{z{z{{{{|zz{z{{{zz{{{{yz{zzzz{zz{zz|{z{zz{{{zzz{{{||z|{zz{{z{{{{{z{{{{zzzzzzzzz{{z{|{{{zzzz{zz{{|{{|{{{y|zzzz{{z{|{|{{{{zz{zz{{{{z|{z{zzz{zzzy{{{{|{|{z{{zz{z{{{{{||{{zz{{zz{zz{{{{||{{zzy{{zzzz{{|z||{z{{{{zz||||{|{|{zz{{{{z{{|{|{|{{{{{{{{{{{||||{|zz|{{{zz|{|{}{{{{{zz{{{{|{|{|{||{{{{{{{{{{|{|||{|{{{||{{||||{||||z|{{z{{{|||{||||z{z{{{|{{{{{z{|||z{{z{{|{{{|z||yz{zz{z{{|{{||{{{zz{zzzz{|{{{|{{{z{zz{zz{{{{z}|}z|||{{{{|{|{||||{{|{{{{z{{{||}||{{zz{{{|{{{||{{|{{{{{zz{|z{|{|z|{{z{zz|z{{|{||{|{zz|zz|z{{z{{{{|{zzzz{{{{{{{{|{{{yzz{z{zz{z|{{{{{yy{{z{z|{zzz{|{{zz{z{z{z{{{|{|{{{z{zzz{{{||z{{{{{{zzzzzz|z{{{{{{{zyyz{zz||z{{z{{z{{{{z{|{|{{||{{z{z{z{z{|{{{{|{{{z{{z{{|{z{{z||{zz{{zz{z{{{|{|{{{{{{zz{{||}|||{{z{z{{{{{|{{|{|{{{zz{z{{{||{{|{|{{{||{{{{|||{{||z|z{{{{z||{}{|}}|{{{z|zz{}|||{||{z|{{zzz|||||{{||{{{{{|{{||{{|{||{{zzz{z|||{z||||{{{{{|{{||{||||{{{|{{|{{{{|{||}|{{{|{{|{||}||}|z{{z{{z{{|||{{||{{{{{z{{{{||{|{{{{{zzz{{{{{|z}|{{|z|{zz{{|{||||||{{{zzzz{{{{{||}{{{{zz|z|{{{{|}|{{{{z{z{{{|{z{||z{{{z{{z{z{|{|{|{z{zzz{z|{|{{|{{z{{{{z{{|{{{{{{|{zzz{|{z{{{{{|||z{{zz{zz{{{{z{{{z{z{yzyzz{{{{|z|{zyzzzzzz{|{|z{{{yzzzzz{y{{{|z{{zzz{zzzz{{z{{{{{{{zzz{z{{zz||{{|{zzz{zzy{|{zz{{z|zzzzy{{{|{{{{|{zz{{zzz{{{z|{||{{zzz{z{{{|{||{|{{{|z{{{{||{{{z||zzz{{zz{|{{{{{}|z{{z{{{{{||{||||{{{z{z{{|{{||}{|{{|{{{{{{}||{|||||{{z{{z{|{|||}}{{|{{{|{z{{{{||||{{{|z{{|}{{{|}{|{||{{{{||||}{||{{z{{z{{|{{{|||||||{|{{|||{||{||z{{{z{{{z{{|{||{||{|{{{{{||||{|{{{{z{{{z{||{{|||{}{|z{{{||{{{|||z{|{z{|{||{||}||z{|z{{zy{{||||{|{{{{z{z{{{||{{||{{{zzy{{{||||{||{{{zzzzz{{{{z{|||{{y|zz{{||z|{|{{|{z{{z{{|{{||}{z{{z{{z{{|{{{{|{zz{{{zz{{||{{{{{{z|zz{{yz{{|{||||{z{z{{zz|{{{{{{|{{z{z{{{|{{|{||{z{{{z{z{{|{|||||z{z{z{{z{||{{{|z{{z{{{{{|{|{||{z|{{zzz{{|{}}{{||{{{|{{{{||{{{z{|||z{z{|{||||{||{zy|zz{{|||z{|{|{{z{{{z||||z{||}z|{z{|{}{||||}|}{{{{|{{{|{|{|{|||{{{{|{||{|||||{|{{z|{{{{}{||}}|||{{{||z{}|||||||{{||{|z{{|||||{{zz{{{{{{{{|||}|||{|{{|z|||||~||{{|z{z{||||||||{||{{{z{|{{||||||{{{{{z{{|{||{}||{{z|zz{{{||{{||{{{z{z{y{|{{{|||{{z{z{{{z|{{{||}|{z{z{{zz{|||{{{{|{{zzz{z{z|{|{{|{yzyzzzz{z{{{|{{{z{{{{{z{z|{{z{{{{zz{{{{{{{{z|{{zz{{zzyz{{{{{{|{zz{zzyz{z{{{z|{|{{zzz{zz{{{{{{{{{{zz{zzyz{z{z{{z{zyyz{{zz{{{{{{{{zzz{{zz{{{{z{{}z{{zzz{z{|{{|{{{{{{{{z{z|{{{z||{{z{z{{z{{z|{{||{{{{{zz{zz{{||}{{{|{zz{zzz|||{|{|{z{{zz{{{{{|{||{{z|z{{zz|{{|}||{{{|{{z|{|{|}{||||{z{{z{{|{|{|{|||{{{{{{{{|{|{|{z}{{{{||{{|||{||{||{{{|z|{|{|||||{|{{{{{||||||}||{{{{{|{|{|||{{||{{{||z{{{}{|{{{|{{|{{{{{{|{{||||{|z{zz{{{||{{|{|{{{{z{{z|{|z|||{{{{z|z{y{{|{z||{{{zy{{z{z|{||||}{zzz{z{y{|{{{{{{{z|z{zzz{{{z{{zz{{{zz{zyz||{{|{{{{zzzzzzz{{{{{{{{zzzzzzz{{zzz{|{z{{zy{zzz{z|{{{{{zyz{z{{{zz{y{{zy{zzz{zz{{|{{||{{zyyzz{z{z{zz{{||{zzzyyzz{{|{|{|{zzyzzyzz{zzzz{zz{zy{{zz{{{zz|z{{zyzzyzz{{|z|{|{zzzy{zz{z{{z{{|{{{zzzy{z{{{|{{{{{zzz|z{z{{{{{{z{z{{|zz|yz{{{{z{{{zz{{z{{||{z||||zzzzz{{{{{|{|{{|z{{{z{{z{|{|||||{{z{z{{{{{{|{|||{z{{{y{|{||{{|}|zz{{{{{|||}}{{|{{zz{{{{z|||{|{{||{{{{z{{}|{||||{|{|{zyz{{{|{{{|||{{{|{{z{|{||||||z{{{{{zz{{{{{{{{{zz{zzz{{{|{{}|{z{zzz{z{{|{z|{|z{zzz{{z{{||{|{}{z{z{{zz||{{|{z{{|zy{z{y{|z{z|{{{yzzz|zz{{{{{z||{{{zy|zy{}|{{{{{{{zzzzzzz{{z{|{{{zzzzzzzz{|z{z{{{{{z|{{y{{{{{|{{{zzyyzzz|{{{{{{{yzzy{{z{{{{{z{{{{{{zz{zyz{{{|{{{{zzzzyzyzz{zz{{yzzzy{z{y{zz{{{{{zz{zz{{y{{|{{|{||zzy{z{zz{{{z{{}zzyzzzzz{{z{{{{{{{z{{zzz{|{|{{|zzz{{zzzzz||{{|{{{{zz{{{{|{|{{{{{|{z{y|zz{{{{{|{|{y{z{z{{{||{{|{{{{{{{{{{||{}|||||{{{z|z{{|||z{|{{z{z{{{{{|{{||}||{{{z{{z{{||{|||{zzz{{|{{{{{|{|||{{{|{{{{||||||{}z{|{|{{|{{{|{{{|z|{{{zz||{{{{|{{z{{|z{z{||{{|}{|{{{{{{{||{{{{||{{|zy{|{|z{{{|||{{{{{z{z|{||{{{||{{{{{z{{||{|{{||z{{{{{z{{{z{{{{{{{zzz{{|||{{{{{zyzzzzzz|{|{{|||{z{z{zzyz{{{{{{{z{zzzz{z{{{z{{{{zzz{zzyz{z{{{{z{{zyyzzz{{{|{{{{{|z{{yzyy{{zz{{{z{{{zzzzy{{{{{{}{z{zzyz{{{z{z{{z|zz{yz{z{z|z{{{{{yz{{{{zx{{{|{{{zzzz{z{zy{|{{{{{{zz|{{yzz|{|z{{|{z{{{yz{z{{|{{{|||z{{zz{zz|{{||{z{zz{z{z{{{{z{||{{{{{|{{{|{|z{{|{{{{{z{{{||{|||||{{|{|{|{{{|{||{|z{z{{{{{{||||}}||z{|{z{{{}{|{|||{||{||{{{{{{||||{{{|z{z|{}{{||{|||{{|{{{|{{||||||z{zz{{{|z|||{||{{z{{{z|{||{|}{}{{{{z{{{{|z{||}||{{{{{{{{|{|{{||{{|{{zzzzz|z{|{{|{zz{{{z{|{{{||{zz{|{z{y{{{{|{|{zzz{{zzz{{||{{|{{zzz{zzz{|{||{{|{z{zzzzzz{{{z|{{zzzzzzyz{{{{{||z{{{z{y{zz{{zz{zzzzzz{{zyz{{|{{{{z{{zyyzz{{z{{{{{{zzzz{z{{{|{|{{|{zz{yzzz{{{{{|{{zz{zzzzz{z{z||{z|yzz{zzzy{{y{|{|zzzyz{{zz{z{{{{{{zzzz{z{z{{{{|{|zz{yzzz{z{{{{{{{z{{{yzzz|{|{z{||{{{{zz{z{{}{||z{{{z|zzz{{{{z{{|{{zz{{{{{z|{{|zz{{{{{{{{{|||{||||{|zz|{{|{{|{||{|{zz{{{{z}{|{||||||zz|z{z{|{{||{}|{z{{{{||{|{|||{|||{{{z||}{|||{|{{|{z{{zz{||||||{z{{{{z{||{|{||{{{|yz{{z{{{{||{|zzz{z{z{{|{{{{||{{{{|{{{{|{{{{||{{zzzzzz|{{{z{z{{|z{z{{z{|{{|{{{{|{z{{yz{{{{{|||{{{z{{{{{{{z{|||{z{|{z{z{{z|{{|{{|zzzzz{{{{{{{{|{z{zzzz{{|{{{{{z|{zzzyzz{{{z{|z{|yz{zzzzz{{{{{{{{{zy{zyzz{z{{{||zzzzy{yz{{|{{{z|z{{{zz{z{z{zzz{{z{{zzzzzz{{z|{{z{zzzzzzzz{{{{{z{zz{zzz{yz{{zz{{{{z{zyz{{{{||{z||{zzzyz{{{{|{{{{{z{zz{{z{z{{{|||{{z{{{z{z{|||{||{z{zz{{{{|{||{z{|{{||zzzz{{|{{|{||{{z{{z{z{{{z{{|{{{{|z{{{{{|{||||{{{zzz{|{|||||||{{{{z{z|{{{|||{{{|zz{|{|{|{{{|||{{{z{{{{}{|{|{}||{{{{{{|{{{|}|{{zz|{|{{{{{|{||{||{{{{{{{{{{z{||{{|{z{{z{|{{||{{{{zzzz{z{|z|{{|{{{{z{zzzz{||{{|{z{z{{|{zz|{{|||{{{{{zy{z{{{{{{{|{{zz{{z{{{{{{}|{{{{zzzzz{{|{{{{}{{{|zzz{{{{{{|z{zz{zzzzy{||y{{|{{zz{z{zz{z|zy{{|{{{zz|z{{{|{{z{{{zzzzyzz{{{z{{{|zzzzyzzz{|{|{|{{{{{zzzzzzz{{{zz|{z{zzzzzzz{z{z{|z{{zz{{zz{{zz|{{zz{z{zzzz{{{z{|{{zz{zz{{{||{z{{{{{{{zyzz{{{{{|z|{z{{z{z{{{{{{|{||z{z{zz{{z|{{{|z{z{{zz{z|{{|z{||zz{{{zzz{{{{||{{{{{{{z{{{z|{|||{{z{{|z|{{|{||z|{|{{zzzz{|}|{{{|{{z{{{z{{{{{{||{{||zz{{{z{|{|||{||{|{{z|||{||{|{{|{{|{z{{||{|{{{{|{z{{z{z{{{{|z{{{{{{{{{{z{z|{|||{{zz{{{{{{{|{|{||{z|{z{z{{{|{|{{{{|z|zzz{{{{{||||{zzz{{z{||{||{|z{{{{{z|}|z{{{||{{{z|{{z|{{z|||{{{zzz{{{z{{{{{{|{|zzzzzz{{||{{{{{{{zzyzz{|{z|z|{{z{{{z{{{{{zz|{{z{zzz{z{zzz|{{{{zzz{{{zz{{z{|z|{{zz{zz{{{{{{|{{{z{{zz{yyz{|{{z{|zz{y{z{yz{{zz{{|{{z{zzzzz{{{z{{{z{{{{zzz{{z|z{{{{zz{{{zz{||{{{{{{zzz{z|{{{{{{||{{{{{{{{z{z{|{{{{{{{{zz{z{{|||{|{{{zz{zzz|{{{{|{{{z{z{zz{{{|z{|{{zzz{z{{{{|{|||||z{{{{z{{{|||{{{{|{{{z{{z{|||{||||{{{|{{{{||{{||{{||{{{{|{|{|{{}||z{{{|{{{|{{|||||{{|{|{{||||{||{|zz{{zzz{{{||}||{|{{{{{{{|z|{|||{{z{{{{{}{{|{{|{{|{z{z{{{}z{{||{{z|z{zzz{||{{{{{{{{{{{{y{{||{|||{{{{{z{{{{|{{|||{z{{{z{{{||{||||{zz|zzz{|||{{{{{z{{yy{zzz{{{{{z{z{{{zyzz|{{z{|{zz|{z{{z{|{{{{{{|{z{z{{zzz|z{{{|{zzzzyzz|{|{{{{|{zz{zz{z{{{{{{{{{{{z{z{yzz{{{{{|||zz{{z{zz{{{z{{{z{z{zzz{z{{{||{|{zz{zz{{{{{{|}{{{z{z{zzz|{|{{|z||z|z{{{z{{{{{z{|{{z{z{{{{{{|{{{{{zz{{z{{z|{{{{|{z{{z{zz{|{{{{||zz{z{zz{{{|{|{||{{{{{zzz|{|||||{|z{{z{{z|||{|{{}||z{{{{{z{||||||{|z{{{|{{|||{|}||{{z{z{|{{{|{||||}{{{{{|z{|||}{}|{z{{{z{z|{|||{{{|z|{{{{{z{{|{||}|zz{{{z||{{{|{||z{{{zz{z{|{{||{{||{{zy{{z|{|||||{{{zzz{yz|||z|{|{{z{zz{z{||||z{|{zz|y{{{{{{|{{{{{{yz{z{z{z{|{|{|z{{zzz{z{{{|{|{{zzz{{z{z{{{{z|{{z{z{y{{{z|{zzz|z{z{z{yzz|{{z{|zz{zzzz{z{zz{{{{{{{zzzzzzz{{{{|{{zzzz{zyzzzz{{{{{{zz{z{yz{zzz{|z|{{zz{zyyyzzz{z|{{{{zz{zzzz|{{{{{{z{zz{{zzzz|{{{{{{zzz{zzzz{{z{{||{{{z{{{z{{{{{{||zz{{zz{zz{{{{||{{z{y{yzzz|{|{|{|{zzzzzzy{{{|{{{{{{{{|{{z{z{{|||{{{zz|||zz|{{||{{{{{{{z|{|||{}|{|{{{{{{{z|{{|{{|z{zz{{z{|||{|{||}{z|{|{{{||{{|||||z{{z{{{|}{||||||z{{{zz{|{}}{|||{z{z{zz{||z}z|{{|{{{{{{{|{|{z|||{{{{{z{{{|{|{{{|{z{{|zz{z|{z{{{|{{{z{zzz{{||{{{{zz{z{z{zz{{{{{}|{{{zz{z{{{{{|{|{|zzz{zzz{z{{{{{||yz{{{zz|{z|{{{|z{{z{zzz{{{{||z|{{z{zzzzzz|{z{{zz{{{z{z{{{zz{z|{{{zz{zyz{{{{|{{{{yz{zz{z{{{z{|{{{zzzy{zz{{{{||{zyy|zzzzz{{{{{|zzz{z{{z{y||{z|{{{{zzzzzzzz{{{|{{{{z{{zzzz{{{{{||{zzz{{z{y{{zz{{{zz{{zzy{z{z{{{{{|zz{zzzz{{|{zz{{z{{{zzy{z{{|{{{{{{{{z{z{z{z|z{||{z{{{z{y{{{{{{}{{|{z{zz{{{z{|{{||{z{{{{{{|{{{{|||{{{{{{{{|{|||||{|z{{|z{{||{z||||{{z{{{|{{}{{|||{|{{{z{{{|}{||{|||{{{{{z|{|{{|{|{|{{{|{z||{||{{|}|zz{|{zz|||||{{|{{z{{z{z{{{}|{}{|{{z{zyz{{z||{{{{zzz{z{z{{{z{|{{{{{{{z{{{|{{|z}{{{zzzz{{{{{{{{z{{{{{z{zz|{z{{|||z{{z{zy{{|{{}{|||{zz{z{z|z{{{{{|zzz{z{{z{|{{z{|{{zyz{y{z|z{{{|{{{{zz{zz{{{{{z{{zzzzzzzzyz||{{z|zzzzz{zzzzz|{|{{{y{{zyzzy{{{{{{||zz{zzyz{{{{{{{{{{zy{z|y{z{{{{{|zzzzzz{zy{{|{z{{|{{zz{zz{|{{{{{{|{{{{yyz{{{{{{{|{{{{yz{zz{{{{|{{{{{zz{{{z{{|||{{{{z{zzzzy{|z{z{||{z{zz{{{{|{|z||||{{z{zz{|{||||{{z{zz{{|z{|{|{|||{{zz|zzz{||z||||{z{{z{zz|||{z||{{||{z{{{|{{{|{|||{z{z||{{}|||||||{z{|{{{||{{{|||{{{{{|{{|{{{||||{|{{{zz{|z|{||||{{|z{{zz|{{||||{{zzzzzzzz{z||{|{{{z{z{{{{{z{|{{{{z{z{zzz{{{{|z||{{{{{yzz||{z{|z{{{z{z{{z{z{{{{{{z{zz{{z{zz{{{{|{{zz{zzyy{|||z{{{{z{zz{z{z{{zz{{{{{zzzzz{{zz{zzz{zz{zzzzz||z|{z{{{zzzzzzzz{zz{{|}{zz{zzyzz|{{{{z{yzzzyzzy{|z|z{{|{zz{zz{z{z{{{{{{{zzzzzzzz{{z{z{{zzzz{{yz{{|zz{{|zzzzzzzyz{{{{{z|zz{zzzz{|z{{{|||zy{yzyz{zz{z{{{|{zz{{y{y{|{{z{{{{zzz{{zz||{zz{|{z{zzyz{{{{{{{{{{{{{{zz{|z{{{{{{|{z{yz{|{{|{|z||{{{zy{yzz|{|||{{z|z{{{{{{{}{{{{||{{{{{{|{{||{|{z||zz{z{|z||{||{|{|{|{z{{{|{{{{{{{|{{{{{|{{|z||{|{|zz{{|{z|{{{|{||{{{zz{{{{{{{|{{|{|{zz{z{{}|{{{{{{zz|{z{{z{{z{{{{{zz{z{{zz|{{{{||{{{{zzz{||{{{{}{{z{zz{zz|{{z|||{{z{{{{zzz|{{{{{{z{zzyz{z{z|{{{|{z{zzyzzz{{{z{{{z{||zzzzz{z{z{{{{zz{zzzzzz{y|zzzzzzzz{{z{{{{z{{||{y{{zzzzzz|z|{{{z{{{zzzzz{{{{{{{zy{zz{zz{z{zzzz{{{{zzzzzyz{{z{{{zzz{{{{y|{z{|{|{{z{{zzzz|{{{{z||z{zzzzzz{{{{{|{{z{{zzz{{z{{|{{{{zz{zzzzzz|{z||{|z{{{z{{{{{{{{{{|{{z{zz{||{z{{z|{{z{{|{z{{{{|{{||{zz{{z{{||{|{{|||z{z{z{z||{|||{{|{{{{zzz||{{{|||{z{{{{|||{{{|||||{{{{{{{{}{||{{|{{{|{{z|||{|{||||z{{{{{{||{|||{{||z{{{{z{{|{{|||{{|z{{{{{{{{|{|z{||{{z{z{|{{{||z{{{zzz{{{{{{{z{{{{{z|zzzz{|}{{|z{zz{{zz{{{{{||||{{{z{{{z{{|{z{|{{zzz{{zzy{{{zz{|{z{yzyz{{{z{{{{{{{z{z{zy{{z{z|{||zzzzz{{z{{|z{{{z|zzzzz{zzz{z{{|z{zyz{{z{{{{{||{zzz{yzz{zz{zz{{zzz{{yyz{z{{{{{{{{z{yzyzzy{{{|z{z{{zyz{zz{z{{{{{yzz{zz{zzz{{{{z{z{zyzzz{z{{{{{z{{zz{z{zzzz{{{{{{{{z{zzz{z{{{{{{{{yzz{{y{zz{|{{{{{{z{zzzz{{z{{{z{{z{{{zzzz}|{{z||{{{zz{z{z|{{||{|{{{{{{{{{{zz{{|||{{{|zzzz|{{{{{{||z{zz|{{{||{||||{{{z{{z{{{{|{|||{{{|{{{{{|||{|||||{{{{|{|{{|{{{{{{z{{{{z{{z{|{{|{{z{{z{||{|||{|{{|{zzyy{z|{|{||{{{zz{{{zz|{{{|||z|{zxz{zz{|{{{z|{||zz{zzz||{{{{{zz{zzz{z{{{{{|{{{{zz|zz{{|{{{{{{{y{{{{zz{{{{z{{{{zzzzyz{{{{{{{{{zzzz{yzzz{{z{{{z{zzzz{zzz{{{zz{{{zzyz{zzz{{{z{|zzzz{zzzzz{zz{{|{zz{zyyy{{{{{{{{|zyz{yyyy{z{{{{|{zz{zzzyyz{{{zz{{z|zzzzzy{{{{z{{{zz{z{zzzz{z{z{|zyz{yzz{z{{{{y{{{z{{zzzzzzz{{{{{|{z{{zzz{z{{{z{{{{{{{{zzzz{{{{{|{{z{zzzz{{{z{{z|{zz{z|zz{{|z{{{zz{z{y{{{{{{{{|{||zz{z{z{|{{||{|||z{{{{{|{{{|{{||{z{{{{z{|{|{{|{{|{{|z{{|{|||||{{|{{{{z{{{{}{{{{|||{{{{{|z{|{{{|{{{z{|{z{z{{{||||{{{z{|zzz{|{{||{|{|{y{{{{{{{|{|z|{{zzzz{{{{{|{||{{zz{{zzz||zz{z{{{{{{z{{{z|{{|{||z{z{z{zz|{|{|{||{{{z{{zz||{{z{{|||{z{y{{{{{{{|}z{{yzzzzy{{{{z{{|z{{zzzzz{{{{z{{{zzz{z{zy{{{{z|zzz{zzy{zyz{{{{{||{|zzzzzzz{{{{{|{{z{|{zz{z|{{{{|z{{zzzzyzz{{z{{{}zyzz{z{yz{z{{{{|zzzyzy{z{{{{{|{{zz{z{zzz{|{|{{|{{zzzyz{{{{{{{{{{{z|zzz{{{z{|{|{{z{{z{z{{|{{z{{{{{{zzz{zz{{|}{{}|z{{zzzy{{{{{|{|{z{{z{z{{{{z{{||{{z{{{{z{|{{||{{|{{{{{z{{{z{||||{{{{{z|zz{{{{|||||z|z|z{{{|{||||||{{{z|{{{||{|||}{z{z{||{|||||{}}|z|{{{{|||||{||{{{{{{{{{|{{||||{{{z{{zz|||{||{{{z{{z{{{z{{{{|||{{{zz{z{z|{{{|||{{z{zzz{{{|{||{{z{|{zyzzz{{{z{|||z{{zzzzz{{|{{{||||{zy{{z{{{{{{||{z{z{zzzz{{{{|{{zzzyzz{z|z{z{z{{z{{z{zzzzz{{{{{z{{zzzzzzzz{{{{{z{{zyz{{{{zz|z{z|{zzzz{zz{{{{{||{zzzzz{yz{{{{{{{{zzz{z{zyz|zz{{|{zzzzzzzy{zz{z|z{zyzzyzyzz{z{{|{{zzzzzzzz{{z|{{{|zz{z{zz{{{{{{{{z{z{zyz{{{z{{{{{|z{zzzzzzz{z{z{{z{{zzzzzz{{|z{{zz{z{zzzy{{{|{|||{{{z{z{y|{{{{{||{{|zzzzz{{{||||{{z{{{{{|{{{{|||{{{{{{{{zz{|{z|{}|{{z{{zz{}|||{|||{z{z{{{|{|{{{|{{|z{{{z|{{{|||||||z|{{z{z{||{{|||{|zzz{z{{{{||||{{{{|}{{{|||{{||||z|zz{{zz{|{{{{|{z|{z{|y{|{|{{}|{zz{z{{z{{|||{{|{{|{z{|{{z|{{{||{{{{{{z{z|{|{||||{zzzz{z{{z|{{{{{{zzzzz{{|{{z{|||{{zz{z{{{|{{{{}{zz{{z{{{|{|{|{{{{z{z{z{{z{{{||{{zy{z{z{{{{{{{{{{{{z{z{zzz|{{{{{{yzyz{z{{|{{{|{{{{z{z{zz{{||{{{|{z{z{zz{{{{{{|{{z{{y{{{{z{z{{{{{zy{{{z{y{{{{z{|{{zz{zy{{{{{zz|{{{{z{zz{z|{{||{{{{z{zz{yzzz{||{{{{{{z{z{{{{{{|||{|{{zz{|z{||{{{|{{z{z{{{{{}{z{|{{{{{{{{{{|{|{||||z{{z|z||{|{|{|||yz{{z{|z{}||||{{|{{{{{{{|}||{|}{|{|{{|||||||}||}|z|{z{{{||||}||||{{|{{{{|||||||{{{{{|{{||z||{||{{{{z|z{|||{{|z||{{{z|{{{{|{{|||||{z|{{{{{{{||{{{|{{{z{zz{|||{|{{{{{{{z{zz|{{{|{{{{z{z{z{|{|{{|||zzz{{|z{{z{{{|{|z{{z{zz{{|||||{|{{zzzy{z{{{|{{|{{z{zzzzz{{|zz{{{z{{z{zz{zz{{z{{z{zzzz{zzz{z{z|{{z{z|z{{zzz{{{{|{zz{{z{z{y{{{|{{{z{zz{z{z{{{|z{{{zzz{{z{z{{{z{{z{{{zzzzzzz{zz{|{z{{{z{z{z{{zzz{{|zz{zz{zz{{{{{|||z{{z{z|z{{{{{{{{{z{{{z{zz|{{|{{{|{{z|{z{z{|{}|{{|{z{{{z{{{{{|z}|{zz{{||{|{|{{{|{{{{{z{|{{|{|||{||{|zz{{z||{~|{||{z{|{{{{{|||||||{{{{{z{{|||{|}||{{{{{{|{{|{{{||||{|{{{{{{|{|||}{{{|{{z{{|||}{{}|{{|z{|{{{|{|{{|||{z{{{{{{{{||{|||{{z{z{{|{|||||{|{{{{z{z{{{{{||{{zz{|{{z{{|z|||{{{{z{{zz{z|{||{|{{z|{{z{{{{{{{{|{{z{z{z{|{{{||{{{{zz{y{{{z{{{{{{{{zy{zzz{{||z|z{z{z{zzzzz{{z{{{|{{zzz{zz{|{zzzz{zzzzy{{z{{{{z{{{yzyz{zzz{{{zzz{{{{z{zzzz{{{z{{{|yzzzzzyzz{{{{{{|zzz{zzyzz{{{{{zzz{yzz{{z{{z{{{{{zzzzzzzx{{zz{zz|{{zz{z{zz{{z{|{{z{{z{yzz{{{{{|{|zz{{{zzz|{{|{|{|{z{z{{{{{|z{{{z{zz{{{{zy{||z{{{{zz{{z{zz|{|{{|{{{{{{z{{z{|{z|||{{{|zz{zz{{{{{}||{{{{{zz{|{|}|{||{{|{|z{z{|||{|{{z{|{z{|{{|||{|||{||z{{z|z}|||||||{{{{{{{|||||{{|{{|{{z{{|{||{||{||{{{z{{|||}||{|{{zz{|{{{{{z{{|{|zzzzz{z|z{{{{|{zz{zzz{z{{|{{|{|zz{yz{zyzzz{{{{|z{zz{z{{z{{{{||{{{{{{{|z{{zz{{|{|{zzzzzz|{{{z{{|z{zyz{yzzy{{{{{|zzzzz{z{zz{zzz{{z{{{zzzzz{{{z{z{{z{zzzzzz{{{z||zzzzzz{zzz{|{{{{{{zzzyyyyz{zz{{|{zz{{y{z{zz{|{z{{zyzzzzzy{{{zzz{zzzzzyz{zz{z|zz{{z{zzzzyzz{zz{||{{zyzy{{z{{|{{{{{zyz{zyz{z{{|{{|{zzz{zyz{z{{{zz|{{{z{{zzzzz{{z{|{{z{z{zyz{{{{z{||{{{{|{{{{||z|{z{{{{z{{{{|{{{{||{{z{{|{z{{{{|{|||{{{{z{{z{{{|{z{{{z{{{z|z||{||{|||{{{{z{|{{{{|}{{{{{{z|z{{|||{{|||z|{{{|{|||{{{|{{{z{{||{{z{{{{{|z{{z|{{{{z|{|{||{z{z{zzz|{{{{{{|{{{z{{zzz{z{z|||zzzz{{zz|{{{|{|{{z{{{z{z{{{|z{||zzzz{{zz{z{|||||{{zz{z{{{{{{{{{{zz{{{zz{{|{zzz{{z{{yz{zz{z{{{{{|zz{zz{z{{{z{zz{z{zzzzzzz{{z{{|{|{{zzzzz{zz{yz||{zzzy{yzz{z|zz{{{{zzzzzzy{z{{{{|zzz{z{zzzy{z||{{{zzzy{zzyz{zzz{{{{z{yzz{yz{{{z|z{zzyzzz{z{{|{z{{|zzzzyzzzz{|{z{z|z{{y{{{{z{z{{||{z{{zz{zzz{|z{{|{{z{{{z{zz|||{|||{zzzzzyzz{|||{|{zz{{{z{{{|{{{|{{{{zz{z{z{{||{|{{{{zz{z{{{{{{|{{|{z{{{{zz{|{|||{z|z{{zz{z{{{||{}{{{zz{{{|z||||{{|||z{{{{{||{{{}}||{{{{z{{{{||||{{|{{{zz{{|z{{||{||z{{{{z{{||||{{|{{{{z{z{{{z{{|{{|z{{{|z{|{{{||{{{|zz{z{{{{{{{{{{z{{{zz{z{{{z{{||zz{{zz{{z{{|z||{z{{{|{z{{{z|{{{|{zz{{z{{{{{{{z||{{zzzzzzz{{{z|{|zyz{zzzz{{z{z{{{{{zzz{{y{||zz{{{z|zzzzzz{|zzz{{|{zzz{zzzz{zz{{{z{yzz{zzyz{|{{{||zzzzzyzzz{z{{{{z{zzyzzyzzyzzz{|zzzzzzz{y{{zzz{{{z{{z{{{z{{{zzz{{z{zzzzz{{|{{|z{{{yzzzzzzzz|z{{|{{zz{zzzz{||zz{{|{zz{{yz{{{{|{z{{{y{zz{zz{||{|{{{{{{z{{{{{}|z|{{{{{{{{{zzzz{{{{{{{{{{{{|z|{z{||}|{{zz{{z|{|{{|{z{{z{{{{{y|{z}{{{|{{{{{{{{{{{{{||||{z{{{{{{|||{||||{{{{{{|{{|{{{|{{zz{|{{z|{{{|{z}z{{{{{{{{|{|||{|z{zz{{zzz||||{{|||zzz{z{{|{{||{z{{|z{{z{{{{{{{{{{{{z{z{{z{{{||||{{{{zzz{{{{||{|{{{zz{yzzzzy|{|||z{{{zzz{{z{}z{{{z|zzzyzz{{{z{{{{{z{{zzzz{|{{{|{|{zzyzzzz{{zzz{zz{{zzzzzz{{{{{z{{zzzyzzz{{|{zzz{zzy{zz|zzz{{{|{z|{{{{z{z{z{{z{{|{zzzzzzzz{z{z{{{zzy{yzz{z{{z{z{{{{z{{{{{yyz{z{{|{zz{z{yyyz{{{z{z||zzzzz{zzz{|z{|{zz{zzzz{z{{z{||zz{zz{zzzz||{{|{{{{{z{{zz{{|z{z|{{z{|zz{z|{{z{{{|{{{{{z{{{{||||{|{{{{{{{{||{{{{||{yzz{zzz{|{|{{|{|{z{|z|{||{|{||{{z{{{{{zz{|||||||z{{{{{{{|{|{|||{{|{{{{{|||{{||||{zz|{z{{|{||{||{{{{{{{{{{|{{{{{z{{{{z{zz|{{{|||{{{{|yyzz||{{{}{{z{y{zzz{{{{{{{zzzz{{zzz{{{{z{{|{{z{{z{{z|{{|||{zzzz{zzz{{z|{{{|zz{z{zzz{z|{z{{{{{zzyz{z|{{{z{{|{z{z{z{z{{{{z{{{{{|zzzzz{{{{{{{{{{zzzyzzy{{{{z{{zzzzzzzz{{{{z{{{zyzzzzzz{|{z{{z{{zz{zyzzz{|{{{{{{zzz{{zyz|{zzz{|{{zz{zzzz{{|{{{{zz{zzzz{yzz{z{z|zzz{{zzy{{{{{|z{{{{zzz{{|{z{{||{zz{zzz{z{{|{{||{z{zzzz{zz{{|{|{}{{|zz{{z{|z{|{{{{{{zzzz{z|{z{|{{{zz{{{{z{z|||{{|z{{{{{{z{{||{|||{z|{{{z{||{|{{{{||z{{z{{{{}{|{||{{|{z{{|{}|{|||{|{{|{{{z{||{||||{{{{{z|{{}{||{{|z{{zz{{z{|{{|||}{{{{{{{{{|{|{|{{{{|{|z|z{|{||||||{z{z{{z{|{|{{{{{{{zzz{z{||{{}}{{z{zz{{z{z{z{||{|zzyzz{zz{|{|{{||z{zzz{z{|{{|{||{zzzz{zzz{zz{{|{{z{zzz{z{{z{z{y{{zz{z{{zz|{{z{{{{zzzz{zz{{{{z{zz{yzzy{zz{{z{{{{zzzyzzzzyz|{z{z{{zzyzyyyz{{{zz{{|zz{{{{yy{{|{z{{{zzzzzzzzzz{{{{|zzzzyzzzzzz{zz{{|z{{{z{zzz{zz{{{|{zz{z{zz{{{{y{{{z{z{{{{z{z{{z{||zz{{zzzz{{|{{{}{zzzz{zzzz{||{{{{{{zzzzy{{{{{{||{z{{zz{{{|{{{{{{{{{z{z{{zz{{{|{{|{{{{{z{z{{{{{|{|{z{zy{zz}|||{{}{{{z{{z{{{{|{{|{{{{|{z{{{z|{||{|||{zzz|{{{||{|{|}{z{{|{z{{{{|{|{||{{zzz{{{|{||||||{{{{{{{{{{|{{|{z{{{{{{zz{zz{||{{z{z{z{z{{{|{{|zz{z{{zzz{{|{|||{{{zzzzz{{|{{{{||z{{{zzzz{{|||{{|{zyz{zz{z{{{{{{{z{{{zzz{z{{{zz|{{{{zzyzz{z||{|{z{{{{{{zz{{|zz{{{{z{z{{zz{{zz{zzzzzy{z{{z{z{{z{{{z{{yzzzz{{z{{z{{{zzzzzzyzz{zz{z{zzzzzzzy{{z{z{{|zz{zzz{zzzzyz{{{{zzzzzy{z{{z{{{{{zz{z{zz{z{|{z{|{{zz{{zzz|{{{{|{zzzz{z{{z{{{{z||zzz{{{zz{{|{{{{|z{{z{zz{{{|{|{z|{z{{zzz{{|{{{{{|{{{{z{{zz|z{z||{|{z{{{z{{{|{|||{{{zz{|{z{|{|{||{z{{|{{{z{||{{{|z|{|{{zzz||{{{}||{{{{z{{|{{{{||||zzzz{{{|{|{|{||||z{{{|{{{{||{|{{{{{z{{z{{|||||||{|{{|{{{|||{{z||z{{y{z{z{|{{{{|{{{{z{z{z{{|{{{|{{{{z{zzz{{z||{{}{zzy|{z{z|||{||{{{z{{{zz{{{{||||z{{z{{{z{z{{|{||{{{zzzz{|z{{{{||{|z{z{{zz||{|{{|z{zzzzzz{{{z{{|{zzzzzzyz{{{{{zz|z|{zzzzz{{z{z{|{yzz{yz{{z{zz{z{{{zzz{{z{z{{{{{{{zzz{y{yz|{z{{{{|{zz{z{zz{{{z{{|zz{zz{{z{z{{{{|{{zzy{zzzz{{{|{||{z{{zzy{zz{{{{{|zz{{zzzz{z|{{{|{|{{{zz{z{{{|{{||{|{zz{{z{{|z|z|{{{{|zz{zz||{{z{{z{{zzz|||{{{{|{{|{{|{z{{{{||{}|{{{{{z{{{{|||{{|||{{{{{z{{}{z|{|{{{z{||{{{{{|{|||}{{{{{{{{|||{||||{{|{{{{{|||||{|||{z|{{{{||||z{||{{{{{{{{{{z|{|||{{{{{|{{|{||{{{{||{zzz{|{|{|||||||y{{{zz{{{{{|{{{zz{{zzz{{|z|||z{z{zzzz{{{{{{z{{|zz{z{zz{{{{{|||{{zz|{zz{{{{|{}|{{{|{z{{|{{|{{{|{y{z{zzz{{{{{{{|{{zzz{{zz{{{{{{z{z{y{zyyz{{z|{{{z{zzzzz{z{{{{z{{zz{zzzzz{{z{{{{z{zz{zyzzz|zz{{{{z{zzzzz{{{z|{{{{{z{zzz{{{zzzz{z{{z{zzz{zzz{{{{z{zzzzz{zzz{{{|z||z{zz{z{y{{{{{{{|z{{{zz{z{{{{{{||{{z{zyz{{{{{||{}z|{zzz{zz|{}{{{|{||z|zz{{{|{|z}{z{z{{||{|{{{{{{|{z{{|{{{|{|{{|||{{{z{z{{{|z{{|||{{|{{z{z||{|}|||{z{zz{z||}{||{}}{{{y||{{{{||||}{|{z{{{{{||{||||||{{|{{{{{{|{|{{|{zz{{{y{{|||}|}|{{{{{{z{{|{{{|||{{{{{{z{||{||||{||zz{{zz{|{|{|{|{{{{z{{{{||{z{|z{y|{zz{y{{{||{z{|{zzyyzz{{{z|{|{{{{zz{zz|{{{|{|||z{y{z{{zz{|z{{{|zzzzz{{{{{|||{|zzz{zz{{{|z{{||{z{{zzzzz{z{zz{{{{zzyz{zz{{z{{||{z{zyzz{zzz{{z{{z{{zzzzyzz{zz{{{{z{{{yzzzz{z|}{{{zzzzzz{xz{{{zz{{zzz{yzzzzz|{{{z{zzz{z{{z{{{{{z|{z{zzzzz{{z|{{z||z{z{z{z{{{{{{{{|zz{{zzz{z||||z{{{{|z{{zzz}||z|{{{z{zz{zz{{||{{|z{{{{zzzz{{|{||{{{{{z{{zz{{|{|||{z|z{{{y{z{{|{||}{{{{|{{z|{|{{{|{|{{z{{{|||{z||||{{{z{{{|{}z||||||{z{|{z{z}|{{||||{{||{{|{|||||||{{{z|{z|{{|{{|||{{{|{{{zz|{||{|{|{z{z{{z{|{|{{||{|z{|z{{{|{|}{|{{|{z{z|z|{{{{{||z{z{{zzz{{{{{{||{zzzzyzzz{{z{{{{{zy{zz{z{z{{{{|{{zzzzz|zz{z{z{{z{{zzyz{z{z{{{{{{{z{zz{zzzzz{{{|zz{zzz{zyzz{z{|z{{zzzzzzz{{z{{{||zzzyzzzzz{{{{{{z{{zzzzzyz{{{{z{{zz{zyzzz{{zz{{{{{yyyzyzyzzzzz{zz{yzzyzzyzzz{z{{zyzz{zzzzz{{zz{z{zzzyz{zzz{zzzz{|{zzzzzzzz{z{{{{{{zzzyzyz{z{{{||{{{{{{zz{{{{zz{{z{zzz{zzy{|{|z{||{zzzz{yy{{|{{|{{z{{{|zzz{{{||{{{{y{zzz{{{{z{{|||{zz{{y{{zz|{{{||{{z{{{{{||{{{||{{z|z{{z{{{{||||{|z{z{{yz{|{|{||z{{zzz{{z{{|z||{{{z|{{{z{{{|{|{{{|{{{|{z{{|{|{{||zz{zzz{{{{{{|||{{{{z{zy{z{{{{}|{zzzy{zzzz{{{{|{{yzzy{zz{{{{{{|{|{zzyzz{z{{{{z{{{z{{zzz{z{z|{{z{|{z{yzzz{{{|{z{{|z{zzzzz{zz{{{{{{{z|yzzzyz{{zzz{{{zzy{zzyzz{{z{{z{{{{yzyz{{z{z{{{{zy{zzzz{z{z{z{{zyzzz{yz{{{z|{|{zyzzyzzzz{{{z|zzzzzzzzzyyzzzz{z{{yzyyx{zz{z{z{z{zzzzyzzz{{zzzz{{z{zz{zzzzz{{{{z{zz{zz{zzz{{{{{{{{z{zyzzzzz{{z{{{z|{{z{zz||{{{{{zz{z{{zz{{{{{{{{z{z{z{{{{{{{{{{{|z{{{{zz{z{{{|{|{z{{{{{|{{{z{{{|{{z{z{zzzz|{{|{{{{{{{{{{{|}{{{{||{{|zz{{{{{{{{|{{{zzzz{{zz|{{{{}{|{|{zz{z{|||z{{|{zz{z{{{{z{|{{{{{{{{{zz{|{||{{{|z{zz{{{{{{{{{{}{{z{zz{zz{{{{{{||{z|z{zzz{{{{{{zz{z{yz{z{|||z{|{{zz{{{yz{{z{{||{{z{{zz{zz{z{{{{{{{z{zz{zzzz{{z{{|{zzzzy{{zz{{{{{{{zzzzz{zzz{{{{{{zzzzzzzzz{{{z{{|{zzzzz{z{zz{z{z|zyzz{zz{{|{{{{{z{zzzzzz{{z{z{{{{zz{zyzzyz|{{{z{zz{zz{z{yzzzyz{{{{zzzzzzzzzzzz{{{z{z{z{zz{{{{z{{{{zzz{zyz{|{{{{{{zzz{z{zz{{zz{{|{zzz{zzzz{{{{zz||{z{{zzzz{{{|z{z{zz{y{zzz|{|{{{{{{z{z{zz{{|{z{{z{{z{{|zzz{z|{{{{{z{{z{|zz{{{|||||||{{{z{z{{|{{||{{{z|zz{z|||}|{|{{{|{z{{|{{z{|{||{{z{{|{{z|||}{{|{{{{{z{{|{|{{||z{z{{z|{z{||{{|}|{{{{{z{{||{||{{|{z|zz{z{{{{{{||||{zz{{{{{{|{{{{{|z{{zzzzz{{{|{|z{{{zzzzz|{{{{z{{{z{zzz{z{{{|z|||{zz{{{y{{|{||{|{{zzz{zzz{{{{z{{{{{{{zz{z{z{{{{z|zz{zz{{z{z{{{{|{zz{{z{yzz{{z|{{{{zz{zz{{{{{z{{{{{zzzzz{y{{{z{{{{zzzzz{yz{{|{|{{{{z{{zzzzz{z|{{{{zzz{zzzyy{{z{{zz{zz{zzzy{{z{z{{zzz{yzzyzzz{z{zz|zzzz{{zzz{{{{z{{z{{{zz{{{z{{{|{{zz|z{|zz{{{{|{{{|z{{|z{z{{{z{|{{zzzz{{z{z{{{{{|z|{zz{zzz{|{{{||{|{{{{z{z{{{||{{|{{z{{z{z{||||{||{|z{{{{z|}|{}{~{{z{{{{{z{|||||}{|{{{{{|{|||{|{|{{{zz{{{{{|{|||}||{{{{{{{|{|{{}||zz{{{{z{{{|{|||{{{{{{{z||{{{||||{zzzz{{|{{{|{{|||z{{zz{{{|{|{{|{{{z{{z{z{{|{z{{|{yz{y{{y{||{{{{|{zzzzzzz{{{z{{{|z{zzz{zy{{{{z{|{{z{{{zzz{|{{{{{z|zz{{zzz|z|{|{{{{{zzzzzzzzz{z{|{{zz{{{yz{{{{{|{{zz{zyzz{z{{{z||{y{zzzyyz{{{{{{{{{z{{zzz{{{{{|{{zzzzyyyzzzz{{{z{|{z{z{zzy{zzzz{{z{zzz{y{zz|z{z{{{zy{z{zzy{y{{|{{{{{zzzz{{z{zz{{{|{z{{{z{{z{z{{|{|{z{zz{|y{|||{|{|{z{|{{{z{{{{{|{{y{zz{zzz{||{{{{{z{{z{{{{|{z{{{|z{zzz{y{z{||||||{{{{{{{|y{{{{{{{{{{{{{z{{|{{|{|{|{zz{{{{{{|{|{||{{z{{{{{{{{{|||||{{{{{|{{|{||{{||{{|{|z{{{|||||||{{{{{{zz{{{{}|||{|{{{z{{|{{|||{|{{{{{{yz{||z{{{z|{{z{{zyz{|{|{|{{{|z{{{{|{{|{{{{{zzz{z{zz{|{{{|{{zz{{zzz{z{||{{{{{{z{zzz{{{{||{{{z{yzzzz{{z|zz{z{zzzzz{y{{z{{{|{zyzzz{zzz{{z|||{{z|zzzzy{{|zz{{{{{zyz{zzz{{{z{{|zz{zzyzyz{{yz{{{zz{zyzzy{y{zzzz{{zyzyzz{{{{{z{{{zz{z{yyzz{{{z{zyzzzzzzzzzzz{zz{{{yz{y{zyz{z{{{{|{z{{{zz{{|{{z{{}z{yzzz{{{{{zz||{zz|{zy|{{|zzz{}|{z{z{{{z{{{|{||{{|{zzzyz{{{|{||{{{z{z{z{{||{{|{{z{zzzzz{{||{|||{zzy{{z{{||{{|{||{{{z{z{{|{|||||{|z{{{{|z||||{|||{{z{|{{|{{|{||||{{{|z{{{{|{|||{||zz{{{{{||{{{|{{|{z{{|{||{{|{||{{{{{{z{{||{{{||{{{{{{zz|{|{{{|{{{zz{zzzz{{{{}{{{{zzzzzzz{{||{{|{z{zz{{{z{|{{{{{{{{z{|zzy{z{{{||{{zzzzz{z{z{zz{{|{{{z{zzz{{{{{{|{{{{z{zzz{{|z{|{|{{{z{{zzz|{{{{z{z{{z{{{{|{{{{{{|{z{{{z{zz{z|{{{{|zzyz{zz{{{z{z{zz{zzz{zz{|{z{zzzzzz{zzyzz{z{z{{{{z{zzz{zz{zz{{{{z{zz{z{zz{zz{{|{zzzzzzzz{y{{||{{{{zzzz{{{{{{|{{{z{|z{z{{{z{{{{{{zzzzzz{{{{{z{{|{{{z|{z{{{{}}{{{{{{|{|zzz{||zzz|{z{{|||{z{||zz}{z{{{{{z{|{||{{{|{{{|{{{{|{{{|{|||{{z{zz{z{}||||{{|{{z{z{|{|{{{||{{z{{|{{z|{{||}||{{{{{{{|{}{{{||}{{|{{{|{{||||||{{{z{{z{{{||||||}{{z{{{{{{{{|{{}||{{{{|{{{|||{||{{z{|zz{{{||}{{{|{{{{{zzz{{|{{{|{z{{{{zyzz{{{{{{|{zzzz{zz|{{{z{{{{{{z{{{z{{{{{|{{z{{z{z{{{{{{z{{|{{z{zzyz{{{{{{{|z{y{{{{zyz{{z||z{z{z{z{z{z{{z{{{{zz{zzz{zz{{{{zz{y{zzzz{z{{{{{{z{zz{z{y{zz{{{z{{z{zz{{zz{zz{{{{{{zz{zy{{z|{{z{{zz{zzz{yzyzz{z{{{{z{{zz{z{{{|{|{{zyzzzz{z{{{zz{{{zz|zzzz{z{{z|{{|zz{zzzz{{{|{{|{{{{z{zz{{{z|||}|{{zz{z{zz{|{z{|{{{{z{{z{{{{{{{{||zz{z{{{zz||{|z{{{{{|{{{{||{{{{{{{{{z{{{z|{{||{}|{{zz{{{{|}|{|{|{|z{z{{{{{{{|{||}|{|{{{{{{{{|{{{{|{{{{{|z{||||}{{{{{zz{z{|z|{}||||{{||{{{{|{||{{|{{zz{zz{{}{{{||}|zz{z{z{{{{{{{{{|z{{{z{z{||{{|{|{z{z{zyzz{|{{{{|zz{z{{z{{||z{|{|zzzzzzzz{{{{{|{|{z{{zz{z{{z{{{|{{z{zz{zzzz{{{z{{zz{y{z{z{z{{{{{z{zyzzzzyz|{zz{{{zzz{zzzz{z{{{z|{{{yzzz{z{{{z{{z{{zy{z{zzz{zz{z{{{{zyzzzzz{{{z|{|{z{zzz{yz{zz{{{{{zzzzz{{{{zz{|{{zy{{z{zz{{{{z{{{z{{{yzzz{{zzzz{{{y|zzz{{z{{{{|z{{{z{z{zz{{{z||{|{z{{zz{zz{||{||{{{z{zzzzz{{z|{{{zy{{|{z{z|z{|{||{z{{{{|{{{{|z{{z{{{{{{{||{||||||{zzz{z{{{{||{|||{z|z{{{|||||{|||{z{{|{|{{{{|{|||{z{||{{|{|{||||||{{{{{{{|}z||{|||{{zz{{{{|{||{{||z{{{{{{|{{{{|{{{{zzz|{{{{|{{||{z{zzz|{zz{z{zz|{|{{z{{{{{{z|{{{zz{z{{zzy{|{{{||}{{z{zyzz{{{{z||z{zz{zz{{|{z{|||z{{{{{{zzzz{{{{{{zzzz{{zz{{||{{||zzzzzz{y{{{{zz|zzz{zzzzzz{{z{{{zzzz{{{yzyzy{{|{}zz{zzzzz{z{{{|{{{z{{yzzz{{{zz{{{{z{{yz{z{zz{y{||{zzx{zzzz{yz{{z{{zzzyzzz{zz{{zz{zzz{z{{zz{{{|{|{{{zzzyzz{z{{|z|{{zz{zzzz{{{{z{{{zz{zzz{{{{{zz{{{{{{{{z{{z|{{{||{|z{{{{{{{|z{{{|{|zzz{{zz|{{{{|{{{zzz{z{z{{|||||}z{zz{{{|{{{|}{||{{{{{z{z{{}{{|||{z{{{{{z{|{{||{|{zz{{{{zz||{|||||{zz{{{{z|{|{{|}{{{|{{{{||{|||{|{zzz{{z{||{||||||{{{z{{{{|{{{{{|{{{{{{|{z|{{{|||{{{{{{{{z|||{z{{|z{z{zzz||{z||z||{zz{{{yz{|z{zz|{z{zzz{yzz{{{{{{z{z{zz|zz{z{{}||{{{{zzz{z{{|{zzz{{zzy{{z{{|{z{{{{zzzz{z{{{{z{{{yz{{{zz{zz{zz{{{zzz{{zzzzzz{zz|zzzzz{{zz{z{{zz{{zzzzzy{z{z{|{z{|z{{z{{{zz{{z{zz{{z{z{zzzzz{zz{|{{zzzyzzzyz{z{{{z{yzyz{zzz{{zzz{|z{{zzzzyz{|z{z{{z{z{zzz{z|{{{{{{{{zzzzzzz{{{{{{{{zz{zyyzz{{{{{|{z{zzzzyzz{{{{z{|{z{zz{zz|{{|{z|{|{zz{z{{{||{{{{{{{|{zz|{{{|{|{||{{z{{{{z{{||{|||{|{{z{|{{|||{{|||{zzz|{{{{{||{{||{{|{||{{|}{{{|||||{{z{{{|||{|{||{z{{{{{{z{{{}{|{|{z{{{z{{z{|||||{{{z{{z|{zz{|{{||zzz{{{zz{{|z{{{{zz{zz{z{|{{{|z{{z{{zz{{{{{zzz{zzyz{zyz{{|z{|{z{|{{{{{{z{zz{{{|{|{zzzzzz{z{{{z{{{zzyzz{zz{{{{{{|{z{yzzzyz{zz{{z{{zzzzyyzzzzz{{z{{zzzyzyz{zzz{|z{zzzzzzzzzzzz||{{zzzzzzz{z{|z{{{zz{{zzyzz{{{{{yz{zyzyz{yyzz|zz{{|zzzzzzyzz{{z{{z{zzzzzzzyzz{|{{{yzyz{{yzzz{{{{z{|{zz{zy{y|yz{zz||zzzz{{z|{z{z{{|{{zzzzzzyz{z{{{{{zz{yz{yzz{{{zz|{{zzzz{{z{{{{{{{{z{|zzzz{|{{|z{{|{z{{{{{{|z{{z|||{z{|{zz{{{}{||{{{z{y{{||{|{|||{{{|z|z{{{{|{{|||{|{{{{zz{|{{{{|||{z{z{zz{{|{{|||{{zz{{{{{z|z||||{{{z{{{{z|{{{{{||{|zzz{{zz{{{z|{z|{{zzz{{|{{{z|||{|{zzzz{{|{{{{z|{z{{{zzz{{|y{z{zy{zzzzzzz{|{{{||{zzzzzzy{zzz|{{|{y{zzzzzzzz{z{{zzzzzzz{z{{{{{|z|{yyzz{zzz{{{|{|z{zzzzzy{zz|z{{{zzzzzyzzyzzzz{{z|yzzzzzzzzz{zz{{{{zzzyzzz{{{z{{{{{zyzzzzzzz{{zz{{zzyyzyzyzzyy{z{z{zzyzyyzz{y{{{{zzyzzzzzz{z{{y|{|{yzzz{z{z|{{{{{|zzz{yz{{z{{z{z||zz{{zzz{{{|{{{|z{zzz{{zzz}{z{{{zzz{z{{zz{{{{zz{{zzz||{{{{{{{{{{{{{z{z{zz{|{{|||{z{{y{{z{{|{{{||{{{{{z{{z{{|{|{|{{z{z{z{z||{{{||||{{z{{{y{|{{||{||zz{y{{{{{||||{||zz{{z{{{{||{|{{{zz|{|zy{{{{{|{|{zz{zzz|z{{||{{|zz{zz{{|{{{z{|{|z{{{yz{{{{{{{{{{|{|{{zz{{z|{z{z|{zzzzy{z{{|{z{{|z{zzzzzz{z{{{{|{{{zyzzzzz||{|{{|{z{z{zz{{{{{{{{{{z{z{zzy|z{{{z{|{zz{{{zzz|zz{|z{{{{zzyzzz{z{{{{zzzzzzzzy{zz{z{{{zyzzzzzz{{z|{z{zzzzzyzy{|{{z{{|{{zzyyzzzzz{z{{{{{zzzzzzzz{{z{||{{y{yzyz{y{zz{{{zz{{zzzyz{{{{z{{|{zzyzzzz{{z|z{{|z{zzzzzz{{|{{{{|zz{zzz{z{z{z{{||zzz{zz{{{{|{{|{|zz{z{{y{|||{z{|{{zzz{{{{{|{z{{{{|{zz{{{{|{||{|||{|z{{{{{{|z{{|}|{zz|z{{{{{|{||}|{{{{{|{z|||{||||{z|{{{z{{|{{{||||{{z{{{{{}{|z||||{{{{{|{{||||{||{{{{z{{z{{|{|{||{zz{|{{|{{{{{|||{{zz{zz{zz{z{{|{|{{{{{{z{{{{z{{|zz{{z{zz{z||{{{|{zzz{{z{z{|zz{|{{{zzzz{{z{{z{}||z{zzz{zz{{|{{{|{zzzz{z{{z{|{{||{{{zz{{z{{z{{{|||{{|z{{{zz{|{{{{{{zzz{zzz{{|{{{{zzz{{y{z{{{z{|{{z{z{z{z{{{z{{{|{|{yzzzzzzzz{{|{{{zz{zyz{zz{|||z{|z{yz{zzzz{z{||{z{zzzzz|y{{{|z|{{zz{xz{zzzz{{z{{{{y{{{zzy{z{{z{||zz{z{zzz{{{{|{zz{{z{yzzz||{zz{|{{{zz{y{{{{{{|||{{{{zz{zz||||z{|z{{zzzz{{{{|{z|z|zz{{{|z{{|||{{|{{{zzz{zz{||||{}||{z{|zzz{|{z{|}{{z{{{z{z{|{|}{{|{z{{{{{{|||{{}|||{||{{{z{|||||||{z|z{{z|||}{|||||zz{{{{z||{{|{|{{{{|{{{{{{{|{|{{{{{z{{|{{{{{{{|{{z{z{{{{{|{|}{|{{z{{{z{z{{|||{{{zzz{z{{{z|{{{{{{zzzz{zyzz{{{{z{{{zzz{zzzz{{{y{|{{{zzzzzzz{{{z{|{zzz{zzzy{{{{{{{{{zzzy{{z{{{{{{z{|zz{zz{zz{{zzzzzz{{yzzzz{z{{zz{{zzzzzzzz{z{{z|{z{y{zzzyzzy{z{{z{{z{{zy{{zz{|{z{{z{zzz{{yyz{zyz{{{{{zy{zzz{z{{{z{{y{z{zzy{zzyz{{{{z{{{z{{z{|{{{{{{{z{zy{zz{|{{z{|zzz{yzzzz||{{{{{{z{{{zzy{z|{{{{z{zzz{zzz{|z||||{{{|zz{{{{|{z{{z|zz{zz{zz{{||{|{{z{zz||{{||{||{|||z{z{z{z{{|}|||{{zz{{z{zz|{{{{|}{zz{{{{{{||{|{{||z{{{{{{{}{||}}|{z|{{{{{|{|{{||||z{{{{{||||{||}|{{z{{{z{|{{||{{||{{zz{z{{{{{{{{{{{z{{zz{{{{{|{{{{zzzzzy{|{{{{{{|zzzzyzyyz{{{z{|z{z{zzzyz{{zz{{{{{{zzzzzzz{{||{|{{{zz{z{y{|{|{{{z{zzzzz{zz{{{|||{z{{z{{y{z{{{z|{z|zzz{zzz{|z{{|{{z{zzyzz{{{z{zz{|{zzz{zzzzz|{{{{{zz{{zyzzz{{z|{|{{{{{zzyz{{|{{{{{{zzzz{zz{{zzz{z{zzzzyyzyz{zz{|{{zz{zzyz{{|{|{{{|zzzzzz{{{{|z{z{{{z{{{yz{{{z{||{{{zzzzzzzzz{{||{|{|z{zzzzz{{{{|{{zzy{z{yz{|{|{{}{zyz{{{zzz|{{{{{{zz{zz{z{{{||||{|z{z{z{|{{z{|{{|{{zz{{{zz|{{{{{|{|{{{{{|z|}||{|||{||{{|{{{||{{|{|||zz{{{|||||z|}|{z{z{z{z{{|{||||{z{{zz{{}{{{{|||{||{{{zz{{{||||||{{z{{{z{{{|{{||{{{{{z{zz{|{||{z||{z{z{{|{{|{{{{zzz{{z{z{z{{{{{{z{z{zzzz|{{{z{{{{zzyzyzz{{{{{{|{{{yzzyzzz{{{z{{{{z{yz{zy{{{{{{{{|z{z{zzyz{{z{|{{zz{{{zyz{z|{{{{{z{zzzzzz{{z|{{{|z{zz{z{zzz{z{{|{{z{yyzzzzz{z{{{{zz{zzzz{z{z{{{|zz{yz{yzzz{{zzzz{zzyzzzyz{z{{zz{{{z{zzzyzz{{{z|{{{zzzz{z{{{{{z{{{z{{zzz{{{{z{{{||{{{{z{{{z|{{{|{{{{{{zz{z{z{{{{{|{zz{{zz{z{z|{||{{{yz{zz{{{{{{|||{{{{{{{{{||||}||z{{{zz{|z||{{||{{{{|zzzy|||||{|{{z|{{|z{||{{{{||{{{|{|{{{{|}}}||{|z{{|{{||{{|||}{z|{{{{{{|||{{||{zz{{z{{|||{{{|||z|{{{z||{{|{|{z{{{{{{zz|||{{||}|{{z{{z{|{{{{|{{{{z{{{{{|{|||{|{{zzzz{zzz{{{{{{{{zxzyzzyz{{{{{{|{{{zz{{z{zzz{{{zz{zzzzzz{{{{z{|{z{{zz|z{{z{zzz{|z{{yzzyz{{{z{|z|{{{zzzzzz{|{z{{{{zzzzzz{z{{}{z{zyzzzyzz{z|{{z{{{zzzzzzz{z{{{{{zz{zyyzzzz{{z{{{{z{yzyzz{zz{z{{z|z{z{y{{zzzzyy{{{|zzzzz{{z{z|{{{{|{zzyzz{zz{|z{|{{zz{zzz{{{{z{y|{{{z{{z{{z{z{|{{|{z{zz{{|{z{{{{{z{zzz{{{{z{{{{z||z{zz{|zzz{{{{{|{{{{{{{zz{{{}|{{{{{{{zz{|{{{{|{{{||{{{{zz{z{|{|{|{{zz{{zz{{{{{{||{{zzy{{{{{|||{z|{{{|{zz{z{{{|{}z|{z|{{zz|||{{{{{|{zzz{{z{z|{z{|||{|z{{zz||{{{{|||z{{zzyzz{{||{|{{{z{zz{{|{}|{|{{|{{{z{yzz{{{}{{{{z{zzzz{zzz{z{{{{zzzzz{zzz{{{{{{{zz{zzyzy{y{z{{{{zz{zzzzz{{{{{z{{{{{zzzzy{|{zzz{{zzzz{z{zz{z{z{{z{{{yzzyz{{zz{{{{{zzzz{zzzz{zz|{|{zyyzzzyz{{{|{z{yyyyzzzz{zzz{{z{zzzzyyzzzz{{y{{zzyzzzzzyzzz{zzzzzyzzyzyyz{zzz{z{{zzzzz{zz{{{yz{{{{zzzz{z{z{{z{{{zzz{zy{z{{zz{{{|z{zzy{zz{{{{|||{zzzzzzzz{{||{{{{{{zzzz{{{{{{z||z{{{z{y{zz||{{{{{zzzzzzz{{{{{{{{{{z{{{z{{{{{|{{{{{{z{{yzz{|||{{{|{{{{{{{z{|||{{|{{{{zz{{{z{{{|{|{{{{|{{{|{{||{{||{z|zzz{{|{|{{|||{zz{z{{{|{|{{||{{{z{z{z{||{{|{||{{{z{{z{{|{{{||{{{{z{{{z{{|{zz||{z{{{z{{||{|{|{{z{zzzzzzz{zz{{{{{{z{zyzz{{|z{{{{{{{y{zzz{{{{{{{|{zz{zyzz{{{{yzz{{zyzzzzy|z{{{zz{{zzyzy{yzzzz{{|zzyzz{zzz{z{zzz|{|{{zzzz{zz{{z{z{yzz{zzz{{z{zz{{{{yzzzzzzzz{{{{{{zyzzyyyz{zz{z{{zzzzzyz{zzzzz{{{z{yzy{yzyz{zyz{|zzyzzyyyy{{z{{{{{{z{zzzzz{zz{z|{{zzzzzz{z{{{{||{{zzzzzzy{{z{{|{{{{{zzzzz{{z|{z|{zzz{{zzyz|{z{{{|z|zz{{zzz||{{zz{{{{zz{{z{|||{{{|{zzzz{{{{||{|{|||{zz{z{zz}{{||{}{{zz{{z{z{}|{|{|{z{{{z{|{{{{{||{{|{{z{{zzz}{{{||{{{{|zz{||{{{|||{|z{|{{{{z|z{{||{{{{|{{{{{{{|{||{{{zz{zz{{|zzz|||{{{{{{{{{||{zz{{zz{zzz{{|{|{{{{z{zzy{zzzz{{y{{z{{zzzzzyzzz{{{{z|{zzz{zzyz{{z{{|{z{zz{yzyz{{{{{{|{zyzyzyyzzzz{{{{zzzzy{{zz{{yzzzzzz{yzyzzzzzzz{{zz{zyzzyzz{z{{zz|zyyyzzyyyy{y{z{zzz{zzzyzzz|z{{{zzzyzyzzzzz{{z{zzzzzyzzzyzz{zyzzzzzzyzzzyyzzz{{z{zzzzzzzzy{{{{|{{z{zzzzz{{{{{{{z{zzzyyyzz{zz{zz|{{{yzzz{z{{z{z{{|{z{z{{{zz{{zzz{{zzzzz{zy{{|{z{{|{zzz{zz{z{|zz|{{{z{{zzzzz{|{z||{z{{z{z{{|{||{|{{zzzz{yzz{z{{|{{{z{{{{z{{|{{{||{|{{z{{|{{{z|{{{{|{z{{{{{z|||{{z{|{z{zzz{{{{{{{{{{{{zz{{|z{{{|||{{{z{z{{zzz{z|||{|{{z{{{yz{{{{{{|{{zy{zzzy{|{|{{|{{{z{{z{{||{{{|{{zzzyzy{yz{zz{y{|{zzzzy{{z{|||{|z{yzzzzzy|zzz|{{{{z|zyz{{|zzz{||{{zzyzz{z{{{{z{z|{{zzzz{yz{{{z{{{{{{z{zzz{zzzz{{{zyzzzzzzz{{{zz{{yzzyzzzzz{|z{{{zzzzzzzzzzz|z{z{{zy{yzzzz{z{zz{{{{zzyzz{yzzz{{{{{{zzyzzzzzzz{y{zzzz{{z{{z{{{{{z{{|{zz{yzzz|{{zz|{{{zyyy{z{{z{z{{{{z{{zyzyzz{z|{|{|zzz{y{z{|{{z||{{zzzzzz{{z{{{||{{zz{{{z{{{|{z|{z{z{zz{z{{|||{}{|{{{{{z}{|{{||||{{y{{|{zzz|{{|{|{{y{{{z{z{|||{|{|{z{{z{{{{|||{|||{{{z{{z{{{|}z||||{{{{{{{{||{{|{{{{{{{{{{|}|{{|{||{z{{{{{{|{{|||{{{zz{z{{z{||{{||{{{{zzzz{{{{z||{{zz{{{{{{|||}{{|{zyz{zzzzz|{z{{|zz{yyzz{{z{{{{{{{{zyzz{{z{z{{{{|{y{yzzz{y{{|{|{{{zzzzzzz|z{{{{{zzzzzzzzzzzzy{{|{zzzzzzzzz{{{{{{zzyzyzz{y{{z{{{{|{{zyzzzzz|{{z{{{{zz{yzzzzz{z{{z{zzzzzzzyzz{{z{{{zzzyzyzzzzz|z{{|{zzzzzzzyzy{z{|{z{zzzz{zz{{{{{|{|zzz{zzzzz|{{z{{zzzzyzzz{{{{z||}zzzzzz{zz{{{{{|{{zzzzz{zz|{z{{z{{{zz{{zz{z{{{{{zzzzz{{{{{{|z|||{{z{{{z{{{|{{{|{|zzzz{{{{|z|{{{z{{{z{zzzzz||{{{{{||zzy{{z|{{||{||z{{{{{|{{|{{|||{{{{{{z|{{|{|{{||{{{{z|{z{{{{z||{|{{{{{{z{{{|||{|zzz{|{y{||{{{{{|{{{z{{{{{{z{{|{{{{{{|yz{{{{|{{||{z{{{{|{{||}~{{{{{{z{z{zz{{{z{{{{{{zyzzz{{{{{{{{{zzzyz{{zz{{{|{{zz|zzzy{zz|{z{{|{zzzzz{zz{{{|{{|{zzyz{zz{{|{{{{{zz{zzzy{{{{{{|{{z{z{z{{zzzz{{{{{zzzzy{{y{{{{{{|z{zzzy{zzz{|z{{{zzzzzzzzyz{{{zz{{zzzzz{zyzzz{z{z{zyzzzzzzz{z{z|{{{zzzzz{yzz|{{{{{{zyzzzzzz||zzz|{{zyz{{zz{zz{{{{|zzzzzz{{{{|{{|{|z{{zz{{{{{{{{{z{{zz{zzz{{{{{{{|{{z{{z|y{|z|{{||{{{z{{{z{{}|{{{{|{{|z{z{{|{||{{{|{|z{{zz{|||{}{}{|{{{|{{z{|{z|{|{{{{{zz{{}{|{||}{||y{{|z{z||||||{{z{|{{{{|{||{|}||zz{||{z{||||{||{{{{{z{z|{{||{}{{{zz{z|{{|{{{}{|z{{zz{{zz{{|{||{zz|z{{zz|||}||z{z{zzzz{{y{|{{{{{{yz{{{zy{{{|{{{{zzzzzz{z{zzz{{||{zzz{zzzz{{{{{{zzz{zy{{z{{{{{{{}{{zzzzzzz{zz{{{{{zzzz{z{{z{z{z{z{y{zz{yz{{{|{{{{zz{yyzyzz{{{{{zzzzzzy{yz{{z{|{{{zzzzzzzyz{{zzz{{zzzz{z{{zy{|z{z{zz{zzyzzzz{zzzz{z{{yzzzy|z{z{||{{zz{zzz{z{z|{|{{zz{y{{y{{|{{z|{{z{zz{{z{{z{{{|{{zz|y{z{z{{||{{{{zzzz{zz{{{{{{||z{zzz{{z{{{{{{{|{|zzz{z{{{|{{{|||{zz{{z{{||{|{{{|{z{{{z{{{{||{||{{z{{z{{{{||{{{||{{{z{{{{{{z|{|{|{|{{{{{z{{}{{|{||||z{z{{|{|{{{{{{z{{{{z{{{{|{{|{{{{z{zzz||{||{||{|zzz|{{{||{|{|{{zz|z{zz{{{|{{|{{z{{|{y{z}{~~{{{z{zz{z{z{{{z{{{|zz{yzy{z{z{{|{{{{zzzzzzz{{z{|{{{zzzz{z{y{{{{{{{{{z{zzzzy{{{{{{z|z{{{zz|z{{{{{|{z{zz{{zzz{{{z{{{{zz|yz{zy{{z{z{|{zzzzzzzzzz{zz{{{zzzzy{z{z{{{{z{{zz{zxzyzz{y{{{{zz{zzzyzz{z{z{z{yyyzzzzzzz{zzz{{zyzyzz{{z{{z{z{{|{yz{{z{z{z|{{z{{zyzzzyyz{{{{{{|{zzyzzz{z{{{{{|{{{{z{{{zz{{|{||{{zzzz{zz{{{|{{{|{{{{{{{{z{{{{{{|||z{{z{{z{{{|||{zz{z{z{{{{{{{}{{|{z{{{zzz{{{|{{{{{{{z|{{|||{|{}||{|{z{{|{z{|||||||{z{{{{{{||{|||||z{|{z{|{{{{{|{{z{zz{zzz{||{|||}{z{{{z{|{{{|z|{|{z{zzz{{{{{|{|||{{zz{y{z{{|z{{{{z|{z{{|y||}}~|z{zzzz{{{{{{{{{{{{{{zzzzyz{{{{zz{{{{zzz{zz{zz{{{{||zz{zzzz{{zzz{{{{{zzzz{y{{{z{{{|zz{zzzzzz{{z|z{{{z{zzz|{|z{{z{zzz{{zzzzyyzzy{z{|{{zzzzzy{{{{{{|zzy{zzzzzzz{{|{||z{zzzzzy{{{{zz{z{{zyzyzzz{zyzz{{z{zzzzy{z{zz{{{{zzz{yzzyz{{|zz{z{zzzzz{zz{{{{z{|z{{zzzz{{zz{{{||zzzyzzz||{z{{|{{z{{{zzzzzz{{{||{{zzz{{{z{z|z{{|{{z{zzzz{{|{{{||{z|{{{z{{|z{|}||{z|{{zz||{|{|{|||{z{{zzzz{|||{{}{|{z{{{{{{{|{{{|{{z|{|||{{||{{||{|{{{{|{z{|{|{||||{{{{z{{||{{{||{|{{|{z{z|{{|{||||{{{{|z{|{{||{||{z|zz{zz{|{|{|{{{zzzzz{z{|{||{{{{{|{|{{z||}}}zz{{{zzzzzz{|z|z{z{zzz{zzzz{{{z{{{|{{{zzzzzz{z{{{{|{zyzzyz{{{zz|{z{|zzzzz{y{z{|z{{{{{zzz{zzz{zz{{{{z{zzzzzyz{{z{{z{zzzzzzzz{zy{{z{{yzyyyzzz{{zz{zz{z{zzyzyzzz{yz{z{zz{zyzzz{{{{{z{{zzzzzzzz{{{zz|z{zzzyzzzzzz{zz|{{z{yz{zzxz|z|{{{{zz{zzyyzy{z|{|{z|y{zyyz{|z{{z|{{{y{{{z{z{{{||||{{{{z{z{y{{{{z{{|zzzzz{{z{{{{zz|||zzzz{{y{|{{{z{{{{{zz|zz{|{|||||{z|zz{{|{{{|{{||zz{z{zz{{{{{{|{||{{|{{{{z||{{{|{|z{{z{{{{{{|{{||}|{{z{{{||{|{{||{z{{{{{{|{||{{||{y{{{z{|||||{{||{{z{{{{{{||{z||}z{{zz{zy{|{|{{{{{{z{{{{{{|z{{z{z|z|{{{z{|||||{{{yzzz{zyzz|{{{y{{{{zz{zz{zz{zz{{{{{{zzzzz{{{{{|{{{z{{zzzz{{{{z{{{{zzzzy{z{{{{zz{{z{zzz{zz{z{z{{{z{zzzyyyzz{{y{{zz{zyz{zzzz{{{z{{{zzyzzzyzz{zz{{z{zz{zy{z{z|{z{{zzzzzyyyzy{{z{{zz{zyzzyzyzyzzzz{{|zzzzzzzzz{zz{{{zzzyy{{yz{zz{{zz{{zzz{zyz{{zzz{{{zz{zzzzyyz{z{z|{zz{zzz{yzz{z{{|{{z{{|yzzz|||||{{{z{{zzzy{{|{{z{zzzzz{{{z{|{z{{{{{{zz{{y|z{|{||{|zz{{{{{|{{z{{|{|{{{z{{y{y|{||{|{{{{{{{{|z||{||{{{{{z{z|{|||{|||||z{|{{{{{}{||||||yz{z{{{|{{{{{{{{zz{{{{{{{{{||{}||{{|{z{{|{{|z|}{{zzzz{z{{{{|{|||{{zzzz{{|||z{{{z{{y|z{{|||}}z{{zz{zyzzzz{|zz||{yzzzyzzzz|z{z{{{{z{zzz{z{{|{{z||{z{z{zz|z{|zy{{{zzzz{{{y{z{zzz{{zzzzzz{yz|zzzz{z{zzzzz{z{z{zz|{z{zyzzzyyz{{{{{{{z{zzyzzy{{zz{{{z{yyzzzyz{{zz{{{{zzzzyyzzz{zzz{{{zzyyzzzzyyzzzzz{{{zyzzzzzzzz{{zzzzzzzzzz{{{|yzzz{zzyz{{zzz{{z{{{zxyzzzyy{{{{z{{{zzzzz{z{{z|{{{zzz{yz{zzz{{{zz{{{zzzzzzzy{{{{{z||{z{{{zzzz{|{{z{{{{{{{yz{{{{|{|{|{yz|{{{{|{z|{{{|z{zz{z{zz{{||{|{zz{{{{{z{}{|||||z{zzz{|{{|{{{z|||{{{{{{{{}||{||||{{{{{zz{z{{||z|{{{{{zzz{{{{{|}|z{zz{{z{{|{{||{{|{{z{{zz{{{{|{||z{z{z{zz{{z{{{|{z{{{{{{{|{|||z{{z{zy{{zyz{|{|z{zzzzzzzy{{z{zz{z|z{yzzyz{{{z{{{{|{z{zzzzzz{{|{{|zzz{zz{{{{z{{{|{{{zzzzzzz{{{zz{z{{yzz{yyzz{{z|{z|zyzzzzzzzz{{zzz|yzzzzyzzzzzz{{{{zzzy{zyyz{{{{z{{zzz{zzzzz{{{|{{{zzzyzzzyz{zyz{z|z{zz{zxzz{z{z{{{zz{y{{zz{zz{zz{|{{{zzzzy{{|{{|{|zz{zzz{z{{{{{||{z{z{zzz{{{{|z|{{zzyzzz|z{||{{|{{{{zz{{yy{|{|{{{{zzz{{z{{{{{z{{|{{z{{{zz{|{||{{||zz{{{{{z{{{|{|{|{z{z{{z{{|{||{{{|y{{{zz{{|{{{{{{{{{|{|{{|{||{|{{|{{{{{{{{|{|}|||{{|zzz{||||{|||||{{{zz{{{{{z||||{{{{|z{{zz|{{|||{{{zz{{{{{|{{{}{{{zzz{{z{|{{{{{{zzzz{y{{{||||{{||yzzzzzz{{{{{{|{{{zyy{zz{{{zz{{{z|zzzyzzzz{z{z|z{zzz{zzz{{{{{z{{z{{{zz{z{z{z{{{{{{{yzzzz{{zzzz|{zzzzzyzz{{{z{{z{zzyy{zzzyz{{y{z{zzyzzz{yz{{z{{zz{zzzzzzz{zzz{{zz{zyzyzzyzz{{{z{zzz{zzyz{y{{yz{z{z{zzzyzzzzzzz|{{zzzzz{z{{{{zz{z{zzzz{zzzy|{z{{{{{z{zzz{z{zzz{{{{{z{{yzz{z{{{|{{{{z{z{zyz{{{{{{{{z{|zzz{y{{{{{|{{z{|{z{z{{{{|{{|{z{{zz{{z{z{|{||zz{{{|{{z|{{|{{{{{{{{{{zz|||{{{|{|{{{{z{{z||z{|{{z{{z{{{|{|{||{}{|{{yz{{{|{||{{{||{|z{{{z{{{{||{{|zzz{z{{{{z{|{}|{z{{|{{{{||{{|{{zz{{zz{{{|{{|{|{{z{{zz{zz|{{{{{{zz{z{zzz{||z|{{z{{zzzzzzzz{z{{{{{z{zzzzy{{{{{z|{{{zyz{zzz{{{{|z{|zz{{zz{{{{{zz{{zz{z{z{z{zzz{{{|zzzz{z{zyz{{{{{{yz{zzzz{zz{{z{zzzz{yz{yzz{{{zzz{{zzzzzzyz{{{{z{z{yzzyz{z{{{z{{{{{zzyyyzzz{zzzzz|{zzyzzzyy{{z{{zz{{yyzzzzzz{{z{zzzzyyzzz{{z{z{z|{z{zzyzzz{{{z{{||zzzzz{z{|{|z{{{{z{{{yz{{{{z{|z|{z{{{zzzz{{{{{{|{{{{z{z{z{{{|{{{{{zzzzz{{{{||{z|{{zz{{y{{|{{}{}{|zz{z{{zz{|{z{||{|{z{{{{{|{{{|{|||yz{{{{zz{|{|||{{z{zz{{z||||{{|{{z{z{||{z{{||{|}{z{{{{z{{|||{|||{z{{|{{{{|{{{{}{|z{{{{z{{||{{{{|{{{zzzzz|{{{{{}{{zz{zzz{{|||{z{{{z{y{zzz{{|{|{z{yzz{zzzz{|{{{z{{{{z{zz{{{{{{{{{{zzzzzzzz{z{{{{{|{zz{zzzz{zz|{z{z|{zzyzzzzz{{{|z|zz{zz{|zz{zzz{{zzzz{zyzzz{{z{{{{{zzzyzyzz{z{{{{{zzzzzzzzz{{{z{{z{zyzzzyyzz{z{{{{z{{yz{yzzzzz{{{zzz{zzyzzzzzz|{|{zy{yzz{zzz{{{|{{yyzy{{zyzzz{{z{|{zzzzzzz{{{z{{||{yzzzzzzzz{{{zz|zyzzzz{z{{{|z{|{yzzzzzzzz{{||{{{|{z{zzy{{z{{z{|{zz|z{{z{{{{zz{{zz{z{{{z{{|{{|{{{z{{{z{{{{z||{|||{zzz{{{{{{||{{|{{{z{{{|z|{{{||}|{|{zz{z{{|z{|{{||z{{{z{{{|||{|||{{{|{{{z|{||{||{|yz{{{z{||{{{|||{zz{{{z{|z{||{|{z{{zz{zz{{{{{{||{|{{zz{z{}||{|}{{z{z{zyz{||||{{yz{{{zzzzz{{|{{{{{yzzyzz{{{{{{{{{{{zz{zz{{{y{|{|{{{{yzzy{{{{|{z{{z{zzzzzy{z{{{|z{{{{{zzzz{{zzz|{{{zzz{zzz{{{zz{zzzz{zyz{z{{zzz{z{zzzzyzzy{{{{z{}{zzyz{zyzz{{z{{{{{{zyyzyz{z{|z|z{z{yzyz{{{{{zzzz{zzyyzy{zy{{z{|{{{yz{zzyzzzy{{||{z{zz{y{z{|{{{{|{|{{zzzyz{z{{|{{{z{zy{{yz|{{{z{{|{{{z{zzz{{|{{||z{z{yzzzz{{|{{z{z{{z{{|zz{{{z{||{z|{{zz{z{{{|{{||{{zz|{z{|{|}|}||{{z|z{zz||}{z{|||z{{{z{{{}|{{{|{z|{{{|{{{{{{|{}{|{{{{|{||}||{{||{|{{z{|z||{|}||{{{zz{z{|{{z{{||{{{{{{{{{{{{|||}|{{{z{||{{{{{z{|{z{{{z{z{z{|{z{{|zz|z{yz|z|||{|{}|{{zzz{z{{{||{{{{zzz{zz{|{{z||{|{{{{{z{{|||z||||{{{z{z{{||{{{{{{{{{{|{{{{||{||||{{{z{{{{|{{{{{||{{{z{{zz{{|{z{||{|{{z{z{{{z{{{|{{zz{|zzz{{{{{{|{{|{{zz{{{z|{{{{{z{{{z{z{{{{{{{{{{z|{{zz{y{z{{{|{{{zz{{{z{{{{{||{{z|z{zzz{{{||{|{zz{{{{{{{{||{z}{{{z{{{{{{{|{|{||{{{z{{{z{{|{|||{{{{|zz{{||{{{||||{{{{zz{|{{|{||||{{{z{z|{||{{|||{{{||{|z|{|||||||}|{|||{{||}||}|{{{{{{{{|||||||{}{{||{|{|{{|}}|}}{||||{{|||||}|}|{|{{|{|}||}||~||z|||||{||{||}|||z||{{{{||{||}||{{{||{{{||{}||z}{|||{{z{{||||}||}{|{{{|{{{{{|{|}{{{{{z|||}{|{|{|{{z{{z{zz||{|{||||z{zzzyz|z{{||{{{{zz{{{|{{{{{{|{{{{{{zzzz{{|{||{{{{zz{{{|{{||||{{{z{{{{{|{{{{}{{{z{{z{z{{zy{{|{{z{zz{z{z{{{{{|{{{{zz{{{z|{{{z{z{{z{zzzz{{{{||z|{z{zz{yz{|{{||{{{zz{{{{zzzz{{{{|{{{z{{z{{{|{z{{{{{{{zzz{{{{{{{{|{{zz{z{{z|{{|{{||{z{{z{{||{{{|||zz{zz||{{{{{{z|{z{{|{{{z|}|||||||zzz{|{z{||{{||{{{{{{z{{{z|{{{|{{||{|{{{||||{|}|{z{{|z|{{}{{|}{|{{{{{{zz|}{{{||{{{|{|{{{|}||}}||{|||{|||{}||{||||z||z{{{{}}{|||||{{|{||||{|||}|||{{||zz{|||{{|}||z|{z|z{{{|||||}{{{{{{zz||{|||||}|z{{{{z{|{|{|{|{{{{{{{z||||{{|{{{|z{z|z|||{|{{{||z{{z{z{{|{{|{{|z{{y{{{{{|{|||||{{||{zz|||}|{|{{{{{z|{{{{z{{||}|z{{zz{z{{{{z||{|{z{{{zz|{||{{{|z{{zzz{|{{{|{{{{zzzz{zzzz{{{|||{{z{z{{{z{{|{|{{{{{{zzz{z{{{{{z{|{{z{{{{{{{{{z{|{{{{{zz{{{{{z{{|{{z{z|{zz{z{||}||z{z{{zz{|||{{{{}{{{{{z|{{{{{||{||||{z{{{||}{{||||{{{{{{z{|{z|||{{{{|{|{y|||||{|{{{{{{z{{|||{{||{{|{||{{|{}}||}||{{|{{{|||||||}}||{{{{{{{||||{|||{z{{|{{{|}}||||||{{z{{|||{|||{|||{z{{{|{|}|}|}}}{{||{|}{{||{||}||{{|{{{|}|||{||}{{|||{{|||||||}}{{{z|{{||||{|||||{{|z|{z|||||{{|{||{{|{{{|}||||{{{z{z{z{||{{|{{|{{{{{zzy{{|{|{{||z{z{{zzz{||{|{||z{z{zz{|{{{{{|{z|zzz{{z||||||{|{z{zz{zzz{|z{{}{z{zz{z{z{||y{{{{{z{zz{{{{{{{|{{|{z{zz{zzz{{{{{{{{{yzz{zz{||{z{{{{{{zyy{{{{|{{z||{{zz{zz{z{{{{{{{{{{z|{zz{|{{|||z{z{{{zzz{{z{{|||{z{zzzz{{|{{{||{{z{{{{{{|{|{||{|z{||{{{{||{{{||{{|{|{z{{{{||{|||{{{{{z{z{|||{}|{{z{|{z{{{|{{||{||{z|{{{z||{||{|||{{{|{|{|{{{||||{|{{{{zz|}||z||||{{||{{|{||{||}}||{{{|{|||{|||}||{{|{{{{|}|||z|}||{||{{{}{||{||||{{{{{{|||{}|||||{{z|{{||{||{}||{z{zz|z{|||}|{}{{{{{z|{{{{|||||{{{|{{z{{{||{{|{|{zz{z{{{{{|{{{|{z{{zzz{z}{{||||||{zz{{|{{|{{{|{|zy|yzz{z{{{|{{|{{{{zzz{{|{|{|z|||zz{{}zzz{{{{{{{zzz{z{{z{{{{{{{{{{{zzz{z{{{z{|{{zzz{{z{zz{{zz{|{zz{{{zy{{{{{|{{{{z{zzzz{{{{|{{{{z{{|zy{z{|{zz||{{{zzz{zz{z{{|{{{{z{{zzz{{{{|{}|{{{z{{yz{{|z|z{|{z{z{{{{{||{|z{|{{y{z{{{{|{||{{|||{z{{z{z{{{{{{|{|{{{{{z{|{}{|{|}|zz{{{z{{{{|||{||{{{{{z|{|||||||{|{{|{|{||{||||||z{{{{z||||{||{{{{{|{{{{|~|{|||||{|z|{{|{|{{||||{z||{{{{{||||||||{{{||{||{||||{||{||z{{{{|||}|}}{{{{}{{{||{||{|||{|z{{{{{z{|{|}}{{{z{|{{|}|}||}{{{|z{z{{|||{{{{z{{zz{{{{zz|{{{||{{z{zz{z{{{{{{{{{{zzz{z{||{|{{{|{{{zzzy{|{|{zz||{z|zzz{y{||{{|{}{{{{{zzzz{{{{{{z{z{{zzz{{{|{{|||{{{zzzzz{{||{{z|z{z{zzzz{{{|z{|{{zzzzzx{{{z{|{|{{{{{{{{y{|{z{{{{{{{z{zzz{{{z{{|z|{{zz{zz{|{{{{{{{zz{{{zz{{||{|{|{{y{{{{z|{||{zz|{{{|{{z|{|z{{||{z{{{{{z{|{{{{|{}|{z{{{{{{|z|{||{{z{z{|{z|{|}{{}{{{{|{{z|{|{{|{||{||{{{{{{{|{{|||{||z{|{|||||{|}||{{{{{{{|||}|}}{|{{{|||{}||{||}||||{||{{|||{}|}|{{{|{{{{{||{}||{}}|{}z|{||||{||{|z{{{|{{|{|{|||}|{|{|{{|||||||||{|{{{|{{{||||||{{|z{{{{{|}{|||{|z{{{{{z{|{}||{{|yzz{{z{{|{{z|{{{{z{{z{{{||{{|||||z{z{z{z{{z{|{}{{{{{z{{z{{{|z{{|{z{zzzzz{zz{z{{{{{{z{z{z{z{{{|{|{{z{zz{z{{{{z|{{zzzz{z{z{z|{{{{{{z{{zzzz{z|{{{{{{{{{y{z{z{{{|{z{{z{zzzzz{{{{{{{|zz{zzzyy{z{{z{{{{{zzzzz{z{z{z{|zz{zz{{{z{z{{|{|{{z{z{z{z{{zzz{{||z{{{{{z{z|||{{{{{|zzzz|{{{|{{|{{z|z{z{{{z{|||||{zzz{{{z|||{{|||{{|zz{{z{{{{||{{|{|{{{{{|{||||}{{{|{{{{z|{|{z|||{|||z{{{}|{||}|{{{{{{{{|}|{}|}||{{|{z||{{|||}}|||{{{|{{{||{|||||{{{{{{{{{|||{|{||{{{{{{{{||{{{}}{{||{{z|{|||||||{|{z{{{|||{{|||}{|{z{{{zz|||{|{|{{zz{{{{{|{|||||z{z{zz|z{||{|{|||{{zzzzz{{{{{|||z{|yz{zz}{{{{|{{{{{{{zzz{{{{||||{{|{{z{z{{{|{{{|z{{z{{{{z{{{{{{{{{zyzzy|z{{z|{{|{{{z|yz{zzz{zz|{{zzz{yyz{z{zz{|{{z{{z{{yz{zzz{|z{{{zzzz{{{{{z{{{{{{zyzzzz|{{z{z{zz{z{zyz{{{{|||{zz{zzzzzz{zz|{{||zz{{|{z{|{{z{|{{z{{zz{{{{{{||{{yzzz{{{z{{{{{||||{{zyz{{{{z|||||{zz|{{zz||{{z{|{|z|||z{z|{|{{||||z|zz{{{{{{}{}|{z|{{z{{{{|||{}|{{{z{{{z{}{}|{}|{||{||z{z{{|||||{z{|{{z||{|{||||||}{{|{{z{|||||||{{||{{|{|{|||{|||{{{{{{{||{|{|{|||{||{{{{||{||}}|z{zz{{{|{{{||}|{|zzzz{{{{||{}|}{{|z{zz{|{}|}|{||{z{{z{zz|z{{{||{|z{zz{{{{{{{||{{{{z{z{{{|{||{{{{{{{z{{{|||{{{|{{{{{zzz{{{|{|{{|{{z{{{{{z{{{{{||{z{{zzz{{{|{|{|{{zz{zzz{{{{|{{{|y{zzzzzz{|{{|{}z{z{{zzzz{|{{}{{|zzz{{zz{{|{{{||{zz{{y{z{{{{{{{{{|{zzz{z{{{{z{{|{zy|{zzz{z{{}|{|{{zzzz{{{{||{|{||{{z{{{|{{||{|{{}||{{{{{z{{|{{{{|{{{{{z{{{|||{||{{y{z{|{{||||{{{{{{{{{{{{{||{{{{|{{|zz{z||}{||||}{{|{{||{|z{{{|}|{{|{{z{z||}{{|}{|{{{{{||||}{|}|}{|{{||{{{|||}||}{|{{{{{|{|}}|}}|{{{||z{{|{{|{||||{z||{|{{|}}{||{}{zz|z{{|{|}|}||{{{{{{z|{{}{|||{}{{zz{{z{|{}{{{||{|{z{|{{|||{{||z|yz{{z{z||z||z{{{|{yzzz{|{{{{{||{{{{|{{{z{{|z{{{{{|{zzz{|{{{{{{{{{{{{{z{z{|||{{{{{{z{{z{{{|{{|||z{{z{zz|{z{{{z{{{{{{{z{{zz{{{{{z{{y|{z{z{|{||{{{{{z{zzzzz|{||{{z{{{zz{z{{z|z||{{zzzzz{zzzzz{|||zzzz{{z{{z{{z|{{z{{{z{zz{{{{{z}|{{{{{{{{{{|z{|{{{z{{z{{{{|{{{|||{{{{{{{z{|}|{|{{|{{{{z{{{|{{|||{z{{z|{z{|{{{|||z{{{{{{|{z||||}||{{{{{{{{z|{}{{||{|{z{{||||{}||{|z|z{{{{{|||||}|}{{{{|{{{||||||||{{{{z||{|}|{|||||{{{{{{{{}|}||||{{||{{{{{|{}||||}{{{|{{||||||||}||||{{{{{{{}|{|}{{{zz{|{{|{|{}{}||{{{{|z{|||||||{z{zz{{{||{~}}{|{{{z{zy{|{|{{{||{{{{{{{{|||{{||||z{{{{{{{{{{|||{|z{{{{{z{|{{{|||{{{zz{zz{{{}|||{{z{{zz{z{{{{{||}{{{{{zzz|||z{||{{zzz{{y{z{z{{{|{{{z{|z{z{{{{|{|{z{zzzzz{{{|{{{{z{{zz{y{z{||{{{||{|{{{{{zz{{z{{{{z|zz{{zz{{{||{{{zz{{|{zz{|zz{{|{{z{z{{{|{{{{||{|z{{{{{|z|}{{||}|{{{{{{{|{{|{z||{z{{z{{{{|{{||z{||{zz{{z{|}|||{|||{|{|{{z{||{{||{{{|{{{z{{{||||{|{{{{{z||{||||||||z|{z{|{||}||z|||{{{||{}||}}|}}}{{||z|||z|||||}}|{{|||{{|||}|||||{}|{{{||||||}{|}{{{||{{||{||||||||{{|{{|}|||}||{{||{{{{z{||{||}{{|{{{|z|}{}||}|{{{||z{z||}|{{{{{z{{z{z{{|{{{{{{|{{{{zzz{{{||||||zz{{{{{{{{|||{{{zzz{{z{{|{{{{{{{{{{{y{|{|{||{{}{z{z{z{{{{{|{||{|z{zzzz{{z|{z|z{{zzzz{{{|{{{{|{|z{zzzzzzzz{{z|{{|{z{{zz{{{{{{{z{{{{zz{{{z{{{|||}zzzz{zzzz|{{{{{{zzzz{zzzz{{|{{{{z{{y{{{z{{{{{|||{z{|{z{{{|{{{{{{{{{{{zz{{{|||{|}{{}|{{{{|{{{{||{{{{{|z{{z|||{||{{{|{{|z{z|{|{||||zzz{{{|{}{{{{|||{{{{{{{{|{{|}|}z{{{{{|{{||||{}}|{{|{{|{||}|{||||z|{|{|{|}{||||||{{{z|{|z|||||{|{|{{||z{{|{|}}|}{z||{{{|}||}|}|{|{{{|{{{{||~{|||{{{{|{{{{{{|||||{{{{{{{{{{||||{}{{||{{{z{||||{|||{{{{{{{z|}|}|{{zz|{{zz{{{{z{{||{{|zzz{z{{{|{|||{{zz{{zz{{{{{{{{{zz{z{z{z|{{|{{{{z|{{z{z{{|z{|{{{z{zzz{zz{{{{|{{{z{{{{{zz{{{{z{|z{{z{zz{{{{{{z{zz{zzz{{{{{|{|{|z|zzzz{{{z||{{z|{{zz{z{{z{{{|{{{|{{{zyz{z{{z{z{{{{|{{zzyzz{z{{{{{{zz{{{zz|z{|{{}|{{{z{z{{{{|z{{|{{{{zz{z|{{{|{|||{{{{|zzz{{{{{{}{{{|{zz{{{{{{{||{{z{{|z{{{||{{{|{{{{zz{{||||{{{||{{{{zz{z{{}}{|z|{{||{z|{||||{}}|{{z||{zz{|{||}|{|z{|{{{{|}{{|||||{{|{{{|{{{{||||||z{{{{{{{||||||{{{z{{{{{{}|{|||{||||{{{|||{||||{{z{||{{||||||||{{|z}{{{z{{||||||||{{{{{{{z|{{|z{z{{{{z||z|{}|{{{{{{zz{{z{|{{|||{zz{zzz{{{||z||}{{{zzz{{{{{{{{||{{|{z{{y{|{{{{|{{|{z{{|{{{||{{{|{{zzz{{z{{{{{|{{{{{{{{zy{{|{{{zz{z{zzz{{{{{zz{{|{zz{zzz{z|{z{{|z{{z{zyzz{{z{zz{{|{zzy{zzz{z{{z{{|{z|z{zzy}{|{{{{{{{z{z{z{zzz{|{{zzzz{{{z{{|zz{{{{{{zzy{z{{{|||{|{z{z{{|{{{z|{{{|z{{{zzz{||||{|{{|{{{{{{zz{|{||{|{{{z{{z{{{{{{{{|}|z{|zz{{|}{|{||{{|{{{{{}||||{|{{{|{{{{{{{|}{}|}{{|{|{z{{||{|{z|{|{{|{|{{{|{|{||{{{{|||{{|{{{~||{{{{{|z{{||||}|||z{{|{{||{||||||{{|{{z{z}{{{||||||z{{{{{{||{|{|{{z{z|{{|{|z{}||}{{|{{|{z{}|z{|{{{{{z{{{{{{|}}{{|z{zzzz{zz{|z{z||{|{{zzy{|{{{|{|{z{zzzzzz{{{{{{{|{z{{zyz{zz|z{{|z{zz{z{z{{z||z{z|zz{{{{{yz{{|{{{{{{{{y{yz{z{{z{{{zzzyz{zzz{z{{{|zzzzz{yzzzzz{z{|{{{zzzzyyz{{{|z{{z{z{y{{zz{z{{||{{z{zzzzzz{y{{{z{{z{zzzzz{{{z{{{{{z|z{z{{{{z|z{{{{|z{{z{{z{{zz{z{{y{zzzzz{z{|{|{{zzzz{zzz||zz{{{{z{{{{z|zyz|{{{{|{z{{zzz{{z{{{{}{{y{{{{z{}|{{{{|{{{{{z{{z{|{|{|}{{{zzz{{z{|{{{||||{z{{zz{|z||{||z|{{zz{z{{|{{|{{|{{{{|{||||{{|{}|{{{|{{{zz}||{||||{{{{{{|}|{|||||{{{{{{|{|{|{|{}|{|z{{{z{{{{|{|||{z|z{{zz{{{|{||||{z{zz{z{|{||{{||z|{z{|z{z|{||{|{zz{zzzzz|{{{{z{{{zzz{{z{{{{||||||zyzz{{{|{|||{{|{|{{|zz|{{}{{||{|{zyzz{{{{{z|{|zz{{{{{z{{{{{zz|{z{z{z{z{{{{{|{{{{zzzzzz{||{z{{|{zzzzz{zz|{z{{{|zzzzy{zz{{|{|{{{{z{{z{zz{{|{{z{{{{{zzzz{{{|{{{{|yz{{zyzy{{zzz}{|z{{zzzzzz{|z|||{{{{{z{z{{z{|{|{{{z{z{{{z{{||{{{z{z{{z{{{{{{{{|||{{zz{{z{{{{|}{{{{{{{|{{z{{|{{|}|{{{{{{{{{z|z|{||{|{{{|{|}||{|||||||{|{|z||{|{}||{{{{|{|||}|||||||{{{{{{|||{|||{{{z{{{{{{{}}|||}||z{|{{|{{|||||{{|{||{|{{||{|{||{{{||||{||{||{{|||{{{{|{{||||}||||z{z{{{{{{{|{|}{|{{{z{z{||{}{|||{{||{z{{|{~|{|{{{zzz{zzz{{z{z|{{{{{zzz{zz{{|||}|{{{zzz{y{|{{{{||{zzz{{z{{{||{{|||{zzyz{z{{{{{|{|z{{{{zz{{zzz{|{|{{{{{zz{{{{z{{{{z{zzz{zz{z|z{{{{{yzzzzyzz|z|zz{zz{{yz{z{z{{y{{|{z{zzzzzz{|y||||{z{yzzz{zy{{z{{zz{{zz{z{z{{{{|{{{{z{z{{z{{{{|{|{||zzz{y{{z{|{{|||{{{{zz{{|{z|{}{{z{{{zz{{|||{{|||{{{{z{zz{||{{{{|{z{{z{z{{|{|{{|{{{{{{{{{||{|{|{{|z{z{|{{|{{{{|||{{{z{{{{{|||{{||{{z{{{{{{||||{|||{{|{z|{|}||{||}|{{{{{}{|||{||||||z{z{{||}||||}||{z{{{{|{{}||||{|{|{|{|{{|{{||}||{|{{{{{{|||{|{||{z{|{{{|{|||||||{|{{{{{{{{|||}|{z|{{z{z{{}{{{z{z|z{zzz{z{|z{}||{{{|y{{{}z{{{|{{{{{z{{{z{z{{{z{{{z{z{zzz{{|{z{|{{zzy{zz{|{{|{|{|{y{zzzz{{|zz{|{z{z{yzz{{{{{zz|z{{{z{{zyz{{{|{{||zyzzzyzz{{{{{|{{{zzzz{z{{z{{{||zzzz{z{{y{{z|{{{zz{zyyzyzz{z{{|{zzzzzzzy{{{{|z|{|{yzz{z{z{{{{{{||{{z{{zz{|{{{||{|{z{z{z{z|{{{z{||{{{{zzz{{{|z{{}{{{{zz{{{{{{|{|||{|{{{z{z{{}|{||{|{zz{z{{{{{{{{|{y{{{{z{z||||||}|{{|{{{{{||||{|||{z{{z{{{|}{||||||{{{{{{zz}||{}||||{{{|{{|||{}{|||{|{|{{{{|||||{}{{||z{{{}|}|{|{{||{{|{||{|{||||||{|{zz||{|||||{|{{{z{{z{{{{{{|||{|{|{{{{{||{z||}{z{z{z{|{{{{{{|{{zz{zzz{{|{z{|||{{zz{z{|z|{{{|||{{{{|zz{|{{|{{{{{{|{{z{{{{||{{||{{{zzz{{z{{{{{|{{{}{zz{{{||{||{|zzz{{|z{{{||{|{{{z|z|{{{|{{{{{{|z{yz{zz{{{{{|{|{{zz{z{{{{{|z{{|{{|zzzzzz{{{z|{||z{|{zz{{{z{{{{{{{{{zz{zz{||{{{{{{z{{z{{{{|{{{|{{|z{z{{{z{{|||||{z|{z{z|{{z|{||z||{z{|{{{|||{||||{{{{|{{{{|{||}||{{{{z|{{{{|||{|{{{{{z{{|{|||{|||}|{{|{|{{|{}{|{|{{{{|{{{|}{||||{{{{{|{{z{|||||}{|{{{{|{{||||}|||{{|{{|{|||}{}||||{|{||||||{||{|}|{|{{|{|}||{{||||{||{{{{||||{|}}||{{{{{}|{{}|{||{{|{{{{{{|{||{||}{z|{{|z{{{||||{{{{z|{|{{{z||{{z{{{{|{{z{||{{||{{{zzzzzz{{||{|{|{z{zz{{{{||{{||{zzz{{{{{{{||{{|{{z{z{z{zz|{||{|{{z{{{z|z{{{{{{{{z{zy{{zz|z{z|{{{{zz{{|zzz{||{{z|z{z{{zzz{|{{{|{|{zzzyzzzz{|{{{|zzzz{{z{{{{z|z||{{zz{zyz{{{{{{{|{{{{z{{zyz{z{z{{{z{{z{{{z{z|{{|||{{{{zzyzz{z{{||{|{zzzz|z{{{{|{{}{{{|{{{{||{{|||{z{{|{z{{{|||||||{{z{z{{z{|{|{|}|{{{{{{{z{{}{||||{{|{{{{{}{|}|{|}z{z|{{{{|{|||}}||z|||{{{}|||{{}||{{z|{|{{}}{{|||{z{{{{|z}|||||||{{|{{{{{{|||||||||{||{|{||}||{|{|{z{|||||||||}}|{{{{|{{{||{|{|||||{z{|{||{{||||}|{z{{{{{||||{|}|{{{{{{{{||||{|||{z{z{zzz{{|{{|||{{zzzz{z{|{{||{|{{z{zz{z{|{|{|||{|{{zzz{z|{{z{|||{zy{z{z|{|{||z{{{{{z{{zz|{{{|||{zzzzz{zz{||{{|{{z{z{zzyz{||{{{{z{{zz{zzz{{{z{{z{zzzzzz{z{{{{|{{zzz{zzzy{{|{{{{|zzzzzyzzz{zz{{|{{|{{zz|zz||z|{{{{{{z{|{zzz||{{{|{|{z{{{y|{{{{z||{z|{zz{|{{{{{{||{z{{{zz{|{|{{{|}|{{z{y{zz{|{{||{|{{{{{{z{|{|{||{{{{{|{z{{{{{{||zz{z{|{||||{||}{|||{||{{{||{|||||{zz{z{{||}{|}|}|{|{|{{{z|}|}||||{|{|{{||||||{}|}}|{|{{|{{|||{{}||{{{{{{{|{|{|||||{{{{||{|{{||}|}|{{|{{{||{{|{|||{|{z{z{{|{||{||||}{z||{{{|||{|||{z|{{zz|{||}|{{|zzz{{{zz{{z{{{{{{{y{{{z{||{{{{||{|z{{{yz{{{{{{}{{{z{z{z{z|{{{{||zzzzy{{z{{|{|z{|{{{{z|{z{|{{{|z|zzzz{{zz{{{{{|{{{z{yz{{{{z{{{{{{z{zzzy{zzz{{{{{{z{{{zzz|z{{||{{|y{{zzz|z{{{|{|z|{zzzzzzzz{{{{|{}{{{{zzyzz{z{|||z{z{{{{{{z|{{{||{{z{z{z{{{{{{z|||{|zzzz{|{{{{{{{|{{z{z{zy|{|z|{||zzz{{z{{|{{|||{{{{{zzz{{|||{|||||{|{zz{{{{{{|}|||{{{{{{{{||{|}|{z{{{|||{|{{||}|||{{|{{{{|z|||||{{{{{{zz{|{|{|}||{{{z{{|{{|||}||||z{{{|{{{}||{{{}}{z|{{|{{{|||||||{{z{{{|}{{||}||{{{{|{z{||{|||||{{{{{z{{{{{||{||{{{{{{{z}{{||||{{z{{zz{z||{||{{|{z{z{{{zz||{{|{{{{z|{{{{z{|||||||{zzzzz{{{{z|{||{z{{yz{z{|{{z{{|{z{{{z{y|{z|}{{|z{{z{{z{{{{{{||{{z{z{{z{|z{{{{{{{z||{z|z{{{|{{{{zyz{{z{{{z{|{||{zz{zz{y{{{|{{|||{zz{zz{{{}{|{{|{{zy{z{{zz{{z|zz|zz{z{{{{{{{zz|{|{z{z|zz{{{||{{||z{z{{{{|{|{|{{}||zz{{z{{z|{|z{{|z{|zyzz{{{|||||||{{||{{{z|{{{|}{z{{{{{{z{||{{{}{|{{{{|z{{|{{{||{|{z{{{|{|{|{{{|{{z|z|{{{|||{{{|{{{{{{{{{{|||||||}{z||z{z{{|{{{|{||{{{|{{|||||||}|{{|{||{{}|}}|}||{{{{{|{|||}|{{||z{|{z{{|||{}|}||{||||{{|}|}{||}|{|{{zz{|||{{|||||{}{|z{|{|{|{{||{{z{{{{||||||y{{y{y{z{yz{|z{|||zz{{{zz{{||{|{{||{z{zz{{|{{{||{||{{|z{zz{{|{zz{|{{z{yzzz{{|{y|{{{z{z{{zz{{{{{||||{z{zzzz{|{z{{{{z{{{z{{z{{z|{{||zzyzzzzzz{{{{z{{{zzzz{yz{{{{{z{|{z{zyyy{{zzzzz{{z{zzzyz{z{zz{|{z{zzyzzzz{zz{{{|{{zz{{{zy{{{z{{|{{{{z|zzz{{{z|{|{{z{{z{{{{{z{{|||y{{{zzzz{z|z{{{}z{z{{{{{|{||||{{{z{{{z{z{|{{{|||{zz{{{{z||{|||{|z|{z{{{z{{||{|{|zzz{|{{{||||{|||z{{{{zz{{||||||{|zz|{|{{|||{|}||{{||{|{{{|{|||||{|{|{{{z|}||||}|{||{{{{{|}||{|||{||z{z|{{|{}|||||||{{{{{z{||{|||{|zzz{{{{{{{{{{}{{{{zz{{{|||{|||{{zzzz{{{||{{|z|z{zz{zyz{{{zz{|z{zz{{{{z{z|{{{{{{{zy{yzyz{|{|||{zzz{z{zzz|{|zz{{{{yyzzzz{|{{|{||{{{zz{{{|{zzz{z|{{zzzzz{{{{{{{{{z{yzz{zz|{zz{{{{z{zzzyyy{{zzz||y{zzzy{zz{{{z{{|{zzzzzy{z{{|{{{{{{zz{zz{{z{zz{{{{zz{zzzzzz{{|{{{|z{{z{zyz{{z{{{|||zzz{{zz{{|{{{|{z{{z{{{z{|{{{|{||{{{zz{z{z|{{|{{{zz{{y{{{|||{|{{|z{{zz|{{{|{{{|{{zz{|{{{{{{{{|{{zz|{||{{|{{}|||||z{{{{{{{||||||{{{{{{{{|{|{||}||{z{|{z|{|{|||||||{{{{{|{||||}|||{|{{{{{z{|{||||||{{|||{{||}|{{||{|{z{{{||{{||{|{{{{{z{|{{{|||{{}|z{z{z{zz|{|{{{||{{z{{{z{{{{{{|{z{|{{{z{z{}|{{z{{zzzzzzzzz{{{z{|{z{zzzzz{|{{{|z|z{z{z{{z{zz{||||{{{{{zyz{z{{z{{{{z{{zyzz{|{{{|z|{{yzz{{z|{z{{|{{{{{{zyzz{{{zz{|{z{{zzzz{z{zz{|{{z{{{{zy{z{z|{z{z{z{{z{z{zz|{{||}{{{zy{zzz{z{{z|z{z{zzzzzy{{zz{{{z{|z{z{{{{z||{{{{{zzz{zyz{||{{{{{{z{z{{z{{||{{{|{z{{{z{{{{{z{{|{{{{{z{{{{|{{{{|{{{||z{{{{||{{|z{zz|z{{zz|}|{{{{|||{{|{{{{{|{|||{|{{{{{{{{{||||||{|z{{|{{{|z|||{{{zz{{zzz|{||{{{||z|z|{{{|||{{||||||zzz{{{}||{{{}||{|{{{{{}||{||{||}{zz{{||{||{|{|{{{|{{{{||{||{}||z{{{{{{{|~}}||{z{zz{|{{{{|{|{{|{z{{{z{{}{|z||{z{{z|zz{{{{}{|{{zz{{{{z{z{{{{{{{|{zz{z{z{{|{{{{|{{z{z{z{z{{{{{|{zzyzz{zz{z{|{|{{|{{zz{{z{|{||{{z{z|{z|{yz||{z{{{{z{zzyz{|{{{z{{|{{zzzy{{{z{z{{{zz{{z{z{z{z{{{|{{{{z{{zzz{{{{|{{{y{{zzzy{z{{|{{{|zzz{zzzyz{{{{{zz{zz{zyzz{{{{{{{{{{{z{z{y{z{|{{|{{z{zzy{{{|{{{|{{|{{zzz{{{|z{{{{|z{zz{yzz{{|z||{|z{{{{z{z||{|{{{}{zz||z{{{||{{||{|zz{{{z|||{|{|{|{z{{|{{{||||||||zz{{{||z||{|||||{z{{z{{{{||||{|{{{{{||z{{||{{}}{||{z{||{|{{{||{}|{{{{|||||||}|{}|{{z{{|{|{||{{|||{|{{{{{{|{|{|||{{{{{{{{||{||{|||{{z{|{z|{{|{{{|{{|z{{{{{|}|{||{{||{{|{{{||{|{||{zzyzzzz{{{{||||{zz{{zz{{{{{||{|{z{zzz{zz{z{||{{{z|{{{zz{{{{z{{{{z|z{z{z{{}{z{{{{z{zzzyy{||{{{|{{z{{{zz{{z{{{{{{{zz{{zzz{z{zz{{z{zzyy{zzz{{{z{|zzzzzzzzzz{{{{{|{zzzzzz{zzz{{{{{|{{z{{zzz{{zzz{{{z{zzz{zzz{{{{{|{{z{yz{z{{z{zz{{{{{z{{zzz{{{{||{{{{zz{z{{|{|{{{{|{{{{|{zz{{{{{|{|{{{{{{z{|||{{|||{{{z{{zz{|{{{|||{zz{z{{{z|{{{{{{}{z{{{{{{|||||{|{{{{|z{{{|||{{}{{{|{{zzz|{|||{|{{{z||z{z{{{|}{{||{{{{||{|{||{|||||{{{{z{z|{||}||{|z{{{{||{{|||||{z{|{{{{{||{{{}}{{|{{{{|{{||}{|{{{|zz{{z|{{{{{||||{|{y{{{||||{|{zz{{{{{{z{|{||{{{{{zz{zzz{{{{{{zzzzz{zzz{zz{{{|||zzz{zzz{{{z|{||{{{{zzzzz|{{{{{{zzzzzzzz{{||{{{|{{zyyzzz||z{z||{{zz{zz{{{zz{{{{{{z{zzzz{{{{z{{||z{{zzzzz{{{{{{|{{zzzz{y{z{||{{{{{{zzzzz{{{{|{{||{zzzzyzy{z{{{{{{{zz{zz{zz{z|{{{{zzz{z{zzz|{{|{{|{z{zz{{z{|{{{z{}z{zzzz{z{|{||{|{{{{{{z{{|z|{||{|{{{{|z{z|{}|{{||{z{{{{z{|{}{{{|{|{{{z{z{{|||||{|{{zz|zz{||||{||{|{{{zz{{||{|{{||{{|{{{{{|}||}|||}{{{z{{|||{{||||{|{{{||{{}{|||{}||{{{{{|{}||{{||{{{|{zz{|{|{{{}||z{z{{|{{|{||||||{z|{{||{{{|}{||{{z{z{{z{{|{{}||{{{|zzzz{|}||{{|zz{{{z{y{z{z|{{{{{z{{zzzz{{{||{{|z{z{{zy{{{{z|{||||{z{|{{|z{{{|{|{z{zzzz{{||z{|{z{zzzz{z{{{{{|{|yzzz{zzz|{|{{{|{{z{{{zzz|{|{{|{{{zzz{zz{{{{{zz|}z{{z{{zz{{{{z{{{{zzzzzz{{z{z{|{{{{{{zyzzz{zz{{|{z{{zzzyz{{{{{}z{zzz{z{zzz|{z{{{{{z{{z{|zy|{{{|||{z{{{z{{{{{{|{|{{{{{z{z{|{{{{|{{{{{{{{{{{{{{||||{{{|{z|{|{||{{||{{{z{{{z{||{|{|||{z{|y{{||||||{{{||z{z{|{||||}||{||{||{{||{{|||}||{{{{{{{||}||{{|{|{|{|{|||{|}}{{{|{{{|||||{||}|||{|{|z{{}||{|}||{{|z{{{|{|||||{|{z{{|||{|{z|||}||{{z|z{{{||||||z{{{{{{z{{{|{}|||{z{z{{z||{|{{||z{|{|{z{z{{|||{z{zz{{{{zz{||{{z{zzzz{z{z{|{{||||{{zyzy{z{z{{{{{|zz{zzzzz{{{{|z{{{{{y{zzy|{{{z||{z{zzzz{{{{{zz|{{{{{yzzyz{|{zz||yzzzzzyzz{{{|z{{{zz{yzz{z{{{{z{|z{zzzzzzz{{{z{||{z{{zzzzz{{{{{{{{{zz{yyzzz{{z{{zzzzzz{{{z{{{{{{||{{{z|{{z||z{z{{{zzzz{{{z{{{{{z|{{{{z{{zz{{{{|{{|{z{yz{{z|{{{|||}{{{{{{zz{||{}{{||{|{{{{{{||{{{|{{z{{{{{{||{{{|||{{|z{{z{|{||||{||{||{|{{z}{|||{}|{{{{{zz{||{||||{z{{|{{{|||{|||{{{{{|{|{y|{|{|}||{z{{{||z|}||||||{{|z{{|||||{||||{{|{{{|||||||{|||zz{{{{{{{|{}||z||{{{zz|||{|||||{{|{z{z||||z{{{|z{z{{{{{|{{{|{{zzzz{{{zzz{|{z|{{zyz{zzz{{{{{|||{{{{z{z{{y{{{{|{{y{zz{{z|{|{zz{{{z{{y{zz{{z{{{{|{z{{z{{zz|{z{{{|z{z{{z{{z{{{z{{{yyz{z{{zz{z|{{z{z{zz{zzzz{||{{{{zzzyzzz{z|{z||{{{z{zz{zzz{{{{{|{{yzzzzzz{{{{{{|{zzz{|zzyy{{{{||{zz{zz|zz{{{{z|{|{zz{{z{{{|{{{{||{{{z{z{{{{{{{|{|{{{zz{{{z|{|{{||{|{{{{{{z{{z{|zz|z{{{{zz{{{{{||{{{{z{z{{||{zz{{|{{{{{{{{{{{}{||z||{|{z|{{|{|||||{{{{{{z{{|||z{|||{{{{z{{||{|{|||{{{{{z|{{|{||||||{{{{z{{{}}|||}{{{||{z{{||{{{}||{{{z{{{{{|{{{|{|{|{z|{zz||{{|}||{|{{{{|{{{|{{{{||{{{{|{{{|||{||||z{zzzz{{|{|{|{{{yz{zyzz{{{{|{{|{{z{zzzz{{{{{}z{zzzyzzzz{z{{{{{{zz{{{z{zz|{{z|{|zz{yzzzyz{{{z{{|{z{zzz{z{z{{{{|{{{z{zzzzz{{zz{{{z{zzz|zy{zz{zz{{yz{{zzzy{{{zz{{{z{y{zzyz{{{{|z{{{{zzyyyz{{|z{z{{z{z{zz{zz{z{{{{{{y{yy{{{z{z{z{{zzz{zz{{z{{zz{{{{z{zzzy{{{|{{{{||{z{|yz{{{{{}|{||{z{zzz{z}{{{{{{||{{{z{{{z{|{{||{{{zz{{z{{{|{{|||{zz{{zzz|{{{{{{|{z|{|{{z{{|{{{}|{{zz{z{{|{z||||||zz|zz{z{|{||{{{z{{{{{{{|{|{||||{{{{z|{{|{|{|{|||{{|z{{{{|}{{|||{{{{z{{{{|{||}|||zz{{{z|{}||{|||{{z{|{{|{{||}||{{z{z{{{z{|||{{{|{|{{{{{z{{{{||{{z{|{{z{{{|{{{{{z{{z{zyy{{{{z{{z|zzz{zzzz{z{{{{|{{{z{|{zz{{{{z{||{zzyzzzzzzz{z{}{{zzz{zzz{{z{z|{|z{{zz{{z||{{z|{zzzzz{zzz{{{{{{|z{zz{zzz|zzzz{{z{zz{|zzzzz{z{zz{{{z{z{zz|{{{{{{|{zy|yzzzyz{{{{{{{z{{zzyz{yz{z{{{{{zzzzyzzz{zzz{{zzz{z{zzz{{{{{{|{zz{{zz|zz{{zz{|{z{zz{z{z{||{{|{|{{{zz{z{{{{{|{{|{{{{{z{z{{||{|||{{{zzz{{{{|{{||{{{z{|z{{{{{{{{{|{{{{{{{{{|||{||{{{z{||{{|||{{z|{zz{{{{{z{{||||}||{z{{{z{|}||||||{|{|z{{|{{|{||||}z{{{{{|{}||{}|}||{|y{{{{|{}|||{}{{z{{z{{||}{||}{|{{||{{{{||||}|{{{|{z{z{{{|{||{{{zzz{{zz|||{{{z{{{z{{{{{z|||{z|zz{zz{{y{{z{{{{|{{{{{{{{|{|z{||{{zzzzzz{{{{{{}|||zzzzz{zz{{|{{|{{{{zzz{zz{{|{{{{{{zzzz{{{{{{{{{{{z{zzzzz{{{z{|{{zz{zz{zzz{{{z{z{z{z{{yz{{{z{{{z|{{{zz{yz{{{{{{zz{{{zyzzyzy{{|{{{zyzz{zzzz{{{{z{z|{zz{zz{z{{{{|{{{{z{{{z{{{{{||{{z{z{{{{{{|{|{{{|{z{zz{{z{z||z{|{z{|{{z{z||||z{{|{{z{|zzz{|{|{||{{z{{{z{z{{|||{}{{{|z{{zz{||{{{{|{{{{{{{z{|||{||{{{{{{{{{|{||{||}{||{{zz{{||{||{||{{z|{|z|}|{||{|{{}{{|{{{||{|}|||z{{{{|{|}{|||}|{z{{{{||{{||{||}|{{{{{z|{|{|||||{|z{z{{{||||{|{|{|{{|z{{||||{||{{{{{{zzzz|{{|{{{z{{zzz{{{{{{{|zz|zzzzy{zzz{zz{z{z{{zyyz{||zz||{{{zzz|zz{zz{{{||{{y{zzzz{z{z{z{|{z{zzzyzz{z{{{{{|zzzzzzzz{{{{{{|{zzzzzzz{z{{{z{{{{z{yzzzzzyz{zzz|zyzyzzyz{{{zz{{zyz{yzzzyzz|{zz{zzyzzzzzzz{{yz{{{z{zzzyzyy{zz{{z{z{zyzz{z{{{{z{|{{yzz{{zzz|z{{||{zzzzzzzz|{{z{{{{zy{{{{{{{{{{||{{z{yz{yz{{z|z{{{}zzzz{z{z{{{|{{|{{{zz{z{{||{{{{|{{{{{{zzz|z{{|||{{{z{{zz{{||||||{z||{|z{z{z{|||{{|{z{{{{z|||{{}|z|{{{zzzz|{|}|}{{{{{{{{{|z{|||||||zz{z{{|{}|{{{||{z{{{{|||{{|{||{{{{|{{|{z{{z|{|||{{{{{{{|{{{{|{||{zz{|{z{|{||{|{zzzzy{z{{{{{{{{{z|{y{zzz{{|{{{z{yzzzzyzzz|{zzz|{{{zyzzzzz{z{|{|{{{zzzzzz|{z|{{|{z{{zz{{zz{||{{{{{{|zzyzyz|}z{||{{z{zzzzz{{z{z||{zz|zzyzz||{zz{|{{z{zz{yzzyz{z{{{y|zzyz{y{{|{{{{{{zzzz{{z{|{z{z|{{zzzzzzzz{{{{||{z{zz{{zzzz{{{{{{zzzzz{{{z{z|{{|zzz{zzzzzz{{{{z{{{zz{{{z{{|{{{{{}{zzzzz{z|||z{||{{{{{yzzz{{|{{|{{{z{{zz{{{|z{{{{{|{z}|{{zz{{|{|}{z{{{z{{{|||{z|{}|z{{{{|z{{||||||{{{{{{{{|||}z|||{{z|{z{z{|{||{||{{{|{{{{|||||||||{|{z{|{|{{|{{{{|{{{{|{{||}|{||{}{{|z{{{{||||}{||zz{|z|z{{|||||||{z{{{{||{||}|{|{|zz{z{zz{{|{{||||{{{z|{{|{|{{|{{{{zz{z{||{{{}z{{z{{{{{z|{z{{||{{{zz{zzz|{z{z|||{{{zzzzz|{|{{||{|zzz{{{{{||z{{{{{{{{zzzz{{{z{|||{{{{zzzz{{{{{{|{{{zz{zzzzz|z{zz|zz{{z{zz{z|zz{{{y{{{zzzz{{{{{{{zzzzzzz{{zz{|{{||{zzzz{{{{{{{{{|{{{zzzz{{zz{zz|{|{zzz{zyyz{{|{z{{{z{z{{{z{{||z|||{z{{{{{z{{{z{{{|{z{{{{z{{{{{{{{{z{|zz{{y{|||{||||z{{{{z{{{||{|{{{zz{z|zz|{{{{{|{{{z|{{zzz{||{z||{{{z{|{{{|{{||{|{||{zz{z|z|{||}|{z{{}zz{{{{{}|}{{{{z|{{{|||{{{}|{{{|{z{|{|}{||{|}{{{z{{{z}{{{||}{{z{{z{z{|{{{{|||{z{{{{{{||||||}{|z{|zz{{|{{{|{{{{|{{z{{{||{{||||{z|{{{z||{|{{||{{{{{{zz{z{{{zz{{zz{{{zz{{{zzz||{z{{{{{{z|{z{{}{{z{z{{{zz{{{{|||{zz{|zy{{||{{{|{|z{zzz{z|{{|z|{|{zzzy{zz{{{{{{{z{z{{zyzzzz|{z{{{zzzzz{{{zzzzz{{{{{yzyzy{z{{z|{{zz{{{yzz{z{{|z{{{{zzzy{zy{{|{{{z{{z{{zzzzyzzz||{{{zzzzzz{z|z{z{{{zz{{{{z{{z{{{{||{{zz{z{z{{{{{{||{{{zzzzy{|{{|}||{{{{{{{z|||{||{{{z{z{z|{{|{||||{{|{zzzzz{|{||{|{z{{{{{{{{|{z{{{|{{{zz{|{z|||{{}|{{{{{|{||{{{||||{{{{|||z{|||||||||{{||{z{||{||||zy|z{|{z|{{}||{||{{{{{{z{||{|||{{{|{{|{{|||}||||{z{{|zz||{{|{||||{{|{{{{|{{|{{{|{z{{{zzz|||{{|||||{{{zzz{{{|{{z|{{{{zz{z|{{{{{{|z{{zzyz{{||{{{|{{z{zz{zz{{{{|{{{{{z{zz{yz||{{{{{{{{{zz{{{{|{z||{z{z{zzz{{{{{||{{{zzyz{{z{{{{{{|z{{zzz|z{{{{z{{|{{z{{{zyzz{{|zz{{zz{zzzzz{z{{{|{{z{zzz{zy{{z|{|{{{{z{{zzzz{z{{{{{{zzzz{zzz{{z{|{|{zzzzzzzz|{z{|{{{zz{{|{z{{{{{||{zzzz{{{z{{{{|zz{{z{{{z{z|{{|{{}|z{z{z{{z|{{{{|||{z{{{{{{{{{|{||{{zzz{{zz{{|||||z|z{{{|z{|{{{{{|{|{{{{z{{|{||z|||{{{z|{|{{}{|||}|{{{{{{z{|{||||}{||{|{{{{|}||}{}|{{|{{|{z{||||}|{|zz{{{z{z}|||{{||{|}{|{||{|||||||z{{{|{|{|{|{||}{{|{{{{{{|||||||z|{{|{{{{{|||{{{|{zz{{{{{|{||{||{{|z{{z{|||{{{|{{{zz{z{zz{{{{{{{{{zzyyzz{{{{|{{|{zzzzz{z{{{{|{|z{z{yzzzz{{{zz{z{{zzyz{zy{z{z{{{{zzzzz{zz{{{{{z{{{yzzz{{{z||{{{{zyzzzzzz{zy{z{|z{z{zz{z{yy{|z{||zz{zzyzzz{z{z{{z{{zz{yzzyz{{zzz{|zz{zzy{zz{zzz{{{{zzzzz{z{{{z{{||zz{zz{zz{{{||{}{{zz{zzz{{{{z|{z|z{{{z{{z|{{{|{||{{{|{zz{{{{|{||{{{|{{{yz{|{{z|{|zz{y|zzz{{||{{|{{z{zz{{z||{{{||{{{{{z{{{|||{|{|||{{{{{|{|{{{||{||{{{{|z{|{|{{|||}z{z{|z{||{||{||{z{z{|{|{z}{{}|}|{zz{{{{{|{|{||||{{{{|{{|||{|}||||{{z|{|||{{|{{|{|{|{{{{||{|{|{|{{{{{{{{|{{|||{{{{{{{zzz{{|{{||{{{z{zz{z{|{{z{zzz{zzz{zz{|{|{|{{z{{{zz{zz{{{{zz{{zzz|zz{{{{{{|||{zy{zzzzz||{{{{|{zz|z{{y{|z{z|{{zzzz{zzzz{{z{z{z{zzzz{zz{|{{y|{{{{zz{zzzz{z{z{{{zy{zyzzzy||{z|{{zz{zzzzy{{{{{{{{z{zzyzzy{{{{{{{{{{y{zzzy{z{zz{z{{{z{zzzzzz{{{{{{zzz{z{zzz{{{{{{{{z{z{zzz{{{|||{|{zz{zyzz{{{{z||{z{{{{{{{|{{{{|{|{z{{{{{z{||{|{{|z{{zzzzz{{|{{|||{{|{{{z{{||{z{|{{{|{zz{{{{z|{|||{{{{{{{z|{{||{|||z|z{{z{{||{}{||||z|{z{{|}||{|{}zz{{{{{|{||{|{{||z{{{{z{|}}{|{{|}{{{{{{{{|{}||{{|z{{{{{{||z||{|||z|{{{|{{|{|{||||{{z{{{z{{|||||{{{z{zzzy{|||{z||{{{{{{yzz{|{{{{{{{z{{zzz{{{z||{{{zzzz{zz{{|{{{{|z{{z{z{z{{{||{{{{zz{zz{z{{{{{z||{{{{zzzz{{{{z{{{zzz{zzzzy{{zz{||z{{zzzz{{{|{z{zz{{{{zzzz{{{z{zz{zzzzzyzz{zz{{{|{zz{{zzzz{{|{{{{{{zz{zyz|{{{{z{{zyzz{{y{zz{{{{{{{zz{yzz{{{|{{z{{{{z{{z{{zz|{{{{|{|z{yz{zz{{{{|{{{|{{{{zzz{{{{{{{{{{{{zz{z{{|{|}{|{z{z{z{z||{z{|{{{z{{{{zz{||z|||{{{z{z{{zz}{z{||z{z{{z{{z{{{|||{||{{||{{z{||{|||{|{{{{{{{{}|{{{{||z{z|{{z{|{{||}||{{{{||{{||{{}|||{zz{{{|{}|}|||||z{{{{{z|||||||{|{{z|z{{z||{{|||||{{|{{{{||{|{||{z{z{{{z{|||{|||{{{{{{{z|{{|{|}{{z{y{zz{{{|||{{|z{zzzzzz|{z{{{{|{zzy{{zz{|{{{|{|{{zzz{{{{{z{|{{z{z{z{zzzz|{|z|||{{{zz{z{{{|{z|||zzzz{z{yz{{z{{{zzz|z{z{z|{{{z{z{zzz{zyzz{{z{z{z|{zzzzzzz{z{z{{|{{zz{yzyy{z{{{{|{zzzzzzyzz{{|{zz|z{{zzyzy{z{z{|{{z|z{zz{z{{zzz{|{z{{z{{zzz{{{{{{|zzz{{z{z{{|{z{||zz{{z{{z{{{{{|{{z{{{z{{z{{{{}{|z|{{zz{z{z||{||||{||{{{{z|||||{|z|zzz{{z{|||{{z|{{{{{z{{z||||{}||{z|{{{|{|{{|{||}{zz|{|{z{||{||{||zz{{{{{||||{{|{{{{|{|{{{|||||||{{{|{|z|{||||||||{|{{{{{{{}z|||||{{{{{{{|{|||}||||z{{{z|{|{{}|||{z|{{||{|{|{|{||{{{z{z{{|{|z{|{{{{{{{yz{{{{||{|{{{z{{{z{y||zz|||{{yz{yzz{z|{z{{|z{{yzz|z{z|{{|||{{{zzzz{z|{{{z{{{zzzzzzz{||{{{{{zx{{yy{z{{zzz{|z{|{zzzyzz{{zzzz{{z|yz{zz|z{{{{{|zzy{zzzzz{{|{z|z{yzzzzzzz{|{{{||zyz{zz{yz|{zzz{{zzyzzzzzz{zzz{z|{zzzz{{z{{{{{{{{yzz{zzyz{{{{{{{{zzzzzz{zy{||{{{{{{zz{z|z|{{z|||{zz{zz{z{z{{z{{|{|z|{{yzz{|{{{{zz{z{{{{{z{{|z{{|{{zzzzzz{|{|{{{{|{{{z|{zzz{||||{{{{{{z{{z|{z|z{|}{z{{{z{{{{|{{|z{|z{z{{{{{||{z|{{z|{{{{{{{|z{{|{{{{{{z{{{{}}|{|}||z{{{{{{||{|{}|{{|{|{{{{z{{{|{|||{{{{|{|{{{{|||||||{zz{{|||{|{|||{{|{z{z{|{{{|{{{{{zz{{z{{{|{{{{{zzz{zyz|z{z{z||zz{{z{zz{{z{{{{|{zzyzz{z{z{{|{{{{{zzzyz{{z||{{{{zzyzz{zz{{{{z|z{{zzzz{zz{{{z{{{zzzzzzzzz{{{zz{{{zzz{yzzz{z{{{{zz{zzyzzzzz{{|{{|z{yz{yzyz{z{{{{{{{zzzzzyy{zz{y{|{{zzz{zyy{{{zyz{{{zz{zzzzy{{{z{||{z{z{{zz{z{{zz{{{zzzzzz{{{|z{{{{{z{{zz{{{{{{||{{{{zzz{z{{{{{|{{||z{{{z{z{||{||{z{z{zzzz{{|{{|{{|{{z{zz{{|{{zz{z||{zz{{{{{|{{{||{{{|z{{|{}{{|{{|}{|zz{z{z{||{||{||{{||{|{{|{||{||{{z{|{{{|||{|||||{zzzzzz||||z{||{||{{||{||||}|||{zz{|{{|{|{|z}||{{z{{|zz|{||||{|{zzzz{|{z||||{||{z{{{{{{z|{{{z}||{{{zz{{{{|z{|{|{zzzyzzy{||{{{|{{z{zzzz{|{{{{{|{{zzz{z{z{{|{{|{||{{zz{y{{|{|||{{z{{zzz{z{{{{{{|{{zzz{zzz{{z{{z|{{{{zzzz{zz|{{{|{z{z{|{zz{{|{{{{{zy{y{{zy{zz{{z|z{z{{zzyzz{{z{{|{{z{zy{zz{{{{|{{|z{z{{z{yzz{{{{{{{z{{zy{{z{zz{|||zz{z{{zz{}{|{{{|{z{{{zz{{{z{{{||{{z{zyz{|{{{{{||{{{|z{zz{{{{{||||{{{{z{{{|{{{||{|{{{z{z{{||{{{||{{z{{{|z{|{|||{|{{{z{{z{|{|}|{|{{{{{{{||||{|||}|{{{{{{{{{}|{}||{{{{z{{{{||{|||}|{{|{|{|||{|{{||}|{|{zz{{||||{|{|{{|{{|{|{|||{}{|{|{|{{|{{||||{|{|{z{|||{z{{|}{{|{{zz{{{{{|||{||{{|{{{{|z|{|{{|||{z{z{z{z{|{{{{{{{{{zzz{{{{{{|{||{{zzz{zz{z{{|{{|{{{{zzzzz|{z{{||{z|{zz|zz{{|{zz{{{zzz{{y{|{{z{{{{{{|{zzz{{{{{|{{{{z{z{z{z{{zz{{{{{{{z{zz{{{{{{{|{zzz{yzyzz{z{|{{{zzzzzzz{{{{{{{z|z{{zyz{z|{|z{{{{z{zz{{{{{{{z||{{{zy|zzz{z{{z||{yzzyzzz{||z|{|{{{{z{{z|{|||{{{|{{z{|y{|{{{{{|{z{{{{{{zz{||{{{||||z{{{z|{|||{{|{|z{{{{{{{{z|{{{}|{{{{{zz{||{{|z|||{{z{{{|||||{|||{{|{|{|{|{|}|{}|{|z|{{z{||||{||{{{|{{{|z|}|||||{{|{zz{{{{|}|||}||{{{{{||{||}||||{z||z{{{|{|||||}|{{{|z|{{{|}||||{{{zz|{||||||||||{|z{|{|{|z{{|||{{{{{{|z{||{{||{{{{{z{{{|{{{{{z{{{z{zy{z{z{{{{{{{{{zz{zzz{{{{{z{{zzz{z{z{zz|{{|{{{zy{zzz{{z{{z|}{{{zy{z{{{{|{{{{z{{z{yzzz|{{{{{{{zz{zzyy{{z{{{{z{zzz|{z{y{|{{{{{zy{zzzyz{z{{{{{z{z{{z{zzzzz{{z|zzzzzzzzy{{{{z{{{z{{z{z{zz{zz{{{z{{zz{yzz{{zz{|{{{{{zzzzyzz|{{z{{zzz{{z{{{{|{{{{|{z{{zz{{{|z{{{z{{|{{{z{{|{{{||||{z{z{zzy{|{{||{{{{{{z|{z|{|{z{{{{{{z{zzz{||{|{||{{z{{{zz{||||||{z|{z{{{|{||}|{{||z{{{{z{{|||{|}|{{|{{{|{||||{|{|zz{{{|{{{{|||{}{}{{z{|{|z|||||||||{{|zz{{{{||{|||{|{{{|{||{|||{}|{{z{{{{{{|||{{|{{{{{||{{{{|{{|||{{{{zz{|{{{|{||{z{z{z{zz{|{{zz|z{zz{z{z{z{{z{{{z{z{zzz{{{{{|{||{zzzyz{{{{|zz||{{z{{|{z{zz{{y{{{{zz{zyzyz{{{{{{|{{{{zyzzz{{{zz{|zzzyzzyzz{{{{{{{z{{zz{yz{zy{{{z|zzzzzyzy{zz{|{|{z{zzzyz{z|{{{{{|{{{zyy{{{{{z{||zz{z{zzz{{{{{z{|{{zzz{zz{{{{zz|||z{z{z{zz{{{{z{|z{{{z{z{z{{|{{{{{{z|{zz{{|z{|{{{|{z{zz{z{{|{||{||{{{zzz{{{|{|{||{{z{|{{{{{{|{{{||{{z{|y{{||{{|}|{z{{{|{z{{{{{|{|{{{{{|z|||{|{|{{|{{{|{{{z{{||}||||z|z|{|z{}||{{||{{{{{{{|{{||||||||{{z|{z||||{|{||{|{{{z{{|||}}|{{z{|{{{||||{|||||{|{zz{{||||||{{|z{{z{{{{{|{{{||{z||z{{{|{{{|{|{{z|zzzzz{{{|{{z{{zzz{{zzz{{{{{|{zz{zzz{z{{{{{{{|{z{y{zzz{z{{{{||zz{yzzzz{z{zz{{||{zzy{zy{{|{z{{|zz{z{zzzzz{z{{{{zzzyz{{z{z{z{{zzyzzzzzyzz{{z{{{|zzzzyzzzz|zz{{{{z{yzzzzzz{zz||{|zzyzz{{y{{{{{z{{{zzz{zyz{z{{z{zz{zzzzzzyz|zz||{{zz{y{zzz{z{||{{|{{z{{z{z|{|{{|{|y{{zz{{{{{{{z||{{{{zzzz{||{{z{{|{||{{zzzzz|z||{{zz{{zzzz{{{{{{}|{{z{{zz{|{zz{||{{{{z{{{{{{|{||{|z{z{{|{|{{{{|||{{|{{{{{z||{{|||||z{{{|{z{{{{{|||{{z{z{|{{{|{|}|{{{z{||{{{||{{|{||{{{{{{||{{|{||}|{{z|{{z{z|{|{||z|z{}{z{{{||{|{||{zzy||{{{|{{{|{z|{{{zzz{{{{{{||z{{z{z{z{{|{{{{|zz{{zz{zz{|{{{{{zz{zzz{{{{{{{{{{{{zyzyyzz{{z{z{|{zzzzyzz{z{{{z{|{{{z{|zy{{z{{{{|{|zz{zzz{{{z{|{|{{{{{yzzz{{z{z{{{{zzz{{{zz{z{{{{zzzzyz{y{{{{z{{z{zzyzzz|{z{{|{z{zz{zzyzz{{{zz||{|zz{zz{yz|{{z{z|{{{{zz{yz{{z{|{{z{z{{{zzz{{{{{}{{z{yzzzz{{{z{{{{{z{yz{{{z{{||||{{zzz{{{|{z|z{{|||{{{{zz{{||{||{|{y{zz{{|{||{{||{{{{{zz{{{{|{||{|{{{zz{z{{||{|||z{{z{{{|z|{{{|{}|{z{|{{}{{{{|{||{|{{{||{|||{{|{{|{{{{{{|{||{||||{{{{{{{z|{||||||||{|{{{{{{{{{{{{||{{z{zzz|{{{{||||{{{|z{{{||{||{}{{z{z{{{{|{{||}{|}{{{{z{{{{|{||{{{|yzz{{{||z{|z{z{zzzzzyy{{z|{{{{{zzzzzyz{{{z|{|{zyzzzzz|{{{||{{zz{z{z{zz{{{{|||{y{zzzzzzzz{{{{{zzzzzz{zz{z{{{{{{zzz{z{z{z{zz{{zz{z{zz{zzz{{z{z{zyzyzz{z{{{zz{{{{zzzyzyy{{{zz{{|z{zzz{yzz{{{{z{{{zz{{zzzzz{{zz|z{{{{zyzz{{z|z{{{z{{z{z{z{z{|{z{{z{{zzzz{{{{{{{{|{zzz{z{{z{{|z|||{y{zy|{{{{{z|{||{y{|{zzzz|z{{{{z{{{{{zzz{|{{{{||{zz{{z{z{{{|{||||z{{{{zz|{||{||{{{zz|zz{||{}|{||{z{{{zzz{{}||{{{|{{{{{zz||{{{}|||{|{{||{|{{{||{{{{{{{{{z{|{{{{|||z{{z{{|||{|{||{{z{{z{z{{|{z|{||{z{zz{{|{{||||{{|{{z{z{{z{{||z||{{{{{zz{{{||{||{{{{{zzzz{{{{|z{{{zzzzyyz{z{|{{|{{{{z{{{{|{{{{|{|{{{zzzzz{{|{{{{{{zyyzzzz{z||z{{{|z{{zz{{{{z{z{z{{{zzzz{yy{{{{|{{|{zzzzyz{{|z{|{{{z{z{zzzz{z{z{z{{zyzzzzzz{{{|{{{zzzzz|y{zz{{{z|{{{{zyz{zz|z{z{||{zzyzyzy{z{{z{|{z{zzzzzzz{zz{{{{{z{{{{zz{{{{{{z{zzz||yz{{{{z{{{|{{{{y{{{{|{|{|{|zz{z{z{{{{|{{|{{{|{zzz{zz{||{{{{{{{{z{yz{{||{{}{zz{{{zz{|{|z||{{z{z{z{{{{||||||{{zz|{{{z{|||{||{|z|{{z{z{{||}}|{{z{|{{{{{|{|{||{z{|{{||{{}||{|{}|{{{||{{{{{|||||{{{{{z{z{{{|{|{||{|{{{zz||{|{|{||z|zz{{|{||{|}|||{{{z{{{|{{||}|{{|{{{zzz{||||{z{{z{|{{{{{{{{{{z|{z{zyzzyz|{{|{|{zzzzzzzz{|{{{{||{zzz{zzz{{{||{{z{z{{z{z{{z{|z{{|{{{zz{yz|{{{z|{{{zz{zzzy{{zz|{|{{zzz{z{z{{{{{|{{zzz{zzz{{z{{{{{{zz{{zzy{y{{z{|{z{z{zzzyz{{|zz{{|zz{{zz{z|zz{z{{|{zz{{y{zy{{zz{{{{{zz{y{zz{{{{{{{{zzzz{zz|{zz{{{|{{zz{zzz{||{z{{{{{{{z{{z{{{zz{||z|{{{|{{{{|{|{z{{{{{{{z{z{|{{{|z{z{{{zz||{|{z{||{z|{{{z|{||{{|||{|zz{||{{|{||||}{{{z{{{{|{|||{|||{{{|{zz|||{||{{|{{{|z||{||}|||||{{{{{||{|||{|||}{{{{|{{{|||}|}||{|{{zz{|||||{}||{zz{|{||||}}}|||{z{|{{||||||{||{{{z{{zz{|||{||}{{z|z{zzz||{{{z|{{{zzzz{z{z|{{{{{{y{zz{yz||{{{{{{{zz{zzzz{|z{|z{zz{yz{zz{z{||{|{{z{zyzzz{{|{{{|{{{{z{z{z{z{{{{{{z{zzz{{z{z{{z|{{zz{z{zzz{{{{{{|{zzz{{{yz|{z{z{z|zzzzzyzz{z{zz{{{{z{yzzz{{||{{{|{{{{{yz{{{{{{{z{|zz{zzzzy{zz{{|{{zz{z{yzzz{zz|{{{zzzy{{zz{{{z{{||{z{z{{{{{|{{{|{{|z{|{z{zz{{{|{{{{z{{zzz{|z{{{{{|{{{{{zz{{|{||{{{{z{{z{{z|z|z{{|{|{{z{zz{||{{||{|{{{{{{|z{{{|||||{{zz{{{{|{||{|}{zz{{{z{{|{{||||}|{z{{z{{}|{|{||{z{{{{{|{{|{{}|}|{|||z{||{||||||{{z{{z{{{{|{{|||||{{|z{{||{{{}{||{{|{{{{{z|{{|}||{{{zz{zz{|{{{||{|z{zz|{{||{{|||{{{{{z{z{z{{|{|{|z{y{zz{zz|{z|{z{{z{{{z{z{|||||}{z{zz{{zz|{{||{||{{{z{z{{{zz|zz|{{z{z{z{z{z{z{{{{zz{zz{{zzz{{{{|{{z{{{{yz{{{z{{z{{{zzzzz{{{{|||z{{z{z{z{z{{{z{{{z{zzzz{zz{z{{|{{z{{{zzzz|{|{{{{{|{zz{{z{zz|z{y{{{|z{zy{|zzzz{{|{zz{{zyzz{z{{{|{|{z{z{{zz{||{{{|{|{z{{zzzz{|||{|||{z|zz{{{{||{{|}||z{{{zzz{|{{{}|{{{{{|{{z{{{{|{{|{{{{{{z{{{{|||{{|{|{{{{{z|{||{}|{{{{{{{|||{||{||{|{{{{zz|z|||{|||{{{z{|z||||{|}||{|{{||{{|{||||||z{{{}{{z||||}~||z{{{{{{}|{||{|{{{|{{z{|{{|||||||{|{|||{|{||{|||{|{{{{{{{|{|z||||{{{{z{{||{{|{|||{{z{{{z|{{{{|zz{z{zzz{yz{{{{{{|{zzzzz{{{{z{{{z|{{zzy{{zz{{{|{{|{zzzz|yz|{||{|||{{zz{zyz{z|{{{{{{z{zzzzz{{|zz|{|{z{zzzz{{z||z{{{z{zzzz{z{z{{{{{|{zzyzzzz{{zz{{{zz{zzzzyz{{|z{{{{{z{zy{{z{{{{{{|{z{zzz{zzz{{zzz|}zz{{zzzz{z{zz|{{z{zzz{zzzy{{z{|{{zzzz{{zz{{z{{|{zzz{zzz{|{||{{|{{{{{z|zz{{|{|{{{{{z{{z{{z|{|{||zzz{{|zyz{{{|{||{z{z{{{zz{{||{{{||{{z{z{{|}{{|||{{z{{{{{{{{|{{}||z|zz|{z{|{|{|{|||{{{zz{{{|||{|{{{{z{{||z|{|{{||||{{{z|{z{|||{}|||z{z{{{{|||}|}||{z|{{{{{{|{|||||||{{|z{{}{{{{||}{z{{z|zz|}{{{|}|{{{{z{z{{||}{|}{{{{{z{{{|||{|z{zzzzz{{{y{{{{{z{{{zy|{zzz{{{{||||zyzz{zzz{z{z{{{{{{{zzzzz{{||z{{{zz{zzzyy{{{z{|{{zz{zzz{yz{{{z{{{z{{{zzzz{{{{{|{{zzzz{z{|{z{{z{{{{y{zzzzzzz{{{{{{{zzzz|zzzz{|z{zz{{z|yzyzzzy|zz|{{zzzzz{yzz{{z{z|{zzzzyzzz{{{{|{{z{z{{{zxzz{{{{|{{{z{z{{{{{{{{{{|zzzz{z{z{||{{{||zzz{|z{{z{|{|{{|{z{{{z{{{|}|{{|{{{zz{{{z|{|{{{|{{z{{|z{{{|{{|{{{{z{|{{{{{{{|{|{|{{z||z{{{{{}|}|||{z{|{{{{{||{|||{z{{{z{{||{{||||{{zzz|||{{||||||{{|{{{{{z|{}|}}||{{|{z|{{|||{|{{{{{|{{|{{|{||||||{{{{{{{{|||{||{{{{{z{{{{|{{|{|{{{zzz{{{|||||{||{zzzz{{{{z{{|{|zz{zzz{zz{{z|{z|{z{{zz{zyzzz{{z{{z{zzz{z{{{z{{{{{{{z{zz{z{z{{{{|{{z{zzzzy{{{|{z{|zzzzzz{zz{{zy{{{{{z{{zz{|z{zz{{{{{z{y{zyzzz{z{{{{{zzz{{zz{{{z{{{yzzzz{yzz|{{{{{{zzz{zz{z{{|{{{{{zyzz{yzz{z{z{z{z{{zyzzyzz{{{z{{|{zz{zzyz{{{z{|{{{{y{{{z{{{z{{{z{{zz{z{z{|z{z{z|{{{{{zzzz{|{z{{{|{{zz{{{z{||{|{{{{{|yzzz{|{z{{{||{{z{zy{|{{|{{||{{{{{|{{{{|{|{|||{{|z|{{{{{z{|{}|zz{{z{zz{|||}{}{|{z{|z{{{||{{||{{|{{|{|||||{{}}|}z|{{{z|{|{||||||{||z{|z|{|{{z||{{{{{{{||{{||||{|zz{||{{}{|{|{||{{{{{z{{z|z||{{|{{z{z{{z||{{|{|{{{{zzzzz{{}{z{y{zzzzy{zz{{{{|{z{{zzzzzzyz{z{zz{|{zzzzz{z{{zz|{|zz{z{{{z{{{{{zzz{{zzzyzzz|{{|z|z{z{zzzzzzz{z{z{{z{zzzzzzzz{{zz{{zzyzyyzz{{{{{z{{{zzzzzzz{z{z{{z{zzzzzzzzz{z|{|z|{z{{z{{zz{{|{{{{{z{zzyz{zz{{z{z{|z{zzz{{zzzzzz{z|{{zz|{{zz{{{z|{{zz{zz{zzz{{{|{{{zz{{zzyz{{{{{z{{z{{zz{zz{{{z{{{{{zzz{{zz{|{{{{z{{{{{zzyz{z{{{{|{{zz|{zz{|||{{||{{{{|{z{{{{|||{{|{zz{zz{z{|{}{|{}{{{|zz{|{|{{{{|{|{{{{{{z{||||||}{{|{{|{|{||{||||{|z{{{{z{}{|{||{|z{|{||{{{|{|||||z{z{{{|z{{{{|||||z{{{{{{{{||{||{{{{{z{{{|z{|{|{{{{{zz{{{|{|z{||{z{{zyz{{{|{z{{{zzzz{z{zzz|{{{{|{{zz|yzz{{{{{{{|{{zz{{yz{|{z|{zz{{{{zzzy{|{{zz{{z{{z{z{z{{{{{|{{{zzz{z{zzz{{{{z{{z{z{{zy{{zz{{{{z{zzzzzzzz{{z{{{zzzzzzzz{z{|{{{{zz{zz{z{{|{{{{|{{{|zzzzzz|zz|{||z{{y{{zzz{{z{{{{z{z{{zzz{{z{z|{|{zzz{{{z{{{{{{|{zz{z{zzz{{{z{{{|{z{zzz{z{z{{{{|{|z|{zzz{{|{|{|{{|{{{{{{z{|{{|{|{{{{{zzz|{|{||{|{{z{{{{|z|||{z|{{{{{{{{z{{{{{||{|z{zz{{{{|{{{{|||{{{{|zzz{||{{|||{z|z{{{{}||}{||{{{{{||}z|{|||||}|{z{|{{}{}|{}||||{{{zz{{|{||||{{|z{{|{z{||{||{|||z|{|{{||}{}||{|{{{z{zz|{{|z{{{||{{{zzzz{|{{||||{{|z{y{zz|z{{{{{{{zzz{yy{{z{|{{{{z|yzzzz{{z|{{{|{zzz{zzz{z{{{{{{{z{zzyzzz{{{z|{{{z{zzzzyz{{{{|z{z{z{zzzz{{z{{{{{{{{zzyzy{{{{{{{{{zzzzzzyz{zzzz{{yzy{yy{z{{{z{{{zzyzz{{yz{z{z||{{zyzzyyzzzz{{zz{|{zzzzzzyy|z{zzz{zz{zzzzzz{z{||{{{zyz{{zzz{|||z{{zyzyzz{{y{{z{z{|{{{zy{{{{{z{|{||zz{zzzzz{{z{{{{{{yz{zz{{|{{{z{|{{{zz{zzz{{{{||}{{{{{{zzz|||{{|||z{{{z{{z{{{|{|{|zz{z{{{{z{{}{||{{|z{{{{{{|{{{{{||{zzzz{{||||{|||{{{z{{{{||{{|||{{{{z{|{{z||{{{{{{{||z{z{{{{|{{{{|{{{{{{|{{z|{|{{|z{{{zz{||{{||{{{{z{z{{{{{{{{{||{zzzz{{z{|{|{{}z{{{{{z{z{{{{|zz||zzzzz|z{|{|{{{{{zyzzzzzz|{{{{{{z{z{{zzz{zzzz{{{{z{zzy{zz{z{z{{z{zz{yz{yz{z|{{{|{z{zzz{zz{zz|z|{zz{yzyyy{z{y{z{{zzzyzzzzzz{{{{{{z{zzzzzyz{z{zz{{yzzzyzyy{z{zzz{zzzzzyzzyzzz{{z{|zzz{zz{zz{{zyz{{yz{zzyzyz{zz{{|{zyzzz{zz{z{{{|{{{zzyzzzy{{z{zz{{yzzzz{zzz{{{{{z{{z{z|z{z{{{{{|{{{zz{zzzzz{|{{{z{{{{zzz{zz{|{|{{{{zzzzz{z{||z{{{{zzzz{zz{{|{{{||{z{z|||{{{{{{{{|||{{{{z{{{||{{||{{z{{{{{{||{{||||{|{{{{z{{||{{|{|z{{{{{{z{|{|{{|{{z{{{{{{z{{{{||{{{z{{{y{{{{{|{||{{z{{{zz|||{{{{|{zzzzzz{{{{zz|{{z{yzzy{z{{{|{{{{y{|z{yyz{{|{z{z{z{{z{z{yz{{{z{z|{zz{zzzz{{z{{|{|{{zzz{zyz{{{{{{{{y|{zzzy{z{{z{{{{z|{zz{y{{{|{{z|zzzzyyzzz{{{{{zz{z{{zyzz{y|z{|z|zyzzzzzzzz{{zz{{zzzzzyzz{{{zz{{zz{yzyzy{zz{{|{{{z{zzzzzz{{{{{{z|z{{yzy{yz{{{{{{{z{{zzzzyz|{{{z{{{z{{{zzz{z{||{{{{zzzzzzz{{{{{z|{zzzzyz{z{{{{z{|{z{{zz{zz{{|z{|||{z{{{{z{{{z{{||{{z{z{zz{{|{|{{|{{zz|{{{z{{{{{|{||{{{{{|{{|{|||{|{z|z{z{{||{||||{{|{|z{{z{||{{|||{z{z{{z{}||||{}}|{{{{|{{{|||{|||{{{{{{{z{|||||||{{{|{z{{||||{{|}zz{|{z{{{||||{{||{{{|{zz{{{|||||{{{z{z{{{{{{{|{{{|zz{zz{{|{{z|||{z{z{zz{{{|||{|{{{zzzzz{z{{z{{|{{zzyzzzzz{{{{}{|{zz{{{y{z{{{{z{|zzz{yzyzz{|{{{|{|z{{zzzzzzz{{{z{{{zzzzzz{{{y{||zz{zz{yzzz{z{z{{{{{zz{z{zzzz{{{{{{z{zzzzz{|{z{z{zzzzzz{y{|z{{{z{{zzyzz{zzz{{{zz{{z{zzz{zz{{z{{{{{{{{zyzzy{{{{z{z{{zz{z{zz{{{||z|{{zzz{zzz{{{{z{||zz{{zz{{{{{{{|{{{z{y{zz{{{{{||{{|{|{{z{{zz{|{|{{zz{{z{yz|{z|{|}{{zz{{{z|{{{z||z{|zz{{{z{{|||{||{{{{{{{|{{||||{|||z{{{{{z|{||{{|z|{zz{{{{{||||}|{{{|{z{{{z{||{|||{{{{{{{z{}|||||||{||{|z{|{{|{||z}z{z{{||{|{{|||||{{{|{{{z|||{||{{|{zzzz{{{{{|||{{z{z{z{zz{{||||}{z{z|z{{|{{{z{|zzzyzzz{{y{{{{z|{{{yzzzyz{{{|{{{{{{{{zz{z{{zz|{{z{y{zzzzz{{{{{z{zzzyyzyzz|{{{{{{z{{zz{zyzz{z{z{{{zzz{y{z{{z{{z{{zzzzyzzzzyzz{{zz{zyzyyyzy{{zzz{{{zz{zz{zz{{|zz{|{zz{{yzzzzz{{{||{{y{z{zzz|{{z{{{|{{zzyyzzz{z{{{{{z{{zz|{zz|z{||{|zzzzz{{zz{{|{{||zz{zzzzz|{{{{{{{zz{zzz{z{z{{{{{{z{{z{yzzy|{|{|{{z{{z{|zz{{{{{||{zzzzz{zz{|{{{{{|{{{zz{z{z{|{{||{{{{|{z{{{|{|{{|}{z{{{{z{{{|||||{{z{z{{{z||{||{{|{{{{{{{{{|{||||}{{{{z{|z||{|{|||}{{|z|z{{|z|z{{{|z{z{{{z{{|{|{||||{{|{{|{{{{{{{{{y{{zz|z{{{|z|||{{{{zz{{{{{{z{}{{z{z{{z{{{{{z{{{zzzzzy{y{|{{|z||{{{zyz{z{{zz{|{{z{zyy{yy{{z{{{{{{zzz{zz{{z||z{{|{{zzzzzy{{|{z{{zzzyz{{{{{z|zz|{{zy{{zyzz{z{zz{z{zyzzz{yzzzzzz{{{zzzzzzzzz{{zz{{{zzzzz|zzzz{zz{|{z{zzy{{yzz|z{||{{z{{zzzzz{z{y{{{{yzz{{zzy{zz{z{zzz{z{zzz{z|||{{|{zy{{yz{{{{{|{{{{z{zzzzzz{z{{{|{|z{z{zzzz{z{z{{{{z{|{zzz{{||{{{{{{{zzz{{{{|{{z|z|{{{zzz|||{z{{||{{{{zz{z|{{|z}{|{{z{||{{}||||}{}z{{{{{{y}|||{z|{|{z{{{|y||{{|}|{{{|{z|{{|{||{{|||z|{{y{{{|{||{|||{|{}{|{{|||{{|{{{{||{{{{{|{||||{z|{{{y{{{|{{||{{{{z{z{{{{|{|{||{zz{{z{{{{|{{z|{{{zz{zzz{|{{{|{{zzzz{{yz|{|{{{z{z{yyzzzz{{{{{z{{z{{zz{z{{{{{{{{{|z{zzzzz{z|||{{{{|{zzzzyz{{{{{{{zz{zzzyzz{zzz{|{zzzz{zz{z{{z{{z{{zzzz{{y{{zz{{{{z{zzzzzzz{{{{{{{{zz{zzzzzz{|{{{|zz{zzzzzz{|{z|{{z{z{yz{yz{z{{{{|z{zzzyzzz{z{z{z{{zzz{{{z{{{{{{{{|zzz{z{z{{|{{{{{{y{{z{{{|{{{{{{|z{zzz{{{|{{{{|||z{{{{zzz{{{z{{{zz{{{zz{z{{{{|{z{{zy{{{z{|{|z||{|{|{{|{|{{||}||{{z{{{{|{{|{{||||{{|{|z|z{z||{{{{{{{{z{{{{|}|{{{{}||{{{||{|||{{{{||{|{{{|{{|}||||{{{{{{{|{||{|||{|}z{||{{|{||{{|||{{z|{{{z||||{|||{{{{{zz{{|{{{|{{|{{{zz{{{{|{{{||{zz{{{z{{{{{{{{z{z{zzz{yz{{{{{{|zzzz{zzzz{z{z|||z{z{yz{z{{{{|zz{z{z{z{z{z{{{{z{{{{zyzzzz{z{{{{{{{z{z{{{y{|zzz{{|zz{z{{zz{y{{z{{zzzzzzzzzz{z{{z{zzz{z{zzzz{zz{{{yzzyzzzzz{zz|{{|{{z{zzzzzz{{{zz{zyzz{zyz{z{{zz{{{{{{z{yz{yzz{{{z{{{z{{{{zzz{{{|{{{y{{{z{z|{{{{|{{zzzzzz{z{{{{zz{z{z|{{{{zz{|{|||{{z{{z{z{{z{{{{|{{z{zzz{zz{|{z|||{{{{{z{{{|||{{|{{{{{{{z{{{|{{|{|{zz{{{{{{|z}{{{|{{{z{zz{{||{|{|{|{{{{{|z||{{{{||{{{|{z}{z}{{{|||{{z{{|zz{}{|||{|{{|{{}{||{||||{|{z{{{{|z|{{||{|||z{{z|z{||{||{||{{{{{{{z{{{{|{|{|zz{{zzz{{{|||||zzzz{y{{{{{{{{z|zzyzzzzz{{{z{||{zzzzzz{z{z{{{|{|{zyzz{zz{{{{{{|{{zzzzzyzz{z|z{{|zyyzzzzy{z{{{{{{z{{zz{{zz{{z{||{{{zy{{z{{{{zz{z{{zzyzzzzz{{{z{{{|zzzzyzz|{{{{{z{{zzzy{yz|{{{{{|zzz{zyzzy{z{{{{{{zzz{zzyzz{{zz{{{zz{zzy{yz|zz{z{|{zzzz{zzzz{|{z{{{yz{zy{z|{{{zz{|{{zz{zz{{{{z{{z|z{zzz{{y{{{z|{{|{z{{{z{{{|{{|{|{{z{{z{{z{{}z|{{{|zzzzz{z{||{{{{{|z{{z{{{{{{|||||{{{{{z{z{{|{|||z|z{z|{{y|||{{||{|{{z|{{{|{|{||{|{|{{{{{{{|{||{}||z|{{|{{{}||||||{{||{{|{|||{}|||z|z{{z{{{||{|{||{{z{|z{|{|{{|{||{|{z{{zz{{|{|{||{{||{{{z{|{|{{||{{{{{{{z{{|{zz|{zzzzzz{z{z{{z{{z{zzyyyyzzz{z{{z{zzzzzzzy{zzzz{{{zzyyzzyz{{{{zz{{zzzzyzzz{zz{{{z|yyyzz{z{z{z{{{{z{zyzzzz{zz{{yzzz{yzyzzy{yz{{zz{{zyzzzzzy{zz{zz{zzzzzzyy{zz{zzzzzzzzy{zzy{zyzzzz{zzzyyzzyzz{zz{{zzzzzzzzyz{zy{{z{yzzyzyyzzzzz{{|{zzzyzz{zz{{{{z{z{{zzzyyzzz{z|{z|zzzzzzzz{{{{z||{{z{zzz{z{z{{{{{zzzzzzzzz{z{z{z|{{zzzzzzz||{z{{z{{yzyyzzz{{z|{{{{z{zz{z|{{{z{{{{{{|{zz{z{z|{{|{|{{z{z{y{{|{{{|{|{{z{zy{{{{|{{|||{|z{{{z|{{|{{|||{{{{{zz{z|{{{|{|{{z{{{zz{z{|{{|||{z{{{z{{{{z|{{|{z|{zz{z{z{z||{{{{{zzzzzz|{{{{{{{{z{z{yy{{{{{z{zz{zzzzzzxz{zz{{{zyzzzzzzzz{{z{{{zzzzz{z{z{{z{{{{{z{zz{zzzz{{zzzz{{zzyzyzyz{z{y{{zzzyyyzzyz{{zzz{zzzzzzyzzzz{{y{{{zyz{zyyyzzzzzz|{zzyyzyyz{z{zz{z{{zzzyzyzzzz{{zz{{zzzyyzyzz{{{z{{yzyyyzzzzy{zzzz{zzyz{zzzzzz{z{|{zz{{zzzz{{z|zz{{zzzy{zzz{{zz{zz{zyzzzz{{zz|z{{|{yzzyzzzz{z|{{z{{{z{zzyzzz|zzz|{{z{{z{{zyz{{|yz|{{zzzz{zz{{z{{z{z|{zzz{zyz|{z{|{{z{{z{zz{{{{{||{|{{|{zzzz{{{{{{{{|zzzz{{z{||{|{||{z{zz{z{{{{||{|{{{y{|{zz|}|{{||{|z{|zz{{|z{{{{{{{{{{|{zz{|{{{{|{{{z{|y{{||z{{{{}zz{{z{{z{{{{{|}{zz{{zzzzz{{z{z{{z{zz{{yzz{z{{{{{zzzzyz{zz{zz{z|{{{zzzyzzzzz{{{z{zzyzyyyz{z{{{{{{zy{zzzzzzzz{z{z|{zzzzzzz{{{z{zz{zyzzzyyyz{zy{{{zzz{zyzzzz{{yzzzzzzzyzyzzzz{zz{|{zzyyyzyyzzzz|z{zzyzzz{zzzz|yzzzzzzzzyy{z{{zz{z{zzzzzzyzzzzz{z{{{{z|zyzzyz{z{||{{zzzzz{zzzzz{{z{{zyzzzzzzz{{{z{{zzzz{zyyz{{z{{}{{zzzzz{zz{{|z{zz{zzzy{yzyzzz|{{z{yzzz{zzzz{{zz{{{zzz{zzz{{{{{z|z{{{zz|z{z{{{|{{|{zzz{{|z{{{y{|{||{{zzzzzz|{{{{{{{{zzz{{{{|||{zz||{z{z{{z{z|||{||||z{{zz{{{|||{||z{z{{z{z{|{{|z{|{{{{z{{|z{{||{{||z|{zzzzz{{{{||{|{{{z{{z{{{|{||{{{|zzzzzz{{z{|{{{{z{zzyzyz{{zzzz{{zzyzzzzz{{{{{{{{zzzyzyy{zz{{|{{|z{{zzzz{{{{{{{{{z{zyzyz{{z|{{|{{{zzyzzy|z|{{{{|{{{zzzzz{{zzz|{{{z{zzzzz{z{{z|zzzzzzzzyzz|{{zz|{zyyzyyz{z{{{{{|zzz{zzzzzz{y{z{{{z{z{yy{{{{{{z{{{zz{y{{zzzz{z{z{{|zzz{{yz{{z{z{z{z{zy{zzz{{z|{{{{z{zz{zzz{|z{zzz{zz{yzz{{{{z{z|||{z{{zz{{z{{{{{{{|z{z{zz{z{z|{{{z{{{{{zz{{{{{{{{{{{zzzz{{|{{{{||{|z{{{{{{z|{{|{{|{{z{{{{|||{|{|||{{{{{{z{||||{{{{{{zz{z{{{|{|}}|||{z{{{{{|}||||{||zz{{{{{z}}}{{|{|{z{z{{{|||{||||{{{z{{{|{z{||{|{{{{z|{{{||{|{{|{{{{{{{zz{{{{{{||z{{zz{z{||{|{{{{{z{z{zz{{||{{{{z{z{y{zzz{||{{{{{zzzzzzzzzz{z{{{{zz{y{z{{{{z{|{{{{z{z{{zz{z{{z{{z{{|yzzzz{zz{{{{|{zzzy{zz{{zz{{|z{z{yzyz{{{z{z{{{{zzzzzzyzzz{{|z|zzzzz{{z{{z{{{|{{{zzzzzzz{{{|{{{zz{zzz{zz{{zz|{z{{z{{z{zz|zzz{{|z{{z{zyyz{{{|{{{zz{{{zzz{{y{z{|{{y{z{z{{zz{{{|{{z{{z{zzz{|{{{|z|{{{{{zzz{{{{{{{{{zz{zzzzz{|{{||{{{{z{z{{{{{z{||{{zz{{{{{|{|{||{|z{|{{z|z{{{||||{z{z{{||z|{|{{||{{{z{|{zz|{|{|||{|{{|{{z{|}{{||||{z{{{{|{{|{{||{{|||z{{{{|||{{||}|{||{z|{|{||||{|{zz{z{z{|||{|{{||{z{|{z|||||{|||{{{z{{{z{{||{{|{|z{z{z{z{||||{{|{zz{zz{{{|{z|zz{{zzzzz{zzz{{|{|{zzzzyzzzzzz{z|{|{{zzzzyz|{|{{{|z{z|{{zzz{{{{z|{|{zzzzzz{z{z{{{{{zzzzz{yzz{{z|{z{{yzzz{zzyz{z{{zzzz{{zz{{z{zz{{zz{z{zzzz{{||{{z{{{zz{z{{{yz{{z|{{{zz{zzzzz{zzz{z{{zzy{{{zz{{zz{z{z{yy{zz{zzz|z|{|zzz{zzyz|z{{z{|{{zz{{z{z{{|zz{|{{zz{{y{z{{{{|}{|z{z{z{{z{{||{z{{{z{{zz{{{{||||{{{{yz{{z{{|{{{{{{{{{z|{zz|{{{{|{{z{z{{zzz{{||{|||{{|{{{|{{}{}{|||{z{{{{z{{|||{{||{{zz{{zz{||{||||{{z{z||{{|{||{|{|{{{{{{{z|||||||{z|{{z|{{{|{{||||y{|{{z{||{|{||||{|{{z{{||{{{~||z||{{{z{{{||{{||{z{{{{{z{{{{{|{{||{yy{z{{{{{||{{z{zzzz{zy{{{z|{{zzzzzz{zzz{{{{{{z{{zzzzyzz{{{{{{zzz{z{{z{{{{z{{{zzyxzz{zz{{{z{{{{zzyzzz{z|zzz{{z{zy{yzzz{z{{z{{{{zzyzyyyz{zz{{|{yzz{zzzz{{{yz{{zzzzzyyzz{{zy|z|{{y{zzzzyz|zz{{|{{zzzyzzzz{zz{{{{z{zzzzzz|zz{{z{{yyz{{zyz{{{zz{|{{zzyzzyz{{z{z{||zyz{{yzz{{|z{{{{z{zzz{zyz{z{z|{{{|{{{z{{z{{|{{{{{z{{zzzyz{{{{{{|zzz{{{zz|{|{{|z{|{{{{{{{{{||{||{{{{{z|zz{|||{{{{{{z{{{zz{|||||{||{{{|{{z{||{||||{{zzz{||{|{||{|{{{{|z{|{}}|||||||{{z{{{zz|{{{||||{{{z{{||||{|||{{|zz{z{{{{{{{|||{{{zz{z{{|{{{{{{|{{zzz{{{{||{||z{z{z{zzz{{|z|{{{{{zzzyzyz{{{{{{z{yzzzzzzz{{{z|z{{{zzz{zy{z{{{zzz{zzzzz{yz{z{{z||y{zzz{z{z{z{z{y{zz{zyz{z{zzzz{{z|{{zz{yzz{{z{{{|zzy{zzy{{{{zzz{{zyzzyy{yz{y{{{z{zzyzzzzzz{|{{zz{{{zz{{yz{{{{{z{{{{z{zzzzzz{zz{|{{{{yzzz{y{z{z|{|{zzz{|zz{{{{{{{z{zyz{zzzz{z{{{{}{z{zzy{z{{{{|{||z{zzzzzz{{{{{z||{{{zz{zz{{{{||{z{zz{{zz{{{|z{{{{{z{{z{z{{{{{{|{z{{{zz{zz|z{{|}||{|{|z{{{|{{|{|||z{{|y{{z{||{|{|||{{{{{{z|||{{|}{z{zzz{{{{||{|||||z{{z|{||}{|||}{|z{|zz{{{||{||{{|z{zzz{{{|{||{z|{z{{{{{{{{|{{|{|{{{z{{z{{|{{|{||z{{{{{{z{}{{|{|{{{zzz{zz{z{{{{{|zz{{{yzyz{z{z|{{{{zyzzzyz{{{{z{{{zzzzzz{{{{{|{|{zzzyzxzz{z{zz{{{{{zzzyzyz{z{{{{{zzzz{yzz{|{zz{{zzz{{zyyz|{zzz{z{zzzyz{yzzyz{z{z{{zzyzz{zz{{z{{{{zzzyzzyz{z{{zz{z{z{yzyyzz{{{{z|{{{zzzzzyz{zzz{|z{|yzzzzzz|z{{{{|yzzz{zzz{{{{{{{zzzzzz{{{{{{z{||{{z{zzz|zzz{{z{|{zzzzz{z{zz{{{z{|zyz{{{{{z|{{z{z{zz{{zzz{{{{{{{{{zzz{{{{z{{{z{z{zz{{{{{{{{{z{{{|{{{{zz{{z{{{|z||{||{|{{z{{||{{{{{|{z{{{z|{||{{{}|{{z{{|{{{|{|{|}{{{{{{zz{z|{||||||{{{zz|{|{{{{{{z|z{{{z|{|{|{||||{zz{{{z{|{|{||}||zzyz{zz{z|{|{|{{{{zzz{{{{{{{|{{{zzy{zzz{|{{z{y{y{zzz{z{zz{zzz{|zy{{zzzzz{{{z|z{{zzyzzzz{z{zz{{z{z{y{zzzz{z{y{z{{{{yyzyz{{{{{{{{{zy{zzzyz{{zz{{{zzzzzzzz{z{zy{z{zzzyyzyyz{y{zz{{zyzzzzzyz{zz{{|zzzzzyzzzzzz{z{{zzz{zzzyz{{{{z{{{zz{zzzzzzzzzz{zzzzzyyyzzzzz{{z{{{zzyzzzz{{z{zz|{zzzz{zzz{{{{{z|{zz{zzzzz{|{{z{z{{z{zzzz{{z{z{z{{{zzz{y|z{{{{|||{zz{z{{z{zz|{{{||{{zzzzzz{|{{z{{z{{zz{|{zz|{{{||{{z{{z{{zz{{|{||{{{{|{{{z{{||{||||{{z{{{z{}||{{{{{z|{z{||z{{|{{{{{y{{z|{{{|{|{{|||{|{{{{z{{||{||||{{{|z{{{{{{{{||{{{{{{{{||{{{{{{{zzz{z{{{{{|{||{{zzz{z{{z{{{{|{zzz{z{{zz{{zz|z{zzz{yyyzz{zyz{zy{{zzzzyzz{z{z{|{{zzzzyzzz{z{{{{{{zzzzyzyyz{z{yz{zzzzyzz{zzz{{z{{zzzzyzyyyz{{{zzz{{zzy{zyzzz{zzz{{y{zyy{zz{zzz{{{zyyzyyyzyyzzzz{{zzyyzyyyzz{{{zz{{zzzzyyyyz|zz{zy{zzzzzyzzzzzyzzz{yz{xzzz{z{z{{zz{yzyyzzyzzz{{zz{zzyz{zzzzz{{|z{|{zzzzzyzz{{z{z{{{zzzzzzy{z{z{zz||{{zz{yz{z{{{{|z{{{{zzzz{{z{{z|}{{zzzzzz{{z{|{{zz{zzz{zyz{}z{{||zz{{{zzz{{zz|{{{|zz{y|zzz{z{{z{{{{{|{{{{z{}|{{|||{z{z{{{zz{|{{||||z|z{{{z||z{{z||{{{{{z{||{{|||{||z{zz{z{{{{{|{|{|zy{{z{{|{z{zz||{z{zzzz{{{{{{z||{{zz{{zz{zz{|z{{{z|zz{{yz|{|{z{{zyzzzy{zyz{{{z{z{zzz{zz{{{zz{{|{z{zzyzzzzz{{{{{{{zzzyzzyz{y{z{{{{zy{yz{zyz{zy{|{zz{{{zyzz{zz{{{{{yzzzzzy{zz{{{{zzzzzyyzzz{z{z{{{zz{{zzyzz{{zz{{|{yzz{zz{{{z||{{zzzzzzzyz{z{{z{{|yzzzzyzyzzzz{zz{zzzyyzyzzz{zz{{zyy{z{zz{z{{{{{{{{zzzzz{{z{{{{z{z{zzz{zzz|||zz{{{y{{yyyzz{{z|{{z{z{{z{z{{z|{{z{{{zz{zzz{z{{{z|{{{z{z{{z{{{{z{{{{}z{z{{z{{{z{{{|{|{z{{{z{{{{||{{||{{z{z{zzz{|{||{}{{{z{z{{|{{z{|{{{{{z{{{{{{{{{|{{|{{z{{z{{|||{{{}{{{{{{y{|z{|{|{{{zz|{{z{{{{{{{||{|zzz{z{{{||||{|{{zz{{zz{{{|{|||{{{{{{{{{{{|z{||{zzzzz{zz{|z{{{{{zzzz{z{{z{z{{z{z{zz{yzzzz{{{|{|zzzz{z{y{z{{|z{{zzzzzz{zzz{{zz{{{zzzzzzzzz{{{{zz{zzyzzzzz{{{z{{{{{zzzzzz{z{zzzyz{y{z{yz{zzz{z{z{zzzzzzzy{zz|{{|zyzzzzzz{z{|{{z{zzzzzy{zzz{{{{{|{{zzzzyzyz{z{{{{{{zzz{z{zz{{{z{}zz{zz{zyzzzz{{{{{{{yzzz{{{|zzz|{{{z{yzzzzz{{z{z|{zz{zzzzz{{{{z{||{{{{zzz{z|{{z|{{{{z{zzz{{|{{{{|z{zz|zzy{{{z{{||{{z{zzz{{{}{{|{{|{{{zz{{{|{{{{|{|{{z{{{z{{||{{{|{{{{{{{{{{{{|{}{|{{|{{|{{{{{|{}{{|{{{{{{{|||{||{{|{{{{z{{{{|||||{{{{{z{zzz{{{{{{{{{|{{zz{|{{|{|{}{y{{{z{z||{{{{||{{z{z{zz{|{|{{{|{{{yz{{zz{|z{z{||{zzzz{z{{{{|{z{{zzz{{yz{z{{{|{{zzzzz{{{{zz{{|{|{zz{{zzy{{|{{{|{{|yzzz{{{{{{{{{|z{z{zy{z{{{z{{{{{zzzzzzzz{{zzzz{z{{{{yzzzzz{zz|{{z{z{zyy{{{z{|{zzzzyz{yzz{{{{{{{{{{yzzzzzz|{{z{|{zzzzyzy{{zz{{zz{z{yzzzzz{z{{{||{z{{{{{z{{zz{|{|{{z{{{z{{zzzz{||{{{z{zz{{{{{{{{|z{|{y{{{z{{zz||{z{zzzy{zz{{|{{||{{z{{z{{{{{||{{|zzzzz{{zz||{{{||{{z{{{{z{||||}{|z{{{|{{{{|{}{|||{z|{{{{{|{||{{{|{{{|{{{z|||||}||{{{{{||{z{{{{||||{|{{|{z{|||||}|||{{|z{{|||z{|}{|z{{{{z{{{|{{|||||{||{{{{|{||{|{|{zz{{|{{|{{{|||zz{{{{{z{|||{|{|z{z{zzzz{{{{{{|z{zzzy{z{zz{{z|{|z{zyzzy{{{{{{{{{zz{zzzzz{{{z{{|{{z{zzyyz{{|{|{z{{z{zzzzz{{{zz{{|zzzyzzzzz|{{{{{{{{zz{{zz{{{zz{{{zz{z{zzzzz{{z{z|{zzzzzz{zz{z{{{z{zyzz{yzzz{{{|z{zzz{zz{zz{{{{z{{{{zz|zzz{{zzz{|zzzzzzz{y{{zz{zzzzzzzz{zzz|z{z{{{{z{z{z{z{z{{{{{|z{{{z{zzz{{{zz{{{{z|{{{z{{{{z{|{zz{{zy{z{{{|{z{z{zzzzzzz{{||{{|{{zzzzzz{{{|z{|{{{{{z{z{{{||{||}{|z{z{z{{{{{}|||||{z{z{z{{}||||{|{z{{{z{z|{{{|||}|{{{z{{{{zz||||||zz{{{zz{||}|{{|{{{z{y{{|{}{||{{{{{{z{z{|{|{|{|}|{z{{{{{|{{|||||{{|z{{zz{{||{|||{z{z{{z{{z|{{{{{{{{zz{{{|z|{z{||{{zz{{zy{{{{{z|{zz{z{zzz{{{z{{{{{zzzz{z{{{{{{{|{{z{z{zzz{z{}{{{|{{{zzyzy{{z|{{{{{{{zzzy{{{z{{{{z{z{zzy{zz{|z{{|{{{|z{zzzz{zzz{{{{{yzyzzz{{{zz{{zzz{zzzzzzz{{{{{zyz{zyzzz{zz{{{z{zzzzzyz{zzz{z{|{zz{zzzzzz{zz{{}{{{{zzzzy{{zz|||{{z{z{zz{{z{{z{||{{zzzyz{z{{z||{|z{{{zz{zz{{{{||{{{{yzzz{{{{{{|{||z{{{z{z{||{|{||z{z{{{z{{||z{|{{{{{z{{z{{||{{{|{{{{{{zz{|{{|{||}{zz||zzz|{}|{{{{|z{{{{zzz}|{|}||{{|{{{||||{||||{|{z{{{{{|}{|{{|{|z{{|{{{||{|{|||{{{{{{{|{{{|||||{{{{|zz{|{{||{|}{{{{{{{{{{||z{|{{{{z{z{{{{{{{z|{{{{zz{zz{z}{{|{{zzz{{yyzz{|z{{{{|zzyzyyzz{{z{{{|zzzzz{y{z{{{|{{{{zzzzyzzy{|{{{{{{z{zzzzy|{{zz{z{{yyzzz{yz{zzz{zz{{zzzzzzz{{zzz{{{zzzzyyy{{{{zz{z{z{{zz{zz{zz{{{zzzyzz{zz{z{{z{{{{zzzzyz{zz{|{yz{zzzzzzzyzz{{z{{{yzzzzyz{zzyzz{{|{z{{z{y{{z{yz{|{{{z{{zzz{{|{zz{{zzzz{y{zz{z{{{{{zzzy{zy{z{{{z{{{{{zz|y{z{{|{{|{{{y{z{{{z{{|{z{{{zzz{{zy{{{{z||{{{zzy{z{{{{{z|||{{{zz{z{{z||{{z|||z{{{{zz|{|{|||{|z{z{{{{||{{{}|{{{{{{{z|{{{||}|{|z{|{{{{|||{|}|{|{|z{{z{z{}{{{|{{zz{{z{{|{{|{|}|{|z{{{{{||{||{||{{zz{{{z{{{||{||{z{{{zzzz{|{|{{|{zzzzy{zz|{}{|{{zzzzzzzyz{z{{y{zyyz{zyyzzzz{{{{|{{yz{{{yzzz{{{{z{zy{{z{zz{{|{z{z{zzzzzzz{{{zz{{|zzzy{zzz{{{{{{{z{{zyzzzz{z{{{z{zzyyzzzzzzzz{zz{{z{zzzzzyzz{{z{{{zzzzzyyz{zzyz{z{zz{zzyyyz{zz{{{zzyyzzyz{zzzzz{z{{zzzzzyzz{z{{{{z{{yzz{yyz{{|{{|{{zzz{zzzzzz{{z{{{{zzzyy{{{{{{{{|z{{yzzzzzz|z{{|{z{z{{{zzz|z|{{|zzz{z{{zz{||{|{{{{y{zz{z{{{z|{|||{{{{{{{{z{||{|{|{{zz{{zz{{{|{{||{|{{{z{{{||{{{{||y{{{{{{||{|{{{{|{{{|{|{{|{|||||{{z|{|zz{{}{|{||{{{|{{{{{{{|{{|||zz|{|{{|{{|{|||{|zzz{zz{||{{{{{zz{y{z{|z||{|{{{{zzzzz{{{|||{{{{|zzyzzz{{||{|zzzzzz{zy{z{{z{{{z|zzzz{zz{{z{{{{z{{yzz{zz{{zz{{|{{{zzzzzzzz{{yzz{|zzyzzzzyz{z|z{{z{yzzx{z{z{{z{}z{zzzz{zxyz{{yzzyzzzzzzyyzz{yzz{{{yzyz{zzy{{z{z{{zyzyzyyyzzz{zzz{{zz{zyzz{z{{{z{{z{zzy{{zyzz{yzz{{zzzzyzyz{zy{{zzzzz{{z{zz{zz{{{|zzz{zz{zzz|z{zzzzz{zyzyzz{z{zz|||{zzzyzzzy|{{{{|{zzzzzyzz{{{{{{z{{zzzzz{zz{z{z{|{z{{zzyz{z{{{{{|z{z{{z{zz{{{{{z{|z{{zz{|zz{{{{|{|zzz{zzzz{||{|{{{{zyz{y{z{{{|{{||{{{{|{{z{|{{|{}||z|z{z{{{||{|{|{z{{{{z{z{{{{{{|{|{zz{{z{{z{{|{||{{y{|{z{|{{{|{{{{{{{{z{{{|{{{z{{{{z{z{{z{|{|{{{{{z{zz{z{z{{{{z{z{{zzzzzy{{{zz{{|z{yzzyzz{{{{{|{{{zyyzyyyz{{{z{{|zzzyz{zzz{z{z{{zzzzzzyzzz{{zz{z{zzzzz{yzzzzzz{{{zyzzzyz{z|{zyzzz{zyzyzzy{z{{{{z{z{yzzzyzz{{{zzz{{zzzzzzz{{{{|z{{zy{zzzyyz|{{z{|{zzzyzzzyzzzz{{{||zzzzyzzzz{|{zz{zzzyyzzy{{z{z{{z{{yzzy{zyy{z{{z|zzzyzzzz{z{z{{||zzyzyzzzzz{{{{{z{{zzzyzz{{{{{{z|zz{{z{z{z{z{|z{|zz{yyzzz{{{zz{{{{zy{{{{{|{|||{{|{{|{{z{|{}|{{{{{{z{{yyzz||{{{{{{|{{z{zz||}{{{{||{z{{z|{{{{|{|||{{zzz{{{{z|{||{||{{{{z{{{{{|z{{{{{zz{zzy{{{{{|z||{{zz{{{z{||||{{{{z|z{{{{|||{{{|{{{yzzz{zz|{{{{{|zz{z{{{zz{{{zz{z{{zy{zzyz{zzzz{{z{zzyzzy{{zz{z{{zzzzzyzz{zz{{{zzzy{xzzyz{z{{z{{|{zzyy{yy{zz{z{{{{yyzyzzyzz{zzzzz{zzzzyyzz{zzzzzzyyzyxyzz{{z{y{{{yyz{{yyzzzz{{z{zz{yzyzzzz{zzzz{{{zzzyzz{z{{{z{{{{zzzyyzyyz{zz{{|{{zzyyy{z{z{{{{|yzzzzxzyz{zzzz{z{zzyzzzy{{{{|zz|{{zyzyzz{{zzz{{{{zzzzzz{{{{{{{z{z{yy{z{xz{{z|{{zzyzz{zzz{z{{zz{{zz{{zzzz|{{|{{{z{{zzzz{z{{{{z}||z{{zz{{{{{{{{{z{z{|{zzzz{||{{{||{{{{{{z{|||{{{{{{{{{{{|{|{{{{||{{{z{{{z{{|{|{|{{{{{{{{{|||||{{||{yzz{{yz{|{{{{{|{{z{{zz|{{||z{{{{zzzzzz{z{{z{{{{{{z{yz{zz{{{z|{{{zzzyyzz{{|z{{{{zzzzzzzyz{z{{{{zzzxzzyyzz{{|{{{z{{{zzzyzzzz{{||{y{{zzyzzz{z{{{{{{{zzzyzyz{{{{{z{zyzyy{zzz{{{{{{{zy{yzzzz{{{zz{zyzyzyzyyzzy{zzyy{zzzzzzzzz{{{{zzz{zzzzzyz{zz{{z{{yzzzyyzzz{zzzz{{zzzzyzzzzz{{{{{|zzyzyzzyyz{yz{{{{zzzzzz{z{zz{z{{{z{zzzyz|{|zz{{|zzzzyz{{z{z{{{||{yzzzz{y{z|{{{{z{{{zzyzzz{{{||{{zz{z{zzz|z{{{|{{z{yzzz{{{|{{z|{{{{zz{{z{z|{|z||{{{zz{{{{{|z{{|{|{y{{z|{{{{{|{{{||zzzzzyz|{||{{{{{{{{zzz{{{{{{{{{|{{{|z{{{||{{||||{{zzz{z{|{z||{{{{{{{zzzz{|z|{|||{{{{|yz{{{{|{{{{{{zzzzz{{{{{|||{{{{zzzzz{{|{{{{z|{z{{zz{{z{||z|{z{z{y{zy{z{{|{{zzyzzz{y{{{z{z||{{{z{{yyzz{{{z|{{{zzzzz{{z{{zz{|{{zzzy{z{z{{{{{{zz{z{{{zzz{{z{{z{{z{{y{z{{|{{{z{zzzzz{yyzzz|{{{zzzzzzyzzzzzzz{{zz{zzyzz{{{{z{{{{zzzz{zzzz{z{|{|{{{{zzz{z{{z{{{zz{{{zzzzzzz{z|{{{yzzzzzzzz{z{{{{{{zyzyzy{|{zzzz{|{z{{zyzzz{zz|{{{{{z{zzzyz{{{z{{{{{|zzz{{{{|{{{|{z{zz{{z{{z|||{|z{{{{{{{{{|z{|{{{{{{||{{{{{|{{|||{zzz{z{z{|{|{{{{{{{{|{zz{{||||{{{zz{|{y{{||{|{|||z|{{z{{{||{{|||{{{|{|z{{|{{|||||zz{zz|{{||{|||||{{{|{{|{{||{|||{{{z|{z{{{{|{{||{zzzz{z{{z{{|||{z{|{zz{{{|{{{{{{{z{zzx{z{z{{{{z|yzz{zzzz{z{z{zz{{zz{{zz{{{{{{{{|{{zzz{zzzz{zz{{|{zzzzyzyy{{|{|{{{zzzyz{z{zz{{{{|{yzz{{zzz{{{z{{{{z{{zzzzz{z{z{{{zyzzzzzzz{z{y{z{zyzzz{zzzz{{z{{{zz{z{zzz{|{{{|{{{zzyz{zz{zz{{{|{zz{zz{zzz{{zz|{{{zyzzz{zz{z{z|z{{|zyzz{z{{{|{z{{zzzzzz{z{{{|{{{|{zz{zz{{{z|{{{|{zz{zzz{y{{{{{zz|{y{{zzz{{{z|{{|{{zz{y{zz|{|{{{{{|z{{{z|{}{|z{|z{{{{z{z|z{z|||||{{|z{{{z{{{{{{||{z||{{z{z|{{{{{|||{|{z{{{|{|{|{}{{{{zz||{{|{{||{|{z{{{{{{{||{|}|||{|{z{|{{|||||{{|{z||{z{{{{|||{|{{z|{{z{{|||||{{{{{z|zz{{{{{{||{{z{{|zzz{{{|{z{|{{z{zz{z{{{||zz{yyzzzyyyzzzzyz{{zyzzzyzz{zzz{{|{{zzzzzzyz{zyz{z{{zzzzyyyyy{zzz|{zyzzzzzyzzy{z{z{yzyyy{zyzzz{zz{z{yzyzzzyz{z{|{zzzzzyzyzzzzz{y{{{zzyyyyyzyzz{{{zzzzzzz{xyzzz{zzzzzyzzyyyyyz{{zz|z{yzzyyzzyzzz{{{zzzzyyzzyz{yzzzzzyzz{{zyz{z{zyz{{y{yz{zzyzzz{z{z{yzzzyzzz{zz{z{|{z{z{z{zz{zz{{|{{z{y{{z{yzz{{{z{zz{zyzzzz{{z{{z|z{{yz{zzz{z{{z|{{{{{zz|{{{z{|{{||z{{{{z{{|{z{{|{{z{z{zz{{{{|{{{|{{zyz{zzyz{{{{{{z{zyzzz{{{{{z{{{{{{z{|{z{{{|z{{|{{z{{yz{{{{zz{||||z{{z{{{{{{{{{||{z{{{zzz{{{{zz{{z{zz{{z{z|{{{||z{zzzzyz{z{{{z}|{{zzzzzzzz{{z{z{{zz{zyzyzz{z{zz{{{zyzyzzz{{{{z{{zz{z{zzzz{zzzz{y{zz{zy{yz{zz{z{{{{zzzyyzyz{{{z{{{zzzy{{zyzz{zz{{zy{zzzzzzzz{zy{z{zzzyyzyzzyz{zz{zyyzyyz{zzz{{{y|zzzzyzyy{zz{z{{{{zzzzzzzyzzzz{{z{zyzzyyzyzzzz{zyzzzzyzzzzz{yzzzz{{zzzz{zy{{zyz{{{{zzzzy{z{zz{{zz{zzyyzz{zz{{z{|z{{{zyzzzzz{z{{||{zzz{z{zz{{{z{||{zzzzzz|{{{{{{{|{zz{y{yzz{{{{z{{{{{zzz|{zz{{{{||{z{zz{{z{|{|{{|{{{zz{{zz{z||{{{{|{z{{{{zz{{{{{{||{zz{zz{{{{{{|{|{{z{{z|zz{|{{|{|{|{{{z{{z{|{{{|{{{zz{{zz{{|{{{||{{{zzz{{zz{{|{|{{z{{zz{zz{|z{{z{{{{zzy{zyz{{{{z{{zyzz{zz{{{|{{|zzzzyyzzyz{{{zzzz{{yzzyzzz{z{|z{z{zzyyzzzyzzzz{z{{{z{z{yz{zzz{z{{zz{zzyzzz{z{{{{{{yz{yzyzy{yzzzzzzzzzzyyyyzzzzzz{zzzzyzzzyzzyzz{{zzyzy{zzz{yz{{{yy{yzyyzyyzzzyzzzzz{{zzzz{z{z{{z{{{{zyyzzyzyzyy{zz{zzyy{{yyzzzzz{zzzyyyzyy{z{{z{{{z{{zzyzzz{{{{{{{z{|zzz{{z{{{z{{|zyzzzzzyz{{{zz{zzzzyzxzz{{|z{{{{{z{zzzzzz{{z{{{{zzzzzzzz{{|zzz{zzzzzyzzz{{|{|{{{z{{z{{{z|{{|{|||{{zzyz{{y{{{{|{z{{z{zzzz{{{{{{{|z{{zzzz{{{|{||{{|{{{{{zz{||{|{{||z{|z{{{{|{{{{{{{{zzzz{{{|{||{{{{zzz{zz{{{{{{z{{zzzzz{{z{{{{{||{yzzzzy{{|{{{z{{{z{zyzzz{z{{{z{zzzyyzz{zyzz{z{yzzzzyyzyzyyy{{zz{zzzzyyyzyzzzzzz{z{yzy{yyzzzz{z{z|zzzzyzzyzzzzyzz{yyzyyyzy{{zyzyzzzzyzzyzyzzzzz{{zzzzzxyyzzyzzy{{{yzzzyyzyz{zzzz{yzyyyyzyyyzzyzzy{yzyzz{zyzyzzz{{yzzzzzyyzzzzzz{zzyzzyzyzyz{y{y{zzzyzy{zzzz{|zz{{{zzzzzy{zzzz{z{z{{zzzzyzzzz{z{{{{zz{zy{y{{|zzz{{z{{zzzz{zy{y{{{zzzz{yzzzz{{zzzy{{zzzzzz{{{{zzz{{|{zz{|zz{{{{{{{z{y{zz{zzyz{{{{|z{{zzz{zzz{z{||{{{{zzz{z{{{{{z{{{{z{{z{{{z{z|{{|{{|zy{{{{z{{{{z{{z{zzzzz{z{{{{|z||{zzz|zz{z{{|{{||z{zyzz{{{{{z|z|{zz{zzzzzz{|zz{|{{{zzzzzyz{{|{{{zzz{zzz{z{z{{zy{zyzzyzzyyz{zzyz{|zzyzyyyzzzzzz{{{zyyyyy{y{zzz{z{zyzyyyyzzzzzzzzzzzzzzzzyyzzzzzz{{yyzz{zyyy{zzzz{zzzzzzxyzzz{z{zzzyyzzyyxzzy{zzz{{yyyxyzzyyzzz{zzzzz{yyzyyz{z{{zzzzyyzyyyxz|{z{zz{zyzyyyzyzzzzzzzzyzyyzzzxxzyzz{{zyyy{y{xyzzzz{{{zyzzz{y{yz{zzy{z{zz{zyzyzzzzzy{{{zzyzyzyyyz{{y{zzz{zzzyyyz{{{{z{{zzzzz{z{z{z{z{{{{y{z{yy{zz{z{{z{zz{{{zzzzzzz{{{|zzzzzzzz{{z{{|{|{zzz{z{y{z{{{{|{{zz{z{{z{{{{{{{{{{{{z{{z{|{{{{{{{{{zzz{z{{z{|{{{|zzz{y{z{{{{{{{|zzzyyz{{zzz{{{|zz{z{zzzz{{z{{{|{z{{yyzzzz{{|{z|zz{zzz{z{z|z|z{zzzzzzzzyzz{zz{z{zyyzy{yzzzzzyzzzz{zzyyyzyzz{z{{{{zzzyyzyz{zz{z{{yzz{yzzyy{zyz{zzzzyzyyyzyyzz{zz{zzzzzyzzyy{z{z{{zzzyyzyzzz{zzz{zy{zzzyzyyyzzz{z{{yzzzzyzzyzz{yzzzzzyyyzzzzyzxz{{zzzyyyzy{zzzzz{{{zyy{{yyxzzzyy{{y{zyyxyzyyz{zz{{zzyzyzzyyzzyzzz{{{zz{{zzzzz{zz{{{zzzzyyzy{zzzz{{{zy{zzyzzzz{y{zzzy{zzzyyzyzzz{{zz{{zzz{zzz{{zzz{{zyz{zy{y{{{{z{y{yzzzz{zz|{z{z|{|{{z{{z{z{|z{|{{{{{zzyz{z|z{z{{{z{zzz{z{z{{{|{{{|{z{{zzz{zz{{{{{{{zzzz{zzz|{z{{{|{z{z{{z{{{{{{{{{{zyzzzz{{{z{{{{{{zz{zzz{{zz{{|{|zzzzzz{zz{{z{{{z{{{zzzzzy{{{zz|zzyzzzyzzzz{{{|zyyzyyzzyzzzz{yzy{zzyyyzyyzzzzzzz{zzyzzyyy{zz{z{{{yxzyyzyyyy{zzzzzzzzyyyzz{z{zzz{zzzyz{zzxzzzyzzzzzyzzzzyyzz{zz{zyzzzyyyyzzzz{yz{zzyzzyy{yzyzzzz{zzzzzyyzzzz{{zzz{yzzyyyyxzyz{yzzzzzzyyyyz{zzzzzzzzzzzyzzxyzzzz{z{yxzyzyzyzzz{{{{z{z{yzzzz{zyzzyz{zz{zzyzz{zz{z{{{zzz{yzzz{zz{{z{zzz{{zzzzzy{{z{{zzzzzzzzz{{zzz{{zzzzzyzzzz{z{{{{zz{{z{zyy{{{||{{zyz{yzz{{{z|{{{|{{yzzzzz{z{{zz{{{{zz{{zz{{{|z{{{|{zzzz{{{{{z||z{{{{{z{{zzy{{{{{|{{z{{zz{{{{{|{{|{zz{{zzzz|{{{{{{{|zz{zzz{|{|{{z||zzzzz{z{zz{z{{{|{zzzz{zyz{zz{z{z{{zzyzzzz{zyz{z{zzyz{zzzz{{z{{{zzzzzzzyzzyzzz{z{yzzzy{{z{{zz{{{{zyzz{yy{zy|{|{zzzzzyy{zzz{zz{|{{zz{zyyzyyzzz{{{zzzz{zzyz{{zzz|z{zzzzyzyyz{zzz{z{zzyyyy{zz{{zy{{zzzzzzzzzzzzz{{z{zzzyyyzyz{{zy{z{yyy{zyzyy{{z{{z{zzzyzyzyzzzyz{{zz{yzz{zy{zz|z{|{zzz{zzzzzz{yy{{|zzzzy{{{|z{{{z{{zzzzzzzz{{z{zz{{{zzz{y{yz{z{{{z{zz{zzzzz{z{{{|{{zz{xzzzz{zzz{|z{{{z{zzz{z||{{|{{{{{zz{{{{{{{z{{|{zzz{{zz{{{{|{{{{zzzzzzz{|{|z{|{zz{{zz{zz{{{{{|{{{{z{zz{{|||||||{y{{zzz{{z|{|z{{|zz{{{{{{{{{{{|{{{{{zyz{{|{{{{{{{z{z{{zz{{{z{{{{|{z{yz{{z{{{z{{{{{{yzzzz{z{{|{zzzzyyzzzyzz|{z{z{yy{{yyy{zzz{{zz{zzzyzyzzzz{{zz{zzzzyyzyyy{|zz{{{zyzzyyzxzyzyz{zzzyzz{yzzyzzyzzzzzzzzzxzyzz{zy{{zzyzyzzyzzzzzz{y{zzzzyyxzzzzzzzzzzzyyyyyz{yzz{zz{yzyzyzzzzz{|y{z{{zyy{yzxy{zzzzz{zyzzzyz{y{{zz{{zzyzyzzzyz{{zzz{{zyzzzyyzy{{z{{zz{z{zzzzz{z{{z{zzyzzzyzzz{{zzzz{{zyzyzzzz{{z{z{z{zyz{yzzzz||{zz|{zzz{{zz{{|z{{{{{zzz{{zzz{{{{{||{z{zz{z{z{{z{|{{{zzzyz{yy{{{{{|{zzy{z{{{z{|{z{z{|{zz{{{zz{{{{{{{{|z{{z{{y{{||{|{|{{{{{yz{{z{{|||{{yzzzzzzz|{{{{{|{zzz{yz{z{z{{|{{z{zzz{zzz{{z|z|{|{zzzz{y{{{{{{{{{zzzzz{zz{{zz{{zy{zyzzyzx{z{{{{{yzyyyyzy{|{z{{{{zzzz{yzzzzz{{{{|zzy{zzzyzzzzzz{{{zyzzzzy{z{{z{z{zy{{zyzyyzzzy|{{{zzzzzxzz{{zzzz{zyzzyyyzzz{{z{{{zzy{zzzyzy{yzzzzyyyyzyzy{{zzzz{{zzyyyzyzz{zyz{z|{zzzyyzzz{zzyzz|{{zyzzyzzz{zz{{{zzzzzzzz{z{{||{{yzzy{zzzzzzzz{zzzzzzyy{z{{zzz{z|zzzzy{zzz{{z{{|z{zz{zyzy{{{|{|zz{zzzyzzyz{{{zz|z{zzzzz{zy|{|{zzzy{zz{zz{z{z|{||{zzzy{z{z{{{{|{|z{zz{{zyz{|{||z{{}zzz{z{{{|zz|{{|zz{z{{{{{|z{{|{|{{z{{zz{{z{{{{||{{|{z{{z{{|{|{{{zz{z{yyz{{{{{{{|{zzz|{z{{|{{z{{{z{z{z{zz{{{{{{||{{zzz{zz{{z{{{{{zzzzz{zy{|{{{zz{{yzzyyzyz{zyy{zzzzzzyyzy{z{z{z{{zzzyzyyy{z{zz{zzzyzyzzyyzzzzz{{{zzyxyzyyyzzzzz{{yzzyyyzyzzyzz{{zzzyyzyyzzyzzz{zzzzzyyyyyzzy{zzzzyyzyyyyyz{zy{{|yyzyyz{xzzyzyzzzzyzzyyzyyzzz{{{{{zyzyzyyzzzy{z{z{zzyzz{yzyzz{z{z{yyzzzzxyz{zz{z{{zyyzzyzzz{{{z{y|yz{zzyzyzzzzz|{{z{{zzzz{zz{{zz{{z{zzzyzyzzz{zz{{zyzzz{zzzyzzz{{{zyzyyyyzzz{z{|{{zyzzzyzyz{|{||{{zzz{{{z{{{{||{{|{zz{{zzzz{{{zz{{|z{{zzzy{|{z|{{{{zz{{z{z{{{|{{|{|{{z{zzz{{|z{|{|{zzzzzz{{{z{{{{{{z|z{{z{{z{{{{||zzzz|yz{||{z|{{|z{zyz{yzz{{{|{|{{zzzzzzy{{z{{z|yzz{yzyzz|{{{|zzzyz{yyyzzy{z{zz{{zy{yzzyz{zzz|{z{zzxyzzyz{zz{zzz{zyyzyyzzy{z{zz{{yzyyy{yzzz{zz{z{yzzyyz{{zzzzz{{zzzzyzyyyzz{zz{{yzzzyzyxyzzzzzz{{z{zyzyzyzzzzzzz{{yzzyyxzzz{z{z{zzyzzxyy{zzzyz{{zyyyzyyyyz{zzz{{z{yzyzyyyzz{z{{{{x{y{yzxxzzz{z{{{zzzzzyyzz{yzz{zzzyzyzzzy{{{{zz{{yzzz{yz{{|{z{{z{zzzzzyzyz|{{{{{{zzzyy{yzz{{{zz|z{zzzzzyz{z{zzz{{z{zz{{zz|{z{{{|{zz{{z{{{{z|z{{{|zz{{z{y{z|{|z{{|{yzz{yzz{{{z{{||z{zzy{{{{{{z{|{{{z{{zzz{{|{{{{z|{{{zzz{{{{{{{|{{{z{{{{zzz|{{{{{{{zz{{zzz{z{{{z||{zzyzz{z{zzz{||{{{z{zzzzz{{{{{{zz{{zz{{y{zz{zz{zy{yyzzzyz{zyz{{{zzyyyyyzz{zz{{zz{zyyzzyzzzzz{z{zzz{zzzyzy{{zzzz{zzzyzyzyzz{zz{z{zy{yyzzzzzzyz{|z{zzyzyzyzyzzy{z{yzzzyzyzzzy{{{zzzzyzzzzyyz{zzzzz{zzzyzzzz{{y{z{zzyzzy{yzz{{{{{{{zyzyzzzzyzzzz{{zzzzyyzyyyzz{z{z{zzzyzzzy{zzz{{z{{y{zzzyyzz{{zzzzzzzzzyzzzzzzz{zzyzzyzzzz{{zzz{|{z{zz{zzzz{z{z{zzzz{zzzz{z{{z{{|{{zyzz{zzzz{{zzz{z{{{zyzz{{{{{|{|zz{z{{{z{|z{z{|{zy{{zzz{z||{{{|{|zyzz{{{z|{||{|{zz{z{{{{{{{{|{{{{z{zzz{z{{{z{{{{{z{{z{zz|{|z{{{{|y{z{yzzzz{{{||{{zz{zzzz{{{|{|{{{{zzzz{zzz{{|{||y{zzzz{zz{{{z{{{zzzzyzzzz{|zzzzzzyyyzz{zyzy{{zz{zzzyyyzzzzzz{{{{zzyyzyzz{zzz{{{{zzzzyzzzz{|zzzzz{{{yyzyxz{zz{{z{yzzzzzzzz{zzz{zzzyzyyyyzzzzzz{{{{zzyzzyyyyzz{{zzzzyzzzyzzzzzzz{zzzyzyzzzy{zz{z{{{zzzzzyyyzzzy{z{zxzzzyzyy{z{yzz{yzyyzzzyyzzzz{{{zz{yzyyxyzzzz{zzzyzzzyyzzz{{z{|{zyzy{yzyyzz{y{z{zzzzzyzzzz{z{zz{{y{zzzzzzzz{{zzz{zz{{z{zz|{{{{{{zzzzzzz{z{{zz|{{z{z{{yzz|{{{z|{{z{y{{z{z|{{{{{{{zzyyyzzzzz{|{z{z{y{z{{{z{z|{{z|{z{{y{{z{z{|{||{{{z{zzz{{z|{{{{{{{{zzz{z{|{{{{||||zz{yyz{{zzz|{z{z{zzz{zz{{z{||{{zz{zzzz{z{zzy{|{{{{zz{zz{z{{{{{{zyzzzz{y{{{zz{|zzyzzyyzyzzz{zzz{zyzyyzzyyzzzzzz{z{zyyzzz{{zzzz{zzzzyyyyyyzz{{y{z{{zzzzzyzzzzz{zzyyyyzyyyy{{yz{zyzyzyzyyyzyzzyzzz{zyxyzyy{yzzzzz{yyyyzyyyy{zzz{z{yyyzyyyzyzyz{yzzyzzyyyyyyzy{{z{zzzzyzzyyyzzyzzzzzyyyyzyyzzzzzzz{yzzzzyyyyz{z{z{zzzz{yzzyz{zz{|zz{zzzzxzzz{zzzz{{zzzzzzz{zzzz{{{zzzzyzz{zzz{{z{z{{zyyzzzz{z{{{z|{{yzz{zzzzz|zzz{zzyyzzyyzzz{z{{z{y{zzzzzz{{{{{z{{zzz{zz{{{|{z{{{zzzzz{zz{{{z{||{{{z{{zzzz{{z{{{z{{zzzzz{zz|zz{|||{{{zzzz{{{{|z{{zzy{{{zz{{{{{{{{{|zz{{zzz{z{||{z|{z{zzzzz{{{{{{{{{{zzzzzy{z{zzz{zzz{zzzyzz{zzzzz{zyyyzyyyy{zz{zz{zzzyzzzyzyzz{{z{{zxzyzyzzzyzzz{zzzzzzyyyy{{{yyz{zzzyzy{yz{{zz{{zzyyyzyzyy{{{zzzz{z{zyyyyzzzzzzzz{yzzzyyzzzyy{{{yyyyyyzyyzz{zzy{zzyzzyyyzzz{yzyzzzyzyyyyz{{{{zz{{zyyyzzzyyz{zyz{{zzzyzyyz{zyzzzzzzzzzzzyyzzy{zzzzzzzzzyzyzzz{yz|{yzzz{yzz{z{z{{z{yzzyzzzzy{{{{{zzzz{y{z{zzzz{zz{|zzzy{zz{{{|z{z{{{zzzzyzyzz{zz|{zz{z{{z{y{{{{{{{{zzz{{zzy{{{{z{||{zzzzzxz{{{{{|||{zzzzzzz{||zz{|{{{z{z{zz{z{|{z}{{y{{z{z{|{{{{{}|z{{z{zyz{{{|z{{{{zzz{zz{{{z{z{{}{zz{{{{z{{{{|{|{{zz{z{zzz{{{{z|z{{zyzyyyz{{z{{|{zzz{zy{yzy{zzzzyzyzyyzyyz{{z{z{z{zzzzxy{z{z{{{{zzzzzzyyy{z{zz{{|y{zyzyzzz{{{{{{{{{{{yzzyzz{z{zzzyzyyyzzxzzzzzzzz{yzyyzyyz{zzzzzzzzzzyyzzzzz{zzz{y{yzyyzzyzzyy{{z{zyyyyyzzzzy{z{zzzzy{zyyzz{zzz{{{zyzyyzz{zyzzzzzzzzzzzzzzzzzzzzzzyzyzz{zzz{zzz{{zyzz{zzzzzzzz{z|yzzyzzzz{{y{zz{z{z{{yz{zz{|yzzz{{zyyyz{zz{zz||{zzzzzzyzz{{{{{z{{{zyzz{{z{{|{z{{{{zzyzyz{{|{z|{{|{{{{z{{z|{{|z||{{{{z{{z{{{||{{{{{z{z{zz{{|{z{|{{zzzzzz{z{|{{z{{||zzzzz{{z{z|{{|||zz|zz{z{{{{{{{{zzz{z{{z{{{{{{{{{z{{z{{z{{z{z||{zz{zz{zzz{{{z{{|{zzzz{zzz{{{z{|{{zzyzzzzzzz{z{zzzzzyyyzxz{{zzzz{zzzzyzyy{|{zz{zz{yzyyzzyz{z{z{zzzzzzzyzzz{{zz{{z{zzzzyzy{yzzzz{{zzyzyyz{yz{zzz{z{yzyzyz{zyzz{{zzz{{zyyzzzz{zzzz{zzzy{yzyzzyzzzzzz{yyxzzyzzzz{{{|zzyzyzzz{zz{zz{{zzzzyx{zyz{z{|{{z{zzxyyzyzzy{{zz{yzzzyyz{zz{{{|{{yzyzzzy{{{z{{z{z{{yzzz{{zzz{{{{zzzzzzyzzz{|{z{{zyzyzzyzz{yz{{{|zzzyz{z{zzz{{{|{{yzzzzy{{z{{{{z{{z{zyz{zz{|{{|{{zzz{yz{z|{{{{{|{{{z|{zyz{|{{z|{zzzz{{{y{|||{{{{{{{z{{{{z{|z|{{{{{{zzz{{z{|||{|{|{z{{{|z{|zz|{{{{{{z{{zz{{{{{|z{{{{{{{{z{||{{{{{{{zzzz{z{{{{{z|{{z|z{{z{z{{{z{z{zzz{y{zzzz{{{z{zzzzyzzyyyz{{z{y{{zzzzzzyyzzz{z{{{zzzzzzzz{z{zzzz{zzzxzyyzzzy{zzz{z{zyyzzzzzz{{zz{zyyyzzzzz{z{yzyz{zyyzzyzzy{zzz|zzyyzzzyzzzzz{z{{yzzzzzzyy{z{{z{zzz{zyzzzzz{z{z|{z{{yyzzzz{z{zzzz{yzz{yzyy{zyz{{{{zyzyzzyzzz{zzzyyzzzzzzyzzz{z{{{zzzzzy{y{{zzz{{zzzzzzyyzz{{zz{{{{zy{zyzzzz{z{{z{zzz{{z{zz{{{z{{{|z{zzzzzz{{zy{|{{zzzz{zz{{{{z{z{{zz{{{{z{|z|{{|{zz{zzz{z|{{{{{{{{{zzz{zz|{{||zz{{z{z{z{z|{zz{{|{{z{z{z{{{|z{{|{{|{z{zzzz{||{{{|{{{{{zz|z{|{{{{{|{{{{zzzz{{|z|{{{{zz{{{z{{z{}{{z{zzy{zz{zz{|z{||{{zz{{{{{{z{{{{{{{z{z{zz|{z{yzzz{yyzzyzz{x{z{zzz{yyzyyzyzzzzzz{z{{zzy{zyzyyzyzz{{zyzyyyyzz{zz{z{{{yzyyyzyy{zyzyzzzzzyzyy{zzzzzzzzzyzzzyyyzz{zz{zzzyyzzzzzyyz{zzzzzzyyyyyyzzzzzzzzzzzyyzzz{zzzzzz{{yzyyyyyzz{zzz{z{yzyzyzxyzz{zzyzzzzzyyzyyzz{z{z{zzyyzzyzzzz{{{|{zz{zzzzyzz{{z{{{z{yzzyzzzzzyzz{{yz{zy{{zz{z{{z{zzz{{{zzzzz{{{z{zzzzzzyyzzz|{zy{z{z{zzzzz{z{z{{zzzzzzzzzz{{||z{z|z{z{z{{{|{z|z|||yzz{zzzyz{{{|||{{z{{zzz{||z{{{{{z{zzzz{{zz{{{{{{|{zzy{z{z|{{{z{{zzz{{{z{{||{{{{{{zzzzzzz{|zz{z||||z{z{zz{{{{{{{{{{zzzyzy{z{{{{||{zzzzy{yz|{y||{{zzyzyzzy{zz{zy{zzzxyyyzzzz{zzz{zzyzyyxzzzyz{z{{zzzzyyzzzzzzzz{{z{yyyzzxzy{zzzzz|zzzyzyzzzzzy{z{zzyyyyyzxz{yzzz{zzyzyzzyxzzzz{zzyyyyyzyyz{xz{z{zzyzyyzyzyz{zzz{y|zyzyy{xzzzzyz{zyzyyyyzyyyzz{zz{zzzzyz{yyzzzzz{{|zzzyyyzzzzxz{y{{z{zzzzzy{{zzzyz{zzzzzzzzz{zzzzzzzzyyzyzyz{z|{{{zyzzzzzzzzzyz{zzzz{zzzzzyz{zzz{{{{zzy{zyyz|{z{z{{zz{zz{zzzzzz{|{{zzzz{zz{|z{{{{{|{z{{yz{{||z|{{{{{zz{z{yz{|{{{{{{zzz{yzzz{{{{|{{{{z{{z{{{z|zz||{{{zzz{zzz{{{{{z{|zzzzzz{{{{{{{z{z{zzz{zzz|{z{y{{|{zy{{zz{zz{|{{{|zzzzzyz{zz|z{{{{zzzyzzzz{zz{{{{zzzzxyzzyzzz{zzyzyzyzzxyyz{{zzzzzyyzzyxzzzzzzzz{zzzyyyyyy{{zz{{{{zzzyzzzyzz{zzzz{z{zyzzzy{z{yz{{zzyyzzzzyy{yyzzzyzzyyzyyzzyyzzz{zyyyyyxyz{y{yz{z{zyyzzyyzyy{{yzzzyzyzyyzyz{zzzyzzzyyzyyyyzzzz{zz{yzzzyy{yyzz{zzyy{yzyzyzyy{zzz{{z{zzzzyzxzz{zzyzzzzzzyyzyzzzz{zzz{zzyzyzy{z{zz{{{{yzzzyzzzzzzzz{z{yzzzzyzz{y{z{zz{{yyzzyzz{z{{{{z{zy{{z{{z{{z{z{z{zz{{{zzz{{{{{{{zzzz{zz{z{{z{||zzz{zzzzyz{z{{|z{{y|zzzzz{{z{{||{z{zz{{{zz{|z|z{z{z{zzzzzz{z{{||{{z{{zzzzz{{|{z{{{zyzzzzz{{zz{z|{{zzy{zz{{{{|zz{{zzyz{z{z{{{{zz{{{zz{zzz{{zz{{{{{zzzzz{zzz{{zz{yz{zzzzzzyyy{zyz{{zzyzyzyyyz{{z{{{zzzyzyzxyzzz{{zzzyzyyzyyzzz{yyzzzzyyxyzyzzzzy{zzyyyyyyyyyzy{zyzz{zzzzzyyyzzzzzyzzyzyxyyyz{{{zzzzzzzyyyyyy{{zzz{zyyyzyyzyzzzzz{z{{zzyyxyyzzz{zy{{zzzzyyyyyzzyzzzzzyyyzyzxyzzyyzz{zxy{yzzyzzzzzz{zzyzzxyzyzz{{{zz{yyzyyyyyzzzzzz{{yyzzzzyy{z{zz{{|zzyzzyzyzy{{z{zz{{yzzxzzz{{z{z{zzzz{y{z{{zzzz{{z{{zz{zz{z{|{{z{{zzzzzz{z{{{|z{{{{zzzzzzzz|{{zz{{{z{zyzzy{{|z{{||{zzzzz{zz{{{{{{|{{yzz{{zz|{{{{{{{z{zzz{z{{{z{{{zzyy{z{y{{z|{{z{|zzyz{zz{z{{{z|z{zzzz{{z{{|zz{{{{{zzz{yzyz{{{{z{zzzzyzzzzzz{zz{yzzzyzyzzyyyzyy{zzzzyyzzyyzzzz{z{{zyyyyzzy{{z{zzzzzzzyyyyzyz{{{zz{zyzzyzyyyyyzzzz{yyzyyzyyyzzyzzzz{yyyzyyz{zzzzy{{zyy{zyxzzzyz{zz{yyzyyyzyyzzzzzzy{zzyxyyzyzzzz{{zyzyyyzzyyz{zzz{{zyyzzyzyyzz{zz{zzyzzzyzzzzzzz{{{zy{zzyzyyyy{{z{z{zxzzzyyz{{yz{{{zzyyzzzz{zz|zz{{yzzzzyy{yz{yyzz{zzy{zyyz{{{zz{{{{zzyzzzzz{{z{z{zzzyzxyyz{|{zz{|{z{{zzzz{z{z{|{{zy{zzy{zz{{z{z{{{{zy{z|zz{zz{{{{|zyz{{y{z{{{{{{{{y{{zzz{{|{{zz{{{{{yz{zz{z||{{{|||z{zzz{zz|||{|z{{zz{zzz{{{|{{{{{|{z{{yz{{{z{{{{|zzzz{zyy{{{z{{|z{zyzyy{z{{z{z{zz{zzzzzzzzz{{zzz{zzzyzzyxzzz{{zzzzyyyzzzzzz{{zz{{zzyyzzzzzz{z{z{zzzzyzyyyzzz{zzzzzzzxzzyyzzz{yzz{yyzyy{yyz{yyz{{zzyzyxyyzzz{zx{zzz{yyyzyzyzyzz{zzyzyzyyyzzzz{y{{z{yyzyzyyyzzz{z{{yyyzyzyyzzzyzz{|zyyyyyzyzyzz{|{yzyyyyyzzyzyzzzy{zzyzzzyzzzyyz{{z{yyyzyzzzy{zzyz{{zzyzyz{zzzzz{z{zzyyzyyy{{z{zzzzzzzz{zzz{{{{z|zz{zzyxzzzz{|zzz{{zzzyz{zz{y{{{|{{{zzz{zzzzz{|{z{{{zz|zzzzz|{{{{{{{zz{zzyz{{z{{{|{{zzz{{{{{{z{{{{|z{{{zz{{z{|{{|{{|zzz{zz{z||{||{{zzz{{zzz{||z{{z{{zzzzz{{{z{zzzz{zzzz{zy{{zz{|{||zz{zzzz{zzzzz{z{{{zzy{zz{{{{z{{zzzzyzyzzz{{{zzz{zzyzxzyzz{zzyzy|zyyzyyzzyzzz{zzzzyyyzyyyzzzzz{zyzyyyyyyzzyz{{yz{{zzyyzzyzyzz{zz{yyyyyyzxz{{zzzzyyyzzzzzyzz{yyzzzzzyxzzyzyyz{zy{{zzyyyyyxyzyzz{{zzyzxxzxyy{zxzyzzzyyyxzzyz{z{z{z{zzyyzyzz{zzzzzzzzzzyyyyyzzzzzzzzzyyzzyzyzzz{yz{z{{yzzxyzzz{zz{{{yz{zyyyzzzzzzz{{zzyyzzyzzzy{y{{{zz{zzzzyz{zzz{zzzyzyzyyz{z{{z{|{zyz{zzyz{{zz|{{z{zzzzzzzzz{{{{{|zzz{{{zzz{{z{||{{zzzzzzy{|{{z{{zzyyzz{yy||zz{{z|{{zzyzz{z{z{||{{{z{zzzzzz{|{|z{{{z{{zz{z{z{zz{|{{yzz{{zz{{|z|{z{{{{{z{{zzz{{{|||z{{zzzzzz{{{{yz{{{yzzzzzz{y{z{zzzzzzzzyzzz{zz{{zyyyzzyyzz|{zzzz{y{zzzyzz{zyyz{z{zzyyzyyyyzz{z{{{{yyzzyzzyzz{zzz{{z{yyzyzzzzy{zy|{yzyzyzyz{{yz{zzzzyzy{zy{zzzz{{{yzzzyzzzz{z{zzz{yyyzzxzyzzzzz{z{zzzzyzyzzzzz{{{{zyzzzyyyz{{{zz{zzyzyyyyyyyyz{{z{zzzzyyyyzzy{y{{{zyzyzzzz{zzzzz{{yzzyzzzy{{{z{{|{{zzzzyzzzz{{{{{{zzzyyyzy{{{z{zzz{zzzyy{yzzz{{{zz{z{zz{zxzz{y{y{{zz{z{{yz|z|z{{{z{z{{zzz{{{z|{{{{zzzyzz{z{z{{y{{{{yzzyzzzz{{{{{|{{zzzyzzz|z{{{{{{{{zz{yzz{{{{{{{{zzzzzy{z{{|||{{{|{{|z{zz{{{{|{z||{zz{z{zz{z{{z{{{{z{{z{z{{{|{|{{{{zzzzyz{{{{{{{|{{zzzz{zz{{{{{{zzz{zzzyz{{{{zzyzz{zzzyzyz{{{z{|{{{z{zxzzzzyyzz{{zzyyzzzz{zzz{{z{zyzzzzyzy{z{zz{z{zzxy{yyzyz{z{z{zyzzzzzyzzz{{{{zzyyyzyyzz{{yy{z|zyzyzzyzzyz{yzz{zzxyzyzyzzzzz{zzzzzzx{zzzy{zy{z{zyzzyyyzzzzzzz{zyyyzzxyxy{{zzzzz{zzyzyzyxzzyyzzzzzyyzzzy{zz{{zzzzzzz{zzz{{{z{{zzzzzzyy{yzzzz{{z|zy{zzz{yz{{z{{{zzzzz{zzzz{z{{{{{z{|zzzzzz{{{z{{{{zzyzzzzz{|zz{{|{zzzzz{z{{{{{z{{zzzzzz{z{|z{{{{{zy{{zzzzz{{{{z||{zzzy{zz{{{zz{{{{{{y{z{yz{{z{{|{{{{{y{{{{z{{{|{{|z{{zz{{{||{{}{z{x{z{z{z{{{{|zzz{zzz{zz{zzz{z|z{zzzzz{zz{{z{z{{{{zy|zzz{z|{{{{{{{zzy{{zyz{{zz{z{zyyzzx{zzz{xzzz{zzyy{yyyzy{zzz{zzzzyyyyy{zzz{z{zyyzyyzzzyzz{yzz{zyzyyyyyzy{{yy{{yzzzyy{yzzyzz{zzyyz{yzxyy{zyz{zzzyzzzy{zzzz{zzz{yyzyyyzzzzz{{zzzyxyzyxyzyyzzz{zzzyz{yxzyzzzzyz{{zyzyzyyyyzzzzy{{zzzyyyzzy{zzz{zzzzzzyzyyz{z{zz{zyzyzyyzyz{zzzzz{zzzzyzzzzz|{zz{{zyzzzyz{{{{{zzzzzzzzzzzzyz{{{z{|zzzzzzyz{{z{zz{zzyzyzyzz{{zzzz{zyzzzzzz{{z{{{{{zzzz{zz{z{{{{{|||{zzzzzz{{{|zz{{{z{zz{zyz{{{{{{{|{{zz|z{{z{{z|{{{{zyzz{zzz|{||{|{}zzzzz{{z{z|{z{|{yzz{zz{{zz{{{{||{{{{zzz{{z{{{{{zzzzzzzzzz|{|{{{zz{yzy{z{{{zz{z{zyz{zy{yz{{zzzz{yyxy{zzyz{zyz{{z{zzyyyzyzzz{z{{{zzzzzyzxzzzz{{zz{zyyyyzzzzzzzz{zzzzzyyyxzyzz{{z{{yzyyyzyz{zzzzzzzz{yyzyyzzzzzzyzyzzyyyxzz{{{yzzz{yxzyyyyyyzzz{z{zxzyyyyyz{{zzzzzzyzzyzzzzz{yzzzzzyyzyyyyxyzz{zzz{{yyzzzzz{{yzz{zzz{zzzxzzzz{zzzzzzzy{y{y{z{zzz{{zyzzzyzzzyz{{z{{zzzzzyzzz{{{{z{{{{{zyyzyz{z{{|zzz{zzzyyyzz{{{z{{zzzzzyzz|{{zz{zzzzzz{zzz{zz{{|{z{|zz{z{z}zz{{{{zz{zz{{zzz|{z{{{|{yzzz{yzz{{z{z{{y{zyzy{zzz{{z|||{{{z{zzz{{|{||{{|{z{z{yz|{{{{{{{{zzzz{z{z{{{{{{|zzzzzzyz{z{{{|{{zyzzzz{{z{zz{{{{{yyzyzzyy{{|z{{zzz{yyzxz{{zzzz{zy{yyzzyyx{zzzzz{zzzyyyyzz|y{{z{{zzyyyyyyzzzz{{{z{yzyyyzzyz{{y{zzyzyyyyzyzyyzzz{zzzzzzzyyzyyzzzzzyzzyyzyzyzzyz{zzyyzyzyyzzzz{yzzzzzyyzzyyzzyzyzz{yyyyyyxyzz{zzz{{zzyzxyyyzyzzzz{{zyy{zyzyyyzzzz{zzyzzzyyz{zyzz{z{zyyzyyzyzzz{yzzzzyzyzyzyz{yyz{zzzyyzyyy{zzzz{zz{zyzzzzyzyzz{{zzzzyzyzzzyz{{z{|{{{yzyzzzz{{z{zz{{zyzzzyzz{zzzz{y{zz{yzzyyzy{{{||{zz{zzz{{{{{z{{{z{zzzzzz{z{z{{zz{{z{zzzzz|z{{{{{{z{{zzz{{||zz{{{||z{zzzz{z{{{{{{{{z{{{zz{{{z{z{{{zzzzz{yzyz{{z|{{{{zzzz{z{{{zz{|{zzzzzzzyz{z{z{{{{{zyzzzzz{y{{z{{yz{yzz{yy{{zy{zzyzyyzyxyzzzzzy{zzyyzyzzzzyzz{{zzz{yzyyyy{zzyz{{zyzyyxzyyy{zzzz{zzyyyyyzy{z{{y{zz{yyzyzzyz{zyz{zzzyzzzyyzyzzyzzzyzzyxxzyzzzzzyzz{zzyyzyyyzzy{zzzyzzyzyyyzzzyzz{zzzyzyyzyxz{z{{zzyzzzyzzyxzzzyzzzzyyyxzxzzzzzzz|z{zzzyy{yyzzy{z{{zzzyzzzzzyzzz{{z{yzyyyyyyzz{yzzz{yyzzzyzzz{zyz{{{yzyyzyyzz{{{{z{zyyzyzyyyzzz{yz{zyzyzzzzzz{{zz{{zzzzzzzzyzz{{{{{{z{{{yzzz{{z{{{|{{zzzzz{zzz{{{{{{{zzyzzzz||{{|{{z{zzzzzz{{{{{{{{{{{yz{{zzz{{|{z{{{y{zzzzz{zzz{zz{{{z{{{y{z{zz{{z{{zzz{zzz|{{{z{z{zz{yyyyyz{{{z{{{zz{zzyz{z{{{z{{zzz{yzyyy{{{{zzyzzzyyzyzyyyzzzzzzzyyyxyxyzzzzz{z{zzyyyzyyy{z{z{{zzyzzyyyyzzz{yzzzyyyyyyzzyyz{z{zzzyyyyyzyyzzzy{{yzzzyyzyzzy{zzzzzzxzzyxyzzzzzyzzzyyxyxxyyz{yyyzyzyyy{yyyyyzzzyzzzzyzyyyyyz{zzzz{yzyyyyyzxzyyyzzzyzzyzxyyyyzzzz{zzzyzyyyyzz{zzzzzyzzzzyyxzzz{zzzz|zzyyzyzyyy{yz{{{zyyxyyyzzzzzzz{{yzzyzzzyz{zz{{zzzyzz{yzyz|{z{z{{zzzzyyzy{|{zzz{{zyzyzyz{z{{|{{{{zzzzzy{z{z{{{{|{z{yyzzxyzz{{{z{{zz{y{yzz{{zz{{||zz|zzz{yzz{z{{{{{zzzz{zz{{z{{{{{zzz{zzzz|{z|z{{z{zyzzzzz{zy{{{{{{{{zy{{z|{{{{{|zzzzzz{zyzzz{{{z{zyzzzzzz{{z{zzz{zzzzyyzy{z|{zyzzy{xyyyyzyzzzzzz|yy{yzyzzyzzzyzz{zzyzyyyyzzyz{zz{zzzxzzyyzzzzzyz{zyyxyyxyzzz{y{zzzxyyyyyyxy{zz{yyzzxzyzxyyzzyyzyyzyyyyyxy{yyzyzz{xyzyyzzyzz{zz{yzyzyzyyyxzzzyzz{yyyzyyyzzyzz{zzzzyxyyzxzyzzyzy{yyz{yyxyzzyyzyzzzzzyyyzyxxzz{{y{z{zxzyyzyyyyz{yzy{yzzyzxz{zzzzzzz|zyzyyzyzzzzzzzz{zz{zzyzz{zzzz{z{zyzyyzzyzzz{{z|{zyz{zzzzzzzzzzzz{zzzzzz{{{{{{{z|zzzzzyzz|z{{zz{{zzz{zzyy{{{{{{{{zzz{z{zz{|yz{z{z{zyzy{{z{{{zz{{{{{zzy{{zz|{{{z{{|{z{zyzy|z{{{{{{{{zz{z{zz{{{{z{|z{zz{{yy{{{{{{z{{{zy{zyzzzz{z{{{{zzzyzzz{{{{z{z|zy{zyzy{z{z{zzyzzyzzyyzyzyzyz{{{zyyyzzzzzyzzyzz{zzzyz{zyzzzz{z{{zz{zzyyzzzz{z{zz{zzyzyzy{z{zyzz{zzyyzyzzz{zzy{zyz{zyyzyyzz{zzzzyzzzyyyyyzzzzzzz{zyyyyyyyzzz{zzzzzzyyyzzyyzzz{{z{zzzzzyyzyz{z{z{z{z{zyy{yzzzyy{{{zxyzzyzyyzzzz{{{zyzyzzyy{zzzz{zzzyyyzyyzz{z{zzz|zzyzyyz{{z{zz{z{zyzzz{zyz{{z{{{zzyz{zzzzzz{z{{z{zzzzyzyy{{{{z{{{zyzzzzyz{{zzz{{{zyyyz{{{{{{{{{{{{{{zzz{{{{z{{{z{{zz{zzzyzz{z{|||{zzzz{z{zz{{{{{z{{zyzz{zz|z|{||{{yzzzzzzz|{{{{|{zz{zzz|z|{z{{{z|{zzzzzyz{z{{{{{{|{yz|zzz{{{{zz|{z{zyy{zzz|{{z{{|z{zzzz{y{{{{z{{{{zzzzzzy{zzzz{zzyzzzzy{yyzzz{z{{zzzzzzzz{zzyz{{{zzyzyyyzyyzzzz{{zzzyzyzyzzz{zzz{zzzzyzyzz{zzzz{{yzzyyzzyyzzz{z{z{yzzzyyzzzzyy{z{yyzyyyzzzz{z{zy{yzzyzyzyz{{{{zzyzyyzyzx{zzz{{zz{zy{zzyzyz{z{{|{{{zzyzzzyz{zzzzz{zzzzyyyzyyzzzzz{{zzz{yzyz{z{{zz{yxzzzyzz{{z{z{z{zzzzzzyz{{zzz{z{yyz{zzzzyz{z{z{zzzzzzzzzz{z{{{{zzyz{z{zy{{{{z{|z{yzzz{yy{{{{z{{z{zzyzzy{zzz{{{z{z{{z{yzz{zzz{{{{|z{{zzzz|z{z{{|z|zz{zzzz{{{z|{{{z{z{z{{|{||z{|{{{{zzz{zz{|{z{{{|{zz{z{{z{{{|z{{z{zzy{zzz{{z{{|||{z{{zy{{{{{{{{|z{{{y{zz{{{z{|zz{zzz{yzzzz{z{{{{zzz|zzzzyz{{zzzy{zyyyyyzxzzzyzzz{zzyyyyzz{zzz{|{{zyyzyzzzzz{zzz{zzzzzzz{zyzzzy{z{zz{yyyzyz{zyzz{{zyzzzzzzz{zyz{{zzzyyzxyzyz{yzyzzzzzyyzyxyz{{zyzzyzzyyyyx{zz{z{z{yzzzzzxzzz{z{zz{zyyyxzyyyzzz{zz{zzzyzyzyyzzzz{y{z{zyxzyyy{zzy{{{zyzzzyyyz{{zz{zzyy{z{y{yz{zzzzy{zzyyyzzz{{{{{z{zzyzzyyyy{z{yy{{z{y{zzyzz{{{z{{zzzz{zzzzy{z{{z{{z{y{{yzzzzzzzyzz{{{zzzzzzy{{|zz{{y{yz{z|z|{{{{{{zzzyzzzzz{z{{{{z|{z{yz{z{{|{{|{|zyzzzzz{{{{|{{|z{{{zzz{z{z{|{z}{{{z{zzz{z{{{{{z{{{z{zyzz{{zzzzz{{{{zzy{zz|z{{z|z{{zzy{{zzzzz{{{{{|{zzzzzz{{z{zz{z{zyz{zzyzz{y{{zzzyyyzyzyzz{{zzyzyyyyxyzyyzzzzyy{zzyyzyzyz{zyzz{zzzyyyyxyzyzzyzz{yyzxyyyyzzzzzzyzzyyzyyyy{yyzzy{yzzzyzyyyzzzzzzz{zyyxyzyyzzzzzzz{yyyzzyyyzzyz{yzyyzyyyyxyzy{z{zzzyyzzxyzzzzz{yzz{zyzzyzzyyzyzzzz{{yyzzyyyyzyyyzzzzzzzyyzzzzzzyzy{{y{zzyzyzzyzz{z{yzzyyyyzyzz{zzz{zyzyyy{z{zy{zz{{zzzzzyyzyz{{z{zzzzzzyyyyzz{{zz|zzyzzz{yz{zzz{zzzzyzzzzzz{zz{{zz{zyzzzz{z{zz{z{||{yzyzzzz{{|{{z{{zz{z{zy{z|z{{|{{zz{zz{{z{z{|z{|{{yz{z{yzz{{|{{{{{zzz{zzz{{{{z{{{{zzyzzzzzzz{{{{{|z{{|yzz{{{{|{{{zzyyyzzz{{{{zz{|{{zzzzyz{{{{z{z{zzyyyyyz{z{{{zzyyyyzzzzzzz{zzyzzyzzyyyzyzzzy{zzz{zyyyzyzxzyzz|zzzxzzzzyyyyyzyzzz{yzyyyyyzzz{zzzzyyzyzzyzyyzzy{zzyzzyyzzzzzz{yyzzzzyzyzxzzyzz{zz{yyyxzxyyzzzzzz{zzyyyyyzyyz{z{z{yz{yzzyyyy{zzzz{{zyzxyyzxzzzyz{zzzzyyzzyyy{yzyzzzzyyyyyzxzzz{yzyzzyyzzyzzz{{z{zzzzyzzyyyzzzyzz{z|yzyzyyzz{zz{{zy{zy{z{yzy{z{zz{z{{zzyzyyyzzzzyz|zz{yzzyz{zzz{{{{zyzyyyzzzz|{{z{{{yzz{zzz{{{zz|{{{{{zzzyzz|{zz{z|{zyzzzyz{{{{z{{{zyzzzzz{{{{{{z{{{|z{{zzz{z{{{z{{z{zz{zz{z{|{z{{{{{yz{{z{z{{{z{{{{zzyz{{yzzzz{|{z{z{zzzzyzzz{yz{{{z{yzyz{zz{zz{{{{zz|zyzxy{y{z{|zyyzzyyzyyzz{{zz{z{xyzzzyxzzz{zzzzzzxyyzzyzzzzz{zzzzzzyzyzz{yz{{z{zyyzyyyxzz{zzzy{zzzyyzyyz{{yxz{zzyzyyyzyz{yyz{yzzyyyyyxxzzzzz{zzyxyyxyzzzyyyz{zzzyyyyxxyyzyz{zz{zyxyyyyyzzzzz{zzyzyzyyyyzzyzz{zzyzyyyyzxzyzzz{z{zyyzyxzzzzzzz{z|yyzyzyzy{{z{zz{{zyzxzzzyz{{{z{{zzzzzzyyzzzz{{{{{zzzzyzyzyyzzz{{zzz{zzzzzy{zz{z{z{yzzzyzz{{z{zz{{zzzyyzzz{{|{{|z{yzz{{zzz{zy{z{z{zzzzyyyy{{{{{zz{{z{z{yyzz{{{{{|{z{zz{z{{zzzzzz{{{zzzzz{yz{|z{z{|{y{{zzzz{zzz{|{{{yzzzz{y{{zz{{{{{zz{{zzzz{{|z{|zz{yyzzyzzzz{{{{zzyz{{{zyz{z|zz{{zzz{zyyzzzzz{zzyzyzyyyyyyzz{z{zzzyyzyzxyzyzzzzzzzzyzzzzz{zzz{z{zyyzzzzyzzz{zyy{zzyzyyyyyz{zzz{z{yyyzzzzyz{zyzzzyyyzyyxyyzy{yzzzzyyyyyyyzyyyzzz{{zyyyyzzzx{zzyz{yyxzzyyyyzzz{zzzzyxyzxyzzy{yyzz{{{zzyzyyzzzzzzzzzzzyyyxzyyzzzzzyz{yzyzzyzzz{yz{{zzyyzzyzyzz{z{{{zzzzyyzzz{zzzzz{{yyyzyzyzyzzz{zzzzyz{yzyyyzzzy{{y{yyyzzzzzzz{{{{{zzzzzzzzzzz{z{z{zzzyzzyyz{z|{{zzz{zzzzyzzzz{{{{{zzzzz{zy{{zz|{{z{yzzzz{{{|{{{{{{zzzz{z{{zz{{{|{{{yzzz{{zz{|{{{{{{z{{zy{z{z{|{{{{{zz{{z|z{z{y{z{{{zzy{{yz{{{{{z{|zz{zyzzzzz{{z{|{{zz{{yzzzzz{{|z{{zzzzzzzz{zz{{zyzyxyxzyxyzzzz{zzyyzyzxyyzzyz{zz{yzzyyyyyzyzzzzz{zyzzyyyyy{z{yz{zzzyyyyyyzy{zzz{zzyzyyyyyy{zzy{zzzyyyyyzx{yzzzzyzzxyyyyzyyyzzzzz{yyyxyyyyzzyzzzzzzyzyyyyxzy{zzzzzy{zyzyyyzz{{yyzzzyzyyyyyyzyzyzzzyyyyyzzyzzzzz{{{zzyzzyyyyzzz{z{|zyyyzzzyzz{{zzz{zyzzyyzzzz{zz{z{zzyxyzyyyzzzz{zzzzz{zyzzyzz{{z{yyzyzzzyzzyz{{zzzzyyyzyyz{z{zy{z{zzzzzzzzzzz|zz{zzzyzzz{{z{z{zzz{zz{{zyzzz{{z{|z{{zyz{{zyz|{{{{{zzy{y{y{zz{{z|{z{{{zzz{{zz{{{{{{|{z{zzzzz{{{z{{{z{zzyyyzz{{z{{{{|zzyzzzzz{zz{{{z|zzzzzz{zz{|{z{{{{zxzzzzy{zzzzz|zzzzzyzzzzz{zzzzzyyyyyyzyz{zy{zy{yzzyxyzyyzzzzz{zzzxyzyyyzzzy{{{{zy{yx{zzzyzzzzz{zzzyyzzxz{zzy{yzzzzzzzyyyz{zzz{zzzyzzzyzzzzyz{y{zzzyyzyz{zzzzzzzyyyxyyzyyzzzzzzxzzyxyyzz{z{{z{{zzzzyyzyzzzz{yz{zzyyzyyzyzzzyzzzzzyzzzzzxz{zzzzzzyyzyzzzzzz{y{{{zzyyyzzzzz{zzzzzy|yzyyyzzzzy{z{{{yzyyyxyzzzz{{{{zyzz{yyzzyz{{zz{y{zzzzyzyyzzz{{zzzzyzzzzy|{{zzz{{{yz{yxyzzz{{{zzzzzzzz{{zz{{|z|{|zzzzzzyy{{{{{|{zzzzzyz{|{{{zz{|{zzzzzyzzz{z{zyz|{zz{zzzz{{z|zz{{{zzz{zzz{{{z{{|{{yzzzzzyzzz{z||z{zz{zzyyzz{{z{zzz{zzyzyzzz{{{z{{{zzzzzxzzzz|zzz{zy{yzzyyzzzyzy{zzyyxzyzyyzzzzzzzzzzyxyyz{zyz{zz{yyzyyzy{{yzyzzzzyzxyyyyx{zzzzy{{yyzxyyzyyzzzy{zzzyyyzyyyzzzy{zz{yyyyyxyyzy{zz{zzxzyzxyyzyzzzyzyzxzxyyyyxxzzzzyzyyyyyyzxzzy{yzz{zyzzyxyyyzzyzzz{zzyyzzyzxzyzzyzzz{yzyzzyyzzyzzzy{zyyzzxzxzz{zz{z{zzyyyyzzzzzzzz{{yyyyzyzz{z{{zz{{yyyyyzzzzzzz{{{{zzzyyzzz{{{{y|zzzyzzyzzy{{zyz{{{zzyzzzyzzzz{zz{{yzyzzzy{zzz{{{zz{yyyzz{zzzz{z|z{zyz{zzzz{{{{{{zzzzzzzzzz{{{z|{{{{zzzz{z{z{y{{{z{z{zzyzz{z|{z|z||{yzzzzzzzzzz{{{zzy{zzzy{z{zzz{{{{zzz{zzz{zz{{{{{z{zzzyzzz{{{z{{z{{zzzy{zzzz{z{zzzzzzzyzzzz{zz{zxyzzyyzyzzzzzyy{zyzyzyyyyzzzz{zzzzyyyzyyyzyz{{{{{zyzyyzxyzyz{zxz{zzzzyzxyzzzz{yzzzyzyyyyyz{z{zz{{zzzyyyzyyz{zzzzyzzzyyzzzzzzyzzz{zzzzyyzyyzzzzy{z{yzyzzzyzzyzzz{zzzyzyzzzzz{z{z{zzyyyzyzzy{yyzzz{{yyyzyzyzzzzyzzzzzyzzzzyzz{{zzzzyzzyyyzzzyyzzzzzzyzzzy{yzyy{zz{|zzzzzyzz{{{{{z{{yzzy{yy{zz{{z{{{zy{zzzxyzz{z{{|z{y{yzzz{zz{yzzz{zy{zz{{zz{{z{{{{z{y{{yzz{{{{z{{{zz{y{{zz{{{{{{{z{zz{zzyz{{{{z{{|{z{zzz{{z{{z{{{{|{|zzzz{z|{{z|{|zzz{zzyz{{zz{{{{{z{{zz{zz{z{{z{{{z{zzz{{z{z|{z{{zzzzzyzzz{{z{{{{z{zzzzzyzzzzz{|{zyzzzx{zz{zz{zzzzyxyzzzxzy{zyzzzyyyzzxyzz{zz{z{{zyzyzyyz{yzzy{{yzzzzxy{zz{zzyzzzzzzywy{yzzzzy{zzyzzyyzzyyzyyz{{z{yzzzyyyz{zzzzzzzyxyyyzyzzzzzyy{zzzyyzzzz{yyyzzzyyzyzyxyzzzyy{|{yzzyyyyzzzyzyzzzzyyyyyyzzz{zz{{{zzyzzyyyyz{zz{yzyzzyzyzyyzz{zz{yzyzzzyzy{zzzz{{{zyyzzzzzzzzz{zzzzyzzyzzyzz{{{{{{zzzzzyzzy{{z{{zz{z{z{zzyz{zz{z{{zzz{zzyz{z{|zz|zzzzzzzzz{z{{{z{zzyzyyz{{{{z{z{|{{zzz{yzz{zzz{zz{{y{{{yyy||{z{{{{y{zyzzzzz{z{{{{|{{{zzzyzz}{{{{zz{zz{zz{{{{{{{{{z{zzzz{{{{{{zz|||{z{z{zzz{z{{{{z{zzyz{zzz{{{{z{{zz{{{zyzyz{{{{z{zzzzyzzyzz{zz{zzzzyyzzzzyzzzzzy{{zyyzzyzzzzzzz{zzzyyyyyyz{zz{{{zzyyyzyzzy{z{zzz{{{zzyzzyxzzzzyzzzz{zxzyzyz{zzz|zyyyzzyzzzyzyzy{{yzyzyyyyzzyz{yzzzzyzyzzyzy{z{{yzyyyyzy{yyyyzzz{zzzzzyyzzyz{y{zz{zzzyyzyzyzz{zzzyzyzz{yyyyzzz{y{{{zzzzz{yzz{z{zz{zzzyy{yz{zz{zz{{{yyyzzzzz{z{{zz{{zzzzzyzyzz{{{{{{z{zyzyzzyz{{{{{zzz{zyyzy{|{zz{|zzzz{zzyz{{zz{{{zz{zzy{{z{{{{zz{{zy{yyzzz{{{{z{{|zzzzzz{z{z|{{z||{zzz{z{z|{{zz{{{{z{zz{{{z|{z{z{{{zzzzzz{z|{{{{{{z{{zyy{y{{|{zz|{{yz{{zzz{z{{y{|||{{{zzzz{z{{{|{{{{zzzy{z{zz{zz{z{zzzzzzyz{{{{z{zzzzzzyz{{{{zzyyzyyzyyzzxzzzyyzzzzzyyzyyyyzyzyyzzzyyyyyyyzz{z{{{zzyyyyyyyy{zzyzz{zzyyyyzxzy{yzzzzyzzzyyzwzzzyzzyzyyzyyyyyyzzzx{zzyzyyxzyyzzzzzzzzyyyyzyyyyzzzzzzzzzyyxyyyyzzz{zyzzzzyyyxyzyzzyz{{yxyyyyyzzz{yyy{zyzyyyyyxyzzzz{zzyzzzzzyyyyzzz{zzzzxyyyxyzzzzz{yzyyzzyyzzzyzzyzyzzzyyyyzzzzzzyzz{zzzyzyzzzzzy{{{z{zyzxyxy{zz{z{zzy{xyyyzzz{{zzzzzzzzzzyyyzz{{zzz{{yzzzzzyzzy{zz{zzzzzzzyzzz{{{{{zzyzzy{{y{{zzz{{zzyzzz|zzzz{zz{{{zzyzzzzz{{{{z{{z|{zzzzzz{{{{|{{{zy{yzy{{z{{{{{z{{zz{zzz{{{z|z{|{yzzxzyzy{{{{z{{zzzyzxzzzz{z{{{{zz{zxyzyyzyz{{zz{yzz{yzyyyzz{z{z{yyzyyzyyzzzz{z{zyyyzzzyyzyzzz{{zzxyzyyyzzz{{yz{{yyzxyyyyzyzzz{{zyzzyyzyyy{zzy{zzzzzy{yyzzzzzzzzzzyzxyzxzzyzzzz{zzyyzyyzyyzzzzz{zzyyzzzyxzzzzzzzyyyyyyyyxyzzzz{{zzzyzyyxzz{zzzzzyzyyxzzzyzzyzz{{zzyzyz{xzzzzzzzzzzzyzzzyzzzzzz{{zzzzyyy{z{zz{{{zzzzyzzyzz{z{z{{z{zzzzzzzzz{|z{{zz{zzyzzyy{zz{zz{{{zzzyzzzz{y{z{{zyzzzz{{yz{{{zz{{zy{{zz{z{{{{z{|{zzzzzy{z{||{zzzzzyzzzz{zz{z{{{z{zzzz{z{zz|{{{{{{zzyzz{{{{|zz{{{{|z{zzz{{{{{{zz{{zzzzzzz{{{{|z{{{zz|zzz{z|z{{{z{{z{{zyy{z{{{{{{{{{z{zzzzy{{{{zz{|zz{yy{{zz{z{yzzyzyzzyyyyxzzzyzzzzxy{zyyyyzyz{zzzyzzyyzzx{zz{zzzyyyyyzyyyzyzzzyzyyyyyyxyxyz{yzzz{yyzyyyzyzzzzz{{zzwyzzyyxyz{yy{{{yzzyyyzzzzz{zzyzyyzzyzyyyzzyyzzzzzzyyyyxyzz{zzz{zyzyxzyyyyzzzzzzyyyyzzzxyzyzzzz{xzyyyyyyyzz{zz{{xyyxyyyzzzyzzz|zyyyyyyyyz{{zyzzzyzzzyyyyy{{zz|{{zzzzzzzzzzzy{y{{zzzyyzzyzyz{zzzzz{zyyzyzyy{zz{{z{yzzzyz{zzzzzz{{{zyzz{yy{{z{z{{{zzzy{yzz{zzzzz{zzyzzzzyyz{z{{z{zzxzx{zzyz{zz{{{{zzz{{zzz{zzzz{z{{yzzyzzzy{{{{{{{|zzzzzyz{{z{{{{z{zzzzz{y{zzz{zzzzz{zz{zzz|{z|yzzzzzyzzz{yx{z{{{|zyzyy{xyzzz{zz{yyyyzyzzyzz{zzzyyzyyyyzzyzyzyzzyzyyyzyyyzzy{yzzzzzyyxyzzyzzz{zzzzyyzyyyyyyzzzyzzzzyyyyyyyyyzzzz{yyyyxyyyyzyzyyzyzzzyxzyyzzz{zzzzzzyyyxyxyyzzyzy{zyzyxyxyyzzzyzyzzyyyyyzyyzzzz{zzzz{y{yzyyyzy{yy{{zyyxyyyxyyzzzzy{yyyyyyyyyzyzz{zzzzyyzzyyzzz{yzzzyyyyyyzyy{yzzzz{zy{yzyyz{zyzz{{{zyzyyyzyzz{zz{{zyyzyzyzzz{z{zzzzzz{yzzyzzz{{zz{zzzyyzzyyzz|zz{zzxzy{{zyzzzzz{z|zzzzyzzzyzzzz{z{z{yyyzzzyyz{{{{{{{yzzzzzz{{zzz{{{zzzyyzzyz{{{z{{{{zzzzzyzy{{{{{z{{yzzzzzz{z{z{z{zyz{yzzzz{{zz{z{|{zzzyzz{{{zzzz{{{{zzyzzyzzzzzz{zzzz{zzyyz{z{{{y{yz{yyyyyzzzzzzzzyzyyyxyyy{{yzyzz{yzyyyzyzyzzzz{zzzyzzzzzzzzz{zzzzzyzyyzyzz{zzzyzzzy{zyyyzzz{zzz{zzzyyyxyzz{z{zyz|zzyyxyzzzzzzzzzyzzxyzyxzzzzzy{zzzyxxzzyy{zyzz{{yyyzyyyyzzzz{{zzyyyyyzyyzzzzyyzyzyyzyyyzyzyzzzzzyzzyzyzzy{yyz{yzzzyxz{yyz{|zzyz{yzzzyyzyz{zzzz{zzzy{yzzzzzz{z{{{zz{{yzzz{zzz{z{{zzyzzyyyy{{{{{z{yzzyyyzyz{zz{z{{{yzzyzyzz{{z{{{{zzzzzyzzzzzzz|z{y{zz{z{{zzz{zz{{{zyzzyzy{|{zzz|z{yz{zzzz{|{z{z{{zz{zzy{zz{z{{{{{{zzzzzzyz{zz{z|{zz{zzzz{y{y|zz{|zyy{{{z{{z{{{zzzzzzy{zzz{|{{z{{{zzzzzzz{{z{|z{{|zzyzyzzyzz{z{{{zyy{zyzyzzyz{{zzzzyzyzzyzzz|yyzyzyzyyyzyyzz{{z{{{zzyzyyzyzz{{{z{zyyzyzzyyy{zzyzzzzyzyyyzyyzzzz{z{zzyzxxyyzzyzzzzzzyzzzyyyzyzzzyzzyxzzyzyyyzz{yzzzxyyxxyyzzzyzzzyzzzzyzzyzzyzy{z{zzzzyyzzzzzzzyzzzzyyzyyzzyzzzz{{zyzyzzyzyy{zzyzzyzyzyzzyyzzyzyzz{{zyy{{zzzz{zzyz{zyzzzyzy{zyyz{{{yyyyyyzzzzyzz{{{|zzzzz{zz{{zzzz{zyzzzzyyzzzz{y{z{z{zzyyzz{{{z{z{zyzzzzyzz{{{{{{{xzzy{z{z{{{{{z{{zzz{yyzzz{{{{z{zzzzz{zyzz|{{{{{zzz{zzzz{z{{{{{{{zzzzy{{zy{||{z|{{{zzzyz{zz{|z|{|{z{zzzzzz{{|{{{{{{z{{zz{zzz{zz{{yzyyzzzz{{{{{z{{{zzzzzzy{zzz{{z{z{zzzzzzzzz{zzzzyzyyyxzyzzzzz{zz{zzyzyyy{{{zz{z{zyzyyyy{zzzy{{{zzxzzzxyyyzyyzzzzzzyxzyyzyzz{zzzzzyyyyyyy{zzyzzzzyyzzyyyyzzzzzzzyzzyxxzzyzyyzzzzzyyyzyyyzzzyzyyz{zzzyzyzzzyyy{yzzyzyyyyzyyzzzzx{zxyyzyyyyyzzyzzz{zzyyzzyzxzzzy{{{yyzzzzzyzzzz{z{{zyyyzzyyzz{zzzy{zyzyzxyzz{z{{{{{zy{yy{zzzz{z{{{zzzzzyyzzy{zz{{{zzzzyzyzyzzzz{zzzzzyzzzzzz{y{zz{{zzyz{z{z|{{{{{z{zz{zzz{zz{{z|z{{zzzzz{y{{z{z{{|{{zy{{yzy{{zz{{{{zzyzzzzzz{{z{{z{{zzzzzzzy{{|z|||z{zyzzzyzz{{zz{z{yzzzzzz|{{zz{{{{{z{{zz{{{{{{z{|{z{yzzzzzzz{{{z{{zzzy{zyzz{{zz|{yyzyyzyzz{z{zzzzzzxyyzyyy{zzzzzzzzy{zxzzzzz{z|{{zzyyzzzyzyzz{{{{zyyzzz{yzyz{zzz{zzzzy{zyzzzzz{z{yzzzzyzyyz{zyzzzzzzyyxyyzz{yyz{zyyzxyyyzyzy{zz{{yzyyzyyyyyzz|{{{yzzxyyyxzz{zz{z{zyzzyzyyyz{zy{{z{yzzyzzyyzzyyzz{zyzzyyyzyzyy{{{zzzzyzzyzyzzzz{{zzzyz{xyzyzz{{zz{z{zzyyy{zzzzzz{{zzzzzyzzz{{z{y{z{yzzyzzyzzzzz{zz{zzy{yyyzzz{{{|z{zzyyzyzz|{zzzz{{zzzzzy{{{{{zzz{zzzyzy{{{z{{{|{z{z{{zzyzzz{{{{{{zzzzzz{z{{{{{{z|yzz{{yzzz{{{{|{{|yz{z{zzz||{{}{{{zz{{{{z{{{{z||{{zzz{{yzzzz{{|{|{{zz{{zz{{z{{|{|z{zy{z{zz{zzy{|{{zzzz{yyzzz{{zz{zzzzyyyy{zz{z{z{xzyzzy{yzzzzz{z{yzzzyyxyzzzzyz{{zzyzzzzyzy{z{{{{yyzyyzzzzzy{{zzzzzyyyzzyyz{zzzzzzzzyyyzyzyzzy{yzyzzyyyyyzyzzzz{yzzzyyyzxz{zyzy{zzyzzyxzyzzyzyzzzyzyyzzy{yyzzzzzzyzyyyzyyyzzzzzzzxyyzzxzz{zzy{zzzzzzzzzzyy{zzzzz{yzzyzyzyyzzzz{zzzzyzzyyz{z{zz{{|zzzzyyzz{{zyz{{{yzzyzzzzz{zzz{zzzyz{zzzzz{{{zz{zzzzzzzyy{{{yzz{{zzxzzzyz{{zyy{z{zz{zzz{zz{{|z{{{z{zzzzyz{{z{{{{{zzzzzzzy{{|{z{|zzyzzzzzz{{{{{|{zzzzyyz{z{{{{z|{{{z{{zzzz|{{{{{{{{{{zzz{z{{{{z|{z{{{z{{z{{z{{{{y{{{{z{z{{zzz{z{{{{zzy{yzz{{{{{{|z{z{z{yyz{||{zz{zzz{yyzzyzzzz{zzzzzxzxyzzyzyyzzzzzyzzyxyyzzyy{zzzzzyyzyyyzyyyzzzz{yyyyyyyzzzzzzzzzzyyyzyyzzyzzzy{zyzyxyyyzzzzy{z{yy{zzyxyyy{{z{zzzyyyzzzyzz{zzzzzyyyyyyyyyzzzyzzzzyxyxyyzyyzzz{zyzyzyyxx{zzyzzzzyzyyzzyzxyyzyzzyzzyyyyyzxzzyzzzzzzyzzyzzzzzzz{y{zyzyyyyyyyzzzzzz{yyyyyyyyzzzz{{zzyzzzyyzzzz{z{zzz{xzy{y{zz{z{z{zzzzzy{zzyy{zzzzz{{yz{zzzzzy{yyz{{zyyyzzyzzzz{{|{zyzzy{zzz{zz{{zz{zzzzzyzyzz{{|zzz{zzzyzyz{z{{z{{z{zyzzzzz{{z{z|{z{yyyzzz{{|z{z{{{zyz{zzzy{{{{{|{z{yzyzz{{zzzzz{z|zzzz{yyzzz{{z|{{{{zzzzzzz{{{{{{{zz{{yzyz{zzzz{{yzzzyzx{yz{{zz{{zzyzyyyyxzyzyyzyzyyzzyxzyyzzz{zyzzzzzyyyz{zzy{zzyzyyyyyzy{z{yyyzzzyyzyxzyzzzzzzyzzyzxyyyxzz{yzzzz|yyyyzzy{z{zyzzzyxzzyyyzz{zzyz{{yzzxyzyyzyzyzzzzyzzyyzxzzzzzzz{zzzyyyzzzy{yy{zzyyzzzzyyyyzyzyzz{zyyyyyzyzzzyzz{{yzzzzzyyyzz{{zzzzzzzzyyzyz{zzzz{y{yyyzzyzzzzy{z|yzzyyzyyz{zy{{z{zzzyzzyyy|{zzzzzz{yzyzzz{{{yyy{{zzzzzxzyzzzzz{zz{zz{zz{y{{z{z{{{yzzzzy{y{|z{y|{{{z{zzzyy{{z{{z{z{yzz{zzy|{{zz{{{zzzzyzz{z{{{{{{{|y{zz{{{z{z{{|{{zzz{{zzzz{{{{z{{{zyzzz{zzz{z{{{{{yy{zy{z{{{{{{{|z{zyyzyz{{zz|zz{{zyzzzzzyzz|zz{{yzzzyzzz{zz{z{zzzzyzyyyzyz{zzzzzzzzyzxyyyzzyz{z{yyyzzzyzzyyzz{{z{yyyzzzyzyyzyzyzyzyy{y|yyy{{{{zzzyyzyyyzyyzzyyzzzyyzyzyyzy{yz{yzyzyyxyyyzy{{yzzzyyyyyyyxz{zyyy{zyyyyxzyzzzzz{y{zzzyzzzyzyzz{{yzzzzz{yyzzyzzyz{z{{yyyyyyxyzzzz{zzzzzzyzyyzz{{zyz{zyzzzyyzz{zzyzzzzyzzzyzzzzyzz{zzyyzyyzyzyz{zz{yzzyyyzzyy{zz{z{zzzzzzzyzyz{{zzz|zzzyyyzzzy{zzzz|{{zzzyy{zz{zzzz{{z{zzzzzy{zz{zz{{zzzzyzzz{z{{{z{{zyz{{zz{{{z{||z|zzzzzz{{{|z{{{{{{{{z{z{zz|z{{{{{{zzzzzzz{{{{z{z{{z{z{{zyzz{{z{{|{zzzzyzz{{z{{z{|{zzxzzzzzzzz{||{{zzzzzyzyzzz{zzyzxyzzyzyzz{zzzyyyyzzzyxyzzzzzzz{zyxyyxzyyyzzzzz{zyyyyzzzyx{zz{{zzyyzyyzyzzyzz{zyzzzyxyyyzzzzzzz{{yyyyyzyyyzzyz{yzzxyyyyyyyzzzzzzyyzzyyyyzyyzyzzzzyyyzyzxyyzzzz{yzyzyxyyzyyzz{zzyzzzzyzzxzzzyzy{zzyzzzxyyzzzzzz{{yzyxxyyyzzzyzzyzzz{yzyyyzzzzz{yzzzyzzyyzzzzzyyz{zyyzzzyyzzzz{zzzxzzyxzzyyzzzzz{zzzzyzyzyy{zzz{zyzzzy{yyyzzzyz{{{{zyyzzzzz{yzzzzz{zyyyzy{{{z{{{z{{zzzyy{yz{{{{z{{{z{{zyyzz{z{zz{{{zzzzyz{z{{z{z{|{zzzyzzyzz{z{{{{{zzzz{z{z{{{z{{zzy{zzzzz{zzz{{z{|yzzzyzzzz{{z{z{{zzzzyzzzz{|y|{{zyzyz{z{z{z{{{z{zyyzyzzzzzz{yzzzz{zzyzyzzzzzzyyy{zyyyyyxzzz{zzy{yyyyxxzy{zzzz{zzzyzzyyzy{zzyzz{{yxyzxyyzzzzzyyzzzyyzxxzxzzzzyzzzyzzyzyyzzzzzyz{yzyyyyxyyyzzyyzzzyzyyyyyyzyzyyzzyzyyyyyzyzzyzyyzyzyzzxyyyzyyzzzyzzzz{yzyyyz{zz{zzzyzzzyyxzzzzzyzzzyzyyz{zyyzyz{zzzzyzyyzz{zzzzy{{zzyyyyyyz{zzzz{zyzyyyyzyyz{z|{zzzzyyyzyzzyzzzzz{{zzzzyyy{{z{zzz{z{yxzyyyz{{z{z{|zyyyyyzzz{zzz{y{zzyy{zyzzz{{{{z{yzyzzzzzzzzz{{{{zyzzyzzz{{{{z{{z{zzzz{zx{{{{{{z{z{zzy{z{yzzz{z{{{zzzzzz{zzz{{{|{zz{{zzyzz{{z{z{{zzzzzzy{z{zz{{{||zzzzzzzzz{{|{{zyzzyzzzzz{zzz{{zz{yzyyzzzz{zzzz{zzzyzzzzz{{zyzyzzzxxzyyyzxzyyyzzyzzyyxxyzzzzzzzzzzzzyyyyzzyzz{{yzzyyyyyzyzyzzzzzyyyyyyxyz{z{zzzzxyyyzyzyyyzzyyzyzzyyyyzyyzzzz{yzzzzxyyzyzzxyyzzzyyyyyyyxzyy{yzzzyyyzyyyyzyzxzzzzzyyyyzyxyyzzzzzzzyyzzyzxyyyyyz{{zyzxzzzyyzyzzzy{zyzzzyzyzyzzzzzzzyzxyxyyzzz{yzzzyyzzyyxyzzzyzyyzyyzyyyyyzyzy{zzyzzyyyxyzy{zyzzzzzyzzyyzxzzzzzz|zzyzzy{zzzz{zzzzzzy{yyzzy{z{{z{y{zyzzy{{zz{z{{zz{zyzzzzy{z{{zzz{zz{zz{zzy{|zzz{|zzzzzz{{zx{{{{{{zzzy{zzzzy{|{{{{{{yzzzzzz{z{{|{{z{zzyyy{{zzz{{{z{z{zzzz{zzzzz{z{{zyyyyxzy{zzz{z{{z{zzyyyyz{zzz{z{yzyzzyyyzzzyz{zzzyyyzyyxzz{y{yzzzyyyzyyyzyzzyz{zyzyyyyzyzzzzzzzzzzyzyzzxzzzzzzz{zzyyyzzy{yz{zyz{zyyyyzyyzzyyzzzyzyzzyzyyzzz{zyzzzzyzzzzyzy{z{{zzyxzzyzyyyzzzyzyz{zyyxzyzzyzyzzzzzyzyyyyzz{z{zzz{zyzzyyyzzyzzzzzzzzzyyzzzyzzzz{|{yzyzzzyzz{{{z{zzzyzz{yzzzzzz|{{{yzzzyyzyz{zzzzz{y{zyzzyyzzz{yzzzzyyzzzzy{{{{{zz{yzzzzzzzzz{zzzz{yzyzzzyzzzz{z{|{{zzyzzyzz{|z{{{zyzzz{yz{z{{{{z{{{zzyzyyzz{{z{{zz{y{{zy{zz{{{{z{{zzzy{{{zz|{{z|||{{{zz{z{{{{{{|{{zyzzzzzzz{{|z||{{zzzyzz{z{z{zz|{z{yyzz{y{z{|z|{|{z|yzz{z|zz{{{{{{zz{zzzyz{z{{z{zzyyzzyzzzz{{y{zzzzyz{yyyzz{zy{z{zzyzyzzyzzz{z{z{zyzzyxyzyzzz{z{zyyzyzzyzzz{zzz{{y{yyzyyzzz{zyzzzzzzzyyyxzy{zy{{zzzzzyzzzy{yyzzyzy{yyyzyy{zxzzzzzy{yyyyyyz|zyyzz{{zyzzyxyzzzzzzz{zy{zyzyyzz{zzzzzyyzzyz{zyzzz{z{zzzyzyzzyyzz{zzzzyxzyyyyzzzzz{y{{zzzzzyyyzzzzyzzz{zzyyy{y{zzzzzzzzzzzzyzz{{z{{{{zzzzzzzzyzzzz{{{zyzzzzzzyz{zzz{z{zzyz{zyyzz{{z{z{{{z{zzyzz|{{zzzz{zyzzz{{{{{{zz{{zzzzzxyzz||yzz{{{zzyzzyz{zzz{zz{z{zzz{zz{{{z{{yy{zzz{{zzz{{{|{{{|{z{yy{z{{{|z{{{{yzz{{{{{z{{z|{|zzzzzzyz{z{{{{{zz{{yz{zz{zzz{{{zzyzyzz{yyzzz{z{zzzzzzzy{z{z{yzzzxyyyzzyyzzzzzzzzyyzyyxzyzz{zzz{yzyyxyxyzzyzz{{{zyzyyyzyyyz{zy|yzzyzzyzyyz{zzyzyzyzyyxz{yzyzyyz{z{zzzyyzyy{z{yz{zyzzyyyyyzzy{yyyzyyyyyyxyzyzzzzzzyxyyyyzy{zzyzzzy{yyyyyxy{zzzyyzzzyzyxyyzzzzzzzzyzzzzxyxyzzzyz|{{zzyyzzyyzy{{zzzyzzyyzyyzy{z{z|zzyxzyyyyz{zz{zz{{yxzz{yyzyz{z{z{zzzyyzyzyzz{zz{z{zyyzyzyyz{zyz{z{zyzz{y{zzzzyzzz{zyzzzzzy|{|{zz{{zzyzzz{z{{z||{{{{zyz{yzzz{zz{{|z{zzz{yzz{{{z{{{z{zzzz{zz{zzz{{{{|y{yz{zzz|zz{{{{zz{zzz{z{z{{z{{zzzz{{{zzz{|z{{{{|{z{zzyz{{{zzz||yy{yyzyzz{{zz{{z{zz{yzzzzz|{{{|{zzyyyzzyzzzyzz{zzyzyyyyyyzzy{{{{zzyzyyzyzyzzzz{z{yzzzzyxzzzzzz{{zyzzzyzzzzzzy{{zzzzzzyxyzyzzz{y{{zzzyzxyzzyzy{{yzzzyyzyzzzzzzz{zzyzyyzzzyyzzy{zzyyzyyyyyzyzzzzzy{zyyzzxzyzz{zz{{zzyyyyzyz{zzzzz{zyzzzyyy{zzyyzzy{zyyz{x{y{zyzz{zzyyyyzyyyyzz{z{zyyzzzzyzy{{yz{z{zzzzyy{z{zyyz|{{zzzzzyz{zzz{{z|zzyzzxzzzzzzyzz{y{zzzzzzz{z{z{{|zzyzz{zzz|zzz{{z{zzyyzyzzzzz|z{z{z{yzzzzzzzzzz{{zzyzzyyyyz{zz{z|{{yzyzzzy{z{{{|{{zy{zz{z{{z|zz|{{{z{zyzzz|z{z}{{{zz{{{{{z{z|{{{{z{zzzzzzzz{{{{{z{zz{zzzzzz{z{{|||{z{{zyz{z{z{z{{zzzz{zzzz{{z{z{|zzzzzzyzz{z{{{zyyyyyzyyzzzzzyyzy{zzxxyzyyzyzzz{{{zzyyyzyzzyzyzz{zyyxyxyyyyy{zy{zzzyzyxxyyz{yzz{zzzyzzyxyxyzzyz{yzzzyzzyzxyzzzyyzyzyzyxyyzyyzzzyyzzyyyyyyzzyyyzyzzyzyyxyxyyzzzzyyyyyzyxzyyyzyyzzzy{yzyyyyxyyzyzzyzzxyxyyyyy{yzyy{yyyyzyzyz{yzzyzzzy{yy{xyzzzzyzzyzyyzzzxzyzzyyyzzzyzzzyyyzzz{yz{{zzxzyyyzzyzyzy{{zzyyzzzyyzzzzzz{zzzyzzzzzzzzz{{zzz{zzyyyzyzz{zzz{zyzzzyzz{zz{z{z|zzzzyzzyzzz{{|{z{yzyzyzzz{{zyz{{zz{yyyz{{z{z{y{{{{zyzyzzy|{zz{|{zzyzyzzy{zy{{{|zzyyzzzzzz{zz{{z{zzz{{zzz{{{{{z{|yzzyyyzzz{z|{zzz{zzyzy{zz{z{zzyyyyzyzyzzzyz{yz{yzyyxzyyy{{{zzzz{zzyyyyzzzzzy{{{zxyyyyyyz{zyyyzzzzzzyzyzyz{zzzz{zz{yyyzzyyzzyzzz{zyzyxyzyyzzzzzzzzzzzyyxzyyzzzzzyzzyxyzyyzzz{z{yzyyyxxyzyzzzzyzzyzyyyxyyzyyzyzzzzzyzyyyzyxzyyzyz{yzyzzxzzzyzyyyyzzyyyyyzyxzyzyzzyzzyzzzyxyzzz{y{{{yzzzyyyzyzzzzz{zzzxzyyzzzzzz{z{zzzzyzzyzyyyyzz{yzyyz{{yz{z{{yz{yzyyyzyzzz{zz{zzzzyyzyyxz{{z{z{z{z{zzzyz{z{zzz{{zy{z{zzyz{zz{{|{zyzzzyxz{{z{{{{{zzzy{zyzz{{zz|z{{zz{zzzz{{{z{z{{{zzyzzzzy{{z{{||{zz{zzzzzzzzz{{zyy{zzyyzzz{{zz{{{{zzzzzzzyz{{{z{z{zz{yzzzzz{{{{{yzzzyzzz{z{{yz{{zy{yyyzz{yzzy{yzyzzyyyyyzzzy{y{zzyyzyyzzzyzy{zz{zzyyyyzx{yyzzzyyyyyyyyyzzyzyzzzzzzzzyzyyy{zzzzz{yzyzyyzzyz{zzz{yyyyyzyyyyyzyxyzzyyyyyyxxyyyyz{zzxyxyzzyxyzyyyzzzzxyzxyyzyyzzz{{{zzyyzzyxyyyzzz{{zzxyyzxzxzzzyz{{zyzyyyyyyzyyy{z{yxyzyyxyzyz{zyy{zyzxzzzyz{{yzzzzyz{yzyzyzyzzz{zzyzzzxzyy{{zz{z{zyzzyyzyzzz{zz{zzyyyyzyzzzzz{zz{yzzzyzyyzzz{zzzyz{yzyzyzz{{{{{{{zzzzzzzyz{{z|zz{{{yzyzyyzz{zy{zzz{zyyzzzz{{zz{zz{zzzyzz{{{{{y{{z{{{zz{zzzz{z{z{{{{yzyzzzzzzzz{{{zzz{zzxyzzzyz{{{{{zyzyzzyz{zz{{{{zy{yyz{zzzzzy{{{yzyyzyzzzzz{zzzzzyyxzxyz{y{z{zyyyyyzyyyyyyzzyyyzyyxyyzyzzyzzzzz{zyyyyzyxzzzzzzzzzxxyyzyyyyzzz{z{zyzyyxyxzyzzyzyzyyyxyyyyzy{zzzzzzyzyzxzyzyzzyzzyyyyyyyyzyyyzzyzzzyzyyyyyyy{yyy{zyyxyyzyyyzyyyyzzzyyyxyyxzzzyyz{zyyyyyyzzyyyyyzyzzzzxyxzyyz{yz{zzzyzzzzyxzzzzz{zzyzyxxyyyyyzzyyz{zxyyyyyyzzzz{{{zzxyzwzyyzzzzzy{{{zyzyxyyyzz{z{{zzyyyzyyxzzzyyz{zzzyzzyyz{z{zzzz{{zyz{yyyz{zzz{{zyyzzyyzz{|zzzzz{zyyyyzyy{{{yzzz{{zzz{zzyz{z{zz{{yyzzzz{zz{zzz{{{zzzzz{zzz{zz{{{{{zz{{y{yz{{z{zzzzzzzzzzyz{{z{z{|yzzzzzyzzzyzz{{|zzzyzzzyzzzzz{zzzzzzyzyyzzz{yzzzzzyxzyyxyyy{zzzyzywyyyzyyzyyyzzzyyyyyxyyyzzzzzzzzyyyzyyyy{yyzzzzzyzyyyyyyyzyzyzzyyxzyzyyzzzzzz{{zzzxxyyyzy{yzzzzyyzyyxyyzzzzzzzzzyyyxyyyzyz{zyyzyyyyyyxyzzzzzyyyzyyyyzyyyzyzyz{yyyyyxyyyzzyzyzy{yyzyyxzyyyzyzyzzyz{yxzyyzyyyyzyzyyzy{y{yzzy{zzzzyyyyyyyyzz{{zzzzyyzzzyzzzyyyzzzzyzzyzyzxzyzyzzzzyyzyzxzyyxy{zzzzyzzxzyyy{zz{zz{{zzyzy{y{zzy{zyzzzzzzyzzzzz{zz{z{yzzzz{zz{zzzyz|{zyz{yzxzzz{zzzz{zzzzzzzyz{{{zz{{zzzy{zzzzz{z{zz{{z{{z{zzzzz{|z{|zzzzzyyz{z{z{{{{zzzzzz{zzzzzz{{{z{yzzz{z{z{{{zy{{zzzyzyzz{z{z{{{yzxzzzzzzzyzz{{zzyzyyxyyyzzzzzzzzyyxzyyyyzyz{z{zyyzyzzzzzz{zz{zz{zyyyxzyyzyzzzz{zzzxzyyzyzz{zzyyzzzyyyyyzzz{zzzzzyzyzzzxz{{zzz{y{zzxyzyyyy{{yzzyzyyxyzyyyy{zzzzzyyyyzyyzzzzyzyzzzyzyzxyyzzzzyzzzzyyxxyzyz{zzzzzzyyyzyyyyzyyyzz{zzzyyyzyyyz{{zzzzzzzzzzyz{z{{z{zzzyyzyzzzy{yzzzy{yyyyzzyx{zz{zzz{zyzyzzzyzz{{z{{{zzyzzzzyyz{z{|{{zy{z{zyzz{{zz{{z{yy{zzyz{{{zy{{{z{zzyyy{{{zzz{{zz{{zzz{y{zzzz{{|zyzzzzyz{{{|z{{{zzzy{zzzz{z{{{{|z{zz{{z{z{{{{{{zz{{yz{{{z|{zz|z{{z{z{zzzz{{{{{{{{yyzzzzz{z{{{{}{zzy{z{{{{z{{z{{{{zzyyz{zzz|{{z{{{yzzyzzzzzzzz{{{zzzzzyzyzz{zyzzyxyyxyyyyyyzzyy{zyyyzxyyyyzyzzzz{yyyyyzyzyyzyzz{yzzzzzyyzzzzzzyzzyzyxzxzyzzzzzz{zzzyxyzxyyzyyyzz{zzyyyyxyyzzyzzzzzzzyyyyzyzyzzzzzyyxyzyzyzzyzyzzzzyyzyyyyyzzyyzzzyyzyyyzyzyyzzyzzyyyzzyyyyyzyyzyzz{yyzyxxyzyzy{yzyzyyzyxyzzz{{zzzzzyy{yyzzzzyzy{zyy{zxyzzzzzzz{{{yyzzzyyzzz{zyzzyzzzyyyyzz{zzz|zzzzyzyzzyzz{zy{{{zyyzyzyy{{{zz{z|zzyzy{yyz{{z{{{{yy{yzzzz{{z{yz{{zzz{zyzzzz{{{{zyzzzzzyzz{{{z{{zzyzzzzzyzz{{z{|z{{zzzzyyyzz{{zz{{{{zzzyzz{{{zz{{{zz{yz{z{{{zzz{{|{yzzzzzzzy{{{{{{zzyyyzzzz{yzy{{{zzyzzzyyz{zzzz{zzxzyyyzzzzzzyzz{zyzzyzzyyzzzzz{{yy|zy{yxyz{zzz{zzz{yyyyyz{zzz{{zzzzyyzyyyzzzyyzzyzzyyzyyzzz{zz{{yyzzyyzzz{zyyz{yzzzzyyzzzz{yzzz{zzzyyyzzzyzzzzzzyyzyzzyzyzzyzzzzyyzzzzzyz{{zzzzzzzzyyxyxzzzzzz{{z{zzzyyyzzxzyz{yyzyyzyzyy{zyzzy{zzyyzzzyyzzzz{z{zyzyzyzz{y{z{{z{zy{{yyzyz{zyz{zz{yzzzzz{zz{{z{z{zyzzzyzy{y{{zzzzzyzzzz{y{zzz{{{zzzzzzzzz{z{zz{zz{zzyzzz{yz{{{{{zzyzzzzzz{|y{zzy{{z{zy{z{{{{zzz{z{yz{zzyz{{{{{zz{zyzzzzzzzz{{{{{{{{y{yzz{z|z{{{z|{zzzzzzz{{{{{{{{zzyz|zyz{zzz{{{|{z{{zzzzz{z{|{{zzzyyzzzzzz{z{{z{{z{zzzzyzz{zz{|zz{{z{yzyzzzyzy{yzzxzyzxyzzzyyzzzyzzzyyyyzz{zzz{{zyyyyyzy{x{zyzzzzzzzxxyyz{{zyyyzzyzyyzyzzzyzy{zzzzzyyyyyyzyzy{yz{yzyyyyyzz{zyzyz{yyyyzy{{zz{zzz{yyyyyxyyzyzzyzzzyzyyyyyyyzzz{{zzzzzzyxyyzzzzyzz{zxzyyzyxyyzyzzyzy{zyyyzyz{zyz{zzyyzyyyyyzzyzyy{{zyyyzy{yyzyzz{{{yzyzzxzyz{zzzzz{zzzzyzzzzz{{z{{zzyz{yyz{y|zzy{zzzzzzzyyzz{zy{z{zzzzzzyyzz{zzz{z{zzzzzyy{z{|{z|z{zzzyzz{{{z{{{z{{zyzzzzy{{{{z|z{z{yzzzzzy{{z{zz{{zz{yz{zyzzz|{{{{{zz{{zzzz{{{{|{{{zz{{y{yz{|{{z{{zyzzzzzz{{z{z{{{{z{y{{zz|{{{{{{{zy{xzz{z{z{{{z{zzzyyyzzyzzzz{{{{{z{yzzzyzzz|{zz{zzyyyzyyyzzzz{zzyyyyyyyyyzyzyzzzzzyxzxzxzyzyzz{xzyyzyxxyzzyzzyz{zzzyxyxyzyzy{zy{zxyxyyyxzyzyzzzyzyzyyzyyzz{zxzyzzzyxyzyyzyyzyzzyyzywzyyzyzzzz{zyyyyyyyyyzzyzyzyyyyyyxzzxzyyzzz{zyzzyyyyxyyyyyzzzyzyyxxyyyzyzyz{zyyyyzyyyyzzyzzz{{zzxzyyyy{yyyy{zyzyyzyyyyzyzzzzzzyyzxyzzzzzzy{zzyzzy{yyyzz{zyzyzyx{yzyyyy{zyzzzzzzyzzzzyz{zzzz{zzzyyyzyzzz{y{{zzzzzzyyzzzy{{{zz{zyyzz{yy{zzz|zzzzyyzyyzzzz{zz{{{yzyxyzzz{z{z{{{zzzzzyzzy{z{zzzz|{zxzzzyyz{zzz{{{zyyzzyzyz{{{zz{{{zzz{yz{zzz{z{zzzzzzyyzyy{z||zz{yzzzyyyyzzz{{zzzzzzxy{zzzyzzzzyzyyyyyyzyzzzzyyy{zzzyzzyyz{zyzz{zyyyzyyyyyzzyz{{zzzyyxzzyyzzzzz{{zzyyzyzxzzzyyzzyzyyyyyzyyzzzzzzzzyyyzyxyzzy{zyyzyy{yyxzzzzyzzzz{yzzzyxzyzzzzyzzzyyzyyzyzzy{{zz{zyzzyyxzyzzzzyyzzzzyyyyyzxzzzyzzzyzyyxyyzz{yyzy{zzyyy{zzyyyyzzzzzzyzyyxzyyzxzzzzzzzzyyyzyzzyzzzzzyzyzyyyyyyzyyzz{yyzzyzzyz{{{z{{zzzyzzyyyz{{{zz{zzzyzzzxyzzzyz{z{zzyzzzzz{{{{z{{zyzyz{{zy{{z{zz{zz{zzyzzyz{zz{zz{zyzzzz{zz|z{{{{{{y{z{z{zy|y{zzz{{yz{{{zzz|{z{{|zzz{zzyzz{{{{zz{{zzzzzzzzz{y{{{|z{zz{{yz{{{z{{{z{yzzyzzy{{yz{zz{{zzz{yyyzz{z{zzz{zyzyyyzzzz{z{zzzzzyyyyxzyzyyzyzyzzyyxyyyyzzzz{y{zyyyyyyy{yyzzz{{yzyyyyyyzy{yzyyzzyyxyyyxzzyzzzz{zyyyyzzyyzzzz{zzyyzyzzwzzyzyzzzyzyyzyzyyyyyzyyz{zyxyyyzxyzyzy{yzyxzyzyxyyyzyzzzyzyzzxyyzzzzzzyz{zzxyzxyyz{zyyzyzyzyyyyyyy|xyzzzzxyyyyyyyzzzzyzz{zzzzzyyyy{zyzzzzzyzyyyzz{yz{z{z{yyyzzzyzzzzzz{z{zzzzzyzzzzz{z|yzyyzzzyzxzz{z{z{zzzyzyyzzyzzzzz{zzyzyzzzyz{zzz{zzzzzyzzzy{{z{y{{{zyzzyzzy{{{{{{{{zyzzzzzz{{{zz{{{{{zzzz{zz{y{{{z{zzzzy{zz{{z{{z|{{zz{zzyzzzz{zz{{zyyzzzyzz{zz{z{{zzyzzzz{z{{zz{{{zzzzzz{zzzz{{{{{zzzzy{zzzzzzzz{{zyzzyyyzzzzzz{yzyy{yyzxyyzzyzyzzyyyyxzzyzzzzzyzzyzyyyzyyzzyyyzzzyyxzyzyyxzz{zzz{yxyxyxyxyyyzzzzzyyyyyzyyyzzxyzyzzyyyyyxyzyyyyzy{yyyyyzyyyzyzzzzzyxxyyxyxzyyzy{zzzxxyzzxyy|yyzyyyyxyyyxyyyzyzzz{yyyyyyyywzyyyzzyyyxxwyyyxyyyzyyyyzyzyyzyyyzzy{z{zzyyyyxxyyzyyzzz{yxzyxyyyyzyyyyzzzyzzyyyzzzzzy{{zzyzyyyyyz{y{zzzyyyzzzyyyzzz{zz{zzzzzzzzyzzzz{{zzzzyzyzzz{{{zz{z{zyzz{zzyzzz{zy{{zyyzyyzxzz{z{z{{zyzyzzzy{||zzz{z{z{zzzzzz{yzzzz{{zzyzyzyz{{zzzz{zz|zyzzz{zzzzz{yzzz{zyyzzzzzzzz{z{zz{zzz{z{zz{zzzzyyy{yyy{zzz{|zzzyzyyyzz{z{zzzz{zzyyyzyyyyyz{zyxyyyzywyyzyzyzzzyyzyyxyzzzzzyzzzzzyxyyyyzzzzyzzyyzzyyyyyyzyzyzz{{yxyxyyyz{zzyzzzxyzyyyyxzyzzyyzzyzzyyyxyzyyyyyzyzxyyyxzyyzzyyyzxyyyyyyyyyzyzyzzzyyzzyxyyyzzzzzzzyzxyyzyxz{yyzz{zyxzyyyyyyzzzyzzzyzyxyyxxyzzzzzz{{yzyxzyyzzzzyz{yzyzyyyyyyzzzz{zzzyzyzyzyy{zzzzyzyyyyyyzzzzz{{zz|{yzyyxyxz{yz{zzzzxzyyyyzzy{yzzzzzyyzzyyyyzzyy{zzyyyyzzzyzzz{{z{zzzzzyyzy{z{zz|{{{zzyyzyy{y{zz{z{{zzzzzzzzzz{zz{{zzy{yzzz{zzzz{{{{zzzzzzzz{{{{z{{zzzzxzzz{{yzz{{z{yzyzyyyzz{z{{{zzy{z{zy{z{zzzzz{y{zyzyzzyzzzzz{zzzzzyzzzyzzz{y{yyzzyyyyyzz{y{zz{zyzyyxxyyzzyy{{{yzzyyyzyyzzzzzz{zzxxxyyyzyyzyz{zzzyyzyyzyz{zzzzzzzyyxyyy{y{zzzyzzzzyyyyzyzyyz{zy{zyyzzxxzyzyy{zyyyyyyxyyyzzzyyzzyyyyxyxyzyyzzzzzyxyyyyyyzyzy{zzzzy{yyxxyzzzyyyzzzyyzzyyyyzzyzzyz{yzyzyzyxzzzz{zzyxzyzyzyzzyzyzzzzyyzyyyzzz{z{{y{yxyzzyyzz{z{zzzyzzyzyzyyzzz{z{zzzzzzzyyyy{z{{zzyzyyyyyyzzz{zzz{{zyzzzzyy{zzzyzzzzz{zzzzz{z{{z{{{zzyyy{yz{{{{z{{{zzy{zyxy{zzz{{{yyyzzyxyyz|{{{z{{zyz{z{{zz{{{z{{zzyzzy{yz{|{{{z|{z{zyzyzy{{zzz|z{zzzyzzz{zz{z{z{|{zyz{z{z{z{zz{{|zyz{yzzyzzzzz{z{zzyzyyyzzzz{y{yzzzzyyyxzz{zyyzyzyyyyyzyyyzzyzyz{yzzzyyyyzy{{z{z{zyzyzzzxzz{{zzzzzxyzyyyzzyyzyzzz{zzyyyzxzzzzzzz|zyzyzzzyzzzzzzzzyxyyyzxyz{zzzyyzyzxyyzzy{yyzzzzzyyyyyyyyzzz{{{|zyyyzxxyy{zz{zyzzzzzzxxxzz{z{yz{{yyxzzyyyyzzyzyzzzyzyyzzyz{yyyz{zzyzyz{yy{zzzzz{zzyyyzyzyzyzyzz{zzzzzzzzzzzz{yz{zy{zzyyyyz{zzzzz{zyzyyyzyx{zz{{z{{zzzzzyxzz{yz{{{zyyzzzyzy{zz{z{{zyyzzyzyzz{|z{{{zzyy{zzz{zz{{z{{zzzy{yyyz{{z{z{zzzy{z{{y|zz{z|{zzzzyyz{zz{y{|z{{{zzzz{zy{}{{{{z{zy{{zyz{z{z{{{{{{y{zzyzz{{{|{z{{{{{z{{zz{{z|{{{{{zzyyzyzzy{{z{{zz{zyyzyz{{{zzzz{zzzzyzzzzzz{zz|yyyzyzyzxzzzyyyzyyzyxyyyyzyzyz{z{zy{yyyyyyzzzzzzzzxzyyyyyzzzzxzz{yyyyyyyzyyzyzzzzyxyyyyyyzzyzzz{zyyyyyyzyyy{yzzzy{yxyxyyzyyyzzz{zyzyyzyyyzyyyzyzzzxyyyyxyzzyzzyzzzyyyxyyyzyy{zyzzzyyyyyzyyzzyyzzzzzyyyzyyy{z{yzyzyzzyyyxyyyzzzzz{zzzyzyyzzzzzzzzzzyzyyyyzzzzzzyz{zzyzyyzzzzzzzzzzzzyzyyzzyyz{zzzzzy{zyyyyy{zyzz{zyzzyyyyzzzzzzzzzzzyzzzyzy{{{z{|zzzzzzyyz{{zzzzzz{zy{zyyz{z{{{{zz{y{zzyzy{{{z{{{{zzzzzzzzzzzz{{z{zyy{zz{z{|{zzz{{{zzy{zzz{{{zyzz{{zzzzzzzyz{z{{|z{zzyzzyz{z{{{z{{zzzyyyzzzz{z{{{{z{yyyzyzy{z{zz{zzyyyzyzyzzyzzzzyzzzyzxzxyzyzzzzzyzxyyxyy{yzzzz{zzyzxyyyzzzyz{y{zyyzzzyxyyzzzzzzzyyzyyyyyyzzzyzz{yyzyyyzyzzzzzzzzyyyyyxyy{y{yyzzyxzyyyxyyyzzzyzyzyzyyzyyyy{yzy{zyzyzyxyxyyyyyzzz{yzyzyzyyzz{zyzzzzzyyyxyxzzyyzyzzzzzxzyyyyzzzyzzzyyzzyyyxyyyyzz{yzyzyyyyzzzzy{yyzzzzyyz{yzzz{z{yzzzzzyyyyyzzyzzzzyzzzzzzzzz{z{yzyyyyzzzyyy{z{zz{yzyyzyzzzzzzzzzzz{y{zy{zz{z{z{|z{yyzzy{zyzzz{{z{{zzzzzzzy{zz{zz{{{xzyzyyz{{|{{{z{zzyyyz{zyz{z|{z{{yyyzyzzy|{{zz{||{zzz{zzz{z{{zzz{zz{{zzyzzz{{{{{{zz{zyzzz{z{z{z{zzzzyzzy{zzzzz{z{zyzyzzy{z{yzzyzzzzzzyzyzz{zzzzzyyzyyxzxyz{yzzz{{yyyxyyyy{{{z{z{zyzyyyyyyzzzyzzzzxyzyyyzyzzzyz{zzzyxyyzx{zzyzz{zyzyxzx{zzzyyz{zyzyzzyyyyyzzyzzzzyyyzyyyyzyy{zzzzyxyzyzyyzzyxzzzyyyyzzyyzzz{yzzzzzyyyyyzyyz{zzy{zyzyxzzyyzzyxzzzyyyyyzzzyzzyyyzzzzyxzyyzyyzzzzz{zzyyyyyzyzzyzzzzzyyzyzyyz{z{zzzz{yzyzxzyyzzzzzzz{zyyzzyyxzzzzzzyzzyzzyyzzzzz{zz{zzzzz{{zzzzyzzzz{{{yzyzzzy{{{z{{{yyzzzzzz{z{|z{{{zzz{zyyz{{{z{{zzzxyyz{yzz|{{{{{|zzz{yzz{yz{{z{{|z{zyz{z{y{{{{z{z{yzzzzyz{z{z{{zz{zyyyz{zzzzz{|{{{zz{zzz{{{{|{zz{zzyzzzzz{zyzz{{{zzzzzzzyz{|zzz{{zz{yyyyyxz{{zyzyyyyxzzyy{zzzzyy{zyxyxyzyyzzzy{zzzyzyyyzyzyzz{{zzyzyxzyzyzz{zyz{zzyzyzyzyzzz{zzyzyxyyzyyxyzzzz{yzyyzyxyxxyz|zyzzzxzyxyyyyyyyzzzzzyzyyyzxx{{yzyy{zyyyzyyyyyy{z{zyyyyzxxyyyyyzyzzzzyyyzyyyxzzyyyyzzzxyyxyyyzzzyz{zyzyzzz{yyzyzzzz{zyzyyzyyyzyyyyzz{yyzzxyyzzyzzyzz{yyzyyyz{yzzzzzzyzyzyyyzzyz{zz{{{yyzyyzyzzzzzz{{zyzzyzzyzzzzxzzzzzzyzzzzzy{zz{zzzy{zzzyz{{{{{z{{{{yxyyyyz{zz{z{{{zyzzyzzzz{{zz{{zyzzzzyzz{{zz{{{{{yyz{yzy{zz{{z{zzyzzzzzz{{{zz{{{zyzzzzyzyzzz{{|{{yy{zzyzzzz|{zzz{zzyzzzzzzzzz{{zzyzzzz{z{{zzzz{zyyyyyyyyzzyyz{{zzyyzxyyyyz{yz{zzyzyzyyzxyzzy{z{zxyxyyzyyyzyz{zzzzyyyzxyyzzyzzyzyzyyyyxzxzzyz{{zyyzyyxyyyyzxyyzzy{zxxyzyxzyzyzzyzzzyyyyyyzyzzyzzzyyxyyyzyyyyzzz{zyyyyxyyyyzzy{yz{zzzyxyyyyyyzzz{zyxzyxxxyyzyyzyzzyyyyyxyyzzzyzzzzyyyyyzyyzzzzyzzzzyyzzzyyyzzzzzz{zzyyzyzzzyyzyzyzyyzyyyzyzz{zzz{yzyzzzzzyy{zyzzzzzyyzyzzyzzzz{{{{yyyzyzzy{zzzzz{{zyzyzzyyzzzzzz{zzyyyyzzzzyz{zz{z{zzzyzyy{zz{{z{zzyyzzzzzz{{z{{zzzyzzy{{{yz{{{{z{zzzzzzzzz{zzz{{z{yz{z{y{{zz{{z{z{yyz{zz{{zz|{z{{{zz{{zyzzzzz{z{{zyzzzyyzz{zzz{zy{zyzz{{yz{y{y{zzyzyyyyzzzz{zzzyyyxyyyyyxzzyzzyzzyx{yyyzzyzzyzy{zzzyyyyyzzzzzzz{|zyyyzyyzyzzzyyzyyyxyyyzyzzyyzzz|yzyxyyyzzzzyzyyyyxyzyyzyzz{yz{zzywyyyyyyyzyyzzzzyyzyxxyyyzy{z{zyyyyyzyyyzyyyzzzyxyyyxyyyzzz|yzzyzxzyyxzxzzyzzzzzzzzyyyzzyzzzy{{zyxzzxyzyyzyzyy{zyzzxyyyyz{zzyzz{yxzyyyzy{zzzz{yzzyyzyyyzzzzzy{{zzzyzyyzzy{z{{zzzyyzzyzxyzzzzzy{{zzyzyyyyyyzzyz{zyyzzzyzzzyzz{{z{yzzy{zzzzzyz{{{y{zzzyzzzzz{{zyz{zyzyzyyzz|{zz{|zzyzzzz{{{{yy{z{{{zyyyzzzyz{{|||{z{z{zzzzz{{z{z{zzyzy{zzyzzz{{{z{{{yzz{z{zz{{{z|{{yyyzzyz{zz{z{z{zzy{zyzxz{z{zz{z|yzyyyzzzzzzzzyzzzxyyyyxzyzzyyyyzyyyyyyyzz{yzz{{zzyyyyyxyyyyyz{{zyzyyyyzx{{{yyzzzyyxyyyxzzy{yzzzyyzxyxyxzzyzzzzyyyzyyyyzzzyyyy{zyyxyyyxyyzyzyzyzxzzxxyzyyzzzy{zyyyxyyyyxzyzzxzzzzzyyxzyxyyzyyzzzyyzyyyyxyxzyyzzyzyyxyyyyxzyyy{zzyyyyz{yyzyzyyz{zyyzyyzyxy{yzzzzzyyzzyxzyzzyyzzz{zzzyzyy{zzzzzzzzyyzyyzzzyzzz{zzzyyzyzyyz{zzzzzzzzyyzzy{yzzzzzzzzz{zzyzyzyy{{z{{zyzzyyzzy{zyyz{zzyzzzyzyy{z{zzz{z{zzzyzzy{{zzz{{{{zzzy{zz{z{zzz{{zzyzz{zyzz{zzz{{{z{zzzzzzzz{{{yz{zzzyzyyzzz{z{{{{{yzzyz{zz{{{zz{{{yz{zzzz{zyy{{{zzzzzzzzz{{zzz{y{z{yyyyyyzyzzzzzyxyyzyyxyyyyy{zzyzxxyxyyyyyzzzz{zyyyyy{yzzzzzzzyyyzyyyyxyyzzyzz{zzyyxyzxzzzzyzzzyzyxyyzyy{yyzzzyyzyyxyzyyyzyz{{zyyyyxyxzxyzyyyzzyyyyzyxzyyyyzyzyyyyyyyyyzzyzyzzzyxyyxyxxyyzzzzzzzywyzyzyxyzzy{{zyzyyxxxyyyyzyzzzyyzxyyyyyzzyz{zzzzyyyyyyyyzzxzzzyyyyyxyzyyyzyyz{yyyxyyyzyz{zzzzzzzzyyzyyzzz{{zzzzyyzzyyzyzzzzzzzzyzz{zzzyz{zy{zzzyyyzzyyyzzzz{{zzzzyzxzz{zz{{z{zzzzzzyyy{|{z{{{z{yzzzzzzz{{z{{z{{zyyyyzz{zy{yzz{{{yxyyyyy{{yzzz{zzzzzzyy{z{{{{zzzyzyzyz{zzzz{z{{zzzzzzzz{{z{zz{zyzzzzxzy{zyzzz{{z{yyzzzyz|{z{zzzzyyx{yyxyzzzzzyzyzyyzyyyzyzzzzz{yyyyyxyyyyyz{{zzzyzzzzyzzyzyzz{{zzzyzyzzzzy{zzzzzyzyyzzxyzzzzzz{zyzyzyzzz{zzzzzyyyzyzyzyyyyyyzzzyyzyzyyyyzzzyzzzyyyxyyzyy{{xzzzzzzyyxyyxzyz{zzz{yyyyyyyyyz{yyzz{yyyyzyyyyyyzzzzzzzyyzyyyyyzzzzyzyyyyzzyyzzzzzz{zyyzzyzyy{zyyzz{zzzzyzyzyzzz{z{zzyzyy{zyy{zy{z{zyyyzyzyzzy{zzzz{{zyyzzzzyyz{zz{{yzyz{zzzz{zzzzzzzzyzyzyzzzzzz{|z{zzzyzzzzzzzz{z{{zyyzyyzzz{{|{{{|zyyzzzzzzz{{{zz{zzzyy{zzz{zz{zz{{zzzz{zzz{{{{{{{{{{zz{zzzyzzz{{{{zzzz{zyz{z{{|zzz{zyzzzzz{z{{{{{zzzzzzzyz|zzz{{{zzyzzzzyz|{{zz{yzzyzyzyyzz{zzzzzyyyyzyzwzyzyyzzzzzyzyzyyyyzzz{zzzzyyyzyy{{yzzzz{yzyzyxyyyzzzzy{{zyzxyzyxzzz{y{zzyyzyyzzyzzzzyz|yyzyyzxyyyzzyzyzyzzzzxyyzzzzyzyzzyyyyzxyxzzyzzyzzzyzyyyxzzyzzzyzyyzzzzyyyyzyzzz{zzyyyyyzyyzzzzzz{zzzyyyzyyyzzzzyzyzyyzzyzzzzy{z{{yzyzzyyyzyzzyzz{yzyyyx{zyzzzzz{zyxyyyyzyyyz{zzzzzyyzzzzyz{{zzzzzyyzyyzyz{z{zyz{zzzzxyyyzzzzzzz{zyzz{{yzzzz{{z{z{zzzy{zzz{{{{z{{{zyyzzzzz{z{z{z{zzy{zzzzzz{zz{{zz{yyzyzzzzzzzz{|zzzzzz{zyz{{z||{z{yzzzzzyz{{zzz{z{yzzzz{zyz{{{z{|yzzz{z{z|zzzzyz{z{zz{z{z{{zz{{{zzzzzzzzy{{z{yz{{yzzyyzyy{zzz{zzyzzyyyyzyyy{yyyzzzzyyzyyyyzz{zzzyzzzyyzyyzxzzzzz{yyywzyzyyz{zzy{zzzxyxyyxzzz{zzzyzyyxyyyxyyyxzzzyyyzyxyyyxy{yzzyzyyyxyyyyzyzzzzyzzyyyyxyyzzyzzzzzyyyyyzywzzzzzzzzzyzyyyyzzzzzzyzzyyzyyyxyzzzzzyzzyyzzyyyyyzyz{yzyzyzzyzyyzyyzz{z{zzzzzyzzzzzzzz{{yzzyxxzyzzzzzzzzxyzyzyzzy{{zzzzzyyzzyxzyzz{zz{zz{yzz{zyyzz{zzz{y{zzzzzzyy{{{zzzzy{zzyyyzz{zzz{{zzzzzzz{zy{zzz{{{zzyxzyzyz{z{{|{zzyzzzyzzz|{z{z{{{z{{yzzzz|zzz{z{zyzzyzzyyzzz{z{{zyzzzzyzz{z{{zzzyzzzzzzz{{z{zz||zz{zzzzzz{zz{{{{zzyyzzzzz{yy{z{{zzyzyzyyzzz{zz{zzyyxzyzzyz{yzzzzzyyyzyzyyyzyyzzzyzxyyyyyxyzyzzz{zyyyyyyzyzy{z{z{zzyyzyyyzzy{zyzyzyzzyyzyzy{zzzyzzzyyzyyxy{yyyz{zyzyyyzzyzy{yy{zzzyyzyyxxzzyzyzzzyzyxyyyyyzzyzz{yyyyyxyyzyzyzzyyzzyxyyzyyyzz{yzzzzyyxyxxxxzzyyzzzyzzyyyyxyzyyyzyzyyyyyzyyzyzzzzzzzyzzyyyyyzzzzzz{yzyyyxyzzy{zzzzzyzzzyyyyyzzzzz{zzzyyyxzzyz{zzz{{yxzzyyyy{z{{{zzzyyzzyzyzz|{zzzzyyzyyz{yzyz{zz{{zzzx{zzzzzzzyy{zzzyzzyyzzzz{{z{|z{y{zzyzz{{z{{{{zzy{yzzzzz{z{z{|z{zzyz{zzz{{{zzz{{z{yzzzyzz{z{zzz{zzyzyzzz{zz{zz{{zzyzzyzz{z{z{{{{zz{zyzzyzzyzz{zzyzzzyzzz{zzzzzyzyyyzzyyzzzzzzyyzyyxyxzxzy{zyzzzyzyyyyyyyzyyyzzzzyzyyyzyzzzzz{zzzyxyyyzyzyzyzyzzxy{yyzyxzyyzzzzyyyzyyyzyyzzxyzzzyyyyzyyyyyzx{zzyzxzyxzyyyzxyzzzzyzyyzxzyyyzyzzzyzyyyzyzyzzzzyz{zyxyyyyyzzzzzyzzzyzyyzyyyzzzyyzyzyyyzyzzzy{yzyzyyzyyzyzzyzyzzxzz{xyyxyyzyyzzzzzzzyyzyyyzzzzyzy{zzzzzxyy{yzy{zzzzzzyzyyyyyzz{{zzzyzyyyyzxx{{{yz{{yzyyzzzzyzzyzzzzyzzzyzzzy{{z{zy{zzzzyz{y{z{{|z{{{{zzzzzzzyz{||{|{zzyz{zzyz{z{z{z{yzz{z{zzz{{{{{{{zz{yyzzzz{{z{{{zzyzzzzzz{{{{{|z|zyyzzyyzz|{{{{{|{zz{z{z{{{zz{{z{{zzyyzyzz{zz{{z{{zy{zzzzzzz{zz{zzz{yzyzyzzzzzzy{yyyxxzxyzzzzzyzzzzyzyyyzzzzy{z{zzzzyyyzyzzzyzz{yzyyyxyyyyzzzyzy{yyzxyzyy{zzz{zyzzzyyzzzyyzzyzyzzxyyzyyxzzzz{yzyyyxzyzzyyzzyyzzzyyyxyyyzyzzyyyyzzyzyyyzxyyzzz{yyyxxzzyyyxyz{zz{zzzzzyyyyyzyyyyyzzyyxzyzxxyzyyzzzzyyzyyyyyzzzyy{zzzyzxyyzy{zyzzyyzyyzyzyzzzzzzzzzzzyzyzzyyzzzy{|zzyyzzyy{zyzzzzz{yzzzyyyyyy{zz{z{{zyzyzxyzz{zzzz{zzzzzyzyyzy{{y{{zyzyyzzzyzzz{z{zzzyzyzyxyy{{yz{{zzzzzzzzy{z{{{{{|zzzyzz{zzzz|zzz{{zzzzzyzz{zz{z{{{zz{zz{yyzz|z{{{{zyzzzz|{z{z{{{z{zyzz{z|z{z{zzz{{yzzzyyyy{{zzzzzzzzyyyyyy{{zzz{{yz{zyyyzyzzy{zyzyyxzyyxxyz{zyzz{yzxyyxyxyzyyyzzzyzxyyyyxzzzzy{zyyyyxxyxyyz{zyz{zyzyyyyzyzzzzxzyzyxzyyxyxyzyyyzzzzzyyyyxzzzzyzzyzzyxxyxyyyyxyzy{yyyxyyyxxyzy{zyyyyyyxyyxzxyzzzzyzyyyywyyyxzzzzyzzzyyzzyyxxyzzyzyyzyxyxzzxy{yyxzzzxyyyyyyyyyyzyzzzyyyxyyzyyzzzzzz{yzyyzxyyz{y{zyyzyyzyyyyx{{{zzz{{zzzyzyyyz{zzyz{zzyzxyyyyzz{{zzzzzxzyxyyxzyz{yzzyyzzzzzyyy{z{zz|zyzzyyyzyz{z{yz{zzzyzyzxyzzy{zz{{zyzyzzzzz{{z{{z{zzzzyx{zzz{z{{z{|zzzyzz{z{zz{{z{zzzzyzz{z{{zyzz{zzyzzzxzzyzy{z{{{yz{yzyy{zyzzz|zyzyzyzyzyzz{zz{{zzzz{zzzyzz{y{{zzxzyyyzzyyzz{zyzyyyyxyyyy{zzyzzyyyzzzxyyzzzzzzz{zzzxyxxyyyz{z{z{{yy{yzyyz{y{yz{zyyyzy{yxzyzzzzz{yyzxyyyyyz{yyyzzyzxyyyyyzz|yz{zzyyyxxyyxzyzzzz{{xxyyyyxyzzyzzzyyyyyyyyyyzyy{xzz{zzyyyyzyy{zzzz{zyzzzzyyyyzzzzzz|yyyyzyyyyzyzzz{zyyzzyyxyzyyzzyxzyyyzzyyzyyzzy{{zyzzyyyxz{zzz{z{zzzyyzyyyzz{zzyz{zzzyzyzyyz{y{y{zyyyyxyyzzzzz{{z{zzyzyxzy|zzzz{z{zzyzzzzzzz{z{{{{yyzyzyzz{zzz{{z|{z{yzyzyz|{{|{{zzyyzzyzyz{{zz{{{{z{zzyzzz{z{{{z{{zz{zzzzz{{{z{{{{zzzzzyzz{z{z{{|zyzyzzzy{zz{z{z{z{zz{z{z{zz{{z|{yzyzyzyz|z{{z{zz{zyzzy{z{{zz{zzzzzyyzyzy{zzyz{y{zyyzyyyxyzz{zz{{yyyyyxyzzy{z{{zyzxxyyyzzzyz{zz{{zzyyyyxyzzyzyz{xzzyyyxzyyyyzzzzzzyyyzyyyyzzzyz{zzzxyzzyyxyzzyzzzzzyyyzyyyyyyyyz{xyxyyyyxyzyyzzyzyzyzxzxyzyyy{z{yzzyyxyyyyzyzyy{{zyyxzyzzzy{zzzzzyyxyyyyyyzzzzzzzzzyzzyyyyzz{zz{{{yyyyzyzyzyyz|z{yyyzyyyyz{zzyyzzyzzyzyyzyz{zz{|zzyzzzxyyyz{{z{{{yyzyyxzzzz{{y{{zzzz{zzzz{y{zz{z{zzyyzy{zzzz{z{{zzzzzyzyz{{z{z{|{z{yzzzzyz{{zzz{z{zyyyxzzzz{|{{|{z{{zy{yy{z{{{z{|{yzzz|z{z{{z{zzzz{z{zzyz{{{{{z{z{zzzzz|z{{z{zzz{{yzyzzzzz{{{zz{{{zzy{zzz{z{z{{{z{z|yyzyyz{zzyz{zzzzyzyzzzzz{zzz|zyzyyyyxyyzyzyz{yzxyzxzxzyzz{{{{{yyzzyyz{zyzz{{{zzzyzzyyz{{zyzzzzzyyzyyxzzzzzzz{zxzyyzzyzzzzz{yyyyzyzyyy{zzy{zzzyyzyyyyxzzzzz{y{yxyzyyyyyzyzyyzyzyzyyxyyzx{yzzy{zyzyyyyyzzzzy{yzzyyyzyyyzyzyz{{zyyyyyzzyzzyzy{zzyyyyzzyzyzyzzzz{zyyyyyyzzzzzzzzzyyzyyyzy{zzzzz{{zzyzzyyzzzzzz{{zzyzyzyzyzzy{{{yzzzz{yzzy{{{zz{{zzyz{zyyzzz{{z{zzyyzxzzz{zzz{{{zzyyzzzzzzz{zyyz{{{zyzzzzzz{{zzzz{zzzzzzyzzz|z{|{{zzzzzzz{{zzz{{|{{y{zzzyzz{{{z{{{{z{zzzz{z{z{zz{{{zyzzzzzz{zz{{{|{zz{zzzz{|{{{|{{zzzzzzzz{{{{{{{{{zyyzyzyzzy{zy{{zzzyzyyyzz{zzzy{xzyyyyyyyyzzzzzzzyxyyyyy{zzzz{{zzzzzzzzyyzzyzz{zzyyzyxyzyyzzyyz{yzyzxxyyz{yzyzy{yzyyyyyyzzzyyz{yyyzzyyyyzzzyyzyzyyyzyzyzzzzzzz{{zxyzyyzyz{zzz{zzzyzyyyyzyyzzzz{zzyzzyyyyyyzzzzz{yyyzxyyzzzzzyz{yzzzyzzzyyyyyz{{{zyzzyyzyyyy{z{zzzyxyyzzyzzzzyzzzzyyyxzzzzzzzz{{zyyzyzy{zzzzyzz{zzzzyzy{zz{zyzz{{zyzz{zyyzy{zzz{{zzyzzyyzz{z{zzzzzzzyzzxyzz{{{|{zyyzyzzzy{{{{zz{{zzzzzzxz{{z{z|{{zyyyzzzz||{z{z{|zz{zzz{{{{zz{{z{zzzzzzzzz{||{z{{{z{z{zzz{zz{{{zz{zzyzzzzz{{{{|{{|zz{{zzz{zz{z{{zz{zzzzzz{zz{{{{{zzyzzyxzz{z{y{{{zyyyyzzzzz{zzyyzzyyyyyzyzyyzyyz{zyyyyyyyyzyzzz|zyyyyzzyy{zzyzy{{zzyyyzxyzzz{yyzzzzzyyyxyzzzzy{y{yzyyzzxyyzzzzzz{zzyzyyzzyy{zyyyyxyzxyyzyzyyzyzzzzzzyyyyzzzzzzzzzyyyxyyxyyzzzzzz{yzzzyyyxyzyzyz{yzyyyyxzzxyzyzyzzzzyyzyzyzzzzzzzzyxzyyzzyz{yzz{{{yzyyxyzyyz{z{{{{zzzzyyzzzyzzz{zzyyzzyzyz{zzzzz{{zyyzzyzyy|zzyzzzzxzyyzyzzz{zyz{{yzzzzzyz{z{z{zz{yzzzzzzzzz{zz{{{{yzzyzyz{z{{z{{{yzx{zyyyz{z{{{{z{zzzz{yyz{yz{z{{y{z{yzz{z{{z{{{{{zzzzzzy{{{{{{{zzz{{zzzz{|zzz{zyz{zzyz{z{{{{zz{{|zz{zzzz{{{{{{{{zzzyzyzzy{z{{{{{{zzzzzxzz{{zzy{{zzzyzzzz{zzzzzyzyyzzyyxyyzyzy{{zyzyzyxzyzz{zz{z{|zyyyyzzzzyx{{{yz{yzzyyyzzzzzyzzyyzxyzyxzzyzyzy{yyyyyzzyyzzyyyzzzzyzzzyyyzzyz{zzyyyyyzxyzzyzzz{zzyyxyyzyzzyzzzzzyxzzyzyzyzzzz{zzyyyxxzxyyy{yzz{zyyzyzyxyyzyyyzzyzzwyyyyyyyyzyz{zzyzzyzzyzzzz{{{{yzzyyyzzyzzzzz{{zzyzyyyz{zz{yy{zzyzyzzzxyzzzz{{zzzzyxzzyzzzzzzz{zzzyzzyyzz{{zz{zzyyzyzyyyz{z{|zzzzyzzz{zz{z{z{|{yyzzzzzzz{zzyzz|zyyzzzyzzz{zzz{zzzyzzyzyz{zz{z{{yzzyz{zzz{{zzzz{yyzyzzzz{{{zz{z{z{zyzzzz{zzzz|z{{x{zzzzzz{{z{z{{zzxy{{z|{{z{z{|{yyzyzzzzzzzzz{z{z|zzzyzyz{zz{{{{zyzy{yzzzyzzz{zzyyzxyzyyyzyyzzzzzxyzyxyyzzyy{{zzyzzyyyxzzyzzzyz{yzxzxyyyyzzyzzyyyyyyzxzyyyyzzzyzyzxyzzyxyzzyyyyzyyyzyxyyyyy{zyzyzyyyyyyyzzyyzxzzxyyyyyzxyyyzxzzyyzwzyyxzxyzyzzyzyzzyxzyxzzy{{zzzyyzyxyyyz{zxyz{yyzyyxyyyzyyzyzzyyzzy{yyzzzzzzzz{yzyyyyzzzzzzzy{{yyyxyyzyzz{{{zzz{yzzzxyy{z{zyz{{zzyzyy{zy{zzzzzy{zzzzzzzy{zz{y{zzyyzyzzz{yzzzz{zzyyzzzyyzzz{{{zzzzzzzzzzzzz{z{y|zzzz{yyyyyz{{{{zyzzz{yzyzzzz{z{{yzzzz{zyzzz{{zy|{yzzzzzzz{{z{{{{{z{z{yzz{{zz{zz{zy{y{z{zyz{{{|{{zyzzzyz{yz{z{z||zzyzzzzzz{z{z{{{z{xzzzzzzzzz{z{zzyyyzyzyzzy{zzzzzyzyy{yxzzz{zzzzzyzyzzyz{{zz{{zzzyzyyzzzzzy{z{{zyzzyyzyyyz{{zz{{zzzzxyzyyzzzyzzzyyzzzzyzzzzzy{zyzyzyyxyzyzzyyzzzyyyxxyzyzyzyz{zzyyyxyxyyyzzzzzzzzzyzzzyzyzyzzzz{yyyzxyyyyzz{zz{zyyzzyyxyyyyz{zzyzzyzyxyyyzz{zyz{zyzyzyyyzzzzzzzyzxzxzzyyyz{yz{{|{zzyyyzyzzzyz{z{zxyyyzzzzzzzz{{|z{yzzzyyz{zyzzz{yyzyyyyzzzzzzz{z{zz{zyyy{zzzzyz{zzzzyyzy{z{z{{{{zzzzyyzzz{z{zz{{zyzz{y{yzz{zzz{zzzyyzyzyzz{zz{{z{{zzzzzz{{{{{|z{zzzyyzzzzzzzz{{{{{zzzzz{y{{{|{{{{yzyzy{zz{{{{{||{{zzzzzz{|z{{{{{z{yyz{z{z{z{z{{z|zzzyzzzyz{zz{zzzyzyyyzxz{zzzzzzxzzyyyzyzzzzzzz|yyyyyyyyy{zzzzzzzzzxyyyxzzzzzyyzyyz{yyy{zzyzyzz{zyyxxxyxzz{zzzz{yxyyxzyyyzzyzz{yyyzxyxxyzyzyzzz{yzyyyyyyzyyzyzzyyyzzzyyzzz{y{yzyzyyzzzzzyz{zzz{zzxyyxyyzz{zyyzz{yzxyyxyyyzyyzyyyxyxyzyyzyyzzyyyyyxzyyzyyzzzyzzzzzzxyzzzzyzzzyzz{zyzzzyzzzyzzyzzzzzzzyyzyzzzyz{zzzyzzyyzyzzyy{{{{zzzyyzyzz{{zz{{zzzyzxyyzz{zzz{{z{zzzzzzzzz{zz{{zzzzyzyzzz{z{zz{{yz{zyyyyz{z{zz{zz{zy{zzy{{{{z{{{z{zzzyyzz{z{{|{{{{zzz{zzz{{{zz{{{yzz{zzy{{{z{{{z{{yzz{zy{zyzz|{{zyzzzzy{{{{zz{{zzzzz{yzzzzz{z{|{zzzzyyyxzyzz{{{zz{zyzzyzzzyzyzyzyyyyyyyzzzzyyyz{yyyyxyzyyyzzzzz{zzzyzyyxzzzyzy{zzyyzyyyzyzzyyyz{yzyyyzyxyzyzzyzzyzyyyyzyyy{yyzzzyyyyxyyx{zyyyyyzyxyyyyzyyzyzy{zzzyyxzwyyzzyzz{{yzyyyxyxzzzxzz{zzxyyyxxzyyzyzyy{{yyzyyyyyyzzy{y{zzzxyyyzyyyyzy{zzyyyyzyyyzzy{y{zzyyyyzyzyzzyzyzyzyyyyyxzyyyz{yz{zzzyyzyyxzy{zzzz{zzyyzyyyzyyyz{{zyyyzzzyy{{{zzzzzxzz{yzyyzyzyzzzzzzzyyyzzy{z{zzz{zzzzzxzyzzzzz{z{zzzzyyyyz{{z{zzzzyzzzzzzz{{z{zz{zz{yzzzzzzzzz{zzz{yzyzyz{{{{z{{{{yzzyyzy{zzzz{zz{zyyyyyyzzzz{y{{zz{zzzyzzzz{{z{{zyyyzzzxzzzz{z{zyzyyzyzyzzz{yz{zzzzzyzyyzzzzyzyzzzzyyxyyzyzzzzzzyzyyyyyzyzzzzzzzzyzzyzzzzyzyzyz{zyzzyyyzy{yyzzzyzyxzyxyxzzzzyzzzyzyyzyyzyzyzyzyzyyyzyyyyz{yzz{zyzyzyxzxzzzy{yzzzzxzzzxzxz{zzzzzzzzzzyzyzyyzyzyzzyyzyyyzyzzzzyz{zyzzzxyyyzyzzzzzzyzzyzxzyyzyyzzzz{yzyzzyyzzzzzzzzzzyyyzzzzzzyyzzzzyyyyyzz{zzyzy|zzyzzy{yyyzzyyzzzyyzzyyzzzzzzzz{zzyyzzyyzyzzyz{{zzzyzzzyyzz{zzzzzzzyyz{zyzz{{z{{{zzzzzzzyzyzz{zz{zzyzyzyyy{zzz{{{z{zzzyzyz{|{{{|{zyyzy{{yz{zz{|zzzz{zyz{zz}z{{{{z{zzzz{zy|{{{|{{z{{y{{yzy{zzz{z|{z{{zzz{zz{z{{{{{zz{yy{{y{{zz{z{zzzz{yzzz{{{yzzz{zzyyyyzyzyz{z{{yyzyzyzyyxzyzzzzzzyyyyxzyzzz{z{zzyzyyxyzxzzzzzz{zzzyzzyzyzzz{zy{{yyzyyzyzzz{z{z{zyyyyxyzyzzyzz{zzzzzyyyyyzyzxyyzzyzzyyyyyyyyzxyzzyzyyyxyyyz{yzyzzyyzyzyyyzyzzyz{zzyyyxzyyz{zzzz{{zzyzzyyxyyzyzzzzyyxyzyyyyzzyzzzzzyyyzyyyz{zzzyyyzzyyyyxyzyzzz|yzzzyxyyyzyyzzyzzzyzzzxyyyzzzz{z{{zzzzyyyyz{zzzzzzzzz{zyyzzz{{zz|zyzyzzyzz{{{zy{zz{zzzzzzzzzzzz{{zy{yyz{zzzzz{z{{{zzzzzzzyz{{zzz{{{yy{z{zz{{z{zz{{{zzzzz{z{{z|{z||zzzzzyzzz|{{{{{{zzzzzzzz{zzzzzz{{zzz{{zz{zzz{z{{yzzz{zz{zzz|zzz||{zz{{zzzzzz{z{z{zzyyyzyz|z{zzz{zzzxzyzy{zzzzzyyyzyyzyxyyyyyyy{zyzzzyxxxzzzyzyyzyzzyyzzyzyz{yzz{yyzzyyzxzz{zyzz{yyy{xxyyyyzzyzzzyyzxxyyyzzz{yz{zyyzyyyxyyzzzzzyyzzyyyyyyyyzzyzzzyyyyyyyyyyyzzzzxzxyyyyxyyzyyzzxzzxyyyyzyz{zzzzzyyyyzyyyyyyyzyzzzzyzyyzyyzyyyyz{{zyzyyyyxzyyyzz{zzzzzyyyyzzzyyzz|yyyzyzzzyzzzzzz{z{yyxyzyzyy{zzzzzyyyyyzzy{z{{zzzzyyyyzyyzzzzzy{zyyzyyzzzzzzyyzzz{zzzzzzyzyz{{z{{zy{z{z{y{zz|{{{{zzzyzzzyzzzzzzz{zzzy{zzy{yzz{{{{zz{z{zzz{{{||{{zzy{zzzzzz|{{{{{{z{{zzy{z{{yz{{z{zy{zyyyz{{zzzz{{zz{z{zz{{{z{z{|{{{zzzzzzzz{{{{z{zzyzyzzzzzzzz{{{yyzyzyyyzzz{z{zzzzyyzyyxyzzyzzzzzyyyywyyyz{zzz{z{yyzyzyy{z{zy{{zzz{yyyzyzzy{zzzzzzyyxyzyzzzyyzzyzzyyyyy{zzzyzz{{zxyyyzyyzzzzzzz{zzyzyzyzyy{zzzzzyyzxzyxzyyzzyzzzzyzzxzyyzyzzzz{zyyyyyyzyy{zzzzz{zzyyyyyxyzyzzzzzyz{yyzzzy{zyz{z{zyzzyyyyzzzyzzzyzyzyzyzzzz{yzzz{zzyyzyzyzzy{{zz{zyzzyzzy{zzzz{z{zzzzyyyyzzzzz{zzyyzzzzyyzz{{z{{z{yy{yzy{z{{{z{z{{yzy{{zzz{{{z{{{zzzyzzzyz{z{z{{zzzyzzzyz{{z{z{{zzzzz{zzzz|{z{{z{zzz{zz{{zz{{z{|{{yz{zzz{{{{{z{{{{z{zzz{z|{z{{z{zzzzz{zzzzz{z{{{{{zz{yzzzzz{z|{{|z{{yzzzzyzzz{z{{{zzyyzzy{z{{y{{zyyyzzyzyzy{zzzzzyyyzyyzyyzzzzzz{yzzyzzyzzyzzzyzzzzzzyzyzzyzyz{{zzyyyzyyyzzzzyzzzyyyyyzyyzzyyyzzzyyzyyzyzz{zxzzzzzyyyzyyzyzzyyyzyyyyzyyxyyzyzzzy{zyzyyxzzzzzzyz{zzyyyzzxyyz{yzzzzzyyyyyyxz{z{xzzyzyyyyyyyzyzyzy{zzyyyyxyyzzzzy{zzyyzzyzyyyyz{zzzy{yzxyyzyzz{zz{zzyxzzyyyzzz{zyz{zzyyyyxyzyzzzyzzzzyyyzyyzzzzzz{zzyyyzyxzzzzzzzzzzyzyzzzzxzzzz{{{zzzzzzyzzzz{{{{{zzyzzyy{yzyz{zz{{zzzyyz{yzzzy{zzzzzzzzzzzz{zz{{{{zzzzz{zz{z{{{|{|{{zyz{yz{{{{z{{z{zz{yzz{zz{{z{|{zyzzz{zzz{z{z{{|{yzyzzyz{z{{z{{{zzzyzyzyzy{z{|z{{zzyyzzzzzz{{{{{zyzzz{yyzzyzzxzzzyyzyxyxyz{zzz{{xyzxx{yyzzy{zzyz{zyxyyzyzyyzzy{{zyyyyzyyyzzyyz{z{yyxyyyxzzy{yzzzyyzyyyyyzyzz{z{zzyzyyyyyzz{xyzzzzzzyzzyyzyyzyzz{yyxyyxxxy{yzyy{zyyxxyyxyzzz{yzzzyyyyyyyyyzzzyyzzyyyyyyzyzyzyzy{zyzzxxxyyyzzzz{yzyyyyzyyzyyyzzyyzzyzz{yzzzzzzzy{zyyyyyyzzy{zzyzzzyzzyyzzyzzzyz{{zzyzzyyyzyzyzzzyz{zzxyyyyzzy{zz{zzyyz{yxyz{zzzz{y|{zyzyzy{zz{{z{z{zzz{zzy{y{{{z{{zzzzyyzy{|{{{y{zzzzzyzyy{|z{{z|zz{yyyz{zzzz{z{z{{z{yyzy{zz{{z{{{|yzzyzzzzyz{{zzz{zx{yzzyz{z{{{{z{zzzz{zzz{{{{{{|zzzzzy{zyzzzz{{zz{zyy{zzy{zzzz{zyzzzyzzz{z{zzzyzy{yzyyyxyzzzzzzzzyyyyxxzzyzy{zz{zzyyyzzyyyzy{zzzzzyyyyxxzzzyyzzyzyyyxxywzyyzz{zzzzzzyzzyyzyz{zzyyxzyzyxzyyzyyzzzyyyyxyyyyzzzyyzzzyzyyyyyzyyzyzzzyzxzyzyyyzyzzzzzyyyyxyyxyzzzzzz{yyyyxzxxzzzzy{zyzzyxzxyyyzyzzzzzzyyyzzzxzyyz{{zzzzyxzxyyzy{zy{z{zyzzyyzyzzyzy{zzzzzyzyzyzz{zzz{{zzyyzxyy{z{zy{zyzzzyzyzyzzzy{{{{yyyzyzyzzzzyzz|yzzzzzy{zz{z{z{zzyzzyzzzzzzz{zz{|yyyzyzzz{{zz{{{{{zzyzz{zz|{{z{{{zyzzyz{zyzz{{{y{yz{zzyyyz|z{{{z|zzzzzzzz{{zz{{{z{z{z{yzz{z{{zz{{{zyz{zzyz{{zz{{{z{zyyzyyyz{{z{{{{zyzzzyy{zzz{zzzzyyyzxzzzyzzzyz{yyywyyzzzz{yzzyzzzyyyzyyxzyzzzyzzyxyyzyxyzzyzyzzzyzxyyyzzz{yyzzzzyzxxyyxzzzzyzzyzyzyyyyxzzzyzzzzzzzxyyyxzyyzzyyyxyzxyzyyyyzyzyyzyyyxyxyyyzyzzzyyxyzyxyxyzyzyzzyyyyyyxxyyzx{zyzzyzyzzyxxyyyyxyzzyyzyxyzyyy{yyzzzzyyzyyyxxyzzzyzzyyzyyyyyxzzyzzy{zyyzyxxzyzzzzz{zzyzyzzzyzzyz{zzzzzyyyzyyxyzz{zzzzzzzyzzyzyzzzzzzyyzyzxzyz{zzyz{zzyyyyyyzyzz{{yzzyyzzxyzyx{z{zzz{{zyzzxyyzzz{{zzzzzyzyzzyy{zzz{z{{zxzzzzzzz{z{z{{zzzzzyzzzy{{{zzzz{yzzyy{zzzz{{zzz{yyyz{zzzzzz{z{{zyyyzyzz{{zzz{zzyzyyyzyyyz{zyz{z{zzzyyyyy{z{zzyzyzyyzzyzzyyyzzyz{zyxzzyyyz{zzz{zywyyyxyyyzyzzz{{yyyyzzzyzzyzz{zzzyyzyyxyzyz{yyzz{yzyyyyxyzzzyyxzyyyyyyzyyzyyzz{yyzzyyyyyzz{zyzzzxyyxxyzzzyzyzz{zyzxyxyzxzzyyyyzzyyxzyyyzyzzy{{zyyzzyxxyyyyzzyy{zyyyxyxyxyyzyyzyzyzyxzyzyzzzyz{zzyyyzyyyyzyzzy{z{zzyyzyzyzzzzzzyzzzyzxxyyzyyzyzzzyzzzyxyzzzzyzzzzzyyyzwyzz{{yy{zzyx{yzzyxyzzzy{zzzyzzyyzyz{zzz{zz{zyyzyyzyzzzz{z{yzyzzzzzzyz{zz{zzzzzyzxzz{{{{z{z{yy{zyzz{zzzz|z{zzyzzzzyz{{zz|zyyzyzzyyz{{z{zz|yzzzzzyyzz{zzzzz{yzyzzzzzz|zz{{|{zy{z{yyz{{zzzz{{zzzyzyy{yyzzzz{zzzyzyzzyzzzzzzz{yyyyxyzyz{yzyy{{yzxxyxyxyzzzzzz{zyyyyyxyyzzyz{{{yyzyyyyy{{zyzzzzyyzyyyzzyzz{xy{zyyxyxyyyzyzzyzzzzyyyyyyyzzzyyyzyzxyyxyzyzzzzzzzzyyyyxyxzyyzyyzzzxyyyzxyyyzyzxzzyzyyyyzyyyyyzzyz{yyyyyyxyyyzzyzzzzyyyyyyyyzyzzzzyzyzzyzzyyzyzzzzyyyzyyzyxzzyzz{zz{yyyyyxyy{zzzzzzyxyzzyyyzyz{y{zzyyzzyzzy{zzzzzyzzyzyzyzzz{zzz{zzzyyyzyzyz{{{zzzyzyzzzz{zz{zzzz{zzxz{zz{y{z{{{{{{zzzzyyzzz{zzy{{zzzyzyzzy{{zzz{{{{zyzyxzyzz{{zz{|zy{zzz{zz{zz{{zzzz{{yzz{z{yzzy{{{yzzzzzz{{zz{|zzzy{{zyzzzzz{{z{zzz{zzzz{{zyz{{{{{yzzzzyy{{zzz{{{{zzzyzyzzz{zzzzzyzzyzyyy{{zyyyxyyyyyxzyyyyzzyyz{xyyyxyyzzyyyzzzzyyyxzzzyzzzyzzz{zyyyyyyyyzzzzzzzzyyyxyyxzz{zy{z{yyyyxyyyzzyyzyzzxzyyyyxyzyzyzzyzzxyxxyzzyyyzyzzyxwzyyxyyzyyzyzyzyyyyyyxyyxyzzyzzyyyyyyyyzzzyyzzzyyyyyyxyyxyzyzz{yyyyyyxyyzzyyyzyyxzzzzyyyzzzzzzzzyyyzyyz{zzyyyz{zzyzyyzyzzzzz{yzyxzzyyyy{zz{zzzzzzyyyyzzzzyyz{zzyzzyyyyzzzzzzzyz{yy{yy{yz{zzz{yzzz{yzzyy{z{zz{{{yzzzzz{zz{{zzzz{{yzzzzyyzzzzzz{zzyyyzzyyy{zzz{{{z{zzzzzzzz{{{{{{|zyyyzzzz{{zz{{{zzyz{zzzz{{z|{zzzzzzyzz|{zzz{z{{zzz{{yzzzzzz{{|{z{{y{zzyzyzzzz{{zzyzyyzyz{zzzzzzyyzzzyyyyzzzy{zyyzyyyxyyyzzyyyzyzyyxyyyzzzzzy{z{zyyzyzyyyyzzzzz{yyzyzyyyzzzz{zz{zyyyyzzyzzzzzzyzyxzz{zzxyzyzzzzyzyyzyxyxyzzyzzzzzyxyyzzxyyzyzz{{yyyyzxyxyzzxzxyzyzzyyyyyyyzyzyzzyxzzxxyyy{zzxzyzzyxxyyxyyzyyzyzyyyyyyyyyyzzzzzyzzyzzzyyxzyzyzz{{yyzyyzzyzzzzzyyzzzyyy{zzzzzzzzzzyyyzyyyzzzzzzzzzzyzxyzzzzzz{{zyzzyyzyyyzz{{zzyzzzyyzzzyyyz{{zzy{zy{z{zyzz{zz{z{{zyzyzz{zz|z{z{{z{zzzzyzz{|{zz{{{{zzzzzzzz{z{z{z{{y{zzz{z{{zz|{zzzzz{zyyz{{zz{{{zzyzzzyzzzzz{zz{z{zzyzzyzzzz{{{{{{zyyzzzzz{z{{zz{yyzyyzzyzzyz{{{zzzz{zyyyyzz{zzzzyzyyzxzy{zzzzyyzyyyyyyyyyzyzzzzyzyyyyxzyyzyzzzz{zxxxyzyzzzzz{yzyyzyyyyyzzzzzzy{zyyxyxyzyyzzzyyz{yzyzyyzxzzzyz{{yzyyyzzyy{zzzy{zzxyzyyyyyyzyzzyyzyyyxyyxyxzzyyyzyyyyyyxyyzyzzzzzyyzyyxyzyyyzzzzz{zzzyyyzzyyxzzzzyyyxyyyyyzyzyyz{zyyyzzyzxyzy{{z{zyzyyzyyzyzzzzy{{zyzyxyxzzzzzzzyyzyyyzzyz{zz{z{zzzzyzzxyzy{{zyz{zyzzyzzyzzz{zzzzzzzyzzyxzzzzyyz{zzzzyzzzzyzz{z{zzyzzzzzzxz{{{z{||yyzzyyzz{|zzzzzz{yzzyyzy{{{{{{{{{yzy{{yzzzzy{zzzyzzyzzzzz{{zz{{{zzzzyyzyz{zyzzzzzzzzzzy{zzz{{zz{zzz{zyzzz{zz{|z{{zzyzzyzzzzz{z{{zzzyzyzyzzzzzzzzzzzyyyxzzzzzzzzyzyzxxyyxyz{{yzyzzyxyyyzyzzz{{zy{zyyyyyzyyyyzyz{{yyyxyyyzzzzzyy{zyyzyyyyyyzzzyzz{yyzzyyzyyzzyyyzyyyzzzyxzyzzyyzyyyyxxyxyzzyyzzzzzyyyxyxyyyyyzzzzyzyyyxzyyzzzzzzzyyyyyxyyyyy{yzzzzzzyyzyyxzzyyyzzyyyyyyyxyzzyyzzyzyyyxyyyyzyzz{yzzzzyxyyyyyzyyzz{zzzyzyyzzzyyzzzyzyyzzyy{z{zyzzzyy{yzyzyzxzz{yz{zz{yzxzyyyzzzzyzzzyzyyyyyz{zzyz{zzyzzyzxzzz{|z{zzyzzyzzyzzzzzz{zz{yzzzzyyy{{zzy|z{yyzzzyyzz{{zzz{{zzzyz{zzy{z{{|{z{zzz{zzzzz{{{{zzzyyyzyyzzzzz{{{zzzzzzxz{zzz{zz{{zzzyzyyzz{{{z{{{z{zyz{yyz{{{z{{{{yyyzzzyz{y{z{{zyyyzzyy{zzzzz{zyxyzxzyzyyzzzyzyzzyyzyxyyyzzyzzzzyzyyyyyy{zyy{z{zyyyyyzyyzzzzzzzyyzyxxyzyyyyyzzz{yyzyyyxyyyyyyzzyzxyxxxyxzzzyzyzyyyyyyzxzzxyzyyz{yzyxxxzyyzzzyz{yyyzyxywyyzzz{zzzyyzxyzyyyyzyyzyyyzyyyyzyyzzyz{zzyxzxzxyyzzyzz{yzyxyyyyyyzzyyzzzyzyyyzyzzzyzzzzyzyyyyzzzzzyyzzz{zyyyzyyzyzyzzy{zzzzzyyyyyyzzzzzy{zzyyzzyyzzzzz{zyzzzzzzyyy{{yz{zyzzzzxzyzzz{{{{z{yy{yyzzz{{z{zz{{zyzyyzyyzz{{{{z{zyzzyyyzzzzz{{{zzzyzzzzz{{zz{{z{{zz{yzzzz{{z{|{zzzzz{yyz{zzzz{z{{yyzy{zz{zzzz{{{zzyz{zyz|{zzz{{{zyzzzyyzzz{{{{z{zzyzzyzyzyz{yy{zzzyzzyzyzzyzzyxyzyzxwxyxy{yyyyyzzyyyzxxxzyzyyz{|zyxyyzyyyzyzzzzzzxzzyyxzyyzzzyz{yyyyyzyyyzzz{yyzyyxyyyyxyyzyy{yzyyzyyyyyzzzyxzzyzzzxyyyyyyyyzyzxzyyyzzyyzzzyzyzyzyyyyywyyzzyyyyzyzyyxyyyyzzzyzz{yxyzyxyxzyzyyzzzyyzxyyyyyzyyyzzxyyyyyyyyzzzyz{yzzyzyzzzzyzzyxzzzyyyyyyyyzyz{yyzzyzzzyxzy{zyyzzz{yzzyzxyzyzyzzzyzzyzzyzzyyz{yyz{zzzzzzyzzz|z{{zz{zzyzyzyy{zz{zz{{z{zzzzzzzzyzyzzzyzzyzyyy{z{zzzz{zyz{zzzyzzz{zz{z{zzyzz{{z|zzzz{zzzzzz{zyy{zz{{{{zzz{zzzz{z{{{z{|zzyzzzz{{{{z{{{{zzyyzzzzzz{z{{zzyyyyyxzyz{{zz{{zzzzzyzyx{{{zzzzzyyyzxyzyzzzzzzyzxxzyyxyyyzy{yzz{yzzyyywzzz{zzzzzyyyyyzyyzz{zyzzyzyzzxyyyyyzzzyzzzyzxyyyxzxzz{zzzyzzxyzyyyyzyzyzzzyyyyyxyyxzyzzzyzyzxxzxyzxzyzzzzyyxyyyxyyzzz{yyzyyyyyxxyyyyyzyyyyxyzxxyyyzxzyz{zyzxyyyywyzxyzz{zzxzyyxyzy{zzz|zzyxyyzyyyzzzyzzzzzzzyyzzzzzzz{zzzzyyzyyzyyyyzz{zzzyzzxxzyzzzzzzzzzzyyzyzyyyz{zzy{zyxyyyyyyz{zyzzzzyyzyyyyzz{zz{z{yyyz{yyzzzy{{yzzzzyz{yzz{zz{zz{{{yyzzyzyy{zzzzz{{xzzzyyyzzyz{{{zzzzyzyz{zzzzzzz{zzyzzzzzy{z{zzz{z{{yzyzzzzzz{z{zzyzyzzzzz{z{zz{{|zzzzyzyzz{z{{z{yyzzyyyyyzz{y{{z{yzyzzzyz{{z{{zzyz{yzyyzzyz{yzxyyyyyxyyxzyzyyzyyxyyyyyyyyzzyyyyzyyyyyzyyzzyzyzzzyzyyxyyyyzyyyyzyyzywxxyyyzyzy{zzyzyxyyyyyzzzyzzyzyzxxyxyzzzyyzyxyyyxyyyzzyzxyzyzyxyyyyxyyzyzzzzyyyyyyxwxzyzzzzzyyxxyxyyyyyyyxzzyyyyyxxyyyzzyyzzzyxxyzxyyyyzyzzzzyyyyyxyyzyzyyyyyyyyyyyyyyzyzzyzyzyzyyzyyzzyzy{zzyyyyyxyyyzy{yzzzzyyzyyyyzzzz{zzzyyyyyxyyy{z{yzzzzyyzzzxzzzyzz{yzzyyyzyzzzyyzzzzzyyz{zyzzz{z{zzzzyyzzyyyyyzyz{{{z{yzz{zyz{|zyzzzy{zzxyzzzzzzzz{{{zyzzzzzzz{{{{z{z{zzzzzzz{y{{zzz{zyzzzzzyzzz{{|{{zzy{zzyz{zzzzz{{yyzyzyyzzz{yzz{zzzzyzyxyzz{{zz{zyzzyyyyyzyz{zyyyxyxyyxyxyyzyzyzyyyxzyxyyzyyzyzzyyyzxyxyyyyzyyzzyzxyyyyyyyyz{yyyzyyyxyzyyzy{zyzy{yyyyyyyxyzzyxyzyyyyyyyyyzzyzxzyzyxyxxyxyxxyyzzzyyyzxyyyyyyyyzyzyyyxzyyyyyyzyyzyzyyyxxzxyyzzx{zzzyyyyyyyyyyyyyyzy{yyxyyyzyzz{zzzyyxyyyzxyy{zyzzzzzyyyyzyyyzyyzyzzyzyyxyyyyzzyzyyzyyzyyyyyyyzyzz{yzyyyyyzzy{zzyzzzzyzyyyyxzzyzzzyzyyyzzxyzzzzyz{zyzyzyyzyyzzy{zzzzyyzzzzyyzzzyzzzzzyyyzzxy{{z{zz{yzyyyzzyyy{zyzzzzyzyyzzzzzzyzzz{zzzzzzyxyy{{zz{zzzzzyyyzyz{zzzzz{zzyzyy{z{zz{{z{{{zyz{zzzzzz{zzzzyzzyyzyyz|zzzzzzzyzzyyzxyzzzzz{zyyyyyyyyyy{zzzzzyyzyyyyyyzzzzz{zyxxzyxyyyyyyzyzzyxxxyyxyzyzyzyyzzyyyyzwxzz{zyyyzyyyyyyyxzzzzzzyzyyyxxzyxyzzyyzzzyxyyyyyyyyzyyyzyyzyyxyxyyzyzzyyzyyyyyyxyyzzyyzyyzzxyyyxyyzzzyzzzzyxyxxxzzzzzzzzyyyyzyyyyyyzyzzzzzyxxzyxxyyyzyzzzzyzyzzyzzzyyy{zzyyyyyzyzy{zyzzz{yyzyzyyyzyzzzzyzzyzzzyyzyzyyzzzzzyzzzyyyz{zyz{zz{yyyzyyyzzz{zzzzzzzyzzyzzyyy{zzzyyyzyyxzzzzzy{{zzzyyyzzyzz{{zz{{zzyyyyyyzzzz|z{zzyyyyyzyzzz{z{z{zyzyz{zzzzz{{{zzzzzzzzz{zzzz{z{zyyzzzyzyzz|z{zyzzzzyyzzzzzzzz{z{z{zzzzyz{zzz{{z{yzzyzyyyyzzzz{{{zzyyzy{yz{zzzz{{yyzyyyyyyzzzyyyzzxyxzyyyzzzzzzzzyxyyyxyxzyzzzz{zzyyxyyzxzyzyzzzz{yyzyyzzzyzzyzzzyzyyyyzxzzzzzyyzyxyyyxyxyzzyzyyyyyyyxyyyzzyyyzzzyyyyyyxxyyyzyzzzxyyyyzxyzzyyyz{zyyyyxyyyzzyzzzzyyyzyyyyyyzzzyy{zyyyyyyyxyyzyyzzzyyyyyyyyyzzyyz{yzxyzyzzxxzzyzzzzyyyyzy{yzz{yyzz{yxzyyyyxzzzzzzzzyyzyyyzzyzzzzyyzzxyzyyxyyzyzz{{zzyzyzzyyzzzzzzzzyyzzyyzz{zzyz|zzzz{yzzyzyzz{zzz{yyzyzyyzzzzzzzzz{zyzyzyyz{{{zz{{zzzzyzzz{zz{z{|{zzzzzzyzz{yz{{z{|yzzz{yyz{{{z{{yzzzzzzzyz{zzz{{z{yz{z{yzz{z{{z{{{y{z{yzz{z{zzz{{zyzyyzzyz{zz{z{|yzzzzzzyz{z{yz{zzzyyyyyyyzzyyzyzxxxyyxyyyyyyzyzyyzyxyyyyyyzyyy{yyyyyyyxwyyzzzzzzyyyxyyyyyxzzyzzzzzzyxyyxyzzzz{yyyyzyyxzyyz{yyzzzyyxyyxyyyyzyxyzyyyyyyzyyyyyzyyz{yyxxxyyyxzyyzyyyzyxyxxyyzzyyyzzyzyyyxxyyzzzyzzzyyyxyxzyxyzzyxzy{xyxxyyyyyyzzyyzzyyyyzxyyyyzyz{zzyyyyyyxyyzzzzz{zzzzyyxxyzzyzy{zzzyyyyyzyyy{zzzzzzyzyzyyzyyz{{zz{zyyyyyyyzzzzzzzzyyyyyyzyy{yyyzz{yzyyzyzzzyzz{zzzyzzyzzyyzz{{{zyzyzzzyyzxz{zz{{zzzyzyzyzy{{zzz{{z{xzzyzzzz{zyzz{zzzzzzzyyyz{zzzzz{yzzzzzzzzzzyzzy{yyyz{yzzz{{z{{zzzzzz{zzzz{{{{z{yzzyyyzzzzzzz{z{zyyzzyyyz{z{y{zyzyxyxyyyzzzzzzyyyyyyyyyyyzzyzzzzyxyzzyyyyzyzyzyzyxyyyzyxyzyyyz{zzyxyyxyyzzy{yyzzyyzyxxyyyzyyzzzzzxzxxzyyyzyyy{zyyyyyyyxxyzyyyyzzyyzyxyxyxyzyyzyyxyzyxxzyyzyzyyyyyzyxxyxyyyyyy{zzyyzyyzyyyyzzyyzzyyxyyyyyy{yzyyzyyzyxyyxyyzyzyyzzzxzyzxyxzzzyzzzyyxyyyyyxzyyyzzz|yzzzyyyyyz{yzzyzzzyyyyzyzzzyzzzzyyzzyxyzzzyzzzzzyyzzzyxyzzzzz{zzzzzzyyyyyyzzyzyyzyzyyyzzyzzz{{yyy{zyyyxyz{yyz{zzzzzyyzyzzzz{zy|{zzzyz{zzzz{z{{{{zzzyyyzzyzzzz{{{{zzyzzyyy{{{zzzz{yzyzz{zzzz{{|yzzzyzyzzyzy{zzzz{{zyzzzz{zzzz{z{zzzyyzyzyyzyzzz{zzzyyyyxzzzz{zy|zzzyxyyzyyzy{yyzzyyyxxyxwzzyyzzyzyxxyxxyyyyzyy{y{yyzxxyyy{zyyyzzzzyyyyyxyyyzzy{zzyxxyxyxyzzzyyzz{zyyyyxyyyyyyzzzyzxyyyxxyzzyyy{zzyyzywyyxyyyzxyzzxyyyxzyyyyyyyyyyyyyyxywyyyzyyyzyyyyyxyxyyyzyyzzzxyzzyyyyyyzyyyyyzyyyyxyxyyyyyzz{zxyyzyxyzz{zyy{zyyyyzxyyzz{yzzzzyyyyyzyzzzzzzzzzzyzxzyzzyzzzzzyzyyzxyzyy{yz{zyzzyyyyzzyyzzzyzyzzzyzyyyyyzzzzzzzzzzzyzyyzz{{{{{z{zzzyzyz{zzy{{{{zyzyxzyyyzz{zz{zz{zzyzzxzz{z{z{{|{y{zyz{yzyyyzz{{{z{zzyzzy|{z{z{{zyzzzzyzzzz{z{zz{zzyzzzz{zz{{zz{zzyzzyz{zyz{z{z{zzzzyzyzy{zzz{|z{yzyyzyzzzzzzzzy{yyyyyzxyyzzzyzyyyyyxxxyyzzyyyyzzyyxxyxyyzyzzzzyyyyyyyyyzyzyy{yyzzyyyyyxzyyzyzz{yyyyxxyyyzzyzzyzxyyxyyzyyzyyzzyzyxzxzyyzyzzzyzyyyyxxxxxyzzyzyzzzyxyxzyyyyzyyyzzyyyyzxyxzyyzzzzyzzyyyxxyxzyzzyxzzyyzyyxyyyzzyyzzzzzyyxxzyyyzyxzzzyyyxyyywyyzz{y{{yyyyyyzyyzyzzzzzzyzyyyyyyz{zzyz{zxzyzyyz{zzzzzzzzzyyzyzyyzzzzzzzzyyxzzyxz{zzzz{zzyyyyyyxyzyzy{zzzzzyzyzz{zz{z{yzzzxyzyzyzzzzzz{|zyzzzyxy{y{z{z{{{yyyyzyy{zz{zz{zyzzyyzz{{zz{zz{{{zzzzzzzzzzz{z{{zzzzyyzyy{{zy{z{zzzyyzzz{{zyzy{{{zyzzzyyz{{zz|{{yyzyzyzy{zzyzy{zzyzyyyyyzzzzy{zyzyyxyyyyyy{yzzyyxyxyyxyxyzyyyyyzxyyyyyyyyyzzzzzzxzyxyyyxzzzyyyyzyyzzxyxyxyyzzxyyxzyxyyyyyzzyzzzyxzyyyyyxxyyyx{yzzyyxyyxyyzzzyyxyyyyyyyyyzyzzyyxzyyyyyyxyzyyyyyzyyxxyxyxxyyzyzyzyyzxxxyyzyyzzxyzzyyzxyyyyxyyxyzzyzzxxyyxyyzyyyzyzyyxyyyzxyzyzyz{zyyyzxyyyzzzzyy{zyyyyyyyyzyzzyzz{yyyyyyyyyzzyzyzzyzyyyzyyzyyzzzzyyyyyyyxyzyzzzzyzzyyyyyyz{{{yy{zyzyzyzyzyyzzzzzzzyyzzyzyzzzzzy{{{yzzyyxyyz{{z{y{z{yzyxzyzyyzzyz{zzzyzyzz{yz{zzzz{zyy{zz{zy{zzz{z{zyzzyyzyzzzzy{zzzyyy{zxzzyzz{zzzzz{zzzzyyyz{z|{{zzzyzyyzzzzzz{{zzzyyyyzyyzzzyzyzyyzyxyyyyzzyy{yxyxyxyxyxyyxyyyxyzyyyzyyyyyzzzzyzzyyyyyyyyzzyzyzyyyxzxzxyzzyz{yzyyzxyxxyxzyyzyzy{zzxyxyyxyzzzyzyzyxyxyyxxyzzzyzzyyxzyxyyyyxyyyyzzzyxyyyzyyyzzyzzzyyyyxyyxyzxyyyzyzyzyyzxyxyzzzzyzyxyxxxyyxyyyyyzxyyyyyyyxzzyzyy{zyyyxyyyy{yzzzyzyyyyyyxyy{zzyyzz{zyyzyxyy{yzyyz{zzyyyyyyyzzzy{zzzyzyyzxzyzzyzzzyzzyxzyxyyz{zzz{yzyyxyzyyy{zzzzzzzyyyzyyzzzz{{zzzzzzyyyzzz{zzzz{zzzzyyzyyyzy{{zzzzyyzzzzyyzzzyyz{{zyzyz{zyz{{zzz{z{yzyzyzzz{{z{{{{zzz{yyzz{{z{zzzzzxzzyzzzzzz{zz{{zzzyzzyyzzz{{zzzzzzyzzzyyzzzz{{zz{yzyyzyy{{yzzzzzyzyzyyyyzyyyyyyyyyxxxxxwyzyzyyyzyxyyyyyyyzzy{yzyxyyyyyxyyzzyyzzzzxyyyyyxzzyzyzyxyyxxyyyyyyxzyyzzyyxxxyxyzzxyyyyzyxxyxyyyyzxyyyyzyyxyyyyxyyyyyzyyyxyyyyyyyxzxyyyxyyxxyyyyzzzzxzyyyyxxyyyyyzyzyzzyyyyxyxyyyzyzzzzzyyxxyxxyzxyz{zyyyyzyyyxyzyyyzyzyyxxxwyxyyzyzzzzyyzzxxyyzzzzzzzzzzzzyyzyyyyyzzzzyzywzxxxzz{yyzzyyzxyyyyyzzzzz{zyzyyyyyxyz{{zyzzzzyyyyyyzy{z{zz{yyyyxzzyyzyzzz{z{zyyxzxyy{zzz|{{yzy{xzyzyzzzzzz{{yzzzzzyzzzzz{{zz{yzzz{{yz{zz{y{{{yzzzzzz{zz{zzzz{yyzzzzzz{{zzz{zzzyz{zzzzzyzzzz{zzzyzzyyzzzzzyzzzyzyyyxzzyz{zyzzyyzyxyxyzzyyzzyzyzyyyyxxzzyzyzyzyxyyzyyyyyzzzzzzzyyyzyyyyyzyzzzyyyyzyxyyyyzzyzzzyxzyxyyxyyyzzzyzyxyyyyzxyzyyyzzyyzyyzxyxxyzyzzyyzyyxyyzyyyyzzzzzxyxyxyyyyyzyzzzyyzyxyxyxyyzzzzzyyxyxyxxyyzzzyz{yyxxyyxyxxyyyzzzzyzyyyzyyyzyyzyzyyzyyyyzxyzzyzz{yzyxzyxzyzzzz{yzzzxzyyyzyzz{zz{z|yyyxyyyyyzzzzzzzzyzyyyyyzzzzzzyzzzzzyzyyyz{zyyzzzzyzyyyzzz{yzz{zzzz{zyyzzzzyzy|zyyyzzyyy{zzzzzzzyyyyzzyy{zzzzz{y{zzxyyzzzzz{{{z{zyzzzz{{zzzz{|{z{zzyyzzzyzzzzz{zzyzzy{zzzz{zzzz{{zyzyz{{zzzz{{z|zzzzzzzy{z{z{z{zyzyyzyzz{zzyzz{{zzzzzyyyzzy{yz{zzyzxyyyzzz{zyy{zzyyxyyyyyzzyxzzyzyyyyyyyxyy{zzzzzyyyyyzyyzyzz{yyyyxyzyyzyzyyyz{yzyyyyyyyyyzyyz{zzxyyyyxxyzyzyyzzyyyyyxyyyyyyxyzyyyyyyyxyyyyzxyz{yyyxxxxyyzyyzz{zyyyyyyxyyyyzzzyyyxyyyyyxyzyyzzzzxxyyyxyyyyyzzzzyzxxyxxxyyzyzyzyzyyyxyyyyxyzyyzzyzyyxyxyyyzzzyzz{zyyzyyyyyzzzxy{{yyyyxyxyyyzyzzyzyyzyyyyxy{zzyyzzzzyyyyyyzzzzxy{yyxyyyyzyz{yzzzyyzyzyzzzyyzz{zzzzzyzyzzzyyzzzzy{zzyyyzyyzyzzzzzz{{yyzzyyy{z{zz{zzzyzy{zzzzzzz|z{{zyzyyzyyz{zz{{z{{zzyyyyyzy{zzzzz{yzyzz{zzzzzz{{{zyyzyyyz{zz{zzz{zzyxzyyyzzy{zz{zzyyzzyxyz{zzzz{zyyyyxyzyz{yyyzyyywxyzxzxyyzyzzzzzyzxyxyyzyyzyzzzzyyyxyyyzzyyzzzyzyzzyxxyyzyzyyzzyyyyywyxyyyzyzy{yyxyxxyyyzzyzyzyyyyyxyyyzyyyyyyzyyyyxyyyyyzyyzyzxxyyyyyyyyzzyzzzyyyyyzxxzxyyyzyxzzzyyxyxyzzzzyzzyyzyxzxxyyyyyyzyyyyxxyxzzxyzyzzzzyyzyzyxyyzyzzz{yyyzyxyzzyyyzzyzyzyyyyyzzyyzz{zzyyxyxyyzzzyyzzzzxyzyzyyyyyzzzyzzyyyyyyyzzz{zzzzzzyyzyxyyzzyyzzzzzzzyz{yzyzzyzyz{zzyzzzz{zz{zyzzzzy{zyzzzzzzzz{zz{zyxzxzz{{y{z{{zzyzzyzyzz{yz{zz{zzyzyyzyy{zyzzz{zyzzyyyy{{zz{{{{zzyzzyxyzzzz{zzz{zzz{zyyzzz{y|z{zzzzyzyyz{zzzz{zzyzyzzyzyzzzzz{zzzyxzzxyzzzyzxzyyxxwzxyyyyyzyyzzyyzxyyywyyyyyyyzyyzxyyyyzyzyzzzyzyyyxzyyzyyzyzyzyyyxxyyxyyzzyyzzyyyyzyyxyzyyyzyzyyyyxxyxzyzzxyzzyyyxyyxyyxyyyz{zyxyxyyyyyzyzzyyxzyxzxyxyxyyyzzy{yyyzyyxyyyyyyzyyxyxyyxxyxzyxyzyzzyxxyxyxxyyyyyyyzxxyyyyyzyzyzxzyyyyyyyxxzyzyyyzyyyyzyyyxyxzyzzzyxyyzyxyyyyzyzzyzzzzyxyzyyzzyyzyyyyyyyzyyzyzyzyzzyxyyyyyxzzzzzzzzyyyyyzyyzyy{zzz{xzxzzyzzz{yzy{{zyzyzyyyyzzzz{{zzzxyzzyzzz{z{{zz|zzzyyz{yzyz{zz|{zzzzyzy{z{zzzz{{{zzzzzyyzzzzz{{zzxzyyzzzzzy{{zz{zyyzyyyy{{zzzz{{zyyyyyzyzyzzz|{zyyyy{zyyzyy{yzyzyyzyxxyyzyzyyzyyxyxyzxxwxzyyzzzyyzyyyyyyyzzzyzyyyyxyyxyxy{yyz{z{yzyyxxxzzyzzyxzzyyyyyzyxyyzyyzyzyyyxzxxxxyyyyzzyyyyxxyyzyyyyyzzzyxxwzyxyzxzzzyzyzxyyyxxxyy{zyy{yyyyyyyyyzzyyyzyzxyyyxxyzxzyyyz{yyyyyzxyxyxyyxyyzzxxxzyxyyyyzzzzzxyyxzzxyyyyyyz{zyyyxyyyzzzzzyzzzzzyzzzzzyzzzzyzzyyyyzyyyzzyz{{z{zyzxzyyyyzzzzzzzyyyyyyyzzzyzy{zzyyyyyyyyzzzzzzz{zyzzyy{zyzz{z{zzyzzyyzzzz{y{yz{zzyxyzyyyyzzy{zzz{zyyyyzyz{zzz{zz{z{zzzzzz{y{z{{zzzzyz{z{z{{z{{{zzzyzzyzzzz{{{{z{{{yzzz{z{zzzzz{z{zyyyzzz{{{{{z{{zxyzzyyyy{zzzzzz{yzzyz{zzzyzzzz{yzzyxyyyzzyyyzzyxyyyxxxyxzzzzzz{zyyyzyyyyyzzzzzyyyyyyyyxy{zyzzzzyyzyyyyyyyzyzyzzzyxyxyzxyyzyyzyzyyyxyyzxxzyyyzzzyyyzyxyyyyxyyyzyzyyyxxyyyzyyzyzzyxyxxyyyyzzyzyzzyyyxyyxyzzyyzyzyyxyyxyxyyzyyyyzzyyxyxxxyyyzyyzzzxyzxyyyxyyyyz{yzyxyyyyyxzzyzyzzzyyyyyyyxzyzzyyzzxzzyxyyyzzyxz{zzxxyxyyyyyyyyyzzzyzzzzzyyyzzzzzzzyyyyyzyzzzzyyz{zzyyzyyyyzzzyz{zyyyyxyyyzzz{{zzy{yzyzzzzyzzzzzzz{zyyyyzyyzz{zzz{yzyyyyyzy{zzz{z{{{zzyyyyzz{y{zz{z{zyyzzzyzz{|z{{z{yzyy{yy{zzzz||z{zyzzyyz{z{z{z{zzyyzzzxyzz{{zz{zz{yzyzzzzzzzyzzzzyxzyzzyzzyzyz{yyyyxxyyyzyzzzyyyxyxxxyxxyyyzyzzzxyzxyxxyyyyyyzzyyyyyxyxyzzyzzzzyzyyyzxyyyyyzzyzyyyyxyxywxxzyyzzzzxyyyyyyx{yxyzyzyyyyxzxyyyzyyyyzyxzyyyyxyyyyyzyyyxyxxwyyyxzyzyyxyyyyyzxxyyzyzzyzxxyzyyyyyy{{yyyyyyyyyxyxxyyyyzzzzzzyyyyyyxyzyzy{yyyyzyxzyyyyzzzzyyyzyxyyzzzyyzzzyxyzyyyyzzyyzzy{yzzxyyyyzzzz{zzzyyyyzyxyyyyzz{yyzzyzyxxyyzzzzz{zyyyyyxyzzzzzyyzyx{yyzzzzzz{zzyzyyzyzzzzzzzzzz{zz{yyzxxzyz{yzzz{y{zzyyzzyzzyzzz{{yzzyyzzz{{zzz{z{{yyyyyyyy{zz{z{zzzy{yz{zzz{{z{z{zyyzzzyzz{zzzzz{zyyyzyzyzzz{{zz{yzzxzyzyzyzzyz{zzxyzzxyyz{yzzzzzzxzzyxzyzz{yyzyxxyzyyxyyyzzyyyzyyyxxwzyxyyzzyzyyzyyxyyxyxyyzy{zxyyzxyyxyyzyyyz{zyyyyyyyzzyzxyyzyyxyyyxyxxzzyyyyyxxzxyyxyzyzyyyzyyyxxxyyxyzyxzzyyxyxxxxyxyzzxzzzyyyxyyyxyyzzzyzyzxyyyyyyxzyywy{{{yxyyyxxwxyzyzyzzzyyyyyyxxzxzyzzzyyxyyxxyyyzyyyzzzzxyyxyxyzyzyyzzzxyzyyzyyzzyyzzyyyyzyyyyzzyyyzzzzyyyyyyzzzxzzzzzzyyyyyzzzyzzyzzyyyyzyxyyzyyyzz{zyy{zzyyyyz{z{zz{zzzzyzzyzzzz{zzzzyzzyxyyyz|zzzzzyyyyyzzyz{z{z{zz{zzyzzy{zyzzy{{{zzzzyzyzzzzz{{{z{yzzyzzzzzy{{{z{{zyzzyyzzzzz{zz{yyyzzyzy{{y{{z{z{zzyzyyyzzzzzzz|zzzzyyyyyzzyzzzzzzzxzxyzzyzzyzxzzxxxyxyxyzzxyzzzyzyxxxyxzzzyyzzzyyxyyyyyyyyyzyzzyxxyyyyyyyy{xyzyyyyxyxxyyyyyzzy{xyyxyyyxyyyyzzyyyzyxxyxyzzzyyzyzxyyxyyyxzzyyzzyyyxyxyyyyyyzyyyyyyyyyxyyy{yzy{yz{xxzyxyyxyyzyyxz{yyyyyxyxxz{yyzyyyzxyyyzyxzyzyzzzzzzxyyxxyzzzzyyzyxyyzxyxyzzyzzzzyyyxyyzy{zyx{zzzyxyyxzxxzyzzyyyzzyxzzxzyyzzzyz{zyyxyzxxyyzzzyz{yyyyzzxyyyzyzzy{yyzzyyyyzyzzz{zzzyzyyzyzzyzy{z{{{yyyyyy{y{zzz{zzz{zzyyzzzzzz{z{zzzyyzyyzzzzzzzzz{{zyz{zzz{zzz{{zz{z{zxyyy|zzzzzzzzyyyyyyz{zzzz{{{zzzyyzyyz{y{z{z{{yzyzyzzyzyzy{{zzzxzyzzyzzyzyy{yzyzyyxyyzz{z{zyzyyxyzxyyzzzyyzzzyyyyyyxzzyzzzzzzzyxxxyyyzyzyyyzzyzyyxyxxyyyzzyyzxyyyxxzyyyzyyyzzywyyxzyxyyyyyyzyzyxzyyxyyyzyyyyyyyyxyyyyxyzzyzyyyxxxxyyyxyzzyyzzyyyxxxyyyyzzzzyzyxzxxyyyxyzzzyyzyyyxyyyxyzyyzzyyyxyyyxyyxyyyyzzzyyyxyyyyzyzzyzzzzyyyzyyyyzzyzzzzxzyyyxyyzzzzzzzzyyzyyxxyyzzzzy{yzyzyzxzxyzyzzzzyzyzyyyyyzzyzzy{xyyyyyyxyyzzyzzzyzzyzzyzyy{z{z{zyzyzzyzyzzyz{zzz{zyyyyyyzzzzzyzzy{xyyzyyzzz{yz{z{zyzyyzzyzzzzz{{{zyyzyzyyz{{z{z{|{yzyzyyyzzz{{z{zzzyyzzzyzzy{zz{{zzzyyzzzyzzzzzz{yxzyyyzyyyzzz{{{zzyzxzyxyzyzyyzzyyzxyxyyxzzyxzyzxyyyyyxxyzzzxyyywyxyxxxxyyyzyzyzyyyzxyzyyzzyzzyyxxyxyyzxyyzzy{z{zyyxxzzxyyyzzyz{yyzyyyyyyyyyyzzyyyyyzxyyzyzyyyzzzyyyxyyyyyyyyzyyzyyyyyyy{yzyyzzyyxyyxyyxyzzyz{zyyyyyyyyxxzyzyyzxyyyyzzyyyyzzyzyyyyyxyyxyy{yzzzyzzyzyzyyyzzzzyy{yyyyyzyyyyzyyzy{{zyyzyyzyz{{zy{zzzzxzyzyyzzz{yy{zzzyyzxzyy{{yz{zzyyyzzzyyzzzyzzz{zyzyyyyzzzzzzzzyzzyyzzxzzzyzzzz{zyyyyzzyyzzzz{{{yzyz{yyzz{zzz|{y{yyyyyyz{{{zz{z{zzzyzzzzz{{y{{zzzzyyyzzzz{{{{z{zzz{yyzzyzzzz{{{zzyzyzyzzz{z{{{|{zyyyzzyz{zy{z{{zzyzyz{zyzz{{z{{{zzyyyxzzyzzzzzzzzxyyzxyy{zzzzzyyyzxyxyyyyyyzzxyzyyyyyyxyyyyzyzzzyzyyyyyxyy{y|yzzyyyyyzxyyzzzyyz{zyyyxyyxzzzzyzyzzyyyyyxxyyzyyyzzzyyxxxyyzzzyzyyyyxyyyzyyzzyzyyzzyxyyxyzyyyyyzzzyyxxyxyxyyyzzyyzzyzyyyyyyxzzzyzzzyxyxzzxxzyyzyyyzyyyxyyyyy{yyyy{zyxyxyyyyzzyyzz{zzyyxzyyyxzz{yyzyyyxyxxyyzzzzzz{{yyyyxyyyzyzyzz{yzyyyyyzyyzzzzzzzzyzyyzyxzzz{zzzzyzyyyzyyyzz{z{zzzzyy{zzzzzzz{z{zzyyyyzzzzyyzz{{{zzyyyyyz{y{{z{z{zyyyyzyy{zzyzz{|yyzzyyzzzzzyz{zz{zzzz{{zy{z{zz{z{xzzzzyyzzz|{z{zzyzyzyzyz{zzzz{|z{zzyyzz{zz{z{zzyyyyzzyyzzy{zz{z{yyzxzyyzzzzyzzzzzyzxyzyyzyzzyyxyyzxzzzxyzzyz{yyxyyyyxxyxyxzzy{zyyxyyzyyzyyzyyyyyxyzxxyxyyyzzzzzyzxyxy{yxyyzyyyzyyyy{yyxyzyzxyzyyyxxyyyxzzzyyyy{yyyyyxyyxzyzzzyyxxyxxxyyzyyyzyzxxxxyyxxyyyzyzzzyzxzzyyxxyyyzyyzzyyyyyyxyyzzzxyyyyyxwyxyyxzyyyyyzyyyyyzyyzzyzzyzzyyyxyyzzyzyzyzz{zyzyyxzyyxzzyzyzyzyyyyyxzzzyyzyzyyyxxyyxyyy{zyyzzzyyxyyy{yyzzzzzzyzyyyyzzzzyyz{yzyyxyxyyzz{zzzzyyzyyzyyyzzyzzz{zyyyyzyyyzzzzzzzzyyyyzzyzz{{yzzzzzzzyyzzzzzyzzzzzzzzyxzzyz{{zzzzzzyzyzzyy|z{zz{z{zyzzzyzz{z{y{y{zzzzyzyzz{zz{zz{zzyzzzzyzzzzzzz{zzyyyxyyxzzzyzzzyyyyyzyyzyyzzyzyzyxxyyxyyyzyyzyzzxyxyxyyyzzzzyzzyyzxxzyxyzzyyy{yzyzyyyyxyyyyyyyzzyzyyyxyyxyyyyzzyyyyyxyyxyzzyyzzyyyzyxxxxyzyyyyzyyxzyxxxyyyxyyyzyxxxzyxyxyyzyzxzyyxyyxyyxyyzyzyzzyyxyxyyyyzzyyyzzyxyyyyxyyxyyyzzzyyxxyyyxyzyyyzyyyyyyyyxxzyzyzzz{yyyyyyyyzzzyyyzzyyzyyyyyyz{yzyyzxyyxzzyyyyzzzzyyyyyyzyyzyyzzzzzzzyyyxyyzzy{yyzzyzyyyyyyyzz{yy{yyzzyyzzzzzyzz{zzzzyzzyyzyyyzz{z{zzzzzyyyzyzz{{{{z{zzyyyzy{zyyyyzzzzzyzzzzzzz{zzzzzyzzyzyzzzz{{{zzzzyz{zyy{zz{zz{{zyzyzzzzzzyyzzzz{zyzyyzzz{{|z{{zzz{yzzyyzz{zzz{yzzxzxzyzzzzyzzzzzyzyyyyzyzzyyzzyxyxyyxywyzzxxyzzyyxyxyyxyyzyzzyzyxyxxxxyzyyxzzz{yyyyyxyxyzyzyyyzyzyzxxyxyyyzzzzyzyxyxyyxyyyxyyzyzyyxyyyxzyyyyyyzxyxyyyxxyyyyyyzzyyxyxxyxyyzyxyzyyyyzxxwyxyyyyyzzyxzyxyyyy{zyyyyzyyyxyyyxyxyxyzzzzyyxxyyyyzzyyzzzyyyyxyyxzyzzyzzyzyzxzzzxzzzyz{z{yzyzyxyyyzzzyz{{yxyyyzxxyyzz{{{zxyyyyxyyy{zzyzzzyxzyyyxyyzyzyz{zyzzzyyzz{zzyzzyzzyyyzyyyyzzzzz{yyzzyyy{z{{zzyzz{yyyzzzzzzzzz{zzzzxyy{zxy{{yzz{zzyyyyz{zyz{zzzzzzzzzyyyzzy{{zzz{{{zzzyzyyzzzz{z{zzzzzzxyzzzzyzy{{zzyzzzyzz{z{z{{{zyzyzyyzyz{yzzzy{yxzzzyyzzzzyz{zzyzyzyyxyyxyyyyyyzxxyyzxyyyzyzzzzyxyyxxyyyzyyzzyzxyyyxxyyyyyyzzzzzyyxyyyzy{yyyyyyyyxxyyxyyyyzzyzyyyxyyxxyyyyz{yzxyzxyxxyyyyyyyzyxxxyyxxyyyzyzzyyyyyxzxxxzzzyyyzyyxyyyyxxyyzyyyyzyyyxyxzxyzyzxzyzyzyzyyyyyyyyyzy{zxywzxyxyyyyzzzyyyzyyyyxyyzyzzz{zyyyyzyxyz{zyzzzyxzxyxyyyyzzyzyzyzyyzzzzzzzzy{{zzxyyyyxyyzyyzzyzyyyxxyyyyzzzzyzzzyxyxyyyy{zyyyzzz{zyzzzzzyz{zzyzyzyz{zyzzyzz{{zzzyyzyyyyz{zzzzzzzyyyzzzyzzzzzz{{zzzzzyzzzzy{z{zzzzzyzyyyz{{z{zzzzy{yxzzzzzzzzz{z{zzzyyxyzzy{{zzzzzy{yzzy{zy{{{{{yzxyxyyyzzyz{z{yzxyyyyzyzyzzyz{zyyyyyxzy{zzzzy{yyyyxyyxxyzzyxzzzyxyyyyyyyyyyzyzzzyyzyyyyzzzzyzzyzxyxxyxyzzzyyy{yxyzyyyxxyyzzxzzzyyyxyyxxyyyyy{zzyyyxyyyyyzzxzzzxzyyxyzyyxyyyzyyzxyyxyxyyyzxyyzyyyyxyyyyxyzyyzzzyxyxxxyyyxzyyyzzzyxyzyxyzyyzyzyzzyyyxyxyyyzyyzyzzyyxxyyxxzzzyy{zzyzyyzzyyzzzzzzzzyyyzyxyzy{zzyzz{yyyyyxyyzyzzzzz{zyzyyxzyyyzyzzy{yyzyzxyxyz{zzyzzyyyzxyyzyzzxyzzzzyzyzzyyzzzzz{z{zyzyy{zzz{z{{zz{zyyzyyxz{{{{zz{zzzyyzxzzy{{z{z{zzzzyy{zzy{yz{y{zzzzzzz{zz{z{zz{z{zyzyzzy{{{zzzz{{yyzyyyzzxz{yz{zzzzzzyzzzzzzz{{zyyyyzyyyzy{zz{{{zz{yyyzxzzzyzzzzyzyyxyzxzzzzyyyzyxxzyxyxzyyxzyyxyxyyxxxxyyzyzzzzxyyyxyyyyyzzyzzyyxyxyyyyyyyyyyyyyyyxxyyxzyyyyzyzyzyyyyxyzyyyyyxyzyyyyxyyyyyyyzyzyyxxxyyxyyyzxyyyyxyxxxxyyxzyyyyyxxxyxyxxyyyyyyzyyyxzyzwxyzyyzyzyyyyyyxzxxyyyyyyyyxzxxxyyyzxyxyzyzyyxyyxxyyzzyyyzxyyyzyyxyzzzyzzzyxzyyyyyy{zyzzyyzyzyyyyyyyz{zy{{yyzyyxyyyyzzzzxyyxyyyzyyzyzyyz{yxyxyzzxyyz{zyzzzyyzxzyzzz{zz{{zzzzyy{yyzyzyzz{zzyzzzyyyyzzzzzzzyzxxzzyzzzzzzzzz|zyyzzzzzzz{y{{{zzyzyy{yyz|zzz{{{zyyzyyyzzz{z{{zzyyyyzzyzyzyzz{zzzzzzyyyzz{yzzzz{yyyzyzxyzzz{zz{zzzyyxyzyzzzzz{zzyyyzzyzyzzzyyxyyxxxxyzyxyyzyyyyyyyxxyyyyyyyzyyzzyyxxxyyxyxyxzyyyyxyxxxzyxyzzyyzzzyyxxxyxyyzyzzzzxxxyyyxyyzyyyzyyxyyyyxyxyzzyyyzzxyyyyyyyyyyzyyzzyxyyyxxxyxyyyyyzyyxxzxxyzxyxzyyyzxwyxyywyyyyxzzzyyxyyxxxyzyyyyyxyyyywxxxxyxxyzyyyyyyxyxxyzyyyzzzyxyyzxyyyzyyyyzzyxxyxyyyzyzzyzz{yyyyyyyzzyz{zyzzzyyyzxzyzz{{zyzzyyzxyzyzzzzyyz{zyzxzyyyyzzyzzyz{zzzyyyxzzyzzyz{zzyyyzyzyzzyyzzzzyyyyyyyxz{yzzzzx{yxyzyyy{z{|z{{zzyzyzzyyyzzyyzz{zyyzzyyzyzzzz{{zzy{zzyyzzzyyzzzyyyyxyyyzzzz{zzyzzyyyyyxyyzyyzy{yzzwxzzyyyzyzzzzzzyyzyyzyxyz{y{zyzzyxyxzxyy{zxzyzyyxyzxxyxzyyyzzzzyyyxyyyzyyzzyzzyzywyyyxzyyzz{zzyxzyyyyyy{yzyy{yxyyxxyzyzzzyyzzzyyzxxyzyyyzyyzyyxxyyyyxxyyyyxzyyxyzyxyxzzyzyyzzyyyyyzxxzxyzyyyyyyxyxyyyyyxyyzyyzyyy{xyxxyyyyyzyzxyxyyxyxxyzyyyzxyzyyyyyyxxyzzzzzyyzxyyzxzyzz{zzyyyzxzxyyyyzzzy{zyyyyyxyxzzzzyzyzyyzxyyxxzyzyyyzyzyzyxyzxxz{zzzzxyyyyyyyyz{zzzyzzzxzyyyyyz{zzz{zzyzyyyzyyzzzzzzzzzyyyzyyyyzz{z{{zzzzzzxyyzzzzz{{y{yzyyyyyzzzzz{{{zyyyzzzzzzzz{zzzyzyx{yyyyzzz{y{{{zzzyzzz{{{yz{{zzyyyzyyzyzyyz{zzzxy{zzzzz{z{zzz{{zyxzyyyzzzzzz{zzyyyyzyyzzzzyzzyzxzyxyyyzzzzzzyyxyyxxxyyyyzyyyzyyyyxxyxyyyyzyzzzzyxxzxxyzzzzzzzyyyxyzyyyyzyzyyyzyyxyxyyyyyyyyyzzyxyxyxxxyyyyyyyyyyyyyyyxzyyxy{yyxxzyxyyyyyyyzzyzxyyyzyyxzyyyyzzyyyxyxzxyyyz{zyzyzyyxyyyyxyzyzyzyyyyyxyxyxyzyyyyyyyxxxyzxyzz{y{zzyyxxyyzyyzyyyzzzyxyxzyyyzyzzzyyyzzxzyzyyzyzzzyzzyyzyxzzyzzzyzyyzyyzyzyyyyzyz{zyzzyzyzyyxyyzyzzzzzyyyyyyyy|zzy{zyzzzyyzxyyzzzzzzzzyyyyyyzzzzz{z{{zyyzyzxyzzzy{z{{yzyyzzyzz{zzz{z{zz{zzzzyyyzz{{{{zyzyzzzzzzzz{{z{zyzzzyy{{zzy{{zzyyzzyzyzyzz{zz{zzzyzyzyyyzzzzzzzzyyyyzyyyzzzzz{zyzzzxzxyzzy{zz{zzyyzyyzzyzyy{zzxyyyxyxyxyxyyzyzzyyyyxyyyyzz{zzz{zyxzxyxyyyyyyzzyyxyyyzyxyzyzy{zyzzzyxxxxxyyxyyyzxyyxyxyxyxxyzzzyyxxxxxxwyyyyyyxyyyyxyyxyxyyyyzxzxxxyxxzxyyyzyzyyyxxzxzxxyy{yyyzyyxzxxyxxyyzyxyzyyyzxyxwyyxyxyzzxyyxyyxxxyyzyyzy{zxyyyyzxyyyzyyzyzyyyyxyxzzzyzyz{yyyyyyyyyzzzzzz{yyyyzxxyyz{{yyyzyyyyyxxyzyzzyzzzzxxyxyyyzyzzzz{xyzyyyyxyyzyzzzyyzyyyyyyyzzzzzzy{yyyyyzzzzyz{zy{zzyyyxzyyzzzy{yzzzxyyz{xzzzzzzz{zzzzzyyzzzz{{zzz{zyyzyyyzz{{zy{{zzyzzyzyyyzyz{zzzzyzyyyzyzzz{{zyzzzzzzyyyzzy{zzz{yyzyzyyzyzzyzyzzzyyyyyyyzzyzzz{zyzyyyyyyyyzyyyyyyyxyyxxwyyyyyyyzyyyyyxyxzyzzyzyyyyyxzxzyyyzyzzzz{yyxyxxzzzyzyyzzyyyxyyxxzxzzzzyzxxyyyyyyxzzywzzxxyyxxyyyzyyyz{zyyyyyxyxzzzzyzzzyyxzxxxxxyyzxyzyyyyyyyxyxxyyzzzzyyyyxyxyxzyyzzzzzyyyxyyxxxyyyxyyxyyyxyyyyy{yyzzyyyzyyyyxyzyzyzyzyyyyyyxyyzzyzzzyzyyyyyyzzzyzzzzzzyyyxzzxxz{{z{{zzyzzyyyyxz{zzzyzyyyzyyyxyyzzyyzzzzyyzyxyyzzyyyzzzyzyyyyyzzzz{zzzzyzyyyz{yzzyzyzz{yyyzz{xy{|zzz{z{{xzzyxzzz{zyzzzzzyzyyzyzyzyz{{{zzzyzzzyyzz{zzzzzzyyyyyyyzzz{zz{zzyyzzyz{yz{zzyyzzyzyzzyz{zzzzz|zzzy{xyzzzzzyz{{{zyxyzyzyzzzzyzzzyztxzyyyzzzyzzyyyyyxyyxyyyzyzzzzyzxxxyyyyy{y{zzyzyxxxyyyzyyzyyzzyzxxyxxyxyyyyy{zzzyxwxxxyyzyyyyyxxyxyyxxzyyyyyzzzxyxyyyxyzyyyyzzyyyyxyxyyyyyyyy{xxxxyxxxyyzyyzzyyxxyyxxzyyyyzyxyzyyyyxyxzzyyzzyxzyyyyyyxyyyyyzyyzyyxxyyyxyzyyzyzzyzxxxxyyxyzzzzzyxyyyyyxyzyyzzzyyxzyxxzyzyzyzzy{yyyyyyzzzzzzzzyyyyyzyyyzy{zzyzyyyyyxyyyxyzyyzz{yyxzyxzyyyzzzzzyyzzyyyxzyzzzzz{yzyxzzyyyyxzzzzz{zyyyyxyzyyzy{zzzzzyyz{yxzzzzzzz{zyzzzyzzzyzzzzzyzzzzyyyyz{{zzz{{zzzzzyyyxz{zyzz{zzyzyzyyyzzyzyzz{zzzyyzyyyyz{zzz{yzyyyyzyzzzzzyz{zzyzzyyyxy{{zzzyyyzxxxzyyzzyyzyzyzxyxyyyxyzyyyzyzxyyxyxxyyzy{zy{yyywzyyzyzyyzzzzyxzyyxyyyzyzyyzzzyyyyxyxyyzyzyzzyyyxzyyyyzyzyzzzyxzzyyxyyyyyyzzxyyzxxxyyyyzzyzyzyxxxyxxxyzzyyxzyyxyyxxxyyzyyyzyzyyzyyxyxzzxxyyzzyyyxyxyyyxyzzyyzzyyyxxyxyyyzyyzzyyyxxzyyyzzyzzzyyxxxxyyyzyzzxyz{yyyyyyyyzyyzyzzzyyyyyxyzzyyzzzyzyyzxzyyyyyzzy{yyyyyzyyyxyzyzzzzzyyyzyyzy{{yyyyzzzzzyzyzyzzyzzzzzyyzyzyyyzzz{zz{{zxyy{zzyzzzz{zzzyyzyyzzy{yzzz{{{yzyzyzyzzyz{z{zzzyxyyzzxy{zzzz{zzzzzyzzy{zzz{{zzzzy{yzyzzzz{{zz{yzyzy{yyzzzzzzz{yyzyzyyzz{zzzzzzzyyyyyzyyz{yzz{yyyzxzyyyzzyzyyyyyyxxxxxxxyyzzyzzxxxxyyyyyyyzyzzzyyxxyyyyyxzx{yzyyxzyyyxyyzzzyzzzyyyxxyyyyyyzzzyyyyzxxyxxyyyxyyyyyxyxxyxxyzzyyzyzzyxxywxxyyyzyzzyxxyyxxyxyyxyxyyxyyyxyyxyyxzyyzzyxxyyxxxxyyzzzyzyxxyxyxyxwzyxyzzyxxyxxyxyzyzzzzzyyxyyyyyxxzyyy{xzyxxyyyyyyzzyyyyzzxzyyxyyyyyyyyzyyxyyyyyyyzzyzy{zyyyxyyyxzzzzyzzzyyzzyzyyzzzzyzyyyyyxzxyyzzyxz{zzyyzyyyyyzzzzy{zyyyyzyzyyzzz{y{{zyyy{yyyyzzzzzzzzzzzyzyzyz{z{zzzzzyyyzzzzzzzzz{yz{yyyyzyzz{yzz{{{zzyzzzxyz{z{zzyzzyzyzxzyzz{|yz{{{zzy{yyz{zyzyyy{yxyyyyyyzzzz{zzxzyyyyzyzzzzzzzzzyyyyxyyxzyzyyyxyyyxxyxxyyzzyyyyyyxyyyyxxyzyzyyyyxxxyyyxxzxxyxz{yzyxxxxxyyyyyyzzzyyyxxzxxxzyyyyyyyxyyxwxyxzyyyyyyyxyyyxyxzyyyyzzzyxxxxyzxyyyyyyzzyxyxxyyyyyyyyyzyyxyyxxxyyyzyyzzzyxxyxyyxxyzzzyyyywzzxyxxzzyxyzyxyyyxyxxxyzyyzzy{yxyyxyxwxyyyy{yyyxxyyyyyzzyzxzyyzxyyyzyxyyyyzyzzyyyxyxyxxzzzzzyzyyyyxxyyxz{zyzzzyyyzyyyyyyzzyyzzyyyyyxxy{zzyyyzzyyzyyzyyzzyzzz{zxzzyyyzyyyyzzz{{zyyyxxyyyzzz{zzyyyyyyzyzzzzzzz{zzyyzyzyz{zyz{zzz{yyxyyyzz{zz{yzz{zyzyyyzz{yzyzz{zyzyyyzzyyzzyz{zzyzyzyzyzzz{zz{zyzzyyxxyzyzzyz{zzzyyyyzyzyy{zyzzyyzyyxyxyzyzyzyxyxxyyyxxxzyyyxyyyyyzyxxxyzyyyzzzxyxxxxxyyxyyyyyzyxyyyxyxxyzxxxyzzyyywxyxyzyzyzyzyyxyxxxzyyzyyzyyyyxxyxxxxyzyyyyxyyxyyyyxyzyxyyyyxyyywyywxzzyxyzzyxyzxywyxzzyyyyyxyzyxyxyzyyyxyyzyzyyxyxyxyyyyyyyyxyxxxxyzzzxzzzzyxyyzyyxxzyyyyxyyyzxyyyyzyzyyzz{yxyxxyxxyyyxzzyzyyyyxxyzzyyyzy{yyyzyxyyyyyyyzxyyyyzxzyyxyzyzyyzzyxyyyyzyzyzzyzyyyyzyyxyyz{z{zzzyzyzzzxzyzyzyzzyzyzzzzyyyzyzyzzzzzyzyyyzyz{zz{z{zzxyzzzyzzz{yzzzzzxyyzzzzy{zzzzz{z{yzzxyzzzzzzzzz{ywzyzyx{zyzy{zzzyzzzzzy{zxz{zz{zyzyyyxyzyzzzz{zyzyyyyyyyyyyzzzyyyyxyyyyzzzyzyyyyzyxxxyyyzyyyzzzyyyyxxxyyyzy{zyzyyxxyzyyxyyyyzzyzxxzyyxzzzzzyzyyyxxyyxyxzyyyyzzyxxyyyyxyzzyyyzzzzxyzxyyxyyzyyzxyyyxxyyyyzxyyyzzyzxxyxwxxyxyzxzzyyxxyxyyxyzyzyyzzyyyxyyyyyyyyyyyzyyyxzyxwyyyzyxyzyyxxxyxyxyyyyzzyyyyxxyyyyyzzzz{zzxxxyxxyyyyyyyyzyyyyxxyx{zyyzyyzyyzyzxyxyyyxxzzyzyyxyyyzyyyyzzzzyyyyyyyyyyzyyz{yyzzyyyyyyzyxyz{zxyyy{yzyyzzyzyyzyyxyyyzyzzzzyzzzzzyyyzyyzzzyz{zyz{zyyyyyzzzyy{zzzzyzzyzyzz{{yzzz{yyyyzyyy{{{z{{z{yyzyyzxyz{zzzzz{yyzzyy{zzzzz{z{{zyyzyyzzyzzyzz{yyzyzyzyz{zzyzzzyzyyyxyyzzzzyzzyyyyxzzyy{yzyyyyyyxxyyyyyyzyyyyyyxyxyxxyyyzyyzzyzyxyxyxzxzyyxzzzzyxyxyzyyz{yzyzzzyyyyxxyyyyxyyzyzxyxyyyyyyzyzyyzyzyyxyxxyyyzyyzyzyyyyyywxxzyzyzyzyzyyxxyyyyyyyzzyyxxxyyyyzyyyzyzzxyzyzyxyyyzyyzz{yyxxxxyxxyyyzyzzyxxyzyyxxzxyyyyzyyxyxzyyzz{zzzzzzzzyyyyyyzzzyzyzyyzyyxyyzyzyzzyzyyyxxyzyzyzzzz{zzxyyyyzzyzzyzzzyzyzxyzxyy{zyzy{{zyyzzyzyyz{yyzzyzyyyyzzzyz{{zzz{yzzyzzz{zzy{yzz{yzzzyyzx{zzzzzz{zyyyzzyy{{{zzzz|zyzyyyzzz{zz{zzzzzzyzzyzz{{{{zz{zxzyyzyzz{z|z{{{zyzyzyzyzzzzz{zzyz{yzzzzz|yzyz{|zzzyyyzyz{zzzz|zyzyyyyyxyzzzzzyzzyyyzyyxz{{zzyyzxxyyxyyyyyzyyxyxyyxyxwyyzzxyz{{zxxyyyzxxyyxyzzzyyyyzyxzyyyzyyzzzzxxxxyzyyzyyyzyzzxyxyyxxyyzxyzzyyyyzyyyyyyzyyzzyyyyyxyxzzyyzxxzzxxyyzyyyzyzyyyzyyxyxxxyyyyzyyyzyyxyyxyyxyyzyzyzyzyxxzxxxyzzzyzzzyyyyxxyyxyzyyyyyzxyyyxxyzyyzyzzzyyyyxxyxzzyyyzyzyzyyyzyyzzyyzzzzyyzyzyzy{zzzzzzzyyyyyxyyzyyz{zyzzyzyzyzyzzyy{y{zzyyzzyyxzzyzzyzzyyzzyyzyzzy{zzzzzzzyzxzyzzzzzz{zz{zyyyyyy{{zz{yzzxzzzyyyzzzz{zz{zzzyyzyzyzyyz{z{{yzzyzzzyz{y{{{z{yzzyyzyzzzz{{zzzyyyyzyzzz{zyzzzzyzx{yzyyzz|zyy{{zyyyyyzy{zzzz{yzyzyzzyzy{zzzzzzyyyxzzzyyyzzyyyzyxxxxyyyyyyyzyy{yyxxyyxxzyzyzzzzyyyyyyxxyzx{yyzzyxyxxyyxyyyzyyyzzzyyyyyyyxzxzzyzyxxxyyyyyzxyyyyzyyxxyyxxzyyxyxzyyzyyxxyxxyzyzzzyxwxxyyyxyyzzyyzyxxyxxxxyzyzyzzyzyyyzyyxyzyyzzzzzyyyyxxxwyyyzyyyyyyyxyyzyyyyyyzyyyyzxyyxyyzyyyzyyyyxyyxyyyzzyz{zzzyy{yyzzyyyyzzyzyyyyxxyxzzyzyzzzyyyzyxyyyyyzzzzyyzyzxyyyyzzzyz{zzyxyzyyyzz{xz{yyzxyyyyzzz{{zyz{zyzyxyyyyzzyzzzz{zyyyyyzzz{zzzz{zzyyyzyzz{yzz|z{{yzyzzzzyyzzzzzzzzy{zyzyzz{zzz{y{{yyzyyzzzz{{{z|zzyzyzzyzzzzzzzzyzzzzz{yzzz{{zz{zzyzyyzyy{{zzyzyzyxyyyyyxzzyyzyzyyzyyyyzyzyzyyyyyyyyxxxwyxyyyyyyyxyyyyxxxzyyyzzyyyxyyxxzzzyyy{yzyyxxyxxyyyyzzzyyyxyyxxyyxyyyzyzyzyxxxwyyxyyyxxyzyyxyyyyxyzyyyyzxyyyyxxyyxxyxyyzzyyyyxyxywyxyyxyzyxxxxxxxyxxyyzyzyxxyxxywxxzzzxyzyyyyxyxxxyyyxyzzyyxyxyyxxyyzzxyzzyyyxyyywyxyzyzzyxyxyzxyxyyzyyyy{yyyyyxyzyyyyyyzzxyyxx{xyzyzyyzyzyxyyxxxyxyyzyzyzyxyyyzxyy{{yzz{zyxyyxxyzzzzzzzyyyyyxzxyyzzyzzzyyyyyyyyyyyzyyyyzyyzyzyxzyzzyz{z{zyyyxyyyyyyzzz{yzzzzyzyzyyzzyz{zz{yzzyzyzzzz{zz{zzxyyxxx{zzzzyz{zyyzzzzzzyzyyzzzzyzxxzzzyzzzy{zz{yyyyyzzyzzy{yz{yyyyyyyzxyzyzyzzyzyxyyyxyzy{xyzxyxxyyxyxyyyyyyxzzyyyxxyxyyzyyyzyyyyyyyyyyzyyyzzzyxyyzxxxxyyzzyxzzyxxxyyyxxyzzyyzzyyzyyxyxyzyyyzzyyyyxxxyxyyzxyyxzyyyxyxxyxyzzyzyyywxxyxyxyyzyyyyyyxyyyxywyyyyzzyyxzxyxyxyyzyyyyyyyxxyyxyyyxyyyyxzyyyxxyxxxywxyyzzxyyzyyxyyzxyyyyzzyyxzxxyyzyzyzzzzyzyxxyzzyyyzy{yyzyyyyxyzzzzzzzzyyzxywyxyyyyzzzyyzyyyyxxyyyyyz{yyxyzyyxyyzzzzz{yzyxyyzyyzzzzzzzyxyyyyyyz{zzzzz{zyyyzyzyxyyzz{zzzzyyxyxzyzzz{zzzzzzyxzzzyyyzzzzz{zzyyyyyzzzz{zz{{{yzzzzzyzyzzzzzzzyyzzyyzyzy{y{{{yzyzyyzyzyzzzzzzyyyyyzzyzzyyz{{yzyyzyyyyyzzyzyzzxxxyyyyyyyzzyzyyyxxwyxxyyyzyzyzyzyxyxxyxyzyyxzyyyyyyxxxxyyyzzyyyxxyyzxyxzyz{yyzzyyywyyxxyyyyyyzzxyyyyyyyyyyxzyzzzyyxxywyzyyzyzyyxxxxyxyxyyzyyyyyxxyyyyxxyyyyzxyyyyyxyyyxyzzyyyzzyyxyxyyxyyzyyzzyzxyyyxyyyzyyyyyzxyxyyyxyxyyyzzzyzyyxyyyxzyzyyyzyzzyyyyyyzzyyyzzzzxxyzxyxzyyzzzyyyxzxyyxxzzyyyzz{zyyyxxyyzyzzzz{yyyzxxxxyzzzzyzyzyyyyyyzyyzzzyzzyyyyyxyzzyy{{yzy{zzyyyyzzz{yzy{zzyyyyyyyxzzyzzy{zyyyyyxzy{z{zzzz{yyzzyzzzzyyzz{{zzyzzyzyyz{yzzzzz{zzzyyzyyyzzzzzzzyyy{zyyyz{yzzz{zzzyzyxzyz{zyz{{zzzyzyyyyz{zzy{zzzyyyzzxz{zzzzzyzzzyxxyyyzzzy{yyyxxyxyyxyzzyyyyzxyxxyxxxyzyyzyyyyxyyyyxxyxzzyyzyyxxyyxyyyzyyzxzzzyywxyxxzyyzyzyzyxxxyyyyzyxyyyxzyxyxyxyyxyyzyyyzzxxxyxxxyywzzzyywwxyyxxxxyyzzyyxyxwxyyxyyyyyzyyyyzzyyxxyxyxyzyyzxyywyyxxyxyyxyyzyxzxxyyyyyyyyyyyzyyxyxxxyyyyyzyyyxyxzxyyzzyzyyyzyyxxwxyyyyyyyzyxyxyxxxyyyyyzyz{yyxyyxxyxxzyyy{yxzxxyy{xxyyzyzzzyzyxzyyyyxyyzyzzyzyyyzyyyyzzzyyyzyyyyyyzzzzyzz{zzyyzyyyyyz{yyyzzyzyy{zyyz{zzzzz{zyyyyyyyyy{zyzyz{yyyyyzxzzzz{zzzzzyzyzyzy{zzz{zzzzxyzzyyzyzzzzz{{zyyyzyxzzzyy{zzzzzzyzyyyyzyzzzzyyyzzyxzxyzyyyxz{yxzyyyyyyyzyzzyyyyyyyyyyxyyzxyyyyxyyxxyxyzyyzyzyyyzwxxywyxxyyyyyywxxyxxxyyyyxyyzxzxxwxyxxxyyyxyyyxyxyxxxxxyyzyzyzxyxxxxyxyzxyyyyxxyxxyxxyyxzyyyzyxxxyyxyxyyzxyyyywxxyyyyyzyyzzxzwxyxxwxyxyxyzyzzyyxyyxxyxyyxyxzxyxyyyxwyxyyzwyzyzxxyyyyyyzyyzyyzzxxxyyyyyyzyzyz{xyyyxxyy{yyyyyyzyyyyxxyxyyzzyzzyxyyyzxyyyyyxyxzyyyyzxyyyyyzzzyzxyyyyyyxzzzyzyzzyyyyyzyyyzyz{yyzzxyyyxyzyzzyzyzzyxxyyzzyyyyzyzz{yzxzzyyyyzzzzzz{{zyyzx{{yyzy{z{zzzyxyyzzyyz{{zz{zyyzyzyyyyzyzy{zz{yyzyyyyzzzxzzz{zyyyzzzyzzzzyyzzyyyxxyyyyzzyz{zzyzyyxyyyyzzzzzzyxzyyyyyyyy{yyzxyxyxyyxxxyyzxyyyzxyyyyyxyxyyyyzzyzxyxxxzyyyzzzzyyyxxxyxyxyzyyzzxzxxzyxyyyyzxzyzyzyyyyxyyxxyyyyyzyyxxxzyxxzyyyyyyzxyxxxyxxxxyyxzyyxyxxxyxyyyyxyzzzyyxxxxyyyzzyyyyyzxyyyyxxzxzyyyzzyxyyyxyyyyxyyzzzyyyyyyxxyzxyyzzzyyyzyyxyzzyxzy{yyyyyxyyyyyzzzyyyyxxyyxyyyzyyyzzzxyyywyyyxzzzyyzzyxzxzyxxzzzyzzzyzwyyyyyyyyzyzyzzzxyzyyyzyyzyz{yzzyxyzyxzyzyzzyz{yyyxzx{yzzzzy{zzzyyzzzyyyyz{zz{yzyzz{zzzzzyzzz{zzy{zyzzyz{zyz{z{zzzxyyxxzzzzyy{{zyzyyzyz{zz{zyzyzyyyzxyyzyyzzy{zzzxzzyyzz{{z{zzzzxyyzyyyyyzzzz{zzzxyzyyyyyyzzyzyxzzxyxxyzyzyzyyyxyyxxyyxxyxzyyzzyyywxxwxyyxyyzyzyyxxyyxxyyyyzyzzzyyywzyxyxzyxy{zyxyzxyxxyyyyyyyzxyxxyyxxxzyxyyzyyzxxyxxxxzzyyyyzyxyywyyyyzyyyyzyyxyyxxyyyxzzxzyyyyxwyyxxxyyyzyyyyyzxxyyxyyyyyxzyxxxxyxxyyyxyyzyyyzxxxxyxyyyyyzyzyyyxyzyxyyyyzzzzyyxyyxyyyyzyyyyzzyyyxyyxzzzzyzzzyyyyyyyyzzyyyzzyzyxyyxzyyyzzyyyyyyxxyyyyzzzyzyzyzxyyyyyxzzzyzzyyzyyyyzxyzyzzzz{zyyyzyzzxzyzzzzyzyyyyzyyzzz{zzzzxyyyyzzxzzy{{z{{yyxyyyyyyzzz{zzzzzyzzzyzzzzzz{{{{{yzzyyzzzyzzzzzyyzzxyzyzzzyzzzzzzyzzyyyzzyyyz{zzyyyxyyzyzyyyz{zzzyyzyyzxyzzzzzzzyyyxyxyxyzyzyzyyzyyyxxyxyyzyyzzyyyyyxxxxxzzzyyyyyyyyyyyxzyyyzzzzyxyyyyxwzzyyyyyzyyyxxyyxyyyzyyzzyxyyyyxxxzzxyyzyyyxyxyxyxyzyyyzyxyyyxxxxyxyzyzyzxxyyyyyxzyzyyyzxzxyxzywxyyzzzzzyxxxyyxxyxyyxyyzzyxyyyxxxxyyyyzyyyyyxyyyyyyzyzzzyzyyyyyxy{yyxz{y{yzyxzxyyyz{zyzyyyxxyyzzyyy{yyzzzyyzxyyyyzxyzzzzzzyzyyyyxzzyyz{zyzyzyxyyyyzzyzzzyzxyyzyyx{zzzyzzyyyyyyyyzyzz{z{zzy{yzzyzzzzyzyzz|yzzyyyzzy{z{zz{zzyzzzzzzzz{zz{zzzy{zzz{yz{z{{zzz{zyyzzzyzzzzz{z{zyyzzyyzzzyzz{zzzzyyzyzzzzzzzzz{zzzyyyzzyzz{z{zzyxxzyyyzyzy{z{zzzzxzzyyyzzzzyz{yyyyyzyxxyzzzyzzyxxyyyxyxxzzyyyzzyyyxxyyyyzzzyzzzzyxyyzxxyyyzzzzyxyyyyxxx{zyyzzzyxyzxyxyyyyzzyzzyyyyyxxzxxyxzyyyzzyzxyyyyzyzyyzyz{yyyyyyyyyxyyyyzxyyyzxyyzzyyyyzzyyyxxxxxyzzyzyyyyyyyxyzyyyzyyyzyyyyyyxyyyyyyyyzzzyyxyxyxxyxyz{zzyxyxxyyyyyzyy{yzyyyyzyyyzzyyyzzzyyxyywyyyyyyyzzyzzyyyxyy{yzzzz{zyxzyyyzyyzzyzzzzzyyxyyxyyzyyyy{yyyzzxzyzyzzyyyzzzyyyyzxyzyzzzzyzyzyzy{zzyzzzy{|{zzzzzzyyzyz{z{zzzyyyyyzyzz{z{{{{zzzzx{zzyzzzzzzy{yyzyyyzyzyzz{z{zyzzyyyy{z{z{{zzzzyyzyz{zzzzzzz{zzy{zzxzzzzzy{z{yyyyzy{yyz{zz{z{y{zzxyyyz{yyyyzzyxzzyyzyyz{yzzyzxyxxxxxxyyyyzyyzyyyyyxxxzyzzzzzzzyyyyxyyzxyyzzyyyxyxzyyxwzzzyyyzxyxxyyyxyyyxzyxzzwyyyyyxxzyyxyzyyxyyyxxxyyyyxyyyyzyxyyxxyyxyyyyyxxyyyxxxyyzyxyzyxyyyxyxyyyyyyyzzyxxyxxyyyyyyyzzyyyyyywxxyzyyyyyyxyyyxyxxxzxyyzzyyyyzxxyxyyzyzyyzyyxyzyyyxzzyxyzzyyxyyyzyyzzzyy{zzzyyyyyzyzyxzzzyyzzxyyyzyzzzz{z{zyyyyyyyyzzyzz{yyyzzyxyyzyz{yyyzzyzzyyyxz{zzyzzzyzyyyzyyzzyzzz{{yyzy{xyyzz{zyzzyyzzyzy{zz{{z{zzzzzzzzzzzzzzzz{{z{yyyzzzy{{{z{{zz{zzzyyyz{zzzz{zzzyyzzyzzyzzzzzzzyzzyyzyz{zzzzzz{yzzxzyy{yzyzyz{zzyzyyyyyzzzzzzzyzzyxyzzyyyyyyyyyyxxwyyzxyyyyyxzzxxyxxyyyyyyyyzyzyyxxxyyyyyyxzzyyyxyxyyyyxzzyyxzyyxyyxwxxyxyxzzx{xxyxyyxxxzyyyyyyyyyxxxxxxwzxyzyyyyyxyyxyyzyyyzzyxxxyzxyxyzxyyyzyxzyyxyxxyyzxyzzyyxyyxyxxxzzyzyyyyyyxyxyxyxyxzyyxyyyxyyyxxzyxyzyyyxyyyxxxzyyyzyzyyyyxxxyyyyyyxyzyzyyyyxzyyyyzyzzyyzzyyyzyzxyzzyyzyxyxyyxyzzzzxyzyyyxxxyxyzzyyyy{yyyyyyyyzyzyyyyzzzzyyyyyzy{zzzzzzxyyxxyyyzyyzy{{yzyyyyyyyzzzyyyzyyyyz{yyy{zzzzzz{zyyyyyzyzzzzzzzy{yyyy{yyyzzzzzzzzyzyzyzy{yy{{zzzzyyzzzyzzzzzyzz{zxyyyyyyz{y{zzz{zyzyzxyzyy{yyyzzyzyyxzxyzzyzzyzzzyyzywzyyyzxzyyyyxxyyxyxyyyyyyyyyyxxyxwyyyyzyzzyzyxxyxyyyxzzyzzyyyzyyyxxzzyyzxyzyxxxxxxyzyyzyyyzxyxyxxyxzzyyyzzzxxyyxxxxyxzyxzyyxyzyyyxyxyyyyyyyxxzyyyyxyzxzyzyyyyyyxyyzxyyzzyyzyyyxxzyyyyyzyyyyzyyyyyyyyyyyyzyzzyyxyyyyxyyyzyyzxyyyyzyyyyzyzzzzyyyyxxyyzyzyyzyzyxxxxxzyyyzzyzyzyyyxxyxyxzyzzzzzzyyxyxyxyzzzzzzzyyyyyzyxyzz{zzyyyyyyyyyyzzzyzzzzyxzyyyyyzzz{zzzzyzzzyyyzzyy{yzzyyxzyxxyyzzzzzzzzzzxyzyyzzzzzyzz{zyyyyzzzzyy{yzzzzyzyyzyyz{{zzz{zzzzyzyyyz{yyyzzzyxyz{xyzyzzzz{zzzzxyzyyzyz{zzz{zy{yyyyzzzyzyyyzzzyyyyyyzyzzzzy{yywxxxyxyyzyzzzyyyxzxyxwxyzyxyzyyyxxyyxxyxzzzyyyyzyyyxyzxzyxyzzzzyyyxxxxyyyyyyyzyxyxxyxyxyxyyyzyzxxyyyyxxxyyyyzzyyxxwxyxxyyyyxzyyyxyxyyxyyzzyyzyxxxyyzwyyyyz{yyyyyyyxxxxyyyzxzzzzyyyyxxxxyzyyyyzzyxyxxyyxxzyyyyyyxyxyyxxyxyyyxzzyyyyxyyyyxyzyyyzyyyyyyxyxxzzyzzyzyxyyywyyzzzyzzyzyzyxyxyyyyyyzzzyyzyyyxyyyzzzzzzzyyyyyyxyy{zzzzzzzxyyxxyzzzyzzzzzyzxyxzzzzzyyzz{yzzyyzyzyz{zzzzz{zyzyyyyyyyy{zz{zyzyxyyyy{zz{yyzzzzzzzzzzzzyz{|zz{zzzyzxz{{zzzz{yzyzzzyyzyyzyzzzzzyzxyzyzzzzzzz{|zyzyzzyzzzzzzzz{yyyzyyxzzzzyyyzzzzyyyyyzyzzzzyzzyzzyzyxyyyzyyzzyyyywyyxwzyyyyyyyyyxxyxxyyzzyzy{zxzxyxxyxyyyyzyzyyyxxxyyxxxyyxzzyyxyxxxyxyyzyyzyzyyyyyxxxxyzyyzyxyyxxxxxxyyxyyyyyyyxyxxwxxyxzzyyyxxxyxxyyyyyyyzyyxxxxxxyzxyzy{yzxxyxyxxxwyzyzyyyzyyyyyxyxxxwxyyyyyywxxyxyxyyyxyzyyxyyxxyxzyzyyyzyyyyxxxyyyyyyyzzzyxxyyyyxzyyzxyyyyyyzxxxyzyzyyzyyyxzxxyyxyzyyyzyyyxyzxxyyzyyyyyzyyyxyyyyyz{zyzzzzzyxyyyxyxyzzyz{zyyyxyxyyzzyzzz{{zyyyyyyyyzyz{zzzzyyyzzyyyyzyyzzyzzzyzzyyzzy{zzzzyzyzyyzyzzzzx{z{zy{zzyzyzzzyz{{y{zyzzyyzzxyzzz{zzyzzzyzzyyz{{zzyyzyyyyyyyzzzyz{zyyyyxzyyyzzzyzz{yyzyyxyxyyyyyzyyxxywyxxxyxyyyyyyyxxyyxxyyyyyyyzzyyyywxyxxyyyzzyyyyyyyxxyyxy{yxzzxyyxxxxxzyzzyyyzyxyyzxxyyyyyxzyyyxyyxxyxxyyxxxyzxxxxxyyzyyyyyyzzxxxyyyxyyyzyxyyyxxyxxzxyyyyyyxyzyyyyyyyxxyyyyyzyyxxxzxxxxyyyyyzyxxwxwyyyxyyyxyzyyyyxyyxxzyyzyyzyyyyxxyxyyzyzyzzyzyyywxzyzyyyzzyzxxyxyyxyzyyyyzzyyxzyyxyyyxzzyzzzyxyzxxyxyzzzzy{zyyyyxyxyzzzyyyyyyxyxxyyzzyzzyyzzyy{yzyyyzyzyyzzzzyzyyzxzyzzzzz{zzxyy{yzyzzzzzzzzyzyyyzyyzzzyz{zzzxyyxyyyzz{zzz{{yyyzyzzy{zz{zyzzzyyzzyyyzzzz{zzyzzyyzzyzzzzyzzzzyyzyyzyzyzyzz{zzzyyyyxyxzzzzyzyyyyyxyxxyyyzzyyyyyxwyxyyxxzxyyyxyzzxyxxyxyyzyyzzyyxxyyxxyxyzx{xyzyyyxyxyxzzy{xyzzyxxxxxxxyyyyyyyxyxyyyyxyyyzyzyzzyyzxyyyyyyzzxyzyxyxyyxxxxzyzxzzyyxxxxxxxyyyyzyxxxyxyxyxyyyyyyyyxzxyyxyyxyyzyyzyyyxxxyxyxxyxyyyyxxxzwyyyyxyyyyzzzyyyyxyxxyyzyzzzzyyyyyxyyyzyyzzzyyyyyyzyyzyyyzz{{yxyyyyyyzyzzzyyzyyzxyxyyyzzzyyzzzyxxyxyxzzzzzy{zyxyyxyxyyy{yyyzyyyyyyyyyzzzzyzzyyyzxyyyzyzy|zz{{yyzzyyyy{{zzzxzzyxyyzyyzzyzzzyzzz{zyyzz{zyzzzz{yzzyyxzyyy{yz{zzzzyxyzyyyzzzzzzyyzyyzzy{zyyzz{zz{{zzyyzy{zzyzz{{zyzyyyyyyzzyyxzz{zyxyyyzyy{y{zzzyyyzyyxxyyzyyzzzyzzxxywyxyyyyyyzyyxxxyyyxyzzyyzzzyyxwxyyxyyzyyzyyyxxxxxyzyzzyxyyyxyyxxxyxzzyxyzxzyxxxxyyyyzyxyzzzyyyxyxyxzzyyyyzyxxywxxyyzyxzyzxzxxxxzyxyyyyyzyzyzyxyxxxxyxzzyyyzzyyyxyxyxzyyyyyzyyyyxxyxyyyyxyyyyxyyzyzyzzyyxzyyyxyyyxyxyyyzyyyzzyzzyxzxz{yyzyzzyyyxyxxyyyzyzyzzxyyxxyyyyyyyyzyyyxyyyxyxzzyzyzzzzzzyxyxyyzzzyyzyzyyzyyxyyyyyyyzzzyxyzyzyzyzzzzzzyz{zzyzzzzyz{zzzyyyxzyyyzzzz{zzy{yyyyyyzz{{{z{z{zzzxyzzzzzyzzz{zzzzxyzyzz{zzzzz{yyyyyyyzyzzy{zzzzzyyyyzzzyyyzz{zzyyzzzyyzzz{z{zzyyyyyyyyzyzzz{zzyzyzyxzyzyzzzzzyyyzxyxyyzzyyzyyyxyzxyxyyxzxxyyyzyyyyxyxyzyzyyzzzyyyyyxxyzyyyzzyzxyyyxyxyzyzzzyyyyyyyxxywyyyyzyzzzyxxzwyyxyzyzyyyzyzzyxyyxzxzyzzzyyyyyzyyyyyzyyyyyyxxxyyxxyzyyzyyyyyyxxxyyyzyzzyzyyyyxyxyxyyzyzzyyzywyxyxyzyxzzyzyyyyxyyyxzyzxyzzxxzxzyyxyzzyyyzzxyyxyxyyzzzzzyy{zzyyyyyyzyyyz{zzyzyyxyyyyzzzzz{zxyzyzxyyyzzzyyyzzyxyyyyyxyz{zyzzyyxyyxyyyz{zz{yzxyxyyyyyyzyzzzyzyyzyyx{yz{zzzy{zyyyzyzyzzz{z{yzzzyyyyzzyz{yzz{{zzzzzxzzzzzzzy{{zzyyzyyzyz{yzzzzzyzyzzyyz{zzzz{{zzzxxzyyz{zzyzzzzzzzzzyxyyzzz{{z{yyyyyxyyyzzzzzzzzzyyzzzyxy{yzyzyzzzzyyzyyyy{zzzyxxyyzyxxyyzyyyyyyxyyzxyyyyyyyyz{yxzxxxyyzyyyyz{yyxzyzxxxyyzyyzyyyzyxyyxxyyyyzzzzyzyxxyyyyzyxyzyzyyyxxyyyyzyxyyzzyyyxxzyxxyyyyyyyyxzxxyyxxyzyyz{yxxxyyyxyyyyyzzzxyyyxxyxxyzyzzyzyzyyxxxxxxzyyyzxzyyyxzxyxyzyzyzyyxxyyxxyyxyyzzyzyzzyyyxyyyyyyyzyzyyzyxyyyxyyzyzyzyyyyyyzyyz{yzzzzyzyyzyyxyzyzzzyyyxyyxxxzzy{yyyzzyyyyzzyyyyzzzzyyyzyyyyyyyz{{zzyzyzyyyyzyzzzzz{z{yzyzzyzyyz{z{{{zzyyxzyzyz{zyzzz{zxzyyyzyyz{yzzy{zzzyyyyyz{y{z{{zzyzzzyyy{yzzzz{zzxyzzzyzzzzzzzzzzzzyyyyzyyzyzzz{yyyzxyzyy|zzz{zzzzzzyyyxyzy{zyzzyyyyyyzyyyzzzzyzyyxyxxxxxzxzyzy{xxyyyxxyyzyyzyzzyyyxzyxxyyyzy{zzyxyzxyxyxyzyyyyzxxyxyxyxzzxyyyyzyyxxxxyyyyzyy{yyxxyxyxyyyzzyxyyyyxyyxxyzyyyzyzyzyxxxyxyyxyzyzzzxzzyyyxyxzxyxzyzyyyyyyxyyxyyzyyzzxyyxxxyxyyyxyyyzxyzxyxyxyyyyyyzzyyyyyzyxyzyyyyzyyyyxyyxyzzzyyyzzzyyxyyyxzyyyyzzyyzyyxxxxyyxyzzzxzzyyyyyxyzzxzzzyyyxyxxyyzzzzzy{yyyyyyxyzzzzyzzzyzxzzyzyyyzyzzzzzyzyxzyyyzzzzzzz{yzyyyzyzy{zyzzzzzyyyyyyyzzyyz{yzzzyzxzyzyzzzzz{z{yyyy{yyz{zzz{z{zyzzyzzy{zxz{|{zzyyxzzyyyzzz{z{{yzyyyyyxzzzzzzzzyyyyz{zzyyzzzzzzzzyyyyxx{zy{zyzzxyyxxyxyzzzyzzyyyyzyyxywyzzzzyzyyyyxyyyyxyyzx{yzyxyxyyxyzzyyzzyzzyyxxxxyyzyzyzzzyxxyyyxwxyyyxzyzzxyxxxxxwzzxxzzyyxxxyyyxzyzyzyzyyyyyzxyxyyyzzyxyxxxxyyywyyyzzyyzxyyxxyxyxzzxyyyzyxyxxyxyxzxzyyzzyyxyyyyxxxzxxzyyzyyyyyyxyzyyzzyyyxzxyzyxyyyyyzy{zxyxxwyxyyzyzzzyyyyyxxzyzyyzy{zzyyyyyyyyzyxzzzzzyxzxyyyyzzzzy{yzyyyxyzyyzzzyy{zzyxyzyyyyzz{yzyzzzzyzyyyyyzzz{zzzzzyyyyzzzzyzyzzz{yzzyyyyzyzzzy{zzyzzzzzyzz{zzyz{yyzzyzy{zzzz{zz{zyzzyyzyz{zzyy{zzyzzzyyzzz{zz{{zzyyzyyyyzzzzzyy{zyyzzzyzzzyzzz{zyyyyzyyyyzzzy{zzzyzyyyyxyzzzyyzyyyzxzyyxzzzyzyyzxxyyyyyyyyyyyyyyyyxyxxyyyyyyyyzzyzxxyyyyzzzzyyzyyxwyxxxyyyxzyzyyyyyxyxxxyyzxxyzyyyyxyxyxyyzyxzyyyxzyyxxxyyzxyzyyyxyyyxxyyyyyyyyzxxyyxxxxzx{yyzzzxywywyyxxyzzxyyyzyyxyxyxyyyxzyyzxyxyyxyyyyyyy{yyzxxyxxyyyyxyxyyzzxyxzyxyyyyyyzzyyyywyyyyyxzzzzyzyyyyyxxyyzxy{zzzyyxyxyyyyzzzzzzzxyyyyxyxyyyzyzzzyyyzyyyyyzzzyz{zxyyxyyyxzzzzyyzzyyzyxzyyzyyz{zyyyxzxyyyzz{zzyzzzzyzzyyyxz{yzzz{zzyyzyzyy{zzzzzyzyyyxyzzzzyyz{{{z{zyzyyyzy{zzzz{zzzyyyyyy{zz{z{zzyxyxxyyyzyzyzzzzyzyy{yyzzzzzzzyzyyzyyyyzzyx{y{{zyyzyyzxzzzzzzzzzyyyyyyxyyzzyxyxzxxxxxyyxzzzyxzyzyxyxxyxxyyyyyxyyyyyxxzyyzyzyzxyz{xyyxxxyyyyzyyyyyyyxxxxxyyyyyyyzxxxyyxxxxyyyyzyyyzxyxxxwxyyxwxyyxyyxyyxxyxyyyyzywxxxyxyxyyxyyyyyyxxxwyxywzzyyxyyxxyxyyyxxyyyzyzyyyyxyxyyxyyyyyyzyxyxyyyxxzyyyyyzyxyyyyxxyyyyyyyyyyxyyyyyzyyzyyy{zyyywxyxyyyzyzyzxyzyyyxyyz{zzyzzyyyyyxxyyyyzyzzyyyzxxyyyzyzyxzzyyxzyxyxzyyzyzzzyzyxyyxxyyyzzzy{zxyyxzzzyyzzzyyzzyzyyxyyyyzzyzzyz{xyzzyxyyzxzz{yzyyyzzzzyyyyzzyyzzzyyyyzyyyz{yzzyzzyzyyyzzzzzzzzyzyzzzzyyyzzzyzzzzzyyyyyyzyzzzz{zyzyyyyyyyz{zzz{zzyzyyxxyxzyzzzzyyxyyyyxyzyzx{zyyyxxxyyxyyzyxyyyyyxxxxxyxyyyyyyyzxywxxzyxyyyyyyzyyxyyyyxyyzyzyxxzyyxxxxxxxxyxxyy{yxxxyyxyyyyyyzzyyxyyyxxwxzxyyzxxyxyxxyyxyxyyxyyzxxxyyxyxyyxyxyyyyyyxyxxyyyyyzzxxxxyywxyxyy{yzyzzxyxxxxxwyzyxyyyyxxxxyxxyxyyyzyzyxyyxyyxxyxzzyy{yyxyyyyyyyy{yyyzyyyxyyxyyzzyzyzyzxyyyyxxxyyzyzyyzzyyxyyyxyyzyzzyzzzyyxxyxyzzyyyzzzyzzzxxyyzyyzzyzzzxyyyyxzyzyyzzzyyyyzxyyyzyzzyzzzyyzyyyxzyzzyz{zyyyyzyxzyyzyzzz{yx{xzyyyxzzzzzz{yzyyzzyyzzzz{z{zzyzyyyyyzzzyzz{zyyzzyzzy{zzyzz{zzyyyzzyyzzyz{z|{zyzyyzyyzzyzyzzzzzyzyxzyyyy{zyzzyyyxyxxyyy{yzyyywyxxxxyxyy{xxyzyyywyyxxxzyyyzyy{zyyyxyyxzyyzyyzyyyyyyyywyyyzyxzzyyxxxyxxzzzyyyyzyyzwxyyxxyxxzyyzyyyyxxxxyyyyyyzyyxyxyzxzyxxzyyyzxyyyyxyxxzxyyxzyxxxyyxxyxyyyyyyyyxyxxxxxxzyyyyyyyxyyyyyxxyyzxyyzxyxxyxyyzyyzzyzyyxxyxzxwyyyxyzzyyyyyxxzyyyyyyyzzyyyyyyyxyzzyzyyyxyyyxyxwz{zyy{{zyzyxzxzyxzyyyyy{yxyyxxyyyzzyxz{zyzyzyyyyzyzzzyyyyyzyxzxzzyyzz{zzyzzyzyzyyyy{z{yzyyyyzxxyyzzzz{yzzyyxyyyyz|zzz{zzyyzzyyyzzzyzzz{zzyzyyzzzz{yzz{z{yyzzzyyyy{zzzzzzyzzyzyyyyzzyzzzyzzyzyyyyzzzzyz{{zxyyxyxz{{yyy{{yzzyyywxxyzy{zyzyzyzxyzyyyzzzyzyyxxxyyyyyyyyyyzyyxyxxyxyxyxyyzyzzyyxxxxyzzyyyzyzyyyyxxyyxz{zzzy{{yyyxxyyxyyxyzyzyyxyxyyyxyyxyyzyyzyyyyxxyxyyyzzzzyyzyxxyzyyyxyzyyyzyxyxxyyxzyyyyyxyyyxyxxzyzyzyyywyyyxxxyyzyyzyyzyyyyyxxxxxxxzzzzyyyxywxyyzyxyzyzzyyzyzyyzzyzzzzyyyyyyyyx{zyy{zyyyzyyxxyyyzyzyz{zyyyzxyyxyzyyyyzzyyyyyyyxyzzzzz{yyyyyyxyyyyz{yyzzyyxyyyyxzzzzyyzyzyyyyyyzzy{{zzzzyzzyzyzzyyzzyzzyzzzzyyxyy{{yz{zzyyzzyzyzzz{zz{{yzyyzzyzyyzzyz{z{zyyyyzzyyzz{{z{{yzzzzzyzzyz{|{yzzyyyzyyzyzzyyzz{yzzyzzy{zzzz{z{zyzzyy{xyyzyzzzzzyxyxyzyxyzzzyy{zyyyxyzzyyzzy{Ft5bRz{z{z{z{{|{{|||{{{{{|zz{||{|{|||{{z{{{z{{{|{|||{||{{{{{z{{{{||{|{zzzzz|{{z{|{{zz{zz{{{{{{{{{{{|{{zz|{zz{{{z{|{z|{{zzzz|{|{zz{{|zzzzz{{z{{{zz{|{{zz{yzzz{{|{{{z{{{{{zzz{z{{z|{|{{{zzzz{{{{{{{||{{zz{{{x{z{z{{|||{z{{{{z{{z{{{||z{z{{{zz{{{|z||{{zz{{{z{{{z{|z{|{z{{{{{zz||z|{||{{{zzzz{|{|{|||||{z{{{{zz|{{|{{}||z|{{y{z|{{{{|||{{{{{{{{{|{{|}|{{{{{{z|{{|{|||||{{z{{{zz}|{|||{{{{{{|z{|||||{|{|{|{z{{{|{||{{||||{yz{|{{|||}||{{|{{{{{|{||{|||{||z{{|||z{{{{|z}|{|{|||z{|{{{{{||{z{z{{{z{||{{{|{{{z{{{{{{{{{|{{{zzzz{y{z{{{|{||||zz||{{z{{}|||{|||{|{{z{z||||||||{|{{z{z|||||{|{z{|{{z||{z|{{{{|{{{{{{{{z{{{{{|{{|zzz{{{{||{{{||z{{{yz{{{z||z|{{z{z{zzzz{{{|z|{{zzzzzz{zz{{{|||z{z{{z{z{||{{z}||{{z{z{zzz{{{{z||{{zz{{|z{z|zz|{z{{zz{{{{{{z{|||{|z{z{zz{z{|{{|||{z{zz{{||{|{{{|{{{zz{{{{{||{{z{{|{{|{z{z{||{|{}|{zzz{z{{|{{{|{|{{z|{{{zz{||||||{{|z{zz{{|z{{{||}{{{{{{{{|||{{|{}{{{{{|{{|}|||}}|{{{y{{{||||{|}||||{z|z{z{|{{|}|||{|{{{{{||||{||}|{|{{{|{{||||||}||{||{{z||}|~|||{|{{{|zz{|||~|}{||{{|{{{|||}{}||{{|z{{||{}{|||{{{|{|y{{{||{|||{{{{zzz{{{|{{|{{|{{z|{|{|{|||}|||}{{{||{z|{{||{||{{{{{{z|{|z||||}|{zz{{{{{|{||{||{{|{{{|{z}{||{|{{|{{{zz{||||{||||{{{{z{{{|{|{{{|{|{{z{{z{|z{|{{|{z{z{yzz{z{{{{{{|{{z{zzzz{{{{|{||{z|{zzz{{||{{{|z{{||zz{{{{{{{||}{|{{zzzzz{{{{||{{{{{{{{zz|{|{{||{{{{|z|{z|{{|}{z||{z{{{||{{{||||{{z{|{||{{|z{{|||{{z{{{{{|{|{|||{{|{z{{{{}|{|{|{{|{{|{{|}|||{{||||{{{{|{|{|||{||{{{{|z|{{||}|}}}{z{{|{z{|||||}}||{{{{}||||||}|}||{{{{{{{{}||}{{|||z{{|{||}{{|}||}{{{|{{{||}}{|}}|{{|{{{{|{||}||}|||{||z|{{{{|}|}}||{{|z{||{|||}|{z|{{{{|{|{||||{{{{{{{{{{{|{{}{||}{||{{{{|||{|||z||{|{z{||||}}||{{z{{{zz{{{|||}{|{zz{||{|{||{{{|{z}{z{|z{{|||{|{|{{{{z{{{|z|z}{|{{{zz{zz{}{{{|{{{z{{{{{{{z{{z{||{|{{{z{z{zzy{||{{z|z{{yz{{{{{|||{{{zzz{{{|{{|{||z{z{{{{{{{|{{{|{{z{y{{y{{|{{{{|{||{z{{{z|{{{{{|||z{z{{{{{|||z{|||}{{{{{{||{|{||{z{{|{{{{{{{||{{||z{{|||{||{||{{|{|{|{{{|{|}|||||{{|{}{{{||{{|{}}{{|{|||{|{{||{||{{{{|{||{}{}{||}{zz|{|{{{||||||||{{{{{{{|}|{|}||{{{{{{|}{{|{|}}||{|||{{|||z|||}}|{{|{{|{|}}|||||}{|{|{||{{|}}|||{{{||{{|}{}}{||||||zz{|{||{|||}}{|z||{{{|{{{|{||zz{{z{{{z}{|{||}|{{{||{||}|{||}}{|{|{{|{||}{||}|{{{{|{{{{|{{||{||||{{{|{z|||z|{|{z||{{{z{{|}{}{|{|{zz{{{{}{|{||||z|{{{{z{{|{||}|{{{{{{{z{{{|{||{{{z{{{z{zz{{{{|{{{{zy{{z{{|z||{z{{|zz{{{|{{|z|{{{zzzz{|z{{{{{{|||{{{{{{z{z{|{{|{{z{{{|zz{{{||z{|{{{{{z{|{||{|{{}||{|{z{|{{|||{{|{{{z{{{{|{|{|||||{{z{{|{|{|{|||||{|{{z{{|{}||||{|||{||{{{{{}{||z{{{{{|{{z{{|||||z||{|||{{|||}||||z{|{|z{{{|||||||{|||{z{{||{||}||{{}{}}|{||{}}||||||{{{|{}}|||}}||}{{||{}||||}{|}z|{{{{{||{||}}||{{||{|{|{{|||||{|{z{|{z|}{||}}}{{{|{{|{{|||{{||{|{z{|}{z|{||}}|||{||z{{||}{|}}|||{{|{{||||||||~|}{z|{{z{|||{|}}||{{{{|{{|{{|{||{|{z{{zz{{|{{}||{{{|{{{|{{{{|||{z{{{{{zz|{||{|{{{zz|z{{zz{{{|{||{{z{|zzz{{{{{||{{{{{z{{{{||{{{||{{{{{{{{{||{{|{|zz{{{{{{{{|||{|{||zz{{{z||{{{|{|z{{{{{|{{z{|||{||z{|{{}{{{{{{|||{{|{{{{{{|{{{|}}{z|{{|{{||||{|{|{{{{{z{{|}||{}{|{{|{{|{{|||}|||{{z{|{z{{{|||{||z||{{{||{{|||||||{{z|{{||||||||}}||{{||{{||||||{|}{{||z||{||}{|}}{{||{|{|{{{|}||||{|{{{|{||}||}}}}{{||{{{}||||}}|||{z{}{||}{{{}|{|{||||{|||}{||}|{|z{{|{{||||}}}|}{|{{{{||{{{{{{|{{z{z{{{|{{{{|}}{{|{{{|{||}||||||{{{|{{{||||||}}{|z{{{{{|||}{|}||{|{z{z||||{{}|{||||yzzz||||{{||{|{z{{z{z|{{|{{||{{{{{z{||{|{{|{z{{z{{{z|{z{{|{|zz|zz{zz|{|{||{|{z{{{{zz{{zz|||{zz{{zy{|{{|}}{|}{{{|{z|{{{|{|{|||{z|{zz{{{{{{||{|{{{{{{z|{{|{{|{|{{z{z|{{{|||||}||{{{{|||{|{{{}|{{{{{{{{{{{{|{{|{{{{|{{{|||}{||{{|{z{|z{{{|{{||||{{{|{{|{|||{||}{|||{{{{{|}|{|||{{{||{|||||||||}|{{{{{|z}||{{|}||{||}||{|}|{||}|{{|{{||{|}||{~}}||||{|{{|||||}|}||{|{z|{~}}}{}|{||||||{{||{{{|}|{{||{{{{|||~}|}}{{{{{{|z|}{|{|{|{||{{{{{||||{{||{{{{{{{z|||{|}|}|{{{|{|{|||||}||{|||{{z|||}{|}|{}z{|{|{z||||}||||{|{z{z{{|{{|{|{{|{zzz{z{{||{|||{z|{{|{z||{{}}{{{{|z{{{z{{||{|||{z|{|||{|{z|{{|{z{{{|{zz{|{}{|||zzz{{{z|{z|{{{||{{z{{{z|{|{z|||}{|z|{zzz{{{{z}||z{{zzz{yz{{{{}{|zz|{{|z{{{|||{{|{{{z{{{{{|{|{{{|{{{z{z{{zz{|{}{|{{||{{z{|{||{||||||{{{{{|||{||{{z{{{|{{{}||{||||{zz{z{|z{|{{||}{{|{{{{|{||{|||}|{zz{{||{||{|{|||{z{{z{{{||||||}}}z{{||{|||}}||}{{z{z{{{|{||||||}||{{|}|{{}|{||{{|{{|{|{|{}|||}}}|{{|||}{|{|||~|~||||{{{{}|{||{}|{{{{}|{z{||{|||||{{{{{{{{|{|{||{z{|{zzz{|}{|{}|||{|{zz|{{{}}{||{{{{{|{{|||||{||||{zzz|{{|||{|||{|{|{{z{|{{z|||||{z{{{|{z|{}|||||{{z{z{{{{|{|||}||{{{{|{{||||{|{|z{{zzz|{{{{{||{{{z{{{z{z{{{||{|{{{zzzz{{{{|{|{{{|{|zz{{{{|}|{{}zz{{{|y{{{{{z{{||{{{{z{|{{|z|||||zzz{{{{zz{|||{|{|{{zzz{{|{|||z{|{{z{{{{{{{|{{{||z|{{{z{{{|}{|}{|z{|z{{|{z||{||||{{|{{|{z|||{|||{}zz{|{{|{{|{{|{||{{y{{|{{||}}||{}{{{}}|||||{{|||{|{{{{|{{}||{{}||{z{||}{||}|{|||{{||{|{|||{}{}||{{|||{}|{|}||}|||||||z||||{}|}{|{||{|||{{|{}||~}{|||{z|{||||||||{{{{{{{{{{||||}||{zz{|{{{||||{||{{{{z{|{{|{zz}}||||{{{z{|{{||{|}|||z||{{|{||}|}}}|{{{{z{|}{}|}{}|{{{|{{{||{{z||}|{{{|{|{|{|{||{|{{z{z{{{{{{{||{{|zzz{{{{|{|{||{{{{{yz|z{|y|{{{|{zzzzzzz{{{{{|{{z{{z{{yzz{|{|z{|{z{{zy{zz{|{||{{z{{{{|{z{{{{{{{{{{z{zyz{{{{{{{{z{{{{{{{{yz||{{{|{{{zz{{{{{{{{|z||{z|zzz{{{|{}{}{{{{{zyz{{z{||{}{|{{|{{{{{z|{{z|||{|{|{zzz{|||{||{|{{{{{|{{|{{{{|{{z{z{z|z||}}{|||{{{z{{{{||{}|{||{{{|{{{z{|||{||||{||{{z{}}}|}{|||{|{||{{|{|||}||||{|{{|{|}}|}||~|{{{z|{||}|}}||{|z{{|z{{|||{}|||||{z{{{||||||{||{{|{|z{z{{}||}|||{{{|{{{{{{{||{|{{|z{zzz{|{{{}|||||z{}{{{|{||}}}{|{z{{{{||||}{|}|{{{{{{z||{||||~||{{{{{z{||||{{z|{|{y{{{z|||{}||{{{|z{{{||{{{}|{{{{{{z{|{|{{z{{{{{{{{{{{z{|{{|{|zzzzyzyz{{{{{{|{{{z{yzz{{{{|{{{{{z{zzz{zz{{|{{|||zz{{yzz{{|{{|||{||{{y{z{{z{||{|{{zz|{{{{}{||{||z{{z{{{{{|{||||}|z{{zz{||{|{||{{z{{{z{{z|{{{|{|||{{{|||z{}|{||{{|z{z{||||{||}{}{||{{{{{{{|{|{|}|{{|zz{|z{{|{}}{|z{||{|{z||{||{{}{{{|{{{{{|{{{||{|z{|{z|||}||||}||{{||z}{{||~|||}{{|{|{{{{}|{|}}{{}{||{{{||||||}||{{z{{{||{|{|}|}}|z|{{z{}{|}{||{|||{{{{{|||||||||{{zz{|z|{||||||{{{{zzz{{||{{}||{{{{|||{}}||||}}}{}{{|{|||}}|}}|{{{||{{{{{|||}|}|{{|||{{|{|{||{||{{z{{zzz|{{{|||{{{{z{{z{{{z{|}{{{{{|{z{|{|{{{{{{{z{{z{{{{z{{{||{{{{{zz{{{{{z|||{zz{zzzzz|z{{|{|y{z{z{{zz{{{{|||zz{z{z{{{|{{{z|{{{z{{zzz{{{{|}|{{z{{z{{{||{z|||{|{zz{|z|{z|{||{|{|{{{z{{{{||{|||{{{zzzz{{}{{{|||{{{{{|{zz|{||{{||z{z{{{{{{{{{{|{|{{{{{{{{||{{{{|{{z|{{|{|||{||||{z|||||||||{||{|{{||{{z{|||z||||{{z{z{z{||}||||{{{|{|{|||}|||||{{|{||{{{{|||{|||||{|{{{{}||}||{}{{{{|{{|||||||}}{{{|{{{{}|{}|}|||{{{{{z||}{{}||{|{{z{{{z{|{{|{{{{||{{z{{{|{{{{|}|{{{{|{{}}|{|}||||{|{z{|||||}}}}|z{{z{{{||||}|}||{||{z{{||||||||{{|{{{{z{}||{||}zz{{{|{{|{{{{{|{{z{zzz|{{|{{{|{{z{{zzzzz|z{{{|||{zz{zzzz|{z|z|}{z{z{z{z{z|{{|{{|{zz{{{{y{|||{|{{{{z{{z{{y||{{{|{||{{{z{zz{{|{|{|z{{z{{{{{{{||{||{{{{zz{{||{{{{{{z{{z{{{{|||{{|{|{{|{{{{z||||||||z{z{{z{{||||||{|}{z{{{{{{||{|{{||{{|{{{||{{{{|{{{{|{{{{||||||{||{{|z{{{{||{|||||{|||{{{{{||||}|{|{{{zz|{||}||||}|{|{{{|||||}{||{}||}{{{|||||{|}|||{|{z{{|{|{|||||{{z|z|{|||{}||||{{{{}{{||||||}}|{{z{z{{{|{|||{{{{{{{{{z||||{{||{{{z|{{z{||{|}}}}}{}||||||}}|||}|{{{}{|||||||||}||{|{{{{||{|||}}|{{{{{|{{||{||{}{}{zz{zzz|{{{|||{{{{{{|{{}{|{|||{z|{{{{z|{{{|||{{{{{z{zz{{{|{|{{{z{|zz{z|{|z{||{{zzz{{z{{{{{|{{zz{{zzz{zz|||||{|{zz{z{{z|||{{||{{{zzzzz{z||{{z||{z{|{{{{{|{|z||{{{{z|z{{{{{{{||}{|{|{z{{{{{{|}||{{{{z{z{z|{|||{{zz{{{z|z{||{||||{|{{{z{{{|||||{||z|z{{|{{||{||}{|{{{{{{|{|{}}|||{z{|z|{||{{|||}{|{{{{{z{}||{}||{{z{z|{{|{||||{|}||||{|{{|{|||}}|||||{||||}|}{||||{|||{{{|{||}||}{|{||{{|{}||||~}{|{{|{{||||||}|}{{|{|z{|{||{|{|||{zz{z{{{}|}|||{{{|{zzzz|z{{{|||||}{|{}z}}|{|}}|||{{|||||}}||{}||||{{{{{|{{|||}}|z||z{{|{||||{||{{|||{{{|{}|}|||{{|{{{{{{{|{{||{{{{z{{{{{{|{zz||{{{zz{{{{{{|z{|{{zzz|z{{{|}{{{||{{{zz{z{{{{{{|||{{z{zz{|{{{{{{{{{{|y{zz{z||{|{|{|{{|zzzzz||{{|{||{{{{zzz{|{||{{||{{{|{{z||||z}|}{|z{{{{{{{|||{}}z{{{{z{{||||||{{{z{z{zz|z|||{{||{{{|{z{{|}|z{{{||{{|{{zz|{|{||||{{{{{{|z{{|||||||{{|||{{|||||{||{{|z|z{{||{||}|||{||{{|{|||{|||}|}|{|||{|{|||}{||{|||{|||||}|}}||||{|}{{||||{}|}||{{|{{||}|||||}||{}|{|||}{||||||{{{{{{{{{{||}||{{{|{{{{{{|{{|{{|{||z{|z{{|{{}}}|}|z|{}{{}{{|{~||{z||{{{||||||}}||{{|{{{||{{|||{{|{{{z{|||||{||{||{{z{{z{||{{{{|{zz{|{|{z{{{{|||{z{{{{z{||{z{|{{zz{z{z{z||{{z{{{yz{z{zzzz|{{{z{{{z|{{zzz{z|z{||{zz{{z{z{{{z{{{|}{{{z|{{z{{z{|{|{{{zzzz{zz|{{z{||{z{z{zz{{|||{||{{{{z{{{{{{|{||||{{|zzz|{||{{||{|z{{{{{{{{{|{{||}{z{{{z|{{z||{|{|z{z{{{{{}|z|{|||{{|{{{{{{{||{||{{{{{z|{{{|{{||}|{{zzz|||||||{||~|{{{{zz|||{||}|||{{z{|||{|}{|||}{||{{{{||||}|||{|{{{}{{{{{|{|{|||z{}{{{{|}{}{}|}|{{{{{|{{}||{}|||{{{|{{||}||{|}|{|z{|}{{{|{}{{|{|{{{zzzz{|}|{{||z{{{zz{zzz{{{}|}}}}||{|||}}}|{|||{||{|||||||}|}}|{{{{|z{{|{|}|||}|{|{{{{z||||{|}{{{{z|{{||||}||{|zzz{z{z{}{|{{{{{{|{{z|{{{||||||{{{{{|{z|{||{{{|{{{{{z{{{{|{{||zzz{{{zzz{{{{|}{||{|{zzz{{z||z|}|{{{{{{{{||||||{{{{{{{zz{{{z{{{|}z{{zz{{{{}|{{||{{|{z{zz{|||{|||{{{{{{{{{{||{{||{{|{z|zz{|{||{|{}{{|{|z|{||{{{|{|{||{{z{{{{|}{||{|z{z{{{{{||||||}{{{z{{|{{{|||{||z{||{{{{||||||}{{{|{{{z{||{}}||||z{|{{{|{|||||}||{||||{|z|{{}|||||{{{{{{|}|}|||}{{}{|z{{}|||||||{{{{{||z|}||}}}||{||||{{}}{|||{}{{{z{{{{{|||{}|||{|{{{|z|||{|{||{{{z{z{{{{|{{|}}||{}|||||}|}}||}~}{|{{|{{|}{||~}||z{{|z{||{{||||||{||{{|{||{z|}||{{{|}{z|{||||{{zz{{{{z{z|{y||||z{{{{{{z{z{{{{{{{z{zz{zz{{{{z{{{zy{y{z{z{|{{{||{{zzzzzzz|z|{{{|{z{|zz{{|{{{{{{||zz{{{{{{{z{{{||{{zz{{zz{{{{{z|||{zz{{z{{z{{|||{|{{{{|zz|{|{z{|{|{zzy{z|{|{{|{{{||{|{{{{z|||{|{||z{|{zz{{z{|}{|{{{z{{z{{{{{|||{|{{{{{{{z{{{}{{|{|{|{z{|{{||||||{}{{|{z{{{z|{|{|}||{{{{{{z||||{|}}|{{|}{zz}{|||||{|||{{||||}|}|||}{{{|{|{{z}||||}||{||{{{{||||}||||z{{{z{|{||}}|}|{{{{||z|||||||||{{|{|{{{{|{|||}|{{{{|{||||{{{{|{{{{z{{{z||{{{}}}}}||||}{||}}}|~|}||{|{{{|||}|||}}{{{||z{||||{|||{zz||{|{|{||{{|}||{{|{|z{{{||{|{{{{{|{{{{||{||{|{zz{{{z{{||{|{{|{{{{{|zz{{{{z{{|{zz{{y{zzz|zz|{{{z{{{{z{z{{{|{|{|{{yz{z{{|{|{|{|{z|{zz{{{z{z{}||{z{{{z|{{{{{{{||{|{z{{yz{{{{z|{z{|{{{zzz{z||{||||{{{{{|{{{{{|}||{{{{{{{|{{|{||||{{{{{z{{{{||{||||z|{z{{z|||{|{{{{zz{{{{{{||{{|{|{{zzz|{{|{||{{|||{|{{{||{|{||||||{z{{|{|z||}~|||{{z{|{{|{|{||}|}|{{|{{||||}|||}|{{||{|{{|||||||}|{{|{{{{||{}{|||{||{{|{{{||}|}|||{{{{{{|||||}}|||{{|{|{||{{|{{|||zzzzz{{{|{{|{{||zzy{z|{{{{|{}}}|}|{|||||}~{|||||||{|{{{|}||||||||{|y|{z|{|||~|{{{|{zzz{{{z|z{|{|{{z{{{z{{{{{}{{{{zz{z|y|{{{{{{{{{zz{{{z|z{{{{{{zzzz{{{z{{{{{{||z{{{{yzy{{{{z{{|{z{{zzzz{||||z{{{{{{zzzz{{z||||{{{{z{{{yz{{|z|||z{zz{zzzz{{{{{{z{{zzz{{z{{{{|{|{{zzz{zz{|{{||{}|{y{{z{z{{{{{{{|{{{|z{{{{{{||{{}z|{|{|{{{|{{}|{z}z{z{z{{{|{|{|{{{{{{{z|{{|{z{{}{{|{{{yz{{|{{{||||{{{{{{{{{{{{{{}|{{{|{z{z{||{{{}||{{{{{{{|||}{}|||{|{{{{{|{}}{}|||{{{{{z||||||||}||{|z{||{|||{{|||{|{zzz{|||}||{}{{{{{|z{||{{|}||{{{z{{{{{|||||||||{{z{{z||z|{{{|{yzz{z{{{|{{|}~~}}|}|||||}}|}|~}{|{|{|}z{{||}}||{{{{{{|{|{||}{}|{|{{||{{{{{|{||{{||{z{|{{{|{{}|}{{{zz{|{||{{||{{|z{z{z{{{|}{{|{z|{{{{z{{z|z{|{|{zz{{{zzz{{|{{{{|zzzzzzzzz{||||{{{{z{z{z{{{{{{z{{{{zz{{{z{{{{{{||z{{{|zz{{z{||||{|{z{{{zz{|z{{|||||{z|zzzz|{{||{|{{z{{y|{{{{|{||}{z{{|z{{{|{|{z||{z|{{{z{{}{||{{}{|z{z{{|{|||z{|{{|{{{{{{{{{{||||{|{|z{{{|||||||||{{z|{{{{|||{{||{{{{{{{{{{|{|||}|z|{{{{|{||{||}|{{{{{}|{||||}}|||{{|{{|||}||}}|{||{||{|{}|||||}||{{{|{||||||||||{||||{|{}{|||||||{zzz{{{{||{|}}||z{{{{{{{|{||z|}{{|{z{{z||{||~}}}{|}|}}|~~||}}~||||||{|||}}{||}}|}{{{z{{{|||}|}|{z|{||{{||{||||}{z{{{z{z{{{|{|{||{{|{|zz{{{{|{}{{zzzz{z{|{|z{{z|{{{{z{{{{{|{{{z{{{|z{z{z|{||zz|{{{{zz{{z{{|z|{{{{|{|{z{z{{|{|{||{{{z{{{z{{|{z||{{{{{{{{{{{{|{}||{{z|{{{{{{||{|||zzz|{z{{{||{{|||{{{{z{{{||}{{|||{||{{{zz||{||{||{|{||zz{{|||||||z{{{z{z||}|{{||{{{{{{{{{|{{{{{}{{{{|{{{{{{}}||{}|{|{z{{{|{|{|}}|{{{{{z{|{}||{{{||z{||{{|{}{|||||{{||{{||{|}||}||{||{{{|||}{||}||{|{|{|{{|||}}{|}|{z||{{}|}||||||{}|}|{z|{|{||||||{{z{{|{{|{|{{|}{z{{z{{{{||{|{|||{{|{z{|z{{||~~~}|}}|}}||~~~}|}~}||~|}z|}}|}}}}||{{{{|{z|{|||||}}{|z|{{{|}||{|{}|||{{{{z{||{}{|}{{{{z{{z|||{||{|{z|{|{zz||{{{}||{{{{z{{{|{{{{{||{{{{{{|z|||{|||{{{|{{z{z{{|{|{|||{z{y{z{||{{{|z{|{z{{{{{|{{{||{|{|{{z{|{{{z{{||}zz{zz{z{{{||{}}{{{{zz{||{|{{|{}||{{{{{{{{{|||||{{{|zz|{{|||{||||{z|{{{z{{}|||||{|{{{z{|{|{{{||}||{|{|z{{||{||||{}{{{|{{{|}||||}|{|{|||{{||{|||||{||{{{{z|||}{|}|{{{{|||{|}}||}}|{{{||{||{{|}|}||||||||{||}|}}||}||||{{z|}|{|}||}}{{|{|{||}|}|||}||{{|{}{|||}||{}||{{|{{||}}|{|}|{||{{{z|||{}|{|{|{{|{z|z||{||~~}}|{|||||}}|}|{|~}|||{|{{|}||{|{|}{|{{|{{|||||||}|{|{{{z||}|||||}{{zz{{|z{|||||{|{{{z{z{{z||{{|{|||{z{{{{{||{||{z{|{{{zz{{{z|{|{|{zzz{zz{{{|{{{||{{{{z{z{{{|{{{{{|{{{z{{{||||{||{{zz{z{{z{{{z|||{{{|z{{zz{|z|z|||{{{z{||z{{|{{{|{{|{{|z{{|{|||{||{{z{z{{{||||{}{|z{z{|{z{{||{|}}||{|{|{{{{|||||{|||{{|{{{|||{{||{{{{|z|{|{{{|||{z|{{{{|{{||}{}}}|{{|{{{||||{}}|||||{}{{|{||||{||||{{{{|{{}}|||}||{{|{{}{z||||||}}|{{||||{{||||||{|{|{|{|z|||||{|||{||{{|}|||{{|{}||{{}z||{|{{{{||{}z{{||{{||{{||||{{{|{||{|||{{||{{|{{{zzz{{{{~}}|}~||}{}}~}}}~~|{{|{||}|}|}|}{}|{||{|}{|||||}|}{{{z{z{{||{}{||{{z{{z{{{|}|{|||}{z|{{z|{{|{|{|{|{{zzz|z{{{|z{|{{zz{{y|{{z{{{|{{|{{z{{z{z|{{|{{{{|z{{z{{{{|{{{|{{z{{{zz{{{{{{{{||{z{z{z{zz{z{||{|{{{zz{{z{|{{|{|||{{{{{|zz{{|{}|{{zzzzz{{{{||{|{|{{{{zz{{{{}|{{|{|{zz{z{{{||{z||}|{{|{{{z{|{||||{{{{z{{{|{|{||{||{{|{{{z{|{{z|{|{{|{|{{{{||}||}||{{{|z||||{|||||{|z{{|{{||{||||||}{z{{|{z}|||{|{||{|zz|{{||{||||}{{{{|{{{{~{|{|||}|||{|{|||||}||||{{{{{|}{|||}|||}|{|{||{||{||{|||{{{{|||{}{{{{}{{|{|{{|{{|||{|||z{{{{{{{|{{|{~~}}}}}}|||~|}|~}}|}||{|{|||~}}|||||{||{|{}||}|{}|{||{{{{{{|{|{|||{||z{|{z||}|{||}{{{{z{{{|{|{|||{{z|{z{{{{|{{{{|{{z{z{{{{{{{{||||{{{{|zzz{{|{{|{{z{{{zzzz||{z||||{{{{z{{z{|z{{{||{z{{{zz{z{{{{{{zzz{{zz{{{|{|{}|z{z{{{|{z{||{{||{{{{{{{{z{||{{{}||{{{{z||{{||||||{{|zz{|{{|{z|{||{{|{{{{{{{{|||{|||{{{{zz||||{{|{{{{{z{|{{|{{{||{{{z{|||||||{|}||{|{{||{{|||}|}|{||{|z|z{{||}|}|||{{|{|{{{||||{|||{{{|||||{|{|||||{{|{{{{{|||||||{|{|{{{|}}||||||}{{||{{||{||}|}|}}|||{{{|||||}||{{{{|z{{z{{|||}{||{{{{{||}||z{||{{{{{zzzz{||{}~}}}}|}|}}|}}}|}~}||||}{|{||||||}||}{{||{|||{{{}||{{|{{{|{{|||||||}|{{z{|z{{|{{||{z{zz|{{{{{{{{|{|{{{{{zzz{z||{{{|{{{{|z{{{{{{{{{{{{zz{{{{{z{z{{{z{zzzz{z|{z|{{z|{{{{{{{zzz{{{{{{{z{z{{zz{{{{z{||{{z{{{{{z||{zz||{{z|z{{z{|{{|{|||{{{zz{{{{{{{{||}{z{{{z{{|{{|z{||{|z{z{{{{||{{||{|{{{zz{z|{||{|{{{z{{{|{{||||{||{{|{{{z{{|||{|}{|{{|{{{{{{|}||{||z|||{{{{|{}|{|}}{|{{{{{{{{{||||||{{z|{|{|}{||||}{{|{{{{{||||||}||||{|||{{}}||}}||{{{|{{{}{|}|}}|{z|{{|{{{|||||}}{{{{{{{{||||{}||z{{{|{{{{|{|{||{}{z{{z{{|||}{{}|{{{{{{{{{{|||~~~}}~}}}}}|}}}}}}|~||{|||}}}|}|}|}|{}{{{{{~{||}|}|}|{||zz{||||z{}}|{{{z{{{||{{||z||{{{{{zz|{z{{|||{{{{{{z{{{{{{|{{|z{z{z{{|{{|{|{|{{{{{z{zz{{|||{{{{{{z{{{||||||{|{{|{{{z{{{{{{{||{z{{{{{z{||{{|{{|{|{{|z{{{|{||{|{{z{{{{z{{z{{{|||{{z{{{{{{|||{|||{{{{z{{{{|{{|{|{{{{zz{{{||||||||z{{|{{z{|{||{||{{{|{|{{|}||{||{{||{|z{||||{{|{{|{{||{{{{{{|{||}{z|{{||z||||||}}|{z{{{{|{|||||||{{|{{{{{|}||{|{}|{{|{|||{}||}||{|{{{z{|||}|{{}||}{{{{{||||}|}~||{{{{{|z|||||||}}|{z|{{|||{{||||}||{{{{{{||{{|{}|||{{zz{z|||{{|{{{{zz{{{{{{||{~~~}}}}|~|}~~}}}~}}||||{|||}}|||}}||{{{|{{||||||||}{{|{{{{|{|}{|||||{{{{|z{||z|{{}{{|{z{|{{||{{|{{{{{{|{{|{{{|{{|{|zzz|{|z{{{{{|z|{z{zzz{z{|{{|{{{z{{{{|{z|{|z{{{{{{|{z{{z{zz||{|{|zz{{z{zz{{{{|{{{{{z{y{{{|{|||{{{{{{|{{z{|{{|{|||{{{{{z{|||{{|{{{{zz|{{{{{||{{{{{z{{{z{{{{{{|{||{z||{{{{|{|{|{|||{|{{z{{|||}|||{|{{z{||{{|{|{|{{{{{zz{{{{|{{{||||z{|{||{||{|||{||{{|{{{{{|||}|||{{{{{{z{|}|||||||{{|{|{{{||}}}}|}{z{{|{z|}||{||}|{|{|{{{}||}}}|||{{{|{{||||{}{||||{}|{||||{||||}{|{{{{z{{||}{||||{zz{|{{|||||||{{{{{{{{{|||{{~~~}~}}}}|}||~}}}}|||{|{|{||~}||{|}{|{{{||||||||||||{{{|{{{{{|||{||{{{z{|{z{{||{|||{z|{{|{{z{{z{|{{{{{{{{{z{{{z{||{{y{zz{z{zzz|zz{{zzz{z{zzz{{{{{}|{{zyzzzy{{{z{{{|{{{{zzzz{z{{{{{|{z{{z{zy{{{{{{{{{{zz{{zzz|{{{{{|{z{{{{{{{{{|||{{{{{z{z{{{{|{{{||{{||{z{||{{{z{||{||{z|{{|{{|{{{{||{z{z{z{{||{|||{{{{{{{{|||{|{}z|zzz{zzz{{{|{|{|{{||{|{{{|||}|{|z{{{|{{{|||||}}}{z{{{{z{|||{|{||{{z|{|z{{|}|||||{{|{z|{|{{{{{}{|}{||{{{{|}|||}|||{{|{{{|||}||||||{{{{z{{|||{{|||||{{|{{{{||||||}{{z{z{z|{||||{|{{|z{{{z{{}{||||{{z{z{z{z{{{|{}|~~}}}|}~~}~|}}||||||{||}}}||}}||{{|{|{}{||||}{|{z{{{{||{|{||||{{{z{{{{|{{|{|{|{{z{{{{{z{}|||||{{{zz{z{||{{{{||zz|{{z{z{{{{{{||zz{{zz{zz||{{{|{z{z{z{z{z{|{|{{|{z{z{{{{zzz{|{||{{z{|{zzz{|zz{{||{{zzzzz{{{{{z{{{z{{z{zzz{{}{{||{{z|{{z{{|{{{|{{{{{{{{{{{{{{{|||z|{{{{zz|{{|z{||z{{{{{{|{{{{{|||{{{{z{{zz{|||{{|{z{{{{{z|||{{||{|z{z{z{{{}||z}}{z{{{{|{|{{||{|||{z|{|{z{z|}{|{|{|z{{{{{|||||}|{|{{{|{{{|z||{||||||{{||{{{}|{}||||{||{|||||}||{}|{{{{{{z{|{||}|}|}|{|z{{|||{|||{{||z{{{{{||{{{|}|{|z{|z{z|||{|{||z{{z{z{z{{{|{~~~~~~}}~}}}|~~}}||||~{||{||}|||}}|{{|{|||{||||}}}|{{{|zz|{{}z{}|{|{{zzz{z{{||||{z{{z{{{{{{|{{{{{|{|{{{zzz{{||{{{z{{{z{z{{{{{{{{z}{zyzzzzz{{{|{{{{zz{{zzy{{{{{{|{{{{{zzz{{zz{{|{{{{zzz{zzz{|{{{{{|{{{{{z{zz|{z{|{{{{{{{{{z{{{{{|}||z|{{zz{||||{{||{{{{{{{z{{{|{{||{{}{{{{{{{||{||||z{{zz{{z{||{{{|{{{z{{|{|{{{{||{{{{{zz{{{||{{{|{||z{{z{{|{{}||{|{|{{z{|{|{{|||||{}|z|{{{||||{|||{|{{{|{{{|{|{{|}{{{{{}|{{}{|||{}zz{{|||{{}|||{}}{}{||{|{|||{|||{|{{|{|{{|{{|{|}}{|{{||{{|{{|{||||z{{|{{z{||{}||||{{|{z|{{|{||||{|z{{{zz{{{{|{~~~~}}}}|}}}}||~||{|}|||||||||}}{{|{|{{{||{|}}|||z|{{y{{{||{}{|||{{z{z{z|{||||||z{z{z{{zz{z|{|{{{z{z{{z{{{}{{{|{|z{{z{{zz|{{{{|{{|zz{z{z{{z{|{{z{z{zz{zzz{|{{{{{{||{{{z{z|z|{z{{|{z{zz{z{{{z{{z{zzzzz{z{z|{{{|{{{z{{{{{{{{{{{{||{{{zzy{{z{{|{|{|z{{z{z|z{||{{{|{{{{{{zz{|{||{||{z{{|{{z{z{|{{|{{{{{||{{z||{{|{|{{{{{{{zz|||z{{{{{z{{{{{{|||||{{|{{||{{}{|{{{|}}|{|{{{zz{{||||||{|{{{|{|z|}|{}}||{{{|{{||{{{}|}{||{{{||{{{}|||||}{||{{|z|{||}}{|{|{|{|z{{{|||{||}||{||{||{|||}|||{{|z{|zz|{}|{||{|{{zzz{z{|{|{|}{{{{z{{{z|{||{~~~}||~}~|}}~~}}|||}|||}{{|}||}|||{{{{|}{}}}|}|z}{{{{{||{}z{|||{{{{{{z|{|{{||}{z{zz{|z{{|{|}||{{{{zzz{{||{{}|{|{{z|z{{|z||z|||{{zzzz{{|{{{{{|{{{z{z|z{{||{||{{{{{{{{zzz{{{{|||z{{{z{{{{{{z{|z{|z{z{{yz{|{{{{{|{z{|{{{{zzz|{||{|z{z|z{{z||z||{|{{{{zz|{{{|{{|{|zzzzz{z|{|{|{|{||{|{{zz{|||{{|{{{{{{{{z{||{|{{|{{{{{{{{|{||{||||z{{{{{{{|||}|}{{{{z||{{{|}||||{}|{z|{z|zz||||{||}{{{{|{{||||}}}}}|{{||{}||||||||||{{{|||{||||}}||{{{{{|{||{{||}|}{{||||{||{|||}}||{{|{z|{||{}}||{{{z{{{z{||}|{|||{{{{z|{||{|||}|{{{{{{{{{{|{{~~~~}~}}~~~~~~}|}|}|{|}||}}|}~|||{||{{{}|||}}||{{||{{|{|||{{{|{{{{z{z{|{{|{|||}{{{zz{{{z|{{{{{||{{z{|{zz{{{{{|{zz{{{z{z|z{{||||z{zzz{z{{{|z{z||z{z|z{z|{{|{|||{{{z{z{{z{{{{{{||{{z{z|y{{{{|{{|{{{zz{{z{z{{{{~{{z{|{z{z{{{|{{|||{{{{{z{{{|{{z{{|{{z{{z{z|{||{{|{{{{{{{z{{{|{||}|{{{{{z{zz{{|{||{|{|zz{{|{||{|{|{|{||z{{{{|{{{}|{z|{{{{|{||||||||{|{|{{|{}|z|{|||{{z|{zz{|||{|||||{{{{{{{||||||}}{{{||{|||}}{|||||{z{{|}{{~}||||{|{}}{{|{||||{||{|{{|{{||||||||||{|z{{|{}|||{{||}|||z|{{{{|{||{||||{|{{{{{|{|||||{{{|zzzz{{{||~}}~}~}~~}~~~}}||}||{|||}}|||~||}||{|{|||}||}|||{{|{{{{|}{|||{z{{z{{{{{{|}||||{{{zzz|z{{{{{z{z{{{{zz{{{||{{||||{{{{|{z{{|{{{{|zz{zz{z{{{{{|{{z|zz{z{zz{||{{{|{{zz{z{z{||{|z||{{{z{z{z{{z{z{|{{{{zzzz{z{{|{z|{|{{|zzz{|{|}|{{{{|z{||{{|{{{{||||{{{z{{{{|{{|{|{|z|{z{{zy||||{{||{{{{{z{{{|||||{||z{||z{z{||{{|}|{{z{{{{{||||{||{|{{z{zz{|{||||{|{{|{|||{|{{|{|||}{|{z{{z{|{{{|||}{|||{{{|}{{||||||{{{||{|}|||}|||{||z{|{{|}||||||{||{{|{|}|}|||}|z{{{{|{{}{{|}||{{z||{z|||||{|{}{{{{{|z|{|||z{{||{{z{{{{{|||{|}|{{{{|{{{|{|{|~~}}}|}~~~}}}~|||||}{}|}}|}|}||{{||{{||||{||||{{|{{{z{||{|z|{||||{{zz}|{{||{|{{{{zz{z{{{{{{|{{{||zzzz{{|{{{|{{{{{{z{y{zz{{|{{zzz{yzzz{z||z}{|{{zzzzy{{z{{||||{{zzz{zzz}z{{{|{{zz{{zzz|{{z|z{|zz{{{{zz|{{{z|||{{zz{z{{z{{{|||z{{{{{z{z{{{z{{{}{{{{zz{{{{|{{{{|{zz{zz{||||{{||{|{||{zz{{||{|{{|{{z||{{z{{||{{||z{{||{z{||{{{|{{{{{{{||{{{{{||||z{||{|{{|{||{|{|{|||{{{{||}||||{}z{z|{z|||}{||||{{{{{{||{||||{|||{{{{|{}|||}{}}|{{||||{{}{{}||{||z|{{{z{{{||}||||{zz||{|{{|{{|||{{{|{|{{{{{||{||||{z{{{z{|{|{|}z{{|zzz{{{||{{~~~~~~}}~~}}}~}}}||}||||||||}|||||{}{}{|{|}||}|{{|{zyz{{|{|{{{|||{zz{z{{{{{{{||{{zzz{z{z|{{|{|{{{{zz|z{||{z{|{{|z{z{{{z{{|||{{{{zzz{zyz{{{{{{|{{zzz{{z{z{{z|||{{{{zzzzz{{z{{{|z{z{z{{zzz{z{{{|{|{zzzy{z{|zzz|{|{z{{|{z{{{|{z{|||{{zz{{z{{|z||||{|||{{{{{{{zz{z||{{|zzz{{{|{||{{{{{{{z{{{{|{{{{{|{z{{{{{{||{|{z{zz{{zzz{{{{|{{{z{{|{|{{{{z|{{|{|z{{{{{|z{|{{||||{{|{{zzz|||{{|z{|{{{{{{{|}{|{|||{{{{{z|{z{|}{z||{||z{{{|{||}{|}{{z||{z{{|||}{||||{{{{|{{|{|{|||}{{|{{|{||||{{{|{{|{z{{z{{|||{|||||{{z{z{{||{{{|{|{{{zz{{{{{{{~}~~~~}}~~~}}}|}}|}|}}}|||}{{{{|{|{|{|||||{{{{|z|{{||||{|{|{{|z{{{z|{{{||||{{{{{z{{{||{z|{|{{{{{zz|{z{{|{||z{{z{{zz{||{z{|{{z{{z{zz{{|{|z{{{{{{zzz{{z{{|{||{{{{yzzz{{{|{{|{z{{{zz{zz{{z{{{{{|{zzz{{{|zz{|z{{z{{{z{z||{{z{||{{z|{{z{||{|{{}{z{zz{z||{|{|{|||{{{{{{z{{|||{||||{{{{{{{|}{}{||{{||{{{{{{{|{|{{{{||{{{z{|||{{{{{}|{{{{{{|||{{|||{{{||{|{||}}{|}|{{{{{{z{{||||||{|{{{{z|{|||{||||{{|{{|}{|||||}|||{|{{{|{{|||}||}{{{{{|{|}}}|{||||{{{||{{{{{|}|||{{|||{z||||||{||{{{zz|{|z{{||{}|z{z{{{{{{|||{{{|{{{{{{{{{{{z{~~}~~~}}}}}}|}|||}{|}|}|||{{}{{{{|z|{||||{{{{|{{{{||z|{||{z{z{{{{{|{|||{{|{{{{{{z{{|{z{z{{{{{zzyz{{|z{|{|z{{z{{zz{{{{z{{{{z{z{zz{{{{{z{{{|{{zz{zz|{{{{|z|{{{{zzzz{z{{|{{{{{zz{{{z{{{z{{{{z{{{zz{z{|{{{|{|{z|z{{{z{z|{{{z|{{zz|{{z{{|{|{||{z{{z{{z|{{|{{{|zz{{{{{z{{z|{|||{{{{{{{{{||||||{|{z{{zz{{{}{{||{|zz{{{{zz{|{{|{{|||{|{{{||||||{|zz{{{{zz{||{|{|}|{{{|{z{{|{|{|||zz{{|{{{}}||{|}}|{|{z{|||||}|||{}{{{{{z{{||{|{|||{|||z|{||{||}{{|zz||{{{{{|{}||~{|{|{{|{|}||||||{{|zz{{{|{|{||}{|z|{{z{{z||}||{|z{{{{zzzz||{{~}}~~~~~~}|{}}||{}||~}}}}|{|{|{{z|{|{|}||||}{{{{{z}{{{{|z|z|zz{z{{z{}{{{}zz{z{{zz{||{{||z{{z|z{zz{{{zz{{|{zz{zz{{{{z|{{{{{{zz{zzz||{{{|{{{z{{zzz{{{{{{{{|z{{{zzzz{|z{|{||{z{|zzzz{{|{{{{{{{{zzz{{z{z|{||{{{{{{z{{{{||{{|{{z{zzzz{z|||{{||{z{{{z{{{{|{z}{{z{{z{z{{{|{{{{||{|zz{z{|{{|{||{|{{{{z{z{|||{{|||{{{{z{z{||{{||{|{|{{zz{{{|||||}|z{{{{{{|||{|{|{||z{|zz{z||{|||||{z{|{{z{|}{{||||{{{||||{{{|{|{||||{{{{|{{||}||||||||{{|{|{||}||||z{{{z||||{{||||{{{{{}z|{|{|{|{|{||z{z{|||||||{||{|zz{{z{||}{||{{{{{{z|y{{{|{~~~~}~}}~||}||{}|}}~}~}|{{|{{z{|}|||||||z{|{z{z|{||{{{{{||{{{{y{{|{{}{{||{z{{|{{|{z{{{||{{zz{z{{z{{}{{|{z{zz{{z||{|{{{|z{z{zzzz{{{{z{|{{|zzz{{{{{{{|{|{zz{{z|z{z|{{{{{z{{{zzz{z{z{{{||{{{z{zz{{z{|{{||{zz|{z|zz{|||||{|{{{z{{{{||{}|{||{z|z{{{z|{|{{{||z{|{zzzz|{{z|||{|{|zzz|yz{|{||||{z{z{{|z{|{|z|}||{{{|zzz{{}z{||{z{{{|{{{{{|||}||{{{{{{||{z{|{{{}|z||{zz{{{{||{|||{|{{z{{|}|{||||||||{||{{||{}{}{|z{z{|{{{}|{|}||||||{{{{||{}|}||{zz{{{|{{|{{|}}}|||{|{{{{||||||{{{z{{{|{{||{|{|||{{{{{{|{|{||{{|{{{{{z{{{{{{}~}}~~~~~|}||}{||}|||}}~|{{{{||z|}|||{{|||{z|{{|{|{}|||{}||{{{{{z{{||{||{{z|{z|{z|{|{|{|||{z{{zz{|{{{{{|||zzz{|{{|{{{{|||z|{z{z{{{{|{{|||{z{{zz{{{{{{||||{z|{zz{{z|{{z|{|{{{{{{z{{|{{{{{{{zzzz{zzz{{{{{{|z{{{|{yz{{{{{|{|{{{{|zz{|{||{|{||{{{{|{{|{||z{|{{{{{zz{z|{{{{|||{{{{{z{{{{{|}|||{z{{|{{{|{|{{||{{{{z{{{{|{|{|}{|{{|{|{z{||||}|||{{{|{{|{||z||}||{{|{{{zz{||||{|{{|{{{|{{|{{{|}|}{||{}{}{|}||}||||{{|z|{{{}||{||||{||{|z{|||||}|||||||z||||||||||{{{{{{{|||{|||||{|{z{{z{z|{||||||{{|z{{{{|z|||||{{z{{zzz{{{|{~~~~~}|||||{|}}}}}}}|{{|{||{{}|}}|||}|}{|{{|{|||{|||||{z{{zz|{{|{|||||{{{zz{{||{{{|{{{{{{{zz{||{||{|||{zz{{{z|{|z|{|zz{{{{z{{|z||{|{{{zz{{z{{|{|{|{{{zz{z{zz{{{}{{||{{{zzzzz{z{z{{||{{{z{{zz{{{{{|{|z{{z{|{{{||{{{|z{{{{{{{{{||{{|||{{{z{z||{z{{{|||{z|{|z||||||{||||z{{{z{{{||||}||{{{z{{zz||}||{|{|{{zz{{{{|{||}||{{{{{z|z{|{{|{|}{{{{{||{{||||}|{{{z{|{z{|z||}||{|{z{{{|{||||||}|{{{{z{}||||}||}|||}|{{{{}}|}|||{{{|||{|{||{||||{{{{{z|{|{{||}|||~||||{{{{{|}||}|||{{{z{{{|||{|}|{}{|{{|{|||||{||{{|{{{{||{|{|~~~}}}|}~|{||}|}}}}~||{|{{|{|||{|}|}|{{z|{z{{}||{||}{{{{{{|{|{{{||||z{|{z{zz{{{{{{|{|z{z{{|z|{||{|z{|{{{zzz|{{z{{|{{|z{{zzyz{{{{|{|{|{z{z{{{{{{|{{||}{{{zzzz||{{|{|{{{z{|y{{z{{z{{|{{{zz{{{z{|{|{{{|{{{{z{{z{||{{||{|{{{{{{yz||{{|||{{|{{{|{{{|||}||{{{|z{{{{||{|}|}||{{|z{{{|||{|{{||{z{zzz}|||{||||zz{{{{z||||{|}{{z{{{||z|||{||||{}{z{{{{|}{||{|}|{{|{zz{|{|{{|{{{{{{||{{|}|{|{}|||||||{{{||||||}|{{{{}{||||||||}|{{{{{{{|{||||}{{{|{{|||||{{||||||{{||{{|||}||{}{|{z{{{|{|||{}||{z{{|{{{|||{{}}|{z{{|{z|{{||{~~~~~}}~}}}}|{|||}}}|}}}|{{{{|{||{|{|{~|{{{{|{{{{|||{{||{{|{{z{z|||||{|{}z{{{z{z{z{{{{|z|{z{zz{z{{|{zz{{{{zzzyyz{{|{{||{zz{{{zzz{{{||z|{{z{{z{z{z|{z|{{|{{{zy|{{{{{{{{|||{zzz{{{{{{{{|||{z{z{{{{z{{{{|{|{z{z{{{z{{||{{|{{{{{{z{z|{{{||||{{{{zz|{|{{}{|{{{{{{{}{{||{{{{{|{|{{{{{{{|{{|{{{{z{{z{{{||}|{{||{{{{{{|zz{{{|||||{|z{z{{|}{|{|||z{{{{{{{||}|{|||{{{{|{{z|{}|}|{|}{{{{{|{{}{||}||{{{z{|{{||}||||||z||{{|{{}||||}||{{{|{|{||{}|||||{{{|{{{}||}||{||{{|{{{|||||||{||{{{{{z{|{{|{{|||{{z{{{z{||{||||{z|{|{z{{||||~~~~~~~}}{||}||}|}|{}||||{{{||{||||||||{{{{{{|{}||{z{{{||{z{{z{z{{{{{||{z{zzz{z{{{{{{|{{{zzz{zy|{{zz|{|{{zz{{z{{{z{|{{{zz{{{yzz{z{{{|{{zz{z{zz{z{|{||{{z{z{{{zzzz{{{{{{{{zz{zz{z{{z{{|{{z{z{zzz{{z{{{{{zz{z{zzzzz{|{{|{||{zz{{{{z{{||{{{z{{{z{z{|{{|{{|{{z{{zz{{{{|{{|||{|{{zz{{{{|z|{{y{|{z{z{{{|{|{|{|z{{{{z{{||{{{{{{{{{zzz||{|||{|{z{|{{{|{{|{{{||{{|z{{{z{}{|{|||||z{{{z|z|||||||{{||{z{||||{|}}|||z{{z|{{|||||||||{{|{{z{{|||{||||z{|{{{||{{{|{|||{{{{z|{||||}}}{{{{zz{{{{{||{|||{{{{{{{{z||{{|{{z{|{z{{{}{{{{}}~~}~}||||{}}}}}}|||}||{{||||{{||}}|{|{{|z|z{|{{{||{z|z{{zz{|{{{|{|z{{z{{{{{|{z{}|{z{{z{z{{{|||{{{{{{{z{|{{{{{{{|{{|{{z{{{z{{{{{||{|zz{{zy{{{|{|||{z{{{z{{{{||{{|||{z{{zz{yz|{z{|||{z{z{z{zz{z{{|{{z{{{|{|{{{|{{{{|{{z{|{{{z||{|}||{|{{{z{{|||{|{|{{{|{{{{z{{|{{}}|{z|{|{{{{{{|{}{{|{z{{{z{{|||||{|{{{z{{|{{||{{{{|}{|z{{{{{|}||{|}{{|{z{{{{|{}|{|}{|{{{{{|||||}}|||z{|{{{{|}||||}}|{{|{|{|}|||}|}}|{}{{{{{{}{}}|}||{{|{|{|{||||||{{{{{|{{|{{|}|||}{|z{{{|{{{|{|}||{{{{||{|{||||||||{{{z{{|||{|{||||{{|{{{{|{}{|~~~~~|||}{}|||||}|||}|||{{|}{||||{||{|z{|{{{z{}||{{|{|{|{{{{{||{{|}{|{|{zzz{z{{}z{|{z{{{z{{z{|{z{{{{|{z{{{{z{{|{{{|z|{{|zz{{z{{|{|{{|{{{zz{zzz{{z|{{{{z|{{zz{{|{{{{||{z{yzzzz|z{z{{||{|zz{{{z{{{{{|{|zz{zz{zz{|{{{{{{{zyzz{z{{{|z{}{|zz|z{{|{zz{{{|{{{||zzz|{{{{{|||}{{{{{y{{{||{{|{{{z{{{{{{{{}|{{}|{{z{{zzz{{|{|}|{z{z{z{|{{|{{}|}|{|||{{{{|{{|{||}{{||{z{z|{||{|}{|{{{{|{{{|||||}|{||||}{{|{|{{|||{{zzz|||{|{|}|}|{z{z|z|{{||||||{{zz{{{|{{{{{||{||{{z{{z|{{{{|}|||z{z{{|{{{{|z{|{||z{{{{{{}|||{|{|z{{|{{z{||{|~~}~~}|}}|{||~}}}}}}}{|{z{{|{{|}{|{||||{{{{{{{|}|{||}|{{{z{|{|{{{z{||{{|zz{z{z{{{z|||{{|{{{z{{z|{{{{{zz{y{zzz{zzz|{|{zzzz{zzz{|z{{|{z{z{{z{{{{{{{{{{{{{{zz|z{z{{|{|{z{zz{zzzz{z{yzz|z{{{zzz{zz{{{{|{|{z{{{{zz{{{{{|||z{{{{yzzz{|{{{||z{zz{y{{|{}{{|||zz{zzy{||||{z}{|{{{{{zz{|}{{{}{{{{z{z{{{{|{{{{}{||{{|z{{{{z|{||}|{{{{|z{{|||||{|z|{{{{{z{||}{|||{{{{{{|z|||{{|{}|z{z|z{|}|||{|}|{||{{|{{{|{{||{|}z{|{|||{||}}|}{|z{|{{|{{|||||||||{|{|{{{||||{|||||||{{{|{|||}||||{{|{z|{|||||{|{|z{z|{{|||{{||{{z{z{z{{|||{z~|}}~~}||}||}~~}|}}|{||||{{}|}||}}}{|{{{z{z|{||z|{|{|||{z{z{{{||{{|{zz{{{{z{{{{{|||{zz{{{z|{{{{{{{{|zzzzz{{{zz|{|{{{zzz{{{zz{{{||{zzzz{yzzz{{{z|{|{{z{yzzzy{{{{z{{|{{z{zzz{{zz{|{||zz{zz{zz{{{{{|{z{z{{{{{z|z|z{{}{zzzz{z{{{{{{|{||{z{{{zzz|{{{|{||{{{{{{z{|{|z{{|{{|{{{{||{{{{|}{{{{{z{zzz|{|{{{{|{z{z|{z{|{|z{|||z{{{z{{{{|}|{{}|{|{z{z{{{|z|{}||{z{{z{zz{||{|{||{z|z{z{{||{||{||z||y{{|z|{|{|||||{{{{|{{{}}||||{|{|z{|{|{||{{|||{z{{{|z|||{||}|}|{||{|{{|{|}}|{}{{|{{{{{{{||{{||{{z|{|{z{|{|||||{z|z{z{z{{{{{}~~~}||}||}}}}}|}|||||{{{{|{|{|}}||z|||{y{|}||||||{{zz{{zz{{|z{{|}{{{zz{{z{{{{{{|zz{{{{zzz{{z{|{{|{z{zz{{z|{{||{z{{{{{{z{{{{|{{{|{{{zzy{z{{{|z{||{zz{zzzzzzz{{{{|{|z{zzz{zz|{z{||{{{{z{{zz|{{z|||{{z{z{zz{{{|||{||{{zy{{{{||{{{{{{{yz|{z|{{{{{{|{|{|{}{{{{{|{}||{|}{{z|{{{{||{||{{z{|{{yzz{{||||{|{{{|{{{{{|{{{|{{z{z{{||{{}|||{}{{|{{z{|{{||||}||{z{{z{z{{|{||{||{{{{{|{z{|{||||}{z|{||{{|{{|||||}{{|{||{{|||||}||{||{{{{|}|||{|}{|{|{{{|{||{|||{|{|{{{z{{||||{||{{{{|}z{{{{|||{|{{{{{{{z{{|||{}{{{{{zzz{{||{|~}}}}}}||}}}}}|}||||{|{{|z|}||}|||{z|{|{{|{{|||||}|{{{{{zz|||{||{|{{{z{{{z{{|{{{{{{{zzz{z{{|{{||{|zz|yyz{{|{{{{{{{{zyz{z|{z{|{z|{zz{{z{zz{z||{|{{|{{{{|z{{z{{{{||}{z{{z{{z{|{{z{{{{{{{zz{{|{{{{|{{{{{{{{z{{{z|{|||{{{z{z{{{{|{|{||{{{{zz{|{|{{|{||{{{{z{z{|{{{|||{z{|z{z{z{{{||||||z|{{{z{|||{{{||{{{{zz{{|{||||||{{{|zz{||{||}||{z{{|{{|||{||z{{|{|{{z{{{{|||{||||{{z{|{{|}||{|}||z|{|{{{{}|{}||||{{{z|{{{}|||}|}|{||{{{|{|{|||}{|{|z||{{||{||{|||{{{{|{{{|||||}|{{z{{|||{{||||||{zz{{z{z{|||{|||{{{{z{{{|{|zz~~}~|}|||}||}|}}~}{{z{|}{|{|}{{|}{{|{{|{z{|||{||{{|{|z{{|{|{|{|{|{z{z{{{{{||{||||{zz{z{z{z|{{{{|{{{zz{{{z{{z{{{{{{{z{z{{{{{{{{z{{z{z{zzz{{{|{z{|{{{{zz|{z{|{|{{||{{{{z{{{{{|yz{{||z{z{zz{{{z|{||{{z{{z{z{{z{{z{||{{zz{zzz{||{{|}{|{{{{{z{{{|{{{{|{z{z{{{||||||}{{z{{z|z{zz}||{{|{zz|z{{{{|{{|{{{{|{{||{{{{|{{{||{{{{{{|z{{{{|}{}|{|{{{{{{{|{{{|{||{{{{z{{{||{|||{|{{{|{|{{}|||}|{{|{{|}{{||||||}||{{{{{{{|}|||}}{|{||{{{{|||}{{||{z{z|{{{|{{||||}|{{{|{{||||}|}{}|{{z{|z{||||{{||{{{{{{{{{||||z|||{{z|z{{{||{|~~}}}}|||}}|}|}}~}||||{||{{{|}}{}{{z|{zzz{{||||{|{|{{{{{|y{{|{|{{}{{{{{{z{{{{{{||{|{{{{zzzz{|z{{|{{{zz{z{{{{z{{|{zz{zz{{{{|{{{{{{{{{z{{z{{{{{z{|{|zz{{{zzy{|{{||{{|{yz{z{{{{{{{{{{|{{zz{z{z{z|{{||{{{{{|{||{||{z||{{|{zz{{||{{{}|}|z{{{zz{{z||}{|{{|{zzz{|||||||||{{{{{y{z{{{{|||{{{|{|{{z||{{|{|||{{{||{{||{{{|{|{{{{{{z{{{{}||||{{{{{|}{||{|{|{||{z{{|{z{}{}||}||{z{{zzz{||{}{|||z{{{||{{||{|||||{z|{|{{||{{|{|}||||{{{{||}|||{||{{|{{{|||||||||}|z{|{|{|||||{|}{|{{{{{{{|||{|{}|{{z|{{{||}{||||{|{z{z{{{{{{{}~~~}~|}}}~||}|}}}}}}||{|{{||{{}||}||{|{z{|{{{|}|{}|{{|{{{{z{{|{|{{{{{|{{{{{{{{zz||{z{zzzz{{{{{{{{|{{zz{{zz{{y{{{{|{{{z{z{z{{{{z|{|{|z|{{{{z{|{{||||z{|{{{{z{{|{{{||{z{{zz{zz{{{{|{|{{zz{{{{{|z{|||{z{|z{{zz|{{{|{|{{z{{{{{{{|{|||{|{z{{{z|z||||{{{|{{zz{{{z|{|{{|}||{z{{{|{||||{{|{{||z{{{z{||{|{}||{y{zz{{{|{|{{|{{z|{||{{{||||{|}{|{{|{{{{}|||}{|{z{|{{{{{||||||{|z{{z{{{}||{||||||{{|{}||{{|||||{{||{|{|||||}}||{{||{{{{|{}||{||||{|||{|{||||||||{|||{{||||}}|}|||{{|{{{{}||||||||z{{{|{||{}|||{{{{{{z{{|||{|~~~~~}|}|}{|}|~}|}}}||{||||{|||{{|}|{{}|{z{z|||{{|||{||zz{|{{{}{{{{|{{{{z{{{{{|{{{|{|{{z{{zy|{z{|||{{{|z{{{zz|z{{{|{{{{{zzz{{{{{{{||{z{{z{zz{{{{{{z{{{z{{z{{{{{{{|{{{zzz{{zzz|{{{|{z{{|z{z{{{{{{{|{z{z{{{z{y{{{||{|{z{|z{z{{{{|{{|||{|{{zz{{{||{{|||{{{{{{|zz|{{{}|||z{|zz{z{{{{{||||{z|{{{z|||{{{{{{zz{|{{{{{|z{||{{{{{{{{|||{~||{|{{{|{{|{{|{|||z|{{||{|z{{{{|{||{||{{{|{{|}||}||||{{z{{||z}|}||{||{{|{|{{||||}}|}|||{{{{z|||}|{|||{|{{||{||{||||||{{|||{||}|}||||{{{z|||{{|||||||{{{{|{{{|{||{||{{{{zz{z{{{}z{}}||}|||}}|}}}||||||}{|{||}||}}||{{{{{{{{{|}{||||{|{{{{{|{||z|||{{{{z{{zz||{{{{||{{z{z{{|{||{{{{|{{{{{{{zz{{{{|{{{zz{z{z{|{{{|{{|zzz{z{{{z|||{|{{z{{z{z{{||{z||{{{{{{zz|{{z{{|{{{{zzz{{z{|z{|{|{z{{{z{{{{{|{{||{{{{z{{|{z||zz|{|{|{{z{|{|{|||{||{z{{{{|{{||{{{|{|{{{{{{{{|z{||{|z{|{{{{{{{{||||{|{{{|{||{|z|{|{||{|{|{{{||{{}||}{||z|{||}{|{|}|}||{{z{{{{|}|{}{||z{{{{|{|}|||{}{{{{||{|{{}|}}|}|||{||{||{|}||}||{{{|{{{{{|{||{||{z{{||z{|||||{}||||{|{{|||||||||||{{z{{{||||{|||{|z{{{{{{|{|||{|{{{{{z{{{z|z{~~~~}|}||}}}}~|}~|}|}||{|}|{}|{|z||||{{||z{{|{||||}|{{{{z{{{}{|{||||{{{{{z|{{|{|{{{{{{z{y{z{{{|zz|{{z{|{{|zz{{z|{{z|z{{z{z{{{|{{|{||z{z{zz{{{|{z||{{z{z{{z{z{|z{|{{{{z{{zzzz{zz{|{||{zzz{{zz{{{|{|}|{{{{{|yzz{{{{{|z{z{{{{{z{{|{{|||{{|z{{|z{{|{{|||{z{z{z{z|||{{|{|{z{{zz{{|{|{{||{|{{z{{{{|{||{|||{z{{{{z|||}{||{|{{{{|{z{{||}{|{{{{|{{{{||{{}{{|||z{{{{|{||}||{|||{{{{z{{|}|||}|||{{z{{||{|||}|||}}z|{{{|||||}{}}||{{z{{z|{||{}||{|{{|{|{||||}|||||{{|{|{|||||||}||{z{{{{{|{{|{||{{{{{z|{{|{|{{}||{{{{{{{z||{{~}~~}}|||||}}{|}|{|{{{|||{|||{{|}}|{{{{{{z{|||z|{{{|zzz{{zz}|{||{|{{zzzz|{{{{{z||{zzzz{z{z{||{{|{{zz{z{z{{{{{{z|{{zzzzzyyz{{zz{{{{{|z{z{z{z{|{}z|{{{z{{zz{{{{z{{||{|{|{z{zz{{{{{||{{y{z{zz{}{{{{{{z{z{{{zz||{{{{}|{{{zzz{z{{|z|{{{{z{z{{z|{{{{|{||{zz{zz|{{{{{{||{{{{{|{|z{||{||{||{{{{{z{z|{|{{|{{z{{{z{{z||{||{||y{{{{z{{|{||{{|{{zzz{{{{||||||||zz{z{{{}|||{||||z||{{|{|{||{}|z{{{{{{{||||||||{||{|{{{{{||||{|~||||{|||{||||||{{z|{{{z{{{{{{||||{{|{{{{||{|{|||{{{z{{{|{}{||{||{|{{z{{{{{{||||||{{{z{{{|z|{{~~~}~}|~}|}~}|}}}~~||}{{|{{|||}}||{{{||{z{|{{}|{|{|{|{{z{{z{|{{{|{|{{{z|{{z{{z{{||{|{zyzzzz{z{{{{|{zz{zz{zyz|{{|zz{{zzz|z{{{|{{{||{{{zzz{z{{z{{||||{{{zzzyy{|{|||}{{{{|zz{zz|{z{}{|||zz{{{zz{|{|{|{z{{{{|zz{|{|{|{|{{zz{zz|{{|z{{{{{{z|{z|{{{||{|||zz{z|{{{{|{{{{{|{{|{{|{{{{|{{||{|z|{{{z{{{|}||}||{{zzz{|{|{{{||{{{{|z|{z|{||}||{z{{{|{|{{z||{{}|{{{z{z{z}||||{}{|z{{{{{{}|}||}|||{||{||{{||||{}||{{|{{{|||{|{||||{{|{|{{|{}|||||{|{{{{{{||}|{|{|||{||{{{|||||||}z|zzzz{{{|{|{|||{{{{{{{{||||{{|||{{{z{{{|||{{~~}}~}|}}|}|}}~}|}{{{|{z}|}|}|}{||||z{{{||{|{{||||{{z{|{|{{{{||{{{zzz|{z{|{|{|{|{{|{z{{{|{{|||{{|{{zzz{|{{{{{{{{{{y{zz{z{{|{||{{{{{{z{z{{z|{{{||{{|{{{{{{{|{{{|{z{z{{zz{z{|||{{{{{zzzz||z|{{{||||{{{{|zzz|{{{{|||y{z{z{z|||||}||z{|zzz{{{{{||{{}{{{{{|{{{{{|||||{||{{z{{{{|||{||{{{{{zzz||||{|||{{{{{{{{|||{{|{|}{|{{{{{|||{|||{|{|{|z|{{|{||||}{{{{|{{{}{|||||{|{{{{{|{}|||||||{{{{{{{{|||{||}{|{{|{{{{{}{|||{}}||{z{{|||{{|{{||{{||{{{|{|{}||{}{{||{{||||||||}{|{{{{{{{|z|||}|{{{zz|{{}|{{||||{z{zzzy{|{{|{~}~}|}~}||}|~}}|}}}||||{{{||{||}}||{{|{|z{{|||||{|{|{{{|{z|{{|||z||{|z{zz{{||{{|z{{{{z{{zz{{{||{{{{{|z{{zz{z{|{{{|{zz||{zz|{{{{|}z{|y{z{zz{|{{||{|{{{z|{z{{{{{{z||{{{z|{zz{{{|{{{|{{z{{yz{z{||{{{}|z|{|{z{|{{|{{||{{{{zy||{{||||{{z{{{{zz{|{{{|{|||{{{{{{z|{|||}|{{{{|{z{{z||{}||{|{{{{{{{{{{{|{|{{z{|z{{z{|||{{{{|{{|{|z|{|||{|{|{{{{|{|z}||||}||{{||{{{{||}|}|}||z{|z{|{|}|}|{}|{{{|{|{{|{||}}|}|z|{{||||}||}|}}||{{|{{||{{}}}{||{{z{{|{{||||||||||{{||{{||}{||||{|z{{{z{{{|{|}|}{{|{z|{|||||||{|{{{{z{{{{}{|}~}}}}}|}|||}|||}}}}}||{}{||{|}|||}{{|{{{{{{{{|{{|}|{{|{{zz|{{{{||||{||z{z{{{{{z{{{|z{{z{{zz{{{|{|{{{zz{|z{{{{|{{{{{{z{zz{{{|z{{{{|{{{{{yzz{{{|{{|{{{z{|{{{y{|{{{|{|{{{z{{zz{{{|{{{|zz{z{{{z{|{{{}{|z{|{{{zy{|{{{|||z{{{{z{z}{{|||{{{z{z{{{{{{{{{{||{z|{{{|y|||{{|{{|{{|{{{z{|{{{{{|{{{{z{zz{||{{||{{{{{{{{{{{{{{{{|{{|{|{{{{z||{|||{{{{{{{{|{|}{|||{{{{{{{{{}{||||{|{{{{|{{|||}}}}|{{{{{||{||||||}|||{{{{{|{}{||||}||{{{{|{}||}|||{{z|{|z{{|}{|{||||{{{||{|{|||{{|}|{z{{{{|{|{||{||{||||{zz{}{{{{zz{{{{{z{{{|{||~~|{|}}}|~}}}~|{{{{||{{{||||}{{||{|{{{|{}||{}|{|{{|{|{|||}||||{{|z{||{|{{{{{|{{{{z|{{{{{{{||{z{zz{{z{{{{|{||||z{z{{{{z||||||||{{z{{|z{z|{|||||z{{zzz{{z{|||{||{z{z{{{zz{{{{|}{||zz{z{z{{{{{{||{{{z{y{{|{{|{|{||{|{{{{|{|{||||{||{z{z|||{|{||}}|{|{z{|z|{{|z|||{{{{z{{{|||}||{|||{{|zz{|{|{||||{{z{|z{{||||||{}|{{z{|{{{{|{|||}||{|{||z|||}{}|}{{|{{{{{|}||}||||{{z{z|{z}{|||}}{|{z|{|||{|{{||||{{|{{|{|}||}}|}}{{||||{|}||}|||||{{||{{{|}|}|}}|{{{{|{}|||||}}|{{|{{{{|{|{}{|||||z|{{{z|{|{|{||{|{{z{{z{||{|~~}~}|~|}{}}}}}}}}||}|{{|||{|{}||||{{{{{{{{{||z||~{{{zzz{z{|||||||{{{{{{{z{}{|z{{|{{{{{zz{|{}{|{{{|{{{z{z{{{{{{{{{{z{z{{{z{{{{{{{{|{zz{|{{|{{{|{||{z{z{zzz{{{{{|||{z{zzz{z{{{z{|||{z{zz{{{z|{{{|||{{|{zz{z{{{||{{{{{{{zz{{{|{{{||}{{|{zz{{{|}zz{||{{{{zz{{{|{||{{}|{{{{{{{}|{|||{|{z{{|{{{|{{{{||{{z|{||{{{|{{{{||{{{{{z{{{{{|||{|{zz{{||{{||}{|||{{|{{{{{{{|||||{}zz{|||{|||{||}|{{}{{|{{{{z{|}|||{|{z||{|}|||||{|{|{{{{{|||||||}|{{|{{{||||}||||}|{|}z|{{{{}|||{|{|z{|z{|{||||}{|{{z{{{z|}z{{|}||{{{{yz{{{||{~~~~}}}||{|||}|~}|}|{|z{{{{{||}|||||{|{{{{z{{||{{|{|z{{{{{zz|{{{|{|{{z{{{zz{{{{{||{{|{zz{y{{z}{{{|{{{{{{zz{{zz{{{|{z{z{z{{zz{z{z{{|{{{{{|z{{{{{||{|{z{{z{{z||||{|{{z{z{{z{z{{{{{|||{|{{zz{zz{{|{|||{z{{|{{z||{||{|{{{{z{{{{|||{{|||{{{{z{z{z|||||{|{|zzzz|z|||{{||{|{{{{{{z{|{{|}||{z{{{{{z||||{{{||{|{{zzz|{||{||{z{|zz|{z{|||||}|{|{{{{|z{|{|||||{{||{{{{||}||||||{{|{|{{|||{||||{{{{{{{z|||||}||{|{|{|z||}|}||||}z{|{{|{||{||}||{{{{{}{{||{|||}|{z{{{{|||z{{|}||{|zz{{z{z|||||}||{z{{||{||{|||}{{z{{z{{{{|{{{~}~~}}}~}|{|}|}}~}}}|{{|{{{|||||}||}||{{|z{||{z|{|{|{{{{zzz{||{|||||{z{zy{zz{z|{{|{{|z{z{z{z|{{{{|{{{|zzz{{{{{{z{{||{{{|z{z{z{{z||{|{z{zzzzy{{{{||{|{{|zz{{zz{|{|{{{{{{zzz{{z|{{{||{{{zz|zzzz{{z|{{|{z{{{{zz{{{{|{||{zz{{z{z{|{{z{|{{z{{zyz{{|||{||}{{{{y{z{{|{{|{{{zz|{|z{{{|{|z{|{|{{z{z{z||||||{|{z{{{z{{{{{{z|{{{{{{{{z|{||||||{|{{{{{|||{{{{|||||{{|{{{||{|||{|{{{{{z{{|}|||{|{||{{{||{{|{|||{{||z{{}{z|||}{}}{{{{{{{{|||}|||{||{{{{{{|||{||||||{{{|{{{|||||||||{|z{{{{{}{|{{|{{{{z{{{z|{||{|{{{{|{{z|{{{{{{~~~~~~}}||}|||}}}}}}~~||{||||z|{{{|{|{|zz{{{z{{|{|{{||{{|zz{{{{{|||{z|{z{zz{{z{{z{||{|{{|zz{zz{{{{{{{{{{zzzzz{zz{{zz|{z{z{zzzz{{{z|{|{zz{zzzzz{{|{|{||zy{z{zzzz{{{{z|{{{{{{z{{z{z{{{{{{zyz{z{y{{{{{{{{{zz{{{{z{{z{{{{{z{zzzz{{{|{{{{{{{zz|{z{{{z{||{|{{{z{z{{{{{||z{||z{{{z{{z{{|{{{{{zzz{{{{{z{{{{{|{{z{zz{{{{|||{||||{{|{{{{{{|||||{{{{{{z{z{{{|||{}{{y{{{{z{||{|{{{|{{z{{{{|{{{|{{}{z|z{|{{{|||||}||{{|z{{{||{{|}|||{|{{{{|{|{||||||z{{{{{{{{|{|{|||{{{{{{{{|{{||{|{{{z{{z{{{|||||{||z{z{zzz}{|{{|{{z{zzz|{|{||{~~}~}~}|}|}|||}}|}}|}}}|{}||{}|||{|{}{z{{{{{z{||{{|}|{|{zz{{{{||{{z|{{z{{{{z{{||{{|~{{z{{z{z{{{|{z||{z{|{z{y{{{{{z||zz{zyzzzz{{{{{{|{{z{zz{zz{|{{{{{|{{{|z{zz{|||{{|{{zz{{z|z{{z|{{}zz{{{zzz|{{z{|{|{z{{|{{{z|{|{|{zz{{{z{zz{{|{{{{{|||{{{{{||||{|{|{zy{{|z{{||{{|{||zz{{{{{{{{{{|||{{|{{|{z{{{|{{{|||{{{{{{{z{|{{||z{{z|z{|{{||{||}|{{{{{{{{|}||z}||z{|||{zz{|{{|||{|zz{{{{|||{|||||{z|z|{||{{{||||{}{{{|{|{|||{||}||z|{{{|{}|{|}||||{z|||{{{{||{|||}{{{|{{{{{|||||}z{{{{{{{{|{|||{{}{{|{|{{{|{|||||{z{{zz{||{|{|~~~~}|~|||||}}}||||~||||{{|{||||||||}{{{{{{z{||{|}||{|{z{z{{|{{||{|{{{zz{{|{{{{{{{}{|{{zz{{{{||{{{||{{{{{{{z{{{{{{|||{z{{z{z{{{|{z{z{{{zzz{{{||{{{{{{{{}z{{z{|{{z{||z{|z}{{z{{{{{|{||z|{zz{z{{{{{|{{|z{z{{z{{|{{|{{{|{z{{z{{||||{{{|zz{{{{|{|{{{{{|{{z|{{{{|{|||{{||{{{{{{|z{||{z|||{|{z{|{{{|{|z{||{z{|||{{|{{{{|||{{{{{{{||{{|||||{{|{{{|{|{|||{||{z|{{{{||{{||||{{{{z{|{{|}{|||}|{{{{{||||{||}||}|{{{z|z|{|||||||||{|{|{|||}}||||{{{{|{z}|{||||}}|{{{{{{{{{||}|{{||{z{{z{{||{{}||||{{{|{{||{|z{{{{{{{{{{z|{{||~}|~}|}{}}||}|}}|}|||{{{}{||||||{{||{{{{{{||{{|{}{{z{{zzz{|{{||{{{{z{{z{{|{z{z||{{zz{z{{{{|{{{{|z{zz{{z{{{{|{{{{{{zz{zz|{{z{{|{{{{zzz{z{{{{{{{|{{z{z{{{z{{{|{{{|{z{zzzz{z{{{z||z{{zzz{zzz{{{z|{{{z{z{|{z{{{{{|{|{{z{{z|{z||{|{{|zzz{{{{z{|{{z|{|{{{{z{{{||||{{||{|{{{{{{{|{{||{||{z{|{{z|{|{|{||{z{{{z{||{|{||||||{||{{{{|||{}}{{|z{{|{z{||{}|||{{{{{{z{|||||}{{|{{{{||{||{|{|}}|||{{||{|||||||}}{{{{{{{{|}|{|||||{{|{{{||{||||||{{z{{|{{{{{|}}}||{{{|{{||{|||||||{{{{{{||{{{|{|{|{{{{{||{||{{{{|{|z|{{{|{{{{~~}|~}|||}}{{~}|}~}{}{|{{{||{}|}||{{|{{{z{{||||||{|{|{z{{z||{{z|{||z{z{z{{||{{{||{||z{z{{{{|{z{|z{{zzz||{z{{||{{|{zzz{{z|{z{|{{{|{{z{|{|zz{{{{|{||{{{{zz{{|{{z|{||{{z{z{zz{|{{{{{{{z{{{zzzz{{z{|{{zz{z|zz{z{{{|{||{{{z{{{{||{{|{|{|{{{{z{{||{||||{{{{z{{{|||{|{{|{|{{{|{{{{{||{}{{{|{z{{|{|{|}}|{{{{{{|z{{||{{|||{{{z{{{{{{|||||{{z|z{|{|{{||||||||{{{{{{{|||}|||||z{{{{{{||}{{|||{{{{{{|{{|||{|||}|{{{||{||||{|}}||||{z{|}||||}||{{{{{|z|||{{|{}}{{{{||{{||||||}||||{{{{{{{{|{|}|{|{|{|{z||{{|{||{|{|{z{{{}|{{~~~|~|}||||||}}}}}}|||{{||{||||||{|{||{|{{z|{{{{||||{|zz{{||{{|z{{|{{{{z{{z{z{|{{{{{z{{yz{z{z|{{z{{{{y{{zz{{{{{{{|{z{{z{{z{{|{{z||{{{zzz{{{z{z||{|{{z{{zzzz{{|{|{{|||z{{{{zz{{||{{{|{zzzzzzz{z{z|{|{zz{|{{zzz{{{|||{{|z{z{{{|z{{|||z{{{{z{z{{{|{{|||z{{z{{{{||{|{{{{{|zzzz{|{z|}|{||{zz{{z{{|{{{{|{{{{{{{{{{{{{||{{{{|{{{z{{|{|{|||{{||{{{{|{{}|{|}{{{{|{{{|||{{{|{||{z||{|{|||{|}|{||{{||{{||{||{|{|{|{||{{}{}|||||{|zz{{{{}|||||}|z{{{{z{{{{|{|}}||||{{|{|}|||||}|{zz{|{{{||z|}|||{|{|{{{{||{{{|{{{{z{{zzz{}|{~~}}~}}||}}|{||}|}}||{{|{{|{{}{||{}|||z{{{z{z|||}z{{|{{{zy{{z{{||||{{z{zz{{z{{{{|{|{|{{|z{{{z{{|{{||{|{{{{z{{{{|{{{|{zz{y{z{z{{z{z||z{z{{z{zz{|{|{{{{z{{{z{z{{||}{{{{{|zz{z{zz{|{{{{{{z{{zz{{{|z{{z{{{z|{{{{z{{{|{{||zzzzzz{z{|{{{{|||{{z{z|z{z{{{{||{{zzzz{{|z|{||{{|{{{{zzz|{{|{|||{z{|zz{|{{{||{|{{{z{|z{{|{{|{|{|{{{{|z{z|{{||||||||{||{{|||{||}|{z{{{z{{|||||||||z||{{{{|||||||}{||{{{|{{{{|||||}{{{|{{z{|{|{|||||{{{|{{|||||||||{{{|{z|{||||||||{z{{{{||{|||{{|z{{{{{{{{||{{{|{||z||{zz{{{||{}{{{{{{z{yz|{|{~~~}~~}|}}{|}}}||}|}||{|{|{z||{||{||{|}|{{||{|{{{{|{|{|{{{{z|{z|{||{}{||{|z{z{{z||{|{||{z{{{{y{{{{|{|z|{zzzzy{{{{|{{{{{yz{y{{{zz{{{z{|{{{{zz{y{{{|{{{||z{|{z{{z|{{||{|{{z{y{z{{z{{|{|{|z{{z{z|zz{z{{|{{{z{{{z{z{{|}{{{|{z{z{z{z{{{{|{|{{{{{{{{{{{{{|{{{{|zz{{z{{{|z{||||{{{|zz{{||{{||{{z{z|{{zz{{|||||{{z|zz|{}{|z|||{{zz{|{{z||{|}|}{{{|{||{{||{{{|||{|z{{z{{||||||}{z{{|{||{}|}{{|}||{{{{{|{|}{||||||{{{{{|{{}{}||||{{{|{|{{{|||{||}|{{|{||{||||||}{{|{||{{{||{||||||{{{{{|{{|}{{|||{|zz{{{{{||||}||{{{z|zz{{{|{|~~~}}|}|}||{||}||~}}}||{{{{|}{|||||{|}|{{{z{||||{{{||{||z{{{||||{}|}{{|z{z{z{{|z{{{{{||{z{{z|{|{{{|z{z|{{||{{{{{z|||z{{{{z{{{{{{||{{{zzy{{{|{{}{{|||{{z{z{{{{{|z|{|{|{{zzz{zz{{zz||}{z{z{z{zz{{{||||{z|{{z{z{|{{{{||{z{{||{{{{{z||{||{{{|{|{{{{|{||||{{{{z{|{{||||||{{|{|{{{z|{||||||{{|{{z{|{{|{{{{{z{||z{{{||||{|||z{|z{{|{{{|{|||y{{{|{{{|{|{{|||{{||{|{z{{|||{}{|z{|{{{{}}|||{||{{{|||||||||}||||{|{{{||{||}|}}||{|||{||{}|{{}|||{{|{{z{{}||||}|{{{|{z{|||||}{||{{{{|z{{||||}}}||{{{|{{{{||||}|||z{{z{{{|z|{{~}}~~~~|||||}|||~|~}}}}}|z{z|{|{||||}|}|z{{{z{{{|{{|||{|{{z{{{{|{||||{|{{{{{zz{{{{{{{||{|{z{z{z|z|{z{|{{{zzz{z{{|{{{{||z{{z{zzz{{|{z|{{|zzzz{{{z{|{|{|{{{{{yz{zz{|{{{{z{zzz{z{z{{z{{z{{{z|{{z{zz{{z||{|{z{{{z{z{y|{{|||zzz{{{z{{||{{{}{{{{{zzz{{{{{z{z{{{z{{|z{{{{|{{|||{{|{{{z{z{{|{|{{|{z{z|{{|||{{}z|{{{{z{z|}|||{{|{{z{{{{{}{{|||}}{zz{{{{{|{{{|||{|{{{z{|{|||}|{||{z{|{{{{||{|||}|{{{{|{|{{{{||}}|{z{{{{{{{|||}|}}{{{{{{|{||||||}{{{|{{z{{{{{|{{|||z|{{|{{|||}|{||{{|{||{||||{|{|{{|{{{{{{||{|{{{||z{{zzzz{{||{~~}~~~~}}}}||||{}|||}}}}||{{|{|{|{||||||{z|{{z{z|{{|{{{||zz{z{{z|{{{{|||{{{z{z{zz|{{|{{{{|{{{|{z{|{{z{||{{{y{{{||z{{z{||{{{{{zzz|{{{{|{z{yzzy{z{z||{{{{|{z{zz{zyz{|{{{{|{{|zzzzz{{{{{{|z{{z{zz{zz{{{z{||{{zzzzzy{{{{||||{zz{{zz{{{{|{{{|{z{|z{z{{{{{|{||{z{zz{zzz{{|z|{{z|{{{{{{{|{|{|||{{|{|z{{{{|{|{||{{{|{{zz|||{{||{{{|{|||{||||{|{|{{{z|{{{}||{}|||z{|||{y{{||{{{}||{{{{{{{|}||||||{{|{|||{|{||{|{|||{{{z|{|||{}|||z{|{{|{{{|}|{|||{{{{{{z||||{||}||{||{{{{{||{}{{|{|{{{|z|{|{||{|||{|{{{{z{{|}{|{|{{{||z{z||||{~}~}~~~~~|}}||}|}||}|}}}|{{z{|{{}{|||{}||{|{|{{z||||{{|||{{{z{zz{{{|{{|{{{{{{{{{z{|z|{{z{|{z{{{{|{|{z{|z|z{z{{{{{{{|{{|zyz{zzz{zzz{z{{{z{{zz{{zz{{{{{{{{{z{|zz{{{{||zz|{{z{zzzyz{{{zz|z{|{zy|z{{{{|z{{|{{{yz{{{zz{{{||||{{y{{z{y|||{{||{{z{{z{z{|||{{{|{{{{{{{{z|||{|{|{zz{{{{{{{{|{||{z{{{{{{{{|||{|{{{|z{|z{{{{{{|||{{z|z|{||{||{|}|}|{{{{{{{{||||{||{{{{{{{zz{|{{||{|{{{{|{{{{|||||}|{z||{{{{||{|||}||{{{|||{|}|}{|}}{{|{|z|{|}}}{||}||z{{{{{{|{|{||}{|{||{{{{|{{}|{|{{|{|z{{{|||||{|{|{{z{z{{||||{|||{{z{z{z||{{|~~}~~~~~~||}{}}||}}|||}}}|||z|||||{}{{||||z{{{zz{||{{z|||{{{zzz|z{}{|{{{|z{{z{{zz{|{{{{{{{{{{{{z{{||z|{z|{{{{z{z{{|||z|{|{zzz{{{z{{{{{{|{{z{{{zzz{{|{{{|}{{{{z{zz{{|{|{|{{{{|{{{z{{{{{|||{{{yz{{zz{{{|||{{{{zzzzz{{z}{{|{{|{zz{{{{{|{{{|||{{{{{{{{{{{{{||{{{z{zz{|{{z|}}{|{{{{z{z{|{{{|||z{{|{{{{|{{|{||{{{|||{z||{{{{{||{||{{{z{|||||{}{{{|{{{{{|||}|{||{z{{{{{{{|||{|}{}{{{{|||||||||}}{{{{{{{{{||||||||{{{{{{|z|||||}}{||{{{{{}|||{{||}z|{|{z{||z||||}|{{{|{|{}|{}|||}{{|z|{z{|}}{}}||||{{{{{{|||{{||{|{{y{{{{{||{|~~}}}~}}~~~}~}}}}}|}}|}}|}}||{{|{{{|||{||{||{{|{z{|{|{{z{|||z{{{{{z{{{{{|{|{z{{{{z{{|{}{{|{|{|z{z{z{{|z{{|{{{|{{z{y{{{|z{{|{{{{{z|z|{{{{{{|z{{{{{z{{|{|||{{||{{z{{y{|||{{{|{{{{zz{{|{|{{{{{{{{{{{{{z|{{{|||z{z{{z{z{{||{|||{z{{{{{z{|||{|||{{{{zz{{||{||{{{|z|z{{{{||||||{{{{|y|z{{{|||{|{{{{|{||z||{{||||{{{{{{{{z{}{{{||{|{{|{{{{|||}||||{|{|{|{|||||{{{||{||{z{{{|{||{}{{z{{{{{z|}{{|}}}}{|{{{|{|}|||}|||{|z|{||{}|||||||{||{{{|}||{||||}{z|{{{|{|}|}|}}{{{||{{}{{||||||{{{z{{{{{||||||{|{{|{{|{|||||{||{{|{{{zz{{|{{~~~~}}}~}~}}}|}|{}}|}||}}}{{{z|{{{|{||{|{|{z|zz{{{{{|||{{{{{{zz{{{{{||{{||{{{z{{{z{|{z{{{{{z{{zz{{{z{|{||{z{yz{yz{{{{{{{{{zz{|{zzzz{|||{{|{{z{{zz{{{{{{{{{{z{{{{z{|{{|{{{{z{z{{z{z{{|{{{{||{{z{{{zzz||{{{|z{z{{z{{{{{|{{{|{{z{{z{z|{|{{{||{{zzz{{||{{z{{|{z{|{{{{{{|{|{||{{{|{{z{|{||z||||{{|zz{|{||{||||{{{zz{zz{{|{|{{||{{{{{{{{|{||{||{{|{{{|{z||||z{}||{z{|{{z{|}}||}|{{{|{|{{{|||{|}|{||{{{|{|{{||{||}{{|||{{||{||}|}|{|z}|||{|||{|{||{{{|{{{|||}|||||{z|{{{{|{||{|||{{|{{|z{{|{{||||||{{{{z{||||{{{|z|{{{zz{|{{z{~~}~}}}~~~~}}}|}||||||}||}}~|{{{{{{{{|}{||||{{{{{{|z{|}|zz|||{{zz|{{{|||{{{{{z{|{{zz{{{|z{|{{zzz{{z{{{|{z{|{{{z{y{zz|{{{{{||{{{z{{{{z{|{z{|{{{{{zyzz{{|{||{z{{zz{{z|{{||||{{{yz{{z{{{{{{z|||{{{{z{{{{{{{||{{{{{z{{{{{{{{{||{{{{{zz{z{{{{|{|}|{{{zz|{{{{|||{|z{{{{{{y|{|{z|||{z{|{z{|{{{|||{|z{{{{z{{|{{{|{|{||{{|{|{||{z|z{{{{|{{{{{}||{{|||{|{{{{{{|{||}{|{||z{{{z{|{||{|{||{{{|{{{||{|{|}|{{{{{{|{|{|{}|{||{{|{|{{|{||}||||{{{{|{{|{|{||{|}|{{{z{|}|||||||{z{{{|{|||{|||||{z{z{{{{z|||}|||{|z{{zz{{{||||}|{{{z{zyz{|{|{~}~~~~}}~~}}|}}}|}}|{||}||}}}}}||||||{|||}}}}}|{z{{{z{{||{|{|{|{||{z|z||{||||||{{{z{{z{{|{{||||z|z{{z{|z{{{{|{z{{zz|z{|{{||z{|{zz{z|{{|z{{{{||{{z{z{{z|{|{{||{{{{{z{z{{|||{{||{{{{yz{z{{{z{{{{{{|y{{{z{{{{{|{{{zz{z{z{|{{|z|||{z{{|{{{{||{|{{||z{{{{{z|{{{{|||{|{zzz{{{{}||{}{{z{{{zzz{||||{|{{zz{{{{{{|||{||||{{{{z{{||{|||||{{z|z{|{}||{{||{z{{z{|{{||{||}}||{|{|{{{z|||||}|{z{z|{{z|||||||}{{{{|||{|||{|||||{|{{||{|}||}|}|||||{{{{||}{{}|{|z{{{{{||{{|{|||{|z{{{{{|{{||||||{z{z||{{|||{|||{{{{{z{{|||||||||{|z{z{{||||{~~}~}~~~}|}}}}|~{|{{|}|}}}{{||{||{||{{{|{|||}{|{{{z|{{|}||{}{||{z{{|z{{|{y|{{{z{{{{{{{|{{{|{}{z{{z{{|z|{z{{{{zz{{{zz{{{{|z{{|{zzz{{z{{{||{{{z{{zzz{z{|{{{{{{|{|z{z{{z|{{{{{|{{{z{{{z{z|{{{{{{{z{zz{{zz{z|{{{y|{{{{z{z{||z{|||zzz{z{{z{||{|{||{|{zzz{{||{{|||{z{{|zz{z{{{{{||{||{{{{{{||{|{|}|{y{{{z{{{|{{|{|||{{|{{z{{{{{||z{|{{{{{z||||||}||{{zz{{{||||||||}|{|{{{zz|{|}||{{{{{|||{z{|||}||}{||z{|{{|{||{|||{{{{{||{{|}||}|||{{|{{{||||||{{||{||z{{{{|{{|||||{{{{{z||{}|{|||{{|zz{z{{|{|{||||{{{zz{z{{|{{|{{{{|{{{{{|{|{z}}}}~||}}}||~}{}|{||||}|}||}}||{|{{}{{{{|}|||{|{{{z{zz{||||{|||{{{zy{z{||{{|||{z{z{z{z{{|z{{|{{|{{{z{{|{{|{{{{{{zz{zz{{{{|{|{{{|z{{zzz{|||{{{{z{z{z{zz|{{{}{{{{{z{{{{{{{{|z|||zz{{|{{z{{z{{{{|{{zz{z{{|{{|{||{zzzz{z{{{{||{{|{{{{{{{|{|{z{{|{|{|{zz{{{{|{{|{{|{{{{z{z{||{{{{{|zz{{{{{{||{{|{|{|z{zz{{z{{{{||}{||{{{|{{{{{||{|{{{{{{{{|{{|||||{z{{z{{||{{||{||}|zzzz{zz|}|||{{{|z{|{{{|{}{||{|}{{{{z{{z||{||}|}|{{{|{{{{||||||||{||{|{{|}|{{|}||{{z{}}|}{{{|{}{{{{|{{z||{{||}|{{{{|{{{{{|{|{|||||zz{{{{|}z|{{||{{z{zz|{|{{{|}~~~|~~}~~}}}}~}||{|{}}||||}}|||{{{|{||||}{||||{{{{{{{{{{|||{z{{{{z{z{z|{|||{|{{{{{{z|z{{{z{|{{{{zz{z{z{|||zz{{{{{{yz{{z{{{{{z{{z{z{{{z{z||{{{{{zz{|zzz{{|{{{||{{{{{{zz||{z{|}{{{z{{zzz|{|{{{{{zz{zz{zz{{{{||{|{z|{|z{z{{{|{|{{|{z{|z{z{|{{|{{|zzz{zz{{|{|{{{{|{||{{{z{{|{{|||{|z|{|y{{||||{|}|{{{{{{{{{||{z||{|{z{{{{{|||{{|{{{z{z{||z{{|||{||{{|{z{{z||{||||}|{|{z|{{||{||{||{{z{|{z||}{{}|}|{|{||{{||{||||||{{{|{|{|{}{|||}||{z{|{|{|}||}|||{{{z}z{{}}|}{|}|{{{{|{{{{{|{{|}|{{|{{{z{||{|{|}||{z{zz{{{}|{{|{|{{|{{z{z{z{||~}}|}}|}}~}||~~~}}{{}{{||}{}{||||{|||{{|||{|||||{{|{yzz{|||{{z||{{{{{{{z|{z||{z|{|{{{{{z{{{{{{{{{{{{zzz{{{|{{|z{{z{zzz{z{z{|{{{|{z{{z{z{z{|{{{{z{z{{zyzz{|{||{{{zz{{{{zzz{|{{{|{z{{{{z|{z{{{z{{{zz{zzz{zz{{z{{|||{{zz{|zzz||z{|{{z|{|{{|{{z|{|||{{|{zz{{{{z{z{||{{zzzz{{{{{||||z|{|{{z{{{||{{{{|{{{|{{{{|{|{|||{{{{|z{zz{||{{|{||{{{{{zz{{|{||||z{z{{{{||||}|z||{|z{z{z{{||{{|}||{{{{{zz{||{||{|{{{{||{{{|||{||||{|{{{{{{|{||||||{z{{{||{{||||||}z{z{{{|{{{|{||}||zz|{z{|{||||||{{{{{{z{{{{{{{|}|{z{|{{{|{|||{{|{{{{z{|z{{{{|~~~}}~}}|}}}}}}}}|}}{||{||{}|}}}||{{|{|z|{|{||{|{{{{{{{|{{|{||}|{{{{{{{z{{{|{{||{{{z{z{{{{{{{|{|{{{{{{zz{{|{{{{{{{zz{{zz|{{{{{||zz{z{{z{{{{{{||{{z{|{zy|{{{{||{{{{{{z{z{z{}{{{||{z{{{z{z{{{{{|{{{{z{{{{z{{{{{{|{z{{{{{{z{{||{{|{{{z{{{{{{}|{|{||{{z||zz|zzz}||||{z{{{{{{{{{{||{{{{{{{{z{{|{{|{|||{{{zz{z||||||||{{z|{{z{|||{|}|{{{{|z{{||}|||{||{{{{{{|{||||{||||{{|{|{|{|||||~}|{{{|{z{||||||}{||{{z{{{{|}{|||||||{{{{{|||}}||{||{|{{{||||{|{|||{|{{|{{||}||{}||||{{|{{|}}|{|}|{{{|{{{{|||||{|}||||z{{{||z||{||{{{zzz{{||{|{~~~}~}~~}}{}~~}}~}~||{}|{{|||||}|}}|{{|{{{{|}|||||}{{{z{{{{{}|{{z{}{{{{zz{y|{z||{{|{{{{{{{{{|{{{{||{z|{zz{zz{{zz||{{{zzz{{{{{{{{{{|{{{{{{zz{z|{zz{{{z{zz{zzzz|{|}|{{{{zzzzz|{{{{||{zzz{{zzz{|{{||{|{zzzzzz{z|{{{||{{{{{{z|z{|{||{||{z{{{{{{{||{{|{|{{{{{z{z{{{z{||}{{z{z{{z{|{|{{|||z{{{{{z{{||{|||{z{|{zz{|{{|||}{{{z{{{|{{}}|||{|{{{{{{|{|||}}||||{{{z{|{||z|||}||{|{{|{{|||{}|}{}{|z|{{{|{|||{||||||{|{{{}{||}||}}|{{{{{{}|{|{}||{{{{{{{|{{}}{|||{|{{|z|||{|{}|||{z{|{{|{||{}|}}{{{|{z{{{{|{||{{|{{{{{{z{|{{||||{{{z{{{z|{}|{}~~|~|}~}}}~}|}}}||||||{z}||}}}}~}|{{|{{{|{{{{|{|{{|{{z|||{{|||||{{|y{zz{{{{|||{|{{z{{{zy|}|zz{|{{z{{{|{{|{{{{|{{{z{{{{zz{{{|z|||zz|z{{{{{{{{{{{{{zy{z{yz{{{||||{|{{{z{{{z{|{{{{{|z{z{z{z{{{{z{{{zz|{zzz{{}{{{{{{zz{{{{{{z||{{{{{{zzz|{{{|{|{|{||{z{{{z{{|{{|{}{|{{{{{{{{||{{||{|{{{{{|{{z{|{|}{{|z{z{{z{|{|||||{|{z{z{zz{|{{|{|{{{|{{{{{{||||{||{|||{z||||{||}|}{|{|{z{{}{|{||{{|{{z|{|{|}|}|||||{||{{{{{|{|||}||{{{{|{|{}||||}|}z||z|{|}||||}||{z{{|{{{||||}{|||z|{{|{||||{}}{|{{{{{{{{||||{||||{|{{{{{{{|||||{z{|z{{{{{}||z~~}}}}~{~|}}}~}~}}||||{|||{}||}|}|{|{z|{{{|{{{}||{{{{z{{{{|{|}}{|||z{{zzzz{{|{{|{{{{{{{{|{{|{|{||{{{|{{{{z{{{z{{|{}{{|zzz{{{{{{|z{z{{zz{{z{{{{z{||{{z{y{z{z{{}||{{{{{zz{{{{{{{||{{{{{{|{zyz{{{{|{{z{zz{{{zz|{{{|||{{z{z{{{|{{|{||{{zz{{z{|{||{{||{{{z{zz{{{{{{z{||{{|{{|zy{|}{|||{{{{{|z{{{{|||||{|z{{{{z||||{|{|{|{{z{{{{{{{||||{{zz{{{{{{|{|}{||{{|{{||{|||{|||}{{{||{{{||}|||}|{{{|{{|{|}|}{|||{{z|{||{|}|||||||{{{{|{{|}{|{|}||{|{{{{||{}|}|}{{{{{{z{{{|}||}|||{{|||{|{||||{}|{z|z{{|{{|||{||||{|{z{{{z|{{z||{zzz{|z{|||{zz~~~|}||}||}}}|~~}}}}{{{{|{|{|}{|||}||}{z{|{|{|{}|||{z{|{{zz|{|||{}||{{z{{z{{{}{||||zz{z{{zzz{{{{{||{z|{z{zz{{{{{{{|zz{y{{zz{zz{z{|zz{zz{zz{{{z|{{|{{z{zzzz{{{{{|{{{{{{{y{z{z{{{{||{{{zzz{zzz{z{z{z|{zz{z{z{z||z{{{|{z{|{z{z|z{|{{{{{{{zz{|{{|||{{{{|z{zz{{z{z{{{|z{{{zz{zz|{{z{|{{|{{{z{zz{z{||{{{|{{{{{{zz{{|{{|}{{{z|{{{z{{|{|||||z{{{{{||{|||||||{{{|{{{z|{{{||}{{z{{{z||||}{{||{z|{{{{{{{||{|}|{{|{{{{|||{|{}||}{{{{{{|||||||}{{z||{|||}{||{||}|{{{{{|{{{|{}{|||{z{|z{{{{{|{|||{z{z{{|z{{{||{}|{{{z{{zz|{|{|{}|{{{zz{z{{{|{|~~~}}~}|}||~}|}||}}||{|}|{{||||||||{|z{{{{||{{{{|||{|{{{z{|||{{{||{{{{{z{z{{{||{{{{z{{{{zz{{{{z||{{|z{z{zz|{{{{z{z{{{{z{{z{|{|{{{{{zz{{zz{{||z{|{{{zzz{zz|{z|{{|{{{{{{z{{z{{{{{{|{z{zzzyzzz{z{{z{{{{|zz{zz{{z{z||{{z|z{{z{z{{{{{|{{{{{{{{{|{|{{|{|{z{z{z{||||{{{|}{{{{{{zzz{|{|{{|{{zz{{{{z{||||{||{{z{{z{||||{{}{{z|{{|{{{{|{z|{{|{{z|{{{{{{}{|||{{{{{z|{||{}|||}{{z{{{z{{{||}}}{|{{{{{{{|||||||{|{{{{||{{{{|{}|}|||{{{{{|}{|}|}||z{{|z|{{{||{||||{{|{z{||||||{}|{{{|{{{|{|||{{|{|{|z{{z{||||{|{{|{|{{{{z|{{|{{{{|zzyz{{{{|{z{}~~}}|{}}||}}}}}{}||||{{{||||||||}}|z{{{|{||{{|}|||||{z{{z||{}||||{z{z{z|z{{||{{{|{zz{z{z{{{{{{{{|||zz{z{{|z{{{{{z{zzzz|{z|{z||{{|z{z{z{{z{{{{{{|{zy{{zz{{{{|z{z|{zy|{z{zz{|{||{{|{zz{|z{z{z{z||{{|{{z{{|{z{{{|{{{{z{{{{{z|{|{{{|{{zz{{z{z{||{|z{{zz{{|{|{|{|{{|||z{{zz|{{{{||{|{{|zz{{z||z{||{{|{|{|z{|{{{|||{||||{z{|{{{{{{{{{{}||{{{z}{||||{||||{{z{z{|||||||||{zz|{{{z{{||||||{|{{{{{z|||||{}|||{{z|{{{{|{{}{||{{|||{||}}}}|}|{{||{{|{|{{|||{||{|{|z|{|{|||||}{|{{{{{|{{{{||{}zz|{|{|{{{{|{||}{{z{{{{{{{|{|||{z{{||{{z{|||{}}}|}||||}|}|}}}||}|||{|||{z{{||z|{{z{z{{zz{{||||{{|{z{|{z{{{||{{|{{{{{{z{z{{{{{|z|{{zzzz{{{{{{{|{{{zzz{zzz{z|z{{|{zz{zzz{zz{{z{|zzzzzzzzzzz{z{{{z{z{zzzzzzz{{{{|{{z{{zz|zz{{{z{{{z{z{{zzzyz{z|{{|{zzzz{{{{{z{|z|{|z{z{{{zz||z{{{{{z{z{zy{{z{||{{{{{{z{zz{z{{|{|{{|{z{z{z{{z|{{{{||z{zz{{zzzz{{|{||z{{z{{z{{{|{z{|{{{{{{|zz|||{{|{{{{z|{{z{{|{|{{|||z{z{z{z|{{|z{{}{{{{zz{{|||||{|||z|z{{z{{{|{}|{|{{|z{{{z{|{|}|{||zz{z{zz||{||{||{{|{zz|{{||{|||||z{{{z{|{{{|{{{}{{||{{zz|{|{{{|}{{{z{{zz|||{|{||{{zzz{{|{{||{|{{{{{z{|{z||{{{}}||}}{|}{|||||}}|}{{{{||{{||~{||}||{{z{{|z{{||{{||{{{z{zzz{||{z{{{{{zzz{{zy{{{{{{{zz{zzz|z{{zzz{{{{zzzzzzzzz{{{{{zzz{zz{zz{{{{z{z|z{zz{zxzz{{{y{{|zzzzzyz{z|{{|{{{{zz{z{zy|{{{{z{|zzzzzyzy|{{zz{z{y{zzy{zz{zz|{{|{{z{{z{{z{{{{{{{{{zz{{zzz{{{zz{|{zzzz{z{|{{{|{|{{zz{zzz{{{{{{{|{z{zzz{z{zz||{{{{{{{{{{{z{z{|{z{}|{zz{z{y{z{z{{{{{zz{{{z{yz|z|||{|zzzz{{{{{z{{||{|{{{|{zz{|{{{{{{|{zz{zz{{|}z{||{{{{zz{{{{z{{|{|||{{z{z{{z{}{{|{}||{zz{{{|{||}|{||{}zz|{{{|{|{{{{{{|{{{z{{{|{|{|||{{zzz{zz{{{{{|{{{{{z{{{z{{|{||||z{zzzz{zz{{{z}~~}~|}|{{||}~||}||||{|{{{|||{|||}|z{{z{z{zz{{|{|||{z{{{z{zz{{{{|{{{{zzzz{z{|{{{{{|z{{zzyyzzz{zz||{{{{zzz{{{{{{{zz|{zzz{zz{|{{{{{{|z{zzz{zz{{{zz{z|{{z{z{zz{{{{{|{{zzz{z{zy{{zz|{{{{{zz|zzzz{{{z{z{{{y{{zzzz{z{z{{|z{|zzz{zz{|{{||{{{zy{{{zz{{z{{{|z{{{{zz{{{{{{||{{{zz{zzz{{{{||{{{zz{{z{z{{{{{||{z{{|{{{z{|{{||{zz{{{zzz{|{}{{{{{zz{z{z{{|||{|{{|z{{{{z{{|{{{z|{{{{|{{{{{{|||||{{{z{z{z{{|||{|}|{{{{{|z|{{{|{||{||{|||{{|{}|{|{{}{z{{{{|{|{|{||z{{zzzzz{{{{|||{}|{{|||{z{{{{{|{||{{{{zzz{{{{{{{}{|{{{{z|z{||{{{{|{{{z{z{z{{|{y}|}}}|}}}|||}}}|||}|{|||{|{{|}|||||||{{z{{{|||{{{||{{|{{z{{|{||{{|{{{zzzz{yz{{{{{|||{{z{{z{{|{{{{{z|{{zzz{zz{|zz{|{{{z{{{{{{{z{{{|{yzz{{zz{{{{z|{{|{{z{{{z{z{|{{{{|z{{zz{{{{{{{{{z|{zz{zz{{{z{{{{{{|zzz{z{z{{{|{{{{{z{{y{zz{|{{z|{{z{zzzz{{z{|{{z|{{|{{zz{{{{{|{|||{z|{{{|{{{||||{|{{{{z{|{{{z|{|{|{|{{|z|z{||{{{|{{z{|{zz{||}|{|{{{{|z|{z|{{{||}{{{{|{|z|||{{{||{|{{{{|z{{|}||{}|{||||{|{{|{{}|||}||z{z{{|{{{z|{}|{{{z{{{|{|||{{{|}{{{{{z{|{|||{|||{z{{{{{{|{}||}|{|{{{{{{{{||}{{{{|zy{z{|{{z{{{{|||{{z{{{{|{{{{{|{{{zzzzz{{|{z}}~|}|{}{|{~||||{}}{{{{||{{{|{||}|}{z{{{{{z{{z||{{{{{z|zzz{{{||{{|{{{{{zz{z{{{{{}{{|{{zz{z{{{{zz{|{z{{{zzzz{z{z{{|{zzzzzzzy{{{zzzz|z{zz{zzz{|{{z{{{z{z{zzy{{{{{{z||y{{z{z{{z{{{z{|{|zzy{zzz{z{{{{{{{{zzz{zzz{{z||{|zzyz{{zy{{{{z|{{{zz{zzz{z{{{z{{{zzzzzz{zz{{{z{{|{zzzzz{zzz{{{{|{{z{z|z{z{{{{{|{{z{z{z{zz{|||z{|{{{z{{z{{{{|{{||{{{{z{zz|{{||||{{z|z|{{{{{|{{{||}{|z{{zy{z||{}||{|z{{{zzz||z{|||{{{{{z|{z|{|{||||{{{{{{zz{{|||||{{{{{{{{{{{|{|{|{|{z{|{z{z{{z|||||{{{|zz{{{{}}{{{z{{z{{{{z{{|{|||{{zz{{{{||{|{{{|zzz{zy{z{{{{{~}~||||}}||||}|~{|}|}|{|{{||}|{|{||{{{z{|{{{{{|||||{{{{z{z||{|{{{|||{z{z|{z|{{{{|||{{{z{{z{z{{z{||{{{{z{{zz{{|{|{{{zz{{zzzz{{{{{|{{{{|{{zz{{z{|z{{{{{z|{z{{{{|{||{|{z|{zzyz{{z{{{{{{{{zzzzzz{|{{}{{{{{{{{zz{{||{{||zzzz|{zy{{|{{|||{zz{{z|{{|{{{{|||{zz{{{z{||}z{||z{{{z{{{z{{z{{|{|{{z|z{{{|{{{||{{{{{{{{z{{{{{{||{z{|{z{{|{{{{||{z{|{{z{{{{{{|||}z{{{{|{{|{|||||||{{|{{y{{}|{|||{}|{{|zzz|}|z|{|}{{{{z{{{{|{||||}|{}{{{|{|||{|{}{|{{{{{{{|||{|||{}z{z{{z{{|{{|||||{z{{{{{|{{||}|}{{{{{{{{{}|}|{|}{|{z{{{{{{|{{|{|z{||{z{{{{{{{}|}}}}||||||}||{|{|{||{||{||||{||||{{z{{{z{}{{{||{{|z{{z{zz{{{|{|{{{z{{{{zz{|{|z{|{{z{{{zzz{z{{|{z{|{{zzzzz{{{{{||zzz{zz{{zz{z{{zz{{{zzzzy{{{z{{{{|{{zzzzz{{{{{{{{{zyzzz{zz{{{{|{{|{{z{{z{zz{zzz|{{y{zy{{zzz{zz{|{|zzz{z{yy{{{z{{|{z{{z{zzzzz{{{{|{z{|{{{z{|{{{{|||{{zzzz{z{zz{{{{{{||zz{zzz|{|z{{{{{{{{zz{{{|{{||{{zz|{|z{{{{{z{{|{z{{|zz{{z|{||||z{{z{{z{||{|{{{||{{|z{z{||{{{||{|zz|{{|{|{{|{{{||{|{{||{{|||||{{}{{{z{z{z||{|||||{{{{z{{|{{||}|{z{{||{{{{|{|}{|||{|{{{z{{{{|{{||{{{z{{z{|{{{{||{|{{|{{zz{}z{{||{z{|zzzy{|{||{}|}||||}|}{}|||||}|}{{y||{|{|{}|}{{{|{|z{{{{z||||||{{{|{{zz{{|{z{{|{{{{zzzz|{{|{{||{{{{zz{z{|z{{|{{{{{yz{{y{zz{{||{{{{zzzz|zy{z{||{{zzz{{zz{{|{{{|{z{{z{{yz{{|{{{||zzz{{{{z{{|||||{z{z{zzzzyz{{{{{z{z{zz{{z{{zz{||zzyz{{{zz{{{|{{|{{zzz{z{zz|{z|{{{{{|zzz{z{{z|{|||{zzzzz{{{{||{{|{{z{z{z{zz{z{{}{{{zzz{zzz{||{|{}{|{z{{{{{{|{|{{|{{{z{{{z{{{||{|{|{z{{{{{{{|{||{|||{z{{{z{|||{|}|{{{|{zz{{{|||{}||{{|{{{||||||{|{{|z{{z{|{}}||}|||{z|{{{{{|{|}|{|{|{zz|{z{z{{|||||{|{|}{z{||{||}|{{|{z{{{{{{{{||{|{{{{{{{{||{}{|{{{{|zzzz||||{{}|||}|{{||{|}|{|||{|}|z|z|||||}{|}||{z{{{zz|{||||{{{zz{z{{{z||{z{|{{{z{z{{y{{{{{{{|{{{zz{zz{{|{z{{z{{{z{zzzz{|zz||z{yzzyz{z{z{{z|{{zzzzzz{z{}|z{|{{zz{{zz{z{z{z{|||zzzzyzzzz|{|{{{{z{{{z{zyz{zzzzz{zz{zyzzzz{{zz{{|zzzz{zzz{{{|{{|{{zzzzzzz{{{{{{{|{zzyy{zz{{{{{{{|{z{zzyz{{{z{||{|{{{z|z{z{{|||{{{{y{{zz{{{{|{{{||{{{{{{z{|{z{{||{{{{{z{|{|{}||{{{z{{{{{|{{|{}{|{}||{{{z{z||{{{||{|{z{{{z{||||}||||z{{{z|z||{|{}{||z{||{|{||{|{{|{{{|{{z{{z{||||{|{{{z{{{{|{|||{||{{{{{z{{{{{{|{||{|z{z{{z{||{{|||{||z{{{{{{{}z{{{{{{{{z{{{{|{{}}}{}}|{z{z|}}{}}{|{||{{z{{{|{|{|}|{{|z||z{{|{{{|||{zz{zz{z{{||{{{{{{{{zzzzz{|{{{{{z{{zz{z{{|{{{{|{{z{{zzzz{z{z{{{{{{{zzz{z{z{zz{{{{yz{{z{y{|{|z{{{z{zzz{z{{{|{{{{{{{{zz{|zz{z{zz{z{{zzyzzyz{{z{{|{|zzz|zz{y{zzz{{{zzzzzzzzy{{|z{||{zzz{z{z{{{{{z{{{z{{{zz{{{{{{{z{zz{{z{{{{|{{{{||{z{z{zzz{{{{{{{{|{zz{z{{{|{}{{|z{zzzzzy{|||{|{{{{{zzyzz{{{|}{|||{{{z|{{{||{||{||zzz{{z{{{{{{|||{{z{{{{{z{|{|{|||z{{{{{{}{|{{||||{{{z{|{|{{{{|{|||z{|{{{{|{|{|||||{z{{{z{}{{{{{{||{{{{{|||{|{||{{{{{z{|{{{{|z||{|{||{{{{z||{{|{|z{{zz{zz{{{{{{}}}|||{|||{||}}|}{}|{{{{{{{{{{|||||{{z{{|zz|z{{z{||{{z{{{zz{{z{{|}|z{{{{z{y{|{{{{{{{z{{zz{z{{{z{{|{{zzzzzz{{z{zy{{{{zzzy{z{{z{|||z{z{zzzyzy|{{{{{}|zzzyzzy{z{{{z{{{{zz{zzzzz{z{|z||{{{{{zzzz{zz{{zzzz{z{yyz{zz{z{{z{z|z{zzz{z{{z{|||y{{zz{zz{{{{||{z{zzz{zz{{{|{{||zz{zzz{z|{{{{{|{z{{z{zz{{|z{{|||z{z{z{zz}{||z|{{{{z{y{{{{{{||||{z{z{{{|z{|{|{||{zzzz{{{{|}||{{||{{{zzz{z{{||{z|{{{{{|{{z{|{}|||{{{|{{{{{{{{{{|{|{{z{{{{|z{{||{|{{{|{{{{z|z{|{||||zz{z{{{{{{z{{||{{z|{{{{{|{|{{||{|{z{{z{{{zz|{||{z|{z{{{{|{{{{}{{z{{z{z{z{||z|}||z{|{|{{{}}||{|||{{{{{{|z|{{{{|}{{{{{{{z{{{|{{{{{{{zzz{zzz{{{{|{{{zz{{zy{|{{|{||z{{z{z{z{{zz{z{{zz{zzy{{{{{{y}z{{{zz{{zz|zz{{zz{z{zzzzzz{{{{{{zzz{{zzzzzz{{z{{|{{{{{zzzzz|z{{z{{zzz{zzzz{{zzz{{z{{zyzyzzz{z{{{{{{z{zz{zz{{zz{{z{{{z{zzz{zz{yz{|}{z{z{yzz{z{{{{{{{{y{zzz{{{{z{{{z|z{{z{zzz{{{||{{{{{zzyz{|{|z{{{{{{{{z{zz{{{|{|||{{{{z{{z{|}{{||}z|{{|z{{{||{{|||{{{{z{{z{{||{{{{||{{{|{{|||||||{{{z{{{{{{|{|{||{|z{{{{z|||{|{{||{{z{{|{{}{|{|||{|y{{{z{{|{{{{|{{{{{z|{y{{{{{||{|{{{z{{zz|{{{{|||zzzzz{{z{|{{{{{{z{{z{{{z{{{{{}}||{|||{|{||}|}||}|{{|{{{{||||{}||{{{y{z{zz{z{}{||{{yz{|z{z|{{{||{zz{{zz{yz{{{||{|{zzzzz{z{{z{{z{{z{{zzzyz{|{z{{{|y{zzz{zzz{{{{{{zz{zz{zzy{{{{|{{{z{zz{zzz{{{z{{z{{z{zzzz{z{{{|{}{z{z{{zzyz|zzzz{|zz{zzz{zz|{|zz{zyzy{{{z{zz{{{{|{{{{y{z{{{{{{{|{|{z{{z{{{z{{|{{{{{{z{z|{z{{||||z|{z{{{{{{{{{|||{{{{{zz{z{{{|{{{|{{{z{{z{z{{{{{|{{{z{{{{{|{|{|{|||{{{|{{{z{|{}||{}|z{{zz{{{|{|}||{|{{{z{|{{|{|||{||zzz{{|{{{|{|||||{|{{|{{||{{{|||{{{{{{zz{{||||{||{z{{z{{{{{|{{|}{{|{{{{{{{{||{|}{{{{zzzzz|{|{{||{{{z|z{|z|z{{|{{{{{z{z{{z{{||~}||{|||{|{}||}|||||{{|{{{{{{{{}|}||{{zzzz{|||{{|}{{{{{{{{{{|{|z||{{{zzzz{zz{||z{{|zz{z{y{z|z{{{|||z{{zzzzz{{|z{{z{{zzzz{z{{z{{{z|{{z{{zzz{{{|{{{{{{zzz{zz{{z|z|{z|z{{zzzzy{z|zz|{|{{z{{z{zz{{z{{{{|z{z{zzzz{{{{|{{|{{zz|zz{{{|{{||{{z|yz{|z{{{|{||{z{{z|z{{{{{{{{|z{z{zz{z{|{{z{{|{z{zz{z{{|}{{|{{|{{zz{{z|{{{{||z|{{{{{z{{{{{|{{|{|{{{{|{|||||{|{{{z{||||||{}{|||{{z{{zzzz||{|{|{{{{{{{|{||||||||{{{{{{{{{|{||||||{{|{|{|{}|}{||}{{|{{{{{{|{||||{|{}{{zz||||{||{|{|{{{{{||{|||{||{{{{z||{|||{|{||{{|{{{{{|}|{{|{{{{{{zz{zz{{||}}||}|{|||||}||{}}|{{|zz{{|{|{|}{|}{{{{|{y{{z{||{{|z{|z{zz{{{||{|||z{{z{{zz{{{{{{{{zz{|{zy{{{z{{||{{zzzzzzzz{{{{{{z{zz{y{z{{z{{zz{zzyzzz{{zz{{|{{{|{zzzz{zz{{{z{{{{z{zzz{zz{{z{{{{{{z{{{z{z{z{z{z{{{zzz{zzzz{y{|}|{zz{{{zz{z{z{z{{{{{yzzz{{{|{{{|{{{z{{zz{{zzz{z{{{z{{{zz{z{z|{{{{{{|{{zz{{|{{{{|}{zzz{{zz{{z{{{{{{{zz{z{zz{|z{||{|{{zz|{z{|{{||{{{{z{|{z{{{|{{|||{|z|}{z{z{|{|{z{||zzz{{|z||{|}||||{zz{|{|{{{||||{||{|{{{{{|{|{{|}{z{|{{{||}{{{|{||{{z{{z{z{|}{{|||{zz{z{{{|||||||||{{|zy{{|{|||||{z{{z{y||{{|{||{{{{zzz{zz|{|{}}|{|{||{{{{}|||||}}{z{{|{z|{{{||}|{{{{z{zz{{{{|||{{z{|z{{zz{||{||{z{{{yzzzz{{|{{|{{{{z{z{z{|z{{{{{|{{zz{zz{{{{z{|{|{zz{{{zz{z|{{|{zzzz{zzz{{{z{{|{{{yzz{z{{{|{z{{{zzz{{{yz{{{{{{|{{{{zzz{{z{|{{|z{z{zzzzyzzz{|{|{{{zz{z{zyz{{{{|{{{{{||zz{{{|{{{{|{yzy{{{z{{{{zz{|z{{{{{{{{{{{{|{{{zzz|zzzz|{{{|{{{z{{{{z{{||{|{{{|zz{{{{{|{|{z{||{{z|{z{z||{|{|||z|{||z{|{|{||{||{{z{z{{{{}|{|{|||z{{{{|{|}{{||}|{{{zz{|{{{||}|||{{{|{{z{{|||||}||zz{{{{|||{|{{|||{{|{|{|{|{{|||}z{z{{{z{{{|}|{||{{{z{|{{{{{|{{||{{z{z{{{{{||{{{{{z{{zzzzz{|z|}|||z{|{{{z{|}|||}|{{{|zz{{|||{|{{|{|{{{|z|{{|{{{|||zz{{{zz{{|z{{|{z{z{{{zz{{z{zz{|{zzy{z{z{|{zz|{{{z{{yzz{|z|{{||{{zzzzzzz{z{||z{{{zzz{zzzz|{{z{|z{{zz{{zzz{||{|{{{z{zzzzz{z{}|||{{zz{{z{zz|{{{{{{{z{{zz{{z{{{{{||{{z{zzzz{{{z{{|{{{zz{z{z{{{{{|||z{{|zyzz{{{{|{|{{z{{zzz{|{z{{{{z{z{z{zzz{{{{{{{{{{{zz{z{{||{{|{{{{z{{zy{{z|z{|{|{{{{|{z{z|{{|{}|z{{zzz{{|||}{|{{{{z{{{z{|{|{|||||{{{{z|z{||{|{|||{|z{{||{||{||{{{{{{z{{|{}||||}||{{|zz|{|{|||{|||{zz{{z{{{|{|{||{z{{|{{{{|{|{{|{{z{zzzzz{|{|{|}|{|z{{{{{{{|{{|||{z|z{{{z{{{{{|}||{|{|{zzz}{}{|}|{||{{z{|{||||}}|{{{z{{{z|{z||{{|{{{{z{z{{z{|{{{||{zzz{zz|{{{{{z|{{{z{z{{z{z{{{z{z{zz{zzzzz{{{||{{{zz{zz{{z{|z{||z{{yzzz|z{{y{{{{{zzzz{yzz{|{|{{{{{{{z{{y{{{z{{{z{zzzz{{z{{{zz|{|{{{{zzzz{{zz{|{{{{{zz{zzz|{{{|z{zz{y{zz{{}{{}{{|{z{{zyzz{{{||{{{{zzzz{{||{{{{{}{{{{{zyz{{{{{||{{z{{zzzz{{|{{{|{{{{{z{zz{|{{{{}{{|{z{{{{z|{{||z{{{{{z{|{{z|z|||{|{{{zz{{{{||||||||{|{{{z{||{|||}|{{||z{{|{||||}{|{{{{{{z{||||||||{zz|{{{{{|||{||{{y{{{z{{|{{|{|||{{zz|{z|{{{|{|}{|{{z{{z{|{||||||{{{{zzz{{{{{{{|{z{{{z{{{{||{||}||{{{{{{{}}|{||||z{{|zzyz|||{||||z{|zz{|z{{{{{|{{{{{{{{{z{{||{|{{{{{zzzzz|{|{{{{{{{z{z{{{{{{{|{|{{{{{zzy{{z{{z{||z{{zzzzz{{{z{|{z{y{z{y{{{|z{{|{{{z{z{zzz{{|{|{|{{{{z{{{z{{z|{{|{{zzz{zzyz{{{{{{z{z{{zzz{{{|{{{{{zzz{{zzzz{{|z{{|zyzzzz{z{{|{{{{{{{{{zyzz{{{|||{|z{{z{z{{|{{{{}||z|z{{z|{|{{{{|{||{{zz{zz{|{{{|}{{{z{z{{|{{|{{|||{|z||{z{{{|{||||{|z{{{{{{{||||}{{{{{{{z{{|||{{||{{{{{z{z{||{{|||{|{{{z|{|{{{{||||{{{{{{{{|{{{|{||{{|{{|{{{||{|||{{{z|zz|{|{|{{|}||z{{||z{|||{|||{{{{z{{{{{|||||||zzzz{zz||||||{|{{{z{z{{{{z|{}|{|{{{{{{z||||}|||{{{{{zzz{||{{|||{{|{z{zz{{{{||{{{{{{yz{z{z{z{{{{zzzzyzzyz{{{z|{{{z{yyzyz{{{z{{{|{{z{zyzz{{z{z{{z{z{zy{z{{{z{{{{{{{{zzz{zz{|{||{{{zzzzyzz{zz{{|{{zzzzzzzy{{{{{{{|zzz{{yyzz{{{z{{{{yzzzy{{{|{{{||{zzzz{{yz{{z{{|{|{zzz{zy{{|{{{{{|z|{{zy{|{zz{{||{{zz{zyzz{{{{{{{|{zz{{zzz{{||{z{{{z{z{z{{z{{{z||{{{y{{{{{|{||{|{{{zzzz{z{|{||||{|{{{{|z{{|{|{{||{{{{{{{{z||{z||{||zz{z{{{||||}||}{{{zz{{{{|z{{{{{|{z{z{{z{|{{|||||{{|{{{{{|{|{{{|{{{|z{z|{|{z{||{{|z{|{{||{{{|{{|z{{zz{zzz||||{|{{{zz{z|{{z{|{{||{{{z{z{z{{{z|{||{{{{{{||||||{{|||z{|{z{{{{{|{{{|{z{{{z{z{{{{|{{|{zzzz{{{|z{{{|z|{{{yzyzy{{{zz|z|zzzzzzzy{{zz{{{{yzzz{zzz|{{{z{{|zzz{{{zzz{z{{zz{yzzyzyzzz{z{{||{{{y{zyy{{{{{{{{{{{zzyzzzz{|{{||{z{zz{zzx{zzz||z{z{|z{zzzzz{{||{{{zzz{zzzz{{{{z|z{zzzzzz{{{zzzzz{{{{z{{zzz{||{|{{z{{z{z{zz{{{{|{|{{{zz{zzz{{{|}|{{{{{zzy{{z|z{{{||zyz{zyz||{{{|{{{{z{{{{{{{}||{|{|z{{{{|{||{z|||}|{z{{z{{{{{{{||||{{zz{{zz{{{||||||{{{|{{{{{|||||{{zzz{z{{||||||||{|{z{{{{|{{||{||{{z{{{{||||{|{||{z{{zz{{|{z{|||z|{yz{zz{|{||{{|{{{zzzzz||||z{|{{z{zzyz{|z|{{}|||{{{{||{{|{|{}{||{{{|z||{{{{|||{}|{z{z{z{||{{|{|z{z{zz{z|||{{||||{z{zzzz{||{{|{{{{zyzz{zz{z{{{|{{zz{z{{z{{{{{{z{z{{zz{{z{z{|z{||{{{zzzzzz{{zzz|{|{zz{zzz{{{{{{{{{{zzz{{yz{||{{|{{zzzzzzz{{{z{{{{{z{zzy{zz{{{|{|{zz{{z{zz{|{|{{{|{z{z{zzzz|||{{{{z{{{zz{z{|{{z{{z{{z{zzz{|{{{{{z{|zz{{{|z{|{{{{|{{z{{{{{{|{|z{{|{{z{{{z{{||{|{{{|{z{{{{z{{{||{{{|{z|{{{{{{{{|{{||{{{{{{|{|}|||||||z{{{z{{{|{{{}{|{z{z{|{{||{|||{{{{{{{z{{||}|}{}|{{{|z{|{|z|{|||{|z{{z{{|{{|{|}|{{{{z{{{{||||z|}{|{{z{{zz|{{||{|{z{{{{{{z{{|||{||{z{{z{zzz{|{||||{||{z{|z{{||||{||{|z{z{{{|{{|{{|||{z{{z{|z{|{||{{{{{{{zz|{{{{|{{{zzzz{zz{{}|z{z|{z{zz{|z{|{{{{{{{z{z{zz{|z{z{{|{z{zzzz{{{z{{{{{{{zzz{z{{{{{|{{|{{zzzzzz{{z|z{{|{{y|{z{{{z|{{z{{z|zzzzzzzz{{{{{{{{{{{{z{{z{z{z|{{z{{zz{zz{{z|{{|{{zzz{{{zz{{{{{|{{z{zzzzz{{{{{{}|{{{{{zz{{z{|{{|{{{{z{{{z{z{{{||{{{zz{{z{{|{{{|}}{|{{{z{}z{|{{||{||{{{{{{{||}{{||{zz{|{{z|{{|{||{{{{{|{z{{{||{{|{{zz||z{{|||{||}|{{{{{{{{}||||}|||{{|{||{|}{}{}}|{{|{{{{{{||{{||||{{{|{z|{||{{||}{{{zz{|{{|{|}||||z{{{zzz{|z{||{{|{|zz|{{|||}|{||{{{{{z{{{{{{{}|||{z|{{|{}|||}|}|{|{{{{z{|{|{|{|{||zz{{z||{|||{|{z{{{z{{|y{|{z{||{|z{{z{zz{{{{{{{{{{{{z|z{{{|{|{z{{{{{z{zzz{{{{{{{z|zyyz{{{|{{{{{zzzyz{z{{{{||z|{{zz{{zz{|{||zz{{z{{zz{zz{|{|z|{{{z{zzz{zz|{{z{{|{|z{yzzz||{z{|z{zz{zz{{z{{{{{|{{{{{z{zzz{{|{|{|{{z{{{z{z{{{{|{|{|{z{{z{{|||{|{{|{{{z{{{z{|{|{{{|zz{zz{{z{||{{||{zz{zz{{{||{|{||{{{{{{|{{{|||||||z||{|{zz|{{}|{}}|{{{{{{{||{|}||{|z{{{z|{{||{|z||{z{{y||z}{||||||{{{||||{{|{|}|||{z{{{{{z|}{{{{|||z{z{{{{{|{|||||{{{||{z{{{|||{|{{{|{{{{{||{z|||z|{|{{{{{z{||{|}{{{z{{{{z{|||||||}{{{z{|{{|||{{|}|{{{{z{z||{z{||||{{{zz{z{{|{|||{{zz{{zzz|{z{z{||{{{z{zzz{{||||{|{{{zz{{{z{{{{{{{z{{{{z{z|{|{{{|{zzz{zzzzz{{z{|{|zz{{zzz{{{|{{{{{{{{zzzzz{{z{||{{{{{zzz{z{{||{{{|{{zzz{{{{{z{{{|{|{{zz{zzz{{z{{||{zzzz{{z{{||z{{{{{z{z{{{z{{{{{{{{{{{z{|z{{{{{|||{{{{z{{z{||{{|||{z{{z{{{{|{|||{{{{{zz{{z{||z{||{{{{{zzz{|}|||||{{{zz|{{z||||||||{{|{{|zz||{{|{||{{z{zzzz{{||{||||z{{|{z{|||||||}{{||{{{{{{|{||}||{{{{{{{{}|{|}|||{|{{{{|{{{{|}||{{{{{z{{{|{{|{||{{{|{{{{{|{|{}||||{{zz{{{|||{}{||zy{zz{{{|{|{{||zz{z{zz{{{{{{{|~|{{{{zy{{|{{|||}{||{{{zzz||{z|||||{zz|{|{{{||{|{{z|{y{z|z{}{z{z|{{z{zzz{{{|{{{||{{{z{{z{z{{{zz{z{z{z{z{{{||zz{|z{yzzz{{{{{|{{{|{zz{{zzzz|{{{{|{z{{{{z{{z{{|{|{{{{z{{{zzz|z{{z{z|{z{{zy{zz{{zz{{{|{zy{zzzz{{{{{{{zz{zzzzz{{{}{||{{z{z{zzzz{z{z{{|zzz|{z{y{{z{{|{{{{|{yy{z{{{{||||{{{{zz{{z|{{|||{zzzzz{zz|z{z||||{{{{|{{{{|{{||z|{{{{|z{{{{||{||{{{|z{{||{||||||||{z{{{{{|{|||{||{z{z{{{{|{||||||{{{||{{{{||{}|{||||{{{{{{|}{|||}|z{{{{|{{||||{}||{{{z{|||{{{|||}z|z{{{z{{||||{{{{{zzz{{{||{|{{||{{{{z{|z{||||||{{z{{{zzy{||{{}{z{}|{{{|z|{{||{{|{{{{{{z{{||{{|{||{{{{zz|{|{{|{{{|z|zzzyzz{|{{{|{|{{zz{zy{||{{{{|{z{z{z{zz|{{{{{{{{{zzzz{{{|{{{{{z{{z{zzz{z}|{|{{{{zz{yzzz{{{{{{{{y{zz{{{z{{{|{|{{{{{z{zz{{|{{{z|{zzzzz{{|{{{z{{{{zzzzz|z{{|z{|{{{zzz{zz{|{z{{z|{z{{z{x{{{{{{{{{{{zz{{{|zzz|{{{{{{z{z{zz{{{{{{||{{{{z{{{z{||{{||{z{|{{z{z|{{{{{|{{{z{{{z{|}{{{{||{{{|z{{z{||}}|||z||{{{{z|{{|{{|||{{{{y{{{||{|{||zz{{||z{|||{|||{{z{{{z|{|||{{|{{|{{{z{{{{|||||||{{{{z{{{||||{{{||{{|{{{{{{||||||{{z{|z{z{||{|{|}{{{{{{{z{|{{{||||{|z{z{{{{{|{}|{{z{{{z{z{{|{|||{{{z{{|z{|}|||||}{{|{{{y{{{{{{|}|{zz{|z{{|{{{}|}{{{{{z{z{{{z{{{}|z{{{{z{z||{|||||{{{zyz{y|{{{{{{{{{{{{zz{{{{z{{{|{z{{{{zz{{z{z|z|z{z{{z{z{{z{|{|z{y{zz{yy{{{||{{{z{z{{zz{{{|{|z{{z{{z{{{{z{z{z|{zzz{zzz{zz{z{z{{|z{{z{{zzz{{{{{{|{{{{{y|zz|{{{||{{{{zyz{{||{{z|{{{{{|{zz||{{|||{{|zzz{{{|z{|{{|{{{{{z{{{|||{{{{|||{{{{{{{||{|{|{|{{z|{{{{|{||||{|{{zz|z{{|{{{||||{{|{|zz{{{|{|||{{{{z{z{{||{|||||{{|z||{||||||||||z{||{{||}|{{|||}{|||{{{||||||||||{{|z{{z{{|||}||{z{|{z|{|{|||||{|{{z|{z{{{||{|{|{|{zz{z{{z|||||z|{{{z{{{{||z||||{{|{y{|{{|||||}{{zzzz|{{{||{||{{zzzy{zz{||{||{{{{{{z{z{{{{{|{||||{zzz{{{{|{{{{{z{zz{z{z{{{z{{{{{z{zzy{{{{{{z{{{z{zzzz{{{z{{{{|{zzzzzyz{z|{{{|{{{zzzz{z{{{{{{|z{zzz{z{zy{|||{|||{y{zzy{zz{{z{|{{{zzz{zz{{{{{|{{zz{{zz|{zz{z{z{||{z{z{zz{z{{z{{{{{{{z{z{z{{z{{|{|z{{z{zzz{|{|{||{{z{{||z{{|||{||z|{{zz{{{|{{|z|{|{{z{{z{{||{{|{{|{{{z{{z{{{{{||||{{{zz{{{{{{|{|}|{{{{{{y||{|{|{||{z{z{z|{{}{|{|{{{{{{{|{{{|{{}|||{{{{{{{{z|{|{||||{|{zy{{z{|{{|{{{{{|{|{{||{|{{||{{z{{{{{{{{z||}{||zy{{{{{{|z{|||{|z{{{{{z{{||{|{{{{yz{{{{|}|z||||{{{|{{z||}|||}{|zz{zzzz{{{|{||{{{{{z{{{{z{{||{|{{{zz{zzz{{{{{||{{zzyz{zz{{{z{{|zz{{{zzz|{||z{{{{zzzzzyy{{{{{{z|zz{zz{zzz{z|z{{{zyyzzyz{zzz{{{{{z{zzzzzz{z{z{|{{z{zzzzzzz{{{z{|{{zzzzzzzz{z{z|{{z{zzz{z{{{{z{|z{{{zzzzyzzz{{{{z{{zzzzz{{{|zz{{{|zz{{yz{zz{{|||{|{z{zzzzz{{|{z{|{zz{{{z{{{{{{{{{z{{|{z{zzz{{|{||z|z{{zz{{{{{|z||{{{zz{|z{|{{{||{|z{z{{{{z||{|{{||{{{{{{z{{{|z{{{{|z{{z{{zz}|{|{|||{{{{|{{{||{||||{{{z{{y{{|{|{{{{{y{|{{{{|{|{|{|{|{{{{{z{{|{|{|{{|zz|{{{{||{{||{{{z{{{{{{{{||{|||{z{{z{{{{{{}{|{{z{{z{zzz{z{{{|}{{|z{z{|zz{||{{{{|{{z{{{z{||{{{||{zz{z{{z||{{{|||{{zz{y{{{z{{{{{{||{zzzzz{||{{{{|z{{zzyz{{{z{{{{|{yzz{zz{{{{z{{{{yzzzz{{zz{{{zz{{z{zz{zz{{z{{{z{|z{yzyzzz{y|z{|{|z{{{zz{yzzzz{{{|{{{zzyyzy{{z{z{{{{zzz{zzz{z{z|zzzz{zzzz{zz|{|{{z{zzzzzz{z|{zz{z{zzz{z{{z{|{z{|{{{zzz{zzzz{z{{{||z{{zzz{z{y{{{{{z{{{{z|zz{{|{{z|{{zz{{zz{{|{|z|{{{z{y{zzz{|{{|{{{|z{z{{{{{{{{|{||{z{{zzzz{{||{{{|{zzz{{{||{{{|||}{{z{z{|{z{{||||}|{{zzz{{|||{{|||{{z|{{{{|{{{||{{z{|z{z{{{|{z|{{||{{z{z{{{{||{{|{|z|zzzzz{{{{{|{{{{zzz{{z{|{{{{|{|{zz{{{z{|{{z|||{{{z{z{{|||{{{|{|{{{z{z{{{||||{{|{{z{{{z{z|{||{{{{z{zzz{{{{z{{{|{zzzzz|y|{{{{|{|zyzzzz{yz{{zz{}{{{{{z{z{{{{|z{{z{z{z{z{z{{z{|{||{z{{z{z{{{{{|{{{zzzzz{{{{{{z{{{{{z|{zzzzz{{{z{{z{{zz{{{z{{z{{|{{z|zyzzzz{z{{{{{{zz{zz|zz|z{{||{|{{{z{z{zz{{zz{{{{zz{zyz{{{{{{{{zzz|yz{zzz{|{||||zz{{zz{z{}{{{|||{z{{zzz{{{|{{{{{|{{{z{{|{|||z||{|{{z{z{{|{{}||{|{z{{zz||{||||||||{{|{{{{|{||z||{{{{z{z{z|||{|{}{|zz{{{{{|||{|||}||z|||{{{|{}|{{|||{||{{{|{{||||||{{{{{{{{{{||{||}{{|{{|{}{{||{||{{|{{z|{{||{{{}||{zzzzz{z{z}{{||{{zzz{{{{|z{{|z{{{{z{{|{{||{||{||||{|{{{z{{{|}||{{{z{|{{{z{{||||{{{zzzz{{{{{{{|z{{{zz{zz{{||{}{|{{{z{zz{{|{{z|{zzzyzzzz{|{{{z|{|z{z{{zz{{{{{{{{|{zzz{{{z{{{{{||{{{z{yzz{{{{{|{{{{z{{zzzzz{{z{{|{{{{zzzz{{{zz{|{z{{{z{z{{z{{{{|{{zz{z{{{z{{{|z{||{{{z{yz{{||||{|{z{|zzz{{{||{}|||z|{{zzz{{{{{{{{{z{{{z{z{{{|||{{{zz{zz{z{{{|{||}{|{{{{z{z|{|zz|||{{z{|z{{|}|||||}{{|{{{{{{|{{z|{}{{|{{{{|{{{{||}}|{|{{{{{||||{|||{{{{{|{{|{{{}}|||{zz{|{{{||||||||{{{}{|z{{||}||||{{{{|{z|{||||}{{{{|{z{{{{||||||||{z{|{z|||{{{z{|{{{{{{{{{{|{{||{{{{z{{y|{||||{{|{|{z{{z{||{{{{||z{z{z|{|{{|||{|{{{z{{{{{{||{{|{{{{zzz{{{z||{{|{{z{zz{zz{{z{{{{{{z{zzz{z{{{{z|||{z{{{{zz|z{{zz{z{z{zz{z{zz{|{z{{zzzz{{z{{{{{z||{z{z{z{y{{{{{{{|{{z{{zz{y{{{{{{|{zzzz{z{y{{{z{|{{{y{z|z{{|{{z{|{|zzzy{{zzz{{|z{{{zzzz{zzz{{z{{{{zzz{|z{zz{{{z|{{|zz{z{z{{{{{{{{|z{zz|{zzzz{||{|{{{{zz{z{y{{|z{{|{{{{{zz{{|{{|{}|{{{z{{{z{{{|}|{|{{{{{{{{{||{|{{||z{z{|{zz{{||{|||{{{{|{|{|||||{||{{z{{{|{{|{{||}||z{{{{z|{|{|{||}|{z|y{z{{}|{{||{|zz{{|z{||z|{||~{{{|z{{{{||{|||{{{z{{{{{{|{{{|{|||||z{{{y|{|z{{{|{|{{zz{{||{{{||{{{{{{{{||{z{||||{{{{zzz{||{||}|{|zyz{zz{{z|{{{z{{zz{zz{{z{{{|}{{{{{zzzz{z{|{{{|{zzzzzzz{{{{{{|{{z{{{{{{zz{z{}{{zzzzyzz{{z{{z{{|{z{zzzz{zz{|z{{{zz{zzz{{{zz{{||{z{{zz{{z{z{{{{|{{zzzzz{z{{{yz{{{{{zzz{z{{{{{z|{{z{{zzz|{z{{|{{||zz{zzz|{z{{{z|{{z{{{{yz{|{{||{||z{zz{{{z{{{{{{|{zy{z{zz{z{{{|{|{{z{{{{z{|{{{|{|||{z{{zz{{{|{{||{{{{z{{{{{|{{{{|{{{z{|z{{||{||||||z{{{{|{|{{||||||{{|{zz{||{|{|}{z{{z{|{{|||||||||{{{z|{|{||||{|||{{|{{||||{{|}{|{zz{z{{{{}|{|||||z|{{|{{|{|}{|||{|{zz{{{{|{|}||{{{z{{{{|{{{|{{|{{{{{{{zz{{|{{}|{{{{{{{z{|||{||{|{|{{{{{{{z||{|{{|z{{{{{{{{}|{{|{{z|z{zz{{z{}{z|{{{{zzzz{zz|{{|z{y{zzz{zz{|z{{||{{{zzy{zz{z{zz{{{zz{{z{zz{z{|{z{{{z{{{zzz{{|{{{|{zzzzyzyz{{|z|{z|zzzzzzzy{z{{{{{{z{{zz{zyz{zz{{{z{zzzzz{{z|{{{{|{zz|zz{yz{{{{{{|zzz{zz{{|z{||z||{{z{zz{{z|{z{z{{|{{{z{{{zz{{{|{{{{z{{{{{{z{{|y|{{{{{{{z{|{{{|{{|{{zzz{z{{|{|{{||{{{{{|{{{{|{{|||{{{|{{{{{|{{{|{{{{{{{z{z{||||||||{zz{|z{z|{{{|||{{|{z{{{{|{|||||{||{{{{|{{|{|{||{z{z{{{{z|{|{{|{{{|z{||{{{{{||{|||{{zzz{{{{||{||{z|{{{|z{|{{{{|{||zzz{z{z{|{|z|{{z{{{{{zz{|{{{|{|{{zz{{{{{||z|{||z{{{{{{{{{{z{|||{|z{{z{{{{{{|{|{|{||{zzzz{|{{{{{{{{zz{zy{{{{{{{|z{zzzz|{{{{z{{{{z{z{{zyy{{{z{{{{z{{zz{z{{z{|{|{|zzz{zz{z{z{{{{|{zzzzzzzz{{{z{{|{zz{zz{{zz|{{|{{|yz{yzzzyz{{{{|{{{|{zzy{{z{{{z{z{z{{{{zzz{{{{|||{{z{{zzyz{y{z{{z{{z{{zz{z{{{{{{{||z{z{z{{{{|zz{|{z{{z{y{{z{{{||z{{{{{{z{{{{{|{|{||z{{z{{{{{|{{|{{{zz{{z{{{{||{|{|z{zz{z{{|{||{|||{z{{{zzz{}|||{{||{{{{{{{{||||}||{{{{{{{{{{{||||}|z{{|{z{||{{}||||{|{z{{{{|||{||{{z{{{z{z{{{{{||||{{{{{{{{{|||||||{{z|z|z{{{|{{|{{{{{z{{z|{||{{|{{{{z{y{z{{{{{|{||z{z{{zzz||{z{{}z{{{{{zz|{|{{|{|{{{{z{z{{{z|{{||{z{zz{{y{z{}{{||{zzzzz{{|{z{{{{{{zz{zy{y{{{{{|z{{{z{z{{z|{z{z|{{{{z{z{z{zzzzz|{{{z{zyyyz{{{{|z|z{z{{y{z{zz{{|{{{{z{zyzzzz{zz{|||{zzzz{{{zz{{z{z|{z{zz{yzzzz{{|z{zy{{{z{z{{{{z{|{zzyzzzz{|{|{|{{{|{|yzz{{|{|{|{||z{zz{zzzz{|{{|{z{zzz{z{{{|{{{|{z{z{z{{z{|{|{{{{{{{{{{z{{||{{{||{z{{{z|z|z|||{|||{z|{{{{{|{{|||}}{z{|{{zy{{|}}{|{{z{z|{{{|||{||}}{z{{z|{{{|{|{{{|}{{{|{|z|}|||{||{{{{{z{{|{||{}||{|{{{|{{{|{||||||{z{{|{{|{{||}|{|{zz{zz{{|{{{{{|{z{|{zzz{|||{{{{zz|y{{{z{|{{||{|{{{{{{z{{||{|{||{|{zz{zzz||{|||{z{z{{{z{{{{z|{||{{{z{zzzzz{|{|{|zzzyzz{z{{{zz{{{{z{zzzzz{zz{{|{{{zzz{z{{{|zzz|{z{zzzzyzz|{|{|z{{{zzzzz{zz{{{zz{{zz{z{zzz{{z{{z|{zz|zz{{z{{z{{{|{z{{{zz{yz{z{{{{z|z{{{zzz{{{z{{{||zz{zzzz{z{{{||{|{zz{zzz{{{{|{|{z|{z{{zz{{{z{}||zz{zzz{z{{|{{{{{{{{zzz{zz{}{z|{{{{zz{zz{||z{{{|{|z{z{z{{|{{{z{{|{{z{z{{{{{|||{|{z{z|{{|{||{|||||{{{{{zz{|||||||{{z{{{{z{|}{{|||{{{{{z{{z{|{|{||||{{{z{{{{}||{|}{{z|{zzz{|z}|||||{{zz{z{{{|{|||{}{z{{|z{z{|||{|||{{{{|{{{|{{|{{||{z{{{z{z{{{|{z||{z{{zzzz{{|z{{{|{{|{{{zz{{{z{{|}{z{z{z{y{z{{{||||zz{{zz{z{|{{{{{{z{zyz{{z{z{{|{|z{{zzzzz{z|{|{z}zz{{y{z{zz|{{{{zz{zzzyzz{{{{{{|{{|zzzzzy{z{{z|{{{z{yzz{zz{|{{{{{{zzz{zz{y{{{|{{{{zz{zzz{{{|{|{{{zzzz{zzzy{{{z{{{{zz{{zzzzz{{z{|{{z{|zzyz{{|z{{{{{{zz{z{z{z{zzz{{z{zz{z|zzz{{{{{}zz{zz{zz{{|{{{||zz{{zz|{z|{{{{{{{{z{{zzz{{|{{{{{{{{z{{{{{|{|{{{{{zz{{{z{||{||||{{{{{{{{{{{{|||||{zz{z{z{{|{{|||{|zz{{{{z||{{|||{{{{{{|{z{{{|{}{||z{{|z{{{|{|}{|||{||{zz|{{|}}||{|z{{|y{{{{{{{{|||{{{z{{{{|||||{||z{z{{{{{|{{{{|{{{|z{|{z{{|||||{{y{zz{zz{{|{{|z|{{{zzzz{z{||z{{|{{|{zzzz|{|{{{|{{{{zz{zz{{y{||||{zzz{zzzz{{{||||{zzzz{z{{{z{z{||{z{{y{{{z{z{z{|z{{zyzzz{{{z{z|{zz{zz{zzzzzz|{{z{zzzz{zzzzzzz{z|{z{|{z{yy{z{{{{|{zzzzz{yyz{|{{{{{{zz{yyzyz{{{{|z{{z{zzzz{z{{z{{{zzz{zyz{z{||{||{{{zzzzzz{z||{|z{|z{{{yyzz{|{{{{{}{zzzz{zzz{{{{{||{zz{{z{z{{{{{{{|{z{{zy{z{{{{{{{{{z{{{zzz{|z{z|{{{{{z{zz{{||||{{{z{{z{{{|{||||||}{{z{z{{z|{|z{}|{||{{{z{z|}|z{z||{{|{{|{{{|||||{|{z{|z{{{|}{|||||{z|{{{{{{||{||{{{{{zz{{||{{{|{{}z{{||zzz{{|{{}||{z{z{{{{{|{{{}||{{{{zz{z{{{|{{{|zzz{z{z{{{|{{||{{{{y{z{zz|{|{{||{z{{{zzz{||z{|{|{{{{{z{z{{{|{{|{{{{z{{zz{{|{{{||{z{zz{{y{{{{{{{|{{{z{zzz{|{{{|{{{{{z{zzzzz{zz{{||{|{zz{{{|{|{{{{{yzzzz{zz{{{{{||zz{{{{z|z{{{{{{{{{z{z{{zz{z{{|{|{{{zzz{z{zz|{{{{{{{yzyzzz{z{{|z|zz{{z{z{z{{{z{}|{z{{z{{{{{zzz|z|{{{zzzz{z{{{{||||{{z{{z|{{{{{{|{{{{{{{{{{|{{{||{{{{zzz{z{{|z{||||{{{{{{{|{|{{|||||{{|{{z{{{|{{||{|{y{{{|||||||||{|{||{{{{|||}||||{|{|z{{{}|||}{|}|{{{|||||{{}||||z{||{{{{|||||}||{{|{{z{|||{{|||{{{z|{{{||{|||||{{{|}|{z||{|{||||{|z{|{|||{||}||||{|zz{{zz{{|{||{{{{{{{|{{{{{||zy{z{z{zz|||{z{||{{{zzzzz{{{||||||{{z|{zz|{|{{|{{{z{{{{{yz{|||{{{{zz{{{z{{z{{{{||{{{zzz{z{{{{{{{{zz{{{zyz|{{{{{|{z{{zz{z{{z{{{{{|{{{z{{zz{{|{{{{{{z{zzzzzz{{{{{{zzz{{zzz{z|{{{|{z{yzzz{{{zzzz{{{{z{zz{zz{z{z{{|{|z{{{{{zzz{z{{{|{{{{zyy{{{}z{{|{{{zzzzz{{{{|{||z{z{{zz{{{{|{|{z{{{zzz{{{z{|{{||||{z{{z{{|||{|{||{{{z{{{zz|{{{|{{|z{{{{z{{{{||{{|{{{{{{{||{z{||{||{z{|z{{z|||{|}|||z{{{z{{}|||{||||{|{|{|||||||||||{||{z{{z{}||{||{{{{z{{{|{{|{|||{{{{{z{||{z|}||{{z{||{z|{{{|z|{|{{{{{{z{{{{|{|}z||zy{{{z{|z{||||{{z{z{{z{|{{z{||{{{{|z{zz{{z{|{{{{{{zz{|{{z{{{|{{zz{z{{z|{|{{||{{{zzzz{z{{|{z{{|{z{z{{zz|z{zz|{|{z|{zz{z{{{{z{{{|zz{z{yz{zz{{{{{{z{zz{z|{{{zz||{{yz{zzzzzz{yzz{|{{z{zzzzz{|{{{{{zz{zzz{zz{{|{{{{{{zz{z{zz{{z{{{{z{zz{{{zz{z{{{{{y{{{{zzz{z{z{{{|{z{{zzzz{{{{{{||{z{{zz{zzz|{{{||{{{{{z{z{{z|{z|{zz{zz{z{z|{{z{{zzz{z{z{zzz|{{||{{{{|zzzz{|z{{{|{{z{{{z{{{{||{{|{z{{z{z{{{{{||{}||{{|{zy{{{|{{|{|{z{{|{{z{}{{||{{|{z{{{{{{{{{||||{{{|{z{{z|{||{|||{||{{z{||||z{|{{{{{|{z{|{{{|{{|{|z{||{{||{|{{||||{{zz{z{|{|{||{{{zz{zz{z{{{{{{{{{{{yz{y{z{{z{{{{{{zyz{z{|{z{|{{{{{z{{{|z{{{{|{z{{{{z{z{|{z||{|{z{{{{{y{{{{|{{||{{zzzz{z|z{{z{{|{y{{zy{z{z{{z{{{z{{zzzz{{{|{z{{{{zzz{zz{{z{|{{{{zz{z|{zzz{z{{z{zz{{zyzzz{z{z||{{{{yzz{zzz|z{{{{{{{y{zzzz{{{{z{{{zzyzzzzzy{zz{||{zzzzzzz{z{zz{{|{{{{{{{{{{{zzz{{{{{{zzzz{z{{z{|{|{zzzzzz{{z{{{{{|{{{z{{{z{{z|{||{{z{{zzzz|z|{z||{{{zz{{{{{{|z{{{{{z{y||z{|{{{|}z|zz{{{{z{{}{{{||}{{{{{{yz{{|{{|{|{{{{{{||z{}y|{||{z{{z{{z{|{||{{||{{{z{{{|}{||{|||{{z{z{{{|{{{|||}{{{{zz{{||||{|}||{|{|{{{{{||||{{{{z{z{{||||||||{{{|z{{z{{{{{|||{{{z{z{z|{|{{||{zz|{zz{z{{|{{z{|z{z{{z{z{{|{|{{{{{{zz{zz||{{{|{|zzzz{{{z{{z{{{|}z{{{z{{y{{||{{{|z{z{{{{z{{{{zz|{{zzz{{zzz|{{z{{zzzzyz{{z{zz{z{{{{zzy{zzzz{{z{{{{{z{{zzz{{|{{{{{z{|zzz{zy{{z|z{|{{yz{zz{yzzz{z{{|z{yzzzzyz{z{{}{{z{{{{z{z{{{{z|||{y{{{z{z{{{{{{{{z{zz{z{{{y{{z|{{{zz{{zz{{{{{{|{{{{|{zz{z{|{|{|||{{z|z{zzz{{|{{||z{{z{{z{{z{{{{|{|{{{{{z{|{{{||||{|{{z{||{{{|||}|{{{{{{zz|{|||||{|{{{{{{{{||{{|{|{{{zz|{||{|{||{||{|{||{{{}|}|||}}{|{{zz{||}|||{{|{{||{{{{{|{{{|||{z{z{z{}||{|}{|z{|{|{{{|{|{{}{{|{z{z{zz|{{{{{{{{zzz{zz{|||{||{{{zzzz{zz{{{{{{{|{{{zzzzzz{{{{|{|{{zz{zzy{{{z{{{{{zz{zzz{{{|{{|{{yzzzzz{z{|{{z{z{z{{zzz{yz{z{z{||zzz{y{{z{{|zz{{z|z{zzzzzzz{{z{{{zzzzzz{z{{{z{{{z{zzzzzz|{{{{{|{{{zz{y{{z{{z|zz|{{{zzz{{zyz{{zz{z{{zzyz{{z|{{{|zzzz{zzzzz{zz{{|z|{{zz{{zz{{{{{z{{zz{zzz{{z{{|{{{{{z{{zyzzz{z{{|}||zzz{{{{zz{{{{|{|{z{zz{{{||{{{|{{zz{{z{z{|{{z{{{{z{z{{z{z{||||||{|{zzz{{{|||{||{{z{z{|{{z}|{{|{|{{{|z|{z{|{{|{||{{zz{{{{{{{{|}|||{z{{{|{||{|{||{|z{{{z{{||{||{{{{z{z{{z{{{|{|||{|{{{{{{{{{{{{{{{{{{y{{z{|{{{|{|||z{{zz{zz|{{{||{zz{{zz{{{{}{{{{{zzz|{z{{{{{y{{{{zz{{zzzz{|{||{||{{zzz{zy{{{{z|||{zzzzz{zz|{{z{{{{{zzy{zz{z||{{{{{z{z{{zzz{y{{{{{{{{z{yyzzzz{z{|{zzyzyz{zzzz{{{{{z{zzzzzzzz{z{{|{zy{zzzzz{{{z{{{zzzzzyz{y{z|{zz|{zzz{z{zzy{{{{z{z{zzzzzzzz|z{{{{{zzzzzzzz{|{{z{{|{y{zzzzzz|{{z{{{zzzzzy{{zz{z|{{{zz{z{z{z{{{{{|z|zz{{zzzz{{{z{|{{{y|zzzzz{{{{{{|{{zzz{z{{{||{{{||z{{{z|{z{z{{{z|{z{{z{{{{{|{|{|||z{{z{z{{z|{{{||{{zz{z{{z|{||{{}{{|{{|{|{{||{{||{||{z{{{{z{|||||{{{{{|z{{{|{{{}{{{zy{{{{{{{|zz{||{|{zz{{{|{||{{{{{{{zz{zz{{|z{{{{{{{y{z{y{{{{|||{z{zzzzzz{|{z|{{|{zz{zz{{{|{{{|{|z{zzy{zy{{{{z{{|zz{yzzz|{{z{|{{|{{{z{{z|{||{z{{{{{zz{{zz{{z{|{{z{y{z{z{z{z{{{{zz{zzzzzyz{z{{{|z{zzy{zzyyz{{{{{{{z{zzzy{{zz|{{z{{z{zzzzzzzz|z{{{{|zzzzyzz{{{{{{|{{z{zzz{y{zz{{z{{z{{zzzzzz|{{{{z{zyz{{{zzz{z{{|z{{z{{zyz{{|{zz{{zzz{{zz{z{zz|z{z|zz{{{zz{{{{{z{|{{{{{{yzz{{{|{{|{zz{zz{{z{|z{{z{z{zz{z{{{z{|{{{||{z{{z{{{{{{|{|{{{z{zzz{{{|{||{||{z{{{{{z{{||{|{{{zzz{{{z||{{|||{{z{z{{{|{{||||||{|{z{{zz{|{{|||{|{{z{{{{{|{|{}|{|z|z{{{{{{z{{|||||z{{{z{|z|{|||}{{zzz{{{z|{|{{|{||z{{{zz{{{{{|||{zz{{z{{{{{{{{||{{{zz{zzz}{{|{{|zzz{zz||{{{{{{{{|{zz{{z{{z{{{{{|{{{{{zz{{||{{{|{z{{z{z{y{{{{||z{{zzz{z{yz{{{|{||{z{z|z{yz{zz{{z|{{z{z{{z|{{z{{{{yyzz{z{|z|{z{z{{{{z{zzyz{{{{{{|{{z{{z{zy{{{{{{{{zz{z{zzz{{{zz{z|zz{{zz{y{{zzz|{{zzzz{{zzz{z|{{{{zzz{|yz{{{|z{|{{z{{zzzzzz||z{{{|{z{zzy{{{z{{{||{{{z{zyz{{|{{z{{{{{|z{{{z{z|z{{|{{{{zzz{{{|{{z{z{{{{z{zzz{|||{||{{z{{{{{{{{{{|{||{{|{{{zz{{{|{{|{|z{{||{{||{{{|||{z{zz|{||{||{|{{|{{z{{{{{}}|||{|{z{{{{{{{||||{|{|{{z{{z{{{{||}}|{{z{{{{z||||||{|{{{{{{|{{|{{{{|}{{zz{z{z|{z{||{{{zz{{zzz{{{{{|{{|{{{zy{{||{{}|{{{zzz{zz{z{{{{{|{z{{zz{{z{{{{|||}|z{y|{z{{{{{{{|{{{{zz{zy{z{||{z|{{zzzz{z{{{{{{{{|z{|{zzzz|{{{{{zz{{z{z{y{{z|z{{|{{y{zyzy{z{{{{{|{{zzzzyz{{zz{z|{{{zzyzzzz{{{z{|{z{zzzzzyzz{yz{{{zzyzyz{z{zz{{|{|{z{yzzz{{{zz{z|{{y{{{z{z{|z|{{{{zz{yz{|z{z|{{{{{|{zz{z{zz{zz{{{||{{z{z{{|{|{{{|z{yzzzzz{z|{z|{|{{{|z{z{{z|{{|||{{|zz{{{{{{{{{{{|z{{{{|{{|{{}{{{{|{{z|{z{||||{{|{{{{{|z{{{||{{}}|z{{{{{{|{||{}||{|{||{z|{|||||}||{z{{{yz{||||{|{{|{{z{{{|{z{|||||{{{|{{|{z{{|{{|}{|{z{zzz{{{|{{||{{z{{z{{{|{{{{|{{z{{{zzz{{{z|||{z{{z{{zz{{{{zz|{z{zz{zyzz{{{{|{||z{{{z{{{{{{{{|||z{{yzz{{|{{zz{{{z|yzzzz{{||{{{|{{{z{{y{{{zz{z{{{z|z{z{{{z{{{{z{{{zz{{z{z{{{{z{{z{zyzyzzz||z{z{z{z{zyzy{{z{z{{z{{zzzzz{zz{||{{{|zz{zzzyy{zzzz{zz{zzyz{zyzzz{zz|{zyz{z{zzz{{{{{{{zzzz{zzzzz|{{{{{{{zzzz{{zzz{|{|{{{{z{zzz{{|{{{|||{{z{{z{{{|{|{{{zz{zzz{z{{{{||}z{{z{{{zz{|{{{{{z|z{zzz{{|{|{|{||{{{{{{{{{{z{||{|{{{{{{zzz{{{|{{{{z{{{zzz{|{{|{|{{{|zz|{{{|{||{}{||z|z|{|{|{{{{|||z{{{zz{|{||{|||{zzzz{z{{{{{{||}{{|{z{z{{{|{||||{z{z{{{{{{{{||||{{z|{{{{{|{{{}{{z||zz{{z{{z{{{||{{z{{zzz{{}{|{||{{zzz{{{{{|{z{{|{{{z{||{{z{{z{{|{zzz{zz{z{{{z{{|{{y{z{{z{{|{z{||z{z{{zzz{{||{|||{z{zz{z{{{{{{{{{z{zzz{zy{{{{{{|{zzz{zy{{z{z{{{|{{zzzzzzz{{{{z|{|zz|zzzzz{{z{z|{{zz{z{{{yz{z{{|z{{{yz{zzzzzzz{{||{{zzzzzzz{{{{{||{{z{zzzz{{{{{|{|z{{zzzz{|{{z|{{|{zz|zzz{|{{z{|z{zzz{{z{{z{{{{|{{{{z{z{{z{||{{{{z{{zz{{{{{|{{{{|z{z{{{{z{{{||||{||{zz{z{{||{{|{|}|{{{zzz|||{{|{|{|{{z{{{z||{|{|||{{|{{|{z||{{|||||{{|z|{|z|{|{||}|{{{{{{{|{{{z|}{|{{z{zz|{|{{|||||{{{||{{||{{}|{|{{{z{{{{|z{{|{||{{z{{{{{{{{{{{{{{{|{{z{z|{{z{||{{{{z{zz{|||{|z{{{{z{{z{{{{{{{z||z{z{{z{yz{||z{||{{{zzyzz{|{{{{|{{{{zz{{z{{{|{|{z{{{z{z{z{{{{{|{z{zzy{zzz|{{{y{{{{yzzzzzz{{{{z|{{yzzzzzzz{|{zzz{zz{{zz{z{z{{{{|z{z{{zz{zzz{|z{{|{{z{{{zz{z{{z{{z|{{{yzzzz{|{z{{|{{y{z{z{zz{{|{{z|zzzz{{{zz{{z{{{{{{{z{zzz{z{{z{{{z{{{zzzz{||{{{{{z{zyzz{{{{z|||{{{z{{{z{z{{|z{|{{{z{|{{{{{|{z{{{{{{{{z{{{{|{|||{|z|{{{{{{{|{|||{|zzz{{{z||||||{||{z|{|zz{|{|{|{|{{{|{{{|{z|{{{||{}{{{{|{{z}{{{|||{{{{{{{||{|{|||}{z{{{z{|{|{{z{||{||{{{z{|{{|{{|||{{z{zz{{|||{{}{{{zzzz{{{|{{{|||{{{z{z{{{{|{{{|z|{z{{{{z{|z{{{z{{{z{{{z{{|z{{{|{zz{{|zzzz{{{zz{{{zzz{z{z{{|{{z{{{{{zz{z{{{{{{{{|{zzyzz{z{{{|z||{|zz{zyzz{{{{{{{|{y{z{{{z{z{{z{{{zzz{zyzzz{{{z{|{zzzzzzyzz{{yz{z{{{{zzzzzz{{{zz{{z{{zzzzyzz{yzzz{z{zzzz{z{{{z{{{{zzzzzzzzzzz{z{|{{z{{{zzz{|{zzz{|{zz{zzzy{{{{z{|{zz{zyzzz{{|{{{{{{z|zzz{{{zz|{{{|{z|z{z{{{{{{{{|{{z{{{zz{{||{{{{{|{z{{{{{z{{|{||{z{{zz{zz|{{{|{||{z{{z|z{{|}||{|{|{{z|{zz{||{|}||{{|{zz{{||{{{||{|zz{z|z{z|{}||||{||{|{|{{{||{{{{{{{zyz{{{{{|{|{|{{{{{{{{||{{{|{{{{|{z{{|||{||||{{{z{{zzz{{{|{{{{{y{zzz{zz{{{|{|zz{{z{z{{{{{{{|{|{{zzz{{{z||{{{{||{zz{{{z{{{{||}{zz{{y{{zz{{|{{{{z{zzy{{zz{{z||{{{z{zzz{{z|{{z{{{|{zz{zzz{{|{z|{z{{z{z{zzz{{z{{{{zzz{{zz{z{|{{{{zzyzzyzyz{{z{z{{|{z{zzzzy{{{|z|{zzzzz{y{zzzz{{|zz{zzyzzzzzz{zz|{{z{z{{{zzz{{zz{{{zz{z{yzz{{{{{|{{{{z{z{zz{{{{{{{{z{{{zzzz{|{{z{{{{z{{{zzzz||{{{|{|{zzzyzzz|z{{{{{{{{{{zz{{{|{{{{|z{z{{|y{{{{{{{||{z{z|{{{{|{{{|||{z{|{zz{{|||||||{{{{{{zz{|{{{||||{{{{{|z||||{|{{|z{z{{{|{{{{||||}z{{{z{{}{{{{||{|{{{zzz{{|{|{{|||z|{z{{{|{{|z{|{z{{y{{{z{{|{|||{{{y{{z{z{{||{|{|{|zz{{zz{|||{|{{{zzzzy{{{{{{{{|{|{{zzzzzzz{{{{{|{zzzzzz{{{{{z{{{{z{{zyzz{z{|{z{||{{zzzzz{{|{{z{|{{{{zyzz|{{zz{|{zzzz{zzzy{{{zz{z{zzyzyz{zz{zzz{{z{zy{zzzzz{{z|{z{zzzzzzz{z{z{z{{zzyzyzyzz{{{z{{{z{zzyzzzzz{zz{z|z{yy{yz{z{zz{|{|{zzzz|zz{{{{{z||zzz{{zzz{z{{{{zz{yzyzzzzzzz{{|z|zzyzz{zz{{{{{{||zz{{{zzz{{{{z{|{{zzzz{zz{{|{{{{{{zz{{{zz{{{{{{|z{z{z{z{{z{{{{|{{{zz{{z{{}||||{|{{{|{{zzz{{|{|||{|{{z{{{{{{{|{{|{{{{{z|{|{{|{||||z{{z{z{|||{||{|{{z{z{z{{{{|{}|||{z{{z|{{{|{{{|{{|{{{{{{{{||{{{|~{{{z|{{z{|{{z{|{|z{{{z{{{|{|{||{{{|zzzz{z{|||{{|{zz{z{{zz|{z{z|||{zzzzz{z{|{z{{{{zzz{z{z{{{|{{{{z{zzzzzz{{{|{z{{{{zzz{zz{{|{{{{{z{{zzzzzz{{yz|{|zzzyzzyzz||{{{{{z{{zyzzz{{zzzz|{zy{zzz{z{zzz{{||z{yzzzy{{{{{{{z{z{zzzyzy{{z|zz{|{z{z{yzzz{zy{{{{{z{{{zzzz{{{{{{{{zzzz{z{{{{{{z{{zz{zyy{z{{z{{{|{{z{zyz{yz||z{{{|zzzzzz{{{z{z{z{{zz{z{z{zz{||{|z{zz{zz{zz{{|{{z|z{zz{|{z{{{{{||{{z{{zz{zz{{|{}{|{{zzz{z{z{{{{{{|}|zz|zyz{}zz|{||{{zz{z{{{|{z|{{||{{{{z|{|{|{|{|||{|{z||z{{{|{||||{{{{{{z{{|{|{|||{{{{{z{{z|{|||{|{{z{{{zzz|{|}|||{{{zzzz{{|{{|{|{|{z{z{{{{{{{z||{{{||zz{z{{|z||{zzz{zzzzzz|z{zz{|{zyz{z{z{|{{{|||{{zz{{{y{z{{|{||zzz{{zzz{z{|{{{|zz|zzzzz{z|zz|{|z{zzz{{zy{{{|{{{{zzz{zzz{z{{{{{{zz{{{zz{{{{{z{z{zz{zzy{z{zzz{{{zzz{zyzzz{{{{z{{{z{yz{zyyz{z{{{|{|zz{{yzzzz{z{z{{{zyzz{zz{zy|{{z{yzzzz{zyzz{{{{{{{zzz{xzz{{z{zz{|{zzzzz{z{{{{{{{|zzzzzyzz{{{|||{z{{{zyz{{z{{z{|{||z{zzz{{{{||{{}{{|{zzz{z|z{|z|{|z{||{|{{{{{||||||z{z{|{{z{z|{||||{{{{{{z||{||{|{{{zz{z{z{|{}{{|||{{{|{{{|||}|||{{{{z{{{{||||{|||{{{{{{{{|{{{|{|||{{{||{{{{{||{||{zz{|{{{{{{||||{{{{z{{zz{{{{|{||{{{|z|zzz|{{|{{{{|{zzz{y{{{{{|{{{zzzzyzyz{{|z{|||zz{{z{{{z{|{{{z{{zz{{{y{{{{|{|{{|zzy{{{{|{{z{{|{z{zz{{zz{|{||{|{y{zzz{zz{|zz{{zz{{z{z{z{z{z{{z{zzzzz{z{{zzy{{{{{{zzzz{zz|{{z{{{{z{{z{zzzz{z{{z|{zzzz{{zz{{{{|{{{zzzzyzzz{{zz{{{{zzzyy{zz{{z{{z{{z{{{zzy{z{|{{{{z{zzzy{{z{{{z{|{zz{zzz{{{{{{{|||zz{zzzz{z{|{{{{{{{{z{y{zzz{|{|{{{zzzzzz{{||{{|{|{{{{zzz{{||{{{{{{{z{{zyz{{|}{{||{{zz{{{z{{{|{{{|z{{{zzz{|{||{{|{|z{{{z{{|{{|{{|||{{z{{{||{{||{|{||{{|{z{{|{||{{||{|{{{{|||{|{|{|{zzz{{{|{||{{{|||{zz{{z{||{{{{|{z{z{z{{{||zz{|{|{{{{zzz{z{z{{{|{{{{zzzzz{|{{{{|{{zzzz{{zz{{|{{}||y{zzzzz{|{{{{{|{zyz{zzy{{{{{z|||{zy{{z{{{{|z|z{{{{{zz{{{{{z{|{||z|z{zzz{{{z|{{{zzzzzz{z{{{{{{{{zz{yzzzz{{z{{{{{{{zzzzzyzz{{{{|zzzz{zyzzz{{z{|{{{z{zyy{zzz|{z{{zyzz{zz{yz{z{z{z{{zzyzz{y{{{{z{z{zzy{{{zz{zz{{{{{zzzzzz{yz{{{z{z{{z{{y{{{z{{z{{z{z{zzzzz{zz{{{{{{|{z{{yy{{z|{{{{{z{|{zz{zz||{{||{{{|{{{zz{zz{{|{{||z{{{{{{z|{{{|{z{{{zzz{{zz||}||{{zz{zzz{||{{||{|{zz{{|{||z{|||{z{{{{|z{z{{z|{|||{{{z{{{{}{|||||{|{|{z{{{|||||{|{{{{{zzz{{|{|{||{{{{{{{z}{{{|{{|{z|z{z{{{||z|||{{z{{{zz{{{||{{{{z|zy{yz{zz{{{|{{zz{z||{z{{{{z|||zz{{z{{{{{{|||{|{{{yzz{z{{{{||||zzzzy{{{z{||z{{{{{zzzzzz{|{|||{|{{z{z{zz{||zz|{{{z{zz{zzz{{{{{z{y{{{{zzz{{z{{{{{z{zzzzzzz{zz{{{|{zz{yzzz{{{{|{|{{z{zyz{{z{{|{|{|z{z{zyzy{|zzz{z{{z{zzyz{{{{{{|z{{{zz{zz{z{{{|{{{{z{zzzzz{{{{zz||yz{zzzzz{{{{z|||{z{{zz{z|zzzz{{{zz{z{{zz{{|{{|{z{{{{{{z{{|{{{{{{|z{{{{{z||{{|{|{|{{z{{{z|z{|||||{{|z{{{z{}z{|||{{||zzz{{z||{{|||{yz{{{{{||{|{|||{{{zz{{{||{||||{|z{{{{z|z|||{}}|{{|z{{z{}|z||{}{{{zz{{{{{{|{||{{{{{{{{zz{{||}}|}z{zzz{|zz{{|||}||{{{zzz{{{{|{{{|zz{{{zzz{z|{|zz{z{{{{{{y{|{z{{{|{zzzzz{{z|{{{||{{z{y{{{zzzz{{{{{{{zzzz{z{{{{|{{|{{zzzzzz{||{{{{|z{zzzzzz{{|zz{{{{z{zyyzzzz{z|{{{{zz{zz{z{{{|{{zzyzzzzz{zz{|{zz{zzz{zzyzz{z{z{{z|z{{zzzzzz{{zz{{{zzzy{zzzzz{{zz{{{zzyzyz{{{{zz{{{{{zz|{zyz{z{{z|{z{yyzzzz{z||{{|{z{{{yz{{{zz{z{{|zz{{zy{z{|{{{{{{{{{z{zyy{{{z{{{{{z{zz{zy|{{{z{{{{zz{{{{z{{{{||{{{{{z{{{{{{||z||{{z{zz{{z{{{{|{||{{{zzzzzz||{|{||{z{||{{{{||{{{|||{{{{{{{{{|{|{{||{{{{{z{{||{||{||z{|{zz{{|{{|||{{{z{{{{|{||{|||{|{z{||z||{|{{|{|zz|{z{{{{{zz{|{|{|zz{{{{{|{|{{z{{{{z{zzz|{{{|{{{{zz{{zzz{|z{{{{|z{zzzzzz{z{{{{{{{z{yz{z|{{{{{{|{zz{z{z{zz{{|{{{|zz{{z{|{{zz}z||{zzzzzzzz{z{zz{{|{z{z{zzz{z{z{{{z{yzzyyzzz{{z{{|{zzzzzzzz{{zzz{{{zyzzzzy{z{{{{{{{{z{yy{zyz{{{zz{zyzzzzyzzz{zzzz{|zzzy{zzzz{zzy{}z{z{zzy{zzz{|zz{{{zz{{zyzz{{z{{{|zy{y{z{z|zz{{{|zzyzz{zyyz{{{{z{|{{{zzzz{zz|{z|{|{zzzz{z{z{{{{{|z{z{{{zzz{{{|{{{||{{{zz{z{{|{{{{|z|z{{z{zz{{{{{|{{{{{{{{z{{{{|}|{{{z|{zzz{|{{{||{z{{z{{|{{|||{||{{z{||z{|{||{}|||{y|{{z{{|{|{{|{{|zz{{{z{|{z|{|{{{|z|{{zzzz{{{{||zzzzzz{z{{z{{|||{{{{zzzz|{z||||{z{{zz{zz|{|{{{z{z{z{zzzz{|{{z|{{zz{{zzzz{{{z{{{}|zzzzz{zz{{|{{||zz{{{{z|z{{{{{|{|z{zzz{z{{{|{{{|z{zzzzzz{{{|zz{{{y{zyzzzz{z{{|zzzz{{{zzzyy{{z{{{zyyyzzzz{{{z{z{z{zzzz{zz{{{z{{{zz{zzzzzz{z{{{{{{zz{zzy{yzz{zzz{{{zz{zy{{{{zz{{{|zzzyzzzyzz{{{z{{zzyzzyz{z{{z|{z{zzz{zzz{|{z{{|{{{zz{z{zzz{||{z{{zzzz{{{z{z{{|{{|zy{z{zzz{{|{{{{|z{zz{zz{{{z||{|zzz{{{z{z{{|||{||z{{z{{zz{||{{|||z{{{{{z{||{||||{{{{{{{{z{|{|{|{|{zz|z||z|{{|||||{z{{{{{{{}|||{|{|{|{{z{{{|z{|||||{{{{{zz{|{{{{||{{{z{{{|{{{{|||{{{zzzzz{||{||||{{{z{zzzz{{{{|{}{{{{z{{z{{{{{z{{{{zzzz{|{{|{|{|{|{{z|{zz{{{{|{}{{{{{{z{{{{{{{|{{{{y{{z{z{{{{z{z{{{{{{zz{z{{{|{{{|zz|{z{zz{|z|{||{{z|{yzzz|{{z{{{{{{{zzz{z{{{{{{z|{zzz{yzzz{{{{{{{zzzzz{yz{z{{{{|{z{zzzzzzz{{zz{|{{zyy{zz{z{{z{|{zzz{zzzzzz{{{z{{{zzzzz{zz{{{{{z{|zzzzz{{{{{zzzz{{z{{zzyzz{z{{{{{{zz{zzz{{|{{z{||}z{zzzy{{{|{{||z{{{{zz{zz{|{|{|{{{|{{zzzz{{{|{{|{z{zz{zz{||{{||{{zz{{z{{{||{{{|{|{{{z{z{{|||{|||||z{{|{{{|{||||{||z{|{|{{||}|{||}|z{||{zz{|||{{|||{{{zz{{{|}{|{{|{z{z{{{z|{{|{||{{{{|{{z{|{|||{|{|{{z{{z{{|{|{{||{{z{zzzz{{{||}|||{{zz|{z{||{{{{{{z{zzzz{{}{{{z{zzzy{zyzz{z|zz{|{zzzyyzzyzz{{{{{|zy{zzzz{{z{z{{{{{{zzzyzy{z|z{zz{|zzzz{|z{{{{z{{zzz{z|zzzz{{zz{z{{y{zz{y{{zz{{z{|zzzzzzzyzzzzzz{{zzyxzzzzz{{{{zzzzzzzzz{zz{{{z{{|{yz{yzzzzzzzz{{zzzzzzzzzz{y{zz{zzx{z{{zzzz{zz{z{{zzy{yzzz{{zz{|{{zzz{zzz{{{{{z{|zzzy{z{{{z{{{{{{{zzzzzzzzz{{{||{{z{{{zzzz||{zz|z{z{{z{z{z{{{{{{{{zzy{{{{|{{|{{{{z{{{{z{{|{{{{||{z{z|zzzzz|{|{{{{||zz{{z{|{{|{{|||{z|{|z{{{z||{{|{{{{|{z{{|{{{|||z{{z{zz{{|{|{{{{{zzz{{z{|{{{{{{{{z|{{y{{{{{{{|}z{z{z{{{|{|{z{{{{{{z{zzzz{{||{{z{{{{{zy{z{{{{z{{{zz{zzzzzzz{zzz{{zzzzzz{z{{{|{z{|{{zy{{z{|zz|{{{{{{|{{zz{z{{{zz||{{{zy{{y}{{z{{{{{zzzzzzyz{{z{{{{z{zz{z{z{{{zy{{{z{yz{zyz{z{{z{{{yz{zzzz{{{{{{z{{zzyzzzyyz{{yz{zzzzzzzzzz{{zz{{zzzzzzzz{zzz{zy{{{{{zy{yzzz{zzz{{{zyzzzzzyz{|{{{{zzyzz{z{zz{{{{{|{z{{{zyyz|{{{{{{z{{zzzzzz{z{z{|{z{zzzzzz{z{{z||{{{zz{zzzzz{{zz{|{{zz{zz{{{|{z{{|{{{{{zzzz|{|{{{{{zz{y{zz{|{{{||{{{z{{{{z{{||||{|{{{{y|{{{|{||{|{|{z{{{{{z{|||||||{{z{{{{{{||||{|z{{{{{{{{{{{|{{|{{z{{z{{z|{z{|||||{{z{|{{z{{z||{{{{{zzz{{{|{|{||{{z{{zzy{{|{|{{||{z|{zz{{{{|{{{{{zz{{|z{z{z{{{|{z{{{{z{z{|{{z{{{{{zz{zzzy{z{{|{{{|z{yz{{z{{{{z{{{zzzzz{zy{z{{z{{{zz{zzz{yz{{{z|{{zyzz{zzzzz{{z{{{z{zz|zz{{{zz{{{{zzz{{z{zz{z{zzz{zyyzzzzzzz{z|{{zzz{{zzyyzzzyz{{z{zzzzy{zzz{z{{|zzzzzzzzyz{z|z{zzzyz{zzyz{{{z{{z{{zzzyzz{z{{z{{{{{y{zzyzzz{{z{{{{zzzzz{zz|{{{z||z{zz{{yz{z||{{|{{{zzzz|z{z|{{{||{{zz{{{zz{|zz{{|{{y{|zz{|{{{|{|z|{{{{{z{{||{{|||{|{zzzzzz{{{|||||{z{y{{{{z|z||{||{z{{{z{{{{|{{{z||zzz{{{z{|{|||{}|{{|{z{{||}||{|{{z{{{z{{|{{|{{||{{y{{{{||{{{{|||{{zzz{{{||{|z{|||{zzz|zz|{|{z{{{{{z{zz{{|{{{|{{{zzz{{z{y{zz{{{{{zzz{zzz{zz|z{{||{zyzzzzz{z{{|{{|{zz{z{z{{{{{{z{{{y{yzzzyzz{|{|{|{|{{y{{yy{{zyz{{{zzz{zzzz|{zzz{{{zz{zzyz{{{{z{{{yzzyzzzz{z{{z{|{zz{zzzy{{{{{z{{{{{{zzy{zzzz{y{{|{zzzzy{yz||z{z{{{{zyzzzz{{yz{{{|zzzz{{zzz{{{{{{|z{{zzzzz{z{zz{{|{{zzzzzz{{z{z{{{{z{{zyzz{{|{{{||z{z|zzzzz{{|{{{{zy{zz{zzz{{{{{{{{z{z{z{{{||z|{z|{{{z|y{z{||{||{|{{{{zz|{|{{z||{|{z{{{zy{|{{|{{||{z{z{{{{|||{|{{|{{zz{{{{|{{|{||||{{{{{{z{}{|}{{|{z{|z{zz{{||{||{|zz{{{z{z||{||}}{z{z{{{{{{{{|||{{|{zz{z|{{{{{{{|{{{zz{zz|{{{{|||{{zzzz{{{{|{{{{|{{{{z|zz{|{{z{|{{zzzzy{|z||{{{|{{{z{zz{{|zz{||{{{{z{zzz{{{{|z{{||{{yz{zz{z{|{{{{z{zzzzzzzzzz{{{z{{|zz{z{zzzz{z{|z{zzz{zz{zzz{|{zyzz{z{z{{{z{{{{{zzzzzzzz{{{z{||{z{z{zzzzz{{|||{|z{zzzyzzzz{{z{{{{zzz{{zz{|z{{|z{{{z{z{zz{z{{z{|{{z{z{zz{zz{z{|{{z{{{zz{z{{{z{zz{{z{zz{zz{|{|||{{{zzy{zzz{{{{{|{{zzz{{{z{{|{{{{{{{{zz{z{{{{|{|{{|{z{{{{{{{{|{|{||z{{{{{{{|z{|||}{z|z|{{z{||||{|{{|z{{{{{{|{||||||{{|{|{}|{{{{|}|||{{{{|{|{|||{|}||{|{{|{{|||{||{|{{|{||{{{|{{|||}|{{|{z{{|{{|||{{|{{z|{z{{{{{{{||||{{z{{z{||{{|||{{{{zzzz||{{{|z|{zzz{{{{|{{{z||{z{zzzzzzz{|{z|{|{{{y{{zz{{{z|z||{z{{{zzz{z{|y|{|{{{{{z{{{{||{|{{{{{z{zzy{zz{z{{zz{zzz{zz{{{y{|zz{{z|z{yz{{{|z{z{zzz{zzz{zz{{{{{zy{{{yyzzz{{{|z{{{yzzzzzzz{{||z{|zz{zzzyz{z{zz|{{{z{zz{zyy{{{z{{|zz{{z{{zz{{z{||{zzzz{{z{zz{{{z|{{z{zzz{z{z{z|z{|z{zzz{{z|{zz{|{{{{{zz{{{z|{{|{|{{{{z{{{z|z{{z||{zzz{{z|{||{{{{{z{z{{z{z||{{}{{{{z{{{{{{||{{{|||||{{|{z{{||||{{{|zz{zzz{{|{{{|||{{y{{{{{{{|{z|{{{|{||z|zz{|{|{|||{{{{zz{{{|{z{{|||{{{{|{{{{{{{|||{{{z|{|{|{{{{|{|{{{zz{{zz||{{{||{{zz{z|{|{{|{|{{{{zz|z{z{{{|{|{{zz{z{zzzz{{{{{{{{{zzzz{z{{|{{||{{z{zzzz{{zzz{{||zyz{z{{zz{|{z{{|{|{{zzzzz{zz{{{z{zz{zzzzz||z{{z{{{z{{zyz{{{zz{{y{zzzz{zzzz{z{{{{z{zzzzz{{{z{z{{{|zyzzyzzzz|{{{{{zzz{z{yzz{zz{{{{zzzzyyyzzzz{{{{z{z{z{zzzz{yzzz{{{yzz{zzz|z{{{{{{zzz{z{z{{{{{|{{{zz|{zz{{zz{{{z||zyzzzz{|{|z|{||{z{|z{z{{{{|{|{{{{{{{zz{z{||{{z{|{zz{{{zz{{{z{|{{{{zxz|zy{{|{{||{{{zz{{{|{{{|||||{{{{zz{{||{{|{{{{z{{{z{z|}||{|{|{{z{z{{{|||{z|{{{zz{z{{{{|||||{{{z{{z{z{|{||||{||{z{|{{z{{{{|{{{|{{{{z{{|{{||z}}{{{z{{{{{{{{{||{}{{{{{{z{|{{{{{{||z{yyzz{|}|{|{|{y{zz{zz|{|{{{|{zzzz{|zz{{{{{|}{{{zz{zzz{{||{|{{{z{{z{z{z{{{{{||{z{zzzzz{{|}{|{|z{zzzy{yz|{z{{{{{z{z{yzz{z|{{{z{{zzzzzzzzz{{z{{{zzz{z{{z{{{{|{{z{{zzyzyzz{{z{{{z{zzyzzzz{zz{zz{{zzzz{zzyzz{z{{{|zyzzz{{y{{{{{{z{zzzzzzzy{{{{{{{|{zzz{z{zzz{{{{||z{{zzy{zzy{zz{z|z{{zyyzzzz{{{{{|zzz|{z|z{{z{{{|{{zzzzzzz{|z|{||zzzyzzz{{zz{z{{z{z{{z{{y{{{{|||{|{{zz{{{{|{{|||{||z{{|{{{{||{{||z{{{z{{{z|{{{{|{|{{|{{}z{|z{z||}{|{zzz{{zz}|{{||||{z||z{{{||{{|||{z{{{z{{{{|{{{|||{{{z{{z|{{{|{|{|zzz{{zz{{{{{|||{z{{z{z{|{|{|{|{{{{zz{z{{{{{|{||zzz{zz{yzz|zz{{{{zzzzzzz{{{{|{{|{{z{z{zz{{{|{{|{{zzz{zzz{{{{{z{{|{yyzzzz{z{{{{{{zzzz{{{zz|z{z{z{zz{zzy{z{{{{{zz{{{{yy{z{{z{{z{|{zz{{zyzzzz|{{{|{zzzzyyz{zz{{{{{zyzzzzz{zz{|{{{{{{zzzyzzzy{{{{{{z{zzzyzyzzz{z{z{zzyz{z{zzz{{{|z||{z{y|y{z{z{{{z{|z{{{zyzy{{{{{{{|z{{yzzz{zz{{{|{{{zzz{y{z{{{{{{{{z{{yz{{zz||{{{|{{zz{{zz{{{|{{{{||{z{{{z{{|{|{{{{{{zzz{{{||z||{{|{zz{{{{{{{{{|{}|zzz{{z{{|||||{{|{{|{z{{{{{|||||||{{|z{{{{||{{|||{{{zz{z{z|{{||||{{z{{{{||{{|{z||{{z{{zz||{{{|{{{{zzz{{zz{z{{{{|{{{{{z{zz{{{||{|{{z{{zz{{{{{{{{{{zzzzzzzz{|{{{{{{{yzzz{zz{{z{zz{{{{zz{zzz{z{zz{|{{z{{{{zz{z{z{z{{zzzzzy{y{|{{z{z|{z{zzyz{{zz{z{{y{z{{zzyzzz{{{{{{z{zyyzzyzzz{z{{{zzy{zzzy{zzzzz{zzzzzzzz{{z{{{|z{{zzzzzzzz{{{{{z{|zzzyzzyzz{zz{{zzy{zyzzzy{{z{{z|zz{zz{zy|z{{{{{|{zzzzzzzzz{{z|{{yy{{yyz{|y{{z{{{{zz{zzzz{{{{{zz|{{{{zz{z{{{z{z{{{zzzzzzz|{z{z{|{{zzzzzz{{|{z{{{|{zzzz{z{{z{{||{|zzzz{{{{|{z{{||}{z{{{zz{{||z|{|{{z{{{z{{{|{{{{{|z{{z{{{|{|{|{||||{{{{{{z{|||{||{{z{{{{z{||{|{{{{{{{zzzz{{{z{{|{||{{{{{z{||{|||{|{zzz{{{z{}{|z{}|{{yz{{z{{|{{{{{{{zzzzz{z||z{{|{{y{yzzyzzzz{{{{|{{zzzzyyz{{z{z}z{z{zz{{{z|zzz{z{{{zzzzz{zzz|{{zz|zzzzyzz{zyz|z{{{{yzy{zzzyz{{zz|z{{zz{y{zz{zzz|{{zzzyyzyzzz{{yz{{zzzz{zzzz{zy{{{z{zzzyzyyzy{zzz{{zzzzzzyzzzz|{z{{yy{xyy{y{zz{{{zzzzzyyzzyzzz{z|zzyzyzzzyyz{z{{z{|{zzyzyy{z{{{{{|{zz{z{zzzzzzz{{{z{yzz{zzzzz{{|{|{{z{zzzzyyz{{||{{{zzz{zyz{z{|z{|{{z{zzzz{z|{{{{{{z{zz{z{z|{{{{{{{{z{zz{{zzzz|z{{{{z{{{z{z{|{z{||{|{{{{z{z{|{{||{|{z{z{{{z|{{{||{{|{zz{{{||}|{{{|{{zzzz{{z{|}{{{{z{{{{z{z{z{{|z{|{{z{{|z{{{{z{{|{||{{zzz{z{{z|||{||zz{zzzz{{|{{{{{zzzy{z{{|z{{{{{z{{{z{{zz{{|{{|{{zzz{yzzz{{{{{{||{zzzyzzzz{{|{|{|zzz{zzzzz{{{zz{{{zyzzzzz{{{zz{z{{zzyzz{{z{z{{{{{zzzyzyyzz|{{{|{z{{yzzz{zz{z{|{{{zzy{zzyzz{{zz|{zz{yzzzzy{z{z{{{{zz{zzzzzz{{zzz{zzzzzzzzzz{{y{{z{zzz{yy{{z{zzz|z{zyzzz{zxz{z{{{{{{zzzzzzz{|{|{z{}zz{zzz{zz{zz|z||{zzz{zzz{{{{{||{{{z{zz{zz||{{{{{zyz{zzzz{{{{{{|{{zz{{z{{{{{{|{z{{{{{{{z{{||{|{|{{{zz{z{z{|{{{{{|{zzz{{{z|||{{|{{{z{|{{z{{}|{z{|{{|{y{{{|{{{||}|||{{zz{{{{|{{{{||{z}|z|z{{{|{{||{|{z{{zzz{z{{{|{{|{{{z{{{{{|{{{{}{{{y{{z{z|zz{|}|{{{{{z{z{|{||{{{{{{zz{{{|||||{{{{zz{z|{z{|{z{{{{{{yyz{{zz{{{z{|{zzz{yzzz{zz{|{|{{{{z{zzzz{{|{{{|{{{yzzzy{{zzz|||{{zzzz{z{z{zz{{{zzzzz{{{z{{zz{{zzzzz{{zzz{{zz{z{yzzzzzzzz{|zz|z{{z{zz{zzzz{{|{z{z{{zyyzz{{{{{{z{zy{zzzzz{{{{{{zz{yyzzz{zz{{{{{{|yzyzzzzzz{z{{z|z{yz{zzz{{{|{z{{|{zz{zzz{{{z{{{{|zzy{zzzzz||{z{|{{|zzzyz{z{{{|z{{{{{zy{z{{{{{z{{{|z{{{z{zz{z{{||{z{{{{{||z{|{z{{{{z|{{z{z||{|{{{||{|{zzz{{{|{|{|{{{z{{zz{{|{{|||{{{{z{{|{{{|{z|}|{z|{{{z{{|{||||}|{{zzzz{{|||{||{{{{{{z{{z{|{|{||{{yz{zzz{{||||||{{|z|{z{{|z{{||||{{zzz{y{|{|{zz{|{{z{{{|{{{|||{zzzz{zz|zz{z{{||{z{{{yzyz{{{zz{{{{{{z{{zz|{{y{||{zzzzz{{z{{{{z|z||{{yxzzzz||{{{z{zzzzzzzz{{z{z{{{{{{z{zz{{z{zz{{{{{{zyzyzzz{{{{{{z{yzzzzz{{{{z{z{zyyzzzzy{{{z{{{{zz{zyzzz{z{{{{{{zzzyzzyyz{zzzzzzzzzyzzzzz{zz{|{{zzzy|zzzzz|{{{{{{zzzz{zz{{z{z{{{{x{zzzzzz{|{|||z{zz{{{zy{{{{{{z||z{z{z{z{{|{{|{{{z{{{zz{|||{{|{{{{z{|zz{{{{{{|{|{{|yz{zzz{{{{|{{{|{{{{|{|{{|{{|}{{{|{z{z{||z{}|{|{{{|{zz||||{}|{{{{y{|{{|||{|||{{{{{z|zz|{{||||{|{{z{{|{||z|{||{|{{{{{{{{|{{{{|}|{{{|{{{{||{||{{zz{zzz{||{{{||}|{{{{|z{zz|{{||{{{z{{zy{{||||z{{{z{zzzz{zz{{|{{{{|{z{{zzz{{|||{{|{zz{{{zz{{{|{{|{{{y{z{z{{{|{z{{|{zz{zzzy{{{|{{{|{zyz{{|zz{{zz||{zz{{{z{z{z{{{z{{|z{zzzzz{{z{{{||{zz{zyz{z{z{{|z{zzzyz{zzz{{z{z||zzzy{zzyz{{|{{{{{{zzyyzz{z{{{{{z{zz{{zzzz{zz{{{zz{{{zzzz{{z{{{{|{zzzzz{z|z{{{{|{{z{zz{z{{zz{{|{|zz{{y{z|{{|{{|{{z{z{{y{||||{{|||z{{{{zz{}z{{||{{{z{zz|zz||{zz{||{{{{{z{{{|||{|}{{|z{z||{{|||||{}{{{{z{{|{||{|{}||{{{z{|{{||||{{{{{z{z|{{||||{{|||{{{||{{{}{{{{}||{{{z|{{|{|||}{}|{{||z{{{|{|||}}|{{{{{zz||{|||{|{{{z|{zz{}z{{{|||{{{z{{z{|{{}{{{{{|{{{{{|}|}{{{zzzzz{{{yz{zz{{{{y{yz{{zz{{{{z{{{{zzzzyzzz{{z{{|{{zzz{{zy{z{{{z{{{z{zz{zy{{{z{{{z{{{zzz{{z{{y{z{{{z{{zyzzz{{z{{{zyzzyz{zzz{{{{{zzxz{yzyzzzz{{zzzzzzzyyyyz{{{{{{{{zzzzzzz{{z{zz{{z{z{yzy{z{z{zzz{{z{yy{zyz{{{zz{{zzz{zz{zy{{{{{{{{z{{zzzz{{{{{zz{{zyzzzz{{{{|{zzz|zy{z|{zzz{{{{{{{{{{z{{{{{{{|{{|{{{z{zzzz{{||z{{z{zzyzz{z{||{{||{{z{{z{{z{{||{|{|yz{{{{{z{{{|{||||z{{{z{z{|{{{{{|{z{{{{{{|{|{||||z{y{{{|{|{{{{||||{||zz{z|}||{{||zz{{{{{z{{|{{|{{{z{{{{|{|{{{{|{|{{{{|{z{{|{{{{{|zzzzzz{{{{{|{{||{{zzzz{y{|{|{{}{{{{{{z{{{{||}{||{z{zzzzzz{zz{z{{{z{zzyzz{{{|zz|{{z{zzzzz{z{z{{|{{z{z{{z{{{{{{{{{{z{yzz{y{{{{z|{|z{zz{{{z{{z{z{|{{z{{zyzz{{|{{{{{zyzzyzz{zzz{zz{{zzzyzyz{{{{{zz{zzzzzzyy{z{{z|{{z{zzzyzzz{{{z{{||zyyzzzyyzz{{z|{{{z{zzzzzzzz{{{{{yzz{{zyz{zz{z{|{{{zyzyzz{{{{z{{{z{{yyy{z{{{{{{||zzzzz{{z{{{{{{{}{{{zzzzz{zz{|{|{{{z{z{zz{{{{{{|{|{{zz{z{{{{{||{{|{z{zzz{{||||{{{z|z{{{{{{|{{{|}||zz{{|y{|{||{{|{|{{{{|{{{||{{||}{{{{{{{{{|{|||||{{y{{|{|{|{||{{{|{{{{{{{|{{{{{{|{{{zz{{z{|{{{|{||{{y{{z{z{{{|{{{{{zz{z{{|{|{{||{{{z{yz{z{|{{{|{{{z{z{z{{||}}}{{|zzzzzzzz{{{{{{}{yzz{z{yy{zzzz|{{{zzyz{z{y{{{{z{{zyzzzz{{{{{|{{{{{zzzzzzz{{|{{z{|{{zzz{zzz{z{{{{{zzz{{zz{{{{{z{z{zyyz{{zzzzz{{{z{y{zzzzyy{{|{{{z{{zy{zzyzzz|{{{z{zzz{yzzzzzzz{z{|zz{yzz{yzz{zz{{{{zzzzyzzz{z{{{{|z{zzyzzy{z{{zz|{{z{z{zy{{{{z{zz|z{z{z{zz{{z{{{{|zz{zzzz{}z{{{{||{{zzzz{zy{{{{{{z{{zz{{z{zz|{zz|{{zzz{zzzz|{|{{{{{zzz{zz{{{||||{{{|z{{{{{{{{|{{||{{z{zzzz|||{|{||{{{{z{{{|||{{{||{{|z{{{{{||{|}{z|{{{{{|z{|{|{|{||{{z{z{{|{|{}{{|{{{zz{{{{{{{{{{|{{{|{{{{{||{{|{{{{{{z{{{{|{{|}{{{{{|zzzz{{{{||{|{zz{z{|{{}{}}{{{z{zyyyzz{{{{{{{{zzyzzyzz{{{{{|{{{zz{{zzz{{{{z{{{{z|zz{zz{|{|{{z{zzzz{zyz{{{z{|{{{{{zy{zyz{{z{{{z{z{zzz{z{{{{zz{zzzz{yzz{zy{{z{zzyzzy{zyyzz{{z{|{z{yyyzz{{zyz{z{{zz{zyzzyzzzz{z{{z{zzyyzzz{zzz{z{zz{{yzyy{{z{zz{zyzzzz|zz{{{{{z{{{zzzzzzz{{{{{{|{{zz{zz{z{z{{{{{{zyzzyzyz{{{z{|{{{{zzz{{zz{{|{{|{zzzyzzzz{{{|z||{{zzzz{z{{{{z{{{{zz{zz{{z{{{}z|{{{{{{{z{{{|{{{{|{{zz{zz{z|||{z{|{{{{{{{{{{|{{|||{{z{{{{{{||{{|||{{{{{{z|z||||{z||{{{{{{{z{||{{{{{{z{z{{{{{{{|{{|{z{z{z{zz{{{}|{{{|z{{z{{{{{{{{|||{{|{z{zz{z||{{||z{{{z{{z||}}|{z{z{zz{zz{z{|zz{|{zy{{zyzzz|z{{{{|zzz{zzzz{z{{|z{{zzz{zyz{{z|{zz{{|zzzzzzz{zz{{{{{{zyzzz{y{{y{{{{zyzzyzzzy{z{zzz|zzzyzzzzz{z{{{{y{{z{{zzz{zz{{{{{{zyyyzzyz|{zzz{z{zzzzyzzyz|{{{{{|z{yz{zzzzzz{{z{z{z{zz{zy{{{z{{zz{zzy{{yz{z{z{{{{zzzzzzzz{{z{{|z{{z{zzz{zz{{zz|{{zz{zzzzz{{{{{{{{{{{z{z{z{{z{||{{z|zz{zz{zzz{{z|{{zz{z{z{{{{{{{{{{z{{{{{{{{{{|{{{{|{|zz|z|{{|{{}{zz{zzz{{{|||{||{{z{z|{zz{}{|z{||{{{{{{{||{{{|||{|z{|{{{{|{{{{|{{|{zz{z{{|{z|z||{|{{z{{zz{{||{{|z{zzz{zzzz|{|{{||{z{zz{{{{{{{{z|{zzz{{zz{|{{{||{{{{|{{y{{{||||{z{{{zz{{zz|z{{|{{z{|zyzzzz{z{{z|{{zzzyz{zz|zz|{{{z{zyy{zzz{{z{z|{{z{{yzz{z|{{{zz{|zzzzz{zzz{{z{|{{{yzzzzz{zz{yzz{{y|zyzzzz{{{{zzzzzyzzzzz{zzzz{z|zzyzzz{{zy{zz{{{z{z{yy{yzyz{z{zz{zzzzzzzyzz{z{{{zz{y{zyyzz{zzz{{{{{{{zzzzzzzz{{z|{zzzzzzzy{{zz{{zzzzzzz{z{||z{{{|yzy{y{zz{|{{|{{z{zzz{zzz{z{{}|{{{{z{{z{{z{|{|z|z{zzz{|z{{{|z{{|{{z{{{z{{{{|||{}{{z{z{{z{{{{|{{||z{z{{{z{||{{{{|{|{{z{y{{||{z|{{||{{{{z{{||||{{|}|{{{z{z{||{{{{|||{{||{z{|{z|{{{{|z{{{y{{{{{|{}{{{zzz{{{z{|z|{{|{|{{{zzz{{{{{|||{{{z{{xzz{|z|{{|{|||{z{zz|{}}||{{{{zzzzzz{{z{z{{{z{{zzyzzzz{|{{{|{zzzzzzyz{zz{|{{{{{zzyz{zzz{zz{|z{zyzzz{z{{z{{{{zzzz{z{z{{z{{|{{|{zz{yzz{{{{z{zzzz{yzzzy{{|z{zz|zzzy{zzzzzzzzz{{z{zzz{z{z{{{|{z{z{{{zyzzz{{z{{{{{{zyzy{yz{z{{{zzyzzzzzzzz{z{{|zz{yyzz{yyzyz{z{{{{zzz{zzzz{{z{{z{zzzzzzz{|zz{{|{{zzzyzz{{{{z|z|{{{{{{z{{zz{{{{||z{zzy{{{zz{{{y{|{{{zz{zzzzz{{||{{z{zzz{{z{|{||{||{z{zz|{z|{{{||{||{{{{zzz{|{||||z{z{{{{{{{|{{{{{|{zz{{{|{|{|z{|||{{{{{|{{{|z{{||{{{{|{z{{||{{|}{|{{{{{{z{{{z|{|{|{z{{|{z{|{{|{|||{{{{{yzz{|{z{|{|{z{z{{zzz{{{{|{{{{{z{z|z{}|{}{z{{zzz{yyzz{{zz{{{z{z{{zz{{{|{{{{|{|zyzy{z{{{{zz{}{z{zz{y{{{{z{z|{|z{y{yzz{{{{{{{{z{{z{z{zz{zz{{{{{z{zzyzzzz{zz|{zz{zyzzyzzyz{{z{{zzzzyzzz{{zz{z{{zzzzzzy{zzzz{{{{{zzzzz{zz{{{{z{{{zzzyzzxz{{z{z|{{zyzzzz{y{{z{{|zyzzzzzzz{zz{{|{zzzzy{z{z{{{|z|{|z{{z{zzy{{{|z{{{{zz{zyz{{{{{|{|{zzzz|zzy{|||{{{{zzzzz{z{z{|{{z{{{{{z{{zz{z{|{|||zy{zz{z{|{{{|{|{zzyz{{{{{{{{{|||zz{{z{zz||||{{|{|z|{{{{zz{{{{|}{|{|{{{{{{|||{||}|{{{z{{{{{{|{||}{{{|{zz|{{{{{|{{{{{|{z{{z{}|||{|{{z{||{{{{{{{{||z{z{{z{z||{{{||{{{zzz|z{{|{|{{|z{{|{{z{{|}}||{{{z{zzzyzz{{|{{z{{z{z{zzzz{z{zz{{{{zzzzz{zz{z|{{|z{z{z{{yz|{z|||{|zzyzzzyz{|{|z{|zzz{z{{zy{|zzz{|zzz{z{zz{z{zzz||zzzzz{zzzzzzzz{{{zzzzyyyz{{zzz{zzzzzyzzy{zy{{{{{{zz{yzyzyz{z{{{z{zy{zzz{zzz{{zzz{{{z{{zzzz{{z{{{{zz{z{{zyzzz{{{zz{zzzzzz{z{{yz|{|z{{zz{z{z{{{{{{zzyz{{{{{z{{{{{{{|{zy{yzz{{{|}||{{{zz{zzz|{|{{z|zz{{{{z{zz|{{z{||{z{z{|z{||||{||{z{z{|{{{|{{{{|{|{{{z|zz{z{|||{{z|z|z|{{|{|{{{|}{{{{{{{{{{{{||}||||{{z{{{z}|||{||{{{{{{{{{{|{|{|{zz{z||{{{{{{{{{|{{{z|{{{{{{|||{|{{zzz{z{{||{{{{|||{{{{z{z||{z|||z{{zz{z{{{||}{{{zz{zzyyzzz{{{{||zzzz{{yzz{{|{{|{{z{zzzyzz{{{{{||{z{z{zz{y{{{{{|{zz|zzz{z{{zz{||{z{{yzzzz{zz{zz{{{zzz{y{z{{{z{{{{{{zzzzzz{z{z{||{{z{yyzzzzzzz{|{{zzzzyzzz{{{{{{||{zz{{zzz{{z{{{{|{zzzz{{yyz{z{{z{z{zz{zzzz{z{z{z{z{|z{zzzz{{{{{{zzzyzzz{z{{{{|{{zzyz{zzzz{z{{{{{{zz{zzz{{{||{{{z|{zzzz{zzz{|{{{||{{z{{z{z{{|{{{|{{{{{{zz{z{|{z|z|{{{z{zz|{|||{|{{{z|{{{{{{|{|{|}|{{|{{{{{|{||}||z|z{{{{{{{||{|{}|{|{z{{|{{{{{{||}|{{{{{z{{|{{{}{||z{{{{{{|{{||||{|{|{{{z{{{{|{{}{{z{{|zz{{{z{|{{{{zz{{{{{z||{|||}{z|{zz{zz|||{{|{z{{{{{{y{{}|}|{{z{z{zz{zzz{z{{{z{zz{{zz{{z|zzzz{{{zzzzzz{z{z{{||{z{zzzz{zz|{zz{{z{{zyyzz|{{|{{{|z{zz{y{z{{{z{{{{zzzz{zz{{{{{{{{|{zzz{{{|z{z{z{{|yzzyzzzyz{{{z{z{zzzzzzyyz{{{|{{|{zzzz{zyz{{{{{{{{zz{{yzyzz{z{{{{zzzzyzzyz{z{z{{zzyzzzzzzzz{z{{{{{zzzzy{z|{{|z{{|{zzzzz{zz|{z{{z{{{zz{{zzzz{{{{{{z{zz{zz{{|{{|||{{z{z{zzz{|{zz{}{{z{{{y{|{|{{{{||z{{z{zzz|{}{{{|{{z|{zz{{||{{||||z{{{{z{z{|{{|||{{z{{{zz{{|{|||||z{{{{{|{{||||{|{{zz{{{{{{|||}}|{|{{{{{{{}||{{|||}{{{{z{{{{{|||||{{{{{{{z{|{{|{{|{zz{{{{z{{{|{z}{{{{zz{{z{|{{|{{|{{{zzz{{}{}|}{zz{z{yzz{z{{{{{{{|z{z{yzyyzz|{{{{{{zzzy{zz{zzz{||zz{{{{zzyz{{{{z{{zzzzzz{y|{{{{{z|{{z{z{zy{{{zzz|z{zzzyyzzz{{|z{z{yzyzzzzyz{z{zzz{zz{{zyzzzzzz{|zzzyzzzzzzy{{{{zzzzzzzyzzz{y{{|z{|{{zyzzzzz{z{z{z{{zzzzzyzzzy{z|zz{zzzz{{zz{yzzz{|zz{zzz{zz|{zz{{{{zzzyyz{zzz{{{{{zzz{zzzz{{z{{{{{{{zyzz{zz{{z{{{|zz{z{zzz||{{z{|{{{z{{z{{{{{{{{{{{{yzzzzy{{{{{||zz{{{zy{z{|z{{|{|{z{{{{{{|{|{{{{z{{{{{{{{|||{{|||z|{zz{{{{{||}||||z{{{z{{{z||||{|{z|{{z{{|{{|{|{|{{zz{z{z{zz{{{|{zzzz{{z{{|{{{|{{zzz{{z|{z{z{z||{{z{{z{z{z{{{{|{|z{{{zzzz{|z{{{z{{{zzz{z{{{{z{{{{z{zzzzzy{{{z|z{{{{zyzy{y{{{{{{{z{zz{{{z|z{|{{z{{zzzyz{zz{{{{z{{{{{{zz{zz{zzz{{{{{z{yzy{zzz{{{{z{zzzzzz{{zz{z{z{{zzyy{y{z{{{{{{{{zzzzz{yzz{{zz{z{{{{zyzzzz{{z{{{{zzzxyzzyzzzyzzy{z{zyzz{z{{{{|{{zzzzzzzzzzz{|{{|z{{{zzyzz{{z{{{{|z{zz{z{z{z{{{z|{z{zzzz{{{{z{{{{{{|z{zzzz{{|{{|{{{z{zzyz{{|z{{{{|z{z{{{{{{z{{|{|{{z{{{z{{{||}{|{{{{{z{{{zz|z{{{{{}{{{z{{zz{|{{{|{{z{z{{z{{{{|||||{|{zz{{{|{|{{|{||{|z{z{z||{{{|||{{||z{zz||||{|||{{zz|zzz{{{{{|||{{{{zzz{{|||||||{|z{z{z{{{{{{{||z{z{zzzzz{{|{||{{zzz{{{y|||z|{||zzz{zzzzzz{zzy{{{zzzzz{{|zz{{{||{{{zzzzy{{z{z{{{{zzzz{zzz{{{z{{{{zzyzyzyzz{z{z{|yzzzzzzyzzz{z{{z{zzz{{zzzz{zz{{z{yzzzzzyzz{z{z|{zzzzzz{zz{z{{{{zzzy{z{zy{z{{z{{{zyzzzzyyzzz{{z{zzz{yzzzzzzzyzzz{zzzyzzzzz{z{zzz{zzzzz|{zzzz{z{{{{zyzzy{zz{{{{{|{{zyy{yzzz{z{{{z{{{z{z{zy{{{{{{||zz{zz{|y{{{{{{{|zzz{zzyz{z{{{{{{{y{zz{zz{{{z{|{zzz{{{zzz{{{{||||zz{{{{{z{zz{z{{{|z{{{z{z{|{{{z|{|z{{{{z{|{{|{{}}{{zzz{{{||{|}||{{z{{|z{{{{{|{{}{{{{{{{{{{{{{{|{|{{zz{{{{{{{{{{||{{zzz{{{{{{{{{{{{{z{z{zz{{{{{{{{{zzzzzzz||{{{{{{z{|z|z{zz{{|{|z|{{{|zz{z|{{zy{{zyz{{yzyz{zzz{{|{zzzzzyz{{|zz|{{{{zzzyzz{zzz{{{|{z{zz{yzz{|{zz||{zzzzz{zyzz{zz{zz{yzy{yzz{{z{z{{{zz{zzzzzzzz{zz{{yyzyzz{z{{|{{{z{{{zzzzzyzz{z{{{z{{{yyyzzzz{{{{{{z{z{yzzzz{{zz{{|zzzz{zz{y{|{{{{zyzzyzzzy{{z{{{|{zzzzzyzz|{{|z{z{|zzyzzz{{{{{||{{{z{zz{zz{{{{|{{zzzzz{{zz{{{{{{{z{{zyzzzz{z{|{||{zzzzz{zz{{{{{|||{|{|zzz{{{{{|{{{{{|z{z{{|{{|{|||{{z{{{zz|||z{{{{{z{{{{{|{{{{|{|{{z|z{{{|{{{{{|{{{{{{z||{{|}{|||||||{z{{{{z{{|{{||{zzzz{{{{{||||{{{z{{{z{|{{{|{||z{{zzzyz{{{{|||{zzzzzzzy{|||z|{{z{{z{|{{{{|||||{{z{{zz{{{{||{{z|{z{{{z{{z{{{{{{|{zzz{|{zz|}z|{|z{{z{zzzz{|{|z{{{|{|zzzzz{{||||||{{{zz{zz|z{{z{{{|{{z{|{z{z{{{{{{z{{zz{z{|{{{z{{{z{{z{zzz{{{|{{{{{{zzz{zzz{{{|z{{|{zyzzzz{|||z{|{zzzzzz{zz|z{{{{{zz{z{{zz{{{{{|{{{zz{zzzz{|{{{z{{{zzz{{zz|{|{{{|{zz|{z{|z{|{|{{z{|{{|z{{{{{{||{|}{{zzzz{{{||||{{{z{{z{zzz|{z{{{|||z{{{{{|{||z{||||{|{z{{{|{|{|||{{{{{z{{|||||||}{||{|||{{{{||{||||{{{|{z{|||||||}}{||{{|{||}||||}|{|{z|z||||||}|||{{{|{|{{|||{|{||{{z{{{{||{|}||||{{|{{{{|{||{}||z{z{{{|{{|{|{}}|{{{|z{zz|||{{{||{z{{{{{z|{{{||{zzz{z{z{{z{{{{{{{{{z{{z{zz{{{z||{{z{zzzz{z||z|{|{{z{zz{zz{{|{|{{|{{{{zzzz{{|z{|{|{{zz{z{{{z{zz{{{{z{{z{{{{{{zz{{{z{zzzzzz{{{|z|{|zzz{zyzzz|{{{{{|{{zz{zzzz|{{{{{{zz{zyz{{{{{{z|{|{zzzzyy{z{{{{{{{zzzzzzzzzzz{{|{{{zz{z{zyz{{{|{{{{zzz{{zz{z{{{z{{{zzzzz{z{{{{||{|z{{{{z{{{||{z|{{{z{{{z{{{{{||{||{z{zz{zz{{{{z{|{{zz{{{zz{{|{{{{{{{{{{z{z{||||{||zz{{{zz{||z|||{|{zz|{z{z{|||{|}{|z{{{{{{{}|||||}||{{{{{|{|{||{|||z{|{{{z{~|||||||z{|{{|{{||{{||||{|{{zz|{|{{{||}{{{{{{zz|{||||||{{{{{z{{{|z|{{{|||{{{{z{{{{{{||{zz{{z{{{|{||{|{|{{zzz{{z{{}z{{{|{{zzzzzz|{||{||{zz{zz{zz{z}{{||{zz{{z|zz||{{z{{{{{zz{zzz{{{{|z{{{z{z{yzz{{zz{{{z{zz{{{yz{{{{zz{{{zzzzz{zzzz{|{{{{zz{{{z{{{zzz||{{z{{zzz{{z|{{{{z{{zzzz{zz{z{{z|{z{zz{y{{{z{z||{{z{{z{{zzz{{{{{|{{zzz{y{z{z{|||||{{{z{z{{{{|{{{{{{{{zzz|z|||{|{{|z|zz{z{{{|}{{{||{{{|z{{zz{{{||{|{{{{z{{y{|{||||{{zzz{zz{{{|{|||{{{{{{|{|{}}|{}||z{{{z{{{||||{{||{{{{z{{{||{}||||{{z{{{zz{}{||{}|{{{z{|{{||{||{|||z||{z|{{||{|||||{{|{{z{{||{{|}}|{{{z{z{|||{||||||{{{{z{{|{||||{{{|{{{|{{||{|{|{z{{zz{{z{{{{|||||z{z|{z|z|{{|{||{{{{{{|{{{{{|{|{{z{z{yzz{z{||||}{{{{z{z{{{{{||||z{z{zz{z{{{{{{|{{{{zz|{z{{{{||{}{z|zz{{z{}||{||{{|zzzzy{{{|{{{z{{{{{{z{z|{|{{{{{{zz{yzz{z|{z{{{{{zzz{z{{{{|{|{z||{{z{z{{{{{z{{{{{{{{{{{{{{{z{{|{{{{zz{zzz|{{{{{{{z{{{{z{z|{||||{{{{{{z{|{{|{{|{|{z{{z{z{{|{z{||{{z{|{z{|{|{|||{{{{{|{{|{{|||{{{||{|{|zz{{|||{{||{{{{{{z{{||}}|{|||{{|z{{||||||||z{{{|{{||||||{{||{{{{{{z{|}}||||{{{{{{z{|{{|||}}}||{||{{||{}|}|||{}||{}{||}|{|||||{|{{{|}||}||||{z{{|{{{||{{}{||}|{{{{{|||||||}{{{{|{|{|{||}{{}|{|z|{{|{|{||||||{{|{{{{z|||||{z{{z{z{z{zz{{z|{{{{z{{{{{y{{{|{{|||{{{zz|z{{{||{{||{{{z{z{{{|z{z|{{{zzz{zz{{||{{z|{{{z{{{z{{|{{|||{{{{{{{{{||{z|{z{{zz{zzz{z{{{{{}{{|zz{{{{{{{{{|{{zzz{{{z{{z|{|{{|{{zz{{z{z|{{{||{{{{{{zz{{{|{|{{z{z{z{|zz{{z{|||zz{zz{{z{{{{{{{{zz|{{|{{z{{{{{{||{{{{z{{{{z{{|{{{{{z{|{{||{|{{|{|{|{{z{{{||{{|{{{{{z{z{{|||z{{|||{{{{{{z|{{|{|{|||{{|zz{{|||}|||{{{{{{|{||||{{|||{{{|{{{{||||{}||{{{|{z||}|{|||{{|{{||||{|||{|{{|{|{{||{||}|||~|{{||||{{{||}||{||{z{|{{{|{|{|}|}|||{|||{|||||||~|||{{{{z}|||||}||||{z{{{|}|||||{{{{z{{{z|}||}|{{{{z{{{zy{{{{{{||zz{z{{{{{{|{z|{{z{zz{z{z{{{|{|{|{z{{{yz{{{|}z{||{z{zy{|z{{{{{{{}{z{{{zzz{{zy{{{{|{z{z{zz{{{{z{{{{{{z{y{z{{|{{{{{{zyzzzzz{{|z{{|{{{zy{zz{{z{{||{|{{|{{zz{z||{{{{|zzzz{{yz{{{{{{{|{{{z{zzzz{{zz|{{zz{{z{z{{{{{{||{{{z{{{zz|{|{|{z||{||{z{z||{|{{||{{||{|z{{|{{{||||z{|{zz|z{{{||}|{z{{{{{{||||{z|||{{{{{zz|{{{|{{|z{{{|{|{||||{||{{z{{{{{{{|{{||||{{{{{{{{{}|||{|{|{{{{{{||{{{{||{{z|{{{|{z||{}}||{{|{{|{|{}|||||}|{{||z|{||{{||{}|z{{{{{{||{|{||}|{{z|{|{||{|||||{{{{{{z{{||{{|||{{|{{{{{{|{|||||||{|{{{{||{{|{|{{{{{{{{{{{|{{{|{{zz{{zz{{{||{||{|z|z{z{z{{|||{|||{|{{zzz{||{{{|{||zz{{zz|||{{{{|zz{{{z|{{{|z{|{z{{{zzzz{{{{{{{z|{z{{{{z{{{{{{{{|z{zz{z{{{zz{{{|{zz{z{{z{z{||||{zzz{{{{z{z{|{{{{{{zzzzzzzzz{{{|{|{zzz{{{z{{{{{{||zz|z{z|{{{{{{||{zzzyz{{z{|{|{||||{{z{{{{|{}|{||{{{{|{z{{{z||{|}{|{{z{{{{{{{}|{}|{{z{{|{z{{{{{|||z{z{|z{{{{|{||||{{|{{z{{|{}|}|||{{{{z{~||}{{|||}|{|||{{{|||||}|{|z{{{{{{|}{||||||||{|{{|||||}|{||z{|z|{{|||||||}{{{{{{||}|||{|||{{|{||{|{{|{}|}{|{||{{{|{|||||||||||{{{{||{{{||}|z|z{{|{{|||{||||{zz{{{||||||{{|{{{{zzzz{|||{{{|z{zzzzz{{{{{{{|{{z{yzzz{{||{{{{|{z{z{zzz||||{{{|{{{z{z{z{|{{|{{{{{{zz{{z{{z{||||{z{z{zzzz{{{{{|zzz{{zz|{z{{{z{{}{{zzzzz{{|{{{|{{zzz{z{z{z|{{{{{{{z{{z{zz{{z{z{{|{z{z{z{zz|{{{{z|{{zz{zzzz{{{{|{zzzz{{zzz{{{{|{{{{z{z|z{zz{{|{{{{{z{z{z{{{{{z{|{}z{zz{z{z{|{|{{||{{{{{z{z{{{|||z{z{{{{{{{{{||{{{{{{{{{z|z||{{{||||z||{{{|{{{|}}{|z{z{{{{{|{||||{}|{z{{{{z}}|{{||{|z|{{{z{|||{||}{z{|z{||||{{{{{}||{{{{{|{{}||||||{{||z|{{|||||{|{|{{||{|{|{|||||}|{{{|{{{|}{{|{||||{z{{z{{{{{||||||z{{{{{{{||{||{{{{z{{{{|||{{|{||{z|{{{z{{{{z{|}{{zzz{{z{|{{{|||zz{z{{z{z{{{{|{|{{{z{z|z{{||{{|{{zzzzz{z{{{{{|{|{zzzzz{{z|{{{{||{{z{zyzz{{{zzz{{{zzzyz{{|{{{{{{|zz{z{{{zz{z{{{{{{z{{z{z{z{zz{{{{zzzzz{zyzz{{z{{|{z{zzz{zz{{|{{z{z{{z{zz{{{zz|{{{{z{z{z{z||{{{{|{z{zz{z|{{|{z{{|{|{{{{{{{z{zz{{|||zz{z{z{||||{|{{{{{z{z{{z{{||{{|{z{z{{z{{|{}{{{}|{{z{{{{z|||{{|{|z{{z}{{|}|||{||{||{{{|{{|{||}||{||{{{{{||||{{||{{{{|{{{|||{{|}|{|{{{||||}|{|}|}|z|{{{{|{}|}|{||{z{{{z{z||{||}{|||{|{z{{{|{{{}|||{z{|{{||{|{||}|{{{{{{||z|{|z|{|{{{{zzzz{|{}{{||{z|z|{{{||||{|{{zzzyz{yz{{|{|{|{{z{zzz{z{{{{{|{{|z{z{{{z{{{{{{{|{zz{|z{{{{{{z{z|z{z{{z{z{z{|{{{{{z{z{{{y{{{{{{||zz{{{{zz{{|{{{{z{zzz{{z{zz{|z|{{zzzzzz{{z{{z{zz{{zzzzzzzz{{{|{{{zz{zyzzzz{{{z{|{zz{{zzzzz{zzz{z|z{zz{z{{{|{{{{{{{{{y{|zzzz{z|{{{{z{z{z{zz{{zz|{|{{{{z{z{y{z|{|{{{{z{{z{z|{{{{{{||{{{z{{{z|||{{|{{{{{{zz{|{{{||{{{{{z{{{{z{|z{}||{{|z{{{{z{|{}{|{{{{{{{|{||||}|||{{|{{{|{{|}}{{|{{z{{|z{z|||{|||||{{z{|{||{|{{|{|{z|z{{{{{|{||z|||{{{{z{||z{|{||||{{{|{z{|{}||{||{|z{{zz|{{|||{|}{|{|{{{{{{{|{{|{{{{|z{zz{|||{||{|z|zz{{{{}{||{|{z{{{zyzzy{|{{|{{zz{{{zz{z{||||{|{{{zz{yz{{z{{{z{{{zz{z{z{zz|zz{|{{z{z{{z{{{|z{{|{z{zzz{zz{{|z|{{|zz{{z{{{{{z{{{{zzzzyzz{{zz{z{{{z{z{zzz{z{z{||zzzzzzyzzyz{z{{z|{{{z{z{z{z{{z{|{{{zzz{zzzzzz{z{{{z{zzz{yzz{z{{|{|{z{{{z{z{{{{|{||{z{zzz{{{{||{{{}{{{{zy{z{{{{|{|{{z|zz{zzz|{{{{||z{{z{z|z|{{|{{{{{{z{{{zz{{||{{{{z{z{zz{z{|z|{|||{||{{{{{{|{{{}||z{zzz{{{{|||{{}||z{{z{{z|||||{{||z{z{{|{{|{||||}{z{{zz{{|{||{|~}|}{{{{{|{}z||||||{{{{z{{|{{}|||{|z{{|{{{|{|||{{{||zz{{||||{{|||}{{{z{{{{{{{|{}||{{{{{{zz|{{{{||{{{{{{z{z{}}{||zz|yzzy{{zz{zz|{|{zzzzzzzz{{{z{{||{{z{zz{{z{{z{{|{{yzy{zzz{{{{{|{{|zzzz{{y{{{{}{z|{{zz{z{z{{z{z||{|zzzzzy{{{zz{||{{{z{{{z{{z{zzz{|{zzyzzz{{|{{z|{{{zz{z{z{z{{{{z|{|zzzzy{zz{z{z|{{zzz{{{zzzzz{zz{|{{zzzzzzz{{{z{{{zz{zz{zz{{{{{{||z{z{{z{z|||{{|{|{{z|zz{{{{{|{{{|z{{z{z{zz{|{}{{|z{{{{z{z{{|{|||{{{zz{{z{|z{{{{||{zzzz{{zz{{|{|{||{z{||{{{||{{{{|zzz{zz{{{}{|||{{{{{{{{{{{|{|{{|||{|{|{|{{}{{|z|||{{z{|{{z||}|||{|{{z{{||{}||}}||{{{|{|{z{|||||||{z|z{{{{{|{|{||}|{{{}|z{{{{|||{|{{{zzz{|{{|{||}}{{z{zz{z{{z|{||{{z{{{z{z{{||||{|{z{{{zy{z|{{{|{|{{{{zzzz{||||||{{{zzz{zz|||||||{{z{{{zz{z|{z{z|||{{z{z{z{{|zz{{|{z{zzzz{z{z{{{{{|{{z|{{z{{{|{|z{zz{z{zzz{{z|{|{|zyzz{zz{z{{{{z{{{{{{zz{z{{{{|{{{zzz{zz{{z|z{{z||{zzzzzzzz{z{{{{{{{z{{{yzz{{{||||zz{{{zz{{z{||||{|{{{{zz{|{{{{{|{zz{zzz{|{|{{{|{||z{z{{{z|{{{{{{|{{|z{z{{{|{}||||{y{{|zz{{||{{z}{{|{{{|z{||{{{||}{{{z{z{|{{||z}{{{{|{zz|||{{|{}||{{{{{{{{||{|||||}z|{{{{z{|{{|||||{{{|{{||{{||}{|||z{z{{{{{{|||||}|{|z|{{{}}|{|||{z|||z{{|{|{|||||{z{||{|{}||{||||{{{|z{z{z{{|{|}|{{zz{{{{}{{|||}{{|{{z|{|{||{{{{zz{zzz{zz{{|{|{|{{z|z{yz{{|{{||{|{zzz{{{{{{{{|||{|{{zz{{{|z{{z||{{{zzzzz{{|{{{||{z{zzz|zz{{{{|{|zz{{{{{z|{{{{{{{{z{{z{{z{z{{{{{{zzzz{{zz{{{z{||{zzzz{{y{{{{z{{{{{{{{y{zzz{{{{z{{{zzzyzzzz{{{zzz|{{{z{zz{{|zz{||z{zzz{zxz|{{|{{|{{{z{{yzz{{|||z{{z{{{zz|{{z{{{|||{|zzz|{{{{{{{||}{z{{{zz{|{|{||||z{{{zyz{|||{{{|{{z{||zz{z||{{|||{{{{{|{{{{{||{||{|{{{z{{|{||{|}|z{|zz{{{{}|||||{|{{{{{|{{||||{||{{{{{|{z|}{{|||}|{{|{||{{||{|}}|}z{{|{{{{|||{|}||{{}{{||||||||||{{{{|{{{||{{|{}{{{|z{{|{|z{|{{||{{{{z{{{{|{|{||{{{{{{z{{{{}|||{{zzzzzz|zz{||{{{{z{{zzz{{zzz{{{{}{{{z{z{{|{{{{|{{{z{zz{{zzz{{{{{{{|zzzz{z{{zz{{{{zzzzz{{yzz{{{||{|{z{z{{z{{{{z{|{{z{{zzz{z{{{y|{{z{{z{{zz{{{{{{{{{y{y{zz{{z{{|{{{{{{|y{zzzz{{{|{|{{{zzz{z{|zz{|{{{zzzzzzz{{{z{{{{{z{zzzzz{|{{{z{{z{{z{z{z{{{{{{{|{z{zz{{z{{{{{{||{z{zz{{z|{|{z|{|{{z{{{{|z}{|{|{|{{{{y{{{{{|z{{|{{z{{{zz{|{|{{|{|{{{{z{{{|{||{|{{{{{|{|||}|{}{|||{{{{{z{z|{{{|{||||{{zzz{|}{{||{{|{{zz||||{||||{||{|{{{z{{~|}|}{}||{z|z{{|{{||||}|{z{{{{{|{|{|||}|{{{|{z{{|{|{{||||{{z{zz{{{|{|||{{{{{{zz{}|}{{{|z{{z{{{zz}{|z|{|zzz{{{{zz||||z{|{zz{z{{{{|{|||{||{{z{{{{{z{||{{||{z{{{{z{{||{z{|{{{{zz{z{z{{z{{||z{z{{{z{|||z{{{|{z{{{{z{{{z{|{{z{{{zz{z{|{zzz{{{zzzz{zzz{z{{{{{zzzz{{zz{{||{{{{{z|{{{zz{{{|{||{{z{{{{z{zz{{z{{{{zz{{{zzz{{||}{{{|zz{zzz{{{{{||{{{z{z{{{|{||||{{z{{z{{z{|{{|{{{{{{|{z{{zz{|{{{||{{zz{z{{||{|{||{||z{{{zz|{|{{{}|{z{{{z{{{{{{{||{{{z{{{|{{|{}{{||{|{{{{{z{{|||||||{{|{|z{|}{{|||{|{|{{z{||}||}|{||{{{||{{{|{||}||{{{|||{{{|}|{|||||{{{{z||{||{{|||{|{|{{|{{{|{|||||{||{{z}|{}|{|}{{|{{z{{{|{|{||||{{{z{{z||{}||||{{|zzz{z{||{{||{z{{{{{{yz||z||{{z{zz{{{{z{{{||{|z||z{z{{{{{{{||||zzz{zz{z|{{{{{|{{z{zz{{{|||z|||{zz{zzzz|{{{{|{{{z{z{zzz|y|{{{|{{|{z{z{{|{{{{||{z{yz{z{zz{{|{{{{{y{{yyyzzz|z{{||z{{zzzzz{{{{{{{z{{z{zz{z{{z{{|{z{|{z{{zz{||{|{{|{zy{zz{{{{|{{{{z{{{zzzz{||{{z{{|{{{{{{{z|z{{||{|{z{{z{|{{|{|{|||{{{{zzz{{|{|}||{zz{z{{zz{|||{||z{z{|{{{z|{|{|{{||{{{{{{z}|{}}{||zz|{z{|{|||}{{|||{{|{zz{||{||{}|{|{{{|||}|{{||}{|z{z|{}|||{||||{|{|{{{{{|}|}|{}|{zz{z{{|{{|}|||{|{||||{|{{{|{}||||{|{|{z||||||{|{{{{{zz{{|||||{||zz{{{|{z|||||||{{|{{z{z{{{||{{{z{{{{z{|y{|z{{|{{z{zyzzz|zz{{{|||{{yy{zz{{{{|{{{|{{|zzz{{{{{{{{{{{z{{z|z|{{z{|{|{zzz{zz{{|{|{{{{{zzzzzz{{zz|z{{{{z{{{{zzz{{{z{|{{zzyzyzz|{{z|z{{zz{{yzy|z{z{{|{{{z{zz{zz{{z{z{{{z{zz{zzzz{{{{{{{{zzz{{{{z{{z{zz|{z{{z{zz{z|{|z|{{{{z{z{{{{{{{}{|{{{{{z{{{{{|||{|{{{zz{zz{{zz{z}{{{{{{{z|{||{{{{{|{zz{zz{{}|{|{|{|{{z{{zzz||{{{|||{|{{z|{||||||||{{{z{{{{|{{{||||{z|{{{{{{{z||{{||{{{{{{z||{{{}||{{zzz{z{{}|{|}|||{{{|{{{{||||||}|||||{z|{{|||{|||{{||{{|z{{|{||||{|{{z{{{|||z|||{{{{{|z{{}{{{{{|{||{zz|z{|z|{||{{z|z{z||z{{{{{{{{zzz{zzyz|{z{z|{z{zzzzz{{{|{{||{|zzz{{{z{{z{|{|{{{{{z{zz|z{{z{|{|{{zy{z{{|||{{{{{{{zz{{yz{{{{|{{{{{{{z{y{z{{z{{zzz{zz{z{{{{|{|{{zzzzyz{{{{z{{{z{zzz{z{zz{{{{{{{z{{zzzzzz{z{|{{||zzzyyzzzzz|zz{{|{{zzy{zy{{{z{{{{{z{zzz{z{|||{{{{z{{{z{{z{{|{{{{{{{zz{z|z{{||{{{{|{{{{{{{{|{|||{z{{|{{z{{{{||{}{|{{z{{{zz||{{{{|{|z{zzzz|{z{{{||{{{{|{|{|||{}{|{|||{zz{|z{|{|{||{{{{{|{{{|{|{{|{||z{{{|{z|{|||||||{|{|{{{|||}|}||||{}{{|{{||||}||}{||{{{|{|{|{}}{{||{|z{{{|{{|||{{{|z{{|}||{}{{||{|zzz{{||{{{{{||{|{{zz{z{|{|||||||{zz{z{{|{{{z{{{{{zzz{zz{z{{{{{{zzzzzzz{z{|{{|{{zzzz{|{{{z||{|{z{{z{{zz{{{|{{{{|z{zzzzzz{{||{{|{zzzzz{zz{{z{{{{{z{zzz{z{{|{{{{{{zz{z|z{{{{z{z{|{zzzzzyz{zz{{{{{{{{{zzzz{{|{{|{|{z|z{zzy{{z}z{|{{{zz{{z{z|{{{{{|zzzz{{zy{zz{{z{{yz{{{{{zzz{{|z{|{{y|zz|{{{z{{z{{{zzz{zz{|z{||{|{zz{{|{zz|{|||{{|{z{{zz{{{{{||||{{{|zz{{z{{{z{||{{z{zz{|{|{{{{{|{z{|z{{{{||||{|{|{{{z{|{{{{{{|||{|{{|z{zz||}|||{{}{{{{{z|{||||{|}{{z|{||{||||||||}{{z{{{{{||}{|{|{{|{{{|||}|||||||{{{|{{{|{}}||}||z{{{{{|||||||||{|{{z{{{{||{||||{{z{{{{{||||{{||zy{{{y{z{{{{{{{{z{{|zy{z{{|z|{{|z{{{zz{{{{{{{|{|zz{y{z{z||{{|{{|{zz{z|yz{{{||z|{{{zz{{zz|{{z{{{|zz{zzzzz{{{z|||zzyz{{z{y{{|z{|{{{zzzzzzz{{|{zzz|{{{{z{zz{{|{z{{{z{yzzzz{{|{||{{|{z{zzzzzz{||zz|{{zyzzzzzzzzz{z{{z{z{{{zzzz{|{{|{zz{z{{z{{z{{||{{{z{{zz{z{||{|{{{{{{{zz|{{{{|||{|{{{{{zz{{{|||{{||z{|{y{z{{||{{z{{{z{zz{{{{{|||||z{{{{{{z{{{zz|||z{z{{{{{||z}{|}|{zz{{{{|{{||||||{{{|{{z|||{{|||{||z{||z{{|||||||{{{{|||||{||{||{|{{{{{{{{}{|}{||{||{{zz{}|||{||}}{{{{z{{|{|||{}}{{{z{{|||{{{{|||{zz{{z{{{|||{||{|{|{{{{{{|{{|{|{z{{z{{{{|{|{z{|{zzzzz{zz{|{|{|||{{{{zzz{{{{{||||zzzzzzzz{{{{{{|{{|{{zz{|{{|{{{{|{{zyz{{{|z|{|{||{{{zz{zz{{{{{||{{zz|{{z{{{{z{{{|{{{zzzzz{{{|||{|zzz{zz{z{{{{{{|{{{z{zzz{{{|{|{{{{{{zzz{{z{||{z{{{zzz{yzz{{z{{{{|{{zzz{zz{{zz||{{z{{{{{{z{{|{{|{|{z{{{{{{|{|{{|}{|{{z{z{{{|{{{||{z|{{{{z{{z||{|}|{{{{|z{z|{{{{|{{z{{{{z{z||{{{{||{{{|{{{{||{{{||||{|zz{{{{{||||{|{{|{{z{{|||}||{{||{||z{{|}{|}|}||{{{{{|{||||||}}{|{|}||{{|||{||}|{|{{|{|{|}||||}|z{{|z{{{{|}|||||{{||{{{|{||||}|{|{||{{{||{||||||{{z{{|z||{|{||}{z{{{{{z||||{{||{zzz{{{z{|{|z{||{{z{{{{{{{zzz{||{{{{{z{z{{{{{|||{{z{zz|z|{|{{{{{|z{{zzz{z{{{{|{|{|zz{z{z{{|{{{z{zz{{{z{{{{{{{|{{{z{zz{z{{{|{{||{{{{z{{{{zz{|||||z{zz{{{z{|||{|{{z{z{z{zz{{|{{{|{zz{zz{zz||{{{{{|{{{{{z{z{{{z{{{|{{{y{z{|{|z{{|{|{{{{{zyz{{{{|{|||{{{{{{{{|||{{{|{zzz{{z{{{|{{{|||{|z{|z|||||{|||{{{{{y|{{|{|{|||z{{{{{{{||||{{|{{{|{{{z||}||{{||{{{{{z{{{|{|{{{|{{{{{|{{{{||z{}|{{{||zz{||{|||{}}zzz|z{{{{{|{|||{|{{|{|{{|{||||}}|{{{|}{{|||||}||{{{{{z|||||{}{||{{{{z{{||{||}}||{{||{|{}{|}|}||}{zzz{|{||}||||{||{{z{z|{|{|}|{{{z|{{{{{{{||{|{{{{z{{{{{{{||{{||||z{zzz{|{|{|{||{{{z{{{{|{{||{|{{{{{{zz{|{{{{{{{zz{{{z|{{{{{z|||z{{z{z{y{{{{z||{{|z{{{z{|{{{z{{{{{zz{{{{{|{{{{|{{{z{|y{{{||z|{{{z{{{zz{{{{{{|{{|{zz{z{z{{{z{{{}{{{{{zzzz{|{{{|{||zz{{{zzz|z|{|{{zz{z{{{z|{z{{|{{zzzz{z{{{{{{{||{z{{{{{{||{{{}}}|{{{zz{{z||{|||{|{{{{{z||{{|}{}{|{{{z{|{{{|{{||||{{{zz{{{{|||||||{{{{|{z|{{}||||||{{{{|{{{||}||}||{|z{{{{||||}||||{{{|{{|||||{}|||{{|z||{{{||}}||}{||{{{{{}}}|||{{{|{{{|{||||||||}z{||{{{|}||||}}|||{{|{{z|||{|{}{|{{{{z|||||{}}|{{{{{{{{{{||{||{|{{{{{{||{|||{|{{zz{{zzzyz{{{{|{{{zz{zzz|{{{{{|{{|{yz{zz{{{{{{{|{{{zz{zz{|{|{{||{|{{z{zz|{||{||||{{zzz{z{|{z{}|{{{z{zzzz{z{{{{z{{{zz{zzz{{zz{{{{z{zzzz{z{{|z{{{{{zzzzzzz{z{z||{{{z{{zzzzz{|z{||{{{z{{z{{z{{{z|{|zzzzz{zy{{{{{|{|z{{{{{z{zzz{||}{{zzz|z{z{|{|{{||||zzzz{{||{{|||{{{{{z{{{||{{{||{|{{{{z|{||{}z|||{zz{{{{{|{{|{|{|{z{{{{|{{{{{{||{|{{{{|z{|{{}{{|{{z{|{z}||{z|||||{{{{{{{{||||}|{{|{|z|{{{{|||}||}||{z{||{||||}||}|{{{z|{{{||{||}||{{|||{{|}|||||{{{{{||||{{|{|||}|{{{||||{{||{|||{{{|{z{{{{{||}|||{{z{{|zz|{|{{}{z||{z{z{{{{|{{{{{yzz{zzz|z{|{{z{{z|zzyzz{{{{{|z|z{{{{{zz{{{{||{{{zz{{{z{{z|{{||{zz|zzz{{{{{{{|{|zz{zz{zz|{{{{{{{z|{zzyyz{{{{{{{{|zzzz{zz{{{{{{{{{{{{zzzzy{{{z{|{{zz{z{zz{z{z{|{{zy{yz{zzz{z{z{z{{zzzz{zzzz{z{z{|{{{{zz{zz{zzz{z{z{zzz{zzz{{|{|{|{zy{zz{z|{{{||}{{zz{zzz{|{{|{{{|zz{{{{{z{{||{||{{{{|z{{z{||{||{{|zz{z{z{|{{|{|{|{{{{{{z{{{{{{{{{|{||{{{z|{z||{|{{{|{|{z|{{||||||{zz{z{{{|||||{|{{zz||{{{{||{||}|z{{{{{|{{{||{|}||{{{{{|z{|||{{{|||{|z{{{{{||{{}{|{|z}||{{|}{{}||{{z{{{{{|{{|{{|}{{|{z{|{|z|{{||||{zz|{|{||{{{|{|{z{{{{{z{{|{||{{{zz{z{{zzz{|zz|{|z{zzzz{{z{z||{|{{yyzzz{{{z{|{{|zz{{z{{{zz{{{{{{|z{y{{zz{|{|z{}|z{{{z{{z{|{zz|{{{z{{zyzz{{{{{{zz|zzzyz{{{{z{{zz{zzzz{z{zzz|z{{{||zzzz{z{{{{|{|z|z{{zz{yzz|{{|{{{z{{z{zz{{{|{{{{zzyzzzz{z{{{z{{z{{{zzz{{zzz{{{z{{|{zzz{zz|{{z{||{{zzz{zz{{|{|{|||z{zz{z{{{|{|{{{|{{{z{z{{{|||{|{|z{|{{{{{||{{|{||{zz{{{{{{{{{||{|{{{{|{{z|{{|||||{{{z{|{{{|||||||{{|{z{z{{|{{|||}{|||{{|{{||}{||{|{|zz{|{{|{|{||}}{z{{z{z{||||{||||{{{{{{|{|{{||||{{{{z{{||{|{{}|{{{{{{{{~|||||}{|{{z{z{{{|{||{{|{{{zz{z{|{|{{{||{|{{{zz{{{|{||z{{{yzzz{zz|{{}{z{zzz{{{zz{{{{{|||{z{z{zzz{|z|{{|{{{z{zzz{{{||{|||{{|zzz{z{{|{{|{{{{{z{{zz{{|{{z{{|{z{zzzz|{z|z|zzzzzz{{yz{zz|z{{zzzzzzzzz{z{zz{{zzzzzz{zyz{{{{{{{{{{{zz{z{{{|{|z|z{z{{zzz{{{z{{z{{{{{{{zzz{{z|{{{{{{z|{z{{{{{{{{|{{{zz{zz{{{{z{|||{{zzzz{|{{|{{||z{{{{z{{{{{|{||{{{{z|{{z{|{{||||{z{{|{zz||{|||||{{{{z|z{||{{z{{{{{{{|{{{{{|}|||{|{{{|{|{||||{|||z|{|{{{y||{||{|{|{{{zz{z|||}|||||{{||{{{||}||||{||||{{{{|}}||}||||{|{|z{{}||{}{{{z{{{|{{|}{||||}|z{{{{{{|{{|{|{{{z{{{{zz{||}{||{}{{{{zz{{||||{|{{{zz{||y{||{||{zz{{{z{zy{z|{z{{{{{zyzzz{|{{{{}||{zzzz{zzzz{||{{{{z{{z{{z{{|{{|{{{{{zzzz{zz{|{{{{{{z{{{z{{{{{{{{zz{z{zz{{{{{z{{|{zzz{yzzzzz{{{{{{y{zzzzzzz{{{{{{{{zzyz{zz{{{{||z|zzzzz{zz{{z|z||{{zz{zyzz{{{{|||{{zzzzzzzz{z{{{|{{zz{{{{zz|{{{{|{{{{z{zz{{{{{z{||{zzzz{{|{|z{{{||{{{{z|{{|{{{|||{{{{z{z{{{|{{||{{|{{{{{{{{||||{|{|{{{{z{{{||{||{{{{|{|{{{|{|||||{{{{{{{{{||z|||}}{{{{{y{z{|{}|{||{z{{{{{{||||{||}{{{z|{|{||{{|}||{{z|{z{|{||||||}{{||{{{z}{||{||||{{{{z{{|||{{{|}{|{{|{{{||{|}{||{{{|{z{z{{||{|||{{{{{{{{|}||{{|{{|{|{{{z{{{{{{{{{zzz{zz{z||{z{{{{zz{{zzz{{{z{||{|zz{{{{z{z{y{{{{{zzz{zzz{|{{{|||z||zzz{yzz{{{{{|zzz{z{|y{{{{{z|{{z{z{zzz{{{{z{{{{{zzzzzz{z{{{z{{zyzz{zzz{{{{{{{{zzzz{{z{{{}{{z{zz{{zyzzz{{{{{{|{zz{z{{zzz{||{{{{{zzzyz{z{{{z{{{||z{{y{zzz{{|{z|{||{{{z{z{|{{{{{|{{{{{zz{|z|z{{{{z{|z{{{{{||{{{|{|{{|{z||{{{|{||{{z{zz{yz||||{{}{{{{{{{{y|{{{{{|{{{{z{{{{|}{{||||z{{{{{{{||{||||{z|{|{|{{{{||||||{|{{{z{z}|||||}||{{{{{{|{||z||||{{z{{{{{{||||}|}{{||{{{{||{}{||||{{z{{z|{{|{||}||{{{|{zz{|{|{{{|{z{zz{{z|{{{{|||{{z{z{{{|{{|{{{{{{|y{zz{{{{{|{{{z{zy{z|zz|{z{{{{{{zzzz{{{{{{{{{{{zz{zy{{{{{|{{||{z|z{{zyz{{{{|||{{zz{z{z|{z{{|||zz{{z{{zz||zz{{{{{{zz{zzz{|{z{{{z{zzzzzzzzz{{{{{zzzyzzzzz|{{{{{{{z{zzzzy{z|z{{{|{{{zzy{z{|{{z{{{{zy{yzzzz{{{||z{{{{yzzz{{zz|{{z{{zz{zz{z{{{{{||{{z{{zzz|{|{|{{{{{z{zzzzz{|||z||{zz{{zzz{{||{{||||{{{{x{{z{{{{{{|||zz{|z{{{|{{{|z{zz{zzz{{{|{{|{{{{z{|{{z{{{|{||||{{{{{{z{{||{|{|{|{{{{z{{{||{||{|z{{{z{||{}{||||{{{{{||{{{{|||||{{z{{{{||}|{{|||{{zz{z{{|{|}|}}|{z{|z{{{{{|{{{||{{{{z{{{{{{}|||}{|{zz{{z||{{||||{|z{{{z{{{}{{{{{zz{{zzzz{{{zz|{|{{{z{zzz{{{{|{{|{zzz{{{y|{{{{|{||{{zz{{{|{z{z|{{{zz{{z{{{|{{{|{{|{zzzzz{{{{|z|{|z{z{zz{{z||z{{{z{{z{z{{{zz{z{{{{{{{{{z{z{{{{z{{zzz{zz{{zz{|{z|{{{zz{zzz{z{|{||{|z{z|z{yzz|{{{{|{{zz{zy{zzz{{{{{|{{{{zzz{z{{{||{{{zz{{z{{{{{|z{|||zzzzz{z|{{|{{}{|{|{{z{{{|{{|{{|z{{zz{{z{{{||{{|{{{{{z|zz{{|{|||{{{{{zz{|{|{|{||{{{z{{z{{{|{{|{||{||{|{{|{{|{{||{|||{||{{|{|}|||{z{||z{|{}}||{{|{{{{{{{|{}{{|{|}{{||{|||{||{}|{||{||{||{z}||||||{{||{{|{|}|{||||||{{{||{||{|{||}{|{{|{z{|||||||}||z{{{{{|{{{{{|}||{|z{{{{}||||{|{{zy{{{{|{|{|{{|zz{z{z{z{{{{{||{{{z{zy{z{{|{z|{|z{{zz{{{{{|z{|{{{{{zzz{{{|{{{z}|{zzzz{zzzz|{{{{{{{{zz{{z{{{{{{||{{zzz{{z|{|z|{|{{zzzyzz{{{{|z{|{z{{{zzzyzz{{z{{{z{y{{zyzz{{|{{{|{zzzz{zzz{z|{{{|{{z{{y|z{{{{zy{|{z|{zz{yz{z{{{z{z{|zz{{z{{{{z{||z{{{z{{{{{|z{||{|z{{{{{z{|{|{|||{{|{|zzz{{{{{{{||z{{{{{z{|{{||{{{|{yzz{z{{{|z{|||z{}{{{{{||{|||{z{|||zz{{{|||||{||||{z{|||{|||||z{z{zz{{{}|||||||{{{z{{{|}|||}||{{{{{{|{|||{||{{||||{{||{}|{{|}||{{|z|{{|||{|}|}|{{{{|{{{}||||}}{|{{{|{z||||||||{z{z{|{z{|{|{|{|||{zzzzz{|||{|||{{|{z{{{{|||{{|{{{zzzzyz{{}{{{|{z{zz{{zzzz{{{{||{z{z{z{{|{|{|z||{{{{{z{{{{{|{{|{{|{zz{zz{{{{{{{||z{zy{{z{{{{{|{{|z{|zzzz{{|{{{{z{z{{z{{{{{z|{{z{{{yzzzz{z{{z|{{{{zz{{zzz{{|{||{|{z{{zzzz{{{{{|{|{zz{{zy{z{{z{|{z{zzzzzz{z|{{z|{{{{zz{zzz{{{z{{||{{{z{{{|{{{{z||{{{{{{{{z{{{|{|||zz|z{z{{{|{{{|||{{{{{{{{|||{{||{{{z{zyz{||}{{{|z|{{||{z||{|{|{{|{{z{zzz{|{|{}}{|{|{{|{|||||||{|||{|{z{{{|||{{}|||{||{{{{|}|||}||{{{}|{{{||}{|||||{{|{|z|{|||||}||{||{{}||||||||{}{z{{{|||}|{{|}|{{{{|{{|||}|}||}|{{{{{{z{||||}||{{{zzzz{z{{}||{|{{{{{{{{{{{{{{{zz{yzz{zz{z{z{||{{{{{zzz{{{|z{{{{{yz{z{z|{{{z|{|{{{zzz{z{{|z|zz|{{zzzzzzz{{{|||{{{{z{zzzz{|{{z{{z{|{{{{|z||{{{{{z{{{zzzzy|{{{{|{|zzz{zzz{{{{z|{{{zzzzzzzz{{z{{{{{{{zyz{{z{{{{{{{zz{zy{z{yz{{{{z{{{z{{{{{zz{z{z||{y{zz{z{z{{z{z{{||{z{{z{{{||{y{{{{z{zyz{{zz|{{{{{{{{zz{{z{{{{{|||{{z{{zzz||{|||||{zz{zz{z{||{|{|{{zzzz{{z|{|{|||{{|{z{{{{{{||{||{{{{{|{{{||{|||||{z{{z{z{||}{|||{|z{{||{{}}||{||}}|{|{{{|{||{{||{|z{z{z}{|}{||||||z{||{|{|{{|{|{}|z{{{{{z{||{||||{{|{{{{{||{|||||{{|{{{{|{|||z|z|{{{{{{{{z|{||||{z{{{{{{z{z{{zzz{{z|{{z{z|{{|{{{|{z{zyz{{{{{z{{|{{{{zzzzz|{zz{{{{{zzz{zz|z{|{{|z{{{{zzz{zzz{{{{{|{zzzyz|{{{|{z{{zzz{{{{zyz{{|z|{{{{{zz{zz{{z{z{z|{z{{{zzz{{{{{|{{z{zzyzzz|z{{{{{|{{{z{{zzz{{{z{{{zy{zzzzzz{{{|{{z{zzzz{zzz{z|z{z|zz{{{zzz{|{|{{|{{{zzzzz{{{z|{{||zzz{z{{{{{{{{{{|zz{zzz{{z|{|{|{|{z{{{zz{{{{|{|{z|{{{{{{z{|{||{|||z{{{z{z{{{{|||{{{zz{{z{{|{||{||{{{zz{||{{{|{}||{{{{{{{z{}{||||{|{{{z{{z}}{||||{{{{|{|{{{{{|{|||}{|{{{{zz}||||}|{||{z{{|||||{|{|{{{|||{z{|||}|}||{|{|{{|{|{|{|||||{{{{{{||||||||{zzz{{{{{|{{{||{z{{zz{{z{{{|{{{{zzz{{zzzz{{{{{|z{zz{z{zz{{{{|||{{{{{zz{z{{{{z|||{{z{z{z{{z{{z{{|{{z{z{zzzz{z{||{{{{{{zzzzzz{z{{{{{{{{{z{|{{{{||{z{{y{{zz{{z{{{{{zzzzzz{z{{{{{{{{zz{{{{{z{{|{|{|{|{{|zzy{z{{{z{{{{z{y{z{yz{{{{{{zzz{zz{{z{{{{|{{z{z{{{{z{{z|||{{|{{|{z{{z||{|||{||y{{zz{{{||{{||||z|zz{{z|z|{|}|{{{{z{{{|z||||{|||z|{|{{z{||{z||{z{{{{z{{|{{{{|||{z{{z{||{{||{||{{{{{{z|{|{|}|}}}{|{|{{{z}||||{{||{{z{{|{|{{{|{||{{{|{{{{|||{{}}|||{{{|{||~|}{||||{{{z{{{|||||||||{{{{|{||{|||{||}{{{{|{{{|||{|{|zz{{{{{{z|{||z||||{||{{{{{{|||||{{|{z{{z|{{{{{{{z{zzzyzy{|{{{{||z{zz{yzzz|{{{|{|{|zzzz{{{{{{{{|{{z{{zzz{{zz||{{{{{{zzz{z|{{{{{{|{z{zz{{{z{z{{{{{{zz{z{zzzy|zz{{{{{zyzzzzzzzzz{{|zzzzz{{zzz{{zzzzzzz{zzzz{{{|{|{|{z{zzzzz{{{zz{{{{zzz{{z{zzzz{z{{{y{yy{zz{|{zz{{{z{zz{|{zzz{|z{{{zyy|{zzz{{{{|{{|{zz{{y{{{z||z{{|{z{zz{{{zz{z{{{{{zz{zz{{||z|{{{|{|{{y{zz{{{{{||{{{{{z{{{|{|{{{{|{{z{{{zz{{|||}{{{{{{{{|{|}{||}||{|z{|zz{||{||||{|z|{{{|{||{{||}{{z{{{{||{|{|{}|}|{||z{{{||{|{}|}|z|z{{{{|{}{||}|{z{{{{{{||{||}{|{{z||{{{|{|{||}||{|z{{{{z|||{}|{{|{{|z|z||||{{|{{{{|{zz{{{z|{{z|zzzz|zzz{{{{{{z|yzzzzz{y{z|zz|{|{zzzzzzz{{|{{{{|{z{zzzyz{|{|z{|zzzzzzy{z{{{{{{{{z{{yyz{{{|z{{|{{{{zzzz{{z|{{{{z{{{{zz{z{zzz{{{{|{yzz{zzz{{{zzz|z{zzyyz{{{z{{{{zz{z{zyz{{{{z{{z{{zzz{{{zzz{z{{{||{z{zzz{zz|{{{{{{{z|zzzzz{z{{{{{{z{zz{{{z{{{{{{||{{zzzz|z|{{z{}{}{z||zz{{z|{|{{{{{{|{zzzzz{{|{||{zz{z{{z{{||{{{||{zz|{{{{|{|{z{{{z{{zz{{||||}|||{z{|{{{|||z{|{}|{{{{{|z{{{||{{{|{{{{{{|{{|||{||||||{{{||{|z{|}|{||{{{{{|{{||{||||{{{{{{{{|{|||}|{{zz{{{{z|||{{}|{{{z{|{{{{{|{||||{{{z{{z{|{{|{|||{{{{zzzz{|{||{||{{{{zz{{{{{{{{{{{z{zz{{{{|}|zzz{yzzzzzz{{{z|||{{{{{zy{{{{z{{{{|{{{zzz{zz{||{zz{|{z{{zz|z{{{{{{{{z{{zy{{z{{{z|{{|{z{z{{z{z{{{{{z{zzz{z{zz{z{{z{{{zzzzzyzzzz{zz|{{zzyyzzzyzz{{|{{{zz{z{zzzzzz{zz||{{zz{zzyz{zz{{{z{zzz{zzz{{{z{|{{zyzy{zzz{{{{{|{{{z{z{yz{{{{|{{z|{z{zzz{z{z{|{|{{z{{{{{{{|{|{{|}|{{zz|{{z{|{{{}{{{{z{{zzz{{{{{||z{{{{{{z{{{{z{||{|z{z{{{{{{{|{|{|z{{zz{{z{|{|{{}}{z{{{|{{{{}|{||{|{{{{zz{|||{||||{z|{{{{|||{{|}|}|{{{{{z{{}||||{||z{{{{{|{||{||}||{{z{{{{|{{|{||||z{{zz{z|{{|||{{{|{z{{{|{{{|{|{{|{z{zz{z{{{{{{}|{z{zz{{{{{|{z{|{yzz{{zzzz{{zz||{z{z{zy{{|{|{{||||{{{{zzz{{{z|||{{{{zzzzz|{{{{{z{|{{{y{zz{{zzz|z{{{|yzzzz{||{{|{{|{{{zy{{{{{{z|z{z{zzzzzz{zz{{|{|{zzz{{zz{{{z{|{|z{zyzz{z{|{{|z{{zzzzy{{zz{{zz{||zz{zzy{zz{{{{{z{{zz{{y{zz{{z{||{zz{{{z{z|{{{z|{{{{z{zzz{{{{|{|{{{z|zzz{{|{z{{{{|{z|z{{zy{{||{|||z{|{{{|z{{{{{|{{z{{z{{z{z{||||}|{{{{{{z{{{{{|{|||{{{z{{z|{||{|||{|z{z{{{{}{||{|{{zz{{{|{||||{||{|z{z|z|{||{z}}||{{{zz||{{{|||}|}}{{|{|{|{|{|{|||{{{{{{{{{{||}|}|{z{{z{z{z||{|{||{{{{||||{|||{|}||{{{{{z{{z||}{|}|{{{{{z{{|{|{{}{z{|z{{|{{|{|{|{{z{zzzz{zzz|{{|{{z{z{zz{zz{{|{{{|{zyz{{z{{z{|{{{|{z{{{zz{{{{{{|{{{z{zzz{z{{{z{|{{{z{zzzzzz||{||{{{z{{zz{z{{{{z{{{{z{z{zzzz{y{z{{z{z{{zz{z{|{{{{{|zzzzzzyy{|z{{|{{{{z}zzzz{{{{{z|{{{z{zz{{{{{{z{{{{{{z{z{{{{{z{{{{zy{{{{z{{{|||{{{{{z{z{z{z{||{z{{{{{z{zz{||{{{{{|z{{z{{{{|{|{|{|}|{{{{z{{{|{|||{z||{{zz{{{|{||{}{z|{{z|z{{{{{{|{|{{{{zz{{{{{||||{{{{{|{z{||||{|}||{{|{z{{|{}||||{{|{{z{{||||{|{||{{||z|||{{{|{|}|}{|{|{{{|||{}||||{{{{{{{}|{}{||||zz{{|{{|||}||}}{{{|||{||{{}{{|}{{|zz{z{z{|{||||{{{|{{{z|{||{||{{{{{z{{{{z|z|{|{zyzzzzzzz||{{{{|z{zz|{zzz{{z|{{{z{{zz{{{|z{{|}|{}{{z{{z{{z{{{z||{|z{zz{zz{|{z{|{{{zzz{{z{{|{z{z{zz{z{z{z|{{{{{{{{zz{{zz{{|{{{{{|zzzzzy{zz{z{z{|{zy{{{zyz|{{|{{{{{{z{zz{{{{|{{{|{{z{y{zzyz{z{{{{{zy{y{{zzz{z{z{||{z{zz{z{{|{{{{||{{{z{z{{z{{{|{{{{y{z{{{z|{z{{z|{{{z|{{{{z{|{{{||{{{{{z{z{|||{{|{|{z{{{{z|||||z|{{{yz{{{|{|||{}{||{z{{{{z{|{|}{{|||{{{{{z|{{|||{{|{{|{zz{}||{|{{|{z|z{|{|||||{{{||{{{|||{{}}||||||{{{z{|{{{|||||{{{{|{{{{|}|{{}|||z{{{z{{{{|{|{{|||{|{{y|||{||{|||{{z{{{{{|||||||||{{z{z{||{|{{||{z{{zzzz{||{{{{|zzz{zzz{z|{{||z{{z|zzzz{{{z{{|||{{{z{z{z{{z{{{{{{z{zz{{z{{{{z{||{z{zzz{z{||{{{|||zzyz{{zz{|zz{{z{z{z{z{z|{|z{{{{{zzzzz{z{{zz{{z{{|{z{{zz{||{{{{{|{{{{{z{z{{{{{{|{zzzzzz{{|{{{|{|zzzzzz{{z{|{{{|{z{zzz{zz{{{{{{|{y|{zz{z{{{{z{z||{zzz{zz{|z|{|{||{{{z{{|{{{{{{{|{{z{{zz{{|||{|{|{{{|{zz{{{|{{|||{|{|{{{|{{{|{|{|{{zz{{{|{{{{|{||z}{{{{{{z{||||}||{{|{|{{z|{||{|}||{{||{{|{|{|||||}z{{{{{{||{||}|}{{{z{|{{|{{{||{{|{||{||{{}|{{}{||||{{{z{{|||||{||{{{|{|{|{{||||{||z|{z{{||{}{{}|||{{{|{{{{{{|{{|{z{{{{{{{|{||||{{{|{|{{{|{{|{z{{{z{z{zzzz{{{z|{|zz{z|yzz{||{z|{{z|z{zzzz|{{{{{|}z{{{{z{zz||{{z{{{{z{yzzz{||{{|z{{zz{zz{{z{|{{{{z|{{{zzzz{{{{z|{{{z{zz{zzz{{{{{{|zzz{{zzzy{{{{|{z{{zzz{{{z|{{||z|{{zzz{zzzz{{{{{|zzyzzzzzzzz{z|{{z{{zzz{{{{z{|{||zz{|z{{z{{{{|||{zz{{zz{zz|{{|{{|{{z{{{{z{{||{|{|{{|{{{zz|{{|{{|{|z||{yzz{}||{|{{{{|{z{|z{{|{||||{{z{zzzz{|||{|||||{|{{{z|{{||||{{|{{|{{{{z{}{||{{{{{zy{{{|||{|||{{{z{{z{}{||{{}|{{{{{{|||z{|||}}|{{|{{|{|}{|{||}|{|{{{{||{|{||{{{|{{{zz{{|{{||{||{|{|{{||{||{|}|{||{{z{{{{||||||{{|z{{z{z|}||{||{{{zz{zz{|{{|{|{z{{{{zzz{{{{{{||zz||zz{z{{{{|{||zz{|{{z{{z|{z{{{{z{zzzzzz{|{{{|{{zzzzyzz{z{zz{{|zz{zzzzz{z{z{{{{{z{yzzzz{z{zz{{{{{{zzzzz{{z{{{{z{z{zzzzz|{z|{{{{z{z{z{zy{{{{|{|{{{zzzyyz{{|z{z||zzzz{{z{z{z{zz{{{{zzy{zzz{{z{{{{z{{z{zzz{{|{|{{{{zz{zz{{{|{{{z{{{z{{{z{z|z{{{{{{{{{{zz{zz{|z||||{z{{|yzzz{{{{|{||{{{{{{{|{||{{|{z{{||zz|{|{{||z{{{{z{z|{|{{||||{||{|{{{|{{||{|}||{z{|z{y|{{{{||||z{{{{{{|||{|{|}{{{z{{|{{{{||}}|||z{{|{{{|||||}|{|{{{{|z|||{||}||{z{{{z|||{|{|||}{{z|{{{|{{{|{||{{{z{|{{|||{{|||{{z{z{{{z{|||{{{z{zz{z{zz{{{|{|z{z{zzyzz{{{z{{{z{zzzyzzyz||{{||{|yzz{z{z{z{z{|||{z{zzzz{{z|{{{|{{{{zz{{z|z{z||{{{{zz{z{y{{z{{zz|z{zzzzzzz{|z{{{{z{y{{z{zz{z{{{{{z{{yzzzz{z{z|{|z{z{zzzz{{{|{{|{{z{z{zzz{{{{{{{{|{{z{z{yzy{zz{{||{zzzzz{{z{{{{{z{{{z{{{zyz{{{{{{{|{{z{zzz{{{z{{||{{z{zzz|{|{{{{{{{{{{z{{{z{{{||{|{{{{{{z{z{{{||{{{{z{z{{{{{|{{{||z|{{{{z{|{|||||{{{{z{{z||{|||{||z{{z|{|{|{{||||}{{zz|z{y{||{|}||{z{{|{{{|||{||||{z|{{}{||{|{|{||{{{{{|{|||}|||}}{{{{{{||{}}{|}|{z{z{z{{{{|{||||{|{{zz{||}}{||{{||{{zz{{|{{||{{||{{z{z{{z{{}|{|{|{zz{{{|{{{|zz|{zyzzyzz{{{{{|{z{{{zzzzzyz{zz{{{|{zz{z{zzzz{{{{{|zzz{{z{z{z{{{z{z{{{zz{z{z{z{{z{{{{{{z{zyz{z{zz|{{z{zz{zzzz{{{z|{zzz{{zzz{{zz{{z{{zzzzzzzyzz{{z|{z|z{yzzy{zz{{{z{{zz{{y{zyz{{{z{{{z{zzzy{zz{{zz|{z{zzzz{zz{z{|z|{{{zzyz{zzz{zz{{{{z{z{zzz{{{{zz{|}{yz{y{{{{{{|{{{|z{yzzz{{{|{{|z|{{{{{{z{{z||{{{{zzzzz{{{z{{|{{{|{zzz{z{y{{|{{||{{{{{z{z{z||||{{||z|{{{{|{{{{|{|||{{{{{{zz{|||{||{{{|{|{z{||{{{|||{{z{z{{{{{{{|||||{{|{{|||}|||{||{{{{zz{{{z{{{|{{{{{{z{{{{{{{|{|{|{|{{{{{|{{|{{{||{{{{z{{{|{{|}{{{{z{z{{zz{z||||{{z{{{zzz{{{z|{{zzzzzzzz{{{{{{{{|{z|z{yzzz{z|{{{{{{zzyz{zzz{zz{|{zzzzzzzy{z{{{{{|z{zyyzzz{|z{{|{{y{{zz{zzz{{z{{{{z{{zzzyz{{{z{|{{zzzz|{zzz{{z{z{{zz{y{zyz{{{{zz{{z{y{z{z{{{zz{z{{zzzzzz{z{z{}{{{{zz{zz{zzz{|{z{{{{zzz{zzz{z{z{{{{zz{yzzz{z{{{{{|{{zzzzzzzz{|{z{|{{zzzzzz{{|{|{{z{{{|zzz{z{z{{{||{{z{y{{zz|{|{{{{{{{{zzzz{|{{{||||{|z{{{z{{{{|{{|{z{z|{zzz|{{|||{|z{{{|{{{|{{|||}|{{{{z{{z{||{{{|||{{z{{{{|||{{|{|{{|{{{|{{{{||{|||zz{{{{z{|{||{}}|{z{zz{z|{{||||||{|{{{z{||||{||}||{z|z{{{z{|{{{|z|{{zy{zz{zz{{|{{{z{{z{z{{{|{{{z|{{{zzzz{{{{|{{{{{{zzz{y{{{{{{{|zzy{zz{zz{|||{|{{z{z|z{{{{{{{|||{z{z{zz{{{{{{{{{{{zz{zzzzzz{|{|{zzzzzzz{z{{z{{|{y{{{z{zz{z|zz{{zz{zzzzzz{{|{{{{{y{{zzzyzzy{z{{|{zz{zz{z{z{{{{{|z{z{zz{{z{{|{{z|{zyzz{zz{{{z{z{{{zyz{zy{zz{{{{{}|{z{zz{z{|{|{|{|{{zz{{{{z{{z{{{{{zz{{{yz{|{{|{{|{{zz{z{{{{|z{{|{{zz|zzz{{{|{|{|{z{{{{{{{{{{|{{{|{{{|z{{{z{|{{{}||{|{{{{{{{{||z||{{||{{{{{|{{{|||{z{z{{zzz|{{{{{|{|y{{|z|z{||||}{{{{{z}{{{{{{z|||||{{{{|{{{||{|||||{{{{{z{{||||||||{{{{z{{|{{|||}|||{{{{{|}|||{|}{{{{z{{|||{{|{|}}{{z{{|{{{|||z||{{z{zzz{z{{{{z{{{{{y{{z{zy{|{zz{|zzy{{zzz{z{{{|{{zy{zzz{z|z|{|{}|yz{y{zz{{{{{{z{{z{{zzzz{z{{{{{{|{{{zzz{z{|{{z{{{{y{{{{{zz{{{z||{zy{zz{y{zzz|z{z{z{{z{y{zz{{zz{{{z{z{zzzz{{z{{{z||{zzzzzz||{{{{{||zzzz{{z{|zz{{z{{{{zzzzz{{{zz{{{zzzz{{zzzz{{||{{{zz{{y{{z{{|z{{|z{z{z{{z{|{{{{|}{z|{{{z||{{|{|{}{{{{|z{z{{{{{z||{{{{{{{{||{{{|{|{y|{zzz{||{z{{||{{{{{{}{||||{{|}||{|{{z{{|{|{||||{{{|{{z||{|||{||z{{{{{{||{|||}|{|{{{{z{{z||{|||||{|z{{{||||{{{}{{{|{{{{||{|{||{|{{{{{|{{{{|||||{{{||z{{||||}|{|{{z{z|{z{{{{z|}{{{{z{{{{{|{||{{|{{{zz{z{{|{|||||{{{{zzzzz{{{{{|{z{{{zz{z{z{zz{{|z{zz{zzz{{{z{{|{{{zyz{zz{z|z{{{|{z{yzzzy|z{z{|{{{zzzz{{z{{zz{|{{{zz{zz{y{{{{{z{{{{{yz{z{z{zzzz{{zzz{zzzzzz{{|{{z{z{{zzz{{{||{{|{{zzz{zzy{{{{z{{|zzz{{zzz{{{{zz{{{{{z{{{zz{{{{{|{z{zzz{zz{|{{{{|zz{{{{z{{{{{{{{||{z{{zz{{{|{{{{{{{z{{z{|z{{{{|{{{{{z{z{{z{{||{|{||z{zz{{{{|||{|}{z{z|{{{{|||z{|{{{|{z{{{{{|{{||||{z|{{{{|{|{{{||||z{{{{z|{|||{{|{|yz{{z{||{}|}}}|{{|{{{{{||{}|||||{{{{{{{{}|{|}|||{}|{{{{{||{|{|{{|{{{{{||{{{{||||{{z|z{|{{{|||{|{zz|{|{z{|{|{|||z{{z{{|{{|{{|||{{{|zzy{{{{||{{{{{z{zz{zz{zzzzz{{z{zzzz|{z{||{{{|{z{zz{{zz{z{{{{|{{z{yzy|{||{{{|{{z{z{zz{{z|z{{{|{{zz{{zzz{z{{{{{z{{y{{{z{{|z{{{z{zzzz{zzz{{z{zz|zzzzzzzz{{{z{{{{{zzzy{yzzz{{{{|{zzzzzzyzz{{|{{{{zzzzzz{yz{{z{{{{z{z{z{zzzz{{{|{{{z{zz{zz{{{z{{{|{{{z{z|{{{{{{||{{y{{{zz{{{z{{{{{{z{{{z{{{{{{|{{|{z{{{z|z{|{|{|}{{{{{{{zz{{|{{{}{{{{{{{z{{{|||{zz{zzz{z{||{||||||{|z{z{|{{{||{|{|{z{zz{zz||{||}{|{z{z{{{z||{{}|{||{z{{|{{{z|||{|{|{|{{{|{{|{|{|||}{{{{{{{||{{{||||z|{{{{{{{{{{|||zz{|{{z{||{{{{{|{{zz|{{{{|{||{{||zzz{zz{{{{{}{|{{z{{zzzz{z{{|z{|zzzzzzzzz{{z{|{{z{{z{zzy{{}{{{{|{{{{zzz{{|z{z{{|{z{|{z{z{{|z{z{{{{{zzzzz{{{{{{{{{zzzz{yzz{zz{||{{{{{{zzzzz{{{{{{zz{z{zzzzzz{{{z{yz{zzz{yz{z{{{{zzz{{zzyzz{{{{z{|{{zzyz{z{{z{{|{|{{z{zz{yz{|z{z{|zzzz{zzz{{z{{|{{{{{z{{z{{z{{{{||zz{z|z|{{||z{{{||z{{zzzz|{||{|{|{z{z{{{{|{|{|{|{{{zz{z{{{|||{{{{{z{{{{z{{|||{{||{{{{{{{{|{{{{|{{{{{{|{{{{{||||{||{{z{zz{z{|{|}{||{z|{zzz{||||}|{|{{{{{{{{|||{|{|{{|{{{{||||||{|||{z{|{{z|}|||}|{|{{{{{{{|||||||{|{{|{{|z{|}|{||}|{{z|{z|{{|||}|}{|{{zz{z{|{||||{|{z|{{{z{}{{{{|{{{{zz{zz{zz{{{{zz{zzy{zy{z|z{z{|z{zz{{zzz{{{{{|{|z{zz{z{{{z{{{|{{yzzzyzz{z{{z{{|{{zzzzzyz{{{z{z|{{{yzyyxz{{z{|{zz{zzzzzzzz{{z|{{{{zyy{{z{z{z{z{{{y{zzzzzz{zz{{|z{{zzzyz{{{{{{{|{zz{zyy{yz|{{{{{|{z{zzz{z{{yz{z{{zzzyyz{zz{{z{{{|zyzyzzzz{{z{{{{|{zzzzzzz{{{|{z|zzz{zzz||{z|{||{|zz|{z{{y{{{z|||{z{{{{{z{y{{{z{{{zz{{{z{z{|{{{{||{z{{|zz|||{z{{{{|{zy{{{{{{{{||||||zz|{z{{{{{{|||z{z{zzz{z{||||||}{{{{{{|{}|{{|||{{{{{{|{{{z{z}{{|{{{{{|{{}|{}z||{z{{|{{{{||{{|}|{z{z{z{{{{|}|{{{|{{{||{z||{||{||{z{y{z{zz|{{{|}|{z{{{z{{{{|{{z{|z{{{zzy{{z{{z{{{zz{{yz{y{{{{z{z{zzzzzy{zz{{{{{{{zzzzzzzyz{z{{|{{|z{yzzzzzz{{{{||yzzzz{{y{z|z{|zz{yzyzyz{{{|{{{|zyz{zzzzz{||z{zzzz{zzzzzzz{z{y{z{z{zzzzzz{{|{z{{{zzzyyy{{z{{{{{{{{zz{zyzz{{z|{{|{zzzzzyzzz{zzz{{{zzzzzzz{{|z{{z{|zz{zzzzyz{{z{{{{zzzz{{zz{{||{z{z{zzzzzzz{z{{{|z{{z{{z{y{|{|{|{|{{{zz{z{z{|{|{{{{{{{{z{{z{z|{{|||{{z{{{z{|{{{|{{{{{{{{{{|{||{{|{|z{{z{y|{|{{{{{}}z{z{{zzy||{||||{{z|{{{zz{}|{||||{{{{{||{{{z{|{{||{{{||{{z|||||{||{{{{zz{||{|||{{|{z|z{{{{|{||{||{{z{{z|{|||{|{||{|{yzzzz{{|{{|||{{{{{{{z{}{{{{|{{z{{z{z{z{|{z{{{zzzzzzzzz|{{|{{{z|zzz{yzz{{{z{{{{zyy{zzy|{{{{z{{{{z{zyzz{{||{{{{z{yzyzzz{{|z{z{{{{{zzzzzz{zzz|{z{zzz{yzzz{{{{{|z{z{y{zz{z{{z{{{zzzz{y{zzzzz{zz{zzzzzz{zz{z{{||{{z{{{yzzzzz{|z{{{{zzzyzzz{{z{zz{{{z{zyzzyz|{{{{{z{{{zz{z{{z{{{{{z{{zz{y{{z{{{z{|{zz{{z{{zz|{{{|||{{{zzzz{{z{{{|||{{z{{yz{{|{|||zzz{{z|zz{{|{z{{|{{zzz{z{z{{|{z{{{z{{{{{{{z{|||{{||{|{{{{{|{{{{||}{{{z{{{{z|{{{|{|{{{|{z|z|||{{||{{{{z{{||{{|{{||||z{{||{|{||||||{{{{{{z{{||{{||{{{z{{{{{{{z{{|||}|{{{{{z|{zz{{||{z{{{zz|{{{{z{|||||{{z{{z{{{{}|{{{z{{zz{z||{z{|z{{{zzyzzyzz{{{{{|{{z{z{zz{|{zz{z{|zz{yz{{z{yzz{|{{zz{{z{z|{z|z{{{zz{{zz{z{zz{z{{|zzzz{{zzz|{zzz{{zz{z{{z{zz{|zz|{z{zzx{zz{{{{{{{{z{z{zyzz{z{{zz{|zzyz{zz{{{|{{{}|y{{zy{zz{zz{{z{|{z{zy{zzz{zzz{{{{z{{{zzzz{{zz{|zzzzzz|zz{|{{{{{{{{{zzz{z{||{z|{{zzz{{zzz{{{|{{{{z{{{{z|z|{|{{{||{{y{z{yz{|{|{||z{z{{{{{{||{{|{}{zz{z{zz{{||{{{{{|{{{{|zzz{|{{{||{{|zz|{{{{{|||||{{{z{|z{z{}{}{|{|{{z{{{z||{||{||{{{{||{{{|{{{||||{{{|{{{{||z||}|{{{|z{{|||{{|||{|{{}{{{{||{|{|||{{{{{{{{z{{||{||z{{{{|{|}{{{|{|{{z|zz{|{{|{{||}{|zzz{z{z||{{z{{z{z{z{zz{z{{zzz{{{zzzz{zz{{{{{|{|{z{{z{zz{z|zz{|{{zz{{yzy{{{{{z{{z{{zzz{z{z{{z{{}{zzzz{{zz{{zz{|zzyzy{zzzzz{zz{{zzzzyzzzy{z{{{zz{zyzzzzyy{z{z{|{z{zxzzzyz{z{{{{{{{z{zyzzzz{{zz{{{{{zy{yzyzzz{{{{{zzzzzyzzzz{z{{{{{{zzzzzzzz|z{z|{{{z{{zzz{{{|{z{|{zz{zz{{z{{{|{{|zzzzzyzz{z{||{{|{z{{{z{{zz||{|{{{{{{zz{y{{|{{{{{{z{{{{{{|{|{{{|{|{{|{|{z{{{{{||{z{{z{{{{{|{||||z{{z{|z{z{|||{||{|z{{zzz{||{{{||{zz|z|{{{{|{|||{|{{{z{{{{{{||||||{{|{{{{{{{{|{}|{{{{{zz{{{{{{|{}||{{|{{z{|||||{||{{{{{{{zz|{{{z|}|{{{z|z{{||{{{{|zz{{{z{z{{{z|{{zz{{zzzzz{{{z{{|{z{zz{zz{zz{{z{||z{yzzz{zzz{{||{|{{{{zz{z{{{{zz||{z{z|z{z{{{{{{{{{z{z{z{zz|{zz{{{{zz{{zzz{{{yz{{|{{z{{zyzzz{|z{{{{z{zyzzz{z{{z|{y{{{z{zyz{z{z{{{{{zzzz{zy{{z{{{z{zzzz{zzzzzzz{{{zz{yzzy{{{{{{{z{{{zz{{{zz{|{|zz||{zzyz{{z{{{{{|z{{{z{z{z{||{{{|||{{zzz{z{{{|z|{{{{{{{{zz{{{||{{z|z{zzzz{{{|{{||z{{{{{z{{z{||{{{{{z{{{zzz{{{{{|{||zzz{{||{|zz{z{||{{{{{zy{zz|}|{|||z|{zz{{{|||||||{{{{{{|{{||||||{|{|{{|{{{|||}|{||z|{{{{{{|}{{{|||{{{{{{{|||{||{|{{{{z{z{{{{}|{||{{zz{{{{{{|{||{|z|zzzz{z{|{z{||{{{{{{{{{{||{{|z|yzzyzzz{{{{z|{{{zyzyzzyz{{z|{z{|{{zz{zzz{{|{{|{{|yz{zzz{{{|zz{{|{zzzyzzy{{{{{{{{{zzz{{zz{zz{zz{}{{{zzy{yzzz{{|{{zz{zz{{zz{zzzzz{{z{zzy{z{{z{{{{z|zz{z{zzzz{z{{|{zzz{zz{zz|{{|{|{zzz{zz{y{z{{{{y{{{zzzzzyz{{{{{{|{zzz{{zzzz{{||||{zzz{{z{z|{{z{{{{{zzyzzzz{z||{{|{{{{{{{z{{zz|{{{{zz|{zzz{{|{|{|{|z|{zzz{{{{{z{|z|{{|{z{z{{{{{{|{{{{{{zzz{{}{|{|{{z{{{{||||{|{|}|{{{{{zzz|||{|||{||{{{z{z|||{||}|{{|{||{{{||z|{|||{{z{||z{||||{}||z{{z{|{|||{|||}{{zz|{|{{|{|{||||||{{{z{|{{{{|{|{{zzzz{zz|{|{|}|{|zz{{{z{||||{{|{z{zzz{{{{|z{{z{zyzzz{zy|{|{z{{{{zz{zy{zz{|{{|{{|zzzz{z|{{{z{||{|{{{zzzzz|{|z{{{zz{{z{{y{zz{{{{{zzzzyzzz{{z{zz{{zz{zzzzz{{z{|{{{zzyzzyzz{z{{{{{{zz{zzyz{{{z{{|{{zzz{zzy{yz{{|{{{zz{zyyyzz{{z{z|z{z||{{zzz{z{z{z|zzzzz{{zz{z{|{{{zzzz{{z{{z{z|{{||zz{{z{{{z{{{z{|{zzz{z{z{{{{{{{|z{{zzz{{{{{{{{|{{{{{{z{zy{{|{|{|z|{{z{{{{{{{{||{|zz{{zz|z|{z|{|{{|{|{{{{z{||||{|{{|{|{{{{||{{{{|{{|{{{{{z|||{{|{{{{{z{}|{{|}||||||{{{|{z|||||{||}{{{||z{|}{|z|{{|{{{zz|{{{||{|||||{{zy{{{|{|{{|||z{{|{{{||{||{||{{{|{|z{{{|{|||}{{{{{{{{{||{{{|{{yz{{{zz{{{{{|{{zyz{{|{z{{{z{{{{zzzzz{zy{{{{{{|{{{|y|z{{||{{{{{{zz{zzz{z|{zzz{||{{zzzzzy{{|{{z{{zz{z{zzz{{{z{{{{{{zzyz{zz{z{{{|||z{{{z{y|{{{{z{{zzzzyz{z{{{{{|{|zzz|{zyz{{z}{{{{yy{{yzzy{{{{{{z{{{zzzzzzz{{{{{{{{zzz{zy{{{zz{{|{zzz|z{zz|{z{|{|{{yz{{z{{{{{{{{{{{{{zz{zz{{z|z{||z{{{zz|z|zz{{|{z{{{{zzz{z{||{|{z{y{zz{{{||{{|||zzz|{zz{{|{{z{|||{z{{{{{{}{{|{|||z{{z|{{y{{{|||{|{{{{{{{z|{||{{|||{{{{||{|||}}|||{{{||{{{{||{|||{|{||{{|{z|{|{|}|{{{z{{|{{{{||{|||{|{{z{|||||{|{|||{{{{z|{||{|{{||zzz{z{{|{{{{{}|{{z{z{{|||{{{{{|{{{{{{{z{z{{{{z{{zzzzzzz{{{{{{{|{z{zz{zzz|{|{||{z{{{z{zz{{z{|{|{zy{zzz{z{{{{{z{{{z{{zz{z{{z{|{{|{zzzzzzz{{{z{{{{z{zzyzzz{{zyz{{{zyzzzzzy{{{{{{|{yy{{z{zz{{{|{{{{zzz{yzz{zzzzz{{{zz{yyz{zz{z{{y{{{z{|zz{yz{{zz{z{{zzzzzzz{{{{{|{{zzzzzzzy{{{{{{||z{{z{zz{{{|{zzz{zz{{zz{{{|{|{{||zz|z{z{z||z{||{z{{{z{zz{{{{||{|z{{z{zzzz{{{|{{|{|yz{zz{{{{|z{{{|{zz{z{z{{|}{|{||z{{{{z{z{|{{{||||z{z{z{z{{{{{|}|{{{{{{z|||||{|{|{||{{{{|{|{|||||z{{{zz{{{{|}|{|{|{z{{|{z|||{|||{{z{{{{z{||{{|{|{|{{{{{{{|{||z||{|z{yz{{{{||{{{{||{{{{z{zz{{|{{{z|z{z{{{{{|{{{{z{{{zz{zzzz|z{yz{{z{z{{zzzz{{y|{{|z{{z{{zz{{{{|{z{zz{{zzzzz{{{{z{z{{zzz{{yzz{{z{{|zy{zzzzy{z{{{|{{zzzz{yyz{z{zzy{z{zzzzzzz{zz{z{{zzy{zyyzy{{y{zz{{zyy{z{zz{{{z{{{{zz{zyzzy{{{z{{{{zzzyzz{y{z{zzz{{{zzzzyzyz{yz{{{{{z{zzz{y{{{{{{{{{zzz{y{z{z{{{z{{z{z{z{{zzz{{{z{{z{{zzzyy|{{{||{{{z{z{{zz{{{{||{{{{{yzz{z{{|||{|z|zz|zzzz|{{{{|{{{{z{{{|z||{||{|{{z{z{{{|{|{|{{||yz{{z{z{{{||{{|{|z{zzzz{|{{||{|{zz{{z{{{|{||{|{{{zzz{{|{{|||zz{|||{{z{{{|{{|{||||z{{{z{{|{{||{{||{z{{zz{|{{|{||{|{{z{z{{z|{}{{||{{{z{{z{{{{{z||{z|{zzzzz{{|z{z{{{zzzzzzy{z{z{{{{{zzzzzz{{{{{{{{||{{zzzz{{|{z{{{{{zzz{{z{|{{{z{{{{zz{{yzz{zz{{{{|z{{z{yzzz{z{{z|{{|{{z{zz{{{z{{zz{zzz{{zz{{z{{|{{y{{y{zzzy{|{{|{zzzzzzzyyzz{{z{{{zz{zzzzz{{|{z{|{{zz{{{zzz{{z{{{{{{zz{zy{z{{|z|z{zzzzz{{z{|{{z|{{{z{z{z{z|{{{{{||{{{{zz{z{z{z{{{|zz{y{{zz||{z{|{zz{{z{zz{{{{{|{{||{z{z{zz|{z{{|{{{{zz{z{z{||z{|{z{{|{{{|{|||{{||{{{{{{z{{{|{}{z||{{{z|{{{{|}{|{|z{{{{|zzz|}|{||}|{{{{{|{{{|{|{}||{{{{{{{{|||}|||}{{{{{{{{{|{{|}|||z{{{{{{{{{|}{|||{{z}{{||{||||{|{{{zz{{{{|{|{{||z{{{{{{zz{|{{{{|z|{z{z{z{|{{{{{z{zzzzzzzz{{|{{{z{{{zzyzz{{{|{|{|z{zxzz{z|z{{|z{{{z{zzzz{{{{|z{{{{z{yy{zz{{{{zzz|zzzzzzzzzz{{z{{{zy|zzzzzzz{{z|{zyyzz{zzzz{z{zz{{zzzzzz{zzz{{{{{{zzz{zzy{zz{{z{{z{zzzzzzz{{z{{{||zzzz{zyzyz{{{{|{{zzzzzzyz{zz{}{{zzzz{{zz{{zz{{|{{{z{{zzz{{|z{||z{z{z{{{{{zz{{{|{zz{zz{{y|z{{{|{||zzz|z{zz{|{{{{{{zzz{|{z{{{{z{|z{z{z{{{{{|yz|{||{{{{{{{{|{{||}}|{|{zz{{{{|{|{}|||z{z{|zz{|{{|{|{{z{|z{{z||{{|{|{|{{|z{z{||z{{||||{|{zz|{{||}{{|||{{{z|{z{||{{||{|{zzz{{{z{{{||||{||{{{z|{|||{||{{{{{{{|zz{|{||||{{{z{{{zz|||{|{{zz|z{z{{z|{{{{z{zzz{yyzzzz{z{{{{{{yzz{zz{{{zz{|{zzzzz{{{z{{zz{{|zzzzzyz{z{|{z{{|zzz{zyzz{{{zy{z{yz{{z{{z{{zz{z{zzzzzyzzyzzz{{{y{zzzyzzyz{{zzzz{zzzzy{yzy{zz{z{{{{yzzz{zzzz{zzzz{zyz{z{{yyz{zzz|{zz{z{yyyz{z{z{{{zzzzzzyzyz{zz{{zzz{y{{yz{{{{z{{{{zz{zyzz|{{|z{{|zyzzzz{{zzz{{{{{zzzzzzzz{zz{{{{z{z{z{zzz{{z{{zz{{{{zzzzzz{{z{z|{{{{{zz{z{{{z{{{{{z{|zzz{{{||{||{z{{z{{|}|{||{|{|zz{z{{zz||{{{z|{{{{{{z{{||{||||{z{{{{z{{z{|{{||||{z{{z{{{||{|{{z|{{{{{{z|{|{{|||{|{|{{|{{{|{|||{|{{{{{{{{{{|{{{|zz{{{{z{{{{{{{|{{zz{{{zzz{|{{||zzz{{zyz{{{{z{{z{{zzzzzzzz{{z{{z{zzz{{{y{z{zz{||{|{zzyz{zz{{y{{|{{{{zzzzz{{|{z{{{zzzz{{zz{{||{|{|{{{z{zz{z{{{{{z{{zy{zzyy{{zzzz{z{zzzyzzzz{zz{{|{zzzzyyz{zzz{{|z{zyzzyzzz{|{y|{{{z{zyyzzy{{zz{{||{z{zyyzyy{{zy{{{{z{zzzzz{{z{z{z{zzzzz{zz{z{{{zz{|z{zzy{{{{|z{{z{zzzzzz{{{{{{|{z|y{{{z{{zz{|{{{{{z{y{{zzz{|{{{{{{z{{zz{{z{{{{{{{{{{z|{{z{z{|z{||{z{{zzzzz{{{|}||{|{{{{z|{{{{||{{|{{{{zz{{z{||{{{{{zz{z{z{||{z||||{|{z{{{{|{|{{|{{{{|{z{{{{{|{{}{{|{|{{z{z|||{|||{{zz{zz{{z|||{}||zzz{{{zz||{{{|||{|{zz{z{{{{|{{{}{z{z{z{z{||z{{|z{zzz{zzz{{|{{{z{{zzzzzzzz{|{{{{{|zzyzzzz{z{{{{{{zzz{z{zz{{{z{{{z{{zzyzyzzzz{{{{|zz{zyyz{zz{{{{{{{{zzzz{zz{{{{zz{{zzzzzzzzz{{z{{{z{{zzz{zz{z{{{{z{zzyzz|zzz{z{{{|{z{y{zzz{{{z|{{{zzzzyyzzz{zzz{|zzz{zzyzzzy|{z{{{{zyz{zzzzz{{z{{{z{zz{{{z{{{{|{{{{{z{{z{{{z{{|{{{{z{{zy|z{z{|{|{{{{{{z{zz{{|{{|{{{y{{z{zy|{z{{{{|{zzz{{zz{{{{{||{zz{{{z{{|{}z{|||{z{{z|z{{{{|{{{|z||zz{{|{|{}||||{{{z{{{{zzz{|{|||zy{z{|{|{{{{{}}|{{zz{|{||{||}|{{|z{{{z|{|{{{{|{}z{{{{|{{||||||{zzzz{{{{{{{|||||{{{{{{z{|{{||{}|{{|{z{{{{|{{{{||{{{zz{zz{|{|z|}|{{|zzzzzzz{|{{{{{{zz{zzz{{|{z|{zzzzzzzy{{{z{{|{|zzz{zz{z|{z{z{{{{z{{yyz{{{{{{z{{{zyzyyzz|{{{{|{||zz{z{zyz{z{{{{{{zzzzz{{z{{zz{{z{zzyzzzzz{zzz{z{zzz{zzzzz{zzz{{z{y{zyzzzz{zz{z{{zzzzzzzzz{{{{{|{zzz{{zzzz{{yyz{|z{{yzyzz{{zzz{|zzzz{z{zy{z|{z{}{{{{{{{zzy{zz{|z{zz{{zzz{{{|z{{{|{z{zzz{{|{|{|||{{z{{{z{{{|{|{{{{{z|zz{{{{|{{{{{z{{z{zz{z{{|{{||{{zz{{{z{|{z|{{{{|zzz{{{{{{{{{||{{{{{{{{z{|||{{{{|{zzz{{{{|{{|{z{{||{{z{{{||||{|||{{z{|||{}|||{}|{{|{|{{|{{{||}|}|{z{{{{{{|{{||}||{{{|z{{{z|{{{z}{{zzz{z|{|{{|{|{|z{{{zzz{|||{{{{{{{z{zyz{{{z{{|{zzzzzz{{z|{{{zz{{zz{zzzz{{{{{{{}{zyzyzzy{{{{{{{{{z{y{yzzz{{{{{||{zzz{z{z{{|z{{z{zzzzzz{zz{{zz{|z{{{yzzzzz{|{zz{{zz{zzz{{{{{{{{{{zz{yzzzzyz{zz{{|zzz{z{yzz{z|{z{{z{{zzzzzz|zz{{{{zzzzzzzz{{z{{{{|{zzyzzzzzz{{z{z{zzzz{yyz{zz{{{{|zzzzz{{zz{|{{{|{{z{zzz{z{z|{{{{|{z{z{zzz{|{{{||{{{{zzzz{z|{|{|{{{{z{zzzz|{{||{|{}{{{{zzz{||{{{||{{z{{{z{{{||||{|{{{z{{{||{{|{{||{{{|{{{z||{|z|}{|{{{{{{z{}|||{|}zz|{{{}{{{||{{|||{{{{{{z{||||}|{{z{{{{{z{}||{}{{|{{{{|{|{|||{|}{{{{{{{z||{||||{|||zz{{{zzz|{{}{{||zzz{zy{||{z{|{{zz{{z{z|z{{{{z{{z{z{{{{{z|{{z{{zz{{zz{{y{{{{{|{{zzz{zzz{{{{{{{{zz{zzzz{{{{{{{|zzzzyzz{z{{z{z{{{zzzzzzzyz{z{{{z|{{z{zzzz{z{{{{{{{z{zyyyzzzy{{{{{zzyzzyyzz{{z{{{zzzzzz{zzz{{||zz{z{zyzzzzz{y|{zz{zy{zzzzzz{zzz{{{zzzzzzzz{{{{z{|{{{zz{zzz{|z{{{{{{{z{{zy{z{{{{{{|{zz{yz{zz{{z{{zzz{yzz{{zz{{{{{{{{{|{{zzzz|{|z{z{zz{z{{zz{{{{|{|{{z{{z{zz{{{z|{{{{{||{zzz{{{{{|||{zz|zz{||{|{|{||{{z|{{{|{|{{{}||}zzzz{{|||||}||}z{}zz|{{{|{{||||{{zz{{{{{|||||||{{{|{{{|{||z||{||z{z{{z{||{z||}{{{|{|z{{{|||{{|||{{{{{{z{{|{{||||z{z{zzz{||{{{{{{z{z{zzy{|{|{zzzzy{zzzzzzz{{{z|zz{{z{zzz{zz{z{|{{{{zzzz{z{z{{{{{zzzzyyzz{{z{{|{{zzzyyyzz{{{{{z{{zzzzz{{{z{{{{{zzzzzzzyzzzz{zz{{zzzzzy{zz{zzzy{|zzzzyz{zy{z{z{{z{zz{y{{yyzzzy{z{zzz{zyz{zz{z{{{{{{{yzzyzzzzz{y{{{zz{z{y{zz{zz{}z{z{zzz{{y{{zz{|{{zz{zz{zzz{z|y{{|zzz{{zzz{|{{z{|{z{{{zzz{{||z{{{{zzzz{yzz{|{||||{z{{{|{zz{||z{{|z{z{{zzz{{{z{|{{|z{{z{{zz{|||||}|{zz{{{{z||z{{||}zz|{{{{z||||{{|{{z{{{{{{|}{|z{{|zz|z{|{z{|{||||||{{|{{{zz|{|{{|{|{||zz{}|{{|{{{{{zz{{zz{{{{{{{||{|{{|{{{{{|{|{|}{{{zz{y{{{{|{{{|{{{z{zzz{{||{y|{|{zz{zzzz{{{zz{zzzzzzy{yz{|z{{{|{{zzzz{{z{zz{{{{zyzz{zzz{{z{|{|{z{zyzzz{z{{{{{{zz{{{zz{z{{{z{{{|zzzzz{zz{{{{y{z{{z{{zyzzzz{{z|{zzzzz{zz{{z{{{{{{zzz{zy{{z{|{{|{zzz{{z{zz{z{z{|z{yz{zyyz{{{|{|{{{{{z{z{zyz{z{{{{{z{z{zzz{zz{{z{{{{z{z{zz{{{{{z{z{{{{zzz{z{|{z{{|{{zz{{{z{|{{{{||}zzz{zy{zy{{{{{|||z{zzz{z{z|{{{|{}{{|{{zz|{|{{|}|z{z|{z{z{{{{{z{{{{z{{||{{|||{|{|z{z{{{{zz}|{{{}||{{{z{zz||}||{{{|zz{|z{||{|||}||{z{{{{{{{{|{}|{||{z|z{{{{|||{{{|{{|{y{{{|{|{|||{|{zz{{{{|{{||||||{z{{{{{}{{|||{|{{{z{{z{{|{|{z|{{|z{{z{z{||{{||{{{zz{{zz{|{|{|{zzyzz{zzzzz{{|z{{{zzz{yzz{z||{y{{{zzyyzzzz{{{{{{{{z{yzzzzz{z{z{{zzzzyyzzzzy{{{{{{{zzy{yzzz{{zz{{z{z{yzzzz{z{zz||z{zzzzzz{zzy{{|{{zyzzzz{yz{z{{z{zzzz{{zzz{zz{z{{{{zzzzzzzz|zzz{z{z{y{yyzzyzz{{z{{{{zzzyzzz{{z{{{{zy{zyzzz{{{{{z{{{{{zz{{{zzz{{{{{{{z{{z{{|{{|z{{{zzz{|z{{{{||z|z{{zz{{z{{{{{{{{|zz{{|{z{zz{{|{z||z{{{zzz{{||{z|{|z{{{z{{{{}||||||z{{{|{{zz{{{{{|}{{{z{zz{|{||}{||{z{{{z{{}|{||{|{{zzz{{z||{|z{{z{|{{z{zz{{||{{||}|{{{zz{{{|{||||{|z{{zz{{{{{z||{|{{{{{zz{{|{{||z{z{zz{{{z{{{|z|{{{z{{{z{zz{{|{{||zzzzzzzz|{{{{z{{yzzzyzzzz{{z{z{z|{{zzyzzzz{{{{{{{z{zy{{z{|z{{{{{zzzzzzzz{{{{zz{{{zyzzz{{z{{zz{|{{{yzz{{zz{{{{{{z{yzzzyzzzzz{{{{z{zzzzzzyz{z{{z{{zz{{zzyyyz{{zz{zzz{yzzzzz{{{z|{zz{zyyyzzy|{{z{zzzzzzzzzyz{zzzzzzz{zzzyzyzzz{z|{{zy{zz{zz{z|{z{|{{zzzzz{y{||{{{{{{zyyzz{z{z{{|z{{{{z{zz{{z{{|{z{{z{{z{z{y{|{{|{{{{|zyzz{y{||{{z{{{{zzy{z{{{z{{z{{z{{{{{zz{||||{||z{{z{|||z|{|{||||zzzz|yz{}|{|||{|{{{z{{{|z|z|{||z{z{{{{z{{{{{||{|z{{{||z||{|||{{zz{{{{{z{|}|{|}|zz{zz{zz{|{|{{|}{z{{{|{{|{}{{{|||{{{zz{{{{|z|z|{|{zz{zzz{{|z{{||{z{zzzzz|z{{{{{{z{z{z{{yz{{{z{{{|{yzzyz{z{{z{{|||{{z{y{y{zz{|||{{z{zzzzzzzz{z{{{zz{yzyzy{{{{{{zz{z{zz{{z{|z{{{{{{zz{zzzz{z{{{zz|zzzzzzzyzz{{{{{|{zzzy{yyzy|zzzzzzzzzzzzz{{{z{z{{zz{yz{zz{{z|{{|{{zzzzzyzy|{zy{z{{{zzzyyzzz{zzz}{zy{{|zzz{{z{{{|{zyzy{zzz{z{z{{{{zzzz|yz{{||{{||{z{zzzz{zz|{{z{|{z{{z{zzzz{||{{{{{y{z{zzyz{|{z{|{{z{zzzz{{z{{{|{{{{zz{|{|{{{{{||zyzz{{{{{{|{{|{||{{{{{z{{z||{{{{||zz{{z{z{||{{|||{{zz{{|{{|||||{||{{{z{{{{|{{{||{{z{{zy{{{{{||{}||z{{{{zz{{{|{{||{|z{{z{{{{||{||z{|{z{{z{{|{{{{||{{{{z{{{{{|{{{{{{{{z{yzz{z|z|zz{zy{zyzzyy{|z{|{{zzyzzzzz{z{z{|{|{zzzzyzzzzzy{||zzzz{z{zzzz{{{zz{zzy{y{{z{{yz{{{{{{z{yzzz{{{zz{z{{zzz{zyy{{zzz{{{{z{zy{zzzz{{zzz{zy{yzyyzzzz{z{{{zzzzzzyzzz{{{|z{{yz{yyzz{z||y{{{zzzy{{zyz{{z{z||{zz{zzzzzzzzz{|{{yzy{{zy{{{{z{{z{{zz{{zz{|{zz{{{yz{zzz{z|{|{{z{|zy{{z{zz{{zz|{|{zz{{{z{{z{{{{|{|{zzz{yz{{||{{|||{zz{{zzz{{{{{||{{{||z{z{z{||||{{{{{{z{{z|{{|||||{{z{zz{z{||{{{|{{zzz{{zz||||{{||{{{{z{{z{|{{{|{{}{zz{|{{z|{{|{{{|z{{{|{z{|{|{|}|{{z{{z{z{z|{{{{|{{z{{z{{{{||z{{|{{{z{{z{{{|{{{|{{z{zzzzz{{{|{{{{{z{zzzzz{|{{{{{|z{zyzzzzz{z{{{{zzz{z{yzy{{{zz{|zzz{zyzz{{zy{|{{|zzzzzyyzz{zzz||{{{zzz{zzzzz{{{{|zzzy{zzyz|{yz{{{{{zzzzz{yz{z{{z{zzzzyzyzzyz{z{{{zzyzzyzzzy{{|z{z{zzzzzzzz{{z|z{|z{{zy{yzz{z|{z|{{z{yzz{z{{zz{{{z{{yz{zzyz{zzz{z{{y{z{{{z{zz{z|{|zzzzyz{zz{{z{{{|{zzzzzzz{z{|{|{|zyy{yz{z{{{z{{{{{zyz{{{z{{|{{{{{zz{z{zzz{{{{{{}{{{z{zz{|{|{z|zzzz{z|{{z{{|z|{}||{{{{{{{{{{|||}{|{{z|{{zz||}{{{|{|{{zzz{z{|{{{{|{{z{z{|{{{|{|{||{||{{z|z|z}{|||||}{{{{z{{}{{{{|{||z{|{z{{|||||}{{}{{{{z{{|||{||{{zz{{zz{zz{z{{|||z{zzz{|zz|{{{{{{{zzz{zzy{{{{{|z{z{z{zzz{zz||y{{|zyzzzzzz{{{{|{|{z{zzzzzz|z{|{||{{{{yzzz{{z{{|{z{|z{zz{zz{|z{{{{|z{zzzzzz{{{z{||zzz{{zyzz{{{{{|{{{zzzyzxzz{z{{|z{zzzzzz{zz{{{{{{{{zzyyz{zz|{|z|{z{z|zz{zz{{z{z{|{z{{z{{{{z{{z{{{{z{z{{z{y{{{{{|{{{zzyz{zz{{|{{z{|{{{{{z{{z||{{z|||zz{{zzz{|{z{{||z{{zz{{{|{{{{||{{{{{|z{{{{|{|||{zz{{{{{z{|||z{}{{{{{|zzz{{{|z|{||{{||{{z{{|||{{|{{{{|zzz|{{|||||{zz{{|z{||{||{}{}{{{|z{||}|{|||}zz{{|{{{|{{|{|||{{{{z|{{{}|}||||||||z|z{|}||z}|{{{z{{{z{||{{|||}{|{||{{z|||{|{||{{{z{{{{{{{{{{||{{|{{z{{{{|||{|{z{{y{zzz||{{|{|{{{zzz{yzzzzz{{{{zz{y{zz{{{|z{|{{{{|yzzzz{z{{{|{|{z{zzzz{|{{{{z{zz{{|zz{zz{{z{|{{z{{yz{zzy{y{y{{{{{zzzz{z{{{zz{z{zz{zz{zzzz{{{{|{zz{z{zzzz{zz{{{zyzzzzzz{z{{z{{{|z{zzyzzy{{z{{{{{zyyyzz{yz{|zz{{zz{zzyzy{z{|{|{{z{z{zz{z{z{{z|{z{{zzzz{zzz{{{{z||z{{zzy{z{z{{|z||{{z{{{yz{{{{||||{{{{{z{{{|{||{{{{z{{|zz{{|z|||}{{{zz{{z{{z||{|{{{z{zzz{{{{||{||{z{{{z{{z|{{|{|||{{{{{{z{|{|{z||{|z{{{{{|{|}}{}||{{|{z{|{z{|||||||zz{{{|{||}|{||}|{{{|{{{||}{{||{{z{{z{z{{{|{{|{||{z{{z|{{{||{|||{z{{zz{{{{{{||{||{{{{z|{{|z|||||{{{z{{zz{z{{||{zz{yzz{zyz{{z|{{{{{{z{y{z{{{z{|{{z{zy{{zzyz{|z{{{zy{yzzzyz{z{{|z|{{{zzzzzz{{|{{|{zzz{zzzzzz{z{z{{{zyzzzz{{{z{z{|zz{zzzzzy{{z|z{{{zz{zyzzzzz|{{|{{z{{yyzz|z{|{{{{{{zz{zzzz{z{{{z|{zzzyzxyz{z|{z|z|{zzzzzyzz{yz{{{{z{{z{yz{{{{|{||{{zzzzzzzz{{{z{{{zz{z{{zzzz{{z{z{zzzzyyzz{{{|{zz{{{zzzz{z{{{zz||{{{zyz{{{{|{{{{|z{{|{z{{{{|{{z{{{{{z{{{{{||{{|{||zzz{{{|{{{|{{|{||{z{zz|z{||||{|{{|{{{|{zz||{|{||{{{{{{{|||{{|||{|{z{{{{{{|||{{{{{{||{{{z|{{|z||||z|{{{z{||{{|||{{{{z{{z{|{||{|z|z{{z{{z{{||||{{{{{{zz{z{{||{{|||{z{z|{{z{{{{|{{{{{z{z{zzzz{{{{{|{zz{{zyzz{z{{{{{{{{y{{zy{{z{|{{{zzzz{zy{z{{{z{{|{z{{zzzyzzz{{{z{zz{{{zzzy{z{y|{{zzz{zzyz{z|{zzz|z{zzyzzz{zzz{{z{zzzz{zzzz|{{z{{zz{zzyzy{zzzz{zz{yzzz{{yyz{y|{{z{{zzz{zzyzz{z{|{{zzzz{zzzz{z{{{z{{{{zz{zz{z{{{{{z{zzz{z{{z{{{z{{{zzz{zzz{{{z{{|{{{z{z{zzz{|{{{{{|{zzzz{z{{|||z|{{z{zzz{zy{|{z{{{|{z{{{zzz{{|{|z{{{{{z}z{{z|||}{{|{z{{{{{{{{|z|||||{{|{{z{|{|{{|}{|{{{{z{{{|||{}||{z{zz{{{{||{|}|}|{{z|{{{{|z|{{|||{||{{{z|{{|{||||z{{{{{{{{{{|{{||{{z|{{zz{||{||||{{z{z{{{|{{{||{|{|{z{z{{|{|{{|{z{{{zzzz{z|z{|{{{{{zzzzy{{|y|{{{zzzzzyzy|zzz{zz{zy{zyzz{{z{{{{{z{zz{z{yyz{z{{z{{zzzzzxzz{zz{z|z{{yzz{zzz{|zz{{{{zzzzzzzy|{|z{zzzzyzzzzzzz{z{z{{zzzzz{zyzzz{zz{{zzzzzyzyzzz{{{{{{{z{yy{zyzz{z{{|{{zyzy{zz{{{z{{z{z{{yzzzz{{z{|{||zy{z{zzz{z{{z{|{zzz{zzz{z|z{zz{}{yzz{z{{|z{{{{|{zz{zz{z{zz{{{{|{zzzz{y{z{{{{z|{{zzzz{{z{{{|{|{z{{zzz{{z{{{|zz{{{|{{zz|{{{{{{{{{|z{zz{{{{{{{{|}{||z{{z{zz|||{{{{|{{{{|{zz||{|{||{|z{{|{{{z|{{|||||y{{zz{{z}{{||||{z{|{z{{|{{{|||{|y{{{z{{{{{{||||{{z{{z{{|||{{|{|{{{{z{{z{{{{{||{z{zzy{{z{{{|zz{|z{z{zyzzz|{z{|zzzzzzzzz|{zz{z{z{zzyzzyzzzzzz{z{{yyyzzzzz|{zz{{{zzzz{zyzzzz{{|z{z{zyyzyy|z{z{z{{|{zzzyzyyzz|zy{{z{zyzzzzzz{|{zz{zzzzyzzyzyzzzzzz{z{zzzy{{{z{z{{{z{zz{zzzyz{{{{{{{{y{z{zy{z||{zzzy{{zyzz{z{{{{z{z{z{{zzzzzz{{z||{{zzzzz{zy{zzz{{|{{z{z{yzzz{zy{{z{{zz{zz{zzz{{{{{|zzz|zz{zy{{{{{{{{z{{{yzzz{|{{z{zz{z{z{z{{|{|{|}|zz{z{zz{{|{|{{{{{{{zz{{z{{{|||{{z{|||{{{{|{|{||||{{|{{{{{{{{|{|{{{{z{{zz{|{{{|||{{|{{{|{{{{{{|{|{{{{{|{z{||{|{{|{|{{{z{{{{zz{{{{|zzz{{z{|{|{{{}}{{{|{{zz{{z|{|{|{zz{zzz{|{{{{||||zzz{{yz{{{{{{{z{{{yzzzz{{{zzzz{z{{zzzzzz{{{{z|{zzzzzyyz{{{{zz{{zzy{z{zzzz{{{|{{{z{zzzzyzz{{zz{{{{{yzzzyy{{z||{{zyz{yz{yy{zz{|{{{{zzzzzzy{z{zz{zyz{yzzzyzzz{z{{zzzzy{yyz{zzz{z{{z{yzzzyzzz{y{{zzzzzzzzz{z{{z{{{zzz{zzzzz{{{{yz{{zz{yzzzzz{{{z{{{yzzzzyzzzzzz{||{{zzzzzzz{{z{z|{{z{zzzy{z{zz{{|{|zy{zzzz{z{{|z{{{{zzzzzzy{{z{z{{{|{{{z{|{{{{z{{{{{zy{{zzz{{{{{||{{z{zzz{z{{||||||{{{zzz{z|{{{{{|{{{z{|{zy{{|{|{|{|{{z{z{{{|yz{{||{{z{{{{z{|{{{{||{{{{zz{z{}||{{|||z{|{z{{{||{{||{zz{{{|{{{{|{{|{|z|{{{{z{{{{{{z{{{{{z{z{{z{{|{{{|{{||{z{z{{{{z|{z{zzzz{zz{{|{{{zzyzyzzzyzzz{z{yz{{zz{{zzyzz{{zz|{zzzyzzzzz{{{{{{|zy{{zzzyz{{|z{{{zzzzyyyzz{{{z{zzzzzy{yzzy{yz{zzzz{zzzyzzyz{{z{zzzyzzyzzzzzyzzz{{zz{yzyzzzzzyzz{zzz{zyzy{y{|zzyz{zzzyyyzzz{y|zz{zzzzzzzzyzx{{y{z{zzzzzzzzzzz{{{{zyzz{y{zy{zz{z{{|zzzzzzzz{zz{zzz{zzzzzzzzzzz|{{{{zyzz{zzzz{{{z{z{{{zyzz|{z{{{{{|{{zzzzzzy{{|z{{|{zzzz{z{{{{zz{|{{z{{zzzz{{{||{|{|{{{{{{{{z{{|{{|{{{{|{yzz|z{{{{}{{{{{{zz{|}||{|z{{{{{{|{{{||{{}{{|z{{{{y{{{{|||||{zzz{{{z{{{|{{|{{zz{zzzzz{{{|{{|{{z{z{{{{{{{{{|{z{z{{z{{z{{{{{|{{{zz{zz{{{z{{{{{z{{zzyyz{{z{{{zz{{zz{y{yyzz{zy{{{z{{zyzyzz{{{{|{zzyz{z{z{{{{{{|{{z{zzzz{{z{zz{{{{zyzzzzyz{{{z{{{yzzy{yzz{{zyzz{{yzzzzyzyz{{{{{{{zyzzyzzzzzz{z{z{zyzzzzyyz{{zz{zzzz{zyzyy{z{zz{zzyz{yzzzz{zz{z{{{zzzzyzzzzzzz{{zzzzzzzyzzz}z{|{{z{zzy{zzyz{z{z|{{zzyzzzzy{{{z{{{z{yzz{zzz{z{{z|{|zzzzzz{|{z{z{{{||{zy{zzz{|z|{||{z{{zzzzzz{{{{zzz{zz{{zy{{{||{{{{{{{zzz{z|||}||{{z{{z{{z{{|z|{||{{{z{{z{z{{|{|{|{{z{zz{{z|{{{{{{{|z{{{{|{zz{{||{~|{z{||{{|||z{||{zz{{{{z{{{z{{{{||{zz{{{|{}|||{{|{|z{{{z{{{{{|{||zzz{{{{{y|{{{{||{zzzyz{yz|z{|{{{zz{{{z{{{{|{{|z{{zzz{z{z{{{{z{z{{{zzz{{{z{{z{{|{{{{{{zz{z{{{{{z{|{zz{{z{{{z{z||{y{zzy{zz{{{||{{|{zzzzz{zz{y{{|{z{zz{{{{zz{|{{z{zzzz{zz{{z{z{{{{{{zzzzzz{{{{{{z|z{zz{x{zy{z{|{{{zz{z{zzzz{|{|{{{|zz{yzyzyy{{zzz{{{z{{zzyzz{z|{{{|{z|{z{z{{{{z{{|{zy{{{zz{{|{{{{{}{{{{{{zz|{|{{{{}z{{{{{zz|{|{{||{z{|zz{{y|||{|{{||zzz{{z{{}||{{||{{{{{{{z{{{|{{|{z{{z{{{{||||||||{{{{{{|{z||||||}{z{|{z{{|||||||{|{z||z|z{||{{|}||{|{|{{|{|{||||{|{{|{{{|{||||{|{{||{{z|z|{{|{{|{{{{{|z{{{|||{{||{z{|{{{||{||{|{{z{{zzz{{|{{{{||||{z{{{|{|{|||||{{{z{z{z{||{{z{|{{zzz{{z{z{{zz{|{{{zzyx{zzzz{{{|{{z{y{|{z{z{{|{{{{zyzzzzz{{|{zz{{{{zyzyzzz{{|{z{|{zzyzz{{z{z{|{{{{zzzzzyz{{{zz{{z|z{zzzzz{{{{{|z|zz{zzzzzzzz|zz|{{z{zzyyz{{{{{{{{z{{zy{{zz|z|{{{zzyzz{z{zz{z{{{{zzyz{z{zzz{z{z{z{{z{{{z{zz{{{z{||zzz{zz{z{{{{|z|{z{z{zz|z{z{z{|{|{|y{zz{z{z{{|{|{|{{zzz{zz||{|z{{zz|z{{yz{||{|{{|{{{{zz{z||{{|{z|{{|{{|{{{{|||||{{{|z{z{{{{{{|{|{{{|{{{{|{||||{{|{{z{{{|z|}||{}||{{}{{|{{{|{{|||{|z{{{{{{{}{}{|}{|{|{{{{{{||||{|||zz{{{{{|{{z|z||{z{{|{{{{{{{{|||{z}z{|{z{{|{||||z{{{z{{z{{|{zz{{zz{z{z{{zz{{{{|{zzzzzzzzz{|zzz{{{zzzzzzzy|z|z|{|zzzzyy{z{zz|{|{{{zzyzzzz{zz{z{|}{{zzzzzyy{zz{{{{{y{zzy{zzz{zz{{yz{{yzzzz{z{zzz{|y{{zzzzzzyzzz{{{yzz{zzzz{z{|{{{{zzzyy{zzzzzz{{{{{z{{zzzz{{{|zz{{zz{{zzzyzz{{{{z{zz{zzyzzz{z{z|{{zzzyz{zzzz{{{|{|z{zzz{zzz{{{|z{|{z{zzzzy{z{|{{{|z{{{yzzzz{{z||{|zz{{zz{zz{z|{{{{z{{z{{z{{{{{{{|{{z{{{z{{{|z{{|{{{{{z{{{{|||{||||{{|{{z|{z{{{|z||{{|{{z{z{||}{{|||z{{{yzz||||{||{{z{{{|{{|||{{{{|{{zzz{z||}z||}}||{||zzz{||{{{{{{{z{{|{z{{{|||{}|{{{|{z{{||}|{|||{z{{{z{zz{{|{{{|{{{{{{{{{{||{{|{zz{{zz{z{||{{{{{zzyzzzzz{|{{{{{{{{xyzyzzz{{zz|z{zz{zz{zzz{z{{yzz{z{{{{{z{{{{zzz{z{{yzzzzz{{{{{z{z{zzz|{yz{zz{|{{{zzyzzyz{{{y{{{zz{zzzyyzzy{{{zy{zzzz{z{y{{zz{{zz{zyzyzzzzy{z{{zz{zzzy{zzzzz{zz|zzyzzzzzyzzzzzz{{{{zzzzyzy{{zz{{{{zz{zzzz{{z{z{{z{zzyzzzz{{{{z{{{zzzz{y{z{z{{z{z{{{zz{z{{{{|{z{|{zz{zzz{z{zz|z{|{{{{zz{{{{{{{zz{|z{zz{z{{||{{{{{{|{{zzz{z||{{{|{|{z{yz{|{{|{{{{{{{z{{{{z|{{|{{||{|z{{|zzz{{|{|||||{{zz{{{{z|||{||{{{{{{{{{|||{{||{z|{zzz{||{{{{|{|{z{{{z{{{z|}{|{{{{{{{z{{{||||{{||z{zy|{{|z|{{||{{zzzy{z||{|{{||z{{zzzz{zzz|z|y{{zz{zyzyzz{z{zz{yyzzyyzy{|{z{z{{{{zzyzzzz{z{|{{{zzz{zzzzz{z{zy{{zyzzzzzy|{{{z{{{zzzzzyzzz{{zz{{zz{{z{zyyz{{zzzz{yzzyz{zzzzzzz{z{yzzzzzzz{zz{z{z{zyyzyzzz{z{zzzz{y{zzzzzyy{{{z{{{{zyzzyyzzzyzzz{zzzzzzyzyz{{{{{{{zzzz{z{yzzz{{{{{z{{z{zzzz|zzz||{{z{zzyz{{{z{{{{{zzzz{zy{zz{{{{{|z{|zyz{{{{z{|{{{z{{z|yyzz{{{{z|{zz{z{zzz{{{{z|{{{zz{{z{zz|||{{|{{z{{zz{z{{{{{{||{|{z|{{zz||z|z|z{{zz{{{{{||{{{{{zzz{z{{{{{z{{||||{{{{|z{{|{{{}|{{{{{zz{{z{{{{|{|{z{|z{{|z|{{{{|||z{{{{z{{{{{{{{|{zzz{|{zzz|{{{{{{z{{{{{z{||{zz{{{zzzzzz{zz{z{{{{z{zzzzzz{{|{z{z|zz{y{zzz{{{{{{{|zz{{z{zzz{{{z{|||{{yzyzz{{{{{||z{zzyyy{zzz{{{{{|zz|zy{zz{{|yz{{z{{{{{zz{{{{y{{z{zyzzz{zzzzzzz{{|zz|zzz{z{{{z{{{{zzzzzzzz{zz{|{{{{zzzyzzy{z{{{z{{{{zzzzzzz{zzz{||{{yz{{z{{{z|{{{{zz{y{{{{{{z{{z{{zzzzzz{z{|{{{{{{{zz{y{{z{z{{{|{|zz{y{{zzzz{{{z{|{{|{zz{{z{{|{{{{|zzzz{z{{||{z{{{{|z|z{{|{{{zz||{z{{{|{{z||||{|||{{{{{|zz{||{|{|}{zz{{y{{{{|||{|{|{{{{z{||{z{|||}{{{z{{{z|||{|||}|{{{{{z{||}|{|||{{{{{{{{{{|}{|{{{{zz{{z{|{{|{{{|||{|{{z{|{{||{{{z{zz{{{{{|z|{{{{|{{z{{{z|{||{{{{{{{z{zzz{{{{{{{{{zzzyyzyzzzzz{|z{{yzzzz{{z{z{z{{zyzzzzzz{yzz{{{{zz{zzzz{z{{{z{z{{zzyzzzyzzz{z{y{yzzyzzzyzz{z{z{zzz{yzy{zzzzzzz{zyyyzyzzzzzzzzz{zzyzzzyzzzz{zzz{zzz{zzzyyzzzz|z{{{{z{yzzzz{z{{z|zzyx{yzzzy{{{zz{{{zzy{{y{zzzzz{{{zzzzzzzyzz{{z|{{zzzyzzzzzzzz|{z{|zz{zzzzzzzz{{{{zzzz{zy{zzz{{z{zzyy{{y{z{|{z{z{{{zzzzz{zz{{z{{|z{zz{{zz{{|{{{{zz{{zzz{zz{}{{{{{{z{{z{{{y{{{|z{||z{z{zzzzy{{z{|z{{{z{{{{z|{|{{}||{{z{{|{{||{{{{{{{{zy{{{z{|{|{{{{{z{zz{zz||{{{|||{{{zzz{{{zz{{|||{{{{{y{{{|{z{{|{{zzzzz{zz|z{{{|z{zz{{zz{{|{{{{|{{zzzzz{zzz|{z{yzzzzzyyzyy{z{zz{zzzyzzzyzzzz{z{{zyzzyz{yy{zy{{{yzzyzyyyzyzyz{z{zz{zzzyzzyzzzzzz{{zyzyzyyyzz{zzzzzyy{yyyyyyzyzzzyzyyzxzzyyzyyzzzzzzzyyyyyzzzzzzzzzzzyyzyyzy{zzzz{z{zzyyzzyyzy{z{zzyzyzzyyyzyzzzzyz{y{xzzyzzzy{zzzzzyzyzzzzzz{y{{z{zyyzyyzyz{yyz{yzzzzyzz{zzyzz{{{{zzzyzyzzzzyy{z{{{zyzzzzyz{zzzz{zyy{zyzzzz{{zzz|zzzzy{zz{{{{{z|z{zzzzzzzz{{{{{{{{z{z{zzz{{{z|{{{{zyz{zzzyz{{{zz{{zzzz{{zz{{{{{{{|z{|z{z{z{|{{{z{z|{yzz|z{z|{{{{{|{{z{{{zz|{|z{|{{{y{z{zyzz{zzz{}|zzzzzzzz{{{|z{{{{zzyyzyy{{z{z{{{{zz{z{{zz{z{zzzzzyzyyy{y{{|{z{zzz{zzz{yzy{z{zz{{zzzz{yz{zz{{zz{zzzyyzzzz{zzz{|{{{zzzyy{yz{{{yz{{{{zzzyzy{z{zz{{{yz{yzyzzz{{zzz{zzz{yzyz{yz{{zzzzz{zzzzyyzyz{zz{{yyzyyzzyy{zzz{z{zzzzzzyz{zzz{zzzzzzzyzyzz{z{{{{z{{{zyzzzzz{{zzzz{zzzyyzz{{{{z{{{zzzzzz{y{{{z{{z{zzzzzzyzz{zz{{{zzzzz{yzz{{{zz{|{zz{yy{zz{{z{{{z{{{{zzz{z{{{{zz{z|yzzz{zyzz{{{{{zzz{zyy{z{{{{{{{zzz{{{{z{{{{{{||{z{zy{z|{{{||{{|{z{{z{{zz{{{{|z|{|{z{{zz{|||{{{|{{{{z{{{{{{{|{|{{|{{z{|{zz{{{|{{|{{{{{z{{|||{|{|{{zz{{z{{{{|{{{z||{{{y{zy{{|{{{||z{|yzz{y{{{|z||{{yzzzzz{{|{|{||{zz{zzy|{{{{{{z{{zzyzzz|y{z{{{{z{zzzzzzzzzz{{{z{{{zyzy{{yzz{z{{z{{z{{zxzyzzz{z{|{{zzyzz{z{zzzz{{{{zzzzyzz{zyzz{{zzzzzzzzz{{{yy{|zzzyzzzzzzz{z{{{{yzzzzyyzzzzzz{|yzz{yy{y{z{zz{}{zzzz{zzzy{zzzz{{y{yzzyzzy{z{{zzz{{zzzzyzzzzz{y{{{zzzyzzy{zzz{{{{{{zzzyzyz{{{z{{{yz{z{yyzz{z{z{z{{z{|zzzz{{{z{z{||{z{yyyz{z{{{{{{{{zzz{zxz{{{{|{{|{yzzz{{z{{zzz{{zyzzz{z{{{{||{|{{z{{{zz{z{{{{|{z|{z{{{{z{{||{{|z{{zz{{z{z{|{{{{|{{z|zz{{{{{{|||{||z{{{{{z{{{{{|{|{zzz|{{z{z{{{|{{{zz{zz{z{|{{{{|{{{z{zzzz{|{||{||{{{{{zzz{zzzz|{{{{zz{z{z{||{{z{{{{z{zz{z{{{{{{{{yzyyzzzzz{{zz{{{zzyzzzzzy{{{{{{|{zyzyzzzzyzz{y{zz{yzyyzy{z{zz{zz{{{zyz{yzz{zzzz|yyzzzzzyyzzzzz{zzyzzzzzz{{{z{z{yyzzyy{y{zzzz{z{zzzyzzzzzzzz|{{{{zyzyyyyz{{z{z{{zzz{zy{yy{{{{zzzzyzzyzxzzzzz{zz|zzyyzz{{yz{z{zzz{{zzz{zzzz{{{zz{{zzzzzy{{z{zzzzz{{z{{zy{z{zz{{{|{zyzzyzzyzz{z{{{{zz{{zzzz{{{{{{{|zzzzzzzz{{{{{{{{{yzzzzyzz{zz|{z{{{yzzzz|{{|{|||{z{{{z{z{{{{{|||{|{z{zzzz|||z{z|{|{z{{z{zz{{|{|{||{z{z||{{{{|{{{||z{zzzzz{}|{{{{{|zz{zyzz|{|{{||{|z{{{{z{{z{|{|{{z{{z{{{z{||{{{{{{z{zzzzy{{{z|{||zz{{zzz|{{{{{{z|z{zzzzzz{{z{{zzzzzzyyyzyz{zzzz{zzzzzy{zy{zz{{z{{{zzyzzzyzzzz{{{z{zzzzzyzzz{zyz{zzyyzzxyyzzzzzzz{yzyyyzyzzyzzy{z{zyzyyyxzzzzy{{zzzzyyyyzyzzy{zzz{zxzyzyzzzzzyz{{{{zyzzyyyzyzz{{{{zyzzyyyyy{zzzzz{zyzzzyzyyzzzz{zz{zyyyyzzz{z{z{{{{yzy{yyy{z{{zz{{zyzzzzzzyzz{{y{{yzzzzyzzz|{zz{{{zzzzzzzyz{{{{{{{zzz{zy{z{{z{{{zzzz{zzzyyz{{y{|{zzyz{zz{{{z{{z{{{yzzy{{zz{||{{{{|zy{zz{{z{{z{{{||z{yzzz{{z{{{{{z{{z{{{zz{z|{{||||{{|zz|{z|{{{|}{{{{{{z{zzz{{|{|{||{zz{z{{{z{{{{{|{z{{z{y{{|z|||{{z{zzz{{z|{{{{{{|zzzy{zz{z{z{|{{{z{{zy{zzz{z{{{{zzzz{{yzzz{z{z{{zzzyzzzzyzyzz{zz{zzyyyyxy{z{y{{|zzzzzyzzyzzzyz{{zzyzzyzyzz{{zzzzzyzyyyzzzzzz{{{y{zzzyzyyy{yzzy{{z{yyzzzyyzz{yz{{zyyzyyyxzzzyzy{{{yyzyyyzyzz{zz{zzz{zzyzzyz{zyzzz{zy{zyyzyyzyzz{y{zyzzyzyyyyzzzzzzy{yzzyzyy{zyz{z{zyzzzzzy{zz{z{{{{zyzzyzzy{zz{z{{zz{yzzz{{zzz{{{{zzz{z{zzz{z{zzzzzzzzzz{zz{z{zz{{zzzzzzzzz{zzzz|zzzzzzzz{zz{{{zyzz{z{z{yzz{{|||{{z{{y{zz{|z||zz{}yz{{{zzz{{||{{{z{{zzz{zz{{|{{{{{z{zzz{z{zzz|{{{|{{{zz{zz|{||z{{|{y{{zzz{||z{z{|{|zzz{zz{{{zz{{{{{{zzzy{{{{zz{{{{{zzz{{zz{{z{z{{{zz{{zzzyz{zz{zz{zz{yzzzzzzzz{{zzzzzzyyyzzzz{zz|zzzyzzzyz{{{z{z{{zyzzzzzyzy{{{{{zzyyzzyyyzyzz{{{{zzzzyyyyz{zzz{zzyzzyyzzzzz{zyz{{yzyyzyyzzz{{yzzyzzyyyzyzzzyyzzz{zyyyzyzzzzzzzz{{zyzyyzyzyzzyzz{{y{{zyyzzz{zyz{{zyzzzzyzyyzyzyz{{zyzzz{yyyzz{y{z{zzzzz{zzz{{{{{zzzzzy{yz{zzzz{{{{yzzzzyzz{{{{{zz{zz{yzzyzz{|{{{{{zzzzyyzyz|{{yzyz{y{{{zzz{{|{{z{{{{zyzzzzz{{z{{{z|{zz{y{z{zzz||{|{{z{{{{z{{{{z|{|{{z{z{z{{||{{{|{z{zy|z{{z{|zz{|{z{{z{{{{y|{{{{zz{{z{zzzz{{{|{|{|{{{|zyz{{|{{||{{{zzz|{zzz{|{{{|{{{{z{z{{{{{{{{{{z{zyzzzy|{z{{{}{zzzyzzzz|{{|zz{{{zzzyzzzz{z{{zzyzyzyyzyzy{zz{zz{zyzyxzyzzzz{{z{{zzyyzzzy{zz{zzzzzy{zyyzzyz{zzzzzzyzzxzzxzyzyzzzz{zyzzzzzz{yyzzz{zyyyzyzyzzzzy{zy{yyzzzzzzzyzyzz{zzyyzyzzyzzzzzzzzyzzyyzzz{{z{zy{zzzzzyzyzzz{zy{{zzzz{zzzyyyzzzz{zzzyyxzxyzz{zz{{{yzzzz{yz{zz{z{zzyzzzzzzy{zz{{{zyzzzyzzzzzzz{{z{zzyzyzzyzzzz{{{|zzzzzxzy{{{{z{z{zzzzy{zzy{{|z{{{{yy{zyyz|zz{zzzzzzzzzzyzz{{{|{{|z{z{{{z{|{z{z{{{{z{zz{zy{z{|{z{{zxzzzzyz{{{{{{{|{y{z{z{{{|z{|{{||zz{y{yy{|z{{|z{|{|{zy{{{{z{{||{{{{z{zz{{z{z{z|{{{{zzzzz{{{{{{{|z{zzzyzzz{|zz{{{{{zzz{zyz{{zzz{{yz{yzzzy{zzz{zzzzzzyzzzzz|yyzz{zzzzyyxzy{zzzz{{zzyzyyzzyzzyz{{{{zzzzyz{zzzzzz{{{z{yzyz{zzyzz{zz{zyzzyzzyyzzyyyzzyyzzyzyzzz{{z{zzzzzyzyzy{z{z{zz{zyyyyyzyz{{yzzzzzyzzyyyzzzzzz{zzz{zyzzxyyzzz{zz|zyyyzzzyy{zzyz{zyyyxzzzyyzzyz{z{zyzyyzyzzzz{{{{{zyzzyyyzzz{zzzz{zzzzzy{z{zzzz{{{zzzzzzzyyzzz{{{{yzzzzzyyz{{{{|{zzy{zyzz{{{z{{{|z{zz{zzzz{{{zzz{{z{zz{zz{{|{{{{{{zz{{{z{{{{{z{{}|{zyzy{zy{{{{{||{{zzz{zzz{|{z{{|z{{z{z{{z{{z|{|||{zzzy{{z{|{{|{{|{zz{{z{zz{|{|{|z|z{z{{{zz{{||zz|{z{z{{zz{{|{{|{{zzz{z{{zy{{{{z{{{{yzz{{z{{{{{{|{zyzzyyz{z{{z{{yzzzzzzyyyy{zzz{{zzzyyyzyy{{zzzzz{yzzyzyzzzz{y{z{{z{zyyzzzz{{zyzzzzyzyyzyyzz{{z{y{yy{zz{zyzzzzzzzzzyyz{yyy{{zzzzzzzyzyyyzzyzyyz{{zzzyzyzyyyz{zzzzzzzyzyyxzzzzz{zzzzzzzyyyyzz{{zz{{zxzyyzyzzzz{{{z{zyzyzyzxzz{zz{{zzzzyzzyzzzzz{z{{{zzy{zzzzz{zz{{{zzzzyyyz{z{{zz|zz{{zzzz{y|{{z{z{zzyzyyz{{zz{{zzz{yzzyzzzz{{y{z{zzyzyzzzzz{{{z{{{{z{z{zzzz{z{{{{{z{z{{zzz{{{{{{{|zzyz{zz{zz{{{{|{{zz{z{{{{{z{{{{{{zzyzzzz{{{{{{||{{zzz{zz{|{{{|{{{{z{{zzz{|{{|{{{|zz{yzzz{z{{{{z|{zzz{zz{{{|z{{|z{zzzz{zz{y{{z{{{{zzzyyyzz{{|zy{{zz{yzzzz{zzz{{yzyzyzzzzzz{zzzzz{zzzzzyyz{zzz{{{{yyyyyzzz{zzzz{zzzxyyzzzzzz{{zz{{{zyyyyzzzz{z{{z{zzzyyyzyz{zz{zzyzyzxzzz{z{zzzzzzzyyyyzzzzzzz{zz{yyzyyzzzzzzzz{{{{yzzzzyzy{zyzy{zzzzyyzyzyzz{z{zzyzzzxyzyyzzz{{zzzzyzyyyyz{yy{zzzzyzyzzyyz{{{zz{{zyzz{yyzzzzz{{zzzzzzz{zz{{{zz{{{yzzzyzyz{{{y{{z{z{zzzyyyz{{zzzzzyzzyzzyzz{zzzz|{z{{zzzzzzzzz{z{{zzzyzzzzz|z{{{{zzzzz{{{z{z{{{{{|{zzzzzzzz{{|{z|{{z{{zyzy{{{{|{{{{{zzz{{z{z|{{|{|{{{z{z{zz||||{||{z{{zzzzz{{{{{z{|zz{y{z{{|||{{{|{z{{{{zz{{{{{{|{zz{zzzzzz{{z{{{|{|z{zzzzz{{{|{{z{zzz{zzzzzz|zzzzyzzyzzzyz{zz{yzzzzyzzyzzzzyzz|z|{yzyzzyyz{zz{{{zyzzzzyzz{z{zy{{{zzyyzy{yyzz{zzz{zyzyz{yxzzzyy{{zzyzy{yyzyyzzzz{yyyyyzzzyzzzzzyz{yzyzyyzzzzzzzz{z{yzzyzyyzzz{{yzzyyzzzzzyyz{{{{{|{yzzzyzzzzzzzz{yy{{yzzyzyzzzz{z|yyzyy{zyzz{yzz{zzzzzyy{zyzz{z{{zzzy{zzy{zzzzzz{{yzzzzzzzzz{zz{{zy{zzzyzzz{z{{{{zzyzzyzz{{{{{{{|{zzzzzyy{zz{{|{|zzzzzz{zz{zz{{{{|{y{{zz{{{{{|{{{{zzzz{zzzz|{{{{{||zz{{zzz{{{z{{{{z{yzz{{{{{|{|{{{|z{z{{zz{{|{z{{{{{|{{zz{{{{||{|{{{zzzyz{|z{{z{{{{{zzzzz{{{{{{{{{z{{{zz{zz{{{zz{{zzyzz{{yz|z{{z|z{yyzzzzyz|{z{{{|zyzzzyzyyzzz{z{zzzzyyyzzzzzz{{{{z{zy{yzyz{{{{{z{{zzyyzyzzz{{zyz{zzzyzzzy{z{{z{{z{y{zzzy{{zyzzz{z{yyzyyyzzzzzz{y{zzyyyzzyzyz{z{{{zzyzzzzyz{zzz{{zzzyz{yzzzz{{zzzz{yzyyzy{yzz{{z{zzyyzzzzyzzz{zzz{zzyyyzyzyzzzzz{{zzzyzzyzzz{{z{zzzzyyzyyz{z|zz|z{zyz{yyzy{{{z{{z{zz{yzy{yz{{z{{{z{z{z{z{zz|zz{{z{zz{zz{zz{{|{{{{{{yzzzyz{{{zzz{{zz|zzzz{z{z|{{{{|{{z{zzzz||{{{z{{{{{{{zzz{{{{{|{zzz|{{{{z|{|{zz|{{{{{{z{zz{{{{|||{{zzz{{{||z|z{|{|z{z{z{{z{{{{}||{z{{z{zz{{z{z{{{{zz|{z{{z{{{|{{{z{zyyz{{{{{{z|{{|{{z{zzzz{{{{z{{zyzzzz{{{{|{y{{{zzyzzyzyy{zzzzzzzzzyzyzzzz{yz|y{zzzyzzzyz{z{z{z{{yzyyyzyyzz{zzz{z{yyy{yyzz{zz{z{zzzyzyzyz|zz{{zzzyzyyzyyzzzzyzzz{zzyzzzz{yzzzzzyyyzzzyzz{z{zyzz{zyyzyyyzzzzz{{zzzzzyzzyyyyzzzzzzyzyzzyzxz{zzz{{yz{yzyzyzyzzzy{zzyz{zzzzzzz{{zzzzzzy{yzyz{{{{z{z{{zyzzz{{zzzz{{{zy{{zyzzyzzz{{z{{{zzzzzzzzy{{|{{zzz{zyyyy{{zzzz|{{zzzzzyyz|{zzz|z{{z{{{zzz{{||{z{zzzy{z{z{{{{{z{{z{zzzzzyz|{{{{|{{yzz{zz{{{{{z|{{{|{{z{{{|{y{{z||{{z{zzz{y{{{{{{|{{zz{{{zz||{{{{{|zz{zyz{{{{{{{{{|zz{|zzz{{z|z{{|{{zzzzyzz{{|{{|{z{{zzzzz{zz{zz||{z{zzy{yzzz{{|yzzzyy{yyyzzzzzyz{{yyzzzyz{z{zz{{zzzyyyyzyyzzzzz{z|zyyzzzzzzz{yz{{zyzyyxzy{z{yy{zzzyyzzzzxzz{yzzzzzyzyyyyzyzzzzz{zzyzyyzyzzzzzzzz{zzyzyyzzz{{zyz|yzyyyyyyzzz{zzyzzzzzzzzyzzz{{zzzzzyzyzyzzyzyzyz{zzzzyzyzzz{z{z{zyyzzy{{yzz{zzzz{|zzyzyyzzy{{zz{{{{{zzzz{yzyzz{{{{{zzzyzzzzz{zz{|z{y{z{zzzzz|zz{zzzzyyzzzz{z{{zz{zzzz{yzzz{{{z{z{{{yzzzzzzzz{{{{{{zzzzz{{z{{{{z{{{zzx{zzy{z{{{|{{{{zz{zz{z{z{{{{|{{zzzzy{{{z{{{|{{zz{{zyz{z{{z{|{|{zz{zzzz|{z|zz{{{z{zz{z{{{{{{{{{{z{{{zzzz{{{{z{{z{zzzzzz{{{zz{{zz{zzyzz{z{{{z{{{yzzzzyzyzz{z{{{{zyyyyyzyz{zz{z{{zzyzzyzzz{zyz{z{{zyzyyzyz{zz|{{|{zzzzzzzzz{|z{z{yyzyzzzyz{|zzz{zzzzyzzzyyz{{yzz{{yzzyzyzzzzzz{zzzyyyyzz{yzyzyzzzxzyxxyyyzz{zzy{{zyz{z{yzzzzzz{{zzzzz{yyyzz{zzz{{{zzzzzzyz{zzzzzzzzzzzzyyzzzzy{{{zxzz{yzzzz{zzz{{zyzzzzzyzzzz{{z|zyzzyyzz|zzzz{{zzzzzyzzzzz{{zy{{{z{zzzzyzyz{{{{{{zzzyzyy|z{{zz|{{yyzz{zz|{{{z{{{{{zzzzz{zz{{{{|{zz{{z{{z{{{|z{{{{yz|{yz{z{{{{{|{{z|zz{zy{|{{|{{{{z{y{{{{z{{{{{z{{{zz{zz{{{{{{{{|{zz{z{zy{{{{||{z{z{{zzzz{{{{{{{{|z{{zzz{{{|{{{||zz{z{z|{zzz{z{{||zzzzzzzz|{{z{{{zzzzyzz{{zzz{|z{yzyzyyyyyzzzz{{zyyzzzyzyz{zzzzz{zyyyyz{xzzzz{{{{zyzzzyzzzz{{zzzz{zyyyyzyzzzz{zz{yzyyyyzyyz{yz{{{{yyyzyzzzzzzz{zzzy{yzzyzzzzzzzz{zzzyyyyzz{y{{z{yzzxyy{xyzzzzz{{{zyzzyzyzy{zzzz{{{yzyyyzyyzzzzzz{{zyyzyzzyzzzyzz{zzzzyyyzzzz{y{z{{zzy{zzz{z{{{{|zyz{yzyyy{zz{{{zzzzyzyyyyzy{z{|z{zzz{{yzyy{{z{|{yzzzy{zyzzzz{{z|{z{z{zzyz{{{{{{{zzzzz{z{zzz{{{{z{zzzzz{{z{zzz{{{{zzzzz{zy|z{zz{{{{zz{{zzz{{{{{{|{z{{{z|zz{z{{|z{{{zyzy{zzz}{{{}{|zz{{zzz{{{{{{{{{{zz{zzz|z{zz||{{zzz{zzy{{{{z{{{{yz{{z{zzz{z{{{{|{zzzzyzy{}{{z{{{zyzzz{zyy{zz{zz{z{yyzyzyz{{zzz|zzyzzzzyy{zzz{{zzzyyzyzzyzzz{z{{{zz{yzyyyzzz{zzz{zzyzxxzyyzzzyz{{zzxzzzz{z{z{zz{{zyyyyyyzz{{{z{zzzyzyzzyzy{z{zz{{yzyyzzzzz{y{{{zzzyzyyzy{zz{z{zzzzzzyzyzzy{{{zz{{{yyyyxzxy{zyzzz{yzyzzzzzz{{{zzzzzyyzzzzy{yzzy{zzzzzz{zzzzz{zz{z{y{yzxyyzz{z{zzz{zzzzzyzzzzzzzz{{zzz{zz{yzz{zz{z{{zzyzzzy{z{zz||{zzy{zzyzz{{zz{z{zzz{z|zy{{{|{{{{zz{{z{{z{{z{{{|{{z{zz{{zz{{{z{{{zyzz{zz{{{{zz{|{z{zz{{z{{{|{{{{{|zz{{zzzz{{{{z{{{z|{yz{{||{|{{|{{zzzyz{zz}{{|{{|{y{z|yzz{zz{{z{{zzyzzyzz{{{{{{|{{{zyzz{zz{{{{{{{zzzyzzzyz{|zzzzyyyyzzyyzyzzy{{zyxyyzyyyyyyzzz{{zzyzyyyzyzzz{zy{zzzyyyyyzz{z{zyzzz{yyyyzyzzzzz{{{zzyzyzzzzyzzyzzzzyzyyyyzzzzyyy{zyxyyyyyzzzzzzzy{zzzyyzyyyyzzz{zzzyyzyzyzy{{y{zzzzyzxyyyyz{{{zzz{yyzxyyyyyzzyzz{{z{zyyyyyzzzzyz{{zzyyyzyzzzy{zzz{{z{yzyzy|y{{zz{{z{yzzyzzzz{zzzzzyy{zzy{yz{{zz{{{zzzzzzzy{z{{{zzzzy{{zzyzzzz{{|{zzzzzyz{z|}|z{{zz{z{z{zyzz{{z{{{{{z{zzzzz{{y{z|{|zzzzzzzz{{{{z||{{{zzzzzz{{{{z{{|zzzyzzzzzzzz{z|z{{z{y{z{z|{z|z{{|zzzzzzz{{{{||{{{zzzzzzz{{z{{{z{z{z{{z{{z{z{{{z{zzzzz{zy{{z{{{{zzzzzzz{z{{{{{z{{zzzzyzyy{{|{z{zyyyyyzxzxy{zzzzy{zyzzzyyyzzz{{z{zzyyyzzzxzz|zzzzzzyyyyzz{{zzzzz{zzzyzzyzzyzzyz{z{zyyyyzzyzzyzyzz{zyzyzyxyzzzzyzzzyzzzyyyyzxyzzz|{yzzzzzzyzzz{yz{zzzzyy{zyyzzy{{zzyzzyyzyzzzy{zz{{zxyyxzyyzzzzzz{zzzzyyzyyyzy{z{z{zyzyyyzy{zy{zz{{yzzzzyzzzzzyzzzzyzyzzyzyzz{{z{{{yyzzz{zzzzzzz{z{z{zzzyyyzz{{{{{zzzzzy{zz{{{{zz{{|yzzzzzz{{zzzz{{{zzz{yz{{z{|{||{zzzzzzzz{|{|{{{{{zzzyzzy{{{z{{{{zzzzzzzzz}{z{{{|{z{z{{zyz{y{{|{{{yzzzzzyz||{||{{{zzzzy{z{{y{{{z{{zzyzzyz{{z{z{|{z{zz{{{z{{z{{{{|z{zyzzzzzz{zz{{zzzzyzzz{yzz{yz{zzzzyyyyyzz{zzzz{xzyzyyyyy{zy{zzzzzyzzxyxzy{{zzzz{zzyyzzyzzzzx{{zyzyyyyzzzzzzyzzz{zyyzyzxyzzzyzz{yyzyyyyyzzzzzzz{zyyzyyyyzyzzzzzyzxyyzyyzyyyyzyzyzyyyyyyzyzzzyyzzzzyyyzyzzzzyz{zzzzyyyyzyzzz{yzzzyyyyyyyyyzzyzzz{yzyzxyyxyzzzz{{|yyzzyzyxzzzyzzz{zzzzzyzzzz{zzzzzzzzyzxzy{{z{{z{{yzzy{yzzz{zy{y{zyy{yzyyyz{z{{zzzyyzyzyzzzzzzzzzz{yyz{zzzz{zzzz{{zzzz{{z{zz{{{{{zzzzyzzzz{{z{{{|{zzz{yz{yy{|z{{zzzzz{yzzz{z{{{z{{{{zzzz{zyzzz|{{{|{z{zzyzz{z{z|{{zz{zzzzy{{{{z{{z{z{zyzyzz{z|{zz{z{zzz{zzz{z{{|{{zzzzz{zz{{|{z{{z{zyzyzzyz{{{{{{zzz{zyzzyyy{{zzzzyzyyzyyyz{{z{zzzyzyzzyyyzz{zzzz{{zyyzyzyzz{z{z{zzzzyyyyyzzzzyzzyyzzzzyzx{{zzz{z{yzzyyyzyzzyzzz{z{yyyyyyyzzzyzzzzyyxyzyxyzyzzzzzzyyyyzyyzyzzzzz{zzyzyxyyyzzzzzzzz{zyyyyzyzzzzz{z{{zzzzyxzzzzzzz{z{zzzyzyyzz{zz{zzyyzzzzyyzzzyzz{zzyyyzyzxzzy{zzz{yyyzyyzzzzzzz{z{z{zzyzyz{z{{z{{{zzyz{zzzyzz{{{{{yyzz{yzz{{zzzz{{zzzzyz{zz{zzzz|{{zzyz|y{z{zz|{{{zzzzzy{zzzz|{{|{zzzyzyzz{{z{{{z{zzzy{zzy{|{y{{{|{zzz|{zz{{{||{{{{zz{{{zzz{{|z{|}|{zzz{yzz{{||{{zzzy{z{zyzzz{{{{{{yy{zzzz{z{{z{{{zzzzzzzz{{{{z{{{{{zzzzzz{zz{{z|{{yzyyyzzzz|z{{{zzzzzzzyy{{zzz{{{zzy{{yyzzz{{z{{zzzzzzyzzzzz{{{z{zzzzyyyyyz{{z{{|zzzyyyyy{zy{zzzzzzyzzzyzzzz{{{{{y{{zzyyy{z{yyz{zzzzzxzzzzz{{zz{{zzzzzyzy{z{{z{{{zyzyyzzzy{zz|{{zz{zyzzzzzz{{zz{zzzzyzyzyzzz{zz{{zzzyzzzzz|zzz{zz{z{{zzyzz{{zzz{|zyzzzzzyz|{{{z{{{{{zzy{zzzz{{{z{zz{zyzzy{{{z{{{{{zz{zyzyz{z{z{{{z{zyzyzz|z{{{{|{{zyzzzzz{{{z{{z{zz{y{{{{{{{{{{{{zz{zzzzz{|z|{{{{{zz{{zzz|z{{{{{{{{z{|{{{|{{{{{||{{z{{z|{{{{{|{|||{zzz{z{||{|{{{||{zy{{z{{{{}{{{|{z{zzz{{{zz|{|||zz{z{z{{{{z{|{{|{{z{{zz{{{{{{|{z|z{{x{zzz{{{z{{{{z{zzz{zzzzzz{yzzzyyzyyxz{z{z{z{zzzyzyyyzzz{zzzzyyzzyzzyzzzzz{{zzyzzzyyzzy{{yzz{zyzyy{zyzzzzzy{zzzzzyyzyz{zzyzzz{yyyyzyz{z{zyz{z{yzzyzyyzyyzzz{zyzyzyyzzy{zyz{z{zyzzzyzzz{{y{zz{zzzzzzzyzzz{zzz{zyz{{xzyyzzzz{zzyzyyzyzzyzzz{{z{zzyzzyzzyz{{z{{{zy{yzxyzzz{{{z{{zyyzyyzz{{zzz{{{zzyyz{xyz{|z{zzzz{zzzzzzzz{{{{{zzzzzzzzyz{{z{{{{yzzzzzzzzz{z{{{{{z{{zz{z|{{|z||{zz{y{zz{{{{zzz{{{{zzzzzzz{{{{{|{{{zz{z{y{|z{|{|{{zz{z{{{{{z|{{{{z{zzy{{zz{{{|{{{{zz{zz{{{{{{{|{|{z{zz{zz{y{{{z{zz{z{{z{{{{{|{{|{z{zyzzyzz|z|z{{|zzzzyz|zy{{{zz{{zzzzyz{yz|{{zzzzzzzzyzzyy{zzzzz{zzyzyxzzzz{{zz{zzyyxzxyxyzyz{{{{zzyy{yxyzyz{z{zzzzyyyyzyzz{z{{zzzyyyzyzyz{zzzz{zzzyyyyyyzzzzyyzz{zzyyyyzyyzz{{{{yzxyyyyxzyzyz{{zzyyzyzxzzzy{z{{zyyzyyzyxzz{zz{z{zyyy{yzzzyzzzzzzyzzyyzyyy{z{zz{{zzzzyzzy{zzzzz|z{zzzyyzzz{{yz{{{xzzz{yzzzy{z{z{{{{yyyzzz{z{{zz{{zzzzzy{zzzzzzzzzzyy{zyzyy{{{zz{{zzyyyzz{{{zz{{{{{zzzzz{z{z{{|{|{yzz{{{{zz{zz{{{{{zzzzzxy{|{zzz{{{yzzzzzy{|zz{{{{{z{z{zzzz{{z|{{{{z{zzzzzz{{|{z{|z{{{zzz{{z{z{{{z{zyzz{zzz{z{{{{|{{zzzz{z{z{||{z{z{zyzzz{{{z{{z{{{zzzzyzyz{z{y{z{{xzyzyzy{zzzzzzzyzy{yyyyz{zzzyzzzzyyzzyzzzzz{zz{zzyxzzyz{z{zzz{{{zzzyyzyzz{zyzz{zzzyyyyxzzz{z{z{zyzzzzzyzzzzyzyyzxyzyyyzzz{{yzzzzy{yyzzzzyz{zz{zyyyzyyyyyzyyzzzzzzyyyzyzzzzz{yzyyyxyyyzzzzz{{|zzzzzyzxzyyzyzzzzyzyyyyyzyzzzzzzz{yzzyzzyz{z{{z{{{yzzyyyzzy{z{zzz{zyyzzzz{{zz{{z{zz{yyzyyx{zzzzzz{{zzzzyzyzz|{{{{{zyzzzzzyz{{yz{zzyyyzzzz{{{zzzz|zzzzzzyz{|{|{{{z|zzzz{zzzzz{{{{{|zzzzyyyzz{{{z{|y{zz{zzz{{zz{{zz|{z{z{{zz{{{z{{{|{{zz{z{z{{{{zz|{{{zzz{{z{{z{z{{{{zz{z{z{{zz{{{{{{{zy{{z{zz{{{{{|z{zzzzyzzzz{{{{{zy{{yzzzzzz|{z{zzzzyzzyzzz{zz{{zz{yzyzzzyzzzzy{zyyzyzyzzy{{yzz{{zzzzyzyyzzzzzzzzzzzy{yxzz{zzzzzzyz{zzyzyzz{{zzz{zzzyyzzyzzy{zzzzyyyzzyyy{zzzy{yzzzyyzzxyyzzzyz{zyzyzyzzzzzzzzzzzzyzyyzyzzzzzy{{{zzzzzzyyzz{z{z{zzzyzyyyxzyzzyzz{zzzyzzzzyz{z{{z{zzyyzyzz{z{{{z{{zzzy{z{yzzz{zzz{zyzzyzzyzzzzz{{{{yzzzy{yz{{{{{zz{zzzzy{zz{z{{|{z{zzzyyyyzz{{z{|zzyzzzzyz{{zzz{{|zzzyzz{zz{{{{{{{zz{yzzz{z|z{{|{{{zzzzzzz{{|{zz{z{zzzzzy{{{{{{{{{{zzzz{{{{{{{{{|{{zz{z|{{z|{{z|{|zzz{|zz{z{||{|{z{yz{zyz{{zz|{|{{{zzyz{zz{{{z{{{{{z{zzz{zzz{{z{{{{zzzy{z{z|zz{{{{zzzy{zzyzz{zzyz{yzyyyyzzzzzzyzzz{yyyyyzyyzyzz{|zzyzzyyyyzzzyzz{yzyzyyzzzyy{zzzzzzyyyyxyzyzz{zyy{yx{yzxzyyzzzzzyyyzzzyzzyyzzyzzzzzyyzzyzyz{zzzzz{zyzyzxzyzyzzz{zzzyyzyyyzyz{zzzz{yyzyxyzyzzzyzz{yzzyzzyyyzz{zzzzzzzyxzyzxyzzzzzzzyxzyzyyxzz{{yzy{yyyzyyzyyzzz{{{{zyyyzyzzyz{zy{zzzzzyzyz{{z{{z{zzyyzz{yzyy{{{{{{{yzyzyyzy{zzzzz{z{zzzzy{zz{{zzzy{zzyzzzzzz{{{{{{{zzzzzz{zz{{{{z|z{zzzzzzzzzzz{{{{zzzy{zz{{{{{z{{{{zzzz{zz{z{z||{{zzz{zzyxz{{|{{{{{z{{zz{{z{|{{|{{{zzzzz{zz{z{{|{{zzz{{zz{z{{{{{{{zzzzzyzy{z{{{{{|{zzz{zzyzz{{zzzzyzzyzyyyyzyzz{yz{zyyzyzyy{{z{z{{zyyyyzyz{zzz{z|{zzzz{zyyz{{y{{z{z{yyxyzzzyzzzzzzyzzyyzzxzzzzz{z{zzyzzyzyyzzyzz{{zyzyyzzy{z{z{zzyyzzyzzyyz{zz{{zzyyzyyyyzyyyzzz{zyzzzy{yz{z{zzzz{yyzyyyyyy{y{{z{{zyyzyyyyyzyyzzyzyyyyzzyyyz{zzzz{zzzyz{xz{zzz{zzzyzyyzzyz{zzyzz{{{yyzzzzyzz{{{z{{yyzzzyyzz{zz{{{{zzzzyyzzzy{|yz{yz{{zzyzzzz{{{{{zzzzzyzzzz{zzz{{{zzz{z{zzzyz{|{{{z{zz{zzzzzz{{{{{{zzzz{zzz{z{{z{{{yz{zzz{{z|{{{{{{{z{zz{zz{{{|z{zzz{{{{{zz{{|||{{{{z{z{zz{{z{{|{{{{{z{zzzz{z{{{{{{{zz{z{zzzz{{{{{z{y{yzyzz{z{{{{{zzz{zzzz{|z{z{{zzz{yzzyz{z{zyzyyzzxzyzzyx{zyzzzzyzzyyyyyzzz{{z{{{zyyyyzyyzzyzzzyzzzzyyzzzz{zyzzzyyyxyyzyzzzzy{{{zzy{zyzzy{zzyzz{zxywyyyyyyzyyzz{zxyyyzzyzyzyzzyzyyzxyyzyyzz{yz{zzyyzxzyzzzzyzyzzzyzzy{yxzzzzyzz{yzyzzyxyxyzzyzzyyyzyyyyz{zyzzzyzyzyyzyzyyzzzzyyzyyyyzyzyzzzyyz{zzyy{yzzzzz{z{zzzzyzzyy{yzzzzzz{{zzzyyzzzz{z{{{{zzyzyzzzzzzz{yzzzyz{zzyzxz{{zz{zzzyzzz{zz{zz{{{{z{zzzzzzz{{{zz{{{{yyzzzzzz{zzzz{z{zzz{zzzzz{{{{{{{zzzzzz{{{{{{{|{zzz{yz{zz|{{{z{{{yz|zzzz{zz{{{{{zzzyzzyz{{{{{{{z|zzz{yzz|zz{{{{{zz{zzy{yzzzzz{{zzzzzzzzy{{z|{zzzzyzz{yzzzz{zz|z{z{yyzyyyz{{z{zz{y{zyzzxz{y{yz{{z{zzyz{yz{zzzz{|{zyzyyzyzz{{{zz|zzyyyxzyxzz{zy{{zzzzzzyzzy{yzzz{z{zz{zzyyzzzzyz{zyyyyy{yzz{z{zzzzzyzzzyzyzz{{z{{{zxy{zzy{{z{z{{zzzzzzyzzyzz{zzz{{yz{zzyyyyzzzzzz{zzyyyyzzzzzyz{{{zyzyzzzyzzz|{{zzzzzyzzzzzzzz{z||{zyzzzzz{{{zz{z{{zyzzzzz{{zz{z{{{zz{zyyzz{|{z|{{zxzzzzzzzz{{{{{z{zzyzzz{{{{{z{zz{z{zzzz{zz{{{|{{z{{{zzz{{{{{|{{{{zz{zzzz{{{{{{{{{{z{z{z{{z{{{|{{{z{z{{y{{z{{{||{{zzzz{{{z{{||{{{{z{{{z|{|z{{{{z{zyz{{{z|z{{{{{||{zyzzz{{{{{{|{{{{z{{zzzz{z{{z|||{|{zy{{zz{{|{{{|zzzyzzyzz{|z|zz|zyzyyzyyzz{zzzzzzzzzzxyyz{z{{{zzzyzyyzyyzz{zzz{zzyzzyyyyz{z{zzzzzzzzy{yyzz{{|{y{zyzzxyyzz{zzyz{{zy{zzyyyzz{{y{zzzyzzzzyyyzz{zzzyzyyzzxyzzz{zzzz{zzz{zyzyzyzzzz{zzzyzzzyzzzzzzz{zzzzyzyzyzzzy{{zzyzyzzyyzyzzzz{zzzyyyyzyyzz|zyzzzzzzxyyzx{zzzzzz{zzz{yzzzzz{y{zyzzzzyyzy{zzzzz{|zzzyzzzyzyz{{{{z{zzzyzzzzz{{zz{z{z{z{zzzz{{{zz{z{{zzz{zzz{{{{z{{{{z{yzz{z{|z{{{{|yzzz{zz{z{|{{{{zzzzz{yzz{{z{{{||{z{z{zzzzzz{|{{{{z{zzzzzy}|{|{{{{{{{yzzz{{{{{|{{{zz{{zy{z{z{|{{{{{yzy{zz{{{{{{||zzzy{zzzz{z{{z|{{z{{zzzz{{z{{z{zzzzzzyzyzz{y{yz{yzyzzzzyz{zzyz{zyyyyyyyy{{zzzzz{z{yzzyyz{zzzy{{{yzyzxyyyzzzzyzzzzzyyyyzyzzzzzzz{{yzyzyyxzzyzzzzzzzyyzyyxyzyzy{zzyzyyzxyzyyzyy{yzzyzyyzzyzzzyyzzy{yzzyzyzzzzy{{zz{zzyzzzzyz{z{zzzzzzzyyyyzyzzz{z{zzzyzyzyyzzyz{zzyzzyyzyyzzz{{zz{zyzy{zzyzyz{zz{{zyzyzzzyzz{{zzzzzzzyyyzz{zzz{{z{z{zzzyy{{{zz{{zzzzzzzzzz{{z{{z{{zzy{zyzz{{{{z{{{zzzyzzzzz{{|z{{{y{z{{{{z{{z{z{{{{zz{zzyz{{{{{{{{{yzzz{zz|}{{|z{{zyyzz{{zy{z{z{|{{zz{y{z{z||z|{|{|{z{zzzz|{{{{z{{{zz{{z{z{{{z{{{{{zzz{zzyz{{{{{{zzzyz{zzyz{{z{||{zzzzyzzy{{{{zzzzzz{zyzyzyzzzzzzzxyyzyyzzzy{zz{zzyzyzyyyzzzzzz{z{zzyyyyzyyzzzz{zzzyyzzyzzzz{zzz{{zyzzyyzyzz{yyzz{zzyzyyyxy|zyz{zyzzyyyyyyzzzzzzzzzyyyyzyyzzzzzzzyzyzzyyyzz{{z{z{yzzzyyyyzzzzz|zz{zyzxyyzzyzzzzz{{zxyzxzzyzzzzz{zz{xzzzyzxy|zzzzzyyyzzz{yyzzz{zy{z{zyyyzzz{zz{zzzzzzyyzzy{z{zz{z{{yzyzyyzzy{zyzz{zzzzzzyyzzz{|{zzzzzzyzzyy{{zzzz{{zyy{{zyz{z{{{{{{{{zzzzzzz{|{{{{{{zz{zz{zz|zzz|z{zzzzzzzz{z{{|{{z|zzz{zz{z|{{{{{zzzzyzz{{z|{{{|{|{z{zz{zzz|{{{||{{z{{zzzz{z{|{{{z{y{zzz{{{{zzz{{{|{|zz{zzz{{|||z|{z{zz{{zz{|{zz||zzzzzzzzz{{zz{{zzzyyzzzzzz{{z{z{zyzzyyyyyyzz{yzzzyzyzyzyzzyz{{{{zzzyyzxyzz{yz{{{zz{zzyzyzz{z{xzzzzzyyzyy{z{zzzz{zyyyxzyzy{yzzzz{zzyyyyzyyzzzzz{zzzyyyyzyzyzzyy{zyzzyyzzzz{yzzz{zz{zyxxyzzzzz{z{zyzzzyyzxy{zzzz{{yyzzzyyyzzzzyzz{zzxyzyyyyzyzz{{zyyzzzzzyzz{zzz{{zyyzzxyy{{zzz{{zyzzyyyzzzzz{zzzyy{yyyyzyz{{{{z{{zyzzyyyyz{z{{|{{zyzyyzyyz{{zzz{{yzzz{zyzz{zzzzzzzzzzyzyy{y{{zzz{zz{zzzz{{{z{z}{{zz{zzzzx{|{zz|{{{zzzz{zz{{{z|||{zzzzz|{{|{{y{|z{{zz{zzzzzz{{{{||{{z{{zzz{zz|{z{{|zzzz{zzz{{{{{{{{z{zzzz{z{{{{|{zz{{y{{zzzzzz|{{{zzzzzzzz{{{{{z{{z{{yzzyy{{y{z{zyzzyyyzzxzzzz{z{zzyyxzyzzzzz{{{{{y{z{zz{xz{zz{zz{yy{zyyz{{z{zzz{zzzz{yyzz{yzzzzz{yz{zzyyyyz{zyz{{zyzzzzyzzzzzzzzyyzyzzzzyzzzyzz{zyzzzzzxyz{zzz{{zzzzzyzyzyzz{z{zzzzzyzzyyyzzzzzzzyyzzzzzyz{yyzzzzz{zyyzzzy{zzz{z{zzzzy{yyz{{zzz{zzy{y{zzzzzzzzz{{yz{yz{y{{z{zzyzzzyzzyyzzzzzzzz{zzyzzyzzzzz{{{{{{{z{zzzzy{{{{{{|{{zzz{yzy{{{{{z{{{{{z{zzz||{z{z|{zzzyzzz{{{z|{|{{{|yy{{yz{{{{{{z|{zz|{y{z{{{{{{{{zzzz{{z{{{{{z|{|{zz{z{z{{{{{{|||{zz{{zzz{zz|{|{{|{{{zzzzz{z{z{||{{{zzzzz{{{{z|zzz{yzzz{zz{z{{{{|zzzzyzzy{{|z{{{{{{{yzyyzz{zzzzz{zyyzyzyyy{{zz{yzzzxzyyzxyzz{zzz{zyyyyyzyzzzzzz{zyzzyyyyzzyzzzzzzyzzyyzyyzyzzz{zzzz{yyzzxyzzyzzz{yxyzyyyy{z{zy{zzyyyxyzyyzzzzzzz{yzyyyyyzzzzzzzzy{yyzyyyyz{{zz{yzzyzzxzyzzzy{zz{{yyy{zyzyyzzzyzz{yxyyzyzyy{yzzz{zyzzzy{yz{zzz{{zzzyyyzyyzzzyyzzzzzzzzzzzzzzzzzzzzyzzzzyz{{zzz{zzzyzzzzzyzzz{z{z{zzy{yzyyy{zzz{{{{z{zzzzyz{{zzz{zzzyz{z{zzzzz{{z{{zzzzyyzzz|{{{{{{zzzyzyzzy{z{z{{{yz{{yyzz{{zz{{|{{{{{z{{{z{{zz{{{{zzz{zzzz|{z|{{|zzzzzyzz{{z{{{z{zz{z{zzy{{z{{z{{{zzz{zzz{{z{{{{z{zzyzzyz{{{{|{z{z{{zz{xz{{{{z{{z{yzyzyzzzzz{{zyzzyyyzzzyzzzz{z{zyyyyyyzyyzzzzzzzy{yzzzzzzzzz{{z{zzzyyzzyyzzyyzzzzzyxxzzyzz{zz{z{zxxyzzyxzzy{zzzzzzyzzzyyzz|zyzzzyzyzyyyyzzzzyzzzyyyzyyyyzzzzz{zyyxzxyzyxyzzzzz{zyzyzyzzyzzzzzz{zzyzyyzxxyzzzzzz{zzzyyyyz{zzyz{z{zzzz{yyyzyz{zzz{zyyyzyyzzzz{yz{{zyyzyyzxyzzz{zz{yyyyzyzzzzzyzzzzzyzzzzzyz{zzzz{zzzzyyyyyzzzz{z{zzzxzzxzzzz{zz{z{{zyyzzzz{|{z{{zzzzzzzzzz||z|{{z{zzz{zyyzz{{{z{|z{zzy{zzz{|{z{{{{yzzzzzz{{{{z{{{{{zzz{zzz{{{{}z|{{zz{zz{zz{z{{z|{zyz{{{zz{{zy{z{{{zz{{{zzzz{{{{{{{{{zzzzy{z{z{{{z{zyyzzyz{{y{z{{zyzzz{{yyzz{zzzz{yyzzyzyyzzz{{yyzzzyyyzyyz{yz{zzz{zzzyyyyzz{zzzyzzyzyzyyzyzz{zzzzzzzzyzyyzzzzzz{{xyzzyyyyyzyyzzzyzyyyyyyyyyzyz{{zzzzxyyyyzyzyz{zzyxyzyyyyyzyzz{{zzzzyyy{xyzzz{y{zyzyyyzyyyzzyyz{{zzyyxyzyyzyzz{z{xyyyyzyyyzy{zz{zyyxyyyzyzyzzz{z{yyyyzzyzz{z{z{z{zzzyzyzyyz{z{z{{yzzzyyz{yzzzzzzz{zyzyyzzz{{{{|{zzyzzzzzy{{{{{zzzzzzz{yzz{zzz{z{z{zzzz{yz{{{{z{zzyzz{z{zz{zz{{{{{zzzz{yzyzzzz{zz{{yzzzyzz{|z{{{{{zzzzyzzzzz{zz{{{{zyzyzzzz{zz|{{z{zzzyzy{zzz{{{z|zzzyzzzzzzz{{{|{{z{{zz{{z{{{|{{{z{{xzyz{yz{{{{{{{{yzzzzzz{z{{{{zzz{yzzzzz{{z{zyzzxzxyyyyzzzzz{zzzzyyyxzzzzyyzzzzzzzyyyzzzyzzzzzyzyzzyyyzzzzzzyzzzyzxyzxzz{{zzzzzyzyyyyzxyz{zzzzzzzzyzyyxzz{zzzyzyyzyyyyyyyyyzz{{yyyyyyyzzyzyyzyzzyzyyyyzzzzy{{zzzyzzzzxyyzzzzy{zzyy{zyzzxzzzyzzzyyyyyyzyyzzzz{y{zzzyyzyyzzzzzz{yzyzyzyyz{zzyzzz{yzyzzyzyz{zzzz{zzyyzyzzzz{{z{zzzzyz{yy{yz{{zzz{y{y{zyzyyz{yzzz{{zzzzz{zz{zzz{zz{{zzzzzyzzz{{{{{zyyz{yzzz{z{z{{{{zzzzxyzyzzzz{z{y{yzzzyz{{z{z{{|{yyyyzz{y{zz{{|{{{zzzzyzzz|zz{|zz{{{zzyzz{z{{z{{{|zzzzzz|zz{z{{|{zz{zz{z{yz{{z{|{zzzzyzz{zzz|{{{{zzzzzz{zzzzzz{{yzzzyyzzyz{zz{zzz{yyyyyyxyz{yyzzzyzzyyyzyzzzzzzz{yzyzzyyyzzzzzzz{zz{yyzzyz{zzzzzzzzzyyyyyzzzzz{{zzzzyyyzzz{{{yzzz{yzyyyzyyzzzz{zzzyyxzyyyzzz{yz{zyyyzyyzzyzyyzzzyzyzyzzyzzy{y{zzzzyzzyyyxzzzzzz{zzyzzzyyyx{zzzzzyyyyyzyzzz{yzz{{{yyzzyyzyyzz{zz{{y{zz{yzzz{zzyz{{zyzzyy{{zz{{yz{{zzzyyzyyz{zz{zzzzy{zzz{zzzzz{{{z{zzzyyzy{zzzzzzz{zyzzzzz|z{{z{z||{z{zzz{zzz|{zzzzzzzz{zzy{z{{{{|zzzzzyzz{{|z{{{z{zzzz{{{{|{z{z|z{yzz{zz{{z{z{{z{{zzzzzz{{|z{|{|{{zz{{y{{{{{{{{{y{z{{{yzy{{z{{{{{{z{{zzz|{{{z{{z|zz{zzz{z{{z{{{z{zzyzzzzz{{{z{z{yzzzzzzzz{{|zzzzzzzzyyyzzyz{zz{zzyyzzyzzyyzzzzz{zzy{yzyyzz{zz{zz{zyzzzxyzy{z{{{z{zz{xyyzy{zzyz{z|{yyzzyyyzz{{zzzzzxyyyzxyyy{zz{zyzzyyyyyyzyyyzzzzyyyzyyyyzzzzy{zyzyxxz{zyz{zyzz|zyzzzyzyyzzzzzz{yzyyyyzzxyzzyzzzzzzzzzzyxyzzyzzzzzyyyyyzz{z{zzz{z{yzyzy{zzzy{zzzzzy{zzyzzzzzzz{{zzyzzzyyyz|z{z{zzzzyzzzzzz{zzzz|{zzzz{zzz{z{y|{{{{yzzzzzz||{{z{{{{yzzz{yzz{{{{{z{{zz{zzz{{z{|z{z{{z{{{zyz{z{{{|{{zzz{z{zz||{{{{|{{z|zz{z{z{z|{z{{{zzzzzzzz|||{z{{|{{{z{zz{{{z{|{{{z{zz{yz{z{z{{{{|{yzzzyzz{{{{{z{{{{zz{zz{z{{z{z{yzzzzyzz{{{|{z{zz{{y{{yyz{zzzzzzzzzyyyzyyzzyz{yzzyzyyyxyyyzzz{z|{xyyzzzyzzzzz{zzyzzyyzzyyzzzzy{zzyzz{yzyzzzyzzzzyzzzzyzzy|yzzz{z{zzzyyzyzyzyz{zzzyyzxyzyyzzzyzyyxzyyyyzyzzzzz{{yzzyyyzyyzzzzzzzzyzyyzzzyyz{zzz{zzxyzzzzxyzzzzzzzyyyyyzyzzzyz{z{{yzzzyzyzzy{zyzz{zzzyyyzzy{z{yzzzyyyzzzyy{zz{zyzzzzzzzyzz{z{y{{z{zzz{zzzzzzzyz{zzyzzzyzzy{{{yyz{{zyyz{zzzz{{zz|{zz{zyzzzzz{z{{{{zzzzyzz{z{{z{|{{{{yy{zzzy{{{{{{{||zyzyyzzz{|z{z{{zz{{z{{zz{{{{{{{{zz{y{zzz{{{{z{{zzzz{{zy{{{{z{{z{zzyzzzz{{zz|{|z|zyyzyzzz{zzz{{|z{zzzzzzz{{{zz{{zzzyzzzzz{{|zzzzzyzyyzyzzzz{zzzzzzzyzzzyy{zzzzyzyzxyzyzzzzzz|{{{zzzzyzzzyyzyyzzxzzzzyzzyyzzzzz{yzz{yxzyy{zzyzz{zzzyyzyyyy{zyyzzzyz{yzyzyzy{yzzyz{yyzzyyyzzzzyzzyxyyzyxyxyz{zzz{yzyyzyyyyzz{y{yzzzzzzyzyzyzz{yz{zyzyyyzzzyzzzzzz{zyzzzyzyz{xzz{{{zyyyzzzzzzyzz{{zzzzyzyz{zzzz{{zzzyzzyzzz{z{{{zz{zzzzyzyy{zzz{{zzzz{{zz{zyzz{zz{zzyzyyyy{z{z{z{{zzyz{{zyyyyz{zzyzzz{zzyyz{{z{zz|zzzzz{yzzy{z{zz{zzzzzzzxz{z{z|{{{{yz{zzz{{|z{{{||{zzyz{{zz{{{z{|||{z{z{{yz|z{{{{{{z{zzz{z{|{z{{{z{zzzz{zyzz{{{zz{||z{{z{{z{z{{{{{{zzzzzzzzz{{z|{|z{zzz{yzzzzy{z{{zzzzzxz{z{{zzzzzyyyyy{yyzz{zyyz{yyyyzyxyzzyyzzzzzyyyzyxyzz{{z{{{z{yzyyyzzzz{zyzz{{zyyyzyzyzyz{zzyyzzyyzyz{{yz{{{zyzyzxyyz{zzyzz{zyxzyzzzyzzzzzy{zzyyzzxyz{zzzy{zyzyxyyyyz{{zzzz{zzzzyzxy{zz{z{zzyyzyzyzxyzzyyzzzyyzyxzzyyzzyy{{zzyyzzzzy{{zzzyzzzzzzyyzyyzz{zz{zzyzyzzzyzzyzzzzz{yzyyzzyzy{zz{z{zzzyzxzyz{{{z{{yzz{zyzyyz{|z|zz{{zy{zzzz|{{{zzzzzzzyy{zyzz{zz{{zzzzzzz{z{{z{{{|{zyy{zzyzz{zz{{{z{yzyzzzzz|{zz{{{z|zzzzzzy{{{z{{|{{z{z{z{{{{zz{z{{z{z{y{z{{{{z{{{zyz{{zz{z{{{{}z|{{zz{zzz|{z{|{|{{{zy{zzzzz{{z{z{zzzzzz{z{z{{{z{zzyzyzzzzz{z{{{zzyzyyzzyyzz{zzzz{yzyzyxyyzzzzyzzzzyzzyzzyzyz{z{{zyyzyzyyyzxzzzyzzzyyyzyyy{z{zy{zzyz{yyyzyy{zzzzzyyzzxyyyzz{{zzz{zzyzyyzyzzyzzy{yzyzzyzyzyzzzz{yzzyzyzyzyzyzzzz{zzyyzzyzyzyzz{y{{zz{yyzyzyyzyyzz{zzyyyzyzyzzyyzy{zzyyzzzyyz{zzzz{zzzzyzz{zzz{z{{{{zzyzzzyz{zy{zz{{yyyzyxzy{yz{zz|{yzzyyzzyz{{zz{yzzyzyzzzz{{zzz{zzzyy{yzz{{{y{{{{{{zzzzzy{z{|{z{z{zyzzy{zzzz{{z{{{{zzzzzzyzz{{{{{{zyzzzz{z{z|z{{{{zz{zz{zzzz{zzzz|{zz|z{yz{{{z{z{|{z{z{yzz{z{{{z{{{zzzzz{zz{z{{{{|{{{{yzzz{z{{{{|{z{zzzyzzz{z{z{|zzzzyzzzyz|zz{z{zzz{xzyzz|z{{zzyzxzyxyyzyz{zzzy{{yyzyyzzzyz{{y{zy{yzyzzzz{zzz{z{yyyzyyzyy{zzz{zzzzy{xxxzyzzyzyzzzzyzxyyzxyzzzzz{zzzzyyyzyyzzzz{zzzyzyyzyy{zzzz{{zyyyyzyyzzzyz{yzzzzzzyyzyyz{z{zzzzzyzzy{yyzz{zyzyyyzyyyyyy{zyz{{yzzyxzyyyyzzzzzzzzzzzzzzzz{zzz{{zzzyyzyyzyzzzz{z{xyzzyyzzzzyzz{{{zz{yyyzyzzzyz||{zzzzzyyyzzzz{z{zyzyzyzyy{{{zz{z{zyy{zyy{zyz{zz{zyyzzyzzyz{{{zz{{z{zzzzzz{z{{zzz{zzz{{zzyz{{z{{y{{yz{yzyyzzzz{{{|z{zzz{{yz{zz{{{{zzy{z{z{{{{|{z{|zyzy{z{z{|{|z{zzyz{zz{z{z{{{{{{{{zzyzzzz{||{|{{|{zzy{zyy{zzz{|{zzzzzyzzzz{{{y{{zyzz{yxyz{{{{|zzzyzzzyyzzzzzzyz{yyzyyyzyzzzyz{{zzzyyyyzyxzzy{{{{zzyyzyyyyzzy{zzz{yzyzyxxyzzzzy{zzzyyyzyzyy{zzyzzzzyzyyzyzyzzy{{{zyzzyyyzyz{zz{zzzyyzxyyzyyyzzyz|zzzzxyzy{yzzzz{zzzyyywzyzzzzz{zzzyyzzzyyyyzyyyzzy{{yyzzzyyzyzzzzzyyzzzyzyz{{yzz{z{zyz{yzyz{yzy{zzyyzyzzyyzzz{zzz{zzzyzyzz{zz{z{{{zyzzzyzzz{zzz{zzzzzyyzzy{yzzzz{z{zzzzzyzz{z{zzzzzzzzzzzz{y{|{{{zz{zzzz{z|{{{{{|{zzzzz{yzzz{{{zz{zzzz{{{z{{{{z{{{zzz{zz{zzzzzz{{{{zz{zz{z{{{{z|{z{yzzzz{zz{{zz{{{{yz{zyz{zzz{z{||{{zz{zzz{z{|z{z|zzzzzyy{z{z{z{{{zzz{zzyyzz{{{zz{yy{yzy{zzz{{{zzzzyzyzyyxzzzzz{{{yzyzzzyyzzzzz{{zzyzxyyzy{zzzy{{yyyyzxyzzyzzzzyyzzyyyyyyyzzzyyzyzyyzzzyyyz{zz{zzzyxzxzxyzyzzzyz{zzzyzyzyzzzzyxzy{zyzyxxyyyyyzzzyzyyzyxxyyyzyyzz{zyzzyyyywzyzzzzy{zzyyzyyzzzy{zzzzzyzyyyyyyyyzzzzzyyyyzyyyzzz{zzzzzyz{zyzyyzzyyzzzzzzyzyzyz{z{zz{{yzyzzyzyzzyzzz{{y{zzzyzyy{z{{{yzzzzzz{yyz{{zzzz{yzyzxyzzy{zzz{yz{zyzzzzzz{zz{z{{yzzzzzzy{{zzzz{zyzzzy{yzz{y|z{{zzyy{{zzzz|{z{z{{z{zz{{{{{|z{{|z{zzzzzzzzy|{|{|{{{z{zyzyz{{{{|z{{zz{zyzzzzz{{{|z{{zyzzzz{yzz{{{{{zzzyzyyz{zz{z{{{{zzzyzyzyzz{zz|zz{zzyyzxzz{{{zyzyyyyyzzyzzzzzzzzzyyyyyyxyzzyz{y{zzyyyyyyzzzz{{zzzyyyzyyyyzzyzz{{yyyxyzyyzzzz{zzzyxzyyyxyyyzzyzzzyyyyxxyzzzzzyzzzzzyzzzyyyyzzzzy{yzzxzyyyzzzyz{zzzyyzyyyzzyzyzzzzzyzyzyxy{zzzzz{zzzzyxyyyzzy{zzzyyyyxyyyzyyzyy{{zyyyxzyyxx{zzzzz{zyyzz{zyz{zzz{{zzyyyzxyzzy{{zzz{yyzyyzyy{{zzyz{zzzyyzyyzy|zz{{yzzyzyyzzy{{{z{z{zzyzzyzyz{{zzyzz{zyyyzzyzzz{{{|{zz{zzzyyz{zz{|{{y{zzzz{yx{y{zyz{{yyzzzzyy{{{{zz{z{zzy{{zyzz{{z|{{zzyzzy{zzz{{{{z{{yz{zz{z{zz{{zz{zzzzz{zz{{{{zzz|{zz{zzzy{{z{{z{{{zzzz|zzzzz{z{{{{{zzyzzyz|{{zzz{yzzyzzzzzz{zz{zzzyyzzyzyzzzyzyyzxzyzyyzy{zyz{z{zz{yyyzzz{yy{{{zzyyyz{xy{zzzzzzz{yzyzyzyyzz{zz{zzzyyzzyyxyyzyzzzzzzzyyyzzzzzzyzzzzyzzzzyyzyzzyzz{yyyyzyyzyz{zzz{zyyzzyzxyzyzyz{zzyyyyyyzzyz{zz{{zzyyyyyzzyzzzzzzzyyyyyzzyyyzz{zz{zyzx{{yxyz{y{{{{z{yzyzzzyzz{zzz{zyzyyzzyzz|zzzz{{zzyyyzzzzzyzzzzzzzzzyzzz{{{zzzzzyyz{zzzzzz{zz{{{zzzzyyzzz{z{{zzz{zzz{zzzz{{z|{{zz{zzz{{zz{{{{z|{{z{zzzz|{{{zz{z{y{z{z{z{|{{|{{{{{{yzzz{zzzz{|{||zzzzzzzz{{z{{{|{z{{yz{{z{{|z{||{zzzzzz{{z{{z{|{{|{zzzz{{{{{{{{{zzz{zzz{z{{{zz{z{{z{zyzy{zz{z{{zzzzzzzzzzz{{zzz{{zyyzzzyzz{zzz{{yzy{zzyzyyzzzzzzzzyzzyzyzy{z{{|{z{yyyyxzzz{zzy{zzzyxxyzzz{zyzzyzyzzyzzyyz{{zzzzzyzyyyyyy{{{zyz{y{zzzyzyyzzy{{zzzzyzxyyyy{z{zzzzzzzyyzzyxyzzz{zzz{yyyxzzyyzzzzzzyzzyyyxyyyzzyy{zzxzxzyyzyyz{zz{{{zzzyzzzyzz{{z{{zzzxyzzzyz{{z{y{yzyzzzyzyz{zzzz{{zzyyyzy{z{zzzz{zzzzyyy{{zz{zzzzz{zzzzz{z{zzzz{{z{zyzzzyzz{{{z{z{{zzz{zzzzy{{|z{{zzyz{z{z{{{{{{{|zzzz{yzz{{{{z{|{zzzz{zz{z|{z|z{|{zz{zzz{zzz{{{{{{zzzyzzz{||z{{{{{zzzyzyz{{{{zz{z{{zzz{z{{zz{{{{{z{z{|z{z{{{{{z{z{{zy{zyz{|z|zz{{z{zzzzyzzzzzz{zzy{{zyyzyzz|zzzzzyzxyyxyxyzzyzzz{yzyzyyyyzz{yzz{zzzzyyyyzyzzyzz{{yyzyzxzyzzzzzzzz{zzyyzyyzzzzy{{zzyyyyyyyyyzzyzzzyzyzzyyxzzzzzyzyzyzzzzyxzzyzyzzzxzyzzyzyyzzzzzzyyyyyyyyyyzzzz{zzyzyyyyzyy|xz{yzzyyzyyyyyyyzyzzzyzzyxxyzyyzzyz{{zyzzyzyyxzzzz{zz{yzzyyyzyyzzyzzzzzyxzzyzzyzz{z{z{zzzzy{zyy{{{{z|zz{zyzyzyzyzzz{zyyyzyzzzzzy{zz{zzzz{zz{zy{{z{z{zzzzzyzzzzzz{{{z{{zzzzy{{zz{z{{z{|zzzz{zzyyz{{{{{{{{yzz{zyzzzz{z{{zzyzzzzzz{{z{|zz{z{{zzz{z{{zz{{zzzy{y{zzzz{{{z{z{yz{zzzz{{{z{{{{z{{{zzzz|zz{z{z{zyzzz{yzzz{{{{{{z{z{yzzxzzzzy{z{zyzyyzyzzzzzzzz{z{zyzyxyz{y{yzz{zyyzxyyy{zyzyz{zz{xyyyyzyzzzz{zzzy{zyyyyzzzzzy{zzzyxyzzzzzzzyzy{{yzyzzzyyyzzzzyzz{zyyyyz{z{zyyz{yyyyzzzyyzyzy{zzyyyzxxy{zzzzzz{zyzzyxzyyzzz{y{zzzyzyzyyyyz{{zzzzzzz{yyzxxzzyyzzzzyyzyyyyyzzz{zzzyyzyyyyyzyzzyzzzzzzyzyzyzzzzzz{{zz{{zyzyz{z{zzzzyyzzyzyyz{z{z{z{{z{zyzyyz{z{{z{zzz{yzyyzzzz{{z|zzzyzzzyzzz{zz|{{zzzzyyzz{zz{|zz{zzzyyzzzz{z{z{{{zzzzzzyzz{{|{{{z{zyzzy{zz{{{{{|z{zz{z{{z{{{z{{{{{zz{z{zzz{{zz{|{|yzzzzz{zzz{z{zz{zz{{zzzz{{{z|{{zz{zzzzzz{{zz|{{{zzzzz{{z{{z{z{{|{zzzzzyyz{{{zyzyyzz{yyzz{zzzzz{yyyzyxzyyzzzzyz{zyzyyyyyzz{zz{{zzyyyyyzzyyzy{zzzyxyzyyyyz{{zyyzzzy{yyyyyzzzzzzzzzzzyzyzyz{zzz{y{zyyyyyzyyzzyzzyzzzzxxzxy{zzyxyz{zyzz{yyzz{zzzz{{yyyxyyyzz{yzzzzzzyyzzzxzyzz|y{zzzyzyyzzyzzyyy{{zzyzzyyyxz{z{z{zzzy{zzzzzyzzzzzzzyzzyyyyyyzzzz{{zzzzyzyzzy{zz{{zzzzzyzy{zzyzzzyzzzyyyzyzzzzzzz{{{z{zzzyyzzz{|{yzz{zzzzyx{zzzzz{z{{zyzzz{z{{{|{{{{zzzz{zyzz{{zzz|{{yzzyyzzz||{|{{z{zzy{zyzz{{{z{|{{z{zyzz{z{{z{{{|{{z{zzz{{{{{zz{{{yzzyzz{{{z|{zz{{zz{zzz{|{{{zzz|{z{z{zz{{zz{{{z{{zzzzzzzz{{|{|{{{yyzyzyzz{zz{zz{yzzyzyzzzyzzz{yz{zywyyyyyz{{zzz|zyzxyyyyyyyyz{{{zyyyzzyyzyzzyz{zzxyyxyyyzyzzzzzzyzzyzyzyzzzzzzy{zxyyzzyyz{zyx{zzzyzyyyzyy{zyzzzzzyyyyyyzzzzzzzz{yyzyxyyyzyzzyzzyzyzyyyyzyyzzzyyzyzzzyyyyyz{zzzzzzyyzzyxyyyzzyzz{yzyyyyyyy{yzz{zzyyzyzyyx{zzzzzzzzzzyzxzyzzzyzyzzyyzzzyyzzzz{zzzzzzzyyyyzz{{zzz{zyyzyzzyyyz{{zzzzzzzzzzzyzz{zzz{{zyzzyzyzz{zyz{zzzzzyxzzyzz|{zz{{zzzyyz{z{zy{z{{{zzz{yyzyz{{z{{zzzyzzzzyy{{zz{{{{{z{yzzzz{z{{{{z{|yzzz{zzz{z{{{||{y{zzyzzzz{z{{{z{z{zz{yzyy{{z{{{{{zzzzyzz{z{z{zz{zzyz{xzz{zz{z{{zyzyzzyyzzz{{zzzzzzyyyyzz{{zzz{zzzyyyyxxyzzz{zz{zyzzyzyyzzzzzz{zzzzyyzyzzyzyzzzzyyzzyyyyzzzzyz{z{y{xyzzyzzzzzy{{yyyyyxyyyzyyzyzzzxyyyyyyzyzzzzzyzzzyyzyyyyyyyzzzzxyyyxyyzzzzyzyzzzzyyzyzyyzzz{zz{yxyyzyy{zz{zz{zyyyyyyyyzzyzzz{zzyzyyyzxzzzz{zz{yyzyzzyxzzz{zz{{zzy{yzzz{z{yz{{{zyzyyzyzy{zzzz{|y{zyyzzzzzzyzz{{zzzzzzyzzzzz{zzzyzz{zyzzyzzzzz{zzzzyzzyzz{{zy{z{zy{y{zyzzz{z{{{{zzzzzzzyz{{{{{{{zzz{{{zz{{{{zz{{{z{zzzzz{{{{z{z}zzzzyzzz{{z{|{{|{zzzz{zzy{z{z|{zzzz{zyz{z{{{|{{z{zzzzyzzzz{z{z{|zzzzz{yz{{{z{z{|{{zzz{zx{z{z|{zz{yyzyxzyzzz|{z{zzzzyzyzyyzzzzzzzyzyzyyyxy{z{zzzzzyyyyxxyzzxzzz||zzyyyyzyzzxz{z{zzzzyyyyyz{{zzzy{zzzxyyzyyzzzyzz{zzzyxzzyzzz{zzzzyxzyyyyyyz{yyzzyzzzzyyzzzyzyyzzzzyyzyyxxyzzzzzzzzyzxxyyxzzzzzzzzyzyyzyyyzyz{zz{zyyzzyxyyzz{y{zzzzzzxyxyyy{zyzz{zz{zzzzxzy{z{yz{yzzzzyzyzzzzzz{z{yyxyzxzyzzz{zzzzyy{zyzzyz{{z{{{zz{yzzyzyzzzzzy|{zzzzzzzzz{{zyzz{zzzzzyyx{z{zyzzz{zzzzzzzy{{{y{z{zzzzzyzzzzz{z{{{z{zyzyzy{zz{zzzz{zz{{yzz{{{z{|{{zzzyz{zz{{zz{{{{zzzzyy{zz|z{zz{|{zzzzyzz{{zz{z{{|yzzzyy{z{z{{{|{zz{{z{zy{z{{{{z{z{zyzzz{z{{zz{{{{{zzzzzyzzz{|z{yzxzzzzyzzzz{zzzyzzzyzxyxzzzzzzzzzzzxxyyyzzzyz{zyzyyyyyzyyyzzzzz{yzxyyyyxyyyzy{zyzzyyxyyxyy{{zzz{zyzzyzyzyxzzyzzzzyyyyyyyzzzzzyyzzyyxyyyyzyz{yyzzzyyyyxzxyyyyyyzzzzxyyxyyzzzz{yzzzyyyyyzzyzzyyy{zzzyyzyyzyz{zzzyzyzzyyyyyzzyzzzzyxyyyyzzyzzzzzz{{zyyyyzyyzzzzzyzzyyzyyxyyzzz{yz{zyyzyzyyzyzyzzzy{zy{y{yzzyzz{zzzzzyzyzxzyzz|z{zz{yzzyzyzz{zzzy{zzzyxyzy{z{zzzz|zzzzzyyzzz{z{{yz{{zzzzzzyz{{z{{z{z{xzzzyzy{{{z{z{{zz{zyzzzz{{{{{{{{zzzzyzyz{{{z{{{zzyzyzzzzzzzz{z{{yz{zy{zz{{zz{z{{zzzzz{zy{z{z{{{zzzzzzy{z{{z{{{{z{zyzyzyyzzzz{{zyyzyyyyy{z{zz|zyzyzyyzzyyzy{{{zzyyxyyxyyyzzzz{z{yzyxzzyy{{zxzz{zyzyyyzyyzzzzy{{zzzzzzxzxz{zzzzzzyyyyzzyyyzz{zy{zyyyyyyyzzzyzyzzzyyyyzzyzyzyzyzzzyxyyyyyyzzyzzy{zzxzyyyxyzyzzyzzzzyzyyzzyx{zyyzzzzyyzyyzyzz{zzzz{zyyyxzzyyzzzz{z{zyzyyzyyzzzzzz{zzyyy{yzzzz{zz{{z{yyzyyzyzzyz{z{{yyzyzzzzz{zzzy{zzzyzzzzzz{z{{{zzyxzyyyyz{{{zz{||{z{yzz{zzzzzyz{z{zzyzzyyzzz{z{{z{{z|z{z{z{z{{zz{{yyzzzyyz|{z{{{{{zzy{zyy{{{z{{{|{{z{z{z{z{{{{{{{|zzzzz{zz{{{{{{z{z{zzzzz{{z{{{{{{yyz{zzz{{{zz{{{{{zzyzzzz{z{z{{zzzyyyzzzz{z{zz|{zzz{xzz{z{{{{zz{{yzzyyzy{y{zzz{zyzyxyyyxyzzzzzz{yzyzyyzyyz{z{z|{zzyyzyyyzzyzz{{{zyyyzyzzyzzyzzzzzz{zyzyy{z{zzzz{yyyyxyyyzyzzy{zz{yzzzyzxy{zyzyzzzzzzzyyyzzzzyz{zyyyyzyzx{zzzzz|zzzyzyyyzzz{zzzyzzzyyyzyyzyzy{{zzyyxyyyzxyzzyyzzyzyzyzzyzyyyzzzy{zzzxzzzy{zzzyz{zzzyyzyyyzzzzzy{{zyzzyyy{z{zzzzzzyzzzyyyyzzz{{y{zzzzzzyyyzz{|z{zz{zzyzy{yz{zzzz{zzyzyzyzzz|zz{{z{zzzzzzzzz{|{{{zzzzz{zyzz{|zzzzz|{zxzyzzyyz|z{z{{{{zzzzzz|{{{{{|{zzzzzz{zz|z{{{{{{zzzyzz{z{z{{z{{zzzz{z{z|{zz{{{{zyzy{zz{{zz{z{z{{{yyzzz{z{z{zz{{z{zyzzzz{z|{z{{{z{zzzzzyz{z{{z{zzzzzzyyzyyz{zzzzzzzyzxzyyz{yzyz{zyyzyxyyz{zzzzz{zzzxyzyyzyyzy{zyzyyzyyzyyyzzzzzzzzyzyzzyzxy{z{yzyyyyzyzxzz{zzz{z{yzzyzyyy{zyzzzzyzyyyyzyzzzzz{zzyyyxyzyyzyyzz{{yzyyyyzyyzzyzzyzzyzyyxyzyy{zzyz{{zyzyzxyzyzzzy{{yyzzyyxzzyzyzzzyzyxzyyyyy{zzzzz{zzzzyzyzzzzzzzz{{xzz{yz{z{{{zyzz{yyzzyyzzyzyyzzzyyyyzzzzzz{{zz{zzzzz{zzyz{zzyz{{{zz{y{{yzzz{zzz{zy{{zzzy{{zzzz|{zz{{y{zz{{zz{z{|{zz{zyzyz{z{{{{|z{{z{zzz{z{{{{z{{zzyzzzzz{|{{|{{{{yzzz{z{y{{{z{{|{yyzzzy{zz{{y|{{yz{yzyzzzzzz{|{{|zyzzzyzz{z{z{|{{zzyzz{{z{{zz|{{zzzzzzyyz|z{{{z{yz{zyyyy{yz{yzzzzyyyyxxyyzzzzyz{yzyyyyxyzzzzzz{{{yzyzzyyzyzz{{{zyyyyyyyzzzzzyyyzyyxyyyzyzzzzzyy{zyyyyyyxyz{zyzzyyyzyyxzy{zzyyzyyzzzxyzyy{yyzyzyyyyyxyzzzyzzzzzzzyzyyyyyyzyzy{{zzyyyyxzxyyzzy{{zzyxyyyzzzyyzzzzzyyyzyzyyyyzyzz{{zyzyy{zyzzzzz{{|zzyzxzyzyyy{zyyz{zzzyyyzyzzzzzyzzyz{yyyzz{z{yy{zyzyzzyzzyy{zzz|zzzzzyyzzzzz|zyz{z{yzzyyyzz{zyz{z{zzzyzyyyyz{zzz{{{zzzzzz{{zz{zzz{yz{yzyyzzz{{z{zzzyzzzzzz{{{z{{{zzzzzzzzzzzz{z{{z{zzzzyy{z|{|{z{|{zzz{z{{{zzz{{{{{zyyyz{y{z{zz{|{{{zzzzz{{{{{z{zzyzzyzzyzyzz{{{y{{zzyzzzz{zzzz{{{{zzyzxyzzzzzy{zzyyyyzyyyy{zzzzz{yzyyzyyyzyzyz{{zzyzyzyyyz{zy{yzzzzyzyyyzzzzzzy{{zzzyyyzx{{zzyzzzzyyyzzzyy{zzzz{zyyyzyzyyyz{zy{{zzzyyyyzyz{z{zzz{zyzz{xyyzzzyyyzzzyyzyzyzzzyzyzzzzzzzyzyyzzzzzyzz{yyxyzyyzzzzyyzzyyzyzyyxyzzyz{{{yyzzyzzyzyzzzz{zzyzyzz{xyzyyyzyz{yzyyyyz{zz{zzz{yyzzyyzz{y{zz{{{yy{yzyzyz{zzz|zzzyzzzyyyz{zyzz|zz{{zyyyz{zzzyzzzzzzzzyzz{zz{{zz{zzzzzyzy{{|zz||z{zzz{zzzz{{{zz{{zyzy{zzz{{{{z{|{zzzz{{zz{zz{{{{||{zzzzzyz|{|{{{{zyz|zz{zz{z{{{{{zyzzzzzz{z{z|{|{z{zz{zzz{z{{{z{zyzzzzyyzzzz{z{{{zzyzyyzzz{{z{z{{yzyzzyyzzzzz{zzzx{yzyyzyzzzz{zzz{yyyzyzy{zzzzz{yyzyyyzzyz{zz{{zzzzyzzzyyzzzz|{z{yyzyyzzyzzzzzzz{zyyyzyzxz{zzyzzzzzzxyzyzyzyyzyzzxxyyxzyyzzzzzz{zyyyyyyyzzzyzzyzzyyyzyyyyzzzzzzzzyzzzyyyxz{zzy{z{zzyxzzyyyyyyzzz{zy{zzyzzzyzyz{zzzzyyzzyyzzz{{zzzzyyyzy{yyz{zz{{zzzzyxyzyyzzyzzz{yy{zzyyxz{z{zz{{zzzzyyzzz{zzz{zzzz{zyzyyzz{z{z{{{yzzzzzz{{{z{zz{zy{zzyz{zzz{{{{|z{yzzz{zzzz{z{{{yzz{zzzz{{z{z{{z{yzzzy{y{{{{{z|{{yzzz{{{zzz{z{{z|yy{zzzyy{{{{{{{{zy{zz{z{{{|z|{|{zz{zyyzz{{{{{{{{{{zzzzzz{{{z{{{{zzzzz{yzz{zz{{{|z{z{yyzz{zzzz{{zz{zzyyyzz{{{zzzyyyyzxzzyyzzzz{{yyyxyyyyzzzyzz{zyzyyyzyyzyyzz{{zzxzyzyyy{zz{yzz{zyzxyyyyzyzzz{z|zyyyzyzyzz{zyzyyzyzzyyyy{zzzzzyzyyyxyyyyyyzyyzzzyzzyyyyyzzz{yzyzzyyzyyyzyzz{{zxzzyzyyyyyyyzzzzyzyyyxzxxyxzyyzzzzzyyyyyyyyzzzzyzzyyyzzzxzzyz{zzzzzyzyzzzzzzzzzzzz{yzyyyzyzzz{zz{{zyzzzyyyzzzzz{zzzyyzzyzzyzzzyzzzzyzzzzzyz{zzz{{zzyxyzyyyz{{zz{yzyyyyzz{zz{zz{{{yzzzz{yzzz{{{{z{zzzzzyzzyz{z{zz{{{yyzzyz{zz|{zz{{zz{xzyzz{{z{{z{{zzzzzyzzy|zzz{|{zzyyyzzy{z{{zz{z{yyzyzyz{z{z{zz{zzz{zzyzz{{{zzz{yzzzyzyzzzz{zz{zyzyzzzzz{{yzzz{zyzyzzyzyzzyzyzzyy{yyyxyxyzzzzy{{zzzyzxyyz{zzzzz{zyyyzyxxzzyzzyzzyyzyyyyzzzzzzzzzzyzyyzzyyzyzzzz{zzzyyy{xz{yzzz{zzxyxzyxzzzzyzyyzyzyyyyzzyyz{{{y{yyyzyyyyyyzyzzyzzyyyxwxyy{|yzzyzzyyyyyyyyzyz{zz{zyyzyyyxyyzzzzzzzzyyyyyyyzzzz{z{yyzyyzyzzzzzzzz{zyzyzyzyz{{z{zzzzyzzyyzzyzzzy{{|yyzyzzyyzzzzzzzzzzyyzyzyz{y{zzzzzzzyzzyzzzzzz{{yzyyyzzzyzz{{z{{z{z{yzzyyzz{{z{{{zyzyzzzzzzzzz{{{zzyzzzyyz|zz{{{{zyzzzzzz{|{zz{|zzyzzyz{z{{z{|zzz{zy{yzzz{|zz{{{{{{{y{zzz{z{{z{zzzyzz{z{yzzz{{zz{{zzz{zyzy{{{{|z{{yyzzzzzzzzzz{{z{zyzyzzz{{yzzz{{zzzyzyzzyzzzyzyzyyyyyyyyzzyzyzz{yyyxzyyz{y{z{{zzzyzyyyzzyzzz{z{zyyzyyzyy{yz{y{{zzzyywzyxzyyzz{yzyyyyyyzyyyyzzz{yyzzyyzyyyyzyzy{zyzzyyyzy{yy{zz{zyyyyyyzyzzzzzz{zyyzyyzyyyzzyzz{z{zzzyyxxyyy{zz{{yzyyyyxyyzzzzzzzyyyyzyxyzzyzy{z{yyyyyyxyzzzzyzz{zyzzzyzyzz{yyzzzyyzyyzzzzzzzz{zzxyzyxzyyz{zzzy|{yzyzzyzzz{z{z{zzzyzzyyyzzzzzzy{zzzzyzyyzyz{zz{zzzzzyz{zzz{z{{zz{zzzyzy{y{zz{{{|{zzzyzyzy{z{{z{{{zyzzyzzy{z{{{zzzzyy{yzzyz{zz{{||{{zzz{yyz{z{z{{{{zzzzzzz{zz|z{z{zzzz{zz{{yz{zz{{|zzzyzzz{z{{z{|{{zzzzzy{{{z{{{{zzzzzzzzzzz{{z{{zzy{zzyyz{zzzy{y{yzzzyyyyyzzzzyzzyyzyyzyzzzz{zzyzzyyyyzzyyzzzz{z{zyyzyzyyyyzzyzzzzyzxyzzxzzzzzzyzxyyyyzyxzyzzy{zyzyzyzzzyzyyzz{zyyyyyyxyzyyzzz{{{{zyyxxyyyyzzzyzzzyxyyxxyyyzzyzzzzzyyyyyyy{zzzzzzzyzyzyzyzzzy{yzzyyzyzzyyzyzyz{z{zzyyyzyyzzy{yzzz{yyyyyyyzz{{zzz{zzzyzyy{{zy{zzz{zyyzxzyyz{yzzz{{yzyyyyzzyzzz{{y{zyzy{zyzz{zzz{{{{zzyzzyzz{zyz{z{zyzzz{zzz{{{{zzzzzzyz{{z{zz{{zz|{yzzzyyyz{z{{{zzzzz{zzz{z{{{{z{{zy{yzzzzzzz{z{{{zzzzzzzyz{{{{{{{zy{{zzzz{{||{z|{zzzzy{zzz{zzz{{{z{yyzyyy{z{{z{{{yzzzy{{zz{{y{{{{z{zyyzzyz{{{z{{zzyzyzzyyzzy{{zyzyzyzyzyyyyzyy{zzyzyzyxyyyzzz{|{zzzzyyyzyzzyzzz{zzyzyyyyyyzyzyzzzzzzyyzzyzzzyz{z{yzyzyyyyyzzzzz{y{yzyzyyzzzzz{y{zzyyzzyyzy{zy{{zzzyzzyzzyzzz{yy{yyzyxyyxzyzzzzzyzyzyzyyyyzzzzzzzzyzzyzyyyyzyyzyz{yz{yyzyyzz{{zz{zzyzyyzzyzzz{z{zy{zzyzyyyzz{zzzzz{zzzzyzzzz{y{zyzyyzyzyzyy{zzzzzzzzzzzyyyzzyzzz{z{zzzzzzy{{z{zz|zyzzz{yyz{zzzzz{zzzzzzyyzzz{{z{{zzzz{z{zzzz{zz{{{{zyzzzy{z{{{{{{{zz{zyzyz{z{{{{{{zzzzyz{{z{{{{{z{{zzz{{zzz|{{|{||zzz{{zz{{{{{z{{{{z{zzzyzz{{{zz|{{{z{zzzzz{z{z{z{{z{zzzzy{{z{z{z{zyyzzz{zz{{zzzzzzzzzzzzyzyzz|{zzyzyyzyyyyzzyzz{zyyzxyxzyzzzzz{zz{zzyyxzyzyyyz{zyzyzz{zyzzzyzyzzzyyyyyzyyy{zzzzzzzzzzzyzyzzz{z{{zzzzyxzyzzz{zyyzzzyzxzzxyyy{zzzzyzyyxzyyxz{zzzzz{zyzzzyxzzz{zzzzyz{yyyyyxyzzzzz{yzyzyzzzyz{zyz{z{yzyyxyyyyzzzz{z{zyzzzyyz{yzz{zz{{yzzzyyyz{zzzzz{zzzzzzyyyyyzz{z{zyyzyyzz{z{zzzz{{zyzzyzyy{{zz{zz{zzyzzyz{zz{{{{{zyy{zyyyzz{zz{z{zzzz{{zzzz{zzz{zyzzyz{{zzzzz{{{{zyy{zyzz{z{{z{zz{zzyzyyz{z{{{zz|zz{yzz{zz{y{{{z{zzzz{{{z{|{z{z{{{{{z{{{y{z{{{z{{{yzzzzz{{{{{{{{z{zzzz{zz{{{z{z{z{z{yz{z{zy{{z{{{{zyyyzzzz{{zyz{z{z{zyzyyzzzyzz{zyyxzyyzyzzzzzzzz{yyyyxxzyzzyzzz{zyyxyzyzzyzzyz{zzzyyzyyyzzzzzzyyyzzzyxyxzzzyzzyyzyzyzzyyyyyyzzyzzzyzyyyy{z{zzzzyzxzzyzyzyyz{zzzzyyyxzzyzz{yyyzzzzzzyyzyyyz{zzz{yzzzyyyyy{yz{{zzzyyzxyyyyxyzyzzy{zzzzyyyxyzyzyzzzyyzxzzyyzzzzz{{zzzyxyzyyz{zzzy{zyzzzyyyzz{{zzzz{yzyyyzyzzzz{zzzyzzzzyyzyy{z{{{zz{yzzzyzy{z{{zzzzzyxzzzyy{{{zz{{z{zzzzzzyyz{z||zzzzyyzzzzz{z{z{{{zzzzzzzyz{z|{|{{zzzzzzzz{{{zz{{{{zz{zyz{z{z{z{|{{z{z{{y{{||{zz{zyz{z{{z{z{{{{zz{{yzzyzzzzzz{{zz{{yzyzzyzzzz|z{{|{zzzzyzzz{z{z{{|{{zzzzzyzzz{{{zzzzzzzyyyzzzzzyzzzyyyyyyxzyzyzz{zyyzyyzyyyyzzyzzzyzzyyyyyzzyyz{zzzyzyyzzy{zzzyzzzzzzyyzxyzzzzz{yzyyzz{zzzz{zzyz{zyyyyzyyx{yzzzzzyyzyxyyyxyzz{y{zzyxyyyzyyyzzzzzz{yyyyzzyzzzzzzzzyzz{zyzyz{zzzyzz{zzyxyzyyyzxyyyzzzyyzzzyzy{yyz{z{zyzxzzxyzzzzz{{{zzyzzzyz{zzzzzz{{yzyzxzzzzzzy{y{yzyyzyzz{zz{z{zzzy{zzyyyzzzz{{{zzyzzyzyzzyzyz{zyzzzzz{zy{zzzz{zz{zzzzz{zzz{z{{{zzyzzzzzz{{z{z|z{{z{zyzzz{z{{{zzz{yzzzzzy{{{{{{{{zy{zz{z{yz{zz{{{{zz{z{{{z{z{|zz{zz{{zzzz{z{{{{{{zy{{zzzy{zz{{||{{{{zzz{z{z{{{{{{zzyzzzzzzz{{{z{zzzzzzzzy{|{{z{{{zyzzzyzzyzzzyzyyzzyyyyyyzyzyzz{zyyyzxxyzyz{z{z{{yyzyyzyyzzzz{zzyyyzyyxyxyzzzyyzyyyyyyyyxy{yzzz{zyyzyyyyzzzzzyz{yzzyyyyyyzz{yzzzzyyzyxyyyyyzzzzz{yyxyyyzyzy{{zz{zyyxyyxxzzzzzzy{yyzyyyyzyzzzzyzz{zzyzyyyxyyzyzz{zzzyzyyyxzzyzzzz{yzzyyzyyyzy{zyzzyzyyyxyy{zzz{zzzyzzyzyzyzyzzz{zzxzyyyzyyzzzzy{{zyyzzzyzyyzzzzzzzzzzzyyzyzzzzy{{{zyzyyzyzz{{z{{z{yzyzzzz{z{||{{z{yzzzzyzyz{{{zzz{{zz{zyyy{{{{{{{{{xzzyyzy{{zz{{{zzz{zzzzzzzz{{{z{zz{{z{zzz{{{z{{{|{z{zz{{y{zz{z{zzyzzzzzz{{z{z{{{zzzz{z{zz{{{|{{{yzzzzzzzyz{zzz{{zyyzyyzyy{{z{{zyzzzyyyzyzzyzzyy{zxyzyyzyzyyzyz{yyzyyzzyzyzzzyyz{zzxyyyyxzzy{zz{zyzxyzyxyzzzzzyz{zyzzxxzyzzzy{zzzyyzyyyyxzzzzzzzyzyyyyxyyyyzzzyz{zxyyyyxxyyyzy{z{xxyy{yyyzzy{zzzzzyyyyyxzzzyyz{zzzyyzy{yyzzzzzzzyyzyxyzyyzyzyyzzzxzyzyzyxzzyzzz{zyyyyyzyyzzzz{{z{yyzzzyyyzyyyyz{zzzzyyyzzyzz{zzz{yyyzyzyyy{zzzz{zyyzzyzzyzzzz{{zzzy{z{zxzzzz{zz{zzyzzyyyzzz{yyz{zzzyz{zyyz{{{{zzzzyy{zzz{{zz{{{{|zyzyyzzzzzzz{|{{zzzzyyzz{{zz{{|zzzzzyzz{{{{zz{{zzzzzzzzzy{z{{|z{{zzzzzzz{zz{{{zzzzzz{{zzzz{{z{||{z{yyz{z{{z|z{|zyy{zyzz{z{{{{z{{{{zzy{{y{{zz{{{zyzzyzyzzzyzyzyzyzyxzzyzyyzzzzyzzyyyyzzyyzyzyyz{{zyyyzyzyzzzzz{yzyyy{zzyyyzzzzz{zyyyyxyyxzyzz{{zzyyyyyzyyyzyyz{yzzwzyyyxzzzyyyyyzyzzxyzyzyzzzz{z{zyyyyyyyyzyzzzyzyyzyyyzyzyz{yyz{zxyyyzyyy{{yzzzyyzzyyyyyxzzy{zzyzyxyzxyyzzzyzzzzzyzyyzzyzzzyzz{yzyzyzyyyyzzzyyz{yyzzyzzyyzzzz{z{zyyzzyzyzzyzz{z{zzzzzzzyzzz{yzz{zyzy{yyyz{zzz{{zzyzzyyyyz{z{zzz{zyyzzzzz|z{z{{z|zzyzyzzz{zz{{{{zyzzzzyyz{{{zzz{{{zzyzzzy{zzzzz||zyzzzz{{z{z{zz{{{zyzz{zzz|{{{{|{{zzzzzzy{{|{yz|{zyyyz{{zzzz{z{{{{{yzzzzy{{{{{{zzzzzzzyz{{{z{{{z{yzzzyzzzy{{zzzy{zyzyzzyx{{zyzyzzyyyxyyyyzzzzzzzzzzyyxyyyzzyyzz{zzzyyyyyyzyzyzz{{zzyxyyxyz{zzyy{zyyyzyyzxyyz{yzyzyyyyzzyyzyyyy{zzyyyzzyyyyyzyyzyyyyyxxyyyzyzzyzzzyzyyyzyyzyzyyzyzyyzxyzxxyzzyzyzzzyzyyyzxyyy{{zz{yyxyyzyyzzzzyyyzyyzzxyyyyzyzz{zzyzyyyzyyzyzz{z{zyyyx{yyzzzzyzz{{zyzyxyzyzyzzzz{zyzy{zyzyzzzzzzz{zzyzyyyyzzzzzzzyzyyzzxyyzzzzzy{zyzzyzzyzyyzzzyzzzzzyzyzx{{zzzz{{zzzzyyzz{{zz{{z{zyzyyyzyzz{{zz{zzyzyzzyz{zzzz{{{zzzzzyzy{zz{z|z|z{zyzz{zz{{|{{z{zzzzzyzzzy{{z{{{{zzz{zz{zzyz{z{{zyzyzyyzz{{z|z{zzzzzyyzyzzzz{{{zyzyyyyyyzz{{zz{zzzyyyzyzyz{yzyyzyyyzxxyxyzzyyz{zzyxxxyzyzyyyzz{zzyxxxyyyzyyzyzzyyzyyyyyyyzzzzxzzyyyyxxzyzyzyzzyzyyxxyzzyyzzzyzyzyyyyxyyyyyzyyzzzyyzyzzyyxzy{zzyzywyxyxyyyz{yyzzyzyxyxyxxzzzyzzyzyxxyyzyyyzyyz{zyyyyyzyyxxzzyzzzzzyzyyyzxyzzzyzzyyyxyzyyyzzyzzz{zyzyxyyyzzzyyzyzzxyyyxyyyyzyzzzzzzyzyyyyyyzzyyzzzyyzzxyzyy{zz{zyzyyyyxxyz{{{zyz{zzyzyyyzy{{zzyzzzzzyyzzzyzzz{{{yzyz{{zzzzzzzzz{{zzyzzyzyyy{{zzz{{zyyyzyzyz{zzz{|zzzzzzzz{z{yz{|z{{yzzzzyzzz{{zz{{zzz{zzzzz{{zz{|zzyzz{yyz{z{{zz{zzyyzz{{zzzz{z{{{zzzyyzyyz{z{z{z{zzzzyzzzz{z{yzzzxyzxyyyyzyzyyzzzyyyyyyyxzzzzzzz{{zyzzyyzyzzzz{{zz{yyxzzzzzzyyz{{yzzyyzyxzz{yzzz{zyyyxzyyyz{zzzz{zzyyyyyyyyyzz{zzyyzzyyyyzzyzyzz{yyzyzyzxzyzzyzzzzxyyyyyyzy{zyz{zyyyyyyyyyzzzzzz{yzzzxyxyyzzzz|zzyyz{yzyyyyzzzzyyzzxyyyyyyzzz{zzz|xzyyzyyz{zz{{z{yyzyyzyyy{zyzzzzzyzzzyzzzzzzyzz{zyzzyyyzy{{{{zz{yyzzyyzyy{z{zzzz{yyyzzzy{z{zz{zzyyyyzxyzz{zzzzzzzzy{zzzxzzz{{zzzzz{yzzzz{{y|zz{{{zzyzzyzz{{{{z{{zzyyzyzyz{zz{{{{{zzyyzzy{zzz{{z{{yzzzzzz{{|{z{|z{zzz{zyyzyz{z{{zzyzyzzzzz{{{{{z{{zyz{zzzz{zzz{{{zzzzzzzzyzzz{{{z{z{zy{zzzz{zyy|{zyyyzyzxzz{z{y{zzzzyyzzyzyzyz{z{xzyyxyzzzzyzz{{zzzyyyzyzzyzzzy{yzyzyzzy{zzz{z{zzzyzyyyzyyzzzyzzzzyyyyyywyzyzzzyzyyzzyyyyz{yzzz{zzyyzyzzyyz{{yzz|yzyzyxyxyyzyzzzzzzxzxzyzz{{y{yzyzzzxxxzxzzzzyzzzzyzyyyyyyyzyz{zz{yyyxyyxz{y{z{zzzzzxyzyyyzzzzzz{zyyyzyzyzz{zzzzzzyzzyyyzzy{{z{zzyzyzyzzyz{{{z{yzzz{yzyxyzzzzzzzzzzzzzyyyzz{zzz{zzzyzzyzzzz{zyzzzzyzzyzyzzz{|z{{{zzzxyz{yzzz{y{zzzzyzzyzzzzzz{|{yzzy{{zzy{|{{{{{{{zzzz{{{y{z{{z{|{zzz{zzzz|z{{{|zzzzyz{zz{{z{{|{z{{z{{z{{z{z{|z{|{{zzyzz{{z{z{{{|{zyzz{yz{{zzzz|z{z{zzzzyz{z{zz{{zyzyyzyy{z{zz{zzzxyyyyyyyyzxzzzzyzzyzyyzyyy{z{y{zyyyyzzyzy{zzzz{zyyyyyyxy|zyzzz{zxyyyxyxyz{yzz{{yyyyyyyzzzz{yy{{y{yyyyyyzyyzyzzzyyyxwyyyyyyzyzzzyyyzzyxyz{y{x{yzyxyzyyxzzzzy{yzzyzzyyzyzzzz{yzzyyzxyzyyzzyyyzzz{zzyyyyyzyyyzxzzyyyzyzyyzzzzzz{{zyyyyyzzyzzzyz{zyyzzyzyyyzyzyy{zzzyyzyyzyzz{zzzzzzyyyzxyzyzzzz{yzzyyzyzyzyz{zzzzz{zzzzxyzz{zzz{z{zyyyyy{yzzy{{zzzyzyy{yzy{zz{{{zzzz{zyyzy{|zz{{|zzzyzyyzyz{zzz{{zzyzyzz{zyzzz{|z{{zyzyyzyz|{{{z|{zzzzzy{z{{|{|{{zzyzzzyzzz{z{z{|{{zzz{zz{yzz{{z{zzzyyyyzzzzzz{z{|zzzzzyzyzz{zzzzzzyyyyyzxyzz{zyyzzyzyyyzyzzzzyz{zyzyyxxyyzyzz{zz{yzyzyyzzzzzyzzzzzxzyyyyyzz{zzy{{zzzzyyyxzzyzzzzzzzyyxzyyz{yyzz{zyyzyyyyyyyyyzz{yzzyyyyyyzyyyy{zzxzzyyzzyzz{{yzzzyyzyyyyyzyzzzzyyyyzzyyzyzyz{yyyyzzyyzyyzyyyyzzz{z{zyyyyyxzyzzzzz{yzyzyzxzzz{zzz{yyzyzyyy{{zzzzzzzzzyyyz{yzzzzz{zzzyzyyyyzzyzzzz{zyyzyzzz{y{{yz{zzyzzzxyyzzz{z{{{zzzzzzzzz{{zyyzzyzyzzyyzyzz{zz{{zzzyyzyz{zz{{zz{z{z{zzyzzzzzzzz{zzzzzzzyzz|z{z{z{z{zzyzzy{z{{|{{{zyzz{yzz{{zz{{|{z{zzzz{z{{z{{{{zzzzzyzzz{z{z{{{zzzzyyzzzz{zzz{{z{zyzzy{y|zzzzzzzzzzz{{yy{y{z{{zzyzyzzzyzz|zz{zzzzzxyyzxzzzzyyy{yzyxzyzzyzzzzz{z{zzyyyyy{{{zyzyzzxxyyyyyyzzzzyzz{zzyyxyyzzzy{{y{yyyzxyyxzz{zyzzzzyyzyyzyzyy{yzzyyyzxyyyyyyz{zzzyyzxyyyzzyyzzyzzzzyzyzyxzyz{zzzzzzxyyyyyyz{zzz{zzyyzxyyyyzzyyyyzyzyyyyzxyz{zyz{{{zzzyyzxxyzzzzzzyzxyyyxyyzz{y{z{{zyzzyyyzzy{zzz{{yxyyyyzzyzzzzzzzzyzzyyzyz{z{yzzzzyzyyyyyyz{zz{zzzzzzy{yzz{zzz{zz{zyyyzyyz{z{{|z{zy{z{zzyyzz{z{{{zyzzzzzzz{{{{zzzzyyzyyz{{{|z{z{{zzzyzz{zzz{z{{z{{yzzz{{{y{{z{z{|{{zzzzz{{{{{z{{{zyzzzzzzzzzzz{{{{zzzzyzz{{z{z{{{|{yzzzzzzzz{{{z{{{yyzzyz{{{zz{{zxzzxzzzy{{{yzy{yyyyyxxyyzzyzyzzzyyzzyyyyzy{zzzz{zzyzzyzy{zzzyy{{yyzzxzzyyzzzzz{zzzyyyyyyzz{{z{zzzzyzyyzyzzzyzzzzzyyyyzzyyzzyyzzyyyzyyzyyyyzyyyy{yxyzyyzzy{zyyzzyyxyyyyxyzzyzzzzyyxzyxyzyyyz{yzzzyyzyyxzyzzzyzzzzzyyyyyyyzyzzzzzzzyzzzyyxyzz{zz{zyzyyzxzzyzzyzzzzzy{zyyzyyy{{yy{{yz{yxyyyzzzzzz{zzzyzzyyxy{z{zzz{{yzyyxyyzz{zyz{zz{zzzyyyzzyzyzzzzzyyzz{zzz{{z{|zzyzzzz{{zz{{{{z{zzzxzyyyz{{yz{zz{yzz{zzz{{zz{{{|zzzzzzz{zz{zyz{{zy{zyzzzz{{{zz{{{zzyzzyzzz{{{{z{z{z{zzzyzzzzz{{{zzzz{zzz{zz{{{{{{zzzyzz{zzy{{{{{z{zzyz{zzz|{zz{yzyyzzzzyy{{yzzyyyxzzzzzxzz{y{yz{yyyyyzzxzzzzzy{zzzzxzzzyzzzzzzzzyxyyzyzzyz{{zz{zyyzxxyzyyzzzzzyzyyyyyzyxzzyzz{zzyyzyyyyyzz{zzyz{yyxxzyyzyxyyzzzzyyyyyyyyz{zyzz{zyyyzyxxyzy|z{zzzzyzwxxyyy{yy{zzzzyzzyyyyz{zyzzzzyyyyyxxxyzzzyzzz{yzyzzyyzzzz{z{zzyyyyzzyzyzzzzzzzy{zzyyzzy{zy{zzyzzyyyzyzyz{z{zzzyzzzyzyzz{z{{zzzzzyzzyyz{zzzz|z{yzyzyzzzzzyzz{{{{yz{{yzzz{{{|{{zyzzzyzyzz{{z{||zzzzzzzzzz{zz{|{zzyz|zzy{{zzz{|{zzzzzz{{{{{{z|z{{z{zzzz{z{{{{|{z{zzzyzzz{z{{zzz{{{y{{zz{z{{|{{z{{zz{zzzz|zzzz{z{yz{zz{zzyzz{z{{{{zzzyzzzz{{{{{{{zzzzzyyyyzzzzzz{zyxzyyyyzzzzzzzzzyyzyyzy{{zzzzzzzyyxzyyyzzzzzzz{zzzzyzyyzy{yyzzzzyyyxzxxyyzzzzzzxyyyyyyxzyzyzzyzyzyyyyyyyzzyyzyzxzyyxyzzzyyzz{yzyxzyyyyxzyyyyzzzyyzyyxxyy{{{yyzzyzzyyyyyxzzzzzy{yzyyyyyxyzyyyzzyyzxyyxzzxzzzzzzzzyyzyzzxzzzzyzzzzyyyzyyyzzzz{zzz{yzzzyyx{yzzzzzzzyzyzyyyzzzz{z{{zzzzyyzyzzzyzzz{yyyyxzyyz{zz{yz{yyzzzyzz{z{yzzzzzyzyzyyzyzzzz{zzzz{zyzzyzzz{{y{{zyzzzyyyz{{z{z|zzz{y{yzy{zzz{{{{{{zzz{{{z{z{{{{{zyzzy{zzz{{z|{z{{y{{zzz{{z{{{z{zzxyzzzzz{zzzzz{z{zzzzzz{z{{{zy{{zzzy{yzzzzzz{{{zzyzzy{zyzyz{{zyzyzzxzyzzyz{zzzzzyyyyyxyyzyz{yyzyzyyyyxxyyzzyzzzzyyxyyzyyzzyzyzzzyyyzzzyyzyyzzyz{yyyzyyyxyzzzy{yyyyzxxyzyzzzyyyzyzzyyyxxxyzzyzy{zyyxzwyyyyyzzyyyyxxzzyyyyyzyzzy{xyxxyyyywyx{yzzyzzyyxxxyxyzyyyyzzzyyxyxyyyyzzzzzzzyyxyyzyyzyzzyz{yy{zyxyzzyzzyz{zzzyxyxxzzzyzzyz{yyzyyxzzzyzzzyyzyyyyxyyyz{zyzzzzyzxzzyyyy{z{y{yzyxyxyyyyyyzzz{{yyyyzyyyyzzzz{{{zzzzyzzzyzz{{{{{{yzyzzzyyz{y{{{|{zyz{xxyy{zzzz{zz{yzzzzyyz{zyz{{zzyzzzyzzzzz{{zzzzyzyyz{yz{{zz{|{zyyzzzyz{{zz{zzzzyzzzzyyzzzzzzz{{yzzy{zy{zy{zzzzzzzyzzyzzz{zzy{zzzzzzyy{z{z{zyzzzz{yyyzzzz{zy{zzyyyxyyxyy{yzzyzzzyzyyzyyyzy{z{zzzyyyzzxx{zyyzyzyzzzyyyyzyyyzyyyzzyxyyyyyzzy{zzyyyzzxyyyxyz{yy{zyyzyzzyyzyzzyzyyzzyyxxyyyzyyyyzzyxyzxyyyxyyzyyyzyyyzzyyzyzzzyyzzzzyzyxzyyyzzzzz{{yyyyyyzyyzy{zzzyzyyyzxyxyzzzz{zzyzyyyzyy{yz{zzz{zyzyyyxzy{zzzz{zzzzxyyzxzzzzyzzzyyyyyyzzzz{zzyzzzyzzzzzzzz{zzzzyzzzzyzyxyz{{y{|zzyyyyzxyzz{{zzzzzyyzyzyyzz{{{{{{y{zzzyzyzzzzz{{zzz{z{zzyzzz{z{{zyzzzyzzzzzzz{{{zzzzyz{zz{{zz{z{{zzyzzzzyy{zz{{z|z{zzzzyz{zz{z{zzzzyyzzzz{zzzz{{z{zzzyzzzzz{{{z{{zzyzzz{zz{zyzz{{{zyzzzzzy{zz{zzy{yyxzzyzzyzyy{yyyyxyyyyxyzzzzzzzyzyyzyyxyyzyzzzzxzzzzyyy{yzzz{zyxyyxyyyyyyzyxyzzzyzxyyyxzyyzyzzzxyzxyyzxzzyyyz{zzyx{zxyyzyzyyyzzxyyxzyxyyzyyyzyyxzyyyyyzzzzyzzzyyxyzyyyyzzzzyyzzyz{yyxyxyzzzzzzyyyzzyzyyyyzyzzzyzzxyyxyyyyyyzzyzzzyyyzyyy{zzyz{zzxzzzyyyyzyzyzzzyyzyzyyz{zzyzz{yywyyzyyzzz{yzzy|zzzzyyzzyzzz{{zzzxyyyyyyzz{{zz{{zyzyzyzyzz{zyzz{zyzzyyzyzzzzz{{zzz{yzyyzzz{zzz{{zyyzzzyy{{{zz{|z{z{zz{zxzz{{{z{z{y{yzzzzzzz{{zzz{yzyyzzzz|{zz{{{zz{zyzzz{{zzyz{zzyyzzyz{z{zz{{{{{{y{zzzzzzzzzz{zzzzyzzzyzzyzz{{{zzzyyzzz{{yzzzz{zyzzzyy{yy{yzyzzzyyyyzyx{yyzzyzzzyyzyyyyyzyzzz{zyyzyy{xyzyzzzz{yyyyzzxyzyy{{zyz{zzyyyzyxzzzzzzz{zzyyzzyzyzzzy{z{zyyyyzyyyzzzzzzzzyyyyzyyyzzzzzz{yyxyzxzyzyzyzzzzyyyxyzxyzyzzz{zzyyzyyyyzyzzzzzz{yyyzzyxzyyyz{zzyyyzxzyyxyyzzy{z{yzyzzzyyzzz{zzzzzyzyyyyyyz{yzzzzyzyyyyyzzzyzzzzzzyzzzyyyzzy|z{z{zzzyyyyyyz{z{{{zzzz{z{zyyzzz{{{y{xz{yyyy{zzzz{{zzyzzyzyzz{zz{|{{zzzzzzzzz{z{{z{{{yzzyzyyzz{z{|z{{yzzyzzz{{zzy{{{zyzyzzz{zzz{|{{|zzzzy{zzz{{{z{z{{z{zzzz{{{{{z{z{{zzz{zzzzz{{{{{|{zyy{{yz{zz{{{{{y{yyzzzzy{yzz{{{zzyzzzzzzz{zy{{zyz{y{zzy{yzzzzz{zzxyyzyyyyzyy{yzzyyyyyyyzyyzz{zzyzyxyyyyzzyyzz{zyyyyzxzyyzzzyzz{yxxxxyyyzyz{yz{zyyzyyyzyzzzyyzzxzzzyyyyxzzzyyzzzzyzyyyyzyzzyzzzzyxyyyyyyzxzyzzzzzzxyyxyzyz{yzyzzyzzzyyzyzzzzzz{zyyxyyyzyxy{zz{zzzyyxyyxyyyzzzzyzyyzyyzzzzzzyzzzz{yyyzyyyyyzz{zz{yyyyzyzyzzzzyzzyyyyyzzyyyyyzzzzzyyyyzzzyyzzzzzzzyyzyyyyzzy{xzzzzzzzyzxzzz{yz{{z{zzzyzzzyyz{zz{{{zyzy{yyyzz{{{zz{zyzzyyzz{zzzy{{zzxzzz{yy{{{{z{z{zz{zyzzzz{zzz{z{{zzzyzzzz{{{{{zzzzzzzzz{{z{{zzzy{zzzzzzzz{zzz{||{zyzzz{zzz{zzz{{{{zzyzyz{z{z{{{zzzzyzyzyzzzzz{{yzzzxzyzyyyzzz{yzyyyyzyyxyz{zzyzzzyyyyyyyzz{z{z{zzzyyyzzzzyzyzzzzzxyyyzzxyzzyzyz{zyyyyyyyyyzzzz{{yyyyyyxyyzzyyzzzyzyyyzzyzyzyx{{y{yyyyzxzzy{zyyz{zyyxyyyxyy{zzyzzyyyyyyyyy{zyzzzzyyzzyxzxzyy{zy{zzyzyzxyxyzyyzzz{yzzyyyzyyyyzzyzzzyzzyyyzyzzy{zzzzzyyyyyyzzyyyzz{xy{yyyzzzy{yz{z{yz{zz{xzz{{yzzzzzzzzzyzzy{zyy{{zyzzyzzyzz{zzz{{zzzzz|yzyzzzyz{z{yzzzzzzyz{{zz{{zzzz{zzzzyz{{z{{{zyyzzxyyyzz{{{zz{zzzzz{{{z{z{|{{zz{yx{z{{{zz{zz{zzzyyyy{z{{{|zz{zz{yyzyzz{zzz{{z{yyzyzzz{{zz{{{|{zzzzzzy{{{zzz{|{{zzzzzzy{z{z{{{zzyyzzyzz{{{zz{z{yyyzyzyzzzy{{{zyzyyyxyyyyzyyyzzyyyxyxxxyyzzzzz{yyzyzzzzyyzz{{{zzyzyzzyzyz{zyyzzzyzyzxyyyyzzzzyzxzyy{yyyyzzzyzzzzyyyzyxyyyzzy{yzyyzxyzyyzyyyzzzzxyyyyyzyzzyzyzzyyxyxyyxzzyzyz{zzzyxzxyyyyzy{z{zyyyyxyzzxyxzyzzzzyzzyyyyxy{yzy{zzyyyyyzzyzy{yzzzzzyyzyyyzzzyzx{z{zyyyzyzyzzzy{{zzyzzzyyyyzy{zy{zyyyyyzyzyyzzz{z{zzzzzyyzyzz{zyzz{zzyyzyzyyzzzzzzzzyzzyzzzzzz{{z{zzyyzzzzzz{{zz{{zzyzyzzyzz{|y{{{zzyzzzy{z{{{{z{{z{yzzzzzyz{z{{z{zzzzyz{zzz{z{z{{{zxzzzzyz{z{zzzzz{zyzzzzzy{{zz{z{zzy{{zzzzz{zz|{|yy{zzyzzyyy{zz{zzyyzzyyyzz{z{zz{zzzyyyyzzy{z{{zzyyxxzzxxyz{yy{zzzyxyyyzzyzzzyz{zzyyyxyzxz{y{zyzzzyyxzyyzyz{zzyzyzyzxyzzyzyzzyzzzyzzyyyyyyy{y{z{zyyyyyyyyzyzyzzzyyyzyyzyyxyyzyxzzyzzxzxyyzzyyyzyzyyyyyxyyzzzzyzz{yyzzyyyzyyyzyyzzyxyzyyyxyzzyyzzyzyxyyyyyxzzyyzz{yzyyyyyyzyzzzz{zzyzyyyxyzzyzz{zyyzyyyxyy{zyzz{{zyyy{yyzyyyzzy{{zyyzyzyzyyzzzzzzz{yzzzyyzzz{zzz{{{zxyyzzzzzyz{zzzzyyyzy{zzz{{{{z{yz{zzyzzzzz{z{{{zyyzyzzyzzz{z{{z{x{zyyyz{{z{{{|zyzzzy{zyzz{{{{z{{zyzxzzzz{{{{zz{zyyzzyzy{{z{z{zzzy{zzzyzz{{y{z{z|zyy{zz{zz{{z{{|{z{yzyz{{{{zz{zzz{xzzyyzzz{zzzzyzzyyzxyyzzzz{{zzxyxzxyyxyz{yyyzyzyzyzyyxz{zzyyzzzyyxyyyyyzyzzz{zzyyyyyyxyzzzzzzzyyyywyzxzzyyyzy{yxxxxyyyyzzyyyyzyyzyyyyyyyzzz{zzyyyyzyxyzyzyyzzzxxyyxyyyyzzzyz{zyyyyyzxyyyy{{yzyyyzyyzzxy{zzyzzyyyyyyyxyzyyyzzzzxyyyyyxyyzzzzyyzyzzyzyxyzyzzzzzzzyzyyyyyzzzzy{zzyzzyzyzyyzzz{{{{yyzzzyyyy{zzyzzzyzzyyyyyyzyz{zzz{yzyyyyyz{zzzz{{yyyyzyzy{{zzzz{z{zzzzzzz{{z{z{{yzyyy{zzy{{z{{zzzzzz{xyyzzz{zzzz{zzzyzyyz{z{{{{{z{zzz{{zyz{z{{{z{zyzzzzzzy{z{|z|{zzzzzyyyzz{{zz{zyzzyzyzyz{z{z{zz{z{{zzz{zzz{z{zzzy{zzzzyz{zzz{{z{yyyzyzz{yzzzzz{zyzxzxyzzyzyzzzzyzyyyxyyzyzzzzx{yzxzyyyxzyyzzyy{yyzzyyyyzzy{yyzzyxzzzxyyzyzzzzzzyyzzxyzxyzzyyzyzyyyyyyxyzzyzzyyyzyzxzyyyyzzyzzy{yyyzyyyyzzzyzzyzyyyxyzxxyzyzzzyyzxyyxxxzzyyzzzzzyxzyxyxyzyzzzzyyzyzyzyyyyz{yyzyyyyyyzxzzzyyzzzzzzyzyzyyxyyzzyzzyzyyyyyyyzzz{zyzzyyyyyyyyzzy{zz{{zzyzyyyz{zzzzzy{zyzzyyyxzz{zz{zzyyyyyyyy{yz{zzz{zz{zyzyyzyyzz{y{yzzyyzzzyz{zzzzyzzyyzzzz{zy{zzzzzyyzyzzzz{z{{z{{{zzzzzy{{{{zz{{{zzzzyzz{z{z{{z{{{zyyzzzzz|zz{z{{{yzyyz{z{zz{zzyz{yyzzzzyzzzz{z{{{yzzzzyy{|z{zz{zzzzyzzzyyzzzzz{{zzyyyyzxyzzzzzzzzyyyyyzyzzyz{zyyyyxzxyyzyyzzzzzzyyyyzxxzzyzzz{yzzyyyyyyxz{zyz{{y{yzzy{yyyzzz{zzzzyyzxyyxzz{yzzzzzyxyyyzyyyzyzyzzzyxxzxyyzzzyyzzyzyzyyxyyzyy{zzzzxyyyyyzyyzzyyyyyyyyzyyyyy{zzzyzzyyzyxyyyzzzzzzyyzyyyyyyyxyyyzzzyzyyyyyyyyzzxyzzzyzzyyzzyzzz{zyyzzxzyzyyxyzyzzyz{yzzyyyyyzz|yyz{{xyzyyyzyy{zyzz{zyyzzzyyyz{{zz{{{zzzyyyyyz{zzzzzzzyxyyzyzzy{zzzy{zzzyyzyzzzzz{{{{zzzyzyz{zzz{{{{|yzyzyyyy{{{{{zzy{zyyzzzz{{{{{zz{zzzyzzzy{zzz|{z{{yy{zzyzz{{{{|{{zzzzyzzz{{zzzz{zzzzyz{zzzzz{z{{{{yzzzz{{|{z{{z|{zzxzzzzzzz{{zzz{{yyzzyzzz{zzz{{zzzyyyyyyyzz{yxzzxzyyyyyyyzzzy{yzyyzyzyzyyzzyzzz{zyzyyzyyzz{y{z{zzzyzyxyyyzyzyz{zzyyyyyzyyzyyyzyzxyzzyyzyz{xzzzzzyyyy{yyxyyzyyz{zzzzyzzyzzzzyzzzzyyyyyzyyyzyzz{xyzyyyyzzyzz{yzy{zzzxyyyyyyyyyzyz{zzyyzwyxyz{yzzyzzyzyxyyyyyyyz{z{yzzyyzyzzzyyz{{zyzzzzzyyzzzzzzz{yyzyzyzyzyyyyz{zzyzzyyzyzzzzzz{zyyzzzzzzz{y{y{zzzyzyzyyyzzzzz{{{zyzzzyyyzz{zyz{zzyyyyzzzzz{{{{zzzyxzyzyzz{y{{{{{{zyzzyzyz{{{{{{zzzzz{yyz{|{z{{{{{zzzz{zz{{z{{z{{{zzyz{zzz|{z{{{{{zzzyzyz{{z{{{{{{yzzyyzz{{z{{{z{zzzzzzyzz{zzz{{{z{{yzzz{{zzz{zz{zzzzzyzyy{z{z{{y{z{y{zzyzzzz{zz{zzyzyyyyyz{yzyz{zyyyzxyy{{{yzz{{{zyzyzzyzyzzzz{{zy{yzzyyyz{{zz{zyzyyyyyxzyzzzzz{{y{xy{yyz{zz{{y{zyyyzzxzzzzzz{yzzyyyyyzz{zyzzzzyyyyyzyzzzyzzyzzyyyyzyzyyy{|yzzzzyzzyyyzzy{{zzzyzzyyyyyzyyz{zy{zzyyzyyzyyyzzzz{zzzzyyzzzzzz{zz{{{{yzyyy{{zzzzzyzzzzzzyyzy{zzzz{z{zyzzyzx{{{zz{{zzyzzyyyyy{zz{z|yy{yzzy{zzz{zzzz{zz{yzzyzy{z{zzz{z{zz{yzy{{{z{{{{{z{z{yz{z{{{{z{{{zyzzzyzyz{zyzyzyzzzz{zyz{{{{z{{z{{{zz{zzz{z{{{{{{y{zz{zz{{{zz{|{zz{zz|zz{zz|{{{|{zz{zzz{{{{{z|{|{zzzzzz{{{{{{|{{zzzzz{zz{zz{z{{{{yyyyz{y{{z{zy{zzzzxzyzy{y|zzyzzzzyyxyyzzyzzyzz{zyyyzxyz{z{zzzzz{zyyyzzzz{zz{{{{yyzxzyzzyzyzzz{{yzzyxyyyzzzzzzzzzzyzzyyyyzzyzz{y{yyyzyyyz{yzyzzzzy{yyyxyzyzzzzz|yxzzzzzyyyzzz{zyzzyzyyyyyzzyzzz{zyyyxzyzzzzzz{zzyyzyyyzyzz{zzzzz{xzxyzyzzzzzyyzzyyyzzyzyzyz{zzz{zyyzzyy{zzzz{zzzzzyzyyzyzzzz{z{{zyzyyzyxzz{yzz{zzzzzzyzz{{zzzzzz{yzyzzzz{z{yz{{z{zyzzzyzzz{{zzz{yzzz{y{yz{{|zzz{zyz{{{z{{{zzz{{{zzz{{zzzz{{z{{zz{y{{{zzz{|{z{{{|yz{zzzz{z{z{{{zz{yzz{{yz{|{|{{|{{yzzzyz{zz{|{{{{{zzzzyy{yzz{{{{{{{{{{zz{zzz{{{{{{zzzz{xzzz{{{zz{zz{zyyyzz{{z{z{{zzzzzzzzzz{zzzy{{zyzzzyyy{zyz{zzyyyzxyyy{zzz{zzzzzyyzzzyz{zz{z{{zyyyyyyzzyz{zzz{{zyxyyxzzzzyzzz{yyyyyxxxyzzzzzzzzzyzyx{zz{zzzzzzyzzxzxyyzzzzzzyzyyyyzyyyxzzzyz{zzyyyyyyzzzz{zzzzzzzyxyyyyzz{yz{zzzyyyz{zyzzz{zy{zzzyyzzyzzyzz{{zzxyzzyzyzzz{z{zzzzzyyzzzyzz{zz{{zyzyyyyyz{{{zz{zyzzyzzxyzzzzz{{zyyz{yyzzz{zzy{zzzyzzyyzyzz|zz|{z{zyzzzyzz{{yz{zzzzzz{yyzzy{{{{{{zzzy{yyz|z{zz{{{zzzzyzyz{zz|{z{z{zzzzzzz{|{z{z{zz{zzz|z{z{z{{{{{{zzzy{zz{{{{|z{{zz{{yzzz|z{{{{{z{{zz{{{z{{z{zz||z{zzzzz{{{|{{{{{{zzy{zyyz{{{{z|zz{yzyyz{z{z{{{{{{zzyxzz{{z{y{zyzyxyyzyzyzzyyyzzzyzzyzyyzzzyzzzzzzzyyzzzz{yzzzy{zzyzzzyyzyzzzzzzzzzyyxyyxz{zzzzz{yyyzyyzyzzzz{zyzzyzyyzzyzyzzxzzzyzzyyyyyyzzzy{zzzyzxzyyyyzzy{zzzyyzyyyyzyzyz{zzzzzyxyyyyxz{zzz{zzyzyzyyyyzzzy{yzzyyyyzyxyyzzy{{zzzyyzzyyy{zyzz{zzxxzzyzyz{zz{{z{yyzzyyyzzyyzz{z{yz{{zyzzzzzz{zzzzzzyyyyzyz{|{{z{zyzzyyyy{{y{zz{zyyyz{yzz{{zzyz{zzzzzzyzy{zz{{z{zyzzzz{zy{z{{{z{|zyzz{yxzz{zzz{zzz{zz{zzy{|{zz{{{yz{z{zyz{{zz{{z|{yyzzzzzz{zzz{{{{z{zzzzz{zzz{{{z{z{yzyzy{zz{zy{{zzxy{{zz{{zz|z{{zzyyzxzz{zzzzzzz{zzzzzyzzz{{zz{z{zzxyyyyzzzzzyzzy{yyyyyyy{zyzyzzyyyyyxxyzzzzyzzzyyyyyzxzzxzzzzzyyyzyxzyyyyzzyz{zyyyxxyzyzyz{zzz{yyzzzxzyyzzzzz{zyyyyyzzyzyyyzzyyyyyzyyyyyzzz{zzzyyyyzxyzyzzzzz{yzyyzyzyxyyzz{yzzzyz{yzxzzzyzzzyzzyzyyxxzyyzyyzzzzyyyzzyyyzzyzyzyyyzzzyyyzzzzyzz|yyzzzxzyz{yzzz{zyyyyzyzyzzz{{zy{yzzzyyyxzz{zzzz{{xyyyyzzy{z{z{yzyyyzzzzzz{zyzx{zyyyzzyzzzzy{zy{zzzzzzzzyzzzzz{zzyzzyzzzz{{z{z{z{yzzzzzyy{z{zz|{{{zzzzyzz{{zz{zz{zzzzzzzzzzz{{z{{zyzz{{zz{{{z{{zzzyzzzyz{{zz{{{|{{zzyz{zzz{z{{{z{zzzzzzzz{z{{{{{zzzzyyyzyz{zzz{{z{{yy{zyz{z{y{z{{zzyyyyzyzz{zzzz{xyzyyxyxyz{y{zzzzyyyyxyyyz{zzzzz{z{zyyyyz{z{zz{zyyyyyyyzyyzzyzzzyyzyxyzyzzyz{zzyxzxyyyzy{yzyzzzzzyyxyyyyyzyyy{zzyyyyxyxyzyzyz{zyyyxxyyyzz{yzyyzzzyyzxzxyyyzzzzzzyyzyxyzyzzyyzzzzzzzyyyzyyzzyzzzzzyzyzyyyy{yy{zz{yyzxzyzyyzzzzz|zzzzzzzzzzzzzzzz{zyyzyxyzzzzzyzz{yxzyzyzzyzzzzzzzzyzyyyyzzzzzzzz{yzzyyyyzz{zz{yzzzzzyzzzzz{{zzz{{zyyzzyzzz{z{{{{zzy{yzzzyzzy{z{z|zz{zzyzy{{zzzz|{yzzz{zyy{{{z|z{|{zzzzz{z{{z{{{z{zzyzzy{zz{z{zy{|zzzzzzzz{zzz|{{zz{zzyzz{zz{{{z{{zzyy{zz{z{z{{{z{yzzyzyyyzz{z{z{|{zzz{zzzyzy{zzzzyyzyzzyxyzz{zzzzyyyxzyzxxzzyyzzzyyyyxyyyyzzzzzzzyxyyxyzyzzzz{z|zzyzyzzxz{zz{zy{{yyyxzyzxzzzzx{y{yyxyxxyyzzzyzyzyyxyxyyyyzyzyzzzzzxyxyyzyzyz{z{{yyxyyyyxzyzz{zzzyyyyzyyxyyzyz{zzzzyyyyzyyy{{zyyzzzyyzyyzxyzzxzyzzzyyxyzxzyyyz{z{zyyzyzzyzz{yzzz{z{zyxyxyyyyzzz{zzzyyyzyzyyzzzzzzyzxzyxyyyzzzzzz{yzyzzzxzzz{z{zzyzzyyzzyxyzz{zyz{{z{xzyyyy{yyyzz{zzz{yzyzyzz{zz{{{zyzzyzyz{z{|zy{{zzzzyy{z{zzz{z{zzzyzzy{y{zz{zzz{zz{zyzzz{zzzz{z{{zzzzzyzz{{|z{{zzzzzzzyz{zz{z{{{yzzzzy{y{zzyz{{{zzy{{z{z{y{{zz{zzzzyzyzzyzy{z{zz{{zzzzyx{zzzzzzzzzzyyzzzzzz{zxzyzyxyyxzzyzzzyzzzyyxyyyyyyzzzzz{zy{yyyzyyyy{zyzzzyxyzyyyyzzyzyzzyyz{zxyyyyzyzzyzzxyzyzyyyzzzzyz{zzyxxzyyxzzzxyyyyzzyyyyyyzzzyyzzzyyyyyyyyyzyzyzyzyxyyyyyyzzzxzzyyyzzxxyyxy{yzzzzzyyyyyyyyyzzyyyyyzzyyyyyyyzy{yzyzzyyyzzyy{yzzzyzyzyzyyyyyzzzyz{z{yzzyyyz{yzzyyzz{yyyzzyyyz{zzz{y{zzyzzyzzy{{z{zz{yyzyyzyyzzzzz{{zzzzz{yyy{zzzzyzyzyzzzyzyyz{zz|{zzyz{yyzzz{zzzz{{zzzzyzyyz{zz{zzzzzz{zzzzz{{{{{{{zyyyyzz{yzz{{{{{zzzyy{zz{{{z{{{{{zy{{zyyzzz{{{zy|zzzyzzy{{zz{z{{zzzz{zxz{{zy|{{{zzzyzz{yyzz{zzz{zzyzzyzyzz{zzy{zzyzyzyyzzzzzzzzzyyxyyyyzyzzyyzz{xzyyyxyyyyzzzzzzzyyxyyxyzyzzzyzyyyyzxxxyyzyyyzzzzyyzyzzxzyyzyzz{yyzyyxyyzzzyyzyyzxyxyzyxzzzyyzz{zyyxyyxyz{zzyzzzxzyxxzyxzyyzzyzzyzyyxyyyyzyzzy{zxxyyxyyyyzzzy{{zyxyyyxyyxzyyyzyzyyyyyyyyyzzzyzzyzxyxyyzyzzzyyyzzzxyzyyyzyzyzz{y{zyyyzyzy{yyyzzzzzzyyyyzzxyzzzyzzyzyzyyyyz{zzyyyzzyyyzyyzzzzyzzzzyyzzyyyyz{zzzzzyyyzyzzyyzz{z{{zzzzy{zzyyzzz|z{{zzyyzyyxyy{z{zz|{yyzzyzzyz{zzz{zzzzzyyz{yzzz{zz{{{zzzxzyzz|{zz{{zzy{zyzzzzzzz{{|{zyzzyzzzzzzzzz{zzz|yzzzzz{z{zz{{zzzyzzzzz{{yyzzzyzzzyzzyz{zzyzzz{zzyyyyzzzzzzz|xzxyyyyxyzyzzyzzzyyyyxyyyyzzzz{z{zzxyyyyxzyzy{y{zyyzzzzxzyzyzzzzzzyyyyxyxyzzzzzzzyyyyyzyzzyzzyzzzyzyxzyyzy{yyzyzz{yyzyyyyyyzzyzyzyyzxxyyyyyzxyzzzyyyyyxyyzyzzyyzzyyyyyyyyzyyzzz{yzyyyyzyzyyyzyyzzzzyxywyyyzyyyzzzyyzxzzyyzzzzyzzzyyyy{yyzzzzzyyzzzzyyyxzyzyzyzz{zyzzyyzzzzz{{yyy{yyzzzyyyz{z|zyzz{yzxyxzxzz{{yz{z{yzzyzyyz{z{yy{zzzzzyzzyzz{{{{zzzzzzzyzzzzzzzz{|zz{zy{yyyzz{{zzz{zyyzzzy{|z{zzy|{zzyzz{zz{zz{z{{{yzzzyzyy{z{{{{{{yyzzyzz|zz{zzz{{yyyzzyz{{z{z{{{zyzzzzyz{{z|{{{{zz{zzyzy{zzzzz{{zzzyyzzyy{zzyzz{yzzzzyzyzzzzzzz{yzyyzzxzzzyzyzzzyzzyzyyyzzzzzzzyzyzxzyzzyy{zzzz{{yzyyy{yzzzzyzzzyyxyyyyyyzzzzzy{zyyxxxzyyyzyyzzyyyyy{yyyzz{yzzzyzzyyzyyyzzyxzzzzyyyxzyyxzyzzyzzyzyyxyzxyzyyzyyyzyxzyyxxzxyzzyyz{yzyyxxzyzyzxzzzzyyyyyyyyyzyyyzzzyzxyyyyy{zzzyz{zzzyzyyyyyzzzzzz{yyzyyyyz{{yz{z{{zzyyyzzyyzzy{z{zzyyyyzyzyzzzyzzzzyyyzxyxyzzzzz|zzzxyyzzyz{{{zzzzzyzyyzzzzy{{zz{{zz{zzyzzzzzzz{z{z{zyyzzzz{zz{{{zzyzzzzyz{{zz|z|zzzzyz{{zzz{zz{zz{yzzz{{y{{{{z{{z{zzzzyyzz{{{zzz{{yzyzyz{{{zz{{{{{zzzzzzz|{{|{|{{{zzzzzzyzzz{{|{z{yyyyzzyz{zz{y{{zyzyzzyy{zz{|{yzyyzyzyyxyz{zzzzzyyzzyzyyz{zyyzzz{yzyzzzxzzzzy{z{zyyzzyy{zzyzzyzzzzzyyzyyzzzzy{y{zyzzyz{xyz{yz{yzzxzzzyyyzyzyz{zzzyyyyzyxzyzzz{zzzyyyzzyzy{zzzz{zzyzzyzxy{z{zzz|zyyzzzxxyyzz{zz{zzxyzyyyyyyzzzzzzzyzyyxyzyzyyzzzzzzzzyzyxzzzz{{zzzzzyxyzzzzzyy{{{zy{yzy{yyzy{z{{{zzzzyz{zz{zzz{{zzyyzyzyy{{zzzyzzzzzx{zyz{{z{z{{y{xyzyyzy{{{z{z{{zyzz{zzyzz{z{z{{zzzz{zzz{{zzz{z{zzzzzzyz{z{{{zz|zyyzzzzz{{{{{{z|zzzzz{{{zz{z|{{{{y{zzzzzz|{{z|{{|z{zzyz{|z{|z{{{{z{zzz{z{{{z{{{{{zyzzzzz{{zy{{|{z{yyzzyyz{{y||{{{zyzy|yzy{z|yz{zzyzzzyyyz{zzzzyyzzzzzxyxyzyzy{z{yyzyyxyzzzy{zzz{{zyyyyyzzz{zzzz{zyzzzyyyyyyyzzzzzyzzyyzyzzzzyzzzzzzyzzz{yzzyz{z{zyyyyyyyyzzzzzyz{yzxyyyyyyzzzyzzyyyxyyzyyzzzzz{{zyzyyyyzzzzyzzyzzyzzxyyxzzzzxzzzyyyyzxzxyzzzz{zzyzzyzxzyy{yyy{zzyy{zyzzyzzzyyzz{yyzyyyyyzzzzz{z{zzzyxzzzzzzyzz|yyzyyyyy{yzzyzzz{zzzzyyzyyzzz{{zzyyyyzyyyzzz{zzzzzyzzzzzyz{{{zz{zzzyz{yyyz{{{{zz{zy{yzzzzz{z{zz{zzzyyzzzz{z{z{{zz{yyyzz{z{zzzzz|{zzzzy{{z{{zz{{{{{z{zyzz{z{{{z{z{{yz{z{zz{zz{z{{{{zyz{zzzzz{zz{{z{z{zzzzzz{{z{{{{zz{yzyzzz{{z{zz{{zyzy{zz{{{{z{zzzy{zzzzzzzzzzyzzz{yyyyyzyzzyyyzzyyyxyyyyyyzyzzy{yyxzyyyz{yyyzzzzyyyyzzyyzzzzyzzzzyzyyzzxyzz{zzzzyyyyxyyyyyzzzzzyyz{yyyyxyyzzyyzyyyyyyzyzzyzzyzy{yyzyyxyxzzz{zzzzyyyyxyyyyzyyy{zzyxyyyyyyxyzyy{zzyyxyyzyyyyyyyyyyyyyyyxxxxyzyyzyyxzyzyzxyzzyzzyzzzyyxyyzzy{zyyzz{zyyyyyzyzz{yyz{{zyzxyzxzzz{zz{{zzzzyyyzyyzzzyz{yzzzyyyyyyz{{z{zzzzxzyzyzz{zzzz{zzzzyzzzzzzz{{{zzyyyy{yzzz{zz{zz{zyzz{yzxzz{zz{z{zyyzyyzz{{{{{{zyyzzz{zzz{zzz{|{{zz{z{z{zz{{{{z{{|yz{zzyzz{{{z|zzzyyz{zyy{z{zz{{{zzyy{zzy{{{z{{{|zzzyzzzzz{z{zzzzzzyzyzzyzzzzzzzzyz{yyyyyzzzzzzzzxyxyzyyyyzzzyzzyzxyzzzxyzzzzzzz{yyzyyy{zzyzzzzzzzyyyzyyyzyzzyzzzyzyyyyzxzyzzyyzzzyzyzyyyyzzzzyzyzx{yxzyyzyyyzyzyzxyyyyxyyzyzzz{{zyzzyxyxyxzzzzzzxyyzyyyzyz{yzzzzyyyzxyyyyzzzzzz{zyyzxyyzzzyyyzyxzyyyyyxyyzyzyzzzyyzyyyyyyzyzzz{zyyyxyzyxyzzzzzzzzz{yyzyzzyyzzzzzzzzyyyzyzzzyzzzzzxzxzyxzzzzzzzzzzz{yzzzyzzz{z{{z{yyzzyxyzyzzyzyyyyzyyzyzzzyzzzz{zzzzzy{z{zzzz{{{zyyzyzyzz{{z|z{{z{zz{zzyz{{z{z{{{zyzyz{yzz{{{zzzyyzzzzzzz|zzy{{{{y{zzzzz{zzz{zzzyzzz{yyz{{{zz{|z{zzzzzzzzzzz{{z{y{{yzyzy{z{{z{zzxzxyzzxyz{zyzyzzyzzzyyyzyzzzzxzzzxyxzyyxxyzyz{zzyyyyyyyyyzzzz{zzzzzyyyyyzzzyzzz{zzzyyyyxy{{yyzzzzyzyyyyyzyz{yzz{yyzxyyyyyzyyzy{zzyxyyyyyzyyzyyzzyxyyxyxyyzxzyyyzyxyyyxyyyyyzzzzyyzyzxyyzzyzyzzzzyyzxxyyxyzzzzzzzzxzyzyyyyzyyyyyyzyyxyyxyy{zzzz{{yxyyyzzyyzz{zyzzzyzyyyyyyyzyzzzzyyyyyyzyzyyyzz{zyyyyyzyzz{zzzzzyzyyyyzyyyzzyzyzzyzzyzzzyzzz{yzzzzyyzzxyyzzzzzzyzzxyzzzzy{y{{z{{{yzzyz{yzzzy{zyz{yzyzyy{yy{z{zzzz{yyz{zzzz{{zyz{{{y{yzzzzyz{z|{{{{zzzzzyyz{|{{{{{{y{{yyyy{{zzz{{{yzzzzzzyyyzzzz{{zyzz{zyzz{z{zzz{zyzyyzxyy{zz{z{zzzzzyzyyzzz{zz{yzzzyyyzzz{zy{zzzzyxyyzzyyzyzzyzzzyzyxyyyzyzzzzzzyyzzyyyyzzyyzyzyzyxyyyyzzz{{yy{yyyxyxyzxzzzzzzzzzyyxyyyyyyzyzzz{yzyyyyyyxzzzyzyzyyxxyyyzzzy{y{zzyyyyyyzyyzyyyy{z{yzyxyxxyyzyzzzzzyzyyyxxyyzzzzzyyyyyyyxxyyzzzzzyzzyyyxyyyzy{yzzyyyyxzxyyzzzyz{{zyyyxxxzzzz{zyzzzyyyyyyzyzyyz{{{zxzyzyxzzyz{{zzz{zyyyzzyyzzzzyyzzzyzyyzyyzzz|yzzzzzzyzyzz{{{zz{zzzzzyzzyzzz{z{z|{yzyzyyzyzzyzy{{zzz{zzzzzzz{yzz{z{zzzy{yz{zzz{{{|zzzyzzzzzz{z{{zzzyzzzzzyz{z{zz{z{zzzyyyz{zzzzzzzzyzzzyzy{z{{{zz{{zzzzyzzz{z{{{{{zzzyzz{zzzz{yz{{{zyzzzzzzzzzz{{{zzzyyyyxzzzyzyz{zzyyyxyyyyyzzzz{zyzyyyyyzy{zzz{zyzzyzyzxzyzzyy{yzyzzyzzyzz{{yzzzzyzyyxyyzzzzyyzyyyzyyyyyyzzzyy{yyyyxyyyyyzzzy{{zzyyxxyyzyyzyyyzzzyzyyxzyxzzyyxzzzyyyyyyyyzyzzzzzyyyzxyxxyzyzzz{zyyyyyzyyyzzzzzzzzyyyyyyyyzyzyz{zyyzyyyyyzzz{zzzzzyzyyyyyzyyzyyyzzyzzyyzzzzzzzzz{yzyyzzyyzyyyzzz{yyzyzyyyyzyzz{zzyyzzzzzy{|zzz{|{yzzzyyzyz{{z{zzzyzzyyyyzzz{z{{zzzzzzzzzzz{{{z{{{zzzzyzzxyz{z{{{zyyz{zzzzzz{z{z{zzzyz{zzyzzzzz{{{{z{zzzzyzz{{z{{|zzzzxyyz{z{z{{zzzxzyzyy{z{{{z{z{{yzz{zz{{{zzz{{{zzyyyxz{{zy{z{yzz{zz{zzyzz{zzzyzyyyyyyyzyzz{zzzzyyyxyyxxyzyzzzz{yyxyyyzyy{zz{zyzyyyxzzzyzzyzzz{zyyyyyyyyyyzzzyyzyyyyzyzyyzzzyyzzyyyyyyyyyyyyyzzzz{yxzyyyyzyyyzyzzyyxyyyzzzyzzzzyyxyzyyyyyyyyy{zzyyyyyyyzzyzyzzyyyyyyxzyyyzzz{yzzyzzyyxyyyyyyzzyzyyxxyyyxyzzyzzzzyyxyyzyzzzyzyz{zyyyxzyyzz{zzzy{{yyyzyzzzzzyzzzz{xxzzyyyyyzz{z{{zzyyyzxzzxzzz{{{zyyyzyxxyzzzzzz{zzyyzxyyyy{{z{zzyyyyzzzzyzz{zz{z{zyzz{zyzy{zzzzzzzyyzzzzzz{{zy{{z{zyzzyzyz{zzz{{zyzzyyzzyz{zz|{zz{xyzyzzz{{{{z|zzzyyz{y{z{{{{{{zz{yy{zyzzzz{z{z{{{{yzzzyzzyzzzz{|{zzzz{yzzzzzz{{{zzzyyyzyz{yzzyzzyzzzyzyxzz{yzzyzzyxxxxzxx{zyyzzzzyyyyyzyyyzzzzyz{zyyzzyyzzy{{z{{{y{zyyyyy{zy{xz{zzyyy{yzzzzzzzzzyyyyyyxy{yz{yzzyyyyyyyyyyyzyzzzxyyyyxyyyyyzyyzyzyyxyzyzxzyyzyzyzzyzyyyyyzyzyyyyzyzyyyxxyyzz{zyz{zxyyyyyyxzzyyzzzzzyyyyyyyzyzyzzyzzyzzzyxzzzyyy{yzyyyyzyyz{zyzzzz{yzzyzzyzzzyzzz{yyzzxzzyzz{zzz{zzyyzzxzyyzyz{{zzzyzzzyzzzz{z{z{zzyzzyyzyzz{{z{z{zzyz{zyzzz{z{{z{y{zyzzzzz{z|zz{zzz{zyzzz{z{{{{{zzyzyzzzy{{zz{{{{{zyy{{{z{{z{{zzyzyzzyzzyz{{z{z{z{z{zzzz{zz{z{{{{zyzz{yyzz{z{z{z{zzzzzzyzzzy{zz{{zzyzyzzz{|z{z{{{zzyzzzyzzz{{{z{{zzzyzyyyzzyzz{yzyyyxzyzyxzzzzzzzzyyyyzzxyzz{zzz{zzyxyyyyyy{zzy{zyzyyzyyyzzzzyz{zxyyzyyyzzzzyzzyzzzyyxyxyzzzzyzzyyzzyyzxyzzyzyzzz{zzzyyyyzzzzyzzzxyyyyxxyzzzzzzzyzyyzyxyyxyzy{yy{xyzyxyzyy{zzyy{zyyyyzyzyzyyyyy{zyzyzzxyzz{zyzyzzzzyyzyyyzzz{zz{yzzzyyyzyzzzz{yz{{{yzyxyzzzzzzzzyzyyyzyyyzzzz{{{zyyyz{xyzzzz{yzzz{y{yzzzxzzzzzz{{{zyzzyz{z{{z{zzzzyyyzzyz{{{{{z{zyzz{zzyyzz{{zz{{zzzzzyzz{z{zzzz{{yyzzzzy|{{{{{{{zzyzzz{{zzzz{{zzzz{zzzzzz|z{{zzzzyzzzy{z{zzzz{z{{zzzzzyyzzz|z{{{{{zy{zzz|{z{{|{{{zz{yzzzzz{{z{{{zzzzzzzyzzz{zzz{yyzyzzyzzzz{{zzzyyzyxyyyyzzyzzyzzzxzyxzyzzzyyz{zzyyyyyyzzyyzzzzzzyzzyyzzzz{{yzzzyyzyxyzyzzzzz{yyzzzyyzzxzzzzzzzzzyyyyyyxzzzzzzyyzzyxyxzyyyzyyyzzzyyzyyyyzyzyz{{yzxxyxyyzz|zzyzyzyxzyxyyzzyzzyzzzzzyzyzxxyyyzyzzzz{yxyyyzyzzzzzzzzyyyxxyxyyzzzzzyyyyyzyzz{{zzzzzzzyzyzyyy{zzyzzz{zyyzyyzyzz{zzzzz{yyzzyyzzzzzzzz{zxzzyyyyzz|zx{{zzyyzyyyyzz{zz{{z{zyz{yzzyzz{{zzzzz{zzyyy{zy{z{{{{yzzzyyz{{|zzz{z{yzyzzzzz{yzz{zz{zzyz{{yzzzzzz{{{yzz{zzzz{z{z{z{zyzzzzzy{{zzz{{{{zzyyyzyzzy{z{||zzzzzzzz{zz{z|{{z{zyzzyyz{zzz|zzyzzzyzzyz{yzzzzzyyzy{zyzy|zzzzyzxzyyzxyxyzzzyyzzyzyzzyzzzy{zzzyzzzzxyyxyzzyyzzzzyyyyyyyyzz{{y{zzzyzyxxzwyzzyzyyzyxzxyyyxzyzzyyzyyyyyxxyyyyzyzyzyyyzyxyyyyyy{zyzyyyxxyxyyzzyyzzzzzxyyxyxyzyzyzzzyyzyyyxyyyzyyzyzz{yyxyyxyxyyyyyyyzzzyyyyyyyzzz{z{zyzyzyyyzzyzzz{zz{yyyyyyzzzyz{zzyxzyyxzyzy{yyzy{zyzyyyyyzyzyy{zzzyzyzyyzyzzzz{yzzzzyzzyxzzyyzzzzyzzyzyzzy{zyyzz{zzyzz{yyzz{{zzz{zzzzyzzzzzz{zzzzzz{y{yzzz{zyz{{zzyzyzzyy{{z{{{{zyzyzyzz{z{zz{z{{{zzzyzz{zz{zzzzzzyzzzyzy{z{{{{{{zzyzzzzzz{z{{{{zzyz{z{zy{z{{{{z|yzzyyzzyyy{z{{{zyy{zyyzzzzz{yzzzzyyzzyyzyz{yyzzzyzxzyyyyyzzyyyyyxyzyzyxyzyzzyy{{zyyyxzyyzyzyzzzzyyzyyyzyzyzzzz{zyyzwyxzyyzyyz|{zyyxzyyzxzzyyy{z{zyzyyxxzyzzyyzzyzyyxzxyyyzzzyyzyyyzyyyyyzyzyyz{yyzyyyxyyyyzzzzzyzzzxyyyyyzzzzzzzzyzyzyyyyzzyzzzzyyyxyyyyyzyzzy{zzxyyyzyyzyzzzyz{zyzyzzyyzzz{zzzzyzyzzzzyzzz{zzz{yzzyyyyy{zzzz{yzzzzyyyyyyyy{yy{{zyzzyzyzz{{zyyzzzzyzzzzyy{{z{z{zyyyzzzyyz{{{zz{{zzzyzyyzzzz{zz|z{yz{zzzyz{{zzz{{zyzzzyzz{z|{{z{{zyzzzz{yzz{{zy{z{yzyzyyzz|zyzzz{{zzz{zyzz{{zzz{{zzzzzz{z{zzz{z|zzzyyz{z{{z{zzz{{z{yyzyzyzzzz{{{zyzzzzzzyy{{zzz{z{xzzyz{xyz{yzyyxyyyyyxxxyzzyyzzyyyxyyyxyz{zyyzzzyzzxyyyyzzzyz{{{zxyzxyzyzyyzyzz{yzxyxzyyyyzzz{xzyyzxyzzyyzyyz{zzyyzyyxxyyz{yzzzyyyyyyyxyzyyzzyzzyxyyxyyyxzyyyzzzzxyyxyyyyzzz{{z{zyyyyyyyyzzzzzzyzzxyyyyyyzzyzzzzzyyyyyyyy{yyz{zyyyxzzyyyz{zzzyzzzyyyyyyzzzyyzzyzzxyzyyyxyzz{zzz|zyzyyyyzz{{yz{{zzyyzzzyyz{zzzzzyzzzzzxyyz{{yyz{{yyzyzyzy{{yzzz{zzzyyzzyz{yz{|{{{zzzzzzzz{zzzz{{zzzxzzzzyz{{{zzz{{yyzzzyz{{z{zz{{zzzzzzzzz{zzz{{{{yzzzzz{z{y{{{{{{zyzzyzz{{zzzz{{zzzz{z{zz|z{{z{|zzz{z{zz{{z{z{{zzzzyzyzyzyy{z{z{zzzzyzyyzzz{z{zzzzyzyyyyyzzzzyyzyzyxyyxyzzyzyyzzyyyyyyxyyzzyzzyzzyzyyyyyzzyyyyzzyyyzyxxyzzyzyzzzzzyyxxyxzyzzz{xzyyyxzxyzyzyyyzzzzzyyzyxyyzyyyzyzxzxyy{yzyzzzxyyzyxxyyxyyxzyzzzzzxyyyxyxzyyyyzzzzyxyyxyxyyy{zzzzzyyy{yxzxyyzyyzyzzyyyyyyxyyyyyyyzyzzxyyyxyzyzyzzyyyzyyyyyzzyyzzzzyyyyyzyyzzzzzzzzyyyyyzyyzyz{zzzzzyzyzyzzzzyzzzzzzyyyyyyyzyzzzz{{yyyyyzyyyyzzzzzzzyyzzzyyzz{{zzz{y{yzyyzzyzzzy{{zzyyzzyy{{zyzzzzyzzyyzzyzz{{y{zzzz{zxyyyz{|z{z{{{zyy{yzzz{zzzzz{{{yzzyzyzz{zzzz{{zz{zzzyyzzzz{zz{zzzz{yzz|{zyz{{{zyyyyzyzzz{zyzzzzzyzzyyyy{y{yy{zzzzyyzxzyyzy{zzzyyxxyxyyyzzyzyzzyzyyyxyyzzyyyzzzyzyxxyyyzzz{z{zzyyzyyyyyzzzyyyyzyyxyxyzxzzyzyzyzyzzzxyzzy{zzyyzzyyxzzyyxzzzxzyzzyzyxyzyyyyzyy{zyyyxxyyyyyyyzzy{zzzyzxyyyzzzyzzz{zyxyyzxyyzzz{yyyyyyyyyyyzyzzyyyzzyyxyyzyyzzyyzzyzyzyyyyyzzzzzzzyzyyyyyzzyzzzyzzzzyyzyyyyzzzzyzyyzzzyyzyyzzzz{{yyzzzzyyyzzzzzz{yyzyyzzyxx{{zyzz{{yyyzzyzzz{yzz{{zzyyx{zyyz{{zzzz{yzzyyzzzzzzzz{z{zyzzzzxzz{z{{{{{zzzz{zzy{zzz{{{{zzzzzzzzzzzz{z{zzzzyyyz{zzz{z{zz{z{zzzzz{{{zz{zzzyzzzzxz{{zz{z{{{zyz{yyyzzzzzz{zzzyyzyzzzz{zz{zzzzzyyyzyz{yzyzzzyyyyyzzzzz{zyxzzxxywyxyyxyzyyyzzzyxyyxyzyyyyyxyzyyxyyxzyzyzzzyzzyxyyxyxyyyzzyzyyyyyxxxxxzzyyzzzzyxyyzzzxyzyzyyyzyxyxyyyyxzzzyzzzyyyxyyxyyyzyyyyyyyyyyyyyyyyyyzzyyxxyxyyyxzzzyzzy{yzyxxyxyzzzzyz{yyyyyxyyyyyxyyzzxyxxyyyxxzyzyzyzxyyyxyzwyyy{yzzzxyxyyyyyzzzzz{zzyxzzyyzxyzyzyzyzxzyyxxxzzz{yz{zzyyyyyyyyy{zzzzzyxzyyyyyxyyyzxyzzyyzyxzyyzzzzzzzzzzz{zyyyzzyyzzzzzxyyzzzxzzzzzz{zzyyzyyyyy|{zy{{zzyzyyyyzz{y{z{yzzyzzzzzyzzy{zz{z{yzzyzyzzz{zz{zzyzy{zzzyzzz{zzyzz{yyyyyzzzzzzz{{zzyz{{zzzzzz{{z{zzzxyyyzy{zzz{{zzzyzzzyyzy{zyzzzyxzyxxxxy{zzyyzzyyxxxyyxyzzyxzyzyyyyyzyyxzzyyy{zzyyxyxyy{zzzzzzzzyzyzzzzyzyzyzzzyyyyxyyxzyzzzzyzxyyyyyyyxyzxyzzzzzyyxyxyzxyyyzyyyyxyyyyyzzzyzyyzzyyxzxyzyyyzyzzyxyyyxyyzyzxzzzy{yxyzxxxxyzxyzzyyyyzyyxyxzzyzzyyz{zyzxxxyyzyyy{yyyyyyzzyxxyzzzz{zyyyyyyyzyyyzy{zzzyyxyyyxyzz{yy{{yzzxyzzzyyyzzzzzzyzyzyzxyyzz{{{zyzyyyzyzy{{zyz{yyyzyxzyyz{zy{zzyyzyzyyzyz{z{zzzzzyyzzzyyyzz{yz{{zyzzyzxx{y{{z{zzzyzyyyzzzz{zy{{zzzzzyzyzyyz{{zzy{{zzzzy{z{zyz{{zzzzyzy{zy{yz{{{zzzyyyz{zzzz{{{{{{zyyzzyy{{zz{{{zzyxyyyzzzzyzzz{{yzyyyyzxy{z{zz{yyyyyzyyxz{zy{yyzyxyxyxxyzyzyyyzzzxyyyxxyyyyzzy{zyyyyyyzxyzzzy{zzzyyyyyyzzz{zyzyzzzyxxxxxyzzyzzzzzxyzyy{yyzyyzyzyyyyxyyzyxzzyz{zzyxxyxyyxxyxyzzzyyzxxyxyyxzyyzyzyyyxyyxxxxzzxzzyyyxyzxyzxxzyyyzz{yyyyyzyyyyzyzzyyzyyxyyyyyzyzz{zzyyyyyyyxyzzzyyzzyyxyyxzyzzzzzzzzzyzzyyzz{yyzx{{zyzzzxyzy{zyy{zzzzzyyyyxyyzzz{{yzzxzyyxyzzzzzyz{yyyyyyyyyzzzz{zzzzyyzyzzyzz{zz{{zyyzyzzzzyz{zzzzzy{zzyzyyzzyzzzzz{yzyyyyz{{z{{zz{zyzyzzzzyzzyzz{{zyzzzxzzz{{z{zzzzxyzzzzyzyzzz{zzzyzy{zzyzzzyz{{{{zzzzz{zzzzz{{z{zzzyzzzzzz{zzzz{zyyzxzzyy{z{yzyzzyyyyyyyyz{yyzyzyzyxyxyxxzyyyzzzzyxyxyxyyzzzzzzzyxyyxxyxzyzy{zzzzyyyyxyyzzyzyzzzzyyxyxyxzyzzzzzzyyzxxyyyzzzzzzyyzyzxyxxxzzyxyyyyyyyyyyyyyyzzyzzyzxyxzyzyyzyyyyzzyzxzyxxyzyzyzzzzzyyyyyyyzy{zzzzyzyzzzyyzxzyyzzyyyyyyyyyyyyyzyyzyzyyzzzyyzzzy{zyzzyzyyyyyyzzzzyz{yxzzxyyyzzzz{z{zyyzyxyzzzyzz{zzzyzyyyyyzzz{yz{zzzzyyyyyyzzz{{zzzzzzzzzzyzzz{z{zyyzzzzzyy{|zzz{{{yzyzyyzzz|zzz{zzzzz{yyzy{{{zz{z{{yyzzzyzzzzy{{z{zzy{zzzzzz{{{{|{{zzzzzzxz{z{z{{z{zzzzyz{{z{{{zz{zyy{{zyz{zzzzyz|{zzz|yzzzzzzzz{zzyxyyzzzzzy{{z{{zzzyyzzzy{zzzz|zzyyyyyzyzyzyzyyzyyxxyyyyyzyzyzzzyyxyxyzyzyyzzzyzyyyyyyxyzzyzz{z{yyyzyyxyyyzzyzzyzyyxyyyy{zyzyzyzxzyyyyzyzyyzyzzy{yzxxxyzyzzyyzzyyyzxxxyyzyzzyyzzyyyxy{yxzzyzyzyzzyzzyyxyzzzyzyzzzyzxyzyyy{yzy{zzzyyyzwywzzzyyzzzzyyzzxyyyzzzzzzzzyyyyyxyxyzzzzyzzyyzzyyzzzzzzzzzzzzzyy{yyzzzzzyzzyzyyzyzzzzzyzyzzyzyzzzyzzzzzzzzyyzyyyzzzzzzzyzz{zyzzzy{{z{zzzzyyyyyzzzz{z{zzz{zyzzzzyzzz{y{y{z{yzzzyzzxzz{zzz{zzzyyzzyzzyy{{z{zzyyzyzzzzzzz{z{|{zzzzyzz{{{{z{|z{zzyzzzy{zz{z|zzzyzyzzzy{{zz{{{{zzzyzzy{zzz{{{z{zzzyyzyyz{zyzyzzzzz{yzyzzzz{zzzzzxyyzxxzzxyyzzyyyzyzxyyyxzyzzzzzyyyyzxyxzyzzzzz{zxyyyyzyzzyyyzzz{xyzyxyzzzzyzyyyyyxxyxyxyzyzyz{zyyyxyyyyyzy{zyzzyyyyzyxyzy{zyzyyzyyyyyyxyzzzyzzyyyyyzzzyyyyyyzzzzzzxxyyzyyzzzz{yyzzyyyxzyyz{zzyzyyxyyxyyzzyxyzzzyxyxxyxzzzyzy{zzzyyyyyyxyyxzyy{zyyyyyxzyzyzzzzz{yzzyzyyxzyyzyzyzzxyyxzyzzzy{z{zzzzy{yyyyz{zyzzzyzyzyyyyzyzzyzzzzzyzzyxyyz{zz{zzy{zzzzyz{yzzzzz{{yxzyzz{zzzzzz{z{zyyzzyzzzz{{|{{zzzyzyzyz{{zyz{z{z{{yzzzzyz{z{zz{{zzyzz{zz{z{zzzz{zyzzzyyzz{{z{zz{zyzzzzz{z{zzz{|zz{z{zyzzzz{{{{{zzzxzzzyz{zzzzz{zzzyyyzyzzy{zz{zzyzzyyzxzzzzzzxyyzyxyyxxxzzzzzz{yxyzzxyxzxyyz{yyyyzwyyyyyyzyyyyyzyyyyyxyzzzzxyz{zxyxxyzxyzzyyzyzzyzyyyyyxzyyzyzzyyzzyxxyyyyyyyyyyyyyyyxyyyzzzyyyyzyyyyyzzzzyyyzzxxzxzzyxyzyzzzzzyyzyyyyyyzzyyzzzyyyxzzyywzyy{yzyyyyyyyyzxyyyyzzzyyzzxyxyyyyyzz{zzyxyyyxyzzyzzyz{zyyyzxzzyz{yy{{zyzzyyyzyzzy{yz{zzyyyzyyyyzzzzz{zz{yyxyyyyyzzzy{zzyzyyywzyzzzz{{zyyyzzy{yy{z{{z{zyyyyzyyyz{zzy{{{zyyzyxzyyz{{z{{z{y{yxyyzzzzz{z{{yzzzy{yy{{zyy{{z{zzzzzzyy{{z{{{{|yzzzzz{{{z{zz{{yzyy{yy{{zzz{z{|y{y{z{zzzzzz{zzzxyzyyzzzz{zz{z{zzzyz{zzyzzzz{zzzzyzzyyzyzyzyzzzyyxxzyxxyyzyxzyzzyzzyyxyyy{yyyzz{yyyxyxyxyyyyyyyzyyxyxxxyyzyyzy{zyyyyyyyxzzzzzy{yyxxxyyyxzzzzyzyzyyyzyxxyyzyzyyzxzyyxyzyzxyzyyzzzyxyyxxxxyy{yyzyzzxyyxyxyyyxyzzzyyyyyxxyxxyzzz{zyzyyyyyyxyyyyyzzyyzyzyyxyxyzzzzz{yyyyyyxyzzzyyzzzzyxxyyyyyyzyyyyzzyyyxyyyyyyzzzzzyyyzyyzyyyzyzz{zyyzyzyyyy{y{yzyzzyzzyyxx{y{z{zzzzzyyyyyyzz{yz{{yzyyyz{yyz{yzzzzzzzzyyyzzzzz{z{{{zzzyyyzy{yzz{z{{zyzyzzzz{{{zzz{{zzzzz{zyzzzy{zy{{zy{y{zzzzzzz{{{{zyzyyzzz{zzzz{{{yzzzzyzz{zy{zz{zzzy{zzz{{zyzzzzzzzyzzyyzz{zy{z{{zyyyyyyy{zzzzyxzyzzxyyxyzy{yyzyyzxxyxxxxyyyzzzyzxyzyxxyxzzyz{y{zyyyywyyyyyyyyyzzxxyyxxxzzyyzyzyyyyyxyyxyyzyyzzzyyyyzyxyyzxzyyzzxyyyyyxzxxzxyyzyyxxyyzyyzyyxyzyzyzxyxxyyzyzyzyyyxxxyxxxyy{zyyzzzzyyxwzyyyyzyzyyzyxxzyxxyxyyyyyzyyyyyzxyzxzzyzyzyxyyyzyyyyzzzzzyyzzyxxxzzy{yzzz{zzxzzyyyzzzyzzzzzyyyxzyzyzzz{yzyzyzyyzyyzzyzzzzzzzyyyyyzyyz{zzz{yyyzzyyzyzzzyyyzz{yyyyyyy{yyzzzzzyyyzyyzx{zzzzzz{zzzyyxyyz{zzzzzzzyyyyzzx{{zzzz{{zyzyyzz{{{yzzzz{yyzzz{yyzzzz{{{{{y{zzyzzyzzz{yzyzyyzzzyzz{zzz{{{{zzzz{yyyzzz{zzzyzyyzyzyzyzzzz{{zyzzyzyyxyz{{zz{yzywyyyyyzzzzzy{yyzyyyyyzyzyzzzyyyxyyxyyzyzyzyy{yyywyzyzyyyyzzzyzyyyzzxyyzzzyzyzyyzyxyxxyyyyyzy{yxzxyyyxyzyzyy{zxzyyyyyxxyzxzzyyyyyxxzyyyxxzzyyzxyyyyyyyyyyyyyzyyzwxyzxyzzzxzxyzxxyyyxyxzzyyyyz{zxzxxyywxyyyzzzzyyyyyyzyyzyzzyyzyxyxyyzxyzyzzz{{yyyyyyyyzzyzyzzzyyyyxzyzzzz{yzz{zzzzxyyyyyzz{zzyzyzzzyyyzzyzzzyzzzzyzyyyz{yzzz{yzzyzyyyzz{zzzz{yzzzzzyzzzz{{zz{zyzz{yzyz{{{zz{{zyyzzzzyyzz{zzzzzzyxyyyyz{zzyzz{{yyzzzz{zzzzzzzz{{z{yyyzzz{zzz{{{zyzzyyzzy{zzz|z{zyyyyyyz{zzzz{{{zyzzyzzzzz{zz{{{yzyyzzyzyzzz{zzzzyyyzzyyz{z{zzzzzyzyyyyyzyzyyyyyyyxyyxyzyzzyyzyyyyxyyzxzyyyzzzyzyzyxyxzyyyzyyyzzyyxxzxxyzyyzyyzyyzxyxxyyyyyyyzyyyywyyyzxxzyzzz{zyxzxyyxyzyyyzyyyyyyyyyxzyxyzzzyzyyyzyyxyyyzxyyzyyyyyxyxxxyyyzyzyyyyyxyxyyyyyxzzzyxxyyxyxxyzyzzzyyyxyyxxxzzyyyzzyyxyxxyxyyxyzyyzzyyxxyyxyxzzyxy{zyyyxyyyzzzz{yzyzyzzyyzzyyyzzzzzyyyyyyyyyzzyzyyzzzyyxyyxy{{{zzzzyzyzyxzyyyzyy{zzzzzyzzyyy{z{zzzyzyzyyyyzyzzy{zxzyzzyyyyyyyzzy{zzzzzzzzyxyz{{zz{z{y{zyyzyyy{zz{zzz{zzyyzyyz|{zzz{zyzzyxyzyzzzz{zz{zzyyzzzyyzzzz{{{zzzzzzyzzzz{|{{zzyzxyyyyyzz{yz{zzzyzyyyyyzzyzyzzzyyxyyyxzyzyyyyyyyxyyxyyyyzyyzzzzyxyyxxxy{zzy{zyzyyxyyyyzzzyzzyzyzyzyzxxzzyzzz{{yyxxyyyyzyzyyzzzzzyyyxyyyzzyyzzyzyyyzyyxzzyyyyzyyyzxyxxyyyyzyyzzyyyxyxyxyyyyzzyyyyyyxyxyyyyyzzzyzyyyyyyxzyzzyzzzxxxxyyyyyzzyyzzyzyyxxyyyyyzyyzzzyyzyyywyyzzyyyzyyyyyyyyyzyyzzzyzxyyyyxzzzzyzzzzzyyzyyyyyzyz{zzzzyxyxzyzyyzzzyzyzzzzyxyyyzzzzzyzzyzzyyyzzzzzyyzzyyzzyzzyzy{{zzzzzyyyzzyzyzzy{z{z{zzzzyyxxzy{yzzzyzyyyyyzz{zzz{{{{zyzzzzzyy|{zyz{{{zyzyyzzzzz{z{{zzz{zzzyz{{zzzzzzzyyyyzxzz{{y{zz{zzzyzzzz{zzz{|zz{zzzyxyyxzzzz{{zyzyzyy{zy{{|zzzyz{yyyzxxz{zyzyzzyxxyxyzyxzyyyzyyyyyyyxxyzyzzyzzzzyyyxyyxzzzzzzyyzyzyxzzxzyzzyzzzyyxyyyyxyyyy{zyzyyyyyyyyxzyzzzzzzzyyyyyyyy{yzzyzyyxxxyyyyxzzyyzzyyyyyyyxyzzzyzyyyyyyxxwyyyzyyyzzzxyxyxxyyzyzyyzzyyxyyxxyxzyyzyyzz{yxyyyyyzyyzzyzyyyyyyzxzzyzzy{yzyyyyyyzzzzyyzzz{yyzyyzzyy{yz{y{yzyyyyzzzzzyzz{zzyzzzxyyyz{yz{yzzyyyzyyyzzzzzyzzzyzzyyyyz{zzzzzzzzzyzyzzz{zzzzzzzzzyxzyz{{zzzzz{zyzyzyyyzz{z{zzzzzyzzyzyy{zzz{{zy|zyzzzyzzzzz{|{zzyyzzzyz{{y{z{{zzzzyz{yz{zzzz{zzyzzzyzzzzzz{zyzzzy{zyy{z{y{zz{{zzyzz{zyyzzzz{{{zzzzxyzyz{z{zzzzzyzyzyxy{zyzzyyzyzyxxxyx{yyzyzyyyzyyyxxyyyzzzzzzyzyyyyyxzzzyzyzzyyyxywxxzyzzyzzzyyyywyyxyyzzyzzyyyyyxyzyzyzyyyzyyyyyyyyxzzyyy{zyyxzwyzxzyxzzyzyzyzyxyyyxzzyzzyzyyzzywyxxyyxxxzzzyyyyxxzyxzxzyzzyzyyyxyzxyyzyy{yyyyyyyyyyyyyzzzyzyyyyxyzxzyzyzz{zxyxxzyyxzyzzzyzzyyzyyzzyyzzzzzyzyyyyxyyyzz{yzzzzyyyyzxzyzzy{zyyyyyyzyyyyyzzzzzzyyyyyyyyyzzzzyzzzyzzzzzyyyz{zz|{{yyzyzyzyyyzzzz{zzyyzyyyyxzzz{zzzzzzzzyyzyzzzzzzzzz{yzzzzz{z{{z{{zyyzzyyz{{zz{z{{z{{zyyzy{{{{|{{{{yzyyxzzzzz{y{{zz{zzzzz{z{zz{{zzzyzzzzyyyz{yz{{{zzzzyyyyyyzzzzzzyyyxzxyzzyy{zzyyxyxxxyyxy{zzyzzyxyyyyyxyyy{zzzzzyyzxyxyw{z{zzzzzyxyyyxyyyzzzyxzzyxxyyyxyyzzzyzzzyyyyyyyyxzyyyzyyyyyyyyxyzyzyyzzzyyyxyyyyzyyyyyyyyyyyyyyyyzyyzyzzzyyyyxyzzyyyyz{zxyyxxyyxzzz{zzzzzyxyyxxxyyzyyyyzzzyxyxyyyyyzzzzyyxyyyzxyyyyyyzy{zyyyyxyyyzz{yyzzyyzzzyzyyzyzy{zzyyzzzyzyzz{y{zzzyyzy{xxyzzzzy{yzzyyyyzyyzzzyyz{{zyz{yzxzzzzzyzzzyzzyyzzzyz{z{zzzxzzzyz{z{zz{zz{zzyzyzyyyy{{yy{zzzyxyzyyyz{zzzzz{zzx{zyzzx{z{z{{zzzzyyzyzz{{{zz|{{xyzzzyyzzyzz{z{zyzyzzzzz{zyz{{{{yzzyzzzzzzzzzzzzyzzyyyyz{zzzz{zyyyzxyyyzzz{zz{yzyyyzyyyzyyzzyxzyzxyxyyyyzyyzyzzyyywyxxyyyyzyzzyyyyyxyxzzyzy{yzzzzyyywyyyzyzyzzzyyyxyxyxyyyzyzyzyxyxyyyxyzzyyz{{yxyyyxxxyyyzxzyxyxyyyzyyyxzyxyzyxxxxyyzxyyzyyyyyxyyyxyxxyzyzzzzzyxyyyyxxxyzyyyzyxyxxxyyxyyzyyzyzyxyxyyxyxzzyyyyyyyyyyxyxyzzyyzzzzxyyzxyxyzzzyzyzyyzxxyyyyzzyz{xzyzyxyxyyzzzyzz{zzyzyyxyxzyzzyyzyzyyzyzyyyz{zzz{zyyyyyyxzyzzzyyy{zyyyzyyzzyy{{zzyyzyyyyyyyyy{y{zzzzzyyxyy{zzzz{{zzzyzzyzyz{zyzz{{yyzyxzzzyzzzz{y{zzzzyyyzz{z{zz{zzyyyyxyzzyzzzzzz{yyz{yzzzzzzzz{{zzxzyyyzyzzz{z{yyzyyzzzy{zz{{z{zyyzzzyyyzyzzyz{z{zxyxxzyz{zyzyyyyxyxxyyyyzyyyyyyzzyxxyyyyzyyyzzzyzyzyyxyzzyxyzzzyyzxyyyyzyzzyzzzzyzxxyyxzzyzyyyzzxzyzyxxxzzzyzzzyxyyxxyzyyzyyzyyyyzyyyxxyyzzzyzzyxxyyxyxyyzyzy{yyyyyxyxyzyzzzzzzyyyxyyxyyyyyyzzzyyxyywxyzzyyyzzzyyzxyyyxyyxzy{z{zyyyyxyxyyyyzzyyyyyzyyyyyz{zyz{zyyyyyyyzyzzyzzzzxyzyyy{yyzyzyzzyyzyyyyyyyyzzzzyzzzzyyyzzyzzyzzzzyyyyyyy{yz{zyzzzyzzzzzyyyyzzy{z|zy{yyzzyyzyzz{yzzyyz{xyzy{{{{{y{zyzzzyzyz{zzz{{zzzzzzzzzzyzzzzz{{yzzyzzyzzz{{{{{{yzzzy{zy{{zz|zzzyzyzyzyz{{z{z{{zzyyzyxyzz{|z{{z{zyzzyzzzzyz{{z{zzzzzyyyzzyzyzyzyyzyyyyxzz{zyyyxyyxyxyzyyzyyzyy{yyyyxyyyyzyzy{yzyyxyyzyyyyzzzzzzyxzyyyxzzyzzyyzyyyyyxyyxzzzyyzy|yyyyyyyxyzyyyzyzzyyyyzx{yzyyy{{zxzxxyyxyyyzxyyyyxyyyxyyxzyzyzz{yzyyxxyxzzzzyzzz{xyyyyxyyyzyyyx{yyxxyyyzxyyyyyyy{yyyyyxyxzyzyyzzzzyyyyyxxzyy{zzzzzyxyzyyyyzzyzzzzzyzzywyzzzzzzzzzyyyyxyyyyyzyyzzzzzyzyyzzy{{{y{zyzzyyyyzyzyzzzz{zzyyyyyyyyzzzy{zyyyzyzyy{zzy{zyzzyzyyzzyyzyzz{y{{yyzyyyyyz{yz{{zz{yyzzyzz{z{zzz|{zzyzyzzz{zz{z{zz{yzzzzzz{|{{zz{z{{zzyyzz{z{z{{z{{zyzyyy{yzzzz{{|zyzyzyzyzzy{|{{zz{zyyzzy{zzz{z{zzzyzyyzyz{z{yzz{yyyyzyyyzyzzzzyyyxyxxxyxxyzyyyzzyxyxyywxyzyzzz{yyxxxyyyxzzyzzyz{zyyyyyxyyyyzyy{yyyyxxxyxyyzyyyyzzxzyyyxxzyyyyyzzyyyyxyxyyyzzxyzyxzxyyyyxxyzyxz{yxyyxyzxyzzyyyzzyyzyyxzyyzyzyxzyyyyyyxzxyyz{yyyyyxyyxyyyyxyyyzyyyyyyyyxyyyyzyx{zzyyyxyyzyyyyyzzzyyyyyyxyxyzyyyzyzzyzyzyxyyyzzyzzyyyyyyyyyyyzyzzzyzzyxyyyxyyzyyyyzyyzyyxyzzzyyyz{xyzyzyyxyz{zyzyz{yzyxyyzyyzz{{{{zzyzxyyzz{zzzz{{zzyyxzyyyzzzzzzzz{zyzzzzyyzzyyzyzzyzzyzzyz{{zzz{z{yyyzzyzz{{z{zzz{xzyyyzzyzzzzz{{zy{yz{yzyzzzzy{{zzyyzyzyzzz{zzzyyxzyz{yyzzz{zzz{yzyyzyzxzyzzzyzzzxyyzxzxyyzzyyyyxxyzyyxyyzzxzyyzyxyzxxyyyyzyxyzzyyyxxyyyyyyzzzz{zxxyyyyyyzyyyzzzxyyyyxyyyyyzyzy{xyyyyyyyyyzzzyyyyyyyzxyyyyxyzyzyyyxyyyyyyyzxyyyzxxyxyyyx{yyzyzyzyxyzzyyyzyyzzzzzyyyxxyyyyzyzyzyyyyyyzyyyyzyyyyyyzyyyyxyyyyzxzyzzy{zyzzyyyzyzzzzzzyyyyyzxzyzyyy{zyxzzyxzyzzy{zzzzzyyyyyyzyyzzzy{yyyzxyxzyyzzzy{zzyxyzyyxzzzzzzz{{zzyzyzzzzzzyzzzzyyzy{zzzyyzyzzzzyyyxzyzzyzyzy|{zzyyzzyyzy{zy|zzzzyzzzzyz{{{{{zz{zzzyzyzz{{zzz{z{zzxz{zzzz|{{{{z{{yzzyz{zyz{{{{{{zzyzzzyzxzz{{z{{zzyyzyyz{zyyz|{{zzzxzy{xzyzzzz{{zyzyyyyzzzyyzzzzzzyzzyyyyyzyzzyyyyyyyxwyyyzzyxzzyxwxxyyyyyzyyzz{yyxxyxxxyyzyzyzxxxwyyywyyzyzyyyzxyyxxxzxyyyyy{zzyyyyxxyxyyyyyyzyzxywxxyyxzzyyxzyxyxxxyxzzzzzyyzzyyyyyxxxzyyzxyyyywxxxyxxyyyyyzyyyyzyxyxxyzyzzyyzyxxzywyxyyyzyzzyyyyxxyyxzyyxyyzyzyyyyyxxyyzzzzzyzxyyyyyyxzzzyzyyyyyyyyyyzyzzx{z{yyyyyyyyzyyy{zzzyzxyyzzyyzyzzzzyyxyyzzyxz{zzyz{zzzyyyyzyzzxyyzyzyyyyzyyyyzzzyzzzyzxyyy{zzzyzyzz{yyyyyyyz{zzzzzzyzyyyzzzy{{yyzy{z{yzyyzzyy{zzz{zzzzzzzzzzzzyzyz{zzyzzzzyyz{yzzzzz{yyyzyzyzyzzz{zzzyyzzzyzzzzzz{{zyyxyzyyyzzyzzzz{zyyyxyyzy{yzzzzzyyyyyxxyyzzyyzy{yyyyyyxxyzzzzyyzyyyzxxxxyzzyzzyyyyyyyyxxzzyzzzzzyxyyyxyyyyzyyyzzyyyyxxyxyyz{{yzzyyyyxxzxyzyyyyzxyyyyyyxyxy{zzyxxyyyxxywzzzyzyzzyyxxyyyxyyzyyyzyzyxyyyxxyyyzyzyzyyyyyyyyxyxzyyzyzxyyyyxyyyzyyyyyyyzxxxzyyxzyyyyyyyxyyyyyyyzyzyyzzyyyxzxzyyyyzzzzyzz{yyyyyzyzyyzyzxyxyxxxxzzzyyzzzyyyyzxyzyyyyzyyyyyzxxyxxzyyzyzzyzyzzzyyyz{z{yzyzzyyyyxyyzyz{{{yzyzzyyyzy{yzzzyzzyyyyzyyzzz{z{zz{zzzzyzyzz{zy{zy{zyzzxzyyzzzzyzz{{zzzzyzyy{z{{zz{zyzzyzzzzz{yzzzz{yzyzzyzzyzz{zzzzzzyzyyzzzz{zzzzzzyyxzyzzzz{{{{zzzyzzyzxyzzzzzzyyzyxxyyyyzyzyz{yyxzyyyyyxyzyzyxyyyyxyxyxzxyzyzzzyyyxzyyyyyzyzzzzyyyxyxyyzyyzyzyzyyyyyyxyyyyyyzzzyxzyyxxyxzzyyzzyyzyyxyyyzyzyyzyyzxzxyxxyyyyzyzyzyyyyyxyyyz{zzzzyzxxyxxxxzyyzyzyyxyyxyyyyyzwzyyyzyyyyzxxxxzzzyyyxzzyyzyxxyzyyyzzzzyyxxyyzyzyzzz{zzyxyzyzyyyzyzz{zyyzyxzyyzzyzyyzzyyyzyzyyyzzyyzzyzyyyzyzzyzzx{zzzzzyxzyyyyyyzyyzzzyxyzyyy{zzzzzzzzyyyyyzyzzyzz{{zzxzxzzzyyzzzz{{{zzyyyzyy{{{z|{{zzzyyzzy{z|zz{zz{zyzzy{zz{{zzyzz{zzzzyzzzyzzzzz{zzyzzyzyy{y{{z{z{{zzzzyzz{zzy{zz{{zzzzyyzz{{y{yzzyyxyz{zzyzzzzzzx{zzzyxzyzzzzzz{zyxyyyxyyzz{yzyzxwxyyyyxxyzzyzyyyzyzzyxxyzzyzyyzzyxxxyyyxzzzyz{y{zyyxyyzwyyyzyy{zyyzyxyyxyyzzzyzzyyyxyxzxyzyyyz{xzyxyyxzzzyzyxzyzyxyyyyyxyyyyyzzyyyxxyyzxyyyzyzyxzxyzxyxyzyzyzzzyyyzyxyyyyzzzyzy{yxyyyzyyyzyyyyzzxyyxzyyyyyyzyzyzyxyzyzyyz{yzyzzyzyyyyyyyyyzzzzyzyyzzyxzzzyyyyzzzyzyzzyxzzzzzy{zzyyzzyzyyz{zzzzzzzxyxyyxxyzzyyyzyyyzyyzyyzzzzyzzzzyzyzy{zzzz{zzz{y{yzzzyyzyy{z{z{zyzz{yyy{|zzz{yyzxyyyzzz{z{zzz{{yyyzyzzx{{yzzzzyzzzyz{yzzzz{zzzzzyz{yyyzz{zz{{zz{y{yzzzyzyzzzz{{zyzyzzyy{zz{z{{{yzzyzzzyyz{{{{{zyzyyzzyyyyzyz{zzyzyyzx{yyyy{yzzzxyxyyyyxyyyyzy{{zyyyyxwyyyzyzzzzyyxxyyyyyzyyyyzyzxzyyxyxy{zzyyyzzyyzxyxxyyyzyyz{yxyyxzzzxyyyzzzzyyzyyyzyyyyyyzzyyyxyyyyyyyyyzzyyyyyxywyxyyyzyzzyzyxzwyxxyyzyyxyzzyzyxxyxyz{zyzzyyyxyyyxxyzyyyyzyyyxxxyxyxzyyzzzzyxyyyzyzzzzxyz{yyyyxxyyyzz{zzyzzyyyyyyxzyyzzyzzzyyzyxyyyyzzzyzzzyzyzzyyzzzzzz{yzyyyyyzxyzzzyzzzzzyyxyyyy{zzyz{yyzzzxyzyyzyzz{zz{xzzyzzzyyz{{zzz{zyzzyyzyy{y{{zz{{yyzy{zzz{zzz{{{zyzz{{{yz{zy{zzzzyzzyzzzy|zzzz{z{yzyyyyxzz{zzz{{zyyzzy{zzzzz{zz|zyzzzyzzz{z{zyz{zzzzxxzzyzzzzz{{yxyyzyyyyyyzzzzzyyyyyxyxzz{zyyz{yxxyyxyyyyzyyyzyyxzxyxxyzzzyzyzzzyxyyxyxzyzyxzzzyxyxyxxxyyzzyyzxwyxyxxxxyyxyxyyyyyxyzxzzyyyyyyzyyxyyxyxxyyzxyxyyyxyxxyxyyxyzyyyyyxxxyyxxyyyyyxzyyxxyyxxxyyyyzyxyyyxyyyyyyyyyyzzyzyyyyxyyxyyxzzzyyyxxxyyyzzyyzzzzzyxxyyxyyyyxyyzzzyyxxyyyyyzyzyzzyxzyxyzzxyyzyzzzxyyxyzzzzyyyzzzyzxzyzxyxzzzyz{yzyyyyyyyzyzzyzyzzxyyzyzyyzz{yyzzzyzyxxxyzyzz{z{yzzyyxzzzzzzzzzyz{zzzyyyzzyzzzyzzyzxyyzzyyyz{zzz{{yyyzyzyzxzz{{z{z{zyzxzyyyyzzz{z{zzzzyyyzyzzzz{{zzzzzyyyyzzzzyzz{{zyyxyzzy{yzzzzzzyyxyyxzzzyzzz{{zyyyyyyyyzzyyyzzyyyxxyyzzxzzyyyyyyxyxxyyzzzxzxzyxyyyyxyyyyzyzyzxyxyxxzzyyyzyyzyyyyzyyxyxyyyzzzzyzyyxxyyyyzyyzzzzyzzyyyyxxyyyyzzxzyyyxxyxzyyxyyzzyyyxxyyyzyyzyyzyyxxyxxyxyyyyxyzxyyxxxyxyzyyyzzyzyxxyxyyyyzyzzyzzyxyyyyyxxzyzzyyyzyyyyyyyyyyyzy{zxyzxyzyyzzyzyz{zyxzxzyzxzzzzyxzzzyzyyxzyyy{zzzyzyxyyyxyxzyzzzyyzyzzyyyyyyzyzzzzyyyyyzyyxzyzzyyzyxxxyyzyy{z{yyzy{zyyyzyyyzzz{z{zzxzyy{yzzzyyz{z{zyyyzzzyyzzzz{zzy{xxzzzyzz{yz{z{{yzzy{yz{y{zyz{z{{yyxyzyz{{{{{z{zzzz{xyzyzzzz{z{{yzy{zzyyyzyz{zzz{yyzzzzyzzzyz{{zzz{xyyxyz{z{zz{{{zyyyzyxzzzzzzzz|yyyyxyyyzzzyyyyzxyxxyyxyyzyyyzyyzxyxxxyyyyzzzzzzyxxxxyyyyzxzzzzyyyyyxyyyyzyxyzzyyyxyyyxyyyyyzyzyyzyyyyyxzzxyyzzyyyyxxxyyzyxxzyxyxyxxyxyyyyyyxyzxxxxxxxxxyyyzzyyyyxyyyyyxyyyzyzyyyxxwyxxyyzyzyyzyyzxyxyzyyyyyyzzyyzxyxxyxzyyxzyzxxyyyyywyyyzzyzzyxyyxxzxyzyyyyzzyyyyyxyyzyzzyzy{yxyyyyxyyyyyyyzyzxxyyxyxyzz{zyzyyyyyyzyyyzyzzzzzyyyyxyxyzzyz{yyzzzyyzzyyzzz{{zzzxzyyyyyyzzz{{zz{yyzyyxyxyzzyzz{zzxxyyxyy{y{{zzzzyzzyyzyzzzzz{{{zzyzzyzyzz{zz{z{{zzzzyxxyyzzzzzz{zzyyyyy{zzzyzz{zzyzzzzyz{zz{zyz{yyyyyyyxyzzzzyzzzyyyzyyxxzzzyy{yyyzyyyyxyzyyxyyzyyxwyyyyyyyyyyyzzxxxxyyyyyxyyyzzyyzxyyyyzzyyyzyyyyzyxyxyzzyyyy{zyxxxywyyzyzyyzyyyxyyxxyyyyzyyyyyyxzyxxxxzzzyyzzyyxyxxzyyyyyyyzyzxxxxyxyyyzyzyyzzyxxxywxxyyxyzyyzyzyyxxxxyzyyy{zyxyyyxxxywxyyyxyyzyyyyyyyyyzzyyzzzxyyxyyxyyzxzzzyyyzxyyyzyzzy{zz{yyyxxyyyyzyyz{zyzxyyyyyyyyyyzzzzyyzyyyyyxzzzzzyyyyzzyyyyyzzzxzzzzyzzzzxyyyzzzzzzyzyzyyyzzyz{z{yzyyzyyyzyzzy{zzyzzyzyzyyxy{z{zzzyzyyyzyzzzyyyzz{zyzyzzz{zz{{zzyz{zzyyyzyyxzzzzzz{{zzzyyzzzyzyyzzzzyyzzyyyzzzz{zzzzxyzzyxxzz{zzz{z{zzyyxzzzzzy{z{zzzyxzxyyzzz|yx{zzyzxxyyyyzzz{yzzyyyyxyyyyyzzyxzzyxxxyyxxyyzyyyy{zxxxxxwyyyzyzzyyyxyyxyzxyyyzyzzyxyyxyyyxyzyyzyzzywxyyxyyyzyyyyzzyxyyxyyyzyxxyzzyyyyyyyxxyyzyzyxyxyxyxxyxyyzyyyyyyyyyxyxyyyyzyyyyyxyyxyxyyyyzyzzyxyyyxxyxyyyxyzyyyyyxyzzxyyzyy{zzyxxyxyyxzzxyyyzyyyyyzxyxyzy{zzyzyzyzyyyxyzyyyzyzyzyzyxyyyzyyxyzzzxzyxyyyyyzy{zy{{yyyyxyxyzzyyyzzyyyyyzyyyyzzzzzyzyyxzzxzyzzzyz{yzzyzzzzyzzzzzzzzzwyyyyyxyyzzzzzzyxzyzyyzzzzyz{zzyyyyxzyyyyzz{zzzzzyyzzyzzzzzzzz{zyzyyy{y{yy{{zzzzyzyzyyzzz{zzz{{yyzzzzxzzzz{zz{zzyyyyzzyzyzyzy{zzyzyyyyyyzzzzz{zyxyxyyzyy{zyzzyzyyyxxwxxyyyyzyyzyxyyyxxxyzyzzyzzxyyyxzxxyzzzzzzyyzyyyyyxyyxyyyyyzyyyyxyyxyyzyzzzzxyyxyyxyxyyyyyzzyxxyyyyyyyyyzyyyyyyxxyyyyyyyxyzwxxxyxxyyyzzyyyyyxyyyxwyyx{xzyzxyxzyxyyxzyyyyyyzxwxzyyxyyxyxyzyzyyyxyxyyyzyyyzyzyxyyyyyxyyyyyyzyyyyxyxyyzzzyyzzzzxyzyx{zzzzyzzzzyxyyyyyxxyzzyyzyyyyyyxyyyxyzzzyyzyzyxyyyyyzzyz{zyyyxyzyyzzzzy{zyyyxyxyzyyzz{zzzzxzyyyzyyzyz{zzzyyyyyzzyzzzzzz{{zzyzzyyyzzzy{zzzzyyzzzzyyzzz{zzyzzzyzyxyyy{{zz{z{zxzyyyyyzzzz{z{{zyyyzyyyyzyz{z{{zyyzyyyzzzzzzz{zyzyyxyzzzzzxzzzzyyyxyyzyy{zz{zzyyyyyyxxyzzyyyyyyyxyxzxxxzzyyyyzyyxyyyyxyyyyyyzzzyyyxyxyxzyzyzyzzyyyxxxxyyzyyyzzyyyyxyyyxyzyzyzyzzxxxyyyyyyxzyyyyyxzyyyxyzzzyyyyyyxyyxxyyyzyxyzzyyzyxwxyxyyyyyzyyzxyxyyyyxyzzzzyyzyyxyxyxzyzzyzz{yyzyyyyyyzyyzyzyyyyxxxyyyzyzxzzzyzyyyzyxyzzz{zyzzzxyyyyyyzzyyyyzyzyyyxxyzyzzy{{zyzyxz{yyyyyyzzzzyyxyyyyyyzyzzzzyyxyxyyyzyzyzyzzyzyyyyzxyzyyyyzzyzyyxyzxzyzz{{zzzyyyzzzzzzzyxyy{zzyyzyyyyy{{z{{zzzyzyzyzz{{zzzz{{zz{zxzzzyzyyz{zzzyyzy{yyy{{zz{{zzyzyyyzyzzyzy{zzzyzzyzyzzzzzyzz{zzzy{yzz{yzzzz{{{zyzzyyyyyzyz{{{zyyyyyyzzzzzz{yzyyuxyxzyzyyzzyyzzxyxyyxyzyzzyyzzyxxxyyyyyxzyyzyyyzyxyyyyyzzyzyz{yyzzyyyxyyyzzyzyyzzzyyyyyyzyyzyyxxyyyyxxyzxyzzzyyyyyyyyyyyyzyzyyzyyzyyxxxyyyyy{zyyxxyxxxzzzzzy{yyyxyxwyxzy{xzyzzyxzyyyxwyyyzyz{zzxzxyyyxxyzyyzyzzyzxyyyyxyzyyzyzyxzxyyyyzyyzzzzzyxyyzyxxzzzzy{zzzxyyyyzyzyzzzyzzyzyyyyyyzy{yzz{zzyyzyyzyzzzzzyz{yxzyyyxy{zzyyyzyyyyxyyyyyz{zyyzzzyyyzyyzyzzzz{zzzzyzyzzyz{z{yz{{zyxzzzyzz{z{yzzy{yy{yyzzz{z{{zzzzyy{z{zz{zzzz{zzzzyzyzyzz{z{{z{{zyyzyzyyz{zzzzzzzzzyzyzz{yzzy{{z{zyyzzyy{z{yzzzyyzyyyyyzyyzz{zz{{zz{{zyyz{zzzz{zyyyxyyyzzzzzzyzzyyxxyyyxyyyyyzzyyyzxxyyyyxyyzzyzxyxzyyxxy{zzz{{yyyyyyyyxyzzyzzzyyyyyyyyxyyzzyzy{yzxxzyzxyzxzyzzyzyyyyyyyxyzyzzyyyyywyyxxyyyzzyyzyxyxzxxxyzyzyyzyyxyyyyyxyyzyyzyzxxyyxyyyyzzzzzzzxxyyxxxxzyxxyzyyxyzxyxyxyzzy{{y{zyyxxyxxyzyy{zzyxyxxyyyyzyzyzxyzyzzzxyxxzzyzy{zzzxyxyyyzzzyyzzzzyyzxzyyyyzyzyyzyxyxxzzyxyyzy{y{yyzyy{y{xzzzzzyz{yzzyzx{zzzzzyz{{yzzxxxy{{{z{z{{{zzyyzyyyyzz{z{yzzxzyzzzz{zz{z{{zzzz{zyyyzzz{{{z{xzzzzzyzzzyzyz{{zyyzyyzzzz{{yz{zzyzyzyyzyzz{zz{zyzx{zyzy{zyzzzzyzz{yzzyyzz{zzzzzzzyzxyzyz{zyyz{yyzyxyyyyyzzzyzzzxyxyywxxxzzyyzyzyxyyyyxxyyzzzzz{yyyxyyywyyyxzyzzzyyyxxxyzzyzyyzyzzyxxyyyzyzyyzyzyyzyyyyxyyyyz{zyzyxyxxxxyzzyyyxzzyxxzyyxzyyxyyyyxxyxyxyxyyyyxyxyyyyyyyxyyyzyzyyyyyyyxyyyyzxzzyzyyxyyyzyyxzwyyyzzzyyzyywyxzyyzzzyyyxyyyyyzzyyyzyzzxyyxyyyyzyyzyzzzxzxyyyxyzy{zyyyyyxxxxxyzyzzzz{zzzyyyyyyy{zyzzzzzyyyxzyxyzzzyz{xzyyyyzxyzzzy{{zzzyyyxyyzzyyzzz{zxyyyzyzyz{z{zzz{zxyyyyzy{{zzzzyzyzyyzzzy|{zz{{zzzzzyzzzzyyzz{{zy{yyyyzyzy{{z{z|z{yyzyyz{z{{{{{zzzyzyzyyyzzyzzz{zzz{z{yyz{zzz{zzzzzyyyyyyyzzyzzyzzyyyyyyyyzzzzzzzyyzyyxxyy{yzyzyyyyyxxyyxyzzwyyzxyyyxyywyzyy{zzyzyyyxyyxxyxzyzy{zyyyyyzyyyzyyyyzzyzzxyxxxyzzyyyyxxxyyxxxxxzzyzyyyyxxyyxyxxzzyzyzyzyxxyyyyyx{zyyzyxxyyxyxyzzz{zyyyyxxxxyxyyyyyzzyyyyyxyxxxxzyzyzzyyyyyxxxxyxzz{y{xyyyxxxxxzzzyyzzyyyzzzzyxyyyyyyyzyyyyyxyyyyyzyyyzyyxzyyyxzyzyzy{{yzzyyyyxzzyyzzyzyyyyxyyxyzzzzzzzzxzyxzyyxzzzzy{zyzyyyyyzzzyyzzzzyzzzzzyyzzzzzzzzzzyyyzzzyzyzzz{zyyzzyyyyyz{z{{{zyyyyyyyz{{zyzy{zzyyzyyyzzyzzz{{{{yyxzyyyy{z{yz{y{yzzzyyz{zzzyz{yzyyyzyyzyzzyzz{zzyyyzzyyzzzzyyyzzzyyyzyyzyzzzy{zzzyxyyzyyyyzzzyxyyzy{yyyzzzyzyyxxzwyyyxxyyyyyxyyyxxxyxxyyxyzzx{zyxywxyxyyyyzxy{zyyyyyyyyyyyyxx{yyyyxyxyxxyzzyzzzyyzxxywxyyyyyyzzyyyxxxyyyyzxyyyyxxyxyyyxyyxyyyyzxwyxxxyxyxxxxyzyyxxywywyxzzyyyxyyzyzwxyyxzyzyzzyyxxyxxxxyxyxyyzyyyxyxxxyyyzxyyzzyyzxyyyyzyzyyyyyzyyyyyxy{yxy{y{{yyyyyxyyyyyyzzzzyy{zyxyxyzyzyzzyyxyyyxyyyxzzyxyyzxyyyzxyyyyyyz{zyyyyyyyy{yyyy{yyyzyyyyyyzzyyzyyzxyzyyxxyzyyzzzyzy{zyyyxyz{yzzzzzzyyyzyzyzyzzzzzzzyyyzzyzzzzzzz{z{xyyyzyxyzzyzz{{yyyyzyzy{yzyyzzzzyzzzyyyzz{{y{{{zxyyyyyxx{yyzzzzyyyxyyyzyzy{yzzzyyzyyyywyyzzzzyzyxyxyzxyzzyzyyyzyyxxyyxyxzyyyyzzxyyyyxyyyyzzzzz{yyxyyyyxyyyyzyzyyyxzyyxxzxyzxxyyyzxyywyxyzyzzzyzxxyyyzzxzyyyzzxyyyyzxxyyzyyyzzyyyyyyxyxyyzxyzzyzyyyyxyxxyyyyxzyzyyxyyzyyyzzzyzzzyyyyxyxyyzyxyyyzyyyyyxyxxyyyyyzyyyxyxywyyzxyyzy{yyyyyyywyxyzyyzyyxyxyxyyzzzyyzz{yyyzywyxzzyzyzzzyzzyyyyyzzyzyzyz{yyyyyyyyzyyzzzzyyzyxyyyzyzzxzzyyyyyyyyy{{zzzzzyyyzyzyyxyyzzz{z{xzyyyzzxzzz{zz{{zzyzzyyyz{zz{zzy{{xyyzyyzzzzzz{{{zxzyyzyz{yzzz{z{yzyxyyyzzz|z|zzzyyyyyzyyy{zz{zzzyyyyzy{yyzzzzz{zyyyyzyzyzz{zzz{zzzxyyyxy{yyzzy{y{yyzyyyzzyzzz{{yxzyyzxzyyzyzzyyxxyyyyyyyzyyyzyyxyxyywxyyyyyxzxzyxyzyyyyzyxyzzzyzwxyxxyxzyyzyyyyxyyxxyyxzyzyyzyzxxyyxyxxyxyyzzzyyxyxyyyyxyzxyzyyyxyzyywyyyyzyzx{xyyzyxxxyyyyyzyzyxyywxwyyyzyyyyyyzzxxxxyyyxyzzzzyyxyxxxxwzyyyzyzzzyxyyyxxyxyyyzyxxyxyzyxyzzyyxzzzzzxyxxyzyzzzzzzzxzyyyyyzyzzzzzyzzyzwyxxyzzyyz{zyyzzyyzyzyyzyzyzzyyyyyxyyzzzzz{yzyyzzyzyyz{zzzyyyyxyxzyyzyzz{zzzzzzzzyyyzyyzyzzzzxzyxyxyzzzyyzzzzxyyzyyz{{{zyz{zyzyzyzzzyz{y{zzzzzyzyyyzz{|{zy{{zxzyyzyz{zzzzzzzzyyzyyyyzzzzz{zzzzzzzyyzz{z{{yzzzyyzyyzyyzyzzz{yzzzxyxxyyzzy{zzyzyzxyxyyyz{yzyyzyzxyzxyyzzzyyxzyxyxzyxxxzzzxyzzyyyyyxxyyyyzyyyzzyyzxyxyyxyyxyxzzyyxyyyxxyyzzzzyzyyyyxxxxyyxyyzzyyyzyxyyxxyzxyyzyyyyxyxxyyyzzyyyyyxyyywyxyzyzyyzxxyxxyxxyyzzyzyyzyyyyyzyxyyyyyyxzyxxxyxyxyzyyyyyzyxyxxwxyyyxyzyzyxyyyyyyxzyyzz{zzyxyyzxxxyyyyyzzzyzzyyxyyzzzzyzyzxyxxxyyw{yzyzyzyyyyyyyyyyyyzzzyzzxyxyyyyxzzyzzzzxyyyyxyyxyz{zyzzzyyyzyzzzzyzzzzzzyyyyxzy{zyyzz{z{zzyyzyyzzzzzz{zzyyzzzyyz{yzzz{{yyzzyzyzyyzz|zz{{yzyyyy{x{{{{zzzzzzzyzyzy{{zzzyyzyzzyzyyzzzzzzz{zyyy{zzyzzyz{zz{zzzyyyyyyzzzyz{zzyyyyyyyyyyzzzzzyyywxyxyyzzyzyxzxxxxxyyyxzyyzyzzzyyyyyyyzyzzyz{zyyyxxyxyyyyyzzzzyxxyyyyyzyyzyyzzyyxxyyyxyyyxyzyzyyyzxyxxyzxyzyzzzyzyxxyyyxyxyyzyyyyyyyxxyyyyzyz{yxyxxyxxyxzzyzyyyyyxyxyyyzyyzyzzxyyyyxxxyyyyzzzzzyyxyxyxzyzyxzxzyxxxxzyyyzyyyzyzyxyzyyyxyyzyzyzzzyzyyxyzyzyyzzzzzyxyxzyyyyzyyzzzyyyyyxyyyyyyyyzyyyyyxyyyyyzyzyzzzxyyyyyzzzzyzy{zzyzyzxyyzzyzz{zzzyyzyzzzzzzyzzzzyyyyyyyxzzyyzz{{yxyzyyxyz{yyzz{zzyyyzzzy{zyz{zz{zyyzz{zyzzzzzzzzzzzyzyyyz|zzzzz{zyyyyyzyzzyz{{{{zyyyzyyyz{zz{{{{yzyzzyzyzy{{zyzzyyzxyzyzy{zzzzzy{yzzyzxzyzyzzyz{yyzxyyyyyzyzzzyxyyyzyyyyyyyzyyyzzyxyyxyyyyyyyyy{yxyxyxyyyyyyzz{zzxzyzyyyyyyzyyzzzyyxxxyxyyzyzyyzzxyxyyyxzzxyxzzzxyyyyxyy{zyyyzzzzyyxyyyxyyyxx{yyyyyxxxywyzyzzyzyxyxyyyxyyyzyzzzzzyyyxxxxyyyzzzzyzyyyyyxxyyyzyzyyzyxxyxxxyyzyyyzzxyyyyyyyyzzyzzzzzyzyyyxxzzzzyyzzxyyyyxyzyzzzzzzzyzyyyzyyzzzzzzy{xyxxyyyyyzzz{zyzyyzxyzzyyyyzzzyyyyyyxxyyzzzyy{zyzyzyzyyy{yzzzzzzzzyxyyzzzyzzzzzzyyzzyxyxzzz{zz{zzyzyyzzzzzz{{{zzzyyzxzzyz{{zzz|zzzy{xzy{y{{{z{{{{yyyxyyzzz{zz{{zyyzzzyzzzzzzz{z{zyyyzyzzzzzzzz{zyyzyzzzyy{zzzyzzzzyzzyxzzzzzzzyzyzyxyyyyyyzzyzyyyyxyxyyxzzzyyyy{yyxyyyxxyxyzyzzzyzyyxyyyzzzzzzzyzyyyyxyyyyyzyyzzyyyyxxxxzyyzzyzzzyzxyyyxyzyyyzzyyzyxyxxxxyzzyzyyzyzyxyyyyzzzzyyzyxyxyxxyyyzyyzzyyyyyyyyxxyzy{zzyyyyxyxxxxzzzyzyyxxxyyyxyxyyzyzyzyyyyyzyyzyyzzzyzyxyyyyyyzzzyzyzzyyyxyyyzyzzyzyzzyyyzxxxyzzxzzzz{yyzyyxxyzyzyzz{yxyzxzxyxyzzz{zzzyxyyzzyzyzzyzzzyzzy{zzxyyzzyyzzzzzzyyzyy{zz{zzzzyzzyyzzz{zyzzz{zzxyyyyyyyz{yzz{zyxzyzyzy{{zz{{{{zyzyzy{yzz{z{zz{{zyzzyyz{{z{{z{{zyzzyyyy{z{{{{{zzzzzyyzzyzzzzy{yzyyy{yzzzzzzzz{{zyzyzyzxzyzyz{zzyyzyzxzyyzzzzyzyzyyyzyzyyzzyzyyxzxwyywyxyyyzyzzzyyxyyyyxyzyyzyzyzyxxxyyyyzyyzz{yyyyyywyxyzyzzyzyyxxxyxyyxxyyyyy{yzzxyxyyyyyxyyzyyyyyywxyzyyyyyzyxyyxyyyxzyyyyzyyxyxxywxyyyyzyzyyxxyxxyxyxyyyyyzyyyyxyyyzyzzyyy{zyxyyyxyxyyyyyyyyxyyxxxyyyyxyyzzzxxyxzzyyzyyxyzzzyyyyzxyyyyyzzzz{yxyyyxyyyzzyyzyyyyyxyxzyyyyzzy{{yyyyyyyyz{zzzzzzyyyyyyxyzzzyyzzzyyyyyyyzzzzyyyzzyyzyzzyyzzzz{zyzyyzyyzyyzyzzy{zzyyyyyxyyy{zz{zz{zyyyzxzxzzyzz{{zzzzzy{z{yzzzz{zz{yzzyzyyzzz{zzzz{yzyyyzz|zzy{{{{zyzz{yyzzyzzzyz{{zyzyyyyzyzzyzyzzyzyzyyyzzzzzz{{zzyxyzyyzzzzzzzyyyzyyyyzzzyyyzzyxyyxyyyxzyyyxyzzyxyxxxxxxzzyyyzzyyzxzzxzyyyyyzyyyyxxyxyyyzzzyzzzyyyxxyxyyywyyyy{zyxxyyxxzyyyyyzyxyyyyyxxzyyyxyzyzyyxyyxyxzxzyyyyyyxyxyyxxzyzyyzyyxzxxxxyyxyyyyyzyyzyyxyyyzxyzyyzyyyxyyxxxyxxzzzyyyyyyyyyyyyzzyyzyxxyxzxyyxzyyzzzyxxyyyyxzzyzzyyzzxyyyyyzyyzzy{zyxxzyxyxyzzyzyzzzzyyxyyyzz{yzyzzzyyxyyzyyyz{zzzzzzyyyyxyyzzzzzzzzzyyzzyyyyzyzzzz{yzyyzzyxzzy{y{zyzzzyzyxyz{zzyzzzyyyzzzxxzyzz{z{zyzxzzzzyx{zy{zzzzzy{yzyyy{{zz{zzzzyyyyzy{yzzzz{zzyzyyyyyzzyzzyz{zzzzzzzyzzyyz{|y{zyyyzyyzzzzz{{yzxyxyzzyzzzzyz{zyyzxyzyyyyzyyzyyyyyyyyyxyyyyyyzzzxxyyxyyzyxzzy{zzzzxyyywzyzzyzyzxxyxxyyxyzyzy{zzzyyxzxyyyxzyzxzyyxxxyzyxyzyxyzyzzxyyxyzxyyyyyzzzyxyxzyxxyyyyyyyyyyxyyzxyyzzyyyzzyxxyyxxyxyyyyyzyyyyyxxyyxzxyyzzzyxyyywxyyyyyzyzzzxyxyyxyyzzyxzyzzxzzyzxyzyy{y{zzyzyyzyzyy{yzyzzzzxzyyyzzzyyzyz{zyzzyyyyyzzyzyzzzyyzyzyzyy{zyy{yyyxyyyyyzyzzyzzzyyyyzzywyz{zzzzzzzzxyyyzy{yy{zz{{yyyyzxyyz{y{zz{zyyzxzyzyzzzzzzzzzyyyyyyxz{zyz{zzzyyyxzzy{zy{z|{zz{{yyzzyz{zzz{{{zyyyzyzyzzz{zz{{{yyyzyyzzyyzz{{{zyzyyzyzzzyzzzzyzyyyzzyyyzyyz{{{yzyyyyyyzzyyzzz{yzyyxzyyyzzzzzyzyyzyyyyxyzxxyzzyy{zyywwxzyyzyzyzyxyyxxzxzyyyzzyyyxxxxxxwyzyzyyyxyyzyxxyxyyyyyyyyyzyyyyzyzzz{zyyyyxxyyyyyyyyyyzzzzzyxxywzyxzzyxzyyyxxxyxyxyyyyyzyyyxxxyxxxzxyzyxzyxyxxyyyxyyyyyzyzxyyyyxyyzxyyyyyyxxyxxyxyyyzxzzyyyyyyxyyyyzyzyzyyxxyyxzxyyzz{zyzyyyyyxzyyzyzyzzyyyyyyyyyyzzzzyzzzzyyyyyyyzyxzzyyyxyyyyzxyzzzzz{yzyyyyyzyyzzy|{zzzyyyyyyzzyy{zzyzxxyzyyzzzzyzzzz{yyzzyzyyzzzzzzzyzzzyyzyyzzyzyy|zyy{yyzzyzzyzz{zz{{yxyzyy{{{yzz|zzxzyyyyyzzzzzzz{zyyyyyyzyxzyzy{zyyxzzzyzzzyzzzzzyyyyyyyyzyzzzzzzzyyyzyzyyzzzyzzyyyyyzyxxyyzyzyyzyyyywyxwxyyyyxyzyyxxyxxzyyyyzzz{yyyyxyyxyyxyyyyyyyyxyyxxyyyyyyzzyxxyxxyxzyzyyyzzyyxxyyyyyzyyzyzyyxxyxxxxxyyzzyyyyxzyxyxyyzyyyyyyxxyyxxyxxxzzzyyyyxyyxyxyxyyzyyzyzxyxxyyxzyyyyzyzyxyxxyzxyzyyxyzyyyyxxxxyyzyyyzyyxyyyyyzyyyyzzzzzyyyyyxyyyz{y{yyyyzyyyxzyyzzyyzzyxywzyyyzyzzzzyzyyyyzyyyxyyzzz{zyyxyyyyyyzzzzz{z{yxxyxyyyyzyyyzzyyyyyyyzzxzz{zzzzyxyyzyyyzzz{zzzzzyyzzyyzz{zzyyzzzyxzzzyyzz{zzzzzyyzzzzzz{zzzzzzzzzzyzyyyyzz{zz{{zyyzyxzzz{zz{zyz{zzyyyyzy{|z{zzz{yzzzyxzzyzyyz{zyyyyyyyzyzzzzzzz{yyzyzzxzyyzzyyzxzyyyyyxzzzyzyyyxyvxxxyyyzzyyyyzyxxxxxxxyyzyyyzzyyywyyyxyyyyzyzyywzxyxxxyyyyyyzzyyxyxyyxxy{zyzyzxxyyyyxyyzyyyyyyxxyyxxyyxyzxyzxzxyzzyyxyyxzyyyzzxxyyyyyyzyyyyzyyyxxxxyxxyyyyyyzyxyyyyyyyyyyyyyzzyyxxyxxyxyyyyyyzxyxxxyyxxyxzyzyzyyyxxzxxzzyxxzzzzyyyyxyyx{zyzzyyyyyyxxyxzyyzyyzyxyyyxyzyzyyxyyyzyyyyzxyyzzzzzzzzxyyyyxxyzz{zyzzyzyyyzxyxzz{yyzzzzzyyyxzyyyzyyzz{yzyyyxyzz{y{yzzzyzzyyyxyzzzz{zz{zxzzyzyzzzzzy{{zyzyyxzyyzz{z{zzz{zzzyzyyz{zz{zz{zxzyyzyy{yzz{{{zzyyyzyxzzz{zzzz|zyzyyzzyyzzzz{{zzyyyyzzzzzzzyzyzzzyyyyyyxzy{yyzyyyxyyxxxzz{yyyyxxyyxyxxxxyzyyyzzzyyxwxxyzzyyxzyz{yxxxyxxyyyxyyyzyyxyzxxyzyyyxyyzyzyxyxzxyxyzyyyyyyyyxxyxyyyyyyzzyyxwxxxxyxyyzyzyzyyyyyyxyyyzxzyywyyyxxxyxzyyyyzyyxxxyxwyyyyzzyzyzyyyxyyxxyyzzyzyyxxyyyyxyyzzzyzzyyywyyxxyzzyyzyzyyyyzyxyyzyyyyzyyxyyyxyyzyzzyzyzzyxxzzyxyyzyyzzyyyyyyyxxzzzzzyzzy{yyzyyxyyyzzzyyxyyyyyyxzzzyyz{xyyyzyyxyyyzzyx{yyyyyyyyzzzz{z{zzxyxyyyzzzzzzzz{zyyyzyzyyy{zzzz{y{xyyxzzyz{zzyz{{yyzzzzyyyzzzzzzz{zzyzzyyy{zzzy{{zyzzyzzyzzzzzzzzyzxxyyyyzzzz{zz{zyyxzyyyzz{zz{{zzyzyzyyzyzzzy{{yxyzyyyzyyzyzzy|zyyyzxyyyyz|yyyzyxyyxxxyyyzzyyzyyyyyyyyyxzyzyyzzyyyxxxyyxzyyyyzzyyyzxxyyyyyyyyzzyyyyxxywxyyyzyyyzxxyyyyyxxyyyzzzzyyxyyyyxyyzyxyzzzxxxxzxyyyyyzzyyyyxyyyxyyyyzyyyyyyyywyyxyzyyzyzzyxzyyxywyyzyzy{xyxxyxxxxzyzzxxyzzyyyyyyxyyyyzzzyxxyxyxyyxyzyyxzzyyyyyyyxyyzzyzyzyyyyyyzxzzzzzzzzzyyyyyyyzzzyzyzyzyzyyyzyxzyyzzyzyyzxzyyy{|zzz{{zyzzyyyzyzzz{yzzyzyyyyyzyzz{{z{zzyyyzzyyyzyz{zzzzzzyzzyyyzy{zz{zzzyyzyyz{{|{z{{z{zzyzzzzzzzz{zz{yzyyzyzzz{{zzzz{zzzzzyzzzzzzzzz{z{zyyyzyy{zzzzzzzzyyyzzyyzzyzzz{{y{zxyyyyy{zzzzz{yyzyzxyyyzzzzzzyzyyxywyyyz{yzzxyyyxxyyzxxzzyxyyyyyyyyyyyyyyzyyyyxyxxzyzxzyyyzzyzyyyxyxyyzzyyyyzyyyyyxxyxyyyzzzy{yyyyxzzyxzxyzyzyyyyxyxyyyzyxzzzyxywyxxxyyyyyyzzzyxxyyxyyxyyyxzzzxyzzyyxyyzyyy{yyyyyyxxxxxzzzxzzyxxxyxyywyyzyyyzyyyyxyxxywzyyyzyzyyyyyxyxzyyyyyyzzyyyyxyyyzzyzyzzyyyyxxyyxzzyyzyzzyzyxyyyzzzzyzzzyxyzzxzxyzyzyzzyzyyyxyyyzz{yzzzyyzzyzyyyyzyyzzzyz{yyxyzzyzz|zzyzyxyyyxzzzzzzz{{{zzyzzzyxzzzz{z{zzyyyzyyz{{{zz{{z{yy{y{zzyzz{{z{z|yzyyzyyy|z{zz{{zzyzzyzy{zyyyzzy{zzzzyyyzzyzzz{zzyzzzzyyzzyzzzzzz{zyyyxzzzz{zxzzz{zzyyyyzzzzzzzzzzyzyxyyzzzyzyyzyyxxyxzwxy{yyyzzyyyxxxyyyyzzyyzzyxyyxxyyzzyyzzzyyxyyyxxxzyyzyxzzyxyyxxyyyyyyyyyzywyywyyxyzyyy{zzyyyyyxyyyyzxyzyyyyyzxyyxyyzyz{zzzxwyxyyyxzyyxz{zyyyxyyxyyyxyzzzzxyzyyyyzyzyxzxzyyyxyyyxwxyzyzzyzzxyxyzyxwzyyyyyzxyyyyxzyxyyyzyzzzyyyyxyyyzyzzzyzyyzyyxyyzzzxy{yyyxxxyyzyyyxzzzzzxzyyyyxyyzzzz{yyyyyyyzzzyyyzyzzzzzyzyyyz{yyzz{yzyyyxzyyyxzzz{zzzzyyyyy{yzyyzzzzzyzyzzxzxy{z{yz{zyyyy{xyyzzz{{z{zzzyyyyzzzyyy{zz{zyzyyyzyz{{zy{zzzzzzyzzyyzzzzzzzyyzzzyyzyz{y{zz{zzzzzyzyzzzz{{zzyyzyyzyzzz{zzy{{yyzzyzyyz{{zzyyyyyzyxyyxyzzzyyyzyyxxyxxxyzzyzzzzyxxyyxyyxyzzyzyzyyyxxyyxyxyzzyyyzyzyxyyyxyyyzzzyyyzywyyyyxyyy{zzxxxxyyyzyzyyyzzyyyxyxyyxyzyyyzzyxzyxyzyxyxyzyyzyxxyxyxxywzzyzzyyzxxxxxxyyyzyzzzyyyyywxyyyzxyyyzzyxyyxyxxyyxzy{yzyyxyxxyxxyxyyzzyzyyxzyyzyzzyxzzzyxyxzyyxzyyyxyzzzxyxyyyyzzyyz{yzyyyyzyzyzyzyzzz{zyzyyxyyzzzzzyzzyyyyzyyyzzyzzyzzyyyyyxxyzzzyz{zyyyyxyyzyzzyzzzzyyyyyzzzzz{z{{zz|yyzzyyzyz{zz{zzzzyzzzy{zzzzy{z{zzzzyzzzyzzzz|zz{zzzzyyyz{|zy|{{{zyzyyyyyzyzzy{{zzzyzyyzyzz{zzzz{{yzyzyyy{zzzzzz{yyzyyyyzzyzzz{zy{zzyxyyyyzzzzxzzzzzyyyyyyy|zyzzyzyxxyxxxzyyyzyzyyzxxxxwyyyyzyyzzzxxzyyyxxxyyzyzzxyyzyxyyyyzzyzyzyxxxyxyxyyyyyzyxzyyxxxyyxyyyyzzxzyyyxyxyxyyyyzzzxyxyzyxyyxyyyyyzyyyxxyyxyyyyyzzyyyxyyxyzxxyzyzyyzyyyyyxxyyyyzzyzyyyyxxyyyyzyyzzyyxxyyyyyyzyzyzyyyyyyxxxxzyzyyyzzzzyxyyyyzzzyyyzyyyyyyyyxzxyzyzyzzxyyzxxzyyyyzzzyyyyyzyyxyz{yzzyzzyyzxyzxzzzzyzzzyzyyyyyzzzzyzyzyzyxyzyyyyzzzyzzzzyzxzy{yzzz{zy{{zyyyzyzyzz{zzzzyzzzyzyyz{zzzz{zzzzyzzzzzz{z|z{{{zyzyyzyyy{zzzz{{zzzyzyyzzy{zzz{{yyyzzzzzyzzzzz{zzzyzyzyz{{z{zy{{{yyyyzyyzzzzyzzzyyzyyzyyyz{zzyzzzyzxzyyyzzzyyzyzyyxxyxyxyyyyzyyzyyxywxwxyyzxyzzzyyyxyyyxxyzzyyzyyxyyyxxzxyz{yzyzyyyxxxxxxyyzyyyzzxzyzyyxxyxyyyzxyxyyxxyyyxzyxzyzyyxxxzyxxyyzxzzyxxyzyxyxyyyyyyzywyyxyxxyxxyxyzyzyxxzxxxxyyyyzzzzyxyxzzxxyyxxyyzyzyxxxxyyyyyyxzyzxyyxyyxxyzyxyy{yyyyxxyyyxzyyyyz{yyxxyyxzyzyyyyzzyxzxxxxyyxyyyyyxyyyyyxxxyzyzyzzzxyyxyyyxyzzxyy{zyyxyyxxzzzzyyzzzxyyyyzyxzzyzzzz{yyzyxzyzz{z{y{yzzyyyyyyyyzyyzz{yzxyzyyyyzzzzzzzzzzzyzzyy{z{yzzz{zyzyyyxzzzz{z{zzzyyyyyzyzzzzzyzzzyyyyyyyyyyzzz{yzyzyyyyzzzzz{zzzzyyyyyyyyzzzzzz{zzyyyxyyyzyzyyzyxyzxzxyyyyzzyzz{xyyxxxxxxyyyyyyzyyxyyyxyyyyxyzzzyyxxyyyyzxzyyzzzyyyxyxyxyyzyyyzzyyyxxyyxxyxxzyyyyxxxxyxxyzxyxzzyxxyyxyyxyyyyxyzyyxxxxxxyyyyzyzyyxxxxyxxzyyyxzyyyyxyxyxwzyxyyyzyyyyxxwxyyyyzyyzzzyxyxyxyyxyxxyyyyyxyywyxxxyzzzzyzyyxyyyyxyyyyyyzzxyyyzxyyz{yxyzzzzxyzyxyzyyyy{zyzxyyyxxxyyzy{zyyzzyyyzxyyzzzzyzzzzxyyyyxyyz{zzx{yyyxyzxxyyyzyzyzyyxxxzyyz{zzzz{zyzyyyyyzyyzzzzzz{yyyxyyzxzzzyzzz{zxyyzxyz{zzy{y{{zyzzzyzzzzyzzzzz{zzyyzzyy|z{z{z{zzyzyyyyzzyzz{zz{yyzzzyzyyyzz{{zzzzyzyyzzzzyzz{yyyzyyyzyyyzyyz{zzyzxyzyyyzyzzzzzyyzxyyyyyzyyzyyyyxyyxxyyxzyyxyzyyyxxyxyyyzyzyyyzzyxxxyxyyyyyyyyzyxxxxxxyyyyzyzyzyyyyywyxyzyyyyxzyxyxyyxxxyzyzzyxxxyxxyxxyx{xxyyyyyyxyyxxyyyyxxxzyyyxxyyxyxyyxzyyyyyywyyxyyzyyyyyyxyxyxxxyyzyyyyzxyyxzyxyxyyyyyxyyxyxyxyxyxyyyzzyyxzyyzxxyyzyxz{yzyxyyxzzzzyzyyzyyyyxxyyxzyyyyzzyyyyxyyyxzzzyxyzzzyzyyxyxxzyyy{yxyyyyxxzyzyzyyyyzyyz{zyyzzyz{yzzyzy{yzyyyxyzzx{zzyyzyyyyyzzxzzy{{yyzzyzyyzzzzzy{zyyyzzzxyzzyyzzz{yyzyyzzy{zyyz{z{z{zzzzyyz{y{yzz{zyzzyyzyyzzzyzzzyyyzyxzzzyz{zzyzzxyyzzxzzz{yyzzzyyyyzyyzyyyzzyzzzzyyyyxxzzy{zyyzyzxxyxyxzzyzzyyzxwyyxxxxyzzyzzyyyxyxxyyxyxzxyy{yzxxyxxxxyyyyyxyzyxyyyyxxxzyyyyzyzxyxxyyxxyyxzyzyyxxxywxxxyyxzzyyyxyyxxxyyyyxyyyyyyyxxyyyyyyyzyyyxyyyxyxxzyyyyzzxxyxzyxxxzyzyyzyzxxyyyyxyyyyyyzyzxyxyxyyxyzzxzyyyyyxyyxyyxzyzxzzyyxxxxyyxyyyyyy{zxxxyyxyyxyzyyyyzyxzyyyyyyyxyyyzyzyyyxyyyzyzzyyzzyzyzyxyyyzyzz{yzzyyxyyxxzyzyxy{zyxyzzyyyyyyyzzyzyyyyyxyyzzyyzzzzyzyxyyzzyzzzzzz{zzyzyzyzz{zyzz{zyyyyyzzyz{yzzzzyyyzyxzyyzzyzzzzzyyzyyzxyyzyyz{z{zyyxyxyyzzzzyzzz{yzyyyzzzzzyzzzzyzyyzyzyzzyz{y{zxyyyxyxzy{yzzzzzzyyyxzyxyzzzyyzyyzyxyyxyyzzzyyyzxxyyyxxxxyzzyzyzyyywyxyxzyzzzyyzzxxxyyxyxxyy{zzzzxxxxyyxyzyzyyyzzyzyxyxxyzyyzz{zyyxxxzyyyyxyxyzyzyyxyyyzzxzyxyzyxzyxxyyyyyyxzzyzyxxyxxwyxzyxxyyyyyxxxyyyxzzyzyyyzxxxxxxyyyyyyyzzxyxxyxyxxyyyyyxyyzxyyxxyyyyyxyyzyyyxyyyyyyyyyzzzzxyxyxzxyyy{xzzyyyzyyyyxyzzzxzzzyxyyxyyxz{zzyyzyzyyyxxyxzzzyyzzzxxyyyyyyxyyzzxzyyxyyyyyyzzyzyyzyzyyyyyyyzzzzzyzzxzz{yyzzyzyyyyz{zyzyzxxyzy{yzz{zzyyyzzyxzyzyzyy{zyzyyzzzyzz{z{zzxyyzyyyzz{zzyzzzzyzyyyyzzzyzyzz{yzzyzzyzzzzzzy{zzyyyzyyyzzyzzzzzxyyzxyyzyzyzyyz{zyxyyxzzyzyzyyzyyyyxxyyyzzzyyzyxxxyxyyxxxyyyz{zyyxyxyxxxyzzyyzy{zxxxyyyxyyyyzyzyzyyxyxyxyyzyxyyzyxxxywyxzzxzzyz{xyxxyyyxyyyyyyyyzyxxyyyxyyzxxyzyxxyyxyxyyyzyyyyzyxyxyxyxyyyzzzzyzyxxyyyyxyyyzyzyxxxyxxyxyzyzyyzyyxyyxyxyxyyyyyyyxyyyyyyxxzyzz{yzyyyyzyyxzyzzyzzzzyyxxxyyzzzxyxzzzzyyzyyzyzyyzzz{yxyxyxxyyzy{zzzyyzyyzzyyyzzzzzzzyzzzzyxyzzzyyzzzzyzyyyxyzzzxzzzyyyyyxzzyzzzz{z{yzyyyyyyzyzy{zzyzzyyzyzzxz{zyz{{zyyyzyzyyzzzzyzzzzyyyzzzzyzzzzz{{zyxyzxyzz{zzzzz{zy{zyyyzz{z{z{zzzyxyyyyyzz{zz{{{zyzzyzyyyzyzzzzzyyyyzxyyyzyzz{zz{yzyyyxyzzyzzyzyyzyxxxzyyzyyyyyyyyxxyxxxxzyyyyyzyyxyyxxxyyyzzzz{zyzxxyyxxyxyyzzyyyyxyyyxyyyxzzyyyyxyxyyxyxyyyyyzyyywyxyxyyyyyzzzzyyxxyyyzz{yyyzzzyyxyxyxzyyzyyxyxyxxxyzxyyyzyyzyxyyywyxxyzzyyzzzyxxxxzxyyzyyyyzzxyyyyxywyyyyyyyzyxyxyyyyxyxzzyyzyyyyyyxxyyyyyzzzyyyyzxzxzyyyzzyzzyyyzyzyyyyyy{zzxxyyzxyxzyyzyy{zyxzyyxyyyzyzzz{zzyyzyyyxyzyzzzyyyzzyyyyyyzzyy{{zyzyyyyyxzzzyzzzzyzyyyzzyzzz{yzzzyyyyyyzxyyzzzzzzzyyzyyxyzzzzzzz{{yzzz{zzzzzy{{{{zyyzyyz{yz{zzy{zyyyz{yyz{zyzz{{z{yxzzyyzzzyy{zzzzyzzzzzzyzzz{z{{yyzyyyzxyyyzy{|{zzyzyyyyyzzyyz{yzyzxzzxyzyzyzzyyyxxyxyxxyyzyyyyzyyxyyxwzyyzyzyyyyyyxyxzyyzxxyyzzyyzyxxyyzzzyxyyyyyxxyyyxzzyyy{yyyyyyyxyyxyyyzz{yxyxxzxyxyyzzzyyxyyyxyyxzyyxzyzy{zyxwyxxxzzzyyzzyyzyyyxxyyyzzyzzyyyxxyyyxxyy{yxzzwyyxxxxxyxyxyzzzzywyyxzxyyyyyzzzyyyyyyxyyyz{yzzzzyxyyyxzzyyzyzyzyxyxxxyzyxzzzzzyyxyyyxzyyyyyzyzyyyxxyyzyyzyzzzyzyzyyyyyyyz{zxzzzzyyyyyyyzzzzzzzzyyyyzyyy{zzzz{{zyyzyyxzyyzyzzz{{zyyzyyyxzzzzzzzzyxyyzyzy{zzzz{z{yzyzzzz{yyzyzz{{{zzyzzyyz{zzz{z{yyzzyyzzzzyyz{{zzyyyyzyyz{zzzz{{{zyyzzyz{zz{yz{{{y{xyzxyzzzzzzz{zzzyyzyyzyzzyzyzyyzyyyyxyy{zyzyzxyyyzxyyyxz{zzyzyyyyyyxyyyyyzzzzxyxxyyyxyyyzzzzzyyyyzxxwyyyyyxzzyxxxxxyxzzyyyy{zxxxxyyyyxzy{xzy{yxyzyxxyxyyyyyzyyyyyyyxxzyxyyzxzyyxxxyxxxyzyyyzyxxxxwyxxxyzyxzyzyxyxyyyxyzzzyyzyyxxyyyyyxyxxzyzzyxyyxyyyxzyzyzyyyyxxxyxxzyyzzyzzyyyyyyxyyyyyyzz{yyyyxxyzzy{{zzzzyxyxxyxzyyyyzyzyzyzyxxzyyyyyyzzyyyyzyyyxyzyzyz{zzyyxyyyyzyzxy{yyzyyyzxyyzy{zzzzzyyyyxxyyzzz{zzz{zzzxyyxyyzzzzzzyzyyzzxzzz{yzz{zzyzyzzzzzzzzyyz{{zyyzyyyyyzzzzz{zzzzzzyyz{zzzzz{zzzyyyzzzzyy{{zz{zyyyzyxyzzyzy{{zyyyyzzyxyzzz{{{zyzxyyzyxzzzzzzzzzyzyyyyyzzzyyyzyyyxxxxxzyyzyyyyyyxyxyxxyzzyyzzzzyyyxyyyxzyyzyyzzxzxxxyyyyxzyxyyyzzyxxyyxyyzyxyzzyyxwxxxxxzzyyzyyyxyxyxxxyyzyyyyyyyxwxyyyzyxyxzzzyxxyxyxxyzzyyyzyyyxxyyyxyyyyzzyyxyyyxzxyyyyyzyzyyxyxyxyxyyyxyyyzzxyyxyzzxyyxyyzzzyyyzyxxyzzzyyzzyyzyyyyyyzzyzz{yzyyzyxyyzzzxzyyzxzyyyxxyzyzzyzzzyyyxyxzyyzyzy{yzzyzyyyyyzzyyyz{zyzyyyyyxyzyzzzyzzyyzzyzyyz{{y{{zyyyyxyyyyzyzzzzzyyyzyxyy{{zzzzzzyyyzzyxz{{zzyz{zzzzzyyzzzzzzz{zz{zyyyyyyy|zyzz{{zzzzyyzzzz{zy{zzzyyyzyzzzzz{{zz{zzyyzzxyzzzz{zz{yyzyyyyxyzzz{zy{{zyyyxzxzyz{yzzzyyzyzzzyyyxzzyzyzxwyyxyxxzzyzzzxyyyyxyxxyyyzzzzzzyyyxxxyzyzyzyzyzxyyyxxxzyzyyxyyyxyxxxxxyxyyyyyzxyxyxyywxyyyyyz{yyyxyyxxyyzyyzyyyxxyxxxyyxxyyyzyxyxxxxxxyyyyyyyyxyxyxyyxyzzyyyyzyyxxyxxzxyyyyyyyyyxyxyxxyxzyyyxzyyxxyyzyyzyzyz{zyzyxyyyxzyyxyzyzzzyxyyzyyyzyzyyzzxyxyxyyzy{zyzz{xyzyyyxyyy{yyzzzyyyyzxyyyzzyyzzzyxyxyyxx{zzyyzzzzyyxzyyyyyzyzzyzyzyzxyyzzy{zyz{zyy{yzyyzzyzzzz{{yyyyzxyyzy{zzzy{zxyxyxyzzzzzz{{zzyyyyzzzyzzzzzz{zzyyzzyyz{z{zy{zzzyzyyyyyyyyzz{zzzyzyzyyzzzzzz{zzzyyzyxzz{z{zyz{yyyyyyyzyzz{yz{yzzyyyxzyyzyyzyz{zyzyyyyxzzzzzyyyyxwxxyyyxzxyzyyyyyyyywxyzyyzyyzzxyzyxzyxyzzyyzyyzxxyyxxyzzyyyyzzyyyxxyxxyxzzyzyyxyyxyyxxyyzyyyyxyxyyyxxxzxyyyzxyxyyxxyxyyxxzyzy{xyyyyxyxxxzzyyzyxxxxyxyyyzzyzxyyxyxyxxxxxyxyzyzyyxyxxxyxyyyyzyyzyyyxyxwyyzyxxzyyzyyyxywxzzyzzzy{yyyyyyyzzyyyyz{zxyyxxxyyyyzzzyzzzyyxxyyyzzyzzyzzywyxyxyzzzzyzzyzyyyyyxyxzzyzyyzzzyyyyxyzzyzyyzyzyyxyyxyzzzyzz{yzzzzyyzyyyzzzzzzzzzzyyyxyyzzyzzz{zyzzyyzyz{{zzz{zyyyyzzzzzzzzy{zz{zzyzzzzy{y{zy{zzyzzzyzz{z{zzzzzzyxyzzyzzzzyz{{{z{yyzyzyzzzzzy{{zyyyyyyxy{zyyzzzzyyyyyzyyzzzzzzzyyyxyyyyyyzyzFw5a{{|{{{z||{{{{|||z{{{{z{|{{{||}|{{zzzz{z|{{|{||||{|{z{{z{{{{{{||{{{zz{{{|{{}{|||{|zzzzy{z|z{{{{{{{{z{zy{{{|{{}||{{y{z{{z{|{{z|{|{zzzzzz{zz{{|{{{|yzzzzz{{{{{||z{{{{{z{{zz{|z{{{|{zz{z{zz{{|{{{|}{|zz{{yz{{z{{|{{z{{z{{y{{|z|{{{{{{|z{z{{{||z{|||y{|{{z{z{||{z{{|{zy{{{{z{{{|{}|{|{z|{z|z{|{{|||{|{z{{|z{{{{{{{}||{{{{zz{{{|{{}|||{{{|{||{||||{{{{|z{{zz{||||{|||}{z{{z{{{}|}~{|{{{{{|{{|{||}|}||{{|{{|||{}|{{|||||zz{{{{|}{||}}}|{||{{|z|{{||||}{{{z|||{{|{||z}}{{{{|{z{||{{|||||{{{{|z{{|||||||{|y{zz{z|{{{{{{|{{zzz{z{{{{|||z|{zz{{{{z{||{{}}|{{{|{z{{z|{|{|{||{|z{{z|{|{|||}}|{z{{z|{}{|{{||{||zz{{{z{{|{|{|{z{z{{{{z{{|{{|||z{{{z{z{{{{{{||{{{{zz{{z{{z{{||{zz{zzzzz{{||{||{zyz{{zzzz|{{{||{y{z{z{zz{{|z|z{|{zzz{{{z{{{{y{|{{{{zzzz{{{{z{|{{z{zz{{yz{|{||{|{{zzz{|{{{{}{|{}|z{{{{|{{{{|{z{{{{{{{{{{zz{|{|{}{{{{z|zzz{|{{|{}|{z|{{zz{|||||{{|{{zz{z{{|{{|{|||{{||{{|{}|}|{||}z|{z{|{{z||}{|||{z{{||z{|{|{{|||}|{z{{|{}||}||||{z{||||}{|{|||}}||z{|{{{{||||||||{||{{{{{||||||||{{||{{z||z||}}}{|||{{|{||||{||{{|{{|{{{{{{{{|||{|z{zz{{{||{{|||{{{{z{{z{||{{{|}{||{{z{{|}|||||||{|z{{{|z{{|||||{|z{|{|{{|{|{||||z{{{{{z{{|}{||{zzzzz{{{|{{{{{|||||zzz{zz{{{z||{|{zz{{z{{||{|{|{||{z{zzz{{z|||||{zy{{zz{{|{{zz|{zzz{{zz{{|{{{{|{{{{zz|zz{{{|{|{{{{{zzz{y{{{|{|z}{|zz{zzz{z{{{|z|{z{{|z{{||{{{{|{{{zz{zzz{{|{{|{{|{|{{{{{|{{{{|{{{zz{{{{z||{{|{{||z{{z{{z{|{|{||zzz{z{{z{{||{{z|{{{zzz|z{{||z{|{}{|z{{z{z{{|||{{{{|{{|{{{{|{{|}||{{{|{{{z||||{}}|{{|{zz{{{}|||||}|z{{{{{{|{|||{|||{{z||{|{|{|~}||||{{{{|{{|||{{|||{zz{z{||{|||||||{{||z{|{|}{|}|}{{{{{|z{{||{|}|||z{{{{{{||||{||{{{{|{z{{z}||{{|||}z{{{{{{}||}|{{{{{z{|{|{{||||}||{z{{z{z|||{|}||{{z{z{y|{|||{{||z{z{{{|z|}|||||||{{z{z{{z||z||{z{{z{z|{{{{|{{||{z|{z{{{{{{{{z{|{{{z{{{zz{|y{z{{{|{{zzy{z{|zz{|{{|{z{{z{y{{{{|||{z{{{y{{{z{{{z{{|{{zz{zz{||z{z|||z{z{{{{{{{|}|{|{||{{{z{{|{{{|{||||{z{{{{||{||||{{z{z{zz{|{|{{{{|{z|{|{{{{|{||{{|{{|{{{{{|}|||||{{{{{|{z|{|||{|{|{{|{|{{{z{|||{}|{z{{{{{{|||}{{||{z{{{{{{{||||||{|{{{{|{|}}|{{}}{|{{z{{|{|||||}||}z{{|{{{||||||}|{{||{{||}|||{{}|{{|{{||||{||}|||{|{{|||z||||{||}|{{{{{{{{{{|||||{|{{{z{{{{||||{}z{|z{{{{|{|{|}{||{zz{{|||}}||}||{|{z|{|{}z|{|}||{|{{{z{{|||{||z|{{{{|z{{{{|}{||}{z{{{{{z{{{|||{z{z{{{{z{{|{{{{|z{{{{{z{{{||z{{|{{{{{z{{z{{{|z{|{{{z{{{z{{{{|{{|{{z{{z{{{{{z{{|{{{{zzzzz{z|{|{{|{zz{yzz{{{{z{z{|{|{yzz{{{{z{|{|{{zz{{|{zz{{{||||||z|{zz{{{||{|||||z{{y{|{|{{{{{z||{{zz{||{{|{{{{{|{{{{zzzz{}|{}|{{{|{z{z{|{{|{{}{{{{{z{z{|{{|{||{z{|{{{{{{{{|{|{|z{{{{|{|{{{}||{{}{{{{{{z|}{||{|{{{{{{{{||||{}|}|}{|{{||||{||}{}|{{||{{z{|||||}}||{{|{{{{|}{{||}}{z{||{{z||{|}{|}{{|||{{{|{{|||||{|{z{|zz{|{{|||{|{|{z{z{{|||}{}{{|{z{{z{|{{|||{||{{{|{{z}|||{{}}|||{{zz{||{}||{||{{{{{|{{}{{}|{}|{{{|{{z|{||{{}|{|{z{{{{{|{|{}||z{||{{{{{{|z|{|{z{{{{{y{|{{{{|{|{zz{{|zz{z{|{|||{zz{{zz{{{|z{||{{{{{y{{|{{|{z{|{zzzz{z{z|{|{z|||{zz{{z{y{{||{{||{z{z{{zz{|{{|||{{z{{{{|z{{{||{||{z{z{zz|{||{{{{{{{{{z{{{{||{{||}z{{{z{{{z|{|||{|||{z|z|{|{{{||||{{|z{{{{{|}|{||{{|z|{|z|z{||{|z{{|{{z{{}||{|||{}{{{|{||{||||||}{||{{{{{||||||}{|||{{{|{z}{||||||{||{|{||{|{|||{||{{||z{||||}|}}}}||{||||{||||}||}||z{{||{}||}|||}{|||{{{|{|||||}{|{{|{{|{|{{||}{|{{|{z{z|}||{||{{{{{{||{{||{|{}}{{{{|{{{{|||{{}}|z|y{|{{{}|||{}||{z{{{{{||{|{|}|{{|{{z{{{{||{{|{|||{z{{{||{|{{||{|z{{{{zz{|{||{{{{|z{{z{{{{{{{|{z{y{y{z{{z{|{{|zzy{{{zzz{{|{|||z{{{z{{yz{z|{||{}{zz|{zz{z|{|||||{z{{z{{zz{|{{{|z{{z{{{zzz|zz{{||{z{|{{{z{|{{{{|||{{{{z{{|{{{{{||{{{zzz{{|||{{{|}|||{|{{{{||{{|{||z{{|z{z{||{|}{|{{{z{{{{{{|{||{|{{{|||{{{||{|}||z|{{|{z{|{|}|||~{{{||||{|{||{||||{{|{{z{{||||||{|||{}|{z|||{||||{{||z|||{|}|{||}|z{{{z|||||||}|||{{{{z{{||{{{||{|{{||{{|||||||}||{{{{{{{|{{|}|||{}||||{{||{|||}{{{{{{{|{{}|}|{}{{|{{zzz{{{|{{}|||z||{{||||}|}|}|{|{{{{z{{}||||||{{{|{|zz|||{|||||{|{z{{{{|{{{||{||{{{{|z|{||||{|z{{{z{{{|}|||||{{{{{|z{{{||||{{z{z{{{{{z{{||{|{}y{{{{zzz||{{z|}{zz{zz{zz|{|{|||{{{zz{z{{z|{|||{|{{|{{z{{{{{{{{||{|{z{{{{z{||{|{|zz{{|{z{|{|||{{|{{{z{z{{{{{|{{|}|{|||{|{z|{|{||||{|{{{{{{{||{||||{{{{{{{{||}}|{{{|{{{{z{{|{{|||||{{|{z|z{||{{{|}{||z|{{{||}|}|||{{|z{||{||||{|||{z|{}{{{{}|||||}{{|||||||||{}||}{{{{{||{{|||}||}|{|{|{{{{|||||}}||{|}{|z||||}|}}|{{|{{{|{{{|~{}|{{|{{z{||||||||||{{{|{||}}|}{|}{|}{{|{{z||{|||||z{{zzz{{{{{|{}|~|{{||{{{|}||{|}||z{{{{|{|}|{|||||{{{{|z{{|{||||{}z{z{z{{|{||{{{|||zyz{{z|{|{{||}z{z{|{|z|{{{z|||{{{|z{{{{{||{|{z{z{yz|{{{{{{{|{|{{zz{zzz{{{|{{{{|zz{z{yz{{|{{||{||z{zzzz{||{{{|{{{{{{{{z{z{zz{z|z{{{|zzz{|{{{|{{{z{z|{{z{{|{{|{|{{{{{{{{|{{{|{}{|zz|{{{{{{||||{|{{{{{{zz{|||||}{|{{{{{{{{||z|||{z{{{|{zz|||{|{|{|{{z{{{{{|{{{|{{{{z{|{{{{|{|||||{{|{|{{||{|||||}|{||{z{z|||}|{|||{|{{|z|{}{|||}|||{{|{{z||{}{|}||}{||{|||}|}|}|||{||{{|{}|{|}||}||z{|{|{{||||}}}{{{|||{|{||||}}||{|z{{|{|{|{z||||{z{{{{z{||||{{|{z{z|z{{{|{{{}}}|{{||{|z{||{{|}|}{{{{||{{z|||}{{|{z{|{z{}}{|{|||||{{{z{{{|||{|}||||{|{{z{||{{{{}{{z{{zzzz|{|{|{{|{{{{{{{|||{|||{{z{{zzz{zz{{|{{{{zzy{z{{{{{{|{|z|{z{zzzz{{{{||{{{{{zz{z{{{{||{|zyz{{{{zzz{zz|{{|zz{{zzz{{{{{{{{{{{zz{{zz{{||{|||{z{z{{{{{{{{{{{{{{{{{{{{|{{{{||{z{{zz{{{|{||{{z||{{{{y{{{{z{||{{|{{{zz{|{||{{{}|{{{z{{{||{{|{}||z{{{|{{z{{|||}|||{zz{z{{{{|}||||{{{|zz{|{|||{||{z||{||zz||{||||}{{||z|{{||||}|{|{|{{||{{{}}|}||}}{z|{}|||||||||}}{{{|||{{|{{|||{|{{|{{{|}z{{|||{|{|{{{{{|}||||||{z{{z{z{{|{{||{||z|z{yzy|{{{{}{||||{{}|{|}||{{}}}||{{z{||{||||||||z{{||||{|||}}}|{{|{{z{{||{{|}{|{|{z|{zz|{||||{{{z{z{zz{|{{||}{{||{{zz{{|{{|{{{zz{{{{{y{{{{{|{|zy{{{z{zz{{{|{|{{{{|{{{z|{{|{{|z{{|zz{{zz||{{|{{{{{{|z{{||{{|{}}{|{{{z{z{{{||{||{zz{{{{{||{{{||||z{{{z{z||{|{|||{||{z{zz|{z|{|{|z{|{z{{z{{|||{|||{{{{z|z{|||||{{|z{|{{{z{{{|{z}{||{{z{z|{||z|||||{{{{{zz{{|}||}|{{{z{||{||{{|||}{z{{{{{{|||{{{}{}{||{|{{|{}}|}}||{}{|{{}|}}||}|}|{{{||{|{}||{|}|||}|{{|{{||||||}|{z{{|||{{||||}}}{{{||{|}{|||}}|{{{{{{{|||||||{}||{{z{z{}{{}||}|{{|z{{zz{{}{|}||{{{|{{}||}}}||||{{{{|z{{|{|||{}{{{{{||{{||{}|||{|{|{|{{{{{||z|||{{{z{|{{z{}z{{||{{{zzz|z{{{{{{}||{{z{|{zz||{||||}z{{z{z|zzz|{{||{{{{{z{{z{z{{{||z{z{zz{zz{z{||{|{z{{zzzzz{|{||{|zz{{zzzzz|{|{{||z{{{|zz{{{{{{|{|{{|{z{|{{|{{{{}{{{{z{|zz{|{||{{|{z{z{z{z{{{{{{||z{{z{{z{{}{{|||{z{{|{{{{|||{|{||{{|{{{{{{{{|||||{{z{{z{z{|{{{z||}||{|{{z{||}||||z{{{{{|{|{||}{{||z|{{{{z{|||{}|{|{{{{|{{||||||}{{{{{{||{|{{|||||||{{{{|{{|{|||}||{|}z{{{||{}|}|}}{{{{{|{}{}||||}|{||{{|||{{{{}|||{{{{{||{|{{|{|{{{{|{{|{{||{{||{{{{{{{z{|z|{|{||{|{{z|||{||}|||||{{{{{{z|{|}}|}|{{{{{{{{{|{||||||{z{{z{zz||{|||{{{{zz{{z|||{{|}|{z{zz|z{{{z{|{{{{{|{|{zy{{|{{|{{z{zz{{y{zz{{{{{zz{z{zyzzz{{{z{{||{z{z{{z{{{{|||{zz|zz{zz{|{|{{{|{{zz{zzy{{{{|z{{{{zz{zzz{{z|{|{{{z{zz|{{{{{{{{||{z{y{z{z{||{|{{|{{z{{z{{{{{{{{{}{{|zz{{{{{{{{{|{|zzz{{z{||{|||{{{{{z{{zz{|}{{{}||zz{{{|{|{|}{{||{{{{{{|z|}{||{{{{{{zz||{|{{{{|}|{{{|z{z|{||z{||{|{zz|{{{|{|{||||{{||||||||{{{||||{{{z{{{|||}||||}{{}{z{{{{|||||{{{{{|z{{}||||||{|{||||{{||{{||}|{{{{{z{{{{{||||}{{z{{{zz|||{{{{{{{z{zzzz{|{|{}|}||{|}{|z{||}|||}{{{{|||{|{|{}|{{|||{{{{{||||{|}}|{|||{{{|{{{{|{|{|z{zz{{{||||{|||{{{{z|z{{z{{|||{z{z|zz{z||z{|{{{{{zzzz{{z|{zz||{y{{z{zz{{{z{{{{{z{{z{zzz|{{|{{|{z{z{{{z{||{{|||z{z{{zz{|{{{z{{{z{zzz{{|{|{|{{{{{z{zz|z{{|{{z|{|{{{{zz|z{|{{{|{}{{|z{{{z{zz{{{{||{{{z{{{|{|{|{|{{z{z{z{z{||{||z{||{zz{zz{||||{{{{z{{{{{|||z|{{|||{{{|{{{{|||z||}|{z{||{|{{{|||||{{|{{y{z|{||||}{|{{|{{{||{|{{|}||{{{z||{}|{|{||||{{{{{{{{}|{|||{{|||{{|{{{||||{}|{{z|{||{{{{||||{{{{}|z{||||z{||{|{z{z{{{||{|{|{|{z{{z{{{|z{z|}{{{{z{{z{{{{{|||~||{{{}|{|{}|{}||{{}{{{{{}||{|||||}{zz{{|||{z{|}|z{{{{z{|{|||{|||{z{{{{z{{{{|||{|{z{{{|{z{||{z{}||z{{z{z{{{{{z{|{{{{zz{zz{|{{z{{{z{|zzz{{{{{||||z{y{zz{z{z|{{||{{{{{zzz{z{{|||{|{|{zz{yzzz{{{{{|{{{{z{{zzz||{{{{|{z|{{|y{{|{|{||{{z{{{{{z||{|{||{}z{{|{{z{|{||{||{y{{{{{{{|||{|||{{{{{{{zz|}|{}{{{{}{zz{{{|||{|||{{{|{{z{{{|||}{{{z{{{|z|{{|||||}{{|{{{{z|||||||}|z||{z{{{{{||{||{{|{||{{{|{||||||||{|{|{{|||{{|||{{{{{{{{|}|||||}{|{{{{{{{|}||||{{|{|{||{{|||{||{{||||||||||||||{{{{{{{{{|{||}|{{{|{{z{z||{{|{{{{{{{{zzz{{|{{}||}|{|||}|{}}||}}~||{|||{{||}||||||}{z{z{{|{||{|||{{{{|{{{{||{{{|||{{z{z{{|{{{|{{|{z{{||{z{{{{{{||{zzz{{{{z|}z{{|{{|{{{{{z{{{|||{{{{{z{{|{z{z{{{|{z{|{y{zz{{|{|{||z{{{z|z{{||{{{{||{{z{{yz|{z{{{||{zzz{z{{{{{|{{{|{{{{zz{z{{|{{{{|{|zz{z{{{|{|||||{z{{z{{z|{{z|{{{z{{{z{{{{||{||{|{z{|{{{|{{{{|{||z{{{{{{{{|{|{z{|{{{{}zz|{|{||{{|{{|{|{{{{||{|}}|{{{zzz{{||{||||}||{{z{|{||}|||}{|z{{|{||||}{{|}|{{{{{||{|||}|}}{|{{|{|{||{|{||||}{{|{{z{|}}|{||||{{||z{{|{|}{}|||{||{|{{z{|||}}}{{z{{{z{{||{{{|{||{{{{{z{|{|{{{{{{|z{|{{{z|||}}}|}|}{|||}}~|||}}|||}{||{|{||||||{{{z|{z{|{|||}|||y|{{{{z|{{{{|}{|||z{z{z||||||{|{z{{{z{z|}||{|{{||{{y{z{||}{||{||y{z{{{{|{{|{|{|{|{{zyz{{{|{{{}{{z{{z{zz{{|||{||{|{{{{zz{z{||{{{{zzz{{|z{{{{{|{|{z{|{z{z{{{{|}||{{{{z|{{{{{z{|{|{{{z|{|{{||{||{|zz{zzz{{{|{||{||{|{{{{y{{{{{{||{|{{z{z{{|{||||||z{{z{{{{{{|||||{{{{{z{{{||{{|||{{{{z|{{{|||}||}}{{{||{|||||||||{{{{{{zy{|||{|}|{{{|{{|{|{|{|}|}}|{|z{{|||}||{}{{||||{|{|||}|}|}}|{|{z{|{{}||{||||z|||||{|{}||}|}{||{|||{{|||{||}|||{{}z{{||{|}|||{{||{{{{||||{||{{||z{z{{|}|{}|}||{z{|}}||||||}}|{{||{{z||{||}|||{{z|||{|{|z{|||{{{{{|{{|{}|z||{{zzzzz{{{|{z{{|{{{{z{{{{z{{z{}{{{{{zzzzz|{{{|{||{zz{z{zzz{z|{{{{{z{zzz{{z||{{||{{{zzz{zz{{{{{{{{{zz{{{zz{||{{{{|{{z{{z{zzz{zz{{|{z{y{|zzz{{{{{||{z{{z{{{{{}|{{{{{{z{{z{{{{z{|{||z{|{{z{{|{}{|{{|{{{zz{{{{{|{{|||{{{|z{{z{{|{{||{{y|z{{{{{|{{{||{{{{{{zz{|{|{{{{{{{{{{{z{|{|||||}{{{{|z{{{{{{{||||{{{{|{{{}{|||||{{{z{{{{{{|{{||{z||{{{|{|{|}{||||||{{{||{}}||||||{{|z{|{{|||{}|||z{z|{z{||{||||}{{{{{{{|{||{||}}{|{z{{{z{}{}}|||{|{{{z{{{{||{|{{z{|{zzzz||{{|}}|||||{{}|{}}~||~}}||||{||||||}||}|{|||{|{|{|{{|}}|{||{z{{{{{}{|}|{{{{{{zz||{{{{|}{{{{|{z{{||||{|||{{{{zz{{z|{z|{||zz{{{{|{||zz{|{{{zzzz{z{{{|z{{|{z{{{{z{{{|{|{{|{|{{zz{|||{|{{|{zz{{{{{{{{|{{{{||z{{{zz{z{z{{|||{z{z{{zz{{{{{|{{z{z{|zz{{{||{{{||{{{{z{z{{{{{|||{{z{z{zz{{|||{||{{{{{{y{{||{{}|{|{{z{z|z|{|||{{||{zzz||z|}||||{|{z{|{{{{|{}}|{|||||z||{{|||||}||{{{{|{{|{|||{|{|{z||||{{|||z{}}|{{{||||||{|||||}|z||{{|{{}||||}||{{{|{|z}||||}||||{{z{{{|{{}}|||||||{|z|||{{}|{|{{{{}{{{|||{{||{|{{{{{||||{|{{|{{z{{yz{{{|{{{|}}||||}{}|{}}}}}}|}|{|}{|||}|{{||{||{z{{{z{{|z}}}{|{|{z{{{|{z||{{|{z{|yzzz{|{|z}{|{{{z{zzz{|{z{||{{z{zz{{z{{{{{{||{{{zz{{{{z||||{|z{{{z{zy{{{z||{{{{z{z{{z{{|{|{{|{{{{{z{{z|{{{{{{{z{z|{{z{{{{{z{|{{{z{{{z{{{{z|}{|z{{z{zz{{}||||||{{z{zz{|{{{{{|{{{{{zz{{|{{{{|{{{{|{z|{{z|||{||{||{{{{{{||{|{|{|{{zz{z{{z||||{|||{{{{{{{||}{||{||{z|{{{z|z||}||||{z{||{z{||{{|||{{z{{{|||{||{||{|{|||{}{|}||{|{||{|{{|||{||{|~|||||{{{z}z||||||}{{{{|{{{||{|||}||{{{{|z||||{}}||{{||||{|{||z|}||||{{{z{{{||||}|||z{{z{|{{|{{{|{{{{{{{z{z||{{|}}}}}||}z{{{}}{||}}}|||{{{{}||||}|}{{{{{{||{{{{|{}|}|{z{{{{{{z{{|{{||{{y{zz{|{{{|{|{z{{{z{{{{}{{{{{{{{z{{zz{||{{{{{{z{{{{{{z{z{{z{{{{zzzzz{|{{{{{{zzzzzz{{zz{{{{{z{{{|{yz{{{{{|{{{{{z{zz{{z{{z{z{|{{z{{zzzzzz{{|{{{{z{z{{{zz{z{|{|{{{zz{{z{z||{{|||zzzz{{z{{{|{{z||z{{z{zzz|z{{{{|{{z{{|z|{z|{||{{|z{{{{z{{{|z{{|{{{z{z{{{{|||{{{{{z|{{{zz|||{{||||{{{||{|z}|{|{||||y{{z{{|{|{||{{||||{{{|||{{|||||{|||{||||}{{||}|{{{{|{{|{}|{|||{||{|{{z{}||}|{{{|z{{|{{{|{|{||{{|{{|{{|{|||{{|||{|{y{z{{|||{|z}|{{{z{z{z{{{{{||{{z{{{y{{{{z{z~}~~}||||}||~}|||~}~{{{|{{{||||{}}}|{{{{{{{{||{|}||}{z{{{y{{{{||{||{z{{|z{{|{|{|||||{||{{zzz{{{||{{|{{z{zz{{{{{{|{{{z{{z{{z{{|{{{{{zz{{{{zz{{|{{z|{|zzzzzz{{z{z|{|{zz{{z{yz|{{||{|||{{{{{z{{{{{{||z{{{{{zyz{{z{||z{{{{{{{zy{{{z||{{{{{{{{|z{{z{{|||z{{{z{{|{{{{{|{{{|z{{z{{{|{|||||{{{z{{{{{|{|{||{{z||z{{{{||{|||{{{{|{{{{|||{{|}}{{{|{{{|||}}||||{||{{{|||{||{{|{|{|{{zzz{{{||{}||{{z|z||{|||||||{{{zz{|{{{|{|||}|{z{{|{|||||}||}|{{|{||{|||||{||{|{{{{{|||||||}}{{y{|{{|{|||||{|||{z{z{{||{|{{|||{{zz{{{{|{{|z{{{{{z{{|{z{{{|}}~}||{|}|||~|}}|}}|~||}}{{{||}|}||{{{||z|z{|{|||}{||||{{z{||}{|z|{{|z{z{|{{}{{||{{{{|{zz|{|{{{z{|{zy|{{zzz{z{zz{{{{z{{|{z{z{{{|{|{z{{yz{{zz{{{{|{|{{{zz{{zz{{{{{{{{{{{y{y{{{|{{{{{zzz{{{zz{z{{|||{z|{{z{{{{|{{{{{|zz{{{{zz{||{{||||z{z{{{z|{|{{{{|{{zz{{{{z{{{{|||{|z{zzz{|{|{z|{|{{||{{z{{{}|||||z{{zz{{{|{||{{||z{{{zz|{{{{{||||{|{{||zz||{|||||{{{z{{{{{{|{{||||{{{{{{{|}{||}}||{z{{z{z||~||}}}{{|{{|||{{||{||{|{{|{||{{}|~||}||{{{{{|||||{|}|||{|{{|z{{{{|||~}{{{z{{{{{|||||||z|z{{{|{||}{||}{||{{{|{{{{|{{{{|{{{{{{{{{|{{|}}}}|||||}{~}}}||}}|{}z||{{||||||||||{z|{{}|||{{}|||{{|z{z{|||}|{{|{|{{z{{{|{{|{}|{{{{zz{{z{|{|z|{{|{{zzz{{z||{z{z|{{|{{z{z{{{{z{{|z{{{zz{{{{{z{|{{y{{{y{z|{{z{{|{|}{zzz{z{|{z{{{|{{{|{z{{zz|{z{{{{{{{{{{{z{{z{{{{{{z{z{{{zz{z|{{|{{{zz{zz{z{||{{||{{z{zy{||}{|z|||z{zz{{{{{{|{{|{|{{{{zzzz{|{|||}|z{{{{zzz{||{z||{|z{{{{|{{|{{||{}|{{{{{z{|{}|{|}}|{{{|{{|{|{|||}||z|{z{yz{|{|||}{|{{{{|{{|}|||||}{{||{{|z{{{{{|||{zz{||z{{{||}}|{|{z|z{{z||{{|||||||{{|{|{{{|||}|||{||{{{|||||{||{z|{{{|z{{{{{{||z{{{zz{{||{|{||{{z{{{{{{{|{{|~}}}}}|}|}||}|}}}|}|}|}{{|{|}}|}|}|{{|{z|z{|}||||}{{{{{z{z{{||}{{||{{{z{{{{{|{|{|||z{|zz{{|{{{{z{|{{zz{{{{z{{{{{{{{{z{zzzzz{{z{{{|{{{z{{{zz|{{|{{|{zz{{z{{{{{{{{|{z{{{zzz{z{{{{{{||{{zzzzzz{{|{|||{zz{{zz{zz|{{{|{||z{{z{zz|{{|{{{|{zzzzz{z{{||{{|||z{|z{{{z{|{{{||{{{z{{z{{|{|||{|{{{{{{{z{{{||}{{{{z{{{zz{|{|{{||{{z{|zz{||{z|{|{{{{{z{{{||{|||{|{{{{{{|{|{{|{{||{{z|{z{z{|{||z||{{||{{{{||||}{}}|{{zz{{{z|z|}{||}{|{{|{{{}{|||{||{|}{{{||||||}|||z{{{z{|{|{||{|||{{|{{{z|{{}{||{{{{{{z{{||{|{{|{{||{z{{z|{|{{{||{z{{{z{z{{{|{~~~||}}}{|{||}{||}}}}||{{z{||}}|||||{{{{z{{}|}{|{|||{{{{{z|{||}{|{||{|z{{{z{|{{{|||z{{{{{z{|{|z{{{}zz{{{{z{{||z{}{}{{{{z|{|z{z{{{|{{z{{{z{{zzzz{{|{{{zz{{zz{{z{{{{{z{{{z{zz{z|{z{||{yz{{zz{z{{{{{{z{|zzzzz{z|{z{||{{{{zz{zy|{{{{{|{{{{z{{z{{{|||z{|{{z{{zz{{|{}{{||{|{y{{{{{{{{||||{||{{{{{z{||||{{{z{{{z{{|||z|||||{{{zzz{{|{|{{{|z{{|{||{||{||{}|z{z{{{|zz|||{|}|z|}||{{z|}}{{||||z|{{{{||{}||}|{z{{{{|||{|{||}|||{|{z{|{{}|{|}{||{{|{zz{||{|{{|||{{|{|{{{|||}|{{|{{||{{|{||{|{||{{{{|{{|{|||{|}||{{{z{zz||{{z{{{{{{z{{zz{{{|{~~}~}~~|{}}~~}}}}}|||{{{|{|||}|}~}||{{{{|||||z||||}{{{|{{{|}|||}||}|}|{{z|||{|{|||{{|{{{{{{|{{{{|{|{{{{{z{|{|{{{{{zzz{{{zzz|{|{|{|{{{{{z{{{|{|{{||zzzy{{z{z{||{{}|z{{|z{zzz{z|{||{{{zz{{z{{z{|{}|{{{{z{{{z{{{{{|z|{{{y{{z{|{{|{{|||{|{z{{|{{|{{{{|{{|{z{|{{{{|{{|{zz{{{zzz|||{|{||{z{|{{{{{{|{|{||z{{{{{{z|}{{|{{||{{{{{{{|}||||||{{{||{|{{|||}|||{z|z{{{{}||{||{|||{{|{z{{{||{|{}|z{{{{{{{}|||{||{{{{{{|{||{|{}||}{{{|{{|{}|||}|}}{{|{{{{|||||{|}|{{||{{||||{|}|}|||{|{{{|{|}{}}|{|{|{{{|{||{|{||{{{{{{{{||{{{{||{zzzzz{{z{|{{~~~~|~~}|}}}}|}~|}}}||}|{||||}||}}}|{|z{{|{|{{||}}||{||{{zz|||}{||}{z{zz{zz{|{|{|{|{{{{||z{{{{z||}||{{{{{z{{{{{{{||{z{zzz{|{{{{|{z{z{{{{{{z{|{{{{{{{{{{z{{z|{|{|{|{{{{{zzz{{{{|{{{|{zzz{{{{{{{{|{{|z{|z{z{{z{|||{||{z|{{{{{{{{||||||{{z{{{{{|{{|{{}{{{{{z{{|{{{{||}z{{{{z{z{||{}|{|{{{{|{{z{}|}|||{|{{{{{zz{|{|||||{{z{|z{{|{||||{{{|{||{{{|{|}|{|{{{{{{||{}z{|{{||{|{{{|{{||{||||||z{{{z{|}||{{|||||{|{{|{||}|}|{{|{{{{{{z|~}|{~|||{||{{{{||{|}}|||{{{{z{}|||{}|}|||{{||{||||}}{|}|{{z{{{{{||||||}||{{{z{{{{{{|{|zz|{{|{{{|z{|{~~}}}}}~}}}~}}}}}|||}}|{{||}||}}}|||{{{|{z||||||{}{{|{{z|{{||{||{|{{{{{{{{{|z||{|{{{z{z|{{||{{|{{{y{{{z{z{{}z{{{{{{{z{z{z{z{{{{|{z{{zzzzz{{{||||z{y{{zzzz{{{z{{|{z{{{zzz{{z|{z{{{{yzz|y{z{{{zz{|{zz{z{zzz{{{{{{{{{zz{z{{{{||{{{|||z{{{|zz||||{{||z{{{|zyz{z{|z|{{|z{{zz{{{{{{{|||{{{{|z|z{||{||||{zz{{|{{{|||{{|{|{{{{|{{|{||z||{{{{{|||{|||||}||{{z|{{{{{}||{{||{|{|{zz{{||||{{|{|y|{||{||||||}}|{{{{|||{{|||}|{}||{{|{{|}~||}}|{{{{{z{{{||||}|||z{{{{||||{}|{}||||||{{}{}||||}|{{{{{z{{z|||{{}{|{|{{{|{||{|{{}{{{|zzz{{|z{{{}}|~}|}|~}|}~~|}}}}}{}|||{|{|||}|}|{{{{|{z||}{||{}{{{|{{z{|||{{||{|{zz{{{{|{|{{|{|{{|zz{{zz{{z{|{{{zz{{{{z{z}{{|||z{{|{{z|{|{{z|||{z{{z{{{z{{{|{|{{{zzz{zz{z{{zzzz{z{zz{{y{{{{{{||{{zz{zzyz{{{|{|{{{{z{{{z{{{{{{|}{zz{{z|z{||{||{{z{zz{{{{{{{|||||{|{{{z|z{{|{{||{{|zz{|{z{{|{|{||||{{{y{||{{|{|||{{{{z{z{|||||{{|{zy{{zzz{z{{|{{|{{{z{z{|||{|||{{{{z{||{{||{|{}}|{{{{||{{{{}{|{|{|{{|{{{{||||{||{||{|z}{{{{|{|{|}|{{{|{{{|||{|}|||{{|{{{{{{}||{|{|z{{||{|{||||}|~{{{|{{{{|{||||{}|{z{{|{{{|{|||||{|{{{{{{|{{|{{{{zz|{{zy|{||{|~~}~~||}|}~}~}|}}|||{{{||||}{|||}|{|{|{|{{|{||{|||{{z{z{{|{{{{||{{{{{{{{{zz{|{{{|z{{z{z{{{{}|{|||{z{z{{z{|}}{z|{{{y{zz{{{{z{z{{|{{zz{{zzz|{{{|{{{z{zzzzzz{{|z{{{{{zzzz{zz{{{{{{{{z{{zzz{zy{{{z{{|z{{zzz{zz|{{{||{{{{z{{zzzz|{|z||z{{z{z{{|||{{{{{zz{{{|{z{z|{{{|z{zz{z{{{{{||{{{|z{{{{z{z{||{{|{|zz{zy{zz{|{{|{}{z{{{{z{z|||{{||{|{{z{{|{|}|}{}{{{z{{{z|{|{|||{||{z{{{z{z|||{|{||}{{{{z{{||{||}|}{z{{{{|{{||{|||||{{{{{z{||{||||}|{{{{{{|{|||{||||{{|{|{{{|{||||||{z{{{{{{{|||||||{{{{{z{|{{{|{|}||{{|zzz||{{|||{{yz{z{{z{z|{z~}}~}}||}|~}||}}|||{|z{{}|}}|{}|}zz|z{z||z|{||{|||{{zz{z{z{||{|{{{{{{z{{z|{|}{|{|{zz{z{z{{{zz{|{z|{z{{{zz{{|{{|{z{{|z{zzzz{z{{zz{z{zz{yzz{{{{|{{{{yzzz{zzz||{{{z{z{z{zzyz{{{{{{{{zzzzyzzzyz{z{{{|z{zz{{{{zz{{{{||{zzz{{{z{{{|z{{|{{|z|zz{{{}{||{{{zzzz{{{{{{|{|{||||{zz{{{{||{{}{{z{y{zzz{|||{|{|z{{{{{{{{z||{{|{{{{{zzz{z{{{{{{|{{z{zzz{{|||{{|{{{{{z|z{|{|}{||||{{{{z{z{|{{{{|{{{{|{z{z{|{{{|||{{||{{|{||{|}|{||z|{{z{{{||||||}z||{{{|||{|||||{|{{{{{{{{|{|||}||{||{{{|{|{{|}||{{{{{{z{{|||{|||{{{z{z{{{{z{|||{{z{zz{|z{|{{{~~|}}}~|~}}|~}}~||||{|}z|}|{|||}{||{{|{|}}{}||||{{{{{{{{{{z||{|{|{{zzz{z{{|{||{{{{z{zzzz{|{{||{{zz{{zz{{{{|{{}|{{z{{{z|{z|{||{{|z{{z{zzz|{{{|{{{|{{zz{{zz{{{{{{{{{{{{zz{z{{{{z|{|z{z{z{z{{z{|{{{zzz{zzz{{|z{{{{{{{{{{{{{|{||{|{|{{z{{z{z{||z{|{|{zzz{z|{||{z|{|{|z{{zzzz{|{{{{{{{{{{z{{z{{||{{{{|z{{|{{z{{|||{{{{{{{{zzz|||{|{|z{{{{{{{{||||{}||z{{{{{{{{{{{||}|{{{|{{{z{}||}||z|{{{{|{{|{|{|||{|z{{{||{{|{||{|||z{{|{{{{|||}|}||{{{{{{{|}{|{|}|{z{||z{{{{||{~||{{{{|{{|||{{|}|{{{z{{z{z{}||||||{||{zz{z{||||{|{z{{zz{{z{|{||~~}~|~}}}}}~}~}}~||{{{||{||||||}{|||{||{z||{|||{{{{z{||{{z{|{z|{{{z{z{{{z|{{{z|z{{z{zzzzz{|||z|{{{z{{z{zyz{|zz{{{{{{{yz{z{z{z{||{zyzz{zzy|{{|{{{{{{{zz{{z{{{{|{|{|{{zzzz{z{{|z{|{zz{z{yz{{|{{{{{{{{{yz{zz{|z{{{z{{z{{{zzy{z{|{|{{{{{{{z{z{{{{{{|}z{{zzz{{{{{z{|||z{{zzzz{{{|{{|{|{|{{zz{z{{{{|||{{{{z{{{{||{z{{}|{zz{{{{{{{{|{{z{z{{{z{{{{{{|{||{|{zz|z{{|||||{}|{{{{{{{z{|{{{{{}|{z{||{z|{{{{||||{z{{|{{|||z|}||||z|{|{{{}||||}||{||{z{|{|{|||{{|z|{{{z||{{{{||}||{{|{z{|}|||{||{{{z{{{z{{|{|{}{|{{{{z{{||{{{||{{z{zz{{zz{{|z|~~~}}}~~}}~~}}{}||||}||}||}}|}{{{|{|{||{{||||{{{{|{{{{{|{{|||{{{|{z{z}||{z{||{zz{zz{zz||{{|{||z{z{{zzz|{{|{{|{{{zz{{{z||{{{|{zzzz{zz{{{{z{{{{zz{{z{z|{z|z|{{|{zz{{{{{{{|{{|{|{zzz{z{z{{{{{z{|{{{zz{{zz{{{{|{{z{z|z{zz||z{{||}{z{{{z{z{|{|{{|{{{{{{{{{|{{{{{|{|{{{{z{{{|||{|z|z{{{{z{z{{|{{||z{{{{{|z{|||{{{|{{z{{{{{{|{|{{|||{||z|{{{{{||||||{{{|{{|{|{{}{|||z{{{{{{{}}|||}|{|{{{|{|{||||{{|{zz{{|{|{{||{||||}|{{{{{||}|}||}|{|{|{{||{|}|{{||{|||{{z|||||||~}}|{{{|{{||||}|||z{{{{|{{{}|{{|||{|z{{{{z||z{{{|{{{}{{zzz{|||{~~~~}}~}}~}~|||}||}{{|}}}||||{{{||||{|||}||{|{{{z{{{{|{||||{{z|{{{{z|{|{|||{{{|z{z|z{z{{{{{{{z|zz{zz|||{z}{{|z{zz{z{{{{{z{{{z{{zzzzz{{{{{{{{|{z{zz{{{|}{|{|{z{{zz{{{{{{{{{{|zy{{zz{z{{{z{{{{{z{yz{{zz{{{||{z|z{{|{y{{|{{{{{|{{z{{{{{{{{{||{{{{zz{{|z{||||{|||{{zz{{z||{|||{{{z|{{y|{{{|||||{|{{{{{zz{||{{|}||{{{|||{|{}|{}}||z{{|{{|||||{|{}{{z|{z|{{||||{|}|{{|{{{{||{z{{|||{{{{z|z||||||{}{{{{{{{{{|{||}}||{{{||{||||||||||{{}z{{|{}|||}}||{|{||{{|||{|{|||{{|{{{z||{|||{|{|{{{{|{||{{|{}|}{{{|{{{||||||||z{{{|z{z|||{{~}~~}~~~}}}||||{||||}}}|}|~||{z|||{|{{|||}}{{|{{{zz{{{}{{{|{|{{z{{z{{z{{|||{{zz{{{y{{{{{{{{{{{z{|zz{{{|{|{|{{{{|{{{{{z|{|{{z{z{{{z{||{{{{|{zzz{zzy{{z|z|{{||zzz{z{z{z{{{{{{zzzzz{{z{{zz{{z{{z{zz{zzz|z{{||{zz{z{{{{z{{{{|||{{{{{{{z{|||{}{|{{{z{z{z{|{{{{{|{z{z{{y|{{||{{{{zz{{|{{z{|{||||{{{{{{z{z{|{zz{|}{{|{{{{z{{|{{{{{{{z{{{{{{{||}|||z{{{{{|{|{||{||||{{|{z{{||{|||{{{{{{|{{{}}{|{||}|{{{{{|z{z{|}{}{|{|{{{||{}||||||{{{|{{{{{{{|||z|}{{{{|z{}{{||{||{|{|||z|||{|||{{|z|{|{{{{|||{|{|{{{{{{|z|||{{|{{{{{z{z|z{||{|~~~~}~~~}~~~~~|||{{|}}||}|||{|}}{z{|{{|{|||}}|}{z{{|{||{{{|||{{|zz{zz{{|{{|||{{z{{|{{{|{|{}||z{|{{{y{{|}{{||{zz{{z{zz{{{{||{|z{{{zzzzz||{|{{|zz{z{{z{{|{|{}{{{{{{{z{z{{zz{z{{{z{{{{zy{{{z{|{{{{zz{{zz{|{{{|{|{z{z{{{z{|||{{{||{{z{{{{{|{{{||||{{{{z||{|z{{|{|z{z{{yz{{||{||}|z{|{{z|{{{}{|{}{{{z{zz{{|||{{||||zz{{|{{|||z{|{{{{{z{{{{|||{|{||z{|{|z|{{|{{|||||{{{z{{{||{}}||||{{{|z{{{}{||||{||{|{|||z|||{}||||{{{|{{|}|||}}}}{||z{{{||||||||{{{{|{{|{|{||||||||{{|{||{||||||{z|z{{{{|{||{||||{{{z{{z{|||{||{{{{{|{{{{{|||~~}~~~~~}~~~~~~}|||}|}|{}|}}}||{{{||{|{|{{}}|{{{||||{|{||{{||{{{z{|{{{||{{||}{{{{{{{{{|{z{{||{{{|{{zz{{{{{{{{{z{|z{zz{{{{{{|{z{{{zz{{{||{{{}|{{{zz{zz{{{z||{{{z{{{zzzzz|{|{||{z{{|z{z{{{z{{|}{|z{{{{zz{{{{{{}{{|{|{{z{{||{{||{{{z{{{||||{|||}|z|{{z{|{|{{{|{|{zzz{{{z{{{{||}||z{z{{{z{|||{||{{z||{{{{{{||{{||{{{{{{{{|||{{||{||{z{{{{{|{|||{|z{{{|{{{||{||||||z{{z|{{|}|||{{|}{{{zz{|||{|}}}}{z|{{{{{{|{|||}||{|{{z|{|||{}|}}}{{{|{{{|||||||{{{{{{|{|}{||||||{{{{{|{{}{{|{||||{z{{{{|{|||{{||{{{{z{{z||{{{{}{|{|{z{{{{{{||~~}~}}}}|}|||}}||}|}|||{|||{|{||{{|||||||{|||{{{|||{|}{||zz{|z|{|{{|{|{{{{|{{z{|{z{||{{z{{|{{{{{|{z{|{{{|{{{{z{{|z{{{{{|z{zz{{{{|||||{|z{{z{{{{||z{||{{z{zz{z{{{{{{{{{{zzz{{z{{{|{{{{{{{{z{z{z{{{{{|{|{{{{{{{{{{{{{{||{zz{zz{{{|{|||{{{{|{z{{z{||{{{||{{{z{|{{||{|{{{{{{|{|{z|{{{||||{{|{z||{{{|}{{||{{zz|z{||{{{{{|{|{|{z|{z{|{||{||z{|{|{{{{|||{{|||{{||{||{{|||{||||{{{{|{|}|||||}}{{{{{|||{}{||{|||{{|{|{}|}||||}}|{||{z|{||}{{||||{{{{{z||{||||}|||{|{|||}}||||||{|{zz{{z{|z|{}}{||{z{{{{z||{{{{|z{{{z{{z|}}|{}}~~~~}~}}|}}|||{{}}|}|||||{{||{||{||{||{{{{zz{{|||{{{}{|{{z{{{{{|{{{|{{{{z{{{{{{|zz{||{zz{{zzz{{{|z{{|{{zz{{zz{{|{|{{{{z{{z{z{{{{{{|{|{{{{{{zzy{{z|{{{{z{{{zzzz||{{||||z{{z{{zzz{{{zz{|y{{z{z{{z|{z{|{|{z||z{{{{{{z||{{{{{z{z|{{|||{|||{z|{{{{z|{{|{|{}{{z|{z{zz{{{z||||{|{||{{|z|{||{{|{{{z{{z{{||{||{{{z{{|{{z||{||||{|zz{{{{||||||{|{||{z{{{||||||{{{{z{{|{{|{}{}}}{|{{z{{{|{|{||}||{zzz{||{|{{{}}|||{{|{z{{{}|}{}|||{|{{|{z|}||||{||{z|{{{|}|||||||{||z{|{|||||||||z{{zz{{z{||||||{||{{|z{{{{{{{}|{z{{{{{{{z|{{|~~}~~~~~~~~~}||{|}}|}~|{}}|z{{|{{||{||||||{||z{{{||||{|||{||{{|{{z{|{|||||zz{{{z{{|{{|{{{{{zz{{{z{{{|z{|{|{z{zz{{z{{{|{|{{zz{zzzzzz{{{{{{{{zzz{zyz{|||{|||{{{zzzzz{{{{{{|{|{zyz{zz{{z{{||{{{zz{zz{z{{{{|{{zz{z{{y{{{{||{}|{{{{{z{z|{{z{|{|{{{zz{{{{{{|{{{{{z{z{zz{|{}{{{|{{{{z{z{z{|{{|{{{{{||{{{{{|{z{{||{{{{{{{{{{|{||}{|{|{{{{{{|||||{|{{z{{z{{|||{{{|||z{{{zz{||{{|||}{z{z{{{z||{{{{|||{|{{||{{{|{}|||}z{{{|{{{}|{}}}{|{{{{{{{|{|}}||{|z{|z{|{{{{||||}|{|||{{{|{||}|||||{{|{|{z||{{||||{{{{{{{z||{|||||zzz{{z{{||{|~~~~~}~~}}|}|{}{}}|}}}}||{{{{{{||||||{||||{zz{|{{{{|{||{{{|{{{zz{|{|{|{{{zzz{{|z{{{z{{||{{|{z{{z{{{{{{{|{z{{{{{z{{z{{|{{z{{zz{zyz{{z|{{y{z{{z{zz{{|z{|{{{z|z{zz|z||||{||{zz{zz{z|{{|{{{{{{yz{{zzz|z{||||z{z{{{zy{{{{z|z|z||z{zzy|{{|{|{}{{z{{{|{z{{{|{{|{{{{z{z{{|z|z|{|zz{{{|zzz}{|{{{|z{{{z{{z{{|||{||z{{zz{zz||{{z|{{{{|{{z{z{||{||||{{|z|{{{||z|z{||{z{|z{{{{|{|{||||{{{{{{z{|||{{|{{|{z{|||{||{{||{||{|{|{{{}|||||||{{}||{|{|||{|z{|{{{{z|{||{|}|||||{{|{{{{||}|||||{{{{{{{||{{|||{z{{{zz|z{|{{{{||{z{z{z{{z{|{|}~~~}}}~|}}}}~{||}~}}}}|{|{{{{{|{{{|{|}{{{||{{{{{}||{|||||zzzzz|{|||{{|{{z{z{zzz{{{{{{{{z{{zzzz{{{z{{{{y{{yz{{|{{z{z|z|zzz{{zz{{{z|{{{zzzzzy{yz{{{{{{|z{{|zy{{z{{||z{||zy{{zzz{z{|zz||{{zzz{zzzz{{{{|{{zz{z{{zy{|{{{{|{{z{{zz{z{|{||{{}{{{{{zz{{{z{{{{{{z{{z{{z{{|{|||{{{{{{{{{{||{||{|{{{{{{z{{}{||{}{{{zzz{{{|}||{{{{|{|{z{{|z|{|||||z{z{{{{{{|{{{||}{{{{{{{||{|||||{|z{z{{|{|||{|}{|{{|{z{|{{|||{||{|{{{{{{{|||||{}{|{|{{{{{|||||||{|{{{{{|z{{|||{|}{||{{||{{|{|||{|{{{{{{{{|{{{{|||||{{{{{{{|{|{{{|{{{z{zz{|{{|{~~}}~}}|}||{}|}|}}|~|~|||{|||{||||||{|{||{{z{{{||||{{{|{|zzz{z|{{|{||{z{|zzz{z{{|{{|{{{|{z{{zz{{|{{{{{{zz{{{{{{{z{{{{{{{z{|zz{{{{z{|{{|{zzz{zzz{{|{{|{{{zzyzzz{|{{{|||z{z{{z{zz{|{{{{{{{z{zz{zz|{{z|{|z{{z{|{z{|{z|{|{{{z{{z{{z{|{{|{|{{{{{{{{{||{|{|{z{{z{z{{{|{{{|{{{|{{{zzz|{{|{}{{{{{{{{{{{{|{|}||{{{|{z{{{||{||{{{z{{|{{{{{|{{}{|{{{{{{{z||{|{|||{{|{{zz|{|||||{||z{|{|{z||{{||}}|{{z{{{{{|||{{}}|{z||{{{{}||}|}||{{{{{{|||}~||||{{{{|{|{{||{}|||||{|||{|}|{|{{|||{{z{{|{{|{{z||{|{{{z{z{|{|{{|z{|{{{{z{{{||{{~~~~}~|}}}||||}}}}|}}}|{||{{{{|{||||{{{{|{z{{{||{{{}|{{|z{z{z|{{{{{|{{z||z{{z{|{{{{|{{{{{z{{z{z|{{{{|{{{{zzz{{z|{{{{{z{z{zzz{zz{{{{{|zz{{zzz{{|{z{{{{{z{{{|zz{{{{{{||||{{{{zz|{|{z|{z{z{z{{{z|{{{{|||{{{{{{z{|{{|{|}{{{z{zyz{{|{|{{||{{{|{{{{{}{|{}{|{{{{z{y|{|{|{|{|{z{{{z|z{|{||{}{{{{{{{{{{|||z||{{z{{{zz{{{|||{{|{{{{{z{{||||||{|{z{{{{|{|{{}||{|{{{|{{z{|{}||||{|{|{|z|{{||{||{|{{|z{|{||}{}|||}||{{{{|{||{|}|}|{{}|{z{{|{||{||{|{{|{{{z||{}|||}||{{{{{{{{{||}{||z{z{z{{{{||{|{|{{{{|{{z{||{|{||{{{{{z{{{z{|{~~~~~~}}|||{|}|}||}|}||{|||{z}|||{{||||||z{{|{{|||{||{{{|{z{{|{|||{|}{{{{zz{{{{||{||{z{{{zz{z{|||{{{z|{{zz{z{{|{||{}{{yz{zzz{{{{{z{|{{z{{zzz{{{{z}{|{z{{|{{z{{z||{|||{{{zz{{zz{{{{{{{|{{zz{{{{||z{|||{zz{{{{z{{{|{{|{|{|{{z}{{{|{|{{|{{|{zz{z{|||||{|{{{{{z{|{|{|||||{{|{{z{z{{||{}||{z{{|{{{|{|||{||{z{{|{z{{|{z{|{{|z{|{|{||{||{|||{{{{z{{|||{|{|||||{|{{{{{|{{||{||zz{{z|{}}||{}|{{|||{{{|{}{||}|||{{{{|{{||{|}||}|{{{{z|{|||||}|||{z|{|{{||||}|}|}{{z|{{{|}{||}}||{{{z{|{{||}||}||{|{{{{{|{{||}{{{||{{{{{|{{|{~~~}~~||||{|}}}}}||||{||||{{||||||}|{|{z{{|{{||{{|||zzz{z{y{{||{|}|{z{{{{|{{||{{{||z|zzzzzzz{{|{{z{{{{zy{z{{{{|{|||z{{{{zz{z|{{{{|{{zz{{zyz{{||||{{{{|{z{{{}{{|{{}|{z{zzz{z{{{{|{||{z{{{z{{z{{{{||||z{{{{z{{{{{{}{{|z{{{{{{{|{|{}|{||{{{zz{{{|{|{{|{{{|{zzz{{|z{|||{z|{|z|z{||{|||{{|{{zzz{{|{{||}|z{{{z{|{{||{{{{|||{|{{zz{|}{|||{{{{{{{{{{|{}{}||||z{{|{{{|}|||}||{{z|{{{{|||||}}|{||{|{{{|{}|{|{|{{|{|{|{}{||{||||z||{{{|||}|{||{z{z{{{{|||}||}}|{{||{{{||||{|||{{|{{{z{{{}|||}||{{{{{|{|{{}||||{{{z{z{z{{|{{}~|||}|||||~}}}||}|{{{|{{||{|||}||{{|{{{{{{|}||{}z|{zz{z|{{{|{|{{|z|{{{{zz{{{{{{{{{|{{z{z{|zzz{|{{{zzzy{{|{{{{z|{{zz|{{{{{{|{||{{{{z{zz{z{z|{{{}{|zz{{zzz{{z{{||{|{{{zzz{z|z{{||zz|{{|{{z{{{{{{|||zz|zz{{{|||{|{{{{zzz|{|z{{{{||{|{z{{{{{{|||{{|||{z{{{y{{{|||{|||z{z{{{|{{{|{||{|{z{{{{z{{{|{{|||{{z{{{{{||{{{{||{{z{{{{{{|}}|||}{{{{{{{z|||}{||}|{{|{{{z|{|||||||{{{}{{{|}{{|||}|{z{|||{|{|}|}||}{{}{|{{|}{|||||{{{{{{z|{||||||||z{|||{{|{{|||||{z{{||z|{{{|}|||{{{{{{{z{{|||{|||{{{{{{{|}||{{|{|{{{{{{z{|||{~~~}~~}|}~}{}||}|}~|}}||{|{}z{}|{|{||||{|{{{|{}{{{|{||{{z{{{{{{|}|{|{{{{{{|z{z{{z{{|{{{{{z{{{{{|{{{||z{{z{{z{z{{{{{{|zz{zzz{{{{z{{{{{{z{zyzz{{{{|||{{{{zz{zzz{||{z{{|{zz|{z{z{{{{||{{{{z{z{z{{|{{{}||z{{{{|zz{{z{z{||z{{{{y{{{{|{{{{|z{|{z{{|z||{{|{}{z{{z{{{{|{{||{||{{{|z{{{{|{}|{{|z{{{{{{||||{}||{{{{{z{|{||{{|||{{{|{|{{|{{||}{{{||{{{|{|||||||||{{{{{{{|}||{{||}{z|{|{|}||||}|}{{{{{||{{{|{|||}|{{|{|{|{|||}}}||{{|||{||{}|{||{|{|{{|{{}|||{|||||{|{{{{{|||||||{{|{|{{||||}||||{}{|{{|{{|{||{||{{{z{{{{{{{{{~}}~~}}}}|~{|}}}}~}}||{||{{{||{||||}|{{{{{z{{}||{{|}|||{{zz{{{{||{|{z{{z|zyz{||zz|{||zzz{zzzz{{{{|{{{z{zzzzz|{z{{z{zz{{}{{{zz{{{{{{z{zz{zzy{{|{z|{{z{{{{zzzyz{||{{zz|{{zzz{z{{z{{z|{{{{z{zzz{z{z{{{|y{zz{{zz{|{{{|{|{z|z{{zz{{{z{||{{{z{{zz|{{{{{|{|z{zz{{{{|{|{{||{|{{{{z{{z{{z|||{{{{{{{zz{{|{{||{|zz{z{z{||}{{}||}z{{{{{{|{||||||{|z{{z{{{|{{||||{z{{z{{z|||{|{||{{{{{|{{||{{{}||{||{{{||{|||}{||}{{{{|{{{||{{|||{{{|z{z{|{|{|||{|{{{{{{||{{||}|{z{|{{{||{|||{{|}{{{{{{{z{||||{}|{{{{{{{{{|{|||||{{{zzz{z{|||{~~~~~~|}}|}|~|||||}}|}|{{||{|{}|{||||{{|||{{}|||{|{|{|{{{{zz||{||||{{{{{zz{{{{{{{|{{{{{{{{zz{{|{{{{|{{{zzz{z{z{|{{|{zzzz{z{zz{|{{{|zz{{{z{yz{|{z{{z{{{{{{z{z{{{|{{{{{z{{{{{z{|{|{zz|{{zz{z{z||{|{{{{{{{{{{{z{|{||{||{{{{{z{z|{{{{|{{{z{{{z||||{|||||{{{|z{{{{{|{|}{||z|z{|{z{||{||{{|z{z{{z||{||{{||z{{{{{|z{|}|{{|{|{{z{{{{||}|||||{|{{z{|{|{{|{{||{z{|{{{z{{{|}{|{||{{{{{{{|||||}||{|{{z{{||{||||}|z|{{{|||{|||}|||{|{{{{|{||||||}||{|{{||{z|||}|}{|{{|{z|||||{{||||{{{|{z||{||||}{|{{{{{z{|||{||{{z{{|{{{||{|{~~~}|}}||}}}}}}{||}|{{z{{{{|{|||||{|{{|{|{{{{{||{|||z{z{{zz{z||{{{}{z{{z{{z{{|}zz|{z{zz{zzz{{{{||{zzzzzzz{{{{|{{|z{zzzz{z{{z{{{{{{{{z{zyz{z{{z{|{{|{z{{{{zzzz{{{{|{{zyzz{{zz{{{z|{}z{zzz{{z||{{|{{{zz|z{{zzzz{{{|||{{{z{zzz{{{{{|||zz{{{{{{{{|{|{{{{||zz{z{{|z{{{|{|{{z{{{{{{z{}{{{{{{{{{{{|{|{||}|{zz{{z{{{||{|{{|{z{|{{|{{{||||{{{z{{|{|||{||{|||z{zz{{{{{{||{||||{z{z{{{|}|{{||}{{{{{{{||{|{|||}{{||y||z|}{}}|}||{{||{{{{|||||||{z{{{{{{|{|{z}|}|{{{}|z{||||||||{|{{{{{{z{{|z|z|{{{{{{|{z}{{{{|{{{zz{z{z{||{z~~|~}}|}||{|||}||~}{{{{||{||{|}}||{z{|z{z{{|{{{z|{{{{zz|zzz{zz|}||{z{{zz{y{{{{{|{{{z{{{zy{zz||zz{z{{y{z{{z{{zz{{|{zzzyzzzz{z{{{z{{{zzz{{yzz{|z{|{{|{zzz{z{{{z|{z{|{zzzz{{zz{{z{{{|z{zz{{{{{{{{{|||z{{z{{{yz{{|{|||{|zz{z{{z|{z{{|{{{zz{z{{{{{|{{{{||{z{{{{||{{{|||{{|y|z|zz{{{{{|||{{z{{{z{{||{||{{{z|{z{{{|{{{{{|{{{|{{z{|z}}|||{z{{{{{{{{||{{||{{z{{{{{{{||||{||{z{z{{{{{{|{||||{{{|{{{{|{{|{{|||{z{{{{{{}|||||{|z{{{|{{{}{}{||{{zz{{{|{|{{{{||||{{z{{{{||{||{{{|{{{z{{|{|{{||||{{{{{{|z{{|{{|||{{{z{z{z{|{{{}~~~}}}}|||||}}}}|}}||||z{|}{||{}}|{||z{{zzz{||{{||{||{zz{z{y|{z{{{{{z{|z{{z{{{{{{{|zzz{{{{zz{{{z|{{{z{zy{{zz|{z{{{{|yzzz{z{z{{{{z{{{{zy{zz{z{{{{{{{|zz{zzzzz{{{|z|{|{{z{{zz{{z{{{{{{z{zz{zz{zzzz{|||{zz{zz{{z{|||z||{{{zzzzz{|{|{|{|{{z{zzz|zz||{{|||{{{{zz{z{{||{||{{{{zz{z{{{{{|z{|{{z{z{{{|{{{{||{z{{{{{{{|{{|{{{zz{zzzz{{{{||{{|{{{{{{|z|{z}{|||{{z{z{zz{}||{||{{{{{|z|{|||{|{|{{{|z|{{|{}{{{||}}zz|{|{{|}|{|{|{{{|{zz|{||{{|||{{{{{{{{|||{||||||{{{|z{||}{|||||z{z{{zz{z{||{||}|{{{{{{{||{{{{|{{zz{{z{z{z{{{~}~~|}||}}{}}}}}}|}}||||||{}||||}{}}}{{{z{{{{{|}{|||||{{{z{z||{{||{{{z{|{zz{{{|{{|{{{{zz{{{{|{{|{{||{{{|z{{{{{z|{{{{{{{y{zzzz{{|{{|z|{z{z{z{z{||{{|{{{{yzz{{{|{{{{{|{zzzz{|z{{{|{{|{z|{z{z{{{}{{|{{{{z|{{|{z|{||{{{|{{z{{z{{{|{{||{|{{{{{z{{{z{|{||{{{|{{z|{|{|{{|}|||{{{z|{{{||{||{{{{zz{|{{|{||{|}|zz{|z{{||{z{|{|||z{|{{|{|||{}||{{{{{{{{{|{|}||}{z|{{{{{|||||||{|{{{{|{{||{{{|}}{{||{|}||||{|||}||{|{|}{|}|||}|{|{|{z{z{}{|}{{}||{z{|{||||||{||}||{||{{{||||{|||{|{{|{{{|}{|{|}{{{|z{{{{|}|{|}}|{|z{{z{{|{|||}~~}}}}||}}{||}||}}}|{||{|{||{||{|||{{|{|{{|{}{{|}{|{|{z{|{|{{{{{{|{{zz|{zz{z{{z|{{|{{zz{{z{{{|{{{{{z{zz{zz|{|{z{{|{z{z{{zz{|{|{||z{z{{{{y{z||||{{z|{{{zzzz{{z{{{|{|zzz{zz{z{{{|||{{{{{y{{z{|{{{|{|{{{{{z{z{{{|{{{|z|{zz{{z{{}||||~{|{zz{|{|{{{{|{|{z{{|{zz{}|{{|{{{{{{|z{z{||z||||{zz{{|{z{||||{|{|zzz{{{{{{{{z{||{{|{{z{|{{||||||{{{{{z|{||{|{|{|{{{{{z{z{{}{{|}||{z{{{{{}}}|||||{{z|z{{{{||{{}|||{{||||{|||||||}||{{{{{||}|{|{||{|{{|||{||{|||{||{|{|{z{{{|||}|||{|{{{|{z{{{|||}||{z{z|{{|{{{|}{{{{{{zzz{|z||~~}~~}}}}|}}|~}}~|||||}{||}|||||}||||{{{{|||||{||{z}{{z{{|{z|{z||{|{{z{{zz{{{{{|||{z{zz{{z|{{{{||{{|{{z{z{{{{{{|{{{zzzz{{{|||z{{|{{z{{{{z{||||{{{{{z{zz{z{|{|{{|{|{z{{{z{zz{{{||z{{{{zz{{z{|z{{|{|z{{z{{{{}{{{{|{{{{zz{{{{{{{{|{|||||{z{z{{{|{|z||{{{{zz{{|{|{||{||{{{{z{{{{{{|{|{{{|z{{z{{{||||{|{{z{|zz{||{|{{|||{{{|{|z|{|||{|}{{{{{z{|||||||||{|{z{{{|{{}|{||}|{z{|z{{}}|}|}|}{{{{{{|{{|||||}||z|{|{|{|||||}|}{{{||{||{|{{}{}||{{{{{{{{{||}{|{{{{{{|{z||||{|}|{{{{{|z|{|}|||||}{{{{zz{||||{|||{{z{z{zz{{||{}~~~}|||||{}}|||~|}}|{{{}|{||||{{}|||{|z{z|{||{{{||{|yzz|zy||{{{}{|{{z{{{|z|{{|{{z|{z{z{{zz|{{z{|||{z{{z{z{z{{{{{||{z{z|{{z{{|{{{|{{{{{{z{z{{|{|{{{{{|z{zz{{|{z{{|{{{{zzzzzz|y{|{|{zz{yzz{z{|{{{z{{z{z{{{yz{|{{{{}{{zzz{z{{{||{z{|{{{|{zzz{{|{||||{{z{zz{zz||{z{{|{{{z{{z{y{{|{{{{{{zzz{{{{|{||{|}||z{{z{{z{|{||||{|{{{{|{{{|{}||{|{|||{{|{{|{|{||}{{{{{{|{{|||{||{|{{{{zzz{|{}||{}{{z{z}{{{|{|}||||}{|y{{{}}{||{{||{||{z|{|||{|||{|{|{{{{{|{||}{|||{{{{{{|{|||{||}|{|{{{zz{|{|{|{}{{{{{z{{{|{{{{{{{{{zzzz{|z||{}~~~|}|||}|}|}}|||}|{|||{z|{|{|||}|{{zz|{{|}||{|}|{{{zzzzy|}{|{|{|{{{zzz{z{|{{z|{{{|{{zyz{{|{z{|{{{{zz{zz{{zz{{{|{zz{zz{zz{{|z{{|zz{{{zzzz{z{{|{{{z{{zz{y{{{z}{{|zzz{{{{{zz{{{{|{|{zz{{z{zz{{|{|{|{{z{z{z{z|{|{{{|{{z{{z{zz|{{||||{z|y{z{{{|{|{||}|{{zzz|z{{|{{|{{{{{zzz{z{|{{{{{||z{|{zzz{{||{{|||{z{{|z{{|{|{{|{|z{{{z{{{|||||{|z{z{{z|{|}{|||}}{{{{{{{{{||{{{|{{z{{{{{{||{||||{|{|{{{{{|}|{|}{||{z{{{{{{|||{||||{||{{{{{|||}|||{z{{{|{{{}||{{|}||{{||{{|{{||{||z{{{z{z{{|{{|{|||{|{z{zz|{|{{{|}|z{zzz{{|{||}~~~~|}~}|}}}|~}}|}}|{}{|{{z}|||||}||||z||{{|||{||||z|z{{{z{z|||{{||{{|z{zz{{|{|{{{{{{|{{{z{{{{{{{{{{{{zz|zzz{{z{{{{z{zzzzz{{|{zz{|z{{z|z{z{||{|||||{z|{z{{z{{|||{|{{z{{z{zz{{{{{{{{{{{zz{z{zz{{|{|z{z{z{z{z{{{|{{||{zzz{y{{{{|{|{||z{z{zz{{||{{{{{|{{{{{z{{{||{{|{{{||{{{{zz}|{{||{z{{{zzz{{|{|{||{{z|{|{{{{|{{{|||{{|z{{zz{||{}|{{{{{|{{|{{|||||~|{|z{{{zz{|{|{||{{zz||{{{||{|||}|{|||{||||||||||}|{{|z{|{{|{|||||||{{{{{{|{|||||||{z{{{{{{|||||||{|{z{{{}{|||}|||{|{z{{z{{{{{{||||{{{z{{|{||{{||||z{{{{{{{{{{{~~~}}}}||}|}}|~||}|~||{{{|{{||||||}{||{zz{{{{{|{{|}{{{{zz{{z|z{|||{{|z{z{{{{||{z{||{|z{zzz{{{{{{{{|{|{zzz{zz{|{z|{|z{{{z{zzzz{{{{{z|{z{{zz{z{z{z{|{|{{z{z{zz|{{|{{|{z{y{zz{{{{{{{{||{{zz{z{{z{z|z|||{zz{{{{zz{{{|{||{{{{{{{{{|||||||{zz{z{z{{||{{{||z{{{z{y{{{{{{{|}{{|zzz{{{|z|{||{{{{{zzz{|||z||||{zzz{{{{{|{{{||||{{{{{z{{{{{||||{{z{{{{{||||{|}|{{{{{{|{|{||||{|{z{z{{{z}||{{||||{z{z{{|{|{{{||{z{{{{|{||||||}}|||{{{{{{|{{|||{||{|{{z{{||{{{{}||{{{{{|{|||||{||{{|{{{{z{||{{|{||{z{{{{{{|{{||||{z{{{zz{{|||{~~}}}}||}}}}|||||||{{{{z{}|{{{|}{z{z{z{{|{|{||||{{|{{zz{{{{{|{z{{{{{{z{|z{{{{{{{{zyz{{z{z{z|y{|{|zzzzz{zz{{|{{|{{z{{z{zzz{{{|{{{|{{z{{{z{{z{{||{|{{zzzz{{{{{{{z}{{z{z{{zz{{{{z{{{|{z{zz{{z{{{|{{|{zz{{{z{z{|{}{{{|{zz{z{||{{{{{{}{{|z{z{{||{{{{{}{z|zzz{z{||{||{{{{{{zz{z|||||}{z{zz{z|{{{|}{{|}{{{{{{{{|zz{{{||||{z{{{|{|{|{}}{|{{{z{{{z||{}{|}|{z||{{|{{|{||||||z{{{{{{{||||{}|{{|{{|||{|{{}}{}|{|{{{{}|{|{||}|{|{|zz{{||{||||||{z{|z{{{||{||}}|z|{{{z{{|||z}||{{{{{{{{z|{{{{|||{{{zz|{{|||||{{{{{{{z{{|{|{{~~~}}~||{|||{|}}}|||||{|z|||{}|}|}|{{z{{{{{|||{||}|z{z{z{{{||{{|||{{z{{{z{{{{|{{||z{{{zz{{{{{{{z|{|{{{{{z{{z{{{{{|{zz|{{{|{z{|{{||z{zz{{zz{zz{{||{{{{{{{z{y{{{|{{||{{z{zy{z{{|{{{{{{z{zzzz{z|zz{}|{z{{{{{zz{{{{{||}{{{y{{{{||{{{{|{|{z{{{{{{|{{{||{{z|{zz|{||||{|}|{{z|{z{zz|{|{||{{{{{z{zz|{{||||{|{{{z{zz|{{{|||{{{{{{|{{z|}{|||}{{|{{{{{{{}}||||{{{{{{{{|||||||{|{z{{{|{|}|{}{||{{{|{{|{|{||||}||{{|{{{{{|{{|||{||||zz{{{|||}{|||||{z{z{{{|||||}}{{{}|{{|||}{|}||{{|{{{{||||||{|{|{|{zz{{|||{{|{{z|{z{|z{||{|~~~}}|||{|}||}|}}||{{}{{{{{{|{|{|}||{z{{z{{{|||{|||{{zz{{z|{{{{|||{{zz{{{z{{z{z||{{{zz{z{{{{|z{{{|{{{y{{zz{{{{|{{{yzz{{zz{z{{{zz|{z{zzzzz{{{{z{{{{{{{{{z{{||{{{{|{zzz{zy{z{{{{{{{{{{{z{z{z{|z{{{{{{z{z{{zzz|{{{|{|||{{zz{{{||{{{|{|z{{zzz{{{{{{{||{{{{zz{{|{|||||}{{{{|z{{{|||{{{{{{{{zzzz{{|{{{||{z{{{{|{{||{{|||{zz|{{{|{{|{{|||{|{zz|{z||{}||||{z{{{{z{}{||||{|{{{{{{z{{}||||{|{{|{{|{|{||{{{{|{|{{z|{|{||}}{|||{|{|z{z||||||{|{|z||{{{{|{{||}||z{{{z{||{|||||{{z{|{{{|{|{|{|}||{{{{z{||{||}{|{{||{{{{z{|{{{~~~~~}}}~}|||}}|}}~~||}|{|{{{|{{|}}{{{|{{{z{{{||{||||z{yz{zz{{z|{{{{|{{zz{z{{{{z{{{{{zz{{z{z|{|{z||{|{z{{z{z{{{{z{{{zzy{{z{zz{{{{||{{z{{zzz{{{{{{{{z{{{zzzzz{|{|{{||zz{zzz{z{zz{{|{|z{zz{{z{z{z{z{{|zz{yz{{{{|{|{||{{{z{zyzz|{|{z{|{{zz{{yzz{{{{z|{|zzzzz{zz{|{{|z||zz{{{{z{{|{{||}|zz{{{|zz{{{{|||{{{{{{|z{{||{|{|||{{|{zz{{{|||z||{{{{z{{z|z|||}||{{{{zzz{{|||{}{||{z{|{{{||{|||}{{||{{{|||}{||}|{||{{{{{{|}{|||||||{|{||{|||}{}||{{|{{{{|{{|{{{|||{|{{{{{}|||||}|{{{z{{{z{|{{{|}|{||z{{{{{{{{{{||z{{z|zzz{||{{~~~~~~|}|}|||}}~~~}~{|{z{{{||}{|{}}{z||{{{z{|{||{|{|z{z{{{z|{{{{|{|{zz{{z{zz{{{{||{|{{{{zy{{z{{z||{|zz{zzz{{zz{z{||{zzz{{zzy{{{{|{|{{zyzzy{z{|{|{{|{z|zz{zz||{z{{||{{z{{{zzz{{{{|{z|{zz{{{{{{{{{{|{z{{z|{z{{|z|z||{|{{zzy{||||||{}|{{{{zzz{{{{{||||z|{z{{zz||{|{{|{{zz|{z{z{|z{||{||||{z{{z||z{{||{{{{|z{{z|}{||{{|zz|{{z{z{{|{||}}{|{{{{{{{|{|}|||{{|{|z{z{{|||{|{{|{{{|{{|||{{{{|{{{||||{|||{{|}||{{{z{{{{||{|||||z|{{{z|{||||{{|{{{{{z||{|{|{{}}{{z{{{{|z{{}}|{}||{{{|{{||{{|{}{|{{{{zzz{|{|z|||{{|{z{{{{{{{|~~}}|~}|}|{||}~||}}}}{{|{||||||{{{||{{|{{{z{{|||{||||{|{z{{z{{||{|{||zz{{{{z{z{{{||{{z{z{zzzz||{|{{{|{zy{{{|{zz{{{{{{z{z{{{zz{{{|z{|{zz{zz{{{z{z|{{|zz{yz{yz{{z{{||{z{{{{z{zz}{{|{{{{{zzzzy{{{{{{zz{{z{{{{{y{{|{{{|{{{{{|zzz{|{{{|{{{z{zz{z{{{{{z|{{{|zz{{{{||{|||}{{{{{{zz{{z{|{||{{{z{{{{{{|{{||{||{{{z{zz|{{|{|{|{z{z{{{{z|||}{|||{|{{|z|||{|||||||z{{z{z||||{|}{|{z{{{{{{||{|{|{{{{|{}{{{||{{|{|||{{{{{z|}|{{|}{|{||{{{{||||||||}{{|{{z||{{{|}}|{{{{{{{|{|{||}|}||{z{z{|||||{|||{{{{{|{z{z|||{||{{{{{{{{{||{{~}~~}~}~}||~||||~}|}||||{{{{|{|}{|{{{{{{|{{{zz||||{z|{|{{yzz{{z{}|{{{|{{{z{zz{{{{z|{{{|z|{zz{{{{{|{{z{zz{{{zzzz{{|{{|{{{zzzzz{z{z|{{{{{{{z{{z{z||z{|{|z{{{z{zz{{{|z{z{{zz{z|{z{{{z{||{{{zz{{{{{{{{{|{|zzz{{|z{z{||{{|{{{{{zzzz{{||{|{|zzzz{{|{{{{{||{|{{{{{{z{{{{{|{|{{z{z{{{{{{|{{{|{||z|z{{z{{|{{|{{{{zz{{{||}{|{|||{z{zzz{{|||||||{{{{{{{|z|{{||}||{{zz|zzz{{||{||{|{{{{z|{{|{||}}|{{|{{{{{|||||||||{||{{{{{}{|}||||z|{{|{{|}|{|||{|{{{{{{|{z||||{}|{|{{{{{{|||||||{{{z|{{z{|{|||||{{zz{{{{{{{{{||{zyz{{y{z|||||}}}}}|}{}||{}}}|}}}|}{z|{{{{||{{||||{|z|z{|{|{|{|}||zz{{|{{{{{||{||{{{{zz{{{{{z{|||{{yzzz|{z{|{z{|{z{{{z{z{z|{{{|{|{zzz{{z{z{{{z{{|{{zz{z{{z|{{{|{{{zz{z{z{z|{|{z|{{z{zz{{z{||{z{zzzz{zz{{zz{zz{z{{z{{zzz{zz{||{z{|{{z{|z{{{{{|z{|{{{{zzz{{|{{z||{{zzz{{{z{z{{|{|{|{zz{zz{{{|||{{{{{|{{zzzz|{{{{||{|{z{{z{{{{{{{|{|{z{{{z|z{{{|||||{z{||{{{||{|{||{|z{{||z{{||{||||{z{{|{{{{{}|||}}{{{{{{{|{{{|||{|}z{{|{{{|}|{||}|{|{{z{|{||{|{|||{{{{z{|{{|{{{|}||{{{{{|{{{{{|{{|z{{{{{{{|{{|{|}||{{{z{{z{|||{{{||{{{{zzz{{{{|~~~|}}}||||}|}}}}||{{||{{{|{{|}||||{|{{z{zz{{{|{|{{{{{z{{{{{{{{{{||{z{z{z{z{{{|{{{{{{{{{{z{{|{{z|{{z{{{yzz{z{{{|{|{zz{{{z{z{{{{{{z{{{{z{zy{{{{{|{{|{{z{z{zz{}z{{||{zzzz{zzz{{{{z{{z{{|zzzz{z{z{{{{{{{z|{{{z{zz{{||{{zzz{{zz{{{{z{|{z{{{{{|{{{{{{{{|{{z{y{{{{{{|{{{|{z{{{z{{z||z|{{{|z{{{{zz|{|}|||||{|{{z{z|||{{||{|{{{{zzz{{||||||z{z{{{|{|{{}{{|||zz{{zz{|||{|||{|{{{{z{{||{|{|||{{{|{{{||{{||||}{{z|{{{z{||||}}|||{{|{||||{{{||||{|{{{z{||{||{|||z{|{{zz|{|{||{|{|{{{{{{|||{{|{|{{{zz{{{|||{{|}|{{{{z{{z||||z~}~}}|}}|}}}|}}|}|{|||{|||{{|{|||{z{{{{{{||{|{{|{{|{z{z|z{|{{{|||{{{z{zzz{|{||||{{z|{{z|{{|}{{|{{{{zzz{z{{{z|{{{{z{zy{z{z{{{{{{|{z{z|z{{z|{{{{{{{{z{{{|{z{|z{{z||{{{{z{{zz|{{z|{{z{zz{z{zz{|{{{{{{{{{{{{{{}|{{{{|{{{{{y{z{{{{{{{|{zz{y{{||{{{{{||{{{{{{z{|{{|{{||y{{{{{{z{||{||}{{z|{{{{{{||{{|||zz{{{{{{{||{|||{|{{||{{{{||||||{{|{{||{z||z||||}{|{{{{z{{||||||||{z{|||z||||||}}|{{{z}||{|||{||}|{{z{{{|{~|||{}|{|{{{{{|{|||||}|{{|{{z{{|||{||}||{||{{{|{{||||}|{{{{{|{{||{||||}|{z{{{z{|{|||{{||z|{{{{{{{|{{~~}~~~~{}|||}||{||||}|{||{{{|{|{|||}|{z{zz|z{{{|||{|}||z|yz{{y|{{|||{||{z{z{z{{|{{{||z{zzz{z{{{z{{z{{{zz{z{{zy{z|{z{{{zz{z{{zzz|{{{||{zzyz{{{z{{|{|{{{|{zyzzzzz{{{z{||{zzz{z{zz{{{{z{|z{{yzzzz{{zz{||{zz{{zz{z{z{{z{{|{{{z{z{z{|{{{|{{|{{z{zz{|{{|{{{{{{{y{zz{{{|{{{{|{{{z{z{z{{|{{||{{z|z{{{z|{{|{{|{{{{{{{z{||{{||{|{{{{{z{{{|||||||z{z{|{|{||{}{{|||{z{zzzz{z|||||||z{{{||{|}||{|{||{{{{|{{{{{{{}{|{{|{z{{{{}}|{|}|{{{{{{{{|||{|||||{{|{{{{{{{}|}|}|{|{{{{{{|||}|{|{|z{z{{{{{||||||{z{{z{{z{{{|{{|{zz{z{z{z{|zz|~~~~~~~}}||}{||}{|{}}||||z{{{||||{{}||||z|||{zz{{||{|||{{{zz{{z{|{z{|{{z{{{zz|zz|z{z{{|{{zz{z{{z{{z|{{{{{{yzzyy{{{{{{{|zz{{{z{z{|z{|{{z{{{zzzz{{zz|{{{{z{{yzzzz{{{{{{{|{{{zyzzyz{z{z{z{|{{zz{z{z{|{{{{{{{{{z{{z{{|z{{|{|{{zzz{z{|{z{|{|{z{zzz{{{{z{||||{{{zzzz||{{{{{{{{{{z{z{zz}z{|||{{zzzz{{z{{{{{z|{{{{{z{{{{|{{{{{{|{{{{{z{{{{{||||{{z{|{{{|{{|{||{zz{{zz{z||{|{|}|}z|z{{{z{}{{{}|||zz{{|}{|}|{}{|||{{|{|{{{||||||}|{|{{|{z}{|||||||{{{z{{{{{{|{|||{{{}}z{{{{{|z{|||{{z|{{z{|z{|||||{{zz{{{{|{{|||{{{z{zz{{{{{{{~~~}~}}}~}||||{|}||}}}|{|{{z{{|{{||}||{{z{{{|z|{|{{|||||{z{{{{{{|}|{{|z{zyz{{z{{z{{|{|{z{{zzz{{{{{|{{{z{|z{{z{{{{|{{||z{{z{z{{{{|{{{{{zzz{yz{zz||{{{{||{{z{zz{|z{{{|{|{{z{z{zy{|{z{z{|zzzzzzz{|{z{{{|z{zz{{z{z{|{|{||{{zzz{zz{{{{{{{||{z{z|z|z{z|}||{|{{zzz{{z{z{{|{{{{z{{|{zzz{||||{{{{|{{zz{z{|||||{{{z{{{z{{|{|z{{{|{{{|z{{|}||{||||{z{{{{||||||}||{z|{zzzz||{|{{|||{|{{{{{|{|||}{}|{{{{{{{{{{{||||||{{z{{{{|||||||||}{|{{{{}{{{||}{{z{{{z|{{{|||||{zz{{{{{{{{|||{|{{|{{{z||}||||||{{{{{{zz|{|}{{||{{zz|{{z{{{{|~~~}~}}||~}|{|||}}}|~}|{|{{{|{}z|{}{||{|{z{{z{{{{|||{|{{{{{zzz{||{z|||z{zzz{{zz||{|{{{{{{z{zyz|{{{{||{{{{zyzz{{|{{z{||{{zz|z{zz{{{{{|{zzz{z|y{{{{{{|{{z{zz{{zzz{{|z{|{z{zyzzzz{{{{{{||z|{zzzzz{{{{{||{{{{{zz{z{{z{z{{{{z{z{z{{{{{{{z|{{{{{{z{{zz|z{z|{{{{zy{zz{{|{{{}{z{{z{z{{||z||{{{zz{zzz{{{{|{{{|{|z{|{z{{z{{z||{{|{{z{{z{{|{{{|{{{{{{{{{{{|{{||}|{{{z|{{{{}||{{|||z{{{|z{}{|{{|||{{{z{{|{{||||{|}{|{{{{{{z}|||{|{{|{{{{{{{{||{|||{|{|{{{{{{z{{|}|{{z{|{{z|{{|||{|{{{{{{{||||}{|||{||z{{{z{{{|{|||{{{z{z{{|{|{{~~~~~}|}}|}||}|}|||}|{|{||||{{{}|}|||{{{{{zz|{|||{{||{{|z{{|{{{||{|||{z{{{zz{||z{{{|{z{{{{zzz{}||{{{{{z{{z{z{{{{{{||{zzzz{z{{{{{z{{{{|z{{{{{{{z{||{{zzz{{z{{z{|{{{|{||{|{{z{{z{{z{||{|z{{|{{z{{|{{{{{{{{|{{zy||{{{|{|{{{|{z{{z|||||||{{{zy{{{||{{{{{|z{{{{{{|{||||{{|{{{{{{{{{||{{||||{{z{{{{{|{{|||||{{{{zz{|||{{|{{{z{{{|{{||{|||{|z{|{|{{{{{{||||}|{|{{{{{{|{|{{}{{z{{{|{z{|{|{||}|{z|{|{{|||||}||{{z{{|{{{|||||}||{|{|{|{|{{{||||||{|}{{{{{{{}}{||{{|||z||||{{|}||{z{|{||{|{|{|}||z{|z{{{{}||{{{{{|z|{{{|{|{{{~~~~~~}~~|}}}}|||||||}}{|{||z{{{z}||||}{{{|{z{{|{{|{|||{z{{{{{y|{{{||{|{z{z{{{{{|{{{}|{|{{zzzz{{{|{z{|{{z{zz{z{{{z{z|{{zyzz{yz{z{|z{{{||zzyz{zz{||{{{}|{{zzz{z{z{{{|{|||{z{zyyz{{{z{{{{{z{zzzzz{{z{{|{{{y{z{{zz{z{{{{||z{z{|{{z|{{{{||{z{{|{z{z{|{{{|{|z{{{{{|{|{{{{||{|{{{zz{|z|{z||||{{z|{{{{{{|{|{{|{{{z{z{{||{{{{|{{{{{{{{{{{{|||||{{z{z{{|||||{{|}{{{{{{{{|}||{||||yz{{z|{}|{{||}|{{{{{{|{{{{|||}||{|{{|{|{|||}}}||{{{{|z{{||||}|||{{||{{{{{||||}||{|{{{{{{|{{||}}||{z{z{{||{||{||}|z{{{{z|{{}|{|{{{{{{z{{|{{|{~~}~}}}}||||{|}|}}|}}||{{{{{{|{||||}||{{{zz{{|{{|{||||{z{yzzz{}|{{||{z{{{{{{{{{{|{|z{{z{|{z{{{{}zzz{{{{{zzz{{{z{z{{{|{zz{{zz{{{{|{|{{{zz{zzzz|{||||{|{{{{y{zz{{{{{{|{|z{{zyzz{z{{z{{{{{z{{z{{z{{{{|{{{{{{{{{z{|{{{{|||{{{{z{{|z{{{|||{{{z{zz{{{{|{|{|{{{z{{zz{{{|||||{{{{{z{{{{||z}{||||{z{{{||||{{|{{{z{zz{z||{|z{||{{{z{z{z|{||||{|{{{z{|{{{|{||{|||{{{{{{{{{|}|||||{|{{{z|||||||||{|{||{}{{|{|{|||||{||{|z}}||}{||{{{{{{|{||{}|||||{{{{{z|||||{}|}{{{{|{{{|||||{}|||{{{|{{|||{|{|{|{{{|{|{{||||||{|{{z|{z{||{|{~|}~~}}~~|}}|{|{|{||{}|}||{{{{}||{{{{{}{{{{zz{{{|z||{z{||z{z{{z{|{|{z|||{z{{{{{{z{{{z{|{{zzzz{{zz{{{{{{zzz{{z{{z{{z{{|{|zz{{{{zz{z{z{|{|{zz{yzzz{{|z|{{|zzz{zzz{{|z|zz|z{{{zzzz{zz{{zy{{z{zz{z{{{||{|{{zz{zzzz{zz{|{{{{{|z{{{zzz{|{{{||{{zz{zz{|{{{{{|{|{{{z{zz{{{|z|{||{z{{zz{z{||{{|{{{zz{z{||{|{{{{|{{{{{{{z{{|{{{|||{{z{{||{|{||{||{{{{{z{{z{{{|||||{{||{z{|||z{||||{{{||{{{|||||}|{|{|{{{||||{{|||{|{{|{z{{|}|{|||||{|{{{{z|}}}|||||{{{{{{|||{|{}}|{{{|{{{{{{{|{{|||||{|{z{{{|{{||||{{|{{zz{{||||||{{{y|z{{|{{{|~~}~}}}}~~~}|}|||}|{}{|}}|}||||}{{{}{|{|||||{{{{z{z|{{{{{{}|{{zz{zz{z{||}{{{{{{{{z{|||z{|{{{z{{zz{z{{|{|||{{{{zzzz{{{{{{{||zz{|{z{z||{{{{{z{zz{z{z{|z{{z||{zzz{zyzz{z{z|z{|{zz{z{zz{{{{{{{|{zyy{zzz{|{z{|{zzy{{{{{z{{{z{{{{{{zz|{{z{{|{{{{|zz{{zy{{{z{{{|}|{z{{z{{{{{{{{||{{z|z{{|{z{{{{|||{|{{z{{|{|||{||{{{{|{z{z||{{{|{{{{{{z{{{|||||||||{{zz|{z|{|{z|}{zz{{{{|{z|||{||||{{z{{{||}{{{||||{{y{|{{{~{}|}|||z{{z|{{z}||{|||||{{|{z{~|||{}||{z{{|{{{|{|}|||}}{|||{z{{|||{||}|{{{{{{{{|{{||{|{|z{{{{{||||{|{{{||zz|{z{||{{~~~}}}}~~~|}}|}||{{{|}}|}~}|{{{{{{}|{|||{{|z{{{{{{|{{||{||{z{z{{{z{z|{{|z|{|{zz{{z{{{|{||{{z|z{z{{z{{{z||{{z{{{zzz|zz|z||{z{zzz|{z{{z{{||{{zzz{zzz{{|{||{{{{{{zzzz{{{|{{|{{z{{zz{zz{{z|{{|{{zz{zzzz{{|}|{|z{{{{z{z{{{{{{||{z|z|z{{z{{|{{||{z{{{z{{{{{{{{|{{z{zzz{{|{{{{|{{z{{{{z{{|{|{{|{{|z{z{z{{{}{{||}{{{z{|z{|{||{|||{{{{z{{{{{||}||||{{z{{|{z||{|||||{{{z{{z{{{{|}|}||{{{|{{{{|{{||||{{||{{{{|||||}{|{{{{{z|{{||}|{|||{{{{{{{|||||||{{z{{{{{{{||{||||{{{|{{z||||{{|{|{|{{{{{z{}|{{||||z{|{z{{{{{|{||}{z{z{{z{{{{z|~}~}~|}}}~}{}}}{{||}|}}}|}|{||{{{|}{||||{|{{|{z{{|{z{|{{|{{{{zz{z{{{{|{{||{||z{zzzz{{z{{{{{{{{{z{{|{|{z|{{z|zzzzz|{{{{{{|{z{z{{{zzz{{{{{{{{{zzz{yz{{{{{|{{{{{{zz{{z{{{{|{|{z{{z{{zz{|{{|{{{z{zz{zz{|{{{{{{z|{zzz{{z{{|{{|{{zz{{z{z{|{{z{{}zz{{{z{z||{zz|||z{{zzz{{{{|z}|{|{{{{{{{z{||{||{{{{zz{zz||{|{|||{|{z|{z{{{|||z|{{z{{{z{{{{|||{|}|z{||{z|z{{||{||{|{{{{{{||||{{||}z{z|{{{{{||{{|}|{{{{z|||{||}|||||{{{{{{|{}||}}|||{{{{z{|{{||}||{|||{{{z{{{{|{|}|||{|{|{|||{||{||{{{{{|z{z{{|{{|{|{{{z{{z{{||}{||{z{|{{z{{{|{}~~~~}|~~~~~~}|}|{||||}|{{||}}|{{{{{|{|||||||}|{z{{zz{||||{|||{{z{{{zz{||{{|{{|y{{zz{z{{|{z|z|{zzzz{{z|{z|{{||z{{{z{yz{{z{{|z{{{{zzz{{{{{{{{|{{{{zz{zz{||{{{|{{{|zzzzz{{{{{{|{|{zz{{zz{|z{z{z{|{{{{z{z{{{z{||zzz|z{zzz{|{{}{|{{{{zz|{{{|{{{{{|z{{{zy|{|{{{||{|zz{z{z{{{{|{|{{|{z{{|z{{{|{|{|{{{z{{|zz{|||{{|}{{||{{{zz||{z{|||{{{{z|z{{{|||}||{z{{{{{{||{}|}}|{{{{{{{z|||{|{|{|{{{{{|{{}{||||{z{|{{{{|{||{|{||{{{|{{{{{||||||}|{z|{|{{|||||}}|{z{{{}{{{{{|||||}{||{{z{|{|||||||z{{{|{{{{{|||||{|z{{{{z||||z||}|z|{z|y{{{|{|~~~}}~~~}~}{||}|}{|}|||}|}||z{{||z{}{|{|||}|{z{{zz|{}||||}{{{|{{{|{|{|{{|{}{{{{z{zzz{z|{{|{z{|{z{z{{{{{{}{|{z{z{{z{{{{|{{{{|z{{{{{{z{{z{||{{z{{z{zz{{{{{{||zz{{z{z{{{|{{z|||{z{zzzz{{{{{{z{{{zyz{zzz{{z|{{{{zz{zzzz|{||{|||{{z{{z{{z{|{{|||{z|{zzzz{{z{{{||{zzz{{{z|||{|{|{|{{{{zz{z{{|z}||{{{{z{{|{{|{{}|{{{{{{z{{|{{{|||{{{z|{|||{{|||{{{{{{{{{}{{|{||{||{{{{{|{{{|||{|||{z{|{{{{|{}{|{|||||{{|{|||{{|||||z||{{z{|}|}}|}||{|{{{{{|||||}|||zz{{|{{{|||{|}|||||{{z{{{{{|||}{|{{{z{z{|{||{||{{{{z{{z}|||z{|{z{|z{z|{|||{{~~~}}}||~~}}~~}}{}{||||{}}|}||}}{{{{{{{|{|{}|||{z{z|{{z{{{}{|||{{zz{z{z|{{{{|{|{{{{zzzy||{{{|{{{{{z{zz{zz{{{{{{zz{zzzz{{{z{{|{{{zyyzzzz{|{|{{{{{{{zz{z{{{z{{{{{{zz{z{{{|{{|{{{|{z{zzyz{z{{{{{{{{{{zzzzy{|zz{|{z{zzzzz{z|{{zz{{}y{z{{{{{{{{{{{{|{{{zzz{||{{{{z|{z{zzyz{z{|{{|{{{{{zz{z{{{{{{{{z{{{{{{{{{||||{||{zz|z{zz{{||{{{{{{|{{{{z{|{|{{|{|{{{{{{{{|{{|||||{{|z{{zz{{|{|||{|z{{|{z{{}|||{{}{{z{|{{|{{|{|||}|{{{{{{{{||{}||||{{{{z{|}|{{||{||{{z{{{z|{{z|{|||{{{|z{|{|||||||z{{{{{{{{{{{||{{|z{{{{{y{||{{||{{{|{z{{{{|{|{~~~|}|{~}}}~}~~{}||||||||}}||}}}||{{{||}||||||||{|{z{{{{{|{{|{}{||{zz|{{|{{{{{|z{{z{z{{{{{z{{}{{{|zzz{{{|{{z{{{{z{zz|z{||{|{{{{{{{{{yz{{{{{|{{{{{{zz{z{z|{{|{|{|{{{z{|zz|{|{|||z{{{{z{z{|z{{{{|||zzz{z{{{{{{||||{{z{z{z{z|||||{|{|zzz{{|{{{||{{{{{{{{{{{{{|z|||{{{{{{{z{|{|||||zz|z{z{{{|||||{{{{{{z{{z}|||{|}{{{{{{{{||||{z{|{{{|{{{{{{{||{|{|{{{{{|||}||||||}||{z{z{{|{|||{|{{{{{|{|{||{|{|}}{|{z{{|{||}||||||{|{}{{{{}|}||}||{{{{zz||{{{{|}||z{z{{{{{{{|||}}{|{||zz{{||||}||||zz{|z{{|}|{|||{{{|z{|{{{|||{}{{{{z{|{{{|||{~~~~}}|~}}}}}}}}|{|{|}{}}|{||}|{{z{{{{{|{{||||{{{z{zz|{{{{||{{|z|{z{{{z{{|z{{|{{{zzzy{{z|{{{{{||z{zz{z{{{|{{{{{{z{zyzz{{{{{z|z{zzzzyz{z{{{{|{|z{z{z{{z{{{{{||||{{{zzzzz{{z{{{|{zzz{{yzzz{|{||{|zzzz{|z{{{z{zz{|{{{{z{{{|{z|z{{{zzz{{{{zz{{{|{{|{zyzzz{z{{{z{|{|z{{{zzzz{{|{|||{{{{{{{{z{{{{||{|{z|{zzz{|{{{{||{{z{zz{{{||z{{}||{{{{{{{z{|||{|||zz{{{|{{{{{{{{{|z{{{{{zz|{|||}}{|{z{{z{{|||{|}{{{|{z{{{|||{||{|||{{{z{{{|{|||}}}|z{|{||{{{||||{|{{{|{z|||{{|||||{{|{{{{{|z||{||{{|{{{zzz{|{|{|||{z{{zz{{z|z{{||{|{{{{z{z|z{{|~~}}~~||}~~}}~~}|}||{|||}}{}||||||{{{||z||{{||||{{{{{{z{||||{{|{|{{z{{{z{||{{|{{z{{{z{z{{{{z{{|{{zz{zzz{|{{|z{{{|{y{zz{{z{{{{|{|{z{{zz{z{|||z|{|{{{zz{zz{{|{{{{{z{{zz{z{{||{{|||{zzzzzz{{{|{z{||}z{{{{{z{|{{{{{|zzz{{{zz{|{|{|{|{z{{{z|||{|{z{z|{{{|{z{{{|{{|||{||{||{{{z{{{|||||{}|{z{{|||{||{|{{{|{{z{|{{{|{|||{{{z{|z{}{z||{{||{{{{{{{||{|{{|{{{{{|{}{|{|{{||{{|||{{{|||||{|||zz{{{|{{|{{|{}{{{{{{{{{||{||||||{|{||{{|}|{|||}|{|{|||||{|{|{|||}z|{||{||||||}||{{{{{{{|{{|||}}|{{{{|{z{|||}||{|{{{{|{{|{||{|||{{{z|zz{{||{{~~~~}|||~~~}}~}|||{|{{|}}}||}|}{{{|||{z{|{|{{|}||{}{{{|||{{{||{{{{{{{{{{|||{{{|{{{yz{{{|{|{{|{{zz{{{{{z{z{z{|{{{z{z{{zz|{{{{{|{{zzz{{{{|||{|{{|{zzzz{yz{{|||{{|{{|{{{{z{{{||z||{z{{{zzzzz{{z||{{z{{{z{z{{|{{{{zz{{z{zzz{{|{|{{|{{z{{zz{{{{|||||{z{{{z{{|z{{{{||z{{{zz{{|}{}{|||{{{z{z{{{}|{{||z{{zzz{{{|{{||{}||{{{{|{{||{{{|}}{{|{z{{{|||||{{|z|z{|z|{|{z|||||{{{|z{{{|||}|||||{z{{{{{|}|||||}{{{|z|{{{||{|{|||{{z{{{{|}}|{}||{{{{{|{{}}|}{{}||zz{{{{||||}|||}|{{|||z{|{{|||{||{{{{zz{{}{{||}|{{{z{{|{{|}|{|}}{z|z{zz|{{{|}~~~~||}~}|}}|~|{{|}y|{||||||}}{{||{{{{|||{||{|{{{zz{{{z{|{|{}{{{{yzz{z{{||{|{|{zz{{{{zz{{z{|{{{{{{yzz{{{|{z{{{z{{{z{{z|{z||||{{{zzzy{{{||{{{{|{z{|{zz{{{{{{{{|z{{z{yzzz{z{{{z{z{{z{{{zz{{zz{{{{{zz{zzzz|z{{{||z||z{{{zz{{{|{|{y{{{{z{{{||{||{}{{z{zz{{{z{{{{||{{zzzz{{{||{|z{||z{{{{|zz{{{{{{|{{z{z{z{{{|||{}||{z{z{{z{{{{{{|{{z||{z|{||}|||||{|{zz{{{{{{|||||}{||{{z{{{{{|{|{|{{z|{{{|{|||{}||{{{{|{zz|{{||||{{{{z|{{||||{|}||{||{{{{}|||}|{|{{{{{|{z{|{{}|}||{{|{{{{{|}{||}}{|{zz{{|{|||||{{{{{{{{z{|||{{{|{{{{{{{z{|{|{|~~~~|}|}}|}~}}|~~}||{||{|{|}{}|||}|{{{{{{z{{||{|}{|{z{z{{{z{|||||z|z{{{zzz{{{|||{|{z{zzz{{{z{{{{|{z{{z{zz{zz{z{{|{{yzzz{zz{{{z{{{{zy{z{yzz{{{||{|z{zz{z{zz|{{{|z}|{z{{{{z{z{{{{|{|{{{{z{zy{{{{{z|{{|{{zzz{{{{{{{{{zz{z{z{z{||{z{||{z{{{zzz|||{{z{|{{{{zzz{|{{|{}|{{z{{{zz{{{{{|{{{{yz{{{{{{|z}||{{{{{{{{z{|}|{||{{|{{{zzzz{{{{{{{||{{{|{z{|||{{{{|{|{{{{}{||{{{|||{{|{{z{z}{{|||{{|zz{z{{z{|||}||{|{{|zz{z{||||||{{{|{{{{{{}|||{|{{{|{{{{{||{||}|||zz{||{{z{|||{|||{{{{|z|{|{{|||||{{z{|{z{||{|||{|{{|z{zz{|{{{|{{{|{zzzz{z||{|~~}}}~}}}|||}}|}~}}}{{||{|{}|{{}}||{{{{{z||{|z|{}{|{{{z{z{{{||{||{{z{{z{zz|{||{|z|zzz{zzzzz{z|z{|||z{z{{{{|{{zz{|{{zz{z{zz{{{{|{{|{zzzzzz{{{{z|{|{{zzzzzzy{{{{z|{||{{{yz{zz{{z{{{zz{zz{{{yz{{{z|{{z{{{zzzz{{{{{{{{zz{{zzzz{{{{{{{|{{{zz{z{z{|{{|||{z{{zzz{{{{{{||{{{{{zzzz{|{z|{z{z{|{{{{z{|{{{|{|{z{{{{{z{{|{||{{|{{{zzz|||{|{||{{{{z{{z{|{{{|{||{|{{{{{z||||{{||z{{|{{z{|{|z||}|{{z{{{{{||||{|||zz{{{|{|{||{{|||{{|{z{z{|}||{||||{{z{{|||{||||{{|{zz{z{|||}{|{||||{{{{{{|{||{|||{{{z{z{{{|{{|||||z{{zz{{{|||{|||{z|{{z{{{||{|~~~}}}}}~|||}}}}|~~}||{||{{||||}|||||{{{}}z|{|{{|||{z{{{{z{{{{{{{{|{{{{z{z{{{{{{}{|z{{yz|{{{|{{|||{{z{z{z{{{{{{z||{zz{{z{{z{{z{z{||zzzyzz{{{|{{{{}{{z{zzzz{z{|{||{{z{{{z{z{z{{{z{{{{{zzzz{z{z{{|{{{z{{zzz{{z{{{|{{|z{{{{zzz{zz{{{{{z{zzz{{{{||{{|||z{zzyzzz{{|||{z|{|z|z{z{{{{{|||{{|{z{zz{{{{|z|{{{{|{zz{z{{|{{||zz{{{{z{{{|{{{||{zz{{{z{|{{{||}{|z{{{{{||||{}{||||zz|{{z{|}|||{{||{z{z{z{{|{|||}||{}|z|{{{|||}||||z{{{{{|z}|{}|||{z|{z{|{|||{|||||{{{z{{{{|}||{}|||{{|{{{||{{{|||{{|z{{|z|{{{|{|{||{{{z{{||{|{{|{z||z{{zz{{{|{}}~~{}}|}}{|~}}}||}{||{||{|||}||||}|{{{{{|||{{||}}{{y{{{{{|z||{z{||{|{{{z{z{z|||{{{{{{{{{{z{{|{{{{{y{{{zzyz{{{{{{z{{z{{zzz{{{{{{{{{zzzzz{{z{{{{{{|{{zzz{{zzz{{{|{{z{z{{z{{{{{|||{{|{{zzyy{zz|||{{|{{{zz{yzz{{z{{|||zz{{{|{{{{{|{{{|zz{z{zz{z|||{||{{z{y{z{z{{{{|{||{z|z{z{z{z|{{|||{{z{{z{zz||{{|{{{{{{|zz{{}{|{||{{{{{|{{|{{{{{||{{z{{||zz||{|||}|z{{{{{||||{{||||{{{{{{{{||}{|||{|{z|{{z{|||||{||{{|{{}}{{|{{||}|{z|{z||{{}|}{|}{{{{{{{|{||}|{}{||{||{{{{{{|{|{|{{{{{|{||{||{||||{z{{{z{z{{||{|||||{{{zzz{|{||z||z{{zy{{{{{z{{}~|~}}|||||}~~|}||}||{{{{{{|{|||||{}z{{{z{z{||||{{||{{{{{z{{{{|{{{|{{zy{{|z{|{}{{z|{zzz{{{z{{{z{{|{|{zzzzzz|{|z{|zzz|z{z{{z{{{{|||{{zzzz{zzz{|{z||{{zz{yyz{|{|{{{|z{z{zzzzz{{{{||{{{z{{{zz|{{{{z{|||{{z{z{{z|{{||{{zz{{{{{z{{{{{{{{{z{z{{zz{{{z{{{|yzzzz{{{zz|{|{||zzzzz{{||{{|{{||zz{z{zzz{|{{{{||z{|zzzz{|{{{|{|{{{{{{{y{{{{{{{|{{{z{{{{{|||{|||}{{{{|zz{|{|||{||{{{{{zzz{{||{{{|{{z{{z{{|||{{{{|{{{zz{{|{{{|{|||||{{z{{|{|{||||||z||{{{z|{{||||}|z|{{{z{|{|{|{|{||z{|{{|{||{{|{}|{{{{{|{{{z|||{|{{z{{z|zz{{||{||{{||{z{{{{{{{~~}~||}||}{}}}|}||}|{}{{{{{||||}|{{|{{{{{{z{{{|{{|||{{z|zzz{{||{{{{|{{{z{{z{{||{||{{zyzzzz{{{{{z|{||z{z{zzz{z{{z|{zzz{zyzzz{z{{{||{zzz{zz{{{{|{{{{z{{z{z{zy{{{{{|{|zzz{{zzzz{{|z||{zz{{{yz{{{{{z{{z{{{y{{zzz{{{{|||zz{{|zzz{z{{{|||{z{{{zz{{{{{{{|{{z{{zy{z{{|{zzz||{zy{yz{{{{{{{{{{{{{zzzz{|{|{||{z{{zz{z{{{{z|{|z{{{{{z{{{{{z{|{{{z{{{{{{{{|{||{}|{z{{{|{{{|{z}|}{zyz{{{z{{|{{{{{{{{{{{{||{|z||{||{{{z{{zz{{|||||{{z{{{z{{||}{{|{|{{|{{{{||||}}|||{{{zz{{||{{||||{|{{{|{{{{|||{{|{z{z|{|{}|{{{{}|{{zzzz{{{|||{|{|{zz{zzz{{|{{z}}}~}}|}{|{}|}|||}}|{||{yzz|}|{}||}|{{{{|{z{{||{{|{{{{z{z{{{{{{{|}{{z{z{{{y{|{||{{|{{{z{{{z{{{{z||{{{zz{{zz|{|{{|{{{y{zz{y{{{{{{{{{z{z{{z{z{{z{{z{{|zzzzzz{z|z{{{{zz{{{{{zzz{{{{||{zz{zzzzz{{{{{{{|{{zzy{zz{{z|||z{z{{z{zzz{|{|||{{{z{z{zzz{{|zz{{z{zz{zzz{||{{{{{|zz{zzz{{|{|{{}||{{zz{yz{z{|{{z{|{{{z{{{{{||{|{{{{{zzzzzz{|{|z{{||{z{{z{zz|{{||{|z{{{{zz{|{{{|{||{{{|{{{{{{|{||||{z{{|{z{}{||{|||{{|{{{||{|{|}||}}{z{z{{{||{{{||}{{z||z{|||||||||{|{{|{{{{{z{{||z||}{{{{{||{|{{{|{{zz{{{z{{|{z|||{z{{{{zz{|{{{||{{{{{z{{{|{{{{~~}}}||||||}|}|||||{|||{{{{|{{{}||{{{{{zz{{}|{{{|||{{{zz{z{{{{{{{{{{zzz{z|z{{{{{|z{z{z|{z{z{z{{z{{{zz{{z{zz{{{{z|{|{zzzyzz{{z{{{{||zzzzzzzyz{z|{|{z{zzzzzzz{z{{|{||{{{zz{zz{{{{|{{{z{{{zzzyz{{z{{{{z{zzz{zzz{{z{{|zz{{zyyzz{|||||{{{z{z{zz{{{|{{{{{{z{{{zzz{z{z{{||{zyz{{{z{{{{{{{{{{zz{z{zz{{{{{|{{z{{{{z{{|{{|{{{{{{|zz{{{|{{|{{|z{{{{{{{{z{||{{|{{zz{z|{|{{{z|||{{{{{{{z|{|}{{|||z{{{{{{{|||}||{{z{z{{{{|{|||||||||{z{|{{||{{{||{{{{{{{{{{|{|{||{{z{{z{z{{|||{||{{{{{|{z||{{{{}|{{{{z{{{{{|{{||||{{zzz{z{|{{|{{{{{{{zzzz{|{{z}{}}{|}|z|{{}}{}|{||{{{{z{|||}{||{}|{|{z{{z|{{|{|{||{{{|zz{|{}||{|{||{{z{zzz{{|{{{|{{{z{{zz{|{z{|{zz{zzzzzz{|z{z{{|{zzzzz{{{{{|{{{|z{z{{zz{{{z{{z|{{zz{zzz{zz{{{z{z{{{{z{z{{{{|{{||zzz{{z{zy{zzz||{{{zy{z{{{zz{z|zz{z{{{{zz{{|{z{||z{{{{z{{z{{{{{|{{{{{{{{z{{z|||{|{{z{{{{{|||{|{{{{{{z{z{{{||||{{||z|{z{{z||{|{{|zz{{{|zzz{{|{{{{{{|{{{|{{{{|{|||{{{{{{|{{||z|{||}{{{|{z{y{{|{{||{{{{{{|{{||}{||||{{{{z{{{||||||{{|z{{z|{{{|||{}}{|{{|z{{z||}{|{|||{z{{|{{{|{||||}}{|{{{{{|{}}||{|{{{zzz{{{z||{||||{z{z{{{{{{|{|{||{|{{z{{{{{{{||}||{|||||}}~||{{}{{{{z|{||z{|}||||{{z{||{|{{||}|{|{{{{z{{{|{{{{||{|z{{z{z}{{{{{||z{{z{zz{{{z{{{|{{{z{{zzz{||zz{{{zyzzz{z{{{z{{z{{zy{y{{{zz{{{z{{{z{{zzzzzz{{z{{{{zz{zzzzz{|{{|{{z{{y{{zzz{{z{{zz{{zzzzz{zz{{{z|{{{zzzzzzzz{{{||{{{zzz{z{zzz{z{{{|{{zzzzz{{z{{z{{{z{zz{{zz{|{{|{{z{{z{{z{{{{z{z|{{y{{zz{zz{|{{z{}|{z{{|{{{|{{z{{|{{{z{{{z{{||{||{z{{{z{{{{{|{|}}|{{|z{{zz{||{{{{{{{{{z|{zz{||||{||{{{{|{|{{|{{||||}{{{{|z|{|}|{||{{{{{zz{{||{{|||{{zy{{{z{|{|{{||||{{{{z{|{|{}||{|{{{z{{{{z|{|{|{|{{z{{z{y|||||{|{{{zz{z{z|{|{{~|||}||}||{|}|}|{|||{{{{{z{{|{{{|||{{zz{zz{{{{{||{|{zyzz{{{{{{|{z{|{z{zz{{y{y{||{|{{zzyz{zz{{{{z{{{z{zz{zzzzz{zz{zzzzzzzyzy{{{z{{{{z{{yzzzzz{{{z{{{{z{zy{zz{{zy{{{{z{{z{{zz{{{{{z{{{{{zz{zzz{{{z{{zz{zzzzzz{{zz{|z|zzzzz{zyzzz{{|{{z{zzzzzy{{{z|{||{zzzyz{{{{{|{{|{zzz{zz{zz{z{|{z|{zzz{{{z{{{{{{{{{z{{{{zz{z{{{{|zzz{{{zz||{{{{{||{{{y{{z{{{|||{||zz{{{{|z|z{|{|||{{z{zz{{z||{|z}{|z{z{{z{||{||||{{{{{{{{{z{||{|{||{|{z{{{{|||{||}|z{{y{{z|||{{||||z{z{{{{|z{|||||{z{{z{{{{|{|{|||{{{{{{z|{|{|z{{||{{y{{z{|||{{{|{z{zzz{zz{{{{{}~}~{|}{|z|}~|{||||||{|{z{{|||{}{||||zz{{{{|{|{|z{|{zzz{zzz{{{|z||{{{{{zzzz{z{{{{{z{{{zz{zz||{|z{{{{{{{{{yz{z{{{{|z{{zzz{{z{z{{{{{zz{zz|zz{{{z{{z{{{zy{zzz{{{|z{{|{zzzzzzzz{|{{{{|{{||{zzzz{{|{z{{{z{{z{{zz{z{{{|{zzzz{{zzyz}{{{{||{zzz{zz{{z{||{{|{z{zzz{{{{{|z{{|{z{yz{{z{{{{z{z{{z{z{zzz|{{{z{{{{{{{{z{{{{||{||{{zzz{{{z{{|{z{{||{zz{{{{zz{|{{|{z{{{{{|{{{{|{||}{z{z{{z{{{|||{{{|{{{{{{z||||{{{|{zz{|{{{|||||{{|{{z{z{{{{|||}||||{z{z{{||||{{{|||{{{{{{{{}{|{{||{{z|{{{{||||{{{}{zzz{{zzz{{{{||{|{y{z||{|{{|{{|z{z{{{zz{{{{{{}}|}|||{|{||}|}}{||{{{{{{{{{||||z||{z{{z{{{{{|}{{||{{{z{zzz{zz{{|{|{{{z|{{{{|{{||{{{z{zz{{zz{{{{|{{zzzz{z{z{{|{{{{z{z{{zzxz{{{|{{{{z{zy{zzzz|{{z|{{{zz{z{yzz{{{{{{{{{zzz{zyz{{|{{{z|{{zzzzzzz{z{{{zzzzzz{zzz{{{||{|yzzz{yz{z{||{{|{{yyz{zzz{{{z{{{|zzzzz{{{{|{{{|{{z{zzz{{z{{{zz{|{zz{zzz{{z{z{{{{{{|{{z{z{{{{{z{}{{{zz{{{z{|z{{{}|{{z{{z{|z{|{|||{z{{{{{{z{|{|{|||{{{{{{z{{}|{|||{{{{z|{{{{||{{{||{|z{{|{{{|{{|}||||{{z|{{||||||}||z{{z{{{{|||||{|{{{{{{{{{||{{}|{z{{{|{{{||{||}{|{{y{|z{z{z{|{{{|{{{zzz{{{{|{z{}{{{{z{{z{|{{{{}|}|{|||{||}}|{|||}{||z{{{|{|{{|{{|{{{zz{{{{{{{|||{|zz{{zzz{||{{|{|{zzyzz{{|{|{|{z{yz{{zzzzz{{{{{|{{zzz{z{z{{{zz{{{zzz{zzzz|z{zz{|{zzzzzzzz{{{{{{{{zz{{zzy{z{{{{|{{{zzzzz{zz|z{z{|{zzz{|zzzy{zz{{{{zzzzz{z{z{{yz{{|zzzz{{zzz{{{||||zzzzz{zz{{{{{{}{{{zzzz{z{{{{{{{{zz{zzz{|zz{|{|{{{{{{zz{{{{{{{{{|{zz{zzzz{{{|{||{{{{{z{{{{{{||||{{{zz{z{{{{{||||{{{z{{||z|{{||{{|{z{{{yz{|{|{|{|||z{zz{{{{|{{|}}|z{{{{z|z||{{{|||}{{{{{zz{||{||}|{z|{{zz{{||{|{{||{{z{{{{|{|{|{{|{{z{{z{{|{{{|{||{z{z{zzz|||{{{|{||{{{z{z||{{{z|{{zz{z{{z{{|{{}}||}{|{{|{{||{|||}|{{z{|z{{{|{|{|}|{{z{{{z{{|{|{||{{{zz{zz{{}z{{{{{{zz{zyy{||{{{{|{{{z{zzz{{z{|{{{{{zz{zzz{{{z{{{|{zz{z{zz|{{{{{{z{{zy{z{z{{|{{|{z||zzyzzzz{|{{{z|z{{zzzzyz{z{{{{{{zzzyzzyy{zzzz{z{{zy{zzzzzzz{{{|{zy{z{z{{{z{{z{{zzz{{{z{z{|zzz{{|z|zzzz{{{{{|z{|zz{{{z{zy|{{{{{{{z{{{yz{{{{{{|||{{{zzzzy{{z{|{{{{y{{{zz{z|{{{{z}z{zzzzzz{{{}|}|{z{z{|z{{{{{|{{|}{{{||{{z{}{{{|{{zzzz{{{z|||{}|{|{{z{{{|{||{{|||}{{z{{{{{|{|{{||||{{|{{{{{{{}|||{|{{|{{z{{{{{{|{||{z{{zz||}{|{||{{z{{|{{{{|{|{|{{|{{{zz{{z||{{{{z{{{{{zz{|{{{{||}|}|}||{{{||||||}{|{||{z{{{||||}{{{{{{{z{{{{{|}|||{zz{zzz{{|{{||{{{|zzz{z{|{{{|{{{{z{{{z{|{|z{{|{{z{zzzzy{{|{{{{{{z|zz{z{z{z{z|{|{zzzzz{z{z|{{{{{|{zz{zyz{{|{{{{|z{z{{zzzz{|{{{{z{{{zzz{zz|{{{{{{{{{{{zz{y{z|{{{{z{{{{{zz|{{{{{||{|zzz{zz|{{{{{{{zz{{{z{{{{{{{{||z{{z{z{{z|{{|z}|{zz{{z{z{{{{{{{|{{{{{{{{{{{|{{|z|z{{{zzz|{||{||{{{{{|{z{{|{|||{|z{z|{z{{}||{{{{|{{{{{|{z{|{{{||}|{{z{{zz||||||||{||zz{{|||{|||}||{{|z|{{z}{||||}zz||{{{{{{||{|||}z{{{{|{{|{{{|{||{z{{{{{{{|||}|}{|z{|z{{||{{|}||{{{{y{{z{}|||{|{|z{z{{{{{|{|{}||||||{{|{{}}{}}|}{}z{|z{z{{|||}|{|{zz|z{|}|z{{{|{{z{{z{zzz{{{{{{zz{z{zzzz|{{z{}{|{{{zy{zyzzz{{{{{{z{|z{{{{{|zz{zzz{z{|{zz{{zz{{{{zz{{{zzz{{|z{||{{zyz{{y{{{{||{{{zz{z{z{zz{|{{{{|{{z{zzzz{z{zz{z{zz{z{z{zy{z{{{z|{zzzz|zz{{z|z|{{|z{{{y{{{{z{{{|{{|{{|zz{{{|{{{{|{z{{zz{{{{z{|||{{z{{z{{{{|{||{{{z{z{|{{z{|{{{|||{{zz{{{{||{||{|{{{zz{z{zz|||{|||{||||{{{{{||}|||{{{{|{{z||{|{{|}|z{z{{{{||{|||}|{|{{|{|{{||{|||{|{{z{{{{{|}|||{||z{{{{{|{||}|||{{{{{{{{{|{{{|||||{{{|{{{{{||{|||z{{y{{z{{{||}|||{|{{z{|{{{{{{||{{{|{|{zz{{{z{|}||}{{|{{{{{||||||||{|{{z{|{{|||||{{|{{{zz|{||{{||||{zzz{{{{|{|{|z{zz{z{{z{{{z{{||zz{z{{{zz|z{{|||{z{z{{zzz{{{{||{z{|{{{{z{{{|||z|zzzz{zzy{{{{{||{zzz{{{{z{z||{{{{y{z{{{zzz|{{{z{|{zz{{zzzzz{{{z{|zzzzyz{{{{{{{z|{z{{{{{z{{{{|{||{zzzzzyz{{|{{z{{||{{z|z{{{{|{{{||{|{{{|{{{{|{{{{|{z{{z{{{{|||{||{{z|z{{{|{||{|z|{{{z||{{{||{|{||{{z|z{{z{{|||||||{{{{|{{{{{||||||{z|{{{z{{{|{||{{|{{{{{{z|}|}}||{{z{{||{{|}}|{|{||{|{{{|{{|||z|}||||{{{z|}|||||{|{{{{}{{||{|{{|||{{{{|{{z|||{|{||{{{{{{|{{|{{|{|{|{{{{{{{z|{{{||{{{{zzz{{|{{||}}}|}||{{|||}~|||}|}|{|{{{|{||{||}|||z{{{{z{|||{{||{{{{|z{{{{{|{|{{{{zzzzz{z{{|||{|z{{{zz{{{{zz{|z{z{{z{zzz{{{{{z|{{{z{{{zz{{{{{{z}{{{zzzzzz{{z{{|{zz{{zzz{{z|{||zz{{z{z{{y{{z{{|{{|zzz{{{zz{{{{{{z{{zy{zzz{{{{{{{|{z{{z{z{|{||{{|{zz{{zz|zz{{{{{{}zz|{zzz{z||{{{{|zzy{z{{z{{||{|{||z{{z{{{{{|{||{{z{{{{{{{{|||{||{{z{{{{zz{|{|{{|{|{{{{{{{{||}||||{|{{{{|{|||}}||||{{|{{z{|||{|}|{|{{|{{{{{{|}{||}z{{{{||{{||{|||||{|z|{{{{|{|{}|||{|{{{{{||{||||||{{{{{{{{}{||z{}||{{|{{{|{||{{|||zz{z|{{{{{{|{{|{{{{{{zz{|{|{{{{{{{{|{{z|{|{||{|||{{||||{}||{||||z{{{{z{|||{{|||{|y{||zz|{|||{|{{zzzz{z{{{{|{{||{{z{{{z{|{|zz|{|{z{z{z{y{zz{{|{{z{{zz{z{{{{|{z{yz{{zz{zzz{z{{{{{z{z{{zzzz{|{{{|{z{{zz|{z{{{{{{{{z{{zzzyyz{{z{{|{{{z{{{zz{{{{{|z{z{{zzyzz{{{{{|{{zzz{zzz{z|{z{{{{{{zzz{zz{||z{{z|{z{z{z{{{{{{|{||z{z{{zz{{{{z|{{{{{z{zz{z{{|{{{|{{{{zz{{z|{{{z|{{{y{{z{z{{|{{{z{|{{{{{{|{{{||{|{|{{{|{{||}|||{||{{{z{{z{{{||{{{|{|z{{{{{{{|{{|}}||{zz{{||{{||{||||{{|{{{{|||||{{{|{{|{zz{||||}}|}|{{{{{||{|{}||{|{{{{{{z{|{{||||{z{{z{{z|z{|{|||{|{{{z{{{{|z{{|{{{z{{zy{z||{{}}|{}|{||{|{||{|{|||{|{{{z{{{{{|{|}{|{z{{{z{||{{|{||{{z{z{z{{|{||{|{{zzzzz{{{{{{{{||{{zz{zz{{|z|z|{{{{{z{{z{{{|z|{{{{{{yzy{z{{{|{}{z{zzzzz{zz{|{{{|{z{z{yzzzz{{{{{{{zz{zz{zzz{{|{|{|{z{{z{zzz{{{{|{z{z{z{zzz{{{{{{|{{zz{{zzzzz{|||{|z{{z{zz{{{|{{||{|z{z{zz{zzz|{|{|{z{z{zz{{|{z{{{{{{{{z|zz{{{{{|{|zz{{{{{{||{{{{|z{zz{{{|{|||{{{|{{{zz{z{{||}|{|||z{{{|{{{{||}{}{||z{{{{{{{|{||z|{|z{{|{{{|||{||||{z|zz||||{||}{|||z{{{{{{{}{||{|||{{zzz{{||{|||||{{z|{{|{{||{{||}|{{z{{{{{{{||||{{{{z{{z|{{{||{{||{{z{z{{{{{{{|||{{zzzy{{{{{|{|{{|z|z{{|{{{{||{|{|{{{{{{{|{{z|{{|{z{z|zzz{{{{{{{|{y{z{z{z{|{{{z{{{z{yz{zy|{{{z|{|zzzz{y{z{{z{z{{|{{zzzzzzzz{zy{{{z{zzzzyzzz{{|z{{z{zzzyz{z{{{z{{{{{zzz|yy{{{{{{{|{{zzzzzzz{{z|z{{zzzz{z{zzz|z{zzzzz{yzzzzzzzzz{{z{{y{z{zzz{{{{{{|{{zz{z{{z{{zz{{{z{z{{zzz{{{zz|{{zzz{yz{z{{{zzz{{z{{{z{{y|{{{{{{|{{{z{zzzz{||z{|{{z{{{{zzz{|z{z||||zz{zzzz{{}{z}{z{{{{z|{|{|}{{{}z{z{z{zz{{|{{||||{{{z{z{{|{{|{|||z{z{{{|{|{{|||{|z{{{{{z||{{||}{{{|{{z{{{|z|{|{{{zz{{{z{{|{|||{|{{zz{|{z{{z{|{|{z{{{z{{{|{{|{{|||{z{z{zz{||{{{{{z{z{{yzzz{{{{||}{||{|{{{z}|||||||{{{{z|z{|{{|{{}{|{{{{zz|{|{{{{|{{z{{yz{{{{{{{{|z|{{zzzy{|||||{z{zzzzz{zz{{|{{{{{z{zz{z{{{{z{|||zzz{z{{y|z{{{{{zzz{zz{z{{{zzzz|{zyz{zzzz{{|z{{{{|zzz{z{zz{|{{||{{z{z{zzzzz{z{{{{zzzzzzzzz{zzz{{{{zz{{{zz{{|{{z{{zz{zzzzz{{||{|{|{z{zzzz{zzz{{{{{zyzz{z{z{{|{z|{|{{z{{z{{{||{||{|yz{y{{z{z{||{{|{{{zz{zz{{|{{{||{{{{z{{{{{{||{{||z{{{{{{{||{|||{||{{{{{{z{||{|||||z{{{{{{||{{||}|{{{{{{{|{{|{|||||{{{|{zz{||{|||||{{|z{{{||||||||{{{{{z{{{|{{{{||{|{}{zz{{|{|{{||{{{{||zz{{{{||{||{z{z{zz{|{|{{{||zzzz{|z{z{{z||}|{{{{{{{{{|{{{{{{{{z{zzz{|{||{{|{z{zzz{{{{z{{{{|z{{{zzz|z{{|{{{{zz{zzzzyz{{{z{{{z{zzyz{zyzz{z{z|{zzzz{zzz{{zz|{{{{{yz|z{{zz{{{{{zyz{zzzz{{{{{{{{{yzzzyz{{{{{{{|{zz{zz{zz{{{{{{{{|zzzzz{z{{{zz{|{{zzzz{{z{{z{{{{zz{zz{zzz{z{|z{{|{z{{zz{zz{{z{zz|{zz{zyz{{{{z{|||z{z{zz{zz{{{{{{{{zyz|z{z{{{{{|{{|z{zz{z{{{{{{{|{{z{zzz{{{{{{{{|{{{{{{{z{z{{|||}|{{{yzz{z{z{{{{||{{{{{zzz{|{{{{|{z{{{{z{z|{|{{||{|z{z{{{{{{{{|{|{{{{{{|z{{{{{{{|||{z{|{{{{{|{{{|z|z{z{z{{{{{|z|{||{y{{{{{||{|||||zz{z{z{{{{{|{||{{{z{zz{z{|{{{{{{zzz{zzz{{{z{||||{{{{z|{{z{|{||{}{zz{{{zz{{{|||{||z{{{zzz{{z{{{{{{zzzzzz{{{{{{{||z{zyyzzz{zz{z{{{yzzzzzzzzz{zz{{|{zyzzzzy{{{zz||{{z{y{zyzzzz{{{{zzz{zyzzzz{{{|{|y{{zzyy{{{{zzz{{{zz{{zyzyz{{zzz|zzzz{zyzyyz{zy{{{zzzzzz{zz{z{z{{z{{{{zz{{z{|z{{{{zzz{{zzz{{{{|{{|zz{z{z{z{zz{{|{|zz{z{zzzz{{|{{z{zzz{zz{z{{|{{{{{zzzz{z{z{z{|{{|z{zz{z{{z||{|z|z{{zz{{z{{{{{z{|z|{{z{{{z{{{{||{{|{{zzzz{z{{{{||{{{z{z{zzz{{z{|{{{{{zz{{{{z{||{{{{{{z{{|{{z}{{{||||z{{z{{{{|{{{||||zz|{|z{{||{{|{{{|z{||z{z{{{{{||z{z{z{z{|||{{||{||z{z{{|{{{|{{{{{zz{|y{z{|{{{{}|{}z{{{{|||||}|{|z|||{z{|{{{|{|||{z{y{z{z{|{|{|{|{zz{z{|{{|||{{{|{{zy{z{z{{|{z{||{{{{{{{zz{{{{||{{zz{z{zz|{{{{|{|zzzyzzz{||{{{z{|{{{{zy{z{zz{{|zzz{{zy{{z{{{{{{{{zz{zz{{{{{{{{{|{{{z{{z{z|{zz{{{{{{{zz{z{{|{|z|z|{{{{zzz{{{{|{||z{{{zz{|{{{{|{{{|z{zzzz{{{z|{z{{{{zz{{{zz{{|||{{{{|{{{{|zz||{{}||zz|z{z{z{{||{||{zz{{z{{z{{|{{|{|{{{{{{{{{{||||||{{{z{{{||{{|||}}{{|z{{{{|{{{||}{|{{{zz{{|~|||||{{|{{|z{{|{{{|{||}{{z{{{{z}|{}||{|||{zzz|{||{|||||{{|{{{|{{|||{{{||z{{{{{{||||}{|{{{z{zzzz|{||||{{{zz{z{{{|||{|||{z|zz{y{{{|{||||{|{{{||{{}|{|||||z||z{z{{||{{|||{{{z{{{{{||{{|{|zz{{|z{z{{{{{{|{{{zzy{zz|{|{y|{|{y{|zzz{z{{{{{{{{zz{zzz{{|{{z|z|z{zzzzzz{z{|{{{{zz{zy{{zz{z{z{|{|{zzzzyz{{z{{{{zz|z{zzzz{{|{z{{{zzzzzzz{yz{{z{{{zzzz{zzzz{{{{{|{z{{{zz|zz{{zz{{|{z{{{{{{|{|{{{|{zz|{{y|{{|{{{|||{{z|{{{{{||{{||{|z{z{{{z|{||{||{{{{{zz{z{{|{{{}|{{zz{z{{||{{z||{{z{zz{{|z{|||||}{|{z{{|||{{|{{{|{|z{|{{z{|{{|{|{|{{{{{{z||{{{|||{||z{|{z{|{|{|||{{{|{{zy{|}||||||{{|zz|{{||}||||{z{{{{{{{{}{{||{{{{{{z{{{|{|}{}|{|z{{{{{{|{{|||||{z{{z{z||{{{{{{z{{z{{z{{||{{|{|{{z|z{{{{{|{{|||{z{z{y{z{|{|||||||{{{zzz{|{{||||{{z{z{{yz{|{{{{{{z{{y{zzz{{{{{{||{zzz{{y{zzzz{{{|{{zzzyz{{{{{|{{{zzyz{zz{z{z{{{{zzz{{zz{z{{{{{{{zzzzzzzzzz{{{{z{{z{zzz{{{{{{{{z|zzzzzzzy{{{{{zy{{{zzzz{z{zz{z{{{zz{z{{zzz{z{|{|z{zzz{zzy{zz{z{{{z{z{y{{z|{{z{|||{|{z{{zz{z{z{{||z{{z{zzz{{||{{{{|{{z{z{{{{|{|{|z|z{z{zz{{{{{{{|{{{{{{z{{{||}{||{|{zzz{{{||}|{|||{|{{{zz{{{||||{{{zzz{{zz{{{|{|||zzz{z{z{{|{{}||||{z{{{{z{|{|{|}{|{|{{z{z{||||{{|{zz{|{{{{{{|{||||{|z{z{{{|{||{||{{{{z{zz||{{|{|{||z{z{z{{|||{{{{zz{zzz{zz{{z{}|}|||||{zz||}|{|}|z{zz{{zz{{{|}||{|{{{z{z{{{{{{{}{{|{{{{{{{|||z{}{{{{y{{zz{|{z{z{z|zzz{zzz{{|{{{{{{zzz{{{yz{|{{{{|{zz{zz{{{{z|{z|{{{zzzz{z{{{{|{||zzz{z{zy{{{|{{|{{z{{zz{{z{{|z{{{{z{{zzz{z{{{{z{{{zzzz{zzz{z{{|{{zzzz{|{{{{|{{||{{z{{{zz{{{{z{{{z{z{z{z{{{{{{{{{{|zz{{{{{|{|z|{||{{z{{{{{{|{|{{|{{zz{z{z{{{|{|{|{zz{zz{{z|{z{z|{|{{z{|{z{|||}{|{|{{{{|z{|||{{|{|||{{{{|z{}{|||{{{|{{z{z{z{|||{{|{{{|z{z|z{{|{||{||{{{{||{{}{||||}{{{{z|z{{{||{|||{z{z|{{z{||{|||}z||z|z{{{|||||{{{|{{{{{{{|{|||}{|{{{{z{z{|||{{|{{{{{zzz{|{{|{{|{{|{{z{zz||{{{|}|{||{{{zz{{{|||||z{zzz{z{{{{{{{|{{z{zzz{z{{{{{|||{{{zy{zz|z{|{{{{{yz{yzzy{{{{{{||{|{{yzzz{{{z{{{{{{zzzzzz{{{|z|{|zzz{{zzzzy{{{z{{{{{zz{y{{{|{z{{zz{zzzy{{z{|{{{{{z{z{{zz{{z{zz{{|z{zzzzyy{z{z{|{|{zzzz{y{z||{zz{|{{zzz|{z{{{{{z||zz{zzyzz{{{z{{||zz{zzzzzz{|{{z{z{{z{z{zzz{zz|{{|{z{zyyzz{{|{{||{z{z{z{z{{z{{{{{{{{zz{{z{{{||{{||{|{{{{{z{|{|{{}|}zz{{zzz||}{|{{||{|{{zzz||{|{|||z{{z{{|{{|||{|}||z{z{{{z{||{|{|{|z|{{{{{{|{||||{{zz{{{{z|{{z|{{}|z{z{{z{{{||{}|{zz{z{{{{{|{{z{|{zzz{{zzy{|{{{z||z{{zzyzz{{|{{{||z{{{{|}z{||{{{||}{z{zz{{{|{|{|{{|{zz{{{{{|{{{{{{z{{z{zz{{z|{z{{{{zzy{{{y{{{{z{|{{{{{zzz{z{{{z{{yzz{z{z{z{{{zz{{{{zy{zzyzz{zy{{{{z{{{y{{zz{{{{{z|{zz{zzzz{{|{|{{|{y{z{zzz{z|{z{{{zzzz{yzyz{{z||{{{{zzzzz{{{zz{{|{y{{zzz{y{|{|{{|{{zz{{z{z{|{{{{{|zz{{zzz{|{z{{{|{z{|y{z{|{{{{{|{{zzz{{zz{{{{{{{||{z{z{|zz{{{{z{|{|zzzzz{{{{{{{|||{zz{|z{z{||||}{|z{{{{z{{{{|{|{{|{{{{{zz{{{{{{|||zzz{{z{z{|{{{||||{{|{{{z{{{|||||{{|{|{{{||{||{||z{{{zz|{{{||{|{{{{{zz{{{||z{|z|||{z|{{zz{|{{||||z{{z{y{zz|{{{{||{{z{z{{zz|{{|{{{|{{{zzzzy{|{{||{{|z{z{{{z{{{|{{{{{|{z{y{{{||{|{||{{{z{zz{|z{{{{{{z{{z{z{{{||z{{|{{{zz{{z|{{{{|{{z{zz{zzy{{{{{{{zz{|{{zzz{z{{z{z{zzzzzzzz{{z{{{|{zzy{zyzz|z{{{{|{zzy{z|z{{{{{|{{|zz{{zz{zz{{|{{{{{{z{{{{z{zzzz|{{{z{zzzzzz{{z{{{|zz{z{{{zz{{{{|{{z{{{{{{{{{z{{z{|{z{{{zzz{{{{{{{{{{zzz{zz{{|z|{{{|{z{{z{{{{|||||z|{{z{{zz|{{{{z{{|{zzzzz{z}{{z|||{zzzz{|{{{|||{}|y{{{{{{{|{z|{|}|{{{|{z{z{|||{{{||{|z{zz{{{{{|||||{|{{z{z|{z{||{{|{{{{{{{|}{}|||}{z{{{{{z}|{|{{{{{z{{{z{{{{{{{|||{|{{|{{z{{||{||{z{{z{z{{{{{{{|{{z|{zz{{{{{{|z|{|z{{zzy{z{|{{|}||{{{{{{|z|{{{|{{{{{{zzyzz{{{{{{}{|z{zzyzy{{{{{||{{{zz{zz{z|{{z||{{zzzzz{z{z{{{{{|zzzz{{zz{{y{{z{{zz{zzzzz{{{y{{{{z{zyy{{{z{{{zz{|{zyzzzzzz{z|z|{{{yxzyyyzzz{z||{{zzz{zyyzz{{|{z|{zzzzzzz{z{{z{{{z{yzzzy{z{z{{z{{{zzzzzz{z|{{{{z{{{{zz|zzzzz{z{|z{{xzzyz{{{{{zz{{{zzzz|{zz{{z{{{{{{{yy{z{z{{|||||{{z{zzzzz{||z{{|{|z{{{zz{{{{{z||{{{{z|{zz{||{{||{{{{z{{{z{{{{z||{{{{{|zz{{}||}{{||z{zz{{z{{{|{|{|{{z{{|zz{|{{{{|{{|{{{{{{|||{{|||{zz{{zz{|{z{{{|{{z|{|{zz{{||{{|||{{{{{{{|{z|||{|{z{zz{{zz{{|{{{|{{{{zz{{{|{||||{zz{{{{z{z{{{z|{{|{z{{{{z||{zz{|{zz{z{z{{||{|{|||{{{zz{z{zz{{||z{{zz{zz{{z{{{zz{}zzzzzy{yz{z{{{{{{z{yyz{zz{{zz{{{{z{z{zzyz{|z{|{{z{zzy{zz{z{{{{{{{{{zzyzy{{z{|{{{zz{zz{zz{{{{{{{zz{zzzzyz{z{{{{{{{zzyzzzzxzzzz{{{zz{zzzzz{{{{{|{|{{{yy{zz{zz{{z{z{z{z{z{{z{{{{{{{{z{zzzz{z{{{{|{|{zzzzz{{{{|{{{{{{z{zzz{z{{{{{{|{{zzzz{{{z{{{{{|z{{{{z{z{||{{{|{{{|zzz{z{{{|{{}}|{{{{{{{{{{{{||||{{z{zz{{{|{{{|{{{{zzz{z{{|{{|{||{z{z{{{{{{|{{{|{{{{zz{|{z|{}{|{{{{|z{{{z{|{|{|{{zzz{zzz{{{{{|{||{z{{{{{z{|{{{{||{{{z{z{z|{{{z||{{{{zz{y{{|||{{{z{{{zzzzz{{|{{|||{z{{{z{{z{|{{{{{z{zzzyzz{{{{|{{|{zz{{zzz{z{|{{{{{z{{{y{zz|{|{{{{zz{z{zzy{{{{{|||z{{{z{z{z{zzz{|{z{zyzzzz{zzzz{{{z{zyzzzzz{{zzz{|zzzzyyzzz{{z{{z{z{{{y{zzz{|{z{{zz{z{z{{yzz{{{|{|zzzzzyzzzz{z{{{zzzzy{zyyzzzz{{{zzz{zyzyzy{{{{|{zzyzz{zzzz{{{{z{{{{{{zz{{zz{|{{{{zyz{zz{zz{{{{{|zz{{{zzzz{{{|zz{z{{zzzyyz{z|z{||{|z{{zzzz{{z{z{{{{z{z{zz{{{{{|{{|z{{{{{{z{|||{||{|z{|{zz{{|||{{||{{{{z{z{{|{z||{{{{{{{{{{{{|z{{{||{{{z{{{{|{|{||||{{{{{{{{{{{{|{{{zz{{|zzz{||{{||{{z{{z{{||{|{z||z{{zz{z{{{|}{||{z{{{zzzz|||{{||{{{|zzzzz|{{z{||||{{|{z{z{||z{{|{z{zz{{{{{{z{||{{{z{{z{zz|z|{{{|{zz{{{{{{z{{{{{|{{z{z{{zz{z{|{{{|{z{zyz{{{|{{{{|{zzz{{zz{z{zz{{{{zzzz{z{zz{z{z{||zzzzyzzz{z{{{{{zz{{yzzz{zzz{{{z|zzzzzzzz{{{z{{|{zzz|zyzzz{{|{{{{zz{zyzyzz{zz{{{{{z{z{zz{zz{zz{{{{zy{{yz{z{zz{{{{zz{{{zzz{{{{z{|{zz{z|z{yz{|{{{|{{z{{{zzz{{{{{{{{{{z{zz{z{|{{{{|{{zz{yzzz{||{{{z{z{zz{{z{|{|{{{|{{z{{z{|{|{{{|{{}{{{zz{z{|{{|||{||{{{{{{{{{{z{|||{{{{{|z|{{{|{||{|{{{{z{{{|{}|||{|{{{zz{{|{{{|||||z{|{z{{{||{{||{{{{{{{{{z|{||{{|{y{zy{{{|{{{{{{{{|{z{{{z{{{||{|{{{zzzyzz|{{{z||||}{{{{{z|||{{{||{z{{z{z{z{|{{{{|{{zzz{{{{{{{|{|{|{{zz|zy|{{{|{{||{{zzyzy{|{|{|{{{{{{{{{zzz{zzz||{z{{{{zz{|{{{z{zzz{zzyzz{{zz{z{{{zzz{zzzzz{{z{{{zzzzzzzzz{z{|{{{z{{zz{{zyz{zz|||zzzzzz{zz{zz{{{{{{zy{z{{{{z{{z{{{zzz{zzz{{{{{{|{{zz{{zzz{{zz{||{{zz{{z{zz{z|{{{|z{z{zz{{{{{{{{{|{yzz{yzzz{{{||z{{{zz{z{z{{|{{||{|{z{{{|{|{|{{{||{z{z{{{{{}|{{{{{{{{{z{{|{{|||||}{{{z{{{{|{||{{|||{z{{{{{||}{{||{|{|{{{{{{{||||||{{||z}{z{|{|{||||z|{{|{{}|{|{||{|z{z||||||{||{|||zz{{{{|||||{|}{{{zz{{{z{z{{{{||{{zy{{{z|||{{{||{{{{{{{z{{{z{{|{{{z{{{{z|||z||||{{{{|z{{zz{{|{||{{{zzzz{{{z||{{{|{{{zzz{{z|{z{|{{z{zz{zy{{|{{{z{{z|{z{zz{|||z|{|{zzzxz{z{{|{z|{{z{z{z{{z{z|{|zz|zyzz{{zz{z{{{{{{{zzzzzy{z{{{|z{{zzzzz{yzz{{z{{|z|zzzzz{{{{|z{{{{{yzzzz{zz{{{{|{{zzz{{zzz{z{z{||{{{z{zzzz{{|{{{|{{z{{zz{z{{{{|{{{{{{{z{z{{{||{{{{{{{z{{{zz|{{{{{{{{{zz{z{|||{{{|z{zzz{{zz||{|{}||{|{z{{z|{{||||{}|{{z{z|{{{{}|{||{{z{{{{{{{}}|{||{{|{{|z|{}||||||{{{{{{{|||{{||||{{{{{{{|{|||{}||{||{||{{{{||||}{|z{z{{{z|{}||z|}{{{{{zz||{{|}|||{{zz{{z{{{|{{|{{{{zz{{{||{{|{{{|{{|{{{z{|zz{|}z{{|{{zz{z|{|{|{{|{z{{z{zz{{{{|{{|{{zzz{zzz|{z|{{{zz{z{yzzz{{{{zz{zz{yyz{zzz{{z|{{{z{yy{{y{{z{z|{{{|{z{yyy||z{{{{{zzzyzzzz|{{{|z{{yzzyzz{zz{z{{|{zzyz{z{yzzy{{{z{|zzzzzzzy{{{zz{|{{z{{zy{zy{{zzz{zyzzz{zzz{zz{{{{{zzzzzzzyz{zz{{|{{y{z{zzzz{z{z|z{{yz{zy|z{{{{zz{{z{zz{zzz{z|zz{z{zzzzzyzz{|{{{{{{{zzz{{zz{{{{z{{{{zz{{z{y{{{z{{{{{{zz{z{z{z{{{}|{z{{{{{{|{{{{{{{|{yz{zzzzz{{|{|{{{z{{}z{z{|z{{{{|{{zzzz{z{{{{{{{{|z{|{{z{|||{{||}{{{{z{{y|{{{{||{{z{{{{z{||{{{{||{{{{z{z{||z{z{||{{{{{z{z{{{|{}||{zz{zz{{{|{{{{||zz{zzyzz{{|{z|{{{{{z{{{{{{{{{{{|{|z{z{z{{{|z{||||{{yz{{z||{{{{||{zy{{zzz|{{{{{{{{z{zyzzzz{zzz{z|zzzzzz{z{{zzz{{y|{zz{{zzzz{{z{{{y{zzyzzz{z{{{{{{{zzy{zzzz{{z{{{{{z{zzzzz{zz{z{{{zyzyyzzzz{{zzz|{zzz{zyzzz|{zz{{{zzyz{yy{y{{zz|{{zzyzzzzzz{{{zz{{y{{z{z|yz{z{z{z{zyzzzy{|{{{{{|{{z{{z{{zz{{|z{{{{zzzz{yzz{|||{{{z|{{{{zzzz{||{|{{{{{|{zzz{z|{z{||{{zzz{zz{{{|{|||zz{{{{{||{{|{{||{z{{z{zzz{{||{||{z{z{z{{{|{|||}{|z{{{|{{{z{{||{|{{z{{{{{||{|{{|||{{{z{|{{{{{{{{{{{{{z{z{{{{z|{||{{{{{{z{|{{||||}{{{z{zzz{{{{|{{|z{{{{zz{|{{{{{z{{z{z{z{z{{|{{{|{z|{{{{zz{{z{{|{|{{z{{zzz{{|z|{|{|z{z{{z{{{|z{{|{{z{{zzz{{|{{y{{|z{{yz{{{z{{{{{{{zz{zyzyz{{|z{{|z{y{zzzz{z{|zz{z|zzzzz{{zz{zzz{|{zzzzyyzz{{{{{{{{z{zzzzzz{{{{||{zzzz{zzzz{z{{{z|{zzz{{zyzzz{{zz{{z{yzz{{zz{{{{|{{zzzz{zzzz{z{z|{{zzzzyz{{{{|{z{{|{yz{zz{z{z{{z|z{{{z{zz{{{{zz{{{|{z{zzzz{{{{{{{z{z{zzz{zz|{{|{z{|{zzzzzzz{{|{{{||{z{{{{z{{{{{{|{{{{{{{z{{|{{{||||z{{{z{{z||{{|{|{|z{||{{z|{{z{||}{{zzzz{{|||{|}|{{{{{z|{z{||{{{{|||{{{{{{{{|{{}|{{zz{{{z{z||{|{}{{z{{{z{{{{z}|||~zz{zz{{{{{{{|{||{z{{z{{{|{{|{{{|{z{y{z{{z{{{{|{|{||z{{zzz||z{|||z{{{z{{{|z||{|||{{z{||z{{{|z{|z|{z{z{zz{{{|{z{{{|z{zzzzz|{||{z{|z{{zz{zyz|{zz{|{|{{{{z{z{z{{{{{z{{z{z{zz{z{|z{{|z{z{{zzz|{{{{{{{{z{{zzz{{{{{{{{z{{{{zzzzz{{|{z|{{zzzzy{zzz{zz{z{zz{zzzzz{|{z{{{|{{z{zz{z{{z{{{{{{{z{{zzz{|{{{|{|{yzzzz|{{{{{||{{{zzz{z{z{z|{{{|{{{{z{z{z{{|z|{|{{z{z{zz{{||{{{|{{{z{{zz{{|{{|{z|zz{z{z{z||||{|{{{{{{{z|{||||{||}{{z{z{z{{|}|{{{z|z{{|zz{{}{{{|}{||{{z||{|{|||{|||z{{{|{{||||||||{{|{{{z{|{||{||{|zz{|{{{|z{{||}|{{{|{{{{{|||||||{{zz{{|z{{{|{|||{{{{{{|{||{z{{{|{{{zzz{z{{{{{z|{|z{z{{|yz{{{{|{{z{{{zzzz{{||{{{|z{{zzzz{{zz{|{{|{zzz{zz{{{{|z{{{{zzyyzzz{z{zz{z{zz{zzzzz{zz{z{{{{zzzyzz{{{|{zz{{z{zzz{zz{{{{z{|{y{z{yzzz{|{{{{|{{yzzzzzyzz{{{z{{zzzzzzzyz{{{{{{{{zzzzzzzz{{{{|{z{{zyzzzzy{z{z{{{{yz{yz|z{{{{z{|{{zzz{zzzz{{z{{{{z{{zzz{{{{|{{{{|zz{zz{zzz{{z|z{zzzzzzz{{||z{{||zz{zzzzzz{||{{{|{{|zz|{z{{{|zz{|{{{{z{z{zz{{|{|{|{{{{{zzz{|{{{|||{zzyyz{y||||{{{|{zz{|{{{||{{|{|{{{|z|{|{||{{{|{|||{{{{|z{|}{z||z{z{z{z{{{{{||||{{z|z{{z{{|{||{|{|zz{{zz{{|{|||||{{{z{zz{{{{{{|||{zz{{{{{z{||z|z{{z|y{{zzz{{z{{z||{zz{|{zz||{{{|{{{zzzzzy{z{{{{|{{{yzz{zz{z{z{{|{zz{z{zzz{{{{zz{|{zzzx{{z{zzzz|{||z{{y{zzz{{z{{z{zz{{zyzz{z{{{{{z{zzzzzzz{z{{{{|zzz{yzzzz{{|{zz{zzz{{yzzzz{{{{{{{{z{zzzzzz{{|{{{{zyz{zzzyz{{z{{{{zzyyzz{yzzz{{{zz{zz{{{yz|{{{{{||{{zy{yzzz{z{z{zz{yzyzzzz{{{z{{|zz{{{zzz{|||z{{{z{zz{{zyzz|{{z{{{{zz{{{{{{|{|{{{{{{zz{{{{{|{{z|{{{zx{{{{zz{{{{{||{{{|z{{z||{{{{|{{{{{z{{y||{{{{{{{z{{{{{{{||{||||z{{z{{{{{{{|{{||{zz{zzzz{||{||||{{{{z{{{|{|||{||{{zz{z{|{|{|{|{|{{z{{z{{||{|{|||{|z{{zzz{|{|{{{{{z{{z{z{{{{{{{{{z{{zzzzzz{{z{{z|zzzz{yzyzz{|{||||zz{{yzz{{{{{{{|}zzz{{{{{{{{{{{{z{z{{zy{{{||z{z{z{zyy{{y{{{|z{z|{{z{zz{{{z{{zz{z{zzzzzz{{{{{{{{zz{{z{zzzzz{zz{{{zzz{zy{{z{{z{{{{{zz{zzzzz{|z{{z{zz{zzzz{zzz{{{{zzzzzzxzz{{z{z{{{{zzzzyz{|{{yz{{zzy{{{{zzz{{{{{|{zz{zzz{zz{{{z{||{{zz{zz{{{{|{z{|yy{zz{zz|{z{{{{{zz{{zzzz{z{{{|{{zzzz{z{z{{|z{{|{{zz{{zz{{{|{{{{|zzz{|{z{{{||{{{|z{{zz||{||{|{|{|{{{{z{{z||{{||{|{z{z{z{{{}{{||||{{z{z{|{|{|{|}{||z{{{|z{{|{{|{|||z{{zzz{|{{{|||||zz{{z{|{|{||z|||{{{|{z{{{{{|{{|{{zzz{z|{|{|||}{{{{z{yzz{|{{|{{{{zzz|zzz{{|{{{{{zz{zzzz{z{{{zzz{{z{zzzz{{{{{{{z{zzzz{zzz{|{z{{|{{zzzzzy{{|{{z|{|y{zzzzzz{{{{{|{|yyzyz{zyz{zzzzz{{{zzzyzz|{{zz{{zz{zyzzzz{z{{zzz{zzyyzyzzzzzzz{{zzz{zy{yz{{{{{zz{z{zz{{zyz{z{z{{{zy{zzzzzz{zz{{{}zzzzzzzyz{z{{|{{{{{zzzyzz{{zzz|{z{zz{z{|{|zz{z{{yyzzzz{z{{zz{|{|{{{zy{yzz{{{{{|{z{z{z{zzz|{zz|{{{zz{z{{z{{{|{{{{{zz{{{zz{{{z{{|z{{zyz{{{{||{{{{z{{{z{z{z{{{{{|{||z{z{{zz{|}{|{{z{{{zz{{z}{{{{|}|{{{{zz{z{z{{||{|{zzz{zz{{}||||||{z{|{zzz{{{{{{{z{{|{{{z|{{{{||{}{{{{z{z{{{{{{|}{{{{z{{z{z{{{{|{{{|{zzzz{{|{{{{{{zzzzzz{{{z{{z|||{z{zzz|y{|{z{{{||{z{{z{z{{|{z{{|{z{zz{zzzz{{z}{{zyzz{zzyy{{zzz|{{zz{zzzz{{{z{{{{zz{z{y{z{z|z{||z{{{zz{zzzzz{zz{z{z{zz{zy{zz|z{{{zzzz{{zzz{{z{{{{{z{zzz{zz{|{{|{z{z{yz{zz|{zz{{z{zzyyzyzzz{zz{z{{zz{z{zzyy|zz{{{{{z{yzz{z{{{{{{{{{zzzzz{z{{{{{{{|zz{{zyyzzz{z{}{|{z{{{{{{zz{{{{|{{|zz{y{zz{{|{{{{{z{{{zz{z{{z{{{{{{yzz{{z{{{{|{{|{{zz{z{{{{{{|{{|z{{z{{|{{|||{|}|{{{{zzzz{||{{z{{|yzz{{{{{{|||{||{z|{z{{z{|||||{|{{z{{{{z{}{{||}||{||z{{z{{{{{||||zzz{{z|{{{{|}|}|{{{{z{{|{{|{||{{{{{{z{{{{{|{|{|{{{zz{|z{|||z{||{z|{zz{{|{||{{|{zz{{{zy{{{{{z||{z{z{{zzz{{|{{z{||z{y{z{{{{{z|||{z{|{z{zz{|{{{{{{{{zzzz{{{z|{|{||zz{z{zz{zz{{{{|{{{zzzyyz{{{zz||{zzzz{zzz{{{{{{z{zzzzzzzzz{{z{{||{y{zzzz{{{|{z{{{{z{{y{zyz{{z{{|{{yzzz{zzzz{{{{{|{{{y{{zzz|{|z|{{{z{{{{zz{{zz{{{{{yzzzyyz|{{{{{||zzzyzz{{{{|z{{||z{{{zzz{{{|{{|z|z{z{yz{{{|{z|{{|zz{z{zzz|z|zz{|{{zy{z{{{{|{{|{{{|zz|{{zzz|{{{}|{zzz{{{{{{{||{{{|{z{|zz{z{{|{{{{{|{|{z{{{|{{{{||{|{|{z{{{{|||||||{z{{{{{{{|{|{{{{|zz|z{{|}{|{{|||{zz{{{{{{|{|||{{{{{{{{{{{{{|{|{|{|{zz{{z{|{|z||{{{{zz{z{{|{{|||{{{{zzz{{{z{{{{z|{{yz{y{zz|{z{{{{{|{{{zz{{{|{{|||{z{zz{{z|{||||{{z{zz{{{z{{{|{z|{{{zzzzzz|y{{{|z|zzzz{zzy{zzzz{{{|zzzy{{zz|zzz{{|z{zyz{yzzzz{{|{{zz{zzzyzzzz{z{||{zz{z{yz{{|{z{{{|zzyy{zz{{z{{{{{zyyzzzzzy{zz{{{z{{{zz{zyz{{{z{{{zyzzzzyzz{zz{{{{{zzz{{zz{{z{{{{{zz{zyz{yz{{{z|{{{{{zzz{{{z{z{{|{z{{zzyzz{||{{{||{{{z{{zy{z|{{{|z{zz{{{{{||{{z{{{{{{{zz{z{{{|{{||{z{{{z|{|{{|{|||{{{{{{{|||||{|{|{|{{{{{z{}{{||{|{z{{{{{{{{{||{|{|{|{{{|{z||||}||{{{z{{|{}{|{|{|{|{z{|{{z{{{}{|{}{{{{{{{{|}{||{{{{{{z{z{zz{{z||{{{{{zzz{{{|{z{{|{{z{zz{{{{{|{{{{{{{{{{z{zz{||{{{{{y|{zz|{|{|{{||z|{{y{zz{{{{{{|{{{{zzzzyz{{{{zz{|{{zzz{zz{{{zz{{|z{zz{{{yz|{{{{|{zzzzzzzy{z{{{z{{zzyz{zzz{|{z{{{{z{zzzzzzz{z{z{||zzzzzzz{{{{{{|{{{zzzzzzz{zzz{|{{{zzzzy{zzzz{z{{{{{zyyzzzzzzzzz{|{zzzzzzz{zz{{{|{{{zzzy{{{zz{{{{|zzzzzyz{{{{{|{{|zzyzz{{{{|zzz{{z{||z{zzz{{{{{{}||y{z{{yz{{zz{{|{{{z{zzz{{|{{|||{{z{z{{z{||{{{{{|z{{{zz|z{{{||||{{z{{{{{{{}||{{|{|z|z{z{{{{{z{||{z||{{{{|z{|{{||{||||{{{z{}{||{{}|{{{z{{{{}{|{|{|{z{|z{{|z||||{||{{{{|zz{||{{{|||{{{{{{{{{|||{{{|{|{z{{{{{{{{{|{|{{{{{zzz{{{{|{{|{{{{zz{{y{|z{|{{{{|{z{z{{{{z{|||{z{zz{{{{{{{{{{z{|{yzy{zz{{z{{{||z{zz{{y{z{{{{{|{zzzzzzz{{zzzz{{{{z{zzz{z{{zz{{{y{zyz{zzz{z{z|{{{zzzzyzz{{{z{{{{zz{zzzz{{|z|{|{{zz{zy{{zzz{|{{|{zy{z{{{zz{z{z{{{{yz{zzzzz{z{{|{|zzz{{{z{{{{{{{|{|{{zz{{zz{{zz|{|yzzzz{y{{{{|z{{{zzzzzz{{{{|{{|{{z{{{{{zyz{{{{|||{z{{zz{{{|{{z{{{z{{{z{zz{z{{{|{{zzz{{{{z{|{{{|{|{z{{{{{{{|{}||||{{zz{{{{||||{||||{{{{{{z|}|||||{{{|{z{z|{{{{{||{||{z{{{|||||}{{|}{{{z{{{||||{{}||{{{{z{{{|{{{||{{{z{|zz{{|{}{{{{|{{{{{z{|{{z{||{{{{zz{{z|{{|{{|||{{{{{zz{{|{|{z{{z{{zz{z{|{{{|||{{|{zzzz{{{z{{||{{{{zzz{{{zzz|{|{zyzzzzzz{|{{{{z{zzzzz{z{{z|{{{{{{zzzz{zz{z{|{{zzzz{zzyz{{|{z{zzz{{yzz{{{{z|{{z{y{zzzyzz{z{z{|{z{zyzzzz{z{{z{zzz{zzzzzz{z{{z{z{zzzzz{y{{z{{zz{{|{yzzy{zzz{z{{{{z{zzzz{{{{{z{{{y|z{zzz{z{{{{z{{{|zzzyzzz{||{z{{z{yzzzzzz{|{z{{{{{{{|{{z{z|{|{{{{{{z{{{{{z{{|{{{||{zz{{{z{{{{|{|{{{{zz{{{{{{}{{{|}{{{z{{{{{|{|{||||{zz|zy{{|{||z|||zz{{z{{{|{{||}|{{|z{z|z||{{||{||z|z{{{{{}{{|{|{{z|{{{{{{|||||||{zzz{{{{{{{|{{|}|zzz{zz{{{{|{||{{z{{zz{{{{||{{{|{{{z{y{z{|{{{|||zzz{{{{z|{{{{{{{z{{{zzzz{{|{{{{|{z{z{{zz{{|{{|{{{zyyyzzz{{{{||{z{z{z{zy{|||zzz{{|zzzzzzy||{{{{{{{z{{z{yz{zz|{{{{zz{y{{y{z{z{z{{{zzzzzyyzzzyz{{z{zyzzzzzzzz{{|{|z{yzzyzz{z{{z{{z{z{zzyzzz{{{|{z{|{z{zzzzzzzzz{{{{zzzzzzz{z{{{{{z{zzz{{{zyz{{z{{{||zzzzy{y{zzzz{{{z{z{zy{zzzzzz{||zz{zzyzz{{{{{z{{zzzz{y{z{z{z{|{z{z{y{z{z{|{{{z||{{z{zzzz{|z{{{|{z{zy{{{{|{{||{}|z{}y{z|z{z|{|{|{y{z{z{zzz{|||||{{z{{y{{{{|{{||||||{zzzzz{{{||||||z{{{{{{||z||{|{|{{{{{|{||}|{{{{|{{{{zz{{{{{{{||{{z{{{{{{{{|||||{z{{z{zz{z|{{{|||{{zzz{z{{{|{{|||{zzy{zyz|{{{|{{zzzzyzzz{{{{{{||{{z{zzzz{{||{{{|{{zzzyzz{z{zz{{{zz{z{zz{z{|{z{{z{{yzzyzz{{|{{z{{{y{zzzzz{||zz{{z|z{z{z{zzz{{z|z{zz{zyyyz{{z{{{{z{{zz{zz{{{{{{{{{y{y{y{zyy{z{{zz{{zzzzzzy{z{{{{{{zzzzzzzyzz{z{{zzz{zzzz{zzzzzzz{zz{z{zzzzz{zz{{{{zyzz{yzzz{{zz{|zzzz{zzzz{zz|z{z{zz{{zzy{{z{{zz{{{yz{{zzzz{{|{{{{|zzzzzz{{{{{{{|{{{{z{{{{{{||z|{{z{{z{z{{z{||{{|{zz{z{{{{{{{|{{|{{{z{|{z{{{{{|{z{z{{zz{z{{|{{|{{{{z{z{z|{{{|||||}|{zz{{|z{|||||||}{|{|{{{{|{||{||{{{{{z{z|{z|{{||{{{|{{z{|z{{{{|{{{{yz{{{|{|z{{||zzz{zz{yz{{z{{{{zzzz{zzz{{{{{{||{{{zzzzz{z|{{z|{{{z{zy{zz{{{||{|{{yzzz{z{{{{{{||z{{{zzzz{{{{{z{z{{zzyzzzz{{z{{{{z{{z{yzzzzz{z{{zzz{z{zzz{{z{z{{z{zzzzzy{{z{{z{z{zzzy{yyzzz{zy{{{zzzyyzyzz{z{{||{{z{zzzyzzz{{{z|{zz{zzzzyzy{zzzz{z{z{zzzzz{zz{|{zzzzyz{yzzz{z{z{{{zz{{zzzz{{z{|{|zz{y{zzz{{{{{zz{{zzzzxz{{{{{z{{|zz{z{zzzz{{z{{zzz{zz{zzz{{|zzz|{{{z{zz{{{z{{{{z|z{z{z{{{{|{{|{{{{{{z{yzz{{{{{|{|{z{{{{zz{{{|z||{{z{zzzzz||{{{{||{z{z{{|{{|{|{{|{{z{{z{z{|{||{||{|z{|{{{{{{{|{{{{{zzz{z{{z{{||{}{{{zz{z{z|{{|{|{{{{{{{{{{{z{{{{||{{zzzy{zz{{{|||z{z{zzz{zz{z{||{{yzzzzz{z{z|{{{||z{{zzzzz{zz|{|{{|{yzzzz{|{{z||{||{{zzzz{|{{zz{|zz{{yzzzy{{{z{{{{zzzyzzzzz{{{zzz{{{{zzzzyzz{{{z{zz{{zz{zz{zz{z{{{yzzzyyzz{{{{{{z{zz{{yyyz{z{{{{||zzzzyyzz{{{{{z{{z{zzzzzyz{{zzz{{z{{{{z{zz{z{|{z{{{{zz{zyz{{{{{{zzyzz{z{{{{z|{{|{{z{{{z|zz{{|{{{{z{{yzzzz{z{z{{z{z{zz{z{z{|{|{{{{{zzzzzzz{z{{{z|{{zzz{z{|z{|{{|{{{{zzz{z{{{{|{{{|z{{{{z{{|{z|{|||{{{zzzzz{||{{||||zz{{{{z{|}{{|{}|zzz{{|{{{{{||{{{{{|{{{{||{}|||{{{{{{{{z|{||{|||{{zz{zz{{{z{{{||{{{{{{z||z{{{{||zz{zzzzz{}{{{{||{z{{{{z{{{{|{|{{{{zy{zzzzz|{|{z{{{|z{{{{|{{{y{}{{z{zz{zz|{{||{{|{{{z{z{{{|{{{{||{{{{zyz{{{{{zzz{{{{{zz{{|z|{{{z|{z{zz{z{{z{{z{{|{{zz{y{{z{{zz{{|{{z{{{z|zz{{z|{{zzzyzy{z{{{z{{{{{zy{{zy{zz|z{{{z|z{zy{{zzz{|z{|{{zzzzzzy{{z{z{{{|z{zzzzyz{|zz|{{zz{zz{zz{{{{z{{{{zzxzzzz{|||{z{|zzzzz{{{|{|{{|{{{z{{zzzz|{{{{z|{{{zz{{zzz||z|{|{{z{zz{zy{{|{{{}{z{z{{{{{{|z{z|{{|zz{{z{{{{}|||||z{{|{{|{||{}{{}}zzz{{zz{{|{{|{||{{|{{zz{{|}{{{|}{{{{{{{z{{|{|{||}{z|{zz{{|||{||}|{|{{z{{|{{|}|{{|{{{zzz||z{{|{{|{{{{{{{||{||z|||{z{z{{{{{{z{||||{{{{zzz{{{{{{|{{z{zzz{{z{{{{{{z||z{z{{{{z{{{{{|{{z{{zzz{z{||{{|||zzz{zzz{{|{{{|{{zzzz{{{|z{{z{{{{{{zz{zz{|{zz{||{zzzzzz{zz{{||{{{z{z{{z{|{{{z{z{z{z{z{zzz{{{|{|{{zzzzzzzz||{{{z{yzyzzzzy{z{{{|}{z{zz{zzzz{z{{|{{zzzzzz{yzz{z{|z{z{zz{z|zzzz{z{{{{zzyzz{z{z{zz{{z|{zyzzzzz{z{{{||zz{|zz{z{{z{{{|{{z{{{z{{{{{|z{zz{{zz{z{z{|||{{{|{{{{zz{z{|{z{{|z{||{{{z{{{{z{|{{z{{z{{z{{{}{{|{{{{|z{{{z|{{{|||||zz{{zzz{||||{{z|{{z|{{z||{z|}|{{{{|{|{{{|{||||{|{z|z||{{}||{|}{|{{|{z{|{|{{{{||{z{z|{{|{{{}|{||{{{{{{{{||||||{|{{{yz{{{{{{|{{{||{{z{{{zz{{|{{{{{zz{z{{{{{|||{}z{{{{{{zz{{{{|{|{{{z{{z{{{{{{{{|{{{{z{{{z{z{{|{{z|z{{zzz{{{{zz{|||{{{z{{z{{|{z|{|{z{{{zzzzz{z{|{z{zzz{zzz{z{{{{{zz{z{{{zzzzz{{{{{yzy{zz{z{z|{{{{z{{yyz{zzz{{z{{{{{{|{{zyzz{z{|{{|{z{zzy{yzz{zz{{zz{z{zzzzz|z{z{{{|zz{zy{z{|{zzz{{{{z{{xzy{{{{{z|{{{{yzzzzzz{{z{|{zz|{{z{{{{{{{|||{z{zzzzz{{{{{}{{z{z{{{zz{||{{{{{{{{{{z{z{{{{{{}|{{||{z{{{||||||{{{{{{{|{{||{||{}{{{z{zzz|{{{|||{|{zz{z|{{||{|{||{{{{{{{{{{{z||{||{{z|{|z{{|{|||}|{{|{{{||{}|{|||{z{{{z{{{|{{||||{|{{{z{{|{{|||{|z{{{{z{{{{{|{{|{{zy{{||zz{{|{{}{{z{z{{z{{{{{z|{{z{zzzz{z{|{{|z{{{zz{{zzzz{{{{{|{zzzzz{{{z{||{{|{{z{z{zzzy{{z{{{{zz{yyzzz{{{|{{{{zzzzzzzzz{zz{{|z{zzzzzzz{{{{z|{z{z{zz{zz{{{|z|z{zz{yzzzzx{{z{{{zy{{{zzyz{{{y{|{z{z{{zzzz{{z{|{{{zzzzzyyyz|zz{{z|{z{z{z{yz{zz{{{|{z{{{z{zz{{{{{{{{zzzzzzzz|{{z{{|{zz{zzzz{{{{{z{{zz{zzzzzz{{|{{{|z{{{zzzzyz|{{{{zzzzz{{zzz{{z{{{{zzz{zz{{{|{{|{{{|zz{z{{{z|{{{||{{{z{z{|{|{z||{||{{{{{zzzz{|||}{|{z{y{{{{|{{{|||{{{|{{{{{{}{{{{|{|z{|{|{z{|{|{|||{{z{|{{{{|}{|}{{|{z{{{{{{||{{}{|{z{{{{{{z||{||{{{{{z|{{{{{{{{|{{z{zzz{{z{|{|{z{{{{{z{{{{|z{{{{|{{{z{zz{z{{{z{{|{{{z{{zz{z{{{z{{}{zzz{y{z{z{z{|{{{z{zzzzyz{{{{{|z{|{{zyzz{{z{{{z|{zzzzzz{{|{zzz{zz{zz{zzyz{{{{{{zzzzzz{zz{{{{{{{zzzyzyzzz{|{{zz{zzzyzzzy{z{{{|z{{{zzz{zzyy{|zy{{{{zzzzyzzy{{z{|{{z|{yyzzzz{{{z{{{z{z{yzz{z{{{{{{{{zzyz{{z{{{{{z{{z{zz{{{z{{{{zz||zz{z{zzz{{{{{{|{z{{z{y{y{||{z{|{{z{{{{zz{zz{z||{{zz{z{z{|{{{z{{{z{zz{zzzz{{|||zzz|{{z{{zz{{{{|||{z{{zzyz{{{|{|}{{{{{zz|{{{||{{|{z{{{{{|{{{{{|{|||{{{{{|{{||{||{||z|{{{{{{{|{|||{|{z{{z{{z{{{|{|}|{{{|{{{{|{|{|{|{{{zz{{zz{{|{{{{{{zzzz{{{}z|{{{{z{{{{|z{{{{z||{{{{{y{zzz{{{{{{{|z{z{{yzz|{{}{|{|zzzzz{{y|{{z{{{}zzzzzzzz{{{{{{{}{{zyyzy{z{z{{{{|{{{z{zzzz{{zz{{{{zzzzyzyz{{zz{{zz{zzzzzzz{{zz{{{yzzz{zyyz{{{{{|{zzzyyz{z{{{z{{{{zzz{zzzz{{zz{{{{zz{{yy{zyz{{z{{{{zzyzzzzy{{z{{{{{zzzz{yyzz{{{{{|{z{zzz{zzz{{{{{|{zzzzzz{|{{{{{||{z{zzzzz|{{{{z}{{{z|zzz{{|{{z|{{{zzzz{zz|z|{{z{{z{{{z{z{{z{{{{{{{{z{z{{zzy{|{{{|{z{{{z|z|{z|||||{{{{zzzz{||{|||{z{|{{{{{||}{{{||{z{{zz{{|{{|||{|{{{{{{|z{{{{|{{||{{{{z{{{{{||{|{|z{z{{zz{|{|||||z{z{{{z{{|{{||||{{|z{zzz{|{|{|||{{{{{z{{||{|{{{zz{{{zzz|{{|{{{{|{{z|{z|{z{}{{{{{|z{z{zzz|{{{{|{|{{{zzz{z{{{{{|{|{zy{z{z{z{{|z{{{{{zzzz{z{|{{{z{{{{{{zzzzz{{z{{||z{{zyzzzzz{{{{zzzzzzz{yzzzz{{z{{yz{zzzz{{{{zz{{|{z{y{{zz{zz{{{|{zzzzzzyzz{{{{{{{zz{{zzzyz{{z|{{zyy{zzzzzz{{{z|{{yzz{zyzy|z{||{{{y{{{yz{{{{{||{{{{zzzzz{zz{{{{{{|{zyz{{{{z{z{||{{{{{z{z{z{|z{{|{z{{zzzz{z{{{{{{|{{{y{zzzz{{{{|||{{{{z{{{{{||{|{{|{{{{{{{z{{{{{{{|{{{z{zzz{{{{{|{{|y{{|{|{||{|{{||{{{zz|{{{}{{||{||||z|{{{{||||||{{z{|z|{{{{|{{||{{|z|{z{z|{{{{|||{{z|z{{z|{||}||{{{{{{{{{{|{||{|{|zz{zzz{{|{{{|{|{{{z{z{{|{|{|{{{{{z{zy{y{|||{z{{|z{z{zy{{z{{{z|{|zzz{zzz{y{z{{{{z{z{{zz{|z{|{{z|{z{zyzzy{z{z{{{|y{zz{z|yz{{{{{{{zzzz{{zz{z|zz|zzzzyzy{z{{z|{z{{zzzzz{zzyzz{{zz{zzzzzzyzzzz{|{{{|{{zzyzzyz{{{z|z|z{{zzzzzzz{y{{z|zzzzyzzzy{z{|{{zz{yzz{zy{{|{{{{{{zzy{zzz{{{{z{{|zz{{zyzz{{{z|z{|{|zzzz{{{{{{{{z{zy{{{zz{z{{{{z{{{{{{{zzz{{|{z{{{zzz{z{{z{{|{{|z||{{{{{zz|z||{{||z{{z{z{{{{z{{{{||{{{{zz{{{||||{|zzz{{{y{||{|{{{{{{{z{{{{{|||||{|{zz{{{z{{}|{{||}{{{{z{{{|{|||}{{}{{{{{{{||||{{||{{{{{zz{{{z{{|||{{|z{z{z{{{|{|{{{z{zz|zzz|{{|{|{zz{{{z|zz{|{z{|{{zyz{zzzz{{z{{{{|{zz{zy{{z{{{{{zzzz{zzzz|{zz{{|{|{|zzzzz{|z{zz{{{{{{zz{{{|{|{|{|zzzzzz{zy{z|{{{{zz{zz{zz{|{z{z|{zzzzz{yz{{{zz{z{zzzy{y{zz|{|{{zzz{zz{zyzy{{z{{zzzzzyyzzzzzz{z{{{zzzzzyzzz{{z{|{{zy{yzzzzz{{zz{{{zz{yzzzzzzzz{{{{zzzzzzyz{z{{{{||zzz{zz{{z{{z{{{{{{{zzzz{zz|{|{{{z{|z{yzz{|{|{|{|zz{zz{zz{{|{{{|{{zz{zz{z{{{{{||{{z{zz{z{{{{{{{{z{{z{z{{{{{{|{|||z{{{{{z{z{|{{{|{{zzz{z{{{|||{|||{{{{{{z|{{{{{|||{{zz{{z{{{|{|{|{|z|{z{{z{{{||||{|{{z{{z||{||{|||{zz{{|zz||{{|{{|{{zzz{{{|{|||{{|{{z{{zz{{{{|{{{{zz{z{z{{{|{{{{{|{{{{{z{{{z|{{z{{{zzzzzyz{{{|{{z{{{zzz{yz|z|{{{{|{zzzzz{zz{||{z{z{{{z|z{zz{{{{{{{zz{zzz{zzzzz{z{zzz{z{{zzzz{{{|{{{{zzzzzzzz{{{{{{zzzzzzzzzzz{{{{{zyz{z{zz{z{{{|{{{zz{{yyz{zzz{{{{zzyzzyzz{{{zyz{yzyzzyzzyz{zz{{{zyyy{{{zzzz{{z{{zz{zzzzzz{{{{|z{|zzzzz{{y{|{{{{{|{{{zz{{zz{{{|{{{z{z{{zzz{{|{z{{|zz{{zzyzz{|{z|{{{{{{{zzz{{{z{{{|{{{{{{{z{{{||{{|zz{{zz{{{|{||{|}{zz{zzz{{{|{|{|{|z{z{{z{{||{||||{{{{|{{z{{{|{|{{{z{{zz{|{|||{|||{z{{z{zz{{{z{{{|{z{zz{z{|{{{||{{|{z{|{{{{{{|{|}{zzzz{{{zz||{{|}{{{z{z{zz{}|{{|{zz|zy{zz{z{{{z{z{{{yz{{zz{{{{{{||z|{zzzzz|{{||{|{z{{z{zzz{zz{|{{{{{zzz{y{{{{z{{z{zz{z{zzz{{{{||{{{{zyzzz{z{|z{{{{{z{zzzzzz{{z{{z{{{{yzzzz{{z|z{{|{zzz{z{z{{{z{{{zz{z{yzzz{{{{|{{{zzzzzzzyz|{{{||{{z{{zyyzz{{{{{zzzzzz{z{zz{z{z{{{{zzzyz{zz|z{{{z{zzz{zz{{z{{{{|{{z{{zzzz{{{|z{{{|z|{zzz{z{{{{{{{|{z{z{z{z{|{{{{{{z{{z{{{{|{|{|{{z{z|zzyzz{{{{{{{{z{{zz{{z|{|{|{||z{zz{||{{}z{{||{{zz{zz{z{{|{{|{{{{{{|z{z}}{||||{{{{z{z{|z|{{{||||{{zz{{|z||}{|}}}{|{z{z{{|{{|||{|{zzzz{{{{|{|||{||zz{{{|{{|z{{}|{{zz{zzz{|{||{{{{|{z{zzzz|{{|{|{{z{{zzz{{{{{{{z{{{z{z{zz{|{{{|{|{{z{zzzzz{{|{{|{{zzz{zzz{zz|{{{{{{z{{zzz{{{{z|{|{{z{zzz{|{{{{|{{{z{zyz{{z{zz{{|{{zzzy{yz{{zzz{{{{zyzz{yzz{z{{{z{z{{zzz{z{{z{z|{{{zzzyzz{{z|{{{{|zzzzyyzyzz{zy{|{{z{z{zzzz{{{{{{{z{zzzxzz{z{zz{zzzz{{{zzz{z{zz{z{{yzzyzz{{|{{z{|{{{{{{zy{{{{{{{||z{z{zy{z|{{{z|{|z{{{z{z{|{z{z{{|{z{{z{{z||{{z{|zz{{{{{zzz|{z{{|{zz{z{z|z{{{{{{{{{z{z{{z{{|{{{z|{{|{{z{zzz{{{|||||z{{{{{{|}{|||{|{||{{{{|{{{{||}|{{{z{|{{{{{||{{{{z{zz{{|||{|{|{{{{{{z{{zz{{|{|||{{zz|{{{{|{{||}|z{{{zz{zz{{{{{|{{zzz{zzz||{{{|{zzz{{z{z{|{{z{|{zzzzzzz{z{|{{{{{|{z{yzzz{{{{zz{z{zzz{z{zz{z{zz|{z{{{{{zzz{{{|z{{{{z{zz{{zzzz{{z||z{zzzzy{zzzzz{{{{z{{zz{zz|{{z{{z|{zzyz{z{zz{z{{{{yzyzzyy{z{z{{{z{zyzyzzz{z{z{{{{{zzzyzzz{{{|{{{{{yyzzzzzzzzz{zzzzzzyzzzyz{zz{{{{zzzzzzyz{zz|{zz{z{zzy{z{z{{{z|{{zz{zy{{{zz{{|{{zyzzz{zzz{{{z{{{{{z{|zyz{zz||{{|{zz{z{{z{z{{{|{|z{z|{z{zzz{{{{|{{|zyzz{{z|{{||||{{{{z{{{zz{||{{||zz{z{{zzz||z|}|{{zz{{{zz{||{{{|||{{{{{{{z{||{|||{|{{{{{{z|{|{|||}{{z{{z{{{{{{{|||{{z{{z{||{{|{||z{{z{{z|z{{{{|||{z|z{z{z{{|||||{zzz{{{zz{|{||{{z{z{z{z{{{{|{|{{}zz|zzzzzz{z{{{{zz{zy{{{z{{z{{{|{{{{zzzzz{{{{|{|{zzz{zzzy{{{{zz|{z{{zz{zz|{{{{z{|zzz{zzzzz{{{{{{{z{zzzzzz|{|{z{{{{zzzzzzz{zz{{{||zzzzzyzyz{{z{{{{{zzzzzzzz{{z{{yzz{{{{zzy|z{{{{|{zzzzz{zyz{z{{{zzz{zz{y{{z{zzz{{{zz{zzzzz{z{{{|{|z{zzzzy|z{{{{{{{{zzzzzz|{z{{{{{|{|{z{{zz{{{{{{{z{z{{{{zzz{|{|{zz{z|zz{z{{{{{{|}{{zzz{z{{{||{|{|zz{|{{{{{|||{{|{|{|{{{|{{{{||{{|}z{{z{z{|}|{|{{|{{{z{{z{{||{{{|||{{|{{{|z{{|||||||z{{{|{{{|||{{|{{z|{zz{{||{||{|{{z{{|{{z{{|{|{|||z{{|{z||z{}}{||{z{{{{yz{|{z{{||{{zzzzzz{|{|{{}{z{{z{z{z{{||{{{|z{zzzzz{{z|{{{||zz{{zzy{z{{{|z{{z{z{zzzz{{{{{{|{z{z{{zzz{{{{{z{{{zz{{z{yzzz|zz{|zzzzzzzyz{z{{z{{{{{zyzzzz{{z{{z{z{{zzzy{{zzz{|{|zzzyzyzzzz{{{z{{zzzzzzyzz{{{{||{{{zzxz{{{{{{{z{|zzzzzzzzzz{z{{{{zzzzz{{y{zz{{|{zzzzzzz{z{zz|{{{}{zzzzzyz{z{zz{z{z{zzzzy{{zzz{|{{zz{yyzyzz{{z{z|||z{z{y{zz{{{{|z{yzzzzzzzz{z|{|||{{{{zzz|z{{{z{|{zzzzz{{z{{||||}|{z|{{{zz|{{|z{||zzzz{{{z{|||{{{{|z{|{{{{|}|{{|{{{|z{{{{{||{|||}||z{{{{{{{{{|{{|{||{{{z{{|{{||z|z{yz{y{{{{z{||{||{{{zzzz{{|||{{{|{{{y{zzz{{{|||{{{|{zyz{y{{{|z{{{{{{zzzzzz{{{{{{{{{z{zzzzzz{{|{|{z{{|zzzy{z{{{{{|z{zy{y{z{zz{{z{{{{z{z{zz{{|{{{z{z{{yyz{z{{{|{{z{{zz{zzzzzz{{z{z{zzzzzy{z{{{zy{z{{yzzzzzzzzzzz{{zzzzz{{zyyz{zyy{yzzzzy{yyzy{z{{{zz{zzzzyzz{{{z{||zzzyyzyzzz{{z{{{zzzzzzzyz{zz{{{z{y{{z{yy{zzz{{{{yyzy{zy{z{{zz{{{yzz{zy{yzz{z{z{{zzzyyy{z{{|zz{|{zzz{{yzz|{z{{{z{{zzz{yz{y{|{z{{zz{zzz{z{{{|{{{{z{{z{zz{zz{{{{|{|z{{{{z{z{{{{{||{z{{|zzz{{{{{{|{|{|{{{zzz{{|{{|{|zz{{z{{{{||||{|{z{{{{{z{z|{|{|{|{{{{{z{z{|{{{||z{{|{{{{z{|{|{{||{{z{|{z{{{{{{{|||{zzz{{{z{zz{{|{{zz{{yzz{||{z{|{{z{zyzx{{{{{z{z{z{{z{z{y{{{{{{{{{{zzyz{{|z{{{{{|{zzzzzz{{zy|{{{{zzz{zzzzz{{|z{{|{z{{{z{z{z{|z{{|{{z{{zzz{{{{z|z{|zzz{{zz{{{{|{{z{{z{zzyz{z{{{{z{{{zzzzzzzz{{{z|{z{zzz{zzz{{z{||{zz{zyzzzzz|{{z{|{{z{zzzz{z{zz{{{zzzz{zzy{{y{z|||zy{|{zzzz{{z{{{|{{zz{zzzy{z{{{{z{zz{zy{{{z{{z{z{zz{{yyz{{z|{{{z{{z{zzzz{z{z{{}{{{yzzz{zzz{{|{{|{{{zzzz{|{{|{z|{{z{zz{z{z||{|||{{{{{zz{{{|{z||||}{z{z{zzz{{|{|{|{{z{{{z|{{|{{{{{|z{{z{{z{z||{|||{|{{{{{|{||{{{{|||{{|z{z{{{||||{|{{{{{{{zz|{{|||||{{{{{{{{{{}{{{|{{{y|z{{{|{{{{{||z{{y{{{{||}z{{{{z{{z{yz{{{{|{z{{zzzzz{zz{z{{zz{zz{z{zyz{z{z{||{{{z{y{{{y{{z{{{|zzzzzzzzz{{|z{{|zz{zyy{zzz{{{{{{yzzzz{{yzzzz{{{{zyzzyzy{{z{{zzy{{zyyzyyz{zzz{{{{zzzzzyzyz{zz{{{zzzyzzyzyz{z{{{z{zz{yzxzzzzz{z{{zzyzzzyzyzzzyzz{{zzzzzzyzzzzzz{{{{y{{zy{zz{{|z{{z{zzzyzyzz{zz{{{|{z{zyzzz{{{{{{{{zzzyz{z{zz{z{|||zzzzzz{zz{{z{{{z{{zyzzyzz{{|{{{{|{zzzyz{{{{{|{{{zz{{{zz{{z{{{|{{{{z{zz|{{|zz{||{{zzzzyzz{{|{||{{{z{y{{{z{|{{{{|{{zzzz{{{{{{{{|||{z{{z{z{{|{{|{|||z{{zzz{|{||zz{{|{{z{zzz{||{z|z|z{{z{{zzz|{{{|{{{{{zz{{{{{z{{{{{{{{zz{{{{{{zzz{{{z{zzzzy{z{z{{z{z{zzz{{yz{zz{z{|z{zz{zzyzz{z{{{{{zzz{z{z{z{z{|{{zz{yzz{{yz{{{{{|zy{yyzzy{z{{{{}{z{{zyz{zz{z|zz|zzzzzzyyzzz|zz{{zzz{zzzzzzzz{{{{{zzzyzzyz{{{zz{{zzzzzyzyzzz{z{{{{zzzzyzzzz{{zz{z{{{zyyzzyzz{zzz{zzyyyzyyyzzzzzz{{zzzzz{yy{z{{{z|{zzzzyyzz{{z|{{{|zyz{zy{z{{zyz{{{{{zzzz{zz{{{{{{{{zz{{zzzz|{{{{{z{zzy{zz{z{|z{{{z{z{yzz{z||z{{{z{{{{{{{{z{{{{|{{z{zzz|z{{{z||{|{{{zz{{y{z|{|{|||||zz{{z{{{|{{{{||{{{{{{{zz{{|{{{||z{{{|z{|{|{{{|||z{{{{y{{|{|z||{|zz{{z{{{{{{{||{{{{z{z{{{|{{{{{{{z{{zz{z{{{|{{{{{{{z{z{yz{{{|{|{z{zzzzzz{|z{||{|{z{z{z{zz{{{{{{{{{z{zy{{{{{z{{{{{{zz{{z{{zz{{{|{z{{{z{{{z|{{zz{{{{z{zzzyz{|{{{{z{{{zzzzz{|{zy{z{z{y{z{{z{{{zz{zzzzz{zz{{{z{zz|{{zzz{{zzzy{z{{{|{yzy{yzzzz{{z{|{zzzz{zy{zz{{zz{z{zzzzzzzzz|zzz{z{z{yz{zyz{zz{{{{{{zzzzzzz{z|zz{|{zz{yzzz{zzy{|{{{{z{{zz{z}y{{z{{{zzzzy{zz{{{{z{{{zzzz{zzzz{|{{{zz{{zz{zz{{||{{{|{{{z{zzy{{{|{{{z{{{zz{{zz|{{{|{||z{{{{{{{{|{|{|}{|{{{zz{{|{||{||{|zzzzzzz{|||z{||{{{{{{|{z{|||}{||z{zz{z{|{||}|||{{{{z|{{|{|||{|{|{{{z{{{{{||{{|{|z{z{z{z{{|||{}|{{{zz{z{z|{{z|{|{{zzz{zz{{z{{||{zz{z{z{z||}{z|{{{{z{z{zz{{{{z{{{{{{zzzz{{{|{{{||{{{zzzzzz{{{{{{|{z|zzyzz{{{|zz{|{|{zzzzy{{{|{{{{zzzz{{zzz{{z{{{{{{zyzzzz{{|{{|zz{zz{zzzyz{{{z{{{z{zzzy{zz{zz{{{zz{zzyzzz{{{z|{{{{z{{zzyzzzz|z{{{zzzzzzzzzz{y{{{z{zzzzzzyz{{{z{||z{{z|zzyz{{|{{{{zzzzzzzz{{{zy{z|{zzzz{yz{{z{z|{|yz{{zzz{|{zz{{|z{{{{zy{{z||{{{|{{zzzz{zz{{|{z|{{{{zzz{{z{{z{z|{{z{zz{{y|{{{|{|||z{{{{{z{|{{||||||z{{zzyz||}|||||{{{z{{{z|{}{||{|{zz{{{|{{{{{|||{{zz|{{{|{|{{||||{{{{{z{z{|{|{|}|{{z||{{|{{|{{|{{{{{{{{{{{{{|{{||{{|{zz{zz{{{|{||z{zz{{{{{|{|z{{{{{{z{zzzz{{{{{|zyzzy{{{zz{{z{{z{{{zzz{{yz{|{{{{}{zzz{zzzz{{{||{{{{zzzz{y{{{{z{{{{{yzzzzz{{{{z{{|{zz{y{zyz{zz{{{{z{{zzzzzz{{z{{zzz{z{z{zz{zz{{{{|zzzzzzyyzz{{{z|z{zzyzzzz{{{{z|y{{zzzz{z{zzzzzy{{zzzzzzzy{zyzz{zzzzzz{zzzz{{{{{{{yyyyzzzzzzzzz{{zzzzy|z{{{zzz{{{|zzyzzyzz{z{z{{{|zzzz{zyz{{{{{{{{zy{zzzzz{}{{{|{zz{{zzz{z{{|z{{{{{{z{{zzz{|{{{|z|{{zzzzz{{z{|{|{}{z{y{|zz|{{|||{|{z{{zz{z{||{|{{z|z{{{{{z{{{{|||{|z|{{z{{{{|{||{|{{{{{{{{z|||||{{z{{|z{z{{|{|{{{{{z|{{zzzz{{{{{||{z{{zz{|{{{{{{|{{z{zz{{{z{z{{|{{{{z{{z{zz{z{{{{{{{yy{{z{z{{{{{{|zyzzyzzzz{|{z{{|{yzz{zzzzz{{{|{{{{{zz{zz{{{z}|{{|z{zz{zz{z{{z{{z{{zzzyzz{{z{z{{||{{zzzzzz|zz{{{{{|{{zyy{{z{{|{{z{zzyzzzzzzz{z{{{{{y{{y{y{{{z{z{zzzz{z{yz{{{zz{{zz{zzyzzyz{z{{zz{|{zz{yzzz{{{{|{|zyzzzzyzz|{zz{{{zzzyz{{z{{z{{{}{{zzzzzzz{{{{zzz|zz{zzyzy{z{z{{{{zz{z{zzz{z{z{z|{zzz{{yzz{{{{|||{{z{zz{zz|{{{{||{{{{{|{{|{||z{|{z{{zz{zz{{{|||{||{zzz{zz{||z||{{|{zz{{{{{{||{{{|{|yz{{z{{||{|||{{{{{z{{{{{}{{{|{|||{{z{z{{|{||{|}|{z|{{z{{|{{{||z{z{{{z{{||{{||{{{{z{{{{{z{{|{|||z{{z{{|{{|{{|}||{{{{zzz{{{|{{{{{zz{{z{z{|{{{||{|z{zz{zzzz{{{{||{zyzyyzz{|z{z{{{{{{zz{zz{{{z|z{|z{z{yzz{{{zzzz{{{{|{yz{zz{{{z{{{{z{|{z{zy{{{{{{{{{z{zzzzz{{{z{{zz{zyzz{zzzzz{{z{|yz{zyzyz{z{{z{{{{zyyzzzzzzzz{{{{{{zyz{z{z{{yzzz{zzz{zyzz{{zzz{z{{yzyyzzyz{z{{{{|zzzy{{yzzz{{{z||zy{z{zyz{{{{{z{{zzz{zyzy{{{{|{zz{{zzzzy{z{{z{{{{{|zzzyz{||{{{{|{{z{zzzz{{|{|{{|z|z{{|{{{{{|{{|{||{zz{z|z{{|{||{}zzzzzz{z{|||{}|{|{{{zzz{{||||{|||z{z{z{z{{{||{{|{z{z{{zz{{z{{{{{|{{{z{{{{|||{|||{{{z{{zz|{{{|{|{|z{{{{|{|{|||z|{{{{{{|{||z{{||||{{zz{{{zz|{{{{{|{{z{zz{{{{||{||z|z{zzzzz{{{|{{{{zzzzzzyzz|{{{{z|zyzyzz{z|z{z{{{{{{zzz{zz{{{{{{{{{zzy{zy{z{{{z{|{{z{zyzzxzz{z{{z{z{zzzzzzz{{{{z{{{zzzyz{zzz{{{||zzy{zyzzzzz{{{{{{zyzzzzzzz{z{{zzz{zzzzzzyzz{{zz{z{z{z{zzyzz{z{zy{z{zzzyyyy{{yzz{z{{z{z{zzz{zz{{z{zyzzzyzz{{zz{z{{{yzz{{{zz{|{{|z{z{{{zzzzz{{{z{z{{zzzzzzzzz{{|{{||z{zzzzy{|z}|{||{zzyzz{{|z{z{||{{zz{zz{z{||z{{{{{{{{z{{zzz|{z{||{{zzzzz|{{{|{}{|{z{{|zz{{{{{z||{zzz{{{{{||{z{|{|z{z|{{{{{}{{|{|{{{||{{{z{|||{||||z{{z{{{|{|{|||{{zz{{zz{{{{|{|||{zz{{{z{|{{{{|||{{{yz|zzz{{{||{|zzy{zzy{{{{{{{|{{{{z{{{{{{||{zz|zzzzyz{yzz{{z{z{{zzyyzyz{{{{{zz|zzyzzzz{zzz{{|{{{{zzzzzyzz{|{{{{{{{zzz{z{{z|z{{{{z{zz{zzz{{{z|{zzzzyzzzyz{{zz{|zz{zzyzzzzz{{zz{{zzyzyyzyzzz{{{{{{yzzzzzz{y{{zz{{z{{zzzzzzz{{z{{{z{zzyz{z{{{zz{{zzz{yy{yzz{z{z{z{zz{zz{zz{{{z{{{{zzzzyyz{{z{z{{{{{z{z{z{{z{z{{{z{{z{zzzzz{{{||{{{{{{z{z{zzz|{{{z{zzyzz{zz{{{{|z{{{{zz{zzz{{|{z}{{zz{z{z{{{{|{||{|zz{{z{{y{|{|z|||{|{{{zz{}|{|{|{{|{zz{{{{||{|||{|{{{{{{{z{z|{||{{}{{z{zz|{|||z}||{z{{z{{{|{{{{|{{{{z{zz{{{{{||||{|z{{{{{{{|z{{|||{{{zz{{z{z|{}|{{|{zzzyz|{{{||{||{{zz{z{{|||{zz{{{zzzzzyz{{{z||{zzzzzz{{z{z{z{{||z{zyzzzz{z{{z||{zzz{{zyzz{{|z{z|{{{yzz{z{{{{{|{{yyzyzyz{z|{zz{{{{z{zzzyz{{zzzz{{zzzy{{zzzzz{{y{{zzzyyyzzzz{z{{|{{yzzzyy{{z{z{{|zzzzzzzzzzz{zzzzz{zz{zyyzyzzzz{zzzzzzzzyzzzz{z{{zzzzz{{yzz{z{{{{z{zyzyzzy{{{z{{{{{z{y{{{yz{z{{|||zzzyzz{{{z{|{|{{z{y{zy{{{{|z|{|{{{{z{zzz{z{{z{|{{z{{{zzz{z{{{{{z{zzz{z{{{{{{|}{{{{zzz{{{{{{{{|{z{zz|zz{z{{|||{{{zz{{{zz{{|{|z{|zz{{y{zz{{|{{z}||{{{yz{{|{|z|{|{{{{{zz{{|{|{{{{|{{z{{zz{z{{{||{z{|{{|{{zzz{|{{|{{{{zz{zzz{{z{|{{{|z{{z{{{{{{{{{|{{z{zz{{{{|{{{{{{zzyzzzzzz{{{z{{{z{z{zzzz{{|{{{{|z{{zzz{{z{zz{||{{z{zzzz{z{z{{{{{zzzzy{zz{z{{z{{|z{{z{z{z{{z{z{{|zz{zzzz{{z{zz{z{zzz{z{zzzz{{zz{{zzzyyzzzzz{{{{zzyzz{zzzzzzz{|{|zzz{zyzzzy||{z{{z{yzzyzzyz{zz{{{{{y{yzzzzzzz{z{z|z{zzzz{{z{z{z{{{{yz{zy{zz{|{{zz|zzzzy{z{{{{zz{{{zzzz{zzz{{{{{{{{{{zy{z{z{|{{{{|{{zzz{{zz{{{{z{|{{{{z{zz{zz{{z|{|{{z|{z{{z{|{{{{{{{z{z|zz{|z|z{|{{zz{{{yz{|||{{|z{zz{{zyz{}{{{|||{{{{z{{{{}{|zz||{|{{{{zz{|{||{{{{z{zz{z{{|||{{{||{zz{{{{z{z{{|||{|{{{{{{{{||{{{{zzzzzzzz{{{{{{{{{{{{{zzz{{{{zz{{{{|z{z{{|{|||{{{{{zzzy{zzz{y{{|zzzzzzzyyz{{zz{|{{z{yz{{{{y{{|{{{yyzyzyyzzzz{z{z|{zz{yzyy{{{zz{{{{zzzz{{zy{{{z{zzz{zzzzyzzz{{z{{zzzzzxzy{zz{zz{{zzyzyzz{z|z{{zzz{zx{zzzy{z{{z{{zz{zzzzzzy{{{{z{{{{yzzzyzzzzyzz{zzzy{yzzzyzz{z|{z|zyyy{{yyz{{zz{z{|{zzzzzz{{z{{zz|zz{zzzzyz{{z{{{{zzz{zzzzz{|{{|{|z{{{zzzz{{{{{{{{zz{{yz{{{{{z{{{{{zyzz{zzz{{{{{{{z{{z{zzz{z{||{{{{{z{{z{{|{zzz|{|{x{{|z{z{{{{{z||zz{{{zzz|{{{||{{z{{zz{zz{||{||{|{{{|z{z{{|{|{{|||z{zz{{{{||zz|{|zzz{{{z{{{{z{{{||{z{{{{z{{|{|{|{{{{{z{zz{{z{z{{{|{{zz{{zz|{{{{{|{z{{zz{{{|{{{{z{zzzzzzzyz{{zzz{zz{zzyzyz}{{z{{{{{zzz{z{zzz{{z{{{{{zz{zzz{zz{z{{{zzzzyyzy{z{zzzz{zzz{{{zzzz{zz{|{zz{zzzzzzz{zz{{{zzyyzzy{{y{|z{zzyzzzzyz{{zz{zzzzzzzzzyzzzz{{{{|{zzzzyzzyz{{z{{{{zzzzyyzyyzzzz{zzzyzzzyzzy{zz{{{{zyzzyzzzyzz{{z{{zzz{zyyzzy{|z{{{zy{zzzzzzz{z{{{{zzzzzzz{{|{z{{z{{z{z{y{zz{z|{{{{zzz{zz{z{{|{|z|z{zy{zzzz||{{zzz{z{{{zzzz|{|{{{{zyzz{z{{|{{z{||{|{z{{zzz{{|z{{z{z|zzzzz{{{{|{{{{{{{z{{|{z|{{{{||{{{{zz{{{{|{|{||{{{{{z{{{{{|{{|||{zy{z{z{y|{{||||{{{{{{zz{{zz{{|{z{zzzzz{{{{{{|||{zzz{{|z{{z{{{{|{{{{{{zz}{{||zz{{zy{zzzy{|{y{{{zzzz{zyzz{zzz{{{{zz{zzz{yz{{z{{{|z{zzz{y{{|{zzz{{{{{zzz{x{{z{{{z|{zzzzyzzz{zzzz{{{zz{{zyzzyzzy{{zyz{yyzz{zzzzzzzzyyzyyzyzzy{{z{{zyzzyz{zzz{zzz{{yzzzyyyyzzzz{zz{zzzyyzzzyyz{zzzz{yzzzzzzyyzzzz{{{yz{y{z{zzz{{zz{{z{zy{zzzz{{zzz{{zy{zzy{z{{|zzz{{y{z{zyzz{{{{z{z{{z{zzzz{yz{{z{{z{zzy{{zz{{{z{z{|{zyz{y{{z{{|zz{zzz{zz{{{{{{|z{|{zzzyzz{z{|{{||||{{{{{zzz{z|{{||z|{{zzz{{|||{{{{{{{{zy{{{{{{{{{{{|z{{{z{{{|{{|{{|{{{{{{{{{{{{{{{{{z{{{{|z{{|||{{||{{{zzzzz{{{{{{{zzz{z{zz{{{z||{{{{{{{{{{{|{|{{||z{{{{|{z{||||{z{z{{zzzz{{{{z|zz{{z{{zzzz{{|{{{|{zz{yz{{y{{zy{z{{zyzzyyyz{zzz{{{{zzzzzyzzz{z{z{{|{zzyzzzzz{zz{z{{z|{zzzz{zz{z{zzz{yzyzzzzzzzz{zz|zzzy{z{y{zzz{{z{{yzzzzy{zz{z{zz{y{zzzzzzzz{zzzzzz{zyyzzzyzzzz{{zzzzyzyyzy{z{z{{{zyzzzzzzzyzzzz{z{zzz|yz{{{{{{{{{zzyzzzyyzzzz{z{|{yzyzzz{zz{{z{{|{z{{yzzz{|z{{z{{z{zzzzzz{{|{{{{{{{zz{|y{{|{{z|{{zz|zz{z{z{{|{|{{{{{{{z{z|{{{{|{|{{zz{zyz{{{{{{{|zz|{{{{{|{{|{||{{z{{z|{{{{{|||{{{|{zz{z{{|||{|{||{{{{{z{{{{{{|{|{zz{{z{{{|z{{{|{{{{{zz{{{{z{||{z{z{zz{{{{{{|z|{{|{zzy{{z{{|{{{||{{z{z{{{||}}}{|{zzyz{z{z{{{{zz{{zzz{y{y{{{{z{z||{z{z{zzyz{z{|{||{z{zzzzzz{|z{z{||y{xzzyy{{{z{{{{zzzyzz{y{{{z{z|{{zzzz{zz{z{|{{zzzy{y{zzz{yzz{{{{zzzy{yz{z{{|{z|{{zyzyzyzz{zz|{{{z{zzyzzy{zzz{{{{{yzzzyzyz{{z{{{z{zyzzzzz{{yzz{{{zzzzz{zzzy{{|{{z{zzzzzyz{z{{{z{{{z{zzzzy{{z{{|{|z{zy{zzzz{{{{{|{{zy{zzzz{z|||{|{zzz{{zyz{{{{z|{{{{y{z{zz{|zz{{{{z{z{{{z{{{|{{|||{{{z{{|{{zz|{z{|{|{{zz{{{{||{|{{|{zzzz{{|{|{|||{{{{{{{{{z||{|}|||z{zz{{{|{||{||||{|{{z{{|{{{{{|{|zz{{{zz|z|{{|z|}{{{{z{{||{{||z|{|zzz|{{{||{z{|z||{|yzzz{{{|{|{|{z{zzz{{{|~}|{{{{|zzyzzzzz{{z{{{{z{zzzzz{{{z{{{|{zzyyz|z{{z{{|{{zzzz{{z{{z{{zz{{zzzzzzzz{zz{{{z|zz{{zzzz{z{{{|{z{z{zzzzz{{z{zz{|{zz{zzzzzzz{z|{|zzzz{zzy{z{z{{{{{zz{zzzzz{{z{{z{{y{zz{zyz{y|{{z|z{y{{zzz{zz{{{z{|zzzzyyzzzz{z|{zyzyy{z{y{{|z{{{{zzzzzyzz{|{{{{{|zzz{{{{{zz{{z{|{{zzzzz{z{{{z{{{|{{zzzz{{z|{{{}|zzz{zzzzz{{|{z{{{|z{z{{zz{|{{{|{{|{{zzzz{{{|{{{{|{{{{{z{{{|{{{|{{{{{{{{zz{{{|{{|{}{{{||{{||{{|||{{z{{z{{zz||{|}{{||zz{{|z{||{|||{{{{|z{{{|{}{{|{||{z{|z{z||{{{{||{{z{{{z{{z{|{{||||{{{{{z{z{|{{{{zz{{z{zz{||{{z|{z{{|{{{{|{}~~{{{{{yz{yzzz{|{{{|{zzz{zz{z{{{{{z{|zzzzzyzz{{z{{z|{zzzyzyzz{z|{{z{{|{yzzzzzz{{{{z{{{{zzyzzzz{{{z{{z{z{y{zzz{z{zzzz{zz{{yzyzz{z{{{z{{zzzyzzz{{{{{|{z{z{zzzzzz{{z{{{zzyzzzz{yz{{{z{{{{z{zzzyyyz{zz{{|zzzz{zzyz{z{{{{{zzyy{zzy{{z{||{|z{yz{z{zz{z{zz{|zz|zzzyz{{zz{|{|zzz{{z{z{{{{{{{{z{{zzy{z{y{{{{{{z{{{{z{{{|{{{|{{{{z{{{z{{{{z{{}{zzyzz{{{|z{{{|{|{{zzz{{z}{{|{}{|{{z{{z{{{{{|{{|z|z{{z{{z|{{{||||{{{z{{z{{|{{{||||z{{||{{{|{{|||{{z{{{{{{||{|{z|{{z{|{{zz{{||z{|{|zz{{{{{{|{}{{{{|{{zz{{zzz{|{||{{{{z{{{y{{z{|{|{|z{{{{z{||{}~{z{zzyzzzzzz{{{{zyzzzyzzzzz{{{z{{{|{{zyzzzz{{{z{{z{zzzzz{zyyzzzzz{{z{{zzzyy{{{|zz{{zyzzz{zyz{zzz{{{{zzz{zzz{{{{z{{zzzzyzyzyzzz{z{{zzzzz{zz{zz{{{z|{{zyyyzzzz{{z{z{{{yzzyzzyy{{{{z{zzzzzzzzy{z{zzzyyzzyyzzyy{zzzyz{{zz{yzzzz{{{z{{z{zyyzzzzz{{{{{{{{zz{zzy{{|{z{{{z{zzz{zz{z{z{|{{z{{{{z{zzyz{{{||z{zzzz{zyzz{{{{{|{{{z{z{zz{{{z{{{{{zz{z{zzz{{||{{{zzzz{{{{{{z|{{{|{z{{zzzz{|z{||{{{z{z{z{z|{}{{{||zz{{{{{{{|z|{|{||{z{z|z{{||||{{{{{z{{{{{|{z{{||{{{{{|{z{{{|{{{{{{zy{{{{{|{z|z|{{{{zzzz{z{{{{|{{}{{zzzzzzz|{{{{||{{{{z{{y||}~}{{{yzzyyz{z{z{zzzz{zz{zz{zzzzz{{{{|{zzyyzz{{zzy{{{|{zz{zzzz{zzzzy{{zz{yzz{zz{|z{{z{zzz{{zzzz{{zz{z|{{zz{zyz{z{z{{z{yzzzyzzy{{z{{zz|zyyyzyzz{zz{{z{zzyzzzyyzzy{{{{z{yyzzyzyz{{zzz{{|zzzzyzyyz{zz{{zzzzyzzzzz{zz{y{zzzyzzy{zz{{{zz|{{zzzz{zzzzzzz{z{{{zzyzzzz{z{{|{{{zz{zzzz{z{{{{{|{zz{{{z{z{{{{{{{{zz{zz{yzz{|{{{||{zzzzyzzz{zz{{{{{zzzzzz{{{{}|{|{{z{z{{|{{{z{{|z{{{z{{z|z{||{{{||{z{{z{z{{{|{{||{{{zz{{{z|{{{{||{|z{{{{zz{}||z{|{{{{{zz{{{{|{|||{{{{{{z{|{{{|{{{|{{{{|z{||{|{{{||{{{zzzz{{{{{z{|{{z{{zzzz{{{{{{{{z{{{{z{{||}}}{z{zzzy{{{z{{{{{{|z{z{y{zzz{z{|{{{{z|zyz{zyz{{{{{{{{z{zzzz{z{|zz{{{|zzz{z{y{{{{z{{z{{z{{{z{z{z{{{|{{zzzz{zy{z{zz|z|zzzyzzzz{zy{{z{zzzzyyzzzzz{{z{{z{zz{yzyzyz{y{|{{zzzzyz{{z{{{zzz{zzzz{yyxy{zz{z{{z{zzzz{{z{zzz|{z{{zzzyyyz|{{|z{{zzzzzzzz{|{{z{z|{y{zzzzz{z{{{{{|zzzzzzyzz{{|{{|{zzz{{zzz{|{{{{{|{zzzzzzzz{zzz{{|{{z{z{yy{{{{z{{{{zzyzzzz{||{|{|{{zzzzz{{{|{|{}||zz|z{zzz{{{z{||{zz{{|{|zz|{{{{||{{{{{{{{{|{{{||||zz{{{{|{|||{{|{{z{|zyz{|{{||}{{|{zz|{{z{{{|||{|{{{z{{{{}{{|{||}|{zy{z{{z|{{{{||{{z{zz{z{|{|{{|z|{{zz{{z{|}||{{zzzzy{zzy{|{{z{{{{{zz{yzz{{{{{{{{|yzzz{zyz{z{z{{{zzz{zzzzzz{{{|y|{zzzz{zz{z{{z{z{z{zyz{zz{{{z{{{{{zzz{yz{zz{zz{{zz{z{zy{zzzzzz{z{zyz{zzyyz{{z{zzzzzzzzyyzzz{zz{{{y{zzzyzyzz{{{{{{zzzyyzzzzyz{z{{|yzyyzzzyzzzzz{zzzzyzyzzyzyz{{z{z{zzzzxyz{z{z{|{|{zzzzy{zzz{{z{{{zy{yzz{zzz{{{zzzzz{{{yy{z|{z{|z|{z{zzzzz{|{{{{|z{zzz{z{{{z{z{{{{zzz{zzy{{{{{{|{zz{{{zzzz{{z|{|{|z{{{{zy{z|{|{{{{{{zz|{|{{||{|z|{{{{{{{{{{|{{||{|{{{{{|{{{}{||{{|{z{{zzz{|{{{{|{{{{z{{{z{z{{{{||||{{z|{zz{{{{|{{|z{{y{{zz{{{{{{zz|{yzz{z{z|{|{|{{{{{y{{z}{{{}|zzzyzyzzzzzz{{{zz{|zzyzyyzzz{z{|{{{{yzzyzzy{{{{z{|{zzzy{zy{zz{{z{{{z{zzzzzyz{z{z{zz{zyzzz{zz|{{{z|{zzzz{y{y{zz{z{{zz{yzzzzyz{{|z{{zyzyzzzzzzzzz|z{{zyzzzyyy{{{{{{{{zyz{zzzzy{{zz{{zzzzzzyz{yzzzz{{{z{zyzzzzz{|z{{{{y{zzzzyzz{zz{z{zzzyz{y{z{{{{z{{{{zzzzzzz{z{{z{{{zzzzzz{{{{{{z|{|zzzzzzzy{{|{{{{{{{{{{zzz{|{{zz{|{zzz{{z{{{|z{{{|{{{z{{zz{{|z|{||{zzz{{zz|{y|z{{|{{}{|z{z{{{{|{|{{zzz{{zz|{{{{{{|{{{zz{|{{{{{|{{|{z{{zzzz|||{||||{zz{{z|z{||{{|z{{{{{{zz{{{{{{}|{{{zz{z{z{{{{|{{|{{{{z{z{{{{{{|||{zzzz{{zz{{{{{|{{zz{{{{{{||||z{z{{zz{|{z{{{{{{{{{{zyzz{zzzz{{{|}{zzzyyz{{zz{|{{{zzzzzzzyz{{{{{{{{yzzzyzyz{{{zz{{zyzxzzzzz{{z{z|zzz{z{zzzzz{z{{{{{{yzyzzz{{zzzz{{{zyyzyzz{{z{{z{{zzyzzyzyzz{z{{z{zzzzzzz{zz{{|z{{{zzzzzzzz{{z|{z{{zzzyzyzz{y{{{{zzz{zyzzy{zzz{{{{z{zyzzyz{{{zz{z{zz{zzyzzzz|{z{z{{zzzyzz{{z{{z{{{zzz{zzzzz{|z{|{zzz{z{zzz{|{|zz|z{z{z{z{z{z{{z{{{{{{z{zyz|{|{|{{zzz{{zz{{{|{|{{|||z{{{{zy{{{{|{{{|{zz{yzz||{{|||||{{{zz||{{{{|{{{{{{{||{{{||{{{{|{z{{{zzz|{|{{|{{{zz{z{{{{{{{||{||zzzzz{{{{{||{{{{{z{zzzz{{|{{||{{{{zz{{zz{{{zy||z|zz{zz{{{|{|{{z{{yyyy{{zz{z{{||{z{zz{{zz{{{{||{y{yxzzzz{{z{{{|{|zzz{yzz{{|{z|{{zzzz{yzzzz{yz{|{{{z{zzzz{{|{z|{{zzzz{zyz{z{{{{{z{zzzzzzzzz{{{z{z{{yzzy{yz{{{{{{{zzz{yzyz{{{{{z{{{{{zzzzz|z{z{{z{zyyzyzzz{z{zz{z{zyzzzyzzzz{zz{{{zz{z{zzz{|{zzz{{zzzzzy{z{{zz{zzz{z{z{z{zz{{zz{{{{z{{yzz{{|{{{z{||z{zzzzz{{z{{||{{z{z{yzz{|{z|{|{z{{z{z{{|{|{{{{{{{z{|zzz{z{|{{|{z{|{zzzz|{{|{||||zz|{zzz|{||{{|{{{{{{zzz{|{{{|}{{{{z{|{{|{{||}}||{{z{{{{{||||}|{zz{{z{{z|{|{{|{|{z{z{{{{{{z{{{|||{{{{{zz{{{{{||{{zzzz{{{z{{{{|||{z{z{z{zz|{||{{{{{{{z|{{{{{}|{{{zzzzzzz{z{||{{{|{{zzz{zz{|{{z{{{{zzz{z{y{z{z{{{{{zyzzyzz{{|{{z{zzzzz{{z{{{{{{|{{{z{zzzzzz{zy{{{{zzzzzzyz{z{zz{zzyzzzzzzzzzyz{z{zyzyyz{zy{{{{zz{zzzzzyz{{z{{{|z{{z{zyyyzyzzzz{|{zzzzzyz{yyzzz{zz{zzzyzz{z{zzz{z{||yz{zzzyzzzzz{{{zyzzzzzzz{z{zzzzzz{{yz{zz{{|{{}|z{zzyz{zz{{{z{{{{z{zzzzy{{{|z||{z{zzzzzy{|z{z||{{{{{z{{{{{{{{z{{{zz{{z{{|{{|||{{z{zz{{{z{|{{{}{||z{z{{{{{|{||{|{{z{z{{{z||{{{{{|{{zzz{{{|{||{{|{|{{z{{{z{|{||{||{{{{z{z{|{||{{||{z{{{z{{{{z{{||{|{{|z{{z{{{{{{||z{{{zyzz{{{|{|||{zzzz{zzz|{{z{{{{{{z{{{z|z{{|{{{zzzyzzzyz{|{{{{zzzzzzzzz{{{zz{{{zyzzz{{z{zyz{{{{{zzzzzyy{z{{{y|z{z{zzzzzzz{z|{{{zyzzz{{zzzz{{{{{zyzzzyzzzz{{{z{{zzzyxzzzzz{z{{{zzyzz{yzyz{z{z{{zzz{zzzyz{zzyz|zzyzyzzyyyy{z{{z{z{zzz{zzyy{zz{{{{{y{zyzzy{{z|{zzzzy{zz{{y{{{{{z{|{zyzzy{z{{|z{{{{{yzz{zzzzz{zz{{{zzzzzz{z{{{{y{z{zzzyzzzzz|{{|{{|{{zyz{z{|{||z{|{{zzzzzz{{|{zz{z{zz{{zzz{{z{||{{{z{{z{{{{|{{{{{zz{z{{{{zz{{z{{|{{|{yz|z{z||{z{{}|{{{z{{|z{|{{|{|{zz{{{z|z{|{|{{|{z|{|{|{z|z|||||{{z{z{{{{|{{||||{{{{zz|{|{{{||{|{{{z{zzzyz{{{{|||{z{{zzz{{|{{z{|{zz{z{zz{{|||{{{{z{zzzzzz{z{{z{z|zzzz{z{z{zz{z{{{zzzy{z{z|{{{z{|{{zzyzzzy{z{{z{{{{{zzzzyy{y{zz{{{yzzz{zzy{{y{{{{z{zzzzzzz{z{zz{{|zzzyzzyz{zz{{{{{zyyzzzzzzy{{z{|{zzy{zzz{{z{{{zz{zz{zzy{zzz{{{{{|{zz{zzyzzzzzzzz{zyzyzxyzzzyzz{zz{zzzzzzyz{{z{{{{z{{zzz{z{{{{z{|z{{zzzz{z{z||{{{|zzzz{zzz{{zzz{{z{{{{{z{{z{{{{|{{zz{zzz{zz{|{{{|{{zz{z{zz{{{{z}{{|{{zz{|z{z{{|{{|{|z{{{{z{{|{{}|}{{{{zzz{{|{||{||{z{{|z{{||{{{|{|z{{{z||{{|{||{{|{{zzzz{{{||{{|{{|{|{z{{{}{{{{||{{z{{zz{||{{|{{|{{{{{zz{{z{z|{{{||{zz{z{{{{{{{{|{{z{z{{|z{||{{|{{{{zz{{{{{{||z{{{|{{{{z{zz{|{{{{|zzz{{z{{{{||{|z|{{{{{z{z{{{{{||{zz{z{zzz{|||{{{{{{{zzzzz{z{||{}|z{zz{{{z{{{{{{|{|z{z{{zzz{z{{{{{zzz{z{zz{{||z{|{zz{{zyzz{{z{{{||{{{zy{z{{z{{|z|{{z{zz{zy{{{|{{{{z{{{zz{z{{z{z{{{zz{z|zzyz{z{{{|{y{{z{zzz{|z{z{|||zzzzz{z|{{{|{}{{{}{{z{z|{{{{||{z{z{z{{{|{{{{{|{{z{{{z{{{|{{|{{z{{{{|{z{{|{|z{|||{|{{{zz||{z{||{|z{{z{z{|z{{|}|{{|{{{{{{|{{{{|}}{{{{{zz{{{||{||{|z|{|{{{||{||{||{{|{{|{{{|{||||}|{{{{|{{{}|||{}}|z{{z{{z|{||{}||{z|{{|{{{{|{}|||}}{{|{{{|||||}||{{{z{{z{{|{{{|}||{{{{{{{{|||}}|{|{{{z{|{{||||||zz{{{{{{z|||zz{||{{z{{zzy{|{|{||{{zzz{zz{{|{|{||{{z{{{z|{{{{{|||{{|{z{zzz{{{|||{|z{|{zz{{{{{z{{|z|{{{zz{{{{|z|z{{z{{zz{y{z{{|{{{{zyzzzz{{{{{{|z{|z|{z{z{{{|{|{|{|z{zzzzzz{{{{{z|{zzzz{z{z{{|{z||{z{{zz{{{{|{|{|||z{{zzz{z{{{|{z|{{{zz{{{{{|{|{{{|{zz{z{{{|||{|{|{{{{{{{{|z{{{|||{{z{{{{{{{{|}|{{{{{{z{{{{||||{{||{{{{{z{z{||{{{|{|{{{{{{|{|||{||{{{{{{{|{|}|}{|{|{{z|{{z|||||{|{|}|zz|{|{}||{{}}|||}{{||{{{{|||}||{||{z|{||}|}||}|{||{{{{||{{{||}{{|z||{{{|{|}||}{{{{|{z{||||||{|{{|z|{{{z|{|}|||||{{|zzz||{{|{{|{{{z{{{{|||{|{{|z{{z{z{z{|{{z{{{|{zz{zzz{|{{{{{{{zz{z{zz{{{{{|||{z{{{zzz{{{|{{{{{|{yz{{z|{{|{|{{{z{zzz{{{{{{{|{{{yzz{z{z|{{zz|{{zz{{z{{z{zz{{{{{{zzz{zzzz{{{{{{|{z{{z{z{zz|{z{{{{{zzyzzzz{z{|{{{z{zyzy{z{|{{{{{{z{zz{yzz{{{zz||zzz{z{zzzz{{{|{{|{z{{{zzz{{{{{{z|{zz{zzzz{{{|{|{{{zzz{{zz|{}{{|||{zz{zzz{{{{{|{{{zz{z{z{z{{|{|{||||zzzz{{|{|{{|}z{{{{|{{{||}|||{|{|{{{{{{{{{||{}||{{{{|{z|||}{||{{z|{{{z{|}{{||||||{{{{||z||||||{|{{{|{|{{}{{{|||||{{||{{{||||{|{{{{{zzz|||||{|}|{|{|{{{|{{|{|{|}{|{{{|{z|||{|||}{{{{z{z{||||{|{{{{}z{{{{|||{{{{{z{z{zz|z{|{{z{{{{{{z{zzy{{{{||{|{{{{{{zzz{{z{|{|z{z{zzzz{{{{{{{{zzzzzz{zzz{{{{z|{{zzz{{z|{{{z||{{z{z{zzz{||z{|{|zzzzz{y{{z|z|{{{{{{zz{zz{{{zz{{zzz{yzz{{{{{{{{{{y{{yzy{z{z{|{{|{zzzz{zz{{z{z{|{{zz{zz{zyz{z{z{{{zz{{{{zzz{z{{{{|{{zz{zzz{{{{{{|{|{{{zzz|{z{|{||{{z{{|zz{{{{{|{{{|z{{{{{{{z|||{z{{|{z{z|z{{{|{{|{{z{{z{{{{||z|{|{{zz{|zz{{{{||{}|z{z{{z{{|{z||}{{{|{|z{{z|}||||||{{{{{{{{||}|{{||{{|{{{|{{{|||{}|}{{{|||{|}|||{|}||{{||{{||{|{|||{{{{|z{{|{|||{|||{{{z||{|{{{|||{{z{z{{zz{{|{||{{{{{|{z{zz|{}{||{{{{||{{{||{|||z{z{z{zzzz{{{{{{{|z{z{{yzy{{{|{z{{{{zz{zzzz{{{{{{{{yzzz{|zz{{{z{{{|{zzz{|z|{|{{|{||z|z{{{z{{{|||{{z{{zzzzzzz|{|{|{z|zz{{{zz{{{{{{|z{{{z{z{{|{z{z{|zzzzy{zyz{z{|{||{{{zz{zz{{z{z{|{{yzyzz{z{|z{z{{{zz{{zzzzz{{z{|{{{yzzz{z{{{z{{||{z{{z{zzz{{{{z{{{zzzzzz{{{{{{{{{{zz{z{{{{{{{{z{{{{{{z{zz{|{|{{|||{{zz{y{{{{|z{{}||{z{|{{{|{{{{|{{|{zz{{y{{||||||{z|zz{{{{||{}z{{|{{z{|z|z{{|||||{{{z{z{{|||{{|z||{z{{zz{{{||{{{{||{|{|}|{{|}||{|{{{{|{{{{||{|{{|||zzz{{{zz||||||{||z{|z{{{{{|z|||{{{z{{z|{{|}}{|{|{z{{{z{||{|{|{{{z|zzz{z{||{{{{{z{zzz{{z{{|{{z{{{{zzzz{z{{|{{{{{zzzz{{{z{{{{{|||{{{|zzzz{{{{|{{|{{{zzzzzz|{{{{{|{zzz{zz{|{{{{|{{{z{z{z{{zzzz{{{{z{{x{zzzzz{{zz{{z{{z{{zzz{{|z{{{{zzzzzz{{{z{{|z|{|{zzzzz{{{z{{|{z|z{{z{z{{{{|||}{yyz{zzzy{|zz||{{zzzz{yz{{{|{{|{z{zz{zzz||{{{{z}{{{zzy{{{{|{|{{|{{||{{z{{{|{z{{{|{{||{z{{z}{{||{{z{zzy{z{{{{{{|{|z{|{{z{{||{{|{|{{{z{{zz{|}|{}}{|}|z{{|{||{|||||}{|{{{z{||||{||{{{{{{{z{|{||||||{{||{z{{{{|{||}||{{{{|{{|||||}|||{|{||}||{{|{||{|{z{{{z{||||{}|||{|z|{{{|||}||{|{{|{{{z{{|{|{|{||{|{{|z{{|{{{{||{{{z{z{z|{|{|{{|z{{||z{z{{{|{{{{zz{{{zz{|||z|{{||{{z{{zz{{|{||||{{{zz|zzz||{{|||{z{z{{zz{{|{{|{|zz{{{z|{|||{{|||{z{{{z{{{{z{z{{{{{{{{zz|{{{|{{{|{z{{{{{z{{{{{{{|zzz{z{z{{{|{{|{{{{{zz{zzz{||{z{{{{{z{z{{y{z{z|||{{{{z{z{{|{{|{|{{z{z{{{{{{{{{|{|z{{z{{{z||z|||||||{z{{{{|{||{||{{{{zz{{|{{{{|{||{|{z{{{z{|{|||||{{{{{z|{|{|{{|||{{{{{{{{{|{|{{|{{|{|z{{|{{|{||}|{{}{{{|{|}{{{||}{{{{{{|{||}{}}{|||{{|{{{||||{}|||{||{|{|||}||}}}|{{|{}{{|~||||{|||{|z|{|||||}}||{{{||{{{|||||||}{{{||{{|}||||}}{|{{{{{|{{||||}}|{|{|{|{{{|||{|{||{{{|{{z}{|{}z||y{z{z{{z{||{|{|{|{{z|zz|zz{z|{{||zzyzzzz{|{{{|{{{{z{{zzz{{{{{{{|{z{{{y{{{{|{{|{{y{{zz{z{z{{{{||{z{{{z{z{z{z{{{{{{z{zz{z{{{y|z{{{zzzz{{z{{|||z||{{zy{z{z{zz{{{{||{zzzz|{zz{{{{{|{{{zzzzzz{|{zy{{{{{{{{zzz{{{|{{{{z{zz{z{y{|{{{{{z{z{{yzzz{{z{{|{{{z||{{zz{{|{||{|{z{{{z{{{|{||{{{{z{{{z{z||{|||}{{{{{{z{{||||z{}{{{{{{|{{{|{{{{|||{{{z{{|{{}||}||{{{{{{{|{||}{|}|{{{{|{z{|{}{|{||{{{z|zz{{|{{|}}|{|{{{|}{{|{|}||||{{{z{{z{|||{|{}{{{|z{{{|{{{|||{|{z|{|{{|{{{|||}{|z|{{{{{|{|||}|{{{y{{{{{|||||}|{{{zzz{z{|{{{{~||{|{{{zz||||||||{{{zzzzz{{{{{{|{{{z{z{{z{{zz{{|zzyz{{{{z{{|{{||z{|z{zzzz{|{|{{|{{{{{{{y{|z{z{|{|z{{zzyzzz|{z{{{|{z{zzzzz{|{{{{|z{{zzzy{{{{{{{|{|z{{z{{zz{{|{{z{{zyzzy{z{{{{{|{{{|z{{zz{z{{z{{||{zzzz{zzz{{z{{|{{{{zzz{{|{|z{{{||zz{z|z{z{||{|{}{{{{z{z|{{{|z{{|{{{{{{z{z{z|||{z}|z{z{{z{{{|||{||{z{z{{{{{{|{{|||{z{{z{z{{||}{{{{{{{z{{{{|||{|{|{{zz|{{{{{}||||||z{{{{{|{|z||||||{{{|{zz|{{||{{|||{z{|{{{||{{||||{{z{{{{{||z{|}||||{|{{{{{|{|{{||{{{||{{{|||{|}{|{|z{|{{{||{{|||||{{{|{{{{||}|}|||{z{zz|{z|{{||||{{{{zzz{||{{|{{{{{{{{{{z{|||{{|{{{yzz{zz{{||{{{{{z{y{{{z{{{{||z{|{{z{{{z{{{{{{|{{{{z{zz{z{{|{z{|{{|zyz{{{z{{{|z{{z{{z{zzz{{{|||{|zz{|{yz{{z{{{||{{{zzzz{zzzz{{|{{zzz{{z{z{{z{{{{y{{{y{yz{z|{{{{{{{{zzzzyz{{{{{{{{z{zzyzzz{zz{{{{{|zz{z{{zzy{{{{|z{zzzzzz{y{{|z|{|{{{z{{{{{|z{|||{{zz{{{|z{z{{|{|{{|{{|z{{||z|{{||z{|zz{{{|||||{{||{z{{{{z|||{|{{{{z{{z{{{{{{z|||{{{{zz{{{|{{|}|{{|{{{z{{||||||}|{{{|{{{|{|{||||}{{{{{{|{|{{|{{||{z{{z{|{{{{z|}|{|z|{{{||||||}||||||{zz{|{|{}|}|}|{{||{z{||{|}||}{{z{{{z|||{|{{|}{z{{|{{{{{{{{{|||{z{{|{{{{{{{|}|||zz{|{z|{{}}{{{zzzz{yyzz{{{z{|{{{z{{{zz{{{{{{{{z{{z{zzz{{{zz{{z{z{{zzzyzz{{{z|{{zzzzz{z{{{{{{|{{z{{{zzz{{z{z|{{{z{z{zzz{{{z||{{{zzzzzz{zzz{{{z{z{zzz{zzz{z}|z{zzzzz{yzzzz{z{z{{zz{{zzzz{{{z{|{{z{{zzzzyz{zzz{z{zzz{z{y{{{zz{{{|zzz{{{{zz|{{{{{|z{{zzz|{{|{{z{{|z{{zzz{{||z{||{|zz{z{{z{{|{{z|||{z{zz{z{{|{{|{||{{z{z{{|{{{|{{|{|z{{z{{{||{{{|{{{{zzz{{z}{|{||||{{{{{{{z{|z}{||||z{{z|z{|||||{{{|{{{{{{{|||{|{||{z{z{{{|{z|||{{||{{z{|{{z||{{||||{{{{zz{{|}|||{||zz{|{z{{{}||||||{{{{{{{{{{|{{|||{z{|{{{{{||{}||{{{z{z{z|||{{{{{{{zzzyzz|{|{{|{{|yz{zzzz{|{{{||{{{zz{{{z{|z{||||{{z{{zz{{{{|||||{z{zz{zz{|{{{z{{{z{z{z{z{z|||z{|z{{z{zzzy{{{{{|{{z{zzz{{{{{{{{{|z{zzy{zz{{{{{{zz{zyyzz{zz{{{{z{{zzz{{zz{{{|{{{|{z{z{z|{z{{{{{|{|zz{z{z{{zz{z{{z|z{zz{zzzzz||{{{|{z{{{|zz|z{{{{{{{z{|{{{z{{z{z{||{z{{z{z{z{{{|{||{|z{z{{{{||{|{||{{{{{{{z{{||{|||{z{z{{{z|{{{||{{{{{{z{z{||{|{{|{|z{{{{{{{}||{||}}{|z{|{||||||||}||||{{z{|}|z||}|{{|{{{{{||{{|{||{{{z{}|{{{{|||}|}zz{{{{{|}|||}|{|{z|||{{|{|}{}|{|{z|{|{{{|||||||{||{{{{|||{||||||z|{{{z{{{||{|{|||{{{zzz{|{|{{||{{|{{zz{||{||{{|zzz{{z{z{|z{|{{{{{{zzy{{|{{{z|{|{{zzzzz{{{{{{{{{{zz{zzz{z{|{{{z||{zz{{{z|{{{{z{{{z{z{zzzz{{zz{|{zy{{{{zzy{{{{{{{zz{zzzzz{{{z{{{{{{yz{zzz{{z|{{||zz{yyzzz{{{z|{|z{{zzzzzy{z{|z{{{{{{zzyzzzzzz{zz{|zyzzyz{z{{{{{{{{z{zz{zz{{{z{{|{{zzz{{yz{{{{{{|{{z{{zyyz{{||{{|}{z{z{z{{{z{zz{{|z{|z{{{zz{{{|}{}{z{z{{z{|{|{{{}z{{{{z{{z|z|{{{||{z{{{zz{{{||{}|{||{{{{{{{{}|{|||z{{{{zz{}||||{}|{z{z{{{{|}|}|}|{{{|{{{{{{{|{{|{|}|{{{{{|||{||{|}|z{{{{{{{||{{|{{}{{|{{z{{{{{||||{{{z|{z{||{{{|{|{{z{{zzz{{z|||{|||{|{z{{{|{{|{{}{z{z{{{y|{{||zzzz{zzzyzz{zz{zz|{|zzzzyzzz|{z||z{z{{zzzzz{z{{{|{|{{{zzzyzz{z{zz{{{{{yz{{zz{{{{{zzzz{z{zzzz{{{zz{{{z{{z{z{z{zzz|z{zzzzzzzz{{z{z{{{{zyy{zzzzzzzzz{z{zzyzzzyz{{zz{{{{z{zyzzzz{{{z{{|zzy{zyzz{{{z{{{{zzzzzyzzz{zyz{z{z{zy{zyy{z{{z{{{{zzzyz{{{z{{{{z|zz{z{y{z{{{|{{{{zz{zzzzz|z{{{{{|{{{{z{zz{{{{{|z{{z{z{zzz{{|{|{||{{yz|{{z{|{{|||z{z{z{zzz{{|z||{{{{{{{{{{|{|||||}{z{{{zzz{{|{{{{|{z{{{z{{{z{z||||z{{z{{{{{|{{||{{|{{{{|{zz|{{{}}||{z|{{{zz{{|||{{{z|{{|{{z|{{|{|{{{z{z{{|{{{|{|{{{{|{{z{z{|{{{||{{z{{z{|z{{{{{|||{z{z{zz{{z}}{|{|z{zzyz{{{{|z|{|{{{zz{zzzz{{|{{||{|zy{{z{||{{||||{{{z{zzzz{{{{{|{|{zzzz{{{{{{{{{|z{zz{z{zz{{{{{{z{{z{z{y{{z{{z{{z{yz{z{zz{zz{z||{zzzz{z{z{z{{{z{{{yzyzzzz{{zz|{{{zz{{yzyz{{{|{{}||y{{zyzy{{{zz{z{{zzz{zyz{|z{{z|z{z{{{{zz{{{|{z{{{{z{{zz{z{{{z{|{{z{z{{zz{{{{z{{|{z{zzz{z{|{{{{{||z{{{{{z{{{|{{|||z{{{z{{|{|z{z|{|{{{z|{z{|{z{{{{{zzz{{{|}{{|{||{{{z|{{{{||{{{|||{z{z{{z{||||{|{|||{{z|z{{}{{|{{|{z{{z|||{|||}{|||{|||{zz{|{}||{|{{{{zz{||{{|||{|{z{{{{{{{||{{{|}{{z{{{{|||{||{||z|{{{{{{{{{{{||}|z{{{zz{||{{|{||zz{zz{{{{{{|||{z{{z{{z{{{|{|{z{{z{{z{zz{{|{||{|}|{zz{{{{{{{|{{{|{zz{{{{{{{||{||{z|{zyzzy{{z|z{||zz||{|{{{z{{{{{{{z{z{{z{{|{{{{{{{z{z{{zz{{{|{{{z|zz{z{{z{|{z||{{|zz|z{zzz{||||{|z{zzzz{y|{z{|{|{{{zzz{zzz|{z{{{|z{{{z{z{z|{|{|{{z{{{{{zz{{|{{{||{z{z{z{z|||{{|{|{{|z{z{z{{|}{{{{{{{{{zzz|{{{||}|z|zz|{{{|{||{|||{|{{{{z{|z|{|}||{{{{|{z||{|{{{|{z{{|{{{{|||||||{{{{{{{{{{|{||}}|{{z|{{z|||}{{||||{{{{z|{|}}||}|||{|{{|{{{|||||{||{|{{{|{|}|{z|||}{{{|{{{||{|{|{|{{||{{z{||||||{|{{{||z|{{||||{|||{{{|{{{{|{||||{{{{{zz{{||{|{|{{{z{|z{|{|z|{|{|{z{{{{zzz{z{{{{{{{zzz{yzzz|{{{|{|{{{zzzz{z{zz{{{|{yzzzz{{{|{{|z{{{{z|zzzzz{{z{|{{zyzzzz{{|{{{{||{z{z{zyz{z{|{{{z{{{zzz{z{zz{|{{{{zzzzzzz{z{{{{z{|zz{yy{yzz{{zz{|{zzzyz{zzzz{z{{{z{zy{zzzy{zz{{{zz{z{z{z{z{{z{{|{{zzz{{zzz|{{{{{{{|{{y{z{zz||{{|{{y{{z{y{{{{{{|{{|y{{zzz{{{|{{||{{{z{{zz{z{|{{{|||zz|{z{{{{{{||{{|{{{{zz{{{|{{z|{{{zz{{|zz|{|{|{||{{z{z{{{{|{||{||{|{{{{z{{|||{{{{{{z{{{{{{|{||}||z{{{{{{{}{|{|||{|{{{{z|{||}|||||{{{{{z|{{{||||||{z|z|y{{{{|{|}|||{{{{{z|||||||{|{{{{|z{{{|{{||||{{z{zz{zz||{{|{|{{{{{zz{|{|{z{{{zz{zzyz{{||z{|{{{z{{y{zz}{{{{|{{{z{zzzyzz{{{{{{{{{z{{z{{{|{{|{|{{z{{yzzzz{{{{|{|zz|{{zz{{|z{{}|{{{z{{z{{zz|{{{{{{{{zzzz{z{z{z||{{zzzzzzzz{{|{z{z{zzzz{yz{{{{zz{{{{{z{{zz{{z|z{|{{zy{zz{{zz{{z|||z{zzzzzzz{{{z{{{{z{{{z{zz||{{{{{{z{{{z{|{z|{|{{{|{z{zz{{zz{||{||z||{z{z{{|z{{{||{{{{{{{z{|{{{||}{{{zz{|z|||z|{|z{{{z{|z{{{{{|{||{{{z{{|z{{|{{|||{{{{z{{{||{||||||zz{{z{z{|}}||{{|{{{|||z||{{||||||{{{{{{||||||}{||{{|{|{{||{||}}|{|||{{{|{|{|}|{|{{{|{|{|||||}}}|||{{z||{|||{{||{{{zz{z{{|{||{{}{{{{zz{{{|{|z{{|z{|z{{{z{{|{{{{|{zzyz{{{{{{z|{{||{zzz{{{|{{{z|||{{{z{{z{{{z{{{{z}{{zz{zyz{{|{|{||{{zyzz{{{z{z||{zz{{zz{zz{{zz|{{{yz{zzz{|z{{z{{{z{zyzzzz{zz|z|z{z{zzzzzz{{{{zz|{|z{{zzz{z{{z{{{z{zzzzzyzz{{z{{{|{zz{{zzyzz{zz{|{|{{zzzzzz{z{||||z{{z{{{{||{{|{{z{{z{{z{z{{{{{|{{{{|{zz{{{{{|||{||z|zz{z{{z|{{{{{{{{z{z{zz{{|z||||{yz{|zz{|{|z{|{{z{{z{z{{{|{{||{z{|{zz{{|{|{{{{|{{{z{{|z{|{|{{|{{||{{{z{|{||||||}z{{{|{{{|{|||}{{z{{{|{z||{|}{||||{{{|{{{||||}}|||{{|{{z|{|}|||{|{{{{|zz|{{|{}|||{z{||{{||{|{|||{{{z{{z{{{|{{{||z{{{{{{{{{{||||||{{{{{{{{{{||{{{{yzyz{zzy{{{{{{{z{zz{zzz{z{{{{||{z{{zzzz{z{{z{{{zzz{zzzzz{|{{z{{{y{yzz{{{|zz{z{|{zz{{z{{zzzz{{{{{z{{zzz{{{{{{{zzz{zzzyzz{{{{{{{|yzzyyzzzz{{{{{{|zzzzzzy{z{{{z{{{{yzzz{zzz{{{{z{{{zz{{zz{zz|{{|{{z{zy{zzxz{z|{{z{zz{zz{{z{{z{{{||{y{z{yz{{{{z{|zz{{{zzz{|{{|z{{||zzzzz{zz{{{z{|{{{zz{zzzzz|{|{{|zzzz{z{zzz{{{z|}{{{{{{zzz}{{{{{}{{{{{{{{z|||||z{|{|z{z|{{||{}|||||z{{{{z{|||{}||||{{{{{{{z||{|{}|zz{{{{{{|{}}|||{|{{{{{{{{||}||}{{{{|{|{|}|{{|}{|||{{|||||{{{|||}|{{||{{{|{{||||{{{{z|zz{{|z|{{|{|{{zz{{{||z|{||{|{{{|z{{{{{{{}{z{z{zzzzzzz|{{{|||{zz{z{{{{{{{{||{{z{{zz{{{|{{{||{zz{zzz{{|{zz|{{z{zz{{{z{{|{{{{{{z{zzz{{{{{zz{{{{z{{zz|zz|{{|{{{{zzzz{yz{z{|z{{{zzzzzzzz{{{{z||||z{{{zzzzzz|{{z|zz{zzz{z{{|{{{z|{zz{zzzzz{{z{z{{zzzz{zz{z|z{{{{{zzzy{{{y{{{zz||||y|zzz{zz{{{{z{{{z{zyz{{{{z{|{z}{{{{|zzz{{{{{{{|{{z{zz{{{{{|||{|{{{|z{{{{{{|{||{{{{{{{zz||{{{{{{{{{z{{z{{{|}|}||zz{{{{|{|{{}||||z{{|{{z{{|{{|{{{{{z|zzzz{|}|z|{|{{z|{{{{{|{|}}||}{{||{|{z||{}{{||{|{{z{|}{|{{{|||{{z|{{|||{||{|}{{|z{{|z|||{{}|{{{{z{z{{{{{||{||{z{{{|{z{}{{|{||{{z{z{z{{{{z|{|{{zzyz{{z{{{zz||{{{{{|zyz{{{{{{{|{{yz{zz{{{{{{{||{{zy{zyz{{{{{{{|{zzzz{z{|{|{{|{}zz{zz||y{|zz{{{||{zzzzzzz|{z{|{{zz{yzzzz{zzz{|{{zy{{zzz{{{{z{{|{{zz{{z{z{{{{{{{|z{{{zzzzz||{z{{|{zzz{yzzz{{{z{{|{zz{zzzyz{zz{|{{zzzzz{|z{{{{{|{{{{{{{z{z{z{{z{z{{{zz{z{z|z{z{{|{z{z{{{|z{{|{z{|}{{{|{zz{{{z|z||{z{zz{z{z{||{{{|||zz{{z{{{|{{{|{{{z|zz|{{|{{|{|||z{{z{{||||{|||||{{z|z{{{{{||{|{||{z{{{{||}{|{|}|{|{{{{{{|{{|{||||{{|z{{{{|||||{}|{|{|{|{|{{}||}||{z{{{{{|z{{{|||{|{{z{z{{{|||{|~{{{z{|{{{{{|||||{{{{z{{{|{{{||||{zzz{|{{|{{{|{z{{{yz{{z{{{{|z{{{z{yzz{zz{{{z{{{|{{zzz{zz|{{{{{{||zzz{z{zz{{{z{||{zzz{zzz{z{|{{{|zz{z|{zz{{z{{|{z|zzzz{zz{|{zzz{zz{{zzz{zz{{|{{{|zzyzzy{zzz{{{{{{{yzzzzyz{{|{{z|{z{z{z{yzz|zz{{{{zzzzzzzz{{zz{|{||{yz|z{z{{{|{{|{{zzzzz{z{{{z{{|{z{zzzz{{{{{{z{{{z{z{zz{z{{{{||{|{z|z{z{{|||{||{{{{{zzz{{z|{|{}|{{{{y{zzz{|{{|||}|z{{{{z|{|zz||{{{{z{{|{{{|}|{{||{{{{{z|{{|||z|}{{|{{{{{{|{||{|{{{{z{{{{{{|||{{|{||z{{{|{||{{||{|{||{{||{z}||||||{{||yz{||{||||{||{{|{{{{{{|||}||{{{{{{{|{|||z{|}{zzz{{{{{|||{||{{|{{{{|{{|{|||||{zzy{y{zz|{{{{{{{zzy|z{z{||z{{|{{z{z{{z{{|||||||{z{zyzzz{{{|{{{||{{{z{z{{{z|z{|{z{z{zzz{{z||y||{yzzy{z{zz|{{{||{{{z{zzzz{|zz||{{{{z{z{z{zzz{{{{{zzyzz{{z{{{{zz{zzzzz{zz{z{{{|{{|{z{yx{zyzz{{{z|{zz{{z|{{{{z{|{{{{zzzz{yz{{{{{|{{yz{{{{z{{{{z{{|{zz{{zy{{z{zz{{{{|z{{zz{{z{{z{{{{zz{zyzzz{z|z{|{||{{z{z{{{|{{}|{|{z|zz{{z{{||{{|{zz{{|{|z||{|||z{{{z{{{z{|{}}|}|{{{{|{{{{||{{|}|{|{{{z{z{{{|{|||{|{{z||}{|||{{{||{||{{{{{{|{{|}|||{{|{{{{{|{}}|}{{z|{{z{{||||{||{|z{{|{{{{}{||{|{||{{{{z{{|||{|{|{{z{{{{{{{||{|||{z{z{{{{|{|||||{zzzz{{z{|{}z{{{{{{yzyzzz{{|zzz{|{zzzzz{z{{{zz|z{|{zzzzzzz{{{{{{||{z{y{yz||{{z{{{zzzyyzzy{{|{{{z{zzzy{zzz{zzz{{{zzzyz{{zy{z{{{{z{{zzzz{z{{{{{z{{|zzzzzzzzz{}zzz{{|z{zz{z{{z{z{{|{zz{{zzy{zz{z{{{|{yzz{z{zzzz{z{{{{{{zz{{{z{{z{|{|zz{{{zzy{{{{{{{{|zzz{zzz{|z{{{{{{{{z{z{{{|{z{{||{z|zz|z{|z||{{|{{{{|yzz{{|||||{{{{{z{z|{{||{{||{z{{z{{{{{||{{|{{z|{{{{{|||{||||}{{{zz{|||||{|{|||{z|z{z{{{}|{}||{{|||z{z{{||||||{{{{zz||{|||}}{|}z{{z|{{{||||{}{{{z{{{{{|{||{||}|{{zzzz{{|||{||{{|z{z{{{||{|||||{{{{{|{z||{{{||{{{{{y{zz{{{{{||{{{{{zzz{z{{|{{{{{z{{z{z{y|{{|{{{{z{zz{zz{{{{{{{{{{{{z{z{{z{{||{|{{{|{zzz{z{{{{z|z{zz{z{z{{{{{{|{{zzz{{zz{z{zz|{z{{{{zyz{zz{{{|{|{zz{zzz{z{{zz{{{z{zzzyzz{{{{{zz{zzzz{{y{z{{{{{{|{{{{z{zzzzz{{{{{{zz{yzzzzzz{{{{{zzzzzyz{{{{z{||{z{{zz{yzyz{{{{{{{{z{z{{z{{|{{{||{z{{zz{{{{{z{|||{z{z{z{{{|{|z{{{{z{{{zz{{{{{||z|{{{|{|z{{{|{|{||z{z{{{{z|{|{{||{|{{||z{{{|{{||||{{{{|{{{||z||{|{zzz{{{{{|{|{{{}{|{{{||z{{|{|{}|{{{|zzz|{{||{{||{||{{{{{{|||{{{}|{|{|{|{{|||||{|{|{{{{{{||{{{|}||||{{z{{{||||||{|{{{{z{{z{|||||||{|z{z{{z|||z{{||{{{zzzz{z{{{}{{{{z{{zzz{z{|{{{|{{{|zzz{{{{{{z|}|{|z{z{zz{{{|z|{{|z|{yzz{{{||z{{{{z{z{{|z{{||{{|{yz{zz{{zy||{{{||{z{{zz{{{zz{z{{|z{|zzzz{|z{{{{{{zzzzzzzzzzz{{{{{{zzz{zzz{{{z|{{{{|{{zzzz{||{{{{{z{z{{|yyz{{{{{{{zzzz{z{z{{zy{{z{|z{{{{{z{{{|{{{{{{zz{y{z{|{{|{|{{z{{{zz{{{{{|{|{{{{{zzz{{{|||||}|{{zzz{z{|{{|||{|{{{{zzz|{{{|{||||z||{z||{{|{||||z{{{{{{{{|||{||{{|{|{|{|}||{|{||{{zz{z{{||||{|||||{{{{|||{{{||||||z{|{{{|{||}{|||{{{{{{|}}|||{|{{{{{{{{||||||{||{|z{{{{{|{|||}|{{{{{|{|||{|||{||{{z|{|{{{}}|{{}|{{{{|{|{|||{|{{{{{{{{z{|{{|{|||{{zzy{z{{|{|{{{|{{z{{zy{{{{{{{{{{{{zz{zzz{{|{||{|z{{{y{|z{{{{{{{{{{zyz{z{z|{{{z{{z{{{{z{{{|{{{{{{z{{|{{zz{{{{{z|{zzzzz{{{{{{{{{zzzzzzz{z{{{{{{|z{{z{{zzz{{{{{{|{{z{zzz{|{{z|{z|{z{zzz{zz{{|{{{{{z|zzzz{zy{{|{{z{{z{zzzz{{{{z{{||{{zzz{zz{||{||||{{|z{z{{{{{{{|{|{{{zzz{{{{|{|{|{{{{{z{{z|{|{|}|{|{|yz{{{z{{|{||{{{z{{{z|{||{{{z|{{{{{{z{||}|||||z{{{|z|{|{||{|||{{||{zzz||||||{{}z{{{|{|{{||{{|{{|{|{{|{||||||||{|{{{{|z{}|}|}|}|{{|z{z||}{|{|{|}{{{|{{|{|z||{|{{{{||{{{{||}z||||{{z{{z{|{{||||{{|{{|z{{|}||{{|{{z{|{{{z}{|{z{{zz{zzy{zz{{|{{z|{{zzz{zzy|{{||{{||zzzz{zz{{{{{z|{{{z{zz{y|{}{{|{{{{{zz{{z{{{||{{|{z{zz{z{y|z{{||z{z{z{{yy{{{{zz{z{|{zzzzz{{{|{{{{z{{{{zz{z{|{{{{{zzzzzzzz{z{z||{{{{{zzyzz|{{z{{{{z{{{zy{zz{{{{|{|zzzzzzzzz{{{{{z{zzz{zz{zz{{|{|{{z{{{{{zz{{{{{z{|zzz{zy{zz||{{{|{{|{{z{{{{{||{{{{|{{z|z{z{{||}||}|{||{{{z{||{|{|{{|{{{{z{||}|{{{{{zz{{z{{||{|||||{{|{{{{{|{{||||||{{|{{z{{||}||||z{{{{|z{{}||{|{|{{{{{{{{{|{|||{|{{{{{{{{|||||{|||{{{{{{{}|||{||{|{{{{{|{{{{|{||{|{|{{{z{z{|{{|||{||{{{{{|||||{|{{zz{z{zz{|{|{||{z|{{zzzzz|{|{{z{|zzzzz{zz{{{{{{{z{yz{{{zz{{{{|{{|{{z{{{zz{{{{}|{{z{zzy{{{{{|{{{|{{{zyz{zz{{{z{{{{zz{{z{zz||{{|z{{{zzyzzz{z{{z|{z{{{zyz{y|z{{zz{{z{{zzzz{zz{z{{{{z{zzz{z{z{|{{{{{z{{zyzzyy{{|{z{|zzzzz{zz{||{{{zz{{zz{yzzy{z{{z{|{{{{z{zzz|{{|{{{{z{{{z{zz{{|{{{{{{{{{zzz{z{{{}|}{z{z{{zz{{|z{|{{|{|{{{{|z|{||||{zz{{{|{{|{|||{||{zz|z{z{|||{{{||{{{{{{z{{}{||{{|{{|{|zz|{|{{|{|{{{{z{{{{|{|||||{{zz{|{{{}}|{||||{|{z{{{{{{{{|||}||{{z|z{{||{{}|{{{{{{z{|{{|{{{{||z{z{z{|||{||}{}|{{{{{{{|{{|||{}{z{z{{{z{z{||||||{|{{{{z|||{{{{|x{{z{z{z|{{{|{{{zzzzzzz{zz||{|z{{{zz{zy{{{|{z{|}{{zzzzzz|{|{{{||{z|{zz{z|{{|{{||{{{y{zz{{z{|{|{|zz|{zzzz{{{|z{{{{{zzz{{z{{|{z|{{zzzzz{zzzz{zy{{zzzzzzz|{zz{|{{|z{zzzzzz{{{{{{{|{{z|z{zzz{{{{{z{{{{zzz{{z{|{{z{{{{{{zzzzzzzz{{{{{z{{z{{z{{|{{{||{{yz{zz{{{{|{{{{|{{{zz{z{{|{{{{{|z{|z{{zz|{{{{|{{|zz{{{z{{||{{||||{z{{{{{{||||z{{{zz{zzzz|||{||{{{{{|{zz{|{||{{|{z{{{{{|{{|||{{}{|{{|||z{|||{{}|{|{|{|{z{|}|{|||{{{{{{||{||||{|}}||{z{{{{|~||||||{{|{{{{|||{|{|||{{{{z{{{||{|{|}|||{||{{|}|{||{}{{{{z{{{z||{|{|||{|{{||{z|{{{||||{z{z{{z{{z{|{{{{zzz{{z{zzz{|z{|{{yzz|z{z{{{{{{{{z{z{zzzz{zz{{{|{{z{{{zzz{|{{{|{|{{zzz{{z{{{z{{{{z{z{{zzz{||z{{{zz{z{zz{z{z{{{z{{zyzzyz{{zzz|z{{zzzyzzzzzz{{zz{{zz{zzzzz{{z|z{{{{{z{zy{yz{{z{{{||{zzyzzzyzz{{zz{|{{zz{zzzz{{zz{{{zz{{zzzz{{{{|{{|{z{{z{z{{{{|{{||z{{z{z{z{|{{{||{yzz{zzzz{{{{|z|{|z{{{zzzz{{||{z{|zz{{{z{|z{|{{||z{z{{z{{{{{{{|{z|z{{z{z{|{||}||{{z{{{{|{|||||{||{{z{{{{{{|{||||{{{{|{{z{|{{|{{||{{||{{||||{{||||{{|{{{z{{|{|||||||{{{|{||||{|||||{{{{{{||z{|{|||||{{{{{{{|||{|||{{zz{z{{{{{{{|||{|z{{{y{z||{z||{{{{z{z{{{{{{|{{{{zzyzzzz{{{{{{|{{{{z{zz{z|{z|{{{zz{zz{{{{|z{{|{{{z|yzzz{z{z|z|{{{z{zzz{zzz{{z{z|{{zzzzzz{{zz{{{{{{z{zz{{z{{{{z{{zzyzzzz{{zz{z{z{{{z{{zzz{{{{zz{{zz{zzzx|z{{{{{{{|z{zzzzzz{{{{{{|{zz{zz{zz{{z{{z{{{{{{zyzz|z{{zz|zz{zz{z{{{|{{{{|z{{zz{{z|{|{{|||{{{{{{{|{{{|{{|{z{|yz{zy{{{{|{|{{z{||zzz{{{||{{{{{{{zzzzz|||{{||{{{{{|z{|{z{{{|{{{{||z{zz{|||||{|{{z{y{|||{||||{{{{{{z{zz{{|||{{{z{{{{{{||{{{||}|z{{{{{{}|{{{{|||{{{z{{{|}||{{{|}{{|{{z||||{{||||{{|{{zz||{{{||}{{{{|{|{||z|||||{{{yzzzz{|{||||||{{z{zz{{|{|{z|{{{|{{zz{|{{||{zzzzz{zzyzz{{z{{{{{{zyzzyzzz|{{|{{{{{z{z{{|{z||{{{zzzzzzzz|z|{{z{{z{{{zzzz{{{{{|{{z{{zzz{z{{z{{{|z{z{zz{zz{{{{{{z{{{{zyzz{yz{{{{{zzz{z{zzzz{|zz{{z{zz{z{zz{{{z{||{zz{zzzzy{z{{z{{{z{zzzzzzy{{|{{{{{zzz{y{{z{{z{z{|zz|z{zzz|{z{{{|{zz{zzz{y{z{zz|{{{z{zzzz{{zz{{|||{z{zzzz{{|{||{z{z{{|{z{z{}||{{{z{z{{z{z{|||{|z{{|{z{{{z{|{|||{|{{{{z{{z|{{{|{|{|z{z{z{|{{|{|{{||z{{|{z{z{{||||||{{{{{{{{|}|||{{}z{{|{{{{|{{|}||||{{{{|z{{|}||||}||||{{{z|{|{{||{|{{{{|{}|{z{{|{{{{z{|{{||{|{{{{|{{{{{zz{z||||||||{zzz{{{{{}|{|{|{z{z{|{{{{{|{{||z{{zzz{z|{{{|{|||{zz{zz{z||{{{|{z{zz{|{{||{|{{|{{z{{{{{{{{{{{|||{{z|zz{y{{z|{{|{{{y|{z{z{|{zz{{{z|{z{z{{{{{z|{z|{{{{z{{{{z{{z|{{z{z{zzzz{{z{z{{{zz{zzzyzz{{{{{{|{z{yzz{zz{{{{{|{{|yzzz{y{z|z{{{|zyzzzz{zy|z{||||{zz{|{|z{{z{{{|{{{{{{z{{z{{{z{{{z{{|y{{{{z|||{|{{z{{{|{z{{{{{|{{{{{{{{{z{|{||{}{z{z{{|{z{{||{{{|{{|{{{z{|||{|{{{z|{{{|{{{|{|{}|{|{z|||{{{||{||}{{z|z{{z{z{|{{}{||{{z|{{{}|}||||{|{|{||{{{||}{{|||{{{{|z{{}|}}|~|{z{|{{||{|||{|}|{{||z{z|{||}||||{{{{{{|{|{{{}|{||||{{{z{z||}|}||{|{{z|zz{{{||{|z{{}{zzz{{{{{{{{{z|z{{zzyz|{{z{{{{z|{zz{y{{{{{{|||{{z|z{z{z|{{{{{zz{{z{z{{|{{{{|{{{zy{zzz{{z|{{{|{zzyz{{z{z{{{{{{zzzz{y{{{{z{z{{{{{zz{z{{{z{z{{z|zyz{{zyzy{{z{{zz{zzyy{zz{z{z{z|{zzzzyzzzz{{{{z||{zz{{zzz|zzz{{{{zzzz{z{z{{|z{{|{zz|{|yzzz{z|{{{|{zz{{zz{{{{{{{{|z{zz{{{z{z{{{|||{{{zz{{{{{{||{{|z{{z{y{zz||z{||{{{zz{{{{|{{||{}{{{z{{zz{{{{{|{{{{{{z|{z{{{z||||{z{{z{{|{z|{||||}{{z{zy{z|||{{|{{|z{{{{{z}{{||||||{{||{|{{|||||||||{z{{{{{{{|{|||{z{{z{z|{||||{}||{{{zzz{z||||{||||{{{{{{||{{||}|{z{z{z{z{|{{{|{{{{z{zzzz|{z{{{{|{{{z{zzz{{{z|{{{{{z{{zz{{{{z{||z|{{zzyz{{|{|||{zzzzzz{zz{{{{{|{|{{{z{z{z{{{|{z{|{zzzzzzy{z|{{|{{{zzzz{z{{z{{zz{{{z{z{zzz}{z{z{{{{{zzz{{zz{zy{z{{{{zzzzzy{||{z{|{zzz{yzzzz{|{{z|{z{z{zzzzz{z{{{|zzzzz{{{{z{|z{|{z|{zz{z{zz{{{z|zzzz{zzzzz{{|{{{{{zz{z{|{z{{{{||||zz{|zz|{|{}{{|||zz{zzz{z|{{|{|{|{z|z{z{{z|z{{|{{{{zz{z{|{||{|{|{{{{z{{{{{{{{{}||{{{{{|{{z{{}z|{|{{zzz|{z|{||{{}}{{{{{z{z{{{|}|{||{{{{{{{||}|}|{||{{{{z{{{|{{{|{}{|{|{|{{|~{||{}{||{|zz{{{||||||{{z{{{|{|||||{||}|{|{z{{{|||{{|{||{{z|{{{{{|{{{|||{{{z{{z||{{{||{{{{{z{{{|||{{{z{zzz{{{yzz|{{|{||{{{z{{|{z{{{z|{|{{{z{{zz{{{||{|{z{zz{{zz|{{|{|{||{z{zz{z{{{{{{||{{{{y{z{{{{{{{||{y{zz{zz{z{{{{{{{{{zz{{{yz{{zz||y{{z{{{zzz{z{|{{{z{{{{zzz{{{{{{{{zz{zzz{z|{{z{|{z{{{{z{zzz{{{zz||z{z{z{z{|||{{z|{z{{{{{zzz{{{{|{|{{{{z{{{{{{{|||{{{|{z{{{|{|z{||{{zzzzz{|{{{{{||{{|z{z{|z{{|{|{{z{{{z{z|{|{{{{||zz{{z{z{|{|{{{||{{{{{{|{{|}{||||{{{{{{{{{||{}||{{z|z{|zz|}{||{}{|{{{{{{{||||{|}}{{{{{}{{||{{|}|||{|{z|{{{|{|||{|{{{{{{{{{{|{|}||{{z{||z{{}||{|}||||{|{z||}||||{}{z|y|{zz{|||{|{{{z{{{{{z||||{|}|z|{{zzzzz{{{||{{z{zzzz{z|{{{zz{{z{{z{zzz{{{{{|{|{z{zzzzz{{{{{||{{y{zzz{{{{{|{{{z|{{zy{{z|{{||{{{z{{z{{zz{|{{{{|{{{z{{{zy{z{{{{zz{{zy{{{z{{zzz{z|zzzzzzz{zz{z{z|z{z|{zz{z{{{{{{|{{{zzyzzz{{{{{|{}{{z{zzz{zz{{{{{{{{{{zz{{{|z{{{{{z{{z|zz{z{{{{{|{{zzzzz{z{{||{{|{{z{{zz{z|{{z{|||{{{z{{|z{{z{{|{||{{{{{|{z|{|{|||{z{zzz{{{{|{{{{|{{{{{z{z{||||{z{|{{{z{z{|{||||}{z{{{{{||{|{||||{{{{z{z{{||||||{|{{|{|{{z|||{||||{{{{{{{{||{|}|{||{{{{{{||||||{|||{{|{zzz|||||||{|{|{zz{{{|||||||||{|z|{{|{|{}|{{{z{{{|{{{|{}|||}{z{z{{{y{{{|{|||{zzz{{z{{z{{{{{{z{zyzz{{{{|{{{{|zz{z{zzz{{{{||z{{zzzz{{zz|{|{|{|zz{zzz{z|{|{z|{{z{zzz{{z|{{|{||{zz{zyzz{{{{{z{{{{{{z{zzzz{|z{|{z{|{{{zz{{{{{{{{{zzzzzzzzzz{{{z{|{yzyzzyz{{{|{{|{{{{z{zzzz{{{{{{{{zz{zy{zyz{z{{zzz{zzzz|{{{{z{{|{{y{zzz{zz{{{{z|{zz{{{{{{z{{{z|{|{{z{{{{y{{{z{z||{z{z|{{z{{|z{||{z{{{{{{z{|{|{{{{{{zzzzzz{{|{|{{{{{z{{zz|{{{{||{{{{zz|z{z{{||z|||z{{z{z{{{{{}{|||{zz{zzzz{{|||||{|z{{{z{{{{z|||{|{{|{{|{{|{|||||||{{{z|zz{}|||||{|z||{z{||||{{|||{{{z{{{|{|{{|{{|{{{|{|{z{|}{|{{|z|{zz{{{{{|{|{|{||{|{{z{{{|{{|{{|{{{{zz{{||z{{{{z{z{{zzz{{|{|{{{{{zzz{{{|{{{||||||{{z{zz{{z{{{|{{{{zz{z{{|{{{{|{{{{yz{zzz|{|{{|{{z{y{zzz{{z{|{{{{z{z{{{z|z|{{{|{{{{z{{{{{{{{{{{{{{zz{{{zz|{{z{{{zzzzzzzz{||{z||{zzz{zzzzz|{{z{{{{zzzz{{{{{{z||{{{zzzz{yyzz{zz{|{{zz{{{zzz|z|{{|{{{{{z{z{|{{{{||{{z{{yzz{|{{|{{|{{{z{z{zz|{||{{{|z{{{z{|z{||{{|{|{{{|{|{z{|{{{|||{z{{zz|{{||{||{|{{|{z|{{|{||||||{{{{{{{{||{||{|||{{|{{zz||{||||||z{z|{{{{}{||||||{|{{||{{|||{}|{|{z|{|{|{|{|}|||}{|{{{{{|{|}}}|||{{{{|{{{|{|{||}{{{{{||||||||{||{|{z{{{|{|||{z||{|z{{{{{{|||{{||zz|{{z{z{{|{{{{{{zz{z{zzz||||{{|{{{z{{z{{|z{{{|{{zzyzzzz|{||{||{{{{{{zzz{{||z{|||{zz{z{y{|{{{{z{z{z{{zzz{{|{{|{|{{z{{zzz{{{{{{{{{z{yzzyz{{zzz{|{{zz{zzzzz||z|{||{z{{zzz{z{{z|{|{{z{zzzzz{{{{{{{{{z{z{{zzz{{{{{|{{zzzz{{{{{{{{{{{zz{{zzzy{{{{{{|{|{zz{zzz{z|{{||||z{{{zz{{z{{{|{{{{{z{z|{{{||z|{|{{{z{zzz|||{{||{{{z{z{z{|{||{{{|{{|{{{{|{{{z{{|{{{z{{z{{{|||||||{{|z{zz{{|{|}|}|{{{{||{z|{|{|{|||{{{{|{{|}}{||||||||{||{{{{||||||{{{{|{{{||||||||z|{|{{||||||||||{{{||z{|{|||{}{|{{z|{{||||||{|}{|{{{z{z{|{|{||{|{{zz{{z|||{{{}||{|zz{z{{{{{{|zzzzzzzyzzz{||{{{{zzzz{zzz{{{{{{{|{{zzz{{|{y{z{|{{{zzzzy{{{{{|{z|{{{{{zzzyz{|{{{z|{{yzzz{zz{zzz|{{z{|z{z{z{{|zz{{z{z{z{zz{z{{yz{zzzz{zzyzz{z{z{{|{zzz{zz{zzz{{{{z{zz{{yyzzzz{{{|{zz{z{zzzyz{zz{{zzzzzyz{zz{{{{{||{zzzz{{{z||{{{|{{|zz{{zzz{|z{{{{{{z{{{z{z{||{{|{|zzzzzz{{{{{{||{|zzz{zz{zz{|{||z|{z|{z{zz{|{z|z|{zzz{z{{{z||{{|||{{z{{{{{{{{|{{{|z{zzzz{{{|z{|}||{{|{{zz{||{{{}|{}{{z{{{{{|{||||{|z{{{||{|{|{{{}{{{{{|z{{|||||||||z|{{{|{{|{{||||{{{|{zz{{{{{{||||z{{|{{{||{|{{|}{{{z{|{{{z||{{|{|z{{{{z{z|{|{z||{z{zzy{z|{{{|z{|z{zz{zzzz{zz{{{{{zzzz{zz{z{{||||{{{z{{z{{{z|{|||{{{zzzyz{{{{{|{{{{|zz{{z{{{{{zz{z{zz{{{z{{{{z{{{z{{y{zzz{z{{z|{{z{zzzyzy{zzz{{{|{zzzzzzz{{zz{z{{{zz{zzyyzz|{{{{{{zzz{zz{y{z|{z{{zz{zz{zz{{{{{{{{y{zzzzzy{|zzz{{{zz{{{{zyz{{{{{{|z{{{yzz{{{|{{{||{{{y{{{{{z|{{||{|{{zzz{{z{{{|{|{|z}zyz{z{|{|{|{{z|{{zz|z{|||{{|z{{{{{{{|z||||||{|{{{{zz{{|||||{{{{{{{{{{{|{{{|{|{{{{{{zzz||||}|{|z{{|z{|||||z{||{z{|{{{{||||}|{{{{{{|{{|{|{{{|||{z|{{{{z{{z{||{||zz||{z{{||{{{|||{{{|{z|||z|{|||{{{z|{{{{{{{|||{{{{{{{{z{{{|{{|{z{{z{zzz{{{{{{|zzzzzy{yzz{z|{{{}zz{{{z{zz{{{z||}{{zz{y|z{{zz{|{|zzz{zyzz{{{{{{||{{{yzzz{zz{{z{{|{zzzz{zzz{{{z{{z{z{{zzzz{{|zz{{{{z{yzzzzz}{zzz{|z{yzzz{zz{zzy{{{|zz{{zy{z{{{{|{{{z{zzzzyzz|{{z||z{zzyzzy{zzz{{{{{{zzzzz{z{{{{{|{{{zzz{z{|{{|{}|||z{z{z{{z{||{|{{{zz{zz{{|{{z{{|{zzzzzz{z{{|{}||{{z{{{{{z{||{{z{{{{|{{{{z{{}{{|{|{z{{{{z{{|{{{{{{|{{|{{{z{{|||||z{{{|{{|z{|{|||{|{z{{zz{|{}|{||||{{{{{zzz{|{{||}|{{{{z|{{{{|{{||||{z{{{{|{|}|{{}||zzz|{{{|||||||{|{{{{|{{{{|}||||}{||{{z{{|{|{}||{{{{{zz{{}||||{{{z{{{{{zz|||{{{|{z{zz{{{{{||{{z{{{z{zyyyz{y{{z||z{zzz{zzz{z{{z{{{{{zzzzz{y{{zz{{{yz{zzz{{{{{z{{{{{yzyy{z{{z{{{z{{yzzyzzz{zz{zz{{z{zyz{zzz{zz{{{{z{zzy{zzzz{z{{zzyzzyzyzzy{z{{{|{{yzzz{yz{zz{{{{{zzzzzz{zzz{|zz|z{zzy{{zyz{{zzzzz{yzyzyzzzz{{|{{zzz{{z{zz{{|{{zz|{{z{yzzz{{{{zz{{zyzzzzz{{z{|{z{|{zzzz{zz{z{{{|{{{{{zzzzz{|{{{{{|{zzz{{yzz|||{{{{{{{zz{{{{||{{{|{z{zzzz|{{||{||||{z{||y{{{|{||{}||z{{|y{z{{{{{||{{z{{|z{{}|{||{|{{{zzz{}z||{{|{||}z{zzz{{||{||{|{{{{{{z{{{{|{{{||{zz{zzz{}{{{{{|||{z{{|z{{{{|{{||{zzz||zz{||||{|}{{zz{z{{{|{||z{{zz{z{z{z{||z|{{|{{{zz{zz{{{{{{{z|zzz{z{zz{{{{||||{{yzz{z|{z{|{|{{zzz{zz{|{{{{{{{{{{zz{{{{|{{z|z|{zzz{{zz{z{{{{|{{zz{zyz{zz||z|{z{{zzzzz{{z{z{{{|z{zzyyzz{zz{|z{{{{yzyzyzz{{{|{{{{{zyz{zzz{zz{{z{{{zz{zzzz|{{{z{|zz{zzy{z{{{z{{||zz{z{{{z{|{{{{}|z{zy{zz{{|{{{|{{{{{zyyz{{{|{{}}{z{{{{{{z{z{{|{|||{|zz{{z{}{{|||{z{{{{{{|{||{||{|z{z|z{{z|{||||{{{{{{{{{{|z||{||{{{{{|{|{}|{||{|||{{|{zz{z|{|||{}|zzz{zz{|}|{|}|{|{|z{{{|||}||{{||{{|{{{{{}|{|||||{{{{|{|||}|}|||{|{{{||{{{|}||}|{{{{|{|||||{{|}|{{{{{z{{{||{{||||{z{z{{z|{|||{|z{{{{{zzzz|{{||{zz{zzzzy{z{{{{{{|{z{{{zyz{zz{{|{|{z{zyyzz{{z{{||{{{{{{y{z|z{{zz|{z{{zz{zzz{{{{z{|{{z{zzzzzzz{{|{z{{{zz{{{z{{zzz{{|{zz{yyz{{{{z{{{z{zyzyzyzz|z||{z|{zz{zz{z{{z{||{zzz{zy{z|{{zz||{{zzzzz{{yz{z{z{|{zz{|zz{{z{{z{|{yz{zz{zy{{{{z||{z{{{z|zz{z{{{{{{z{zzzz{{z|{{{|||zzzz{{z{{{{{{{|{{z{{z{{z{|{{{|{{{z{zzz|{{{{||{}|{{{{{{{{{|z{{{{z{|{{zz{{{{}|{|||{z{|{{|{{|{||||||{z{{{z{z|{{||||{{{|{{{{|}|{{}||{zz{z{{{||{{||||{|{{{{{{{}{|{|}{|z{|{z{{||{{{|{|{{{z{{z{{{|z|{||{{{{{{{{{{{{||{|||{|{{zz{|{{{||||z{{{z{z{|}|||{{|{|z{z{z{{{z{|z|z{z{{yz{z{{{z{{|{{{{zzzzz{{{{{|{{{zzz{z{{{{{{z|{{z{{{{z{{{z{{z{|{{zyzzz{|{{|{{{|zz{{z{z{z|{{{{{{{z{|zzyzz||zz{||zz{{{zz{zz{z{{{zzz{zzzzzz{{z{|{{{zz{zzzz{{{{{|z|{{z{yz{zz{|y|{||{z{{z{zz{{{z{z|{z{zy{zz{{z{zz{||{{{zz{zzzz{{{||{{{{{{{{{{{||{{{|z|{zzz{{{|z|{{|{|z{|{{{{|{{|{|||zz{z{zz{||{{{||{{{{{z{{z{{||{||||{z{{|{{|{}{{|{|{z{{|z{{{||{|||}{{{{{zz{|{}|{|||{{z{{{z{|{}{z||||{|z{|z{|||{{|||{z|z{{|{|||||||{{zz{{{z|{|{||{}|{{|z{{{{{{{{||}{||{|||{{|{{|||||{|{{{{{{|{{||{||{{|{z|{z{|{|{{||z{z{z{{{z|{{|{||{z|{{z{{{{{||{{|{z{{{z{zzz{|{{{zzzzz{zzz||{{{{||{zz{zzyz{|z{{|{{{z{zyz{z{{{|z{}{{z{{zz{z{{{z{z{|{zzzzz{zz{zz{{{{z{{zzzz{z|{{{|{zz{zzy{zz{{{{{{{zyz{zzz|{{z{{{z{{z{zzzzyyz{zz{{{z{{zzzyz{{z{{{{{{z{zz{{z{{{{{z{{{zzy{{zzz{{z{}{|{zz{z{zzz{{{{{||{z{{zzz|z|{{{{{{|zz{y{y{z|z{{||{|zz{zzzz{z}zz|||{{{{zzyzz{{{|z{|z|zzzz{{zz{{{{{|{|{z{|z{||{|||{{{zz|{z{z{z{{||{{|{{{{{z{||{||{|{}{zz{{{zz|{{||}z{{y{{{{|{{|{{||{|{{{zz{{{{|{{{{|||{|||{{|||{||{{||z{|z|{{{||{{}||{zz{z{{|{}{{{||}{{{{{{{{{{{{|||}{{|zz{{z{{{|{{|}z{{{z{{{{{|{{z|}{{{yzzz{z|{{{{z{zz{y{z{y{|z{|{{{{zz{{y{z{{yz{|{|zzzzz{yy{{zz|{{{{zzzz{z{z|||zz||{y|zzzzz{{zzz{{{zzzzyzzzz{z{{{z{zzzzzyzzzzzzz{z{zz{zzzzzzz{{zzzzzz{{zzzy{{{z|{{z{zzzzzyz{{zz{{z{yzzzzzzz{{{|{z{{zz{{zz{z{z{{z}z{{zzz{z{z{{{z{|{{zzzzzzzz{{{z{|{z{z{zzzzz{z{z{|{{{zzzzz{z{{{{{{{|{z{zz{z{{{||{{{|{{z{|{zz{{{{{{{{{z{z{{zz||{{||{{{{{{zz{{|z{{|{{{{{zz{z{{{{{|||{|z{z{|{{|{{{{||||z{z{{{zz||{||{{|{{z{z|zz{|{z||}|{{{{z{|{{z{{{|{{|{{{z{{{{|||{|z{{{|{z{{|{{{{|{|{{{{{z{z{{{z{{{|||{z{{{{{|z|{|||}{{{zzyz{{|{|z||{|{z{z{|z{{||{z{|{{{yzzzz|}{|{{|{z|z{zz{zz{{z{{|{zzz{{zyz{{zy{z{{{{zzzzzz{{{{{{|{||{{zyzz{{|{zz{{{z|z{zzz{zzz{||{{y{zz{{{{{zz{{|zz{{{z{zz{{|y{{|{zzzy{zzzzz{{z|zzzyzzzzz{zzz{zz{{{{zz{z{}z{{z{{{|zzzzzyzz{zz{z{{{{zzzzz{z{{zzz{{{z{zz{yzy{z{{z|{{{{z{yzzz{z{z{{|{{zzz{{{z{{{{{{{{{{{zzzzz{|{{|{|{zz{zz{zz{{{{||||z{{zzz{z{{||{||{z{|z{{{{{{|{{{|{{zzzzz{{|{|{{|{||z{{||z{||{||}||{z{zz{|{|{||}|||{{{{{{{z{||{||{{{{z{|{{|{|}|||{|{z{{{{|{{{{|}|||{|{{{|{{{{|||}|||{{{|z{{||||||{}|z{{z||z{{|||||||z{{|zz{||||}{}|z{{z{{{{{{{{||}{||z{{{z{{|z|{{}z{{|{z{{{{{{|||{{zzyzzzzyz{{z{{{z{{zzzz{z{{{{{|{{zzzz{{{z{zz{z{{{{z{zzyzzz{||z{{|{{{z{z|zz{{{{|{|zzzz{{{zz{zz{{{{yz{zzz{z|z{{{{|zzzzzy{{zzzzzz{{{zyzyyz{z{z|{{|{{{zzzzzy{z{z{{zz{{zz{zzy{z{{|{z{|yzz{{zz{yz{zz{z{z{zz{zzzz{{{z{{{{z{zz{|zzzz{{{z{zz{z{zzyzz{{z{{{zzz{{yz{zzzzz|z{zzz{z{z{{{{{{{{|z{zz{zzy{|z{{|z{{{{z{{{z||{{{{|y{{z{{z{zz{|{{|{{}{{{{{z{||z|{||z{{{{z{{{{{||{|||{|{zzzz|}||{{{|{{{{z{{z{||z{||||{zz{{{|{|{||{{{||{{{{{{|||{||{{|{{z|{zz{|||{|{|{|z|z{{z{{|z||||{||{||{z{{|{{|{{{{{{yz{zz{{z|{{{||{zzz|{{{{{||z||{{{z{zzzzz{{|{|{{yzzyzz{{{{z{z{{{zz{zzyz{{{{z{{|zzzzzzzy{{{{{{{{zzzzzzzz{z{{{{{{{{zzyz{z{{zz{z{{zz{zzzzzz|{{z{{zz{zzzzz{yz{z{{{zzy{zzyyy{{yzz|{z{zyz{z{y|{z{z{z{yyzzxzzyz{{z|z|{{zyyyzzz{{{{{{|{{zz{zyzzz{zzz{{|z{zzz{zzy{zz{{{{zzzyzzzz{{zz{{{{{zzz{z{{z|{{z{{}{z{{zyzzz{{{{{z|zz{zzzzz{{{{{{{{{{zzzzzz{{{{z{{{{zzz{zyy{{{{{{|{z{zz{z{zz{{{{|{{{{{{zzzz{{{{|{{{{z{zzz{z{{{|{|{|{{{{{zz{{{{|{|}z{z{{z{}{||{|{{}|{z{{{z{{{|{{z{{}|{{{{{zz{||{{{||{y{{{zz{|{{|{||{{{z{{zz{{|{{|{|{|z{{{zz{{{{{{|{||z{zzzz{||{{{{||{{z{{{{z{{z{{z|{{{z{{z{zz|{|{{|zzz{yzzzzzz|z{z{{z{{{zzzzz|{y{{{{y{{zyzzz{{z{|{|{{zz{zyy{zzz{z{z{z{{zzz{yz{{{{{{{z{yzz{zzz|zzz{{{zz{z{zzzzz{z||zz{{yyy{y{zz{z{z{{zzzzyzzzz{z{{{{z|zyzzyz{z{{{{z{{{zzzzzzzzzzz{{|{zyzzzyzz{z{|z{{z{zzz{{yyz{{{{{z{zz{zzzz{{{z|{y{{{zz{{{yy{||{{{|{z{{zyz{{{z{{z{{|z{z{zz{{z{{{|{{z{z{z{{{{z{|y{|{{{z{{z{{{{|{|{{||{z|zz{z{{{{z{{{{{{zz{{zz{{||{{||{zz{{z{{{|{||{{||{{{|{|{{|{z|{{{|zz|{{{{|||{{|{||{{{|z{zz{||{{{}|{{{{{{{{|||||||{z{|zzz{||||z{{|{zzzz{{|z||||{{{|{{z|{z{|{z|{|{|z{|{{{{z{|{z{{|}{zz{{zzz{{{{{{|{zzzzzzyz{{|{{{{zz{zzzyzzzz{y{{z|zyz{zzz{{{{{{{{{zzzzzzzz{y{{z{{{{z{zzzzzz{{{{{|{zz{{zzzyz{z{{{{{z{zzz{zzz|{z{|{{zzz{zyzz{{z{{{{{zz{zzzz{zzz{{{z{yzzzy{zz{{{yz{{{{zzyz{z{zz|zz|zzz{z{zzz{{zz{{z{{zzzzzz{zz{{zzz{{y{zzzz{y{|{{{{{{zzy{zzzzz{{{z{z{{{zz{{zz{{{{{{{z{zzzzz{{{z{{z{|{{y{{zzz{|z|{|{{{{{{{|z{z{{{{{}{{{z{{{{zz|{{{{{||{{{z{zz{{{{{{{{||z{{{{z{{z{{{|{|{zz{{{||||{|{|||{{|{|{z{|{{{{||}|z|{{z{z||{{||||{{{{z{{{|{{{|{|{{{z{z{{{{||{{{||{{{{zz{|{{|{{{||{{{{z{|zz{{|||||{|z{|zz{z|||}|||{{{zz{{{{{{{{{|{{zzz{z{{|||{{{{{zz{{{zy{{z|z{{{|zzzz{{{{{|{{{{z{z{{{z{{{||{{|{|{{z{zz{zy|z{{|{{{{|z{z{{zzz{{z{{{{{z{zzzzzz{{z{{{{yzzzz{yy{{{{{|z{z{zzzzzzz{z{{{zz{{zz{z{{{{z{{{{yz{{z{y{{z{z{{{z{zzzzzz{{{{{|{{z{{z{yzzzzzz{{|{z{z{yyz{z{{{{{{{{yzz{zy{z{{{{{{z{zyz{{{y{{|{{{{{{{zy{|y{z{{{{{{|{{{{{zz|{|||{{{{{zz{yzzz{z{{|z|||{{{{zzzz{||{{}{{{{{{{{z{{{{{{{{|{{z{z{{z{{|{|||{{z{|{|z{|{z{}{||{{|z{{{|||}||{}||{|z{zz{|{||z{{{{z{{z{{|||{{||}|{{||{{||z|{||||||z{{{{|{{}}|{|{}{{{{z{{{{|{{}||{{{{{{{|{{{|}|||||{z{||{{}{{||||}{{{{|{{{z{z|}{}||{{zzz{z{{{{z|||{zzz{{{{{{|{{|z{zzzzyz{zz{{{{{{|{{zzzzzz{{{{{z{{z{zzy{{zzzzz{|||{zz{z{zz{{|{y{|{{{zz{yzzz{|{{{{{{zz{{z{zz|{zzz|{{z{zz{{z{{{z{{{zzzzzzz{y{zzz{|z{{z{{zzzzz{{{z{{zzzzzzzyz{{{{{{{zzzzzyyzzz{z{{{|z{{zzzzzzz{|z{{{zzzzz{zzzzz{{z{|{z{{zzz{zyz{|z{{{{y{{{z{{{{{{z|{|z{{zyzz{{{{{|{|{|{{z{z{{{{{{|{{{z{{z{zz{z{{{{{|||z{z{{{{|{|z{|{|z{{z{zzz|yz{|{{|}{{{{{{{||z|||{zz{|{z{{{z|||||||{zz{zz{||z|{||{|{z{z{{{{{|{{{}{||{z|{{|{|||{|{}|{{{{{{{z{|{{{||}{{{{{{zz{||}||{|{{{{{{z{{|{{{{|||{{z{z{{{|}||}{|{{{{{{{{{|{{{{|z|{z{z{zz{{{{{{||{{{{{{z{{{{|{{z{{{zzzz{z{|zz|{{{{z{{z{{z{{|{{|{{{{zzzzz{{{{{{z|{{z{{{zzz{{{{z{{|z{z{yz{y{{zz{z{{zzzzzz{zz{|z{{{z|zzzzzyz{{{{z|{zzzzzzzzz{zz{z{z{zy{z{zzz{|{{z{{{{zzzzzzzzz{{{{{|zz{zzzzzz{{{{{{|{zyz{zzy{z{{{{{{|zzzzyz{{|{{||{{{{{zzz{y{{{{{{{z{{{{{{zz{{|{z|{|zz{zzz{z{{{{{z||yz{{{{{zz{{|{{|{z{{{{z{|{|{|{{||{z{z{{{z|||{|{{{z{{{|zz{z{z{{||||{{z{{{|{|||z{||{{z{{{|{{|{|{|||{{z{{zz{|{|{{{||{z{{{z{{}||{{|{|{{{{{||{{||{}|{||{{{{{z{|{|||}|||z{{{{{{||||||{||{{zzzz|{|{{|{|z||z{{{z{|{||{{|}{{{zzzzy{{z}{{{{{{|{{z{{{{|{{||z{{{z{{|{{{}{}{z{z{z{zzzzz|{|{{{|zzzz{zzy{{{{{z{|zzzz{zzz{z{{{{{|zzz{zzzzzz{zz{||{y{y{{{z|{|zzz|{{{{zzzzzzz|zyzz|{z{zzzz{{{{zz{|{zy{z{zzzzzzzz{{|zzzzzyzz{z{zz{{zz{{zyzzzy{{{{{{{{zzzzz{zzzz{{{|zzzzyzzzzz{{{{{{{{zzyz{zy{z{{{{z{zzzz{zzz{z|{z{|{zzyz{{z{{{z{z{z|{z{{{z{z|{|{{|{|zz{{{{zz{|{{{|z{zzzzzzzz{{{|{{{|{{zz{zz{{|{{{{{{z{{zzz{{{{}{{{{z{{{{{zz{{||{||{|z{z{{{z||z|{{|||{{{{{zzy{|}|{|||{z{{{{{{{|{||}||{{|{{{||{|{||||||{z{|z{z{|{|{||}|z{{z|{{{||||{|{|z{{{{z{{{{|{|{{{{{{{{{{|{||||||{{{{{zzz|}||{{|||zz{zz{zz{{|{{{{{z|{zzzz||{{z{zzzzzyzyzz{z|z|{{{zzzzzzzyz{z{{{{|{zzyzzz{{{{{z||{{zzzzzz{{{z{zz{|{zzzzzzz|{{{||z|{zy{zzzzz{{{z{{z{{{yz{yz{zz{{zzzzzzz{zy{z{z{z{z|zzzyzzzzz{z{{z|{{z{{zzyz|{z|{{|{{zzyz{zyz{{{z{|z{zzzzxzyz{{{{{{{{zzzz{z{z{z{{{z{zzz{{z{yzz{{||||{zzz{{zz{{{z{{{{|zz{zz{zz{{z{{{{zzz{z{zz{{{{||{{{{{z{yzy{{z|{{{{{zz{{zz{||||{{||{zz{{z{{||{|z|{z{{zz{{{{{||||{|{|{z{{||{{|{|{|{{|{{{{{z{||{{z|{{z{z{|zzz||{|||||zz{z{{{{||{{{{|||z{{|{|z|}||{{{||{|{z{{{|{|{|||{{{{z|z{{|{{{{}{|||{{{{{z||||{}||{z{z{zz{{|{|||||{{{y{z{z{{{{||{{{{{z{z{z{{{zzzz{z{zz{{zz{z{{{z{{z{{zzzzz{|z{||{{{z{yzzzz{z{{{{{z|{{zz{zy{{{{z|{{{zz{zz{y{zz{{{z|{z{y{zzz{{{zz{{{{zz{{zz{z{{z{{{{y{{z{z{{zz{{zz{z{zzy{yzz{{{{{{z{zyzzzzzy{{zz{{{|{{{{zyzz{{{{{{||z{zz{zzzz{z{z{{{z{z{zz{zz{z{|{{{z{z{z{zz{zz|z{{{z{zz|z{z|{{z{z|{{z{zzz{z{{z|z{{|zz{{zy{z|{{|{{{{|zzzzz{zz|{{{|||{z{{{{z|||{{{{{{{yz{zz{{|{{{||{{{{{{{z{{{|||{||{{{{|{z{{||{|||{|{{|{z{zz|||{|{||{z{{zz|{|{{{||||{{{z|{{z{{{|}|||}{{|{||{||||{|}{{{||zy|z}|{{|{|{{z{{{zz{|{{{{{|||{{||{{z{|{|{|{||z{{z{{{{}|z{{{||{zz|z{y{||{||{{z{{zzz{{{{{{{|{{{{zzz{zy{{{{{z{{z{zyzzzzz{{{{|||z{zzzzz{{{{{|{z{{zzyzzz{{{zzz|{{zzzyyz{z{{{{zzz{zyzzzzzzzz{{{{{zz{zzzz{z|z|z{zzy{zzzzzzzz{z{zz{zzzzyzzz{zz{y{zzzzz{yzzzzz{{|{z{z{z{zzzzy{{{{z{z{zzzz{zyzzzzz{{{{{{zzz{zzz|z{{{z{zzy{{z{yz{{{{{|||z{{{zyzz{{{{{{|{{zzzzzz{z{{{||{{y{{zz{{{{z||{}{{{z{{z{zzz{|z{{{|{{zz{{z{{|z{{|zz{{z{zz{|||{{{{{{|z{{{{{|||||||{zz|{{{zy|{{}|{{{{{|{{z{{{{{|{||{|{{{{{{{}{|{||{|{z{z{{|{{{{|}|}|{{z{z{{{{|{}{{}{{z|z{{{{{{|||{}{{{z{zz|z{||{||{{|{zz{zz||}{{|z|}{{{z{z{{{{{{{{{|{{zz{{{{{|{{{z|{zz{z{zz{{{|{|{{{{yyzzyz{z{{{{z|{zzzzz{yzzzzz{{{{{z{zz{{zz{zy{z{{z{{yz{zy{z{zzz|{{zz{yyzz{{z{{{{{zzzyyzzzzzzzzzzz{{yzzzzzzzzy{zyzzz{zzzzz{{{zzzz{{yzzzzzzzz{zz{{{zzy{y{yxz{zzz{|{zz{zzyzyzzz{{{{|zz{zzzzyzy{{zz{{zzyyyzzzy{zz|{{{{zz{{zzyz{zzzz{zzzzzzy{z{{{{z{z{{zz{yz{z{{{z{{{{zz{z{{{{z|{{z|{{{{zz{zzzz{z|{|{{{z{z{z{y{{|{{{{{{zzzzz{z|{{{{{{z{{z{z|{y{{|{|{{{{{|{zz{{|{{||{{||z{{{zz{{{|{{||{{yz{{{zz{{{{{{|{{{{zz|{{||{{|{||{y{zzz{z{||{|{}|z{z{{{{{{|{{|||{{z{z{zyz{{{{{|{|{yzz{z{|{{{|||||{zzz{{zz{{z{z{|{z{{{{{{zz|z|{{{z{{{yzz{zz{{zz{{{{zzzyzzz{{{z{{{{{{zzzzzz{z{||{{|{{zzy{zz{z{{{|zz{{z{zzz{{{{{zz|{{zzyyzyzz{{{{{{{yzzzzzyzz|zz{{{{{{{yzyyzyz{{{{{{zzzyzzzyzzz{zz|{zzyy{zyzz{y{{{{zzyyyyyz{|z{zz{{{zz{yyzzyz{z{zzz|zzzyzz{z{z{zzz{{zzyyzz|zz{{{z{{{{z{yz{zz{{z{{z|{{zz{zzz{{{z{z{|{z{{zyzzz{{{{zz|{z{z{z{zz{{zz{{|{{z{zzz{z{{{{{{{{|z{zzyzz{|{{{{|z{{z{{{{{{{{z{|{|{z{{{{|{{{z|{{|{{{z{|{z|z|{|{z{|z{{z{{{z{{{{{||{{zz{{z|z{|||||{{zz{{{z{{|||||{{{{z{{{{{{{||||||||{||{{{z{{{|||}{{z{{{{{{{|{{||{|{{{{{{yz|{||{{{{z{{z{{z{{{z{{|{|{{zz{z{z||{{z{{{{{{zzzz{z{{z|{{{zzz{zzzz|{z{{{{{z{zzzzz{{{{z{{||{zzz{{zz{{{|z{|{zyyz{zzzz{|{z{{{zz{zz{zzzz{{{|z|z{{zzzzyy{{y{{{{zzz{{zzzz{{{{{{z{z{zzzz{zzz{{{{{zz{z{{zzz{{{{z|{yyyzzzzz{{{{{{z{{zzzz{{{{z{|{z|{{z{z{zzz{zzz{{{{zz{yz{yzz{{|z{{{{zzzz{zzz{{{{z||{{zzzz{{{{{{{||||{zzzz{|{{{z{{|{{zzz{{{z{{{{{{{|{{{{zz{{{{{{||||{y{z{{zz{{|{z|||{z{{{{{{{||}{{{z{{z|{|{{|{{{||{{{{{|{{{{{{||z{|||{{{{z{y|||||||{|{{{|{{{|{{{{|{|{{{{{{z{{{|{{||{|{{{{|zz{}{||{||{{{{{{|{||||{|}{{z{{{{|z||{||{}||{z{|z{{{{||||{||{z{z|z{{|{{||||{{{z{|{{{{{z|z||{|{{|zzz{{{{z{{{z{z|zzzzz{|{{{z{{{zzzyyz{{{{{|z{zzzyzz{zz{z{{{{{zz{{zzz{z{{{z{{|zzyzzzzz{z{{z{z{z{y{zzzyzz{z{{{{zz{z|zzyzzz{z{{{yzzzz{zzzz{zzzz{zzyzz{zz{{z{z{{{{zzzy{zzzz{z{{{{|z{zy{zzzz{{{{||z{{zzzzzz{{{z{{{{{{yzzzzz{{z{|{{zzzzzz{z{{{{{{{|zz{zz{zzz{{|{{{|{z|zzzzzz{{{zz{{{{{zz{zz{z||zz{|zzz{{z{z{{{z|{z{z{z{|{zzz{{{{{|z|zzzzz{{{|yz||{{z{{{zz{{|{{{|{{|{zz{{z{{{{{|{||{{z{{{zzz|{|||{}{|z{z{{{{{|{{||||{{z{{{{z{{{|{|||{{{{|{|{|||||||||z{{{{z{|||{{{{{|{{{{{z{z|zz|||||{{|{|{||{{|{|||z{|{{{{zz{{|||||z{{{z{{yz|{{{{|{zz{zzz{z{{z{{{|{{{z{zz{zz{{z{{zzzzy{yyzz{z{{z{|{z{{yz{{{yz{{{z|{{zz{zyzzzz{{z{{|{z{{{z{z{z|{{{z{y{z{y{{{z{|zzzz{{zzzzyzz{z{z{{{{{zzzzzzzzz|{{{z{z{{z{zzy{{{{z|{|zzy{z{z{{z{z{z{{zyz{zyzy{zzzz{{|{z{z{z{z{{{{zz{{z{{z{zzyzzz{z{{{zy{zzyyz{{{{{z{{{zz{{yz{{|{{{{{{{z|{zzz{{{z{{|{{{{{{{{z{{{|z{{{{zz{zzz{z{||{{{{{{z{zz{z{{{|||{{{|z{z{{z{{{||z{{{{z{{{{y{|{||{{{||{|{z{{{{z}|{||}{{||{z|z||||{||}{z{z{{{z{|{}|{}{z{|{{|z{z{||{|||{{zz{z{{{{||{||||{{z{{{{|{{{{||{{z{|{{{|z|{{|||z{{{z{zz{{{{{||||z{|z{|{{|{{{{{{{z{{{{z{z{}{|{z|z{|{y{z{z{{|z{|{z{zy{{zzy{||{{{{{zzzzzz{zz{{|{z||{{{y{|{z{{z{z{{zzzy{z{zzy{zz{z{|{{zzyzzy{{|{{z{|zzzzzzzzz{zzz|{{{z{y{zzy|{|z{z{{z{zyzyzy{|z{{{|{zyyz{z{z{{|{|{{{{zzzzzy{{{{{{{{|z{{zzzzyz{z{{z{{zy{zyy{z{{{z{zz{{zzyzz{zz{z{{{{{zz{{zzyz{z{|z{zz{{{zz{{z{{z{{{z|zzzzzz{zz|{{z{||zz{zz{{z{z||{|||{z{zzyzz{|{{z{{z{z|zz{z{{{|z{{|{|{z{{{{{{{||{{{|{{{{{{|z{|{|}|{{{z|z{z{|{|||{|{||{||{z{{|{|{{|{||{z{{{z{{|{{||}}{{{{{{{|{|{{{||||{{|{|{{{}{||{}|{{|{{{{{||{|||}|{{{{{{z{z{|{z|||{{{z{{zz|{||||{~{|{{{zz{{{{{{||||z{{z{z{{{{|z{|{{{zz{zz{{{|{|zz{{zz{zzzzzz||{z{{zzz{{yzz{z|{{z{{{{yyzyzz{{zz{{{{{zzyzzzzz{z|z{z{z{zyyz{yzz{zzz{|zzzz{{{zz{zz{z{{zzzzzzyxzz{{z{z{z{zyzyy{yzz{z{{zzzzz{zzzzyz{{z{z{{zzyzz{zz{z{z{{{yzzz{zz{{{{z{{zz{{{zyzyz{{zzz{|{y{z{zy{z{z{{{{{zy{zz{z{z{{{{z|z{{zz{zzz|{{z{{{{zzz{{zz{{{zz{{{|zz{z{zyz{{|{z{{|{zz{zzzz{{{{||{{zzzzz{zz{{{{{{{{{{{{zzzz{{|z{|{{zz{{{{{{z{||||{|{||{{|{{{|{|{{||{z|z{{zz|{|{{}|z|{{{{{{{{{{{{{}}{z{z|{{{{|{|{|{{|zz|{z{{{|{||{|||{{{z{{z|{{|||||{z{z|{z{|{|{||||z{{z{{{{|{{||||{{{{z{{{{z{|{||{||{z{{zzz{|{{{{||{z{zzz{yzz{{{{{{zyzz{{zz{z{z{{|{zzyzzzz{z{z{z|{{{yzyyzzy{{{z{{|{zy{z{zzzz{z{{{z|{zzzzzzyzzz{zz{|zzzyz{zzzz{{{{{{{{yyz{zy{z{zzz{|zz{{xzyzzz{{zz{|{zzzzzzz{{{z{zzz{zzzzyzzz{zzz}z{zzyy{zzz{{{{{{{|zzzz{zzzz{{y{z{z{z{zzyzzy{z{y{z{zyzzzzzzz{{{z{|{{z{yz{zzz{z{z{z{zzzzzz|{{{{{{{z{zz{zz{zz{{|{||{|zz{{z{{zz{{{{{{{|y{z{zz{{{z{{{{{{{{{y{{|{{{{{{|z{zz{{{z{{{|||||{{{|{z{{|{{z{{||{{z{{z{z{|}||{{||{{z{{z{z|||{{{||z|{{{|||{|{||{{{||{zzz{|{|||}{||{{{{z{|{|{|{{|{|{|z{{z{{{{|||{|z{{z{{{z{{{|||{{{{zzzz{zz{{|{{{{|{{z{{{{z{|{z{zz||{|z{{zyzz{{{z{{|{zzzz{z|z{{{{{|{{zzyzy{{{{{z{{z{{z{yzz{{{zz{{|{{{zz{yyz{{{{{{{{z{zzzz{z{{{{{{{|{zzzz{zyzy{{z{{{{z{zyzzzz||{{zzzzyz{zzyy{{{{{zz{yz{yzzzz{{{zz{{z{zyzz{zz{z{{{{{|{z{{{zzy{{z{z|{{zzzzyzzzzzz{{{|{{{{z{zyyz{{{z{{{zzzzzzyz|{zz{{z|{zzz{{{zz|{z{{{{z{{z{zzy|z{{|{|{yz{{zz{zz{{{{{{|{z{z{{{{zzz{{{||{z{{zzy{|{{{{{{{|{zz{z{z|{}z{|{{z{z{z{{z{{||{|||{|{{z{{||z|{{|{||{{{{z{|{{|{{|}{|{{z|z|{{|{{{{{|{{{{{z{{{{|{{|{{{z{{{{{{{||}|||{{{{{{{{|||}|{{|||{z{{y{{{|{{|{{||z{{{{z|{{||{|{|{z{{{{|{|{{||}|{{|z{{y{{|{|{z{|{{zz{zz{{|{{{{|{{y{zz{z{yz{{{||{{{{{zz{zz{{{{{{|{{{yyzzzz|{zz|{|{{zzzzzzzz{{{z{{{{zzyzzzyzz{{z|{zzyzx{z{zzz{{z{{|{{{{zzz{y{{zz{{z{z{yzyz{zyz{zzzz{zzzzzyzzzz{zz|zzzzzzzyy{zzz{{{{zzzyy{zzz{yz|{{{zzz{yzzy{zzzy{z{zzzyyzzzz{z{{{{{zzyzzzz{zz{{{{{|{zzz{zzz{z{{{|{{{{z{zyz{{{{{z{z|zzzzzzzz|y{{{z{{y{zzz{zz||{{|{{{z{{z{zzzz{{|zz||{{z|{|z{|{{{{|{{{{{z|{z{{||{}|||z{|z{{|z|{z}z{||{{{|{{{{{{||{{|{|z{{zz{{{|{{||{|{||zz{{{{{|{|{||}{{{{{{z{{{|{{||{z{{{{|{|{|{{|{{{{zz{{z{{{{{||{|{{{{|z{|{{{|{{{|z{{zzz{{|{{{|{}|{|z|{zzzz|{|{|{{z{{zzzz{{{z{{{{zzz{{yzzzz{z{{{z{zz{zzyzx{z|{z{{{{{zzyz{zz{{{{|{{{zz{xzzzzz{zzz{{zzyzzxzz{{{{{z{|zyzzzzz{{zzyz{{zzzzzzzzy{{{zz{zzzyzzzzyz{{yz{{{zyyzz{z{zzzz{{z{zz{zzzzzy{zzz{{{{{{{zyzzzz{{|{z{{zzyzyzzzzz{zzzzz{yzzzzz{z{z{{|y{zy{zzz{z{{{zz{||yz{zzyyzz{|zz{z{{yzzzyzz|zzz{{{{z{{{yzzz{z|{{{|||{zy{y{{z{{|{|{{zzzzz{z{{{{{{||{{{zzzzzz{{z{{{{{z{z{{zz{{{{{|{{{z|{{{{{{|{|z||{|{{{{{zzz{{z{{||{{zz|{{{z|||{{{|{{{{zz{z{{{{|{{|||z{{{z{{z|{||{|{{{{{z{{{||||{|||{{z|{{{z{{{{{|{{z|{{{{{{|{z|{|||{{zzz{zz|{{{z||{{{{{zz{zz{|{{|{{z{{zzz{z|{z{{zzz{zzz{yzzzz{yz{z|yyzzzzzy{{{{{{z{{y{{zzzzzz{{||{zzzz{{zyzzzzz{{{{z{zzzyzz{{{{{|z{zzzz{zyzz{zz{{{{zz{zzzzzzz{{{|zzzzzzz{z{zzz{z{zzzzyzzzzzz|{{z{{{zzzzy{yz{zz{{{{{zz{zyz{zy{zz{z{{{zzzzzzyy{zz{zz{{z{{{zzzz{z{{{z{{{yyzzzzz{{{z{{|{{z{zzzzz{z{z{{{{z{z|y{{{{|{z|{{z{z{zyz{zz{z{{{{z{{y{y{{z{{{{|{z{{{{z{zz{{||{{|{zz{{z{{{|{{{{|{|{zz{{{{{{||{|{{{zz{z{{z{{|{|z|||{{{{{z{z|{|{|{|||z{z|z{z||{{{|||{{zz{{{{{z||||{|{{z{{|z{{|z|z{||{z{{zz{z|{z|{||{|{{{z{|{|{{|{||{|{z{{{{{||z|{{||{{z{z{zz{{z{{|{|{z|zyz{z{||{{|}{{z{z{{zzz{{|||{zzz{zzyzyzz{{{{{{z{{zzzzzz{{{zzz{{z{zz{zzzzzz{{z|{zzyzzzz{{z{zz|{zzzyzzzzzy{{{{{{zzxzzy{zz|z{z{|{zzzzzzzzyz{z{{|z{zzyzzyzzzyy{{{{zzzyzyyy{{{{{{{z{zzzxyyz|{{z{{{|{z{{yzzyz{zzy{z|{zyzzyzxzzzzz{{zzzzzzzzzzzz{zz{|zzyz{zyy{{{zz|{zzzzzzz{{z{zz{|{|yz{{zyzz{z{{z{{|{{zz{zzz{{zy{{|zz{{{yzzzz||{z{||zz{z{{zz{|{{z{||zzzz{{{z{{{{{{z{{{{{{{{z{{{|||||z|z{{{z{{{{|{{||{z{zyz{{{|{||{|{|zz{{zzz{||{|{|||{z{{{{{{||z{{{{|z|z{{{{{|||{}|{|z|{{{{{|{z|||{{{zy{z{zz{{{z|{{|{zz{{z{{{|{z|{{{z{{zz|{{z{{{|||{{yzz{z{z{|z|{{{|{{{zzzz{{{|{{{{{zzz{zzz{z{{zz|{|{z{zz{z|{z|{{|z{{{zzz{{z|{z|z|z|{zyzzz{{{{z{z{z{zyzyzzyyzzzz{{z{zzzz{yyz{{{zz|{zzzzyzzzzzz{zz{{zzyyyzyzzzzz{zz{{zzzzzzzyz{zzzz{zzzyzzzzyz{{z{z{{zz|yyyzzy{{z|{|{{{zzzz{zzzyzz{{zz{zzzy{y{zz{{{{{zz{yzyyyzz{{|z{{{zzz{zzzz{{{{|{|{zz{zy{zz{z|{{||{{{{zz{z{{|{{{{|{{{z{z{{z|z{|{z{|{zzzzzz{|{|z|z{{{z{{zzz|{|{{{{{{{{{zzzz||{{|{||z{{{{z{{{{{{{{||{z{{zzzz{||||||{|zzzz{z||{|{{|{{{|{{{{|{z{|{{|||{{||{{{{{||{{}|{{{|{z{{zzz||z}|{{zz|z{z{{|z{{||{{{{{{{{||{|{||{{{{|z{{z{|{|{{|{{|zz{z{z{{{{|{|{||{{yz{zzz{{|{{{{z{zz{zz{{{{{{{{{zzy{zyzz{{|{z{}{{z{zzzzy{z{{{{||{z{z{{zzz{z{{{{{{{zzyzzz|z{{z{{{{z{{z{zzz{{|{z|{{z|zzy{zz{{{zz{{zzz{zzz{{zz|z{{|zz{zzzzz{{{{z{{z{zzzzy{{{z{{{{{{zz{zzzzzz{{z{{{|{zzyzzzzzz{{{{{|zzzzzzzz{z{yz{|{zzz{{zzz{z{zz{|{{{zzzz{zz{zz|{{|{z{{{zzzz{|z|{{{zz{{yzzzz{z|{z{||{{z{zz{z|||{|{{{z{{yz{y{{{{{|{|{{z{zzz{||{{{{}{{{{zz{{{{{||||{|z{{zz{|z{}{{|||{|{{|{z{{|||{|{|{|z{{zz{{||||{|||{{{z{z|{{|{z||||{z{{{{z{{|{z{{||{z|{{z{z{|{}{|||}{{{{y|{{{|{{z||{|{|{z{{{{||||{|{z{{z{{zz{||||{|{{{zz{{{{{|{{}|{{z|{zzzzz{{{{z{{zz{yyzzzy|{{z{{{{zz{zzzz{{{{zz{|{{zzzzzy{{{z{{{zz{zzz{{zzzz{zz|{z{zyz{zy{{z{{zz{{y{zzyzzzz|zz{{z{{{zy{zy{{{{{{{{{zzzyzzzzzz{{{{zzyyxzyzy{{z{z|{z{zzzyzzz{z{{{{{zzzzzzzyz{z{z{z|{z{zz{zzz{z{{z{{{{{zyz{zzy{z{{{{{zzz{zzzz{{{{{{|{{{zzzzzy{|{{||{|{zzzyy{zzz|z{{|{y{{zz{zz{|z|z{|z|zz{{zzz{{|z||{{z{{{{zzz{|{{{{{{{zz{z{zz{|{{zz{z|{{{zz{z|{{{{}||z{{{{z{{{}|{|{|}{z{{z{zz{{{{|||{|{{z{{{{||||{{{{{z{z{|{{{|{z||||}{{{{{{{{{|{{|{||{{{{{{{||{|||{|{z{{z{{{{{||||{|{{{||{{{{{{|{|||{{{{{zz{z{{{{{||{{z{{z{z{|{{{{{z{zzzzz{zz{{{{|z{z{zzyzyzz{{zz|z{zzzzzzzz{{{|{{|{{zyzz{zzzzz{|{{{{zz{{zzyz{{zz|{z|zzzyzzy{{{{{{zzzzyz{{{y{{{zz||{zzzzzzzz{z|{z}z{{zzzyzzzzzz|z{z{zyzyzz{z{{{zz{{z{zzzyzz{zz{{{{z{{z{yzyzzz{{|y{{|zyz{zz{z{{|z{z{{zz{z{z{{{{zz{{{{zzz{{{z{{{z|{|{{{zzz{zz{{|{z{z||zzzzzzzzz{{{z|{|yzzyz{z{{{{|z||{z{{{{{{zz|{|{{{{{||zz{z{{{|{{{{{{{z{z{z{{|{{{{|{z||{{{{{{z{|{{{{{{{zz|{z{{{|{|||{{{{{{{z{||}z{|||z{|{|{{|||{||||{y{{{{{|{|{||||{||z|{{{{{||||||||{||{{{{||||{|{||{{{|z{{||{|}|{{{||{{z{{{{{{|{{|z{zz{zzzz|{{||}|{{{zzz{z{{{z{{|z{{z{zzz{{z||{|z{zzyy{yzy{{zz{{{zzyzzyzy{{z|{{{|{{zzzyzzy{z{z{{zz{z{y{yzzz{{zz{z{{{{yz{z{z{z{{{y{zzzzyz{y{{{z{{{zzzzzzzyy{z{{z{z{z{{zzz{yz{yzz{z{zzzzzzzzz{{z{z{zzzzzzyzzzzzz{{z{{{{yz{yz{zz{z|{{zzz{z{{yz{zzz{zzzz{yzzzzz{z{z{{{zz{zzzzzz{{{|z{|zzzy{zzz{z{{{z{zzz{zzzzz{{{{|{{|zzz{zz{y{{{{|{{z{{{yzy{{z{{|{|{{zzzz{{{z|{|{z{{|{z{{zzzz{zyz{{{{{{z|{{zz{|{{|{{|z|z{{z|{{|{}|{{|{{{{{z{z{|{||||{|{|{{{{{|{{z{{{|{y{{{{{|z|{|{{{}{{{{{||z{||}|||{{{{{z{zz{{|{{||||z{z{{{|{|{z|{||||z||{{{{{|{{{||zz{z{z{{{{{{{{}|{{{{{{|z{{{{{||{{zzz{zzz{|z{|{{zz{{zzxzyz{{zzy{z{zzyyyzzzzzz{{z{zzzzzzzz{z{{{{{{{yzzzzzzz{z{zz{{yzzzzzzy{z{{z{{{z{zz{zzy{{zzzz{{{zzzzzzzzz{zxz{zzz{zzzyzz|z{{{{{{yzzzzzzy{zy{z{{zyzzzyzz{{{zz{{z{zzzzzzzz{{zz{z|zzyz{z{z{{{yzzz{z{zyzyzzzzz{zz{{{zzzzzzzz{{{{z{{{yyzz{z{zzz{z{||zz{yyyzz{{{z{{{|{y{zzzzz{{{{z{{|{{zz{y{z{z{{{|z{{{{zy{zz{z{{{{{{|z{{{zz{{{{{z{{|z|{{yz{{{{{|{||{{{|{zz{z|{{{{||||zz{zzzz|{{{{|{{{z{{{{{{||||{}|||z{{z{{{{{{|||{||{z{z{{z{||{|{|{|{{|{{|{|{{z{||{{{{zz{z{|z||{||||{{z|z{z||{||{{}|zz{zzzz{{{|{{{{{{{zy{{z{|{z{{z|{{|z{z{z{{{{{{z{yyyzzyzzzz|{zz{{zzzz{zzzz{z{z{{{zzzzyzyzzy|zz||{{zyzzyyzz{{{z{{{{zzzzyzyz{|zzzz{zyzzzzzyz{{yz{{{zyzzzyyz{{{y{|zz{yzzyzyzzyyzz{{|zzz{zzzy{z{{z{{{zzy{{yyyyzz{|zzzzzzzzzyz{{{{y{{{|zz{{yzyy{zz{{{{zzzz{yzzz{zzz{{zyyzy{{zzz{||z{{{{{{z{z{z{zzz{{{{zzzz{z{zzz{z{{z{{yzyzzyz{{{|{{{{zzzzzzzz{{{{z|{{zz{zzzzy{z{{zz|{{{zzyz{{{{|zz{|{{{{{{yz{{{||||{z{{{{|{z{{|{{z||{{{{zyz{z{{|{|{||{zzz{{z{{|{{{{||zz{{{z{{||{{{{{{}|{z{z{{z|{|{{{{z{z{z{|z{{{|{|{{{{{{{{z{{{{{|{||{{{z{{{{|{||||{|z{{z{{yz{{{{|{{{|{{{{zz{{{{{{{{{zz{{{zzz{z|{|z{zz{yzzzzzz{|z{z{|zz{zzzzxz{{z{{{|zzzzzy{zz{zzz{{{zzzz{zzz{{|{z{{z{zzzzz{z{zz{{z{yz{zzzzzyzzzzz{{{zyzzz{zyz{{{zz{zzzyzyzyzz{yz{{z{zzzz{zzy{{{z{{{{{zzyzzzzz{z{{z{{z{yyzzzzz{z{{{{|z{yzzzzyzzz{zz{{|zzz{yzzy{{z{{{{{z{yz{zzzz{z|{{z{{zzzzzzz|{zz{{{z{{{zzzz{zz|{{{{zzzz{z{z{{{{{|{{z{{z{{zz{{{|z|{{{{{{{zzz{|{|{z{z{{yzz{zz{{{z{{{{z{{z{{zzz|||||{|z{{z{{{{{|{{z|||z|zz{{zzz||{{{{|z{{zzz{{|{|{{}|{{{{z{z{{|{|{{}{|{|{z{{{{{|{|{||{{y{{z{{|{|{{{{|{{zz{{{{{{|z{|{{{|{{z{{z|{|||{|{||{zz{{{z{|{z||{{{{{{zz{zz|{{{{{{zzzzz{{z{z{{{{||zzzyzyzzz{{{{z{{{z{zzyyzz{zz{{|{|zzz{{z{{{z{{z{zzy{zzzzzzz{{z{|{{zyyyy{{{{||z{z{{zzyyzzzz{{zz{{{{y{zzzzzz{{yy{z{zzzzzyz{zz{z{zz{zzz{z{zzzz|z{{|{zyzzyzyzzzzzz{{z{z{zzzy{z{{{{{{zzzzyy{yyz{z{z{z{z{|zzyzz{{{z{{{{zzzzzz{zy{{z{{{z{zzzz{z{z{z{{{{|zz{{yzzz{z{z{{{{{zzzzz{zz{|{zz{{z{{{zyzz{{{{{{{{zz{zz{zy||{||{{{{zzzz{{z|{|z{{{{{{z{{{zz{||{||{{y{|{|{{{{|{{{|{|}{{z{z{{|{||{{||{z{z{{{z{|||{|{}{{||{|{|z|z{{|||{{{zz{{z{|{{|||}{{|{{{{z{{{{{{{{|{z{{z{z{{{|{{{||{z{{{{z{{||||{{{|zzz{{{{{{z|{{{{z{zzz{zz{|{{{{|z{zz{yzz{{|{z{|{{{{yzzzy{{{{{{{|{zzzzzzzz{z{{{z{zz{yzzzzzz{z{z{zzz{zzyzz{{{z{z{{{{{zzz{{{{{{{{z{zz{y{zyyz{{z{{{{zzzyyzy{zy{z{{{zzyzzz{y{zzz{|{{zzzz{zzzz{{{zz{{zzyzzzy{{{{{{{z{{zz{zyzzzzz{{z{z|z{zz{y{z{z{{{{{{yzzzz{zz{{{{z{{zzz{z{zzz{{{{{z{{{z{z|zzz{z{z{{zzzzzzzzyzz{{{{|{|z{z{zzzzzz{{{{}|zz{{{y{{{||z|{zzzzzz{{yzz{{{{z||zzz{zzz{{{{|{|{{{{{|{z{z{z}|}{{{{{{{y{{z{{{{|||||{{z{z{z{{{|z||{|{z{{{|{{||{{{||{{{zz{{|{{{{|||||{{{|zz{||{|{|{{|{{|{zz{{{|{|}|{|z{z{{|{{z||z{}|{{zzz{{z{{{{{|{{{{zz{z{{{z||{{||zz{{{{z{{z{{z{{z{z{{zz{zz{||{{{{yz{z{zzzz{{z{|{||z{zyxzzz{{z|z{||{zzyzzz{z{{{{{{zz{zzzzyz{{{zz|{{{zzzy{yz{{|{|{|zzzzzzzzz{{z{{{{{{{zyyzy{z{zzz{zzzzz{zzzz{{{z{{{zzzzyzzy{{{z{{{yyzzzzzyyz{{{{{z{zzzzyzz{z{|{zz{{zzzzzzzzz{{zz{{{{zzyzy{zz|z{{{{{zzzzzz{y{z{{z{|{{z{z{zzz{{{{z{{{z{zzzz{{{{{z{{{{zz{zz{zz{||{{{{{z{zyz{zz{{||||{{{z{{{y{{{{{{z{{{|{zzzz{{{{{{z||{zzz{{{zz{{{}||||zzzz{|zz{{|||{||{zz{{{zy{||||{|{||{{|{{{{{{{{||}{z{|{{{|{|{{|z{|{z{z|z{z{}|{{{|||z{{{zz{||||{|{{{{zz{z{z{{{{}{|||z{{{{z|{{{{|{z|{{zz{{z{{{{|{{|{{{z{zz{z{|||{|{z{{zzyz{zz}{{{{{{{zzz{zzy{z{y{z{|{zzz{zzzz{{{{{|{z{yzyzzzzz{{|{zzzz{z{yzz{{{{{{|{z{zzzzzz{{zzz{{|zzyzzz{zy{{{{z{{{z{{zzzzzz{zz{{{{zzzyzzz{{{{{{z{z{z{yzzyz|{z{{{{{zyzz{zz{{{{{zzz{z{{yzzyz|{{{{{z{zzz{zzyzz{z{z{|zzzy{zzz{zy{{{{zzy{yzzz{z{{z{z{{z{zz{zzz{{{{z{{{{{{zzyzz{{{{{{{{{z{yzzz{|{{|z|{{{zz{|{|z{{{{{|{||{{zz{{zz{||z{}{|{z{{{zz{{z{{{{{{zzz{z{{z{{||{|{{|{zz{{{|||{{{|z{|{{|zzz{{}{||||{{{{{z{|{}|{{|{|{{{|{|{{{{|{|||||{{{z{{{{{{||{|||z{|zyz{{{||{}||zzzz{{{{||{|{|{|{{{|{|zz|{}}{|||{{{{{{{z{{{|{{|||{z{zz|z||{|z|{z{z{z{z{{{|{{{{{z{zzzzzzz{{z{{{|{{zyz{zzy{{{z{z{zzzzz{zzzzz{{{{|{{{zzz{zzz{|{z{{z|zzz{zzy{{{{z{{|{z{yzzzz|{{z{|{zzzzzzzy{z|zz{{zzy{zzzzz{zyzzz{{|{zzy{zyyz{z{zz{z{zy{zzyy{z{zz{{|zzzzz{zy{{z{z{{{zz{zzzzzz{yz{|{{z{zzzyzyz{z{{z{{{z{zz{{{{{|zz{|{zzzz{zzz{{{z|{{}z{z{zzzz{|{{{z||{z{zzzz{zz{zz|{||zz{zzzz{|{|{{{{zz|zzzzz{||{{{{|{z{z{{y{{|{{{||z{z{z|{z{{{{|||{|{z{{z{{|}|{}{||||{{{{zzz||{{|{|{{{{z{|{z{||{|{|||z{|{{||{}||}|||{{{{{{z{{{||||{||zz||{{{|{{||{}|{{{{{{z{{{{{{{|{||{{{{{{{{|{{|}|z{z{{{|{{}||{||{|{{{zz{z|{|{{|{{{{zz{z{{{||{{|yzzzyzzz|z{|z{{z{z{z{zyzyz{{{{{{|{{zzzzzyzy|z{{|{{{{zzzyzz{{{{{z{{z{yzyyz{yzz{z{{{{zzzz{zzz{{z{{zz{zzzzyzzzz|z{zyz{zzzzzyzz{z{z|{{zzzzzzzzz{|{z{{{{zzzyzyz{{{z|{zzz{{zzz{z{{{{{|{|zzzyzy{yzz{zzzz|zzzzzzzzy{z{{z{zzy{{{zyz{zz{z{{{{zzyzz{{z{{zzz|{zz{{z{zz{{z{z{{{zzzzzz{z{|{{{|{{zz{{{{zy{||{{{|{{zzzzzzz{{{|z{{{{{{{{{y{{|{{{{|{zz{|{{{{|{{{{}|{zzz{{{{{{|{|{z{|{zz{{z{z||{||||{{zz{z{{y|{||||{||z{z||{{{{|{{||{|{{|{{{{{{{|{|{{|z{z{{{z|||{{||{|zz{{{z{{{{|||||{{|{|{z{{{||{||{zz{y{z{{{{{{{||{{{{zz{zz{{{||{{{{z{zz{z{{{|{{||{{zz{zzzyz{{{{{||zzzz{yz{zz{{{{{{z{zzzzzyzy{{{{|zyzzyzzzz{{zzz||{{{{yzyzyz{}zzz{|{yzzzzzzzz{z{{{{{zzzzzyz{{{z{{{{zzzzyzzyzz{|{|{zzzyzzzyzz|{{z{|zzyyyzz{z{{{{zzz{{{zzzy{zz{{{{{{|zzyzzzzzzz{z{z{{{zzzzz{zz{{zz{{{zzzz{{{yz{{{{{{{{zzzzy{yzz|z{{z{{zzz{zzyz{{{z{{}z{zzzzzz{z{{z{{{{|z{{z{{{|{{{{}zzzz{{z{{z|{{{{z{zy{zz{yzz||{{|{{{{z{z{{{{{|||}{{{{z{{{{|z{{|||{|{{{{zz{{|{{{|||||{{{|{{{{||{{{||z{{{z{{{{{|{{|{{{||{{{z{{}{||{{{|{{z{{z{|{}|{{||{{{z{{zz{|{{|{{}{{{{{{z{|{|{||||{|z{{|{z{{{{|z|{{{zz{z{z{{{{{{{{{z|zzzz{{{{{{zz{{zzzzyzyzzzyz{z{{zzz{zy{{{{{z{z|zzzzzzy{{{z{{{{{zz{{zzzz|zz|z{{{zzzyzzzyzzzzz{z|zzzyzz{z{z|zz{zy{zzzzzzz{z{zz{z{{{zzzzzyzyz{z||{yzzzzyzy{{z{{z|z{zzzzzyzzy{zzz{{yzzzyzzyz{{{z{z{{zzzyxz{z{{{z|{z{z{zzzzyzzz{zz{{zzz{{{zzz{{{{{|z{zzzzzyyz{z{z{{{{y{zzyz{{{z{{{{{{zzzzzzz{|zz{{z|{zzz|{{zz{z{|||{zzzz{{z{{{{{z{{z{{z{{z{z{|{|z|{z|zz{{z{z{{|{{|{{{z{zz{|{|{z||{|{|{{z{{{z{{{||{|{{z|{zy{z||||{|{|{zzz{{|{{||||||{{zz{{z{|{}z|{|||{z|{{{{z{|{|z|||{zz{z{z|{z|{|{||{{z{{z{||{||{{||{{{z{{zz{|{{|{{|{|z{{y{zz{{zz{{{{zzzzz{zz{|z{zz{yzyzzy{yz{{zzz{zzzyzy{yyz{|zzz||zzzyzyzyz{z{zz{{zyzyzyzzzzz{yzz{zzzzyzzyzzz{z|{|zzzzyzzyzz{z{z{{{{zzzyzzzy{zzzy{y{yyzzyzzzz{zzzzzyzyzyzyyzzyzzzzzzyzyyzzzyz{zz{zzzyzy{yyz{{z{z{{zzzzyyzzzzzzz{zzz{zy{zyzy{z{{{{{{zyz{{zzzzz{z{|{zz{zzyz{zz{z{zz|{zzz{zz{{{{z{{{{zzzyzzy{zz{zz|z{zy{zzyzzz|z{{{{z{{{z{zzz{z|z{z{zzzz{zzzzz{{z|{{{z{z{{{{zz{{{{{|{z{zz{z|{{{{|{|{|{zz{{{{z{{{|{{{{{z{z{{z{{{z{|{|||{z{zz|{{{{{|{{|{{{{z{z{{|{{{{|||{{{zzz{{|{{{|{{|{{z{z{zz{{{{{{z{{{{|{zz|z|{{||{{{{z{z{{{{{{{|{{{|z{z{zy{{|{{|{{zz{zy{zy{zz|z{{{zyzzzyyyy{{zz{z{z{zyzy{z{|zzz{{{{zz{zzyz{zzz{{{{zz{zyzzz{{{{{z{|{zyzyyz{z{{|z{{z{zzzzzzyz{|z{{|z{yyzyzyz{{{{zzz{y{yzzzzzzz{{z{{{zzzzyzzzz{z{{z{zyzzzzzz{{z{{z{zzzzyzzzyzzzz{z{||zyzyzzzyz{{|{z{z{{zyyzyz{{{{z{{{zz{zzzzy{{z{{|{|{{yzzzzzz{{z{z{{{zzzzz{z{{{{{z{|zzzzzzzyz{{{{{{{z{{z{zzyzz{{|{{{{{z{zzy{{{|{|{z{|{z{{{zz{{zzz|{z{{{zz{{zz{||{|{z{{{z{{{{|{{|{||}{{{{z{{y||{{{||||z{z{yz{{|{{{{|{z|{{{{{||{||{||{{{{z{{{{z}{{{{||{{{{zzz{{{{{{|{{{zz{z{{{{{|{{|||{{{{{{{|{{{{|{{|z{z{z{zzzy{||{|{|z{{zz{z{{{{z{|{{zzzzzzzz|{zy{zzzzyy{zy{z{{zz{{z{zzzyyzy{zyzz{zzy{zyyzz{yzz{|{z{{yzy{zy{z{{{{{{{{zzzyyzy{|z{zz{{yzzzzzzyz{{zz{{zzz{zzzzz{z{zz{zz{yzyyzzzzzz{y{{{zzzzyzyyz{yz{zz{zzzyzyzzzyz{{z{{{{zyzzyzyzz{{{{{zzzyzzzzyzzzz{{{zzyzzzzzyzzzzzzzy{{y{{zzzzz{zz{{zyzz{yyz{{zzz{{{z{zyzzz{z{z{|{{{yzyzzz{y{zz{{{{{{yz{yzzzz{z{z{{{zzzyzzz{||zz{z|{|zy{zz{zz{{zz{{{{zz{{zyz{{{{{{|{z{|{z{{{{{|{z{||{z{{{zzz{{z{||{{{z{{z{z{}{{|{{}{z{z{zz{z{|{z|z|{{zz{{|{{{{|{{|{{|z|z{zz{{{{|z{|{{zz{|zzz{|{{{{||z{z{{zz{z{|{{|{|z{zzz{zz{{{||{|{|{z{z{zz|{{{z{{{{zzz{zzy|{{{{{{{zzzzyzyzz{zyzz{{zzyzzz{zzz{z{{{}zzzyyyzzzzzzzz{z{z{zyyzzy{{zz{y{zz{yyzyzzz|{zzz{zyzyyzzyzzzz{{{z{zzyyyyzzzzzz{z{zyzyzzzyzz{z{zz{yyyzzyzyz{{{{z{{{zzzzzzzzz{z{{{zzzzzzzzyzz{zzz|{{zzz{yyyz{{zz{z{zz{yzzzz{{zzzz{{z{{y{{zy{z{{{zz{zz{zzzzzzzzz{{{{zzzzzzz{{{z{z|{{z{zzzzyzz{z{{{{|zzz{{yzz{z{{{{{{{{zzz{zzz{{z{zzzz{zzz{zz||z{z{{{zz{zz{{z{{{{|}{{z{zzzz{|{{{|{|||{{{{{zz{z{{z{{{{{z{{{|zz{{{{{{|}{zz{{||{{{{{{{{{{{{zz{z{|||{|{}{|z{{zz{|{{{{{{||{{{z{|zzz{zz||||z{{zzzz{{{|z|{|{z{{zz{yz{|{|{||{{{zzzyz{{z{{z|{{{zz{yzzzz{|zzzz{{zxzyz{zz{{{zzz{zzz{yyyzzzz{{{z{zzzzzyzz{zzzz{{zzzzyzyyzzz{{z{{z{zzzyyzyzzzzz{{zz{zy{yyy{z{z{{z{zzzzzyzyzzzy{{zzzzzyzyyyzzzyy{zzzyyyzy{yzz{zzyz{zz{yzzzzz|z|{{|{{zzyyyzzz{z{y{{zzyxzzzzyz{zzz{z{zzzzzzzzyzzzy{z{yyzyzyyyyzzzz{{{zyzyyz{z{z{yzzzz{zzyyz{z{{{{{zz{yzzzzzzzz{z{zz{{zyzzzzzyzz{{{{|{{zyyyzzy{{{{zz{{zzzy{zzz{{{z{{z{z{{zzz{z{{{||{|{zzz{zz{{|||{{{|{zz{{zy{z{z{|||{{{{zz{z{{{|{z{{||z{{z{z|{{|z{|{{{|zzzz{zzz|||||{|{zy{zzzz||{zz|{{{zyz{z{{{z{z{||z{z{z{{zz{{{{z|}{{z{{z{zzz{{z{|{|{z{zy{zyz{{{{|{{yyzyzyzz{z|zzzy{yzyyyyzyyzzzy|zzyzyzzyyyy{zz{{z{zyyy{zyz{zzzzzzzzz{zzzyz{zz{xz{zzzzyyyzy{y{zzzz|yzzzzyzyz{zzz{{{zzzyyzzzzz{zzzz{zzyyz{yxzzzzz{{{yyyzzyyyzzzzy{zyzzyzxzyyzzzz{zzzyyzzyyyzzzzzzzz{yzzyzzzyzy{z{z{zzyzyzzzyzzzzz{zyzyzyzzzyzzz{{{zz{zzzzyyzz{z{zz{zzyz{zz{zzz{zzz{{zzzyyzyz{zzzzz{{{y{{zzzzz{y{z{zzzyyyyyzzz{zzz{{{zzyz{zyz|{zzy{{|zzz{z{y{{{z{{{|{{zzzyzzz|{{|{|||zzz{{yzz{{{|{z|{{zzzzzzz{{{|{{{{{zzz{z{z{z{{{{{{{{zz{zzz{{|{|z{{z{{zyz{z{{z{z{|{{{zzz{{{{{|{{z{{zzy{zzzz{z{{{{{|zzzzzz{z{{{|{{{{{z{zyzyzz{{{z{||zz{yzyz{yzzz{zzzz{yzzyzyzy{{{{z{zzyzzyyy{zzzzz{{zzzyz{zzzz{{y{{{{z{zzyzzzzyzy{{{z{yyzzyzzy{yz{z{y{|zzyyyz{z{{{z{{zzzyxyzzy|zzzyyzz{zyzyzyyz{zzzzzzzyzyzyzyz{{y{z{yzyzzzzzz{z{zz{zz{yzzzzz{zzz{||zxyzzyyyyzzz{{yzyyyy{yzz{z{zy{{{yzz{zzzz{z{zz{z|zz{z{yzyz{{{y{z{zyzzzy{yz{z{z{{{z{zzzzzz{z{z{z{{zzzzyyzyz{y{{{{{zzyzxyzz{{zzz{|z{zzz{z{zz{{zz|z{|{z{{z{z{z{{{z{{{{zz{{z{z{{z{{{{{{zzzzyy}{{{{{z{zzzz{{z{||{{{||{zzzz{{{{|{{{{{|{|zz{{zzyz|{|z{|{{zz{zz{z{{{z{{{{zzz{{z|{{{z{zz{z{|z{zz{{{z{|}|}|z{{zzzzy{{z{{|{{{{{zz{{yz|z{{{{|zzzz{zzz{{{zzzzzzyzy{zzzz{{{zz{z{zzyyzy{{zzzz{zzzzzzzzyz{zz{{z{zyzyyzzyz{{yzzyz{{zzzzyyzzz{zz{{{yzzyzzzzyz{zyz{{{zzyzyzyz{{zz{yzyz{yxzyy{zzzzzzzyzzzzzzyzzzzzzzzzyyzyzyzz|z{{{{z{zzzyzzzz{zzz{z{zzzyyyxyzzzzzzzzz{yyyz{zz{zz{{z{zz{zyzyyzzz{zz{{zzzz{zzzyz{zzzzzzz{yyy{yyzzz{|{{{zzzzzzyzz{zz{{zz{zzzzyzz|{{z{{{z{zzzzzzzz{{z{{z|zzz{z{zz{{{{{{zzzzzzz{z{z{{{z{{{z{z{y{z{{{{{{{{{{zzzzzz||z{z||{|zz{y{{{z|{{z|{|{zy{{{z{{||{{|z{{zzzzz{zz|{{{{{|zz{{{zz{{{{{{|{{{{zz|z{{zz{{{{|{{|zz{zyz{{{{{{{{{zzyzzz{{|{|{{|{{{y{zzzzz|{z{{|{z{{yzzzzzz{{{yzzyzzzyyzzyyzzzz{zyzzyzyyyzzzzzzzzzy{zyzzyz{z{zzzzyzzzyyyzyzyzyz{{yzyyyx{yzz{{{{yzyyyyyyyzzzzzz{zzyzyyzyxyz|zz{yyzzyxyxzzx{zz{yzzzzyzzzyyyzyzyzzyzzzyzxzyz{zzy{z{zzyzyzyyyzzy{zzzzyyyzzyzzyzzyy{z{zzzzyyyy{{zzzzz{yyzzzyyyzzz{zz{{zzzy{zyzyzzzzz{zzzzzyyzzzyz{{z{zzzzyzzyzz{{zz{z{zz{zzy{zzzzzzzz{zyzzzyyz{z{zzz|zyyzzzzzy{z{zzz{{zzzy{zyyz{zzz|{{zzyz{zzyz{z{z{{{zz{zzzzz{{{z{z{{{zy{zz{y{|z|{z{{zz{z{{{z{{{z{{{z{yzzy|zzz{|zz{{zzzz{zz{{z{{{{|{{{zyzzzz{z{{zz{{|{zzz{zzzz{{zz{{{z{yzyzzz{|z{{z{{{zyzzzzzyzz{zz{{zzzzzyyzyzzzz{z{zzzyzyzyzz{{z{{{zzyzzzyy{zzzz{{{yzyzzy{{{yyzz{{{zyzzzyyzyy{{zzz{zzyzyyzxzyzzz{zzyzyzzzzzzzzzzz{zzzyyzzyyzzzyx{zyyzzxzzyzzzzzzy{{xzzyyzzyyzzzzz{zzzyyyzyzz{zzz{{zy{zzyyyzzzzzzzz{zzzyyyyyzyzzz{zzzzyyyzyxz{y{y{z{yzzzz{yyz{zzzz{zzzzzzyyyz{zz{z{{zzz{zyz{zz{z{{z{yzzy{zyyzzz|z{{zzyzzzz{zzzy|zz{zzzyzzzzzyzzz{z{{{{y{zzzz{{z{z{{y{z{{z{yz{{{{z{{|z{{zz{zz{z{{zz{{{zz{{yzz{{{z{|zz{zy{{{{z{{||{|{{{zz{y{{zzz|{{{|||zzzz{z{{{{{z|{{z{z{z{{{{z|{z{|{{y{{{zz{{|z{{{|{{{zz{{z{|{{zzzzzz{yyzyzzzz||{z{|z{zzyz{{zzz{z{{{zz{zyzyyyzzz|zzz{zzy{z{yyz{{{zz{zzz{zyyzz{z|{{{|zzzyzyyzzzy{{z{zyyyyzyyzzz{z{zz{zy{yxyzyyzzz{zzzzzzzxyzyzzzz{|{zzyzzzzyzzz{{z{zzzzzyzzyzz{zzzzz{yyzyyyxy{zzzz{{{{yzyyyzz{zyz{zzzzyzyzzzyzz{zzzzzzyzzyzzyyzz{z{z{yzzxzzzyzzzzz{z{yzzzzzzy{z{{{{zzy{zzzzzzzz{zz{|{yzz{zzzz{zz{z{{{z{z{{zzzz{{{zz{{zzzzzyzzz|z{z{zzzyzzzz{zzz{|zzz{zyzzzyz{z{zzzz|{z{zzzzzyz{{z||{{z{z{zz{z{{z{{|{|{zz{z{zz{z{z|{||{zz{zzy{z|{z{|{{{zzzz{{{{{|{z|{z{{{zy{zzz{|{{||{{zz{zzz{{{{|||{z{zzz{zz{z||{{|{||{zzzzz{{{{{z||zz{{zz{yz{{{{z|||z{y{z|zzz|{{{z|z{zyyz{zzz{{{{{{zz{yzyzzyz{z{{z{zyzzzxyzzz{zzyzz{zzzzzzzzy{z{zz|{zzzyzzyyzzzz{z{{zyyyzzyxzzzzz{z{zzzyyyzyz{zyz{zz{y{zyyzzyz{yz{{{yzzzyzyz{zzzyy{zzzyy{yyzyzz{z{zzzyzzyzzzzz|{{{zzzzzzzyzxzz{zzzy{zzzyyyyyyzzz{zzzyyyyyzyyzyzzz{{{zzzzy{zyz{zz{{{zyzzyzzyzzz{zz|zzzyzzzzzzyzz{{zz{zzzzzzyzzzz{{{{{zz{{zy{zz{z{{zzz{zyyzzzzzz||{{|{{zzzzzy{|{z{{{{{zzzzzzzzz{{z{{|{z{y{z{{z{|z|{{{|{zzzz{zz{z{{{z{|{zzz{z{z|{|{z{{{{yzz{{{zz{{{{{|{{y{zz{zy{|z|{|{{{{{z{zzzz{{{{}|{zzzz{zzz{{zz{{{{|zyzz{zz{zzzz{{{zz{zz{yz{{{{{|{{{zzyz{zyz{{{yz|z{{zyzzzz{{{z{zzz{zyyyzxzz{{zz|{{yyyzzyy{z{zyz{z{zyzyyzzy{zzzz{{zzz{zzyzzz{{{{zz{zy{zyyzyzyzzyzzzyzyzz{yyy{zyyz{zyyyzyzyzzyzzzzz{zxzzyzyy{{zzzzz{zzyzzzzyyzz{zyz{zyzyyzyyyzz{zzzz{zyzyzzyzzzzzzz{zy{zyyyzzzzzzzzzzzzzyyyzzzzzz{{zzyyyzyzyzzzy{{{zzyyyyyzz{yzy{{zzyzzyzyzzzzzzz{{{yyyyzzzyzzz{z{z{yzz{zzzyz{z{{{{z{zz{y{yz{{zzz{{z{yzzyyyzz{{{{z|zzzyzzzyzy{{{{{{zyz{zzz{z{{z{{z|z{{zzzzyz{|{{{{|{{zzz{zzz{{|{{|{z{zzyzz{{z{{zz|{{{{zz{{z{{|{{{||{zzz{zz{z{z{zz{z{zzzz{z{{{z{|{{|{{z{{zzy{|{z|{|{{z{z{{zz{{|{{{{{|{{z{zzyy|{z{{|z{y{{zzzyzz{zzz{z|yzzyyyyyz{zzzzz{zz{zyyyyz{|z{{|{zyzzzzyyz{{yzzz{zyzyzyzzzzzzz{{zzzzzzyzy{z{zyzy{yzzyzy{yzzzzzz{z{yzyzyyzzz{zz{{zzyxzyzxyz{yzzzz{{zyyzyyyyyzyz{{{zyyzzyyz{{{zzzzzyzzzyzyzy{zz{z{zzyzzzyyyzyyy{|y{zzyyyzzyzyzzz{zzzzzzyzyzzz{z{z{zzyzzyzyzzz{zz{{{{zzzyz{z{zz{{z{{zzzzyzzzzzz|{{|{zzzz{z{yzyz{{zzzzy{zzzyzzz|{{{|{z{yzzzzzzz{zzzzzz{{{zzzz{{{{{{{{zzz{{zzz{{{{{z{|zzzzzzzy{{{|y{{{|z|zzz{zz{|{{{{zzzz{y|{{{{{{{|{||zz{{zzz{|{{z{{|{z{{z{zz|{{{||{|{y|zzzz{z{{{z|z||{{zzzz{|{{z||||zz{zzzzz{{{{z||{z{z{zyzzz{z|z{{{zzzzzzzz{z{||z{zyzyzzzyyz{{zz{|{zy{zyyy{zzzz{{z{{zyyyyzzy{{z{{{{zzzzzzzzzzyzzz{{zzyyzzzxzyzzz|zzyzzyzyzzzz{zyz{zyyzyyyyzyzzz{zzzz{zyyzz{zzz{{{{{xzzyyyzyyzzzyzz{zyzyyyyyzz{y{z{zzyzyyzyyyzzz{z{zzyyzxyyyyzzzz|zzz{zzzyyxyz{{zz{{yzz{yyyy{z{{z{{{zzyzyzyz{{zy{{zyzz{yzzzzzz{{{|z{zzzyzzzz{|{z{{{zzzzzzz{z{{z{{{{zzzz{zzzzzz{z{{{zzzzzzzy{{{|zzz{|{{zzzz{z{{z{{{z|z{{y{{{{{z{{{{{{zz{zzz{y{{z{{z{|{zzzzy|{z{|{{{|{{{zzyz{zzz{|{||{{zz{yz{z{||||{{|{{z|zzz{|{{{||{{{zy{zzz{z{{{{{{{{{{z{z{z{zz|{|{|{zzzzzz{z{z{|{{|{z{{zzzzz{{|{zzzzz||{yyzzzzzzzzyzzyx{yyyz{{y|z{{zzyyyyzyzzzzz|{{zyyzz{yyyzz{z{{{zz{yzxyz{zz{zz{zzzyy{yyxzyz{z{y{zyzzzz{zyzzyy{zzzyzyzyzy{{{{zyzzzzzzzyyyyzzzzzz{yyzyyyyxzzzzzzzz{zzzyzz{yzzz{z{zzzzzzyzyzzzz{{{zyzzzzyzyzz{yyyzz|zzzzzyzyzy{zzzz{y{yzzyy{zzz{{{{zzzyyyz{{{zzz{{{zzzz{y{zy{z{{{{{zzzzzzz{zz{zz{{zzz{z{yzyz{z{{{z{zzzzzzzzz{{{y{|{zyy{zzz{{|{{{{{{{z{zz{zzz{{{{{||zz{{zz{z{|z{{{|{{z{{{zzy|{z{z{{|{{{z{{zz{|{{{{|z{zz{{{{z{{z{||{{{z{z{zzz{{{|{|{{{y{{{z{y|{|{{{{{{y{z{{{z{{{{{{z{|zzz{{z{{{z||z{{zz{z{zz{{{{{{{|{{z{{z{zzy|{{z{z{{zzzzyzy{{{zzzz{zyzyyzyyyzy{{zz{zyyyyyzz{zzzz{{z{zyxzyzyzy{z{z{{zzzyzy{zyz{{zz{zzzyzyyyyzzzz{{{{zy{xy{zy|zzyz|zzzxzzzyzy{{{zyz{zyzyyyzyyzzz{zzzzyyyzzyzyzz{yzz{{{zyyzyxzy{{{zzz{{zzzyyzyyz{zy{{{{zzzzzzzz{z{zzz{zzzzyyyzy{zzzy{{zzzzzyyzzzz{z{|zzzyzzyzzzy{zz{{{zzzyzyzzzzzz{{z{yy{zzzzzzzz{z{z{{yzyzyzzz{{z{|{{{zy{zzzyz{{z{{{zzyzzzzzzz{{z{||z{{z{z{{z{{{|z{|{y{zzyzzz{z{|{|{{zzyyyzzz{{|{z|{{{z{z{zzz{{|{{{{{z{zzz{{z{{z{{{{{{zzy{{{{z|z{{{|{|y{zzzzz{{{{{{z{{z{zzzz{{{{{{{{|zzzz{zz{z{{{|{|{{zzzzzzzz{z{z{{{{zzzzyz{z{{{{|zz{{zyzyyzz{{zz{z{yyyzyyzyy{zzz{zzzyzyyyyzyz{y{|y{zzzyzyyzz{z{zz{{zyyzzyzzzz{zz{zz{zzyzxyy{{{{zzz{zyzzyyyyzzy{zz{yzxzzyyzyzzyyyzzz{yzyyyyyyzzyzzyzzyzzxyzz{{yz{yzzzzyyyyxzzzzzzzzzz{zyyyyyyzzz{{z{zz{z{zyxzzz{zzzz{zyzyyyyzzzz{{z{zz{yzzzy{zzz{zz{{zzzzzyyzzzzy{z{zz{zyy{zz{{{zzz{zz{yzzyzz{{zz{{{z{zyzzyy{{{{{{zzzyzzzz{yyz{{{{|zzzzyzzzy{z{zzz{{z{{yzzyz{z{{{z{zz{zzzzzzz{{{z{z|{{zz{zzzz{|}{{{|{yzzzzzzz{z{{{{{|zzz{{zz{zzzz{||z{z{{z{z{{{{{{|{{zzzyzz{z{{{{{{{{yzz{z{z{{{{{{{{{zz{zzz{{{{{z{{{z{{y{{zzz{{{z{{z|{yzzzzy{{{zy{|zzz{zzy{yz{{z{{z{zyxyzyyyy{zzzz|zyzyzyyyzzzzzz{{zzyyyyxyyyzzzyzzzzyzzyyzyzzzzyz{zzzyyzyyy{z{yyz{zyzyzzzzyzzzzzz{zzzzzyyzyyzzzyz{zzyyyyyyz{zzzz{zzxxyyyzzyzzyzzz{y{zxzy{yyyz{yzzzzzyyzyzzzzzz{z{z{zyxxzzzyzzyzyz{zzxzyyyyzyzxzzzz{zyyzzzyzyzzzz{{zzzyyyzzzz{{{yzz|xzzzzzzyyz{zz{zzzzz{yzyzzzz{zz|zzzzyzxzzz{{zzzzzzzzzzzz{z{{zzz{{{{zzzyzz{z{{z{{{z{{zz{yz{z{zz{{zzy{zzzzzz{{{{|{{zzzzzyyz{{{{zz|{zy{zz{{{{z{zz{{{{zz{z{z{zz{z{{{{zy{zzzzz{||{z{{{{y{zyzzy{{||z{{{{zyzzzz{{{{{zz{{z{z{z{zz{{{z{{{{zyzyzzyz{{{zzz{{{zzyzzzz{{z{{z{{zz{y{zzyz{zz{zzz{yzyzyzzz{zzyz{zz{zzyzzzyzyzz{zzzxyyzyzzzzz{{zz{yzyzyyzyzzzzzyz{zzzzyyzy{z{y{zzzzzzyyyyyyzzzzz{xzyzyzzyzzzzzzzzzzzyzyyzyzzzzyzzzyzzyyyyzzzzzzzzzzyyyyzyyyz{zzz{zzyzyzzzyz{zzzzzzzzyyyyzxz{z{zzzzyzzzzzyyyzzzz{z{zyzzzy{yzzzz{zzzzyyyyzyyzzzzz{{{z{zzzyzz{{z{y{{zzzy{zzzzz{zy{z{{{zyzzyzyyz{z{{zzzzzzzzzz{z{{{z{zzzxzz{zz{{{zzzz{{yyzzyzz{{z{{{z{{y{zz{yz{|{{z{{{{yzzz{yz{{|{|{|z{zz{{yzy{{{{{{{z{{{zz|z{zz{|{{{{{z{{z{{{z{|{{{z|{z{{{z{z{{{{{{|{zz{{zzzzzz{{{z{{|zzzzzzz{{{z{{|{{zzyz{zz{|{{zz{{{zzzz{zzz{{{zz{zzzyyzzzzzz{z{z{zzyzzzxxyz{zz{z{zzzzzyzxyzz{zzzy{{{zyyyzxzyzzz{zzyz{zzzzzzyzzzz{z{zzyyyyyzzzz{zzzzzyyyzxzzyyyy{zzzyzz{yyyzyzzy{{zzzyyyzxz{{zzyzzzyyxzzy{yzzz{zzzz{yzyy{yxzzzzzzy{zzyyyzzyyzz{zz|{zzzyyzyx{z{zyzzzyzyyyzzzyyzy{{zzxz{yzzyyzy{zzz{zyyyy{zzyz{zy{z{{zzzyyyzz|zzzzz{{{yzzyzyz{zy{{zz{zzzyzyyzz{{y{{{{zzzzzzzyzzz{{{{z{zzzyyyz{{{zz{zzz{zy{{zzyzzz{|{{zzz{z{zy{{z{{z{zzyz{{{yz{{z{|{{{{zzz{zz{{|{z|{{{{zzzz{zz{{{{{{{{{zzzyzyyz{{{z{{{{{{zzzzz{z{{|zz{{{z{zzyz{{zz{{{{zz{{{zzz{{{{{{{{zzzz{zzz{{z{{{|{zyyzzzzy{{{{{{{{zz{yzyzz{{zz{zzzzzyzzzzyz{{zz{z{{yzxzzyyzy{|z{zzzyyyzzzz{zzzz{z{zyyzzyzzzyzzzz{zzzzyzxzzzz{zz{z{zyyzz{zzzzyzzzz{z{xzzzzz{zzz{z{yyyzyzzyzz{zzzyzzyyzzyy{yz{z{{zzzyzyyyz{zz{zz{z{{zzzyyzyzyzz{{zzzzzzzzxzyz{zzzzzzyyzzyzzxzz{{z{{zzyzzzzzzzzzzz{z{zzyyzyzzz{{zzz|z{zyyzz{{z{{z{z{zyy{zzzzz{{{{z{{zzzzzzyz{zz{{z|{{{{yyzzyx{{{{zz{zzzzzzz{{{z{{zzz{z{zz{zzzzz{|{{|{zz{{zz{{{z{z{|{|{z{zzzzz{{{{{z{{zzzzzyyz||z{|{{{z|zzz{z{{{{|{{{{{{zy{z{{{||{{{|{{z{zzz{{{{|{|{|{{z{zzzz{{|{|{|||z{y{|zzz{{||{{{{z{zzzzy|{{{{{|{|zzz{zzzyzzzz{{{z{{zy{zzz{zzz{yz{zyzyzzyyzz{z{{z{zyzzzyyzzzz{{{{{z{zzzyyy{zzzz|{{zyzzyyzyz{z{z{|z{zzxyzzz{yz{zzz{yzzzyzyy{zzyzzyz{{yzyyyzz{{zyzyzyyyzzzzyyzzzzzzzzzzyzyzzzzzzzz{z{zyzxyyz{zz{zzz{{yzxzyyzz{z{zzzzyyzzzyzyzz{zz{zz{{yzzyzyzyzyz{zzzzzzz{zyzz{|{{y{zzzyzyz{zy{{z{{{zzzzzzzzzz{yz{{{zzzyyzyzz{{zz{{{zzyzzyzzzzz{z{zzzyzzzzy{z{|{zz{{zzzzzzzy{zz{{{zzzz{zz{yzzz{|{{{zzz{zzzz{{z{{{{|{zzy{{zzz{{|{z{{z|z{{{zzz{|z{{{|{{z{zzz{zyz{zz{{z{zzzy{z{{|{|||{{{{{{z{{{|{|{{{{|{z{yzzz{{{|z{|{{}{zzzzzz{{{|{z{{zzzyzzz{z{zz{z|{{z|zzz{{z{{{zz{z{yzzy{zz{z|{z{{zyyyyyz{zy{zzzyyzyyzyyyyzzz{{zz{{zy{yyzzyzzzz{{{{zyzzzzyz{z{{zz{z{yyzzyzyzz{zzzzzzzyzzyyyzzzzzz{zzzzyyyyzz{{zz{zzzzyyyzyzzyzzy{{{yyzzzzzyz{zyyzz{yyyyyyyyzzyzz{{zzzyzzzyzzzz{z{{zzyzzyzzzzzyzz{{{zzzyyzyyyyzzy{y{zyyyzzzyzyy{zz{z{zzzzzyyy{yz{zyzzyyzzzzzz{{{z{{zz{zzzzyzzzz{{{{{yyzzzyzyzzzz{{{{y{zyz{zyz{{{{{{z{zzzzzzzzz{{z|{{zz{zzzz{zz{{|{||{zz{{z|z||{{{||{{zzz{zyyz{z{{{{{z{zzzzzy|{{{z{z{{{zz{zzz{z{{z{{{|z{{z{{z{z{{{{z{{zzz{z{{{|{{{y{{{z{z{zz{{z{zz{{|{zzzzzzz{{{|z{{|zzzzzz{zz|{{|{{zz{zzzzzzz{{{z|{{zzyxzyyyyz{zzzyzyzyyyyxyzzzy{zyzzyzyzyzy{zz{zzzzzyyyyyyyzyyz{zzzzyyyxyyyy{z{yyzzzyzyyyzy{z{{zzzzzyyzyzzyzzzyzyzzzyyzyzyxzz{zyzzzxyyyxyyyzyzyyzz{yyyyyzyyzzzzyzz{zyzzyzyzz{{yzz{zzzyxyyxyyzyyyzzzyyzyzzyzzyyyzzzzyzxyyyyyyzyzz{z{zyyzzyyyyzyzyz{yzyzyxyzzzzzzzzz{yxzyyzzz{yz{z{{{zzyzzzzyzzzz{z{{zxyy{yzyz{zzzz{zzyyyzzyzz{{z{z{zzzyzzzyzz{zzz{{{zyzzzzzz{{zz{{{{yzz{{zzyzzzzz{|{zzyzzzzz{{z{{{|{zyzy{zzy{|{z{{{{|{zzz{{zzz{z{{{{{y{{zz{zz{{{{{{{zy{zyyzzzz{zz{|z{z{zyzyzz{{{{z{{zzzzzyzzzz{{{|{{z{zy{y{zz{{{zz|zz{zzzzyyzzz{z{{yzyzzzzzzyz{y{{zyzzyzzyzyzzzzzzz{zyyyyzyyyzzzz{zzzzzzyyzzzzzz{z{yzyyyyyxyyzzzzz{zzzyzxyxyz{{zzz{zyzyzzyyyzz{{yzzy{yzyyyyxz{zzz{zxyyyyyyzzzzzzyzzzyyyxzzzzyzyyzzzzyyyyxzzyz{zzzz{zzzzyyzyyzy{{zyzzyzyzzyyyz{{zyyzzzzzyyyyyyyzzzzzzzyzzzyzyz{zyz{{zyzyyyyzzzzzzzzzzzxzzzxzzzz{zyyz{y{zyzzzzzz{z{yzz{yyyyzzzyz{z{|zz{yzyzzzzz{zzzz{{{yzzyz{zzz{zxzz{zzyyzzz{zzz{{{{{zzzzyzz{zzz{{z{z{zzzzzzyz{{{z{{{{z{zz{zxzz{{zz{{{zzzzz|yz|{{z|{{{zyzzy{{z{|{{{{|{{zyzyzzz{{zz|{{zyz{zzzz{zz{{{z{{yz{z{zz{z{{{{{{zzyzz{z{{{z{{{|{|zzzzyyyz{{{zzz{zzzyyzzzzyzzzz{zxzyyzyyyzz{zz{z{zzyyyzxyz{zzzzz{yzzyzyzyzzy{{{zzzz{zyxzzzzz{zzz{zzyyyyzxzzyyz{{zyzzxyyzzzyz{zz{z{zzyyyyzyz{zzyzzzyzyyyyzy{yyy{{zzyzzyyzyx{y{zz{zyyzyx{yyzzzzzyzzzyzzyyzxzzz{zyzzzyzyzxzyxy{zzz{{yzzzzzyyyz{zzzzzzyzzy{{zz{z{{z{z|xyyzzzyyz{zyz{zzzyyyz{yzzz{{{{zyzzzyzzzy{|zzz{{yzz{zyyyz{{|z|{z{zzzzyzyzz|zyzzzzyyzyyzzz{zz{{{{|zzyzyzz{{{{{{|{yz{zzz{zz{{|z{{{zzz{yzyyz{{yz{{{zzz|zz{zz{z{{zz{{zzz{z{{|{{{{{{z{{{zzzz{{{{{z{||zz{{{z{{|zz{||{{{zyzzzyz{z{{z{{{{{zz{zzzz{z{|{{{zzzzzz{zz{{{{{|{{{z{zz{z{{z{{{{{{zzzzzzy{z{z{{z{zyyzzxzyz{z{y{zzzyzyzyxyyz{zzz{yyzzzyzzyz{zzz{zzzyzz{yyyy{{zz{{{zzyyyz{xzzyzyzyzyyzzyzzyzz{y{z{yzzzyyyyyzz{zzz{yzzzzxyzxzyzzzz{zyzyzyzyyzzyzyzzzzy{zyyyz{zzyz{zzyz{zyzyyyz{{zzz{yyyzzyyyz{{z{z{y{yyyzzzzzz{y{{zzzzzzzzzzy{zzzz{{yyzzzzyyz{{zzz{{zyzzyy{zzzzz{{{zyzyy{zy{z{z{zzzzzzzzyzzyzz{{{{z{zzzzyzzyz{{z{{{{zzzzzzyz{z{z{{z{yzzzzz{z{z{|{{{{{zz{{{zyz{z{z{|{{{zzzyzy{{zz{{{z{{zzz{yy{{z{{{|{{zzz{{{z|{{{{z|z{z{zyzzz{|{{{|{{{zy{{zzz{{z{{|{|zzyzzyz{{{{|{{{{{zyz|zz{{|{|{|{{zzzy{zzzz{z{z{zz{zzyyzz{zz{{{z{zzzzzxzzy{{{zzzxzyzyzyy{zz{yzzzz{yyzyyyyzzzzzzzzzzyyyyyyyzzzzz{{zzzyyyyzy{yzyzz{{{zyyyzzxz{zzzzzz{x{yxzyyzzzzy{{{yyyzyzzyz{zzyz{yzzyyxzzzyyzzzzzzyyxyyyyyzyzyzz{zzyzyxyxyzzyzzzzzyyzyyyzxz{zyz{{zzzyzyyzzzy{zzzzzyyyyyzxzz{zz{{zzyyzzzyzz{z{{zz|zzyz{zzzyzzzyz{{{zzyzyzzyzzzyz{{{yzzzxzxyzy{zzz{yzz{yzz{zz{zz{z{{zzyyyyzyz{||z{{yzzyzzzzyzz{zzzz{{{zz{zzzz{{zz{|{yzz{{zyz{zzzz{{{{zyzz{yy{z{z{{{zzzz{zyyz{{zzz{z{z{zzy{{{z|z{{{|{{yzzz{zzz|{{{{{{zz{zzzzz{{{{z{|zy{zzz{{z{{{{|{{|{zy{zzz{{z{{|{{{zz{zz{yzz{z{{{{{{zz{zz{z{z{z{|{zzzzyzzzyz{yzzz{yxzyyzyzyz{zzzyz{yzyyzyyyyz{zz{y{z{xxyyyyzzzzz{z{{xzyyyyyzzy{zy{zzzyyyzxyzyzz{zz{zyyyzyzyzzyyx{zyyyyyyyxzzyzzzzzzzzzzyzyyzzzzyzz{xyyyyyyyyy{yz{zyzyzyyzyyy|zz{zz{zyyyyyyyzzzzz|{yzzzyyyzxxzzyzzzzzzzyyyzyyyyzy{zzyzzzyyzxzz{z{zzzzy{yzyzxyz{zyz{zyxzzxyzz{zz|z{zz{zyzyzyzz{zz{{{zzy{zyyzzzyzzz{yzyzzzyzzz{{{{zy{{z{zyyyyzzz{z{{{{zz{yzyzz{{{{{{z{y{zzzzz{y{{{{{{{yz{{zzzzz{z{zz{{{yyzzzz{{{{z{{{{zz{z{{z{{{{z{{{{{zy{zzzz{{{{|z{{zzz{zy{zzz{{{zzz{zy{yzzzz|z{z{{{{zz{zyzyz{{zzz{{zzyzy{yyz{zzzz|{{zzzzzzzy{y|z{{{zzzyzzyzzzz{zzzyzyyyzyyyzzzyzyzzzzzyzwyyzzyzzz{zzzyyxyzyzzyzz{{zyyyyyyyyzzzzzzyzyzzyyzzzzz{zzzz{zzzyyzyyxzzzz{yzyyyyyzyyzyyzz{z{{xyyzzyzxyzyyz{yyyyyyyzzzzyzzzzzzzzzxzx{zzzzzzzzzyzyyzyyy{{zzzz|zzxzzyyxzyyzzzyzzyzyzyzyz{yyz{zzzxyyzyzy{{zzzzzzzzzy{yzzzzzzyz{{{yzyzyzyzy{zz{z{{yzyzzzzz{zyzz{{zyyzzyxyy{{z{{z{zzzzyzyyzzzzz{|{{zzzzzzy{zzzyzz{zzzy{zyzz|{|{{|zzzzzzzzzz{y{y{{|zz{y{zzyz{{z{|{{{zyzz{{z|{{z{{{|zzzzzz{{z{{zz{|{zzzzz{z{z||{{{{{zzzzyz{{{{zz|{{zzyzzzzzzzzz|{{{{z{zzzzyzzzz{{zz{zyzzyzz{zzz{y{{{{zyzzzzyzz{{{{{{zzzyyzzzzz{zzzzzyzyyzxzxzz{{yzz{zyyyzyyyzzzzzz|yyzyzyyyz{zz{yz{zzyzyzyzyz{zzzz{{zzyxzyzzzzzzzzzzyyzyzy{yzyz{y{{{zzzzzyzyy{zz{z{zzzyzyzzzzzyzzzz{yyyyyyyzyzz{zyz{zyzyzzyzyzzz|z{{yyyzzyzzzyz{zz{{zzzzzxyzzy{{zzz|zyyyzyyyyzzzzzz{yyzyzzyyy{z{yzzz|zyyzzzyz|z{z{zzzz{yyyy{zzzzz{z{zzyzzzzzzzz{{z{{zzzzzyzz{{{{{|{{y{zyzzy{z{z{zz{z{zyzzzzz{{z{{{{{zzzyz{z{zy{{{{{{yzzzzzz{{{{{{{{{zy{zzyy{z{{z|{z{{zz{{z{{{{{z{{{{{z{{zz{z{z{{z{||{zz{zzzz{{{{zz|{{{{{zz{y{{z|zz{{{zzzz|{z{z{{{z{{{zzz{zz{zz{z{{{|zzz{zz{y{zyzzz{{{yzzzyzz{{z{z{{{yyzz{y{z{{zzzz{zz{zyzyzyzzzzzz{{{yyxyzyyyyzz{z|{z{yzzyyxzzzzzzz{zzyzzyyyzzyzz{{{zyzzxyzyzy{zz{zzyyzzyzzyzzyyy{zzzzzzzxyx{y{yyy{zyyzyyzyyzzzyzzz{yyzyyxyzyyzyzzyzyyyzzxyz{yz{{zzzzzzxzyyyy{z{zz{zyyyzyyyzy{zyzzzzzzyyzy{zyyy{y{zzzyyyzzzz{z{zzzz{yzyyzyyz{{{zz{z{zy{zzzzzzz{{z{z{zz{z{yzzz{{z{{{{zzzzzyzz{y{{z{zz{yyzzzyxzzz{zz{zyyyzzzyzzz{zz{{{zyz{{{{zyz{{{|z{yzzzyz{z{zz|{{{|zzzz{zzzzz{{zz{{{zz{zzzz{{{zz{|{z{zzzz{zzz{z{{{|{zzzz{z{z|{|{{{z{zzzzz{z{|{z{||{zyzy{zz{{{z{{{|{z{zz{zz{zz{{{|{{zzzzzzzz{{{{{{{zzzzzyzz{z{{|z{zzzy{zzzyz{zyzzyzyzzzyyy{xx{{zzyzz{zyyyxyzx{zzzz{|zzyzyyyzyzzz{{{zz{{yzzzzy{{{{z{{zyyzzzzyzyzzz{zzyyzzzzyyzzzzyz{yzzzyzyyyzzz{zz{zzzyyzyzyzzyzyzy{zyzyzzzyzzyz{z{zzyzzx{yzzzzy{z|{zyy{zyyyzz{zyzz{zzyyzyyzyyz{z{zz{zyyzzyyz{z{zzzzyyzyzzyyzyz{z{{{{zyzzyzyz{zz{{z{{zzz{z{z{{|z{y{{yzzzzyyzzz{z{{z{zzzzzyyyzzz{z{{zzzzy{zzz{z{{yz|zzyzz{yzz{z{zz{{zz{{{z{zz{y{{{{z|yzyzzzz{{{{|{{|z{zzzzzzz|{z{z{{{{z{yz{y{{{{z{|{{{zzzzz{z{z|{{|{{{yz{zzz{{|{{{z{|zz{{z{{z{z{{{z{zyzyyzzz{z{zz{{{|{zzz{zzz{{{|{{z{z{{zzz{z{z{{z|{{{zzz{yzz{{{{{zz{zyzzyzzyzzzzzzzzzzxyyzzzzy{yzzzzzzzyyz{yzz{zzzz{zz{yzyz{zzzzz{{zzyyyxyzzz{{zyy{zyyyzyyzxyzz{z{z{zyzzzzyyzzzzzz{yzyzyzz{z{zzzzzyzzzyzyzzzzzzzyyyzzyzxyyzyzzzz{zzzyyyzyyzzz{{{z{zzyzzzzzyyzzzzzz{{yzzyzyyzzzzz{z{{zyzyzzyyz{zz{|{{{yyz{zyzz{{zz{{zzyyzzyzzzzzzzzz{zzyyzzzz{zzzz{{{zzyyzzyz{{{{{{{zyyyzzy{z{{z{z{{{zyzy{zyzzz{{{{z{zzzyzzyzz|{zzzzzzy{{yzz{{zzz{{{zzyzzz{{z{|||{{{||zzzzzzz{{{z||{{{zzzzzzy||{{|{{{{zzzz{z{z{|{{{{{{zz{zzz{{{{|{{{{{{{zyyzz{{{{{{{{{y{{zzz{{{|{zz{z{zzzz{{z{zz{|{{{zzzyzzyz{{{|z||{{z{zyzz{{z{z{{zz{y{yyzzzzzz{{{zzyxzyyyyyzy{zzz{zzyzzyzyz{{yy{z{zyyzzzzzzzyzzzzzzzyzzyyyyzyz|yzz{yyzyzyzyzzzzzzzzzyzyyzyyzzzz{z{zzyyzzzyzzzzyzzzzyyzyxyyyyyzzyyyyyyyz{yyyyzyzzyzzyyxyzyzzzyz{{zzzzzzyyzzyzzz{zzzzzyyxzyzyzz{yzzy{zzyyy{yxy{zzz{zzzzyyzyzy{{z{z{zyzyzxyzzyzzzzyz{zyyzyzyzzzyzyz{{{zzyx{zyzz{zyzz{zz{yzyyzyyz{zz{z{zzzzyyyz{{{{yz{{{zzzyzzz{{{zz{z{zz{yzyz{{z{{z{{{zz{zz{zz{zz{zz{|z{zzzzyy{zz{zz{{{zzzzzz{z|z|{{{{zy{zy{{z{{z{{{||{zzyz{z{{{{{{{z{zzzzyzzzz{{{z{{zzyzzzyzzz{zzz{|{z{{yz{zz{||{||{{zzzzz{zz{{{zzz{zzzz{yzy{{zz{z{{zzzzzyzyzzzzz{zz{yyzyzyzyyzzzyzz{zyzyzyzxzz{{z{{{yyzyzyzzzzx{{z{zyzzzxyyyz{zy{yzz{zzyyxzyyzy{zzzzyyzyxyzxyzzzzzzzzzzyyyyzzzyzy{zzyyxyzxyyzyz{{{zzyyzyxyzyzzzyyzzyyzyzyzxyyzzzzzzzyzzzzyyyy{zzyzzzyyzyyxzyzzy{zzzzzzyxxyyyzzyzzzzzyzyzyyyy{zzyyzzzzyzzzzyzz{zzzzzzzz{yyyyyz{zzz{{zyzxyzzzzz{zzz{{{z{zyzzz{{z{z{zz{zyyyyyyzz{{{{{|z{yzyzzy{z{zzzzzzzzyzyzzzz{{{|{{{zzz{zzzzz{zzzz{|{yzzzzyzz{{|{{zz{zzzzzzyz|zz{z|{{{zzzzzzzz{{{{{{{z{{z{z{z{{{{{{{{{{zzzzz{{|z{{{{zzzzzzyzz{{zz{||{z{z{zzz{z{z{|{{zzyxy{zzz{zz{z{{yz{zzyzz{{{{zz{{zy{zyzzzzzyzzzyzzyyzzyzzz{zyzzz{yzyzyyyyzyzzzz{zyyyzyyzyzzyzzzz{zyzzyyyyzzyzzz{{zyyyyyyzyzzyyzzzzyyyyyyyyzyzz{yxyyzyzyyyyzyyyzzzyzzwyxzyzyyzzzzyyzyxyxyyzzzzzyzzyyzyyzzyzzyz{zzzzyzyyzyzxzy{yy{z{yyxyyzyyyzyyzzzzzzyzyzyy{{yzzzzzyzzyzzyzzz{{{{zyxzyyyyz{z{yzzzzyyzyzyzyzzzzzzz{yzyzyzzzzz{z{zzz{zyzzyyxzzz{z{{yzzzyzyzz{|zz{{zzyzyzyzyyzzzz{z{{y{yzzy{z{z{{z{{zy{z{yz{{{{z{y{{{{zz{yzyyyyzz{{{{{zzyzyy{{{{{z{zz{{{zyz{{z{{z{{z|{yzzyzzz{{{{z{|{{y{zzz{{zzz{zzzz{zz{zzy{zz{z{{z{{z{yzzzz{{{zy{{z{z{zyzzzz{{zz{{{z{zyzzzyz{z{z{{{zz{zyyzy{zzzzz{zyyxxyyzxyyzz{z|{zz{yzyzyzzzzzzz{zzxyyzyyzzzz{zzzzzyyyyzzyz{zzyzzzzzyyyzyzyzzzzz{yzyzyyyyyzzzz{{yzyzyyyxyyzzyyzzzyzzyzyzyzzz{zz{zyyzyyyyyzyzzyzzyzzzyyyyzyzzyzz{zyzyzyyyyyzzzz{z{zzzyzyyxzyyyyzzzzzzyzyzyyy{zz{zyzyzzz{xzzzzzzzz{zyyzzzzyzzzzzzzzzzyyzyzz{{{y{zzzzzyyyyyyz{{zzzzzzzzz{yyzyzz{{z{zzzzyzyyxz{{{zzzzzyyyzzzy{{{{zz{zyzy{zz{zyzz{{{{zzz{zyy{y|{z{{{z|{{zyzzzzzzz{z|{z{yzz{yzyz{{{||{{zzyzz{{z{{z{{z{{zzzz{zzy{{{{{{{{{zz{yzzz{{z{|{{{zzz{zzyzz|z{{{{{zz{{{zz{z{{{z{{{z{{zzzyz{zzz|{|{{zzzyyzxz{{{{z|{{z{yyyzyy{y{zyy{zzyyzyyyyzzyz{{zzzzyzyyyyyzzzzz{yyyyzzyyz{zz{zzzyzxzyxyzy{yzzzzzzzzyxyzyzzzzzzzzyzzyyyzzyyzyz{z{{yzyzyyz{zzyyyzyyzzyyzxyzyzyzy{zyyzyyxyzyzzzxzzyzyyyxzxzzzzzzzz{yzzyyzzyzzz{zzzzzyyyyyyzzzzyyzzyyyxyyzxzzzzyzzyzzxyyzyyxzzzzyzzzzzyzzzzzy{z{{{{zyyyyyyzzzzzzz{zzzxzzyxyxzz{zzz{z{yzzzyxyyzz{{{zzzy{zyyzy{zzzzz{zzzzyzzyz{zzzzzz{{zz{{zzyzz{zzz{{zyzzy{zzz{{{z|z{zyzzyzyz{{z{z{z{{zzzzyzz{{zz{{{zyz{zyzzzz{zz{{zzzz{zz{z{{{zz{{{|{yz{{z{y{zzzz{{{{y{zzzzzz{y{z{{{z{zzzzzz{zz{zzz{zzyyyyzyy|{{{{{||zzzyzzyy{z{{z|{zzyzyyzz{z{y{{zzzzyyyzzxz{{zzzzzyyyyyzyz{zzz{zy{zyyzyzzzyzyzyyzzzyzyyzyyzz{zzzzzyyzyyyyyzzz{{zzzzzzyyxyyzzyxzzzz{yyyyzyzzzzzyz{zzyzyyzxzy{yyzzz{zyyyyzyyyzzzz{z{zzyyyyyyzzzzzzzyyyzyzxyyyz{zzyz{zzzzyyzzyzzzyzzyyxzyzyzyyzyyz{zzzzzyxzyzzzzz|{{{yyzyyzzzzzzyz{{z{zzyzxzyzzzz{z{zyzzyyzzz{zzzzz{zyzzzzzyyyzzzzz{zzyzzzzyyz{zzzz{{zzzyzyyzzzzz{{{zzy{z{zy{{zz{{{zzyzzzzzzzzz{{z|||zyzyz{yzz|z{{{z|zyzzzyzy{|zz{{{{zz{zz{z{z{{{|{{{{zzzzz{zy{{z|{|{{yzzzzz{z{{{{{{{zzzzzzzzzzz{{zz{zzyz{zz{|zz|{{{|zz{yzyyzz{{z{{{{{zzzzzyzzzzzz{{zzy{zyyyyzyz{y{zzy{{xyzzyyzzz{yzzzyyyyyyzzzzy{zzzzyzzyzzzzyzz{zz{zyyxzyyyyz{zzzzzzyzxyyyxyzzzyzzzyyzyzyyxyzzyz{{zyzyxyxzy{zzyz{yzyyzyyzxyyzzzzzyzyyxzyyyyyzzzz{zzzyzyyzyyz{zzzzzyzz{zyyyxzzz|zzz{zzzyzyzyzzyz{{zyzzzyyyzyz{yzz{{zzyzzzzzyyzzzy{{{zzzzzyyzz{z{zz{|yyzyyy{zyzz{{{zzyyyyyzzyzz{{zz{z{xzyzyzyy{{zy{{zzzzyzzyyzzz{zz|z{zzzzyzz{z{{yzzzzzzz{zyyzzz{{{z{yz{zzzzz{{z|{{zzz{zzyyzzz{z{{{{{zz{z{zz{{zzz{{{zzzzzzyzz{{{z{z{{{zz{{z{zz{{z|{|z{zz{zz{z{{z{{{{zzzyzzzzzz{{z{{z{{zz{{yzzzzz{{{{{z{zzzzzzyz{{z{{{zzz{z{yzz{{zz{|{yy{yzzyy{{{zzzzzzzyyyyxyyzzy{zyzzyyzyzyzyyzz{z{zzyyzzyzxzyyzzz{zzy{yyyzzz{zzzzz{{yyyyyywzzzzyzzzyyzyyzyzz{yzzz{yzzzzyyzy{yzyzz{zzyyyyyyyyyzzzz{zyxyzzyyyzzzzzz{xzyyxzyyxzzzzzz{{yzyyyzyzxzzzzzyzyyzyyyzyyzyzzzyzyz{zyyyxyyzyzzzzyyyzy{zxzzz{{{zzzzzyzzzzzz{{z{{{zzzzyyzzzyzzz{z{zzzzyzzzyzyz{{{{zzzyyyzyzzzz{{zzzzzzzzzyz{{zz{{{{zz{zzyz{{{zzz{zzzyzzyzzzz{{{{{zyzzy{zzzzy{z|{{{{zzzzzzy{{z{{zzz{yz{zzzz{|{{{z{{zzzy{{{{z{{z{{{{{{yzzzzzz|{z{{|{zzzzyzyz{{{|{z{{zzz{zz{{{{{{{{{{zz{zz{zz{{{{{{z|{zzz{zz{{{z{{|{zzz{{zzzzz|zz{z{z{yzzzyyz{{{{zzzyzyyyyzyyy{zzzzzzzyyyyyxyzzzzyzzzzxyyzzyyzz{zzzzzzyzyzyzyyz{zyzz{zyyyyyyyzzzzzzz{yzyyzyzyy{{yyzzzyyzyzyyzzy{zzz{zzyyyyzyzzzyzzz{zyyyzxxyzxzzzzzz{yyyzyyyyz{zzz{zzzyyxyzxyy{z{zyzy{yyz{yzyzzzzyz{zzzyyyxzyz{yzzzy{zzzzzyyzyx{yzy{zzyzzzzyyzz{yz{z{zzzzyxzzzzzzz|{zyyzyyzyzyz{zzzzzzzyzzyyyzzzzz{zyyzzyzyyyz{{{z{|{zzyz{yzzzz{z{{zz{|zyzzyzzzz{z{{zyzz{yyzzzzz{{|{{zyzzxyzy{{zz{z{zzzzzzzzz{{z{zz{|zzyzzz{zy{{{{{{|{z{z{zzzz{{{{{{zzz{zzzzz{{{{|zz{zzzzzzzzzy{{{{{{zz{y{zzyz{zzz{{{{yyyzzzzz{{{z{{{zzy{zzzzz{zzz{{zzzzyyyzyy{zzzzzzzzyyyyyyyzzyzzzzyyyyyyyyzz{yyzzzyyyxyzxx{yyyzzy{zyzxyyzyz{yzy{yzzyyyyyyxyzyzyyz{yyzyyyzzzzyyyzzzyxyxzzyyzzzzyzzzzyyyzyyxzzyyyyzzzyzyyyzyyz{z{zzzzzyyxzyzzzzy{{zzzyzyxyzyyzzzyzzzyyzxxyyyyyzyyyzzyyyyyyyzyzzzy{zzyxyyyyyyzyzzyz{z{yyyyyzzz{zz{{zzyyyzxyzy{yzzzz{|zzyyzzyyy{zzzzy{zz{zzxzzy{zzzzzy{zyzyyzzz{zz{zzzzyxzzzyy{{{zz{z{zzz{{zyzzz{{{z{|zzzyzzz{z{z|z{{{zyzyzzzzz{{{{{{{zyzz{{zy{|yyzz|{{zzzzy{y{zzz{z{zzzz{z{zz{{yzzz{z{z{{{{zz|z|z{{{zzzz{zyz{{zzz|{{{{zzzzzzzz{z{{{z{zzzz{y{z{yyz{{{z{zzzzzzzyzzyz{zy{{zzzyyyz{{{zzyzyzzyyyyy{{zzyzyz{zzyyyzzyzzz{{{{zzzyzzzyz{zz{z{{zyzyyyzzz{{z{zzz{yyyyyyzyzy{zzz{zyzzyzyyzz{zzzzzzzzzyyyyyz{yyzyzyyzzzzyyzyyzzzzzyzzxyyzyzzzzz{zzzyyxzyyzz{{z{zyzzzzxxyyyyzzzy{{{zzyyyyzyzzzyzzzzzzyyxyyxz{yzz{zzzyzyz{yzzz{zz{z{zyzyyzzzz{zzzy{z{yyzzyzzzz{{z{zzzz{yzzzy{zz{{zzzyyzzzyzzz{z{zz{zz{zyzyyz{{zz{{zzzzyyy{zy{{zzz{{{{zz{z{yzy{zz{{{|zyzyzyyyz{z{z{{{yzz{zzyy{{{z{{|{{zzzzzzyz|{z{{{|{zzzzzzz{|zz|z{{{zzzzzzz{{{{{{|{{zz{zy{z|{z{{||z{y{zzzzzz{zzz{{{}zz{z{zz|{{z{{{zzz{z{zyz{{{z{zz{z{{yzzyz{{z{{{{zzzzyzzyy{{zyzz{zzzzyyz{zzzzzzzzyzyzyzzzyzzz{z{{{zzyxyzzyzyzy{z{zzxzzzyyyzzzzzyzzzzyyyyyzyzzy{{{{yyyzzyyyz|y{{{zzzyxyyyyyzyzzzzzzzzyyyyzz{yzzy{yzyyzyyyzzyzzzzzzyzyzyyzxzzz{y{{zzyzzyyzyyyzzzzz{zzzzxyzzxyz{yzzzyzyyyy{yyzy{yzzz{zzzzzzzy{z{{{zzzzzzzzyz{{{{zyzz{zyz{zyzzyzz{{z{zz{yzyyzzzz|zzz{{yz{zzzzzz{zz{z{zzzzyzyzzz{{z{{{{{zy{zzyzzzz|{|z{{zzzz{zzzz{|{{{{zyzzyyzyz{{{{|{{{yyz{zyzz{{{{{{{zzzxzyzz|{{{{{{{zz{z{zz{{{zz{{{{{yz{zz{zz{{{{z{{zz{|{zy{{{{{{{{{zzzzz{zzzz{{{{{|{{zz{{{{{zz{zz{{{zzyyzyzz{{zy{||z{zz{zz{{{{|{{zzzzy{{yzyzzzz{zzyzzyyzzzyyzzyxzzyyyxxyyzyzz{yzyz{yyyxyzzyyzzz{z{z{yyyyzyzyzzyzy{zyyzyxyyyzyzzz{zzzyyyyyzyzz{yyzyyyzyyyyyxzz{xyyzzyyyyyzzzzyyyzzzzyxyyyyyxzz{yzzzzzzyyxzzzxyzyzzzyzyzzyzxyzzzzzzzz{yyyzyyxxzzzz{z{yyyyyyzyzyxyz{zzyyyyz{zyyyzyzyzzzzyyyyyyzzzzzzzzzyzyyy{yz{yzyy{{zyzyyzyyz{z{{{zzyzzzzyzzzzzzz{zyzyzyzyyyz{{zzzzyzy{yzyxzz{z{zzzzzzzzyzyy{{{z{zzzzzzzyzyz|{zzz{{{{yz{{zzyy{{|{zz{{yy{zzy{{{{|{{{{zz{zzz|{zzz{zzz|{zzzyy{zz{z{|{{{{y{{zzzz{{|{{{{{{zzzyzzzzz{{zz{z{zzzyzzz{zy{zz{{{zyzzyxzz{{{z{{{z{zzyyxyzzzzz{{{zyyyyyzyz{{zzzyzyyyyyzxxzzzzzz{zzy{xyyyyz{zyzz{z{y{xzyyyzyzzz{z{zyzzxzyyyz{yy{|zzyzyxzzyzz{zz{z{yyzyxzzyzzyzyyzz{yyyyyyyy{zzzzzzzzzzyyyzyyzzz{y{zyzyyzyyzyzyyz{zyzzyyyxyzzyyzzzzyz{yxzxz{yzzyz{zzyzzyyyyzzz{zzz{zyzyyzyyyzzzy{zzyxzyzyyyyz{{zzzzzyzzyyyyzz{yz{z{yyzyzyzyzzzy{z{zzzyzzzzzzzzy{{{zzyyzzyyzzzz{{z{zzzzyzzyyz{{zyz{zzzyzzyz{zz{{z|{zz{yzy{zzzz{zzz{{yzzzzzzz{{z{z{{{zyzzzyzz{{||{{zz{zzzzz{zzzz{{{{{zyyyzz{z{zy{{{{{{zyyzzyzy{{{{z{z{{zzzy{{zz{{z{{z{zz{z{z{z{z{{{{zz{yzzzzz{{z{{{{|{zzy{zzyz{y{{z{{{zzzz{{yz{{|zzzz{zzzzz{zzzz{zzzyzyzzyzyxyzzyzzzzyzyyyyzzzyzzzzzzyzyxyyyyzzzzz{zzzyzyyyyzyzzzzyzzzyyxyyzyyz{zy{zzzyzzzyzxyyzzyzzzyzxzzzyyz{zzyyzzyzzyyzzy{{yzyzz{zxzyyyzyzzzyyzyzzzyyzzyyzzzz{zzzzyyyyxyyyzz|{zzzzyzyyyyyzzyz{zzzyzzxyyzzyzzzzzz{yyzyzyzyy{{zy{yyzyzyyyyyzz{z{zz{yyyyzyzzzzyzzz{{{yzyzzyzzz{{zzyzzzyzzyzzzz{z{z{zzyzyzyzyz{{zzz{{zyyzzzz{{z{z{{zzzzyzyzzzz{z{|{{{yz{yyzzz{{z{y{{zzzyzyyzy{zzz{z{z{yy{zzzz{{{z{y{{yzzzz{z{{{zzz{z|zzyzzz{z{z{{z{z{{yzz{y{z{z{{z{z{zyy{{zzzzz{zzzz{zzzzz{yy{z{{{{{{z{zyzyzz{zzz{z{{{zzyzzzzz{{zzz{{{{zyzyzzz{{z{yzyxzzyyyzyyyzzyyzzzyyyyyyyyyzzz{z{zzxyzzzyzy{z{zyzzyzyzxyzzzyzzz{zyyyyyyzyyyzzz{zzzyzyyzyx{zyzzzzzyyyyzyyyyzyzyz{zzzzzyyyzyyzyzz{yyy{yyyyyyyyyzzz{zyzyyyyzzzzzzyzzzxzyzzyyyzyzzz{zyyzyxyyyyz{y{zzzzzyyyzyyzzzzyzz{yz{yzzyyyz{zzz{zzzyyyyyyz{zzzzz{zyzyyyzyzzzz{{z{{z{yyzyzyzzzzzz{zy{xzzzyzzz{{{zzzyzzyzzyyz{{zz{{zyzzyyxz{{{zzz{z{z{zzyyzz{z{z{{zzzzzzzzzz{{{{{{{zzyzyzyzz{{{z{z{{yzzyzzy{{{zz{{{zyz{{|zyz{{{z{z{{zzzyzyz{|{zzz{zz{y{yyzz{{{{zzz{zzzzzzyzz{{zz{{z{zzz{yz{{{{{z{|{{zzzzzzzzz{z|{{z{{zzzzzx{{{{zz{zzyz{zzyyz{zz{y{yzzzzyyyzzzzyyzz{zyyyxxyyz{{z{z{zyyyyzyzyz{zzz{{zz{zyzxzyzzz{zzzzzyzyyyyyzz{{zzy{yyyyyzyxy{{zz{zzzzyyzzyyy|{zzzyzzyyyyzyyzzzzzz{zyyzyzyyyy{zzzz{zyyyzzzzyyzzy{z{zyyzyzyyxzzzyzzzyyzxxyyyzyzyzzzzzzzzyyyyzzzzzy{{zzyzzyyyz{y{z{{z{yzyyzyyyzyzzzzz{zzzyzyzyzzz{zz{{yzzzz{zyzy{z{zzzyzzzzyzyz{{zzz{zzzzyyzzyzzz{z{{zzyzzzzzy{{zzzz{zzy{z{z{yzz{{{{|zzy{zzzz{zz{{z{{zyz{z{zyz{z{{|{{{zzz|z{zz{{{{{|{{zzzzz{z{{z{z{{{z{yz{z{{{z{z|y{{{{z{zy{zz{{|{z{{zzyz{yzz{zyzz{{{|zz{y{zz{z{z{|zz{{zzyzyz{z{z|{{{{z{y{{zzz{{z{z{{{zyzyzyzzzz{zzzyzyzyyzyyyzzzzz{z{yzzyyxyyzzz{zz{zyyyzzzzy{y{zyz{{zyyzyyxzzzzzyy{zyyxzxxyxzzzzzzzzyyxzzyyyyzzzz{{zzyyxyyyxzz{zyzzzyzyyyyyxzzzzzz{zyxzyzyyyyzyzzz{yzyzzxyyyzzzzzyzzyy{zyyyyzzzzyz{yyyyyzzyyzyyyzzzyxzyyzyyyyyzzzz{zyzzxzyyzzz{zzzzzzyyyzyy{z{zxz{zzzyzzzzyyzzy{z{{{zyyyyzyzyzzzzzzzzyzzyzyyz{zz{{{zzyzxzzzzy{{zz{{zzyzzzz{zz{{yzz{{zzzz{z{z{|{|z{{zzzzzzyzy{zzzz{{{zzzz{zyzz{z{{zz{zzyyzzyzz{zz{{||zzzzz{z{{{y{zz{{{zzzyzzyyzz{|{{|zz{{yzzz{{{z{{{{zz{z{{y{{{{zzz{zz{zyzyyy{{z{z{{{zzzz{zzzy{{z{{{{{yzzyyzzz{yzzz{{zz{yzy{zx{{zy{zzyzxzyzzzzz{yzyzzzzzzyz{yy{zz{yz{yyyyyzzyzy{{yzz{zyyzyyyyyz{zzy{zyyyyxyyxzzz{zzzzzyyyzyxyyzzzz{zzzzyyyyyyzzzy{zzyzzzxyzyyzzzzzzz{yyyyyyyyzyzyyzzyyyzzyyyyzzzzzzyzzyyyyyyyzzz{zyz{yzyzzyyyzzyyyzyzz{yyzzyzyzyy{zzzzyyyz{zyyz{zzz{{zzxzzzzxzzzzzz{{yzzyzzyyzzz{{zzzzzzyyzyyyz{{y{y{zyzzzyyzz{zzz|z{yy{yzzzyz{{y{zzz{yzzyzzy{zzz{{{zzzzzyy{yzz|{{{{{yzzzz{zyz{z{y{|{zzyy{yzy{{{{{{{{{y{zzzzy{{{{{{z{zzzz|{zz{{{{{|{|{{yzzzyz{{{{{{{{{zz{zz{zz{{{{z|{zyz{zz{z{{zzz{{{{{yzz{z{{{z{z{z|zzzz{{zy{{z{z{{{z{zzzzzz{{{{{z{{zzzyyzzy{{zzzzz{zzyzyyyyyzzzzyzzzyyzzyyy{zzz{{{zzyyyzzzy{yzzzzzzzzyzyyyzzzzzzzzzzzzzyyzy{yzzzyz{zzzyzyzyyzyyz|y{zyyzzyzzzzzzyzzzyy{yzyyxzzzzzzyzyyyyyyyyyzyzzzzzyyyzyywzyzz{{zyyyxzzyyyyzzz{zz{{yyzzyyzyyzyzzzzyzzyyzzzyzzyzz{y{zyyy{{yyzz{y{{{zzzyyyzzz{{zzz{zzzyyyzy{yzyz{yz{zzyzzxzzy{zzzzz{z{yyyzzzyzyzy{{{zzzzzyzyyzz{z{z{zzzz{zzzzyzzzz{zzzzzzyyyz{|{{|{{{yz{zzy{zzzzzz{{{zzyzzzzyz{{{zz{z{zzzzyzz{{{{{{{{{zzzzzzz{{{{zz{z{yyzyzzzzz{{|{zz{z|zzy{z{zzz{{{{zyz{{{zzz{{z{{{{{{zzz{zzz{z{{z{{{{zzzzzy{|{{zz{{zzzzzzzzz{z{zzzzyyzzyzzz{z{{{zyzyyyyzyzxzz{zzzz{zyyyyyyzyzzzzzz{{zzzzyzzzzy{{zzzzzyzzzzyzzzzyyzzzyxyxxzyzyzyyzy{yzyyzzyxz{zyz{{xyxyyxyyzzz{y{zzyyyzxyzyyzzyzzz{{zxyyzyzyzzyzzyzzzzyyzyyzzzzy{yz{zzyyyyzzzy{zy{{zyyzyzyyyzyzzzzy{xyxyyzzxy{zyzzzzzzzyz{zzzzyzzyz{zyyyzyyzzzzzzzz{zyzzzyzzz{zzz{z{zzyzyzzzzzzz{zzzzyyzyyzyzzzzzzz{zyzzzyyyzzzzz{{yzzzzzyyzzzzzy{zzyyzzz{yzz{z{|{{zz{zyzzzzzz{{z{z{zzyx{xzyx{{z{z{zxzzzzzzz{|zz{{z{zzzzzz{{zz{{{zz{{{zzy{{zz{|{}{{{{{{{zz{{z{{{z|{{zzzzz{zzzzz}z{{|z{zz{z{yz|z{z{zz{zyzzzzzz{{{z{{{zzzzzzyzzz{zzzy{zzzzyyzyz{{|zyyzzzyzzxzyzzzzyzzzzzyzyyzyzzz{zzx{zyyyyyyyyzzyz{zzxzyxyyyyzyz{zz{zyzzyxyxzyyzzzzzz{xzzyxyyy{zzzzyzyyzyyyzyzzyzzz{yzyyzzzxzyxzzyzy{yzyyyyyyzzzzy{zzzyyyzzyzzz{zzzz{zyyyyxyy{yyzzy{zzzzz{zyyzyzyyzz{yzzxyyyyyyzzzzz{zzyyyzyyzyzzzy{{yzzyzyzzzzzzz{zzyyyzyxzzy{zzzzzzzyzzyy{yy{{zz{{{yzzzyzzzyzz{zz{zyzzy{yyyzz{zzz{zzzyzyyyz{zzy{z{y{yyz{z{y{z{z{{{zzz{zyy{zz{{{{y{{zyzy{zyyzzzz|{{{zzzzzzzz|{{{{z{zzz{zzz{{z|z{{{{|{zz{yzz{z|{{|{{z{zzzzz{z{{{{z{{z{zyyyzy{z{{z{{||{zzzzzy{zzz{z{{{zyzyzyzzyzzz{zz{zzz{yzyyz{{zzz{{zy{zzzzyyzzzz{zzyyyyyyxxy{{zyzz{zzyyyxzyzz{zzz{{zyzyzzyyyzzzzzy{zyzyzyyyyyzzzzzzzz{yyyyyzz{zzzzzzyyyyyzyzzzy{z{zzzyzyyyzyyzzy{zzyyyzzzyzyzyzyzz{yyyz{yyzzzzyzzzzzyzxyzzyzzzzz{yzy{zyyyyyyzzzzyzzzyzzzyyyyzzzyzzzyzyyyyyyyzy{zzz{yyzyzzyzzzzyzzz{zzzzyyyyzzzzz{z{{zzzxyyyzzzzy{z{zyzyyyyzz{zz{zz|zy{y{yzzz{z{z{z{zyz{zzyzzz{zzz{zzzyzzyzzzzz{z{zzzyzzzzyzzzz{zz|z{z{yzy{zzz{{{{{{yyzzzzyzz{{zz{zz{z{zzzzz|{z{z{{{zzzzzz{zz{zz{{zzzzzzzzz{z||{{{{||zz{zz{{zz{|{{z{zyzzzzzz{zz{z{{{z{z{{zzzz{z{zzzzzzzz{zzzz{{{{z{{{zyzzzzyz{{{zzz{zzzyyyzyzz{zz{zzzzyzyyzyyzyz{yz{yzyyyxxyz{zyz{z|zzyzzzzyzzzzzzz{zyyxyzyyzz{zyz{zzzyyyzyyz{{zyyzzzyzxzyyyzzzzzzzzzyyyyyzxyzzzzzzyzzzxxyyxyyyzyzzzzyzzyyyyyzzy{y{yyyyyyyy{zzz{{{zzzzyy{yzyzz{|yzzzyyyyxyyyyzzyz|yzzzyyzzyyy{yzzzyzyyyyzzzyzzzzzz{{yyzzyyxyz{zzyzzzzzzyzyyyzzzz{{{{yyyzyzzyzzz{zz{zyzzz{zyy{zzzz{z{zy{zzyzyzz{{z{{zzyyzyzyz{zzz{zzz{zzy{zyz{zz|z{{zzzyzzzzy{z{{{z{|{zzzzzyyz{{z{{{z|yyzzzy{zz|{{{{{{zzzz{z{z{{{{{|{{z{zz{zz{{{z{{{{{zz{zzyz{{|z{{z{zzzz{z{{z{{|{zz|{{zzz{z{yzz{z{|z{yzyzzzzzzz||zz{{{z{zzz{{{z{{z{zyzzzzyzz{zzzz{yzyyyyyyyyzyyzzzy{yyyyyxyyyzyzz{y{zyyzyyyyzyzy{z{zzz{zyxyxyzzzyzzz{zzyyyzyzyyyzzz{zxzyzzzxzzzyzzzyzzyyyyyyxyzzyzzzyyzyxyxzzzzyzzyzyxyxxyxxzyzzzyzyzyyyyyyxyzzzzyyyyzyyyyyyzzzyzyzzzzzyyxyyyyyzzzyzzzyyzzzyy{zy{zzzyxzyyyyyyzzz{y{yzyxyyyzyyzzzyz{z{xyyzxyzzzyzzzzzyyyyyzyyyzzzz{z{yyyyyyyxy{zz{zzzzyyy{zyyzz{zzy{{zyzzyzyy{zzzzzzzzzyz{yzz{{{{{z{zzzzzyzz{zzzzzz{{zzyzyyxyz{{zz{zzzzzzzyzz{z{zz{{|zzzyz{{zzz{zz{{{{zzzy{zzz{{{{{|{zzz{zyyzz{|yzz{zzzyzzzyz{zz{z{|{{{zzzzzz{{z{z{{{{zzzzzzzy{{{z{{{zzzzyzzyzz{{z{{yzyzyzxzyyzzzzzzzyzyyzyyzzzzyzzyzyyzzyyxzyzzyyz{zzzzyzyyyzzzyzzzyzzyxzxxzzzzzyzzyzyyzzzzzzzzyzz{zyyyyxyyzz{zyz{z{yzyyzyyzyz{yyzzzyxyyyzyyzzzzyzzzyyyyyyyyzyyzzzzz{zzzyzyyyzy{zyzzzzzyyzyyzzzzz{z{zyyzzyzyy{yyzyy{zyyyy{yyzzzyz{z{yyzzyzxyzzy{zzz{zyyyyxzzz{{yyzzzyyzzzyzyzzzzzz{zyzzyyzzzz{z|z{{zzzzyzzzyz{{{y{{zzzzzzzyzyzzzz{zzzzyzzzyzzzzzyzyzzzyzyyzz{|{{{{{zzzzzzzzz{z{{z{{|zzz|zyyzz{zz{y{zy{yzzzyzz{zz{z{{zzzyzzzz{z{z{{{{{zzyyzzzz{{{z|{zzz{zzz{{zzz{|{{{{yzyyyzz{z{z{z{{{zzzzzyy{z{{{zz|{zyyzz{zy{{z{{{{|{yxyyz{y{z{{z|zzzzzzzyzzyz{zzzzyyyzyx{zyz{{zzzzzyyzyyxzzyzz{zz{zzzzyzzzzzzzzzzz{xzyyyzyyyyzyzzzzyyxyyyyzyzzyz{{zzyzyzyyz{{yyzyyzzyyzzyzzzzzzz{yzyzyxyyzxy{zz{z{yzzyyyzzyzzzzyzyzyzxyzyzz{z{zy{zzyzyyzyxz{zzzz{yyzzyyxyyzz{zzzz{zzyzzyyyyzyzzzzzzxyyzzzyz{zzy{zzzyyyzyyyz{zz{{zzzyzzzyyy{{zz{z{{zzyzyyyzzzzz{z{zzzzz{{zyzzy|zz{{{yzzzyzzyz{{zz{{zyyzyzzyz{{zzzz{zzzzyxzzz{{{z{zzz{yzzzzzzz{zzzz{zzz{zyyzzz{{{{|z{zzyzzzz{{zzz{z{zz{zzz{{zzzzz{z|zz{y{z{zz{{{{|{{{zy{zz{zz{z{{{{z|{{z{zzz{z{{|zz{zz{{zzzzzzzzz{{zzzzzzz{z{{z{z{{zzzy{zx{zzz{zzyzzzz{yyyyzz{z{zzy{zzyyyyzyzzzzzy{z{zyyyzzyzz{zzzzz{zyyyyzyzz{zzzzzzzzyyyyzzzzzzz{z{yzzyyyyzzz{zzy{yyyzyyyyyzzzyzzz{zyzyzyzyzz{zzzyyyyyyyyyzzy{zzy{zyxzzyyxyzzzzy{zzyzyxxxyz{yzzyzzzzzyyyyyyzzzyyz{zzzyyyyzyzzyzzz{zyzzywyyy{zyz{z{yyyyzzzzzzyzz{{{zyyyzyyzyzzyzzz{zzyyyyzyzzzz{zzzzyyzyzyyzzzzzz{{z{zyyyzzy{zyzzyzyyzzzzzyzz{z|{{zzzzzzyzz{zzzyz{zyzyyzy{{{zz{{zz{{zzyzyzzzzz{{zz{z{z{zzyyz{{z{z{zz{zzzz{z{{{z{{|{{{{yz{zz{z{z{z{{z{z{{{{yz|{{{{{{zzzzyz{z{{{{{z{{zzyyzzz{{{{{z{{{{zz{zy{{z|zz{{zzzzz{zzz{{zz{{{z|{zyyzzyyzzz{z{z{y{{yzy{zzz{{yzzyyzyzzxzxzzzzzzzzzzyyyxzyz|zy{zzzyyzyyyzxzzzxzzzzyyzzyzxyz{zzzy{yyzyzxyzy{z{zyz{{yyyyzyyyzyzyy{{zzyzyzyyzyzyzz{yyyyyyyzyyz{yzzzzzzyyyyyyyzzzzzyzyzzyzyyxyzzzzyyzzzzzyxzyyxzz{y{zzzyzxyyyyzyzyz{zzyyyyyyyyyzzyzz{{zzzyyzzyzz{zz{z{yyyxzyyy{zzzzz{zzzzzyyzzzzyzzyzzyzzzyzzzzz{{{z{zzzzyzzzzz{y{zz{zzzzzzyy{{{{{zz{zy{yyyyzzzzzzz{zzzzzyzzyyzz|{z{{|yzzzzzzz{{{{{{{zyzzzyzyyz|zz{z{zzzzz{zzzzz{{{{{{zy{yy{z{y{{{{z|{{yzzyzzzz{{z{{{z{zz{z{zzz{z{z{{{{zyz{zzzzzz{z|||{zzzzzzz{z{{{{z{yzzzyy{y{{{{{z{{zzzzzz{yzz{zzz{z{zzyyzzz{{{{zzzyyzyyyyyyyyzzzzzzyxyzyxxzzzzzyzz{zzyyyzzyzzzyz{zzzzyzzyyxyzz{yz{zyxyxyyyxyyzzyzzzyyyyyyzyzzyzxzz{zyyxzyzyzyzyx{zz{zyyyyyxyxzyzz{zzyyyxyxxzzzzzzzyyzyyyyxyzzzyzzyzyzyzxzyzzyxzzyzzyxyyyyzyyzzzyzzzyyxxzyzyyzyzyzy{yyyzyyyyzyzzyz{{yyzyzyyzzzyzzz{zyyzzyyzyyyzzzz{zyzyyzzyxzzyz{zzzzyyzyyzzyzzyzyyzzyxyyyyzz{zzz{|zzyyzxyyyzzzzz{yzzzyyyzzyz{{{{{z{yzzzzzyzz{zzz{z{yyzzyzzzy{{zzzz{{yzyzyz{{{z{z{|zyzzzz|{zy{{{zz|zzyzzyz{zz{{z{{{z{yzyzzzyz{{{z{{{{yyzzzz{zz{{zz{zzz{yyzzzzy{zz{z{z{{zzyyyz{{{{{{{zzzyzzzyz{{{zzz{yyzyzyzyz{zzyzz{yzxyyyzxzyyyz{z{yyyzyyxyzzzzzzz{zyzyyzyyzyzyyz{zyyyyyxzyzzzzzzzzzyzyzyzyzyz{yzzzzxyyyyyxy{z{zz{yzzzyyzyxyzzzz{zzzyyyyyzzzzzzyzz{yxyyyyyyzzzzyyzzzyyyyyyyyz{zyyzzyyzyyyyzyzyzy{{{zzyyyyyyzzzzz{z{zyyyzyy{y{yzyzz{yyyyy{yx{zy{zzz{{zzzzyzyzz{zzzz{zyzyyyzyzzyyzz{{yzzyzzzzy{z{z{z{zzyzyyzzyzzzzz{zzzzyzzzzzzz{zz{z{zyyzzzyzzzz{|{{zz{yzzxy{zzzz{{{zzyz{{zz{{{{z{|{{yzzzyzyzzzz{{z{{yzzzy{zz|{{{{{{zzyzz{{{z|{z|z{{{z{zz{zyz|zz{|zzyzz{{zzz{{{{{{|{zzzzzzz{{{{{{{|{zzzyzzzyzz{{z{{z{zzz{yzzz{{{{z|z{{yzzzzzz{yzzz{{yzzyyyyzzzz{yyyzyyyyzyyxyzzyyzzzyzzyyyxyzzzyzz{{yzzyyzyyyzy{zz{yyyyyyxyzzz{zyz{zzzyyxyxwzzyzzzz{yzyyyy{xyzyzzz{zzzyz{zyyzyyzzzzzxxyxyyyxxyzyzzzzxyxyyyzxzzyyy{zyzzyzyxyyzzzzzzyzzxzyyyyyzzzzzzzyzyzzyyyyyzzyxy{zzyyyyyyyyzyzzzzzyyyzzyyzzyzyy{zzzzyyzyyyzzyzzzy{zzzyyzzyzyzzz{zzyyyyzyzyyzzzzzzzzzzzzyyzzz{{{z{zyyzzyzzyzyzzz{zzzzyzzyyz{{zzzzz{yyzzyzyzzz{zzzzzzz{zzzzzz{z{{z{zz{zzyyyzzzz{zz{z{yzzzzyz{{zz{|zzyz{yzzzz{zzzz{{z{yzzyzzyz{|{{z{z{zzz{yzyz{z{z{{y{yzyzz{zzz{zz{|{z{yzzzzyzzzzz{{zzzzzzzyyz{{zzz{zzyzzyzyyz{z{{z{zzyzyyyxyy{{zzzzyxyyzyyyyzzzzzyzzyzyxyxxzzzyzzzzzzyyyzzyyzzzz{zz{zyyyyyzzzzzzy{zzzzyyyyzyyzzzzzyzyyyyyyzyyyyyzyzyzyyzzzyzzzzzz{{{yyzxyyyyyzz{yzzzyxzxyyyyyzyyzyzzyxxyyyyz{z{yz{yzyzyyyzyzzzzzzyzzzyzyzyyyyyyyyyzzyzyyyyyyzzzzzzzzzyyyyyyyzy{zzzzzzyyyyyzyyzzzz{z{zyxxxyyy{yzz{{z{zyzzzyyy{z{zzz{zzyzyyzzyyyzzz{z{zzzyyyyyzzyzzz{{zyzzyyyzy{{yzz{zzzzzz{zy{{z{z{z{zzzzzzzzz{z{{{{z{yzzyzzyzz{y{z{{zyzz{zyz{|zz{zz{zzyyzz{zz{yz{{{{{zzyyyzzz{zzz{{z{zyyzzzy{zzz{|{{{zzyzzzz{zz{{{{|zzzzzzz{|z{|y{|{zzyyzzzz{{{{z{{zzyyzyzyyz{{{{{{{zzzyyy{yzz{zzzzzyzxxyxyyxy{yzz{yzyzyyyyxyyzzyzyzyyyzyyyyzyzz{zzzxzyyzyyxyzzzyzzyzyyxxyyyzyzzzzzzyyzwyyyyz{zzzzyyzyzzyyyxyyzzzzxzyyzzyyyyzzyyyzy{yxyyzyzyyyy{zyzzzyzyyyyyyyyz{zzzzyyxyyyxzzzzzzyzzzyyyyzyyyzzyzyyyzyzyyyzyzzyy{zyyyyzzzzzzxzz{zzyzxyyyyzzyzzzyzzzzy{yyyzzyzzzzzyzyyzyzxyzy{z{{z{{zyyyzyyy{zzzzzzyzzzzzyzzzz{{zz{zyzzzzyyz{zzzz{y{zyzy{zzz{yy|y{{{zzzyzzyzz{z{zz|{zyyy{yzz{|zzzzz{{yyzzzzz{z{{{z{|zzzzz{{z{zzzz{{z{yyyy{zzz{zz{zzzzzzzzzyzzzz{zzzzzzzz{yzzyz{{{z|{{{zz{zzzz{{{{{{{{{{yzyzzzz{z{zz{zyz{zzyyy{{{zz{{zzzyyzyyzzzz{zzzyzxyzzzyyzyzzyzzyzyyxyyyz{zzzzyzyxyxyzxyzyyyz{{zyzzyyxyyz{zzyzzzyyzxyyyxy{zzy{yzzyyyzyyzx{zzyzyzzyyyzxyxyy{zyzzyzzyyyyyyyzyyyzzzyyyyxyyyzyzyzy{zyyyyxyyyyyzy{zzyyyyxxyyyzyyyzzzzzxyyyxyyyzyyzzzyzyyzyyyyyzzzy{zzyyyyyyxxzyzzzzzzzyzyzyzyzzyzz{zzzyzyzzzy{zz{y{z{yyyzyxxzyzzz{zzzzy{yyzzzzzz{y{zz{zzzz{yxyzyzyz|{zyyzyyzyzzyyz{zz{{zyzzyzz{zzz{zyyzyyzzzzzyz{z{z{zyz{yxzy{{z{z{{{{yzyzyzzz{{zyzzzzyyyzzyzz{zz{{{z|z|yyz{yz{{{{z{{zzzzz{zz{z{{zzzzzzyxy{yyz{zz{zz{zzxzzzyz{z{{{zzzzyzyyzzz{{zzzz{{zzyyyyzzzzzz{{{zyyzyyzyzzyzzzzxyyyyxyxzxy{zyzzzzzyyzyyyyzzz{zz{{zyyxyzyyzyxyzzz{yyzyyyzzzyyxyyzzzyzyyxzxyzz{yzzzzwzyyyyyzzzzyzyzzzzyyyxzzyyyzzyzyyyxyzyzyyzzyzzzyxyyxxxyxyyyyzyzyyzyxxxyzzzyzzyzzzyxyyyyxyz{zzyyyxy{xxyxyxyzzzzyyzyyyyyyxzy{y{zzyyyz{yyyyzyz{zzzzyyzzyzxz{yzzzz{zxzzyyzzzzyzyyz{yzyzxyyxyyzzzzzzyzyyyyyyyzz{z{zzyxzyzzzy{y{zzzzyyyzzzyzzyzzzzzzzzzyzyyyzzy{z{{{zzzzyyyzyyz{{zzz{{yzzzyyzzzzzzz{zzyyyzzyyy{zzzz{{z{yzzzyzyyz{z{{yzzyyz{zyz|z{{{{{zz{zzyzzzzz{zz{yzyyyzyzzzzz{zz{zzyzyzzxzy{zz|{z{zyyyzzzy{zzzz{{zz{yzzzyzyzzzzzz{zyyyyzzyzyzzyzx{zzzxzyxxyzzzzzzzzyyyyyzyyyyzy{zy{zyyyyyyzzzzzzz{yyzyyxyzyyzzzzzzzzyyyzyyzyyz{zzzyzyyyyyxyzzzzzzzzyyzzyyyyzzzyzyzyyzyyyyyyzzyyzzzxyxxyyyyzz{zyzzzyyyzyyyyy{zyzzzzzzzyyzzxyzy{yz{zzyyyzxyyyzzxzzzzzyyyzyyyyzzyyz{zyzzzxyxxyzzyyzz{yzyyzyzyzzzyzz{zyyzyxzzzzzyzz{z{yyzyzyzzz{{y{zz{yzzyzyyzyzz{{zzzzy{yyyyzzzzyzz{zzzzzyyzyzzz{zzz{zzzyyzzzzz{zz{{{zz{yzzyy{z{{{z{{{yzy{yzz{z{z{z{{zxyyyzzy{{{{z{{{yzyyzz{{{zzz{{z{zzzzz{yzz{{|{{{{{zzzzyzz|y{{z{z{z{yzzyy{zzz{{{{{z{zzzz{zzzzz{{zzzz{xyzyyzz{{{zz{zzyyzzzzzz{{zzzyyyzyyyzy{zzzzzzzzyyyyzxyzzzzzz{zyyyzyyzzyzzzzzz{zzzyzz{yzzzzzzz{zzzxyyyyyz{zyzzzzzyyyzyxzz{yzzz{y{yyyyyyyzzzzzyzzyzzyzyyzy{yyzzzzyzzyyyyzyyzz{z{zyyzyzyyyzzzzyzzyzyzzzyxzzyzz{zzzyyyyyyyzzzyyzzzzyzzyyyyzz{zyzzzyyyyzyzyyzzzz{zzyyyyyzzxzzzzzz{zzzyyyyyyz{{zyz{zzzzyzyyzzzy{zzz{zyzyyyyz{{{y{zzzzzyyzyzyy{{z{zz{yzyyzyyyy|zz{z{{{zzzzzz{zzzzz{yzzyzz{zyyzzzz{{{{zyzz{z{zzzy{{{z{{yzzzyyyz{{zz{z{{zzzyzyyz|{zz|{{{zzzzzzz|zzz{|{z{zzyy{{zz{{|{y{{{zz{zyz{z{z{z{{zz{zzzzzy{{{{{{{{z{zz{zzzz{zz{{{{y{zyzzy{{{z{{{|zzzzzy{yy{zzz{{{z{xyyzzyxzy{y{y{yzy{yyzyxz{zyyz{{zxyzyxzxzzzzzz{{zzyyxzzyzyyzzz{{yzyzyyzyzzzzzzzzyzzyzyyxzzz|yzz{zz{yyxyyzzzzz{zyzyyyyyyzzyzzzzyzyxyyyzyyyyzy{zzzyzyxzyzxzzzzyyzyzzyzyzyyzzzzzzz{zyzyyyyyzzyzzzzzxyzyzxyyy{zyyyzzzyzyy{yzzzyzzzzyzzzzyzzzz{zz{z{z{yzyyyzy{{zyyzz{zyzyzyzzzyyyzz{zyzzyyyzyzzzzzz{{zyzzzzyzzzzz{z{zzzzyzzyzz{{{zz{zzzyz{zyzz{{zzzzzzzzyzzyy{zz{{{zzzyyyz{zzz{z{z{{{{yyzzzzzy{zz{{{z{zyyzyzyz{|{{{{{{yzyyz{zz{{{{||{{zzzyzzzz{{z|{|zzyzzzzyz{{zz{zzz{zz{zz{zyzzzz{{{{{{z{z{zz{|||{{{{zzzy|zy{zzzz||{zzyzyzyzz{z{yzzzzyzyzyyyzzzzzyyzyzyzyyyxyzyzzy{yxyzxyyyxyzyyzzzzzyyyyxxyzxzzzzzz{yzyzxxyzzzyzzzzyzzxxyyxyz{yzzy{xyyxzyxyyyyzzzzyyyyyyxyy{yzzzz{yzxyxyyxyzyy{zzzzyyxzzzyyyzzzyyzzzyxyyyyyyz{zx{zzyzyywyxyyzzzz{zzyyyyyzyyy{zyzzzzzzyyxyyyyzzzyzzzyzyyyzyy{zz{zyyz|yyyzyyyz{x{zzyzyzzwzzyyzzz{yzzzzzzyyyyz{zzzzzzzzzz{zyzxy{zz{zzzzyyzyzzyzzzzz{{zzyzzzzyz{zzzz{yyzzzyzzzyyzzzyzzzyzzzz{zz{{zzz{|zzyyzzzyzz{{{z{|{zyyyyzzz{{z{{{{zyyyyzzzzz{zzz{{{{zzzzz{{z|{zz{zzzzzzzzzz{z|{{z{{zyzyzz{zzyz{{{{|{zz{zyyzy|{z{z{zzzzyyz{zzzzy{{{{{zyzyyyyyzzzzz{z{yzxyyyyz{{zyzzyyz{yzyyyyzzzzzzzyzyyyxyyyyzyzzzzzyzyzyyyzyzyzyyyzzzyyyzzzyzzzy{{yzyyxyyx{zzyyz{zzyzxzzyyzyyyyz{zzyzyzzyyzzyyzzzzyyxyxzxyyzyyzzzyyyzyyyzxzzyyz{zzzzyyxxyyyzyz{zzyzyyzyyzyxy{zzzz{yxzzyyyzzzzzyzyzyzzyyzyzzzyzyzzzyyzxzyyyz{zz{zzzzzyyzzyz{zzzzzz{yzzzzy{yzyzzyzz{yzyzyzyyzzzyz{z{zyzyzyzz{{zzzz{yzzyzzzzyzz{{zzzzzzxzyzzzz{zy{y{z{zyzzzyzzy{z{|z{zzzzzzyzzzz{z{|{yyyzzzzyyz{z{{{zzzzyzy{z{{{zzzz{{zzzzyzz{{{zz{{|{zzzz{z{z{{z{z{{zz|zzyzz{{{{z{{y{zzzzzzzzzyz{{{{{zzzzzzz{yz{{{{{zzzyyyyzzzzz{{z{{{{zz{zzz{yzz{{zzyzyyy{yzz|zzzzzzyyyyyyyyzzyyyzzyxyyyyyyyzzyz{yzyyxxzyxxzyzzz{zzzyzzyzzyzyyyyz{zzzyxxyzxyzzyyzzzyyzyyyyyzzzzyyzzyyzyyxzzzyyyzzyzyyxxyyyxzyzyzyzzxyzyzxyxzyzyxzzzyyxyxyyyyx{zzyzzzyzzxyyxxy|zzyzyyyyyzyyyzzxyzzzzz{yxzyyyy{zxzzzyyxzzyzyzzzzzzzzzzyzyzyyxyzzzzzy{yyzzzxzz{yzzzzy{zyyzyyyzzyzz{zzzzyyyzyzyy{z{zz{{yyyyyyyyzzzz{z{zzzzzyyzzz{zzzzyxzzyyyzzzy{{z{{{{yzzzzyzyzzzz{{z{zzz{yyyyz{{{{{{{zyyzzzzzz{{z{z{{y{y{z{{zzzzzz{{z|zyzyzzzz{{{{{{zzzz{zyyzyzz{zz{z{yyy{zyyzyzzz{{{z{zzyzzy{z{{}{{{yzyyzzzyzzzz{zzzzzzyyzzxzz{y{z{zyy{yzzyyzz{zyyzzzzyyxzyzzyyxzyzzzyyyyyyyzz{yzzz|zyzyyyyxzyzzyzzzzyyyyyyyzy{{yzyzyyzxyyxzzzyzyzy{zzzxxyyyxz{yxzzzzyyxyyxyyzzyzyzyxxwyxyyyyyzyxyyyyxzyyyyyyyy{yyzzzzyzxyxyyyzyz{zyyzzxyyxyzz{zzzz{yzyyyzyyyyzzzyyyyzyzzyyyyzyzyzyzyyyxyyyyzyxzzyzzzyzyzyyyyzzzyzzzyyyzyyyyzzzzzzzyyyyzyyyzzzzzz{zzyzzzzxzyy{zzy{zzyzzyyyzz{yzzzy{zzyyzyzzyzyzyzzzzyzzzz{zyyy{{zzyzyzyzzzzyz{y|zzzzzyzzzyyz{zzzy{{{zyxzzyzz{zy{zzz{zzzyy{{zzz{z{{{z{zzy{{zzz{y{zz{zzzzzz{zzz{{zzzzz{yyzzzzyzz{zz{|zzzxy{yzyzzzzz{z|yzzzy{zzzzzz{{{zzzzzzyyzy{zzzzzzzzzyyyyyzyz{yzyzzxyyyxzyyzzyzzz{yzyyxzzzz{zzy{yzzzyzzzyy|yzzzz{zzyxyyyyyzzy{zzz{yxyzyxyyzyzzzzzzzxyyyyyyyyzzyzyyzzzyyyzyzzzxxyz{zyyyyyyyzzyzyzyyyyyyzyyyyzzzzzzzzyxzyyxyzzzzyyzyyyyzxyzxyzzxzy{{yzyyyyyxyzyyzxzyxzyyyzyyy{zzzz{zzzzz{yyyzzyzzzzzzzzyyyyxz{zzzzz{yzzyyyyyz{zzyzz{yxyyyyyyzyzzzzzzzzz{zzzyzzz{z{yzyy{zyzyyyz{zzzzzzzzzzyzxzzzzyz{zzzyzyzzzzzz{z{{{zy{yyz{z{zz{{zzzzyz{zyyy{zzy{{{{zyyzzzzy{{{zz|{{yyy{yz{zz{z{{zzzzyzyzyyzz{{{z{||{zzzzzyz{{{{zz{{zzzzzzzzzzzz{{{{{{zyyzz{{zz{z{{z{yzzyzzyzzz{{{zz{{zzzzzzz{{z{zz{zzzyzyzy{zzzzzyzyyxyyyyyyzzzzzzzzyxyzyxxzzzzz{zzyyzyzyzyzzzyzzzzyyyzyyyzyzzxxyyzzyzxyyyxzyzy{z{zzyzxxyzxz{zzyzzzzxzyyyxxyzzyyzyzyyyyyyyzxyyyyyyzyxyyyyzyzzyyyzyzyyzyyyyyyyzz{zzzzyyyxyyyz{{zyyyzyyzzyyyyyyxzzzy{yxyyxxyyyyzyzzz{{yyzz{yyzzyyyz{zzyz{yyxyyyzzyzz{zyzyyyzyyyyzz{zzyy{yyxyyx{zzyzz{yyzzzzyyyyzzzz{{zzzyyzxzzyzyz{{zzy{zzyxyzzzyz{z{yzyzzyzy{{{{{z{{zyyzzzzz{zz{zzzz{yzzyzzz{{zz{z{z{y{yzz{z{|{z{z{{zzzyzz{zy{z{z{z{zyzzzzz{z|{zz{{{{zz{zzzy{z{zzz{{{xzzzzzzz{yzz{z|z{y{zzzzz{zzzzz{z{zz{yyyyzzzz|zz{zz{zyzyzzzzzz{zzyyyyyyxyz{zz{yyyzyyyyyxyyzzyzy{zzyyyxyxzzyz{zz{yzzyyyxyzyyz{z{yyyzxyxyzzzzzzyzzyyxyyyyxyzyzzzzzyyyxyz{yzzzyyyzyyyyyyyxzzyyxy{zyxxyyyyyyyyyzzzyzxzyyxzyyzzzzzzzyyyyzx{yzyyzyyzzzyyyyyzyyzxyzyzzzxyyxzyxyyzyyzzyyyzyzyxxxy{yzzz{yyzxyyyxyzzzyyzzzyyyyzyzyyzzyzz{yzyzzxxzzyyzzzzzzyyyxzyzzzzzyz{zzzzyzyyzyxzzzyzzz{yyzyyzxzzzy{y{z{zzyzzyyy{yyzzzz{yzyyzzzzzz{{z{zyyyzzzzzzzz|{{{zzzzzzyzy{{{{zzzz{yzyzzzy{{{z{z{{{{{zyyzzz{zzz{{{zzzzyzz{y{z{{zz{zyy{{zzzz{{zz{{{{yyzzyyzzzyzz{{{zzyzz{yzzz{z{{z{zzzyxzzzyzzzz{z{{zyyzzzyyzzzzz{zyyxzyzzyzz{zzzyzyzyyyzyyyz{yzzzzyyyzzyyyyyzzz{zzzzyxyzyyzzyyyzzzzyyzyyyyyyyzyzzzzyzyzyyxyyyyzyyzyyyyyyzxz{zzyzzyzyyyyyzyzzzzzzzzyzyyyyyyyzz{zzzzyyyyyxyyyyzzyzzzyyyyyyyxyz{{zzzzyyyyxyyzyzzzzyzzzyyyyyyxxzzzyyzzzyyyyyyyyzyzzzyzzyyyzyzyz{zz{zzzzzyyzyyzzyzyz{yzyyzzyzzyzx{zzzz{yyyyxyyy{zzy{z{zyyzyzyyy{|zz{{zzyzzzxyyyz{zzzyzzzzyyzyzyz{zzzz|{{yyyyzzzz{{{{{yzz{zzzzzzz{z{{{z{zzy{zzyzz{{{{{{{zzzyzyzy{{z{z{{{z{zyzzzyz{z{{{z{{zz{zzzz{{zzy{zzzy{z{zzzzzzyyz{z{z{zzzyz{zz{{{{{z{zzzzzzz|z{z|{{zzyyzzz{yzz{|z{{{yzzyy{yz{z{zzzzyzzyyyyyzzz{zyzzyyzyyzzyz{zzzzyzyyzyzyzzyzzyz{zzzzzyyzyxyzzzzyzzyyyzyyyyzz{zzyy{zzzxyxyyyzyzz{z{z{yyyyyyyzyzzz{zyzzyxyyyyzzyy{zyzyzzyzyyyzzzyzzyzyyyyyyyyzzzzzz{zzzzyyyyzzzyzzzyzyyyyyxyzzyzzz{{yyzyyyyyyyzyyyzzyzyyyyyyyzzzzz{zyyzyxzyxyz{zzz{zzyyyzyyz{zzzzzzyzyyyzy{y{{zzzyzzzyyzz{zzy{zzzy{{yyyyyyyyzzzz{|z{zzzyyzyz{zzzyz{{yzyxzyyzz{zzz{zzzzyzyy{zy{zz{{yz{yzyzzzyzzyzzz{{zzzyyzzyzzzz{zzy|{zyzz{zz{z{|{{{zzyzz{zzz{zz|{{z|zyzzzzz{|{{{|{|{zz{yyy{{{zzzz{{{zyzz{yzz|{z{z{{zz{z{zy{z{{|{zz{z{{y{zz{z{yz{{{|{zyzzzzyz{y{z{zzz{zzyyyxz{zzzzzzzzyyzyzyzzzzzzz{zzzzzyyy{z{zzzzz{zyyyzzyyy{zz{{{zyzyzzyzzzzzy{zzzzyyzyzyzyzyyzxyzyzyyxzyz{yyz{zzzyyzzyyyzzyzzyzyzyzyzyyzz{zzxzz{yyyyyyyyzzzz{zzz{yzyyxyzzy{z{zzzzzyyyyyyz{{{yzzyzyzyxyyyyzyyz{z{yyyyyyyyy{zyyzyzzyyyzyyyzzzzzzzzzzzyzyzyzy{zzz{zzzyzy{zzzzzzzzz{yyzyyyzzz|{zzz{{zzzzzyzyz{zzzz{z{zzyyxyzzz{zz{z{{{z{zzyyz{{zxz{zzyzzyz{zzz{|z{z{z{zyyyzzzzzzz|{{zzzyzyzy{zzz{z{yzzzz{yyz{||{{z{{{zz{yzzzz|{z|{{{{yzzzzzzy|{{z|{|zz{{zyyz{z|{{{z{{{zyzzzzzzzz{{||zzzz{zzz{z{{{{{zzyzzzzzz{{zy{{|z{zyyzzzzz{z{z{{{yyzzzzyyzzzy{{zzyyyzyyyzzzzyzzzzyyyyyyyzzzzz{z{zzyyxyyyyzzzyzzz{zz{yyyyyzzzyyz{{zzyyyyyyzzzyyyzzyzyyyyyzyyyyyzzzyxyzzyzyyyyyyyzyyxzyyyxyzzzzyzz{yyyyyxyyyzzzzzyyzxyzyzyyyyzy{xzzzyzzyyxyzzyyyz{yzyzzyyyxzyzyyz{zzyyxzyyyzzzxyzy{yyyyzyxyzzy{yz{zzzyxyyzyzzzyyzzzzyyyzyyy{yzzyzzzzyzyyyyyyzzyz{zyzyyyyxzzyzzyyzyz{zzyzzyyz{zyyzzzzyyzzzzyzzzzyzz{yzyzzzzzzzz{z|{{zzyyyyzy{{zzzzz{zzz{zzyyz{zzzz{z{yzyzzzz{zy{{zzzyz{yzzzz{zz{z{z{{yzyyz{zz|z{{{z|zyzzzyyz{{{z{{{{zyyyzz{z{{zzz{{{{zyzzzz{zzz{y{z{zz{yzzzyzzzzzzzzyzzyyzyyy{zzz{zzz{yyyyzyz{zyzzzyyyzzyyyyyzz{zyzzyzyzzxyyyyzzz{zzzyyxyyyyzzyzz{zzyzzyyyyzyyzzyzzzzyyzyyyzz{zzzzzyzyyyyyyyzzyzzzzzyyyxzyzyyzzyzzzyyyyyyyxyyzx{zzzzyyyyyyyxyyz{yzzzyxyxyyyyzyzz{yyyyxzyyxyyzzyzzzzzzyyzyxyyyzzyyyy{yzyyzyyyzzyyzzzzyzyyzyzy{zzzzyz{yyzzzzyyyzzyzzzzyyyzyyzyyyzz{zzzyzzyzyyyz{zz{zzzzyzyyzyzzz{zy{{zzy{zzyyxyzzzzz{zzzzyzzxzz{zzzxzzyzzzzyyyyzz{{{{zzzyzzyzzzy{{z|z{zzyyy{zzzyzz{{z{zyy{yzzy{{{zz{||zzzyzzz{z{{z{z{{zzz{zzzz{{{zz{{{zyzzzzz{{{{{z{{z{z{zzz{yzzyz{z||{zzyzxyyzz{zz{z{z{zyyz{zz{zzz{{zzzzzzzzzzzyzz{{zyyyyzyyz{z{zzzzzyyzzxyyxyzzzzzzzyyyyyyyyzzzzzyz{zyyyzyyx{zzzyzzyyyxzyyyyyzz{yyzzzyyyyzyyzzzzzzzzyyyyyyyxzzzzyzzzzxyzyxyyyzxzz{zzzyyyxxyyyxyyyzyzyyyyyxxyyzyzzzzzzyzyxxxzxzyyz{yyyyyyyyyyyzzzzzzzyzzyyxyzxzzyzzzyyzzzyyyyyzyyy{z{zzzyyyzxzzyz{{yzzxyzxyyyzz{y{{zz{yyzyxzz{yzzyzz{yzzyxyyyzyzzzzzyyzzyzzzyz{z{z{zyzzzzyzyyyz{zyyzzyyz{xxzz{yzzzzzyzyyyzzyzzzz{{{zzzyzyzz{zz{z{zz{{zyzzzyyyz{zz{zzzzyzy{y{z{{|zzz{zyzzzyy{zzzzzzzyzzyz{yzyzy{{zzz|{zyyz{zzzz{{z{{{zzyzyy{yz{{zy{{{{zzyzzzzy{{z{zzz{{zzyzzzzzzzzz{{{zz{zzzzzy{{zyzzyyzzyyyzyyyzzzyzyzxxyzyyyzyz{zzzzyzyyxxyyzzzzzzz{zzyxyyzyzyzzzyzzyyyzxyyyz{zzzzy{yzyzxyyxyzyzzyzzzyzyyyyyyzyyyyzzyyzxyyzyyxzxyzyyyyyyyzxzyyyyxyz{yzyyzyxxy{yyyyzyzyyyyyyz{yzx{zyyyyyxyyzyyzz{z{{zxyyyyyxxyzyyzzzzxyxyxyyyzyyzzzzyyyzzyzzxyzyzyzzzyyyyyyyyy{zzyzy{zyzyyxzzzyzy{{zzzyzyzyyxyzy{zyz{yyzyzyzxzzzzzzzzzyzzyyyy{zz{{zzzzzzzyyyzzzyz{zyyyzyyzzzzzzyzz{{{yzzyy{zzzzz{zzz|z{zzyzyzz{{z|yyzzzzzzyzz{{z|{z{{{zzzzy{z{{zz{{z|{zyzyzzzzzz|zz{{{yz{zyzzzzz{z{zzzyz{yzyzzyzz{|zz{zzz{zzz{{yz{{z{zzyzyzzyyzzzzzz{zzyzyyzyyz{{zz{zzyzzzyyyzzzzzzyyyxzxyzzyyzzyyyzzyyyyxyyyyzyyzz{zzyzyyyxyyyzzzzy{zyyyzyyxyy{zzzzzzzzxyxyxyy{zyzzzyyyxyzyyyzzzzz{zzy{xyyxyyz{xzzzzzyzyyxyzxyyzxzzyyyyyyyxzyyzzzyzzyyyyxyxxzy{yzyzzzyzyyyyyzzzyzyy{yyyxzxxxyyzyzzzzzxyyxzyyyzy{{z{yyzzyyzzyzzyyzzzzzyyxzyzyyzyzzzzzyyzzyyzzzzzyzzzzyzzyxyzzzzzzz{{zzyzyzyzy{y{zy{zzyyzyzyzyzzyzzyzyzzyyyzxz{zzzz{zzzyyzyzyz{z{z{zz{yzzyzyy{yzz{{zz{zzyyzyyz{{{{zz{{zzzz{yzy|{zz{z{|zyzyzzzzzzz{{{{zzyzzzzyyy{{zz{z{{yzzyyzzz{zzy{{{zzzzzzyyy{{z|{z{{zyzzzyy{zz{{zz{zzzyzyzz{{{z{{{{zxyyzyzyz{z{z{{yyzyzyyyyzzzyzzz{zyyzyxyzyyzyzyzzxzyzxyyyyzzzz{z{yzzzyyyyzzyyzzzzyxxyzzzyz{zzyz{zzyyyyxxxyzzyz{zyxyyyyzyxyyzyyzzzzyyyxyyyzzzyyyzzzzyyyyyyyyzyy{yyzxxyxyxyyyyzyyzzyyyyxyyxzzyyyyzzyzyxxyxxzyyyyyzzzyyxyxyyyyyyzzyyzzyyzxyxzyzzzz{zyzyyyyzyzyzzzy{yyzyyyzzyzzzzzzz{yyyzyxyyzyyz{zzzyyzyyyyyyzzzzz{yyyzyzyzzzzz{{{zzyyyyyyyyzzzzyz{zyyzzyzzxz{{yyzzzyzyzyzyyzz{{zz{zzzyyzyzyzzz{{z{zzzzzyzxzz{zz{{|zzyzzzzzy{z{z{z{zzzyyzz{zzz{zz{z{{zzzzzyzy{{z||zzzzy{zzzy{{|zz{{zzxyz{yz{yz{{{z{{{zzzzzyz{zzzzz|zyyyyzyzzzzzzzzzzzzzzyzyyyzz{yyzzyzzyyyxyzzzyz{yzyyxxyyyxyyzzzyzzyzyzxxxzzz{yzyzz{zyxyxxyzzzxy{zzyxxxyyzyyzzzyz{zyy{yyzxz{zzzzzyzzzzyzyyxyyyzzyyyzzyzyxyyzzzzzzz{zyzyzyyzzyyzzz{zyyxxyyyzyzy{zzzzyyyzyzyyyxzzzzzyyyyyyyxyzzyzyzzzzyzyxyzxzzzyzzz{zzzyzyyyxzyyy{zzyyzzyyzyyyyzyz{xzyyyzyyyz{yzzz{{zzzyyyzyzzzyzyzzyyyzxyzzzzzyzzzzzzzyyyyy{y{{zz{{yyzyzyyyy{z{z{{zyyyzzyzzz{zyy{zzzzzzzyzyz{{z{zz{zz{zyyyzzzz{{zzz{z{zy{xyz{z{zzzz{{yzzyzy{{{{{|{zzzzzyz{yzz{{{{z{{yzz{zzz{{{{{{{{{z{yzzyyz{{{z{z{{zzzzzz{{{{zz{{{{zyzz{zz{z{|{z{{{zyyyzzz{{z{{{{{{yzyzyzyzzy{zzzzzzzyyy{zz{zzzzzzzyyyzyxyyz{yyyzzzyyyyyxyzzzz{z{zyyyzyyzy{yyyyz{zyzzyyxyxyz{zzzzyzyzxyzyyyzzzyzzzzyyxyyyyy{{zzz{zzzyyyxyxzz{yzyyzyyyyyyzxzzyyyzzzyyyxyxyxyzz{z|zyxzzyyzyyzzzzzzzzyyzyyzyyyzyyzzzzzyzzyxyyyzyzyzyzzzxyzyyyyyzzz{zzzxzyzyyyzyzzzy{yzyyyzyzyyzzz{zz{yyzyxyzyzzzzyz{zyyyyyyz{zzzyzzzzzxyzyzyyyz{{yzyzyyzzyyyyy{{yz{{yzzxxzzxyz|zzyz{yzzzzzzzzzyz{z{{{zzzzzyzz{{zzz{|{{y{yzzzzz{zzzz{zzzz{yzyy{{{{{z{{{{{zzy{z{z{zzzzz{yyzzz{z{z|{{zz{zzzzzzzy{zz{zz{zzy{zyyz{{zz{zz{{zzzz{zzzzz{{{z{{z{y{yzzzz{zzz{{zzyzyyyyzyz{{zzzyyyzyyzy{yzzzz{zzzxyyzyyyxzzyzzzyzzyyyxyyyyzzzzzzzyyzzyzyzyyzzzzzyyzzyyxxyzzzyzyyyyzyyyyxyyzzzzzzzyzyyyyyxyyzy{{zzyyyxxyy{zzzzzz{zy|yyzyyxzzzxyyzxyxyxxyyyxyyzz{yyzzyyyyzyxzyzzzyyyzzzyxyyzyyyzzxzzyzyxyyxyzzzzzyzyzy{yyxyyyzzzzzzxyzyyzzyyzzzzzzzyyyyyyy{yyyzz{{zyzyyyyzzzyzzz{zzyyyyzyzy{{{z{{zyzzyzxyyyzzzz{zzzzyzzyyz{zyzzzzzxyzzyzzyzzzyyzz{zyzyzzyz{zz{yz{zy{{zzyzzzzzzz{{{{yy{yyyyz|z{{z|z{yzzy{yyy{{zz|{zzzzzyzzz{{z{zzz{|{z{yzzzz{{z{|zzyz{zyy{z|z{{{zyzzzyzyzzy{zzz{|{{{zy{zzy{{zz{{{{{zzyzyzyyzz{{{{{zzzz{yzzy{xzzzz{{zyzyzyyzy{z{zz{y{zzyyyyyzzzx{z{zyzyzyxyzzzyzzzzzyzyyyyzyzzyyy{{zzzyyyyzzyzzzzzzzzyzyyyyxzzyzyzz{zyzxyyyyzzzyy{{yyyyzyyyyxzzzy{zzyyyyyzyyzzz{yzyzyyyyyyyxxyzzzzyyzzzxyyxyyyyzzz{yzyzzxzxzyzzzzzzzzxyyyzxyzyyzzyzzzyzyzxxxyzy{zzzzyyyyyzzyyzz{zz{zyxyyzyyxz{zz{z{zyyzzxzyyyyyzzzy{zxyyzxzy{zzzzz{zxzzxzyxyyz{{{zz{zzzyzyyyyzzzzz{zzyyzyyyyzzzyz{zzzzyy{zyz{zzz{{{zzzzyzy{zz{{z{z|{zyy|zyzxzzz{{|{z{yzyyyzz{{z{z|{{zz{yy{z{z{zz{z{{{yzzyzyz{|{{{{{{{z{{z{zz{{{{{{zzzzzzzzy{z{zy{{{zzzzzzzy{{{z{z{{{zzyzzyzzzzz{z{{zzzzzyzyzzz{zyz{zyxyyzzyy{zy{zzyzyyzyyyyyzyzzyzz{yyyzyxxyyyzzz{{zzzyyyyxxzzyzzy{zzyyzzyyyyzyzzyz{zyxyzzyy{yyzyzy{{yyyxyzyyzzzzzzzzyzyzyzyyyyyzzyzzyzzyyyyzzyyyyzzyyyxyxyyzy{yzzzyyyyzyyyyyyzz{zzzyyyyyyyxzyzzyzy{yzyyzyyyxyyyyzzzyyyyyxyxzzyyz{zyxxzzyyyyyz|yyzzz{yyyzyyxzzzzz{y{zyyyyyy{zzzzyz{zyzyzzyyzy{zyzzzzyzzyzzzzyzzz{zzzzzzxzyyz{zzzy{{{zzyzzzy{{z{zz{{zzzzyz{yzz{{{{{z{zzzyyyzyzz{zz{{z{zzzyzxxy|zzz{{zzzzyzzyzz{zz{z{{z{yzzyyzzzzy{|{zz{yzzzzyzzz{{{{{{yzzyzzy{{{{zz{z|yzzy{z{{yzz{{{z{zzy{yz{{yzz{z{{z{yyy{zzz{z{zzzz{zzzzyyy{{{zyz{zyzzyyzxzzz{yz{zzzyyyzxxxyzzzzyzzyyyyxyyyxz{{z{zzzyzzyyyyyyyyzzzyzyyzyxyyyz|zzy{zzxyyyyyyyzyzyyz{yyyzxzyyxzzzyz{{zyzyyyzyyyzyyz{zzyyyyyyyyxyzzzzzyyzxyyyyzzzzzzzyzxxyyxyyyyzyzzzzzyyyyzxyzzyyyyzzzxyxyyyyxzzzz{yzyxzzyyzxzzzzyzzzyyyyxzyyyyzz{{{zzzzxzyyyzzzzyz{zyzzzyxyyyzzz{y{zzxzzyyyyz{y{zzzy{zyzyyyzzz{zz{zzzyzzzyyyzzzyzyzz{yyzzyzyzzzyyz{{y{yyz{yz{{z{{z{{z{y{zzzyz{zzz{{|zyzzzyzy{zzzzz{z{yyz{zzyz{zz{{{{zzzzyzzzz{zz{{{{zzyzyyzzz|{z{zz{{yzyzyzz{{{{z{|{zzzzzzyz{|z{{z|{{zzzzyzzz{{z{zz{z{{zzzyzz{{z{{zzzyzyyzzyzz{{zzz{zzzyzyyyzzzzz{{zyyyyyxzzxyzzyzzyyyzxxyyxyzzyz{yzyzxyxyyzyzzzzz{z{yyyzyyxxzzzzzzzyxyyyyyyyyzyzzzzyyyyzyyyy{zzzzzyzyzyyyxyzzzyzzyyzxyxzzyyyyyzyyzzyyyzyzyxyzz{yzzyyxyyyyyyzzzzzz{z{yxyxyyxzz{zzxyzyyyyyyzyyzyzyzzy{yzyyxyzyzyyzzzyyxyxzzyxzyzzzyzzzzxxzyyz{yzyzzz{yyyyyyzyzzzzzz{zzzzzyyyzzz{yzzzzzyzyyyyyzyzyz{{zzxyyyzyz{yzzzz{{zxzyyyzzz{zzy{zzyzzyzzyzzz{{z{z{zzz{zyzzzzz{{zz{zyzzzzzxzz{zz|{zzxzzyzzzz{{zzz{|zzzz{{zy{{{z{{{{{zzzyz{zz{z{{zz{zz{yyyzz{{zz{{{zzzzzz{zzzzzzz{z{{yz{{y{zz{{{z{z{zzzyyzyyzz{{{yzzzyyzzzzzzzzz{zz{yzzyyyyzzzzzzzyzyyyyyyyyyzzzyzzzzyyyyzxyyz{yyzyzyyyzyxyyzzzzyzzzyxzyyyxyyzzzzz{zzzyxyxyxzyyyyzyzxyzyyyzxyzyzzzzzyyyyyyyyyyzyyzyyyyyzxxxzyzyyzzzyxzzyyxzxyyzyyyzzyyyyyyxyzzyyzzzzyx{yyzxyzyyzyyzzyyyyyxzxyzzyyzzzyyyyzyyyyzzzz{{zyxzzyzyyz{zyyzzzyyyxyyyyyyzy{zzzzyzyxxyyzzyyz{zzyzzzzyyyyzzzz{zzzyzyyyyxy{yzz{zzzyyyyyyxyz{zyzzyzzyyzyzzzzyzyyyzzyzyyyyzzzz{{z{{zyzyyzzzzzzz{zz{zyzyzyyyyz{zz{zzzxzyzzyzz{{{{{z{yzzyzyzzz{{{{{z{{{zyzzzzz{zzzzz{{zzzzyzy{{zzy|z{zyzzyzy{zzyzzz{zzzyz{zz{zzy{z{z{zzzyzyy{z{zzz{{{zyyzyzyyyz{y{zzzzyzyyyzzzz{yzzzzxyyzxyyyxz{zyyzyyyyyyxyyyz{yy{zzzzyxxyyyzzzzzy{yyyyyyyyyyzyzyyzzzyzyxyyyyyyyxzzzyzyyyzyyyzzzzzyzzxyzyyyyzzyzyyyyyxyxyzyyzyyyzyzzyyyyyyyyyyzyzz{zyyyyxyxzyzzzzzyyzyzyyyxyzzz{yzzyyyzyxzyzyzzyzzz{yyyyyyyyyzzzzz{{yyzzyyyxzzzzyzzzzyxyyyyxyz{yyyyzzyyzyyyzzzyzy{z{yyzyyyzyz{zzzyz{zyzyyyzyyyzzzzzzzzzyyyzyxzzzzz{yyyzzyyzyzzyzzzz{zzyzy{yz{zz{{z{zzyzy{yzyzzy{zzzzzzz{zyyy{{{yz{|{zyzyz{y{{{zzz{zz{yzxzy{yzz{z{zzzzzzzzzzzz{z|{z{{zyzzzyyyz{z{z{zz{zyyzyzyy{yz{{zzzyyzzzyzz{zzz{|zyzzz{y{yzzzyz{{zzyzyzyyzy{zzy{zzzz{yyxzyz{zyzyxzyyxyyxyyyzzyyzzzyyxyyxxyyzz{yzzzyzyyzyyyzzzzzz{yzzyyyxyyzzyyyyzyyzyxyyzwzzyzyyzzyyyyyzyyzzzyzyzyzyyxxyxyz{{yzyzyzyyyyzxyyyy{yzzzzyyyzyzyyyyzyzzxzyzzyzx{zyzyzy{zxyyyyzxyzzzzzyzzzyyzzyxyyzzyyyzzyzyyzyyyyzzxyz{{xyyxyyzyy{zzzyzzyyyyyyyyyzzzzzzzyzzzxxzyzzyyyzz{yyzzyyzzzzyzzyz{zzzzyyzyyzyz{zz{zyzzzyzy{zzzzz{zzyzyyyyyzzzzyzz{zzzyzzzyy{z{{{zyzy{zyyyzz{z{y{{zzzzzzzyzz{z{zyzz{zzyy{zzyzz{{{{{z{zyy|z{zy{zz{}zzzzzyzzzz{zz{{{|zyzzy{{y{{zzz{{{zzyyyzzyzzzz{z|{zzy{yzy{{zyzz{{z{zzy{yzzy{{{zyzzzzzyyxzyyzzzzzyzyyzxzyxyzyz{yzxyyyxyyyyyyzzyyzzzyxxyzyyzzzzz{zzz{yzyyxyxzzzzzzzzzyyzyzyzzzz{zz{yzzyyyyyxzyzzyzy{yyxyyyyyzyzyyzzyzyyyyyxyyzzzxzzzyyzyyyyzyzyzzzy{xyyyyxxzyyyyzzyyzxyyyyxzzyyzyzzzyyzyyyyyyzzz{y{{zyzzyyyyyyzzyzzyzyxxzzyzxyyzzzzzyxzyyyzxzyyzzyzzzzyyzxyyyzzzzz{yzzzyyzyyzzzyyzzzyy{yyyyyzzzzzz{{zyyyzyzzyzzzzz{zzzyxzzyyy{z{z{zyzyyzz{yzzzz{xyz|{yzzzyzyzzzz{{{{zyyzzyz{{{yz{{{{zzzzzzzy{{zz{zzzzzzzzz{yz{z|{zzzzyyzyzzz{{zz{{z{zzzzzzz{z{{zz{z{{zzzzzzzzzzz{{zz{zzzzy{yzzzz{z{{zyzzzzyz{z{zz{{zzzzyzzzzy{zz{z{{zzzzyyzzz{zzzzzyzzzyzz{yzzzzyzyyxzxzzzxzyyzzzy{zzzyzyyxzz{{{{zzz{yyyzzzzzyzzz{{zzzyyyyyzzzzzyy{zzzzyxzyy{z{zzzyzyzyyzyzyzzzyzzzzzzyyyyzyyyzzyzzzzzyyxyy{yzyyzzzzyyyyyyyyyzyyzzyyyyyyyzyyyzzzz{{zyyyxyyzyyzzzzz{{zyzzyxyyyzzyz{zzzzyzyyyyyyyzz{{y{yyzyzyxzzy{zz{{{yyxzzyyzzzzzzzz{yyzzzxyzy{{zy{yzzyzzzzyyz{{{{z{zzzy{yzyy{z{zzz{{zzyyyzy{zz{zz{{zzyzyzzy{zzzz{z{zzyzzyzzzz{zzzy{zzyzyyzz{{z{z{{{zyzzzyzyz{z{zz|z{yzzz{zyzz{{z{{{{yyyz|yy{zz{{{{{{zyzz{{{z|z{{z{z{z{zzzzz{{zzzz{zzzzxyzzz{z{z{{z{{{zzzzzz{{{{{|z{zzzyz{zz{z{z{{{zz{y{zy{yz|z{{{{{yyzzzyzyz{{{zzy{yyxyyzzxyzz{yzzzzyyyyyzy{zzy{zy{{yzzyyzyzyyyyz{|y{zyzyyzyzz{zzz{zzyyzzzxzyzzz{y{yzxyyyzxyzzyzzz{yyyxyyyxzyzzzzz{zyzxyyzyzzyzzzz{yxyyyyyyzzzzzz{{zxyzzzyzzz{zzzyzzzyzyyzzzzzzyzyzyyyzzzzyzzzyzy{zzyyyyyyyy{yyz{zzyyz{yyyxzz{zyy{{{zzxyyyyzzzz{zzzyzzzyyzyzzzzzyzzyzzyyyyyzyzzzz{zzzzyzyzyz{zyzzzz{yzyzzzyzzzzzz{zzzzzzzy{zzzzzzz{zyzz{zzzz{zzzz{zzzz{zzzzz{z{{z{{{zzz{zzyz{{zzzzyzzyy{zz{{{|{{|zzz{zz{zzzz{y{{{z{{zz{yz{{{|{z{z{{zyzyz{zz{zz|z{z{zzyzz{zy{zz{{{z{{z{{zyz{z{z{{{{{zzyyzzzzzzz{z{{{{{yyyz{y{{z{{z{{zyzxzzyz{y{{z{y{yyyyxyxxzzyyyzzzzyyyyxyyzzzzzz{zyzzzzzyy{zy{z{z{zyyyzxyyyzzzzzzzyyyyyxxyzzyzz{yzzyyyzzyyy{zyzy{yzxyyyxyxzyzyyzzyyyzxzyyxzyyyyzyzyyxyyyzyzzzyyzzzzzzzzyxzzy{zz{zzyzyzxyxyyzyzz{zzyyyyyyzyyzzyz{zzzyyyxxyyyzzyzy{zzzyzzyyyyz{zzzyz{yyzzyzyzyzzzzz{yyzyzzzyzzz{{z{{zyyxyyyxzyzy{y{zzzzyyyzyzzzzzzzz{yyyzyyzzzz{z{{{zzy{zzzzzzzyzzzz{yy{zzzzz{zz{{{zyyzyyz{z{{z{zz{{zzyyyzyzzyzz{{{zzyzzzzzz{{{z{z{{{{zzzzz{z{{zz|{zzzzzzzzzz{{{z{{z{zzzzzzzzz{{y{zz|yz{zz{zz{z{z|{{|{z{zzzz{z{{{{{zyzyzyzzzz{zz{{z{{{xzyyyyy{z{zz|{zzzyyzyzzzz{{yyyyyyzzyzyyzzzzzzzzyyzyyyyzzzzz{{{zyzyzyyy{yz{{z{|yyzyyxyyzyz{zzzz{zyyxxyyzyyyzzz{zyyyzyzzzzzz{zzzyzxyyyzyyxzzyzyzyyyxzyyzyzyzzzyzyyzyyxyyyzzzz{zzyyyyyyyyyzzy{zyzzzyzxyzyy{zzz{zzyzyyyzyyzzzzz{y{{yzyzyyxyzyzzzzzzxyzyyxyzzzzyzz{yyzyzyzyyzzzy{{zzzzzyzyzy{zy{zzzzyyyxzyzzzyzz{{{{yz{zyzyzzzzzzzyyzzyzzzzzz{zzz{zyy{yyzzz{{y{zz{{zzzzzyyyz{{{{{{{yzzzzz{y|zz{{{{|{zzzzyyy{{{{{{{{{{zz{zyzz{{z{z{{zzyzz{zz{{z{{{z|{zzzzzzzz{{{{{{{{z{zyyz{z{zz{|{{{zzyzz{z{{{{zz|{|z{zzzz{{{{{{{{{{zzzzzzzz{{zz{{{{{zzzzyzyz{{z{z{{yzyzzyz{zzyzyyyyyzyzyzxzyyzzyzzyyxyyxyxyzzyzz{zzzyxyzyyzzyxyzzyzzyyyyyzyyy{zyzzzzyywyyyzzzyzzzzyyxyyyyxz{zyzyzy{yzyyyxzzz{yzyyzzyyyyyxyzzyyzyyzzyzyyxyyzyzzyy{yyyyyyxxzyyyyyzzzyyzxyyyxxz{z{z{yyyxyyxyxyzyzzz{zzyyyxzzyxzzzzzzzzxzzxzzyzzzzy{{yyzyyzzyyzzz{zzz{zxyyyy{y{zzzz{yzyyzyzyzzzzyzzzzzzzyzzzzyzzyyzzyzyzzxyyyzyzyyzzzyyyzzyyyy{z{zzzy{zzzyzzzz{{zzz{{{zzzyzy{y{z{zzz{{yyz{zyzyz{{{zzzzzzyz{z{zz{zz{zzz{{zyzzzz{z{z{{z{zzyyyzzzz{{z{{z{zyzzzz{z{{zzz{{z{yzzyz{zz{{z{z{{{zzy{zzz{z|zzzz|zyzyzzzzz{zzz{{zzyzyzzzyz{zz{z{zzzzyyyzxzzzzzyyyyzyyzyzyyzzzzzyyyzxyywxyy{{zz{zz{yyyzzyzyy{z{y{yzy{zyyyyyyzyyzzzzyyyzyzxyzzzzzy{zzyzzyxxy{yz{{yyzyyyxxyyyzzyzzzyyzyyxyyyyzzzzz{zzyyyyyyzyzzzyzzyyzyyyywxyzzzz{zyzyxyyyxyzzzz{zzzxxzzxyzyyzzxyz{zzzzyyxzyzz{xzzzzyyzxzyxyzzzyzz{zyyzyzxzzz{zzzzzzyyyzzyzyzzzz{{zzyzzzyzyyz{{zzzz{zyzyyyzyyzz{z{zzzxyzyzzz{z{zzz|zzyzz{yzz{zzzzzyzyyzzzzyyzzz{z{{zyzzz{zyy{zzzz{y{zzzzyzyyz{{z{zz{{zzz{{zyz{z{zy{{z{{zy{zzz{z{{{z{{zzzyzzzz{{{{{{zzzz{yzzz{{zzz{{zzzzzzzzy{z{z{zz{zzzzzzzzz{z{z{|{y{zzyzyyzz{zzz{z{{xyzzzxzzzz{zzzzzyyzyzzzz{zyyyyyyxyzxyxzz{{zzzzyzyzyxyyy{zzz{{{zyzzyyyyzzzzz{y{yzxzyyzzyzzzyzz{zyyxxyyxzy{zyzyzxyyzyyzyzzyyzyzyyyyyzxyxzzyyyyzzyzyyyyyyyzzyzzzzyyxyyyyxzzzyzyzzzyyyxzxyzzyyyzzzyyzyyyyxyzyzyy{yzxzyzyyyyyyyzzzzyxxzyxyyxzyyyz{zyyyyyyzyyzzzyz{zzyzyyyyzzz{xxzyzzyzyyyyyyzzyyz{{yyyyyyyyzy{zy{yzzzzzzyxyyzyyz{zyyxyyyyyy{{{yzz{{{zzzzyyyyyzzyzzzzyzxyzzzzz{z{z{{yz{yzzzyy{z{z{z{zzzyzyzyzzzzzzz{zyzyzzyy{{z{{{z{xzzzyyyy{z{{z{zz{yzzzyy{zzz{z{{{z{{zzzz{z{|z{{zz{zzyy{zzzzy{{{{{{zzz{zz{zz{{z{zzzzyzzyzzyzzzzz{{{zzzyyyyzzz{z{zzzyzyyyyyz{zzyzzzyyxzzyzxyyzzzzzzzzyzyyyxyyzyzz{zyyyzyyzyzyzzz{zzzyz{zyyyzzz{yzzzzzyxyyyxzyyzy{yzyz{xyyyz{yyyzzzzxyyxzyyxyyyyyyzzyyzyyyzyzyy{zzzxyyyyyxyyzzyzzzzzzyyyyyyyyzzzzyzzzyyyxxyyzzzzzzz{zzyzzyyyyzyyyzzzyzxxyyyzyyzzzyzzyyyzzyzx{zzyzy{zyyyyzyxxz{yyzz{{yyyyyyzzzzzyzz{zzyzyyzyzzzzzzz{{{yz{yyzyy|zzzyzzyzyyyyyyzzzzzz{{zzxzzzyzyy{zz{{zyyzzyzyyyzzzzz{zzzxzzzzzzzz{zz{|zz{zyyyyz{{{{z{zyzzyzzyz{{zzzzz{yzz{zzzz|{z{zzz{{zyzz{{zz||zzz|{{zz{zyzz{zz{{{z|zyzzzzzxzzzz{z{{zzz{zzyz{z{z{|{{{zzyzyyzzzz{z{{{zzzzzzyy{{z{zz{zyyyxzyyyyzyzzzzzyyyyyyzyzyzzzzzzzyzyyyyyzz{yzzz{zyzzyyyxzzzyzyzzzxzzzyyyzyzyyx{zzzzyzyyxy{yyzzyzzzyxyyyxzzzyyz{zzyyyyyyxzzzzxzz{zyxyzyyzzzzyyyzzyyyxyxyyyzzyz{{zzyyzxyzzzyyyzzzzyyzyxzxzzzzzzzzyyyyyzyyyyzzzzyzzyyyyyzzyyzyyz|z{yyzzyyyyzzyyzy{zzzyzyyzy{zzzz{{zxyzzyyzyzzzzyzzzzyzzyyyy{z{{{y{zzzzzzzxyzzzy{z{zzzyzzzyyyz{zzzzzzyyyyyyz{zzzzyzyz{yyyzz{z{{zz{{{{{yzzzzy{{z{zz{{zyzyzzyz{z{{yzzz{zz{zyzz{zzz{||{zyzzzz{zzzz{{zz{zyzzzzyzz{z{{{{|{yzzzyzz{zz{z{zzzzy{zy{z{{z{{{{{{zzzz{z{{{{{{z{{{zzxyyzy{{y{{{|zzzzyyyzyzz{zzzzyzy{zyyzzz{{zzyyyxxyxyxx{yyzyyyyzyzyyxxxyzzzyz{zzyyyyyxyyzyyyzz{yzyxzyxxyzzzyzzzzyyxyxyyxzzzzyzz{yxzyyyzxz{zzyyzyyyzyyzxxyzzzzzzyyzyyyyyyyxy{zyzzyyzyyyzyyyxyzz{yxyxzyyxyyyyzzyzzyzyxzyxzyyzzxzzzyzyyxwwyzyyyyzzzyxxyyxyzxyyzyz{yyxyyyyyyyyyyzzzzzzyxzxzyyzzzzzz{zzyyyyyyzyzzyzz{yyzzyxyzyz{zzz{zzyzyzyyyyzz{{zzzyy{yyyyxzy{zzz{zzyyyzyyzz{zzzzzyyyzyyzzyzz{{zzz{zxzzyy{zz{yzz{yzyyzyzyyyzzzzzz{yzyyyzzyy{{zz{{{zyyyzzzzy{yz{z{z{{yyzyzyyy|zz{{{z{yz{zyyz{zzz|zzz{yyyzzyzz{zyzzzzyzzyzyzyyzy{y{{{yzzyyzzzzzy{y{zzyzzyyyzyzzzyyy{{yyyxyyyyzzyzyz{zyyyzyyyxyyzzyzzzzyzyyyzyzzyzz{|{yyyyyyyxzyzz{zzzzyzzzzyyyyzyzyzzzyzzyyyyyyyyzzz{yyzyzyzyzyzzyzzyyyzxyyyxyyzxyzzz{yxyyyyyxyzzyzzzyyzzyyyyzzyyyzzzyyxyyzyyzzzyzzzzzyyyxzyyyzz{zz{zzzyyyyzyzyyyzzzzyyyyyzyxyzyyyzzzzxyxzzyzy{z{zzz{zzyyzxzyzyzzyzzzzzzzxyzzzy{y{zzzyzzyyzyyzzzzzzzzzyyzyxyyyzzzzzzyzzzyyyyxzzzz{z{zyzzyyyyzy{{{z{{zzyzzzzyyzz{{z{{zzzz{yzyzz{z{y|{{zyzzyzzzyz{{{z{yzyzyz{{y{{{zz|zzzzzzzzzyz{z{|z{{{zzzzzzyz{{{{{{{zzyzyz{z{{{{zz{{zyzzzzyz{{|z{{{{yzx{zzyz{{{{{{zz{zzzzzyyzzz{zz{zzzy{z{zyy{{yz{zzyzzzyxzyzz{zzyyzyzyyyxyxyyzyyzzzyyxyyyyyzyzzzzz{zyyyyyyyzyyyyzz{zyzxxzyyzyzyyyzzzyyyxxyxyzyyz{zzzyyyyyyyxzyyzyzzxzzxzyyxyzzzzzzyzyzyzyyzyyyyzyyzxxyzyyyxyyzyzyzz{yyyyyxzyz{zyyzzzyzyxyyyyyyzzzzzyyyyxyyyyyzzz{y{zyyyyyyxyzyzzzzzzyzyzyyyz{x{yyzzzzzyyxxzyzzzzyzyzyzzyxyyzz{zzz{{yyzyzzyzyzzyzy{zyyyyzzzyzzz{z{zzyzzyyyyzyzzzzyz{yzyyyyyxzzzyzzzzzzzyyyyzyy|{zy{{zzzzyz{zzzyzz{zzzyyyyzzyzzzz{{{zzz{zy{zzzzzz{z{zyzzzzyzzzzzzz{zz{zzzzzzzyzz{{{{zzzzzxyzzz{{{{z{{{zyzzzyzzzzyz{zzzzzyzzzz{z{{{{{{zzzyzyzyzz{zzz{{{yzzyzzxyzzzzzz{zzzyyyyyyyzzzzyyzyyzyzyyyz{yyzzyzyyyyzyyyzzyzzz{{yyz{zzxzzzzyz{zzzyyyyyz{z{zyyzzzyyyxyzzzyzyyzyyyyyxyyzyyzzzy{{zzzyyyxxyyzzxyzz{zzyxxyyyzyyzzz{zyyzyxyxyzyyzyz{yzzyyyyyyzyzzzzzzzyyyyxyxzxzzyzz{yyyyzyyxyzyyzyyzzzyyyyyyzzyyyyzzyyyzyxyxzzzzzzz{yzzxzyzyzz{zzz{zzzzyyzyzyzz{zzz{yzyzzyyyzzzzzzzz{yzzyzyzz{z{zzz{zz{yzyyyzz{z{z{zyyyzzzzzz{{y{zz{zzzzzzzyzz{{zz{z{zzyzzzy{zz{zz{yzzyyz{zzzz{zz{y{{yyzzyyyzzzy{z{{{yzzz{zzz{{z{{{z{xzz{zzz{{{zzy{{zz{{zzzz{zz{zzzz{yz{{{zyzzz{{{{{|zzyzzyz{{{{{zz{zyzxzyzyzz{zz{{{{zyyyz{zz{zzz{zzxzzyyyyyyzzzyyzzyyyzyzyxyzyyyzz{{zxyzyyyzzzzyzzzyzyxyxyyyzzzyz{zzyzyyyyyyzz{zyyzyyxxxyyyzzyyy{{zzxyyxyzzy{yzzyyyzyyyyxyyzzzzyyzyyyzzxxyyyyzyzyyzzyyyyyyxyzzyyzzyyyy{yyyyyyyyzzzzyyzyxyzyxzy{z{{{yzzyzxyyyyzyzzzzyyyyyyzyzyzyz{yzyxzyyzyxzyzzz{zzzyyyyyzzyzzz{zzzzyyzyyzzzzzyzzzyyyyyyzzzyzy{zz{{yyzyyyzyz{{zz|zzyyzzzyzyz{zzzz{{zyyyzyzzz{zzzzzzzzzyzxzzzz{{zz{zzyzyzz{zzzzz{zz{zyzyzyz{zz{zz{zzzyzy{yzy{{{z{{|{zyyzyz{yz{zzz{{z{zzzzzyzz{z{zz{{{y{zyyzyzz{zzz{{{yzyzyzzz{{{z{{|zzy{zzy{z{z{z{z{zzzzzyzyzzzz{{{zz{zzyy{yz{{{zzzzzyzyyyyxzzzyzzyzxzyzyyxxy{zyzzz{yyyyyyyyy{yy{zz{zyzxzyyzzyzyyzzzzyyzyzzzzzzzyy{zzyzyxzzyyyyzzyzzxyyyyyyyzzyyzzzzyzzyyyyxzyzyzzzxyzyyyzyzyyzyzzz{yzzyxyxxyyyzzzzzxxyyxyxzzzyxzzzzyyzxzyyxxyzzzzzzyzyyyzyyyzyxzz{zzyzxyxyxzzzyzzzzzzzyyyyyzzzzzzzyz{zx{xyzzyzyy{z{zz{zyyzz{z{zzzz{yyzzzyyyyzzzzzz{z{zzyzyyz{{zyzzzzzzzyzyzz{z{zz{zzyyzzzxz{zzz{{zy|zyyzzyzzzzz{{{zzzzyyzzz{{y{{{{{zzzzzyzz{z{{{z{{zzzzyzyz{zz{y|z{zyzyy{{z{yz{{|zzzz{zzyzz{{z|z||{zxyyzzz{z{z{z{zzzyzyzzyz{|zzzzzzyzy{{yyzz{z{{{{z{z{yyzzzz{zz{{zz{{zzzzzyzzxzzzzzzzzy{yyyzzz{zzzzzyyzyxyyxyzz{yyyxyyyzzyzzzzzzyy{zyyyxy{z{yzzzyzzzyzyyzyyzzzyy{yzyyyxxyzxyyzyzzyzzyyxyzzyyzyyzzyyzzxyyyxyyz{yzzyyzxyyyyyyyxyzzzyzyxyxxyyxzy{zxy{yzxyyxzxyyzyzzzyzzyyyyyyyyyyzzy{zyyyyyyyxyyzyzzzzyzzyyyyyxzyyyzzzzyyyyzzxzyyzzzzzyyyyyyyyyzzzyz{zzyyyyxyy{zzzzzzyzzyyyyyzyyzyzzz{yzyzzyyyz{z{zzzzzzzzyyyyyyz{{z{z{yy{zyyyzz{zzzzzzyzyyzyzzzz{zzyzyz{yzyzzzz{zzz{{zyz{zyyzy{zz{z{zzzzyy{zz{z{{z{{{{zz{y{z{z{zzz{|zzz{{yzzyz{z|{||{zz{zyyzz{{zzzz{{{zzyzyyyzzz{yz{{{zzzzzyyy{|{{{{|zzzyyzyzz{{{{zzzzyy{yzyyzzz{zyzzzzyyyyyzyzz{zyz{xzxyyxxyyzzyzyzyxxyyyyxyyzyyyyy{{yxxzzyy{yzy{{zzzyyyyyyzyzyzyzyzzyzyxxyyyzy{yz{{yyyyyzyyyzzzzyzzzzxyyyxzyyzxyzzzyzzyxxyyzyzyyyzzyxyzzxyxyzyzyyzzyzyyxyxyzzzyzzzyzxyyxxxxyyzzyyzzyyyyyzyzzzyyzzzyxzyxzxyyyzyzzyzzzyyyyyyxzzy{zyy{zyyzzyzzyzyzzzz{yzzyxyyzzyz{zz{zyyxyyxzyzzzyyzzzzz{yzxzyyzz{{zzzzyzzyzxzzz{zzz{zyyy{zxzzz{zzz{zzyyxyy{yyzyzzzy{zzyzyzzzyzzyz{{|{zzzzyyzyzz{z{zzz{zyzyzyzzz{zz{{{zzz{zyzzyz{z{{{z{zzzz{zzz{{z{{{|{zy|{y{y{z{{zzzzzyzzzzyzyzy{{{{{zyyzzzzzz{{y{z{zzzyzyyzyzzzzzz{zzzzzyxyzz{y{zzzzyzyzzxyyz{zy{yzyyxyyyyzxxzyzyyyzyxyyyxxxyyyzzzzzzxyyyyyyzzyzzzyyzxzyyzyxzyzzyzzzzyzzxyyxyyyzyzyyyyzyy{yzxzzyyzzzxyzxyzxyyyzyxzyyyyyxyyyyyzxyyzzzyxzyxxxyyzyyyy{yyyxyxyxyzzyyyzyyyzyyyxzyxyyzzzzyyyyyzyzxyxyyyzzyyyyyyyzyyzzzyzyyzyyyyzyzyzyzzz|zzyyxyyyzyzzzz{zzzxzyzyyzyzyzzzzzyyyzyxzzzzzzzzzyzxzyzyyyy{zyzzyzzyzyyzxy{yzzyzz{yyyyyxyyz{zyz{zzzzzyzyzzz{zz{{z{y{zzyyyzyzzzz|{zzyzzxyyxyz{zzzyyzzxyzzyzzzzzzz{yzzzzzzyzz{{z{z{zzyz{yyzzz|z{yz{{zyyzyyy{zzz{zyz{zzzzzyyzz{{z{{|{zy{zzzyz{{z{zzz{zzyzzzyyzzzzzz{zzzyyyz{yyzz{yzzzzyyyxxyyzzzyzzzyyyxxywxxyzzzzyzzzyyyyzxxy{yzzzyzyyyyyyyyzzzzyyzzyzyyyyzxyzzzyzzzyzyyyyyxxxzyyzyzxyyyyxyyyyzyzzzzzxzyyxyyyxyzyzzyzyyyxyyyyxyzxzzzxxywyyxxyyzyyyyyyyyyxzyyyzyzyzyyyyyyxyyxyzyyyz{zyyxyyyyxyzyyyyz{xyyyyyxyyzzyyyzyzxyyyzzyyyzzzzz{zyzyzyyyyzyyyyz{zxyyyzyz{yyy{zzzzzzyyzyyzzzzzzzzzzzyyyzyyzyzzzzzzyzyyyyzzy{zzyzyzyyyyzzy{yyxyzzzyxzyyyzzzy{{zzzzyzxzzzzy|{z{zzzzyyz{yyzyzzzzzzzy{zyyzyyzzz{yzzzzzzz{{zyyz{{z{zzzzyzzyzyyzz{{zzz{zzxzyzzy{{zzzzz{zzzzzyyyzzzz{z{{zzx{zzzz{zzzz{{{zzyyyxyy{zz|{{{zzzzz{yyyz{zzz{yyyzzyyyyyyzzyyyyzyyyzxyyxyzyyzzzzyyyyzyyyzyzyzzyzyzzxzzyxzyzzyyzzyzzyyyyyzyz{yzzzyxzyxxyxxzyzy{zzyyyyxyyyyzyy{zzzzyyyyyyxzzyyyzyyxyyyxyyxyzyzzzyzyxzyyxzzzyzzzzyyyzyyyyxzyyzzzyzzzyxyxyyyzzzyyyzzyzyyyyzyyyyyzzyzzyyyzyyyyzyyyzzzzxzzy{zzzzyzz{{yzyxxxyzyzz{yzzyzyyzyyzzyyzzyyzzzyzzyyzyyyzzz{yzzyxyzyxzyyz{zzz{zyy{yzyyyzzyzz{{yzyyyyyzz{{zzz{z{zzyyyzzyz{zz{{z{zyzzzzzzyzzzz{zzzzyzzyzyzz{{zz{zzzyzyzyyz{zzz{{zy{zzzzzyzz{z{|{z{zzzyzzzzzz{z{{{zyzyzyzzz{zzz{{zzzyyzzzzz{{z{{{{zzzzzyyzyzzz|{zyzzyyzyzzz{{{z{{{{zzzyyzyy{zzzy{zzzyyyyyyyyyzyyyzyxxxyxyyzzzyyyzyzyxyyyzxyzyyz{yzzyyyz{xyyyyz{yzzzyyyyyyxy{yzzyzzyxxxxyyxzyyzyzzzxzxyyyyxxyyzzyzzyyyyyxxyyyzyyzzyyyxxzyzxzyyzzzzyyyyyxxyyyzzyyyy{yxyyyyyyyyzzzzz{yyzxzyxyyzzzyyzzzx{yyyyyyzxyyyzzzzzyxxyx{zxzzzyyyyyyzyyyzzzzyyzzzxzyyyyxzyzyyy{zzyzxyxyzyzyyz{zzzyyzyyzyzzzyzzzzzxyyyyzzxzx{yzzzzzyyzyyzzzzyyyzzzzxxyyyyzzzzzzyyzyzzzyyzzzzzzz{zyzyzyy{z{zz{z{{zzyyzyyzz{{{{z{{zzxyz{zyzz{{zzz{{zzzyzzy{yzzy{{{yzzyyyzyyy|{zzzzzzzzzzyyzzzzz|zzzzyyz{yyz{zzzz{z{z{zzzzyzyzy{|z{{zyyyzyyzzzzzy{{zzyyzyyyy{zzzzy{zyyyyzyzyzyz{zyyzyyyyyyyyyzyzzyzzyyxxyyxyzzzzzz{zzyyxzxyyz{yy|zzzzyyyyzyyzzzzzzzyzyxyyxyxyzzzzzz{yyyzyyxxyzyyzzzyzyyxyyyyzzzyyzzyy{zxxzyzyzyzyzzzzyyyzxyyyyzyxy{yzyyyxxxyxzzzzzzyyyyyxyyyyyzzyz{{zyyxyyzwyzzyzz{yzyyyyyyyyzyzz{yzxyyyzzxyzzz{zz{yzyyyyyxyzz|zzzy{zyzzyyz{zyzzzzzzzzzzyxzyyz{{z{z{zzyzyyzxyzzzy|zzzyzzyzzyzyzzzz{{zzyzzyzz{zyzzzzzzzzyyzzyzz{{zzz{zzzzzyzyzz{zz{{|zzyy{yyz{z{z{z{zzyyyyxzzz{{zz{|zzyyyyz{zzzzy{zz{zyzzzzzzy{z{z{{z{zzzzzyz|z{zzyzzzzzzyzy{zzz{{{zzzzyzzzzz{zz{z{{{yzzz{zzyz{zzz{{|zzzzyyzyz{z{yy{zyyyyzzyyyyyzyyzyzyxxxyyyxyz{zzzzyxyyyyyyzyzyzzzzzyzyyzzyyyyyz{zzxzzxyyyzyyzzyyzzzyyyyzyyyzzz{zyzyyyyyyyyzyzyyyzyzyzyzyyyzyzzyyyzyyyyyyyyzyyzyyyzyzyyzyzyyzyzyzzzyyyzxxzxyz{yzyyzyyzxxxyzyzzyyzzzzyyyxyzyyyzyyzyyz{xxxxyxxzzxyzzzyyyxyyyyyyzyyzzzzyyzyxyxyzzzzzz{yy{yzyzzyzzzz{zzyzyzyzyyyzzyz{zzyxzzyyzyzzyzz{yzzyzyyyxyy{zzxyzzyzyzyxxyzzzzy{zzzyyyzyzyzzzz{zzz{zzyyyyy{zyzzz{|{zyzzyyz{z{zzz{{zzzzzz{{z{zzz{{zzy{zy|{yz{zzy{{{zzyzyz{zz{zz{{z{y{zzyyzz{z{z{zy|zyyzyyyzyz{z{z{{zzxzz{zzzzz{{zzzzzzzzyxzz{z{yz{z{zzzyzzyzzyzyzzzzyzzyyyzyzzzyzzzxyyxyyyyyzzzyyy{zxyxzxyyyy{yzzyzyyzyyyyxyzyzzzzyzzyyxyyyzzzzz{z{yyyyyyzxyyyyyzyzxyzxxzyyzzzyxzyzyyxxyyxxyxzyyzyzyyxyxyyyxxzzzyzzyyxxzyyyzyzyyzzzyyyyyyyyyxzzyz{zyyxyxyxyyyyzzyyzzyyyzyzxyyzyyzyzyyyxyyyyxyzzz{zzyyyyzyyyyyyyzzzzyxyyyyyzyzzzzzzzyxzyyyzyzzzzzz{zyyzyxyzzyzyzz{{{zzyzyxyyyyzzyzzzyyyzzyyyzzyzzzzzyyyxyzyyyzzzzzyyy{yzzzzzzy{z{z{zyyzzyzyzzzyzzzz{zyxzzzyy{zz{{zz{{zzzyzyzzzz{zz{zzzzyzz|zzzzzzzz{{zyyyzyzz{zzz{{zyzz{zyzyzz|{{{zz{yzzzzzyzzy{{{{{zyy{y{{zyzzz{z{|zyyyzzyzz{zzz{z{z{zyyyzzzy{yyzzzzyyxyyyyyzzzzzyyzzyxyyyxyzyyyyyzzyyyyyyyyyzzzyzzyyzyxzyy{yzzzz{yzxyzyzy{zzz{zyzzyzyyyzyxyyyyy{yzyyzyyyyxzzzyyzzzyyyyyyxyyzzyzy{yzxyxyxyzyyyyyyzzyxyyyxxxyzzyyzzzyzyyxyxyyzzy{yzzxzyzyxyyxzzzyzz{yyyyxyxxxyyzyzzzyyxxwyxyyzyyyzzzyxyyzyyyyzy{zzz{yyyzyzxyzzzzzzyzyxzzyyyxz{z{zzzzyzzzyzyy{yzyzzzzzzyyyxyyyzzzzz{zyyyzyzxyzzz{zzzzzzzzyzyzyzzz{{{{zzyzzzyzzz{z{z{{yzyzyyzzzzz{z{zzyzzzzzyyy{zzzz{zzyyzzz{z{{{zzz{z{{zzyy{yz{{z{{{z{zyzyzzzz{zzz{z{zzz{yyzzz{z{zzz{zzyzzyzzzz{yzy{{yzz{z{zz{zzzz{zzzzyyyyzyyzy{{{{{xzyzzzzyz{{{zzzzzxyzyyyx{zzzxyyzwyyyyxyyyyzyyzzzyyyyyyyyyy{x{zyyyyyxyzyyzyyyzyzzyyzyyyyxzzzzyxzzyzyxyxyyzyyy{yyyyyxyyyyxyyzyyzzzzyzzzyxyyzzyy{yxyyyyyzxyzyzzz{zzyxxxyxyyyyzzzzzyzxzxxyxyzzyzzyz{yyzzyzyyxzzy{{zzyyyyyyxxyzyyyyyyyyyyyxyyyzyzzzzzyyyxxyyxyzzyzzzzyzyyxxyzzy{yzzz{zxzyyyyyyy{zzzz{yyzyyyzyzzzzzzyzxxzzyxyyyyzzz{z{zzyyyyyyyyzyyz{zzyxyy{yzz{zzzzzzzyyxzzyzzzzz{{{zyyzyzyzzz{zzz{{zzyyyzyyyzz{zzzzz{yz{zyzzyzzzz{z{zzyzy{zyz{zyz{zzzyzzzyzzyzzz{zzz{zzzzyzz{|yz{z{{zzzzzyzyz{z{{zzzzzz{yyyzzzzz{{z{yyzzyyzyzzzzz{{zzzyyzzyyyzzzz{zzxzyyzzyyyz{zyzzzzyyyyyzxzyyyyzyzyzyxzyyyyz{zyzzzyxyxyxyyyyyyyzyzyyyzyyyyyyyzyyyzzyxxxxyxyyzzyzzzyyzyyxyyyzyxyyzxzxxyzxxyyzyyyzzzyzyxxyxyxzyzzyz{yyxyyxxxyzyyyzzyyyyzxyyzyyyzyyyyxyyxyyyxyxzy{y{zyyyzxxyxyzyzzzyyyxxyyyyxyyxyyzzzyyyyyyzyzz{yzzzzyzyxxxyzzyyzyz{zzyzyxyyzyzzzzzyzzyyyyyyxz{{zyyzzyzzyyyyxz{zz{zyyyxzyyzyxzzzzzyzzyzyzzyyyzzzyzyz{zzyyzzzzzz{zzzzzzyyzzyyzzyyyzz{zzzzzzyyyzz{zzyzzzzzzzyyz{{{zzz{{zzzyyyyzzzyzzzzz{yzzzzyzz{{{{zzz{zyzyzzzzz{{zz{{zyyzyzyzz{z{{{{zz{z{{zyz{z{z{zz{yyyzzyyyyzz{yz{zyzyyyxxy{zy{z{zzyyyyyxzzyyz{zyyyyyyxyxxzyzzyzyzzz{yzxyxyxzzyyzzzzzyxxyyxyzzzzzzyyxzyzzyxy{yzyyzyzyzyxxzyyyzzzyyzzyyyyzyyxzyx{zzzzzyxxyyyzzzyy{yzxyywyzyyyyyyzyyzyyyyyxyxzzzzyyyyyyxyyyxyyyzzyyzzzxyyyyyyxzyyzyzyyyzyyzxxyzyzyyzzyyzxyyyyyyzzzzzyyyxzzyyyyzyzzy{zyyyxyxzyyzzzzzyzzyyxyzyyyzzyzzzyxxyxzyyzzy{yzzzyzyzyyyyyzzzzzzzzyyyzzyzzzzy{yyzzzzyzyxyyz{zzz{zzzzyyzzzy{z{{{zzzy{yyyzzy{zyzyzzzzyyzzzyyz{zzzy{y{zyzyyyzzzzy{zzzyzzzzy{zzzzz{zz{zyyzyzzzz|{{y{{zyyzyyyzzz{{zz{zz{yzz{zyzy{{zz{zy{zzz{yyzzzzzz{z|zzzzyyyzz{{{zyzzzyyzyzzyz{y{zzzzz{yyyyxzyzyyy{yzyyyxyyxyzzzyyyzzyzxyyyyyyyyzzzyzyxxxyyyxzyyz{zzzzxzyyyyyyyzyy{yzzyzxwxyyzyyyyyyxxxzxxyyxyzyyyyyzyyyxyxyyyzyyxyzyyyyxyyxyyxyyxyyzyyyxyyyyyzzyyyzyyxxyxxxyyyyyyyzyyyxxxxxyzzyzyy{zxxyxxxyxyzyxxzzzzyxyyyxxyyyyyzzyyxyyyyyxzyyyzyzzyzyxzxyzyyzyyzz{yzzyyyyyyyyyxz{zyyyyyyyyzzyzyzzzzyzzzyyyyzzz{{zzyyzyzxzyzz{zzzzzzyyyyyyyyzyyzzzyzzyzxyyyzzzzz{yzyzyzyzzzz{z{zyz{zzyzxzyy{zzz{zzzzyyzyyzy{{y{z{{zzyzyx{zyy{yzzzzzzyzzzzyyz{zzz{{zzzz{zzyzz{yzzyzzzzzxyzz{zzzzzz{{zzzz{zzzzzzz{zzzyzzzzzyzyzyzzyzzyyxzzyyzzyzzzzzzzyzzyzyyyzyyyyzyyxxxyyxyyyyyyyyzxxyyyxyyyyyzyyzzyyxyyxxyzyyyyyyzzyyyyyxyxyzzyzyzzyxyxxxxyyzzyyyzyxyxxyxyyyyxwyzyyyyyyyyyyxzyyzyzyyzxxyxyxyzyzyyzxxxxyyxxyyxyxyyzyyxxxyxyyyyyyzyxzzxyyxyxyzyzzyz{zyxyyxxxyyxyyzyyyzyyxyxxyxxyyz{yxyyxyyyyyyzyyyzyyxxyyxxzzzyyzzzzzyyyxyzzyxyzzy{zyyyyyyxyyzzyyzzzzzxyxzyxyzzyz{zzyyxyyxyzyzzzyzzzyyxzzyzxyzzyzz{zxyyyzyxzzyzz{zyzyyyxyyyzzzzzz{zzzyzyyzyxyy{{zzzyzyzyyxzy{zyzzz{zyyzyyzyzyzzzzzzzyxyzyyyzy{yzzzz{zyzzyyyxzzzzz{zzzyxzyzz{zzz{zy|zyyxy{zyyzzzzy{z{yyzzzyzyzzyzzzzzyyyxyxzyxzzzyy{zyxzyxyyxyzzzz{zzxzxyyyyxyyzyyyzyyyyyywyyzyyyzz{yyyyxyzyxzyzyzzzzzxzxyyxxyzzzyyzzzzyxyyyyyzzzz{yzyzzyyyyyzzyyyyzzyxyzyyyyzyzyyzzzyyzyxzyyyzyyyzyzyyyyyyyxzyzyyzzzxyyyxxyyyzzyz{yzyyyzyyyxyzyzyzzzzyyyyyyzyyyyyyyzzzyyxyzyyyzyzzz{yyyyyyyyzzzzzyzzyxyzyxy{zzzyzyzzzyyzyxzyzyyzz{zzzzyyzyyyyzzzzz{zzzyyyyyyyyyzz{{zyyzyzyyy{zzy{{zzzzyzyyyxz{zzyyz{yzzyzzz{zyzzz{yzyzzzxz{z{zzz{{z{zyyzzyzz{zyy{{{zzyyzyyzyz{zzzz{z{yyzz{{yyzzz{{zzzzyzzzyyy{{{zzz{zyyzzzzzzz{z{{z{zyzzzyxzzzz{{z{{zzzzy{yyzzyz{z{{{{zyzyzyyzzzzz{z{yzzyxyyzzyyz{yzyyzxyyyyyzz{yzyzyzzyxyyyyz{zyzyzzzyyyyxyzzyyy{yzyyyyyzyxzz{yz{{zzyzxyyyzzzzzyzzzzzzyyxzxzzy{zzzzzyzxyyzyzzyzzzyz{zyzyxyyzyzyyz{yzyzyyyyyzyzyzzzzzyyyyy{yyzzzyyzzyyyyxyxyyzzzzy{zyyzyyyzyyzzzzz{{yyxzyyyyzzzyzzzzyyyzyyyyzyyzzzy{{zyzzzyyzyzyz{zzzzzy{yyyyyzyzzz{yyzzyyzyzyzyzzyyzyzzyzyzzzzzz{zzzzzzyyzzzyz{z{zzzyzyyyyyz{zzz{z{zz{yyyyzz{zzz{zzzyzzyyzzzz{{zz{zzz{yzyzy{zzz{z{z{zy{zzyy{z{{{z{zzyyyzzz{z{{zz{{{z{zzz{{{{{z{zz{{{{zzzzzzz|{{{{{|zzzz{z{yz{{zz{{zzyzzzzzyzz{{{z||{zzz{yzz{{{z{{{{zzyzzzzzz{yz{z{zyzzyyyyyz|z{zz{zyzzxzyyy{yz{zzzyzyyyyyzxyzyyyy|zzyyyxyyyyyzyzzzzyyyyxyzyzzxxyzzzyyzyyyyyzzyzxzzyzzywxxyzyzzyyzzzyyzyyyxyyzzyzzzyzzyxzxyyzyzzyyzyxyyxyyyyzy{zzyyzxyyxyzyyyzyyyzyzyyyyyxxyzyyyx{zyyyyzxyzxzzyyyzz{zyzxyxyyzzyyzzzyyzyxywyxyyzzy{{yxzyyzyzxyzyzyzzzyxxxyyyyzzzzzyyzzyyyyyzyzzyzzyzzzyzyyyyyzyzzzz{z{yzzyxyyzz{zz{zyyyzzyyzy{{{{yy{zzyzzyyyzz{{zz{zyzyyy{yzz{zzz{z{zyzzzzzzyzzy{zzz{zyyzyyyxz{z{z{{zzyyyzyzyz{{z{zzz{zyzyzyyyz{z{{{{zzzzzzyz{{{{{{{{{yzzzyzy{{z{zz{zzzz{zzyz{z{zz{z{zz{zzzy{zzz|{{{zz{zyyzyzzzy{|zzzzyzyyzyzyzz{{z{yyyyzzyzyzyzz{zzyyyyyxyxxxzzyyzyzxyyyyyxyyyzzzz{zyxyyyxyyzxyyz{{yzyyzyyyxy{zzyz{zyyyyxyyxzyzyyzyzyyyxzxyyzyyyyyyyyzyxyyyyzyyyyzzyxyxxxzyyyyzzyyyzyxyyyxyyyyzyyzyyyyyxyyxxyyyy{zyzyyzyyxxxyyzzxzzzzyxyxxxxyyzyyzyzzyzxyyzzzzyyyzzzyxxxyzyxyyzyzyzyyyzyyyyyyzzyzzz{zyzyyxyyzzyyyzyzzyzxxyyyzzzyy{zzzyzzyyyyzzzzy{zzzzyyyyyxyzzz{yzzzzyyyyyy{{yzzzzyzyzzyzzyz{zz{zzzzy{yzyz{zzyzzzzzyyy{yyyzyz{y|{z{zyzyyyyz{zzzz{z{zzzzzzzyzzyzzz{zzzzyyzyzz|zz{zzz{zzzyyz{zzz{z{{z{zyyz{zzzz{{yz{{{zzzzzyzzzyzz{{{yzzyxzzzz{zzzzz{z|yyzy{yzzyzyzzzzzzxxxyyzyzyzyyyyzxxyyyyzzyzyyz{zzzyyxyxy{{zyyzzzzyxyyyyzyzzyzzzyxzyyyyyzzzzxxyzyyzyxzzxyzzxzzzzyyyyyyyyzyx{zzzyzyyyyxyyy{zzz{zzyyzzyyyxyzzzzyzzyyzyyyyzzyzzyyzxyxxxxyxyzzzxzzzzzyyyyyyyy{{zyyzzzyxxyzyxxyzyyzzyzyyxyxzyyzyyyzzzyyzzzzzyyyzzzzzzyyyyyxzxzyzzzzzzzyyyyxzyzyzzyz{{zyzyzzzzz{{yyzzzzyyzyyzz{zzy{yzyyzzyxyyyyzzzyz{zyzzyzyyyz{zzzzzyzzyzzzzyzzzzz{{zyzzy{yzyz{z{z{{{yzxzyyzzyzzzzz{zzxzyyzyyzzzzzz{{y{zzy{zz{zzyz{{zzxzzz{z{y{zz{{z{zy{zzzyzzzz{z{zzzyzx{yyz{{zzzzz{zzzzz{zyzyzyz{zzzyzyyyzzyzzzz{{zzyyyzxzyyzzzzyyzzy{xyyxxyyyxy{zyzyyyyxwyzzyyyyzyxxzyxyzyyzzzy{{zzyyxyyywyyzxzzyyzyyzyyyyy{z{yyzzzyyxyxyxyzzzyzzzxyyxxyyyyzz{xzyzyxyxxyxyyyzyxyzyyyyyyxyxzyyzyyyyyyzxyyyxyyxyyzzyyxyyyyxxyyyzzyyyzyzxzyzyxyyzyyyyzyyyzxyxyzyyxyyyxyyyyyyxxyzyzzzyyyyxyxyyzzzyzyzzzyyyxyyxyzyyzyyzzyyyyyyyzzyzzzy{zyyyxxyyyzzzz{zzzyzyzzyzzzz{zzyz{yzyzyyyzz{{{{{zyyyzyzzz{zzyz{zzzyyyyyzy{zzzzyzzyyyyyzzz{zzzzzz{yzyzyzyyzz{z{zzzyyzyyzyz{z{zzz{zzzyy{{{zzzzz{zz{zzyzyyyyz{{z{{z{zyyzzzyzzz{zzzz{zyz{zzxyz{zzz{{{zzyy{zyzzyzzy{zzzyzyzzzzz{z{zz{zyyyyyyyxy{zyyzzzyyyxxxyxyzzzzyyyxxyxxyzyyyyzz{zzzxxxxxxyyzyyyzzzyyyyyxxyzyyyz{zzzyzyyyxyyzzzzzyxyyyyxyyxzyzyzyyyyzyyxyxxyzyyzy{yyyyyyxyyyy{yyyyzyxyxxyyxyyyyzzyyyyxyywyxyyyyzzyyyxxxwyxzyyzyyyzyyyyyyyxyyyzyzzzzyyxyxyxxzyyyzyzzzxxxyyyyyxzyyyyzxxzyyyyyxyzyy{{zyyyxyyzyzzzyyzzzxzxyxyyyzzzzyzyzzzyyxyyzzzzyzzyyzzyy{yyyy{zyzzzzzxzyzyyyz{{yyzzyyyzzyyzy{yyyyyyzzyyzzyyzyzzzz{{zyyyyzy{zy{z{z{|zzzyyzyyyyz{yzy{zzyxzzzzyz{zzzz{zyzzzxzzzyyzy{{{{{yxzzz{yz{{zz{z{{zz{yz{zzzz{zz{z{yzyyzzyzzz{zz{{zzzyyzyzyzz{zzzzzzzyzyzz{yzzzzzzzzzyzyyxy{z{zzzzyyzxyxyyzyyyzzxzxyyyzyyxzyxxyyzzyyyxyyyxyyzzzzzzxzzyxyyxxyyyyy{yyyyyxyyyyzzzyxy{yyyxwyyxyyyyzzyzyxyxyzywyzzzyyzzzyxyyyxxxyyyxyyzyyyyxxxyyyyyxyyzyyyxxywyxyyzyzyxyyxxyxxxxyyzzx{yyyxyyxywyzzyyzyzzxyxyxyyxyxyzzzxyyyxxxyxyyyyyyzzyxyxyyxxyyyzzy{zyxyyyyyyyzzyzzzzzyyyyyxyzzyzyyy{yyyzyyyyyzyyyyzzzyzxyzyyyzyzz{yzyyyyyyyxxzzzxzzzzyyyzyyyzzzyzzzzyyyzyzzyzzy{y{{zzyzyzyzyz{zyzz{zyzyyyyyyyzz{zzzzzzzxyyzyz{zyzyzzyzzzyz{zzzyzzzzz{yzyyzzyz{zzzz{{yyzzyyyyzzzzzzzz{zzzyyyyz{zzz{z{{zyzyyzyzzzzy{yzyzyyyyzyzzyzyy|zzyyyyyyyzzyzyyzzzzzyyxyyyyzzzyyzzxyyyxyxyzzyyyyzyzyyxxyxyyzyzzyyyxywxxzyyxyxzzyyyyzxyxxxzzzyyz{zzyyyyxzwxzzzy{y{yyxyyzxyyzyyyyyyyxyyyyyyxyyyyyyyyyyyyyxyxxyyyzy{yyyyxyxwyyyyyzzyyyyyyyxxyxxyzyyyxyxxyyyyyzyzyyzyxyxxxxxyyyyyzzyzzzyyyyyyxzyyyzzzyxyyyyyyxyyzyzzyzzyyyxxyzzyyyzzyyyyyyyyy{zyzyyz{zyyxyyxyyzyyzyyyyyyzyxyxzzyzyzzyzxzxxyxyy{z{y{zyzxyzxyyzzzzyyyzyzyyyzyyyzzz{{z{{yzzyzzzyzzzzzyz{zzyxyzzzy{z{yzzzzzyzyyyyzy{{z|zzyyzyyzyz{{yz{zzzzyzzyyzzz{zzz{zzzzzzyzzxyyzyz{zz{yyzzyzzzyyzzz{{{yyzyyxyzz{{z{z{yy{xxyzyzzzyzzz|{xyzxxxyzzzyyzyzyzyyyyzwyzzyyyyyxyyyyyxxyyyyy{yyyyyxxxyyyzyzyyzzzyyxxzxxyyyyy{yyyyyyyyxxz{yzyzzzyyyxxxzxzyyyzzzzyyxxyzyyyzzxzyyxyyyxxyyxyyzyyyyzxyyxxzxxyyy{yzyzxxxxyxyyyyzyyyyyyyyyyxxyzyzyzyzzyyyyxxzxxyzzyyyywyxyxxyyyzyyyzyzyxyxxyyxzzxyxyxzyyyxzzxxyzzzzzz{zxyyzyyxzzyzyzy{yyyyzyzzxzzyyzz{xzyxyyyyyyxyy{zzyyyyzxyyzzzyyzyyyxyyyxxyzzyzzyzzxyyxyyxx{zzyyzzyzyyzzzyxyzzyzzzzzyzyzzzyyzzzzz{{zyzyyzyy{zz{zzzzzzyxyyyz{zzz{zz{zyyzzzzyzzyzzzyzzzyzzzyzyz{{zzzzyyzyyyyyzzzzzzz{zyzyzyyyzy{z{zzz{zyyzzzyyzyzz{yzzzyyyzyzyzzyyz{zyzyyyyzyyzy{zzyzyyyyzzyyyzzyzzzyyxyxyyzxxzz{zzzyyzyyxxwyyzyyyyzyyzyxyxyxzyyz{zyzzyzzzyzyyyzyzyyzzyyxyxyyyyzyzzzyzyxyyxyyyyyyyzyzzxxyyyxxyyzzyyyzyyyxxyyyzyzzxy{zyyyyxxyxyxzyxzzyyyyzxyxyzy{yyyz{zxyyyywzxyyyyyzzyzxxyxyyyyyxzzyzyyxxyyyxyyyxzzzzyxyxzyyyyzyzyzzyyyxxzyyxzzzzyzy{zyyyyyzyyyzz{zz{xyxzyzzyzzzzzzzzyyzzyxyxyyzyyzzzyyyyyyyzzyzz{yzz{yyzyyxzzz{yyzzy{yxyzzxzz{z{zzzzyyyzyzzzz{zzzzzzyzyyyyzy{z{{zz{zzyyzzxzyz{z{zz{zzzyzyzyyzzzzzz{z{yzzzzyzz{{zyz{zyzzzy{yzz{{{y{zzzxz{zyzyzz{zz{{{zyzzzyy{z{{{zz{{yzzyzyzyzzzxz{{zzzyxzyzyyyzzzyyyxyxyyxyyzzzzyyyyxxyyyyxyyyyyzyzyyyyyyxyxyyzyzyyzzyyyyyyyzzyzyyzzyyyyyyxxyzz{yyz{yyxxxxyyyyzyyzyzzyzyyxxyyyzzyyyyzxzxyxyyzyzzyyzyzyyyyyyyyxyyzzzyyxxyyxyyyzyyyzzyyyxxyyxyyzzyzzyyyyyyxxxxzyyxyzzzxyxyxyyyyxzxyzyzyxyyyyyyyyyyyyzzyyzyxyyyyzzyzy{zyyzyxzyyzxyzxyyzzzzzyzyyyyzzzyz{xyzxyzyzz{zzzz{yzxzxyyzxzyzzzyzzyyzyyyzyz{zzyzzzzyzyzyyzzzzzyzzyzyyyzzyzyzz{z{zzxzyyzzzzzzzyy{zzzzyxyyyy{yz{{zzzzzzzyxzzz{z{zz{{zzzzyzzzyzz{{{{zzzzzz{y{zz{{z{{{{yyzyyzzy{{yz{z{zzy{zzzzz{zzyz|z{yzz{zyzz{{{{z{{{zyyyzyyyzzzzz{{zzyyyyyzzzyzzzzzyyzzyzxyzzzzzyyyxxzyxxyyxzzzzzzyzyxyyyyyyyyzzzzzzyyxyyyyzyzzyzzzzxyyyzxyyyxzyyzzyyyzxyyxyy{yyzyyyyyxyyyyyxyxyzyxzyyyzzxxzyyxxzxzyyyyyyyyzzyzyzzxxzyxyyxyyyyzyzyzyzyxzyyxyyyyyzzzzyzyyyxxxzzyyzzyxyyyxyyxxyyxyyyzzzyxxyyyxzyyyzzyzwyyyxyyzy{zzz{{zzzxyyyyzzzzyyyzyyzxyxzyyyzzy{zzyyyxyzyyzyyzzzyzyyzyzyzyy{y{z{zzzyyyyyyyz|yyzyzyzyyyxzyy{zzzy{zyzyzyzzyyzyz{{{{yyyyzzz{yzzzzz{z{zyyzzyzzzz{zzzzzzxzzzzzz{zyzyzz{yyyxzyzzyz{{{{{zzzyzyzyyz{{{z{|zzzzzz{yz|z{zzzz{zyyyyyzzz{y{{zz{{zzzy{yy{zy{{z{zzyyzyyyyyzz{zzzzzzyyxzyyzyzzyzzzxzzxzxyzzyzzyzxyzzyxxxxxxzyyyzy{xyzxzxyxyzzzyzyzyyyxyyzyyzzyz{zyzzyyyyxyyyzzyz{yyzyyyyywzzzy{z{zyyyyyxxxxzyyyzzyyxxyyxyyzzyxyyyyxyyyzyyyyxyyyyyyxxyxxyyyyyzyyzyxxyyzyyyxxyzzzyyyxxyyxxxxyyzyyyzzyyxxyyyyyyyyxzyyyyxxxyyyyzyyyzyzyzyxyyxyyzyyzzzzyxzzyxyzzzzzzzyzyyyyxxzyyzyyyyzzyyzyyyzyyzyzyzzzzzzxzyzxyzyyzzzyzyyyzxyzyyzzyy{zyyyyyyyyzzzyyzyzzzyyzyyzzy{zz{{xyzzzzyzzzyyzyzyzzzzxyyyyz{zzzzzyzyzyyzzyzzzzzz{zzyzyyzzzyzzz{zyz{zzyzzyzy{y{yz{zzyyzxyy{zzzzz{{zzyzzzyyzzzzzzz{{yzyxzyyzzzzz{{{zzzxyyyzyyzzzy{{{yyzyyzyyz{zzzzzzzzzyyyyyyyzyyyyyyyyyyyyxyyzzyyzyyyyxyxyzxyzxyyzzyzxxyyyxyxzyz{zyzyzxxzxzyyzzyyzyzyywxxxyyyzyyzyzywyyyxxyyzzyyyyyyxyyyyxxyyzyzyyyyyyxyyyyzzyyyzzyxxxxyxyyxyzyzyzzyxywxyxyx{zyyzzzyxyxyxxzyyxxzzzzzyyyyxxxyyyyzyyyzyzyxyxxxzyyy{zzzyyyxyxyxyxyyzxxzyyxzxxyyzzyyzzzyyyyyyzyyyzyyzz{xzywyxzyzzyyyzzzyzzyyxyyyzzzyzyzzzyzzyyyzzyzyzzzzxyyyzyyzzzyzyyzzzyyzxyzzz{zzzzzyyzzyzyyyzzyzzz{yzyyzyyyyz{zz{{zzyyyzzzzz{|zz{|{{zyzzyzzzzz{z|{{{zzzxzzzy|{{{z{{zxzzyzyyzz{zz{|y{yyzyzyzzzzzz{z{zzzyzzzzz{{|zz{{{yyyyxzzzzz{z{z|zzyzyzyyzyyyzzzyyy{yyyyyzy{yyzyyyyxyyxyxyzzyyyyzyxxyyyyxyzzzy{zzyyyyyyyyyyyy{zyyyxyzyyxyyyyzzyz{yyxyyyyyzzzyyzy{yxyxyyzyyzyyy{{yzyzyxyyzzzyyyyzyyyzxyzyyzyyyyyyyzyzxxxzyyzzzzyyyyyyyyyxyyyyyyzz{xyyxxyyyyzzzzy{zzzyzywxxyzyyyyyzyzyyyxxyyyyyzzy{xyyxyyzyzzzzzy{{zyzyzyyxyzzzyzz{xyyyyxyzzzzyzzzzzzyyyxyxyzzzzzzyyyyxzzyyzzzzzzzzzzyxxyyyzzzz{z{yyyyzyyyyz{zzzz{zyyzyzzzzzz{z{{zzzzzyyzzzzzzyzz{{yyzzyyyyzz{zz{{zzyy{zx{zzz{{zzz{yyzyyy{zzzzz{{{{{yzzyyzz{{z{z{{{{yzzyyyy{z{z{{zzzzyz{zzzz|yz{{{{{z{{zyzz{zyz{z{zzyzyzzzyzzzz{|zyzyy{yzzyzz{yy{{{zyxyxyyzzyyzz{xyxyyyxxzxxyzyx{yyyyyxyyxyyzyyzzzyyxyyzxyxyzzyyzzzyxxyyywxzxzyyzzzyzxxyyyyyyyyzyyzyyxyyyywyyyyyyzyzyyxyyyxxyzzyyzzzyzxyyxyxzzzyzyyxyyxxyyzxyyxyyxzxxyyxxxxxyzyyyyyyxyyxyyyyzzyzzyzxyxxyyxyyyyxyxxyyxyxyxxyyyyyxzyzzxzyyzyxyyyyzzyyxzyyzyyyzyzyzzzyzzyyyyyxzxzyyyzyxxzzxxyyxyzyyyyyyyzxzyyyyyyyzzzyyyzyxyyyyz{yyyzzyyyyyyyyzzyzzyz{yyyyyyzzyyzzz{zzyyxyyyzyzyz{zzzzzyxyzyxyzzyzzyz{zyyyyyyyzzzzzy{zzyyzzyyxzzzz{{zzzyzzyzyxy{{z{yz{{yyzyzzzzz{x{{{{zyzzyzzzzzzzyz{zyyyyz{zzz{z{|zzzyyzyyyyzzyzzzzzzzyyyxyxyyzzzzyyzyxyyyyyyzyzyzzyyyyyxyxxyyyzyzyzzxxxyxyyyzyzzyzzzyxzxyyzxyzzz{yyzyxyxyyyxyyzyxx{yxyyyyxyxzxyyyyzzyxyxyxyxyyyyzzzyyxxyzzyxyyzyyyyyyyyyxyyyyxyzyyyzyxyyzyyyyyzyzyzzyyxyyyxyyyyyzzyyyyyxyyyxwyzyxyzzzzxyyyxyyzzyyzyzyzyyxyyzxzyyyzyzyyzyyyyxy{zyzyyzyxyxyxzxyyyyzyz{zyyyyxzyyyyyyzy{yyyxxzyxzyzyzyzzyyzyyxyyyzzzyz{zzyzzxzyyzzzzyyyzyzzyyyyyyyzzyzyzyyyzzyxxyzzz{zz{yyyyyyzyyyyzz{zzzyyyyyzyzzyz{{z{zyyzzyzyzzzyzzz{zzzzyyzzzzz{{{zzzyyzxzzzy|z{{{{zzyzzyzzzz{zz{zz{{yz{{zzzzzz{zzz{zzzx{yzzzzzzzz{zyzzxzzzzzyzzzy{zyzzzyzyyzzy{yyzzzyzzyzxyzyzyzyyyyzxyyyyyzyzyzyzzyyyywxxyzyzyyyyzyyxzxyyx{xyyzzyzyyxyxyyyyyzzyzyyzzyxxyyyyyzzzzyzxxyyzzyxyyyyyyyyyyyyxyxyxzyyyyyzyyyyxyyyzyyyyzyzxyyxyxyyzyyyyyzyyyyxyxxyxxzyzzyzzyzzyyxxyzyzyz{yzxyyzyxxyyyyyyyzyxxwxyzxyzyyyy{zyyyyyyxxyzzyyzyyxyyxyyyyyyzyyyyzyyzyyxxyzyyyyz{zxyzyxyzxyyyzzzyzzyyxyyyzxyyzzyzzyyyzzyxyyz{zyz{{xyyzxzyyzzzyzzyzyzzyzyyzyzzzzzzzxzyzyyzz{z{{zzzzzyyyyxyzzyzzyzzz{zzzzzzy{{zyzz{{zyyyyy{yyzzzzzzz{yz{zz{zy{yzzz{{zyzzyyyzzzzzzzz{{yzzzyyzzzzzz{{{z{zyzyyz{yy{{yzyzzzyzzyzzzy{z{zz{yyyyyyyzyzzyzzyyzyyxyyzyyzzzzyyxyyxyxywyzyzyzyzyxxyyxxyyzyyyyzzzyxxxyyyzyyyzyxyzyyyzyxyzyyzxzyzyyxxyyyxyyyyyyyzxxyxyyxxyzxyyyzyyxyxyxyxyzyzyyyxxyxyyxxxxyyyyyyyyyxxxxyyyyyyyyzyzxxxyyxyyyyyyxyyyxyyyxyxyyzyyyyyxyyyxxxyxyyxyyxyyyxyxwyxyzzyyzyzyyyyxzxyzzyzxyzzyyyxzyxxyyyyzyzyyyyxyxzyzyyyy{xzyyyxyxyxyyzyxzyzyyxzyxyyzzyzyyyzyyyxxxxx{yzyyzyyyxyzyyyzzzyzzzzzzyyyzzyyzyzzzzzzyyzxyzyyzzxyz{{zzyyxxyyxyzzzzzz{yyyzzyyzzzzy{z{zzzzyzzzyz{zyyzzyzyyyzzyyz{zzz{{z{yyyzzyzzzyzz{zzzyzzzzy{yzzz{zz{zyzzyxyz{zzz{zzzzyyzxyxyyzyzzz{z{yzyxyyxy{yzyzzzyxywyxyyyyzzzyyzyxyxyyxxyyyzyzzzyyyywwyxyxyzyyzzyyxyzyxyyyzyzxyyzyzxyxyyxyzyxyyzyzyxyxxxyyx{yyyzwxyyyxxxyzyyxyyyzxyyxxxyyzzzyyyyyyyyxzyyxyyyyyyzyyzyxyxxyyyyyyzxyyxyxxxxxzzzzyyzyyyxxyyxxyzzyzyzxyyyxxwxyyyxyzyzyzyxyxxyzyzyzyyyyxyyyzxxyzyzyzzyzzyyyyyyyzyyzyyzyyyzxxxyyzzyyyyyyyxyyxxxzzzzzzzxyyzyzyxyyyzzzyyzyyzxyyxyyzyyyyyzy{yyyyyzzzzyyzyyzzxyzzyyyzz{{{{zzzyxzyy{zzzzyz{zzyzzyzyz{zyyzz{{zyyyyyyyyzzyzzz{yyyyyzzyzzzyzz{zzxzzyzyxzzz{zz{zyyyyyzzyzyz{{zz{zyzzzyzzzzzzz{z{zyzzzyyzzyz{zz{{yyzxyzyxyyzzyy{yyyzyyyzzzyzyzyyzxxyyyyyyxyzzyyzzzzyyxxxxyyzyyyyyzxyxxyxxyzyyyyzzyyyxxzxxzyzyzzy{yxxyxyyyy{zyyzzzzyzyyxxyyyyzzzzzyxxxyyzxxzxxyzzyzyyzyyzyzzzyyzzyyzyyyyyyyyyyyyzyzyxxyyyyzzyyyyyyyyyxxxxyyyzyyzzxzxzyxxxxyzzyzzyzzyyxxxxzyyyyyzxzyyxxxyyyy{yyy{zzyzyyzzyyyyy{yy{yyyyxzyyxyyzxzx{zyyyzzxzyzzzyxzzzyxyzyyxyzy{zz{yyyyyyyyyyyzzyy{zzyxyyyxxyzz{zzz{yzyyzyzzzzz{zyz{zzzzyzyyzzzz{z{zzzzzyyyzzy{yzz{z{zyyzyzzxyzzzzzzy{yzxz{yyzz{zy{zyzzzzyzzyzzy{{{{zzzzyzzzyzyz{zz{{yzzzyyzzzyzz{{{zzyzzyzyzzzz{yzzzzyzyz{y{zzzzzzzzzyzyyyzyyzy{zz{z{zzzzyyyyzy{yyz{yxzyzyyyzzzzzyyzyyxwyxxxyyyy{zyyyyyyxyyyyxzzzyzzzyyxzyxyyyyyyz{yzyzzywxyz{{zyyyyyyyxyxyxyxzzyzyzyyyxxyyyyyzxyyyzxyyyxyyyyyyyyyzyyyxxxyyyyyyzzzyyxyywxyyyyzyzzzzyyzxxxxxyyyzyyyzzxxyyyyyxyzyxyz{yyyxxzwzyyyyyzyyzzyyxyxyyyyxyy{yyyyyyxyxxyyzyyyyyzyyyyxyzzyyyzyzyyyzxyxyyyzyyzy{zyyyyyxzxzzzyy{zzzxyxxyzyyzyyy{yzyyxzyyyyzyzyyyzzzyyyzxyzzzzyyzyyy{zyyyzzzy{zz{z{yyzz{zzxzzyzzz{{yzyzyyzyzzzzzy{yzyyyyyxzz{zzzz{{zyzyzzzzy{z{zzy{zzzyyzyzz{zz{zzzzzzyzzyyzyzzzzz{{yz{yyyyzzy{yz|{zyyyzyzyz{yz{z{zyyyyyxzzzzy{zy{zyyzzyyxyyzzyzzyzyyyxxyyxzzzzyyyyyyxyzxxwyyzyzzyyyxyyxzxxxyyyzyyyyyzxxxyxzyyzzzzzxxzxxxxyzzyyxyzzyyzxwyyyyyzyyzy{yxyxxyyxyzyxyz{yzyzyxyyxy{yxzyzyzxyxyyxyyyyzyyyyyxyxyxyyyzxzzzyyyyyxxwxzyyyyzyyzyyyywyxyyyyyzy{yzyyxxxyyxzxyyzyyyyyxxxxyyyyyzzyyyyyxxyxxyyyzyzzzyxyxzyyxyyzyy{zzyyzyxxyyyyyzxz{{yxyyxxyyyyzzyyzyzyxyzyyyyzzzzyzzxyzyyxyyzzzzyyzzxyyyyyyyzzzyzzzzyyyyzyyyz{zyzzzzzzyyyzzyz{z{zz{{zyyyyyxyyzy{zzzyzyyzzxyyz|zz{z{{yyzyyzyzzzzzzzzz{yyyzzyyy{z{zz{{z{yzyyzyzy{zz{{yyzxzyyzzzyzzzyzzzzyyzzzzz{yz{zzzyzzxyyyyzzyzyzzzzyzyyyzyzyzzzzzyyzzyxyzxyyzyyyyzyywyxxxxyyyxxyyyxyxxxxxxyyyyyyzyyxyxxxyyyyyyyzyyyyyzyyxyyyyyxyzzyyxyxyyxyyyyyyyzyyxxyxyxyyzyxyzyyxyyyyyxyyyyzyyyxyxzwyyxxyyyyyzzyxyxxxyxyyzyyyyyxxyxxxxyyyzyzyyyyyyyxzxxyzyyzyzyyxyxxxzyyxzyyyzyyyyxxyxxxyyyz{zyzyyxyyxxyzzxyzzzxxyxxxyxyzyzxyyyyyyxyxyyzyzyzzyzyyyyyyyyyyzzyyzzyzyyxyyyyzzyzzzyyyyxyyxyzyzyz{zyyyyyyyyyzzyyyzyzyyyyxyyyzzyy{z{zyzzxyyyyyzzzzz{zzyzyyyyyz{y{{yzzzyyyzyyy{zyyzzzzzzyzz{zzyzzyzz{z{zyxyzyzx{z{yzzzzyyyyzzyz{yzzz{zyyyzyzxyyzy{{zzyzyyyzzyy{{zy{zz{zzzyyyxz{zz{zzzzzzxyzyzyzzyyzyzyzyyyyxyyyyzyzzyyyzxyyxxxyyyxxzzzyyxxyxxxyyyyzyzzwxyxxxyyyzyyyyyzzxyyyyxzyxyzyyzyyyyxxxxxzyyyz{yyyxyyxyxxxyyyyyyyzyyyyyxyyyyyyyzzxyyywyyyyxyzyyyyxxwyxxyyyyxyyzzyxxxyxyxyxyyyzyzyzxxxxyxwyyyyyzyzyyyyxxyyyyyyyyyyyxxyxyxxxxxyxyxzyxyzxyxyyyzzyzzzyyyyywyxyzxyyyyzxzyyxxyyzyyzzzyzxxzyyyyyxyzzzyyyzyyxyyxyzyyyyzzyzxyyyxxxzyyyyyzzyyyzxyyxyyzyyzzyyyyyyyyzyzzy{yzzyzyyyzyxzzzzzyzzzyyyyyxyz{z{zyzyzyyyzxyy{z{{{zz{yyzyzzyzyz{z{z{zzyyzyzyzzyyzzzzzzyzzzyyzzzyzz{{z{zyyyxyzzz{z{yz{yyzyzyyy{zzz{yzzzzxxyxzyyzzzzzz{zyyxyzyxxzyzzzzyzzzyywyyyxzyyzyyyxywyyxxwyyyzyzzyyyyyyyzzyyyyyzyyzyxxyxyzxyyxzzyxyxxxyxxzyzzyzzzyyyxxxyyyyyzy{zzyxyxyyxxyyzyyyzyzxzxxyyyyyyzxzyyzyxxxyxyyyxyz{yyxzyxxyyxyyyyyzyyyyxxyyzzyyyyyzyzyyzzxyxxyzyyy{yyzyxyxxxxyxxxyyzyxyyyyyyxxzxzyzxzyyzzxyyxyzzyzzzzyyyxyxyyyzzyzyyzzxyxyxxyyyzzyyzzyyxyyxxzzzzzzyzzyyyyzyzxyzzzyzyzzzyzyxyyyzzzyyzzzyyyzyzyyzzzzzyyxzyyyzzzyzzzz{yyyyyxzzyzzzzzzz{{yyyyyyyyzzzzzzzzzyyyzyyxzzzyyzz{zyzyzyyzzzzzz{zz{zyzzzyzyz{z{z{{zy{zzyzz{{{zz{zzzyyzzyzzz{yz{z{zzyzyyyyyzz{{z{z{zzyyyyyyzzzy{zzzzyzyyyyyzzyzzyzzyzzzyxyyzz{zzxxyyxyyxwyxyyyyyzzzyyyxxxxxyxyyzyyyyyxyyxxyyzyy{xzzyxyxyyxzyyyyxy{zxyxwyxxxzyyyyyyyyxyxxxyxzxyyyzyyyxzyyxxxyyzyxyyyyyyxxzwyxzyzxzyzyyyyxyyxxyyxyyzyyyxyxyyyxyyzyyyyyyyxxyxxyzyyy{zyyxyxxwyyxxyxyzyyxyywyyyyxyyxyzyzyxyyyyyyyzxxyyyzyzyxyyyxzyyyzyyzyyxyyxzxyyyyyzyzyyyyxyyxyzzzyyzzyzyyxxyyyyz{yzz{zyyyyyyzyzyz{zzyyyyzyzyyyzzzzzzyyyyyzyyyyzzyzy{zyyyyyzzyzzz{zzyzzyyyxyyyyzzzyzyz{xyxzzyy{zzyzzzzzzyxzzzyyzzzzzyzyzzzyzyyzz{zzzzyzyzzyzzy{yzzz{{{yzzzyyyyzzzzzzz{xzyxyyxyyzzzzzzzxyzxy{yxyzzzyzzzyzyyyzyyyzzzyzzzzyyxxxzyyzyyzyyyyxxyxxxxzxzyzyyzxxyyxywxxzzzzyzyyyxxxyyxyyyyyzyyyxyyzxyyyyyzyy{zyyyxyxyyyxyyyyyzxxxyxxxxyyyyyyyyzwyxxxyxyyyzxzyyzyyxwxyyyyxyyyxyyxyyzxywyyxyyyyyyxyyxxxyyyzyyxzyzyxxxxywyyyyxyzyyyxxxxxxyxxyxzyzyyzwyyzyyzyxyzyzyxxxyxyxxzzzyyzzyxxyyyyyyyzzyzz{yxyyxxyyzzyzxzzzyxzyyyyzyyyzyzzyzyyyyxyyyyxyyzyyxyyxxyyxyyyyzzzzyyyzyzyyy{zzyzzzxzyxyyzyyzzyyzzzyyyyzyyyyzy{yyz{yxzyyyxyyyzyzyzzzyzyzyyyzzy{zzzzzzzyyyzyzzyzzzz{zzyyxyyzy{y{yz{z{yy{zyxyz{zy{yyyzyzyzyyzzzz{zz{zzyzyzyxzzzzyzyzzyzyyyxyyxzyzzzzzzyxyxzyyyzzzyy{{xyyyyxxxzyyzyzzyxxyyzxwwyzzyyxyzyyxyxyxyzyzxzyzyyyxxywyxyyyyzzxyzzxxxzxxyyyzyyyzyyxyxyxwyyyyyzyyzxyxyyyxxyyyyyzyyxyyyxywyyyyyxzyyxxyyyxyxxyyxyzyyxyxxwxxyyyyxxyyyyyxxyxxyyyyzyzyxyzyyxywyyyzyzyzyxxyxxxxxxyyyzzyyyyyyxyxyzyyzzzyyyzyyyywyyzxyzyzzyyyyxyxyyxxyzyzxyyxxxyyyzzyyyzyyyxyyyyyzyzyzyz{yyyxxxxxzzyyzzzy{xyyyxyyxyyzyzzzyywzyxxzzzzxyyyyyyyxyyyzxyzzzzyzyyyzzzyyyyyyyy{zzyyxyyxxzzyz{zzyzyyyyxyyzzyz{{yzyyyyyyzxy{yzzzzzzyyzyyzxyzyyzz{{zyyzyyyy{y{zzzzzyxxzyyyzyyz{zz{zzyzzzyyy{yyzz{{{zzyxxxxyyzzzzzzzyyyyzyxyyyzzyyz{yyuxzwyyzyyzzzyzyyyyyyxyyzyyyzzyzzxyyxyyyxyyyy{yxzyyyxyxzzyyzzzyzzyyyyzyzyy{yzzzyyzyxxyyzyzyzzyyyxzyyyxxyyyzyzyzzzyxyxxyyyzyyzyyyyzzyxxyzyyzyyyyxyzxxxxxzyzzzyyxzyxxxxyyyyyxzzzzyyzxxyyxzyyyyzyyzzyyxyxyxyyyyyzyyyyxyyzyyzyyyzyzyxyyxyxyyzyyzzyzyzyxyyyxyyzyyzzyyyyyyxyyzzzzz{yzyzyzyyyxzzzyzz{zyzyyyxzyyzzyyz{zzyyyyyyyzzzyzzzyyzyzxyzyzyyyz{yyyyyzzyyyyzyzzyyzyyzyyyyyyzz{zyzzzzyzxzzyyzzz{z{zyyzzzzyyyzzzzzz{yzzzz{zyzzzzzzz{zzyyyyyyy{zzyzz|zyzzzzzzz{zzz{{zzyyzyzyzzyz{{z{zzyzzzzyyyyzzz{z{zyxyyyyyzzzzzzzzzzzzzyzyyzyzzyyzyyyyyyyyyyzyyzzyyyyyxyxyyz{yyzzxzyyxxxyxyxyzzzzzzyyyyyxyzzzzyyzyyyxxxxxxyyzyyyzyyyyyyxxxyzyyzyzzxyxyyyyxyzyzxzzy{yyxyxyxxz{zyyzyzyxxyyyyzxzyyzyzxxxxyxxyzyyyyyzzyyyyyxyxyzzyzzyzyyyxxyyyyyyxyyzzxyxxyxywzyyyzyyzyyyyxxzxyzzyzzzyyyzyxzyyzzyzzyzzyyxyyyyyyzyzyzyzzyyyyyyyzyyzx{y{yyzxyyyyzyyyzy{zyzyxzyzxyzzyzzzyyyyyzyyyzyyzyzzzzzyyyyxxyzzzzz{z{yzyzyyyzzzzy{zzyyyyzyzzyzzzzz{{yyyyzyxy{zzzzzzzzyyyyzyz{{z{yz{{yzyzzzyzzzzz{zz{{yyzyzzyy{{yyz{{zzyzzyzz{zzzzz{{yzyz{yzzzzz|yzz|zyyzzzyyzzzzz{{zyzyyyzyzzyzyyzzzzzyzyyzyzz{yzzzzyyzyyyyxzz{zzyyzyzyyyxxxyzxzyyyyyyyxyxxxxyyyyzzzzyxxxyyxyxywzzxzxyxxyyxyyyyzyyyzyyxxxxxxyyxzyyyzxyyyyyyxxzyyyzyzyyxyxxxxyyyvyyxyyyxwyxzyyxyyyyyyyxyyyyyxxyyyyyzzyxxxxyywzxyyzyyxyxxzxxywyyyzzyy{yyxyxwyxxyyxyzyzyyyyyxwxyzyxyzyyxyyyxywyxyyyyyzyyxxyyyyxyzyzyzzyzxyxyyxyyyyyyyzzzyyxyxyyyyyzyyzzyzyxyyyxzyyzy|zyyyyyyyyxyz{{yzzyyyxyyyxyyzyyy{zyyyzxyyyyxyzyzzyzyzyyyyyxyzyzz{z{yyyyyyxxzzzyzzzz{zyyzyyyyzy{{yzzyzzx{yzzzyz{zzyzzyzyyyyzyz{zz{{{{yzyyyyz{z{{zzyzzzyyzzxyyzz{zyz{zyzyyyyzyyyzz{z{zyzxxzyyyzzyzzz{zxzxzyyzyyzyzzzzzyyzxyyxzzzzxzzyxxyyzyxxzx{yzzyxxyxxyxwyyzyyzzzzxzxyyzxxzyyyyyzyzxyyyxyyyyyzxzzzyyyyyxyyyzy{yzyzyyyyxyyxyyyzy{yyzyyxzxyxxxyyyyyyyxxxyyyxxzxyyyzyyyyyywyxyyyzyzzzyyxyxyxzyyzyyzzzxyxyyxyxyyzzyyzzyyxyxxyxzzyyzzzyzyyyxyyyyzyxyyyzyxzyyyxyxzyzzxyzyxyxxyyyyzyyyyyzyyyyyyyyzyzyzxzzyyzyxyxyzyzyz{zzzyyzyyzxzyzzzyzzzyyzyzyyzyzzzy{zyyyzyzyyzzzyyzzzzy{yzyyyzzzzyzzzxzyzyyzyyzz{yzzzyyzzzyyyz{z{{zzyzyyzzzxy{zz{{{{zzyzy{yzzzzyz{{zz{zyzzzyyz{y{yy{z{yzzzyyyzzy{y{z{{yyyzyzzzzzzz{zzzzyyzzyzyzz{{zz{yyyyzyxzzz{{z{zzyyyzyyzyzzyzyx{yyyzyyxyxzzzyyyyyyxyxyxxyyzyyyyxyxyxxyyyxyyzyyzzzyyyxyyxyyyyyyyyyxxyyyyyyyyyyyy{zyzyxxxyxyzzzzzz{yyyyxywyyzxxyzyyzxxyyxyyxyzyyzyyxyxxyyxyzyzyy{yzxyyxxxxwxzyyzyyyyxzyxyxyyyyxzyxzxxyyxxxyyyyyxyzxyyyyyxxxyxzxyxzyyyyyxxyyyyzyyzyzyxzzxxxxxyyzz{yyyyyxyyxyyyzyzzyzyyyxyyyyyyyzzzyzxyyyyxyy{yyzzyzzzyzyyyxyyyy{{yzyzyyxyyyxzzzyyzzzyzyyyyyzyyzzxzzy{yzyzxxyyzyz{zyzyzyyyyyzzyzzzzzzy{yyzxxyy{zyzzzzyxyyzzzyyyzz{z{{zyzzyzyyzzzyz{z{{yxxzzzyy{zzz{zyzyyzzxyzzy{zz{zzyyzyzzz{zzz{y{z{zyxyyyyyzzzz{z{{zyyyxyyzzzzyz{z{yzzyyzywzyyyy{zzyy{xyyyzyzzyzzyyyywxyyyyyzyyyzyyyyzyxxyyyyyyzzzyyxxyxyxxzyyyzxzxzyyzyyxxyyyxyyyyzyyyyyyxyzyzyzyzxxyxyyyyyyzzz{zzzxxyxxxxyyyzxzzyxxzxxxxyzyyxyyyyxxxyxxxyzyyyyyyyyyyyyyxxyyzyxzzyyyyxxyxxyyxzyyzyyyyzyyxyxyyyxyyzxyyxyxzxyyzzyzyzyyzyxyyzxzyyzzzyyxwyyyyyyzzxyzzyyxyyyyxx{yyzzzzzyyyyyxxzyy{yyzyzyzzxyyyyyzzy{zyzyyyyyzyyzyzzzyzzyzyzxyyyzzzzzzzzyzyyzyyyzyzzzyzzyzzyzyzz{zz|z{{{zzzyyxyyzzzyzzzy{yxzyyzyzzyzzzzzzzzzz{z{yzzz{zzyzyxyzyzzzz{zzzz{yyzzyyyzzzzzzz{zzyyyzzyzyzzzzzzzzyzz{zyyzzzzzz{{yyzzzxzyzzzyyzzzyzyyyzzyyzyzzz{yyyyyyyyyyzyxxyxxyxyyyxyxxzzyzyyyxyxyxxxyyyyyzzyzyyxxyxyxzyyxyzzyyxyzxxyzyyyzxxyyyyyxxxxyyyyxyyzzxyyyyyxwxyyyyyyxzyxxyxyxyyzyxyyyyxyxxxxyzwzzyxyyzyxxxwyxxyzxxzyxyxxxxxyyyyyxyzyzxxyxwxxwxyxyyyyyxyxxxxxxxyxxyzyyxxyxxxxxyzyyxyzyxyyyxyxyyzyyyyzzzyyxxxzyxyyxxyzzyxzyxyyyzyyzyyzzyyyzxyyyxyyyyz|zyyyxyxzyyzzzzzyyzyyxyyyzyyyxyzz{yyzyyzyyyzzyxzzzyyyzyzyyzyz{{zzzyzxyzyzzyzyzyz{zxyyyyzyxyyzyzzzzyyxyzzyzz{zzyz{zzzyyyyzxyz{zzzyyzyyyxyyyz{yzzz{z{yyyzyzyy{zzz{zyyyzyzxyzyzzzzzzzzzzyzyzyyzyzzy{zyyzyzyzxyyzyzzyzyyyzyyyyzyyzzzyzyyyyxyxxyyyzyyxyxxwyxyyxyyzxxyzxyzyxxxxxyyzyzyyzxyyxxyxyzxyyzzzzyyyyywxxyyyyyzyzzyxxxyyzyyzyzzyzzxyxyxxxzyyyxzzzyxyzyyxzyxyyzzyyzyyyxyxyyyyyyyzzxxyyyxyxyzyyyzzyyxyyxxxyzyzxzzxzyyxwxxyxyyzyyzzyyyyyzxxxxyyyyyyyyxyxxyxyyyyxyyyyxyyyxzyyyzyyyyzyyyyxyxyyyyyyyyyzyxzxyxxzyyyyyy{yyyyyyyyyzyyyyzyyyyxxyyyxzyxyzyyyyxyyyxxxy{yyzyzyyyyxyxxyxyzzyzz{yyzyxyyyzzy{zzyyzyyzzyzyzzz{z{zzzyzzzyxyyzz{{zzzyyzyzyzyzzzzzzz{yyzyzzzyyyzyz{y{{zzzyyzzz{zy{yzzzyyyyyzzz{zz{yzyyyzxxzyzzyzzzzzz{yzyzyyyyzyzzzyzzzyxyyxzyzyzyz{zzzxzyyyzyzyyzz{{yyyxyxyxzzzyzzxzyxxyxxxxx{yxyyyzyyyyyxxyyyyyyzzyzyxxxyyxzyyyzzzyyxyyxyxzzyxyyyzzzyyxwyxwxzyyyzzyyxyyxyxwxyyyyzyyyyyyyyxxyyyyzyxyyxxxyyxwyyxyyzyyyyyxxwyyyyyy{yyyxxzyxxwxyyyyyyzzxyyyyxxyyyyxzy{zxyzxyxywyyyyzyyyyxyxxxxxyyyyyyyyyxyyzyxyyzyyzzyzyyyxzxxxyzyyzyzzzyyyywxyyyyzzyzzxyyyxxzyyyy{zzzzyyxyxxyyyzzyyyyyyyyyyyyyyzzyyz{yzyxyyyyyyzyyyzyyyzyxxzyzz{zyzyzyyyyyyyyxyzyzzyz{yxzzzyyyzzzz{yyyzyyzzyyy{zzzzzz{zyxzzzyzyyy{zz{yzyyzyyyxyzyzz{zz{yzyxyyyz{zzz{zzzyzyyzyyzzyzzy{zzyyzyyzyzzzz{zzzyyzyyzyzyzyzyzzzyyzzyyyxyyyzyzzzyzyyyxyyyyyyyzyyywyxyyxxxzzyyyyzyxxyyxyxyxyyyzyzyyyxyxxyyzyx{zyyyywxyyyyzyzxyyzzyyxwxxxxyxyyyzyyyxxxyzyxxyyxyyzyxyxxyyyxxyyyzzyzyxzxyxyxxywyxzxzxyyyyyxxyzxxyyyyyxyxxyxxyyyxyzyyyxxxxxxxyyzyywyzyxyyxxyxyyxzyyyzzyxxxxyxyzyyxzzzyxyxxxyyyxyyyzzyyxyxywyxyyzyyyyyyxxyxxyxzyyyyzy{yxyyyywyyzzzyzzzyyyxzyzxyyyyzy{yyxyyyyxyyzyyzzzyyxzyxyyxzzyyxyyxzyyyyzxyzyzyzy{{yzyyzzyxzyyzzzzzyxyyzyyxz{zzyzyzzzzyzyyyyyzyzzz{zyzyyyyyzzzz{zzzzyzyyyxzyz{zyz{zzxyyxyyyz{zyy{{{{yyyyyyyyyzyzz{zzyzzzyzzzzzzzzzzyxxyyyyxy{zzzyzyxyyyyyxxyyzzzy{zzyyxzxxyxyzzyyyxxxyyxxzxxzzyyyyzyxyyxwyyyyyyzzz{xyxyxyxxzyyyzzzyzwyzxxyyxyyzyyyyyyyyxxxyxxyzyzyzzzyxxyzxxyyyyyzzyzyxxxywzyzxxyxzzxyxyxwyyyyyyzyzyxxxxxxyyzyyxyzzzyzyxyxxxyyyyzzxzxyyxwxxyzyyyyzzyzxyxxxxyzyyzyyyyyywyxxxyyxxzyzzyxyzxyxyzyzyyyzzyyxxyxyyyyzzyyzzyyyxxwyyyzyyyyyzyyyyyxxyzzyyzzzzyyyyyyyxyyyyyzzxzzyyyyxyyyyyzzyzyxyzyzxyyzyzzzyyyyyyyyyyyyzyzyzzyyyzyyyyzyzz{zzzzyyzyyyyz{zzzzyzzyyyzyzy{{yzzzzzy{yxzzzzyzyz{zzzzzzxyyzzy{{{{{{{zzyzzzzy{zzzzy{yzzzyyzyy{zyz{zzzyyyzz{yzz{zzzzzzzxyyyzyyz{zyyzyzyzyyyyyyyyzzyyzzyyzyyxyxzzzyyyzyyyxyywxyxzyyzyyyyxyxyyyxzyzyyyyyyyxyxyxyyyyxzyzzzxzyywyxzyy{yyyyyyxxxxyyyxzyzzzyyyyxyyyxyzxyxyzyyyyyxxxyyxzyzyzyyzyxxyxyyxyyzzzyyyyyyxyyyzyyyyzzyxxyyxyyyzyxyyzzzyyyyyyxyyyyzz{yyyyxxyyxyyyyxyyxyxyxxyzyxyyyyzzzxxyy{yxyxxyyyy{yzyyyyyyyyzzyyyzzyxyxxyyyzy{xzzzyyyyxyyyyyzyyzzzzxyyyyyyy{zzzyzzyyzyxyyxyyyyzzzzyyyyxyzyyyzyzyyzzyzxyzyyyzyzz{zyyyyyzyzzyzyzzy{zzyyzzyyyyz{zyzyzzzxyzzyyyzzzyzz{zyyzyzyzyz{zyz{{zzxyyz{yzzzzzzz{{zzzzxyzyzz{{zzzyzyyyyyyz{zyy{zz{zzzzyyxyyzzzyzzzyyzyyyyyzzz{{z{zzyzyyyyxzzyzzzyzzxyyxyyyzzzzyyyzxxyxyyxxzzzyyyzyyzxyyxxyyyyzzyzzyyzyxyxxxzyzzzzyyyxyxxxyyyzzzyzzzxyyyyzxzyyyyyyzyyyyyxxxyxxyyzyzyyyyyxxwyyzyyxyyyxyxyyyxyyyyyyyyyxyxyxxxyzyyzzyyzxxxxyxyyxyzyyzzyyzxyxxyyzzzyyyyyyxyxxxyyy{xyzzyyxyxyxyxyyyyxzyzyyyyyyxyyzyyyzzyyxyyyxyyyzyyzzyzyyyxyyyyyzyyzzyzxyyyyxxyyxy{zzzzyxyyzxyyyzyzyzzyyxyzyzyyyyzyy{{zyyyyyyyyyzyyzyzzzyyxyzyzyzzzz{z{yyzxzzyyz{z{yz{zyzyxzyxyy{yzzz{yzyzyzyzyz{{yz{{zyyzzxyzyxzzz{zzzzyxzyzyyy{{zzzzyzy{yyyyy{yzz{zzz{yyzzzyyzzzy{zzzzzyyz{yyz{y{{zzzzxzyzzzxzzzzyz{zyxzzyxyxzyzzyyzzyyyxzyyyyyzzxzyyyxxxxxyyyyzyyyzyzyxxzxyyzzyzzxyzyyywzyyxyzyzyzzzyyxyyzyxyyzzxzyzyyzywyyxyxzyyzyzxxywxyxxxzzyyzyyzyyyxyxyzyzywzzzxxyxyxyxyyyzxxyzxyxxxyyxzzyyyzyyyyxyxzxyyzzyzzyyyxyyyyxyyyyxyyzyyyxyyxyyyyyyyzzxyyyyzyxyxyzyyzyyxyyxyyyyyyyyzyyzyyyxxxyxyyzzyyzzyyzxyxyyzzyyyzzzyxzyyyyyyyzyzzyyyzyzxyyxyzzzzzyzzxzyxxyyzyzzzz{yzyyzzyxyyzzyy{zzyyyyyyxyzy{{zz{zxzyyyyyzzzy{yzz{yzyyyyyzz{zzzzzzxyyyyzyyzyzyz{{{yyyyxzzyzyzzz{zzyzyyzzz{zzzz{zz{zyyzyzzzzzz{z{zyzyyxzzyzyzzyz{z{zyzyzzyyzzyzz{x{yyyyyyyyy{yyz{{zzzyzxyyyzzyzzzzzzxxyyyyxy{{yyzxyxyyxxxxyxzyy{yzzxyyyxyxyyyyyyzyzyyyxxzyyyyzyyzzzywxyyxywyyyzzyzzyyyxyyzxzzy{xzyxyxxyxyyxxyyzzyyzyxyxyyxxyyyzyzyyzxxyyywxzyzyyzzyxyyyxyxyyyyyzy{yxyyyyxyyxzyxyyyyyxyxxyyxyyyyyyzyyyyyxxzyxzyyxyyxyyyyxyxxyzyyyzzzzyyxyxyxyyyyyzyzyyyxxxyyyyyzzzzyyyyyyxyyzyzzyzzzyyyyxyzyyzyyzyyyzyyxzxyyxzzyy{yyyxzyyyyxyz{zz{zyyyyyzyyyzzzxyz{zzyyzyyyzzz{{zzzzxzyz{yzyzzyyyzzzyyzyyzyyzz{zzzy{zyyyzyxzzzzzz{{zzy{yyzzyyzzzz{zyyyzzyzzyzz{y{z{{zzzyyzyzzzzzz{zzyxyyzyyzzzz{zyz{{zzyzzyzzz{{zz{zyyyzxyyyzyyzzzzzzyyyyyxxy{zzzzzyyzzxyyxzzzzyzzyyyyxxxxxxyzzyyyyyzyyyyxyyyzyyzzzzyxyxyyxxyyyyz{zyyyzxxxxyxzyyyz{yyyyxyxxxyxzyyyyzxyyxxyyyyzxyyzyzyyyxxxxxyyyyzyzyyxyyyyxyyyxyyyzyxxxyxxyyyyzyyyzyyxyxyywxyyzyyyyzwxyyxzxxxyzyzyyyxxyzxyxyyxyxwzy{xyyxxxxyyyyyxzzyyxyyxzzyzyyyxzyyyxyzxyyyzzzyzyyzyyxyxyyxyyzzzzy{yyyyyyyzzzzyyyzzzyyxyyxxzyzzyzzzyxzyzyyyzzz{yyzyyxzyyyxyzyyxzzzyyyyzyzxyzzzzzzyzzyyxyyzyzzz{z{zzyyyyyxy{zy{zzz{yzyzyzzyyzzzzyzzzyzzyy{zyy{zz{zzz{yzyzyyyzzzyz{z{zy{zyxzz{zzz{zzzzyyxzzyyzyyzyyz{{yyyyzxzzyzzzzyzzyyxzyzyyyzyzy{zzzyyyzyyzyzzyzzzyyyyzzyyyyyyyyyyxxxwzyxxzyzyyyyzxyxyxxxyyzyyyyzzzyxxxyyxyxyxyyyzxxyyyxxxyyyyyyxzxyyxxyywzyyyxyxyywyyywzxxyxyyyxxxyxyxxxyyxyxzyzyyyyxxxyyyxxxyyyyyyxyyyxxyyxyyzyxxxxxxxwxyyyyyyyyyyyywxxwyxyyxyzzxxyxyxxyyyyzyzyyyyywyyxxyyzyyzzxyyyyyywxzyxxxyyyzxyxyyyxyyzyyzzyyyzyxyyzzyzyyzyzyyyxxxyxyyzyyyyyyyyxxxyyyzz{zzyyxyxywyxzyyzzyyyyyyyyyyxxyzzzyzzzyzxxzxyyyyzyyzzzy{yxyyyzzzyzzzy{zyyyzxzyyzzy{zzzzyyyyyyyz{zzzzzzzzzyxyyyzzy{zz{{{yzyyyyyy{zyzzzzzxzzyyyyzzzzyzyyyyyyyyyyyzzzz{z{zzzzzzzyzzzzzzzzzzxyyzyxyzzyyz{z{zzyyzzxzyyzyzyyzxyxyxxyyzyyyyyyyyxxxxzxyzyyyyyyyyyxxwxyyzyyyzzzyyxxxyyxyzx{zyyzyxxzxxyyyzzyyyzzyyyxxyyxyyzywzyzyyyxxxyxxyyyyyzyzxyyxxxwyzyyyxzzyxyyyxxyyyyyyzyyxyyxxxyxxyyyyzzyyyxxxyyxyyyyzzyzxyyywyywxyyzyyzzxyyyzyxyxyzyyyzzyyyxyxzyyzxzyyzzyxzyyxyyyyyyxzzzyxyyyyyxyyyyyzzzyxxyyyxyxyxyyzzyyxyyxyyxyyzyzyyyyyyyyxzyyzzzzzyzzyyyyxxxyyzyyyzzyyyyxyyyzz{yxzzzzyzyyzyyzzzzyyyzzxyzyyyzzzyzyzz{zzyzyzxxyzzyzz{yzxzyxyzz{{zzzzzzzxyyyyyzyzzyz{z{zyzzyzzzy{z{z{zzzyzzyzyyzz{z{zzzzyzyzyyzyzz{{zzzzzyyzzyyyzzzz{z|zyyyyzzzyyzyzzzzyzyzyyyzzzyzzyzyxyyxyyyzyy{yz{zyyxyyyxxyxzyzyyyyyxxyyyyyyyzyzzzzyyyxyyyyyyyyyzzzzxzxzyxyyyzyyzyyzyyxwxxwxyyzzyyzyxyxyzzxyyyyyzzzyxxxyyyxxxzzxyzzxyxxyxyyyyyyzzxyxxyyyywxzyyyxyyyyxyxxxxxyyyyyyzzyyyxxxxxyyyzzzzyyxyxzxxxzyzzyyyzyzxyxwxxzyyyyzyyxyzxzyyxyyzyzyzzyzxyyyzxyzzyyzzyyyyyxxzyzzxzzyyzyxzxyxyyyzyyyyzyyyyyyyyxzzz{{zyzyyyzxxyyyzzzzyzzyyzyyyyxzyzyyzzyzzxxyxyxyzzzyzy{yyxyxyyzzzzzyzz{yyyzzyyzxzzyyzzzyyyzzyyyzzzz{zzzzyzyzzzzyzzzy|zxzyzyxzzy{y{z{{zyyyyzyyxy{zz{yzz{yxzyyyyyzzyyzzzzzyyxzzyyzyyy{zzzy{zyyyyyx{zzzz{zzzzyyzzxxzzzyzzzzyywxxxyyzzxyyxyyxxxxyxyxyzyyzzyxyxyyxxxyyyyxyyyyyxxyyzyyyyyxyyzyxyxxyyxyzyyyy{zyyywxxxxyyyyzyyzxwyyxyyyyyyyyyyyyyyyxwxyyyyyzzyyyyyxxyxzxyyzxyzzyxxxxyxxyzyyyxyyxyxwwzyxxzyyzyyzyyyxyxxxxzyyyyzzyxxxxxyxxyyyyyyy{yxxxxyyyyyxyzxyxyyyxxxxyzyyyyzyzyyxxxyxyzyyyyyyyyxyxyyyyyyyzzyyzzzxyyyxxxyzyzzzywzxyxyyyzzyzyzyzxyyxxyyzzzyzyyyyyyyyyyzyzyzzzzyyzyyyyyyyyyz{{zzyyyxzyxzzzyyzzzzyyyyzyxxzyzzzy{yzxyyzxxzzzzyzy{{yyyyyyzzyzy{yzzz{yzyxzxzy|yzzz{z{yyyzyyxzzyzzzzyzyy{xxyyyzzzzz{{zyyzyyyyzzyzyz{zzzzyyyyzyyyyyzzyyzyyxyzyyzy{yy{zxyxyyyyyxyyyxyxyyxyxyyywxyzyyyzzyxxxyxxyyzyyyzzzzyyxyyxyxzyzzzyyzxyyxxxxxyyzyyyzxyyxxyyxyzyyyzyyxxyyxyyyxyyxyyxyxxxyyyyyyzzxyzzxyxyyyxx{yyyzyyyyyxyyxxyxxzxyyzzyyyyywzxyxyyxzxzyyyyyxxyxyzyyzyyzxyxxxxxxxyxyyzxyxxxxxxyywyzyyyzzyxyyyyyyyyyyzyzyyyyyxxyyzzyyzyyyyyywyxyyyzzzz{y{zxyxyyzwyzyxyyzzyyzxyxyyyzyyzzzyyxyyyxyyyyyyzyzzxxyyyzxzzzyyzzzzzyyyzzxyzyzzzyzyxyyyyyzyyzyzzz{zyyyyyyxxz{zzzzzy{zzyzyyzz{zzz{z{yyxzyzzyzyy{zzzz{yzyyyyyz{{{zy{zzyyyyyyyzyzyzzyzyyyzyyzzz{zzz{{{zzyyzzzzzzzz{{zzyyyzyzyxyzzyz{{zyzyyyyyyyzz{yzzyyxyxwxzyzz{zyzyyxxyyyyxxxyyyyyyzyyxxxxyxxzyxyzzzzyxxzyyxyxyyzyyzzyzxyxyyxzyyzyzyyyyxwyyxzxzyyzyzyxyyzxxyxyxyyyyxyyyxyyyxzyzyyyzyxyyyxxyyyzzyyzyyyyyxxxyyyyxyxzzxyxyyxyyyxxyyyyzyyxzyxyyxyyyxyyzzyyyxxxyxxyyyyyyzzyyxywyywzxyyyzzyxyxyyyyzyyyzzyzzyyyyxyyyyzyyzy{yyyyyyyxyzzyzzzyyyzyxyyxyy{zz{zzzyzyzxyyxzzyyzzzzxyxxxyzyyyzyyyyzyxyyyxxzyzyyzzyyyyyyyzyzyyzzz{{yyyyzzyzyyy{z{{zzzyzxyyyzzzzy{zzyzxyzyzyz{zzz{{zzyzyyyyzzzzzzzzz{yyyyyyyz{zzz{{y{zzzzzyy{zzzzzz{zyzzyyyyzzzy{yz{zyyyyzyzzzzzzzzzzyyyyzx{xzyzyzzzzyxyyyyyy{zzzzzzzyzyyyyyyy{zyzzyxyxxyyyxzzyyyy{zyxxxyyyyzyzyzzz{yyyxxyyxzxyyzyzzyxzyyyyzyzzyz{yyzyxxxxyxxyzzyyzyzyyxxxxxyzyzyyyyyzyyxyyyzzzyyzzzzyyxyyxyyyyzxzzyyxyyxyyyyxyzyzzz{zyyyyyyyyyy{{zyyyyyxyyyyyzyzzzyxxxyyyxxyyyyyzzzyyyxzyyyxzyyyzyyxyyzzyyxzzzzzy{zyyzyyxyzzzyyyzz{zyyzyyyyxyzyzyzzyyyyzyzyzzzzzzzzyxyxzyyzyyzyyzzzzyxyyyxxzzyzy{{zyyzzxyzyzzzzzzzyyzyyzyyzyz{{zzzzyyzy{yzyyyyzzz{{{yyyzxyzz{yzzz{z{y{yzyxzz{y{{{{{yzyyzzzyz{zzzzzzzzzyzzzzz{zyz|zzzzzzyyzzzzzzzzz{zyyyzyy{zyzz{{{z{yzz{yzzyzz{zz{{zyyzyzyyzz{{y{{z{zyzyyxyz{z{y{zzyyzzyyyyzzzxyzzzxyxyxyywzzzyxxzzyxyy{yyxyyzyzyzzxxyxwyyyyyzyzyyyzyyyyyxyxy{yyzzyyzxyxxxxyyyzyzyzyxzyyxyyyxyxyyyzyyyyywyyyyzzyyyyzyzxxyyyyxyzyyzzyzxxyyxxyyzyyyzxwxyyxyxxyyzyyzyzyyyxyxxxyz{yzyz{yxxyyyxxxyyxzyyxxyyyyyyxyyxyyzzzxyyxyzyxzzzzyyzyyyxxyzxxzzzzyzzzyyyyzxzxyyzyyz{zyxzyxzyyzyyy{yzzyzyxyxzxyzzyyz{zyyyyzxyyyzzzzzyzyyyyyyxzzzzy{zzzzzzyyyyzzzyzz{yzz{z{zyyxzzyzzzzyzyxyyyyyyyzzyyzzyyxyzyzzyz{y{zzzxzzyyzzyz|{zzzzzzzzyzyzyy{z{z{zz{yyzzyzx{{zzyzzzzyyzyyxzyyzzyz{zzyyyzyyyzz{zzz{z{yzyyyyyzzzyz{zzzyxxyx{yzyyzzzzzxyyxzyyzy{zzyxyyxxwyxxyxyyxxxyxzxzxxxwxyxzzyzzzyyyyxyyyyyzzyzzzzzyyyxyxyyyyzyxyzyyxywyxyyzzzxzyzyyyxxxxyyyzyyyyyxxyxyxyyyyyyyyyyxyxyyyxzxzyyyyyxxxwyxxxxzzxyyzyyxyxxxywyyyyxzyyyyyywxxyxyzyzzzyyxyxxyxyxyyyxzyyzyzxxyzzyyyxzyzzyyyxyyxyxyyyyyyzyyxxxyyxxzzyyzzzy{yyyyyyyyzyzyyyzyxyyyyyzyzzyzzyzyyyyzxyyx{yzz{zzzyxyyyxyzzzz{z{yyyxzzyxzyzzxzzyzyyyyyyyyzyzzzzzyxyzzzzzyzzyzzzzzzyyyyyyy{yz{zzz{zyyxzzzzzzzzzzzzyyyyzyzzz{zzzyzzzyyyyzzyy{{{zz{{zyyyzyyzzzzzzzzzyzzzyyzzyyzyzzz{zyzzzyyzzyzz{{zzyyzyyxyyyzxzyz{{zzyyyzzyyzyzzzzzyyzyyzyzyzyyzyyyyxyyyzzxyzyzyyzyyyxywyyyxyyzyzz{yxyxyyyyyyyzzyyyyzyxyyxyyyyzyyyyyyxyxxyxyxzzxzyzyxxxyxxyxzzyyyyyyxxxyxxxxyzyyzyyyyyxxyyxyyyzzyyzxyxxyyxxzyxyxzyyyxwyxyxxyxyzyzyzzxxyxyzxyzyyxzzyxxxyxxzyyzyyzzzzxyyzyyyyyyyyyzyzxxyxyyyxyzzzxyyzyyxyxxyyyyz{z{yzyyyyyyyyzzzyzzzyzzyyxyxyzyyyzyzyyzyxzyyxyzzzyzyzyyyyxzyxzyzzyyy{yxzxyyyyz{zzx{zyyyyyyyyyxyzzzyz{yzzxzzzyzzzzzyyzzyyxzyyxz{{zzyzzzyyyzyzyz{zzyzzzyzzyyyzzzzyyzzzzzzzyyyyy{{y{{{zzzzzzyzzz{z{{zzzzyyyyyzzyyzz{zzz{yzzzzyyxz{z{zzyzzyyyzxyyy{zzzy{yyyzzxyxyzzz{zyzyzyyxyyyyyzyyxyyyyxxxyxyyyyyyyyzyyxyxxxyyzzzyzzzyyxxxxxyxzyyyyyxzyyyxxyxyyzzzyyzz{yyyxxyyyxyyyzzzyyyyyxyxxzyxxyyzzxyyxywxxyyyyzzyyyyyxyxyzyzyzyyzyyxyxyyyzzyyxzyyzyyzxxxyyyzyyzyyyyxyxzyxyyyyzyzyzzzyyyyyxzyyyzzzzyyxxyyyxzyyyyzzxyyyxxyyyzzzzzzzxyzyzxyyyzyzyxzzyzzyyx{yyyzzyyxzyyyyyyxyzzzyyzzzzyyyyxyyxzz{yzzzyyzyyzyyxz{zzyzzyyyyzxzzzzzzzzz{zxyyyyyyyzzz{z{zxyyyyyzy{zz{zzzzzzyyzyzzzzzz{z{zzxyyyzyy{|z{yy{zyyzyyzzyyzyzz{zzzzyyyzyzz{zzzzzzyyyzzyyz{zz{z{{z{zyzyyyzzzyzzyz{zzzzzyzzzzzz|{{{yyzxyyyyz{zzyzz{zyzxyzzxzzzzyzzzzzyyyyzzzzzzyyyyxxyyzxxyzzyyyyzzyxyxxwyxyzzyzyzzyxxwxyyxyxyzyyyyyxzyxxwyzzyxyyyzyyyyyyzxyxyxyzzzyyxxxyxxxyyxyzzyzyxyxyxyyyzxyzyyxyyxyyxxzyyyxyyzxxxxyxyyxyzyyzzyyxxyyyxxyyyyzzzyzxyyyxxxyyzyyyz{zxxxyyyyxzyyyzzyyzxxzxxxyzxyxyxzyxyyyxyyyyyyyzzyyyxyyyzxzzyzzyzzyyzyyyyyxxyxyzyzyyyxxyyyyzzzyzzzyyyyyyyxyzyyzzyyyxyxyyyyyyzzyy{{zxxzyyyyyzzzzzyzzyyyzzxyyyzzzyz{xyyyxyzy{zyzy{{{zyyzyyzxzzzzz{zzzyyyzwzxzz{{yzzzzzzyy{y{yzzzzzzz{yzzyyyyzzy{zzzzzyyyyyxz{yzzzzy{zyzzyyyyyzz{yz{zzyyyzzyy{yzzz{z{yyzyyzy{yzzzzy{zzyzyzzzyzzyyzyzyyyyyyyyyzzzyzzyyxyxxxyywyyyyyyyyyyyyyxxxyyyyyzxyyxyyyxyyyyyzzyyyyyyxyxyxyyyyzyyy{yxxxxxxyzzxyyyzzyxyyxxwyyzyzyzxyzyxxyxxyyzyxyyyyyxxxxxyyxxyxyyyyyxyxywxwyxyzyzyyxxxxyyyzxyyxyyxyxyxxyxyxyyzyyzzxxxxxxyxxyyxyyyyyyyxyyxxxyyyyzyzyyyyyyyyzy{yzyyyyxyyyxxxyzyyyzyyyyyyxxxyyyzzyzyzyyyxyyxwyyzyyyzyyxzyyyxxyyzxzzyyxyyyxxyxyyyyyyzzzyzxyyxyzyzyzzzzyxyxyyyyyzzyzyyyyyyyzyzyzzzyy{z{yyyzzzzyyzyz{zzzzyxzyzyyzzzyy{{zyyyyyzyzzyzyz{yzzyyyzzyyz{zzzzzzyy{zyyz{zyz{z{yzzyxxyyy{zyzyzzz{zzyyyyyyzzzzz{zyyxyyyyyzzzyzzzzzxyxyyyyyyyyzxzzyyyyyyyxxyzzzyyyzyyyywxyxyzyyzzyyyxyyyxyxyyxyxyyyzxyxyyyxyyzyzzyyyyyyyyyxyyxxyxyyyyxyxxyxyxyyyxxyyxxxxxxyxxyxxzzyxyyxxxxxyyyxyzzyxyyxyxxyxxyyxyxywyxxyxywyyyyyzyxxyxywxwxxzzxzyyyyxxxxyxxxzyzyzzzxxyxxwywxyyxzyxzyyxxwxwxxyxyxyzyyxyyyxxxyyyyyyzyzxwyyyxxxyyxyz{yyyxxyxyxyyyyy{zyyyxyxxyyzzyyyyzyyxzxyxyxyzyyzzyzyyxyyyxxxyzzzz{yyyyyxyyyyzzyzzzyyyxyyyzyz{zyzzzzyzyyyyzyzzz{zzzzyyzyxyyyyzyy{y{zyyyyzyzyzz{zyzzzzzzyxyyzyzzzzzzzzyyyxzyzy{zyyzzzzyyyzyyyyy{yyzzzzxyyzyyyzzyzzyzzzzyzyyyyzzzzzz{{zzyyzyxzyzyyz{{yxyyzyzyyzyyzyz{yyyzyyyyyyyzzxyyyyyxyzxxxyzyyyyyyyxxyxxwyyyyyzzzyzyxxzxxxxyyyzyzzyyyxyyyyyyyzxyyyxxxyxyyxzxyzyzy{yyzxywxxyyyxyyyyyyxxyxyyyzyxzzyyyyxyxyxyyyyyyzyyxyxyxyxzyyyyxyzyyxyxyyyyyyzxyzyyyxxwxyxyyyx{yxzzxxyyxxxxyyyxzzzyxyxyyyxxyzyyyzyzyxyyyyyxzzyzxzzyyyxxyxxyzyzxz{zzzyyzyxyyyzyzyzyyyxyyxxyyyzyzyzzyyyyyyyyxxyzzyyyzzyyyyyzxxy{zyyzyyxyyzzxxyzzzyzyyxyzyy{zyzzyz{{zzxyyzyyyyyzyzzzzzzyyyyyzxzzzyzzzz{yyzyxyyz{zzzyz{zyyzzxyzyzy{zz{z{yyzyzzyzzy{zzz{zyzzyxyxyzzzzzzzzyyxxyxzzzzzzzzzzzyyzzzzz{zzyzzzzyzywyyyyyyzyzzzyyyyyyyxyz{zyzyyyyyzyyxxyyzyzyyyyyxxywyxzyyyzzzzyyxxxyxxyzzyzyyyyyyyxyxyzyzyyyzy{yyyyyyyyyyyzzxzxyyxxxyxyyzyzyy{yxyxxyyxyyyyyzyyyyyyxxyyyz{yyyxyyyyxxyyxyyyyyyzzyyyxyyxxxzxyyzyyyyxxxxxxyyzyyzyzyxyxyxywxyxzzzyzyxxxyyyxxxzxyyyzyyyyyxyyxzyyyzzzyyxyyyyyyzyyyzzyzyxxyyyyyyzyyzzxzyyyyxzyyzyzyzy{xyxyyyyxyyyzzyyzzxzyyx{yyyyyy{{yzzzyyxyyyzzzzzzyyyxyxyyzyzzyyyzzyyyyyzxyyyzy{zzzyzzyyyyxyzzzzzz{zyyzzyyx{zzzzzzz{yzzzyzzzzzzyzzyyzzyyyzzzz{zzyyzzyyxzzyzz{{zzzz{zzyzyxyzzyzzzzzyzyyyyzyyz{zzyyz{zyyyzzyyzzzyzzz{zyzyyzyyzzyzzz{y{yyyyzyyyzyzzzzzyyyxzxyy{yzzzyzyyyyywyywxyyyzyzzyxyyyxyyyzzzzzzyzzxyyyyyyyyyzzzzzyyzxxxyzzzzyyyyyyyyyxyxzyyzyyyyzzyyxyxyyzyyyyyzzxyxwwyxyzzyyzzyxxyxyyyxyzxyzzzzwzxwyxxxyzyzzyzzyxyxyyxzyxzyzzyzyzyyyxxxxzyzyyyyyxyyxxyyxyyxyyyyyxzxxyyyyyyzzyzyyxyyyyxxzzyyzz{zxyzyyyzyzyzyzzyyyyyyyxyyyyyzyyyzxzyyyyyyzzzyzyzzyxyyyyyxzzzzzzzyyxyyyyxyyyzzzzyzzzyyyzyyzzzzzzzz{zyyzyzzyz{zz{yzxzyyyzyyz{y{yz{zzzzyxxyy{zzzzz{zzzyyyzyzz{zyzzz{yyzzyzzyz{y{zzzz{zy{zzyz{{{yz{{{zyzyyyyyzy{zzz{zzyzzzzyzz{{{zyz{{{yzyyyyyy{{{zyzyzzyyxzzzzzzyz{zzzxxyxzxzzyzyyyyyyzy{yyyyyyzyzyyxzxyxxyxyzzyzyyyyxxyyywxyyyzyyyyyyxyxyxzyyzxyzzyyxyzyxxwyyyzzxy{yyyxxyyxyyzyyyyzxyyxyyyxy{yxyzzyyyzyyyyxyzyyxzzyyyxxyzxyyxxxxyxzyyxxyxyxx{yyyzyxyyyxxyyyyzzxzyyzyyzyyyxxxxyzyyzzyxxxyyzyyyyyzzyyyyxyxxzyyyyyzyzzyxyyxyxwyyyyyy{zyyyyyyzxzyyzzyz{zxyzyyyyyzz{zzzzyyyyyyyyyy{yyzz{yxzzzyyxyyzyzzzyyxyzxyxyyzzzzzzyyyxyxyyzzzzzzyzzzxyzyyyyyy{zyz{zxzzzyzyyxzzzyzzzzyyzzyzyzz{y{zz{zyyyzxyxz{yzzz{zzzyzzy{yy{zzzz{z{xyyzzzzyzz{zzz{yzz{yzzyyzyyzz{zzzxyzyyyz{zz{yz{zzzyyyyzzzzyy{{{xyyyyyyyyzzyyz|zyzzyyyyy{yzzzzzzzyzxzyyyzyzyyzyyxxxyxyxxyzyyzzyzyyyxxyxxyyy{xzyzxyyyyyyyyyxyzzxyyyyzyxzyyzyzzxyzyyyxyyyyxzyyy{yyxyyyxyyxxyzyyyyyxyyyxxxxyyzyyyzyyyxyyyyxyxzyyzyzyxxyzxxzyyzzyzyyyyyyyxxxxzzyzxyzxyyxwxxxxzzzy{yyyxyyxyyyyxxxzyzzyyxxyyxyxyyyxzyyyxzyyxyxzzyzyyzzzyyyyxyy{zzyyyzzyyyyxxyyzyzzy{zyyzyywyyyz{zzyzzzyxyyyxyxzzzz|zzzzzxyxwyyy{zzyzz{yyyyyyyyy{zxzy{zyzzyzyyzyzzzzzzzyyyzyzyyzzyzyzzzzzyzyyyyz{zyzzyzzyzyyzzz{zzyzy{zyzyyyzyzyzyzzz{{zyzyyzzzx{y{zz{{zzzzzzzy{{zzzy{zzzyyyyxzzzzz{z{{xzyyyzyyzyzzzzy{yyyxyzxyyyyzzz{z{yyyyyxyyzz{zyzzxyzyyxyzyyyyyFy6W6a{|z|z{{{||}||}~{}{{{|{|{|{||{|{|{|z{{{z{z{|||||{y{{{{{zz{|{|{|||{z{{|z{|{|{||z|{{{{|{|{{{{z|{|{z{zz{{z{{|||{||{|{zzz{z{{{{z{{|{{{{zzyzzz{{z|{|{{{{{{zz{||{{{{{{{{{{zzyzz|{{|z||{{{{zzzz{z{{{{||z{{{{zzz{|z{{||{z{{z{{{y{{{{|{|{{{{{{z{z{{{z{{}||{{{{z{{{{{||z|{|{{{{{{z||{|||{|{{zz{z{z{{||{||{|{{z{{yz{|}|{{}{{{|{{zzz{{|{|}{{{|{z{{z{|{||||||||{|||{||{{}|}|}{|{}{{{{{||}|{|{{||||{{{{|{}}}{}|{z{|||{}||||||{|z{{{|{{|}|||}|{{||{{{{{|||||{|}|{{|}{}{{z{|||||{{{||{{{{||}|||}|z{{|{z{{|{{|||{{|z|{{|{|||{{|||{{{z{z{zz{{{}{|{|{{|{{{{{{||z||||||{|{{|{{|||{||||{{|zz{|{|{||}|{{{{{{{{}{||{||{{|{|{{{z{{||{|||{{z{z{|{z{|{|{|{{{{{z{{{|{z{{|{{{{{z{{zz{{{{{|{{zz{z{zzz{{{{z|{{{z{{z{{{|{z|{|{{{{z{z{{z{z{{{|||zzzz{{|z{{{{z{{z|z{z{zz{zz{z{|{|zzzz{zz{{{z{}||{{{z{zz{{||{{{{{|{z{{{{{{}|{z{|}|z{{{zz{{{{|{|{|{{|{zz{z{z{{z{|{|z{z{{{z{{{||{|{|{{{{{{{{|{{|z||{{z|{{zzz{}|||||{z{|{{{|{|{{}z|||{{{z{z{{||}{||}|{{{{{{{{}}{{||}|{{{{|||||}|{|}}}|{|{|{{|{|}{|||}|{|{{|{{|{|{||||{{z{|z{{||{|||}||||{|{{{|{|{||}{||{{{{{{z{{|}{||{z||z{{{{z|{{||{{z{z{{zy{{{z{{||{{z{{z|{{}|{|{|||{z{{{zz|{{{||{{|{{{{{{{|{{{{|||{{z{{{z{{|||z||{{{{{zzz{{{||{{|{{{{z{{{{{|||{{|{{{{{y{zz{|{{{||{{{zz{zy{{{||{{{|{yzzzzz{{{{{{{{|{z{{{zy{|{{{{||{{z|zzz{{{z{|||{|zz{{{{|{{zzz|{{|{{z{zz{{{z{z{|{}{z{{{zz{|{{{{{||{{z{zz{|||{||{{{{{||{{{{{{{{||{{z|{{zzz{{|{{|{{||z|{{z{{z|{|{{{z{z{|{z{z|||{{{|{z}{{{z{{{|||||{||{{{{{{{||||{{{{{{{z|{{{{{{|||||{{z{{{{{{{||}}}|{{{{{{{{{|||||}}{|{{{{|{{|{{}|||||z{z{|||}||}}}||{{{{{z{|||{|||||{zz{{{|||{||{||{|{||{{||{}{{||}|{|{{|z|z{{{{||||{z{z{{||{||{||{{{|z{z{{{{z|||||{|{{{{|{{||z|{||z||{{|{{|||{|}||{{{{|{z{}z}|{||||{y{zz{{{||{{{||{{{z{{{z{{|||{||{{|z{z{zz{{|z{{{{{{zz{z{{z{z|zz{{{{{{z{{|{{|{|{|zzzz{{{{|{{zz|{||{|zz{zzz||z|z|{{zz{zz{z{|z|{{{|{z{yz{z{{{zz{{z|{{zz{{zz{|{{{||{{{z{{{z{{{{|{|||{{z{|{{z{|{{|{{|{{{{zzz{|z{|{|{{zz{{z{{|{{}{||{|{{|{|{z{{{|||||{|{{zz{z{{{{|{||||{{{{{|{||{|{{|||z{{{z{{{|||{||{||{|{{{{|||}|||||{{|{{{|{}}{|{{||z|{|z|{{||{||||{{|{|||{|||{||}}}z|||||{|}{|||||{{||{{|{|}|||||||||{{{{{||{|||{||z{}{|{{|||||||}|z|{{{{|{|}|{|}||||{zz|{{{||{{{|{{{z{z{{|{{{||{}|{{|{{}{|||||||}{{{|{{{{||}||||||{{|{z|{|||{||||{z{|{{{{|||}|}{|{{|{{{{z{{|}}||{{z{z{{{z|}{{{||{zzz{|{z{||||{{|{|{|{{z{{{{|{{{{|{{zz|{zz{{|{{|{{}zz{{zz{{|}{|||z{{{zzz{z{|{{z{||{{{z{z{||{|{{{|{||z{zy{z{{z{||{{|z|{{||z|{{|{z}{|{{{{{{{|||{{||}{{|z{|z{|{|||{||{|z{{{{{|||{|||||{zz{{{{{||{|||{{{{{|{{{|{|{{|||{{{||{{z||{{{||{||{{{{|{z||}|||}{{||{}{|}{|||||}||{{z{|{|||{||||}{|z|{{{|}|{|}|||{{|{||{||||}}}}|{||{||||}|~||}||{|||{|{}|}}{{|~|z|{|{z|{||{}|~|}|{|{{{{||{{||}|{{}{||{{{||{||}||{|{{{{|{}|||{|{z|zz{z|{|{||{}||}||{|{{z|}|||||}{{|||{z{||||{|||{{z{{|{{{||{|||}|||{{{{z{||{{||}{|zz{{{{|{{|{|{}{{{z}{{z|{{{{{{{||{{|{{z||}{{}|{{{zz{{{z|{z{{|||{{{z{z{{{|z|{{|||{{{z{{z{{|{|{|||{{z|z{{|{||{||}{{{z|{{z{||||}{{{{{{{{{{{||{{|{|{z{|{|{z{{{||{|{|{{z|{{{{|{|||{{|{{|{z{{{{||z|||{z{{|{{|{|||||||{|z{|z{{|{}{||{||z{z{{{{|||||||{|z{|{{z|{{z{||}||{{||{{{||{||||{{|{||{|z{{}|{|||{{{{{{|{||{|}||~}{|z|{{|}}|||}||||}|}{{{{|}}||}|||||{|||||}|}}}}~{||{{{{||||}}||}{|||{z{}|||}|}|}{|||||{||{|}||}||{{z{|||||||{||{{{{{z{|{|||{{{|{z{{{{{{{||{{}}|||{{{{|{||}|{||||||{|{{|{||||||}{|{{z{|{||||||}||{{z|{y{|{||z||{|{|{z{|{|{{}{|{|{|z{{{{zz{{|{{{{{||{zz{{|{{{||{|{{zz{zz{|z||{|||{zzzzzzzz{|{z||{z{zzzzyz{{{{{{{{{zz{{{zzz{{{{{|{|yz{{z|zz{{{{{{{|{zzzzz|{|{{{|{}{{{z|{zz{{||{|}|{{{{|y{{{||{z{|{{{{|{{|{{|{{|{{}z{{{{{{{|{{{{|{|{{{z{z{{z}|{||{|{{{zz{z{{|{{{||||z{z|{zz{{}{{}{|{{|{z{z|{{}||}{{{{{|{||{||||}||~|{{{{|{{|{{|||}{|{{{}|{{|}}||||}{z||||||||||||}}||{{{{{{|||||||}|{{{{{{{|||}{}{{}{{{||{{||{|{|||{{{{{|{{||||}||}||{{|{{{{}||{{}||{{{{|{{{||||{|{{{{{z{{{||{{{}{||}||{||{}{||}|}|{||{{|{||{|||}||}{{|{{|{}{{|}{|}{{|{{{z{||{{|{}|{{{z{{{{{z||{{||{z|{z{|zz||z|||}{{{z|{{z}{|z{||{{|{{{{{z|{{{{|||z{{z{{zz{||{{|||{{z{{{{z{{|{{{{|{{{z{zz{{|{{{|||{{z{zz{{z|{{z{{{{z{|zzz{z{{|{|{z{{{|{||||{|||||{|{z{|z{|{|{{||{|{{{zzz{z{{z{{{{||{||{z|{|{||{{||{{|{|{{{|||{|{||zz{{{z{{|{{{|||{{{z{z{{{||{{{|{{{{|||{{{}||}|||}{z|{z|}{}|z||||||{|{{{{{{{|||}|||{|{{{{|}|||{|}||{{{{|||{|{||}|||z{{|||{|}}||||}{{|||{z{|||{||||{{{|||{||{{|}|}||{{{||{||{|}|}}|{|{z{|{z{{{|{|||||z{{{|z{|||{|}{z|zz{z{{{{{|||{|{|||{z{{{}}||{||}zz{{z|{|~||||}||{{z{{{z{{{{{{}||zz{{z{{|z|{{{||{{{{{|{{|{{||{{|{{{z{{zzy{z{||}|{z{{{|{{{{||||{{|{z{z{{{{{{|{{||{z{zz{{{|{{||z{{zz{zz{{zz|{{||{z{{|{zzzz|{|||{|{{zz{{zz{{{{{{|{|z{z{z{{zz|{{{||{zz{z{{{z{z{{{{|{{z{{{zzz{{|{||{{|{z{zy{{{{||{|{|z{{|zz{{}||{|{{|z{{z{z|{{{|{{|{{{zzzzzz{|}|{|z{{{{{{{{{{}{|{{{{{|{{{|{{{|{{|||{||{{{|||z||{{{|{||{{{|{|z||{{{|}|{|z||{{{|||{}||||z{{||{{|}||}}{|}{||||}|||||{|}}|{||{{{{||{||||}{|z|||{{{|{{||}||{{{|{{||||||}}||}{z|z{{}||||||{|{zz{{{z{{|||{|}{z|z{z{{{||{{||}{{{|{|z{|}|||{{{}{{{|}|{|||||{{|}|{z{|{{||}{}||}|{{z{z{z||{|{||{||{|{|{{{{{||{{}{{{{{z{z{|{{|||{{{{zzyz{||||{||{{|{{{{{{|z{|{{{||z{zzzz|{{|{|{|{{z{{z{z{{|||||||{z|zzzyy{{{{{{|{{z{{{|{z{{{z|||{z{{z{{zz{|||{||||z{|{z{{|{{|z{||{{z|{{z{{{{{{{|z{z{{{z{z|{}||}||{z{z{zz{{||{{|{||{}||{|z{{{{||{{{{{zz{{z{{||{{}|{{{{|{{{||{|{||{{{{z|{zzz{}{|{{}{{{{|z{{{|{|{{}}{{||{{{{||{||}||{{{{{{{{|||||||}{{||{|{{}|{||{}}|{||||{{|}||||}}{|{|{z{{||}}|}|}}{z{{z{{{{|{|||}|{|{|{{{||{{{|||{{{z{{{{||{{{||z{{{|{{{{z{||{||{{{|zzz{{{{|{{||{||{{||}z|}||{|{~||{|{{||{||||}||{}{{||{{{|}{||||{z{|}z{{{|{{{{}z|{{{{{{z{|{{{|||{{{zzz{{{||{{z|||z{{{{z|{{{|{||{zz{z{{{y{{z{z{{|zy{zzzzzz{|{{{|zz{{zy{z{{{|{|{|z{z{{zzz{{{||z{{{zz{{{z{y{{{{{|{{|z{z{{{z{|y||{||{z{{|{{z{{|{{{||{{{{{zz{|{||{{||{{{{|z{{|{||||z|z{{{z{{z{||||{||||{{{{{{{|{||||{||{{{|zzz|{{{{||}z{z{{z|{|{{|z||{{|zz{z{{{||||{|{|z{{|{{||{{}|z{{{{{{{{{z|}|||}z|{z{z|{{|||||{|}{{|{{||{{{}|{}{||{{z|{{|{}|{|{}{|||||{{{|||||{}}}{{{z{{{{|{||{}|||{{{|{{|{{||||}||{{{|||{|||{|||{z{{z|{{|{|{|}|||{|y{{zz{{|z{}||{|{||||z{}}||{||{{|{z{z{{{||}|||{{{z{{{|{||{||}||z{{{{|{{|||{{||z{|zz{{{{||{{z||{{z|{z{zz|z{{||{{{{{{{{{{{|{|||{|z{{{{z{{z{|{{|{z{|zzzzz{{{{z|}|{z{{z{zy||{z{{{|zz{{z{z{{|{{|{||{yzz{z{{z{{{{{{|z{{{zzz{{|z||{||{zz{{{{{{z{{{z|{{{zz{zz{{{{|{|{{{{|zzz{{{{{{{{{|{z{z{{{{{|{{|||{z{{z|{zzz{{||||{|z{z{z{z{|||{|{{|{{{z||{{{|{z{||{{{{|||z||{}|||~zzz{{|{{{{|{}||{{z|{{z{{z|{||||{{{{{{{{{|||{|{}{z{|{|{{|{{|||||{|zzz}|{z||||{|~||{{|{{{z|||||}|||{z{{{|{{z|||||}|||{{{{z}|{|||}||{{z{{||{|{{|||||{|{{{z{{{||{{{{{{{{{z{{{{{||{{}{|{|z{{{|}|{||{|{{{{{z{||||}|||||z{{{||{{|}|||{{|{{z{z{{|{{{|{|z{{{yz{zz{|||{{|{z{{z{{zz{{{|{{|{{z{z{{{yz{|z{{{{zzzz{|yzz{{{z|{|zz{{zyzz{z{|{{{|z{{{z{zz{{{{{{{{|z{{zzzyz{z|z|{|{{z{zz{zz{{z{z{{{y{z{zz{z{z{{z|{z{{zzz{zz{|{|{|{zz{z{z{{z|{{{|{|{z{{z{{z|{{|{z{|{{|z{{{z|||z{{{{{z{z{z{z|{{{}|{{{zzz{{{z{|{||{|{|{z{zz{{|{||{|{{|{{{|{{{{||{}|||z{{{|{{{{{||{||}{{{zz|z{||{{|}z{{{z{{{{z|{{{{{}||{{{{{{{{|||||||||{|{{{||{||{|}|{z{|{{{{{|{|{|}||{|{z{z|||{{{{}{}{z{{|{{|||||{||{{z{{{{{{||{{|{z{zzz{z{{{|||z||{|||z{z{zzz|||}}|||{{||{{{{|}||}}||{{|{|{||||}|||||{{{{{{||{{|~|||{|{{z{{||{|{|{}|{{z{|{z{{|{{|{{{{{z{|{{{{{|{||{{z{z|{{{{|{{{{{||{{|z{z{{z{{{||{{{{{z{z{|{{{||}{{z{z{zz{{{||{||{|{{{z{{z{{}{{|}|{{zz{zz{{{{{{{|{{{{z{{z{{|z{{|{{|{{{z|{{{|{|{|}{z{z{{{{z{{|{{{{}{{{{{z|{|{{{|||{||{{{zzz|{{{|{||zz{z{z{{{||{|}{{{|{z{{{z||{|}{|{{|{{{{{|{||{z|}{{{|{|{{{{}|}{|}|{{{{{{|{|{{||{}{|{{{{{{|}||{{|}{|{|{{{{{{||||||}|z{{{{{{|||{||}}}{|{{{{||}|}|}|||{{{{|zz{||{{}}||{{{{{{{|}|||}|||{{||{{|}|{|{||}{{{{z{{}{|}||{|}|{z{{zz{{|{{{|||{z{{{zz{|{|{{||}}||{|{|{}|}{|||}|zz{{{|||||||||||{|{z{{z|||{||}|z{||{{}|{{}{|||}{{|{z{{{|{|||{||{|{z{{|z{}|{||}{{{{{{z{z{||{{{|{z{{{z|zz{{||z{{|{zzzz{zz{{{{|{{{z{{{z{yz{||{||{{z|{{zzz{{{|{{{|{{{zzzzzzz{{{|{{|{{|{{z{{z|{|z|{|{z{{z{{z{|{{||{|{{|{{{{z{|{{{|z|{zz{{{{{{||{{|{|{{{{zz{{||}{||}{}{{{{|{z|||{||{||{||{z{|{|||{{|{z{{|z{{{|{||{|}||{{{{{{{{{}|{|||{{||{y{{|{|}{||||{|{{{z{|}||}{||}||{{|{||}|||||}|{||{}{{|||}}||||z|{{||||}|||}|}|{}z{{{{|{{|}}||{|z{{{z|{||||||||{z||{{|}{|||{||||{{{{|{{|{{||{{{{{{z{{z||{{{|{{|{|{{z|z{{|{|}}}||{||||}}|}|{}}}|{{}|{|{||}|}|}|||{{{{{||{{|{||||{|{{zz{{||{{{|||{zz{{{z{|}{{|{|{{{{z{{{|{{||||||{z{{{{{{|{{{|}{z{{{{{{{|{||z|{{{{z{{z|z{{{{{z|{zz{{z{z{{||z{{{|{{z{z|z{{{||{{||{z{z{|{z|z{{|{|{{{{z{z{{{|z|{|{|z{{{z{{{{|{||||||{{{z{{{{{||{{|}|{{{{z{z{{|{||||{{z{z{|}|||||{||z{z{{{|{{|{|||||{{{{{{|{{|{|{{|{{{|{{{zz{|||{{}{{z{{{|z||{||}{}{|{{{{||{|{||{|||{{||{{z{z|||}|||{{{{{z{{||{||}|}{|||{|{||}{}|}|}||{{|||||||{|}{~||{||z{{}|{||}}}{{{||z||{}||||}}}{z{}||{{|}|{|}}{{z{{|{|{{|||{|||{|{|{{{{{|||{{{{|{{{z{{{{|||}||}{{||{|{|}|}||}}}|||z{{}||{|||}||{z{{{{{|{|}|||||{{{zzz{{{}{{{|}|||{zz{{}|{|{|||{{{{|z|{{|{||{{{|z{{|zzz{{|{{||{{{{zz{{z|{{{{|{{|{z{zz{{|{|{{||{zz{z{{{{z{|||z}|{z{|z{z{{{}{{|{|{{{z{zzz{|{{z{{z|{{{zzzz{{z{{||{zz{{z{zz{|{||||{z{zzz{z|{{{|{|{|{{{{z{{{|{||}||||{|z{{{z|{||{||||{{|{{z{{|||{|{||{{|z{zz||{|z{|||{|||{{||{{|{|||||{{z{{{|||{{|||{|||{|||||{{|}|{{||{|{{{||}||}|||{{{|{{{|}}{|}|||||}|{|{{|||{|}}|{||{|{{|}|}}||}|{}{{z|{}|{||}}||z{|||{||}|{||||{|{{|||||{{}|||~{|{{{{{{||||||||{{z|{z{z{||z|{|{{|{z{{{z{{|{|}}~}|}{}|||||||}}}~|{|||z{||}|}}||||}{{}|{||{{||}|||{{|{{{||||{{|}{{z{{{{{{|z|||}{{{{{z{{{z{||z{|{{{{|z{{z{|{|}z{|{{|{zzz{{{{z|{{{{zz{z|{{z{{{{||{{|zy{z|{z{{{z||{{{{zzz{|{{{z|||||z{{z|z{{z{|{{|{zz{z{{{zz{{{{{||{zzzz{{z{z|{|{|||{{|z{zz|{||{{z|}{z{{{z|z|{{|{{}|{{{{{{{{{{{{}|||{{{|zz|zz|{||||||z{{{{{{||||||}||{{{{{{||{}{||{|{{|{||{|{{{}}|{|{|{{{{|{{|{||||}|{{{{{z{{}|||{}||{|z{{{{|}|{{||{{|{{{||||}||{|||{z{|{|{|||||||}}}|{||{{{||||{}}||z{{{{{{||{|}}|}|{{{||z{||||||}|{|{{|||{{|{|{}|||{z|{{{z{{{|{{|{||{z|z{z{{|z||}}}{||{||||}}||}}}}|{{{||||||||{|}|{{|{||{|{{}{{||{|||{{{|z|{{{{|{||{{z{{z{{||}|}|{{|z{|zz{{||{{|{|zz|{{{{{{||||{{{{zz{{{{{{{{|{{{{z{|{z{{{{{{z|{{{z{{{{z{{{|z|{||z|{{{{z{{{{}{{|||z{{{z{zz{|{{|{||{{{zy{|z{{|||{{{z{yz{zz{||{{{|{{{|{{{{z|{|{{{}||{|{{{{{{||{|{{{z{{{{{{{{|{}}}{{{{{z{{z{{|{|{{}|{z{|{{|{|||{}{~{|{z{z{{|||||||}~|{{{{|{z{||}||||{|{{|{|{{{{||||||{z{{{{|{}|||{|||{{{{|{|||z|{|~||||||{}{||||{|||{|{{|||||}}||||||{z{z{{{{}}|}}|||{{|||{{||||}}|||{|{{|||}|{||}|||{z{{{{|{|{{|}||{{z{z{z{||{|{{|||z{yz{{z{|{|{}}}||}|}||{||~||}}}|{{{|{|{|}{|{|}||{{{|{|z|{|{}|}}|{|||z{|}{|}|||{{{{z{z|z{{{{||||{|}z{{{zz||{||||{z{z{{zz|{|{{||{{{z{{{z{{z{{{|{|zz{{{zzzz|z{{|{{{{z{zzz{{{{{{{{{{{z{{{{{{{{{{|||z{{z|z{zz{{{{{||{z{zz{{{{{{|{{||{{z{{{zz{{||||}|{{zz{{z{|{|||{||{|{{{{{z{|{{{|{{{||{{{z{{{{|{{|{}{{{|{}{|||||{||z|{z|z{{z{|}{{|||z{{{z{z|||{}}|{|{{|{{{{{|{|{|{||{{{{{{|||||z||||||{{{{{|}||{||}||{{{{{||||||||||{}{{||{|||}|}||}|{{||||{||}|}}||{||{z|{{|{|{||||{{{{|||{||||}|}{{{|||||||||}|}}{{{z|z{||{{|}||}|{zzzz|z|{{|{{|{|{{{{{{{{{{{||}~}||}{{{|{||}}||||||{|||||||}}||{||{{|{{||{|{|{||||{z{{{{{{||{z|||{{z{{{z{z{|{{||zz{z{{{zz{{{{|}{{{{{{z{z{||{{||{{zz{z{zzz|{z{{{|{{zzzzzz{{{{{z||{z{z{{yy{|{z{{{{|zz{zzz{{z|{{{|{{{{z{zyz{{{{|{{|{{{|zyz{{{{z||z{zz{z{{{yz{z{|{{||{{{{zz{{{{{z|||{{{zzz{{|z|{{{{|z{|{{|{z{{{{{|{|{{{{z{{{{{|||{||{{z{{{{{{{{{{|{z{|{{{{||{{{|{|{{{||{y{|{|{{}|{|{|{{z|{{|||{{||||{{{{{|{z|||z||||{{|{z{{{|{}||||{{{|{|{|{z|{}||}}|{{{||{|{}||||||{|||{{{{|}{|||{{{{{{{{{{{||||||{|{{{||z{|{{||{||||{{{{{|{|||{}}||z{{{{z{{|{|{||{{z|{zz{y|{{{y}~}}|{}||}{|}|{||}|}||{|{|{||}|}}~|}|{z{z{z{|||||||{|{{{|z{{|||{{||{{{{|{z{{|{|{|||{z||{{{z{|z{|{|{{{{|z{{|{{|{{{{{z{z{z|z{z{z{|z{|{{{{{zzz{z{|{{{{{{{zz{z{|{{||{{{|{z{{{zz{||}|{}|{{{z{zzz{|{z{{{{{z|{zzzzzz{|{|{|{{{{{yz{|{||||||{{z|{{z{||z|z|||{{{|{z{{|||{{|||{|{{|z{{{|{{|{||{{{z{z{{z|||{|{{|z|{{{{{{{|{{||{{{|{|{z{|{|{{||{{zzz{{z{|{}|||||{{||{{||{{|{||}}z{|{|{{{{||||||||z|{{{{z{}|||||{|z|{{||{|||||}{}|{|{{{{||}|}||||{{|{|{{{|}||}{}|{{z{{{{||||||||~|{{|||||||{||{||{|z{||{z||||||||{{{{{{{{|{{{|{{|{}{{{{{{{{z{{~|}}~||{|}{||}}}|}|}{|}||{{}||}{}|}|{z{{|zz|{{{{||{|z|{z{z|{|||{z|{z{{z{{{{|||{||{||{|z{{{z{{z|{|||{z{z{{zzz{{{z|z{{{z{{zz{|{z{z{||{z{zz{|{{{{{{{|{{z{{{zzz||{{||{{{{{|zzy{|{{{{||{zzz{{{{z{z{{{||{z{{zzzzy{{||{||{{z{{z{zz{|{|{|{{{z{zzz|z{||{{{|{{|{z{zz{{{{}{|{{zz{zz{z{z{{|z{{|{z|{{{|{{{|{|{|{{{|zz{{{||{{||||z{{{{{{|{{|{{{||{{{||{z{||||{{||{{{{{{|z{{{}||{||{{|zz{{|{||}{|||{{{|z}{}}||{||||{|{|z|{{|||||}}|{|{{{||{}}||{}||{{{|{{{|||||{}||{zz|{z{{}||||||{z|z|{|{|||{|||}|{{{{{{|{}|||{}|||{|{{{z|{|{{{||{{{z|z{z{|{z{~|}}|||{|{|}|}}{}}|{z|{||{|}{|}|||}{|{{{|z{{|z{||}|{{zz{z{|||}z{||{{zzzz|z{|||{||||{{y{zz|z{{|z|{|||{zzzy{{{|z{{{{{{z{zzz{{{{{{|{{{zz{z{{z|z{zz{}zz{|zz{zz{z|z{{z{zzz{zz{{{{{|{{|{{z{{{z{z{{z{z{{|zz{zzz{zz{{z{{|{{zzzz{{zz|{||{||{{{z{{{z{{|{{{{|{z{|yz{{{{|{{{||z{y{{{{z|{|||||{{{{{{z{{{{|{|{|{{{zz{zzz{|{{{{{|{zz{z{z{{{|{{}z{{z{{{z{{{|||{|||||{{{z{{{|{||{||{{{{z|{{{{|{{|||{z{{{{{{|||{{}||{|{{{|{{{{{|{|{}}{{|||{{z}|{{||||{{{{z{z|||{||}||{|{{{|||{||{}|||||{{{|{|{|||}{}||||{{{|z||{{|}}{{{{{z{{z|{|{{|{{{{z{{zz{||{|}}~}|||||{}}}}|}}}}}|}}{}{|||||||}}{|{{}|{}||||}||{{{{{{z{{}|}{||{|{|{{y{z|{{{{||||{|z{|{{{{|z|{{|{{{{z{{{{z{{{{{{{{{zyzzz|{{{|{{|{{y{{{zz{{||{|{{|{z|zzzz{{|{||||{{{{zz{z{{|z|{|||zz{z{zz||z{|{||{zz{{z{{z{{z{|||{z{{{{{z{{{|{{||{zz{{z{{{|{|{|{|{zz|{{z{{||{||{||{yz{|{{{|{|||||{||{|z{z{|||}{{|{{|{{{{{{||{{|}{{zz{{{z{}{|{{|{{{{{{{|{||||||}}}{{z{{{{{{}||{||||{z{{{{{{|{||{|{|{z|z|{||{||{|}|{|{z||||{|{{||||}|||{{{{{}{}|}|||{|{{{|||{|}{}|{{{{|{{{|||{||||}|{{{{{{{|{{||||{|||{{{|{{|{}{||||{{{zz|{{{||{{|{{|{z{{|{{|||{~|~}||}}||||}{|~~}}}||}{{|{||~||}||{{|{||{{}||||||{{{z{|||{|||z|}||{|{{{{z{|{{||||{{{{|{{{{{|{z}}{{{|{y|zz{{|{{{{{zzzzz{z{{{{{z|||{{|{zzzz{{|{|{{{{z{{{{{|{{|{{{{{|{{{{{{{{{{|{{|{{{{|{{{z{}{{{|{{{{zzz{{zz|{z|||{{|{zz{{{{|{{||{{{{|{{{z{|{|{{|||{{{{{zz{{{||{{||{{{{{{{{{|{|||||{{{|{||{||}}{}|{{z{{zzz{|{|||{}|{{{{{{{{|{{{||||{{{{{{{||}|||}||{{{{{{{z{|||}}}||{{|{{{{{|||}}|||{|}{{|{{|||||||{|||{||{||||}}}||{{z{|{||||}|}}||{{{{z{{|||||||}|{{|{{{{{|{{|||||{{||||||||}||}}{|{{|{{{{|{{|}}{{{{|{{z{{|{|z{||||{y{{zz{{||{~~}}|}}|||}~}|}|}~}||{{{{|}||}||}||{{{|{||||{{{|||}||{{{{{||}||{||{|}{{z{{|{||{|||{{{{|{{z{{{|{|{{{{{{{{z{|{|{{||{{{z{{{{z{{{|z|{|{{{{{zzz|{{|{{{{{zzzz{{{{{}{{|||{{{zz{z{z|{{||||{{z{z{{z{{{{{|||{z{{{{{z{|{{{|{{z{{z{{zz||{z|||{{z{z{{{{{{{{{|||{{|{{{{{}|z|{{||{zz{{{{{|{|{{|}|{{{{{{{y{{||{{{{|{{{{{{{{|||||||{{{{{{z{|{|{|{|||{{{{|{{|{|||}||{{{{||||}}{||||||||||{{{{{{|}||||{|{{{{||}{{|}|}{|}|{{|{{||}{||}}{|{{}||{}|||}||}{{||{z|}{||||||{{{|||{{{|||{||~||||}{{{|||||}{|{{|{{{|{{|{{{||||{{{{z{{z{{|{||{{{|{z|{{{{z{|~~}}}}|}}~}}}}}}}}||}}{|||||||}}}|||z{{|{||||}||||}|||z{{{||}|{}|{{{{z{{{|||{|}|}{{{{{{|{{||{{||||{{{z{z{{||z{|{|{{{{{z{{{{||||{|{{{{{zyz{{z|{{{{{{|zz{zz{|||||||{{{z{z{{{|{|{|{|{zzz{{z{{{|{{|{}||z{{|{zz||{|{|{{z|{{{zz|z{}|{|{|{{z{{{|{{|{|{|}|{{{{{{z{|{{|||}{{|{zz{{{|{{}{|}{{|{{{{|||{||||||{|{||z{{{||{{}{||{||{{||{||{|{{|{{||||z||||||||{{|{{{|{{{{}|||}{{{||z|{|{|||{|||{|||z{|||||{|||||{|{||{{|{|{||||z{{{{{{{}|||||}}{|{z{|||{}}|||||{{|||{{{||||||}}|{{|{{||{|||{||{{|z{{{{|{{|{||}{|zz{{{{|{{||{|{|{}{{{|z|{}{{~~~}}~~}|}}~~}|}}|}}}||||||||||||||||{{{{{{}||||}}}|z|{{{z{{{||||||||{{{{{z{{|{{{{}{{{z{{{z|{{{{|{|{{{{{|{y||||{z{||{zz{z{z|{{||||||{zzz{{z{{|{|{||zzz{z{z{|{{z{{||{|{{{|{z{|z{{z{{|{{z{{{z{{|z{{{{z|{z{z{|{{||{{{{{z{z{{{{zz{{{{||{{{{|zz||||{{||{{||{|{{{{{{|||z|{{|z{{{||||||{|}{z{{{{z{{|||{|||{{{{|{{{|{|||}|||{|zz{{{{|{||||{|{|{{{{z||{{|}}|{{{{}|{{|||||||}|{{{{zz{{||}||{|{z{|{|{z||||}||}{{{{z||{{||||||||{{||{|{{}||||}||{{{{{{||{}|}|}}}{z{{{z{||{|{||}{|z|||z|||||||||z|{{{{|{|{||{|}||{{{{{{z{|||{}||{{{{{{|{{{|||~}}}}}}|}}}|}}|||||}||{}}}|||||||{{{{|||}{||{||{z|{{{z{{||{{||{||z{{z{{z{||{|z|{{{z{{{{{{{|{|{{{{{|{zz{{{|{{{{|z{{zy|{{{{{{{{{{zzzz{{z{{{{{{{||z{z{{zzz{z{{|{{z{{{zzzzz{{{{{|z{{{{{z{{zz{{{{{||{{z{|zz{{{{|{|||{z{|{z{{{|{|{}||{|{zzz{{{{{||||{z{z{|z{z|||z{||{{{{|z|{{{||{|{{|{|{{{z{{{|||}{|{{z{{{{{|{||{{|}}|{z{|{{{{{|{z||{{{{{|{{{{||{|}||{{||{||{||{|{|{}{|{{|{{{{{|||{|{|z{|||{z||||{||{{{|{{{{z{z||{||||{|{{{{{{|{||||||{|{{{|{{||}|{|||zz{{{{{{}|{|}||{{{{{{{z|{|{||{||{{{z|{{||||}}{|{||{{{z{|}{|{{|{|{{zzzz{{{{||~~~~}}}|}}|}}~~}}~}|{||{|}|}}|}}|}|{}|{{}{||{}|||||{|{{z{{{{{{||||{{{|{{|{|{z||{}}|{|{{z{z{{{||||{{zzz{{zz|{{y{}{{{{{{{{{{z{z{{{{{z{{{|z{z{|{{{{{{{{{{z{z{z{|{|{{}|z{{z{z{{{{|{{|||{{z{{zzz{|{{||{{{{zz{zz{|{{z{{z{{{{z{zz||{}||||{zzz{{z{|{|{||||}z{{{{|{{{{|{|{{|{|{{z{{|{|{|{|}{z|{{{{z{||z{||||{{zz{z{{}{{|{|{{|z{{{{z|||{{|||{{{{{z{{{||||{|{{|{|{{|{{{|{|||||{{{{{{{{||{|||||z{{{{{{{}|||||}{z{||{||||}|||||}||{{{{||}|}|||}{{|{{{{|{|}{{|}|{{{|z|{{|{|{|||}||{{||||{{{|||||{|{z{|{{||{||||||{{|{{{z||||{|||z{|z{z{{{z|||~~~}}~~||~~}|}}|}|}}{{|}|}|}||}||{|{|{{|{||{}|||{{|{{z||{|{{|{|{||{{{{z|z||{|{|{{z{{|{||{{{{|{{|||zz{{zz{{{{|z{z{|{{{z|{z{{{{||z{z{{zz{{{{{{|{{{zz{{zzz{{|z{|{{{{{zz{z{{{{|{{|{|{{{{z{zz{{{{{|||{{{z|{{z||{{{{{zz{z{{{z{{{|{{}|{z{{{z|{{||{|||{{{|{{{{||||||{{|{{{|{|{{{|{||{|||{zz{z|{{|||{||{z|{{|{z{{||{|}}|{{{{z{{||{|{|||}|{{|{{||||||||||{{{z|{{{{||||||||{{z|{{{{}||||||{{{{{||{{||{{|}}|z||{{|||||{||||{{{|{||{z}|}}}||{{|||{}{|{}{}||}|{{{|{{{{||{{|}}|{{{|{{||||||}||zz{z|{|{||||}||||{|{{|{{||||}~|{|{{{{z{z|{||{}~}}|}~}|~|~~}}||||{|{|}}}|}|{{{{{}{{||{|||{|{{{|{{{||||{{|}||{|z{z|zz{|||||}|{{}{{{{|{|{||{{{{{{{zz{|{}{{{|{{{{zzz{zz{|||||{{|z{zz|z{{{{z|{|zz{{z{z{z{{z{{|{{||z{z|{{z|}{{|{|{z{{z|z{{{z||z{z{z{zzz{z|{{{{|{zz{{{{{|{{{{|{||{zz{{{{{{{{|{z||z{{{|z{z|{{{||||{|{{{{z{{{|||}{{|{{{{{{|{|||{|{|{z{|{{zz{{|{{{|{{{{{{zzz{|||{|{{{z{{{|{{{{|{{|||{z{{{{{{{|{{{|}}||{{|zz{|||||{|||{{{{{{{|{|||{}|{z{{{{|||||||||}|{{{{{{{{}}|}{||}z||{||||||||}|{{{{{{{{{{{||||}||z{|{{{{||}|}||}|z{{{{z|{{|{|||{|{{{{z{z{|{}{||{{{{z{zzz{{||{~}}~}}|}~~~}}}}}}}|{|{||}}}||}{|||{{|{{|{|{{||{|{||zz{{{{||z{|||{{z{{{y||||{|{|{y{{{z{zz||{z||{{{{zzzyz|{{{{|{{|{z{z{zz{{z|z{||z{zzzyzz{{{{|{{}{{{zyyz{{z{{{{{{zzzzzz{{z{{z{{{{{{z{zz{z{|{{{|{{{{zz{{z{{{{{{{|{zz{|z{zzzz{|z|{|{{zy|z{{{z{z{|{|{z{{{zz{{{||}|||{z|zzzz|{|{||||{{{{z{z{z{|{{z||{{z{{{zz{{{{{{{|{{{{||{y{|{{{{|{|{|{zzzz|{{|}{}||{zz{|{{{{|||{{||{{{{{{|z{{{||{|||{{{{|{{|||||||||{||{||||||{||{||{{|||{{|||||}|{{|{|{{|{{|||{{|||{{{||{{{|{{{||}|{|z|{{|{|{{{}{|z|{{z{{{|}|||{||||{zz{{{||{|{{|{|z{zzz{{{||{z~~~~~}}~}}~~~}}~}||||||}|||}||}|{{{{{{|{||{|{{|{|{||{|{|}{{|{{{zz{{{{z||{|{{{}|z|zzz{z|{{|{{{|{{zz{z{{{{{{||{|zz{{y{{{{{{|{|{|zzz{{yz{{{{{|z||{{{z{|y{{{{{|{|{|{{{z|z{{||{{{{|{zz{{{z{|{z|z{|{{{{zzz{{z{{|{|{{{{{z{{{{{z|{{{|{{y{{{z{z{{z{|{|}{{{{{z|||{{{{|||{{{z{zzz{{||{z|||{z{|z|{{{{{}|{{{{{{z{{z|{{{{|||{z{{{{z{||{{{|{|{{{{z{z|||{|||{}{{|{{{{{{}||{|}|z|{{|{z{{{|||||{|z|z||{{|||{||||{{{|||||{||{|||}||{|{{{{|}|||||||{{|z{|{|||||}||{}z{{{{{||{|}|}|}|||||{||{}|{|||{{|z|||{{|{||{||||z{{{{z{|{||||{{{|{zzzz|{|||~|}}~~}~}}~~|{|{}|}||}}~||}}|||||||{|{{|||||||{z{{{{|||{{{|{|{{{{{{y|||}{||{|z|{{{{zz{{z{|}{|{|{zz{{|{{z{||{{{{z{{{{{{{|z|||{zz{zz{{{z{{|{{|{z{{{zzz{{{z{{||{{{{zz{{{||z{{||{{{{{z{zz{{z{{{|{zzz{{{{{|{{{}{{{{{{z|z{{{||{||||z{{{z|{{|{{{{|{{z{{{{{|{{{{||{|{|{zz{{y{|{{||{||{|{|{|{|||{|||{|z{|{{{z|||||{||{|z{{{z{{||{||}|{{|{zzz{{{||{|{|{|{|{y|{{{{{|||||||}|{{{|{|}{}|{|{{||{{{}|||||{}|}|{z{|{|||||}|}}{z{{|{{{|}|}||{|{{|{||{}}{||||{|{{{|{{|||{{}|}||{{{|{{{|{{|{||}{{{z{{z{|||||{}||{{{z{|{|{||{||||{{z|z{{{{{||~~~}~}~}~~~~~}||||{|}}}||}|}}}|{{|{|{||||}}|}||{{{{{|{|||{{||{z{z|zz{||}|||{{{{zzzzz|{|{{|||{{|{{z{{|{|{{|{{{{{{{z{z{{{{{|{|zy{z{z|z|{{{|||{{|z|z{zz|z{||{|{zzz{{z{z{{|{|z|z{z{z{zzy{{{{{|{{{{{{zz{z||{|{|{{{z{{z|{{{|{z|||{{{{{zz{z||{{{z|||z{|zz|z||{|{{{{{{{z{{{z{{|||{{{{z||{|{||{|||{{|{z{||{|{{{|{{|||{{{{{{{z||||||||{z||||{{||||||{{{|{{{{|z{}{{|}||||||{{{{||||}|{||{|{{{{{|||||}}}{{||{{|y|||||||||{{|{||||}|}||{|||||||||{{||}}|{{||{{|{||||{|{|}{{{||{{|}|||z|}|{{z{||{{|}|{{||{||z{|{|{{}|||||z{{|{{{{{|{{|{~}~}}}~~}~~~~~||||||}|}}}}|}}}|{{{|{|{|}||||{{{{{|z{{|||{{{||||{z{z{{|{{{{||{{|{{|zzz{{{{|||{{{{z|{zz|||{{{|{{{|{{{z{z{{{|{}{{z{z{z{{{{{{|{z{zzzz{zz{{{|||{|{z{zz{zz|{{{{{|{{z{{z{zyz{{zz||{{zzz{{{z||{|{{{|z{z{|{{{{{|{{||{||zz|z{{|||{{|||{{{{{z|{{|||||z|{{{z{{{{|{|z|{|}{{|{{z{{{|||}||{|{{|{{{{{||{|||||z|{{{z{{{{{{||{{{{{{zz|}|||||||{{{{{{{|{|||||{||{z|{|{z|}}||||{||{{{{{z|}|||}|{|{{{z{{{{|{||||{|{|{||{||}||||||{{|}{{{{|}||{||}{{{{{{|{{{{||{|}{{{|{{}||||{||||{{|{{|{{{|||||{{|{||zz|{z}||z|}{{{zz{zz{|{{{{~~~}~~~~}~}}}}}}||~}||||}||{{|{|{|||||}|~|{{{z{{{|||{|||{|z|z{{zz{{|{{|||{{z{{zz|{{z{z{{{|z{{|z{{z|{{{{|{{{{zy{zzz{{||{|{{z|z{z{z{|{|{{}||{{{{|{{{{{{}{}{|{|{zzzzz{|}{z||{{{zzzzz{{|{z||{{{{z{z{{{|{{z|{{{{{{{{{{{{{{{||||{{{{z{{|||{|||}{{{|{{{{|{{|{}{|{{z|z{{z|||{|||{|{z{{{{{z}{{{|||{{{{{{|{{z{|{||{|{{z{{z{|||{{||||{{{{{{{{|||||||{{|{{||{|{{||}||{{{{{{{{{||{||{{|{{{{{{|||||||||{{{}|{|{{}||||}||||{{{{{{|}}}|||||z{{{|z}|{}{|||{{|{{{{|{|{{}|}}|{{|{{{||{|}|{|}{{{z{{{{{|||{|||{zz{z{{z|{||||||{{{z{{z|||z{{~~~~~}~||}}|||}}{}~}}||}{||{|{||{||||{||{z|{|{{{||{|{||{{{z{{{{{z||{}{|z{{|{zz{{}zzz{{|{{|{z{|{z|{{z{||z||zy{zz{{|{z|{}z{zz{{{{z{{{{||{{{{zz{z{{||z{|{z{{{zzz{{zz||z||{{z{zz{{zz{{{z{{z{zzz{z{{{{{|{{|}{{{z{{{{|{{{z{{{{{{|{|{{{||{z{|}|z|{zzz{|{{{{|{|{{z{{z{{{{{{||}{|{{{{z{zz|{{{|{||{{{|{z{z||{||{z{{{|{{{{{{||{||||{{{{{{{{|{||{|{{|{{{{{||{{|||||{z|{|{{{z||||||||{{||{{|||}||{||{{|{{|{{|}|{}}|}|{{{||{{{}}|}|}|}{{{|{|{||||{||{||{{{{z|{{||||}}{|{{|{{{|{|||}|{{||zz|{{|{{{{}|||{{{{|{{{|||||||{{|{{{zz{|||{~~~}~}|}||||||}||}}}{{|{||{{|||}{{}||z{z{z{{|||{{z{||{|z{{{z|{{|{|{}zz{zz{{z{|zz{{||{{{zzz{{z{|{z{{{zyz{{{z{{{|{{{|{zz{z{z{z{{{z|||{{{|{{{zz{{{{{{{|z{{z{zz{z{{|{{|{z{{{{zzz{{{z{|{|||{zzz{{z{z{{|{{{z{{{||z{|{{|{{{|{zz{{z{{{{{{|}|{{|{{{{z|||{{|{{{z|{|z{z{{|{{{|{|{|{{y{{{{{|{{{{{{|zz{zz{||{{{{zz{z{zz{||{{||||||{{zz{z{||||{{|{{{{{{{{{{}{||}|||{z|{{{z|||||||||{{{{|{{||{||||||||{{||{{{{{{}{|{|{|{|{{||}||{||}{{{|{{{|}||||{||{{|zz{||||||||}|{|{{||{||{||}{|{|{y{{{{{|{}|||||{{{{z{y{{|||||{{{{{{{{{{{{|z~~~~~~}}~~}{|}{||~|}||}}}|||||{{z|}||||||||||z{{{{|||{||{{|{{{{{z{}{|{}|{|{{zzz{{{||{{{|{{|zz{{z{{{|{{||{{{zy{{z{|{{|z{}zz{zzzy{{{zz{{|{{{{{z{|{{{{{{}{||{z{zz{zzy|{{{z{{{{{zzz{z{z{{z{|{{{{{{z{z{|{|{|{|zz{{{{zz{{{||{{|z{{{{{|{|{z{||{|{{z{{{{z{{{{z}|{zz|{{{zz|z|||{|{{{|{{z{{{{{{||{|{zz{{{{||{||{{|||{{{{z{{{{{|{{|{|{{z{{{{|{||}||{|z|{z{{{|{||{}|}{{{|{z{{z{{||{|||{{z{{{{||||||||{||{{{|z{|{||}{}||{}{{{{||{{}}||||{}|{||||||{|||{z{|{z|{||||||}||{{{{{{|{|{|||||{{|{{{{{{||{{|}||{{{|{z{}{||{{{|{zzz{z{z{{{{|~}~~~}~~~}}|}|}{|}}|}|}}|{{{|{|{{||||||{|{{{z{{{{{z||||{{{|z{{zz|||||||{{|z{z{{{{{|{z{{{|{{z|{zz{z|z{{{|zzyz{zz{{{{{{{{|zzzyzz{zz{{{z|{{{{{{z{zzz{|z||||{{{zz{y{{{{{{{{{zz{{|z{{{{{{{{{{|{z{z{{{{|{{|{{}{z{{{{{y{|{{{{z|{{{z{{zz{||z{|{||{{{{{|z{{|}{{{{{{||zzz{{|{{|}|{{{|{|z{{{}|{||{|{{z{zz{{{||{{{||{{{{{zz{{{|{{|{|||{{{zz{|||{{||{zz{||{{{{|{|{{||{z|{z|{z|||{|{}|{z|z{{{{{{{|||||{|{{{{{{|{|||||{|{{|{||zz}|||}|||{|{|{|||||||||||{{|{|{||||{{{||{{{{||{||{}|||||{{{z{{{{{|{{||||{{{|{zz{{|{|{{||{{zz{z{z{{{{{~~~}~}|||||}||||}}}}}|{}{|}|{{||||{}|{{{{{|{{{{|||{||{|zzzy{{{{|{|{||{{zz{{{{{|{{|z{{z{{{{{{z{||{{{||{z{{z{zz{{||{{{|{{zz{yzz{{|{{||z{zzzz{{{{{zz||{{y{{zz{{z{{{|z|{|zz{{{z{{{{z{zz{|||{{{{zzz{zz{|z{{{{{{|{{{{{{{||{{z{z{{|z{{|{|{||{{{{zz{zz{z{|||{{{{{{{|z||{{{||{{{{z{{{z{|||{|{|{{{{z{{{z||||{{{{{{{zz{{|{{|{{|}|{{|z|{z{{{}|{}|{{|{|{{}|{||{}{|{{{{{{{{|{||}|||||{{{{{{|||{|||||{|{{{{{{|{||}|}|{{|{|{|}}||||}||{{{{{|{||||{|{{|{{|{{{{{}|{||||||{{||{{||||{||||{||zz{|{|||{||{||{{{{z||||||{|{|z|zz{z{{|{||~}~~~||}|||{||}}|}~}}||{}|{{{}|}{|{||{{{{{{z|{{||||||z{|z{{{{{{||||||zz{|{{{z{{{{|{|{{{{{{z{{{{{{{|{{z{z{z{{{{{{{z{{|z{zz|{zzz|{z|||{|zzz{{zz{{{{|{|{{z|zz{zz{|z|{{{||z{{{zzz{|{{{|{{{{|{{z{zz|{{{|||z{{{z{{{||{||||{|{z{{z{z{|}{{}|{{{{|{{z{{|||||||{yzz{{{zz|{{||{{{{{|{z|zz|{|||{{{{|{z{z{||}{{{}||{{{|{z{||{{|||||{||{|{{{{|{{||{{{|z{{|z{||{{||}|z{}z|{{|}|}{||{{z{|{{{{||{{||}|{{}{{{|||{{|}||||{z{||{{{}|{||}||z|{z{{{|{|||||||{|z{|{{{|||||}|||{|{z{{||{|{||||{{{|{|{{|{|{||{{{z{{{{{{|{{{|{{{{z{{{{z{{||{~~~~~}~|}}|{}{|}}}}}~~||{{|{{||||||||{{|{{{{{z{|||{{||{{}{|{{z{{{|||||{z{{z{{{z{z{z{{{|{z{z{{{|z{{{{{|{{zz{zz{zz{{{{z{{{{zzzzz{{z||{{||{zzzz{{{|{{{||{{z{z{z{z{{{|{|{{{{{z{zzz{{|{{{||{{|z{zz{{zz{||{{{{|{z{zz{{|{{||{{{{z|{{{{{|{|{||{{{{{{{{|{{{{|||{z{zz{z{|||||{||z{z|{z{z{|{|||{z{z{{{|{z|{|{z|{{z{z{{{{{|{{|{|||||{{{z{|{}|||}||{{|{{{{|||{|{|}||{{{{|{{|||{}|{||z|{|{z|{|{{|{{|{{|{{z{||||{|}{||{{{z{|{{}||{||}|{{|{{|{|{||}|||{{||{zz{||||{||~|{{|{z{{|{{||}{||{{{|{z{z|||{|||{|{{{{|{|||{|{||{{{{{{{|{{{||~~~~}~|}{|{|||}}}}}}||{||{||{|||{|||||{|z{{{|{||||{}{z|{{{{{{{{{|{|{|z|||zz|{|||z{|{|{{{z{{{{{|{{z|{{{{zz{z{{{zzz||{|{z{{{{z{{||z|z|{{{{{{{{{|{{||{z{{{{z{{z|{{|||{}{{zzz{zz{|{{|||{{|{z{{z{zz{|{{||{zz|z{|{z{{|{z|{{{{{|{z{{{{{{|{{|{z|{{z{{||||||{|||{|zzz{||z{|||{{{|{{z|{|{{{z|{{{{{{|{{{|{|{|{|||{{z{|{z||{{{{{{|{{{|{||||||z|{|{z{|{{{{||{|{}||{|{{|z|{|||{|}|{{{{{{z{{|||{{|||{|||||||{||||||{}{{{{||{{{||}{}||{|{{{|{|||}|}}||z|||{z{||||}||||{{{{{|{|||}|}||{{{zz{z||{|||||}{{z{{{{{{{||{|{{{{{{{zz{|||{{~~}~~}|}}||}}}}~|}~}}||{|{{{{|}|{|{||{{{{{z{z{||{{|{z|z{{{{{{|{|{{|{|{{{z|{{z{{|z{|}{{{|z{{{|{{|z{{|{zz{{z{z{{{{{{|||{z{{z{{z||{{{{|{{zz{{{zz{{|{{{|{{zz|y{zzz{{}|z{{{z{z{{{z{||{||{|{z{{{{{{{{{{{{{{{{{z{{z{{{|{{||{|{{{|z{z{||{{||{|z{zzzzz|{{|{|{}z{{{|{zz{{{{|{{{{{{z|z{{{|{{{|{|z{|{{{{{||{||}|{{{{|{{z{{||{|{||||{|{{z{{{|||||}{{{{{{}{||{{|{|}{{z{{||z{|{||{|||z|{{{|||||{||||{{|{z|{{|||||{||{{|{|{{||||||||}|{{{{z|{|||||||||z{{|{{|{{||||}}|{{{{{|{||{|{|{|||{z|{{|{|{|{|||{|{{z{z{||}||||||z{{zz{{|{|{|~~~~~|}~}{|||}|}}}|{}|{|||{{||z|}{}}||{{z{z{{{||}|{}|{z{z{{{{{|{z||{|{{z{z{z{z||z{{{||{{{{{z{{{{|||{{z{{zz{{{{{{{{{{{{{{{z{{{z|{{{{||{|z|z{z{{{{{|z{|{{|{z{z|z{{z|{}|{{zzz{zz{{{||{{|{{z{{{zz{|{|{|{|z{z{{{z{{||||{||{zz{{{z{|{|{{|||{z|zzz{z{{{{{{{|{{{|{{{{z|{{{}|{|{{{z{{z{{|{}}|{{z{z{{{z{||{{|}|{{z{{{{z{{{{{||{|{|{{{{{{||}|}{{{{{{{|{{||{|||}||{{||{{|||||{||{|z{{||{||}|{}|}|{{{{|{|{||||}||||{{}|{||}{{|||}||{|{{{{{||||||||{z{|{{z{{|{{{||||{{|{{{{|{|||}|}{{|{{|z{{||||}}|{|{{{z{{{|{|{{}{}{|{{{{{{||||~}~}|||{||}|}}~}}}|{{{|{}{{{|||||||{{|||{{{|{|{{|||{{{z{{{{{{{{{||z|{zz{z{{||{z{|zz{{{{z{{{{|{z{{{{{{zz{{zzzz{|{|{{z{z{{{{|{{|zz{{{{{zyy{z{|{{{z|{{{zzz{{{z{{|{{||{|{|z{{z{{{z{{{|zzzz{{z{z{z{z|{{zz{z{|zz{{{|z{{{||{{{yzy{|}{{|||zzz{{z{|{|{{{|{|y{{|{{{{z||{{|{|{zz|zz{{{||{|||{{{z{{z{z|{{||{|{{|{z{{zz|{||{|{||{z{{z{z||||||{{z|{{{z|z{||||||||{{|{z|{|}|||||||{z|{{{z|}{|||||{|z{{{|{|||{|||{|{{|{|{{{}|}||||{{{|{{z{{|||{|||{|{{||z||{|||{|||{{||{{{{||||{|{{|{z|z{{{||}||||||z{z{{{{{||||}{|{{z|z{z{|{{{~~~~~|}||||}|~}}}|||{||{{|{||}|||}||||{{{|{{{|{{{}|{z{{{z{z{|||{{||{|{{z{{z{|{{|{|{{zz{{|z{|{{{|||{|{{zy{zz{{{{{{{|{z{{|{|z{{{{|||{{zzz{{zy{{|{|{{{{z{{zzz{{|||||{||z{{{{{zz{z{{{{{zzz{{z{{{z{{{{{{{z{{{{z{{|{{{{|{|{{z{z{{}{|{{|||{{{{zz|{{{{|||{|{{{y{{{{|||{|{{{{{{{|y{|{{{{|||{{{|{{|{z|{{||{||{{{{|{z{{{{z||{||{{|{{|{|{{}|||}{{{{{{{|||{||{{||{{z{{zz|}|||||{|{{{{{{{|{}|{}}|{{|{{{|{|{|||||||{{|{{{{{}}|}|||{{||{{|{|||{{||||{{{{zz{|||}||||||{{||{|{||{||{|{{{{{{{{{|||{{}{{{zzz{|z{{|{{{||z{{z{z{z|||{|~}~||}|}|{}}}}}|}}|||{|{{{}||||{}|}{z{{|{|||{{|{||{|{{{{z{|{}|{|||z{{z{{{{{{z{|{{{{{{{zzz{|||z{|{{|y{{z{zz{{{|{{|{zz{|{z{z{|{{{{{{z{{zz{zz{{z{||{{|{{zzz{z||{|{{||{y{{z{zzz||zz|||{y{z{z{z{{{|{{||z{{z{zz{{{{{{|{|{z{{z{{{|{{z{{{||z|z{{|{{|{{{{||{{{{{z{{{{{{{||||{{z{{{z{||{{{{{zz{{{zz{{z{{{{|{|{z{{{{{{{{{{{|z|{{{z{{{{{|||||{{{}z{{||||{|{|}|{z{{{z{{{{||{|}{{zz{{{z{|}||||||z{{{|{{{|{}{|}||}{||{{{|{||{|}}|{{|{{{{||{||||||{|{{|{{|{|{{|||||{{{|{{{||||||||{{zz|{{{{||||{|||{{{{{{z{{||{|||{z{{{z{{{|{{{~~~}}|~|}||}|}}}|||}}{{|{|{|{|}|||{{{{{{z{{||{||||}{{{{{zzz{{|{{|{|{z{y{{zz{|{|z{|{||{{{zzz|{|{{{{z{{zzz{z{{{{z{|{{{{zzzz{z{|{z{{{{{zy{{{{zz{|{{|||{{|{z{{y{{{{{{{{|z|{{z|zz{|{{{{|{|zzzzzz||{{{{{}z{{z{zz{{{|{{{{|{z{{|z|{{{||||{{zzz{zz{||z{||{{|{z{{z{{z{{{|{|{{|{{{{z{{{{{{{|{{|z{{{z{{|{{}{||{z{{{z{{{|{|{||||{{{|{{z{{||||{{|{{|{|{{{||{}{|||{|{{{{z{{|||{{{||{{{|{|||||{||||{{{{||{||}{||}|}|z{|{z|{{~{|||}}||{{|z|||{|||}||{{z|{{z{{|z|||}|||z{{{{z|{||{|||{{{{{|||||{|{|||z{z{{z{{{|||}{|{{|zz{zy{{|||z~~}~~~~{}}|||{|}}}}{}|{{|{|{{|{{|{{|{|z{|z|z{z|||{{{|{{{zz{{{|{{|{{{||{{y{{{{{{{z{||{{{{zzzzyzz{{zz|{{{zz{z{z{z{{{z{{zzzzzz{{{{z{{{{{{{zzzzyzz|{|{{{{{{z{zzzz{|{|{||}{z{zzzzy{{{{{z{{z{{zzz{z{{{||{|{zz{{{{{z{{{|{{{|{{{{zz{{{{{{{{|{{{{{zz{{|z|{{{|{{{{zzz{{||{{{|||{{zz|yzz{{|{{{{||z|{{{z{|||{||{|{{z{z{{{{|{{|{||{{{{{zzz|{||{||{{{{{{{{{z{z|{{{||{{{{{zz{|||{{{|{{{z{z{{{{|{{||||{{z{||{||{|||||||{{{|{z{{|}||}{||{{{{{{{|{||{{||z{{{|{{{{||{||||z{z|{z{||||||||{{{{{z{{{|{||||{{{{|{{|z|{{{{|{|{{zzzz{|{||z{}~~|||}||||{|{|}}|||{{{||{{}|{||}|{z||{{|{{{{{{{|}{{{{|z{z{{{{|{{}{{{zz{{{{{{{z{|{{{|{|{{z{{{z{{{{{{{{{{zz{z{{||{{z{zz{zzz{{{yzz{{{{z{zzzzz{{z{{|{z{z{yzzy{||{{{||{{z{{z|{z{{z{|{|zz{{zz{zy{z|{|{|{zz{{z{{{{{{||{}|{{{{{{z{|{{{|||{z{z|zz{|{||||||{{z{{zz{{|{|{|||{{z|{z|z{|{{|{{{{z|{{zz{|{|{{{||{{z{|{{{|||||||||{|{{zzz||{{|{}|{{{|{{}z{{|||||{{z||z{z{z||||{{||{{{{z{z|||{{|||{{{|{|||{{|||||||{{{{|{{{}{|}}||}{{{{z{z|||{|{{|{{|{{{z||||{|||{{{{{|{|{|||{||}}{|z{{{z{|~{{||{{|{{{{{z{|{|||{}{{{{{z{{z{|{{{}}}~~}~}}|~}~}}}|{{|||||}|||}|~||{|||{{||||||{||{{{{{{z{|{|}|}{{{{|{{{z|{{{{{{|z{z{{{{{{|{{{{|{|{{z{{{{{{{{|{|{|z{{{{{{zz||{{||{{{{{{z{{{||{|||{{{|{{z{z|{{{{z||{{{z{zzz|{{{{{||{zzz{{|z|}{|||||zz|{{|z{{{{|{|||{{zz{z{{|{|{{{|{z{z{{z{{||z{{{||{{z|z{{{||{||||||{{|{{|{{|||{||}|||{{||z}|{|{{||{{{{|{{{|}||{}{||{|{{{{{|{}||||}|||||{{{{||||}}|{{{|z{{{{||||}}||z{{|{{{||}||}}}|{||||}{}||||}|}}}|}|||{|}|{|}}|||||z{{{||}}|{}|||{|{||{{||}|||||||{||{{}}|{{}}||{|{|||z||{}{}|{||{{|{{z{|{|||}{{{|z|z|{||{{|~~~}~}}|}|}|}}~}}}|}||{|||z||{||{|}|{{||z{z{|||||||{{{z{{|{{|{|{|||{|zz|{{|{{|{{||{{{|{{{{{|{z{|{{{{{{zz{y{{|z|{{|||z{{{y{{{||z{{|{{{z{zzy{z|{||{|{{{|z{zz{z{||{{|{{z{{{zzzz|{z{|{{|zz{{{{{{|{{||{{{{z{{{{zz|{{|||{{{{{{z{{||||{|{||{{yzz|z{{|{{{||z{{{{{{{{|{{|{||{{{{{{|{{{{|{{|{|{z|{{{{{|||{{}{|{{{{|{|{{||{||{{z{{{{{{{{{||}|}{{{{{{z{{|{|{|{|{{{|{zzz|{{||||||{z{{z{{|||||||}|||z{|||{|{|{||}|{{||||{{|}|}|}}|{{||{{{||{}{|}||{{{||{{||{||||}{{{{{{|||||{|||{|z{{{{{z{|||||||{{z{{z{|||{|{|||z{{{{z{{{|{{{~}}|}}{}}}}}}}}}}|}{|}{{{}|}{|}|||||{|{{{{{|{||}|{{|{{{|{||{{|{{|{{|{|zzz{|||{{||{{|{{{{z|{|zz{|{{{zz{{{{{{{|z{{{zz{z{{{{{|{{{{|{|{zzzz{{{||{|||{|{z{{{z{{|||{|{||{{z{z{zz{z{{|{{z{{zz|{{z|{z{||zzzz{{{{{{{{|||||{{{z|z{{{||{{|{}{{|{zzz{{{{||{||{{{{z|z{{{|{|{|{|{{{|{{{{|{|||{{|{{|{{|{}z||}|||{{{||{{{{{{{||{|{{|{|{{||{}{}||}|{|{{||{||||{}|}|{{{|{{{{|}{}||{{z{{{{|{|}{|}||{{{|{{|||{||{||||{{|{{|{{{|}|{}}}{|||||{}|{{{|}|{|z{{{|{{|{}||{}||{|{||{z{|||}|}}|{|{z{|{|||||||}|{{z{{|z{{|{||||z{|z|{{{|{||{~}}}|||{|~}|{|}|}||{|||{||||||||||{{{{{{{|{|{|||{|z{z{{z{|||{|{||z{{z{{|z{{|{|{||z{|zzzz{{|{{{|||z|{zzzz{{z{{z|{{zzz{{{{{{{|{{||{z{{{{zzz{|{{|||{{{{z{zzz{||{|{|z|yz{{zzz|{{{{{|{{{{{{{z{{{{{{||{{{{{{{z{|{{{z||{|zz{|{{{{|{{{|{{{{|zzz{{{{{{{|||{{{z{{{{|{{z|{|||{{{|z{z{|{{{{|{|{{zzz{{{}||{|||{{{{{{|{{|}{|||{{{{{|{|{||||||z|{z|{{{|{{|||{|}|{|||zz{{||{|{||{|{{|{{}{{||{||||{{{|{{|{||||{|{||{{|{||{|}{|}}|||}}|{z{{|||{|||||{||{z{{{|}|||||||{{{{{|{{}}{|||{{|{{{{|{||{||}||{z|{{{{z||{{{{}{z|{{z{z{|||{~~~~~~|||||}}||||}}||||{{z||}{|{|}||{|{z{{z{||{z|{{{|{zz{|z{||z{{||{z{{zzzz{{{z{||{{{{zzzzz{{|zz|{|{z{z{z{{|z{{{z{{{z{{{{{{{{{z{{||{{{zzzz{{z|{{z|{z{zzz{{zz{z{z{{{{z{zz{{zz{{{{z|{{zzzzz{zz{{zz{||z{zz{{{{{{{{{{}|{{z{z{|z{|{{|{||{z|{{{{{{{{{z{||zz{|zz|z||{{{{|}|zzz{z{{|{|{{|{|{{|z{z{{{|{{||{{{zz{{{zz||{|{{}{{zz{{z{z|{||||||zzzz|z{{||{|{||}{z{{z{{{|{{|}|||{|{|{{{{|||{|}{{{{{{{||{||{{||{{}{|{{{|{{}||{|}||{||{{||{|{|}|||{z{z{{{{||{{{||||{|{|{z{|{|{{}||{{{{{{{y{{|z|||||{{{z{{{{{|{||||{z{zyz{z|{}|{~~~~}~}}||}}}}|}|~~|||z||{{|{{||}|{{{{|{{|||||||{||{{{z|{{z{{|||{||{{{{zz{z{{|{{{{{{{{|{zz{{|{{{{{{{zz{z|zzz{{||{{|{{{z{{zzz||{{{|{{{{z{zz{{z|||{{|{{{{zz{{zz{|{{{|{z{{{z{{z{{{{|{||{{z{z{z{{{|{{{|{{z{z{z{{}{}||}|z{{z|z{{z{{{{{|{z{{|z{{{{{{|{|||zz{z{zzz{{{{{{||{|{{{|{z{{||{|{|zz{{|zyz{{||z||||z{{{|{z||{{{||{z{{{|{{{{||||}||{{{{{{|{|||||}|}{{|{{zz{|||{{|}||z{{{{|{{||||||||{{{|{}{|{{{|}|||{{|{{|||}|}|||}|{|z|z{{|||}||}||{{{|{|{{|||||}|{z{|{{{||{||||}}{|{zzz{{||||{}|||{z{{{{{||||||||{{|{{{{{|{}|{~~~~}|}|}|||~}}}}}~|}{|{{{{||||||}{|||{{{{{{{{||{||{|zzz|{z{|{{|z{||z{z{{z{{|{z{||{|{zz{{z{{||{|{||{{z{yzyz{||z||{{{zzz{z{z{{{|{{{{{zzz{zyzz{{{{{{|z{{z{{zyz{{{z{||z{zz{zzzz{{{{{z{{zzz{z{z{{{{z|{|{{{{z{yzz|{{{{{|zz|z{zz{|||{{|{||zzz{z{{{{{|{{{|{z{{z{{||{{{z}||{|{{{{z|{|{{|{{|{{{{{zzz{}|{|{|{{{{{{{z{{||{||{{{{{{|{z{||||||||{{{{{z{{|{{{{|||{z{zz{zz|}|{||||{{{z{z{{||{|||||{{z{{{|{z{{{|}|{|{{|{{{{{||{|}|||{||{yz|||||||||}{{{{z{{|z{{||{|{{z|{|zz|}{}|}}|{{{z{z{{{|{{||||||{{z|{{||||z|||{z{z{z{{{|||{~~~~~|}}{{}}|~||}||||{{|{|{||{{{}}|{{z||{{{{|{{z{{|{{{zzzz{{{{{{{z|{{zz{{{z{|{{{{{{|{zz{zzz|{{|zz|{z{zz{|zz{{{{|{{{z{|z|{zz{{{z{{{{{{zzzz{{{{{{|{{{|{zz{z{z{|{{{{{|zzzzzyzzz{zz{||{{{zzz{zz{|{{{|{|zy{z{{zzz{{||{{{{{{{|{{{|{|{{{||{z{{zz{{{|{{{{||{zz{{{{{||{{{|{|{z{{{yz{{|{{z{{{{{|{zzzz{{|z{{|{{z{{z{{{{z{{||||z{y{|{{{{{{{{|||{z{z{{z{|||{{}|}{z{|{{{{{||||{|{{z{z{{|{|{{{{|||{{|z|||||{{|}||||z|{{{|{{||{||}||{{{{{{{|{|{||{||{{{{{{{{||||{||}{{{{{{{}{|{||||{{{z{{{{{{{||{|{{z||{{{z|{{{||||{|{z{{{{{z{{{~~~~~~~~}|}|}||}}~}|}}|{|||{|}|||}||}z||{{{{{{||{|{|{{{|{{{z{{{{{{|{|{{|z{{z{{||{{||{zz{z{zzy|{||{{{{z{{{{zz{{{{|{{{{{z{zzzz{{|{|z{|{{{z|{{z{{{{{|{||{{|{z{{z{{{||{{|{zz{z{zz{zz{{{{{|{{zz{zzz{{{{|{|{{{{{{zz{{z{{{|}{{{{{z{{|{{{|{||{z{{zz{{{{{|{{{{{{|zz{{{{|{||||{|{z{zz{{{|{{{}|||{|{{{{z|{|{{{||{{{{z{z{{|||{{{{|{{z{||z{||{||{|z{{{{{|z}{{|{||{{{z|{zz{{|{{|||||{{{{|{{||}|||}|||{{{||{|{{}|||||{{z{|{|{}{||||||||}{{|{{||||}}{{z|{|{{||||{|{|||{{{{|||{|||{|}}||{{z|z{{||{|||||{|{{{z{|{{{|{{{{z|{z{{{{||{{~~~~~}|~}}}}}|||}}}}|z{{|{|||}||}|||{{{{{{|}{|{}{|}{||zz{|z|{||{|||{{{{{{{{{{||z||{{{z{zzzz{|{{z{{{{{z{{zz{|{||{|{|{{zzzz{{z{{{{{||||{z{{z{{{{{{|||z|{{zz{{{{{||||{z{{{{{{{z|{z{|{}|{|{zzz{y{{{}{{|y{{{z{{{z{{{||{{|{{{{{{{{{{{{||{||{|z{{|{{{|z|||{{|{z{{{|||{{{|||{{z{z|z|}|{{{{|{zz{{{{z}{}{z|}|{{{{{|{{|||{|||||{z{{{{z{{|{||{}{||{{{||||{|{|||{z|{{|zz|}|}||}|}|||z{|||||{|}||{{{{{z|{||{||{||||{{||{z|}|}||||}||||z{{|{}|||}|||{{|{{|{}|{|}}|{{|{|{{{|{|}|||}{{|z{|{||||||||{||{{{{{{{||}{{||{{|{{{zz{{|{|~}}|||~}}~~}}}|~}|{}|{||}|||}|}|||{{{{{{{||}|{}||{zz{z{z{|{|{||||{{z{{{{{||{{{z{|{{{{y{||{{{||{{|{{|z{{|{|||z||{{{{{zz{||{{{{||{{{{|y|z{{||{{{||{zzz{{{z{{||{}|}{{zz{z{z{{{{{}{|{z{z{{z{{|{||{|{z{|{z{z{{{{{|||||{{z{{{z|{{{|{}|zz|{{{{{|||{{{|}{{|{{{{z||{{||||||{z{|{z{|||{{||||{{{z|{{||{|}}{|z{{|{{{{|{{{}{|{{{{|{{{{|||}|||{{|||{|{|||||}|}{{|{z{z{|||||||||{{|{{{{|}||}||||{{{z|||||{||||}|{|{{}{||}}||||||{|{|{{{||}|}{||||{{||{||{{|||}}}{{||z{{||||}|}||{|{||{{|{|{||}{{{{{|{{z{|}|||{|{{||{zz{|||||~}~~}}||}}~|}}}}}}}|{{|||{{{|||{|}||{|{{{||||||||{{}|{z{z{z|{{|{|||{{{{{zz{{{zz{||{{z{{z{z{{{|z|}|{{{{{{zz{|z{|z|{|{zz{{{zz{{{z{|{{|{{|z{z{{{{{}{{|{{{|zz{{||{{||{|{{{{{z{z{||}{}|{|{{{{z{z{|{{{{|{{{zz{{zz}|{{|{||{{{{{{{{{|{|{|||{{{z|zz{{{{|{{||z{z{z{{z|{||||}{||{||z{z|}|{{|{{|{{{|{{z{|{}|{}|{{}{{{|{{|{{{||{{||{{{|{||{|||}{{|{{{|{|{|{|||||z|{{{|{{{||{}|{||{{||{{|||||||}|||{{||{||||||}|}||||{{{||||}||}||||{|{|||||||{}||{{|{{||{{|{{||||{|{{{|}||{||}||{{{{{{{{z||{|||||{{{{||{||{}|||||z{|{{z{}{{{}}~~~~}}|}}|}~}|}}|}|{{|||{{|||{||||||{z{{{{{||||{|{|{{zz{{z{z|{{|||{z{zyz{z{{{z|{z|{{{|z{{{z||{z{|{{|{z{{{z{{{|z{{|{y{zzzz{z{{{|{|{|zz{{zzy{{{z{{z{{{{{z{zzz{{{{|{{{|z{z{zz{{{z{{{{{z{{zzz{z{z|z{||z{{{{{{zz{{}z|||{zz{{z{{{||{{|{{{zzzzy{|{{{|||||z{z{{zz{z|{{|{||zz{|{{{{z|{{{|{{zzz{{{z{{|{{{|{|{{{{z{z{{{{z{||}{z{{z|{z|}||}|||{|z{{{|||{|||||{{{{{{||{|||||{}{{{{{|{{{{|{{||{||{{{{{|{||{|{||{}|{zz}{{||}|||}{|z{|z|{{}{|{||}{||z|{{{{|||||}|}|{{{|{{{{}|{||}||z{z|||{{|{{||{|||{{|{{z{|||{{|{z|{{{{z|{{{|{~~~~|}}}||{|}|}}|}|{{}z{{{{{{|{||||{|{{{zzz|{{|{{||{{|z{{z{|{||{{z|zz{zzz{z{|zz||{{{{z{{{{{{{{{{{{{{{{{zzzy{{{{z{{{{z{{zzz{||z{{|||{{{zyzz{{{{|{z||zy{{{zzzy{|{{{{{{z{zzz{z{{{{{{||{{z|{zzz{{{{{|{{z{{{{{{z{{{{{{{z{{{z{{{{z{|{{|||{z{z|z{{{{{{{|}|{{{{{{zz{{{||{{|{|{z{z{{{~{|{{{|{z||{{z{{|||{{||{{{{{zy{{||{{|{||{{}{{{{|{|||}||z|{|zz{z||||||||{{z{{{z{{{||||||{z{{{z{{{}{{|||}|||{{{{{{{{||}||{z{{z||{{}}|}|{}|{{{zz{{{||{}|||{z{|{{{{||||||||||{{|{{{}||||}|||z{{|{{{{{||}{||||z{{zzz{||||{||{{|z{{{{||||{~~~~~}~}}}{{|}}}|}}}||z{{{{{}{{|{}|||z{{{z{{{{{{|{|{{{{{{{{{{{{||{{|{z{yzzzz{|{{{{|}{z{zz{z{|||{{}{z{{{{{{zzz{{z|z{|{{zzz{zzz|{{z{{{{{z{zzzz|{|{{{{{|{zyz{zyz{{{{z}{{zz{z{{z{|{{{{|{{z{{zzzz{{z{z{{|z|{{z{zz{|||z|{|{{{zz{{{{||z{{{|z|{z{{||{{z{{||{{{{z{zzz{{{{z{||{{{{zz{{{||z|{|||{{z{{{z{{z{{|{{{{y{{z{{z{{{{{|{{|{{{{{{{{||||{{{{{{{{{{|{{|{|||{{{|{{{z{|{|{||||z{|{{{{||||}|}|{{{{{{|{{|{||||||z|{{{zz{||}}||||{|{|{||||}|||}|{z|{{{{{{{}|}{|||z{{{{{{{|||||{|{{|{{{{z{|||||{{{{{{{{|{{||{{{||{{{z{z{z|{{{{}}}}}|}}}|}}}~}}}|{|{{|{|||{||||||||{{{||{{{|{{|{||{|{{{z{{||{||||z{{y{z{{{|{{{{{|||{{zz{|{{{{{{{|{{{zzz{z|{{{{{{{|z{z|z{z||{{z{{{{z{{zzzzz|{|{|{|{{zz{{{z{{zzz{|{{z{z{zzz||{{{{|{{{{{{z{z{{{{{|{{{{z{||z{{{{||||||{{{{{{z||||{{{|{{|{z{{{{{{z|z}|{{{{z{{z{{{|{|||{{{{{z{{{}{{{|}|{{|z{{{{{{|{|{||{zz{z{{z{||z|{}}|{{{zz{{{{}|||{||{{|{{{||{||{{|}|{{{|z{{|||}|||||{{{{{{{{|||||||{{{{{||||||||||}|{{{||{{{}{||||||{{||{|||{{|{|{|||{{||{{|{{{||}||{{|{|{||||}}}||||{zz{{{||{{||||{|{{{z|{{{{{z{{||z{zy|{{{||{{~~}}||}}||}}|}}|{}|}{|}{|{|{||||||{{{{{{{{{{||{|{|||{{{{{{{||{||{{z{{{z{z{{|{{{|{{{zzzz{z{|{|{|{{|zz{zz{{z|z{{{||||zzz{{{{{{{{{{{{z{z{z{z{{{{{{||{|z{|{{{z{{z{{||{{{{{{z{zz|{{{|{{{{{zzz{z{{|{{|||{z{{z|{z{||{{|{|{{{z{{{{{|{|{{{}z{z|{z{{||{{||||{{{{z||zz{{|}|||z{{{|{{z{|{{||||{{{|{z{{{|||||{|{{|{|{{{|{{{|||||{{||{{z{|||||||{|{{{{{{|}{||{||{{{{{{{{{|{||{{|||z{{||{{||{{|}||{{z{|{{||}|||{}|{|{z}|{{|||||||||{||{|||||}{|}|}{{{z{|{||{}{|}||{{{{||{|{|||||}{||{{{|{{|{|z|||{||z{{{{|{||{{{|{zz{z{{|{||{{}~~~~~~}|}}~}||||{||}}}|||{{{{{|||}||}~{{z{{{{z{|}|{||}|{{{{{zz{z||||z}{|{z{{{z{|{{z|||{{{z{{{z{|{{{{{|{z{{{{{zzz{|{|||{zzz{{{{{{{{z|}z{z{{z{z{{{{z|{|{{{{{zz{{{{{z{{}|{{z{z{zz{|{{z{{|{{{z{{zz{|{z{|{{{z{z{|{z{{{{{{{|{z|z{{|{{||z|{{{{{{|{z{{|z{|{|{{{{{{{zz{{z}{{||{|{{{|zz{|||||}{|{y{z{{z{{|{||{|{|{z{|{{{{|||{|{{{zz{|z{{|{{||||||{z{zz{{||{}{||||{{{|{{z||||{|}}|z{{z{{{||{{||||{{|{|{|{{||{|}|{}|{{{|{{|}||||||||{z{z{||{|{||||}{|z{{{{{{|{||}}{{|{||{|||{|{||||{|{{{{{{z||{}|||{{{{{{z||}|{{}||{{z{y{z{|{{|~~~~}}~|{|}||}}}}|||}||||{{{|{|~|||||{{{{{{{|{}|{|||{{{{{{{{|{|{{||{{z{zzzzzz{{{||{|{z{zz|{{{||{||{|{|{{{{zz{{{{||{|zz{z{zzz{{{{{|{{{{{z{yz{zz{||{|||z{{{zz{|{{{||||{{{zzzzz{{{{||{|{{zz|{zz{{{z{|||{z{{|{{z||{{{{{}{{zz{zzz{|{{{}|{z|{{{{z{|z{{{|||{z{{z{{{|{{||{|{{|{{{{{z{|{||{{||{zz|zzz|{||{{|{|z{|{{|{|{||z||}|{{|{{{|{{|{|{|{z{{{{z{{||{||||||{z{|zz{|||z|||{||{{{|z{{|{|||||{{{z{{{|{}|{||}|{{z|{||{{}}|{||||{{|{{||}||{}||}|{|z{{{{{|||}|}||{{||||{||{||{||z{|z{|z{{|{{||||||{{{|z{{||||{|{{{|{{z{{{{||{~~~~~~~}}}|}}||}}}|||}}{{{{|{||{{||||{{{{z{{{z{|{||{|||{{zy{{z|||||||{z{zz{|{z{|zz{{{{{z{{zz{{{z|{{||{{{{zzz{{z{{{{{{{z{{{z{{zz{{|{|{{{{{|z{{z{{|{{|{|{{{{zz{{{||z{|{z{{{{{{zz{{{z||{||z{zz{yz{{{z{{||z{{{yzzz{|{{|{}z{z{z{{{zz{||{||}{zzz{{{z{{{||{{|{z{{zz{z{{||{|}{|zz{}{{z||{||}|{{z|{{{zz{||z{{|{{{{zzz{{{|{{|{{}{z|{{z{|||{|}||||{{{{{|z||||{{}|{{{{{zz{|{|{{||||{|{{z||{{{||}|}||{{{{|z|||{|||||{{{|{{{||||{||||{{|{|{{}{||}}}|}|{zz{z|{{{||||}}{{{{{{|z||}||||||{{{|{{{{}||{{{{{{{{{{{{{|}|{|{|z|{{{{{{{||{~~}~~~~{~|}}|}|~|}}|}}||{{z|z{||{{||||{{{{{{z{{|z}{{|}{{|{z||{|{{|{{{}{{|z{y{{{}|{|{{{{zzz{zy{{{{|{{|||{zzzzzz{|{{{|{{z{{z{{{{z|{{{{{{z{{{{zz{{{|{{|{|{{{{z|zz{z{|{{}|{z{zzzz{|zy{{{{|{{{z{z{z{|{{{|{|{{{{zzz{{{{{{{|{|{{z{{|y||{{{{{{{{{{{{{{{z|z|{{{{{{{{{z{{||{{{}{|z{{{z|z{}{|{{{{{{|z{z|z|||{{{|}|{{{{z{|{|{{||||{{|z{{{|{||||{|{{||{{z{{{}{|{||}{{|{{zz{{|{|||||}{{{{{{{}|{|{|}|{|{{|||{||{|{|}||{{}|||{{|||||||{{|z{{|{|||||||||{{|{||{{}|{{|||{|{|{{||||{|}{|||{{|{{{|{|{||}|}{}{z{{{y{{{|{{{}|||z|z{z{||||~~~~~~}}~|}|}}{}}|}}|}}|}{{||{{{{{|||}|}{{{{|{{z{|||z{|||{{{zzzz|{{{{|||{{zzzz{z{{zzz{{{{{{|{{{{|{|{{|{z{{|{z{{{z{{|z{|{z{{zzyz{{{{{{{|{{zz{z{z{{{{{{{|{{z{{{zzz{|{{|{{||z{zzzzz{{{{{|{||{{{{zzz{{z{||||{z{{{zzz|{{z{{{|{{{{{{{{{|||z{{|{{{yzz{z|{|zz{|{zz|z{{{{{|{|{{||{{{{z{|{{|{{z|||{z{z{{|{{z|{|||{{{{{{{{{|{{|||{{{{{z|{{{{{|}}|{{{{|{{{|z|}|{{}|}{|{|{{{{||{||{|{|zz{{{{{{|{|||||||{{{{{{|}|||{|||{}|z{{{{|{||}}}{{|{{|{{|||{|{|||{{{{{{{{|{{||}{|{|{|{z{|||}||||{{{{|z{{{|{{{|}{|{{{{{{{{|||{|||{{z{z{{{{{z{{~~~}~~~}}}}||}|}|}|}}|}|}}||{{{{{{{z}|}|||{z{z{{|z{{{z{|||z{{{zz{z{{{|{||||z{{z{zy{|{{{{|{|z{z{{{z{{{{z{z|zyz{{z|{{{{{{||{{zz{{z{{{{{{{{{|{zzzz{y|{{{||z||{zzzyz{{{{{{{z||{{z{z{z{zzz{z{{{{{{{z{z|zz{z{{|{{zz{{z{zz{|zzz{|z{{z{{z{z{||z{|||{zzzz{{{{{{{{{{{zz{z{{z{{|||{||{|{{z{{z{|{{|{|{zz|z{z{{{{}{{|||{|z{zz{zz}{{{|{{|{{z{{||{{|||||{{z{{{{}{||{|{|||{{{{z{{y||{|{{|||{{{|z{{||||{|}{{{{{{{|}|{{{|||{{{{{{|{{{{|}{|}~|{|||{{{}{|}||||{z{{|z{{{{{{{|}||{{{{|{{{|}||||}{{{z{z{{||{{{{||||{{{{{{||{|{{|{{{{z|y{z{||{|~~}~}~~~~~}}||}|||||~||~|}{|{|{{||{|{{|{|||{{z{{z{z||{{z{{|{zz{z{{{|{|z{|||{z{|z{{zz{{{{|{{{zzzzz{{|{|z{{{{{{{z{{zz{z{{z|||{zzzz{z{z{{{{|{{{zz{y{yzz{{{z{{{{{{z{zz{{{{|{{|{|{{{z{z{z{{{{{|{|{zz{zy{z{{{{|}|zz{{|{{zz{{{{{{{{|z{{{{z{}{||{{{{{{zzz{{z{z||z{}{{{{z{{{{{|{{|{{|{{z{z{{{{z|||||{{|{{{{{|||{|{||{{|{{{z{|{{|{{{{{{{{{|{{}{{}{|{|{{{{{|{{{|||{|||{|{|{{{{{|||||||{z|z{{{{||{{|||||{|{{z|{|{||}||||{{|{{{{{}{|}|||{{{{{{{|||{||{}|{{{{{{{{||{|{}}}|z{{|{{z|||{||||{|z{{z{z||||{|}{|{{{|z|z{|{{||{|z{{{{|zz{|{{{~~~~~~}~}}||||{||}||{||}||{||{||{|{{|||}{|z{|{{{{{|||||{||{z{{{zz|z|{|||{z{{|{z{{{}||{{{{{{{z{{{z{z{|{{{z|z|{zzzz{|{z{|{{zz{z{zzz{{{{{{{{{{z{z{{{{||z{||{z{z{{z{{{{z|{{{{{z{{{zzz{{z{{{{{{{{{zy{{{|z{|{|{{z{{{{{z{{{z{z{{{{{{|z{{|{{{||||{z{{y{|{{{||{{|{z{|z{{{z{{{{{{||y{{|{z{{{{{|z|}{{{{{{{{zz{}||{|{{{{|{{{{|||||{|}|{{{{|{{||{{{||||{{{{{z{||{}||||{z{|{z{{{||{z||||{{{{{{{|}|}||||{z||{|{{|||{}||||{{|{|{||~||{|{|{||{{{|{||}}|||||{{{{{||{|{{{}|}||{{|{{|{{||||||{{{{|{{{{{{|{||||{{{{{{|{||||{{{{{{z{{{{{||{{~~~~~~}~}~}}}}||{}{|}||}||||{{{|||||||}{||||z{{zz|{{{|zz{{||zzz{zzz||{{{|||{z{{zz{z||zz{{{|{{zz{z{{{{|{{|{{z{zzz{z|zz{{{|z{zz{z{z{z{||z||{z{z{z{|{z{{{{{z|}z{{{{{zy{{{|{{{{{zz{{{zz{|{{{|||{{{z{zzz{{{z|||{{zzzz{{y{z{|{{||{{z|zzzz{{}{z{|||{|{z{|{||{|{{||zz{{{{{{{|{{|||{{z{{{z{{{{{|{{{{z{{{z{z{||||{||||{{|{{{{|{|{|||{{|{{{{{|{|||||||z{{{{|{{{{{|{|}|z{{{{{zz{{|||{|||{{z|{|{||{|{||||{|z{|}||{{{|}}}{{{{{z||{}||||{||||{{|{|||||{{}||||{{{{{{|{||}|}|{{|z{|{||{}|}||{|{{{{{|z||{|}||{z{|z{{z{{{|{{|||{|{{{|{{{{{{}~}}}~}|~~~}}}|}}{|}|}}}|}}|{z{{z|z|{|||||}|{{{z{{{{||{|{||{{{{zz{z{{z|||{|{{{{zzz{{{{||{||{{|{{{zz{{{{z{|z{z|z{{{{{z{{{{{|zz{{zz{z{{z{{{||{{zzz{{{z{{||{|||z{z{{{z{{{|{{||{z{zzz{zz{{{||z|{{{z{|{zz{{|{{||{z{{{{{z{{{{{||{{{{z|zz{{{|{{{{{z{|{zzz|{|{{{}{|{{||{{{{|{{|{{|{|{||{z{{{|{||{{||{{z{z{z{|{{{||{|{{{{{z{{|z{{|||||{z|{z|{{|{{|||{|{{{{{{{{|}{{||{{{{{zz{{|{|{||{{{{{|{{z{|{{||{{{|z|{||{{}|||}||{{|{{{{z{}|||}|||{{{{z{|}||{|||||{{z|{{|{{|||{}||{{}{zz||{{||{~|{{z{{|{|{{}|{||{{||{{z|{{||||||{{|{{{{z{|{|{{~}~~~}}~~~~~}|}}}|||}|||}}~~||{{{{|{|{||||{|{|{{z{|{{{||{}||{{|zz{{{{{{|{{||{{{{z{{{z{{{{|{|{{zz|{{{|{|{{{{{{yzz{{{z{{{{|{{{zz{{{zzz{|||{{{{z{{{{{{{{{|zz{{|{{{{z{{|{{{|{|{{{z{zzzz{{{{{{|{||z{z{z{{{|{|z|{{zzz{{zz{{{{|{{{||zzz{{z{{{{|||{}z{{z{{{{}{{{{|||z{{{z{{{|{||{|||{{{{|{{{{|}|||||{z{{{{zz{|{{{||{|{z{{{{{||||{}{|{|{{{|z{{|||{|||{|{|{{{{}|||{}||{{{|z{{{}}|||{||{{{{{{{{{}|||}|||{{|{||z|||{|{||}|||{||{|}|||||||{|{{{{{{|||{|}{|{{{|{{|{||}||}}|{{|{{{{|||}{||||{|{{|{|{{||}||||{{|{{{{{{|}||}{{{z{{{z{{}|{|~~~~~}}|~~}|}}~|}{{|||{}~|||}||{{||{{|{|{{|||}|}{|{{z{{{{{{{{|{{{|zz|{{{z|{{|{z{z{{{{z{{|{z{|z|{z{z{z{{{{{{{||||zz{z{zz{z{{z{|{z{zz{zzz{{{{{{|{{{|zzzyz{{{{||{}z{z{zzzz{{|{{z{||zzz{{zz{{|z{||{{|{z{z{zzz{z|||{{y{zz{z{|{{{{{||{zzz{z{{{{z{||{|{z{{zz{{{{{|z||{zz{{{{{{{|{{{|||{z{{{z{{{{{{{|z{{zz{{{{z|{|{{|}{{|{|{{{{|{|z{||{{|{{z{{z{|{{||||{{|{{{{{||{|{|||{|{|{zz{{{{|||}{{{{{{z|{|||||||{{{{{{{|{{|{{}||}|z{{|{{z{||||||||{{{z{{{|{}|}||||{|{{{{{{||}{|||{{|{{{z{{z|{|{{||z{z{{z|||{|||||{}{z{{{z||{|{|||{z|{zz|z{{{{{~}}}~}}|}~|~~}}}}||||||{}{|~|||{{|{{{{{||||}|}||{z{{zz{|||{{|||{{{zz{z{{{{{{|{||{zz{zzz{{{{z{{{{{|{{zz{{{{{{{|{z{zz{{{{{{{|{z{{{yz{zzz{z{{|{{|{{z{zz{{{{{{{|{||z{{{zz{z{{{{{|{{|{{zyzzz{{|{{|{{{{{zz{zz{z|{z|{|{{{{{{zzz|||z|||zy{{|z{z{|{z{|{|yz{z{zzz{{{{{{z|z|z|{{{y{{|}{{{|{z{{zz{zz{{|z{|{{{z{{y|z{||{{||{{{z|z{{{{|{{{{{{{zz{{z|z|}||||||{{{{{{|z|||{{}|}z{z|{{zzz|{|||||{z{{{{{z|}||{||||{|{z{{{{||{|{{|{{|{{{{|{}{{||}}{{|{zz{||}}|{{|||z{{{zz{|{z|{|||{z|{{{{|{{|||||}{{{z|{|{{{|{||}||{{|z{z{{|||||{|{{{z{z|{||||{~~}}}}}~~~~}~~|||{|||{}~}|}|}}}||{|||{}||{}||||{|{{{{{{{|{{{||{|{zz{{z{{{{|{||{{{{zy{{z{|{{{||{{{{{{z{{|{{{z{{{|{zyzzz{{{{{{{}|zzz{{{{{|{{z|{{{{zz{|z{{{|{|||||{z{z{z{{{{{{{{{{z{{{y{{z||z|{{{{{zz{zz{{|{{{|{{{{{z{z{y{{{{|{|}z{{{{{{{{{{{|{|||{zyz{{{{{{|{|||{{zz{{|{{{|{{|}|{|{{{zz{z|{||||}{{z{{{z|{|{|{{|{{{{|{zy|{|{{||{|{{{|{{{{||{}|}||{|{|||{{}|{{|||}|{{||{{zz||{|{|{|{{{||{{|}|{||{}{{||||{||||||||||{|{{|{{||}|||}}{{{{{{{{|||||||||z{|{{|{||{|||||}{{z|{|{||}}{|||}z{{{{|{{|{|{|||{{{|{{{z{|||{|{|{{{zz{z{||||{~~~}~}}}~|}~~}|}|}}{|{|}}}{{|||{|||{z||{|{||}||z{{{zz|||{|{{{{|{{|zy{z{||{{|{}{zz{zz{{{{{{{{|{{{{{zzz{|{|{{{{|{{{z{{{|{{{|{{|{{{{zz{{{{{|||{{z{{{zz{z{z{{|||{z{|{{zz{zz{|{|{}{{{{{{z{{{{{{{{||{z{zz{{z|{|{z|{|{z{zz{{z{{|{{{{||{{z{{|{||{{z|||}{{|zz{{|{|{||||z{z{z|{{{||{{{{|{z{{{zz{{}{|||{|{{zzz{z{{||}|{}||{z{{{{{|||{{{|{||{z{{{{{||||{|{|{{z{|{{{{|{|||||{{{zzz{{{{||||||{{z{{z|{|{|||}||{{z{||z{|{{|}|}|{{||{{{{||{}|}|||{|{{{z}|||{||{|z{{{z{|}|{|||||{|{|||{{{|{}||||{{{{z{{{||{||{|{z{{{{|{|{|||{{||{{{z{{{{{{|||~~~}~~||~}}~|}~||||||||}|||}~}{{||||||||||}}||{zz|{z|{{z{{|{|{{{|{{{zy|{{{{{||{{{{{|z{||{z{{{{|{{{{{{{{z{|{{{{{{z{z{{||{|{{{{{z{z{zz{z{z||{{|z{z{z{{{zz{|{||||{{{zz{{y{|{{|{{{{{{zz{z{{{{|z{{{|{zz{{z{{|{{|{{|{{{zz{{{z{{|{|{{{zy{{{{{z{{{{||}{zzzz{{z{{|{||{{z{{{{zzz{{{{|||{|{{{|z|{{{|{{|{||{|{{{|z|}{||||{{z{z{{z|{||{{|||{{{{{{{{{||{||{{{{||{{{{{|{||{{|{{||{{{{|{{|{||||{|z{|z{{{||||}|{||{|{{{||{||}{|||{{{{|{|}}{}||||{{|{{{{|||||}{||{{{{{|||{|||{}|{{{||{{|{{{|||||{{{zz|z||}{||{|{|z{|{zz{{|{||||||||{{z{|{z{z{~~~}{~~||}~||~~}}||z{{{|}}}||{}|||{z|{{z{{{{{{||{z{{{{z{|{||{||{{{{{zz{z{|{{||{{z{{|z{zzz|{{{{|}{zzzzy{z{{{|z{{{zzz{z{{{{{{{z{||{zzzz{{y{{{{{{|{{{y{zz{{{{|z|{{{zz{zz{zzz{{{||||{{{{{{{zz{z{z{|yzz{{z{{z{{|{{{}|{yzzz{zz{|{{{{{{{z{zz{y{{z{|{{{}z{{{{z{{z{{{z{||{zzzzzzz{|{|{{|{{z|{{z{z{{{{{{z{{{z|{{{{|||{z{|{|{{{{z{{z||{|{|{{{zz{z{{||{||||{{{z|{{|{|{{|||}}|{{{|z{|||}||z|{|{{{{{{{{||{||||{{{z{|{{{}||}|{|{{z{|{z|{}|||{}}{{||{{|{|{{{|||||{|z{z{{{||{|{}||{{zz{{{|{{{||||{{{|z{{zz|{{||||{{{{{{{{{|{|{z{{z{z{{{|{|{{{z~~~~}~}|||~~}~|}|||||{{{|}}|||||}{||{|{{z|{}{||||{{|{zz{{|{{||{{|{{|{zz{zz|||{{||{{z{{{zz{||{|||{{z{z{zzz|z|{{{{{zz{yzzzz{{{{z{|{{z{{{{{{{{|{{{{|z{zzy{zz{z{{|{{|{{{{zz{{{{z{{}||{{z{zzz{zz{z{||{{z{z{{{z{|z|||{{{{{{{z{z{{|{{||}{zz{{z{{z||{{{||z{z{{{|{{|{||||}zz{{{z{z{{||{{{|z|{z{{{{{|z|{||||{z{zzz{|{|{{||{|{z{{{{{|{{{{||{{{{{zzz|{{|}||{|{{{{|{|{}{|{{|||{{||{{{{{{|||||}{{{{|z{{{|{{{|}|||||{|{|||||{|||{|{{|{{{||||{|}{{|{{|{z||{{}|{{}||{{{{{|{||||||}{{|z{{{{{||||||||{{{{{|z|{||{|||{{{{{{{z{{||{{|{|{zzz{z{{|{|{~~}~|~}}}}~|}}}}}||{{|{|}|||||}|||{{{z|{{|||||{||{{{z{{z{{{|||{{{{{{{z{{z||{{|||{zz{zz{zz|{|z{{|{zzzz{zz{{|{zz|{|z{{zz{z{{{||{||{{{{{z{{z{{|{{{{{{{zz{{z{{{||{{{{{z{{zzz{z{z{|{{{{z{{zyyzz|z{{|{{|{{zz{{zz{z|{{|{zz{z{zzz{||{{{||z{{z{z{z{{{|{|||{z{z{z{z{{|{|{|{{{z{zz{{|||{|{|||z{{{zzz{{||{{{{{z{{|{{{{{|{|||{{zz||{|{|||{{|{||{|{|{{{|||||}}{{{zz{{{{||{||||||{{{{{zz{||{|{|{|{{{{|{|{{|||||}|{||{{{{{{|{||{|||{{z||{{|||{||}{|{|zzz{||{|{|{||z{{|{{{{{{||{||}{{{{{{{|||{{||||{{z{z{|{|{|||{z||{z{{{z{|||{{||z{{zz{{z||||z~~}|}~}|}|}}}}}}}||||||{|{||||||}}}{{{{{|{||{{|}|}{{{z{z{{{{{|{{{{{{{z{zzz{{{|{|{{{{{{{z{zz{{{z{}z{zzz{z{{z{z{z{||zz{z{{zz{{z{{|{{|zz{zzzz{{{{|z}{{zy{zzz|{{{|z{{{{{{{zzzzz{{{|{{|z{{z{{yzz{{zzz{zz{{{{zzz{|zzz{z{{{zy{zzzz{{{{{{|{z{zz{z{{|{{{{{||{{z{z{{{z{{{|{|zzzz{zz{|{{{||||{z{{{zzz|{{{}|{{{z{{{{{{{|{{{{||{{{{z{z{{{{{|{{{|{{z{{z{{|{{|{||z|{{|{{z||z|{||}{z{{{{{z{{{{|{{}{{{{{z{{{{{{{||}{z|{{{|{{{{|||{{}z{{{|{|{}|{|||||{|{{{{z}|||{||||y{{{z|z{}{{|||||z{|{|{||{|||||||z{z{{{z{|{{{|{||{{{z{z{{{{||{|{{z{z{{{zz|{{{~}~~|}|}~}}|}}}|}}|{|||{{{|}{|||{||||zz{|{|{{{{||{|{zzzz{{z|{|{{{||{{{{z{z{{|{{{z{{{{y{{zz{|{{{{{{{z{z{{zz{{{z{|{{{|zzz{z{{z{|{|{|{z{z{{zz{zz{|||{|{{zz{yzz{|{|||{{z{{zz{z{z{{{{{z{zzzz{zzy{{{{{{|z{{{{zz{z{{z{|{{zz{z{{{z{{{|{{{{{{zzzz{{{{|{{{{{{zz{{zzz{{z{{{{|z{zzz|zz{z{{{{{|{zz{{z{zz||{{|{||{{{{zzz|}|{{z{|{{z{zz{{||{{|{|{z|{{{{zz{|{{}{{{{{z{|{{{|{z|{{|}{{{{z{{{{{}||{{|{{{||{{|||{{{|||{{{|z{{|||{{{{{}{{{{{{z{||{{|{}||{{{{{{|{|{|{||}|{z{{{{{{||||||||{z{{{{{||||||||{{|zzz{zz|||{|||zzz{{{{{{{{{{{|{{{{{{{z{{{{{{~}}}||}}{|}||}}|}||{|{{|||{{}||}|}{|{z{|z||{{{||||{{{{{z{z|{|{|||{|zz{z{{{{|{{{}{{{|{z{{{{{{z{z{{{{zz{{{z{{|{zz||{{{zzz{{zz{{{{|{{zzzzzzz{z{{{z|||{z{z{zy{||{{|{|{{{|{z{zzzz{|{||{zzzzzy{zz{{{{{{{z{yzzz{z{|zz{|{{zz{z{{z{{{z}{{||{{{z{y{{z{}{|{{{z{{zy{{||{{{{|{|zz{zz{{{{{|||z{{{{{z{{{{{{{}{{|{{{{{{z|z{z|{{{||{zz|{{{{z{|{||{|{z{zz{{|{|{||||{{|z{{{|{{{{|{|||{{{|{{z{{||{{||{|z{{z{|{{|z{{|}}{{|{{{{|{{{|||}}|{{{{{|{{||||{|}||{||{{{}|||{{|||{z{{{{{{|||}||||{|z{{z{|{|{{|||{{{z{{{z{{{|{|{||{{{z{{{{|||{z||{{{zzzzz{||{|}~}}}}}|~}|}~|}}}}|{|||{{{{}}}||||}|{|z{{{{|||{{{||{{{{{{z{{|||{||||{{zzzzz{|{{|}||{z{{{zzz{{|z{|{zz{{z{{{{|{{z{|{{|z{{{zzz{z{{{||{{zzzzzzz{|{{{{z{zzz{z{z{{z{{|{|||{{z{{{zz{{|{|{|zzzzzz{z{{z{{{{{{zzyzzzy{|z{{|||zz{z{{{z|{|{{z|{z{{{z{z{{{{||{{{{{zzzz{{|{z{||{{{|}zzzzz{{|{|{|||{{{{y{{z|{|||{|{z{{{{zz|{|{{{|{|z{{{{{{{{|{z||{{{{{{{{z{||{|||||{{{{z{{|{{{|{||{|{{{|zzz|||{{}{{{|{{{z{||{{|}|{{{{z{{|{{{{{{||||{{{{{{||}|||}|||{|{{{|{||||||}{{{{{{{|{{||}}||{{{z{|{{||||}|||{|{{z{{zz{{}{||||{{{{{|{{|{|||{{{{z{zzz{{{|z{{}~~}|~{{}|~~~}}}}~||||||{{}{|||||}|||z{|zz{{|{|}|{{|{{{{z|{|||{|||||{{{{{y|z{|||{|{{zyzz{z{{|{{{{{{{{{{{{zz|{{{|{|{{||z{z{{|z{{{|{zz{{zz{z{z{{{{||{{z{z{z{z|{{{{|}{z{{zz{|{|{{{{}{{zz{{{z{|{z{{{{|{{{zzz|{z{{z|{|{zz{{{zzz{{{{z{|{|zzz{zzz{z{z{{z|||{{z{{{{{|||||}z|{z{{{{|{{{||{||{{{|{{|z{{{{||{{{{{|{z|||||{{|{{{{{{{{{||{|{||{|{|z{z{z|||}||{}{{{||||||{||{||}{{{{{z{z{||||}|||{{{{|{||||{|||{{{{{z{{{}|}|||{|||{|||{|{}||||||{{{{{||{|{||||||{{{{|z{{|||{{|||||z{|{|{||}|||||{{{z{{{z{{|||||||{{|{{{{{{||}{||{{|z{z{z|z||{~}~}}|{|{}}|}}}}}}|}}}||||{||}||||||{{{{||z|||||{|}|{{z{{{{{{||{{{{|{{zzzzz{||{{|{{{{zzzzzz{{|{{|{{{zz{zzz{|z{{||{{z{{zzz{zz{{{{{{{zzzz{z{z|{{{|{|z|z{y{zzz{z|z{|||{{{zz{zz{z{{{{{|{zz{zzz{z{{{z{|{{{z{z{z{{|{{{{{{{zz{{z{z{{{{{{||{{{z{z{{z{z{{{{{{{{{zz{{{{{|{{|}{z{yzzz|{{{{{{{{{z{{z{{{{|{{{||{|{zz{{z{||{{{{|{{{{z{{z{{{{{{z|{z{{z{{{|{|{|{|{{{{zz{{|{|{{|{{||{{z|zz{z{{|||||{{z|{{{{|||{|{|{{{{{{{{|{{||}{{|{|{z{{{{{{|{{|||{{{||{{{{{{||}{{{{z{|{zz||{{|{||}|{{{{{zz{{||{{|}|{{z{{z||{{{|||||z{z{zz{{|||{|{|{{|zz{{z{|{|z~}}~||}|||{||}|||}||{|||{|z|{||||||{{{{{zz{{||{|{}{z{zz{{{{{{{{{{|{{z{zzz{{{{|{{|{|zz{{{|{z{{{{z{{{{zzzz{{{zz{{{z{zzz{{zzyz{y{z||{z{z{zzyzz{{z{z{{{zzzzzzz{{{{{{{{|{{z{zzzz{{{|{{{||zzzzz{zzz{{zz{{z{yzzy{{z{{{{{{y{{{z{{{z{{z|{{|{{zzz{z{{{{{{{{|{{z{zzz{{{{z{z|||{{{zzzy{{|{{{{{{z{zz|{{{{{|z|z{{{{{z{{z{{{{{z{{{{{z{zz{{{{{{{{||{z|z|{{z|{|}{{{{z{{{{{||{{{|{||{{z{|z{zz|{|{|}{||z{{{{zz{||{{|}|{{{{{{|z{{{|||||||{z{{{z|}{{{|{||||{|z{{|{|{||}||{{|{{{|zz|{||{{|{{z{{z{{|{||}|}|{{{z{{{{||||||z{{{{zz{zz|{||||{{zzzzzzz|{{{{}}~}}}}}|}{|||}|}|}|{||{||{{|||{||||{{z{|z{{{||||||{{|{zzzzz||{{||{{{{zz{zz|{{{{|{{{zzz{{{z{{{zz}{{{{zz|{y{{{{z{{{{zz{zzzy{{z{|{{{{yyzy{{zz{{|{z{{{z{{zzzz{|z{{{||||z{{yz{z{{{{{|{{zzz|zzzyz|{{{{zz{{zzzzzzzz{z{||{{zz{{{|z{{{|{|||{{zz{zzz{{{{|z|{{{{z{z{z{{{z{|{|{{{z{zzzz{|{{{{{{z{{{{{y{|{||{{{{{|zz{{{{|||{||{{{{zzzzz{|{|{{{|z{zz{z{z|{|{||||{{{{{|z{{|z{{{{|{{zz{{{{{{{{{{|{|{z{{z{{{|{|}{{{{z{{{z|z||||||||}{|{|z{{||{}{{{|{{{|{{{{|{||||||{zz{{z{{||||||||{{|{{|{{|||{|{|}{z{{{{z{{{{||{|{|{z{{{{{{|{{z|{|{{||{{{z|{{{{~~~}}}{}}}}|~|~~||}||{{{{{{{|{{|||||{{z{{{{||}|z|{{|{{{|zz|{|||{|{{|{{zzz{y{{|{{{{|zz{{zz|zz|z{{|{z{{{zzzz{{{{{z{{|z{z{z{z{{{z{z|||zzzz{{z{{{{{|{|{{zz{{{yz{{z{{{{{{{z{y{{z{|{|{{{{{{{z{z{zz{z{{{{{z{zz{z{{{{{{{|{{z{{z{{z{{z{{{{}|{{{z{{{{{{{{z{|{|{z{{z|{{|{{{|{|{z{{zz{{{z||{{||{z{{{z{z{{|||}z{|{{z{z{z{||{|||{zz|{{z||{|}{{|{{{{{||{|{{{|{||{z{||z|{{{{|z||{{}||{||zz{{{|||}}{|z{|{{{{}{|||{{}|{|{{{|||{||{{||{z{{{{{|{|{|}{|{|z{{|zzz{|{|||||}|{||||z{|{||{||{{z{|{{{||||{|{{{||z{z{z{{z{{z||{{{{{|{z||z{|{||{{{zzz{{{|{|{}}~}}{|}{{{}}}~|}|||z||{{|}||{|}|||{{z{{{{zz|{||||{||{{|{{{{{||{{|{{{|zzz{z{{{{{{{|{|{z{{{z{z{{z|{{{z{zzyz{{z|zz|{{{zzz{{{y{{{z{{z{{z{zz{{{{|{{z{z{{zz{{zy{zz{z|{{{zz{{zz{yz{{{|{{|{z{zzzz{z{{zzz{|{zz{{yzzz{z{z|{|{z{{{zzz{{{y{z{{z{{z{zyz{|{{z{{{y{{zz{zzz{{{z{||z{y{zz{z{{|{|{|{z{{z{z{zz{|}{|{{{{{{z{zz|{{|{{}{{{{|z{{{{{{z{}|{z{{{{{{{{}{|}|{|{{{|{{|{{|{|{}}||z{|{|{{{||||||||{{zz{|{{|{{{{|||{{{{||z{{|||}||{{{|{|{z||}||||{{{{|{z|{||{{{||{|{{{{zz||{||{{}|{{{{{z{{||{}{|||z||{||{{z{{|{|||{{z{{{z{{|{|{{{|{{zzzz{{{{{{{}}}|}||{||{|||}}{}}{|||{{{{|{|{||{|{{{{{zz{|z|{|||}{{{{z{{{{|{{{{{|{{z{z{{z|{{|{|{{{{zz{{yz{z{{{|{{{z{{{{{z{{|z{{{|z{z{zzz{{z{{{|{|{zzzzz{{z|{{||{{{zz{{z{{{{{{||{z{z{z{zyz{{{{{{z{{zzzzzzzzy{{{{|zzz{{{z{z{{{|{z|{zyzz{{{zzz{{z{||{zz{{z{z{|{{{{|{{{{{zz{z{{|zz|||{zz{zzzz{{{{{|||{{{{zz{{{{||{|{z{{zz{{{zz{|{{{|z{{||z{{z||{{z||{|z|{{z{{{{|}|||||{{{zz|{|{z{{||{|{z{{zzz{}{||{|{}{{zzzyz|||{{||||{{|z{{{|{{||}{{{{{{{{|{|}{||{|||{{{{{||||||||{||zz{{{{z{z{{{{|||z|{|{{{|{||{|||{{{z{{z{|{||{{{|{{{{{{z{{||{{|{|{{{z{z{z{{{{{~}}|||{}|}{|}|{|||||{|{|z{{{||{{{|}{{z{{{zy{z{||}|{{z{{zzzz{{||{|||z{z{z{zz|{{{{{{z{{zz{zzz{{|{|{|zz{{{z{zy{{{{z{{z{{zy{zz{{{{{{{{|{{zzzzzzz{{{z{{{zzzz{zz{{z|{{{z{zzzzzzzz{{z{z{{{{{{{{z{zz{{zz|{|{yzy{{{{z{{{{{z{z{{zz{zz{{{{z{|{{zz{z{zz{|{|{{|{zz{zz{{z{{|{{{{{zz{zz{{z{{z{{z{|z{{zzzzz{||{z|z{zz{z{{{z{{{{{||{{{{{zzzz||{{{{{{||{z|{{{{{{{|{{{{zz{{{{z{z{|{{||{z{{{{z||{{{|||{{zzz|z{|||{{{{||{{{{{{{{||z{||||{{{{{{|{{||||||||{z{zz{z|||||{{|{z{{z|{{{}{|{{||z{{{z|zz{{{{z{|{{zzz{z{zz{{|{||{|{z{zz{z{{{|{|{{zz}{{zz{{{|{{}|}|||||{||{}}|||{|||{{|{z||{{||{|||{|{{{{{{z|{{{|{{{{z{z{zz{{|{{z|{z{z{z|z|{{{{|{|{zzzz{|zz{{|{{{{{{z{{z{z|z|{{{{zzz{z{{zz{{y{{{||{yz{{z{{{zz{||{{{{{zzyzy{{{zz|{{|{yzzyzz{{{{{{|{{{{{zzzzzz{{{{{zz{z{zzyzzzz{|{{zz{{z{{z{{{{{{|{{|zzzzz{{|z|{{{z{{{{zzz{z{{{{{z{|zzzz{zzz{{{|{{|{zz{z{z{z{|{{{|{{|zy{|zz{{{|{z{|{z{{z{zz{||{{{|||{{{{{|z{|{{{|{{{{{z{{{{|z{z{|{||{{zz{{{{|{|{|{|{{z{{z{z{|||{{|{|{{||{{{{||{{||{|{z{{z|{{{|{{||||{z{{{{{||{|}{|{{|{{z{{z{z||z{|||{{{{|z{|{|{{{|||z{zz{z{|{{{|{{{{||{{{{{{z|{{|{||{{{{zy{z||||{|}}||||{{{{}}||||}|||{|{z{|{|||||||||{{{{zz{{|||||{{z|{{z{{{{|{{{{{|zz{z{zyz{z|{|{{zz{{{zzz{{z{{{{zz{z{{z{{{z|{z{z{zzz{zzzz{{{{z||{{{{{zyy{{z{z{{|{{{z{z{{z{{|{{{|||{{{zzzyz|{{z{{{z{zzzzzy{{zz{{{{{z{zzzz{z{|zz|{{{zzy{zzz{{|{{{{{{{|{zzzz{{{|{{{||{{zzz{z{{z{z{{||z{|{{{z{{|{{{|{z|z{{z{{z|{|||{{|zz{{zzz{{{{{{|{|||{z{z{||z{{}{|zzz{z{|{||}||}{|y{{z{|}{|{|||{{}z{{{z{zzz||{|{|{{{y{{z{{||{{{{|}|z{{|{|{{{|{{||||z|{{{z{|}|{||||{{{{z{z{{|{|||{|{z{z{|{||{{|}{||{{{{z{{{{{{{{{|}|{{z{z{z|{||{{||{{{{zzzz|{{||{|{|{{|yz{z{|{z|}|}}}{|{{}{||}||}|}|{|{|{{||||||}||{{{{|{{{}||||||}|{{{z|{{|{{{||{{{{{zz{zz{z|||{{{{{{zzz{z{{zy{|||{|z{z|zz{||{{{|||{{{{{z{{{{z||{z{{{zzzzz{|}{{||{{zzzy|zzz||z||{{{{{{{zyzz{{{{|{|z{{z{z{zz{|{|{{{{z{{{z{|zz{{{||{yzz{{z{zz{{{{{{{|zzz{z{{{{{{{{{{{{{{{zz{{{||{||{z{zz{z{z{{|{}{|{zz{{zy{{{{|{||{|{{z{{z{{{{||{{|||{{{{zz{||}|{{z|{{{{{z||{z||||{|zzzz|{{|{|||||||{{{{|{zz{z|||{|{{{|{{{zz||{|||||{{{{{{{||||{|||{{{|{|z{{||{||z||}|{|{{z{{||}{|}{|{{{|{{{||{{|}|||{zzz|{{|||}{||||{{z{{{{{{{||||}{{{zzz{{{|{|{{{zzz{y{{{{||||{~|}{||{|||||}|{|||||{{{{{{{{{|{{|{|{zz{{{{{|z{}|||}{|y{zzzzzz||||||{{|{{z{z{{{{{|{{z|{{{{{{{{{zz{{z{zzz{z{z{z{{{{|zz{{zyzzyz{{{{{z{z{{{{z{{|{z|{{z{{{{{{{zzz{|{{{{}{{zzyz{{zz{|z|{|{{{zzz{z{|{{{{{|zzzzzy{{{{{{||{{zz{z{{zz{{{{{{}|{{z{zz{z|||{{|{|{z{z{z{z{{zz{|{{z{{{{z{{|{{{|{||{z{{{z{z{{z{||{{z{{{{{z{z|}|{z|{{{{{|{{{|{|{||{{{||{{{zzz|||||||{{{{{{{{|||{||||{{{{z|{{|||||||{{{z||{z{||{{|||{{|{{{{||||{}|{|{}{z|{{{{{}{}{|||{{{{|{{{{|{|||||{z|{z{{{||}{{|}}||z{{|{{{{|||||||{{z{z{z|{{|||||{zzz{|{{{|{|{{|{{zzz{{{z{{|{{|}||}}}|{|z||||}|||{{{|{||z||{|{{||||}{|z{{{{{}|{|{{z{{zzz{{{{{|{||z{{{zz{{{{{|z{||{z{zzz{z{z{{{{{{zz{z{zzzzz{zz|z|z{{z{zzz{{{{|{{{zzz{{zzz{{|{{{|z{zz{{{zzz|{{{zz{{{zz{z{z{|{{{z{{{zz{{zzz{zz{z|{{{z{z{y{z{|{z{{||z{{{{{z{{{||{|z{{zz{{{{zzz{{{{||{{z{{yz{{{{||{{{z{{{zz{|{||{{{{|{{{{{z{{{|||{|z{{zz{z{{z{{|z{{|{zzz{z{{{{|{{{{|||z{z|{{{{|{|{|||{|{{|{||{{|{|}{{{|{{{|z{{{|{||||{{{z{{|z|||||||{{|{z{{{z|||{{{||{{|{{{{{{|||||||}z{{{{|{|||{|{||{{{{{{{{||{||{||||z{|{{|{{||z|}}{{{z{{zz{|||||{|z{z{zz{{{z|||{{{|z{{{z{{{{|{{||}|||{||}|{{|{}|}}{||{{z{z|{{||||||z|{zz{z{{|||{|{|{{{z{z{{{|{{||{z{{zzzz{{{{z{{||{{z{zz{zz{|{{{{{z{zzz{z{{{|{{|{{{{zzzz{z{{{{{{z{z{{{{{zz{{{{{{|{zyz{{z{zz{{{{{|zz{{zzy{{{{z{{{|{{zzzyz{z{{{z{z{{zzzzz{{{{{{|{|{zzz{z{{{zz{{{{{||z{zz{z{z{|{{z{||zz{{{z{{{{{|{{{{{{z{{{{z|{{z||{{{zzz{{{zz|{|||{{{z{{{{{{z{|{z||{|{{{{zz{z{{z||{{zz|{z{z{||z|||{|z{{z{{|{|{||{|{|{z{zz{|{|{{{|||{{z{z|{{|||{||{||{z{z{||{{{|{|{{{{{z|{{{{{|{|{{||{|||{z{{{{|{|{|||{zz{z|||{||{{{}{{zz{z{{{{||{||}{{z{z{{{{{z{{|||{{z{zz{{{{{z{|||z{|z{{y{{z|z{}}}|||{{{{}|}{||||}|{{{{{z{||{{|||{{{z{z{{{{|{{z{||{{{{{{z{{{{{{|{zzz{zyzzzz{{{|{{{zz{{zzzzz|{{z{{{{{{zzyzz{{{{zzz{{{yzzzyz|z{{{{{{{zzz{yzy{{{|z{{{{zzzzzz{{{|z{z{{{{{{zzzz{{{zz{{{z{zzzz{zz{{yz{z|{zzz{{zzz{{{{{{|{z{z{{z{{{{{{{|{|{{zyz{{z|z{{z{|{z|zz{zzzzz{{{{{{zzz{zzzz|{{{{z|zz{{{z{z{{|{|}{{|zyz{z{z||{{{||{|{z|zzz{||{{|{{{{{z{{{zz{|{}{{||z{{{{{zz{{{|{|||{{{{zz{z{||{|||z{{{{{zzz{{|||{||{|{z|z{{{||{{|{||z{{zz{{{|||{{|}{{{{{z{{||||{{{|{z{y{{{{{{{|||{|{{{{|{z|}{{{|{{|{{zzz{{{{{{|{{|{{{{{zz|{z||{zz{zzzz{{{{{|{{{{}|}||||}|{{{||{||||{{{{z{|{{{{||{|}{{zz{{z{{{||{||{|zzzzzyy{{{{{||{{z{{{{{z{{|{z{||{z{z{{{zzz|zz{{{{{z{yzz{{z{{{yz{{zzzzzzzzzz{z{|{z{zzzzzzz|{zzzz{{{{{z{y{z{{}{{{{{zz{z{zz{{{z{{|{{z|{zz{yz{zz{|{{|zzyzz{yz|z{||||z{zz{zyzz{{{{{{{{{{zz{zz{{{{{{{{{z{zz{{zz{z{{{||{{{{{{zz{{|{{{{{zyz{zz{{|{|z{||zz{zz{{{{|{{{{{{{zzzz{|zz{|{{{{||{{z{{{{{|{||{{{z{z|{{z|z{|{|{||{|zz|z{zz{|{{|{{||{{{|{|||{{|{||{z{{{{z{}{{{||{||}{{{{{{z|{{{{{|||{||{{{{{{||{|}|{{{{{{{{|{{{{|||{{{zz{{{||{|||{|||{z{{{{{|{|{||{|{|{zzz{{{{|{|{{{{{zzz{zz|{|{~|{{|||{{|{}|||{{|}}|{{{{|{|z|||||{{{{{{{{z{{{{{}|||z{z{z{z{|{{{|{{{z{zz{zz{{||{{{|{{{zz{z{{|{{{{{{{zz{{zzz{{{{z|z{{{{zz{{z{{{{{{z{zzzzzz{zzz{|zz{{{zzzz{z{|z{{{z{zzz{zzzzz{{|{zz||zzzzzzz{{{z{{{{{{{{{{zzz{z{{z{{{{{{z{zzy{{{z|{{{{zzzzzz{zz{z|{{|{zzz{{{{{{zz{||{z{{zz{z{{{{{{|{{{{{{{zzz{z{|{||{{{{{zzz{||{|{{|{|{{{z{{{{|{{{|}{zz{{{{z{||||{|||z|{{{z{{{||||||||zz{{zzz||z{|{{|{z{{{{zz|||z|}||{z|{{{|{{|{|||}|{{{{{z|{{||}{|||{{{{{{{{||{{||||{{{{{{{{{{{||{{}{{z{z{{{|{||{|||z{zz{{{z{{{{|||||{{zz{zz{|||{z{{{z{{{y{z{{|{||}|||||}{|{|}|{||||{|z{{{{|{||{{}z||{z|{zz{|zz{{|||z|{{{z{{|||{{{{{{{{zzzzz{|{|{{{{|{{{zzzz{|{|z{|{{{{{{{z|zz{{|{{{z{zz{{zzz{{{{z{{{{{z{yzz{{{z{{|z{{z{zzzzzz{{{{z{{zzzzyzz{{{{{z{{{{z{z{{{z{{z{|z{{z{zz{{{z|zzz{{{zz{|{{zz{{{{{{{|{zz{{zzzz|{{{{{{{{zzzz{{{{{{{z{|zzzz{z{{{{{{{{|{{z{{{z{{{{z{||{{z{{zzzz{||||{{|{{{zzzzz{{|{{{|{|{{z{{{{z{|{|{{|{{{z{zzzz|{||{{{{|zz{{|z{|z{||||{|{zzzz|z{}{|{|||{{|z{{{{z{{{||{|{{|{z|z|{|||{|||{{{z|z{{|||{|{||{z{|z{{{{|{{|{||{{{{{|{{{{{|{|~|{{{{{y|{{|{||{}|{{{zz{zz|{|{{{{{z{{z{z{zz{|{z}}}||||}{{{||||{|||{{{{{z{{|{|z}{||z{{{z{zz{{}{{|{{{y{{zz{{|z{|{|||{{{zy{{y{{|{{{{|zz|zzz{zz||zz{{||{{zzz{{{{|zz{|{zzz{zz{{{{z{{{{{z{z{zz{{{{{z{{{{zzz{z{zz{{|z{{{|{zzzzz{y{{z{zz{{{{{zzzzz{z{z{{{{z{zz{z{z{{{|{{z{{zzzzzz{z|{{{{|{|{z{zzy{zz{z{{{||z{{zy{{{{{{|{|zzzzz{|{{zz|z{||{|{z{{z{y|{}{{|{|{{{{{zz{z{|{{{|{|{zzy{z{|{|{{|{{{|z{{{zz|{||{|||z|{z||||{{||{|||z}{{z{zz||{|||||}{z{{{{{{|||||{|{{{{{{||{{|}|||||{{{{{{{|}{|}|||||{{{{|z{{|{{}{||{{{|zz{{||||{}|{|{{|{z{{{{|{|||{{{{{z{z{{|{||}||{z{{z{zz|||{}{|{z{z|{|z|||{{|{|||{{{{z{{{{{{|{{{{z{z{zz{|{z{{|}z{z{{zz{z|z{||{|{z{z{{z{{{|}z{{||{{zzz{z{{{|{||{z{{zz{{zz{zzz{{{{z{zzyz{{{|zzz{{{z{zzz{y{|{zz|z{{{z{zz{zz{{{{{{{{zy{zzzz{|{{|{{||zzz{{z{{|z{|{z|zz{z{zzzz{{z{{{z{{{zzzzy{|{{{||{yz{{z{yzz{{z{z{{{z{z{zz{{|{{{{||{{{zz{zz|{|{{{{|zz{zzz{z{z|{z||{{|z|{z{zz||{{|{{{{{z{z{{{|{||z{|{z{{z{|{{{{{{{{{{{{{z{z{{||{{{||{|z{|{{{|{{||||}{z{z{|z{z||{||||{zz{{{{{{|{{{{||{{z{{{{{{{{|||||}{{{{{{{|{{{|||||{{|{|{z{{||{|{{{zzz|z{{|||{z||||{{z{{z{||||{|||{{{z{{{{{|z{||{{z}{{{{{z{|{|{{{|{{{yzz{{{{||||||{{{{{{|{{||{|||||{{{{{z{{{}{{{|}|z{{{{{z{{{||||{{{{zz{{z{{|{{{|{{z{zz{zz{z|z{|{zzzzzzz{z{{{z{{|{{z{{zz{zz{{zz{||{zzz{{zz{{{{{{||{{z{{zz{z{|{{{{{{{zzzzz{{||{z{{{zz{{zzz{{{z{{{{{z{zz{yzy{z{{{{{||{zzzz{z{z{{|{{z{{{z{{z{{{{{{|||{y{{{zz{{{{{{z{{{{{{zyzz{{{{{|{{z{|{zyz{{|{{{z{|{{{{zz{{z|||{{{{{{{zzzzz{{|{{|||{z{{{{{z{||{{{{{|z{z{|{{{||||||||z|{{{{|{|{}{|{{{||z|zzz|{}{|{{|{z{{{z{z|{||}|{|z{{z{{||{|{||||{|{{{{{{|{~{|{||{|{{|zz||{|||}|}}{{{{{{{||{{{{{||{{{{{z{{z{||{|}|{{{z{{{z{{}{|||{|{z{z{|z{|z|z|{z|z{z{z{z{|{{{|{}z||{|{{{|}{||||{|{{|{z{z{{||||}||{zz{z{z{{{{|{|{|z{{{z{{z||{z{{{{{{zzz{z|{{|{|{|zz{z{{{{{|{z{|{{{{{zz{z{|{{{|{{{{zzzzzzz{{{{{{z{zzzzzz{z{{{{{z}{|zzzzz{{|||{|{|{{{{z{{{z|{|{{{{{{zzzyz{zzz{z{|{{{{{zzzzzz{{{|{{{{z{{z|zzz{{{{{{{{z{zz{z{zz{{{{||z{{{yzz{{{{{{}|{zyz{{zz{{{|z{}|||{z{{z{{z{{{{|{|{z{{{zzz{{|{|{|{{z{{{{{{|{|{{||{|{{z|{z{|{||{|||{z{z{{{{{{{}||||{{{{{{{z|{||{||}||{{|z{z}||{{|||{{z{{{z{{||{||}|{{{{z{|{{}||||}|||{{{{{{|||||}}||{{|{||}{||{|{}}{{z{{{{{{|{{z|||{{|yzzz{{{|||{||{{{{z{{{{|{{{{{{{{z{{y{{{z{{{}||{{{{{{{{|{||||~|{|{|{z{{{{|}{}||{{{|{|{{}{|{||{{{zz{|{{zz{z{z{{|{{{{z{z{{{|{|{|{z{zzzz{zz{{z{{{{{zz{|{z{{z{{{{{{z{{{{{{{{{z|{z{|z{zz{yzzz{{z{{{{{{{z{{zz{z{{|{{|{{{zz{{z{{z|{z{{zzz{zzzz{{{{z{|{|{zzzzzzz{{zz{||{zzz{zy{|{{{{{||{zzz{{z{{{{{{{||zz|{zz{{{{{{z||{{z{{{{{{z|{{|||{zz{zz{{z{{{{{|{|{{{y{{{{{{{{z|||{zz{{zz{{{||{|{{{|{{z{{|{{||{|}|{{z{{{{{{{|}{|||||{{{{z{{|{{|}|{|z{{{{{{|}|z{|||{|{{z{|{z|||{{|||{{{|{{{{||||{}|{{{{{y{{|{||}{|}{z{{{||||{|||||}{{{z{zz{|{{|{|}|{{{{{{z{{{{||||||{{{z|{z{|{|{||{{{|{{{zy|{{z||}|z|z{{{{z|{||{{|{|{|{{{z{|||}{{{|z{{{z{{z{|{z|}||{{{{z{z{|{{|{{|{{{zzy{zzz{|{z|{{zz{zzz{z{{z{z}{{|{{z{yzzz{{z{{{z{{zyzzy{{zz{z{{{zzzz{zzz|{{{{{|{{y{{zzzzzz{{|{{{{z{zzz{{z{{{z{|{{zz{zzyz{{z{{{z{{z{zzzzzz{z{{z{{zzzz{zz{z{{z{{{{|zz{{zz{{z|z{{{zzz{zzz{z|{zz{|{|z{{z{{y{{{{{{{{{{z{z{{{|{{{|{|{||{{z{zz{{{|}{{{{{{{{{|{{{|{{{||{{{{{|zz{{{|{{{{|{{{{|{z{{{||{}||{{{|z{{z{{}|}||||z|{{z{{|{||{{||{{{{{{{{z||||{|{|{{{{|{z{{{}||{}{z{{zzz{{|{||{{||{z{||z{|{{|||{||{{{{{{{|{{|{|{|z{{zz{{{z|{{{|||{|zzz{zz{{{{{{{|zz{zzzzz{{{{{||}||{{{zz{{||||{||{||{z{{{{z{{{{|{{{zzz{zz}{{{{{|{{z{{{{{{{{{zz{{{z{{{zzzzz{z{{{{{{{zzzzzyz{{|{z{zz{{zzz{{{{{{z{{{{zzzy{zzzy{{{{|{z{{zz{zz{{z{zz|{{zy{y{yzz{{{{z{z{{zzzzzzz{{{{|{{{zzzz{zz{{z{z{{{zzzzzzzz{{{z{{{{z{zy{zyz{z{{{{|{{{zz{zzzzz~{{{z{|zyz{z|z{{z{{{{{zzz{z{z{{{{z{{|{{z{{zzz{{|||z{{|{{z{{z{{{{{{|{{{{zzzz{z{z{{{{{||{{zz{{z{{{z|||{|y|z{{{{{{{{|{|{}{{{{{z{{{{{|{{|||z{{|z{z{||{{{|||z{{{{|z{|{z|{|||{{{|{y{{|{|{{|||{{{{{|zz||||{|{|z{{{zz|{z|{{|{}z{{{{{{|{|{||{|}{{{z|||{{|{{||{{{{{{{z{zz||{z{{|{z{z{z{{|z|{||||{z{{{{{y{|||}|||{{{{z{|{{|{{{{{|{zzz{zzz{{{{|{{|{{{{{y{{{{||{{|||z{yz{z{{|z|{{||{z{{|{{{{{{{{{{|{{z{z{zz{{{{zz{|{{{{z{{z{zz|{z{{yzzzzyzzzzz{{{{{{z{{y{z{z{{z{|{{z{z{zz{{{{{|{||{zzz{z{|z{{|{z{{|z{yz{z{zz{{z{|z{zz{{zzzyzz|{z{||zyzz{z{zz{|{{|{|{z{|{zyz{{z{{|{|{z{{{zzzz{|{{{{{{zzzzz{{{{{|{|{|{z{zzzz{||{{{|{z{{z{z{z{{||{z{|{z{{{{{{|||{|{|||{z|{{|{{{{|{|{}|z{{{zzz{|||}{{{|{z{{{{zz|}{|||||{{{{{{{{||{{|||||{{{{z|z{||{|{||}{{z{{{{||{|{||{{zz{{{{{z{|{{||||{{|{zz{{{|||{{{{zz{{z|z||{z{|}|{{z{{zz|{|{{|{{|{{{zzzz|z{|{{{|||{z{|{z{{||{{{{{|{{{zz{z{z{{|{{||{z{{{z{z{{{|||{{zz{{zzz{{{|z{}|{zzzzz{y{{{z{|{|||{y{{z{z{{{z{|zzzz{zzyz{{{{{{{{{{{zz{zz{{{{{{{{yzz{{{{z{z{zz{{{{{{{y{z{{{|z{{|{{zz{y{zz{||{|{||zzzz{zzzz{zz{{{||{{{{zzzz{{{{{|zzzz{{zzz||{{||{z{z{{zz{{{{{{z{{{{{{zzzz{{{{{|{{|zzz{zz{y{{{z{|||zz{{{z{{zzz|{|{{{z{{z{{||{z{{{|{{{zz|{{{{|{|z{||{{{z{{{z{{|{|{{{{{{z{{|{|{{|{|||{{{{{{z{|{{}|{{{|{{zz{z{{{{|{}|}z{{{{{{{|z{{|{{|{{{{{|zz{{{{|||||{zz|{{z|{||{{{{|{{z|{{z|{{{{||{|{z{||{{|}{{|}{|{z{z{|z|{{|||}||{{{{{{{z{||{{{|{|{|z{zzz{{|{{||z{||z{{z{{|~{|{|z{|{|zzy{|{{{{||}{{zz{z{{{{{{{{{|{y{y{{{z{zz{z{{{z{{zzzzyz{{{{{{{{{zz{z{zz{{z{{{|zzzzzzzz{z{yz{{{zzzz{zy{{{zzz{{|{zz{zzzy{{yz{{{{{z{zz{z{{{{z{|{{z{z{zzzzz{z{{{z{{{zzz{{z{{zzz{|{{{zy{yzyz{{zz{{z{{z{{zzzzzz{{{|zzz{z{z{{{{{zz{{{{z{y{y{z{z{{|zzz{z{{{zzz|{|{{{{z{zz{{z{zz{{{||{{{zz{z{z{|{{{z{{{z{z{zzz{{{{{{{{{|z{{{{{z{{||{{z{z{{{{{{z{|z{|{||{{|{|zzz{{|{{|{{||{z{zzz{{|{{{||z{|{{z|{|{z{{|{{|z{{{z{|z||{{{{|{{{{z{z{|||{|||||{{{{zz{|{{|z|{|{zzz{zz{{{||{|{|{{zz{zzz{{{{{|{{z{{{z{{{z}{{z|{{{z{y{yzz{{|{z||{{{{|z{{{||{|{|||{{{{y{yz{{{{{{|||{{{{zzz{|zz|{{{{{z{{zz{{{{{{{{{zz{{z{zy{{{|z{||{z{zz{{zz{{z{{{{zz{z{zz{{|z{{|{{zzzz{{z{{{{z{{{{zyzzzzz{{zz{{{{{{zzzyzyzz{|{{{|{{{zzyzzz{{{{zz{|z{zz|zzzzzz{z{|zzzz{zzzyzzz{{{{{zzzz{z{{z{|{{{{{{{{z{zzy{{{zz{z{zyzyyzz{{z{{{{zzz{zzzy{{z{{{{|{{|{zz{yz{{|{|||{|zz{{{zz{{{{{{{||{{zz{zz{z|{||{||zz{{z{z{z{|{{|{{{|{z{z{{{{{|{|||{z{{zzzz{|||{{{||{{zz{{z{{|{|||}{z{{z{zz{{|{{||{|{z{{{{{||{{{{|||{{{z{{{||{{{{{{{z{{z{{{{|||||||{z{{zz{|{{||||||{{{z{{{z{{{||{{{{{{|{{{{{{||||{{z{zzzz{{{||{z{{|{{{{{{{z||{|{|||{{{{zzz{{{{{{|||zz|yzzzz{{|||||{{{{zz{{z{{{|{z|{{zzz{y{{{{|{z{{{{{{z{{z{z|{{{{|z{z{zzzz{{{|{||z{zz{zz{zzz{{{{{|{z{zzzzz{{|{{z{z{{z{{zz{zzz{{{||{{{{zzzzy{{{{{{{|{{zzz{zz{zz{{{{{{{z{zzzzzz{{z{{{{{|zz{{z{{{{{||{{{|{z{{zz{{zz{{{zz{zzyz{{z{z{}|{{{zzz{zy|{{{{{{|{{{zz{{z{{{{||{zzz{yz{{y{{{|y{|z{z{{{{zz{{|{{||||{{z|{z{|{|{{}{|{|{zz{|z{{{{}||{|{{{z{z{|{{|||||{|{{{{{z|{||||}||{{zz{{||||{{||{|{|{{{{{|}||{||||{{{{{|{{||||||{{{{|{{z{|{|{{|||{{{{|z{z|{{|{||}z{{y{{zz{|{{|{}|{{{{z{{{z{||{{|{zz{zz{{{|{|{|{|{{{{{{|{|{|{|{{|||{{{{zz{|{{{{||||{{{{z|z|{{{|||{{|{zzzzz{{|{z{||{z{zzy{z{{|{{{{}{z|{zz{{{{{{{{{{{{zz{zzz{z{{{{{{{{zyzzy|z{z|z{{{{zzzzzy{{{{{z{{zzz{{zzzy{{{zz|z|z{{zzzz{{{|{{|{{{{{zzz{zzz{{{{{{zz{y{zzzy{z{{{{{zzzz{zz{zz{{|{{{{zyzz{{z{{|z{{{{{z{zzy{z{z{|{{|{|z{zzzz{{z{{{{|z{z{{{zzz|z{{|{{||{{{z{z{{{}{{{{||{{zzz{z{{{{{z|{||{z{z{||{||{|||{{|||{{{|{|||{|}{|{{{z{{|||{|||{|{z{z{z|{|{|||{{|{{zzz|{{||{{{|{|{{{{|{{{|||||{|{{zzz|||{{|{|{||{{{zz{z||{{|{{|}{{{{{{z{||{{{||{{|{{|{{{{{|{|||{{{{|z{{z{|{||{{{{z{{{z{z{zzz{|{{{{{{z{|{|{||{{{|{|{z{z{z{|{||{|{|{{{{{|{|{{{z{{{|{{z{zz{{|||{{|||{|zz{{y{|||||||{{{z{z{{z{z{z{{|{zz{{yzz{||{z{|{{{{zzyz{{{{|{{{|z{yz{{z{z{{{{{|{{{{zzyy{z{|{|{{|{{{zzz{{z|{{{z||{{zzzzzzz{{|{z{{{{{zzzyzzzz{{{{{zz{{{{zzz{|{|||{{zz{zzz{{{||{{{|{zz{{z{z{{{z|{{{{{{zz|{{||{{{|{}{{{{{{z{{{|}|{{{{z{{{{{z|||{{|{{|{z|{|{{{{{||{||{{{{{{{z|{|{|{{||{{{{|z{}|||{||||{|{{{{{|{|}|||{|{{zz|{|{||z|{{|||z{z{|{{||||||||{{{{z{{{}{|||{||{{{{{z{|||}{|{||{|z{zz||{{|||||{{{z|{{{||{}|{|{|{{zz{{{{|{|{|{|{|{{{{{z|||{|{||{{zzzy|y{{{||}{|{{{|{z{{|{||{{||{z{{z{{{{{{|{{||{{zz{{{z|{{{|{||||zz{{{z{|{{{z{|{{{{z{{y{{|{{z{|zz{zz{zz{{z{z|{||yzz{{{zz{{{z{{{{z{zz{z{{{{{||{zzzz{{yzzz|{{|{{{z{zzzzzz{z{{{{{{{{zzz{{zz{{|{{{{|zz{{z{z{z{{{{{{{|zyzz{{z{z{{{{zz{{zz{{z{{|{{|{{zz{z{z{{y{zz{{{|zz{{{z{z{|{{{z{|z{{{z{{z|||{||{z|z{z{yz{{|{{||{|x{zz{zzz{{|{{||{|{{{{z{{|{|{z{|||{{zz{{z{{||{|{{{{{|{z{||{{||||||||{{zzz||{}{|{{|z{z{{{z|||{|{|||{{|{{|{||||{{{||{z{{|{{{|||||{||{||{{{|{{{||||||z|{{z{{|{{{|}}{|{z{{{{{{zz{{|||{z{{z{{{|{{{|||||{{{{|{{{}{}{{||{{|{zz{|{z{{{|{{{{z{z{{y{{|{{{{{{{{{{zz{|{|||{{|z{{{zz{y{y{{{||{{{zzy{z{|{{{{{{{{{zz{z{z|{{{{||{z{|{z{{zz||{{{{{{z{zzy{{z{{{z{z{{{zzz{yz{z{{z{{zzzyzzzz{{{{||{|{|z{{y{z{z||z{{{{{yzzzz{z{{{{zz|zz{z{{zzz{{zz{|{|{xzz{zz{y{zy{|{{z{{z{{z{{{{||{|{zzzzzzz{{{|{z{|{zz{{{{{{{{|{{z{|zz{{z{yzz||{{{z{{{{{{zz{{{{|||{{{{{y{{z{{{|{{{}|{{{{{{zz{{{{{|{{{{{{{{{{||{||{}|{{{zzz{{{|{|{{||z{z{|zz{|}|{{|{||z{{{zz{|{|||{||{z|{{{{z|||{|{{||{{{z{z{{}|||}|||{{z{z{{}{{|{{{{{{z{{{{{|{|||{||z{{z|{z|{{z{|~{}|{zz{{{{{{{{{{z{{{|{{{{z|{{{{{{|{{z{zz{z{{|{||{{{{z{|z|zz}{|{{{{{z|z{{zy|{{{|{|{{{zz{{z|z{{{{{{}zz{{zyz{{{|zzz{{{{{yyzz{{z{zz|||{{z{{{zz{{{{{||{|{z{zzzzz{{{z{z{{{zzz{zyz{|{zz{{yzyz{zzz{{{{{||z{{zz{{zzzz{{{{{{zz{zzzy{{{{{{{|{{y{{zzzzz{zzz{{|zz{z{zzzz{z{z|{{zzzzzz{zzz{{{{|zzyzz{zzzz{z{{{{{zy{{zz{{{|||{z{{{zz{zz{z{|{{{{{|z{{z{z{z{{||{|{{z{z|{{zz{{|{{{|{{z{zz{{z{|{{{y{|{{{zyy|{||{{|}|}{{{z{{z{{{{{{{{||{z{{{z{||{{|||{{z{{{{{z|{|{|{}|{{{{{{{{{z{||{{{{{{{{|{{|{{||||||{{{zzz{{||{{|||{{{zz|z{{zz{||||{|{{z{z{{{{{||{{{{{zz{z{|{z|{||{{{zzz{z{||{{{z||z{zz{yz{{{zz{{{{{|{{{z{{||{{{{z|{{{{{{z{{{{{|{||{|zz{{{z{{{{|{|{z{{z{{zz{|{{z{|{|{zzzzyzz{{{{z{{{z{z{z{z{z{{z{|z{{{{z{zzzz{{{{{{|{zzyzzz{{zz{z{{{{{z{zzzz{z{z{{{z{zz{zy{{{{{{{{{{y{zyzyz{{|{{||{{{z{zx{zz|{y{{{{z{{zzzz{{{{{{{{{zzzzyz{{{{z{z{{|z{zzzz{z{{{{|y{{{zzzz{{{{z{z|{{{zzzz{{{{z||{{{|{{zzzzzz{{{||{||{{z{zzz{z|{|||{{||z{{z{{{{{||{||{{{zz{z{{{{{|||{{{{{{{{{{{|{{|{||z|z{{zz{{{|||{}||z{{zzzz{|{}||||{{{{|||{{{{{||{{{zz{{||{{}||{|{}|{{|{{{{{{{{{||{{{{{z{{|z{{{|{||{{{{|z{z|{{||{{}{z|{zz{{{|||||||{|zz{{{z{{{{{{{{zz{z{z{z|{|z{|||z{z{|{z{z{|{{|z|{z{zz{zz{{{{{||||z{{zz|z|{{{{|{{{z{{{{{{{{{{{{{{zz{{zzz{{z{{{|||{{z{z{{yz{z{{||z{{z{zz{{{{|zz{{{{z{zz{z|{{zz{{{{{zz{{{{y{{z{{|{{zzzzz{zzz{zzz{{{zzzy{y{y{{z{{{{{{zz|zzzyz{{z{z{{{{{zz{{zz{{zz{z{{z{{{zzzzz{|{{{{{yzzzzz{{{{{{|{||{{{zy{{{{{{{{{{{{{zzz{zz{z{|{{||{{z{{{z{|z{{|{{{z{{zz{z{{{{{{|{{z{{{{z{{|{{{z|z|zz|z{zz{|{|}|||{{z|{{|{|||||{|{{{z{zzz{|{|{|{|{{{z{z{zz}|{{{|{|{{{|z|{|||{z{|{{|{{{||{z{||{{}{|{{{{{{{{|{|{{||{{{zz{{z|{|{{{{|}|{{|{zz{{{{|{}|{{{{zz{{{zz|{{{|{|{zzz{{z{|{|{{{|{z{zzzzzz{|{{{{|{z{z{z{z|}|z{{{}{|{{{zzz{{{||z|{{z{zzz{z{{{{|{|{zzz{{{{zz{{{{|{{{z{zzzyz{|{|{{{{zz{z{zzzz|{zz{{|zz{zzzyzz{{{z|z{z{zzzz{zz{{||{z{y{z{zzz{{{{z|{{{z{{zyzzz{|{{{|{z{{zz{zzzyz|{|z|{zz{{{zzzzz{z{{{{{zz{zzzzz{{zz{{{zzyz{{zy{{{{{{{|{zz{zz{zz{|{z{{{{z{{{yz{||{|{{{{{zzz{z{yz{|{z{||{{{zz{{{{{z|{{|{{yzzz{{{{{|{{||{zzz{z{{|{}{{|{z{{zzz{{zz|{|{{||{{{{|z{{{|{|}{{{{|z{{z{{zz{||{|}{z{{{{{{{|||{||}}{{{z|}|{|{{|{||}|{{{{{{|||{{|{|{|{|z{{{{|{{|||{{|{{{z{{{{{{|{|||{zzzz{{{||{{||||{{zz{{{{{{{|{||{|{{{{{{z{{||{{|{{z{{zzzzz{|{{z{{|{z{|{{z|{|{{{|{{z{{{z{y{{||{{{{{z|{z{zz{{|z||||{z{{{yzzz{{{z{{{{{zzzzzy{{z{{{z|zz{y{zz{{{|zz{{z{{{{{{y{{{{zz{{z{{zz{zzy{{{{z{z{yzyzzyz{z{{{z{}{|zzzy{zz{{{{{z{{{zz{zyzyz{{{{{||{zzzzzzz{z{z{{z{z{zzz{yz{{z{{{{|{zz{{{zzz{{zz|||{z{{{zz{{z|z{z||{{{{zzz{{{{{{{{{{{zzzzz{{z|||zzzzyz{zzzz{|{{{{{{z{zz{zzz{{{|{||{{{z{{{z{|||{{{||{{z{{{zz{|}|{|||{{{z{z{z{{{{z|||{{{zzz{z{{{|{{{{|{z{|{{{|{{{{|||{z{zz{{{||{||{{||{z{{{{z{|{|{{{{{|{{z{{{{|||{}||{z{{{|{{|{{|{{||{{z{|{{{||{|}||{{{{z{z{{||{{{|{z{z{{{{{{z}||{{||z{|z{zzz{||{{{|||{z{z|{z|z{|{|||z|{zz{z{{{{|z{{|{zz{zz{{{{{{|{|{z{{{{{{zz{{|z{{|zz{zzz{{{{{zz|||zz{z{zzzz{{{{{}{{z{zzzzz{z{{z{{z{{yzzzzz{{{{{{{|zyzzzzzz{{z{{{{{zz{{y|zzz{|{{{{{z{{z{zzz{{{{|{{zzz{zzz{yzzz{{|{|{{{y{zzzz{z{{{{{{zz{z{z{|z{{{{{|zzz{z{zz{z||{{{{zz|{{z{zz{{{{|{{{{{zz{z{{{{{{{|z{{{z{z{zz{|zz{{|{zzy{z{z{{{{{{{{||z{z|{{z{{{{|{{|{zz{{z{{{|{|{|{z{{{zz|{|||{{|||zz{{{{zz{|{|||}||z{{{zz{||||||||{{|{z{{{||{}|||}{z{zy{{{||||||}|{{{zz{{{{|{||}||{{{z|{z}{|{|{{|||{z|{z{z|{{|{{||{z{{{{{{z|{|{||||z{{z{{{{}{{{|{||{zzzzzz{{|{{||{{{{zz{zz{{|{|{{|{{z{{{|z|z{|{{||{z{zz{{{{{z{{{|{|z|{zzzz{{{{z{||{zzzz{{y{{{{{{{|{zz{zzzzz{z{zz{{{zz{zz{{zzzzz{{{zzz{zzy{{{{|z{{{yzzz{zzzz|{|{z|z{z{{yz{zz{|z{{{{{z{{z{z{{{zz{{{{zzzz{z{zz{{y{{||{{zzzzzz{{{{{{{zzz{zzz{z{{|{{{{{z{{zz{{z{{{{z{{|{{{zz{z{{{{{{z{|zzz{z{z{{{|zz{{{{z{{{y|{z|{|{{{|{{{{z{{z{{{z{|{{|{{{zz{{|{|{{{|{zzz{{{{z{|}|||}||{{{{{{{||{{{|||zz{{{{z{{{{|{{||{z{{|z|{|{|{{|}|{{{z{{|z{{{||||{|{{{{{{{|}|{||{|{{{{{z{{|||{{{}{{{z{{zz|{{||{{|{|z{{{{{z|{|||{{|{zzz{z{{{|{{||||{{{{{z{zz{{}{|{{{{{z{zz{{|||||z|{{{{{z{z||}|{{||{{zzzzy{|{{{||{{{{{z{{{{{zz{{|||{{{{{zz{|{{{zz{|{zzyz{zz{{{{|{{{{{{{{zzyy|zzzz{{{zz{{zz{{zz{{{{zz{z{zz{{zz{{|{z|z{{zzyyz{{|z{{z{z{zzzzzzz{|{{z{{{{{{yzzzz{z|{{{{{z{{zy{z{{zzzy{{y{zzzzzz{{{z{|{{z{{{z{zzz{{{{{|{{{zzzzz{{{{{|z||{z{{{z{z{{{{{|{{{{zy{{yz{{{z|{{|{{zz{z|z{{{|||z{zz{{{{{zz{{{{{}{{{{{{z{{{{{{{{|{{{{{|z{{||{|{||{{{{|{{||{||||{||{{|{{{{{{||{||{||{{z{z{z||}z}|||{{{{{|{{||||{|{||z{{{{|{{}|{||{{{{z|z{{||{{{|||{{{{{{|{{{|{|||{|{{{|{{z{|{|||||{z{{z{{{z||{|{{{{{{{{{zzz{|||{||{{|z{{{z{{{|{{|z{{zzz{{{y||{||{||{{{z{y{z}||||{{{{{z{{{zzz{|{{|||{z{z{{z{{|{z{{|||{z{zz{z{{{{{||{zz{zzz{zz{{z{|{{z{z{{z{{{{{{{|{{zy{zzyzy{|z{|{z{zz{z{zzzz{{{{z||zz{z{{{{|{|{{{|{{{zzzzzz{{{{{{{|{{{{zzzz{{{z{{{{{{{zzz{zz{z{{{z{{{zz{z{zz|{{{{||{z{zzzz{{{|{{z|{{{{z{|zz{z{{{{{|{{{zzz{{{{{{{||{{{{zzy{zz{{|{{{{{{{{z{z{||{{{{|{z{z{|z{z||{{{|{{|{{{{{{{||{{||||z{|{{{}{{||}{||||z{{{{{z|||{||{|{{z{{|{{{}||{||}|z|{{{{{{|{|}||||{{|{{|z{}|{|||||{{{{|{|{|{{||}{{{{||{{{{|z||}}|||{|{{{{{{|||||}{|{{{{z{|{|{{|{|{{{|z{{{{|{|{{{|{{{zzzz{{{|z{{||zzzyzzzzz|{z|||{|zzz{zzz{{{{{{||{z{zzz{zz{{{{||{{z{z{{zz{{{{z|z{zzz{zzz{{z{|{{|{zzzzzzzzzz|zz|{{{z{zyzz{|zz{{{{{{{zzzz{zzzz{{{z{zzyzzyzz{{{zz{{{zzz{zzzzz{|{{{zz{zzzzzzzyz|{z|{{{{{zzzzz{zzzz{{{zzzyz{z{zzz{z{{{yzzy{zzz{{{zz{z{{z|zzyzz{|z{{|{{{zz{zz{{{{{{{{{{{|{zzz{zz{|{|{{|{{{zzzzz{|{{|z{|zy{|z{{y|{{{{{||{zzzzyz{{{z{{|{{|{{{{{zzz{{{{||{{{{{{z{{|||{{{{}{z{{{zzzz|{|{|{z|z{{{{|z|{{|z||{|z{{|{{{{|{{{z|||z|zzz{z{|{|||||{z||{z{{|{{{{||{{z{{|{{{{{{|||{||z{{{{{|||{|{{|||y{{{{|yzz{|{{||{{z{z{z{{|{{{|{{{{{|yzzz{{{{z{|{{{yz{y{{z{{{{{z|zz{{{z{z|||{|{{{zz{z{z{{|{{{{||{|zy{zzz{z{{|z{{{|zzzzzzz|z{|{|z{{z{{zy{y{{{z{{{{{{yzzzzzz{{zz{z{{zzzz{zzzzz{{{{{yzzz{{zz{{{{y{|{z{zzz{{z{{{{z{z{{z{{zzzz{{{{{||{zz{z{yzzzz{{{y{|zzzzzz{zz{{{z{z{{zzy{y{z{{{{z{{{{zzz{zzz{zz{{z|{zzzyz{{{{{z{{{|{zzz{yy{{{zz{{{{{z{{zzz{z{{{z{{{{z{{{{z{z|{{|{{|{{{{z{{{{{{{{{|||{z{z{{{z{||{|{||{z{{{{|{|{}{|{{{{{{{{zz{{||}|{|{{z{z{{{{{|{|}|}|{{z{{z{{{||{|||{{{{{z{|{{|{{|{}{|{{{{{{{||||{|{{{{{|{{{{|{||||{|{{|{{zz{{|{|{|||{{{zz{z{{|{{||}{{zzz{{{{{|{{{{{{{|{zzz{zz{z{z|{|{{{z{zzz{{{{z|{|z{{z{z{zz{z{{}|{{z{z{zz{z{{{}|{{zz{zzy{{{{|{{z|{|{{zyzzz{{{|z{{|zzzy{z{z{|{{{{z{zzzyzzz{{{|{z{{{{{zzz{z{zz{zz{{|zzzzz{y{{{y{{z{|{z{zz{zz{z{z{{{|{z{zzyyz{|z{{{z|zz{zyzzzy{{{z{{z{{zzzzzz{{{z{{z|zz{zzzz{{z{z{z|{z{{zzz{z{{{{zz{{zz{zzz{z{|{{{|{|{yzzzzzzz|z{{{{||{zz|{{z{|{|{{{{{zzzz{z{{{{{{{~{|{{|{{z{|{{{{|{{{zzz{{z{{{{{}|||z{|z{z{{{{|{||||{{z{|{{zz||||||||{{{{{{{{||{|{{||z|z|{|{{{{||}|||z{z{{{y{||{||||{z{{{z|{{{{{|||||{{|z{{{{||{|{{{{zz{|{z{|{{}{|||{{{{{{{z|{{||{||{|{{{z|z||{|{||{{{{{{zzz{{zz{{{{{z{zzyzz{||{{z|{{{{zzzzz{{|{|{|{{{{|z{{z{{zz{{{||{zz{z{{||||{z{z{zyzz{zxz{{{{{{{z{zz{z{y{{{{{zzz|z{z{{z{{{{z{z|{z{zzzzy{{z{|{{{|z{yz{yzzz{{z{{{z{{zzzzz{zz{{{{{{z{{zzzzzz{{|{{{zz{zzzzzzz{{{zzz{{z{y{zzyz|zz{|{{{zzzz{zz{{{{{|||zy{zzz{{z{|{{{|{{z{{y{{z{{{{{{{{{z{{zzzz{{z{||{{{z{z{{{{{|{{{|{|{{z{{{z{{{|{{{|{{{{zz{y{{|{{{{{|{z{z{z||{{z|{|||zz{{{{{{||{}||||{{{{z{z{{|{{{||||z{{{{{{|||{||{|{{{{z{{{|{|{|||{|{{{z|{{{|{{{|||{{{|zz{{|{{|||{|zz{{{z{{|zzz{||||{|{{zz|||||{|||z{{{{{|z|{{{{|{|{z{z{{{z{{{{{{{{z{{zzz{z{{|{|{{{{{z{z{zyzzzz{{||{{z|{zy{{|{{{|||{{{z{zzz|z{z{{||zzzyzzz{y{||{{{{{z{zzz{z|{{{{{{{z{zzzzzzzzzz|{|{{{{{zzy{zz{zy{{zzzzzz{zz{y{{{{{{zzx{zzzzyz|z{|{y{zz{yzzzz{{{{{{yzzzzzzzy{{{{z{|{zy{zzzzz{{{{zz{{{z{zzzzzzz{|{{z{z{{zzzyzzzz{{{z|zzz{{{{{z{{{z{{{{{{zzzy{{{{{z{{{z{zyzzyy{|{{z{{|{z{z{z{{{z||{{{{{z|zz{zz||||{||{{zz{{{z{{{{{{|{|{z{{{{{{{|{|||||{{{z{||{{|{||{}{{{y{{z{z{||{{|{{|z{zz{z{|||||{||{{|{zz|{{|||{|{||z|zz{{{|}{{|||{{z{{{z{{{|{{{||{z{{{{{z{{{{{||{|{z{|{zzz|||{||{|{{|{zzzz{{{{||{{{z{z{zz{{{{|{|{{zzzz{zzz||||{||{z|z{zz{z{z{{z{||{{z{z{z{z||{{{{|{{|z{{zz}z{{{{||{zzzzzyzz{{zz{|{{zzz{yyz{z{{{{{{{zzzyzzzz{{z{z{{z{zyzyyz{{zzz{{{{zyzzyzy{zzz{z{|zzzy{z{yz{{z{{{{zzzyzzzzz{{{{{{zzz{zyyzz{|{|{{{{z{{{zzzzz{{z{{z{|z{zzy{{{z{{zz{{zz{{z{zz{{{z{{}||zzz{z{zzzzzzz{{{z{{xzzz{{{{z{{|zz{yzz{{zz{{{{{{zzz{zyzz{{{||z{{|z{{{zzz{{{zz{{|{zzzzzzzz|{{|{||zz{{{zz{{{|{{|{{z{{{{z{{|{{|{|{|{{{z{{{{{z{|{{{{{zz{{zz{{|{{z||{|{{z{{{|{||||||||{{{z{{{{||}{{{{|{{{{{{{{}{{|{|{{{z{{{{{|{|z{|{|{{{{{z{{{||{{||{z{{z{{zzz||{||{{zz{z{z{z{{{|{{{|{{{zz{zz{z|{{|{{z{zzz{z{z{{{{{{{{z{{{{{z{{{|{{{|zzz{z{{{{zz{{{{{{{{{zzyz{{z{z{{{zzyz{zzzz{{{{{{{{zz{{yzz{{zz{{|{{{zzzzzz{z{{||zzzyyzzzzz{{{{z{z{{zzzzzzzz{{|{{{zz{zzz{zzzz{z{|z{zzyzy{zzz{{{{{{{zz{zyzzz{zz{{{z{{yzzyzzzz{{{{|zzz{z{{zz{z{zz{{{z{zyzzy{{{{{z|{|{zzzz{z{z{z{{{{||zzzzyzz{z{{{{z|{zz{z{{z{{|{||{|{{zz{{zz{{{{{{{|{{zzzzzyz{{{|{{||{z{zzzzzz{zz|{{{z{{zz{{{{{{|{{}|{{{{z{z|{{|{|{{{{{{z{{z{{|{{{||||{{{{{|{z|{{{|||{{z{z|{{{{||||||||{{{z{z|{{|||{|{zy{{{{{{|z}|{||{|zz{{{{{{{|||||z{zyz{z{|{{{{{{|{{z{{z{z{|{{{|||{{{zzzyzz{{zz{||zzz{|zzz{{||{|{|{{z{zzzzz{|{{{|{{{zzz{{z{{{z{{||{{zz{z{z|{{|z{|{{{zy{{zz{{{z{{{|{z{{{zzzz{z{z{|{zzz{{zzy{{{{{{{{{zzz{zzz{{{{{|{zzzzz{zz{{{{{{z|z{{zzyzyz{{z{|{{{{zzzy{zzz{z|z|{{zzzzz{zz{{{zzzz{zyyzz{zzzzz{z{{zzzzyz{{{z{{z{{||{z{zzzyzz{{zz{{{zz{z{z{{z{||{{|{zy{zzz{{{z|{z||{yzzz{z{{z|z{{{{{{z|{{z|z{{||{{||{z{zzzz|{|{z{{{|{zzz{z{{{|{|{{|z{{{{|{{{{{{|{|||{{{{|{z{{{{}{{{{{{zz{z{z|{{||}||{{{zz{||{|||||{|{{|zz||{|}||{|}{{{{|{{{{{|||||||{z|z{z|z{|{||||}|{{{{{{{}|z|{|{}|{zzz{{{{|{{{z|{{{{zzz{z|{{{z{{{z{zzzz{z{{|z{|{{{{zz|zzy{{|{|z{|{z{{{zz{{{||||{{{zzzzy{y{{z||||||z{zzzz{{|||z{{|{{{z{zzz{{{{{{{{{{zz{{{{zz{{{z{{|{{zzzz{z{|{{{{{{{zzzzzzzzz{{{{{{{z{{z{z{z{{{z{z{y{zzzyzzzzz{{z{zzzzy{{y{z{|{{|{zy{z{zzyz{{z{{{{zzzzzzzyz{{|{{{{{{zz{{{{z{z{z||{{z|zzzzz{|z{{{{|zzzzz{{z{{{||{|}{zzz{zyz{{{{|{{{{{{{{z{{z{||{|{|zz{yzzzz{{{{{{|{y{{{zz{{z|{{{{||{{z{|z{{z||{{||{z|{z{{{|||{|z|||{||z{{{z||||{z||{z{z{{{{{||{||||||{|{{||||{||||||{{|{{{{{{{|z}||{{{|{{|{{{{|{{|{|{{z{{|||{|{}{}|{{y{|{{{|{{||{|{|{|{{{z{|||{{{||{{z{{{{z{{{||{|{{{{z{z{{z|{|{|{|z{zz{{{zz|{|z{||{z{z{yz{{{{||{{{{yzz{z{z{{{z{{||zzz{z{{z{{z{{z{||zzy{zzz{{{{{{{{yz{zz{zz{{zz|z{{{z{zzzzzzz|z{|{{{{z{zzzz{{{{{{|{z{zyzzzzz{{zz{z|{zzzyzy{{{zz{{{{z{zzz{{z{{z|zz{{zz{zzyzzzz{{z{{{{{{z{zzyzzz|z|{{zzzzzzzz|z{{{{{{y{zzzyzz{{{{{|z{{z{zzz{z{{z{{|{{{{zzzz{z{||z|{|{{{{{{y|z{z{{||||z{zzzzz{z{{{{{|zz{z{{z{z|{{{{{|z{{{{z{{{{{|{||}{z{{{{{{{{{{{{|||{{|{{{zz|}{||||{{zzzzz{z|||{||||{|{{z{z|||||{{{||{{{zzz{z{{|{}|}{{{|{z{{{|{|{{{{|z{{z{z{|{|{{{|}{{zzz{|||z||||{||{{zz{zzz{{{|||{{{z{zz{{{|||{{{|{|{zzz{{|z{{{z{|{{{{zzz{z{{|{{{{{z{zy{{{{|{z{{{|z{zzzzz{{||{z{|{zz{{yzzzz||{zz||{{zzzy{z{z{|{{{|zzz{z{{yz{{{{{|{{{zz{{|{{{|zz{{z{zzzzzzz{{{{z{{{zzzyyzzzz{{z{z{|{zzzz{zz{{{{{{{|{zzzy{zz{z{{{{|zzzzyzz{zzz{z{{{yzzyzz{zz{zz{{|{{zy{{z{{yz{{{{{|{|z{y{{zz{{{{{z{{z{zzzzzzz{{{{{{|{zzzy{z{{{||{z{|{zzz{z{zz{{{|{{{zzz{z{{{{{{|{{|z{zzz{|z|{{zzz{{{{{z||{zz{{{||{|{{{{{|z|{|{{{||{|{{{{z{z{|{|{{|{||{{{{{zz}|{||||{|{{{z{{|{|{||}|||{{{{{{{{}{{|{||{{{|{{z{{|z{||}{|{{z{z{{{|{z||}}|{{{|{{{||{||{{|{{|{z{{{{{{|}{||z|{zz{{zz{|{{{{{{z{yz{z{{|{{{|||{{{z{zzz{z{zz{|{z{{zzz{{{{z{{{|z{{{zz{yz{{{{||{{{{z{zz{{z{{{zz{{{|zzzyzz{{|{z{{{{z{zzzzz{{{zz||z{{{{zz{y{{{zy{{z{zzzzyz{z{zz{{{{zzzzzzzz{{|zz{zz{zzzzzz{{z{{{z{zzz{zzzzz{{z{z{{{{zzzzzzy{zz{zz{zzyyyz{{{z{{{z{{{{z{{{{z{zz{{{{{{zzzzzyzz{{{{{{{|{{zyzz{z{{z{{{|{zz{zzz{{z{|z{|zz{zzyzz{z{z{{{}{{{{{zzzz{{{{{z{{{{zz{{zzz{||{{{{{zzzz{z{z{|||{{{|z|{{{z{z{{{{|{{|{z||{z{z{{{{|||z|zz|{zz{|{{z{{||{z{{z|z{z{{z|{{{|{{{{{{{{||{{|||{z{{{{z{{|||{|{||{z{{{{|{|{||{||{{{{z{zz{{|||||{{{|z{zzzzz{|||}|zz{z||z|{|{|z||{z{{{{yz{{{|{{z{{zz{{{{zz{z{{{||||{zz{{z{{|z{|{|{zzz{zz{z|||{|{{|{z{zzzzz{{{{{{||{z{yz{{z{z{{{{||{z{{zz{zz{z{{{|{{{zz{z{y{z{{{{|{z|zzzz|z{z{{{{|{y{{zzzzy{{{{z{{{{zy{zzzzz{{y{z{|{{zzz{y{z{{|z{{zzzzzzzzz{{zzz{z|z{zz|z{{z{{|||{{zz{zzz{yz{{zz{{{zzzy{{y{z{|{|{{{zyz{{{{z{{{{{{{|{{{{zz{{z{{|{||{{{{z{{{zz{||{|||z{{z{{{z{|{{|{||zz|z{z{z|{{{{{|{{{z{{{{z{{||{{|{z{|{{{{y{{{|||}{{z{{{{zz{{|||{|{|{{{{{z{{|{{|||||{||{{{{||{{}|||{|{{z{{{{|||{||{{{|{{|{{|{|{{|||{{{{zz{{|||{|{}||{{z{{{{{|{||}||{{z{{z{z{|{|{|{||{z{zz{{{}{{{{{{|{{{zz|z|{||{{zz{zzz{z|{zz{{{{|{|z{{z{z{{{{{{{{{{z{z{z|z{z{{z||{{{{{zzz{{{{|z{{{{{zzzzz{{z{{{|{||z{z{{{z{z{zzz{z{yzz{zzz{z|{{{{zz{{zzy{z{|{{{{{{zzzzzzzzz{zz{{|{zzzzzzy{{{|z|z{z{{{{z{zzz{{|z{{{z{zyzzzzzzz{{{{{{{zy{y{zz{{{{|{zzzzz{zzyz{{{z{{z{zzz{z{{{{{|{|z|zzzzz{{{zz|{{|{{zyz{{{zz{z{{{z{z{z{z{z{yz{||{||||zz{{z{z|{{|z{|{{z{{zz{{{{z{{|{{z{z{{{z{{{{z|{{|zz{zz{{{{{{{z|{|{{{{{{z{{||||||{|{||{|{{|||||}{|{z{{{{|{{{{}|{{|{{{{{{z{{{{{|||{{{{{{||{{{{|{|{{{{{|{{zz{{||{|||{{|{{{{{|{{|||||z{zz{{{{{{{{{{{z{{{{{z{z{|{|{{{{{{{{{{{{{{{{{{{{z{{zzy{z{{|z||{|{z{zz{{yzz{|{{|{|z{zzzzz|{{{z{{{z{{{zzz{z{|{z{{||z{yyyyzzz{|z{{{{z{z{zzyz|{z{{{{{y{zyzyyzz{{z{{{zzyzyyz{zz{{z{{|z{{yzzzzzz{{{z{{zyzz{zzzzz{{{z{{{zzz{{yz{z{{zz{|z{zzyyzz{{{zz{{{{zzzzzzzy{zz{|{{{{zyzzzz{{z{|{{{zzzz{y{z{{{z{|{{{zz{zy{zz{{|{{{{{zz{z{{z{|{{{{{|{{{z{zzy{|{{z{{{{zz{{zzzz{{{{{|{{{{{z{{{{zz{{||{{z{{{z|{z{|{|{|{{{z{{{|z|{{|||||{{{{{{zz{{{{|{{z{z{zzyz{||||{{{|{{|zz{{|{||{{|||{{{{|{zz{||{{|{{|z{{z{{{|{||z{|{{{{z{{{z{{{{{{|{|zz|{{z{||{{|{||{{zz{zz{{{{z{||{{{{zzz{zz|{{{{{{z{|{zzzz{z{{|z{{z{{{zyzzz|{{{{{{{zzz{{{y{{||||{{{{zz{z{{z{{|{{|{y{zyzzzz{{{{{{{{{{zz{zyz|{{{{{{{{{zz{{zz{{z{{{{{{zzyz{zzz{{z{zz{z{{zyzzz{{z{{{|zzzzzz{zz{|{{{|{|zzzyy{z{z{|z{{{{z{z{zzyyz{z{{{{{zzzz{zzzz{{zz{{|{{zyzz{zz{z{z|{zzzzy{z{y{z{{{z{z{zz{{zzz{{z{{{||{yzzzzz{{z{{z{{|z{{zzz{{{z|{{{{|{z{{{zz{z{{{z|{|{zz{z{{{{{{|{{{{{{z{{{{z{{{{|{|z|{{{z|{||||{|{{|{{z{{|{{{{||z||}|{z{{{z{|{{{{{|||zz{{z{{||||{{{||{{{z{||{}|{||{|{z|{|{z{{||||||}|{{{|z||{||{z|}|{{{{{z{{{{|||}|{{{z{{|{{{{{|{{{{{{{{{|{{{|{||{|{{{z{{z{{||{{{{z{{zzzzy|z{z{{z{{zz{{|zzy{z{{{{z|{zzzy{{{z{{{|z{|||{{{zz{{{|{z|{||{{z{{{zz{{z{{|z{{{{z{zzz{{{{{{{|{{{yzz{y{{{zz{|{{{z{{zzz{{{{{|{{{zzyzzzz{{{|{{|{zz|zzzzzz{|{{{|zzz{yz{z{{z{{{|{{{{zzzzzzz{{z{{|{yz{zzzzz{zzzz{zz{{zyzyyzz{z{|{z{zzzz{zzz{{{{{{|{z{zzzzzzz{z{{|{|{zzzy{|z{{z{{{{}y{zz{z{z{{{{{{|{|{z{zz{{z{||z|{{zzzzzzz{{{{{|{|{{zzz{{{{z{|{z{{}{{{{{zz|{{|||{|{{z{{{z{{{|{|{{||{z{{z{z{|{|||{|{{|z|zzzz||{{|{|{|{{z{|{{{{{{|{{|{z|zz{{{|}{|}{{}{z||{{{{{|{||}|{{{{{{{{{{|||||{{{z{{z|{{|{{|{||{||{z{{z{z{{{{|||{zz|||{{{|z{{||{z|{{{yzz{{|zz|{z|{{{zzz{{||{{|{}{{zzzzz{{{|{{{|zz{{zzzzz{z|{{{|{{{{zzzz{{{|{{{{{|z{yyy{z{{||{z{|zz{{|{{zz{{z{{{z{{{zzyzy{{{{z{{{zy{{{zzz{z{{z|{{zz{zz{{zzzz{{{{z{z{zzzz{{{{z|{{{|zz{yy{z{{zz{{{{{{zzzzzyzz{z{|{{{zy{{z{zz{{z{{{{zz{{{{{z{{z{{||{{{{z{{{{|{z{z{{|{{{{z{z{{|{{z{|{zz{{zzz{{|{{{{{{z{{z{zzz{{|{{|{{{zzzz{zzz{|||{|{{z{zz{{{{{{|{{{{|{|z{{z{{{|{{||{{{{{{zz{z|{|||}|{{{{{{z{{}|{{||{{{{z{{{{||{{{{|{|{{z{{|z{{{{||||{{z{{{z{{||||||||{}|{{|{{{{{||||{{{{z{z{|}||||||{z{{|{{{{|{|{{||{{{z{{{{{||{{{||z{z{zz{{z{{}|{{|{z{z|{{z|{|{{{{{{|zzz{{{{{z{{{|{{{zz{zzz{{|{z{{|{{{zzzzz{{z{{{{|{zzz{zzzzz|{{z{{{{{zz{{z{|zz{{|{{{zzzz{zz{{{zzz{z{zyzz{z{z{zz{z{zzzzzzyz{z{{{z{|zzzzzzzz{z{zz{{zz{zzz{yzz{{zz{{{{z{zzyz{z{z|{z{{zzzyzzzyz{zzz|z{{zzyzzzzz|z{z{{{zzz{zz{z{{{zz{{{z{zz{zz{z{z{{{zz{zz{zz{z{|{{z{{{{z{zzzz{{{{{{|||{z{zzyzz{{{{||{|zz{z{zz{{{{z{{|{{{z{{{z{{{{{{|{{z{z{{{z{{z{{|{||{{{{z{{{|{{{|||{{{z{zzzz{{||{||||{z{z{{z||{||||{{z|{|{z{{z{|||{{|{zz{|{{z|{{||}|{{{{{|zz{{|z{{||{zzz{|{{{{|{|||||z{z{z{{|{{|{|||z{{yzz{z{{|{{||{{{{{zz{z{{{{{{{|{|{zzzz{{{{{{{{{{zzzzzy{z{{{{{|{{{zy{zzzz{z{{{{|z{zyzy|z|{{{{{|{zzzyz{zy||{{{{|{{{{z{zzzz{{{{|{|{z{zzz{yz{zz{{{{{z{zzzzz{zzz{{z{{zzzz{zz|{{z{{{{zzzzz{z{y{{z{{{{zzzzyzyz{z{z|{|{{z{zyzzzz{z|z{{{zzzy{zzzzzzzz{zzzy{{zy{zz{{zz{{{zzz{zzzzz{{|{{|{{z{zzzz|z{{{zz{|zz{zz{z{z{zz{{{{zzz{zyyz{{{{{{|{z{{zzz{z{{z{{{z{{{{{z{zz{{|{{{{z{z{z{z{{{|{{zz{{|{z{{{z{{z{{{{||z{{{|{zz{|{|{|{|{z{{{z{z{||{|||{{{{{z{{{}||{{{||{z{zy{{{{{{{||||{{{{{{z{{}||{||||{|{z{z{|||{{{|{{{z{{{{{{{{|{{{{{{{{{{zz|{|{|{||{{{zz{{{{||||{|{{{zzz{z{{{{{{{{{z{{{|zzz{z||{z{{zzzzzz{z{{z{{{{{z{zz{zzzz{z{{|{|{{{y{zzzz{{z{z{{{z{zzzzzz{{{z|{{{z{zzzzzy{z{z{{{zzzzzzyzz{|{{|zzzzzzzzzyz{z{{z{|z{zzzz{z{z{{z|{{{y{zzy{{{{z{zzzzzzz{z{y{{zz{{{{zyz{zyzzy{zzzy{{zzz{yzzzzzz{z{{zz{zzzzzzz{zz{{{{{zz{yz{zz|{zzz{{{z{zyz{yzz{{{{{{|yzzzzzz{|{{z{z{{z{zzzzzz{{{z{{|{{zz|{yyzzz{{{|{{{yz{yzz{{{{{{{{|z{z{{{z{{{{zz{{{zz{{|{{z{|{{z|{{zzzz{z|{{{{|{{{|{zz{{{z{{|{{||}|{y{{{zz{{|||{{|{{{{{{{{{z|{z{}|{||{z{{{{z{{|{||||{{{{{{z||{||{{{{{z{zzz{{|{z{|{||{{z{{zz{{||||{{zz{z{{z{|{zz{{{||{yz{{{|{{{z{||{z{{zz{zz{{{{|||{z{zz{z{z{{{{{{z{{z{z{z{z|{|{{|{|{{zzz{yz{|{{||{{{z{yzz{zz{{{{{|{z{{zz{{z{zz{{{{|z{{zzzzzzz{{{{{zzz{{{zzz{{z{{z{{yzzzyzzzz{{{{{zzzzzzzyzz|{z{zz{|z{{zzzyz{{{z{{{{zyzzyzyzz{{|z{{{zy{zzzzy{{|z{{z{{zzz{zzz{{zzz{|{zz{z{{zz{{z{{z{{{zzz{{y{z{{{|{{|zz{y{z{{|{z{{{{zz{{zzzzz{{{{{z{{{y{{{z{{{{{{{{{|z{zz{zzyz{|{{|{{{zz{{{yz{{|{{}{|{zz{{{zz{{||{{z|z{{z{{{{|||{{{|}{{{{{z{{|}{{|}|{|z{{{{{y||{|||{|z||{|{{z|{|{{|{{|z|{z{{{{||}}||||{|{|{{{||{|{||{{y{zzz{{|{z{||{|||{{{z{{{{{{{|{|{{zyzyyz{{{|||{|{|z{z{{{z|{|z{|{|z{z{{zy{{||{{z{{z{{zzzy{{{{{{||{z{{{zyzz{{{||||||{zz{zz{{|{{{{||z{z{{z|z||{{y|{zz{zyzyz{{z|z{z|z{{zyz{zz{{{z{|{z{zzz{{z{{{|z{{{zzzyz{z{zz||z|{|z{z|zzzz{{|z{z{{{yzz{yzz{{{z|{z{z{{{zzzy{z{z{z{{zyzyz{zyzz{yz{|{z{yzz{{z{{zz{{{{{zzz{yzy{{{{z{{{z{zzzy{z{{{z{{z{{zz{zy{zz{|z{|{{|z{{z{zz{{{zz{{{zzz{{z{{z{{z|{{{z{zz{z{{{{|{{{{{zzz|{z{z||}{{{{z{{{{{{{z{|{|||||z{{{{{{{{|z{|{||{{{{{zz{{}{{{|{|{zz{z{z{{|{{{||{{zz{zz{{{{{||||}}{{z{{z{{}|}|{||{z{{{{z{|{|{||||{{{{zzz{{|{z|{|{||{{|{{{{|z|{{{{{{zzz{z{{{||{|{|{zz{z{{{{||{{{|{z{{yzzzz|{{{z{{|zz{yz{zz{|{z|z{{{{zzzz{z{{{||zz|{y{zzyzyz{{{{{{{{z{zy{{z{{{|{{{|{{{yyz{yz{|{zz||{{{zz{zyz|{z{{{|zzzzyzzzy{{zz{|{{{{y{zzz{{zz{{{{zzzzzzzz{{{{{z{{{zzyzyyz{{{z{{{z{yzzyzzz{z{|z{{{{zz{{yzyz{z{{{{z{zzyzz{zz{z{{{{{{zz{zzzz{{{z{{{{zz{zzzz{{{|{z{{{zzzzzz{{{z{{z{{{z{{zzzzz{{zz{{z|zzz{{y{{{{{{{{{{zzzzzzzz{{||z|{{{{{{{zzz{||{z||{{||{{{|z{|||{||z{zz{z{{z|{z{{{{|||{z{{{z||{{|||{{zz|{{{|||{|{{{{{zzz|{{{|{{{||||{{{||||{|||z{{|||{{{{z{{{z|{{||{|z{{{{{|{{{{|{|||{{{{||z}||{{{{|{{{{{zy{{{{||{|}{{z{yzzy{{{||{}{{{z{zzzy{y{{{{{{{zzz{zzz{|{|z{|{{z{z|yzy{z|z{{{|zzzzzzzz{z{{{{{|{zzz{zzz{{z{zz{{{zzzzzzz{{{{{{{{{zzz{y{zyz{{{{zz{zz{{zz{{z{{{{{{{zzyzzzz{z{{z{{{yzyyzyzzz{zzzz{zzzzzzzyyzzz{{z{zz{z{zzzyzz{{{zzzzzzzz{yyz{z{z{zz{{zzzzzyzzz{z|{{zyzzz{yyzzzzz{{{{{zz{yzy{{zz{{{{z{{z{xzzzz{{{{z|{yzyzzy{zz|z{{|{z{{|zz{zzz{{{|{z{{z{zzzzz{{{{|{{zzz{zz{{z{z{z|z{zzzz{{z{z{|{{|{{{{{{{z{z{|{|{||{{{z{{zz{{|{|{z|{{zzz|{z{|{{|z{|{{z{z{{|{{{|{|{{|{{{{{|z{{{{{{{{}{{{{{{{{{|||||{{zzz{{z{z{{{{{|{{{z{{{z|{{{zz|{|{|z{z{{zzz{z{|{|{|z{{{yzzz{z{{{{{{z{{zyz{z||{{|{{zz{{zzzzz{||zz|{z{zzzzz{{|y{{||{zyzy{zzz{{{{||{{{z{z{zzzz{||zz{{z{{{{z{z{{{z{{{|zzz{{zzzz{{{z{{{{zz{{yzz{{{z||{zz{z{{zzz{zz{z|z{zzzzyzz{z{{|{z|{zzzzzzz{z{{z{z{{zz{y{zzzz{{z{zzz{z{zzzzz{z{zz|z{{{zyz{z{z{{{z{{zz{z{zzzyz{|{|{{|{z{{zzzzy{z{{{{{{zz|{y{z{|{{{z{{z{zzzzz{|z|z{{{{{{z{yz{zz{|z{||||y{zz{zy{{{{{z|z{{yz{zz{{|{{z||||{{{{{z{{{{{{{|{y{{{{{{{|{{|{|{{{{{z{{z{{{|{|{{|{z{z{{{{{{|{||||{{{{|{{{z{{||{|{{{{z{{{{{|{||{|||z||z{|{{|{{||{|{{{{{zzz{||{||||{zz|z|zz{|||||}|{{zz{{|z{}{{{||{||{|zz{z{{{||{||{{z{{zzz|{|{{{z|z{z{{zzz{{{z{{z{{z{y{zzz{z{|{{{|{{z{|{zz{{{{|{{{z{{{z{{zz{{|{{||{zyzyz{yz{{|{{{{zzz{zzzzz{{{{z|{{|zzyzzz{{zy{z{{{zzz{{z{{zz{{z{{zzzzyyz{z{z{{{{{zzzyzzzzz{{{{z{zzz{yzzy{z{{{{{{{{z{{zy{yz{{zz{{zzzyzzzyyzzz{z{{{{zzzz{{zzz||zz{{{zzzzzzz{y{zz|||{z{zzyzyz|z{{|{|z{z{z{z{{{}z|{||{z{{{z{zz|{{||{{{{z{{{zz{{{{{|{{zy{zz{{{z|{{{{|{z{zz|{{|{{z{|{{{{|{{{z{y{|{{{||{|z{{zzzz{{||{|||{z{{{{{z{|{{{{||{{zz{|||{{{|||{|{z{{{|zzz|{|||}||z{|{zzz||{{{|{{|{{{{z{|z|{{{|{|{{{{||{{{{{|{|{|{{zz{{{{||{|{||{{zzz{{{z{|||{{{{|{{|{z{z{|{|{{{|{{z{z{{y{|z{{z||{z{{{z{{z{|{{||{{zyzz{zz|{{{{|{zzy{{{zz{y|{{{{{|{zzzz{zzzz{{{{{{yzz{zz{z{{|{{z{{{zzyzzzzz{|zz{{{{zzz{zzz{zz{{{zzzzzyzzzzzz{{{z{zzzz{zzyzzz{z{{{{{zzzyz{yz{z|{{|{{zzzzyyx{z{{{{{{{z{zyzzzz{y{{{{{zz{zz{zyz{{{{{{{{zzzzy{{{|{|{{{{zz{{zy{z{|{|{|||{{{zzz{{{{|z|{{|{zz{{z{zz{|{z|{{{{z{z{z|{|{{|{|{{zz{{zzz{{|{{z{|zz|z|z{zz}|{||{|{z{{{z{{{{{|||{}{{{|{zzz}{{{|{||{zz|{{{{{}||||{{{{{{{{{zz}{|||{|{{{|{|{{{|z||{|{{z{{{zz|{||{{||||{{{{zz{{{{|}|{{{{{zzz{{|{z{{z||{{{z{{{{{|z{{||{{zzz{{zz|{{{|||{{{{z{z|z{{{{{{|{{zz{zz{{z{{z{{{{{y{z{{{zz{|{z{{{{zzz{z{{{zzz{||{{z{{zz{{z{{{z{{{{zzyyz{zz{|{z{{{{zyzz{yz{{{{{{z{{|z{z{yyz{{z{{{zz{zyzz{z{{{z{{zzzzzzzyzz{z{{{{{{{zz{yz{zz|z{{{{{{y{zyz{z{|{{{{|{zzzz|z{zzzzz{{{{zzyzz{zzz{z{{{{z{zzzzzzz{zz{{{|{{z{z{zyz{{z{|||{{z{yyzzz{{{{{{{{{{{zz{z{{{z|{{{z{{{zzyzz{{{{{{z{{z{zzzzz{{|zz||{{zz|zz{{{|{z{|{{zzz{{z{{{z{||{{|{{{zz{zz{{{|{{|{zz{{zz{z}{||{||{{zzz{z{{||{{||{|{{{{|{z|{{{{|||||||{{|{{||{|||{|{|{{{{{{{{{{{{||{{{z{{{{{|{||||{|{|{{{z|}{{|{|||{{{z{{z{||z{{{|{{{z{z{{z{{{{{{|||{{z{zz{||z{||{{z{{zzzz{z||zz{||z{zzz{z{z{{{{{{|z{|{z{z{{{{{{{{{|{zzzzz|{z{{{z{{{zzzzzzz{{|{{{|z{z{z{{zz{{{{{{|{{zzzyzyzz{{{{z{{zz{zzzyz{{|{z{z|{z{{zzzzz{{{{{{zz{zzy{zz{{{z{z|{z{{zyz{zz{z{zz{{zzzzz{zzz{{{{|{{zzzzzzzzzzzz{{{{zz{zzzzy{{{{{{{z{z{zzzzz{{{{{{{|{z{{zz{z{{z|z{{|zz{{{zzz|z|{{|{{{z{{{z{zz||{{|{{{{{zz{zz{{{{{{{|z{z{{{{{|||{zz|z{{zz{zyz{{||{||{{|zz{z|{|{{|z|||}z{z{{zz{|{{||{{{{{z{z{z}||{{|}|{{{{|{{|{{|{|{{{|{z{{|z{{|{z|}{|}{{{|z{{{|{|||}||z{{z{{{{{{|{{|{{|{{{{{{z|{|{{|{{|zzzzz{{{{|{||}|{zz{{{z{|{|{|{{{zz{z{{|{||{{||{{zzz{z{zzz{{{{z|z{{{z|{{{|{{{{{|{{{yz{z{{z|{{{|{|{{{z{zz{z|{{{z{zzzzzzzzzz{{{{{{{z{zz{zz{zz{{|z{{zzzzzz{{{{{{zzz{{{{z{zz{zz{{{{{{y{zzzzzz{{z{{{{zzz{zzzzz{{{zzz{{{zzz{zz{{z{{z{{{zzzz{zz{z{yz|zz{{zyzyzyzzz{{|{{zzyz{zyz{z{{z{{{zzz{{{z{{z|z{{{{zzz{zz{zzz{{{{{{{{z{zz{{z{{{{{|{{{zz{z{zz|{{{{{{{z{{zzzz||}{|{{{{zz{{{zz{|{{z{{{{{z{{{{z{{{{{|||zzzz{{z{{{{|{{|{|zy{{z{z|||{||{{{z{{z{{{|||{{||{{z{{{}}{{|{|{|{{}{{{z{{{z||{|{|{|{|{{{{|{{{{|{|||{z{|{zz{{{z||||{yz|{{{{{{{{{|{|{{zzz{z{{||{|{{{{{z{zzzz|{{|{||||{zz{zzz{|}{{{{{{zzz{yz{{{{zz{{{{|zzzzzz{z|{{{{{{{{zzz{z{{{{|||{{z|{zz{y{|||{{{{z{yyzzzz{{{|{{{{{|zzzzzzz{z{{||{{{{zyzz{z{{z{{{{z{zzzzzzzzyzz{{{zzyzzzyyz{{z{z{zz{{y{yyzzy{{{z{{zzzyyzzz{zzzyz{{{yzzyyzzyz{zz{{|{y{zzzyzz{zz{{z{zzzzzzzy{zz{{z|zzyzy{yzzz|zzz{{{zzzzzz{zzzzz|z||{{zzyzzzzz{z{{||zzz{{yzz{||{{||{{zzz{{zz{{|{{{|zz{zzzzz|{{|z{{{{{z{z{z{{z{{|||{}zyyz{{zz||z||{{||{z{|{z{{||{{|{||{{{z|z{{{z|{{||{{{{z|{{||{{{|}{{{{z{|{{{|{|{|{|{{{{zz{z||{|{{{{|z{zz{{|{{|z||}|{zzzz{z{{{{||{{|{{{z{zzz|{z{{{||{{{{{{{{z|{||{{{{zzy{z{{{{{{||{|z{z{{y{zyz{{z{{{zzzzzyyz{{|zz{{{{z{z{z{z|y{{{{|{zzz{{zzz{{|{z{{{{z{z{zzy{{zz{{{|{z{zzz{yz{z{z{{{zz{{zzzz{{{zz{{zzzzz{zzyyzz{{{|{y{zzyzyz{{z{z{{{zzzzyyzzzz{z{|z{zzzzz{z{{{zzzz{|{zyz{yzyy{zz{{{|{y{zzzzyz{zzzz{zzzzy{{zzyz{{{{|{z{{z{z{zz{{{zz||zzz{zy{z{{{zz{{{zzzyyzzyzz|{{{{|z{zz{z{zzz{|{{{{{{z{z{{zz|{{z{}{{{{{{z{z{|{{{{z|zzz{{zzy{|||{|{{{zzzzz{{{{{|{||{z{y{{{zz||||||||z{{z{{{{{|{|||||{{|{{{{{{{|{{{|||{|{zzz{{}||{|||{z|{{zz{{{{|{{|{{{{{z{{{{|{{{||{zzz{|z{z{{{{{|{{|z{z{{{z{|{{||{|z{{{{{{y{{||{||z{z{zzyz|{{{{{{|{{z{zzzyzz|z{z{{{{zz{zzzzz{{{z{{{zzzy{zyz{{{{{z{{{z{{zzyzz|{{zz|{{zzzy{{zz{z|{|z{{{zyzzyyz{{{z{{{{z{z{zzzyz|z{z{z{{{zyzyy{z{{z{z|z{yzzzy{z{z{{{{{zzz{zzx{zz{{{{{z{y{zyzz{{zz{{z|{zzzzzzzzzzzzz{{z{{{zyz{zzzzz{{z{zzzzzzzyzz{z{{|{z{zyzzz{zz{{z|z|zz{|zy{z{z{{z{{{{zz{zz{zz{||{{{{{{{{zz{zz{zz|{{{zz{zzzz{{{{|zz|{{{{{zz{z{|{{{|{{zz{{zz{z{{}{{||{z{zy{z{|{|{|{||{{z{z{{zy|{|{|{{|{z{z{yz{|{{z|{{{zz{{{{{|{|zz{{{|{zz{z{z{||{||}|{{zz{zz{z|{||{{|||zz{{{{||{{{{{||{z{{{{z{{|||{|{{{{zz{{zz|{{{|||}|{yz{{zz{{{{{{{{{{{z{zz{{{{{|{{|zzzzzz{y{{{|{{{{{zzzzyzzz{zzz|{{z{{zzzz{{{{z{z|{zzzz{z{zz{{|{{||{z{zzzzz{y{{{{{|{y{zzzyzz{{{z{{{{z{zyzzz{{{zz{{{z{zyzzzzzzz{y{{zzzzyzy{zzzzzz{zzzzzzzyzyzz{{{{{{{{zyzzzzy{|zzz{zzzzzzzzy{zzzz{z{zyzzxzzy|zz{z{{{zzyy{{zz{z{{zz{{zzzzzy{z{{{z{{{{{z{{{yzzz{{{|{z{zzzzzzzz{|{z{{{zz{zyzz{zy|||{{{{zz{|zzzzzz{{z{{}zz{{z{zz{|{{{|{z{z{{{z|{{{{}|{||{{z{{z{{|{{{|||{|{zz{z{{||{{{{{{|z{z{{{{||{{z||{{z{{{{z{{z{||{{}}{z{z{{{{|||{||{{z|z{z{{{|{{{|{{{{z{z{{z|{z{{||{{z{{|{{{{|{{{{||{{{zz{{{{z{{|{{|zz{zzzz{z|||||{{{{{z{yz{{{{{{{{zzzzz{z{{z{|z{{{zz{z|zyzz{{z{{|{{|zzzzzzy{{{{z|||{{zzzzzzzz{{{z{{{zzyzzzz{|{|{{z{y{zzzyzzz{z{z|{{{z{zyz{zz{z{{z{z{zyzz{zzzzz{{z{{z{zyzz{yzz|zz|{zzzzzzzz{{{z{|{{{z{{yyzy{y{{z{zz{{zzzzyzzzzzz{{z{y{zzzzzzzy{{zzz{zz{{zzzzzz{z{z{zzzzzzzyz{{{z{{{|{z{yzzzz{{{{{|{|{{{zzzzz|{{{{{{{{{{zzz{z{{{{{|{|zyzz|{z{z{|z{|{{{{{{z{{z{z{{{{{{{zz{{z{zz{|{|||{{{z{{z{{{{{{{||{zzz{{{{{|{|{{|}||z{{zzzz||{{{{|{z{{{{|{{|{{|{}||{{{{z|{z{}||{{{||{|{|{{|{||{||||{{zz|{zz{{{||{|{|{{|{{{{}|{{{|{{{{|{zzyz{|{z|||{{{{{z{z{{{{||z{z{{z{{{{z|{{|{zz{{z{zy{zzz{{{{{{{{{yz{yzyz{{{{|||z{zy{{{zz{||{{{{{{{z{zzzz{z{{{|z{zzzzzzzz{{zy|{{zz{yz{zzzz{{zz{{zzzzzzzz{{zz{{{{|zyz{{{{y{{|{|{{zzzzzzzz{{z{z{{zzzz{zzz{{zzz{zzzzzzyzzzzz|{{z{{{z{zzz{yzzzyz{{{|{zzz{yyz{zzzzz|{zzzzz{yz{zz{{{|{{z{yzzz{{{{zz|{|z{zyyyzz{z{{y{{|yzzzzzz{{z{zz{{{zzzy|z{z{{z{{|{|zzzzz{zz{|{{{|{{z{{{z{{{{{{z|{{{{{z{{z|{z|{{{{{|zz{zz{{z|{{|{{||{zzz{z{{{{|{|{|{|z{zzzzz|z{{z{||{{|zz|{||||{{|||{zz{z{|z{|{{||{||{{|z{zz||{{|||||{|{|{{zz{{{|{||z{y{z{{{{{{|||||{{{zzzzz||{{{|{{z{y{zzzzz|{{{z{{{{{z{z{{}|{||{{|z{{zzy{zz|{z{{{|z{z{zzzzz{z{{{||{zzzzzzz{{zz{z|{{y{zzzzz{{z{zz{||{zzz{zyz|{{{z{|zzzzz{{zz{z{z{zz{{{yzzyzz{{z{z{{z{zzyzyzzz{{z|{{z{zyzzzy{zzzzzy{zzzzyz{{zz{zz{{{{zzyz{zyzz|{y{{{{y{{zzzyz{zzzzz{{yzyzzyz{zzz{z{{{zzzz{{y{{{{{{{{zzyz{zz{{{{{z{z{{y{zzzzzy{{{z{||zz{zz{z{z{{{{{{}zz{zzz|z{{{|{{{{{zzzzzzz|{|{{{{z|{{{{zz{{{{{{|{{{zz{{{y{|z{{{||{{{z{{{{z||{{z{{|{z{{{zzzz{{|{}|{{{{{zz{z{{||||{{{{|z{|{{{||{{|{{{{{{z|{{|||||{|||z{{zzz{{{|||}{{|zz{{{z||{{{{{|}|{zz{{zz|{{||{|{{{{z{zz{{{z{{{{{{|z{{z{z{||{{{|{{zz{zz{z||{|{{||yz{zzzzz{{{{{{|{zzz{zzzz|z{{{{{|zz{zzzzz{{{{|{{z{zzzzzzz{||{z{{|{{z{|{{y{z{{{{z{{{{{zz{yz{{{{{{{{zz{zz{zzz{z{{{{{zzzzzz{{{z{{{{{zzzzzzzzzzz{{z{z{z{zzzyz{{{{{z{zzy{zz{yyzzz{zz{{{zz{zzzzz{{{z{{{z{zzzz{yz|zz{{|{zzz{z{zz{z{z{{{{{zz{{z{zz{{{z{|{{z{zzzzzz{{{|{|{yy{{zz{{{||{{{|{|{zzzy{{z{||{|{{zz{{z{zz{{|{{||{{{{{{{z{||z{{|{{zzz{{{{{{{|{{{|{zz{{{z{|}z{{{|{|{{{{z{z{{|{{{{||{{{z{z{{{{|z||||zz{{z{{{|{{{}}|||{{{z{{z{||{|||||z{{z|{{{z||{||{{{{{|z{z{|{|z|{|{{{{{{zz{zz{{}{|{{{{{{{|{|{|{{{||{{{{z{z{||{{{{{{{|{zzzz{|}||z{z{z{zzyzz{|{{||{z{zzzz{{z{|{z{{{|zzy{yz{{{{z{{{}{{{|{{zyy{{{{zz||{{zzzzzz{{{z{|{{{zz{z{zzz|{z{{{{{zzy|zzz{z{{z{{zzzzz{z{zzz{{z{{|zzzzyzyzzz{{{{{{z{zyzzzzz{z{{||{{zzzzzyzz{{{z{{{zyz{yz{zzz{zz{{{zz{zzzzzzzz{{{z{zzzy{{{z{z{z{|{{{zzy{z{zz{{{{{{{zzzyz{zz{{|{z{{|z{z{{z{z|{{{{{z|{z{{z{{zz{{z{{|{z{{zzz{z{{}|{{|{{{zzzz{{{|{{z{|{{z{z{z{{{z|||||z{zz{zz{{{|{{|||}{{{z{zz{||{}{||{{z{{{{z{{||{|{|{{|z{{|||z||{{||||{{{{{z{||{|{{||||{|z{{z{{|||{||{z{{z{|{{|{{|{|||{{y{{z|{{z||||{{{{z|{{{{|{{{|{{|zzzz{{{{{|{{{|{{{{z{{{z}{}{||{|{{yzzzzyz|{z{z{{z{{{{zzz{z|{{|{{{zyzzzzz{{{{|{{{{z{{yzzz{{{z{z{{{zzzzzzz{{z{{{z|{yzz{zzzz{z{z{{zz{zy{zzz{|{{{{z{zzzyzzz{{{{y{zzzzy{zzz{zzzz{{{z{zzzzzyyzzz{{{{{{z{{zyzzzz{z{zz|{zyzyzzzzz{zzz{{|zzzzzz{{z{zzy{{{zzzzyzz{{zz{{{{{{{zy{zzy{{|z{{|{{yzzzzz{{{z{{||{{y{zzzzz{{z{{{||{{{z{z{zz{{z{{z{{{zzzzz{z{|{z{{{|zzzz{zz{|{{{|{|{{{{zz{{{{||{||{z{{zzz|{{|{|{|||{{zz{zzz{|{{|{}{|zz{z{{z||{{{{|{{zz{z{{{{{{{||||{{{{{{{{{|{|z|{{}{{|{zz{|z{|{{|{|{{zz{{{||||||{{|z{z}z{{{{{{|{{{{{z{{{z{{{{{{{||{{z{{z{z{{{{{{||{z{zzz|z{{|||{{|z{yz{yzzzz{{{{|{zzzzz{xyz{z{{{z{zy{zzzzzzzz||z{{{zz{zz{zz{{z{{z{{zy{zzzzzz{{{z{zzz{zz{zzz{{z{{{z{zzzz{zz{z{zz{{{zyzzzzzz{zz{z{{{zzzz{z{yzz{{{{{{{zz{{{zz|z{z{{zz{{zzzzyy{zzz{{{{zy{z{yzyyz{zzy{{zzzzzzzz{zzzz{z{y{{zz{z{{{z{{y{{zzz{zzzy{{{z{{{{zzzzzy{z{z{{{||{zzzzzz{z|{zz{|||{{zzyz{zz{{{|{{z{{zz{{yz{{|{{{||{{zz{{zz{|z{z{z|{{zz{{{{{z{|{}|{{{zzz{{z{{{|{{|{|{z{{{{{z|||{{{{|{{zz{zz|{|z{{|{zz{{{{|{{|{||||||zz{{{{z{{{|{{{{|{{|{{{{{{|{|z|||z{{{{{z{z{{{||||{{z{z|{|}{|{z|}{{zz{z{z{{{{{||{{{{zz{yz{|z|||{{{y{z{zz{{}|}}|{|{|{zzzzz{{zzy{{||zzyzzyzz{zz{z{{{zzzzzzz|{{{zz{{z{zzxzz{z{{{zz{|zzzyyx{yzz{{{{{{{{{zz{zyz{{{z{{z{zzzzzzzz{z{z{zzzzyzzzyyzzz{z{{|zzzzzzzyzz|{zz{{zzzyyzzzzz{zz{z{zzz{yzzyzzz|z{zzzzzzyzzyz{z{zzy{zzzzzzzyyzzzz{{z{zzyz{zyz{zz{{{{zzyz{zz{z{{zzz{{z{zzz{{z{{z|{{{|zzzzyzz{{{{{{{z{{{{y{zz{{{{{{z}z{z{zz{zz{{{{{{||{z{{{{{{{{{{{{z{z{zz{{{|{{{|{{{{z{{zzz{{{{{{{{{|{y{zzz{{{|{|{|||{{{z|{{yz|{{{{|{|z{z{{{|{{{{|{|||{zzz{z{{|{|{}||{{z{{zzz{|{z{{{{{z{{{z{z{{{|{{}{{y{zz{{{{{{|{{{|{{yz{{{{zz{{{|{{{z{zz{zyz|{{{{{{z{{{zyzz|||}}{{{z{z{{zyzz|{zy|{{zzy{{yy{y{{{zy{|z{y{yzy{z{{{{{{{{zzzzzz{{z{{z{|{{zzzyz{z{z{{{||{{z{zzzz{z{zz{{{zzz{zzz{z{z{zz{{{{zzyzyyy{{{{{{{zzzz{y{zzz{z{|zzzzyzzzzz{{|z{|{z{yz{zyzzzz{zzz{||zzzy{zzzzzzzz{{|z|zzzzzzz{{zz{{zzy{z{zyyzzz{{z{{{zzzzyzzzz{{y{{{yz{zz{z{{{{|z{||{{zzzzz{{{zz{{|{{z{z{z|zzz{{|{{{{zzzzz{zz|{|z{{{|zzzzzzz{{{{{||{{zz{{|zz{z{{||{|{zz|{{{z||{|||||zzz{zzzz{z{|{|}z{z{{{{|z{{|{|{|{{{{{{{{{z{{{{||{|zzz{zz{{||{{||{|y||{{{z{|{{{{||{{zz{{{{{{||{}||{z{{|{{{|{{||{|{{z{zz{{{{{{zzz|{{zz{{{zz{{{{|z{{{z{z{{z{{|{|{|{{zy{{zzzz{z{{|z{zzzzzzzz{|z{{{|zzz{zzyyz{zzz{z{{{zzz{zzz{|{{|{z{{{zzzyzyzz{zz{{z{zzzzzzzz{{z{{{z{yzz{{zz{{z{z{{zyzzyyzzyzzz{z{zzzyzzzzyz{{{z{z{zzzzzzy{z{z{zzzz{zzzyyzy{z{{{z{{{zzyzyzzz{z{{{zzzz{yzyyzzz{yzz{{{zzz{zzyz{{z{{{{|{yzz{z{z{|{{zz{{zzzzzyz{{z{z{{{|zzzzyzzzz{{|zzz{{{zzzzzz{{{{{{zz{{zz{{zz{|{zz{{{{{zz{z{z{{{{z|{z{z{{zz{y{{{||{z|{{{y{{{z{{{|{{||{z{{|zz{{|{{|{|||zz{{z{{||{{{{||{z{{zz{z||{{|||||{{|z{{{{}||{|||{{z{{{|{|{z|||{{{z{{{{zz|{z||{{|{{z{{z{|{{{|||{{{{{{{{{z|{z{|{||{{zzzxzz{{{{|{{|{||z{z{z{{}{}|z{z{z{zzy{{{{{{{{{zzzz{zzy{{{|{|z{{{zzz{zyz{{z{{{{{y{{{zz|{|z{{z{|{{zyy{z{{{{z{z{|zz{zzz{z{zzzy{{{{zzy{zy{{{{zz{zzzz{{z{zy{zz{zz{zzyzy{yzyzzz{z{|z{zzzzzyzzz{{z||{zz{zyzzy{z{{{{{{zzzzzzzz{{{z|{{{y{yzzzz{z{z{{|zzzzzzzzzz{z{{z{z{zzzz{zz{{{{zz{z{yzzz{y{{|{{{{{||zzzzz{z{{{{{z|||{{{{{y{{{{{{{||{{{zzzzy{{{|{z{|{{zzzz{zz{||z{|{|zzz{{zzz}{|{|||{{{|{z{{{|{{|{{}|{zz{{z{zz|{|}||{|{zz|{{{|||z|{|{{zz{z{{{{|{{{||{|z{{{{{zz|{{|{||{{{z{{{z|{||{{|{{z{{{z{{{{{{{{|{{{|{|{{{{{||{|{{zz|zz{{z{{{{{{|{{z{z{{zz{|{{|{z}zz|zzz|{{|}|}{|{y{zzzz{yz{{|{{{{z{{{{zzzz{{z{{{|z{zzzzzyz{||{|{|{{z{zzz{{{{{|||z{y{zzz{{{{{z|||{zzzz{zzy{{zz{{|{{z{z{z{z{z{{z{{zzzzyyzzz{|z{z{z{zz{zzzzz{{{{{{{{{z{zzzz{zzzz{{z{{{zzz{zyy{{{{{||zyzzzzyyz{{yz{z|zz{z{zzzzz{{z{{{zzz{{yzzz{{z{{{{{y{zzzzy{{{{{{|{{zzzzyz|{{z{{|{{{{{zzzz{{{||{z|{z{{{yzz{{{z|{{{{{z{zz{zz{{{{{|{{{y{{{{{y{{{|{|{zzz{z{{zz||}||{{|z{{{{||{{|{}{|||{{{{{{yz{{||{{||{{{{{{{{|}|{{|||{zz{z||{||{{}||{|{{{z|{z{{|||||{|{{{{z{{{|}||}{||{{{{{{{{{|||||{|{z{{|z|||{||{||zzz{{{zz{{{|{{{|{{{{{z{z{{{|{{||{{z{{{z{{|}|}||{zzzy{zyzz{{{z{{|zz{z{y{zzz{z{|{{{yzz{zzz{{z{{{{{{zzz{{zz{z{|{|||{zzzyz{z|{{{{z{{z{zyz{zz{{{{{{{{{{{zzyzy{{{{y{{zzzz{zz{{zz{z{{{{zzzz{zzzzy{zz{{zyzzzzzzz{zzz{|z{y{zyyzzz{{zz{z{{z{zzyzzzzz{zz{{{{zzy{yzyzzzz{{z{zyyzzzzz{z{|{{{{zzz{yzzzz{zzz{{||{zzzzzz{z{z{{{{zz{{z{{zzz{z|{{|zz{zzz{{{{{|{{z|z{zz{zyz{||{{{{{{|z{zzz{{{{zz{z{{zzzz{z{{z||{{{{{{{z|{{{|{{{{|||{{|y{zz{{|{{|||{zzzyzz{{{}z{{z|{{zz{{z{z{|{{|{||{{{{z{{{z|{||||{{{{{{{z{|{||{}z{{z{|{{{{{{{{{|}{{{{{|z{z{{{{|{{|{z{z{{{{y|z{{{|{||z{zzzz{|{{{||{{z{{{{zz||}}||{zzzzyzzz{zz|{{zz{{{zzzzzz{{|z{||{{{zzzzzz{{{{{z{{{zzz{zz{zzz}z{{|zz{zz{zz|{zzz{{zzzzy{{{{z{z{zz{{{zzzzzzz{|z{{{{{{zzzzzyz{{z{{|{{{{z{zzzzz{|{{zzz{zzzz{zzz{{z{{{{{zz{yzzzz{{z{{{|{zzyz{zyz{z{z{{zyzzzzz{{z|zz{{{{z{{zzzzzz|{{{{{{{{zz{z{zz{{|{{|{{y{{yzzz{{z{{{{|zzzz{z{z{||z{zz{{{z{z{{{{{||z{{{{z{zzzzz|{|{|{||{zzz{z{{{|z{z{{{{{{{z{{{{{{||{{{zz{z{{{z|{{|z}{|{{{|{z{{{{|||{{{{z{{z{{z|||{{||{|{|zz{||{{{{{|||{{z{zz{{|||{{|{||{|z{{{{|z|{{|{{{{{{{|z{{|{{{||||{{{{{z{{||{{|{{zz{zzz{{{{{{|{}{{z{zz{{zz||{{{|{{yz|{{z{{{|{|zz{zyyz{z{zz{{zz{{{{zy{zzzzzz{z{{||z{zzzzyz{zz{{{|{{{{y{|zzz{{{zz|zyzzyyy{zz{{zz{{}{zzy{{zz{{|{{z{{{zzz{z{{{{{{{z{{{{zzzzz{zz{{z{{zz{zyzzyy{{yz{z{{zz{zyzyzzz|z{zzzz{{{zzzyz{{{{{z{{zz{zyzyz{zzz{{{z{zzzzyzz{yz{{{zzzzz{zy{zzzz{z{{z{zzzzz{z{z{zz{{zzzzzy{z{{{{{z{{{zz{zzz|{{{z{|{{zzz{z{zyz{{{{|{{zz{z{zzz{{{{z{|{{|z{{z{{{{{z{|{{{{{z{{{z{|{z{}{{|{zz{z{{{}{|{z{{{z{zzz{z{{z||||{{zz{|{z|{{|z{|||{{{{z{|||{{{{{|{{{{{{{{z{{|{}{||{{{{z{{{||{|||{||z{{zzz{|{{{z{|||{{{z{zz{{{{|||{{zzzz{{zz{{zz{|{|z{zzzz{z|{{{{{{{{{{{z{|z||{|{|z|zyy{zzz{{{{zz{|zzzzzz{{|{{{||{{{z{{zzzy{{z{z{||{z{zzzy{z{{{{zz{|{zzzyzz{{{z{{{{zz{{zzzyz{{{{{{yzyzzzzyy|{{{z{{zzz{zzz{zzzzzz{{{{zzyzzz{y{|{z{zz{{y{z{zzz{{z{{{{zz{yzzzzzz{z{zz{zzy{zzyz{{yz{{z{zz{yzyzzz{{{z|{|yzzzzzz{{{{{{{z{{zzz{yzzz{{{z{{{{z{z{z{{{z{{{|{}zzzzyzz{z{|z{{{|zyzzz|{{{{{{{{|{zyzz{zzz{{{{z{||{z{{z{{{{{z|{{||{|zz{{z{{|z{{{|{z{{{||{|||{{{z{|{{{{{{zz|{||{||{{{{{|{{{||||{{}{{{{zz{{zz|{|{|||{{{{|{{z{{|{|{|{{z|||{{{{|{||{||{{{{{{z{z{{z{{|{{z{z{z{z|{{{{|||{{{{{{z{{{z|{{||{{z|{{{{z|{{{|{{z{|z{y|{{{||{{{{z{{zz{z{z{{{|{z{z|zzz{zzz{{|z{{{zz{zzzzz{z{|{|{{zzzz{{zz|{{{{{{{zzzzzy{zz{z{z{{{{{zzzy{zz{z{{{{z{zzzzzz{{z|{{|z{{{{zz{{{zzz{zzz{zzzy{y{zz{{{zz{zzyzyzzzzz{{{{z{{|{zzz{y{{{zz{z|{{zzzzz{yzz{z{{z{zzzzzzzz{zz{z{z|zzzzzz{zz{{{zz{{{yyz{yzzz{|{|{{{z{{{zzz{{z{{{{||{{zzzz{{{zz|z{{{z{{{z{zz{{{{z||{{zzzz{z{{|{|{||{{z{{{{{z{z{|{{{{{{z{{{{{|{{|{{{{z{zz|{{z|{{{{|||{{|z{z{z{{|{{||{|{{{{z{z{|{z{{}{|{{zzz{|{|||{{{||{z{{{{{||{|{||||{{{{{zz{|||{|{||{{{{{{{{{{||||}{{{{z{{{{{|{||}{{{zz{{z{{{||z||{{{z{z{zzz{||z|{{z{|{{{{z|||{{{{{z{zz{z{zz{|{{|{{{yy{zzzz{{{z{{zz{zzzz{{z{{zz{{{{z{zzzyzz{{{{{{{z{{{zzzzzzzz|{{z{{zzzyz{zyzz{z{z|z{{z{zzzz{|{{z{{|{zzzzzz{zz{{{{{zzzyzzzz{{{{{z{y{zyyzzyz{zz{zz{zzzzyy{zz{zz{{z{{zzzyzyyyyz{y{{{zzyzyz{yzyzy{z{{{zyzzz{zzz{{{z{{|{{yzzzzz{z{{{{{|zyz{zyzzzz{|z{z{z|z{zz{z|{{{{z{{z{zyzzzzz{{|{{z{{zzzzzz{{{{|{{|{|zzzzz{{{|{{{{zz{zzz{z{z{{||{{{zzz{z{{{{{z{{{z{{{zz{{zzz{|||{{||{z{{zzzz|||{|{|{{z{{|{z{{{{{{{|}{{{{{{{{{|||{{||{{{{z|{{{||||||{z{{{{|z{{{{|{{{{{{|z{{{{|z||{{{|{{{zzzz{{{{{z|{|{zzzy{zy{|{|{{{{zz{z{{zz|{|{{{z{zzzzzy{zz{{z{|{|yz{zzzzyzy{{{{|{zzyzyzz{{z{z{{{{|zzyzzzz{{{{z{{{zzzzyzzz{z{z{{{|zzzzzzzy{{z{z{zzzy{zzyz{zz|{zzzzz{{yz{y{zzz{zz{{zyy{zzzyzyz{{z{z{zzyzzyzzz{z|yz{zzzzyzzy{zz{{{{{zzz{{yzyz{{{{{{{zzzz{zzzy{{{{zzzzyz{z{yyz{{zz{{{zzzyzz{zz{{{{{{{{z{zyzzy{z|{{{z{zz{yzzzz{{zzz{z{zzz|zz{{{{{{{{{{{zzy{zzz|{|zy{|{{z{z{zzzz{{{z{{|zzzzzzzzz{|{|z{|z{z{|{{z|{{|{{||{{z{zzz{{{|{z|||zzz{{{{{{||{{{||z{zzz{{{{|{{|{|}|{zzzz{z{}|{{|{{|{{{{|{z|{{|{{|{|z{{{{zz{{{{{|{|{|y{{{zz|{z||{|||z{zzzzz{|{|z|}|{{zzzzzy|z{|z|{{{{zz{{z{z{{||{{|{z{|{{|z{|{z{{{|z{{zzzzz{|{{{|{|{{zz{{|{z{{z{||{{{{{z{zzz{||{{{{z{zzy{{{{{||{|||zz{z{zz{z{{{{{|{{{z{{{z{{{||{{{{z{{{{zzzz{{{{{|zzzzzzzzzzz{|z{|{z{zzz{z{z{|{{z{{z{|zz{zzz{{z{{{{{z{{yz{zz{|{zz{{zzzz{zzz{{y{|{{zzz|{z{{z{{{{{{|{{{{{{z{z{{{{|{{{{z|z{{{z|{z|{|||{{{zzy{{{{|||||}{|{|{z{z{{||{||{{{{{{zzz{{z||||||zz{{{{{{|{z{|{{{{{{{{{{{{||{|{|{{{{|{||||{{{||||{{{{{zz{{||||}{|{|{{{{{|||}|||}|{{{||{{|{|{}}||||{{{{{{|||||{}||{z|}{}{|{|}||{}|z{|{|{{|||{|||||{{|{{{{|}{|||||{{|{{{|{{|{|{||}|{{|z{{|{|z|{||{{{{{zz{z|||||{{{|{{{{{{zz{|z{{{{z{z{z{zyz|||{|{|{{{z{{z{{|{{{|{||{zz{{{z{|{|z{{|{z{{zz{{{{|||{|{|{|z{{zz{{|{{{{||z{{{z{y{|{{|z|{{{{zzzz{{{{|{|{|zzz{{zz{z{{|{{{{zz{{{z{z{{{{{{|{{z{zyzz{{{{|||{|zzz{zzzzzy{{{z|||{{zzzzz{z{{z{{{{z{zz{{z{|{{|||{{{{yz{{{z|z{{|{{{z{{zz{z{{{{{|||{z{{|{{{{|{{|{|||{z{{z{{z|||||{||{{{{z{z||||{||{{{{{{|z{{{|{{{||||{{{{{|}||||}||z{z|{||{{|z{{|||{{z|{{z{||{|||{||z{{{{|{}}|||~}}|{|{{|{{{|}||||||z{||{|{|||}|||}|z||{{|{}||||}||{{{z{{|{|{|||{||{|||{{{{||||||||{|{zz{{{z|{{|||}{zz{{{{{{||||{|{{{{{{{|z|}{{{{{{{{{z{{{z{{|{|{{|{{zz{{{{{{|{{|{|{{{zz{{z{z||{{||{{{{{{{{{{{|zz{|{z{zz{{z|{|{|{{}zzzz|zz{z{|{{{|{{yz{{{zz{{{{|{{{zz{z{{{{{zz|z{|{z{{{|{{{{{{{{|{|zyzz{zz{z{|z{|{|z{{{zzzz{{{z|{|{z{zzzyzz{{{{{{{|{|{z{z{z{|{z{{{|zzz{{z{{{{{{|{|{z{{z{{{{||{{{{{{zz{{zzz{|{{{|{{|{{{{{z{z||}{z{|||z{{z{{z{{{{{{{|{{|{{{zz{||{||{{{|{{{{zz|||{{|{{{{{z{|z{{||}}|||{{z{{z|{|{||||}}|{{}{zzy|}||}|}||zzzz{{{||{||}||{|{z{||{|}||||||{{{{{||{|||{{|}||{||{{{||||{||}}|{{{{z{{|{{{{{}}||{{{{z{||{|}|{|{{{{{{{{{}|{{||{|{{{{{{{{{||||{|{{|{{{z{{|}|}{{{z{z{|z{{|{{{{{||{z{z{zzz{|{||{|{|z{yz{z{{||{{|{|{{{z{zz{|||{{{{|{{{zz{z{{{{|{{z|{{{z{zz{{{{{{{{z{{{{{zyz{|{{{{||{zz{z{zz{{{{z|{|z{zz{zzzz{z{{{{{{zzzz{z{z{|{|{{|{{{zzz{{z{{{{||{{{{z{zzzz{z{{{|{|z{zzzzzz|{z{||{{y{{zz{z{{{|{|{{z{z|{{{{||{{{|{|{z{|{z{z|{{|{|{|{{{|{z|{{|}{{||{{zz{{z{{{{||{{{{|{{|zz{z{{|||||{{z{{{|{{{|{{|{|}{{{{zz{{||{{||||{|{{z{{{{}{|}|||||{{|{zz|||{|}{{|{{{{|{{|{|{||}|{||{|{{|{|{|}|||||{{z|{|}||||||||{{{{{|{}{|||}|||||{{{{}|||}|{{}}|z{|{z{}||||}{{||zzz{{z{||||{||{|{zz{|{{|}{{{{||||{z{{{{{{{||z{{z{{z{{y{{z{{{||{{{{{{{{||z{{|}|{zzz|{zz}{{{{||||z{z{z{z{{{{{{|{{{zz{{{z{z|{z{{|{z{zz|{zz{{z{|{{{{{z{{{{z|{{z|{{{{zz{z{{{{{{{{{{{{zz{{z{{{{{z{{|zzyzz{zz{|{z{{{{{zz{z{zz{{zz{z|{{{zz{z{z{{{z{||{{{zz{{{zz|||{|{{z{{zz|zz{|{{{|{{zzz{{zzzz{{{|{{|y{|{{{zz{|z{|{|{zz{zz|{z{|{{{||{|{z|zz{z{{|{{}{||{{{{z{{||||{||}{zz{{z{z|z{|||{||{{{|{z{|||||||}{{||{{|{{|{|{||}{{{|{{{{|{{}||}|{z||{z{{|||||||||{{{}{{{{{||{||||||{|}{{|||}||}||||{|{z{|{{z|||}|||{{|{{{|{||{}|{{{{||{||||}||||{z{{{|z{|||{||}{{|z{{z|z|||||}||{{{zz{{z{||{|{{{{|z{{z{{zz|{{{|{{zz{{{{{{z|{{{{z{zz{zz{z{{{{|{{|{{z|zz{z{{{||{{|{{z{{z{{{{{{{{||{y{{{{z{{z|{z|{{{zz{z{zz||{{z{z{zz{zzz{z{z{{{zz{zzzz{{{zz{{{{{|{z{zzz{zz{{z{{|{{{{{{zz{zz|{{{||{{z{{zyyzy{{zz|{{{z{zz{zyz{z{z{{z{z{{{{z{||{{|{|{{zzz{y|z{{|{{{{||{z{|z{{|{|{{|{||{|{zz{z|||{{{|{||{|zz{{{{}{||||{{|z{{z{|||||{||{{{||{z{|||||}{|{|{{{{z{{||||}||{|{{{|||{||{||||}{{{||{{{|}{{{}}|{|{||{{||{{|}}}||{|{{{{{}}|||}||{|{{{||{||||}||||{|{{{|||{{|}|||{{{{|{|||||{{|}||{{|{{{}|||||}|{{{{{{{{}|||{{}|{|{{{{{{{|{|{|||{{|{z{{{|{|{||{|{z{{{zz{{{|z|{{|z{{z{{{{{{{{||||{|zz|zzz{{|||{|{zz{{{zzz{{{{zz{{z{zzzz{z{{{zz{{{{{{z{z{z{zz{z{{|{z{z{{{z{{{z{{z{{zzzz{{z{z{{z{|{{zz{{zzz{{{{{{|z{zz{z{z{zz{{{|{{zz{{z{zy{{{zz{{|zzzzzzz{zz{{{{{|z{{zzzz{z{zz{{|zz{zz{{zz{{z{{|z{z{{z{zzz{{{{{{{|zy{{{z{{|z{{{||{{{{zzz{{{z{{{||{{{|zz{{z|{||||{|{{|{{{{{{{{z||{|z{{{{z{z||{{||{{{{{z{{{{{{|{}{{{{z|{{{{|{{{|{|||{{{|{{{{{||}||{|{{z{|zz{|||{|}||z{|{{|{||||||{|||z{{{||{{}|||}||{|{{{|{|||{|||||||{{{|{|{||{}{}}|{|{||{{{{|{|}|{|{{z{{{z|||{{|}}|{z{z{{{z|||z{|||{z|{{{{{|||{{z{z|z{{{{{{||{{{{{{{zz{yzz{{{z|{{{|{zzzz{{{|{||{{|{z{z{{yz{{|{{z{z|{{z{{z{{|{{{{{|z{z{{{{z{{|{{{{{z{{z{zz{{{{{{|{z{|zzz|{{{zz{{{{{{{zzzzzz{{|{|{{{{z{zz{zz|{{{{|||{zzzz{zz{{y{z||{zzzzzz{yz{{{z|z{{z{zz{y{{{{{{||{{{z{{{zyz{{{{{|{|{z{{y{{z|{z|{{{z{{{zzzz{{{{||{|z{{zz{{{{{{|{{}{{{{{{{{z{{{z||{{{z{{{{z{|{{|z{{{|y{{{z{z|{|{|{|{|{|{{{|{{{|}{||{z{{{z{{z}}{|{||}{{z{{{{z}{}{|{|}|{||{{{{|{}}|}||z|{{{|{||||||||}}|{|{|{{|||||||}|{|{{{{{||||||{||{{{{{{{{{{||||||{{{||z{z{||}||||zzzz{z{||{{{|||||z{{zz{z|{{||||{{|z{{{{|||||z{{{{{z{{{zz||||{||{{zz{{{{z|{{z{|{|zzz{{{{{z{|||z|{zz{{zz{|{{|{z|{{{{{zzzy|{{{{|{{z{zz{zz{{{{{{{{{{zz{{zz{{{{z{||{yz{{z{{{zzz{|{{zzzzyz{{zz{|{{{|{{zz{zzz{z{{{|z{|{z{{z{{z{|||{|{|zzz{zzzz{{{zz{|z{{yyz{{zzz{|{{|{{{z{zzzyz{|{{{||{{yzzz{z||{{|{|{{{z|z|{{{{|{{{{|{zz{{{|z||{|{{z||zz{{{{{{}{|{{|zz{{{{|{{{{||{{{|{zz{{{{|{||{{||{{{{{{{{|{|z{|{||z|{{{{|{|{||{|||{{{|{{{|{||{|||{|{{{{{{|{|}z|}}{|{{{z|{{||{||}|||{{{z|z{|}{||}||{{|{|z{{||||{}|}|z{{{||{{{{{||}|||{{{{{{{{|}|||||{{{{{{{{{|{|{|{|{{|z{z{{}{}{{|{{{{{{{|z|{||{{||{{z{{{z{|{{{z{{{{{{{z{zz|{{{|||{|{z{z{{{{z{{||||{{z{{{zz{{{|zz|{|{{{{z{z{z{{{{{{{z{{zzzz{|{{{|{||{{{{{{z{{{{{|{{{{{{{{{{}{y{z{{|z{z{zzzz{{{z{|{{z|{z{zz{{{{{{{|||z{{z{zz{{{{{{||zyzzyzzz{z|{{{{{z{{{zz{{{{z{z{{{z{{z{{z{z{{z{{|||{z{{zz{|{{{{{z||{{z{|{{{{}{|{|||{|z{{{{{{{{{|||{{{{{z{{{||{||||{|{||zz{{|{|}{{{z{{{|z{|z|{{{||}{{z{{{{{{||||{|{{{{{|z{||||}{||}{{||||{{|{|}||||{{{{{z|z{||||||}|{{{z{|{{|||{|||}{{|||{||||||||{|{{|{z{{|||}|||||z{{|{{|||||||}}||{{{{z|{|}|}}||||{z{{||z||{|{}|z|{|{{z{{{||{|||{{{{z{z|{}{|||{|{z{{|{{z||{{{{|{{{{{{zz{{{{{|||{|z{z{{zzz{{{{|{{zy{{{{{{z{{|{|{|{{{zyzzz{{||{|||{z{{zzzz{{{zz{}|{{{z|z{z{{{zz{|z{zz{z{{{{{{|||{{z{{{{z{y|{{z|{|{z{z{{{z{{{|{{{{{{zz{zzzzz{{{z|{|zzz{{{{z{{|{{{{|z{{zz{{{{{z{||{{{z{{|z{z{|{{{{{|{z{z|{zzz|{|{|||{{zzzz{{|{z{{{||{{{{{{z{z{{{{|{{{{{z{z{{z{|{{{{z}{z{z{z{{{|{{{{||{{|zz{{|{{{|||{{||{{z{{{}||{}||{{{|{z{{{|{{||||{{||z|{{|{{|}{||{{|{{{{{{|||||||{{{{{{|{{{||||}||||{{|{}{{|}||{|{{|{{{{{||||||{||{z{|{{|||||||}{{|{{||{||||{{||||{{{|{{{{{{|{}||{{{zz||z{|||{||}{{|z{{{{|{}{||{|{{zzz{{{{{{|{{|{{zz{zzzz{{{{{{{|{{y{{zzy{zz||{|{{{{z{zzz{z{{{{|{{{{zz{{{z{|{{{{{{{z|{{zz{z{{{{}z{zzzzz{{|{|{{}|{y{zz{{z{{{{{{{zzz{z{{{{z|{|{zz|{{zzzzzzz{{{{{|{|{|{{{|{zz{{|z{{|{{{zzz{zzz{z{|z{z{zz{zzzzz{{z{{{{{{{{z{{{|{z{{|{{{{z{z{{{{{{{}||{||{zz{z{{|{|||{{{{{{{z{{|{{||{|{{{z|{{{z|{{{{{{{{{{|{z{{{|{||||{z{{{{{{z||||||{||{{||{z|{||{||}{{|{|{|{{|||||}|||{|{z{{{||{|||||{|{|{{|||||{||{|||{{|||{{{|||}|{|{|y{{||||||||||{|{{{z{{||}||{|{z|{{{{{||||{||}|{z{|{{{z|||||||||{z{{{|{||}{{||{{{{{{{{{||}{{|{{{{{z{{{{||||{||{{{z{{{zz{{{{|{{|{{{{z{{||{{{|{{zz{z{zz{{{{||{||{z|z{|{zy{{{|{z||{{zz{zz||{{{||{|{{z{{{{||{{{||{{z|zz{{z{z{{{{{{z{{z{z{z{z{{{{{{{zzz{{zz{{|{z|{{z{{{z{zzz||{||{{zzz{z{{y{{{||||{{{{{{{zzz{{{{|z{{{{zzy{{{{z{|{{{zz{zzzz{{{{|z{{|{{{z{zz{z|{{|||{{{{{{z{{|{{{{{{||{y{|{z{{{|{{|}}{||{zz{{|{||{|||{{{{z{{{{{|{{{{{{zzzz{z{|||{{|||{{{{{{{{|{|||}||{|{|||{||{|{|}|||{{{{zzz}{|||||||{{|{{}|{|{}}}|{|||{{|||||||||}||{|{{||{|}||{}{}|{||{z{|{|}|{||}|{{||{{{{{|{||||{|z{{{{{|}||{|||||{zzz{{{{{||{|{{{{{{{|||}{{||{}|{|z{{{|{|||||{|{{{zz{z{z|{{{{|}|zz{{{yzz{{{{{|}|z{z{{z{{z{z{|{|z{{zz{z{zzz|{z|||{{zzz{z{{|{{{|zzz{{zz|zz{|{{{{{{{{{z{{{{{{z{{{{{{z{zz{zz|{{{}{{zzzz{zz{{{{{{{||{{{yz{zzz{{z{z|{{z{{zzz{z{{|{{||{{z|{zzyz|z{z{{{zzzz{z{|z{z|{|z|zz{{{{{z{{{{{|||{{{zzyz{|{{||{{|zz{{{{{{{{{|{||{{z{{z{zz{|{|{{{||{{z{{z{{{||{|{|{z{{z{{zz||}z{|||zz{{z{{z|{|{||{zz{{z{{{|{{||{|{{{|{z{{||{||{}||{{{{{{{{{|||||{|{{{|{z{|||||||||z|{z}{|{{|}{||}||{{{{|{{|}||}||{|{{||{{{|{{||}|{|{{{{z{{{|||{{||{{{{{{{{{{|{{|||{z{{{{{{||{||||{{|z|z{{{{|||z{||{{{zz{z{{|||{{|{{zy{{yzzz{{{z{|{{}{z{zzyz{z|{z|{{{{z{{z|z{{{|||||z{zzzz||{||{z||{zz{zz|{{|{{{|{|{{{zz{zy{|{{{|{{{{{z{{zzz{|{{{z{zz{{zz{zz{z{{|{|zy{z{z{zz{{{{{{{{zz{zz{y{z{{{{|{z{z{z{{z{{{{{{||z{z{zzzzz{{z{{|{{zzzzz{z{{z{|{{{|{{z{{{z{{{{{z{{z|z|{zz{{{|{z|||{{z{{{{z|{{|{{{{{z{{{{z{|{|{{{}|{{{{{zz{{{{|{{{{{{{{zzz{||{{|||{|{{{{{{{|||{{||{{|{|{{{{||||||||z{|{z{{||{z|}{|{||{{{z{{{{}|||{||z{{{z{z|}}|||{||{||{||{{||{|||}|{z{{{z{|}|{}}|||{{|z|{|}|{|{{{|}|{{{|{{{|||}|}|{{{|{|{||{{}|||||{{{z{{{|{{|||}|{zz|z{{z{|}|{||||{|{{{z{z{|||{|{{z{{{zzz||{{|{{{{zzzzzz{|{{|||{{||zzzzzz{{|{{|{||{zz{{{z{{{|{{{{{{{yz{zyz{|{{|{{zz{z|zzz{{{zz{{{{z{zzzzz{{}{||{zz{z{z{zz{{{{z{{{{zzz{zzzz{{{{{z{zyzzz{z|z{{{||zzzz{z{zzz{|{{{{z{z{{z{{zz{{{yz{{|{{zzz{z{z{{{{{z|z{zzzzzzz|{z{||z{yzz{zyzz{{{z{{{{{{zzzyz{{{|{z||{zz{z{{{{||{||{z{{zzz{{z{|{||{||{{{z|{z{|{{|{||{|z{{{zz{|{{{{|}{|{z{{{z{|{|{||||{z{|{{|||{{{{|}|{z{{{{{{{||{{||||{{{{z{{|||{{||{{{{{{||{|}||{||||{{|{||{{|||{||{{{||{{{z|}{{||||{z{z{{{|{|||||||{{{{|{{{{{{{|||}||{z{{{{|{||{{||{{{{z{z{{||||{||{zz{{z{{z{{{{{|{z{{{z{z{{{zz{||{{{{zzzz{||z{||{|{{{zz{{z{{{{{{|{{zzy{{{|{}{{{{{|{{{zz{zz{{{{{{||{z|{zzz{{{{{{{{|y{zz|{z{{z|{{|{z{z{{z{y{z{{{{{{{zz{{zyzzz|{|{|{zzzzzyzz{zz|zz|{{{zzzzzzzzzy|z||z{{zz{{zzz{{{{||{z{{zzzz{|{{{{{{{{z{zz{zz{{{|{z|z{zzzzzz|{{{{{|{|{|{{{z{{{{{{||{|{|zz{{{{{}|{|||{{{{{{y{z{|{{||{{zz|{{{zz{|{||||{|z{|{{{{{{{||{|{{{{{{{z{||{{||||z{z{{z{|{||}z|}|{||{{z{{|||||||||{{z{{{{||z{|}}|{|{{||||{|{{|||{|{|{z{{{|||||||}{|{|{{{{{|||{||||{}{|{{{{|{{|||||{|{{|z||{{|||||{{{{{{{{|{}|||||{{z{|{{{{|{||{{{z{|{zz|{|}{{|{z|{z{{zzz{{|{{|||{{zzzyyzzz{||||{{{{{zzzzzz{{{{{{|{{{z{z{|z||{z||{{{{zyz{z{{{|{{{{{y{{zzzz{|{{|{z{zz|y{{z{|{z{z{z{{z{z{zzzz{z|{{{|zzzzzzzz{z{{{{|{{zzyzzz{{{|{z|{{z|{z{{zz{{z{{z|{zzzzzz{z{{{zz{zzzyzzzyzzy{{{{|{{zyzz{y{zz{{{{{|{{z{{{{z|{{{{{{{}|z{{{{{{{{z{{{z|{|z{{z{{{{z{|{{{{{{z{z{{{{{{|||{{{z{|zz||{|{||{{{{{{{zz{||{{|{{|z{|{{z{z{|{||{|||{{{{{|{||{||{|{{z{|{{zz{||||{||}{{{{|{{{|{{|||{{{{{{|{{{|||||}}|||{{{{{{|{}||{}|{{|{{{z||||{||{{{|{{{zz{||{|||}|{{{|{{{{|{|||||z{{{{{{{{{{|{||{|z{{zz{z{{{{z|{|{|{z{{{z{{||{{|{{zzz{{z{{{{{z{||{zz{zy{{{{{|{|||{{z{zz{y{{{|{||||z|zzy{y{z{{z{{||{|z{{z{{{||{|{|zz{{{{{zz{{{{{{|{z{zy{zz{{{{y{z{{zz{z{z{zz{|z|z{zz{{y{zz{z{z{{|{|zz{yzzz{zz{{{{{{z{z{z{zz|{{{z{{{z{zz{zz{{zz{{{{z{zzzz{zz{|{{{{{{z{z{{z{z|||{{{{|{{{{z{z{{|{z{||{z|{{z|z{{{|{{z|{{{z{{z{{|||{|z|{{|{{z{z{{z{|}{{{{{zzzz{{{|{{{|||{{{{{{{{||{{||{z||z{|z{z|||{{||{|{z{{|{|||||}}{{{{z{z{{{{||{|{||z{{{{{{|{||}|||{{{{{|{{||}{|||||{{|{|||{|}}{||||{|{|{{{{|{}z||||{{{{{{{||{||||||{{{{{z{|{||{|{{||{{{{z{{||||{|{z{{{z{{{{|||{||{{z{{{zz{|{{z||z{{zzy{zzz|{|{{{{|z|zzzzzz{|||{{||z{zzzz{z{|{{|{|z{zzz{zz{|{|{zz|{|{{zzz{z{{z|{{{|zy{z{z{zz|{zz{|{zzz{{z{{{{{{z||{z{zzzzz{|{{z{{{{zz{z{yzy{{z{{{{{zz{|z{zz{{|z{||{z{{{zzzzz|{|z|{zzz{zzzzz{|{{{|z|z{{z{z{{{{zz{{z{z||zz{{y{z{{||{{{{z{yy{{{{z{z{{{zz|{{zz{{{|z{|||zzzzz{zz|{{{||{{{zz{zz{y{|{{{{z{{z{zz|{z{|{{{{||zz{|zzz{{|||{||{{{{{{zz{{|||{|||{{{{|{||||{|{}{|{z}|{z{z|||{|{||{{{z||{{{||{||}|{z|z|{{{|{|}|}{{|z|z{{{{{{|}|{{|{{|||||{}}||||}{{{zz{|{{{{z|{|}||z{{{{{|{{{|}|}}{{{z{{z{|{{|||||{{z{zz{z{||z||{{{z{|zz{{{{|{{||z{zzzzzzz{{{z|{||zzzz{z{{{|{{{|{{{|{{z{{y||z{z{{{|{||{zz{|{|{{|||{zzzz{{z|{{|{||{{z{{y{z{z{|z{{|{{{{z{zzzz{{z{{{z{{{zzzzz{{z|{{{{{zz{zzz{z{{|z{{{|{{zyzz{z{||{|{{{{z{zzzy{||{{{{{zz{zzzyy{{zz{{{|z|{{{zzz{{z{{||{{z{{{|{z{|{{{||||zzz{{{z{{{{{{|{{z{|{{{||{|{|{||z{|{{yz{{||||||{|{|z{y{z{|{|||{{z{yzz{zz{}||{|}}{{{{{z{|{{|zz||{{{{{{{{{{|{|{||{{z{||{{||||}{|||{{z{{{z{||{{{||||{{||{{{|||||}}|{|{{{{{{|{||{}|||{{{{{|z{||{}{||||{{||}{||{|{||}{{{{|{{||{{|||||||{{|z|{|{||||{}{{y{{z{{|{{|{|}{{{|{{|{||}{}||||{{z{{{{z{|||z{{{{z{z{zzz{|z{z|{{z|{zzzz{{{{z{|||zyzz{{{z{z{z{{{{{|zzzzz{|{{{{y{{{{{{{{{z{z{{{{{|{zzzzzzyz|{{{{{z{zz{zz{zz{{z{{{{{{zzzzz{{{{{{|{|z{zz{zzz{z{zz{|{zzzzy{z{z{{zz{z|z{zzzzzzz|{{|{{{{zzzzzzzzzzz{z|{{z{zz{zzz{{{|||{zz{{|zzzz{{z|{|{{{{z{z{{z{z{{{|{{{{z{zz{{{|{{|||{{z{zz{z{{|z|{{|{z{z{z{{z|||||{|{{z{{z{{{|{{{||zz{z{{{{|{|{{{{|{|{z{{z{{|{||||{|z{{{|{{|{}{{}{|||{{z{{{{|{{||{|{|{|{|{{z||{{||}|{{{{{{{{{|{{||}||||{z{{z{{{||||||{}{{{{{|{||||{||{z{|{{z|{{{{||||{{{{{{{||||{||{||{z{{z{{{{||{{||{{|z{z{{{{{|||{{zz{{z{{||{|{{|{{{y{{zzz{z{{z{{||zz{zyzz{{{{z{|{z{{yzzzz{{zz{{z|z|{{zzy{{|{{z{||z|{{{{{z{{|}{{{|zzz{z{z{{|z{{{{{{{{zzzyz{{|zz{{{{{{{{zyz{{{{{{{|z{zzzz{y{{z{{|{{zyzzyzy{{|{z{{{|{zzy{{zz{{|{{{{{{{z{{z{yz{zzz{{{z{{{zzzz{{zz{{{{{zz{z{z{{{{{|{|{{{z{{y{z{z{|{||{|z{{z{{z|{{|{{{|{z|{y{z{{|||{||{|z{{{z|{{{{|{||{{{zzz{{yz{|{|||z|{{zzzzz{|{{{||{z{{z{{|{{{||{|||z{{{{z|{|||{|}}{{{{{||{{}||||||||{z{{|{z{{|||{||{{{{z{||{||{|}|||{{|z{|{{|}|}||||{zz{{|||||{||{}|{|{|{{{|{|{{||}||{{|||{{|{|{|||{{z{zz{{{|{{{||||{{{{z|{y|{}||{{z{|{{{z{{z||z||{|{zz{{zz{{|{}{||{{{{z{yz{{{|{||}{{{zzzzz{{{{{{|{{z{z{{{{{{|{{{}|{{{zzz{{{{||z{{{z{zy{{z{{{z{z}z|z{{{zzz{|{{{z||{{{{zz{{z{{z||{z|zzz{{z{zzz|{{z{zzzzzz{yz{|{{{{{|{z{{z{zz{{|z{{|{|zzzz{{zz|z{{{{{{{zz{{z{zzz}{{{{zzz{{{{z{{{||{{|{{{z{zz{{{{{{{{|{{{{zz{z{{{|{|||z{{{zz{{{||{||{|{{{{{z{{{|||{|{|{{|zz{{{{{{{|}|{|zz{{{zz|{}{{|{|zzz{{zz{|{|{||{|{{|{{{z{{||||}||zz||{{z{|}|||||{{{{{{z{|||||{}||{{z|z{|{{||||}{|}{{{{{{||||||||}|{|{{{{{{{||{}|||{{{{{{|{}|{{{|~|{{{|z{|{|{{||{|{|zz{{{{|{{|{|||{{z{{{z{{|{|{||{{{zzzzz{|}||{{{{z{z{{{{{zz{z{{|||{{zzyzz|||{{{|{|{{{{zzy{{{z{{|{zzz{z{{z{{|{{z{|{z{zzzzz|||{z{|{{{{z{zz{{|{{{{{zzzz{zyzyzz{{z{zzzz{z{{z{{{{{z{z{zz{z{yzz{{|z{zz{{z{zzy{{z{{z{||||z{{zzzzz{{|{{|{{z{{{z{{zy{{{{{{{zzzz{z{z{{{|{{|{z{z{{|z{{{{z||{{z{z{zz{{|{{z{{|{zz{zz{{|{{|{||{{{{zz{zz{{{{{|||{{{{zy|{{{{|{||{{{z|{{{z{{{{|||{{{{yz|{||{|zz}|z{|{{}{{{{|{}||{|{{{{{{{{{|||||}|{{{{|{{{|||{|||{{z|z{z{|{||{|}|||{|z{{}{||||||{|{{{{{|{z|||{|||||{{{{z{{}{||{{|{{z{{{z{{{||{|z||{|{{|{{{||{{{||||{{{zzzz{{|{{{|{|{z{{{{{{{{|{||{}{|{{zz{{{{|{{|{{zz{z|zz{{{{z|{{zz{zzzzzz{{{{zz|zzzz|zyz|{{{{|{{{{z{zz{z|z{{||{{z{{zzzzz{|z{z|{{{zz{{{zyz{{zz|{{{{zzyyzz{z{{z{{{z{{zyzz{z{{z{{|{zzzyzz{yz{z{{{|zzzz{z{z{{z{y{z{{{z{zz{zzz{z{{{{{{{zzyy{z{{zz|z{z{z{{{yzzz{{{{}|{z{{z{zzz{z{}{{{z{{yzzy{zzz{{||||z{z{zz{{{{{{|{{}{{{z{z{{{{{{{|{||{{z{z{{{|{{{}z{|{{zz{z{||{{|{{{{{z{{{{{{{{{{||{{|{{{{z{{{||{|||{z{{zzz{{||||}||zz{|{{{{|{{{{{||{{z||{{{{{|{||}}{{{zz{{{|||{{}|||{|{{|||{}{{|||||{{{z{{{||{||||{|{{z{{{{z}{||||{{{{|{z{{{||{z|{}{{{{z{{|{z{{||{||{{{{zz{{||{z||{zz{z{z{zz{{{{zzzzz{{zzzyz{|{zz{|{zzz{z{{{{{{{{{|{{{{z{zy{{{|{|||{{{{zzzz{z|{z{{|{zzzz{{z|z{{{{|{z{z{yz{{|||zz{|z{z{{zz{{|{{|y{zz{z{zz{z{{{{z{{|{z{zyzz{y{z{|{|{{{zzz{zyzz{{{{{{{zz{zy{zzz{{{{{y{{{z{{zzzz{z{|zzz|zz{z{{z{zzz{{z{zz{z{zzzz{{{{|{{{zz{zz{zz{{|{{{{{yzzzz{z{|{||{|z{{{{{z{z{|}||{|{{{{zyz{{{|{{{|{{{zzz{zzz{{{||{|{{{y{{zz|{{{{z}|{{{z{{{z{{z|{||||{{{{|{{z{{||{|{|{z{z{zz{{|{||z|z{{{{|{zz{||{||||{{{{z{zz{{{{|||||{|{{{{{|}{|||||}{{{{{{z|{{||{|{{{|{{{{|{|||{{|||{z|z{{{|{{|{|{|||{zz{{z{||{{|||z{zzz{|{{|||{||{{{{{|z{z|{{{{z{zz{z{zzz|{{{{|{{|{zzzzz{z{{{{|{|{{{zzzzzz{{{{|||z{zz{{zyz{{{{y{{|z{yzyzzz{{|{zzz|{zz{z|zz|z{z{||{{{z{{zz{{z{z{|{{{{z{z{{zzzz{z{{{{zzzzzzz{{|{z{|{zz{zzzyzyz{{{{|{zzz{zzzzzz{{{{{|{{zzyzy{z{z{{{{{{z{{{z{zz{{{z{{{zz|zzzz{{{|{|z{|{{z{y{{zz{{zz{|{{z{{zz|{{{{|{z||zz{{{z{z|{{|||z||{{{|z{{{{|||{{|{{{{{yzz|{{|{{||{{{{zz{{|{{}{|{|{zz{{{{{{|{}|{{|{{{{|z|{{||{{||}{{z|{z|y|{|}|{{{|{|z{{{{||||{}}|{{{{{|z{|{||}||}z|{|{{{{{|{||||{|{{||{{|{|||{}|{{{{{z{z{{{{||{|{{|z{{{{|{{|{|}||{{z|zzz{{zz{|{|{|{{{{z{{{|{{{{|{{{{zzzzz{{{|{|{{{{{yz{zz{{{{{{{z{{zzz{zy|{{z{||}{zzyyz{z|{{{|{{{{{{z{zzz{z{{{{|{{{{z{{{z{|{|{{z|{{{zz{z{z|{{{||{{{z{{{zz{{zz{||{|{{{zzz{{{{{|{{|{{|{{yzzzz{|{|}{{{zz{{zz{z{|{|{|{{{{yz{{{{{{{{{|{z{{{zzzy{zz|{{zz{zzzzz{{{z{{|{{zzz{{{zyz{{{{{|{|zz{{z{z{|{{{{{{|{{{{y{{{|{{{{{z{{{z{{z{|||{{{z|{{{{{y{z{{{{{|{||z{{{{{z{|{}{{|||{{{||{{{{|{{|z{|{{{|{{{||{|{|||z||{{z{|||{|{|{{{{z|{z{{|||||||||{{{{zz{||||||}}{|z{|{{{||{{||{||{||{z|{|||||{}}{{||{{{z|{}|{||||{|{|{{||{{{{||}||{{}{{|{{||{||{{{z{z{{{{||{}}||{zz{{z{{{||{|{||{{{{z{{z{{{}||{{{{z{zz{{z{{{{z|{zzz{zzzzz{{{{|||{{z{{z{z{{{{{{{{{zy{{zz{{{|{{{|{{zzzzzzzz{z|{{|{{zzzz{{z{|{z{|{{{z{zz{zz{{{{{|{{{z{zzzyzz{{|z{{{z{z{zzzz{{{z{{{zzzzzy{yz{{{z|{{{{{{zyzyzz{zz{z{|zzzz{{zzzz{{{{{{{zz{z{zzz{{{{{{{zz{{{{{{z|z{{{{|{z{{{z{{|{{{{{{{|{|zzz{{{{{z||{|z{|{{{zz{|{{{|{{|{{{zz}{{{{{{{|||z{zz{|{{{|{}{|||{{|{{z{||||z|}{{|{{{zz{|z|{|}|}z{|{|{{{{|{||||{|{{{{{{{}||||}|||{{|||||}||z|{||{{{{{{||{|{{{|{||{z{{{{{{|||{|}{|{{{|z{{}{|||{|{{zz{{{{|{|{|||||||z{{{{{{|{|{{{|{{|{{{z{|{{{||{|{{{{{{|z||||{{}|{{}z{zz{{{|{||{{z{zz{zzz{|{{z{z{{{z{zzz{{z{{{|||{{{yzzz{{z{{|{{{zz{zzzz|{{{{{z||{zzz{{{y|{||{|{{z{{zzzz{zyzzz{{|{{{z{zzz{|{{y{{|zzzzzz{zzz{{z{{{z{zz{zz{z|{{{{{zzz{zz{zz{{|{{{{{{{{yzzzzz|zzz{||{zz|{y{{z{{{{|z{{z{zz{zzz{z{{|{{{z{zz{zyz{{{z{||{zz{zzz{z{|{{||{{z{y{z|{{{|z{|||{{z{z{{z|{|{|||||{{{{z{{{|||{|{||{zzz{zz{||{|z|{{{|zzz{{{}{||{{{||zz|{z{{|||||{{z{{{{{||||||{|||{z{z{{z|z||{}|||||{z{{{{|}}{|||{z{{{{{{{{}||||||{{z{{||{{|}|}||||{{{|z{z||}|{||}|{{{|{{{{|{z||}||{z{{{{z{{{}||||{{|y{{{z{{|z|||{|{z{z{|z||||z{|{zz{{zzz{{{{|z|{{{zzzzy{z{{||{z{{z{{{{zzz{{{{{|{{{{z{zzzz{{{|{{{{|yz{{z{z{{{{z|{{{zy{z{{zz{{{z{{|zz{zzzzzz|{z{z|{zzz{zz{z{{{{{z{{z{zzzzzz|{z{{{z{zy{zz{zzzz{{{|{{zzzzzyzz{{{z{{|zz{zyzzz{z{|{{{|{{z{z{yzzzz{{{z{{z{zzzzz{y|{zz{{{zz|zzzzzzy|{{{||{zz{z{zz{{{{{z|{|z{z{{zz||{{{|{{zz{zz{{{{z{z{{|{{||{{z{y{|{{||{{|zz{zzz{{z{{{{|{{{{{{z{{{||{{||{|{{zzzz{|{||{z{{{{{|z{{z||{||{||{{{{z{z{{||{{{}||{zz{{{{||{|{|||{{{{{|{|||z{||z|{z{{{{{z{||{||{{|{|}{{{{||{{{|}|{z{||{{||{{|{||||{z{{{{zz{{{|{||{{{z{z{z{||z|||||{{{zz{z{{{|{{|{zz{z{yzz|{{|{{{|{z{{|zzz{{||{{||yzzzzz{zz{{z|{||{z{yz{{z{{{{z|{{z{zzzyzyz||{|{{|{z{zzz{z|{{{z{{{{z{z{z{z|{{{{{||{{{z{zz{{{{z{{{|{{zz{{zz{z{{{|{|{{{{z{zz{z|{zz{{z{zz{{yz{{z{{||{|{{zzzzy{{z{{{{{y{{{{z{z{z|zz{|{|{{y{z{yz{{{{{{{{z{{z{{zz{|{{{{|{{{{{zzz{||{{{{|{z{{z|{||{{{|{||{|{z{{|{|{{||{}}{{|{{{{z{{{{{|{{|{z{|{{{{{{{{{|{{{z|{|{z|||{||{{|zz{||{{{{{}{|{{{{z{|z{||{{||}||{{{|zz{{{|||||{{|{{z{{{z||||||{|{|||{|{{||||||{|||{|{}{{|||{||}||{{|z||||{||{}||}{zz{zz{{{||||{{|{z|{z{|||||||||{z|z{{|zz|{|{|{|}|{{{{zz{|{{{|{|{{{{|z{z|||{{|||zzz{{zzzz{|{{{z|{z{z{{zz{|{{{|{|{z{{z{z{|{|||{|{{z{z{zzzz{{|z{|{{{z{z{zz{{|{{{||z{{zz{{z{{{{z|{{{zzzzzzzz{{{{|{{|yz{{|zz{{{|{||{zz{{{zzz{zz{{{}{{zz{yzzz{{{{{{{|{{z{zy{z{{{z{|{zzz{{{yz{z{zz{z|{|zzzzzyz{{{{{{|{zz{zz{zy{|{z{{||{z{{{{|z{{{z{|{|z{{{yz{{{{{{{||{{{{{z{{{|{|{|{||{{{{{z{{||||{{{{{{{{{{z{{|||{|}||zz{|{{{{{|{}z{{{{|{{{zz{{||{|||z{{{{|{{{{{{|{||{{{{{{{{{||{|}}||{{||{{{|}||||}}{{|z{||{{{||}|{{|z{{z{{z||||||}}|{|||{{{|{{|{|{{|{}{{{{||}||{||||{{{{{{{{|{||{||{{{{z{{z|{{{||}|||z|z{{{z|||{|||z{|{z{z{|{{|{{{z{zzyzzzz{|z{{{{{z{zzzzz{{z{z{{|zyzzzzzz{{{{{{|{{{z|zzz{zy{|{z{z{{{yz{zzy{{z{{{{|zz{{zzzzz{{zz{|{z{z{{zy{{{{z{|{{{{z{zzzz{|{z{{{{z{{{zzz{{z{{{{{{z{{{{{y{{{{|z{{{zz{y{{zzz{{{{{{zzyzzzzzzzz{z{{z{z{yy{zzzy{zzz|{zzyz{{zzz{{|{{{|{{{{z{z|zz|||{|{|{z{yz{{|z{{{||{z{{{zzz{{{|{{{|||{{{{zz{{||{{{|{{{{z{z{{yz{|{{|}{{{{{{{{z|||{|{{z|{z{{{{{{{|||}|{|{{{|||z|{|{||||||||z{z{|||{{|||{{zz{{{z}|{z|||||{|{||{{{{{{{|{||{{{{{|{{|{{|{|||{{{|{{|{{}{{}|||{z|{{{{|}|{{|||{|{{{{{{|||{||{|{zz{{|z{{{{{{|||||{z{{{z{|{|{|||z|{zzzzzz{{{|{z{zzyzzzzzz{{zz{z{z{{zzzz{{{|{{{{{zz{{{z{z{{{{{{{{{z{{{z{zz{{{{z{{zz{zzyzy|{{{zz{|{zzzzz|zy{{{{{{{{{{zzzzz{{{{z{{{{z{yy{yz{z{{y{{|yyz{zzyzz{{z{|zz{zzyzyyzzz{{zz{{zy{zz{z{z{y{z{|{zz{{zyzzzz{z|{z{zzzz{z{{z{{{{||{{z{zzzzyz{{{{{{{{yzz{{{{{{z{zz||zzyzz{zz{zz{|{{|{{zzz{{{{{{{{{{|{{{z{z{z{{||{}{{{{{{z{{{z||||{}{{z|{{z{{{{{{{||{|{{{{{{{{|{{|||{{{|{{z{{{{{|{|{|{{|{{zzz{{|{{z}{|z{zz{z{|{||||||{{|{{{{{|{|{{{|||z{{{z{z|}{}||||{z{|z{{z||{|||{{{z{{{|{{{{{|}{|{z{{|{{z{|||{{|}|{{{z{|{zz{|{{||}{{{{zz{z{{{|{{|{|{{{{{{z{{{{{{zzzzyy{zzyz||{z{|z{zzzzzzz{{z{z|{{{zzz{z{z|{|||z{|{{{{zz|zzz{{z{{{{zzzzy{{{{|{|{{{zz{zz{{z{z{zzyz{zz{{yzzz{{z|zz|{zz{zzzz{zzzz{{{zzzzyzzzzz{z{z{z{zzz{{|zzzz{z{{{{z{{{zz{yz|z{y|{zz{zzz{z{{{{|{}|{zzzyzzzz{{z{{{{{zz{zz{z{z{{z{{|z{{z{{y{{{|{{{{{|yzz{{zz{{{{{{}||z{{zz{{z{{{{|||{{z{z{z{{z|||||{{{{{z|{zz{{|{||}{z{|zzz{{{{{{{{{|{{{{{z{z{{{||{{|{{zz{{{{||{{{{|}||z|{{z{|{||{{|||{z|{{{{||{|{{|||{{{||{{{|{{}|{||z{z|{{{{}||{||{|z|{{{{{|{{||||{|{z|{{{{|{{|||}|}{{||{{{||{{{|{{|{z{zz{zz{||z||{||z{{{|{{||z{z{|z{{{{z{z{{{{z{z{{zz{zzzzz|{{z{}{|zzz{z{{{zz|z{z{{{z{{zz{{{{{z{{|{zyzz{{{{{{{{{|z}{z{zz{z{{{|z{{|z{{zz{zyz{z{{{{{zzzz{zy{z{{zzzz{zzzyyzz{z{z{z{z|z{zzzz{z{{z|zz{{zy{{y{{z{{z{|{{{{zzzz{zz{{{z{{|z{zzz{{zz{zzz{|{{y{{zzz{zz{z|{{z{zzzz{{{{{{{{{|{{{{z{{zzz{{{{{||}{zz{zzz{{{||z{{|{{|zz{z{{{|{{{{{{{|{{{{{{{||{{{zzz{z{{zz{{{{z|||{{{{{{{z{{|{z{{|{{{{{|{{|{||{|||z{zz{{|{|{{|{}|{||{{|{{{{||{|||{|zz{{{{{||||{}||{{{|{{{||{{{|}{||z||yz{{{|{|{{}|{|{{|{{z{||}|{{}|{z|{{zz|{|||}|||{z{{|{{{{|||{{|{{|zz{{{{||{{{|{{{{{zz|z|{{||{{{{{{zzz{z{|{{{{||{zy{zzzzz{{{{z{|zzzzz{{{z{z|{{|{|z|{zzzzz{z{{|{{{zz{zz{z{{{{{{|{|z{yzzzz|{{{{||{{z{yzzzz{{{{{{{z|zy{zz{zz{{z{{{|{zzyz{zz{{z{zzz{|z{zzzzz{{{z{{{zzzz{zzyz{z|z{z{z|zzzzzzy{zz|zz{{zzzzzzzzzz{{{{{z{z{zyzzz{{{{y||{zzz{{{zz{{{{{{{zzzzz{{{y{{{|{{||{z{zzz{y{{{{{|||{zz{z{{z{{|{{{|{z{|{zz{z{|||||{|zz{{zzzz{{|{{|{{{{z{{{{z{{{|z{{|{{zzz{{z{|{|{{|{{z{{{{|{{{z|{||{{{zz{{z{{{{|{|{{z{|{{|{z{{|{|{}{|{{zz{{{|{{|||{|{z{{{{{{{}{{|{||{z{|zz{{||}|{|{{|{{|{{{{{{{||{|||{{{{|{{{{||{}{{{zzz|z{zz{{{||{|{{{z{{zzz{z|{{||{z{zzy{zz{{{z{{|{z{{zzz{{||{|{{{zzzy{zy{{{z{{{|{{{z{z{{{{{|||||{z{{{{zz{{{{{|{{{{{{z{z{z{{|{||{|{z{z{z{z{{{zz{|{{z{zzzzzz{{{{}{z{{zz{zzz{zz|{{{{z{z{zzzz{{{{{{{{zzzzz{zzz{zz{z|{{z|zzzzzz{zz{z||{{y{zzzzy{z{{{{zz{zz{yzz{|{z{|{{zz{z{{{{z||{|{{|z{zz{zy{{{{{{|}|{{{{{z{{{|{{{{{|{{|{{zzz{{|||{}{{z{z{{{|{|{|||{|{{{z{z{{||||{||{{{{{|{z|{{||{|{{|{zz{{||{|{||}{|{{|z|{{|{|{{{{||{z{zzzz{||||{||{|{{{{{{{{}{{|||{|z|{{{||{{{||||{}|{zz|z{{}{|{||||{{||{z{z||{||}}|{|{{{{{|{|}||}|{z{z{{{{||||}|}|{{{{{|{|||{{{{|{{{{{{{{{|||{|{}|{|{{{{z{{{|z|{||z{{{zzyzz{{{|||{{z{{{zz{{{{{z{|{{{{z{{zz{{{{||{|zz{y{z{{{{{{{{z|z{{zzzzy|{|{{{{|{{{zzzzz{{{{{{|{|{{zz{{zz|{{{{{zz{zz{{{{{z{z{|{|{zzzzzzz{z{z{{|{zzzzy{zz{{|{zz{{zzzzzzyzz||{{{|{{zzzzzzzz{zz{|{{{{zzz{zz{{zz{{{{zz{{z{zyz|{{{{{{|{{zzzzz||{{{{||{{z|{yzy|{{|{{||{{z|{z{z|{{{{|{|{z|{zz{zz{|{{|{{{z|{{{zz{{{|||}z{z{zz{z|||{{{}{|{zz{z{{z||||{|}|{{{{z{|{{|{|{||}{{{|{{{{|{{||{{{|y{{||zy{|{{|||||z|{{|||{{{|{}||}z{|z{{{{}||{{|||z{{|{{{|{{||||||{{{{|{||||{|{||{{{{|{|{{|{|||||{|{{{{{{{{{|{|{||zz||{{zz|||{|{{{{{z{y{{|{{|{{{|z{z{yzz{z{|{{{{{{zz{{z{{{||{{{{{{z{z{zzz{{zz{|{{zzzzzyzz{{{{z|{|zz{zy{{yz{{{{{{|{z{{{zzy{z||{{{{{zzzzz{|{{z{z|{z{z{zzzzzz{y{z{{{zzz{zzzzz{{{|{|{zzzzy{zzz|{{{{{{{z{zyyyzz{{{{z|{z{{zzzzyz{{{{z|{{{|zzzzz{z{{z{{|zzz{z{{y{{{{{z{{z{{z{z{{{{{{{|z|{{z{zz{{|{{|{|{|{zz{zzz{|{}{{|{|{{{{{z{z{|{|{{||{{{z{{{z||||||{{{{{{{{{|{||z{{|{z{z{z{zz{{||||{{{z{z|{|||{{|||{{{|{{{{{{||{||}||||{{{{{z||{||{||{{{zz||{||{|||||}{{{z|{{{|{||}{|{{{{{{z{||{||}{||{{{z{{{|{{}||||{z{{{|{{{{{|{|{|||{zz{{{|{{}{{|{{z{{z{{{z||{{||{{{{{{{y{{|}z||{|z{{zyz{zz||{{|{|{|z{zzzz{{{z{z{{{zz{zzzz{{{|{{{{{{z{z{zzz{{|zz{||zzzz{{{z{{{{{{|{{zzzzyyz{{zz{{{|{zyzzzz{z{{z{z{{z{{{zy{zzyz{{{|zzzyzzzz{z{z{{{zzz{{zzz{{{{z||{z{z{{zyzz{{|{z{{zzzzzzyzzz{{{z{{|zz{zzzzz{{z{{{{|{yzzzz{z{{z{{{||{z{{{zzz{{{{{|{{{{{{zz{zz{|{{|{{zz{{{{z{|{{{{{{|{z{{{{{{z||{{|{{{z{{zzz{{z|{{{|z{{z{{zz{z||{{{z{||z{{|{z{|{{|{|{{{{{|{{z{|{|{||||{{{zzz{|{|{{||{|z{{z{{{{|{|{||{|{|{|||zz|{{{}}}{{{|{{|{{|{{{{||{{|{z{{|||{|{|||{{{z{zz|||{|{|{||{{{{|z||{z|||{||{{z{z{{{{||{||{{|{zz{{{|{||{{||{{zy{zzz{{|{{z{z{yzzyzyzzz{z{{{{zz{{yzzzz{z{z{{|zzz{zz{z{{z|{{|{{{{{zzyz{{|{{|||{{zzy{{{{{{{{{{{zz{zzzzyz{{z{{z{z{{z|z{{z{{z{|z{{zzzzzzy{{zz{y{{{zzzzzzz{{{z{z{{zz{z{yzyz{{{{|{{{zz{zz{zzzz{{{{|{{{zzz{y{{{{z{{{{yzz{z{zz{zz{{{{z{{{{{y{{{z{{{{{{{zzzz{z{{|{z{||{{{zzz{{zz|{{|{|z|{yzzz{{|{|{{||{zz{{zz{{{||{{|{{{{zz{{z{}{{z{}{}zzz{zz{{{{{{{{{{{{z||zz{{{|{|}{{|{{|{{{{{z|{||}{{{|{z{z{||{{|||{z{z{{|{||{{{z{||z{|z{}{{||||||||{{{{{{{|}||||{|{{|{{zz{|{}||{|{|{z{{z{{z{{}|{{|{{{{|{{|{{{{{{||{zzz|{{{z{|{{||||z{{{{zz{|{|{{{{{{|{|zzz{{|{{{{{{zzzzzyzz{|{z{{|{zz|{yyzz{{{{|{{{{zzzz{z{{{{{|{}z{{zzz{z{{|{{z|{{{{zy{{{{{{{{{z|{y{{z{zzy{|{z|{{{z{{yzz{{|{z{|{{{{{zzzzz{{{{z{{|{zzyzzzzz|{{z{|{{{z{z{yyzz{{z{{|{{zzz{{z{{|{{z{{z{z{{zzzzzzzz|zz{zzz{zzzz{{z{{{|zz{{z{zz{{{|{{||zzz{{{{||{|{{|{{zzz{zz{z{{|z|}||{z{{|z{{{|{{z{|{|zz{|zzy{||{|{{{|z|{{{{{{||z{|{|z{{{z{{{|{|{{{{z{{z{|{z{|{{||{|{{{|{{{{{{{{{{||{{{{|{z{{{|||||{|{{{{{{{{}||{||{|{{|{{|||{|{|||{{|{z{{{{{{}|{{{}|{{{{{{{{|||||||||{{||{{{{{{{{||}|{{|{{{{z|{|{{|{{{|{{{{{z||{{|{|{{zz{{zz{}{|{{|{{zz{zzzz{{{{{z{z{{z{{zzz{{z|z|{{z{{{z{{{{|{{z|||z{zz|z{z{z{z{{|||{z{{zzz{{zzz|{|{z{zz{{yz{{{{|z{z{{z{{z{z|{z{{{|{{{{z{zzz{|z{|{{{z{{zzz{zz{{{{{{{zzyz{zz{{{{{{|z{zzzyzzzz{{z{|{{|zzzz{yzz{{{{z|{{zz{z{zz{{z{{{|z{zzzzzzzz{{z{{{{zz{|{zzy{{|{{{{|{zz{{zzz{{|{z{z||{{|zz{{|{{|{|}|{{z{z{{{{{{{|||{|z{{{z{z|{z{||{||{{z{{z{{{|{|{|{{{{{{{{{|{}|{|{{{{|z{{z{||{}||||{{|{{{|{|{|||||||{{{{{{{||||{{|||{{|{{z{}}{|}{}|{|{|{{{{||{||||||{{{{|z{||{||{{{{{{{z{{z|{|||{{||{{z{z{{|{{|{|||{{{{{{{{|{{}{|{||{|z|zz{{{|||{||||{{||{zz{{||||{|{zy{{{{|z{{{{zzzzzzyzzz{{{{{z{z{zzzzzyzzz{{{{{{{zzz{zzzz|{{zz{|{z{yz{z{{|{zz{{|{zzyz{{{zz{{{{{{{{zzzyz{{{{{z{|zzz{zzzzzz{{z{{z{z{zyyz{{zz{{zzz{zzzz{yzzz{{{z{{{{zz{y{z{{z{{z{{{zzyzzyzzzzz|z{z{{zzzzzyzz{{{z{{{{z{z{zzzz{{z{|{|z{zzzzzy{{{z{{z|{{{z{zzzz{z{z{|{{z{{zz{{{z{{{{{{z{z{{{{zz{{{{{||zz{{{z{{z{{{||{{{{{{z{{{{|{{z{{{{z{{{z{z|{|{{}|{{{z|{{zz|z{|{{||z{|{{{|{{{{{{{{||{{z{z{y{|||||{{{zzz{{|{||{{|||{{{{{||{{||{|||{|{{{{z{z{z|{|{}|||z{{z{{|{|||{||{zz{z{{{{||{|{|}||{zz|{{{{{{||{|||{{{{z{{||{{{{{{|{z|y{{z|{||{{|{{zz{{xzyz{|z{{||zzzyz{zzz|{{{{{{{z{z{{z{zzz{{{||z{zz{z{{{{z{z{{{{zz{z{{z{{||{{|{y{{z{{zz{z{{{|z|{z|zz{{zz{{{{{|z{{z{zz{zz|{{z{{zzz{zz{zy{z{{zz|{zzzyzyzzzz{{{{{{z{{zzzzzz{{z{{{z|zz{z{zz{{{{z{{zzzz{y{zzz{{zy{z{{zzyzzz{{zzz{|}{{{zzz{zz{{z|z||{{{{z{zzzz{z{{{|{{{{{zzz{{{z{{{|{z{{z{{z{|{|{{{||{{{{{z{z{{{{|}z{z{{{zz{z{{{{|{|||zz{{zy{|{{{{||{|{{{{z{{|z||{{|{{{z{{z||{{||{{|}{z{|{zz{{|||{{|{{{{|{y{|{}{|{||{}{{zz{||z|{{{{}}|{{{z{|zz||||||{{z{{{z{z}{|{{{||{{{{{{{{{{{|{{|}|{{{|{{{|{{|{|{{|{|{{{{z{{z|z||{|{{z{{zz{{{{}||{|{{z{zzz{|{{|{z{{zzy{zzy{{{{{|{{z{zz{{{{{{{{{{{{{zz{zzzy{{{z{{{{{z{z{zz{{{{{{z}|{{{zzzzz{{{{{{{|z{{z{z{zz{{{y{|{{zz{zzzy{{z|z{{{zzzzz{yz{|zzz{{|z{{zz{zz{|{{{|{{|zy{zzzz|{{{{z{{{z{z{{{yz{|zz{{|zzz{zzzyy{z{{z{zz{zzyz{z{z|{{{{|z{{z{y{zzz{{{{{{z{zzzzzzzy{{|{{}{|{{zzzz|{{{{{{z{z{{{z{y{{{{|{||{z|{{{{{||{||||{z{{|z{z{{{|{{|{|{z{{{{z{|{|{|||{|z||{{z{{||||{||{{zz{|{{}{z|{||}{{|{zz{{{||}{{||{z{{{{{{||}||||}|z|{{{|{|{{|||}}|{{{{{{{{||||||}|z{|{z{z||{|||}}{|z|{{z{{|{|{|{}{{{z{{{z||{||{{|{|{z{{{{|{|||{||{{z{{{{z{|{{|||{{{z{{{{{||{{{|{|{{zzzyzy{{{{{{zz|z{zzy{{|{z{|{|{{{{zzy{z{|zz{||{{zzz{zzz{{{{z{|z{y{{zzzz{{z{{{{|{zzz{{{zzzz{z{{{zzzzzzz{z{{z{{{zzz{zzzzzz{{{z{{{zz{zzzzz{{|z{{{{yz{zzzzzz|z{{{z{{zz{zzzzzz{{{{{{{zzz{|zzz|zzz|z{zz{z{yzyz{{{{{|{{zz{z{zzy{{{{|{{zzz{{{{|z{|z{z{{zz{{{z{z{z||{{{|z{{{{z{z{{{{{{||z{|z{zz{{{z|||z{|{{{{zzz{|||{{||{{z{{{z{}{{|||{{{{{{{z{z{||}{}|||{{{{|{{||{{{|||{{{|{z{{{||||{{||{z{{z{{{|{{||||{{{{|||{{|{||{|||{{||{{{{}|||||||{{|{{{z{}{|{|{||{z{{z{{{|{|{||||{{{{{|z||||{{|{{zzz{|{{{|{||{|||{z{z{{z{{{|z{{|{{{z{z{y|{||{{z|y{zzy{{z{{||{{{|{{z|{yzz{|z|{{{|{z{z{{{y{z{{{z|{zz{z|{z{{{|{z{|{{{zz{z{z|zz{z|z|{{{zyz{y{z{zz||{{z{z{{{z{{{{{{{{yzzzz|yz{z|{z{zzz{zyzzzz{{z{|{{{{{{zzz{zz{z{{{{{y{zz{z|z{{{{{{z{{z{z{zz{{{{z|{{{{{z{zz{{{{{{{{{{zz{zzz{z{{{{|{|{{z{{{{{zz{{||{||zzzzz{{z{{{{{{|{{y|{{{z{|{|{z{|{zzzzzy|{z{{{||{{{z|{{{zz{||{{}|||{|{{zz{|{|z|||{||{{{{|{{||}{|{}z|{{{|{{||{|{||||{|{{z{{|||{||||{{{{{{{||||{||}|{{{|{{||{|{|{|}||{{|z{|||||}}|{{{{{|{|{{|}{{{||||z|z{{{{|{|}|{{|{{{|{{{{|||{||||{{{{z|{z{{|{{||||{{{{{zz||{{|{{|{z{zzz{z|{|{{{{|z{yzzz{z{{z{{z{}{{{z{z{z{z{{{{|{{{zz{z{z|z{{{|{{{z{{yzzyz|{|{{z|{{zz{zzz{z{{{|{{{z{zz{zy{{{{z|{{z{zz{z{zz{|{{z|{{zzz{{z{{y{{z{z{zz{zz{zzzzz{{{{{{zzzzzyz{{|{|{{{{zzyyzzy{{{|{{{{{{z{zzzyz{zzz{z{zzz{zzzzz{{{z|z{zyzz{{{{{{{{{z{{{z{z{{{y{{{z{||{{z{z{yz{|{{{{{{|{z{{z{zz{{}z{{z{{{{z{zzz{{||{{|{z{{zz|zz{||{{{||z{zz{{z{{||zz|{||{zzz{{z{{||||||zz|z{{|{{|{{||||{z{{{{{{{{{{{||{|{|{|z{{||{|||}||{|{{{}{{}{}{||||z{{{{|||||}||}|{{{{{{zz{|{||{||{{{{{{z{{||{|}|}|{{{{z{||{{|{|||zz{{z{{{{||||||{|{z{{{{{||{z{||{{{{zzz{{{{{z||z{{z{{zz{y{{z|zz|{{{zz{yzz|{{z{|||{zzz{{{z{{z{{{{{{{z{zzzzz{{{{{{|zzzzz|{z{z}{{|{{zzzzzzz{{||{z{{z{zzzz{{{{z{zz|{|zzzyyz{z{{yz{{{{z{zyzzzz{|{{zz{{{zzzzzyyzz{{|{{|z{zzzzyzz{{|z{|zzzzzzzzz{z{zz{{{{{{zzzzzz|z{{{z|zz{{z{{z{{{{{|{{{y{{{z{z{{{{z{|{{zz{zyz{z|{{z||zzz{zy{z{{{|{{|}|z{{{|z{{z|{{{|{{|{{{{{{{|{{{{||{zzz{|{z{|{||{{{|{{|z{{{{{|{||||{{{{{{{{{{|{|{{|{{{{{{z{{|{|{{||{|{|{||{z{{{||||||{|{{||{|||||{{|{{{zz|z{|}{||||{|{|{z{{{|||{{{{|{z{|{{{{{{||{z||||{z{{|{{{{|||||{{||zz{z{{{|{}{|{|{z{|z{|z{{{{{{{{zz{{z{{||z}z{{{zzzyzzz|{{{{{{|{{z{{zzy{{{{{z|{{z{{|zyz{zz{{z{{{{{{{{zzz{{{zz|{zzz{zz{yzzz{z{{{{{{z{{zzz|{{{|{{zzzz{zz{{{|zz{{z{zzy{{zyz{z{{z{z{zzz{yzzzzz{{{{{zzzzz{yz{|{{{{{{z{zzzzzy{{{{z{{{zzz{{zzyzz{{{{{{{|zyz{zz{{z{{{{{{zzz{zzzz{{|{|{{{z{{zz{{z{|zz{{|{{{{zzzz|{{|{{||{zz{z{{{{{|||{{{{{{zzy{{{{|{z{|{{z{{{|{y{|||{|{{{zy{zz{z{{{{{{||{z{{{z{{{|||||||{z{z{{{z||{{||||{{{{z{zz||{{|{{|{{{{|{{{|||||{||{z|{{|{|{||||}||{{{{{||{{{{{||}||{{z{{{z{{|{{{|||{{{{{{{{|{z{|||}z{{{{{{|{{{{{||{z|z{z{|{{{|{|||{{z{}zzyz|{{{|{{{z{z{zzz||{{{|{{z{zzy{z{{{{{{{{|zz|zzzz{{|{|z|{{z{zzz{zz{{{{{|{{{zz{{z{z{{{{z{||{{{z{{z{{{{{{{{||zzzzzzyzzyy{||{{|zzzzzz{zz{{{{zzzyyz{z{z||{z{{|{z{zzzzzz{{zzzzzz{z{z{zz{z{{|{|{{{{{{yz{{||{|z{{zz{zzz{{z{{{{z{{zzzzzz{{{z{{z|z{{zzyz|z{z{z{z||{{zz{{zz{{{{z|{|{{z{{{{{{|z{z||{{z{zz|z{z{{{||{{{{z{{zzz{{|{{{{|{{{z{{zz{{{|{z{|{{{{|z{{{|{|{{||{z{{z{{|{|{{|||||{{|z|{|{{{{|{|||{{{z{{z{{||||||||{{{{z{|{}{|{|}|||{y{{{{{|{{{|||{{{{{{{{|}{|}{|||z|{{{{{|{}{{|||{z{z{{{||{||{||}||{{{{{{||{||{||{{{z{zy{{||{z{|||{z{z{z{{|||zz{|z{|zy{zz{{{{{|{zzzyzzy{yz{|{{z{|zzyzyx{{{|{{z{{{{zzzzz{z{{{{{z{zzzz{zz{zz{{}{{{{zzzz{y{yzz{z{zzzzzzy{z{zz{z{{{{|z{{zyzzz{{zzz{{{zz{zzzyzzzz|z{{{z{yzyzzzz{{|z{zz{{zzzzxzz{{{{{{zzz{{zzz{z{z{{{{zzzzz{zyzzz{zzzz{yzzzzzzy{{z{{|{{{z{zzzyyz|{{{z{{{z{{zzzzzz{{|{{{{{{{{zzzz{{{z{|{z{z{yz{{{{{{|{|{{||{zz{{{{|{||{z{{z{z{{zz{|{{{{z{{y{{zz{{|{{{|{{{z{|{zzz|{|{{||{zz{{{{|z||{}||||z{|{z{{z{{{{{{{||z{{|{{{{|||{|{|{{{{z{{|z|{{||||{z{{z{{zz{|{|||{zz{{{{{{|{{{{}|||zz{{z{z{{{{{|{|{{{{{z{{|{|{||||{{{z{{{z{||{{{||{zzzz{{z{z{{{|{{{{{z|z{{|||z{{zz{zzzzzyz{{{{{{{{{zzzzzzz{{z{z{{{zzzz{z{z{{{zz{{{{zz{zzzzzzz{|{{|{zzz{yzzzzz|z{zzzzzyzzzyz{{{z{{{{zzzzzzy{z|zzzz{{zzzyyzzz{{zz{{{zz{zzzy{y{|z{{|z{zzzzzzzzz{{{z{zzzzzzzzz{z{zz|{|z{zzzyyzz{z{z{zz{zzzzzzzz{{{{{{{zz{zzzz{zz{{z{zzzzzz{zzzzz{zz{{|zz{zzz{zz|{z{{||zz{yzzz{z{{{{{{{|{{zzyzz{{{{||{{{{zz{{zz{|{{{||{z{z{{{zz{{{{z{|{|zz{z{{{{{{||||{{{{{{|{{{||{||||{{{{{{zz{{{{{{||{zz{zz{||||z|||{{{|{{|||{{{{||{|{z{{{{{|z{|{||||{z{{zz{{{{||||{{{{{z{{z{z{||||{|{{{zz{z|{{{{z|||{{{z{z{z{{z|z{z{{{zzzy{z|{{{|{{{{z{zz{{z{{{{|{{{z{z{z{zzz{|{{{{|{{z{zz{zz|{{{{z||{z{zz{zzzy{{{|{{zz{zzzz{z|{z{{{{{zzzzzyzz|z{{{{{z{yyzzzzz|z{{{zzzyyzz{zzz{zz{{zy{yzz{zzzz{z{{zzzzzzzz{z{{{{zz{{{yzzzzzzz{{{||{{{{{zy{zz{{{|z{{zzzyzz{{{{{{{z{{{|z{y{zz{z{{{z{{zz{{zz{{z|z{{z{z|{zzzzzzzz{{{z{|{{zzzzzz{{z{|{z{{{{z{z{{z{|{|{{{|{{{{{y{z{{{}|{|{{yz{{{zz{{|{{{{{{{{z{z{z{z{{z{|}{{{{{{{{{|{{|||{{z{{{z{{{||||{{}zz{z{{zz{{|{|{|{{{zz{{{z||{z{|{|zzzz{|{{{|{{|||||{|z{z{{{|||{{|{{z|{z{{{||}|{|{{|z{{{z{{{|{|{{||{zzzz{{{{|{{{|||zz{{|}{{{||{z{{{|z|{zz{zz{{|{{|{{z{z{{zzz{{{{{{z{zzzzz{z{{{zz{{|{{{{z{z{z|{|}{|}{{{zzz{z|{|z{|{|zzz{{z{yz{|{z|{{zzyzz{zz{z{{z{{{zz{zzz{yz{|{z{{yzzzzzzzzz{{{z{{{{z{zzzzzy{{{z{{{zzzzzy{z{{zz{z|{{zzzz{zy{zzy{{||zz{zzzy{z{{{z{{{{z{zz{zzz{|{z{{{{y{zzyzzz{z{|{{{{y{z{zzy{|{{{{{{{zz|{zzzz{{{{||{zz{z{z{{{{{}{|z|{zzzz{zzz{z{|{{{{{{{|z{{{|{|{||{{{{z{{{z||{|{|{||z{{|{{{{z{{|{{{{{z{|{{{||||{{|||{z|{{{{{|||{|{|{{{{z{{{{{|||{|{|{z{z{{{{||z{{|}|z{z{|{||{{||||||{{z{{z{{{{~}}|||{||{{|{|{||{|{{{{zz{{z{||{{|{|||{{|{{z|{{{|{{|{{z{{{|{z{{{{{||{{{z|{{{{{|{||{||z{{z{z{z{{|{{{{{{|{{{zz{z|{{{z|z{z{zzzzz{{{{{{||{{{zz{z{|z{{{{|{{z{{zzzzzz{{{z|{{z{zz{zy{{{{z{||zy{{zzyzzzzzz|zz{zz{{zzz{z|zz{z|zzzzzz{zzz{{z{{zyzzzzz{z{{zy{{{z{z{{z{zz{z{{{|{{{{zyzz{y{{{z{{|{zzzzzyz{z{zz{{|{z{{y{{yz{zz{{|{zzyzz{zy{{||{|||{{z{z{zzz{{{{|{|{zz{z{z{{{z{{{{|{zz{z{{z{{{zz{{{|}z{{{{{{z||{|{{|{{{zyz|z||{{|{||{{|{{zz{{{{z{{{{{{{{{yz{{{{z||{|zz{z|{|{|||z{{|||z{{{{zz|{|{||{{{z|{}{{{}|{}{|||{{{|{{{{{{|||{|||{{{{{{zz|z|||}||{z|{{{z|}||{|}||{{{z{z||{{||||}|z{{z{zz{{{||||{{{{yz{{{||{{|{||{{zz|{{{{|{|{{{|{{z{|{{z{{|{z{z{z{yzyyzz{{|z{z||{zz{{{zyz{z{|{|}{zzy{zyz{{{z{{|{zzz{z{yzz{||{{|zz{zzz{zy|{{{{z{z{z{yz{zzz{z{zy{{{zzzzzz{{{{zzzzzzz{zzzz{{{{|z{{|{{zzzyz{zz{zz{{|{{{{y{z{z{{{{{{|{{{zz{zzz|{{{{|{z{zzzz{yz{{z{{zz{{zz{{y{{{|{{|{|z{z{z{zz{{{{z|||{{{zzzzyz|{{z{{{z{{zzzzz{z||||z{zzzzz{{{{||z{{||z{z{{zz{z|{{{z{|{{{{|zz{{{|{{{}{{z{z{zz{{{|{z{||z{{{|{{{|{||}{{{{{{{z{{{{|{{{}|||||{{|{{{|||||{|{{z|||{{||{|||||{{{z|{|{z}{{|{||{{z{z{|{{}|{|||||{||{{z{|{{|{z||}{{{|{{{||{{{|||{{|||{z||||}{||}{z{z{z{{{{{z{||{|{{z{{z{{|{|{{|||{zz{zzz|{|{z{{{{{zzz{zz{{{|zz|{{{{{{{z{{{{z|{{|{zz{zz{z{|{{{{{{{z{z{zzzz{{{z{{{{z{z{zzz{{z{{{z{z{|zz{zz{||{z{{{{{zzyzzz{{{z{{z{zzzz{z{{{zzzz{{{{yzz{{zz|z{zzz{zz{{{z{zzz{{{{z|{{{{{zz{z{zz{|z{}zzzyzz{zz|{z{{{|z{zzy{zzz{zzz{z{zzzzzzzy{{{zz{|{zz{zz{{z{||{{{z{zzzz{z{z|{{{{||}{z|{zzz{{|{{|{{{{zz{{z{z{|{{{|{|z{{{zzz{{||{{z|{{y{{zz{{{{{{{|{{{{{{z{{|{{{||{|{|{|{zz{{{|||{|{}|{{{z|zz{{||||~{}z{{||{{{}{|||{{{{{{{{}{|||||}{{|{{z{{{z|}{||~{{{z{{|y{z|{||}}}{|z{{{{z||{{||{|||{|||{{{|{|{{{z||{{z{|z{z{|||{|||{{{{{{z||{|{{|{zz{{zzzz|{{|{zz{{zzzy{zzz{{{|{|{z{zzzzzz{zz{{{||{zzzzyzz{{z{z{{|z{{{{z{z{{{{z{{|zzzzy|zz{z|{{zz{z{z{zzzzz|y{z{{zzzzzzzzz{zzzz{z{{zzzzzzzy{zyz{{{zz{yyzzzz{{{{{{{yzzyzzzz{{z{|{{|zz{zyz{z{z{zz{{{zzzzzyzz{{{z{{{{{{zz{yyzzzzz{|{|zzzzz{{zzz{|zz|{{zzzz{zzz|z{{{{zz{z|yy|{{{{|{{{|{{z{zy{{{z{z{|{|{z{{zzz{z{|{y{{{zzz{zzzy{{{{z{|z{{{{{zz{{||z|||{z{{{z{z|||{{{|{|{{{||{|{{{|{|{{|{{|zz{zz{||{{{|{|{zzzz{z|{{||||{|z{z{{|{{z||}|||{{{{z|y{{|{}|{|||{{{zz{||{||{|{|{{{{z{|z{{z||{}{|{{|{{|{{{{|||||{{zzz{{{{{{{{{||{{{zz{{{z|{||{|{{z{{z{zzz{|{{z{{{zzz{yzz{{|{{{z{z{{yzzzy{{{{{{|z{{zz{zzz{zzz{{|{zz{zzy{z{{z{{{zz{zzz{zzz{zz||{{{zzzz{z{{z|z{z{{zzzzyzzzzzz{zzz{{zzzzzzzzz{z{{{{{zzyzzyz{{zz{zz{y|z{zzzzzz{{zzz{{{zz{yyzzyzz{z{z|zzz{{yzzzz|{{{z{z{zy{zyyz{z{{{|{zy{zzzyz{z{{{z|{{zzz{z{z{z{{zz{{{{{{z{{z{{{{{{{{yz{{zzzz{}{{{||{{{{z{{z{{z{{|{{{{{{zz{z{{||{{{|{|z{{y{{{|z|{{{{{{{{{{|{{z{|{|{|}{{|{{z{{{{{|{{{}|{{zz{zz|{|{|{|{{{{{zzzzz{|z{|||{z{{z{{{{{{{||{||{z{{{{zz{{{|{|{z{{{{z{{{{|{{z|{zzz{{{z{||{|{{{||{z{{{z{|||{|{|{{zzzz{{{{|{|z|{{{zz{z{yzzz{|{{{{{z{zzzzz{zz{{{z|yzyyzyzyzzzzz{{{{zzzzzyz{{z{{{{|zzzzzzzy{y{{||||{z{z{zzzzz|{zz{{zz{zzzyyzzz{z{z{{z{yzzyzzzzzz{{z{zzyzyyz{{|zz{{{zyyzyzzzz{{{z{{zzzzyzyyzz{zzz{{zzzyzyzyz{z{zz{{z{z{yzzzzz{z{z{{|{zzzzzzyzz{zz{{|{yzyzzzzy{z{z{{zyzzz{{zzz{{{{z{|{z{{|yz{zzz{zz{{{z{{zzyz{zz|{{{{yz{zz{zz{{{z{{z{{z{z{zzzz{|{{|{{{{|z{yzy{|{{{|{z|yz{zz{z{{zzz|{{zzzyz{{z|{{||{|{z|zz{{|{}{{{{|{z{{{{zzzz{{{|{||{|z{{{z{{{{|||{||{z{{{z{{|||{{||{{z{{{{{{{|||{||}{{{{{zz{}{||{{{{|z{{|{z{{{{{{|z{{{{{{{z{{{z|{||{{zz{{zz{{z{{{{|{||zz{zzzz|{{{z{{zz{zzy{z{{{{{{{z{{y{zzzy{z{z{{zzzzzzyzyyz{{{{|z|{zzzz{zzz{{{|z|{zzzzzzzz{z{{z{{{{zzzyyzzzzz|{{{{z|zyzzzyz{z{zz{{|z{z{zzzz{{{z{zz{z{yzxy{{zzz{y{{zzzzzxzyz{{z{{{zzyzzyzyzz{zzzz{{zz{yyzzzy{{{zzz{yzy{zzzz{{{zz{{{zyyz{yyzyzzz{{z{zzzyz{yy{{{{z{{{{{yzz{{y{{|{{{|{zyz{{y{{{{zz{|{|{z{z{{|{z|{z{{{z{{zz{zzz{|z{{{{{{zzzz{{{{{{{{z{{{zy{z{{{{{|{{{{{{z{{z|{{|{{|||{{{{{z{{{{|{{|{{|}{|{{{{{z{{||{|{{{{{{{{zz{||{{|{{{z{{z{{{{z|{{{|||z{{{{z{{~}||{{||{{{z{zz|{|{{}{|{z{{{{{{z{{{|{|}|{{{{zz{|z||{||{z{{z{{z{{{z{|{|{{{{z{zzzz|zz|{{{z{{z{{{zy{{z{{z|{{zzzzzz{{{{{{{{{{z{zyzz{{{{|{z|{zzz{z{z{{z||{{z{{{zzyzyz|{{{{{{{zzxz{zz{{|{{{{|{{{zzzyzz{{{||{zzzzz{zyz{{{zz{z{{zzy{{zzz{z{{z{zzzyz{y{yz{{{{z|{{z{yzzzzz|{z{z{{{z{zz{z{z{z|z{{|{{zzzyz{{{{z{{{{{zzzzzzzzz{z{|{|z{{z{zzz|{{{{{{|{zzz{zzzz{{z{{{{z{{{zz|{|zz{{{||zz{{z{{z{z{{|{{{{{{z{yzz{|{{|{{{{zz{{{z{{|{z{{|{|yzzz{{{{{z{z|{|||{{z{z{|{{{|{{|{{{z{{{{{|z|{{||{z{{{z{z{|||{{|z{z{z{{{{|||{}|{|{{{{{{zz||{|{|||{{{{z{{{||{||||}{{|{{z{{}}{{{|}|{{{|{{{{{{{{|}|||{z{{{{{{|{|{|||{z{{{{{z{|zz{{|{|{{{{{{{z||z{{{{|z{{zzz{{zzz|z{zz{yz{zzyz|{z{{{{{z{zzz{{{{|{z|{{zzzz{z{{zz{z{{{|{z{{{yzz{{{{{z{|zzyzy{zy{z|zz{{|z{yz{zzz{{{{{{{{z{zzz{zz{z{{{z{{{zzyyzzyzzzz{{{{zzzzzyzz{{zz{z{{zzzzz{zz{{zz{z{{{{{zzyzyz{{{z{{{{zz{zz{zz{z{z{{|{zz{yzyzyzzz{||{{z{zz{zzz{{z{{z|{zzzzy{zz{{{{{{{zz{{zyzzzy|{{{{zz{{zzz|z{z{{|{{|{z{{zzzz{z{{{|z{{z{{zzzz{{|{{{{{{{{z{yz{{|zzz{|{{{z{{{z{||{|{|||{|{z{{|z{{{{{{||{{{{{{{{|{|||{{z|zz{{|z{{}||{||{{{||{{{{{|||{||{{{{{z{{|{|||{||{{{{z{{|{{{||{|{{|{{{{|{{|{{{|{|{|{z||z{|||{||||{zz{z{{{{|||{{{|{{zz|z{{z{|{||{||{|{z{{zz|{{{{{{{z|zy{zzzz|{{{{{{{zzz{yzz{|z{{{{|{{{yz{zzz|zz{{{|z{{zzzz{{z|{z|z|z{zzzzzz{{{|{{{{yzzyzzzzzz|z|{{{{zzyzzy{{{z{{z{zzz{yzzzzzzzz{|{zzzzzzyzzzz{|{{{zzzzzzzzzz{{z|{{{zzzzyyy{{zzz{z{|{zzzzyyzz{{zzz{z{zzy{zzzz{{{{{z{zzzyzzzz{z|zzz|{{z{zzz{z{z{{z{{{{zz{zzz{{||{z{||y{{zzz{z{{{z|{||z{{{{z{zz|}{z|{{{{{z{{{zz|{zz{|{{zz|{{z||z|zz|{{{{{z{zzz{|z||{||{{z{{{{{{{{{||||{z{|{zz{|{|{{|{{{{z|z{{z|}{|{|||{{{z{{||z||{{|{||{{{z|{{{|{||||||{{zz{{{|}{{|||||{z{|zz{z{||||||{{{{{|{|{{||{|||{|{zz|{||{||{{||{{{{zzz{{|{{z||{||{zzyzy{z{{z{{zzzzzz{zzz{{|{z{{zzzz{z{z{{{{z{{|zzzzzz{yzz{{{{z{{z{zy{zz{{z{{{{{z{{zzyzz{{|{|z{{{y{zzzzz{zzzz{{{{z{z{yzy{{{zz{z{zzz{zzz|z{{zz{{{zz{zzyz{{zzz|z{{{z{{yzz{{z{z{{{{{zzzzzzzz{{{{{{|zzzzzzz{zzzz{{{zzz{{zzzzz{{{{{{{zz{zzzzy{{{|{z{{{z{{{{{z{{||z{|{{z{z{yzzzz{{|{{{{{z{{zz{{}{{{{{|{{{{z{{{{||{{{{|z{zz{{{{{z|{{{{{{z{{{{{{|{|{{||{{{{{zz{{{{|{|{{|{{{{{{|{||||||||{z{{{{{{{{{|{}|{{z{z|z|z|||||{|||z{{{||{||{||{{{|{{{z{{{{}|{||}|z{{{{{z{{|||||||{{{{z|z{{|{|{}||{{z|{{{{||{{{{||z{|z{{{{{{{|{{|{{{{{z{{z{{{|{{||{{{{zz{z{{||zz{|zzxzzzzz{z{z{{{{zzzzzzz{z{{zz{{{zyzzyz{z{{{{{{{{{zzzyzzz{{{|{{{{{zzyzz{zz{|{{{{{zzzy|zz{{{zzz{{z{zzyzzzz{{|{z{{zzyzz{yyzzz{{{{|{{{zyyyyzzz{z{{{zzyzzz{zzzzzz{z{zzzzzyyyz{{{|zz{{z{{zzzzzz{zzz{{{zzzzzzxzz{z{{{{{{z{zzzzy{{{zz||{{zzzzyz{z|{{{z{{{{zz{z{{{zz|{{{{{{zzz{zz|{z{||{{{{|{zz{z{{{{{|{{{z{{z|{{{z{{{{{{|{zzzz{{{{{{{{}{{{{{z{zz{{|{{|{}{|{zz{{{}{{|{{{||{{{z{{z{||{{||||zz{{{{z{||{z|{{{{{{z{z{{|{{||{||{{|z{z{{|{{|{|{|{{{{{{z|{|||}|{|{z|{y{z{{{{{||}{|z|{z{{z{|{|{{}{zz{||{{|{{{{|{{{zz{zz{z{{{|{||{zz{{zz{z{{|{zy|{z{z{y{zzz{{zz{{{{yzyzzzz{{z{{{{z{{zz{zzy{{{{{z{{zzzyz{zz{{{|{{z{zzzzz{{z{{{{{{z|yzyzyz{zz{zz{{{{{{{zzzzz{{z{{z{{zzzz{zz{zzzzz{{zzzzyzzzzzz{z{{{{zzyzzzzzzz{{{zzzz{zzz{zy{{{{{{{z{zzzz{{zy{{{zz{zzz{z{zzzzzz{z{|{zzzzzzyzzzz{|{z{{yzzzz{z{zz{z{|{zzzzzzzz{z}{{{{{{z{{zz{{{|{{{|{{{{{z{{{zz{{{|{{|{z{{zzyz|z{{{{||{{{z{{zz{||{{{{|zzzz{{z{{||{}||{{{zz{{|{{z||{|||{z{{|zz{{|{|z{||{z{{zz{{{||}||{{{{{{{|{{z{|||||||z{{{z{{{|||||||{z{{{|{{|{|{{|{|{{{{{zz{{{{|{|||{z{|{{{{||z{||{||z{zz{zzz{{|{|}|{zzzz{zz{{|{{{|z{z{yzzy{{{z{{{{zzzzzzz{y{{{{z{{{zzzzzzzzz{{{{{|{z{yzzzzz|zz{{{||y{zzzzz{{{z|z{{{z{zyzyzy{{{zz{{{zzxzzzzyz{z{z{{{zzz{{{z{{zzzz{{{zzyzyyzzzzz{zz{{zz{{yyzz{{zz|{{zzzzzz{yz{|{z{{{zzzzzzzz{z{z{{{{z{yzzzzzyz{z{z{{{zzzzzyz{{{{|z{{{zyzzzyzyz{{{{{|{z{zzzzzz{z{{{z{|{yzzzyz{zz{{{zz{z{zy{{zz{z{|{|{{{{{z{y{yz{{z{{z{z{{{{zzzz{{{{{||{{zzzzzz{|z{{|{{z{zzz{{z||{|z{||{{z{|{{{|{{{{|||{{z{{|{z||{{||||{z{{{{{{{|{{||||zz{{{{{|z{{{|{{}}z{{{{|{{}{|||||{z{{{{z{{{{z||||{zz{{{{{{|{{|{}||{||{zz|||{{|{{|{z{yzzzz|z{z{{||{zz|z{zyz{{{{|{|{{{zzz{zz{z{{{{zzzzzzyzz{{{{{{{zzzzz{yzzzz|{|{||{{zyzzzz{{{{{|{{z{y{zzzyzz{{zz{{z|zzzzzz{z{{{z{|zyzzzzz{zz{z|{{zzzzzzzyzz|{zzzz{{{zzzzzz{zz{{y{{{zzy{zzyz{{z{{{zzzzzz{yzzz{zz{{zzz{zyzyzz{{|{z{{zzzzzyzzz{{z{{z{yzzz{z{zz{z{z{{z{zzz{{zz{zz{{{|{zzzy|zyzz{z{{{{{zzzzz{{z|{|z{||{z{zzz{zz{{{{{{{{zz{zzzzzz{{|||{{|{|z{zz{||{{{z|{z{z{{{{{{{z{{|{{|{{{zzzz|{{|||{|z|z{z{{z|||||}|{{z{{zzz{{z{{{{}{|{{z{{y{|{{{{{|}{|zzz|{{{{{{||}||{{{{{{{z|{||||{|{{{{z{{{||{{{}{{{z{{{{{{{|||{||{{{{{yz{{|{{||||{{{zzzzz{{|{|||||{z{{{{{{|||{{{{zzzzzzz{|z|{{{z{z{yzzzzyy{|y{{{{zyzzyy{zz{{{{{{{z{{zzzzz{z{{{{{{zzzz{{zyzzzzzzzzzzzzzyzzz{z{{|{|z{y{zz{z{z{{z{{z{z{z{zzz{z{z{{zzyzyzzzyz{{zzzzz{zzzzzzzzz{{{z{{zzzzzyzzzz{{{{z{{z{zzyzyyzz{{z{{{{yzzzzzzzz{zz{zz{{zyyz{zzz{z{|{zz{zzzzzz{{{{z{{{{{zzyzzz{{{z{z|{{yzz{y{{{{{{z{|{{z{zzyz{z{{{{{{|{z{{zzzz{{{|{{{{{z{zyzyz{{{{{{{z|{zzz{{z|{{{{{||z{{{{|{zz||{||{{{{{{{{{{|{{||{{|{{{{yzz{{{|||{|{{y{z{z{z|}{||||{z|{|{|z{{{||{||{|zz{zzzz{|||z{||{{{{zz{{|{|{|{||{{{z{{{{{{{|{{|{{{{{{{zz||{{|{{{{{zz{yz|||{|zz|||{{{z{{{{|{|z{{{{{{zzyzz{|z|{{{{zzzz{yyzzz{zz{z{zy{yz{yzzz{{|{{zzyzyzzz{yz{{{{{{{z{z{zyzzz{{z{{{{yzz{yzz|z{zz{{|zzzz{{yzz{{z{z{zzyzzzy{yyzz{z{z{zz{{yzyzzzzzzz{{yz{yzzzyz|zz{{{zzzyzyzzy{{{{z{{{{zzzyz{z{z{zz{z{zzzzyyyzz{{zzz{z{zz{{xzzz{z{zz|zzzzzzzzyz{zz|z{{z{zy{z{zzzzy{{z}yz{{zz{{|{{z{{{{z{zz{z{{{{{{{{z{z{zzyz{{{{{{{|{z{{{yz{|z{z{{{{{{{z{zyz{{{{|z{{{{zz{z{{z{z{{|||||zzzz|{{|{{{|||||{{{{z{zzz{||{{z|{z{{zz{{{|{{{{|{{{z{z||z{{{y{|{|{z{z{zz|{||{{|||{z{{{{{{|z{{||{|{{{{zzy{{|{{{{||{{{{|{{{{{{{{|{{{z{zz{zz{{{|z{||{{{zz{{zz{{{{{|{z{{zzzzz{|{z{zz{yzzzzzzz{{{z{z{{{z{zy{zz{zzz{{{|{zzy{zzy{{z{{{{|z{z{zzzzz|{zz|{{{{yzzzzzz{z||{{{zzz{zzzzzz{yz{{{{{zzzyyz{z{|zzzzzyzyz{zz{z{{{zz|z{zzzzzzz{{{yz{zzyzzzzyzz{{z{{{z{zz{zyyyz{{{zzzzzzyzzzzyz{zzz{{|y{zzzzzzz{y{z{{{zzzzzzyz|{z|{{{{{z{z{{zzz|{{z|{|zyzzzz{z{z{{{{z{zzzzz{zz{zz{{{{{|y{zzz{z{}z{|{{{zzzz|zz{{{{{{{{|z{{z{zz{z{{z{{{{{|{{{zzz{||{{{|z{{|{{z{z{{{|{z{||z{|zzzz{{}|{{}{{y{z||{{{||{{|||zz{{z{|{z}{|z||||zzz{{{{{}{|{{||{{{z{{{z{{{|{|||{{z{z{z|{{z{{{{|{{{{{|z{|{{||||}{zz{{z{{{{{{{z|{{{{{z{y{{{{|{||{{{{zzzzz|z|{{{zzzzyz{zzz{{z{{{{{zzzzyyzzz|{z{{|{{{yzzz{{{{{{z{{y{yz{z{zzzz{{zzz|zz{zyzzz{{z|{{{{{{zzy{{z{{zyz{{{zz{zyzyz{z{zzz{zzzzzzyzzz{z{z{z{yxzzyzzyy|{zzzzz{zz{zz{{{zzzzz{{{zzzzzzyz{{{{{||zyzzzzzzz{zzy{|zzz{zz{{{{{zzz{|{zzzzzzz{{z{zz||{z{zzzzz{z{zz{|{zzz{zzyzz{{z{|{{{zz{{yyzy{|{|{z{{{{z{zzzz{{|{{{{{{z|{yzz{{{||{{{|{{z{{zz{|{|{{|{|{{{zz{{{{{|{|||{zz{{|{{{{{||||||{{z{zzzz{{|{{{{{{{{{{z{{|||{{{||{{{z{{|{||{{|{|||z{{zz{{{|{|{{||||{{{z{{{|{|{{|{{{{{{zz{|{{||{|{{{z|z{{z{||{{||||zzzz{zz{|{{||{{|{|{z{{{{|z|{{z{{zzzzzzz|{|yz{{{zzzzzyzyy{{{z{{|z{{zzz{zz{{{{{|{zzzzzzzz{z{{|{|{|y{zzz{zy{z{{z||zz{z{zzy{{{{{{z|{zzzzzzzy{{zzz{{{z{zzzzyz{{zz{{{{zzyyzy{z{zzzz{{yy{zzyyz{|z{z{{{zzzzyzzzz{{{{|{z{zz{y{zzzy{{{{{{z{zzzyzz{{{z{{{zzzzyzz{zz{{y{{{{{zzzz{zy{|{z{{|{zyz{z{zzz|z{|{||{zzzzz{z{}z{{|z|zz|{{{z{{|{{{{|{{z{|zzzzz{|{|||}{{{zzzzz{{{z{{||{{z{{z{{{|{{|{z{{{{{{{zz|{|{||{|{{{{z{{z{{z|{||}z{z|yzzz{{|z{|{{{{{{{{{{||||{{||{z{{{{{z{|{{|||}|{{{{|{z{||||{|||{{{{z{z{|{}|||||{{z{{{y|{||||||{{{{{z{{|{{{|{||{{{z|{{{{||z{{|{|zz{z{{z{|{{{{|zzz{z{zzz{{{z{{{{zz{zz{zyz{z{{zz{z{zzzy{zzz{{z|{{{yz{zzzzz{z{|{|{zz{z{z{z{zz{{{|{z{{{yz{yz{{{z{{|zz{z{{{y{{{z{{|{zzzy{{yyz{{{y{zzzzzyzzzzzzz{zz{{zy{zzz{{zz{{z{{zzyzzy{z{z{{{{{{{{{{zz{z{{z{zz{{zyzzy{{{z{{{y{{{z{zzz{zzzy{z{z{||z{{{{zz{|{{{z{{||zzz{z{z{{{{{|{{zz{zyz{zz{{{{{||zyz{{z{{{|{z|{||z{{|{zz{z{|{{|{{{{{{{|{{{{{{z{|{{zz{{z{{{||{zz|{{z|{{zz{{|{{|{{{{{{{|{{{{{{|{}||||{{{zzz{|||{{|z{{{z{z{{{||{{|||{z{z{{{{{|{{|}|z{{z{{{{z{|{|{||{|{||{{{{|{{{||{{|zz{|zzz|{|{|||||{z{|zz|{|{{|{{{{zzzz|{{{||{||||{zzzz{|z{|{{{{{{|{{{{zz{|{|}{{z{z{zyzzzz{|z{{z{{|z{{{zzz{z|z|{{{{zzzzz{z|{z{{{{zzyz{{zzzzz{z{{{{{{{yzzzy|{{|{{{{z{zzzz{yz{{z{{|{zzy{zzzz|z{yz{{zz{z{yzzzz{zz{{{{zyyyzzzyz{{y||{{zzyzzyzy{{{{{|{zz{{zz{z{{zz|{{{}{z{zzz{yz{z{{{{{zz{{zzzzz{z|{||zzy{z{{z{z{{{z{||{{zz{z{z{{{{{z|{zzz{{y{{{{{{{{{|zz{{z{y{||||{{||{{{{{z{{{z|{|{|{{zz{{|{z{{|{{||||z{{{z{{|{{|{}zz{{|z{|z{{{{||{z{{{{z{{|{{{{}{}|||{{{{{{{||{||{|{{{{{{{{{||{{{{||{z{{{{|{{{{{}|{||z{{z{{|{|{}|{|}||{|z{z{||{{|||||{{z|{{{||{{|||||{|||{{{{{{||{||{{{z{zz{{z{{|{{|{{{z{{|z{{{{|||{{{{y{z{z{|{{{{{{z{zzz{{zz{zzzz{zzz{zzzzz{{{{{{z{zzzz{zzz{z{{{{{{zz{zzyzz|z{z{z|{zzzzyzzzz{{{z{{|{zzyzzzzzz{{zy{y{zyyz{zz{zzzzz{{{z{yzzz{{{z|{{{zzzzzzzzz{zzzz{{zz{zyyzz{z{{zz{z{z{{{yyzz{{yz{{{|zz{z{z{zz{{z{|{|{{zy{zz{z{{{{{{{zzzz{{yzz{{z{z{z{zz{{zzzz{{{{|{{|zzzyzzz{{z{{z{{zz{{z{{{{z{{{{{{zz{{{zz{z{y{{{z|{{{{|zz{|{{{{|{{{{zz{yzz{{{{{|||{{{{{zz{{{z|{{|{{z{{z{{{||{{{|||{{zz{z{{{|{{{{{|}z{{{z{{{||}{|}}|{|{{{{{{{{{|||||{{{{{{z|}|{{}{||{|{{{{{||||{||{|{{{{{z{{{{{|||{{{zz{z{{{{{{||{{{{{z|{{|z|||{{{|||zz{|{zz{z{{||{{{{{z{{z{{{{z{{zzzzz{zzzz||yzz||zz{yzzzz{{{{{|z{{|zyzzzz{{{{{||{zzzzyzzzz{|{z{{{{z{zzzzzz{{|{zz|zzz{{zzzzzz{{{{{zyzz{zzz|{{z{{zz{zz{yzzzz{y{z|{{zz{zzzzz{{{{{{{{{zzzz{yzzz{{{{{{zzzzyzzz{{z{z{{{{zzzzzzzzz{z{{{{zzzzzzz{z{z{y{|{{z|zzz{z{{z{{z|{{zzzzyz{z{{{{|{{{z{y{y|zz{{zy{{|z{{zzz{z{|{|{{{|{{zzzzzz{{zz{||{{{{z|z{z{{{z{||z{{z|{z{{{|{{{||{{{{{zz{{{{{{{|||{{{{{{{{|{{|||||{{z|z{{z{{|{{{||{z{{|zz{|||{|{|{|{|{{{{|{|{|{||{}{z{{|{{{{||{|{|{{{{z{|||z|{||{|{{{|{{{{|{{{||||{{z{{{{{|z{|}|||{{{zz{z{{{||{{|{{{{{{{{z{||{{{||{|{{z{zy{{{{{{{{zzz{z{yzz{{|{z{{z{{{zzzyzz{{}{z|{zzyyzzzzz{{{{{{{{yzzy{z{z{{z{z{{{{z{z{x{z{|{|zzz{zy{zzzzzz{{{z{zyzyzyyyz{zz{zz{zzzzzzzzzz{{z{{{zzzz{z{z{{{z{{zzzzzzzzzzzz|{|{{{z{{zzzzyz{zzz{{{{{yz{z{yzzz{{{z{{z{z{y{{z{z{{{{{zz{z{|zy{{{zz{z{|{zzzz{z{{{{z{{|{z{z{z{z{z{|z{|{{z{{zz{{{{|{{{{|{{{zzzzz{{|{z|||{z{zz{zz{{{{z{|{{{z{{zz{{{{z{|||{{zz|{z{{|||{{||{{|z{z{{{{|||{||{{z{zzzz{{|{|{||{{{|z{zz|z|||}|{zz|{z{{|{{|{|{|||{{z{{{{{|{|{|||z{{z{{zz|||{{|}||{{{{|{z||||||{{{{z{||{{|{{|{|{|{z{|{{z{{{|z|||{{{z{z|zz{|{||{{||zzz{yzz{{|{{{{{{{zzzyzyzz{z{{z{zzzzzzyy{zzz{{{{z{{zy{y{zzz{{z{{{z{zzyyz{{{{z{|{zz{yyyz{{zz{z{{{zz{zzzzz{|{z{{{{z{zy{{yzzz|zzzz{zz{zzy{z{zzzzz{{yzzy{yzy{yzzz{{zzyzzzzyyz{{{z{{z{y{yzzyyz{{z{{{{{zzzzzyyz{zzzzzz{{zz{zzyzzzz{{|zzz{yzzzzz{zz{{z{{yyy{{zz{{{z{{z{zzzz{zy{{zz{{zz{zyz{zzz{z{{z{{{{zz{{{yzyz{{{{{{z{z{z{z{y|{|{|{{|zzz{y{zzz|{z{{{z{|{yz{{{{{|{||{|yz{z{{z{|{{{|{{|z{{{{z|z{{{{{{|z{z{|zz{y{{{|{{{{{{{{z{|{z{{{{||{{zzzz{zzz|{z|{|{{z}{{z{z{|{{|{{{{zz{{zzz{{{z|||||{z{z{{{{||{||{{{{zzzz{{{{z{{|{zz{zzyz{z{{z{{|{|{z{zzyyz{{||{z{{{{{{zzzzyz{{{{|{zzzzzyzzz{{{{{{{zzzzzzz{{zz{|{{zzz{zzyzz{z{{{{|{{zzzyzzz|{zz{{{{{zzzz{zz{{z{{{{{{z{yzzyz{xzzzz{zzzyzzzyzzz{zz{z{y{zzzzzy{zzz{{{zzyzzyzz{z{{{{{{z{{zzyzzyz{{|{{{{|zyzzzzz{{zzz{{z{zzyzzyyz{{zzz{{z{{{z{yz{z{{{z|{{yzz{z{z{{|z{{{{zzyzzzz{{z|zz{{{yz{{z{zzz{z{zz|z{z{zzyzy{{{|{{{|z{zz{{{zz{{{{{{{|z{z{zzz{{{{{|{{||z{z|{zz{{{{{||{{{{{{{{{{{|{||}{{z|{{{{{{{|{{|{|{{{z{zz{}|{{{|{|z{{{{{{{|{||{{}|{{{|{{{{|{|||{{{{{|{zz{|{||{||{{{{{{z{{{z|{{{|}|{{z{{z{{{{{{{||z{|zz{{{z||{||{|zz{z{{zzz{{|{{{z{{{{{{{{{z||{{z{{yzzzzzz{{{zz{{{{z{zzzzz{z{zz{{||zzzzzyz{|zz{z{{{y{yzzzyzz{{z{{{{z{zzzzz{{{|{{{{zzyyzzzyz{{{z{zzz{zz{yzzzz{z{{{yzzzyzzzz{z{{{{zzzzzzzyzyz{|zyzzyzyzzyyzzzz{z{{{zzzzzzzz{z{zzzz{{{zzzzzzyzz{z{{{{|zzyzy{y{y{zz{{{y{{zy{yyzzyz{z|{{zyy{z{z{{z{zz{{{{zyzyzz{zz{|{{{zzzzyz{{{|{z{{{{{z{zzyzzzzz|{{z{z{{{{z{{z|||{||{|zyzzzzz||{{{{{|zzzz{z{z|{{{{|||{z{z{{{{|{{|{|||{zz{{z{zz{||{{{{|z{zz{{{{|{||{}{{{{{z{{{{||||{||{{{zz{|{{||{|{|{|z{z{|{{||z|{{|{|{zzz{zzz{{{|{{||{{{|{{{{|{||||}{{zz{{zz{{{{{||{||z{zz{z{|||{{{z{zzz{zz{{{|{z{zzzzzzzzzy{{{z{{{{{zyzzyyzz{{{{{{zzzzzyz{z{zz{{{{z{{z{{{yyyz{zzz{{{zz{yyzzzz{z{zzzzyyz{zyzzzzzz{z{zzzyyy{{{y{z{zzzzzy{zyyzz{zzzzz{zzyzzzyyz{z{z{{{zzzyyzzzzzzz{{{{zzzzyyyzz{{|y{{{zzzzzzzzzz{zz{{|{yyzzzzzzzz{zzz{zyzzz{yx{z|yzzz{zz{zzy{z{z{z{{z{{zzzzyzzzzy|zzz{zzzzzzyzzz{|z|{z{{z{zzzzz{{{{{z{{{zz{{zz{|{{{{||{zy{{zzz{||zzz{{|{{zzzz{{{|{{{{|z{{{zzzz|{{|z{{{{{{{zzzz{{||{||{{y{z{zzz{|z{{}{|{z{{{}z{{{|||{||{{{{{zz{{|||{{|}|z{{{z{{{{{{{{||}{zz{zz{z{z{||{|{z{{{|z{{{z{{{|{{{z{zz{{z{{{{{{{{{zzz{yz{{||{{{|{y{zzzzz{|{{{||{{zzy{z{zzz{zzz|{{yzzzyzy{zz{{{||zzzzzzzz{z{z|{z{{zzzzzzz{{{zzzzzz{yzzyzyz{z|z{z{{zzyyyzzz{{z{z{z{zzyz{zz{{zz{{{zzz{{yzzyz{{{z{z{zzyzyy{z{{z{z{{z{{{zyyyzz{zz|{{{zzz{zzzxzz{{{{{{{{yyyy{zz{{z{{{{{zzz{z{zz{{{{{z{{yyzzzzz{z{{{{|{zzz{{z{{{{{x{z{{zz{{yzz{{|z{{|{|{zzzzyz|{{{{{{|{zzzy{zzz{{z|{|{{zzzz{{zy{{|{{{z|{{zzz{z{{{|{{{{{zz{{{{{{{}{|||{|{yz{z{{{{|{|{{|||{zz{zz{{{{{|z|{|z{z{z{z|||{|||{{z|{|||{|{|{|{||{z{{|{z{||{{{{|}{{||{{{{{{{{{||{|z{{zz{z||{|{{}|{|{z|{z{|||{|{||z{z{z{z{{{{||||{{{zzz{zz{|{z|{{zz{zzzy{z{{{{{|z{z{{{{zyz{{{{{|{{zzzzzzz{zz{{zz|{zzzyz{{yz{{zz{{z{z{z{z{zz{|z{{{{z{{zy{zz{yz{{{{{{{zzz{yzzz{z{{{zzzzzzzyzz{|zzzz{zzzzzzzy{zzzz{{{{zzzzyzz{|{{zz{{zzzzyzzzz{{z{{{zzz{yzzzzz{z{{z{z{zzyzz{yz{zy{z{{zz{z{{yzz{{zz{{{{yzzz{z{{z{{{{{{y{zzyzz{{{zz{{{{z{{{zzz{z{{{z||}{z{zzy{zz|{{{|{{zz{z{z{z{|||z{|{{zz{zz{z{{{|{{|z{z{z{{{zz{{{{{|{{zz|z|{|{{}{||{|z{{z{z{z{|{{{{||{z{z{zz{{|~||{|z|{z{{z{z|||}{|}|{y{{{|z{z||||{||{{{{{{{{{|||{|{{{|z{{{z{{|{|{||{{{z{{{{{{{|{{{{{{z{{{{z|z{{|z|{|{{z{zz{z{|z{}z{{{{z{{z{z{|{|{{{z{{{{{{{z{{{{{|{zzz{{zzzz{{{z{|{{zyzzzy{zzz{{{{{zy{{yzzz{{zzzz{zzz{{yzzz{{z{{z{{{zy{zzyzz{z{{z{z{yzyzzzzz{{zzzzzzzzyyzzyz{{{{zzz{{z{zxzzyzz{zz|{{zyzzzzzzzzz{zz{{zzzzzyyyz{{z{zzzz{{{xzyzz{z{z|z{zyzyzzzzz{zz{{{{{z{zzyzyyzzzz{{{z{zyz{zyz|zz{z|{zzyzzz{{{z{zz{{|zzz{z{z{z{{{{|{{zzyyzzzz{z|{|||{{{z{{z|{z{z{|{{{{z{{z{yz{|{z{{z|z{{z{{zz{{{{{{{z{z{{{z{{{{|||{{{zz{{zz{{{{|z{|||{{{zzz{||{|{{||{|{zz{z{z{||{|{{|{{{zz{{y{|{{{||{|{z{{|{zz|{}{{{||{{{{z{z{{{{{|{{|{{{|{{z{||{{{||{{{z{{{z{|{{{|}|z{z{z{z{{|{|{{|||z{{{zzyzz|{{{{{{zzy|z{{zz{{{{zzyzzyz{zz{{|zz{{|{zz{yyzz{{{{||z||{zz{zzz{|z{zz|{{zzzzzz{{{{{z{{zzzyz{zzyz{z{z{{{zyyzzzzzz{zz{{{{{zz{zzyz{zyz{zz{zzzzzyzzzyz{zzz{zzzzzyzz{z{{zz|{z{zzyzzy{zzzz{z{zyzzzzy{z{{{z{z{zyzzzzzzz{z{y{{{{zzyzzzzz{z{{{{{y{zzy{yzz{{z{|{{{{zzzzzzzz{{{{{|{{{{zzz{z{{{{{{|zzz{yzz{z{{{{|{{{z{z{z{y{{{{{{{{z{z{z{z{z{|{{||{{zz{{z{z{{z{{|{|{zzzzzzz|{{{|{{|{{{{{z|{||{||{{|{{{{z|{{||{|{{{|{{z{|zz{{||{||{|{z|{{{|{{||{|{||{zz{{|zzz|{|{{||}z|{zz{|{|||{{||{z{{|{y{z{|{{|||{z{{zz|{|{|{{|{|{|{{{{|{|||~{{||{zz{{{{y{{|{z|{{{z{zzz{z{|{{{{{|zzzzzyyz{{{z{{{|z{zyyyy{z{{z{{{|z{{zyz{z{z{{|{{{z{zyzzz{{zy{z{{{zzyzzyzyzz{z{{z{zzzzzzzy{z{{{|{z{yzyzzyyz|{z{{{{z{zz{zzz{y{{{{yzzzzzzzzyzz{z{{{zz{zzzzzz{zz{{{zzzzzzzzzyz{z{{z{{zz{{zzzy{z{z{{{{zzzzzzyyz{|{{{z|{zyzyzzzz{{{{{{{zz{zzzzz{z{zz{{{y{yz{z{z{z{{{|{|z{{zyz{z{{{z{{{{zz{z{yzzz{{{{{||z{{zz{z{{{|{z{{{{{{zzy{z{{{|{||{{{{z{{{|z{{z{{|{{zzz{z|{{|z{{}|||{z{{|{z{{{|{||{|z{|{|{{|{{{|||||{}{{{|z{|{z|{}|{{{{{{{z{{|{{{|||{z{z{z{{{{{|}||}{zzzz{{{{|{{|{||{z|||z{}{{|{{{{{{zzzz{z{{{{|||{{{z{{zy{zz{|||{|{zzzzz{z{{{{{{z{zzzz{{z{{{|y{{z{zzzzzzzz|||{{z{{{{zzy{yyzz{{z{z{{y{zz{zz{{{{z{{zzzzzzzzy{z{z{zz|zzzzyzzz{z|{{{|zzz{zzzzz{z{{zz{{zz{zz{yzyy{{z{{{yzzzzzyy{{zzz{z{zz{zzzzzz{{zzz{zzz{zz{zzz{zzz{{{zzzzzyzz{{z{{z{{{zzyz{y{z{zz{||{zz{{zzzzzy{z||{|{zz{z{zz{{{{{{{{z{zyyz{z{{zz{{{{{z{z{zzz{{{{{z{{{{{zzzzz{{{{|{{{z{z{{{zy{{{|{{{{z{zz{zzz||zz{|{|{{{z{{{y{|{||||{{z{z{z{z|{z|{{||z{z{{{{z{||{{{{z{{{{|{{{{||{{{{|z{|{z{|{|||{{{{{{{{{z{{zz||||||||{{{{{{{{|{||}{{{{{{{{{{{||{|{||{z{z{{zz|{{{|{{}{{z{zzz{{{{{{{|{{z{{z{{z{|{{{{{|{zzyzz{z{{{z{{{{yzz{yzzzz{{z{zz{{zyyzyzyzz{{{z{{zyyzzz{z{{{{{zz{z{{zzyyyz{z|zzz{zzzyyzzz{zzzz|{{zyzzyzzzz{zzz{zz{yzzzzzzyzzz{zzzzzzzx{zzz{zzzy{{zzzyyzzzy{{yz||{zzyzz{zyzzzz{{{{{{zzzzzzz{z{zzzz{zyzzz{y{zyzyz{{zzzzzzzyy{{zz{{{zzzzz{{yz{z{{z{z{zz{zyyz{z{{z{z{z{{zyz{zyzz{z{{{zzzyzz{y{y||zz{zz{zz{zzzzzzz{z{z{zzzzzy{{|{z{{|{|{z{yzzz|{{z{{z{{{zz{{zzz{||{{||{{z{{z{{z{{{{{{|{|{z{zz{{{{|||{z{z{{{z{{{{{{{{||z{{zz{{zz||{|{||{z{{{zz{{{{{{z||||{{z{{{|{{{{|{{{zz{{|zz|{||{|{{{{{{zzzz{{||||{|{z{{zzz{{|z|{|||{z{{z{zz{z{|{{zzz{z{zy{z{{{z|{{{zzzzyzzy{yzzzzz{{yzyzyzzzzzzzz{{{zzz{zyyzzzzzz{{zzzzzy{yzz{{{z{{z{zyyyxyzzzzz|z{zzzzzyzzz{yzz{{zzyzyzzyzyz{zz{zzyzzyyzyyz{zzzzyzzyyyzyzyzyzzzz{zzyzzzyzyyzz{zzz{zzzzyzyyzz{yzz{{zyzzzyzyyzzzz{zzyzzyyzyyyzzz{zzzzzzyzz{yzzz{z{{{z{zyzyzyzzzyzz{z{zyzzyzy{{{zzz{zz{yyzyyzz{{{{z|zzzz{{y{yz{zz{{{{{zzyz{{zz{{z{z{{zzzzzyzy{|z{z{{{{{zyzzzzz{{|z{{{yzz{z{zz|{{{{{z|{z||zzzz{{|{z{zzzzz{zz{zz{{{{{|{zzzzz{{{{{{{{|{{{{z{z{zzz|z{{|{{|z{{zzzz{{|{{{{|zz{zz{z{{{z{z{{|z{{{zzz{z{{{{{|z{z{zzz{z{{|{z|{{{zz{z{zz{{{z{|{{{z{z|y{yz{{{{{zzx{yzyzzyyz{z{{{{z{zzyzzzz{{{{{z{{zzy{z{z{zy{z{zzzyzzyzzzzz{{z{{{zzzyxzzx{zzzz{{z{yzxyyzyzz{yy{{{zzzzzyyyzz{zz{z{zzzyzzyzzyzzyyzzyyzzzyyxyyzzzzzzyyyzzzzzzz{z{{{zyz{zzzyzy{{{z{{zzyzyyxzyz{{zyzyzzzyyyzzzzzzzz{{{zyzzz{zyzz{z|{z{zyzzzzzzzzzz{zz{yy{yzy{z{z{zz{z{z{zzzy{z{zzzzz{{zzzyyyzzz{z{z|zzzyzzyz{zz{|{z{|z{zzyyzyz{{{zz{zzzzzy{zzz{{|z|{|{{z{zz{z{{|{|z{{{zzz{zyzzz{z{{|{|{zzzz{zz{||{z|{{z{zzzzz{{{{{{{z|z{zz{zzz{||{{|{{|{z{{zzz{z|{{{{{{yzz{{{z{{{{zz|{{z{{zzz{z{{{z{|{{zzyy{{z{z{z{z{{{zz{y{zy{zzzz{z{zz{y{zzy{z{z{zyzzzzzyyy{zzzzzz{zzzyyzzyzzzzz{z{{zzyzyyzxzzzzzz{z{yzzzzzzzzzzzzyy{{yzyzzx{yzzzzzzzzzz{yzyz{z{yzzz{yzyyyyyzyzzzzyyzyyzyyyyyy{{zz{zyyyzzyzyzz{zzzyzzzyzyzyyyzzyz{zz{yyyyzzzyzz{{z{z{yzzzyyzxzzyzzzzyzyzyzzyz{z{zz{zzzzyyzyzz|z{zz{z{yzzyzzzy{z{zz{{zzz{yyzzzz{z{{{zzzyzyyzzzzzzzzz{zzzyzz{zz{{zzz{zzyzzzzyzz{z{{{{zzzz{zzyz{{|zz{z|zzzzz{zz{{{{{{|zz{zz{yzz{{{|{|{{z{zzzzyyz{{{{{{z{{zz{{y{{{|z{{|{{{z{zz{zz{{{{{{z{z{{z{z{z{{{{z||{zz{zzzz{{{{z|{{{zzz{zz{{|z{{{{{{zzzzzzz{zz{z{{{z{{zzyz{zz{{z|{|{zz{zy{zz{{|{{{{z{{yyyzzzz{z{{{{{zzzzzzz{z{{zz{{zzyyzyzyz{{{{{{zyzz{y{{yzzzzz{z{zzzz{zzz{yzy{{z{{zzzzyzzzz{yy{y{{{zzyyyyzzz{z{z{zyzyyyyz{zzzzzz{{zzyzzzyzzzyzzz{yzzzyyzy{{{zzy{zzzzyyzyy{zyz{z{{y{zzy{yxz{zzz{zzzyyyyzyzzz{z{z{{zzzzzxzzz{zzz{{{yyzzz{yy{z{{{{{{{zyzzzz|{{zzz{{{zz{zzzz{{z{z{{{zzz{{yyzzzz|zz{{{{zzzzzzzz{z{z|z{{zzzzz{y{{{{zz{zzzzzzyzz{{{{z{{z|z{y{z|{{{|||{{{{{zz{{|{{|z{{{{||{yz{{zy{{{|{{{{{{y{{{{z|{{{|z{|{z{{{{{{z{{{{{z{{zy{{zz{{{{{{{||{{{{{z{{z{{{{|{|{z{{{{zz{{|{{|||z{zzzzz{||{}{~{{{z{zzzzz{z|{|{{{{{{zzzzyz{z{|{{zzy{zz{{z{z|{{{{{{zzz{zzzz{zyz{{{zzzzzzzzzzzz{{{{zzyzyyyy{zzz{{{{zzzzzzzy{{y{{z{{zzzzyzzy{y{zz{z{yzzzz{yzzz{zzz{zzzzzyzzy{z{zzzz{yy{zyzzzzzzzzz{zzzyyyyzyzz{zzzz{zyzy{zyzzzzz{{zz{zzzz{zzy{{z{z{{zy{zzyzyyzzzzz{{{zzzyzzzzzy{zz{{zz{{z{yz{{zz{z{zzzzzzz{{z{{zzzz{zz{zzz{zy{zz{{{{zzzzyzzz{{y{{z{{{{zzzyzz{{{{{{{zz{{{z{zzz{{{{{|{|zz{yyz{{{{z{{{zzzzzz{{{|{z|{|{{zz{{zz{z|{|{z||{zzzzz{z{{{{{{|{|{{z{{{{{{|||{{||{{{zzz{zz||{{{{}|z{zz{{{z||{z{{{|{|{zzzz|{{{{|||{z{zzzzz{z|{|{|||{{z{z{{||{|{|{}{|zz{zz|z{{{{{||zz{z{yzz{|{{{{|zzz{yyzzz{{zz{{{{zzz{zyy{zz{xz}z{zzzzzzyz{{{{{z{{zzzzzzzy{{z{{{{yzz{zyzyzzzzzzzz|{{zzyyyy{{z{z{zz{yyzyzzyy{{zzzzzyyzyzzyyzzyzz{z{zzyyyzzyzzz{y{z{yy{yyyyyyz{{zzz{yzzzzzyz{zyz{{zzzzzzzzyyz{z{y{z{{zzzzy{zz{zz{{zz{{zzyyzyz{zz{{{zzz{zzyyz{{z{zz{{y{zz{zzzz{z{z{{{zzzzzyzz|zz{|z{yzzzyy{y{{{zz{zz{y{zyzzzz{{z{{{z{zzz{yzzxy{|z{{{|zzyzzzzzzz|{{{{|{z{zzzyz{{{{{||{{z|y{{{{{z{{z|{{z{{{{{z{{{z{|||||{{zz{zzz|{{{{|zzz{zyz{z{{z{{|{|{z{zz{{zz{{|{|{|{yz{{zz{{{{{|z{z{z{z{{z{{{|z{{{{z{zz{{zzz|{{z{{}{zzzzyz{{{{{{{{|{{zy{z{zz{zz{z{{zz{{zyzyz{{{z{yzzyzy{yzzyzzzy{{|{{yyzzyyz{{z{{{{zzzyzyzy{yz{{{{zyyzzyzzyyzzzzz|zzzzyyzzyz{{zz{{zzzzyyzzxzzy{z{{z{yzzzyyyzz{yz{zzzzzyzyyzz{y{zz{zzzzzzzyyz{z{z{z{zz{yzzy{{zzyz{z{yzyzyzzzz{z{zzz{zzzyyzyzzyzz{zzzzzzzyzyyz{z{{{z{{yzzz{yzz{{zzz{{z{zzzz|yy{z{{z{{zyz{yzzz|zz{{z{{zzzzyzzzz{{{z{z{zzzz{zzz{z{{{{{z{zyzzzzz{{zzzz{zzzz{{zyz{{{{z|{zz{zzz{zz{z|}|{||y{{zz{{{{z{{{{{{zz{yzyzz{{|z{{|{{y{{{zzz{{|{{|{|zz{zz{{{z{{{{{{{|{zz{z{{{z|{|{{{{{z{y{{{{z{|{|{{{z{{zzzz{zzz|{{||{z{{zz{|{|{{{||{z{zzz{{{z{{zz||zzz{zzzyz{{{{z{{z{zyzzzzz{{z{zyzzy{zzyzyz{{zzz|zyyzzyyzz{z{zz{|{zzyyyzzyzy|zz{zzzyzzzyzzzz{{{{{y{zzyyyyyyzz{{z{zzzzyyzzzzyzzyz{zzzyyyzyyyz{zz{z{zzzyzzyyzzzzy{zzyzzyxyyyzzzyz{{zzzzyzzy{yzzyzzzzyzyzxzyyz{z{y{zzyzzzzzzyzzzz{{{zzzzz{zzzzzyzy{zzyyzzzzzyyz{{zzz{{zzz{zzzzz{{z{{{zyzzyyzyzzzz{z|{yzz{z{zzz{z{{{zzzzzy{z{zy{{{z{z{zzzzzz{z{z{{{z{{{yzzzyzzz{{zz|{zz{zzzzzz{{|{{{{{z{{zzzzz{{{{z{{{{z{{z{zz{z{{|{{|zzzz{{{{{{{|{|{|{zz{z{{{{|{{z{{{|{zzz{z{z{{{{{{{{z{z{z{y{z{{{{{{zzz{{z{{|{{z{{{|{{zz{yz|{{{{{|{z{{zzzzz{{zzzz{{{zz{zzy{z{|{{{{|{zzzyzzzzz{z{{z{zyzzzzzyyzz{y{z{zyyyyzyzzyz{zzz||zzyzyz{yzyz{{{{zz{zzzyyzz{{zyz{z{yzyyyyyzzzzz{{{{y{zyzyyz{yy{z{zzzzzzyyyzz{zzzzzzzzyyyyyzzyzzzz{yyyyzyyyzzzyzzzzzzyzyzyyyzz{{zzzzyzyzyzy{zz{z{{{yzyyzzyyzz{yz{yzzyzyyzyyy{zz{{z{{yzyzzzzzzzz{zzzzzzzzzz{zz{z{|zzzzzzzzzz{z{{z{{{zzy{xyyzzzzzzzzz{yzyzyzz{zz{zzz{zz{{zzzyz|{z{{{{zyzzzyyz{|zzz{{{zzzz{zyzz{|z{{z{zzzzz{{y{{z{z{{zzzzzzzyx{z{{{z{{{z{{{{{z{|{{|{{{{{z{|{z{z{{{{{{zzzy{z{{y{|{||}z{{{{z{zzz{{{{{{{{{zzzzzzz{{z{|{{{z{zzz{z{{{z{{{{{{zzzzzy{z|{z{{{{{{yz{zzzy{{zzz|{zz{zzyzzzz{z{zzzzyzyzzzzzz{zyz{zyzxzzyzyzz{z{{zzzyzyyyyzzzz{z{z{zyzzyyyzyz{z{{zz{zzyyyyyzzzzzy{{yyyyyyzzy{yzzz{zzyyy{yyyzzzzzxz{zxzzzzyyzyz{z{zzyyzzyyzyy{xzy{zzzyzyyyyz{zzzzzz{zzzyyzyxyz{{z{zy{yzyyyzyzzzz{yz{zzzyyzyyzzzzz{z{zzyyyzxyzzzzzz{{zyzyyyyzzzzzy{z{zyz{zzyzzzzzz{z|zzyzyzyzzz{zzzz{zzzyzyzzz{z{zzz{{zz{yzy{z{zz{{{z{{z{z{zy{z{zz|zzzyzyzzyzzz{|{{{{zz{zzz{z{{{{{{{{zzzzzzyyz{z{{{{z|zzz{yzz{{{{{|{{{{yz{z{{z{{{{z{{zzzzz{z{|{|{{{{|{yzz{{zz{{{|{|zz{yzzzzyz{zz{{{|{zy{z{{zz{{z{z|||z{z{{zzyz|{{{{{{{zzyzyzzz{{zz|{zyzzyzyzyzzzz{{yzy{yzyyzy{{zzzzzzyzyzzyyz{z{zz{zzzyzyyyzyzy{yzzz{{zzyzyzzzzz{yz{zzyyyzzzxzzzzzzz{yyzyyzyyz{zzzzyzyzzyzyyyyz{zzzyzzyyyzzyyzyyyzzzzyyyxyyyzzzzyz{zzyzzzzzxyyy{zzzyyyzyzxzyyz{{yzz{{yzzzzzyy{yz{z{{z{yyyzzyyz{yzy{yzyzzzyzyz{{z{{z{zzzzzzyyzzy{yz{{{zyzzzzyzzz{zzyzzzzzzyzyzy{zz{{zzyzyzyzzy{zzzz{|yzyzzzzzzz{{{z{{zz{zzzyyz{zz{z{{zz{yz{{z{z{{{{z{zzyz}{{zz{{z|{{{{zyzzzzyzz|z{z{{|{zz{z{zzz{{{z{{{zz{yzz{zz{{{{{||{yzz{y{z{|{{{|{|zz{{zzzz||{{{|{{{{{zzyz{{{z{|{||{{zz{zzzz{{z|{{|z{{zzzz{zz{{zz|{zy{yyzzzz{{|yz{{zz{zzyzzz{z{{yzzyyyyzzzzyz{zz{zzzzzyyyy{zz{{zz{{zyyyzyzyzyz{{{{zzyzzzyzzyy{{zzzzzzzzyyzyzz{zzzzzzz{yyyzzzzzzyz{zyyyyzyyzz{zzzy{zyzzxyyxzzzzzzzz{zyzyyzyx{{{zzzzz{yzzzyxyz{{zzz{{zzyzyzxyzzz{zzzzzz|yzxyyzzzzz{zzyzzyyyzzy{zz{zzzzzzzyzzyzzz{{zzzzzyyzyy|zzz{yzz{zzzzzzzz{zz{z{zzzy{zyz{y{yzyz{z{zzzzzyz{{zz{yz{z{zyzzzzzz{{zyz{{zz{zzzyz{zzyzzz|{zzzy{zzz{z|z|z{z{{zzz{{z{z{{{||{zzzyzzzz{{{z|{{zzyzzz{z{{{z{z|{z{zyz{{{z{{{{{||{z{{zzzz{{{|{{|{z{{zyzz{{{{{{{{{{yyzz{yzz{|{{}{{zzzz{{z{z{z|{z|{z{{zyzzzzz{z{{|z{yzz{zyz{{{{zz}zyzz{zzyzyy{zz{z{{yzxzzzyyzzzyz{zzzzzyzyzzzyzz{z{zzyyzyyzzzzzyz|zyyzz{yzzz{zzzzzz{zzxzxyyzz{zyzyz{zzzy{{yzzyyy{zzz{zzzzyyzzzz{zzzzzyyzyyzzyzzzz|{yzyyzyyzzzzzyyzzzzzyyyxyzzzzzzzzyzzzyzyyyz{zzz{zzyzzyxzzzyzzy{{yz{zxzzyzy{yzz{{{{zzyzyyzzzzzzyzz{zzzyyzzy{z{z{{zzzzzzzyyzzz{{{{{yzzzyzyzzyz{yz{{zzzy{yzzz{{{{{{{zzyzzyyzz{{{z{{{zyy{{{z{{{zz{{|zzzz{{z{y{{zz{zz|{y{zzz{zz|{{{{{|zzzzzyzzz||z{{{{|zz{zzz{|{{{|{|{z{{z{z{z{z{{|z{{{zzzy{{{{|z{{{||{zzzz{zzzz|{{z{|zzzzzy{{{{{{|{{{{|{{{zzy{z{{{||{zzzzy{{zz{{{z{}{{{z{yz{zz{{{{{{{zzzzyyzxz{{zz{{z{yzy{zyy{{y{{z{{z{yyyyz{{zzz{{{z{{{yzzyy{{z{|{{{zzzz{yyzzz{z{{{{zzzyzzzz{zz{zzz{{zzyyzzz{zyz{{|zzzzyzyzyz{z{{zzz{yyyyzzyyzz{z{{yzzyzzzzzz{zzzz{zz{yyyzzyzzz{{{z{yzzzy{yzzzz{zz{{yz{{zyzy{{zzzz{zzyzzzzzyzz{{zzz{zzzyzzyzz{y{z{{{yzzzzzzyzz{zz{z{{z{zzyzy{zz{{{{{zzzyyzzz{{{z{z|{{zz{zzz{z{{{z{{{{zzyzzzy{||z{|{z{zzyz|{{{{{{{|{{{{zzz{{{|z{{{|{{z|zz{{|z|{zz|{|{z{z{zzzz{{{{{{{{|zzzz{{{{{|{|{{{{{{z{z{{||{{{|{{{{{zz{{z{}{{{|{|{{{z{z{{||{|{|{{{z{zzzz{{{{|{{{{zz{{{zzz{{{{{||{|{zz{zz{{{|{{{||{|zz{zzzz{{{z|{{zyzyzzzy{z{{{z{z{yy{zyyyz{{z{y{{yz{zyzzyyz{zz{z{yzzyyzyz{zzz{z{|zyzyyyyzyzz{z{z{{zzyyzyyzzzz{{zzzz{yzxzyzzz{{{zzyzzzyzzxzzyzzz{{zzyyzyyyzyz{zz{zzyzzzyzzz{{{y|zzzyyyyyyyzzzz{zzzzz{zyzyyyyzz{{{{zzzyyzxyyyzzz{z{zzyyzzyz{zzyzz{{z{zzyyzy{zz{{zz{zzzzyyzyzz{zz{{{{zzzzz{zzzzz{{{{zzzzzzyy{z{zz{{{{{zz{zzzz{{z{{{zzzyzz{yyzz{zz{{z{yzzzzzz||zzzz{zzzzzyzz{|{{|{{{zz{zzzzz{zzz{{z{{{{y{zyyyz||{{{|z{zy{z{zz{{{{{|||{{{z{{zy{|z|z|{{zzz{{z{zz{zzz{||{{{{z{{z{{{{{|{{zzzzzzzz{{{{z{{||zz{z{zz{{{{{{{{{{{yzzz{z{z{{{{{zzzzzzzy{{{{{z{{zzz{z{zyz{{zz{{{zyyyyzyzzz{zzz{{zzzzzyzzzzz{zzz{zzyyyyzy{zzzyzz{{zzzzxyzzzz{|zzzzzzzyyyy{z{{zzzzyzzzzzzzz{zzz{|zzzzyyyyzyz{zzzz{{yzyyzzyzzzzzzz{yzyzyyyzyz{yyz{zzzzzyzyzzzzzzz{{zyzzyzyzzzzzz{{{zyyxzzyzzzz{z{{z{yzyyzzyz{zzzz{zyyzzzyzzzy{{{{{{zzzyzzyyz{zzzzz{z{zz{zzzzz{zzz{|{z{zyzz{zz{z{{zzzzyzzz{zz{zz{z|{zyzzzzzz{{zzz{{{zzyy{{zz{{{{||{{z{{z{zzzzz|{z{{zzz{z{z{z{{{|{||{{yzzzzxz{z{{{{{{{zz{zzzz{zz{z||z{z{{y{{{{|{{{z|{{z{z{z{z{||{{|{||{z{zzzz{|{{z{{{z{{{z{yy{z{{z{{||{{{{{{z{{{z{{{zzzz{z{z{z{{{|z{z{{yy{zzy{{{zzz{{z{zz{{zzy{z{{{{{yyzyzyzzy{{zzz{zzzyzzyzzyz{y{zz{{yyzzzzyzzzz|{z{zzzzzyzzzzz{zz{zzzyzyyyyzzzzz{yzzzzyzzzyy{{zyzzzzyyyzyzyyzzzyz{zzzxyyyzzzzzzy{zyxzyzyyyyzz{z{zzzyz{yzyxzy{{{{{{zzyzyyyyyyzzzzyz{zz{zzx{yy{zz{zzz{zzzzzzyzzzzz{zzyy{yzzyz{yzz{zz{{zzzyzyyzz{{z{{zzzz{xxzyzzz{z{{zzzzzyy{zzz{zz{{zzzzyzyzz{{{{z{zzzzzzzzyy{{z{zz{zzzzy{{{z{{{zy{{{zyzzz{z{{z{{{|{{{{z{{zzz{{y{{{|{{{z{{zzy{{{|{z|z{y{zzz{{{z{{{{{|z{{{z{{{||{{z{{|zzzzz{z{z|{{{{{|z{{{z{{z{{}{|{||{{y{z{z{z{zz{{{|{zzzzzzz{z{{{||zzzzyz{z{{zz{{y{|{zzzz{{zz{{{{z{{{{yyzyyy{z{z{zzzzzy{zzxyzzzzzzzzzxyzzzyzzzzzz{z|zz{yzzyyzyz{{{{{yzzzzyyyxyz|yz{zyzzzyyyxzy{yzzzzzyzzzyyyzz{zyzyzzzyyzy{yzyzyzzzyzzzxyyy{yyzy{zz{z{yyzxyyzzzzzyzzzyyyyzyzzy{zzzz{yyzzyyzyyzzzzz{{yzzyyyyyyzzzz{z{yzyyyyyzyzzzzz{{zyzzzyzzzz{{{zzzzzyz{zzy{zz{z{{{yz{yzzzy{zz{{z{{zyz{yzzyzzz{{z{{zzzyzzzyz{zzz{z{zzyy{zxzzzz{{{|z{yzzzzzz{{zyz{z{zz{zzzzzzz|{{{{{yyz{zz{zzz{{z{|{zzzzzzyzz|{zz{{z{yyz{{zz{{|z{{{{zzz{z{zz{{z{|{{{{zzzzzzzz{|{{|{{{zzz{{zz{{z{{{zz{{zzzzyzz{{{{{{{{zz{{zzz{{{z{{{z{zzz{zzzz|{{{{{zzzyzzzzyz{{{zz|zy{{zzzzzz{{z{zz{zyyzyzzyyz{{zz{{zyzz{yyyzyz|{zz{yzyy{zzyzzzz{zz{{zyyzyyzzzz{yzzz{yyzyyzy{zzyz{{{zyzz{zzyzzy{z{yy{zyyxzyyzz{zz{zzyyzz{zzzzzyzzy{{zzzyzyzyz{zzzz{zzyyzyzyzzz{zz{{zyz{zyzyzy{{{zzz{zzyzzzzyzzyzzz{zyy{zzyzzyzzzzzzzyzzzzzyx{z{{z{{y{zzzzyzyzzz{zzz{{zzyzyzz{zz{z{|{yy{zyz{{{z{{z{z{zzzzzx{zzz|{z{z{{zzy{zzzzzzzz{z{zz{{{zzz{{z{zz{z{{zz{zzz{{z{|{{{{{{z{{{{{{zzy{{|{y{{{{{{z{{{|{{|{yzyz{zz{|{z{{|{z{{z{z{{{{|{{{{||zz{z|zz{|{{{{z|{z{{z{{{{{{{z{|{{z{{{{zzz{z{{{{{zz{|{zz{{{{|z{{{{|zzzzy{{{z{{z|{{zzzy{zz{z{{{z{z{{yy{zz{{{{z{{{zzz{xyzyyxzz{zzz{zzzyyzyyzzyzy{z{z{{yz{zyzzzy{z{zzzzyyyyzzzzz{yzz{zyxyyzyy{zzzzy{zyyyzzyzzyz{yzzzzzzzzyyyxzyzz{zzyyzyyzyyzzzzy{{zyzzyyyyyzyzzzyz{zzyyyzzyyzyy{z{{zz{yyxxxz{zz{{z{zxzyzyzyzzzzyyzyzzzzyyzyyyyzy{{zzyyxzzyy{{{z{zz{zyzzzzyz{zzz{zz{zyzyyyzyzz{y{y{zzyzzz{zyyz{{z{z{zy{yzzzz{z{{zzzzzyzzzz{yzz{{z{|{zz{zzzzy{{{zz{z{{y{yzzz{zz|{{zz{zzzz{z{z|zz{z{z{yyzyz{zzz{z{{|{zzyzz{zyz{{{{{{{z{zz{zzzzy{z{|{{{{yzyzzzz{|z{{z|{{z{yzzz{z{{z{{{|{z{yzz{zz{z{{{{{{{zz{zzz{{z{{{{{{{yzzzzy{{zz{{{{z{{zzzzzz{zzzzz{{zzzyyyzzy{zz{|zyzyyyxyzzzzzzyz{zyyzzxyyzzzzzz{yyyzxyyzyzz{zz{{zyyyzzyyyzyzzzz{z{yzyyyyyzzzyzzyzzyzyyyyxyzzzzzzyzzzxzyxz{zzyy{zyyzzzxyzyzz{zzzzyyzyyyxyyzzzyyzz{zyzzyyzzz{{zz|z{zyxyyyyyzzzyyzz{yyyyzzyyzzzzzzz{z{yyyyzyzyzz{{{zzyzyzzyyzzyzzy{zzzyzzyzxz{zzyyz{yz{yyyyzzyzzzz{{zzyzzzz{{zz{{zz{y{y{zzyyzzzzzzzzzyzzzz{yz{{zz{{{{{zzzzz{{{zzz|{{zzzzzzzzz{{z{z|{zzzzzzzz{zzz{{{{{{z{zzzzz{{y|{z{zzz{{{zz{|zzz{{|{zzzzzzzzz{{{{{{{{z{z{zz{{{{{{z{{zzzzyzz{{zz|z{{{zzz{zz{{{z{{|{|{zz{z{y{{{{{z||{{zzzzyz{zy{yzzz{z{zzzzzz{{{{{{zzzz{yzyzyyz{zzyyzyzzzy{xyzzzyzzz{yxzyzx{zzzzzzyzzzyzyzyyyzzyzz{{yzyzzyzyyzzzzyy{{zzyyzxzxzz{yzyz{yyyzzyyzz{{yzzzyyyzyzzzyyzzyzzzyyyxyzyxyzyzyyzzyzyzyzzyy{yzyyzz{zyzyyzyyzzzz{{yzzyyzyyyyzz{zzz{yyzyyyyzyyyyy{{zzyyzzxzyyz{{zzz{zzyyzyzxyzzz{zz|{yzzzzyzzzzzzzzz{yzzzyz{yzzz{{|{zxyzyzzyyz{zzzz{zzzyzzyzzz{{{z{z{zyzyyzyz{{{zzz|zz{yzzzzzzz{zz{{{zzzzzzzyyzzz|{{{z{z{zzz{zz{|z{{{{zzzzzyyzz{{z{|z{{zz{zz{|zz|{{{{{{zyz{zz{{{z{|||{z{zzzz{z|z{{|{|{z{zzzzz{{z{z{{{zyyz{zy{z{z{{{{{{{yzzzz{|zz{{|{|{zzzyyzzzzz{{zz{{{{yzzzyz{{{yzzzzz{zzyzyzy{zzzzzxyyzyzzzyzzzzzzzzzyzyyyyyzzzzzz{{zyyyyzzyz{zzzzzzxzyyyyzz{{{zzz{zzzzyyyxzzzyzzz{zzzyzzyyyzzzyy{zzyzyzyzyzzyzz{zzzyzzyyzyyzyzyzzzyzyyzzyzzzzzyz{zzyyyxzyzzz{zz{{z{yzyyyyyzzzyyzzzzzzzzzzyyz{zzzzzyzzzyzyyyzzzz{z{zyzzyzzzzzzz{{{zzzzyzy{yz{zzzzz{zzz{yyzy{{zzzzz{zzzzzzzyz{zz{{zzzzyyzzzzzz{zz{zzzzzz{zzzz|{z{z{|{zz{zzzz{z|zz{z{zyzzz|y{{z{{{||{yz{y{z{z{{z{{{|{{zyzyyyy|{{z{{{|zzzyzyz{z{z{{{{{{yzyzzzz{z{{{{{{{zz{{{{{{|z{{|{|{{{{{zzz{z{zz{{{zzzzzzzz{z{{{|{{{{zz{zzz{z{{{|z|{{zyz{zzz{{{{z|{|zyyzzzzz{z{zz|{{z{yyzzzzy{{{{{zzyzyzyyyx{zzzzzyzyzyzyzzzz{zz{{{{{yyyzzyzzz{z{zzzyyyzyzzz{z{y{z{zzyy{z{y{zz{zzz{zyzyyzyyyzz{zz{zz{zyzyzzyz{zyyzz{{zyyzzzyzz{zz{{zyzzzyyyz{z{z{zyzyzyyyyzzzzzz{{{zzzzyyzzyz|{zzz{zzyzzyzyzzzzzz{zyzzyyyzzy|zy{{zzzyzzz|zyz{zz{{z{{zyyzyzzz{{z{zz{{zzzzz{zz{{{z|{yzyyz{zzzz{{z{|{{{z{{{yy{{{{z||{{{{{zzzzyz{{{z{{z{zz{{zyzz{z{z{|{{zz|{z{z{|{|{|{zyzzzzz{z{{z{{{{|z{yzz{z{z|{{|{||{{zz{{{y{{z{{{|{zzz{{z{{z{|{{{|{{{{{zz{zz||z{{|||zz{{z{y{|zz{{{{{{zz{z{{{z{||{||{{z{{{{z{{{{{{{|zz{{{zz{{z{{{{{{{{z{zz{z|{{{{z{{|{zzyzzz{{zzzzz{yyyxyyzyzzzyzyzzzyzyyyyyzz{z{z{{zyzyzzzyzzzzzzz{zy{zzyz{zzzzz{{{zzzyzyzyz{zzz{{}zyzyzy{zzz{{zzzz{zzzzyyyzyzz{zzzzzyyzyyyzzzy{{zzyzzzyzzzzz{{z{zz{z{yyzxz{z{y{{z{zzzzzyzyzzzzzz{{zzzzzyzyzzzzzzzzzyyyzzzzy{zzz{{{zzzzzzyzz{z{{z{zzyzz{zzz{z{zzzz{{yzyzyzz{z{{z{{{yzyyzzyzz{z{{zz{zzz{{{zzy{z{|zzzzzyz{zzzz|{{{y|z{yz{z{zz{{{{{{|{{z{{{z{z{{z{z{{{zz{z{z{z{{{z{{{{{zzzyzzzz|{{{|||{zyz{{zzz|{z{{|{zzzz{{z{z{|{{|{{|{zzz{zzz|{||z{{{zz{{{z{{{{{|{{|{yzz{{{zz{|zz{{{{z{z{zz{{{{{{{{{yzz{zzzzz{z{{||z{z{zz{{zz{z{z{zzzzzzzzzz{{z|{zzzzzz{zzyxy{z{zzz{zyyzyzzz{z{zz{{yz{zyzzyyzzzzz{{{z{z{yzyzzzzy{zz|{z{yyyzyzz{zzzy{zyzzyz{xzzzyy{zz{zzyyzzzyzzzy{zzzz{zzyyzzzz{zzzzyzyyyyyxzzzzzzzzzyzyyzxzz{yz{z{zzyzzyzyzzzz{z{{zzyzyzy{y{zzz{{{{{zyyyyyzy{zz{{{zzyyzzy{y{zz{zy{z{yzxyyzz{zz{{y{|zy{zzzz{z{z{z{{z{zz{zzzz{{{{{{{{z{{zyzyy{{{z{{z{zzy{zyzz{{{{zz|{{zzzzzyzzzzzzz|z{{zyzzz{{{{{{z{{zzz{{z{{{z{z{{|{z{z{{yzyy{{{{{{{zyzzzzz{|{{z{z{{zzzzzz{{y|zz{|{||{{{{zzzz|z|{||{zyz{z{zz|zz{|{{z{{{z{zz{z{{{{{||{{zz{zz|{{{{{|{}{z{{zyz{{{z{{z{{{{{yzz{zz{{{{{|{{zzyzz{z{{{|zzzzyzyzzzyyz{zz{z{zzyzyzyyyz{zz{z{{zzyzyyyzyyzzzzzzzzzyyyzzz{{zzyzz{yyyyyyyz{{zzz{{zyzzyzzyzzzzzz|{zzyyzzxzzzzzyzzz{yyzyyyyyyzyz{{{yyyyyzzzzzzzzzzzyzzyyzzyyz{{zzzzzyyyyzzyzzzzzzzyzyyyyyzyyzyzzzzzzzyyyzyyzzz{y{{{yyyzy{zyzz{zzz{zzy{xzzyyy{zzz{zzzzyzxyzz{y{{zzzzyzzyzyzyzz{zzzzz{{{zyzzzzzzz{zzz{zzzzzyx{{zyzzzz{zy{zyzzz{{yy{{{{zzzy{yzz{z{{{{zz{zyzzzzyzz{{{z{zzzyzyzzy{z{z{zzzzyzyzzz{z{{{{{|{z{yz{zz{{{z{{{{{zz{zzz{{|{||z{{zz{{zzz{{z{{zz{{{yyzyzz{z{{{{|{{{zzzzyzy{{zz{|{{{{z{y{z{z{z{{z{{{zyz{{zyzzz{z||zz{zyyyzyzz{zzz{zzzzyyyzy{z{yzz{z{{yzyyzzzzy{{yz{zyzyyyyyyzzz{zzzyyzzxyyzz{z{yzzzzzyyxyzy{z{zz{y{zzyzzzzyyz{zzzzzyyyyzyyy{zzyz{zzzzyzyzzzyzz{yzzzzyyyyzyzzyyzz|zyzzzyyzxzzzyzzz{zyzzyyzzyyzyzzzz{zzzzyyyxzzzz{yzzzzyyyzyyyzzz{zzzzyyyyyzyzzzz{{{{{zzyzzyyz{zzz{zzzzzyzy{yzzzz{{{{zzzyxzyyz{{yz{{zzy{{zzyyyz{z{{{{zzz{yzzyz{z{{|{{zyzzzzyz{z{zz{{{zzzz{z{zzz{{{zz{z{zyzz{zz{z{z|{{z{yzzyyzzzzz{{|{{zzyz{zz{{{{{z{{{{zzzz{zz{{z{z|{zzzzy|{{z{{z{|{{zz{{z{zz{|y{{{|z{zzzz{zz{{z{{{zz{zz{zzy|zzz{zz{{yz{z{zyz{{{|z{{{{{{zzzzzz{zz{z{zzz{yzyzyzz{zz{zzzzyzzz{yyz{{yz{zzzyxzzyyzzz{z{zzyyzyyyyyzzyzz{{y{zzzyzyzzyzzzzz{zzzyxyyz{z{z{{z{zzyyzyzyyzz|y{{zzzzzyyyzz{yz{zzzzzxzzyzzzzz{yzzzzyyyzzzzzzyzyzzzyyzzyyzyzz{z|zzzzyzyyzyyyzzzyz|zzzy{zyyyyzzyzzz{zyzzzyzyzzzzz{{zyzyyzzyy{zzzzzz{zzzzzyzxz{zyy{{{zzzzzyzzy{zyz{z{z{{zyyzz{z{z{{zzzzzzzyzzz{{{{zzyzzzzzz{zzz{{{z{{{zzz{zy{z{{z{{{z{zz{z{{zzz{{z{{{zz{yz{{{zz{{z|||zzyzzzzy{{|z{{|{{z{z{zzz{z{z{{{|{z{zyz{z{{z{{z{|{z{zzz{zz{{{{{{{{{{{zyzz{z{{{|{||z{{{zzzz{{{{{{}z{zz{z{{{{{{{{||z{zz{z{yzz{z|{{{{zyzzzzzz{|{{{z{zyzyzzzyz{zzzyzzyyyyyzzzyzzzyzzzzyzyyzyyzzz{{yz}zyyzyyyxzzzyz{{zzyyyzyyyzyzyzz{zzz{zxzyyyzzz{{zzzyzyyzzxzzyyzz{zzzzyzyzy{zzzzzz{yzzyyyyyyzyz{zzzzzyzyyyyyyzzzzzzzyxzzyyzy{{zzzzzyyzxyyyyz{yyzzzzyzzzxzzyxzz{zzzzzzyyyyzyzzyzzz{yyzzy{yxz{z{z{zzzzyyy{yzy{yzzzy{{yyy{zyyzzyy{{{zzzz{z{zyy{zzz{z{zzy{zzxzzz{z{{{|yzzyzzyyy{zzzz{|zzzz{zzzzz|{z{{{|yyz{{yzzyz{{{{{{zzzz{zzz|zz{zz|{z{z{{{yz{z{{{z{{|yzzzzyy{{{z{{|{{zzzz{zzz{z{z{{z{z{zyz{zz|{{{z{{z{zzz{yz{{{{{{{zzzzz{{z{{{{z{z{{{{{z{zzz{z{zz{z{{zzzyzzzz{|{{{{{zyyzzy{yz{{{yzz{zyzzzzyz{{{{zzyzyyyyyyzyz{{yzzz{zzzyyyyz{{{zzyz{z{{yyzzyz{yzzzzzzz{yyzzxy{z{z{{zzzyxzyzzzzyzzzzzyzyzzyzyyzzzzz{zzxzyyyzzyy{zyz{{zyyyzyyyyyzzzzy{yyyyyyzyyzyzz{zzzzzzyyxyzzzzy{{zyzzzyzyyz{{zzz|{yyyzyyzyyzzzzzzzzyzyzzzyy{yzyzz{zzyzyzyyzzyzyz{zyzzyzyxxzzzzzzzzzzzzzyy{{zz{zz{{zzzzzzzzzz{y{zzz{zzzzzzzz{z{z||z{{zzyzzz{{{zzzzzzzzzzzzz{zzzz{zzyzzzzzzy{z{{{zz{zzz{{zz{z{z{z{{zzzyzzyx{{{zz{{{z{zz{zzz{{zzzz|{{zzyz{{{{||z{z{{{{yz{yzzzz{z||{{{{yzzzzyz{z{{z|{{zzzz{zyz{{{|{{{|{zzzzzzz{yz{z{||{{{zzzzyzzz{yz{{{{{zzz{{z{z{{{z{zzzzzzyzzzz{z{zzwzyzyyyyzzzzzzz|yyyzzyyz{zz{z{zzzzzyyzyyzyyz{z|zzzzzyyyzyz{zyz{zyyzyyyyyz{zzzz{{zzyzzyyy{zyyzz{zzyyyyyyzzyzxzzzzzxyyyzyyzzzzzzyzyzzyyzyzzz{{{{zzzyyzyzyxz{zyzzzzyzzyyyyyy{z{z{yzyyyzyyxyyyyyzzzzzy{yzzxyzzzzz{{zzyyzzzyyzzz{{{zzzzzzzyzzyzzz{{{{zzyzyyzzzzzyzzz{yzz{zzzyzzzzzzzzyzyy{yzyz{{{zz{zzyyzyyyzzzz{zzzz{{xyzzzzz{z{{{yyzzzyzzz|{{z{{zz{zz{zzzzz{zz{{z|zzzz{zzzz{z{{z{{|{zzzzyz{{{z{{{{{{z|z{{zzz{{{{{{|zzzz{zzzz|{zzzz{{z{zzyzz{{z{z{{{{zyz{{{z{{|zz{{|{yyzyzzy{{z{{{{{z{{zzzzz{{{{{{{{zzzzyzzzzz{{z{{y{z{yzyyzz{{{{zyzzzyzzyyyyzzzzz{zzzyzyyyyzzz{zzz{zzyyzzxyzzz{zzz{zyzzzzzzzzzzz{{{zyyzxzyzzyzzz{zz{yzxyyzxyzzzzy|zzzzyzzzyzzzyzzyzyzzyzzzy{yz{z{{{yyzyxyyyxzz{zy{{yyyzzzyyzzzyzzzzzz{yyyyzyz{{zz{{zxxyzyzyz{zyzzyyzzzyzyyyyyy{zyz{zyyzyzzzzzzz{{zzzzyzyyyyzzzzzz{{zzzyyyzz{z{zz{z{zyzyzyyz{z{zy|zzz{zyzyyzz{{z{{{z{zy{yyyzy{{{{{{{{zz{yzyy{{{z{{{{zzzz{yz{{{{{z{{{zz{zzz{zz{z{z{z|{zyz{zzzzz{|{z{{zzzzzyzz|{{yz{{|zz{zzzzyzz{{{{{{|{z{zz{z{{{{zz{{{z{{yzzzzzz{{|{|{zzzzyzz{{z{{{||{{zzyzzz|{y{{|z{{yzyyzzzz{z{{|{{{zzzyz{zz{zz{{zzz{zzzyyy{zz{z{z{{zyzyyzyy{{zzz|{yzyzzxzzzz{z{{{{z{yzzyy{zzy{z{z{{{yzzyyyzzzzyz{{yzzzyy{y{zz{z{{zzyzyzzzzz{zzzzz{yyzyy{yyzzzzz{zzzyyyyzzyzyyzyz{{yzzzzyyyyz{{{zzzyxzzyyyzzz{zzzz{zzzyzyzyyzzy{zzzyyzzyyzyzyyzy{y{{zzyzzyzzzyyyzz{zzzzyzyyz{z{zz{yz{zzzyyyy{{zzzy{yzzzzz{zz{{zz{zzyxzzyzzz{{{{z{|zzzzzzy{{z{z{z{zyyz{yzzyz{{{{{z|{zyzyzzzy{{{zz{z{{yzz{zz{{{{zz{|{{{zz{z{{{{z{{|{{zzz{{zzz|{{|{{{{{zzz{z{{{|{zz{}|zz{z{{{{zz{z|{{z{y{{z|z{{|z{{||{{z|{zz{z|z{{{|{{{zyzzzzz{{{{{{{|{z{z{zz{{{z{{{{{{yzyzzzz{zy{{|{{{yzzzy{z{{{{z|{z{zzz{zz{zz{{{zzzyzywyyyyz{{zzzyzzzzzyyzz{zzzzzz{z{zzyyzyyzzzz{{zzyzyyxzyyz{z{{zzzyzzzyzzyz{yyz{zyzzyyzz{zzzzzzzz{zzzyyzzzzzzyzzzyzzzyyzyzzz{zyzzzzyyyyzyy{{{zzzzzzyyzyz{zzzzyz{{zzzyyyzzzzzzyzzz{yzyyzzyzyzyzzyzzyzy{zyyzzyzzyzzzzzzzzzy{{{{zz{zyyzzyyz{{zz{zzzzzzyyzzyzzzzzy{{{zzzzzzzyzz{yz{zzzzz{yzzyz{zzz{{yyyzzyzzy{|{z{z{|zzzzzzzzz{zz{{{{{zzzyz{{{|{{{{{zz{{zzzzzz{z{{z{{zy{|{{yyz{z{|z|{zzzz{zzz{{{{{{{{zzyyz{zz{|{z{|{{{z{zyzzzz{{{{{{zzz{zzzzz{{{{z{{{{zz{{{z{z{z{{{{||{zzzzyzzz{{y{z|z{zzz{zyz{{zz{|{z{{{zz{zz{z{zzzzyyzxzyzy{zzzyz{{yyzyzzzzyzzzzz{yyzzxyzyyzy{zzz{zzzy{z{yyzzzzz{{{zzzyzy{y{zzz{{{{{zzyxyzyz{{zz{{|zyyyzzzyzyzz{y|z{zzzyyyzzzzzzzyz{z{xyyyyyyzzzzz{yzyxyzzyzzyzy{zzyyzxyyyyzzzzzz{zzyzzyzxyzz{yz{{{{zyyzyzyy{zzy{z{zzyy{yzzyzz{z{yzzy{zzzyyyz{zzz{{zyyzyyzyz{zzy{z{z{yyzyyz{z{zzyzzzyyzyyzzz{zz{z{z|zzzyzyzz|z{{{{{zyzzzzzzz{|zz|z{{zyzzzyz|{|{zzz{zzzzyzzz{{{{{{zzyzz{yzzz{zz|{{{zzz{zzzyy|{z{{|{{{yz{zzzz{{{z{|{z{{{{{{z{z{|{{{zz{{zz{{{z{}{|{{|{{{z{zzzz|{|{z{{{{z{zz{{zzzz||{{|{zzz{zy{y{zz{{{{yzzzyy{zzz{z{||{zzzyyzyz{|{z{zzzzyzyzzzzzzzz{zyzzzyzyyzy{y{x{z{zzzyyxyyyyzz{{{z{yyyyzzyyzzyzzzzzzyyyzxzzzzz{y{{{yzyyyzyyz{{zzzzz{z{yyyzyz{{zyzzzzyzzyyxyyyzyzz{zyzyyyzzxzzyzzzzzyyy{zyyyz{z{yzzzzzyzzyyzyz{z{zz{zyyxyz{yzyyzzy{zzyyzzyyyzzzzyzzzyzyyzyyyz{yzy{zyzzyyy{yyzzzzz{{zzyzzyyzzz{{yzzzzzyzxzzyyzzzzz{{zzyzzyyzz{{{zzz{zzyzzyyzzyyzz{{z{zzzzyzyzzz{{z{{zzzzzz{yz{z{{zzz{zzzzzzzz{{{{y{{{zzy{{{z{{{z{{z{{{zz{yzzy{|{{{{z{{z{zzzz{{{{zz{|{zy{zzz{{{{{zz{{{{zzzz{z{{{{{z{z{{yz{zyzzzzz{zz{{{z{zzz{{z{zz{{{|{zzzyzzzzzz{||{{zzzyz{yzz{z{{{|{|{{{zxzy{z{zz{{{zzyyyyyzzz{z{{yzzyyyzyzyyz{zzzyzzzyyyyzzzyzzzzzzyzzzzyzyzzzzz{|zzzzzyyyyzz{zyzz{z{zzyxzy{zyzz{z{zzyzyyzy{z{zz{{z{zzyzzyyzy{yy{zzzyzyyyzyzyyzzzz{yzyzyyyyzzz{zy{zzzzyxxyzzz{zz{{zzzzzyyyyz{{zz{{{zzyzyyyyyzzzz{z{zyyyzzzyzzzyzzzzyzzzzzzzzyzzz{z{yzzx{yzyzzzzyzz{{yzyyyzyzzzzzz{{zxzzyzzzzzzzzyzzzyzzzy{y{{{{z{{zzzzzzzyy{z{zz{{zzzzzzzyyz{{{{zz{zz{z{zzzzz{|{z{{zzzz{zz{z{zzz{{{zzzy{zyz{{z{{{{{zzzz{zzzz|{{z{|z{z{zz{z{{{{||{{{{yz{z{zzz||z{{{|{z{zz{{{|{{zz{zz{{zyzzy{zz{|zy{|zzz{{z{{{{{|{{|{{{zzyyyz{zz{{{z{{y{z{yyz{{zzz{{{zzzyyzzyzz{{z{{zzzzzzyzyzzzzz{zzzzzyzyzyyzzzzzzzzyyyzzyyzzzyz{zzzyyy{zyyz{zzyzzzzzyyyzzzyz{{zzzzyxzyyzyyyyyyyzzz{z{yz{xyzyzzzzzzyzzyyzyzxyzzzzzzzzzyyyyyyyzzzzzzyyzyyyyyyzzz{zzzzzzzxyyzzzz{zz{{yy{yyxyyyzzz{zzyzzzyzyyxzzyyzz{z{y{zyyzyzz{zzzzzzxyyyyyzz{zzzz{{zzyyyyzzy{{z{zz|zyzyzyzzz{z{|zzzzz{zyy{yzzz{{zy{{zzyzxyzzzzz{z{z{zzzyzyz{{{z{{{{z{zyzzzy{{{{{{{{y{{yzzzz{{z{{z{{zz{{zzyzz{{z{zzzzzzzzyzy{{{zz{|{z{{yzzz{{{zzz{{zzy{zzz{z{|{z|z{{zzzzzzzy{{z{zz{{zzzz{zzz{{{{{{{|{{z{{zzzzzzzz{{{zzyzyzyzzz|z{{|{zzy{zyyzzzz{{z{z{z{yzzyzz{{zyzyzyzyyxxyyzz{zzyz{yyyyyzyyy{zyz{zzz{zyyyyyyz{zzz{zyyzyzzzyz{zyzzz{{yzyzyzyzy{zzzzzzyzyyyzyzzzyz{zzzzzzyxyzzz{zz{z{zyyyxyyxyzyzzyzzyyyyyyzxzzzyy{zyzzyyxxyyzz{yzzzzzzzyyyyyy{yzzzzzyyyyzzzyzzxzyzzyyzyyyzyxyzzzz{zyyxzzzzyz{zzz{zz{zzzyzzzyzzz{{{{|zzzzzzzz{z{{y{{zyyyzyxzzx{z{zz|zzzzy{{yzzzzzz|z{zz{zzzyyy{{{|{{zzzyzzzyz{{{yzz{{zzz{zz{y{{z{z{z{zyzzzyzz{{{zz|{{zyz{zzzyz|{{zzz{{{{z{zzz{{{{{{{|{z{yzz{zy{{{{|{{{zzzzzzxzz{{{{{{zz{zy{yz{{{|z{{{{zzzyzy{z{zzz{{{zzzz{zzzzy{{z{{{{zzzzzzz{zzz{{{|zzyzzzzzz{z{z{zzzzzyzyzzz{{{zyyzzzyyzyyyzzzzzzzzzzzxyyxxyyzzzz{{{zxyyyzyzyz{yzzzyzzyyyyyyz{zz{z{zyyyzyyyzzzzyzzzyzyyzzzxy{zyy{z{zzyyzyyyzzzyz{zyzyyyyy{yyzyzz{z{yyzzzx{yyzzzz{{zyxyzxyyzz{z{zyzzzyyxyyyyyyzzy{{zzzzyyyzyzzzzyzz{yyyxyyyyy{zzz{z{zzzyzzyyyzzz{z{zzzzyzyzyzz{yzyzzzy{zyyzy{zzzz{{{yyzyyzzyzzz{zz{yzzzzyzzzyz{{{{zzzyzzyzyz{zzzz{|{zz{{zzyz{z{z{{z{z{zyzzyy{{z{{{zzz{zzzzzzzzz{z{{z{z{{yyzyz|y{zz{z{zzzyyyz{{{{z|{zzzyzz{zzzzz{{|zzzy{zyzz{y{{z{||{{z{zzzzz{z{{{{{|z{zzzz{z{z{z{z{{z{zzz{z{z|{{{||{zz{zyzzz{{z{{{{{zzz{zzyyz{z{{zz{zzzzyzzyyz{zz{{zzzyyyzyxzzyzyz{{yyzzyyyyzzzz{zzzyzxyyzzy{zzyzzyz{zyzyyxyzzz{{z{zzzyzyzyyzz{zz{{zzyyyzyyyyzzzzz{{zyzyyyyyzyzzzz{zzyyyzzzyzzyzzzyzxzyyyyyzzzyzz{yzyyzxyzyyzzzy{zxzzz{yyyzzy{{{z{zy{yzzyyzzzyzzyzzzzyyyzzyyy{zzz{z{zyyyzzzzyz{{zz{{zyzyzzzzz{zz{zz{zz{{yyyzzzzzy{{{yyyzzzzyzz{{zz{zzz|zzyzzz{zzz{zzz{zzzz{z{{y{z{zz{zyy{zzz|{zzz{{zyzzzzz{{y{{{{{|{z{zzyz{{yzz{{z{|z{zzzzyy{||{{|{y{yzzzz{z{{{||{z{{{y{{{{z{{{zz|{{{z{zzzyz{|{{{{{{zzz{{zz{{|{{{{{{{yzzzzz{{{z{zz{{{zzzzzzy{zz|zzz|{z{{zzzz{{{{{{{{zzzzzyzyz{{{{{z{{y{yyy{y{zz{{zyyzzyzywzyyzzzzzzzzyzzyyzzyyzz{zz{zyyyz{zyz{zz{{{yyzzyyzyzz{y{zyzzzyyyyyzxzzzzzzz{zyzyzyyyzyzyzzzzyyzyzyyzyzzy{{|yyyzyyzyy{zyyzzzzxy{yyyyxyz{zzzyzzyyzyyyyy{zyzzzz{zzyyyxyzzzzyzzzzyyzzxzy{zzzzzzzyyzyzzyyyzzzz{zz{yyzz{yyz{{z{{zzyyyz{yzyz{y{{{{z{zyyyzz{zzzzz{{zyzzyyzzz{zzz{zz|{zzyzyzzz{yzzz{z{yyzzyzyzz{z{zz{{zy{{zzzz{{zz{{{zzzzz{{zz{{{z{z{{{{zzz{zz{zz{{z{zzzzzzyy{{{z{{zzzz{yzy{z{{{z{{|{zz{zy{{y{z{z{{{{zzzzzzzz{{{|{|{{zzz|{zz{{{{{|{{zzzzz{zyzzz|{z{{{zzzyzz{y{{{{z{{{z{zzzzz{{z|{{z{{yzyyyyyyz{z|zz{|zzzyzzyyzzyzz{zyyyyyzyyzzz{y{zzzzzxyzxyyyzzzzzzyzyzxzyyyzzzzzz{yzzyyzzyyzzz{{y{{zyyxyzyxzz{zy{zzy{zyzyyxz{{zzz{{yyyyyzyzyz{zyzyzyzyyyyzyzyyzzzzyxyyyyyyzzzzzzzzyyyyyzzyzyz{yzzzzzzyxyyyxzzz{z{z{zyzzzyzxy{zyy{yzzzzzyyzyyzzzy{zzzzzyyzzyyzzyzz{z{zzyzyyyzz{{y{{{{zzzzzzzzzzzzy|{yzzzyyzz{z{zz{z|zyzzzzzyz{z{z{|zzzzyzzzyz{{z{z{{zzy{zzzzyzzzz{zzzzzy{yzzz{z{{{{zzzzyyyyzz{z{z{{|zy{z{zyzz{{{zz{z{z{zzzzz{||{{z{z{z{{yz{{z{z}{{{{zzy{zzzzz{z{z{{|zyzzz{y{z{zz{||{{zzzyyzz{{z{{{|{z{zzz{yz{{z{{{{{zzzzzzzzz|{z{{|{z{zzzzz{{{z{{{{zzzyzzzyzzyzzz{zyzzyyzyyyy{zzyz{{yyyzzxyzzy{{z{{zzz{yyzzy{zzzzzzzzyzzzzzzzz{|zy{{zzyzyyzyzzzyzzzzzzzyzyzyzzzzyzz{zzzyyyyyzz{zzz{z{yyzzyyy{zz{zz{zyzyyyyyzzzzyz{zzzyzyyzzzz{yzz{zzyzzzyyyzzzzzzzz{zzzyzzzyzzzzzzzzyyyyzyyyz{y{y{zzzzzzzzzyzz{zzzz{zzzzzyy{{zzz{{{z{yzzzy{zzzy{zz{{zzzzyyzy{yz{zzzzzzzzzyy{z{{z{z{zzyzyzzzyz{{yzz{z{zz{zyyzz{{{z{z{zz{zzzzy{{z{{{{zzzzzy{zzz{z{z{{{zzyzzzzyz|z{|{{zzyy{z{zz{{{z{|||{zzzz{|zz{{{{|{{{{zzzz{z{|z{|{|{{z{zz{z{{|{{{|z{{yzz{zzz{z{{{{|z{{zz{{z{|{z{{{{|zzyy{xyz{{|{z{{|z{zyzzyzzzz{{z{{zzz{zzyz{{zz{zzzyzzzyyzyyzzzzzz{zzyzyyzzzzz{{zz{zyzyzyzyz{zzzzzzyzzyxyzzy{zzzzzzzzzyyzzyzzyzzzz{zyyyyyzy{zyy{z{zyzyzyyyy{zzzzzzzzyyyyzzyyz{zyzz{yyyxyzyyy{{zzz{{zzzyzxyzz{{zz{zzyyyzyyyyzzz{zzz{zyyyyyyyzzyzzz{{zyyyzyzyyzzzz{zzyyzy{yyz{zz{z{{zzzzyzzyy{{{zz{{zzyzyyyzz{zz{zz{yzzyyyyzyzz{zz{{{z{z{{yzzyzzzzz{zzzzz{zyzz{{zzz{{zzyz{yyz{zzz{zz{z{zzzz{z{z{{{z{zyzzzzzyz{{{{{{{|zzzzyzz{zz{|{z{z{yz{zzzy{|{{{{z{zzzz|zzzzzz{{{{|{{z{{z{zz|{|{y{{{zzzzz{{|{{zz{{||zzyz{{z{z{z{{z|{yz{{zyzzz{z{{{|zzzy{z{y{{z{{|{{{zyzyzyy{z{z{zz{zzzz{zyzz{zz{zz{zyzyyzyyz{z{zzz{yzzyzyzzzzz{z{{zyzyyyyyzyzzz{y{zzzzyyxyyzzy{y{z{zzxyyzyxzzz{zzz{yy{zzyyyz{zzyzzzzzyzyyzzyz{yy{zzzzzxyyxzzzyzz{z{zzyzzyzyz{zzzzzzyyyzyyzyzyzz{{zzzyzzyzyyzzzz{{z{yzyzyxyyzzzzzz{zzzyyzzyyz{zzzzzyzyzzyzzzzzzzz|zzzyzzyyzyzy{zz{{{zzzyzxzz{zzzy{{{zy{yzyyzzzzz{zzzzzzxzzzyzzzyzzz{zz{yzyzyzz{{zz{zz{y{yzyz{{z{zzzzz|zzz{zzz{{|z{zzzzzy{zz{{{{{z{{|{zz{zzzzz{z{|z{{{z{{zz{z{{{z{{||zz{zzzz{z{z{{{||z{zz{z{zz{{{{{{{{{{zyzzz{zz{{{{{zzy{zzzz{{{{|{||{{zzzz{{{z|{{z{{{zzy{yzzz{zz{z|zzzzzz{zzz{z{z{zzzz{zzyyz{|zz{z{{yyyyyzyyyzzzzzzzzzzyzyyzzzzzz{z{zyyyzzzyzzzz{zz{zyzyzyyyyzyyyz{y{yzyyyyyyzzzy{{zzyzzzzyyz{{yz{{zzz{zyyzyzyzzz{yzyzyzxyyyzzz{yz{zyzyyzyyyzzyzzzzyy{xyzzyy{yzz{zyzzyzzyzyyyzzzzz{zzyzzyyxzyzzz{zzzz{yyyyyzzzzzz{z{zyzzzzyyzzzz{zz{yyzzzyyyzzzyzzz{zzzzyyz{zyzz{{z{zzyyzzzyzzzyz{z{z{zyyyyyzz{zzzzzzyzyzzyzzzz{{z{zzzyzyyzzzz{zz{{{{zzzzzyz{{{{z{{zzzyz{zyzz{zz{{{z{zzyz{yzzz{{|z{{zzzzz{zz{z{z||||z{{zzzzz{{z{{{{{{zyy{{z{z{{|zz{{{{zzzz{{{{|{{{{{zy{zzzzzz{|z|z{|{zy|zzz{|{{{{{{{|z{yzzxzzz{{{{{{{zxzyzz{z{z{y{zzyyzzyyyyzz{z{z|{zzyzzzyzz{zzzzy{yyxyyyyyzzzzz{{zyyyyxzyy{{zzz{{{zzzyyyyy{{zzyzz{yy{xzyyxzzzyzzzzzyyyzzzxzzzzyz{zzyzyyzzxzzz{y{zzyyzyyzyz{zzzzz{zyyyzzzyzzzzzzy{z{yyzzyxyy{yyz{{{zyzxyyyyyyz{zzzzyzzyzyyyyzyzzz{z{zzyzyzyzzyyzzzzyzzyyyyyzz{z{{zz{yyzzyzzzy{zz{{zzyzyyzzy{zzzzzzzzyzzzzzzzz{zz{zzzx{y{yyyyz{zz{{z{zzzzzzy|z{zz|{zzzzzyzzzz{z{{zy{{zzzzzxy{z{{z{{{{z{zzzzz{zz{zz|z{yzzzzzyz{{zz{{{zzzz{z{z{{zzzz{{zy{{z{zzz|{{zz{{zzyzz{zyz|{{z{{zzzzzzy{zz{zzzz{z{z{{zzy{z{zz{z{{{yzzzzyz{{{{z{z|zzzzz{yz{{{{{|{{zzzy{zyz{{{z{{z{zz{yzyzy{zzz{{z{zzyxyxzyyzzzy{zzzyzzyyyyyzz{z{z{zyzyyzyyzzzzzz{zzzyyyzzyzzz{zz{{yyxyyyyyzz{{yzz{zyyzyzzyyzz{yzz{yyyyyyyzyzzyzz{yzyzyyzzyzzyyyyy{zyyxyyyyzyzzzyzyzzzzyzyyy{yz{yz{zzyyyzyyzzzzyzzzzyyzyzyzzzzzz{z{zzzyyyzzyzzz{z{zyyzyzyyyzzyzy{{zzzxzzyzzyzzzxzz{zzzyzyzz{zz{z{{zzyzzxzyz{z{zzz{zzyzy{yzzyzz{z{zz{z{xyyyzz{{yzz{zzzzyzzzzzzz{{z{zzzzy{{z{{{{zzz||zzyyzzzz{zz{y{{z{zz{zzxzz{{{{z{z{{yz{y{z{|{y{{{{yz{{z{{z{{zzzz{{zzz{z{zzz|z{|{{{{zzzzzyz{{z|zz|{zz{zz{z{z{zzz{z|z{z{zzzzzz{zz{{{zzyzz{zzy{|zz{{{{zzyzzyzyzz{{{|{zzzzyzzyzz|{zzyzyyyzyzyyyz{zzzyzzyyyzyzyz{yzzzzzzzyyyzyz{zyy{{zzyyzyyzyyyz{z{z{zzyyyyyzyyzzzy{{zzyzzyyyzzzzyy{yzzyyzyyyzzy{zyzzz{zzzzzyzzzzz{zzzyyzyzyyyzzzyzzzzyyyyyzxyzzzzzzz{zxzzyzyyzzzzz{{{yzzyyyyxyzzzzzz{zzyyzyyyzzzzyzzyyyzyzzzxz{zzzzzzyyyyzyzzzzyzz{{zyy{yzyzy{{zzzzzzzzyyyyzy{{{{z{{zzzzz{zzzzzz{z|z{zz{yyzyyyz{{{z{|{zzyzzyy{z|z{{zzyzz{zzzyzz|{{{{zy{zzzzzzz{z{{{|{{zz{zzyy{{z{z{{{zzzzzzzz{{{z{{{{zzzyzz{z|zz{{|{{{zyzz{zyz{z||zz{{yzzzz{{z{z{z|{zyyyzzz{y{z{zz{{{|{zzyzzz{{{{z|{{yzzzyzyzz{zz{{zzz{yzzyyyz{{{{{zzzyzzzzzzzz{{yzzzzyyyzyyyz{y{yzzzzyyzyzxxzzyyzy{zzzyyyzzyzzyz{{yzyzxyyyyxzy{zyyzzy{yyyyyx{zzzzyzzyzyyyyyyyyzxzzzyyzzzzyzyzzzzyzxyyzzyzyyzzyzzyyzzyyyyyyyyyyzzyzzzyxyzyzyyz{yzz{zzyyzyyyyyzzzzzyzzyzyzyzyyzzzzyzzyz{yyyyyxzzyyzzzyzxzyzzyyyyzzzzz{zzzzyyzyzzzzyyzz{zyzzyyyzz{zzyz{yyzzyyzyzyz{zy{yzyzzzyyyyzz{z{{{{zyyzyzyyy{z{y{zyyzzyyzzzzzzzzzz{zyyyzyzzzz{z{{{xzzyz{zzz{{zyz{zzzyzzyzy{zzzyz{{zyzz{zzzz{{{{{{{z{yzz{zz{{{{{z|{|{yyzyz{z{z{{zzzzz{{zz{{z{z{z{{|zyzzzyyzz{{{zz{{{{zzzzz{z|z{{zz{zzzzzzzz{y{zz{z|zzyzzzzyzz{{zz{{zz{zzzzyzzyzzz{zzyyyzyzx{{zzyyz{zyyyyyyz{zyyzz{yzzyzyzyyzzzz{yzyyzyyyyyyzzzzyyzzyyyyzyzyzzzyz{y{zzyyyxzxyyzyyzyzyyxzzzxzzyzyzzzzyyyyyyyyzzyzzzzzyxyyzxyzzzzzyzzyzyyyzyzzzzzy{zzzzzyy{yyyzyzyzz{zzyyyyxyyxzzyz{zzyzyyzyzxy{zzzzzzzzyyy{zzyyzzzzzzzzyyzzzyzz{zzz{z{z{zyxzzzzzzzzz|yzyzzzz{zz{zzz{z{zyzzyyyz{z{yzyzzzzyzyyzzzz{zz{zzxyzzzyyzzzzyzzzzzz{zyyzzzzz{{{zzzzzzzzz{{{{zz{{zyzzzyyzzzz{zzz{{zyzyzzz{{zz|{{{zzz{yz{zzz{z{{{{|yzzz{z{z{{{zz{zzyzzzyyz{{|{z{|z{zzzyzzz{zz{z{|{zzz{zzzyzz{{{z{{{zzzzzyzy{z|z{{zzyzzyzxzy{zzzz|{yzzyyzz{z{z{yzzzyyyyzyzzzzzzz{zzzyzzyyyyzyzzz{zzzyzyyyyy{z{yzzzzxzyzyzyyz{zzzzy{zzyyzyyyzzzzzzyzzyzzyyzyzzzyz{yyzyyzzyyxzzzzy{yzzyzzyyzzzyzyzyzzyzyzzxyyyzz{{z{zyyyzz{xyz{{y{z{zyzzyyzzyy{zz{zzzzyzzzyzyxzzzzzyzyyzyyyyzyzzzzzzzzzyzzzyyyzzzzy{{zyzyzzz{zzzzzz{{zyzzzxzz{zzzz{zzzyzyzzzzyz{zz{{{yyzzzzzzzzzy{{zzyyy{{zxyzzzzz{{zyzzyyyzzz{zyzz{zzzzzzz{{yz{z{{zzzz{yyz{z{{z{z{{{{zzz{zyzzz{z||{|{zyzyyzz{|{{{{{{zzzzzzz{{{{{|{{{{zy{zzzzz{{{zz{{{zzz{z{zzzz{{z|{{yzzyzyz{z{z{{{|z{{{yzzz{zz|z{{{zzzyzzz{zz{z{z{{{zzzyzzz{z{zz{zzzyzyyyzzz{zyzzzzyzzyyywyy{{zz{z{zzyzyyzzzzzzz{{{{yyyyzzyzzzz{zzzyyzyyyyxyzzzzzzzzzyyxzxxz{zzzzzzzzyyyyyyzzyzzyzzzyyzyyyxzz{zy{zzyyxyzyyzzzyzyz{yzyyyzzyyzzzzz{{zzyzyyyzyzzzzzzyzzyzyyzxyyyyz{z{zyyyyzyzzyzzyyz{z{zzyzxxzyzzzzzz{zzyyzzyyzzzzzz{zyzzzzxyzzzzz{{zzzyyyyyzyyz{zz{{zzyzyyzzz{z{{{{{zzz{zzzzzz{z{zzz{yz{zyzyzz{{zzz{{zzzzzyyzzz{{z{zzzzzzz{x{z{{{zz{zzzzzzzz{zz{{z{{{zz{{yzyyz{z{z{{zzzzy{zzz{|{zz{{|yyz{yzzz{{z|z{z{zy{zzzzzz{z{{{z{{zzz{yzz|z|zz{{zz{zz{{z{{{{{z{{{{z{z{yzz{zzz{|z{zzzzz{{zz{zz{{{z{zzzzzzyz{{{|zzzyzzzzyzyzzz{zzz{zyyyyyzyzzyzzzzz{yzy{yyyzzzzz{{{zzyyyyzxzz{y{{yzzyyxyyxyzzzzz{yzzzyyzyzyzzzzz{zzzyyzyyzxzy{zz{z{zyyzzyyzzzzyzzxyzzzxyxyxzyzzxzzyyxyyyxzyzy{zzz{{zzyyyyyzyzyzzzzzzzzyyyyyyzzzyzy{zzzzxyzxzzyzz{zzzyzyyzzyyzzy{z{zzzzzzyzyyzz{zzz{zyzzzyxyz{zyzzz{zyzyyyyzzz{zz{{|yyzyyzzyz{yzz{zzyyzyzyyyzz{{z{{{yzzzyzyyxyyzz{{zyzyyzzzzzz{zzzzzz{zz{zzyz{{{|{z{yyzzzzzyzzz{{{{{zzzzyyzyy{{{zz|yzzzz{yzzz{{{{{|{zzzzzzz{z{z{{z{{{zz{{{zzz|{zz{z{zzzzzzzz{{z{z{z{zyz{z{zzz{zzzz{|zzzzz{zz|zz{{{|{zzzzy{zz{{z|z{{{{zzzzzyzz{z{z{zzzzzzzyzyy{zzyzzyyyzxyyyzzyyyzzzzzyzyyxyyyy{zyzzzyzyxzzzyzzzzzzz{zyyzzyyyyzzzzz{zz{zyyyyyz{yzzyzzzyyyyyyyy{zzyzzzzz{xyyyxzyzzyzzzyyyyyzyx{zzyzzzzyyyxxyyxyz{yzzzzzyyzyyyyyy{yz{zzzyyyyyxyzyz{zz{{zyzxyyyxyzyzyzzzzyzyyzyyzzzzyzz{zyyxyzyy{zzzzzzzzzzyzy{xyz{zzzzzyzzyzyyyzzz{z{z{zyzyyyyyzy{zzz{zyzzzzyyzy{{z{zzzyzyz{zyy{zzzyzzzzy{yyyzy{zzzz{zzzzzzyzzzy{{z{{{zzyyzyy{zzzz{{|z{zzzzzyyzz{y{{{y{{zzzzzzzz{|zz{{{{{{z{{{yzzzzz{z{zyzz{z{yz|{|{{{{zzz{yyyz{z{y{{zz{yy{{zyy{zzzz|||z{zzyzyzz{{{{{z{{yzzyz{yyz{zzz{{zzzy{zzzzz{zz{zzzzzyzyzzzzzzy{zzzyyyyyzyyzzzyyz{yyzxyyyz{zzyyz{zyyzyxxyyzzyyz{zzyyzzzxyyxz{yzzzzzyyzyyyy{zz{zzz{yyyxyyzyzzzzz{yyyxyzyxzyzyyyzzzzzyzyyyxyzzzz{yzzyyyyyxyyzzzzz{zzyyzyyyzyz{zyxz{zzyyzyyyyyzzzzzzzzyzzyzyxxzzzyzyzzyxyyzzyyyyyzz{zyyzyyyyyyz{{{z{{zyyyyzyzzzyzzzz{zzzyyyxzzyzzzzy{yzzyyyzzzzzz{{{zzzzyzzzzzz{zzzzzyzxyzyyzzzzzzz{zyzyyzzyzzy{zzzyz{z{zzyzyz{{{z{|zyzyzzzz{{zz{z{|{zyzzzyzz{zz{z{z{{yz{zyzy{{{z{{{{z{zz{{zzyz{z{|{{zyz{zz{z{{z{y{|yzyz{{zyyzzz{{{|{yzzyzyzzzz{zz{{{{yy{zzzz{|{{zz{{zzyzzyzzz{z{z{z{{zyzyyzz{z{{z{{zzzyzyxzyzzzzzzzzzyzyzyzxz{{yzzzzyzyyzxxzzyyz{{z{zyzyyyyyzzyzz{z{z{zyxxyyzzz{zzzyzyyzyyyyyzzzz{zzzzyyzyyyy{yyzzzyyyyyyzyyzz{zyzzz{yyzyyzyyyzzzzzyyyzyyyzxyzyyyz{zzyyyzyyyzz{y{zzyyyzyzzzxyzzz{zyzyzyyyyyyy{zzy{zzzyzzzyyyyzzzyzz{zzzyzzyzyzzyyz{{zyyzyyyzz{zzzz{zzyzyzzyyzzzzzzzzxyyyzzzyyz{{{{{{yzzzzyzyzzz{zz{{{yzzzyyzz{{{zz{zzzxzz{yzz{zzzz{{{zzzzyzzzzz{{zz{yzzzzzyy{{z{{{z{{zzzyzzyz{z{{{z{zzyyzz{{|{z{z|{{zz{xz{{y{|y|{{z{|zzzzzzz{{z{{z|{{{zzzzzzz{{{z{{{{zz{{zz{zz{z|z{{zzyzzzz{{zz{{zz{zzzzzzz{z{{zz{{zzzzzzxzyzz{{zz{yzyyyzyyyzzz{zzzzzyyzyyyzzzz{zz{zzzxyzyzy{zzzzzzyzzyyyyzz{zyzyyzzzzyzyzyyyzzzzz{yyzxyxyyyzzyzzzzzyyyyyz{yyzzyyzyzzyyxzyyzyzzzyzzzzzyxzzyyyy{zyz{zyyyyzyyxzzyyzxzzzyxyxxxyzyzz{zzzzyyyzyzyyzzyzy{zyzzzyyyyyzzyzyyzyyyxyyyyy{zyyzyzzyzyyyyxzzyzz{zzzzyyzzzyyyyzy{z{zyzyzyyxzzzzz{yzyyzyxyyzzzzzz{{{zyzz{yzxy{{{z{zyzyzyzyyz{zzz|{zzzyyzyzzz{zzzzz{zyzyyzyzzyzz{z{{{{yzyzy{{z{{{zz{zzzzzzyyzz{{z{z|z{zzzzyzy{{z{{zz{{zzz{zzyzz{z|{{{z{zzzzzzyz||{z{zzzz{zy{y{{z{zz{{{xzzzzzzzz{{zz{{{zzzzzzyz{{|z{zz{zyzzzzzzzzy{{{{z{zyyyzyz{zzzz{{yyyzzzyyz{zzy|zzyyyzyyyyy{zzyzzzyyyzxxyyzyzz{{|zzyzzyzyxz{zyzz{zyyyyyyzyxzzzzyzyzyzyxyyyzz{z{yzzzyzyyyyyz{yy{zzzzyyyyyyzxyzyy{zzyxzyyzyyyyzzzzyzxxyyzyyzyzxyyyzzzyzzzyyyzzzzzzyzyyzzyyzyyzz{yy{zyzyzyyzyxzyzzzyyzzzxxyzxyyzzzzy{yyyyzzzyyzzzz{{zzyzxyyzyyzzzzyz{{yzzyyzzyzy{z{zzyyyzxzyzzz{zzy{{zzzzzyzz{zzzz{y{yyzxyyyzzz{zzz{{yzyzyzzzzzyzzyzz{zzyzyyyz{|{{{{{zzzz{z{y{{z{{{z{zzyyyzzyz{{z{{|z{yzzzzyzz{zz{zz{zzyyz{zyyz{zz{|{{{yzzyzzz{{z{{{{zy{zzyzz{{zz{{{z{zz{zy{zz{z{zz{|z{yzyzzz{{z{{{z|zzyyzzz{zz{z{z{{{yyzyyzyy{z{zz|{zzzzzzzy{y{zzzzzzzyyyyyxyyzzzyzyzxzzyxxyzzzz{zzzzzyyxyyxzzxzzz{yzyyyyyzyyyyzyyzzyzywxxyyyy|zyzz{yzyyyxyyxzyxy{zzzxzyyxyxyyyzyyyyzyyyyxyyzyzzyz{zzyxyyyyxyzzzzz{yzyyxyyyzzyzyyzyzzzzyyyyyzyyzyzz{xyyyyyyyyzyyzyzzyyyyyyyyx{yyzzzzyyyyzzyxzyyzyzz{zyyyzyyyzzyzy{zzyyzzxyyyzyyzyyz{xyzyzyyyzzzzz{zzzyzzyyyyzz{zzzzzzzyyzz{zzz{yz{{zzzzyyzyyyz{y{{zzzzzxyzzyzzzzz{zzz{zzzyyzzzzzzzz|zy{zyzyzzz{{{z{z{zzzzxzz{{{zz{|{zz{{yzyzz{{{zz{{{z{yyzzzz{{yz{zzzzzz{yzy{{y{zz{zzyyyyyzzz{{zzz{{{zzzzzyz{z{zz{zzyz{zzy{z{z{zz{{zyyy{zzzxy{zzzz{yyzyzzyzyyzzzzzzzzxyzzy{yzzzzz{zzzzzzzyyzz{zzzzz{zyyzyyyxzzzzyzzzzxyyzyyyyzyyzzz{zyzyyyzyzzzzzzy{zyyyyzzyzzyyz{zzzyyyyyyxyzzzzzzyzyyyyyyyyzzzzzzyyxyyzyyyzzzzzzzz{yzyxyzyyz{zzzyzzyyyyyxyyzzzzzzzzzyyzyyyzz{zyzzzyyyyzyzyzzzyyzzyyyyyzzyyzzz{zz{{zzzzzyz{yzzyzzz{zyzzyyzyzzyz{{z{yyyzzyyzzz{zy{zzyzzyzxyyzzzzz{zzzyyzzzyyzz{zzyzzzxzyyzyzzz{z{zzz{z{zzzyzz{zz{|z{yyzzzzzzzz{{y{{{zzz{yzzzyz{{z{zzzz{zyz{zz{{{{z{{y{{{zz{y|{{{{z{{{zyzy{y{{{{{z{zzzzzzzzyzz{{z{z|zzzzzzzz{{{z{{z{|zzyz{yzz{{z|y{{zzz{yzzzy{zzzz{{z{zyzyyyyz{{{zzzzzyzxzyzy{z{zy{zyz{zzzxzyyzz{yz{zzzyxyyyzzzz{y{{{zzzzyyyzyzzzzzzzyyzzzyyzzzyzzzzyzzyyyxzyzz{yz{z{zzyyzyyyyz{zz|z{yyyzyyzy{zyzzz{zzyyyzzzyzyzzzzzzyyyyyyxyzzz{zy{yyyyzzyyyz{zz{zzzyyzyyyyyzzy{zyz{zzyyzyyyyzzyyzzzzzzzyyyyzzyz{zy{zyyzzzxyzyzyz{{zzyyyyzyzzzzz{{z{zyzzyyzy{yz{zzz{yz{zzyzyz{{z{{{zzz{{zzzzz{zzz{{zzyzzyyzy{zz{{z{z{zyzyyyz{{{yzz{{yzzyzzyzz|{{{{zyzzzzzzz{{{z{z{{{yzzzzzyy{{zz{z{z{{zzzzzz{{{zz{{{zz{yyzzzz{zz{{{z{{zzzzz{z|{||{{z{zz{yyz{z{{{{|zz{zzz{yzz{{{{z{{{{{zzzzzzzzz{z|{{zzzy{|zyzz{zzz|{{zyyzy{y{{zzzz{zzyyzyyyz{{zzzzzzzzzzyxxyyz{yzyzzyyzxzyyyyzyzz{{zzxzyyzyxyzzzzzzzzyzyxyxyzzzyy{zz{yzxzyzx{zzzyzy{zyxyxyyyzzzyy{zzzzyyyyzyyyzzz{zzzzzyxyyzyzzzzzzyyyxyyxzyzzyzzyzzzzyxyyyyzzzyzzyzyzyxyxyzzzzz{y{zzxzzyyyzyzyzzz{zyzyzyyyyz{yzzz{zyzyzyyyx{z{zyy{z{yzyzyyxz{zzzzzzyyxyxxzyzzzz{z{{yyzyyzyz{y{y{zzyyzzyzyyzyzzzy{{{yyz{{yyyzzzzzz{{{yzzyyzyzz{zzyz{{zyyz{zyz{{zz{{{zyzzz{zz{{yzyz{zzzzzzzxy{{{z{z{zzzzz{yzz{{{{{{z{zzyyz{zz|zzz{{{{|zzzyzzz{{{{{{{{{y{zzyz{{{zzzz{{zzzz{{z{yz{{{{{|z{zzy{yy{z{{{{zzzzyzzzxy{{{z{{{{zzzy{{zyz{{{z{{{yzzyyyyy{z{z{zyyxyyzzxxyyzzyzyzzzyxxyyyyzyzzzzyzyzyzyzzy{yyz{zzzzyzyyzyyyyyzyyzyyyzzyxzyzyzzyzzzzyzyzyyyyzyyz{yzzzzzyyyyyyzzzzyzyxyyyyzyyzyyzyzzyyyyyxzyyzzzyyzyyxyyyyyyxzyzzzzzyzzyyxyyy{yzyzzyyzzyyzxyzzyyy{zyzzyyzyxyyzyyzyzyzyyz{zyyzyzzzzzzyyyzyzyyy{yzzz{{yzxzyyyyzzzzzy{zyyzzyxzyzzzzzz{y{yzyyyzz{zz{y{z{zzyyyzyz{zzzzz{{yyyy{yyzzzzzzzz{{zyzyzyzyzz{z{zz{yyyzzzzz{y{z{{zzzzzzyzzz{{z{z{{{zyyzyzyz{zzzz|zzzzzyz{z{{zyz|{zz{z{yzzzz{z{{{{{{zyzzz{zz{{{z{{{zzzzyyzzzzz{{||{zzzzzyyzz{z{z{{{zzzzzyzzy{zz{{{{{zzzzyyzz{{zzz{zzzzyyyyzzz|zyzzzyzyyyzzyz{zzzz{zyyzyyyyyy{zzzzzzyzzxyxzyzzzy{{{{{yzzzyyzyy|{zyyyyy{zyyzzzyz{zyzz{zzzyzyyyyzzzzzzyzyyyyyyzzzzz{zyzz{yyzyzzyzyzzzzyzyzzyzyyyzyzyzyyyzyyyyzyzzz{{yyyyzyyyyxxzyzzzzyzxzyyyzyzz{zz{z{zzyyzzyxzyzyzzz{yyyzyzxzzzz{{y{zzzyyzyzzyzyzzzyzyzzzyyzzz{{z{{{{yyzzxyyyzzyzzz{{yzzyzzzzyzzzzzzzzyzz{{yyz{z{z{{z{zyzyyzz{{zzzy{zzyzzzzzzyzz|z{{zzz{z{y{zzz{{{|z{zzzzzzy{z{zz{{zz|y{yzyzzz{{zz{{{{y{yy{zz{{{{{z{{zyzzyz{yzz{z{{y|zzy{zzzz{z{{{zz|{zyzyzzzz{zz{{z{zz{zyzzz{{z{zzz{zy{zzzzzz{z{zz{{{zzzzzxzzz{{z{{{zzzzyyyyzz{zz{{yyyyyyyzyzzzyzz{{z{zzzyyzy{zzzz{z{yzzyzyy{yz{z{{{zyzyyyyzzzz{z{zzzzyyyxyyyy|zzzz{yyyzzyyyyzzyzzzzzyzyzyyzzy{zzz{zyyyyzxyyyzyzzzzzy{yxxzzyzzzyy{zzzyzzxyy{zz{y{z{zzzzxxyyxz{{{zzzzzyyyzyyyxyzy{zy{yzzyzyzzyzzz{{z{zxzzy{zyzzyzzzz{{y{{{yyzz{zyzzz{zzyzyxzyzzzzzz{{{zzzzzyzzz{yzzz{yzyyyyyyzzzz{zzzzyzyzzzzzzzzz{{zzzzyzzyz{zzzzzzzzzzzzzzyzz{z{zzzzzyzyy{zzzzz{z{|yzz{zyzxz{{{{{{{zzyzzzzz{{zzz{{zyzyzzz{z{{{z{z{|{zzzzzzyz{z{{{{{zyzz{z{{{zz{zz{{zyz{{zz{z{z{z{zz{zzzzzzzzz{{{{{zzzzyy{zz{{z{{|{{z{{z{zzz{{zzz{{{zyyyzzzyzy{{yzyyyzyxyyzzyyzyyyzzyyxyzyzxzzzzz{zzzzyyyyyxzyzy|z{zyyzyzxxzyyzzyzzyzzzyyzyxyyy{z{zzzyzyxyyyy{zzzyzyzzzyyzxzyzzzyzzzzzzyzyyyyyyyzzzzyzxyyyyyyyzzz{{zyyxzyyyyyz{zzzz{yyyyzzyxzyzzzy{zzyzxzyyyzzzzyy{yyzyyyzyyyzzzyzzzyxyyyzyzzyzzzz{{{yyyyzzzzzzzzyzzzzzzzz{yz{zzz{yzyyy{yyyzzzz{zz{{zzzxzzzyzyyz{|zzyyzzzyyzzyzzzz{z{yzzzzyzzzz{zzz{zyzzzzyzzzz{zzzzyzyzzyyy{{{|zz{|y{yyzyxzz{z{{z|{zxyyyzzz{zz{z{zz{yz{zz{z{{{{{{{{{zzzyzzzz|z{z{{{{y{zzzz{{{{{zz{zyzzyyzy{{zzzzz{{yzz{zzzyz{{z{{{zzyzzyyzyz|y{z{|{zzzzzyzy{zz{zzzzyyzzyxzyzzzzyzyzyyyzyyyyzzzzyz{zyyyyyyyzyyz{yzzzzyyyyyxyzzzzzzzzzyyyxyyzyyz{{y{zzyzyyyyxzzzzy{z{zzzyyyxyyzzzy{zyyyzyyyyyzzzzzzzzyyyxxyyyxyzzzzzzyyzzzzyyzy{zyzz{zyyyxzyyy{zzzz{zyzyyyyxxyzzzyzzzyyyyzzyyyyzyzzyzyyyyzxzyy{zzyzzyyyyyyzzxzzzzyz{zzyxyyxyyzzyz{zz{yyzyyzyzzzyzy{zzzyyyyyyzz{{z{z{zzyzzzyzyyzzy{{y{zyzyyzyyz{zyyz{zzzzzyyyzzz{yzzy{yzzyzzzzzz{{zzzzyzzzy{yzzzzzzz{{zzy{zyyyzzzzz{{{zyzyzzzzz{{z{z{zzyzyzzz{zzzzzz{z{zzyzzyzz{{zy{|{zzyzzzzzz{|z{{{z{yzyyzyzz{{zzz{{{zyzzyyz{zz{{{{|zzzyyzzy{{zzzz{zzyzzyzyzz{zzzzzz{zzyzzyyzzzyzzzyzzyzxyyyzzxzzzz{yyzyzyyzyyxz{zz{zxyyzyzzyzyzzz{zzyyyzyyyzzzyxzzzzzzyyyzyyyzyzzzyyyyyyyyyyzyyyzzyzzyxyyyyzy{zzzzyyyzyxzyyy{zzx{zzyyzyxyyyyzzzzzyzzyyyxyyyyzzyzzzzyyzyyyyyyzyzz{z{zyyzyyzxxzyzzzzzzzyyy{yyyzyzyzzzzyz{zyzxzzz{zzzzzzzxyxyz{yzzyzz{zyzzzyzzzzzyzzzzyzzzzzyyy{{zyz{zzzzzzzzyyyz{z{y{zzyzzzzzyzz{yy{z{zzzzzyzz{zzzz{zzz{zyzyzz{z{{z{zzzzzz{z{zz{{zz{{zzy{zyyzy{{z{zz{{zz{yzzy|{{{{z{{zzzyzzzzzz{{zz{{{zzzzzzzy{z{{{{|{yzz{zz{{{z{|{{zzyzzzzyz{z{zzz{zzzzyz{zyz{{{z{zz{{yzzzzyz{z{{z{zzzxzzzyzy{z{zz{zyzyyyzyyyzzzzzzzyyyyyxyzyyzzyyz{xxzzzyyyyzz{zz{{zyzyyxzyzyyzzzzzyyyyyyyyy{zzzzzzyzzxxzyyzzzyzzzzyyyyzyyxyzzzz{zyzyzyzyxyyyzyyzzyzyyyxyyyzyzzyzzyyyyyyyyyyzzzyz{zzxyyyyzzzzzz{zzzzzyyzxzzyzzzzzzyzyyyyzyyyzzy{zzzzzyyyxzyyyzzzzzzyyzzyzzy{zy{{z{zzyzyyyyzyzzzzzzzzyzyyzyzyzzyz{zzzyyxzyyyyzz{zyzzzzzyzyzyz{zzz{{zzyyzyyzzzzz{{z{z{yzyzyyz{zzzy{y{y{yzzzz{zz|zzzzzy{{zzz{zzzzzzz{{zzyzzyzy{zz{z{{{{zzyyyzzz{zy{{{{yyzzzzz{{{{{zzz{zzzzzzzzz|{{{{{z{z{yzz{z{{{|{z{{{zz{zzzzz{z{{z{{{zzzzzz{z{{{|z{zyzzz{zzzzz{z{z{|zyyzyzyzz{zzyzzzzyzxzxyzzyzzy{zyyyyyyyzxy{zzzx{zyzyzyyzyzyzzz{zzzyzyy{xyzxzyzz{yyzxyzyzzyzzzyzzzyyxxyyyxzzzzzzzyyzyxyyyyzxyzxzzzzyzyyyxy{zzyzzzzyzzyyyyyyzzzyzyzxyyyyyzyyzzyyzz{zzyxzyyyyzzyzzzyyzyzyyyxzyzzzzzzzyyzzxyxyyzyzzy{zzyxxyyyzzzzy{y{yyzxzyyxzz{z{z{z{zzyyxzzzzzzzyz|yyyyyyxzzz{z{zz{zyyyzyzyzyzzzzyzzzyy{yzzzzzzz{zz{zzzyyzy{{zzz{zzzyyyzzyz{zzzzz{{{zzzyyyy{zz{{zz{zzzz{zz{{zz{z{{{zzz{zyyy{{{{zzzzzzzyyz{yz{|zz{z|z{yzzzz|{zzz{{|{zzzzz{zyz{zz{y{|z{{{xyzzz{zy{z{z{zyzzyyzzz{{zzz|zzzz{{z{{zz{z{zzzzzyzyzzz{{zz{{{zz{yzzzyzzz{{{{z{zyyyz{xz{zyzzzyyyyyyyzxyzzyzyzzyyyyyyxxzzzzzz{zyzzyyyzyyzyyz{zzzyzxyzyyzzz{yzzzzzzzxyyyzyzz{zzzyyzyyxzyyzyyy{zzyyzxyxyyyyzyzz{{xyyyyzyyyzzzzzzzxxyyzyyxzyzyzzzzyyyzyyxzyzzzzzz{zzyyyzzyyzyzzyzzzyxxyyyyzyzxzy{yy{zyyyyyyzyzxzzzzyyzyyyyzz{zyz{zzzzyzyyz{{zzzz{|zyzyyyzzzzy{z{{{zyzzzzyz{zzzz{z{zy{zzzzyzzz{z{zzyxzyzz{zzzzz{zzz{zzzxzyzz{zy{{{z{zyyzyyz|{{{{{{{yzy{yzyz{{{{{{{|z{zzyzzzzz{{zz{{zzzzzzzz{{{{{{z{zz{zzz{{zz{{z{z{{zz{zzzzz|{{{zz{{zz{yzyzz{zz{z{{zzzzzyzzzz{{{{z|z{yzzzy{{{{|{{z{zzyyzzyyzz{z{{{{zzzyzyzzzzz{zz{{zzzyzyyyyzzzzzzyyyyyxyyyyzyy{yzzzzyyyxyyzzzzzzz{zzyyzzyyzzzzzzz{zyyxyyyxyzz{xzzzyyzxyyzyyzzzzzyzzyyyyyyyyzyzy{zzzyyxzyyyzyzzyyzzyyzyxzyyyyzzyzzzzyxxyyyyzzzzzz{{{yyzxzyzyzyzzzzyyzzzyyzy{y{yyzy{yyyyyzzyyzyyyyzzzzyyyyyzy{yzzzzyzyzyzzyyyzzyz{zzzzxyyxyxyzyzyzz{yzyzyyyzzzyzxzyzzzyyyyyxzzzzz{{{yyzyzyzyzzyzzzzzzyzzxyzz{zzzzz|{zzzzzzzzzz{zzz{{zyzzzzzzzz|zz|{{yyyz{zyzz{zzzz{{zzzyzzzz{{{{{z|zzyyzzzyz{{zz{{{zzz{yzz{yz{z{|{{{zyyz{zyzz{{z{z{{zzzz{zzzzzzz{z{{zzyzzzzyz{{z{{{{|zzz{zy{{{z{{{{{{zzzzz{z{zz{z{{|zyyzzyz{zzy{z{{{zzzyyy{y{zz{zyzzzyyyyyyyyzyyzzzzyyzxzyyyyzzzzzy{yyyyyyyyzzy{yz{z{yyzxzxyyyy{yzyzzyyyxyyxzzzzzzzzyyyyyyzxyyyyzz{zzxyxyyyx{zzzyyzzyzyyyyyyyyyyyyyyzyzxyyxyzzyzyzzyyyyyywyyyyzyyz{yyyyzxyyyzyyyzz{zyzxzyxxxxzyyzzyxyyyxyzxyzzyzyz{yyyzzyyyyzyyzzzzzzzxyzyxyzzzzzy{zzyzyyyzzzyyzyzzyyyzzyyyzzzzzxzzzzyzzzyyzzz{zy{{zzyzzyyzzzz{yyz{zyyyzyzzyz{{zy{{zyyyyyzzzzyzzzz{zyz{zzyzy{z{{zzz{zzyzzyyzy{zzzz{{zyyzyxzzz{z{{{{{zzzyzzzyzzzz{{{{{{yyz{zzzzz{z{z}zyz{zyzyzz{zzy{{zxzz{yzzz|z{{z{{{zyyzyyy{zz{zz{z{zzzzzzzy{z{|zz{z{yzxzyyzz{{zzzzz{yzzyxz{yzzyx{zyyyyxyyzyyzyzy{zyyyzyyyzzy{zzz{{zxzyzyyyzyzzzyzzzzzyyyzyzyz{zyz{zzxzyxyxzzyyyzzzzyyyxyyyzzyyxzy{zyyyyyyyyyzzxyzyyzyyyzyzyyyzyzy{zyzxyxyyyzzzzzzzyyyyxyxzyzzzzy{yyzyyyzyxyzzzyyzyzzyyyyyzyzyzzz{zzzzyyyyyyzzyz{yzzyyzzyyxyzzzyzzzzyyzyyzyzzzzyy{{zyzzyyzxzyyyyzz{zzyyyxyy{zzz{z{zzyzzzxyyzyy{z{zz{yyyyyyy{z{zzz{zzzzzyyzyzzy{z{{z{{yzyzzzzzzzz{{zyzzzzzyyzzz{|{z{zzyzyyyz{zz{z{{zzzyyyy{z{{{z{{{{{yyzz{zzz{z{{{z{zzzzzzzzz|{zz{{{zz{zzzyy{{|zz|{{{yzyzz{{yzzz{{{{{{zzzzyzzz{{{{z{zzzy{zzz{zzzzz{{zzyzzzzzz{zyyy{{{zzzyzyyzzzzzzyzyyzyyyzyyyzyzzzzzzyyyyyzyzyzzzy{zzyxxyzx{zzzyzzzyyyxyyyyyzzzzyzyzyyxyyywzzz{zzyzzyyyyzyxyzzyzyzzzyxzyzyyzyyyy{y{yyyzyyxyyyxyyzz{yyyzzzzyzzzy{yy{yyyyyyyyxzzzzzy{yzzyxyyyyzy{yzyyyyzxyzyyzzzzy{xzzyyyyyzyyyyzyzzzxyzyyyyyzzzzzzzyyyyyzyyyzzyzy{{zzxyyzxzz{yyzz{{{yzyzzyzzzzzzzzzzyzzzzxyxzzzzy{zzzxyyzyyyy{zyz{zzzyyzzyyyzz{{zzzzyzzyzy{zzzzzzz{{zzzzzzyzyzz{z{{{zzzzyyyxz{{{{zz{zxyzzzyz{{{zzz{zzzyzzzzzz{z{{{zzzyzzy{zzz{{{z{{|zyzzzyzz{zz|z{{{{yyzzyyzzzzzz{{{zzyzzzyy{z{z{zyz{zzyzzzyz||{zzz{zyzzyzyzy{z{zz|{yyyyyzzyzzzzz{zyyzyzyyyyyzzyzzzzzyyyyyyyyyzzz{{zyzyxyzyy{{zzzz{yzzyyyyxxyzyzz{{yyyxxyyyyyxzyzzzzyyzxyyyyy{zzzzyyzyyzxyzyzzzyzzzyyyyyyyyxzzz{yzzzyxxyyxxxyzzyzyzyyyyzxzyxy{yz{zzzzyzzyxyyzyzzzyyzyyzxzyyxxyzzz{zzzyyyyxyyyzyzyzyzzyzyyyyyzyz{zz{zzzyyyyxyz{zzyz{zzyzzyyyyzyzzyzz{yzyyyyzyzzyzzzzzyyxzzxzyy{zzzzzyzzyzzyyyyzzzz{zzzzzzyzyyz{zzz{{zzy{zzzyzz{z{z{{{{yzzyzz{{zy{z{{{zzzzyzzzyzzz{z{zzyyz{yyy{{zz{{z{zzzyzzzzzzz{z{{{{yyzzzzzz{{{zzzzzzzzzzzzz{z{zzzz|zzzzyyzz{{{zz{|z{y{{zzzy{z{zzz|zzyzzzy{yzz{{z{{zyz{yyzzz{zy{z{zyyzyyyzz{yzyzzzzyyyzyyyyzyzyyz{zzyyyyyyyy{zzyz{{zzzyyzyzzzzyzz|{zyzyyzzyzz{yyyz{yyyyxyyyzzz{zz{{y{yyyzyyzzyyzzzyzzzyyyxyzyyyyzyzyyzzyxzyyyyzyyzzyyyyyyyzzzzyy{{zyxzyxyyyzyyzz{{yyzzyxxzyzzzzyzz{zyyyzyzzyzzzy{zzzyyyyzxyz{y{zzzyyzzyx{yyzzzzzz{yzyyyyyyzyzzzzz{zyyzzzxzyz{zzyzzzyyzyyzzyzzzyzz{{zyzzyxyyzzzz{zzzyyzzyzyzzy{y{z{zyzyyzzyzzz{zyzzzzzzzyzzyzzzz{zzzyyzyyyyz{zz{{{{{zy{yzyzz{{{{zzz{zyyzzy{yzzz{{{{{zxzzy{zzz{z{{{{z{zyz{zz{{{{{z{{{zzz{zzzz{z{{z{{zzyzzzzz{z{z{z{z{zyzzzyyzz{{{zz{{zzzyzyz{z{zzz|{z{yzzzzzxz{zzzz{{zzzzyz{xyz{z{zzyyyzyzyyyzzzyzyz{yzyzyzyzzyz{zyz{zyxyyyyzzyy{yz{zzyyyyyxz{zyz{zzz{yyxyyzxzyyzyy{zzxyyyyyxzzyyyzzy{yzyzyxy{yzzzyzzyzzzyyxzyyz{z{z{xyyzyyxyyyyzzyzyyxzyyyxyzzzzyzzyzyzyxyyyzyzzzzzzyyyyyxyyy{xyyzyzyyzzyyyyyzzzyzzzyxzyxyyyzzyzzzzzyyyyyyzzyzyzzzz{zzyyyzyz{zyzzzzyyyyzzyyz{{{zzzzzyzyzzyyzz{z{zz{zzyyzyyxzz{{zzyzzzz{zzy{y{{zzz{zzzzyzyyyzz{{{{{z{zzzyzzz{y{zzz{{{zzzz{yxyz{yz{zzzzzzy{zzz{|{zz{{|{yzzzzzzz{{{z{{{zyzzz{{zy|z{{{{{zz{{xzzz{zzz{{{zzzzzyzyz{{{{z{{{zzzzzzzz{z{{|{{|zzyyyzzzz{{zz{{{zyxzyyyzyzzzzy{zzyzyzzyz{zzz{yyyyzxxyyzyyzzzzzyzzzxyyyxyzyyz{z{zzyyyyxyxzyy{z{zzzyzyyxyyyzyzyyzzyyyxyxyx{zz{yyzzzzyyyyzyyzzyzzzzyyzyzyzyyzyyzzzzyyyyyyyyyyzzzyzzxzyyyxyxyyyzyyzyxyxyxyxyyzzzzzzyyyyyxyyyzyzzyz{{yyyzyyyzzyyyyzzzzyyyzyxyyzzzyz{zzyyyzyyyyzz{yyz{{yzyyyyy{zyyzzzzzyzyyzzyzzzzyz{zzyyyyyyzz{zzzz{zz{zyyxzyzyyyzzzzyyzzzyzyzz{zzz{{{zyyyzzzzy{yy{z{z{yyyyyyzyzz{|{{y{zyyzzy{{zzzz{|{zzzyyyyz{z{{{{z{yyyzzz{|{{{{{{{zz{yzz{z{{{z{{|{{yy{zyzyy|{{{{{{zzz{yy{zz{z{{zy|zzz{zyzz{{zz{z|{{zyz{zzz{yz{{{{{z{zyzz{xyzzz{z{{zyzzyzyzzz{zzy{{zzzyyyzyy{zyzzzyyyzzzyzyzzzyyyzzxyxyzxzzzzyzzzz{zyyyyzxyzzyzzz{zzzzyzyxzzzzz{zzzyz{yzyzxzzyzz{z{yxxyyyzy{zyzyy{zyyzxzyzyzyzyyzyzzxyyyyyy{zyzzzz{yyzyyzxyy{z{yyzyyyzyyyyyzyzzzzxyyyzyxyyzzyy{yy{yyyyyyyyxyzyzyyyzyzyyzzyyx{yyy{z{zxyyyyyyyzzzzyzyyzyyzyyzzyzyz{zzzzzyzyyzyzyzzz{zzyzyyxyzyzzzzzz{zyzzxyzy{z{z{zyz{yzz{yyyz{{zz{{{z{zzyyzzyzzzy{{{yzzzzyzyyy{{z|{{zzzzzzzzzzz{zz{{zyzzzyyzz{zzz{zzzy{yzz{y{{{zz{|{{yyy{z{zz{{z{{{{zzzz{zzz{{{z{z|{zzzzzzyzzzzzzzz{{yzz{z{{zz{z{|{{{zy{zyyz{z{z{{zzyzzyyy{zy{{z{z{z{zzyzy{yz{x{z{zz{yyyzyzzzyzzzzzzyz{xyy{yyzzzyzzzzyyyyxyyzzyz{z{zyyzyyyyxzzzzz{zzyyyzyxyyz{zzyz{{zzzxyxyxzyzzzyz{zzzyyyyyyzzzyzzzyyyzyyyyzyzzyyz{yzyzzzyyzyyzyyyzyzzyzyyyyzzzzzzzzyyyxyxyyyzzyzzzyxzzyyzyyy{yz{zzyyyyyxzyyzzyzzzzzzyyzzzxyzyyy{zzyyzyyzyxzzzy{yz{zyzyzxyzyzzyzzyzzzzzzzzyzzzzzz{zyz{yzyzzyyzy{zzzyzyyzyyyz{z{zzzzzyyzzzyzz{{zzz{zzzzzyzzyzzyyz{zzzyzyzzyz{{z{{{z{yzzyyzzzzzz{y{{{y{zzzzzyyzz{zz{zzz{zyyyzz{{{{||zz{zzzz{zz{yz{{{z{yzz{zzz{{zz{{zz{zz{zzyz{yy{z{{{zzzzzzz{zzz{{{|z{{zzzzyz|z{z{{|{{{zxzzzyzzzzz{|zzzzzzzzzy{{{zzzzyz{yzyzzzzzyz{zzyxyyyyyxyyzyy{z{zzzyxyyzzzzzzz{zzzzyyyzyz{zzzzz{zyzzzzyyyz{{{zzzzyyyyyzyzzzyyz{yzyyzzxzzyy{zz{z{yyzxyyyyyy{yy{yzzzzzxyyyzyzzyzz{zxyyzzyxzzzyyzzzzzyyzyyzzyxzz{zzzyyzyzzyyz{zzyz{yyyyzyyyzzyyyy{{yyyyzzxyzyyzy{z{zyyxyyzyz{zzzz{zzzxzyyzzzzz{{z{{zyyzyyzz{yz{z{{{yzzzyyyy{zzzzzzzzyzzzyyyy{zzzzzz{zyzyyy{zz{{yz{zz{y{zyyyzzzzzzzzz{zzzyyzzzzzz{{{zzzzyz{zzz{|z{z{z{zzzy{z{{{{{zzz{y{zzzzz{{{{{z{zz{{|zz{{z{{||{{{{yzzyzzyz{{z{{|{{y|{yzzzzz{{{|{{{zz{yzzzzzzz{|{{zzzz{{zz{|{{z{z{zzzz{{zzz{{{{z{|zz{yyz{zz{z{zzyzzyzzzzzzz{{zzzyyyyyyxyyzzy{yz{{{yyzyyyyyyzzyz{{{zzzyyzyz{yz{zz{zzz{yzyzxzy{{zzzzzyyyyzyyzzzzz{y{yyzxzzzyyyyyzz{zyxzyyyyyz{zzzy{yzyyzxyyyzzzzzyzzzyzzyyyx{zyyzy{zyzyzzyyzzzzzzzzzzyzyyyyyzzzzyyzzzy{xyyyyyzzzzzzzyzyyyzxxzyyyz{zzzyzyz{yyzzyzz{z{zzzyzyzyyz{zyzzzzy{zyyzz{yzzz{{{yzzyyyzyzzzz{zzzzyyzyy{yzzz{z{{y{zyzyzyyzzzz{zzyzzzyzzyy{{zyz{{{yzzzzyzzzz{{{|{zzyz{{z{{zzz{{{{zzyz{zzzzz{zzz{{{zzzzzz{z{zz{{{{{yzzzy{zz{{{{|z{{zzz{{{zyz{|{{{{{{z{{zzy{{z{{z{{{{yzzz{z{{{zz{{|{{zyzzzzz{z{{|z{|{{zy{zzz{z{{z{|{{zzyzz{yzz{{zz{{yyyzzyyzzz{zzyzzzxxyyyyyyzzz{{zzzyxzyyyxzzzyy{zzy{yyyzzyzzzz{zzyzzyyzyzyz{yzzzzyyzyxyyyxyz{zy{z{yyzyyyxxyyzzzzyyzzyyyyzyzzzyzyzzyyyyxyyxyyzyyzzzyyyyzyxyzzzzyy{zyyzzxyyyzyzyzzzzyzzyxyyxyzyy{yzzzzyyyyzyxyzyyzzzzzyzyxyxzyzyz{z{zyzyyzzy{z{zzzzyyzxyzzyyzzz{{{z{zyzyyyyyzzyzzzzzyxzyzzyyzzyzzz{{yyzzzyzyzz{z{zzzyyzzyyyxz{zz{{{zzyzzyyyy{zzzz{zzyyzyzz{zzyzzzzz{zzzzzy{y{{z{{{z{zyzzzzyyz{zzz{{z{yzz{yzz{z{z{{{{zzzzyz{zz{|{{{{{{zzz{{zz{{{zz{{{zzzzyzz{{z{zz{{zzzy{{yzz{zz{z{{z|{zy{yyz|zz{{{|zzzyzz{z{{{z{zz{zzzzzzyzyzzzzz{z{zzyzzzzyzzzzzzzzyxyxyzxzzzzzyyzzyyyyzyxyz{yyzz{zyyyyyyyyyyzy{zzzzyyxzyzy{zzzyy{zyzyyxyyxzzzyzzzzyyxyyyyyzzyxzzzyzzzyyyyyzz{zyzzzzyyzyyyzyzy{yzyyyyyyyxzzzyy{zzzzzyyzzyxxyxzz{zzzyyzzxyxyyyzzzzz{yyzzyyxyyyyyy{zzzzxyyyzyyzyyzzzzzxzxyzyzzyzzyz{zyyyyyyzzzzyyzy{{zz{yyyzyzzzzzzzzzyyzxyzyyz{{zzzzyzyyy{yyyz{{zzyzyyzyyzzy{z{zyz{zyzzzyxxy{zzzzz{{yyzzzzzyz{{zz|zzyzzzzzzzz{zzzzzzzzzzzzyzyzzzz{{yzyzz{z{z{{{z{{z{zzzzyzzzz{yz{z{zzzzz{zyz{{zz{{{{{zzzzzyy{zzzz{{zzzzzyzz{{zy{{z{{{zzzzzzz{{{{{z{{zyzzz{z{zzzzzzz{zzy{zyzyz{zz{{zzyz{yyyyyzzzzz|zzzzyyzyxyzzzzyzzyyyyyyyyyyzy{{zzzzyyyyyyyyzz{zzz{zzzzxzzyyyzzyzzzyzyxzyyxzzzzyzyzyxxxyyzxyzyyyzzzzyzzyyyyyz{zyz{yyyyyyyyyyzyzyzzzyyyyzxyzzyzzzzyzzyyzyyyyzyzyy{zzyyyyxyyxzzzzyzzzyzyyzxyyzzy{yzyyyyyyzzyyyzyyy{z{zxzyzyyyzyzzzzzzyyzyzyzzyzzyyzz{yyzzzy{yz{zyzzz{z{zyxyyyz{{zz{zzzzzzyzyzyzzyzyzyzyzyzzzyzzzzz{{zyyzzzzzyz{{zzzzzyzzyzzy{z{{{zzz{zzzyzyzz{zy{z{zz{yzyzzyzz{z{{{{zzyz{zzzzz{{zzz{{{zzyzz{yzzz{zzzzz{zzyzzz{z{zz{{{zyz{{zzzzz{{z|{zzyzzzzyzzzz{{{|{z{yzzzyzzzz{{z{{yz{yzzyzzzz{zzzz{zxzzyzyyz{{zz{yzyzxyzxyyyyzzzyzxyxzzzyxx{zzyzz{xzxzzyyxyyzzzzz{zzzzyzzyzzzzz{zzyzyyzyxyyzzzyx{yyzyyyxyzzzzzyzyzxzxxxzyyzyzyz|zyyyyxyyzz{zzzzzzzyyyzzyyyyyzyzyzzxyxyzyyyyzyy{zzyyyyzyzxzyyzyyzzzzyzyyyyxyyzyyz{zzyyyyyyyzyzzyxyzy{yyzyzyyzyzzz{yyyyzyzyyy{yzzzzyzyyyyxxyyzyzzzzzxyzzyyyyyz{{zyyzzyyyz{yzyyzzzzzzzyzyzyzyzzzyyzzz{yzyyyyyyzzzyz{zyyzzzyyyyzyzyzz{yzzyyyzzzy{{{{y{zzz{{yzz{zzzzzzzzyzzzyyyzz{{zy{{{yz{zzyzz{{{z{{z{zzyzzzzyzz{{{{z{z{yzzzyy|{|z{{|yz{zzzyyzzz{{{{zzzz{zzyzzzzz{{{{{zzzyzzzzzzzzz{zzzzzyy{zzzyz{{{zz{y{yzyzzzzz{{zzzzzxyxyyz{zzzyyzyyyyzzzxzzzxy{y{yyyyyyxyzyyzyzzzyyyyyzyyyyzyzzzyzyyyyyyyzyzzyzzzzxyyyxyxzyzz{zzzzyyyyyyyyzzyzyzyxyyyyyzxzyzyyzyzyyzyyyxyzyyzyyyzyyyyyxyyyyyzzyzzyyyyxyyyzyzyzyyzyxyzyyxyxzzzzzzzzyyyzyyxyyyzzyzzyzyyyyxxyzyzzy{zzyyyyzzyzzz{yz{zyyyxxxyyzzyyzzzyyyyyxyyxzyyyzzz{yyyxxyzxyyy{z{zyyyzyyyzzyzyzyzzzyzzyzzzxzz{yz|{z{yzzy{yyyzzz{zzyzzyyyzyzzzzz{{{zzzzyyzzyz{{{y{{{zyyzzyyyzz{z{{{{zyzyyzzz{z{zzzzzyyzyyzzyy|zzzzz|zyyzzzyzy||{{{{|{z{zzzxzz{{{zz{z{yz{{yzzzzz{{{|z{{zz{zy{z{{z{z{{z{zyyyzyz|zzzzzzz{zzyzyyy|z{z{{zzxzyzyyxyzzzyzyyzyyyzzzyyy{yzz{zyzzyyyxyyzzzzz{zyyzxxzzyzz{zzzyzzxyzyyzyz{zzzz{{zyxxzyyyzyzzzzzzzzyxyyzyzyzzzzyxzyyxyyyyyzyzzzz{zyyyxyyyzzyzyzzzyyyyzyzyzy{yzyzzzyzyzxyzyyzyzz{{yyyyyyyyzyzyzzzzzyyxyyyyzzyzyyyzyzzyyyyzyzzyzzzzyzyzyyzyyyzyyzz{xyxzzzzzzz{y{zz{yzyzyyyyzz{zzz{zxwyzzyyzyzzzzzzzzzyyzzyzzzzz{zzzyyyy{yyzzz{zzz{zzyzzzzyzzz{yy{{{zzzyzzyzzzzz{zzzzyzzyz{zz{{{{{{{{zzzzyyy{{{z{{{yzzzzzzyzy{zz{{zzzzzz{zzyz{zz{{zz{y{zzzyz{{{{{{z{{y{zyyzzz{yzz{zz{yzzz{zzzyzz{zzzzyzyzzzz{zz{zy{zz{zzzzyyzzzzz{{zz{yyyyzyz{z{zz{yzyyyzzzzzyz{|{zzzzyxyxyzyzzzzyyzzzyyxzyzzy{zy{y{yyyyyyyyyyzyzzzzyyzyzzyyzzzzzyzzzyxyyxzyzz{yzzyzyyzyyyxxxz{zyz{yyyyyyyyyyzzyyyzzyyxyyyxxzzzyzzzzyyyxyyyyzyzzzzzzyyyxxyyyyzzyy{yyyyyyxyyxyyxyyy{zzyzxzyyyyyzzyyzyyyyyyyyyyzyzzyzyzyyyyyzyzzzzzzzzyyzyyyyyzyzzzzzzzzzzyyzy{yzz{{z{yyzzyzxyz{zzzzzzzz{zzyyzzzzzyzz{zxyzzyyzzz{zzz{zzzyzzyyyz{{yzzzzzzyzzzyyyz{z{{zzyyyzyzzzz|{{z{z{zzyyzzyyzzzz{z{{zzyzyyzyzzz{{|{zzzzzy{{yzzz{{{z{|zzzzzzzz{{zz|z{zxzzyzyyz{z{{z{z{zz{zzyz{zzz{{{{zzzzzyzz{{zzzz{{zzzyzzzz{yz{z{zzzzy{yzyyz{z{zz{|zzzyzyzyzzzzz{zyyyzyyzyyyzzzzzzzzyzxyyzyzzyz{{zzyzzyyyyyzzz{{zyzzzyyzzyzyzz{zzzzzyyyyxyyzyzyzzy{yyyyyyyyyzyzzzzzzzxxzyzy{y{yyzyz{yzxyyxyzzyzyzzzyxxyyyyxyzzzyzzyyzyxyyyyyzzzzz{zyzyyyyxzzzzzzy{zyyyxyyyyyyyzyzzyyyzyyxyyyzyyy{yzxyyyyzzzyyzz{|zzzyyzzyxxzzyyzzz{yyzzxyzyzzzzzzz{yzzyyyzyyz{zz{{zzyyyzzyzzzyzz{zzzyyyzyyyz{zzzy{z{yyzyzyyz{{zz{yzzzzyz{zzzzzzz{{{yy{{{yzz{z{{yzz|zz{zzyyyz{{{zz|zzxy{zzzzzz{z{{|{zyzyz{{zz{{{z{zzzxzzzzzzz{{{{{{{zz{zyy{zz{z{{z{zzyzyzzz{{z{z{z{{zzyz{zz{zzz{z{{{{yzz{yzzyz{zz{{{zzzzzzzyzzzz{zzzz{zyzyzzy{z{{z{zyyyyyyzyxyzyyzzzxyzyyyxyyzyyzzzzyyyzyyxyyzyzzzz{zyzyyyyxzz{{zz{yyy{yzyxyzyzyyzz{yyzyyxyyyyzzyz{zzyyzzxyzyzzzz{zyyyyxyyyzzzzzzyz{yyzxyyyxyyzzyzzzzyxzzyyzxyyzyzzzzzyzzyzzyz{zzzzzyyzyyyyyxzzyzzzzyzyzyyyyyzyyzzzzzyyzyyyyyzyyzzzzyzyyyyxzzzzz{{zzzzzyyyyzzzzyz{zzyz{zyyzyzzzyzzzzzyzyzyyyy{{zzz{zzzyzyzxzzzz{yz{z{zzyzyzzzzz{zzy{zzzzyzzzzzz{{z{{zzzyzzzz{{zyz{z{zzyzzyyyz|{{z{zz{zzz{zyyz|zz{{{zyzzzzzzzz{z{z{z{zzzzzz{{{z{{{{{{zzzzzzzy{|zzz||{{xzzzzzz{yzz{z{{{{zzzzzzzyz{{{{|{yzyzzz{{zyz{zz{{zzzzyyzz{{zzz{zzyzzzyyyzz{yzzzyyzyyyxzyzzzzzy{yzxyyyxyyyyzzzzz{zyzxxyzyzzyyyzzzyzxxyyxyzz{yyzzzyyzzxyyyyzyyzzyzyyyyyxyyyzyzz{{zzyzyzyxyzzyyyzzzxyzxyzzyyyyyzyyzyyyxyxyyyzyyyz{zyzyzzyxyyyzy{zyyzzzyyzyyzzzzyzzzzyxxyyyzyzzzzz{zzyyzyyyxyzyyzyzzyyyyyyyxzzzzyzzzzzzyyyzyzzzzzzzzyyyyxyzyzzzzzzzzzyzxyzzxyzzzzzzyyzzyyyzyyzzzzzzzzzzxzyyyy{zzzz{{yyzzyyyzzzz{y{{zzzyzz{yy{yz{zz{zzyzzz{zzz{{z{z{{yzzyzyyy{z{zz{{zzyzzzz{{{z{{z{{{|yzy{{zzz{z{{z{{zzzzzzz{z{{{z{{{zxzzyyzzzyzzzz||zzzzzzy{zzz{{{{z{zzzzzyz{{{{z{{|zz{zzyzyzz{zz{{y{yzzzyyyz{zzz|{yzzzyyxzzzyzyyzzzyyyyzxzzyzzzyzz{yzyyyyyzzzzzzyz{yyyyzzyyzzyzzz{yzyzyyyyyyy{zzzzzzzzyyyzyz{zzyzzzyyzyyyyyzzzyzzzzzyyxyzzz{zzzyyyzzyxyyxyzzyyzzzyzzyxyyxzyz{z{yzzyyyyyyyxyyyzzzzzzyyzyyyxxzyzzyzzzyyzxzyzyyzzyyzzzyxzyzyyyyy{yyzz{zyzyzzzxyzzzzzzzzzzyyyzyyzzzy{z{y{zyyyzyzzzz{zy{yyzzyyzzzzz{zzyzzzyyyzzzzzzzzz{zyx{yyyyy{zzzy{{{zyy{yyyzzzzzz{zzzzzzzzyzz{{z{z{yzyyzyyzzzzzzz{{{zyyzyzyz{{zzzz{zzzzzzzz{{{z|z|z{zzzyzz{z{{{{{{{{zz{zzzzyz{{z{{{{zzzzyzyzz{z{z{z{zzzzzyyzzzzz{z{{{zzzz{yy{z{z{{{{zzzzzzzzyzy{zy{zzyzz{zzyzzyz{{zzzxzzzyzz{{zzyzyyyzyzxzyyzzzzyzzyzyyyzyyyzzzzz{zzzyyzyyyyyz{zzzzz{zyzzzyzzzzzzz{zzzzyxyyxzyzz{zz{xyxyyzyyyzzyzzz{zyyxzyyyz{{yy{zzyyzxxzyyyyzzzzy{yyyzyzxyzzzzzz{xxxyzyzyzyzz|zyzzyzyyyzyyyyyzzz{zzzzxzyyy{zyz{yzyzzyxyxyxyzyyzzzzzyzxzxzyzz{zzz{zyyzzyyyzyzzyz|{{zyyxyzzyyzzyyz{z|yzyzyzyzy{yzz{{zyzzzyyyzz{z{z{zyyzyzyzzyz{{{{zzzyyzzyzz{z{zzz{{zzyzzz{z{{zz{{{zzzzyz{{z{zy{z|{|yzyzxyyz|z{{zzz{{zyyzzzyzzz{{{{{zzzy{zzzz{z{zz{zzzyzz{yzz{{{{{|{zzzzyzz{|z{z{{{zzyzyzzz{{{zzz{{{{yzyyzz{{{z{zz{{{zzyyzyzzz{z{{zzzzyzzz{yz{zz{yzyzzzyyyyy{yzzyzzzyyyxxyzyyyzzyzzyyzyzyyyyzz{yz{zz{zyyz{zzyx{zy{{zzyyyyyyyzyzzyyzy{yyyyyyyyzzyzzz{zyyyyzyyzyzyzz{zzyyzzyyyyz{zzyzyxyzxyzxyyz|yzzzyyxyyyyyyy{zyz{zyyyyyyyxyzyzyzyzyyyyyyyyzy{zzyyzyzyxyyxyzyzzyzyzzyyzyxyyyyyzzyzzzyyyyyyyyyzzzyz{zyyxyyxxzzzyzzzzzzyzzzxzyyyzzzz{zzyzzyzzzzzzz{z{zzyzy{yyyy{zzzz{zzyyyyyzyyzzyzz{z{zzyyzyy{z{zy{{zyzzyy{zzz{zzzz{zzzzy{yyz{zy{{{z{zyyyzyyy{{|{yzz{{yzzzyzy{{z{{z{{zz{yyzzz{|zz{zz|{zyzzz{zy{zz{{z{zyzzzz{zzzz{zz{{{yzyyzyyz{{z{{|zzzzz{zz{|{{|{{z{zzzz{zyzz{{y{{{z{zzzzyyyzzzzz{{zzzzz{zzz{zyz{yyyzyyxyyxyyzz{yyzzyzyzyyyyzzzyy{zzzyyyyzxxxyzzzzz{yzyyyxxyzyz{yzy{zzxyyxyyyzyzzyyzzzyyxyzxy{yyzzzzyxzxyxyyzyzyzzyzyzzxzyyyzzyyzzyzyyyyyyyyzyxzzzzzzxxzxyxyyxzzzzyyyyyyxyxy{zzzyzzyyyxyyxzyyyzzzzxyzyyyyyyyyzxz{yz{yyyzyzzyzzzzyz{zzyyyzyzyzz{zzzy{yyxyyyxzyyzyyy{zyyyyyyyyzzzyzz{zyyzy{yyzzzzyzzzzzyzzxyzyzzz{zz{yyyzzzyyyzz{zzzzyzyzzzzyzyzzzz{{zyzzz{zy{z{z{zz{z{yyyyzyyzzz{{z{zzzxz{zzz{{y{zz{zzyyzyzzzz{{{z{{z{y{zzzzzz{z{zz{{{zzzzzxzz{z{{{{{{yyyzzyzz{z{z{{{zzyzzzyz{{{z{{z{y{zyzyzzzzz{{z{{zzzzyyzyzzzzzzz{zyyyzyyy{zzzyyxyyyyyxyyyzyzyy{zzyxyxyxyxyzzzzzzzzyyyyyzyzyyzzzz{yzxyyyyyyzyyzyz{yzyzwyxxzzyzzyyzzyyxyxxxyzyzzzzzyyyxyyyxxzzzzzzzyxyxxyyyyyzzyzzzxyxyyxyzyzyyy{zxzyyzyxzxxzyyzzzzyyyyxyxxzyzyzzzzyyzxyyyyyyyzyyyxyyyyyxyyzzyyzzzzyxyyyyxxyyy{zyzzyyyzyxzzzxzyyzz{zyzyxyyyzzyzzz{|yyyyyzxyyzzzyy{yzyyyyyyyz{yyz{zyzxzzzzyy{zzy{z{zyyzyy{zyzzyzzz{z{zyzyyyyyzzzzz{yzz{zyyzyzzzzz{zzyyxzxzxy{zzz{z{y{zyzzzzz{{zz{{z{zzzyzzyzz{zy{|zz{yzzzyyzz{z{{z|z{yz{zyyzzz{zzzz{{yzyzyyyz{{{zy{z{zzzzzyy{{{zz{{{zzzzzyzzzzz{zz{{zzzyyzyzzzzzz{z{zyzyyyyzzy{zzzyyzzyyzyyxyzyzyzzzyyyyzyxxyyzyzz{{yyyyzyyyzy{zzzzzyxyzyyyzyyzzyzzyzzzyxxzxzyyzy{yzyyyxzzyyzzzx{zzzyyxyxyyzzyzyz{yyzzxxzzyyyyyyzzyzyyxyyyyzyyzyyzz{yzyxyxyzzzzyzzyzyzyyyyyyyzyxyyzyzyyyyyyyyyyyyyyyyyzyyxzyyzyy{zzzyxzzzyyyzzyzyyzzzyzyyyyyzzzzzz{zxyxyzzzzzyzz{{{zyzzyyyyyyzzz{zyzzyyyyxzzyzzzz{zzzzyyyyxyzzz{zz{yyzyyzyzzzzzzyzz{yzzzzzyyzyz{{zz{yzyzzyyy{zzzzzz|zzzzyxyzz{{zzzz{{yyyzzzy{{{yzz{{zyyzz{zyz{zz{{{{{zzyxzz{zz{z{zz{{{z{yzzzyzzz{{zzzyzyzzzz{zz{y|{{|z{zzzzz{zz{z{{{yzzyzzzyzz{zy{z{zzyyyzyxy{zzzzzzzyzxzzzz{zzyzzzyzzyyxzyyz{zy{zz{yzyyyxzxz{zyzz{{yzyxzz{zzyyzzz{zyyyyzzyyyzy{zyz{{yzxyyyyzzzy{zz{yzzyyyyzz{yyxy{z{zyyyyyyzzzyzzzzzzzzyzyyzzzyzzzyzyyxyyyyyyzyzyzzyyyyzzyyzzzyzzyzxy{xyzxyzyzzzz{zyyyyyxzxyzzzzzzz{yyyyyyyxyyyzzz{zxzzyzzyyzzzyz{zyzzyzyy{zzyyzzzzzyzzyyzzzy{zz{y{zzzzzzzzyzyzz|{{zyzyzxzzy{z{zzzzyyzzzzyyz{z{{z|zyyyyzyzzzzzzz{z{yyzzzyzy{{z{{zzzyz{z{yzyz|{{zz{zyz{{zzyyzzz{yzz{zzzzzzzz{{{zzz{{z{zyy{zzz{{{z|{{zzyyzz{yzz{{{zz{zzyzzyzzzzzzz{{zzyz{zz{z{z{z{{{|{zzzz{zzzzzz{z{{{zzy{zzz{{zzz{zzzzyyz{yyzzzzzx{y{zyyyzxzzzzzyy{zyzyzzxzyyzzy{yzzzzyyyyyyzzzzyzzzzzyyyyyy{yzz{zz{zyyzyyyyzzzzzz{zzzzyyyxyzzzzyyz{zyxyzyyyyzzyyzzzyzyyzzzyzzzzz{yyzzyzyzyyyzyyyzzzyyyzyzyyyzzzyzzyzzyzxyxzzzzzzzzyzzyzxyyyzzzz{zzzxyyxzyyyyyzzzzzyzzzxyyyzyzxzyz{zyyyyyyxxzyyzyz{zzzzyzyzyzzzz{zzzzzzyyzzyzy{{zz{zy{yyzyzz{z{{z{{z{yyyzxyyz|yz{{zzzyyzzyyyz{{z{z{zzyyzzyyz{{yzyzzzyzyzy{{zzzz{z{zzyzyzzzyz{{zzz|zzz{zyzyyzzz{zz{{zzy{zyyzyz{zzzz{|{z{zz{{yz{{{{{z{{yzzz{zzy{zz{||{{zz{zz{z{z{{{z{zzzzzzzzzz{z{{{{{z{z{zzz{z{z{|z{{zzzyz{yzyz{zzz{zzzzyy{yzzzz{{z{{yzzxyzzyzz{zzyzzyyzyyxyyzzzzyzzzyyyyyyyxz{yy{yzzzyyyyzyyyzz{{z{zzz{yyyyyzy{yy{{{yzzxzyzzyyz{zzzzyzwyyyyyzzyyzzzzzyzyxyyz{zzzzzzzyzzxxzzyzyyyyzzzyyyyyyzxyzzzyzzzzyyyxyyyzyzyzyzzzzyzzyyxyyyyzz{zzyyyxyyzxyz{y{zyzyxyyxzzz{zzy{zyyyzyyyyyy{zz{{zyyyzyzyzyzzyzzzz{zyzzxxyyyzzzz{{zy{zzyzyyz{zzzzy{{yy{zzyyzzzzzzzzyzzzzzzyz{zy{zz{zzzzzzzzz{zzzzyzzzzy{zyzyzz{zz|zzzzzyzyx{{yz{{z{zy{zzzzyzzz{z{zzzyyz{{zyz|zzz{{{{{zzzz{zz{z{{{{{{zzzzyzzz{{{{z{{{{{zzzzy{{{z{{z{z{zzzz{{z{{z{{{|{zyzzzz{{{z{}z{|yzzyyzzzz{yzzz{{zzzzyzzyz{y{zzzzzz{yzyyyzzyzzzyzyyxyzyzxyzzzyzz{zyyzyyyyyzzz{zyzzzyyzzzyzzyz{zzzzyyzyyyyzzzzy{z{zzyyxzyyzz{zyyyzyxyyxzyzzz{yzy{yyxzyyyyyzzyyyyzyxyzyyyyxzyzzzzzyyzyxyyyyyyzzyz{zyyyxy{xyz{{z{zzzyyyxyyzyzzyyzzzzyzyyyyyyzzzz{zzzzyyyyxzyy{yzz{zzzzzzzzyyzzz{z{zzzyyxzyzyzzxzzzz{zyzyyy{zzzzyy{yyzyzzyyzyzzzz{zzzzyzyzyzzy{zzz{zyyyyyyyzzzzzz{z{zzzzyzxyyzzzzy{zzyzzyyzyy{z{zz{{zyzyz{yzzzzz{{z{{yy{zyyzzyz{{|{{{zyzzzzzz{{z{z{{|z{zzyyzzzz{zz{{zzzzz{z{zz|{{{{{{{z{yzyzy{zz{{zzz{zyzzyzy{zzzz{{zzzyzzzzzzzzzz{{{{zy{zyyzzz{zzz{{{{yzyyzy{{zz{{z{zz{yz{y{zyy|zzzyzxyxyxyyyzzzyyyyyxyyzxxyzzzz{zz{zyyyyyyyzzzyyyzyzyyxzzyyzzy{yyzzzxzzyyyxyzyzyyz{yyzyyyyxzzyyyzzzzyxyyyyxyxzyyyzyzyzyyyzyyyyyyzyyxxxyzyyyyzzzzyzzzyzzyxyyzy{yzzyyzyyyxyyzzzyyyzzyyyyyyyyxyzzyy{zyzyyyyyyxyyzz{zzzzyzxzyzxzyyyzz{z{yzyzyyyyyyyzzzzyyzyyyyyzzz{yzzzyyzyzzxyy{zz{z{{zzy{zyzyz{{zzzzzyyyzxzzyz{{zzz{zzyz{yzz{zzyyy{|zzzzyzyyz{{z{z{|zy{zzzzzy{{z{z{{{{zyzyzyzy{{zzzzzzzzzzyzz{{z{zz{{zzzyzyzzyzzz{{z{zzzzy{zyz{{zzzzzzyzzzzzzz{{{{{zzzzzzyz{z{z|{zz{{{zzzzyzzzz{zyy{{zyzyyzzyyz{{zz{zzzyyzyyyz{zzzz{zzzzyyyzzzz{zzzyzzyyyzyyzyyzyyzyzyzyyyyzxzzyzz{zzyzzyzyyyzyzzyzzzyz{yyxzyxzyzyxzyzzyyxzyxyy{zyzzzyxyzyyyxzzyyyzyyzzyyyzyyz{z{yzyzzyyyyyyyyyyyxzyzyyxyyyyxyzzyyzzzyyxzxzxzzzyyzzzyyyyyyzyyyyyyyz{{zzzyyyxxyyzyzyzzyzzyyyyzyzzyy{zyzxyxzyyyyyzyyzzzzyyzxyxxxyzzyzzzyzyyyxyyzzyyzzzzyxzzxyyzzzzzzzzzzyzyyyyyzzyzzzyzzyyyyyyyzz{zzzzzzyzyzzyzz{{yz{zzxzzyzzyy{z{{zzyzyyzzzyzzzzz{z{{zzzyyyxyyz{zz{z{yzzzzzzzz{z{zz{z{zyyyyyzzzzzz{{z{{{yzyzzzy|zz{yzzz{zz{zzy{z{{z{z{zyzyzzzyzzzz{{{zzzzyzy{yy{y{z{z{{zzyyzzzz{yyy{zzzyyzyzzyzz{zy{zyyyyxyyxyzzzzyzzyyyyxyywxyyzyzzz{yyzyxyzyyyzzzz{zyyyzxxyy{yyz{yyzzxzzzyyzxyzzyyyzyzyxyyxx{yzyyzzzyyzyyyyxxzyyyy{yyyyxyxyxzzzyyyzyzyxxyyxyyyyzyyzyyzyyxyyxyyyyzzzxzyxyxzxxyzzzzzzzyxzxxxyzzyyzzzzzyyyyyyywzzzyzxzyyxwyzzxzyyyyzz{zyyy{zyxxzxyzzy{{zyzx{yzy{zzzyyyzyyyyyyzzyzyz{{{zxyzyyzzy{{zzzzyzyyzyzxyyy{yz{y{zzyyxzyyyz{zzzz|zzyyyyyyzzzy{z{zz{zzzyzyyz{{zz{z{yzyyzyzz{zzyz{zzzyyzzyzyzyy{zyz{{zxyzyzy{{zzz{y{zzyzyyzzyzz{zz{{{{zyzzzyz|{{z{{zzzz{yzzyzz{zz{z{zyyzzyzzzz{z{{z{zzxyzzz{y{z|zzzz{zzy{{zyzzzzyz{zzyyyzzzyz{zzyz{{yzzxzzxxzz{zzyzyyzyyyxyxyzyzzzz{zzyyzyzyzyzzyyzzyyzxyyyyzyzzzz{zzyzyyyzyyzz{zzzzyyyywxxxyzzzyyzzzyzxxxxxyzyyzzzzyxyxyyyyyzzzzzyzyzyyyyxyyyxyzyzzyyzyyyyyyyzzzz{yyxyyyzyzyxzyyzzzzyyyyxyxzyyyyyzzyyyyyxyyyyyyyyzzzyyyyyyyzzyyy{zzzyyzyxxyzzzzyz{zzyzyyyyyxzzy{zzzyzyyyy{y{zzzyzzzxyzzyzzyzz{zyzyzzzzyyxzzyzyzz{zzzyyzzyyzzzzyyyzzyzyyzyyzzzzzz{zz{zyyzyyzzzz{z{|{zz{yzyzyzzz{z{{|zzzzzyyyzzzz{{zz{yzyzyyzzzzz{z{zyzzyzzzy{z{z{{{zzyzy{{{zz{{{{{{{zzyyzy{z{{{{{{z{zyzxzyyz{zzz{{{{zzzzzzzz{{zzz{zzzzyyzzyzz{zyyz{zzz{zzyzzzzzzzz{zzyzzyzyyzzzzzzzyxyyyzyyxyzzzzzzyzyyyzyyxyyzzyzzzyyyyyz{x{zy{y{{zzzyzxyyyzz{zzz{yzyyyyyyy{yyzz{yzzyxyyzyyyz{yzyzyzyyyyyyyzzzyzzzzyyxyyyyzyzzzyzzzyyyyyyxyxzyyyzzyyyyyxyxyyz{z{zzzyyyzxyyxzzyzzzz{zzyyyyxyyyzzzzzyzyyxxyyyyzxzyzyzzyyyxzxyzyyzzzzzzyzyzxyzzyzzzz{zzz{zzxyzyyz{zzzzzyzyyyzzz{zyzzzzzyzyyzyyzzzyzz{zzyzyyzyzz{{zzzzy{zyyy{yyzzzzz{z{yyzyzyzzz{z{zzz{zzzzzzzyzzz{{z|{yyzzyzyyz{{z{z{z{x{zzzyz{|zz{{{{zzzzzzzz{{z{z{{{{yzyyzyzz{z{zy|{zy{zyzyz{z{{{{zzzyyyzyzz{{z|z{{{{zzzzyzyz{zz{z{{z{zzzzzyzzzz{{{{zzyyxzzyz{{zz{zzzyyzyyzzz{z{yyzzyyyyyxyyyzz{zzz{yxyxxxyyyzyzyz{zzzyyyyyyzzzz{z{zzyzzyyyyyzyzzzz{zxzyyyyzzzyzzzyzyyxyyyzxyzyyzzzyzzyyyyyzyz{yyyzyzyyyxzzzzzyyyzzzzyyyyyyyyzzzy{{{xyzxyyyzyzxyyzzyzyyyxyxyxzzzyzz{zyyyxyyxzyyzzzyzxzzyyxzzyyyyzzy{yxzxyzyxzzzzy{zzzyyyxyyyyz{{z{zyzyyzyzyyzzz{zzzzyyyyxyyzzzzz{zy{zyzyyyyzyzzzyzzzzzzyzyzyzyzzzy|zyyyzzzzyz{zz{z{{z{yyzzzzyz{{{z{{zzzzzzzz{zz{z{{{zy{zzyyz{zz{{{zyzyyyzzzzz{{zzzz{yz{yzzzzz{{z{|{zzzzzzzzy{|{{z{{z{yzzzzyzzz{{z{{{yzyyzyzzzz{{{zz{{zzzzzyzzz{{zzz{zz{zzzyyzy{z{{{{zzzyzy{yzzzyzzzzyxzyzzxyzzz{yzyzzzyzyyyyyyzxyzzzzzzyyyxyz{z{zzzzyyzyxyyzzzzyzyzzzzyyyzxyzzzzyzzzzzyyyxyyyzzzzz{zyzzzyyyz{zyzyyzzyxzyzyyyyyzyzzzzzyyxyyzyzxzzzzyzyyyzxyyxyyzzyy{yyyyyxzxyyzzyyzzzzyxyxxzyyyzyz{yzzyyyzyyyyzyyzzyxyyyyxyyyzzzyyzzzxzzzyyyyyzzzzzzzzzzyzxyzyzzzzz{zyzzyyyzyzzzyzzyz{zzzyzyyzyzzyzz{{zzzyyyzzzzzyzzzzzyyxyyyzzy{zy{zyyzzyzzyzz{{zyz{yzzxyzyyzzz{{{z{zzzzzzzy{zzz{{zzyyzyyzzzzz{zzzzzzxyzzy{zz{z{{{{zzyzzz{{zzzz{{{|zzzzzyzzy{{z{{{|{zzz{zyzz{z{{{z{{zzyzz|zyz{z{{{z{{zzzzzzz{{zz{{{|yzyzzzyzzz{zzzz{{zzzyyzyzzzzzz|{yzzyzyyyyz{zzzyyxyyyyzxyx{zzzzyzyyzyyzyyzz{zzyzzzyxyyyzy{z{yz{{zzzzyzyzzyzzxzzzzyzzzyyxxyy{zzzzzyzzyyyzzzzzzy{yzyyyyyyyyyyzyzyzyzyxyzyxyxyyzxyzzyxyyzxyyyyzzyyzzyzxzxyxyzyzyzzzzyyzzxyzyyzyyzzz{yyxyyxzyyy{yxzyzzyxxyyyxyzzyyyzzzzyxyzzxzzz{z{z{yzxxzxyyyzzzzz{yyxzzyyzzzzyzzz{zzyzyzyyyzyz{zz{zzyzzzyyy{{{zzzzzzzzzzyyyz{zz{z{zyyyyzyzzz{z{zzzzzyzyyzzyzzz{{zz{yzzyyyzyzyzzzz{zzyzzzzzyz{{zzzz{zzzzz{{yzzzy{z{{{yyzzzz{y{{z{{{{zyzyzzyzz|z{z{{|{z{z{zzz{zzy{zzzzyyzzyzz{{zzz|{{zz{zz{zz{{{{z{z{z{zyyzzyzz{{z{|{yzyzyyzyzzyzzzz{zzzxyyzyyy{zzzy{yyyxyyxyxyzzzzzzyzyyyyxyyzyyzzzzyyzxyzyyzzzzzzz{zyzyyxzzyyzyzyzyzzyxxzzyzzzzxzzzzyzyyzyxyzzyzzyyyyzyyyzzyzzyyy{zyyyyyyyyyzyzyyzzyyyzyxyyyzyzzzzyzzyyxxyy{zyyyzyyyxzyxzyxyyy{yyy{yyyyyyyxyzzyzzyzyyyyyxyyyz{zzzzzyxyyzyyyzyyzzyz{zyzz{yzyyzzzyz{zzyzyyyzyzzzzzyzzzyyyzyyyzzzyyz{{yyzzyyyyyzzzzyzyzzzyzzyxyzzzxzy{yyyyyxyyzzxzzz{z{yzyzzzyyz|zzz{zyzxyzzzyzz{z{yz{yyzzxyyzz{{zz{{{{zyyyzyzzzzyz{{{zy{zzxzz{zzz{{z{zyzy{zzyzz{z{{{{{zzzzzzz{zzzyzz{{yy{zzyy{z{{{{{{yzyzzyyyz{{z{{{zyzzzzyzzz{z{zz{{y{z{yyyyz{zzzzyyx{zyzyzyz{zxyzzzzyyxyyyxyzzyzzyzyzyyyxyyzyyzzzzzzxyy{yzyzyzyzzzz{yzzyzzzyyz{yzz{zyyyxyxyzyzyzzyzyzyyyyyyyzyyyy{yyzyyyxxyzyzzyzzzzyzyyyyzyzyzyzzzyyyzyyzxy{yyzy{yyzyxyyxyzzzyz{zzxyzyyyyyyzzzyzzzyxzyyyyyyzzyyz{yyzxxyyyyyzyyy{zzzyyzzzyyyzzzzz{zz{yyyyyxzyyzz{zyzzzzzzyyzzyzzzzzyzzzyyzyz{{{zzzzzzyyyxyyx{zz{zzzzyzzyyyyzzz{zz{zzyyzyzzz{zzzzzyzzzzyzzzz{{{{{{{{x{yzzyzzzzzzzz{zzzzzzzyyz{{zzz{zzyz{yyzz{{{z{{{|zzyzz{{zz|{{zzz{{yzzyzzz{{z{z{{zzzyzyyyzz{{{zzz{zyzzzyyzz{{{z{{{{yzy{zy{zzzz{zy|yzzyzy{yzzzzzz|{zyzzzzyzzz{zy{yzzzzyxyyy{zyzzzyzzzxxyyxxy{zzyzz{yyyyyyxyzzzzzzzzyyzxzyxyzzyzzzzzyyyyyyyyyyz{zyz{yyxyxxyxzyzzy{zzzyzzyyyxxyyyyy{xyyzyyxyyxxzzyzzyzyyxxzyxyyyyzzyzxyyyyxyyxzzyyyzzyzyyxzwyyyyzzzyyyyzyxxyyyzzyzzz{yyzyyxyyyyyyyzzzyzzxyzyyyzyzyzzzyyzzyyyxz{yzz{zzxyyyzyyyzyz{zz{{xyyyyxzzzyyyyyz{zyyyxxyzzyzzy{zyyyzzzyyyzz{zzzzzzzyyyzxyzzz{zzzzzyyzyyzz{{zzz{z{zxzyzzxyzz{{z{z{yyyzzyzzyz{{z{{{zyzyzy{yz{{z{zzz{zyyzyzzz{zz{z{zz{{yz{{y{zzz{z|{zx{yzyz{zzy{zz{{{zzzzyzy{{{zz{zzzyyzzyyyzz{zzz|z{zzzzzzz{{zz{|{zzzyyxzxzzzzz{{zzzzzyzzyyzz{{yyzzzzzyyyyxyzyyzyyzyyyzzyyyyyzyyyzzyyyyyxyyzyyzzzzzzxyyxyyyzyzzzzz{zyyyyyyyzyzzzyzzzxzyyyyxzyzzzzzzxyyyyyyxxyyyyzzzyxxwyzyxzyzyyyyyyyyyzyyzzzyxyzzzyxyyxyxyyzzyyyyyyyyxyyxyyzzzz{zyyxzzxyxyyxzzzzyzzyyyzxxyzyyyyzzzzzyyzxyyyzyyzzzyzyyyyzyzxyzzzzzyyyzyyxzyzzzzyzzzyzxyzzxyyyyzzzz|yyyzyyyyyyzzzz{zxyyyyyyzzzzzzzzzyyzyxyxyyzzzyyzzzyyzyyxzyzzyy{zzyyzzzy{zz{zzzz{zyzzzzzzzzzzyz{z{zyyzy{yyz{{{zzzyzzyyzzzy{|zzz{zzyzzzzz{yz{{|{{zz|yyyyzyz{{z|z{z{zzzy{yzzy{{zzz{{zyyzzzzzz{zz{z{{zzzzzzzz{zz{z|{zy{zyzyzzz{{{zzzz{zzzzyzyzzy{yz{zzzzzyxyyyzzzyzzzyzywxxxxy{zzzyzyzyxxyxxyzzz{zzy{zyyyyyxzyyyz{{zzzzzyzyyyyzzyyzzyzyyyyyyyzyyzzyzzyzyyyzyyyyyyyzzxzyzyyyxxzzyyzzyyxxxyxyzyzy{zzzyzyyyzyyyxzyzyyzzzyzyxyyyyyyzyyyyzyzyyyyxyyyzzyyzzyyxyxzxyyzzyzzzxyzxyzyzyyzxyzzz{yyyyyyyz{zz{y{{zyyyyzxyyzzzzzzzzzyyyxzyyy{zy{z{{yxyyxzxzzyzzzzz{yyzzyyyxyy{z{|{zyyyzzzyzyz{zzy{zzyyyyyyzyzzzzz{zyzzyyzyz{{yzzz{{yzzyzzzyz{{zz{|{yzzzzyyy{{z{{z{zzzzyyyzzzz{z{{|zzzzyyzz{z{zz{z{{{zzzyzzzy{{zzy{z{yzzzzy{z{{zzzz|zxzzzyyzzy{zz{{{zzz{zyyz{zy{zz{{zyyzyxyzz{z{{z{zzzzzyyyyy{zz{z{yyyzzzzyy{zzzz{yyyxyxzxywyzyz{x{zyyyxzyxxyyzzzz{zxyyxyyxzy{zy{z{zzzzyyyyyzyzzyyyzyzyyyxzyzzyyzz{zyyzyxyxxyzzyyyyyzyyyyyyyzzzzzyzzyyyzyyxxyyy{zzzzyyyxxywyyzzyz{yyyyyyxyxyyyzyzzy{zzyyxzzyzzyyzz{zyzxzyyyxyzyyzzzzzyxxywyyzzzzzzyzyzyyyyyyzxzzzyzzyyyyzyyyyzzzzzyyzzyyxxyyyzzzzzzyyzzyyxyzzzzzzzz{yzzyzyzyyzzzzzzzyxzyyzyyzz{zz{{{zyxyyzyzyzzzyzzzzzzxyzzyzzzzzzzzyzzyzyy{z|{{zzzzzyzyzyyyzyzzz{{{zyyzyy{z{{zz{{{{zzz{yz{zzzzz{{zzzzzzzzzzzz{{|{{zz{zzzyzy{zzz{{{zzzzzyzyyzzz{{{{{zzzzz{zzz{zz{{{{zzyyyzyzzzz{y{{{{zyyyyzzyzz{zz{zzxyyyxxyyzyzyyxyzxyyxxxxyzzyzzyyyzzzyyzyz{zyyzyzzzyxxyxyyyzyyzzzyxyyxxy{zyzzyyzzzyzyxyyyzzyzzzzyyyyyyzyyzzxyzzzyyyyyxyyxzzzzzyyyyyyyyzxyyyzyxyyyzyxyyxyyyz{yzzzyyzyzxyyyyzzxzzzzyyzyxxzxxzz{yzy{zyzxyxyyzyzyyyzyyyyxyxxyzzzzxyyzyyyxyyxyyzzzzyzzyyyyyzyyyzz{zzzzyzzxyzzzzz{yzyzzyzxxyyxxzz{yzyz{yyzzzzzxzz{yzzzzyxzyzzyyz{yzzyz{yyyyyyyyz{{zzyzzzzzyyyzyzz{z{{{y{zyyzyz{{zzyzz{{zzzyzzyyy|zzyzzzzzzzzzyz{zz{yz{{zzzzyz{yz{z{{z{{zyzzyzzzyzz{{{z{zyzyyyzz{{{{zzz{zzzyzyz{zz{zz{{{zyz{{yzzz{z{zz{zzzyzzzxyzzyz{{z{{zyzyzzy{zzzzy{zzy{yyyyzyzzz{zzzy{yyzxyxyzzxzzz{zzxyyxyxzyzzzyzzyyzyyyyx{yzzzzzzzyyyyyyyzyz{xzyzzxyxxxzxyyzzyzzzyxzyyyyyyzzzyzzzyyyxzyyyyyzzyzzzzyyyyzyyyyyzyyz{yxyyyyyyyyzyzyzzyyxyyyxyxyzyyzzzyyyzyyxyyyzzzzzyzzzyyyyyyyyzyzxyyyyxxzyyyzyzzzzzyyyyyxyyxzz{z{yzzzyyyyyzyzyzzzy{yyzzyyyzzyyzzzzzyzzzyyzzzzz{zzzzzyyyzxyyyzzyzzz{yyyzyzyyz{{y{zzzzyzzzzyyzyzzz{z{zzzyzyyy{y{{zzz{zzzzyzz{yzzyy{z{zyyzzyyz{{{{zzzzzyyyyzzy{{z{{zzyzzzzyyzz{zzyzz{{{zy{yzyz||{{z{zzzyzyyzyz{{{{{{zzzzyyzzyzzzzz{zzzz{xzzy{zzzzzzy{zzzyyzzzxzz{zz{|{zyyzxzzxzzzzzzzzzxyxyyzyzzzyyyyyzyxzxyyxyzzzyyyzyxyyzyxyyzzyyy{zyyyyyyyxzzzyyzzyyxyyxyxyyzzzzyyzzyzyyzyyyzzy{zzzyyxyyxyyzzxzyyzyyyyyyyyzxzzyyz{zzyyyyyyyyzyzyyyzyxzzyyyyzzyyyzzyyyxyyywyyzzzyyzzyzyyxyyyzyz{yzyxyyyyyyyxyyyyyzz{zyyxyyyxxzyyyzyzyyyyyzyyzyyzzz|zyzyyzyyyzzzy{zyzyzzzzyzzyzzzyzzzyyzyyyzzzzzzzzz{yxzzyzyyyzyzzzzzzzyzzzxzy{{zyzzzz{yzzyzxz{zzzzzz{zyyzzyzzyzz{z{{z{zyyyzzyzz{z{{{yyzzzzzxzzzz{{{zzzzzzyyzzz{{zy{|zyzyzz{{{zzz{z{zzzyyyzzz{|zzz{{z{zz{{z{yz{|{zzzzzzyzzzzzz{zzz{{{{zzzzzyz{z{z|{{zzzyyyyzzzzzz{{{zzzyyy{zxz{zz{zzzzzzzzxyyzzyzzzzzyyzxyxxyyzxzzzzzzzzzzyyzzz{y{zzzzzyyzyyyzzzzxz{zyzyzzyxxzzzzyzzzzyyzxyyyzzzzzyyyxyyyyyzxyxzzzzzzzzyyyyyyzyzyz{zyyyyxx{xyyyyzzzz{yyyxyyzyyyzyzzzzzyzyyyyyxzzyyzzzzyzyxzyzzzzzyz{zzzyzzxyyyzzyyzz{zyyyzyyxyzzyzzz{zxyxzzyxzzzzz{{zzxyyzyy{yzzyzzzzzyyzyxyzzzzzzzy{yyzyyyzyz{yyzzz{zzzzyzzzzzzz{zzyzzzzzyyyzzzyzz{zyyyzzzzy{{{zzz{zzzzyzzyzzz{{z{{{zzz{zzzz|{y|zz|{zzyyyyyyz{{yzz{zzz{z{zyzzzy{z{{yzzzzxz{zz|zzz{{|{{y{zz{zy|z{z{zzz{z{{zz{z{{{z{z{{yzyzyzz{{z|{|{{{yyz{z{y{{{zz{zzz{yyzzzz{{{{z{{{zzzzzzyyz{zz{{zzyyzzyyyzzyzzz{yzyyyyyyyyzz{xzzzzyxyyzyyyyzzyzzyzyyzxzzzyzxzyyzzzzyzyyyxyzzzyyyzzyyzyxxyyzyzzzz{{zyzzyyyyyyzyzz{zzyzyyyyxzzzyxzzyyyzyyyyyz{zzyzzzyxyyyyyyyzyzzz{yyyyyyyyyyyzyzzxzyyyyxyyyxy{zzzzzzyyyxxyyxyyyy{yzyyxyxyyxzyyyyzzzyzyzzyxyy{zyzzzzyyyyyyyy{zzzzz{zzzyyzyzyyzy{y{zzzxyyyyyyzz{z{z{yyyzyzxyyy{zyzzzzzyzzzyzyzzzzyz{zyxyzyzxzyzy{zzzzzzzzzyzyzzz{{z{zzzyzzyzzz{zzz{{{zyyyzzyzzzy{{{z{{yyyzyyz{{{y{{zzzzzyyz{z{zzzz{{zzzzzzzzzz{z{zzzzzyyzzzyyzz{{zzzzzyzzyzyzz{z{{{{{{zzzzzzz{z{zzz{zzzz{z{yzz{{{zz{{zyzzyyzzz{z{zz{yyzyyyyzzzzzzzyxzzyyyxyxxyy{yyyzzyyyzzyyxzyyzzzzzyyyyyzyyyyzzyy{zzxzyyzyyzyzzzyzyzyyyxyyyyzyzyzzyyxyyyxxyyzyyyzzzzzyyyzyxyyzzy{zzyyyyxxyyzzyyzzzzxyxyyxxyyzzyyyzyzyyyxyyyyyzyzzzyyyyxyyxyyzzyzyyyyyyyyxyyzyzzxzzzyyzyyyzyyzzyyzzyzxyzzyxyzzzzzyzyyyyyyyzzzzyyyzzzyyyyyyyyzyzzyzxzzyyyyyzyzyzzyzzzzzyzyzzzxzzzzzyyxyyyyyyxzzzzzyzyzzx{yxzyzzz{{zz{zzzzyzzzzzzz{zzzyyxyzzyyzzzzzz{yzyyzzzyyzzzzzy{z{yyyzxzzz{zz{zzzyzyzyz{yy{zyzz{z{zzzzzzzz{{{z{{zzyzzyy{zz{z{{z{zzzyyzyyzzzz{{{zz{zxz{yzz{z{zz{z{zzyyyyyzzzzz{z{z{zzzzzyyzzzzzzzzzzyyyywzzyzzzzzzyzyxyyyxyyzzyyzzzyyxyxyyyzyzzzzyyyxxzyyxzyyzzzzzyxyyyyyyyzyyyzxzyyxyyyyyyzzxzzyzyyzxxyyxyyyyzyyzyyzyxyyyyyzzxyzyxzzxzxyxyzyyzyzzzyxyyxyyyzyyyzzxzxyyyzyzyzzzzzzzyyyyyxyyzzzzxyyyzyxyyyyyxzyyzyy{yyyyxyyxyzzyyzzzyxyyyyyyzyyzz{zzyyyzzxyzzzyyzy{zzzzyzyzzyyzzzzz{yyzyyxyz{zzyzzzzzxyyzyyyyzyzzz{zzzzyzyyyy{zzzz{zyyyzyyyyzzzz{yzzyzy{zyyzz{{zy{z{yzyzzyzyzz{z{y{{yyzzzyxyz{{zzzzyzxzyzzzzz{z{z{zz{z{zyzzyyzzzzz{z{yzyyzzyz{z{{{{zzzzzzyzy{{yzyzz{{zyyzzzzzz{yz{zz{{zzzy{z|{z{{{z{yy{yzyzzyzzz{{{zzzzzzyyyyzyzzyzzyyzyxyyzzyzzyyyzyxxyyyyyyzyzzzz{yxzzyxyyyzzxzzzzzyxyxyyyzzzzzzzyzzyyzxyzyz{{zyzzzzyzyyyyyy{zyyzzxyzyyyyyzyyyyzyyzxyyxxxyzyzyyzyyyxyxyyyyyzyyyzzzyyyyyxyyyyyyzz{yyyxxyyyzyyyyzzzyyxyywy{yyyyzyyzzzyxxyyyxyyzyzzzzyyyyyyxxzzyyyzyyxyyzzzzwyzzzyzzyyyyyyyyyzzz{zz{{zyyxzyyyzyz{zz{zzzyxxzzzzzzzyzzzzyyzyyzxzyzz{zzzzzzyyxyyyyzzzzzzzxyzyzzzz{{zzyzzyzyzzyyz{zz{zzzzzzzyzyyyzzy{yz{zyyzyyyzyzz{{{{zy{zzyzyzz{{{zzz{zzyzzyzzzyy{z|z{zzzzzzzzzz|{{zz{{zyyzzzzzzzzzzz{zzzyzzz{zzzzzzz|{{zzyyzzz{z{zzz{zzzzyyxzyy{zz{{{{zzyyzyxyz|zzyzzzzyzyzyyyz{zyzzyzyyyyxyyxzyzzyyzyzzzzyyyyy{zyy{zyyyxxyxyxzzyzy{yzzyyyyyyyyyyyzyyzyxxxyxxxyzzyy{zzyzyyyyzyyy{yyz{yyyyyyyyyyyzyzzyyyzyyyyyzzyzzyzz{yyxyyyxxyyyzzyzyyxxyyyyxzzzxzz{zxxxxxyyyxzyzyzzzzzyyzzyyyzyyyzyzzzyxyxzyyyyyzzzzyyzyyyyyyyz{zzzyyyyxzyyzyzzzzzyzyyyyyyyyxzzzzzyzzyzyxyyx{yz{yyzyzzzyyxyyyzzy{{yyzxzyyyzzzzzzzyzzyyyyyyyyz{yyz{zzyzyyxzzz{zy{zz{zyyxzxxzyzzz{zzz{zzyzzyyyzyyzzzzz{zzyyyzzzz{{zyz{{xzzyz{zy{z{zyz{zzzzyzzzz{{zzz{{zxzzyzzyzzzzzz{z{zyzyzxzzzzzz{zzzzyyyzzzzzz{{{{{zyzyyyzzzzzzzzzzzzyzyzyyyzz{yyzzzyyyyyyyzzzzzzzzyyyyzyyy{zzzzyzzxyxyyyyyyzzyzzyzzyxxyyyyzyzzy{zzzzyxyyyyzzyzyy{{zyyyxxxxzyx{yzyzyyxyyyzyyx{yzyzyyzyyyywyyyyyzzyzzyxyyzxyyyzyzzzzyyyyyxxyzyyzyyzyzyyyyxxyzzyzyzyzyxxxxxyyyyzyyzzyyyyyyxyxyzyzyzzzyzyxyyzyzzzzyyzzzyyyzzyyyyzzyzyzzyxxzyyyyzzzzz{{yy{yyxzzzyxzzzzzyyzzyyyyyz{zzzzyyyzzyxyzz{zzyzzyzyyyyyyzzzzz{yzz{zyzyyzzyzz{zzzzyzzyyzzzzzz{y{{{yzyyyyzzz{zyz{{zzyzzzzyzzz{z{z{{zyzzzyyzzz{zz{{{z{zzzz{zzzzzzz{{{{{z{{yy{{zz{z{{zy{zzzzyz{z{{{zzzzzzyzzz{z{{{zz|{{yyy{zyzzzzy{{zzyyxzyzyyzz{zz{zzyzzyyyz{zz{yzzzzzyzzyyyzzzzzzxzxyyyxxywxzyyzyzyyyxyxyyxyzyyyzzzyyyyyyyzzyxzyzzzyyyxyyzyw{yzyyyyzyyyxyyyyzyyy{zzyyxyyxyyyyzy{yzxyyxyxxxxzyyyyyyzxyxxxyyzyyzzzyzyyyyyxyyyyzzzyzyyyyxyyyyyyyzyyzyzzzzxxyyyyyzyyy{yyyxyyyyxyyyyyzzyzxxyyxzxyyyyyyzzyyyyyyyxyyzzyz{zyzxxyxxyzzzyyyz{zyyyyyzxzzzyzzzzyyyyyyyyzyzzyyzzzzzyyyyyy{z{y{yzzyyyzyyyyzzyzzzyzyzyyyyyyzzzyyzzzyzyyyzyz{zz{y{zyzzzzz{yz{z{yz{{zyyyzxyzz{zzyzzz{yzy{yxzyzzzyz{zzzyzz{zyyzzz{{{{zyzyyz{yzz{{zz{{zyyyzyzyz{z{zzzz{zzzz{zzz{{{z{{zzz{yz{yyzzzzz{{zzzyyyzzzyzz{z{{zzyyyzyzyyzyyzzzyzyyyyxyyzzyy{yyyyyzxxyxyyzzzyyyyzyyyyyyyzyyz{zzyzxzyyzxyzyzyz{zyzxyyyxyyyyzzyy{yyyyyxxyxyyyyyzyzyxyxyyzxyzxzzyyyyzyyyyyzyzyyyyzyzyyxxyxxyyzyyyzyyxyyyxyyxzyyxzyyyyxyyyyyyz{yyxzzyyyxxxyxzzyzyyzyyyxyyxyyyxyyyyz{zyyyxzyyxyzxzyyyzyyyyyxxxzyzyy{yzyyyzxzzzyyzyyzzyxyyyyy{zyzzyzzzzyzyyyxyzzz{zzzzyyzzyyzxyzyzzyzyzyyyyyyxyzzzzyzzyyyzyyyyzyzzyzyyxzzyyyxyzzz{zzz{zyzzzz{zzzzyzzzzyyyzzyyyz{zz{{zzzyyzzzyzz{y{z{{zyyzzz{zzzzy{zz{zzz{y{zzzz{{z{z{{zyzzyyzzz{{zzz{zzzyyyyz{z{z{yz{{zzzzz{zzzzz{z{|y{zzyzzyzzzzzzz{zzyyzzyzzzzzzzzz{yyyyyyyxzz{zyyxyyyyyyxwzxzyyzyyzxyyzxxyxyzzzyzzzzzzyyyzxyyyyzzy{yyzzyyxyyzz{{zzzzyyyzyyxyzzzyyz{yyyzyyyyyzyyzyy{yxyyxzxyz{zyzyzzyyzyyyyyzyyyyzzyyzzyxxyyzzzzyyzzyxyyyyyyyzzyzzyzzyyyyxyyyz{zzyyyyyyzyxyxxyyyzzzyzzzyyxyxxzyyxzyzzzyzyzyyz{yzzyzzzyyyyyyzyzyzzz{{{zzyyyzyzzzzz{zzyyyzyyyyzzzzyzzzzzyyyyyzzzzzz{z{yyzyyyyyyzzzzy{zzzzyyzzyy{zzyzzzzzxzzyzzz{{{zz{zyyzyzzxzz|{zyz{|yzxzyz{zy{zz{{{z|zyyzyyzy{z{z{{zzzyzz{zz{{{z{zz{zzzzzzz{z{z{{{z{zzzzyzzzz{z{z{z{zyyzzzyzzzz{{zz{z{z{zzyzyz{zz{zzyzzy{zzzzzy{z{{{zzzyzyzzzzzzzyzyzzyxyzyyzzzyyzzyyzyxyyyyyyyyyyzyxzxxyyxzy{zyzzzzzxyyyyzyyyzzzyzzzxyzzyxyyzzzyyzzyzxyyxyyyzyzzyzzyyyxyyzxyz{zzzyzxyzyyyxyyzzyyy{yzyyyyyxyzyz{zzyzyyyzxyyyzzyzzyzzyyxyxyyxyzzyzzzzyxzyxyxyyzyzzzyzyyyyyyzyxxzyyzyzyyyyyxxxy{yyzz{zyzyyyyyyzzzyzz{yzyyyyyyyzy{zyzyzzzzyxxyy{zyzzy{zyzyzxyyyz{zzzzz{yxzxzyyyyzyzy{zzzyzzyyyyzzzzz{{yyyyyyzzzy{zyzzzzzyyyyyyzz{z{z{{zyzzzzz{yzzyzy{{{zyzzzzy{zzz{{z{y{xyyzyzzz{zz{yz{zzyzz{yz{{{z{zz{{zzzyzzzzz|z{{{zzzy|yzzz{{yzz{z{yyz{z{yzzzz{{z{{yzz{zzyzzzzz{z{y{yzyzz{zzzzzz{{zzzzzzyyyy{zzzyzzyzzyzyyxzzyzyyyxyyxxwyxxxyzzyyzzyxyyyyxyyyzzzzzzyxyxzzxxyyzyzzzyyxzyyyxyyyzzyyyyyyyxxyyxyyyyyyyyxyyyyyyyyyyxyyzzzzyxxzxyyyzyyzxxyyxyxyxxyzyyyzzyxyxyyxyzyyxyyyzyxxyxxxxyyyyyzyyzyxyyxxzyyyzyzz{yyyxyxyyxyxyyzzzyzxxxyxzyy{zzyzzyzyyzyxyxzyyzyy{yyxyyyxyyzyyzzz{yyzyyyyyzzxyzzzyzyyyyzyyzyzzzzzzzyyyyzyzxzzyzzzzyzyyyzzyyzzzzz{yzzxyzxxyzz{yyyzyyyzyyzyzyzzy{yz{{zyyzzyzzzyz{z{zzyyyyyyyyzzzzy{{yzyyyyzyy{zyz{{z{yyyyyzzyzzzz{z{zzy{zz{zyz{{y{z{{{yzzyz{zzzzzyz{zzyyzzyyzzzzzz{zzzzyzzyy{zzyz|zz{zyzy{yzyzyzzz{{z{zyyyzyxy{zz{{{zyyyxyyxxzzy{zyxyyxyxzxyxyyzyzyyyyyxyyxxyyyyyzzzzyyyxxyyxzxyy{zz{zyzyyyxxyyyyzzzzyxyyxxxxyzxyyyyzyxyxyyzyyyyzyyzyyyzyyxyxyzyzxyzyxyxyxyyyxyyzxzyyyyyxyxxyzyyzyy{zyyyyyyyyyzzzzzyyxyyzxxxyzyyyzyzzyxxyxyyyxxyxzzzxzyyyxyyyyyxyyyy{yxzzyywyzyzyzyzyyxyxyyxxyzzzzzzzyyyxyyyyyyzzyzzzyyzyyzyxyyzyyyzyzxzyyzxyyzyxzzyyyzzxzyxyxzzzy{zz{zyyyyyzyzzyyzzzyyyyzyyyyzzzzz{zyzyyzyzy{zzzz{zzxyyzyyyyyz{zzy{yzyzzyxyzzz{zzz{zzyzyyyzzzz{yzzzyz{zzyyzzz{zzz{{zzzzzzyzzzzz{yzzz{zzy{yyy{zzz{zzzzzzzyzzyzy{zyz{zzyyxyyyyzzyzzyzzzyyyzyyyyzzzzyzyyxyxxyxyyyzyyyyzxyyyyyyxyzzyyyzzyzxzyxyyxyyzzy{yyyyxxxyyyzzyz{zzyzyzyyyxyzzzyyzzzzyxyyyxyy{zyzzyyxxyyyyyyyyyzzzyyyzxzyyxyzyyzyzzyyyzxzxxyyyzy{y{yxyxyyyyyzzzzzzzyyyzyyxyyyzyzyzyyyyyyxxy{{yyxx{zxyyyyyyyyyzyzzzxxzxyyzzxyzzyyzxzyyyyyyxyyyzzyzzzyxxyyxyyyyyzzzzzxyyxyyzyyzzyyyz{yyyyyyzyyzzyz{zzzy{{yyyyy{zzyzzzzxyzyyyyy{zzzzzzzyzzyzyyzzzzzzzzzzzzzzzy{zzyz{z{yzyyzzzyz{zzzzz{zzyzzyyyz{zzzzzy{yyyzzyyzzz{z{{zzyzyzyzzz{z{zzz{zyyzyzyyy{z{zz{{zzzyzyzyzyzzyzzzzzyzzz{zzzzzyz{{zzy{zzyzzzz{|z{{yzyyyzyxz{yzyzzzyyyzyzyyz{{{zzzzyyyxyyyy{{zz{zyyxxyxyyxyzyzyzzzyzxyxzyyyyyzyzzzzzyyyzyyyyzyyyzzzzyzyyxyyyzyzyy{zzyxyyxywyyyzyzzzyyzyxyyyyzyyyyzyzyyxyyxxyzyyyyyyyzyyxyyyyxzyyzy{yzyxyyyyyyyyyzzzyyyxyyxzyzyyy{{yzzyzxzyxyz{yzyzzyxxyyyzyyzyyyyyyyxyxyyyyxyyyyzzzyyzyzyxxyyzzzzzzyyyyyxyyyzyzyyy{zzyyyxyzzyyyzzzyyyyyxyyxzxyyzzzzyyzyzyzyxy{zzzzyyxyyxxxy{yzz{y{{yyyzyyyyzzzyyzzzzzyzyzzzyz{{zzz{zzzyzzyyzzz{{{{{yzzzyzxyzz{{z{zyzxzyyyz{y{{zzz{zzx{yy{zyzzzz{{{zzzzyyyyzy{{z{z{zzy{{yyxy{z{z{z{{yyyzzyzy{y{{|{{|zxzz{yzzyzzz{|{{zzyyyyzzyzzzzzzyzyzzzzxyz{{{zz{yyzyyyyzyyzzzzzzyzxyyyxzxyyzzzxy{zyyxxxyxyxzyzzzyyyyxxyxxzyyzzzzzzyzyxyyyzzyyyzzzyyyxyxyxyyyyzzyyxyzxxyxxyyzzzzzzzyyxxxxxyyyzxyzyxxyxxxxxyyzzyyzyyyxxxxxyyyzzyzyyyyxzxyxyyyxyyyzzyyyxxxxxxyyzyyzyyyxxxxyxxyyyyyyyyyyxyxzxzzyxzzy{xxyxxzyxyyyyzzyyyzyyyxyyyzyyyyyzyxxyxyyyyyzzzz{zyyxxyyyzzyzzy{zyyyzyzxyxzzyzzzxyyxyxxyyyzzzyzz|yyyzxyxyz{yzyyyzzzyzyxyyyzz{zzyz{yzzyyyzyyzzzzzz{yyzyzyxyzzzz{yzyzyzyyxyxzzzyzyzzzzzyyzzxzyzzzz{zyyyyyzzzz{zzzz{{zzyzzyyzyy{yzzzzyxyyyyyyzzyzz{zzzyyyzyyy{zzzzz{zyyyxzyyyzzyz{{zzzyyyxyyxzzyzyyyyyxzxyyyyyzzyyyxyxxyxxxxxyyyyyyzzyyyyxxyxyyzzyzzyyyyyxyyyyyyxzzyyyyyyyxyyyzyzyxyzyyyyyxyxyyzzyzyzyyyyxyxxyzyyzyzyyyzxxxyzyyyzzzzyyyyxxyxxyxzyyzyyyxxyyxyyyyzzzyzxyyxxxwxxyxzyyzzyyyyxxyxxyyyzyyzzxyxxyxyxxyyyyzzzyyxyyyyyyyzyzzzzyxyxyzxxy{yyzzzzzyyyxyyyzzzzxyzzyxzyzyzzyzzyyyzzyyyxyzzyyzzzzz{yyyyyyyyxzzyzzzzzzzyyyyyxzzzzyzzzyyyzyzyxzzzyxyzyyyzzyyzyzz{zz{zzyzzzyzzyz{zzyz{zzyyzzyyyxzzzzyzyyzzzzyyyzzzzy{zzyz{zyzzyzzzzzz{zzyzzzzyyy|yz{zyzzzzzyzzyz{yy{{zzzzyzyzzzyzzzyz{z{{yyzyzzz{y{{zzy{zyyxyyzy{{zzzzzzyxzyyyzyzyzzyzzzyyyzyxy{yzzzyyyxxyxxxyyyzyyyzyyyxxyyyyyyzyyzzzzyyyxxyxxzyzzzzz{xxyzyyxxyzyzyxzzyxyxyyxyyyzyy{yzxxyyyyyyxyyxyzzzyxxxxyxxzxzzxzyyzyyyxxxzyyyyyzyzxyyxyyxyzyyyzyyyyyyxyyxzxyzxyzzyyyyyyyxxyyzzzyzzyxxyxyyxyyzyyyxyzyyyyyyxxyyzyyyyywzxy{xwxyyyzyzzyyyxxxxyyyzzxzy{yzzyyyzyzzyyyyyyyyyzyyyzzzzzyzzzyxyzyyxxy{zzzz{zyxyyyyyyzzzyzz{zxyyyyyyzzz{zzy{yyyyzzzyyzyy{zyzzyxyyyzzyzzzzyzzzzyyzyxxz{zzyyzzzyyxyyyyyz{zzzyz{zzyzyyzzzy{z{zzz{zyyy{yyyzz{y{{zzzzzzyzzzzzzz{zzz{yzyyyzzzzzzzz{zzyzyyyzy{yyz{y{yzyyzyyzyyy{xzzzzyyyzyyyyzzzyy|xyzyzyyyyyyzzyzzyxzxxyyyyzzxyyzyzyyzxxyxyyyyyzzyzyyyxyyzxzyzyzzzzyyyzxxxyyyzyyy{yzyyyyyyxyyzzyyzzyyyxyxzxzyyxyzyyzyxyxyyxyzyyzyzyyyyxxxyyzyyxyyyyxxyxyyyyyzyyyyzyyyyyyxyyyxzzyyzzyxxyyxxyxyxyyyzzxyxxyyyxyxyyxxyzyyyxxyyzyzyyzzzzzyyyxyxxyzyyxyyzyyxxyxyxyzzz{zzzyxyyyyyzzzyy{yyzzyzyyzyyzzzyzzzzyxyxzyxxzzyzyzzzyxyzyyzyzzzzyzzyzyzzzyyyz{zxzzyzyyyyyyyzzzzzyzzyyyzzzyzyyzyzz{zzzyyyyyxy{{zzz{zzzxzzzyzzzzzzzz{{zyzyyzzzzzzzzzz{{zzyz{yzz{zz{{{zzzzzyzzzzz{yz|{zzzyzzzyyyyzzyy{zyyzyyyzyyzzzyzzzyyyxyyzyy{yzy{zzzyyyyxyyy{z|z{zzzyzzzwyyzzzzyzzyyxyyzxyyyzzyzyzzyxxxxxyyyyx{zyz{yyxyyyyyyxyyyzyy{xzxxxzxzzyxyyzzxxyyxxyyyzyyxyy|zyyyyyyyyyyyyyzzyxzxyxxyyyyzzzyyyzyxxyxxyzyzyyzzyyyxyxyyyzyyzzzzyyxxxyxyxzzyyzyzyyyxxxyxyyyyyy{{yyyyyxxxyzyyz{zzxyyzyyyxzyyzy{zyyyzzxyyxzyyyyyzzzyxyxyyyzzzyzzyzzxzxyyyxyzzyyzzzyyyxxyyxzzzzzzzzyxzyyyyzyyzyzzyzzxzzyyzyzzzzzy{zzyyzyzyyzz{yyyyzzyyyzzyzzyz{zzzzyzzzyyyyyzzzz{zzzzyzzyzyyz{zz{{{zyyyyzzyz{z{z{{{zzzzy{zyyzz{z|z{{zzzzzzyyzz{zz{zzz{zyzzzz{zzz{zzzyzyz{yzyzzy{zz{zyzyzyyz{zz{zzz{zzyxxyyyzzzzz{z{zzyyyyyyyzzzy{zzyyzxzyxyyzzyyyyzyxxxxxxxyzzzyyyzxyywzxyyyzz{yzzzyzxxzzyxyyyzzz{{ywxyxxxyyxzyyyzzyzzyxyyyzyyyyzzzxyxxyyzxyyyxyzzyyyzxyyxyyyyxyyzyxzyyyyxyyzyyyyyzyyyxxxxyyzzyyyyzyxxxxywyzyyzyyyzyxyyxyyxyzyyyyzyxyyxyzxxyyyzyzxxyyyxxyzxxxxzyzzzyyyxyxxxyzyyyz{zzzzyyxyxxzzyyzz{yyzyyyzzyzzxzyzzyxyyyyyxzyzxzyzyzyzyzxzyyzzyyzzzyyzyxyyzzyzzzyzyyyzxzyyxzz{zzz{yzyyyzzyyyzzzzzzzzyyyyyzzzzyzzz{{yzyxyyzyz{zz{{zz{yxyyzzzzzzzz{z{yzzyyzzzyzzzzzzz{zyzzyyzz{yzyz{z{zzyzyyz{{{zz{{z|yyxyzzzy{yz{{{zzyyyzyyzzzzzzzzzzzyyzyzxyzzyz{{z{yyxyyyzyzzzzzzzyzyyzyyyzyyzyyyyyyyxyxyxyzyyyzzzyxxyyxxyyyzzzyyzyyyxzyyxzyzzzy{zyyyyzzwyzyzzzy{zzxzxyxyyyyyyzyyzzyzyyxzxyyzyyzyzzyzxzyyyzyzzyyzzzyyxyyzyyyzzzyzyyzyxxyyyxzzyyzy{yyzxxyxxzyyyzyyyyzzxyyxxyzzzzzyzyyxyyyyyyzyyyzzyyxzxyxxzzzzzyzzzyxyxxyxxzyzzzzzzyyyyzxyyzzyyzzzzyyyyyzyxyyyz{z{{xxyxyyxyyzzyzy{{zyyyzxzyyyyz{zzzxzzyxyyzz{zzyz{xyyzyxy{zzzzzzzyzzzyyzyyzzyyzzz{yzyyzyyzyzyy{{zzzzyyyyyyyyzzzzyy{zyxzzzzyzzz{z{{zzzzzzzzyzz{zz{z{zzzyyzzyz{zz{{zz{zzzzyzzzz{zzz{{{yyzzyzyy{z{z{{{zzyyzyzzz|zz{zzzzxyyyzyzzzzzzz|z{zyyyyyxyz{{zzz{yzyyyyyxxzzyzyzzyyxxxxxyxz{zyzzzyxxyyyyxzzyzyyyzyyyyyyyxxyyyyzzyyxyyyyyyxyzzxyyyyyyywyxxyzxyzzy{yxzxyyxyyzzyyx{yzzzxzxxyyyyyyzyyxyyxyxzyxyzzyzyyywxxzyyyyyyyzyyyyxyyyxxyzyzzzxyxyyzyxzyxyzyyzyzzyyyxyyyxyzyyz{yzyyzyxxyyyyzyyyzzyzyzzyzyyzzzzyzzzyyyyyyyyzzzzzzyzyyyxyyyyy{zyyzzyzyxyzyxzzyzyyy{zyzyyyyyyyzyzyzzzyyyyxxyzzzz{y{zzyzyzyzzzyyzzz{yyyzzzzyyy{zy{z{zyyyzyxzzyzzz{z{{yyy{yzyy{z{yz{yz{zyzyzyyyz{zzzzzzz{y{z{zz{zzz{z{zzyyyyzzz{{zzz{zzyyyyyzzzyzy{z{zzyyzzzz{y{zz{z{{yyzyyzzz{zzzz{{zz{yyzxzzzzzzz{{{{yyyyyyzz{yyyzzyyyyzyzyyzzzzzyyyyzyxxyyxyyzyyxzyzxxxyyzyzzzyzzyzzyxzxyyyyyzyzyzzyyyyyyyzyy{yyyyyyxyxxyyxyzzzyzyyyyyyyyywzyzyzyyyyyzxxyxyyyzxyzyzxxxxxzyzxyyxzyxyzxyxyxyyxyyzzzyyyyyyyyyyyzyyyzzyxyyxzyyxxzyyzzzzyxyyyxxxyyzzzyxyyxxxxyyyxyyyyzzyzyyyzyyxzzyzzzzzzxyyzyzyyzyzyzyyyzyyzyzzzyzyzyzzyyyyyyzxyyzzzyyzyyyxxyyyyzyyyzzzzxyyyxxzyyzzzzz{yyxyyzyzy{zzzzyzxyyxz{yzzz{zz{zyy{zzzyzyzzzzzz{{zyzyyyzyzy{{z{zyzyzzzzzy{zyyzz{zzzyyzyzyzyzzyz{z|z{zzzyyy{z{zz{z{yyzzyyyzzzz{{{z{zzyzyzyz{zzzzzz{zyyzzyy{zy{zzzzyzxyyyzzzzzzz{z{zzzyyyyyy{zyyzyzzyzzyzyxyzzzzyyxwxxyzxxxyzzyyxxzyxyzyxzxyzzyzz{zyyyyyyyyyyxyzyzzyxyxxxxzzyzyyyz{zzxyxzzxzyyzyyzyyyzxyyyyyzzyyyzxyyzxxxyyzyyxyyyyyyyxxxyyxyyyyyzyyyyzyxxyyyyzyzyxyyyyxxyyyyyyyzzyyyyyyyyyyzyzyzyzxyxxxwyzyzyyyyyyyyxxyyxyyzzyyzyzxxyxxyyxyyyzzz{zxzyyyyyxzzy{yyzzyxzyyyyyzzzzxzyzzyxyxyxxzyzzyzzzyyyyyxyxyzzzzyyyyxyyyyxyzz{xzz{zzyyyyzzzyzzzyzzyzzzzyzyyzzzz{{yzyzzyyyzzzzzyyz{{yyyyyyyyzy{y{zz{yyyyzzyyzzzy{z{zzzzzzzzyzyzzz{zzzzzyyzzyzz{|{zz{yzzzzyzx{z{zzzzyzyyzzzyzzxzzzz{{zyyzzyzyzyzz{{zzzzyzyyyzyzzyz{zz{yzyyyzxyyyzzzzzxzyyyyyxyzyzzzxzyyzyyyxxxyyyyyyyyxxyyxxxyzyyyzyyxxyxxyyxzyzyzzzzzxzyyyxxyyyzyyyzzyyxxyywyyyyyyzzyyzyyyxwzzyyxzzzyxzyxxxyyxzyyyyyxxyyyyyxzxyyxzyzyxxxxxxxyyzxyyyyyxxywywxyyyyyzzyyxxxxzxxyyyzyxyyyyzyyxwxxyyyyyzyyyxyxyxyyyyyzyzzyyyzyyxyyyzzyzzzzyyyyyxzyzyyzzyzyyyxyxzyzzzyyyyzxyyzyyyyzzyyzzzyzyyyyyzyxyxyzzzyzxxxyywyzzyyyyzyyyxyyyyyzzyzzzzyyyzzxzyzyzzzzzz{zyyxyzzxyz{{yz{zzyzzyyxy{z{zzzzzzxzyzyxzy{zyyy{zyzzzzzzyxz{yzz{{zxzzyyyzzzz{zzzzzzyyzzyxzzzzzzzyzzyyzyyzzzzyzyzz{zyzyyyzzzz{zzzzyyyyyyyzzzyzyzzzzzyzxyyyyzyyzy{zxyyyyyyyyyzzyyyyzxxywyyxxyzyzyyxyxyyyyyyzxyyxxyzyyywyyywzyxyyzzyxyyzxyxxyyyyxy{zzyyxxxywzyzzyyzyyxyxyzxyyzyyyyzyyyxyxxwyzxyyxxzyyyzyxyxxzyzyyzzyyyyyxxyxyxzyyyyyyyxywyywyyyyzyyyyxyxxyxxyzzyyxzzyyyyxxyzzxzyyyxzyxxyxxyxyyyyzzzzzxyyyxxyyzyyyzzzyxyyyyxyzyzxyz{zyxxyyxyyyzyyyyz{yyyyyyzxyzzyzzzzyxyzyyyxzzyyzzzyxxzyzxxyyyzzzz{zyxyzyzyyyz{yy{{yzzxyyyzyzzz{zyzzyyyzyyzxzzyz{zzzzyzyyzyyy{zzzzzzzxyxzzzy{zzzzzz{zyyyyyzzz{y{zzz{zzyyyzyyz{yyzzyyzyyzyzzyzzzzz|zzzyzyzyyzzyz{zzzzyzyxzyzyzz{zzz{{yyyxyyyzyzzz{zzz{yyyyzyyyyyzyzzyyyyxyyyyyzyzyxyyyyyyywyyxyyzyzzyyyyyyyxyyyzzyy{yzxxxyyyxyyyyyzzyzwyxxxywyyzyyxyyyyyxxxxxyyzyyzy{yyzxyxzxyzxzyzzyyyyxyyxxyyyyyzyyyyyyxyxyyxzyyyyyyyxyywyxxyzzyzyyyxxxyyxyyyzzzyyyyyyxyxyxzyyzyzzzywxyyxyxyyyxyzyzzyxxyxxyxyyyzzyyxyzyyyzyyyyyyzzzyyxxyxyyzzy{zyzzxyyxxyyyyzyzyyyzyyyyxyyxyzzzzzzzyyzyyxyyy{yyyyyyyyyyyyxxyzzzyzzzzyyyyyyxzyzzyyzyyyyyyyyzzxzyz{yzzyzyzyyyzyzzzzzzyzyzzyyzzzzzzzzzzxzxzyzx{zzz{{{|zyzzyz{yyzzzzzzzzzyyyyzzzz{zzy{{zyzyyyyy{zzyzz{{zyyzzyyxzzy{zy{zyzyx{zzz{{yz{zzzyyyxyyzyy{{zyzzzzyyxyyyxyzyzyzzzxyyyyxyxyyzyzxyyxxyyxxxwyyzyzyyyyxyyxxyxyyxyyxz{yxzxyxzxyzzyyyyyzyyxwyxyzzyyyzzyxzxxyzxxyzzzzzyzyxyxyyzyxzxyyz{zyxxxxxxyyyyxyyzyxxyyxyxxyyyzyyyywxxyxxxxyyyyyyyyxxxyyxxyyzyzyyzyyxyzxzyxzzzzyxzyzxxxyxyyyzyx{xyzyyxxxyyyzzxyzzzyzyyxyyxxzyyyzyzzxyxyxyyyyyzzzyzzyyyyxxzyyyzyyy{zyxyxyxxxzzyyzyzzzxyyzyyxyyzyyzy{ywyyzyxxz{zzzyzyzyyyyyzyx{zyzyyzzyyyzyyzzzzzz{zzzyyyxzzyzzyzz{{{y{yzzyyxzyz{{z{zzzzyyyzzzzyzzz{zyz{zyzzyz{zzz{zzzzyzyzzyx{z{zz{{zyyyyzzy{zzzzzzz{yzzyxyzzyz{zzzzy{yyyzzzzyzzzzzzzyyyyyzzyzzz{z{zzzzxyyyyzzzzzyzzzyxxxyxxyyzzyzzzyyxyzyyyzyyyyyyyyxzyxyyyxzzxyyzzyyyyyyzyzyzzyzzyzyyyyxxyzzzzyzzzyzyzxyyxzzzyzzzzzyzyyyyyyzyyyzzyyxyyxxxyzzyyyyyyyyxzxwxyzxyzyzzzyyyxxyxyzxzzyyzyyxxyxyyxyzyyzxyyxxxyxywzyzyxyyzyxyxyzxyxyyzxzzyyxxzxyyyyxyzyzzzyyyyyyyyxyyzzzyzzywxyyyyyzzyzyzz{yyyzxyyzzyzyyy{zyyzyyyyxyyzyzzzzzzzxyyyyzzzzzzzzzyyyyyyxzzzyyzzyzzxyyyyyyzzzyzyzyzzyyyyyyzzzzzz{yzzyzyzyzzzz{{zzyyzyzyxxzzzz{zzzzzyyyy{yzzyz{z{zzzzy{zzyz{zyz{{zzzyyyzyz{zzy{{{zzyzzyzyyzzz{{{{{zyyyzzxyzzz{zzyz{zzyzyzz{z{{zzz{zzzxyzxzz{zz{z{zzzyyyzzyz{zzzzzyzyzyzxyyyzzyzzxzyyxyxyxxyzyyyzy{yyyyyyyyyzzyyzyzyxxyyxxyzzzzzzzyyyyyyywzyyyzxyzzzxyyyyyx{zzyyyyzyxyyyyyyzyxxyzzyzyyxyxwyzyyxyzyzyyyyyyxxyyzyyyyyxxyyxyyyyxyzyzyyyyyyyxyxyyyx{yyyyxyyxyxxzyyyzzzzyyyyyxyyyyyzzyzyyyxyxyxyyzyzxyyzyxyxxyxxyzz{zzzzyyyxyxxyzzyyzzzzyxyyyyyyzyyyyyyyyyyyyzyzyzzzyzzzyxyyyxyyzzzzyzzzzxzyyyyyyyyyyyzzyzyzxyyyy{zyyzz{yzyxzzzzzyzzz{zyz{yzzyyyzyyz{{{yzyyyyxyyz{yzzzzz{yyyyzyz{zzzzyzzzzzxyzyzzzzzzzz{{{yyzyzy{{{z{z{z{yyyyyyz{{{y{z{z{zyyzzyz{y{zy{z|zzyzzzzzzzzzz{zzzyxzzzyyzzzzzzzzzyzyyyyyyzzzxzzyyxzyyyzyyyzzyzyyyyxxyyxxyzyyzzyzyyxyyxyyzyyzzzyzzzyxyyxx{yyxyzzzyxyyxxxx{zzyyz{zzyzyyzxxyyyzyzyzyyyyxyyyyyyyyyzyyzyyyyyxyzyyyyzzyyzyxyxyzyyyzzzyxyyyxxyyyyzyzyzzyyxxyzwyyxyzyyyyxyyxxyxxyzzzzz{zzxxzyxyxyyzyzyz{yzyyyyyyyyyzyyyzyxyyyyyxyzzyy{{zzzzyyyxyzzzyzzz{zyyyyyyyzyzzzyyzyzzzxwyyyzzzzzzzzyyzyyzyzzzz{zzzzzzyyyyyyzzzyzzzzzyyzzyyyzzzz{{zzzyyyzxxyzzzzzzzyzzzzyyyzzyzyzz{zzzzyzyyyzz{{z{zzzzyzyzyzzyz{y|zzx{zzyyzz{zzz{{zzyxzzzzzy{{z{z{{zzzzzyz{zzz{z{z{{yyyzyyzz{zyzzz{yyzyzyyzzy{{zz{{zzzzyxyyzzz{{y|{zyzzyyyyz{zzzzzzyyyyxxxyyzzzyyyyyywxwxyyyyzyyyzyyzxxxyxxzyyzyyyyyxxxyyxyyyyyyxyyyxyxyyyxyzyzyyzzyyxxyyyxyxyyyzxzzyyxzxxwyyyyyzyyyyxxxxxxyyyyxzyyxxyxyzxyyyyzyzyyxxyxxxxyxyyyyyzyxxxyyyxyxzzyyyzyyyxzxxyyyyzxyyzyyxxzywyxyyyyyzyxyxywyyxyyzyyyzzyyyyyyzyxzyyyyyyzyyxyxzyxyyyzzzyzzyzzyyzzzzyzyyyzyyyyyyzxyzzyyyy{xyzyzyyyyzzyyzyzzxyyyyzyyzyyyyyzyyyzyyyyzzzzzzzzzzyyyyyzxzzzz{y{zyyyzyyxzzz{zzz{yzyyyyyyzyzzz{zy{yyyyzyz{zzy{{{zzyyzzy{yzzzzzzzzzzyy{{zyzyz{zzz{yyzzzzzzzzzz{zz{zzyyzyzzy{{yzz{zyzyyyzxyzyzzz{z{zzzyyyyxzzzzzyzzyzxyxzyxyzyzyz{zyyyyxxyyzzyxzyzxxyxyxyxxyyz{yyz{yyyyyyxxxzxyyy{zxyyyxyyxyyzyy{yyzzyyyyxxyzzzxyzy{yzwxxzyzyzyyzyzyxyxxxxyyyyzyzyyyxyyyzyxyyzxwzzyyyzxyxyyyyzyyzxzyyyyyxxyzyzzyyzzyyxyyywyzzzyzyzyzyyyyyyyyzzzyzzzzxxxzxyyyyzyyzyzyyxxyxyyyzyyzzyzyxyxyyyzyyyyzy{z{yzzyyyyzzzyyzyzzyzxyxyyyxyzyyzyxyyyyxyxyzzzyzzzyyzxyyzzyzyzzzzzxyyzxyzyzzzzzzzyyxyyyzyyzzzzyzzzzzxyxyzzxzyzyzz{yyzyyzzzzyyzyzz{zyyzzzyyyzzzzz{zzzzyyzyz{{z{z{zz{zyzzzyzzzz{{{z{zyzyzyyzyzzzz{zzzyyzyyyzyzzy{zzzyzyyyyzyzzxz|z{{zyyyzzyzzz{zzz{{zyyxzyyyz{zzzzz{z{xyyyzyxzyzyzzzzyyyzyyyzyzyzyzxxxzyyyxyyzyyyyyyxyxyxzwyzyzxyyyzxyywxyyyyyyyzyzyxwyxzyxxzzyzxyzyyyxxxxyyyyzyyyy{yxzwxyyyyyyyyzyyzyyyxxyyyyyxxyzyyxzxxxxyyyyyyzyyxxyxxyyyyyzyyyzyyxxxyyxyzyyyzzzxyzyxxwyxyzzzyzyzyyxwyxyyyyyyyzyyyyyxxyxxxzyyzzzzzyyxyyyyyyzyzyzzzyyyyyyyyzzyyzy{yyxxyxzyyyzyyzzzyyxyxyyxy{zzyzzzzyzzyxxzy{xzyzzyzxyxyyyyyzzyzzzyyyxyzyxyzzyzz{yyyyyyzyzyxzzzzzzzyyyzzzyxzzyyzz{zzyyzyyxzyzzzyyz{{yyzyyzyz{zzz{zzyz{zyzyyyyzz{zzzzzyyyzzyyzyzy{{zyyzyyyyzzzzzz{zzzyyyzzyzzzzz{zzzzzyyzyzyzyz{{zzzzyyyyyyyyzzyy{{{zyxyzyzyz{yzyzyyxyuzyyyyzyzyzzzyyxyxyxxxyyyyzy{yyxyyxyxyyyzyyyyzyxxxyyxxzyzxyyyzzxyxxxyyyyzzyz{zyyyxyxyyyxzyyyzzxxyyxyxxyyyxzzyyyyyyxyyxyyyyyzxyyyzxxyxyxyyzyyy{xxyxxxyyyyzyyyyyyxyxxxxyyyzyzyyyzyyxyxxxxxxyyzzyzyzxyyxxyxyxyzyyxyyyzyxyyzzzzzzzxyyxyxxyyxyyzyyzyyyxyyxyyzzzxyzyyxyyyxyyzzzzyzzzyzyyyxzyyyyyzzzyyyyyyyyyyzyzyz{zzxyyyxxxzzzyyyzzyyyzyzyxzyzyyzzyzyzyzxzxyzyzzzyzyzyyyyyyzyz{yzzzzzyzyxyyzzz{zz{yzyzyzzzzzzzzyzzzyzyzzzzzzyzzy{yz{yzyyyyzyzzyyz{{zzy{zyyyzzzzz{{yzzyxzyyzzzyz{z{zyyyzzxyyzyy{yzzzzyyzyzyzyy{yzzzz{zyzzyyyyzzzzy{zxyxxxxyxyyzzzyxyywyyyxxyyzzyyzyzyxyxyxxxyxzyzyyzyzyxwyxxzyzyyzzzzzyxyxyyxyyyxyzzzyxxyxyxyyzzyyzyxyzxyxyyzyyzyzzyyyyxyyyyyyzxyzyxxyyxxyyxyxyyzzzyxxxyyyyxyyyyyyzyxyyyyxxyyzzzyyyzyyyyxzxxzzyyzyyyyxyyyyyxyyyyzxyyyxyyyxxyyzyyzz{yyxxyyyzyyzyyyyzyyyxyxxxyyzyzzyyzyxyyxxyyzzyzyyzzyyyyyxyyyyyyyzzyyzzyyyzyyzyyy{zzyyyzyxxyzyzyzz{zzyyyyyyxyzzzyzzyyzyzyyxyzyyzyzzzyzyyzxzy{zyzzz{{yyyzyyyyz{{z{zzzzyxyzzyz{{{{zz{{zzxyxyzyzzzzzzzzzyzzzyzzzzzzzzz{yy{zyyyz{{zzzz{zzyyyzzzzyzzz{{yzzzyyzzzy{zzzzz{zzzzyzyyyyzyy{{yzzyzxyyyxy{{yzzzzyyzyyxyxy{zyyyyyxxyxxxxyyyzyyzyzxyxxyxxxxyyyzzzyyxyxxxxyzyyxyyzzzyzyyywyyzyyzxyzyxyxyyyxyyyyxyyzyyxyxxyxyyyyzyyxyxyxyxxwyyzyyzzyyxxywyyxyyyyyzzzxyxyyxxxxyyxyyyyxxyyxyxzyxyxyyzyyyzyyyxxyyyzzyyzxxxyyxxxyyxxyzxxyyxxyyxyyzyyzzyyxxxxyyxxyyyzyzyyzxxyzyyyxzzyxyyzzyyxyxyzzyyyxzzyyxyyxxxyzyyyyzzzyyzzyyyyzzyzy{zzyxyyxyyyx{yyyzzyyyyyyyxyzyzyzzzyyyxxy{xyyy{zyzzzyyzyyyyzyzyzz{z{yyyxxyxyzzyzyyzzzyyyyyyxyzy{z{zzyyyzyzyyyyyy{zzyzxyyyzyyyz{z{z{zyzzyzyyzy{zzzzyzzyyyyzyzzzzzzy{yyyzzzzyzyzyzzyz{yyyxyyxyyzzz{{zyzyzyyxyxyzzyyzzzyyyyyyxzzzyxyzyyxxxxyxzxyy{zzyyyyyzxyzxyyyzyzyzyyyyyyzyyzyyyyyzzzxyxyyyxyzyz{yzzzyxyyxyxyyxzyzyyyyxyxyxxyyxyyzzyyyyyyzxwyzyyyyyyyyxyxyyyyyyyyyzzxyyyxxxyyyyzyyzyyyxyxywyzyzzzzzyyyyyxxxxyyyyyzzyyxyyxxywzzyyzyzzyzxxyxxyzzzyzzyzxxzyyyxyyyxyzyzzxyxyyxyyyyyzyzzzyxyyyyyzyzyzyyyzyzyyyyxzyz{zyzzyyyyyyyzxyyzzzzyzzyyyyyyxyyzyzy{yzyyyyyzyzyzyzzzzyzzyyyzyzzy{zzzzzzyzzxzy{yyzyzzyyyyzyyyxzzyz{z{y{y{{yzzzzzzzz{zzyyzzyzzzzzzzzz{z{yyyzzzzz{zzzzzz{y{yzzyy{zz{z{zz{zyyzzyzzyzzzzz{{zzyyyyyyzz{{yzzzyyzzzyzyzzzzzzzzzxzxyzyzyzzzzyzzzyzyzyxyyyyyzyyyyyyyyyxyyyyzyyzyzyyyxyyzyzzyzzzyyzyxyxyyzyyyyzzyyyyyyyxzzyyyyzyzyyxxyxyxyzy{yz{yyxyyyxxyzzyyzzxzyzyxyxxyyyxyyyzyyxyxyxxzyyyyzy{xyxxxzyyyyyxyyyyyxyxwyxzyyzyzyzyxyxzxwyyyyyxzyzyxyxxzyyxyxzyyzyyxxxyyyyxyyyyzzyzyyzyxyxyx{yyyyy{yxyyyyyxzzzyzyz{yxyyyxyyyyyzyzzzzzyyyyzyzzzyzzzzzyzxyyyyyzyyyzzyzyzyyyyyyzyyyy{zyzyyyzyxyyzzzzzzyyzxyzyxzyy{zzzzzz{yyxyyzzyyzzzzyyyzyyxyz{zz{{{{{yzzzyzyz{zz{y{{{xyyyyzzzzzzzz{{zxyzyzzzz{z{z{{zyzyyz{yz{{{zzzzzzyy{zyxyyzzzzz{zzyyzyzxyzzzz{z{{yxyzzyyyyzyzzz{zyzy{yzzyyzzzyzzz{yzyyzyyz{zzzzyxyyxxxyzxyyzyyzz{yyzyyyyyyyyyyzzzywyyyyyyzyyzyz{zxxyzyxyy{yyzyyzzzyxxxyyxyzyzyzyyyxxxzyyyy{xyzyzzzxzyxyxyyyzzzxzyyyyxxxyyzyzyyyyzyyyxyxyyyyzyzzzyyyxyyyyzyyzyzyyxyyyxyxyyyyyzyzzyyyyyzyxxxyyyxyzzzyyyyyyyyzzyzzxzyxzyyzzxzyzzzzzzyxxyzxyyyy{zzzyzyzyyyyyyy{zzzzzzyyyyyyxzyzzzz{{zyyzxzyyyxzzy{{{zyyzyzyyyyyzzyy{zzyzzyyyzz{y{zzzyyxyzzyzzyzzzzzzzyzyyyyzxzzyzyyz{zzyzyyyzzz{z{{zzzzzzzzyy{zyz{zzzzz{yz{zyz{{z{{zz{zyyzyyyz{zzz{z{zyz{zyzzz{zz{z{yzyyyyzyzyzzz{z{{zzyy{yyyzzzzzz{{zzyyyxzyyz{zzzzzyyyzyzyxzzyy{zzzyyyzzyyzzyzzyyyyyxyyyxyxyyzyxy{yxxxyxwxyyyzyzzz{yyzzxyxzyyxyyyzyyxzyxwxxzzzzyyyyzxzyxxyxyyyyyzyzxxyyzyxyyz{yyyzyyxxxyxyyzyzxyzyyyyyyyxyyzyyzyz{zyzyyyxyyyyyyyyyxyyyxxyxyyyzzyzxyyyyxxyxxyzyyyyzzzzxxxxyyxyyyyyyzyyyxxxyxy{zyxzyzxyyyyyyyyzyyyyzzzzyyxyyxzz{yyzzyzyzyzyyyyyzzzzzyyyyzxyyyxzyzyzzzyxzyzxyyyzzzzzzyzyyyyyxzyzyzyz{yyyyyzyzzyzzzyzyzyyxyzyzyy{{zz{yzyyzyzzzzy{y{zz{zyyxyyzyyzzzzzzzy{zxxzyzz{zzzzzzzxzzxyzzyyzzz{{zz{zyyxyxzy{{zzzzz{yzxyyzzz{{{zzzzyyzx{yzyyyzyy{zz{zyzzyzyyzz{zz{zyyyyyzzxyyz{zz{{yyxyyyzxzyyzzz{yyyzzyyzx{zzyyyyyxyyyyyywyzzyyyzyyzyxyxxyzzyzyzzzyyyyyxyxzyyyzz{zyy{xyxyyyyyzyzyzzxyzyyyxzzyyyzyzyzyxxxyxxzyyyyzyzyyxxyxyzyzyyyyyyyyxyyxyyyyzyyyzyxyyyyxyzyzzyyzxyxyyyyyxyyyzzyyzzxxyxyyxyzzyzzzyyyxxyyxyyyyyyzzzyyxyxwxyyzyyyy{yyyxxxyxxzyyyzz{zzyyyyxzyyzyyzzzyyyyyyyxy{yzzy{{zyyyzyxyzzzyzzy{zxyxyzyyyxzyzzzyy{yyy{yyyyzzzzyz{yzyzyxxyyyzzyzzzzyyzzzyzyyz{{zzz{yyyzyzxzzyzz{z{yyzyyyyy{zzz{zyz{xzyzzzyzzyzzy{zyyyyyzy{z{zz{{{{{zyzxyzyz{{zz{{{zzz{zyzzzzy{{zzzzxyyyzzz{zyzzz{{zzzzzyzyz{yz{z{zyzxxyzyyzzyyzz{z{zyyyyyyzzyzzzzzyyyxzxyxzzzyyyyyxyyxxxzyxyzxzzyzyyxxyxxxyyzxyzzzzzyxyyxxyyzzzyzzyxyyxyyxzyyyzyzyyyyyxxyxyzyyyzzyxxyyyxxxxyyxyzzyzyzyyxxxxyzyxxzzxxyyxxxxyyxyzxyyyxyxyxyxzyyyyzxyxxzyxxxyy{yxzyyzyyzyyxxxyzyzzy{yyyyxyxwxyxyyyyyyzyyyxxyxxyyyy{yzywyyyyyxyxzyzxyzyyyxyxzyyzyyyyzzxxyxxyyxyyzzyyyyyzyzxzwyxyzzyzzyyyyyxyyyxyyyyzzzxyxxyxyyzyzzz{zzzyyyzyxyyzzyyzzyyxyyyyyyzy{z{zzzyzyxzzzyyzy{zzz{zzyyyyyyzzyzz{zzzzyzzyyyyyyzz{z{zyyyyyzzzzzzzzzzzzzyyzzxyzzzzzzz{yyyxxyy{yzzyzzz{zzzyzyyyzyz{zz{zyyzyyzy{yyzzzz{yzyxzzzzyz{zyz{zyyzzyzyzzzyzyy{zyyxyzyyxyyzyyxxxxyyyyyxyyyzyzzyyyyyyxyxyyzzzyyzyyzxxyyyxyzzzxyzzyyyyxyxyxyyyyyzzyzyxxxxxyyzyyzyzxxxyyyywyyyyxzyzxzxyxyyyzyyyzzzxyxyyyyyxyyyyxyyyxyyyyxyxyyyyyyzyyxxyxxyxxyyyzxyyyyyxxyzxyzzyzxyyyyxyxxyxxyxyzyyyzxxyyxxyxyzyyzzyyxyyyyzxzxyyy{zyyyyyyyyxyyyzyyzzzyyyxyyxyzyzzyzzyyzyxxxxyyyyzyyyyyyxyyyyxyyzyyyyyxyyyxxyyzzxyyzyzyyyxxxxzyzzyzzyzzyzyzyzyyyyzzzyyzzyyzyyzzzzzzzzyzzzyxyyyzzzzz{yzxzzyyzxzzzzzz{{zyzyyyzzz|z{{yzz{zzzyyzzz{zzzzzzzyyzxyyyy{zzyy{zyyzyyzyyyzyyzzzz{yzyyyyzyz{z{zzzzzzyyyyxyzz{zz{zyyzyyzyxyyyzxzzyzyyyyxxyzyzyyyzyyyyyyxxwyzzyxyyzxyxyywyyxzyyyzyyyyxyxyzxyyyyyyyxyyxyxyyyxzyyxyyzzyxyyxyxxxyyzzzzyxyyxyyxyzyyxyyzyyyxyxxxyyzyyyzyzyyxyyxyyyyzyyyyyyxyyyyyyyzyyzzyyyyxxzxxxyyxzzzzzyyxxwxxyxyyyyyzxyyyyyxxyzyyyyyyyyyxyxxxxyyxzzz{xxxyyyxyzyyzyzzzyyyxyyxyyxyyzz{zxyyyxyxzyxzyyzyzxxyyxxyyzzzyzzyzyyzyyxyxyzyzyzzzzxzxyzxyzzzzzz{zzxyzyzxzyzyzyzzzyyzzyxyyzzyzyzzzyyzzzyxyzzzzyzz{zzzzyyzyyzzz{zzzzxyyyxzy{zzzzz{zzyzyyyzzzy{zzzzz{zzyyzyyy{{z{y{{{zyyzyzz{y{zzyzyzzzyzyxzyzzzz{{yzyyzyyxzzzyyzz{{zyyyyzzxyzzyzz{{zzyxzzyyyzzzzzz{yyyxxzyyzyzyzyyyyyxyyyxyyyyzyyzzyxyxyxyzyzzzyzzyyyyxyyyyzzyzzyzzxyzyyyyyyyyzyyyyyyywyyxxyyyyyzzzxxyyyyyxxzyzyzzzyzxxwxyxyyyyxzyyyyxyyxxxzzxyyzyyyxxzyyxxyyzyyzyzyxyxyyxwyzzyyyzyyzzxyyyxxyyzzzzzyxyyyxyxzyyzyzzyyzyxyyyyyyyyyzzzyxyyyyyyyzz{zyzzyyyyzyyzzzzzxzyzyxyzyxyzyzzyz{yyyzzyyyyxyzzy{zzzyyyyyxzyyyzzzzyzzyzx{yxyy{zyyyzzzyyyxyyzzzzyyyzzyyyyzyzyzzz{zzz{zzyyyzzyyzzzzzzzyyzyzyzyyzzzzzzzzyzyzyyyzyzz{zzzyzzzyzzzyzz{z{{{zzyyyzzzy{{z{zy{zyzyzzzz{zzzz{zzzyyyyzzyzzzy{yzz{zzzyyzzyzzzz|zyyzzyyyzyyzzzz{zzzzxxzyxxzyyz{zzzzyzyxyxyyyyyyyyywxyyxyyyyyzzxzyyyyxxyxyxyzzyzzy{zyyxyyyxzxzxyyzyyyxyxxyyxyyyyzzzyxyxxxyxyxyyyyyzyyyxxyxxyyxxyxy{zxxyxyyxzyyyyzyyzyyyxxxxyyxyyyyyxyyxxzxxxyyzyyzxyyyyxyxyxyyy{yyyxzyyxxxxyyxzzzyzyyxxyxwxyyzyyyyyyxxyyxyxyyyzyzxyyyxxzywyyyyyyyzyzxxyzxyyyzzyzzzyxyyxxxyyyyzzzyyzyyyyxyyyxyzyyz{yyzxyyxzxzzxzyzyyyxxxxyyyyyzyzyzyzyyyxyxyzyzzzy{zyyzyxyyxyzzyyzzzzyyyyyyyyzyyyyzzzyyyzyyzzzzzzzzzzyyyzyyyzzzzzyzzzyyzzzyzyyzyzz{zzyyzyzzyy{zzzz{zzzzzyyyyzyzzzzyzzyzyyyyzyzyzyyyzzzzyzyyzyzzyzzzzzyzxxxyzzyyzyzzyyyzzyxyyzyyyy{yzyxzxxzxyyzyzyyyyxxwyxxyyxyzyyyxyyyxxyxyxzyyzzzyzyxyxxxyxxzyyzzyzyxyyyyxxyyzyyxyzyyyyxwxxxyyxzyzzxyyyyxyxyyzxzyyyxyxyxyyxzxyxxyyxyxxyyyxxzyzyyyyzxxxyyyxxyzyyyyzyyyxxxxyyxyzyyyyyyyyywxxxyyzyzyzzyyyyxxxxyzyyyzyxyxxxyxyzyyxxxzyzzxxzyyyyyzyyyzzzzxyxzyyyyyzyyyyzxxyyxyyyzzxzzyzyxyyyyxyyyzyzyzzzyxyyyxxyzzyyyyyyyxyyxyyyzzzyyyzyyyzzxyxyzzzyzyzyyxxyyyyyzyyzzz{zxyyxyyzy{zxzzzzzzyxyzyyzy{{yzz{zyxzzyzyz{zzyy{z{zyzyyzzyyzy{z{z{zzzzzzzz{zzzy{yz{yzyyyzzzzz{{{zzzxxyyyyyyzyzzzz|zyyyyzyy{zzzzy{zyzzxyyzyzzzyz{zzyzzyyyyxxzyz{zzzyyzyyyyxz{zzz{zyyyxxyywyyzyyyzyzyyyyyyxxzxyzzzzyxxxxyyxxyyyyz{yyyxxyxxxxyyyyyyyzzyyxxxyyzyyzzzzyyzxyyyyyyyyyzyyyyxyxyyxyzyzzz{yyyyyxyyxyyyzzzyzzxyyzyxxyyyyyyzzzzxxyyxyzyzzyxzyzzyzxxyxyzyyyyzzzyxyyyxzxxyyyxyzzyxyxxyyyxyyyxzyyxyyyxzyyxyyyyyyzyyxyyxzyzzzyzyzyyxzyywyyyyxzzzzzzyzyxyyyyxyyyzyzyyyyzxyxyzzzzzyyyxzyyyyyzzzyyzzzyyyyxyzyzzzy|zyyzyyzyyxzyzz{{zzzyyyxz{zxzzyzyzzzzzzzyzyyzzzz{z{zzyyxzzxz{{{{z{|zzzyzzyzyzyzzz|zzyyzyyzyy{zzzyzz{yzzzyyzzzzzzz|z{zyzyzxyzzyzz{yz{{yyz{yyz{z{{{zz{yyyyyyyy{zzzz{{zzzyyyzyyz{zzzyzxyzzxyxyyyzzzzzyyyyyyxyxyyyyyyyzyyyxxxyyzzzyzzzzyzyyxyzywzzxyyzyzzyxyyyxwyzyyyy{zyyyyyyyy{yyzzyzzyxxyyyxzyzxyyy{zzyyxyyxxyyyyxyz{yyyxxzyyyyyyyy{yxxyzxyyyyyyyyyzzxyxxxxxxxxyyyzyzyyyxxxyyyyyyyyzzyyxxxyyyyyyyyzyyxyyxxxyyzzyyzyzyzxzyyyxyzzzzyyzyyyyyyxyzzyzzzzzzyyyyyyyyzzzyyzyzyyyyzyyxyzz{yyzyyzzyyyyyzzz{yzzzzxzyyxzyzzzzzz{zyxyzyxyyzzzzz{yzzyyyzyyyy{zzz{{|zyzyzyzzyzz{zzzzzzyzyzzxzyz{{y{yzyyyyzzyzz{z{|z{yxyyxzzz{zz{zz{{{z{yyyzyz{{{z{{z{yzzzzzzzyzzz{{z{zzz{zyz{zy{zzyzzzzzzyzz{zy{z{{{yzyyyyzyyzzyyz{zzyz{zzzyzzzzzy{{yyyyzyxxzzzzzxyyxyxyxxzyyyxyyyxyyyxyxxxyyzzyyxzyyzyxxyyyyxyyx{zzxxyyyyxxyzyzxyxzxyyxxyxxyzzyyyzyzyxyxxyxyyyyyyyzyyyyyyxyzzyyyzzyxzyyxzxyyyyyyyyzxxxyyyxyxyzyxyyyyxxyyxxxyxyyxyzyxyywyzxyyyyyyzyyyyxxxyyxxyyyyyyyyxxxyxxyxyyyzzyzyxyxxyyyyxyyyzyzzyyyyxxxxzzzzyyyyxzyxxzxzzyyxz{zyyxxxyyyzyxyyyzzyyxyzyyyzyzzyyyyzxyzyyyyyzzyyyzzyxxyyzxxyyzyyzyyzzxyyyzyxzzzyyz{xyyyyyzyyyzzzzzzzyyzyxyzzzzy{zzyzxzyyxxyzyzz{z{zyyyxyzyyyzz{z{z{{yzzyzy{zzz{zy{zzxyzyyyyzzzzz{zzzyzyyyzzzzzzzzz{zyyyzzyyy{zzz{zzzzyyyyyzyyyzz{{zzyyyzxyyy{zzzzzyzyyyzxyyzzzzyyzyxyxyxyyxyyyyyxzzyxxyxxyyxzyyyzzzzyxxyyxxyyyzyyzzxyxyyxxyzyzyyzzyyxzxxxyxyzyyxyxzyyyyyxyxyzyxxyxyyxzyxyxxyy{yyyzyyxywwywyyyxzyxyyxyyyxxxyyxxzyyyyyyyxxyxyyyzxyxxyyyyyxxxxyxyzzzzyzxyxyyxxyyzyxyyzyyxxxxxxxzxyyzyyxyyyyyyyxyzzxzyyyyyxxyyxxzyyyzyyyyyxxxyxyyyzyzzzxzyyxyyyzzyyzyzzyyyyyxyxyyyyzzzyyxzxyyxxzyyzyyzyzxzzxyxxzy{yyzzzyzyyzyyyzzzzz{zzzzyyxzyzyz{zyyzzzyyzyzyyz{zzyzzyzxyyyzzxzzzz{z{zyyyxyyyyyzzzyzzzzyyzyyyzy{z{zyz|zyyzyyzxy{zzzzzzzzyyyyyyy{zzzzyzzyyzzyyzyzyzzzzzyyyyyyzxyyzzy{zzyzyzyy{yzyzzyzyzyyzxyxyyzzzyzyyyxxyxxyyxy{yyzzxzywyyyyyzzzzxzyzzyxxyxxzxyzyzyzyyzxyxxyxxyyzzyyzzxxxxwxxxyyyyzzxyyyyyyxxxyyyzyzyyyxyyyyxxyyxyxzyyyzyxyzxzzyyyzyzzxxyyyyxxyxzyyzxyyyyzyyxxyxzyyyzzxyyyxyxxyyxyyxyyzxyyyyyxyyyyxxyyxxyyyyyxxzyyyyyxxxyyxyyxyy{yyyzyyyyyzxyyyzzyyyzzyyyzxx{yyzy{zyyy{zyyyxyxx{zy{zzzyyyyyyzyyzzz{zzyyyzyyyyyzzzzzyzzyyxzyyyyzyyzzzyyyyyyyyyyzzzzzzy{zzzyxzxyzyzzzzzzzyyxzyyyy{zyz{zzyyyzyy{yzz{z{{{zyzzzzzzzzzzzzzzyzyyzxzyzz{zzzzzxzyzyyyyyzzyzy{z{zyyyyzzzz{zzz{z{zzyxyyyy{zyyzyz{yzyyzzzxyyyyz{zzzyyyyyyyyzzzxyzzzyyxxyyyyzzyxyxyxyyxxxyyyy{yzzxyyxxyyxxyyyzyxyyzyxxwxyxxyyyxzzyyyyzxyxyyxzyyyy{zyxzxyxxxyxzzzzzywxyxyyxxxyyxyyyyyyyyyxyxyyyyyyyyxywyxyxyyzxyyzzzxyxxyyyxyyyzxyyxyyyyyxxxxyyyyyyyyzyxxyyyyzzyyyzzyyxxxyyyyyxxyxzzzxyxyxxyxyyxyzyyxxzyxyyxyyyxyyzyyyyxxyzyxzyyxyyyxyyyyyyzzyyzyzzzzyzyyxyyyzzzyzz{zxzyzxzyzyzzyzzyyyxxxxyyz{zyyzzyyyyyyyzzzyzzyyzzyxxyzyyzzzzzzzz{zzzyyyyyyzyyzz{zyyyyzyyyzyzyyz{yyyyxzzzzyzzyz{{zyyyyyyzyy{yzz{z{zyyzy{yyy{zzzzz{{yzyzyzyzzyyyzy{zxyzyyyzzzzzzzz{zzyx{zzzz{zzzz{zzyzyyzyzzzzz{zzzyyzyyxyyzzzzzyyzzyzyyxzxyyzzzxyyyxxxyxywyyyyxyyyyzxxyyyxxyyyyyyzyxyxyxxxyyyyyzzyyyyxyyyyyyyzyxyyxyyxwxxyxyzzxyyyxxxyxzxxxxyyyzzxxyyzxyxyyyzyzyyyxyyxyyyyxyzyyyzzyxxxxxyxxzyyyzzzxxyywxyyyyxyyzzyxxyxyxyyyxyyyxyyxxxxyxyxxyyyxzyyyxyxzyxxxzyyyzyyxyyxxzyyyy{yzxyzzyxxyyxyyyyzzyzzyyyzxyyyxyyyz{zyyyyyyyxxyzxyyyyyzyyyyxyyyzzzzzzyywyyyyyyzzzzzyzxyxyzzxyxzzyzyzzyyxyyzyxyyzzyzzzzyzzzyyzzzyz{yzzzxxzyyyyzyzzzyz{yzyzxyxyyzzzyzzyzzyzyyyzzzzzz{yzzzyyyyzyxyzz{y{yzzzzyyzzyyzyyz{z{yxzyzyyzxzzyzyz{{zzyyyxyzyzzzzyzzzzyyyyyyzzyzyzzyzxyzyyyzzzzzyzzzxyyyxyyyzxzzzyxxxyxyxwxxzyyyyzyyxxyyxxyxxyxyzzzyzywyxyxzzxyyyzzzxyyyxxyxyyyyyyyxyzxxyxxyyyyyzyzxxyyyyyyyyxyxyzyzxxxxyxyzyzxwzyyxyxyxyxyyyxyyyyzxyyxyyyyxzyyyyyyxyxxyyxzxyxyxzyyyyyyxxxyyyz{xyyzyyyyxxyxxyyyyyyyyxyxywyxyyxyzzzzyyyxyxyxyyyzyxzzyyxyyxxxyzzxyzzzzyyxxwyyzyzzyyyzzyyyxyyyzzzyyz{zyyyyxxyyzzzyzzxyzyxyxxyxyyzyyyyzyyxyxxyxzzzyyzyzzyxyzzyyyzzzyz{zxyxxyxxyyzyyzz{{zyyyyzyyxzzzy{zyyyzyyyzyzzz{zz{yyzyyyzyzzxzzzzzz{yzyyzyzz{yz{zzzzyyyyyzzzzzzy{{zzyyyyyx{zyzzzz{{zxzyyzyyzzyzzzzzzzzyxxyzyyzzyyzyzyxyyzyyyzzzxzzzyyzyyyyxyxyyyzzyyyzwxxxxyzxyzyzzyyxxzwxyyyyyzzyzxyxxxyyxyyyyyy{yxxyyyxyxyxyyxyzzyyxxxxxxyyyzxzzzyyzyyxyxyyyyyyzyyxyyyzwxyyyxxyyzyyywxyxxyyxyyyyzxxxxxxyyyxzyxyyyyxxyyxxyyyzyzyzyyxxxxxxxyxyyzzxzzyyyyxywyxyyyyyyyxyxyyyxxzxxyzzzyxyyzyxxzxyzyzzyyxyyyxyxyzyyzyyyyyyyxyzyyxyyzyyzyyzyxyyyyzyyyzzyzxyzyxyyyyyyyzyzzxyyyyyxyzzyyy{yyyyyyyxyzzzzzzyyxxyxzyyxyzz{y{zyyzzxyyyyzyyzzzzzzyyyyxyyzzxzzz{{zxzy{yyxz{{yy{zzyzyyyyzzzzzzzyzzzz{yyzyxzz{yzy{{zyzyyyyyzzzzzz{yzzyzzyyyzyyz{z{{zyxzyyzzzyzyzz{zyyzzzyyzzyz{z{yzzzzyyyyyyyyzz{zzyyxyyxxxyyzyyzyzyyxyyyyxyzyyyyyyyxyxywwxzyxzyyyzzyxxyxyxyyy{yyzzzyyxxxxzyyyyyyzzyyyyxxyyyz{zyyxyyyyyyxyyxyzxyzzyxxyxywxxyxyyyy{yyyyxyxxyyzzzxyyyyxxyyyyxyyzyyzzxyyyxxyxyyzyyzzyyxxyyxyxyyyyyzz{zzxyyyyyxyyyyxyxxzyxyxyzyzyxyy{zzyywxyyyyzyzyyzzyyxyyyyyxyzzzy{zyyyyyyy{xyzyzzzz{yyyxxyxyyzzzzzzzyyyyzyyxyz{zzzzzyyxzzyyyxz{yzzzzzyyyyyxyzzzyzz{yzyzxyyxz{zzzzzz{yyzyzyyyzzyzz{zzzxxyzxyyxzzz{y{yzyzy{yyz{z{zzzyzyzzxzzyzzzzy{zz{yzzyzyyzz{z{{y{z{yzzyyzyz{zzzyzzzzzyzyyzyz{y{{{zzyyzzyy{{zzzzzzzzzxyyyzzzz{yzzz{{xyyyxyyyzzzzzzzyyyxyyyz{yzyyyxyxxxxwyxxxzxxyyyzyyxyxxxxyxyzyyzzyzyyxyyxyzzyzz{zyyyyzyxxzyyyyyyyyxxxwyxyzxxyyyyzyyyxyxxxzzyyyyzyyyzyxyyyyyzyyzzyyyxxxyxyyyyzzzyyxyxyyxxzyxyyyyzzyyyxxyxxxxzyzzzzyxxyyyyxyyzyyyyyyxxxzyxxxyyyyyyzyzxwyyyxyzyyzzzzxyyxyxxxyzyxyzzyxyyyyyyyzzzyyzzzyyzyyxyzzyyyyz{zyxyyxyyzyzzzzyzzyyyxyxyyyzzzzzyyzyyyyyyyyyzzzzzyyyyyzxyyzzyyzz{yyzyxyyyyzyzzzzzzyyxxyzzzyzzyzz{yyzyyxyxyyzz{zy{zzyzyyyzzz{zzzzz{yyzyxyy{yzyz{{zzzzyzy{zzyzz{yz{zzyzzyyyz{z{zz{{zzyyzzyzyzzzyzzz{zzzzzyyzzzzzz{zzyzyyzzyyzzzyyyz{zzyyzzyzz{zzzyzzzyzyyzyyxzyyyzzxzyxxxxxyzzzyyyyyyyxyxyyxxzyyxyzzyyxxyyxyzyyxxyzzyyxxxxyxxyzyyyyyzyyxxxyxzyyyyyyzyyxxyxyyyzyyyz{yyyzyxxxyyyzyzyyyxxyxyyyyyxyzyzyyyxwxxyxyxyyzxzzyyxxyxyyyxyyyyyyyxxxyxyxyxzyyxyyyyyyyyxywyyyzyyxzyxyxyxyyxyzyyyyyyxzyyyxyzzyyyzzzzyyyyxyzzyyyzyzyyxyxyyxzzzzzyzyyzxyyyyyyyyzyyyz{yyyyyyzxyyyyyzyyyyyyxyxyzyyzzyzzyyzzyyyy{yyyzz{zzyzxyzyzyzz{yzzzyyzyzyzyyzxz{{z{yzyyzzyy{zzyzyzzzyyyzzyzz{yz{zzzzyyyzyyyzzyzz{{z{zyyyyyyyzzzz{z{zxyyzxyzzzzzzzzzyzxyyyzzzyzzz{zzzyyyyyyz{zzzyyyzzxyzyzyyzzy{zzz{yyyyyyyxzyzzz{zyzzyxzzzxzyzzzzyyyzxyxyyyxyzxyzzyzyxyxyyyyzyyyy{yxxxxxxyyyyyyxzzzyxxwyyxyyyzyyzyyyxwxxyywyzyxyzyzyyzxyxxwxyxxyyyyyxyxxyxyyyxyyzyyyyyyyyyxxyyyxyxyyyyzyyxyyyyxxyyyxyxzyxxyzyzyyyyzxyyyyywxxyyyyzzyyyxxzyxxxzyyy{yyyyxyzxxyxyxyyzyzyyyyzxzxzzzyyyyzyyyyywyyyyyyy{zzzyyyyxyyyyyzy{zzxyxxxyxxzyzyyzzyyyyxyyyxxzy{xyy{yyxxzyyyyzzyzz{yzyyyxyxyzyzzyzyyzyxyyyyyzzz{{zzzyyyyyzyzzzzzzzz|zyyzyyyxyzzz{yzyywyzyz{zz{zzzzzyzyzyyzzyzzzyyz{z{yyyxzyzz{zzzzzzzzzzyyzxzzy|y{zzzzyyzyyyzzyzzz{{zzzzyzzyzzyz{z{zzzzyyxxzy{zzyyzzyyxyyyyyyzzzy{{yyyzxyyyyyz{zyzyxxyzyyyxxyyyyxzyzyxyyxxxxyyyyxzyzzxwwwxyyyxzyyyzzxxywxxyyzyyyyyzzyxxxyxywyzxyyyyzzzxyyxzxyzxxyyyxyyyyxxyyyyyxz{yyyyzwxyyxyyyyzyyzyyxyxxyxyyyyyyzyyxwxyyxyyyyyzyzyyxyxywxxxyyzyyzyyxywyxyxyyyzyyxzxyyxxxwxyzyyyzzyxyyyxyxyyzyzyzyyyyyxxxyxzzyyxyzzzzzzyyzyyyyxyzzzzxyxxxzyzzzz{zzzyzyyyxyyyzyyzzyzyxyxyxxyy{yzzyzyyxxxyxyyyyzyzzyzyxzyyyyyzyzzyzzyzzyyzyzyyzzzzzzzzyyyyyxyyyzzzz{yzyyyyxyyy{zzyzzzyzzyzzyzzzzz{zzz{yyzyyxyz{zzzzyzyzyzyyyyyyyz{zzzzzyyyzxyyzzzz{zzyyyzzyxz{yyzzzz{yxyzxxyyyzxzyzzzz{xzyxyxyzxyxzzyyyyyyxyyyyyxzyyyxxxxxwxwyyyxzyzyzxyyyxxyyzxzzzzzyywxyyxxyyyyyyzyzyyyywxxyzzyyxyzyyxxxwxxzyyyyyyyxyxxyxxxxzyyyzyyyxyyxwyxxyyxxyzyywxyxxxyyxyyyyyzyxxxywxxwyyyyyzyzzyxxyxxyxyyzyxyyxyxxxyxxzzyyzzyyzyyyxxxyzyxyyyxyyyyyyxxyzxyzzzzxyyyyyyyyyyyyyzyyxxxyxyxyyxxyyyyyzyyyxyyzyzyxyzyyyyxxyxxyyy{yyzyxyzxzyxxzyzyzzzzyxyyyyyxyyyyzzyzyyyyyyxyzyzyyyzyxzzyyyyyyzzzzzzzyzyxxyyxyyzzz{zyxyyzyyyzz{x{yyyzzyzxzzyyzyyyyzzyzyzyxyzzyzyzyzy{zyzzyzyzy{{yyz{zyzyyzyxzzzz{yz{yzyxyyyxyzzzyzzzzyzxyzyxzyyzzyzzzyzzyzyyyy{yzzzyyyyyxyyxyzzyzzyyyyyyxxyyxxyyyy{yxzzyyxyyxyyyyyyzzxyxxxxxxyyyzzzzzzyyyyyxxyzyyzzzzzxyxyxyxyxyxxzyzyxwyyxxwzyyzyyyzyxxwzxyxyyyyxzzyzxyxyyxyxzyyyzyxyyxyyyxwxyyyyzyyyyyyyxyxyyyyxzzzyxxxxyxxyyzyzzxyxyxwyxwxyywz{zyzxyywyxyvxzzyxyyyzxyxxyxxxyyzzzyyxyyxyzxyyyyzyxzyzxzyyyxyxyyyyyzzzzzyxyyzzyyzyz{zyyyxxxzyyzzzyzzzyyyzyyyyyyyzyyzyyyzxxyyxyz{zyzyyyyyzyyyyyyyxzyzzzywzxyyyzzz{y{yzyzyxyyyxyzyz{{zzzyzyyxxyyyyz{zyzzyyzzzyyz{zzyyz{yyyzxzyz{zzzzzy{zyyyyyyyzzzzzyzyzzyzyxyyzyzzzyzzzyyxyyyyyyyzz{y{yyxyzyyyz{yyz{zzzyzxyyyyyzzyyzzzzyzyyyxxyyzzzzzyyxyyyxxyzzzzyyyzyyxyxyyxyyyyyyzyyyxxxwxyyzyyyzzzxxyyyyxyxzxxyyzzzxxyyyxxxxzyyyyyyyxwxzyxyzzxyzyyyxxxxzxxyyzyyzzyyyxxxxxxyyyyyyyxyyyxyywxyyxyxyzzyyxyxxxxyyyyxyzyyyxxxzyxyzzyxyzyyxywywyzyyxyyyxyxyxywwyxxzyyyzzzyzxyyxyyyyyyxzzzyxyyxxyyyyzyzzzyzzxyyyxzyyzyzyy{zxyxyxyyyyyy{yzyyyyxxxyzyxzyzyzzyyzyyyyxyzzzyzyzzzxyyyyyyzzzzyzyzyyyxyxzzzyyyzzzyyzyzyyyzzz{z{zzyyyxyyyzzzyyz{zzzyzzyyyxyyyzyzzzyyzyzyzzzz{yzyz|yyyxyyzyyz{yzyzzyzxyzzzzzz{yzz{zzzzyzyzzzzzzzzzyyyyxxxzyzyzyzzzzzyyy{yyyzzzzzzz{yyzxyyyyzzy{zz{{yzxzyyxyyz{zzzyyyyzyyyyyzyzyyxxxyxxxyxyxxyzzzzzyxyyxyxxxyzyxzzyyyyyxxyxxzyzyyyyz{yxyywyxyzyyyyyzxyzxxxyxyyzyxyyzxxxwyyyxxyyyxzyzyyyyyxxyzxyxyyyyxyyyyyxxyxyxzzyyxyyyyyyxyyyyzyyyxxyxwxyyyxzyyxyyyxyxxyyxyyyyxyyzyyyyxxyxxyxyxyxyyxxyxyyyxyyyyzyyxyyxyzywyyzzyyzzyyxxyyywyyyzxzyzyxxyyxyxzyyzzzyzyyyyxzxyyyyyzyyzzxzyywyyxyzyyzzyyxzxyxyyyzzxyyzyyxxxyyyyzyzyyyzzyyxyyyyyyzyzzzzyyyxzyzzyyzyzzzzzyyyyyyywzzzzzyyzzyyzyyyyzzyyyyz{zyyyz{zzzzyz{z{{zzyzyzzyyyzzzz{zzzzzyyyyzzyzzzzzzyxzyxyyzzzzyyzzzyyyyyyyz{zzyz{{zyyyxzyzzz{zyz{zyyxyyyyxyxzzzzyzxxyxyyyyzyz{zzyxyxyxxxxxywyyyzyyyyyyywxxzyyyyyyzxzwyxyyxyyyyxzzyyxyyywxyyyyyyyyyyyxxxyyxyxzyyyyyyyyxxyyyxyzyzyzyyxyyxyxxyyxxyyyxyyxxxywxyyyxxzzyxxxxxxwwxyzzyyzyxyyxxywxyyyxzyy{xyxxyxyyyxyyyyzzxxyxyxxxxyyyyxxyyyxxxyyyyxxzzyyxxxxxyyxyxyyyyyzyyyyyxxxyyyzyyyyzxyxyyxzyyyzyyyyzyzyyzyxxyyzyyyyyyxyyyxyyxyzzyzyyzxyyxyxxyz{zxzyyyyyzxyxyzzyzxzyzzyxxyzyyyzz{z{yzzyyyyyzxyzyzyzzzyyxyyyxyyyzyyzzyyyyyzzzyyyyyzzzzy{yyyyyzyzyzzyzzzyxzxyyyzzz{yz{zyyzzyxxyzyzzzzzzzyyyzzyyyzy{yzzzyyyyyyxzzxyzzz|zxzzyyyzyyyyzzzzy{xxxyxzxy{xzyzyzyxyyyyxxyzyzyzyyxywxyxxxyyzxxyzyzyyxxwyxyyyyyyyzyyxyxyxyxyzxzyzyyxyyzxyxzyyzyyxyyxyxxxyyyyyxyyyyyxzxyyyxxyxyxzyzxyxwxwxxyyzxxyyyyyxwwzxyyyxyyyxyxxxxxwwxyyyyyyzyyxxxxyxxxyyyzyxzxxyxyyxxxyyzzzzyxxxyyyxxzzyyyyyzxyxwyyxzyyzxyzzywyyyyyxwxyyzzy{yyyywyyyyyyzyyyyyyyyyxxyxyxyzyyzzxxyyyyyxyy{zzzzzyyyyyxxxzzzxyzyyyxxxyyyxzzyyyzyzyzyyyyyyyyzyyyzyzyyyzyyxyzzzz{zzxyyyyxyyyzzy{z{{zzxyyyyyzyyyyyzzyyzyyyyyz{zzz{zzyxzyxyzyzyzzzzzzzzxyxzyyyzyzzzz{yyyzyyyxzzyyz{{zyzyyyzxyzzzzzz{zzyyyzyxxzzyzzy{zzzyyyzyyzzzyzz{yyzyxxxyyzzyzyzzzyyzyyyyyzyzzzyzyzxxyxyyyyzyyzyzzyzzyyxxxyyyzzy{zzxzyyxxyxyxyzzzyyxyyxxyyzyyzyzyzxyxxxxyxzzz{zzz{yyxyxxzxyzzwyyyyzyyzyyxxyyyzyyzzyyzxxyxxyzyyyzyzyyyxxxyyyzzzzyyyzyyywyyyyyyyzyyzyxxywxyzxyyzyzzyyxyyxxyxxyyyyyyyyzxxxxxzxzyyyzzzyzxyyyyxyzzzxyzxyyzxyxyyzzyzzzzyyyyyxyzyyzzyzyzzyyyyxyyyz{zyzzzzxxzyxyyyyzzy{yyzzyxyxxzyyzzzyzzyzzyxyyyyz{yzyz{zyyyzyzyyzyzzy{yzxyyyzyzz{zyzzzzyyyzyyyyxzz{z{z{zyyzzzzzy{{{zzy{zzzyzzyzzzzz{{zz{{yzyzzz{y{zzzz|yz{zzyyyzzy{{z{zzzzyzzyyzzzzz{zzzz{yy{zyz{{yzzyzzzyxyyzyyyzyyzy{zzyzxyyyyyzyzzyy{zzyxzyyzzzzzzFx2b{||{z{{{{|||}||{|{|{{{{||{|}}|||{{{z{|y|||||||}{{{z{{z{z|}|zz|{{|{{{{{{|||||{{{{z{zz{{{{|{{z|{|{z{z{{|{z{|{{{||{{{z||{{z||||||{{zzz{{z{{{{z{{|{z{{z{zz{|{|||{{{{{{zz{zyz|{{{{||{z{z{zz{z{{{{||||{{{|{z{|{z{z|{{{|{y{{{z{|{{{|||z|{{{{z{{{{{|||{|z{z{z{{{{{|z||{{{{{{{z{{{{|{||||{z{{z{z{||{|||{|z{{|{z{|{{|{|||{{|z{zz{|{||{||||{{{||{{|||||||{{}{|zz{{|{{}||}|||z|{{{z|}||||{|{{{{{{{||{}}|}{||{z|{|{}{|{|}|}}}{|{{{{z|{}|{|||||{}{{{||}||||{}|{|||||{||{||{}|{|{{||{||||||}||{{{{|||{{|||||}{{|z{{{{zz|{||{{|{z{z|z{z|{|z{{|||||||||{|||||{||||{}|{zz{{}||}||}||{{z{{{|{|||}|{{{|{{z{{||{{{}{||{{{||z{|{{{}|{{|{z{{|{{z{|||||{|{{z{{{{{|{||}|{{||{zzz|{|{{|z|z{{{zz{{z{z{z|{{{{z{z{z|{||{}|||{z{{y{{{{{|{|{{||{z{zz{z{z|{z{z|{z|{{{z{zz{{|}}{{z{z{{{|{{||}||||z|z|{z{z|{{{{{{{{{z{|{||z{{{|||{{{||{z{{||{}~||z|z{|y{{||{{|{{{|z{{{{{{||{{|{|}||z{{z{{|{|}|||}||{{||{{|||||||{{{{{}||{|||}||||{{z|{{z{{||||||||{{{|{|{||||}|||{{}{||{|z}||||}}|{||z||||}|||||||{}|||{{}|||}||{{{{{{{z{||}|}}||||{{||{{|{|||}||{|||{||||||{{||{{}{{z{{||}||{}|{|z{{|{z{{{|z{|}}|||{|||{|}{||}|||{}|{{z||{}{{||||{{{|z{z{|{}|{||{z|zz{{{||||{}{{|{|{z{|z||}|z|{{|{z{{{{{{||{{||{{z|{zz{{|{|{{|||||{{|{{z|{{{{{||{{z{|zz{{{{|{{|{z{z{z{zz||{{{|{{|z{{z{z{z||||{|{{{zzz{z{{{{{{{{|{|{zzz{z{|{{{|}|{{{z||z{{|{{{|||||{{{z{{{|{|{}{|{||{{{{{||{z|}||{|{{{{z{||||{|{|{{|{|{{|{||{|}}|{z{{{{{z|{|{|{|||{{{|{|{|{|{{||}|{|||z||{{{||{{|{|{|}{|||{{|{}~|{{{|{{|{}|||}{}|{{|{{{|{|}|}}||||||{|{}|||}|{|~|}|{{||{|{}||}}||||{{{{{{}||||}}||{z{{|{}{||}||}}||{|||||||}||||}||{{{{{|{}{{||}||{{{|z{{{{{|||}{|{{z|z{|z{||||}|{{z{{{{{|}|{||{}z{|{||{{||}}|}}||{{{|{{{{|{{|{}||{{{|{{{|{{|{{||{{{z{|{z{{||{{|}{z{z||{{{|{z{|{z|{{{{zzz|{|||{|{{z{{z{{{z{{{{z{{{zz{{z|{{{{{{{|{{yzyy{{z{|{||||{{{z{zz{{{|{z{||{{zz{{y{{|{{{{{||{{{zzz{z{{z|{|{|{{z{{{{{{||||||{}|z{{z{{{|{{{{||z{{{{{{z|{{||z}|zz{z{|{{||{||||}{||z|z|z{|||{{|{{{z{{{z{{|||{|}|{{{{|{|||{{{|||{|{{{||{{|||||{||{{|{||||||{}|||}{{{|z{{{{{|{||||{{z|{|{{|||{||}}{{|{{|||z||{||||}{|{{||||}{|||||{{{{|{}{|}|||}}|{{||{{{{{||{|||}{{{||{{{||||||{||{{{{{|||{|{{|}}{{{{{{{{{|||}{||{|{z{{{{{{{|{}||{{{z{||{{}||||||{{{zz{}z|{}{{||}|{{z{{|z}||{{|{{|{z{{{{|{|{|{{}{{{}{zz{z{{||}{{|{|{zzy{{{{{{{|||{{z{{z{||||{{|{{|{{{z{zz{z{|{{{{{zz|{z{{{z{{{||{}zz{zz{zz{}{{||{{{{{z{{{{|{|{{{{{yzz{z{{{{{zz||{{{{{z{zzz{{|{{|{{{zzz|{{{{|{z|}|}{|z{{z||||{||{|{z|{zz{{{{{{{{||z|{{z{z{|{{|{|{{|{|z{{z{{{{|{|{{{{{{|{{z|{|{|z|{{|z{{{{z|{{{{{{{z|}{{{|z{{|||||{z{{{{||{{{||{{|||{{{{{|{|||}{||||z|||{{{{|{|||}{||{|z||||{|||}||||{{{{{{{}|}|}||||||{{|||}}}|}|}{z{z|{{|}|||||||||||{||{|{{|||{|{{|{{z{z||z|{|{{|{|{{{||{{z|{{||{{||zz{z{z||{}|{|||{||{|{|}||||{{z{{{{{{{||||||}||{{{||{|{{{}|||{z{{{||z|{}|{}||z{zz{{{{|{{|{{}|{z{z{{|{z||{|{|{zz{{{{yzz{{{{}{{zz{z|{{z{{|{z|{{|z{{zzz|{{{{{||{{{{zz{{{z{|z|{|{{z{zzzzz{{{{z{|}z{zzzz{{{z{{z{{{{{{{{{{zz{{{{|{{{{z{z|{z|{z{{{{||{zz{z{{{|{z{|||{z{zzz{|{{{{{|{|{y|{|z{z|||||{{|{{zz{z{|{{||||{|{{{z|{{z||||{{{{{|z{{{z{{{||{{|{|{|{{|||{{{{|{|{{{z{z{{z{|{{{{||||{{{z|{||||{|}}|z{{{{{||}|{{||{|{{z{{{|{}|}||||{{|{{||||||}}}}||{{|{{{{||||{{|||||z{{{||}||{|}}|{||{{{|}|{|{{||{{|{{{z{|||{}|||{{z|{zzz|}||{{{|z{{{z{{{||||{|}|}}{z|{|||}}}{{|||{|{{{{{|||||||}||{z{|{|{||}}{|{|{{{{{{{|{||{||{{{}{z{{z|{}||{{|z|z|z|z{z|{{z|{|{z{{{{z{||{{{|{{y|zzz|{{{|{{z||{zz{y{|zz{{|{||{{zzz{zzzz|{z{||||{z{z{{zy{|{||{}|{{{{{z{zz{|{|{|{|zzy{zz{|{{{{{|}z{{z{|{z{{{|z||||z{{{zz{{|||{|}|{|{|z{|z{{||z||{|{|{{{zzz{{{||||||z{{{{z|}{{|}{|{{{{z{z{{z|{|{|{{zzz{z{{|||{|{{{{|||}{{{{||||{||{|{{|z||||||}z{|||{z{{z{||{|{|}{}{|{|{{{{||{}|}|{}|{{{|{|||{{|}||{{{|{{z{|}}|}|}|{{||{|{}|{{}|{{}{{|||{{{||||||||{{||}{{}|{}||}|{|z{|z{|||{||||||z{{{{|{||{|{z||{}{{{z{{{{|{z|{|{{{||{{z||||{|{{||{|{||z|{}|||||||{{{{{z{|{{{{{}{|{z{{{z{|{|{{}{|{{{{{|{|{{|{|||{{|z{z{{{|{{|{|{||{zzzz{{{|{z{||{{{{{{{{z||{|{{{z{{{zz{z{{||{{||{zzz{zz{|{{{{{{|{{{{zz{{{|{{|{{|{z{zzyz{{z{z{}{z|{zzzzzzz{|{{{|{{{{z{{z{{{{|{{{||{z{z{{{{{{{|{|||z{{|z{z{|z{{{{}{|{zzz|{|{{{||{}{z{{{z|{{|||{{z{{{{||z{z{||{||{{|zz|zz{{{{|{{{}{{{{{{{|{||}||{||{{zz{||z||{{z||||{{{zz{{{{{||||||{{{||{{|}||{|}||{{{{{||{|{{}{|}{{{{z|{{{||}|}||||{|{{|{{}{||}||{z{{{{|{|{}{||{|||{{{{{{|{{|{|}}{{zz|{z{{{{{|{|||||{{{|z{||||||{z{{{zz{{{{{|{~{}||{{|{|z||}|}|||||{|{{{{||{}|||{|||{{{|z|{|||||}|z{{zy{{{{|||{|||{{zz{{z{{|{{|{|{|{{{z{{{||}{||||{z|z{|{z{||{}{|{|zzz{{{z|z{{{{|{{zzzzz{{z|{|{{|{{zzzzz{zz{zz|{{{{zzzzz{|{{{{z}{{{z{{yzz{zz{|{{|{{z{{z{zz||{||{|zz{z{{{z{{{}z|||{{zz{{z|{||{||{{{{{{{{|{{{|{{{}{zz|{z{{{}|}{||{||z{{|{{{{|{{||}{{z{zzz{|{|{||{|{{z{z{{|{}{{{||{{{{z{{{{{{{{||{||{z{|{{|{{{|{{||||{{|{z{{||{{||||{|{{{{||}}|{|{||{{{{{{|||||{z{}}||{{{|}}{|}|}}{{|{{||{{|}}|}|||||{z|{{|||||}||}}|{|||z{{{||||}||{{{{{z{z|{||||||}{z{{{zzz||||{||{{{{zzz{z|{z{||}|{{{{||{|}|{{}|}||{{{{{|}{|||{}||||z{|{{|||{||||z|||{{{z|||zz|||||{z|||{{{||{||}{{z{{z{z{{||{|{|{z{{z{z{|{{{{|{|{{{{z{z{||{{{z{|{z{z{{z{{{|{{{{{{{{zz{z{{{|{|{|{{{{zy{zz{|{|{{{}{{{|||{{|{z{{|{{{z{{{{z{{{{{|z{{{zzz||z{{z{{{|||{|{{zz{z{{{{{{|||{{|z{{{}{{{|{}{{{{{{|{{{{||||{{{{{{{y{{z|{|||{{{{{{z{{|{|{|{||z|{|||{{|{|{z{|||{{{{{{{|{|||{{||{{|{{{{{{|||{||}{|{|z{|||}|||}}|{}{{z{{{}{{}|{||{{||{|{|{}||||||}||{||{{|}|}||}}|{{|{{|||||}}||||{z{{{|z{||}}}}}|{{|||||}||{|{}|}{|{{{{{{{}||||||{z{{|{{{|{|||{||{{zzzzz|{|||}|||{{}|}|{|||||{||{|z||{|z||}|}||||{|{|}||{{||||||||||{{{z||||{||{}{|z{zz{{|{|||{{|z{{{z|{||||{|||{{{{{{{{z{{{{|{{zzz{|z{z|z{{||{|{zz{{z{zz{{z|{|{z{{{{z{z{z{{|{|{{||{zzz{{{{{||||{{{zz{{{{{{|{|}{|{{z{{{{{{{{z|||{{z{{{||{{{{||{|{{{{{{{{|||{{|{}{{{|{|{z{{||{{|{{{{{{{{z|{|||{|}|||z{{{{|||||{|||{{{{{{z||||}|}||{{|{zz{||{||{||{{{{||{||{||||||{{{{||{{||{{|||}{||{{{{{{||{|||{|{||{|}{|}}|{{||{{{{|{|{|}}|{|}|{|{{}{{{{||}|}|||{|||{{}||}|||||{{{{{|{{|{|{}|}}|||}{{z||{|}{}}~{|{{{{|{{|{|{{|}|{{{|{{{{|||{}}{{{{z{z{z{{{{{|}|{|z{{{{||}{|||||{{{{{|{{|{||||}|{z|z{|}||{|{|||{{{{{{{{{{||{{||{{zz{zz{{{{||{}||{{z{zz{{{|{{{{}|z||{{z{z||{{|{{{|{|{{y{{|{{|{{{|{{{{zz{z{|zz{{|{{{z{z{z{{|{{}{{{zz{{zzz{{{{{|}||{y{{{{z{z{z{{{|||zz{{z{zz|{{{|||{{{zz{z{{|{|z|{{{{zz{z{{{|||||{|{{{{{z{{|{{{{|{|z{{zz{z{{|{{|||{{{{{|{{z{{{|}{||{{{{{{{{||{|{|||{zzz{|{{z|||{{||{{{{{z{{|{{{|}}}|{{{||{|{|{|||{|{{|{|{{z|||{{}{||{{{zz{||||{|||}{{|{{{||{|}}||{||{{{}|{|{}|}{|}|}|{}{z{{||||{}||||{{||}{|||{|||}{|{||{{{}|{}|{||{{z{z{||{||{||{||{{{{|{z{|}|{|{{{{{{|zz{{{{{{{}}}{}|z|||}}|}|||}||{|||{|||||}|}||z}|{{|z{|{{|||}|{|{|z{{|{||{|{{|||{{|zz||{|||||{z{zzzzz{{z{z{|{{{{{{z{z{{||||{|z{{zz{z{{{{{{|{{zzz{zzz{{{|{|{||{{{{z{z{z|{{|||{{z{z{{zz{|{|{{}{{|{{z{|z{|{{{{|{|z{z{z{{z{{||{||{{{{{{z{{}{{{{}|{{z{|z{|{{{{|||{z{{{{z}{|{||{||}{{|{|{{||{|||{{{{{{{{{{z||||||||{{{{{{{{|||{{{}||{z{{{{|{|||{||{{{||{{|||||||}|||||{{|||||{||}|}{{||zz{||}{|||||}|{||||{}}{z|||}{{|{{|{|||}|}|||}{{{{{{|||}}||}}|{|||{|{|||||}|}||{{|{{{|}{||||||z|{||{|||||||||||{z|{{z{{{||}||{{{|{{zz||||z|||{{{{{{z{z||{{}}}||{{|{|{||}|}||}|{{|||||||{}|}{||||{|{{{||||||||}{||{{||{||{{|||{{z{{{{{|{{{|{|||{z{{{{{{{|{{}}|{{|z{{zz{{{z||{{|{{zzz|z|{{{{{{{{{z{{z{z{{{z|{|zzzzz{{{{{|{{{{{{{{{{z{z{z{||{|}|{zz{{{{{{{{|{|||}{{z{{z{|}z|{|||{{{{z{z||{{{{|{||{zz{{{{{{{{{{|}{{|{{{{{{|{{||{||{{{{{z{{{{{||}|zz{{|{{{{|{|{||}{|{z{{{z|{{}{|}|{|{z|z{|{{|{{{||||{{|{||||}||||||{||||||||{|{||||{{|{z{{||}|{|||{z{{||{z||||||}}|z{{|||{||}||}||}|{{{|{||}}}||}|}{||||{||{{|||||||{|||{{|}|||||}|{{{|{|{}{{}|{|}||{{{{{{{{|}}|||{|zz{{{||{{}{{{{{z{{z{z{{{||z{|}||{z}||y|}||}}||{{{{{|{||}|}}|}|||z{zz|{||{{||||{{{z{z{}|{|}{||||||{{z|{{{|{{||||z||{{|zz|}}|{|{{{{{zzzz{}|{z|}|{z{{{{zz{{{{{{{}{zz{zz{z{||{{{{{{z|{z{zzz{|{{{|{z{z{zyzz{{|}|{|{{zzzz{{z{{|{{{|{{{{{{zzzz|{{{z{{{zz{{zzz{|{||{{{{{zz{{{{|{|{{|||{{{||{|z{||{{{{}z{{{{|z{||||{{|{|zzz|{{z{|{z{|||{{{{{{z{{{|z{{|z{{z|{{{{{{{|||}|||{z{{z|{{|||{{|{{{||zz{|||}|{|}{{{||z{{{|||{{|||{{||{{z||||}|}}|{{{|||{||}}|||}{z{|{|{{{}|}{}|||{{{{{{|{||||}|||{{z||{|{||{|{}~{||{}{z{}{||{{|}{{{{{{||||{{{}|{{z{{{|{z{||{{{|||z{zz{{{{|||||}}{|{|||}|||}|}~|}|{|{{{z|||}|||}|{{{{{{{|{||}|||{|{{{|{{z{|{{|||{{{{z{{z{{|{}||||{|{|{{{{{{{z{{{{{{z{z{{{||||||{{{{{z{z{{{{{{|{{z{{zz{{{z}|zz|{{{zz{z{z{{||{{{{|z|zzz{z{{|}|{||{|{{{{{{z{{{{{{|{z{zzz{{zz{z{z|{{{zzz{{{{{{|{||}{|{z{zz{{{{|{{|{}{{{{{zzz|{|{{|||z|{{{{{||{|{{{||{{y{{z{{{{{{{|||{{{z{z{{|{||{{||{{{|{{||{|{{{{|{|{|{{|z{|||||}||{|z{z{|{||{|{|{|||{{{z{{{}||}||||z{{{{|{}}{|||}|{|{{{{|}{}{}||{}|{{{}{{||||||}||||{|{|{|{||{}||||z{{|{{{|}|{||{}|{{{|{z{{|}|{|}}{{|{{}{{|{|}|{|||{{{{{{z{|||z{|{{z|{zz{{{{|z{|~|}}|{|||||~||||}}{{{|||{{||{|||}|{{zz|{{{||{{||||{z||{{|{{{|||{||{|{{{|zy{{{|{|||{{{z{zzz{|{{{{{{|z{z{yz{|{{{{||{{{{{z{{z{{{|||z{zz{zz{zz{z{{z{|zz{{z{z{{zz|{|{{{{{{{z{zz{|{|{{||{z|{z{{{{{{{z{{|{zzzzz|zz{z|{}|{zy|{{z{z{|{{{|||{{{{{zz{{{{|{||}{|z|zzz{{|{{{{{|z{{z{{{z|||{{{{{|{|zz{{z{{{{{{||z||{zz{z|{|{{{|{||{{{z{{|||{{||{|{{z{z{{{|||{{|{{|{{{{|{|{{|{|{|{z{{{{zz{{}{|{{{|{||||{|{|{{||||{{{|||{||||||{||{{{{||{{{|}}||}}|{{{{{{z||{{|{|||{{|||{|||||}}}|{{}{{|{{}{z|}}||{||{{{{{{{z{}|||z{{|{{|{{{z{|{{|{{{z{{{z{z{|{}}~|||{|{|||}||{}}~{||||{{{{|||}||}|{{z{{{{|{|z{|||{z{|{{{{{{{|z{|{{z{zz{{{}{|{|{{|{{{y{{{z{{|{{{{{{{{{{{z{zz{|{|||{{{zz{zz|{z|{z|{{zzyzz{z{{|{{{{{zyzzz{z{{{|{{|{{zz{zzzz{{|{|{|||{zzz{{zzz{{z{{{{z{z{{zzz{|{||z{|{yz|{z{{z{|{{||}{zz{{{z{{{{{{|||{y{{{z{{|{{{{{||zz{zz{z{{z|{{{||{{{{{z{zz{|{|{|{{z||{{{z{|z|{{|{zz{|{{z{{{|{||||z{{z{|{|{{|}|||{{{{{{{{{|||||{}||{{|{{z{||}||||}{{z{zz|{{{{|{|}{{{|{{{}z{{|||{||||{{{|{{||||||||{{}|{{|{||||{}{|{z{|}{{{|{{{||||{{z{{{{{{{{|{{|}{{|z{{{{|{{{{|||{|z{{z{{{|||{|{|{|{z{zzz|{|{{}~}}}||{|{||~|~|}}}|{|{}{z{|{|||}}|}{{}{{z{|{|{{{{}{|{{z{{{z||{{|{||{{{z{{{{{|{{|{||z{{zz{z{|{}{{{{{z{{|{{{{{{{{|{z{{{{z{z||{|{{{z{{|z{{y{z{{{{{{||z{|z{{zy{z||{{|{{{{{z{{{{{{{z{|{zzz{z{{{|z{z|{{||{{{{{{{{|{{{||{{{{z{{zz||{|{||{{{{{|{{{|{|{{}|}{{{{{z{{z|{{||{{{{{zzz{|{{{|{|{|||{z{{{z{{|||||||{{zzz|{{{|||{|{|{{|{{{{||||{{|{|zz{zz|z||||{||{{{|{{{|{{||||{{}{{{{{z{{||{{}|{||{z||{{{}||{||||{{{{{{|||||{|}|}}{|{||{{{}||||||{{{{{{|{{|||{||}|{|||{{{||{|}|{}{|{{{{{{{z{{|{}||{{{|z{{z|{{{{{{{{z{{{z{||||}z|{{{{y{{{zz{{|{~}~||||{||}||}}}|}}}|{|{{|{{}|||||}||{{|{{{|{|{{||{|||z{z{{{|||{{{||{{{zzzz{{{|{||{{{{zz{|{{{|{{{|{{{{{{{zz{z{z{{{{{zz{{{z{{{{{||{|zz{{z{zzz{{z{{{{|{z{zzzz{{{|{{||{z{{z||{{|{|{{||zz{zz{zz{{{|{{{{z{{{z{{{{|z{|{|{{{{{z{z{{{{|{||{|{zz{{zz||{{{||{{z{{{zz{{||{{{{|{{|{{{z{{||z{{{||{{z{{{z|{|z|{|{{{{z{{z{{{{|{|||zzzzz|{{{{||{{{}{{zzz{z{}|||{||||{{{{{{|{||||||}{{{|{{z{|{||{{}||{{|{{|z}|}|{||{||z{{{|||{|||}|||{||{|{{|}||||}||{|{{|{{|||||}|{|{{|z|{{||}{{||}|{||{{{{|{||}|||{z{|{{{||{}|{||||{{||z{z|{{|{{{|{{z|{{zy{|{{|}~}|||||{|||}||}}|||||}{{|{}||||}}{{{{|{{{||||{|||}||z{{{|{{|||z{}{|{||zz|z{{||{|||{z{z{z{{{||{|||{zz{z{z{z|{|{{{{{{{{{yz{{{{z|{|{{{{{zzzzz|{|{|{{{{zz{zzzz{{{{|{{{z{{{yz{{|{{||{z||z{{{{zzz{{{{{||{{|{{{z{{{{{{}{{{z{z{{z{z|{{{{|||{y{{zz|{{{{{|{|{{{z{z|z|{{{{{{|{{|{{{{{|}{{{||||{{|{z{z{||{|}z}z{{|{|{{{{|||{|{{||z|z|z{{|{{{|{{{z{{z{{|{{}|}||{|{{{{|{}{|}||}||{{{{z{{|}|{}||{|{{{{||||||||{||||||{{|{{|{||}||}|{||{{||}||}|}|||||{{||{|||{||||{||||||||{|}}||}{{||{{{|||||||}|{{{yz|{{|{|{}|||{|z{{{|{{|{|||{{{|{{{zz|{|{{|~}|~|}|}||}}}}}|}~|||||{{{}|}|||}}}{{|{{|{||||}|}||||{||{||||||||}{{||{{|{{|||||{|{{||{{{{z{|{}{||{}{{{|zz|||z|{{|{{{{{|{{z||{{||{{{zz{{zz}|{{{{||z{zyz{z{{||{|{||{z{{z{z{{|{{|||{|{z{{{zz|{|{|{|{|{|{z{|z{{{|z||{zzz{z{{|{|||{}{|{{{{{|{{||z{{||}{{{{z{|z||}{{|}||z|{zz{{{|{{|{|}{{|{|{{{{||{|||||z|{{{{z|||{{|{{|{{{{z{{||{z|}~|||z{{{z{|{||||{|{{|||{|{|||{}|}|z{|}{{z||||~|||||{z{{{||}}||{}|||{|}{|{{{|}||||}|}{{{|{||}|}|||}|{{|z|{{}}{}||}}{{{|{|{||||||||||{{{|{|z|||||||||{{z{{z{||||{|||||{{z{|z{||{}{|||{{z{{{||{||}|}}|}|{|}}||}}}{{||}}|}{{|||||}||||||{z|{{z{{{||||}{|{|{z{{||{{{{}|||{{{{|{{|{{|{|||z{{{{{z|||{{{{{zz{z{{{{{|{{{{||{{z{{|z{{{z|{{||{z{{{zzz{{{{||{{zzzz{zzz{{|{{{{|z{z{zz{z||zz{||z{{z{zz{zz{{{{{{{{{{{z{{zz{|{{|{}|z{{{{{{|{{{{{|{{z{zzzzz||{{z{||{{{{|z|{||{{{}|{zz{|{{{{|||{|{|||{{{{{|{{{||{|{{{{|{z{{|||{{|{||{{{{|{|{||{|z||{{{{z|{z|{||{{{||{{z{{{|{{|{||{||{{{{z{{y}||}|||}{{||||{{||{||}||{{{{{{{{{}|||||}{{|{|{|||~||||}{}z{{{{{|{{{{|||}}{{{|{{{{{|||||||zz{|{|{{|||z}||{{{y{{{|{||||||{{{z{{{z{|{{|{|||{{{z{y{z||{{||}~}|||}||||}}{|z|}|{|z|||{|}||}|}{{{{{{{{||||}{|||{z{{{{{{|||}}|||{|{zz{zz{||{|{{{||{{{{{z{|{}{{{{|{{z{zz{{{|{{|{{{{{{{yz{{{{|{|{{zz{z{{zz|{{{z{||{zzzy{z{z{{{|{{{{{z{z{zz{|{z{{}{{zz{zy{y{{zz||{{{{{z{z|{{{z{{||{|{zz{z{z{{||{|||{|z{{zz|{|{|{|{|||{{{z{{|{{|{||{{zz{{z{{{||||{|{{{{{{{{{{|{||||{{zzz{z{{z{{{{||{{{{{{{{||{|{|}||{{zz{z{{}|||||||{{{{{{z{{|||{|||{{{||zz{|}{{{{|||z{{||{{|||{||||{{{{|{{{}|{||}|}|{{{|{{{|||}{|{|}{||{{{{{||}}|}||{{{{{|{{{{|{}}}{|{{|{y{||{}{}|}|{{{z{{{|||{{|}|{{{z{{{z{|{}||||{z{{{{zy{||{z~}}}~}}}||||}|}|}}~|}|||{|{{{|}}}|}|z{{{||||{}||}|}{|{||z{{{|{|{{|||{{{zz{z||z|{{{|{{zz{||z{{{{{{||zz{{z{zz{{{{{|||{z{{z{zz|{z{|{{{z{z{z{{z{{{|{|{{z{zzzz{zzz{z|{z|{{z|z{z|z{{z{z||{{zzz{{yz{{{|{{{{{{{z{{z{{|{{|||{{|{zz|z{{{z{z|||zz{|z{{{{||{|||{{{{{{|{{||{z{{{z{{{{{{{{}|{{|{||||{{z{{z|{||{{{{z|z{{{{z|{|{{|{|{{{{{z{||||{{|{|{{{z{{|||{||||}{z|{{{|z{|||{{{|{{{{{{{{{|{|}||||z{|{{{|||||{{|{|{z{{||{{|{{||||}||||{{|{||||}||{{{{{|{|||||||}|{z{}{{{{||{|{}}||{{{{{|{|||{|}||{{z{{{|{{|{|{}|z{{{{z{{z||||{|{|z{zz{z{z{{{{{~~~}~~|~}||}~~}}~|}|}||}{{{|}}}}{}}}{|{{{{{||}||}|||{|||{{||{{}{|||||{z{||{{|{|{{{|||{z{{{z{{|{||}|||{{z{z{}|{{|||{{z{{{|{{z{{{{{||{{|{{{z{{{|{|||z{{{zz{{{{{||{||{z{|z{{{{{||}{||{|{{{{zz{{{|{{{{z{|||{{{zz{|}||||{{{|{|{z{||{||{{{{{{{zz||||{|{||{z{z{{{|{|{|{|}||{{|{{{{|{{|||}|{z|{{{{|{{|{|}|{|z{{{zz{|{|}|{}||{{{{{z{||{||||{|{}{z{|{|||{||}|{{{||z{{|||}|}|||{||{|z{{||||}|||{||{|{||~||}{}|{|||{|||{||{|}|}||{{|{|{{}}}}}}}|z|||{|z}|}|{{{||{|{{{{{{|||}||}||z}||||||}}|}|||{z|{|{|||||{|}||||{z{{{{}{|{{}}{|{{||z{z{}{|~~~|}}}~||{~|~{}||~}|||{||{{}}|}|~||||{|||{|||{||{}{{|{{{{||}||||||}z|{|{z||||}{|||{{{{{{{z{||{||{{{{|{z{{{{|{|{{|||z{{{}|y{|{{z|{|z{{z{zz{{{||{||{{{z{zz|z{|{|||{|{{{||zz{z{|{|{|{{{{{z{{zz|{{{{|||{{{{{{{z|{z{|{{z{{z{{{z{|{{{{|{{{{z{|{||{|||||}z{{{{z{{|z{{{|||{{|||{{z{|{{{|}}||{{|z{{{|{|{|{{{{{{{{{{||||{||{||{{|{|{||{z|||}{{{{{{{||||{||}|{|{z||}{||||{}}}||||{|{||{|}||||{{{{{zz{{}|{||||{z|{{{{{||{}||}||z{{{|{{||||||||}|||{{{||||||||{|{||{{z||{|||||}||{|||{|{||}|}||||{{{{|{{|{|{{}|}|{{{{{{||{|{z||{{{zzz{{{{{{z~}~||~|||}|}}}}|}}}|||{{{|{}|{||}|}}||{{|{{|{|{|{||{|{{{|{z{|||{{||{z{{z{{z{|{{{|{|zz{{z{z{|{{z|||||z{{z{z|{{{z{{{{{{|{{zz|{{{{||{{{{{{{z{zz{z|{{||{z{z{{{{{z{{{{{{|{zzzzzy|{||{|||zzz{{zzz{{{{{|{{{zz{{{{{{{{{||||{z{|{z{z{{{{|{||{{|z{{{{z|{|zz{||{{z{z|{{{||{||{{{{zz{zz|||{{|{|{z{{|z{z{|||||{{{y{{{{z{{{{{{|}{|{z{{zz|{{{{||{{{{{{{{{{||}||||||{|zz{|{{{|{|||}{{z{zz{||{|}||{||z{{|{{{|{||{||||{||{{||||||||{|{{{{{{{||}|||}||}{z|{{||||z||}}|{{{{{{|{{||{{|||}{{|{{z{}}{|||{|{{{{{{{z{{}|{|||||{z|{{z{|{}|}||{{{{z{{{{{|z{~~}}|}}||}~}~}~}||}{|{{||}|||}{|}||{{|{{{|||{|||||{{{|z{{}||{{{}||{{z{{z{|{}{{{{}{zz{{{{{{{{|z||{zz{{{|{{{z{{z|{{{z{z{z{z{{{{{z{{{z{z{zzz|{|{{{{z{yzzz{z{z{{{{{|{zz{z{{{z{|{|z{|{|zyz{{{{{|{{{|{|{{{z{z{{{{{{{{{{z{z{||zz{{{||{{|{{|z{{{z|{{{{{{|z{{{{{{{{{{{z{{{{zz{{z{{{||{|{{{{{{|z{{z{|{||{|{{z{z{{z{|||{{|||{{{{{{{z{{{{{|{||{{{y|{||||{|}}{{{z|}z|{{|||{{||{{{|{{z{{||{||||{zz{{|{{||{|}||}{{|{{{{|{{{{|}|||{z{{|{z{|}||||}|{|z{{{{|{||||}|}{{{|{z{|||||{|}{{{|||z||||||||}||{{{z{{{|{{{{{|||z{|{{z{{||{||{{{|{{z{{{{|||}}||~}}|}}}~~~}}}}|{|||{{|||}|||}|{{{{{|{{{|||}|||{{{{z||z|{|{|{|{|{zzzz{{{||{|{|z{{yz{{z{z{|{{{{{{z{zzz{{|{z{{{{z{zzz{zz|{||{{|{z{z{{zzzz{{{{||{{{z{z{zz{z|{|z{{{z{zz{zz{{{{{{{|{{zyzz{z{{|z{{|{{zzz{{z{z{{{{||{zzzzz{{{|{{{z|||{{{z{{{{{z{{|||{z{{{{{{{{z{{|{|{{{{{zz{{{{{{{{|||{{yzzz{|{{||||||z{z{{{{{||}|||z{{{{zzz{|{||{|||{|{z{{zz{|||||||z|{{{{{||{||||||{z{{{z{z|{{{|||{|z{{|{{|||||}||}||{z{{{z||||{||{|{||{|{{||}{|~|{|zz{{{{{|}|{}||{{{z{|{{{|||{|{}||z{|{z{|{|||{|}|{{zz{{{{{||||{||{z|z{z|z{|{{{{|{{z{{zyzz{|{{|~~~~~}~}}|}~}~|~}|}{}|{||{||}}|}}|{z|{||||}|{|||}{{{|{{{|}}||{{||{{|{{z||{{{{{{||{{{{{{|{{|||||||{|z{zz{{|{{|{{{{{{{|z{{|{|z{{{|{zz{{{z{y{|||{{|z|{{{z{zz{{|{||{{}z|{{{zz{{||{{|{{z{z{zz{z{|{{|{||{{zz{{zz|{{|{|{{{{{z|{{|{{|{|}{{z{{{{z{{{|{}||{{{{{{{{{|{||{||{{|{{zz{{{{{|||{|{|{{{{z{{}|z||||{z{{{{{z{||{||||{{z{{{{{|}||{{{||{{z{{{{||}|{||}{{{{|{|{{{{{||}}{{z{{z{{{|}{|{|}|{{{||z||||||{||{{{{{{{|{||{||||||{||{|{||||}|}}|||||{{||{||||||{{z|{||{{{|}|}~}}|{{|{{|||||{|||{|{{{z{{|{||{|||{||{{{{z|}|{||||{{{{zzzz{{|{{}~~}~}}~||~}}~}|}}}|||{|{|}}}}}|}|{}{z||||||}{{}||||{|{z|||}|z|}{||{|zz{z{||{{}{|{{zz{{{|{{{||}{{z{|{{{z{{{|{{||{{{{zzzz{{{{{{{{|{zy{|{z{{{z|{{{|{{{{{zzz|{{{||{{{{zzz{zz{{{{|{||{z{{{z|{{|{{{||}||{{{{{{{{{|{{{{{{|{{|{{{{{|z|{{|z{{{{{{z{{|||||{{|{z|{{|{||{|{|{{z{{{{z||}||z|}|{|zz{|{{||{||||{{{{{|{z|||||||{{{{|{z|||}||{{}}||{z|z||||}|||||z{{{{||{{|||}}|{|z{||{{{{||||{|||{{{||{{{|{||||||{{|{{|{{|}{}||||{|{|{|{{||||}}||{|||{{|||}}}|}||{{|{{{{||{{||||{|{|{z||||||}||||{{{{{{{||||||{}|z|{z{{{|}|{||{|{|{z|{|{|{||{~~~}~|~}}}}}~~}~}|}||{|}}{|}||}}|{||{||||{{||||||{|{{{||||||{|||{{{z{{{z|{||||{|{{{{{z{{{||{{||{|z{z{{z{|z{{|||{{{z{{{z{z||z||{{{|{{|z{{{|{{|{|{|z{{{{z{||{z{{|{{{|{{z{z{{{{z|{|{{z{{z|{zz|{{|z{z{z{{{z{z|z{{{{{{{{|{{{{{||{{{||{z{{{zz{{||{{|||{{{z{{{{{|z{{{{}{z|z{zz{||}{||{||z{|z{|{{|{|{|{|{z{{{{{{{|{{z{|{{{{{|{{|{||{{{|{{{z{{{||{||{||||{|z|{{{}{|||||}|{{{{{{zz{}|||||{}{{{|{{|}|{|{{||{|{z{z||{|}|||}||{|{{|{{|||||{{|}z||{|{{{|||||||||{|{{||{||||{}|}|{{}|{||}|}}}||||{|{{{{|||{||}{{{{{{{|{|}||{{|{|{{{|{|{|{{||~~~~}|~|~}~}}|}}}~|{|{}||}}|||}}}{{|{|{{|||{|||||{||{z{||z|{{|{{{{{zz{|z|{||||{{{{zz{{{z{{|{{|{||{{{{z{z{}|{z|{{{{{z{{zz{{{{|{|{zz{zzz{{{{|{|{{{zzz{zzzz{{{|}|{{z{{{{zyz{{{{|{||{{{{{yz{{{{z{|{{{{{{{{{{z{z|||{{{{{{zzz{{z||{|{{|{zz{z{{{{|{{|{}}{|{z{{{{|{{{|{|z{{z{|zz{{{|||}|{{{{z{{{{{|||}||{{{{{{{z|||{{||}{{{|{{{{{|{{{|z}{{z{{{z{||||||{|{{{{{{||{{{|||}||{|{{{{{|{|||{|}|{{z|{{{|||{|}}||{|{{|{{{|{|}|{||{{{||{||}|{||}{||||{z{{||{|{||||{{||{{|{{|||||}|||{{{{|{|||||||}{{{|||z{|{||||||{z{z{{{{{||{}}z{{|{{{{z|{||{~~~~}|}~}~~}}}~~}}||}|||}}}|}}}|}|{{|{{{{{{||}}|{|{{|z{{|||{{||{{{|{{z{z|||{{|}}z{{{{{|{{|{z||{{{z|z{z{{{{|{{{{|yzz{{{z{{{|{{|{{zzzz|z|{{|{{{{|{{{{{{{z{z{|{|{|{|z{{zz{{{{{{{{|{{{{zz{zz{|{{||{||{{z{z{zz|{{{|{||z||{z{zz|{|{|{|{y{z|y{{z{{zz{|{{zzz|{{{{{|{|{{|{{{{|zzz|{|{{|{||{{{{{|z{{{||{||{z{{{{z{|{||{{{||z{|z{{|||||{||{{|{{z{{{{||||{||{{||z{|||{||{|||{{{{|{z{{}|||||||{{z{{|z|||{||}{{{|{|}{|||}||{|{}{{|{{{{|}||}{}|{{{|{{{{{||{||||{{{{{|{|||{||}}}||{{{{{|{{||||||{|z{{{{{{|||{||}{{{}{|{{z|{|{{|{||||z{{z{|}||~~~~}~~|}~}~}~~~|{||}|}|||}}|}|}||||{||||{|||{|||{{{{z{z{{}|{||{|{{z{zz{||{{{|{||{zz{z{z{{|{{|{{|{{{z{zy|{{{z|{|{{{{{zzy{y{{z{||z{{{{{zz{{{{{|{|{{{zzz{z{|||{{{{{zz{{{zz{|{|{{|{{{{{{z{{z{{{{||{{{|zz{|{{{{|{||||{{|zz{zz|{}{{{||z{{{z{{{{{{{}}||z{z|z{{|z{{||{{{{{{z{{z{{}{|{{{{{|{zz|{{|||{{||{{{{{zzz{{||{{|{|{|{{{z{|||{{|||}{{z{|{z{||||{{|z{z||{|||{{{|{}||z{||{|{|{||{}}~|{{{|{{{|}{|{{{|{{{{z|{||}|||||}||{|{|{{{|{||{}}|{{|{{{{|}{||}||{|{{|{{||||||||{{{{||{|}||||{||}{{{{z|{{{}||||||{{|{||{z{|||{||{{{|{|{{{{{{|{~~~~~~}~~~}}~}}}}}|{{|}|}}}~}}|{{{||{||}||}}||{{{{||z|{{||{{|||||{{{z{{|{|{|||z{{{z{{{|{{|{|||z{{z{yz{||{{{|z{z{{zzzz{{zz{||{zz{{{zz{z|{{{{|{{{zz{zz{{{|z|{|||{{{zzz{{z}{{{||zz{{{|zz{{{{{|{|zzzzzz{zz{{z{|{|{|{{zz{{{|||{||}{z{z|z{{{{|{{|{|zz{{z{{z{{|{{{{|{{{{z{{{{{{|{||{zz|{|{z{{||{z|{{{{z{|{{{{{|{z{|||{|{{{z||{{{z{{{{{{{{||{{{{|||{|{{{{{|{{|{||{|||{{{{{{{{|||||||{|{{|{{z{||{||{}|||{{|||{{||}|{||{{{|{|{|{}|||}|}||{{{{||{|}|}{|||{||||{{|{{||||~|{z{|{||||{|{|{|{{{{{{{{z||{{}||{|z|{||{{|{{{{|{|{{z{y|{{|}||~~~~~}~~}}|~}}|}||{}}}|}}|||}{||{{{|{||||}{|{{|{z{z{{{{{{{{{}z{{{zz{{z{{{{{{|z{z{{{{zz{||{|{{z{{zz{{z{{{{z{{{{{{zzz{z{{z|{|z}zzz{{{yzzz{{||{{z{zzyzzz{{z{{{|{zz{{z{{z{{z{{||{{{{{z{{zz{z{{{{zz{{z{z{y{{{{{|{{{{{{z{{z{{{{z{|||{zz{z{{{{{{||{||{{{{z{{z{{{{{|{{{{{zz{z{{|{|{|z{z{{{{{z{{||{{|{|{|{{z{z|{||{{{|zzz{{z{z||{{{|{z{||z|zz{}{||||||{|{{{{{{{|{|{{{{{{{{{{{z{{||}}{|{{{{{z{z{}{|{|||{{{|z{{{z|{|{||{||{|{|{{{|||{||}{z{|z{|{{||||}||{{{{{||{{{|{{{||{{||{z{|||{|{{||{{{{{{{{{{{{{||||{{{zz{y{|||{{|{{{{{|z{{{|{{z~}}~~~}~}}||}||||}}}~}}}}|}{{{{{{{{{}{|}|{z{{zz{{z|||z|{|{{|y{{{{|{|||||}{z|zzzz{|||{{z{|{{zzzz|zzz|{{|{z{{{{z{zzz{{{{||{{y{zz{zzz|{|z{{{{{z|z{{{{{{||||z{{z{z{{{{{{{|{|{{zzy{z{{z{{{z|{|{{{{{{zz{||{{|||{{z{{z{{{||{{|{|{z{z|z{|||{{{{|}{{{zzy{{|{{{{{||zz|{zzz{{|{{||||{z{{{{{{{||||||{{{{{{|{{{{{{{|{|{{z{{{z|||{{{|{{{{{{{{{{{||}||||{|{{||z|{||{|||{{{{|{|{{|||{{}|{|zz{z{{z||||||{|{{{|{{{|{|{{|{|||{{{{{{{|}}|||||||{{{{{{|||}{|}{||{{{{z{|{|}{{}}|{|{{|||||||{{{|{{{z{{{{{{z||{|{{|{{{z{{{|{{{}{{|{|z{z|{|||{z~~~}~~~~~~~}|}}|}{}}|}}}}|}{{{}{{|||{|||||||{{|{{{{|||{z{|{|{{{{{{{{{{|{|||{{zz|z{z{||{z|{{z|{{{z{zz{|{z||{|{{z{{zz{z{|||||{{{{{{{z|{{|{{{|{{{z{zzz|{|z{|{{zz{{{|z{{{{{{{{{{y{y{{{{{{{{{{||{|{{z{{{{{{z{|||zz{z{{z{{{{{{|{{{{|{zz||{|{{{{||{{{z{{|{{|{{||||z{{{{{zz{|{{{|||{{{{{{{|{}{||||{{{{z|{z|{|{{|||{{z{|z{{{{|{{{|||{{{{{{{{{{|}|||{{{|{{{|{|{|||{}|{{{{|{{{z|{|{}|{{{{{|{||||}}|}}}|{|||{|||||||||||{|z{|z|||}||}}|}{|{|{{|}{{}|}||{{|{||{{|||||||||}{{|||{|||{||||{|{zz{{{{|{{}||||{{{{{|{{{||{|{|{z|zzz{y{{|{{~~}}~~|}~~~~|||{|}}|}}||}}||{z|||z||||||}|{|{{|{{z|||||z{||{|zz{z{|{{{{|{{{{z|{{zz{{|{||||{z{{z{zz{|{{z{{{{z{{{zz{{{{{{{{|{zzz|zzz{||{{{|{{{{zzz{{{{||||{{{{{{z{{{||{{{{}{z{{{{zzz{{{{z{|{|{{zz{{z{|{{{{||z{{{{|zz|{{{||}|{|{z{z{z|{|{z{}|{{{z{z|{||{|{|{|z{{{{{z{{|{|||}{|{{{{zz{{{|}|||{{{z{{{z{|||{|{||{{{{{{{{|||{|{|||{{{{{{{}}||||||{{{z{{{{{{|||||{{{z|{||{{|}{||||{{{|{{{||}{|{{}|{||{{||{||||}}||}|||{{||||||||}{|{{{z{{{|}|||||{}{{||||||||{|||}{{{{{{{||{|}|||}{{{{{{{|{|||||}||||{{|{{{|z|{||{|{{|z{{zz|{|{~~~~~~~~}|~}{}}~~|}}}}~||}{{|{{{|||}}}|}{{|{{|{|{|{{|||{|||{{{z||||{}{|z{|{z{{z{{|{{||{{{{{{{z{{||||||{{{{{{{z{|{{|{|{{z{{{{z{{z|{||||{zz{{{{z{{z|{|}||{z|{z{zzz{|{{|||{{{zz|z{z{|{{{}|||{z{z{{{{{{|}|{{{{{{{{{{{|{|{|{{{|{{{|{|||||||||{{{|{{{|{{|{{||{{{z{{|||||{{|||}|{|z{|{{{|||||~{{{{{{{{{||{||}{|{||{{{{{{{|||{||{|{|z{{||{||||}|{||{{||{|||{||}|{{|{{z|{}}{|||||||||{{|{||{{|}|{||||||{|||}||}}||||{|{{}}{}|||||{|||||||}||}}}||{||{{{||}}|||}}}|||{{||{||||}{|||}||||{{||||}~|{{{||{{{{{|||||}|{|{{{z{zz{}|~~~~~~~~}|}|{}|||}}}}~{}{{{||}|{|{||{|||z{|z|{{||}||{{{||{z|{{z|||||||z{{zz{{{{{}|{{|||||zzz{{z|{|{{||z{{|{z{{{|{z|{{||{{zzz{{z{|{{{||{z{z{zz{{{|{{{{||{{{{z{{{z{||{{|{{z{z{{zzz{{{{{{{{|{z{{{z||{z{|||{{{||{z{{|{|{|{|{{|{{{|{||{|{||||{{{{{|z{{{{{{|||{||z{z{{|||||{|{{||{{|{||||{||}{{{|{{|{|}|{{{||{|{|{{{{|{{|||||{|}|{{{{|}|{|||{{|{{||{{}{{{{|||{z|{{{z|||}|{{}{{{{{{{{||}|{{{||||{{|{}|{}|||}{|{}{{|||{||}}|||||{||||{||||}|}||}|{||{|{||{|||{{|{{|{|{{||{||||}|||{z|{{{|{||||{{|{{{{{{||}||{|||{{{{z|{|{{|{~}~~~}}|}||}|}}}~||}|}{}{|{|{}|{{||||{{{z|{z|{{||{{{||}{z{{{{{{|||||}{{{{{{{{{|{{{z{||{zz{z|y{}|{{{{{z{zz{{{{{z{{z{{{{zz{{{z{{{{{{{{{{|z{z{z||{{{{||{{{{zz{zzzz{{z|{|{z{|{z{{{{{z|{|||{{{{zzz{|{{{{{{{{{{{{zz{||{{{}|z{z{zzzz{{|zz{{||{z{{{z{{z{{|{||{{{{{z{{{|||{{}|{{{zzz{{||||{||{{{z{z{zz{|||||||{{{{z{{{|}|{||{|{{{{{{{{{{{|||||{{{|{{|{{|||||}{{{{{{z{{{|||||}|}{{{{||{|||||}||z||{|{}{{{|||}}|}{z{{{|{|}|||||{}||||||{||{{|}||{{|{{|{||||||||}|{||{||{|}|}||}}||{||{{z{|{|||}{|||{{{z||||{{{||{z{z{z{{{{||{~~~~~}}||}}~|}}}|}~}}||{{{|{{|{{|||{||{zz{{{{{{}{|{|{}{|z{{{z|{{{{|{|{{|zz{{z{|{z|||{|z{{{z{{z{||{{{{{{{{zzz{{|{|{{{}z{zzzz{z{{{{z{|{{{{z{|z{{|z{z{{{|{z{{z{z||{{z{|{zz{z{z|zz{||{{{|{{{{{{z{{|{|{}{{z{{{{{|{||{|{{|{{{{|z{{{{{}{{|{{{zz{{{{{{{|{||||zz{z{z{|z{{{{|{|{{z{{{|z{{|{{||{|{z||z{z{{||z{|||{y{{zzz|{||{||||{|{{{|{|{{|{|||{{|{{z|{{{|}||||||z|{{{{{||||||||{{{{z|z|||||||||{||||{|{|||||||}{|{||z{{~||{||{{{{|{||{|||{|}||||{{||||||{||||}||{|{{|{{||}}||||{{{{|{{z{||{||||{{{{{{|{{||{|{||{{{{{{{{{||{~~~~}~~~}~}|{||{|||}|}|~||{{{|{{{{{||{}}{|{{{{{{{|{|{||||{|z{z{z{||{|||||y{{{{zz{{{{z{{{|{z{{z{z{{{{{{{{{{zzzzz{{{{{|{{{z{{{zzzzz|z|{{{|{{z{z{{{{{{z{|{{{{{{z{z{{{|{||||{{z{{y{zz{{zz{{|z{{{zzzz{{{{{}{{|{{zz{{{{{{|{|||||zz{{zz{||||{{{{{{z{{zz{{{{{|{||z{|zzz{||{{{{|{|{{{{zzzz|{{|||{{{{{{{{{{|{{|{{|{z{{|z{{{{|{{||||{z{|z{{||{|}}||z{{{|{{{{{{{|||{z{z{{{{{|{{|}||||{|{{{{{||{{|{|||{}{{||||||||~||||{|{z|||{{|||||{{{{|{|{|||||||||{z|{{{{{||}|{{||{{{{{z||{|}|}|||z{z{{z{z|z}{||{|{|{{{{{{{|{|{}|{{|z{{z{y{{{|~~~~~~~}||}{|}||}}||}||||{|{{{z{}||{|~{|{|z{{zz}{{|{{|}z{{{{{{{{|||{{{|{{{{zz{{{{{{|||||{z{{{{z{{{|{|{||{{{z{{z|zy{{{|{{{zz{zz{z{{z{{|{{{{z{{|{{{{z|{{{z{{{z{z{{z|||{|||z{|z{zzzz{z{z{|{z{z{z{z{{{|||{|{{{{{|zz{z{{z{{{{{{|{{{{{||||{||{{{{{{{{z|||||||{{{{zzz{{|{{||||{{}{{z{{{{|{{||{{{{{z{{z|{|||||||{{z{z{{||{|{|{{|{{{{z{{{||{||||{{{{{z||{|{|}|}|{|||{{{z|||||||{|{z|{z{{}|{{{||{{|||z{{|}|{{|}}|}|||{|{{|||||{|}{{{|{{|{}}||{{|}|z{{{|{||{{|}{{||{{||{{{|||{||||{|{{{|{|{{|||}||||{{{z{{|{{|||{{{{{z{zzz|{|{{~~~}}}}}|}|||}|~}~|{|z|{|{{|{|{}|}|{z{{{{{{{|||{{|{||{{||{{{||{{|||{{{z|{{zz{{{z{||{{{z{z{{|{{|{{|z{{z{z{{{|z{{||||y{z{{zz{|{{{{{||{zyzzzzzzz{||{{{z{{{z{{{z{z|{{{{{z{{zz{z{{{{|{{|{zz{{{{zz{{z{}{|{{{{{{{{|{|{{|||{z{z{z{{z{{|{}|{|{{{zz{{{z{|{{{|{{{z{{{{||{z|{|{{{{{z{z{z||{||||{||{{{|{|||||||||z{{{{{{||{{||{{|{|{{{{{{||}||||zz{{{{|z|||||||||{z{{{{{{|||||||}{{|{{{{|}|{|||}{{|{{|{|{|{||{||{|{{z{{{{|{|||||z{z|{{{{|{|{||||}{{{|{{{||{|{|}}||{z|{{{}{{{{|||{{{{{{z{|z{|{|||{{{{{{zz|{{{{|{|{{{zz{{z{{|{{~~~~|}}|{{|}|}|}||{||{|{{{|{|{||||{{|z|{zz{{|||{{|}{|z{z{{{{|z|{{|{|{{{{{zz{{{{{{||{|{{{zzyz{{{{{{{|zzzzz{z{{z{{{{{{zzzz{{zz{||{||{{{{{{z{zz{{{z|{|{{z{|z{zzz{{z{{{|zzy{{{zz{{z{{{{{z{zzzzz{{|z{{||{{zz{z{{z||{{{{{{{{zzz{zz{{{{z|{|{z{{{{{{{{z|{{{{z{{{zz{z{||{{||{{{{{{z{z{{|{{|||{{|{{{z{{|||{{}|z{{|{{{y|{{{|{{{{{{{zz{{{{||||}{{{{{z{{{|{{||{|||{{{{{z{||}{{|}||{{|{z{{|}|||}||{{{|{{|{|{{|{{}}{{{z{{|||}{|{|~||{{{{z|z||{{{||{|{z|{|{|{{|{||||{z{{|{{{{{|{{||}{{{z{z|z|||{||}||{{{{z|{||{|z{|{{{{zzzzz{|||{~~~|}|}|{}}}||}~~~}|||z||{{}}||{{}}|{|{{z{{{|{{{|}||{|{{z{z{{{}|{||{{|{zz{z{|{{{{||{z{z{z{{z||{{{{{{|{z{{z{z{{{{{||{{{z{{zz{{||z{|z{{{zz|zz{z|z|||{|{{zzzz{yz{|{{{{{{z{zz{{{z{{{{||{|{{z{{z{{{|z|{{z{{{{{zz{z{{{|}|{{|z|z{{|{|{|{y|{|z{|z{{{{{{|||}z{z{{{{zz||{{|{{|{{{{{|{{|||}|{||{z{zz{z{z||{|}|{{{z{{z{|{z{||||{|{{{|{{{{||{|{{{{{|z{|||{|}||||z|{{z{{{||||}{|||z{z{{{z{|{{||||{{{{{{{z|{||||{}||{{{{{{|||||}}||{{|{{{{{||||||{{{z|{{{{|{|{||}}|{{||{{{{|||{|||{{|{|{z{|{|||||{{||{{{{{||{{{|{{|z{z{{z{||{{{~~~~~~~}}}|||}|}}}~}}||{|{|{||{}|}|{|}{{{zz{{|}{||||}z||z{{{{{||{}||}{{{z{{|{{|{|{||||{{zz{zz{{|z{||{{{{z{z{z|{{|{{{|{{{z{{{{y{{{{{|{z{{{z{z{{z{{{|{{{z{z|{{{{|{{{{||{{z|z{{zz{{|{{{{{{z{{{||{{{{z|||{z{{{zzz{{{|{{|||z{z|{{z{||{{|{||{{{{z{z{{||{{||{{{z{{z{|||{|||||{|{{z{{{{{|}}{|{||z{{{|||{|{|}||{{{z|z{|||||||{|{{zz{{{{{|}|||||{{||{|}|{||}||}|{|{z{{|||||}{|||{{z{{{{{||||}}|{{|{|{{||||}|||||}{{{|{{|}|||{|}|{||{{{{|||||}||{|{{{{{||{||||||||||{{{|{|||||||{{|{{z{{|||||||||{|{|{{{{|||||||{{{{{{{z{{}{|~~~~~~}}|~}|}}}||||~}}|||||{{}|||}||}|{{|{{{{||||||{}||{{{z{z|{{{{|||zz{z{z{{||{{{|||{z{{{{{|{||{{{{|{{{{z{z{{|{{|{}|{zz{{{{{|{{{{{{{{{{zz{zzz{{z|{{{{{{zz{zz|{|{|{||{z{{zy{{|{{{{{||{z{{{z{z{{z{z{z{{{{{{|zz||||{|||{{|z{{{z||{|{{{|{{|zzz{z{{{|{}{||{|{z{{z{{|{|||{||{|{{|{||}{||||||{{|{{||||||{||{{z{|{{{|{|{{||{|{{{{{{{||||||||{|{{{||{{{|{{||}|zz{{{{{||||||}|z{z||{|||||||||||z}{{{||||{|}}|||{|{z{|{|}|z|}|||{{|{|{{}{}}||||||{|||{{||||||{}||{|||{|{|||}||{|{{||{|{||{|||}||{||{{z{z{{||||{|{{{{{{{{|{{|~~}}}}}~||||}}|}|}||{|||{{|}{{|||||{{|{z{{||||{|}||{{|{z{{{{|z{|z{z{{y{{{z{|{{|{|||{{{z{{z{|{{{||{{{{{z{|{|{z{{|{|{z{y{z{{{{{|{{{{{{zz{{z{z{|||{|}|{{|z{z{zz{|z{{}|{{z|z{zz{{|{z{||{{zzz{{|{|{{{{{{{|{{{zz{{{||{||{{{zzz{z{||{z|||z{{{{zz|{{||||||yz{|{{{{{|{{z{|{|{{z{{{{|{z{{|{{{zz{|{{{||{|{{|{{{{|{z{z{{{|z||{|z{z|{{z|{|||{|||{{{{{{|{|{{{|}|||{zz{{{{||{|{{|{{{||{{{|}||||}|{{|{{{|||{{{||}}||{|{{{{|}||{|}{|{||z{{{|||||{}|{z{{{{z{||{||||}||{{{{{{||||{}||{{{{{{|z{{|||||{{z{{zyz|{z||z|{|{{z|{{{{{{{{z~~~}}}|}}||}}|~~|}}|{||||{|||{|}}}|{{{z{z{{|{||||||z|{z{{z{{||{|||zz{z{{z{{|{{|||{{y{{zzzzz{{{{z{z{{{{||yz{z{|||{}zz{{z{zz{z{{{{|{{zzz{zzz{{}{|{||zz{zy{{{{{{|z|{|{{{{{{{zz|{{{{|{z{yz{zz{{{{{{{||z{{z|{{z{|{{{||{|{{{{zzyz{{{{{{|{{{{{z{{|{}||{}{{z|zz{z{{{|{{|{~{{{{|z{{{{|||||z|{z{{{{{{|{{{|{|||z|{{{{{||{{|{|{{{{|{{z|||}||}|{{{z{{|{|{z|{{{|{{{|z{{{{}|}{}|||{|z|{{{||}|{|{}{{|{{{{|{|{{}{}}||{|z{{{{||{||||{{z{{{{{{||}|||{|z{{{{|{{{{}{||||{|||zz|||{|}||{{||{{{{{{|{||}||{{{{{z{{|{{{||{|{{{z{{{z{||{|~}~~~~}}}|}}|}|}}|}|}}|}{|{||{|{|||{|||{{{{z{|{{||{{|}||{{{{{z{{{{|{{|{{z{{zzy{{{{|{|zz{z{{{zz{{{{{{{zzzzzz{z{{z{{z{{|{{zz{z{{{{{{{||{{{z{z{{{{{{{||||z{z{{{zz{{{|{{{|{zzz{z|z{{|{z{{{{|zzzz{z{{{{{{|{{z{zzzz{{z{{{|{|{{{{{{{{{{{{{{||{{|{{y{{|{{{{{{{{{|{zzz{||||||{{{{z{{z|{z{{{{|{||{|{{{{{{|||{{}{{{z{{{{{{|{z|{|{{{{{z{z{|{||||||zz|{||{||z{{{||{{{{{zz{{{||}|{|||{z{|zz{{|{|||||{||{{|{{|{||||||}{z{{|{{|}{{||}||{|{{z{z||{|}}{||{{{{{z|||{{|}|{|{{{{|{{||{}{|||{|{{{|zz{|{|{|}|{{{zz|{z||{{|{||{{{z{z{y{{||{~~~~}}}}}|}}}}|||}}|z|||{|{}||{|{|}|{{|zz{{|z|{{{|||{{{{z{z{|z|{|{|z{zz{zz{z{zz{{|z{zz{{zyzz{{{{{{|zzz{zzzzz{z{zz{zzzyzzzyzz{{{z{|zzz{{z{zzz|{{z{z|{{zzzzzz{z{|{{||z{zzzz{{{{{{{{{{{{z{zzy{z|z{{{|{{zzz{{{zzz{|z||{{{zz{z|{{|{{{||{{{{z{z|zz{{||}||zzz{{{z{|{{{{{||{{{|{{|z{{{|{{|{{z|{z{{{{{{{z{}{zz||{zzz{{|{|{{{{{{{{{{|z|{|{{|{{{{{|zz{{|{|{||||{z{zz|zz|||||{{||{z{{{z||{{||||{|{{{{{{|{|{{|{||{||||{{{}{{||}||{{|z|{{|||||||||{z|{|{z{|{||{|||{|||z{|{||{||{{{{|z|{zz{{{|{{}{|{{z{zzzz{z{||{|{z{zzz{z{{{{|~~~}~}|~~~|}~}}}~}~|{{{||{||}|{||}|}{|{{{{{z{|{z|}}{z|{z{{{|{{{|{{|{{{zzz{z{{{|{|||{{{{{{z|{{{|{|{{{y{z{z{|z|{{z{{{{{zzz{{{{{z{{z{{{|{{zzzzz{{z{{{zzz{z{{z|{{{|z{|{zzzz{zzzz{{{{{{{{{|{{{z{{{{{|{{|{z{{{{{z{||z||{|zz{{{z{{||{{{||||zzz{z{{{|{{{{{{|z|{zzz{|{{{z{||{{{{{{zzz|||||{{|{z{{zz{{|{{{{|{{{{{{{{|||||{{{|{{{{z{||{|||||{{z{{{{{{{||{|{|{|{{{|{{{z{|{|{{|{{{{z{{{{}|{|||||{{{{{|{|{|||z|{||{z{{||{||||}}||||{{{{{z|{{|{{||{{{{{{|z||{|||}||{{{{{z|{|{{}|||||{z{{|{{{||||}}{z{{z{z{|{{{{|}{{{{{{zzz{||{{~~~}}}}}|}|}||||}|||||{{{|z|||||}|{|{{|{{zz|{{{{|||{|{zz{z{{z|z{{{|{|zz{{{{{{||{{|{|{|{z{z{{{|{{{{|z{{{{{{zzz{{{{{{zz{yz{{z|{{{{||zzz{zzz{z{{{z{||{{z{{zzzz{|{{{{{{{{{{{zzyz{{z||{{zzzz{{{z{{z{{{{{z{z|{{{{|{{{z{||{z{z{{{zz|||{{||{{|{{{{{{|{z||||zzz{z{{{{{{|{{{{{{{zz{{z{{|{{{||{{{{{{{{{{}{{{|{{{{{|{{{{{{{{|||z{{{|{z{{{|||||{{|{{{z{||{|{{|}}{z{zz{{{{||||||||z{{{||{{|{||||||{z||{|{|{||{|}|{{{{|{{{||||{{|{{{{|{{{{|}||{|}||{z{{{z{||||{{|||{{{{{z{|{||}|||{{{{|{{{{|{|{|||{{{{{z{z||{{|{||z{{{{z{{{{{{|~||}}}||}|}|}}}}}|||{|||{|{|{|}||}{|{{{{{{{{{||{{|{{z{{{z{{z{{||{{{zz{z{z{|z{{{|{{{{zz{{{{{}z{|{{zz|zy{zz{z{{z{{|{z{zzzzzz{{{z||{{z{zzzzzz{{z|{{{{z{zy{{{{{{{{{|{z{z{{{{z{{z{|{|{{{zz{|zz{|{{{|{{{z{{z|zz{{{{z{|z{{z{{yzzzz|{z{{|zz{z|zz{{|{{||{|{z{zz{z{{{|{{{{|{{{y|z{zz{{|{{{|{{z{{zz{{||{|{|{zzz{{{z{|{{{{|{{|{|{{{z|{|||{{|{{{{z{z{{{|{|||{|{{{{{{{z{{|{{{|{|{{zz{{|{|{|||||{|{z||{{{|z{|||}||z{{{z{||||||}||z{{{z{{{||{{}|{{z{{{z{{{|||||||{{{{{{{{{}|||{{|{{{z{z{{{||{|{}{|zz{{zz{{{z{{||{{{{{{z{{|{||{~}~~~}}|}||{||}}|||}|y||{|{||}{|}}||{}|{{{{||||||{||}{z{{{z}{z||{{|{{|yzz{z{{{{{||{|{zzz{{{{||z{{{{{{{{z{{z{zz{{y|{{{|{z{zzz||z|{{{{z{zz{zzz{z{{zz|{z{{z{|z{{z|{{}{{zz{{{zzz{{{z|{|{zzz{z{z{|{{|{{{zzzz{|{z{|z||{|{|z{{{{{{{{||{{}|{{{zzz{z|{|{|}{}z{zzz{z{{|{{||{{{{{z|z{{||||{{{|}z|{{{{{{|{{{||{{{{{{{z{|{|{{|{|z{z{{{{{||{{||}|z{{zzz}{|||}||||{{{{{{y{|{|||||{|{{||{{z||{||}{|||||{{||||||||||||}|{{{|{}||||||{{||||{{|{}|{||{|{{{z{{z||{|{||||{{{||{|{{|}{|||{{{{{{{{||{||||{{|{{{{{z{||{{|||{{{{zy{z|||{|~~~~}}|}}~~}}}}}}|}}{{||||}{|}||}||{{{z{{|||{||||||||||{{|||{{|{|{{{{{z|{{{|{{{||{{{z{|{z{{||{|||z{{{z{{{{{{{|{{|{{{{{z{z{{{{||{||{{{{{{|{z{|{|{|{{|{z{yzz{|{|{|}{{{||z{z||{{|z}{|{zz{{{{{{{{|{||{{|{{z{z|||||||{{{z{{z{||||{{|||zz{{{z}{||{|{|{|z{|{{z{{|||z{{|{|{|{|{|{z}||{{}|{{|{{z|{{||{||||{|{{{{{{|||{{}||{{|{|z{||||||||{{{|{{}{||{{||{}}|{|{{{{|||}}|{}||{{{|||||||||}}||{{{{{|{||{||}{||{|{{{||{}||||}||{|||||{}||}|}}||{{{{|}{|||{||}}{|z|||{}|{|}}||||||z{{{{{}||||{|||z{{{{||{||{{|||z{{{{{{{{|{|~~~~}}}|}|||}|}~}}}|{||{|{|{|||}}|||{{{{{{{{}|{|||{|{zz{|z{{|{||z{{{{zz{{z{{|{{}|{{{{z{|z{|{{z{|{|{z{{z{{{{|{{{{{{{z|{z{zzz{||{{{{{z{{z|yz{{z{{{|{z{{{{{{z{{{|{z||z|{{{zzz{{{z{{z|{{zz{z{{{|z{{|{{{z{{z|z{{{|{|{{|{{{{{z|{{{|{{|{|{{zz{z{{|{{|}{{}{{{{{|zz|{{|{|||{||{{z{{{||{|{}{|z{{{{{zz||{|||{z{{{||{{|{{|{{{{{z{|{{{{{{|{{|||{{|{{z|||||}|||}|{|{{{{{}|{|}||{|{zz|{{{||||{|||{{{|{|||{{}|{}|{{|{|{||z{||||{|||{}{|{z||{||{|{||zz|{{|z|||||{}|}{{{|{{{|{||||||{|{{|z{{{}{{{||||{zz{{{{{|{{{||{{z{{z{z{||||{~~~~|~||{|}|||}}|}}|||{|{z}|||{~}|{{z|{{{|{||||{|{z{zzz|zz{{|{{z||{|{yz|{{z|{{{z{{{z{{{{yz|{|{{{|{zzz{z{{{{{{{z|{{{zzz{{z{z{z{{{}{{zz{z{{z{z{{|{{{{|{z{{{z{|||{{||{{{z{zzz{z{zz{{{{{{{z{{zz{{{|||{{{{{{{z{{z|{{|}||{{zzz{|{{|||{{|{z{zzz{{{{{{{{||{{{{{{{z{{{{{||{{{{{{z{{z|{{{{|}{{{zz{{z{||{{{|zz{z{{{{z|{{||||}|{{||{|{{{|||{{|{|{z||{{{}{|{|}|{{{{{z{{}||}}||{{zz{|{{{{|||{|}{{{{{z||{{||}|}|}|{{{||{{|||||||||{{|{z|{||||{}{||{{{|{|||||||{||||{{{{{{||{{||||{{{{{{{{{}{||{}|{{z{zz||{|{{{||{{{{{{{{z|||{{}~~~~~~|}}}}}|}}}}||}}|{{{{|{||}|||||{|{z{||||||||z{{z{{{{{||z{|{|zz{{|{{{z|z{{{|{{{{zzz|{{{z||{{||{zzz|{{{{{|{{{{{z{{zz{{z{||z||{{zz{z{z{{{{{}{|}{z{{{z{z{zz||{||{|zz{yz{{{{|||{|{{{zzz{zz{{{{}{|{z{{{|{{{|{{|{|{{{{z{z||{{|||{{}z{||{z|{{{{|{{{}{{|z{{{||{|{{|||{{{|{z|zz{|||{||{z{{{{zz||{|||}{{{{|{{zz{||{{{|{|{{{|{{{{||}|}||z|{{{||z||{|{}|}{{z{{{{{||||}}|||{|{|{{{||||||}||{{{|z|{{{||||~||{||z}{|||{|}|||{{||{|{||||||{||||{{|{|{||}|}||||{{{|{{|||||{{}{{{{{{{z{z}||{|||{{{|{{{z{||{{||{z||{{z|{|{||{~~~~~~}|{||}|}||}}|}|||{{|{}|{||z||{|{{{{|{|{}|{||||{{zzz{z|{|||{||{{{{{z{z||z{{|zz{{{{{zzz{{|{|{{|zzz{z{z{z|{||{|{z{z{{yzz{}{|{{}{{z{{{{zz{{|{|||{{||{zz|{{{{{{{|{|{y{|{z{{{zz{{{{|{z{z{z{{{{{{|{|yz{{{{zz{{z{||{|{{{z|{{{{||{||}}{z{{zzz|||z|{|{{{{{z{{zz|||{{|{{|{{z|z{{||{|||{|zzz{{z{{{|||z}|{{zzz|{{{{|{{|}|{|{{{{{{{{{{|{|||{{{{{{|{||{}}}}||{|{|z{z||||||{||{{{|{|{{{|{|||}|{{|{{}{{||z{}|}|{{|{||{{|||||}}}{|{|{{z||{}{}}||||{|z{|{||{|||}|{|{||{|||||||}|{{{{{{{{|||||{}|{z|{z{{||{{|{||}{{{z{z{{{{{{{~~}}}}}{}{}|}|}}||||}{{{{{||{|}z|||{|{{{z{||{||||||{zzy{zz{{}|{{|}{z{z{{z{{|{{{{||{{{z{z{z{|{{{|{{{{z{zzz{{{{zz{{{y{zzzz{z{|{{{{{{{{{{z{{{||{{z||{{{zz{{zz{{{|{|||{{{z|y{z{{{{{||{z{zy{{z{z{z{{}||yz{zz{{z{{||z{{{z{z{{{{z{|{z{|||z{zzzz{{||||{{||zz{zzz{z{|{{{||{|{{{{{{{{|{{{|||{{{z{zz{{|}{||||{{zz|{{{|||{{{}|{{{z|{{{{|{||}||{z{{yz|{|||||}{|z{{{zz{{||||{||||{zz{z|z|}|}}{|{|||{{{{{{}{|||||||{{{|{|{||||||}||{|{{{{{{{|||||{|{{z{z{|||{|}}|||{{{|{{}{||{}}||z|{{|{{||{|{|||{{{{{z|zz|{|{{||{{{z{zzz|{||{~~~~}|}|||}}}|}}}}||{z{{{z{}|{|||}||{|{{{{{|{}{|{||{zz{{{z||{|{|{}{{{z{{zzz||{{{|||{{z|{z{z{{{z{{{zz{zzz{{{{{{{{{|z{z{{{zzz{|{{||{{{z{y{zzz{z{|{{|{z|{zzzz{{|{{|{{{z{z{{{z{z|{z|{|{zzz|zzz{|{{|{{{z|{z{{{z{{{|{|||{zzy{z{z{{{{{|||{z{z{{{{{z{{{|||{{zz{{z{{||{||||{z{{{{{{z|{{{|||||{{{{{z|||{{{|{|z||{{z{{||{|{|||{{{{||{{{{||}|}{|{{|{|z{|{|{{||{{{{|{{{{|||}||||z{{|{{{|}|||}|||{|{|{{{{|||||||}{|{|{{{{}{||||||{{{{{{||{{|||||}{{{{{|{{{||||||||{z|z|{||||{|||{{|{{|{{{|{|||||||{{z|{z{}{|{{||{zzzz{{z{{{|{~~~~}~}}|||||}}}}|}}||{z{{{{|}{{|||}|{|{zzz|{|||{{||{{|{{z{{|{z|{||{{{z{zzz{z|{{z|||{{{{{{{{|{|{z{{{{|{zz{{|{z{{z{{{{{{z{{yz{{z{{|{{{y{{zzz{z{|{|||{{{zzz{zzz{|{{|{{{zz{zy{zz{{{{{{|{zyz{zzzz{{{zz||{z{{|{z{{{{|{|||{{{z{z{{|||{|}||{zzzz{z{{|{{{|{{{{{zz{|{{|{{|||{z{{{{{{{z|{{||{||{||z{{z{|z{{{||{{{{{z{z{{{{{|{{{{{zz{{|{|||||{}{{{{{{{{||||||}|{{{z|{{{|{{|{|||{{{{||{{}|{{}|{||{{{{|{{|||||||{|{{|{{{||}||{{|}|{}|z{{{||||{||||{{{{{{{|||{{|||}{{{|z{|{||||||}{|||{{|{|||{{||||{|z{{zzz||||||{{{{z{{{||{|{{~~~~~}||}||}}||}}|}}|||{{|{{{||}{|{|{|{{{zz{{|z||||||{{z{z{z{|{|{{{{|zz{zzzz{{|{{{|{{z{{{zz{{{{|{{{zz{zzz{z{{{{|{z|{|zzy{zz{{{{z|{{{{z{zzzzzz{zz|{{{|z|{{{z{{{z{zz{|{{{z{{{zz{z|{{{{{{z{{zzz{{{{{{z|{z{{{{{zz||||{|{{{{zzzz{z|{|z|{||z{{|{z{{|{|{|||{{{zz{z{z|{{{{|{{{|zzy{zz{{{{||{{z{{{{|{{{|{||{{|{zzz{{z||{|{{|{{||{z{{{}{|{|{||z{{{|{{{|||{|}{||{{{|{{|{||{||}{|{{{{{{{|||{||}{|z{{{{|{{|{|||{||{{|{{{|{||{||}||z{z{{{{||||||}||z{{|{{zz||{|{|{{z{||{{{{}|{{|{|{{z{{{{{|{|||||||{z{z{{z{{z|{||{{||zz{{z|{|{|~}}~~|}}||||}}|~}~}}{|||{|{|||||}||{{|{|{{{{||||{||{|{{{|{{{{|||{||{{{z{{z{{{{{|{||{{{{{{{|z{|{{|||{{{z|{z{{{{{{|}||{zzz{{z|{{|{{|{{{z{{{zz{{{{{|||{{{{{zz{{}|{{{}|{{yz{y|{{{{|{|}|{{|zzz{z{{z||{{{z{{{{{{z{||||{|}{zz{{{{{||{{z{||{{{z{{{||{{{|{{|z{|z{|{z||||{|}||{{z{z{z{|||{||||{{zz{z|||||{|}{{zz{{{zz|{|{{||{{zz{{z{z|{||||||{{{z|{{{}|||{|}|{{{||{{z{|||{{|}}{{{{|{|{{||}|}|{{||{}|}||||||||}{{{{{{{{}|||||||}{{{{||||||}{}|{{{{{{{{||||{|}||{{||{{{|||||||}{||{|z{{{|||{|}||{|{|{|{{}{{||{||{{{{{{{|||{|~}}|}||}{}}|}{}|}}|{|}{{{|{|||}}||{||{z{{{|||{|||{{|{{z{z|{|{||||{{{zz{|{{{{|{{{}{|{{z{z{|||{{}{{z{{{|{z{{{|{{{|}z{zz{y|z{||}z{{{{{zzzzzz{||{|{{|{{{{{{{{{{|{{|||{{{{|{{|{|{{||{|{{{{{{|{z{{{{||{zzz{{zzz{{||{{|{|{{z|{{z{|||{|||{z{{{{{z{{{{{|{|{{{|z{{{{{z}||||{{{{z{{{{|}{||||z{|{{{||||||{{}{{{{||zz{{||{||||{||{|{{{|||{||{|{{{{{{|{|||||||}|z{|{{|{||{|||||{z{{|{{{||}|||}}{||{{|{||||}|}}}|{{|{}{{}||{|}}}{}{{|{{{||{|||}||||{||||{{{{}|~}}{{{|||||{{|}||}{{z{{{{{|||||{}{{|}{{{|{|{||{||}|{|{z{{{||||{~~~~~~|}~|}||}}}}|||}||{||{z|||||}{||{{{{{z|{|{|}|||{|{|{{z{z{{{{{|||z{{z|zz{z|{{|||{{z{z{z|{||}{{|}{{{{z{{{{{{{|{|{zz{{z{{zz{{{{{|{{z{{{z{zz{{|{|{|{{{{{{z{z{|{{{z|{{{{z{zzzz{{{{{{{{{z{zz{z{{{|z|||z{|{z{{{|{|{{|||{{{{zz{{|||{{{|{{{z{z{|{{{{||{{{{{{z{{{{{z|||{}|{||{zz{{{|||{{|{{{{z{{{{}|||{|{|{z{{{{|{z|{|||||{{zz{{{|z{||{||{{{z{{{{{|}{{}{|}{{|{{{zz{||{||{||zz{{{|{{}|}{|||{|{{{{|}|}}|}|{}}{|{{{{{{}|||||||{|{{||{}{||{||}|{{{{{{{|z||||||||||{{{{}||||||}{{{{{{{{{{{{{||||{|z{z{{||||{|||{{{{zz{|{{|||~~~~|}|}|}||~}}|}}~}{{{|||{|||{{||||{||{{z{{{{|{|}||{{{z{zz|{|{||{|{{{z{{{{{||{{||{|z{{{{{z{|||{||{{{|{zz{{{{{{{|||z{{zz{z{|{{{{|{{{z{{z{z{|{|{||{|zz{{zy{zzz}{{{|{{{{{zz{z{{|z{{|{{{{z{z{{z|{{|{{{{{{{{z{{{|{{{{{||{{z{{{{|}|{{||{{{{{z{{{{z{{{{|{{z{zzzz{{{{z{{|{|{|{{{{z{|||{||{{{zz{{z{{||||{||{|zz{{{{{}|{{{||{{{{{||{|}|||}||{||{{z|||{|||{}||{{{{|{{{|||{}|||z{|{{{|||}|}}||{|{{|{{{||||{|||}{|{z|{{|}||||}}{||{{|||||||}||||{{{{|{{|||{|}}|||{|{|||{}|||}|||{|z|{z{{{|||{||{{|{{{z{{||{|{{|z|{{{z{{z|{{{~~~~~}}}}}|}|}||~}~|}{{{|{{{{|||}|||{{{{{|z{{|{{||||{zz{z{{|{||{{{|{|{{{{|{{{|{{z{{|{|{{{{{z{{{{{|z{{{|{z{{z{{{{|||{zz{{{z{{{|{||{{{{{{{{z{|z{{{{{{{zzzz{zzz{{{{|||{z{zz{zz{|{z|{{{z|{{{z{zz{{|{|{||{{{{{{{||||{|{||{|z{z{{{{{{{|||{{zzz{|{|{{{|{||{{{{|zz||{{{|{|{{{|{{{{{||{|{}{||z|{{zz{||{|{||{{{z|{{{z{{|{||{||z||{||z|{}|{}|{{{{{|{{{||{|{||||{{{{{{z{|{||}|{|{{{||{{{|}||{||{{|{||}|{}|||{}}|{{||{||{}|}|{||}{|{{{|||{|||||}||{{|{{|{||||||}{|{||{|||||||{|||{{z||{z|{{{||||{{{{{{{{{|}{{{|{{z|{{{{{y||{|~~~}~~~~|}}|}}|}}}}}}}|||{{{|{{|{{z{||||{|{{{{{{|}|{{||{|{zzz{z{||||{{|{{{z{zzz{{{{{{{||{z{z{{{|{|{{{{{|z{{z{{{{{{|{{|{zzzz{yzzzzz{{|{{z{{{zz{z{|{|||z{{{|{zz{z{|z{z|{|{zz{{z|z{{{{|z{{{{zyzz{{{|{|{{|{{{z{{{z{{{{{{{|}z{{z{{zzz||{{{{|{z|{zz|{{{||{{{}{z{zzz{z{{{|}}||}{{{|z{{z{||{|{z|{zzz{{z{{|{{{|{z{|{z{{|{|{|{{{|{{{{|z{||}||||}|{|{{{||{|||}||}}{z{{||{z||}{||{|}{||||{{|||{||||{|||{{|||{{{|||||||{{|||{|{|z}{}|||{{|z|}||{}|||{{{|{|{|||{||||}||{|{{{{|{||{{||{{|z{|z{|}{|||}|{|{{{|{{{{{|{|||{{z|{{{{{{}||}}~~}~~}}}~||}{{|}}}}}}}|{|{{|{{}||{||||z{{||{{{{{||{{||{{{{z{}{{{||{{{|zz{z{z{{{|z{{{{{{z{{{zy{z|{{{{{|z|zzz{{|z{{|{{|{zzzzzzzz{{{{z{|{{{{zz{y{{{{{{{|{z{{{{{zz{{{{{{|}{{y{zz{{z{{z||{{{{zzz{{z{|z{{|{||{{{{|{{||{{{{{|{{z{{{|z{{{z{||{{z{{z{{z{|{{|z|{z{{{{{zz{{|{{{{{|{{|{zz{{|{|{|{||{{z{{zz{|||||}{z{{|z{{{z{|{z}{zz{{{{{{{{}{{{|||{{{z{z|{{|{|{||||{{|zz|{{}|||||{{z||{{{z|{{{{|}|{{{{{|z{{||}|}|}|{{{{|{{z}|||}}|}{{{{|{||{|{z||{|{z|{{{|{|}{}}{{|{z{{{|{||{|{|||{{{|{{|||||||||||{{{z{|z|}|||||||{{{{{z{{|{{|~~~~~~}}}}}|||}}|}|}}|}{||{{|z{{||||}{|{z|z{{||||}|{||{{{z{{z{|{|{{|{{z{|{{{{z{||{|||{|z{|{{zz{z||{{|{{{{{z|{|z{{|{{|{{{zz{z{{||z{{|{{|{z|zzz{{{{{{{|{{{z{z{{y{||{{{||{z{zzz{zz{{|{{{{|{{z{z{{{|{{{{|{{zz{{{{z{}{||{{|{{zz{|z{z{|{{||{{|{z{{{{{z{|||{|z{{|z{z{|{{||{{|{||z{{{z{}{}||{|{{{{{{{z{||||{|z{z{|zz{|{||{{||||{|||{{{{|{}{||{{{{|{{|{||{|}|}|||{{z{{{||{||{|{{{{{{|z{|}|{{||}z{{{|{{{||||{}}}{{{z|}{{|}{{|}||||{{|||{|||||{|||{{{{{{z{}{{|}|}{{|||{z|{{||||}||{z|{{|z{{|z|||||{{|{z{{z|{|z{{{z|{{{|{z|{|{{}~}~~}}}||||}|~|}|}}}}|{|z{{{}{|{}||||{{{{{{{|}||||||z{z{{z|z{{||||||{{|{zzzzz||{{}|{|z{zz{{z|z{|zz|zzzzz{{{{{{||{{|z{{z{{zz{{{|z{|{{{zzzz{zz{{|{{{||zz{{yz{{z{{{{{||{{{{zzzzz{zz||z{{{z{yz{z{z{{{{z|{{{z{{zz{{||{{{{z{{z|{{z{{{{{{|z|{{z{z|{{{z||{{||{{zzz{{{{|||{||{{{z{z{{{|{{{|||{{{|{{{{{|{|}|}{{|{{{{zz{{{z|}}{{{{{{|{{|{{|{|||{{{z{|{|{||{{}||{{{|{{{{||||{|}||z{{{{{{||{|||}}{{{{{{||||||{}}||{{|{|{|z|}|}|||||{|{{|{{{|||}}|{{{{|{z{|||{|||}|{{|{{{z{||{}{|{|{|z||{{||{|{||||{{{|z{{{||{{{|}|{{z{y{{{{{|}~}~~}}~~~}~}~{|||}}|||}|}|{{{||{|||}{|}|||z{{{|{z|{{{{{|||{{|zz{z||{|{|{|{{{|{{{{z|{z{||{{{{{{{{z{{{z|{{{|{{zz{z{{{{{{{|}{zyzz{|{{{{|z{{z{{{yz{{{{{{{{{{|{{|zz{yz{|{{{|}|{{zzzzzyz{{z{{{{{{zz{zz{zz{|{|{{{{{z{{{zz{|{{||{{{{z{{{z{{|{{{|{zz{{{z{{{{|{||||{z|{{zz{||{|{{{|{{|{z{{{{{|{|||{{z|{{{{|||{|z||||{{{{z|{|{{{{{zz{{|{|{{{||}{||}}{{{z|z||{|||{||}{z{{{|z{||}|}|}||{|z{{z||||{|||||{}{{{|z|||}|}||{|||{{|{}}||}|}}||{{{{|{}|}{||}|{{|{|{{|{}||{|||{{{|||{{{|{|}||||{z{{{|z{|}|||||||{{{{{{{{||{{}|{z{{{{{z|||{{~~~~~~~}|~~}||||||}|~|||}|}}|}||{|{||{|{|}||{|{{{{{|{|}||||||{{{{{{|{{|{{||{{{{z|z{|}|||{|{{{{{{|{{{{|{{|{{|z{{{{z{||{z{|||z{|{zy|z{{zz}{|{|{{{zzz{z|{{z|{|{{{{z{z{{||{z||{{z{|zzz{{|{{{{||z{{z{{{zz{|{{||{{|{{{{{zz{{{|{|{{zz{{z{{{|{|||||{{{{{z{{|{||||||{{{{{{{{{||{|{||{{||{{{z||||||||{z{{{{{{|||{{{|{{{z{{{{z|||{|||{||{{{||{{||||{||{{{||||{|||}{||}|{{{{{{z|||{||||{z{{{{{{{|||||{|{||{|||{||{||||}}{|{{|{|{}||}|}||{}|{||{||||||{||{{{{{|{||{|||}}|{{{|{z|||{{||||{||{{|{{|}||{{|||{{|{{{z|||||{{||{|z|z{{|||||~~}~~~~}}}{{||||}~||}|}}{|{||{|}|{{|}|{|{||{z{{{{||z||||{|zz{{z{|{{||{||z{{zzzzz}|{{||{{{{{{{{{{{|{{{|{{z{zzzz{{{||{|z|{{{{zz{{{|{||z{{|zzzz{zz{{|{{{||{{{{{zzz|{|{{{||{zz{{zzz{{{|{{|{{{{z{{zzz|{{{{|zz{{{{|{|{|z|{{||||{{|{{||||z{|||{{zzz{{|{{|{|||}|{{{|{{z{||{||||{{{{{z{{{|{}{|{|{|{{{z||{{||{{|{zz{|{{{{{{{||||{|||{|{|{|}|||{|||{{{{{{||z}|{|}|{{{{{{||||{||{|||{{|{{{{|}||||||{{{{||{{{|{|{}|||{|{z|{|}|{|||}||z|{|{{{||{|{|||{{{z{|||{{{{||||||{{|||{{|{}|||||{{{{{z{{||{{||||{{{{{{{||{|{{||{||{{{{{|{||{~~~}~~}~~}}}}{{{|||}||}~}|||zz{{{|||{||||||{{{z{{|{{{{{|{|z|{z{|{{z|{|{{{{{zzz{{z{|{{{z||{{{{{z{z|||z{|{{{{{z{zz{{z{{z{||{z{{z{{z{|{{{||{{zz{{{{{{{|{|{{{{{{{{z{{{{{{{z||zz{{z{z{{|{z{|{|{z|z{zzzz{||{|{|{zzzz{{z|||||||||{zz|{z{|{||{{|}{{{zz{|||||{|{||z{{{{{{z{{|||{{|{z{z{{{{{}{|||{|}{{{{z{{{}||}{{{{{z{{{z{{{|{{{{{||{{|{{{||||||||{|{||{z{|~|}||{||z{z{{z{{{{|}|{||{|{{{{z||||}|}{|{}{{|}|{||||}||}{{z{{{|{|}|}|}|||{{{||{|||{|}|{|{|{z|z|||}||||{|{{|{{{{{{||||}}{{{{{||z{{{|||||{{|{{z{{{|||{||||z{y{zz{{|{|{~}|~}~}~}~}|{}}||||}}}}}}|||{{{||}{||{|{||{{{|{{{{||{{{|{|{|{{{zz{{|{{{{|{{{{{zzzz|{{{{{{{{zzz{{{||{{|{|{{{z{|{zz{|{{{{||{{{z{{zz{||{{{{{{z{{{{zz{{{{{{z{{zz{z{z{||{{{{{}z{{z{{|z{|{{{|||{{{z{{{|{{||{{||{z{zz{zz{{{}|{{|{{z{{{{z{|{|{{|}{z{{{{{{}{{{z{||zz{{{{{z{{{|{|}|{z}{{{{{{||{|{||{z{{{{{z||||{||||{{z{zz{|}|{{{{|{{{z{{{{|{}|||{|{|z{{z|{{|{|{}|{{|{{|{{{|||{|}}|{{{||z{{{|||||||{|{{}{{{{{|||||||{{|{||{|}||}|}|{{|{{{||||}||}|{|{{|{|{{||{||{}|||{{||{|||||||||{||zz|{|{{{{{||{|{z||{{{{|}|{|}{{{{{|{z{{|{||~~|}|~~~}}~}|}{|}{|}}|}}|}}||||{{|{{}|{{}||||{|{{{{{{{||{{}||z{zz{|z{|||||{{zz|{{{{z{|||{{|}|{{{z{z{{|{{{|{|{z{{z|z||z{|{{||{z{z{{{{{{{{{|{{{zz{{{zz{|||z{||{|{{{z{{{{{{|{|||{z{{zz{{{||{||z{z{{z{{{{{{{|}||{{|z{|{{{z{|||{|{z{{z{{z{|{z|||}zz{{y{{|{{|{||{|zz{z{{{z|z|{{||{{{{{{{{{{|{{{|{|{{{{{{{{|{||{{||{|z{{{{{}{{{{{{||{|{|{{{|||||}}{|{{||{{|{|||{||}{{{{{{z{|||||||||{{{|{|z|||{}||{}{|{|{|{|||}||{||z{|{{{{|}}||}|}{|{|{|{||{}|}|{|{{{{{|{{{{||||}||}{{|z{{{|||||{}{y|{{{{||||{|}|}|{z|zz{{{||}|~||{||{z{{||{|{{~~}}~|}}}}~~~~}|||||||||{|}||}|||{|||{||||}}||{{z|{|{z{|{{{|}|{{{z{{{z|||}{|{|{{{zzz{{{{{z{{||{{zzz{{{{{{|{||{{z{zz{zz{{{{{{{{|zy{zzzzz|||{{{{{y{zz{{z{|{{{{||{z{|{z{{{|{{|{{|||{{zzzz{|{{{z{{z{zzz{{z{{{{{{{{{{z{{{{z|{|{{{{|{{z{{{{z|{{{|{||{z{{yz{{{{{{{}|{{{z{z{{z{{{|{{|||{{||z{z{|{{{||{||{{{{{{|||{{{}||{{}z{z{{|{{{}||||{|z{|{|||{|||{{{{{|{|{{||{{||}{{z|{{{z||||{{}|{{{z|z{z|||{|||||{{zz|{|{{{{|{|||{||{||||~|}{||}|{{{z{{{|{}||||||{{{{{{{{{||{}|||{{{{{{{{||}|||}{||{{z{{{||||{}{{|z{{zy{{{||{||||{|{zz{{{{|{{~}~}}}}}~||~~~|||{}|}{{|||||||{||{{||{|{|{|{}|||{|{{z{{{{}{z||{{|z{{zz{|{{|||{z{{{zz{{{|{{z{||zz{{z{{z{{{{z{z{{zz{zzzz{{{{|{{{zz{y{z{z{{{|{{{{{yzz{{z{|{{||z|{{{z{zzz{{{{{{{||{zzzzyzzz{|zz{{{{{zzzz{{zz{{|{{{{zz{z{{z{{{z{{{{zzzz{z{z{{|z{|||{{|zyzz{|{||{|{{z{{{yz{{|{|{{{{{{{{z{{{{{|{{|{||z|{z{zz{{{{||{||z{|{{zz{|{{{{|}|{{{{{{z{{|{}{|||{{{z{{{{{{{|{{|}|z{{z{zzz||}{{||{{{{|{{{|}||||||{z{|{{||||{|||{||{{{{{{{||||}{}||{|{{|{{||||{|{}{{{{z{{|||{|{|||{z|{{z|{{|}|{}{|{{|zzz|{{|{||{|||{{{zz|z||{||||{{{|{yzzz{{||{~~~~}~}}~~}|}~}}|}}||{|{}||~|}}|}{|{||{|}{||||||{{|{{{{{{{|}{{||||{{zz{z{z{{{{|||{{z{{{z{|{zz|{{z{{{{z{z||{{{{{z{{{z{{z{{z{|{|{{{{{{zz{z{{{{|{|{{{{{z{zz{{{||||{z{{z{{z{{{{|{|||{zz{{{{{{|{{{z{{|{zzzz{zz|{|||{|{{{z{z|z{z||{|{{|{{{{{{{{{|{{||||{{zzz{{{|{{||||{{zzz{{{||{{{{{|{{{{{z{z{{{z|{|{{{{{{{|z||||{{|||{z{{{{{||{{||{{|{{z{{{{{{|||}||{z|y{{{{|{|||||||z{{{{z{{}}||{||}z{{zzzz|}{||||{{{|{z||{|||||{|||{{{|{{{{~|}{|||{{{|{|{{|{}{{||{|z{{||{{|{|{||}||{{|{{{{||{||}||{||{{{{{||||||||{z{zz{{{{{{|{||||{{{zyz{{{}{{~}~~~~~|}~}~}}}}}|{|||{||||||}}|{{|{|{|||||{|||{{|{{{{{z||{{{{|z||z{{{z{{{|{||zz{{z{{{{z}||z|{{{zz{yzz{{{|{{{{{{{{zzz{{{{{{{{{|{{zzzz{z{{{z||{{{{{zz{zz{||{|{|}|yz{zz{y|{z{{|||z{z{zzzz{{{zz|{|{{zz{|{{{{{{{{||z{{{|{{{{{{|{|{{{z|{z|z{|z{{{{{|{zz{{{{z{{{{{{|{z{{{{z{z|||{|{}||{{{{zz{|{|{||{||z{{{{{z||{{{|{{{zz{zz{{{||{{||{{{{z{{{z|||||}}|{{|z{{{z|{{{||z}|{{{{|{{{||{{}|||z{{{{|z{}|{|}}||||{z||{|||||||||{z||{||{|||{|{||z{|{{{{{{||||}|{{{||{{|||||||}||{{||{||z{||{||||{|{{{{|{||{|||{|{zz{z{{{|||{||{{{{{{z{{{z{{|}}~}}|~}~}~}}~}}|}|{||{{||{||{}|{{{|{{|z||}{{|}||z{{|zz{{|||{||{{{{zz{{zz{{|{|||zz{{z{{z{z{z{{{||{zzzz{z|{{{|{zzzzz{{zz{|z{{{|{||z{y{{zz{|{{{{{{{{z{{zzy{{{{z{|{{{{{{zz{{||{{{{|{zz{{z{z{{{{{z|}{z{{{{z{z|{{{{{{|zz{z{|{||{{{{||{z{zzzzz|{{{||{|{{{{{{{{{{{{||||{{zz{zz{{|{||}{|{{z||zzyz{z||{||{|z{z{{{{||{{{{|{{z|{{zz{{{||{||z{{{|{{{{{|{|{{|{{z{z{{|||{}{|{{{{{|{{z{{||||||{{z{{{{|{|||{||||{{{{|||{}|||||{|||{{{{{{}}{{|{}||{z{|||{||||{||{{{{{z{{{|{{|{||}|{{{{{zz||||||{{{z{{{{z{z|{||{|}|{{{z{z{{|{{{{{{{|{z{zz{{|z{{~}}~}}}|~~~}}}}|}|}{|{|}|}|}||~{{{{||{{||||{{}||{{{|{{{{{||||}{{{{{{{z{{||||||}{|{z{{|z{|{{{||{{{z{{z{{|{|{{{|{{{|{zzzz{{{{{{{}{z{{{{zz{{{{z{{{{{{|z{{{||{{||{|z{{zy{{{z{|z||{{z{z{zzzz{{zz{{{z{{{z{z{z{{||{||{{z{{|{zz{{|||z|||z{zzz{{||{{{{{|zzz{zz|z||||{{||{{{{z{{z{||||{{{|{z{{{|{{|{{{|||zz{{{{|z|||{|{|||z{{z{z|{{|{{||z}{{{{{{{||||}{||{{{{{|{{{|||||}|{{{|{z{{|||}}|||}|z{|z{||||{{{||{{{}{{{{z||{}}||||{{{{{{|}}|||||||{|{{|{|||||||||{{||{z|{|||||||{{|{|{{z|{|{{||}|{{{|{zz|||||||||||{{{|{||||||}||{{{{z{{||{|z~}~~}}~|}{}~~}~}}}||||}z||||||}|{||||zz{{{{}{}}{|||{{{{{{{{|{{{z||{{{{y{z{||{||{{|{{{{{{z{{{z{{{||{{|{z{zz{{|z{|{{z{z{z{zz{z{{|{{{{{{z{{{zz|{{{z{{{zz{{zz{{{|{{{{{{z{zzy{z{z{|{||zz{{{{{{{{|{z|{{|zz{z{z{z{z{z{{||z{{z{|{{z{{|{{|{{z{{zz{z{{{{{{{|{z{{zz{{|{{{||||{{{{{zz{||||{{{{{{{{{z{{{|||{{||{{{{z{{{|{|}{{|{{{{|{{z{|{|{{||||{{|z|{{{||||||{{{{{{{{|||z|{|}|{{{{{z{{{||{{||z|z{{{{{{|{}|{|}|{|{|{|{{|||{|}|||||||{|{{|||}|}|||{|{|{||}{||||}||{{|{||||||{|||||{z{{{|||}|||||{|{{{{||{{{||||{{|{{{z{z{||{{}|{|{|z{{z{||||{~~}}}}}~|}}}~~}}||{|}|{{|}||}|||}{{{{{{z{}{{||}{|z{z|{{{{||||||||{{z{|z{{{|{|{|{{z{{{z{z{{|zz{|{{{z{zzzz|z{{{{{|{{zzz{zz{{{{|{||{zzz{z{z{{||{{||{{z{{{zz{z|{{{{{{{{zy{zz{{|{{{|||{z{|zzz|{|{|{|{{{{{z{zz{z{{{|{|{{|z{zz{z{|z{||{{{{z{{zz||{z{{{|||{{{z{{{{||{{{|{{|{{zz{|{|{{{||{{|{{z{{{|{z||z||z{{{{{z|{{{{{|{|{{{|{{z{||{{{||{|{{{{|||{|||{||{{|{{z{z||{|z||||z{|}z{{{{||||{{|zz{{|z||}|{|||}{z{{{{|{{|{||||}|{{|||||{}{{|}|~{|||{{||{|||||{}{{zz{{{{{||{|||{{{{|{{{{{|{{||}|{|{z{z|{{||||{|{|{{{{{{z{{{{{|{{z||{{z{{{|{|{~~~}}~}}~||||}||~~}|||{{||{}{|}|}||{{{{z{|{z||||||{{{{{{z{{||{{|{||{{z{{{y{{|}z{{{{{{z{{zz{{{{|{|{|{{y{z{z{|{{z{{{|z{zz{z{{z|{{|{{zz{yz{{{{{z{{{|{{z{{{{zzz{{{|{{{{zz|z{yz{{{{{||{{{{{zzzz{{{z{||{z{{{{zzz{{z{{|z|zz{y{|zz{{{|{{{{{z{yzzz{|||{{|{|{{{|zz{{{{z||{|}z{zz{{zz{{{{{{{{{{{{{z|zz{||||||{{z{{|z{|}|{{}|{{{{z{|{{{|||{|||{{{z{|{|{|{||}|{zz{||{{{{||{||}}{{{|{z{{{||{{z}{|{|{{{{{|||{||}{{z{|z{{zz}||{|{|}|{{{|{{|}|{{||}|{{{|{|{{|{|{||{{z{{{{{{{||}|||{|{{{||{{{{||||{||{|z{{{{{{}|||{{|{{{zz{zz{|{z|||{{{z{z{{|{||{~~~~}|}~}|}~}}}|}|}}|{{|{|{}}|||}|}|||{z{|z{{|||}}|}{|{zzz{{{|||}{|{{|{z{zz{{|{{{|{{{z{{{zz{{||{|z{{{{{{{{{{{|{{|{z{zzz{zz{{{z{{{{{{{|zzz{{{{z{z{z{|z{zzzzz{{|{{|{{z{{{y{z|z{||{||{{z{{{z{z{{z{{{{|{{zzz{zz{|{{{{||{z{{{{yyzz{|{|{{{zzz{{zz{||{{||{{z{{z{z{{z{{}|z|{{z{{z{|{{{{|{||{||{|{{{{{{{{|{{{{{{{{{{{||{z{|{{{z{{z|{{{|{{{|{{z{z{y{{|||||||||z{|{{{{|}|}|||||{z{{z{|||}{|||}|{{{{|{{|}|||{}|{{{{z{|{{|{{|||}{{|z|{{||}|{|{~{|{|{|{|{||}|{||||{{{{{|{{{||}|||}|{{|{z{{|{{|}}|{{zz|{{{{}||{||{||{z{z{{|{{|{{}{{{|z{zz{{|{|{}~~~}}|||||}|}}}~}{||||{{{||||}}}~|{|{{|{{|||{{||}|z|{{{{z{||{{{{{{{{{{{z{|{{{{{{|{zz{|{{{{{|{|z{{{{{{z{zz{||{{{{|{z{{{zz{{z{|{|{{{{{z{{zzz|{{|{|{z{z{zzzz{{{z{{z|{{{zz{{{|{z|{{{|zzzz{zz{z{{{{{{{{{{z{{zz{{z{{||{zz{{{{{z|{|{|{||z{{y{{{|z{|{{|{|{{zz{z{z{{{|{|||z{|zz{zzz{{|||{|{{z{{z{{z|{|||{{{{{{|zz{{|}{{{||{{{z{{z{{|||{|||{{|z|{{{{||}{||||{{|||||||{|||{}{{{||{{{{||||}|||{{{||{{||||{{|{{|{{{{|{{||{{{|}||{{{||{{}|}||}{{{{|{z|{||||{|||{{{{{{z{{|||{{}|{{{{|{{{{|{|{|}{{{|z{z{{{|||{|||}{|{z|z{{{||{|||{{{{{{{{{|z{|~|}~}}}{{}~}|~}}}|}||{{{{{|{|{|{}|||{|{{{{{||{|{||{|{|{{y{{{|{|{|{||z{zz{z{{{{{|{||z{zzz{zy{|{z{|{{z{z{{{zz{{|{{{{{{{{z{zzzz{{{{{{{z{z{yz{z|{{zz{|{{zz{zzz{{{{zzz{|zz{zy{zz{{z|{{}{{{yz{{zz{{|{{z{{|z{zzyyzz{{z{{|{z{{{{{{z{{{{{z{z{{zz{{zz{{{{{{{{zzzzzz{{{{|{{|||x{{z{|{z|{{{|{{{{{|z{z{{{|{z{{{{{z{{|{z{{||{z{|{{zz{{{z{|{z{z||{|{z{z{{{||{|{|{{{{|z{{{{{|{|{}|}{z{|{zzz{}||||||{|zz{{{z|||{||}{{z|{zz{{|{|{{{{||{z{||{{|{{{||||{{{|z{{{||}|{|{}||{{{{{{|{||{||{{||z{{{{{{}||{{}z|z{{{{zz{z||{||{{{{{{z{{{{|{|||z{{z{{{y{|{|{~~}}}||{}|}||}}|||||{||{|z||{||{}|{{{z{{zz|{{|}|||{z{{{|{z{|{|z{|{{{{{{z{zzz{|{{{{|{{z{{zzz|{{z}{||z{zzz{z{{{{{{{{zzzz{zz{zz|{z|{{{z{z{zzz{|z{|{{{{z{zz{zz{z|{{{||z{{{z{{{z|z|{z{{{z{zzzzy{{|{{|{||{{zzzzyz{z{|}|{{z{zz{yy{{{z{}{|{{{{zy{{{{|{|{|{{{{zz{{{{{{{{{{{{{{y{zz{{||z{{||{zz{{z{z{{{|{{{z{z{z{{z{{{|{z{{{{zz{zz{z{||{{{|{|z{{z{z{{|||||{|{zz{{{{{|{{{{{|}{{{z{zzz|{|||}|{{z{z|z{z||{{|{||{{{{{|{|{{||{}|{|{z{{{{{{||{{}|{{z{|{{z{|{|{{|||{{{{{z{{|{|{||{|{|z{{{{{|{|{{{{{{{{{{{{{|{|{z{|{{{{{{{|{{{|}|{{{{{{z{{{{{{{{|}}}}{|||||{{|}}||||{}}{{{{{{||{|{||||z{z{{y|{{{{{||zz{z{zz{z{z{||{z|{|{yz{{{{{|z{{{{{|z{zz{z||z{|{{zyzy{zzzzz|z{|{zzzzzzzyz{{z{{z{zzzzzzzzz{{{{zzz|yzzzzz{{{{{{||{z{{zzy{zyzz{{{{{{zzzy{zzz{z{z{{z|{{zzzzzzzz{zz{|{{z{z{{{y{{{{z{{{{zzz{yzzz{{{{z|{zzzzzz{{zz|{{{||z{zzzz{z{|z{{|{{{z{{{z{z{{}{{||{{{{z{{y{{||{{{|{zyy{{{zz{||{z{|{{zz{|z{zz{{|{||{{{{z|{z{{{{{|z{||{{|{yzz{||{{|{{{z{{zz{{||{{|{||z{{|z{|{z{{||||}|{{{z{{{|||{||||||z||{{z|{{||{{{{|{{|{z{{{{{|||{{|{|{{{{{|{{{||||{zz{{z{{|||{{|{|{{|z{{{{|{{|z|{zz{z{y{z{{|{{~}}}}}}||}{|}}||}}}|||{{||{{{||||||{{{z{{{{{|{||{|}|z|{zz{{|{{|{{|{{{{{{z{z{{{{||{|{{{zz{{{z{{zz||{{{zz{{{{{||{{{{{{zz{z{z{{{{|z|}{zzz{{{{{{{{|z{{{zzzzzzz{|{|z||||zz{{{z{{z{{zz{|{{{{{zz{y{||z{|||z|yz{z|z{{{{{{|{zz{z{{yz{{|{||{||zz{zzzz{{||||||{{|z{z{z{{{|{|||{{{zz{zz{{{{z{||{{{||z{{{|{{}||{zz{{{{z{{}{{z{|{{||{{{{{{|}{|{{||{{z|{|{|{||{{||{{{{{z|{{|{}{|||{|||z|{{{|{|}||||{}{{{z{|}|{|||{|{{z{{|{{||{||}|}z{{|{|{{}{|||||{{||{{|{|||{{}{|{{z{{z{{||||}|}||{|z{{z{|{|{|{||{{{{{{{{{||{||}{|{{{|z|z||||{|||{{{{{{{{{|{{z}}}|}}||}{|}|{|}{}}||{{||{{{||||}{}}{{z{{{|{|z|z|{{{{{{|zz{{{{|||{{|zz{zz{{{{|{{|||{{{z{z{{{|{z{|{{z{{zz{{z{{|zz{{|{zzz{{yz|{{|{{|{{{{|zz{z{{{z{{{{{zzzz{y{{z{{{zz{zz{{z{{z{{{|{|{{z{zzzz{{zz{z{{{{{{{z{zzz{{z|{{{{{z|{{z{zz{{{{{|{{z{{zzz{{{||{{{{}{{z{zz{{|{{{{{{{{{{z{{{{|{||{||{{z{{z{zz{|||{|{zz{{zzzz{{{{|{|{{{{{{{{{{}|{{}{|{z{|||z{{{|{{{|{z{{{{{|{{|{{|||}{z{{|z{{|||||||||{{|{{{{{}|{}|||{{{{z{{{|{|||||||z|{z{{|{|}{{{||}{||{{zz{|||{{|{|{{z{z|{|{{||||||{{|{zz|||z||{{}|{{z{zz{z|{|{|}|{{z{z{z{||{|{|||{{|{{z{y{{{|{|}|||}||||||{||}||}||{|}{{{{{{{}~||{{{|{|{{{{{{{{{{|{{{z{z{z{|{{{|||{{z{y{z{z{|{|{||z{y{{{z{|z{{{{{{{{{{y{{{z{zz{|{zz{z{z{z{{{{{{{{z{|y{z{zz|{z{{z{{{zzzzy{{{{{z|{{z{zzzzzz{{{z|{{|{z{{{z{{z{z|{{{{zzzzz{zzz{{{z{{{{z{z{{zz{{|{|{{|{z{z{zz|{|{{|{{{{{{zz{z{z{{{{{|{{{{zz{{{{{||{z||{z{{{z{y|{{{{{{{{z{{{{zz{{{{zz||z{{{z|{{{||{{}{{{{z{{{{|{|{|||{|{{z{{{{zz{{||}|}|{{{|zz{|||{|||{{{z{{z|z||{{|{|{{z{|{|{{{{{{|}|||{{{{{{|{{{||||||{{{zz{{|{{||||{{{z{{{z||{|||||}|zzzz{z{|{{||||{z{|z|{y{{{{|{|{{|{|{zz{z{|||{{|{{{zz{z|z|{{||}|~}}|||||{|||}}{||{{{{|{{{{||{|{|}{|{{{z{z|{{|||{{{zz{{{{{{||{{|||{zyz{zz{zzzz{{{|{{{{{{z{z|{zz||z{z{zzzzz{{zz|{{{{{{z|zzz|z{z{|{{z{z{{zzz{{|{z|{{|zzzzzzzz|z{{{|{{{{zzzzz{{z{{|{{{{{z{zz{z||{{{||zz{zzzzz{{z{{z{|{zzz|{zz{{{||{{{{zzzzz{{|{{{zz||{|{zzzzzz{{{{{|{{z{zz{{zz{{{|{{|{{z|zzz{{|||{{{z{z{{zz{{{|{{{{||{{zz{zz{{{|{z|||||{{{{{{{{{||{||{{{{{{{||{||{|||{{{{|{z{{||{{|||{z|{{{{z{}|z|{||{{|{y{{{{|{|{}|{{{{{{|z||}|||||{|{{{z{{{{{|{|{|{|{{{z{{{|{|{{|||{{z{{zzz|{{|{|||{{{|{{{{{|||{|||{{{{{|{{|{|{{z{{{z{zz{zz|{{{z}}}|||{{||||}~|||}}||z{{{|z{{|{{{|{z{zz{{{{{||{||{{{{{{{z{{{||z|{{{{z{z{z{z{{|{{{{{{z{{{{{zz}{z{{{{{{{z{zyzz||{z||{zzzyz{z{{z{{{{|{zzzzzzz{{|{{{{zz{{zzzzy{{{|{z|z{{{zzz{yzz{{{{{||{{zz{z{y{|z{{{|zzzzz{zz{z{z{{|{|{{{zz|zy{{{{{{|{{yz{zzz{{|{{{{{|zzzz{y|y{{|{{{||{yzzzzz{{{z{||{{{{|{{z{{{{{{{|z|{z{{{zzy{||{{{{{{zz{z{{z|{||z|{|{{zzzz{z{{{|{{||{{{z{{|{|{|}{|||{{|{{{{{|||{{||z{z{{{{{z|}{|{|||{{{{|{|{{}{|}|||{|{{{{z|{|||{}|||{{{{z{{|||{||{{{{|z{{{{}|{{|{|}|{z{z|z|||||{{{||{z{z{z{{{{||||{{{{{z{{{{|{|{|||zz{{y{zz||{|||}||}|{||{{|}|}{||}|{{{{{{z{||||||z{{|z{{{{{{|||{||{{{{{{z{z{|{{|{|{{{z{{zz|{|{{|{||zzzzz|{{{{z{{z|{zz{{zzz{{{{z{{{zzz{{z{z{z{z|{{|zzzzyz{z{{|z{|{|zz{{y{yy{{|y{{|{z|zz{z{z{{{|{{|{z{z{zz{zzz{z{{{{{zzzzzzzzz{{z{|{zzz{{zyz{{{{{||z{zzz{zzz{{{{{{z{{z{zzz{z{|{{{|{}z{{zyz{z{{{{zz|z{z{zzzzz|{{{{{{|{{{zzzzz{{{z{{{{z{{{z{{z{|{{{{}{|{z{{zz||{||||{{z{{z|{{|z{||{|{||{{|{z{{{|}z|||{|zz|{z{{|{|{{{||{|z{{|{{{|{||||{|{{{{{z{{||{}||{|{|{zz|{|z{|}{}{{{{z{{{{{|{{{{}|{{{{|{z{||{|z|}|{{zyzz{{{{|{||{{{{{z{{{{z{|{{{{|{{|z{{z{{|{{z}|}}||{|{{{}}||z|||{{|z{z|{||||}||||{zz{{zz||{{|{||{|{{{yz{{{||{z|{|z{yzz{z{|z{{{z{z{zz|zzz{{{zz{{{{zzzzz{z{{|z{{{zzzzyzzz{{{{{{|{{zzzzz{zzz{{{{{{{{zzzzz{{{||{|{|{zz{zz{{yz{{|z{|{zzzzzzzzz|zzz{z{zzz{z{zz{|zz{{{|yzzz{zzz{{{{{{|{{zzzzzzzz|{{{{{{{{{zyz{y{{{|{{{|z{{zzz{{{{{{{{{{{{{|{y{{{|{{{|{{{{{{{{{zz{|{||}{{{{z{z{{|{z|z||{{{{{|z{{{|}|||{{{{z{{z{{{|{||{{||{{z{zzz|||{|{|{|{z{{{{{{||{|{}{{z{{{|{z{{|{{{|{|{{{{{|{{}|{|{||{z|{z{{{{{|{|{{|{z{z{{{||||{{{{|{{{{{{{|{||{|{|}{zzz{z{z{||{{{||{{zz{{|{z|{|{z|{{{zzz{{z{||||}}}}}{{z{|y|||}||{}||{z|{z{|{|{|{||{{|z{{z{{{{|||{{{z|{{{zz|{{{{z{{{|{{{yz{{|{{|{z{z{{{z{{{z{y{z{{{{zz{zz{z{{{z{{{{z{zzyz{z{zz{|{{zzz{zz{{zzz{{|{{{{zzzz{{zz{{{{zz|z{{z{zzyz{z}{{{|z{{{zz{zzz{{{|{{|z|zzzzzz{{|z|{|{{zz{zz{{{{z{{|{{z{z{z{{{{||{{}|{{{{z{{{{{z|{{|{z{z{zzzzzz|{{{{{{zz{y{zzz{z{z{{{{{{{{z{{{|{{{|{{{zz{{{{z||||{|{{{{{z{z{{|{||||||z{{z{z{{{|{{|}|||z{|{{{{{|{{|{||{{{{{{{z|{||||||{z|{{|{|{||{}||}{{{{{{z||}||||}||{|{{{{{|}}||{||{{|{{{z{|z|{{{|{{|{z{{{||{{|||{|{z{z{{z|{{{{{|{|||{z{{{{{||{{{|{{{{zz{z{|{{|{||||{{||}||||}|}}{||{{{{{{{{{{|{}||}{{{{{{{{{{|{|||{{y{{{z{{|{|{{|||{{zzz{z|{|{{{{|{zz{z{{z{{{zzz{{{{{{zzzz{z{{z{{{{z{xyzyz{zz{z{{{zzz{y{zy{{|{|{|z{{zzzzz{{{{{{z{{{z{zzzz{z{{|{{|{{{z{z{{zz{{{{|{{z{{z{z{zz|{{z{|{zz{zzyzzz{z{z{|{{{z{zz{{z{{{||{|{z{zzz{y|{{z|}{|zzz{z{{{{||{{||{{z{{zz{zz|||||||{z{{z|{{{|{{z{|{z{{|{{z{|{{|{|{|{{{z{{{{{|{}|{}{{z{{{z{z{||||{||z{{{{{{z|{|||{|{||{{{{|{|}{|{{||{{|{{{{z}|z{{|||||{{z{{|{|{{{|}|{z||{z{{|||{{{||{zz{|{{{|{{|{|{||{{{{{{z{{|{{{|{||{{{{{{||z|{{|{{{|z{{{{{{{{z{{{|{{zzzzz||{|{}{|||}{|{|||}|||||||{{|{{{{|{{|{}{}|||z{{{{|{z}|{||{z{z{{z{{{z{|z{{|{zzzzzz{{{|{|{|{z{z{zzzz{{z{{{{{z{{{{{{{{{z{||{zz{y{{yz|z{{{{{zzz{{{z{{z{{{z{{{zzz{yzz{z{{z{zz{|z{zzzz{{|z|z{{{z{{{zzzzz{{|z{z{{zz{{zzzzz{{|{|{{{{zz{y{z{{}{{|{{z{zzzzz{z{{|{|{{zz{{{zz{{{{{{{{z{z{z|{{{{{z{{{{{z{{yz{y{|{|||||z{{{{yzz{{{{||{zz{yz{z{z||{{z{|{{{|{z{|{{|||||||{{zz{z{{|||||{|}{{{|{{{{z|{{||||}{{{{{{{||||||||{{z{{{||||{{||}{|z{z{|z|{|z|{|{|{{{{{{{|}{|{{|{{|{|{||{{|{{{{|||||z{{{z{{{|||{{||{{zz{z{{{|||||{{||{z{{{||z|{||{{{{{z{{z{{|{{}|}|||{{|{|}||||}{|{{{z{z|{{|{|{|}}{z|z{z{zz{|{}{|||{{z{{{zzz{|{{{z{{{zzzzz{{||{{|{{{zz{z{zz{{{{|{{z{zz{zz{yz{z{{|{zzzzzz{z{{|||{{{{{{|zzzz{{|{{{{{zy{{zzzz{z{{{{|zz{zzz{{zz|{{{{|{{{{zz{zzzzzz{{{|z|zyzzzz{|{{{{{{{{{{zzz{{{{{{||{zzzzzy{z{{{{{{||{y{{{z{{{{{{{z{|{{{{z|z{{{|{{|{|{{z{{zz{{{|{|{|{{z{{{{yz{{{{z{{z{z{{{{zzz||{{||{{{{{z{{zzz{|||||{{|{{{|{{{|}||{|{{{{{{z|{{|{{||{|z{{{{{|{{|{||||{z{{{||{{{|||{||{|||||{|{||||||||{{||z{{}{|{||||{{{{|{{|{{{|{{}}|{|{|z{{|{|}|{{{{{{{{{z{{{{|{{|z{{{{{z{{{{|{{{||z{|{{{z|z{|{{||}}|||{{{{}|}||{}}|{|||{|z{|||{|}}||{z{{{z{{|z||}{zz{{{zzzz{{|{}||{z{zzyzzz{{{{|{|{{z{zz{zz{{z{z{{{{zz{zz{{z|{{{{{z{zzzz{{{{{{|z||z{{{zzz|{{|{{z{{{zz{yzz{z{|z{{{|{{{zz{|y{{{z{{z{{z{{{z{yz{z{{{{{{zz{zzz{{|{z{||{{{|zz{{z{z{|{{|{{y{{{y{{z{{{{{{|{z{z{zzz{|{|{{{{{z|zz{{z{{{{{|{|y{{{yz{{||{|{{{{y{z{{z{{{{{|{{}{|{z|{{zz{||{z{{|{{zz|{{{{|{|||||{|{||{{{}|{|{{|{{z{{{{z{{{|z|{|{}{z|{{{{|{}}||}{{{{{|{||{|{|{{{||{||z|{{{|||{|||{z|{z|{{||||{}}||{{{{{{{{|{||}{|{|{{{{{{|{{|{||||{z{{{{z|||{{{}|{z{{z|{zz||{{z{{z{{{|{zz{{{{{}}}{{{{||{||||}|||||{{{z{{zz||||}|}{{{{|{{z{|{|{{|||zz{{{z{{{|{{{{||zzz{{{z{{{{{|{|{z{z{zzyz{z{||{z{{{{z{zzz{{z||z{{zzzzzzzz{{{{{{{{z{zy{{{{|{{zz|{{{zz{|z|zz|{z||{zz{{zzy{||{{{{{{zz{{zy{zzz{z{{|{z{z{{zzz{{{zz{{|z{{{zzzy{|z{{{{{|{z{z{zz|||{{{||{|{zzzz{z{{{{{{|{z|z{|{z{{|{|||{{zzzzy{z{||||{|z{z{{|zzz{||{{{{{{{{z{{{{{}{|{{|{{{{{{z{|||}|{{{|{{{{|{{{||||{||}{{{|{z{y{|{}|{}|{{{{{{{{{|{|||}|{{|z{z||z|{|||||}|{|{z{{||||{|{|{{||{z{{|||{{||{|{{{{z{{{{|||||||{{{|{{{||{|{|{|{{|{{{{z{{|||{}|{zz{zz{z{{{{{|||{{{{|z{{|||{|||{|{{{|||z||||{|||{{{{{yzz||z{|||||{{|y{|{{|||z{{|{{{z{{zz{{{|{{{{}{{{zz{{{||{{zz{{{zz{{{{{{{{||z{{z{zzz{z{||z{{z{zz|zz{z{yzz|{|{{zyzz{{z{{{z|{z{zz{z{z{yzz{{{{z{zzyzzzzzzz{z{z{|{{z{{zz{zzz{zy{z{|{yzzz{zz{zz{|}{{{{z{zzzzz{{{{{{{zzz{zyz{{z{{|||z{{|{z{{|{{{{{{{{{{zz{{{{{{{{{{{{z{{{yzz{{||{|{|{zz{z{{{{||{|||{|{{|{{z{{}|zz{|{|zzz{z{{{|{|{|}|{{{{{{{{zz{{||||{y||{zzz|||{|||{}zz{{{{{{{||}{||{{|z{{{{{|{|||||{{{|{{{{z||}|||{||{|z{{{|{|{|||||{{z{z{{|{{z{{|}{{z{{{{|{{{{{|}|{zz{|{zz|{||{||{|{|zzz{z{{||{|{{z{{{{{zz{{{z||||||{{{{|{{{{{{||{|z{|z|{{{{{|||{||{z{z|z{{{z{{|{|{{|zz{z{{{{{{{|||z{{{{{z{{|{{{{{|{{z{z{y{|z{{{{{z{{{zzz{{z{{z{{{z{zz{zzzz{{{|{{{z{{{{zzz{{z{z{|||{z{z{{z{{{{||{{{zzz{zyz{z{|{{{|{zyz{z{zz{z{{{{{z{{z{zzzz{{zz|||{z{{z{{{{{{{{{|{zzzz{{{z{{|{{|{{z|{zzzzz|{{|{{{{zz{z{z{{{z{{{{|z{{y{zz{zz|{|{|{|{{{{{zzz{{|{{||{{{{{{{{z{z|{{}{|zzzz{{z|{{{||{|{z|{{yz{{{{{|{{{}||{{{{{z{|||||{||{{{{{|z{|{{|||{{z|{z|{{{{}{|{z||{{|z||z{|||{|||||{z{z{{||||{{{{{z|z{{y{||{{|{|||zz{{|{{{|{||{{{{{{{z{z|||{|{{||{{{{{{{{{{{{{||{{z{{z{z{{{{{{|}||z|{|{{{{{|||||}z{{{{{{{}||||{|}{{zyz{{{|{{{|||{{{{zy{z{{{||z{{||z{{z{zz{{{{{z{|{{|z{z{z{|{{{{{z{zzzy{zzz{|z{|{|zz{zz{z{z{{{{z{{{{z{zz{z{|{{|z}z|{{zzz{z|{{z{||{{z{{zz{z{z{y{||{{{zzz{zy{zz{{{|{{{{zzzzzz{z|{{|{{zzz|y{y{{|{||{{{z{z{zz{zz{{z|||{z{zzz{z{{{{|z{|{zzz{{{z{z|{z|||{|{z{y{z{{|{{{||{z{{{zz{{{||{||{|{z{z{y{|{|{{||||z{{{{z{{{|||{}{zz{z{|{{||{}{||||{{{z{{z|{{|||||}{z{{{{{||{|||}|{{{|{{{{{{|{|||||{z{{{{{{|||}||{|{{|z{{z|||{|||{|zz{|z{{||||||{|{{{{z||{||||{|{|{{{{z{z|{||{||}|{{{{z{{z{}{{|z{{{z{zzz{{{|||{}}||{{{z{{{||{||||{{{z{zz{z||{{|{||z{{z{z|zz{z{|}||{{zz{{{{{z{{{|||{z{zzzz{z{|{||{{z{{zz{{{z|zz{{{{{z{{zy{{{z{z{z|{|z{zz{{z{{{{{|{{zz{z{z|{z{z{{|{{z{z{{{z{{{{{{{|||{{{y{{z{{||{|{|{z{zzy{zz{{{{z|{{{{z{zzzz|{{{{{zz{{{{zyy{zz{{{||{zzzz{{zzzz{{|{|{{{{yzz{{{|{z{{|zzzz{zz{{|{{|{{{zz{{{zzz{{{{{|{|{{{z{|{z|z{{{|||{z{{{z{{|{{{{{{{|{{{|{zzz{|||{}|{{{z{z{{{{{|{|}|z{{|z{z{{||{|{||{{{{{z|{|||{||{|z{{{{z|{{{{{|||}{{z{{|{{{||||{||{{{{{z{{|{|{|||||{{{{{{{||{{{||{}{{{|{{{{{||{|{|{{{{{{z{{|||{|{|{|z|zz{{||{}{{||{{{z{{z{{||z{{||{}{{{{z{z|{{{}{}{{{{z{zzzz{{{{|{{{{z{z{z|{{{{||{|zz{{z{z{{{|{z|{{{zzz{{z|z{{{z{zz{{zyzzz{zzzz|{|{{z{zzzzz{{zz{{{zzzz{{yz{z{zz{{{{zz{zyzz{z{{{z{z{z{yzzzz{{{z{|{|zz{zzzz{z{{z{{||z{{{{zz{{{zyz{{{zz{zz{{zzzzz{{|{zz{yzyzyz{|{|z|zzz{z{zzz{||z{{z|{{{{yyyz{zz{{{||zzzzzz{{zz{{{|{{{z{z{zzz{|||{{z{{z{zzzzz{z{{{{|||{y{|zzy|{{{{|{z{{{z{{||{|}{||z{{{zz{zzz{|{|||||{|{|zz{{|{{{||{z|{y{{z{y{{|{|{||{z{z{{|{{|{{{{|{{{{z{{{{{|{|{|{||{{|y{zz|}{|{{||{{||zz{{{{{{{|||{|{{|zz{{{{{|{||z{{zz{zz{||{{||{|{{{{z{z{{{{{||{{{z{zz{z{{{{{|||{{{{{{z{{||||{{|{{{{{z{{{||}{{||{|z{zzzy{{{z{|||{{{zzz{z{|{|{|{|{zz{yzz{z{{{z|{|{z{z{zzz{zzz{{|{z{{zz{zz{{{{{{z|{z{zz{zz|z{{{|{{z{y{zzzzzzz{|{|z{zz{zz{{{{|{{z{{z{{z|z{z{{{{{{{|z{zz|zzz{{{z{{{|{zzzzzz{{{{{{|{z{zzz{{yy{|z{{{z|{{zz{yzz{{{{{{{|z{{{{z{z{z{{{{|}{z{{zzz{{z{z{{{|{{{zz{z{{{{{{{|{{{{z{z|z|{{|{{{{{zz{{zzz{{{{z{|{{zz{{{zz{{||{{||{{{{{zz||{|{{{||{{{{{z{{{|{|}{||{{{{{{{{||{{{|||{{{{{|{|||{{||{||{{{{{{{{}||}|{}{||{z{z{{||||||||{{{{{{{||{||{|||{z|{{{{||||||||z|{z{{zzz|{z||||{|{z{zzz{|||z{{{zz{z{{z{{z{z{|{|z|{{{{|z{|{|||}|{{zzzz{{|||{z|||{{yz{{{{{{|{{|||{{zzzzz{{z{|{{{|z{zzzz{{|{}{{|{|z{{{z{zz{|z{{|{{{{{{z{yzz{|z{{z{z{zzzzzz{zz|{z{{z{{{{z{z{{|zzz{zz{{{{{zy{||{z|{{{{zzz{zz{{|{z{{{{{zzzzz{z{{z{|{{{zzzzzzzz{{{{{{{z{{z{zz{{z|{{z{|{z{z{zz{{{||{|{{zz{{zzz{{{{{{{|zz{{zzz{{z{{{{{{|{zzz{z{{{{z|y{||{{{z{{zzz{{z{z|{{{z{{{z{z|{{|}|{{zz{z{z{|{|{|{||{{||{{{||{{|{|}}{|{{{{z|||{||{|{|{{{{{{z{}|{{{|||{|z{{{{{||{||{}|{z|{{|{|}{}|||{|{{{{z{{|{||{|{{|z{z|{{{}{|{|{{||{{{{{{{{{{{{{||z{{z|z{{{{|||||||{|zz{{z{|z|z{}{{{zz{zz{{{{{|}|||{{|z|{|||||||{}}{{{{{{{{|||||{|||{{z|{{{{||{|{{||{{zzz{{z{{{{|{{||zz{z{{{||{|z|{{z{z{zzz{{{{{{{|{z{zzzz{{{{{{{z{{{z{zzz{{||{|z{yzzz{z{z{{{{{||{{{zzz{zz|z|{{|{{{zzzzy{zz|{{{{{{|{{z{zzz{{{z{{{{{|zz{zz{z{zz{{z{{zz{z{{z|{|{{||{{{zz{z{z{{{{{{|{zz{{{z{{|{{{||{||{{{z{{{{{|||{|{{{{{z{{z{{{||{{|{{|z|{{{||||{{{{|zz{{z|y{||{{{{|{{{{|{z{{|||||||{{{z{{z{||||{}|{{{{{z{{{{||||}||{z||{|{{{||{{|||{{z{{{|z||||||||||{{{{|{||||||}|{|{{z{|{|||}|{|{|{{{{zz||{||{||||{z{{{zz{|{|{|{{{|z{{{zzz|{{|{|{|z|z{{{{{{||{{|{zz{z{z{{{||{{|||{|{|{z{{|{||{{||{||{{{|{{{|||||||{|{{{z{|||{|{}|{{zz|{{{|{||{|||{{{zzyzzz{{{{|{{|zz{z{{z{{{{{{|{zz{z{z{z|{|zz{{{|z{zzz{z{{{|{{||{zz{{z{zz{{{{{{{zzz{zz{z{{||z{z{{{{{z{z{z{|z{{|{{zz{{{zz{{{z{{z{|{z{{{{zz{zz{||{{zz{zzzz{{|||||{{{{z{zzz{{{{||{{{z{z{{z{{{|||{{}{zzzz{z{z{|{{{|||{{|{z{{{|{{{|||{{{zzz{z{||{|{|{{z{{{{{{||{|{|{{{zz{z{{|{{||{|||{{{{{{{z||{|}|||||{|zz||{{}||{|z{{{|{{{{{{|{{{}||{{z{{|z|||{|{|||{|{{{||||{||||||{|{{||{|||{{|||{{{z|z{|{|||}|{|{|{{{{{{|}z}|||{{{{{{{{{{|{z|}|||z{{{{{{{|{{|{{|{|z{{z{{|{{{{~|||{{{{{zz}{|{|||||{{z{zzz{{||{|{|{|{{{|{z{{{||||{zzyzzzz{{{{{{{|{|{{zz{zz{|{{|{{|z{{zzzzz{{zy{{|{{{{{zzyy{{{{z|{z{y{zyzzz{{z{{|{|zzzzzz{{yz{{}{{{{zzzz{z{{z{{z{|{{{zzzz{z|z{||{}}{z{zz{{{z{zz{{{{{{zzzzzzyzzz{||{z{z{z{yy{{{|yz||{zzzz{{{{||{|||{{{{zz{{z{z{{{|||z{{{{{{z{||{|{|{z{{{zz{z{{{{{|||{{|z{zzz{|{{{||zzzz{z{zz|{{{{{{|{{zz{{{{{|||{}|z{{{{{|{|{|{|{{||{{{{|{{z|{|{|||||{{{{{zz{|{{||||z{{{{{|{{{|{|{{||{{z{{{{{}}{}||||{|{zz{{|||{||}{||{{|z{{{{|{|||||{{{zz{{{{||{|}{{{zz{z||z|{{|{||{{{zzz{{|{{||||{|z{z{{{{{{|{{}||z{||{{{z|{|||||}{z|{zz{{{{|{{|}{{{{zz{|{{{{{{|||{{{{|{{{{{|{{{|||{{zz{zz|{{{{{{{{|{{{z{z{{{z{{|{{z{{{{zz{{{z{{{|{{{{zzz{z{{|{{|{{z{z{zzzz{{|{|{|{{z{{{zz|{{z{{{{{z{{{{{{{{{||{||{zz{{y{zz|zz{|{|{{{zz{zz{{||{{{{{z{{{z{z{||z{{|{|z{zzz{zz{{{z{{|zzz{zzz{|{{{{|||z{{{z{{zz{{z{|||z{{|{{{{z{{||{|{{{zz{{z{{}|{|||{{zzz{z|||{{{{{{|{{{{|zz{{{|{{|z|{{{{{z||{|{||}}{{{{z|{{{{{|{{||{|{{{z{z||{|||{||{|{{{{{{{||{{{{}|{{zz{|{||{||||||{|{{{{{||||{{|{|{|{z{{z{|{|{||||{{{{|{z|{{}||{}{{{z{{z|{{{|{}}{|{z{z{{{|{||{}}{|z{{|{{z{|{{|{{|{|z{{{{z|{{}|{||{z|{zzz{|{|{|||{{{|y{z{{{{{{{{|{||{{{zz{{{zz{{{{{{zzzz{z||{{|{|{|zzz{{zz{|{{z{{{|z{zz{z{{{{{{{{zzz{z{zzz{zzz{{{{zzz{{z{z|z{{|{{|{zzzzzz{z{{{|{|{{z{zzzzzz{{{{z{||zz{zz{{z{{{{{{{|z{z{{{z{{{{{{|{z{{{{{zz{{{{|||{{{{z{{{{{{{{{{z|{z{z{zz{{z{|{{z{zz{z{zz{{{{||{||{{{z{z{z{|{{{}|z{{{{zzz{{|{{{z|{{zz{z{z{{||||||||z{{z{{z{{{|{|||{{{{{{|z||||{}{}|{{{zzz{|{||}{{}|{{z|{z{{{|{|{|{{{|{{{{{||{{{|{{||{{{{{{{|{||||}{{{|{{{{{|}{{{{||z{{{{{|{{{|{||{|{{{|{{|{{{{{}}}}{{{{{{{{{{|z|{||{{{{{{{|}|{{|||{{{{zz{z|||{{|||||{{{{{{{|||{{||{{{{{zz{z{{||||||z{z{zz{{z{z||}{{{{|z{zz{{{|{|{{z{{zzzzz{{|{z{z{{z{z{zzy|{{||{{{|z{zz{{{|{{{z{{{zyzzzzzz{{z{|{|zz{z{zy{zz|z{{{|{{{z{yy{z|||{{|{|{yz{zzz{{{|{|{||{{yz|{zzz{{{{z{{{zzyz{zz{{{z{{||zz{yz{{zz{|{z{|{{|{zy{{{{{{zz|{|{zzz{{z{{{|{{z|{zz{z{zz{|{{|{|{z{{zz{y{{{}|{||{|||z{{{{z{{||{{|{{{{{{{{||{{|{{{||{z{{{z{{}|||{||{{{{|{{{||{}|{|||{|{|{z{{}{|||{{{{{z{{{z{|||||||{z{{{{{|{|z{|}|{{{{{z{{z{|{{|||}{|||{{{{||{}|{{{{{{{|{{|||{{{{{|{z{{|{{{{{{|{{{|||{{{|{z{|{||{{||{{{{{{{z{|{}{}|{|{zzzz{{||||||{{{{{{|zz{||{{{|}{{{z{{z{||{{||{|{{{z{{{z{{{{|{{|{{zz{z{{{{{{{{{|{z{{zz{z|zz{{{{{zz{zy{{z{{|z{{{{{zz{z{{z{{|zz{{{{{z{z{zz{z{{{{||zzzzzzz{||{{{{|{z{{zzyz{zz|z{{{|{{{zzzyy{|{{{z{{{{y{zzzzz{{{{{|{|{{zz{z{{|{z{|z{{{{{{zz{z|{{{}|{{{{z{{z{z{{{|{{|{{{zzz{{|{{z{|{|{zz{z{{z|{|{{{{{{{{{{yzz{{{||{{{{{{{{z{{{|{{||||{{z{{z{{|}|z||{{{{z|{{{{||{||{||{{{{{{{z{{|||||}{|{|z{z{{||{||{|{{zz{{{{||{}{}|}{{{{{||{||||{||||{{|{||z{|||||}||{{{{z|{||}{{||{{{z{|{{{|{|||{|}|{{|{|{z}{|{||{|{{{z{{{{|{{{{|||{|z{zzz|z{|||||{{{{zzz{{{{|{|}|||{{{{z{{{||}{{|{|z{{zz{z{|{{|{{||{{zz{zz{{|z||{{{{{{{z{z{{{{z|{{{z{zzz{{z{{|{{{|{{{z{zz{{{|{z{{|{zzzzzzz{{{zyz{{{{zz{{z{|{z{{z{{zzzzz{zz{z{{{{|{z{{{zzzz{{|{{{|z{zzyy{{{{z{{{{{|{{{zzyzyyz{{z{{z{{z{{{{{z{zz{{{|zy|{{z{z{{z{{{|||zy{{{{z|||z|{{{{{zzzz{{{{{{{||{{z|{zzz{{{||{{|z{{z{z{z{{|{z{{{{{{{{{z{z{{|||||{{z{{{{{z||{{{{|{{{{{{{{{|{||}{||{{{z{{{{|{|}{|}|{{|{|{z|{|{{{||{|{{zz{z{|{}||}|||z|{{|{{{{|||{|{|{{{z|z{{}|}||||}{|{{{{{{{}{|{||{|zz{|{{{|{|{||||{z{|{|{|}z||{|||z{z|z{||{{{{||{||z|{zz{{{||{{{}{{|{{{{{|{z{{}{|{{z{{{|{z{{|{{{{|{{{{{{z{|{{|{|}|z{{{{z{{{z{{{{{{zz{{zzz{z{{z{{|{z|yzzzy{{{{{{z{{{{zzzzz{{zz{{||{{z{zzzz{{zzzz{{z|{{yzyz{|{zz{{|zyzz{zzz{zz{z{{zz|z{zzzyz{|{{|z{zz{zzzzz{|z{{{{|{zy{zzyzzz{{{y{{{zzzzzz{z{z{{|{{{y{z{zzy{{{z{{{{{zzz{zzzz{{{{||{{z{zzz{z{{z{{{|{zz|{yz{z{{|{|{{{zz{{{zzz{{{{{{{z{{z{z{zz{{{z{{{{{{{{z{z{|{|{{{{{{{{{{z{{{z|{{{{{z{{{{{{{{{{}{{|}{{{zz{{{{{{||||||z{z{{{z{||{{|{{|{z{z{|{z|{{||||{{{{{{{{{|{|||||{{{{z{{{{|||z|}{|{{|zz{zz{{{|||||{z{{{{{{|{{}|{|{y{zz{{z{|{{{{{|{{z{z{{z{|{{{|{{{z{zzz{z{{||{|{|{{z{z{z{||{{{||{{z{{z{zz{|{{|z{|}zzz{|zz{z{{|||{|{z{zzzz{{{z{{{|zz{z{{zy{{{{{{|{{z{zzzzy{|{{z{|z{z{zz{{{z{{{{|{{{z{yz{{{{{{{z{{{zzzzzyyz||{z{{|{zzz{{yy|y{|z|{{{{{{zz{{yzzz{{{{z{zzzzzz{{z{z{{{z{zzzzyzz{{{{{{{{{z{z{{zz{||{{|{|{zz{zz{{z{{{{{z{{{z{zz{{{z{{{{|{{{zzz{{z{|{z{{|z{z{{{z{z|||{{|{{zz{{{zzz{{{|{z|{{{z{{{|z|||{z|{{{y{{z{{{{{||{|z{{zz{{z{||{{{|||||{|{zzzz{||{{|||{z{z|{{z|||{{{{|||{{z{{{|{{{|||}{{zz{{{{|{{||||||z{{{{{z|||||{|||zz{||{{z||||{|{|z{|||{{{|{|{||{{{{z{z{{{{{{}{|{{zz{y{{{{{{|zz||{{{{y{{zz{{{{}}{{{{{{{zz{{|{|{|}||{{{z{{{z|{||{{{{|{z{{{|{{||||||{|zzz{z||{z|z{{{{z{{{{z{{{{{{{|{z{{{z{z{|{{{|{|{{z{zzz{|{{{z||{z{{{zzzz|{{{{{{|z{z{{zzz{{z{{{{z{z{z{{z{{|{|}{||zz{{z{zz{{{{|{||z{z{z{zz{{|{{|{{{{{{{z{z{|{|||{{{z{{{zy{{|{{{||{{{{{{{z{{{{||z}z{z{{{z{{|||z|{||{{|zz{zzz}|||z||{{{{zz{z{|{|||||{z{{z{{z{{|{{|}|{{{{{{zz{z{{{{{{z{{{|{{{||||||}||{{z|{z|||{|{{|||{z{|{{{|{}||||{|z{{{{{{{|||||||{{||z}||{|{|||||||{{{{|{|||{}}|}|{{{|{{{{}}|{}|}|{{|{{|||||{|{||{|z{}{|{|{|{||||||zz{{{z{|||||}{{z|{{{|||{{}{|{||{{|z{{z{{||||{{{{{{{{{z|}|{|{|{zz{z{zz{{{z||{||z{{{{{z{z{{|{|||{z{{{zz{{{|{{{{{{z{{{zzz{{{zz|z{{{zzz{{z{{{{{|z{{z{z{z{z{{|zyz{{{{{zz{z{|{{{{{{{zz{y{{zz{{{z{{|{{zzzz{z{z||}{{||z{z{z{{z{z||z{{{zzz{yz{{z{zz{|{{{zzz{|{{{{z{z|{{{zzzz{{z{{{{{z{z{zzz{zz{{||{z{{|{zzzzz{{|{{{{{|{zz{{zzz{{{}|{{|{{{{{{zzz{{{|{|{|{{z{z{z{{{{{{{{{{zzz{z{{{|{{{z|{|z{|{{{{|{|}||||z{{z{{{{z{{{{|||z{{{{{{y{{|||{}|z{{{|z{{{|{{{{||{{{{z|{z{|z{{}||{{{{{{z{|||{|||||{{{z{{z{|{{||{}}z{{{{zz||{{||||{{z|{zzz{{||{{||{{z{{z{zz{z{{||||z{{zzzz||{zz||{z{{zzz{{{{{|{|{|{{|z{zzz{||{{||||{{{{{zz{|{|}|{|{{{z{zz{{{{z|{||{z{z{zz{zz{{{||{|{zzz{zz{{zzz|{|{z{z|zz{{{{{z{||{z{z{z{zz{{{{{{zzz{zz{z{{{{{z{{{yzzzzz{{z{z{{{{{{yzzzzzz{{{{{{{zzz{zyzzzz{}{z{||{z{zzyzzz{{z{{{zzzzzz{zzz|{{z||{zz{{{{{z{z{{{{zz{{{zzz{z|{{{z{{|z{zzyzz{{{{{{{{{zz{zzzyzz{{z{{{{zz{{{{z{{{|||||{z{{z{{zz|{{{{||{{{{zz{{z{{|{{|{{|{{z{{{z{{|{z{|}{{{{{z{{{|{|{|}|{zz|z{zzz{||{||||z{{{z{{{{{{|}|{{zzz{{{{||{||||||{zz{{{{{|||{{||{{{{{{{|||{|{}{|{{|{{z|{{|{{|z{|{{{z{z{z{|{}{{||{{z{{zzz{{{{{{||{z{{{z|z{|{|z{{z{z{{{zzz{{{{{|{|{{z|{{{|{|{{||{|{{{{{yz{{||{{|{{{{zzy{{{{z{z{{|{|z{{zz{z{{{{z{{{z{{{yzzz{{{{{{{|{z|{z{yy{{{z{{}{{z{zzzzz{{|z{{z{{zzzz{{z{z{{z{{z{y{zz{zz{{{{{{{{zzz{yzzz|z{|{{z{zz|z{{zzz||{z|{{zzzz{zzzz{zz{{{{{zzzzz{zz{zz{|z{{z|zy{zzz{{{{{{{zzzzyyzz|{{{z||{{z|{zzzz{{{|{{{|{{{{{zzz{{z{{{{{|{||{z{{{{{z{{{||z{zzy{z{||{{{||{z{{{zz{{||{{||{z{{{|{{{z||{|{{{{z|{z|{{||z{{|||{{{{z{yz}||{|{|{|{z{{zz{||{|{{|{{{|{z{{{{||{||||{{{z{{z{|{|||{||{{|{z{{z|{||{|||{zz{{{z{{|||{|}|{z{|{{zz{{|||||}{{{zz{z{{|{{{{|||{{{z{zz{{||{{|{|{{{z{{yz|{{{|{|{{z{{z|{{|}{{|||{{{z{zz{|{||||{||{|{z{z{{{{{|{|{{{z{zzz{{{|{{{{{{z{yz{zz{z{z{||{{{zz{zzzz{zzz{{{{{zzzzyy{{{{|{|{{z{{{{zz{{{{{{z{z{zzzzz{{{{z{{{{zz{zzzy{{{z{{{{z{zz|{{{y{{{{|{|{zz{{z{zzzz{|{|{|{zzzz{zzz{{{{{{{{z{{z{zz{{{{{||z{{z{z{zz{|{{{|{|{z{{zzz{{{{|||||{{{{z{{zzz{zz{{{{{{zz{z|{z{|{{{|{z{{{z{z{{|{{|{|{zzz{zz{||{{{|{{zz{{z{{{||||{||{{{|{{zz{|||{|{||{{{{{{|z{||{|{}|{{{{|{{{{}||{|||{{{|z|{|||{{}{|}|{{{{|{||||||||}{|||{{{{|{||{||||zz{{z{{|{{||{}}||{z|{{{|{}{{{||zz{{z|{z{|{|{{{|{{||{{{{z|{|{|{{{z{zzzz{{{{{{{{{{z{{{zz{z{||{{||{{{{z{{{|{|{{{|{z{z{yz{z{zz{{{||{zz{zzz{z{{{{{{{|{{y{{zz{z{zz{{{z{{|zzzz{|zzz{{z|z{yz{z{{{{{z{{{{z{{{{zzz{{{{zz{zzzzyyz{z{{{{{{{{zz{zzzzzz{{|zz{zz{zzzyyz{{z{{|{{zzzzzz{zz{{z{{z{z{z{zzyzz{{z|{|{zzzzz{z||{z{{|z{yz{{yzz{{{{{{{|z{{zzz{{{z|z{{||{z{{z{zzz{{{|z{{zz{{zzzz{{z|{|zzz{z{zzzz{{{{{|{z{zzzz{{{{{|{{{||zz{{zzz{{||{z||}{{{{{z{z||z|z||}|{{|zzzz|||||{|{zz{{{|{z|{|{|{|{|{{{z|{{|||{{||||{{}zz{{{||{||}{{{{|{z{z|||{{|||{z{|{{{{z{|||{||{|z{{{z{||{|{|||{{zz{|{zz{{{||{{{{{{{z{{z||{{}|{zz{zz{zy{z|{||{{{|{{z{{{{{||z|{|{{{{y{|z{z}||{||{{z{z{{{{{z{{||{{zz{z{{{|{{{{z{{{{{zzz{z{zzzz|z{{z{zz{y{zz{{z{{{z{{z{{z{yzzz{|{zzzz{z{z{{zz||{|{{z{zzy{zz{z{{|{zzz{{z{z{z{{{{{|}{z{zzzz{zzz{z{|{{z{zzzzzzz{{{{{z{|{yzzzzz{z{{||{zz{zzyzz{z|{{{{{zz{z{z{{{{|{{{{|{y{z{yzz{z{{{{{{zz{{z{{{{{{{|||{||{{zzzzz{||{{{{|{zzzz|{|||{{||{{{{{{{zz{{{{{|{|{{{z{{z{{||||{|z{{{{{{{||{||{{{{z{{{|zyz||{{{||{{z{{{{{z{||{|{{{{{{{{||z||y}{||||{z{z|{z||}}||{{{z{{{zy{|{{||{|{{z{z{{{|{|{}{||||zzz{{{{|{{|{|{|z{{z{z{|{{{{{{{{{{z|{{{{z{|{{{|{{{{{{zzz{{{{{{|{|z{{{z{y{{|{{{|{z{z{zz{{|{{{|||{{zzyz{{{|{z{z{{|{y|{{{yzz{z{z{{{|zzyz{yz{{{{z{z{{z{{zzzzz{z{z{z{{zzzzzzz{{{z{{{zzyzzz{z{{zzz{{{}yzzzyzz{z{{{{{{zzzzzzzz{z{{zzzz{z{zzzz{z{{{{y{{z{zy{zyzyyzzzz{z{zzzzzzzz{{{{z|{{{zz{z{yzz{{zz{|{{z|z{y{z{{z{z{|{{z{zzz{zzz{{|z{|z|zzzzz{{||z{{{{{z{{{z|zz{{{{{{{zz{zz{zzz{|z{z|{{z{zzzz{|||{z{{{{z{|zzzz{{|{||{||z{{z{||{z{zz{||zz{{z{{{{|{|{||{{z{z|yz{z}{{||{|{{zz{{{z{|{{||{||{{{{z{{|||{||||{{||{z{{{||{{|||{zz{{{{{|{{{}{||{zzz{{zz{{{}{||{{{zz{zzz{|{{z{{z|{{zzzzz{{z|{|{{{zzzzzzy{{|z{{{{{yzz{zyz{{{|{{|{{{{{{z{{|{{|{{{{{z{z{{zz{{{|{|||{zzzzzy{zz||z|{|{{{yyzzz{{{{z{||{zzzzz{zz{zz{z{{{zzyyz{z{{{{z{{z{{zzzyzzzz{|{{z|zzzzzzz{z{z{z{|{y{zzzzyz{{|{{z{{{z{yzzzyz{{{{z{{zzzz{zzzzzzzzzz{|yyzzzzzz{{{{|z{z|zzzyz{zz{{zz{{zzzzzzzz{{zz{z{|zz{{{yzy{{{z{zz{zz{z{{zz|{|zz{{zzzzz{yzzz{z{{{{{zzzz{zzz{{{{{{}{{y{{{{y{z{z{z||{{{{z|{{{{{{{{{{{{{{z{{z{{{{{{{|||{{{{{z{|{||||{|{|z|z{{z|{{{{|}{{{{z{{{{z{z{{|{{{z{{{||{|}||||||{z{{zz|z{{||||{z{z{z{{z|{{{{||{|{{{z{z{zz|{{{{}|{{{zzzz{{{{|{||{{{{zzy{z{}{|{||{{{{{yz{{{{z{{{{{{{{z{{|z||{{|{{|{{z{{y{{{{{{zz{{{{{zz{zz{z{{{{{|z{{zzzzz{{{zz{||{zzz{{zz{{{{{{||zz{z{z{yz{{{z{{z{{z{zzzzz{{{z{{zzzz{{zzyz|{{{z{|zzzzz{{{{z{{{z|zzzzzz{y{z{|{z{||{{zzz{{zz{{zz{{|{{{zzzz{zz{{{{{{z{zzzyzzzyzzz{{{{z{z{zzz{{z{{{|{{{zzzyz{z{{{{{{|zzzyzy{{{{{z{z{|zzz{zzz{z||{{{{{{{|{zz{z{{{{{{{{zz{zzzz{{|{z|||{{zzz{z{z|{{{|||{{{z|{{zz{||{||z|{{{{{z|z||{|z|||{{z{z|{{{|{|{{{{|zzz{z{{|||{{|{|{{|{{{{z||{||}|{|{{{{{{z{|{|{||{|z{|{zz|{{|||||{{{{{{{z|{{{{{||||{zz{{zz{|{|{|||{|{zzzz{{|z{{|{|z{{{{{|z{{{{{{|{{z{z{{z{{{|{{}{|zzz{z{z{{||{|{|{{{{{zz{|z|{{{||{|{{z{{{{|zz{|{}{zz{{{z{zz{|||{z|{{{zzzzz|{||z|{|{{{zz{zz{{|zz{||{{z{z{zz{{{|{{|{zz{{z{zz{{z{zzz{zz{zzzzz||{{z||{zzz{{zz{|z|{{{|{zz{zzzzz{|z{{{{{{|{z{zzzzzz{z|{|{z{zz{zzzz{{z|{|zyz{{zzz{{{z{|{{{|{z{yzz{{||{{||{zzz{yzz{{{z|{{}zz{y{zz{{z{{{|{{{{{{{z{z{||||{|}{z|{{{z{{{{{{||{{{{{{|zz|{{{{|}{|{|{|{zz{{{|{|{{{{{{{{{{||{{{|||{{z|{|{z{|{{||{{|{z{{{{{{||||||{{{{{{{|{{|||}|||}||{||{z{||{||}|{{|{{z||}|||{|||zz{{z{{{|||||{{||{z|{|z{||{||{||{{{{{z{{{|{{{|||{{{zz{{{||{||{|{{y{{{{{{|||{{{z|{zzz{{zzz{{|{{{|z{{z{{{||||||{||z{z{{z{{{|{{{{|{|{z{zz{{zz||{||{{z{z{zzz{{{z{|{{zzzzzz{z{{{zz{{z|{{{zz{z{{{zy{|{z{{zz{z{|{{{z{{{zzzz{z{zz{{{{{{{{{{{zyz{{{{{{{{{{{{zz{{zzz{|{|{{z{{y{zzzzzzz{{{|{{zz{y{zzz{{{|{{yz{z{zzzzz{{|{|{{z{{{zzz{||{zz{|zz{z{zz{z{z|{{|{{{z{z{{z|{{|{{{|{{{{{{{z{||||{z{{{{|zzzy|z|{{||{{z{{{{z{||{{{|||{{{z{{{{{{{{{{{|{{{{{{{{||||||}{{{{{{{{{{||{{{|{{{{{{{{z{}|{{|||{|{{{{{{|{{{|||{|{{{z{{|{|||{{{{||{{{{{{|||{{||{|{z{||{{{|{{{{||{{{|{{{{||{|}|{|{{{zz{zz{{{{}||{z{z{{{z{{|{{{||{{{{{z{{z|{|z{{{{{{z{{{z{{|{{{|{|{{{z{z{{|{{{|{{||{zz{z{{{{{{z{{{{{{zzzzz{{{{z{{{{zzzzzzzzz{{z{{|z{zz{zzz{{{z{{{z{zz{zzzz{zzzzz|{{z|{zzzz{{{{zz{|z{yzzzy{{{y{{|{{{zzzzzzz{{|{|{{|zz{zzzzzz{{{{z|{zzzyyzzyy{{z{{{z{zyzzyzzyzzz{|{{zzzy{zzyz{{{|{{zz{zz{z{z|{{{{{{{yz{zzz{{{{|{|{{{{zzzz{zz{|{{{{{{{{{z{{{zz|{z{{}|{zz{{{y{||z{{||z{{z{{z{z|||z{{{zzz{|{{{{{{{|||||z{{z{{{{z|{{{|||{{{{zzz{z{|||{|||{{z{{z{{{{{{||{{z{{z{{{{{|{|{{||z|{z|z{||{|{{{||{{|{{{{{||{{{{{|{{{z{z{z|{{{{|{{|z{{z|||{|{|{{|}{z{z{{zz|{{{|{|{{zzz{{{|{{|{||{{z{yzyzz{|{{{|z{zz{z{zyz{{{|z{|{z{{z{z{z{|{{{{{|{{{z{{{z|{{{{{||{{{{{zz|{|{{{{|}{zzzy{z{{zz|{{{|z{yz{zzzz{{z|{{{{{|zz{{z{{|{zz{{z{zzz{zzzzz{{{{{{zzz{zzz{{{zz{{{{yzz{zz{z{{z||{zz{zzzzzzzz{{{{||z{z{zz{zz{z{zz{{yzyyzz{z{z{z{{{zzzz{z{{z||z{{z{z{zz{z{{z{z{{z{z{{{{{zzz{{z{{{{|{z{{{zzz{{{{{{|{zy{{z{z{{z{z{{{{{{z{{{y{z{{{||{{z{z{{z{{{||{{{|{{{{{{{{{{{{|{{|}{yz{{{|{{{{{|{{{{{{{zz{{z{|{{{||{|{{z{{{{{|{||||{|{|z{||{{{{{||{|{{|{{{{{{|}{|{||{{{{z{{{{|||z|{||z{z|z{{{{{{{{{}|zz{{{z{|{{|{|{|{z{z{{zz{{{{{|{{{z{{{z{z{{z{z{||{{zzz{{{{{{{{{z{|{{{{z{z{{{zz}||{z|{{zzz{{{|{}|}{{zzzz{{{{z|{|{{zyz{zzzz{{{{{{{{zz{zzz{y{z{{|{{{{{{yz{zzz{{{{{{{{zzz{{{{{z{zz{|||z{xz{{z{z{{z{zzzzy{zz{zzy{z{{{y{zy{{zyzz{{{|{{{zyzzzzzzz{{{{||{{zzyzyzzzzzzy{{{|zzyyzzzzzz{{}|z{zz{z{zzz{{{z|{z{{z{zzzz{z{y{{|{{{zzzzz{{{|{z{z{z{z{zzzz{{{{{{|||zzzzz{{{||{{{z{z{|zzzz{|{||{{{{{{z{{{{{{||z{{||{z{z|z{|z|||{{{{{{{zzz{{{|||{{{||{{{{{{{{|{{{{|{z{{{{{{{{|{|{{|{{{|{{{||{|{{{||||{{{{{|||||}{}|||{{{|y{{{|{{|{{}{z{z|{zz{{{{{zz{|z{{|{{z{|{|{{{|{{{z{{z{{{||{{{{{z{zzzzz{|z{{|||{zz{zzzz{|{||{{{zz{{zyz{{z|z{{{{{{{zz{zzz{{{{|{|{{{y{zzz|{{{{{{|{{{zzzz{zz|{zz|{{zz{yzzy{{{z{{z}{zzzzz{zz{z{{{z{{zzzzzzzzzz{z{{{zzzzzyz{{zz{{{{|z{yzyzz{yz{z{{z{zzzz{{zzz{{{|{{{z{{zyzzzzz{{z{{|z{{{zzyzzzzz|{{z{{yyzz{zz{{z{{{{zy{zzzzyzz{{{z{{zzzzzyzz{|{{z{{|z{{{zz{z{{z{{{{|zz{y{zyz{{{{{{{{{{{zzz{z{{{z{{{{{z{zzzyz{{{z{{|{{{z{{{z{{||{{|{{{z{{{zzz{z|{||||{{{z|z{{{{{|{|||{{zz{zzz{|{z{||||z{{{z{{||||||||z{zz|{z{|{||||{||{{zzzz{{{||{|{||{{{{z{{}||{{|{{{{zz{z{{||{{{{||{z{z{{{|{{{{zz{|{{{{{zzz{|{{{{{||zz{z|z{{{{|{{|{{{zyyzzz{{|{{{{{{{z{zz|{z{{{{{{||{{{{{zz{{|{|{||{{zzzz{z{z{{{{||zzz{zzz{z{{|{{{{{{zzzz{z{z{{{{{zz{{zzyzz{zz{|{{{zz{zzzzz{z{{{{zz{{{zzzzz{|z{{{{{z{zzz{zzzz|{{|z{{{yy{{z{{{|{|{{{|z{zz{zz{z|{|{{zz{{zzz{z{zzz{{{{zz{zzz{zz|z{{|z{zz|{{zzzz{z{{{{{zyy{zz{{{|{z{{|{zz{{z{zzz|{{z{|{{{{{zzyzz|{z{{||{zz{{z{z|{{{{||{{{{z{z{{{{{{|{|{zzzz{|{|{{{{{|{|zz{z{{{z{||{|{{|{{{{z{zz{|{||{||{z{|{{{{{||{{{||{{zz{{{z{{|{|||{{z{{{{|{{|{|}||||{z{{{{{{||{|||{|z{{{{z{||{|||||{{|{{{z{{|{|{{}|{{|{z{|{{|{|||||{{{y{{{{{{|{|{}|{z{|{{{z|{{{{{{{{{{z|z{z|{|{|{|{z{{z{zzz{||z{{{{{{{{{{z{|{{{{{z|{{zz{{z{{{{{{|{{zz{|yzz{|||{z{{{{{yyzzzyzz{{{|z|z{{{{z{yz{{{{{{{zzz{{{zzz{z{z{z{{zzzzzyz{zzz{{z{zzyz{zzz{{{z{|{{{zzz{yzz{z{z|{{{{zz{y{{yz{|{{z{z{{{y{zzy{yzzz{zzzzz{zy{yzzzzz{{{zz{yzzzzz{{z{{{{z{zz{zz{zz{{zz|z|{{{{y|{{{{z{|||zzzzzyzz{{{{z|{|z{{{{zy{{{z{z|z{z{{zzz{zz|{z{z{|{zzzzyz{{{|z{{z|{z{z{zz{{{||{||{z{{{{z{|z||{|{||{z{|{zz{{{{}{{|{|{{{{z|z||{{{||{z{zz{z{{z{|{{|{||zz{z{{{{|||{||||{{{|{{{{{||||{|{{{{{z|{|{|||||{{{{{{{z{{{{|{}{|{{z{y{z{{{{{{||{{zzz{zzz{{|{{{|{z{zzzz{zz{{{|||{z{zzzzzzz{{z{|{{zzzzyzz{z{z{z{||{{zzzz{{{{{{{{{{{|z{zz{z{z{{zz{{z{yyzzzy{y{{{{{|z{zyzzzzz{{z|z{yzz{{z{zzz{{{z{zzzzzzzz{y{{{{{{{|zzyzzzzyz{z{z{{{zzzzzzyz{y{z{z{{{{{zzyzzz{{|zz{{{yyzzz{yz{zz{{z{zz{zzzzz{{z{z{{{z{{zz{zz{{{zz{zz{zzz{zzz{z{{{{{{{zz|zz{z{{|{{z{{{{zzz{zz{{{z{|{{{{{zzz{{z{{{||{z{{z|{zzz{|{|{{{{{{{{z{z{{||{|{||{{zz{{|z{|{||{{|zzz{|{{{{|{{|}{|{|{{zzz{|z|{{{||{z{zzz{z{|}{{{{|z{{z{z{|{||{{{{||z|{{{{{{|{||{{|{{{{{z{{{|{|||||{{{{z{|z|{||{|{|{|{z{{{{{|{|{{|{{{|y{{z{{|z{{{{|{{z{z{|{z|{{{{|{{z{z{zzzy{|{|z{{z{z{{zzzz{|{{|||{{{{{zyz{z|{{|{{|{{yzz{z{{{z{|{{{y{{z{zzz{|{{{z{{{|zz{{z{{|{{|{{{{{z{{zyz{{z{{{|||{z{zz{{{{z{{z{{zzzzzz{{{y{{{{{yz{z{zyz{|{z{z|{zzy{yyyz{{{{{|{{{z{zzz{z|{{zz{{{{z{y{z{zz{{{{z{{z{zz{yzy{{{{z{|zzy{zz{{z{{|{{{{{zzyzzyz{{{{{z{{{zzzz{z{{{zz{{{{{z{{z{{yz{||{|{{|z{{zzz{{{z|{{{}{|{zzz{zz{{|{|{{{{{{{zz{z{{{z{{{||{{z{z{{{{|{{{{|{{{zzz{{|{{{{{||{z{zz{{{{|{|}{|||{{{zz{|{{{|||||{|zzz{||{{|{||{|{{z|{|{{{}{|{z|||{{{{{z|||}||{{||z{|zz|{{{}|{{||z{{{||{{|||||||}{{{{{{{{{{z{|||{{zz|z{{z{{{|{{||{z{z{z{z{{|{{{||{{zzz{zz{|||{{}{{{{{z{zz{{|{{{{|zzz{{{zz{{{{{{{{zzzzzz{{z{|{zz|{{z{{zy|y|{{{{|{|zz{zz{{z{|{{{{{|z{{zz{yz{|{{z{{{{{{zzz{{z{z{{|{|{zz{zzzzz{{{z{{{{zzzzzz{{{{z{{{|{{{zzzzzzzz|z{{{zyzz{zzzzz{zz{zz{{zzzzzzz{zzz{{{zz|{{zzz{z{z|{{{{{{zz{{{{{z{{{{{z{|{zzzz{{{|{{|{zzzzzzz{{{{zz{z|{zzz|y{zz{|}{|{{|yzz{z{zz||{{{|{{{z{{{{{z|{z{{|{z|z{|z{{{{|z{||{{{zz{{{{|{{{{{z{{{{|{zzz||}|||||{{{z{{{{{|{|||||{{{{{{|{|}{{{|||||{{{z{zz|}||}|||z{{|{|{|{|||||{|{{{{z{|||{|||||{{z|{||{{{||}{{|{{{z{{zz{{{{{{|{{{{{z{{|{{|{{{|{{zzz{zz{{|{|{{|{{{zz|y{z{|{z|{}{|{zz{{z{{|{{{{{|{{{{z|{y{{{|{||{{z{{{|z{z|{{{{{|{{z{zz|y|{{|{{{{{z{{zzzy{|y{z{|{{{{zzzzz{{{{z{|{{{zyzzzz{{{{z{{{z{{{zz{zz{z{z{zz{{z{z{y{{{zzz{|{zzzzzzzzz{{|{{|zzy{zzyzzz{{{z{zzzzzzz{zz{{{z{{{{zzzz{{zy{zz{{{|{{zzzyyzz{{zzz|{{zz{zzy{yz{{{z{zzy{{z{{{{{{{z{{{|{z{zzzzy|{{{{{z|zz{{{z{{{{{{{{{{{zz{z{{z|{{{{{|{{{{{{z{z{|{{{|{{{{{{|{{{{{{||{|}{z{z{{z|{|{{{{|{|yz{|z{||{{{|z|{{{{|{{{z{|{{||{{{{{z{{|{z||{|{||{z{{{{{||||}{|||{z{z|{z{{|{{|{|{{{{{{{z{|{|{|{||{{{z{zz{{|{{{{{|{{zzz{z{z{{|z{|||{zz{zzz{{{{z{{z{zzzz{|yz|{{{{{{{{z{z{{{z|{{||||{{z{{{{{{z{{|z{|{z{zzzz{z{{{{|}|z{zzzz{z{{{{{|{||zzzz{zzz{{{{{{{|y{zzzzz|||z{{{{zz{{z{z{zz{zz{{{zz{zzzzz{{{zz{{z{zzzz{z{|{z{{{{{zz{{z{{zz|{{{{{{z{zzzzzy{{{z{{||{{{zzy{{{{{{z||{{z{{{zzzz{{{{|{{{yzzz{zz{{{{{{{{{z{z{{zz{|{{{{{|{{{zzz{{{z{{{|||{z{{{{zz{{|{{{{{{zzz{zzz{}|z|{{|{z{{{zzz{{z|{||{|{{|{|{{{||{{||{z{{z{{{z||{||||{{z{z|{z{{||||{|||{{z{{{{{|||}||{{z|zz|{{{|{{|{|||{{{z|z||}||{|}|{z{z{|{z|{{||||||{{{{{{z{||{{{||{{{z{{z{{|||||{|{{{z{{{|{{||{}|||zy{z||{||{{{{{{{{|zzz{z{{{{{|{{zz{z{zz{{|{|{|||{{{z{z{z|z{{z||{|{{zyz{{{{{{{|||{z{{{{z{{{{|z{|{z{{zyzzz{{z{{{{{{y{z{{zzz{{{{{{z|z{{z{zz{z|z{{{{{{z{{zzy{{{{z|{zzyzzzzz{|{{{{||zzzzzzyzz{{{{{{{{zz{zz{zyz{|{{z{{{z{zzyzzz{z{zz{{zz{y{z{z|{{|{|{|{zzzzzzz{|{{{{|{|y{zzz|z{{{{z|||{zzz{{{{{{|{{{{|yz|zz{z{|{||{|{{{z{z{z{z{z|{|{{{z|z{{zz{{{{z{{|{{{{{{z{zz{|{{{{{{{|{{{z|{||{||{|zz{|{z{||{{}{|{||{{|{{zz{|||{||{|{{{||{{|{||{||{{{{z{|{{{{{{{{|||{{{{{{{{||{||}||{|{{{{|}{|||{|||{yz{{|{{|||||||{z{{{{{|{{{{{}|}{{z{{|{z{{{}{{{||{{z{z{y{||}{{}{{||{{zz{|||{}|z{{{zzz{{z{{}zz||{zz{z{zzzzzz}{|||z{{z{zyz{z{{|{{{{{{zyzz{|{z{{{{|{{{{z{{zzz||{|z{{{zyz{{z{|{zz{|{{{{{yzyzz{{zzy{{z{zyzz{{z{z{{{{{z{zy{z{z{|{zz|{z{zzz{z{z{z{z{z{{{zzzzzyz|z|{{z{|{{zzyzzzyzz{z{{|{zzyzzyyz{zzz|{{{zzzz{zz{zz|{{{{{z{z{z{{{{{|z{{{{{zzzz{z{{||{{{{{{{{z{z{{{{z|{{|{z{{zzzz{|{{{|{|{{z{{{zz{{|{{{{{{{z{{{{{{{{|{||{|{zz{|zzz{||||{|{{yz|{|{{|{|||{|{{{{{z{{||||{{|{|z{{|{{{{}||{||{{{{{z{|{{||{|{||{{{{{|||z||}}|{{{|z{z{|{|{|||{||{{|{zz{{{{|{|{||{{{{{{{{{|||{|||{{zz{{zz||{{{{{{{z{{zz|zz{{||{||{|{zzzzz{|z|{{||z|{{{|{zz{|{{{{{{{z{{z{z{|{{||{}{{{zzzzz{|{{{{{|{z{z{zz{{{||{{{{{zzzz{zz{{{{|{{|{{{zz{{z{||{{{{{zzzzzyyz{{{z{{z{z{z{zzzzzzyz{{z{yz{zzzzz|zzzz{{|{zz{z{zz{{zz{{z{zz{zzzzz{z{|{{{|{zz{zzzyz{zyz{zzzyzyzy{zzzz{z{|{zzzzzzyz{z{{zz{z{zzzzzz{{{{|{{{|{z{zzzz{{|{{z{||{{zzzzzyzz{{{||{z{zz{z|zz|{{||{{{z|zzzzz{|||{{|z{{z{z{{{{{{{{{|z{{{{z{{{||||{{||z{{{||{|{|{{||}|{zz{{{{z{zz{||{|{zz{{{{z||{{}||}{zzz{{{z{||{{|{}||{z{|{{{||}{{|||{{|{{{{{|{||||{{{{{{z{z{{{|||{||z{{zzzz||{|||||{zzzzy{{||{{{{|z|{{zzz{{{|{|{|{|{z{z{zzzz{{{{|{z{zy{y{{z{{z{{{{{zy{z{zzz|{{{{{{||zzzz{zzzz{{{{{{{zzyzzyz{z{{{{|{{{{z{{{zz{{{z|{{zzzz{z{zzz{{z{{{{zzzz{zzz{|{{{{{{z{{{zzzzz{zy{{zzzzyzzzz{zzz{{{z{z{zzzzyz{{{{{zzzzzzzyyzz{z{{{{z{zzzzyzz{{zzz{z{zzzyzyyzz{zz{{{{{zzz{{zz{{{z{{{zzz{zz{z{{|{{{{z|zzzzzy{y{{{z{{z|zzy{zyz{z{{{{{{{{{z{zzzzz|{{{{{||z{z{{zz{||{z{|zz{zzzzzz{{{{{{z|z{z{{{zz{{|||{|{z{{z{z|zz|{{{||{z{{{{zzz{{{{|{{|{{{zzy{z||||{z}z{{{z{{{{{{||{{}||zz{zz{{{||||{|{|{{{{zz{{|{{{|||{{{{{zz{{{{|||||z{z{{{zz{|{{|{||{z{zz|{{{z{||{{|z{z{{z{z{}{{{{{zz{{zzzz{{{z{z|{zz{{zzyyy{{{{{z{|{zz{zzyz{{{z{{z{{z|zzzyz{{||{|{|z{{z{zyzz|z{z{{{{zzzzyzz{z{{{|z|zzzy{zzzy{{{{z{z{z{z{{yzz{{|z{{zzz{zzzzz{z{zz{zyzzzzzyzy{{{z{{{z{z{zzyzzy{{{{{zz{{zzzzyzzz{z{{{{z{{{y{{yzyzz{{{z{yyzyz{zy{{zyzy{zyyzzzyzz{zz{{{|z{{yyzzz{{{{z{{{zzzzzzzzz{zz{{{{{zzzzzzzz{z{{z{{zz{{{yzz{{{{{|{{zzzyzzzzz{{z{{|z{zz{zz{{{{|{{{{{z{{zzzzz{{{|{{{{z{{z{{z{z|z{|{{|{zz{{zzz{{{{|zz|{zzz{{z{||}z{}|{zz{zz{{z{||||{{{{{{{{{z{{{{{|{{|{zz{|{{z{|{{{|{{{{{zz{zzz{||{{|}{z{{{{z{{{{z{{{|{{zzz{{{|{|{{||{{zzz{zz{{{{{{z{{{z{{zy{yz||{{|{|{|{z{z{{{{{|{{||{{{z{zz{{z{z{{||{{zzzzzz{|||{|{{{z{z{z{zz{|{{|{{{|{z{{zz{{{||{z{zzzzzzzzz|zz{{{{{z{{z{zz{{{z{{z{zz{zz{zz{zz{z{z|zzzz{zzz{zzz{{{{{zz{z{yz{z|{z{{{{{{{zyy{z{{{z{{|zzzzzzzzz{zzz{{z|yzzzzzz|{{{z{{{zz{z{|zz{{|{{z|{zzzyz{{zz{z{{zz{{z{z{z{z{{{{z|{{|zzzz{zz{z{{{||||{{{{zzz{{{{{{{|{{|{{zzzz{|{z||{{{z{zz{{{{{z{{{|z{zz{zz{|z||||{|{{|z{z{z|{{{{|||{{{|zz{{{{{|{|{||{{{{{z{|}{{{||{{{{{{{{{z{{|{{|||{{{{{{{{|{||||}{{|{{{{{z{{|{|||{{{||z{{{{|||{||{|{{|{{{{{{{|{{|{{{y{{{z|||{{||{{z{z{zzz{{{{{{{|{{{yz{zzzz{{{{{{{{{{|zzz{}{z|{{|zzzz{y{y{{z{|{|{zzzyzzzz{{{||{|{{z{{{{{{{z||||{{z{{zz{zzz{|{z{{{{{zy{{{{{{{zzz|{{{{zz{zz{||z{{z{z{{zzzzz{z{||zz{zzzy{zz{{zzz{{{|zy{z{zzz{{{{|{z{zz{zzyzyz{{{{{}zzzyz{{zz{{{{{{{zzz{z|zzz{{{z{{{zz{{{{{z{z{{}{{|{{zzz{z{{{{{{z{{z{{z{zz{z{|z|{{{|{{{yz{{z{{z{{|{{z{{zzz{{z{{|z|{{|{z{{{{z|||{||||{z{{{z{{||{{{{{{|{{z|{z{|{{{|{{|{{|{{{|{{|z{{{{{{{{{z{{{{{{}{|{}{{{{|zz{{||{}|}|zz|zz{{||{{{{{{||z{{||{{||||{|}{|{|{z|{||||{|||||{{{{{{{{|{|}{||z{{{|{{{{{{{|{|{{{{z{z{z{{{{||{{z{|{{yzz{||{{{{{{{{{zzz{{{|zz{z{z{zzz{zz|{{{{z||{{{{{z{z{{{{{{{|{{{{{{{{|{z{{{{z{y{{z{{{z|{|{{||||zzz{zzz{{{{|{|{{{z{{{y{{}{z|{{zz{zz{yzzz{|{{{{{{z{z{z{{{{|{|z|z{{z{z{z{|{{{{{{zz{{yzyyz{{{{{||zz{yzzy{z{|{{{}{{{zyz{zz{zz{z{{{zzzz{zzz{{{z{{{{z{zzzzzyz{{{|{{zzzzy{zzz{|{}{{{|{z{{y{|{{{z{z|||{zz{z{zz||{{{{{zz||{yzzz{{||{{|{{z{z{zzz{{{{{{||zzz{{z{z{{{{{|{{z{zz|z{z{|{{{{{{z{{|{{{{|{||{|{{{{z{{zz{z||||{|{{y{||{z{|}||{z||{{{{|z{|{|{z|||{{{{{z{z{{|||||{|{zz{{{{{||{}||{||{{{zz{{||{{{{||{{{{|{{{{{|{{{{|{z{z{zz{{{{{{|{||{yzz{{{|{|{{{|{|{{{zy{z{{|{{{||zz{zzzzz{{|{|{{|zz{zz{zz{{{{{|{|{{{zzzzz{z{|{{|{{zz|zz{{z|{|{{{{{z{z{zz{{z|}{{{{z{{{zzzz{{{{{{{{z{{zzzyz{{{{{{{{z{zy{{z|zz{z{{{{zzzz{yzzz{{{{{{|zzzzz{z{zz{{{{z{zz{zzz{zz{{zz{{{zzz{{zzzz{{{{{{{z{zz{zzzz|zz{{zzzz{z{z{yy{{{{z{{{zzzzzz{{{{{zz{{z{zzzz{z{{{{{{{|zzzz{{zz{{{{|{{|{{{zzz{|z{|{{|{{{{z{z{y{zz{{{{|zz{z{|{z|{|||{||||{z{{{zzz{||{||||{z{|{{z|{||{z|{||{||{{z{|{||}|{{{{{{{{z{}{|||}|zz|{||{|||{{{|||{{{y{z{||}|||}{||{{{z{z|||{|{|{{{y{{{{{z{{z}|||{{{{{{{z|z{||{|||{{z{{zzz{|||{|||{{{{z{{{||z{|{|||{{y{|{y{||{|zz{zz{z{z{z{{{{|{{|{{zz{zzz{{{|{{{{{{z{{{zzzzzz{{{|zz{{{zzzz{|{{z{{{z{zyzzy{{{{{{{|z|{zz{{{z|{z{{|{{y{zzzzz{|z{{{{{z{{zz{z{zz{zz{{z{{yzx{zzz|{{z{{z{z{zzzzy{z|z{{{|zzz{y{zzzz{{{|{{zz{z{{zyz{zzz{{{z{{{zzzzz{{{{{z|zzzy{zzy{{{{{{{zz{z{zzz{{|{{{{{|{{{zzy{z{zz{{|{|zzz{{{{yz|{{{|{{z{z{zzz{zz|{{|{{z{zzz{z{{{|{z{|{{zz{zy{{{{{z{{{{z{zz{{z{{}{}||{{{{{{{{|{{{{{{|||{{{{{z{{|{|{||{||yzy{zzz||z|{||{zz{{zz{{{{|||||||{|{|{{|{}|{{{|}|{{|{{{|||||{{||{{{{{{zz{{{|{|||{{{{{{z{zz||{||{{{{zzzzy{|{|z{|{zzzz{zzz{{{|{{|{z{{y{{zz{{{{{{{|z|{z{{z{z{|z|{{{{z{{zzyzzz{|{{z|{|{{yzz{{{{z{{|{{z{zzzzzz{{{{z{{{{{zzz{y|{{|{|{{{{z{{{y{{|{{{{{{zz{zz{z{z|{z|{{zz{{yzzz{zzz{z{{{zyzzzyzy{{{z{{{{zzzz{zyzzz{{{{{zzz{zzz{z{z{{{z|zz{zy{zzz{{z{{|{z{z{{zzz{zz{z{{|{zzz{{z{yz{z|{{|{{{{z{zzz||{{z|{zz{z{zzzz{{z{|{{{{z{zzzzz{|{{z{|}{{{z{z{z{|{{||{{z{{{yzzyz|z{|||{{zyz{z{z{{||{{|{{|y{{z|{{{|||{||{z|{|{|z|{|{{|{|{{z{{{{{{{{||||{{z{{z{{{{{{|{|||{{{|{|{|{{{{|||||{{{{{|{|||{{|{|||{{z{{{||{||||||{z{|{{{{|||||}|{{z{{zz||||||{|{{{{z{{z{{|||{||{{{{{z|zz{z||||{|{{{zyz{z{{{{z|{{zzz{{z{z|||{{||{|zzzz{zy{{|{{|{}{{{zzzzz{{{|{{{}{y{{zzz{{{{zz{{{{{zzzzzz|z|{{{z{z{{z{{{{{{{{zz{{zzzz{yzzz{{{z{{{{z{z{{z{{zz{z|{{zzz{z{zzyz{z|{|{{{zzz{zz{z{{{z{{zzz{yzzzz{z{{z{{zz{zzzzzz{|z{zz{{zzyzzzzyzz{{||{{{z{{zzz{z{{{{{|zzzy{zz{{{|{z{|{yz|yzzzzz|{z{{{zzzzyzy{{{{{{{{{|{zzzzz{z{{zz||z{{{z{zz{{z{|{{{{|{{{|{zz{z{|{z{{{zzz{z{{{{|{{{|||z{{z{z{|{{{|||{||{z{{zz{{}{{{{{{z{z{{{{{{|{|{|||{{{|{{|{{{{|||{||{{{{{{|{|{|{{{|{z{{{{{{{|{||||{{{{||{{{{{{{{||||{{{{zz{{{{{z|{|{{{{{{{{}{{{{{|{{z{|zzz{{{||{{{|{z|{{zzz||{|{|{|z{z{z{zyzz{{{z|z{z{zz{zz|{|{{|{{{zzzz{zz{|z||{{{zz{zzz{{z{{{{{{|{z{{z{zyz{{{{{|{zzz{{zzzz{{{{|||zzz{zzzz{z{{{{|zyz{z{{z{z{{{{{{{zzzyzzzzzz{{z{{zzzz{yzzzz{z{{{|zz{zz{zzzz{z{zzz{{zz{zyzzz{{zz{{|z{z{{yzzyz{z{z|{zzzzz{z{z{}|{{{{zzzyzz{yz{{{{{{{{z{{{yzz{{{{{{{||z{zyzzz{z{z{{{{zzz{zz{{zz{||||{zzzz{zzzz{||}{|{{zzzzzz{|{{{{|z|{z{z{zz{{{{||{{{{{{z{{{{{{|{{|{{{z{{{zzy{|}|{||{|{zz{{{{||{{||{|{z{||z|{{||||{|{{|{{{{{{{||{{|{{|{|{z{{{|{{{||{|{zz{{zz{{z{z{||{|{{{{{{{|{||{{{}|{zzzzzz{|{{{{{||{z{yzzzz|{{{{||{zz{{zz{{{||{{{{{zzz|zzz|{z{z{{{{{zz{{zz|{{{{||{{zz{{{{{|z{{{z{{{z{z{zyzz{{|{{{{{{{zzy{yz|{{{{{{{zzzy{zzz{z{{{|{{z{{zzzyzz{{{|{z{zzzzzz{zy{z{{{|{zyz{yzz{{{{{{{z|zzzyzzzzzz{{{{{z{|zzzyy{{{{z|{{{zyzzz{zy{z{z{{{zzzz{{zzz{y{{{{{zyz{z{zzz{{{{{{z{{zzyzzz{|z{{{{{{z{{zzz{z{|z{{{{{{{z{{z{z{{{{||{{zz{zy{z{{|z{|{{|{{zz{zz|{{{{{{|{{{{z{zy|{{{{|{{z{zz|zz{{|{{{{{{|zz|{z|{{|{{{|||{{{{zzz{|||{|||z{zz{{||{||||||||{z{{{{{{{{{|{||{|z{{{{z{|}{|||||{z{{{{{{||{{{{||{{{{{{{{{{{{{|||{{z{{z{{{|{||}||||{z{|{z{{{|{{|{{{z{z{{|{|{{{{|z{|zzz{|zz||{{{{|{{z{zzzyz{{{{z{|z{zzzyzz{z{{{z||{zz{z{zz{{{z{|{{{zz{{zzz{{}{{{{{{z{zzzzy|zz{{{{{zz{{zzzz{zy{yz{{z{{zzzzz{z{{{{{zzz{z{zzz{{z{|{{{z{zzzzzz{{{||{|z{zzzzzyz{z{y{{{{zyzzzzzzz|{zzz{{{{zzzzzy{{{zz{{{{{yyzyzz{{z{||{{zyzz{z{y{z{{z{{|z{zzzz{{{{z{z{|{{y{{zzzz{{z{z|{{{zz{zz{{zzz{{{{z{z{{{z{zy|z{z|{{{{z{{{zz|{{{{{{{{{zzzzz{|{|{{{z{z{z{{{|y|||{{|{}{z{{zz{{{|{{{{{|{z{{zz{z{|||{||||{z{{{{z{}{||||{{zz{{zz{{||{{{z||{{{{|{||||{|||{{{{{zzz{{{{{{|{}|{z{{zy{z{|{{{|{|{yz{zz{{{{zz{||{{z{z{|{{{z||{||{{zzz{{{{{z{z{{{z{z{{{{{{|{{}{{zz{zz|zzz{{{{z{{|{{z{{zz{{{{|{{{{{z{z{z{{|{z{{{|{{z{yz{{{z{{{{z{{z{{{zyz{|z|{{|{{{zzyz{z{z|{z{{z{{z{zzy{z{z|{z{{zzzz{zzyzzz{{{{zzzyy|{zzz{{|zz{|{zz{zy{{zzz{{{{|{z{zzzzzzz{|{{{|{{zzzzz{zz{z{{{{{y{zy{{zz{{zz{|{z{zy{z{{z{z{z{|{|{{zyzzyz{z|{{{|{zy{zzzz{|{zz|{{{z{{yz{z{{|{{{{{{{{{zzzzz{{||{{{{z{zzz{yz{{{{{z|{z{zzzzz{{{z{z|{{z{z{|z{{z||{|{{|{{|z{{{{||{}{|||z{{{zzzz{|}{{||{{z|{{{{z|{{{|}{}{{|{{{}{{||{|}}||{{{|{||z||||}{||{|{{|{{||{|||||{z{{|{z|{{|{||||{z{{{{z{|||}||||z{{{{|{z{{{{{{|{{|z{z{zzz|{{{z||{{{z{zz|||{{{|{{{{{{{{{{z{|{{{||{{{{{zzz{|{{|{|{|{z{{{zzzz{|{||{{{{z|{{{{{||z||{{z{zz{zzz{{{|{{z{z{yzzz{{{{{{{{||{{zzz{z{z{z{zz{zzzzzzyz{|{{z|z{z{z{zzzz{z{z{{{{{{{{z{z{{{{{|{|{{z{yzz{y{{|{zz{|zzz{{{yzz{{{z{{{{zyzzzzzz{{{z{{|zy{z{{zz{{{|{{|z{zz{{zz{z{z{{z{{z{{{zzz{{{|{z{|{z{{{{y{{{{{{{{{{{{{z{z{{z{|{||{{{z{{{{z{{|||{{|{{{{zz{zz{{{{{||z{z{{{{y{|{{||||{{|{z{z{{||||{|{}{{{{{z||{{{|{||{{{{z{{|{}|{{||||{|{z{||||{{{|{|||{{{{{{{{}{{||}{|{{z{{zz||{{|||{|{|{{{z{|z|{||}||{z{|{z|{||{{|}||{z{{{{z{|||{|}|}{{z{{|z|||{|{{{{z{{{{{{{{|||{{|{z{{zz{y{{z{|{|{zzzz{zzz{{z{|{{|{{zzz{zz{z{z|{|{{{{{{z{z{{|zz{{zz{{zzy{z{z{{{zzz{z{{z{zzz{|{{{{z{z{y{zyzzz{{z{{zzzzz{zzz{z{z|{z{zzzz{z{zz{||{z{{{zzzzzzzz|{{|zz{{{zz{{yz{{z{{{{{{zz{zzzzz{z{y{z{y{zzzz{yzzz{{{{{zzz{zz{z{{zz{{{z{zzzzzz{z{{z{|{|{z{{zyzzz{{{|{||zz{zzzz{|{{zz{|{{z{z{z{{{|{{{{{|{zzzzzzz{{|{|{{{{zz{{{{z{|{{{|{{|{{y{yz{{z{{|{||{{{y{z{z|zy||{||{z|{zz{{||{{{{}{{zz{{z{{||{{}}|{{y{z|{{{{{{{{||||{z{{z{|{||}|z|||{{{{{{|{{{{{{{{|z|||{z{z{{{{||||zz||y{{{{{||||{{{z{{{z|{{|{||{{z{z{zzzz{||zz|z{{{{z{{z|{z{{{{{|zz{z{zy{{{{{{|{{{{zyzzzz{{{{{{{|{zzz{zzz|{{z{{z{{{{zzzzz{{{|{{{{z{yzzzzy{{{{|{{{{zzzzyzzz{{z{{{{{{{zzyzzzzz{zz{zyz{yzzxz{zzzz|{{zzyzzzzy{{zzy{|zzzzzzyyz{{z{|{z{{zzzyzzz{{z{{z{{{zzzyy{zzzzzz{{{zzzyzyzyz{{{{{z{y{z{y{zzzz{{z{{{z{zyzzzz{{{{y{{{{{zzzz{zz{z{{{{{z{z{{zzzzz{z{{|{z{zz{z{{{{{{{||{{zzzzz{z{{|{zz|{|{z{||{{z{{z{||z||{z{z{{{z{}|{{|z{{z{zzz|{z{{||||{zz{{z{{{|{z||{{zz{{zz{||{{{{||{{{|{|zz||{{||||{{z{{{{z{||||{|{|z{|{z|z{||{|{|}{{{{{{z{|{{z{}|{{{{{{z{{{{||||}|{{zz{{zz{{z{{{||{{{{{{z{{|{|zz{{zz|{{zz{|{{{|{z{{zy{{z{z{z{zz{{{z{zzzzzz{{{{|{||{zzzyz{{{{{|{z{{{zzz{zz{z||{{{|{{{zy{yzz{{{{{{z{{{zzzzzz{{{zz|{{{z{z{zyzzzz{{{{{zzz{{zz{z{{{{z||{zyz{zzzzzz{{{{z{zzyyzzzz{{z{{{{zz|zyz{{z{{{{zz{{yz{zyzyz|zz{{z{{yyyzzyzzzzz{|{{zz{yz{yzz{|z{z{{{zz{zyz{z{{{{z||z{{yzy{z{{z{{z{|{{{yz{zzz{{z{{{|{zzz{z{{{{|{{|{{{z{zz{{z{{{|{{|{{zzz{{{{|{{z|z|{{{y{{z|{|{{||{||{{{zzz|z{||{{{{{z{{{{{z{{|||{}|{{z{z|z{{{|{{|||{{{{{z{|zz|{|{{|||z{{{{z|z|||||||{{{{{{{|{|||||||{zz{|{z{{{{{|{|||{{{zz{{|{{{{||}{{z{zz{zz|{{{{{|z{zzz{{z{|||{|{{{z{z{zz{{||{{{{|{zzzzz{zyz|{|{{|{zzz{{zz{{{z{{{|z{zz{zz{{{zz||{{zzzzzzyzz{{{{{|{z{zzzzzz{{{{{{z|z{zyyy{y{{{{{z{z{y{zz{zzzzzzzzz{{z{zzyzzzz{zz{{|zz{yyzyzz{{{|{{zzzzzzzz{zz{{{{z{zyzzyyzz{{{|{zz{{zzzzzyzzz{z{|z{|zzyzzz{z{zy{{{{zzzzz{{z{zz{z{{{zzz{{zz{z{{{zz{{zzzzzz{z{z{{zzz{{{zzzz{z{{z{{{z{{{|z{zyz{{{{|{{{zzzz{zy{{{|{{{|{z{z{zzzz{|{z{|{{zzz{zz{{{{}|{{{{{{{z{|{{{{|{|{|{{zzzz{{||||{{z}{{z{{{{{{{{|{{|||{|{{{{{{{||||{|{{zz{{z{{z||||||z|z{{{{z{{|||||{{|zz{{{z{}||{||{||z{{|{{{{|{{{{||{{{yzzzz{{||{{|{{{z{z{{{|{|{{{|{z{{z{z{z{{|z|{{{{zz{zzzz{{{{{{{|{zy{zzzz|{{z|{{{{zzzzzzz{{z{{{|{{z{z{{z{{{{{z{{{|{zzz{{{{zz{{{z{{zzz{zzy{{{{{{{{{{{zzzzy{{{z{{z{z{zzzzzz{z{{yz{|{z{{{{{zzzz{{{{{zzyyz{zzzz{{{{{zzz{z{zzy{zz{{{{{{zzzzyzy{z{z{z|{zzzzy{{{z{{{{|{|zz{{zzzyz{{{{{{{zz{zzyyzz|z{{{{{{z{{zz{z{{{{z{|{z{{zyzyz{{z{z{|z{z{z{z{z{{{|{{{{{{zzz{{{{{||{{||{z{{z{z{{|z{||{|z{{{{z{||||||z||z{z{{z|zz{z{{||{{{z{z{zz{{|{|||||z|{{|{{|{{{{{{{{|{{{|{{{{{|{||}|{{{zzzz{}||{{|{{{|{{{{||}{|{}{|{{{{z{{||||{{}||zzz{{z{{|{{||{|}|z|y{zz{{|{|{||{|{{z{{zz|{|{|{{{|{|z{z{z|{}|{{{{zzzzz{{y{{z{{{{{{yz{yzy{z{{{|{|{zzyzyzzyzz{zz{{{z{z{zy{{zz{{z{{{{zyyzzzyz{z{zz{|yz{zy{zzzzzzz{{{zyzzzzzz{{|zz{{zzzzyz{{{{{z{z{z{{zzzyyzyzz{zzz{z{yzzyyzzzz{z{z{{yz{zzzzzz{zz{z{z{zzyzzyzyy{yzzz{zzzzyzyzz{zzz{{{zyzyzzzzzzz{zz{{{yzzzzyz{z{zz{{{zyzzzzzz{{zz{zz|{zzz{yzz{{{{z{{{z{{zzyzz{{{{z|{{zz{{{z{z{{{{z{|zzz{zz||z{{{{|{{{{{{z{{z{{{{{||{|z{zzz{{{{|{|{{}{{zz{zzzz{|||{{|{{z{{{zz{||{{{|{{{{{{z{z{{|{|{|{|{{{|{{{{{|{{{|z{{zzz{{{||{{{{||{|zy{zzy{{||||||{{{{{{zz{{{|{{|{z|{zy{{zz{{{{{{}|{{zzzz{{{{{{|{{{zzzzz{zzzz|||z{|z{zz{zz{z{{{{z{{zzy{{zzzz{|z{{{{{{zzzzzy{z{z|z|{{zzzyzyzz{z{z{|zzz{{zz{z{{{{z{z|z{zzzz{z{{{zz{{zzzzzzyzzzzzzzzzzzzz{zzzzz{{{{{|{yzzzyzyy|{{z{{|{zzyzzzzyy{{z|{{zyz{yzzyyzz{{z{z{|zzyyyzzzzzzz{{{{z{z{{zyy{{zzz{{zyzzzzzyzzz{z{{zzzzzzzzyz{z{z|z{{z{zzz{{zz{zz{{{yzzzz{{z{z{|{{{{z{{{{zzyz{zz{{{{zzzzzzzy{{|{{{{{z{zzzzzz{{z{{{{z{zz{zz{{{{{|{|{|yzzzzz{{||z|{{|{|z{zz{zzz{|z{z|{z{{{{{zz{|{z{z||{{{{z{z||{}{|{{|{{{{y{zz{|{{{{{|{{|{z{z{|{||{{{|{{{{{{zzz|{{||||{{zzz{{{{{{|{{{|{{z{z{zz{{{{z|{{{{zzzz|z{|{{|z||{{{z{z{|{|{|{{{{zzyz{z{zzz{{{{z{{z{|y{yzz{z{{{{{{zzzzzzzz{{{|{|{{{{zzyzz{|{{z{|{{{zzzy{z{{{z{|{|{zzzzyzz{{zzz{{{{{zzzz{z{{{{{z{|{zzz{{{z{z{{{|zzzy{zzzzy{{zzzzz|zyz{zzy{zz{y{{{z|z{zyzyz{{{{z{z{zyzzzzzyz{{z{zz{zzzyzzzy{zz{z{{{{zzy{zz{z{{zz{{{{zzzzz{z{|{{z{|{zz{{zy|z{zzzz|{{{{{zz|zz{z|{{{{|z{z{zzz{|}{|{|{{{z|{{z{{z{{{{|{{{{{{{{z{||{{{|{z{zz{{zz{{{{|{||{{z{{{|{z{|{{z||||z{{{{{z|{{||{|{{{{z{{{z}}|{|||{z{|z|{|z{||{|{|||{{|z{|z|}{|{{|||z{{{{{{}||{|{|{||{{z{{|{|{{|||||{{{{z{{||||||{|z|{y{|{{{{z{{|{{{zz{{{{z|||{{{|{{{{{{{{|{||||{{|z{{zy{{zz{{{{|||zzz{zzzy|{{{{z{{{{zz{zzzz{{{z{{{{zzzz{{z{{{{{z{|{{{zzzzy{{||{{z|z{yzz{{zz{{zz{|{{z{|{{yzz{{{|{|{{{{y{zz{|{|{{{{{zzzz{zzz{{zzz{{{zzyyyzzzz{{zz{{{zz{zzzyyzz{z{z{{zyzzzyzyzzzz{z{{{{zzzzzzz{yzz{zzzzzzzzzyz|{{{{{{zzzyzz{z{}{{z{{{{z{zzz{z{{{z|{{|{z{zzzz{z}{{{{z{{{zzzz|{{|{{{||{zz|zz{{{{|{{z{|{zz{|{|{z{|{zz{{|{y{zz{{{{||{z||{{{z{z{{{|{{|{}|}{{{{{{z{{|{{|{||{{{y{z{{{||{{{{}{{z{{|{||{|{|||||{{{{|{|z||{||{|{{|{{{{{|{z{{||||z{|{{{{{{||||{{{{{{{{z{{{z{||||{|{zz{{{{||{{{||{{{|zz{z{{|||{{|z{z{{zz|{|{}|z{{z{zz{zzyz|{{z{{z{z{{zyzz{|{z{{{|zzzy{z|{{z{{{{{||{{z{zzz{|{{zz||{z{z{z{zzzzz{{{{zzz{zzzzz{{z{{{z|{zzzzyz{y{z{{{{zzzzz{z{zz{zy{{|zzzzzzzz{z{{{{{z{z{{zz{{z|{zz{{{{zzzzzz{zz{{z{{{{zzzzy{zzz{yz{zzzzyzzzy{y{|zz{{{zz{zz{zzz{{{z{|{{{zz{yz{{{{{{{|{{yzzyz{{{{|{z{z{zzzz{{z{|{{z{{{}{{y{{zzz{|z{{{|z{zzy{zzz{{|{|{|{{zzz{z{zz{|{{|{{{zzz{{zz{{||{|{|{{{|z{{{{|{{{|{|{{{y{zyz{{{{|{|{{{{z{z{z|||}||||{zzz{{{{|{|||{|||z|{zzzz{|{{{{||{{zz{z{{|{||{{|{{{{{{{{{{{{{|{{{|{{{{{z{{{{{{{{|yzzz{zz{z{{|{||{{{|zz{{{z|{{{||||z{z{z|{{{||}{z{{z{zzzzzz|{z{z{{z{z{zyzz{{{{{{{{{z{zzzzz{zzz{|{{|z{{zzzzz|z|{{z|z{{{{zzzz{z{{{z{z{{z{{zz{{z{{{{|{zzzzzzz{{|zz|{{{{{yzzy{{{zzzy{{zzzy{yzyzz|{z|{yzzzz{yzzz{|z{{{{zz{zz{yzy{{{z||{zzzzzxyyyz{zz{{z{zzzz{zzz{zz{{{{z{{zzz{z{{z|{zz{zz{y{yz{{{z{{{|{zz{zzyzzz||{{{|{zzzz{zzz{z{{{{|{z{{{z{{z{{{{z|{{{z{zz{yy{|{{|{||{zz{z{z{{z||{|{|}{{zz{z{{z||z{|{{|{{z{|z|{{|||||{zz{{{z{{||{{{|||zz{z{{||||}|||{{{{zz{{{{}||{|{|{{zzz{{{||{}|||{||{|{{|||{{{|{{|zz{z{{z|{|{{{|||{z{z{zz{{{{{{{|{{z{{{{{{{{{|{||{|{{|{{zz{|{|{{|{{z{{{z{{||||}{{{{{y{z{z{{zz|{{{zz{{zzzzz{{|{{{{{{{zzzzz{zzzz{{{{{zzz{yzzy{{|z{{z{{zzyzyz{{||{{{{zz{zzyzzzzz{z{{{{z{z{zyzzzz{{zz{zyzzzzzz{y{{{z||zzzzzyzyz|{{z{{z{zy{zzzzz{{z{{z{z{zzzyz{zzz{zz{{zy{y{zyyz{{zzz{z{zzzzy{y{{zzz{{zzzz{zzzz{{z{{z{z{z{zzzzz{{zzz{{{{z{|zz{zz{z{{{z|z{zzzz{zz{|{{{|{|{zz{zzzzz{z{{{{{{{z{zyz{{{{z|||z{zz{{{{{{{{z{{{zzzz{z{{{z||{}{}{zzz{{|{|{{|{|||{{{{{{zy{|{||z|{{zz{{{{{||{{|{|}{|z{z{{|{|{||}|}{{{{{{{{z|{{{{{{{z{{{|z{{{|{{{|{|zz{{{|z|{{|{||||{{{|{{|||{|{{{|{{{{|{{{{zz|{|{{{z{{z{{zz{{|z{{{zz{{zz|{{||}~|{{zzzzzyzz{|{{{{z{zz{zzzzzzz{z{{|{zzyzzz{z{{{{{z{|{z{zz{z{z{{|z{||{z{zzyzy|{{{{{{|z{z{y{{y{{{z{{{zzz|yzyyz{z{{z{{{zzzzzzzzz{zz{|{{z{{z{yzy{z{{{z{{zzzyyzz{z{zy{z{{{zzz{zzyz{zzy{{{z{{{yz{z{z{zy{z{zzzyzyzzz{z{{|zzzyzzz{yzzz{{{{|{yz{zyz{z{|{{{{|zz|{{zz{{{{z|{}z|{z{{zzzzz{|z{{{{z{{z{z{zz|z{{{{z{z{{zz{zz|{{{|}{zz{{{zz{{{{z{||{z{yzz{{{{{|{{{|{z||{{z{{z||{{|{|z{{z{{{{||||{|{||zz||{{z{|{{|||{{{{{{z|{{||||{|||{z{zzyz{||}|||{{z{{{{{{{{|{{|||zzz{|{{z{||||||{{{{{{{{{}{{{{||{{{zzz|{{{{{z|{||{z{{{yzz{}{{|z{|{{z|{z{z{|}|~|{{{zz{{zyzz{{{{{{{{zzz{y{zz{{z{{|z{zzzyz{z{{zzzz{zz|zzzyzz{{{{z{{zzzzzzzzyz{{{{{z|{zzzz{z{{{z{{zzzz{zyzzzz|z{{{{|zyyzzzzyyzz|z{{z{zzzyzz{z{z{z{{{{{yzzyzzzz{zzz{{{yz{zyz{yz{{{z{{{zyzyzzyzzyzzz{|{z{zyzzzz{z{z{{zzyzyzzz{z{{{z{{{{{zz{zyzz{{z{z{zzzzzzzz{{{zz{z{{{{{zy{{{z{{{{{{{{zz{{zyzz|{{{||{{{zzzzz{z{z|z{|{{{{yz{zz{{{zzz||{{{z{{|zzzz{||{{|{z{z{z{z||{{{|}|{{{{{zzz{{{{{}}{|{{|z{{{{||{|||{||{z{{{{{|{}{{{{{{z{{{{z{|{{|{{|{{{{{z{{|||{{|{{|z{z{{z{|{|{|||{{{{{{|z{{|||{{{|yz{zzz{z{{{|{{{{{zz{{{{zz{{|{|{{|{{y{z{z|||~}{{{{zz{z{zz{{|{z{z{z{zzxz{yz{{{z{{zzz{z{yyy{z{{zz|{zzzzzzyz{|{{{z{{{zzyyyzyz{{{z{{|yzz{y{zy{{z{y|{{z{z{{zzzz{{|{z{{yzzyzzzz{{z{z{{{zzzzzzzzz{{zz{|{{zzyzzzz{{{z{z{{zzyzyzzzzzz{{z{zzzy{{yzz{z{zzyz{{{zyzz{{{{zzyzz{zyy{{zzy{{{z{{|z{zy{{zzzz{{{{{{{z{yzzyzz||z{{{{|zy{zy{{yz{{|{{{|{zzzzzyz{{{{z{zz{zz{z{{{{|{{z{}{{{zz|z{z{{{z{|{|{{z{z||{{{||{{|{{{zz{{zz{{z{||{|{z{zzy{z|}z{{||{|z{y{zzz{|}{||{|z{{|z{{{{|{|||{||{|{{{z{||{|{|||zzz{|{|z|{z{{{||{z{zz{{{{{{{{|||{{z{{zz||}{{||||z{z{zz{{{{{{{{|{{{{z{{|{{|{{{{|{{z{z{{{z{{||}{z{zzzzz{{{zz{zzz{{zz{zzzzzzz{{{|z{zzz{z{zy{{zz|{{||yz{zzzz{z{|{{{{{zzzxzyzz{zy{{z{{{{zzz{zzz{zz{{z{zzz{zzyz{z{z{zzzzyz{zyzz{z{{z{|y{{zzyzzzzz{y{{{{zyyz{yzz{zz{{{{zzzzyyyzz{zz{{{{zzzzzzzyz{z{z{zzzzzzzzzzzzz{{|{{{yzzzzz{z{zyz{{{zyz{zzzy{{{{|zz{zzzyzyzyzz{{z{{{{zzyzzz{|z{{zz|{zzzzzz{yz{zz{|{z{yz{z{zz|{{zz{|{{{{zyzz{{{{{{{{{z{zz{{{z{{{{|{|{{|{{{z{|z{{{{||{{z{{zyzyz||||{|{|zzz{z{z{{|{{|{|{{{{{{{{{||{{|{|{{{{{{zy{|{{{||||zz{{z|{|{|||{{z|{{{zz{z|{{{{{|{{z{{{z{{{|{{|||{zz{yzzzz{{z{{{{{{z|{zz{z{}{z}|{|{{{{zz{z{||||{{{zzzzzz{{z{{{|{{|z|yz{zz{{||{z|}|z{zzz{{z{{{{{|{|{z{zzzzz{|{{{{{{{{zz{y{{{z{{z|{{zzzz{zzz{{{{{{{zzz{zz{zz{z{yz|{{zzzzzzyzzz{{z{|{zyzzzzzz{{{{zz|zzzzzzzzzyy{z|{{{{zzzyyzzzz{{z{{{zzzzzzzyz{|{zz{{{zzzz{zzzzzzz|{zy{y{{zyzz{{z{{{{zy{zzzz{z{z{{{{|zzz{zzz{z{z{z{{{{zzz{z{zz{z{{{{{{z{zzzzy{{z|{{{{{zzz{{{{z{{|{{{{zz{{z{zz{|z{z{{zz{{|{zz{{||{{{{{{{{{zzz{|{|{{{{{{{{{{{{|{{{{{|{|{{z{{z{{{||{{|{{{{|{z|{{{{{|{|||{|{z{{{{{}{|{||||{{{z{{{|{{|{||||{{{{{z{z|||{{||{{z{{{z|{{|{{{||zzz{zz{{z|{|z{{|{zzz{{{z|{{{|}{|z{{|{{{{{||||z{zz{yz{zzy|{|{zz{{z{{{zyyzz{{y{|y{{zyzzzzz{{{|z|{{z{zzzzz{{{{{z{{||zyzyz{z{z{{z{{{zzzz{zzz{|z|z{{{{y{{{z{zzzz{z{z{zz{zzz{z{z{{z{{zzzz{zzz{zzz{zzz{zzzyyzyzz{{z{zy|zy{yzzzz{|zzzzz{{y{zzzzyzz{{z{{{{zyz{{zzz{{{{{{{yzyzzzzzzzz{z{{{zzz{zzzzz{z{z|{zzz{yzzz{zz{yz|{{zzz{z|{zz{{{{{{|{z{zzyz{{{{|{{{|{zzzzzyz{{{{z{|z{{{{z{z{|{{{{{{|zzz{{{z{z{|{{z{{{{{{{{{{||{||{||{zz{{zy{z|{||{|{|{z{zz{|{{|{{{||{{{{{{{{z|z||{|||{|z{{{{{|||}|||{{||{z{||||{{{{|{z|||{{{|{z{||||{z{z|z{{{{{{{||}{z{z{{z{{{zz{{{|||{zz{z{{{|{z|{|{{zz{{{{||||}|z{{{{z{z{{z{|{z{{z{{zz{{{{z{{{{{}|{{{{{{zz{{|{{{||z{|zz{y{zz{|z{{|{zz{zz{z|{z{z{{|z{zzzz{yz{zz{{|{{z{z{z{z{{{{y{{{{|z{zzzzz{|{{{|{zzzzz{zzzz{{z||{{yz{zzzy{{{{{z|{{{{zzzzzz{{{{{{{zz{yzy{yzz{{{|{{{{zyzzy{z{zz{|{{{z{{{zz{{{{{{{{{{zzz{{{zz|||{{{{{y{{z|z|{{{{zzz{zz{{z{z{{{}{{{{{{zzz{z{{{{|{|}{{z{{zz{z{||||{||{{z{{{{{{{{||{{{{{{{z|z|{||||{|||{{|{{{|{{{z}z|||||z|{{zz|{}|{||||z{{{{{{|||||||{{||{z{|{{|{{|||||{z{{{||{|{|{||}{{{{{{{|{{|{|{||{{{{|{z|||{{|{||||{{{z{{{||{|{||{z{{{{{zz{{{{{|{{{{zz|{z{|||z{|||{{{z{{{|{||}{{{z{{z{{zzz{{{zz{{{{zzzzzy{{zzz{{{{{{zzzzz{zz{{|{{{{zzzz{zzzz{{{z{{y{zz{{z{{{z{{{|zzzz{y{z{{{y{zz{{zzzzzzzzz{zz{|zzyzzz{zzz{zzz{{{zzyzyzzyz{{z{{|{zyzzyzy{y{{{z{{{{zzyyyzyz{{z|{|{yzzzzy{xz{zzzzz|{{{zzzz{z{z{{{{{z{zzzz{z{zzz|z{{{zzzzzz{z||{|z|z{zzz{z{{{z|{{z{{zzz{yzz{{z{{{|{{zz{z{{{zz{|z|{z{{{{z{zzy{||{{{|{{{{{{y{z|z|{{|{{zz{{{z{{{{|{{{{|{zzz{z{{{|z|{{z|{{{zz{{zz|{{{{{{{z{{{{z{{|{z{{|{|{{{{{|z{{|{{||||{|{|{zz{{||}||}{zz{zz{{z|||||{{|{z{{z{{{{||}{|||zz{{{{{{{{|||||{{z{{{z{{||{{{|{{{z{{z{z{|{{z||{{{|z{{{{|{||||{{{{{zzzzzz{{{zz|{{{{zzzzz|{{{z{|{{{{zzzzz{z{z{{{{{{{{zz{z{{z|zz{{z{{zyy{zz{{zzy{|{z{zzzzy{{z{z{{zz{zyzzyzz{{z{{z{zzzzzzyzzzz{{{z{{zzzzyyyzz{z{{zzzzzzzzy{{{{{{zzzzzzzyzzzz{z{{{zzzzy{yzzyz{zzz{z{zz{zyxyzzzz{z|z|z{zzzz{{z{z{z{{|zzzzzzzzzz{z{{{|{y{z{y{zzz|{{{{{{zz{zy{{{{{{||z{zz{|zzz{z|{z{{{{zzzz{{yz{}{|{{||{y{z{zz{{{|{{{|{z{yz{z{{z{{{{||{{{z{zzz{{{z{{{{{zz{{{{{{{{||z|{|{{{{{{|z{{{{{|||{{{z{|zz{{z}||||{{{|{{z{z|{{|||{{z|{{{{z||}{{|{{|{{z{|zz{{{|{{{|{z{zz{{{|{{{|{|}{{zzzz{{{|{|{{||zz{{{{z{{{{||{|{{z|{zy{zz|||{z{z{{zz{{zz{{{{{z{{{{{zyzzz{z|{z{{{{z{zzzzz|{{z{{{{|z{{zzz{z{{{{z|{{zzyzz{z{{{{{{|{{z{zzzzzz{{{{{{zz{zzzyyy{{|zz{{{zzzzz{{zz{zzzzzzzzz{zzzy{z|{{y{zzzzzz{zz{{{{z{{|{z{zyz|z{{z{{z{{z{zxyz{zz{zz{{y{z{yz{zzzzzz{z{z{zy{zzzzz{z{{zz|zzzzyyz{yz{zzzz|{z{z{yz{z{z|{z{{{z{{zzz|{|{{{|{{{{{||zz{y{{z{{|{{z{zzzzzz{z||{{|{{zz{zzzzz{{{z|||zzzz{z{zz|||{{|{zz{zzz{z|{{{{{|{|z{{zzzz{|{{||}|{{{|{{{z{|{||||{{z{{{z|{{{{{{||z{z|z{{{{{|{||{{||{|{{{z{{||{{|{|{{{{{{zz{||{}||{|{z{{z{{{{|{{|{||{{{{zzz|{{|{{{{|zzzy{y{z{z{{||z{{{yz{zz|||{|{{zz{y{zz{zz{{z{{|{zzzzzzzy{z{z{{{{{zzz{yy{z{zz{{{|{z{yzzzz|{{|{zz|{z{yz{zyy{{{{zz{{z{zz{zzz{{{z{{{zyzzzzyyyzz{{{z{zzzzy{yy{{z{{{{{zzzyzyzy{{zzz{{z{zzzzzyzzz{{z|z{zyzzyzzzz{{{{{{zzzz{zzyyyzzyz{{{yyzz{z{zy{zz{zzzzzzzz{zzz{z{{z|zzzzz{y{z{z{{{{{{{y{zzzz{zy{zz{{{{{zzzzzyz|{{{{{{z{zyyzzz{{{{{{{{zzzy{zzz{|{{z{{{{z|{{zzz|{{z{{{{{z{z{z{{{z{|}{{{z{{z{{{{{{{|zz{|{{{{{zz{{}||{{|{|zy{{zz{}||{{|||z|zz{|{{z{|{{{{|z{z{{z|z{|{|{|{|{{z|{{zz{|{{|{{|{zzzz{{{|{z{{|||z{z{z{z{{z||{{z|z{{{{{zzz|{{{{{{{z{{zzzy{{{{{{z{z|{{{zz{{{{|{z{{z{zzzyxz{z|z{{{|zz{zyzzz{{z{{z{z{zy{zz{{{{{{{{z{{zyyzzyzz{{{z{|{y{{zzzzz{z{zz|{|{{|zyzzyz{y{{{zzzz{zyzzy{{{zz|z{zyz{zyzyzzzzzz{{{yzzzzzyzz{zz{{{zzyzz{yzzz{z{{|{zzzzyyzzzzz{zzz{zz{zzyzzzzzzz{z{yyzyzzyyzzzzz{z{zzzzzzzz{{zyz{{{{z{yzy{z{{{{{{{|{zzyyzzy{{{{z|{{zzzyz{zzz{zzz||zzz{z{zz{z{{zzz{|{z{zzzyz{{|{{||{{{zz{{z{|{{zzz{{|zzz{{zzzy{{{{{|z|{{z{{{{{{{|{||z{z{zzzzz||{||{|{z{{{z{z{{{{||{|z{z{{{{{||{{|{|{{{{{z{{z|||{{||{|z{{{{{z{|z{|{|||z{{z{{{z{{{{||{{{{{{{z{{{{|{{{|{{zz{{{|y{{{z{||{z{{zzzzz{{{z{{{zzz{y{z{z{{|||{|{zzzzz{{z{||{{|{z{z{|{z{{|{{z|||{{z{z|{{{{{z||{|{{{|z{zzz|{|{z{{{{z{z{|z||||{||{{zzz{{zz{{{z{{|||z{z|{z{{{}z{{{{{{zz{{z{{{{{{{||{{{zzzz{{z{{|z|{zzzzz{z{z|{{|{||{z|{zz{zz{|{{{{||{{{|zzyz{{{{{z{{zzz{{z|{{z{{|{{{z{{{{zz{{z|z{{|{{|z{z|{|{{{||{|{{|{{{|{{{|{{|{|{{{{{{|{|{{{{{|{{{{|{z{z{}{{||z{{{||{{{z||{{{|||{zz{z{{{|}{|}|||z{||||z{||{||{||{{|||{||{|{z|}|{}{{{{z{{||||z}{|}{}{|{{{}||}|{|}z|||||||{|||{|||}{|{{|{||||||||}}{||{z{z|{||}}|||{{{{|{}||{|||}{|{{|z|{{}||}}}||{{{{{{{||||}{||{{{{{{{{{z|||{||{{{{{z{{{||{}||{{{z{zy{{{{{|{|{{|z{z{|{zzz|{{{{||{z{{z{z{{{{{{{{|{{{{z{{z{|{{||{|{{|{z{zz{}|{{{{{{{zz{||z{|{{{{{|z{zzz{zz{{|{|{||{zz{{zz{z{{{{|{{{z{{{zz{z{|{{{{{|z{{zzz{{{{{{{{{{{{{zz{z{}z{{{{{{zz{{{z{y{z{{||{{|{zy{{{{|{|z|{{{z{{zz{z{|{{{||{{{zz{{zz{{{{|||||z{zzz{{z{{{|{{{y{z{{{{{{z|z||||{|{{z{{{{||}|{{||{}z{z{{{|{|{{||{{{|z{{{{{{{{|{{{|{z{{{{{||||||{{{{z|{|{|}{|{||||{{{|{{{{}|{{|{||{{{|{{{}}|||}}|{|{{{|||||||||||{|||{z|{|}|~}||||z|}|{|{{||}}|}|{{{{{|z{|{||}|||||{|||{{||||{||}{{{z{{|{{}{||||||z{{z{z{{|{|{|||{z|||z{|||||{|{{{{{z{{{z{{|{||||z{z{|{zz|||z{{}|{z{{z{{{{{{{{||||{|{{{{{{{|||}{|{{z{z{{{||||{|{||zz{z{{z{||{{{||{{z{{{{{||{{z{{|{zz{z{{{{|{{{||{zz{zzz{z{{{{{{|{zy{{z{z{{z}z{{{{{z{{{zzz{{{{{|{{zzz{zz{zz{{zz|{|{zyzz{zzz{z{z|{{{z{{{{{z{{{{{|||{zz{z{{z||}{||{|z{{{{|{{{{{{|{{{z|{{{z{{{||z|}||{{{{|{{{{{z|{|{|{{||{|{z||{z|{}{{{{{zzz{||}|{|||{||{|{{{||||}}{||{{{|{{|{|{||||||{|{||z{{||||}|||{{{|{|{||{|||||||{{{|||||||||||}{{{|{{{{}|||||||{{|z|{||}|{|}}|}{{{|{||||||{}}}|{z{|{{{||{||}|}|{{{|{||{|{{||||{{{|z{{{|{|}||}{{{|{{{{z{|{z|{||{z{{zz{z{|{{zz|||z{{{{{{{{||||{|{{{z{{{{{|{{||||{{{{{zzz|||||{|{z{zzyz{z|{|{{{{|{{z{{{yzz|{{{{{{{z{{{{zz{{|{{||{zz{zzz{{{{{{z{{|{z|zz{z{{{{{{|{{{{{{zz{{{{{{|{{{{{|{{zz{z{{{{{|{{z{{{{{zz{|{{{{{|z{z|{zzz|{|z{}{|{{{{zz{{z{{|||{{{{{{|{{||z|{{|{|{{{{{{{{{{{||{|{z|{|zz{{|{|{|{z{{|{{z{z{||||{||{z{z{z{z{{|{{{}{|{{|z{{{{{|z{|{|{{z{{{{||||}{|||{{{{{{{{|{|{{|||{{{{{{{{}|||||||}z{|{|z{||||||}}{{{{}{|||||}}||}||{{{{|{||||||}|||{{|{{{|{|}|||}}z|{{||{|||}|||||{{{}{|{|||||||{|zz{{|zz{||{{|||z|{{{{{{{}|||||{{|{{{z{{}|||{{{{{z{{{z{z{|{{{{z{{z{{{yz{{{{z{{||{{z{z{y{{{{|{|{{{zz{zzz{z{{|{{|{{{{zzz{z{|{|{{{|z{{z{{{zz{z{{|{{z{{{z{{{z|{{{{|{{{{zzzzz{{{{z{{|zzyz{yzz{z{zzz|{zzzzy{z{{{{z|z{{zz{{yzzzz{{{zz{|{{zz{zzzz{zz{{{{zz{{{{{zz|{z{{||{z{zy{zz{{{{{|{{z{{z|{{{z{|{{{{|{{{z{{{{{{{|{||z{zyz{z{{{z{|{{{{|{zz{zzz{{{{{|||{{{z{{{{|z|{{||||{{{{{{{{{{{||{{{|z{{{{{|}|||{|{{z{z{{{{{|{|{|{||{{{{{{{|{{||||||z|{{z{{|}||{||||{{{{{{|{||||||||{{{|}z{{||{{|||{{{{|{||{{|||||}|{{|{{{|{|{|||||{|{{|zz|{{{}|||||{|{{{{{|{{||{|||{{|{{{{|||{|z||{z|z{{zz|||{||{|{{zz{z|{z{}{||{|z{{{{z{{|{||{{|{{{{z{z{z{||}|||{|{|{{zyz{{{{||||{{|{zzz{z|{|{{{||z{{{{{z{z{z{{|{{{{z{{{z|{{|{{{{{z{yzzyz{{|{{{{|{{zzz{zz{|{z{{|{{{z{{{z{{{{{||{{{{{zzz{zz|{{{{|{{z{z{zzz|{z|{|{|{z{zz{z{zz{z{}{{zzzzz{zz{{{{{|||{z{{{z{z|{{{{zz|{{{{{z{{|{{{{||{{{{|{{{{{{||{{|{{|{zy{{{{z}{||||{z{{{{{{{||{|{}|{z{|{|z{{}|{||||z{|{{{{{{{|{|||}{{{{z{||||||}{|||{{{{|{||}|||{||{{{{{{{{|||||||||{||{{||z{|{}}{|}{{{z|{{{|{||||{{{|{{{|{|||||}|||{{|||{||||{{||||{{{|{z{}|{}{|||{z{{{{zz{{|||||||{{{z{{{||{||{||{z{{{{{z{{||z{{|z{{{z{||z|}z{{z|z{{zz{z{||{{||||{|{{{z{{|{|z|{||{z{{z{{z|{{|z|{{{{zz{{{{{zz{{{{{zzz{{yzz{|{{{}||{|{{z{z{{{|{{||{{zz{z{{z{{{{|{{|zzzz{zz{z|{{{{{{{z{|z{zzz{|{|{||{z{{y{zzy|{|{{{}{zzyz{{zz{z{z{{||{zzz{{{z{z{{{{|{{{{{{z{z{{{|{||zz{zzz{{{{{|{|{||z{z|{{{||||||||{||{{{{{|{{|{||{{|{{{{{{||{|||}|{z||{zz{||||||||{{z{z{{{{{|{{|}|{{{z{{z||{||}}||{{{{{|}{|}|{{||}{z{{z{|{||{||||||{{||{{|||||}||}{{|z{|{|}{|{|||||}|{{|{{|}||||{}{{{z{{{|{}||||{{|{|{{{{{||{}{|}}|{{||{{{|||||||||{|{|{{||||{|{|}|{{|{|{{z|||{{{{||||zz|z{|{|}z{{{zz|{{zzz{|{|||{{z{{zzzz{{{z{|}{{{{zz{{z{|{{|{|{{z{z|z{zz{{{{{{}|{{z{z{z{{|{{|||z{{|{{zz{|{{{||{|zz{zzz{{{{z{{{zzz{z{zz{{zz{z{{{{z{{{yyz{|||{{{{{zz{z{zzz{{{z{{||{zzz{zz{{{|z{{{{zzz{zzz{{{{z{{{{zzzzz{z{{{{{|{{z{zz{zz{{{{{{{z{{z{zzz{{{{|{{{|||{{zzz{{{{{{{|z{{zz{{{{{|{|{|||||{z{z|{z{|{||{{z{z{|{z{{{{||{z|{{||{z{{{}{|{|||{|zz{{z{{{{}{|}|{{{|{{{{{|||}{}{|{{z{{{{{||||{||{{{{|{zz|||}{||||{{{{{||{{||{|||||{{|z{|{||}||}||||{|{{{|||{|{|}||{{{{{{|||{|||}}|{{{{|{{{{{{|||{{{{z|z{|{{{{{|}||{{zzzzz{{{{|||{|z|{{{z{{{}|{{||{z{{{zzz{{{||{||{zz{zz{{{{z{{{{}|{{zz{{{{||{{|||{||z|{z{|{||{{|{{{{z{{zz||{{{|||{{{{{{{zz|||z||}{{zz{yz{||||{|{{z{{zzz|z|z{{{||z{z{z{{{{|{{{{{{{{{zzz{z{zz{{|{{|z{{{{{zzz|{{{|{|{z{{yz{zz|{{{{|{{{zy{{{{z{{{{{{|yy{z{{zz{{}||{{{{{z{{{{{|||{|{|{{z{{{{|{{{||{{{||{{{{{z{|||||{{{{{{{{z{{{|{|{{||{z|{{|{z{|{|{{{{||{{{{{{{|{|{|}}{{{{{{z{{}||{||||{{{{{|z|{{||{{{|{||z{{{|||||{}{{z||||{}|}||||}}{|{{z||{{}{}}||}|z||{{{{|}||}|}||{|}|{||||{|{||||z{{{{{{||{|{}||{|{||{{{|{||{||||{{{|{|{{{||{{}|}{{{zz{{||{}{{|||z{{{{{{|{||||{{{{z{{{zy|{|{||z|{{|{zz{{{|{{{|||||z{{zzz{{{|{|{{|z{z{zz{{{z{|{{{{{||zz{z{z{|||{|{|{{{{{zz{{{{|||{{{{z{zz|{{|{{{z{{{{{{zz{{{{{{{{zzzz{{{z{zz{||{{{{z{{zz{{{{{{|{|{z{zz{zz{{{{{{{|{z{{zz{z{zzzz{{||{{{zz{{{{{{{{|{z{{z{{zz{z|{{{|||z{{|{{{{{|{||{{|z{z{{{{z{|{||||{{{|zy{z|{|{{|{|{|{|{{{|{}||||||{|{{{{zz{|{|{||{{{{{{{{{z||{{{|||{{{|z{|z{|{||{}{|{{|{{{|||||||||{|{z|{{|||}|}|}{z|{{z|{||||{||{{{||{||{|||||}}||{{||||{|||}|{|||{|||{|||{{}{||||{||{{{|||||{|||||||||z|||||||}|{{{{|{||{||{{{}|zz{{zyz{|||{|{||{{{{y{z{{|{|||||z{z{{zz{z{{|{{{z{{{{{zz{{{|z{|||{{{{{{{{{|z{{{||{z{z{y{{{{{|{z||{{zzz{zzz{{|{{{||{{zz{zz{|{|{{}{|{z|{z{z{{{{{}|z|zzyz{z{z{z{{|{z{z{{{z{{{{|{{{z{z{{zzzzz{z}z{z{{{{z{z{zz{{{{||{{{{{zzz{{{{zz{{{{{{{{{{zz{{{{{{{|{{{{{zzzz||{{{|{zz{z{{|{{|{||{{}z{|{zz|z|{{{{||||{{{z{{{z|{|{{||{z{z{{|{||{||{{||{z{z{{|{{||{|{{|z{{{{{{{}{{|{|{||{{z{{{|||||}||{{{|{{|{{|{||}}}||||{||{||{{|}||{zz|{{{{||{||{}}{{{{{{|||||}|{||}{{||}{|{{|{{|||{{|{{{{{{|{|||||}{{|{}{{}{}||}||||}z{|z|||{}}|{|{|{||{{{||{|{|}|{{zz|{{{{|{|z|||{{{{zz{z|||||{{{|{zz{{{{{{{{{||z{z{{{{z{z{|z{|||{{{{z{{{}{|{{{|||{{z{zz{z|{{{|{{{{zzzzz{{{|{z{||{{{{{|{z{|{z|}|{|{zz{{z{|{|{{{||{z{{zzzz{z||{{{|zz{z{z{z{{{{{||{{z{z{z{{{{||{{|{{{||z|{z{z{{||||{{{{|zzzz|{|{{z|{{{z{zz{z{{{{|{{{{{{|z{{|{{{{{||{{{|{|{z{|||{{||}{{zzz{{{{{{}{{|{{{{z{{{{{{z|||{{{|z|z{{||{{{||||z{{{{z{{|||||}|{{z|{{{{||||{{|{|{{{{{{||{}||}||{||{{{{|{{||}}|||{|{z{{{|||||}|}||{{}|{{||||||}||||{z}||{|||}}||}{{||{{{{}|}}|}||{}||{{{|{||{|||{|}{{{|{||{}||}}||{{|{{|||{{|||||{|{{{{|{|{{||{||{{{z{{{{|}|||||{{}{{z|||{{|||z|{{{{{{z{{|{{{{{{zz{{{{{z{|||||||{{y{z{{y|{{{{z|{{{{z{{zzy{zz{||{{{|z{z{z|z|{{{|{{zz{{z{z{{{{z|{{{||y|{zzz{|{|{{{{zz{|{zyzz{|z|{{zzzyzz{{{{{|{|{|zzzzy{zz|{||{|{{{{{{{{{zz{|z{|||{{{{z{{zy{{|{{{||z|zzzz{z|{zz{{{{{{zz{{z{{z{{{|{{zzz{z{{|{|{|{{{{{{{zz{|{{||{{||{z{{{{{|{{{|z{||{{|{|{z{{|||||{z{z{{zz{{|||{|{||{{{{||z{|{{||{||{z{||{{{{{||||||{|{{{{{|||||{}}||{{z|{z{{|||{|||}{{{{{|{|}||||}{||{{{{{||||||||{}{{{{|{{|~}|}||||{{}{{{{||{}{{|||||{|{{{{{|{|||}{|z||{||||||||||{{{{{{{{{|{||||{{{{{{z{{|}{{{{}|{{{{}{{{|{|{|{{|{{{zzz{z{{|{{{||{{{|z{zz{}|{{|||z|z{z{{{{{||{{{{zz{{z{z{z{{|{{||{{zz{z{y{{}{{{|{z{{{{z{z{{|{{||{z{{z{{zzz||{z|{|{z{{z{{z{z{zz|{{zyzz{z{{{{{z{||{{z{{z{{zz{{{{z|{|{z{zzz{z|{|{|{{zzz{{z{zz}{{z{{{z{{{zz{zz}z{{|{{{{zz{zzz{{{}|{||{|{zz{{z{{|{{{{|{{z{|z|{{{{{||{|{{z{z{{{|||{{{{||{{{{{{{{|}{|{|{z|{{{zz{{|}|||{{||z|z{z{{||{||{{{{{|{{{z{|||{|||{{{{{{|{|}||{}|}z{{{{{|{|}||||{{|{{z{z{{|||{|||}{{||||}{|{|||}{}|||{{|{|{}|||||||{{{z{{{||{||}}|}{|{|{{{{||||}|}|{z{{{z{||{|||}|{{{{|{||{}{|{||{|{{{{{{{{|||z}{|zz{{{{{z|{|{|{{{z{{zzz{{|{{z{{|||{zz{z{{{{{|{{||{{{z{zz{|}{{{}||{z{z{yz{{z||z{|{{{{{zz{{{{|{||{|{z{zz|zzz{{z{{{||{{z{|yz{z|{z{{{|zzzz{{z{{{{{||{{y{z{z{{zzzz{|{{zz{{yzzzz{}{||{{{{{zzzy{{{{|{{{|{{{z{{{z{{{z{{{{{{zzzzz{z{|{{{||z{{zz{{|z{||{{||{zzz{y{|{{{{{|{||z{{{{{{{{{{{|{{{z{{zz{z|||{{|||{{{{{{{{z{{{{||{{z{{{{{{|||{|||{{{zz{{{{|{{z{}{|{{z|||{|{||||||{{{{z{||{||z|||||||{|{{{{{|}|||}|}{|{{{z{|}|{|||{|{{{{{||{|||}|}|}{{{{{{|{}||||{||z{|{{{}||||{||}||zz{{{{|}{{|}}||||{{{{{{{{}}{||{||{{{{{||{|||}||{z|{z{z{|{|{{|{|||z{{z{{||}|||zz{{{{{{{{{||{{{{{{{z{{{{{|{z{{||}{zzz{{z{{{{|z|||z{{{z{{{{{{|{|{|{{{zzzz{{{{{{||zzzz{{{z|{{z||{{{zzz{{{{{{}{{{{{|{{zy{zz{|{|{{{{{zzzzzzz{{z{{{{{z{{zy{zz{|{{{{|{{z{zzzz{{||||{{{{z{zzz{z{{z{{{|{zzyzzzzzzz{{{|{{zzz{{zzy{{|||||{{z{z{{zz||{|{|{{{{{zzz{z|{{|||{||{{{z{{z{{|{|{{{z{{z{{{{||{}|}{{{{{{yz{{{{{|{|}||{z{{z{|{||{{||{{{z{{z{{||||{{{{|{{{z{||||{||{}|{{{{{z{|z|{{||}{{{z{{{{{|}|||}|{|{{{|||{z||{}}}{||{{||{z||}||{||z{|{{{{{|}||||||||{|{{{{||{{|{|||{{{{{{{||{|||||z{|{{z{{z{{{{|||{zz{{{{{||{||{|||{{{zz{{{|{{||{|zzz{zzzz{|{{z{{{|{{{{zz{{{z{{}|}{z{z{{zz{{{{|{{||{z{z{z|{{{z{z{|{z{zzzzzz{{zz|{|{zzz{yzzz|z{{{{{z{{z{zzz{z|{{{z|zz{zz{{{z{{{z|{|zzzz{zz{z{{{{{{z{zzzyzyz{z|{||{{{zzzzz{y{|{{{{{{{zyz{zzzz{{z{z{zz|{zz{zzz{{{z|{{z{zzzzyz{{{{{|{{{{zzzzzz{{{{{|{{{z|{z{{{{{{{{{{|{z{z{z{z{{|{{{|{{{{{{zzzz{|{||{z{z{z{{zz{||{|{{{|z{{{{z{{|{{|{{{|{{z{{{{}{{||{||zzz{z{{{|{{|{{||||z{zz{{|{{|||{|{{{z{{|z|||{|{||{{{z{{{{{{{||||||{{{{zzz{|}|||{||{z|{{{|{{}|||}||z{{{z||{{z|||||{{{{{z{{|{||||{||{{{{{{z{{|{{{{{{z{{z{{{z{{{|{{|{z{z{{{{{{|{{}{|z{z{zzzz{{{z{{{{{z{{yzz{{{|{{|||{{{z{zzz{z{|z{|{{{zz{zzz{{{{z{{{{{zzyz{{{{{{{{{||{zzz{zy{|{z{|{{|yz{{z{z|{{{{|{zzzz{z{zz{zz{{{||zzzzzzzz{{{{{y|{{zzyzzz{z{zz{{|z|z{z{{zy{z{{|{{||zz{yz{zz{{{{|||zzzz{zz{{{{zz{{|{z{{zz{y{{|z{{|{{z{z{{z{{{|{||z|{{|zz{{z{{z{|{{|{{{{|zz{z{zz{{|{{{{z{zz{{z||{{{{{z{{{{zzz||{{{|{{{{zzz{{{|}{|||{{{{{|z{{||{|{|||{{z|{{{{|{{{|{|{|zz{{|{{|{|{|||||{{z{{|{{||||}|{|{{z{|{{{|}||}|||{{{{{{{{|||{{{|zz{{|{{{{{||||||{{{{{{{{{|{|||}}{{{{z{{|{||}{|}|z{{{{{z{||z{{{|}|{{{zzz{{|{|{{{{{z|z{z{{{{{{{{|{{|zz{{zz|z{z{{||{z{zzz{{{|{z{{|{{{{{|{z{{{z{{||{{{{{zz{z{z{{{{}|{z{yzzz{|{{|{|{{|{|zzz{zz{|z{|{|{{zz{{{z|{{{{|{{{z{zz{z{|y{|{|z{{zzyzy{{{zzz{{{{zzz{z{zzz{|z{z{{{z{zzyyzzz{{|z{{{zz{{zzzzzzzz{{{{z{yzz{yz{{z||{{{zz{{{zz|{{{||{||{{zzzzz{z{|{{||{{z{z{zz{{{{z{{{z{{{z{{{{{|{{|{|{{{{zzzzz{z|z}{|{z{{z{y{{{|{|}|{{{{zz{yz{{|z{|}{{{{{|zz|{{{|{|||z{{{{||{|}|||{||{{{{|{zz|{|||||{|z{{{{z{}{|{|{}}{z|{{||{||}|{|{||{z{z||z{||||||}|{|{|{z{||{|{|||}z||{{z{||}{||||{{{{{{{{||{|{{||{{{{{{z||||||z||{z{{{z{z{|||{|{|{{{z{zz{{{{|{|zz{{|{z{zzz{{{{|||{{{{zzzz{z||{|||{{{z{zzz{{|||{{z{zzz{z{{{{{{z{|{|{z{{z{z{{z{{||{{z{z{z{zz{|z{||{{z{{|{z{{{{{z|{{{z{zz{zzz{{{{{{{{z{z{zz{z{|{z{{{{z{{{yyz{z|{z|{z{{{{yzz{{|{|{{{{zz{zzzz{{{zz{{{|zz{zz{zz{{{{|{|{yzzz{{{y|z}|{{|{z{{zzz{{{{z|{{{|{|{zz{{{{{|{{|||{z|zz{z{||{z|||{{z{{{{y{z{{|||||{{|{{{{zz|{|{{|{{{{{|z{{|{||||{|{{{{{{{z|{|}{{||z{|{{{{{{||||||||{{{{{z{||}||{|||{{{||{{{|||}|}|z{||{{|{{|||||{{{{|z{{{{||}|{|z}|{{{||||}}|||||||{{{{{{||||{||}||{|{}|{|||}{|{|}{|{z|{|{||{|||}|{{z|{{z|{|{|{|}|{z{{{z{z}{||{{|{zzz{zyy{{{|{|{|{|{{z{{{z||{{|{|{{{zy{{z{{z|{{z{{{{{|{zz{{{{|{{|}z{zz{{{z|y||z{||{{{zz{{{{|z{{|{{zz{zzy|z|{{|{{{{{{zzzzz{{||{{{|{{y{{{zz{{{{|{{|{{zzzzz{z{{||{|{{z{{zz{zz{|{|z{|||z{{zzzz{z{{{{zz|{zzzz{zzzz{{{|{zzzz{zzz{{z{{{{{{{|{{z{z|{{{|z|{{{{{z{{{{z{{{{|}|z{||zz{|{{{{||{|z{{{z{z{|{|||{|zz{{{{zy{||{|||{{z|{zzz{||{{{|||{z{{zz{{{{{{||||{{||{|{{||{|||}|{{{{{z{{{||||||{}|{|{|{{{||{||}}|{{{z|{{{||||{}}}{{|{{||{}{||{}||||{z{{|{{||{||||{{z{z|{}||||||||{|||||{||||{}|}{{{{{{{{|{|}{{}{{{{{{{{{||{|{|}|{{{{{z|{||{|||{|z{zz{z{{{{{|z{||{{zzzzzz{{{{{{{|z{zz{{{{{{{{||}{{{z{zz{z{{{{{{|{{{{z{z{y{{{{{|{|z{{{zz{z{|{{{{|{{{{zz{y{z{|||{{{z{{yzz{{{{{{{z{|{zzz{zzz{{|{{{|{{{{{zz{y|{{{|{{{{{{{z{z{z|{{{{|||{zzzyzzz{|{{{{|z{{{yzzz{{{{||{{{z{{{{{y{{|{|{||{{z{{{{zz{{{{{z{|{{z{{yz{{||{}||{{{{{{{{{{z{}|}||{{{|zz|{{|||}|{{{|{{z{z{||{{{||{{{{|z{z{{|||||||{{{{{{z{||{}||{z{zz|{||{|{||||||{{z|{{{||{{||{||{|{{z{{|||{||||{|{{{|||{|{|{|{|{{{|z|{{||||||||}z|{{{|{||||||}||{z|z{{||||||||}||{{|{{|{||{|||}zz{z{{z{|{{|{{}||}{{{z{z{{{z|{}{{{{{|y|{{{{||{{{zzzz{{zz{{{|{|{{|yzz{z{z{z||{{||{{z{{yzz|||{{}{z{{z{yy{z{{{{zz{{{z{zzz{z|{|{{{{}z{z{{z|zz{z{{||z|z{yzzzz{{|{{z{|{z{zzzz{z{{{{{{{zzz{{y{z||{{{{|z{z{{yzz{{z{{{{{{{{zzz{yz||{z{{{{{{z{z{zz{{zzz{{{{|{z{{z{z{zz{{z{{zzzyzz{|{||z{}|{{{{{zz{z|{|{{||{{z{{{{z{{z{z{|{z{{z{{y{{{{{|||||{{{{zzz|||{{|{{z{z{z{zz{|||{{|{{{{|{{z{|||{{||{{{z{{|{{|{||||||{{{z|{{z{{{|{|||{{{{|{{{{|{{|||{{{zz{z{{{|{||{{{{|{{z{{||||{|{||}{|z|{{{{}}}}|}{{||{|{{||}{|{|{{|{|||{{{||{|{||}|{{|||{{|{|||{|}|z{z{{z{{{{{|||||{{{{z{z{|{|||||{z|z{z{z|||{|{{|{zzz{{{zz}{|{{{{z{z{{{y{{{{{{|{}{zzzyz{z{{{{|z|{zz{zz{z|{{{{z{||{{{yzzzz{{|{zz{|{z{z{{{z{{{{{{{|{zz{{{z{{{|{z{z{{{z{z{{z{{{{{{{|zzzz{zzz{{|{{{{{zzz{zzz{z||{{{{|zz{zzzzz{{{{|{|z{|{zz{{yz|{{{{{{{{zzz{z|{{z{{||{{z{{zz{z|{zz{|{{{zzz{yz{{{|{|||{zz{|{zz{{{|{|{||{{{z{zzz|{{{||{{{z{zz{}zz|||{|{{{{|z{{{z{{|{|}|{{{{zz|zz{{|{|}{||{{z{{{{|||||||{{{zz{{{{||{||{||{{{{{{{z{|}||||||{z{|{{{|{|z{|||{{{|{{{{{|{||||{|{{|{|{{|}||{|}{{z||{{z{||{|}|||{{{{{|z{}|||||||{{|{{|{{{||{}|||{|{z{{{{{|||{|||{{z{{zz{{{{|z|}z|{{{{{z{{|||{{{{{|{z{yzzz{|{{{|{z{zzzzzz|z{{{{z{{{z{{zzz{z{{{{{}|{z{zzz{{{{{{{{{{{zzz{zy{{{{{{{{{z|z{{z{{|zz{{|zzzz{zzzz{{{{z{{{z{zzz{z{{z{|{z{|{{zyzzzz{{{z{{{z{zz{zzzyy{{{{|{{{z{{zyyz{{{|{{z|{{zz{z{yz{{{z|z|zz{z{{{z{{{|{{{{{{{z{z{z{z{{{|{{{{{z{{zz{|{{{{||zzzz{z{{{|{{|{||{{{zzz{{{{||{{|{|zzzzz{{{|||{|{{{{{{zz{z{{||||||{z{{z{{{|{|{z}|{|zz{{{{{||||||||{{{{||{||||||||||{|{{{{{{{{|||||{||{|z{{{{{{{||{|{{|{{||||}||||||{|{{|{{|}{|}{|}{{{|{{{{}||||||{{{{z{z{{|{||{{|||{z{||{{|{{|||}|{{{{z|{zz|{|z|||zz{zz{{{{{|{{||{{{|zz{{{{{{|{{z{{zzzz{{zz{|{{{y{zzzyzy{z{{{{{{{{{zzzzzzz{{zz{{{{{{{{{zz{zy{zz{||z{z{zzzz{{{{{{z{z{z{zz{y{zzy{|{{zzzzzzzz{|{zyz|{z|{{{zz{z{y{{{{{zzz{zzzz{{{z{z{{{zzzyzz{yz{{{{{|{z{zzzzzzz{{{{{{zzzzz{z{z{{zzz{{z{|zzz{zz{{z{{z{y{zzzzzzzz{|{||{{{y{z{zz{|{{{|{|zzz{zz{{{{|zz{|}{{{zzzzz|{{{{{|{{z{|{y{z{{{|{|{|{z{{|{zz|{{{|{|{{{y{{{z{{{{{{{{{{|z{zzz{|{{|{||||{{{{{z{{{|{||||{{z{{zz{{{|{{{{{{{{|{{{{{|||}||}|z{z{{{{||{{||}|{|{{{{}{{|||||||}|{|{{{{|{|{|{}{{{{z|{{{z|z{||||{|{{z{{{||||||{|{{{zz{{{z|{|{{{{|{{z{z{{{|{|||z{z{{{{z{{{{||{|{{{y{zzz{{{{{{zz||{z|y{zzzz{{z|{||{{{{{{zzz{{{{{|{{z{{y{z{{{|{z{zz}z{z{zzzzz{{z{{|{{{{{{zyz|{{{{{|{z|{{yz{{z{{{{{z{{|zz{z{|{z{{{z|z{zzz{zz|{{z{|{zz{z{{{y|{{{{{{||{z{zy{zz{z||z{z{{z{z{zzz{|{{z{{zy{{zzz{z{|{z{{{{z{{y{zzyz{{{{|{{{{{zzy{|{||{{||{z{{|{z|z|||{{{|{z|{{zzz{{{|{|{|}{{{z{z{{z{{}||{|{|{||zzz{{|||{|{{{z{{{{{{|||{}|||{z{{||{{{|||{|}|{{z{{{{{{{}{|{|{|{{{z{|{}|{|||||{{{|{{|||{||}|{||{{{|z{{|||{}{|||z{z||z||}|||||{|{{{{{z||{}{||{}{|z{{{{||{|{{|||{{{z{{|}{||||||{{{{{{{|{{{{{|||{{{zz{{{{||{||||{z{z{{{{||{|{{{{z{z{zzzyz{{||{{{{zyzzzyzz{{z{{{|{z{zz{zz{{z{z{||{z{zyzzz{{{zz{{{{{{{zzz{{{{{{|{{{z{{z{{z{{{{{||{zz|{zzz{zzz|z{z{z{zyz{{zzz{{{{{{{z{{zzz{z{{{z{{{|{{yz{yz{z{{{{{{zz{zzzyz{{{|z{{{{{zz{{yzz{{{|{{{zzzzzyzyz{{{{{{{{y{z{zzz{{{{{{{|{z{zz{{zz{{z|{|{|z{zz{{{{||{{{{|zz{{{{z{{z|z{||{{{{|{zz{{{|{{{{|{||{{{z{||||{{|{{z{{{{zz|{{|z{{{{z{{{{{z{|||||{|{{|{{{|{||{|{{}|{{{{{zz{{{|}|{|{|z|zz{|{{}||{||z{|{|||{||{{}|||{}{{{{{{zz}}|||||{{{{|{{{{||z{|{|{z{{|{{{{|{|||||||z{{{{{|{{{||}|{{|{|{{z|{{{{{|||{z{{{{{z||{|||{{z|zzz{{{{|||{{{{{{zzzzzz{||{{|{zzz{y{z{{z|{|{||{|zzzzzz{{{{{{{||y{z{zzz{{||{|z||{{zz{{{|{{{z{|}{{{{{zz{{|z{{{|{{{zz{zzz{z{z{|{|{z{z{|z{{z{{|{{{{{{zz{z{{z|z{{{{{zyzz{{{{{{z{{||{{{zzyz{z|{{{{|{{{zzzzzzz|{z{||{z{z{{z{{z{{z|{|{z{{{zz{z{{|{{{||{{z{|z{{{||{{|{|{|z{zz|{|{|||{{|z{{zzz{{|||{|{||{{z{|z{{{{||}||{{{{||{{z{||{|{|{{{{{z{z|{|{|{|{|{{{{{z{{z|||||{||{{{|{{{{|||||||z{{|z{zz|||}|||}||{|z{{{|||}|{}|{|{|{{|{{|{{|||||{{{|{{{{}}{|||}|{{{{|{z|||||{}{|{{|{z{{{||||||}{{{{z|{{{||}{{|{{{{z{z|{{|||{|}|{{|{{{{{||||{|||{{{z{zzz|{{{}|{{z{z{{z|z{{}|{||{|zzz{zzz|{{{{{{{|{{z{{zz{|{z|{{|{zz{{z{z|||{{{{z{{z{zzz{z|{|{{{||z|zz{zz{{{{{}{{{{{z{{z{{||{{{{{zz|{zzzz{{{{|||{zzzz{zzz{{{{|{|{zzzzzzz{z{|{{{|{z{{zzzzy{{||{{{{{zz{zzzzz{{{{{|{{zzz{{{zz{{||z{|{y{{{z{zz|{z{{|{{z{{{z|{{|||zz|{{{|{{zz{{|{|{|{|z{{zzz{z{|z{{||{{{{|{{{z{|{|z{|{|z{yz{||{||||{|{{zz|{{{z{|{{{{{{|{{|z{{{|{{|{|}|z{{{|{|||||||||}||||zz{{|}|||}}{|z{{|z{{}}|{||}|||{{{{{{|||{|{{|}{{|||z|{}|{||||{|{{{|||}|||||||{{{z{{{|{|{|}|||}{{|{{{{{{|{|}||{{||zz{z{|||||||{{{{{{{z{|{}z{{|{{{z|zz{{{|{{|{{z{{zz{{zy{{{z{{{{{{zz{{{{{{{|{{||zz{zzzz|{{||{||{{{{z{zzzzz{z{|{{{{zz{{y{{||{{{|zz{z{zz{z|{{{||{{{{zzzzz{{|{{|{{{z{zyz{yzzzz{|{{{z{zzzzzz{|z{{{z{{zy{{zz{{{{||z|{z{{y{zz{|{{{|{{zzz{zyzzx{|{zz{{{z{{z{zzzzz{{|{{z{{z{{{z{|{{{||{{{{{{{{|z|{z|||{|{{{z{y{{||||{{{{{{{{z{{{|{{z||{|z{|{{||z||||{||{z{{z{zz|{|z{{|{{zz{z{z{|||z|||{{{{z}{{{{{|{{|{{{{{{|{{{{{{}|||{||{|{z{zz|||||||{z{||{{z{}|||||{{{|{|{|{||||}{}||{z{{{z{|}{||{|}{{{{{|{{}{{|{||||{{|z{{{{|{||||||{|{{{{z||||{|||{|{zz|{z{{{z||{}||{|{{zz||||z{{|{z{zyz{z||z}||z|{z{z{{zzzz{{{{{z{{zzz{zz{z{{{|{|z{zz{yz{z{{{|{{z{zz{z{{zz{||z|{zz{z{zzzz{{zz{{{{{{{{z{{zz|}z{{{{{z{z{z{z{z{{z{zz{zz{yzzz{|{{{{|{z{zzzz{z{z{{{{{{z{z{zzyzz{|z{|{{zzzzz{yzzz{{{z|zz{zyzz{y{{z{{{{|zzzz{zz{z{z{{|{|zzz{{{zzzz{|z|{|zzz{{z{z{{{{z{||{{zyzzz{|{{{{{|{zzz{z{{{{|{z||||{{{{{{{{z|{|{||{{zzz{{zz{{|z|{{{{z|z{{z{{||{{|z||{{{z{{{|||||{|{{|{{z{{{}||{{|}|z{{|{zzy{|{{{|{||z{{{{z{}||{|{}{{{{{{{|{||{||||}|z|{{z{||||{|||||{|{{{{|||{|{||||{{|||{|||{|||{}||{{|{{{||{||{{|{|{z{z{z{{{{{||{{{{z{{zyz|{|{||{{zzyz{z{{{|{{{{{{{zzzz{zz|z{|{|{zz{zzzz{z{|z||{|{{{zy|{z{{{{{{{{{{{z{z{z{}{{z{{|{zz{zz{z{{{|{{{{|{{zzz{z{|z{{{|z{{{yzzz{||{z{||{{z{z{z{zzzz{{z{|{zz{{z{{{{{z{{{{{zz{zzy{{z{{{{{{|{{zyzzz{{z|{{{{z{{{{z{y{{z{zz{{{zzz{z{zz{z{{{z{{z{z{z{{|zz{{||{{zz{{zz{{|{z{{{{{z{|y{{{{|z||{{|{{|zz{{{|{{{||{{{{{{{z{{{|{{|{{|z{|zz{{{|{{|{z{{{{z{z{||{|{{{}{|{z||{|{{{{|}{}}|{{{{|{|{||{|{}}}{{z|z{|z{}{||||{z{{{{z{{{||{|||||z||z{|{{|{{|{{|}{||{{{z||{|{||||{{|{{{{|||}{|}|||{||{z{||{{{||{|{{z|{z|{||||{||{{{zz{zzz{{|{|{|{{{{{zzz{|{}|{}|{{{{{{{z{{{{z{{{zz{{{z{yyz{{z{||z{{zz{zzz{}z{|{{{zzz{|{{{{z|zz||{{z{{zzyz{||{z|{{zzyz|zy{z{{{{{|{{{zzzz{||{{{|{{{z{zzz{zz{{{z{|z|z{zz{zz{zz{{{{z{{z{zzzzz{{{{z{{zz{zyzzy{{{{{{|{{{{{zzz{z{{|z|{|{{zyzyzzz{{zzz{{{{zzzyz{y|{zzzz|zz{z{{{zz|{{{z|{{z{z{z{{|{|z{{{{{z{{|y{z|{{|||{|{z|{z{{z{|{z|{{|{{z{{yzz{||{{{|{{{{zzzz{{{{{{z|{|{{{|{{z|{{|{|{{|z|{{zz}{||{|{||z{{{{{{{{|{{{|||{{{{{zzz||}|z{|{||{{z{{z{}}|||||{{{{{|{{{z|{}||{{{z{z{{||}{||{||{{||{{|{{{{|{}|||{|z{z{{{|{|{||{||{{|{{{||||||}|{{|{{z{z|{{}{||{{{zzz{{z||{|{{{}{{{{{zzz{{{{||{{zzzzz{y{z{{|||{{z|{{z{zzz{z{|{||{{{z{{z{{{z|}|{|{{{zzzzz{|{|z{{{{zz{zzzz|{||{|{{zz{{{zzz{||z{||||{zz|{zz{{z{{|{zzzz{{zzz{{{z{{z{z{z{{{zz{zz{z{z|z{zz{zz{{{{{z{{{{{|zyzzz{{{|{|{|{zzzyzz{{{{{{{{|{zzzzzzz{{{{{|{{{{z{{{z{{z{{{{{{{{zzzz{y{{|||{{|{{|{zz{z{z|z{{|{{{{z{|z{{|{{{}|{{{{|zzzz|{||||||{zzy{{{z{|||{{{z{{{{{{{{|}|z|||{{{{{{|{{|{{|||||{z{{|{|||{{{|{{|{{{{|{{z{}{|}|}|{{{{{{|{}}{{||}|{||{z|{|{|{{{|{||{{{{{{{|}{|}}|{{{{|{{}||||{{||||{|{|{z{{|||{||}{|{{{{z|}||||||}|{{{{{{{{|{{{}{||{{{z{z{z||{{{||{|{{{{{z{{|{{|{{zzzz{zzy||{{{{{{zzz{yy{y{|{{{|{z{{zz{zzz|z||{|{{{zzzzzz{{{{||{{|z{zz{{zz{{z{{{{|zzzyz{zzz{|{{{{{z{zzzz{z{{{{z{{zz{{zz{z{{{z|zz{{zzzz{z{z{{{z{{{{{{zzz{zz{z{z|{{zzzzzzzz{{{{{|||{z{zzzzyzz{{{z{{{zzzy|z{z{z{{{|{z{zz{{zzzzz{{|{}|{zzz{zz{{||{{{||z{{{{zz{|{z{{|z{{{zz{|z|||}|||{|{{{{zy{{{}{{{||||{{|{{zz|{{|||}{{{{{{{{{|{{{}|||{|zz{|{{||{||||{{|{zz{{|{|{}||||{{{{{{{{||||||{||{|{{|{{||}}}|||z{|{||{|||{{|||{|{||{{{{{||||}}|{{{|zz{|{|||{{|||z|{{{{|{{{{{||}||||{{z{|{{|{||}{{|{|{{{||{|{|}|{{z{{{{z{|||{|||{{{{{zz{z|{|{{|{z{zzzz{{z{|{|{{{{{zzyzzyzz{{{{|z{{{{z{{zz{{{{{{{|{z|z{zz{{{z{{{{{z{zzzyzzz}z{{{{zz{zzzzzzz{z{{{z{z{zzyzz{{{|{{{{zz{zz{zz{{{z{{zzzzzzz{zzz{z{z|{{zzyyz{z{zz|z|{{|zz{{zzzz||z{zz{z{{z{{z{z{{|z{{{{{zzz{{z{{{{z||{z{zzzy{z{{{{{{{|z{z{z{z{{|{{{{{{|{zz{zz{{{{|{z|||{{|zy{z{|{{{||{{|{{zz{{|{{{|{{|{{{{z|{z{{{|{{||{{zz{{{{{|{{{|||{{zzz{{z|{{||{|{}{{{z{z{{{{{|{|||{||z{{|{{||{{{|{|zz{{{|{|}{||{}}{{z{{{|||||{|||||{{{{|{{||{|||||{{{}zz{{||||}||{}z{{|{{{{{{{{||{{{{{{{{|{|||z|}{}{{{{{{{{{{|{|{{||{{{{{z|}||{{||{z{z{zzz{||{{z{{zzzzz{yz{z{{{{|{{{zz{zxzzy|{{{||{{{{zyzz{{z{{{|{zzzz{zzz|{{|{{{z{z{zzzz{|zz{{|||zz{zzzzy{{{{z{{zzzyz{{z{zy|{z{z{{yzyzzyyzz{|{z{{zzzyyyzz{{z{z{{{{{{zyzzz{y{z{|{z{z{{z{zzz{z{{{{{zyzzzz{zz{{{{|z{zz{y{{zzz{|{{{|{{z{{{zyzz{|{{z||{{z{z{{{z{{{|{{{z{{{zzz{{{|z{{{|{{{zzz{{{{{|{z|{{yzz|{zzz|{{|{{{z{|zzzzz{|{{z|{{{zzz{{{{{|{{{{{{{{{{|{{{|{{{||{|{{{{{{{z{{{|||||z{{zzz{{||||}|{{{zzz{{{{|{|{||||{{{{{{{||{{z||||{{{{z{{|{|{|{|||{{{{|{|{{{|||{{}{zz{{{{{|||{||||{{z{{{z{||{{}||{{{{{{{{z{||{{||{{{{{zz{{{||{{||{{{{{{z{z{zz{zz{{z{zz{zzy{{|{z{{|{zzz{{{z{z{{|{|z{z{zz{z{{z{z|{z{{y|{{z{zz{{z{z|{{zz{zz|y{z{|||{z{{{zzzzz{z{z{z{{}z{{zz{zzz{z{{{{zz{zz{zyz{zz{{{{{zzzzzzz|{zzz{{zzzz{yzzz{yz{{z{zzz|zz{{zz{z|{||{zyz{zzzzz{z{{{{|zzz{zz{zz{zz{|{z{z{z{zzz|z{|{{{{z{{y{z|{{{|z{{||{{zz{zz{{{zz{{|||{zz{{{zz{|}{{{||{{{zzz{{{{{{||{{{{zz{{z{|||{||{{zy{{{{{}{{{|{z|{{{{{{{{}|{{|{{{{{|{{{|z{{{{|}}|{z{{|{{{{|{{{}|{{{z{zzzz||{{|{||{z{{z|{|{|{|||||{z{{{|{{||{{|{||{{{|{z{{|||{{||||{{{|{{{{|{|||||||{||{z{{{{|{|||{{{z{{z{z{{{{{|}{|z|{z{z{|{{|z{{{{z|z{{{{{{|z{|{zz{zzzzz{|}{{{{zzz{z{{z{{|{{z{{|{{zzz{{y{{|{{{||{{{{zzz{z{|{z{||{{zzzz{y{|{{{{{{zz{z{{{y{||{{{{{{{{{zzzzzz{z{|||{{{zz{{z{{{{{{{{z{z{zzzz{{{{{|{{z{{{{zzzz{{z{{{{{{{zzz{{{{z{|{|{z{zzzz{zz{z{{{|{z{{yzzzyz|{||{|{zz{zzz{z{{{{{{z{{z{{{yz{{{{||{{{z{z{{z{z|{{|{{|{{{|zzzz{|{|{{|}{{{{{{{{{||||||{{|{{z{{{{{{|{{||||z{|{{{||{{{{{{|{z{z|{z|{|{}{}||{{z{{{{{|}{|||}{|{{{z{{{{{{}||}{|{{{{|{z{|||||{||{}|{|||{|{||}|||{{zz{{{{}||||||{||{{||{|{|{|||||z{{{{{||{|{|||}{z{z{{z{|{||{|||{{{{{{{|{|||{||{|{{|{|{|{{{{|{{{{|{{|z{z|{{{z{{{yz{z{zz{z||{z{||z{z{{z{{||{|{|z|{{zzz{yz{z{z|{|z{{zz{z{{{{{z{{{|{z{zzzzzz{{{z|{{{{z{{z{{{z|{z||{{{{zzz{zz{{{z{{zyzzz{{z{|zz|{{{{{{{{{{{yz{{{{||{z{zzyzz{{{|{{{z{zz{zz{zzz{{z{{|z{{{{z{zzz{{z{{{{z{z{zzzz{{z{{|{zzzzz{{zy{{{{|||{{z{z{z{z|{{{{|||zzz{zzzz|z{{{{{{{||zz{zz{{{{{||{{z{{{{zz{|z{{|||z|y{{zzz{|{{|||||z{{z|{{||{|{{||{|{|{|{{||}|{||{|{{{{{|{{|{|||||{z|{||{|||{||{}|{z{||z{{{}{|{}}}|{{{|||{{}|||||}|{{{||{{|}|{||||{{{|{{{{{{||{|||{z{{|z{{{{{{||||{{|{{z{z||||{|||{{z{{{z{z|{{{|||{{z|{{{zz{{|{||{{{{z{z{z{{}|{{{{z{{{yzz{{{{{|{{{zz{{zzyzz{{{{{||{zzz{zz{{{{{{{|{{{z{zzz{z{{{zz{}{z{zz{{z{{|{{{||{zzz{yzzz{|z{|{{|zzz{{yz{z{z{|{{zzzz{{zzzzy{z{{|zzz{zzzzz{|{{|{|{z{zzzzzz{|z{{{{zz{zyzyz{{{{{{{{{{{z{zzy{{zzz{{{{zz{zz{z{y{zz{{{zy{z{zzz{zz|{{{{{{{z{z{zzz|{{{{{{zz{zzzz{{|{z{||z{{{{{zzz{{z{|||z{{{{z{||{{{|{{{{{{zzzzz{||{|{||{|{{{|{{{{|z||{{|z{{|z{{{||||{|{{|{{{{{{|{{{{{|{{{{||yzz{|{||}||{|{{|{{{||{||||{{{z{z||{{{|||||||{{{{|{{|{||||{}{{{{{|{{||{{||{||{|{z{{{||z|||||{|z{{|{{{||{{|||{{{{z{z|{{{|{|}{{z{{z{{zz{{|{||{z{{|{z{zz{{{{{{|z{|{zzzyz{z{{{{{{{zzz{zz{{{z|{{z{zz{yz{z{{{||{{|{z{z{zzz{{z{{z|{zzzzyz{z{{{{z{z{zzzz{{zzz{{{{{{|z{zz{zz{{{{{z|zzz{zzzzzzz{z{{{{{{zzzzyz{{zzzz{zz{z{{zzyz{{{z|z{{{{{{yyzz{{{z{{{{z{{z|z{yz|{{{{{{zz{x{z{zz|z{{|{{{z{zz{{z{zz|z{{{|{{zz{zz{z{{{{{|{zz{{z|z{z|||{|{{{{{z{{{{|{z{||{{z{{{z{zz{{{{{|{{{z{{{{{{{|{{{||{{{z{{{{z||z{||{{{{{zzy{{|{|{{{||{z{|{{z|||||||{{{{z{zz{{|||||||{{{{{{z{||{{{{||{{{{{{|{||{{|}|{|{{{z|{{{}|||}|}{{{{{{{{{{|{{}}|}{{{{{z{||{|z{|||{{||{{||||{|||||{zz{{{{{||z{{|{{{{z{{zz||{|{|{{{z{{zyzz|{|{{{{{{{zzzz{{z{{z|z{{zzzzz{zzz{{{|{|{{|z{{zzz{{z{{{{{{{{z{zz{{z{z{{||{z|{y{{z{{{||||{zy{zz{|y{|{{|{{{zzzy{z{z{{{{z{{{{{{|z{zz{zz|{{{{zzzz{{{zzz{|{z{z{{{{{{zzz{{{{{||{y{zzzz{z{{{{{{{z{zzz{zzz{{z{{{{{{zyzz{y{{{zz{{{yzzzz{zz{{|{||{{{{zzz{{z{{|{{{||{z|zzz{{{{|{{|{||{{yzzzz{|{{|{|{|{|{z{{z{{{|{{|{{z{zz{{z{|{{|||{{{{{{{{z{{{{{|{{z{{{z{{z{{|||{{{{{{{{{{|{{{||}{|{{{{|zzz|||{||}|{{{{||{|||{{|{|{{{{|{|{{{|{|}|{||{|{{{{{{}{}}}||}{{{{{{{|{|||{||{{{{{{{|||||{||{||{|{{{{{||}|{||{{{{{{{|{{|{{{|}{{{{{{{{{}|||{|{z{|{zzzz{|{{||{{{{zzz{yzz|{{y|{{{zzzzz{y|{{{z}|{{z{zzz{z{{zz|{||z{|{{z{{{|z{z{{{{{{zzzzyz{{|z{|{{z{zzzzz{{{{{|{z{zzyz{yz{z{|{|{{{{{zz{z{|zz{{{{|{zzzzzzzz|{{{{{{|z{z{zzzz{{{|{|{z{{{yyyz{z{{{{|{zzz{{zzy{yz{{z|{z{zzz{{zz{{zz{{|{{zzz{{z|{{|{{||zz{zz{{{z{||{|z{{z{{{z{{|{{z{{{{{z{z{z{{{{{|z|}{|z{{{zz{|}{|||{{{{{{|{{{z|{{{{{{|z{{z{{{z{|{{||{{{z{z{{{|{|||||{{{{{{{{z{|{{{||||{zz{z{{{{|{|||{|{{{|{{|||||{{}{{{|{z||{|}{|||{||zz{{|{{||{|{|}|{{|{{|{{}||{|||||{{{z{{|z||{|{{||{{z{{z{|}||{|||{{{z|{{{{{}{{{{||{||{{{|{|||zz|{{{{{zz{{{z{{|z{z{zzzzyzz{{{z{z|{z{{z{zzz{{{{||||zzzzzzz{|z{z{{|{zzz{yzz{zz{{{{|zz{zz{zzzz{|{{|{{zzzzz{zyz{z{{{{{{zzyzzy{|{{zz{{z{zzzzzzy{y{zz{z{{z{yzyzz{{z{z|{{z{zzy{zz{{{{{{||{z{zzzzzzz{|{z|{{z{{z{zzzzz{{zz{{z{zzyyyzz{{{{|{zz{zz{zzz{{{{zz{{zyz{zz{z|||z|||zz{zzz{z{z{{{{{|z{z{zz|z{{|z{{|{{z{{{z|zz|{{|||{{{|z{{zz|z||{z{{{|{{{{{z{{{{{{{||{|zzzzz{||{{{|{||{{{{||{{|{z|||{z{{{|zy{||{|||{|{{{|{{{||{||{||{{|{|{{{{|{{|||{|{{|{|{{{|{|||}|{{{|{{zz{|||{{{||z{zz{z{|{{|{}{}|{z{|{z{{|{||{{|{{{{z{{z|{|{|{|z|{{{z{{{{{{{{{{|{zy{{{{{{{||{{{||{|yz{{z{||{z{{|{zzyzzzz{z|{{||{|yzyzy{y{|{{||z{{zzz{{z{{{||{{|{{{zyz{{z{{{z{|{|{zzz{z{y{{{{z{|{{zzz{yzzz{{{||z|{{{zzzzzzzz{z{{{zz{z{yzz{{zz{{{{{z{{z{yz{z|{{|{|{zyzz{zzzz{z{{{{zzz{yz{yz|zz{{z|z{zzzy{zz{{{z|{{zzz{z{zzz{{{{{|{{z{z{z{z{{|{{{{{zz{{zzz{{|{{{|{{z{{zzzz{{{|{|||||z{{{zz{z||||||{zz{|{z{{{||{|{{|{{{{{z{z{{{{|||{{{{{{{{{|{|||{{{{z{z{{{{|||||{||z{{{{z{{{|{{||{||{{{{||{|}||||}|z{|{{z{||{||||{|{{{{||{|{}||||{|{z||z{{{{{|{|||{{|{|{{||}{||}}}}{{z{{{{||{||}|||{{{{{{{{{|{|{{|}|z{{{|{z{{||||||{z{{{z{z|{{{{{{zzzz{{z{{z|{||{|{{{zz{zzz{{|{z{{{zz{zzz{z{{{{z{|{{z|{{{{y{{z{zz{|zzz{{zyy{{{|{{{{zz{z{zyy{{{{||{|{z{y{{zy{{{{{{{{{{zz{zz{zz{{{zzzz{zzzy{z{z|{{{{{zzzzzyzzz{{z{{{z|z{{zyzzz{{{yz{{zzzzzzzz{{{z{{{{{zzz|{{zzz{zz|{z|z{zz{zz|z|z{{||{{{zzz{{{{{{{{|{{{{{zzz{{{|{{||{{{{z{z{{|}{{z{|{{{{|{{|{z~|z{|{z{z{zzz{{{{|z{||{|zz{{zzz{|{z{{}|{{{{{z|{{||}{{||{{{{{{zz||{{||}{{z{{|zz{{{||{{|{|{{{{{{{|{{{{|}|{z{zz{z{{{||||{||{{|{{{{{}||||{|{{{|{{{{|{{{|||}{{{{{{{{{{{|||{{||{{|{{{|{{|||||{{{z{{zz{{{||||}{{{z|z|z{{{{{||{{{{zy{zz{{{zz|y{{{{z|z{{z{|{|{{{z{z{{z{zz|{{{{{||{z{z{zy{{{{{{{{{z{z{{zzz|{{{{|{{z{zzz{{{{|{{|z{z{zzz{|zz{{z{zz|{yzz{{{y|{zzz|{|{{zz{zzz{z{{{|{|{y{zzzzz|{{{{{{{{yy{z{zz{{{z{{|{{zy{zzzz{{|{{{{|{{{{z{zz{{{{{{|{{{zz{zyz{{z{{|||{{{{zz|z{{{{|{}{{{z{{{{z|{{{z{|{{{|zz{{z||{|{{{|{z{zzz{{{{|{{|{|{z{z{z{z||{||{}{{{{zz{{z|{{|{|||{{zz{z{{{|}{||||{z{{|{{z{|||{|||z{|{{{{|||{}||}|z|{{{z{|{{}{{|||}|{zz{{{{|||||{}|{{{z|{||{z{|||}|{{{{|{zz|{}|{|}|{{||{{{{||}}||{}|{{{{z|{{|{{||}{|zz{|{||{||||z|{{{{{{|z{{{{{{|}{|{{{||z||{{|||{|z{z{{{z}{{{||{|{z{zzz{z{{{z||{{{zz{{zz{|{{{|z||{{{zzzzzz|{z{|{{{zz{zzzzzz{|zz{{{zzzzz|y{{{{{||{zzzzz{{zz{{|{{{{|z{z{zy{{{|zz{z{yzzyzzz{{|{{{{|{{zzzyz{z{{{{{{{{yzzzzzzy{||{{{z{{{zzzyzy{{{z{{{z{zz{{zzz{{zzz|y{z{zz{zzzz{|{{|{|{z{{z{{z|{{{{||{{z{{zz{{{{|{{{{{{z{zzz{{|{{|{{{|{zz{z{zz||{|{{{{{{{z|{zz{|z|{|{{{{{{z{zz{|{|{{||{{{{z{{|||{{{}{{{{{{{z{{{|||{{{|||z{|{}|||{|||}|{{z{{{{z{||{|||{|{{{|{{{{}{||}|}z{{{z||{{||{|||{}|{|{|{|{}|{{|}||{{|{||{}|{|}|z{||{{{{{{|{z{||{|{{|{{{{{{{|||{|{{{{{{{{{|||{{{{}{|{{{z{{{|{{|||{{{{zzzz{{{zz{{{|z{z{z{zzz{|z{{z||zzzzzzz{{{|{|{{{{|yz{{z{z|z}{{{{{{z{zzzz{{|{z|{{z{yzz{z{z{|{|z|{{|zyzzzzzzz{{{{|z{z|{zz{{{zz{{{y{zzzzzz{{{{z{|{zzzzzz{zz{{z}z|{{zzzzzyzzz{{|{{{{zzzz{{zz|{{{{{{z{zz{z{y{{{{z||{z{z{zzz{y{{{{|{{{zzzz{zyz{{|{{|{{z{z{{yz{{|||z||{z{yyz{z|||{{|{|zz{{zzzz|z{{{|||{{zzzz{z{{{|{{{{{z{{{{z{{{|{{{||{z{{{zzz{{{z{{||{zzz{zz{|{{|||{|z{{{{|{{}{{{{|||z{{z{{{z|{|}{||||{||{{z{{|||{{|{|{{{{{|{{||{{|}|{{z{z|{{{}|||{{}|z{{{{{|||z|{{{||{{{{{|{{{{z||||{{{{|{|{{||}|||{|{{yz{{z{|{|||{||{zzz{{{{{|{|{{{{{zzzz{{{|{}{|}{z{y{{z{zz{{{{{|{z{{zzz{zz{|{{{{{z{zyzzz{{{{{{{|||{zz{z{{z{{{z{{{|zzzzyzz|{{{z|{|{y{zz{z{z{{{{{|{{z{zzzzz{z{{{{{{{{zyz{zzzz{z{{{{{{yzzyzzz{zz{|{z{zzzzzy{z{z|{{||zz{zzzzz{|{{{z{|{z{{z{{z{{zzz{{{z|{{{zzz{{{z{z||z{zzz{zzz{{{{{{{zzzzz{zzz{||{{z|{z{z{z{z{{{{{{{|{{{zzz{{|{{{|||||{{{{z{{{{{|{|z{zz|z{|{{{{{{{||{{{{z{{z{{||{{||{{{{{{{{{{{|{{|{|{z{{{z{{||||||{||{z|{z{{|}}|{|{||z{{|{z|||{||}||{{{{{{|{{|{|||}||{{|{{{|{|{|||{||{{{{{|z|||}{|||{{{|}{{|||{|||{||{{{{z{{{{{{}|||{{{{{{{z||||{{|{{{z|z|{{||{||||{{{{{{z{{{{{{{{{z{{{{{zzzzz{{{{{||{{{zzz{{{|{|{{|z{zzz{zz{z|{|{{{zz{y{{y{z{|{|||{{zzz{z{{{z|z{{|{z{z{zz{zz}{z{{{{{{|z{{{{|{|{z{{{{{zzzz|{{{zz{{{|yy{zzzz{{{|{{|{{{zz{y{zzz{{{||{{{z{zyyzz{|{{|{||zzzz{zzzz{{z{{z{zz{z{z{{{{{{{{{|{z{zz{zy{z|{{{{{|{z{{{{z{{z{||{|{{{{zz{{{|z{{{{|z{zz{z|z||{{||{{{{z||zz{{{{|{|{{{{{{z{{|||||{||{{zzz|{z{|{|{||{{|{{{z|{{{{{}|{{{{|{z{{|z{{{||||{{{{{{{z{||||{|}||z{{{|{{|||||||||{z{{||{||||{|{||||{{|z{{}||{{|||z{{|{{|{||||||{|z|{{{{{||{{{||{{{|{|{{{|{|{||||{{{{z{z{||{|{||{||{{{{z{||{||||{{{{{z{{z|{{|{{z|zz{{zy{{|z{{z||{{{{zzzzy|z|||{z|zz{{zzzy{{{|{{{|{{z{z{z{{{||z{{{{z{{{z{z|{{{{{z{{{{zzz{y{|{z{}|{zz{z{{yz{{{{{|{{z{zz{{zzz{{{|{z{zz{zzzzz{{{{z{|z{z|zz{y{zz{z{{|{zzzzzzzz{{z{z{{|zzz{zz{|zzz{{|{|{{{z{zzzz|z{{|{|z{{z{{zzzzz{zz{{{{{{zzzz{{{{{{{|{{{zz{z{{{{{{{{|z{{z{{zy{{{{{z{{{{zz{zzz{|{{{{|{{z{{{z{z||{{{|}{{{z|{{zz{{|z{{||{{{{{z{{{|||{|{|z{|{{z|z{||||{||||{{|{z{{{{|{|||{{{|{{||||{|{||}z{|{z{||{|{{|||||{{{{{|{{||}|||||{{{{{{|{{{{|||||z{{|{{{{{|{}||{|{{{{{{{{|}{{|{||{{{zz{{|{|{{||{|z|{{zzz{}}||{{z{z{zz{z{{{{{{{{{zz{zzyz{{z{|{{{{zzz{{{zz{{z{{{{{z{{{zzz{{zz{|{|{{y{{zy{z{{{{zz|{zz{yz{{z{z{{{{{{{z{yzz{z{z{{z{{{z{zzzzzz|z{{z{{{z{zzy{{{zz{{{{z|yzzy{z{{||zzz{{z|z{z{zz{{{{y{{|{zzz{{zzy|zz|{|{{zzz{zzzyz{z{zz{{z{yzyzzzy|z|{|z|zzzz{{{{{{{|z{|{zzzz{z{{{{{{{||{|{{{{zz|{z{z{{||z{z{z{{z|z{{|{|{|z|zzz{z{{z{{{{{{{{zzz{{{|{{{{{{{{{{{{{z{||{|{|||{{{|{{{{{|{|{||z|{z|{{z||{{{|||{{{{{{z{{|{||{|{|z{{{{{{{{||||{}{{|{z{||{}||||||{|{{z{{{{|{{|{|{{z|{|{{z|{||{{|{|z{z{{{{|z||{||}{{{||{{||{{||{|||{{z{|zzz{{|{|||||z|zz{zz||{{{|{zz{zz{yz{{|{{{{{{{z{y{yzz{{{{{z{{zzzzzy{{{{{z{{{zyzz{zzz{z|{|{{{{zz{zz{{{{{{z{|{{{zzyzzz{{|{{{z{zyzy{y{zzz{{{z|zzz{zz{{yz|z{z{{{yz{zz{{{|z{zz{{{zzzzy{{{{{{{z{{zzzz{zzzz{{{z{z{|{{zzzzz{zz{{{zz{zzzzzz{z{{{z{z{{zzzzzzzzz{{z{{{{z{{z{zzyz{|z|z||{zz{{z{z{||{z|{|{{{{{z{y{{{{{}|{zyz{zz{{{{{{z|{{{{|{{z{z{|{z{{||{z{zz{z|{||{{{{{{{{{{zz{{|{{{||}|{z|{{{{z{{{||{{z{{{z{{{|{{|{|||{{{{{{zz{|{||||}|{{{|{{|{}|||||||z{{zz{|{{{||{{||{{{z{{|z||{|||||{|{zzz|{|}|{|||{{{{zz{||{{|}||||||{{{{z|{{|}|||{{{z{{{{{|{{{||{{{z{{{{{||{{{{||z{{yzzzzzz|{z{z|{zz{zzzzz{{{{{|{{zzz{zzyz{{||{{{yzzzzz{x{{{{|{{{{yzz{y{z{{z||z{|{z{zzzyz{{{{z{|{zzzzyzzz{zzzy|{z{yzzzzzz{zzz{|{zz{zzzyz{zzzz{z|zzz{zz{zzz{zz{z{{yzzz{zzzzz{z{zzzzz{zyzzy{zz{{{{{z{zzzzyz{z{{{{z{{z{zyzzzz{z{z{||{{{zyzyz{z{|{{{{zzzz{yzz{{{{zz||{zz{{zzz{{{{z{||zz{z{{{{{{{{{{|{{{zzz{zz{z{{|{{{{z{{{{yz{z{{{{{{z{z{{{zzz{{{{{{{|zz{z|{{{|{}|{{{{z{{{{{{|{{}|{|{|z{z|z{z{|{|{|}||z|{zz{{|{|{{|}|{{{zz{{|{{{|}|{|{zz{{{{{{|}|||{{{z{{{{z{z||{||{{{{{z{{{{{{{|{|{|{{z{{{{{{zz{{|||{|{z{zz{z{|{{||{|z{{z{zz{|{|z|{{zzz{z{{{{z{{z{{{|{{{z{{y{|{|{{{|{zz{z{yz{{{{{|||{|z{zyzzz{z{{z|{{zz{{{zz{{|{z|||{z{z{z{{z{|{{{|{z{z{z|{zz{{zzz{{{z{z{{yz{z{{z{z{{zzzzzz{{{z{{{{|zzz{zzzzz{|{zz}z{{z{zzyz{{{z{{|zz{{yzzyzz{{{z{|{zzz{yzzz{zzz{z{{{z{yyz{yzz{zz{|{zz{z{zzz{|{{{{|{{z{zzzz{{}{{z{{{{{y{z{zz{{|{|{|{{z{z{{{z{{|{{{}{{z{{{zz{z{{||{{|{z{z|zzz{|{{z{{|z{zz{{zz{{{|z|{{{{{z{{{{{{{||{|{{{{z{z{{|{||{|}|z{{z{{{{|{|{|{|{{{{{{z{{{}|{|}{|{{{z{{{{{|{|||}||z{z{|{{{}{{|||||{}{{||z||{||||{||z{{z{||{{|||||{{|z|{{{}{||{{{|{z{{z{z{{|{|{{|||{{{zz{z{|||{{{{|{zz{{|{{{{{|{{{{{{{z{{z{{{z{|||z{z{z{{zz{{{|||{z|{{zzyz{z{{{{||zyzzzzzz{{{{{z{|z{zzz{{z{{|{|{{|zzzzzz{z{{{{{||z{{zz{{zzz{zz{{|{{{{yzz{{zy{{z{z|zzzz{{{z{z|{z|{|{yzzy{zz{z|z{{{{z{zzzzzz{{{{zz{|{zzz{zzz{{{{{{{z{z{{zy{{z{{{{{{{{{z{{{zy{{|{||{{{{{{{y{z{|{z{|{|zz{{zz{{{{{|{|{|zz{{z{{{{{{|{{||zzzz{z|z{|{||{{|{{{z{|z{{|{|{{|{|zzz{z|||z|{z{||||{{|z{{{|||||{|{{{|{||{|{{|{{}|{{{{{{{{{|||||{{{{|{z{{{{}{{|}||{z|{|}{{{}{|}}|||{{{|{z|{|{|}||||{{|{{|{||{|{||}|{{{{{z|{|z|{{|{|{{|{{{{|}||{{|}|{{{{||{|{{{|{|||{{{{{{{{{{||||{z{z{{z{{|{|{|{z{z|y{z{{zz|z{{{{{{{z{zzzzz|z|z{|{z{{z{{z{{{{{{{|{{{{z{zzz{{{zz{{{{z{z{{{{{{{|z{{{zz{zzzz{{|{z{|{{{{{{zzzz|z{zz{{|{zzzz{zy{z{zz{|zzzzyzz{z{|{{{z{{|zz{zyzzzz|{{|{{{zzyz{zz{{z{z{|{zz{zzyzzzz{{{{zz{zyz{{zzz|{{z|{{{y{z{{zy{z{{{|{{zzzy{{zz{|||z{|{{{zz{zzz|||{|||{{zzz{{z{{{|z|{}{{z{zz{{{{{||||{z{{{{{{zz||z{{{||{{{{zzzz|{||{||{{{{{{zz{{{{{||}|{{{y{{{||}|{||||{{{{{{z{{||}|{||{{{z{{{{|||}{|}}{|{|{{||{|{||||||{{{{{{{{||||{|||{{{z{{{|||||{|{|{{z{zz|{|{|{||}|{||{{{{|||{}{{|{|{z{z{{z{|{{|||{{zzz{{z{|{z{{|{{z{{z{z{|||z|{{{{{zzzzzz{|{zz{{|{{zz{z{z{{{{{zz{{{zz{z{{z{{zz||{{z{|zzzzz{{{z{||{|zzz{{y{{{|z{z{{y{yz{z{{{|z{{|zz{{yzzzz{{|z{|{zzzzzz{zyz{z|z{{{{zzzzz{zz|{{{z{{{zzyz{zzz{{{|{{|zzzzzzyzz|{|{||{{zz{zy{zzz|z{zz{{z{{zzzz{{{{z{{|zzzz{{zz{{z{||{|{{zz{z{z{{{{z{{|{{{{zzz{{z{|{{|{{z{{zzzz{z{{{{{|{{{{{y{z{}{{|{|{{{{zz{z{{}|{{{}{{{zzzzz{{||{||{{z{{{{|{{{{{}|{||{{{{{{|{{z||{{|}|||{{z{{||||{||{{z|||{{{||||||||{|||{z{{z|{z|||{|{z{{{{z{|||}||{|{{|{{|{|z||{||{|{z{|{|{{{{|{|{{||z{|{z{{{{||{||{z|{{{{{{{||{z||{{{{{zz{{|{}{|{|z{{zzzz{|||{zz{{zzz{|z{{{{|{{{z{|{{z{zzy{{{|||}{{z{z{z{z{{{{{{||{{z{{{{z{{{{z{{|{zzyzz{y{{{|{{{|zz{zzzzy|z{{{z|{zz{{yzyz{{{{{{{|z{{{zzzz{zz{z{zzz{zz{zzzz{{{{{{zz{zzzzzz|{{z{|{z{{{{zyz{z{{{{|||{|zzzzyzy{{{{{{{zz{{z{zzzzz{{||{zzzz{{zz{|z|{{|}{zzz{zz{{{{{z{||{{z{yz{z{{|{{|||{{{zzzz|||{||||{{|{z{z{z{|{|{}{{|{{{{{{{{||{{||{{zz{z{|{||{{|{|||{{{{z|z{||||{||{{{{{z{{{|{|{|}|{|{{{{{|||||||{{||{z{{{{{|||{|}|||{{z|{{||||{|||{{{{{|{z{||{{|}|{{{|{z{z|{{||||||{|{{z{|||{||}|||{{{|{{{|||{||{|{{{{z{{{{|{|||||{z{|{z{z{|||{|||zz{{z{zz{{{{{{{z{{zz{z{z{{{z{{{{{zzzzz{y{z{{{{||zzzy{zzzzzzz{|{{zzzzz{{{{{|{{{{{{{zzyzy{{{{{|{{{zz{zzyzz{{zz{|zzzzz{yyzz{|zz{z{{{z{yzzzzzzz{{y{{zyyyyz{z{z{z{{{{zzzz{zyz{{z{{{z{{z{zzzzz{{z{{{{|{zzzzzz{z||{{{{{{zzzzzz{{{zz{{{{zzyzzzzzz|{|{{{{{zyz{{{zz{z{z{{{{{z{zz{z{z{{{|{{{zz{zzzy{{z|{||{{{zzzz{{zz{|z{{{{{{|{z{zz{{z{|{z|zzzyzz{{|{z{{|{{{|{{{zz|z{||{{{{{|z{z{z{{z|{|{||{{{|{z{{|{|||{{{{z{|{|{{|{||||||{{{z{|{{{{|||{||{{{z{|{{||{|||{|{{|z{{{|||||{|}{z{{{{|{||{{||{|}{{{z{z{{|{{|zz{z{z{{z|{{{{{|||{|{{{z{{{z|||z|{z{zz{{{zz{{|z{|z{{zzzzz{z{||{z|{|{{zzyzzzzz{|{{}{{zzzzzzz|z{z{z{zzzzzz{zy{z{{z{{{{z{{zzzzz{{|{{{|zzzyz{{zz{z{zz{{zzzz{zyz{z{zz{{{{yzzz{zz{zz{{{{{{zzzzzzzzz{{{{{zz{z{yzzyzzz{{|{z{z{yzyzyz{z{z{{{{zz{zyzz{{{{{{{{{{{yz{zzz{{{z{||zzzzzzzx{|{zz{{|zyz{{z{zz{{|z{{{{{z{z{{z{{{z{||{zz|{{y{{z{}{{{z{|z|{{{z{z{{{{|{|{{{{zz|{{|}z||{{{z{{zz{z{z|{{}|{{{zz{{{z{{{||||{z|{|{{|z{}{|{|}}{z|{{z{{|{{{{||||{{{z|{|||{{||||{{{{z{z{|{||{|}|{z{{{{{{{}||||||{{{{{z{{||{||{|||{{{}z{{{|{||{{{z{|z|{{{{{{|{|||{{{{z{{z{{}z{{|{{z{{{zzz{{z{{{{{|{{zzz{{|z{|{{z{{zzz{z{zzz{zz{{{{zz{zzzz{{{{|{|{z{zzz{zz{{{||{{|{z{{z{{y{{{zz{{z|{zzz{z{{{{{z{{{zz{zzzzzz{{z{{{{{zzzzyzzz{{{{{{{{zyzzz{y{z{{zz{{zyzzyyzzz{{z{{{{y{yz{yzz{z|{{{z{z{{zzzzy{||{{z{|{{{zzzyz{z{{{z{|{{z{z{{{z{{|{||{zz{zz{{z{|{z{{{{{zzz{z{{zz{{{zz{{z{zz{zzz{{{{{{|z|{zz{zy{{{{|{{{{{|zzz{{{{z|{|||{|{z{y{{||{{{{|{{{{zz{{z{|{{z|{{{{z{|{|z{|z|{||{zz|{|{{{{|{|{|||{|{{|{z{{||||{|{|zzz{zz{|{||{{||z{{{{{||{|{|||||{{{{{{|}{|||{{|||{|{{|{{||{{|{|||{zz{z|{{{||}|||{{zz{{zz{{|}z|||{{{{{|{{{|||{{}||{z{{{{z{{{|{||{{{{z{yzz{z{{{{z{{y{zyzzzz{z|{{{{{z{{zzyz{{{{|{{{{{yz{zzy{{{z|z|zzzzz{zzz{z{zz{{|{z{zzzzzz{|{{{zzzz{yzzzz{{{xy{{|zzz{{{yz{{{{z{{{{zzzyyyzz{z{z{{{z{zz{zzzz{{zz{z{{yzzzzxzz{|{{{{|{yzyyzyy{{{z{z||{{yyzzyz{{z{{{{|{zzyzz{zz{{{{{z{z{{zz|zz{{{z{{{{{zyzzzz{y{{{z{|{{z{zzyzz{z{zzz|z{z{zzz{z{{{{{||{{{{zzz{zz{z{{|{{|y|{{y{|{{{{{|{{{z{zzz{{z|{z{{{{zz{{{z{|z||{{||{z{{|{z||{|{{{{{|{{{{{zz{{||{{{|{{zzz{{{{|||{|||{zz{{z|{{{{{||||||{{{{|zzz|||{{||||||{z{{|||{{||{{{zz{{|{{{{{|{{||{{z{{|z|{{|{|||z{{zz{z|{{|{{|||{z{zz{{{{{{|{{||{|{z{{{z{{{{z{{{{{zzyzzzyzz{{{|{{zz{zzzzz{z{{{|{{zzzz{{z{{z|{{{|{y{zzzzzz{{{|{z|zzzzzzyz{z{{zz{{{{{z{yzyz{{z{{{{zyzyzyzy{{{z{{z{zyzyzyzzz{{{z{{{zzzzzzzz{z|z{z{{{{zzyzzzz{{zz{zzz{|zz{yzyz{{{{{{zz{zzzzx{z{zz{z{z|zyyzz{z{zz{{{|zz{zzz{yz||zz{{z{{z{zzz{{{{zzz{{{zzzzyzz{{|{{{{|yz{zz{{z{{{{{z|z{{zz{zzzz{{|{|z{{z{y{{zz{{{{zz{z|zzyz{{z{{z{{{{{zz{{{{{{{{{|{{||y{|{{z{{{|{|{{|||zzzz{{z{|{}{z{{{z{zz{{{|{{{|||}{z|{{{|z{{{|||{||z{{{{|{{}||||||}z{|{|z|||||{|{{|{|zz|{{|{z{|{||{|{{{{{{{{{|{||{z{{z{|z|z{{z|||}{{|zzz{y{|{{{z|z{z|{{zzz||{{z{{{{{{{z{zzz{{z{z{{{{{z{zy{z{{z{{|{zzzy{{{zz{z{z{{{{y{z{{yz{{|{{{|{z{zzz{z{{{{{{{z{{zzzz{{{z{zyz{{z{{z{yzzyzz|zzz{{y{{zzzyz{{z|{{z{zzzyzzzy{z{z{|{{{zyzzzz{z{{z{z{{zz{{yzzz{|{z{||{{zzzyz{z{{zzz{{{zzz{zzzyzz{|{{{z{zzy{{zzz{{{{{{{{{{z{zz{{zz{{{{{zz{{{zz{z{z{{zz{{{{zzy{z{{{|{{{{{z{{{zzy{|{{|{{{z{zz{zzz{||{{|{z|{{{{zz{{{{{{{{{{{z{{z{z{{{|{||{{|z{|{||}z{|{||||{z{{{{{{||{{|{|{{{z|z|y||||}{|{{{{{{{|{{{|{|{|||{{{|{z|||{|{}}{|{z{{{{{||}||{{{{z{{zz{|z{|{|{}|||z{{{{{z{{|{||}{{{zz{z{|{||{{|{{{z{z{{z{||{{{{z{{|z{{{{|{{{|{|||zzzz{{z{{{{{{|{zyzz{zzz{{{{{{{|zz{z{{z{{{|z{{||{z{{zzzyz{{|z{{{{{{zz{{{z{zz{{{|zz{zz{zzzz{{z|{z{zzz{zzz{{{zz{{zzzzyz{{zz{z{{{{z{{zzzzzzz{{{{{{{zzy{yzyz{{{z{{{{{{zzzzzz{z{{{{||{z{zzzyzyz{{zy{{{yzz{zzzz|zz{|{|zzzyzzy{zz{{{||{{zzzzzz{{z{{{{z{zzyzzzz{{z{{{|{{z{{zz{{zz{|{||{{z{{z{y{zz||{{|{z{{{{z{{z{{|{{{|{{{z{{{{{||{{{{{{{{|z{{{{{||}||{{{|z{{{{|{||z|{||{{{{zz{{{{|||{{{{{{{{{{z}||{||||z{{z|{|{{}{{{|}|{{{|{{{||}||{|{||z|{{{{z||{{{||||{{{{z{{z||{||||{|{|z{{{{|{{}||{{{{|{{{{{{{|{||{|{{{z{{{{{{|z{{|{{{z{zzz{{|{|{{{{yzyzzzz{{{{{{{|z{{{|y{y{{z{{{||zzzzzz{z|{{{{{{{{z{zzzz{z{z}{{{{zzzzzzzy{{{|{{{{zz{z{z{z{{{zz{{{zz|zzzzyzzy{z{{zzzzzzzzz{{z|z{z{zy{zyy{zzzz{|{{{zzz{zzzy{{{{|{|{{z{zzyzzz{{{zzz{{z{zzy{zzz{z{{z{{{zz{zzzz{z{{{z{zz{{{z{{{{|{|{{{{z{z{z{z{{{z|{{{{z{zzz{y{{{z{{{{zyzz{{z{z{|{{{|||z{{zyz{{{{{{z||{{{{{z|{|||{z||{z{{z{z{{{z{{{|{{{z{{{{{{|{{|{{||z||{{{{{{|{}|||{{z{z{|zz||{|{|{|{{zz{z|z|||{||||{{{z{{|zz|{{|||||{{{z|{{|}|||||{{{{{z{z{|{z||||{|{{{{{{{{|{||}||{{z{{zz{{||{||{|z{{z{{{z{{{{|||||{z{{{z{z|{|z||{{{{z{{{z{{|z{|z{zzzzzzz{z{zzz{{z{z{zzyz{{{{zz{|{{zzzz{{{{{{zz||{{z{{{zyzz{{{z{{|{{zzzy{z{{z{z{{{zzzz{z{y{z{z{{{z{{zz{zzzzz{z{z{|zz{zzyzyz{z{z|z{zy{zzzzz{{zz{{{{zzzzz{zzz|z{{{{{zzz{zyzz{{{{z{{|{zzyzzzzz{z{z{{{zz{zzzz{{{zy{{{{{yz{zzyy{{{{{{{|{zzzz{zzzz{|z{{|zz{yzy{z{{{|zz{{{z{zzzzz|{{{{{z|zz|zzz{z{z{|{|{{{z{zz{{z|{|{{{{{{{z{{z{z|||{{|{|zz|zz|{z{{|{{{|{{{{{z|{{||{|{|}{{{{{||z{{||{{{{|{{zz{z{{||{|{{|}{{{zz{{{{|{|{||||{{{{|{|z||||{|||{||zz|{|||{|{{|{{{|{{{{||{|}||{|{z{{{{z{||{|{||{{{{{z{{z{{||||}|{zzz{{yz||{|{|{z{{|{zzy{{|{z{{z{{y{{zz{{z|{{|{z{{{z{zzz{{{z{|{|{zzzzzzz{{zz{z{{zzzz{zy{{{{|{z||z{{{z{{z{z{zz|z{zzzyzz{zz{{{z{zz{zzzzyzzzz{{{{z{{zzzy{zzz{{zz{z{{z{zyzzzz{z{{{{{zzzzzzzz{||{{{{z{zz{{zyzz{zz{zz{{zzzyzzz{{{|{z{{zz{zzz{zy{zz{|{{zzzz{zzy{{z{{{{|zzzz{z{yz{{{{|{z{zz{zzyy{{|{|{{{{{{|{z{z{|{|z|{{zz{zzz{{{|||{{{{z{{|zzzz{|{{|z{|{|zzzz{z{{{z|{{{{{{{{{z{{{{|z{{{zzzz{|{||{{|{{||{{{|z{{z{{|||||||z{{z{{{{|{{|||{{{|{z{{z|{|{||}|{z{{|z||{||}||||||{|{{|{z|||{||{|z{{|{z|{{{{||{}|{{|{{z{{|{|||||{{{z{{{{|{{{{|{{{zzzzz{|{{|{{z||z{|z{zz{z{{{{|{{zzzz{z{yz{{{{{z{{zzzzy{zzz{{{|{zz{zyz{zz|{z{{{|{zzzzz{zzzz{|zz{{zz{yzz{zy{{{z|z{z{{zzzz{z{{{{|zz{yzzz{z{{z|z{{{{zzyz{zyzz{z|z{|{zyzzzyzyzz{{{{zz{zzzy{zzz{{z|{{{{{zzzzzzz{y|{|{{zzzzyzzyz{{zz{z{zy{y{zzzz{{{z{}|{yzyzzy{z{|{{{{|{zzz{{{zz{{{{|{|zzzz{z{zzz{|{zz|z{y{zz{{{z|{{{|z|z{zzz{z{{{|{{|{|{{z{zz{{{{{{||{{yz{{{z{z{{z|{||{{{z|{z{{{|{||{|{z{||{zz|{{|{||{z{z{{{z{{{{|||{||z{{{{z{|{{{{|}||{{{z{{|{|||{||}|zzz|{{{|||||||||{z{z{{{{|||||{||zz{|{z{|||{|{}||z{z|{z{||{{|{{|{{|{{{{{{{{z{|{|{{{{zzzzz|{|{{||{z{yz{zz{{}{|{{{yz{yzyzzy{{{{|z|{{zyzy{y{{{{{{{|{{z{zzyzz{{z{{{{zz{{yzzzz{zz{z{{{yyzzz{z{{|{|zz{zyzzzzzz{z{z{|zzyz{zzzzzz{{zz{{zzzzz{zzy{z{{{{{|yz{y{zzz{zzz{{{{z{yzzyzzzz|zzzzzz{zyyz{zyz{{{z{zyzzx{zzzyzz{yzz|{zzzzzzzz{zz{{zzz{{zz{zyz{z{z||{yzyyzzzz{{|{z{|zzzzy{zzz{{zzz{{{zzz{z{z{{|{z{{{|z{{z{zy{{{|{{|{zy{{y|zzzz{|{{{}{{z{z{{{z{{{{z{{{{zzz{zzz{|{{{|||{{z{{{{{{zz|||||{z{{z{{z|||||{||{{{{{{{{|||{{{}{{{}z|{z{|{{{|{||{{z{{{|{{|||||{||z||{{{|{|||{{|{{z{{zz{z{{{{{{{{z{{z{z{z|{{z{|||{zzz{{zz{{{|{|||{z{{zz{z||{{{||{{{zzzz{z||{||z{|{zz{zy{z{{|zz{|{{zzzzyzzzzzz{{|z{zyzzzyy{z{{{{|{zzzzzyz{zz{zz{zz{z{zzz{zz{|{{z{|zzzz{yzz{{{z{||zzzzzzy{zzz{{{|zzzyzz{zzz{|zz{|{{zz{zzy{zz{{zzz{{zzzzzzyz{{{z{{z{z{zzzyzzz{{{z{{{zzz{zz{zz{{z{zz|zz{zzyzzz{{{{{z{yzzyyzzzz{z{z{|{z{{z{{zz{{{zz{|{{z{z{z{zz{{{z|{|{zz{yzzzzzzz{|{{{z{{{z{{{z|{{|{{zz{z{{{z{{|||}{|{zz{zzzz{|{{z{z{|{z{{{|{{||||{||{zz|{{|{{||||{{|{|z{z{z{|{|{{}{|{z{z|{{z{|{||{{||{{z|{z{{{|{}}|{{zz|{{z{{||}|{||{z{{{z{z|}{{{|}{|z{{{{{z|{z|{|}|{{{{{z{{{|{{{{||{|{{||zzz{|{||||{{zzz{zz{||{{|{{z{zyyzzzz||{{{zzzzyzyz{yzzz{{zz{zzzzzyzzy{{{z{{{{zzyz{yzzz{z{z{{zz{zzzyy{{{{zz{{{zzyz{zz{z{zy{{{{{zzy{zyz{{z{{{z{zyyzzzzzz{zzzz{{zzzzyzzz{zz{{{{zz{z{zzzy{{{{z{z{zz{zzyzzz{z{{z{zzz{zyzzz{z{z{zz{zyzyyyyzz{{{{z{zyy{zyzyz{{{zz{zzzzzzyyz|{{{{|{{zz{yzz{zz{{{|z{{z{{{{y{{{{{{{{z{z{|zzz{yz{{zz{{{zzz{z{zzz{|{|{{{|zyz{{zz{|{{{{{{{{zzz{{z{{{zz{{{{{{z{zzz{{z|{|{{z{{{{{{{|{|{||||{{{z{{zz{{||}{{|{{{{{{|z||{{{|||{{{z{{{z{{{{||{||zzzz{|{{|{|z|{|{z{{z{{z{{{|{||||z{{{z|z{{|{{{{|{z{{|z{{{||{{|{{{{{z{z{{{{{{z{|{zz{{z{{z{|z|{{z{{|{zx{{{{{z|z{z|{yyzzzzzz|zz{z{{zzz{yyz{{zz{{{{{{zzzzzzz{{{{{|{|{zzzzzyzz{{zz{{{z{yyzz{zz{z{zz{zzzyzzzyyz{z{z{|{{yyzzyyzz{zzzzzz{yzz{zyzy{z{{{z{zz{zzzyzz{{zzz{{{yyzzzyyzz|{|{{{{{zy{yz{z{zzyz{{{z{zzzzzz{{zz{z{zzzzzyzyyzz{zzz{{{{{zzyzzz{{{{{zzzz{{z{z{{zzz{{|{zz{{z{z|{{{{|{|z{{{yz{z{{{{{{{}|{{z{z{{{{{{{|{{{zz{{{zz{{|{z{{{{{{z{{{z{{{{{{{{{{{|{zzz{{|{}{|{yz{{{}{{|||{{|||{{{{zzzy{{|{|{{{{{z{{{{z||}{z{||y{{z{{z{z{{{{||{}{{{{|{{|}||||{{{|{{zz{z||{{{|}{{{z{z{{{{{{{{{{||{{{{{z{{{{|{|||zz|{z{zz{{{{z{{{{zz{{zyz{{{|{||z{zzzzzz{{{{z{{{{zzyzz{{zz{{z{{{{zzzzz{z{{{|{zz|{zzzzzzzz{{{{{|{{zyzzzzzzzzz{z{{}zzzzyzzyzz{{zz{{{z{yzzzzz{z{z|{z{{yzy{zz{{{z{{{{zzyzyyzzzz{{z{{{zyzzzzzyz{z{zyzyzyzzzyyzz{{z|z{yzzzzz{zyz|{{zz{{{zzzzyzzyzzz{{{{{{zzzzzzz{{z{|z{zzz{zzzz{z{{z{{{{zzyzyz{zzz{z{||zz{z{zyzz|{{|{|zzzz{yzzzz{||{{{{zz{{zzz{z{{{z{{|zy{z{zzz{{{|{{{{zz{{zzz{z{|{{{{{z{|zy{{{||{{{||{z{z{{|{{{{{{{|{{|{z{{{z{{{{{{{|{{zzz{z{{|}{{z{{}{{|zz{{{{||z{||||z{{z|{{{{z||{||{|{{{y{z{|{||{|{{{zz{y{{{{{|||||{{{{z{{{{||{{{|{z{z{{|{zzz|{|{|{|z|z{{zz{{|{{|{{{z{zzzzz|{{z|{{|{z{zyz{zz{|{|{{{{z{{zzy{zz||z{{{zzz{zzzzz{{{{{|{zzzzzzz{z|{{{{{{zzzzz{{zz{{{{{{z{{{zzzzyz{{z{zzzz{{yz{zz{|zz{{{{yzzzzzz{zz{z{{{{{zzzzzzz{{z{z{{|{z{{z{zz{{{z{{{{{z{zzzyz{z{{{{|zz{z{zzzz{zz{z{{{zzzyz{z{yz{z{{{zyyzzz{{z{{{|{{{{{zzzz{zz{{|{z{||{{{{zzz{{z{{||||z{|z{zzz{{{{{{|{{{zz|zz{z{z{{}|{z{{z{zz{{||{||||{z{|{z{{{}}|{||{{{{{||z{{zz}||{||{|{{{{{{|{|{{{}{{{|{zz{{||{|{|{{|{{{{{{{|{|{|||{z|z{||{|}||}||||{{{{{||{|{|z||||{{{z|{{{||||{|||z|{{y{{|{||{|{}||{{|z{{{|||{|||{{|zz{{{z|{|||||{{{|{z|{|{|{|||{{{{yzzzz|z{{{{y|zz{zzyzz{z{zz{{{{zzz{yyyz{{{{{{{z{zz{yzz{{z{{{{{zz{z{zzz{{{{{z{|zz{yz{z{{zz|{zz{z{y{{y{y{{z{{|{yzzz{zyz{{{z{{z{{|{zzy{yzzzz|{{{|{yzyyzz{{|z{{z{zzzyzzz{zz|{z{{{{zzzzzzy{zz{{{{{{zz{zzzzz{z{z{{{{{yzz{yzzz{z{{|||zyzz{zz{{{{{z{||zzzzz{z{|{{{z{|{{zz{zzzz{{z{{{{|zzz{z{{{{{{{{z||{zz{z{{{z{|zz{{|z|zz{{{{{|{{{z{|{{{{z{z{|{|{z{|||{{{{z{{|{||{|z{{{{{{{{z{{{|{|||{{{|{{z{{|||||{|{{{{{{{{{{||}{|||z{y{{{||}|{||||||{{|zz{{|{{{|}|z{{{{|{z|||{|||{{{{{|{z{{{||||{|{{{{{z|{{||{||{|{z{zyzzzz{{{}{|||{z{{{{{{||{{{{{zz{zzzzz|{||{{z|zzyz{z{{zz{z{{|{z{zzzzy{{{{{{{{z{zzxzzyy{{{{{{{{zzzy{yyyzz{{{z{{{zzyz{{z{{z{zz{{{zzzyzzyz{zz{{{{zzzz{zzz{z{{z{zyzzz{zzzzz{z{y{{{yzyzzz{zz{{z{{zzzzyyyzyz{{{z|z{zzy{yzzyz{z{|{z{{zz{zzy{yyzzzz|z{{z{zzzzzz{zz{||{zz{zzzzzzz{{{{{{z{{z{{{zz{{{{{{{z|zzyzzzz{{{{{{{z{{zzyyz|z|{{{|{zzy{{y{{z{|{z{|{z{z{{{{z{{|{||||{{zzzzz{{{{{{|{{{z{{{zzz{{|{|||{z{{{z{{{{{||{||{|{{{|{z{{{|||||||{{{zz{{{|{|}{{|{{z{{{{{{{{{|||||{z{{{{{{|{}|{||{{|z{{{{||{|{{|||z|{{z|{|{|{||{{{{{{{{{{{||{|{{{{{zz{{z{{{{|{{}{{|z{{{{z{||{{||{{z{yyz{{{{{{{{{|{z{z{{{zz{z{{z{{{{yz|zzz{{|z{|{{{{{yz{z{{z{z|{{{{zzzz{zzz{{{yz{{zz{zyz{y{{{{z}{|{zz{{z{{{z{{{z{z|yzz{{yzz{{zz{{{zzzyzz{{{{{|{{|{zz{z{{yzz{{zyz{zz{zzzz{{{{{{z{|zzzzzzzzy{{{z{{{|{yz{{y{zz{zz{z{{{y{z{z{{zz{{|{{{z{z{{{zyzz{{{{z{zz|zz{z{z{{{{|{{{{{{zzzz{zz{{|{{{{{{{zzz|{{{{{||{zzz{zz{{{||z|z{{{{z{zzz{|{|{{{{{|{{zz{{{||{|{{|{|{{{{{z{|{}|{||z{|{z{{{|{|{{||||{{{|{z{|z|{{{|{{{{|{z{{|}|||}|||yz{z{z{{z{|}||}|{z{{||z{{{|}{|{{{{}{{|{||{||||||{|zz{z{{{|{||||||{{{{{||}{|||{||{zz{z|z{{||{||||{{{z{{z{|{||{{|{{zzzz{{{{{|{{{{{yzzyy{z{z|{{{{|{z{zyzzz{|{z{{{{z{z{zz{zz{z{{z{{{zzzzzz{{{{{z{{{{{z{zz{yz{{{zz{{zz{zz{zzzzzz{z|{{zzzzyyz|{zzz{zzzyzzyzzz{{z{{{{{zzzyzzzz{z{{z{|{{yzzzzyz{{{{{{{{{zzzyzzy{{{{z{{{yzyzzyzzzz{{yz{{zzzyzyzzxzzz{|{{zzzzzzzzz{{{{||{zzzyzz{{{|z{{{{{{z{z{zzz{{{zz{z{zz{yzz{yzz{{{{{zzyzzz{{z{|{zz{|z{zzz{zz{{{{{{||{{{z{z{{{{|{zz||{{{z{{zz{{{||{|}{{{{{{zz{{|{|{}{|{{||{{{zz{{{{|{{{{z{{z{|z||||{}{{{{{{{|{{|{{{|{{{{{{{|z{{{z|{{|{{{{|{{zz|{{{{||{z{{z|{{zz{|||{}|{{{{{|z{|{||}|{{{{zz{zz{{{{||{|{z{{{{z{z{{{|{||{{z|zzyzz|}{{{{{{z{z{y{|{y{|z{{y{{{zz{zyzzz||||{|{zzzzzzz{z{z|z{{{z{zz{z{{{{|z{||{zyyzzyz{{{|{{z{{{{zz{{zyz{z{{{zzyzzyzzz{z{z{{{{zz{yzyzzz{{{{{{{zzzzzyz{{{{|{{{zzzzzyzzz{{z{{{{{zzzzz{zzz{{{zz|z{zyyzyzzzz{z{z{{{|zz{xz|z{zz{z{{zz{zz{zy{{zz{{{|zzy{{z{{|{z{z{||{zz{{yzz{{{z{{z|zzzzz{{z{{z{|{|{{zzz{z{{z{|{{|{{{|{{{z{z{z{||{|{{{{{z{zz{{{{{||{zz{z|z|{{|{|||{|{{{zzzz{{{{||{||{zz{{{zz{{||{{|{{z{{|{{{||}|}|||{{|z{{{{|{|{{{|{|{{{{{{z|{||{{}||z{{{{||{||{|}}|{{|{{|z{|{{|{|{|{{{{|{zz|{||||{|{z|z{|{z{|z{{}|{|{{zz{{{{{{||{|{{{zz{z{{{{{|{zz{zzzyz{zyyzz{{z{{z{zyzyz{{z{{{z{{{zzzz{zz{zz{{{{{{zzzzzyz{{{{{z{{zzzzzyzz{{{{{{z{{zzzzzzzzzzzz|{zz{zzzz{yzz{zzz{{z{{zzzzz{zzzzzzz{z{zzzzyzz{{{zzzzzzzzzyzzz{z{{{z{zzyy{zzz{{{{{{{{{zzzzyzz{zzz{{{{{{z{yzzz{yz|{|z{z{zzz{y{{{{{z|{{{zzzzzyzz{{z{{|zz{{zzzzzz{{z{|{zz{zy{{z{{|{zz{{zz{{zz{zz{{{z|z{zz{zz{z{{|{|{|{{{{{z{{zz{{|{z{{{{z{zz|{z{{|{{|{{z|{{{z{z|{{|{|{|{z{{|z{{}z{|||{{|{z|{z|z|}|||||{|zz{{{{{z{{|||||{zzz{{{z{{|{{{||{z{{{{{{{{|{{|||{{zz{{{{{|{{|{|}{||{{{z{|{|z|||{{{{{zz{{{{z{||||{{{zzz{zz|{{{{{{{zzz{zzz|{{z{{{{zzz{zzzyzzz{{{{|{y{z{yz{{zz{z{z{{yzyyzyz{{{z|z{|zy{zzyz{z{z{{y{{{zzzzzzy{{{z{{z{zzzy{zzzz{zz{{|z{zzzzzzy{z{{z{{zzzzz{zyzzz{{z{z{y{yzzzzz{z{{zz|z{zzzz{z{zz{{{zz{zzzzz{zy{{{{{z{{z{{zzzzz{{zzy{{{{zzzyyzzz{z{z{z{zzz{zzzz{z{{{z{|zzz{{yzy{{z{z{{|{zzzz{zz{{{{{z{{z{z{z{zzz{zz{{{|z{|{zy{y|{{|||{{zzyzz{{zz|{{{{{|{{{zzz{z{||{z{{{z{{{{{{z|{|{{z||{{z{|z{{{|{|{{||{zzzyzzz{|{|z||{|zzz{zz{|{{{||||{|{zz{|{{{{{||}||{z|z{{z{|{|{||{}{{{{zz{|{||{}||{{{{zz{{{|{{{||{{z{|{|z{{|{|||{|{{{z{{{z|{{|z{{||{zz{{zz{z{{{z|zz{{zzz{z{{{{{{|{{zzz{zzzzzz{z{|{{z|z{xzzz{zz|{{{{zzzzzzz{{{z{z|z|{zzyzzyzz{{z{||{{{{zzyyy{{{{zz{z{zyzzzzz{zz{{{z{z{z{z{{{z{zz{{{z{zyzz{{zzzzz{z{zzzzzyyyzz{z{{z{{y{zz{yzzzzz{{zzzzzzyz{y{z{{z{|{{yzzzyzyzz{{z|{{{zzyzzzzz{zzz{{z{zzzz{zz{zz{{|||zzzz{y{{{{{{{{{{z{z{zz{{zz|{||{{zzzzz{{zz{{{{|{{z{{z{zzzz|{{{|{||{{|{z{{z|{{||{{|z{{zzz{|{{{{{{{|{{z{yz{|{||{|{|{{{{{{{z{|z{{|{{{{|{{z{z{||{|{|{}{{{{{{{{|{{||||{{|{{{|{{|z{{{{|{zzzz{{{z|{|{{|{{z{{{{{z|{||{{|||{{{|{{{{{{{}}|||zz{|{y||{z{{|{}{z{z{z{{{{|{z{}z{{{{zzzz{z{{z{{z{{{z{zz{{{{zzz{{zzzy{y{z{{{{|zz{zzyyzzzyzz{z{{{{{zzz{zyz{{zzz{{{zzz{zzyyz{{{z{|zzy{zzyzz{zz{zz{zzzzzzzzzz{{{y{z|zzzyzzz{z{{{zzz{{yzyzzzzzzz{zzzzyzzzzyzz{z{yz{{zzzzyyzzzzzzz{{{{zzzzyzyzz|{{z{||{zzz{yzyzz{{zz|{zzyz{zzzz{zz{{{zzz{zzzzxzz{z{z|zzzz{zzz{|{|{z{|z{{{z{zzz{|z{{{{{zzzz{{zzzz{|{{z{{{{z{z{zz{{{{{z{{z{zzzzzz{z|{{|{{zy{z{z{{|{|{z{{|z{yz{{{{z|{||{{z{{z{y}{{|||z{||{{{{{z{z{||{{{{|{{zz{{zz{|{|z|||{{z|{{|{|||{|}||{{{{{{{{{|||{|}||{|z{z{{{{|{|{|{{z{{{{z||{{||{{|{{{|{{{|{{{{{{|{{{{{{zz{{{|{|{{{zzz{z{zz{{{{{{|{{{{{zyzz{|{{{|{{{{{|zzzyz{{zzz{{{yy{{zzz{{zz||||{{y{|zz{{z{z{{}|{zyzzzzz{{{{zzz{|{zzzy{z{z{{z{{|zz{zzzzy{z{zz{z{{z{zzyz{{{{{{{{{zzzzyzzzz{{{{{z{yyzz{zzzz{{{{z{{{{yzzzyz|{{zz{{{zzzzzzyyz{{|{{{zzzz{{zzzzzzyz{{zzzzz{yzz{{|z{{{{z{zzz|zy{{{{{z{{z{zz{z{z{z{{{{{{zyz{zzzz{{z{|{|{{z{zzzzz{{|z{{{{yzzyzz{z{{z|{{{{zz{{{{yz{{{|{{{{{yz{{zz{{}{|{{{|{{{{{{z{{|}|{}|}{|z|{{|{{|{{||||{z{|{y||{{||{||{{zzz{{{z|{|{|{||{{{{{{|{|{|{{}}|{|{{{zz{|}|{{}}{|{{|{{{{|{|||{||||{{z{z{|{||z||||{{{{{z{{|{|||||{z{z{{{z{{|{{|||{{z{{z{z{{{|{{|{{{{z{zz{{z{{{{{{{z{zzzzy{{zzz{z{{zyzyyyzz{{z{|{z{z{{{zzzz{{{{|{|{yzzyzz{{{{zzz{{{z{yyz{zzz{z{{|{yzzzzz{yz|{{{{{z{zzy{zzy{z{yz{zzzzzzy{zzzz{zzz{|zzyzzyzz{{{zz{{zz{zzzyz{{z|z{z{{zzzzyzzzz{zzzz{|{z{yzyzzz{{zzz{|z{zyzyzz{{zz|z{{zyzzyzyy{zz{{{{{zyzzz{{zz|{z|z{{zzzyzz{z{z|zz{|{{{zzy{zz{{{{z|{z{{{zzyzz{|{{{{z{zzz{zzzz{||{z{{{{zzzy{zz{{{|z{|{{{{{{{{{{|||{{{{z{|z|z{{{|||{{{{{z{{{{{z||}}{||{{zz|{{{{{|{{{{|{{{{{{{{|{|||{{|{}{{{{{{{{}|||{{{|{{{{{{{{{|{||{|{{zz{{z{{{||{||||{{{||{{{||{{{||{zz{{z{{z|{||{||{{{{{|{zz{{|{{{|{{{y{{z{||{{|{{z{{{zzzzxzz{{zz{|zz{zzyzzz{z{|{{{{{yyz|zy{zzz{{{{z{{z{zyz{z{z{||zz{zyzyy{z{z{{{z{z{zyz{zz{{{zz{{zzzzy{zzz{{{zy{{zyzzyzzyz{z{{z{{zzyzzyy{zz{{{{z{z{zzzzzzz{{{{zz{z{{zzzzyzz{{{z||zzzy{zy{zzzzz{|z{{{zzzz{zz{zz{{z{yyyzzzzzz|{z{y|{zzzzzyzzzz{{{z{}{z{{zzz{{{{{z{{{{{z{zz{z{z{|{z|{{{zzzz|zz{{{{z{{{{|zzzzz{|{{{{{|zz{z{zz{{{{{{{{}{zz{{z{z|{|{|{{{z{z{{|{{{|{{||{|{{{{zz{{{|{{|{|{|zzz{{{{||{{{|||{{|{{{{z{|{z|||{|zz{{{z{||{{|{}||z{zz{zz|{{{{{{{{zzyz{z{||{{{{{|{z{{|{{{|{|||}{|{{zzzzzz{|{{{{{|{{{{{z{{{|{{{{{{{z{zzzz{z{{{z{{|zzyyzzzzz{{zz{{{{{z{zzzzzz{{z{{|z|yyzzyz{{{z{||z{z{zzzyzz{z|z{{|z{zzzzyz{{z{zz{|zzzzzzzyzzz{{{{{{y{zzyzz{z{z{{{{{zzzyzzzzz{zz{{{yyzzyz{zz{zzy{{{{zzzzyzzz{{z{z{yz{{zzzzyzz||{{zz{zzzzz{{zz{zz{{|zz{yzzzy{{z{zzzzyyzzzzzyzz{{{{{{{{zzyzz{{z{zz{{{zz{zzz{{zz{z{z||z{zzzzy{{{{{{{z{{zzzzzzy{{{{|{{{{z{z{{zz{{{|z||{{{{{{{zz{z{{{||{|{{z{z{z{{{|{|{{zz{zzz|{||{{||{}{{{{{{zz|||{{{||{zzz{z{{|{||||{|{z{zzz{{{z{{}{||{z|zz|{{{|z{||{{{z{zz{{||{|}||||{zz{{{{|{{{{|{{{{{z{{zz{|{{|{{||z{zz{{{z{{{{{z{|{{{{{z{zz{z{z}{|{{zzzzz|{{z{|{z|zzyzz{zz{{zzz|{{z{yzy{yz{z{|{{{{zzz{zzzzz{zzzz{zzzzzzyzz{{{|{z{z{zzzyyzz{z{z{{z{zy{yzyzyzz{{{{{zzzzyyy{{z{{z{{{{{zzyzzyzzy{{{{{{zzzzzzz{zzzz{z{{|zzzzyyzzz{z{zz{zyzzzyz{zz{z{{{{z{zzzzzyzz{zzzz{z{zyzzzyzz|{{z{|zzyzy{zyzzz{zz{{{z{z{z{z|{{z{{{{z{zy{zzz{{z{zz{|zz{z{z{zzz|{{|{{{{z{zy{z{{z|z{{{z{|zyzz{|{|{{{{z{zzz{zz{{zz{{|{{z{{z{{{{z|{{{|{|{{{z{z{{||z||{||{{{zz{{{|{||{}|{|z{z{{{{z|{||{||{{zzz{{{{{{{{{|{|{{z{{{z{{|{||||}zzz{{{|{{||{|{||{z{z{{{{{{{{{|{||z{|{z|{{{|{{||{{z{{{{z{{{{{|||z{zzyzzz{z{{{{{{{{{z{z|zz{z{{|zzzzyyzzzyz{{zz{{{z{zzyzzz{{zzz{{{{{zzzyzz{zz{zz{{z{z{zzzzz{{{z{{{{zyzzyy{zyz|{{{{zzzzzzzy{{zz{{{z{zzzzyzz{{z{z|z{yzzyzzzzzz{{z{{zzyzzzzyz{{z{{z{z{zzzyz{zz{|{zz{{zzzzyzyzz{z{{{{z{yzzzyzzz{{{{{{zz{zz{zzzzzz{z{|{{z{{zzzzz{{{z|{{{zzy{zyzz|zz{|||zzz{zzyyzzy{{{{zzzz{{zzzz{{{{z|{{{{z{z{zzz{|{|z{{z{zzzzzzz{{{{||{zz{zzz{||{|z|{{{zzz{{{z{{{|{{{{{{z{{z{{|{||{{||{{zzz{zz||{{{|{{|zzzzzzz{{{|{{z||{{{{z{|||}{|||}{{z{z{{z||{{|||||{z{zzz{{{{{{{z|{z{{{{|{||{|{{{{|{{{{{z{{{|{{{{}{{zzz{z|{{z|{{|||z{zy{zz{|{{zz{{z{z{{y{{z{{z|{{{z{zz{yzz{z{{z{{|{z{{zyyz{z{{{{z||{{yzzzzz{yz{z|{{z{zzyzzzz{z{{{{zz{zyyzy{z{{{{z|zzzzzzzyz{{zz{{zzz{zzzzzzz{zyzzzzyzzy{zzzyzzz{zzz{zzyzz{zzz{z{{{zz{zzzyz{{zz{z{zz{zzzzyy{zz{{{{{zzz{zyzzzz{zz{{{zyzzy{zyzz{{{{{zy{zzzzzzz{|{{z{{zzzzzz{z{{{z{{|{z{zzzz{zyzzz{|{{z{zyz{zz{{{{{z{z{z{{{z{{z{{z{{{{{z{yzzy{{|z{{|{|{{z{zzz{{{z{z{|{zz{yzz{z|z{||{{{{{{z{{{{z{|{z{{||z|z{zz{{|{|{{|{{z{{{y{z|{{{{|||{|{zzz|{{{||{|{{|{z{{{z{|||{{{{||z{{zz{{{{{|{|{|{{{{{|z{{{{{z||{|{z{{{{{|{|{|{|{{zzzzz{z{{{}||||{{{zzz{z{{{|{{{{{zzz{zzy{{{{|{z{yyyzzyyzz{{{zz{|zzy{zzzz{z{zzzz{yzzyzyz{z{zz{{{zyzzzyyyzzzz{z{{{zyzzzzzy{z{{z{z{zzyz{zzyz{zz{{{z{yyyzyzzyz{zy{{z{zzyyzzyzzz{zzzzzyzyzxyy{{z{z{zzzz{zy{yzz{{{z{{z{zz{zzzyz{zz{{|{zzzyzzzyyz{zz|zz{zzyzzyyzzz{z{zzzzzzzzyzzz|{zy{{zzyyzy{z{z{zzzz{yzy{yzzz{zz{{{{|{zzz{yzzz{zz{{{|zzzz{{{z{|{z{{z|zz{zzz{{z|{z{z{{zzzzzzyz|{z{{||{{z{zzz{z{{zz{{|{z{{z{{{{|{{||{z|{zz{z{{z|{||{{|zzyz{{{{|{|{z{{|{{{z{zzz|{{{{zz{{|{z{{{{|z|||{{||{{z{{{{{{z{{{{|{{z{{z|z{z|{{{|z{{{z{{{z{{{{{{{||{{z{{zzz{||{{|{{{z|yzyzzz{{z{{{{z{zz{{{zz{{{{zzzzzzzyzyyy{{zzzz{zzzzyzyzzzy{{{z{zzzzzzyyzzzy{zz{zzyyzyyzzzz{zz{{{z{yxzyyzz{zz{zzzzzyzz{yzyzzy{{{zyzzzyyzyz{{y{zzxzyyyyyyyyz{zzzzyxzzyyyx{yyzzyzzyyzzyyxyz{{zz{zzzzzzyyyyzzz{{zzz{yyz{yzzyzyzzzzzzyzyzzzyzzzyyzz{{zzzzzyyzzzz{z{z{zzzzzyy{zz{z{{zzzzyyzzyy{zz{{{{{zzyzy{{{{zz{y{{zyzzzzyzzz{zz|{{{yzzyzzz{{z|z{z{zz{zzy{{z{zzz{{z{{zzzzyz{|{{{z|zzzz{{yzyz|{|{{||zz{{zyzzz{{{{{|z{{zz{|yz{|{{|||{{zzzz{z{{|{{{{|{{zzzz{{zz}|{|{|{{{{{z{zz{{z{{|{{zz{z{{{z{{{{{{z|{zz{zzz{z{{z{{{{{{zy{zzz{{{{zz{{{{{{y{{z{z||zzz{z{zzyyzyzz{{zzzzyzyzyyzyz{{zyzy{zzyyzzyzzz{{z{{z{zyy{zyyzzzz{z|{{zyzyzyzzzzzzz{zzzzyzzyz{y{zyz{{zz{yzyzyz{{zyy{zzyyyyyyzzzzyy{zzzzyyyzyyzzzzz{zzzyyzzxyyzzz{zz{{zyzzyyyz{zyzzz{z{zyzzyyzzzz{z{{zzz{zzzzyyzzyzzzzyyzzzyzyzz{zzzzzzzzzzzzy{zz{|zzzyyzzzzyyyz{{zz{{zzzzzz{yzz{z{z{zzzzzyzzzz{{z{zzzzzzz{zzz{{z{{|zzzy{zzzzzy{{{{{zzzzz{yzzz{|{{zzz{zyz{z{zzz{||{{{{{{yzyzz{z|{|{{{|{{z{{zz{z{|{|z{{{zzz{zz{z{{z{{{{{zzzz{zz{{{z{{|{{yzz{{zyz{|{{{||{{{{{zzz{{|z{{{|{yz{zz{z{|{||{{{{zz{zzzz{{z|||{{z{zyzyzz{zz{zz{{zzz{yzzzz{{{y{{{z{zyzzzzz{zz{z{zz{{zzyzzzzzz{{{{zxzy{yzzzzy{{zz{{zyyzzzy{zyzz{{{zx|zzyyzzzzzzz{{{zzyyyzzz{{{{zzz{zzzzzyzzzzzz{{zyyzzzyyzzz{y{z{zz{zzyzzzyyz{z{z{yzzzzyzyzz{{zz{zyyzyzzyz{zz{{zz{yzzzyzzz{yzzz{zz{yyzyzzyzzzzzzzzzy{zzzzzz{{zy{{zzzzyzzz{z{{zzz{{zzyzzzzzz{{{{{{{zzzz{y{y{{zz{{{{{|{zzzz{zz{{{|{{{{{zyz{z{{zz{{{{z{{zyzzz{{{{{{{zzzzzyz{z{{{{z{{{zzz{{|{y{z{{{{{{zz{{z{zzz{{|{{{{{yzz{{zy{|{zz{|zzzz{{zzz{{{{||||z{{{{z|z{{{||{{{{zz{{zyz||{{{{{{z{{{zz{{{{|{z{|{|{z{{{{{{{|||{||{zz{z{z{z{{|{}{{|{{z{zzz{|{zz{|{{{zzzzzyz{z{{{{{zz{zzzzy{z{z{zz{{z|z{zxyzz{{zz{{xy{yzzzzyzz{{{{zzzxyzzzz{z{{{{{{yyzyzzzzzz{y{z{|zz{yz{zzzz{{{{{|yzzy{{{y{{{zz{|z{{zyzzzz{{zzzz{zzzyyyzyzzzzzzzz{zyyzzzzz{zzz{zzzzyzzzzyzzzz{{{{zyy{zz{yyz{{zz{{{z{zz{yzy{zzzz{y{{zyyzz{yz{z|{{{zz{zzzzzy{{z{{z{zzz{zyy{{z{zzzz{{yz{zyyzzzyz{{{{|zzzyz{zyz{z{|{{{zzzzzz{z{{{{||z{z{{{zzz{z{{{|z{{{{{|{zzzz{{z{{{{zzz{{zz{{{{|{{|{yzzz{{{z{||{{|||{z{z{zzz|{{z{{|{|z{{|z|{{{|{{{||{zz{{z{{z{{z{{{||z{{{|{{{|{|{|{{z{{{{{{{{|{{z{{{{{{{{{{{{z{{{{||{|{z{{{z{|{{{{{{z{zzzy{{{|{|z{{|{zz{zz{zz|{z{|{{{zzzz{{y{{{{zz{{yyz{zzzyz{zzzz|{zzyzz{zzzz{z{z{zzzyyyzzzzzzz{{z{zzzz{yyzz{||z{{{zzzyzyzyz{z{z{zz{yyzyy{yz{yyz{zzzzzyyyyyzyzxz{zzyyyzzzzyz{zz{|zzzzyyyyzzzy{yz{{zzzzz{zzzzyzy{{{zzyzz{yz{zzzzzz{{zyyzzzzzzzzzz{{zzyyzyyzzz{{z{z{{zy{yz{yy{z{{{{||{z{z{yyy{z{z{zz{yyzzzyzzz{{{z{{zzzz{yzzz{{{{{z|{z{{{zzzzz{zz{{{z{zz{zzzzz{zzz{|{zzzzz{zz{|{{z{z{z{zz{zzz{{{|{{{|{y{z{z{{{z{{{{{|z{zzzzzzz{{{{{|z{zzz{zz{{||{{{|{{z{zz{{z{|z{|{|{|{zz{{{{{}{{{{|{zz{|zz{{{|{{{|{{{zzz{{z{{|{{{{{{{{zz{{z{{{{{{{{{{zy{{y{z{{z{z{{|{{{{zz|zz{z{{z{{zzz{zzzzz{z|z{zzzyzzzyzzzzzzzzz{zzyyzyzz{z{z{z{{zzzzzzyyzzzz{{{{zzzzzzzzy{{{z{|z{zyyyzzy{z{zzz{{{z{yzzzzzzzzzz{zzyzyzyzzzzzz{{zzz{zyzzyzzzzzz{{{yzzyyyzy{zyzzz{{yyzyzyyyy|z{z{{{zz{{zzyz{zzzz{zzzyzzzyzzy{zz{z{{yy{zyzzyzzz{z{{{zzyzyzyyz{z{zzz{{zzzzyzz{{z|{zz{{yzz{zzzzzyzz{{{zzzz{zz{{{z{z{{zzzzzzz|zzz{{{{|{zy{z{{z{{{{zz{{z{zz{|zyz{z{{z{{zyzzzzzzzz{{{{{{{z{{z|z{z{|{{{{{|{z{{{yy{{{|{{{|{{z{{{z{z{{|{z||{z{zzzzzz{|{||{{||{z{z{zz{|||{{{{{z{{{z{{|{{||{{|{yzzzzz{{{z{{{|||{z{z{{z{z{{z{{|zzzz{zzzy{z{{{{{|zy{zzzzz{{|y{{zy{{yzzy{{z{z{z{{zzzzzzzyzz{zzyz{zzzyzzzyzz{zzz{{zzyyzyzz{zz{{{{{yzzyyyzzzyz{{{{zzzzyyyyzzz{{{{zzzzzzzyzxzzzzzz{yzz{zz{yyzzzzz{z{yzzzzyzzzzzzzz|{zyzyyzyzyzzz{{z{zzxyyzyzz{zz{z{{zyzyyzzz{zzz{{z{zzzzzyzzzz{zz{z{zzzy{zzzyyyzy{zzyz{zzzyyzz{{z{{{zzzyzy{zz{|zz{z{zzz{{yzz{{z{z{z{zz{zyyyz{{z{|z{{zyzz{z{yz{{z{{{zzz{zzzzz{z|{|{{{{yzzzzzz{{zzz{z{{zzz{{{zzz|{z{{{{z{{z{{zz{|{{{z|zzz{zzz{{{{{{|{{{z|zzz{z{{z{|{|{{zz{z{{zy{{{||{{{{zzzz{zz||{||||{{|{zzzz{z{{||{|zzzy{zz{{{{{{|||{{zz{zz{{z{z{{{{{z{yz{yz{{zz{|||{z{{z{zzz{{{{z|zzzzzzz{yy{zzzzz{{zzyy{yz{z{zz{z{{yzyyzzzz{zzz{{{zzzy{zzz{zz{{z{zzzzzzzzyyzzzz{{zyzzzzzzy{z{z{z{{zyyyzyzzz{zz{z{{{zzzyyzzzzzzz{{z{zyyyzyzzzz{z{{{zzyyyyyyzzzzzyyyzyz{yzzzz{z{zz{{zzzyzzzzzzyz|{z{z{zz{yzzy{zyzz{{{xzzzxzzz{{zz{{{zyzyz{zyzzzz{{{zzzzzzzzzzz{{{{zzzyz{yzyzzzz{||z{zzzyzzyyz{{{{z{{zzyyzzzz{{{zzz{{zyzy{zzz{{z{yz{{{zyzzzzy{|{{{{{{zyzz{zyz{{{{{z{{z{z{zzzzz{z{|{z|zzy{{{yyz{{{{{|zzzzz{z{z{z{{{z{|{{{{z{z{z{z{{{||{zzzz{{z{|{{|{|zz{z{zy{z{{{{{{{{{{z{{zz{{{{{{{{{{zz{zzzzzz{{|{{{|{z{zzzzz{{zz{|{{{zz{zzyz{|{|{|{{zzzzz{z{{{yz{{|z{zy|yzyy{zzz{zzzyyzyyzzzzzzz{{z{yzzzyxy{zzzz{{zzzz{zzzzzzzz{{{|zzyzyzzy{z{yzzz{yyyyyzzzyzzyzz{{zzzzyzz{zz{zz{{{zyzyzzzyzzzyzzz{zyzzzxyyz{y{z{z{zyzzzzyzzz{zzzz{z{y{yzzyz{z{{{y{zzzyzyzyyzzzzzz{zzyyz{{yyzzzz{z{zzzzzzzz{z{{z{z{z{zzyzz{z{z{z{zzzy{zzyzz{zz{zz{{yzzzyzzz{{{z{{{{{zzzzzzyz{z{{{{{zy{zyzz{{{{{{{||z{zzzzzz{zz{{{z{z{{z{zzzzzz|{{{{z{zz{z{{{z|z{{|{zzzz{|zzz{{{{{{{|zz{y{zz{||{|{}{{yyz{{{{z{z||{{{|zz{zzzzz|{{{|{|{{z{{{{{{{||{{{{z{zz|z{{{|{||{{|{{zzzz{{{|||{{||z{zzz{{{{{{z{{|||{z{zzz{|z{{{{z{z{{zyz{zzz{zz{zzzzyzzyyxzz{y{zz{zzzyzzyyz{{zzz{{{zzz{zyzzz{z{zz{zzzzzyyyzzzzz{z{{zzyyzyyzyzzz{z{yyz{zzzyzzzzy{{zzzzyzyyyz{{{{z{zzyyyzzyz{zz{zzzzzzzzzyyyzz{zz{{{zzyzzzy{z{{yz{yzzzzzyyzyy{{zzz{zyy{zyyyyzzzz{{z|zzyzzzzyzzzzzz{zyyzzzzzzzzzz{z{zzyyyzyyyz{{y{z{{zyzzyyzz{z{{{{{z{y{zzzy{z{z{{{|{zz{zzzzzz{yz{{zzzzzyzy{{{{{zy{|{zzzyzzzzz{{{z|{{z{{z{zzzzz{{{{{{y{z|z{zzzz{z{|{||zzy{zzz{{{z{z{|{z{{zz{z{{{|||{{{zzzz{{zz|{||{{{{z{zz{{zz}{{{{|{|z{{zz{z{||||||{{{{{{|{{z{|{||z|z{{z{{z{|{|{|{|{zzzz{z{z{{z{|{|{{z{zyzyzz{{|zy{{zzzz{zzzz{{{{z{zzzyzzzyzy{zzz{{zzzyzyyx{z{zzz{z{{zxzzzzzzzzz{{{{{yzzzyzyyz{zyzz{{zyyyyzz{z{yz{{{zyzzyzyzzzzzzzzzzyyyyyzyzz{zy{z{zzyxyzzyzzyzzzzzzyyyyyyzzzzzy{{zzyzzzzyyz{zz{zyz{zzyzzyzzzyzzzzzzyzyyzzyzzzzzzzyzzxyyzzzy{{zy{{{zyz{z{yyyz{{z{|z{yyyzy{zzzyz{{zyzzzzzzz{|zz{z{{{zz{zzzzzzz{zz{z{z{zzzzzy{{z{{{zzzy{zzzyz{|{{yz|zz{zzy{zzz{zzzz{{{z{zzz{{{{z|z{{{zz{{{{{z|{z{||{|{{zzzzzzz{{{{{||{{zzzzzz{{{z{{|{z{zyz{{{{{|{{|{{{{z{z{zz{{{{{z{{|zz{zzz|{{|{{|z{zzzzzz{z{{{{{{{{zzz{zzzy{{{{{z{|zzzz{zzzz{{{{{|zz{yzz{zz{{{{{z{{zz{yzzzzz{{|{{{zzyyyzzzyy{zzzyz|zzzyyzyzzzy{z{{zz{yyyyy{z{{zzy{zyyzzyzyyzzzzzzz{zyzyzxzxzy{z{{y{{zzzyzyyz{zzy{z{zzzzyyyyz{zzz{zzzyyzzzzzzzz{zz{{zzxzyxzzzzzz{z{{zyzzxyyyzzzyzzzzyzzzyzz{zzz{zyz{zyyyyzyzzyzyz{zzzzyy{z{yy{yzy{z{zyyyzyyz{zz{z{|z{zzyzyzyzz{zz{z|zyy{{zzz{{z{{{z{zzzyzzz{z{|zzz{{{z{yzzzy{{zzz{z{yzzz{{yz{{z{{{||zzz{yzzzz|{z|{{zzz{zz{zz{{{{{{zzzz{{{zz{{{{{{{{z{z{zz{zy{{{z{{{z{zyy{{z{{||{{{{|{{zz{{{z|||{{{z{{z{zz{yz{|{{{zz|{z{{{zzz{{|{{{{|{zz{{{zz{{{z|{{{{zzz{zz{{|z{{|{|z{{z{z{zz{zz{{{{{zzyz{zz{|z{z{{z{zzzzzzy|z{zz{yzyyyyzyyxzzzzzzz{yzzyyyxyyzzz{{{{zzzzzyzzz{z{zz{zzyzzyyzyzz{{{z{zyzzxyyyyzzz{zz{zzzyyzyzy{zzzz{{zzzzyyyzzzz{zzzz{zyzyzyxyz{yzzzzzyzzzzyyyzzz{z{{yzzyzyyzyy{z{{{zzzyyzyyxzzzz{z{|zzzzzyyzzz|zzyzz{yz{yyzzzyzzzzz{zzzzzyzyy{zz{zz{{zyzzyzzzzy{yy{{{zyy{zyyyzzz{zz{zz{zzyyzyyzzz{zz{zyzyzzz{z{zz{{z{|yzyzzyz|{{{{{{zzzz{zzyz{{{zzz{z{{zzzzzz{{{{{||{zzz{{|z{{{{{z{{{zzzzzzyz{{{{{{{{{zzzzz{z||{{|{{|{{{z{{{{{|{z{|{{|zzzz|{zz||z{||{{z{{zz{zz{z{{|{{{zzzyyy{{{{{{{{{zzzzzzyz{z{|||{|zzzyzzz{{{{{z{{{{{zzzz{zz{{|zz{zzzzyyzyyz{zz{{z{zzz{yyyzyz{zz{yz{{zyyz{yyzzzzz{z{yyzzzzz{yzzz{z{yyyzzzzyzzy{zzzzzz{yzyzyz{{{z{{{zy{yyzzyyz{zz{zzyz{yyzyyz{yyzz{zzzzyy{yzzyzzz{zzzyzzyxzz{zzz{zzz{zzzyyzyyzzzzzzzzz{zzyzxyzzzzz{{yzzy{yzyzzzz{zzzz{yzyxzzzyzz{zzzzyzzzzyyzzz{zz|{z{zyyzzy{{z{{{{{{zzzzyzzzz{{{{z{zyzzzzz{z{{z{{z{yz{zzz{yzzz|||{yzz{zzzzyzz{{zz|{z{{zz{zz{{|zz{{{z|{z{{zzz{{|{{|zzzzzzy{z{{{{{{{{z{y{zzzzz|{|{{|{zzz{{zz{z||{{|z{{zzzz{{yz|z|{{{|{{zzz{{|z}{z{{||{{z{{z{zz{{{{{|||{{z{zz{{{{z{{{{|zz{{zz{{{{{{|{{zz{zzzzz{{{|z{||z{zzzzzz{z{{z{|{z{zz{z{z{{{{z{{{zzyz{zzzz{{{{z{z{zzyzyzzzzzz{{{{zzyzzzzy{{z{zzz{zzyzyzzz{z{{zzz{z{zzzyzy{zz{z{{zzyzzyzzy{{{zy{zzzzzyzyyzz{|zz{zz{zzyyyyyzzz{z{z{zzzzzzzyz|{zzz{{zyzzxzyyzzzzzz{{yyzyzyyz{{{{{z{{zzyyy{zzzyz{z{{{{yzyzzzzz{yzz{zzyzzzyzzyzzz{|z{zyzzzzzzz{{zzyz{{zzzzzz{zzzz{{{{zzzzzyzz{{|{z{z{{zzzz{{zz{|{{{{{zzz{zzz{{|{{|{{|zzz{zz{zz{{{{|{{{z{zz{zz{{{|{{{{|{{{{{zyz|{{|{|{{{yz{zzyz{{|{||{{z{zzzz{z{{z{{{{{|z{{z{|{{{{{{{|{{z{zzz{{z|{{{|{{z{zzz{yz{z{|{||{|z{zz|z|{{{{zz|}{{zz{{{{{{z|{{{|zzzzzzzzzz{{{z{{z{yy{yz{|{{{{|{{zzzzzz{y{z{zzzzzzzzyzyzzy{zzzzzyzyxzzyzzz{zzzzzzyxyyyzzzzzzzzz{{zyzzyyyzzzzzzyzz{zzyyzzz{zzzzzz{zyzzzyzyy{zzz|{z{yzyzyzyz{zzyzzzyyxyxzzzyzzzyzzyyyzyzyyzz{{zzz{zzzyzyzyzyzzzz{{zzyzzyyzyzzy{zzz{{yyyyyyyzzzyz{y{{yyyyyzzzzzz{{{zzzzzyyzyzy{{zzz{yz{zz{yyz{{{zzzzzy{zzyzz{zz{{z{{zzzzzz{zzzz{zz{zzy{zzzzyz{{z{{z{zy{zzzzy{zz{{y{{{zyzzzzz{{{{y{{z{zzxz{zz{{{{z{z{{zzzz{z{|{{|z|{{{zzzzzzzz{{z{{{zzy{zzzzz{{zz{{{{zzzzzz{{|{|{{{z|{{zzzzz{z{||{|{|{z{{{yzz{{{{{{{{zzz{zzy{{z{{{zz{{{{zzzz{||{{{|{|zzzyz{y{zz{{z{{z{yzzzzyzz{z{{{{{{z{zzzzyz{{z{{zzy{yzzzyyz{zz{z{zzzyyyzyxzzyzzzz{zzzyxyzzzzzz{{{zzyzzzyzyzzzzzz{z{zzyxyzy{zy{zz{zzzyyyyzy{z{z{{{zzzyzzxzyzyzzy{zzzyzxyyyzyzyzz{z{zyxyzzyy{zzzzzzz{yxyyzxyyy{z{z{{yyyyyzyzzzyzzy{{zyzyzzzzzyzzyzzz{zyzyyzyyzzz{zzzzyzzyzyyy{zz{{z{zz{zzyyzzzzzz{{|zz{zzyzz{zz{{z{{zzzzzzzzz{z{z{|{zyzyzzzyz{zzz{z{zzzzyzzzzz{{{{{z{yzzzyzzz{{zz{{z{{{zzzzz{{{{{{|zyz{zzz{y{z{|{{{{yzzzz{zzz{{{zzz|zyzz{z{zz|{{zz{{zz{yz{zyz{z{}{{{{z{{y{zz{|{{{|||{{zzz{yz{{z{{{{{{zz{{{zz{z{z{{{{{{{zzzzzzzz{{{{{z{{zzzzz{{z{{|{|zzzzzyzz{{{{{z{{zzyyzyzzz{{{z{zyz{zzzyzyyz{{zzzzzzyzz{zyzzzz{z{zzzyxy{yzzzzz{z{{zzyzzyyzzyz{zyz{zzzzyyzxz{zzyz{{{zyzyyzyz{zzzzzyzyzyzyyyzzzzzz{zzxzyzzyyzzyzyzz{zyzyzzzzz{{zzzzzzzyyzzyzyyzz|{zzyzy{zzyzzz{zzzzz{zzzzyyx{|zyzy{{{zyyzxyyyzz{{zzzyy{zz{yyzz{{y{zzzzzzzz{yzzzzzz{zzz{yzy{zz{z{{zz|zz{z{yzz{{z{y{|{zyzz{y{z{z{zz{z{{z{zzzzyz{{zzz{|zz{z{z{{{{{{z{z{zyzz{{z|{{{{{{{{zz|{{z{zz{z{{{{z{zzzyzzyz{|{{{{{zzzzz{zz{{z{{||zz{z{{{{z{{z{{{{{{zzzz{zz{{z{{{{{zy|{z{z{{|{{{}{zz{zzz{zz{zz{z{{{{{z{{zz{{{{|{{zzzzzzzz{z{{{z|{{|{{zzzzzzz{{|z{zzyzzyyyzyz{zy{{zzyyyyyyyy{zzzzzz{yzyzzyzyyzz{z{zz{zyzz{yyzzzy{yzz{zzyzzzzyzy{yzzzzyyyyyzyzzy{zzz{yyyzyyzzz{zyzz{zzzyzyyyzzzyzyzzzzzzzxzzzyzzzyzz{yyyyyyyzzy{{yyzzzzzzyyyyzy{zzz{zzzzyyyyzzzz{zz{z{zyyyyzxzzzz{{zyyyzyyyyxyzzzz{{{yyzyzzzyz{z{z{{{zxzzzzz{{z{zzy{zzzyzyx{yzzzz{{zzzyzzyzzyyzyzzz{{zzzyzzzzz{z{{{zz{zzzzyyy{{z{{yz{yzzzyz{{{{{zzzz{{y{z{z{zz{z{{{{zz{zzzyz{{zzz{z|{zzz{z{zyz{z{{{|{zzz{{zzy{{{{{|{|z{z{z{{zz{zz|{|{{zzyzzyzz{z{{{{{{zyzzzz{{{z{{{|z{xzzzzzzz{z{{{{z{zzzzzzzz{{{{||{zzzzzzyz{zz{{{|zzzz{zyzzz{z{{z{zyy|zyyzzzzzz{|zzzzyyyxzxy{zzzyzzzzzyyyyyzz{{zz{zzzyyyyywzyzyzz{zzzyzzyyzzz{zyzz{zyzyzxyzzzzyyzzzyyyxyyzyzzzzzzzzzyyyyzzzyzyyy{yzzxxzyzxyzyyzy{zzyyyyyyzyzz{zyzzzzyzxyzzzzzzy{{z{yyyyyzyzz{zzz{{zzzyyyxyzyzyzyz{zzzyzzyzzyzzzz{{zyzzzzyzzyzzyzx{zzyzz{zyyy{zz{zyzyyzyyyzz{zzzy|z{yyzzzzzyzyzz|{z{z{{zzzyy{zzzz{zzzzzzzyzzz{|zzz{yzzzzzz{zz{{z{{{{yzzz{zzz{{{|z{zz{z{zzzz{{|{|{{|zz{{{zzyzz{{{{z{{zy{{zz{z{{zz{{{zzy{zz{zzzz{{{|{|zzzzzzyz{|{|{|{{{zzzzzz{{zz|{{{zzyzz{zy{zz{{z{|{{{yzzzz{{|z{z{{{{yzzzzzz{zz{z{{z|zyzzxzz{{{{z{z{{z{zyzzyzz|zz{y{yyyzyyxzyzyyzzz{zzzyyxxyzzz|zyz{zzzyyyyzzzzz{{{zyyzxzyyyyyzzzyz{yzzyzxzxyz{yz{zzzzyzyzzyz{yy{zzzyzzyyyyyzz{zyzzyyyyyzyyy{yzzyzyzxyzyyzzzzyyyyzzzzzyyyzxyy{{zzzzzzzyyyzyxyzzzzyzzzxyyyxzyyzz{yz{{yyyyyyzyyzzzzzz{zyzzyzzyzzzzyz{{yz{zyyzyz{{zzzzzzyzyyyyz{zzz{zzzzyyyzzzyy{zz|z{{zyyxzy{zyzz{zzzzzyz{zyy{{zz{zzz{zyxz{zzz{zz{z{zz{zz{zzzzzzzz|{{zzzzzzzzz{{{{z{||zyz{yzzzz{{zz{{{zz{|zz|zz{z{{{{{{zzz{{z{{{zz|{{{|zzzzzzzz{{{{{z{{zz{zyzyz{{zz{{{{zzyz{zzz{z{{{{zzz{zzzzz{{z{{{y|yyzzyz{zzzzzz{|z{{z{zzyyz{z{z{{zzz{yzyzz{z{zzyzzyyzyzyyyyz{zzzz{zzzzyyyyyzzzz{z{{y{zzzzzzy{zz{{zzyzzyzzxyyzzyz{zzzyzxyzzyzzzyzzzyzyzzzyyyzyyy{{zzzyzyyzz{zzzzzyz{yyyzyzyzzzzzzzzyxzyzyyyzz{zz{{zzyzyyxzzzz{zzz{zz{zyyyyxzzyzzz{zxzyyzzz{z{{zzzzzzzzyzzzyz{zzzz{{yxzzyz{zzzzz{{{zzyzyyzyzz{y{{z{{zyzzzy{zzyzzy{z{yzzyzzzzzz{zz{z|zzzzyy{zzzzzz|{{{zzyzzyz{{{{zz{z{zzzyz{y{zz{{{zzzzyzzzz{zz{{|{{zz{zz{zzz{{z{z{{{zzz{yzyy{{z{zz{z{yzz{{{z|||{{{{|zz{z{z{{{{{{|{{{zzz{{z{{{|{{z|{|z{{{zyzz{{zz||zz{yzzzzyz{z{{z{{{zzzz{{z{{{||z||{zzzyz{yzz{zzz{{{|zzyzzyz{{{{z{{zzyzz{yz{z{zzz{{{zzyzyzyyz{zz{{z{zzyzzzyyz{z{y{z{zzzyzzzyzzzzzzz{{zzyyyzyyzz{zz{|{zzyzyzyz{{zz{z{zyzzyzyyyyzzz{{{yzzyzyyzzz{zzzz{{z{yzxyyzz{zzzzzzzzzzzzxz{zzz{zzz{zyxzzyzzzyzz{zyz{{yyyyz{z{zzz{zyyzzyzyzzzzz{{z{zyyzyxzyz{zz{{zzzzyyzzyzz{|zz{{zzyzzyzxy{z{{{z{yzyyyz{zzyzzz{{{{{zzzzyzzy|z{zz{zzzzyyy{z{zzz{{{zzzyyzzy{||{zz|zzzyz{yzzz{{zz{z{{{zz{zz{{{{|{{|{zz{zz{zz{{{zz|{|{{{zzzz{z{{{z{{|{yz{{z{z{{z{{{{|z{yzzz{{{|{{{{{{{z{{z{z{{|{{{{{||z{{{z{{{{{z{|z{{zy{z{{{{z{{{{|{|y{{{zy{{|zzz{{{zz{z{zyz{z{{{|{{z{z{yzzy{z{z{{{{zzz{zz{y{z{{zz{zyzyzyyzx{{z{z{{yyzzzzyyzzzzzzzz{{zzyzzzzzzzz{{{z{zyzzzyyzzz|zz{{{zzyyyzyzzyzzzz{zy{zzy{yyzz{z{{yzyzzyxyzzzzxyzzzzzyyyzyyzzyzzz{zyyyzzyzyzzzzzz{zyyzzzzzyy{zyzzz{zyyyzyzzzzz{zzz{zzyyyyzzz{zyzz{yzxyyzyzzyzzzz|z{yzzyyz{zyzzzz{{{zzzz{zyyzz{{zz{{yzzzzzzy{{{z{z{{yzzzzyzyz{zz{zzzz{zzzyzzz{{{{{zz{{{z{yzzz{z{zz|{z{z{zzzz{{{{{{{{{zz{z{zz{{z{{z|{zzz|z{z{{{z|{z|{{zzzzyyy{{{{zz{{{{z{{z{y{{zz{{|{{z{{{z{{{zzz|{{{{z{{z{{z{}{|{{{{{{z{zzyz{{{{{|||{y{{zz{z{{{{z{{{|{z{{zy{{{{{{{{|zzzzzzyz{zzzzz{{{|{{{z{{z|{{z{{|zz{zzzyzz{z{zzzzzzzzyyzyzzzz{z{{zzzyyyyyy{z{{zz{zyxyzzyzyz{{{{{{zyzzyyyyyzyyzz{zyyyzzzzzzz{{zz{{yyyzyyzyy{zzzzzzzzzyyzzzy{y{{z{x{z{zzzyyzyzzz{{{yyyzzyzxyz{zz{zzzy{zxzyzzzzzzzz{zzzyyzyzz{{z{zzz{zyzzzzy{yz{zz{z{zzzyzzyyzzz{{z{{yzzz{yzzzz{{z{{{zzxzyzzyzz{{z{zzzzzzzzz{z{z{{{{yzzyyzzzzz{zz{{zz{{zzyzzz{{zz|{{{yzyzyzy{{{{{{{{{zzzzzzz{zzzz{{{z{zz{{zzz{{{{{|{z{y{{zyz{zz{{{{{{zyzzyyz{|||{{|{zzzzzz{y||{{{{{{{{{zyz{{{zzz{{||{zz{{{zzz{||{|{|{zz{z{{{{{{{{||z{y{zz|yz{{{|{{||{{z{|zzzz{|{{z{|zzzzyzzzz{z|{{{{{{zzzy{yz{{{z{|{{z{y{zyz|{{z{{z{yyyzzyzyy{zzzy{{zzzzzyyzzz{zz{zzzzyzyyzyzyzyz{zzyzzzyyzzz{zzzzzzzzzzyyyyy{yzzzz{yzzyzyyxz{zzz{{zzzzyyyyyzyzzzzz{zyyzxzyyy{zzzyz{yyyyzyzxyz{zy{yzzyzzyyzz{zz{{zzzzyyzyyyyz{z{y{{yzzzyyzzyyzyzyzzzyyzyzyyyzyzzy{{{zz{yz{yzzy{{zz{{z{zyzzzzy{{{zz{|zzz{{zz{z{z{{{{zzzyxzzyz{z{zzz{{{y{zzzzzzz{z{{z{{zzy{yzy{{|zz{|z{zzzyyzz{z{zy{{zzzzz{zz{{{{{{{{|{{{z{{{y|{{zzz{z{yz{yzzz{{{{z{{{{yy{{{zz{{{{{|{{{zzyzzzzz{z{|{{||zyzzz{{{zz{|{||{{z{zz{zz{{{{{{{{zz{{{yzz{z|{{|{{zz{{zy{{{z{zz{{z{zz{{zz{|{{z{|zzz{zzz{zzzzz{zz{z{zyzzzzz{{z{{z{zyyzyyyyyzzzyy{zzzzyyyyyzzzzzzz{zzyyzzzzzz{z{zyzyxyyzyyzyzz{z{z{{{zyzyyyzyzzzz{zzyyyzzzzyzzzzzzzzyzyyyzyz{{yzzyzyzzyyyyyyzzzyzzzyyyyyzyzyzy{zzzzyzyyyzyyz{{zz{{{yzzzyzyzz{zyz{z{zyyyyyzyy{{zyzzzzyyxzxyyyzy{{yzzyyzyyzzyzzzy{zz{zzzyzyzzzz{zzz{{yzyyzzzy{z{zzz{{zzzyzzyzz{zzz{{z{zzzzzzyzzzz{z{zz{zyzzzyyz{z|zzzzyzzzzyz{{zzy{z{zz{zzzzyz{{{{{{{{z{z{zzzz|z{{z{{{yzzzzyyzz|{{{|{{yz{{{{yz|{|z{z|z{zzzz{z{{{{{{{{{zzzz{zz{|{z{z{|zz{{zz{{{{{{|{{z{yzzzzzzz{{{{zz{{z{yzzz{{{{z{{{{zzzzzzzzz{|zy||z{zz{zzzzz{yzzz{{{yzy{xzz{{{zz{zzyzyyyyyyyz{yzzz{zzzyyyyyzyyzzz{zzyzyzz{yzzzyz{{zyyzzzyyxzy{{yyzzzzyyyyzy{z{zyzzzzy{zzy{xyzzzzzzyyzzzzyyyzzzyyyz{zzyyyyyyz{yzzyzzyyyzyyzyxzzzzzzzyyzzyxyzyzzzz{{zyyzzxzyyyz{zyz{zzzyyyyzyyyzyzzzzyzzyyyyxxzz{yz{zzzzzzyyyyzzzzzzz{zyzzxzxzzzzzzz{{y{yyyzzzzzzz{z{yxzzyyyz{{{zz{zzyzzz{yyyzz{{z{zzzyyzzyzyzz{zz{{zzzzzzyzy{z|zz{zyzzzyz{zzzz{|zz{|zyzyzzzz{{z{zz{{{zz{zzzy{{{{{z{z{yzz{zzzz{{{z{z{{{zzzyzzz{{{|{|{{zzzz{zz{|{|{{|{|z{z{z{y{z{{{{{|{zzz{zyz{{{z{{{{|zz{{zzzz{{{{{{{{{zzzz{z{{{{zz{z{z{zzzzz{|z{z{{zzzzz{yzzz{zzzzz{zzyyzyzyy{{yz{zzzzzxyzxyzyyz{zz{yzyyyyxyzyzy{z{{yyzyyyyyzz{zzz{z{yzyyyzxzyzzzyyzyyzyyyzyzzzyyz{zzzyyyxzzzzyyzzzyyyzyzzxyz{zzyzz{yzyyyyyyzzzz{{zyzyyyzyyy{y{{z{z{yzzyyzyzxzz{zz{yzyyzyxzyzyyzzzzzyzyyyyyyyzyzz{z{zyzyyzzzz{z{{zzzzzyyzyzyzzz{z{{zzyzzz{zyzyzz{z{{y{{zzyyyzz{z{z{{zzz{zyzyyz{zz|{yzzzyz{zzzz{z{z{{zyyzyzyz{z{zz{zzyz{z{{{yzz{z{{{{zz{zzzzzzzz{z{{{{yz{zyyz{z{{{{{z{yzz{zyz{z{{{{{{zzzyzz{z{{zy{{z{{z{zzz{{zzz{|{{z{z{zz{zz{|{{{{{{zzzy{yzzz{z{{zz{zzzzz{z{{{z{{{{z{yzzz{zzz{{|{{|{zzzzzzzzy{{{y{{zyz{yzyzyzz{zz{zzyzzzyyyyz{{yyz{zzzyzzyzxzzzzz{zz{yyzzyzyzzyy{z{yzyzzzyyyyz{zz{{{yyxyyzyyzz{zy{z{yyzyyyyyzzy{yzzzzxyyy{yyyz{zz{zzzyyyzzyyzzzz{zzzyxzyzzzzz{yyy{zzzyyzyzyzyz{yz{{zzyzzyzyxzz{zzzzzyzyyyyyzyyzz{zzyzzzyzyyyyyyxy{z{zzzyz{yyyzzzzy{|zyzyzyzyzzzzz{zzzzzzyzzz{zzzyz{zyzyzzzz{{z{{z{zzzyzyzyzzy{zzz{zz{zzzzzyyz{{{{zzzyzyzzzzzz{zz{{zzyzzz{zzz{z{z{{{{yzyzzzzzzzzz{{{{{zyzyzzy{{z{{zzz{zzz{zzyz|{{z|||zzzyzzz{{zz|z{|{{zzzz{zzy|{zzz{{{{{zyzyz{z{|z{{{zyzzzzzy|z|{{{|{{zz{{z{z{{z{|z{{yzyyz{{zy{z{z|{zzzzzzzyz{{z{z{{zzzyy{zzyz{{{z{yzzzzyyyyzzzzzzz|zzyyzyyzy{zz{{{{yzz{yyzzyzzyzzz{zzyzzzzy{zzzzyz{zzxyyyzyzzy{{zzz{zyzyzzyyyzzzyz{z{zzzzzyzzy{zzz{zzzzzzzyy{zzzyzzzyzyyyzzyzzz{{zzzzyz{yzyy{z{zz{z{yzyzyzzxzzzzz{z{zzyy{yxyzzzzzzz{zyzyyyyzzzzzyzzzzyyyzyzyzzzzz|{zzzyzzzzz{{zzzzzz{yzzyyzyzzzz{{zzyzyzzzzy{|{{zz{{yz{z{yz{z{{{zz{zzz{z{yzy{z{zz{|zyy{zz{z{z|{zz{|zzzy{z{yz{{{{{{{zzzzyzzzz|{z|{{|{{{zz{zz{z|{|z{||zyzzz{zz{|{|z{|{{z{z{{{z{{{{{{{zzzzzz{z{{{{{{z{{|z{zzzz{{zz{z{z{zyyz{z{{{{{{{||{zzyzyzzz{|{|{{{{z{zyzzy{z{{z{||{{zzz{yzz{z{{z{{zzzzzyzzyy{zy{{z{zzyyyyyyzz{yyy{zzyyyzzyyzyzzyzz{yyzyzzyzzzzzzz{zyyzyyyzyzzz{zz{|yyyzxyzy{zzzzz{z{yyyzyyzyzzzzz{yy{zzzzyyzyzzzzzzzyyyyyyyzzzzyyzzyzyz{xzyz{zzz{zzyzzzyyxzyzyzzzz{zyyyzyyyz{zz{z{yyzyyyyyxyzzy{zz{zyzzyzyyyyzz{{zzzyyyyzyyyz{zzzy{{{yyzyzz{zzzz{z{yyzzyzzyzz{yz{z{zzyyyzyzzzzz{|zz{zyyzyzyy{zz{{zzzzzzyyzy{|zzzzz{{zzzzyyz{z{{{z{{zzzy{yzzz|{{|z{{zz{zzz{{{z{{{z{|zzzzzzyz{z{{z{{z{zz{{zzz{|z{{{||zzzzz{{zzz{|{{z|{zzzzzzz{{z{{z{|zz{z{zyz|{{{z{{{|yz{zzzzzzzz{{{||zzzz{zzz{y|{{{{zzzzzy{{z{z{z{|{{z{zyzyy{zz{z{z{{z{zzzyz{z{z{yy{zzyzyyyyyyyzzz{zzyxyzzyzzz{z{zz{{zyzyzzy{zz{zz{{{yyyzyyzyz{{yzz{zzzzyyzyyzzzz{z|yyzxzzyz{{zzzyzz{yzyzzyyzyy{yzz{yyyzzyyxzyyzzzy{xxzyyzyyz{zyzzzzzyxzxyyzyzzzz{zzyzzyzyzzzzz{z{{zyxyzzyyyzzzzzzz{yzyzyzzyyzzzzzzzzzyxyzzzzzzzzz{zzxzy{yzzyzzzzzyyyzzyyzzyzzy{zz{{{z{zyyzzzzz{z{{{z{z{yzzyz{z|zyz{zzzzzyyzz{{{{z{{z{zyyzzz{{zzz{|z|zzzzzzz{z{{z{z{z{{{zzzz{{z{z|{z{yy{zzzz{{{{{{zz{zzzz{zy{{{{z{{{zz{zz{{z{|{{{|{{{zzz{{{zz|z|{{|{{{z{zz{{|z{z{{{z{{z{{z{z{{{zzz{||zzyzzz{{zz{{{{|zzyyyyzzz{zzz{{{{zzzz{zz{{{{z{{{zz{y{zzzzzzz{{zzzyzyyyzyzz{yz{{zzzyyyyyzzzz{yy{{zzzyyyzyyzzz{{z{zzzzyzzyzzz{z{|zzzzxzyzyzyzzyzyzzzyzzyyzy{zz{{zyyzzyzzyzz{y{zz{yyyzyzzyyy{y{yz{yzzzyzzzzz{{z{y{yyzyzzzyzzyzy{zz{|z{zxyyzyyyzzz{{zzyyyzzyzy{zzzz{zzyyyz{yyyzzzzz{zyzyzzyyy{{{{z{{zzzxzyzyzzz{{{z{zz{yzyzz{z{{z{|{zyyzzzzzzz{z{{{{zyzzzzzzzz{{{zzz{{{zzzzyzz{yz{{{{zzzzyzzz{{z{{{{z{zyz{zz{|{|z{{{z{z{zz{{{{{|{{{{{zzzzzzzy{zz{||{{zzz{zz{z{{{{{{{{zzzzz{z||z|{|{{{zzzzzz{{|{{{z{{{z{|zz{{{zzzz|{{{{zzz{{{{zzz{z}{|{{zz|zz|{|{{{{{z{zzz|{{z{{{z|||{{zzzyzyzz{zy{{{zzzz{zzy{z|z{z{{zzzyyyzyzz{zzzz{yz{zyyzzzyzz{z|{{zyxzzzzzzz{{{{{zzzzzzyzzzyz{yz{zzzyyzyxzzzyzz{{zzyxzzzxz{zzzz{zzyzzzxzyyzzzy{z{zyyxyyyzzyzzzzy{yzzyzzyyzzzzzz{z{yzyyyzyyz{yzz{{zz{zzyzyzzzz{z{{zzzzyzzyzzzzzzz{yzzyzxzyyzzzz{zyzz{zzzyyzz{{{y{{zyyzyxzyzzzzy{z{zzyzzyyyzzzzzz{{zyzzzzzyz{zz{z{{{zy{zyyyzz{{z{{{zzyyzzyyzzzzy{{z{yzz{zzz{{{{{zzzzzzzyz{zzzz{{|{{z{zzzz{z{z{{{{{{zzzzzzzy|zzz|||{|zzzzz{{z{{z{{{{zzzzz{z|{{{z{|{{zz|zzz{z||{{{{|}zzzzzzzz{zz|{{z{zz{zz{yz{{{{z{{{zzzz{zzz{{|{z{z{zzzyzyzz{{zz{{{{z{{zyzzzzz{{{{{zzz{yzyzyz{zz{yyzzx{yyzyyz{zzzzz{yzzzzyzyz{z|zz{|zzzzyzyyzzzyz{zzyzyyyyxyzzy{yzz{zzyyyyyy{z{{{yzzzyyyzzyzzzzzz{zy{yyyzyyyyzzyzzzyzyzxyzxyzyzzy{zzyyyyyyyyzz{yzz{zzzyyyzyyyzzzzzy{yzzzyzzzyyz{{zzzzzzyy{yzzzz{zzzzzzyyyyzyz{yzyzzzzzzxyyyzzz{zzyzyzx{yyzzzyzz{z|zzzzyyyyzz{zzzzz{zzyzzyyyzzzz{z{{{{zzyzyyzz{z{{{z{zzzyzzyzz{zzy{{zzzz{zzyy{zzzz{{{{zz{zzzz{{{{z{{|z{yz|{z{|{z{{{|{zzz{zzyyzz|{{z{{zyzzyzzz|z{z||z{zzzz{zzz{{z{{{{{|zz{z{zz{{{{{{{{{zzzz{zz|z{|{{z|{z{z{zzz{{z{z{z|z{zz{zz{|{yz|{{|{zyz{zzy{{z{z{||zzzyzzzz{{{zzz{|zzyzzyyzz{zz{{z{yyzzyyyyz{zzzzz{zyy{yyzzyzz{{zyzyzzyzyzzz{zzzz{zzzzzyyzzzzzzyzz{zzzzzyyz{zzzzzy{zyyyzyzzzzzyzz{zzzzyzzyzzz{zzzzyyzzyyzzz{yz{zzzzzyzzzzyzy{zyzzz{zzzyzzyyzzyz{zz{zzyzzyyyzzzzzz{|zyyzyyzyz{zyyzzzzx{zyyzyyzzzzzyzy{zzyyyzzz{z{zz|zyzzzyzzzzzzzzz{z{zyyzyzzzz{{z{{zzzyzzzz{{|{{{{{zz{zzyzzzz{{zz{{z{zyzzyzyz{z{{{z{zzz{zz{z{{{zz{z{z{{{zyzz{|{{{{|{{zzzy{z{{{|{z{{zz{yz{zzzz{{|z|z{z{{zz{{{{{{{{{|{z{z{{{{{{z|{|{z{zz{z{zzz{{{{{{{{z{zz{{{{{z{{{|{z{{zzz{zz{{|{{{{|zz{{zzzz{z{{{{{z{zzzzzz{{z{{{{{{zzzz{z{z|{{zz{zzyzzzyyy{z{{{zz{yyzzzzzy{zzyzzzzzyzyyzyyzzyzzz{zzzyyyzyyzzyyzzz{zzzzzzzzyz{yzyzzzzyxyzzxyzz{z{z{yyyyyzzzzzzyyz{{zyzyyzyyzzz{z{zzzz{zyzyyyzyzz{zzyyzxyzyxz{{zzzzyzyzyyzyzy{{zzzzzzzzzyyzyzzzz|y{{zyyyyyyyzzzz{zzzyzyyyyyxzzzzyzz{zyyzyzzyzz{zz{{{yyyyzyzzz{z{zz{{{yzzyzyyzz{z{zz{zzzyyy{yzzzzz{zzyz{z{yzyzz{yy{z{zzzzzyyyz{{z{z{zzzyzzzzzz{{zz{zzzzzyzzyz{|z{{z{z{zzz{zzz|zzz{{{{|zz{zyzz{z{z{|{{{yyz{zzy{||zz{||zzzz{zz{{{{z{{{{{zzzz{zzz|{{{{|{{z{{z{{zz{{{z{|{|zz{{zzz{z{z{{{{{yz{zzzzzz{z|{|{yzzy{zzzz{|zz{{{{{zzz{zzz{z{z{{z{zzzzyyz{{zz{z{zyzyyyyyxzyzyzzzz{zzzyyxyzy{{{zzzyzyzyzyyyy{zzz{{zzzxzzzzzzzzzyz{yyzyyyyyzzyz{zzzzyzyyyyzzz{yz{yzzyyzyxyy{yzzzzz{{yzzxyyyzzzz{{zzyyzyzyyzy{zzz{{zzyyyxzyyyyzy{zz{zyyywzzyy{z{z{{{zzyzzyzzyzzzy{zzzzyyyzzyxzzzzzyzzyzzzyyz{yy{zz{{yyzyzyzy{{zzzzzz{xzyzyzzz{{{zzzzyyzzyyzzzzz{z{{{zyzz{yyyyz{zz{{zzzzyzzyy{{{zz{{{{yzz{zyzzyz{zz{zy{zzyzyy{z{z{{{{zzzz{zzzzy{z{{{{z{y{zy{zz{{{{y{zzz{z{zzy{|{{z{{|{yzzzz{zz{{{zz{||zyzzzzz{{z{z{{{|zz{yzzy{{z{{{{{{zy{{zzzz{|zz{{||yz{zz{zz{z{{{|{zzzzzzzzy{|z{z{z{yzzzzzzy{z{{{{zzzzzzyyyzz{{{yy{yyzyxzyyzzyzyzzzzyzyzyyz{{zzz{{z{yyyyzzzzyzzz{zzyyzzzyyzyzzzzz{{|yyyyyyy{{zz{zz{yzyzy{zyy{zyzz{zyyyzyyyzyzzzzzzz{yyyzzzyyzxzzyz{yyzyzyzzyzz{zzz{yzzzyyzyzyz{zzzzzzzyyyyzz{z{yz|yzyyyzyyzzzzzzzz{zzyyyyyxzzzyy{zz{zzzzyzzzzzzz{{z{zyzyyzyyzz{{zz|zzyzzyyzzz{zz{{{yzzyzzyz{{{{z{{z{zzzzzzzyzzzz{zz{zzzzyzyzzzzz||zzyy{{zzzzzzzz{zz|zzy{zzz{zzzz{|zyz{yzyzz{{z|z|{{|zzzzzzyzz{{{{{{zz{z{zzz{z{z{{{|zyzzz{zzzzz{z{z{|yzzzzz{{{{{{|{{{zzzzz{{{{{{||{||zzyz{yz{{{zz{{{zzz{y{yzz{y{|{z{zzzzyzy{{{{{zzzzzz{zzzzz{{z{|z{zzzyyzzyyz{zzzzzzzyxyyyyxyzzzzyy{yyzxyzzyzzz{zzzzzyxyyyzzzzyxzzzyzy{xzyzyzyzyyyzzzyyyyyyyyyyyzz{{yzzyxyyzzz{zzzzyyxzxxxyyzyzzyz{zyyyyzyyzzzzyyyzyyyyyyzzyyzzzz{zzyzzyyzyyzzzyz{zzzzyzyy{yyzz{yzzzzyzyyyyyyzzzzzzzzzyzyxyzxzyzyzzzyyyzyyzyyzy{zz{zyyzyzyyyzz{yzzy|zyyzyyzzzzyzyz{{yzyzyyzyzz{z{z{zzz{{yyzzy{zz{{zzzzyyzyyzyz{z{yzyzyzz{y{z{zzyzzz{{yyzzyzzyzz{zz{{zyzyzzzzy{z{zz{{{yyzyzzz{{|{z{zz|yy{zzyzz{{z{{{{z{zzzz{zyzz{z{{{|{zyy{{z{{zzzzzzzzzz{z{yz{{{{|{zzzzzzyzzz{{{|{{{zzzzy{yzzzz{z{z|z{zzzzy{zzzzzz{{zzyyzyyyz{zz{zzzzzzzzzzy{{z{zzzyyzzyyyyzzyzzzzzzyzzyyyzzyzzy{zzzzzyyyzzzzzzzy{zzzxzzyzyzzyzzzzzyzyzxyyzy{zyzzzz{zzyyzyyxzz{zzzzzzyyyzzzyzy{yy{yyyyzzyzyzzyyzzzzzyyyyyxyyzzzyz{yzzzyyxzyyzzzzzzyzzzzyyzyyzzyzy{zz{yyzyzyyyzzzzz{{z{xzyyyxxyzyyzzzyyyyyyzyzz|zyz{zzzzxyyyzy|yz{zzzzyzzxyyyzz{zzz{zz{zyyzzy{{zzzz{{{yzyzyyzy{zzz{zzzyyzyyzz{y{zzzzzzz{yzzyzzz{zzz{z{zzzzzyzy{z|{{z{zzzzz{zz{|y{z{{|z{zz{zyyz{{{{{{zzz{zzzzz{z{y|||{zy{xy{zzz{{z{{{{{zzzz{{z{{|{{{|{|zzzzzzz{{{{{z{z{zzzzzyzz{zzz|{{z{zzz{zz{{z{{{{{zzyyzzzzzz{{{{{zz{zzz{zy{{{{z{{zzyzz{yyyzzy{zzzyzyyyzyzyy{{zzzyzzzzyyyzyzyyz{zz{zyyzzzyzzyyzzzz|zyyxzyyyzzzzzyzzzzyyzzzyzzzzyy{zyyyyzyyxy|{zzz{zyyyzyyzyz{{zyzzzzzzyxyxyzzyzyzzzxzzxyyyzzzzzzyzyyzyyyzxyzyzzzzyzzz{yxyzyzzzzzzz{zzzyyyzyzz{yz{zzyyzyyyyyzzzyz{zzyyzyzzzyzzzyz{zzzyyzzzzyzyzzyzzz{yzyzy{zzzzzz{{zzzyyzyzyzz{z{z{{zyzz{zzyz{{{y{zzz{zyyzyyz{{yz{|zzyyz{zyz{zz{{z{{zzzzzzyzyz{z{{{zzzzz{z{zz{{{{{{|{yzzzzzyz{z||{|{{zzyzzzyz{|z{{||zzz{zzzz{{{z{|{z{zzzzzz{{{{zz{{z{y{z{{zzz{z{{|{z{yz{zzzzzzzz|{{{z{{{zyzz{zz{z{|zzy{y{yzzz{{{z{{|zz{zzyyzz{z{{zzzzyzzyy{yzz{z{{{zzyxyyzzyz{yyz{{{zyzyzyzzzzzz{{{{{yzyzyyy{zzz{{{y{yzyzzyyzzz{zz{zzzywyxzyzzzz{{zzyyyyzyzzyzzyzzz{zzyzyyyyzzzyy{zzyzyyzzzy{zzy{yz{zzyyzyzy{zz{zz{zzyyyxyzyzyzz{z{zzyyyzzzyzzz{zzz{zyzxzyyyyzzzzzzzxyzyzyyzzzzzy{yzzzyzyzyyyyz|zz{{zzyzzz{zzzzzz{|{{yzzzzzzzzz{{z{|yzzyzyyz{z{zz{{zzzzyzz{z{z{{z{{zzyzyzzyyzz{z{{{{zyzzzyzyzzz{z|z{zzzzzzyz{|y{{{|zyzzyzzz{{zz{{|{{zzzzyz{yzz|z{|{{zzz{zyzz{{z{{{{{{z{{y{{zz{{{{{|{zz{{zz{zz|z{{{||{{{zz{z{{{{zz{{{zyyz{{zz{{zzz{{{|zz{zzy{z{z{{{z{{{z{zzz{z{{{{{|}{z{{zzzzz{z{z{|zzzyzzz{zz{{{{z{{yyzyzzyxzz{zyz{{zzyyzyxyzz{z{{{{{xzyzyyy{zyzzyzzzzz{yzyzzzz{zz{zz{zxyzzzzzzzzzz{yyzzzzzy{zyzz{{zzzzyzyyzzzzyzy{{zyzyyyyzyzy{z{y{zyyyyzyyyz{zz{zzzyyzzyyy{zzzzyyzzzzyyzzyzzz{zz{{yzyyyzzyzzzyy{{{zzyyyyzyzzzzz{zzyxyyzyzyz{zzz{{|zzyzyyzyzz{zz{{{zy{zzyyyzzzyzz{{zzzyyzzzzyzzzzy{yzyzyyzzz{z{z{{{zz{yzxyyz{{zzz{{zzy{{zz{z{{{{z{{zzzzz{zz{{z{zz{{zz{zzz{{zz{{z{{{yzzzz{zzz{{z{{|{{zzzzzzy{{{{z|{{z{zzzz{{z{zz|z{|{zzzz{{zz{{{{z{{{zzz{z{{{{z{{{{{{yzzzzz{y{z{{{|{{zzy{zz{z{z{{{{{{zyyzy{yy{z|{|{{zzzzzzzyz{{{zz{{zz{zzzzzzzzzzz{{{yyzzzyzz{z{zyz{zzxyyzzz{zyyy{z{zyzyyyzz{zzz{{{{zzzzzyyzz{{zzzz{zzzyzyzy{yzzz{y{yzzyxyzyyzzzzz{{{zyzzyyyz{{yz{zzzzzzzzyzzzz{zz{zzxyzzzzyyzzz{zzzz{yzzyyz{zzz{zzzz{yzyyyzy{{{zzzzyz{yyyyxzzzzzz{z{zxzzyzzzzyzz{{{zzzzz{zz{{zzz{z{zzzzzy{z{zz{z{{{zzzzzxzz{yz{yzz{zzzzyyzyzzzz{{{{zz{zzzzyz{{z{{z{zy{zyy{z{{|{{z{{{yzyzzzzz{z{{{|{z{zzz{zzzz||{{z{zzzz{z{zz|{|z{|{zzzzzzzz{{{{{{{zzyz{z{{{{|{z|{z|zz{zz{zzy{{{{|z|z{z{{{{z{|{{{|{|{z{zzz{z{{z{{|{{zzz{zzz{{z{|{{|{{{z{zz{{zz{|z|||zzzy{yzz{zz{{{{{{zzzzz{z{{{z{{{{{zzy{yzz{{{{{yz{yzyyyzyzy{{{zzz{yzyzzyzyz{zyyz{zyy{yyyyyzzy{z{zzzzyyzyzzzzzzyyzz{zzzyzzxzzzyyzzzzyyyyyyxz{{yzzzzyzzzyzyzy{zzyyzzzzzyyzyyzyzzzzzzyzyyzyyyy{zzzzzzzyzzyzzyzz{yz{yzzyzyyyzxzy{zzz{zzzyyzyxzyzzxyzyzzyyyzzz{zyyyy{yzzzzyyzyxyzzzzzzzy{y{zyyzzzzz{{zzz{zzyy{yz{zzz{z{zyzzyyz{yzz{{{zzzyzxzxyyz{zzz{z{yzyyyyyxzzzzzz{{yzzzzyyz{{{zyz{zzzzzyyyyz{{{{{{|zzzz{z{y{{z{{z{{zyzyzzyy{zz{{|z{{y{zyzzzz{|{z{{|{zz{{{{zz{z{{{z{|zzzzzzz{{{{{z{{z{zzyzz{{z{z{{{{{y{z{zzz{z{{{z{{{{zzz{{{{zz|{|{{{zzyz{zzz{z{{{z{{{zyyyzyz{zzzz{zyyzzzzzz{z{z{zyzyzyzyzxz{zzzy{{zyyyyxzyzzzzzz{{zxzyxyzyyyzzzz{{{yyy{zyzzzyz{yz{zyyzxyyxyzz{{yzz{zzzyyzyyyz{zyzzzzzyyzyyzzzzyyzz{yyzzxyzyyyzzzz{zyyxyyyyyyzz{yz{zzyyyyzyyyzzzzzzzzyzyyyzzzzzzyzzzzyxxzyyyyyzzyzzzzzyzyyzyyyzzz{{zzzzyz{zyyy{zz{zzyzyzzzxyz{zzzz|yyzyzyy{yzzyz{z{zzzyzzyzy{z{zzz{zzyz{{yzzzzyzz{z{zzzyz{yyzzz{{z{{{zzzyzzzzzzzz{z{zzzzyzzz{{z{{{z{zz{zzzzzzzz{z{|{zzzzzyyy{{|z{z{zzzzz{z{z{{zz{{{{zz{zzz{yz|z{{{{{zzzz{{{zz{{{z|{z{z{zzy{z{{zzz{{{zzyzzzyzzzzz{{|{{zzzzy{z{{z{{{{|{zzy{zzz{zzz{{{zzzzzzzzzzzz{{zz{zzzzzyzzzzz{zzzzzzyxzzyxz{zzzyz{yzyzzyyyzyzz{zzzyyyyzzzxzzyzzzzzzzyzyxyyzzzzzz{{zyyyyyyyzzyz{{z{yyzzxyzxyz{zyzzyzzzyxxyyzzzyzzz{{{{zyzzyzyyyyyy{yzyxzyyyyzz{zzzzzyyyyyxzyyzzzyyzzzyyyyyyzyzzzyzzzyzyyyyyzyxzyzzyyzzyyxyyyyyzz{zzxyzyyzyyzzz{zz{zzyyyyzzzzz{zzzz{z{zyyyxyzzzzy{{zzyyyzyyy{{zzz{zzzzzzyzyzzzzz{{zzzzzyzzz{z{{zz{|zzzz{yzzzy{zzz{z{zyy{zzz{z{zzzz{{yzzz{zzx{z{{zz{{zz{{zzzy{z{{zz{{{y{yzzyz{|{zz{{{{zzzz{{z{{{{zz|{{zz{yzzzz{z|{|z{{{zzzzyz{zzz{zz{zyzzzzz{{{{{zz{|y{z{{z{{{{{{|z{{zzzzzzyzzzzzz{|z|zzzyzyzzzz{zz{zyzz{z{zz{zz{zzzzyywzzzzzzzzyzzzzyyzzzyzzzzzyz{{zzyyyyyyyy{yyyzz{zzyyzyyzzzzzzz{{zyzyyyyyyzzzz{z{yyyyzyxyzzzzyyz{zzzyzyxyzzzyzzzzyyzyyzyxyzyzzyz{yyzyyxxy{zzyzzzzzyyzzxyyzyyzz{zyyyyzxyyzzz{zzz{zyyyxyzwzyzyzyzzyzyzxyyzyyzzyzzz{yzxyzyzyzzzzyz{zzyxxzyyzyzzyyzz{zyzzzyzzz{z{z{z{yyzxzyzz{z{yz{zzzzyzzyyzyzzzz{{zyzzyzzyyz{{z{y{zzxzyyyyz{z{{zzzzzzzz{{yyz{z{{{{zzzzzzyzzz{z{z{{{zzzzzzzxy|zz{{{zzyzy{zzy{{|zz{{{zzyy{z{zzz{|{{{z{{zzzy{zz{{|{{z|{z{{zyzz{zz{{z{{{yzz{zzz|{{{z{z|{zyzzzzzz{zz{{{{yyyyzzzyy{zzzz{|zzzzyyzzzz{{{zz{zyzyzyzz{{{zz{yzzzzyzyyyzzyzy{z{yzzyyyzzz{zzz{zz{zzyyzzyz{{{z{{zyyzyyzzz{zz|zzz{yzyzxyyyzz{{z{z{zzyzzyyyyz{yzzzzyyyyzyzzzzzyyzyyyzyyzzyyzzz{yzzzzyyyzyyzyzzz{zz{zyyyzyyyzzz{z{zzzzzyzyyyzzyzyzz{yyyzyyzyy{yyz{zyyzzyzyyzyz{zy{z{zyzzz{yzzzzz{z{{y{zzyyyzz{|y{{zzzzzyzyzz{zzz{{z|zzyzxzzx{zz{{{zzzzz{zzzy{{z{z{zzzzzyyzzzzz{z{{|zzz{zzzyzzzz{{{zz{{zzzz{z{z{{||z{{z{z{{{zzz{yz{z{{{z{z{zz{{{|zz{{{y{z{z{z{}|{z{{{zz{zzz{{{{z{{z{z{zzz{zzy{|z{{||{{z{zzz{{z{{{{|{{{{z{{zz{{z{{{{z|z{{{z{z|{{{z|{{{{{{zzzzz{{zzy{|{zzzzzzyyz{{||{z|zz{{zy{z{zz{zz{{yzyyyzzyz{{yyzz{zyxyyzyzzzyzz{zyzzxyyyyxyzzz{{zzzzyzyyzyyzzzzy{{zzyzzyyyyz{{zyz{yyyyyyyyzzyyzzzzzyzzzyyyzyzzzzzzzyyyyyyzzzyzz{zzzyyyyxxyzzyzz{yyyzzyz{yzyzyyzz{zzzyyxyzzzzzzzyzzyyxyyyyzzzyzyzzzyzyzzzzxyzzyzzzzyyzyyzyz{zzyz{zzzzzyzyzyzy{zzzz{zy{yzy{yzzyyz{{{zyyyyyyy{z{{yz{yzzzyzzz{zzzzzzz{zzzyzzyzzz{zz{zy{zzzzyyz{z{zy{z{{zzz{{zyz{z{z{{{zzzz{zzy{{z{{{z|zzzzzyyzzz{{z{{{zzyzzyyzz{z{{{{|zzz{zz{zz{zz{z{{{zyzyz{{zz{{{{|{z{zzzyzz|{{{{{zzz{{{zzy{z{yzz{{|zzzz{zzz{zz{zz{{zyzzzyzzz{z{z{{z{zzz{{zzy{z{zz{{zzzzyyzzzz{zzy{zyzyzyyzyyzzzzzzzyyyzzxyzzzzzzzzzzzyyyyzzzyzy{zzz{xz{yzyyyzzzzzzz{{yyzzzyyzzzz{zzzzzyzyzyy{{zzzzzy{zzzzyzy{zzz{{yzyzzyzzyzzzyzzzyzyy{yyzzzzyzzzzzzyyyzzy{zzzyz{{zzzyzyzzyyz{{yz{{yzzyyyyzzzzzyzz{zzyyzzyzyzzz{{|{yz{yyzzy{zzz{z{{{zyyyyzzz{zzz{zzzyzzzyzzz{z{zz{{zzzzyzzyzz{z{zz{{zyzyzzyz{|z|{|zzzzyzzzzzz{yzz{{zyzyzz{{{{zzzz{{zzyz{yzyzz{zz|z{zzzzyy{y{{{{|z{|{{z{zz{{z{z{{z{||zz{zzyz{{z{{{{{{zzzz{zzz{{{{{{{{zzzzzz{{||{z{|{{z{{zzzy{{z{z{{{{zz{zzzz{zz{{{|{{{z{zzz{|{{{{{{{zzzyzzzzz{zzz{|{{z{zz{zyy{zz{z{zzy{zzzyz{z{{{{{zzxzzyzxzy{zzzzzyyzyyyyyyzzz{z{z{zyyxyzyyzzzyz{z{{yyyyxyyzz{zzzzzzzyyzzzyyzzyz{zzzyzzyy{yz{zzy{zy{yzyzyzyzz{yzy{zyyyyzzzyyyyzzzyzyyyzxyyyyzzzz{{zyxzyyzzy{z{{z{zzyzyzyzyyz{{zzzzzyyyzzxyyyzyzyzzzzyzzyyyyy{yzz{zzzyzyyxyyzzzzzzzzzzyzzyyz{zzz{zzzzzzzzyzzzyy{zz{yzzzzyyzzzzz{{zz{{yzzyyzzz{zz{z{zzz{zzyyz{{z{{z{{yyzzzyzyy{zzz{z{{yzzzzzz{yz{{{zzyzzyzyzzyzy{{{{{zzz{zyzz{{{{{{{{{{zzzzyz{||{{{z{yzz{{zzz{{{{{{z{{zz{{zyyz|{{{|z{{z{{zzz{zz{zzz{{{yyzz{zy{zz{z|{{{{z{{zyz{{{{z{{{zzzzzz{z{{{{z{|{{z{zzzzz{z{{z{zzyzzz{zzz{zz{{zyzyzxzzzzyzzz{zyzz{zyyzxyzzz{zzzz|zzzxzzyyzzzyzzzzyzzyzzzyzyyzz{{zyyzzyyzzzzzzzzz{yzzyzzzyzzyyzzzyzzyyyzzyzzzyz{zzyyyxxzyyzyzzyyzzyyzzyyzzzyyxzz{y{yzyyyyzz{zzzzz{yyzzyyzyyyzzyz|zyzzzzyzzy{zyyzzzyyyzyzyyzzzyzzz{yzzyyyzzyzzz{zzzyyzy{yyyzz|zzzz{yyzyyyzzz{zzz{{zzyzzyyzzzyyzz{z{zyzy{yyzy{{{{z{{zzzzyyyz{z{z{zzz{zzyzyyz{{{{y{{{zzzyyzyy{{zzz{{zzyzyyzzz{zz{zy{{zyz{yyzyz{{{{z{z{yzzz{zz{{{{{{{|zy{zz{z{{{zz|{{{{z{{zyzzz{z{z{zz{z{yyzzzzz{{zzzz{zzzzzzz{z{z{{{{zzz{{zz{zzz{z||{zyzyzzz{{{z{|{{z{zyzy{yzz{{{z{{{yzzyyyzyzzzzzzzzyzyyyyyyzzzyzz{zzzyxzyxzzzzyy{z{zyyyyyzz{zzzz{{zzzzyzxyyyz{zyz{yyyyzxyxzzyzyyzyz{yzzyzyzz{yzzzzz{yzyyyxyzzzzzzzyyzxxzzyz{yzy{zzzyyyyyyyyxzzyyz{zyzyyxzyzyz{zz{zzyyyzyzyyyyyzzzz{zzzzyyzxzyyyzzxyzyzxzyzyy{yzz{z{zyyyyzyyz{{zzzzzzyzyxyzyy{zzzzzzyyzyyyzz{z{{zzy{yzzyyyyyz{{zyz{zyyzy{yyzyz{zz{{zz{zzzyyzzz{z{zzzz{yyzyz{zzzyz{{z|zzyyyyzzzz|{{|zzyyyzzzy{{z{{{{|zzyzyzyyz{{{{{|z{yzzzzzy{|{{{{{{zz|zzz{z{|z{{{{{zzzyzz{z{|yz{|{{zzzzzyz{z{{zz{{z{zzzzzzz|z{{{{{{{|yz{zz|{{{{{{{{}zzzyzyzz{zzyz{{{yzzyyz{{zzzz{zzzzzyzxyy{zzyyzz{yzyzyyzxyz{y{zz{{xzzyzyyzzz{z{zzzyxxyzy{zzzz{zzzyyzzyyyxzy{{zz{zzzzzzyzy{zzzy{{z{y{xxyyz{{yzyzzzzyyyzyyzyyz{y|z{zyyyyzzyyzz{zz{zzyyzzyyzzyzzz{zzzy{yyyyyzzzzyzz{yzzzyzxyyz{zzz{zyzzzxzyyzzzzzzzzyz{xyzyyzzzzz{{zzyyyzzyyzzz{z{{z{yyzzzzzzzzyz{{{zzzyyyz{zyyzzzzzzzzyyzyz{z{||z{{zzzzzyyyzzzzz{zzzzzzzzyyzy{{zz{zz{zzzzzyzz|zy{{{{zzyzz{zzz{{{{{{zzzzzzzy{zz|z{{|zzz{{yzzzz{{{z{z{z{{y{zzz{{{{{z{{zzzyz{zz{|z|{z{|zzzzz{z{|y{z{{{{zzzzzzz|{{zz{|{{zz{zyzzzzz{|{{{|{{{z{zy{{{{{{||zzyyzz|y{{yzz{{|zzy{zzyzz{{{{{{z{zzzzzz{{zzzz{zzzzzzyyzxzz{z|zz{yzyzyzxyyyzzz{{zzyzyyyyyzzzz{zy{zyyzy{yxzzz{zzzyzyyyyx{zzyzzyzz{zyzzzzzyxzzyyzzzzzyyyyyyz{zyy{zy{zzyyyyzyzyzzzzzzyzyxyyxzzzzyyzzzyzyzyyyzyyzzzzzyzzzyzyyyzzyzz{yyzzyyyzyyzzzzzzzyyxzzyyyzyzzzzzzyyyzzzxzyzyzyzz{zyzyyyyyzzzy{{zzyxzzzyzyy{zzz{zzzyzzyzyzzz{zz{z{zyyzzzyyzzzz{z{z{zzzyxzzzz{zzy{{zzzzyzzyz{|zzzz{zzzzzyyyzz{{{{{zz{{zzzzz|{z{{zz{zzyzzzzzz{z|{{{z{zy{{y{z{{{{|{{zz{zzzy{{z{{zz|zzz{yzzzzzz{{{z||zzyzyz{zz{{zz{{{zzzz{zzz{{{z{|{{{{{zyzzzz{{z{{{|{zzzyzzzzzzz{z{|{zzzzzyzyz{z|z{{zyzzzyyzzz{{{zzzzyzyyyyyyy{zzzz{zyyxyyzxxzyzzz{zzzyzzyyzyzy{{z{{zzyyyyyy{y{zzyzzzyz{zyyyyzyyzzyzzzyyyyyyxxyyzy{zzzyzyzyy{zzy{zzzzyzyzyyyx{zyzzzzzyzxyyyyxyzzzyyzzzyyyxyxyyzzzzzzzzyyyyxyzy{yyyz|zzzzy{yyyyyzyzzzyzyzyyyyzz{zzzyzzzzzyyyyyzzz{yzzzzyyyzyzyzzzzzzzzzyyzyyzyyz{z{zzzyyzyzzyyz{{yyz{zzz{yzxzzzzz{z{zzzyzyzyzyzz{zzzzzyyyzyzzz{z{zz|z{zzyzzzyzz{z{z{{zzyzzzzzzzz{{{z{{zzzzzyzzz{z|{z{zz{zzyyzz{{{zzz{{{z{zzzz{yz{z{z{z{zzzz{zyz{{{{{{{{zzzzyzzz|zz{z{{zyyzzy{{z{zz{|{{{zzyzz{zz{z{{{z{zz{zzzzzzzzzz|{{y{zzyzzzz{y{zzz{zzyzzyyzzzz{{zzzzzxzyyyxy{yzyzzzzzyzyyyzzyzz{{zzzyyzzzzy{{zyzz{zxyzzyzyyz{y{zzzzzzzzxxzy{zzyzzzzyxzyyyyyzzyzyz{zzyyyyxyzyzzzzzzyyzzyyzyyyyzyzzzzyyyyyyyxyzyzzzzzzyzzxyyzyzzzzyzz{zyyyzyyyzz{zz{{zyzzyzzyyzxyyzzzzxzzyyzzzzzzzzyzzyzyzzzyyzzyz{|zyyzyyzzy{{zzzzzzyyyzyyyyzzzzzzzzyzyzyzyz{zzzzz{{{z{zzyzyz{{z{zzzyyzzy{zzzz{z{{{zyz{zzyzzzzzzz{{zyz{yzyyyz{{{{{z{zzzz{yzzzzz{{zzzzyzyyzzy{||z{{{{{yzz{zzz{z{{{z{|{y{z{{{{{{{{{|{z{{yzzzzzz{{{{{{{{yz{yzz{z{{zz{{{{zz{{zzzzy{{z{|{z{zzyzyy{{{{{{zz{{zyy{zyz{{{z{{zzzyyzy{zzzz{{{zzz{yzzyzyz{zzy{zzyzxzyyzxzzzzyyzzyyxzxyyyyzzzzz{zzyyyyzzx{yzzzzzzzyyyzyyzyyyzzyz{zyyxyzzyyyzzy{zzyyzzyyzxy{zyyzzzzxyyxyyyzzy{zzzyyy{zzyzyyzzyzy{zyyyxyxxyyyyzzy{xyyy{zzzyzyzzzyy{zyzyxzyxzyzz{z{zyzyyyyyxzzzyyzzyzzyyyzyzxyyyzyzzzzyyyzzyzyzzzzz{zyxy{yyzzz{yzzzzzyzzxzzzyz{zz{zzxzzzyyzz{zz{{zzzz{zyzyyzzz{zzzzzzyzyzyyzzzzzzy{{zzzyzyyzzzzzy{y{zzzyy{yyz{{{{{z{y{{{zzzz{zz{{{zzzzy{yyzzz{z{|z|zzyyzzyzz{{zzz|{{zzzzz{{{z{y{|{{z{{zz{{zzzzz{z|{y{zyzzzzz{zzzz{{z{yzzzzzzz{{zz{{|zzzyzy{z{zz{z{{zz{zyyzzzzz{{{z{{zzzzzzzyyzzzz{{zzzzzzzzyzzzzyzyzyyzyzyzyzzzzz{z{yzyzywzyzyzzzz{{yyzxyyxyzyzzzzzzzyyyyyyzy{{yyyzzyyyyyzyyz{y{zyz{{zyyxy{xzzzzzzzzzzyyyzyyzzzzy{zyyyyyyyyyyyzzzzzzyxyyyxyyyzyzyyzyzy{yyzyyyzzyzy{zzzzyyzyyzzy{yzzzzxyzzyyyyzyzz{zz{yzyxzyzzzzzz{{zzyxzyyyyzzzzzzzz{yzzzxyyzzyzzz{{yyz{yzzzzyzyzyzzzyzyyyzzzzz{zz{zzzyyxyzzzz{zzzz{zzzyzyzyzzzzzz{{zxzyyzyyz{zz{zz{z{zzyzyzzzyzzz{zyzzzzzzzz{z{yz{{{y{{zyzyzzyz{{{{{y{zzyzz{{{z{{{zzzzyzz{z{{zz{{{{{zyzzzzzz|{z{{{zzyzzzzzz{zz|z|{{zzy{zyzzz{z{zzz{zzyzzzzyz{z{z{{{zz{zzzzzzz{{{{{z{yyzzzzyz{{zz{{zyyzyyyyy{z{zy{zzzyzzzyxzz{{zyz{zyzyxyyxzzzzzy{z{zzyyzzyyyzzz{{zzyyyzyyzy{zz{y{{zz{yyyyxyzzy{yzz{yyzzzx{yzzzzz{{{yz{yzyyxz{yzzzzzyyyyzzyx{y{{zzz{xzzyyyzyzzyzzy{zzyxzyyyzyzzz{{z{zyyyyzyyzzz{zz{zzyyzyyyyyzzzz{z{{yyzyyyyyzzzzz{zyyyyyyzzzzz{zzzzzzzzzzzyy{zy{{{|zy{zyxzyzy{zzzzzzzzzzxzyz{{z{|y{{zzyzyzzz{{{z{{zzzzzzyzyzz{z{zzzzyxzzzyz{{zz{{zzzzzzzzyz{{{{{z{zzyz{zzzz{{z{{zzzzzzzzyzz{{z{{{{{{zyzzzzz{|{z{z|{zyzzz{{{z{{{z{{zzzzzzyzzz|{{{{|{{{z{zz{z{{{{{{{{{yzzz{zz{{{{{{||zzy{{zyz{{zz{{{{zz{zzyzy{z{z{{z{{zzz{zzz{{z{y{{yyyzzzyzyz{zzz{z{yxzxxyzzyzzyzz{zyzyzzyyzz{zzz{zzzzzyzyyzzyzzzz{{yyzzyyyzzzzzzz{{zzyxzzyxzyzz{zz{yxyyzyzyyzzzyz{zzzzyzzyzzz{yy{zyzyzyyxyzxzzzyzyzyzyyzyyyzzyzz{{zyyyzxzzzzyzyzzyyzzzzxyyzzz{zzz{{zyyyyyyzy{zyyz{{zzzzzyxyz{zzzzzzzz{zz{yyz{z{zzzz{zyyyxyzz|{{yy{zzzyyyzzzzzzzz{{{yyzzyyyyzzz{{{{zzzzzzyyyyz{{z{{{{yzzzyyyz{zzzzzzzyzzzyzzyzzzz{z{zyzy{z{z{{{{{{z{{{y{zz{yzz{{{{z{zzyzzyzz{|{{{z|{{zyzzzzy{{z|z{{{zzzz{{{zz{zzz|z{{zyzyz{z{{{zz{{{{x{z{yz{zzzz|{{{zzzzy{zz{z{|{z{||zzz{zzz{yz|zz{{zzzzzzyzz{{{z|{{{zyzyzzzyz{{y{zzy{zzzyzyz{zzzyzzxyyyyyyyzzzzzzyzzzyyyzyyzzzzz{{zzyyyyzzyzzyzzzz{yyyyzzyyzyzzyzz{yzyxzyzxzzzyyzzzyxyyyxyxy{yyzzzzyyzyyxyyzzzyzzyyyyzyyyyxyzzzyzzzxxyxyyzxzyyyyyzyzzyyyyxyyyzy{zzzzzzyyxxxzzzzyzyzyyyzyzzyzzzzz{zzyyyyzyyzyzzyyzzzyyyyyzyyyzzz{z{zzxzyyzyzy{zz{{zzyzzzyyyyzyyyyzzzyz{zyyxzzzzy{z{zzzyyyyzzz{z{z{zzzzyyyzzyzz{zyzzyzzzyzzyyz{{zzzzzyzzyzyyzzzz{yzz{yzyzzzzz{{y{z{{{zyzzzxyzz{{z|{{zzzzzzzzzzy{z{{|zzyzzyzzzz{z{y{{z{yyyxzzz{{z{{{z{{{yzzzy{z{{{z{zzzyzz{zzyz{{zzz|{{yzzyzzzz{z{zzz|{zzzyyzyz{zzzz{|{{z{{{yz{{y{yzyzzyzzxyyzz{|zyzyzyyyyyyzxzzzzzy{zyzyzyyyyzz{yz{{zzzyyzyzyzzyyzz{zzzyyyzyyyy{{zzz{zzyyyyzy{{zzzzz{zyxxyyyyyz{{yzzzzzyyzyyxzzyzy{yzyyxzzyyyyyyzzyyzyzxzxyxzz{zzzzzzyyyyyyxyzz{y{zy{zxz{xyxxyyzzyzz{yzyzyyyxyyyzzzzzyyzyyyzyyzzyyy{zzyzyyzxzzzzzzz{zyxxz{xzzyz{{{{y{{zzyyxyy{{{z{z{{zyzyyyy{zz{zzz{{{yzyzyzyzzzyzzzzzyzzzzyyzz{zz{{{zzzyzxyyz{{zz|{zy{zyzyzy{zzz{zz{zzy{zzyzzzz{z{|{zy{{zyyz{{{zz{z{{yzx{y{z{{{{z{|{z{zzz{z{yzzzzz{zzzzzzzzyz{{{zz{zzzyzyzzzzzzzz{zzzyyzzzzz{z{{zzz{{zzz{z{y{z{{{{{{zzzz{{yzzzzz{{{{{z{{zzzzz{zz{{{zzy{yyyzzzyzz{zzyyy{yyyyxzz{yzzzzyzzyyyyzyzzz{zz{zyzxzyyzzy{zzzzzzyyyyzyyyzzzzz{{zzzyyzzyzzzz{zzzzxzyyzzyyzzyyzzzyzzzzzyzzzzzzzzzzyyyzyyzzzy{z{{zyzzyzzyzzzzyyzz{zyxyyyyyzzzyz{zyyyzzyyzyyzzzy{zzyyzzyyyyzyzzzyyzyyzyyzzyyzyzzzz{xyzy{zzyz|zz{z{zzyzzzyyzyzzzzzz{zyy{zyzzzzz{zz{zzyyyyz{zzzz{zyzyzzyyyyzyzz{z{{yzyyyyyzzzyz{{{zzzzzzzz{xyz{z{zz{{{{y{zzzzzzyz{z{{yzyzzz{yyz{{zz{{zyzzzzzy{{{z{{{{zzyzzyzzzz{zz{{|zzzyz{{zzzz{z{z{{yzxzzzzz|{z{|{zzzzzyyzzzz{{z{{zzzyzz{zz{z{{{{{{zzzzzzyzz{z{{{{{zyzz{yzz{{{z{z|zz{y{yzyyz{zzz{{z{zyyyyyyyy{zz{z{zyyyyzyyyyzyzzzzyyyxyzzyzzzzz{{zyzzyyzyyzzz{zz{zyzyzzyzy{zzzzzyyzzzyzyyyzzzzyzy{zyzzxyyyyzyzyyzyyzxzz{zyyzzyyzyzyyzyyyyzzz{yy{zzxyyyyzzzzzyzzyzyzyyyzyyxyyzzyzz{zzzzzzzyyxzzyz|zzyyyyyyyyyzzzzzyzzyzzyyyz{zzxzz{zyz{zzyyzzzyzzzyzyxzyyzyzz{yzyz{zy{zzyzzz{z{zzzzzz{zzyxz{zzz{zzz{zyyyy{zyzzyz{{{yzyyyyzyzy{zzz{z{zzz{zyzzzzyzzz{{zzzzzxzz{{z{{yz{zzzzzzz{zzy{{||{yyzyyyy{{{z{{{{zyyz{{zy{{z{{z{{{zzzzzzzz{zz{{|{zzzzy{zz{{z{{|{{{zzzzy{z{zz{{z{zzz{yzyyzzz{zz{{{zzyyzz{z{yzy{{{zz{zyyyzzzz{zz{{{{yyzyzzzz{z{zzzy{zzxzyzzzz{{zzzyyyyyyyyyyyzyzzzzyzyzyyyyyz{zz{{zzxyyyyyyzzzyzz{yyxyyyyxyyy{yyyzzzyzyyyyyzzzzzyzzyyyyxyyxyzzyyzzyzxzyyyyyyyzzyzzyyxyyyyyyyzz{zzzyzyyxyyxyzyzyyzz{yyzyyxyxzyzyyzyzyyyzyyyyyzzzzzzzyyxxyyyyzyzyyzzzyzyxyyxyyzyzz{zyyzyxzyzxzyzz{z{zzyyxyyyyyzzzz{zzyyzyyxzyzz{z{{zzyyyzyzzxyz{zzzzyzyyyyyyyy{zzy{zzyyyyzzyxzzzyz{{{zyzyyzzyz{zzyzzzyyzzzzyzzy{zz{{zyzyzzzzy{zz{zzzzzyxz{yyzzz{yz{z{{yzzz{zy{{|zz{{{zzzyzz{z{zz{{{zz{zzzyzzzz{z{zy{{zzzzzzz{{z|{zzzz{zzyzyyzzz{zzz{{{zzyzzyzzzz{{zz{yzyyzzzxz{z{zz{{{zzzyyyyzz{{{y{{zyzxxzyzzyzzzzyzzyxzyyzyzzzxyzyzzyyyzxzzyyzyzz{zyyyyyyyxzyz{zzz{yyyxyyyxyzz{yxz{xzzxyxzxzyzzyzzzyzyyyzzxyzzyzzzyzyyxyyyzzzzzzyzzyyyxyxzyzzzyzzzzzxyxzyyyyyz{z{z{yyyzxzyyyyyzzzz{zyyxyxxxyyyzzyzzzyyyzyyyy{zyzzzzyzyzyzzyzzyzzyyzyxzyyzzzzy{{y{z{y{{yzyyyzzyzzzzzyyzyyyyyzyzzzyzzzzyzyyyyzz{z{zz{yyyyyyzxyy{{{{yz|zyyzyyyzzzzzz{yzzzzzzzyz|y{zz{yzzzyyyyzzzz{zz{zyzzyz{zzzz{zz{z{zyzz{yzyz{zz{zzzzzzzzyzzz{z{{z{{zyyzyyzzzz{zy{{{{{zzy{z{{{y|{{{{{yz{zzz{zz{zz{zzzzzzy{{zz{yzzz{zzzzy{yyzzzz{zzz{zzyzzyzzy{zz{z{zzzy{zzyyy{{zzzzzzzzyzzyyzzzzyzyzxxyyyyxyyzzxzy{zzyzyzyzyzzy{zz{zzzzyzzyxzxzyzzzzyyzyyyxyzzzzzzzzzzzyxyyxzyzzyzz{zyzyyyyyyzzyxz{yzzyyxyyyzyyzz{zyyyyxxzxyxyzz{zzzyyyxzyyyyyzzzyzyzxyyxyyzyzyzyyzzyzyxxyxyyyzyyzzzyzyxyzzyyzyzyzz{yyzyyyxyzzzyzzzzyxzyzyyzzzyzz{{{zyyyzyyzzzyzzzz{zyyzzzyyz{zzz{zzzzyyyyyyzzzzzy{{z{yyzyxyy{zz{zz{{zyy{zzyzzzzzz{zzzzyzzyzyz{zz{zzzzzzyzyzzz|z{z{z{zzyzzzz{{zyz{z|y{zzzyyz{zzzzz{z{zzzzzzzz|zz{{{{zyzyyzzz{{z{{{{|zzzyzzzz{{{z{{{{yyzyzzzz{{z{|{{z{zzzzzzz{{z{z{zzz{zzz{zzz{zzzy{{{zzyzyyyz{z{z{{z{yzyzyzyzz{zzyz{zzyzzyyyz{zz{zzzyyzzxyyyyzzyzzzzzyyyyyyx{zzzyzz{zyyzyzyxyyzzyzzzzzyzyyyyzzzzzyy{yxzyzyzxzzzzzz{zzy{xzzyxzyzyyzyyyyzyyyyzyyzz{yyyyyzzyyyyyyyzzzzzzyzyzyzxzyyzzzzzzyxyyzyzzzzyzzyyyyyyyyyyzyyyzzz{zzyyyyxyyzzyzy{zzyyzyyyyzyz{yz{zyyzyzy{yzz{yy{{zzyyxzxyzzzzyzz{zzzzzzzyyzyzzyzz{y{yzyzzyz{{yzzzzyzzyzyzyzz{zzzzzzzyzyyzzzz{{y{{{zyy{zyzzz{zzz{zz{zzzzzyy{z{{{{{zzzyzzzzzzz{{{{{{yzzzzzzyzz{{{z{{{zyzzzzz{|{zz{{|zzzzz{y{y{{{{z{z{y{zzz{z{{{{{zz|zz{zzzzzz{zzzz{zzy{zz{y{zzz{z{z|{{zzz{y{{zz{{{z{yzzz{zzyzzzy{{z{zzyzyzyyyzz|z{{{yyyyyxzyzzzzz{zzzzyyyyyyyzzzzz{zzyyzzyyyzyzyz{{{zz{yyzyyyyyzz{{zzyzzyzyyzzyzzz{{zzzzyyzy{zzzzzz{zyzzzyzyzz{zzzzz{zzzyxzy{y{zyzzzzzyxyyzzyzz{z{y{yyyyyyyyzzzzyz{{yyyzyzyyyzzyyzzzzyzyyyyyzz{zzz{{zzzyzyzyyzyyz{zxzzzyyyyzz{zzzz{zzyzxzyyzyyzz{z{zzyyyyyyyzzzzzzy{zyzyyyzy{zzzzzzz{yzyzzyz{zz{z{zyyy{zyyzzzz{{z{z{zyzzyyzy{zzzzzz{{zzzzzzy{z{zz{{zzzyz{zzzzz{{{||{zzz{{zz{{zz{z{{zzz{{zzyz{{z{{z{z{zz{yzz{|||{|{z{zz{zyyz{z{yz{z{{{z{zyz{zz{{z||{{{z{z{zz{z{z{z{{|{z{yyzzyy{{{{{|{z{zzzzzz{{{|{|{{{zzy{zzzzz{zz{{{{zzz{z{z{z{{z{{{zzzyzzzyzz{z{{zzzzyzzzyxz{zyzy{{yyyyyyzzzzzz{z{|zzzyyyyyzyzzz{yzzyyyyyyxzz{{zz{yyzyyyyyyzzz{zzz{zyzyyzyyzzzyz{zzzzzyyyyyzzzyzzzyzyyyyzyzzzz{zzzzzyyyzyyyzzzzyzzzzzyyzyxyzyzzz{zzzzzyyzyzz{z{z{zzzyzzyyzyzz{yzzzzzzzyyyyzyz{zz{zzyyzzzzyzzyzzz{yzzyyzyzzyzzyzzzz{zyzyyyyyz{yz{zz{yyyyzzyy{y{zzzzzzz{zzxzyy{{zzz{{zzzzyy{zzzzz{{{|zz{zyyz{zz{z{{zzzzyzyyzzzz|{{{{{z{{zzzzzzz{z{|{{zzz{zzzyz||z{{|{zy{zzzzy{z{z{{|{z{{zyz{zz{{|{{z{{zzz{{z{z|{{{{{{{{zzz{z{z|{{zz{{yzzz{yz{{{|{z|{{{z{zzzzzz{{|z{{|z{zzy{zzz{{z{{{zzzzyzyzzz{{{|{zz{zzyzzzzzzz{y{z{yyyyyyyzy{yzyzzzyyzxyxzyz{zzzz{zzzyyzyyyzzzyzz{z{yxyyzzy{zz{zy{zzy{yyzzxzzzzzzzyzyzyyyzyzzzyy{zyzyzyzyzyz{zzzyzzzzyyyyyyyzzzzzzyzyyyyyzzzzzzxzzyyyzzyxyxzz{zyzzyzzzzxyyxzzzz{y||yyyzyyyyyzzzzzyzyzzyzyzyzzyzz{{yzyzyzzzyyyzz{zyzzzyyzyyyz{z{zzzzzzzyyzz{z{z{z{z{yyyyyyyzzz{z{{zzyzyyzzzyzzzzz{{{zyzzzzyzz{zz{z{zzyyzzzzyz{{yzz{z{yzzyz{zz{{{{z{{yzzzyyzz{{{{{zz{zyzzzyyz{z{zz{{{{zy{yy{z{{|{{{{{zz{zy{z{z{{z{|zz|zyzzy{yz{z{{{{|{zy{zzzz{z|zzz{{{zzzzyzzzz{z{z{|{zzz{{{z|{z|{|{{zyzzy{zz{{z{{z{{{zyzyzzzzzzz{z{zzzyyz{zyzzzzzyzzyzyyyxxyzzzzzyzzzyyzzyzyzzz{zzz|yxyyyyzxzzzzzyzzzzyyxzzyzzyzzzzzzyyyyzzyzyzyzzzzzyzxyyyzyzzzyyzzzyyyyzxzzzyzzyzzzz{yyyxyzyzzyzxzyyyxyyzzzzzzzzyyzyyyyzyzyyzzyzzyyxyyyyyyyzyzzyzzyzyyyxzyxzyzz{zzzzxyzyyyyzzzz{zzzzzzz{zyzyyzzzzzzyzyzyzxzzzzzyzzyxzzyzzyzyy{zz{{zzzzyyyxzzzzzz{zyzyzzz{yyyzzzzzzyzyyyzzy{{{zz{zzzyzyzxzzz{zzz{z{{zy{zzzzz|{z|{{zyzzzzyzz{zzzz{{{yzzzzyxyz{zz{{{{zyzyzz{yz|z{{z{{{yyyzz{zzzz{{{{{{zzzzzy{{||z{{{z{z{zyyyz{z{{z{z{{zzyzyyzzzyz{|{{zz{{{zzz{z{{z|z{{yyy{zzy{{zz{{zzz|zzyzyzz{z{zy{{zyzyzyyy{zzzzzy{yzyzxyyyyz{zzzzzzzyzxyyyyzzy{z{{zzyyyyzy{{yzzz{yyzzyyyxyzzzzzyz{zyzyyzzyyzzzzzz{yzyzyyyyy{{yyzzzzyzzzzyyyy{zzz{yyyzyyyyyzzzyzzzzzyyyzyyyzyzzyzzzyyzzxyyyy{{z{yzz{yzzyyzxyyyyzy{zzzxyzzyyyyyzyzzzyxzyzyyyzzyzzzzyzyyyyzyyz{zzzzzzzzxy{yzyzzzy{{{zzyzyzyyzzzzzy|{zyzzyzyzzyyz{{z{{yzyyzyyxyzz{yzz{zyyzzyzz{zzzz{zz{yzyzzyyz{z{z{yz{yzzyxyyz{z{z{z{zyzzyzzzz{z{|zz{zzzzzzzy{{{|{z{{{yyy{zzz{z{zz{|{zzzzz{{{z{zz{|{|{zy{z{zzz{z{{y{zyzz{zyxy{z{zz{{{{zzzzzz{{{zz{{{{zzzy{yzz{zzz{{{{zzzzzzzzyz{z{{|{{zzyzzyzz{{z{z{{z{yzx{xzzz{z{{yzzyzyxxyxyzzy{yzzzzyyyyzzzzzzzzzzyzxyyyyz{z{z{zzzzxzzyxyyyyzzzzyyzyxyyyzxyzyz{zzzxyyxyyxxxyzzyyyyzyyyyyzy{yzyyyzzyyyxyyyyzzzzzzzzyyyzyyyyzxyyyyzxzyyyxyyyyyzzy{zzyyyyyzyxyyyzzzzzyyyxyzyxzyyzyzzzzyzxyyyyyyyzzz{zzyzyzzyyyyz{zzzzyyyyzyyyzzzzyzzzyyzyyyzyxzzzy{yzzyzzzzyyzz{zzz{{xyzzyzyyy{zz{zyzyzzyzyxyyzzzzyzzzyyyyyyzz{yzz{{zzzyyzzzzz{{{zzzzyyzzzzyzzzzzzz{{zyzzzzzyzzzy{{{zzyyzzzyx{{zyzzz{zyzzz{yzz{z{y{z{zyzyzzy{{{{|z{z{{y{yzzy{{yz{{{{zzyzzzyz{z{zz{{{{{zzz{zzz{zzzzz{{zzyyzzyzz{z{{|{{zzyzyyyzz{zzzzzzzy{yzyzyzzzyzyz{yyzzxyyzzyzzyz{yyyzzyzyyzzzzy{yzy{yyyzxyyy{yzz{zzzzzzxyyzzzzyy{zzyxyxzzxzzzzz{yzzzyyyzyyyyyzzzyzzzyyyyyzyyyyzz{zzzzzyxyyyzyzyzzzyyzxzzzyyz{yz{zzyyyyyyyyzzzy{zzyyzyzyyyyzz{zz{z{yzyzzyyyyzzyyzzzyyyyyxyyyzyzyzzzzzyyx{yyyyz{z{{zzyzyyyxyzzy{zzzzxzy{zyzzzzz{zzy{zyzzzzyyzzzyz{zzzyyzyzyxyzzz{zzzzzyzzzyxzz{zyzzz{yxyzyzzz{zzy{zzz{zzyyyy{zzzz{{zzzzyzzyz{z{{{z{{{yzyyyyzz|{z{zz{zyyyzyzy{{zzzz|{zzzzz{zz{{zz{{{{{zzzyzzz{{{{z{{z{yzzzzzy{yy{zz|zzyyzzzz{z{z{zz|zzzz{{zz{zz{{|z{{{{zzzzzzzz{{{z{{{zzyy{zz{{z{{{{zyyzzzyyyyzzz{zyzyyxzyxzxyzzyz{zzyzyyyyyyzyzzz{zzzzyzwyyyyyzzzz{zyyzxyyzzzyzyyzzzzyxxyxzxyyzyzzzzyyyyyzyyyzzxzzzy{zyyyyxyzzzyyzzzyyzzxyxzyzzzyyzzxyzxyyxxzyzyzzzzyx{yyzyyxyyzzzzzyyzzyyyyyyzyyzzzyxzzxxyyyzyxzyyzyyzyyzxzzzyzzzzyzyzyyyzyzyyyyz{zyyyyyyyzzyzzzzzzzyyzyxxyzzz{zzzyzyxzzyyzyz{zyz{zzzyzyyzyyzzzz{zzyzyyyxxzyzzzzy{yzzyzyyzyyzzzzzzyyxyzyyyy{zz{z{zyyyzyz{zyzzyzz{z{{zyzyyxz{z{{|{{{zyzzyzzy{|zzz{{{zzzyyz{zzz{{z|{|zyzzzzzyz{z{z{{|zyzzzyzz{zz{z{{z{zzzyyyzz{{{z{{{{zyzzz{zzzzy{{z|{zzz{zzzzz{zzzz{zzyzzyyzzzy{zz{zzy{yyyyxzzzzzzyzzyxyzyyyzzyyzz{zyyzyyzyzzzyy{zz{zyyyyzyyzzyzyy{{yyzyzyyyzz{yzyz{{zyxyyzyyzy{yzz{yyyyyyzyyzzzyyz{yyzyyyyyyyzyxyzzyyxyyzyzzyyzyzzzxyzxyyyyyzy{yzzzyxyyxxyyyyzzyzzzyyzyxxxyy{zzzzzyyyyyyyyyzyzyyz{zyyyyzxzyzzzyyzyyzzzyyyyyzzyzyz{zyzzyzyyyzzzx{zzyzyzyzyzyzyzzzz{zzzzyyxyyyzzzzzz{zzzyyxzyzyzzz{yzzyzyzyxyzz{yzzzzzzzzzzzzzzz{zzzzzzyzyzyy{{z{{z{{z{zz{{zzzz{zzzzzzyzzzyzyz{{z{{z{zzzzy{{zz{zzz{{zyyyyz{z{z{z{z{{|{yy{y{zyz|z{{{{zzzzzzyy{{|{z{{{z{zzzyzyz{zzz{{{|{zyzzzz{z{zzzy{{zzzyzzzyy{zzzz|zzzyzzzyzy{z{y{{zzzyyzyzyz{zz{zzyyyyyyyyyyz{zzzyzyyyyyzzzzyy{zzzzzzyyyyzxzyz{zyzzzyzyyzyyyy{zzyzzyzyyyxyyyzy{z{zzzzyxyxyyzzzzzy{{yyzxzyzyzzyxyyzyzyxyyzyyzzyyzyzzyyyyyyyxzzyzzyyzyyyxyyyyzyzzyzzz{yzyyyyyyzzzyz{zyyzyyxzyzzyyyzyzzzzyyxyyyzyzzzzzzzzyzyyyzyzzzy{y{yzyyyxyzy{zyz{zyyyzyyyyyyyyyz{zzzzzzzzyzxyz{zz{yyxzyxyy{zzzyzzyzyzzzyyyz{{z{zzz{zyyyzyzzzzzzz|{zyzyzyyyy{z{{{{|zzzzy{zz{zz{z{z{{zzzzyzy{{{{{zzzzzzzzy{y{{{{zz{{zy{y{yzzzzyzz{zzzyzzz{zzz{{{zz{z{zzyzyyy{z{{{{z|zzzzzzz{{{{zz|z|{zzzzzyz{z{{{{z{zyzzyzyzz{z{z{{{zzzzzyzyy{z{yzz{zyyxzyyy{xzzzz{yyzyyyyzyyzzyyzzzzyxyzyzzzzzz{zz{{zzzyzzyy{z{zz{{zzyzyyxzzzzzyzzzyyyyyzyzzzyzy{z{yyzyzzzyyzyzzyzzyyzyzyyyzyzyyzzyyzzxyyyy{yzzyzyzyyyyzyyyyzzzzyzzzyzzyyyyy{yzzzzzzzyyxzyzyzzzzzzzyyyyzxzyzzyyzyyzzyyyyyyyzzyyzz{yyyzzxyzxyyzyzy{zzyyyyyzy{{zzz{zzyzzyzyzzzyzzzz{zyyzyyyyyzyzzz{z{y{zz{yzyz{{zzzzyzzzzyzyyy{zzzzzzzzz{zyyz{{zz{{{{zzzzzzzz{{{{{z|{zyyzzzzzy{z|{{{{zz{yyzzyzzzz{y{zzyyzzz{z{{{{z{{{zyzz{z{zy{{z|{{{{zzz{zzzz{{z|zz{zzzzzzzz{zz{{z|z{zyz{yzz{{|{{{|{{zzzzzy{{zz{{{{{zzyyz{zy{{yzz{zzz{yzyyyzzzzzy|zzy{zyzyyyzzzzz{z{zxyyxyyyyz{yyzzzyzyyyyyzyzzzzzzzyzyyzyyyzzyzyzz{zyyyzyyxzzz{yzzzzyyyyzzxzzzzyzzzzyyyyzyxyyzyzz{yzxzzzyyzyy{zzzzzyyyyxyzyzyy{yyzzyxyyzyzyzzzzz{zyyyxyyxxzz{yyyzzyzyyxxxyyzyzyzzzzzyzyzxzyyyyyzzyz{yyyyyyzyzx{y{z{yyzyyxyyyzzzzyyzyyzyyyzyyz{z|zz{yyzzyyxzzzzzzz{zyzzyyxyyzzzzzz{zyyzyyx{yy{{{{zzzzx{yxyyyzz{zzz{z{zzzzyyyz{{zzz|zyzzzzzzzzzz{z{{{yyzyzz|yzyzzzz{{yzzzyzzzz|zzz{zzzyzzyzyzz{z{zzz{yzz{zzzzzz{{|{z|z{zzyzzzzzz{z{{{zzzyzzyzz{{z{{{{{zz{zzz{zzzzz{{zzzyzzzzz{{z{{{{{zzzzzzzzz{{z|z{{zzyzyzzyzz{z{z{zyyzzyyyyy{zzyz{yyyzyyyzzyz{yz{z{{zyzyyyyyzyyzz{zzzzyzyyzzzzzzzzzzyzxzzzyyzzzzy{{zzzxyyyyyzzzzzz{yzyyyyyyyzzzzzzyzxzyyzyyzz{zyzz{zyyzzyzyzzzzyyzzyxyyzyyxzyyzyy{zyyyyyzzzyz{{{zzzyyzyzxzyyzzzzzzzyzyyyyzyzzyyy{yzyyzyzyyxyyyzz{{yzyzzzyzy{yzyzzz{zzyyzxzyzzzzyzzzyyzzyyzzzzzzzzy{zyyyyz{yy{yz{z{zyyyzzzyyz{{{z{zzzyzzyyyzzyyzzz{zzzzzyyyzzzzzz{zy{{yzzzzz{z{{{{{{zz{zzyzzz{z{zz{{zzzzzzyzzz{zz{zzzyzzzyzz{z{z{{{{zzzzzz{zz{z{z{zz{yyzzzzy{z{z{{{{{z{|{{zz{{{|zzz{zyyzz{y{zzz{z{{{zzz{{zzzzzz{{zz{zyzz{zzzy{zz{{{|zyzyzzzzzz{z{z{{zzzy{yzyz{zzz{{zyzzyyyyyyyzyzzzyyzyyyyyxzzzzz{{zyzyyyzyyzzzz{y{zyzyyyxyyzzzyyzzzzyyxxyyxyzzy{zzzyyyyzyyyyyyzzzzzyyxyxyyyzyzyyyzzyyyyzyxzzyzzyyzzyyyyxxyyzzzzyzzyyyyyyyxzzzzzyyzzxyzxyyyyyyyy{yy{zyzyyyyyyyzyyyzyzzyyyzyyyzzyzzzzyzyyyyxy{z{yyzzzzyzxyzzyzzzzzzzzzzzyxzzzzzzzzyzzyxzyyzyyzy{|zy{zzzyzyyyy{{zzz{zzzyyyzzzyzzzyz{zzzzyzzzzyzzzz{z{zyyzzzyxyzzzz{{{{zy{zyyzz{{zzzz{zyyzz{zyz{{zz{z{{{y{y{z{zzz{y{{zzyyzzy{{zzz{{{{{{zzyzzzz{z{{z{z{z{zz{zzyzzz{z{z{{{yzzyy{zzzzzzz{{{zzyy{yzzz{z|{{|zyzyzzyzzz{z{z{{zyz{zzzyzzy|zyzzzz{yzyxyz{zzz{zzyyyyyyzyzzzyzyzz{zyyyyyzzz{zzzzzzyyzyzzyz{zzzzz{yyzyyzzzz{y{zz{{yzzxyzyyzzyzzzyzzzzyxzzxz{{zz{zyzzxyyzyyxyzyzzzzzyyyyyyzzzyzzyzzyzyyyyy{yzyzzz{yyzzzzyxzyyzyyzz{yyzyxyxyzyzzz{z{yyyyyyzyzzyzyyzzzyyyzyzyz{zzzzz{zyzzz{yzzzyyzz{zyzyyzyzyzzzzz{{{zyzzyzyyz{zzz{{zzyz{yzzyzzzz{zzzzzyyyzzyyz{{z{{{zzyzzzzzz{zzz{{zzyzzyzyyzy{zzzzzzzzzzzyyy|{{{|{{zz{zzzyy{{z{zzz{zzzzyzzyz{z{z{{z{yzzzyzz{{{z{zzz{zzzzz{y{z{{{{{{zzyyzyzzz{{{{{z{zz{z{zzz{z{{{{z{{xzzyzyzzyzzzzz{{{zzz{z{{zzz{{z{{zzy{zzz{|zz{zz{{{zzzzyyz{z{zzzz{{zxzzyyzzz{{yzzyyyyyxxyzyzzyzzzzyzzyxyzy{zz{z{{yzyxyyx{z{{zzy{zyyzyy{yzy{zzzyzzzzyyyy{yzzzzy{zzyyyxyyyyxz{yyzzzzyyyzyyxzzzyzzyzzyzxyyyzzzzzzzz{xzyyzyyyyzzzzzzzzzzyyzxzzzyzyz{{zyyyxyyyzyzzyyz{yyyyyyzxxyzzyzyyzyyyzyyzyyzzyz{{zyyyyzyyyzz{zzzzyyzyyyyyzzyyz{{|zzzzyyzzzzzz{yzzyzyyyzyzz{zz{zzyzzzzzzyyzzz{y{zyzyzzyzzxzzyy{{zzzxzyzzyzzzzzy{{zzyzzzzzzzzz{y{{{yzzz{yz{{{zz{z{{|zzyyyzyzz{zzz{z{y{zyyzy{{zz{{|{zz{yz{|z{{zzy{zz{yzzzzzyz{{{zz{{{yzyzz{yz{{{z{{{zyzzzzz{{zy{{z{|{zzzzzzyzz|{zz{|zzyzy{yy{z{zzzz{z{z{zyzzz{z{{{{zzy{yyyyyyzy{z{y{yyxyyxzyxzzzzzz{zzyyyyzyzz{zzz{zyzzyyzyy{yzyzzzzyzyxyyyxzz{yyzzzz{yyxzyyzzzzyzzzzzyyyxzyzzzzyzzz{yxzxxyzzzzzzzzzzyzyxzyzyzy{yzz{yyyyyyxzyzzyzzzzzyyyzyyzyzzyzzzzyzyyxyyyyzyzzzzzzyyyyyyzzzyyyzzyzzzyyzzyxyzyyzyzzyxyzzyxzzzyzzzzyyyzyyxxyzyzzzz{zyzyyyzzzzzzy{zzyyzxzzyzyzzzzz{{yzzyzxyyz{zzz{zzzyyyzzyy{{{yyz{zzyzzzyzyzyzzzzzzzzzy{zzzzzy{{zz{zyzyzzzzzz{{zz{{zyz|{zyyz|z{{zzz{yy{zzzzz{zzz|{{zzyyz{zz{{{{{zz{|zzyzzzzz{{{z{{{zyzzyzzy{z{z|{z{zzy{zzzzyz{z{zz{{zyz{zzz{y|zzzz{zzyzzzzy{zzz{z{zzyyzyy{z{{zzzy{zyy{yzzzyzzzzzyz{yyyxzzyyzzzzzzz{zzzyyxyyzzyyzzz{zx{yyxyyzyzzy{{yzyzyzzyyy{zzz{zzzzyxyzyxzyzyxyz{zyzyzyyzyzzyzzzzzzyyyxyyyyzyy{yzzyyyyzyyyzzzzyzzzyyyyzyyy{zy{zyzyzyyyxxxyzzxzzzzyxzyxzzyxzzzzzzzyxyyzyzxyyzzyyzyzzxyzzzyyyzzzzyzzxyyzzxyzz{zzz{zyyyyzyyzzzzyy{{zzzzzyzyzxyyzzzyzzyzzyyyyzzzzz{z{yyzzyyzyyyzzzzzzzyyyzzzzz{zzy{{{zzzzx{yyz{zzz{{zzzzz{zyz{z{{zz{zzzzzzzzy{zz{zz{|yxy{zyyy{y{|{{zzzzzzzz{z{z{z{z{zyzzzz{zz{{zzz{z|zyzzzzzzz{|{{z{{{yy{yzxz|{{zyz{z{yzzzzzyz{z{{{{{zzzzzzzz{{zz{{{|zzzzyyzyy{zzyz{{zzzyyzzyz{z{zzz{yy{zzyyx{z{zzzzzyzyxzyyxyyzyyzz{yzzyyxzxyzzz{z{{{zzyyyyyyzzzyzzzyzzyzyyyzxzzzzzzzyxzxzzy{zyzz{{{zyyyyxyyyzzzyzzyzyyzyyyyzyzzzy{zyyzzyyyyyz{zyzzzyyyyzzzxyyzzzzzzzzzyxyyyyy{zyz{zyzyyxyyyyyzyz{zzyzyyyyyyzzyyyxyz{zzzyyyxy{yzy{zzyyzzyxyyyzzyzzz{zzyzzxyyzyzyzzz{yyzzyyzzzzzzyz{zyzzzzyzyzzzzzzzzyzzy{zzyyzzyzzz{zzzyyyzyz{{{yz{zzzzyzyzzy{zzzzzzzzyy{zyzyzz{{{z{yz{zyzzz{{zz{{z{zyzzzzyz{{{yz{z{zzzzzzyzz{z{{z{zz{zxz{{zz{{{{z|zzyyyyzyz{{yzz{{yzzzzzyyzz{{{{{{z{zzyzyz{zzzzzz{z{z{{zzzzz{z{{zz{{{yzzzyzzzz{{zz{zyzzyyyzzz{{zz{{yz{yyyyzzyyyzyyzxyxyzxyyyzzzzzyyyyyyyyyyzyzyzzzzzyyyyzyxyzzzzyzzyyyyzzyy{zyzzy{zzyyyyxyyyzyyyzz{zzyzyzyyyzzyxzzzyyzyyyxyyy{yzyzzyyyxyyyyzyyyyzzzyyyyyxyyzzzyyzzzzyxyxyyxz{zzyzzyzyyyyzyyyzzyyyz{zyyyyyyyzyzyzzyyxxyxyyyyyyyzyyzzzyyzyyyyyyyzzz{{yzyyyyyyzzzyyyzzyyyyyxzyzzzz{{zzyyyyyzyyzzzyyzzzyzyzyxzyz{zzzzyzyyzzzzyyzz{zyz{{zzzzzyzyyzzyzzz{zzyzzzzzzz{zz{zzzzyzyxyyzzzz{z{zyyyzzyzzzyzzz{{{zy{zzzzyzzzzz{{{zyzzz{{yzzz{zz{zzzy{yzzyz{zz{z{{zyzzzzzyzz{zzzzyzyy{yzzzz{{{{zz|{zyz{yzz{{z{{{{{zzzyzzzzzzzz{{z{zzxyzzzzzz{zzz{zzzyzyzzyyyzzyz{zzzyyyzyyyzyyyyzyzzzyxyyyzz{zzzzzzzyyzyyyy{zyzzzzzyyxyyzxzyyzzyzzyyzyyyyyzyzzzzzzyzzyzzyyyzyyy{zzzxyyyzyyzzzxzzyzyyyyyyyzyyzzz{zyxyzyzyyyyyy{zzzzzyyxzyyzzz{zzzy{zxyyyyyzyy{zzzz{zyyyyzyyyzzzzzyzzzyyyzyyzzyzz{zzyzxyz{zzzzzy{zzyzzyyzyyzyzzzyzz{xyyyyyyzzzzzzz{zzzzzyzyzzyzzzz{zzzyyyzzy{zz{{z{yzyzyyyyzz{{{zz|zyyzzzz{yyzzzzzzzzzzzyzyzz{z{z{zyyzy{{yzzzzzz{z{{yzzzyzyzz{{z{{{z{yzzzzzz{z|zzz{{zzzzzzzzz{{y{{{z{zzyzz{zz|zz{{{|{yzzzyzy{{y{z{z{{z{z{{zzzzz{{{zzzzz{{yyzz|{zyz{{zyzyzyz{yy{z{z{{zyy{yzzzz{zzzz{{zzyzzzzzzz{zzz{zyxzyzyyzyzzzzzzzyyzyyyyyzyzyzzz{zzyzyyzyzzz{zzz{yzyyyyxyyyzzyz{zxyyyyzyxyyzyzyzzyyzyyyzyyyyyyzzzzyzyyxyxzyzyyzzzyyzyyzxzyyyzyzz{yzyyyyzyyzzyzyzyyzyyzyyzzyzzzz{zyz{yyyyyyzzzzzzzyyyzzyzyyz{zzzzyzzyzyyyyyzzzyzzzzyzyzzyyzz{zyy{zyyyzzyzyy{yyyy{{zzyxyyyy{zzzz{zyzzyzyyzzzzyzy{zzzzyzzxzxy|zzzzzyzy{zzyyyzz{zzz{zzyyz{yzz{{z{zyz{yzzyzyyz{{{z{zz{y{zzy{zz{zz{{|{{yzyzyzzzy{z{{z{{{yz{zyyyz{{z{{|zyzzzyz{zzz{{z{z{{z{z{zzzz{zzzzzzzzzy{yzzzzzzz{{|zyyzzyzzzz{{{{{{zzz{{zz{z{z{{{|{{z{yzyyz{{{zzz{z{zyzyzyyy{zzz{z{zzzz{yyzz{zyyzzzzyyzyyywx{{yzyz{yyyyxyyxz{{zz{z{{yzyyzzyzyzz{zzzzxx{yxyyyyzzyzz{zyyyxyyyzyzzzzyzyxzyzzyyxyyyyzyzzyzyyxyyzzzzzyzyzxyyyyyzzzzzyzzzyyyyyxzyzzzzyzzzyyyyzzyxyzz{z|zzyyyyyzyyyzzzyzzzyyxyyyyyyyzyzz{yzzzxxxyxyzyyzyzzyyzyyyyyzzzzzzyz{zzyyyxyzz{{{y{zzzzyyyzzzzzzzzz{yyzyyzzzyzzyzz{zzy{yyxyx{zyzzzz{{yzyzyyzyzz{{zzzzxyzzzyz{zzzz{|zzzzz{{{zzyz{{z{z{zzy{zzzy{z{{{{{z{{zzzyyzzz{{{{{zyzz{zyz{{{{{{{{zz{yyzzz{{{{{|{{zzz{yzz{z{{{zz{{zzzzzyzx{zz{z{{{{zzzyzz{zzz{{y|z{zzz{zy{z{{{{{|{yzzz{y{zz{zz{{zzzzzy{yyzzzz{zyz{z{{yyxzzyzzyzzyzyzyyyyxyyzyzyzy{yzyzyyyxyzzzyzzyyxxyzyxyzzzyyzzzzy{zzyyzyzzzzzz{zyxyxzyxzyz{y{zzyyzyyyzyzzzzyzzyyyyyyyyzyyzyzzzzyxyyzyyyyzyzy{zyzyyxyyyxzzzyyyyzzyxzxzyzzzzyzzzzyyyxxxyxzzyzyyyzzyyyxxyyxzzyzzzzyzyyyxzyy{zyzzzzyyyzzzyyyzyzyz{{zyzyxxyyzzzzzzy{yzyyzyzzz{yzzzz{yyyzyyyy{zzzzzy{yyyyyyzy{z{zz{z{zyyyyxyy{zzzz{{zzzyyyzyyy{zzzzzzzzzy{zyyz{z{zz{yzyyzyyzz{z{{z{zz{zzzyzzzy{{zz{{{{yyzzyyz{{z{zzz{zzzzzzzzzy{{{||zz{zzy{zzz{{{{{z{zzzzz{{z{{zzzzzz{zzzzzzzzzzzzz{{{zzz{zzy{{z{zz|{zyyzzzyzz{y{zz{{zyzyzzzzzzyzy{zz{{zyzyyy{{{yz{yzzyyyxy{xyz{yzzyzyyyyzyyyyzzyzyzzzzyyyyyzyyzyzzzzzyyzyyyzzyzzyzzzyzyyy{yxyzyzyz{{yxxyyxzyyyyyyzzzyxyyyxyyyzzyyzzzzyzyxyxyxzyzzzzzyxzzyyyyyzzy{yzyyxyyxxxyxyyzyyyzyzyyyxyyyyyyyzzzzyzyzyxxzyyzyzzyzyyyyzyyyzyyyz{zxyyyyyyyyyyzzzzzzyzzyyyyzz{zzz{zzyyyzzyyzzyyzy{zzzyzyyzyy{zzzzz{zzyyzxyyy{zzzz{yzyyyyyyzzz{z{{zz{zy{xyyy{yzzzzzz{zzyzzzyzzz{{{{zyzzyzzz{{{yzy{{{zyyyyyzy{{{z{z{{zzzyyz{yz{{{{z{zzyzzyzzzzzzz{{{{{z{zzzzzz{{{{{{{zzyzzyzyz|{yzz{z{yyzz{yyzyzz{{{{z{z{zzz{z{zz{{{zzzzzzyzzzzz{{zz{{zzyzxzzy{zzz{{y{zzyyxyyz{zyxzyzyyyyzyyyyzzzzzyzxyyzxyyyyyzyzzyz{yyzxzyzyyzzzz{zzzyyyyyyyzzzyzzzzzyyxyyyzyzyzzzyxyyyyyyyyzzzzzyyyyyyyyyxyyzyyyzzyzyxzzyyy{zzzzzzyyyyyyyxyzyzyzzzyyyzyzxyzyzyyzzzzyyxyyyzxzy{yzzyzyyyyxyyxzzyyzyzxyyyyyyyyyyzyyzzzyyyyyyxz{zzzzzzzzyxyxyzz{zzzzz{zyzzzyzzzyzyy{zzy{zyzyyyyzzzzzzzzyzzzyzyyz{yz{{zyzzyzzzyy{z{zzzzzzzzyyzyzzyzzzzzyzyyzyyz{zz{zzz{yzzzyzzz{{{{z{{{zzzyzzyy{z{zy{{z{zzyzzzzzzzz{{|zzzzzyzzz{{{{{z{{{zzyz{zzz{{{z{{zzyzz{z{yzzzz{z{zyyyyyzyzz{{zz{|{z{z{zzzy{zzzz{{zzzzzz{yzz{zzz{{zz{yyyzzzzz{{z{{zzzzy{yzzzzzzyzyyzzyyzzyxyzzzyyzzyzyzyyyyzyyyzzzz{zxyzyyzyyzyzzz{yyyyyyzyyzyzzzz{yyyyxxzyzzyyyzyzzyyyxyyyzzzyzzzyzxzyzyyyzzzzyzz{zyyyyzyyyzzz{z{zyxx|yyyyzzyzyyzyyyyzyzyyyzyy{zzyyy{wxyyyyyzzzzyzzzzyyyyyyyyzyzzzyyyxyyyyz{yy{zzyyzzyyyyyzyzzzz{{zyzyyyzxzzxzzzzyyzzzyyyzyzzyz{zzyzzyzzyyzzzzzz{z{zzzzyyy{zz{z{zzyzyyzyzyzzzzz{{{zyyzzyzyyzz{zyz{yzzyzzzyzzz{z{{{zzyzz{zzyzz{zz{{yzyyzyzz{z{{{{{{yzyyz{zyz{zz{{{{zzzzzzzyz{z{{zzz{zzzzzyyz|z{zzz{{y{zzzzyz{y{z{{{{zzzyzyz{zzzz|{{z{z{yzzyy{zz{{|{{zzyyzyzzz{y{{{{z{zyyzzyz{{{{{{zzzyxzyxyzzzzzzyzyyzyzyyxzxyyyzyzzyyyyyxyyz{yz{zzzxyzyzxxzyyzzz{zyzyyzyyyzyyzzzz{yxzyxyxxzzyyzzyzyyyyxxyxyzzzyzyzyyyxyxyyyzzyyzy{yyyyyyxxxyyzzzzzxxyyyyyyyyzzyzzzzyyzzyxyyy{y{yzzyyxyxxyyyzzyy{zzyyyyyyxyyyzyzyzxzyzxyyyyyzyyzz{yyyyzzzxyzyzyzzyzzzyzzyzyzyzzz{z{yyyyxzyzzyzzz{{{yyzyyzzzzyzy{zzzzzyzzyyyzzzz{zzzzxzzzyxyyzzzzzzzyyyzyyyzzzzzy{yzzzzzyyz{{zzz{zz{zzyzzzzyz{{zz{{zzyyzzzzzzz{z{{zz{zz{zyyzz{zyzz{{z{zz{zzyy{zz{z{{{yzzzzzzz{{{{z{{{z{zyzzzyyzz{{yzzyyz{zy{zzzz{{{{{zz{{zzzzzzzz{zz{zyyy{zzy{{zz{zzzzzzzzyyz{z{y{{{yyzzyyzyzz{zyyyzyyyyyyyxy{yzyzyzxyyyxyxyzyzyzzzzzyyyyzyy{zzzzz{{zxyyyyxyzy{zyyz{zzyxzyyxzyzzzzzzxyzyyyyxzzzzzzzzyyyyyxzyyyzyzzz{xyywyyyzzzz{x{yzyyyyyyyyyyzzy{{zzyyyzxxzyyzz{yy{yzzxyyyyzzyyzyzzyzyyyyyyyyzyzzzzyyyxyyyyyzyzyzyzzyzzxzzzzyyyzzzzyyzyyyzyyzz{{yzzz{yyyyyyzzyzzzz{yzzzyyxy{{zyzzzyzzyyzyzzyzzzyzzzzzzyyzyzzzzzzz{yzyyzyzyzzzzzy{z{zzyyyyyyyzzzzz{{yyzyzzyy{z{zzz{{{zyzyxyy{zzzy{yzzyzz{zzyz|zz{z{{y{{yzzzzz{z{y{|{zzyzzyzyz{{zzzzzzzzzzzzyzzy{zzzz{xzzzzzy{zzzzy{zzz{zzzy{zzzz{zzzz{yzzzyyz{zyyz{{zzzzyzyzz{zzz{zyzz{yzyyz{{zyzyyyzyyyywzxyzzy{yzzyzyyyyzyzzzyz{{{zzyyyxzzzzyyzy{zyzzzyzyzzzxzyyz{zzyyyxyyzzyzyzz|yyyyzzyyyzzyyz{zzzzyzzyzzx{zyyyzzzzyyyyyyzyzyzy{zyyyxyyyyzyyz{{zyyzyyyxyzyzzzzzzyyyxyyzyyyzyyzzzyyxyyxxxyzzyyyzyz{yyzzyxyzzyyzz{zzzzz{zy{zzzzyzzxzxzzyyzzzzyzyy{zyyyyyyzzzzzyzzzyyzyyyyzzzzzz{zzzzyzzyz{zzz{z{zzy{zyyyyyzzzzzy{zyz{zyyzyzzzzzzzzyzyyzzzy{z{{z{y{zyyzz{yz{{{zz{{|yzz{zzyy{zz|zz|{zzyzzzzz{{{{zz|{zzzzzz{zz|{zz{{zzyzyy{zzz{{{{{y{{y{zzzyzz{zzz{|z{yzzyzzzzzz{{yz{{zyz{zz{zzz{zzz{zyy{zyyyzzzzy{{z{yyyyzyzzzy{zz{yyz{xzzyyy{yzz{{zxyyxzyyxz{zy{z{{zxyyyyxxyzzz{zzzyzzyzyzyzz{z{zyzzzyzzyzyzzzzyzzyzyyyyyyyzzz{zzzyyxzyzyzxzzyzzyzzyzzyyyyyyzyzy{zzzyxyyyzxyzyzyz{{yyyzxyyyyyzzyzzzzyyyyyxzzyzy{{zzzzyxyzyyzzzzzzzzzyzzyyyzy{yyzy{yyyyyzyyyyzzyzz{yzyzyyyzyzy{zzz{{zzyyyzyyzzzzzzzzzyzxyyyyzzzz{{{zyzyzyxyyzzz{{zyzzyyyzyzzzzyzz{z{{zzzyzzzzz{yzy{zzzzyzzyz{zyzy{yzzzzzzyzyzzzz{{{{{zzzyzzzz|z{z{zzyzzzyyzyz{{zzz{zzyzz{zzz{{z{zzz{{zzzz{{{zzz{z{{{{zzz{zyzz{z{|{{zzyzzzzzz{yz{{{{{zyzzzzz{zz{z{{{{{zzzzy{{zzz{{z{{zz{yzzzzz{z{{z{zzzzzzyzyy{{zzz{zzzyyyz{yzzz{y{yzyyyzyyxxzzzz{y{zwyyyxyyyzzzzzzzyyyzyyyyyzzzzyz{{yzzzyyyzyzzzzzz{zzyxwyyyyyy{{zzzyy{yyzzyyzzyyzzzzyyyzxyy{yzyzzzzyyyyxyzzyyzzzzyz{yxyyxyzzzzzzzzzyyyyxzxyyzzyzy{zyzzyyyyyzzy{zz{zzyzzzzyyyzz{zzzzzyzyyxyzy{zyz{{zxxyzxyyxzzzzzzzzzyzyyyzyzzzzzz{{zy{yyyyy{zzyy{zzzyyyzzyzzzzyz{{{{zzzy{yyz{{{{zzzzzyxyyzy{{{zz{zz{zyyz{yzzzzzz{zzzzzyzzyyzz{{{z{zxz{yzzzzz{z{z{||zzzzyyyz{{{{zzzzzyzz{yzyz{{z{{{z{zzyzz{zz|z{{zz{zzz{z{z{z{z{{{{z{zzzzyzzzz{z{{{zzzzzyzzzy{z{{{{|zzz{{{z{{|{{{z{{zyzyzzzzzzz{{{z{{yyzzyzzzzz{{z{zyy{zyyyzzzzzzzzyzyzyyzzzzzzyyzz{zyyyyyyyzzyz{z{{yyyyyzyzyzz{zz{zzyzzyyyyzzy{yyzzyzyyyyzxz{zzyzz{xyyyyyyyyzyyzzzyyyyxzyyyzyzyyyzzzyzyxyzzzyyz{{yyyxyzyyzy{yzzz{z{zzzyyyyyzz{y{zy{zyzyyyzyxz{zyyzzzyyzzyzyy{yzzzzzzyzyzzyyzyzz{{zzyxyyzxyyzzzyzyzy{zzyzyyyzzyzz{z{zzyyzzyyzzzzz{z{yzzyzxzyzzzz{{{zzyzzyzyyz{{{{zzzyyzyyxzzzyz{zy{{{zyzyyzyy{{zy{{{{zzzzyzyzzzz{{zz{zzzyyzz{{z{z{{{yzzzzzyzz{zzyzzzzzzz{yzz{{{{{zz{zz{zzy{{{{{{{{z{{{yyy{zzz|{zz{|{zzzzzzyzz{z{{{z{zzzzyzzz{{zzzz{|{{{z|{zz{z{z{{{{zzyyzzzzzzy{{{z{|zzzzzzx{zzz{z{{zzzyzzzy{zy{zyzzzyxyyxzxyy{zyzzzyzzzzxyzzzzyzz{{zzyzyyyyyyzzzzz{zzyyyzyyzzzzyyyzyzzyyzyyz{zyzzyzzzzzyyzyzzzzzz{zzzyyyyyxzzzyyzyzyyyyyzyyyzyyxzyzyyyzyyyyyzzzyz{zzzzyyyzzzzzzyyzzyzyyyzyxyzyzzzzzzyzyyyyyyzyy{zzzyzyyyyyxzyyzz{z{yyyyyzxzyzzyzzzzzyzyzyyyzzzzyzzzyyyzyyzyz{zzyzzzzzxzzzxxzzzzz{{{zzzzzzzyz{z{z{{zzzyyxyzzzyzzzz{zzzyzyzyzz{{z{yzzyyzyzz{yz{z{zz|{zzyzzzyz{{zyz{{{yyzzzzyy{{{zzzzz{yzzzyzy{{{z{{{|zzzyyzz{zz{z{{{{z{{zzzzzzzzzz{{{{yzzzzyy{zzz{{zz{zyzzzzyzz{zzz{{{{zzz{zz{zz{z{{zyyzzyyzyzzz{{zzzzzzzzyzy{zz{yzzzzzzyzzzyz{{zzzzzyyyxyyyyyzzyyzzzyyyyxyyyyyzz{zyzyzxyyxyyzyzzzyzzyyyyyyxzyzzzzz{zyzxyyyzxzz{zyyz{yyzzzyyzyzyyyzyyzxzxyxxxzxyyyyyyyyyyxzyxyyyyzzyzyyyzyxyxyzzyy{yzyyxyxxyzxyzzzyyzyyyyyyzxzyzzyzzzzzzzyyyyyyzzzzzzzzyyyyyyyyyyy{z{zyyzyyyx{{yzz{{{zyzyyyyzyzzzyyzzzzyzxyyyzzzyyz{zyzzyyzyyzyyzzzzzyyzzzyyzzzzzzz{zzzyyzxyyyyzyz{{zzyzyzyzzzzzzzzyzyzyyyyzzzzz{zzz{zyzzyzzyzzz{yzzzzzyxyzyxz|z{zy{zyzyzz{zz{{z{zz{{{yzzzzzzyzzz{{{{{yyyyyzzz{{z{{z{{yz{zzyzyz{zzz|{zz{zz{zy{{zz{{z{{y{{zyzzz{z{zzzzzz{zyzyzz{zz{{{zyzyyyzzzz|{{z{zzzzzzzyyyzyy{zzzzzyzzyxyzzyzzyyzzyyyxxxyyzzyzz{zzzzxyzzyxzyzxz{z{zzyzzyyyzy{zyyzzzyzyyyzxyzyzyz{{zyyxyyzyzzzyyyzzxxyyxyyyzzzyzzzz{yyyxyyxyzz{zyzyyyyyyyyyyyyyzyzxyxxyywyxyyyyzyzzyyyyyzyxzzyzzzzzyyyyzxywyyzyzzzzyyyyzyyyxzyyxzzzzyyyyzyyzzyzzz{zyyyyzyyzyyzzy{z{yyyzyxyyzyzyz{zzzzyzzzyzzyzzzzzz{y{zyzzyzzzzy{zzzyzyyzyy{{{z{z{zzzyzyyzyz{zzz{z{zzzzzzyz{z{z{z{{yzyzzzyz{zzzz{z{zyzzzzyzz{zzzyz{zyzzzzzy{{z{{z{{zzzyzz{zzzyzzz{zzzzyyzyyz{z{{{{zzyy{yz{z{zz{zz{z{{zzyyyz{{{{{{|{yyzzzzyzzzz{z{zzzzzyzzzx{zzzzz{zz{yyzyzzzzyzyzzzyy{yyxzyyyzzzzz{yzyzyyyyyzzyzzzzzyyyyyyxz{z{zyzzxzxxyyyyyzyzzz{yyyyyyyzyyzzzyzyzyyyyyxyxyzzzyzyzyyzxxyxyyzyzzzzzyyyyyzyyyzzzx{{zzzyyyyyzzyz{{zy{yyyzyxyyzyzzzzzzzyxyxzyyzzzyyzyzzyzyxyyyy{zzzzyzyyxyxyyx{yzyyzzzzyyyyyyyyzyyzzyzzzxzyxyxzzzzzzzzzzxyzyxyzzzzz{zzzzzyyzyyz{z{zzzzzzyyxyyzyyzz{zzyz{{zyyyyzzzzz{z{yyzyyyyyzzzy{y{{yyyyyyyyzzzyy{{z{zyyzyyzzy{zyzzzzzyyzyyy{zzz{{zz{zyyzyzzzzzzy{{{zyyzzyyy{{{z{{{z{{{z{zzz{z{zzz{z{yzzzz{zz{{{{{{{zyzyzzzzzz{{z{zzzzzzzzzzzzz{{zz{{z{zzzz{zzzz{{z{yz{y{yzyz{z{z{z{{zyzzyzzzz{yzzzzyz{yyyz{zzz{zyzzyyzxyyyzxzzzy{zzzxyyyyxyyzzyzyzyyzzzyzyyzzyzyz{zzyyyyyyzyzzyz{zzzzzxyyzyyyzzzyzzyzzyzyzyzzyyzzzzzxyyzxyyzzyyyzyzyzyzyzyyzxzzzyyzyyyyyyyxyyxzzzzzyyyyyzyxzzzzzzzzyzyyzyxxzyy{yzzzzzyyyyyzzyzyzyzyyyyyzyzyyzyyyzyyyzzyyyzxzyzzyz{zzyzyzyyzyz{yzz{{z{yyzyyyzzyzzzzzyz{zyyzyzz{yzzzzzyzzyyyyy{z{zzyyzyzyzzyzzz{zzz{z{yy{zyyzzzz{{{z{zzzyyzzz{{y|{zzzzzzxzzzzy{z{zz{zyzy{yy{z{{{{zz{zyyzzyzzyy{zy{{z{zzzzzzzyzzzz{|{z{zyzzzyz{|{z{{{|zz{zyzzyz{{{{|{{zy{{yzy{zzz{z{z{{{zzzyz{z{zz{|{zzyzzxxzzz{zzz{{{{zyyzzyz{{z{zzzzyzyyzxzyzz{{zzyzyzxyyxyxyzzzzzzyzyxyyxyyzyyyyzzzyyzyyzyyzyzzzzzzyyyzyyyyzz{zzyzzzxyyyyyyzyzyy{zzywzyyyzxyzzyzyz{yyyyxzyyyyzzzzzyzyzyyzzyzzzyyyz{xyyywyyyyzxyyz{yzxyyxyxyzxyy{{zzyyyyxyyyyzzzy{zzzyyyyxyyyzzzyzzyzxzxyyyxyzzyy{zzyyyyyyyxzyzzyzy{zyyxzyzyzzzyz{{zzyzyyz{x{yz{zz{{yzyyxyyzyzyyzzy{zz{yyyzzzzyzz{yzzxzzyyzzzz{zz{zzzzzzzyzyzzzzz{z{zyzzzyzzyzz{z{zzyzyzyzyzz{z{{{{{zyyyzyzzzzzzzz{yzyzzzyzy{{{zz{{{zzzzyzzzz{z{z{{{{zzzz{zyz|z{{z{{{y{{zyyyz{{{{z{{zyyz{yzzzzz{||{{|z{{yzyz{zz{{{{{z{zzzyzy{zz{z{{{{zzzzyyy{zzzzz{zzyzzzzzyzzzyzyzzyzyzzyyyyzzyxyz{yyxxyxyyyzyzzzzzyzxyyyxzzyzzyzzyyxzyyzyzzyyyzyzyzyyyxyxyzyzyzyyyzyyyyyyyyzyzxz{yyyyxyyxyyzyyyzyyyzyxyyxyyyzyyzyyyyxxyyxxyyzyyz{zyxxyxyxyyzzyyzzzxyzyyxzyyyzyy{yyyyxyxyyyyyyyyzyyyyyyyxxyyzyzzyyzyyyyyzyxyzzyzzzzzyyzxyyyyzyzzyzzyyyyyyzzz{zyyzy{zzyyyzyyyzyzzzzzzzyyyzyxyyy{zz{zyyyyyyyyyzzyzz{zzyxzyyzzzzzzzzzzzzzyyzyzzzyz{{zzzzyzzyzyzzzzyzyzzzzxyyxzzzzzzz{z{zyzyyyyzzzyzz{zzyzzz{zzy{yzz|{zy{zyzz{yy|z{{{{{zyyzzyyzz{{{{{{zzzyzzzzyzzzzz{z{zzzzzzzz{{zz{{{zzzzyzzyyz{y{z{{z{zzyyyzyyzzyyzzzzyyyyxyyyyyzzzyyyxxzyxyyy{zyzz{zyyyzyyyyzz{yzzyzzyyyzzyyzy{zzz{zzy{yyyyzzyzyzzz{zzyyxzyxzy{zzyyzzxyyyzyyzzzyzzzyyxyyyyyyyzzzyzzyzyyyzyxzyzyyxzyyyyzyyyyyzzzyzzyzxzzyxyzyzyyy{zyzzyzyxyyzyyy{{zzzyxyzyyzyzzzyyxzzzzzyzyyxyzzzzzy{yzzzyzyzz{z{zz{{yzyzyyzyzy{{zzzzzzzzyyyyyzzzz{{zzzzzyzyyz{yz{z{{zzzyzzyzz{{zz{zzyyyyzyyyz{zzzz{zzzy{yyyzz{yzyz{zzzzzyzzy{z{zz{zzyzy{zzzy{zzzz{z{{yzzyyzz{{{{{{z{zzzyz{{zz{zzzz{{zzz{z{{{z{z{{{{{zz{{yzzzz|{{y{{|{zzzzz{{{zzz{{{{zyyzyzyz{z{{z{{z{{{zzzzzz{zz{{z{{zzyzzzy{{{{{{{{zzzyzyyzzyyzzy{zyz{yyy{yyz{zzyyzzzyxyxyyyzzzyz{{yzyzyzzxzzyzzzy{{zzyzzzyyz{yzz{z{y{yyyxyzz{zzyzzzyxyyyyxyyz{y{{{zyzyyyyyyzyzzzzyyyzyyyxxzzzzzzzzzzzxyyxyyzzzzzzyyyyxyzyyyyzzzzzyyyyzyyyyyzzzzzzzyy{yxyyxyyzzzyzyzyyzyzzxyzzyyzzyzyyyyxyzy{yzzz{zzyyyyyyxzz{yzyzzzzzyzyzzzzzzzzz{zyz{yyyz{yzzzz{{yzyzzzyyzy{zzy{{zyyyyxzyyzzzz{yyyyzyzyyzzzyz{{{zyzyzzzyz{z{zz{z{{zzzzzzyzzz{z{z{zzzzzzyzzzzz{{{zyyz{yyzz{{{{zy{{z{zzzzzz{{{zzz|z{zzyzzzzyz{{{{{{zz{zzzzzz{|{z|{{zzz{{y{z|zz{{{z{zzzzzzxzzz{zz{zzzyyzzzzy{{{|z{z{zzzyyzzyzzz{z{{zzzzzyyzzz{zz{yzzz{zz{yzyz{zyyz{yzyzyzyyyzzzzzzz{zyyyywyzzzzzz{z{{zyxzzyx{zzyz{z{zyyzyzyxzyzzzzzzzzzzyzyyzyzyzzz{yzyyyyzyyyyyzz{zyzzyyzyzzzzyyzzzzyyyyyzyzzyzyzzzxyyyyyyyxyzzzy{zzyyyxyxzyzyyzzyy{yyyzyyxzxzzzzzyyyyzyyyyyz{zzzz{yzyxxzyxz{zzzzyzyyyyzyyyzyyzz|zzzyyyzxzyyz{zyyzy{yzzyyyzyzyz{{zzzzzzyyzyzy{z{zzzzyzzyzyzy{z{{{zz{yzyyzyyzzz{zzz{{zzzyyyyz{{y{z{zzzzzzzzz{{{{{{{{zzzzzyzzzzz{zz{zzz{zzyzyy{{zyz|{zzy{zyzz{{z{{{|{zz{yz{zz{{zz{z{{zzzzzyzz{{z{z{|z|y{yzyyz{{{zzzzz{zyxzzzz{{{{{{{{{z{z{zzzz|z{zz{zzzzyyyyzzz{zz{{z{{yyzyzxzzzz{zyzzyzxyzyyzyzzzzyzzyxyzyyyzzzyzzz{zyyyzyyyzzzy{{zzyyyxyxyz{y{zyz{zzyzzzyyzyzzzyzzzzzyzyzzyyy{zyyzzyzzzyyyyyyzzyzzyzyzxyzyyzy{yy|zzyzzzyzyzyzzyzy{{yxyxyyzyz{zzz{zyzzyzyyyyzzzyzzzzzzzzyyyyzz{yyz{{yyxxyyzyyzz{zzzyyyyyzyyyyzyyzzzyyyyyy{zyzz{zzz{zyyzzyzzxz|yz{{z{zzyyyyyyzyzzzzz{yzxzyzzyzzy{zzzzzzyzzyzyyzz{{zzzzyyyzzyyzzzzz{{yzzyzyyyyzz{zz{z{yyzzzzyzz{{{z{|{yyzzzzzz{{z{z{|{y{yyzzyyz{zz{{|zzyzz{yyy{z{{{{{z{zzzzzyzz{{{z{{zzzz{zz{zzzz{{z{|zzzzzyz{zz{{{{zz{zzzyy{z{z{zzz|z{zzz{{zzz|{zz|{{zzzzzzyzzz{z{{z{z{yzyzzzzz{z{z{z{yzyzyzzyz{zzyzzyyyyyzzyyz{yzyz{yxyyyxyyzzzzyzyzzyzxyyyyzzyzyzzz{zzyyyzzzyyzyzzyyyzyyyyxzyzzyzz{yyyyyyyz{y{yzzzzyyyxyxyyzzyyzyyzyyyyyyyzzzyzzz{{yyyyyyzyzxyyzzyzyyyyyywzzyzyzyzyyyyyyyyyyyyyzzzzzyyxzyyxyzyzyy{zyxzyyyzyy{zzzy{zzxyyxyyzzzz{zy{zyz{yyyyyzzzyyzzzyzyzzyz{zzzzzzzzzyyzwyxzzz{{zz{{zyyyyyzyz{yyz{{zyyzzyyyzz{zzzzzy{yzyzzzzzzzzzzy{zzyyyyzyyz{{{{z{zz{zzzyzz{zzzzz{z{y{yz{yzzz{zz{{zz{yzzzyz{zyzz{zyzzzyzzz{zz{{{{{zzzzyyzz{{{{y{{z{zzzzyz{{zz|{|{{zyzyzyy{z{{z{{{{zzzzzzyyzzy{|{{zzzzy{zyyz{{z{{{|{zyzzyyyzzzyzyz{zyyyzyyyy{{zzyy{xyyyyxyxyzyzzzzzyzyxyyyyyyzzzz{yzyyyzyyyzzyzzy{zzyyyyxxyzzzyzy{zyyyyyyzyzyzzzyzzzyyxyyzxxzzyyz{zyyyyzxyyyzzyyzzy{xyyxyzyzyyzzzzzyzyyzyyyzzyzyzzyyyzzyyzyyzzzzyzyzyyyzyyzzzzzyzz{yyyzyyyyzzzzzzyzzzyzyyyyyzzzzzzyyxyyzzzyzyzzz{z{zzzyzxyxyyyz{zz{zzyzyyzzzyzyzz{{yyyyyzxyzzzzy{{zyzyzyzyyzz{z{zzzzzyzzzyyzzzzzz{z{{zyyyzzzzzzyzz{zyyy|{zyzzzz{z{zzyzzzzzzz|z{yz{{yyzyyyyz{{zzz{z{{yzzzzyzz{{z|z|{{yzyy{zz{zzz{{{zzzyyyzz{z{z{{zzz|z{zzzyyz{{z{{{{zyyyzzzzz{z{{{z{zzy{zzzz{{y|{z{{zzzyyzzyz{zzz{{|yzyzyzyxzzzzzzzyzyyyyyyyzyzzzzyzyyyxyyyzzzyzzz{zyyzyxyyyyyyzzz{yzyyyzyyyzyyyyz{yzzzzzyyzyzzzxyzzxyxyxxyyzyzzyzzyyyzyyyyyzzzzzy{zzyyyyyxyyyzyzzyyyzyyyyxyyzyyyyzzxyyyxyyyyzzzyyzzyyyyyyxyzyyyyyy{zxzxxyzxyy{yzyzyzyyyyyyyyzzyyyzyzzyyzxyyyzyyzzzzyyyzzzxyzzzzzz{zyyyxzyyzxzzzyzzzyzzyxyyzzzzzzzzzyzyyzxyzyz{zzzzzzzyyzyzzzz{zyzzzzyzyzx{zzzz{zz{{{zyyzyyyz{{zz{zzzzyyzyyyzzz{zzz{{yyzzzzz{zzz{{{{{zyzzyyzzyzz{zzzz{yyzyzzzzzz{{zzzyzzyzz{{{zz{zzzzzzzzzyzz{{z{z{zzyzzzyzx{zzzz{{z{zzzyzzzz{z{{{zzzy{zyzzz{{{z{z{{zyzyzzyyyz{zz{|{zzyyzzzzzzz{zyz{{yzyyyzyzzzzyzyzzxyyxyyxyyzzzyzzzyxzyxyyzyzyzzzyzzxxyxyxxyzzzz{zyyyxxyyzyzz{yzzzzyyyyyyxyyz{yy{zyxzyyxyyyyyyzzyzyyzyzyyyzzzzzyzzyyxxxyxxyzzyyzzzxyxxzyyyzzyyyz{yzyyyyyxxyzzyyyzxyxyxyxxxyzzzzyzzzzyzyzyxxzyzzzyzzxyyxyyxyzxyzzy{xxyzzxyyyzzyyyy{yzyyzyxyzzyzzzz{zxyyyyyzyyzzz{z{yyzyyzyyzyzyzzzzzyyyzyzyzyzzz{zzzyyz{yxzy{z{yyzzzzzyzyyzzzzzy{yy{zyzyyzyzz{{{zzzy{yyzyzzz{{{yzz{yxzzzyxxz{{zzzzzzyz{zyzzz{z{z{zzzz|{y{zyyzzzzz{{zyyzz{yy{{z{z{zzzy{zzyzzz|zz{{z{zyyzzzz{z{zzyz{z{yyz{yzz{{zzz{{{yzyyyyzyz{zz{{z{zzyzxzzyy{z|zyz{zyyyyzzyy{yyzzzyxxyyxxyyzzzyzzyzyzxyyzxyzyyzz{zzyyyyyyxxyzyx{z{zyxxyxxyyzzzzyz{zyyzxxyzxyyzzyzyzzxyyyzyyzzzzxzzzzyxyxyzyzxzyyyzyyyyyzyzyzyyzyzy{xyyxyzxzyzzzzzyyyyzywyxyy{yyyzzzyzyyyyxyy{yzzyzyyyyyyyzyyyzzzzyyyzyyyyyxyzzzyzzyyyxxyzyxzyxzzxzzyyyzyyzzyzyzzzz{yzzyxyzzzzyzzz{zyyxxyyyzzyzyyz{zyyzyyxyyyzyyzzyzzyzyyyyzyzzyyz{zzyyyz{yyzzzyzzy{yyyzzzzyzzzzz{z{yyzyzzyzzzzzzzz|yzyzyzyyz{zz{{zzzyy{zyyz{{z{zzz{zzyzzz{zyzyzzz{{zzy{zzyzz{z{zzzzzzzzyzyyz{zz{z{z{yzyyzzzzzz{zzy{{zyz{zy{z{{{{z{{yzzyzxzyyzz{zz{zzzyyyyzyz{zzzzzyzyyzyyzyyzyyyzyyyyxyyxyxyzyyzyy{zyyzzxyyyyyzzzzyzyyyzyyx{yzyzz{yzzzzyyyyzzyzyzz{zzzyzzyyzzyyzzyzyyyyyz{yyyxzyzyyyxyyzxxyzzzzyzzy{yzyyyyzxzzzyyyzyyyyyyxyyz{xyzzyyzyyyyxyyzzzzzz{yyyyyyxyyzyzzzzyyyxxyyzyyyyyyzyzyyyxyyyyxzzzyzzyzyzzy{yzzyzzzzzyzzyyyzyz{zzzzzzyzzzzzyyyzzz{yzz{yyyyzyyy{zzz{zz{yyzzzxzyyzzz{yyzzzyzyyyyzzz{yy{{zyzyy{{yzzzzyzzzz{zzyzxyzz{zzyz{yyzzyyzzyzzzz{{zzzyzyzyyzzzyzz{z{yzyzzzyz{zy{|z|zyyzzz{y{{{{|z{zzz{zzzzyz{{z{zz{zzz{zyzzy{{{{z{{zzzzyyy{{z{z{y{zz{zz{{{yzzz{zz{{zyyyzyzyzzzyz{{zyzzz{yzyyz{{zzzzzyzyzyyyzzzzzy{yxyzxyxzxy{zzyzzzyyyyyyxyyy{zz{zzzyxyzyxyzy{zy{zzzyyyxyyyzzzzyyzzzzyyyyzyzyzyzzzyyzyyyyzxyyyzzz{yyxyyyyxyyyyzz{zzyyywyzyxzyyzzy{zyyyyyxyyyxyzyzzz{yyyyywyyyzyzzzzzyzyyyxxyzyy{zz{z{yyyxxyyyyzzzzyzyzyyyyyy{zy{{yzzyyyzzxzyzz{z{z{z{yyzyzzz{zz{zz{yyyyyyzyzyzzzzzzzzzzyyzyzy{zzzz{zyyxyzyyzzzzzyyzzyzzyyyzyzzzzz{y{yyyzyyy{zzzz{z{yzzxyzy{zzzzzzz{zyzyzz{yz{yzzz{{zyyzzyzyzz{z{zz{{yyz{yzz{y{z{{{zzzzzyzz{zz{yzz{{{yzz{yz{z{zz{{z{zzzzyyyzz{{z{{z{zzyzzz{zz{{zz{||{zyzz{yzzz{{zzz{z{zyzzzzzy{zy{||zy{y{zyy{zz{yz{{yzzyyzyyyz{{zzzyyyxyxyyyxyzzxyzzyyzyyyyyxzzyzzzzyxyyzyyxzyyyyyzyzxyyyyxzyyz{yyzzzyzxyyyyyyyyyzz{xyzxxxyyyzzzyzzyyyyyyyyyzzzyy{yyyyyzyyyyzzzzzz{zyyyxyyxzyzzyzzzzyzyyxzyyyxzzzzyyzyyzyzxyzyzzzyzzzyyywxyxxzyyyz{yzyyzyyyzyzyzzzzyyyzyzyyyyyyyzyzyzyyzyyyzyyyzxzzzzyyyyyyyzzzyyz{{yzz{zxzzzyzyzyz{zyzyzyzyyzzzz{zyyyzyyzyyz{zzyz{zyzy{zzyzzzzyyz{{zyyzyyyyzzzzyz{{yyzz{zzzy{zz{{{{zyzzyyyzyzzzzzzzzyyzzyzy{{{zzz{zzzzzy{{zz{{{y{z{{z{zzzzzz{z{{{zzzyzzzz{y{{{zz{zz{zzzzzzzzzzzz{z{zyzz{zzz{{zz{{{{zzyzzzzzz{z{zz{zzzyzxzyyz{y{yz{zyzyyxyyyzzzzzyyyzxzyzyyxyzyxzy{{zyyyyyxyyzyyy{zzzyzyxyxyzyz{{{{zzyyyyzyyy{z{yy{{yzyyyyyyyyzzyyzzzyyyyyzxyzzyyyz{zzyyyyxzzzyyy{{zzxyxyyxyzyyzyzzzyyyxyyyxzyzyzzzzzzyyyzyyyz{z{zzzzyyyyyyyzzzz{zzzxyxyyyyxyyyyyyyzzxxxyyzzy{zzzzzzyxyzzzyyzzzyzz{zzyzy{yzyyzzzzzxzyy{zzxyyzyz{{zzzyyyy{yyzzz{y|z{y{zzyzyyzyzzz{zzzy{y{yyzyzzzz{zzyzzzyyyyzy{z{zzzzy{yyzzzyz{{z{z{{zzzzzyyzy{zz{{|{yyzy{{xy{{{zzzzz{xz{zyzy{{zz|z{{zyzz{zzyyzz{{z{z{y{zyzz{z{z{z{{zyyzyzy{zz{|zz{|z{yyz{zy{{{{z{{zz{zyz{yzz{{{z{z{z{{yyzzzz{{zz{{{{zyyzzzzz{zzzzz{z{zyzzzyxzzzyz{y{zxzwyyyxxzyzyyzzzyyyyxyxzyyzzyzzzyyyyyyyzyzyyzzzzyzzyxyyzzzyyxzzzyxxxxzwzyyyzzyzyyyyyxyyzzzyyyyzyyyyyyzyzzzyzz{zyyyyzyxyzyyzyzzzzyyyyyyxy{{zyzzyzyyyyyxzyzzzzzyzzyxyyxyyyzzzyyzzyyyyyzzyzzzyyzy{yzyxyzzyyzyyyzyzyyyyxzzyzz{{zzzzzyyyzxyyzzzyyzz{yz{zyyyyyzyzzzz{yyzzzyxyyz{{zzzzzzzyzyzzz|yzzzzzzxzyyzxzz{zzyzzzzyyzzzyzy{zzz{yz{zy{zyyz{{z{z|zzzyzzzzzz{y{{y{|{{zzyyzyz{zz{zz{zzyzyzyzzz{zzzz{zz{zzzyzzz{z{z{zzzzyzzyyzz{{{zz{z{y{|zyzz{|z{{|zz{yzyz{zzz{{{{z{zz{zzzzyzz{zz{{zzzzyzzxyzy{zzzz{zzzyzzzzz{zzzzz{{xyyyyzzyyz{yyzzzyxxwyxzyzzyyzyzzxyyyyyyyxyyxzz{zxzyxyxyzzzzzzzzzzyzyyyyyzzzzyz{|zzyxyyyyzzzzzyzzyyyxyyyxzz{yzzzzzxyyyyzyyz{yyzxzyyyyxyyyyyyzyzzzxyxxxzyyzzzzzzzyyyyzyyyzzyyy{zzzyyzyyyxyyyzzzyz{yyxyzxyyyzzyyzy{yyyyyzyyzyyyzzyxyyzzzzzxyzzzyyy{yyyyzyyxzzzzzyz|zyyyzyzyzzzzyz{|zyyyyyyzzyyz{zzzzyyxzyyxzyyz{zzzzzyyyzyyyzzzzz{zzyyyyyzzzzz{zzzzzzzy{zzzzzz{{{{zzyzzyz{zy{z{yy{{{{zyyyyyzz{{{zzz{y{zzzzz{z{zzz{zzzzzyz{zyz{{{zzzzzz{yzz{z{z{z{{z{z{zyzzzzz{{z{{{{yyyzzyzzz{zzy{{zyzzzzyz{{z{yz|{zzyyzyyzz{zyz{{{zyyzzzzyzz{z{z{zzxzyxyzyzzzzzzyyyxyyyyyyyyzyyyzyyzyyyyzyyzyyyzzzyzyxzzxxzzyzzzzyzxyyyyyyzyzzzzzzzxxyyyyxzzzzzzyzyxyyxyyyxyyyzzzyyyyyyyxyyyyxyyyzyxxyyyyxzyzyyzyyxwxyyxyxyyyyyzzyzyxyxyxyyyzzzyyzxyxzxzzxyyzyyxyzzyyxyyyyyyyxyyxyyzxyxxyyyxyyyzz{xyyzzyzxyyzxyyzzyxyyyyyyzzzyzyz{yyzyzzyyyyzyyz{zyyzyyzyyzyyzzy{{yxyyzyzxyyyyzzyzzyzyyyyx{y{zzy{zzyxyzzyyy{yyzzzyzyxzyyzzyy{zz{zzyzyyyyyzzzy{zzzzzzzyyyyyz{zz{z{zzyyzzyzyz{y{zz{z{yzyxz{zzzz{zzzz{zzy{zyyzz{{{z{{zzy{zy{{zyzz{zzyzyyyzyzzzzzyzz|{zyzzzyyyzz{{{zz{zzzyyzz{z{yzy{z{zzyyyzyyx{zzyyzzzzzyyxzyyzzzzyyyyyxxyyxyzzzyzzzzzyyyyyyxyyxzzzzzzxyyyyxyyyzzz{zzzyzyyyxyz{zzyyyzyyzxyxyyzyyzzzzzyyzxxyyyyzzyzzzyzyyyxyxxzyyyzzyyyxyyyyyyzyyyzzzyyxyyyyxxyzzzyyzzyyxyxyxxzyyyzzz|yyzyyyyxyzzzyzzzzyyyyxyxyyzzzz{yzzzyyyyyyzyyyzzzyyzyzyyxzyzzzzzyxyxyzxyyzzzyzzz{zyzyyyyzyyyyyzzzyzzzxyyyzz{yzzz{zyyzyyxxxzzzyzyyzyzyyyyyz{y{zzzzzzzzyxyyzy{zy{zzzzzyzyzzzzz{z{zzzxy{zzzz{yzzzzzzzyzzzyyyzz{zzzz{zzyxyyzzz{zy{{|{zzxzzzzyzzz{zzz|zzz{{zzzzz{{{zzzzyzzzzz{zzz{{{zzyzzzzy{z{zz{zy{{{yyyzzyzy{zz{{z{z{yzyzyyzzz{z{{{zzyzyyyyyzz{zz{zzyyyzxyyzzzzzyzyxyyxyyxxyyzzyz{yyxxyyxzyzzyyyyz{zzyyxxzxyyxzzzz{yyyyyyxyyzzzzzzzyyxyxyxyzyzyyzyzyyyxyyyyzyzzy{zyyxyyyyxxzzzyz{zyyyyxxzzyyyyzyyzzxxyxxxyxyzzzyxyzyyxxxyyyyyzyyyzzzyyyxxxyzzxyyy{yxyxyzxyxyzyyxzzyzyyyyxyyyyyxzz{yyyxyyzyyyyzyyzyzyxyyyxxzzzzzzyzzyyz{yyyyzzyzzzzzyzyyyzyyyyzyzzzzzzyzyxyyyzz{zzyyzyzyxyyyyzzyzzxz{xyzyyyzzz{yyzyzyyyyzyyzz{{zzzzzyyzyyzzzzzyzz{{{yyyyyyyy{z{zzyz{zxyzzzyzzzzzzzz{{zzzy{yzzzzzzzzz{yyzzzy{z{y{z{{z{yzyyzyyz{{{z{{{zzzzyzyzz{zzzzz{zzzy{zyz{{zzzz{zyyzzyyyxy{y{zzzzzyzzy{yyyzzzzzzzyxxyyyxzzyyyzzxyyyxxyyyxzyzxzyyyyyxyyxyxzzyzzzzzyxyyzzzyzyyyzzz{yxyzxxxyyzzyzyyyxxyxxyyyyzzyyzzzyyyyzyyxyyyyzyzyyxzyyyxyyyzyyyyyyyxyxxyxzyyyzyz{yyyxyyyyyyyyxzzyzyxyyyyzyxzzzyyyzyyyyzxyzzyyyyzzyxxzyyyxzzyyxyzzyyyyyyyxxzyzyzyyyyxxyyxxyyzzzz{yyyyyzyyzzyyyyzzzzzzyyxyyyzzyz{zyzyyzyyzzzz{yzz{{yyyzyyyxy{zzzz{zzyyxyyzyz{zyzzzzzzyyzxzyy{zzzyz{zzyyyzyz{zzzz{z{zzyzzzzz{zyz{z{zzyzzzzyyz{zz{z{{zyyzyzzzzz{zz{{{yzyzzz{z{zy{z{{{yzzzyzzyyzzz{yz{zzzxyyzyz{{y{{{yzzzzzzz{zyzzzz{{yzzzzzzzzzzzz{z{yzzyzyzyyy{zzz|{z{yzyyzyzz{zz{zzyyzyyzxyzy{y{{yxyywyyyyxxyzyzzyzxyzyyyyxyyzyyzzzyyyxyxyxzzzyyyzzyyyxzxxzyyyzyyzyyyyxyxyxyzyyyyyzxzyyyzyyyzzzyyzzyyzyxzxyyyzzyzyzzyyyyyyyzyzyzzyyyxyxyywyyzyyyyyzxyyyxywyxzz{yyyzyzyxyyyxzxyzyyzzzyyxzxxxxyzxzzzzzyyyyyxyyzyyxzyzyxxyxzyyzyzzyzzyzyxyyyyzyzzyyyzzzyyyyyyyyyz{zzz{yyyyyyzzyzzyz{{yzyyxzyzxzzy{zyyzyyyyyyzyyzyzyzzzyyyyzyyyyzzzz{{yxyyyyyyyzzz{zzzzyyyy{zzy{{z{z{zzyyyzzyyyyzyz|zzzzyzzyzyzyz{zzz{{zzzyzzzz{yzy{{{{zxyyz{zyyzz{{{z{{zyzzy{yz{zzzz{z{zzy{yyzzyzzzz{{zzzzzyyyzz{zzzzzyyzyyzyzyzy{z{zzzyzxyyzyzyzzzyzzyzzzxyyxzyyyzzyyyxxyyyyyyyyyzyyzyyzxyxyxy{yzzzzzzzxyyxyyyzzyzyzzyxzyyyyyy{zzyzzzzyzxyxyyzyzzzyz{yxyzyyyyy{zzyzzzyyyyyyyzyzyzyzzzzxzxyzyzzzyzyyzyzyyxyyyxxzyzzzyzzyyyyyxxyyyzzzyzyyzyxyxxyyzzyzz{zyzyzxyxyyyyyzyzxyyyyyyyyzyyyzzzyzzxyyyxzzyyzzzyzxyy{xyyyzyzyzzzyyzyzyzyyzzyzz{{zyzyyyzzyzzzzz{zyyzyzxzzyzzzz{y{zyyzyyyyzy{zz{zzzyyzyzzzzzzyzz{yzyyyzyyz{z{zzzzzzzzzyy{zzzzz{{{{zzzzzyyyzyz{{zzzzyyyzzzy{{{zzz{zz{zzzzzz{zzz{zzzzyzzzzzzz|zz{{{z{yzy{yzyzz{{{z{z{y{y{zyyz{zzzz{{{zyzzzyz{zyzzz{zzyzxzzzyyzyy{{{zzzyzzy{yzzzzzz{zyzzyzyxxyyzzzyyxyyyyyxxyyzzzyzzyyyyyyyyyyzzyzzzzzyyxzzyxzyyyzzzzyxyyzzyxzyy{zzyyxxyxxyyxyyyyzzyzxyyyyxzyzyyxyzzzyxzxxyyyyyzyyzyyzyzxxyyyyyxz{zzzyyyyyxzyzy{zyyyyxxxyxyyyyyzzzzzzzyyxyyyxyyzzyyy{yxyyyyxyzzzxzzzzyyyyyxyyzzzyzzzyyyyyyzxyyyzyzz{y{zzyzxyyyyzyzzyzyzyzyyyyzyzzzzzzyyyxyyzyyyzzzzzzzzyzzzzyyzzzzyzyzyyzzyzyyy{zz{yzyyzzzyyyyzzzz{zyzzyyyzyzzzzzz{zzzxzxyyzzzyz{z{{{zyyyyzyyzz{z{z{yzzzyyzyz{{yzzz{{{zzyyzzzz{z{z{{{{yzzzzzzzz{z{|{{{yzzyzzzz{z{zzyz{zyzzyzzyzzz{{{zy{yzzzyyy{zz{z{zzyzyzyyy{z{zzz{z{yzzzzyyxzzz{zzzzyzyywzyzzzyzzxyzyyyyyyxzzyyzzyzxyxxzyyxyzyyyzzzyyxyyzyzxyyy{zzzzyyyyyxxyzzzyyyyyyzyxyyyyyyzyzxzzxyxxyzzyyyxy{yzyyxyyxyxyyzyxyyyyyyxxyxyzyyzzyzzxyyyyxxxyzyzyzzzyyxyyxwxyyzyyyzyyxyxywyzyyyyyzz{zxyyzyyxwzyyzzyyyyxyyyyyyzyzzzyzxyyyyyyxyzzyyzyzzyyyxyyxyzyz{zzzyyyzyyyzzyzzyzzzyyzyyyyyyzyzzyzy{xzyxyyxzzz{zzyzyyzyzyyyzz{zzzz{yyyyyxyzzzyzy{{z{{zzyyyzzz{zzzzzyyyyyzzyzzzzzzz{xyxzzyyxz{zzzz{zzyyyyyyyy{zz{{{zzyyyyzzz{zz{{{zz{zzyzzyyy{{zzz{{zz{zzyzy{{|zy{{{{zzxyyzzz{zy{z{zzyz{zyy{zz{zzzz{zyyzyzyyzzzzyz{{{yzyzyzxzyzyzyzyzyyxyzxzzzzzyyzzyyxyxzzyyzzyyzyzxyxyyyxyxyxzzyzyyyyyyyzyyzyzyzzzzxzxyyxyyyyzyzzzzyzyyyyxzyxzyyyzzzyyyyyyxzyyyzzzzyyyyxyyzyzyz{yyzyyyyzyyyzyzzzz{xyxyyyyyzzzyyzzyzxzyyyxyyxzyyyzzyyxxyxxxzzxzyyzzyyyyzyxxyyzxzzzy{xyyyxyxzzyyzzzzyxyxyyxyyyyzz{zzyyyyyyyzyyxyzzzzyzyzyyzyzzzz{z{zxyyyyzyzzzyyzz{{zyyyyxyxzzzzyzzzzyzyyyxyyzzyyyzzyyyzzyzzzy{zyz{yzzyzzyyy{zz{{z{zzz{yyzzzzz{{yzzzzzzyyyzzz{z{yyzz{zyx{yyz{zzyz{{zzzzzyy{z{zzzzz{z{zzzzzzzzzz{{z{{zxzzyz{yzy|yz|z{zyzzzyzzzyzzz{|{zzzz{zzzzzz|{{z{zyyxzzzyzzyy|z{{yzzzxyyyzzzzyzzzzyxxyyzyzz{z{yy{zxxxzxyxxyzyzzzzzxyyzxyxyzyzyzzyyzzyyyyyyyyxzzzyzyyyxxxyzzyzyyzyyyyxyzzxyzyzyz{yyxyyyyzxyzyxxzzyzyyyyzyxyyzzzzyyyzyyyyyyyyzyyyzzyxyyyyyyyzyyzyyyyyxxwxyyyyzyzz{zzyxxyyxxzzzzzzzzyyxyyyyxyzyzyzyyyzxyyyyyzzzyyzzzzyzxzxxx{zzyyyz{zyzzyyzxyyyyyyyyyzyyzyyy{zzzzzz{xzyyyyyyyyyyyzz{yzyyyzyyyzyzzzyzzyyyzyyzzz{yzzyzzyyzyyxyyzyyz{zzyyyyyzzyyzz{zyzzyzzyzyzyyy{zzz{zzzzzzyzyzzzy{zy{{yyyyyyy{{{{z{{{zyzzyzzzz{z{zzyz{zyyzzzyz{zz{z{{zzzzzyzy{zzz{{zzzyzyzyyz{{zzzzz{{yzzzyzyzzzzz{z{zzxyxzzyy{zzz{{zzyyzyyyxzzzzzzzzzzzyyyyxy{zzyyyxyyyyzxyxxzyyzyzzxyzyywxyyyzyzzzyyxxyyyyxyyyyyyyzzxyzxyywyzyzyzzzyzyxxyxxywzxyyzyyyxyyyzyyyyzyyzyyyyyyyxx{z{yyzzxxxyxyzyyzzyyyyyzyyxxxyyyyyyyyzyyzyyyxxxyyyzxzyyyyyxyxxyyyzxzzyzzyyxyyyxyxyxwz{yzyyyyyyyxyzxyzzzzyxyyyyyxyyzzzyyzyyyyyxyyyzzyyyz{zyyyyyyy{yzyzzyzxyxyyyyzzyzzzzzzzyzyyxzxyyyzzzzzyxyyxyyyy{z{yzzzzyzyyxyyyzzyyz{{zzzyzyzzzzzz{zzzyzzzyz{zzzy{zzzzzzyyyyzxzzzyzz{z{yyyyzyxz{zzzz{|{yzyzzzzyy{zzz{zzzzyyzyyz{z{z{z{zzz{yzzzz{zz{zz{{xyyyxzzzzzz{{{zzyyzyyyzz{z{{z{{zzyyzyyy{zyyz{{{yzzzyyzyzzy{xzzzyyyzyyyyzzzxyxxzyyyyxzyxyzzzyyzzzyyxyxyyzzzzyzzyzyyxxyzyyyzzzzz{zyyyyyyyzzzyzyzzyyyyxyyxyyzyzzyzyxyxyyxxxyzyzyzzyxxxyxyyzxyzyzzyyxyxyyyy{xyyzzzzyyzyyxyxzyyzyz{yyxzyxyxyyzzyzyyxyyywxyyxyzxzyzzzyyyyyyyxyyyyyzzzzyyxxyxxyyxxyzyzxxzyyyxyyzzyyzy{yxyyyzyyzzyzyzzzyyyyyyyyzz{zyyzzyz{yyyyyyzyzzzyzzyzzzxzyyzyzzzzzyyzyyyzzzyzyzzzzzyyyyzyyzzyyyzzyzxzyzyyyzz{zz{zzyyzyzzzzzzyzyz{zzyyyyyyyzzyzz{z{yyzyzyyz{{zzz{z{yyzyyz{zyzzzz{{zzzzyyzzyy{{z{z{{zzzyzyzzzzzz{{zz{zzyyzzzzzzy{{{zzz{xzzzz{{zz{z{{zzzyzyyyzzzzy{{{zzxyyyzyyyzzyzzyzyyxyyxy{zy{yyyzxxxyxyxyyzzyyzyzyxwxxxzyyzzzyyz{yyzxxyyxyyyzyzyzzyyyxxyyz{zyyyyyzyyyyyyyxyyyxy{zyyxyxxzxxyyxyzyyyyyyxyxyyyyyyzzzyxyxyyxyyyyzyyyzyyyyxxxyyzyyyyyzzyyyxywyzyyyzzzzyxyxxzxxzyy{yyzyyxxzxxyxyyzxyzyyyyzxyxyxyzzyzyzzxxyxxyxxxxyzyyyyzyxwyxyyzxzzzzzzyyzyyxyyxzyyzyy{xyxzzyyyzzzzzyyzzxzzyxyxyyyzyzyzyyyyyyyxyzyyyz{yxzyzxyyyyyzyyzyzyzyzyyxyyyzzzzyzzyyyzz{yxzzzz{zzzyyzzyxz{zzzzyyzzyyzzzyy{{zzyyz{zyzyyyzzzzyz{{{zyyxyyzzzzzzz{zzzzxzzyzyzyz{zy{{z{zyzzyzzzzzzz{z{{zzyzzx{z{{{zz{{zyyyyyyyyz{zz{zzzyzyxyzxyzz{zyzzzyyyyxyyyzzzyzyyyyxwxyxxy{xyyzyzxyyxxzyxyzyyyyzyyzyxxxxxyyzyyzyzzyyxywxyxyzzyyxyyyywxxxxyyyxyyy{zyzwyyyxyzyyzzzyyyxxyxxxyyyyyyzzyxyxyzyxyyyyxyyywxyxyxxxxyzyyzyyzxyzwyyyyxzyzzzyyyxyxwxxxyyyyx{zyyzxyyyxxyxxyyzzzyyyyyyyyyyyzyyyyyyxyzyxzyzyxyyyzxyyyxyyyzyzzyzzyyxyyxzzyyyyyzxyyzzyyzyxyyyyzyyzyyzyyxxyyyzzzzyzyyyxzyyzyzzzyz{yzyyzxyyyyyyyyzz{zyyyyzyyyyzzzyzyyzyyyxzyxzy{z{zzzxxyyyyxzzzyy{yzzyzzyyzzzyzzzzz{yyzyyzyzzzzyy{zz{zyyyyyzyzyzz|{{{yyxyyzzzyzzzzz{{yyzzyyyzyzz{z{{zzyyzzyzzzz{z{{zzyywyyyyzzyzyyz{zyzyyyyzzzz{zzzzyzzxywzyzzzyyzzyyywyzyyxyzzxzzzzyzxxxxyyyyyzzzyyyyxxyzyxyzyzz{zzzzzyxyyyzzyyzxyzyyxxyyxxyyzxyzxzyxyyyxyyyzzzzyyyyxyxxyyyyyyzyzyyzyyxx{yxyxyzyz{zxxyyxxyyyy{yzzzyyyxxxzxyyzyyzyy{yyzzxyxyyzyyzzzzyyxyyyxxyyyzyzyyyzyyyyyyyzxzy{zyyyyzyxyxzyyyyyzyyzyyyyxyzyzzyyz{yyyyyyzyyy{yyz{zyyyywzyxyzyzzzzzyyyyyzyyyzyyzzz{zyy{yyzyzzyzzy{zzyzzyzyzyz{zzyz{zyyzzyyzzzzyzz{zyyyyyyyyzzzzzz{zzyyyzyzyyz{{zz{z{yyzzyzy{{{{{z{zzy{zzzzy{zy{y{z{{yzzyzzyzzz|{{{{{yzzzzyz{zzzz{{z{yzyzzyzzzzz{yz{zzyyzyyz{zz{z{z{zzyyyyzy|zz{z{{|{yyyyyyyyzzzyzzzzyzyzyyzzzzzyzyyzxxyxxxxzzyyzyzzzyxyyxxxy{z{yzyzyzyyyyyyzyyzyzz{zyyyyxyyyyyyyyyyyyyyyyyyzy{zx{{{xyyyxyyxyzzzzyzyyyyyyyyyyyzyzzzzzzyyyyzyxyyyyyzyzyyyxyyxyzzxyzzxyyyyxxxyzyzy{zzzyxyxyzyxzzyyzyyyxyyxxxyxxyzzyyzzyzxyxzyxxzxyzyyzyxxyyzyxzzzzzy{zzyxyzyyyyzzzyzzzzyyzyyyyyyzzzzzzzxyyyxyyzyzyyzyyyyzyyyyzyzz{yzzyzyyyzyyzyyzzzz{zzxyyyyyzzy{zy{{zyyzzyyyzyz{zzz|yyyyxyy{zzzzzy{{zyyyzyzxyz{zz{zzz{xyzzyzyzz{z{z{{{zyyyzzzyzz{{|{{zyy{yyzz{z{zz{{z{yzyyyyz{zzzzzzyyzyzyyzzzzy{zz{{{zyyzzyyzzzzzz{yyyzyyzzyzzzyz{{zyzyyyzzzxzyzzzzzzyyyyyyyzzyzyzyzyxyyyxxyyyyzxyzzxyyyyxwyzyxyzzzyyyyyzyyxzyzzzyzzzzyyyyxyyy{zxyzzyyxyyyxyzyyyyyyzyyyyzxxxzyzyyzyzzyyzyxyyyyyzyxzzyyyyzxyxyzxzyzzyyyxxyyyyxyyzyzzzyyyyxyxyxzzzyzxzyyzyyyyxyzzzzzyzyzyyzyxyxyzyyyxyyyyxyxyyy{zyyzzzyzyx{yyxxzyzzz{{yyxyyyyyyzzzyyzzzyyzzyzyzzzzyzyzyxzyxyxyzzzyzzzzzyyzxxyyyzz{{zzzzyyyzyyzyzzyyzzxyzyyyyy{zyyyz{zyzzyxyyzyyyy{{{zyzzyzyzzyyyzzz{zyzyzyyyyyzzzzzzzz{yyyyyzyz{{zyz{zzyzzyzzzzzzz{z{z{yzyyzyzyzzz{{{{yyyzzz{zzz{z{z|{zyxzyzzzyzzzzz|{zyyzzyzzzzz|zzy{yyyyzzyyyyz{zzzzzzyyyzzyzzzzz{zzzxyzxyyxz{zyzyzzyyyxxxyxyzzyyyzzyxyzyxyyzyz{xyyzzyyyyxyzzzzyzzxzzyyyyyxyxyzzyxzzzyzyxyzyyzzzzyy{xyyyzyxxyyzyzyzyyyyyyyyxyyzyxzyzyxyxyxyyzyyyzyyzyxyyyyyxz{zzzzyzyyyyxyxyyzzzzyyyzzyxxzyyxyyzyyzzxxyyzxyxyyzyyyyzyyyyyyyyyyyyzzyzyzxxyzzyzyzzzzzzyyyyyyzyzzzyyyzyyyzyyyzzyzzzyzzzyyyyyyzyzzy{zz{{yyzyyyzyzzzxyzzzzxyyxyyzyzzzzyzzz{zyxyxzzyzzyzzzyywzyzzzzzzzzzy{yyyzyzzzyzz{zzz|zyyzyyxyz{zz{{z{{yzzzyzyz{z{{z{zzzzzzzzyyzyz{{|{zzyxyyzyy{{zz|{z{zzyyyzzzz{{{{z{zxyzyzyyz{{{zz{{zyyyzzy{zzy{{{{{{zyzyzzyzyzyzy{zyzzzzyzyzzzyyzyyzxzyyyyy{yz{zzyxzyxxywzyxzyzyyzzyyxxxyyyzyyzyzzzyyyyyyyxyyyy{zzzyyzyyyyzyzyyyzz{yyzyxxxxyzzxyyyzz{xyxyyyyyzyyyzyyyyxxyyyyyyyyyyzyyxxyyxyxyzzyyzzzyxxxxyyzxyyyyzyzyyxxxwyxyyyyzzyyyyyxzyyyzyzyzzyzxxyyyzwyzyzxzzzyxyxyxyxy{yzyzzzzyyyzyxxzzzyyyzzyyyxyyxyxyzzyyzyyyyyyyyyyzzyz{zzyyxyxzzyyzzyzyyzxyyyyyzyyzzzzzzyyyyyyyxyyzyzzzzzyyxzxyyxzzzzzzzyyyyxzyzyyzz{zzzzyy{yzyzzzz{{zzzzzyyyyyyyzz{zz{zzzyzzyzzy{zzyzz{{zyzyyzzyyzzzzz{z{zyzzzyzy{zzyz{{zyz{zyzyz{zz{{{zzyzyzzzyzzz{zzzzzyy{zyyzzzz{{{{zyzyyzyyzyzyyyz{yzyyyyxyxyyy{zyyzyyzyzxzyzzyzzyzzxyyzyxxxyzyzyyzyyyyzywyxzyzyzzzzyyyxyxxxyyyzyzyzzxyyxyyyyzy{zyzzzyxyxyywzyzyzyyzyxyxyxyxxyzyyzzyyyzyxyyxyyyyyzyyxxyzyywyyzyyz{yyxxxxyxxyyyyzyz{yyxxyyyyyyyzyyyzyyyyyyxyyyy{yyyzyxxxyzxyyyyyzxzyzyzyywyyzyyzzyzyyyyzzyzyxyzyzzyzzyyyyyyyyzzzyzzyzyxyxxxyyyyyzzzyzyyzyxyyxyz{{z{zzyyyyyxyyzzzzyzzzzyzyyyxxyyzzzy{yzzyzyzzyzzz{yyzzyzzyyyyy{yzzz{zyyyzyzyyzzzzzzzz{yyzyzyyyz{{z{zz{zyzzyzyy{zzzzz{{{yzyyzzy{zz{zzzzzzzzyyzxz{z{zzzzzyzyzyyyz{zzzz{zzyzzxzzy{yzzzzz{{zzz{zyzzzz{zz{zzzyzxyyzzzzzz{{y{yyyxyyyyzzzyyyyyyzyyyyyz{zzxyzyxxzyxxzyyyzyyyyzzyyyxwyxzyyyyzxyzxyyyyyyzyyyyz{zzyyyxyxyyyyzyyzyyyyxywxxyyyzxyzzyzyyxyxwyyyyx{yyzyyyxxxyxyzyyzyyyxxyxyxyxyyzyzzzyyyyzxyxyyyyyyzxyyxxxyxyyxyyzyzyyyywxyzxxzzzzzyzyzxyyxxzyyyzyyzyyyyyxyyyyzzyyyzzyyyyyzxyy{zzz{{yyyyyxyyzzzyxzzzzyyzyxyxxzyzyzzzzyzyzzyyzyyyyzzyyyyyyyyyyyzzz{yyzzzzyyyxyzzzyyz{zyyxyxyyyyzyyzzz{yyzyyzzzzzzzzz{zyzzyzyzzz{z{z{{{{zzzyxyzzxzzzz{{zyzyzyzzy{zyzyzzyyzyyzzyy{zzzzzz{yzzzzyzyz{{z{zz{yzzzyyyzy{{zzzyzyzzzyyzzzzzzzzz{zyzy{yyzzzz{yzzyyyyyyyy{{zzz{{yyzzyyxzyyzzzzzzzzyzxxyyzyyyzyyyyxyyxyxxxyxzyyzyyyyxyyyxxyzyzyyyzzzzxyyxxyyyyzzzzyyyzxxzxyyzyyyzyyzxyxxxxyyzyzzzzyxyxyyyxyyzxyyzyyxyyyxyyzyyyzxzyzxzyxyyyyyyyyzzyyyyyyyyyyyyxyyzyyxxyxxxyzyyyyzzzyxyyxwyyxzyzzzyyyxxxyxyyyzxyyzyyyyyyxzyxyzyzy{zzyxyyyyxxyyzyyyyzyyzyxxyyyyzxyyzyyzzyyyyyzyyzy|z{yyyxyyxzyzyyzzyyyyzzyyxyyyzyyzzyyxzxyxyxyzzzyzzzyyyzzyxyzzzyyzzzzyzy{yyyzz{{zzzzyyzyxyzy{yyzyzz{zzyzyyyxyzzzyzzy{xzyzzyzz{zzzzz{zyzxyzzyz{z{yzz{yyzyyzzz{zzzzz{{zxy{zyzzzzzzz{{z{yyyyyzzyzzzzzzzzyyyzyzyzz{zzzz{yyzyzzzyzzyyzzz{zzyzyyzyzyyyyzzzzyzzyyzxyzyzyzxzyyxxyyxxzz{yzyzyyyyyyxyyyzzzyzzzzyxxyyyyyyyzzyzyyzyxyyyxyy{yyyyyyyxxxxyyxxyyyxy{xyyyxx{wzzyyyzyyyyyxyxyyyyyyyyyyyyxyxxxxyxyyzzyyyzyyywxxx{yyxyyyzxxyxzxyyyzxyyzzyxzyxxyxxyzzyyyxyxyyyxywyyzyyzzyyyxxyxyxyyyzyyzyyyyyyyzxyyzyyzyzyyyyyyxyy{zyzzzzzyzxyxyyzyyyyzzzyyzyyyyyyyyzxyzzzyyyyyxyyzzzzyyyyxzzyyxyyyzyyy{zzxyzzxyyzzyyzzzyzzzyzzyyzyz{z{z{xzyyyxzzzzz{z{zzzzyyzyyyzzzzz{z{zyzyyzyyzzzy{z{{yzyzyzzyyzzzz{zzzyyyzzzzzzz{zyzzzy{yyzyzzzz{zzz{{yzyyyzzyyyzzy{{zyyzzyzzz{y{zy{{zyyzyzzyyzz{zzzzxyyyxyzyxzzzyzzyyyzyywyyzzzyyyzzyzyyywyxyyzyyyyzyxyyyxxxyzyyzyzzzyzyyyyxzzzzzyyzyyxxxxyzyyyzyxzyyyyxxxxxyyyyxzzzzxyyyxxyxyyyxzyyyyyxyyxxyzyxyzzzzyyyyyyxyzyyyyxzywyxyxyxyzyyyyyxyyyyyxxyyzzyzyyyyxyyxyxyyyyyzyzyzxyyxxxyxyyyyyyyxxxxxxyyz{zyzzzyyyyxxyxxyzyzzzz{yyyyxxzzyyyyzzzyyzyyyyyyyyzyyzz{yyyxyxyxyyzzzz{zyyyyzxyxxzzzy{yzyxzxzyxyyyzyzyzzzyyyzzyyy{zzzzyzzzyyzxyxyzy{{{z{yzzyz{zz{{z{zzz{yyy{yzxxzyz|zyzy{zyyzzzzz{{yzzz{yzyyyzzzyzzz{zzz{yzzyzyyzzzzzzz{{zyzzyzz{zzyzzzzzyzyzyyyzzzyzzz{zzzzz{zyzz{zzyz{zzyxzzzzzzyzzzz{zzzyyyyxy{zyzyzzyyxxxyyxyyzyzzyyyxyyxyzxyzzyzyyyyxyyyyxyyzzzyyyyzyyxx{zzyyxyyzzyzxyxyyyyzzyyyyzxyzyxxyzyyzyyyyyzyzyyxxyyyzzyxzyyyyyxxyyxyxyyzzzyyyxxxzzxyzzzyyzyyzxyyyyyyyyzyzzyyyyxyyxxyyyyyzzzyyyyyyxxzyywyyzyzyxyyxxxyxzzyzyyzxyxxyxyxyyyzyzyzxyyyyyyyzyyyyzzyxyyzyyyzy{yzzzzyxyyyyxyzyzzy{{yyzyyxxyyyz{yxy{yyyyyzyyzyyzzzzyzzxzyxyzyzyzzyzzyzyxyxyxyyzzyyzzzyzyzyyzxzzzzzzz{yz{yyzyyyzz{zz{yyyyyyyyyzzzzzzyzzyyyyxzyzzzzzz{{zyyyzzyzzz{yz{{{{yzy{yyzy{zzz{{zzzy{yzzyzz{{z{zz{zyyzzyzzyz{zz{zyyzzzyyzzzy{zzz{yyyyyzzxzzyzzzzzzyzzyyzyyzzzzzzyzzyzyxyyzzzyzyyzxzxyywxxxzzzzyyzyyyyyzxzyzzyyz{zyyyyyxyyzxyyzzzzyyyyyxzzyxzzxyzyyxyxxyxxyyyyyzyzyyyyyzxyxyyzyyzxzyyyxyyyyy{yzzzzzyyzxyzzyxzzzzyyxxxyyxwxzyyyyzzyzzwzyzxyxzzyzzyzzxyyxyyxxzzyzzzzzyzyyxyzzyzzyyyyxyxyyyyyxyxyxzzzyxyzyyyxyyyy{zzyzyyxyxyzzzyzzyyzyyyyyzzyyzyyyyyzyxyyzyyzzzyzyzzzzyyzxzyxyzy{zzyzyyyyyxyxyzy{zyzzzyyzxyyzzzzyzzz{{yyxyyyyyzzzzz{zyyyzzzzyzyzzzzzzzyyzyyyy{z{yz{{y{yyzzy{zzzzz{yy{zxzyzzzzzzzzzzz{{zyz{yxzzz{z{zzzzzyzzzyzyzz{{{{zzyy{zzyzzz{zzzz{zxyzzyyzzyzz{zyzyyyyyzzyzzzzyyzzzzyyyyyzz{yzyzzzyyyzzxyyyyzzyzyyyyxxyyyxyyyzzzzyzzzxyzyyyzyzzzy{yyzxyyxyzyzyz{zyyyyxyyyyzzyzzzy{zyyxxyyyzyyzyy{zzyyyyyyyyzzyzyzyyxyxyxyyzyyyyyyyzzyyyyyzyzyyxzyyxyxxyxyyyyzyzyyyyyxyxyyzyyyyzzzzxyzyxyywyzyzzzz{yyyzxxyyyyyyyzyyxyyyyyxyyyzzzzzzyyyyxyyyyzyz{{zzyzyyxyyyyyzzyz{zxxzxyxzzyyzyyzzzzyyyyyyyyyyyzzzyzyzyyyyyyzyyyzyzzzzyyxxyzzzzyy{zzxyzyzxyzy{zzzzzxxyzxzyyzzzz{{zzyyyz{zzxzy{z{{{zyzzzzyyyyz{{z{zzzyyzzyzyzy{zzz{yyzyzyyzzyzz{{{{zzzxzyzzyzz{z{z{zyxzzzzzz{{{{z{{z{xyyzyzzzzzy{z{{zzyyzyyyzzz{z{zyzyyzyyyyy{z{yzz{zyyyyyyyzzzzyz{{yyzzyxxzzzzzzyyyyyxxxxyyyxyyxyyyyyxyyyxxyyzyyz{zyyyyyxyyzzzyzzzzzxyyyyxxzzyzz{zzyyxxxyyyzxyyzyzzyyyxxyyxxzyyyzzzzyxyxxyyzzyyzzzzyzzxzyyxyyzyyyxzyyyyxyyxzyzyyzyyyyyyyyzxyyzzyzzyyyyzxyxyyyzzzzzyxyyyxyyxyzyyyxzzyxyxxyyzyzyxz{yzyyyyzxyyy{yyyzyyxzzzyyzyyyyzzyz{yyxzzyyyyyzz{yzzzyyxyyxyyzzyzyyzyyzyzyzzzyz{{zy{zyyzzzyzyzyxyzzyzyyzyzzzyzzzyzzzyzzyyyzyy{zz{{zzyyzz{zzxzzz{z{z{zyyyzyyzyyzzzzzzzxzxzz{z{z{zz{{{yyzxzzzzz{zz{z{zzyyzyyyxzzz{{{{{zyzyyyzzzyzzy{zzzzzyzyyzy{zz{z{{yzyyzzyzzzz{z{z{yyzyzzyxyz{zzz{zzzyyyyzzyz{yyyzzzyyyyxyz{{yyzyxyyyxyxxzxyyyy{yy{yyyyxyxxyzyzzzy{yyyxyzyxzyzyzzzyyyyyyxyyy{zyy{zyyyyxzxyxyyyyyyyyzwyyxyzxxyyyyzyxyxzyyyyyxyzxyyzxyyyyxyyyyzxyyyxzxxzyywxyyyyzyzyzzyyyxywxzyzzzzyyzyyzywxyzyzzyzyzyxyyyyxyxyyyyyz{yyyxyxyxyzyzyyxzyyyyyyzxzzyyyyzzyxyxyxyyyzzyzzzzyzyzyyzyyzyyzyzzyyyyyyyyyzz{yzyzzxyyyxyyyyz{zyzzyyyyyyyxyyyzzz{{zyyyyyyyzyzyyzyzzzyyyxzyyzz{zy{{y{yzzyyzzzyzy{z{zyzyyyyyyzzyzz{z{yyzzyzzy{zzzz{{zzzzyyyzzzzzyzzzzzyxyzzyy{z{z{{zyyzyzzzzzzz{zzzzzyzzyyyyz{z{zzz{yzyzyyyyzzz{zz{{zz{yyzyyzz{zzzzzyyyzzyxyzzyz{zzyyyyxyxyyyyzzyyzyyxxxyyxwyzzyxyzyxxzyyyyyzyyyyyy{yxxxxxzyzxzzzzzyzyyxyzxyxzyyzyzyyzyxyxyyyzyyyzyzyyzzyyyyzzyyy{yyzxzxyxyzyzzyxzz{xxyxyyyyyyyzyzzzyxyxxyyxxyyzyzyzyxyyxxxxzyzyyzzzzyyxxyzxyyyzyzzyzxyxxyxxyzzyxyyzyyzxxyxyyyyzy{zzzyyyxzxxyyzzzzzyyyyxyzyzzyzyyzzzyyzyyxyyyyyyzyzzyyyxxyzyyyyzzz{{yyzyyyyyzz{zyz{yzz{yzyyyzzyzzz{zzyyzyxxzzzyzzzzyyyyzyyzzzzzz{{zzyzzzzzzzz{zyyz{zzzyyyyyyzz{zz{zz{zyyzzzzz{zy{|zzyyzzzzzyyzyyzzzzzzzyzyyyy{yzzzz{{zzzzyzz{{{zzzzzyyyzzyzzz{{{zzz{yzzyzyzz{zzz{z{{zyyyyyyzy{zy{y{{zzyyzyzyyzzyyz{yzyuyyyyyzzzzzzzyyyyyyywyxyyyzyyyyxyxyyyyyyzyyzzzyyxyxyyyzzyy{zzzyyyyzxyyyzyzzzzzyyyyyyzxxyyyzzyzyxzxyxxyyyyyyzyyyxyxzxyyyyyxxzyzyyyxxyxyyxyyyzyzxzxxwxyyzyzz{yyyzyyyxyxyyzzyzzz{yyyxxyywyzyyzzyyzyyyyyyxyyyyyyyyyyyyyyyzyyyzyzzzxxzyyyyyzyyzzyzyzxzyzyyxzyzyzzzyzyzyyyyx{yzzzyzzyyyyxxyyzzzyz{{xyyyyzxzyyzzzzyzzyxzyxyyyyzzyzy{yzzyzyyxyzzzzzzyyzzyyzxyyyzzzzzyzyyzyyyzyzyzzzzy{zyzyyzyyzzzzz{{zyzyzyyzzz{z{zyzzzyzzzz{zyzzzzzzyzyzyxzzzz{{zyz{{zz{yzzzzzzzzzz|{{yyyyzzz{zzzzz{zzyzzyzyyzzzz{{{{yzyzyyzyy{yzzzzzyzy{z{zzy{yyzyzyyxzxyyzyyzzzyzyxyxyxxyyyxzyyzzyzyzyyyxyyyyyzzzyzyyyxwyyyzzyyyzzyzyxyxyyzxzzzzzyzyxxyyyyxyxyyyzy{xzyxxyyxyyzyyyzxyyyyxxxxyzyxyzyzzyyxyyxyyyzyzzzyxxxxywxyyxyyzzzyyyyxxyxxxzyyyxyzzyyyxyyyxzzwyyzzyxxyxxywyyxyyzzyxyxyyyyxxyyyyzzyyxyxyzyyyxyzyyyyyxxyxxxzyzz{zyzzxxxyxzyxzzzyyyzyyyyxyyyyzzyyyzzzxyyyzxzyyzyzyzyyzxyyyyyxzzzzyyzyyxyyyyyyzzzzzzz{zyyyyyyxzz{yzy{yzyyyzyyyz{zyz{{z{yxzzyyz{zzzz{z{yyzzyzyyzzzzyzz{zzxzyxzyyzyzzzz{zzyzyyyyyzzzzz{zzyyzyyzxzzzzzy{zzyzyyzyzzzyz{{z{zzyyzzyyzzz{zz{zzzyyyzyyyzzzxzzzyyyzxyzxyzzzyzzzyyyxyxyyyzzzzzzzxyyxxxyyyzzyyyzzyyyxyyxwyyzyzzyzyyxxyxxxzyyyyyzxyxyyyyxyyzyzyyzzzyywyxxyzyzzyzxyyzyyxyxyxyyyyzzzyxyyyyywyz{yxyzzzxyxyyyyyxyyzyzyxxyxxxywyxyyyyzzyxxyxyxyyzyyzyzyxyyxyywxzxxyyzzyyxyxxyyxxyyyzzyzyyyyyxwx{yyyyzzyyyzxxyxxzyzzzzyyyyyyyxyxzzzzzzzyyyyyzyyyzyyzyzyyyzyyyzxzzxyyzy{zyyyyxxzyxyyzyzzzyzxyyzyyyz{zyzzzyyxyzzyyzzzzzzyyy{zyyzyyzyzz{zzzyyyyyzyxzzz{zzzzyyyyyyyx{zzz{zyzzyyzzyzyyzzzz{z{zyzyzzzzzyyz{{zz{xzyyyzzz{{zz{{{zyzzyyyzzz{zzzyyzyzzzzxyyzzz{zzzzzzyzyxzzzyyz{y{zyyyyzyyzyzzzz{{zyyxzyzyyz{z{{zyyyzyyyxyyyzyyzyyyxyxxxxyyyyyzyzyyxxxyxxxyyzzzzyzyyxyyyxyzyyyzzzyyyyyzxxxxyyzyzyzzyywxyyyyyzzyzzzxyyzxxyxyzyyy{yzyxzyxyyyyyyzzyzxyyyyxxyyyyzyxzyzxxxyxzyxyyyzyzzyyxyyxxwyyzyyzzyyyxyxyxxyyzzyyzzyyxyxyxxxyzyzzyzyyyyyyxxxyyzyyzzzyxyyyzxxyzyyyyzzzyxyyyzzyyzzyzzzzyyxxyyzzyzzzz{{yyyxyyyzzzzyzzzzyyyzyzyyyzz{z{yyxxxyyxxyxyzyzy{yzyxzyyyy{yyyy{yzyyzy{yzzy{yyy{zzxzzyyzzyyyyzyzzzyzyyyyyxyzz{{{zzzyzxyyyyz{yzzzzzzzyzzyzz{yyy{{{z{zzx{yzyz{z{yz{z{yzzzyyzzzz{yzyzyyyyyzyzzzzzz{zzyyzyyzyyzzz{zzzzyyzxxyyzyyzzzyz{yxyyyyzyzzyzyzzyyyzyyxyxzyzzyzyxxyxyxxyyyyyyyyxyxxyyyyyyyzzyzzz{yxyxyyyyzxyzzzzyyxyyyyyyzzyzyy{yyyyyxxyyyyyzyyzzyxxyyyyyyzyyyyzzyyxzyxyxzxyyyyyyxyzxyyyyxzyyzzzzyxyzyxyxxyyzyzxyyxzyyyyyyyzxyyyzxyxywyyxyyyyyzyyxyyxyxyyyyzxxzyzyyxwxyyyyyzxzzzzyyyyyyyyxzyyzzyyzyyxxyyzyyzyzzzzyyyyyyyyyzyzyzzyxyyyyxyyzyyyyzzzzyyzzxzyxyz{yzyyyzzyyzzyyzzzyzyzyyxyyzyyzyzzyzzzzzyyzyyyyyyzzzzyyyyyyyyyzzxzz{{{yzyzyyyzzzzzz{{zzzyyyyzxzzzzzzz{{zyzyzyz{{{yzzzzzxzyyyzzy{{zzz{|zyzyyyyzz{zzzzz{yyzzzyy{zzyzzzz{yyzzxzyzy{{{zzz{zzyyzyyyyzz{zz{yzyyyxyyxyzzzzzzzyyzyyyzzyzzzzzyyyyxxyxyxzzyyyyzzxyyyyxwxzzzzyyyzyxyyxyyyyyyyzxzxyyyyyyxxyzzyxyyyyxyxyxyxzyyyyzyzxyyyyxxyzyxyzzzzyyxyyyxyzyyzyzyyzyyyxyyyy{yyz{yyyyxxxxxyzyzyyzyzyzyyxyxxzyzyyyzzyyzxxxyzzyyyyyzzyywyyxyyxyxzxyzzyyyyyyxyzyyzyzzzyxyyzyyyyyyyyy{zyxyxyxxxzzyxzx{zyyyyzyyyzyzyzzzzyyzyyxyxzzzyzzzzzyzxzxzyyzyyzzz{yyyyyyyyyyzzzzzyyzyzyyyyzyyzyzzyyyzzxyyyzzzzzyzzyzyyzzyzzzz{yz{zzyyzzyyyzz{{zzzzzyzzzzxz{zyzz{zzzzzyyy{yz{zzzz{zzyyyzzzzyzyz{zzzzyzzyyyzyzzzzzzzzyyzzyyzzzyzz{z{zzzzyyyyz{zzzz{zyyyyzyyyzzzzyzzz{yzxxzyyzzyyy{zyxyyyyxyyyyzyyzyyyyyyyxyxyyzyxyzyyxyyxxyyyyyyy{yzyxxyyyyyyyzyzyzyyyyzxxyyzyxyzy{yzyyxxxyyyzzyxzzyxxyyyyyxxxyyyzyyyyyyyxyyzyzyy{zyyyzyyyyyzyyzyy{yyyyxyxyyyyyzyyyyyxyyyxxyyyzyzzzzyyyyxyxyyzyzyzzzzyyyyyyyyzyyzzzzzxzxyyyxyzxzyzzzyyyxyyxyyzyyyyzzyyyzyzyzyyzyyzzzxxzxywyyyzzzy{zzyzyyyzzyzzzzyy{zzyxyxxzyz{yzzzyzyyyyzyyy{{zzzz{zyxyzyyyyy{zzyzyzzzyzyzyzzyzzz{yzzyxzzyzzzy{zzy{zyzyyzyxyy{zz{{{{zyyy{zyy{zzzz{z{zzzzzzyyzzzzz{zz{yzyzyzxx{z{z{zzzzzyyzzxzzzyzzz{zzzyzyyzzzz{zzzzzzzyy{xzzzzzzzzzzyzy{zzyzzz{zz{zyyyzyzyyyzxzzz{yyyzyyxyxyzzyzyyzxyxyyyyxxzzzyyzyyzyyyxyyyxzzzz{ywyyyxyyyyzyyyzzzzyzzyxyyzyzyzzyzyyyyyzyzzyzzzzyzywzyyxyyyyzyyzyyyxyxyxyyyzzyxzzyyxyyyzyyyyyyzy{zyyyxzyyxyyyyy{zyyyyyyxyxyyzxzyzzzyyyxyyyxyxzyzzyzxyyyyyyxyzyyyyzyzyy{yyyyyyzyzzzyzyyyzyyzyyyzzzzzyyyyxyyzzzyzzzyzyzyxyyzyy{zzyzzyzzyyyyyyyyzzzzzzzyyzyyyzzy{{zyzzyyxzyyyzzy{zz{yzyxyzzyyyy{zyyzzyzyzzzzzyzz{{zzzxy{zzyzy{zzz{zzyzyzzzzyy{zzz{z{zzyzzzyyyz{zzzzzzzzyzyzzzzyyy{z{|zyyzzzyyz{yz|{{{{yyzyyyyzzzzzzzzyzzzzyyzzzzzz{z{y{{yzzyzzzzyy{zzyzyyzyzzy{zzzz{{zzyyyzyzz{yxzyz{yyzyyyzyzy{yzzyzxyxxyyyyxzyyzyzzyyyxyyyxyyzyyzzyyyyyyyxxzxzzzxz{yyyyxzyxyyzyyzzzyzyyxyxxyzyyzzzzyxzyxyyyyzyxyzyyzyyyzxyxyzyyyzzyzxxxyyxxzyyyzzyzyyyyyzyxzyyyyyyyxyxyxxyyzyzyzzzzxyyyxxxxyyyyyzzzyyyxxxxxyyyyzyyyxyyxxxxxyyzzyzyyyxxyyyyyyzyyzxzzyyzzyxyyyzzzyyzyzyzyyy{xzzzyzyzzyyyyyyxyyyyyyzzzyyxyyyzyx{yzzyyyyzxyzyyyzyzyyzzzzyxzzxzyzz{zyyzyzxyzyyyyzy{{z{{zyzyxzzzyyzy{{zz{yyzzzyzzzzzz{z{{zzyyzyyzz{yzz{zz{zyzyzzzzy{{z{z{zyzyzzyxz{zzzz{z{yyzyyyy{zzzyzzyyyyyz{yzyzzzzz{{zzyzzzyy{z{zzzz{yzyyyyyyz{yzzzzz{zzyyyyzyzy{yyzzzyxxzyzzzyz{zzzxyyyxzyxyyyzyyyyyxyxyyxyxyyzyyzzzzzxyxyzyzyzyyzzzxyyyxyxyywzzyyzyyzyyyxxxzyzzyyyzyxyyyxyxyyxxxzzyxxyxyyyyxyyxyzzzzxyyxyxxyyxyyzzzyxyzxyyvxyzyyxyzxxxyyxyyxyzxzyxzyyyyxyyyxzyxyxzzyyxyzwyxyyyyyyyyyxyyyxxyyyyyyzzzzxzxyyyyyyzzyyzzyzzyxwzzyyyxyyyzyxzzyxzyyzyzy{zzyzyzyyyzzyzyyz{yyyxyyyyywyyzyzyzyyyyyyyyzyzyyz{y{yxyyxyzzyzyyyzzzyyxyyzyzyzzz{zyyyyzyxyyzzzzzzzzzyyzyyyyzzzzyzzzzxyyyyzyzzz{zz{z{zyyzzzzyzyy{z{z{yzyyzzzz|zzzz{yzxyyyzyzzzzzzz{zyy{yzzyzzzzyz{{zzzyzyzz{zzzzzyzzzyyyyyyyzyyzzz{zzyzzxxyxzzz{y{zy{zzxxxyxyyzzyyyzyxzxyxyxyzzxyyzzyyxxxxyyyyzx{zyyzyyyyyyyyzyyzzzyyyzyxyxyyyzzyyzzzyyyyxxxyyyzzx{zyxyxyyxyyzxxyyyzyyzxyxyxzxyyyyzyzxxxxyxyyyzyyzzyyyxxywyyzyyyyyyyyyyyyyxyyyzzzzxyzyyyxxyyyzyzyzzzyyyzxxyxyyzyzzyzzyyxyxyyyyxyzyzzyyyyyyxyyyzyzyzzyyyxyyyzzzyzyzy{zyzzyxyyyyyzyyzzyyzyxxzyzz{zzzz{zy{yzyyyzzzzzzzzzyyyyxxyyzzzzzz{yyyyyyyyyzzzyyzzzy{xyyyzzzzzzzyzxyyzyzyzzzzz{zz{zzzzyyzyzz{zz{zzzxzyyxyy{yyz{{z{yzyzy{{yzzzz{zz{{{zzzyzzz{zz{{{zyyzzz{yzz{{z{zzyzxzzzzzzzzzzy{z{zyzzyyzyzzzzzzyzzyxyyzzyzzzz{y{yzyyyzyyyyzy{zyz{yyzzyxyzyyzzzzyyyyyxyxxxwyxyyzzzyyxwywxxyyzzyyzyzyyyyxxyyz{yzzzyzwyyyyyyyzyyzyzyyxyyxyyxyx{yzyzzyyyxxxyyxzyzyzzzyyxyyyxxyyzyyzzyyyyxyywxyyyyyyyyxxywxyxxyyyyyyyyyyyxyyxxx{zyyzyzyyyyxyxxyzzyyzzyxxyxyxzyyyyxyzxzyyywwxyyxyyyyyzzzxyyyyyyyyyyyz{yyxyxzyyyyzzzzzy{zyzyyzyyzyzyzzyzyzzyyzxyzyyyzz{zyyyyxxyyzzzzz{zzyxzyyxyxyzzzy{zzyyxyyzyyzyzzzyyz{zyyyyyzyzzzzz{zyzyzyzzyyzzzzz{zyyyzyzyyzyz{yz{z{yyyzzzxz{zzzzzzyyzyzzz{zzyz{{zz{zyzzyyyy{z{{{{{zzyzyyyyzz{z{{zyzyxyzzyzzyzzzyzzzzyyzzyyzz{{yzz{zzzyyyz{zzyzzzzz{zzyyyxyyzzzzz{yyyyxxxyxyyyyzxyyxwxxxxxxxyyyxyyzyyyxxxywxyyyyzyzyyyxyxyxyyy{yzyyyyyxyyxyyzyzxxyzyxxyxxyxyzyyzyyzyyyzyyxxyyyxzxzzyxxxyyywyyyzyyzyzxyxxxyxyyyzzyyyyxxyyxyxxyyyzyyyyxxxxyxyxxzyzyyyyyyyxxxzyzyxyyxyyyyxyxxxxyzxyyxzxyyxyyxxxxyyyzyyyyxyyxxyyyyzyyzyzyyyzxyyzyxyy{yzxyxxxxxyzyyxyzzzxyyyyyyyzyzyyz{yyyyyyxyxyzxzxyyyyxxyyyzyzyzxyzzyzxyxyyyyyzyyyyyzzzyyzzyzxzzzyzyzyyzyyzzzzzyz{z{yzyzzyyyxzzzzzzzzyyyyyzzy{{zzzz{zzyyzyyyzzzzzzzyz{yzzyzyzy{{{zzz{zzzzyyyzzzzzzzz{{yyzzxyzzzxzzyzzyzyyzyyyzzzz{zzyyyzyyyzzzyy{yzzzyyyzxyxxzyzzyyyzyyzxyxyyzzzzyzzyyyzxwxzxyyyyyzzzzyyyyxyyyzyzyyyyyyxxyyyyyyyzxyyyzxxyxyxxyyyzxyzyzyyxxxxxyyyyyzyzxxyxxyxyyzzxyyzyyyyywxxxyzzyyyyyyyzyyxyxzyyyyzxyxyxyzyxyyzzyyzzzyyxxxyyyxzyzzyyyyxxxxxxyxyyyzy{yxxyxyyxyyz{yxyzyyxyyyyyyxyzyyzxzyxyxzxyy{yyxzyzzyyyzyxyxyzzyyyyzyyyyyxyyyzyzyzz{xyyxyyyxyyyyzyzyyzyyyyyyyzxyzzzyyxyyxyyyy{zyzz{yzyyxyyyyzyyyyz{zzyyxyxyzzyyzzz{zyyyxyyyzzzzyzzzzyzyyyyzyzzzzzzzzzyyyyyyy{zyz{z|{yzyyyzyyzyzzz{zzzzzyyzyzyzyyzzzz{zzyyzyyyz{{z{zz{yyyzyzzzzzz{{z{zyyyzyyzzzzzz{zzzyyxyyyyzzzxyzzyzxyzyyyyzzzzzyzyyyxyyyyyzyzzz{yzyzzxyyxxxyzyzyyzyyxxyyxxyyyzzzzzyyyxxyxzzyyxzzzzyyyyyzyxyzyzyyzzyyyyyxyxzyxzyyyzyyyzxyxzyzzzyzyzyzyxyyxxyyyyxzzzyxxyyyyzzyyzxyzzxyxyyyxyyzyyzyzzzyxyyxyyyyyyyzzyzxxxxyyzyyyzyyzzzxyzyyyyyyyzyyyzyyyyzyyyxzyyyzzzyyyyyyyyyyyyzzzzzyyyyzxyyzyzzzzzzxyzxxwyzyyzy{z{yyxzxzzyzzzzzyzzyyxyzxxyyzzzzzzyyxzzzyyyyzzyzzzyzyyzzxyy{yzyzzyzyyzyyyyzz{zzzzzzyyyyzzzyz{yzyzz{zzzyzyzzyzzz{zz{yyyyzzyyz{z{z{{zyzzyyz{zz{zzzzz{z{zyyzyyz{{z{y{zzyz{zxyzzzzyzyz{zyzxyyy{{zyzzy{zzzyzzzzz|{{zzzzzyyyyyxyzzy{zz{{zzyyzyzyyzzzzzyzzyzzyyyyyzzzyzzyxxzyxxxyyyyyyyyyzyyxyyxyxzyxzyz{zyxyxyyyxyyxyyzzzyyyyzyxzxy{zyzzzyyyxyyxxyyzzzyyzyxyxyyyxyzyyyyzzzxyyxxxxyzzzxyyzyxzyxyxzzyyzyy{yxyyyyyyxxyzzyyyyyyyyyyxyxyyzzyyzyyyxxzxyyzyzyyyzzyxywyzyyxzzyzyyxyyxyyzxxyxzzyzyyyyxyyyyzzyyzzzyyxxxyxzyyzzzzyy{yyyzyxzyyzyyyzzzyyyzzyxyyzyyzyzzzyyyyxyyzzyyyyyyyyyxyzyxzzzz{z{yyzyyyyyyz{zyz{zxzzzxyyyzyzzzzz|{zyzyzyzy{zz{zzzzzyz{yyyzyzzzzy|zzyyyxzzzyz{yz{zzyyyyyzzzz{zzzzz{|yzzzyyyy{zz{{{{z{yyzzyy{z{yz{{zzyzyyzyzz{{{zzzzzy{yzyzyzy{z{zz{zyzyyyxzzy{zzz{{yyyyyzyyzx{zzzyzxyzxzyzyzzzyyyyzzxyxyyyxxzzxyyzzxxyxxyxxxzzyxzzzzyyyxyyxzyzxzzzyxxyyyyxxyzyxxyyzyyyxxxxwyyzzyyyzyyyyxyxxyzyzyzzyyxyxxxxxyy{yxyyyyyyyxyxyyyzyyxyzwyyyyxyyyzyxyzzyyxxxxxxxyyzyyzzzxyyxyyxyyyyzyyzyzyyyxxyxxyyyyyyyyyxxyyyxyzyxzyzyyyyxyzxxyzyzyyz{yxyyyyyyxyzzyzyzyyzxxxyxzzyzyyyzxyyyyyxxxyyzyzz{zxyxzxyyzyyyzyyyyyzyyyyxyzzyyyzyyxxyxxyyyzyyyzzzzzyyyyyzyzzzzzz{zzzzzyzyyzyzyz{zzyxyyyxy{zzzz{{y{xyyyyzzzzyyzz{yzyzxyzyyzzzzz{zz{zzyyyy{zzzz{z{zzyx{xyyyzzyyzzzyzyyxzzyyzzyzzzzzyzyxyyzzyzyzz{zzyzzyyzzy{zyzzzzzzyyyxyzyzyzzyzzxyxzyzxxxzyzyzyyyxxxxxyxyy{zyyyz{yyyxxyyyxzxyyyz{zyxxxzyyyyyzyzzyxyxyyyyxyyyzxzzyyyyxxxzyzyyzxyyzxxyxxyxxyyyyyyyyyyyxyxzxyzzyyyyyxyyyxxyxyyyyyzzzxxyxyyxyyyzzyyzyxyxxwyxxzzyzyyzyxyyyxxxxxyyzyzzxyxxyywyxyyyyyyzyzyyxyxxyxyxzzzyyxxxyzyxxyyyzyzyzyxyyyyyyyzyyyzyyyyzyxyyyzzxxy{yzxzxyyxyyyxzyyzyyyyzyyxyyzzyzzyzyyzyyyyxyyy{yy{{yzyyzyyxyy{xyyzzyzyzyyzyzzzz{zzz{yzzyyyzyyzz{z{zzzzzzzyyzz{{{zz{yzyzyzyzz{{zzzz{{zzzyyzyyzzyz{z{{zzyyyzyzy{z{zz{{zyzzzyyyzzzzzz{zyzyyzyyzyyzzzz{zzyzyyyyzzzz{zzzzzxzyyzzyyzzyz{z{yzyyyxzzyzz{zzzzxyzyyyyyzz{yzyyyxyxxwwzxzzzyxyyzyyzxyxxyyz{yyzzzxywxxyyzyyyyyyzyywyyyyyxyzzyxyzyyywxxyxxyyyyyyzzyxyyyxywyyzyyzzyyxxyyxxxyyzxyyzyxyywyyxyyyyyyyyyyywxxyxxyyyyyyyxxxyxxyxxyyyyyyyxxxyxxxyxzyyyyxzzyxxyxxxxxyzyyyyzyyzyxyxxwyyyyzzyxzyyxyyxxzzyzzzzyyxxywzxzyzyyyyyyyyyxyzyyzyzyyyzzxyyyxyxyzyzzzzzyyyyzyyyyyyyzzyyzxyyyyzxyyzyyyzzzyxzyxyyyzzyzzzzzyyxyyyyzzzzz{zzyyzy{zyyzzzzyz{zyyzyzxyyy{{z{zzyzyyzyzzy{{{y{yz{zzzzz{yyzzyzzz{zzyyyyyyyz|z{{{zyyyzzzyyxzzyzzzy{{y{zyzzzzzzzz{y{{zyyzzzy{z{zyz{zyyyyyzyyyyz{y{zzzyyyyyyyyzzyyzyzzzyyxyxzyyyyzzyyyxxxxxyxyyzzzzzzyxyyywyxyxyzyyyyyyywxyyxxyyxyyyyyyyxyxyxxzyzyzyyyxyxxxxxyyzyzzyyyyyxxyxxxzyxyyyzyxyyyyyxyyzxyzyyyzyyxyyyxxxzxzyyyxxyyywyyzyyyyzyyyzyyxxyyyyyyzyyxxyyxxxxxyxyzzzyxxyxyyzxxxzyyzyxyyyxyyxxwzyyyzzzyxyyyyyxxyyxyxy{xyzyyyxyxzyzyxyzzyyyzxxyzyyyyyyyyyyxxzzyxyyyyyyzyxyzyxxyyyyzyzzyyyyyyzxyzzyyzzzyzzyzyyxxzzyyz{zyxyxyzyyz{yy{z{{zyzzyyyyyyzyzyz{yzzzyzyyyyzzzz{zzzyyzzyyzzzyzzz{yyzzzyyzyy{zy{zzzzyyzyzyyzzyz{z{zyzzyzyyzzzxz{z{y{yy{yyyzzz{zzzzzyzyyzzyzzzyzyzzzzyzyyyxzyzz{yzzyzzzyyyxyyyyzzyzzzzzyzxyyyzzyzyyyxyyyyyyxyyzxyxyyyyyyyyxyyzzyyzzzzxxyxxyxxyyzzyzyyyxyyzyxyzzzyyyzyyxxxyyxzyyzzxyyyxyxyyyxxyyzyzzyyxxyxxyyyzzyzzzyyxyxyyxyyxyyyzyyxyyxxyxyyyyyyy{zzyxyyyxyxzzyzxyyyyyyxyyxyyxzyyyyyyyxyxyxxyzyyyyzyyxyyxxxxyyzyyzzxyyxyyyxyyyyyyy{yyyyyyyyyzyzyzyzyyyxxyzyyyzyzzyzyyxyzxxyzyzzzyzzyyyzyxyxxzzyzyzzyyyzyzyyzyzzzyzzyzyyyyyyzzyyz{zz{zyyzyyyzyzzzzy{zyyyzyzzzzzzzz{zyyyyzyzzyyzy{zzyzyzy{zyyzzzzzz{{zyzyzzzyz{zyz{zyzzzyyzyzzz{{{{z{zzzyyyzyzzzzzzy{yzyzyxyyy{zzz{z{zzyzzzzyzz{{zz{{zzyzyzzzzyzzzzyzyzyzyyyxyzzzz{zzzyzzyyxyzzzzyzyyxyxxyyxyxyyzyyzyyyyxxxxyxyzyyzyxyxxyyyxwyyyyyyxyywyxyyxxyzyzxyyyyyxyxxyxyyyxzzxzyxyxyyxxxyzyxyyyyyyxxxyyyzyyxyyxyyxxwyxyyyyyyzyxxxxxxxxyxzyyyyyyxyyxyxyyxxzzyzzyyxzyxyxyyyyxyyzzzxyxyyxxxyyyyzxyyyxxxxyyxyyyzzzzyyzyyxxxyxzzyzzyzzyyxyyyyyyyyyyzzxyyxxxx{zzyyyzzyxxxyyxzzzzyzzzyyyyxyyyyyzyyyzyy{yyyzxywzyyyyyzyyyxyyyxyz{zyy{zyyyyyyxyyz{yzyz{zyyxyyyzyzzz{zz{{xyzyyyyyzzyyzzzyzyyxyyzyz{yzzz{zzzyyzzzzzzzz{zzzzzzyyzyzz{zzz{z{zyzzyyzx{zzzzzzzyyxyyzxzzzyyzzzzzzxzyyyyz{yzzzzzzyyzyzxyyyzzyz{yzzyzyyyyyzzzzyzzyyyyyzyyxzzyyzyxzyxxyxxxyyxyyxzyyxxyyyxzyyyyzzyzzyyyxxyyyyyyyyzzyyxyyyzyyzyzyzyyyyxxxxzxxyyyyzyzzzyxxwyxxzyyzzzzzyxyyxxxyzyxyyyyyyyxwzyyyyyyyyyyxyyyxxyyxzyzzzzzxyxyxyxyyxzyzyyxxxxxxxyxyyyzyyzzyyxxyxywyzyyyzzyxyyyyyyxyzzyyyyyxxyyyxxxzzzzyz{yzyyzyxyyyyzzyyyzzyyyxxxxyyzzyzzzyyyxxyyxzzyyyzzzxyyyyyyyyzxyyzyzzxzyyyxxyzzz{z{yzyxyyyzyzzyyzzzzyyyyyzyyy{yzzzzyyyyxzyzyzzyzzzz{zzyzyzyyyzyzy{{zyyzyzyyyz{yyzz{zyzzzyyyzzzzzzzyzyzyyzyzxz{yz{zy|zyzyyyzzzy{zzzzzyyyzzzyyzzyz{z{zzyyzzyzzz{zzzz{zyzzyyyyyzz{zyzz{{zyyyzyxy{{zzyyyyyyzzxxyyyyzyzzyyxxxxyyxyyyyzyyyyyxyywxxzxyyzzzzzzxxxxyxyyyz{yzzyxyyyxwxxzzzyyyyxyxyyxxxyyyyxyyzyzyyywyyyzwxyyzxyyyyyxxwyxzyxyzxyyyxxxyyxyyyxyyyyxyyxwyyyyyzyzzxyxyxxxwyxyyxzxzyyxyyxyxyxyyyyyzzzxxyyyyyyzyyxyyxyyxyxyxyyyxyyzzyxyxxyxyyyzyyyyzyyxyxxyxyyyzyyzzyxyyyxyyyzyzyyyyzxxyyxyyyyyyzyyyzzzzxywxxxy{zyz{yyyyyyyyxyyzyy{zyyyyyyyyyyzzzyyyzzyyyyyzyyzz{z{zzxyyyyyyyyzyzzz{zxyxzyyyyyzzy{z{zyxxyyyyyzzzzy{zzzzzyyzyzzzzz{zz{zyyyyzyyyzz|zzz{{zyzyyyyzzz{zyzzzyxyyyyzyyyzzzzzzyyz{xyzzyzz{zzyzyyxyxyyyzyyzzzzyyxxzxyxxzyzzzxyyyzxyzxyyzzzyyyyxyxxyyyxyyxzxyyyxxzyyyxxyyyyyyyzyxxyxyxyzxyzyyzyzxxyxyxyyyyzxyzzyyxxyyyxyzyyyyyzxyyyxyyxyxyyxzyxyyzxyxyxxzyyxzyyyyxyxxxxyzxzyyzyxxxxyyxxyzxyyyzyyxyyxxxxyyyyyyyyxyyxyyyyyzzyyy{zyxxyyxxxxxxxyyyzyxywyxyxxzz{yzyzyyxyyyxyzzzxzyzzyyyyyxyxzzyyyzyzyyyxxxyxzyyzyyyzyyyyyzyyyyyyzyzyzxzyzxyxyzzzzzxzyyyyzzyyxzzzzyzyyyxyyyyy{{zyzy{yzxxxzzyzzzzzyzzyyyzyzzyyz{zzz{z{yyzyyyyyzzyzyzzzzxyyzyyzy{z{{zzzzyzzyyzzzzyzzz{z{yyyyzyzz{zzz{{{zzzzyxyyzyzzzzzzzxzyyyyzyyzzzyz{z{zyzzy{zyz{z{zzyzyxyyzyy{yzzz{{zyzyzzyyzzzzyzzzzy{yxyyz{yzyzyzyzyxyyxyyyzyzyyzxzyxyyxyxy{zyy{zzxyyxxyxyyzzyyzzzyyyywyyxzyzzxxzyyzyyyyyxzyyzzyyzyxyyyzxxyzyyzzzyzxyzxxxyyyzxyzzyxzzxyyyyyzyzwyxyxxyxxyyxyyyzyyyyzyyxwyyyyyzyzyyxyyyzxyyyxzy{yxyyxyxyxxyyyyyzyzzyyyyyzxxyyzzyxzyyzxzyyzxxzzyzyyzzzyyyyxzzzzyzzzzzyyyyyyyzzzzzyzzzxyyyyyyyzyzyyz{zyyzyzyxxz{yyzyzzyzyyxyzyzzy{yzzzyyyzzzz{zzyzyzzzzyxyyyyyxzzzz{zzyyzzyyzzzzzzzz{{yyz{yzyyzzz{{z{y{yxzzyzyzzz{z{{|yyzx{zzyzzyzz{zzzzyxyzzyz{zzy|z{{zzyzzxyz{z{z{{zzzxyyzzyzzzz{zz{{zyzyzxz{{z{zzzzzzyxzyzyyyyzzy{zzzzwyyyyz{{zzzzzzyyxxyyyyyzyyzyyxxxyyxyxxxyyyyzyzxyyyxyxxxzyyzyyyxyywxyyyyxzzyyzzxxxyyyxyyxzyyxyyyyxxyzwyyyzyzzzzyyyywxyyyyxzxzyzxzyyxwxxyzyyyyyyyyyxyxyxzyzzyxzyyxyzxyxxyyzxyzyxyxyxxxyyyzxyyyyyyyyxyyzyyyyyyzxyxyxyyxxxyyyzyyyyxzyyxxyxzyyyyyzxxwyxyyxyyyyyyzzyyyxyyyyyyzzyyyzzzyyyyyyzyzzzyyyyxyyyzyxxzyyyzzyyyyxyxxxyzyyzzyyzyyyyyyxyyyyzyzzyyyyyxxzzzzyzzzyzyyyyyzyzz{z{zzzyyzyyzyzyzz{zzz{zyxzyyyxyzzzzzzzywxyyyzzz{zyzz{zzyxzyyzyzzzzzzzzzyyzyyzyz{zz{zzzyzyzyyyy{zyz{zzzzzzzzyzyy{zzzzz|{zzyyyyxzzzyz{zzzyyyyyxyyyz{z{zzyyzyzyxxyzzzzyzyyyyyyyyyzzzyzy{yyyxzzyyyyzzyyyzzyxyyxxxxxyzyy{yzzxxxxxxzyyyxy{zzxyyxyxyxyxyyyxzyzyyyyxxxyyyzzzzzyxyxxxyyyzyyyzz{zyyxxxxxyyyxyyyzyyzxwyyyxyyyxzyzzxxxyxxxyyzyxyzyyxxxxxxxzyyyyzyzyyyyxxwxyyyyzyyzyyyyyxxyzzxxyyyzxyxxyxxyyzyyyzyxyyyyyxxyyyyyzzzyzyyyzxyyxzzzy{zyyyyyyxyyxyzyy{zyyxyyyxyyzyzyzyy{yyzyywyxyzzzzzyyyxxyzxxxyzzyzy{yzyxzyyzyzzyzyyzz{yyyzzyyyz{zz{zzyzyyzxzxzyy{yzzzzzzyzyyyzzzzy{yzyyzyzyzyzzzzyzyzzwyzxzyyz{yzz{{{zyyyyyxyy{z{y{zzzyzyyyzzyzyz{z{z{yzz{zy|zyz{z{zzyzyzzzyyzzz|zyz{zyxyzzyyzzyzz{{zzzyyyyzyzyzzyyzyzyzyzxyyyzzzzzyzzxyxyxxyyyyyyyyzxxxxxxyxyzyyxyzzyyyxzyxxyxxyyyyyxxyxyxxxzyxxyxyzxyxxxxxxyzyyzxwyyxyxyxyyxyyyyzzxyyyxxyxyyyyxwzzywxxxwxxxyxyyyyyyxxxxyxyxxyyyyzzyyyyyxxxxzzyxyyyxyyyxxyzyyyzyxzzzyyyxxyxxxzyyzyyzzyyxxxwyxzyyyzyzyyyzyxyyyzyyyxzyyxyxyxwxyyyzyyyyyyyyxyyyyyyyyxzzyxyyxyzxyzyzyzyzyyyxyyxyzxyyyzyyzyyxyyxyyzyyzyzyzyyyyyxzzzzyzxzyyyyyyyyyzzzzzzzyyzyyyzyxzyzzyzz{yyyyyyyxzzyzzyz{zxxyyyyyyzzz{{zzzyyyyzxzyzzzzzyyzzyyz{yyy{zzz{z{zyyyyyzzy{zz{zzzzyyyzyzzyzzyyzzzzzyyyyyyyzzzzz{zzyzyyyzyzzzzz{yyzzyyyyxyzzyzyzzyyyzxyzyxzzyzzzyyyxxxxxyxyzzzyyyzyxyyyyxxyyyzyzzyzyyyyxyxyzyy{yz{xyzyxxyyxyyyyyyzyzxxxxxwyyyyyyyyyxzyyyyyyyyyyyyyyyyxyxxxxyzyxyyyyyyyxxyyzxxyyzwyyxxyyxzxzyyzxyyzyyxyyyxyyzzyyyyzyyxyxyyxyzxyzyzzyyyyxwyxxxyyyyyyzyxxyyyyyxyxzyyzxyyxyyyxxyzyyzzyzyyxyyyxyzyzyzzyyyyyyxyxzyzzyzz{yyyyyyzyyzzyyzzyyyyyyxyxxzzyzzzzzyyyzyxyyzzyyzyxyyyyyyyz{zzyzy{zyyyzzyyzzzzy{zzyxzzyyzzyzzyyz{{yyzyyzxyyzyzz{zz{zyxzzyyyyzzzzzzyyyzyzyyzz{y{zz{zzyyyzyz{y{z{z{zzzyzyyyy{zz{zzz{zzzzyzyyzzzzzz{zyz{yzzyyy{zzz{zz{zzyyyyyyzyyzz{{yyzyyyyyyyzyzzzyxzyzyyxyxy{zz{yyyxyxyyyywxyzyxyyyxxxyxxxyxyyzzyyyyyyxxyyxyyxxyzyzyyxxyxyyxyyxxyzyyyyxwxyxzzzzyzyzyxyxyxxyyyxyyyyxxyyxyyyyyzyyyzxxyxxxyxxyxyxyxzyzxzyyxxxwyxzxxzyyyxyxyxxyyzyyzyyxyxxxxxxxyyxyyxyywyxxxxywyyxyyzyyyzyxxxyxyyyyyyy{xxxyxyyxyyyyzyzzzyxyyyyyyyzyyyyzzyxyyxyyzyyzzzzyzywyxyyxyyzzxyyyxyyxyxxyxz{zzzyzyxzyxzzyyyyyxyzyyyyyyxxyyzzyyyzyyyyyzyyzzyyyzz{yyyzxzyzzzzyzzyzzzyzyyxzxyyzzzzzz{xyyyyyzy{{zzyyyyyyzzzyyyyyzzyz{yyxyzzxyz{z{yy{zzyyzyyzyzzzzzzz{zyyxyyyzyzyzyz{{yyyyyzyzy{zzz{yyyyyzxyyyyzyzzz{yzyzyyyxxzzz{yzyzyyyzyxyxyz{yyzzzyyxzxxyxyzyxyyyzyyxxyywyyyyyzzyyyzxxxyzxzzyyzyzyzyxxxxwxzzyzyyzzyyzxxyxxyyyyzyzzxyxyyyxxyyyyyzyzyyyyyxyxyzzyyyyyyxyyxxxzyyzyyyyyxyxyyzyxyyyyzyyyyxxwxywxzyzzyyyyyxxyxxxyyyxyzy{yyyyxyxyyzyxxyyyxyyyyyyxxyyyyxzy{xyyxyzywyyzzzyyzyxwxyxyyzyzyyyzzyyzyyxyxyyzzzyy{yyyxxyxzzzyzzzzyzzyzyxyyyyzzyyzzyyyyyyxyyzyzxz{yyyyyxyyyzzzyyyyzzyyyyyyyyyzzyz{yzyzyxyyyyzzzyzzzzxyyzxxxzzzzzzy{yyyzyyyyzzxzz{yyyyzzz{yzzz{yzz{zzzyyyzyzzzyzz{y{yzzyyyzyzzzz{zzyzzzzyyyzyyzz{zzzzzyzzyxy{zzxz{{{zy{zyxyyzzyzyz{zzzyyxzxyyz{zz{yzyyzyyxyxyzzy{zzyxxxxyyxxxyyyyyzzywxyxxxxyzyyyyzyyyxxyyyxyyzyyyzyzyyzywxxyyyyyyxyzyxxyxyxyyzyxyzyzzyyxxxyyzxyyy{yxyyyyyyyyxyzyzyxyxyxxyxyzyxyxzyzxyyyxxxwyyyyyzzyzyyxyxxxyyyyyyxyyyzyyxyyxyyyzyzyyxxxyyyxxyxyyxyyxxywyyxyyyxyyzyyyyyyxxyxyyyyyyzzxxyyyxyyyyyzzyzzyyxxyxxyyzzxyzzzyyyxyxxyzyyyyyyyzxyxxyyyyzyzyzyyyyyzxyxyyzzyyzzyzyyyyzyxyyzyyzzzzzyzzzzyzyzzz{yzyzyyzyzzyzyzyzzzyzx{xxyyz{zzyzzyzyyyyyyyzzzyzzyzzzzyzyzyz{yzzzzzyyxyxyyzz{{z{z{y|xzzyyyyzy{z{zzyzyyyyyxzzyzzzzyyzyyzyzyzzzzzzzyyyzyyyyyyyzz{yz{{zyyyyyxxzzzzzz{zzyyxzwyxyzyzyyyzyzxxyxyxyyyyyyyzyxyxyyxyzxyzyyzyyyzxxxxxyyyzzyzyyyyyyywxzyyyyxyyyxzxxyywyxyxxzyzxyxxxzywyyyxxzyyzyyyxxyyyyyyxyyyyxyxxxxxyyxxyyyzxyxxxxwxxyxxxyyyxxxxxyxyyyyxzxyyyyyyxxxxyyxyyyzzxxyxxyxxxyzxyyyyyxyyxxyzxyyyyyyzxyyyyxxxyyxzzzzyxywxxyxzyyyzzyzyxyxyywyyxzyzyyzyxxyyyxxyyzzzzyzzxyyyzxyyxyzyyzzyyxyyxwxxzy{zyyz{yyyzyxyzyyyyyyzyyyyyyyzyyyyzy{{zyyzyzzyyyzzzzy{zyzyyyxyyzzzz{z{{zyyx{xzyzzyzzzzzzyyzx{zzyyzzzzzyzyzyzyyyz{yzz{zzzyyzyyzyyzyyyzzzzzxzzyyyzzzzzzz{z{zyyyyyyz{yzy{{zzzxyzyzzzyzyzyzyzyzxyyyy{yzyyzzyyyyyyxyzyzyyzyxzyxxyyxxyzzyyyzzyyyyyyxxzyzxzzyzyxyxyxyxyyyyzyzyzyyxxyyzyyyyyzyxzzyyxxyzyyyzyyzzwyzxxyyxyzzyyzyyzxzyyxxxyyzyyxzyyzyyyyyxxyyyyyyzxyyxyyxyxyxzy{zxxyyyyxyyyxyzzyyzxyyxyxxxyyyzyzzyxxyxxxzxxyyxzyzxyyyyyxwyxyy{yzzyyxyyzyxxyyyyyyyyzyyyzxyyzzzzzyyzyzyxxxzyzyzzzzzyyyxxxzyyyzzyyyzzyyyyxyxyyyyzyzzzzzyyxyyyyzzzyz{zyyyyyxyy{{zyz{yzzzxyyyyyzy{zz{yzxyzzxzyyyzyzz{{zzzzzyyyyzzyzz{z{|yzyzxyyzzyzzz{yzzyyzzyyzzzz{zz{{xyyyzyyy{zzzzy{yzzzyyyyzz{zzyzzzzyyzyxzzyzyz{z{zyyzzyyyzzz{yzzzyyyyyyxyy{yyz{{zzyyyyyyyy{zzyyzzxyzxxyyy{yx{z"Fx5a+ |{z||zz{||{{z|{||{{{|{{||{{||||||{{{|{z{|{|{|{|{{z{z{z{{|{{|{}{{{zz{zzz{{{{{||{{{{{z{z{{||z||{{{{{{{zyy{{|z|{|{{{zyz{{{{{|{{z{{zzzzzzz{{z{{{|{{{zzz{zz{{{||||z{{zzy{zz{{|{z{z{|{z|{zzzz{{{{z{{{{zzzz{|zz{z{{|{|z{zz{{{zz{{|{{|{{{z{zy{z{{{{|{{{{{{z{z{{{{{|z{{{z|{z{{{{{|{|||||{{{zz{{{{|{{{{{{{{{z|{z{{{{{{{||{z{{{z{{|||{{{{||{|z{{|{{}}|{|||z{||{|||{|||}|}||{z|z|z{{|||||||{{{|{{z{{||||}|}{{{{{|{}||||}}}{{{z{|||z|||{||||}{{||{{{|}{{|}{{||{{|}||{{{|{{||{{{|{|z||{{|{|}~{{{{{|{{z{|{{||{{|z{{{{z{||{{{{|{z{{{{zy|{{|||~|}|{|||||||{{{{|}|{{|{{{{{{}|}}|}|{{z|{{{|{{|||}||{|{zz|z|{|{|||{{{{{{{zz{|||{||}|{z{{|{{{||{}{|{|{|{yyz|||{{||{{{z{z{{{zz{{{||||{{z{{zzzz{|{z|{{|{|{{zz{{|||{{{|{z{|z{{zz{|||{||{{{z{zzz{{{{{|}{{{{zz{z{{{{{{||{{z{{{{z{{{|||{}{{{{z{{z{{{||{|||{z||{{{{{|{||{{|{z{{|{{{||{|}|}|{z{|{z{z{||{{z|{{|{{|{{{|{|{|{|{{{{{|{{||{||{{||{{||{{{|}|||||||{|zz{||{{{{}|||}{{{{{{{{||}}||}||{|{|z|z||||}{|}|{{{{||}||}|||}}}{|||}{||}}||}|}|z||}{|{||||||{||||||{z{||||}}|}||||{|{||||{||||{{{|z{||{}z{}{}|{|{{{{{||||{|||||{|zz{zz||{{{|||{{{||{||{}{||||~|{{|{{{{{{|}||{||{{y|{{|||{|||}|{{{{{{{z{|||{||{|{|{{{{z||||||{|{{{zzz|{{|{{|||{z{|{z{{{|{|{{{{|{|{{|zz{{{{||{|{{zz{z{z{z{|z{{|{{{{{{{yz}{zz|{|{{{{{zz|{{{{{{{{{{{{{z{{{{{|{||{|{|{|z{zzz{{|{||{{{zz{{{{{|{{{||{}|{{{z{z}||{{|{|{{|{z{{{||{||{{{|z{{|{{{|{}z|{{{|z||{{||{{||z||{{{zz{|{z{|}{|||{|{{{||{{}|}{z||}{{{|{|{{|{|||{||{{z{{{|||||}{|{}|{{{{{{{|{|{||}|{z|||||{||||||||{z{|{{{{|||||}|}|{zz|||||}||}||||{|{|||{}}||}}}|}z{||{||||}||||}|{||||{}{}|{||{|||{|||{{||{|{|}}}z{|{z{||||z|}}|{|{{|z|{{{{{|{|||{{{|{{z|{|}|{{}{{|{|{{|}|{{|}||{|z{{{{{{{|{~|~|{z{{z{{{{|{||{{}{{{zz|{{||{{||||{{|{{y{zz|{{{|{{{{{{{|z{|{|{z{{{{|{z{{zzz{{z|{{|z{{{|{{z{{{{z{{|{zzy{{z{{|{{{{{|{{|zyz{z{|z||{|{|z{{zz{{{{{z|{||{{{zzzz{{{|z{|{|{{{{{{{z|{{{z||}|{{{{z{z{z{|{{|}|{{{{{{{{|{||{||zz{y{{|{||{|||||z{{yz{{||||}||z{{{|{zzzz{|||}|||{y|||z{{|||{|||{{{{zz{{||{||{||||{{zz{{{{{|}|{|||{z|{zz{{|{|{{|{|{z{|{{z|||{|}|||{}|{|{{||{||}||}|{{|{{|{|||||}|{||{|{|{|||||||{{{{{{{{||{{|}||}||{{{{{||{{|{|}|||{{{{|{z{||{||{||{|{{||{{||{|{|{|{z{{z{|{z|{}|||{{|{||{||||{}|}|{{|{{|||{}||{}}|{{{{{{|}||{}|}|{{|{|z|z|||}{|}||||{{{|{|||{|{{|z|{{zz{|{|{|{{}|{|{||{{{{|||{||{|{{z{{zz{{{z{||||{z{zzzz{z{{{||{{z{{z{{y{{|z||{{{{{z{{{z|{||{{|{{zy{{zz{{{zz|||{{|z{{z{z{{{|||||z{|{|{{{|{||{||{{{|{{{{z|||{{|{}{|{{{zzz{{{||{||{z{z{{z|{||||||||||z{|{z{|{{||||{{zz{{{{||||||}|{{{||{{{{{{|{||{|{{{{{zz{|}{{|}|z||{{{|{{||}}}|||{|{{||{|||||{|{|{|{{{{z|}||{}||}|{{{|}{{|||}}}}{|||{|{||}|}}}}|||||{{|{{}|||}||z{{||{{|{|{{||||{|z||}{{}|||}|||{||{z{z{||{{|{||||z{{{|{{}{{|{}|z{{{|{{z{{}||||||{{z|z|{|||}||||||{||{zz|||}|||||{{{{||{{|{{||{}|||{{z{z{{|{{|}}{|{z{z{z{{{|||{}zz{||{{z{{{{{|{z{z{{{zzz{z|{{|{|z{zzzzz{|{{z{||{z{{z{{zy{{{|{|||{y{{{{z{{{|{{|||{z|z{{{z{{{{{{||{zz{z{{{{||||}{|z{z{{||z|{|z{|{{{{z{{{{{||{||||||{z{{{{{|{||{|||{z{{{{{{{{||{{|}{z|{|{z{||||}|{|{{{{|y{{{{||{|{|{{{zz{{{|{{{}||{{{z{|z{||{|||{}{|{{{{|{{|||{}|||{{z|{{{{{|{|{||}|{{{{{|{{||||}}{|{{{||{{|}|{|||}}{||{|{||||{}||}|{{||{{}|}}}|}}|}{|{||{{|||||||||{|{{|{{||||||}}|{|{||||||||}|}}||{||{{y{||{|||||{z{{{y{||{|{z|{{{z{{z{{||}||z||||{|{{||||}|z|||||zz}{{{{}|{|}{|{{z{{{|{||{}|||||{z{{z|{{|||z|{||{{z{{{z{|{||{{|{{{{||z{{|{|{|{z|{{zz{z{||{{z|{{{zzzz{z{{|{{{{||zz|z{zzz{{{z{{||{y{zzzzz{{{|||||zz{{zz{zz{{||||z{{{{{z{zy{||{{{{z{{|{{{{|||{{{||{z{|{{z{|}{{{|||{|zz{{{|{||||{||{{|{{|}{{||{|{||{{||{z{{{|||{{{}{{|{{z{{{|||}{||{||{z{{{{||{{{|{{{{||{{||||{{|||{{{{{{z|{|}}}|||||{{|{|{|{|}}{{}|{{{{|{{{|{||{|{||{{||{z||{{||}|z|{|{{|{|||}|||}||||{{{{|}|{|}|}|{||{{{{}{|}}||||{|{{{{{|||{}||}{|}{|{|{|}{}{||}|}{{|{|{{||{{|||{{{{|{|{|||{|{|{z|{{zz{{{{|{{}|}|{|{|{z{{||{|}|}|{{{{{z{{z|{||}|{{{{{{{{||{{||||||{{z{z{{||||||{|{{{{z{z{{|{{|{}{|{{z{{z{{{z|||{z{{{|zzz|{|{{{|{|{{{z{{{{{||{{{{zzzzzzzz{{{|{{}{{{{z{z{{{z||{|{{{z|zz|z|{{||{|{{{{{{zz{{z{{{{{{|y{yz{{{z{{{{{|{|z|{zz{zz{{{||{||{|{{{z{{{|{{{z|z{{z{{{z{y}{||{||{{{{{z{z|{|{{|||{z{{|z{||{|}|{|{{zz{{z|{|}|{||{{{{{{{z|{||{{|{|||{{{z{{{||{|}|||{{{{{||{}{{{z}{}|{{{|{{|||||||}|{{|{{{{|{|}{}{}||{{{|z{||}{|{{{}}z{{}|{{{}|||||{{|{|{{||{|||}||}{z{|{{|||{|{||||{||{{{|{|||}|}||z|{{{||{{{|{{{||||{{{|zz|{{|{||{z|{{{z{{z|z|{}{||{|{{{{z{||||}||}{{{{{{z}{||||||||z{{{z{|z|{{|}{|z{{|z{|{z||{{|{{z|z{{|z||{{{||}{{|{|zz{z{}|||||{{{{{{{{z{|{||{{{z{zz{{{{{{||}z{zz{zzz{{z{{{{{{{{zzzzzzz{||z|{{{z{{{z{{z{|{{|||{{{{{{z{{z{{zz{{{z{zz{{y{z|zz{|||{{zz{{{{{{{{{|||{{{z{{{{{{{{|{|{{zz{{{{{{|{{||||{{|z{z{{|||{|{|{z{{{{{{zz{{z|{||{{{{{{{{z{|{|{|{{{{{{{{|{{{{{|{{{{z{{{{{||{||}}|{{{{|{|{{||||||}{{{|zz{|{|{{{|||{z{{{{{||||{|{|||||{{}z|{|{|{||||{||{{|{{}|||||{}{{{||||}|||{|||{{z|||{|{{{|{}|}|{z|{z|||||||}}|{{{||{{{|{||}{~|||zz{{zz{|||{||}{{{z{{{{{|{z{|{|}|{|{|{{|}}||{|}||{{||{{||||}}}}~|zzz{|{||}{{||}|{{{{{zz{}|{{{}~|||{{{|z{z||}}|||{z{{{{zz}{{{|{{|z{{|{z|{{|{{||{|{{{z{{|{{{{{{|z{z{zz{{zz{|||{|{{z{{z{zz|{|{|{|||{|zz{y{|{{{z{{{|{{{|{{zz{{{{{|zz{{{{{z{{||{{|{|zz{{|{zz{z||{|}{{z{z{z{{{{|{{||{|{{{z{{{|{{|||{|z{z{z{{{{|{|{||{|{|{{z{{z{||{||||{{|{{|z{}||||}||}{{{z{{{||{{|||{{{{z{{{{|||{}}|{{{z{|z{{}{||{}|{{{{{{{z||{||{||{{|{{|{z||||||{||{{|z||z|}{}}}||||{||{{{||||||{|}|z|||||}{|}||||}z{{{|z{|{{||~||||{|||{||||||}||{||{{{|{{||||||}|{{|{{zz{{|{||||{{{zz{z{||z|||{}|||{||{|||}||||||{{||{{{||{|{|}}{|z{{|{{|||||||||{{|z{{{{|}{{{|z|||zzz{z{{|||{||{zz{{{{{||{{|||{z{{{{zz||{{{||{{zy{{{{zz{{{{{}{|{z{zzz{zzz{{{{{zz{z{zz{{{{|{|{|zzz{{z{z{{z{z{{||z{z{zz{y{{{{|{|{{{z{{zzzz{z}z{{|{{|{{{{z{|{{{{{|{zzz|{{{||||||{|{{{{{yz|{|||{{{|{|{{z{{{z{|{{{|{{|{{{z{{|{|{||{{z{z|||{{{||{|{}|{z{{|{zz{|{{|}{{{{{{z{{{z||}||||z||||{{|{|{|||}}|z|{{zzz||||{||{|z{{{|{{||||{{|||{{z{{|{|||{}||}||{{||{{{||}{|}||{||z|z||||{|}{}|{z{z{{{|z|}||}||{|{||{|}|{}{{||{{{{{|{|||{|{|||{{{zz|{{|||||{||{z{z{{zzz{|{z||}|||{|{|||||||{}{|{{{{{{{{|||||||{z{z{{{{{{{|{}|{{z|z{{z{z{|{{|{{{{zz{{zz{{|{|||{{{zy{{{z{||{{|{{{{{zzy{z{{|{{||z{z{{{{z{{{{{{{||zz|{z{zz|z{{{{|{{zzzyzzzz{z{{||{{{{{y{{yzzz{{||{zz{{{{zz{{{{{{|{{|zzzz{{{{{{z|||zzz{{{zz{{{{{{{||zyz{z|{{|{|{|{{|{{{z|{{|{{{{|{|{z{{zz{{{|z|||||z{{{{{{{{{{{|{{{{{{z{{{{z|||{||{zzz{{|{z|{{{z||{{{{{{{z|||||{|{}z|{{{{|{||{{||||{{||{{z|{|{||||{{zz{{{{{||{|||}|{|{z|{{{|||}|||||{|{|{{{{}}{||}||z||{{{z{}}}|}{{|z{z{{{|{||{||}|||||{{{{||z|||||{{{{{{{{{}{{{{|{{{||{{{z{||{{{|zzz{{{zz{{{{{z{}~||{{{{{{|||}|}|||{{||{{|||||}||||z{{||z{||||||||{{{{{{{|{|}{|||||{|{z{|z{|{|||{|{z{zz{y{z|z{z||{{z|{zz{zy{{{{{|{{{z{{|{{{{{{{{{{z{z{{yy{{z{{{||{{{|{z{{{{||{||{{{{{zzzzy|{z||||{{zz{{z{z{{{{{{{|{z{{zzyzz{z{||{{z{zz{z{{{{{{{{|{{{{z{z|{{}{{{|{|z{{zzz{||{{||z||{z|{{z{z{{{{{|{{{zz|{zzz|z{{||{{zz{{{{{{|||{{{{||{z{z{{{{{||z|{|{||||{{{{||{}|||{||{|{z{|{|}}}||{|z{{{{z|||{||{|{{{zzz{{|||{{|}|{{{{{{{|{||||}}}|{{|{{{|{|{}||}|}|{{z{|{|{|||}|||{|{|{{{{||{|||{||{{{{{{{{|{{{{||{{z{z{{{|{{{|||{{z{z|z{{{{|{{||{|zz{z{{z{|{{}|||||{|{||{z||{|||{|{z|{{z{||{}|{}{|{zzz{{||{z|||||{|zzz|{|{|{{|||{|{z{{{z{{|{{|{||{{{{zzz|{{{{|||{{{zz{{z{{{{{|{{|{{zzzz{{{{{z||{zz{zzzzy{z{z|{{{{z{zzyy{{|{{{{|zz{zzzz{yz||{{{|{{zzzyzzzzz||{{||z{z{{zy{{{{{{{|||z{|z{{z|{{{z{}|zz{{{{{z{{z{{{||zz{{{{z{{{{{{{{{z|{z{{{{|{{||{||{z{z{{|{{|{{{{{||{{zz{{{{|{{{||{{{||z{|{|{|{{{|{{|z|{{{|{|||{|}||z|{||||||{||}||}{{{{{zz||||{||{|{{{|{{{{||{}||{|||{{{{{{{|||||}}{{{{{{{{}|{||||}{|{{{|z|{|||||{{|{{{{{||{}||{||{{{{{z{z}{||{|{||zz{{z{||||{{|{{|{z{{|{{||{|{|||{z|zzzyz{{||{|||{|}|{{|{|{~|||}|{{}z||z||{|||||}|{z|{{{{|{|||{|||{{zz{{{{{{|{{{||{{{{{{{||z|{|||{{z{{{zz|||||{}|{z{z{y{z||{zz{||{{{{z{yz||{|z{||zz{zyzz|{{||{}|{zz{zzzzzz||{|{|{zz{zyzzz||z|{{|{{z{{z{z{zz||{{|||{zy{{{{z{{{{{{{{z{{zzzz{||{{{{||{{z{{{|||{|z|{|{zz{{z{{{}|{{|||{|{z{{{{{||{|{||{{|{z{z{{||z{z{|z{|{{z{y{|||{{}{{{|{{{z{||z{{}||{{z{{{{|{{|}{{{|{|{||z{z{|||{{||{{|{|zz{}{|||{|{|z|{{{{{|||{|{}}|{|{|{|{{|{{}{|||{|{{|{z{}}||}||||{zz|{{|{||{}|||{{{||{{{|{||{|}{|{||{{{||{|||{|{{{{{{z||||{|{|{{{zz{{z{{{z|{||{||zzzz{{{z{{{}}}}|{||}||}}||||}}{||}{{{{}|}{}|}}{|{{{{{{||{{||||||{||}{|z|||{{}|}{|z|{{{}{|{{|||{{z{{{||{{{|{{||{{{{z{{{{|}|||}{|{{{z{z{|||{||{{{{zzzzz{{{|{|{||{{||zzz{{{|{{{{|{{{zz{z{{||||||{|{{z{zzz{{{{{|||{|zz{{{{{|{|{|{|{|{z{{{z{{{|||||{{|{{|{{{{{||{||{zzz{z|{|{|z|{|}{{{z{{{||{|||||||{{|{z{|{}{|{|{}{{|{|z|{|{||{|{||{||{{{{{}}{{||{{{{|{{{|||||||}|z{{{{|||||}}||||{|{{{{|{}}}|}||||{|{|{{|||||}}}||{||z||||||||}}||{||||||||||||}}||{|{|||}{}|{}|{|{{||{||||{{||}||{}{||{{|||}|}}|||{z||{{|{{|||||||{{{{{z}|||{{|{{{}{{z{{|{|||}}||{z||||}}}|}}|||||{{{{|{|||{{|}}|z{{{{z{|||||||||{{||{|z||{|{||||{}|{||z{{{{||{||z{{{z{{{||||||||{{{|z{{||{{z}||{{{z{{{{{z{{|{{||{z{zzzz{{|{{{|z{{{z{zz{{{{||{{|{{{{{{yz||}|{{||{{z{{zz{{|}|z|{{|{zz|zzz{{zz|{}|{{{{z|z{||{{{||{{{{{{z|{{|{{{|{|{|z{z{{|{|{{|||{{{{{{{zz{{|{{|{|{|{{{|{{z|{|{|||{|{{{|{z|{|{{{{}zz{{|{{{||||||{|{{|zz{|{|{|||{{|{{||{{||||{||||||{{{{{{{||}}||}{|z{{|{|{|}||||||{{|{{{|}{}|{|}||||||{{{{{~}|~|}}||{z{{{{}}|{||||{{|{||||||||||}|{||{{}|{|||||}}}{{{|{|{|{||{|||{{{{|{{{{|{||{{||{{{z{zz{{z}{{}}~|}|||{|||}}}||}}}{{{|{z|{||||||}{|{{{||{|{|{{||{zz{{{{|{|{||{||{{{{{{zz{||{{{{{}{z{{{z{{{{{{z}|z|{zy{{zzz|||{{|{{{{zz{|{z{{|{{||{{{zz{{{{{|{{z|{|{yzz{z{{{|z{}{{z|{z{|zz{{z|{{|{{zzzzz{z{{{z{{|{{zz{zzzz{|{{{|||zzz{z{{z{z|{{|{}{{z{{z{|z{{{{|{{{z{z{zz{{{|{{{|{zz|z{{z{{{||{{||{{{{zz{{z{{}{||||z{{z{{|{{{{|{|{{z{{{z{{{||{||z|}|{{z|{||{||||||{|{{{{{{{|{|{{{}{{{|{{z{||||{|}{{|{{{{|{|{}|{|}|{{|{z{||{|{|}||||{{{{{{|z||||}|||{{{{{|||{||{|{|{{|{|zz{||z{{}}|{{{{{{{|||||{||}z{{{z{||{|{||||{|{|z{{z{|||}{|{|{|{{{z{z{|{{{}~~{||}|{{|{||||}}}||{|}{{{||}{|}||||||{{{{}{{|{|||{{{{{{{z|{{|z|{|{{{{{zzz{{|||{||{z{{z{zz{|{{z{|{{{{zzzyz{z||{|z{{|{{z{zz{{{z{{zzzz{{{z{{|{{{|{{{{zzz{{y{zz{{zz{{z{|z{{zz{{|{{{{{{z{{{z{zz{{{{z||{{{{zzzzzz{{{}{{zzzzz{z{{{|{{{|{{{{z{{{{{{|{{|{|{z{zz{|z|{|{|{{{{z{{{zz{{|{{||||{zz{{z{{{{|{{{||zz{|{z{{||{|{{|{{{z{{{{z|}|{{||||{z{z{|{{||{{{|{{{zz{{{{||{|||||{{z|{{z|{|{{||||{{zz{{{{{||{||~|{{{|||{|{||||||}{||||{|{{}|||{|}{zz{{z{|||{||}|||{{z|{{{}{||||}||{|z{{{{|||{}|||{{{{z{z{{||{{||}|z{{z{z|{||{{{|{{{{z{zz{{{{|{}}}}||||}||||}|}}{||||{{{|{||||{|||||}{z|{z{{|}||}|{{|z{{{||{||{||{{{z{{{{z{z{{{|{|{{z{zz{{||{|{{|{{{{zz{{{|{{{{{|zz|zzzz{{{z|zz|{{z{{{{yzy{|{{{{{{{{{{{|zz{{|{{{{{{{{{zz{{{||{{z||z{z{{zzz{{{{z{{{{{zz|z{{{|{{{z|{{z{{z{{z{{||||||{{zz{zz{{|{{{|||z{{|{{{{{{{|{|{|{|{z{{z{{{z||{{{{{|{{y{z{|{z{|{}{|{{{{{{{|||||}{|{zz{{z{{|{|||{|{{|{{{zz{{|{}||||{|{{|{{||{|{|||{{{{{|z{||||||||{{{{{||{{{|||}}{|{{||{{||{{|{||||||||{{|{}|||{}}|{|{{{|{||{}|{{{|{|{{|{{||||{}|}{|{|{|{{||||}||}{{|z{{{{{||{||||{z{{|{{z||{|{{|{zz{z{zzz|{z{|}}~}|{||{||}|{}||}}|||||{{|||{||{}||{{|{{|{|z|{}|}|{z{{z{{{{||{{|}||{{zz{{zz{||{}|{z{{y{{{{{||{z||{z{{{zz{z||{{{|{|{z|yzzz{{{z{{{|{{{zy{zyzz{||{{|{{{{yzzy{zz{{{{{|zz{{y{{{{{{}{|{|{{{{{zzy{z{{{|{z{zz{z{z|{{z{{{{{|{{{||z{{{z{{{||{{yz{z{{z{|{{}{|z{{z{z{z{{{||{{|{{|z{{{{|{{|{|}||z{||{{z{|{{||{|{{{{z{{{{{{|z||{|{{{{{{{{}z|{|||{{z{z{{{{{{}||{{{{|{z{{{||{||||}|z{{|z{z{||||||{{{|{|{{{{||||z|{{{|{||{|{|{|}|}||z{||}||}~|{{|||{{{|{{{{||||{||{|z{{{|{|||{||}||{|{{|{|{|{{{{|||}{{{{{{{|||{{|}|{{|{{{{zz{|{{||{{{{{yz{z||{|z}|}|}{}}{}{|||}|}}||{{|{{{||||{|{|~||{{{z|z||||||}|{{|{||{{{|{|{{{}|{zz{{{{{|{|{|||z{{{z|{z{|{{{{}{{{{{{zzz{||{||{{{zzzz{z{{||{{||{{{zzzzz{{{{{|{{{{z{y{{z{{{{{{||{{{{{z{z{{|{||{{|{{{{|{zzz|{zz{{z{{{{|{z{{{{{{||{{xz{{{{z{z|{|{{{{z{{{{z{{{z{{{||z{z{z{{{{{{{|{}|zz|{{{z{{|{{{{||{{{{{zz{{{|{||{{|{{{z{{z{{|||{|{{{||{z{|||{|z||{z{{|{|{{{{|||{{{{||{{{||{{{|{|||{y{||{{{|||||||{|{{{{{||{}||{|||{z{{{{{{{||{|||||z{{|{{|{}|}|||}{{{{{{{{|{|||||{{{z|z{||{{||{{}}|{z{||{||}{}||||{{{{{{|{|||}|||||z{zzz{{||{z|||{{|{{z{{{z{{||~}}||}||}}||~~}|~|}}|{||||{}||}|||}|{{{{||{|||||}||{{{{z{z{|||{{{{}{z|z{{{z{{z{||{}{{|{z{zz{||{{|{|z{zzzz{z{{{{{{{{{{{{{{{{z{z{{{{{{z{{z{{z{|{{{{|{zz{{{zzz{z{{{{z{{z{zz{z{||{{{|{{|{{zzzzz{{|{{{{|zz{zz{z{{|z{z|{|{z{{{{|{{||{{|||{z{zzz{z{{{|{{{|z{{{{{{{|{{{||}|{y{zzzyz{|}{|{{|{z{{{{{z{{||{||{z{{{z{{{{|{|{{|{{{|{{z{{|{{{{||{|{zz{{z{{||||||||{{z{{|{||{}|||||z{{{{{{{||}{|||{{{|{{|{{||{||||{{|{{||{||||{||}|{{|{|{|||{||||||{{{{z|{||{|z||||{{{|{z|{|||||||{{{{z{{{|||}|{|}z{{z|{{||||{|{}|{{{|z{{{|{{{{|{|z{{{zz{{{{{||~|}}}|}||}{}|}||}|||{{{{|{|||}||}|}||||{|{{{|{||{|{|{{{{{z{|{{|{{{|||z{z|{{{|||||||{|z{{{{z{|{z{||{|{{{zzz{||{{||{{{{{{yzz{{{z|{|{|z{yz{{zz{y{{z{|{z{z{{zz{{{|{}{|{{{{zz{{z{{z{z{||{{z{zzzz{{zz||{||{|zz{{z{{zz{{{||{zyzz{z{{{}|{||{{{{|z{{{||{{|{||z{{z{|||{{{{{{|{{{z{z{z{{|{||||{{{{zz|{|||||{|{|z{z|{z{{{|{{{}z|{{{||{z|||{{{||{{{z{|zz{{||{}||{|{{{z{|}|{}{|}|{{{{|{{z{||}|}|||{{z{|{{|}||||||{|{|||{{{|{||||}{|{{{{{{||{||||}|||{{{|{{}||||}|{{|{||||{z{|{||}||{|{|||{||{|||||{{{{zz|{{{|{{||{{{{|z|{|}||{{{{{{{{z{zzz|{{{~}~~}}}|{}||~~|}}}}|}|||{{||{}}}|}|}|{|{{{z}||||{||{{{z{{{{{|{||{{|||{{zz{z||||||{|{{{{{z{z{|||{||{{{{{z{{|{{{{z|||{{zzz{zz|{{z{|{|z{z{zzzz{{{{{|||z{{{{z{{{|{{|{|{{{{{{{{{|{{||{|{z{{{|y{z{{{|z{|{{z{{z{{{{||{{|{{{{{{zz{{}{||z{|{{{{z{z{{|{{||||{{z|{{{|zz||z{|}|{{{z|{z{{|{{{{||{|{{{{{z||{{||{|{z{{|{{{{}|{{||{|z{z{{z{|||{{}||{{{{{{{{|{{{|{||z{{z{{|{|||{|{}|{{{{|{{{{{|||{|{|zz{{{{{}||{{}||||{z{|{|{|{||||}|{||{{{{{}{||{{}{{{|{{||||||{|||{{{{{z|||{|||{}}||{|{|{|{|||{|{|{{{{{z{{{|||||}|{zz|{{{z||||{{|{{{zz{{{{|{||{~}}|||}|}|}}||}}}}}}{{|{|||}||}}|{{{{|{{z}||||||}|{|z{|{||}{|{|}}{{|zz{{z{{||{}|{{|{{||{z{{{||{|{|{z||{zz{{{{{{||{{{{{{{{z{|{{||{{{{{{{{z{{|{{||{|{{z{{z|{|||{{|{|z{zz{{z{|{z{|{|{z{z{{{{{|{z{{{{{{{{{{{{{{|{{}|{|{{|{{z{{|{{|{|{{z|{{|y{{{}||{||{z{{{{{{|{{|{{|}{{{{{{{z|{|||{||{}{{|{{{z{|}}}||{|{{{{z{||||||||{{|{{{{{|||||}{{{|{{{{||{|{{{|||{{z{{|{|||||||||||{{{|{{{}|}}||||{|{{|{{{}|}}{|}|{{{z{{|||}{||||||{{{|{{{||}||}|}{||{|{{{||||}|||{{|z|z{{{{|}{||||||||{|||||}|}|{{{z|{||||{{{||}|{{{{{{{{||}|z||{{|z||zzz{|{{}}~}}}}}||}}~}}}||}}|{||{{||||||}}|}}|{z|}|||{||||{|{{{{{{{{|}|{{{}|||{{{z{|{|{||||{{{{{{z{{{|{{|{|{{{z{|zzz{|{z{{{{{zz{{{z|{{{{{{{{z{z{z{z{{{{{||{{zzzz{{{{{|{{z|{{{{{{zz{z{{||{{{{{{{zz{z{{{z{|||{z{{{{zz{{{{{{{|{z|z{{yz{|{{|}{{{{{z{z{{{||{||{|{{{{z{{{{{{{|{{|{{{z{{{z{{|z{{|{{{|{|{|{{{{{|||{{|{{{{|{{||{{||{{{{z{{{{|{|{||||{{{{|{|{|{||||}|{{{{{{{{{{||{||}{|{{{z{|{|||||{{}{{{{{|{||{{{|||{{{z{{{|}|{|{}|}|{||{{|{|||||{||{|{{z{{{|{}||||{|{{|{|||{{|||{|}||{{{||}{{{||}|{z{{{{{{|{|{|{||||{{{{{|{||{|{|}{zz{{zz{z{{|||}~}}|}}}}|~~}}}}}~}|}{||||||}||||}~{|z{|{||||{|||{|{{{{{|z{|||{{||{z{{z{|{||{{||{|{{z{{{zz{{{z{||{|z{z{{zz{{|{{{{|{z{{z{{{{z{{{{{{zz{{zzz{{{|{{{|{zzz{{{zz{{|||||{{{|{z{{{z{{{{{{{{zz{zzzz{|{{{|{z|z{zzzzz{{{{{|{|zzz{{zzz{z{z{||||{zy{{{{{{||{{z|{y{zzz{{||{}|{||{{{zz{z{{{|{|{||{{|{zz{{z|{||||{|{{||{{{|{|{|{||{{{{|{z|{||{||}||{z{{|zz|{||||||{{{z{|{{||{|{|}||{{{{{z{{{|||{||{{{{{{z{|{|||{|{|{||{{|{{|}|||{{||{{{|{{|||||}|{}{||{{{|{|||}|}|{{{|{z{||||z||}||{{|{{{{|||}|}{|{|z{{||{{{{{||}}||z{{z|z|||{}||||{z{{{{{{{|{{~~~~}}}}}~}~}}}~}~||||}{{|}}}||}}}|||{{{|{||||{{|||{{|{z{{{{{{||{}{|{{z{z||{|z{{{||{{z|{{z||{{{|{{z{{{zzz{{{}{{|||{{{{{{{{{|{{{|{}{z{zzz|{{||{|{|{{z{|z{zz{{{z|||{{{{{{{zz{|{|{{}{||zz{{{z||{{|z{{|{z{{z{{{{{|{{{{{{{|||{z{|||{|||{{{{{{{{{|{{||{|{{|{|{{{|{|}{||}|{|{{z{{||{{{{||{{z|{{|z{}}|||{|{z{{{{{{||}{|{{|{{||z{z|||||{||}{{|z||{z{{|{}}||{{|{|||{||{|}{|||{{{|z{{{|||}||{{{{||||{}}|{}|}||{|||{|{{{||}~||}|{{|{{{{}|||||}|{|{{|{{}||{||||}{||{{{{|||||}}}||{}|{{}||{}|}||{|{{{{{{{|||{||{||z{{{|z}{}}|||||{{z{{{{{|{{|}}~~|}~}}}||}}|||}{{{{|}||}}}}|{{{{|{|||{{}}}||{{{||{{{|||{{||{|{{{z{{{|}{z|{|{{|{{z{|{|{{{{{||z{|{z{z{||{{|||{z|{{{zz{{{{z|{|{{{{{{zz{{{{|{{z{{{{z{z{z{|||{{|z{{z{z{z{|{}|{||{|zz{{{{|{|z{||{{{z{{{{z{{{{||{|{z{{{z{z|z{{z|}}{{{z{z{{|{{|{|||{||{{z|{||{z||}{{{{{z{z||||{{||||||{{z{{{||||{||}{|{{{z{{|{||{{||z{{{{{{|{{|{||{|{{||{z|{|||}}}|{{{|{{{{{{{}{}|||{|z|||{||{|||||}{y{{{|{||||{||||{{{{{{{{|{||||||{}||{{{||||}}|||{|{|{{{{||||}|||{z{{{{||{}{||}|||{||{{{|{||}|{||z{{|{{{{||||{||{{z{{z{{{||{z|{|{z|z{zz{|{{||}~~~~~||{}}|}|}}|}{|{||||}}}|}}}}{{{|{{{{{{|}|||||{{{{z|{{|{z|||{{z{zzz{|{z|z||{{{{z{{z{|{{z{{{{{{{z|z{{{{{zz|{{{zz{{{z{z{z{{{{{zz{z{zyzz|{{{|{{{{{{{{z{{{{{{{{{{{}zzzz{|z{{{{|{zzzz{zz{z{{{{z{{{{z{zzzyz{z{z{{z|{zz{{zz{z|{|{||{{z{|zzz{{||z{||{z{{{z{{z{{{||{|z{{zz{zz{{|{{{|{{{{{zz{z{{|{{||{z{{{z{{z{{{{|{}{{z{{{{{z|{|z|||||z{zzz{{{||{{|{|{{{{{{{{{{{{{||||{{{z{z{{||{z||||z{{{{{{|||||{{|zz||{|{{||{||||}|{zz{|z{|||||}}||{{{{{||{|{||{{|{{z|||{{{|{}{||||{{|{{{{|{{||{||{{{z{{{{{{{{|}||{{zz{z{{{|{|||{||z{{{{z{||||{}~~~}}|||~~}}}}~|}{|{|{|}|}||}|}||{|{z{|{||z{|}{{{{z{{{z{z||z||{{||{{{{{||||{}||z{z{z{zzz{{zz||z{{{zzyz{{{|z{{{{yz{{z{zz{zz{{{|{z{zz{z{z{{{{{{{{{{{zzz{z{{|{|{|{{{{z{{{z{|{{{z{|zzz{{z{y{{{{z{{|{{zzz{zz{{z{{|{|{zz{{{{zz{{|{{||{{z{zzz{{{}|{|{{z{{|{zz{{{{|{|{{{z{zz{{{|{|{|{||{z{zzz|zz{{{{}{z{{{z{zzz|{|{z}||{{{{{{z{|{{|{{z{{{{{{z{{{|||||{{{z{zz{z{{}|||||{{{{{{z{z{||{{||{{z{|z|{{|||{{||||{|{{{{|{|}|||{||{{z{z|zz}|||}}|{z|||{{{||||}|{{|z{{{|{|{}|||{}|{|{z|{z|||{}||||{{{z{{{{|{{|}|{||{{{z|{z}{{||||||{{z{z{{}|||{~~~~~~}}|~}}||}|}}|||||{|}}|}}|}||||z||{|||}|||{||{{|{z{{||||{{|||{{{{{|z|{|{{|||z{zz|zz{{||{{|{{{{z{{zzzzz{{z{{|{z{{{{zzz{|{{||{zzz{zz{z{{{{{{{{|{{{{{{{z{{{z{|{|z{z{z{{{{|||{{{|{{{{z{z{{z{|{{{z{{z{z{{z{z|{{|{{y{z{{z{{|z{{{{|{{{zzz{z{{{|{{|{{{{z{z{{||{z||{||{{z{z{{{{{||}||{{z|{z{{||||||{{{{{{{{{{{{{{z{|{z{{|z{z{{|{{{||}{zz{{{{{|{|}|}||{{{z{{z{|z{{|||}|||{{{z{{||{|||z}{{{{{{{||||{||||{{{{z||||{|}}|{|{{{{{{{|}|||{|}|{{}{{|{{||||||||{|{{{{{||||{|}||{{{{|{|{}||||||{{{{|{{|{|}{{|||||{{{z{{{}{||{||{z{||z{z|{||{~~~}~}}}}}}}}}}~}||||||}|||}|||||||{{{||{{||}|{z{{{{{{{{{}{{{}||{zzz{z||z{{|||{z{{z|{z{{|{{|||{{{zz{{z|{|z|{{zz{{{z{zz{{{{{|{|zzzz{{{z{|{{{{{|z{{{z{z{{{|||{|{z{{|z{{{{{|{{{|{{{{zzzz{{z{{{{{z{z{z{|zz{zz{{|||{{{{{{zzz|||{|{|{|{{|z{|{|{{{|{|z{{zzz{zz{z{||{|{z{z{{z{|{{{{{|{|{|{{z{{||{|{|}|{|{{{z{{{{{{|{||{{{{{{{|{||{{{{|{{y{{{z{||||||{|{{{{{{|{|{{||{|||{{|||z{{|||||}||{{{{{|{|||||||||{|{{|{{{||{||{}}{|||{||{|||}{}}|{||{{{{||{{|||||{z{||{||{|{{||}||{||zz}||}||{|||}{{{{{|||{|{{||{{{{z{zz}|||{{||}{{|z{|z||{{{~~~~|}}~~~~}}~}~}}|{||}}}{|}}|}|{{|||{|||||}|}|{{{{{{{{|||{}{{{{{{zz{z{||}{{|}{{|{{{{{{{||{||||{{z{z{z|{|{{|||z{z{zz{z{||{||{|{{z{yz{{{}{{|||{{{{{{zz{{|{z|{{|{|{zz{z{{|||{|}|{{{{zz{{z||{{{|{|{{z{z{z{|{||}{{{z|z{{{{{{|{|||{{{|{{|{{z{{{{{{|{{z{z{|{{{{{{{|{{z{z{z{{||||||||}{{||y{{{{||}|||{{z{{{||{|||{||z|z{{zz{{|{|||||||{{{{|{|||||||{|{{{{{|||||}||}||{{{{{|{{|||||||||{|{{{||}||{|||}|{{|||||{|~|||}}}{{|z|{{|||||}||}|{|{{|{}||||}}}|{{{{{||{|||}|~}|||{{|{|||}|}|||{{{{{|{{{|}|||||||{|{{{{{}{}{{||z{}{{{{z{||||~|~}}}|}~~~~~~|}|||||||||}}||{}||{|{{{{|{|{|||||{{{{z{z{||}{{||zz{{{{|z||{{|||{|z{zz{{z{{{{||{zz{|{{{{z{|{{{|{|{{{{z{{{z{{{z{|{{z{{zy{yz{z{{|{{z|zz{{zz{z|{{{z{z{zzz{zz{|||z{|{zz{z{{{zz{{{{|{|{{{zzz|z{{{{z{{{z{{{{{z{{|{|{|{{|{z{{z{zz{{{|{|{{{{{{zz{|{{{|{||{{{{z{zz||}{|||{|z{z|{|{{{||{|{|{{|{z{{z{||{z{|||zz{{{z{{||{|{||{|{|{z{{{z|}z{|}z{{||z|{|{||||{}{{|z{|{{|||{|{|{}|{{{{{{|||{||||{{{|z||{||||{|}||{{{{|{{{}||||}|{{{{{z{{|}|{||z{|{{{{{||{|{{|{|||zz{|{{{|{|{|||}|{{{{{{{{{||{{||{{{{|{z|{{|{||{|{{{z|y{z{{|{{}}~~~}~~}~~}|||}||{|}}}|~}}{|{{||zz||{}|||||{|{{{|{{||{{{|{{|{{{zzz{{|{||}{{{|{{{{z{|z{{||||zz{{{{z|||z{{{{{{z{z{zz{{z{{|||zzzz{zz{{{||{{{{{zz|{{z{{{{z||{{{{zzz|zzz{{|{{|{zyz{{{{y{{|z{{{|zzz{{{zz{{z|{||z{z{{{zyz{||{{|||{z{{{z|{|{{|{{{||{{{zz{{{|{{|{{|{{{{zz{{{{|{||||{z|{{{z|{||||{{{{{{{|z{{{|||{||{{z{{{{{{|}||{|{{|z{{{{{|{|{||{||{{{|z{|{{{{||}|{z{{{{|{{|}}{|||||z{|{{{{}||||||||{{{{{||||||||}|||||{|{||||||||}|{{{|{{||{|}}}{|}{|{{{{z||||||||{z{{|z{|||{||||||{{{{|{{||||||{{{{{{{{{{|}|{||||z{{z{z{{{{|{{~~}~~}~~}}~}~~~}||{}{|||}||||}|||{|{|z}{|{{|}}{{|{{|{{{{||{{|~{{|{z{{{||{{{|||{{{{z|zzz|{|{|{z{z{{z{{z|{|{{|{{{{zzz{z{{{{{z|{|{{z{{{z{z{z{{|{{{{{{{zyz{{{{{|{{z{|zz{{zz{z{z{|{{{{zz{zz{{zz{{z{|{{z{zyz{{{z{|{||z{{z{{z{{|z{|{{|{zzzz|{{{|{{{{|{{{z{z{z{|||||||{{{{{{{z|{|{{{{|{{{|{z{{{{|||{}{{z{{zzzzz|{{{||||z|z{zz{|{{{z||{{{{{{z{{|||{|||{{{{{z{|{z}|{{||||||{{{{y|{}||||}|{{z{|{{||||{||{{{{|z|{||{|{{|{|||{|{|||{}|||||||{|{{z|{{||||||||{{{{|{{{{{|}|}||{|||{{{||||||}|{{{z{zz{z{{{|||{{{{{{{z|{|||{||{{{{{{{z{{{{|{~~~~}~|}}~}|}||~}}}}|}~|z||{{{||{}}||||||{{|{{{{}|{|}||{|{{{{z|{{{{{|~{{|{{z{{{||{{||{{{{{zz{{|{{|{{{{|z{{z{zz{||{{{|{zz{{{z{z{||{|{|||{{zzz{{|{|z{{|{z{{|z{z{{{|||{|{{z|z{{|z{{|{z{||||{z{{zzz|{z{}|||{||{|{{{|{{{||||z{|{{z{|||{|{||{{{z{{{{|{{{{|||{{{|{zzzz|{{|{{{{{{{|{||{}{|||{{|{|{|{{{{||{|||||{{|{{{{||||{||||{{|{{{{{}}|||||z||{|||{|z|||}|||{|{{{||{|{|||{||{{{z{|||}{||}||{|||{|{|{|||||}{|{||{{|{{|}}||||{|{|{{||}}|||}}||{{|{||||||||}||{{|||{{{|{||{{}||{{z{{{|{|||||||{{z{zz{{||||{|||{{{{{{z{{}{{{~}~~~~~~~}~{}|}|||}||}||}|}|||{{|||{||{|||||||{|{{|z{|z{{}{|{{{zz|{|{{{{|{|{|{{z|zz{|{{{{{{{{{{z{{{z{z{z{{|{|{zz{zz{z{{{z{{z{{{{{{zz{{{|z|{{yyzz|zz{{{{||{{{{zzz|yzz{{|{{{{{{z{{zz{{{{{z{{{{z{z{z{{{{{{z|{|{z{{|{{z{{{{{{}|{|{{{{{|{|{{{{|{{{{zz{z{||{{{||{{{|z{{zzz{{||{|{{{{z|z{{z|{|||||{|{z|{{z{{}||{|{{{{{|{z{{|{{{{{{{}{{{z{|{{{||{|{z|{{||{{||{|||}}{z{{z{{{|}||{{|{{z|{{{{{||||{|}||{||||{|{||||||}|{{{|{||{|||}||||z|||{|{|}|||||||{{|{{{{{|{|||}|||{|z{|{|{||}{{{{{{z{{{{{||||||||{z{{{{|{{|}|{|||{|z{zzzz{|{{~}~~~~~||}|~|||}|}|}|}|{||{{|{||{|{}{||{{{{|{|||{{{{{|{{{|z{|{z|{|{{|{{{{z{{z{zz|{{{||{{{{z{z{{{|{|zz||{zzzz{z{zz{{z{{{zzz{zz{z{{|z{||{{{{{zzy{{{{{{{z|z{|{z{y{||{{||||zzz{{{{{{zz{|{||{z{zyz{{z{{|{|||{{|z{z{zz|||{|||||{{{{{{{|||z{||{{{z{y{{{{z|{|{|{z|{{{{{{{{z{|{{{{zz{z{z{{{|||{{{{{{{{{z{|||||}|{zzz{{{z{|{|{|{|{{{z{{{{|||||}}|z{{|{{{||}|||||{}{z{{{{z{{|||{}{|{|{z{{{||{|||||||||{{|||{{{|||{||{|{{{{{}|||||||{{||{{z}|||{||||{z|{zz||{}||}|||z||{{{{{}{}|}|||{{z{z{{{|{|||||{{{{zz{{{{||{||||{{z{{{z{{|{{~~~~~~~}}|}||}|||}}~}~{{|||||{}|}||}||}{{{|{|{{{|}|{}|}{z{{{zy{|{|||||{|z{zz{z|{|{|{{|{{zz{z{zzz{|{|{||{zzz{z{|{{|{|||zz{{{z{z{{z||{{{{{zzz{zz{|{{{{{|{z{{z{{z{{z|{z|z{{zyzz{{z{{{{{|z{z{{z{{|{|{{||{{{{{z{{zz{{{{|{|{{{{{{{zz{|{{{{|||{{z{z{{{z|{|{||{{|{z{|{|{{{||{{z{{{{{{{{||}|||||{{z|z|{{{|{{{|||{|{{{|{{{}{|{|||{|{{|z{{|{||||{|{{{{{|{{{||||}}|z{{{{z{|{||{|}{{{{{{z|z{}}{{|}~{{{{|{{{{|{|||}|}{{|{|{{||{|~}||||{|{{|{|{||}||||z{|{{{{||}{||}}||{|{}|{||{||||||z{{|z{{{|{|{|}|||zz|{|{{{}||{}||z{z{{{{{{{{{~|~~~~~~~}}}|}{|}~|||}|}}||{|{{|{{|||}{|||{|{z{|{{}{|||||{|{z{{{z{{{|||{z{zzy{{|z{|||{||{{{{{{{}z{{|zz|||{{zyz{{z{z{{{{{|{{{{zz{z{{{{{{|{zz{zz{z{{{|{{||||{{z{{z{z{{{{{||{{{zz{{|{{{{{{z{{{{{{{{{||{{|||{|{z{{{{{{{{|{|{{{{{{{{z{{||{{{{|{{{{|z{{|z{|{|{{{zzzz{{{|||{{|||{{|{|{{z||{}|{{||{|{|{zz|{{{{{|}|{zzz{{{|{||{{||{|}{{||{||}{||||{{z{|{|{~||||||||{{{z{zz{||}|||||{{{|{{{||||{||||{{{||{|{|||}||||{|{{z{z||}}|}|||{||{{{{||||{}|||z{|{z{{||{|||||{{{{|{{z||z{{||}|{|z|{{{||{{|||{{{|{z{{z{|{|{{{{{{z{|{|{|||{{~~~~~~~~~|~}}}}|}|}}|}}|||}|{|{|~}|||}||||{z||{{|{}}|{{||{{zzz{z|{|{{{{||{z{z{{z{|{{{||||{{{{{z{{|{{{{{|{zzzzzzz{{{|z{||zz{{{{z{{{z{{{{{{z{{z|{z|{|{{|{{{||zz{z{{|{|{{|{{z{{zzzz{{{zz{{|{{zz{z|z{{{zz{{{{z{{{{{{{{{{{{|}{{{z{z{|{{|z{{{||{{{z{{{z{{{{z||{{{{{{{{{{||{|||{|{{z{|{{|{{{|||{{|{z|{{{||{||}||{zz{|{{|{|{{||||z{||{{{|{{|||{|{|||zz||{|||{||||||{{{{{{|||||}{|{{|{{{{|}|{{|||{{|{{{|z|{{|{}{||{|{{||{|||||||{{{|{|{{{|||{|}|||z||{||{{|{}|||||{{{|{{}{|||||||{||{{{||||{{|}}}|||||{{{||{|{{||{{|{{{{z{{{|{~~~~~}~|}}~|||}|~}}}}}}|||{{|{||}|{{{||{|{{|{{||}}{}}||{|{{||{|{|||}||{||{{{{z{{|{|||||{|{z{{z|{}{{|{{{{{z{{{{{{{{{|{{{z{z{z{z{||z{{|{{{zz{{z{z{{{{|{{{{|{{zz{{{||||||{{{{{{z{{{|{|{|{{z{{{zzz{|{{{||{{zzz{|{{||{||{|}z{z{{{|{{|}|||}{{|{{{{z{|{|{||}||{z{z|z{{}|{}}{|||{{|zz{{}{{{{z{{{|zz{{{|}|{{}|{|{|{{z{{{|||{||{{{{{{{{{|||||||}{|{z{|||{|||||}}||{}{|z{}||}||||{z{|{|{z|||{{|}}|{{{{{{|{|{}|||{|{{|{|{{|}||~|}}}{|{{{{{{||~|||||{{{{|{|||~||}}}|{{{{{||{}|||||||{{|{{||{|}{|}||||{|z{{{|}|{||{|}{z|{|{{|}||{~}~~}~{||}|}}~}~~}|||{{{{||||{||}{|||{{{|z}|||{|||{{{z{zzz{z||{||}zz|zz{{z{||{z|{{{|z{z|{{{|{|{{{|||{z{z{{{||{{{{|{z{{zy{|{{{z{y||zzz{z{z{{{||||{||{{{{{zz{|{{{||{|{z|{z{{{|||{|||{z|z{|{{||{|{|||zz{|{|z{||{|{z|||{{{|{z{||{{||}|{{{{zz{{||{|{{}||{{|z{z{{|{|{{||||{{zz|{{||||||{}{{{{z{z{||{||{||{{|zz{{|{||{|{||{{{|z||{||{|}{}{z||{{{{}|||||||z{{|{|{{{|||||}||{{{{{|{||||||||{|||{}{{|||||||||||{{{|{|}|{}||}|||{||{{||{||||}|{|{{{{{||||||||{{||z{{}||||{}|}{{{z{{{{{|||||||{{{|{{{z{{||{|}||{zz|z{{{{|{|}~}~~~~}~~}}|}|}}}}||||||z||{{|{|||||{||{|{|zz{|{{||{}|||{z{{|{|{||{|||z{{zy{{{{{}{z||{z{{z{{{z{{||z|{{|{{{z{z{|{{|{|{|{z{{zzz{{|{{|{|{zz{{zzz{{{{{{||{{{z{{zz{z{|{|||{|z{{{z{z{{{{{|{{{z{z{{zz{{{{{|{{{z{{z{zz{{{{z||}|{{zzz{|{{{{|{{|{z|z{{z{{||{||{|{{z{{{{{||{|{{{{|{{{|z{z||||||{{{z||z{zz{{{{{||||||{z|{||{|{{|{{|{z|{{{{||||{|||z{{{{{|{{}{|{|||{{z|{{{{||{||||{{z{{|{|{{|{|{|||{{||{z{|z|z{}}}}}{{{|{{|{}||{{||{{{|||{z|}|{||||{{{{{{z|{{|}}||||{{{|||{||{||}}|||{z{|{{{{||||{}|{{{{{|||{{|{|||{{{{{zz{{{{{{~~~~~}~|}|||{}||}|{}}|{|{{||{||||}||{|{}{|z{{|{||{|||{{{{{z{|{{{|{|{||}z{{{{{{{{{{{{{|{z{{z|zz{|{||zz{zzz{{zzz{{{{|{{||{{{{{{zz{{z{{|{|zzzzz{zz{{{|}|{|{z{{y{z{{{z{{z|{{{{{z{z{{{|{{{{|{{{z{z{{zz{{{|{{{|{zz{{{{{|{{{|||{zz{zz{{{|{{|{z{z{z{{|{|{|{{{{|{{|{{zz{{{{{{{}|z{|{z{{z{{|{||{{{|z{{|z{|||{{{{|z{{z{{{{{|{z||{{{{{z{{{{{|||||||{{{{{{|z||{||||}{|{{{{|||{{||||{|z{||{{{|||||||||{{|z|{|||||}{|||z{{{{{|{||||{}}|{{|{z|{||}||||||{{{|{{{|{|}|{||||{{||{|}|{{{|}|{{{z|{{{z{{{||}|{{{{{|{||{|{{{|{|{{z{{|{{|{||~~~|}|}|||||||}|}||||{{{{{|{||{|||}|}{{{z{{{{||||{|{{{{zzz{{{{|{|{{|{zz{{zzz{{|{{|||{{z{z{z{{z{{{{{{{{zz{{{z{{z{{{{{zz|{{zzz|{|{{|{{zzz{{{z|{{zzz{|{{zz{{zzz{|{z{|||{{z{|zz{z{{{|{z|{z{z{{zz{{{{{{||{zz{{z|z||{{{{{|{{z{{z{zz{{|{|{|{{{zzy{z{{||{|||{{||zz||{|||||{|z{{z{z{{{|{}|||{zz{{{{{{{{{zz{{{|{z{{{{{|{{{{||{{{{{{{zz{{}}|}||{{{{{|{{{{|||{||{{{|{z{{|||{|{}{z{{{{zzz{}|{}|||{z|{{|{{|{|||||}}{{|z{|{|}|||{|||z{||{||{{}{{}|||{z|{{{{||{|{|||{{{{|z{{{{||{{|{{{|{{{{{|||z{{}|z|{{y{|{{{|||z}{{{{{{z{{{{|{{~~~}|~~}}||{|{}}||}|}}{|{||{}{||{||{|{|{|{z{{{{}{|z||||{|zzz{z||}|{{{|z{{zzz{z{|{{{||z{|{z{{zzz{|{{|{|z{{{{{z{{{z|{|{|zzzz{z{{{{{{{{{z{zzzyzzzz{|{{{|{{{{{z{z{{{||z{{|{zy{{{{z{{{{z|{{{{{{z{z{{{{|{}{{zzz{{{{zz{{{{|{{{{zz{{z{{{|{{|z{zz{{|z|||{z{||||{{|{z{{z{{{{||{{|z{{{z{{{|{|{|{|{{{{{{{z|||{||||{|{{{{z{|{||{|{|{{{z{{z{||||||{|{|{zz{z||{{|||||{||{{{{z{}{{|{|||{z{{z{{{||{|}|||{|z{{|{||{{{}|}|{|{{{z{{{|||||{{z{{{|z{{|||||}||{{{{|{||{{{|{||{{{|{{z{{||||}||{|{{|{z{||||}}|||{z{z{{{{{|{{{|{{{{{{z{{z||{{~~~}~}}|}|}}{||||}|}||||{{{{||||||{||{|{{|z{{{{{{||{{{{{{{{{z{{{||{|}{{{zzz{z{{{{z||{{yzz{{zz{{|{{{{{{z{zz{{z{z{{{|z|z{{z{||z{{{|{{|{z{{{y{zz{{{||{{|{zz{zzyz{{{{zz{|{{{|z{{zzz{{{{{|{{{z{{zz{{z{z|{{{y{{z{{z{{|{{{|{|{{{{{{{{{||{||||{{z{zz{{{{|{|{|{zz{{{z{{{{{{|}|{{{{{z{{{|{{|}|{|z{{{{z{|{|{{{}|||z|z{z|{{|{{||{{{zz{|{{||||||||{{{{|{{|{|{|{||}{{{{{zz{|||||||{|{{z{{z{{||{|||||{{z{{|{|||||}||||{{z{{{{|||z||||{{{{{{|{|||||||{{{|{{{||{{||||||{{{{{{|{{{{|||||zzz{|z{{{{{|||{|z{z{{{{|{|||{|{z{zz{{{z{{|{|~~~|}}|||||~~|}}~}}|{|{|{{|||{||}|||{|{|z{{|{||||||{|zz{zz{|}{{}||z{{{{{{zz{|{{|{|zz{{zz{{{||zz||z|{{z{{zzzz{}{{{|z{zz{zz{{{|{|{|{z{zzz{z{{{|z|{|z{{|{yzzz{||{|{||{{|z{z{zz|{{{{{{{z{z{{z{{||{z|{{|{zzz|{z{}{|{|}|{z{{||{{z|{{{|{{{z{{{z{{{|z{||{||{{{zzz{|{|{|{|||{{z{z{|z||||{|{|{|z{zzz|{|||||{{z||{z{{|||{{||{{{{{{|{{{|||||{|{{|z{{{z||{||{{|{{{|{{{{{|||||||{z{{||{{}{|{|||}{{{{{{{{||||}|{{|z}{z{{{||{{}|}||{||{{|{|{||||}||{{||{|{|{||{|||||{{{|z{|||||}||{{{{z{|{{|{||{}|{{zz{{{{}}|||||{{z{{{z{{{{{{{~~~~|}~~}|}}}~}|||||}|{||{|||{||}}{|{z|{{||||||{{||||{{{{z{|||{{||{zz|{{{{{{|{{{||{|z{{z{{{{{|{||{zz{zzzz{{|{|{{{{{{zy{{z{{|{|z{{{{{zz{{zz{{{{{{{{|{{zzz{{{{|{{{||{{{{{{zzz{||{{{{{|{{{yz{{{z|{||{{{{{{{{{{{|{{{||{|{{y{{z{|{{{{||{zz|{{{{{z|{|{|||{{|{z{{{||{{{{|{{|z|{z|{|{z|{{{|{{z{z|{||||{{||||{{{z||{{{|||{||zz{{{{{{||{|{||||{{||{{{|{{|{{}|{|{|{zzz|||||||}|{z|{z{{{|{|}{|{|{|||{{||||||}|}|{}{{{|{{|||}}|||{|{{{|{{||||}||{{{{z{{|{|{|{||||{{{{{{||}|||{||{{{{{{|z{|{}{|||{|z|zz{{{|{{{||{{|zz{z{{|||{{~~~~}|~}}}}|}|}}}}|}}|{{|}||||||}{}{|z{|{z{||}|}|||||{|{z{{{{{|{||}}{{|z{||z{|{{||||{z|{z{z{y{{|{{{{|z{{{{z{{z{{{{|{|{zzz{{z|{{{{z|{z{{{{zz|{{||{{||}|{{z{{z{{|{z{||{{{zz{|zy{{{{|||{zzz{z{z{|{|{{||{z{{{{{{{|{{|{}||{{{{{z|z|{{{|||{{|z{z{{||||||||{|{{z{{|||{{{{||{{{{|z|{{{||{{|{{{{z|{{z|||{|}|{{|z{{{{z||{{||||||{{{{z{}|}|||||||{{z{|{{{{{||{|{z{|{z{{{||}|}|{|z{|{z||}}}{|}|}{z|{||{{||{|||||}|}{zz|{||||}|||}{|||{{||}|}}|||{{{{{|{{|{||||||||{{{z{{{|{{|}|||{{{{z{|{||{||||{{{{|{|{|{|{{|{|{{{z|{{|{||{{~~}}}}}}{|}}}|||}}}|}{|{||{{}|}||}|{{}{{{z|||||{{|}{{{{z{|y|{{{||{}|{{z{{z{{{{z{||{{{{{{{{{|{}{{|||zz|zzzzz|z{{z{|{|zz{{z{{|{{{z||{|zz{y{{z{{|{{|{|z{{{{{zz{|{{{|||{{zz{{|{z|{{{{|{{|{z{zz{{{{{{{||{{{zz{z{{|{|{{||{z{{{{{{|{|{|||||{{zz{{{||||||||{|{{z{{{{||}|{||{{z{{z|z{}{{{||||{{{{{{{{|{|{{||{{z{{{|{||{|{{{|{{{{{z{{|{|{||||{{|{{{{{|{z||{|||{{{zz{{{}|}||||{zzz|z|{{||{|||||||{|{||||{|||{|{{{{{|{|||{|||||||||{{{|||||||{{|{{{||{{{|{{}|||}|{||{{{{||}}{{|{{z{{{{{z|{{{}|}|{z|{{|z|}}|{{|{|{{z{z{{||{{{~~~}|}~|||}}}~{}{|}{|{|{||{{|{|}|||{||{{z{{|z|{z{|{{{{{{{{z|{{{{|{{z{|{z{{{{{{z|{|{|z{zz{{{{z|z{z{|{z{{{{y{{|z{{{{|{{{z{zz{z{{{{{|||zzzzzz{z{|{|{|{{{z{zz{z||{{{{{|{zz{{zzz|{z{{|{|{{zzzz|zz|{z{}|{{{z{{|{{{{|{{|||{{{z{z{{{z|||||{{{|{{zz{{{||{{|{{z{{yz{z|||||{|}|{{{{z{z{|||{{{|{{{z{{{{{|{|{{||{{{{|{{{{|{z{||||{{z{{{|{|{|||{{{{{{{{|{{{{{z{|{{{{{z{{{||||||||{{|{{{{{|}||||||{|}{{{|{|{||||{}|{{{z|{|{~|{||||{{||{{|{{||{}|}{{{{|{z{|{|{{{|}||{z{{{{|{|{|{|{{{{{{||z|{{|{|||{{|{{{{{{{{{{{|{{{|{{{z{{||{||~~~}~}}}}|{}}|}}}}}}||{{|{{||||}||{{z{|{{zz{z}||{{}|{{{{z|z||||{|z}{{{{z{{{z{|{{||||{|{{{{{{|{z{|z{{{{zzz{{{|{|{||{{{z{z{{{{|{{{{{{{{z{z{z{{||{{{|{{{{{z{zz|z{}{{|{{z{{{y{z{{{z||{{{|{z{{zzz|z{{|{{{{z{z{{z|{{{|{{{{{|z{z{z{{||||{{|{z{zz{{}||{{||||{{{{{z{{|{||{{|{|{{|{zz{|||||{{{{{{{{{{||{||{}{{{z{{|z|||{|{|}{{|{{{z{{{|{|}|{{{{{{|{{|||{}||{||z{{{{zz|{}{||||{{{{{|{||{||}|||{|{z|{{|{|||||||}z{{||{||}}|||}{}{{{{z{||{}{|{}||{{z|{|{||||||||{|{{{||{|}||{||||{{z|{{{||||||||{{{|||{{{|{|}|}|{{{{{{{{|{{||~~~}}||}}|}}}~|||}{|{||{{{|{|{|||}{||z|{{{z{|{||}||{|{zyz|{{{{|{{|{{|||{|z{|z|{|{||{{zz|{{{{{zz{{{z|{zz|z{{zz{{||}yz{z{y{{{||||{|zzz{y{zz{{z|z{{|{{z{zzzz{{{{{{{||z{{{z{z{y|{{{|{{z{{yz{{zz{z{{{{zz{{{{{{z{{{z{||{{{{{|zz{{|{{{{{|{z|z{{z{{|{{{{|}{{|zz{|{{|||{{{{{{{zz{{z{||{|||{}|{{{{{{{||{||z|||{||{{z||z{|{{}{y|{{|{{||{|{}||{{}|{{{{{z{|{||}{{{{z{{||{}{|||||{{{|{{{|{|{||}|z{{{{|{{{{||||}{{z{{{|{{{}}|{}}}{{||{|{{|{|{||}{{{{{{|z|{{|||||||||{}{{{|{||||||||{{{z|{{|||{}{||{|{{{z|{|{{{|{{{{{{|yz{|{||{~~~~|}|}|{|}~{}}}}|}||||}|{|}{|||{|{z{{{{z{|}|{{|}{{{z{{{{|{|z{|{|{{zz{||{{{{{{{|{{{{z{z{z{||z{{{{{{{{{{zz{{{{{{{|zzyz{{z{{|{{{{|{{z{zzzzzz|{z{|{{{zzz{{zz||{{{|}{{{z{z{{y{zz|{{||{zzz{zzz{|{{{{{{z{z{{{zz{{{{{||{{z{zz{{zz{{{{{|{{{{{{zzz{{{||{{{{{{{{z{z|{|{{{|{|{{{{z{{{{||{{{{{{z{{{zz|{{||{|{{z{{{{{{z|{{||{|{|{z{{{{|{|}|||{z{{{{{{{{{{}||||{{{{}{{{|||{|||{}y{|{z{{{|||{||||{{zz{{|{||{{||||z|{{{{{||||||{||{|{{{{{}{||z||{{{{|{{|||||{{|}{{|{{{{{{{|{|{|{|{{{z{z{{{||||||}{z|{|z{{{|{{|{|{{{{zz{{{{{{|{~~|}}||}}}|}|}}|}{z{{|z{{|{{z||}|{{z{{{{{{|{{|{||{{zz{{y{|{{{{{|{{{zzz{z{|{{z||{{{{z{zzz{|{{{{|{{{z{z{zz|z{{{{{{{z{zzzzzz{{z{||{{z{{{{zz{{z{{{|{{{{{z{{zz{{|{{|{{{{z{zz{{|{z{z|{||zzz{zyz{z{z|{|{zz{{{{{{{{|{{|{{{z{{z|zz{|{{{{|{z{zzz{{z{||z|{|{{{zz{{{{|{{{|{|{{{z{{{{{|{{|{{|{{{{{{z|{{{{{|{{{{{|z|zz{|{{z|{{{z{z{z{{{|{||{|{{{{{{{{{||{||||}{{{{zzzz{||||||}{{{{z{{z||||{||}{{z{{{{{|}{|}{|||{{||{|z|||||{{{||{|{|{|{{}|{}|{{{{{{{{{{{{|{||||{{z||{|||{|{|||{|{{{z{y{||}|{||{{{z{{{{{|{|{{||{z{{zz{z{|||{~~~}}||}||}|}}}|||{|{{||||}{||}}}||{|{{z|{{|||{{||{|{z{{{z{{{{|{{|{{{{{{{zz{{{{||||{{{zzzzz{|z{{{zzzzz{{z{z|{|{{||{zzz{yzy{|{{|{|{{{zzzzz{{{z{||{|{{{|{zz{{{{|||{z{z{z{z{{z|z|||{|{{{zzzzzz|{z{{{{zzz{{z{y{{{{{{|||zzz{z{{{||{|{|{{{{{zz{{{|{{{{{{z{{z{z{z{{{|{{|||{{{{{|{{|{{{|||{z|{z{zz{{||{|||{{|{{{{{|{{{{{|{{{{{{{{{{{{{|}{|z{{{z||{{|||||}|{{{{{{{{||{|{|}||{{{|{{{|{|{{}||||{{z{|{{|}{{{}||{{|z{z|{||||{|||{|{|{|{}|||||{||{{{{{{{{||}||}|{z{z|{{}||||||}||{{z{{{{|{{}||||{{{|z{z{{|||{{||{{{z{zzz{||{{~~~~}||}}{}}|}|}}}|||{|{|{}|{{|||||{{|z{{z{{{||{||z|zzz{{z{z{}|{{|{z{zz{|{{{|zz|{{|{{z{{{{|{{{{|{{{|{zz{zzz||{{{{{{z{zzz{zz{z{z{{|{zz{{{zz{z{z{||{z{{z{{{zz{{{zz{}{{{z{z{zz{{z{{{{{{{zzyz{z{{{{||{z{{{{{zzzz{|{{|{zz|z{z|{{||{||||{{zzz{{{||{|||||{{{zz{z{{z|{||{{{||{{{{{{}|||||{{z{z{{zz|{||{|||{|z{|zz{{||{{|{{{{{{{z{z{||{{||{{z{|{|{{{|{}{}}|}z||z{|{{||||}||{{z{|{{z||||{||||{||{{{{{|{{||||||{{{|{||||||{|}|{||zz{||{{|{|z||z|{{{|{{||}||}|{{{||{||||{|||||{{{{{{{{{}||{|||||z{{z{{{{||{{{|{{zzz{{{{||||~~~}~|||{|~}{|}}}|}|{||{{{}|{{||}||{{{{|zz{z|{{{{{{{zz{{{z{|{|||{|{{{{z{{z{{{{{||{|zzzz{{{{{{{{|{|z{zz{zz{{z{|{|{|{{z{{{z{{{{{{{|{|{z{{{z{z{||}{{|z{z{{{{{||{{|{|z{{{z{zzyz{{{z|{{{z{{zz{z{{z|z|{{{z{z{{{z{{|||{||{{{yzzz{{{|{{|{|{{{{{zz{{||{|{{|zzz{z{z{{||{|||{{{{{{y{{{|||}||{z{z{z{z{|{|{{||{{zz|z{{{z{|{|||}{{{{|{{{{|{|||{{{|{{{|z{|||~{}|}{z||{{{{|}{||||{|z|{|{{{{}|{|}|}{{{|{{{|{||||||}|{|{{|{{|}||}}}||{{{{z{||||||||{|{{{|{{{{|||||}}|{|{{{{|||||{||||{{z|{{{||{{{||}{z||z{|{{{||{||||{{z{{{||||{{~~~~~|}~|||}}}~||||{||}|z|z|{|{}|~}{{||{{||{|||||{||{{z{{|{z{{{||{|{{{{z{{{{|{|{{||zz{zz{z{{{|{{|z|zz{{{{{{{z{{{{||{zz|{{zz||{{{{||{zzzzzz{{{{z|{||{z|zyz{z{|{{{{||{{z{zz{{{|{{{{{{z{{zz{{{{|{|{{|{zz{{z{yz{|z{z|||{{{z{z{{{{{{{{|{{{{{{z{{{||z{{|}{{|z{{z|{|{||{|||z{{{z{z{||{||||{{{|z{zz|{{|||{|{z|z{{z{{{{{{||{{{|{{y{z||||||||{{{{{{|{|{{|||}||{{{{{{z{{|||{|{|{{||{{{||{|{||{|{|z{|}|{}|{||||||{|{||{|}|||||}||{|||{{}||}{||||{||{{{{||||||{}|{||{|{|{|||{|||z||{{{{|{||||||||{z{{{zz|{{{{z{}|{{z{z{{|||{|~~}}|}{}}}}}}|}}~|{{|z|{z}{{|||}||{{{|||||{{{{||}{|{{{{{z{|{{|||}{{|{{{{z{|{|{||{{z{z{z{{z{{z|{z|z{|{zzzz{{{{|||{z{zzzzz{z{{|{||{z|{{{{z{z{{{{{}{z{{z{zz{z{z{|||{zzz{{z{zz{{z{{||{{z{zz{{z{z|{|{|z{{{{{{z{|{||||{|||{{z|{z{{{{{}}{z{{z{{|{{{{|}{|{{{zz{{|||}{|||{{|z{|{{{||{|||{||{|{{{z{{|}{{|||{zzz|z{|{{{{{||{||{{|{z{{{|{{{|{|{{{{{||||||||||{{{{z{z{|||}}||||{{{{{{{||||||||{{||{||{{||||||}{{|{{{|{{|}|}||||||||{{{|}||||}|{|{{|{{{{{{||}|}|{{{}{{{|||{|~{|{||{{|||{}|{{||{|{{{{|{{{|||||{|{{{{{{{z{||{{~~}}|}|~||}|~|}||}|{|{{||{||||||}||z|{||{z{{|||{|{{||{z{zz{|{}{|{|{{{{z{z{z|{{{{{{{{{{zyz{|{{{{|{zzzz{{{z{{{zz{{|{{{|y{{zz|{z}z|{{z{{{zzz{z|{{{{{|{z{zzy{z{|{|{{||{{{|{z{z{{{{{{{{{{zzz{z{z{zz{|||zz{{z{{{z{{|{|}|{{zz{{z{{|{{{{||zz{{{z{z{{{{{|{{{{{{{z{z||{|{{{{{{{z{{|{{{{|{||{{{{{zz{{{|||{{|{|z{{|{||{{{{{|{|z{{z{{z{{{}||||||{{{z|{||||||{|{{{{{zz{|{||{{|||}{|{{z{y{||{|}|||||{{||{{|{{}|||{{||||{||}|||}||{{|{{{||||{||{{||{{{z{z{|{{}|||}}|||{||{{{||||||{{{{{{z{{{|||{}{{{{{zz{y|}{}|}|{{{{{zz{z{{|{|~~~}~}}}}}}|}}}~}~}{||{{||{|}|||}}|{{|{{{{{{{||{{||}{{z{{z{|{|||{{}||{{z{{z{{{{{{|{|{|{{zz{{{|{{|{{{{{z{{{z{{{{{{{{zzyy{z{zz{{{z{|{|zzyzzy{zz|{{||{{z{|z{y{{{|{{{{}zz{}{z{zzz{{z{z|{{{zz{{{z{{{{{{|yz{{zzzz{|||{||||z{{{{{{{z|{{||||{|{{{{{{z|{||}}|||{{{{{|{{{{{|{{|{{{{{{{|{{||{{{{{z|{z{|{|{|{{|{{{|{{|{|{{{{{{|{z{{{{|{||{|||||{|{{{{z{{|||||||{{{{{z{{|}}||{||{z||{z{|||||}{{|{|{|||{|{|||||}||{{{|{{|{}||||~||{||{{{{{|{|}|}|||{{|{{|{{{}|}|||{|||{{{{||{}|}}{{{{{|{|{|||||||{{{|z{{{{|{||{|||{|{{z{z||{{z}~|}}}}}|}}~}|}}|||{|{{|{||||{}|}|||z{|z{{{{}}|{{}|{{{{{{{{{{{{||{z|{{{{{{z{{{{||||{{z|zzz{z}{{{||{{{z{{||{zz{{{|{{{{{z{|{|{{{{|{|zzz{y|{|{{|z|{{{{{{{zzz{{{|{|||{{zz{{z{{{{{{|{{{{{{z{{{zz{{z|{{||zy|z|z{{|{{|||}|z{{|z|z|}{|{||{{z{{{zzz{{{|{|||z{{{z{z{||{{|||{{|{{{|{{{{||z|{|{{{{{z{{{|||{|||{{z{z{{{{{{{||||{z|{|{{|{|||}|||{{{{{{||{||||}|||{{{{{|z||}{|{}{|{{{|{|{||{|||||||{{|{{{{||{|||{{{|{{}{{{~||||}}|z||{{{{{}{||}}|{{|{{{{{|||{{||}}{{||{{|{{{||}|}||{{{|{{{||||{|{||{|{|z{|||||||{{z{{{{{{}{}|{~~}~~}}}}}||{||}|}}}}|z|z|{||{|}}{{{{{{z{{{z{||{|{{||{{{{z{{z{|{|||||{{{z{|zy{|zz{{}zzz{{|z{z{{{{{z{{{zz{{{zz|{{{|{{{{{{zyyz{{|{{{|{{{{yzz{z{z{|||||{{z{{{z{zz|z{|{{{{z{{{z{zz{{z{||{{{yz{{z{zzz{{|{|{yz{z{{{z{{{{{|{{{{{zzz{z||{||||{zz{|{{{{{{|{{||{z{{{z|{{{|{{{|{y{|{{{z{{}|{{|||{{z{{{z{{|{||{|{|{{z{{{z|||{||{|{|{{{{{{{||||}|}||{{{{{{{{{|||||{z{zzzz{{{|{||{|}z{z{{z{||{|}{||{zz{|{|{{|{{{||}|{{|z||{z|{|||}}|z|{{{{{|||{||}||{{{{|{|{{|||||||{|{{|{{|{{|||}|{{|{{{{{{{{||||||{{{|{{z{{{|{{{{{{{z{z{z{|||||~~}|||}}|{|||}||}|}||{|{{{|{{|{|||||{|{{z{|{|{z|||{{{{{|{z{{|{|{{|{z{z{{zz{{{{{{}|zz|z{{z{{{{|{{|{zzz{|{zz{{{{z{|{{z{z{zzz{{{{{{{{z{zzzzz{{|{{|{{|{zz{z{z{z{{|{{{|zzz{zyz{z{{zz{{zz{{{z{z{{{z{{{||zz{{z{{z{{|{{z{|{{z{{{zz{{|{{|||{z{{zz{{{||{{|||{z{{{{{{{{||{||{{{{{{z{z{||{{{{|{zz{{{zz|||{|{{{{{y{{z{{{{||{}{{{{z{zz{z|{|{{|||{|{{{{{{||{|{|}{|z{|{|{{{||||||||z{{|{{|||}||{}{|{{{|{|{{{{|}|||{{z{|{{{{|{{||}{|{{{{{{{{||}|}|||{{{{{z{|{|{||||{{{||{{{||{|{|{|zz{{|z|{|z|{{}{|{z{{{|{z{{{{{{||{z|zzzzz|{{||~~~}~}|}{}||}}}}}||}||{||{{{{{|}|{|}|{{{{|{{|||{{{{||z|z{zz{{{||||{|{{{zz{{z{||{z|{{{|z{{{{z{{|{z{{{{z{zzz{{{{||{{{|{{{z{zzz{{{{{{{{{z|yzzz|zz|||{z||zz{{{{{{|{|{{|||z{z{zz{{{{{{|{{{zz{zz{{z|z{z{|{{{{{{{{{||{{|{{{{{z{{z{{{|||{{|||z{z{{{z|{{{|{{|{{{|zz{|{{{|z{|{|{{{{z{{{||{z{||zz{z|{|z{{||||{|{z{{z{z{{||{|||||{{{{{{{||||{|||{z{{z{|||{{}{{||{{{{{{{{||{||||{|z{{{{{|{|||||||{{|{|{{|{|{||{}|{{{{|{{{{|||{||{{{||||{||{|||{{|{{|{|{{||{|{||||||z||||z{||}}|||{{|{{z{{{|{|||}|z{{z{{|z|||{z||{z{{zz{{z|{{{{~~~~~}}~}}|||}||~}{~}||{{{||}|}{}||}|{{{|z{|{||{||{||{{{{{{{|||{||{{|{{z{z{zz|z{|{{{{z|{{{{z||{{{{||{{zzzz{{{z{|{{||{z{z{zz{{{z|||||z{{{{{{{{|{|||{|{{{z{{zz{|{{{{|{|z{{{{z{z{{{{{|{{{zzzz|{{|||{|||{{{{{{{z{{|{{||{{{{{{z{||||{{z{|{{{{zz|z{{{{{|||{{{{z{z{|{{}}{||{{{{{{{{||{||}{||{{{{{{{|||{||{{z{{|{{{{{|||{|||{|zz|{{{{||||{||{|{{{{{z|{{||{}{{|{{{zz{{}||||||}{z{||{{{}||||}|{||{{|{}{|||}}|}}{{{{|{{|}}|||||{|{{{|{||||{|}|||{{{{{{{||||{}|||{{{{|{{|{{{||{||{{{{{{|{|||{|||{{{|{{z{|{{|{||{|{{|{{{{{|}|{~}~}~}}{||}}||}}}}|}{}{{{|{{{|{|||{|{z{{{zz{z|{|{|||{|z{{|{z{{{{z|||{{zzz{{zz{z{z{{|{{z{y{{z{{|{{|{|{{{{{zz{{zz|{|{{z{zz{zz{{{|{|{{{{{{|z{z{{|{{||{{zzzz{{z{zz|{|{|{z{z{zz{y{{|{z{{{{{{{zz{zz|{{{|{{{z|z{{{z{{{{{|{||zz{{{z|{{{||||{|{{z{{{zz{|{z{{{{{{z{{z|{{{||{||{{{{{z{z{||{{}|{{{z{z{z{{|||{{{{|{{{|{z{{|{|{|{|z{{z{{|{|{{|{{|{{|{{|{|{{{|}{{||{{{z{{{z{||{|||||{z|||{{|||{||}|{{{{{{{{{||{{||}|{{{{{zz{}}}|{|}{{|{{{z{|||{||||||zz{{{|{|||||}|||{{z|{|||{}{|}}{{{zz|z{|z{{{|{||{|{z{zz||{|{{|{{{|z{z|{||{|{~~~}}}}}}|}||||}}}}|||{||{{{||}|{{|}{z{{{|{z||||{|{||{{{z{{z{{||{|{{{zz{{{zz{|{|{||{{{{zzzzz{{|{{z|{{{z{{{{{{z|{{|{|{z{{{z{z{|{||||{{{zzzzz|{z{||{|{{{{z|zz{z{||{|{{{zz{zz{z||{{{{{|{{|{zz{z{{{z{{{{{{{{{{z{{{||{||}{{{{zzz|{||||}||{z{zzzz||||{{|||{{{z{zz|||{{|||||{{z{{{{{|{||||z{z{z{zz{|||||{||{{{{{{{||{|||||{{{{{{|z|{||||{|||{|{{|{{{|||{||||{{{{z{z{|{||||{}{|{{||{{}{|}|{{{{{{{||{{}|||{||||{{|{|{|||||||}||{{{|{|}|}{|}|||{{{{{{||}}||{}{{|{{||||||{}||{}|z|{|{{{{||{|{||||z{{{{{{|{{{}|{{{{{{{zz|{||{~}~}~|}|{}||}}|}}}}}|{{|{|{|{{|||}|||{z{{|{{{|||{|||{|z{{{{{|{||{|{|{{{z|{|z{|{{{||{{z{{{{z{|{{{{|z|{|{zzzy{{{{|{{||z{zzzz{zz{{|{{|}z{{yz{z{|{|{|{{|{{{zz{zz{{{|{|{z{zz{{|{z{|z{{|{|{{{yzz{z{|z||{|{{zzz{{{z{|||{|||{{|{{{zz{{|}||||{{{z{z{z{|{|{{{}{|zzzz{{{{||}{|{{{|{|{{{{|||{}{|{{zz{z{{z{|||z|{||z{{zz|{|{{{||||z{z|{{{|}|}||}|{{{||||{|{|||}|{{zz{{{{z{{||||{||{{{|{|||||{|||{{||||{||||{|||||{||{{|{{||{|||}|||{{{|{z|||||||{{{{{{z|||||}{}}|||{{{|{|||||||}}{{{{{{z|{}{||{||||{|{|z{|{{{{{||{{{{{zz{|}||{~~}~~~|}|}}|}|}}}}|~}}}}z|{{|}|{|}|||}{|{|{|{{||||{|}|||{{{|{{{{{{|{{{{{{{z{{{|{{{{{{{{{|{{y{{{{|{|||{{{zz{{{{{{{{{|{z{|z{|{z{|||{z||{{zzzz{{{||{{{|{z{z{z{zz{{{||{|{{{zz{{{z{||{{{{|z{zzz{{z{|{|{|{{{{{{{{z{{||||{{||{{{{{{{|{{|{}{{{{{|zz{{{{{|||||z{z{{z{z{{|{{|}{|{|{|{{{||||{|||{{{{z{{{||||{||}{{{{{z{{||{{{|||{|{{{{zz{{|}||{{{{{{{|{z|}{||{|}{{z||{zz|}|{|||||{|{{||{}{||{{}||{{{{||{{||||||}|{{||{{{{}||||||}||{{|{{|}|}{|||{{z|{{||{}{|||||{|{{{{{|}|{{{|}|{{{||||{{||||||}|{{z{{|z{|||{{||{{|z{{|{|||{|~~~~}~~~|~}}}}||}}}}|}}}|{{{{||||{}|}||{{|{{{{y|{||{{{|z{|{z{z|{{||{{{|{y{|{z{z{||{{|{{{{z{|{zz{{{{{{{|{{zzz{{|{{{{{{|{{zzzzz{{{{|{{{{|z{{|{|{||{{{|{|z{{||z|{{{||{{{||{zz{zzz{{{{{z{{{{y{z|{|{z{{{{{||{{{{{{{{{{||||{{{z{|{{{{|{{|{{{|{z{{zz|{{{|z||{|{z{z{{z{z{{||{||{z|{{z{{||{|{}{|{{{{{{|{{|{{{|{{|{{{{{z|z|{||||{{z{|{|{{{||||}{{z||{{|{{||{{|}}}|z|{|z{{{||||{|z{z{z{{{{||{{||||{{{z{{{{{|{|||}|}{{z{||{{|||{|||}{||||{{|{}{}|{||z{{|||||||{{|}}||||{{{|||||}|}|||{z{z|{{|{{|}}|}{{|{{{|{||{{||{{z{{{{{{{|{|{}~~~~}~~}}||}}|}}}{~}|}|||{|||z||{}||}{||{{{{{{|{|{{||}|{{{zzz{z{||||{|}z{{{z{{z{}|||||||{z{{{|z}|{{||{{{{{z{z{{{|{{{{||{{{z{zzz{{|{{{z|{z{{z{y{|{}{{|||{zz{{z{{||{z{||{{{{|{{zz{{{{{||{{{zz{{z|{|{{||{{{z{{{{z{z{{{z|{}zz{{|{{z{{{{z|{|{z{{zz{z{{|{{|{|z{{zz{{z{{{|{{||{{{{|z||z}{||~{|zz|{zz{z{{|{|||{{{{{{{{{|}||||{{{{|{{{{||||||||{{|{{{||||||||||||{{|||{z||{||||{{z{{{{|||||{||}|z|{{|||{|||||}||}{|{{|{{{|{}|||}{|{|{{{||{|||{}|{{|{{z{||{|||}}}|{{{|{{{{}|}|||}||{z{{|{{||||||}||{|zz{z|||{{|||{{{z{z{{||{{{}~~~~~~~~~~~||||{|||||||}}||}z{{{|{{||{||||{{|z{zz{{|||{{|{||zzzz{z|{{{{|{}|z{{{{|z{{{z{{|z{{{{z{{y{|{z{|{{|z{z{{zz{{z|{{{|zzz{{zz{z{{{{{{|{y{zz{zz{{{{{|{{{{{{zzzzz{{|{||||zzzzzz{zz{{{z||{{zzzz||z|{|{|{|{{z{{{{{{|z{|||{zz{z{{{{{|{z}z{|z{|{|{z{{{{{{|{|{{{{z{zz{{{|||z{z{|{{{{{{{{{{{{|{{{{z{zz{{{{z{{{{{{{{z{{{{|{{|{|{{{z|{{|{|{{|{{}{{{z{{|{|{{||||}zz{|{{{|{||{||}}|{{{|{z{||{{||}|||z{{{|||{{||}{||||{{{{{|}z{||}|{{{{z{{{||{||||||||{{{{{{||{|{|}||{{|{{{||{|||||{{{{z{|{|{|{|{||||{||{{z{{{|{{||{z{zz{{{{|{{{}~~~~~|}}}{}|}||{|||}|}||||z{|{{{{|{||}{||{z{{z{{|{{{||{{|{z{{zz{z{{||{|||z{{{{z{y{{{z{{{{{zzz{z{z|{|z{|{{|z{{z{{z{z{{{||{{zz{zz{yzz{z{{|{zzzzz{zzz{{z||{{{zz|zyzy{{{|{||{{{zzzz{z{{{{{{{zzz{z{{z{{|z|{{|{|{{{zzzz{{|{|{|{{zz{{{|y{|zz|||{zz|z{{{{{{|{{|{|zz{{{z{{{{{{|{{{z{{{{z{{{{|{||{{z{{{z{z{{||{|{||{{|zz{y{{|{{{|||{{z{{{{{{|{|{{{|{{z{{{{z}|{||{|{{{|||{z{{|z}|||{{z{{|z{{{}{{|||{|{||{{z|{|z|{|}{|z{{{{{{{|{||{}||{{{{{{{|||}{{|||{{{{{|{||{{{{||{{z|||{{||{||}||{{|z{zz{||||{|||{{{{yz|{{}|{{{|{|}{zz{||{{||{~~~~~~~~~||}|||||}}~||}||}{|{|||{|{|}||||{{{{zzy{{{{{z{{}|{zzy{{{{||{}{{|{z{{z{{z{|{{{{|{{{zz{{{y{{{z{|{{{{{{{{z{{|{||{||{z{{|z{z{||{|{}z{z{{zz{z{z|||{||{{{{zzzz{{{|{{|||{{{{{zz{{{{||z{{zzyzzzzz{{{{||{{z{{{zz{{|{|{z}|zz{z{z{{{{{{{{|{{{{{zz{{{{z{|{{{{{{{{{{{{||z||{|z{{{{z{{{{{|{|||{z{{{{{{{{|||{|{{{|{{{z{|{{{|||{|{{{{||{{|||{|||{||||{{{{|{|{|}{{{{{{|{{{||{|{}||{{{{{{z|}{||||{|{{{{{{||||{|}}|{{{{z|||{|z}|}|||{||{{{{}}|}{||||z{{{{{{{|||{|}}}|{{|{{{{{||{||||{{{|z{{{{{||}{{{|z|z{{{{{||{|||{|{{{|{{{{|{{~~}~~~}}}~|||}}|||}||}}}}}}}|{{||{||{}|||{|{{{{z{{{{|{|{|{|{|{{|{z{{{{{{{}{zz{zz{{{|||{{||{z|{{zzz{{{{{||{{|{zzz{{{{{||{||{z{{zzzz{|z{{{||{{{zz{{{{||{||{{{{{{z{{z{{|}|||||{{|{zzz||{{{|||{{{z{{{z{{{{{|{|z{{z{|{z{{||{{|{{{|{|{zz|{{{{|}{{{{{zz{{{{{{|z||{{{z{z{||{||{{|{||{{|z{{{{|||||{|{||z{|{{|{{{||{{|z|{{|{{{}|{{{|{{{{{{{{{||}|{{|{{|||{{||||||||{||{{{{z{{|||||{|{{|{{{zz|{|||}}}||||{||{{}|||}{||{{{|||{{|}|||}}|{|||{{||}}|||||{{{||{|{{{|{||}|{|{|{{{|||||}|}||{{z{{{{{}|{|}||{{{{{{|{|{||||||}{|{{{{{{|||{~~}}~~~}}~}}}|}|}}}}}||}}~||{{|||{|{|}|}||{z|{}{{|{|}|{{|||z{z{{{{{{{|{|{}{|{{|{{{{|{|{{||{{{{|zz{||{{|||{{z{zz{{|{|{|{{|{{{{z{{{z{||{{{||{{{z{{{{|||{{{z|{z{{{zz|{|{{{{{{{{zz{{{{{{{{{{{||{{{{|z|{{|{{{}{z{|{|{zz{{{|||||{zzz{{{{{||{{z{{|{{z{{{{|{|{}|||{{|{{{{{{{||}|}|{{{{|z{{{{|||{|{|{||{|{|||{|{||{|{z{{{{{{}||||||{|{{|{zz{|}|{}|}||{{{z|{|{{|{|}}{{{|{{{{|}||{|}}|z{{}{{||||}||}{}||z{||{|{}||||}||{|||{{{}}}}}}}|{|||z{|{}|}||}{||{||}{|{}{}|}}}}|{{|{{{{||}|||}{|{{{{||{{|}{|}~||{|{{{{{||||{|{{||z{{{{|||||~~~~~}}~}}}}}||{|}{|||}}}}}|||}{{{{||{|||||||{||{|zz{{|||{{|||||{|{{{z{{|||||{z{{{{{z{|}|||}|{|zzz{{{{|{{{|||z{|{z{z{|{{|||{{|{z{{{{z|{{|{}|{|{{{{{y{{{|||{|{{{{{|{{z{{{{{{{{z{{z{z{z|{{|{{|{{{z{z{{{{z{|{}|{z{{y||{z|{|{|{|{||{zz{{|{|||{||}{||{{zz{{{|{|}{|z{{{{{{z{|}{|}}|{{{|{z{{z|{||{|{{{{{{{{{||||||}}{{{zz{{{}|{{|||{{{||{|zz|{|{|}}|{{}z{{|{||{|}||||{{{{{{{|}||||||}{|{{{|{|{|{||||||{|||{|{||{{||||{||{||{}||}{}}}|{|{{{{{|{||||{||{|{{{{{{||}|}|}||||}|{{{||||||||{|{{{{{|||||||{{|z{z{|{{|||{}||z{{zz{{|{{||{~~~~|~~}}~~}|||||z||~}|~|}}{{|{||{{}||{||||{z{||{z{{|||z|||{{{{{{{{}|{{||{|{{{|zzz{{{{z|{|{{|{z{{z{|{|{{{|{z{|zz{{{{||}{{{||{zy{z{z{{|||{{|{z{{{{y{{{{z{|||zz{{zz{{{|{{{{||||{z{zz{|{{{|||{{{{y{{{{z{{{{{{{{z{|z|{z{|{{{{{|{zz{z{{z{|{{{|{|{{{z{{z{|{z|{}||z{zz{{{z{{{{{{}{{z{z|zz{{|||{||{|z{{zz{|{|}{{}|{|{{{{zz|||{{|||{{|{||{|{||{|{{|{{{|{|{|z|||||||{{{{|{{z{z||{{{||{z{||{|{||}||}|||||{{|{||}{||||||{||{||}||||||{||{{{{{{{|}|||||||{{|||{||{|}{||}{{||{|{|{{|}|}|||{{{{{|{{{||{|}|{{{{|{z{|{|||||{||{{zz{{|{}{{~~}~}}}}}|}}}~}{|}}{|{||}|}}|||{|z|{|z{{{|}}|{{{{{|{{||{{|{{}||{zz{{{z{{{{{|{|{{{||z{z{z{{{|{|{z{{zz{|z{{|{{{{{{zzzzyzz{{{z{{|{z{z{{{y{{||z{}{{zz{z{{z{{{{{|{|{z{{z{{z{{{|{{}{{{z{{{{zz|{{{|{{z{z|{{{z{{{{|{zzzzz{{{zzz{|{|{||z{zz{z{{{||z|{||{{{zz{{{{|||||{{z{zy{{{z{{{{{|{|{{{{{z{zz{{{|||{{zz{z{{{z|{}{||{{{z||zz{{{{|{{{|{|z|{{{{|{||||}|{{|{{{{{||||||||{{{{{{{{||||||||{z{{|{{{{|||||}|{{{z{{{||{|{|{||{|{|{|{{|||}|||{|{{|{{|{}|{}|||{|{{{{|{|||{|||}}||zz{{|}|{||||||zz|z{{||{|{|{|}}|{{{{{zz|{{{{z|{{||{{z{{{|||{~~}~~}~}~}}|~~}||{|}{|{|}}}|{|||||{{|z{|{{{||}||{{z{z{|{|{|z{||{|{{z{zz{{{|z{{|{|{z{{{{y{|z{{||{{{z{{{{{|{{z{{{{zzz{zyzzzz|{{{{{{zz{z{{{{|{{{|{{{{zyz{{{zz{{{{{z{{{z{{{z{zzz|}{zz{{{{{z{{{{z{|{{z{zz{zzz}{{z|{{{{{{{{{z{z|{{{||{{zz{{{zz{||||||{{{{{{|{{|z{{{{|z{{zz{zz{||{{{||{z|{{y{{{|||||||{{{zz{{z{|{{|||{{{{zz{{|{|{{||{{{{{z{z{{{{|||{|{{|{z{||{|{{{|||||{z{z{{z||||{|}|{z{||{z{||{|}{||{{z{{{|z{||||||||zz{{|{|{||}|{||||||{{{{|{||{|{||z{{|{{{||||{||||{{{z{|{||{|||||{||zz{{{|||{|{||{|{{{{|z|{{|{{||||{{{zzz{{{{{~~~~~~~}|}~}~|~}}{{{{{{||}||{}}|{{{|{{|||{{{||{|{z|{z{||{{{{{|{{|{{zz{{z{{{{{{}{{{{z{z{{|{{{{|{{{z{{z|zz{{{|{||{{{yzz{z{{z{|z{{|{{{{zz{z{z|{{{{{z{{{yz{z{{{{z|{|{{{z{{{z{|{|{z|zzz{zzz{z{{|{z{z{{{z{z{{{z{z{{{{{{z{{zz{{{zz{{{{{{{z{{zzy{|{{z{{{|z{{{z{z{z{|z{{{z{{|{{z|{z|{|{{{{{{|{zzz{|z|{{z|{z{{zzz|{|||{||{|{{z{z{|{|}{{|{{z{{z|z{z||||{||{{|{{{z{z|{{{{{|}{{{{z{{z{{{{||||{z{z{{z||||{||}|{{{z{{{{{}{|{{||||{{{{{{|{|||||||{||{{{{{|}||||}{{z|{{|{||{}|||||{{{z{{{{|{{{||{|{|{z{|{{{{{|{||{{{{{z{z{|{{{|}}{{|z|z{{|{{{{~~~}}}}}|}}~}}|}}}||||}|{{{}}}|}||||||||{|{||{|||}{{{{{z{{{|||{{|{|{|zzz{z||{{||{|z{{{z{{z{{{z{{{|{{{zzzzz|{|zy|{{{{zzzzz{{z|{{{{{{zzzzz{{z{{{|z{{{z{zz{y{{{|z{{{zz{{{{z{{z{z|{{|||z{z{{yz{{{{z{{z{z{z{{z{z{{z{|{{{z{z{{z{{|{|{|{||z{zz|{{{|{||{{}|z{zz{zz{|{{{{{{z{{y{z{{||{{||||{|}{{z{z{{|{{|{{z|z{{{{z{||{{z{{{{z|z{zzz|{{{|||{{||z{{{|||{||{|z{y{|z|{{{||||{|{|{|{{zz|{{||{|{{|||{{{{||{|||||{z{|||{{{||||}}||{{{||{|{||||{}||{{{zz{{|{{{||}{|{z|{{{{|||{||}||{|{{|z{|||{{|||{||{{|z{z|{||{||{|{z{{{z||{|{|||{z{|z{{{{{|{{~~~}}}}||~~}}}~|}{|{||{|||||}|}}{z||||z{}{|{|}|{|{{|z|z{{{{||{}||{{zyz{z{zz||{{{{z{zzzz{z{|{{{|{{z{{z{z{{z|zz{{z{zzzzzz{zzz{{z{{{{z{{zzz{{{{{{|{{zz{z{zy{z{z{|{{zz|zzz{zz|z{{|{|{{z{zyyz{{{z{|{{{{z{{z{z{{{{{|{{{z{z{{{z{|{{{{|{zz{{{zz{{{{{|{{|{z{{zy{zzz|||{|}{{{{{z{{|||{{{{{{{{{{{{{||||{|{|{{{{{{{z{||{|||||z{{|{|{{{{z{}|{{{{{{z{{|{|||{||{{{z{{|{||{|}||||{{{z{{{{{{||{~{{{zz{zz{{{{|||}|{{{{{{{{|{|{|||||||{{|{|||||}||||{{{z|{{{{|{|{{}|z{{|{{||||{{{|||}{{|{z|{}|{||||{z{{{{z{{||||||}||{z{z{|{{||{||{|{{{|z{z|{z||~~~~~~}~|}}~}}|~|||||{{|}{||}|{|}{|{|{|{}{|||{|}z{{{{||{{|{{{{||||{{zzz{z|z||||{{{{{{{|{||{{{{||{{{{z{{z|{|z{|{{{{{zz{{{{{{{{||{zz{z{{{z{{|{{|{{{{{z{{z{{{{{{|||{{{{y{zz{|{|}|||{{{{{z{{z{|{{{||{{{{{{{{z{z{z|}{z|z{{zzz{|{|{||{z{|{{z{{||{{|z|}{{zzz{{{{{||||||{{{{z|{{{||||{|{{z|{{z{z{}|{|}{{{|}{{{{{{{{|{|}{{{{{{{{{{|||||||||{{{{{|{{|||||{{{{z{{{{||{{{||||{{{{{{z{||||||{|{{{{|z{|{|{||||{{|z{|||||{{}}||{||{|||z|~}}}}|||z||{{{{||||~|{|{|{|{{z{{|{|||}}{|{{{|{||{}||||}|{{{z{|{{{{|||||{{{|}{{{|||||||{{{{z|{{{|{{z{~~~~~}}}|~~}}|}}}||}}|{|||||{|}||{|{{{{{{||{||||{{|{{z{{|{{{||||||}{{|z{{{{|{{{|{{{{z{{zz|}{{{|{{zz{{zz{|z{{z|{|{{{{|{z{{z{{z|{{{{{{z{{y{{|{|{{{{zzzz{{z{{|{||||{{|{zzzz{{{{{|{|{z{{zz{z|{{{{{{zzzz{z{zyz{{{{|{|z{{z{{|z|{|{{{{|{z{{zzz{{|{{{{z|{{{z{{zz{{{||{{{{{{{zz{{||||{{||{{|{{z{{z{{{||||{z{{zz{{z}{||||{|{{{z{{{{||{||{{|{|{|{{{|{|||{|{{z{{{{{{{|{||}|}|{{{{z{{|{{||}|||{z|{{{{|||{|||||{{{{{{{{|{}|||}|{{{{|{|{|{{|}}||z{||z{{}{|||||||zz|{{{{{|{}|{|||{{{|{{|||{{|||{||{{{{{{||{|{}|}{|{{{{{{|}{|{{{{z|{{{z{{{{{|{}~~}|}~|}}~}}~}~}}}|}|||{}{|{|}}||||{{{|{{{{{{|||||{{{{{{{||||{|{{|{{{z{{z|||{{{z{{{{zz{{{{|{{{||||zz{{{{{{{|z{|{|{{{zz{y{{{{{{{{|{zz{zz{|z|{{|{|||z{{zzzz{|{{{|{{z{z{zzzz|{|{{{||{zz{{{{{z{{|z|||{z{{{{{z{{{{{{||z{{{{{zz{{{z{{{{{zzz{{zz{{{||{{{{{{{zz{{{{{|||{|z{{{{z{{{{|{|||{{{{{|z{{{{||{|{|{{{{{{z{|||{{||{{{y{z{{{{|{{{{{{|{{{{||z{||{||}{{z{{{{{z||{|{{}}{{{{{{{{{||{|{|||z|{{{|{{|}|||}|{|zz{{|||{|||||}|||{{{|{|}|{|||}|{|{{z||{||{z||||z|z{{z|||}|}}{|}{{{||{||||||||||z{z|{{{{||{{|{{{{y{{z{zz|}|{{|{z{|{|{z{{|{{|~~|}}}}}||}~}}||}}{||{{}||}}||}|||{|{z{{{z|{|||}{||{z{z{{{{|||}|}}{|{|{z{z{|{||{z|{zzyz{{zz{{{{{{{{{{{{z{{z{|{|{|{zzzz|{{z{{z{z{{}z{{zz{{zz|{{{{|{zz{zzzzz{|{y{{|{|z{{zz{{z{{{{{{{{{z{z{{{{z{{z{{{{zzzz{{z{|{z||{{{{z{{z{{{{{|{|||{{{z{{{|z{|{z{|{zz{{y|{{|{{z{|{{z{{{zy{{{{{||{|{{{{z{zzz{{||{||{z|{{{|{{|{}z{{|{{|{z{z{{|{{{||{|zz{{|z{{||||||||{{z{|||{{|||||}|||y{z{{{{|||{||}{z{z{{{||||}|}}}|z||{||||{{||||||{{{{z{|{|}|||||{{|||||{|{|||{{}|{|{{{|{{|||}{||{{{{{{{||}||{}{|{|{{{{{{{{|||{|{{{{{{zz{|{|}{{||z{|{{{z{z|{||~~~}|}}~}}||}|}}}}}||{|{z||}}||}}}|}|||{{|{}{|{}{|{|{}{|zzz{{|{z{|{{{{z{z{{{{||{|{{z{z{{{{z|{{{|{|z|{z{{z{y{{||z{{|zzzzz{{{{|{{{{||{{|{{zzz{{||{{{{|zz{z{z{{z{z{{{|||{{z{z{{{{{{|{{{zzz{{{z{{|z{{z|z{{zz{{z{|z{{|||zz{z{|{z{{|||{||zzzz{{{||z{||||{|z{y{{{{|{{{{{||zz{z{{{{||}{|||||{{{{z{{{{{|{{|{||{z|{|{{||{{z||{z{z{{z{{{||{{|{{||{z{|{{{|}}||{|{{{|{||||{|{}||{z|{{{{{{{}{|||{z{{{{||{}}}|}||{{|{{|{||||{{}||}||z{{|{{{}|||}}{{{|{{{|z||}{||}||{{{{||{||{||}|}{|{{|{{{||{}|||||{|{{{{{||{||}}||{|zz{{{||||||||{||{zz{{{{|z|}~}}|}}||}{{~}|}}}}}|{|{|{{{{{||||||{{|{{{{{|{{|}}||z{|{{zz{{||{|||{{{yz{{z{||{{{{}{z{{{zzz{|{z{{{{z{{{z{z{|z|{z{||{{{{zzzz{{{{{{|zz{zzzzzzz{{{z{{zzzz{z{z||{|{{||{zz{{z{z{{{z|{|{{{{z{{z{z{{{{{zz|z{z{{{{{z|{|{|{{{zz{{{{zz{|{|||{|zz{|zzz{{|z|{}{{zzz{z{{|z{||{||z{z{{{{z{z{{{|{|{||{{{{{{{{|{{{|{{{{{{z{|{z|{||{zz{|{{|{{|z{z{|{{||{z{{{{||||}{{{{|{{z{{{|{||}|}{{{|{{z{{|{{{{||{{z{|{{z|}|{||}|||{{{{{|{{|||{{||{{{{|z{|||{|{||{z{|{z{||{|{||{{|{{{{z|z{{|{||}{||{{{|{{{|{{||{{z|{{{|{{{{||{|}{{{z{{{{z{z|||||{{{{{z{{z|||{|~}}|}||}||}|}|}}||}|||}|{|{|||{|{|{}{{z{{{z|||{}{|{{z{{|{{zz{{{{||||{{{{{z{|{{{|||{zzzzzz{{{|}|{|{zzz{zz{zz{{||{{|zz{{z{z{z{z{{{||{z{z{zz{z{{|{{{{{|zz{{{yz{{|{{{||{{{{zzzzz{{||{{{{{|{zyzzzzz{|{{|{{zy{{z{z|{zz{{{{zzz{zzz|{|||z||{{{z{z{z{{|{{|{{{{{zyz{z{{{|{|{||z{z|{{{{||{{|{|{{{{{zzz{{{||||{{zz{{{zz{{|||{{{{{{{z{{{|{|{{|{|{{{|{{{{z|||||||{{{z{{{{{{{{z||}{{{{{z{{|||{{}{||{z{{{{{{||z|||||z{{|||{{{{||||}{{{{|{||||||||}||{{{z{|{||||{}|||{{{||{{{|{{{|{|{{{{|zz{{|||{z|}{{z{{{{{{{||{z}|{{{{{{{{}{}|{{{{{{{zzz{{{{{{|~}}}|}}|{|{~~~}||}}{|{||||{{|~{|||||z{{{{|{{{|z{{|{{zz{{{{|z|{{z||}|z{{{z{zzz||{{|{{yzz{{{{{|z{{|{{z{zz{{z{||||z{{zzzzzyz{z{{|{{{{{{zzzzzyz||z{{{{{yzzzzzzz|{{{{{|{{z{{zz{zz{{z{|{{{{zz{zzzz{{zz{{{zzzzzzz{zz{{|{{{zzz{z{{zzz{{z{{}zz{z{zzzz{zz{{{{{{zzz{{z{{{{{|{{zz|yzz{zz|{{|{|zz{{{{{z{{||{{{{|{{z{{{z{{|{{{z|{z{{{{{z{{{|{{{||z{{z{z{z||{{{{||{{|{{{{{|{|{{{||z|{{{|zz{{|z|{||{z{{{z{{|||{{|z|{|{zz{|{{{|||||}|{z{z{{z{|{{||||{|{{{z{{||||||}{||{{{{{z{{{|{|{{|{||||z{{{{{{{||{{z{zyz|{||z||}|{{z|{{{{{|}|{}|{zz{{zzzz|{|{||~~|}||}{{|{|}}||||||{{{{|{{|{||}|||{z{z{zz{{{{|{|{|{{z{z{{{{z{{{|{{zz{zz{z|z{{z{{{{{{zzzzzz{{z{|{{{{zz{zzzzz{{{{{{zzzzzyzz{{z|{{{{z{{zzzzyzz{{{z{{z{zzzz{{z{|z|{|{|yz{yzz{z{z{{z|{zzzz{zzzzz|zz{z{z{zz{z{zz|zzz|{{{y{{z{zzzz{{{{{|{zzy{y{z{{zz|{|{z{{z|zz{{{{z{|||zzzy{{zy{{{{{||{{z{{zz{yz{{|{{{{zzzzz{{z{|z{{{{{z{{{{zz{z|{{{{{|{z{y{z{{{{z|||{{z{{z{|{{{{{{{|||{{z{z{{{|{||{||{|{|{{{z{||||||||{|{zzz{{|{{{{|||}{z|{|{{{|{}||{|{y|{{{{{|}|{|||{|{z{{y|{{{{{|{{|{{{{{{{z||{|{{{|{z{{z{z{{{|z{}}{{z{{{zz{{{{{z{{{{{{{{z{z{{{z{||~|}~||{|{{}}}||}}|{{|{|{z{{|{|||{|{{{{{{z|{{{{|z|z{|z{z{z{{|||||{{{y{zyzz|{{{||z|{z{{{zzzz{|z|{{{z{z{zz{zz{|zz{{{zz{zzzz{{{z{{{z{yz|{zz{z{{{{{{{zzzzzz{yzzz{{z{||{zyzzzzz{{||{{{{zz{z{z{{z{yz{{{z{{z{zyzzz{{z{{{{yzzzzzzz{|{{{{|{{{{{zy{z{{|{{{|{{|{{zzzz{{z|{|z{z{{{yz{z{{{|{{{|{{z{{zzz{{{|{|{z{zz{{y{zz{{{{{{z{{{zzz{z{{|{{{{{{zzz{{z{{|||||}{{{{||z{{|{z|{{|}||{{{z{z{{{|{||{|{{{{{{{||||||{||{zzz|{{{{{|{||{{{{{{{{{z|z|||||{{{||z{y||}}||{{|{z|{{{{{{{||{|}|{z{|{{{{|{{||{}zz{z{z{{{{{{{|}||{{{z{{z|{z{|{{|{{{{zz{{{{{{{}||}{||{{{{||||}}}}|{{||{{|}|||z{||{|{{z{z{{{z{{|}{{z||{{{{{{|{{{{|{{z{{zz{{z||||{|{{{z{zzz{{zz{{{{zzzz{zz{|z{{{{}zzzzzz{{{{{{|{{z{zz{zzzzz{{z{{{{{zzyzzzz{z{z{|{|{z{zzz{{z{z{{{{{{{zzz{yzz{{z{{{{{{yyzzz{zz{z{{|z{zzzz{zzz{{{{|{{{z{{z{z{z||{{zz||z{z{zz|{{{{|z{{|z||zzzz{{{||z{{{{z{{{z{z{{|{{|{|{{z{z|zz{{{{{{{{{zz{{{|z{||{{{|{|{{{{{{{{|||||{|z{{{{{zz{}|}{{||z|{|{z{{z}||{{||{z|{{{z{{{z{||||{zz|||{z|{|z|||}{{{{{|{|{{{{|||{{{{|{{{{|||||||{{{{{{{z{{{{{||}}{{{||zz{{{{||||{{{{{{{z{|{{|{|||{{{{z{{z{|{|{{||z{{{{zz{||{z{}}|}}||{{}|||}|||}}{{{||{{||{{{|}}||{{zz{{{}{{|{}|{{z{{{{z{|{||{||||{zz{{{z|||{{{{|z{{zz{yzz{z{{{{{|{{{{{{z{{|{||{{z{{{zzzzz{{|{|z{zzz{{zz{{{{{z{{{{{{zzzzz{|{{|{||{{{{zz{z{||{{{|{{zz{{{{{z|{{{{{{z|zzzzzzz{{{{{{{zz{z{{{z{{||{|{{{{{zzz|{{|{|{{{|{{{{zz{|{{{|{|||{{{{z{{|{{{{|{}|{{{{{z{{{{||{|||{{{{{{z{{|||||{|{{{{{{z{|{|{||{{{{|{{{{z||{}}}|}{{{|{{{|{||{||{|{{z||{|z||||{{|{|z|{{{z{||||}|{|{{||{|{{z|||{|{|||{{{{{{z||||||{|z|{{{||||{|{||||{{{{{|{z|{{||||z||{|{{{||{{z|{||{{z{|{{{{|||{||||z{z{{{{||{|{{{z{{{zzz{{z{{{~~|}|{|{||||}}||||||{|{{z{{{||||||||{{z{zzz{{{||{{{{{{{{z{{{z|{{{}{{{{{{{{zz|{||z{{{{z{zz{yz{z{z{|}{{{z{z{z{{{{zz{zzzzxz{yz{{{{{{{{{{{yzzyz{z{z{z|{z{z{yz{{{|{z{{{{{zzy{{zzz{zz{|{{{zz{{z{zz|z{z{{zzz{{zyz{z{z{||{|{zzz{zzzz{{{{||{{z{zz{z{{{{{{{{{{zz{{z{{||{{{{{|{{{zz{{z{{{{z{|{{{{{{{zz|{||{|z||{{{{{{z{||{z{{{{z{{z{{z{{|{z{{{}{{{{{z{{{||{|{|z{|{{z{{||{|{}{|{{{{z{{{{{|{}||z|{z{{{{{{||||{||{||zz|{|{|{|||||{z{{{{{{{}|{|}}||zz{{{{{||||||||{{{{{||||{|{||||||{zz{z|||||||{||z{{z{{{{{|{{||{|z{{z{|{||{|{{|{zz|z|zz{{{{|{~|}}|||{{|||}||||||||{|{{{|||{|{{}||{{z{|{z||{||{}|}z{z{y{z{{|{{{{|{{zzzz|{{|z{{|||{zz{{{{yz{{{{{{{zzzzzz{zz{{|{{zzzzzzzzyz|z{z{{{|z{zzyzz{{{{{{{{{z{zz{{yy{{{{|z{{z|{zzzzy{z{{{{{z{{zz{zzzz{{z{{{{{{z{{z{z{zz{{|z{z{{{{{zz{{|{{{{{{zzz{{z{{{{z{|{{{{{{{z{z{{{{{||{{{zzy{z{{{zz{{{{{z{z{z{{z{{{{|{{|zzzzzzz{{{{{{|z{{zz{z{z|{|{{z|{{{{{{{{|{{||{{||{{z{{|{z|{{|z||{|{||{zz{||{{||{||{{{{z{{{|{{|||}z|{zz|{{{|||{|||{{{{y|{{{|||{||||{z{{{{{|{||{{|{{{|{|{{|{||{||||{{z{|z{{|{{|{}|||{zy{{{{{{{{|{{{{{|z{{{{{|{||{{zz{|zz{zz||{{{}}}}||z|{{||}{|{|{{{||z|{{{|||{|||{{|{z{{{z{|{||||{zzz|{zz{{{{|{{{{|{{yz{{z{|{{z{||{z{z{zzy{|zzz{{{{z{{|z{{z{|zz{|z{zz{zzzy{z{z{{{|zzzzzxzz{|{z{{{|{zz{z{zz{||z{{{||zz{y{yzy{z{{{{{{z{zzy{zz{{z{z{{{zzz{{{yz{zyz{{{z{z{|{{z|{{||{{|zzzzzzyz{{|{z{|z|z{{zy{z{{{{{{{{z{z{zzzzz{||{{{|{z{y{z{{z|{{|{{{{zz|zzz{{{{|{|}z|{|{{yz{z|{{{||{|{{|zz{{{{{||}{|z|z|{|{{|{{||{|}|{{z|{{z{|{{|{|{|{{|{z{z||{{|{}|{zzz{{z{{{|{{{||||{z{{z|{}{|}z||{{{{{z{{|{|{|||{{{zz{{{{{|{||{||||{|{z{{||{{|{||zzzz{z{z|{|z{{|||{z{zzzz{{{||{}{{zzzyz{z|{||{}|}|}|||z{{{|}||}|||{{{{{{z{|{{|{||{{{{{|yz{{{|{{||zz{{zz{{{{|{{|{{{{{{zzzz{|{{{{z|z{{z{zzz{{yzz{|{{yzz{z{z{z{{z{{{z{{z{zz{{{{{{{{{|{z{{zzzzz|{{{{{{yzzz{z{z|{{z{{{{{zzzzzz{{{z{{{{zz|z{zz{z{|{z{{{|zzz{zz{z|zzz|{{{{zzzz{zzz{|zz{|{zyzzz|z{{{{{z{{|z{zzzz{{{{|{||{{z{{zz{z{{{{||{{|z{zzy{z{z{{{|{{{zz{zz{{{{|z{{||zyz{|{zz{|{{{{||{{{{zz{z{||{{||{z{{z||||{|{z|{||z{{{z{{z{||||{|{z{|{{{|z{{|{{||{zz{{{{{{{|{||}{||{{{z{z|{||{|||||}{|{{{|{{|||{}{{{{{{{y{{{|{|{||{{{{zzz{}{{|{}{|{||zzzz{{{{|{|z{|{{{z{z{{|{{{{{{{z|{zzzz{{{|{}|||{|{|||{|}|{||{{{{{{|{{{{|{{{}|||{{{{{{z|{{||{{|{{|{z{zz{{{{{{||zz{zz{zy{z{{z|{{{{z{{{|y|zz{{{{{z{z{zzzz|{|{z{zzzz{{z{z{{zz{z{{|zz{z{z{y{{|{{|{|{zzzzzy{{{{{z{|{zz{zz{{zz{{{|{||{zz{yyzyzz{{{{{|{{z{zzz{z|{z{{z{y{zz{{zz{{|{{{||{{zzzz{zz{|{||{{{z{zz{{{{{{|||{|z{{{zz|{{|{{{{{{{{{z{{{z{{{{{{|{zz{{{zzz{{||{{{{{z{{|{zz{z|{{|{|{z{{|{{{{|{|||{|{z{{{{{{{|||||||{{{{{{|{{|{{|{|{|{{z{{{z||{{|}|}{{{z{{{{|z{|{||||{{{z{|{z}{{|}|||{|{{{{z|{|}{||||z{|{|{{{{{{{}||{{z{{{||z{}||{||{|{zz{{{{{{{{{|{{{zzz{z{{|||{||{{z{z{zzz|{{{z||}{{|{z{|z{|||{|{{z}{{{|{{{{{||}|||{zz{{z||z{|{|||zz{{{z{{z{{{{{|{{{zzzz{z{{{{{{{{zzzz{zzy{zzzz{{z{z{{{z{z{z{{z{{{z{{z{{z{{{{z{{z{zzyzz{zz{z|{z{zz{{z{yzy{z{{{{{{|{zzzzyzzzz{{{z{|{zy{zzzz{{{{z{{{|zz{z{{zz{{{{z{{zzz{z{{{{|{|{|{{{z{{zzzzz{{{{{{|z{{{zzzz{{{{{{|{{zzzz{zz||{{{{{|{{{{{z{x{{{{{|z{z{z{{zyz{{{{{{|z{z{zyzzz{{{zz{{||zzz{{{{|{{|{{{{{|z{{{|{{{{|||||{{{{{{{{|{|{{{||{zz{{{zz{||{|||{{{{{|{|z|{{|{||{|{{{{{{|{||{||||{{{{zzzz{{|{{||{|||{{{zz}{{{|||||{z{|{z|{{|{{{|{{|{zz{{zz{|{{||{|{z|y{zz||z|||{z{{zz{zzz|{|{{}||{{{|{|{{|||}||{}{z{||{{|}{{|{}|}{{{{{z{z{{{||||||z{z{zz{z|{|{|{{zz{{{z{{z|z{{{z{z{zzzz{zz{{{{z{{{z{z{{{zz{|{{z{{{xzzyz{z{z{{{|{|{{z{z{zzz{zz{|||z{z|{zz{z{{{{zzz{zzzz{zzzzz|{z||zz{z{z{yz{{z{{z|z{{zyzz{z|{{{{{{zzzzz{zz{{|||{|{z{{zzzz{z{{z{{{|{z{yzz{z|z{|zz|{{{zz{{{z{{{|{{{|{{{{{y{{{{z|{{{{zz{{{zz{{}|z{z|{{zz|z{{{z|{{{|{{{y{{{z{{{||{{|}{z|{z{{|z{|||{|{|{{{{{z{{{{{|{|{{||{{z{{{{}|||||{{{{z{{|{|{{||{|{|z||{|{{{|{{{{|||||{zz{{|{||}{|||{{{|{z|{{{|{}|}|{|z{{{{{|{|||||{{{zy{{{{{||{|z|||{{{{{|{{|{|{|{{{|zz{{{{{{{|}}}{|}||{{|{}}|||||{z{{{{z{{{|{|}|||{{{{{{{{|{{z|||{{{{{zz{{|{{{{|{{{{{zz{zz{{{||{{zz{z{zzzz|{z{{|zz{zz{zyz{{zz{{{{{zzzzz{z{|{{|z|{z{{zzzz{{||{{{{{{{zz{{zz{{|z{|{{{{{{zzzy{z{z{{{z{{{zzz{yz{{{|{{{{{{z{z{zz{{{||{{{z{zz{{z|{|{{|{{{zzzzz|{z{{{{{|{{z{{{zzz{z{z{{{{{z{{{{{z{{{{{{z{{{z{zy{{|{z{{{{{z{{z{{{{||{|{{}{||{{zz{|{{{{|{{{{{{{{{{z|{{|{{|{{|{{{{|{|{|||||}{{{{{z{{|||{|}}||{{{|{{{{{||{|{{|{{z|{||{{{}|}{||{{{{{|}z|{}||{~|{{{{{{{{{{|||{|{{{{z{||{|{||||}{{{{{|z||||}{{{||z{zz{zz{|{{{|}{{|{{{z|z{{|||{|{{z|{z{{z{{{{{~|}|}{||||||||}|{|||{{zz{{{|||{{|||{|zz{{z{|{{{{|}|z{{zzzyz|{{|z{z|{{zzzzz{|{|{{|{|{zz{|z{yzz{{|||{{zzzzzz{{{|{z{z{zzzzzzzzz{z{{{|{{{zz{zzz{{{{{{|{{z{zzzz{zz{{{{{{z{zz{zzzz{{z{{|{zz{{{zz{{z{|z|{{{z{z{{zz{|z{{|{|z{{z{{z{{z{{{||{|{zzz{{{{{{{|{{|{{{zzz{{{{{{{{||{z{zzz{{{{|||{|{|zz{z{{{{{{|{{|{{{zzz{{{{{|z{{{|{{z{{{{z{|||{{||{|{z{{{{{|{|||{|{{{{{{|{|{{|||}|{z{{{|{z{{||{{{|{z{{{{{{||{{{|}|{{{{{{|{{{{|{||||{|{{z{{|||}{|}|}z{{z{{{{|||{||{|{z|z{{|||{|}{||{{{{|{{{{|||z||{z|{zz{{}|{|}}|||||{{{zzz||{{{{|{{z|{zz{z{||||||}{|{||{{z||||||}}|||{{{{{}{{|||}{||{{{z{{}{{|{}||zz{{zz{{{{{{{{{||zz{z{{z{{{{{|{|{z{z{{zz{{{|{{{{|{zzzz{z{z|{z{{zzzz{z{{{{{{|{|{{{z{{z{zzz|{|{{{{zzzzzzz{{{{z|{{{z{{{yz{z{z{{z{||{z{{{{yzz{zzz||{{zzyz{zzzzz{{|{{z{{{z{{z{z{{{{{{{z{{{zz{{{{|{{|||z{{{z{|{|{{{{||{{{z{z{{{{y{{{|{{z{|{zzz{{|{|}{|{{{|z{yz{||||||{{{z{{{|{||{z{z|{{{|{{z{{||{|{|{|{{{{{{|{{{{|{|||{z{|{zzz{{{{{|||{z{{|{{{{}{||{|}{{{{{{{z{{{}{|||}z{|{{{{{||}{||{{{z{{z{{|{{{{{||{{z|{{z{{{||}||}{{{{z{{{|z|}||||{{{{{z|{{{|{|||{{zz{{z{zz{z|{|||{z{zyz{{{|||{|{|}{||{z|||||{}|||{{zz{{z{||{{||{|{{{{{{{{{{{z{||||z{z{zz{{|{{{{{{|{{{z{{{||{|{z|{{{{z{{{z{|{zz{|{|z{z{{zzz{{zzzz{{{{z{{{zz{|{{{||zz{y{zzzz|{{{||{z{zzz{zzz{|z||{|zzzz{z{z{z{{{{{{zz{{zz{yzz{{{|{{{{zzz{{zz|{z{}|{{zzz{{{y{{{{{||{{{z{{z{{{{{{{|{|{{zzzzzz{{{{{{{|zzzzzz{z{{{z|||{{{{z|{{z{{|~|{{|{z{{{z{z{{{{|{||{{{{||{z{{{{{||||{{{{z{{z|{|{{{|{{{{zz{{{|{|||||{{{{{{{{{|{{|{|||z{{|z{{||z}||||{{|{z{{{{||||||{|z{|{||z|}|{||}||{{{{{|||{{|{||{|{|{{{{{{||{||||{{z{{||{}|{||{|{{z{z{{{{{{|||{||{|{z{{|{{|||{{||{z|z{{zz{|||{}||{|{|{{{{|||{{||||{{{|zzz{||{|}||zz{{{{z{|{{|{{{{zz{z{yz{|{||z||||z{zz{|z|{|{{{{|zz{z{zz{|{{{{z{{{{{{{{{zz{{|{z{{{{zz{{z{|{{{{||{zzzzz{{z{|{{|{|{{yz{{zzz{{{z||{{{zzzzzzz{z{{{||{{zz{{zzz{{z{|{{{{{{zzzzzz{{{z{{{{zzzzzzzz{{{{{||{{{zzzzzz|{{|{{{{z{{{z{{z{{{{{|{{y{z{|{{{{|z{||||{zz{z{{{||{z{{|{z|z|zz{z{||||{z}zzz{zz{}|{{{||{|{z{|{zz{{}||||{z{{z{{||||{|z{||z{|{|z{y{|{|{{{|{{{{{{{||{{|{||}zz{z{{{|{z|{|||||{{{{{{|{|{||||}{{{{{zzz||}{||{|{{{{|{{z|{|||{||{{{||zz{}|{{z}|{|{{zzz{{|||||||||{z{{{z{{||{{{|{{{|zz{{zz|{{|||}||{|{{{{|||{{{||{|zz{z{z||{{|}{|zz{z{{|{{{z{{||{zzz{{zzzzz{|z{{|{{{yz{zzz{|||z|{{{{{y{{z{||{|{|{|{zzzyyzz||zz{|{{{{z{z{{|{y{{{{{{zzzzz{{{{{{|{|{{z{zz{z{{|{{{{||zzzzz{z{zz{z{{|||z{zz{zz{{{z{{{|{{|zz{zzz|{{{{{{{z{yzzzzz{{{z{{{{{{{zz{z{|{zz{{{z{{{{zz{zz{{{{{{z{zzz{z{{z||{||{|{z{{y{{{{{{{|zz{{z{{{{z{{{{{{||{{{zzz{{{{{{|{||z{zz{|z{{{{{|{|{{{{{|{{z{}{|||||{{zz{|zz{||||||{{|zzz{zz|{{|z||||{{{z{|{{{|{{|{{|{{{{{z{{{|||{||{{{{{|{|{{|}{{{|}{{{zz{{{|||{{{|{|z{|{{{{|{|{|{|||{{{z{zz|{|{||{{{zz{{zy{|{||{{||z{zzz{z{|{z{}{||{{|{{z{{||{}}||{{z{{z{{{{|z||{||z{z{zzz{|z{{||{{{{z{y{z{{{|{z|{{zzzzzzz{{z|{{{|z{{{zz{z{{{z|{{{|zz{zzzzz|{{z|{{{{{z{{z{zz{{z|{|zzzyyz{{{z{{|{{{{{zz{zz{z{{{{{{{{y{{zzzzy{{z{{|{zz{zzzyz{{zz{{{|z{{zzzzz{{{yz{|z{z{yzz{z|{{{{{|{{z{z{zzz{{|{{|{{z{{{zzz{{{|zz|}|z{{zzzz{{{{||z{|y{z{{z{z{||{{|{zzz{z{zzz{{{{z||{{z{{{{{{{{}{{|{|{z{{{z{||{|{{|||z{{{{{{{||{|||{|{|{{{{zz|||{||{|{zz{|{zz{||{||||{{zz{|{{{{{{{|||||{{{{{{{|{||||}{{{{{{{{{{|||{||{{z|{{{|{|{{||||{{zz|{{|||z{{||}z{{{{{zz{||||{{{|{{{zz{z{|||{z|{{{{{{zzz{{{|{|}}|{{{{z{z{}|{}{|}{|||{{{|{|{|{{}|z{|z|{zz{{|{|{||z{zz{{z{|{{{z|{{{{zzzz{zz{{{{|||{z{{{{zz{{z{{|{{z{z{zz{{|{{{z|{{{z{zz{zz{zz{{{{{{{z{{zzz{z{{|z{zz|z{zzyz{{{{z{||{{{zyz{yz|||{{||z{zzyz{zzz{z||zz{{{yzzz{{zz|{|{{zzzzz{z{|{||{{|{|z{z{zz{z{|{{z|zz{z{{zz{{{|{{{z{zzzzzzz{{{|{{{||zzz{{z{{{|{{z||{zz{z|{{y{|||||||{zz{{z{|{{|{{{|{{{{{|z{{{z{||z||zz{{{{{{{{{{{|||{{z{{{{|z|}|||||{z{{|{{z{|{{{|||{|{{{|{{{{{|||}||{z{{{z|{||||||{{{{{z{z{{{{|||||{{{|{{{{|{{||||||{z||z{{{|{|{{||z{{z|zyz{{{{|||{||{{{zyz|{||{{||{{{z{zz{{{{{||{|z{|{|{{z{{{|{|||{{|z{{{z|{{{||||{{zz{{{z{|{z|{{}z{z{{zzy||||{{}|{{zyz{{{{|{{{|{|{zzz{zz{z{{{{}|{yzz{yzzyz{{z{{z{{|{z{{zz{z{{z|{|{z{zzz{z{{{{z{{zzz{{{zzy{z{{{z{{{{zzz{zz{{{z{z|{{{zzzyzz{z{{{{|{{z{zzy{zz{z{{{|{zzyz{z{z{{{{zz{}{zzz{zzz{{{{z{{{{z{zz|zz{{|zz{{z{{{{z{zz{|||{{{{{zzyzz{{{{{{||{|{z{z{{{{{{{{z{{{{{zzz{z{z{{||{{{{{{{|{{{|{||}{{{|{{{{z{{|{{|{|||{{{|{{{{{|||{|}{{z{{|zz{|||{{||{{{|{|z{|{|z||||}||z{{{|z{|||||}{{z||{y{{{{||{{|{{{{{{{{|{|||||||{z{{{z{{{{||z}|{{|{{z{{{{{{|{|||||z{{{zzz||{{}{|{{yz{z{y{{{z||{{{{||{{{{|||{|{||{|{{z{{z{{{{||{{|{{zzz{{{|{z{||||z{|{yz{|{{|z{||{zzzz{zz{{||{|{|z{{z{z{y|{{{z|{{|{z{{zzz{||z{{{z{|{zz{zzzz{{z{zz{zzz{yzy{|{{{{{{{{{{z{zzz|{{{{{|{{{zzz{zzzz{{{{{z{{z{zzz{{{{z{{|z{z{zzyzz{{{z|{|z{z{z{zz{{{{{{{{{zz{{z{zzz{|{{{{{z{{zz{z{{{||{||{{|{z{{{{{{||||zzz{{|{zzy||{{|||{{z{{z{{{}||{|{{{z{{zz{z{{{{{{||{{z{{z{{|{|{{||{{{{{|{{{{|||{{}|z{{{{zzz{|||}{{||zz|{z{{|||{||||{{{{{{{{{||||}{|||{{|{z{||{|||||{{{{zz|{z||z|z{||{{{{{z{{|||||||z{{{|z{|{{}{{{||{||z{{{{{{|{|{|{{|{zz{{{{|||||||{{zzzzzz|||{|}|||{{||{}z|}||{{|}||{{z{|{|{|{|||{||{z{{z{}|||{{|{||{{{zz|z|{{z{|{{{zzz{{{{z{z{{|{{z{zz{{{z{{{{||{zzz{|zzzzz|{z{{{{{zz{zzz{{{{{{|{{{z{yzz{z{|{|{{zz{z{z{zz{|{||{|{{zz{y{{z{{{|{|{{{{{{zz{{{{{{z{{{|z|z{{{y{|z{{}{{zz{z{{zy{{{{{||{{z{{{yzz{{{{{{{{zz{zzzz{zz{{||{{zz{{|{z{zz{{{{{||z{{{zzz{|{{{{{{|z{{{{|{{{{{{|{{{y{{{{zz{zz|{|||{{z{{z|{{|{|{|||z||{|{|{||{{||{|{z{{{{z||{|||||{{{z{{{|z|||{||}|{||{z{|||{|{{|||}{{{{}{{|||||{{||{|{zz|{{|{|||{{|{zz|{{{{|{||{}}{z{{{{z|{||{|{}|{{{zz{|{|z|{|{|{||{{{{{zz{|{{|}{{{|z{{{{{{|{||}|{|z{{{{{||||{{||{{|z{{{{{|{{{|||{{{z{{{{{|||{|{||zy{{{{z{{{|z{|{{{{zz{zz{|{{{|{|zz{zz{zz{|{z{{|{z{{{z{yzz||z{{{{zzzz{{zz{{{{||z{zzzzzz{{{{{|{{{{{{z{z{z{z{{z{{{{{{z{zy{z{{{|{||{z{{|zzz{zzz{z{{|{{{yzzzz{zz{|{|{|y{{z{yz{{{|{{|{{zzz{z{{||{||{{{{{{{zz{z{{{z{||}{y{{zz{{{||{||{|{{{z{zzz{{{{{|}{}z{|{{{z|{{|z||{|{z{z{{z|{{{||{|{{|{{{z{{|}|{|{||{{z{|{{{|z|||||{{||z{z{{{{|{{|||z{z{{{{|||{|||{{{{{{{||z{|{{|{||{{|{|{z{|{||{{||z|zzz{z||||||{|{{z|}{{{{|{|||{||{{{{{{{{|{{|}||{{{{{z{z{|{{|{}|{{{{{{{z|{|{{|||{{zz{z{z{{|{{|||{|{{{|{z|||z||}{}{{{zz{z{{|{|{|{{{z{{{|z||{|{z|{{{zz{z{{{{{|{||||{{yzz{z{{|{{{||z{{z{|{zz{{z{{{{{z{zz{{{{{||{{{{{zzzzz{|{{{{z{{{{{zzz{zy{z|{||{z{z{z{z{z{{z{{|{{{zz{{{{z{{zz{{{|{{{{{z{z{{{z{{{{{zzy{yzz{{z{{{{z{y{{zzzz{|{{{{{{{zzy{z{z{z{z{{{{{zz{{z{{{{{{{|{|z{z{zz{{{||{{|{|{|z{|z{z{{{{{||{{{{z{|{{{|{|z{||{y{z{{z{{|{{|{|{{{{{zz|z||||{|||{{{{{{{{|||}|}}|{{zz{{zzz{{{|{{{{z{{z{z{||||{|||z{|{|{{z|{{{|||||{{{{||{{}|||}|||z{z{{z{|{{|{|{||{{{{{{{{{{|{||}{|{{{|{{{|{{||}}z{zyz{|{{{{{{{}|{zz{z{{z{|||{|||{z{{{z{y{{{{{|}|z{y{{{|{{{|{{|||{|{{{{{z||{}}||{{{{{{|{{{{|||||{{{{{{z{z|{|{z|||{{{zz{{z{{{|z|z||z{{{{{z{{{{{{|{|z|zz{zz{{|{{{z{{{zz|{{{|{{|{{z{zzz|{{zz{z{z{{|{{{{{zzzz{{zz|{{|{{z{zzz{||{{z{{|{{{zy{|zz{{zz|{||z{yzz{yz{{zz||{z{z{{z{z{{{{z||{{z{{{z{z{z{z{{||zz{{zzz{{z|{{||{{{{{{{{{{||{{{{|{z{|zz{{{||{|||{{{{{{zz{|||{{||{zz|zz{z{{||{{{z|{{{{{{{{|{}||{||zz{z{{{{||{||||}{{{{{z{z|||||{}{{{{z{zz{|}{||{{|{{|z|{|{||{{{||{|z{{z{z||{||z||||{{|z{{{{{|||}|||{|}zz{{{|{|{|}}{{{{{{{|{|{|~|||{{|zz{{{{|{{{|||{{zzz{|z{z||||||||zzzy{z{{{{{|{|{{|{{{{z{{{{|{|||{z{{zzz{{{||||||z{zzzzz{z{{|||{z{{{z{x{{z{{z{{{{zzzz{{{{{{{{{{{{{{yz{zy{zzz{{{{|{{zzzz{{{{zz{z{{z{zz|{z{z{{z{z{yzz{yyz{{{zz{|{{zzyz{zy{z{z|{}{{{zzzzzzy{{|{zz{z{yzz{zzzzzz{z{{zzyzzy{{z{|zzz{{{zyz{{zzzzz{{z{{{z{{yzzzy|{{z{{||{zz{zzz{z{{{{|{{zzzzz{{z|{{z||{{{{zy{zzz{|{z{|{{{{zy{zz{{{{|{{|{{{{z{{zz{{{{{{{{{{zz|zz{{{||||{{{{{z{zz{{|||{|||{{|{{{{z{{}|||{|{{{z{{{z{{}|{|||{z{{{{{{{z{||}{{|{{{{{{{||||{{{{|{{{{|z{{|{|||{||z{{z{{{{z{{{|||{z{{{{z{{{{|{|{|{{{{{{{zz||||{{{{{{{{{{z{{{{|{||z{{z{z{{z{{|y||{{{{z|z{|||{{|{z|{{{{zz{{|{{{|||{{{{{z|{y{z|||||{{{{z{z{zz{{{{{|{{z{zzz{z{{|{{{{{zz{z{y{z{{|{|{{{|z{{{zzz{{|z{zz{{{{zy{z{z{{z{{{zzzz{{zz{|{{{z|{{yz{{zzzz{{{z{{{{{{zzz{yy{||{z{{}{{zzzz{zz{z{z{z{{zzz{z{{{|z{|{{|z{{yzz{z{{|z|{}{{z{zzz{zz{|{z|z{{{zz{{{z{{z{|{||y{{z{z{|{|||||{|{{{{zy{{z{{{z{{||{{z{{z{{{{{z|}|{zz{{zz{{{{{{|{{{{z{{zz{{{|{|||{z|{{{{{z|{{||{||z|{|z{{y{{|{|z|{|z{{{{{z|{|{{||{{{{{z|{{{}{{||||}|z{{{zzz||||{}|{z|{{|z{{{|{{|{{{zzz|z{{{|{}{}|}|{zz{{zz||{{{||{{{{zz{{z||||{||||{{zz{zz{|||{|{{{z|zzz{{z{{{{||{|{{|{{{|{{{|{|||{{{{{{zz{{{{z}|z{{{{{{{{{{{|{||{{zzz{z{{{{{{{||{z{{{yz{z{{|{{{||zz{{z{zzz{{zz||{{z{yz{zz{{{{{||{z{|zy|z{z{zz{|{{zyzzzzyz{zz{z{||zzz{{yy{z{{z{{z{{zzyz{zz{z{{|{|{{{zz{zzzzz{zzzz{{{zz{{z{z{zz{{z|{zzzzz{z{y{z{{{{{yzz{y{{||{{z{{{{z{{zz{z{z{{||{|{z|zzzz|{{z{{{|{z{|{z{z{{|{{{{{{{{{{{zz{{{{||z|{|{{|z{z{{{|{{|||{{{z{{z{{|{|||||{{|{{{|{{|||{|||{z||{zz{|||{|}{{|z|z{z{{||{{{|{{{|{{{|z|{{{{||||{{{{z{{{{|||||||}{z|{z{{{||{z||}{{{{{{{{{{{{{{{|{{{{{{{{|{{|{|{|{{{z|z{{{{{{{{|{|{z{z{{z{{{{{|||{z|{{{{z{z{z|{||{|{{{z{||{}{{||{{{zz{{{{z|||||{{{yz{{{{z{{{zz||z{{zz|zzz{{|{{{|{|z{{zz{z{{|{{{{|{{{zzzz{z{zz{{{|{zzzzz{z{z{zzz{{{{z{zzz{{{z{{{{{zzzy{z{z{{{{{{{{{{zzz{zz{z|z{{{|z{{zyz{z{{{zz{||{{z{zyyzz{{{z{{{{zzz{{y{zzz{z{z|{zzz{{{zz{z{z{{z{{zz{y{zz{{z{z{|zz{zzz{{zzz{|||{{z{z|zzyz{|{|{||z{{z{z{{{{{|{{{{zyz{{|z{{||{|{|{{zz{z{zz{|{|{|{{z{{{z{zz{|{|||{{{z{z||{{|{{|||||{{{{zz{{{{{{||{{{z{{{{{{z{|{{{{|{{zz{|{{{|{{{|{{|z{z{{|{{}{}{{{||{z{z{|{{|{|||{|{z|{zzz{z{{{{{|}{{zz{zz{{{|||||||z{zzz{{{{{|||{{|{zyz{z{{|||{{}{{z{{zz{zz{{|{||{{{{{z{zz|||{{{|{|z|zzz{{z|z{|{{{|zzy{{zz{{z{{|{|zzzzyzzz{{{{{{{|{{{zzz{z{z{{{{|{zz{zzzzz{{zzz{||{zzyzzzzzz{z{{{{{z{y{zzyz{z{{{z{z{zzyzzzz{{{{{{{zzzzzzz{{z{z{{z|{{y{z{yz{{zzz{{{{{zzzzzzz{{yzz{z{{{yzyy{z{z{{{|{{{{z{zyz{{{z{{{{z{zy{z{zzzzz{{z{{z{zzy{z{{{{{{{zz{{{z{z{{{{{{{{z{z{z{zzzz{{{{|{|zzz{{yzz{{{{{{|{{zz{{{zz{|{{{|||{z{zzzzy|{|{||z|zz{{{z{|{|{|{{|||{{{zzz{z{||{||{}z{{{{{z{||{{||{{z{zzz{{z||{z|{|{{{zz{{|{z||{||||{{{{z{{|{|||||||z{{|{z||{{|{||{|{{{|{{{{{{{|}|{z{z{{z{z{{|{{{|||{{|zz{{{|{||{||{{|{zz{z{{{|||{|{z{{z{{zz{||{{||{{|{{{z{{z{||{||{{zzz{{z||{{{{|z{{{z{zz{{{{{{{|z{{zzz{zzzz{{{{||yzz{zzzyz{{{{{{{z{{zzz{{||{{z{{{z{zzzzy{{yz|z{z|yzzzz{yz{z{{{z{{{zzzyzzz{{|{{{||zz{zyz{z{z{{z{}{{{{{z{zzzz{zz|{z{yzzzzzz{{zz{{{{z{{y{{{z{{{{{||{{zzz{zzzzz{{z{|{{{{{{zz{{z{{{{{|z{{{zzzzz|{{{{{{zz{{z{z{{|{{{{z|{yzzzyz{{z|{z{{z{zzz|zzz{{|{z{{{|{z{{{z{{||{|{{{{{{{|{{{z{{{||||{z{{zzz{|||{{{}|{{{{{{{|{|{z|{{|{z{z{z{|{|{|{|{|{{{{z{{|{|||{|||{{|{z{{{||z{{}|{{zz{z|{z{{{|{||{|z{{{z{{|z{{}}|||{zz{{{{||{||{{z|{{z{{{{{{||z{{|{{{{z{{z{z{{{}||{{{{z{{z{}{{{{{|{{zz{{z{{|{|{{{{{{{{|{{z{||{{{|{z{{{{zz{z{{{{|{{{{{zz{zz{{z{z~|{zz{yzzzzzz{{{|||{{zz|yzz||zzzz{{{zzy{{zz|z{|{z{{zz{zzzz{z{{{{{|{{{z{z{yz{{{z{{{{zzz{z{zz{z{{y||zzy{{z{{y{z{z{{{|{zzyzyzzz|{z{||{yz{z{{zzz{{{{{{{zz{zzzzz{{z{{{{{zz{zzzz|{{{{{{|{zzz{{{z{z{}{{{{{{{z|{z{z{||{|||{{z{{{z{{{{|{{{|{{zz{{{{{||{{{|{{{{z{|{{{{{||}||{{|{z{||}|{|{||{}{zz{z{zz|||{{{|{{{{{{{{{||{|{||{{{{|z{{|{{{{||{||{{{{|{z|{{|||{|{{{{{{{z|||{||||}{|z|{z{|{{|||{||{z{z{z{z}}{|{{{{{{{{{{{{{{{|{|{|{{{{{{z{||{{{{{{{{{|{z{{z{z{|{|z{|{{z{z|||{{|||{||{{z{z||{||{|}{|zz{{{{{{{{{|||{{z{{{{z{{{{z{}|{|{zy{zz{zz{z{{|{zz{{zzzz{{{{||z{{{zzz{zzz{zz{{{{{{zy{z{{{{{{z|{{zzy{y{z|{zz{{{zz{{{{zzy{{{{{{{|{z{zz{zzz{{|{z{{z{zz{z{z{{{{{{z|zzzzz{zzz{{zz|{{yzz{y{zz|z{zz{{z{zzz{z{zz{zz{{{|y{zzz{z{{{{{{{||zz{z{z{zz{{{{|{}|z{z{zzz{||{{|{{{z{{{zzz|{{|{{|{|z{{{{{{{{|{{|{{|{{{{{{{z{{{}||{{{{{{z{{{|z|||}||zz|{z{z{{|{}||{{{{{zzzz|||{{}|{{{zzz{{|{{||{|}|{{z{{|z|{{{{|||||{{{{{{{{{|{{||||{{z{|||{||{|{|{{{{{{{{{|{}{||||z{{{zz|{{{|zz{}|{{z{||{{|{{|{{z{|zz|{{zz{{|{{{|{z|{{{{z{|}|{|{{{{{{{{{z{{{{{||||{{zzz{|y{{{|{{}{{z{z{zz{z{{{{{{|z{|zz{{z{{{|{{z{zzz{y{zz{{{zz||{{{zzzz{{{||{{z{|{z{|z{{z{{z|{z{{{z{yzyz{{|{||z{zz{zzy{z{zz{{|{|{{z{|zzzzzz|{{{{{{{{{zz{z{|{z{{{{{{z|zz{zzz|{|{{{zz{zzzz{zz{||z|{{z{zzz|{{{{||{{{|{z{{zzy{z{{{|{|zz|zzz{z{{{||{{{{z{{zy{{{{{}{||{{z{z{{z{{{{|{{}|{{{{|z{{{|{|{||{{|{{|z{z{{||{||{{{{|{{|{|{{|{|{|{{z{{{z{|||{|{|{|{{{{{z{||{{z||{{{|{{|{|{|{|{|||}{|{{{{{{{||{}|||{{||{{{|{{|{}||z{{{{{{|{|{{{{|{{{{|{{z{|{{|{|||{|{z{{{{{{{||{|}{{{|{{{z{{{|{{|{{{{{zzzz{{|{z|{|{zy{{{{z{||{|{||{{{z{|{{{}z{{{{{z{{yzy{z||{|{{{{z{zz{zzz{{{{{|||{{zyzzzz{{{{{{{|zzzzzz{zz{|{{||{{{{{zzzy{z{{z{{{z{{{z{yzz{{{{{{zzzz{zz{y{{{z{{|zyzzzzz{{{{{{z{{zzz{zzz{zz{{{{{|{zz{zzy{z{z{y|{{}{{{zz{z{{{{{{{|{zz{zzzzz{{{{{z{{z{z{{zzzz{|{{{{|z{{{{z{{{|{{{|{{zz{zy{z{|{{{{{{{{{|zzzzzz{{|{|{{{z{{{zz{{{|{{{{zzz{zz{{z|||{|{|{zz{zz{z{||{{|{|{{z{{{z{z{{|||{{{{z{|{zzz{{{{{{||z{{z{{{z{|||{|}{|{{z{{{|{z||||{}|z{|{|z{|||||{|{{{|z{{{{|{|}|{}{{{{{zz{{|{{{{|{||z{{{{{{{|}|{{||{{y{{{{|{|{|||||{{{zzzz{{}{{{{||{{{{zz{z{||{{|{{{z|{{z{{{{||{|{{{{z{{z{zzz|{{{{|{{{{zyzz{{{{{{{|{{{{z|z{{{{{zz|{z{zzz{{z|{{{{{{{{{{z{z{z{{{{z{|{{{z{zzyzz{{z{{z{zzzyzzzz{|{zz{z{z{zzzyz{{|{zz{{{{z{zz{zz{z|{|z{{z{{{zyy{zz{{{{{|{z{z{z{yz{{{{{z|{zzzzzzzz{z{{|{{{zz{{zyzz{{z|{|{{zzy{yzz{{{{{{{{{{{zzz|{{||{{|{|{{{{yz{zz||z{z{z{z{{{zzz{|z{{|{z{z{yzzzz{|{{{|{{z{z{|{{z|{|{{|||z{{{{zz{{|}{{|{|{{|{{z{z{z{|{{|}|{{{{{zz|{{|{|{{|zz{z{{|{|{{|{||{{{{{{|{{|{{|{{||z{{zzz{z|}{|{{|{|{{{z{z|{{{{||||z{z{z{|{{|{|{|{}||{|{{{|{|||{|{z{{yzyzz{|{{{{{z{zz{|z{{{|||{|{|{{|zzz{{{{zz{{{||{z{{{{zz||{{z{|{|z{z{{{|{{{{{|{{{zz{zzz{{||{{|{{z||z{zz{{{|z||{{{{{zzzz{z|{z|{{{zzz{{z{{|{zzz|zz{{zzzz{{{{zz|{z{{zzzzyz{{{{{{|{yzzzzzzz{z{{zz{{yzzzzyz{{{{z{{{{zzzzzyyzz{z{{{{{zzzzzzzzy{{{{{{{zz{y{z{zz|{{{{{|{z{z{{{z{z{{||{{{zzz{zzy{z|{||{zzy{{zzzzz{{{{{{|zzzzzz{y{{z{{{{{{z{z{zy{z|{{{{z{|{{zzzzz{{{{{{{|{{{{{{z{{||{{|{|{{z{|{{z{|{||{|{{{{z{zz{|{z|{|{|{z{{|{{{||{||{|{|zz{|z{{{{{z{|||{{{z{{|{{{z{|||{|{|{{{{{}|||{|||{z{{{z{{{{||z|||{|{y{|{|{|{||}||{{{z{{{{{{|{|{{|{|{{{zz{{||{{{||{{z{zz{|{|||{{{|z{{zzzzz{|{zz|||{{z{{{{zz{}z{||}{zz{{z{{{{{{{{{{{{{zz{{{{{{{{z{{|{{{{{zz{{{{{{{{{{{z{zzzz{{{{{{{zzz{{{{{{zzzz{{z{zzzz{z|{{{z{{{{z{{z{zz{z{{zz{{|zzyz{zzzz|{z{{{{{z{{z{zz{|{{{{|{z{zzzy{{z{|{z{{zzzzzzyzzz{{z{{z|{zzzzzz{{{{zz|{{{z{{{{zz{{{{{|{{{{{{{z{{{z{|z{|{z{{z{yz{z{{{{{|{zz{zzz{z{{z{{{{{{{{z{y{{z{z{{|{z{{zz{z{z{{{{{{|{zz{{zz{{{||{|{z|{zz{{{{z{|{{{|||{{{{{{|{{{|{||||{z{{z{{z{{|{||||{z{{|{{{{|zz||{{{z{z{||z{|{{{||||z|{z{{{|}|||{|||z|{{{{{{{|{{||}{{{{{{z{{{{||{|||{{z}{{{{|||{|||{{{z{{{zz{{||||{{{{z{z{z{{{|z{{{{{zz{zzzz|}{{||{{z{{z{{zz||{{z||z{{z{{z{{{z{{{||{{yz{z{zz{{{|{{|zz{z{zzz{{{|z{{{{{zyzz{z{{z{{{z|zzz{z{zzzz{{z{{z{zzzzz{zz{z{z{zz{zzzzy{z{zz|z{{|zyzz{zzzz{z{{z{{{{zyyzzz{{{z{{z{{zzzyzzz{{{{z{||zz{yzzzzzzzzzz{{zzyyzzzyy{{{{{z{zzzzyzzy{{{{{{{{{|zyzzzy{z{z|{{|zz{{zz{z{z{z{yz{z{{zz{{zz|{{{{{{zzzz{{zz{z|{|{{|z{{{z{z{{{|{z{|{{z{{z{{z{|{{{|{{{z{{{zzz{|{||{{{zzzz{{{{||{||z|{|{{{{z{z||}||{}{z{{{z{|{{{}{|||{{{|zz{|z{|{|{{{{{{{{z{|{|}{|{||z{z|{{z{{|{|{|{}|{{zz{{{{{{{{|}||{{zz{z{{|{|{|}{|{zzzz{{|{{|{{{{|{{{z{z{{{{{|z{{{{{z{{zzz{{{|{|{{{{{z{z|yz{{|z{|{zzyz{yzz|||{{|{|{{{{{{{z{z{|{||{{zzz{zzyz{{{z{||{{zzz{zz{{{{{{|{y{zz{yzyz{{{z{{{{z{zzzzzzz{zz{{zz{{{zzzz{{{{{{{{zz{zzz{zz{{{z{{{{yzzz{yzzz{{|{{{zz{xzzzzz{|{zy{zzzz{z{{zzzz{{{{{{zzyzz{{zz{z{{z{zzz{{yz{z{{{zz|{|{{{zz{{z{{{{{z|zz{yzy{{zz|{{{{{zz{zzzzz{z||z{{{zz{{{zzzzz{{z{{|{z{zz{{{||{z{{{{{{{{{zzzzz|{{|{{{yz{{{z{{{{|{{{{zz{{{z{z{{||{|}|z{z{{{zz|||{|{|{zz{{zz{{{|{|{{|{|z{{z{{{{{|{|||||z{{{||{{{|{|||{{{{{z{z{||{{|{|{|{z{{z{|{{{|{|{||{{{|{{{||{|z{{{|{zzzz{{{{|||{||z{{z{{zzz{{{{{{{zz{|z{z{{{{{z|{{zzzz{z{z|{{{{{{|{{z{zz{z{{{{z|||{yzzz{zz{{zz{{{{z{{zzzzz{||{{{z{{{zzy{yz{|{|{{{|{zzzzz{zzz|zz{|z{zz{zz{z{{z{{{{zz{zz{{{zzzz{{{{{{z{zzzz{{|{z{{{{{y{{zzy{{{|{{{{{{zz{zzz{zz{zz|{|zz{z{zzz{zzzz{zz{zzzzzzzz{z{||{{{xz{{{zz{|z|{{|{zz{z{yzz|{{{{{{{{z{{zzzz{{|{z{{|zz{zz{{z{{{{{|{{{z{z{zzz{}{{{{|{zzz{z{zzz{{{{|{{{{z{{z{{{|{{|{|{{{{|{z{z{{{||{|||{{|{{{{{|{{{||}zz{{zyzz|{|{|||{|{z{{{|z||{z{}|{{{{{|{{z||{{||{|{|{{{|{||}z|||||{{{|{{{{|{|||{|{{z{{{{{{|{|{{{{|{|z{|{z{{z{{|{|{{{zz{{{z|{{||||{{z{z{{|z{|{{{|||{z|zzz{z{|z|{|z{{{zz{zzz{{{z{{z|z{zz{zz|||z{{{|{{{zzzzzz{{y{{|{{{z{zyzzzz{{{z{||{zzzzz{z{{z|{{z|{zzzz{zz{z{z{|{z|{zz{zzz{|{zz{|{{zzzy{z{{zzz{|{z{z{zzzzz{{{y{z{{z{{{z{zzzz{z{zz{zzzyzz{z{{{{{{{|zzzy{z{{z{{z{{{{{z{zzz{zzz{{{{||{{{yzzzy{z{z{{{{{z{{{y{z{z{{{z{|zzzyzz{z{{{{{{{|z{{{y{{{{z{||{|{z{{z{{zzz{||{{|{z{{{z{zz{{{|{{|z|z{zzzz|{||z{z|{{{z{{zzzz|||{{{|z|zzz{{z|{{{{{{{|{z{{zzz|{||||}|{{{{|{{z||{{||||{zz{z{zz{{{{{|{{||{{z{{{z||||||{|{{{zzz{{{|{{|{|{{z{{z{{{{{|{|{|{{{|{{{{{|{|{{||{{zz{zzz{||{||}{{zzzzz{z{{{{{{|{z{zzzz{{{z{{z|{{{{{z{zzzzz|{z|{{z{{{{{z|{{|{{|{|z{|z{{{{z|{z{{z|{{zz{zz{{|{{z{||{zzzzzzz{{{{{{{{{z{{{yz{z{{{z{{|{{zy{{{z{{||z{||zz{zyz{z{|zz{{{|zyzzz{z{z|z{zz|{z{{zzzy{z{z{{{{{{z{zzzzz{{{z{{{{zz{zz{zzz{z{zz{{zzzzzzzzz|zz||{{{zzz{{z{{|{{{{{z{{zzzzzz{{{{{{{zz{z{zzzz{||{{|{|z{zzzz{{||{{{|{|{{{z{z|z{{{z|{{||zz{{zyz{{{{{{|{|{{{{{{{{|{{{|{||yzz{|{|{|{{}|||{{{{{{z{{|{||||{{{{{{zzz{||||{{|{{z{{{{{{|{||||{{{|z|{{||{{{{|||}{{{z{{{{}||{|{||{{{{{|z{|{|{|{{|{{{{z{|{|||||{|{{z{|zy{|||}||{|{{{z|{{{|}{|||{||{z{{z{z{}{}{|||{{{{{z{z{{{{{{z|{z|{z{{zz{{{{{||z{z{zzzzz||{{{{|{{{z{{zz{{{{z|{|{{{zzzzy{{{{{{||{zzz{|{z{{||{{{{z|{zzz|zz{{z{z{z{{zzz{zz{{{z{{{z{|{z{{zz{{z{z{||{zzz{{zzyz{{{{|{z{{zzzz{z||{||{zzz{yyzzz{{{z{||{{z{z{zzzyzz{z{{{zzzzzzzz{|z{||{|y{z{zz{{{{{|z||{{z{{zz{z|{z{zz{|z{{zzzz{{{{{z{{{{{zz{zz{||{{{{{{{{{{|z{{{z{{{{{{{zzz{{yzz{z{{{{zz|{zzzz{z{|{{{{|{{{z{z|{{{{|{}||z{z{{{|{z{{{||{||{{{{{{{{}{|{|}{}{{z|{{z||||||{{{{|z{{{{{{|{|||||z{{{{z{z}|{{||||{||{{{||{{||||||{{z|{{{|{|{{||||zz{{{z{|||}{{{{{z{zz{zz|||{{|{|{z{z{{{{z{{|{{||zzz{{{{z{|{}{|zz{z{{zz{z{|{z{|||{z{z{zzz{{{|{{{||{{z{z{{{{{{{|{{{zzzyzzy{{{||{{{{{{zzz{{||z|zz{|y{{zz{zyz{{|{||{zzz{zzzz{zz{z{|{{{zyz{zz{{{|{z{{z{zzz{{zz{z{z{{zzzz{zz{{z{{z{{z{{z{zyzzz{{z{{z|{zzzzz{{y{zzzz{{{z{{yyzzzz{{z{|z{{zz{zzzz{{{|{{z{zzz{zzzzyz{z|{{|zzz{{zzz{{{{{{{{z{z{{zzz{{z{z{|}{z{zzz{zz{|{{|z{{{{zzzzz{{{{{|{{|{z||zz{{{||{{|{{zz{{z{{z{{{{|||z{{z{{z{{z||{|{{z{{{{{{{{|{{{{}{z{{{z{zz|{{{|{}{|z|{{{{{{|{||||z|{z|z{{|{|{|{|{}|z|{|zzz{|||{|{|{zz{|{z{{{{{{{|||{z||{{z||{|{{}||z{z{{z{{{{|{||zz{y{{z{z{{{{{|{{zy{zz{{{{{{|{|{{zz{z{{zy{{{z{{|{{zz{{zz{z{{|z{{|zzzy{zz{|z{{{{{{{{zz{{y{{{{zz{||{zz{zyzz{{{{|{{|{z{zzzzzzz{{{{{{{z{z{zz{{{|{z|{{{yzzzzzz{z{{{z{{zzzxz{zzz{{y{{{{zyzzz{{zzz{{{{{{zz{yyz{z{{{{{z{{{z{{{yzy{zz{{|z{zzzyzyzzyzzz{z{{zzzz{{zz{{z{{{{z|z{zzzzzzzzz{{{|{{z{z{z{|{z{{}{{zz{z{{zz{{{z{z{|{{{z{y{z{{{{{||{zzzzzy{z{{{{{{|{|{zz|zz{{{|{||z{{{{z{y{{{{|{{{||{{{z{{{{{{{|z||{|{{{{zz{{||{|||{|{|{{{{{|{||{|||{z|zz{||{||{{}|||z{{{{{{{|{||{}{|{{{{z{{||{||||{{zz{zz{{|{{{|{|}{z{{|{z{{||{|{{}z{zzzz{z{|||{|||{{z{{{zz{{{|||{{{{{{y{zz{{|{{|{|{z{z{z{{z{{{{|{{zzz{z{{zz{{|z{||{zzzzz{{|zz{z{{{zzz{{zz{z||{{{{|z{{zz{{{{{{|{{|{zzz{zz{zz{{z{{{{{{{z{{z||{{{z|zzz{|{zzyzz{z{{{{{zzzzzzzzz{{{{{z{zzzzz{zzzz{{}{{{{zyz{zzzz{z|{z|{z{zzz{zyz{y{{z|y{|{z{zzzz{{zzz{zzz{{{zzy{z{z{z{|{{zzzzz{z{{{{{||{zz{z{{yz{zz{zz{zz{zz{z{|{{{{{{{{z{{{z{{{{{{{|{{|{{zzzzzz|{z{{{{{z{{|{{z{{|z{{|{{{z{{{{{{{{{|{|{{{{zz{{{{|{||{|{{zz{{{zz{|||||{{||{{{{{{||{{{||{|z|z{{{|{|{{||||{{{|z{zz{|{}|{|||{|{{z{{{|{{{||||z{{z{z{||z{{|||{{{{{{y{|{|{|{|||{{z{{{{{|{{|{||{zz{{zz{{z{z{|{{{z{yzz{z{z{{{|{|z{zyzzzz{{{||{|||{z{{{zzz{{{{|{{{{zzzzzzz|{{{{|{z{{zzzzz{z{{z{{{{{z{{y{z{zz{z{{|{{|z{{yyz{{zz|{|{z{zzyzz{z{{zzz|z{zz{zzz{zy{z{{zzzzzzzzz{z{{z{z{{{{zyzyz{{z{{||{{{zzyzz{z{|z{z{zyz{{zzzy{{{zzz{{{yyzzz{zz{{zz{{zzzzzzzz{z{z{{z|z{{zz{zzy{z{{z{{{zz{z{z{{z{{z{{{|z{{zzzzz{{{{{|{{{z{zzzz|z|{{{{z|z{{y|z{z|z{z{|{{|yz{{zzz{{zz{{|{z|z{{zz{z{{{{||{{{zz{{|z{{z{z{|{zz|{{z{z|{{{{{||{z{z{zyz{}{{{{|||{{{z||{||z{{|{{{{{z{|z{{}|}|||||{{{{{z|{||||{|{{z{{{|{{z{{}|{|{{zz{{{{|{|||{}{{z{z{{{{{{{zz{{|||{z{zz|z{{{|z{{{z{{z{z{z{z{{{{{|{{{{{zyz{{|{{|{|{zz{zz{z{{|{{{{||z{z{{{z|zz{||{{{{|z{zz{{{{{{{|{zzzzzz{zzz{{{{|{zzzzzzzz{{{{{{|zyz{z{{zyz{{z{{z{z{zyz{yz{z{{z{zzz{zzzyyz{z{{z{z{{yz{zzy{{z{y{{{zzz{{zzyzz{{{{z|{{zzzzzzy{{{z{{{zzzyzzzzy{zyzy{z{{{{yz{zyz|{zz{|z{zzz{{{zz{{z{{{{{{{zzz{z{{{|{{{|zzzzzzzz{{{{{{{{{{{{{zzz{{z|z|{{|{{{z{zz{{|{{{|{|zz{{{z{{|{z{|{{zz{{{{{|z{z{z|||{z{z|{{{||{{|}{|{{{{z{zz{{|{{{{|{z{z{zz{|}|{{}||{z{{{{{|{{{{||{{{{z{{{{{{|||{|||{z|z{z{{{{|||{|{{{{z{{{|{|{{|{||{z|{{{{z{{{{|{{|{{{z{z{{|{{{{{}{|zz{z{zz{|{{z{||{{{zzz{z{{{{{{||{|zz{{zyz{{|zz||||{{zyzz{z{z|||zz{{zzy{z{{{z{{||{zzzyzz{z{z|z|{{yzzzzz{z{{|{{{{{|z{yzz{zz{|zz{{{{{z{zzy{{{{z{|z{{{zzz{{zz{{zz|{{{zz{zyyy{{{z{{{{{zzzzzyzz{{z{{zzz{zzzz{z{zz{{{|{z{zzzz{zz{{{{{|{{zzzz{zyz{{{z{z{{zzzz{zzz{{z{|{{{{zzzz{zz{{|{z|{{zzzzz{zzz|{|{{|z{zzzzz{{z|z{||{{{y{{zz{z{||{{{{{z{{{zzz{{{{{{|{zz|{z{{z||{z{||z|{{z{{{{{{||{||}{|{z{{z|{|{{|{|}{z{z{{zz{||{{{{{|{{{zz{{{|{z||||{{{z{{||{|||{|{{||{|{{z{{}}|}|||{z{{{{{{{{{|{|{{|{{{{{{{{{|||{{|{{z|{{{{||||||{|{{|{{zzz{{{{|||||zz{z{{z{|{|{||{{z{y{z{z|z{{{{|}{{{zzzzzz|{{z{{|{{zz{{z{{{{{z||{z|{z{zz{{|z|z|{{{{z{zz{{y{{{{z||z{zzzzz|{|{{{{|{{zz{z|{zzzzz{|||{{zzzzzzz|{{{zz{zzz{zzz{{{{z{|{|zzzzzzzzy|{z{{{{|zzzzzzz{{{{{{|{{z{z{{xz{{{{z{z{{{zzzyzyzzzz{|{{zyyz{{zzzz{{{{{|z{{{z{{y{{{z{z{{zzzzzzz{|{{{{{{{z{{{zzz{|{{z{{{|zzz{zz{{z|{{zz{{{z{{zz{z{||{{{|{zz{z{{{zz{{|{z|{{{{{{{zz{{|z{{{{z{{{zzz{{{|{|||{z{z{{z|{{{{{{{||z{{|{zzz||{||z{{|||z{{{z|{{|{}|||}{{{||{{}||{|{|}{{{{{{z{|{}{|||{z{|{{z{{{{|{|||{zz{{{{|{{{z|{{|{{{{{|z|{|{{||||z{z{{{{{{{|||{||{z{{{{zz{{{{{{||{z{zzz{{{z{{||{|{{{z{z{z{|{|{{|{{{z{{zz|{{{{{{{|{{{z{zzz{|{z{|{|{{y{zzz{{{{{zz{|{{zzyz{y{{{{{|{{{zzzz{zy{{{{|{{{{{{{yz{zz{|{z|{{{{{zz{z{{{{{{|z{z{zzyzzz{{{{z{zz{zzzz{zzz|{{{{{{{z{{yzzzz{{zz{|{zzzz{zzzzzz{z{z{zzz{zzzzz{zzy{{{{{{{z{zyz{{{{{{{zz{yzyzzy{|z{{{{|{|{{z{zzz|{{{{|z{{{{y{z{{|{{|{|{{|zz{{zz{{|{|zzz{{y{|z{{|{{{|}{{{{zyzz{|{{{|z|{||{{}{{z|||{||||{{{zz{{{|||{|{|}zzz{{|{{|{{|{{|{{zz{{zz{||{{}{||{{{{{{{{z|{{||{||{{{{{|{{|||{|||{{{{zz{{}||{{||{{{{{{zz{||{|{||{{{|{z{{{{{|{||||{zzzzz{{{{{|{|||{|z{zzzz{{{{z{{||{|z{z{y{z||{|{{zzzz{z{y{{{{{{{{{{zz{z{z|{{{{||{zzz{{{{z{{{||z|{{{z{{zz{{{|{{{|{{z{zz{{{|{{{z||{{{|zz{{zz{{{{{{z{zzzz{zz{{|{{{{|{z{{{{z{{z{{{{{{zzzyzyzyz{{|{{{y{zzzzzzz{z|z{|{{{z{{{zzzz||{{{{{z{zzzyzyzz{{zz{|zz{z{{{{zz{{{{{{zzz{{y{zz{z{|{{{zyzz{zzz{||{zz{{zz{|zzyz{zz{z{|{{{zzyyzyz{{|{{|{{{zzz{{zz{{{||{{{{|z{zzz{|z{{z||zzz|{z{z{|{{z|{{{{|{z{{{z||{||{|{{{|z{{{|{{}|{|{{z{|{|{{{||||||{{|z{{z|z|{{{||||||{{{{|{{|{{{{|||{{{{{zz{|{}|}|{{{|{{{zz|{|{||{|{{{{z{{{||{|{{|||{{{{z{{{|{|{{{{z{{z{z{{z{||{{|{{{z|{z{{{|||z{{|{z|zz{{{{z|{z|{{{zzyz{z{{{{{{{{{z{{zz{z{zz{|{||{{{z{z{|z{{{{||}{{{z{zzz{z{{|z{{{{|{zyzzz|z{{{{z{{zzzzzzz|{{{z{|z{z{zz{zz{{{z{zz{{{zz{{zzzz{z{{|zzyzz{z{z{{|z{y|{zz{zyzyzzzz{{{{{{{{{yz{yzz{{z|{zzz{zzy{zz{{|z{zz{{zyyzyz{{{{z||{zzzzz{zzz{z|{|{z{zzzz{z{{|z{{{{|{zzzzz{z{{{{{||{z{{zz{{z|{|{z{{{zz{z{zz{z{{{{||{{zzz{{y{{{{{{||{zzz{z{z{{{|{{{|{{{zz{{z{|}{|}|{|{{{{|z{{|{{{||{{{{{{{z{{{|}}|{|{{{{{{|{{{|{{||||{{{{{{|z|{{{{|{||{{{{{||{|{|||}||{{|{{|z|{{{{||||{{{{{z|{{{||{|}|{{{{{{|{{||{|{|z{{{{{|z{{z{{{{{|zzzzy{{||z|{|||z{{{zy{z{z{|{|{{{{{zz{|{{{||{{{yz{{z{zy{{z{{||z|z{zzz{zz{z{{|z{{{{zzzy{{{{{{{{||{{{z{z|z{|{{{|{{{{{{z{{{{{{zz{||z{zzzzzz{{{z{|{{zzzzzzzzz{{{zz{{zz{zz{{z{{z{|z|{zz{zzzyzzz|{{{{{{{{zz{zyz{{|{||{zzzyzzzzz{{z{{{{z{zzzzz{y{{z{|{zzzzzzzz{{{{{{{z{z{zz{zz{z{{{{{{{{{{z{zz{|{{{{}{zz{y{{zz{{||z{{|{{{|z{z{{z{{|{|{{{zzz{zz{|{|{{{{{{z{|zzzz{{{{{||{|zz{zz{{z|{{}|{|z{{{{z{{|{{|{|||{{{z{{{{|{{{||{{|{|z{{{{|}|{{||{{zz|{{||{|{{{|||||{z{|{||}|||{}||{|{{||{|{}|{{|{|z{z|{{{{{{{{|{|{{{{{{|{|}{{{{{|{{{z{{z|{|||{|{|{{{{{z{{z{{|{{{|z{{zzzz{{{{||{{{{|{{zzy{z{{{z|{{{zzy{zzy{{{{|{z|{zzz{z{yzz{|{z||{yzzyzyz{z{|z{|{{z{z{z{y|z{{|{{{zzzzz{zz{{z|y|{zz{zzzzzyzz{{zz{{z{{zyzzz{zzzzz{{yy{z{zzz{{z{z{{zzzzzyzy{zy{zz{|zzzzzzzzy{{z{z|{{{y{zzzz{yz{z{{{{{zzzzzz{z{{{y{z{z{zzz{xz|{zz{{{zzz{z{{{{z{{{{|{|zzz{zzzzz{{{{{{{zzzzzzzzz{|{{{{{z{zyzy{{z{{z{{{{{zzzyz{{z{{z{||zz{zzz{yyz{{{{|||{{{z{z{{z{|||{{{{{{zzz{{{|z|{{{{{|{{{zzz{|z|z{|{|{{|{z{z{|{{|{||{{zzz{|{{|{{||{|z{{z||zz|{{||||{{{{{{z{{{||{{{{{z{z{{z{z{{{{{}||{{{{{{zz{{{}{|{{{{{z{z{z{{z|{{|{{{zzzz{{{|{{||{z{zzzzy{z{z{zz|{{{zzzzy{z{{{z{{{|zzzyzyzz{{|{{z|z{z{z{zzzz{z{{|{{z{z{{{zy{{||{{{z{zzy{{zz{{{zz{{|{zzzyz{zz{{zz{{y{z{y{{zz{{zzz{z{{zzzz{yz{z{zz|zzzyzzzyzz{{zz{{{z{zzzzzzz{{{{{z{{zzzzzyyy{{{{zzz{{yzyzyyy{{{zz{{{|zzzzzzzz|zzz{{zy{yzyzzz{zz{{{|{{{zyzzy{{{{{z{{|{{zzzzzzz{{zz|{|zzyzzyzzy{{{|{{{|z{z{y{{y{{|{{{{zz{z{yyz{{{{z{|{{z{zz{z{{{z|z|{{{z|{z{zzz{{}|||{zz{z{{{{z|z|{{}|{z{zzz{z{{|||{||{|z{z{z{{||z{z{||{{|z{{{{{{|{{{{|zzzz{{{{}{{|{{|{z{{z{{{z{{}||||{z{z{zz{|{|{|}|{{{{z{{z{|{z{{z||{{{y{zz{{|z{z{|{{|{{zz{z{|{{{z{{{zzz{z{{z{{zz{|zz{{{zzzyz{|{zz{|{{zzzz{{{zz{{{{{{{{yz{{zzz{zz{|{zz{z{z{{{|{zz{|{yzzyzyz{{|z{{|z|zyzy{zzzz{zz{{|zzzzz{z{z|{z{{z{{{{zzzzzzzzzzz{{{zzzzzzzyz{{z{{{{y{zzyzyzzz{z{{|{{zzzyzzzz{z{|{{zzzzzzyzzzzz{{{{{z{yzzyzzzzzzz{{z{yzzz{zyz{{{{{{{zzzzzzzz{{{{z{|{{z|zzzzzz{{{{||{zz{zzz{y{|{{|{{{{{{y{z{{{{{{z{{|{z{zz{{z{z|z{{{|zz{{{zz{z{{{{{{{{{{z{{z{{{|{{{{z{z{{{z{{{{{{|{|||{{{{zzz{{|{{||{|z{{{{zz|||{{{|{{{{{{{|{|{{{|||{{yz{{y{{{|||{|}|{{|{{{{zz|z{||{{|z{{{{z{{{{{{||||{z{||{z{||z|{|}|{zzz{{{{|z{|{{|z{{{{zzzzzz|z{{{{|{z{z{z|{{{{{{{{{{z{y{z{|{{{{|{|{{zzzzz{{zz{||{|{zz{z{z{|{z{{|{{{zz{z{z{|zz{{{{z{{z{{z{zzz{{||{zzzz{zzz|{zz{y{z|z{zz{zz{{{{z{{{y{{zzzzy|{z{zz{{zzzzzzzzz{{zz{{{z{{z{{zz{{{{{|||zz{zyzzz{{{z{{|z{yz{zzzzz{zzzz{{zzzz{z{z{{z{z{|zyzzzz{{zzzz{zz|{{{zz{z{z{{|z{z{|zz{{zz{z{|z{z{{|{zzzz{y{{{{{{{|{{{{{{zyz{|{{{{|{{z{z{zzz{{|z{|{{{{{|zzzz{|{{{z|{y{{z{{z{{{{|{{{{{{{z{{{{|{{|||{|{{z{{{{{{|}|{||{|{{{z{{{{|{{|||||{{z{|{{|{{{{|{|{{{z||{{|}||||}||{{{z{{{{||{{{|||||z{z{{{{|||{{}z{zz{{{{}z|z{||{{z{{{{zz{{{{{{||{{z{{|{zz{{|{||{{z{zzzzz{{|{z{{{z{zzyzzz{{z{{{||z{{yzzzyzz{|z{z{{{{z{y{y|{z{z|{{|{z{{zyz{{{{zz{{yz{zy{{zzz||{|{|{{zy{zzzz{{zz|{{{z{zzyzyz{z{z{{{z{zzzzzz{{{{z{z{zzzzzz{zzzz{zy{{z{zzzzz{|{{z|{{z{z{{yyzzz{|{z|{{{{z{{yyyyzzz{zz{{{yy{yyyz{z{z|{yzz{zyzzz{{{z{{{{{{yz{zzz{z{zz{{{zzzzzz{z{|{{{{{|z{{zzzyzz|{z{|zzzzz{zzz|{{||{{z{{z{{zzzz|{{{{|{{|{{z{z{{|{{{zz{{{{z{{zzz{{{{{z{|{{{{{{|{z{||{{||z{z{{{{zz{{{{{{{|z{{{z{{|{||{|||{{{zz{{{{|{|{||||zz{{{z{{|||{|||{||{zz{z|{{|}{}z|zzz{z{{{zz{{|{|{z{{{{zz{{|{{|{|{{{{{y{{z|{z|{|{{{zzz{zz{{{|{{{{{z{z{zzz{z|||{z{z{y{z|zz{{{{||{{{{{zzzy{{{{z|{{{{{zzz{zzz{{||{||{{{{z{zzz{{{{{{|z|{z{{zz{{{|{{z{{yyyzzyz{z{{{{{{{z{{zzz{{zzz{||{z{{{z{zz{z{|z{{|zyzzzzzz{|{{z{{{zzzzzzz{{{{|{|||{{{{zzzzz|{zz|{{{zzzzzzzzzzz{{{{zzzz{z{z{{{{zzz{{zyy{|zzz{{{{{{{{z{{y{{z{|{{{{{{{zz{zz{{|{zzy{{{zyz{yzzz{{{zy||{z{|z{zzz{{{{z{|{|z{{z{{z|{zz{{{{z{{|{{z{|{{{{{z|{{z{{{zz{{{|{{{|z{|z{|{z||{||{||{z{z{{{z{{|{|{{{{{{{{{z{{|||{||{{{{{{{z|{|{{|||{{|{{{|z|{|{|||{||{{{z{{{{|{{|{||{zz{z{{{z|||{|||{{{z||{{|{z|}|||{{|{{zzz||{{{|||||{{zz{{{|{|{{|{{{{zzz{{{|||{{|{{{{zzz{z{|{{{|z|{{{zzz{z{z|{{{{|{z{{z|z{|||{{||{{zz{zzy{z{|{{{|{{{{zzz{z|z{|{|||z{zzy{zz{{{z{{{z{z{|{zzz{{z{{{{zz{z{z{zzz{{{{{{{{zzz{zzz{z{{|z||{zzzzzz{z|z{|||{{z{zzz{zz|{{{{||zzyzzz{zz{{z{{{{z{zzzzzy{{z{z|{{zzzz{{z{z{{|{|{|{z{z{zz{z{{|{{|{{{{{{{|z|{{|{{{{zzz{{zz|{{|{{{{|{z{z{z{z{{}{||{|z{{{{{{{{{{{{{|zz{{{zzz{||{|{||||{{{{{z{zz}||{||{zz{|{|z|||{||||z{{||z{z{}||||{}{yzz{{{z{||{{||}|{|z|{{{|||||||||{{{{{{|{|||||||}z|{{z{|{{||{{|||{{{z{{{|{{{{|||{{z{{{{|{{||{|{|{{{{{{{z{||||}}|{{z|z|z{{|{|{||z{{|z|z{z|{{|{{z|zzzzzzzx{z|{{{||{{{z|z{{{{z{{{||{{zzz{yzz{{z{{z{{y|{|z{{{|z{{|{{{z{{yyzz{{{{{|||{z{zz{zzz{{{{{{{zz{{yzzz{{{{{z|{zz{zz{zz{{{|z{{zz{zzzzzz{z|zzz|zzy{zzyzz{{{{|{zyz{z{zzzz{{z|z{|{zyz{yyzyz{{z{{zzzzzzzxz{z{zzz{{{zy{z{{zz|z{{zz{{{{zz{z{{z||z{{z{{z{{zzzzz{{{{|{{zz{zz{zzz{zz|{{{z{{{{z{{zz{{{{{{{z{zzzz{{{|{{{{{{{{z{{{z|{{z{{|{{{{{{z{y{|{||||{{{z|{||z|{|{{|{|z|z{zz{{{||{||{|{{{z|{{{||{|{|}{zz{{}{{{|{||{||||z{{{{|z{}|||{|z|{|zz{z{{|z||||{|{{zz{{{{{{{||{|{{{{{{{|{{{{|{|||z{zyzz{{||{||{{{{zzz{{{{||||{{z{{{{{zzz{zzz{|{{z{z{{{zz{z{z|{{{z{z{z{{z|{z{|{{{z{{z{{yz{||z{{{{|zzzzyz{|z{{{{{{zzzz{{{y{z{{|{{{{zz{{zzzz{z{{|z|{{z{yz{{z{|z{z{{z{{{zzz{z{{|{{{{zzz|zyzzz{{zz{z{{z{zy{zy{|{{{{{|zz{{z{zz{{{{{|{{z{z{{zzxzzzzz{zyz{z{zzyz{{{{{{{{zzzzz{{zz{z{{{{{{zzz{zzy{{{|z|{zzz{zzz{{{{z{{{{z{{{zz{z{{{{z{{}|{z{{{z{{{{{||{{z{zzzz{z{{{{{z||{{{{z{yz{z|{|{}z|{zz{z{|{zz|{{||{{{{{z{{{|{y{||{|{{{z{{{z{|||{{|{{{z|z{{{|||{|||{|z||z|{|{{z|||}|{z{|{{||{{{|{{|{||{{{|{{|||{||||{zz{{{{{|{|||||||{{{{{|{|{|{{{{{{{zz|zzz|{{|{|||{|z{yz{z{|||{{|{zz{z{{zz{|{z{{{{{zy{z{zzz{{{{{{zyzzz{zyz{z{{{{{||{zyzzzzzz{{z|z{{{{zyzz{z{|{{{|{{zzzz{{z{{{{{{{z{z{{{yz{z{zzz{{z{{zzzzzz{{z{z||{zz{zz{zz{{y{zz{{{zy{zzzzzzzzz{{z{{{zz{zy{z{z|zz{zz{zyyzzy{{{{z{zzzzzzzzy{{{{z{z|{yzzzzzyzzzzz{{{{z{zzyyzz{{{z{{zy{zz{yz{{{{z{z{{z{zzzzzz{z{{{zz{zz{zzzzz{{|z{{{{zz{{yyz{{{{{{|{{{z{{zzzz{{{{|||{z{zz{z{|{{{{{|z{{z{z{zz{{||{|{{|{z{zzz||{{|{{|||{zz{{zz{{||{|z|||z{{{z{{|{}||{|{z{{{{{{{{}||{|{{|{{{{zz{{||{{{|}|{{{z|{z|{{|||{{{zz{{z{{{{{{{{|}{{{{{{|{{|{{z{|||{{z{{{zz{|{z||{{zz|{z{z{|{|{{zz{{{{zzyz{{|{{|{{{{{zyz{z{{{zz{{{{yzzzy{z{|{{z{||zzzy|{yzz{z{{{||zy{{zz{zz{{|z{{{{{yzz{zz{{{z{{||{zzz{zzz{{{{z{{{z{|z{yzz{z{{{{|zz{z{zzyzzz{{{{zzzzzyyyzz{{z{z{zzzzzyzzzzzzz{|{{{zzzy{zzyz{z|{{{|{zz{zzz{zzzzz{zzzzzzzzzz{{z{zz{{zzzzzzzy{z{z{{|zzyyzzz{z{{{{|{|zzz|{zyyz{{{{{{z{zzzzyy{{|{{{z{{{{zz{{{|zz{{{{|{{zz{zyzyy{zz{z{|{{zz{zzzzz|{z{{{|zz{z{|{z{{{{{|z{{{zz{z{{{{{{}|||{{{z{{zz{{}|{{|{|{zz{{{z||z{||{|z{{{{{z{{{{||||}{zzzzz{z{|{|||||z{{{{{z{{{|||{{|zzz{{{{z{{{{|||||{z{{{{{{{{{{{||{{{{{z{z{||{{{{|{{z{zz{{||||{{|{{z|z{z{{{|||{|{{yzzz{|yzz{{{z{z{zz{zz{z{|{|{z|{|zzzzzzzzzzz{{{{{zz{{{zzyzz{{z{|{{z{zz{zz{zz{z{{|{z{zzyzzz{z{{|{{zzzyzyzz{{{zzzzz{zzzzyzzz{zz{{{zyzzzzzzz{zz{{{|{{zyzyyy{zzz{{{{{zz{yzzzz{{z{{{{{z{zzzz{zzzz{{{{zz{zzzzzzzzy{z{z{zz{zz{{{{z{{zz{z{zzzyy{z{{z{zz{{zz|zyyzz{{{{||{{z{{z{z{z{{|zz|{{{zzzzyzzz|{{|{|z{{y{z{z{{{z{{{|{|z{{{z{z{}|{{z|{{{y{|zzz{{{}{{{{z{{{{z{z|{{{{{||z{zzzzz{{||{z{{|{z{zz{{{{|z|{|}||{{z{{|{{z||||}{{|{z{{{{{||{|{||{z{{{z{{|{||{|{{{{{{{z{{{||{{|{|{{z{{z{{{{{{{|{|{|{{z{z{||{{{{{z{{{zz{{z{|||{{|{z{{zzz{z{{{{{|z|z{z{z{zz{{z{zzz}z{zz{zy{{{{{{{{{{{yzz{yz{{{zz{{z|zzzzzzzz{{{zz{{z{zyz{zz|{{zz{{{zzzyyz{zz{{zz||{z{|z{z{y{{|zz{{{{z{zz{z{zzz{z|{zyzzyzzyz{z{{{{{zzyz{zzyzz{z{{{{zzy{zyzzzy{{zy{{{{z{yzyzz{{{{{z{y{zzzyzyyz{z|z{{|zzz{zzzz{zzzz{{{z{zyzyzzz{{zz{{{zy{{zzzz{{zzz|{{z{{zz{{z{z{z{{{{{zz{zzzyz{{{{|{{{zzz{{z{{{{z|||{{{z{zzzz{|{{{{{{{{{z{z{z|{|{{|{|z{{{zzzz|{{{{|{|{{zz{zz{{|{|{|||{y{{{z{{{|{||{||{z{{{{{{{{|{|{|||{{{{z{{||{|{{||{{z|{zz{||{{{{{{{z{z{zz|||{{{{{|{{z{z{|{{|{z{z{|z{{zy{zz||{{z|{|{{z{z{z{{{z|z{{{zz{{zy{z{|{{{|||z{z{zzzz{{{z|z|{{zz|{z{z{{{{{z{|{{z{{|{z{y{{|||{zz{yzzz{z||zzz{{{zzyzz{z|{z{{{{{z{z{{zz{zz{z{{{{z{{zzzzz{{{{z{{z{{zzyzzz{z{z|zz{yzz{{yzzz{{{zz{{zyz{zzzz{{{{{{{|zyz{zzz{z{z{z{{{zzzzzz{zz|zz{{z{{zzzzzzzz|zz{|{{zzzzzzz{{{{z{{{{zyz{{y{{{zz{{{|zz{zzyz{{{{{{|{{{{{{zz{zz{{{|{|{zz{zzzzzzz{{|z{{|{z{zzyzz{{{{z||{{{z{z{z{|{{{{{{|{{z|{{{{{}{{|{|{{{zz|{{{|{{|{||{{{{{z{zz{||{||{||{{{{z{z{||||}{|{{{zz{{|{|{{||||{z{{{|{{{|||||{{|z{{|{z{|z|{|||||z{{{z|z{{|{||}{|{z{{zz{{zz{|||{{{{z|{zz{{{{{|{{|z{{zzzzz{{{z||||z{zzzz{{{{z|}{{{zz{zz{yzz|{{{|{z{zzz{zz{|{|{{{{|zz{{{z{{z{{{{|z{zzzzz{{z{{|{z{{|zzz{{zyz{{{{{{{zz{z{yzy||{z{{{z{zyzz{zy{{{{{{zz{{{{zzzyzzzyz{{{{zzz{yzz{{{z{{{zzzy{zzzz{{{z{z{{{z{zzz{z{zz|{{z{{zzzz{zzzz{{{{{{{{zzzz{zz{yz{{{{zz{{zzzz{zz|{{|z{z{{yzz{z{{{{{{|{z{z{z{z|{{zz|{{zzzyz{z{|{{{{{|{}{{zzz|zy||{{{{{{z{{zzz{{{{{{z{|{|{|z{z{{|{{z||{{zz{z{|z|{|||{||{z{{{z{{|{{|{||||{{z{z|z|||||||{{z{{{{||{|{{{|||{|z{{{{{z{||{||{|{{{{zz{{{|||||}{z{{{zz|{||{||{}{z{{{{z{{|{{|||{{z{{{{{{{|{||||{|{{{{{z{||{|{{}|z{{zz{{z{||{{||{|{|{{z{zz{||{{{|zz{{{{z{{{z{{|{{z{{z{{{{z{{{|{|{{{z{zzzz{{{{|{{{{{zz{zzz{{{{{{|{{z{z{zzzz{{|{{{{{zzzz{{zzz{zz{{{zyyz{zzy{|{{zz{z{zzzzzzz{{{{z|||{zzzzz{zz{{{z{{zzyyzzzyzzzz{{zz{z{yzzzz{z{{z{z{{{zzzzzzyyyyz{|z{z{zyzyzzzz{{{|{{{zzz{{zz{{{{{|{{zyzzzz{zz{{{{{z{zz|zzzz{z{|{{|||yzzzzy{{||{{|||z{{|{{yz{|||{{|{z{z{{z|zz{{||{{{|z{z{{z{{z{{|z{{z{{{z{zz{{{{{{|||zz{{{{z{{{{{|||{{z{{{z{z|||{|||{{z{{z{z|||{{||{|{{}{|{{{{{{|{{{{|{||{z{{z|{|||}z|{{{{{{{{{{|||{{{z{|{|{zz|{||||||{{{{z{|{{{|{z{||{{zz{{z|{{{{|z|{z{{{zz{z{||{z|{{zzz{yz{z{|{z{{{zz{zzzzz{{{{{z{}{{zzzyz{{{{|{|{|zz{z{zz{z{{{|{|{{zz{z{{{{z||{{{{{zzz{z{y{z{{{z{{|zzzzzzz{z{{z||{{z{zyz{{{{{z{|{zyzzz{zzz{zz{z{z{yzyzzyzz{{|zz{{z{zzzzzxzzz{z{{{{{zzzzy{y{{z{{yz{zzy{zzzz{{{zz|{zz{zyyzzyz{zz{|{zzzzzz{yz{z{{{{{{{zyzzzzzz{{{z{{|zz{z{z{z{{{{z{{|zz{zzz{z{z|{z|{{{z{{zzzz{{{{{{{{{zyz{zzzz{{{{{{{|zz{z{z|z{{z{{{{{zzz{z{z{{{|z|{|{zzz{|{{||{|{{|||{{zz{{{|||{||}{|yz{{{{|||{|{|{{z{{|{{{{||{{|||{|{z{z{{z||||{{{||{|{{{{{{|{{{|{{|{{{{zz{z{{z{{||{{z{{{{{{|{{|||||{z{z{{z{z{|{{|{{zz{z{|{z{|{{{|z{{{{z{{z{{{{||{{yzyyzzzzz{|{{{{{zzyzz{zzz{{z{{{{z{zzzzzz{{{z|{{zzzzzy{{zz{{z{{|{{zzzyzyy{zz{{{z{zz{yzzzyyz|zz{{{{zzz{{zzz{||z{|zzz{z{zzyzzzz{{{zy{zzzyz{z{{zzz{zz{yyyzzz{yy{{{z{zzzzy{{zzz{zz{z{{zzzzyzzz{{y{{z{{zyyyyyzy{zzzz{zyzzyz{zzz{z{{{{zzyzz{yzyzz{zzz{{zzzzzz{z{{{{{{z{z{zyz{{{zz|zz{{|{{zzzy{zz|}z{|{z{{zz{{z{{||{{{|{{zz{z{{{{{|{{{{|{{y{zy{zz{|||{{{{{{{zzz{{|{{y{|{{{z{{zz{|{{{|||{|{{zzzzz{|{z|{{{|z{{{{{{{{{|{{|z{{{zzzzz||{|{{}|{z|{{z{||{{{||||{z{z{|{{|{z|{{{z{{{z{{{{{|{{{|{{{{zy{zzz{{zz{{{|{z{{{{zz{{{{z{{{{z{{zyz{{||{{{{{{z{{z{z{z{|zz{{{|z{zzzz{z{{{{{{{z{zz{z{z{{{{zz{{{z{{zzzyz||{{z|{{z{{yz{y{||{{|z|{zzzzz{zzz|zzz{z{y{{y{z{{{{z{z{yz{{zz{yzzz{z{{{{yzzzzyzz{{{{{z{{zz{z{{zzzz{{||||{zz{zyzyz{{|z{{{z{z{zz{yy{{yz{{zy{z{zzzzz|{{z{{{{zyzzzzyz{{z{z{{{yz{|zzzzy{zz{{{zz{{zyzz{z{{z{{{zzz{{zz{{{{z|{{{|{{{{zz{z{{{|z{{{{{{z{zz{|{{{||{z{zz{z{{z||{z|{{|{{{{{{z{{|{{{|{z{zz{{z{{{{||}{|{{{zzzzz{{{z|{|{{{zzzz{{|{{{{}|{{{{{z{z{{||{{{|||{z{z{{{{||{||}{|z||{zz{|{{{{|{{{|{{{{{{|||{|||}{z{{{{{{||{|{|{|{{z{{|{zz{{{{{||{|z{z{z{{{||z|{{{z{zzzz{|{{{|{{{{zz{zz{zzz{z{{{{{z{zzzzz|z|zzz{|{zzz{zzzz{z{z{z{{z{zzzz{z{{{y{|||{zzz{{z{z{{z{{{z{{y{y{{{|z{{{{{{{zzzzzy{z{{{{z{{{{zyyzz{{z{zzz{{zz{zzzzz{{z|{{z{zzzzzzy{z{zz{{{{{{zzyzzz{{{z{{{zzzzzyzyzzzz{{zzzz{yyzzy{{z|{{z{y{zz{yzz{z{|{{{}{zzzzz{{z{{{|{{{{zz{zz{{z{zz{{z{{zzyz{z{|{z{{|{{|{{z{z{zz{{{||z{{{{zz{z{{{|{{{{z{{{{{z{{z|{{{{{{{{{|{z{{|{{|{||{{{{{{{|{{{{|{{{{{{z{|{zz{{{|||}z{zz{{{|z{|{|{|{|zz{{{{|z{{{|{{||{{{{z|||{|{|{{||{z|{{z{z{|{{{|||{{z{{{{|{|{{|||{|{z{{{z{{{z{{||{{z{zz{z{z{z{z{|{{{z{{{zzz{{{{{||{{{z{z{{|||{{z{zzzz{zzxz{{{{{{||z{zzyyyz{z{|{|{{{zzzzzzy{zz{|{{|{zz{zzyz{z{|yz{|zzzx{yzy{|{{{{||zzzz{zzzz{{{z{z{zz{{xyy{{{{{{{{{{zzyz{zyz{{{|z{{zzzzz{zy{{{{z{{zzz{zzzz{z{z{{|{{z{zzz{yzzz{z{{{{{yzzz{zzz{zzzzzzzzzzyyyyzzz{z{|{zyz{zzyyzzzyz{{z{zyzzzzzz{zz{{{{{zzzzzzzz{zz{{|{zzzzzzzz{zz{{|{|zzzz{y{y{{{{{{|{{y{{zzzz{{{{z{|{{z{{zz{zz{||{{|{z{z{{z{z||{{||{{{{zz{{|{{{{z|||{{{z{{zz{{|{{|{{{{{{{|zzz||{{|||{{{|z{{{z{{{||||{|z{{z{{{{|{|{{|{|z|{{{z{{{{|{{||{{{{{{zz||zz{{||{zz||{{{{z{{|{{{{{{zz{z{{{|{{{{|{{{zzz{{{|z{{z|{{{{{zzzy{{|}|z{{zzzzzzzzzz{{z{{{y{yz{zzzz{{{{{z|{{z{yzzy{{{z{|{z{zz{{zzz{{{{{{|{z{{yyyzzz{{zz{z{z{{z{z{z{{z{z{{{zzzzzz{zzz|z{zz{zzzy{yyzz{{zzz{{zyzzyyzz{zzzz{{z{zzyy{z|zz{z{{{zzzzzyzyyzzz{{z{z{yzzzyzyzzyx{{z{{zzzz{zyz{zzzz{{{zzyzzzz{{{{{{|{{zzz{z{zzz{zzzz|z{|y{z{{z{z{y{{|zzzzzz{zz{z{{{{{{{zzzzzz{{{{||{{zzzz{zzy{{{{z{|{|z{{{{zz{{{z|{z{{{zzz{|{{{{||{{{z{z{yz{{{{z}{|{{{{{{{z{{{{|{|{|{|yz|zz{z{{{|{|{|{z|z{z{{||}{{{||{z{{z{zzz|{|{|{|{z{{zz{{{{{|||{|{zz{z{z{{|{|{||}{{z{{zz{|z|{||{|z{zz{{{zz{{{{{{{{{yzzzzz{|{{{{||{{z{zy{{{||{|{z|z{zzzy{{z{{{z{{{z{z{zzyz{{{{z{{{{zzzz{zz{z{{z{|zzzz{{zyyz{z{{{|||{{zzy{z|{z{{{{|{z{z{z{z|{z{z{z{z{zzzzyy{zz{z{{{|{{zzzyzzzz{{{{{z{zyyyzz{z{{{z|{zzzzyzzyzz{y{{{|z{{zzzyzzz{|z{|{{y{zzzzzzzz{zz{{zzzzzzz{{zz{{{y{{zzy{{zz{z{{{||zz{zzzy{z{{z{z{{{zz{zzy{z{{{{z{{{yz{z{zz{{{{{{||{{|{zzy{z{{{{{|{{z{{zzz{z{|{{y{{{{{{{{{z{z|z{{|{{|z{zzz{z{z{||{|{{{z{{||z|||{{{||{zz{{z{z{|{z||{{{zzzz{|z||{|{|{|{{{{{|{{z{|{||{{z{{{z{z{||||z||{{{{{{z{|||{{{||{|{{{{{z{{|{{{||{{{yz{{{{{|{|{{||{z{{zy{{z{|{{|||{|z{{{{{z{{|{z{|{z{zy{{z{}{z{{z|zzz{z{{z{{{zz{{{{{z{yz{z{{{{z{|{zz{zzzzz{z{{{|||{{z{yzzz{{{{{z{|{{{yzzzz{z{z{{{|zz{yzzzzzz{z|{|zzz{zzzzzzz|zz{z{{z{zyzyz{{{z{{{zzyzyzyzz{zy{{{z{zzzzyzzzzz{z{{{{zyzzzzyyz{zz{{{{yzz{yzzzy{{z{yzz{zzzzzzz{zzzz{{{zzzzzzzz{{z{z{{|{zzzyz{y{z{{z{|{{zz{zzzzz{{{{z{zzz{{yzzzz{z{|{|{{{zzzy{zz{zz{{|zz{zzzzzz{{{zz||y{y{zzzz{{|zzz{{{{|{z{z{{{|||z|{{{{z||{{z{{||||{||{{|zz{{|{z{|{|{{{{zzz{{||}{||||z{z{{{|{|{|{{{}{|z{{{{z{{|||{}|{|z{{{|{z{{{|{|{{|z{{|z{{{{|||{|{{|z{{{z|||{|}|{|{{z{{zz{|{||{{|||{zzyzzzz{||{z{{{{z{{yzz|||||{{zz{z{zzzyzz{z{|{{{zzzzz{z{{{{|{{||yz{{{zz|{{z}{|{{z|z{zz{{z||zz{{|zz{yzzy{z{{z|{|zzzzzzzzz{{z{|z{zzzzzyzzyz{zz{z{z{zyzzyz{{z{z{{{zzzyzyzzz{{zz{{z{zzzzyyzzz{{z{z{{{zyyzzy{{yzzzz{{{zzyzzzy{{zz{{{zzzzzzzzz{{{{|{{zz{yzzzyzzz{{|{{zz{zzz{y{{{{z{{{{z{yzzz{z{{{{{{zz{{z{z|z{{{{|{z}{zzz{{{z{|{{z{{{{{{zz{zz{{|{{|{{z{zzz{z{||{{z{|||zz{z{{z{{||z|{{{|{zz{{z{|{|||{{{z{z{yz{{{z||{|{{{|{{{{z|{|{{||{{zz{{{{{{{|{|||||z{{{{zz{||{{||{}|{{zz{{{{|||{|z{{{{|{{{{{{{{||{{{{{{{z{{{|{||{{z{z{|zzz|{|{|||{{|z{{z{zz|||z|{{z{{z{zzz|||||{{{{{{zzzzz{{{{{z{zz{yzzzzzzz{{z|{{zz{yyzyz{{zz{{{{{{zyzzzz{{{{z{{{{zzzzz{z{{{z|z{{{zzzzz{{{{{{z{{{{zzzzzzzz{{{z|{{{zyzzyzzzzzz{{{{zyzyzzzz{{z{zzzzzzzzyyzzz{{zzz{{z{{zzzyz{{{{zz{|zyzyzzzyz{zzy|{{{zzyzzzz{{z{{z{{zzzzzzzzzz{|{|{{{zzyzy{z{{z{{{z{zzzzzzzz{{{{zzz{zzzz{zz{{|{{z{{|{z{zyz{z{{|{||{{{z{{zzz{{{{z|{|{{yzz|zz{{|{|{|{||zzzz{{zz{||{{}|{|{zz{{{{|{{{|||zzz{{{{z{{{{|{|{{{{{{{z{z|{{|{|{{{{{z|z{{{|{||||||z{z|{{{{{}{{}{||{{zzz{{|{|{{|{|{{|{{zz{|{|{|{|||{{zz{z{{z{{{{{{z{{z{z{{{{|{{{|{zz{z{zz{|{|{{{{|{{{{{{{|}||}{{|z{{zzzz{z{{{z{{|{{z{zzyz{{{z{{{zzzzz{zz{zz{||{{{{z{zzzzyz{{{{|{{|zzzzzzz{{{zz{{{zy{zzzzzz{{z|||{{zz{{zzz|{{{z{{{zzzz|zz{zyz|z{{{zzzxzzz{{|z{z{|{zz{zzzz{{z{zz{{{{{{zzzzzzz{{z|{{zy{y{xyyz{{{{z{{zzzzyzz{|zxzy|{zz{zzzzyzzzz{{{{z{zzz{z{{{z|{|{zzz{zyzzzz{{z{{{{|z{zz{z{z|{z{|{|{|{{zzzzzz|{z{z|{|z{z{{{{{z|{|{{{{zz{{zzz||||{{{{zz{{{z{{{z|{|}||zz{zz{{{|{{}z{{||z{{z{zz{|{|{{{z|z{z{z{{||}||{}|{{{{{|zz{{{||||||||||{|z{|{|{||||{{|{zzz|||||{||{z{{{{{{{{{||||{|zz{|{{||||{|{{|z{{yz{{{{{{{{{|{|{{{zzzz{{{|{|{||zz{zz|z||{|}{|z{zzzzzz{{{z{z{{{z{zyzzzzz{zzz|{|{zyzz{zz{z|{zz{z{{{z{z{zz{{{zz{{{zzzzz{z{{{zz{z|{zz{z{{y{z{zz|{{{{{zzzyz{zz{z{z{{yz{z{zz{z{zz{zzzzzzyyz{{z|{{{{{{{zzzzzzzz{z{z{{zzz{zyyyzzzz{z{zzzzzzzzy{{zz{{y{{zzzzzzy{{z{z|{zzy{zzzzz{z{{{{{{{zzzzy{zy{{{{{{{{zzzz{{z{{{{{|{|zyz{yzz{{{|z{|{|zzzz{{{{{|{{z||{{yz{zzzz{{{{{{}z{z{z{{z{z|{{{{{{{z{zzzz{{|{|{|{{z{{{{{{{{{{||{|{z{z{{z{{|||||{|||z{{{{{y|||{{{}{{{|{z{|{{{|{{|||||z{{z{{|{}|||{{{zz{{{z{|{{{||{|{z{z{{{{{|{{{{|{{{{|{{z{|{{{}{|{zzzz{|z{{{{z{{{{{{{{{{{z{{{{{||{zz{{{zzz|||}}z{{{{{zzzz{z|{{{{{{{{{zzzzz{{{{{{{|z{z{zz{{{zz{{{{{zzz{{zz{{{{{z{{z{z{z{{{z{{{{{zz|{z{{{zzyz{{{z{|yz{zzzzzy{zz{z|zz{{z{zzzz{yzzz{{{zzyzzz{y{{zz{zz{z{zzzzyz{{z|{{{{yz{zyz{yz{{{z|{{zz{z{zyzzzz{z{{{{{zzzyzzz{{{{{zzyyzz{zzz{{{zzz{{{zzz{{{{{{{{zz{|zz|z{zzz{{{{{z{{z{{{{z{z{z|zz{{{{z{z{zzz{z{|{||{{z{{z{{zz{{|{{{{|z{{zz{{{{{{{{{||{y{y{z{|{{|||||{{{{{{{{|zz{|{|}{{{{{zz{{|{|{|{{{z{|{zz{~|z{|{||{{{{}{{{zz{|{|||{{{{{{{{{|{{|{{||{|{{{z{|{|{|{{|{{zz{zz|{{|{{{|||{|z|zzy|{{|{|||z{{z{{{z{|{{{{{|{{z{{z{{{|||||{|{{{z{{{|{}}~~{|{zz{zzz{zy{{|{|{{{zzzzzyz{z|z{{||zz{{yzzy{zzz{{z{{z{z{{zz{{{{zy{||zz{zzzyz|{zzzz|zzz{zzzzz{{{{{|{{z{zzyy{{{zzzz{zz{zyyzyz{{z{{|{zyzz{zzzzzz{z{|{{zzzyz{z{zz{zz{z|zz{zzzyzz{{{z{{z{zzz{yyz{{{z|{zyz{zy{zz{zzz{z|z{{y{{z{{{zz{{{{{{{zz{zyz{{{z{{|{{zzzzzyzz{{z|z{{|zz{{zz{z{{{|zz{{{zz{zz{zzz{|{|zzz{zzzzz{{{|{{{{z{{z{{{z{{{|{{{{{{z{{{{z{z{{{|||{z{{zz{{z|{{{{{{|{{{|zzzz||{z|{|{|z{{|z{{|||{|{||{z{||||{z|{|||||{|{z{|{{{||||{{{{{z{{{zz|{{|{{|{{y{z{{{z|{{{{|{||{z|{{{{z{{{|{|{{zzz|zz{{{{|||||{z{{{zz{z{z}{{|{zz|{{{{{{{|~{|{yzzz{zzzz{{{|{{{{zzz{zyzz{|{{{{|z{zzzzzz{{{z{z{{{{{zz{{z{{{{{z{{zz{zz{zzzzzzz{z{zz{zzz{yz{{{z{z{{zzzzzzz{z{zzz{yz{{yzzyzzz{{zyz{zzzzzy{yyz{{{{{{zzzzzyyzz{{{|{|{zz{zzzzy{{{{z{z|zzyyzzzzz{zzz|{{zzyz{yzzzzzzz{z{zyz{yzzzy{z{z{{{zyzzzzzzz{z{{z{{zzz{zzz{z{{{{{{{{zzzz{z{|{|zz|{{z{{{{zzzz{{{z||{{zzyz{zz|||zz{}z{{zzzzzy{|{{{{{{{{{z{{z{{|{||||z|{{{z{{{z|z{{}{|{{{z{{zz|{{{{{|{{{z{{{zz|{{{|{{{zz{zz||z|{{{{{|{|{|{z{{y|||||{|{{zz{{z{{|{{|{||z{{{{{{{|{{{{{{|{z{{{{z{{z|{|{|||{z{z{{zz{{z{{{{{{{{zzz{{{|{|z{{{{{z{{{z|||}|}{|zz{zz{zzz{{{{z{z{zzzzzzy{{z{{{|||z{zzzyzy|{{{{{{|z{z{zyzz{|{zzz{{{zzzzzzz{{{{{{{{z{{zzzzyz{zz{|{{{zyyzzz{{{zzz{{{zzzyzzzzzzzz{z{{zzzyyy{yz{zz{z{zzzzzzzzzzz{z{z{|zzzzzyzzzz{{zz{{zzyyzzyxzzy{z{{{zyyyzzyzyz|zz{{{zzzy{zzzy{{zz{{zzzzz{zz{{{z{{{z{zz{{zzzyzz{{{{{{z{{{zzyz{{{|{{|z{zzzz{{z{|{{{|{{{z{{{{zz{{{{{{|{zz{zzzzz{{z{{{|zz{zzzz{{{{{{||{z{{{{{z{{|{{||}{{{z{z{zzz{{{{{|{{{{z|{{zz{{{{{{|{{z{|z{||{|{|{|{|{z{{z|{z{}|{{||{{{z|zzz{{{{{{||{{zz{z{z{z{||z{||{{z{{|z{{{{{{{{|zzzzzz|{z{z{{{|{{{zzz{|{{{{{{{{z{z{zzz{{{|}|}{{{z{zy{zzz{{|{z{{|z{{zzyzz{{|{{|{zz{z{zzzz{{zzz{|{{{z{zzzz{z{{{z{{{yzzz{zz{zz{z{{|z{{y{{yz{{{{{{{z{zzzzzzz{{{|z{|{{zzzzzzzz{{{z{{|zzyzzzzzz{{{{{{zzyzyyzyz{{|zz|zz{zzyzyzzzzz{|{{{zz{{zz{zyz{{zzzzz{yz{y{zz{z{{{{{zzyzzzzz{z{z|{{z{yz{{yx{{{{z{|{{{zzzzzyy|{zy{z|{z{zzz{{{{{|{z{{{{z{{{zz{z|{{||{|z{{{zzyz{||{{{{z{zzz{{zz{|z|{|{{{{{{{{zz{{||{{|{zz{{|{{|z{{||}|}{{{{{|y{{{{{||{|zzz{{||{|||{{|||{z{y{z||||{|{||}{{{|z{||{}{||}||{z{z{{{{{{|{|z{{{{{{{|zz{{{{|||{{{{{|z{|{|{|||{|{z{z{{z{|{{{{{{||||zzz{{z|{|{{|z{{{z{{{|{|}}|{{{zzyz{zzzz{{z{z{|{zzzzz{zz{z{{{||zz{zzzzz{{{zzz||{y|zzyzzz{{{z|z{zzzzzz{z{{z{{{{{zzzzzz|zz{{z{{{z{zzz{zzzzz{zz|zzzz{z{zzz{{zz{|{{z{{zzzzz{{zzz{|z{zzzzzyz{{zzz{{z{{{zzzz{z{z{{{{{zz{zyzz{z{zzzzz{yzzyz{zzy{{{{{{zzz{yyzzyz{{{{z{{z{zz|z{z{z}|{{|zzzz{zyzy{{z{{{{{{z{zzz{z|{|{{{{{{{{{{{|{{{|{{{||zz{zz{{z{{||zz|{{{{z{{z{{{{{{{{{|{zz{{z{{{{||{{{{{{{zz|z|zz|{||||{{{{{z{{|z{|{|{|z{{{|{{||||{||{{{{{zz{{zz|{{||{{{||z{{{{|||{|{||{|{{{|{|{||{||{{zz{{z{z|{{{{{{||{z{{zz{|{{|{|{|{{{{z{z|{|z{{{{{{{zz{zz{z{|{{{{{{zz{{{{z|{|||zz{{{{zz{{z{{zz{{{{zzyz{yzy{{{z|{{|{{{yz{zz{{{{{|||z{z{z{{zz{{|{{z{zzzyyzzz{{|{{{{|zyzy{zzzz{|zz{{{zz{zzzzz{{{{zz|{{zzz{zzz{{zzz{{{yyzzyyzzz{z{z{|{zy{zyzzz{z{{{z{|zzzzyyzzz{{|z|{{{{z{yzzyy{zzz{{zy{yyzyzzz{z{zzzzzzzz{{zz{y{z|{{{{zzzyyz{z{{{{{{{zz{zzz{{{{zy||{zzzzzzzz{{{{z{{|{{{zzzzyz{z{{|{z{zz{zzzzzz||{{{{{{{{{{zzz|{|{{||{{z{{y{zz{|||{|||zz{{z{{{{}{{{|{{|zz{{{zz{{||{{||zz{z{{z{{||{||||{{{{{{|{z{{|{{||{|{z{{{{{|||||||{{{{{z{z{|{{{||||zzz|{{{{{{{|{||{{z|{{yz|{z|{{|||{{zz{zz{{{{{|||{zz{{z{zz}{{{{|{{zzz{z{{{{|{|z{zzzz{zzzyz{{z{z{{zzzzzzyzzz{{|{|{zzzz{{{zz{{zz{{{zz|z|zzyy{|z{zz{z{zzyz{y{{{{{{{|{zyzzzzyz|zzz{{z{yzzzzzz{|{z{|{{zzzz{zzzz|{{zzz{{{zz{y{zz{zz{{{{zzz{yzy{z{{{{zz{zzzzzyzzzz{{{{zz{zyzzzyzzzzzzz{zzy{zzzzz{z{z{|{|{{y{z{yzz{zzz{{{zzzzz{yzzz{z{z{|{z{y{y{zzz{{z{{|zz{{yzzzzz{|{|{{zz{{{zzz{{{z{{{|{z{z{zyz{{{{{{|z{{zz{{{{{{{{||{{z{{{{z{zzz{|{{}{z{{|zz{{|{z|{{{{{y{{z{zz{|||{{|{{zz|{y{zz|{{{|}}{{zz{{{z||{{|||{zz|z{{z{{|{|||{|{z|{{{z{|{{|||{|{{zzy{{{{|{{|{||{{z{zz{{|{{z{|{{{{{zz{{z{|{{{z|{{zz{{z|{z{{|{{{{{z{yzy{z||||{|{zzzz{z{zz|z{|z|{{zzyzzzzyyz{zz{{{{zzz{zyy{z{{{|{z{zzz{yzz{z{{{z{z{{zz{z{zzzz{z{|{zz{yzzzzz{{{z{{{{zzzzzzzz{{{|{zzzzzzyzzz{{|zzz{{zzzzzzzy{{{zzz{{zyyzy{zyz{{{zz{{zzz{zyzzy{zzzz{{zzzyyz{yyz{{zzyzzzxzyzzzyz{{{{zzzzyzzzz{zzz{z{{z{{zzzzz{{{{{{{z|zz{{{zzy{z{z{{{{zzz{zzz{{{z{{|{{yy{{{z{zz{|{z||{{zz{z{z{{|{|z{{|{{{zz{zz{z{{zz|z|zzyzzzz|{{|{|||zzzz{{{{{|{||{|{{{z{{{zz{||||{|{{z|{{{{z||z{|{||{z{zz{{z{{{{|||{{z|{{z{{||{|{||||{|{{zy{z{||{||{{{|{{{z{{{z{{{{}{{y{{{{{{||{{|{|{z{zzzz{zz{{z|}|{zz{zz{z{|{||{{{z{{y|{{z{z{{{zz{z{yzzzzzz{{z{z{|{zzzzzzyz{{z{}{||zzzyzz{{zzy{{|{{zz{{yz{{zz{{{{{zzzz{z{y{z{{{z|{zz{zzzzzz{z{{{{{{z{{{zyzz{zzz{z{z{zzzzzyzz{z{{{zzzyyzzzz{{{{z{{z{zzyzyyz{z{z{{{{{{zzzzzzz{{{{{|{{zzyzyyzy{zz{{{{zzzz{y{y{{z{z{{{z{zy{z{yz{{{{zz{{{zz{zzz{{{{|{||{zzz{y{{{{|{z|{||{{{zyz{z{{|{|{|zz{{zz{z{{z|{{|{{{zzz{z{{|{{|{z{{{z{zzz{{|{z{{{{z{{z{{{{{||{|{{{y{{{{{{z{{{{{||{{z{{{zz{{||||{{{{{zz|{zz{{||||||z|z{{{{|z{{||{{|{z{{{{|{||{|z|||{{|{z|{{{||{{||{|z{z{{{{||{||}{|{{|z{{zz{{{|||{|{|{zzz{zz|{z{{{||{zzzy{z{{{{{{|{{{z{{z{{{||{{{{{zy{zz{zz{{{{|z{|zzzzzzzz{{z|{{{|z{y{z{{z{z{z{z{{{zzzzz{zz{{{{{|{{zzz{zzz{z|{{|{{zz{zz{zyz{zzz{{{{{{zzzzy{{{{z{zz{yzzzz{zzzzzzz{|{zyzzyyyzz|zy{{zzzzzzzy{{{{{|z|zzzz{zzz{z{{{{{{{z{z{zzzzzz{{zz{{zzyz{zzzy{zz{z||zyzzzzyy{z{{{z||z{zzzzz{{{{{{z{{{{{zzzz{{z{|{{{{zzzzz{zz{z{zz{|{zzz{zyzzzzz{z|{{{{|zzzzz{z|z{{|{zz{{z{zz{{{{z{{{{{|{{z{z{{||{|{}z|{{z{{{|z{{{||||{{{{|zz{||{|{{|{zzz|z{{{{{{{{{||{{zz{{{{}{{|{{|{z{{{z{{{||{|{||{{{{{{{z||{{|{|{|{{{{z{{|{{{|{|{{|{{{{z{{{{}{{||{z{z{{{{{|z{|{|||z{{zz{z{z{{{{{{{{|z{zz{zz|}|||{{z{{zz{{{{|{{z|{{{{y{zzz{{{{{|{{|{zzz|{y{{{{|z|{{{zz{{{zz{{|z{{{{{{zz{{z{{||z||{{{{zz{{z{||zz{{{z{z{{{zz{z{{{{{{z{{{z{zz{{z{z{{{z{{z{zzz{{{{z{{{|{zzzz{{{{|{{{|{z{zzz{zz{{{{{{{{zzz{{zzzz{z{{|{|yyzy{zy{{zzz{{{z{zzzz{zz{{{{{{{{{{zz{z{z{{{{|{|{zzz{z{{z{{{{{||{{{{zzz{{|{|{{z|||z{y{y{z{|{{||{{{z{{{zzz{||{{|||{zz||z{{{{{z|{{{|y|{{{|z|{||||{{{{|{{{{|||{||||}{{z|{{z{|{|}||{||z{{||{{{{|||}|}{z{{z|||{}|||||||{{{z|{{{|{||||||z{{{{{{}|{|{||{zz{|{yz{{|{{|}|||{{}{{{|||}|||||{|{{{{{{z||||||||{{{{{{{z|{{|{|{|{{{{z{{{|||{|{{|{zy|{{zz{|{{{|{{{zz{{zzz{{{|{||{zzzz{z{{{{{||{|{yzz{{zz{{||{{||{{|z{z{z{{{{|{{{{{|zz{{{{|{{{||{{{{{zzyzz{{z|{{{{zzzz{zz{|{{{|{|zz{{{zzz{z{{{{{{{{z{zzzzz||z{{{{{{{zzzzyz{{|{{{}{z{{{zzzz{zzz||{{{{{{yz{{{{zz|{{zz{{z{zy{{{{{{{|{{z{{zz{|{zz{|{|{{z{zz{{{||||{||zz{zz{{{|{|{|||{z{|{zz{{{|||||z|{||{z{zz{|{|{{|{{z{{z{z{|{|{{||{|{z{z{{{|{||{|||{||||z{{||{|||||{{{z{z{{||{|}|{}}{{|{{|{|{||{}}|{{{|||{{||{{||}||{|{{z{|{|{}}|{||{||{{||||{||}|}|{|{{{{{||{{{|||{}{|{{z{||{||}|}{{|z{z{{|}{{||}||{{|{z{|{|||{|||{{|zzz{z||||{{}{{{zzzz{z{{|{y|||{|{{{zzz|{|{||{|{{{{{z{{||}||||||z{{{|z{||||z{|}z{{zz|z{{{|{|{|||{{zz{z{{|{{{{|{{{y{|z{{{{|{{||{{{{{{{{{{{||z|{{{z{{{z{{z{{{|||{z{{{z|zz{||||{{|{{{{{zz{{|{{|{|y{{{z{z{{{{{{{||{{{{z{{{z{|{||{{{{{{{{zz{|{{{|||||{{{{{{{{||{}||{{z{}{{|{|{|{|{||{{{{{z{{{{}{||{||{{{z{||{{|{|||{{{{|{{{zz}|||||{{|{{z{z|{{|||||{||{z|||{|||}}|||{|{z{{|||||||||||{||{|{{||}|}|}|{{{{|{|||{|}}}||||{{||||{{|{}}|}|{||{{{|{|||||}|||||{|||{}}|||||{|{||{||{}||}||}||z{||{|{|||{}}|{||{{||{|||{|||}{{{{{|{|{||||||{}{{{{{{{|{}||{||zz{{z{{{{|{{|{{||zzz{z|z{{|{|{|||y{z{{{{|{z{z|{|{z{zzz{z{{||{{|{{{{zz{{z{|{{{{{|{{{z|z{zz{|{{z{{{{{{{{{z{|||{{z|{z{{{{z{{|{{{{{|z{z{zzzz{{z{z{{|{{{yyzz{z{|{{{{{z{{zzzz{{|{|zz||{{{{{{{zzz{z{{{|{{{zz{yzz}{{{{{{{zz{|zzz{{{{{{{||{{zzz{{{|{||||{z{{{{{{{{{|{|{{|{z||{z{{||{{{{|{{||z{z{{|||{||||{|z{{z{{{||{|||{{{{z{{zz{{|{{{||{|z{z{{{||{||{|{z{z{{{{{}{{{|||||{z{z|{{{|||}||{|{|{|{z{||||||}||{|{{||{||||||||}|}||||{{|}||}}}}{|{{{z{{||||}}|{{{{|z{{{|||||{}|{{z{{{{|||||}||||{{{|z{{||||}|{{{{{{|{z{||}||{|||{z{{z{{}|}{{{{{{z{{{{z{{|{{{||{{|zzz{{{{|{||{{{z{{{{z{||{{{{{{{{{{zzz{{{|{zz|||z{{zz{y{{{||{{|||zz{{{{{|{|{|{{{{|{|{zy{{{{{|{{{{{z{{{z{||{{{||z{zzz{z{{{{z{{||zz{{zzy{{{{z||{{z{z{{{{z{{{{{{|{{z{zzzzz{{{{{{{{{zz{{{{{z{{{{{|{{z{zz{{{||z{z}|{{z{{z{z{z|{{{{{|{z{z{{{{|{{|||}{z{{{{zz{{z{|{||{{{{|z{{z{|||{{{|{{{{{z{z{||{{|{}{{{{{{{{{{{|{|{||{|{|{|{{||{}|}||||z{{|{|{||||||{|{|{{zz|||||||||{||{{{{||||}|}}|{{{{{{|{|}||}|||{}{{}{{|}}|||~}|z{{{|z{|{|}|||{||{{|{{{{|||}|||||{{||{{|||{|{|||{z{{{{{|{{}{||{|{z|{{}z||||||{{{{{{{{z{{||{}|{||{zz{{{zz|z{{{{{{|{{z{{{{{{|{|{|{|zz{{{z||{|{{|||z{{zzzz{||{{|{|{{{zzz{z{{|{{{{|{{z{{{{z{{{|{{{{{z{{{z{z{{{{z{{{z{{zzzzz{{{{z{{|zzzz{zzz{{{{{|{z{{z{z{yz{{{|z|{|{{{z{z{zz|{{||{|{y{{{z{{z{{z{{{{|zz{z{zz{{z{z{{{{z{z{{zz{{||{||{zzzzz{z{||{|{{{}{{z{{z{z|{{{||||{{|{|zz{{{|{{||}{|||{z{{{||}|||{zz{{{|{z|||{|{}{||{||{{z|||{{|{{{||z{{{|{||||}{|{|{{{{|{{|||}{|||{{|{{{z||||||}|}{|{{|{{|||{||}}|{}|{{|||{{|}|}|}{{|z|{|||{{|||||{|||||{||{}|||{||{|||{||||{|}|{|{{z{{||||{|{|{|{||{|{{|{|{|{||{||{{|{{{||{{||{||{{{|{{z{||{||{{zz{|{{{{}|{{{{||{z{zzzzz{{|||{||{{|z|{{z{{{{|||||z{zzz{z{z||{{{|z{z{{{zzz{|{z{{|{{z{{z{{{{{{{|{|{zz{{zzz{{{|{z{{{zz{z{{{{{{z{|{|zzzzzzz{|z{z{||{{{|{z{zz{{{{{|z{z{{{y{zz{|{|{{z|{{zz{zzzz|{{|{{{{{y{zzz{z{{|||{|{zz{{{zzz{|{{|{|{{z{{y{{||||{{||{{|{{z{{|{{{||||{z{{z{{{|{{|||}|{{{zz{{{{||||{{|{{{z{{|z{||{{|{{|z{{z{{{{||{{||{|{{|{|{z{{||}||}{|{|{{{{||{|{}|||{{|{z||{|||}|}|{{{|{|{|||{|||}~{||{||{||}}}|||}||{{{|{{|||||}{|||||{{||||{|||}{||{{{||{|{|{|{|}|{{||{z|}|{||}|}|||{|{|{|||z||||{{|z{{{{{}||{|{||||z|{{{{z{|}|{|z{{{z{zz{{{z|{|{{zzz{zz{{{|{||||z{z{z{{{{{||{|{|zz{z{zzz{{{{zz{|{{{{{{{z{{{|{{{|{{zzz{{y{{z|{|{{z{{{zzz{{||z{|{{{z{{{|z{z{z|z{z|zzzz|zzzz{zz{{|{zzzzzzz{{{{{|z{|z{{{y{zz{zy{{{|{zz{z{yz{z{zz{{z|zy{z{zz{z||{||||{z{zz{zz{||{{||{|z{z{zzzz|{{z{{|{z|{z{{z{{|{||{{{{{{z{{{{{{{||{|{{{{{{{{{|{|{|{|{z{{{z{{{|{|z{{{|{{{{{zz|{{z{{||zz|{{{|{{||||}||{{||{{z{|||}{}}|{{z{{{{z|{{||{||{{{|{{{{|||||||}{||{z{||{{|{}{||||{|{{{{|||}|}||{{{|z{z||||||||||{{|||{{{|{|||}}||{{{|{{{|{|}|||{{z{z|z{|{|{z|}|z{{{{z{{{||{{||||{{{{z{{||||||{{{z{z{{zzzz{z|{||z|z{zz{z{{||{||||{{z{{{{{z{{{{|{{z{z{zz{{|{{|{{z{z{{zzzz|z{{{{{{{{{{{{{z{|}{{||{z{{zzzzzz{{{{{{{{{{zzz{{{{{{{{{{z{zzzz{zz{{{{|{{{{{{{{y{z{{z|{|{zzz|{zz|z{y|{{{|{zzzyzzzz|z{z{{{{{z{z{z{{{{z|z{{z{{zz|zz{{|z{|||{z{zyzzz||{z{{|{{{{|zz{z{{|{{{|{{{zz{zy{{||{}{{{{{{{zzz{{|||{|{{{z{{{z{z{}{|{{|z{zz{|zzz{||{{{|}|z{{{{z{{||}{|||z{{{z{{{|{|{|{}|{|{{{{{z{|||{{}||{{z{{{{{||{||}||{z{z{{{{|{||}}}{{{|{zz{|}|||{||{{|||{{{|||||||{{|{|z{{{||{|||||{{{{|z|{{z}{|||||{{{{z{{||{{|{}{{zz{zzzz||{{{{|{{{{z||{{|{{}{{|}{zz{{{y{{{|{{|{{z{{{{{{z||{|{{z}|{zz{{zz{{{{{{{|{zz{{{z{{|{{z{{|||{{{{zz{y|{{{{{{zz{{{zyz{{|{{|||z|z|{z{{{|z{}|z{{zzz{zz{{z{{{|{zz{zzz{{{{{z{{{{zz{{zz{{z{|z{|{{z{{zzzzzz{{|zz{{zzzzzzzz{{{{z{|{{|{z{zzz{{z{z||{zz{z{{{z{{{{{{|{|{z{{z{z{||z{|{||z{{{{{||{{{{}|{{{{z{z{{{||{{{|{{{{{{z||z{|||{{{{zz{{{{{{||{{|||{{{{{{{{{||{{|{||{{{|z{{z|{|{||{{{{z{{|{{||{|||}|{|{{{|{{|||}||||{{{{{{{{|}|||}||{{{{{|{{}|||{|}|{|||{|{{}||||||{{||z{{{{{{|{|}||{|{|{{{{|{|}{||}|{{|{|{{|{|}{||{{{||{{{|{|{{{||{|{{zz{{{|||{||||{{z{z{{{|{{{{||z{zz{zzz{|||{{{{z{z{{{zz{{{{{||z{{z{z{zz{{{{{||{z{{z{{z{{{||{{{z{z{zz{{z{{||{|||{z{{{y|z{{{{{{{{{z{||zzz{|z{{|{z{zzzyzyz{{zz{{{{{{zz{yzzz{z{{{{{{zzzzzyz{{|{|{{{z{z{z{{{z{{{z{{{y{{|{z{zz{{z{{{{{z{z{{zzz{{{{{{{zz{{{zz|{{{{|{{{{{zz{z{{{{{|{{|}z{|{z{{{z|z|{{{|{{|{{{{{{{{{{z|{z|{{{z{z{}{||{{{{zz{{{zzz{|||||{{{||{z|{||{{{|}||{|z{{{{|{|||{||{{z||||{{}{|{{|||{{||{{{{|}|}{|{|{z{|{z||{|{||||{{{{z{{{z{||{||{|||{{{{{{|||{||{|{|{{{{||{|}||{|{z{{{{|{{{z{||{|||||{{{|{}{}|}{|{|{{{{{{{||||||{{|{{{{{z||{|{||{{|{{z{{z{|{{|{{zz{z{z{{z||{{|{{{{{zzz{{{{{|z||||{|{zzzz{{{{{{|{|zz{z{{{z{|||{|{{{{{z{zz{yz|||{{{{zz{z{{|z{{{{{|{|{{zzzz{{z|{{}|{zzz{z{{z}{|{z{{{zzzyz{zy{{{z{{{{{zzz{{z|{{{|{{||z{{|zzz{{{|||{||{zz{zz{zy{{{{{{|zzzz{yzzy{{{z{{|zzz{zzz{|{z|||||{z{z{zz{{{{|{||{{{{|{{|{z||z{{|{{{|{{{{{|{|{{{|{|{{{|{|{{|{{{||z{z{zz{zz||{|{{}{z{{{|{z{||{||{z|}{{{{|{z||||{}{{{{zz|z|||}|}||}}|{{{{{{{|||}|||||{{{|{|{{||{{{}{||{{z{|{z}{|||}|{||{{z|{{{{}}|}||||||{zz|||}|||||{||{{{{{||||{|}{|{||{{|}{{|||{|{||{{{}|{{{{|{{||{{{{{{z{|||||{|{{{{{{z{||||||{{{{{|{z{zz|{z|{{{|z{{zz{{|{|{{}{|{{z{z{{z{{{{{{}|{z{{zzyz{z{{z|||||{z{{{z|{|z{z||{{{{zz{z{|||{||z{{{z{{zz{{{{{|{{z{{z{{z{z{{{{{{|z{z{{yz{{z|||{{{{z{zz{{{z||z{||{{|z{{{{zz{{||{}{{{z{zz{zz{|{{{{{zz{{{z{{z{z{{||{{{{zz|zz{{{{z{||{|zz{{z{{}|{||{|{{{zz{{z{|z{{||{{{{{||{{{{{{||||{{{{{{{{|{||||{||{{{zzz{|{|{|{|{{|{{|z{||z|{}{{}|zz|{{{|{{}|||{{{|{{{{|}||}|}|||{{{{z{{{||||||}{|{{|||{|||}}|||}|{||{||{|{|}|}|}}{{{{|{{|||||}|||{{|{|{|||}}|}|}|{{|{{|{|z{{||}|{{|z}{||}}|||{|||{|{{{{z{{|}|||||{||{z{{{|{|||||{{||{{{y||}{|{z{z{{zzzz{{||{z{|||{{{{{z{z|||{|{}|z{|z{zz|{{|{{||{z{zzzz{{{{|{{|{{{{z{zzz{{||{z||{z{{{y{z{{||{||{{{{{{{{z{{{zz||{{{|{z{{z{{|{z|{|z{zy{z{z{{{{{{{{{zzz{yzz{{{{|z|zzz{{yzzzz|{|{{{{{zz{{zzzz{{zz{{{{z{zzzzz{{z||{||zzz{zzzz{z{|{|||{{zzz{{{{|{|{{{|{{|{z{{{z{|||{{{{{{{z{{z{|{{||}{{{{z{{z{{{||{}{{{{|z{yzz{{{||||{{|{{{{z{{||{z|||z{{{{zzz|||}}|{|{|{z{z{{|{|||||}z||{{{z|{}|{||||{||{{{{||}}||||}{|{|||{||||||}|||z{{||{{{}{}|}||{z||{{z|||||||}|{z|||{{{{{}{|||||{z{{|{{||{|}|{|{{|{{{{{{}{|{}||{{{z{z{{||{|{|{{|{{{{{{z|{|}}|{{{{z{zz{y|{{{{{|{{{zz{zz{{|{{|{z{z{z{zz{z{{{|||{|{z{z{z{{zz{{{z{|{{z{zzz{{|{|{|{{|{zz{{{zz{{{{{{|{zz{zzzz{{{z{{{{{yz{z{z{{{z{z{{{z{yz{z{z{{{z{{|{zzz{zzyz{{zz||{z{{{zy{{{zz{{{z|{{z{z{yzy{|{{z{z{{{z{{zzz{{{z{||{{{{zz{{z{|{|zz{{z{{z{zzz{{|{{||{{{{{z{{z|{z{{|{|zz{z{{z{{{|{{{|{{{{{{z{{z|{{{||{{y{|z{{{z{}z|{{|{z|zzz{||{{{||{{{{{z{{{{{|{|{||{{z{{{{|{}{||{{|}|{{{zz{{|{|}{{{{|z|{{{{|{}{{||z|{{{|{{|{{{||}|||}z||{{z{|}}||||}{{{|{{||{z{|z{{}{{{{|{{|{|{{|||{{{{{|{z|||||{{{|{{{z{{{{|{{|{{|||{z{z{zz{||}{|{|{z|z{{{z{{|{||{{{{z{zz{z{{||||||{{yzzz{zz{{||||{{|{z{{z{{{{{||{{|z{z{zzz{{||z{|{{{zzz{{z{|{|{{{|zz{zz{zz{{{{{{{{{{z{{z{zz{{z|{{{zz{{zz{{{{{{{|{zzzzz{zzz{{{{{|{{{{{{zz{{{{{|{|{{{{{zzzz{{{|{{{{|{zz{zz{z{{{zz{|{|{z{z{zy{z{{{|{{z{yzzzyz{{{z{{|{{z{{y{{{{{|}{{{{{{{{z{{{|{{{{|{|{{z{z{{z{|{|||{|{z{{{z{{{||{|||||z{{{zz{{{|{{||{{{z{zz{{{|{{{||{{{{{|zz{|{{{|||{z{z{|{|{{|||||||{{{|{z{{||{{{|}|}{z{|z|||||{||||{{{z{|||{|||}|}||{{{||z{{}{{||}||z||{{{{{|||{}||||||{{{{{|{{||}|||z||{{{||{|{{||{{|{{{{z{{{||{||}{{|z{{z{||{{||{{z{z{{{{|{|{|{{|{{yz{zz{{{{{zz|{{{{z{zz{{|z{|||}{zzzz{zzz|{{|{||{{{zz{z|z|||z{{}{{{{z{zz|z{z{|{|{z{y{{{{||{z{{{|{{{{z{{{|z||{{{{{zzzz{z{{|{{{{||{yz{{{zz{}{{{z||z{zzyzz{z{{y{{|{{{{{z{yzz{{{{{||{zz{{{zzz{zz{{z{{{{z{zzz|{{{{{|{zz{{{{z{{{|{|||{{{{y{z{{{{{{{{{}{{|{{z{{{z{{||{|{{{{{{{z|~z{{||{|{{||z{{z|{{||{{{{{{{{z{{||{{||||z{{{z{{|||{{||{{{z{|{{{}{{}||||{|||{{|{{{{|z{|||{{{|{z||||{|{{{{{z|||{||{||{|}}{{{{z||{||{|||}}|||{{{z{||||||||}{{{{z{|{|||{|}{{{{||{{|{{{||}|}||z|{{{{||{{}}||{{{{|{z{||{}|}||{||{{{{z||{{{|{{{{{{{{zzz||{{{|z{{y{zz{z{{{z{{|{{zzzzyzz{{{|{{||zz|{{{z{zz{|{||{|{zzzzzz|{{{{z||{{z{zzzz{{{|{|{{|z{{z{xyz{{{{||{{{|{{zz{{{{{{|{{{zz{{{y{{{{z{{{{zzzyy{yz{{{{{{|{zyzyz{zz{z{{z{{{z{z{zzzzz{{{{{|{{z{zzzzz{zzz{{||zzz{z{{zz{{{z{{|zz{z{z{{{{{{{{|{{{{z{z{{{{|z{{||{{{{{z{z{z{||{{|{||{zz{{{|{{{{||{{{{|z{zz{|{{{|{{|z{{zzz||||{z|{|zz{{{|{|{{{{{||{{{{{z{{||||||}}{{|{|{{{|||}||||{z{{{{{{|||{||{|}{{z{||{|||{}{||{z{{{|z{||{{|||||{||{{{|{}{{|{|||{{||{|{|||||{{{|{{{z{{{{|||{{||{{|{|{{|{||{|||}|z{z{zz{{{||||||{{|{{z{{z|{|{|||{{{{{z{{{{||{{{z{zzz{z{z{{|||{{{{z{z{zz{{{|{{{|||{{{{|yz||{{|{||{z{|{{zyz{{{{{||{{zz{zzz{{{{||z{zz{zzz{yz{}z{{|z{z{z{{zz{{{{{{z{{z|z{{{{zzz{{|||yzz{zz{{{z{zz{{{{z{{zzzzzz{z{{{{z{{yzzzz{{{|{{{|zy{zzz{zzz|z{{{{y{{zz{zz{z{{{||{zzzzz{{z{{|{{{{{{z{zzz{{z|z|z{|{{{{{{z{z{{|{|||||{{zz{z{|||{||{|{{z{{z{{{{||{|||{z{{{{zz{{{|{||{||{z{{{{|}{{{||{{{{z|z{{|{|||{}{{|{{{{{{}}|{||}{{{{{zzzz{||{|{|||z{{{z{{|{{|||}|{z{{{}}|{|||}|{||{{{{|{|{{{|}|{||{{{{|{{||{|||{{}{{{{{{|{{|{{{||{{{{{{||||||||||{{|{{{{z{||||{|{||||{{z{{||{{||{{z{z{{{{{||||{z{{{{{{{{{{{z{z{|{z{zzzyzz{{{{|{}|z{zz{{{{{{|{{{|z{zzy{z{z{{||z{{{{z{{zzzz{|{z|{|{{z{{{zzz{z{zz{{{yz{zzzzz|{{z{{{{zzyzzzz{zz||{{{}{{{zzzzz{{{{{|{{zzz{{{yz{{{{{{{{zzzzzzzzz{z|{{|{z{{{zz{zz{{{z{z{z{zzz{zyz{{|z{{|z{z{{{{z{{{{{{|{{{{{{z{{{{z{{{|{{{{zzz|z|{{{{{{{zzz{{{{z{{{{|{|{{z{{z{zzz{{|{{{{{z{zz{{{{||{{{|||z{zz{{{|{|{|{{{|{|z|{{y{{||{{|{z{|{z|{|||||{|||{{|{|{z{|||||{|{{zz{{{{{{}{z}|}|{z{{|{||{||{{||{{{{{{{{{{||||{{||{||{{{{|}|||{||{z|{{{{{|z{|||}||{|{{{||{||{|||}{{{z{{z{z||{|{||}{z{{{{{{|z||||{zzzz{z{{{{||{{{{{z{z{zzzzy|||||||{{{{z{{|{{{{|||{{{{{{{{|{{{{{{{{{{{{|zz|{|{|{{{{{{zzz{z|{{{{{||{{{{zz{{{{{|{{{{{y{{zz{z{{{{{|{{{zzz{zzz{{{{{{{{zzz{{{{z{z|z{|{{{{zzzzzyz{zz||{{{z{{z{yzz{z|z{z{|{zyz{zyz|zz{z{{{{z{zzzy{{{z{{{{{z{z{{{z||{z{{||{{z{{z{y{|||z{|{{z{{{{{{{|{{{|||{{{z{{z{z{{|{||||{z{{z{z{{{||}z|{z{{z{{z{{||{||{{z|{{{zz{{{|{||{{{{|{z{{{|||{}||{{|{|{|{|{||{{}|{{{{zz{{{|||{|}{{|{zz{{||||{||||{{{{||{{|||||||{|{||{|}{{}|{|||}|{{{{{{{||{{|||||{{|{{{|{{{|||}{|||{|{|{||||{|{}|{{zzz{{|{{|{||||{{{z{{{{||||{||{z{{z{{z{{}|{z{{zyzy{z{z{{{{{|{{{|{{{z{z{z{{{{{|{{z{{z{{z{|{||||{|z{{z{z{{{{{}||z{zzzz{y{{|{{|{}{{z{zzzz{|{{|}{|{{{{z{{zz{{{{zz{{yzyzz{z|z{|z{{|{{{zzzzz{zz|z}}{{z{{{{{{z{{{{{z{|{{zzz{{{{{{{|||zzzz{{zz{{{{|{|{zz{zz{{{{{z{{|||{{zz{{zz{{{{{{{{{{{zz{yz{{{|{{|{{{zz{{z{{{{{|}|{{{{z{{z{|z{{{|||{|z{|z{z{|||{|{z{{{{z{zz{{}{{|{|{z||||{|{||{{|{{|{{{{{zz{}|{||}|{{|{|{{{{|||||}|{{{{{{z{{|||{|{||{{{{z|{|}{{|||}{||{{{{{||{{|||}|z|{{{|{{||}{{{||{{|||{{|{|||{|||{|{|z{||{|{}|}|}{{}{{{z{|{|{||}{{zz{z{{{|{|{|}{{{{{||{{||{|{||{{{{{{|{{}{|||{{|{{zz{y{{z|{{|{|{{{{{zzz{{||{|{{{|{zzz{zz{{{{{{|{{zz{yz{{{{{{z|{{zz{{z{zz{{{|{{{}{{zz{{{{z|{z|||z|{{yzz{{z{{{z{{||z{z{z{z{{z{{{{{zyz{zzz{{{z{{{|{zzy{z{zz{|||{{|{|zzzz{z{z|{z{||zz{zz{zzyzz{z{{z{{zzz{yzz{{{|{|{{z{{zzz{{{{{||{||{{{z{z{|z{{{|{{||z{{zzz{||zz{||}{{{z{zz|{{|{||||{{{zzz{{{||z{|||z|{z{{{{{|{|{|}||z{{{{{z{||{{}|{{{{{{|{z}{{|||}{{{{{|{{{{|||{|||{|{{y{zz|||{||{{|{{z{{{{{{|||{}||{|{{{{||||||||||{|{|||{{|{|}|}{{|{{{|{||}|||{|{{{{{{{|z{||||||||{||{|{||{{|||||{|{z{{z{{{|{{{}|{{{{zz{{{||{|{{|{zz{{{{{||||{|z{{{zz{z{y{|{z{{|{{{zz{zz{{{{{{|{|zzz{{y{z|{{{{{||{{zzz{zz{{z{{{{{{{|{yz{y{{{zz{|{{z{z{z{z|{{|{|{|z{{{{z{z|{{{{|{{{zzzz{z{z{{{z{z{zzz{zzzz{{z{{{{yz{zzzzzz{{|{{{{{{z{zzz{z{z{z|{|||z{{zzzzz{{{{{{zz{zz{{zzz{{|{{{{{zy{z{zz{{{z{{||{yzz{{zz{|{z|{{{{z{{zz{z|z|{|{||zzz{y{{{{{{{|{z{|z{{{z{{{|||{{{}{{{{{{{{{{{{|{{{{zy{{zz{{|||{|z|z{zz{zz{|{||{{||z{{|{{{||{||||||{||{{|{{{||||{||{{z{|{|{|{|||||{|{|z{{z{z|{{|}||||z|{}|{{}|||{}|z{|||{{{|}|||||{|z{{{{z{|{{{||{}|{|||{{|{|}{||||{|zz{z|z{{{|{|||{{{z|{|{z|}|{{|{{z{zzzz|{{|{{{{{z{z{{z{z{{{z|{||{{{zzzzz{{z{{{{|{{y{{yzz{{{{{{||zz{{{{y{|{|{{{||z{z|yzzz|{{|{{{|{{{zz{{z{{{z{||{{z{{zzzz{|{{{{{{zzzz{{|z{{{z{|{{zzz{zyzy{|zz{{{{{zz{y{zy{{{{{|z{{{|z{zz{{z{|{||{|{zz{zz{{{{{z{{{zzzzz{{zz{{{{{||zz{{{{y{{{{{{|{{|{zz|{{{||{{{|||z{zz{{z{{|{|{{||{z{zz{z{{{{{{|{{|{z{{z{{{|{{{|{{|{zz{z{{|{|||||{{z{{z{{z|{|{z|||{|{{|{||{{{|||{|{zz{{||{|}||||||{{{{|{{{{{{||||{|{{{{{{{|}|||}}||{{{{{||||||{||||{|{{{{||}|}{||||{{|{{{{}|||||||{{{{{z{{|{||{||||{{{|}{||z{||||}{{zz{{{zz|{|{{|z|{{{{z{{z{{{{||{{{|z{{{{|{{|{z{{z{y{zz{{z||{{|{{zzz{zz{z{{z{z|{|{z{z{|{{{{{z|||{{zz{{y{z{{{{{{||y{{zzz{z||z{|{z{z{zzz{zy{zzz{{{{{{zzzzyzz{|zz{{{zzzzzz{{{{z{{|{{zzzzzzzz{{zz{z{{zyzzy{zzzz{zz|{{zzzzyzyzz{{{{z|{{zzzyzz{{{{y{z{{z{yzzyz{zzz{|}{zyzzyz{zz{{{{z{|{zz{{zz|{z{{{{{{}{zz{yy{z{{{{{||{{{z{{{{{{{{|z{{|{z{{zz{{{|{|{|zzzz{zz{z{||{|{{{||zz|{z{{{|{{{{{||{{{z{{{{|{|{{|{{{{{|z{{{{{|{}{|{zz|{{{{{{{||||}|z{{|{{{|||{{|||zz|y|{{{{|{}||}|||{{z{||{|||{|||{{{||{z{|}|||||{{{{{{{|{{}|{||{|{{{{z{zz||||||}|zz{z{{{z{{z{{{|{{zz{{{{{{{{|z{{{{zzz{y{z{{{{{{z{{zz{zz{{z|{{{{|||zzzzzzz{{{{{||{{{{zzzzz{{zz{z{{{z{zz{zzz|{{z|{|{y{y{z{y{z{{{|{||z{zz|{zz||{z{{{{{{{zzzz{z{{{{{{{{zzyzz{{zzz{{{{z{zyz{{z{{|z{z{{{zz{zzz{{{{{{z{{{{|zz{{{z{{{z|{{zzz{z{{z{{{{{{{{z{zzzyzzzz{{{{zz{z{zz|zyz{z{{{|{{{zz{yzz{|{|{{{||y{zzzz{{{|z{{|{{{zz{z{{z{||{{||{z{{{y{{{|{|||{|{{{{{z{{||{{{{{{|z{|{zz{||{{z|}{{{{{{|||{{{|}{{|{{{{{{{{{|||{|~{{zz|zz{||{|{{{|}{{{{z{{{|||{{||{{z{{{{||{{|||{||}||{{{{|{||||||||{{{{{||||{{|{|{{{{z{{|{{{{{||}}{{|{{||{||{|{{|{{|{{{|{{{|{|||||{{{z{|{zz{{|{{||{{{zz{z|{|{{z{{|{zzzz{{zz{{{{{{{|{zz{{{z{z{yz{{|{zzzzzz{z{z{{|{z{{zz{yyz{{{{{y|{z{{zyz{z{|{{z{z|{{{z{zzz{{{{{{|{{z{{zzyzz{z{z{{|z{z{z{zzz{{{z{{{{zy{zyzzzz{z{|{|{z{yyyz{z{{zz{|{zzzzzzzz{{{{z{{{zzzzzz{z{zz{{{z{z{zz{zzyy{zz{{{z{{zz{zy{{{{z{z{{{zz{zyzz{|{{|{{|{{z{z{{z{|z{{{{|z{{z{{{z{{|z{|||{{{{{z{z{{{z{{{|||{yzzz{{|{{{{{||{{{z{{{{{{|{{{{{{z{z{{{{|{|||z|{{z|{{{z{|{{{||{|{|z{{{z{}||}{{z{z{{{z|{{|{||{||z|{{|{{|{{{|||{|||{z{{{{{|{||{|||{{{{z{z{{|z{|||{{z{|z{{{{|||{||{{||{|{{|{{{||{|{{{{z{zz{{{{{||||{y{{z{z||||{{|{{{{z{zzz{{||{|z{zzzzzzzz{{{z{z||z{{{z{zz{{|{z||{|zz{zz{y{z{z{{|{{{zzyy{zz{{{{{{{{{z{{{{z{{{|{{|}{{zzyzy{z{{{z{}{{zz{{{zz{{}zz{{{{{{z{{{z{z{{|{{{zzyzzy{zz{{{{{|zz{z{zzyz{{{{|{{|{{{z{zzzz{|{{{|{|{zzzz{yzz{z|{|{|{zz{zyz{{{{|{{zzz{{{z{y{|{{{||{{zz{{{{{{{|{{{||z{zzzy{{{|{|{{}{{{{zz{{zz||{{{{|||{z{z{{{{{|{|{||{{{z{{{{{|z|{{|{|z{|{z{z|{z|||||{{{|{z|{}|||||{{|{z{z{|||{}{|}|{{z{{{{{|||||}|{|{{||{{{{|{{||}||{|{||{{{||||||||{{}{||{|||||{|||{}{{{{{|{||{||||{{{{{{z|||{{||||{{||{{{||{{{||}z|{{zzz{||{{||{|{{{zzz{z{||{|{|{z{|{zz{z{|||{{z{z{y{{z{{{{{z{{z{{{zz{z{zzzzz{{{}{{z{z{{zz|{z{{{{|yzzzzzz{|{|z{{z{{zzyzzz{z{{{{{|zz{zzzzz{{{z{{{{|{zzyzzzz|{|x{{{{zzzzz{z{zzzz{z{zzzzzy{{{{{yz|{{z{zz{zyz{z{{{{{{{z{yyyzyz{{{{{|{zzzz{zzxy{{{|{{{{zzzz{zzz{z{{{{|zz{yy|zzz{{{z||{|z{y{{{{{{{|z|||{{{{zzz{{{{{|{{|{{zy{z{z{{{z{{|{{{{|zy{{|z{|{|{|z{zy{{{{||}|{{|||zz{{{{{|||{{{}|{{{{|{{{{{|{{|||{{{{{{{{||||{{|||{{|zz{{z|||{|||{{{{{z{z||||{|}{|{z|z|{{{{{{{||{|}|{|{z|{{|{{|{}{|{{{{z|||||{||{|{zz{{zz{{{{||||||{{{|zz{{{{{|||z{{z{{{y{{{|{|{|{{|{{z{{|||}{{{|{{{{zz{{|||{{{zzz{z{{{yz{{zz{|{{z{{{yzz{{{{{{{||z{z{zzzz{{|{{{||{z{{zzzz{||z|{{{{zzz{z{z|zz{{|{|zzzz{zy{z{{{{{{{{{z{zzzzz|{zz{z{zzzyzzzz{{{{{{|{z{z{{zzz{{{|{z{{zzzzzzzzzz|{|{{zzz{zzyy{{z|{{{{|{{zzzyyyz{{{{{z|z{{zzz{zzzzzz|{{{{{{{{{z{{{{{|{{{z{{zz{z{||{zz{|{{{zzzz|z{|{{|z{zz{{{{{z|||{{{|{|z{{{z{z{{{{{{{||{{z{{z{{||{{{{{{z{{z{z{|{{|||{|{{{{{{zz{{{{{||{{z{|{|{z{{||{{{|{z{||{{{z{{|||||{z{z{{{{||||||||{{{{{||{||{{||||{z{z{|z{{{{|}||}||{{{{{{{|||{||}|{||{zzz}|{|{|}||{||{|{z||{|||||z{{zzz{z{{{z{||}{|{{z{zz{|{|{{{||zzzzzzz{||{z|{{zzz{z{zzzz{{{{z{z{z{{{zz{|{{{{||{zz{z|zz{z|z{{||{z{yzzzz{{|{y|{{zzzzzzzz{{z{{{{{{{{{{z{zzz|z{{||{zzzyzzzzz{{{zz{zzzzzzzzz{{{{{z|zz{y{zzzy{{{{|{z{{zzyzyz{z{zz{{{{z{{yzzz{z{|z{{{zyzzzzzyzz{{{{{{zzzz{z{z{{z|{{{{{{zzz{{z{{|z{|{|zz{zzz{z{{{{{{{|{{{zzzzz|{{{|{{|z{{{yz{zz|{|}z||{{|z|z{z{{|{{|z{{zz{zz{z{{||{||{{z{z{{{{||{z{||z{{{z{{{{|{|{||||{z{|{{|{{{|||||||z{{|{z{||{{{{}||z{{{z|{}{{|||||{{{z|||{z}{{|{||{{|{{|z{{{|||||{{|{{{{{{{||{||{|{{z|{{z}{|{{{|||{{{z{{z{||z|{}{|{{zz{{{|z{{{|{||{{{zzz{{{|||{{|{{{{zz{{{{|{{{|{{{zz{{z{z{{{{{|{{{z{{{z{zz||{|{||z{{zz{{{z{{y{{{{{{{zzzz{{|z{zz{{{z{zzzzz{{{{{|{||z{zz{{z{z{z{|{{{{z{zzyz{||{{{{||{{{zzzzzzzzz{{{yyzz{{{zz{{{z|{{z{zzz{z{zz{{{{|{|{{zzyzz{{{{{{{{{{z|zyz{{zzzz{{{{{{{{zzz{{y{{z{{{y{|z{z{{{{{z{{|z{{zz{z{{|{{{{|z{{{{{y{z|{{{{{{|z{|zzzzz{{|z{{{|{{|{{y{{||{{{{{|{{{{{{yy|{||{||z{zy|{{zz|{{{|{|{{{z{|{{{zz|||||{{{{z{{{|{|{{{|{||{z|zz{{{{{||||||z|{{z|{{}||}}|}|{{{{{|{|{|{{|{||{z|{|{{|||}{||{|z{|z{{{||{|||}|||{|z{{{||{{|||||{z{{{|{{|{|{{{|{z|{|{{z{{||{|||||{zzz{zz|||||||z|zz{z{{{}y{z{|{zzzyzzzzy{|z{{{|{zzyzzzz{z{{{z||{zyz{zz{{{{{{z||{z{zz{yzzz{zzz{zz{zzzzzz{{{|{{{|{{z{zz{z|{{{z{{{{z{{|zzz{|z{{||{{zzzyyzz{zz{{{{{zz{{zzzz{{z{{{{{zzy{{zz{{z|{{|{zz{{zyzzzz|{zz{{|z{zzzy{zy{zz|{|{zzzzzzz{{|{zzz|{{{zz{zz{{{{{{|{{{{zy{yz|{{{{zz||{zz{{zzz{z{|{{{|{z|{z{yz{|{{|{z||{{|{y|z{||{|{{{|{{z{z{z|{||{{|{zzz{|zz{{{|||z|{{z{{z{{|{|||{{|{z{{|{{|{|{{z{{||{z{{|{|{{|||||}{|z{{{{{{||||{|}|{{{{{|{{||||||{|}{{{{||{{|}||{|||{{{z{|{|{||{{{||z{{{{{{{||{{||{{{{|{{{{{{|}|||}{z{{{{{z||}||||{{{|zz{{{{||{{{|{{z{zzz{{{{{z{{{}z{{zz{zz{{z|z{{|z{{{zzz{{y{{{{|zz{zz{{y{{{z{{|{|{z{zz{yz{{|zz{{{{zzzyz{{{{{{|{z{{{zzzz{yz|z{z{z{{{{{{{zz{{{z{z{{zz{zz{yyz{|{{{z{yz{{yz{z{zzzz{{{{zz{zzy{{{{|{{{{{zzzz{{y{{{z{{{{zz{zzzzz{{|{{{|{{{yzzzzzzzzzz|{{{zz{z{zz{{{{z{{{{z{{{{{{{{{{{{{|{{{{z{z{{{{{|{{{{{|{z{{z{{|{{|{{{{{|{zz{|{||{{{{{zzz{{{z{{||{{|{{{z{{|zz||{{||z{{{{zz|z{|{{||{|{|{{{{{{|||{||||||||{{{{{{}|||||{|{z{{||{|{|||||}{{{{{{{{{||||||{|{z{{{|{||||{||{|z|{|{{||{|||||{{z{{{{{{{||}|}|}{z{{{z{{{|{|{||}{z{z{z{z{{}{|{{{||zzz|{z{{{|{|{zz{{zz{{{{||zzzz{|zzz{{zz{{{|{z|{zzz{{zzz|{{{{{{{{{zz{zz{{{|{{{|z{{zz{z{zz{{{z|{z|{{zzzzz{|{{{z|{zzzz{{z{z{{{{{|{{zzzz{{z{zzzz{{{z{z{zzzy{{z{{{{|zzzzzzyyz{{{z{zzzz{zzzz{z{{{{{{{zz{{zz{zzzz{{z|{z{zzzzzzyzzz{{|{zzzzzz{zz{{z{{|{{z{{{zzzy{{{{{|{zz{yzzz{{||{||{|{z{{{z{{{|{{{{{{z{{{zz{|{{|{|{|{{{{{|z{z{{}{{{{{|zzz{{{{{{||{{}{{{{{|y{{{|{|||{||{|z{{z{|||{{||{{{|z{{{{{{||{|{|{z{{{zz{|||{||{{|{{z{{z{{|{||{||z{{{{z{|{{{{{|||}{{{{z{z{|||||||{{{{z{{{}{|{|||||{{{z{{|{{{|}{|}{z|z{{{||||{|{{|{{zz{{{z{z{|}{|{{z{{z{zz||{{|{}{{{{{{zzz{|{||z{{y{zy{yz{y{zz{{{z{{zz{zzz|{{y{{|z{zz{y{zzy{{|z{{{{{{zzyzzz{{{{{z|{zz{zyz{{z{zz{{{zzzyzzzy{{z{y{{{{zyzzyzzz{z{z{|{zzzzzzy{{zzzz{zzyzxzzzzy{{z{{{{{zzyz{zyz{z{z{{z{z{zzzz{yzz|zzy{zzzzz{z{zz{{{z{{yz{yzz{zz{|zzz{{{zy{yzzzz{|{{{z{{zzz{{|{{{|{{{{{|zzz{zz{{{{{z|{{{{z{z{z{z{{||{{{||z{z{{|{z{{|{{{{{zz{{{zy{{||zz{z{{z{z{z{{z{{z|||zzzz{{{{{{|}|}{|y{zzzzzz{{{|{|||{{{{{yz{{|||z{|||zz{|z{{||{||||{{z{{{z|{z{{|||||{{{{{z{{z{}|{|{||{||{{{z{|||{||}{{{|{{zz|{{|{{}|{{{{zz{z|{|||||z|zyzz{{{z||{{z}{{z{{{|{y{|{|{|{|{zz{zzz{z||zz|{zzzzy{{{y|{{{{{|||{yz{{{{{{{|{|{|{{zzyzzz{{{{{z{{{{|zz{zz{|{{{z{{|{z{zz{z|{{{{|z|yzzzzzz{{z{z{{{{{{zzzzyz{{|zzz{{{|zz{{zzz{z{{z{|{y{zzz{z{{{z{z{{{zzzz{z{z{{{z{{{zzzzzzzzz{{z{z|{{zz{zyz{zz{z{{{{zzzyzz{{z{z{{{zz{{{{z{zz{z{{{{|{z{{z{z{zz|{{{|{|{z{{zz{z{{|{{|{|{z{zz{zz{{{z{|}|{z{{zzz{{{{{|{|{z{{{zz{z{{{{{||zz{{z{{z{{{{{{|{|{{{{{{{{{z{||}{z{{{|{{{{{|{||{|{{zz{{z{z|}||||{||zz{z{{|||||||||{{{{{{{{||{|{}|||{|{z{{|{|{|{}||{{z{{{{{{}|||{{{|{z{{{||{}{{||||{{{z{{{{{|{}}}|||{{z|{{{{||{{|{{z{z{{{{z{{{{{z{{{{|zzzzz{{{{{{z|{{z{{z{z{z|{z{{|zzz{zzyz{{{{{z{{{zz{z{yz{{{{{z{{|z{zzz{zz{z{z{{{|{{yy{{z{{{{z{{|zzzzz|{zz|{y{{{z{zz{{z{zz||zzz{{z{zyz{zzz{z{zz{z{{zz{zzzz{{{{{|zzy{zz{z{{z|z{{z|zzz|zzzz{{{{{{{{zz{zzz{{z{|{||{{zzz{zzzyz{{{{{{{{zz{{yyzz|{|zz|}{z{{zzzz{||{{z{|{{z{{z{z{{{z{{|||z{{z{{zz{||{|{{|{z{zz{{{{|{{|{z{{{{{zz{{{||{{{|{{z{|{{z{|||{{{|{{zzzz{{z|{}||||{{z{z{{{{||||||||{zz{z|{{{|{||||{z|{{|{z{|{||||{{{{z{|{{{{{|||{{|{{{z{{{{{|{|}|||{{{zz{{|||||||||z{{{zz{|z|||||{{|{{|{|{{{|{||{|{{z{|{{z{|{|{{||{{{{{{{zz|{|{{{{{{z|zz{zz{{{{z{|{zzzz{{z|{|||{{{zz{z{z{z{z{{|{{|{z{zz|zz{||z{|{{{z{{|{zzz{|{{{{{z{{{zzzy{{{zz{{{{z{{yzzy{{{zz{{{zzzzzzzzz{{{||{{{z{zzz{y{zz{{{z{{z{{yy{{z{{z{{{{zyzzz{z{z{{z|{{{{z{yzzzy{{z{{{{|zzz{zy{zzz{{z{|{z{{zz{{zz{z{{|{{{z|y{z{zzz{{||{|{{zz|{{zz{{{{{{{{{zz{z{z{{{|z{||{z{{{z{{|{|{{||{{{{{{{{z{|{z|}|{{{{z|{z{|z||{|}z{{zzzz{|||{z|{|||zzz{{{{|z{||||}{z{{z|{{{||}|{}|{{{{z{{{|}{||{}||{{{|{{|||}{{|}}{{||||||{|{{|}|{}{z{z{{|{~|||}||{{{{{z{z|}|||||||{{z{{{{|{{{|{||{{{{{||z|{{{{|{}{z{z{{{{z{{|||}{|{{{{{{z{{{{{{{||z{{z{z{}{|{{|{{y{{zz{{zz{|{z{{{zzz{zy{z{{{{z{{|{zzz{zzy|||z{||{z{zyzzzz{{{{{z{{{zzzyz{z|{|{{|z|{{{{zzzzz|{{{|{z{zzz{{{z{{{{{{{{{zzzy{zz{{{{{{{{{{z{zzyzz|{{z|{{{{zz{zz{{{|z{{{{{{z{y{yz{{z{{z|{zz{zzyz{{zz{z{{{{{zzzzzz{{{z{|{{zzzzz{zz{{z{{|{|z{{zzzzz{{|{{|||{{zzzz|z|{{||{|{{{z|{{z{|{{{z{}{{{{z{zzz{|{|{{{{{{z{{{zz||{|{||{{{{{{|z{|{{|{|{}{{{{z{z{|{||||||||{|{{{{||z{{|||{z{{{|{{{|{}|{{||{{|{{z{||||{||}|{{{{||{{{||||{||{||{z{|{||{|}~|}{{{{|z{|||||}}{{{{{{{{|{|{{|||||{{{{{{{{{|{{{|}{{{{{{{{{{||{||||z{{{zzz{{{||{{|{{{{{zz{{{{{z|z|z{{{z{|yz|{{{{z{{{zzzzzz{{|{{{{{{{zz{|{z|zz{z|||{z{{{{z{{{|{z{{|{{yzyz{y{{{{{||||z{{z{{z{|{{{|{{{yzz{zzz{|{{{{{{zzzzz{{zz|zzzz{zzzz{zzzzz{{{z{{{zzz{z{{z{{|z|{{{zz{zz{z{z}z{{z{{z{{zzzzx{{{z{z{{{zzz{z{z{{{|z|}{zzz{{zzzz{{{{{||{z{z{{zzz||||{{|{z|zzz{z{z{{||||zzzz{{{{{{{|{|||||{z{z{{z{|{{||{{z{zz{zy{||{{|||{{z{{z{z{{{z{{{{{{zz{z{{|}{|{|||{{{{|{{{|{||{{||{{z{{z{{|{}{||{{{{{{{||{}||{{{}|{{{|z{{||{{||{|}|{{{{|{{}|||||||||{{{{z{||{}{}|||{{{{{{{{{{||{}||{{{|{{{|}|||||||{{zz{{{{||{{{|{{{z{z{|z||||{{|{{{{{{{{|{|||z{{{{z{z{zzzz{{{z|z{z{zz{zyzz{{{{{{{{{z{zz{{{z|{||{{{{zzzzz|z{{|{{{{|{zzyzzzz{||{{{{zzy{zz{zzz|{z|{{y{{z{zz{{z{z{{{zz{{{zz{z{{z|{{{{zz{zzyzz{{z{{||{y{{{y{zz{{{{|{z{z{|{zyzzz{{zz{|{{zz{{yzyz{{{z{{{z{{yz{zz{{z{{{{{{z{zzz{z{{z{z{|{{zzz|zz{{{z{|z|{{z{z{{{zz{|{{|{{|zz{|z{{{zz|||{|z{zz{z{|z|||{{|{|zzz{z{{{{|{{z|{{{{{|z{{{{{{{||{{{{{{{z{|{{|{|||z|{{{{||||{|{||||{z{z{{{|||{||{}|z{{{z{{{||{{z~{{{|{z}{|{|z{{||||z|||{||}|{||}}{|z{{{{{{{|{||{{||z|{}{{{{{|{|||||{{{|{{{{||{|||||{{z{{{{{{|{|{||{{{{z{{z{{||{{{{|{zz{zzz{{||{{{{y{{{{zzz||{{|{z{{zzzzzzz{z{{{{|{z|zz{zz{{{z{{{{z{{zzzzz{{{z{{{{{{{{{zzzz|{|{z|{}zzzzzz|z{z{z{z|{z{zyzzzz{{{{{|||{z|{{zzz{{z{z{{{zzz{zz{z{{{z{{|{{{zz{{yz|{|z|||{zz{{{{zz|{{{{{{{zz{zzzzz{{{{{{|{zzzzzzzy{zzzz{|{zz|z{zyz{{{{{{{{{z{zzz{z{|{{{|||{{zz{z{z{z{z||||{z{z{|z{{{{{|{||{z{zzz{{{{{||{{{{zzzz{|z{{||{{}{|z{zz{z{||{||||{|{{z{{zz|{{|||{{{{z{{{{z{{|||}||{z{{|{{{||{|}}||{z{z|z{{|z{|{|||{{{{zz{{||{||||{{{{{{|{z{|}}|{z{|{{{{{{{{{{{{|{|{{{{{z|{{{{||{}|||{|{{z{{|{{||||{{{z|{{z{||{||||{{z{z{{{|{{{{||{{{{z{yzz|z{|{{z{{zz{z{y{z{z{{{{|zz{zzzzz{{{{z||{{zzzz{{z{zz{z|z|z{zzyyzz{|{zz{||{{{zyzzy{z{{{|{|{zzyzz{z{z|{{{zz{zzzzzyz{z|zzz|{zz{yzzzz|z|{{{{{zzyyzz{z{{{{z{{{{zzzyz{z{{{{{z{|z{{zz{z{z{{z{{{{z{yyyzzz{zzzz{zzz{zz{z{{{{{{{{{|zzz{z{zzz{|{{|}{zzz{zz{{z{||{{{}z{{zzz{{|{{{{{|{z{{{{z{{{{{{{|{{{z{{zz{z{{{{z{z{{z{{{{{{|{|{{{|{|z{{z|{{z||z{|||{{z{{{{{{||||{{{zz{{z|{z{{{|{||{{||zzz{{|{|{||z{|{{{{{zz||{|||}|{{{{{|{{{|{||||||{{{{{{z|}||{|||{{{{{z{{{{{{||||{z{{{{{|{{||{{}|{{|z|{zz{{{|{{|||{{{{{z{{|||{{|||{|zz{{{{|{{|{z|{zz{z{{z{z|{{|{{{zzzyyz{{{z{z{z{z{z{z{yz|{{{z{||{{zzzz{{{z{z{{||{z{zz{zz{zz|zz{{zzyz{zzy{z{{z|z{zzzyzzzz{|zzyz{{zz{zzzzz{z{y{{{{zzzyzzz{{z{zzz{zzz{yzyz{{{{{{}{zzyzzzzz{z{{{{{{z{z{yzzyzz{z{{{|{zzzzzzyxy{z{{zz{zzyzyz{y{zz{{{|{zz{{zyyyz{zz{{{{{zzzzzzy{{{z{||{zz{{{zz{z{{{{|{|{zzz{{{{{{{z{}{{zzzzzz{{{{{{z{{z{{z{zz{{{|}z{{|{{z{{{{z{{|z{{||{{z{z|{{{|{{{|{}{|{{z{{{z{{{|{|}|{|z{z{zz{||z||{|{zz||{{{||{{{{||{{{z{|}z||{{||{{|{{{zz{|{}||{|||z{{|{z|{|||{||{{{y{{{z{|z{{{{||||{{{z{{{||{{{{{|{{|{|{z{{{{{|{||{{{{|{{zz{z|{{{{{{zz{y{z{{|{|{z{{z{zzyy{{z{{{|{zz{|zz{z{z{{{{{||zzzz{yzy|{{{{||{{zzzyzz{{{|{|{|{{zzyzzz{{z{{z{{|{z{zzzzzz|z{{{{{{zz{{zzz{z{|{{zzzzzz{zzzzzz{{{{{{{zzzzzy{zz{|{{{{zzzzzzz{{{zzz{zz{zzzyyz{{zz{{z{{yzzy{yzz{z{z{{{{zzzzz{z{{{zz{{zz{{zz{zz{{{{z{|zzz{z{z{z{{{|{{|{{{{{zzz{||{{{{{{|z{{z{zz{|{{|{{{{{{z{zzz||{z{{{{{z{z{{zz||{{{{{|{|{{{{{{|}{{|{{z{{zz{{{|{{{|{}|{z{{z|z{{||||{{{}{{z{{z{y|||{||{{|{z{{{{{{||{|||{{z|{{{|{{|{||}{|{{{{|z{z{|||||}||z{{z{|z{|{{{||||{z{{{{|{{|{|||||{zz{|{{||{||{|||{{z{z{|{|{|{|||{{z{|z{z{z|||{{{{{{z{z{{z|{{{|{{y{zzzzzz{z{z|{{{{{{yzzzz{{z|{{{|{zzy{{z{{z{z{{|{{z{z{{{z{|z{z{{{{z{zz{{z{zzz{{{{{z{z{zzzz{z{{|{{{{zz{z{{{{{zz{{zz{{zz{{zz{||{z{{zzzy{z{{z{|{{|{z{z{{zzzz{{|{|{|{{z{{zy{{z{{{{z{z|y{{zz{zzzzy{{{{{zyzzzz{zz{z{z{{z{zy{zz{z|{|{{|{zzzzzzzz|{{{{{|{{zz{yzzz{{{||||{z{{{{{{z{|{z{|||{z{z{{{{{||{{|{{z{zzzz{{{{|{|||z{{{|{z{{{{{{{|{|z{{{|z{{|{{|||}}{{{|{{|{{{{||||}|{{|{{z|{|{{|{|{z{{{{{|{|}{{|{|}||{zz{{|{|{{{|{}|{{{z{{{{|{||||||z{{{z{{|{{{{|||{{{{{|{{||||{||}{{{{{{z{|{{}{||||{{z|{{{|{|||{|{{|{{{{{z{|z|{||{|{{{zzzzzz{{|{{{{{{zyyzzz|{{{{|{|z{z{z{{z{z{|{||{zzzzy{y{{{{z{||zz{zzzyz{{|{{{|{zz{yy{zz{{{{{{{|z{{zz{zzz|{{z{{{z{zzzzzz{{z|{{|z{zz{z{zzz{{{z{{|zzzz{{z{{{{zz|{{{{zyzyzz|{|z{z{|{zzzzzzzzz|{z{|{zz{zz{{zz{{z{{|{{zzzzz{zz{{{z{|{z{z{z{z{z{{|z|||zyz{z{z{{zz{{{{|{{{{{z{{z{{|{|||{{{{{{z{{{{||{|||z{{{z{z{|{||{{{z{{z{{{{{|{|{|{|{{{z|{z{{{{z{|||{{z{|{|||{{|||||{|z{|{{||{{}{||}|z{{z{z{{{}{{||||{{zzz{{|}|{{~|}{z{z{|||z||||}|}|{{{|{{{z}|}||}}|z{{{{{{|{{{{{|||{{{{{{|||{||||||z{z||{{{|{||{||z{{{||{{{{{{||||{|z{{{{{{{{||{|{{{z{{z{{{{{{{{{{{{zz{y{z{z{{{{{{z{zz{zzzz{|||{{{{{{{zzzz{|{{{{}{{z|zz{z{{z||zz|{{{{zyz{z{{|z{|{|zz{z{{zyz{|{{{{z{zzzzzy{{{{zzzzz{{z{z{zzzz{{{{{{z{{yzz{{{{zz{|{{y{{zzzyz{{{{{{z{{{zzyyz{{{{{{z|{zzzz{{zzz{z{yz{{{z{z{zz{zzz{z|{{zz{zz{z{|z{zz{{{{zzzz{z{{{z{{|{{{z{{|{{z{{{||{{{{{zzzz|z{|{||{|{|{|zzyyz|{{{{|{{z{{z{z|{{{{{{||{{{{{{{z{||{{||{|{z{{{{{{{{{{||||{{|{}z{{{{{{{||}{{{|{z{{|{||}{{{{zz{{z{z{|{|||{{{|{{{||{{{{||{|||{{{|{{|{~{||||||{||{{{{{|||{{{||z{|zz{{||||{{{}{|{{{{{{||{{}|}|{z|z{{|{||||{|||{{{{{{z{|{|{z||{z{{z{zzz{{||{{z|{zzzz{{z{{{|{z{|{{z{{yzzz{y{||{{{zzy{{zzzzz{|{||zzzz{zzz{{{z{|{{zzzzzzzzzz{{z{{{{z{zzz{{{|{{{{{{{z{zz{{z{{|z{{z{zz{yzzzzz{{{z{{{z{zzz{zz{{{z|{{{{{{z{zzyz||z{|{{z{yzz{|yz|{{{{z|{{z{{zzy{z{zz|{{{z{z{y{{{{{{{{{{{z{zz{zzz{{{{{{|{{{z{zz{{{{{{{{}z{{z{z|{{{|z{|{|{{{{zz{{{|{{{|||{{|{{y|z|{{{|{{{{z|{z{{{{|||{|||{{{{zzzz||{{{{|{{{{{|{{{{||{|}{}{{|z{|{||{{{||{{{{z{{{z{|||||}|||{|{{{{z||{|||}{{{|{{{|z{|{{||{||{{{{{{|||||{{|||{{{{{{{|}|{{||||{{{{{||{{z{}{||{{{||z{{{|{|{|{||{{{{{{{{}{{{{|{|{{{{z|z{|{z|{|||{zyzz{z||||{{{{z{y{zz|{z{{|{{{|{zz{{{z{zz|z{|{|{zzzyzzy{{z{{{|{|zzzy{{yz{{{{{{{{zzzzzyz{{{zz|{{zzz|z{{zz{zz{|{zzzz{zyz{{{z{{{z{z{z{zzzzz{{{z{|{zzzzx{zyzz{zz{{{z{zzyzz{{{{{{{{{{zzzz{zzz{{|{z{|{z{zzzzzz{{{{zz|z{zzzzzzyz{{z|{|z{zzzz{y{z{zz||zzz{z{z{z{{|zz||z{yzzzyzz||z|{|{{zz{zyzzz{{|{{{z|{{{{{zzz{z{|{{|{{z{z{|z{{||{{{}zz{{z{{z{||{{{{|{|{{{{zz{{{|}|z||z||{{{{{{||||||{{{{{z{{y{{||{{{||z|z{{{||{|||{||{{{{{||{{|}|{{}||{{{z{{{||{{{{}||{z{{z{z||||{|{{|||z{z{z{{{{|{{{{{{{{z{|{|{||{{{{{z{{{z{z|||{||{{{zz{|{z{{{||||{{{zzzz{{{|{{|{|{{{{|z{zz{y{||zz{{{zzzz{z{{|{{|{{{{zyzzzz{{z{{{|{z{{{{zz{z{|{z{{{|zzzzz{{z{{zz{{|{zzzzz{z{{zz|{zz{{{zz{zz|z{z{{z{{z{{z{zz{{z|{{z|{yzzz{y{z{{{{{|z{zzzyzz{z{{|{{{{|{{zz{|{{{{|{{{|zzzzzzzzz{zy{{{zzzzyzyzz{{{zz{{}{{{zz{{zz{{|z{{|{z{{z{z{z{z{{{{||y{zz{{{{{{{z{{|{z{z{{zz{z{{|{|{zz{z|z{z{{{{{{{{|{{zzz{z{|{{{{|{z{z|{{{z{{||{|{{|z{z{zz||{||{{||{{{{{{{{|{||{}||z{{{{{{{||z|{|{{{{{{|{{{||||||}||{{|{{|{|z{|}|||{{{{{|{{{|{|||||{z|{z{|{}||{|{{{{{{z{{{|{{|||||{{{{||{{{|{|{||||{{{z{zz{{{{||{{{|{{{{{zz{{{|{{||{z{{{zyz{{|z|z{{zz{zzzy{{{{{|{|{{zzz{yzyz{{{{{{|{{z{zz{z{z{|{{|{{z{|z{zz{{|{{{{zz{{zzz{z{zz{zz{|zzzy{z{zy{{|{|{zz{zy{zzz{{{{{{z{{z{yz{zzz{zz{{{z{{zzzzzzz{{{z{{z{yz{y{zzz{zz{{{{{zzzz{{z{z{zz{{{zzzzyz{zzz{z{{{{z{{zz{{zzz{z{|{{{|zz{{z{{{z{z|{{z{{zz{{{z||{{|{||{{z{{y{{z{{{{{|{z{{{yzz{{{{|{|{z|{{{z{{{{|{{{{{|{{z{{z{||{|{{||{{z{{z{z{{{{{|{{z{z{{{{zz{||||||{{{z|z|z||{{{||||z{{{{{{{{{||}||{zz|z{z{{|||{||{z{{{z|{|{|||||z}|{{{{{||{||||}}|}z{z{z{||{{|{|||{{{{|{{z{{{|{||}|{z{|{|{{||||||}|{z{z{{{{{{{||||{{{z{z{zz|||{{|{z{{{{{{{{|z{||{|zz{zzzyz{{{{{{{{zzzzzzz{{{{{z{}{zzzzz{z{z{{{{{|z{{zzyzzz{{z|zz{{{{zzzzzyz{{{{{{{z{zzzz{z|{z{z||{zzzzzz{{z{{{{{{{yzzzz{{y{{{|zzz|{zzzzzzy{zz{z{zz{zz{zzzy{{{{{||{{zz{z{zz{{z{{{{{{zz{{z{yz{{{y{|zzzzzzzzzzz{{z|z{{y{y{zzz|{z|z{{{zzz{z{z{{z{{{{{{z{{zzz{|z{{|{||}{{zzz{zzzz{{{{{{{{{{z{{{{{|{{||{zzz{z{zzz{|{{|{{{z||zzz{|{}{{|{|{|{z{{zz{|||||}|{{z{{|{{||{||{}|{{|{{{zz{||{||{||zz|{{{{{|{||||{|{{{{|{{{{|{{{}}{{||{|{z{}{{|||{|z|{{{{z|{}{{||||{{{{{{{{zz|{||{|{z{||z|z{{{{|||{{zzz{z{{{{{z{||{{z{{{{zz{{|{{{{{{{zz{zz{z|{z|zzz{zzzz{yy{|{{{{|{zz{zzzy{|{{{|{|zz{zzzzzz{{z{{{|z{{{zzzzz{{{{{{{|{{zzzzzzz{{z{{{{{{yzz{{{{z{z{z|{z{zzzz{{{z{z{{zzyzzz{zzz{{{zz{{{{zzyzz{{z{{{{|{{zzz{{z{{z|z{{{{{zz{yz{zz{{|zz{|{{zzyz{zz{{z{{|{zzzzzzz{{{z{z{{{z{|z{zzz{{z{{|{{{z{z{zzz{{{{{{{|zz{{zzz{{z|{|{{{{zz|z{{||{{{{||{{z{{{{{{z|{{{|{{z{{zz{{{|||{{{{{|{{{{zz{{||{{{{{{z{{|{z{{{{}{||{{{{{z{||||{|{{|||z{{{{zz{|||{|}||z||{{{{|}|{{||{{{{z{{||{{||||||{{{{z{{{z|{{|{||{{||zz|{{{}|{||||z{{{{{{|{{||{||{{{|{{zz{||{|||{{|{z{{{{{{{{||||{z{z{{z{{{{{|{|{{z{{zzzz{z|{{zz{z{zyz{zz{{{{{z{{zzzzzy{z{{z{{{|zzzzzzzzy{z{{{{|{{zzzzzz{{{{zzz{{zzzy{zzy{{{z{z{{{yzzzz|yz{{zz|{{{zzzzzzz{{{z{{z{zzzzz{zzz{{zz{{|zz{zzzzyz{z{{{zzzzzzyzzz{z{{{{{{zz{|yzzz{zz{{z{zzzzz{zzy{{{z{z{{z{zzz{zyzz{zz{{{zyz{zzyz|z|{{z|zzz{|{zzz{z{zz{|{zz{{{zz{|z{z{{|{zz{zzz{{z{{{{|||{z{{zzz{{|{{||z{{{zz{zzyz{{{{{|{zzz|{{z{{|{|{{{||zz{{{{{z|{||{{{{{{{{z|{|{|{|{}{{z|{{zz{||||{{z|{y{{{{zz{||{{||{|{|{{{{|{|{{||{||z{{{|z{z||{{|}|{|{{{{z{||{{||{{{{|zz|{{{{{{||}||{|z{|{{{{{{{|||z|z{zz{{z{{{z||{{zzz{zyz|||{z{||z{zz{z{{{{{{{{{z{zz{zz{z{{{z||{{{zzzzz{{{z{{{{||z{zzy{{z{z{{z{{|{zz|z{zz{z{{{|}|{z{zzyzzz{|{{{{|{{{zzzzyz{{z{{|{{y{yzzyzz{{{{{z{zzzzz{zzz{z{zz{{zz{{zzzzz{{{{z{{{zyzzzyzz{{{{{{z|{{zzz{{z{{{z{{{{{zz{zyzzz{z{{{|{zzz{zz{zz{{z{|{zzzzz{y{zz{{{z|{z{{zz{z{z|{|{{||{zz{{{{z{{{|{{{z|z{{z{z{{{{z||}{{{zzz{z{{{{|{{{z{z{{{zz{|{{z{{|{zzzz{{{z{{{{{||}{{|zz{z|{||{{||{{{z{z{|{{{||||{||{{z{{z{{|{{|{{{|z{{{{{{|}{{{{|}{{{{{{{{||||{{|{{y{{{{z{||||{|{||{|z{{z{{{{|||{{|{|{{{{||{{|{|||{{{z{z{zz|}{{{||{{{z{|{{{|{{{||{z{{{{{{z|{||{||{{|{{zz{{{{{{z{{{{z{zzz{zy{{zzz{z{zzzzyzz|{|||{||{zzz{z{{{{}y{||{|zzz{z{z{{{{z{{{{zzzzzzz{z|z{{{{{z{zzz{z{{zz{{{z|z{z{zz{{{{{{{{{{z{zzzz{{zzzzz|{zzz{z{zz{z{zz{{z{yzzz{zz{z{z|{{|y{{zz{zz{{{{z{||{zzz{{{yz{|{{{z{|{zzyzyz{z{{z{{{zzz{{zzz{||{|{{|{{zzzz{zz{|{{z|{z{{{zzz{z{{|{{{|zzz{zz{yz{{{{{|{zzz{{z{z{z{{{{{z|{{y{|{y|||{{||{{z{zz{|{{{{{|{|{{z{|{{yz{|||{|{{{{|{{{{|{|{{{{||{{{|{zz{{||||{|}{y{{{{{{|||{|||{{z{|z{{{z{|{}}{|{{zz{{{{|}{}{|}||{||{{{{|{{|{|||{{{{{{{{z||||{|{{{{|{{z||||||||}|{{z{|{zz|{|{{||{z{{|zz{{|||{|{|{zzzzz{z{{|{{{||z{{zzzzz{{{{{z{{z{zzzz{z{{z{{{|{z{{{zz{z|z{{|{{|{{|zzzzz{z{{{z|{{zz{z{zz{z{{{{{|yzzyzyzzzz{zy|{{{zz{zyzz{|{{z{{{{z{{{zzz{zz{{{{|{z{z{zzz{|{z{{{{z{{zzzzzzz{{||{{{zzzyy{z{{{{{{{{{zz{zyyz{{zz{{{z|{zzzz{zy{z{zz{{{z{zzz{y|{{|{|||{{zz{z{z{{{{{{{{|zzzzz|yz{{{{z||zz{{zz{z{{{{{{|{{z{{zzz{z{|{{{{{{|{zzz{z{|{{|{{|{z{{zzz{{{{{{{{{{{{|{{z{{{{||}||zz{z|{||||z|}||{|{{{{zzzz|||}||||{{{{{{{{||}{{||{{{{{{||{||||}|||{{{{{z{|||||||||{|{z{{{|}|}{{|{{z{{z{z{{{|||||}{{z{|zz|||||{}||{{{z{{|z{{{{{{}||{zzz|zz{{{{|{|{{z{zzzzz|{||z{z{zyzzz{{z{{z{{{{|{{zz{zzzz|z{{{}|{{{zz{zz{{{z{{{{z{{{zzz{{z{{{z{{{{{zzzzz{{||zzz|{z{{{z{{{{{z{{{z{{zzzzz{z{{{{{{{{zz{y{zz{z{{zz{{{z{zzzzzz{{zzz{{{z{zzz{z{{{{z{{|{{{{yzzyz{{{{{{zz{zyzz{zz{{zz{z{{{zz{zzzz{z{{{{|z{zz{{zz{{{z{|||z{{{{y{z{zz{{{{{|{{{zzzz{z{|z|{|z{{{{z{z{{|{{{|{z{zz{{|zz|z{|{{|{{{{{{{{z||{z{|{|{{{zzz{{{|{z{|{z{{||{z{{{{||{||zz{z{{{{{||}|}|||{{{{{{||{{|||{||{{|{z{||}|{||{|{{|{z||{z|{||}|{z{z{z|{z|||||{|}|{||{{|z|{||{||{{{z{{{z{||z|||{|{{{z{{{{|{{{{}||{{zz{z{{{{|{{z|||zyz{{{zz{|}{{{{{{zzz{{z{||zzzz{{zyzz{yy{{|{{z{{{{zz{zzz{{{z{|{{{zzy{zyyzz|{|{{|{{{zyzzzz{{{z{{{{|zzzzzy|{{z{zz{zz{zzzyzz|{zz|{{{z{z{{z{z{{z{|{{z{yz{zzzz{{{z{{zzzzz{zzz{z{|zz|zz{zzzzzyz{{{{{{{zz{zyzzy{{{{|z{|zzzy{zzyz|{y{z{{zzzz{zzzzzzzz{{{zzzzz{zz{{{{{z{{{zy{|z{{{{{zz{{}{zzz{z{zz{{{{{{{{{z{z{{z{|{z{{||{{zz{y{{y{{{||}{zz{zyzz{{||{{z{{{z{zyz{z{|{||{{|zzz{{{zzz|{|{|{zz{z{{y}z{{{|}{{|{{{z{{{z{||{|||{|y{{zz{{z}{{|||{{{zz{{{{{{|{||}||{z{{{{z||{{{{{{{z{{zz{|}{||{{}|{z{{{{{{{{z|{|{|z{{{{|{z|{z{{{{|{z|z{{{{{|{{{{|{|{{{zzzzz{{{||{|z{{zzzzzz{{|{{z{{zzzzzzz{{zz{{{{{{{{{zzz{{zz{{|{{{zzzzzz{{{z{{{{{zzzyzzzz{{z{{|{z{yzzzzzz{{{z{z{|zz{zzzyz{zz{{{{{{{zzzzyz{{{{{zyzz{zyzzyz{{{{{{zzzyzzzzyz{{{zz{{zz{{zzz{z|{{{{zzzz{yyyzyzz{z{{|{{zzzzzzzz{{{z|z{{z{zzzzyz{{z{{{{{{z{{zzy{{{z|z{z{z{{zzzzz{{{{{{|{z{{yy{{{z{{z{{|{zz{yz{z}z{{||{z{zz{zz{zz{{|{{{{{{{{zzzz{{||{{{{{{zzz{z{{|||{}}{{{{|{{z{{{{|{|{{zz{{{z{z{{{|{|||{|{{z{{z{{{|{{|{{{{z{z{{|||{{|||{zz|{{|{{|{|}{}{|z{{z{{|z|}{|}{||{{{z{{{{{|||{|||{|{{{{{{|||{{|||{{{{{z{|{{{||{{{{{yz{{z{{{{{{{|z{{{{{z{{|{|{{}{z{{z{zzz|{|{{z{{|{yzzzzz|||{z|{{{zzzzzzz{{{{{{{zz{zz{zzz{zzz{z{z{zzz{{zz{{{zz{{{{zzzzzz{zzz{{{z{zz{yzz{zzz{zz{{zzzzy{zzz{{zyz{z{{zz{{{{zyz{{{||{zzzy{zzz{{z{z{{zzzyzyzzy{zzzz{{zzz{zzz{yz{{{{{{}{z{{zzyzy{z{z{z{zzzzzzzyzz{z{{|{zy{zzzzy{{|z{{{{{zzz|zzzz{{{{z{{zzyz{zzz{{{|z{|{zz{{{z{zz{{{{|{{z{{zzzzz{{{|{{|{{{{{zz{z{{{{{{|||z{zzyz{{{{{{{{||{z{{{z{{{{|{||{z{{||{{{{{|{{{|||{{{{{{z|{|{{{{{|z{z{z{{{{|{{}|{{|{{{{z{|{|{{|{{|{{{{{{{{{|z|||{}{|z{{{{{{}||{|||y{{{z{{||{{|{||{z{{{{z{{||||||{z{z{{{zz{|zz{|{{{{zz{{zz{{{}{{|{zz{zzz{z{{||{|z{{z{zy{zzz{{{z{{{zz{zz{yzz{{z{{{{{{{zy{{z{z{|{|{z{{{{{zzy{z{{z{{{{zzzzzz{zzz{z|z{zzzyzzz{{{{z{{{{{z|yzyzz{z{zz|{{zyzyyzz{zz{{z{z{zz{zyzyzz{{zzzz{{zyzyzyzzz{y{z{{z{{zzy{zz|{zzz{}|{zyzzzy|z{zz{{{zzz{{z{zz|zz{{{{zzzz{{zz{{{{{{{|{zzz{zz{{{{{{{{|z{{zyzzz{z{{{{{{zz|zz{zz{{|z{{{|z{zy|zzy{{{{{|{{{{{zzzy{|{{|{||z|{zzzzzz{{{z{{{{{{{{{{z{{{{|{||{z{{z{{{{||z|{{{|{{|{z|z{z{|{|{|{|z{{|{{z}{|||{|||{{{z{{z{{|||{||||z{{|y{{||{{||||z|{{zz{|{|{{{|{|zz|{{z{{|{{|{{}{{z{{{{{|{z|{|{{{{zzz{{z|{{{{{|{{zz{zz{{{|{|z||z{{{y{zz{{{{{{{|zz{y{{yzyz{z{{{{{{{{zyzyz{{{{{{{{z{zzyzzz{{{{{{{{zzzz{zz{{{|{{{|{zzz{zzzzzy{z{z{{{{{zzzzz{{{z{{{{z{zz{zyz{|{{y{z{|zzzy{zzz{{{{z{{zzzz{{zyz{{|z{z{zzz{zzzz{z{{{|{|zz{yyz{zzz{z{z|{{{z{zzzyz{{{{z{zzz{zzz{zzz{zz{{{z{zzzzzz{{z{{{{{{y{zzzzz{z{z||||{z{{{zz|{{{z{{||{{{zz{{{|{|{{z|{{{{z{zzzz{{{{{{{{z{{z{{z|{{{{{|{|z{{z{zz|{{{zz{{{z{{|z||{{{}||{{{{{z{z{{{{||{|}||z{|{zz{{{{{{{}{|{zz{{{|{}|{}{}|{{{{z|{|{{{||||||{{{{|{{||{||{{|{{|{z{z{|{||{}||{z{{{{|{|{{||{|||{{{{{{{|{||{{|{{|{zz{{{{{|||{||z{z{{{{{{{{{{{|{{{{{z{{z{{{{{|z|z{zzzzzzzz{{{{{{{zzzzzzy{{{{{|z{{{{zz{{zz{{z{{{z{yz{zzzyz{{{y{z{zzyzzzzy|z{{z{{{zz{z{z{zzzzz{{{zzz{{zzzz{y{zz{{zzz{zzzzzz{z{z{{{{zzyzz{yzzzz{{{z{zzzzzyz{z|zz{{z{{zzzz{zz{z{{{|z{zzzzyzzzz{zzz{{zzzzyzzzz{{z{{{{zzzz{zzz{z{z{z{|{{zzz{zyz{|{{{{{{{zzzzz{{z{{{{{{zzzzzzzz{{{z{{}|z{zz|yz{z{z|||||z{z{z{z{{{|{z{|{{z{{z{z{{{{{{{{{{{{z{zzz{{{{{|{|z{{z{{{{|{z|{|{|{zz{{zzz{{{{|{|{|zzzz{{z{|{{{{||||{{|{{z|{{|||{}|zz{{|{{{|}}{||{|z{{{{z{|}|||}||{{{z{{z{{{{{{|||{{z{{z{{{{{}{|{||z{zzz|{{{{|{||{z{|z{{{{{|||z{{{{{{{{zzz|}{{{{|{zzzzzyyyz{{{|{{|z{{{zzyz{{{z{z{{{z{zz{z{zzzz{|{{{z{{{z{zzz|z{{||zzzzyyz{|{{z|z{{z{z{z{{zz{{yzz|z|{{zzzyzz{{z{{{z{zyyzzyzzz|zz{|{{z{zzyzz{zzzz||z{{zyz{zz{{zzz{{{{zz{zzzyzzy{{|{{zy{z{y{zz{{|z|{z{zzzzzzz{zz|{{|z{zzz{{zz|zz{{{{{{{{z{zz{||zz{{{|{zzzzzz{|{z{{|{{{zz{z{z{{|{|{{{{|{{z{zzz{{|{{{{{{{{zy{z{{{{{||{{{{z{{zz{{{{{{{|||{{{{zz{{|{|{{{{{{{zz{{z|{{|{|||{{{{z{{{{|{{||||{{{{z{{z{||{||{{z{|{|{|{|{|{||}|{{{{zz{{{|{|||||{z||{|{{||{||{||}{{{{|z{{{|{|||||{{|{{z{|{{|}{|{{{{{|{{{{|||||||zzz{{zzz{{|{|{{{{z{z{yzz{{{{{|{|z{zy{z{y{{{{{z{zzzz{{zz{|z{|z|{zz{zz{z{z|{{{{{{{z{{{zzzzzz{{{z{{|{zz{{zy|{{{{{{{{zzz{z{yzz{{|{{{{{{zyzz{{{zzzz|{{zzzy{z{z{z{z{{{zzzzzyy{zz{z{||zzzzzyzz{z{{z|{|{zzzzzyzzz{{z{|||{{y{zyzz{{zzzz{{zzzzzzz{{{{{{|{{zzzzz{y{z{{|{|{{{z{{{{zz{z{zz|z{z{yzzz{{z|z|{{|{zz{z{z{{|{|{{{||zzz{{z{zz||{{|zz{{|z{zz{{{||{{{{{zz{z{z{{{|{{{|{z|z{|{zz{|||||{|{{{{|{{|{|{{|{|||{{|zzzz{||{||||zz{{{{{z|{||||{||{{{{{{{{||{|{|{}{z{{{{z|}|||||{{z|{{{zz{|{{z||||{|z{{{{{{||}||}{{|{z|zz|{{|{|{{z{z{{{{{z|{{{||||{{z{{{zz|{|{z{|{z{zz{{z{{|{{{zzzyzyzzzz{{{{z{|{z{zz{zzzz{{{z{|{{yzzzzz{{{zz{{{{{y{zy{z{z{z{z{{{{{{yyz{y|z|{{{{{zyzzzzzz{{z{zzz{{yzzzzzy{z{{zz{zz{zyzzyyz{zzzz{zz{zyzyyz{z{{z{z|zzz{yyzz|z{zzzzzzz{zzzyyz{{zzz{{zz{yzzyzzzzzzz{{z{yzzzzzz{zzz{{{zzzzzzzyzz{z{{{z{{{zzzz{zz{{{{{{{zzzz{z{{{z|{{{|z{{zzz{z{{{{z|z{{y{{{zzzzzzz{{z|zzzzz{zz{{{{{{{{{{{{zzzz}{|{z{{{z{{z{zz{{z{|||||z{zzz{{{{z{{z{}{{{{z{zzzz{|||{{|{{{zz{{{|{{{||~|{z{z{{|{{||||{{|{{z{{zz{{|z||{|{{{{{zz{zzz{||{||{zzzz{{z|z{{{||{{{{{{{{|{|{{{{{|zzzyy{{{{{{{|{{{|{{{z{{z{{z{{|{{{z{zzz{zzzz{{|zzzzz{zz{z{{{|{|{{zzyzyzyzzz{{z{{{z{zzz{{z{z|{{{|{{yzy{zyz{{{{{zz{{zzyzz{y{|z{{|{{y{zz|zzyz{zz{|{{|zzzyzzzz{zzz{zzzzyzyzyz{z{z{z{{zzyzzzzzzz{zz{{zzzyzzzzz{zz{|{{zzzz{yzzzzzy{z{|zzzzzyyzzz{{zzz{zzz{zzzz{zz{z{{{{zzz{z{zz{{zz{{|z{zzzzzz{z|{z{zz|{yzzz{{z{{{{z{z|zzzzzz{z|{zz|{{|{z{{zz{zz|z{{{{|{z{zz{{{z|{{z{{z{{z{z{z{{{{{{|{z{z{{{{{{z{{{{|||{{{{zz{{|{{|||{}|z{|{{z{|||{{||{{{z{{{{z||||{{{|zz{{{z{{{|{{|{{|{|{{{{{{z{{|{||{|{||{{|{{{{||||{{{z{{z{{{{{{||||{{|{}z{{{{||{|||z{z{{{z{z{{{{||{{{z{z{zyz|{{{{{{{{{{{zzzzz{{{z{{zzzyzz{z{{zzz{{{zz{z{zz{{{{{{{|}zzzyz{yzz{zz|zz{zzyzzyyz{z{{|{{{zzzzzz{zzz{{zzz}yyzz{z{zz{{z{|{z{zzzzyyzz{{zz{{zzzzyz{z{zzzz{{{{zzzzzzy{zyz{zz{zzzyzz{yzzz{z|z{zzzzzzyzyz{{zz{zzzzzzzyzzzz{yz{{|zzzyzzzyzzz|z{y{yyzyzzzyzzzz{z{|{z{zz{zzz{{z{{|{{zzzzzyzz{{{{{{{zzzzz{yzz|z{{{{|{{{{{zzz{{z{{{{{z{zzyzyzz|z{|{|{zzyz{z{z{{{z{|{|{zz{z{zz{|{|{|{{z{{z|z{{|{{|{{{|z{z{zz{zzz|{{{|{|zz{zz{{{}|{{{|{zz{z{{|{{|z{{|{{|z{{{zz{||{|{||{|zz{{{{{z{|{{||{{{zzzyyz{{{{||{||yz{{z{|{{z{|{||{zzy{{{zz{{z{z{{z{{yz{zzz{{zzz{{z{zzzzzz|z{{{{z{zzz{{z{zz{{z{{{{{zz{zy{zz{{{z{|{{{zz{zzz{z{{|{|{zzzyzzzzz{|{z{{{{zzzyzzyz{z{{{{zzz{yy{zzzzz{z}{{{{zzzyzzzzz{z{{{{zzyzzyzzzz{z|{zzzzzzzzyz{{{z||zzyzyzzzzzz|zz{{|zz{yyzz{zzz{{z||yzzz{zzyz{{zzz|{z{zy{{z{{{{{z{{zz{zzz{zz{|{{z{{{zzz|zyzyzzzy{{{|zyzzyy{{{{zzz{{|{zyzzz{z{{z{{{z{|zyz{zzz{{{|z{{|zz{z|{zz{{|{{{|{{zz{z{zz|||{{||{{{{z{|{{{|{{|{||z{{|{{z{|z||||}|{{z{{zz{||||{||{|z{{{{{z|{{{|||{{{{{z{{|||{{|{||}z{z{|{|{}||||||{{{|zz{{{{||{|{{zz{{z{z{{|{{{{|}|{z{|{{{z{z|||{{|{z{{{zz{{{{||{|zz{{z{zz{{{{{{|{{|{zzzz{{{|{|z{zzzzzyyzz{{z{{{{zzzyzyyz{{zz{{{{{zzzyzyy{zz|z{{{{yzyyzzzzz||{z{{{zzzzyzzy|{|{{{z|zyyzz{zzzzzzz{{yz{{{zzxz{{{yzz{zzzzzyzzyzzzzz{{{zzzzzzyz{{zzz{{zzyyyyzzy{zzzz{{{zyz{yz{zz{{|z|zzzzzz{z{yz{yzzzz{{{yzzzzzy{{z{{{zz{{zz{zz{zz{{{{{yzy{zyzy{|{{{|{{{yzz{z{z||{{z|{{z{zzy{zyz{{z{{{|{zzyzzzz{{||{{{zzyz{|zz{{{|{{z|z|{zzzz{z{{{{{|{|z{{z{yy{{{|{}||{z{z{{{|{|{{|{|||{{{{z{zz|{|{||||{{{||z{{||{{{{|{{{|{|{{||{|{||{||{{{|{{{{|||{||{|z|{zz{{{|||{{{{{zzzz{{z{{{{||{{{{zz{{{{{|{{||{{||zz{zzz{{{|{{||{{zz{z{zz{{|z||{zz{zz{zzz|{{|zz{zzzzzzzyz{{z{|{{{zzzzyzy{{z{{{z{{{zyzy{z{zz|{z|{yyzzzxz{{{{z{z{z{zzxzz{yzz{{{zz{{{zzzz{z{{{zz|{zzzzzzzzzzy{z{|zzzzzy{zyz{zzzzz{{zyzzzyz{z{{zz{{zzy{zz{zyz{{{{{{{zzzyyyzzzzz||{{zyz{{zyzyz{{z{{{{zzz{zzzzzzz{{{{{zz{yz{zyz{{zz{{{zzzzz{zz{{zzz{||{zzz{yz{{z{zz{{{z{zzyzzzz{{{|{{|{zzzz{zy{{{{{{|{{z{{yzx{{{{{{||{zzyzz{zz{{{|{{|{{zz{z{{{{{||||{{zzzz{{{{{{{|{{{|{{{{{zz{|{{{{||||zzz|zzz||{||{||z|{{{{|z|{|{{{|||{z{z{{z{|{|{{|{|zz{z{{z{{{|{}|{{zzzz{{{|{{{{{||{z{{|zz||{z{|{|{{{{{z{z{{z{{{{{{{{z{z{zz|{{{{{{{{{|z{{{{{|z{{{{z{z{z{yy{zz{{zz{{yz{yzzzzz{{{{{z{{zyy{yyzz{{z||{{{zzzzzzzz{{zzz{{{zz{zyzz{z{{{{{{{z|zyzzy{{{{z{{zzz{z{yzy{{{zz{{{zzzzyzyz{z{z{{{zzz{zzz{z{z{{{{{z{{z{yyyzzz{{{{zz{{{{yyzz|{zzz{{|{{yzzzzz{zzz{zzz{zyyzzzzzzzzz{z{zzzzyzz{{{{{z{|{zz{zz{{y{{{z{{z|{{z{|yz{{{|{z|{{z{{{zzzzz{{z|{{{zz{z|z{z{{{z{{{|{z|y{zz{|{{{z{{{zz{{{{z{|||{{{{{{{z{{{{z{{|||}|{z{z{{{{z|||}z{||z{{{zzz{{{{{}|||}z{z{{{{}||{|{||{z{z{{{{{{|{|}{||z{{z{z|{|||{||}{z{{{{zz|{{|{{{{z{{{zzz{{||z{|||{{{{{{z{{{|z||}||{{z{zz{z|{{{||{{zzzzz{zz|z|{|{{{z{zzzzz||{z{{{{z{zyzzyzz||z{z{{|z{zzzzz|{{zz|{|zzzzzzyzz{z{z{|z{zzzzzyzzz|{z{{|zy{yyzzzzz{|z{{{{{zzz{yzz{{z{|{{zzyzz{yz{z|zzz{|zzzzzzzy{{zzz|z{zzzzzyyzzz{z{z{z{yyz{zzz{{{{{|{{zz{{yzzzz{{z{z{{{zz{zzzz{{zzz{{zz{zzzyzzy{z|z{z|zz{{zzzzz{|{{z{{{{zz{zzzz{z{{{||{y{{zzzyzzz{|{{|{{{zz{z{||{{{{{{|zzz{yzz|}||{{{{|zz{{{yz{|{{z{{{{zzzz{z{{{z|{{{{{z{{{z{z{|{||{{{{{{z|{||||{|||||{z{{zzzz{|{|||{{|{{{{zz{{|z|z||{z{{{{||{||{|{|}||{{{z{|{{|{{|{}|{{||zzzz|{|{{||{{{{{{{z{{|{{{||{|{{z|{z{||{||}|{{{{z{{{{{{{{{||||{{zz{zzz{{|{||{|{{zz{{z{yz{|{z{z{yz{{yzz{{zz|{{{zzzy{z{z{{{z{{|z{zzyzzyz{{{{{{{{yz{{y{zzzz{{{{||z{zyyzy{{{|zz|{{zyzzzzyz{{z{{z{zz{zzzzz{{zzy{z{yyzzzzz{zzz{zz{zzyzzz{y{z{{{{{{z{{{{zzzzzz{z{z{{zzzzzzzy{{z{{{{{{yz{zyzyz{{zzz{{{{z{zzzzyzzzz{{{{{zzzzzz{zz{z{{{z{zzzyzz{{zzz{{{{z{z{zzyz|{z{{{|z{{{y{zz{{{z{|{{|{zy|z{z{{{|{{{zzzz{{{{z{z{{{{{|{{zzzzzz{z{{z{{{{{z{{{{z|{{|{||{{{{zzz{z{|{||{|{{{{zzy{z{{{{||{z|{{{{z|{{|{|{||}z{|{{{||{|{{{z|{|z{{{{{{||{{|{{|{{{{zy{z{|{|{{}{{z{{{z{{||{|{{|{z{{{zzz{{{{{{}}{{|zzzzz{{|z{|{{{{{{{{{z{{||{|||z{z{zzz{z{|{z{z{{zy{zzzzzz{|{{{z{zzzz{y{z{z{{{{{}z{zzzzyy{{{z{{{z{z{zzz{{z{z{z{{{{z{zz{{y{z{{zz{|{y{zyzzyzzzz{{{{{z{zyzzzz{{zz{{{z{yzz{zzz{yz|{zz{z{yzzzyz{{{{{{|zyzzyzzz|{{|{|{{{zz{z{y{{{zzz{z|zzzz{zy{{yz{zz|z{{{zzzz{zzz{z{{|zzzyz{{y{{z{|{|{|zzzzzz{{{z{{{|{{z{{{zzz{{{{{|||zz{{z{yzz{{{{{|{{{z{{zzzz{|{{|{{zz{zzzzz{{{{z||z|z{{zz|{{|{z{{{zzz{{z{{z{z{{{|{||z{{z{|{{|{{|{|{{{{z{{{z|||{|{|{|{z{|{{{}|{|||||{z{{{{{{z|{|||{{|{{{{{z|{}{|||{{|{{{zz{{||{|{||||{{z{z{|}zz{{|{||{z{|z{z{{{|z||{{{{z{zzzz|{{|{{{{zzz{{{z{||{|{{{z{{zzz{{z{|z|{{{{zzzzzzyz{z{{z{zzzyzzyzzzz{{z{{{zzz{zyyz{z{z{{{{{{{{zy{zzzz{{{|zzzzzzyyyzzyz{zz{zzzyzz{y{{y{z{{{{{zzzzzzz{zz{zzzzzy{z{yyz{z|zzz{zzzyyyzz{zzz{z{zzyyzz{yzzz{{y{{{z{zz{zzz{{z|zz{{{y{{zzyzz{{{z{{z{zyzyzzzz{z{z{{{yyzzz{zz{{{zzz{zzzzyzy{y|{{{zz{{z{zzzz{z{{{|z|{|zzyzyz{zz{{z{{{{zzzz{zzzz|{{z||{zzz{z{{z{{{z{z||{{z{zzzz{{{zzzz|{z{{zz{{{{{|{{|{{{zz{|zz{{{|z{|{|{{{zz{zz{{{{{}{{z{z{yz{{|{{|||{{z{z{{{{z|{||||{{|z{{zzz{|{{|{|{{zz{{{z{|{|{{|||{z{{{zzz|{{||{{|{{z{{yz|z{{z|{{|{z{zzzzz{{{|{|{|{{zzzzzz|{{z{{{{{z{zz{{zz{{{{|z{z{zyzzzyzz{{|z{{{zyzzzyzzz{{{|{{z{zzzyzyzz{z{{z{{z{zzzyz{z{{{zzz{zzzzzzzzzz|{{z{yzyzz{{yz{{y{{{{{zzzzzyzzzzzzz{zyzyzyzz{zzz|z{{zzyzyz{yyy{{z{{{{zzzyzzyz{{zzz{{{yyz{zzyzz{z{z{{{{yz{{yzyzz{{{z{{zz{z{zzzzzzz{{{{{y{yzzzz{z{|{|{{{{zz{z{zz{|zzz{{zzzzzzzz{{{{z{{|{{{zyzzz|{|||{{{{{zzzzz{y{{|||{{zzzz{{zzz{{{{{||{{{{zzzz{z{{{z{z{{{{{|{{z|||{|{|{z{{{z{{{{z|{|}{{z{{|{zzz|{{{{||{{|z{{{{{}|{{{||{{{z{{{{{{z{{|{||{z{y{{zz|{{|||{|z{{{{{{{|{|{|{|{{{zzz{z{{zz{||||zzz|z{{|{{{{|{|{{{{{{{{{{{|{||{|{{z{yzz{{{{{{{{{{{y{zzz{{{{{{z{{zz{{y{zz{{zz{{{zz{yzyzzz{zzz|z{zzzyz{z{{zzz{{{{{zzzzyyz{{z{z{{{zzyzz{zzz{{{{|{|z{{z{zyzz{{zzzzzzzzy{zzz{z{{{{zz{z{zzyzzzzz{{z{zzzzz{y{yy{{{{{{{yyzzzyy{z{{{{{zzz{z{zzyzzzz{{{zzzzzzzz{yzz{z{{{{{zzy|zz{zzz{{{{z{z{{{|zzzz{{{{{{zyzzzzz{{{zz{|{{zyz{yzz{|{z|{|{{zzyy{zyy{{z{{{{|{{{z{yzzz{{{{|z|{{{z{z{z{z|{{{{{{{zz{{zz{{{{|{{{{{z{{zz|z{||{}|{{{{{z{{z|{{|{}{}{zzzzyyz{{{{|{|||{{{|zz{|||}{{||z{{{{{{{{{|{|||||{z{z{|{{|{{{||z}z{{{zz{{|{||||{{z{{{|zz{|||{||{|{z{|{{{{{|{||||{z{{|zz|z{{{|{||{{zz{{{{{|{{{z{{{{zzz{|z{z{|{{|{yzzzzzzzzz{{z{z{zzzzzzzz{zz{{{{{{zy{zzzzzz{{y{{|zzzzzyy{{z{{zy{{{{yzzz{z{{{|{{{|zx{|zzzzzzy{z{z{z{{zzzzz}{{{z{{zzzzyyzzz{zzzz{{{zz{zzzyzzzzzz{{{zzzzzzz{||zz{z{z{z{zxzzzz{{{y{{z{zzzzz{zz{{z{{{|zzzzzzzzzzz{{{{|zy{zyz{z{{{{{{{{zzz{zzzz{|{{{z{z{z{{{y{z{{{{{{{{zzzyzz{y{{z{{{{{zz{{zz|zz|zzz||z{{zzzz{z{|zz{z|{z{z{zy{{|{{zz}|{|{{{{{{|{{|{|||{z{{z{{{z{{{|{|||{{{{z{z{z{{|{{{|{z{{|{{{{|}z{|||z{{{{{|{{{{{{|{{|{{{{{|{z{|{{|{{|{{{zz{|{{|{|{||{zzz{z{z{|{{||}{{{zz||{|{z||||}|z{{z{zzz{|{{{{|{{|z{z{{|{|{{z{||zz{{{zzz{{{z{z{zzz{zzz{zyzz{{z{{{zzz{zyz{{{z|{zz{{zy{zzyzzz{{z|zzzyz{zyz{|{{z{{{{z{yz{zy{{{z{|{|{zzz{{zyzyz{z{{zzyz{zzz{zz{{{{zzyzzzzyzz{zzzz{{{zzz{zzzzzz{|{{zzzz{{zzy{{y{{{{z{zzyzzzzz{{z{{z{{{zz{zz{yz{zz{{{z{y{z{zzzz{{{{{{{z{{zzzzz{zz{{{{{{zzzyz{z{{{{zz{{zz{zzz{{|{z{|||{zzzzzzzz|{{{{{|{{z{{zyzz{{{|z|{|z{zz{zzz{{{{{{|zz{zzzz{zz{zz{{{{{{{z{zzz{|z}||||zz{z{z{{{{z}{{||{{z{{{z{||{||{{||z{{|{{z|||{|{||{{|zz{{{{||{|||{|z{{{|{{{|{|{{||{z|{{|z||{|{{{|||{{{zzz{|{{{{|{||z{z{{{{||{}{||}{z|{{z{z{|{{{|{|{{{{zz{z{{{{{{|{yz{zyz{z{|{{{|{{zzzz{zzxz{z{{{{{zzyyzxzzzz{{zz{{{zyzyzzzzzzz{zzzzz{zzyzyz{{{zyz{{zzzzy{zz{zy{z{|{zzzyyzyzz{{zz{zz{zzyzzyzzzz{yzzzzyzyz{zzyy{zz{{zyzz{zzyzzzyzz{y{yzzyyyzzz{{zz{{zzzzyzzzzzz{zz{zzzzzzyzzzz{z{{{z{yzz{zzz{zz{z{{{{z{zz{yy{{z{{{|zzzzzz{yz{{{z|zz|zz{yzyzzz{z{{zz{{{zzzzzzz{|{z{{{zzzzzyzz{{{{{zz{{zz{zy{y|{{{z{{{z{zzz{zz{|{zzz{{z{{zzz{y{{||{{|{y{zz{{zz|{{{{}||{zz{z{zz|{{|{||{zzz{{zzz||{|{|{{{z{{z{{zz{z{{|{{{zzzz{zz{||{}{|||{{|z{zz|{{{|{{||zzz|yz{{z{{||{{{{z{{z{{{{|{{{{{z{{{yzzzz|{z{{||{zzzzzzz|{{{{z{{zzz{zzzz{||z{z{z{{{yyzz{{z{{{{z|zzyyzzzz{{{{{|z{zzyzzzzz{{{zz{{z{z{zzzzz{z{z{{{{z{yzzzzy{zz{{z{|{y{yzzyzz{{z{z{z{zyz{{y{{z|zzz{{zzzyz{z{z{{z{{z{zzzyzzzy{zz|z{z{{z{{zyz{{z{|{{z|zzzzz{zzz{|{zz{{{zzzyz{z{{zzzz|{z{{zzzzz{{{{z{{{zz{zz{zy{{{zz{{|z{zzzzzzzz{z{|||{zzzzyzz{{{{z{{|z{|{{zzzz{{{{z|zzz{yzy{zz{{{z{{{{{z{{zz{{z|}{{||{{z{{zz{|{{||||{|{{{|{{{z{|||{{{{{{{{{{{|{{|{|{||zz{{zzzz{|||||{|zzzz{{{{||{|{||{z{{{{||{{||{||{{z{zzz{{||{|||{||{{{{z{{{||}|||{{||{{{z{{{|||{{|{{{{{{{{{|{||{{}{{{zz{z{{{||{{||{{{{|{z{{z{{{z{{{{{{zzzz{z|{{{|{zzz{zzzzz{{z{{{zzzzz{zy{{{{z{{{{{{{{z{zz{{{{|{{|{yz{{zzyzz{z{|{|{{{zzzyz{{{{{{{{zzzzzz{{{z{z{{|{zz{yzzzzz{{z|{{{{{zzzzz{{{{{z{z{z{zzyyzz|{{z{{{{{zzzz{zzz{{z{|{zzz{zy{yy{{||zz{z|z{zzyz{{{{{{{{|{zzy{zyyzzzzz|{{{zzzzz{z{{z{|{{|{zzz{zzz{{{|z|{|{zz{zyz{z{{{||||{{{z{{z{{|{z|{{{{z{{zzyzz{{{|{z{{z{|{{z{{{{{{{{{|zz{z{z{|{{{{{{|{zz{zzz{{||||||{z||z{{{z|{{|||}||{z{z{{z{||{|{||z{{{{{|{||{||{}|{|{{{{||{{|{{|{{{{{zz{||{||||{|{|z{{{{|z|||||}||{zz{{|{{{{{||{|{||{z{zy|{{{{|||{z{z{{{{|{|||{{||{{{{{{{{z{{{|z{{{{zz{zz{{|{|{z{zz{{yzzzy{|{{{z{{{zzz{yzzzz{{{z{|zzzzz{zz{|{{}{{{zz{zzyxzz{{|{z{{z{{zzz{z{z{|z{{zzzz{zzzzz{zz{{||y{zzyzyz{z|y{{z{zyzzz{yy|z{{{{{{zzzzyzzz{{z{z{{z{zyzy{zzz{zzzz|z{z{zyz{{z{z{{{{{{z{{z{zyzzz{{|{|{{z{zzzz{zzz|||{zz{zz{zz{z{{z{{{{{y{zzz{{{|{{{{{{zz{zzyzz{z|{|{{zzzz{{y{{{{{{{|{{z{z{yz{{|{{|{{{{z{{z{{z{{||{{|{{zzz|{z{{{{{{|z|{z{yz{z{{||{|z||z{|{|z{z{|{{{{|||zz{{{z{|{{|{|}|{z{z{z{|{{|{{|||{z{{{}{{{||{{|{{|{{{{{{{{{||{|}|{z{|{z{|{{|{{{|{{z{z{z{{{{{{||||{{{{z{{{{{{{{||{{z|{|{|{{{z{||{|{{zz{{{z{{{|||{|{{{z{{{z|{|{{{z|{{yzzz{zyz{z{{{{zy{yzyzzzyzz{{{{|{yzzzzy{{{{|z{{{{z{{zzyz{{{z{{{z{zz{yzzzz{zz{{{z{zyzzzyzz{zz|{zzz{yzzzy{{{zz{{z{z{zyz{z{y{{z{{{{yzzzyzz{zz{{{{{{yzzyzyy{z{y{{{|{yzzz{zy{{{{z{zz{z{{zyzz{{zz{{{{yz{z{{yzz{z{{{z|{{zzz{zz{{z|{{|{zzz{{zzz{z|{zz{{zz{zyyzzz{{{zz{{{{{zzzz{{{{{z|{|{zzz{{{z{|{{{{|{z{zz{z{z{{|z|{{|{zz{{z{{z{|{{||{{y{z{{z{|{|||z{{z{{{{{{{|{z}||{{|{{{{z{z|||{|{{||z{zz{|{{||{{{|{{{{{{{|{{{z{||{|}{z{zz{{||{{|{|{{{{{z{z{|{{{||{|{z{{zz{{{||{{{||{|{{|{zz|{{|{z||{z{y{zz{{{{{|||||{{{zzzz||{{||||{z{{{yzzz{{{{{{{z{zzz{z{zzz{{zz|z{zzzyzz{{z|{{{{{y{zzzzy{zz{z{{{zzzzz{zy{{{{{{|{zzyzyyzzyzzz{{z|{z{zzzzzy{zz{{zz{yyzzzyzz{{z{z{zzzz{yzzzz{zzz|{{{zzzzzzyzz{{zz{yzz{zyzzyzz{zz{{{zz{yyyzzz{y{z{{{zzzy{zzyz{zy{zz{zzzzzzzzz{z{{{zzyzz{zzzzz{zz{{|{zzzzzyz{z{{zzz{{zzzzzyz{{z|{zz{zzz{zyzz{z{{z{|{{z{{z{z{{{{z{{zz|zzzzzz{z{{{z{{|{{z{zz{{{{|{z{{||zzz{zz{{{|{|||{|z{{{{z{z{|{|{{{|{z{{{{{z{||{{|{||{z{zz{{{{|{|||{{z|{z{{{||{|||{|{z{|{{zz{}|{|}|{{z{|{z{z|{{|{{||{{{{{{z{|{{{|{|}||z|{{{{||{{|||{{{{zz{y{{|z||{{|{{{{z{zzz||{{z{{{yz{zzzzz{{{{{{{zzz{zy{yz|{zzzz{zzzzzyz{{z{z{{{zzzzzzzzyzz{z{{{z{zzzzzz{{{{{z{{{zz{y{y{zzzz|z{z{z{zzzzzzz{{yz{zzzz{zzyzz{{{zz{{{zzzzzz{y{zzz{zz{zyzyzzyzzz{{zz{{{yzzyyxz{{zz{{{zzyzz{zzzz{{{z|{zzyzzyyzyz{z{{zz{{{zzzzzzyzz{z{z{zzzzyzzyz{{{zz{zzzzzzzz{zz{zz{{{zz{zzzyzzzzz{{{{z{zz{zy{{z{{{{|{zzyy{y{zz{{|{|z{{z|z{zz{z|{{|z{|zz{{{{z|{{|{{{z{|zz{{y{{{{z{{|{{{zz{{z{z|{{{{{{|zzz{{zzz{{{{{||z{{zz{z{{|||{{{{{{{{{{{{z{{{{|||{|z{}z||{{}{}{{{{{{{{{{zz|{|||{|{|{z{{{zz{|z{||||{{|{{|{z||{|||{|z{{z{{{z{{|{{{{||{z{zzz{zz|{zz|z{z{zzz{{{{{|{{{zzzyzzyyyz{{zz{{{{zz{yyz{{{{zz{{zz{{zyzzzzz{{zz{zzz{zyzzy{zz{z{{|{zzz{zzyz{zzzzz{zzzzy{y{{zzzy{zz{{yz{zzzzzzzz{zzzzzz{yzzz{z{zz{{zzy{{z{zzzzz{z|zzz{zzyzzzy{z{zz|zy|zzyzz{{{{zz{|zzz{zyzyzzzzz{|zyyzzyzzyz{z{y{z{zyzzzzzz{{{{z{|zzzzz{{yzzz{z{{{{{{zzzyzz{z{z{zz|{zzzzzzy{z{||z{{{zzz{zzy{z{{{{zzy{z{zzzzzz|{z|{{zzzz{{{{{{|z{{{{{{{z{z{z{{||{|{{z{zz{{{z{{z{{z{}|{{zzz{z{{{||{|{{zzz{{z{{||{{|{{{z|z{||{{zz{|{|||{zzz{z{||z{}{{||zz{z{{{|{{|{{|z{zzzzzz{z{|z{{{|{zz{{{z||{{{z{||z{zzzzzz||{{{||{{{zzzzz{{|||z{|{{zzzyy{zz{{z{{z{zzzzzyyyzzzzz|{{zzyzzyzzzz{{{z{{zyzzzzzz{y{zzy|{zyzzzzy{zz{{zz{z{{{zyz{zz{zz{{{{zzzzyzyy{{{{{|{{{zzzzzzyzzzzz{z{z{yzzzyz{y{zz{zzzyzz{yzzz{zz{zzzz{yyyz{zzzz{{z{{zzyyy{zzzzzz{{{{{zyzyyyy{zzzy{zz{{zyzzzzy{zz{{{{{yzzz{zy{zz{zz{{{z|y{z{y{{{zz{{{z{{{zzzyz{{{{z{{{z{zyzy{zz{z{{{|{z{{{y{yzz{|{{|{{{{z{z{z{{{z|{|z{{zz{{{{{|{z{||{z{zz{zz{{{{|{{||{zzz{{|z{|z|z{||{z{{{{{z{{{|{{{z{{zz{zzz{{|||{|{{{{{{{z{{{{{||||||{{{zz{{|||z{||{{zzzzzz{{{{{|{{|{zzzz{{{{||||||{{{{{{zz{|||{|{z{{z{{z{z|{{{{||{{zz{zz{z{{{|{{z{z{{zz|{yzz{{{{y{zzzyzzyzzz||z{|{{zyzzyzz{{{{{z{{{zyzyzzyzzz{{z{{zyzzzzzzz{z|zz|{zz{zzyzz{z{zz{z{{zzz{yzz{z{zz|{{zzzz{y{y{{{zz{z{z{zyyzyzyzz{z{zzzyzz{yzzzz{{z{|z{zyzzzzzzz{z{z{{z{zzz{yzzzzz{z|z{zyzzyzyy{z{z{{{zz{zzzzzzzz{{{z{zzzz{zzzz{{{{{{{zzxzzzzzz{zzzz{{z{zzzyzz{{zz{||{zz{{zzzz{{{{{{{|zz{z{y{zz{{{{{z{{{z{{zzzz{{{{{|{{{zzzzzz{{z{z{{{{z|zz{{{{z{{{z{{zz{{zz{{{|{|{{{|{zz{{{zz{||z{{|{|z{z{|zz{|{|{{|{zz|{{{{|{|{{|{||{{{{{{{z{|{{{{|{|{{|z{{{{|{{||{{{{zz{{z{z{{{{{{{|{z{zzz{zz||{|{|zzy{{zzz{{{{|{|{|z{zy|zy{{zz{z|{{y{y{y{y{z{{{{{{{zzzzz{yz{z{{{z{zzzyzzzz{{z{{{{{{z{yy{zy{zz{z|{{{zzzzyyzzy{{{z|{{{{yyyzz{z{{z|{{zyz{yyzyz||{z{{{{z{{yz{zyz{zz{zz{yzzy{yzz{z{z{z{z{zzyzzz{{{{z{{z{zyyzyyyzz{z{{{{zz{zyzyzzzzzz{{{yzzyzyz|z{zz{z{z{zz{zz{zyzzzz{{{zzzzzzz{{{{|{y{zzzzzzzzz{{|{z|||zz{{yy{{zz{{{{{{zzzy{{zzzz{{{{z|{{{{yzzzz{{{{{{{{{|zz{zz{{{{{z{zz{z|zz{z|{{{{{{{yzzy{{z{{{{||z|{{{zz{|{z{z{{|{{|{{{z{zyzz{{{|{|{{z{zzz|{||{||{||{|{z{{z{{{{{|||||{{{{{{{{{|||||{{{|{{{{{|{{|{{{{||z{|{z{{{{||{{{{{{{{{z{{{{||{|{{{{y{zzzzz{{{{|{{{zz{zzz|{{|{|z{zz{z{z{z{{z||{z{{zzzzyzzzz{z{zzzzzzyzyzz{zz{z|{{{zzz{zyz{z{yz{{{{{zzzzzzzzzzz{|{zzzzzyyzz|z{{zz{zzzzyzzzy{{z{{{z{zzyyyzy|{zzz{{zzyzzzyzyz{z{zz{|zzzzzyyy{zz{{z{zzyz{yzyzz{z|{{zz{{{zyzyyyz{{zz{yyyzzzzzzz{{zy{z{zzzzzzzy{zy{{yz{zzz{zzzzzz{{{{{{{zzz{yzzz{{y{z{{{z{{yzzz{z{{zz{{zzyzzzzzz{{{{{{|zzz{{y{{z{zz{{{{zzzzzzzz{{{{zz|z{zz{z{zz{{|z{|{{zzzz{{{z|{||{||{{{z{{zzz||{{{{{{|{z{zy{{{z{|z{|{{z{z{zz{||{{{|||{{{z{|{{|{{{{{{{{{{z{{{z{|{|{{|||{{{zz{z{||{|{|{|zz{y{zz{{{{{{|{z{{z{zz{||{{{|{{zzz{{yzzz|{{{||{{zz{zyzzz{{|z{|{{{{zzzzzz{{{{zzzzz{yzzzyy{{{zzzzz{zzzxyzzzzz{|{{zyzzzzyzzy{zzzy{zzzzyyzyz{z{{{y{{z{zy{zyzzzyz{z{zzzyzyzyyyzyzzz{zyzzz{xyzyzzz{zzzyzzyzyzzzzzzzzzyyzzyyyzyz{yyz{z{zzzzzxyzzzzz{zzzz{zzzzzzzz{{z{{zzyyzyzzzy{zzzzzzzzyzyyzyzzzzy{{{zyyy{zzz{{zzzzzzzyyzzzyz{zz|z{{zzzzyzzy{z{zz{{{zzyzzzzyyz{{{z{{zyz{zzzz{{{{z{{{{zzzyzzz{{{z{{|{zz{z{zzy{z|{{{z{z{zyzzyz{{{|{{{{z{zz{{yz{{|{|{{{{zz{{zzz{z{{||||{{zzzzzz{|{{{z{|zz|{z{{{{{{||z|{{{{{z{z{{{{{|{{{|z{{zzz{{{|{|{{{{zzz{{{{zzz{{||{zzyz{zz{|z|{{|{{z{{zzzzz{{{{{{{{{{z{zz{zz{{{{{{{zy{zzy{z{{{zz{{zyzzzyyzzz{z{yzz{zzzzzyzyzzzzzz{{zzyzzzyzz{{zzzz{zyzzzzzzzz{{zz{yzzzzzyzy{{|{{{{{zyzyzz{zzz{zz{zzzzzzzyyyz{{yzzz{yyyzyyyyzz{{{{{{zyyyyyzxzz{zzzzzzyyzyyyy{z{zz{{{{z{xxyyzzzyzz{{{{zzzyzzzyzzzzzzzz{z{yzzyz{zzz{{zz{yyzyyyz|zz{z{{zyzzyzyzzzz{{z{{yzzzzyzz{{{{{|{{yzzzzyzzz{{y{|zzzyz{zz{zzz{{{{{zzzzyzzzzz{{{{{{z{{yzzzzzz{{z{{{|zzz{zzz{{{{|{{|zz{zzz{zzz{{||{|{z{zzzy{y{|{{{|{z|{z{zzzz{{{|{z{{zzzz{{{z{{{z{{||{{{z{zzyz|{{{|{{|{z{{{{{|{|{z{|{{zz{zzzz{zz{}{{{{{{{z{z{{{{{{{|{z{zzzzzz{{z{{{{{{z{zzyzzy{z{z{{zzz{zzyzyz{|z{z{yyzyzzzzyz{zzzzz{{yzzyzyzzzzz{{{z{zyzzzyy{z{zzzzz{yyyzyzy{{{zyz|{zyyyyzyzz{{yz{yzzyzzzzyyz{zzy{zyzyxzyzzyzz{yyz{z{zzzyyzyyyz{zz{{yzzzzxyyz{{zzz{yyzzyyyyzzzzz{{z{zzyzz{zzzzzz{{zyzzzzyyzyy{zz{zz{zyyzzyyyy{z{zzz{zzzyzyyz{zzz{zz{zzyyzzzzy{z{{zz{yyyz{y{yz{zzz{zzzzzzzzyzz{{{z{{{{zzyzzyyz{y{{zzzxyyzyzyz{{{{|z|{zzyy{zzzz{{{{{zz{zzzz{{y{{{{{|{{z{yz{z{z{z{{{{{{{{zz{zyz|z{{{{{{{{z{yyy{z{z{{{|{z{{{{{{zz{{{||{|{{{{z{{{z||{z{{{{y{{z{y{|{{{{{{{{zzzz{y{z{{z{{{|z{z{z{z{z{{|z{z|z{{{z{z{zzz{{{{|{zzy{zzzz{z|z{{{zz{y{zyz|{|{{{zzzzzz{{yy{z{{{z{|yzzz{zzyzzzz|{|{zzzy{zzz{z{zzz{{zzzyyyzzz|zzzz{zyzzzzzzzz{z{z{{|zzz{yzyyzzzzz{|z{yyz{yzz{y{z{z{z{z{zyzyzzzz{z{z{{zzyzyyyz{{zzz{zzz{zzyyzzzzz{{{zzyzzyzzyzz|zzz{{zyzzzyzzzzzz{{{z{zzzzzzyyzz{{|{{zz{{z{xz{zzzzz{{z{zz{y{zz{zzzzz{zz{zyy{yz{z{z{{{zzzzyzzyz{z{z|zz{zyz|zzzz{{zz|{{{{{zzzyy{{z{{{{{|{{z{{zzz{{{{z|{{z{zzzyzz{{{{{{|z{z{{{zzz{{|{z{|{{{{{{zzz{zz|{||{z{|{zzz{{{z|||z{z{z{{{{{|{{||{{|{zzz{{zz||{{||{{z{{zzz{{{{|z{{{|{z{zz{z{{}{{{{{{{{z|{{{z|z|{|{zy{{yz{y|z{{{{{|{z{z{zy{{{{{z{{{{z{zzzzzz{|{{z{zzzyzzyzyzz{|z{{zzzzyzzyyzz{z{z{{{zyyzzzyz{{zz{z|y{y{yz{zzzzzzzy{{{zzxzyyyzzzz{{{{zyzzyzyyz{zz{{zzzyzyzzyyzz|zzz{zzzyyzyzyzyzz{{z{yyzyzyzyyz{zz{zzzzzyyyy{zz{y{z{zzzzzyyzyzzzz{{{{zzyzzyzzyz{yz{{yzzyy{zzzz{{{zzzz{zzzzzzy{z{{zzz{zzzz{zzz{{zzz{{zzzzzzyz{{zzzzz{zz{{{zzzzz{{z{z|{zzzzzzz{zz{z{zzzzz{zyzz{|{|z{|{{zzzzzzyzz{{{z{z{z{zz{{zz{{z{{|z|zzzzy{{z{{{{z{|{{{z{zzzzzz{{{{|z{zzz{z{z{{{|{{|z{z{zzz{{{{{z{|{|{zz{z{{z{}{|z|z{{zy{{{z{{||z{{||{z{zy{zz{{{|{{{{{{z{{{zz{|{{{{{|zz{z{{{{{z|{{{{{z{z{z{zz{{{{{z{{zzzzzy{zz{zz{{{{yzzyzzzzz{{{z{z|{{yzzyzzzzzy{{z{yz|yzzzzzzzz{z|{zyzzyyy{zz{yzz{{y{zzy{zyzyzzz{{{zyyz{yyyz{zzzz{zzyzzzzyzy{zyz{zzzzzyzzzz{zzzzz{zyyzzzz{zyzz{zzzzyzzyzzyyzzyz{z|{zzyzyzyzy{{zz{{y{y{yzzyzzzzz{zzzzyyzzzzyz{{zz{z|{zzzzzyzzzz{z{{{{z{zyyzzz{z{zz{{zz{zy{z{{z{{{{{{zz{zz{yzzzz{{{{{zzzz{zzz{zz{z{zz{yzzzzzy{{{|{z|{{zy{zzzzz{z{{{{zzyzzz{z{z{||{{{{z{zz{z{{{{{|{{{{zz{zzz{|{{{{|||z|zzz{{z{{{{|{|{{{{{zzz{{{{{|{|||{z{{z{{{{|{{{{|{{zz{{{{{|{{z{||{{zzz{{z{{{{{{{{{|z{{{{z{{{|{{|{{{{{yz{zzzz{{{{||{{zzzzzz|{{|{z{zz{{{{z{zyz{z{yzzzyzzyzzz{{{y{zzzzzzzyzzzzzzz{{{{zzzzyyzzzy{{{{{{yzyyyyyzyzz{z{{yzzzyyyzyzz{{zzz|yzzzyyzzzzz{{{zzzzyzyzzzz{zzz|{{zzyyx{yzzzz{zzz{zy{yyxzyzzz{zz{{zzyyyzyzz{zzzz{zyzzzyyyzzzyzzzzzzz{yyyzzzzzyyz{yyzzyzzzyyzzyzzz{zz{z{yyzz{{{z|{zyzyzzyzyzz{{z|zzyyz{zzz{{zz{{{z{zzzzyzzzyz{{{{|{zy{zyzzyz{{z{{zzyz{{{z|zz{|z{z{{{zzz{{zzz{{z{{zz{zz{zzzz{{{|z{{{z{{zzz{{z|{{{{{|{zzzzzz{z{zz|{|{{zzzzyzz{{{{{|||{{zzz{{z{|{{{{{||zzzzzz{zz{{{|{|{{{{zz{{{{{{{zz{{zzz{zz{{{|z{|{|{|z{zzzz|{{{{{{|z{zyzzzz{z{z{{{{z{y{z{{z{{{{z{{zzzzyyy{zzz{{{z|zzzyy{zzzz|zz{zz{zyyzzyzzz{zzz{||zzzzyzyzz{z{{zzz{yzzyzz|{{{zz{{{{{yyz{zx|z{zzzz|zzzyzyzzz{{{zzzz{z{zzyzzzzzzyz{zz{yyzyyzzy{zz{zzz{yy{yzyyz{zz{zz{zyzzzzyyzz{zy{{zzyyzzyyyz|{zzz|{zzzzzyyzzzzz{z{{yzzyyzzz{zzz{|{yyzzz{zzzzzz{{{|yzyyzzzzzz{z{{{{zyz{zzzzz{z{|{{|yzzzyzzzzz{{z|{|{{zzzzzzz{{{zzzz{zzzzzz{z{{zz{|{{zyz{{z{z{{z{{{{{z{{{{zyz{{{z{|{z|zy{{zzz{{{{{{|zz{yzzzz{{{z{{{{z{{z{z{{{{{{||{{{zz{||z{{{{|z{{z|z{{z|{z{|{{{|||{z{{zzzz{{|{{{{{{zzzzz{z{{{{|{{{{{z{{{{{z{||{{{{{{{{{{zz{||{{{|{{{{{z{{zz|{||z{{z{zyzzzy{{z{zzzzzzzyzyzyzz{yzz{{y{yzyyyy{zzyzzz{zyzyzzyyzzzyz{zyzzzyzzyzzyz{z{{zzzzzzzyy{yzzzzz{yzyzzzzyzzyyzz{yzyzyyyzz{zz{zzzzzyyyyyzy{yz{z{z{yyyzzxyzzz|zyzzzzyzyzzyzzzzz{{zzzy{zzyyxzzzz{{{zzzzyyyzzyzzy{{z{yzzzzyyyzzzzz{zzyy{yyzyzzzz{z{z{zyzyzyy{z{z{{{{yzyzzzyzzzz{{zz{{yzzzzzzz{{{z{{{{yyzzzyyyz{z{{{{{zzzzzyzy{{{zz{{yyzyzz{yzz{{{zz{z{zzyzz{{yz|{z{{zzzzz{{z{{{{|{{|{{zz{zzzz{{z{{{{{{z{z{zzzz{{|{z{|z{zz{z{{{|{{{|{{{z{z{{z{{|{z{{||z{{{{z{z|{{{|{{{{z{z{zzzz{|{{z{|zz|{z{z{z{z{z{{{yzzzzzz{{{{{z{|{z{zzzzyzz{{|z{zzzzzzyyzz{{zzzzyzy{zyzyzyy{zz{z{{zzyzzyyyz{{zzzzzzyzyyyyyzz{{{{yyzyzzzyxzzzz{z{zz{zzyyyyyzz{{zz{{zzzyzzzzz{yyzzzzzz{yxyyyzyyzz{zzzyyxyzzyzyy{yzz{zzzyzyzzzyyzzz{{zzzyyyyyzy{yzyzzzyzzy{zzzzyyzzz{yyzzzyzzzzz{zzzz{yzyzxyzyzzzy{z{zzzzzzyyzzzz{{{{zzzyyyzzzzzyy{z{zy{zyy{y{zz{zzz{zzzzyyzzz{zzz{{{zyzzzzzz{zz{z{{z{zzz{{zzzzzz{{{{zzyyzzyyzz{z{{{y{{zzzyzy{{{{{{{{z{{z{zy{{zz{{{{{zzzzzyz{{{z{z{{z{zz{{zzz{{{|{z{{{yzzyzz{z{z{{|{{|{zz{zzz{|{z{{{|{z{z{{zz{{{{{{{{{zz{z{z{z{{{|{{|{{{zzz{z{{|{||z|zzyzzyzz{{{{{|{|zzzzyz{zz{{{{{zzyyzzzy{{z{{{{zzzxzyyyyyyy{{zyz{{yyzzyyxzzzzzy{{{zzyyyyyzzz{z{{{{yyzzzyzzyz{zzzzzzzyyyyzyzzzzzzz{yyzyzyzyzzzzyy{zzyyyyzyzz{{zy{zzyyyzyyyzzyyz{zzzzzyyyxyyzzzzzzzzzyyzyyxyzz{z{zzzzzzzyyyzzzzzyz{{yzyyyzzyyyzzz{{zzyzyzyyyz{zzzzzzyzzzxzyyzzz{{{{zzzzyzyzzzzyyzz{zyzy{zyzz|zzzzz{{yzyyyzzzz{{zz{{{zzzyzyzzzzzz{{{{zzyzyyzyzz{zzz{z{{zzzzzzzzzz{z{{{{zzzyzzz{y|z{{{zzz{{zzzz{{|{{|{zz|z{zzyz{z{{{|{zz{zzyzz{{|{{zz|{{zyz{{zzz{|{|{{{zzz{zzz{|{{{{{{{{{zzz{z{{{z||{zzzzzzz{{z{z{{{|{{{{{zzz{{{{|z{||zz{yzzzzz{{{z{|{z|yzzzzz{z{{z{{zzyz{{zzzz{{{{z{{zyzyzxyyz{{z{yz{yzyzyyzzzyzzz{zz{zyyzzzyzy{yz{{zyyzzyzz{{y{zzzz{zzyyzzyyzz{zz{z{zzzzzzzzyzzzy{{z{y{y{yyyzz{zyz{zzyzyyzyyzzzzzzy{yzxyyyzyy{yzzzzzyyzyyyzzyzzz{zzzzzzzzyzyz{zy{z{{zyzyyyzyyy{yz{{z{yzyzzyzz{z{z{zzyxzyzyyyzzzzzy|{zzzyzz{zzz{zzzzzzy{{yzzy{zyzz{z|zz{yyyzzy{{zz{z{y{{zzzzyz{y{z{{{{zzyzzy{z{|{{z{{zyzyzzzzz{{zz{{{zzz{zzyz{{|{z{{{{z{z{z|{{{z{{{|{yz{|zz{z{{zz{{zz{zz{z{zzz{{|z{{z{{zyz{{z|z{{|{{{{{{y{zzz||{|{{{|{{z{zy{z{|{{{{|{|zz{zz{z{{{{{{{{{zyzzzzz{z{|{z{{{{{z{{{zz{z{{{||zz{yzzzyzz{{{{{|zyzzzzyy{{zzzzz{{zyzzzzyyzzzzz{{zzyzzyyzzzz{{|z{{{zyyyzxzzzzz{{{yzzyyz{zyz{{zzz{{zzzzzzyzzzz{zz{zzzzzyzyz{z{z{{yzyzyzyzzyzzzzzy{yzyzyyyyzyzzzzzzzyyzzyzyzzzyzzzyyyy{yzzzyz{{{zzzzy{yyzyzzzyz{{{{zzzzzzzyy{yzyzz{zzzyzyyyzzzzyz{zzz{yyzyzzzzz{{zzzyyzzyzz{z|zz|{{yzzyzzzzyy{{z{{zzy{zzzzzz{{z{z{z{yz{zyzzy{{{{{{{{z{zz{zzyz{z{{{z{yzzy{zz{{{zz{{{{{zzz{zzz{{|z|{{z{zz{zz{{{{{{{{{{{z{zzz{z{|{|{|{{y{{zz{z{{|{{{||z{{zzz{zz|z{{|{{{{zzz{{z{{z|z|{|{z{{{z{zz{{{|||||z{{zzzzz{z{{{||zzzzzyz{zz{{{{{{{{zzyzzz{{|{{{|{|{z{{y{z{{{{|{z{zzzzzzyzzzzz{{|zyzyzyxzy{zzzyzzzzyzyyxyyxzzz{{z{zzyxzzzyzzyzzzz{zyyyzzzzzzz{zzz{zzyyyzxzzzzzyzzzzyzy{y{yzzzzyzzyyyyyzzzyzyzyyz{zz{zyzyyzzy{{yz{zzyyyyyyyzz{z{zzzyyyzyyyzzy{zz{zzzzzyzyzyxz{zz{zzzyzyyzzyyzzy{{{{zyyxyyyyzzzz{{zzzyzzzzzyzzzz{zz{zzzyzyzzy{zzz{{{zzyzyyzzzzz{{{{{z{zzy{zzzzzz{{|{zzzyzyzy{zz{{|zz{z{yzzyzzz{{z{|z{zzz{zzzz{{zzy{{{zzzz{zz{z{{|{z{z{zzz{{{z{{{|{{|z{yz{yyz{|{|{{{{z{zz{{{zz{{{z{{{zz{{yzzz{|z{z{{{{z{{z{zz{|z{z{{{|zzzy{{{{|{{z|{{{z{zzz{zzz|{{{|{zzy{{zzz{z{|{{{z{{zy{yzyzzz{{{|{zyzzzzzz{z{zzz{{zzzyzzzyz{{zzyzyzzzyzyzy{{{zzy{{{yzzzzzz{zz{{{zyzzyyyyyyzzzzzz{yzzzyyzzzzzz{zzyzzzzyyyzy{y{{z{z{zyzzy{zxz{{y{{{yzzyzyzyzz{{zyz{yzyyyyzzzzzyyzzz{zzyyzzzyz{z{{{zzzzzyyyyzzzzz{zzzzyzzyzyzy{zzzz{zzyzzz{zyyz{zzz{{z{zyyyzzyzzzz{z{yyzz{zzy{yz{{z{{zzyyzyyyz|zzy{|{zzz{zyzz{zzz{{{{{{zzyyzyz{{{z{{{{z{yzy{z{{{{zzz{zzzzz{zz{z{zz{{{zzz{zzzz{{|{{|{{{{{zzzzz{{z|{|{{zzzz{|{{|{{|{z{{{zzzz{yz{{{{|{{{{{z{{zz{{{{zz{{{{{yzz{{{{z{{|{|||z{{{{z{{|{{{z{{{z{zzzzz{z{{{{|{{{zzz{zzz{z{z{|{{zzzzzz|{|{{|{{{zzzzzzyz{{z{zz|{{zzz{yzz{{{{zz{zyzzz{zzyzz{{{zyzyzzzzzzyz{zz{{{zzy{zzyz{yzz{{zz{zzzxzzyyyz{z{{{{{yz{zyzz{z{{zz{zyyzyyyzy{z{{zzzzzyyyzyyyzz{{zz{zzyzyyyxzzzzyzyzzzzxyyyzzz{zzy{z{zzzyyyzzzzzzzyzzzzzzyyyyyz{zzzzzyyyzyzzzyzyz{y{zzyzyyyzyyzzzzz{{zyzyzzzxzzzzz{{zzzzzzzzyzz{{zz{{zxzzyzyyzz{zz{z{{z{zyzzyzz{{z{zyzzz{yzyz{{{zz{{{yzzyzyyzy{zzz{{{{z{zyy{z{{yzzy|{{zyy{{zzz|{zzz{{{z{yzz{{{{|z|{|{zzz{z{z{{z{{||{|{{yzz{zz{z{{zz|{{z{zzzzy|{{z{|{{{z{z|zz{z{{{z{z|{yz{{{{{z{{{{z{|{z{{zzzyz|{{{{{{z{z{zz{zz{{{{{z{{zz{{zzzz{{z{{{{zzzyyzz{{|{{zz|{zzzzzzz{z{{{{{{{z{zzzyyz{z{{zzzzyzzzyzxx{yzzzzzz{zzzyzzyzzzzzzzzzzyyyzyxzz{zz{zzzy{yzyyzy{zzzzz{zzyzyyyyzy{zzzzzyzzyyxzyzzzyz{zyzzzzyzzyzyzyxzzzzzyyyyyyyzzzzzzzzzyy{yyzzzzyz{zzzyyzyyyz{yz{zzzzzz{yxzyzyz{yz{z{zyzyyxyyzyzz{zz{zyzyzxzyyzyyzz{{zyzzyzzzzyzzz{z|zyyyzyzzzyzzy{z{{yzz{zyzz{z{z{{{{yzzyzzy{{z{z{{zyzzzzxz{{zyzz{{zyzzz{zzzzz{{{z|z{zyzy{zy{{{|{|zzzzzz{z{zy{{{z{{{yz{{zzzz{{{{{z{{{z{zzzzzz{|{{|{|{zzzz{zzz{{{{{{|zz{z{{zzz{{{{{{{z{zzzzzzz}zz|{{z{yzzzz{z{{{{{z{|{zzy{{zyz{{z{{{{{{z{{zyz{z{{{{{z{z{zzzzzz{{z{{|{zzzzzzzzz{{{z{y{{zzzyzyzz{zyz{{{yzyzyyzyzzzzzzzzzyzyzzyxyyzzzzzzzzyzyzzyzzzzzz{zyzzyyzyyzz{zyzzzyzzyyyzyzyz{z{z{yyyz{yzyyzy{yzzyzzzyyyyzzyzzyzz{zyyxyyyzzzyzyzz{yyyzzzzyy{y{{{{zyyzzyyz{yz{{zz{zzzzyyzyyyzzzzzz{{zzyxyzyz{yz{zyzyyzzzyyyyzzzzzyyzyzzzzyyzzzzz{z{{zzyzzzzz{zzz{zzzzzzyyzzz{{zzz{{yyyyzzzzzz{zzzz{zzyzzxzzy{zzz|z{{zyzzyzyzzzzzz{{zzyzzz{z{z{{z{{{z{zzyzz{zz{zzz{|zzzyz{{y|{y|zz|{{z{z{zzzzz{{{|{{yzzzzzzz{|{{{|{{z{{zzz{{{{z{{{{z{{z{z{zzy{{{{{{{{z{zz{yz{{{{{|{{{{z{z{z{{{zz|z{{zzy{{zyz{{|{{z{{zzzzzzzzz{{{{{|{z{z{zzzzzz{|z{{{zzzzzzzyz{{z{zzzyzzyyyzzzz|z{{z{zzzzyyyyzz{{zzzzzyyyzzyyzzzxz{{zzyzyzyyzyz{zzyz{{zzyyyzyzzz{z{{zyyyyzzyyz{zyz{zzyyzzyyyyzyzyzzzzyzyyyzzzzzzzzzyz{zyzyzzzyzyzzzzzzzyyxzzyzzzzzz{zyyzxxzyyzzy{{zzzzzyzyxyyzzzzzzzzzzzzyyyyyyzzy{{zyzyzzzzzzz|{zy{zzzxyzxyyzz{zzzzz{zzzyx{zzzzzzyzzzzzyzzzyzz{zzz{{yzzyyyyxz{z{z{{{zyzzzzyyyz{zz{{{z{zzzy{zz{{z{{zz{y{yz{zzz{{{{{{z{zyyzzyz{{zzzz|zzyzzzzyzz{{{z{{y{{{z{{yz{{{{{{z{zzzy{z{z{|zz|{z{{zzzzz{{zz|{{{|z{{zzzzz{z{z{{|z{|zzz{zzz{{{z{{z{{z{{zz{{{{zz{{{{{zzyyzzz{{z{{z{{{zzzyzzzz{z{z{zzzyzyyyyy|{{zy{{zyzyyzxzyz{{zzzz{zyzzyyzyyzz{z{{{{zyyxyzzzz{yzzzzzyyyzyyxzzzzzzz{zzzyzzzyzz{{zzz{zyzxzzxzzzxzy{{zzyzyzyyyzyzyzzyzxzyyyzyyzzz{yzz{xyyzzyzyzzzzz{zzzxzyyyyyyzzzz{{zzyyyyyzz{zz{z{|z{yzzyyzyz{zzzzzyzzzyzyzzyzz{z{{zzzzzzyzzzyz{zzzzzzy{zzzz{{zzzz{zzzzzyzzzz{z{z{{zyz{zyzzzzzzz{zz|z{yzzzzyzzzzz{{zzz{yzz{z{{{{{z|yzzzzzzz{z{zz{{{{zzzzz{{{zz{|z{{{zz{zzz|{z{{zzz||{{zzzzzzz|z{{{{|zzzzzyz{{{{{z|{|{{{zz{zzz}zz{{|{{{{{z{{z{{{{{|{z{z{zy{zzz{{z|{|{zyzzzzzzz{z{zz{z{zzz{{yy{{{{{||{z{{y{z{zz{{z{|{{zzzzzzzzzz|{{{{z{z{yzyzxy{{zzzzzyyyzyzzyyzzzzyzzyxyyzyyyzz{zzy{zzzyyzzyzzyyz{z{{xyyyyzyzzz|zz{z{zzzyyxyyzzzzy{{yzyyyyyzyzzzz{zzzzzyy{yyyy{{zz{zyzzyzzzyyyyzzzyzzzxyzyyyyyy{yyzzzyxyyxyyzzz{zzzzzyzzyyyyxyzyzyzzzzyzzyyyyyzzyyzyzzzyyyyyyz{z{z{z{yzy{yzyyyzzzzz|zzzzyyxyy{zzzzz{zzzzyzyzzzyzzz{zzyzzyzzzzz{z{zzz{yyzzzyzzz{y{{zzzzyzyzzy{{{{{yzzzzyyzzzzzzz{z{z{{zzzzzzzz{zzz|{{{zzzyzyzz{{z{{{|{{yzzzzzyzz{{z{|zzyzzzzzz{|{{z{zz{zzzzz{{y{zz|z{z{zy{zzzzz{{{|z{{z{{zzzzzz{{{{{{{zzzz{z{z{{z{{z||zzzzzzzz{zz{|zz{z{zyzz{zzzz{z|{{{z{zyzyzyz{{zzzzzzzzzyz{zz{z{{zyyyy{zyyyyyzyz{z{zyyyyyyzzzz{z{y{zzyzyyzxzzzz{{{zzyzyyzyyyzz{zzzzzyxyyyyyzzzzzzzzyzyyzyzyy{zz{z{zzzzzzxzyzzzzzyzyzyyxzyyyxzyyzzzzyyyyzyzyzz{zzyzyzyzzxxzyyz{z{zzzyzyzzyyyzzz{zzzzzzzyyyxzyzy{zzzzzzyyyyyyyyzzzzzzzzyyzxzzzzy{z{{zzyzzzxyy{zyzzzz{zyzyzyyzzz{yyzz{yz{zzyzz{{{zz{z{zzyy{zzyzzzzzzz{yyzzz{zy{{{zzz{zzyzzzzzz{zzzz{{zzzzzz{zzz{{|{{z{yzzzzz{z{z{z{{{{z{yzyz{yz{zzz{{{{zz{zyzyz{zz{z|||z{zz{{zz{{{{{{|zz{zzzzzz{{{{|{|z{{{zz{zz{{z||{zyxzzzzzz{z{{{{{{z{zy{zzzz{{{{{z{{z{xzzyyz{{{z{{|{{yzzzzyzzz{z{{zzyzzzyyz{zzz{{zzzzyyyyyyyzzzyz{|zyyzzyxzzzzyz{z{zzyyzzyyzyzz|{zz{zyzyyyzyzzzzzzz{yxzyzyxzyzzzzzzzyyyyzzzyzyzyy{{zzyyyzy{yzzyzzz{yzzyyzyyyzzzyzz{zyyyyxyyzzzzzz{zzyzyyzzyyzzzzy{{yzzyzyyxyzzzzzzzyyzzyyzzyzyzzzzzyzzyzyzzyzyzzzyzyyzyzzzzzyz{zz{{zzyyzzzzy{{zz{{{zy{yyy{yzz{zzzz{zzzzzzzzzzzz{z{{zz{zzyyz{{{zy{{{zy{zzzzzz{{zzz{{zyyz{yzyz{zzz{{{{z{z{z{zz{z|{{|{y{z{zz{y{{{zz|{{zzzzyzzzzz{z{z{z{{yzy{{zz|{{{{|{yzyzzz{{{|{{{{{{{zzzz{yzz{{z{|{{{zzzz{zz||z{{{z{{zz{zz{{zzz{{{{{{{zy|yy{{{z{{{{{z{zz{zzyz{{{{{{{{{yz{{zy{{{{z|{{{z{zzzz{z{zzzz{zzyyyzzzyzz{zzz{{zyyzzzwzzz{zzz{z{{zyyzzy{{zzy{{zzyzzzzzzzz{{z|{{zzzyyzzx{zzz{yz{zy{zz{zzyz{zz{{z{{zyzzyz{z|{zzzz{zzyzzyzzyyzzzzyxzzzzyzyz{zz{{{z{zyzyzyzzz|yz{z{zzzyyyyyzzyz{{{zzyyzzxzzzyzzz{{zzyyyzzzzyzzzy{z{zzzzzzz{zzzz{z{{zyyzzy{yzz{{zz{{zz{zzzzzzzz{y{{zzzzyz{z{y{z{{|{zzyz{zzyz{z{{{|zzzzzzzzz{{z{{z|{{{zz{zzzzz{{{{{|{{zzzzz{zzz{{{|z{z{zy{{yz{{z|{|{||{zzzzzz{|{{{{|{{zzy{z{z{|{{{{{{{z{{zzz{{|{{||{{zzz{zzz{z|{||||||zzzz{{{z{{{{{{{{z{{{z{{{{z{zz{{{zzz{{zz{{{{{|{{zzz{yz{{z||{z|{{{{z{zzzzy{|{{{z|zzzz{zzy{|zz{zzzzzyyyyzzy{zyyz{{yzzyyyxyzzzzy{zzzyzyzzyyzz{y{{{|zyyzzyxzyzzz{{{{{zyyxyzy{z{z{zy{yyzyyzzyzzyzz{{yzyyzxxyy{{zzyzzyyzyxyzyyzyz{zzz{yzyyzyzyyzzyzz{zyzzxyzxzzyzzzzzyzyyzzzyxy{zzyy{zzzzxyzyzyzzzzzz{zyyyyyzyzzzzzzz{zzyyzyyyz{zzz{{z{yzyzzzzz{zzy{z{z{{y{yzzy{zzz{|{z{{{zzyz{zzzz|{{zz{zzy{zz{{z{{yzzyzyzyzy{{{{zz{{zzyzzyyzz{{{z{{zyzzzzzzzz{|{|z{{{{z{{zzz{zzzz{z{{{zzzyzy{{{{{{z{zyzyzzyz|{{{{z{|{z{zzzz{z|z{{|{{{yz{zzzz{|{{{{{|yzz{z{z{|z{{{{zz{zzzzzz{z{{{|{{{{{z{{{zyz{{{{{{{zzz{zzzzz{{{zz||{zzzzzzzz{{{{{|zz{zyyzzyz{zzzzz{yzyz{yyyzzzzzz{zyzzzzyyzzzzzz{z|z{zzyyyy{zyzzzzzzyyzzyyxz{z{zyz{{zzyzyyyz{z{z{{{yyzyyzzyzz{yzz{zzzyzzzxyzz{yzzzzzzyzyzyzzyzzyzz{yxxyzyyzyzzzyzzzzzzzyzyyzzzzz{{zyzzzyzyzzz{z{zzzzzzyyyyyzz{zz{{y{yyyyyyyzzzzz{{{yzz{zzyy{zz{zz{zzyzyzyz{zzzzz{z{zyzzzz{zzz{{{{{{zyzyzyyz{zzzz{|z|zzzyzzyy{z{z{zzyy{zzzzy{{{zzz{{zzz{zz{{{{|z{{{{{{{zzzzz{{|{{{z{zzzy{{zzzzz{{{{{{zzzzzzzz{z{{{{{zzz{z{zy{{{{{{{{{zzzzz{z{{z|{{{{{{zz{{{zz|{{{{||{{z{z{{y{z{{{{|{{yy{zzyz{z{|zz||{zz||zz{{{{{|{{{{{{zzz{zzz{{{{{|{{zz{yzzz{z{z{{{zzzyzyzy{z{{zzzzyyzzyzzxyzzz{z{zzyzzzzyyzzyyzzzzyyyyyzyzzzzzz{z{zxzzzzyyyz{zzzzzzyyyyzyyzz{{zzz{{zzxyyzyy{zz{z{zyyzyzyzy{zzzzzzzzzyxzyyzyzzzyz{zzyyyzyyyzzzyz{zzyzzzyzzz{zzzzzzzzy{zyyyzyzyzzzzzzzzzyyzyzz{zzzzzzzzyzzyzx{zy{zzzzzyyzzzyzz{z{z{zzzzyzzzyz{z{zzz{zzz{zyzzz{z{z{{|zzzzyzzy{{zz{|{zzzyzzyzyz{zz{|z{zyzzyzzyzz{{zz{{{zzz{zyz|zzzz{{{{zyyzzzz{{{z{{{{z{zzzzzzz{z{{{|{{zz{zyzzz{|z{z{{zzz{zyzzzz{{{{{|{z|{zz{zz|z{{|z{|zzzz{zzz{{{z{|{{z{{{zz{{{|{{{{z{y{{zz{{{{{{{{{z{zzz{zz{{zz{z{{{zz{z|z{zzz{{z{{{|zyzzzz{y{z{|z|{zzz{zzzzzz{zz{{{yyyzyxyyzz{yzz{{zzyzyyyyzz{z{z|{{zyyyyzyz{zzzz{zzyyzyxzzzzzzz{{z{zzyyzzy{z{{zzy{zyzzyzyyz{zyy{z{yzzzyyyyzz{{zyzzzzyzyyzzzyy{zz{zzzyyyzyyzzzzzzzyzyzyzyyzzyzzzy{{yz{yyyyzzzzzzy|{zzzyzzyyzz{zz{z{zzyyzzzyzyzzzy{zzyy{z{zyzzz{zzz|zyzzxzzxzz{{z{{{zzzyzyzz{z{zyzz|zyyzzyzz{{{{{|{zzyzy{zyyzz{{{{zz{zz{zyyyz{zzzz{z{yzzzzz{{z{z{{z{yzzzzzzzyz{z{|z{zzzzzz{{z{{|{{{|{zzzzyyz{{z{{{{{{y{zzzyz{{{{{|||{z{zz{{{z{{z{|{{{yz{y|zz{{{{{{{{|zzz{zz{{|z|{z{{{{{z{zzz{z|{zz{{{z{{|z{yz{{|{{{{{zzz{zzz{{{z{zz{{{zzzzzyz|{{z{{{yz{yzzzyzz{zz{zzzzzyzzyyzzzz{z{{{{yzyyyzyyzz{zz{zzzyyyyyzzzzz{zz{yyzyyzyyzzzx{{yzzzyyyzxzzzzzz{zzzzyyyzyzzyzyzzyzz{yzyyz{zzyzz{zzyz{xzyzyzz{zzzzyyzxyxyyzzzyz{zzzyyyyzyzzyzz{{zzzzzyyzzxzzyzzz{zzyzzyyzyyzyzzz{{zzxzyyzxyzyzz{{zzyyyzzxzz{zz{{y{zzyzzyzyzyzzyzz{yyzzyzzz{y{z{zz{zzzyzyyz{|{zzy{z{zzzzyzyzzzzz|{z{zzzzzzyz{|zyz{|zyz{yyzyz{{zz{z{{zz{{zzzz{{{{{|{{{zzzy{{{{z{z{{{{yzyzzzzzz{zzz{{|zz{{zzzzzz{{z{z{{zzzz{z{{{z{{{{{{z|zz{zzz{{{{|z{zzzz{zzzzz{{{z{zyzzzzzz{{zz{{|{{zyzzzz{{{{{{z{{{yzzzzzzz{{|||{{zzzz{zzzz|{{y{{zyz{zzzxzzz{z{{{zyyyzyzxyy|{zzz{zyzzyyyyyzzz{{{{{zzzyyyzyzzzzz{zz{zzzzyyyyzyzyz{zzzyyzzyyzzzzz{zz{yzzzxzyyy{zyzzzyzyzzzzxzzzzz|{zzxyzyzyy{yzz{{y{yyzyzzyzyzyzzzzzyzyzxyxyzzzzzzzzzz{yyzxxz{zzyz{{yyyyzyyyzyzz{zzz{y{xyyzyz{zyzzzzyzzyyzzzzzzz{z{|{yzz{xyyzz{zz{{{zyzyyyzyz{{{zz{zzzzyyzyz{{yz{zz{zzzzzx{zz{z{z{zzz{{zzzyzz{{{zz{{zy{yzzzz{zzz{{{{zzzzz{z{{{z{|{{{z{z{{z{{zzz{zz||zzzzzzyz{{{{{z{zzzz{zzyz{{{z||z||z{yyzzzz{y{{zz{|zzzyz{zz{{{{z{{{z{{zzzz{{{{zz{{zzzzzz{{{{{{{{{{{zzz{yzz{zz{z{|{z{zzyzyzzzzzz{{z{z{y{{zzz|z{{zzzzzzyzzzxz{z{{{yyyzzzyyzyyy{zyy{zzyyyyyyz{zzzzzz{zzyzyxzy{zzz{{{zzzyxyyyzzzzzyz{zyyzyyyyxzzz{z{zzyzyyzzzyzyzyy{zzyyyzyyyz{zyyyzzzzyyyyzyyyzzz{zzzzyyyyzyyzzzz{zzyyyyzyyyzzzzy{{z{zyzzzyyyyzzzyzz{yzyzzzzzyzyzz{zzzzyxyyyzzzzyz{{zyzyzzz{y{{zzzzzzzyyzyyyyzz{zzzz{yzyzzyyy{zzzzz{{yyyzyyzzzzzz{{zzzyzzzyzzzzz{zyz{{xzzzyyyy{{zzz{{zzzy{zyzzzzzz{zz{yzzzzzy{z{z|{z{zzz{zzz{{zz|y{{{zzzzzzzy{zz|{{{{{z{yzzz{||z{{{z{{z{z{{{z{{{z{{{{{zz{y{zz{{{|z{{|{{{zzyzzzz{{|z{z{zyz{{{zz{{{{{{{yz{z{z{y{z{z|zz{zz{zzzy{zz{{{{{{{z{zzzzz{zz{y{zz{{{zyzz{zyz{{zzz{yzyyzzzzzzzz{{zzyyzyyyz{zzzz{{{zyzzz{yz{{zy{z{zzyzzzyzyzzz{z{{{zyzyyzzyzzz{zzzyzzzzzy{yzzz{zzzzzzyzzyzz{y{yyzz{zz{xyyyy{{yzzzz{yyzzyyyzz{zz{zz{zzyzxzzyzzyyz{z{yzzzzzzyyzzz{zz{yyxyzyyyz{zyzzzyyzxxxzzzyz{yy{zzzzzzxzyy{z{z{{{zzzyyyzzyzzzz{zy{zyzzyyyzzz{zz{z{zzzyyyyzzz{zz{{{zzzzzz{yz{zz{|zzzzzzzzyz{{{{z{||zzzz{zzzz{z{zz{{zzzzzzzz{{{{z{{zzzz|zz{z{{{{{{{{{zzzzzzzzz|{{z|{{z{z{zzz|{z{z{{|zz{zzzz{{{{{{{|{z{zzzzzz{{{|z{z{{z{{zzzz{{{{{||{{yz{{z{z{{|{{{{|{zy{z{{{{{{{z{{{zzzy{z{z{{z{|{{|{{{yzzyyz{z{{{z{zz{{zyyy{z|{{yy{y{yzzyzzzzz{y{{{zyzzyy{zzzzz{{{{zzyyyyyzz{yzzz|{z{yyyyzyzzzzyz{zzzzyyzyy{{zzz{{{zyyyzyyzzzyyz{zzzxyyzzzzzzzzzyz{xzyyzyyyzzzzz{zzyyyyzyyyzzz{zzzzyyzzyzyzzz{zzzzzzzzzzyzyzzzzy{{zzzzz{xyyyyzzzzzyz{yzyzzyzzzz{zzzzzyyyzzyzzz{zz{{zzzzzyzzzz{zzzz{zzyyzzzyzzzzzz{zzzyyzxzyzz{{{z{{y{{z{yzzz{{{{{{{zy{yyzz{z{{z{{|{zzyzzzzz|{{zzzz{zy{{z{{{{{|{z{{{yzz{{z{zz|z{z|z|zzy{zz{y||{{{|{{{zzz{{zz{{z{{{|zz{zzzz{{z{{{{|{{|zzzz{yzz|{{{||{{{{{{z{zz{{{|{{{z{zz{z{y{|z{{{|}{y{z|{z{{|{{{z{{{zzz{{z{zzzz{{||zzzzyzzy{zz|z{{{zzzzz{zzzzzzzzxzzzyyzzzyzz{y{{z{zyyyyyzyzzzz{{z|zzyxzzyz{{z{{z{{zyzyzyzzyzzzzz{{zyzzzzzyzz{zyzz{{zzyyyyzzzzzzzzzzzzzyyyyzzzzyzzyzy{zzzyzzyzzyzzzzyzyzyzzyzzzyzzzzyzzzzyyyzyyzzz{yzzzyyxzzzzyzz|{{zyzxzzyyyzyz{{z{zyzyy{yyzzzzz{zyy{zzzzzz{zz{zz{zzzyyyyz{z{{zyzzzzzyyzzyzz{zz|z{zyzzzyzzz{{z{zz{zz{zzzzzz{{{{zzz{zzzyzzyz{zy{{{z{zzzzzzz{{{z{{{{{zyz{zzz{{{|{|{zzzzz{zzz|{y{{|{{{zzzzzzyyz{{z|{|}yzzz{zz{zzz{|{{zz{yz{zz{{z{{{{{|{{zz{zy{|{|{{||{z{zzzz{z{z{z{{z|{zzz{zz{{{{z{{{|z{zz{zyz{||{{{|{zz{zy{zz{{zzz|{zzzzyzzz{z{{z{{{zyz{zy{z{zzzz{z{zzzzzzzyyzz{y{{yxzyyzxzyz{{zz{{{zzxzyyyyzzzz{{{zzzyzzzzyz{{zzzzz{zzyyxzyzyzzzzz{zzyxyzzyzzyzy{zz{zzyzxzyzzzyzz{zyzzyzyzyzxy{zzyzyyzyzzyyy{{{zzzzxzzzxzyzzzzz{y{zzzzzzzyyzzzyzz{z{zzyyzzzz{yyzzz{yzzzyyyyyzz{z{{yzzy{yzyyz{z{zzz{zzyyzyzzzzzyz{z|z{zzzyzyyzyz{z{{{yzzyyzyz{{z{z|{{zyzzyzyy{zz{{{{{yzyzyyzz{{{{{zzzxz{{zyzz{z|zz{{{y{zzyzzzz{{{{{zy{zzyy{z|zy{{{{|zzy{zzy{{|{z{|{zzz{z{yz{zz}z{{{{zz{z{{z{z{{z{{z|{{y{z{zz{{{zz{|{zzz{zz|{{|z|{{{{zzzy{{yzzy{{{||{{{z{zzzzz{{z{z{{z{zz{zzzz{zzz{{{{{zzyzzzzz{|zz|zz{{zzyzy{zz{zzyzzyyxzzyyzz{yzz{{yzyyyyyzzzz{z{zzz{yyyzyyy{zz{{z{z{{zyyyzzzzzy{{{zzyyxzyzzy{zzzzzzzyyyzzyzzzzy{zzzxyyyxyzzyzyzz{zz{zyyzyzzyzyz{zzyyzzyyxyzyzyy{zzyzyzzzxzyz{{{zz{zzzyzyyyzy{zz{z{zzxzzyyyzyzyzzzzzyyzzzyzy{zzz{z{zyyzyzyyzzyzzz{{zzzzzzyyzzzz{y{zzyzyzzyzzzzzzzz{zy{zyyzzzz{zzz{{zyzzyyzyzz{{{{{z{z{yzzzzzz{z{{{{yzzz{yzz{zz{zzz{{zzzzzzyz{{{{{{{z{zzzz{{{{{{{z{{{{zzzyx{{{{{{{{{|zzzzzzzz||z|z{{{{zz{{{yz{z{{zz{{zzzz{zzz||{{{|{z{z{z{zz{{z{{{{{{yyzz{z|{{z{{{{{{zzzz{z{z{z{{{z|z{yyz{zzz{zz{z{|{zyzyz{zzz{{z{{zzzzzzyzzz{{zzzzzyxyyzyyyzzzyzzz{zyyyyyzyyyz{{zyzzyzyxzzzzzyzzzzz{zzyyyyyy{zzzy{zzxzyyyxy{zzyz{z{yzyyyzzyzyzz{zzzzyyyzzyy{zzyz{{zyy{yyyyzzyyzzzzzyyyyyyzyyzzz{z{zzzzzyyxzz{{yzzzzyzyzxzyyzzzz{{{{zyyzzyyyyzzyz{{zzyzyyyyyxzzzyzzzzyzzxzyzyzzy{{z{zyzyyzzyyzzz{z{zzy{yzyzzz{z{zzz{zyyyyyyzz{zzzz{{yz{zyzyyz{{zz{{zyz{{yyyx{z{zzz{{zyz{{zzyz{z{z{{zyz|zzz{{z{yz{|zzzzzyzzzz{z{{zz{{zzzz{zzy|zz{{{{{zzzzzyz{{|{{{{{zz{{zz{{{z{{{{{{{{z{zzzz{z|{{{{|{{zz{zz{{{{z{z{{{{zzz{zzyz{z{{{{{zz{{{{zz{{{{z{|{{{{yzyyz{{z{z|{z{zy{yz{z{zzzz{{{zzzyzzyzz{{zyzyzzzyyyyzyyzzz{z{{zyyyzxyzyzzzzzy{{zyyyzzzyzzz{z{{{zzyyzyyyzyzzyzz{zyyyzzxzzzzz{zzyxzyyyzyyyzzzz{zy{yzyzyyzzzzyzyzz{yzzzyzyx{zzzzzzyyy{yyyzzzzzzzzyyyyzyyzzzzyzzzz{zzzyzyxzzzz{y{zyyyzyyzyzz{z{{zzzyzyzzzyyz{zzzzz{yzyyyzyy{z{zzz{zzyyzy{zz{zyz{z{zyyzyyzyzzzzzz{{yyzx{zzzz{{zz{z{zyzyyzzzy{{zz{zz{zzzzzyzz{{zzz{{zzzz{zzz{zz{z{zzz{zz{zz{{{{{z{{{z{zzzzzy{{z|{{{{zzy{{yzz{{{{{zz{{yyyzzzzz{{z{{{|zz{yzz|{{{{{{||{zzy{z{zyz|{|{{|{z{z|z{{z{{z{{{{{zzz{{y{z{{zz{z{|zz{{z{zy{{{||{{{{|{z{zyzz{|{zz{|zzyyzzzzy{zzzz{{zzzyyzzy{z{{z{zyyyzzyzzzzz{zzzz{zzyyzyzyzzzzzzz{zyyzyyzyzy{yzy{zz{yyyzyzzzz{zyz{yyyzzyyyyzzzzz{zzyzyzyzyz{zzz{zzzzyyyzyyzy{zz{{zzyyyyzyxzzzzzzzzyyzyyzzyyzzzy{zzzyzyzyzyyzz{zy{yzyyzxyxyyzy{{zzyyzzzzyyzyzzzyyzzzzzzyyyyzzz{zz{{zyzxyzzzzzzzz{z{zyyzzyzz{zz{zzz{zzzyzyz{z{zz{{zzyzzzyzyy{zzz{z{{zzyzyy{zzzz{z|zyzzzzzzz{z{{{zz{{zzzzzyz{{z|{{z{{zyz{{yzz{z{{z{z{yzzz{zzy{z{{{{||zzzzzzyy{{z|{z{{{z{yzz{z{{{{{{{{zz{zz{z{{{zz{||{{{zzz{z{z|{{|z{{{z{{zzy{{|{{{zz{{zzz{{{{z{{{zz{|{z{z{z{yz{{{z{z{{zzzzzz{yzy{{{z{{zzzzzzzz{z{z{{zzzzzzzzzzzzzyyzzzyyxzyyxx{zzyz{{yyzzzzzyzzzzyyz{{yzyyyyzzyzzyzzzyyzyzyzyyzzzzzzzzxyyxyyzz{z{zzzzy{xyyzzyzz{yz{zyzyyyyyyyzzzyzzzyyyyyzzzyyz{zzzz{zyyzxy{yyzzyz|zzzyzyyyzzzzzyzzzyyxyzyzxzyz{{yz{z{yyzzyzyyz{zyzzzzzyxyyyyz{zzyzz{zyzyyzyzz{yyzzz{{yzzzyzyzz{zz{z{yzzyyyyz{yzzzzzzyyzyyyzyzy{zzzzzzz{zyyyyy{zzz{zzz{yzyyzyzzyzzzz{zzzzyy{zzzzzz{yz{zzyzzzz{{z{{{z{z{{zyyz{yzz{y{{{yzzzzzzyz{{{{{zz{zyzzzzz{zzz{{{zzzz{z{{zzzz{{zz{{{zzzzzzz{{z{{|{{zzzyy{{{{{z{{zz{zzzzzyzz|{z{z{{z{zzz{yz{|yy{{{{zyzzzz{z{z{{{z{{zz{zyy{y{zzzz{{z{zyzyzzzz{zyyzyzzyxyzxzyyzz{zzz{yyyyxzyzzzz{{z{zy{xyzzyyzyzzz{{zzzyyzyyyyz{zzyzzzzyyyyyyyyyz{zzzzzyy{zzyzzyzzzzyzxyyxyyyyzzyyzyzzyyzyzyyzzzzyz{zzyyyyyyyy{zzz{zzzyyyyyyy{z{zzzyzyzyxyyzy{zzzz{zz{yzyyyzyyzzzzyzy{zzzzyyyxzzz{{{{yyyyzzzyyzzzzz{z{zzzzzzzzzzzz{z{zyzxyyyzzzzzyz{{yyyyyyzyzz{z{zz{{zyzzxyzz{zz{{z{z{zyyzy{{{{z{{zz{zyzzyzzzz{zz{z{zyzzzzzzzz{{z{zz{{z{{yz{zz{{z{{{{zz{yyzy{{|zzz{z{yzzzzzz{{{{z||zzz{{zz|{zz{z{{{{{zyzz{yz{{{z{{{{|{zzzyzz{z{{{zzz{z{{zy{zzzzz{{|{{{z{{zzz|zz{{{{|zz{zzz{y{z{{{{{zz{zy{z{yz{z{{zzzz{{zzz{z{z{zzzzzzyzyzyzy{{zyzzzzzyzzzyzzz{z{{{{{zyzyyxyyz{zzzzz{zzyzzyyzzzzzz{{z{zzyyyzyzzz{zz{{{zyzzyzyzzzyyzzzzzzyzzyzzz{zzyzzyyzyyyyxyzzzzzzyxyzyyzxyyzzzzzyz{yyyyzyyzzzy{zzzzxzzxzxyzzz{zz{zzyxzzzzyz{zzzz{{{zzyzzyzzz{{{zyzzyzyzzzzyz{{{z{{zzyyyzyzz{z{z{{z{yyyzzzz{{y{y{{{zzzzyzz{zzzzzz{y{zzzzzzz{zz{zz{zzzzzzzzzz{{{z{zz{zy{yzzzz{|zzz{|zyz{zzy{zz{{{{{{{zzz{z{z{zz{{||{z{{zyyzz{{zzz{|z{z{{zzzz|{{z|z|{zyzzz{zz{{{{{{|{{zzzz{z{|||{|{{{|z{{zzzzz{{z{{{zz{zzzz{zz{{{z{||{z{y{{z{{{z{{|zzz{zzyzzyz{{{{y{{zzyzzzzz{{{{z{zz{yzyzzzy{{zzzzzz{zyzzzyzzz{yz{yzzyyyyyzyyzzzzz{zzyzy{yyy{zzzz{{{yzzyzyyyzz{zzz|{zyyyzyyy{zzzyzz{zzzyzyyzz{|zz|zzyzyyzyyz{z{zyzzzzzyzxzzzzyzzzzz{yyyzyyyyzzzzzzzyyzyzyyyzzz{z{{{zyzyyzzzyzz{zzzzzzyzzyyzxyz{yzzz{{{zxzz{yzzzzzyzzzy{zyzyy{zz{z{{zzzzz{xzzzzzzy{{zzyzyzyzzzzz{zz{{yzzzyzzyzz{z{{zzzy{zzzzy{{{{zzzz{zz{zyyzz{{zz{{z{zy{zzz{{{z{z{{{zzzzzzz{y||{|{{z{{zzzy{z{|z{z{||zyzzzzzy{{{||{{{{yzz{zzz{{{z{z{zzzzzz{{{{{{zz{z{zzzyzzzz{{{{{{|{{yy{{z{zz{z{{{{{{yzzzzz{|{zz{z{{{zzxzzzz{{{{{||{zz{zzzzyy{{{{{{{{{{yzyzz{{z{{{{z{z{z|yyyzz{|z|{yzzyyzzyyzzzyy{zzzzyyzyyyzzzz{z{{zzyxzyyzzzzyzz{zzyzyyyxz{{zzzz{zzyzyzzyzzzzyzyzzzyyyzyzyy{zzxz{{zzzyyzyyyzzyzyzyzyzyy{yzxyyyz{zzyyzzzyyyyyzzzz{xyyyzyyzzzy{zyyzzzyzzy{yzz{{{zzzzzzzzzzzyzzyzyyz{yzyyyyyyzzz{yzzzyyzzzyyyzzzzz{z{zyzzzzzyzz{zzzz{zzzzyy{zzzzz{z|{zzzyzyzzzz{zz{z{zzzz{yzzz{{{{{|zzyzyzyyyy{{z{z{{zyzzzyzzzzz{zzz{{zzyzzzyzzzz{{z{z{z{zyzzz{y{z{z{yzyzyz{zzz{||zz{{yz{zzzzz{{{|{{{zz{zz{zzz{{{|{{{zz{zz{{{z{z{{{|{{zzz{z{{||{z{|z{zyzz{{zzz{|{{{||{{z{{zzy{{{z{{|z{{z{zzyzz{z{z{{{zzz{zzzy{{yz{z{{zzz{{zzzzzzzzzzzzyyyyzyyzzzzzy{{yzzzzyyyzzzzzyzzzyzxzzzx{zzyy{zyzzzzyyyzzy{{y{zzzzyyyyzxzzzyzzzzzyzyzz{yzzzyzzzyzzyyyxyy{z|yyzyzzzzyyyzyzyzzzzzzzzzyzzzyz{zzzz{zzzzzyyyyzzzzz{z{zzy{xzzyzzzzzzzz{xyyyyzyyzzzyz{zzyzzyzz{yzz{y{zzzyyyzyyyz{zzzz{{zxzyyyzzzzzzyzz{zyyy{yyzzz{z{zzzzzzyyzyy{{z{{zzzzzzzzyy{y{zzz{zyyz{zyyyyz{z{{zz{{z{yzxzz{{{{z{{zzzzzzzzzz{{{zz{{zzy{yzzzz{z{{{{|yzz{zzzyzzz{zzzz{zzzzyzz{{{zz{{|zzzzyz{zz{z{{|{|}zzzz{zzz{{{zzzz{zyzzyzz{{z{{{{{{yz{zzzz{z{|z{{||{{zzzz{zz{{{|z{z{zzzzz{{{z{|{{{zyzzzzzyz{z{zyz|zzzzyzzz{{{z{zzzyzyyzzxyzz{{zzzzzzyzyyzzyzyzzz{y{zzzzzyzzyz{{{zzyyzyyyyyzzyzzz{yyzyzyx{xzz{yz{z{zy{zyzzyz{zzzzzyzyyzzyzyzzzzyzzzyzzyyzyzzzzzzzzzyyyyzyzyy{zzyzzzyzyzyyzzzy{y{zz{zzzzyzyyy{{{zyzzyzyzyxyzzzzyzzz{yyzzzzyyzzyzz{zzyyz{z|zyyzzyzz{{zzzzzzyy{z{zzz{{z{yzzzzyzzzzy{{{zyyzyyz{zzz{{z{zyzzyzzzyzz{zzzzzzzzzzzz{z{{zz{{yzyzzyyzz{z{zzz{zzzyzyzzzzz{|{zzzzz{|yz{{{{{{y{{|{zzzzyzx{|{{{z{zzz{z{z{z{{{z{z{{zyzzz{z{z{{zzz{|{{{zz{zz{|{z{|{z{z{yzz{{{{zz{z|{zyzzzzzz{{{{{{|{{z{zz{{z{z{{z{||z{yz{yyzy|z|{{{z{yzzzz{zz{{{{{{{zzzyzzyzz{zzzz{zyyzyzzzyzzzyzzz{zyyyyyyzz{{zzzyzyyzzzzyxzzzz{{{{zzyyzzyy{zzzzz{z{yyyyyzz{zzzz{zzzxyyzyxyz{zzyyz{zyz{zzxzz{zzzzzzyzz{yzzxzzzzzz{{yyyy{zyyyz{z{{zzyzyyzzyz{zzyz{{zz{zyyzxyyzzzzz{zzyyyyyzyzz{yyzzzzyzyzyyzzzyyzzy{zzzzzzzzzzzzz{zzzzzyzyyzz{z{zzzz{yzzyzyzzzz{z{{|zyzz{zyzyz{zyz|{zy{zyzzyzzzz{zzzzzzzyz{yzz{{{zz{{zyzyzzyz{zzzzzzzz{zzzzzz{{z{|{{zzz{zzzz{{z|{||zzzzzzzzzz{{{{|{{{zz{yz{z{|{z{||{{yzzz||zz{zz{{z{{zzzz{{{{|{{{{|{{zz{z{zz{{{{{{{{zzzzz{zzzzzzzz{{{|zz{zz{{{{|{{z{zzyy{zzzz{{|{{{z{zzzyzzz{z{{{z{zzyzyzyyzzz{{zzz{yzyyyyyyzzzzzz{zyyyxyyyyyzzzz{{zyyzyzxyyzzzzzzzzyyyzzyyyzzzzzy{zzzzyzyyyzz{yyzzzyzzxxyyyyzzzyzzzyzxyyzyyzx{yyzzyzzyyxyyyzyyzzz{yyzyyz{yyz{zzyz{zzyyyyyyyzzzzzyzzzzyyyyyzyy{{yzz{zzyyzyyzzy{yyzzyzzzyyyzzy{xyz{zzyyzyyzyyzzzzy{zzzzyyzyzz{{zzz{zzzy{zyyzyzz{zyz{{zyzz{zzz{zzzzzz{yyz{zyyzy{z{z{zzzzyz{zyyzz{{z{{zzzzzyzzzz{z{zzz{zzyxz{zzyy|{z{z|zz{z{zzzzzz{{{|{{yyzyzzxz{{z{{{z{yzyz{yzz{z{{|{z{yzzzzzzz|zzz{{{{yzzzzzz{|{{z{{{zzzzzzzzzzzzzz{{{y{zzzyzz{z{z{{{{yyzzzzz{zz{{{{z{z{zzzz{{{z{{{z{z{z{zzz|zzz{{{{zzzyzzyzzzzzz{zyzyyxyyzyyy{z{zzzzzzzyzzxyzzzzzzzzzzyyzzzy{yz{z{zzzyzyxyzyzy{yzz{{zxzyxx{yzzz{zyyzzzzyyyzzzz{yz{zyyyzyyyyzxzzyz{{zyzzxyzyyzzyzzy{{yyzyzyyxzzzyzzz{zyzyyyyzzz{zzzzzxyyyyyyyyz{{{yz{zzyyyzzyyzzyzzyyzyyyzyzzxzzzzz{zyxzzzzyyyzzz{zzzzzyzxzzyyzzyz{zzzzzzyyyzzzyzy{{zyyzzyzyzzzzz{z{zyzzy{xyzz{zzz{z{zzzxyyyzzz{zyz{zzyzz{zzyyzzzzz{z{zzz{zzzzzz{{zz{zzzzzyzz{{zzzzzzzyz{z{yyz{z|{{{z{yzyzzzy{}z{{{z|{zzzy{zz|{zz{{{{z{zzyzzzz|{{z|{z|z{{zzyzz{z{{{zzzzz{zzz{{{{{z{z|{|{zzz{{{{z{z{zzzzyzzyyyz{{{z{{{zzzzyzzzyzzzzzzzyzzyzyz{zz{zzyzyzxyzyyyxzzzyyyyzyyyyyxyyz{zy{{zzzzyxyzyyzzyyz{{zyyzzyzxxzzzzzzzzyyxxyxyyyzy{z{zzzyyyyxyyz{zyy{zyzyyyyyzyz{zyyyzzzzyxyzxxyzyyzy{zxxyyyyzz{zzzzzzzyyyzyzyyyzzyxzzzyyzzyzyyyzyyzxzzzyyyzyxyzyyyyzy{zzyxyzyyzzzyyzzzyzzxzyzy{{zzyzz{yyzyzyyzyzyzyzz{zyyyyyzzzzz{{z{zyzyyyyyyyzzy{{{zyyyzzyyyzzz|zzyzzyzyyyzzz{{zz{zzzyyzyzyyzz{zy{z{yzzzzyzyyzz{z{z{z{yyzyyzzz{{{{{{zyyzzzyy{zzz{zz{zzyyzyyy{{zzzz{{zzzzzxzy{zz{{|{{{zzyzyzzz{{{z{{{{y{zzyzzz{zy{{z{z{yzzzzz{{z{{{z{|zzz{yyzz{z{z{{{yzzyy{{yz{zzzzzzzzyzzyyzy{z{zzzzzyzyyyzzzzzyz{z{zyzyzyyyyzyyzyzzzyyyyyyyzzzzz{{{zyyyzzyxzzzzzz{{xyzz{yzyy{{zzzyzyyzyzzyy{z{zzzzz{zzxyyyyyzzyzyzyzyyyzyzy{zyzzzzzyzyyyzyyyyzzyz{{zyyyxyyyzzzzzzzyzyyzzyyyzyzzz{zzzzyyxyyyz{z{zz{zyyyzyyzzz{zz{zz{yzyyzyzyzzyz{{zzzyzyyzyyzzz{zzz{yzzzyyzyzzzz{yzzzzzzyzyyzzzzzzz{zzzzyzzyzyzz{z|{z{zzzyzzz{zz{z{{yzyzyzyzyz{z{{zzzy{zyzyzy{{zzz{{z{zzyyyzzz{{||{{yzzzzzzzzz{{z{z{{zz{{zzzz{{{y{{yzzzzyzzzz{{{z{{{{z{zzzzzy{zzz|z{{zzzzzzzz{zz{z|z{zzzzz{{{z{|{{{{{zyz{zz{zz{z{{{zz{z{{{zzz|zz{|{{zzzzzz{zzz{{z{|z{z{{yyzzzzzz{{{zzyz{zyy{{z{{{zzy|yyyyyzyz{{{z{zzzyyzyyyyzzzz{{{zzzyzzyzyzzzz|zzzzyzzzyyzzzz{yzz{y{zyyyyyzyz{zzz{zzzzyyzyz{zz{{zzzyyzzzyxzz{z{zzy{zyyyzzyzzzzzzyzyzzyyyzzzzyzy{{yy{yyyzyzyzzy{z{{zzzyzzyyzz{{z{{zyyyzyxyzyzz{z{zzyzyzyyyxyzzyyzy{{yzyyzyzyz{{zzyzzyyyyzzzz{zz{zz{zyzyyyzzz{zyy{z{yyzyyzzz{{zzyz{{zyzyzzzz{zz{{z{z{yzzzzzzzzz{zz{zzzyzyyzz{z{zzz{{{zzzzzyzz{{z{z{|yzzz{zyz{{zz{{{{zyzzzxyz{{{|{{zzzzzzzyzzz{{{{{{|z{z{yz{zz{z{{{zz{zzzz{{zz{{{{{|{zy{{zzyz{{{zz{z{{zyzzzyzz{zz{{{z{{{{{zzz{|{{{{{{{zzyz{{z{z{{{{{{{yzyyzyzz{{{zzzzzzyyzzzyy{{zzzzzyzyzyyzyyyzz{z{{zzzzzzzzyzzz{zy{zzyyzyzy{{zzy{{zzyzyzyzy{zz{yy{zzzzyxyyyzzz{{zz{zzzyyyyyzzzzzzzzyzzzxyyyzzyzyzzzzzzyzyzzyzz{z{y{yzyzzyyzyzz{zz{z{yyzyzzzz{zzzyz{zzzyy{yyyzyzzz{zyzyyyyyyzzyyz{yzzzyzzzzzzz{yy{|{yzzzzzyxzz{zz{z{zzyz{yzyz{zz{zz{yzzzzyzyz{{{zyz{zzyzzzzyz{{{z{z{z{zzyyyzzyzzzz{zyyzzzyzzz{{{{{|{zzzzyyzy{zy{{|{zzzzzzzzz{{{{{{{{zzzzzzzz{zzz{{z|zzy{{zyz{zz{{{|{{zzz{yzzz{{{{{{{z{zzz{{{{z{{{{z{{z{zzzzz{|{{z{|{{z{{zzzzzz{{zz{{|zzzzyzz|{zzz{{{{zzzz{y{{{z{{{z{{zzzyz{zz{|z{{{{{{y{z{yyz{zzz{{{zz{zzyyyzzz{z{zzyyzyyzxyz|yzyzz{yzzyyyzxzzz{{z|zzyzyyzzyzzzyzzzzzyyyyyyyzzyzzzzzzz{zz{zyzzzyz{yzyzzyyzzyy{yzzz{zzzzyyyzyzz{zyyyyyyzxzyzyzzyzy{yzxzyzyyyyzzyzzz{yyyzzyyyzzzzzzyz{y{xyzyyyzzzz{{{yz{zzzyxyyzzyzzzz{zzyyxyyzzzzz{z{yyyzy{zxyzzzzzy{zzyyzyzz{{{zzzzzzz{yyzzzzzz{z{z{zzzzyzyyz{zz{{{zzyzz{zzzzyz{{{z{zyzzzyyyz{{zz{{zzzyzyzzzzzzz{{{{{zzz{zyzzz|{z{z{zzzz{z{zzzz{{{{{zzzzyyyz{zzz{{{z{zzzzzzz{{{zz{|{yyz{yzzzz{zzyzz{{y{yzzyzz|{|{|{|{{zzyzyz{zz{{{{{{zzy{zzzz{{{{|{{{{{z|zzzz{{{{z{{z{zyzzz{z{{{z{{{{yz{zzyyzzzzz{z{zzzzzyyz{zz{y{zzyyyxyzzyyzyzzy{zzyyyyyxyyy{zz{{{zzzyzzzxyzzxzz{yzyyzyzyyzzz{yzzzzzzxzyyyyz{zyzz{yyyyzyyxzz{zyzzyzyzzzxzyzzyzz{yyyyzyxyyy{yzzxzzzyzyyyxyzyyzzzyzyzyzzyyyzzzzzyzzyzxyzyzyyzz{zzy{{yxzyxxyyzyyyzzzzyzyyzyzyy{zyyzz{yzzyyyyyyzzyzz{zyzyyzyyyxzzyzz{{zzyyzyyzzzzzy{{{yyzzyzyzz{zzyz{zzz{zzyzyzzzzz{zyzyzyzyyyz{z{zz{zzyzyzzzz{{zzz{z{zzyyzzzz{z{zz{{{zy{yzzzzzzz{{{{{|y{zyzzyzz{{{z|z{zyyyyzyy{{zzz|{{yzzzzyzz{z{|z{{z{zzyzzz{{{z{z{{{yzzyzz{{{zzzzz{{yz{zyyz{z{{z{{|{zzzzzy{zzz{yz{{{zzyzyyzzz{z{{|{zzyzyzzyz{z{{z{zzyzzzzzz{{{zy|yzzzyyyyxyyzzzzyz{{yyxyzxzyyyzyzzzyyzyyyzyzyyz{z{{zzyzyxzzyz{zyzzzyzyzyyyyzzyzzyz{yzzyyyzyyz{zzzzzyyyyxxyyyzzzzzzyyzyyyyy{zzyzyzzzxyyxyyyyxzzzyyzxzyxyyzyyyz{zz{zzzzzzxxyyzzzzzzzzzyyzyxyyzzyzzzyyzzyxzyyyy{yyzzz{yxzyzzzzzzz{{yz{zzzyzyzzzzyzzzz{{yzyzyyzyzzz{yz{zzzyyyzzz{z{z{zz{zzyyxzxz{zz{z{zyzyyyzzyz{{zzz{zzyzzzyzyz{{yz{zzzzyyzzzzz{{{{z{{z{zyyzzy{{z{{{{{zyy{zyyz{{zz{z{{zz{zzyzz{{{z{z{{zz{yzzzzzyz{{{{{zz{zzzzyz{{z{{{{{y{{zy{y{{{{{{{z{yz{yzz{z{{z{z{{zzz{{zzzz{{{z|{{zzzyzzzyz{{{{{{{zzzzzyzzz{zzy{{zzyyxyyzzzz{yzzyyzzyzzzyxyzzzyzzzyyzyzyzyzzzy{{zzzyzyxyyyyzzyz{zzyyzzyyyyzzzz{{zzzzzzyzyyyzzzzzz{zyzyyyyyy{zzzzzyyyyzyzyyzzyyyzzzyyyyyzyyyyzzzyzzyyyxyyyyyyzzy{z{zyyzzyyyzz{zzy{zzyzzyxzyyzz{yzzzyyyzyzyxzzzzyzy{yyyyxzyyzzzzzzzzyyzzzzyyy{z{yzzz{yyyzyzyzzzzzzz{zzzyyzzyzzzz{{zzzzzyyzzyz{{z{y{{zz{z{yzzzz{zyzzyzz{zyzyzzzzyzz|zyzzzzyzxyyzyzzzzzzyzyzzy{zz{{{|{yzzzzzzz{|{{y|{|zyz{zzzz{z{zzzzzzyzz{z{yz}z{z{{{{zzzy{zz{zzz{{{{{yyz|zzzz|{{z{|{{z{zzzzy{{{{z||{{zzzyzyz{z{z{{{{{zzzyzzzz{z{{zy{zzzyzzzz{{{zz{z{{zz{zyyzzz{{zy{yzz{yyyzzyyyyz{{zzyy{yyzyzzzzyzzzyyyxzyyyzyzzzzy{{yyzyyyzzzyy{{z{yzyzyyyyzyzzzy{zzzzxyzzyzzzzyyz{{yyzyzzyzzzyyzzzyxyyyxyyzy{zyzzzyyzyxyyyzyzzzzzzzxzyyyzxzzzyx{{zyyzyyzyyzzzzzzzzyzyyyzyyyz{{yz{zyzzzxyzyzzzzzzzzzy{zzyyyyzzzz{zzzyzzzzyyzz{{yzz{z{zzyyyyzzyzzzzzzyyzzzzyzzzzzzzzyyzyzyyzzzzyzzzzz{{y{yzz{z|z{z{{zyz{yyzy{{{zzz{{{yzzzzzyy|{{{zzyzzzz{zzyyz{z{{{zz{zzzzzz{z{{z{{{{yz{{yzyyzzz{{|{{zz{{zzz|{{{{{{|{zzz{z|zz{zz{{{z{yzyzzz{z|{z{{{{{zzzyzzzz{{zzz|z{zzzyzzzzz{{{z{{z{z{zzzz{zz|{{{{zy{zzzzzzzzz{z{z{zzzyyzzz{zz{zzzyzzyyyyz{zzzzzzzzyyyzyyyyxz{zyzzzyyxyxyxzzzzzzzzyyyyyzyzzy{yyzzzzzyyyyyzyzzzzz{zzz{yzyxzy{zzzzyzyz{yyyyyzzzzyzzzzzyzzyyxyyzzyz{zzyyyyyyyyzzzzzzzzyyyyzzxyzzxyx{yyxyzxxxyzz{{zyzzyyzxxyzyyzzyzz{zzyyxzxyyyyzyzyz{z{yyyzyzxzzyyzzzyzyyyyzyyzzzz{{zzyyzzyzyyz{zzyz{zwyxyxyyyyzzzyz{yyyzyxyyyzzzzyzzyzzyzyzz{zyzy|{{zxzzzzzy{z{{z{zzyzyzxyzzzzzyzz{zyyzyzzzyz{z{{z{zzzyyy{zzzzzzzz|{z{{zzzyyz{yzzz{{zzyzzzzzz{zz{z|{zz{zyz{zz{zz{|z{{zz{zzyzz{y{z{{{{{zzzyzz{zzz{{{z{zyyz{zyyzzzz{{{zzz{zyz{y{z{{z{{zyzzyzzzzzz{zzz{zzzyzyyzyzy{zzz{zzzyyyyyzzz{y{zzzzyyyyzyzz{zzyzyzyxzyxzyzyzzzzz{zyzzyyyzzzzyyz{zyzyyxyyyy{zyzzzzzzyyyxzyzzzzzzzyzyyyyzyyzzzyyzzyzxyyxyzxy{zyyzzzzyzxzzyyzyzzy{yzyyyxyyyyzzyyzyzzzyzzyyyyzz{zzzzzyyzyyzyzzzzzzzzzyyzyzyyyyzzyz{zyzyzyxzzzyzyyz{yzyyzyyzyyyzzzyz{zyyzyzyyyzz{z{z{{{zzzyxzzz{zzzy|zzz{yyyz{{{{z{zz{zzzzzyzyz{zzz{z{zzyyyzzy{zzzzy{zyzyzzzzyz{zzz{zz{{zzzzyz{zzzz{{{z{z{{zzzz{z{{{{{yyzz{yyzz{{z{z{{{zzz{zzz{{{z{{{{zzzzy{yz{{|zzz|{{zzzzzzzy|{{{{{|{zzzzyzz{|zz{{{{{zzzzzzz{z{zz{{{{{{zz{zzz{{{z{{{z{yyyzzz{zzz{z{{zzyyyzzyy{z{{z{{zyyzyzzzzz{{zzyyyzyyzyyxyz{zzzzzzzzyzxyzz{yzzzz|zzyxyyzyyzzz{{z{zzyyyzzzyzzzxz{{zyzyyyzy{zzz{{yzzzzyzzyyyzyyyzz{zyyyyyyyzzzyyzz{{yyxyyzxzzzzyy{zyxzyyyzyyyyzzz{zzzyzzyxxzyzy{zz{zzyyyyyyyzzzz{yzzxyyyy{zyyzz{yzzyyzyzzzyy{yzz|{{zyz{zzyyzz{zz{{yzyzy{yxyzzzzzzzz{zyzyyyzzzzyzzz{xzyzyyyy{z{zzzzzzyyzyyyzyz{zz{zzzzzzzzyyz{z{z{{zzyyz{yyzzz{zz{zzyyzyzzzzz{{{{{{zzzzzzzz{{{y{zzz|y{zzyz{zz{|z{z{{{yzzzyzz{{{zz{{{z{zzy|zzz{y{{z{||zy{zz{zz|{zz{{{{zzzzzzz{{{{{{{{zzyyzzzzz{{z{{z|{z{zzzzz{zz{{{z{z{zyzyz{zz{{z{{zzzzzyzzyz{zzzz{zzzzyzyyyz{zz{zzzyzyxyyyy{zzzzzzzyyyzyzyx{z|zzz{{yzzxyyyyzzzzz{zzz{zyzyzzz{{zzzz{{yzzyyzy{yz{zzyzzzyyyzzyy{yzyzzzzyyyyyzyxzzyzzyzyyyyyzzzzzzz{z{{yyyyzyyyyzyzzz{zzyzzyzyyzz{yzz{zzyzzyyyyyzzzyzz{z{yzyyyyyzzzyz{zzz{yyzyyzzyzy{{zzyzyzzzxzzzzz{{{zzzzzyyyzzzz{{z{zzzz{zzy{yzzzzz{zzzzzzzyzz{zyzz{zz{zyxzyzzz{zzz{zzzzzyzyzz{{{y{z{zzzzzzzzz{zzz{|zzzy{zxzz{{zz{z{yzz{{z{zz{z{z{{{{zz{zyyy{{{{|{{{zyzzz{{z{{|{|{{{z{zyz{zyz{{{{{|{zzz{yzz{z|{z{||{{zz{{{zzy|{z{{{z{yzz{zz{{{zy{{{zzzzzzyyyzz{{z{z{zzyzzzzzz{{{{{{{|zzzzy{yz{z{{z{zzyzzyyyzzz{zyzzzz{yyzzzyzzzzzzzzyyyyzyzzzz{zyz|{zzzzyyzzzzyzzz{zzzzzyyzyyzy{zz{zyzyxyyyxyzzzzyz{zzyyyyzxzyzzzzzyzz{xzyzy{y{zzz{zzzzyzyyyzyy{yzyzyzzxxyyzyzzzz{{zzzyzyyyyzz|z{zz{yyzyyzyzz{zzyzzyzzzyzyyy{zzzz{zzzzxyyyyyzzz{zzzzzyyyzyyyyzzzz{{{zz{yzyzzz{zyzzz{zzyzyzyzzyzzyyz{y{{yyyyzz{z{z{z{z{zzzzzzz{zzz{y{zzzzyyyzz{{yzz{zzzyyzyzzz{{zzyzzyzzzzzzzz|{z{{zzzz{zz{z{{{z{zzzzzzz{zyzy{{{{{z{{zzzzyz{z{{{{{z{z{zzzyzzzy{{{{{z{zyzzy{zz{{{{|{{{{{zzzzz{z{|{z{{z{zzzyzzzzz{z{|{z{{zzzzzzz{zz{{{{{{zyyzyzz{{{{{{{zyyyz{{yz{{{{zzzzyzzyzyzzzzzyyzzyyyzxyyyyzzzzyzyxyyyyyyyyzyyzyyzyyzyyyxzzyzzyyzzzyyyyzyyyzzzzzyzzyyyyyyxyzzzyzyzzzyyyyyyyzyyyyzzzxyyyyyyyzyyz{zzyyyyyyxyzzyzyyzzyyyyyxyzzyyyyzzzyxyyyyxy{yzyyzyyyyyyyyxyy{zzz{zyyxzyzzyzzzyyzzzzyyyyxyyyzzzyyzz{yyzyxyyxzz{zyzz{zzyyyxyyyyz{zyyzzyzyxxzzzyzyzzz{yyzyyzyy{z{zzz{zyyzyyxzyzz{{y{zzzzyyyyyyy{zzzzzzyyzzzyzyz{{zyzzzyzyzyzyz{{{zzzzzyyyyzzzzz{zzz{{{{yzzyzzzyz{zz{{zzyzyzzyzz{{zzzzzyzyzz{zzzyyz{{{{{zzz{{yzz|{|{{|z{z{zzzzyzzz{{{{{zzzzzyzzzzz{{yz{zzyzzyzy{z{zzz{{zyyyzyy{yz|{y{z{zzzyyyzyyz{zz{{{zzzyxyzyzzzzz{yzxyyzzyyyzz{y{{z{yyzzyzyz{zzzzz{zzzyyzzzyzzzzz{zzyyyzzyyyzzzzyz{zzzyzyzyxyzzzzzz{yzzyyzyy{{yzzyzzzzyxzyxyyyzyz{yyyyzxyzyyz{yzzzzzyyzzzxyyzzzzzzzzzyyyxzyyzzzyzz{yzzzyxxyyz{zzyzzzyyyzyzxxyyyyyzyyzyzyyzyzyzyzzzyzzyzzzzyyzz{{y{zzzyzz{yzzzzz{y|z{zyzyyyzyzyzzyz{zyyy{yyy{zyz{{z{zzxzyzy{{y{zzy{zzzzzzzzyy{z{zzz{zzzz{{zyzz|zzz{z{{{{zzzyzzzz{z{zz{zzyzzzzzz{zz{|{zzz{yzzy{{{z{{|{zyyzzzzy|{z{{z{zzzzzzzzzz|zzzz{{{yyzzz{zz{{{{{z{{zzzzyzz{z{{z{{{{{zzzyy{z{{{{{{{{{zz{{zz{zz{z{{||z{zzz{zzzzzz{z{{yyzzzzz{{z{zz{zzyzzyzzyzy{{{zzzzyyyyzyyy{zzyzz{yyzyyyyyyzzzz{zzz{yzzzxyzzyzz{{zzxzyzzyz{z{{z{z{zzzzyyzy{yz{yzzzyzzyzzyyy{yzyzzyzyyzzyyxzz{zyzzzzyyyyzyyzzz{zzzzyzyyyyyzyyzzzz{zyyzxyyxyzyzzzzz{yyz{xyyyzyzzzyzzzzyyzyyzxzzyyzzzzyzyyyyzyzzyzz{{zyyyyzyyy{zzzy{zzyyyyyzzzyzzz{zzzzz{xzzy{zz{{{{zzzzzyzyzzzzzzz{zzz{zzzzzyzzzzz{zzyyyzzzyzzzzz{{z{zyzzyzzz{zz{{zzzzyyzyyz{zzz{{{zzzzzzzzzz{z{z{z{zyzy{zzzz{zzz{{{{zzyzyz{{z|zy{{{{z{yzz{{{{zz{y{zzzzzzz{yz{z{{{{zzzzzzzyy{{y{zz{zzzzz{{zzz{{z{{z{{zyz{zyzzz{zzz{zzzzzzzzzzz{{zz{{zz{{yzzyzyzzz{{zyyzyz{zzzyzz{zzyyzzzyyyyzyyzzz{zzyyyyyyyzzzzz{z{yyzxzyyyyzy{z{{zzyzzyyxyzzy{z{zzzzzyxyyzyyzzzz{{zyyzyyzyyz{zyzzzzyxxxyyzyzzzyyzyzzyxzzyzyyz{zzzzxyyxyyxyzyzzzzzzzyzyxyyzzzzzzz{yzyzzyyyyyzzxzyzzyzyyyyyzzzzzzzyzyzyyyyyxxyzzz{zzyyyzzzyyyzzzzyz{{zzz{xzz{zzzzzy{zzzyyyyyzzzzzyz{zyyyyzzyzz{{zzzzzzyyzzzyy{yzzzzzyyzyyzyzz{{yz{{zyzyy{yyzzzyz{z{{zzzzyzzzyyzz{{{{z{zzzzzy{zz|{z{{zyzyzzzyzyz{{z|{{yz{zyyzz{zzz{{{zyzzzzz{zz{{{z{z{yyzzzx{z|z{{{{z{{z{{yzyzz||{{zz{zz{{zyzz{{zzzz{z{y{zyyzz{zz{z{{{zzyyyzz{zzz{{{|zzyz{yyyyzzzz{{zzyyyxy{yyzzyyzyzyyywyyzxzzzzyz{zzyyzzyzxyy{z{{zzzyxyyyyxzzyzzzzzyyyyyyzzzzyyyzzzyyzyyyyyzyzzzyzzyyyyyxyyyyzzzz{yyyyyyyyzyyzyyz{zyzzyyzyyzzyzyzzzzyyxyxyyyyyzyyzzyxyyyyyyyzzyyzzzzzzyyyyyzzzzzy{{yyxzyyyzyzzyyzzyzyyxxyzxyzyyzzz{yzzzzyxyzzzzzyzzzzxzzyxzzz{yzyyzzy{yyzzyzzyzz{zzzyzyzyyzy{yzzz{zyyzyyxyyzzyzzzyzzzzzxyzyzzzzyy{zzzyzzyyzx{{zz{y{{zyyzzzz{z{zzz{{yzzzzzzyzzz|zz{{{yyzzzzyz{{{z{{z{yyzzzzyzyzzz{z{{zyzyzzzyzzz{zz{{zzzyzzyzzz{z{{zzzzzzyzz{zz{z{z{zy{zzzyzz{{zz{{{z{z{z{zzz{zz{{z{zzzzzzzyzz{zz{|{zzzzyyzyz{z{zz{zyy{yyyzy{{zzz{zzyyyzyyzyy{y{yyzzzyyyyyyzzz{zz{z{{yyyzzzzzzzzyzzzzy{yzxyyzyzzzzzyzzzxyzyyzzzzzzz{yyyyyyzxzzyzyzzyyyyzyyyzyzyyzzz{zyzzxzxzzyzzzzzyzzyzyzzzyyzyzzzzyyyzyyyyzzz{z{zzzzzzxzyyy{zzz{zzyyyzyyzyzyzzy{zzzyyxyxyzyzzzz{{zzzzxyzyxyzzzzyzy{yyyzywzzy{yzz{{zzyzyyzyzzzzzzzzyzyyzyzzzzzzzz{{zyzzyzzzzzz{z{z{{zzzzyyyz{zzz{{{zz{zzzyzzz{z{{z{{zzyyzzzz{zz{{{{zz{zzzyz{z{{{|{{zyyzzyyzzzyz{z{zzzzzzzzz{{zz{z{{yyzyz{{{z{{{{|{{z{z{zzzzzz||z{{{zzz{zyzzz{z|z{{z{{zyzyzyz{z{z{{|z{z{zzzz|zz{{{|{zzzzzzzy{|z{{{{zzzzyzy{yzz{{{{|z{yyyzyzyzz{zyyyzyyzyyyzzz{yzzyzzyyyyyyyyzy{yzzzzzyzyxyzyzzy{zzzzyzzyyyzzzzzz{zzzzzyyxyzyyz{zz{zzyyyyyyyyyzzzzzzzzxzzyyyyzzzzzyyzyyyzyyyyzyzyy{{zyyzyyyxz{zzzzzyzzyzyyyxyyzyyzzzzyzzyyzxzyzzy{zzzyyyzzzyyz{zzzyzyyyyyy{yxy{yzyzzzzzy{zyzyzzzzz{z{zzyyyyyz{{zzzzz{zzzyzyzz{yzzyyzyyzzxyyzy{{{yy{{{yzzzzyyzzzz|z{zzz{zzyzyzzzz{zz{zzzyzzyzzz{zzzyz{zzz{z{zzzz{{z{zzz{{xzzyyz{z{z|{z{zz{yyzzz{|{z{{z{zzzzzyzzz{z{zz{zyzzzz{zzz|{{z{{{{{{z{zzz{zz{{|{{yzz{yzzz{{{{zzzzz{{zzzzz{{z{{{|zzy{{zzzzz{{{z{{{zzzy{zzzzzz{{{{zzyyyyyzz{z{zz{zyyzyzyzyzzzyzzzzyyyyzyyyx{zyzzzzzzzzzyyzz{zzz{{zyyyyyyxyzzyzzzz{zzzyxyyzzzz{yy{zyz{xyyyyzzyzzzzzyzyzzzyyzzyzz{z{zyyyyzyzzyyyy{zyzyyxyyxyzyz{zzzzyzywzyyyyzz{z{{zzyyyyyyzzzzzz{zz{zzyyyzyy{zzyz{zzzzzzyyyzzzyzyyzyzzyzyxyyyzzz{zzzzyyyzzzzzz{zz{zzyyyzyzzy{zz{z|{yzyyzzyzzzzz{zzzxyzzyyyzzz{yzz{z{{zzzzyyy{{z{zzy{yzyzzzzzz{yzzzzzzyyzyyzz{{zz{{z{z{{zzy{z{{{{{{zyz{zzzzzz{z{{z{{zzyzzyzyz{zz||z{{yyzzzzz{|z{{{{{zzzzzzzyz{z{{{z{{zzyy{z{{{zzz{z{{z{z{yz{z{{{{{|{zzzzyzzz{z{zz{z{zzzzzzzz{z{{z{z{z{zyzzzz{z{z{{{z{zyzyzzzzzz{|zzz{zzyyyzyzzzyzzz{zzzyyyxyyzzzyzzzyzyyxzyzzy{zzzzzyyzxyyzyzzyzzz{zzyzzzyyzzzz{{zz|zzyxyyyx{yzyyzz{zzzxyyzyz{{yzzzzzyyyyyyyyzzzzz|zyxzxzyyyyzz{zzzyzxzxyyyy{zyyyzyzyyyyzyyyyyzzy{yyzzyzxyyyzz{zzyz{zyyyyyyxyyzzyzz{yzyyyzyyxzyzyzz|yyzyz{yxyz{z{z{zzzyyyyzzzz{zzzzzz{yzyzyz{z{zzzzzyyzy{yzyyzz{zyzzzyzyzyyzzzzyz{zzzzyzyzzzz{zzz{z{zzzyyyzzzzzy{z{zzzzzzzyzzz{z{{{zzzzzzzzzzzz{zz{{z{y{zzyyz|{{{z{{zzzyzzyz{z{zz{|{zyzzzzz{z{z{||z{zzzzz{zz{|z{z{{{{zzzzzz{z{|{{{z{zzz{yzyzz{z|zz{{zzzzz{z{{z{{z{zzz{zzyzzzz{zz{{{{{{zzzy{yzzz{z{{zzyzxxzzyzyzyzzzz{zyyyyzyzyyzzzzyyxxzyyzyzzyzzzzzzyyyzzyyzzzxzzz{zxzyyyzzyzzyyzz{zzzyxyzyzz{zzy{zzy{zxyyyyzz{zzzzzyzyyzyyzyzyyzzzyzyxyyyzzyzzzzzzyyzzyyzyzyzzzyz{zzxxyzyyyzzyzz{zyyzzyyyyyz{z{zzzyyzyzyzzy{zyy{{z{yyyzyzyzzz{{zzzzyzyyzyzzyz{zzzzzyyyyyzzzzzzzz{zyy{zyxzzzyzz{zz{zyzyzzyzzzz{z{zzyyz{yxzzzz|{z{z{zzzyyyyz{z{zzz{zzyzzyzzzzzzz{|{y{zzzzzz{yz{z{z|{zzzzzzzz{z{{z{{{zzzyyzyzzz{{zz{{zyyzzzzz{z{z{{z{{zy{zzz{zzzz{z{z{{zyzyzzz{{z{{z{zz{yzzzz{zz{y{z{zyzz{zyy{z{{{{{{z{zz{yzz{z{{{{{{z{xzzzyzz{{{z{z{{zzzyzzyz{{{yz{zzzzzzyyyzz{{z{zyyzzyyyyyzzyzyzzzyyzyyyyyzzzzzz{{yzyxzyyxyyzzyzyzzwzyyyxyzz{{zzzzzzyyyyzzyzzzz{zzyyyyyyzyyz{yyzzzzzyyyyzy{yzyyzyzyyyzyzxyyzzzyzz{yyyyyyyyzzyzzzzzzyzzyzxyyzzzzyyyyyzxyxzyz{zzyzz{zyzyyxyzyzzyzyzzyzzzyyyyyzzzxzyzzzzyzzyzyzzzyzzyzzyyyyzxxzzy{zzzyyzyy{yzy{zzz{z{yyzyyyyzzz{z{z{zzyzyzyzyyzz{{zzzyzzyyyzz{yzz{z{{yyyzyyzyyzzzy|{zzyyzyzy|z{zzz{z{yzyzyz{z{zz{y{z{zyzzyzyz{{{zzz|z{yyyzzzy{{{zz{zzyz{yzz{zy{z{{{zzzzyzzz{zz|{{zz{{{yzzzz{{{{{{{|z|zyzzyzzz{z{{{{|{zzyzzz{z{{{{zz{{{yzzyzyzz|zy{{{zzzy{zy{zz{z{{{{zzzzzyyyxzz{{zzzzzyxyzzxxyyyyyzzzyyyyyyzyzzzzyzz{zzyzyzzzzzyzyz{yzyxzyyzyyzzzzyzzyzyyxyyyzyzz{zz{zxyyyzzyxyz{yzyyzzzyyyxy{z{zyyzzzxyyzyyyyzyyyzzzyyzyzyyyyzzzyyzxzyzzzzyyyyzzyy|yzyyzyyyyzzzzzyzzzyyyyxyyxzyzyyzyzyyyyzzyzyzzzyzzyyzyzzzzzzyzzzz{zzyyzyyy{zz{y{zyyyzyyyzzz{y{zzzzyyzxyyyzyzzzzzzzzzzyzzzyz{zzzzzzzyzyyyzzy{{{zz{{{zzzzzzyzz{zzzz{zzyyyzzyzz|{{{{zzz{zyzyz{{z{{|zzyyzyzyzzz{zy{{|z{yyzyyzyz{{zz{{{z{zzz{zz{{{|z{{|zzyyzyzzz{{{z{{{{zyzzzzzzzzzz{|{yyyz{zyzzz{{{zz|{zzz{zzzz{{{{|zzzz{zyzyz{zz{z{{{zzyzyzzyzz{zzzzzzzzz{yyzzzzzzzyzzzyyyyyxzz{zyzzzyzyyzyyyz{{zyy{{zyyzyyzyzzz{{zzzyyyzyzzyzz{zzz{zzzyzyyzyzzzxyzyzyyyyyzzxyzyyyz{zzyzyzyyxy{zzxzzzyxyxyyyyyyzzzzyzzyyyyyyyzzzzzzyyyxyyzyyzyyyz{zzzyzzyyyyyyzzzyyyyyzyyyyyzyyyyzzyzzzyxyyyyyzzyz{{{zyzz{zzyyzyzyyz{zzzzzyzxyzzzyz{{yyzzyyyyzzyy{zz{zyzyyyxyzzzyzzzzzzyzyzyxyz{{zzzzzzzyzzxyz{{zzz{zzyyyzxzzy{y{z{{yz{zz{yzy{z{zzzzzzyyzzz{y{zz{zz{|zyzzzzyyz{{zz{{z{zyzzz{yz{zzz{{{{yyyzzzzz{z{z{{z{zz{z{z{z|zz{zzz{z{zzyzz{{{{zz{z{yzzyzzzzzzz{{|{zzzzzzyzz{{yz|{{zzyz{yyyzyz{z|zz{yzz{zzzyzzzyz|{zyyz{yyy{y{yzzyzyyyzyyzyyzzyyzzzzyyzyxyzzzzzzyz{zyzyyyyxzzy{z{zzzzzyzyzyyyzzzxz{yzzzyyyxzzz{zzzzyyzyyzzyyzzyzzyzzzyyyyxyzyzyy{zyyyyyyyyyzyzzzzzzyyzyxyyz{yzyzzyzyyyzxyyxzzzzzzz{zzzyxyyzyyyzzyyzzzyyzyyyyzyyyzzyzyyyyzyyy{zzzzyyyxyyz{yxzz{zxzzzzyyzzzyzyzzzyzzzzyzzyyyzzzyzyzzzyyyyyyzzzz{y{z{zzzyyzyyzzzzzzz{zzyzzzyzzyyzzyzzzzyyzyzyzzz{zzzzzzyyyz{zzz{z{{{{{yzzzzy{zz{zzz{{|zzyyzyzy{z{{zz{{{yyyyzzz{z{{zz{zzyzzyz{zz{zzzzzzzzzyy|{{y|{{{|z{zyz{zzy{zz{{z{{z{zzzzzzzyzyz{{{zzzzzzzzz{{z{|zz{{{zzzzzyzzz{z{{zyyy{zyzzz{{zzzzzzyyzyyyzzz{yzzzzyyyyzyyyzyzyyzzyyzyyyyzyzzzzzzzzzyyzzzzx{{zzyz{zzxyyzzyzzzzzyzzzzzyyzyzxzyzyyzzzyyzzyzyyyzyyyzyy{yyyyzyyzzyyzz{zzyyyyzyzzyz{z{zzyxyyzyyzzzzzyzyzyxyzyzyzyyzzzzz{yzyyxyxyyzzzy{zyzyzyzyyxzzyzz{{zyxzxzyyyyyyzzyzzyyzyzzyyzzzz{zzzzzyyyyyzyzzzzz{{yyzyyzzyzyz{yzyzyzzy{yzzz{{yz{{yyyzzzyyzzzz{zzyzyzzzzyyxyz{zyz{zzyyzyzzyy{z{zz{zzz{yzzzyzz{{zz{zyzzzyyy{|yzz{|{{{yzzxzyx{{{{{{{{zzyzzy{yz{z{z{{{{{zzy{yzz{z{{{z{{z{{zzzzz{{{z{z{zyz{zyyzzz{z{{{z|yyzzzzzzz{zz{{}z{{zzzz{zzz{{z{{zzyzzzyzy{zzzz{z{yyzzzyzz{{z{{{zyzzzzxyy{yzzzzzzyyyyyzxyzzyzyzz{zyyzzyyyzyxzyzzzzyzxy{xyzzzyyzzzzyyyyyxyzzzyyyzzzzzyxyyyz{{yz{zzyyyxxyyxzzxyyzzyzyzzyyyyyyzyyyzyyzzzyyyyyyzzz{zyyyyyzyyyzzzzzzzzxyyyyzyyzyzy{yzxxyzyxyyyyzzyzzzyyzyyyyyyyyzyzz{zyyyxxyyyyzzzy{zzyzzxyzyyyzyzzz{zzzzyzyzyyzz{zzzzzyzzyy{yzzz{yzzzyzyyyxxzzzzzzz{zzzzzyxyxy{zz{zzzyzzyyyyyzz{yz{z{yyyzzyzzzzzyy{{{zyyyzzyyz{zzz{zyyzzzyzyxy{z{y{|{zyzyyyyzz{{{z{zzzzyyyyzxz{zz{z{{yz{zzzzz{{zz{z{zzzxzzzz{z{z{|{z|zzzzzzzzzz|zzz|{{yyzzzzzz{{zz{{{zzyz{zzz{zzzzz{{zz{yzzyzz{{{z{{z{zzzzzzzyz{zzz{zyy{yyyyyz{yz{{zzzyxyyyzyzyyzzz{{xyyzzyyyzzyyy{y{{{xzyyyyzz{z{zzzzyyzyzyzyz{zzyzyzzyxyxyyyyzzyzz{yyyyyyyxyyyzyzzzzyyzyyxzyzzzzyyzyyzzyzxy{yxzyzz|xyxyyyxyyzyzyzzyzzyxxyyyz{zzyzyzzyzyxyzzyzz{zzzzzyyyyxyyy{zyzzzzzzzyyyyyyzyzzzzz{yzzyzyzzyzzy|zyzzyyyyzzzzzyz{z{zxzzyyzzzzzzyzzzyyyyzyyzzz{zzzz{zzyyyzxzyz{z{{zzzyyzzyyzz{|zz{z{{{zzzzyzzzzzy{{yzyzyzzzyz{{{z{z{zzyy{zz{z{zzz{{zzzzzzyzy{{z{{{zzzy{{zzzzz{{{{z{{zzzzy{zzz{{{y{{|{zzzzz{zy{{|z{|{{yzzyzzyz{{{{{zzzyzzzzzz{{{zz{{|{zzzzyzzzz{|z{{{zz{yy{zyz{{z{{yzzzzzzyyzz{zzz{zzzyz{yyyyzzzzzzyyxyyzzyyyzzzyyz{{yyyzyyzzzzyz{z{{yyzyzzzyzyzzzzzzyyzyzzzzyzzzzz{yyyxyzxyxzzyzyzz{yyzxyyzyyzzzzz{zyyzxyyyzyzzyyyzzzyyyzzyyzzzzzz{yzyyzyzyyyzzzzzzyyzyyxyxzzzzzzzzzyzzyyzyyyzyzz{{zzyyyzyyyzyyyzzzyzzzyyzyzzzyzzzzyyyzyyzzzyzzzzz{zyzyyzxyxzzyzzzzyzyyyyyzzzy{{zzzzzyzyyyyzzzzyzz{zzzyy{xzyy{{z|z{zzyzyyz{yzz{zzz|zyyzzz{yzyzzzzyyzyzx{yzzzzz{{{zz{zzzyzzzy{{z{zz{{{yz{zzzyz{zz{z{zzzzzzz{y{{zzz{{{zz{yzzz{zzz{z{{{{zyzyzzz{|zzz{{|zz{{yyyzz|{{{{{yzzyzzyzzz{z{z{{|{zzzzzyy{{z{zz{{zzzyzyzzzyz{{{|zz{{zzzyzy{{{zz{{zyyzyyzyz{zzzzzyyyzyzyxyzy{zzzzzyyzxyxzyzzzzzzzzyyzxyzyyyyzyz{zzzzyzzyyyyyz{zz{{yyyyzyyyz{z{zzz{zyyyyzzxzzyyzz{yyyzyyyzzyzzyxzzzyyyyyyyyyyzyz{y{yyzyyyxyy{zzzyzxyyyxyyyyyzyzyzyzyyyzyyyyzzyzyy{zyyzyyx{zyzzzzzzzzyzyyyyyzzzzz{zzyyzyzyzyzyzyzyzzyzzzyzyz{zyyzy{{xyzzyyzyz{zzzzz{zzzyzyzy{zzzy{zy{{y{yyyzz{zyz{{zyyzzyzzyz{zzzzz{zzzzzzyzz{z{zz{z{yzzzzzzy{z{z||zzzyzzy{{{{z{{{{{{zzzyzyzy{zzz{|zzyzyzyzyy{z{z{|z{yzyz{zzz{z{z{z{zzz{yzzzz{{{zz|{{zzzzyzzz|{{zzz{{yzzz{yz{{{{{{zz{zzzzzyz{zz{zz{|z{zzzzzyy{zzzz{{zz{zyzzyzzyzzzzzzyzyyy{zzz{y{zzyyy{yyyyyyzzy{zzzyzyyyxxyyzzz{{zzzyzyyyyxzzzzzy{{zzyzyzzzy{{zzzz{{zyyzzyyyzzzzz{{xzyyyzyyzzzz{zzyyyyyyyyzzzzyyyzzzzzxyyyzzyzzzzzzyzzyzzyyxyyyzz{zzyyzyyyyzyzzyzz{yxyyyyxyyxzzyzzzz{zyyyyyyzyyzzzzzzzzyxyxyzzzyzzyyxyyzyyyzzzyzzzzzyyzzyyzyzzy{{zzyzzyyyyzzzzzzz{{zyzyzyzyyzzyzzzzyzyy{zzyzz{zzz|zyyyzy{zzy{{zzzzzzyyzyzyyzzzz{zzzzyyzzzyy{{z{{{{{zy{yzzzzz{{{y{z|zzzzyyzz{{z{{z{{{yzzzyzzz{{zz{{{y{zyz{{z{{zz{{z{zyyzzzz{{||{{z|z{{y{zzzz{z{{zz{zzzzz{zzzzzz{zz{|{zzz{z{{{z{|z{|{{{{yzzzzzz{zz{|z{zzyzz{zzzzzz{zzzz{xzyyyzz{zyzzzyyyzyyzyzz{{yz{{yyyyyyzyyyzzzzz{zzyyzzyzzyzyzzzzyyyzzyyyzzzzzz{{zzyzyyyyyzzzyzzzyyzyxyzzy{zyyzzzzzzzzzyyzyzyy{zzzyyyzyyzyzzzy{z{zyyyzxyyz{zzyzyzzzxzyyzy{{zy{zzzzxzyyyyzzxzzyz{zzzyyzxyyzzyzz{zy{yxyyyyxy{zzy{yzyyzyzzzxyzz{zz{zyzyyzzyyy{{{z{y{zy{yyzzzyzz{zzz{zzzyyyyzzzzzzz{zzyzzzyzyzzzzyzy{{zzyyyzzyz{{zz{zzzzyzyzzz{z{{z{{z{zzzzzz{zz|yz{zzzy{zz{zzz{{z{z{{zzzzyz{z{zz{{{{{yzzzzyzz{z{zzzzzy{z{z{zy{y{{{zz{yzzzz{zz|{zz||{{y{zyy{z{zz|{{z|{yzz{zyz{yz{{zz{zzz{zzzz{{y|{{z|zzzzz{z{z{zz{{{{zzzzyyyzzz{zz{{{zzzyyyzzy{zyz|zzyzyyyyyyzyzz{yzzyyzxyyyy{zzyzz{zzyzyzyzzzzyyzz{zyy{xyyyxzz{zzyzzyzyzyyzzyzy{{{zzyyyyzyyyzzzyyzyzzxzyzyyyyy{zzy{zyyyyzyzyyxzzyyyzyyyxyyzyzyzzzyz{zyyyyzyzzzzzzyzzyyzxyzzxyyzzzzzzzyyzyyxyxzzyyzzzyyyyyyyyyzzyz{{zyyyyzyyzzzz{y{y{zzyyzzzyz{zzzzzzyzzzyyyzzzzz{z{yyzzyyyyyz{zzzz{zzzzzyyzzzzz{{{zzzzyyyzzzzz{{zzzyzzzyzzzz{zzyz{{zy{yzzzyzz{{y{z|zzzy{zzzxz{{|z{{{zzzyzzyz{{{{|y{zzzzzzyz{z{zzz{z{zzz{yz{zz{{{z{{z{yzyzzzz{{|zz{{{zzzzzzzy{{z{zz{{{zzyyzzzz{{zz{|z{zzzz{zz{{{{{z{zyz{z{yy{zzz{{zz{{zzzyzzy{z{zzz|zyzzyyyzyy{{{yy{zzzyyzyyyzzzy{zzzzyyyyyzyzzzzzyzzzyyyzyzyzzxzzz{z{yyzzzyyyz|zyzzzyyzyxyzxz{yzzzyzyyyyzyxxyzyy{zyzzyyzyyyyzz{zyzzzyyzyzyxyyyzyyyyyyyyyyyyyzzyzxyzzzyzzyywyyz{zzy{zyzzyxzyxzzyyzyzzyyyyyxyyy{yyxzyzzzyzyxyyzzzzzzzzzyyyyzzyzzzzyz{zzzzyzyyyzzyy{zyzzzzyyzyzzzzzzzyzyxzyyyyyzzzzz{{{zyzyyxzyyzzz{zz{yyzyzyzyzzz{zz{zzyzzz{zz{{zzyzzzzyzyzzyzyz{zz{{zz{z{yzyy{z{zz{y{zz{yzzyzz{{{zz{z{zy{zz{zz{{z{{{zz{zzyz{{zz{{{{{{{zzzyzzzzzzzzz{zzyzzzzzy{z{{yz|zzzz{{zz{{z{z{z{z{{zz{zz{{zz{{{{|zz{zzzyzz{{yzz{{zyyyzzzzzz{{{{{zyz{zzzzyzzz{{zzyzyxxxyyxz{zz{yzzyyyyyyxyyzzzyyz{yyxzzzyyzzzzzzz{zxyzzyyxzyzyzy{zzyyyzzxzzzzzzzzzyyyyzyyxzzyzzzyyzyxyyxywyyzyz{z{zyxyyyxxzzy{{zzzyyzyyxyyyzzzyyzzyzyyxzzyyxzyzzzzzzzzxyzyyyz{zyzzzyyzyyyyyzyyyzzzyyyyyyyyzzyzzz{zzyyzyzyyyzzyyy{zyyyyzyyyyzzzyzz{yyzyzyzzzzzzzyy{yyzzyyyyzzzyzzzyyzyyyzzzy{{{zzzzzyyzzzyzzz{{zzzyzzxz{yzz{zzzzz{zyyyzzzzzy{zzzz{{yzzzzyzyz{z{|{{zyzzzyyzy{{{zz{{{{{{yzzzz{{{z{z{{zzzyzzzzzz{z{{{{|zyyzzyzz|zz{{{z|yz{yzzyzz|{zzz{{zzy{yzyzzzz{{z{{zzzyzzz{z{{zz{{z{zzzzzyzzyzzzz|zzy{zyzy{zz{y{{zz{zzyyyyz{{zzzyz{yxzyyxxyzyyyzyyyyzyzyyyyzzyzz{{zyyyzyxyzzzyyzzyzyyyxyyyzy{zzyzyyyxyyyyxyzzzyzzyyzzxyyyyyyzyyzzyzyyyyywyyyyyyyzyxyzxxyyzyyyyyzyzyyyxyyxyyyzyyzyzyyyyyzxyxzzyyzyzzyyyxyyyyzyzzyzyyxyzyyyxyyzzxzzy{zyyyyyzyzyyyzzzzyyyyzyyyyzzzyzyzxyxyyzyyzyzzzz{zzyyyxzzyzy{yzzyyyyxzyxzzz{zzyzz{yzzyyyyy{{zzzzz{zyyyxyxyzzzzzzzzyyzyzzzzzzyzz{zzyzyyyyzzzz{z{{zyzyzyyzyz|{yzz{zyyzyzyzyzy{{zz{yzzzzzyyzz|{{zz{{z{zzzz{yzy{{z{z{{yzxzyzyz{{{zz{{zyzzzzzyz{zzyzyzzyz{zzyyzz{{|z{{zzyyzzzyyz{z|zz{z{zxzy{yzzzz{z{z{yzzyyzzzzz{zz{yyyyxyzyyyyzzzzyzyzxyxyyyzzyy{yzyzyyxyzyyyzy{zzzzyyyzyyyzzzyzz{zyyxzzyyyzzzzzyyz{zyyyxyzyzyzzzzzzyyyzyxyyyyzzzzzzzyxyyyyyzzyyy{zy{xyyyzxyyyzyxzyzxzzyzyyyyzzyzz{yyxyxyyyzyzzzyzy{yzzyyyyzyzzyyyzyyyyzyzzyzzzyyzzzzyyyyyyyyzyyyz{zyyyyyyyxzzzzzzzyyyzzyyyyyzyzy{zzyyzyzxy{zzzyzz{{yyyyzyyzzz{zzz{zzyzyyyzzzzzy{{{zzyyzyxyyyyzzzz{zzy{zyyzzz{zzzzzzzzzyyyyzzzz{{z{zzzyzzz{zzzz{zy{{zzyzyzyzz{{zz{{z{yzz{zyzz{z{z{|zzyzzzzzzz{z{{z{{{zyzy{yzz{{{{{{{zyzzzzzz{{z{z{zzzyyyzzz{zzz{z{{{zzzzzyzz{{{z{{{zyyyyyy{zz{{{{z{{zzyyyyyyz{zyzzzzyy{zyxzyzzyzzzzzyzyyyzzyzzyyzzz{zyy{zxzyyzzyyyyzzyzyyzyzzyzzzz{zyyyyyzzyyzzzzzzzzyyxyyyxzzzyzzz{zzzyyyyyzy{yz{z{zyzyyyyyzzzyzzzzzyyyzzxyyzzzyzy{yyxyzzzyyzzxzzzyzzzyyyyyyz{zzzzzyyyzzzzyyzzzzzzzyzyyyyyyzzyyzzyyyzyyyyyzzyzzzzz{zxyyyzzyzzzzzzzyzyyyyxyzzzzyz{z{yyzyyxzyzyzyz{yzzzyyyyzyzzzzz|zzzzyyyzzyzzzzz{zyzzzzyyzyyzzzz{{{{yyzyzyzzzzyz{zzzzzyyzzz{zzz{{{{zzzz{zz{{zz{zz{{zyzzzzyzzz{|{{{|zyyyzzzy{{z{{|{zzyzzy{zzz{{zz{{z|zzyzzz{{|{{{{|{{zz{y{z{z{{zz|z{{zz{z{yz{|zz{z{{{zzzzyzz{{{{z{{zzyzxzzyzz{{{y{{yzyzzyyyyzz{{z{z{zzzyzzyx{zzzzzzzyyzyyyyyyz{yzy{zyzzzzyyzyxyz|zzzzyzxyyyyzzzzzz{{zyxzyzzyzz{zy{zzzzyyyyyzzzzyzzz{zzxzyyzyyzzzy{zzzzzyzyyxzyzyzyzzzzzyyyxzzz{zxy{yzyyyyyyyzyyzzzz{zyzyyyyyyzzyzzzzzyyyyyzxyzzz{z{zyyzyyzzyyyzyyyzzzzyyyxzzz{{y{zzzyzyyyzzyzz{yyz{zzzyzzxyzzzzy{zyz{{zzzxzzzzzzzzz{zzyzyyzzzzzzz{zzyyyzyyzxyzzzzz{zzyzyzzzyz{zzz{{{zzzyyzyyz{zz{zzz{yzyzzz{zzz{{{{{zzzyzzzyzz|zzz{|zyzzzzyz{{|z{{{zzy{zzzyzy{zy{z{z{zzyzz{zzzzz{{{z{zzzyzyzz{{z{|{{{z{zzzzzzzzzz{{z{yzyzzz{{zz{{{z{z{zzzy{z{zzzzz{{{{zzyzy{zzyz{{{{zzyzzzyyz{{{y{{yyzzzzzyy{z{zzzz{zyyyzyyyyzyyzyzzzzyzyzzzyzzz{z{{yy{yzyyyyyyz{zyzyxzzyzyyzz{{zzz{zzzyxyzyz{zzz{{zyyyyy{yxxz{zy{{{yzzzzxxyyyzzyzyzyyyyxyyyzxzzyyzyyzyyyyyyz{yzyz{zyyyyyyxzzzzyzzzzyyzxyyzyyzzyyyzyyyxyzxyyzyzxy{zzxzyyyyyyz{yzyyzzyzzzy{yyzzyzzzzzzzyxzyzzyzyzzyzyzyzzyyzzzzzyz{zzzxyyyzyxy{zzz{zzzz{yzyyzzzzz{{{zyzyzzyxz{{{zyz{zzzzyzzyyzzzyyx{{z{y{zzyyzz{z{{{zzzy{zzyzyz{{zz{{zzzzyzyzz{{z{zz{zzzzzzzzz{z{{{|{{zzzzzzzz{{{{{{{{zzyyz{z{{zzz{{{{y{zzyzzzz{{{{z{{yyyzzzz{{{zz{}zyzzyzyyyy{{{z{zzz{zzzzyy{{zzz{{zzzz{yzyz{zz{z{z{yyyyzzyyzz{zzzzzzwzyxzzyzzzzzzzyyyyyyxxyzzyyzzzyzyzyyyyyzzzzzz{{zyyxyyyyyyz{zyyzzxzyyxyyzyzyzzz|zyyyyxzxzyyyzy{{zzzyyyyxyxzyyzyzyyyyyxxyzzzxyz{{yyyxyzyyyzyzyzzzyxyyxyxzyzzzyyzyyyyzyyxyyzzzzy{{zxxxxyyyxyzyzyzzzyyyyyyyyyxyyzz{yyyyyzyyzzzy{zzz{yyyzxzyyyyzyzz{zyzyyxzyzzzzzzz{yzyyxyzzyyzyyzzzyzzyyzzyzzz{z{{{zyzyyyzyzzzzzz{zyyxzxyyyzzzzzzzyzyyxzzzyz{{{zz{zyzzz{yz{z{zzz{z{yyzzyzyzz{zzz{{z{yzyzzyyz{z{{zzz{{zyzzz{zzzzz{zzz{zyzzz{z{z{zzzzzzz{zzzzzz{y{{{z{zzzzyzzzzzzz{z|zzz{zzyyzyz{y{{{zyzzzzzzyzzz{z|{zzzyyzyyy{zzyzy{zyzyyyyyzzz{zyzyyyyxyyxyxzzxzzyzyyxxxyxyyyzyyzzz{xyxzyzxzyzzyzzzyyyyyxzyzzz{zyzzxyyyyxxyxzyzzzyzyyzyyyzyyyzyyzzzyyyxyyyzyyzyyzyzzyzyyxyyyyzzyzzyxzyxyxyyyzzyzzzyyyxyxyxyyyzzyzzxzyyyxyyyyzyzyy{yxyxyyyyxxyzyzzyzzzyyyyyyyzyyyzzzyzzzzyyyzzzzyzzzyyyxyxyyyyzzzzyzxyyyyxyyzzyzzz{zzyzxyyzyzyzzz{zzzzyxzwzxyyzzyzyzzxyzyzzzzzzzyz{zyyyyyzyyzzyz{zzyzxyy{z{zz{{zzz|zyzzyyzyz{zz{yz{zyzzzyyyyz{z{{z|zzyyzz{yy{{{z{{zzyyzzzzzzzzzz{{z{zz{zyzy{z{z|zzz{zzyzzyzz{zy{z{zzzyyzzzyyzzzzz{{{{zyzy{zzzzy{{{z{{y{y{yyzzzzy{z{zzyyyzzzzz{zzzy{zyzyyyxzyzz{xzyzzzzzxxyyzzzzyzyz{zzzxyyyyy{{zzz{zzzzyyyzzzzyzz{{zyzxyywyy{yyyyyz{yyyyyyyyyyzyzzzzyyzyzyyyy{zyyzzyzyzyzyyyzzzyzzzzzyzyyzyyyzyzzyz{yyyyyxxxzyyy{zzzyyzyxyxyzyzy{zyzyzyyyyyyyzyzy{zzzxzyxxyzyzyyyzyyzyyyyyyyyzzzzzyzzyyyzzyx{zzzz{zzz{yyyyyxz{{zy{{zyzzyzyzzzzzzzzzzzzzyzz{zzz{z{z{zyzzzyyyyyz{zz{zz{y{yyyyyyz{{zzzzyyzyzzyzy{zzy{{{zzz{zzyz{z{{y{|{zyzyzzzyz{{y{{z{zz{{yyzz{{zzzzzz{zzzzyyz||zz{{{{zzzyz{yzyz{z{{z{{zyzyzzzz{{|{{{{zzzzzzzyz{{zz{{zzyyyy{y{yz|{z{zz{zzzy{y{z{z{z{{{z{{yzyzyz{zzz{{z{zyzyyyz{zz{zzz{yzzzyx{zzzzyz{zyyyyyxyxyyyyyzzzzxzwyyxyxzzyzzzzzyyyzyzzyzzyzzz{zzyzyyyyzyzyzzy|{yzyyyyyyyzzzyz{yyyzywzxyzzzzyzyyzyyyyyyyzzzyyxyzyxyzxyyyzxzzyzyzyxzyyyyyxzzzzyzyzxxyxxxzyyyzzzyzyxyxxyyyzyz{zyzyxyzyyxzzx{zzyzzyyxyyzyxyyzyzyyzyzyzyyyzyzyzzyzzyyxyyxyyxz{{zzzyzyyzyyyyyz{z{zz{zyyzzyyyyzzzyzzzzzyyyzxyxy{y{z{xzyyzyzyyy{z{z{z{zzyyyyyyyzzzzzzzzy{{zyyzyzz{{|zzzzzyzzzzz{zyzyz{{{zy{yzyyz{{z{zz{zzzyyzyz{z{zz{z{zzyzzzzzzz{{zzzzzzzzyyzzz{zzzzz{zyzz{zzz{z{z{{{z{yyzyyyz{zzy{z|{zyyzzyzzzyz{zz{{yzzzyzzyyzzzzz{zy{zzyzyzzzzz{zzyzxzyzzyyz{z{zyxzzzyyxzzyzzzzzyz{yxxyzzyyzzzzzzz{zyyyzyyxzy{zyzzyzyxzyyyyyzzzyy{zzzzyxzxx{yyz{zzzzyyyyyyyyzyyyzyyzyxxzyyyzzzxzzzzzyywxzxyyxy{zzyzyyzyyyyyzy{zzzzxzyxyyyyyyzzzyyzzyyyxyyzxxzzyz{{zzyzzyyyyyzyz{yzzyyxyyzyyxz{zyzzzyyzxyyyyyzyzzxyzzzyyyyyyyz{{yzz{zyzyyyyyzzyyzz{zyyyyyyyyz{{zzyzzzyyzzyyyyyzzzzzzzzyyzyyyzzzzzzzz{yzzyxyy{z{zzzzzyzyzyyzyyzz{{{zzzzyyyzzyzzyz{z{{zzzzzyyy{{|z{{zzzyyzzyzz{z{z{|{{yzzyzz{yz{z{{{zyzzzz{yzzzz|{yz{zzzz{yzzzzzz{z{|{zy{zzz{z{zz{{yyz{zzy{zz{{{{{z{{z{yyyzzyyzzz{zzz{|yzzzzzyy{zzzz{zzzzxyxzzz{zzxxyzxzyyzyyyyzzzyzzyyyyyyyyyy{zz{{zyzzyzyzyyzyzzzzz{yyzyyzyyzzyyyzzyyyyyxxyxzyzzyzzzzzzyyyyyzz{zyy{zzyyyyyyyyyzyyyyzzyzyxzyyyyyyyzzzyyxxyzxxyzyzzyyzzxyyyyxyzyzyyzzzyyyxyyyxyzyyzxzzzyyyxxyyyyzyy{zzzzyyyyyyyzyyxzz{yzzyzyyxzyy{zz{zyyzyyyyyzyyzzzz{zyzyyxzyyzzzzyz{yzyzyzxyzzzzzz{zzzzzzyzyxzzzz{z{zzyyzyzyzz{zyzzzzzzyzzzzzz{{z{{zzzzzzzzzz{|{{z{{y{yyzyyz{z{zz{{{zzzz{yyzz|z{zzzyzyzz{yz{{z{z{z{z{z{y{{zy{z{{{{{{{zzyz{{zzzzzz{{{{zy{yzzyzzzz{z{z{yzyyyyy{zzzz{{{z{yzyzyzz{zz|z{{{zzz{zzzz{z{z{z{{yzzzzzzzy{z{zzyzz{zyyyzzz{yzyyyyzyyxyyxyzzzyzyzzzyzyyzyzzzyzyzz{yyyzyyzzzzzzzyzzyzyzzyzz{z{zzz{yyzxxyyxzzzzzzzzyyzxyyyyzzzyyzzzzzyyyzyzzzzyzzzzzzyyyyyyyzzyz{zyyxyyxyyyzzyzyyzzyyyyzzyyyyzyzzzz{yzyyyyyzz{zyzz{yyyyyyzxyzzyyzy{zyyyzxzyyzzyy{z{zzyyz{yyyyzzy{{zyzyzyyzzzzzzzzzzyzzzyyyyzzzzzzzyyyyzyzyyzzz{zzz{zyzzzyyzzzzzz{zzzzyzyzyyzz{zzz{{zxzyzzzzz{{z{zz{zyzzzzzzyz{{y{{{zzyzzzzzzzzz{{{{{yzzzyzyzzzz{{{zzzzzzzzy{{{z{{{|{yzz{zzz{{zzz{{{{z{zzzyzz|z{z{{{{xzzzzzz|{{|zz{z|zzyzzzzzzzz{|{|{zzyzyzzzz{{{{{|zzzyzyyzyzz{{zzzzzyzyzy{{z{zz{{zzzzxyyyy{zz{zzzzyzzzzxyxyyyyzzzzyzzyyyzyzzzyzz{zzyyzxzyyzyzy{zz{zyz{yzyzzz{zzz{{zzzyyzyy{zzzzzyz{yzyzyyyzzzz{zzyzyyzyyyxyz{yyzzzxy{yz{zyyzyyz{yzxxyxyxyyyyzz{zzyzyzzyyyyyyzzzyzzz{xywyxxzzz{zzz{yyyzzzzzzzzzzzzzzzzyyyyyyz{zz{z{yxzzyyzyzzzzzzz{{zzyyxzzzyzzyz{{zzyzyyzzzzyyzzz{yyzzyzyyzyzzzz{z{y{zzxzz{zzz{|zzzzzzzzyzz{{z{z{zyzyyyyzzz{{zz|zz{zyyyzzy{z{{zzz{yzzzzzzz{zzz{{{zzzyzzzyz{z{{{{{{{zzzzzzzz{zz{|{|{zzzyzzyz{z{{{{{{yzzz{z{{{z|{z{{{z{{zzy{z||z{zz{zzzyyzxzz{{zz{{|{{zyzyzz{zzz{{{{zz{zz{zz{zzzz{{{yzzzzyzzz{z{{z{{zzzzyzyz{yzzzzzzzyyyzyyyxzzz{zz{zzzyxxyyzzzz{zzzyyzyyzyzzy{{zz{zzyyyyyyyyyz{zyzzzzyyyzxyzyyzzzzzzyzyzyzyzyzyzzzzzzzyyxyzyzzyzzzzyzyxyyzzzyyzzzyzyyzyyyxyzzzzzzz{zzyzyyyzzyzz{yz|yyzyyzyxy{zzzzzyzzxyyzyy{yyyzzzzzyyyyxyyyzy{{zzzyzzzyyyyyzy{zz{zyzzxyxzyzzzzzz{{yyyzzyyzzyzz{zzzzzzzxyxyy{yz{zzzzyzyzyzyy{yzz{{zyyzyyyyyzzzz{y{y{zzzzzyyzzzzz|{zyzyzzyzz{{{{{z{zzyzyzzzzzz{{{z{{{zy{yyzzzzz{{{|{{zzzzyzzz{{z{{{{zzzyy{zyz{yz{zz{{zzzzyy{z{{z{y{{zz{z{zzzzzz{zz{zzzzzz{zyz{z{zz{{z{y{zzzz{{{{z{z|zzzxzy{zzz{z{{{{yzzyzyzzzzz{y{z{zzyyzyzyz{zz{yzzzzyyyxzyzzyxzyzzyyyyzxzyyzzyzzzyzyyyyzyzzzzzzy{zyyyyyyxxyy{zzyzzzzyxyyyyzzzyzzzzzzxyzyyyyzzyzzzzzyzyzyyy{zzzyzz{yyyyyzxyzyyyzzz{zyzxxxyyyzyyzy{zyyyyzyxyzzyzyzyzyz{xxyyyzzyyzz{{yyxyyyzyyyzzzzzyzyyyyyyzyyzyzzyzzzyyyzzxyzzy{z{{zyyzzxyzzzyzzz{{zyzyzxzzzyy{yz{{yyzzzz{zzzzzz{{zzzyyyyzyyyzzzzyzzyzyyyyy{zyyzz{zzyyzyyzzzy{{z{zzzyxyzzyyz{z{{zzzy{zy{{zz{zzzzz{{{zzz{zxyzzzzzz{zzyzyzyzy{{{z{{|{{zzzzy{yz{{zz{zz|yzyyzzzzz{{{zz{{yzz{yzz{zzyz{{y{zzz{yzzzy{{{z{{{zxzz{z{{z{{{z{zzzzyz{zzzzzzy{{{zzyzyzyxzzyzzzz{zyzyzyyyxyzzzzzzyyzyyyxyzzzyyzzzzzzyzyyxzzzzzz{zyyyyyyzzzz{zzz{{zyyyzyyyzz{yzzzzzzyxyxyy{z{zzzzzyyyyyyyyyyzyzz{yyzyyzxzyzzzzz{zzyyyyzzzzzzzzzzzyzyyyzyyyyzzzzzzyyyyyyxyzzy{yzzyz{yzyxyyyyz{zz{zzzyyyyyzxzzyzzzyzyzzxxyzyzzyyz{{yzxyyzyyyz{{zz{z{zzzzzyzzzzyzzz{zzyzyyy{yzzz{zzz{yyyyzyyyz{{zy{z{zzzyyyzzyzzyzzyzzyyzyzzz{zzzzz|zzzzzyyzzzzz{zzzzyyzzyzzzzz{{{{zzzzyzyzzz{{{z{{{zyzyzyyyyy{z{zz{{zyyz{yz{z|z{{z{{{zzzz{zzz{{z{z{{zxzzzzzzzz{z{{z{zyzzzzzz{z{zzz{{{zyzzzzyy{z{{{z{zzy{zz{{{|z{{{{zzyzyzyzzzzzzz{zzzzzyzz{xzyzz{z{zzyyzyxzyyzzzzzzzyyyyzxyxyzzzyzz{yzzxyyxyzzzyzzy{zyzyyyzyyyz{{{zzzzzzyzyzzzzzyz{{zzyyyzzyyz{zzyzzyyyyyyzyyyxyyyzxyxyyyzxxy{zyyy{yzzyyxzyyyzyzzzyzyxyyyyzyyzyyzy{yzxyyyyxyyzzzzzzzyzzyyyyxzzyzyzzzzyxxyyzyyzzyzyyzzyzyzyzxyzyzzzzzzyzyzyyxzzyyzzzyzxyyyzyyzzzzz{zzzyyzyxzyzyy{{{zzzzyyyzyyzzzyzz{{zyzyzyzzyzz{zz{zzyzyyzzzz{{{z{z{zyyyzyy{zz{yzzzz{yzyyyzzzzz{z{zzyyzzyz{yzzz{zz{{zz{zyyzyzz{zyz{z{yyyzyzzz{{{z{{{zz{{yz{zz{{{{{{{zzzyzzz{y{zzz{{{{zzzzyyz{{{zyz{{{zzyzyzzzz{{{{{{zzzy{{z{zz{z{z{|y{zyzzzzzzzz{z|{{zzzyyzyzzz{zzz{zxzzyyzyzzzzzzyzzxyyyyzyyz{zyyz{zyxyxyxyyyyzz{z{yzyyzzy{yz{y{zzzzxyyzyyyzzyzyyyzyyyyxyzyzz{zxzz{yxyxyyyyyzzxzzzzyxyxxyyyzzzzxyzzzxyxyyyzzyyyzyyyzzyyyyyyyyzzyyzzyyyyyyxyzyzzzyzyyyzzyzxyyzyzzzzzyzyyyyyyyzyyyyyzzyyxyyyyyyyzyyzyyyzzzyyxzzzzzzzz{zyxzzyyzyyzzzzzzxzxzyyzzzzyyyzzxyyzyzzzzzzyzzy{yyyzxyzyz{zz{zzzyyyxyxyzyyzyyy{z{zyzyzyyzyz{yz{zzzzy{yzzzyzz{zzzyyzzyyyz{zz{zz{{zzzzyyyxz{{zzy{zzy{zzzzzz{{zz{zzzz{zzz{zzz{z{{z{zzyyyzzzz{zz{{{{zz{zzyyz{zyz{{z{zzyzyzzzzzzz{z{z{{yz{zzz{z{{zzzzzyzyyy{yzyyzz{{z{zzzzyyy{zz|zz{zyzzyyzzzyzxyzzzzyxzyywyzzyzyyyy{yyyzyyyyzxyzyy{zyzyyxxyxyz{yz{z{yyyzyyxyy{yyzxz{xzyxyzyyxyyyyyzyyxzyyyxxzyyyzz{yyyyyxyyyzzzyyyyzyyyyzyyyyzyyyzy{yxyyyxyyyzyyyzzzyyzyxyyyzy{zyy{zyyyyyyyyyzyzzyzzyyyyyxyxyyyzzyzzyyyyzyxxyyyzzzzzyyzyyyzzyz{zyzzzyzyyyyzyyzzxz{zzyyyyyyyyyyzzyzzzyzyyyyyxzzzz{yz{zzyyzxyyy{zzzz{zyxzyzyyxyzyyzzz{yyyzyyyzzzyzzz{zyyyxyzyzz{zz{{zyyzzzzyz{z{zzz{z{zyyzyzyyzz{z{zz{{zyzzyzzzz{z{{{{zzyxyz{zz{z{{{{{z{zzzzzzz|zz{{{{zzzzyzzy{zz{{z{z{zzyyzzyz{z{{z{{zzyz{zyzzzz{{{{{yyzyzyyyyzy{zz}zzy{yzzzzzzzzyyzzyzzzyyyxyzzzyyzzyzzyzxyzzzyyzzzyyzyxyyyyz{zzzzz{{yyxyyyzzzzzzy{yzyyzyxyyzzzyyyzzyyyyyzzxzyzyxzz{yyzyyyyyyzzzzzzyyyyyyyyyyy{yzyzyzyyzxyyxyyyzyyyzzyyyxyxxyyzzyzzyyzyyxyyzyzzzzyzzyyyxyyzyzyz{yzzzyxyyxxyyyzzyzzyzzzxzzxzyyzyyyzyyzyzyzyyyzzzzzz{{zyyyyyyzzzzzz{zzzzyzyyzyzzzzzyy{yyzzyzzyxy{zz{{zzyyzyyyzzzz{zz{yzyyyyyyzzzzzzz{yzzzzzzyzz{zyz{yzzzy{zzyzzzz{{{z{zyz{zyzy{z{zz{zzzyzzyyyzz{zzzz{z{yyz{zyz{{{z{{z{zzyyzzy{zzzzzzzz{zyzy{z{z{{{{z{{zzz{zzzz|{z{z{{{zz{yzyyzzzzz{{{{z{zzzzz{{{z{{z{{zzzzyzzzz{{zzz{zzzyzzzzyz{zzy{{{zzzyzyyzyzzyzzyzzzyyyyyyyyzyzzz{zyyyyyzz{zzzz{z{zyyyyxyyzy{y{z{zzzy{yyzzz{zzyyzzzyzyyzzyzzzzz{zzzyyyyzyyzyzzzzzyzyzxyzyyyzyyyzzyzyyzyzyyyyyzyz{zyzzzxyyzxzzyzy{{zyyyyxyzzz{yyz{{xyyyxyyyyyyzzyzzyyzyxyyyyyzyzyyyzzzyzyyxzzyyyzyzyyzxzyyyyzyyy{zzyzzzzx{z{zzzz{zzzyzzyyyz{zz{zzzzyzzzyzyyzzzz{y{{zzzyyyzyz{z{z{zyzzzxyyzyz{zz{zzzzzzzyyyzz{zzzzz{zzzzzzyyyz{{{zzzz{zzzzzz{{z{z|z{zyyzzy{zzzz{z{{zzyyyzyyy{|z{{|{{{y{yzzzzz{{{{z{{zzzyy{yzz|z{{{{{{yzz{zyz{{zz{z|z{yzzz{z{{{{z{{|{y{yzzzzz{{z|zzz{zzyyzyzy{zz{z{zz{zzyyzyz{{zyyzzzzyzyyyzyzzzz{zyzyzzyzyyyyyyxzzzzzzyyyyyxzxzzyzzzyyzyyzyyzzzz{zz{zzzyyywyzyzzyzz{zyzyyyyzyzzzyyzzyyzxyyzyyyyxzzzzyxyyyxzyyyzyyzzzyyzyyyzz{zyzyzyyzyyyzyzyyzzz{z{zyyyyyyxzzzzyyyzzzyzyyyzyyzzzyzzyyzyyzyyyzyzyzzzzzyyyzyzyyyyzzz{yzyyyyzyyzzzyyz{{zyyyyyxxzzzzzzzzyyyxyyyyzzyzzzz{yzyzyzzyyzzy{zzyyzzyzxzzzzzzy{|zzyzyyyzzzzzzzz{zyyyyzzzzzzy{y{{zzyzyz{z{z{{zz{z{zzzzzz{zzzz{z|z{yyyzzzzyzz{z{{{zzyz{zzzzzzzz{{zz{zyyzz{zzzzz|{{{zyyzzzzzy{{{{{|zzyzzzyz{{z{{z{{{zzzy{{zzzzzy{z{{zzzzzyzy{{z{{{||yzzx{zzzz{{zz{|{{zyzyyyzzzz{z{{zzzzyyzzzyzzzzzzzyyyzzxyxyz{yzyzyzxzyyyxxyyzyyzzzyyyzyyzzzzzz{{zyzzxyyyxz{z{y{zzzyzyyyyyyzyyzz{z{yyyyyzzxyzyyyzzzyzyxyzzyzyzzyzzzyyyxyyyyzyyzzzzzyyyxyyyyyzz{yy{yzyyyxyyyyzzzyzzzyxyyxyyxyzzzyy{zzyxyyyyxzzzzzzzyzzzyyzyyyzzyz{zzyzzyyxyxzzzyzzzzzyyyzxyyzyzyzzz{yz{yyyzyzzzyz{z{yyyzzzyyyzzyyzzzzzzyzyzyz{z{zzzzzzxyzxyyzyzyz{{zzzzzyzyzzzzyzz{zyzzyzzzyzz{zyz{zzyzyzzzz{{z{zz{{yzyzyyyyy|zz{{{z{y{zyzzy{{zzz|z|zy{zzzzzzyz{{z{z{yyz{zyzy{z{{z{{zz{{xzzzzyzz{|{z{yzyzyzz|{z{zz{z{zyzzzzz{{{zz{zzzzzzzzzyzzzzzz{{{{yyyzzyy{z{y{zzxyzyyyyyzyyzx{zzxyyyzyyxyzzzyyyzyyyyyyyzzzy{y{zzzyyyyyyyyyyzzzzzzyzyyyyyyzzzyy{{zyzyyyzxzzyyyzzzyyxyyyxyyzyzyzz{yzyyzyyyyzzyzzzxyyzzyyyyyzzzzzzzzyzyxyyxy{zyzyzyxyyyyyxyyzzyyz{yyyyyyyyzyzzzzzyyyzyyyyyyyz{{yzzyyzzyyxzzyyyyyzzzzyzxyzyyyzzz{z{zzyyyyyzyzzzzzzzzzyzzyyzyzzzzzz{yzyzyyzxyz{zzz{zzzyyyyyyzy{zyzzyzyyzz{yyzzzyz{z{zzyyzzzzzyzyz{{{yzzyzzyzzy{{zz{zzzyz{zzzzzyzz{zz{zz{zyzzyzzzz{{{zyzzzzyzy{z{z{z{{z{zyyzzzzzzzz{|{zzzyzzyyz{{z{{{{zy{{yzzy{z{{{{{zzzyyzyzz{{{{{|{|zyyzzyyz{zzz{z|{{z{zzyzy{z{z{{z{zzy{zzzyzzyz{zzzzzzyyyxxzzz{zy{zxzyyyzxxyzzyzzy{yyyyyxxyzzzyzzy{zyyyyyyzzyzzyyz{zzxyyzyyzzzzzyzzzyyyyyyyyzz{yzzzzyzyyzyyyzzzy{zyyyyyzxyxzyzyyzzyzyyyyzyzz{zxzzz{yyyzyzyyyzyyyzyzzyyzyxyyyzzyyyzzxzyyxxzyxyyyzzzzzzyzyyyyyzyxzz{yyyyyyzyyzzzyzzyzzzyxxyxyzzzy{yzzzzyzzyyyyzyyyzz{zyyzyy{yzz{xyzyzyzzyxzxyzz{yz{{zzyzzyzyyyzzzzz{zzzzyyyyzz{yzzz{yzxyzzyzzzzzzz{zzzzzzyzy{zzz{{{{{zzzyzz{yzzz{z{{zyyxzyxyyz{{{z{{{{yzyyzzyzz{|{|{{yyyzyz{zy{y{zz{{{zzzzz{y{{{{{{{{{xy{zzzzz{{z{{|{zzzz{yzzz{{z{z{{{zzzzzzzz{z||z{{zz{yzzzyzzzz{{zzz{y{yzzyzzy{z{{zzyzyzzzzz{{zzzyzxyxzyxyyxzzyzyzzxxyzyyyyyzzyyzz{zzxxyyzyzyzyz{{zzxyxzxyzzzzxyzzzzyzxxyyyzyzzyyzzyzzxyyyyx{yyzz{yzyyyyyxyyzzyy{zyyyzyyzyzyyyzyzzzyyzyzyyyyzzzyzzzzzyyyyyyzyzyzzzzzyzzwyxyyzzyyyzzyyyyyyyxzzzyyzzzyyzxzxyyzyzzyzzzyyyyzyyxyyz{z{zzyyzxzyyyyz{zzyzyzxzyyyzyzzzzzzyzyy{y{yyyzzzzzyzzyyzzzyxyzz{zzz{zzzzyyyyyzyzz{z{zzyzzzzyy{zzyy{zzzyzzzzzy{z{zzzzzzzzyyzzy{{zz{z{zzzzzzyzzz{{{{zz|zy{yzyzy{|{z{|{{zzyz{zz{{{zzz{{z{zzz{zz{z{z{z{{{zy{zzyzy{zyz{z{zzyzzzzzz{{{zz{{{{zzzz{yyz{{{{{{{{{yzzyzyz{zzz{{zzzzzzzyyzzyyzzzzzyyzzzyyyyzzzyyzyxyxyxxxyzyxzyzzyyyyyyxyzzzyyyyyyyzyyyyy{yyyzzzzyyyyxxyxzyzzzyzzzyyxxyzyyyzzyyy|yyyyyzyxzzyyy{zyzyyxxyyxyyzyyyzyyxzzxyxzyyzzyzzyyyyzzyxyyzzzzzzzxyyzxyyyzzyyyzzyyyyzyyxxyz{yyzzzyyyyyyxyyyzyyyzyzxyxyyyyyzyzzzzzzyyyyyzxyzz{zyz{yyyyzxyyzzzzyzzzzyyyyyyyyyzzzzzzzzyzyzyzz{{yz{zzyyzyzyyzyzzzzzzzzzzyyyzyyz{zy{{zzyyzyxyz{zzzyz{z{yzyzzyyzz{{zzz{yzzzzzyy{{zz{{{{yyz{zyyz{{{{yz{{zzzzyzyz{{zyz|{{{zzzzy{zzzz{z{z{zzyyzzzzz|{{z{z{{zyyzzzzzz{{z{{zzyzzzyzy{zzzzzz{zzy{zyzzzzzzzzzzzz{yyyyyzz{zzzzzyyz{yzzz{zz{{zzyyzzyyyyzyzzyyyyyxxyyxyyxzyyzzyzz{yyyyxxy{yzzzzyzzyyxyyyyyzzyyyyzzzyyxyxyzzzzyyyyyyyxxzyxyyzyyyyzyxzyyyzxxzyyyyyzzzzyyxxyyyzzyzzzyyyyyyyyzzyzyxyzyxyyyyyyyyzyyyzzzyxyxyxzyzyyzzzyyyyxxyxyyyzzyyzyxxzyyxxyyyzzyzyyxyyyxyyyyzzyyzyzyyyyzzxyzzyyyz{zyxyyyyzyyyzzzzzzyxyyyxyzxzyyzyzzyyyyxyyzy{yzzzzzzzzyyxyyzzzzzzzzyyyyyyyyyz{zzzzzzyxyyyyyz{zzzzzzzyzzyzzy{zz{{{{{yyzyzzyz{zzz{|{zzzzzyzyyy{{z{z{y{yyyzyyzzzzzz{{|zyzzyzzyzzy{z{zzzyyzzyyzzzz{z{zzzyyzzyyyyz{zz{{{{zzyzzzyzzzz{{{{zz{zzzzyz{zz{zy{zzzyyy{xyzzzyz{zyzyzy{zyzzzzyzyzyxyyxxyyzzyyzyzzyyxyyxyyyxzzyyzyyyyyzyyyzzzyzzzzzzyyyyyxzyyzyzzzyzzyxxyyyyzzyzyzzyxyxyyxzyz{yyzzyxzyyyyxyzyyzzyzzzyxyyzyyyzyzzzzzxyyxzyxyyzyyyyzyxxxxyyxzyzxyzzyyyyxxyyxyzyzzzzzzxxyyyyyxzzyyzz{zyyyyxyyxyzzzyy{yzyyyxzyxzyzyy{yyzyzyyyxyyzzzzzz{xyzzyzyyzzyzzzzyzyxyyyzyyzzy{zzyxyyyyyzzzyzzzzzzyyyyyzxzzzzyzyyyzyyzzyz{zzyy{z{zyzyyzzyzzzzzzyzyyzxyzyyz{{{zzy{yyzyyyyz{{z{z{{zyyyyzyyxzzzzzz{zzyzyzyzxz{{zz{z{zz{yzzzyzzzzz{{zzx{zzzzzyzz{{{{{zz{{yyzzz{zz{{{z{yyzzyyzzz{{zz{{zzzzzyzyz{z{z|{zyyxyyyyyz{zzyz{{z|zyzzzyzyzyyzyzyyzyyyzzzzzzzz{zxyyyzyyyzzzyzzyzyyyxyzyy{yzzzzzzyyxxzzzyzxyzzyz{zyzzyyyyz{zzzyz{zyyyyxzwzyzzyyyzzzyyxyxxyyyyyzzyyzyyyyzyzyzyyyzzyyyyyywzyzyy{zzzyxyyyyyyyx{yzzzyzxyyxyyyyyzzzzzzyzyyyyyyyyyzyyyzzyyyzzyzyzyzyzyyzyyyyyyyxzzyyyzzyyyyyzyzz{zzzz{zzyxyyyzy{{zzzzzzzyyzyzyzzyzyzzy{zzyyyyyyzz{zzz{zyyzzyxyyy{zyzz{yyy{zyzzyz{yzyzzzzzzzyyyzzzzyyzz{zzyyyzzzzzzz{zzzzzzyzzzzzz{y{{{zz{yyzzzyz{{zy{{yyyzzzzzzz{yz{{{zzzyzzyyzzz{{{{{{{yzz{zzzy{z{zzz{zzzzzyzzzzzz{{z{zzz{zyzz{zzz{{z{zzyzzzyz{z{z{z{{{zyyzzyyzzz{z{{zz{yzyzyyyzzz{zy{zzzyyyyyzzz{yz{yyyxyyyyyzzyyzzyzzzyyxyyxzzzzzzy{zzywzyyzzzz{{zz{{zzyyyyyyz{yzz{yzzyzyzyyzzyzyzzzyzzyyyzxyyzxzzyzzyzzyyyyzz{zy{z{yxxxyyyyzyz{yzzzxzyyyxyxyyy{yyzyzzyyzyyyzyzzyzzzyzyyyzyyyyzzyzzzyyyzyxyyzzzyzyzyy{zyyzyxyzyzzzzzyyyyzzzyzyzyzz{zzyyxzyyyzz{{zz{zzy{zzxzzzyyz{zzzyyzzyzyz{zzz{zzzzzzy{xyyyzyzz{{z{yzxzyxyyzyzzzzyzyzyyzzzzz{zzzzz{yzyzyyz{zzz{{|zyy{zzzzzz|{zy{{|yzyyyyyzzz{z{z|{zzzyzyyz{z{{{z|{{z{zz{{zz{zzzz{zzzzyxzyz{{zzzz{{{z{zzz{{zzz{zz{{zyzzzzzzzzzz{{{z{zzyzzyzzzy{{z{{y{zyzzzyzzzz{z{z{zyzzzyyz{z{zz{{zyyzzyxzzzyzzyzzyyzyyyzyyzxzzyzyyzxyyyxyzzzzy{{zzyzxyyxyyzzyzz{zyzzyyyyyzyz{yyzyyyyyyyyzzyyzyzyzzxyyxyzyyzxyyzzzzyxxyxyyzzyzyzzyxyzxyyyyyzxzyz{{xxyxyyyxxzyyzy{yxyxyyyxyzzzyzyzzyyyyyyyzxzzyzzzzzzyzzyzyzyzzyyzzyyyxywyzzzyzzzzzyyzzzzxyzzzzyy{zyyyyzzyyy{zzzzz{zyzyyyzzzzzzzzzyyzyyyyzzyzzyzzz{yyzxzxzy{zzzz{zzyyzzzzzyz{z{zz{z{yzzzyyz{z{z{{yyzyzzzzzyzz{{zzzzyzzzzyzyzzz|y|z{zyz|zzyzz{z{zz{{{yzyzyzy{|{zz{z{{zzyz{zz{z{z{{zz{zyyzyyzy{{z{{{{zyzzzzzyyz{zzzz{z{zyzzzzzzzz{{zz{z{zzzzz{zz{z{{{yzzzyzzyzz{zy{{zzzyyyyyyzzzzyzzzzyzzzyyzyzzzyzyzyxyzyyyyxzzzzzzzyyyxyxyyzzzyyz{zyyzyyyyyxxz{{z{z{yzyyyy{zzzzyzzzzyzxyxyyzzyzyzzzyyzyyyyyyyyzyzzzzy{xyxxyzzzyxyyzyyxyyzyyyyyyzzzzyxyxyxxxzyzzzz{yyzyyyyyyzzzy{yyzzyzyyxzxyzzyyyz{yyyzyzyyyyzzzzxzyzxyyyyyyzzyy{yzyzyyyyy{xzzzzyzzyyzzyyzyyz{z{zzzzzyyyyzzyzzzzz{zzyzyyzzzzz{z{zz{{yz{yyzyz{zzzzy{{yzzzzyzzzzzzz{yzyyzzxxzzzzzy{zzzyyzzz{zzzz{zzzz{zzyzyzz{zz{{z{{{zyzzyyyzzzz{{zzzzzzzzzz{zyy{{{zzzzzzz{zzzzzzy{{yzyz{zzz{|{{z{|{z{zzyyyz|zz{zzz{{yyzzzz{zyzzz{|{{zyzzzzzz{{zzzzzzz{zzzyy{{z{z{z{zzyzzzzzz{zzz{z{yyzzyyyyyzyyz{{zyyyyyyyyzzzzyzzzzyyzyzyzzy{yz{z{yzyyyxyzzyzyy{zyzyyyyyyz{zzzzz{zyzzyyyzyzyyzzzz{yxzyyyyxyzzyyzzzyyyyyyzxyzzxyyzxzyzyxyyzzyzzyzzzxyyxyyxzyzzzyzzyxyyyyzxzzzzyzzyzzyyxxyxyxzzzzzyxyyyzyyyxyyyzxyyyxyzxyyyxy{yzzzzzyyyyyyyyzzzzzyyzzzyyyyyzzyyzyyzzzzzzyyzzyzy{zyz{yyzyyyzyzzzzzzz{yzyxzyyzyzz{zzzzyyyyyzyzzy|yzz{zyyzyzzzzy{{yzzz{z{z{zzyzzzz{z{zzyzzzyyyzzyz{z{z{yyzzzyyz{{zzz{yzzyzyyzzz{{z{{|{zzzyzyzzz{zzzzzy{{yzzzzyzz{{{{{z{zzzzyyyz{yz|{zz{zzyz{z{z{z{yz{{{{{yz{zzyzz|{zz{{zyzyzyyzzz{{z{zzz{zyzyzyzzzzzz{zzyyzxxyy{{zzzzzyzyyzyxxyzyyzyzyzyyyyyxyxzzzy{z{zzyzyyyzyyz{z{z{zzyyzyyyzzzzyyzzzyzzxyyxxyxyzzyzzyyyyzyywyyyzyyzzyyyyxxyyyz{zy{zyzyyyxyyzzzyyyzyzyyzyzyxyyyzxzzzzyxyzyyxyzzyzyyz{yzyyxzxyyyz{zyzzzyyyyyyyyyzzzzyyyyyx{zxxzzzzzzzzzxzzyyzyzyz{z{{{yzyzzzyzzz{zyzz{yyzyzzzyz{{zzzz{yzzxyyyyyy{yzyz{zyzzzyyzzzzzyyz{zyzzyzyyzzzzz{{zyzzzyzyyz{zzz{z{zzyyzzyzzzzzz{{zzzzzzzzzz{z{z{{zyy{zyzyzz{{z|{{{{zy{zyzy{{zyz{{z{{zzyy{{y{{y{{{{zzzyzyzzz|z{z|{{zzz{zyyzz{{{{{{|yzzz{zzz{{z{{{{{zzyz{zzz{zz{{z{{zzzyzyzzz{{{z{zzyy{yzzyyz|z{yzzyzyyxzyyyyzzzzyyyyyyyxyyyyz{zzzz{yyzzyxxyzzzzzyyzzzyxyzyxzzzzzzzzzxyyxyyyyzzyzzzzzyyyyyyxzy{yyzzzyzxyyyyxyzzyxyyzzxzyxyyyzyyyyzzzzyyzyzyyyyyzyz{zyxyyzyzyyyzzyzy{zxyyxyxyyzyyzx{zzyyyxyyyyzyzyyzzyzyyzxywyyyyzzzzzxyxyxyyzzzzyzzzzxyyyyyyzzzyzzzzzyyyyyyzzzyzzzz{yyyyyxyyzyzyzz{{yyyzyyyzyyzyzzyzzyyyyzyyzzzzzzzzzzyzyyyzzz{zyzzzyzyyyyzyz{zzzzzzzyyy{zyzyyzzz{{zzyzzzyzz{zzzzz{|zzyyzyyyzz{z{zzyzyyzzzyzz{{|zz|{zzzyyzzyzzzy{{{zzzzzzzzyyzz|zz{{zzzzzzzzy{zzz{{z{zyyyzzyz{zzz{{{zyyzzyyzz{zz{{{{zzzyzzyy{zy{zz{yzzyyzzyxzz{zzzz{zyyzyzyyzzzzzzyyyzyxxyxyyzzyyzyyyxyyyxyyyyzyzzzyyxyyyyyyzyyzyzy{zzyyyyxyyyyyzz{yyyzyyyyyzyzzyzyzyyyyyxyzyzyyyy{zyyyyzyxxzzzzy{zzxyyyxyxyxyyyy{zzyxyxyxxyyxyzyyyyzyyxxyyzyyyzzzzzzxyyyyyyyz{yzzzyyzyyyyyyyyyyzzzzzyyyyyyyyyzyyzzzyxyyyzyxyzzzzzzyyyzyyyyyzzzyzzzzzyzzyxzzzyyzyzzzyxzzyxyxyzzzzyz{zzzzzyyxyzzzzz{yyzxyyzyyzzzzzzzzzzz{yzxzzzz{zz{zzzyzyyzzz{{z{{{zyzyyzzyzzzzzzz{{{yzzyyyxyzzzzzz{zyzzzzyzz|zzzzz{zzzzyzzzy{zz{z{zzzzzzzzzz{z{|z{{zzzzzzzzyzz{{z{{zyzzzzyzzzy{z|z{zyyzzzyz{{zzzzz{zzyyyzzyyzz{z{{zyzzyyyyyyzz{yzyyzzzyzxzxyyzzzyzyyxxwyxxyyzzyzyzzyzyyyyyyyyyxyzzzxyyyyyxyyyyxyyyxzyzyyxyyzzzyyyzyzyxyyxxxzyzzzzy{yxyxzyzyyzyyyz{zyyxxyzyy{zyyzzzzyyyyxxxyyyyzyzyyxyyxyyyyzyyyzz{yyyxyxzyyyyzzzzzyzyyyyyxxyzzzzzyzzxyyyxyyyyyyzyzzyyxyyxyyyyzyyzzzzyxyxyyxyyyzzyzzzyyyyyzxy{zzyzz{zzz{yyyyzzzzyzzzyyyxyxyyzyzzzzzyyyyyyzyyy{zzyzzyyyzxyxzyz{zzyy{zyzyzzxyzyzzzzzzzzyyyzzyyzz{{{zzz{yyzyz{z{yyzzzz{{yzyzyyy{zz{zz{{zyyzzyzy{yzzzyzzzzzzzzzzzzyzzzzzzzzyzz{yz|{{zyzzyxzzyyzzzzzz{zzz{zyzzyyzz{z{zz{zzzyzzyyz{yzz{z{zzyyzyyyzz{zzz{zzzyzzxzyyyzzzyzzzzyyyyyyyzyzzzyzxyxxxyyyyxyzzzzxzzyxyxyyxyzyzzzzzyyxxyxxyzyyyzzzzzzyyyyxyzzzyzyzzzzyxzzyxzyzyzzyzyyzyxyyxyyzyzyyzzzyyxxyyyyzyxzzzzyyyyyxyzyzzyyzzyzxxyxyzzzyyyxzyyyxyzyyzyyzzyzyyzyyxxyyyyzyzyyzyzyyyyxyyzyzyyzzzzzxyyyxxyzyzyzzzyyyyyyyyzzyyz{{zyyzyyzyzzzyyyy{zyzyyyzzyyyzzzzzzyyzxyyzyzzzyzz{zzzzzzxyyzyzyz{yzzyzyyyzxxyzzy{zzzyy{yzyyyzyzz{zzyzxzzyyzzzzzz{{yxzyzz{yyz{zyzzzzzzyyyyzyz{zzzzy{yyzxzyzz{z{zz{{yyy{yzz{z{{yzz{{{{zzy{zyyzzzz|z{{{z{zzzyzzzzzzzzzzzzzzzz{zzzz{{z{zzyy{zzy{zzzzzz{yzzzzzzyyzzzz{{{zzxyzzzzzzzzzzzyyyzyzyzyzzzzyzyzyxwyyyyxyzzzyzz{xxyyxyyyyyyzyzzzzyxyyyyzzzzzzz{zyzyzxxyzyz{zzyzzzzzyyyyxyzzzzyzzyyzyxyyyyyzyyyzzyyyyyyyyzzzyyzyyyyyyxzyyzzyzzyzzyzxyyyyyzyzyzzzyyzxyyyyxyzzyzzzzyyyyyxyyyzxzyx{zzzxyyyxyzyyyyzy{z{yyyyyyyyyzyzzzyzyzyzyxyxzzzzzzyxyzzyyx{{zzy{zzzyyyyyzzzyzz{zz{xyzyyxyzzzzy{zz{zyzzyyyyyyyyz{zzzyzyyyyzz{zzzzzzzzyz{yyzy{z{y{zzzzzzzzyzyzzz{{{{zyyyyyzy{z{{zzz{zyzzyyyyyzzzz{y{zzyyzy{zz{{{{{{zzzzzy{y{zzz{{{{{zyzzzyyzy|z{{{{z{z{zzzzzzzzz{z|zzzzyyzzzz{zy{z|z{z{zzzzzz{z{z{{{zyyzyyxzzzz{z{{{zyyzzyzxy{zzz{{{zyyyxyyyyz{yzyzzyxyyyxxzyyzyyzyzyzzxyxxyyzzzyz{zzyyyyzyyyz{xzyzyzzyyyyyyyzzzyyzzzyyyyyxyzyz{yzzyzzyyxxzxyyyyzyzzyxyyyyyxyyzzyyzyyyxyyyyyzyzzyzyzyxyxyyxyzzyyyzzyyyxyxyyyyzzxzzzzxyyyx{zzyyzyyyzzzyyyzyzxyyzyy{yyzyyxyyzyyzyyyzzzxxyzyyyxyxzzz{zzyyxyzxyyzzzyyzzz{yyzyyyzzzyz{{z{yzyyyzyyyyzz{z{z{zyzyxyyyyz{zzyzyxzzyyyyzzzzyy{{yyzyz{yyzzzzzzzyzyzyyyzzzx{{{{{zzzz{yyzyzzy{{yzyyzyzy{zxyz{|{z{z{yxzzzyz{{zz{{zzzyyzyzzzyzzz{zzzzzzzyzzzzz{zzz{{zz{{yyzyzzz{z{{zzyyzz{y{yz{z{{zzzzzzyz{zz{{z{{zzyzzzzzzyzyzzz{{zzyzzyzxyyzz{z{zyyyzyyyzxx{{{zzzzyyzxyyyyzyzzyzyzyyzyzyyyzzzzzyyzzyyyyxzxzyzzzzzyyzyyyyxyyyzzyy{zzyyxxxyyzyyzzyzyyzzxyyzyyzzzyzzzzyyzyyyyyyyyyyyyxyyyzyzzyyyzyzzyzyyxyyzyy{yzyzzzyyyyxyyxzz{zzzzz{yzxyyxxyzyzxyzyyxzyyyyxyzyyyyzzxyyyyyyyzyzzyzzzzyxyzxyyzyzzzzzzzyxxzyyyyzzzzzzzyyzxzyzzyyzyzzzyzyzyyyzzyy{yzz{zzzzzyyzyzzzxz{zyzyzyyzyzzzz{zz{z{zxyzyzyz{zyyzzy{zzzzzyyzzzzzzz{yzyzyzzyzzyyzzz{{yyzyyyyzzzzzz{zzyzy{zy{zzzz{{{{yzzy{{{zzz{zz{{{{yzzyzyyy{z{z{z{{z{zzzyzzz{zy{zz{yyz{yzzz{z{{zz|{yy{{zzzzzzz{zz{{yyxyzyyyzz{zzz{yzzzyyyyy{z{zzzyzyzyzyyyzyzyzzyzxzyxyxxxyyyyyzzzyyyzyyyxzzzzz{z{zzyxxyxyzzyzzzzzzyyyyyyyzzzzzzyzyzxxyyyyzyyzxz{zz{yyyyyxyzzzyzzy{yzxyyyyyzzyyzyyyzyxzyyxyyyzyzzzyyxxyzyxyyyzyyyzyyyxxyyzyzyyzzy{zyzzyyxyyzyzzzz{yzyyyyyyyyzyyyyyyzyxyyyyyzyzzzzzzxyy{{zyzyzyyzzzyyzyyyzzzzyyzzz{yyyxzyzyz{z{yzz{yyzzzyzzzzz{{z{yzzzxzyyyzzyzy{zzzyyyyyyyy{zzz{{zzyyzyyxzyzzzy{zzzzyyzyzy{z{{zz{{y{z{zzyzzzz{zz{zzyyyyyyz{{{zz{{{zyyyzzzz{{zzzzzzzzyzyzzzy{zzz|z{zz{zxzzzz{|{{{{{zyzyzzzz{z{{z{{z{y{zzzzzzzzz{{{zzzzzz{yz{z{{zzzzz{{xzzzyzzzzz{z{zzyzyzyyy{zzzzzzzyyxyyyzzzzyyyzzyzyxyyyxzzzyyy{zyyyyxyyyzzzyzyzyzyyyzyyyzyzz{z{yyyyyxxyyxyzzyyzzxxyxxxyyzyyyyzyzyyyxyyyxyzyyzyy{yxyyyyyxzyyxyyzyyyzxzzyyzyxyyxyzxxyxyyzzyyzzyyzzzyxxxxyzyyyyyzyzzzzyxyxxyzxzzyzzyy{zxxyyyyyyzzzzyxxxyxyyyzyyyzzzyyxxxzzxyyzyyyzzyyyyyxyyzzzzyzzyyyyyyyzzz{zyy{zzzxzxyyyzzzyzzzzzzyyzyxyyyzyzyzzzyyyyzyxyyz{yzzzzzyyzyxyzz{zzy{zzzyyyzzzzz{zzzz{zyyyyzzzzyzyyz{z{yzyzzxyy{yz{zz{z{yyyxxy{{{{{zz{zzzzzyz{y{yyzzzzz{zzyxyzxy{{zzzz{zzzzzyzyzz{{z{{{zyzzzzzzzzzzzz{{y{yzzzyzzzyz{zzz{yyyzz{zzzzyzy{{yyzyzxyzzyy{yz{zzyzyyyyxyyzyz{yyyxxyyxxxz{{zyyzzyyyxyyyzzyyyyzzyyzzxyyxxzyzzzy{yyyyxzyyzyzyzzyyyyyyyyxyxyzzzyzyyxyyyyyyyxzxyzyzzyyyyyyyyyyyzyyzzyyzyyywxyyy{y{z{wyyzyyyyzzzyyzzzxxxyyyyyyyyzzyyzyxxxxyxyyyzyzyzzyyywxyxxyyzyyzzzyyyyxxyzyyyxy{yzyxyxyzyyyyzzzzzzzyyyxxyzyzzyyz{zyyzyyyyzzz{zz{{zyzyyyzyzyyzzyzzzyyyyxzyyyy{zzyzzyzzzyyyyzzzzzyz{zyzzyyyyz{zyyzzzyzxyzyzyzzzzz{{zyyyz{zzy{{zz{{z{zzyzzyzzzzzyzzzzzyzyyyzy{z{{zz{zyzzyyyz{zzzyz{z{yzyzyzzzy{zz{{z{{yyyzyyyzzyzzzzzzzyzz{yzz{zzz{z{yyzzzzy{{z{y{|zzyzzyzzzzzzyzyz{zzz{yzyyyzzy{zzzzyyyyyyyxyzzyz{zyyyyyxxyyzyzxyyyzyyxxxyyxyzxxyzzzyzxxyxzxyzzxyyzzyyxyyxxyyy{yyyzyyxyxxyyyzyyzyzyzyyyyxxxyyyzyxzxyyxzyyyxxyyzzyzyyzxzxyyyyyyyyyyyyyyxxxxyxxyzyzzzzyyyyyxxxyyy{yyzzyyyzyxxxxxyzyyzzyxyyyxyxyyyyyyzyxxyyxxyxyyyzyy{zyxyyyyxyyyzzyy{zzyyyyyzzxzyyyz{zzyxyyxzzzzxyyzz{yyyyzyyyzz{zzz{zyyyyzxxzyzyzzzzzyzzzzxyyzz{zy{{{zxzyyzyyzzzy{zzyzyyyyyyyyyzzzzzzy{zyyyzy{zzzz{{{zzyyzzyyzzz{zzzzzyyyyzyz{{zzzyz{zyyzzzzy{{zzzzz{zzyyzzyyz{y{zzzz|zzzyyyyzz{z{z{zyzzzyxyzy{zyzzz{zzzzzyyzy{z{zz{{zzzyzzzzzzyz{z{z{yxzyyyyxzzyy{zyxyyyyxxxyzyzzzyxyyxxyyyyyyyzzyxyyywyxyyxzz{yzz{zyzyxyyzyyyyyyzzzyyyyyyyyzyyzyzyzyxyxxyyxzxzyzyyzzyyyyyyyyyyyyzzzyyzyxyyyyx{zyzzyyxyyxyzyyyxzzzyzxyxyyxyxyyzyzzyxyxyyxyyxyxyzyyzzyzyxxyyxzyzyzyzzyxxyyyyyyyzyzyzzyyzyyyyxyyzzyzyyyyyyyyyxyyzzzz{zyyyyyxyzyyyyzzzzyz{yyzyzzzzzzzz{zxzyyyyyyzzzy{z{zyyzzzzxyz{zyzzzyyzyyyyyz{{yzzzzzyyyzxzzyz{zyz{z{yzzyzyzzzy{zz{zzzyyzyzyyzz{y{{{zy{yzyzy{{yzzy{yzyyyzzyyzzzzzzz{zzyyzz{zzzzzz{{z{zyzzzzyz{{z{{{{zzzzxzyz{z{zzzzzzyyzyzzz{zzzzz{zy{yxzzzzzzzz{|z{zzzzzyzyzzzz{zz{zzzyzyzyyyyzzzzzyyzyxxyzzzyzzzx{yxyxyyzxy{yyyyyyxyxxxyyyyyxyyzzzyyyxzyyxyyzz{zzyzyxxyzyyyyzyyzzyyxxxyyxyzzzxx{zzxxyyyyyyxzyyyzzzyyxyxyywyyyyyzzzxyyxyyyyyyzzxyzzxxxyyyxxzyxyyzxyyxyxyyxxyyzyzyzyxyyyxyxyzyyyyyzzyxyyxxyyyyyxyxzyyyxzxyyyyzxyxyzzxyzyyywyyyyzxy{yyyyyyyyyyyzyzz{zzxyzyzzyyyyzyyyzzyzyyyyxyyzyzz{yzyzyzyyxyyzyz{zyyyzzzyxzyzzzyz{yzyyyyyyzzzzyzzxzzzyyzyzyzz{zzzzzyzyyzzyz{zyzzzz{yyyzyyzzzz{yzzzzzyxzyyy{y{zzzz{zzy{zzzz{zzyzzzyz{z{yzzzyyzy{zy|zzzyzyyzyzz{{z{z{{yy{yy{y{zzyz{{{{zzzzzyzzz{yzzzyzzyxyzyyzzzyyz{z{zzyyyyyy{yzyzyzzyzxzxyyzzzyyyyyyyyxyyxyyzzyyyzyyzyyyxxyyyzyzyzzyxxxxyzxyzyx{zyyzyyyzyyxzzyzyzzyyyyxyxzxyxzzyzzz{yxyyyzyyyzyyzyyzyyxyyyyyyzyyzyyyxyxxzyyyyzyyzyzyxyxyyxxyz{zyy{yyyyxxxxyyyyz{yyyxxyyyxyxzyxyyyyyyyyxyxyyyyzyzyzyyyyyyxyyyyyzzzyyxxxyyyxyyzzzyz{yzzxyxxyyyyyyyzz{yyyyywyzyzzzzyz{yyzyyyxyyyy{zzz{yyzzyxzyzzzy{{yzyyyzyyxzzzyzyzzzzyyyyyzyz{zzzyy{zyyyzzyyz{zzyzyzyyyyyyyzzzz{yz{zzzyzyzzyzzzzzyz{zzyzzyyy{{{zzz{{zyyyyzzzzzzzzy{{zzyz{zyyz{zzzz{zzzzzyzzyzy{{z{zzzyzyzzyyzzzz{{|zzzy{zyyzzzz{y{z{zyyxyyzzzyzzzzzzyzzyyyzyyzzxzzyyzyywyxyxzzzz{yz{xzxyyxyyyzyyzzyzyyyyyxxyyyzyyyzzzyyyyyyyyyyy{zzyzyyzyyyyyyzzzxzzzyyyxxyxzzzyzz{zyyyyyyzyzzzyyyzyzyyyyyxyzzyyxyyzyyyyzyyyyyzyxyzzyyyxyyyyxyyzyzzzyyzyyyxyyyzxzz{zzyyyxyyyyyzzzyzzyyyyyyyxyzzxyzyyx{xzyyyzzzyxyzyzzyzyyzyyzzyzzzz{zyyzzxzyzyzyzzyzxy{yyxyyz{zz{z{zyzyzyyyzyzyzyzzzzxyyzyyyyzz{yz{zyyzyyyyyyzzzyy{zzyxyyyzyzz{zyzzzzzzzzyzyyz{zzyy{zzzyyyzyzzy{z{z{zyzyyyzzzyzz{{zzyyzzzzzyz{zzzz{{zyzzzzzzz{{{{{|{z{y{yyyzy{{{|z{zzz{zyzyz{z{zz{z{zzyzzyyyz{yz{{z{{zzyzzyyzzz{yzz{zzzxzyyzy{zzz{{zzzzzyyyzz{{{zz{zz{yyyzyxyz{yzyzyzxyyzyyxzzzzyzzyyyyyyxyxzyyyzyzy{zyxyyyxzzyzzzyyyzyzzyyyyzyyzzz{zyyxyyyyyy{yyzyzyxyxzxyxyzzyyzyzyyyyyyyyyzzyzzyzyxyyyyxyyyyzxyzzzyyxxxwxxzzzzyyzzyyxxxxyxyzz{yy{zyyyxxyzyyyyz{{zzyxyyyyxyyzyyzzzzyyyyyyyyzyyyzzzyxyxzyyyyyzyy{z{zyyyyyyz{zzyzzz{zxzyyyzyzyyzyzzzyzyyxyyzyzzzyzz{yzzyzxyyyyzzzyyzyyyzyzyxyzzzzz{zzxxzyyyyz{zyzzz{zzyyzzzzyy{zzy{zyzyyzzyyzzz{zzz{zyzyyyyy{z{zz{zyzzzyzyzzzzzzz|zzzz{yz{zzzzz{{{{{zyyzy{zzz|z{{{{{{yz{zzzzz{z{z{yzzyzzzyyzzzyzzzz{zyyyzyzzz{z{zzz{zyyyzyzyz{zyz{yyyzyyyyyyz{y{yzyzyyzxxxyyyyzyzyxyyyxxyyywyzyzyyyyyyxxyxyyyyxzyz{zyyyzyyyyyyxy{zyyzyxzyyyxxyzyyzyzyyyyxyyyzy{yzyzzyyzxyyyxzyyxzyyyyyyxxzzyzyzyyzyyzyyxyzxyyyzyzyzzxyyyyxxxyzzzzzzyxxzzxyyyy{yzzzyyyyzxwxyyyzyzyyzyzyyyxxyxyzyyxzzzyzyyyyyyyzyxzzyzyyzyxxyxyzxyy{z{yyxyyyyyzzxyyzzzyxzyzxzyyyyyzzzzyyzyxzyyzzzzzy{zyzyyyxyyzyy{zzyzyzyxyyyxy{zzzzyyyzyyyyzzyzzzyz{zyyyyyzyyy{z{zzzzyxzyyzzzzzzzyzz{zzyyzzyzzzzzzzzzzzzzzxyz{zzyz{{z{yzyyzzy{{{z{z{{zyyyzyzzz{{{{{{{zzzzyy{zz{zz{{zzzzyyzzy{zz{z{{z{zyyyzzyzzzzz{zz{zyzyyyyzy{zzzzz{zyy{yy{yyyy{zzyzyyyzzxyyzyzz{yzyyyyywxyyxyzzyzzzyxwyxxxyzy{zzy{zyywyzyxyzzz{yy{yyzyyyyyyyzzyyyyzyxxxyyyxzyzzyyyzyyxyyyyyyzzyyzzzyyyyxxyxzyzyyyyzyyzyzyzyzzzzyyyzyzxyxzxyzzyyzyzyzzxyyxwyzyzyzzzzyyzyyyxxyzzzzzyzyyyxxyxxyyyyyzzzzyyxyyyyyzyzzzzyzxzyyyxyzyzyyzyz{yyyzyyxzyzzyyzz{zzxyyyy{yzyz{yzyyzyxyzyzyzy{zzzzyyzyyzxyzz{{zz{yyzyzyyyz{zzzz{zyyzyxzzzzzzzzzzyyzyyzzzzzzzzz{{zzyyyyzyzz{zzzyzzzyyyxyyyzz{z{{zzzyyz{{yz|zzzy{y{zzyyxyyyzzzzzz{zzyyzzzzyz{{zz{zz{zzzyyyyzy{z{{{zzyyz{zy{z{zz{z{{zz{z{yyzy{zz{{zzyyyyzyzyyzzzzzz{zyyyxzzyzzzzzzzzzyyyxyyyzzzzzzyyyzxxxyyxx{zyzyz{zzyxyzyyzzzzzzzzzzyyxywyyyyzzyyzzxyyyxyyzyzzyz{zzyzxyyyxzzyzy{yyyyyyyyxxzyzyy{yyyyyyyyyyz{zzyzzyzyyyzyyxyyyzyyyzxyyxyxyxy{yyyzyyyzzyyyxyzyzzzzzzxyxxxxyxyyyzzzzzyyyyyyyyyzyyzyzzyyyxxyyyyyzzyyzzzyyxyzyxzzzzyzzyzzyyzxyzzzz{zz{zyyzyzyyxzyzyzyzzzzzzxyzzyzyzzyyzyyzxzzyxyzzzzzzzzzyzyyyzy{yzyzzyzzzyyzyzzzzyy{zzyzyz{zyz{z{z{y{zyyxzyzyzzzz{y|{{zzy{zzzzz{zzz{{z{yz{{yzyz{z{zz|{zyzyz{zzyzz{z{zzyzzzyzz{yzzzz{|{{zzzyzzz{z{{z{{z{yz{zzyy{zzz{z{{zyzzzyzzz{zz{{zzzyyyyyzzz{zzz{{{zyyyzzyxz{zzzzzzzyyzzyyyzyzy{yyyyxxyyyyxyzzyyxzzyyyxwyyyyyyyyzyzyyxxyyxyzzzyzzyzzxzxxxxyzzyyyxyzxyyyyxyyyyzzyzzzxyxyxyxyyzyzyyyzyyywxyyyxxyzyzyyyyzxyyyyyxyyxzyzxzxyyxxwyzyyzyzyyxxzxywxyyyyzzyyyyyyxxxxzyyyzzz{zyyyyxxyxyyyyyyzyyxxyyxyyyxyxzzzyyyyxxyyzzyyzyzxyyyyyxyxyyyyyyyzyxxyyyzyyzzyzzyzyzyyxyyxzzyyyzyzzyyzxyzyzzzyyzzzzzyyzyzyzyz{zzyyyyyyzyxxzz{yyyyzyzyyyzyyyzzzz{zzyxyzzxzyy{zzzzz{zzxzyyyyzyzzz{yzzyyzzzzzz{zzz{{{{zy{yzy{{{z{z{zz{zzzzyzyzzz{zz{{{yyzzz{zzzz{zz{z{yzyzyxzzzyz{{zzyyyyzzyzzzz{zz{{zyzxzyyzzzzzz{zzyzyyyxyxyyzyzzzyzyyzyyyyyy{zzzzyyxxxywyxyyyyzyzyyzxyxxxxyzzzyz{yyzyxyyyzyyyzzz{zyyyyxyxyzyyyyxzzyyyxxyyxyyxyyzyzyxyyzyyxyzyxzzyzyyyxxxxyxyzyyzzyyzyxyyxyyxzyyy{zyyxyyyyyxyyzyyyyyyyxxyxyzyyy{zz{yxxyxxxxyzzyyzzyyyxyxyyxyyxyyyz{zzyyxyyyyzyzyzyzyxyyxyyxzzyyyzzzyzyxyxyxyzzyyyzzyyzyyyzyzyyzzzy{zyyyyxxyyzzyyz{zyyyxzyyyyzzzy{zzyyzxyyyyzyzzzy{yyxyzyzyy{zzyyzzyyzyzzzyyyzzz{{{zyzzyzxyyyzy{yzz{yyyzyxyyz{{{{{zzzyyzzyyzyzz{z{{{zyzyzzzzz{yz{zz{zxzzyzyy{{y{zz{z{zzzzzzz{{zyzzzz{yyzzyzzzzyzzz{zzzzxz{yy{zzzz{{{yyzxyzzyzyzzyzzzzyyzzxzyy{{yzzzzzzyxzzyyyy{zzzzyxxxxyyyyyyyxyyzzyxyzyyxzyyyyzzyzyyxwxxxyyyyyxyyyzyyxyyyxyzzzyyyxyzwxxxxxyzz{yzyzyyxyxyyxyyzzy{zzyyyxyxxy{yzzyxzzzyyxyxyzyyyyxyzyyxxxxyzyxzyyyyxyyyyyxzxxyxzxzzzzyxzxyyxxyyyyyzzzyyxyyyyyyyyyxyyyyzyyyxxyyyzzzyyzyxyyxzxxyyyxzxzzyzyyzxyyyzzzz{yz|yzzyyyyyzzzyzzzzzxxyyyyzyzyyzzzyyzzyyzzyzzzyzyzyyyyzyyzyyzyzyyzyyyyyyzzzzyyyyyyzzxzzxzyzzyzzz{yzzyyzy{zzyzzyz{{yxyyxyyyzyzzzzzz{yyyzzzyzzyzzzzzzyyzzzyyzzzz{{z{{yyyyzyzzzzzzz{{{zzzzyyzz{{z{z{{{zyzyxyyyyy{zz{{yyyzyzyyzzy{{zzzzzzzyzyyyyz{zz{zzyyyyzyxyz{zzy{zyzyyyxyyy{yyzyzyyyxyyxyyyzzyyxyzyxxyxxyxyzyzyyyy{xyyxx{yyzyzyyzzxxyyxyxyyyyzxyzzyyyyxxzxzyyyzyy{yxzxyxyxyyzyyz{yyyyyzxxxyyzxzyzyyxxxxyyyyzxyyzyzxwyxyxyxzyzxyyyyxyzyyxwxzyzyzzzyyyyxxyxyyyyyzyyyxyzxzxyxyyyxxzyyxyyyxyyxyyyyyzzyzyyyyzyyyyyyyzzzyyxzyxyyyyyz{yy{yyyyyxzyyzzzyyz{yxyyyyyyyyyzzyzzyyzxywxzy{zxzzzyyyyyxyyzyzzzzzzzzyyyyzyyzzyyzzz{yzyyyyyzz{yyyz{zxxyzyyyyzzzzzzz{yyyzyxyzzzzyzzzyzyzyyzyyy{zyzzzzzyyzzxzzzzzyzzz|yyyzyzyzz|{zzz{{{x{zzzzy{zzzz{{zzxyzzyyyz{yz{z|zzzzy{yyzz{yzzzzz{y{xzyzyzy{zyz{zyyxyyzzyz{zzzzzyzyzyyyzyyzyzzyyyyzzyxyxyxyzzyxyyyyyyxyyyzyzz{yzzyyyxyyzyyyyyzy{{yxyyzyyyyxzzyyzzyyyyxxzxzyzzyzzyyyyxyyyxyyzzyyzyzyzxyxxyyyyyyzyyyxzyzxxyzyzzyyzyyxyyxxyxyyzyyy{yyxxxyxxyyyzyyyzyyzyyxyyyyyy{zzzyyxyyzxyxyyzyzzyzyyxxxxyxyzyyy{zzyyyxyyxyz{yyyzz{yxxyzyyyyyzyyyyzxzzxyxzyyyzzyzzzyyyzxyyyyyyyyy{yzyyyyyyyx{yzzyz{zyzz{yyyzzzyzzzyxyyyyyzxzzz{zzyzyyyzyyyyzzzzz{zyzyxyyyzz{zzzzzzzyyzzzyxzzz{zz{zzzyyyzzzy{zyyzzz{yz{yzzzzz{{yzzzy{yzzyzzyy{zzzz{{zzyzzyyzyz{zz{z{{zzzzyzyzzyzzzzzzzzzyzyyzzz|z{z{zzyxyzzzyzzzyzyzzyyyyyyyzzyzzzzzzyyyyxyyzzzzyyzzxzyyyxxxyzzzyzzzwxxywxxyzyzyzzzxzyyyxyyxzyxzzzzzzyyyyyyxzyzyxzy{zyyzyyxxzyyyyzyzxxzyzyyxxzzyzzzyyyyxxxyxyyzyzyyyyxxxxyyyyzxzyzzzxyyxyyyxzzyyzzzyyyxxxxxzxyzyyzzyyxxxxyyxyyzzzyyzxyyyyxyywzyzyyxyzyxxyxxyyzyzyzyyxxyyyzyxyzzzzyzzyyyxyyxyyyyzyyyzzyyyyyyyyzzyyzyzxyyyxyzyyzyzzzzzyyxyyyzyyyyyzyyzyyyyyyyyzzzzyzzyyyzzyyzzyzyzzzzyzyyyyy{zzzzzzzz{yzzyyzyyzzy{zzzzyzyyyzyyzz{zy{{z{yyxyyzyz{zzzz{{zzyzyyzyzyz{zzzyzzyzyyzyz{y{yzz{zyzzyzyyzzzzzzz{zzzzzzyz{zzz{zz{zzy{zxzzzzz{z{{{zzyzyyyzyzzzy{zzzyzyxyzxy{y{zzzzyxyyyyyxzyzzyyyyyyyzxyyxyzzyyzyyyyxxxxxxzyzyzzyyyyyyzyyxzyyyyzzzyyzyyyyyyyzzyzyzyyzwyxxyxyzyyzz{yxyyxzyxyyyxyzzxzyzyyyxxzzzyzzyzzxyyzyxyyyyyyzyzyyyxxxyyyzyy{zyxyyxxxyyxyyyyyzzyyyxxyyyyyzyzzzyyyxyyyyxzyzzzyzzyyzyyyzxxyzyyyzzzyyyyyyyxyzzyzy{zzxyyyxyyyzyy{yzzyzyyyzzyyzzzyyyzyzzxyxyyyzyyyyzzyxzzyyzyyyzzyzzzzyxyyywyzyyzyy{yzzxyzyyyzzyyzyzyzzyyzzyyzzzzz{{zyyyxyyyy{zzzz{zzzzyzzzyyyzzzzzzy{xyyyyyyy{{y{z{{zyzyy{zzz{zzzzz{zzzzyzzzy{{z{z{zzyyyyyyzzzz{z{zz{zzyzyzyzyzx{zz{zyyzyzyzz{zzzzzzzyzyyyyyzzyzyz{zzyyyyzzyyzzyzzz{yzyxyxyzyyzzyyyywyyxxywxzyyxyyyyyyyyyyyxyzzzzyyzyxyxyxwxyyyzyzzzyyyzyyxxxyxzx{yzyzyyxxyxxyyzyyyzyyyxyzyxyyzxyzzxzyxyyyyyzxzxyxzzzyyxxxzyzyyzyzzxyxxxxyxxzyzz{yzyxyyyxxyyzyzyzyzyzxyyywyyyyzyyzyyyyxyxxxzyyyyxzyzxxyzyyyyzzyyyzzzzyyyyyyyyyzyyzzzyyyyyyyxyyzyyz{zzyyzyxyyzyyyyzzzxyxxyyyyyzyzyzzzyyzyzxzyyzyyzzyzyyyxyxxyyzzzzy{yyyyzzyyyzzzyzyzzzxyx{xzzzzzz{{yzzyyzyyzzz{yzzz{{{yzyzzyyy{zzz{z{zyyyzzyzz{{z{z{{yyyyzyzzzy{z{yz{{zzzxyzy{zzzzzzy{yz{yzzzzzzz{zz{{yzyyzyz{yzzzz{zzyxzzzyz{zyzzzz|yzyyzzyyzzzz{z{{zyyyyyxyzzyzzyzzyzyyyxyyxzzyzzyzyzxyyxzxyxyyzyzzyyyyxxxzyyy{zzzyyyzyyyyyzzyyzyyzzzzyyyyyzzzzzyyzzyyyyzyyzzyyzzy{zyyyyxyzyzyyzz{zxxxyyyyyzyzyzyzzzyxyyyyyyyyzzzzyyyyyyxyxyyyzyzyyyzyzxyxyyyzxzyzzyyzxyyyyzzyzzzyyyzyyyyxxyyzyzyyzyxyyyxxyzzyyyzzzzyyzxzyxxyzyzzzyzyyyyyyzzzzzzzzzzyyxyyzzyyyyzyzzxyyzyyyzzzzzyzzzxzzzxyxzzzzzz{yzyzyyyyyyzzzyyy{zyyyzyyyyzzzyzzyyzzzxy{yzzxz{zzzzyyzzzyzzzzzzzz{zyyyzyyyy{zyyzz{{zyzzz{yyz{{zzz{{y{zzy{zz{{z{{{zz{zyyyzzzy{z{{z{{{z{zzzyzzzzzz{z{{yyyyyzzyzzz{zz{zzzy{zyzyzy{{z{zzxyyzyzyyzzzz{zzyyyyyyyxzzy{zzzzzzyyxxyyzzyzyyzyxyxxyyyxyyzyyzyyzxyyyxxxzzzyzyzzzyyyzyyx{yzyyzzzzxxxxxyzyzzzyxzzxyyyxxxxyyzyyzzzyyyxyyyyyzzxxyzxxyzxyxyyzyyyyyzyyxzwyyyxyyyyyyyywyyyyyyxzzyzyyyyyyyyxwxxyyyyzzzyxxyyxyxyzzyzzzyzyyyyxxxyyyyxzzyzyyyyxxyyyzzyyzyxzyyyxzyxyyyyz{zyyyyxzxyyyzzyzyzzyxyyyxzxzyzzyzzzyyyxyyyzyyzzzzzyyyzyyxxxzzzzy{yyyy{yyzyxyyzzyzzyyyyyyyzzyzzzyzzzyzxyyzyyzyzzzzzzzzyyyzyzz{z{zzzzyyyyyyyyzzz{zz{yzyyzzyzyzzyzzyz{yyzyzzyzyz{y{zzzzzzyyyyyy{{{zzzzzyzyyzyyz{yzz{{zyyzzyxyzzxz{zzzzzyyyzzyyy{y{{zz{zyyyyyyyzyyyzz{{yyyyyyyyyzyzyzzyzyyyxyyyyyzzzyyyyxyzyxyxzyyxyxyyxyxyxxyyzyyyyzzyxzyywyyyyyyzyyzzzyyxyxyyzyyyxyyxxyxxwyxyzzyyyyyzzyyxxxyyyzzyyyzxyxxyyxxxyyyxyyyzyyxxxxwxyyyyyyzyxxyxxxyyyyyyxzyyxxyxxyxxyyxyyyyzyxyxwyyxyyyyyyyyyyyxywxxxxxxyzyyxyywxxyxyyyyxzyzyyyxxxyxyxzyyzzyyxyxxzyxzzyzyyyzzyzxyxyyzyzzyyzzxyzzyyyyyzzyyzzzyzyxzyyyyyzyzzyzyxyyzyxxyyzyyz{zzyxzzzyxzzzyxzzzzyyyyzyyzzzzy{zzyzzzyyzyyyzz{zyyzyyyyzyxz{zy{yzzzyyyyzzz{zyz{zzzzyzyyzzyz{yyzzzz{yyxzzxzyzzzzzzzzzyyyyyyzz{zzzzy{yxyzyyzyyyzy{zyzyzyzyyzzzz{zz{yyzzyzyxyz{yzzzzz{yzzyyxyzy{zyzyyyzyzywyxyzzxzyxyxyyyywyxy{yzyxzzyyyyyxxxxzyyzzyzyxyyyyyxzzyyzyzyyyyyxxyxzyyzyxzzyyyxxyyyzyyyyyyyyyyxyyxxxyyyzyyyyyyyyxyxzyzyzzzzyxyxwyxyzzyyzyzzxxxyyyyyxyyzyzzyxxyzyyyxyxyx{yyyzyzyxzyxyzyyyyyyxxyxxxyxyyzyyyyzzyxyyyyxyyyxxzzzyxyyzyxxyzyzyyyzyzyyzyyyxzyyyzzzyyyxyxyyzzyzyzyyyxyxyyyyzxzyzyyzzyyzyxyxyxz{y{yzxyyyyyyyxzzzzyzyzyzyxyzyzzyzzzzzyyyyyyyzz{yzyzzzyzyyzzzzzzy{zzzzzxyyyyyyzzzyzzzzzyyzyzzzzzz{{z{zzyzzzzzyzyzyzzz{zyzzyyxzy|z{zyzzyyzzyyzzz{z{{{zzzzyyzyyzzzzzzzzzzzyyzyyzzyyz{zzyzyyzyzyyzzzz{yz{zyzyyxyyyzz{yzzyzyzyyxzyzyzzyzzyxzxxxxyxxzyzzzz{yyzxyyxxxyyyzzyzyyxxzxyyyyzyzzzyyyyzxyxxzzzyzzzyxyzywxxyzyyyxzyzxyyyxxyxxzzyzyzzyxyxyyxxyzyxyzzzzyyzxwxyyyyyyzzywyxyyyyyxyyxyyyyzxxxyxyyyxxyyzyzyyyyxyyxxyxyyzzyyyxxxwxwxyyyyyzyyyyyyxyyxzyzzzzyxwyyyyyxxyzxzzyyyyyyyyyxzzzyzzzzzyyyyxyzyzzzz{zzyyxyxxyyyyzzzyzyyyyzyyyyxzzzzzzyyyyyyzyzyz{zzz{yzyzzyzxyzzzzzzz{yyyyzyyyzyzzz{yzyyyyzyzyxyyzzyzzzyyyxzyyyyz{zzzyzyyzyyzy{zyzzz{zzzyyzyy{z{yzzzzzzyzyzyxzz{{zzzz|zzyzyzzz{{yyz{zzzxzyzyyzz{zyzz{zzyyzzzyyz{{yzzzzyzxxzxyyzz{yzz{{zyyyyyyxzzyzzyzyzyyyyxxxyzzzyzyxyyyyxyxxzyzyyzyyyyyyyyxyzzzyzzzzyyyyyyxyyzyzzzz{yzzyyyyx{zzzxzzyyzxyyzxxzzzzyzyzzxyxyyyxyyyzyxzzyxyyzyyyyzyyyyyzyxzyxyyyxzyyyzyzxxyyyxxxxzyyyyzyxyyyxyxxzyyzyz{zyzxyxyyyyzzyyzzyxxyyyxxxyxzyyyzyyyyyxyyyyzyyyzyzyxyzyyyxxyyyyzzyyyyzyyyyyyzzyzyyzzzzzyzyyzyyz{zzyyyxyyxyyy{yzy{z{yzyyyxyyz{z{zy{zzyyyzyyzzzyz{yyzzyzyzyyzzzz{zzyzyzyzzyyzzzzy{zzyyyyyyzyzz{zzz{zyxzzyzxyzy{{z{z{zyzzzzzx{zzz|zz{z{yyyzzzz{zz{zzzzyzzyzyyz{zzzz{zzy{zzyzy{zz{zz{zzyyzyzyyyzzz{z{|zzzyzzyzyzzzz{z{zzyyyxyyyzzyzy{zyzyyyyxyz{y{yyzzyyyzyxyyz{zzyzzyyyxxxyxxyyzyyyzyxyyxyxxxxzyyyzzzxyyxyzzyy{yyzzzyyyyyyyyxyzyyyyzzxyzxwyyyyyyyxyzzyxyxyxyyyyzyyzzyyxywzzyxyyzxyyyxyyyxyyyyxyxyzyxzyyxyyxxxyzyyyzyzxxyyxxxxyyzyyzyxyxyxzxyxyxzyxyzyxyxyyxxxyyxxxzyzyyyxzyyxyyzzyzzzyyyxzyzwxyyxyyzzyzyxyxzyzzyyyz{zyyyxyxyxzyzzzzzzzyxyyyyyzzyyzzzzzyzxyyyyzz{{zzyzyyyyxyyyyy{yyy{yzyyyyzyyy{zyyzyyyyzzxyzyyyzzz{{zzyyyyzyyyzz{yzzyyyzyyzyz{{zzzzzzzyyyyzzyzzzz{{z{zzxzyyzzzzz|z{zzzyxyyyz{zz{{z{{{{yzyyyxyzzzzzzz{zyyyyyyyzzyzzz{{zyzyzzyyzzzzzz{{yyyyyyyyzyzyyzzzzyyyyzzyy{zz{y{zzxyyyyzyzyzyzzyzyxxxyyyyxzzyyzyzyxyzzyyyzyzyzyzyzxyxyyyyyyyyzyyyzzxyyyyxzzyzzzyyzyyyyyyyyz{yz{yzxxyxxyyyyy{yyyzxyyyyzxyyxzyyyzzyzyyyyyxxyyyzzzyzxzyxxxyyyyzyxyzyyyzxzywyyyzyyyzzxxyxxxyyyzz{yy{{yyxyzyyxyyyyzzyzzxyxxxyyxyzzy{y{yyyyzzyyzzyyyzyzzyzyyyyyzyyzzzzzz{yxxxzyyyyzzzzzyzyxzyyyzzzy{{zzzzzzyxzxzzy{zzzyzxxyyxyxzzz{yzzzyyyzzyzzzzzzyzzyzzyyyzyyzzy{{{{zyyyzyyyzzzzyzzz|yyy{zzyyz{{yzzzzzzzyzyzyz{zy{{zzzz{zzzzzz{zzzz{{zzzzzzyyzzz{z{z{zyzzyyzy{{{z{{zzzyyzyzzyzz{{zzzzzzyyzzyz{zzzzz{zzzyyyzyzzzzyz{z{zxyzzyzzz{zz{zy{zzuyyyxyyzyzyzzyyyyyzyyyzyyyzxzyyyxyyxyxzyyyyyzzyyxxyyxyzzzyzzzzyyzyxxxyyzzzyz{zzyyyxxyyzyzyyyyyyxyxxxxyyyzyyzzyzyyyxyyxyy{xyzyzyzyyxyxyyxzzyzzzyyxxyyyyzxyyyzzzyyxxyxxyyyzyzyzyyyzyyyyxyyzyzzzzzyzyyyyxyyyxyzyyzyxyyyyyxzzxyzxzyxyxyyyyyyxyzzzyyzyyzzxyyzzyyzzzzyzxyyyyyyzzzzzzyyyyxxyxyzzyzzzyzyyyzyyyzyzyyz{zyxyyxzyyzyzyyzzzyyzyyyzyy{zyzzzzzyyyyyzy{zyzzz{zyyz{zxzyzyz{zzyzyyyzyxzy{z{z{z{zzyyzyzyy{{zz{z{zzzy{yzzzzzzzz{zzzyzzyzyzy|zzz|z{yyz{zzzyz{z{zy{zyzyy{zyzzzz{z{|yzyyzzzyyzzzz{zz|yyxyyyzyyzyzzzzzzzyyzzyxz{z{zzzyxyzyyyzzzzzyyxyxyyyxyyyyyyyyzyyzyxxyyyyyyyyyz{xzyyyyyyxyzyzzzzyzyyyyyyxyyzzzzyyyyyyxwxxxyyyyzzyyxyxxyyxxyyzyzz{yzxyxxyyxyyzzyzyyyxyxxzxxyyyyyzzzyxxyyyyxzyzzyx{zyyxyxyzyyxzyyzyyyyyyyxyxyzxyyyyyyyxxxxxxyyyxyyyyyyyxxyxxyzyzzzyzyxyzyyyyyyyzyyzzxyxxyyxzyzzzzyzzzzxyxyyy{zyyyzzyyxyxyyyyyyyyzzzyyzyyyxyxy{zzyzyyyxyzyyyyzyzz{zzyyyyyyyyxyzy{zy{zzzzyzyzzyzzzzyzzyyyxzyyyy{zzz|{zzxyyyyyzz{yzzzzzzxyyzzxyz{{zy{{{zyzyyyzzyzzzz{z{zyyzzyzyy{z{zy|{zzzyyzzyz{zzz{zzyyyyzzyz{zzzz{z{yzyzzzzyyzzzzz{zzzzx{zzyyyyzzyyzzxyzyxyyyzyyyzzzzzyzxxyxzz{yzzzzyxyzxyyxyzxyzyz{xxzxzyyyyxzyzzzzxyxyyyyxyyzxzzzzywzxyyyzyyyzyzzzzyxwyyxyyxyyyyy{yyyxyyxxyyzyyzyzzyxyyyywyyzyyyyyzxyyyyyyyyxzxzyzwxyxxxxxwyzyxzzzyxyyxxxxxyyxyzzyyyxyxxxxyxyyyzzzyxyyzzzxyxxyxzxyyzyyxyxyyyyyyy{zyyzxzyyxyyyzyzzyyyxxzyxyxxyyxzyzywyzyxyxzyzzyyzyyyzyyyyyzzyzyzzzyyxyxyyyyyzzzzzzxzyyxyzyyy{yyzzyyyzyyzxyz{zxyzzzyyyxyyyyyz{{zzzzyyyyyyyyyzzz{zzzyxyyyyyyy{z{zzzzzyyyzyyyzzzz{{z{zyyyyzyzz{zz{{yz{xzyyzzzy{zzzz{{zyzzzyyyzy{z{zzz{yzzyyyy{z{{yy{zzyyyyzzy{yzz{zzzzyzzzyzyyz{{zz{zzyzyzyzyyz{zzzzzyyyzyyyyzyzzzyyyyxxxxxyxyyyxyyzyyyyyyyxyzzzzzyzzyzxxyyxxzyyyzyzyyzyxyxxyy{yyyyzzyxyxxzyyyzzzyyxzxxyxwywyxyzzyzyyyzxyyyxxyyyyyyxyyyxxyyxxxyyzyyyyxxyxyxyxzyyzyyzxyyyyxzxxzyyyyzzzxxyyyyxxyyzzzzyyyyxyxyxxyzyyzzzxyxxxyzwyzyyxyyyzyyyxyyyxyzyzyxzyyxzyyxyxzzyzyzyzyyzyxyyyzyzyzzyzyyzyyyxzyyzzzyzyyyyzyzyxzyzzzzzyzyxyxyyxzzzyyzzzzyyyyzyyyzyyxzzzyyyyyzzyyzyz{{zyxyzzzyzyyzy{z{z|zyyzxzyxzzz{z{zzyzxyzzzyzzyzz{zyzyzzyyzyzzzzzyzzzzyyyzyyyzyzzy{zzzzyyzzyzzzyzzzzzyxzzzzzxzzzyzz{{yzyzyyyz{z{zzz{yyyyyzzyyzzzzz{zzzyyyzzxzyzzz{{zz{yyyyyyzyzyyyxyxxxxwxxxxzyyyxyzyyyzzxxxyyzyyzyzyyxyxyxxzyyyyz{yyyzyyyyzyzxzxx{zyzyyxyxxyzzzzzyzxyzyyywyyyxyxzzyzxyxyxxyzyzxxyzyxyyyyyxxyyyyyzyyyyyxxxyxxyyyxyyyyxyywyxzyyzzyyzyyyyxxyxyyyyyzyyyxyxyyxyxyyxxyzzzzyywyyyyyzzyyyyz{yyxyzxxxyyzzyzyyxyx{xyxzzyyyzzyyyyxxxyyzyyzyz{yyyzyywyxyyyyzyzzzyyzyxzyyxzyzzyzyyyxyxyyy{zzyz{yyyxxyyxxyyzyzyyzyzyyyxzxzzzzyzyzxyyyzyyyzzyzzyz{xzyxzyyyzzyzyz{zyyyxzyyzzzzzzzzzyxyyyzzyzy{zzzzyzyyxyyyyy{{zz{{zzyyyzyzyz{zyyzz{zyyzzyyzzzzzzzzzzyyzzxyyyzzzzzzzyzyxxyyxzzyzz{{zzzzyyyyyyzyzyzzzzxyyyyyyyyzyxzyxyyxxxyyyyyyyzyzzyyyyxxxxyyyzzzyzzxyxxzxyyyyxzz{yyyyzyyyxyzyyyzyzyyywyxyxyyyzy{yzyyyxyyyyyyxzyyzzzzyyyyxxyzzyzzyyyyxyyyyxyxyyy{zyyyxxxwxyyyyyyzyyyyyyyzyxyzzyz{yyyyyxyzxyyxyzyzzzxyyyxxxxxyxyyyyyxyxxyyyyxyzyyzyzyyyzwzyxyyyzyzzyyxyyyzyzyzzyyyzzyyyxzxyyyyyyzzyyyyyyyxyyyzyzyyzzzxzyzzzyxyzzzzyzzxyyyyyyyzzzyyzzyzyyxxyyyzzzyyzzyxyyzyxyyz{zzzyzzyyyzzyyzzz{zz{zzzz{yyyyz{zzzzzzzyyzyyxy{zz{zzzzyyyyzyzyzy{yz{zzzyzyzyzyz{{{{z{{zzyzyzzzyz{zzzz{zzzyzzyzzzzzzzz{yyyzyzxzyz{{z{zzyzzxzyyyyzzzyz{zyzyyyyxyzzyzzyzzzyxyzyzyyzzzzyxyyyyxyxxyyyyyzzzyyyyyyxxyyyyyyzyyyyxyxyxyyyyyzzzzxyxyyxxyzzzzy{yyxyywxwxyzyyyzzyzyxxxyyyxyyzyzyzyyxyxxyxx{zzyzyyyzxyxyxxyyzxyxzyyxyxyxxxxxyzyxzyyxxyyyxyyzyzyxyzyyyyxxxxyzyyyyzzzyzyyywyyxxyyzzyzyyyyzxyxyyzyyyzyyyzxyyyyyzzyz{zzzxxxxxyxyzzyyzzyzyyxzyzyzzzzyyzzyyyyxyyxyzyyyy{zzyyyzxyyyyyzzzzyyxyyyxyyxyxzyzzyzzxzzzxy{zzzzyyyyyzyyyyzyzzzyzzzzyxzyyzyzzyzzzzzyzyzzzxxzzzzyzzyzyyyyzzz{{{zzz{{yyzyzzzzyz{zzzyzzzzzyyyyzz{zyz{zzxzzyyzy{zzz{{{{zyyzzzyzzzzyzzz{yzyzzzyz{zzzzzz{yzyyyzzyzzzzz{zzyyyyyyyyzzzzz{{{yyyzyyzwyzz{yyzyxxyyxyyxyyzyyyzyyzyyyxyyzyzyy{z{xyyxxzxyyyyzyyzzzyyyyyxyyyyyyyzzyyxxxxxxyzyzzzzzyxyxyyyyzyyyyyzyyxyyyxyyyyzxyyzyzyyyxzyxzzyyyyzzxyyyzxxxyzzzxyyzyxyyxyyyyyzyyyyzyyywxyywxyzyyzzzzyxxzxyxyyyyyyyzyyxyxxxzyyzzzzzyyyyyyzxxzyyzzzzz{yyyzxyy{yyyzzyzyyzzyxxzyzzzyzyzyyyyzyyyzyzyz{zzyxyyyxyzy{yzzzzzyyyyyyyyxzzz{z{yyyyyxyyyyzyzyz{yyyzzyyyyzzyzy{z{yyyzyyzyzzzzzzzzzyzzzyyzyzzzzzzzzyzzyyzzzzzzzzz{yzzxyyzzyzzz{{{zzzyzyyzyy{{zz{|{{yzzyyyyz{zz{zyzzyzzzyzzzzzzzyz{yzzyzyzzy{yzzzy{zzzxyyzyzzzzzz{zzzxyyyzzzzzzzyzzyxzxyxzyyzzz{yyyyxyxyyzyyzzyyzyzyzyxyyyyzyzzyz{yyyyyyzyyzxzxzyz{yxyyxzxyzyzyyzzzzyyxxxyxyzyxzzyzyxxzyyyxyzyzyzyyyyxxzyyyxzzzyzzyzxyxyyxyyyzyzyyzyyyxyyyyyyzzyzyyyyyxxxyyyz{xzxyzyyyyxxyyyyxzyzyzyzyyyxwxxyyyyzyyzyxxxyxyyzyyyzzyyyyxyxzxyyyzzzzzyyyyzyzyyzzzyyzzyxyyxyyyzzyyyy{zyyyxxyzyyzzyzzzyzyyyzyyxz{zy{yzzyyyyyzyyyyyzxz{{yyyzyyxyzzzyzzzzyzyyzyzyzyzz{{y{yzyzyzzyy{yzy{{{{yzyyyyzz{zyzz{yzzyyzzyzy{zz{{z{yzyzz{zzyzy{zzzz{z{yzzyyz{zz{{z{{zzzzzzyzzz{{z|{zyzyzyyyzzz{{zz{zzyzzyyy{z{zzzzzzzzyzzyyzzyyyy{zz{xzyyyyyzyz{y{yyzyyzyzyyyzzzzzyyyyyyxxxyzz{yyzyyxzxyxxyzzzyzzzzyyyxyyxxyyyzyy{yyyyyxyyyyzzzzyzzyywxyxxzyyxyzzzyyxywyxyyxyyyxzzyyyyxzxyyxzyxy{yyyyzyyyxyyyyyyzyzyyzyyxywzyyxzyyzyyyxxyxzyyzyyyzzyzzxyyywyyyyzxzyzyyyzwyxyyyyyzxyzyxyzxyyyyyxyzzzxxyyzyyxyyzyyyzyyyyyyxxyyyzyzzyzyzyyxxzyyyyzy{zyxyyyzyyyzzzyyz{{zyyyyyyzxyzzzyyzyyyyyyyyyyzyxzzzyyyyyxxzzzzzzzzzzxzyzzzxyyzzy{zzyyzyzyzzyzzzy{zzzzzzxyyxz{{zzzzzzyxyzyyyzz{zzzzzzyzzyzzzyzzzz{zzzzzzyyyzzzzzz{{{{yzyyxzzz{zzzzzzzyzyyzyyzzzzzzz{zyyyzzzzyzz{z{{zzyyyzyyyzzz{zz{zzyyzyyyxyzzzzyzyyyxxyyyyzzzzyzyyyxxyxxyyyzyyzyz{zxyyyyyxxyy{zyzzyyyxzyyxyyyz{zzzyyyyyyyyyyzyyyzzyyyxxxyxyyyzyzzzzyzyxyywyyyxxyzyxyyxyyxyyzzxxxyyyzyxxxxyxyzzyyzzxxxxyxyxzxzzyxzyxyxyyyxwyzyzzzzzyxyxxyxyyyzyzyyzyyxzxxxxzzyyyxyzyyyxxxyxxyxzyzyzyxyyyxxyyyzyyy{zxyzxyxyyzyyyzzyzzyyyxxxyyzyyyyz{yyzyyyyyzzyzzz{yyxzyzxzyyzy{zyzzzzzyxzyzzyyyyy{yyyyyyzyyzzyyyz{zzyyyyyzyzyzzzzz{yyzyyzzyzzzzzzzzxzyxyyyxzzyzz{zyyyzzzxzyzzzz{{{{yyyyzzzzzz{z{{zzzyzyzzzzz{{{zz{{{yyzyyyy|y{z{zyyyzzzyzzzz{yzyz{zzzyzzzyyzzzzyz{{yyyyzzyyzzzzyzzyzzzyxxzyxyzzyzyzyzzzyyzy{yyzzyyyyyxxyxyxyyyyzzzzzyxyyyyxzxyyyzyxzzyyyyxwzyzyz{zyyyzyxxxxyzyyyxzzyyyxyxzxyyzyzzzzyyyxyyyxyzyzyyzyyyyyxyxxyyzwy{zyyyyyyyxyyyzzxzzyyyyxxxyyyy{zyyyyxyyxyyyyxzyxyyzzyyxyxyyyyyyzyzzyyyyyyyzxxzyyyzyzwyxxyyyxyyyxyzzyyyyxzyyyyxyyzy{zyyyxzxzyyzyyzzyzzxyyxyyyzyzzzzzzyyzxyzyyzzzzzz{zyyyyyyyyyyzzyyyzyyzyyyyyzzyzyzzzzyyzyzyyy{zzzzyzzyyyzyyzzyzzzy{zyzyyyzyzzz{zzz{zzzzyyyzyzzzz{z{{zyzyzyyz{z{zz{zzzyyzzzzzzzzz{{z{{zyzzzzzz{{{{{z{zyzzzz{yzyzyy{yzzyyyzyyzzzzz{zzzyzyzyyyzzz{zzy{{zxzxyyzzzz{zyzyzzyyyyyxxz{yzyzzzyxyyyyyyzyzyyyyyxxxyxyyyzzyzxyyzxzxyyxxyyzzyzzyzyyyyzyzxyyyyyyzyyxyxyyxyxyzzxzy{xxyxxxxxyyyzxzyzyxyxyxyxyzyyyyyyyxxxxxxxyyzyyyyyyxyzzxxxyyxyyzyyxyxxyzyxxyyyyzyyywyyxyxyyyzyyzxyyzyzxyyxyyzyyxy{yxxyyyxxyyyyzyyyyyyxyxyxyzxyyyzyyyyyyxxxyzyzyyzyzyxxxxxxyzyzyyzzyyyxyxyyyyxzzzzyyyyyxyxyyzzxzzzzyyyxzyyyy{yzz{zyyyyzzyyxyy{zzzz{zxyzyzyyyyzzyzzzyzxzzzyyyzzyzzz{yyxyyxzyy{y{yzzyzzyyzyyy{{zzzzzzyyyyzyyzzzyzz{{zzyyyyyyyzzzzz{z{|zyzyyyyz{{zzz{zzzzyzyyy{yzzzyz{yzzzyzyz{{yzyyzzzzyzyyyz{zyzzzyzzxyxxzzyyzzzyzzyzzyzyzyyzzzyyyzzyyyyyxyxyyzzyyzxyyyyxyxxxzzzyyzzyyxxywyyyyyyyzzzzyyyyyyxyxyyyzyzyyyyxyxxzyyzyxyyyyyyyxxxyxzyzyyyyxyxxyxyyzzyyyyzxyxxyyxxyyzxyzzyxyyxyxyxyyyyyyzzxxxxzxxxzyyyxyyxyxxyxyyyyyzzyyzyzxyywxxyyyxzzyzzyyyxyxwxxyxyxzyyyyzxxyxxyyyyyyxzyyxxxyyyyyyzyzyzyxxwyxyxxzyzyzzzyxxyxyyxyzxzyy{yxxyyyyxzyzzyyzzzxxyyxxyxyyzzy{yxyxzzxyyyyyzzyyzyxyyyyxxzzyzzzzzzyyyyyyyyzyzzyyzzyyxyyxyzzzyzyzzzzyxxyyyyzzzzyz{yywyxyyxyz{zzzzzzzzyyyzzzyzyzyz{{zyyzyyyyz{{zz{zzzyzyzzyzzzzzz{zyzzyxyxzyzzyzz{zy{yyyzzyxzzyyzzz{xyywyzyyyzyyyz{zzzyyyzyyyzz{yzzyxyyyxxyyyyzyzyyyxzyxzxxxyzyyzzyzyzyyyyyyzxyzzzyzyzxxxyyyyyyyyzzyyxyyxxyxyyyzzxyzyyyxyyyyyxyzxzyyxxzxxxxyyyyyzyxyyxxyyyxxyyyzyzyyyyxxyxxyyyzyyyzyxywxxyxxyyyyyyzyyyxywxxxzyyzxyyxywyywyxyxyzzyyzzyyyyyyyxxzyyxxzzxyyyxxxxxyyyyyyzzyzyzyxyyxzzyzzzyyyxyxyzzyzyzzzzyyxzxyxzzyxzyzzzyyyyyyxyyyzyzyyzzyxyyxyxz{zz{zzzywyzyyxyyz{yzy{zzyyyzyzyyyzy|zyzyyyzxzyyzzz{y{zzzyyy{yyyzzyzyzzzzyyyzyyy{yzzy{{zzyyyyyzz{zzzz{{zzy{zz{zzzzyz{{zyzyzzyzyyz{zyzz{zzyzzyyzyz{zzz{zzyyzyzyyzyzzyzyzyzyyz{yzzzz{z{yzzzyyyyzyzyyzzzz{zzzyyyyyyzyyyzzzzyzzxyyxyz{zyzyzxxxyxxyxwyyxyyyzyyyxxzxxxy{xyyzzzzyxwwyxxyyyyzzyyyyxxyxxyxyyyyyyyyxyyxxxxyxzzyzyzxyyxyxyyyzxxyyzyyxyyxxyyyyyyyzyyyyzxxzxxxyxyyyzyxyyyxxxyyxyyyyyxxyyyxxxyyyyyzxyyyyyxyyxxxyyyyyyzyxxxyyxyyzyxyzyzyyyxxyyyyyyyzzyyyxxyyyxyyxyyyzyzyyyyxxxxx{yyyzzzyyyxyxyyzzzzxzzzyyyyyyyyyzzzyyyyyzyyzxyyzyyzzzzyzxzxyxyyzzzzyzzzyyxyyyyxyyzyzzyxzyyyyxzyyyyzz{yzzyyyyyzyzyy{{y{{zyyyzyyyzyzzyzzzyyxyxyyzzzzzyyyzzyyyyzzzz{zyz{z{zzyyyyyyy{z{{zz{zyyzzxzyzzzz{zzyyyyxyzyyy{zyyzzzzzyzyxzyyzyzz{yzyyyyyyyyyyyxzyzzyyyyyyzyzyyzzyzyxzyxxxyyyzxzyyyyyyxyyzxyxzzzyxyyyyyyyxxxyzzyyzzyyyxxyxyxyyyyyzyzxzyyyyyxzzzzxyyzzzxxxxzwyzzyyyzzxxyyxxxyyyzyyzzzyyyxxxxxyxyyxyzyyyxxxzyxzyzzyzxzxxxxyxyxyyxyyyzxyyyxyywxyyzyzyyyyyyxxxyxyyyxxyzzxyyxyxyxyyyzyxyzzzyyyyxxxyxxyzzzyyxwyyxyyyxyxyzyyxyxyxyzyzyzzyyzyyxyxyyxzzzyxyyyyyyxxxyyyzzyzzzzyyyyxyyyy{yzyzzyzxzyxxyyyyz{yxzzzyyzyzzx{zzzy{zyyyzyxyyyyyz{zzzzxzyyyzyyzzyzzz{{zxyyyyyyy{yy{z{y{yyzyyyzzzz{zz{{zzyyyzzyzz{zy{zzyyyyyzzyzzzzzzzzzyyzyxzzzyzz{{{zzxzyzxyzzyyzzzz|{yyzzxyyxzyyz{{zyzzyyyzyzzyz{y{y{ywyyzzyyzzzyyyyyyyxyxyyyzzyyzyyxyyyyxxxyyzyxyzyzyxxyxyxyzyzyyyzzyxyxxyzyyyyz{zyzyxyyyxyyyyyyyzzyyyyxyxxyyzzzyyyyyyzyyxxzyzxzyzzzxyxyyyxyyzxzzyyyxywxxxyyyxyy{yzyyyyyyyyzyzzyyzzxyyxxxxyyyyyzzzyyyzzxyxyyyyyyzzyxxxyyyyxyzyyzzyzzyyyyyyyxzyyyzyzyyyyzyxyxyyyzzzzyxxyxyzzyzzyyyyzzxxxzxyxzyxyyyzyyyzyyyyyyz{yzyzyyzyzyxyxyzzzzyzzyyyxzxyxyzzyxz{yyyyyyxxyzzyyyzzzzzyyyzyyzyz{zzzzyzy{zyzz{zz{zzzzyyzzy{yyxzz|zzzz{zyyzyyyzzzzzz|zzyyzyyzzz{zzzzz{{zzyyzzzx{zzzz{zzxzzyzzxz{zzzzzzzzyyyyy{zzzyz{{zzzyyyzzzzzzz{zyzyyyxzzyzyyzzzzzzzyyyyyzzzzzzyzzzyxzyxyxxyyzyzyyyyxxyyxyyxyyyzyyzyxyyyxyyyyyyyzy{zzxyxyyzyyyzz{zyzyzyxyxyxzzyyyzyyxyxxxxxyzyxxyyzyxxxxxyxyzyyyzzyyyyyxyyxyyyyxyyyyxyyyyyyzyyyzzyzxxyyyxywyyyyyzyyyyyyxywyyzyyzyzzyyxxyxyyyxyyyz{yyyxyxxxyzyyyyyyyyyzyyxyxzyyxyyyyxyyyxyyxzyzyyy{zyzyyyyzxzzzzyyzzyyxxxyzyzyyzyz{yyyyyyyyyyyzyzyzyyyyyyyyyy{zzyzzyyzyxxyxxzyzyyy{{zyxyyyxyyzyzyzzzzyyyyyyzyz{zzyzzyyzyy{yyzzyzzzz{zzyyyyyyzz{{zz{z{yyyyyzyz{yy{{zzzzyyyzyzzzzz{{{zzyzyyyyyy{z{zz{{zyzzyyyzzyz{z{zzzyxzyyyzzyzzzzzzzzyyzyyzzzzyzzzzyzzyyyzyyzyyzzzzzzzzyyyyyzzyyyzzyyyxyyyyy{yyyzyyyxyzyyyyyyzyyyzzzxxxyxyxyyzyyzyyyyyxyxyyyxzxyyyyyyyxxxzyxzyyxyzyzyxyyxyyyxyzzyzyyxyxxyyxxzyzxyyzyxyxxxxxyyyxyzyyzxxyzyyxyxyzyzzzxwyyyyyxyyyxzxyzwyxyyxxyyzyzyzyzyxxyyxxyxzyzyyzzyyxxyxyyyzyyyyyyyxyyxxyxxyyxzzzyxyyyyyyxyzyyzyyzzyyyzxzyyyzxxxzzyyyyyxzyyzzyyzz{yyyyxzyxzxyzzzyzyxyzyyyyyy{yzzzzzyzyyyxzzz{xyyyzyyyyyyyxzzzyzyzyzzyxzyyzzy{{{zzzyyyyyxzyzyzzzy{{yzyyzyxyyy{yyz{zzxyyyyyzzzyzzz{zzyzzyzzzzzy{zzzz{yzzzzyzy{{zz{{{zzyy{yzzzzyzz{{zyyyyyyyzyyyyzz{{{zyyzzyzzy{{z|z{zzzxzyyzyyzzyzz{{yyzzzyzzyyzzzyzzyxyxxzzxzyxzyyzyyxyxxxwxyyyxxzyyyyxyyxyyzyzyyzzyyyxxyxxyyzyz{zzyyyxyyxxyzyyyzzzyyyxzyxywxxzyyzyxxyyxxxxyzxyyzzyxxyyxxxyyyzyyyzyxyyyyxxwyyyzzzyyxxyxxxxxyzxyyzzyyyxxxxyyzyyyyzzzyxyxxyyyyxyyzyyzxyxyyxxxyyyxyyyyyxyxzxyxyyyxxyyyxyyyzyyxyyyyyzzyyxyyxyyyzzy{yx{zyxxxxyxyzzyyxzzzyxyyzyyxxyxyzzzyzzyyzyyxzyzyyyzyyyyzyyyyyzzzyyzyyxyyyyxzyyyzzzzzyyxxyyyyzyzyz{zzzyyzzyzzzzzzz{zzyxxyyxyyzz{zzzyzzyxyzyzyyzzzzzyzzzyzzzzz|zzzzz{yzxzyzzzyz{{zzzz{zyyyzyzzyz{z{yzzyxz{zyxzzzz{zz{{{zyyyyzyzz{z{{{zyzyyxzyxzzzzzyzzzzxzxyxxyzzzzyzyzxyyyyxxyyxzzzxyyyxxxxxxyzzxzy{zzyxyxyyyxyxyyzyzxyyyxyyyyyyyzzyzyyyyxxyyxzxzyzzxzyxxxyyyyxzxyzzyxxyyxyxyx{yyyyzyyyxxyxyxxyzxyzyzyyyxyyxyyzyyxzxyyxyxxxxyyyyyxyyyyyyxxxxxyyyxzzzyxzxywyyxyyyyxyzyyxyyyyxyxzxyyyxzyyxyyxyyxzzxzyyzyxyyyxyyyzyzzzzyzyyyyyyyyzzyzxzzxxyyyxyyyyzyzzzzzyyyzyyyzz{yzyzzzxzyyxxzyzyyxzzyyyyxyyzyz{zzyzzzyyyzyyzyzzzyzzzyyzzxyyxzzz{zzz{zzzxxzzzyz{zzzzz{yyyzzyxyyz{zzz{zzzyyzyzy{zzyz{zzyzyzyzzyyzzz{yz{yz{zyzyyzzzzz|zz{x{zzyyyzyzzy{zzzzyyzzyzzzyzy{{zzzyzzzyz{zzzzzzzzxyyyzyzzzzzz{zzzzyxzzzyyyzzzyzzzyzyyxzyyyyyyzyyxyxxyyxxyzxyzyyxxyyyxxxzyyyxyzzzyyxwyxyzyxyyyxzzyyxyyxyyyzyyxxzzyzyxyyyyyyzyyyyyyyyyxyywyyyyyzyyywzxzyyxyyzyyyyyyyxxxyyyyxyyyzyyxxyyxxxxxxzyxxzxxyyzyyxyyyzyzyyyyxyxxyxxzyyyyzzzyyyyxxyxyxxyyzzzzyxxyyzyxyyyyzyzyxyyyywwzyyzzyzyyyyyyyyyzzzyzyzyyxxyzyyxyyzyxzzzxyyyxxxxzyyzyzyyzyxzzyyzxzyyxzyyzxyyyyyyzzzzyy{yzyxyyyyyzzyzy{zzzyxyzzzxyzzzy{zzyyyyzyyyzzyzzzz{yzzyzzyz{yyzzzzzyyyyzyyzz{zzz{zzyzyyyzzyyzzz{zyz{yyyyzzyy{y{z{zyyxyyyyzyyzz{z{zyzzyzzzyyyzz{zzz{zzzzzyyzzzyyyy{zyyzyyzxy{zzyzzzzy{zyxzzz{y{zzyyzyzzzzxyxzyzzzyyyxxxyxyyyxyzyyxyyyxyyywxwyyxyyyzzzxxxxyyxxyyyyzyyyyyyyxxxxyzzyyyzyyxxxxxyyyyyyyzyxxzxxxyxyyxyyxzyyxxxyxxxxxyxxyzyxxywxyxyxxyyxyzyyxxyyxwxxyyxyyyyxxxxyywxxxzxyzyxxxxxwxxxwyxyyyyyxxyyxyxxyyyyxyyyxxxxyyyyxyyyyyzyyyxyyxxyzzzxyzyyxyyxxyyyxzyyyzyyxzxzxwyxyyyzxzyzxyyxyyyyxxyyzyyyxyyyyxyyzyzzyzxyyyyxyyxyxyyyyzzyyxxyyxxyzyyyyyzzyxyxxyyxyyzzyzzzyyyxzzyxyzyzyyzzyyxxyxyyyzzzyyzzzyxyyyzzzyyzzyzzyyyxyyyyz{zyzzyy{yyyxyyyyzzzz{{zyzxyyyyyzyyzzzzzyyyxxyyyyzyzzzzzyyyyyyyzzyzyzzzyyzzyyxxzyzyzyzzzzyyyyxyyyzyyyzxyxwyxyxyyyyzyyyyyyxxyxxxyyyyxzyy{xyyyxyxzyyyy{zzyyxxyyyyxyyyyzzyzyyyxxyyxyyzzyyyyyyyxxyyxxyzyxzyzyxzyyxwxyyxyyyzyxxyxxywyyyyyyyzyyzzyyxwxyzyyyyyyyyxyyxxxyyxyxyyyxxwxyxwyyxxyyyyyyyyxxyxxyzzyyzyzywxxyxyxyyxxyyzzyxywyyxxxyyyyzzzxxyyyyyxyzxxzyzyyyyxywyxxyyyzyyyxxyyxyyyzyyyyzzzyyyyxyyyyzzzzzyzyyyyzyyyzyzzyzyzyyyyywxxyyyyyz{yzzyyzyyyz{zxzzzyyyyxyyyyyzyzzzzyyyyyyyyyyyy{{{{zzyzyyyyyy{yzzzy{zxzzzyzyzzzzzzzzxyzzyyzyyyyzzz{{zyyyzzzzy{{zyzzzzyyyyyyyzzzz{zzz{yyzzyyyzyzyz{z{zzyyzyzz{zyzzz{zzyyyyxyxzzyzyzz{zyzyzyzyzzy{{yzzyyzxyzzyyzyyyyyyzxxyyxyxyzzyxyzyyzwxyxxyyyxzyzyyyyxxxxyxxxxyyzyzzyyxxxyyyyyyyxzyyyyyyxyxyyzyyyyyyxxxxyyxyzyxyzzyyyyxyxxyyyzxyyzyxyyyyyyyyyyywyyyxxxxzyxwyyxzxyyyxzyyyyxwxxyyzzzzyyyxxxxyxz{yyyyxyyxxxxyxyyyyyyyyyxyyyyyyxzyyyzyzyxxyyyxxzyyyxyzzyyyyxxyyxyyzyxzyyyxzzxyzyxyyzyyzxyyxyzyyzyzyzzzzyyyxzyyxyzyy{{yyyyyyxxxxyzyzxyyzzyzyzyyzyyyyyzzyzyyyxyyyxyzz{zz{yzyyzzxzyzy{yzyzyyzzyyywzz{zzzz{zyyxyyyyzzzzzzzzyyzzzzzzz{zxxzzzzzyzyyyyy{{zy{zzzyyzyyzxzzzzzzzzzyyyzyyyzzzzzyzzzyyyzzzy{zzzzzzzxyzzyyxzyzzyz{{zyzxyyyxyyzyzzzzzyyyxzyyyyyzyzyyzyxyxxxxwyzyxyyzyzyxyxxyyyyyyyyyzyxxxxyxyxyyyyxyyxyyxyywyxyzzyxxzyxxyxxyxyzyyyzyyzzyxyxxxyyyxyyyyyyyyyxyxyyyxyzyyzyzxxzxyxzyzyyyyxyyyyxxxyyyxxyyyyyyzyywxyxzxyzyzyxyxxyxyyyzyyyyyxxxyxyxxyyyyyyxzyxyxxyyxwzxzxzyyyxyyyyyxyyxyyyzyyyyxzxyyxzyyyxzzyyxyyxzyyxxyxzyzxyyyyyzxzzzxyzzzyyyyyyyyyzzyzzyzyyxyyyxyyyzyyyyzzxxyzyyyzzzzyyyxyxyxyyxzyyzz{zz{yzyxyyzyzzyzy{zzzxyyyyxyy{yzzy{zzxyzyzyxzzyyzzzzyyzyyy{zzzyzz{zz{yzyyyyyyzzzz{zzyyzyzyyyzyzyz{yyzzyyzxyzzz{z{zzzzyzyzyyxzzzyyzy{yyzyxyxyyzzzzzzzyyxyyzyyzzzzyyyyzxzxyxyxzyyxyyyyyyyxyxyxxyzyxyyzxxyxyyyxzzzyyyyzyyxwyyyxyyyyzzzyyxyyyyyxyyyyyyzzyyzxyyxwyyyyzzyzxyyxxxyxyzzxyyyxxxyyxyxzyzyyzyyyxyyxyyxxyyyyyyyzzxxxyyywzzyyyzyyyzyxyyxxzzzyzyyzyyxyxyyxxzzzzxyyyyyxyyxyyyxyzyyyxyxyyyzyyzxyzzy{xyyzyxyxxxz{zzzyyyyxzyzyyzzzzzzyzzyyxyyyyzyzy{yzyyzyzxzyzzxzzzzzyzyxyyyyzzyyzzzzzyyyyyxxyzzzzz{zxyyyxzzy{zzyzzzzyyyyzzyyzzz{{zyzyzyyyzzzzzyzyzz{yyxyzyyxzzz{z{yzzyyyxzzyzzzz{zzzzyzyzzzyyzyyzzzz{yzzxyyyz{z{z{z{{zyyyzzyz{{z{{zzzyzzyyy{y{zzzz{zzyyyzyzzy{zz{{{{yyyyzyyyy{zzz{{zzzxzyxyyyzzzzyzyzyyyyyyyzzyyzzyyyxxyxxwxyzyyyzzyyyxyxxxxyyyyzzzyyzyxyyxy{yyxyyzyyxxyxyxxyyzzyyzzzyxyxywxyzzzzyyzyyyyyzyyxyyxyyyyyyyxyyyyyyyyyyxyyyyxyyxyyxyyyyzyyxxxxyxwyyyyxyzyzyyxyyxyyyyyzyxyyyyxxxxxzxyzyyzzyxyyyyxxyyzyyyyzxzyxxyxxxyxzyzyzyxyxyyzxxyyyyyzyyyyxyxxxxzyyz{zyzzxzxyyyzyyyzzzzyyyyxyyyyyxzzyzyzyyyyyyyyzzzzz{zyyyyyyyyxyzzyy{yzzyyzyxzyzzyzyzzyyzzyzyyz{zzzzzyxyzyzzzxzzz{yzzzxzxyyyyyzzzz{zzzzyyyyyyyzzzyzz{{zyzyyyyzyz{zzzzyzyzyyzzyz{y{y{zzzyyzyzzyzz{zz{zyzxxyyzyyyzzzzz{zz{zzzzzyyzzzzzzzzzyzyyzzzzyzz{yzzzyzyyyxyzyzzzzzzzywzyyyyzyzzzyyxyyyxxxxyyzyxyz{zyyxzxxxyyy{xyyzyyzyxyxwyzyzzzzyyxyyxyyyyzyyyzzyyyxxxyxxyxyyyyzzyxyxxxyywyzyyzzxxyxyyxxxyyyyxyyxyyyyyxyxzxyyyywyyxxyyxyxzzxyyyyyxyyxxyxxxzzyyyyyyxywxyxxyyyxzyzzyyyyyyxxxyyxzzyzyxxwxyyyyxyyyyxzyyyxyyxxyzyyyzzzyyyyywxyzzzyxyzyyyyyyyyyzy{yzzzzyyyxyxyyzzyy{xyyyyyxzxyyzyyyyzzyxxyxzyxyzzzzzyzxzyyyyxxyyzyyzzyyyyyyzyyyyzzzzzzzzzzyzzyyzzzzzzz{zxzyxxyyxzyyyzzzzzyzyyzy{{zzzyz{zzyyyz{zy{z{zzzyzyzyyyzyzzzzz{{zzyyzzyyzzzzzzz{z{yyyyyyyzyz{zzzzyzzzzyzzzzz{zzzzzyyyyzxyzyxzzz{yzzyzzyzyyzzzyy{yzyzyzyyyzz{zyzyyyywywwwxyyyyyxyzzyxyyxyyxzyyyyyzxyxxxwyxxyyxyzyzyyxyyxyxzyyzxzzxyzyxxxyxyyzzxzyzzyzxyyxxyzxyxzyxxxyzyxxwyyyxyyyyyxxxyxxyyyyyyyzzxxyxxxxwzyyyyyzyxxxxxxxwxyyyyyyyyxxxxxxyyyyzyyyzxxzxxxyyyxyxyzyyyyxyyxxxyyyyyyzyxyyxxxyxzxxzzzyyzzxyxyxyyxyzyzy{zyyyywyxzyxzy{yzyxyyyxxyyyzyyz{yyyyyyxzyyzyyzyxzyyyyyyzxyzzzyzzzyyxyxzyx{yzyyzzyyzyyyzzyzyzzzzzzyyyyzyzyzzyzyzzzzyzzyyyyzzzyz{zyzyyxyyyzyzyzy{yzyxzzyyyyzzzzyz{zzzyyyyzzz{{zzz{{yyzyyzyyyzzzzzzyzzyzxxzzyzzzzzzzzzyyzyyzzzyzzyzzyy{xyzyyzzzzzz{zzyyyzyxyyzzyyzzyyxyyyyyxzzzyyzyyyyxzyxzxyzzyyzzzyyyxyyyyzyzyyzzzzyxxyxxxzzyyzyyyyyyyxxxxyzzyyyzzxyyxxxyxzz{yyzzzyyxxzxyyyyzzy{zzyyyyyxxxyyyzxyyyxzyyxxyyzyzyzyzyxyxyxyyxxzzyyyyzyxxxxxxxyyzzyzyyzxyxxzyyzyyyyzyyxyxxyyyxxyzxyzyyyyyyyyyxx{yyyzxzyyyyyyyxyyyzyyyyyzyyyyyyzzyyyzzzyyyyxxzyzyy{zzzzyyxyyyzyzzyzzzyzyyzyyyzyyyyzyzyyzyzxxyyxyzzzy{zyyzxyyyxzzzzyyyzzyyyy{yxzyyzzz{zzyy{yxyzyzyzzxzzzzyyyyyyx{{zyzz{zzyyzzyyzz{zyyzz{zyzyyzzzzzyz{z{{{zyzyzzyyzyzz{zzzyy{xyzzzzzzz{{{zzzyyyyzzz{y{zzzzyyzzyyzz{zz{z{{yzyxyyzzyyzz{{|zzzxyzxwyyzyyzzzyyyzxyzyzzyzyyyzyxyyyxyyxyzyzzyyzxxyyxxyyyzyyzzy{yyxxxyyxy{yzyz{zzyyxyxyy{yyyyyyyzxyyxxxxyyyxxxzzyyxxwyyxyxyyyyzzyxyxyxxxyyyyzyzzyxxxxyyxyzyyxyz{yyxyyxyyzxzyzyyyyyyxyxyzyyzyyyyzxyxyxxxyyyzzzyzyyyyyxxyyyzxyyxxzxyyyxyxxxyyzyzyzyxyxxyxyxyzyzzzyxxyyyyyyyyzzzyzzy{yyyxyzzyyyzzyzyyyzxyyx{zzzzzyzyyyxyxzyx{zyyzyyyxzxxyyxzzzyyzzzyxyyzzxxzyzyyzz{zyyxyyyyz|z{zzzzyzyyyyzzzz{{z{zzzzyzyyxyzzzyzz{zyyyyzyyzzzzyzzzzyyzyzz{zz{y{z{{{{yxyyyyzz{{zzz{yzz{zzyyyzzz{z{{zzyyyyzyyzzzyzzzz{zyzyzyzzzz{zzzzyyyyyzyzzzzzy{{zzzzzyxyyz{z{zzzyyzzyzyzyyxzzzzyyzxxzyxwxyzzyxyzyyxyxxyyzyxxyyzyyzyxxxyxxyyzzyyzzyyxxwxxxzyy{zyzzyyyyxxyxzzywzyyzyxyxxxxxxyyyyzzzzy{yxxyxyyyzyyzyzxxxxxxxyxxyyyxzxxyxxwyxyyyxyzzyyxyyxxxxyzxyyxyzyxzyyxyxyxyyzyzyyxyyxyxxyyyyyyyzyzxxyxyxzyzzyyzzxxyyxyxxyyyyyxzzyzxyyyzxzyyyyzzzzyyyxxyyzyyyzzyyyyzxxyyzzyyyzzxzzyyzywxxyzzyyyyzyxxxxyxyzzzzxzzzyyyyyyyyzzzxyyzyyzyyyyzzzyzyyzzyyyyxyyzxzzyzzyzyyyyxyyyxzz{zzyyz{yyyyzyy{{y{zzzyzyyyyzzzzzyyzzzzzyyzyyyzzzy{zz{{yyyzyy{yzzzy{yz{zyyy{yyzzyyzzzyzzyzzyyyzzzzzzyyzyyzyyxyyy{zzyz{zyxyyxxyyzzzzyzzzzyzxyyyyzyyyzyzyzxywyxxxy{yyzxzzzyyyyxyyyyyyzzzzzxyxyxyyyyyyzz{zzyxzyyxxzzyzyyzzyyzxyyxxyzzzyzzzyyyyyxxxyzzyyyyyyyyyyyxwzyzxyzyyxyyxywxyyyyyyyyyyyyyzxyxyzzyyyyyyyxyxxwyyzzzyyzzyxzyxxyyyzyyzyyzzyyxxyzxyyyyzzyzzyyxyyxxyyyyyzyxyyzyyzxxzzzyyyzzzyzyyxzyxzzyyyzzyyyyyxzyzzzzy{zyyyyyyyxyzzzyyzz{yyyyyxyyyyzyz{yzyzyyxxzyyyzzzy{zzyyyyyyyz{zyz{zzzyxyzzyyzzz{z|zzyzz{zyy{{zyzzzzyzzzzzyyyy{zy{zyzzxyxzyzyzz{{zzzzzyzzyyzyzzzzzzzz{xyyyyzyy{yzzz{{{zzzyyyy{{{yzzzy{zzzzyyz{yzyzzzzz{zz{yyyzzzz{yz{yyyxzyzyyzyzz{{{zyxxyyxyyzz{{xzyyyzyyyyyx{zzz2Fv3b\ z{|{z{z{{}|}|}||{{{{|z{{|{{|||||{|{{|{y||{{{{{|z{{{z{z|{{|{{{}|{{{{{{{z|{{|||||z|zz|zz{{|||z{{z{{zzzzz{z||z{|{{{{z{zzzz{|{|{||{z|y{z{zzz{{{z|{{zz|z{zzzz{|||z{}z{z|z{y{z|{{z{{||zz{z{zzz{|{z{{{{zzz{{zzz{z{{||{{zzz{{{z{{{|{{|z{z{{{zz{|{{{||||{{|z{{{{{|{|{y{|{{zz{{|{{{{{{|}{|{zz|z|{{}{{{|{}{{z{|{{{{{{|{{|z||{z{zz||{||{|{|{{z|{{{{{{}||||{{|{|{|}{||{{|}|||{z{{{{{|||{||||{{{{{{{z||||}||}|{{{{{||{}|||{||{{z{{{{{||||}||||{{|{{{{}}||{{|~||{|||{{|z{||{|||{{||{{z||{|{}{||||zz{{{{|{||{|}{{{|{{{z{{{{|{|{{{{{z{zz{{{{||||}||{|{{||{|{||{|}||{|{||{|||}}|}||{{z{{{|{||||}|{||||zz{{|||{|{{{{{{z{{{z|||{|{|{{z{{{{{z{{|{|{zz{||z{{z||{{{||{{zz{z{zz{z||z|{|{z{yzz{zz{z|z{|{{{zzzzz{z{{{||{{{{zzzz{{{{zz{{||z{z{z{zz{{{{z{|{}||z{{zzz{{{{||{zz{{{zz|{{{{|||{|zzy{{z{{z{|{{{|{z|{zzz{}{{{|{{{{z{|z{z{|{||||||{{|z|{{{{{{}|{|{|{z|{|z{{||||||{{{{{zzz||{||{|{|{||{z{|{{|{|{{||{{z|{||{|{||{|||{z{{{z|{{||}|}|||{|{{{|{|||{{|}}|{{{{{||{|{|}|}||{||z{{{|}||||||{{|||{|{||||}||||z{{||{{|||{||||||{{{{{{{{|||}}|{{{z{z{{|||{||||{|||{{{{|{{||{|{{{|{z{{{{|{|{}}|{{{||{|{{|}{{||||{zz{{|{{|{||||}{{z{{{|{|{|{||||{{{||{|{z|}}||||{{|z{{{z||{|{{|{{{|{zz{|z|}|{{||{||{z{z{|||{|{{{{{{|zzyz{{{|||||zzz{z{{z{{{|{{{z|zy{z{zz{{|{||||{{|{z|z{{{|{|{|}z{{{{y{{z{{{z|{{|{|z|{{y{|{||{}||{{{{{|{||z{|||{{{{{{{{zz|{{z|{|{{z{|{{{|{|{{}||{|{{{zzz|}{|{{|||{||{|{{z|{|{||{|z{{{z{z|}|||{}{{|z{{z|{|{||{|||{||{|{|{||{{}{|||{{|{{{{{||||{}|{||{|{|{|}|{|}||}z||z{{{||{}}|||{{{{|{z{||||}{||||{|||{{|}{{|}}|||{{|{{{|}|}{|||}{z|{{{||{{|}|}|||}|{{z|||||||{}{|{{||||{{{{|||}|{{{{{||{}{||||{||{{{{{|{z||{{}{||{{|{|{||{|{|}}}||{|{{|}||{{|}{||{{|{{z}{{|{||{||{|z{{||{{|{{{}{{|z{{{z||||{{||{{|z{z{{{|{{{|||{z{{{{{{{{{||{|{{{|zzz{{z|{{{|{|zzzz|{{{{{{||||||{{{z{{{{{{{|{|||{|{{z{z|{{{z{||{{{zz|{{{{{{{||{y{{z|{{zz|{{{{||{{{|z{z{{||{|{|{{|{z{z{z||||{{{}{{{|{{{{|{{||{||{{{{|{{{{{|||{||{{{z|{|z{{{|{{{{{{{{z{{{{|||{{}|{{|{|z|{|}|{|{{}{{{|||{||{}||{}|{{{||{|||}||}|}||z{{{{{|||||}|}|{{z|||{|{}}{||~|||{|{|{||||||}|}|z|{{||}{|{|}|||{{{||{||||||}{}|{{z||z{|{{}{|}|}{{{|{}{||||||||}|||{{z||{{|}|||{|{{{|{|{|{|}||||||{{{z{{{|{|{||||||{|{|z}}|{||}}{|{{{{{{}{|{|||||{{{{z{z}|}{}||}|{|{{|{{z||}{|||}|||z|{{{z}||}{|{{{{z{{z{}||{|}|{{{{{{{{{{||{|{{{{{|zz{{{z{{{{{|{{{z{}{{{{|{|{{{}{z{{{{z|{|z{|{{{{{{z|{{|}|{z||{{{{{{z|{{||zz||{{{{z|z|{{{|{|}|{z|{|{{zz|{||{z|{|{|{{z{{{||{{{{|{z|{{z{z||{z||{{{{{z{{|{||{||{{{|{{{{{|{||{||}}|{|{{{{{|||}}{||{{{{{||{{||{|{||z||{{z{z{|{||}|||{{|{{{}||||||}|||{{{{|{{||}}{|||{|{{|{{{{||{||}|z|||{|||}||{|}}}|{|{|{{{|}|}||}|||||{{|{|}}}}||}{{|z{|{|}}|{||}}||{{{}||~{|||{}|{|{{|||{{|{}|{|||{|{{{||{|z||||{{|{{{{{z{|||{|}|}{}{{{{{||}||{}}|{{{{{{{{||{}|}|{||{{{}||{|{}||||{|{zz{{{{||{{||{{z{{{{z{|{|{{|}{{zz{|zz{|{{{||{|{{{{z{z{z|{{|{||z{zz{{{{{{{{|{|{z{{{z{zz{{|{|{|{{{|y{{{{|||{||{{{{{z|z{{}|{y{|||{{{{{{zz|{{{|{{{{zz{|{{||{{|}{{{z{{z{|z{|{||{|||z{z{{|z{{}}{||{||z{z{z{||{{{}||{{{{{zz|||{|||{|{{{{|{|||{||{}||{{{{{{{{|}|{|}}|{{{{{|zz{}|{|||{}||{|{{||{{||{||{|{{||}|||{|||}||{{{|{{{}||}}}||}{|{{{||}}}||~|}|}{|{|{|{||||||||||{{{||||||}}}|}{{{|{{||||{}}|||{|{{{{{}|||||}||z{{{|||{}{}|}||{|{{|||z||{{||||{{z{{zzy{}}|||||z||z{{|{|||{{|||{|z{{{|{|||{{|{{|z|{{{{{{||{||{|{|{{{{{{{{{||{|}}{{{z{|{z{{}z||{|{{|zz{z{{||{{||{{{{{{zz{|{|{{|{|{{{{{z{{||{{|{|zy{zz{{{|{z{z{{|z{{{zzzz|{{|{|{{{z{{z{zzz{|z{{||z{{zzzzz{{||{|}z{{{{{z{{z{|{{{{z}{{zzzzz{{{{{z|{zz{{{|zz{||{{|||{{{z{{{{{{{{{{{{{{{{{z{{{{|{||||{{{z{yz{{{||{{|{{{{{{zzz{|{||}||{{|{{|z{|{|{|||{z{{{|z{{z|{{{|||{{}}zz{||||||}{}{{|{|{|z||{|}}||||{{|{{{|}|||||{{|{{|{{y{||{||}|zz{{{{{|}|{{||}}|{{{|{|{{}}||||||z||{{|z}|{{|{||{{|||{{||{|{{||||}|{{{|{||{|||~}{{{{{{zz||{{{|{||{{{{{|{{|{||{|{{{zzzz{{||{{{}||{{{{||{{||||{}|}{{{{|z{{{|}||||||{{z{z{z|{|{||{|{|{{z{z{z|||{{||{{{z{z{{{z{zz|{}z{|z{{{{{|{{{}||{{{{|z{z{{||{|{|{z{z{{{{{{z|{z{{zz{{zzzz|{z|{{|{{{z{{zz{{{{z{||{{{{{z{z{z|{{{|{{{{{{zz{z{{{{{{{{{{{{zzzyz{{|z||{{{{{{{zz{{{||{}|{{z{z{{zz|{{|{{{{{{{{z{{z|{{|||||{{{{{zz{|{z||||}{|{|zz{|{||{||{zz{{zz{z{{{{{{{{{{{{zz{{{{{{|||{{{{{|{|{||||{|||{z{{|z|{||{|{|||{{{|{{{{||||{|}||{z{{{{{{|{||{|{|{|{{{||{|{{||{}||{{{{|{{}}|||}}|{|{{{{|}||||{||||||{{{{|{{|}{|}|{{{{|{{|{|||{|}||{zz{|{{{{{{{|{|{z|{{{z|{|{{|{|z{|{{z{zz|{{{||~|{|{zz{{{|}{|||{||{|{{{{||||{|||~{{z{{|{|{||{{|{|z{{{{{{{z|{{}||{{z{z||y|{|||{{|{{{{{{{z{|{{{||}|{{{{{{|z||{{|{{{{{zz{z{|{{{{|{|z{z{{{{{zz{{{{||{{{zzzzzz||{{{{{{z{zzyzz{||||{|{zz{{{zz{|zzz{{{|z{z{{{{zz|{{z|{{{z{z{|{z{{{z{|||{{{{z{z|{||{|{{{z{{{{z{zz|{{{|||{{|{{{zz{|||{{|{{{{{{z|{{{{{{{|{{z{zzz{z{||{|{|||z{{||z{|||{||{|{{{{{{z{|}}{}|~|{z{|{{|{|{}||{||{{{{z|z{{{|}|{||{|{|{|{{{|||{||||{|{|{||||||{|}|}|{{||||{|}|{}||}|{z{{{{|}||||||{{{{|{||{|||{|}}||z||{{||{|||}||{{z{{{{{|||||||||{{{{{zz{}{{||||z{{y{z{zz|{y{||||}||{|{|||||||||}}|z||{{z{{|}|}}|{|z{|z{||{{|{|}||{{||{{{|||z{||{{{{|z{{{|||{|{|{{{zz{{{{}{{||{{|{|z{{z{{{|{||}{{{zz{{z{|z||{{{|{z{z{z{{{{{{{{|z{{zz|zz{{{{{{{}{{{{z{z{{z|{{{{{{{{|{|{{zz{z{{{{{y{{{{{{{{|{z|{{||zz{{{{z{}{{|{{|{z{z{{zzz{|{||{|{{{{zz{z{z{{|||||{|zz{zz{{|||||||{|||{{{{{|||||}{z{{|{|{{||||}}|||z{|{z|{{{|{||{|z{{{{|{{{||||||z{|{zz{|{{|{||||||||{zz{||||}||{{{|z{{{z|{|{{}|}|{{{{|{||}|}}}}||{{}|{|{||}|}||~|{{|{|{||}||}||||yz{{{||{|||||}|}|{|||{{}|||{|}|{{{z{{{{||{|}|{}}{z|{{{{{}|{|{{{{{|y{zzz{{{{{||{{||{|}|{||}}|||}{||{{zz||}||||}}{{zz{{{||{{{|||}{}{{|z{z{|{{{|}{|{{zz{{z{{{{{|{|zz{{{{{{||{{{{{|||{{z{z{|{{{||{{zz{z{|{z{{{|{{{|{z{{zz{z{{{{|{{{{{z|zzzzz{z{{|{{{z{{{z{{{|{{{|{{{{z{{y{{{zz|{{||||{{{z{{z{{|{{{{{z{z{zzz|{{{{||{{{{z{{zz{{|{{{|||zz{{{z|{{{|{{}{{{{{zzzz{||{{{{||{{{{z{z{||{|{|{|{z|{z{{|||||{||{{{{{z{|{|{|{}{|{z{|{|{{{||||||{{{z{|{{{{|{||{|}|{|{{{{z{|{||||||z{|{||||||{{||||{z{{|{{{|{|{{}|{{|{|{}||}}}{||{|||{|{{|{|{||}|}|{y{{{{|{{||}}}~||z|{{||}{|||||}{{|z{{|{{|{{{||}{{{zz{|{|{{{{{||{z{{{zz{z{|{||||{||{|||{|}}}|||||{{|{{{||{|||||||z{{{{{z|||{|||||{{{{z{z{{}{|}{|{{{z{zz{{||{{{{|{zzz{z{{zzz||{|{{z{z{z{zzz|{{|{||z{zz{zz|{{|{{{{{zz{zz{z{zz|{|{|{z{zyzyz|z{z||{z{{{z{{zzz{z{z{{{{{z{{{{yy{{z{z{{|{zz{z{{|{{z{{{{{z{|{z{z{|{{{{{{|zz{{z{{|{{{|{z{|||zzz|z|z||{{|{z{{zz{{{{{{{{{}{{{{z{{zyz{{||{|{|{{|{zz|{|{|{{{{{{{{|{{z|||{z||||{{{{z{{|||||||{zz{|||{{{{{}}|{||z{{|{{{{||{|||{|zz{{z{|}|}{|||{||{{|{{{{|||||||{{{|{{{{|}||||}||{z{{{{{||}|{||}{{z{{{{{{||{||{||{{{{||{{{||{}||{|{z|{{{|||{}{||{{{{|{{{|}{|{z{{{{{{{{{{{{{{{||}{|}{{{{||{||{|{}}||z{|{{|||}}{||}{{{||{z|{|||}{{|{|{|z{|{{||{|||{|{{zz{z||{}|{||zz{{{{zz{|{||{|z{{{z{zzz|||{z||{{{z{{zz{z|{z{{{|{zz{zy{zz{{|{|||{{z{z{{{|{{{||{{|z{z{{zz{{{|||{|{|z{z{{{{{{{{{|||z{zz{zz{{{|||{|{{{{zzzz{{|{|{}{zz|{{z{zz}|z|{||{|z{{{{{||{|{||}zz{{|z|z|{|{{|{{{zz{{z{z||{|||{{{z{zz{{y|||{{{|||{{{{z{{||||{||||{{||{{{{||||||}{{{{||{|{{|}|||}z{{{{{{{|||{}}|||{{{|{|}|||{||||{{{||||{|||||||{|{{{|{{|{|}|}}}||{||z|{{||||||}|||{z{{{{}}|{}|}||{|z||{{{||{{}|}{{{z|{{z{||{{|}{{|z{{zzz|z|||{|{{{{{{{{zz{|||}|}||{||{||}|||{||}||{||{{{|||}}||}|{|{{{{||}|{|}|||{|{{{|{{{||{{{||{{{{{{z||{}||{|{|{|{z|{z{|{||||{z{{{z{z||{{|||{{|{{z{z{{{{{{||||{z{{z|y{|{z{||{z{z{zz{{{{|||z{{{{{z{zzzz{|{{||{zz{{{{zz|{z||{{{{{z{z{{{{{z{{|{||{|{{{{||{{{{{||{zz{{z|z{|{{{{{|{{{z{{{{{z{{||}||{{zz{z{{||{|{||{z|z{y{z|{|{||{z||{z|{z{{|||{{||{{{{{||{{|||||}||{{|||{{{}|}|||{|{|{||{{{|{}||||{{{|{z{{}||{|||z|{{{{|z|{||||{||{{|{{|||||}{|||}|{{{{z||{}|||||||{|{{{{{{||}|||||{{|{{{{||||}|}}{|{{|{|||{}|}||||{{{|{||||||{||||{z{{z{{||{{||{||{{{|{z{z{{{{}|}||{{}|{z}}}{{|}}z{||{||{|{|||}}}||{{z{{{|{|{}|||{|{{zz|{|{|}{{|}}{{{{|{{{z|}|||}{z||{{{z{|||{{}{|{{z{{{z{{|{z|{{{{{{z{{z|z{{|z|}zz{zz{{{z{|{z{|{zz{{{{z{z|{{||{{z{{|z{{{{|{|{{|{{{{z{zzz{z{{{{|||{{z|{{{z|{|||{|{z{z{{z{{||||{{||{{{|z|z{|||{}||{z{{{{{{|{||{|{|{{{z|{{{|||{|||||{{z{{{{{||{{{||{|{|z|z{|{|{z{|{{{{|{{{{|}{{|}z|{{{{{{z|{{|{|||}{{|||{z{||||||}}{{{{|{zz||||||||{{{{|{z||||||||}|{|{|{|{||||}{}||||{{||{{}|}|}||}{|{||{{{||}|}|}|{{||{|{||||||}|||{{|||||{||||||{|{z{|{|||z{{}||{{{{{|{z{|{}{}{|{{{{{{|{z||{{}||}|{{}|{{||}|||~}{{{{|z{z|{}{|||}{|{{|{{{{{|||{||{|{{{{{||{||{|}{{{|z{{{{{||{|}||{{{{|{{{|{|{|{|{{z|z{|{{z{}{{||{{{{zzz{z|{{{{||{z{z{{|z{{|{{{z|{{z{{zz{{z{|z{|{|z{{zzz{{{}{|{{|{|{zz{z{{{{{{{||{{{{z{z{z{|{|{|{|{{z{{{{|{{{||{{|{{{{{z{{{||{|{|{z{z{{z|z{{||{|{|z{{{z{{|{{{{|z|}{|{{|z|{z{||{{||{|{z{{{{|{||{z||||z{z{{z{{|||||{{{z|{}z|}|||{{{||{|{z||{{}|}|{|||{{{{z{|{|||||{z{{zz|{|{||{{{|||{{{{{|||{|||||||{{{{|{||{||||||}}{|{{{|z}{|||||||{y{{z{|{{{|||||{{||{|{{|}}||||}{|{|{{z{{{|{|||{||{{{{{z||}{z{|{{z{z{zz{{{{z|}|||{{|{{|||}}}}|}||{||{|z||}||{|}||{|{{|{z|{|{}}|||{{||{{{|{||||||{{|z{zzz|||{{|||{{|{{{{z{|{|||{{|z{{{z{z|||{{{{{{{z{{{{z{z{|{|||{{|{zzzz|{{{|{|z{{{{{{z{{{{|{{|{z||zz{z{{z{|z|}{{z{z{z{z|{zzz{{||{{{{{z{{|z{||||{{z{{|{||{{|{{|{{{zz{zz{{||{|{}|{{z{z{{|{|{{{|||{{{z{{{{{{{{|||}|{{{{{{z{{{|{||{{{|z|z{z{{{||z{{{|{zz{{{|{{|{|||{{{zz{{{|||{{{{|z||{||{{||{{||||{z|{{zz|{||||||{|{||{z{|{}|z|||}{|{{|||{{}{}||||{{{{{|{|{|||}|}||{{||{|{||}{||||{{{{{||{}||z}|}}{{{{{||||{{||}{|||{{{{}{{{|||{}|{|{{|{{{|||z{|}}{|{z{z{z{{|{|~|~}|{|||||}}}|}}|}|{|z|{z|{|||{}|}{||zz{{||||||{|{{|{{{{z|{}||z{|||{{|{{{z}{||||{|zz|z{{{{{|{{{|{{zz{|{{z{||{{{{||{{{zz|{{|{{{z{||z{zyz{{{{{|{||}{{zzzzzzz{|{||||{z{{{zz{z{{{{{z|}{{{z{{{z{z|z{{|{z{z|z{z{{{{|z{|{{{{{|{z{z{{||{{|{zzz|z{}{{||||}}{z{z{{{z|{||{{|{z|{{{{|{|{{{||}|{{||{{|{{|}{||}||{|{zz{{{||||z||{zz{|z{{{||{{|}|{{{{|{{{}{|||}{||{{{|{|{{|||{||}|{z}{z{{{}|||||}{|{{|{{z{|{{||}|{{|{{{}||{||||}||{||{|{||}{|||}}}{|{z}{||||{|}}||{{{{{{|||{|||}}|{|{{|||{{||||||||{{{{|{{{{|{||||{{{|z{{||||{|}{{}|z{{zz|{{z{~}}}}}||{{||}}}||}}|{|z{{|{|||}||{}||z{{{zz||}{|||}||{{{z{z{{{|z||}{z{zz{zz{{||{{{}{z{{{{|z{{{{{|{{{z{{{{zz{z||{z{{{{{z{z{zz{{|z{{{{{{zzz{z{{|{z{{{{|{z{{yz{{{z|z||{{z{z{z{|{{{{{|{{z{z{{{z|{|z|{{|{y{{{{{|{z{|{{||{z|zz{{z{{{{{{{{{{{z{{{{{||{{|||{z{z{{{{{{|{{{||{{{{z{z{{|{{|{{|{|{{{{{zz}{{{{||{z{|zz{z}|{|{||{z{z|z{{{|||{{{{{|{{{{{{{{|}||||}{{{z{|{{||{||||}{{|{{z{{|}{{||{{|{{||z{{|||{{||{|{|{{||{||||}}}||{{{{{{|{}||||{}{{|{{{{|||||||}||{{|{|{||{|||||}|||z{{{|||{{||{||{{{|z{{{{{{{{~||{{{{{z{||{{{{{||{{zzzzz{{{|{}}}|||{||||||||}}~||{|{|{|{|||{{||{|{{z{}zz{{|{}{}{|{|z{{{z|z|}zz|{{{{zz{|z{||{{|{|{{z{{{{{{z{{{|{{zz{z{zzzz{{{{{{z{|z{{zz{{{{{{{z{z{{zzyzzzz|{z|{{{z{{zzzz{{{{{|{|zz{z{z{z{{{{{{{|{zzz{{|z{{{{{{|{|z{z{{z{{{{{{|{{z{z{z{zz{{{{{|{{{{zz|zz{z{{||||{{z{{{{{{{}{{{{||{{|{{{{{z{{|{||||{{{{{{{{||{{}||{zzz{zz{{|||||||{{zz{{zz{{z|{|z|||{{{{{{{||{|{||z{{z{{{z{{|||{|}{|{|{z{{|{|{{||{}{{{{{{{{{||||||{{|z{|{{||}|{|{{||{{{{z{||||{{|||{{{|{|{|}|||{|||{||{{|||{{{{|{}|{{{{{{{{|||{||}z{{z{{{{{{||}||||{{zzzz{|{{}|{|{zz{{{zzz{{|z|}}~||||}}}}|||}|||}}{||{{|{{||}|||{|{{{{|{||{{{|{|{z{|z{|z{{||{{{|||{{{z{{y{{||{|{{{z{{{{{{|{||{{|{{{{zzz{z{{}|{}{|z{{{{z{zz{{|{{{|z{{{{{{z{||{z||{z{z{z{{{z{|{{|{|z{z{zz{{|{{{|{{{z{{zzz{z{{{|{{{|zz{{{|zzz{z|{||{{{{{{zzz{|z{{|{{{z{z{z{{{|{{{{{{{{z{{zz{{z{z|{{}zzzzzzz{{|z||{|{{{{}{zz{z|{|||z{z{z{{|{z|||{{|{{{{{{{{zz{|{|{|||||z{{{{{{|{||}||{|{{|{{{||{|||}}|z{|{{{z|{{|||||{{||z{{{{{|{|{||{{|{{|{{{{{{|||||{{|{||{{}{{||||}{{||z||||||||{{|z{{{|{{||{{{||||{{|||{{|{{||}||{|{zz{|{{|}{{||}{{{{{{|{{|{|{{||{{{{{z{z|{{{{}}|}{|}|}}||~}}{|}||}|}|{{||||||||||{{|{|{|||{||||||{|{{z{{{}||{{|{{z{{{{zz{{|{{|||{z||z{{z{{{{{z}|{{zz{zz{z{|{{|{{z{{{{{{{{{|{{}{{{{zzz{zz{|{|{{{{{zzyyzz{{|{{|||{{{|{z{yz||}||{||{{{{z{{zz{{{{{||{{{{|zzy{{{|{{{|{y{z{{zzz||{|||{{zz{zz{{{|{|{{||{z{zzz{{{{{{{|||{{{{{zz{|}{{|||{{{{{{z{z{|{{{|||{z{z{|{z{{|{||}|{{{{{z{{{||||{}|{{z{{{z{{{}||{|{z{}{{{|||}{|{{|}{z{|{y{{{}{|{||{{{{{|{|{{||||{||{|{{{|{{{{{{}}|||{|{z|{{|||}|{||{z|{{|{{}|{}||{|{{{{{{{{||{||||}{{z||{z{{|||||||{{{z{z|{{||{{{||{{{{z{{|||{||{||{{{{z{z{{{z{{}~}}}~|{}~{}}}}|{}~||{|||{||{|||}||}||{{{{z||{{|{|}|{{{|{|{{|}|{{{|{{||{|{zz|{{{{|}{{{zz{{{{|{{{{{||z{{|{zz{{{{z{||{{{|{{{{|{z{{{{|{z{{{yz{{{{{||||{{{{{{zz|y{{{{|{{{{{z{z{{{z{{{|{z{{{{zz{z{{{{||{{{z{z{zz{{y{z|{{{{{z{zzzz||{{{|}|z{{zz{z{{|{{{|{|{z||{{{{{|{{|}{zz{{{{zz|z{{{{||zz|z{{{zz{||{{||{{{zz{z{}{{||||{{{{{|{{{{{{|{||{|{z{|||{{|{|||}|{{{{{||{||{|||||z{{{z{{z|||||}}}{{z{|{|{|||{|~}||{{|{|||||{}{|}||{{|{|||||{}||}}}{|{|{{{||{{}|||}{{{|{{||{||||}||z{|{{|{{}|||}{|{|{z{zzz{|||{|||{|z{|{{z||{||{{{{{|{zzzz|{{||}}~|}}}}|}}}}|}|{}|||{||{{{}}|}}}}}{{|{||z|{{|||}|||{{{{zz|{|||{{||{|{{z|{z{{}{{|{}{|{{z{z{z|{{z||{|{{{y{z{{{|{||{{{{|{{zz{{{{{{{{{{{{{z{zz{||{{{||z{zzz{{z{{||}{{|{{{{{{{{|{{{|||{{z{|{z{{{{{z{|z}z{{{{z{zz{zz{{{}{{z{z{{{{|{{{{||{|{{z{{{||||{||||z{{z{|{||{|{||{z{{z|y{{|{|||{|}{z{||z{z{||{|||{{|}{{z|{|{|{{{|{|{{z{{z{||{{||||}{{{{{{{}}|||}|||||{{{z{|{|{||}|{{z{{{z{}|{{|}}|{{|{{||{||||||{}|||{{{||{||||||||{{{||{}|}|||||{|{}|{{{{|{}|||||{{||{||||{||{}|}||{z|{{||{|}}|{{|{{{|{{{{|||{|}}{{{{{{|{{}{|{{}{{z{{z{{zz{|{|}|~|}|}{|}||}~|||}~|}{}{{{|}|{|{}|}|{|{{{z{|{|{|}|{|{zzz{{z||||{{|}|z{{z|{y||||||{}{z{z{{{z{{{{{|{{{{{z{{z{{{|zz|||{{{zz{zz|z{||{{|{{z{z{z{{{{||{{|{{{{zzz{z{||||{z{{{{z{{z{|{{|{}|{{{yz{{{{|z|{|{|{{zzzzz{{{{{{|{|{{|{zz{{{{||{{~{{zzz{z{{{{||{{||{y{{{{{|z||{{{|}{|zz{z{{{||{{|{||{{|{z|{z{{||{{{{{|{{{{{{{||{|||{{z{{zz{||||z}|{{{{{{{{{||{|{||||{|{{{||{|{|{||{|{z{|{z{{}|||||{{{{|{{{{|{}|||||{{|{{|||||{||||}{|z|||z{{}{|||}|{{{{z||||||||||||z{{{{{||{{|}||}||{{|{{{|||{||{}|{{{{z{{||{}{{{{{|{|{z{{|||}|{||{{{{zzzz{z{|{~~~|}}~||}}~}}~}}}|||{{{{{}|}~|}|}|{{{{|{z|||{||{|{|{z{|{{||{|||||{{|{|{{{||||{||}{{{{{{{z{{||{||{|{|{z{{z|||{{|||{z{z{{{{{|{{||||{{zzzz{z{{{{||}{z{{{zzz{{{{{|||{{z{zz{{{{{{|{{|{{z{{|zzz||{{||{{zz{{{{zz{|{{{|}|{{z{{{{z||{{|{|||{zz{{{zz{|{|{||{z{{{z{|{|{|{||{{||{{z{{||{{{||}|{|{{z|z{{{|||{z{z{|{{{{||{||||{|{{{{z{{{}{{{|{{|{{|{||{||||{}||z||{{{{|||||{|}}{{z{|{{|{||{|||||{|{|{|{||{|||||{{{{{}|{{||{}||||{{z|{{{z|{|||||{{{||||{{||||||}||{||{|{|{{|||{}|{{|z{|||||{|||}{{{z{{{{|||||||}{{{z{{zz{}{}{|||{{{zz|zzz||{{~~~~}}}}}}~}}}|~~}}|}|||{||}}}{|}}|}}{{||{{||||||||{|{||{{|||{{||{|{|{{z{z|{|||{||{z|{|{{z{}|{{||{|{|zz{z{{{|||{|{{{{z{{{z|z{|{|{}{{z{{{{{{{{|||{|{{zz{{{|{{||{{{{z{{{{{{z{|{||{|{{{{{{{{z{{|{|{|{{{{{{z|{{{{{{|}{{{{{{{{{||{{{{||{{{{{{|z{||{z{|}{{|{zz{||{{{||||{z{{{{{{|{{|{|}{|{{|{{{{|{||{|{{|{{{{{{{||||||}|{{zz|{|{||{{|||||{{{||{|||}|||}}{{{{{{||||}|{}||{||{|{|||}|}|{{||z|{z{|{|||{|}}}|{{{{{{|||||{||}|{|{|{{{|||||||||{|{|z{|}{|}}||}{{{|{|{|{|||{||~|{{|||}|{|||}}|{||{{{{{||||}{|}||{{|{{|{{{|}||}{{{{{zz{z{||}|~~~|}}}}}{|~|}}}}~}||{{{|||}|{|||~|{|||{||{{|{||}|{{{|{{z|{|{}{||||z{{z{{{{{{{||{|z{|{|{{{|z{{{||}{|{{{zz{|z|z{{{{{z{{{{z|{z{{{||{{|{yzzz{{{{|{{|{{{|{{{{||{{{|||{{{{z{|{{{{{z{||{zz{{{z{zz{{{||{|{{{zz{z{z|{{{|||{{{{{{{z{z{{{|{|{{{z{|{{|{|{{{{|{{{{{{|{||{{||||{zz{{{{{{|||||{|{{{|{zz{{}|}{||{{{|{{{{z{|{||{}||{|{{{z{|{{{{||||{{{{|{{||{|||}}{{|{z{|{{{{|{||}{{||{{{z{{|}||}||z|{{z{{|||{{}|}|{{{{|||||}|||{{{{{{zz|||}}|}}||}{{{{{||||{||||||{}{{|{{{{{{{||||{{{{{{{||{}{|||{{{{z{{{||{|||}|||{{{{{{{}|||||||z|y{z{z{z{{z}~~|}|}}}~}~|}}}}|}|{||{||}||||}}}|{{{{|{{}|{}||||z{{{{zz{{{|{{||}{{{z{|z{{{|z{|||{{{{{{{{{{{{{|{|{z{{{{|z{|}|z{|{{{z{z{z{{}{{{{{|{{{{zz{{z{||||{{|z{{zzzz{||{|{{{{|{z{{z{{|{{|{|{{zzz{z|z{|zz{{{{{{{y{z{{{|zz{{{{{zz{z|{{{|||{{{|{z|{{{|{{{|{{{|{{|{{{zz{z{{|{|||{{{{{z{{|||{||{|{z|||z{zz||{|}||zz{{{{zz|{|{{|||z{zzz{zz{|{{{{{|{{{{{{z{|{|}||{{{z{{{|{{|||{||||{{{|{zz{||}|||{|{|{{|{{z|}{||||}|{{{{|||{{|{|}}|{{{{z{|{|}}||||}|{z||{|||z|{|||||{||{{{{||||||{||||{{|{|||||||{}|{{z{||{{|{|{{{|{{{{{{|{{||{{{|{{{zz{z{||{|{{~}~~~|}{}}~}}~|||||z{||{||||}||}{{|z|{|{||||}|{|{{|z{z{z|{|{{{||z{|zz{{{{|{{{|z{{z{{{zz|{{{{{{{z{|z{{{yz{{|{{|{{{z{{zzzz{{zzz{{{zz{zzzz{z{{{{{{|{z{{{zzzz{|{{{{{zz{zzzzz{{{}{|{{{{{{{zz{z{|{{{|{{{zz{z{z{{{{{|{{{z{z{{z{{z|{{{{|z{{{{z{{{{{{{|||{{z{zz|z{{{{{{||{|{zzz||||z{{{{|{|z{|{z{||{|{|||{z{|{{{{{{}|{{||{z{{{zz{|z|{{|{{{z{{{{{|{{|{|||{{|{{|{{|{{{{{{|||z{|||{{|||{|||{{z{{{|{{{{{|{|}||{{{z|{{{{|||||||{{|{{|{{}z||}{||{{{{{{{|||}|||||z{zz{{|||{{{|||zz|{|z{{{|||||{|||zzz{zz{|{|}|{|{{z{z{{z{|{||{{{{{{zzyz{{z|{{~~}}|}}}|}~|}}}~}|||||{|{}|}|}|}}}{||z{|||||||{|}}||{||zz{{|||||{{{z|zz{{{|{|z{z|z{{{{{{z{{{{{{|{z|z{{{z{{{|{{{{{{{{{z{{{|{{z{||{z{zzz{zz{{|{{{}{{{z{z{z|{{|z||{||z{{zyz{{{{{{{{{|{{{{{zzz{{{z|{|{{{z{{{zy{{{z|{z{z{z{zzz|z|{|{|{{{{{{zzz|{|z{|}}{zzzz{|{z{|{{||{zzz{zz{{|{||||{{{z|{||zz{|{{||{|z{{yzz{{|||{|{|{|z{{{{{z|{||{||||zzz{{|{{}|}{}|}{{{}|{|{{||{|{|{{{{{{{z{{||{||{||{{||{{{||||}|{|{zz{{{||{||{||}||{|{||{{|}}|}}}||{|{||{{||||||||{{{|{{{{{{||{|}}||{|z{{{||||||||{{{zz|{z|{{{{|}|{{{{{z{z{|{|{{||{{{{{{{{{{|{{~~~}||}}}|}~~~}~||}|{|{{}|||||}|}|||{{{{||}{|{|}}||{{z{zz{|{||{||{{{|{{z{z{|{|{|||zzzz{z{z{|{z|{{z{{{{{x{z{{{z|||{{{zzzzz{{{{{||{|{{zz{zzz{{|{{{{{|zzzzzyz{|{z{{{{{{|{{{z{z|{{{{|{zzz{{zz{{|{z|{{|{z{zzz{zz{{{|{{{z|{z{{z|{{z}|{|{{{{{{zzz||{{{{|{{{{zz{{{|{{|{{|||{{{{z{y{|||{{{|{z{zy{zz{|{{|||{z{{{{z{z{|||{||||z{{{zz{|||{{{|{|||{z{z{|{|||}{{{z{{z|{{{|{{|||{{z{{|{|{{{|||{|z{{|{{{{{{|||{||{|{{{{|||||{||}||{{{{{{{{}|}}|}||{{{{|z{|{||{||}{|{{z|{{{{|||||||{{{{{{{||||||{}}|{|zz{{z{|{|{||||{{{{z|{{|{|||{{{{|z{z{z{|z{|~~~~}}}}~}}|}|}~}||}||}{{|}|||}}|{{{||{||||}||||{|}{yz{{|{|{}||{||{zz{{{{||||||{{z{{|{{{{{{{||{{{{{z{zz{|{{|{||{{z{{{z{{{{|{||{{{{{{z{{z|{|{z{{||z{{{|{{z{{{{{|{zz{z{{z{{||{{{|{{|{{{{{{z{{|||z|{zz{zz{z{{{{{{|{zzz{{{{z{|{|{{}{{z{{|z{{{||||{|{|{{{z{z{|{{{z{||z|{z{zzz||||||}|z{|{{{{z{||{|}|{|{{z{zzz{{{|{{||{{{{z|z|{{{{{||||{{{{|{{{|}||||{{{||{z|||{{{{|}||{|{{|{z{|{}{|}{|z{{||{||}||{}}|{|||{{|{{||||||}|{|{z|{{||||||}|}{|||z{{||||||}{|{{|{|{{||||||||{{||||||||||}}}}{|zzz{{||||{||}|{{|{{{zzz||}{{|||z}{{{{z||||{~~~}}~}~}}~}}}~}}~}}{||||}|}}|}|}|{{{{|z{z}|}{|||{||{{{{{{||||{||||{|z{zz{{{|{{{{|{z|{{z|z{||{||||||z{z{zz{{|z{{{zy|{{{z{z{z|z{||{{z{{{z{z|{{{{{|{{z{{y{{{{{{{||{|z{zzz|{||{{|{||{{z{{{z|{{}{{{{|{||{z{{y{{{{|{{|{{z{{z{{z{|{||{{||{|{{z{|{|||{{{|{{z{z{{z|{{||}{}{{{zzz{z{{|{{|}{{{{{{{{{{|||||{{{{|z|{z{|{|||z}|{{z{z{{z{|{|{|{{{{{{{{z{|{}}|||||{{{{{|{||{{|||||z{{{{{|{}{|}{|||{|{|z{{|||{||~}{{{{{{||||{||||}|{|{||{|{~|{|{}{|}{}{{{{{||{}||||{{{||{{{||||||}||zz|{{{{}{|||||||{{{|z{{||||{}|||{{z{{|{|}|{|}{z{{zz{|{{|{{{~}~~~}}~}~~~}~|}{{||~||||||~}}{}|{|{{{||{||||}{{{{|{{{{|~{||{|{{|{z{{z|{{|z|{||{{|z{{{{{|{||{{}z|z{z{z{{{z{||}z{{zz{{{{{{{{|||zzz{{{z{|{|{{|{|z{{zz{z{z{|{||{{{z{{z{zz|z{{{|{{{{{{z{zz{{||{||{{{{{{|{zz{{{{}|{{{zzzz{{{||||{{|{{{{{z{{||{{{{|||{z{{{{||{|{{{|{{{{z{z{{|{|{{{||{{{{|{|z{{}||{|{{{{|{{{{||||{|}||z|{{z|z|{{{|{|||||z|{z|||||||||{{{{{{|{|{|}{}||{{{{{{{{||{|}{||||{{{||{|||{|{{|||}|||{|{|~|||}|||{{{{|{||||}}|||{{{z{{{||||{}}|||{|{{{{||{|||}}||z|{{{||||}}}||{{{{{||{{|||{||||{z|{z{{{|}||{|{{{|{{{{z{}{{{~~}~~~~|~~~}|}~}}|||}}|{{|}~}}|}|{|{{||{}{||}||||{|z{{{{z{||{|||z{{{{z{z{{||{{|{{{{zzz{{{|{{{{|{|{{zz{z{||{{z|{{{{{{z{z{z{{{z{{{{y{zzzzzz{{{{z{{{{z{z{{z{{{||||{zzz{{{{z{{{|{{|{{{z{{z{z{z{z{|{{|z{{zzz{z{|||||{{{|{{{{{||{{{|z|{zz{{zz|{|{z|||{{z|{{{z{{{{||{||{{{{zzzz|z{||||{{{|z{z|z{|||||{{{{{z{{{{{|||{{||{{{|z{z|{{|||||||{{zz{{|||||{{|{z||{{{{|||||{|{|{{{{|{{{{|{|{|{{|{|z|{{||{{z|||}{|{{{{|{|}}{{|}||{{{{|{zz|}{{|}}|{{|{{{{|||||||{{{zz||{{{|||}||||z{{|{{{||{|{}||||{zz{z{{{{|{|{|{{{z{{|{{{{{{|{|z{{|{zzz|||{{~~|~~}}~~}~}~~}||}}{{|~}|}|}|}}|{{||||{z|||||{||{{|z{{{|{||{{|||zz{zzz||||{|{|z{{{zz|z{|{{|||{{z{{z{zz|z|z{|z{{z{z{zz{{{{|z{|{yzy{zz{z{{||{|{{z{z{zzz{|z{||{|{{{z{zzzzz{|||z{{{{{zzz{zz||z{{{|{zz{|z{z{{{{z{{{{{{{z{zz{{{{{{{{|{|{|z{z{{|{||{||zzzzz{zz{{|{|{|{z{z{z{y{{{|{|{{{{|{zz{{{||{{{|{zz{||z{{{|}{|{|{{{{{{{{{|||{{|{|{{{{{|{{z|{|}||{{{z|{{{{||||{{|||{||z{z{{||{|||{{{{z{{{z||{{|||}z{{{{|||{{{}|{|||{{|{{{{|||||}||{|||{{{z{}||{{{|}z{z{|{{{{{|||||{{{{||{{|{||{|||{{{{{{{{|||{|{|||{{{{z{{{}|}|{{{|{{{z{z{|{||{~~}}~~~}}~~~~}|}||||}}}}{|}}||}{{|||{}|{|||||{||{{{{{{||}{|{|{|}{{{{{{{{{{|}||{{{|{}zz|{{{||{{{|{{|{{{{|z{|{|zz{{{{z{{{{|{|||{{z{zzz{{{{|{{||z{{{{{z{{{{{{|{{{{zzz{{{{{{{{|{{{z{{z{zz{{{{{}{|||{z{{zz{{{{{||{{{{{{{{{||||||{|{{y{z{{{{|{{}{{|{{{{{{{{{|{{|{|{{{{{{{|{|{||||||{{{z{{{{{{|{|{{||{{{|{zz{|||{|}{{{{{z{{{||{{{}|{|||{{{{z{{|{|{||z|{{|{||{|||{|}}||z|{{{{||}}}|}}|{{{{{{{||||{|||{{||{{||||{|}}||{|{{{{{{{||}|||}||||{{{{}|}|{}{||{{|||{{||}}|||}|{{|||{||{{|{|{}|z|{{z{{{|||||||{|{|z|{{|}||{{|{{{{{{{{{|{{{{~}}~~~~~~}~|}{|||}}|||}|}||||{{|{||{|{|}|{z{{z{|{{{||{{|||{|z|{{{{{{{{|{|{z{zzzz{|||{{|{{{{{{{zzz{z{z{{{z|{{z{zzz{|{{{{{|yz|z{z|z{{{||{|{|z|{{{zz{||{{{{||{z{zyz|{{|{|{|{{{{{{{zzz{{z{|{|{{{z{{y{{{z{{|{|{z{|{z{z{|{{{{{|{{z{z{{{|{{{{||{|{zyzz{{z||{{|||z{zzzzz{{{||{||{{zz{{{|{{{{}||}{{{{{z|{{{{|{{{|||{{{{{{{|{z|{|{||{{{z{{{{|{{|{{{{{{|{{|{{||||||}|{{{{|{{||{{||{{}{{{{{|{||{|{||||z{{|{|{{|{|{||{|z{{{{|{||}|{|||}{{{{{{{|{||{||||{{|{|{{{|z{|}}|{{|||z{z|{{||||{{{{{z|{{z{{{|{{|||{|{{{z{{{|{|||{{{z{{|{|{{||~~~~~~~~}}|}|}|}}{|}}||||||{{|{z|{|{|}||{||{z{{{||||{{||{{{{{{{z|{|{{|{}z{{{{{{z{{|{|z{{{{{{{z{z{z|{z||{{|{yz{z{|{{{|{{|zz{{{zzz{{|zz{|{{{zzzzz{{{{z{||{{|{y{{y{|{{{|{|{{zzzzzz{zz|{{{{{|{{z{{|zz{{{z|{{{{z{z{{{{z{{{{{|{{{z{{{|{|}{{{|}{{{{zz|{{||{||{|{z{{{{{{{|{|}|z{||{{{zzz{|||||{{{z||{{{{{||{{||||z{{{{{{{}|{{|||{||z{{z{|}||{||{||{{{{|{|{{|{|{|{{||{{z{{||||}{{|z{|{{{{||}||}|}{{{||||||}}{|||}{{{{{{{|||}||}}||{{||{||}}|||{||{{{|}{{{|{{|||||{{||{{||||{|||||{{|||{{{|||||||}|{z{{{z{{|{{{|||{{{|zzzy{{|zz~~}~~~}~}}}}}~{|}|||}|~~}{{|{{|{{||}|}}}||{|{|{{{{|{|{z|{|{|{{{{z{||{{{{{zz{{{{{|{|{z{||{{{{z{zzzz{{z{|{{zz{{|{z{{{{{z{{{{zz{{{{{z||{{{|{{z{{z{yzzz|{|{{|{{|{z{z{{||||||{z{{{z{z{{|{{{|||{{{zz{{{z|{{{{{{{||{{{{z|{{|{{{|{{{{{z{|{|{|{{|{{z|{{|{{{{||{|{}z{{z{{{{||{|{||{{|{{{{|z{}|{||{{{{{{z{{{{|{{||}|{{zz{z{{|{|||}|||{{zzz|{||}||{||{|{{{{{|{{z|||{}{{zz{{{{|||{||}||{{|{{{{||{|}|}|{||{{{{{{{|||}|{}|{|{{||z}|}}|}||{{{z{}{||{||||||yz|{|||z}||}}}||{{|{|{|||||||||{|{z{{{{z|||||{||z{z|||{{||{||||{{{zz{{{|||{{~~}~~}~~}}|{|||}|}|}~}}}|{{{|{{||||}||}}{{{{{{||{|||{{|{{{{|zz{z{||{{|{}{||z{z{{{|{{{|{{z{{z{y{zy{|zz|{{{zzz{{z{|{{|z|{{z{zz{zz|{{{{||||{|{zz{y{{{||||{|zz|zz{{{{{{{{{|{{|zz{z{y{z{{{{|z{{z{{y{{{{z{{|{{{zzzz{{{z{{||||||{{z{{{{{|{{{{{|{{{{{{{z{z{{{{||{z{zzz{|{||{{||{|{{|zzzz{{{|||{||{{z{z|z{||||{|{||{{{z{|{{||||{|}{{{{z{{z|||||||{{|{{{|{{{{||||||z{{{zz{{}|{|}|||z|z{|{{|||||}||{||{|{{{||{|}||}}||{|{{{||{||}}|{{{|z{{z|{|}}||{{{{{z{||{{{{|{}||{|{|{{{|{{{|||||{z|{{{z{|||{||||{zz{{{{{{{{{|}|{{zz{zz{{|{|{~~~}~~~~|||||||}}|}}}}||{{||{{|}||||}||{{|{{{{{{|}||{|{z{{zz|{{{||{|}{|{zz{|{z{{{{{{{{{||{{{{zz|{{{{|{{{z{z{{z{{{{|{|{{z{zz{z{{{{|{{{|{z{z{y{z{{{{{||||zz{{zz{{z{{|{||{zz{{zzz{z|{z{{|{{zzz|{{z{|{z{||}{{{{{{{z{{{|{{|{{{{z{z|z{|{|||{|{zz{{{{{{{{|{{{{{z|zz{{||{|{{|{{z||{{z{z{|{|{||{|z||{{|{{|{{{{||{{|{{{{|||{|{||{{|z||z{{{||||{||yz{{|{{z||{|{{|}{z{{|{{{||||}|||{|{{{{|z|||{||{|||{{|}{|{||||{}||||{z|{{|}}|||||}|{|||||{|{||{||||{{||{{{{|||||}{||{|z{{||{}{{|||{{z{{{{||||||||{{zzz{{z{|||{{||{{{{|{{z{|{{|}~~~~~}~}|||}{}|}}}}|||||{||||||{{}||}{{{{||{|{||{{{|}{{{{{y{{{{||{|||{{{zz{zzz|}{{|||{}{{|zz{||{|{|{{{{{{zzz{z{||z|{{zz{{zz{{|{z{|{{|{{z{{{zz|{{{||{||{{zz{{{{{{}{z{{zz{zzz{z{{|{z{{{|{z{z{{z{{y{{|zzz{{{{{{{z|||{||||zzz{{{z||{{|z|||{|{|{{{{{{||{||z|{{zz{{{{||}|{|z{|{{z|{|||{||{||{{{|{{{||||||}{|{{{{{{{{||{||{|{{{{|{{{{{|||{}|{z{{{{|{||z|{}|}{{|z{{{{{|}||{||}{{||{|||||||||}|||{{{||{||||}}||{{{{|{||{|}}||{}{{||{{{|}{|{|}||{||{|{{{||||}||||||{{{||||}{|{|{}|{{{z{{|||{}||{|z{{{{z{||||{||{z{{{yz{||{{{~~~}~~}}}}}}}}||}|}}}~}{{||{zz|{{{||||}|{{{{{|{{{{||}{{{{zz{{{|z{{{|{|z{|zzz{zz||y|{|{{z{zz{{{z{|{{|{zz{{{{z{{z{{{{|{{{{z{{z{{{{z{{|{{|{{zzzzz|{{z{{||{{zzz{zz{z{{||||zz{z{z{z{{{{z{{{z{{z{{zz{{y||||{z{{z{{zz||{{||{{{{z{{z{z{|||{{{{{{{{z{z{{{|{{||{{|{z{{z{|{{{z||{{{z{{z{{{{{|{|{{{|{zzz{y||||{||{{zz{{zz{{|{{||||{{|{{{{{{||{{|{||{{{{||{{|{||{{||{z{{{z{{}||||{{{z{{{z{{{||z|{|||{{{|{{{|{{}||{||{|||{{|{||{|||}}|{{|{zz{|||{|||{{{{|{{{|{|||||{}{{|||{|}|||||||{{{{{{|{{{||z||||{{{{{zz||{|{||{|zz{zz{zz||||~~~~~~~|}||||||}|~}}|}|}||{{|||{{|}||z{|{||{{{z}||{{|||{{{|z{{|{|{|||{{z|{z{{z{|{{{{{}{{zy{z{z|{{{{{{||{zzzzz{{{|{{{|{{zy{{{z{{{{{||{{{zy{zzz{{{{|{{{{{zzzzz{z{{{|{{{||{z{zz{zz{{z||||zz{{{{{z||{|{{{|z{{z{{zz{{{|z|{||{z{|{z{|||{|{{||{{zzz{z|{||{||{|{{{{zz{{{|||{}|{||||z|zz|z}{||z{z|{zz{z{{|{|{|{{{{z{{{{{|||{|{||{{{|{||||||{|||||{z||{z{{z||||}{{{{|{z{{{|{|}||{{{|{z{{{|{{|||}{{{z{|||{|{||||||{{|||{{{}{}||}||{|||{|{|||||||{{{{{{{{|||{|||}}|z{{{z|{|{|{||||{{z{z|{{{{{z{|}{{{|{{{{z{||{{{|{{{|z{zz{{|{|{~~~~}}}}}}|||}}~}}~}}|||||{|{}}|{}||{||{z{z{{z|{|z{{|{{{{{{z{{{{|||||z|{z{|{{z{{{{{{|{{z{|zzz|||{{{|z{z{z{|zz{|{|{{zzzzz{zz{z||{{|}||{z{zz{{z{|{{||{|{zy{{{z|{z|||{||{{{{zz{z{{|{{||z{{{{zz{{z|{{{|||zzz{zz|z{{{{{{}}{|{{{{|{z|{{|||||{z{{{z{{{}{{|||{{|{{zz{{||||||||{||{{{{{|{||}|{{||{z{z{||{{{{|{{z{|{z{{||{{{||||{{{{{|{||{|||||{{{{{z{|{}|{{}||}{{|{{{z||{{{|||{{{{|{|z{{|||{||||z{|{{{z|{||}}}||{|{|{{{||||||}|{||{z|{|||||}|}{z{||{z{{{{|||||{{{{{z||||{|||}|||{z{{{z|{||||{||{z{{{{{{|||{|{|{{{{{{|z|}||{~~~~~|||}|{}||||}}||}{{{{{|{||{|}}}}|{|z{{{{z{||{{||{{{{z|zzz||{{{{{{{{{{{{{{{{{{||{{{{z{{{{{{{{z{{{z{{{{{z{|{{{{{|{{{{z{z{zz|{{|{{|{{z{z{z{z{|{|{{{{{|{yz{zz{{{{{{{z{z{z{zz{{{||||{{y{{{{{{z{{{{||{{{{{{{{||||{|{||{{{z|zz{{|||{{{{{{zz{{{z{z{{{{||z{|{{zzz{{|{{{{|{z{{|{zz{||{||z{{{{{{{zz{{{{{{||{{|{z|{z{{}z{{{|||z{{{y|{|||||||{{z|{{{z|||}||||{{|{{z{|{}|{}|{|{{|{{{{||||}}|}|{{{{{|{{|{{||{||}z{{{|{{{||}||{|{{{{{{{{||||||{||{||{{|{||{|||}|{{{{{z{{{|||||||||{z|{z{{|||||||{|{{{|{{||||z{}{{{{z{yzz|{|{{~~~~||}||{||||||~|{{}|{{{{|{{{|}|{|||{{{{zz{{|||{z|{{{|zz{{{|{{z|{||{{{{zzz{z|{z{|{{|zzzz{zzz{{z{|{{{{{z{zz{{{zz{{z{{zz{{zzz{{{{{|{{{zz{z{{{z|}{{|{{{z{zz{zz{{z{{{|{z{zz{zzzz{{{{z{{zzzz{z{{{|{{{|{|zz{zzy{|{{{|{{{|{{y{{zz{z{{zz|{|z{{{zz{z{{{{||{{{{zz{{z{{|{{{||{{{{{{{{{|{|{||{{{{{{{{zz{|{{|||{{{{{|{zz{||{{}{{{z{{{{{{{|||||{|{{z{{{|||{{{|{|{z{{{{{{{{{|{{||{|{{{{{z|}|||{|}|z{{{{||{{{{||||{|z{{{{{{{{||{|}|{z|{zz{{|{|||{|||{{|{{{|{|{||||||{z{{z{|{{{|}||{{{{{|||{{{{{{|||{|{z|{{{|{{{{{||{z|{|{{{{{|{|~~~}~~}}}}|||}||||}|}|{{z{|{{{{{|||||}{|{{{{|||{|{|{||z{zzz{{{{|{{{{{yz{{z{{zz|{{{{|{z|{{z{zz|{||{{z{z{zzz{zz{{z{{{|zzz{{{{{{{{{{{z{zzz{zzzzzz{{{{z|{{{{{y{{z{{{{{{{{{zz|zzzz{{|zz|{{{{{zzzzyz{{{{{{{z{{{|{zzz{{|{{|{{{z{{{zz{|||{|{{{zzz{z{{z{{{{|{{{||{z{{z|{{{{|||{{{z{z|z{|{|||z{{{z{{{|z|{z|{{{{|{z{{z{z|{{{{|||z{zz|{z{{{{|||{|z|{{{z{{|{|||{{|{z{|{{{{{||{{{{{{{zz|{z{||{{||||{{{{{{|{|{|{{{{{}{|{{|{{{|{||||||{{|{{||{{|{{{{{{|{|{{z{|||||{|}|{{{{{{{|||{||||{|{z{{{{{{{||||||{z{zz{z{{{{{||{|{{zzzzzz{{{{~}~~}~}|~}}||}|}|}~~}|}|{{{|||}|||||||{{{{{z{{|||{{}}{z{{{z{{{{{|||{|{z{zz{{{{|{{{|{{{zz{{{zz{{{z{{|{{{z{{{{z{{{{{|{{z{{z{{{zz{zz{|||zz{{z{zz{||{}{{{{z{z{{{{{{z|{{{{{z{zzz{zzz{{{{||z{zz{{{{z{{{{|{{{z{z{{{z{|||z||||z{z{z{z|{|{{z{||{{{{{{{{{{{{{{|{{{zz{{|{{{{{{||{|{|{{{{z|{z||{{z{{{{zzz{|{||{|{|z{{z|z|{{|z{|z{|{{{{{{||{|{{|{|{{|{{z{|{|{||{}||{{zz{zz||||{|||{{{{{{zz|}||}|}{{z|z{{||||{|||||}{{{{||{|}|||}|}|z{{{{{{|||{{|{||{|{{z{|||{}|}}|{z{{||{{{|||||{|{|{z{{{z{|||||||{{{{|{{{{|||{|{{{{{z{{{{{{||{}~}}}}}}{||}}}|}}}~}||{||{{{||}|}||}||{|{zz|||{{{||{{|{{z{z{|||||||y{{z{||z{}|{||{z{{{{{z{{|{{{z|{|{{{z{{z{|z{|||{{{{zzz{{{|{|z|{|{zz{{{{z{{||z|{{{{{{z{{zz||||{||{{zz{zz{{{||z{{|{{z|zz|{{{|{{z|{|{z{{{{z{{|{|{|||{{{z|z{z||{{{||||{{z{{{z|{|{|{||{|{{z{z{|||{{|{{|{|{{{{{{|z{{}{|{{{{{{{{||{{{|{{{{{{{{{{{|{{{||{{{{{{{{||}||{{|{{|{zz{|{{|{}||||{{{|{{{|{{{|}||{{{{{|{{{{}||{{||{{||||||||{||}|||{{{||{{|||{}|}||{||||z{|||||||||{{{{{{{{|||{{||||||{|{z|||||}}|{zzz{{|{{|{}{{|{{{{{z{{{{|{}||||{z{{{|z{{{|{{~~~~}~}|{{}}}}}|~}|}||{||{{||{||}|{|{{z{{{{{{||z|}|{|z{z{z{|{||{{|{{z{zz{{z{{{z{z{{|{{z{z{{{|{{z||{z{{zz{zz{{{{||{|{zzz{z{{z{{{{{{{{zz{{{z{{}{{{{{{{{z{z{{z{{z||{|{{z{{|{zz{{|{{{z|{{zz|{z{{|{z{{|{|{{z{zz{{{{{{{||{{{z{{z{{{||{||{z{{{{{{{{{|{||{|{{|{z{zz|{{{||}{{|{{{{{z||z||z{|{z{{{{{{|{|{|{|{{{|{zzzz{{||{||{zz{{{{{{}{|||{}||{{{|{{|||{{{||{{|z{{{{{|||||||||{|{|{{{|}||}|||{{|{{||{{{|{|}|}|{||{|||||{{|||}||||{{{{zz{{{||||z{{||{{||||{{||}|{{|{{||||||||||{{{{|{{||||{|||{{{{{{{{{{{{{|||{|{{{z{{{|||{~~~}}|}}||{|}}}~}}}|{{{{|{{||z|{{|}{z|{{{{{||{||{{}{{{zy{{{{|{}{||}{z{{{{{z{z{|{{||{z|z{zz{z{{|{{{{z{{z{{{z{zz{{{|{zz{zz{zz{z{{z{{z{zzzzzzz{{|{{|||z{z{zz{zz{{{{{{|{{|{z{zy{{z{{|z|{z{zzz{z{{{{{||{{zz{z{|z{||z{{}{{{{z{zz{{||z|{||{{{zzz{z|{||{{{|{{{{{{z{||{|||||{{{{{y{zz||{{{|{{{{{{{{{||||{|{|{{z{z{|{{|{{{{|{|||{{zz{|{}|||{|{{{{}{|z||{{||{||{{|{{|z|{|{|||{|zz|{{{{{{}{||||||{{{{|||||||||{|||{{{{{{|}|{}|||{{|{}{|{|}|{{{|{{{z{z{z|||||{{}{|{|{|{|||z||||}{{z{{z{|{}{{{}||{|{{{|{{||{|||||||{z{{{{||{{|~~~~~~~|}|}{}{}|}|}{|}||{{{{{{{|||{||{|{{{z|{{||{{{z}|{z{|{z|z{||{||z{zz{y{|zy{{{{{{{zz{{{z{{{|{|z{||{zzzzzzzz{{|{{|{{{zz{{z{z{{|{{|{{|{{zzzzz{{{{{{{|{{{zzz{{{{{{{{{z|zz{{z{z{{zz{{{{{{{{z{zzz{{|{||{{{zzz|zz{{{{{{{{{z{z|zzz{{{{|||}|z{{zy{{|z||||{||{|z{{z{{|||{{{{{{{{zy{z{{{{|{{|{z{{{{{{}z{{{||{{{{{{|{{{|{{{|}|{z{|z{{{{|{|||||{{||{{|{|{{||{|{|{{|{{z{z{|||{|{|zz{|z{{||{}{|}{{{{{|{|{{||||||}||{z{|{z|||{}{{||{{|z{|{|||{||{||{|{|{{{{{|z||{||{{z|z{{|||{||{|{{{{{{{{{|||}|||z{{z{{{{||{|||{|{{{{{{{z{{z{z~~~~||~}~|{|}}}}}|}~|{||||{|}{||||||{||{z{|{{z||{{||{{{{{{{z{{|{{|{||{|z{{{{{{{{{|{}{{{z{zz{{{{z{{|||{{{{{z{z{z|z{{{{{zz{{z{{{{{{z||{{{zz{yzz|{{{||{{{{{z{|{||{{{{|{zz{{zz{z{{z|{{|||{zz{{{z{|zz{{{{z{{{{{{zz|{{{{{|{{{z{z{{{{|||{{{{{|z{zz{{{z|{{}|z{z{|z{{{{{|{{||{|z{{||z{|||{{|||z{{{{{|{||||||{|z{{|z{z|{|{|{|{|{{|{{|z|||||{||z{{{|{|{{|||||{}|z{|{{{z{||{|{}||zz{{{|{{}|{|{}|{{|{{{}{|{{||||}|||{{{||{||{|}}|||||z{|{|||{{|~|{|{{|{{{{||}|||||{{|}{{|||{||||}{||{{||||{}|{|}|{z{{z{{z{{{|||{||{{{{z{z|||{{~~~}|}{}||~~~}}}}}}{{|{{{{{{{|}}||||{|{z{{{{||{z||{{z{z{{{||{|z|||z{zzzzzzz{z{z|{{z{{{{zzz{{{|||{||z{{z{z{{|{{{|{{|z{{{zz{{{|{{{||zz|{{{zz{{{{{{{{{{z{zzzzz{{|{|{{|{{z{{{z{||{{{{{||{z{zzzz{z{{}{{|zz{{z{y{|{{}{||{z{z{{{{|{{{{|{|{|{{zz|{{{{{||||{{{z{{{{{||{{{|||{{z{{{{{|{|||{|{{{|{{zz{||{{||{|{{||{{{{||z{||{{{|{{zzz|{{|{}{{{|{{||{{{|{}|{|||{{{{{{{{|}|||}||{{|{|{z{}|{{||||{|||{{{z{|}||||||{{|{{|{||{||||{{{z{{{|||||{||}{{|{{{{{||{}||}||{{{{{{{||||}|{|{{|{|{|{{|{{|||}{z{{|z{z|||}||}{{z{{{zz{{{{||~~~}}|~}}}~}|}}}}~}{{|{{{z{||||||||||{|z{{}|||{||||{{{zz{{{{{|{{|{|z{{{z{y{{{{{|{|{{{{z{yz{{{|z|{|z{{z{{{zz{{{{{{{{zzzzzz{||z|{{{{|z{zzzz|{{|{{||{{z{{{{z{z{z{{z||{{{zzzz{{{{{{{z{z{zzz{zz{{z||{{{zz{z||{z{{{|z{}{{zy{{z{{{{||{|{|{z{{z{z{}{{|{{||{z{{z{{z{{|{|||{{{|{{{{{{|||{||||z|{{{{z{{|{{{{|{{z{|z{{||{{|||{{z{{{{z{||{|||||{{{z{|{{|{{{{{|}{{{{{{{|{{|{|||||{{{{{{z||||||||{{{{{{|{{|||||||{{{{{|{z{|||{|||z{{|{{|{|||{}|||{{|{{{zz||}|||||{|{{||{{{|{|||||{{{zz{{{||||{|||{{{z{{{{{{{}|{|{|{{{|{z{|z{||~~~~~}}}{||}}}{}|||}}||{|{|{|{||{{|||z|{{{{{|{|{|{{|{z|zzzz{||{{||{||{z{{{|{{|zz|z|{{z{{{{{z{{{z{{|{{z{zz{zz{z{{z|z{z{zzz{y{{{{{{|{{zzzz{zzzz|{{{{{z{{{{z{z{z|{z|{|{zzzz{zz{z{{z{{{|yzzzzzy{z{{{{|{{{zzzz{y{zz{{{z|{{{{z{y{z{{{{{||{z{{{{zzz{{{{||{zzz{zzz|z{{{{{{{{{{z{{zz{y{{{{{{{|z{{{zz{{|{{{|{{{zz{z{{zz{||{{z|z{{{z{{{{|{{|{z|{z{zzz{{||{|{}||{{z{z{z{z{}{{|}z|z{{z{{{||{|{|||{{{{z||{z|{|||{|{zz{{{{{|}{||{||{z|{{|{{{{{||||{|{{{{{{|{{|{{||||{{{|{{{{|{|{{z|{{zzzz{z{||||{||zz{{{zz{{{{|{z|{{z{{zzzzz|{{{~~~~~}}|}||}}}||}}}}|{||||{||||||}||||z{{{{{|{|{|{|||z{z{zz{|{|{{||{|{z{zz{z|{|{{{{|{zzzzz{{{{{{{{{{z{yz{z{{{{{|{{{|yz{zzzz{|z{z{|{zz{{{{z{{{|{{z{|{z{zz{{zz{{|{{|{{|{z{{z{{||{z{||{{y{yz{z{|{z{{{{z{{{{{z{{|{{{{|{|{{{zzz{{{{{{{{|{{{z{z{|{{{|{{{{{{{z{z{z{z{{{|z|{{{{|z|{||{{{{{{|{z{z{{z{{|{||{{|{{{{{zz||||{|||{yz|{z{{{{{}|z|{{|{{zz{{{|{|{||}{{{|z{{{||||{{|{{{{{{{|{|{||{}||{|{z{{{|||{|{||||{||{||{|~{|{|||{{||{{||{{{|||{{|{{{{{{{|||||||}|{z{{{z{|{|}||{||{{{z|{{{}{}z{|}z{{{{{{{{|{{{{||{{|{z{z{{{|{}~~~~}}|~|}~}~}~}|~}||{z||||}{{}||||}|{z|z{{{{}|{|{|{{{{{{zz||{|||||{{{zzz{y||{{{{|||{{yz{zy{{{{{{{||{{y{|zz{{{z{{||{z{{zz{{{|{{|{|{{{{z{zz{{{{{{|{|z||{z{zz{{|{{{|{z{{{{{{zz{{{{|{}{{{z{z{zz{{{|{zz{{z{{{{{{|{|}||{{zz{|z{{{||z{|||zz{{z{{{{||{{{{|z{|{{z{{{|{{{{{{{{{{{{{{z|{|{|{{|{|{{{{{{|||{||{{{|z{z{{||||{||{{zz{{{{z{{}{|{||z{{{{|{||{{}|{||||{|{{{||||}||}||{|{{{{{||}|{}}}|{{{{|{{|{|||||||{zz{|{{||||||||{{|{{{{{{|{||||}|{{{{|{{{||{{|||||{{|{{|{||}}|{|{{{z{|z|{|||{|||||{{zzz{|{|{|{||{z{{{{zz||{{{~~~|}}|}}}}|~}}}~~|}}z{|}{||}||}}|||{{{{{z{|{|||||{|{{z|{{|{{{||{{|{|zz{{z{{{|{|{{{z{{{{{{{|{{z{{{{{{zz{z{z{{{{{{z{zzz{z{{{{{|{|{{{z|zz{{z{{|{|{{|{{{{z{zz{{{||z||{z{{{zzz{{{z{{z{{z{zzy{|{{{{{}{{{z{|{{zz{|{{{{}{{{{z|z{{{||{||{|{{z{{z{{{|z||{||{{|{z{z{|{|{{|{|zz|{{z{{{||{|{||{z{{{|{z{||{{|}|{{{{{{{{{{}|{{{|}|||{{{{{|{}||{|{z||{{{{||z|||||{{{|z{{z||||{|||{{{z|||{{|||||~|{{z{{|{{||{|||}|{|{{{{{{{}|{|{|||{|||{{{}{{{{|{|{{|{{{||{{{{|{}|{|||{|{{}{|||}||{{{z|{zz||{|}||}|{{{{{{{||||||{{z{{{{{z{|{|||~}}}|~||}|}}~}}}||{{||{z|{||{}||{|{{{{{|{{|{|||{{{{zz{{z{|}|{{{|{{|{|{{z{{{{||{{|{zzzzyzz{{|{|{{zz|z{z{z{{{{{{{{{zzzzzzz{{{{{|{{{{z{zzy{{{|{|{|||{zz{{zzz{{{{}{|{z{{zzz{{{{{z|{||{{{{{{zz{zz{|{{{{{{z{{z{z|{|{{{|{zz{z{{|||{{|||{z{zzz{||||z{{{|{z{zz{{{{{|||{{{|z{z{{{{{|||||{z{{{zz|{{|{{||{{{|zz{{|{{|{{{{|}{{|{{{{{{{|||{{{|z{{{z{{{|{{|{}|||{{{{{{{|{}|}||||z{{{z|{{||{||}{{{||{{{{{{{||}{}{{{|{{{{|{|||}{|||{|{{{{|{|||}}{|{z||{{{z|{||||}||{{{{z{||||}|||{|{{{{{{{{{{|{}|{{{{zz|{{|||||||{{{zzz{|{{|{{~~~~~}}|}|}}}}||}|}}}}{||}|{|||}{{||{||{|{{{{|}|{}|||{{{zz{{||||{|{|{{{{z{{z{||{{|{{|{{{{{zz|{{{z|{{{{zy{|zz{{{{{z{|{{zz{{zzz{z{{{|{{zz{{{z{{z{{||{||z{{{{zz{|{||{{|{{{{z{{z{{{{||{{{{z{z{zzz{{{||{|{z{{{{zz||{{{{||{{{z{y{{|{{|{|{{{z{z{z|{z|{|{|||{{z{{z{|||{|||{|{{{zzz{{z{{{{{}{{{|{{{zz{||{|{||{{|{z{z{{|{{{|{|{|z{|z{{{|||{|||{{|{z{|{{|{|{|}||{|z{{{{{}|}|||||{zz{z{{|}||}}||{{{{{z{||}{}|||{|{{|{||{{}|}|||}{{|||{{{{||}|}|||zz|{{{{|}|{||||}{{{{|z|||}{{{|||{{{{{zz{||{{}}{||{{{{z{|{{|{{|{{z|{{{{{{|{{{~}~~}}}{||||~||}|}}}{|{||{|{|}{{{}}{{|{|{{|{z|{{|||{{{zz{zz|||{|{{|{{{z{{{z{{|z|{}||{{z|zz{}{|{}{|{zzz{{zz{{{|z|{{{zzzzz{{{z|{{||{{{|{{zz{{{{{{z{|}{z{{{{{{{{{z{{||{{{z{{zzz|{{{{|{{{{zzzzzzz{|{|z{yz|{{zz{{|}{||{{z{{{zz{z{|{{|{{|{{{{zzz{{|z{||||{{{zz{{z||{{|{|}{{zzzz{{{||||{{|{z{{{z{{z{{|{|||{{{{{{|z{|{{{||||||z{{z}|{{|{|}}{{{z{{{{||||||}||{||{{{{{|{|||}||{{|{{{{}}|{|}|}{{{{|{||{{|{|{|||{z|{{{z{}}||||}{{|||{{{|{}|{}||||zz{{{{{|||||}}||{{{|{{||||||||{|{z{{z{{{|{|{|{{||{{{|{|{|||{||{{{zzzz{{{|{z~~}}}}|}|}|}~}}||}}||{{{{{{|||}}|||{|{||{{||||||}||{{yz{{z|||{{||{{{|z{{{y{{{|{{|{{z{{{zz|{{|{||{{{{z{z{{{{z{|||{{{z{z|zzz{|{|{|{{z|z{z{z{{z{{{z|{z{{{{z{z{{|{{{||{z{{{{{{z{{{|||||z{z{{{{{{{{{||{z{{z{z{zzz|{|{{||{z|{{{{{{|{|{||{{{{z{{{||{{{||{{{{{{{z{{}||{{||{{{{{{{{{|{||||{|{{{{z{z|||{{{|||z{{{z{{||{|{{{|{{|{{{z{||||||{|{{|{|{|{{|{}||||{{{{{{z|||}}{||||z{{{{{z|||{||||}|||{z{{|{{}||}|{{{{{|{|||}{||||{{||{{||||}||}|||{|{{{{|||||||}||||{|{{{{}}|}|}||{|{|{{{{{||||||{||z{{{{z|{|{|}|{{{z{zz{{{|}|~}}}|||}|}|}|}}}}||{{{{}{|}||||||{{{{{z{{{{||{{{||{|z{{{z|{{{{|{}{}{{z{{z{{{z{|{{{{zzzzzz|||{{{{{{zzyzz{z{{{{{|{{yz{zz{zzz{{{{||{|{z{zzy{z{|z{{{{{{|{zz{{{{{{{{{{{{{{zz{z{{z|{|{|{|{{zz{z{{||{{{|{{z{|zzz|{{|{|||{|{zzz|z{{{|{{|{|z{{{{|{{z|||{||zzz{zz{z||{{{{||{{{{{z{{||{|{|{|{|{{{{z{|||{{{|{|{{z{zz{||{{{{||{z|z|{{z|{{{{|||{|{zz{|{||{||}||{{{{{{{{|{|{||{z}{{{||{|{||}|{|{{zz{|||{|{|{{||||z{{{|{{{||}||}|}{|{{{|{|}{}{||{|{|{{{|{{|{{||}}|z{{{{{{|{{{||}}{{{{{{z{|{||{|{}|{{|{{{z||{||{|||{{zz{{z{||{{~}~}~~|}}||||~}|}|}}|{|{{|z{{||{|||}{zzy{{{{{|||{{|{{{{{zz|z{|}{{{|{|z{{z|{{{||{{||{{zzz{zzz{z|{{{z}{{{yzz{z{z{{z||{{zzzz{zzz{z{{|zz|zz|zz{z{{{z|{|{{z{{zzzy{{{{{|{z{zz{zz{zz{{{{|{{{z{z{z{{{{{zz|{|zz{z{|zzz|z|{{|{{{z{zz{zz{{{z|{{{{zzz{{{|{|{{|{|{{|{{|{z{|{{{|||{{{|{{{z{|{{z}{|{{z{{z||{||{{{||{{{z{zz{{{{||{{{|zz{z{{{{||{||{{|{{|{{{{|{{}||{{|{{{{z{z{{{||||{||{{{|zz|}{|}|||{{{{{{|{{|{|||||}z{|z||||||{|{}||z{{{{z{z{||{||{||z{{{{|{||{{|}}|{{|{{{||{|{||||||zz|{|{||{{|||{{{{{{|{z{{{}||{|{{|{zy{{{{|{{~~~}~}}{|}{}||}|}}|}|||||{{|{||{{~{||z{|{{{zz{{{||{|}{{{z{{zz{|||{|{|{|{{zz{z|{{{|{{|{z{{z{y{{{|{{{{|{zz{|zzz{z{{{{|||{{{zzz{{|z|{|{{{{zy{zzz{{{{{||{{z{{z{{z{{{{{|{|{{{{{{{z{z{z|{||{{{{zz{{{z{{{|{{{z{{{|zz{{{{z{|{{{{{{z{{{||{|{|{|{{{z{{{{|{|{{z|{{{{|{{{{{|{{|}{z{{zzz{{{||{||{|{|z{{{|{z|{|{{||{z{{{{{{{{{{{{{{|||{{{{{{{{{||||{|{{|{|{||||||||{{||{{{{{|||{{||}{{{|{{{|||{||}||z|z||z{||{|||{}}|{|||{|{}||}|}||{{|{{{{z|{|{|||{z{{{{{||||||||}||{{||||||{|{||||||{{{{z{|{|{|||{|z{{{z{|{{|{|||z||z|z{z|{{|{~~~~~~~|}}||{{}}}|}|}|}{|{||{|{|{|||||{{{{{{{{|||{{}||z|zz{z{{||z|{{||z{z{z{z{{|{z||{{{z{z{{{{{{|{||z{z{{y{z{{{{{|{|{zz{zzyzzz|z{{{{{{zzzz{{z|{{{{||{{{zzzzz{{{||{{|{z{{{zyz{{{{{{z|{{{{{z{{zzz{|||z{{{zzz{zz{|{|{|{|{|z{{{{{{||{{{|{{z|z{z||{z|{||{|{z{{z{{{{{{{{{||z{|{{y{z{||{{{|{{{{{{{{z}|{{||||||z{{|z{|{|{|{|{|{{{|{{{{||||{|{{{{{|{|{|{|{{|||{|{{z|z{{{{}||||{z{{|{{{{{{||{|||{{{{|{{{{{||{}}|{{z||||{||{|||||{||{{{{||{{||||}|{||{z{{|}}||}|{z{{|{||{|{{{{||{{{||{{{|{{{{||||{{{{z{{{{{|{|{|{{{{{z{zz|{|{~~}||}|||}|}|}|}}}|}{|{{{|}{{||||}{{z{{{|z{|{|{{||{{{zz{{{{{||{|||{{{zzz{zz{z{z||||{{z{{{{{|{{z|zzzz{{z|z{{{{|{|{{{{zz{z{z{{{|z{{{{{|{{zz{{||{{|{|{{{{zz{y{||{{{{{{yz{{zzz{|{{{{{|{{{zz{{zz{{z{{|{{{{|z{{z{{{{|{|{{{zz{z{z|{{{{{||{z{{z{{z{{{{||{|z{{|{|{{{z{{|{||{{z{|{{{{|{{||||{{|{{{{{|{||{{|{{z|{{{{z|||{{|}|{{z{z{{{{{||{|{{{{|zz||{||{||||{|{{{{z{{{{|||||}|{{{{z{||}{{||||zz{z|{{z|}|||{{}|{{{{{{z}}|}{~}|{{{||{{{|||||{{||{||{{z{|z|{|||}|{{{{{{|{||{{}||{{{{{z{{||{|||{{|{||{{{z||||{z{||{{{zzz{{|{|{~~~}~|~}|}|~||}}|||}|}{|{||~||{|{|}|{||{{{|z||{{{||{{|z{{{{{||{|{|{{{|{{{{{|{|z{|||{z{z{{{z|||{z{|{{|{zzz{{{{z|{|{{{|{z{zzz{{{{{z||}{z|{{z{{z{z{|{z{{{{{|y{z{z|z{{{{{z{z{zzy{{{{||{{{zzz{{z{}{|{|{|{{{{{|}z{{|{{{|||{z{{zzz{{{{{{|{{{{{zz{{z{|{{{|}{{||{{y{z{{||{{|z|{{|z|{||{{|||{|{{{|{|z|||||{}|{{|{{|{{|{|{|}||{{{{|{{{{{{|||}|z|z{{{{|||{|||||{|{{|{{z{||||||||||{{{||{|{{|{}|{||{{{{|{||{|}{|}{|{{{{{{}|||}}}||{|{||||||||{}||{{{{{{{||||||}}{{{|||{{|{{|}||}|{{{{||{{|||{||||{|z{{{{{}{||{||{{|{{z{{{|{||~~~~}~}}}|}}||~}}||}}}{|{|{|{{}}|||}|||{z|{|z{{|||{||||{{zz{zz{{|{{||{{{z{z{{{z|{{{|||{{{z|{{{{{z{{|{|{zz{zyzzzz||{{|{zz{z{{zz{{|{{{|{z{zzz{zz{{|{||{|{{z{{{{z{z||{{||{z{{{{zz{{|z{z{|z{{z{{{z{|{{||{{{z{||{{{{z{{{{}||{{{{{{{{||{z|{}{{|{zz{zz{{{{|{|{{zz{|{{z{|{{{|{{{||{{{{{{|{{|{||{{z|{{z{|{||{||{|{z{{{z{|z||{{|||{{|z|z{|}}||{{{{z{|{{{||||||||{{{|{{z{{|}|{||}{{{{{z|z||~||||||||{|||{|{||{}||}{|{{{|{|}||}|~||{|{{{||||||}|||}{{{{{{{}|{{}||||||{|{{{|{|||{}|z|{{z{{{{}{||||||{{{{{{z{|||{{|{||{{{z|y{|||{~~~~}|}}}{{}|}}}}~}|~}||{||}z|{|||}|{{{{{|{|z}|}|{||||{{{z{{z{{||{|||z{{{{{{{{|{z{|{|{{{zz{{{{|{{{|{{{{z{z{{z{{{{z{||{z|z{z{{{|{{{{{{{z{{zz{z{z{{|||{{{{z{{z{{{{{{{{|{{{{z{{z{{{{|{{|{{y{{z{y{{{{z{{||{{{|{zz||{|{{||{||{{y{{|{|{{{{{z{{{{{{z|{{{{||{zz{{{{{|{{{{{{|{|||{{{{{|||{{{|||{{{{{{{|{||{|||{{{{|{{{{{{|{||{{{||z{z{|||{|}||||{||{{{|||}||{}||{{{z{{}||z|||{|{{{z{|||{{|}|}}|{{{z{|{|||||}||}{|{z{|{|}|||{|{|{|{{{|{|||||}}}|z{z{{|{|{|||||||{{|}{{}{{{||||||{{{{|{z||||||||{}{{{z{{||}{z||{|{|{zz{z||}{{~|~}}~}~}|||||}}||||}{||{{{z{{|{{{{|{|{{{{{{z{{|z|{{{|{{z{z{zz{{z|{{{|z{{z{z{zz{{{{{{|{zzz{{zz|{{{{|{{{{{zzz{{zz{{|{{{zz|z{z{z{{{{{z||{z{|z{{z{{{{{{{{{{{|zz{z{{{|{{z{z{z{z{{z{{{z{z{|zzz{zz{{y|z{{||{{zz|{zzy{{||{{||{z{{{{{z{||{z{{|z{{z{{{z|{|z{{|{{{{z{{zz|{{{}||{{z{{{{{{{{{|{{{|z{{{{{yzz|{{||{|{{zz|z{{{{|{z{}{{{{z{{{{{|||}||{{{{{{{{z{||}{|}||z{|z{{{|||||||{|zz{|z|{||{z}|~}{{||z|{{|{{|}{}||||{{z|{z|z|{|||{{|{{{|{|{{|{||||z{{{{{{|{{{{|}}|zz{|{{{{|{{||||{{{{z{z{{|||~{||||{|{{{{{{{|{{||{{{{{z{|{|{{{~~~~~~~|}||}|||}}}}||}||{{{{{{}||{{}|||||{|{{{{{{}|||||||{z{|z{{|{{}{}|{{{{z{{{{{{{{}|{{{{zzzz|{{{{{{{||{{{{z{{|{{{||{z{z{{z{{{{{z{{{{z{z{{zz{{{|{||{{{{{{{{zz{{z{{z||{{{{zzz{{|{{{||{||z{{{{{{{{{|{|{{{|{{{z{{{{{||{||{{{z{|z{{{{{||{{{z{{z|z{{{||{{|{{{{|zzz{{|{{|}||{z{{z{{{{{|{|{|{{{z{z{{{}|{{|||{{|{z{{{|{{{{|}||z{{{{{{}|||{||{{{{z{{{|{|{}{||}{|{{{z{z|}}||||||z{|{{{{||||{|}|||{{|||{|{{||||~|{{z|{|{|{|}{||}|{|{{{{|{|||{|{||{{|||{{{|||{{}|||{{{|{|{{|}||||{{|{{{{|{|{|{|}}{{|{{{{z||||||{{|{|z{z{{|{{{|~~~~~~~}}|}|{}|}}||}|||{{|{{}||{|||}|}{z{{zz{{|{||z{z{{z{z{zz{|{||{||{{{{z{{{z{|{{z{{{{z{{{zzzz{|z{|{}{{{zy{{zz{z{z{||zzz{zzz{{{{|||{zzyz{{zz{{{{{{{|{{{zzz{{{z{||{{{{{{{{z{{y{{{{{{{|{z{z{{zz{{z{|{{|{z{|{z{z{{|{{||{{{z{zz{zz|||{|{{{{{zzzzz{|{|{|{|{{{z|{z{{{{||{{{{{{{{{{{{||}{|{{{zz{{{zzz}{|{||{{z{{{{z|{|{{|||{{z{{z{z{{||||}|{{{{{{{|{|{{{}||||{{{z{{{{|{|{||{zy{|{{{|{||||{{}{{z|{{|{|||||||||{|{{|{{||||||{||||{|||{}||}|||{{zz|{|{{z||{}}}}|z{|{{{||||{|||{|{{{{|{{{||{||}|{{z{{{{{||}{||||z{{{|{{z||||{~~~~~~}~|}||||}}|}||}}|{{||{{{|{||{|}{|{{{{z{{{{z|||{|||z{{{{{{{}{|{{}{{{{{z{z||{{z|||{zzzzzz{{z|{{|z{{z{zy{{{{{{{{||{{zz{{y{z{||{|{{||{z{z{{{{z|{{{||{{|{zz{{{{{|{{|{|{z{z{zzzz{{{|{{{{{{z{zz{zzz{{{{{{{z{{y{|{|z{{|zz{zz{z{{{{|{{|}{|z{zz{{{{zzz{|{z{{{{{{{{zz|{|{||||{|{z{z{|}{|{|{{{{{{z{|z{|||{|{{{{{{|z{{|}{{||{{{{{{{|z{{{|}}||{{z{{{z||{{}{}|}{{|||{|y|}{|{|{{|{{{|{|{||{{|||{{|{{{{{||{|||||||{{|{|{|{}}}|}}||{|{{{|{||||{|}|{{z{{{{{{{||{|}|{z{||{{|{|{|}{}||{|z{|{{||{||{}|{{{{{{{{{|{|{|||{{z{{z{{{{{{{~~~~~~}~}}}||}|{|}|}}}||||{|||{|{|||}|||{{|{{{{{{{}|{|||||{{y{{{|{}{{{{|{z{{{z{{{{|||{{z{z{zz{{{z{{{z{{|{{|{z{{{{{z{z{|||zzz{{{{{|{|{{}{zz{z|{{z{z|{}z{{{{{zz{zz{{{{{||{{{{{zzz{{z{z{{|zz{{zzz{{z|zzz}{|{z{z{{zz||{{{|||{{{{{{z{|{|{{{|||z{z{zzzz{z||{|||z|z{z{{{{||{{|{{{{{{{{z||||{|||{{{z{|{{{||{{{|{z{{{{{{{{{||{|{|{{z{{|{z||{|||||{{|{{||{||{{}|}||{|{{{z{{{{|}|||{z|{{{z{|}{{|{||||}{{||{{}{}|{|||{{||{|z|}|{}|}||{||{|{{|||}||}||{{{|{{{||||||}|{{{}|z{{|||||{{|{{{{{{{{||||||}|{{{{|{{}{|||{{|}|{|{{z{{|{|{{~~}}|~~~~}}~}~}|||||{||}|}}|}}{{{|||{{{|||{|||{z{{|{|{{|||{|{|y{{z{zz{{|{{|{|z{|{z{{z{{{{{{{|{y{yz{zzzz{z{|{z{yz{zz{{{{{zz{||zz{{zy{zzzzzz{{{{{z{zzzz{z|{||{{zz{{z{zz{|z{{z{{{z{yyz{z{{z{{zz{{z{z{zz{{|{z{||{{{zzz{zzz{{zz|||{{z{{{{{{|{z|||{{z{z{z{{{}|{{}z|{z{z{{{{{{{{{{|zz{{{{z|zz{{{{{|{z{{{zz{z{||{z||{{{{{zz{{{{||{{||{{{{{|{z||{||{}|{{z{{z{{||{||||||{|z|{z{{{{|||{||z{{|{{z|{}{||}||z{{{{{|{{|{||}|}{||{|{||}{||||||{|{|{{{{||||{|||{{{|{|{|{|{z{||{{{{|{{||||}{||}||{{{{{{{|||z{}|{{z|{{{{{}}}|||{|{{z{z{{|{|{|~~~~}~~~~~~}|}{{}||}}|}}}}|}|{{{{{{|{{|{||||{|{{{{{{{{{{{||{{z{z{{{{{|||||{{{z{zzz{{{{{z||{|{{{zzzz{{|{|{{{{z{zz|z{{{{z{|{{{z{zzz{z{{{{|{{{zz{zz{zz{{z{z{|{{{{zzz{z{{{|{{|{{{z{zz{zz{z|{z|zz{zz{{z{z{{{{|||z|{{{{{z{{z{{{||{{{z{{{zz{{|{{{|zzzz{{{{zz{{|{{|{{{{{{zz|{|{||||{{{{{z{zz{{{|{{}z{|{{{{z|{z|||}|{{{{{z{{{|{{{{{||{{{{{{{{||}{||{{{|{z{{{{||{||||{z{|{{{{{{|||||{|{{{{{{{||{}|||{{z{{{{||{{{||}{||z{{{|{|{||{|||||{{|{{z||{|||||{|z{{|{{{{|||{||}{{{{{z{{}|||{|{{|{z{{{|{{||{||{|{{{{z{z{{|||{|{{{|{{|{{{z|||{~~}~~~~}~~|||}|}|{}~}}}}|~}{{{{|{{|||||||||{|{{z{|{{||{{{||{{{{zzz{{z|{||}{{{{{zzz|{|{z||{{z|{{{zz{{|z{{{{{{|z{{z{|{{{{{||{z{z{zz{{{{{||||zz|{{{z{z{||||{|{|{{z{zz{{|z{|{{{z{{{z|{{{{{|{{{{z{zzz{|{||||||{{z{{z{{z{{||{|{||{{{{z{{|{||||||z{|z{z{{|{{|||||{{|{{{z{{{|{{{||{{{{{z{z{}|||||}{{{{{{{{{|||{{|{{z||{z{{||{{{}||{|||{|{{||||}}|||{{{{{|{{}|{|||{{{{{{zz{{{{}||{{|{|||{{{}{|{|}||{|z|{z|{{||{}}|}}|{|{{|{|}|}}||||||{{{{{||||}|||||{|{{|{|||||||{|{{{{||{|||}|||||{{{|{{{||||{}}|||z{{{|{|||{|||~|||{{{{{|||{{~}~~~~}~}~}~}|}|||||}}|||}}{|{||||{|{||}|}{|{}{{{|{|{||{||}|{{{z{{z|{|{|{||{{{{{{{z{|{{|||{|{{z{z{z{{z|||{|{{{zz{{{{|{{{}}|z{{{{|{z{{||{{{|zz{z{{z{||{{{{|||{{{{{{z{{{{|{||{{{{|{{{|{|{{|||{{{{z{{{{|{{{|||z{{z{{z{{|{{||}{zz{|z{{z{|{|||z||{{|{z|{{{{{|{{|{{|{z{{{{{{{||{{{{|{{{{z{||||}|{{{{{{z{{|{}{{||}|{z{|{{|||||{{{}||{{{{{{||||||{|{||{{z|||}{}|}|||{{{||zz|}||||||{{{||{{{|}{||}}}{|{{{{|{|{{{}||||{{|{|{{|}|}}|}|{{|{|z|{||}||}|||{{{|{{{|{{}|}|||{{{||{{{|||||||{||{{{{{{{{{}||{|{|{{{{|{{||{|{{|{}z|{{z|}|{{~}~~~||~~~~}}~|}}||{|||||}{||}{|{{{|{{||{||||||{||{{{{{||}|{||{|{z{{{z{|||{|z|{z{{{zzz{||{z||||{zzz{{yz||{|{|{{{{{z{{{{z{{z{{{{{{zy{{{{z{|{||{|{zyzzyz{|{{{{{z{z{{zz{{{{{{{||{{zzzzzzz||{{{|{{{{zzz{{{{{z{||{|{z{z{{{{{{{{{||{{z{zz{{{{|z{|{|||{{{zz||z{||{|||z{{{{z{z{{{{{|||{{|{{z{z{{{{{|}|{{{{{{{{||{{z||{{z{{|z{{}{{||{||{{{z{zz{||||{|}|{|{{|{z{{||||}|||{{{{z{{|{||||}}|{{|{{{{||{{{|}|{}||{{|{||{{|||}{{{{|{{{|}||{|}||{z|{||{|||||}}{{|{|{||{||{||}|||}{{|{|||{|{}|||{z||{{{|{|{||{||{{zz{|{{{|||{||{{z{{z{y{z{}{z}~~}~~~}~~~|~~~}|{||{{||}}|}}|}|||{|||{|{|{|||}{{{{{{z|{{|{||||{{{zz{|{|{|||{{{|{{{{{{z{{|z|{{{{z|zz{z{|{{z{||{{{{{z{{z{||}{{{{{zz{{z{{{{{|{{{{|{{{{{yz{{{{|{||z{{{{zz{|{{{z{{||{z{|{{y{{{{{{{{{|{y{{{z{|{{{|{{{{z{z|{z|{{|{z|||{z{|{{{|{{{{|{|{{}z{{{{{{|||{}|z|{{{{|z{{|{|{|{{{{z{{{zz|}{|}|{{z{z{{{{{||{|}|{|{{|{z{{{{{|||{||z{|{{{|||||||||{z{{{{|{{|{||}}|zz{{{|{{{|||{{||{z|{|||z|||||}|||{|||}|{|{|{{|}||{{z{{{{{}|}}}}}|{||z{{||||{|{||}{|{{|{{||{|||{}|{|z{|{{{z|}{||}||z{{{{{|||||||||{z{{{{{||{|{||||z{{{{{{{{|||~~~}}|}~~}}}}|}|}{|}|}~|}}|||}{|z{}{|||||}|}|}{z{{{z{{{{||{{||{|{|{{|{|{|{|||{{|{z{{z{{{|{{{||{z{{{z{{{{{zz{{z{z{zz{zz{{|z{{z|{z{y{{zz{|||{{|{{{{{{{zz{z{{|||{{z|zy{{z{{z{|{{{{zz{zzzz{{{{z{{{|z{z{{yz{|z{{}{{{{{{z{{zz|{|{{|{zzzz{zz|z|{z||}||{{z{zz{|{{{{|z{{{{{z{z{{|{||||{{|{{{{{{{|{{{|{|{z{{{{zz{{|{{|||{z{{{zz{|||{{|}}|{|{{{{{||}}|||}{z{||{{{||{|{}}}}{{z{{{{{|||||{|{{{{|{{{||||||}|{|{{||||||{|||{||{{z{|{{|||||||||||{zz{{||{|{|||{{{{{{|{||{|{{|}|||{|{z||{||{||||{{{{{{{|||z{||||{{|{{|{{{||{|||{{{{{z{{{|||{~~~~}}~~}|}}~}~||{||{|{}|||}|}}}{|{||z|||}z|{|{{{}{z{z||{||{||||{{z{{{z{{{|{{{|{zzz{{{z{{{z|{{{{|{z|{z{{{{{{{{|z{zy|{z|z{z{{||{z{{{y{z{z{||||{{{|zzz|z{{{{{|||{zzzzz{{{{{|{|||{zz{{{z{z{{z{{{||{zyzz{{z{|{|{|{{{{{{z{{{{{|{{{|||{|{{z{{{{{{||{|{z{z{z{{|{|{|}{}zz|z{{{z|||{{||{{|{{{zzz{{||||{||{z{z|z{{||{{{}|{zzz|{{|||{||{|{z{{{|z{{{|||{|||z{{{|{{{|{||}{|}|zz{{{{{{}|||{|||{{{|{{z||||}|}|{z{{{|{||}|||}|{{{|{{{z{{}|}||}|{z||{|{|}|||{|}|{{|z|{|{||}||}}}{|{||{{{||{{}|||{|{{{z|{{||{|{|{|{z{{{{{{{}||{|||{{z{{zz{{|{|~}~}}~}|~}}}}}}|||{|{|{||}|}}|}||{|{z|{}{z|{}{|{z{|z{|{|{z{|{{{{{{z{{|z{{||z{|{{z{zzz{{{{|{{||z{{{zzzzz{{{{|{{{{{{zz{z{|{|{{{{{{zz{{z{zz{{{{{{{|y{zzzz{{{|{|{{|{z{{z{{z{z{{{{}|{zzzzz{z{{z{{{{{z{z{{z{z{{z|{{|{z{{zz{{{{{{|}|{|z{{zzz{z{{|{|{|{{{zz{z{z{z{{{zz{{{{zz{zz{|{{{|{|{|z{|z|y{|z{{{{{{||z|z{{||{{||~{{z{{{{{{{|{{{|||{{{{{{|z|{||{||{{{{z{z{{{{z|{|||{{|{{{zy|{||{|{||{{{z|{{|{|{|||||{{{{{|{||{||}||{{{{|{{{{|||||||||{{{{{|{{}{{||||{z{{{{|{|{||||{{|{{{{{{{{||{|{||||{z{{z{|{|{||}z{z{{{{{{|||{||{{|{zzz{{{z{|{~|}~}}}}~~||}}|||{{}{{{}|||||}||{zz{|{{{{|{|{}||z|{{zz{||{|{{{{|{{z{z{{{{z{{{{|z{z{z{{z{|{z{||z{{{z{zzz{{|{z{{z{z{zz{{{z{{{z|{||z{zzz{{z{{{z{|{{{{{zzyz{{{{|{{|{z{zzzzyz|{{{{|{zz{{z{zzz{{{{z|zz{|z{z{{{z{|{{|{{{{|{|{zz{{}{||{zzzz{z{|{{{{{|{{{z{{{z||{{{{|{||{{{yzzz{{{|{{|||{z|z|zzz{z{{|{{{{{z{{{z{|||z{{{{{{{{{{{{z{{{|{||{|{{|{zz{||{|||||{{{{{{{|{{{{{{|{{{{{zz{||{||||||z{{z{|{||{{}{||{{{{{|{{{||{||||{{{{{{{{{|||||}||z||{{{{{{|{}||{|{{{{{{|{|{|||||||{{{{{{|||{||{{{z{{z{zz||{|{}|{{zz{{{z{{|{{{{{{{z{{z{z{{{{{z~~~}~}}}}|}~}}}}}|{}|z{||||}}}}|||{||{}{||{|{||||{{{{{{z|{{|}{|||z{{zz{zzz|}{{|{||{zzz{zz{{z{{{{{{z{z{zz{{z{z{{|{{{zzz{zz{{z{{{{|{y{zzz{z{{|z{|}|yz{{{{zz{{{{|{{|{z{zy{z{z{{z{|{{{{z{zzzz{{{z{{{|{|z{{z{{z{{{{|{{{z{z{{{z|{{|{{{{zzz{{zzz|{||{{{{z{zz{z{z{zz{{{|{{zz{{{{z{|{{{{|{{{{{{z{z{|{{{|{{|z{{yz{z||||{{||{zz{{{z{||{{{{|||{z{{z|{{}|||{|{{{{|{{{{{{{|{{|||{z|{{|{{||||||||{{{|z{{||{|||}}|z|{z{||{|||||||||{{|{{{{||}|{||z|{|y|z{||}||{||{{{{{{{{|{{|{||||{{{|||{||||||{}{{|{|{{{{||{|{{|{||{{{z|{{|{{}{|{{{z|{{z||{|{~~~}~~}}}}}~}~~~~|}||}|{|}{|||||}||{{{{z{{||{|z|{{{{z{{||{||{{{{||{zzzzzz||}{{|{}{|{{z|{z|||{{|{|{{{{zz{z{||{{|||zz{z{{{z{{z}{|{|{{{z{{|z{{{{z||||{{|z{{{{{{{}|{|z||{zzzz{{{{|{|{{{z{{z{zz{|z{{{|{{|{z{{{z{z{||{z{{zz{{{z|{|||||{{{{{{zzy|{{{||||z{z{{{{{||||||||{{{zz{|{{||{{{}{|z|{{z{{z{|{||||{{{|{{zz|||{{|||{{{{{{|{{|{{{{|{|{{{|{|{{||||||{{|{{{{{||||||||}|{|{{{{{{||{||}{|z|{|{|{|||z{||}{||{{{{{|{||}}||}|{{{{{{{}||||{{|{{{||||||}|||||||z{||{||||{|}|||{{|||{|{{|{||}}{{{{z|{{{|||||||{||{{{{{{~|}{|}{{{{{{{{{|||{{~}~~~}{}}}}}~|~}}}||||}{{|}|||}{||}|z|{{{||{{{|||{|{{{z|z{{||}||{|{|y{|{{{{{||{{}zz{z{{{{{{{{z{|z{{{zz{z{|z||z{{{{|{z{{{{{{z{{{{{zz{z{z{z{z{{z{|{{{yzzz{z{z|{{|{|{{{{y{z{{|||||{|{zzz{z{z{|{z{{{{|{{zz{{z{|{{{|||{{{{{{zz{{{{{{{|{z{z{z|{{{|{{{z|{{{{{z{{|{{|{||{{{{z|{{z{||{z{|||{{|{{|{{||{||{|{{|{{zzz{|{|{{||{{{{{z{{|{||{{||{{{{{{{z{|||||}|{|z{|{{{|{{{||{|{{{|z{{{|{||{}|||{{{{{{{z}|{|||||{|{||z{|{||{}|||z{{|{{{{|}|||}|{|{{|{{z}}|}|}|{|{{{|{{|{{{{||||{{{{z{{{{{{||}||{{zz{{{{{{{|{|||{{{zz{zz|{|||||{z{{{{{{{{{{|{~}}|}}}}}}~}~}|~}}{|||z{{||{||}}}|||{{zz{|||{|z{|{{|{{{{z{|||{{|}|z{{z{{z|{{|{|{{z{{{{{{z|{|{{{|{|{{{z{{z|{|{z{{{{{zzzz{|{{{{z{{|{zzzz{{y|{{{{{{||zz{zzyz{z{{{{{|zzz{z|{{|{{||{{{|{{z{z{z{{{{z{{||{{|{{{{z|{{{{{{{zz{z|z{z||{{{{{{{zy{z|{{{}z{||{{{z{zz{{{{|{||||{{{{|{{z{{{z|{|{{{{z{y{{{{||{||||z{{{y{z|{|{|{{z|{zz|{z|||{{{{|{|{{{{{|z||||||||{{|z{{|{{|||{|}||z{||{{{{{|{||||{{|||{{|||||{|{||z{{{|{{|{|{||{|}{{{{|{|{}{|||||}{|{{{{{{{}{{||{|{z{{{||{|||||}||{{{{z|{|||||||{{{|zz{|{{|{||||||{|{{{zzz|}|{|{|{{z{{z{{{{|{{~~~}}}}}~}|}}}}}~|{|||{|{|{}|||}}|||{z{{|z||{{}{|}{{{|zz{{{|{||{{{{zz{{{{{{{|{|{|{zz{z{zz{{|{{|{|{{z{z{|z{z{|{z{{|z{{yzz{{{{z{{{{{zzzzzz{{z{{{{|||{|{zzzyz{{{|{|{{{{{{z{zz{{{{z{|{{zzz{{zzzzzz{|||zzzzzzzzz|{z{|{{{{|{{{{z{{{{{{{|{{zz|yz||{{{|{{{{z{zzzzzzz{{{|{}z{|{{z{z{{{{|{{|{z{z{{zz{|{{z{{{{{{|{zz{{{||{{|{{zz||{{{{{{{|||{{z{{z{{{{|||||||{{{{z{{{||||||||{z{{|{z|||||{||{|{{{{{{||}{||||||{|{{{||||{|}||}|z{z|||{{}}|{}~||{||{{{{|||}|}|||z{{{{{|{{{|||{||{{z|z{{}{|}{|||{zz{{|{z||{||||||{z{z{|{{{{{{|||{{z{{{{z{||{{~}||}}|}}{|}~~}}{||{|}|{{||||||{|}}|{|{{{{{{}|{{|{{|{{{{{{z|{|{|{|||{zz{z{}{{|{{||{{|{{{{{{{{{{{}|{zz{z{zz{{{|z{{{{{{z{zzz{{zz{{{|{zz{{{zz{{{{|{{{{z{z{{{{{{{{|{{{{{{{zzzz{||{{{{||z{zzzz{z|{{{{{|z{{y{{zyz|z{{{||zz{{{|{z{|{{|{|{{z|{zzz{|{{{{|||{z{{{{{{{{{{|{||{{{zz{zy{|{|}|{|{{{z{zz{{|||||{|{z{||z{z||{||{|{|z{|z{zz|{||z{||z{{{{|{{{||}||||{{{{|{||{{{||||}{|z|{{{{{||{{||{|{{{{{z{{|||}}||{|{{z|}|{}|||}|||z{{{|{z{}|}||||{{||{|{{{||{{}}{||{{{{{{|{||}|||{|{{{z{{||{||}|{|z{z{{z{||}||||||{{z{|{{||{|{{||{z{|z{z{|||{|}~}}|}|||||~|}}|}||{{{|{{z{|}||}{||{||{{{{}|{|{|||{{|{{zz{|z{|{{{|{{zz{z{{{z||{{z|{zz{z{{{|{zz{||{{{zzyzz{z{|z{}|{{zzz{zz{z{{{|{|{zz|z{zzz{{|{{{|zz{{z{zz{{{{zz{|zyz{{zz{zz|z{{||{z{z{{y{z{{z{{{|}z{{{zz{{z{{{|||zzz{z{{zz{{|{{{|{{zz{{zz{{{{{{{{|{{{yzzzz{{{{{{{|z}zzzz{||{{|{|{{{{{z{z{zz{{{{{||z{{{z{{{{|{|{{||{zz{{z{z{|z{{{{{|{{{{{z{{|{|{||{z{|{z{{{{{{|{|||{{{|{zzz||||{z||{{|{{{{{||{|{}}|{{{z{z||{{{|{|}||{{|{{z{||||{|||{{{{{{{{|{||{||||zz{{z{{|{|||{||{{z{|{|{||||{||{{{{z|{|z{|{|||||z{z{|zz{{{|{}||{zz{{zzzz|||{|}~|||||||~||}}|}}|}{|{{{{|z||||{|{||{{z{{{{{{{{{||z|{{z{{zz{{|{|{}}{{{{{yzy{||{{{{{{zzz{zzzz|{{{{{{{y{zzyzzzz{z{{{zzzzz{yzzz{{{{{{|zyzz{{z{{{{z{z{{{{{zzzzzzz|z||{{z{{{zzzz{{|{{{{{{z{zyy{zz{{{z{{{{zzzy{zyzz{zz{|{{zy{z{yz{{{|||{{z{{zzy{{z|{{{||{{z{{zyzz{{{{{|{|{{{z{z{z{{|{{{{{z{zz|zzz{{||||{{{z{y{zzz{{{{{{|{{{{{z{{{{{{z{{{{{y{z{{z{z|||}{{||{|z{z{{{}{{{}}}{{z{{y||{|{{|{|||{{z{{{z||{{{||{{{}{|{z{{|}||||{{zz|z{z{||{|}{||{{||{{{{|{|{|||{{{{|{{{|{{{{||{||{{{|{{{{{{||{|{{z{{{{{{}{{||{}|{zzz{{{{{|||z||{{z{zz{{z{|{{z}||||~|{||z{|||{}}}|{|z{{{{|{||{|{}{{{{{{z{{{|{{{|{|z{{zz{z{{{|{{||{{{zzzzz{z{|zz{{z{{z{y{z{{{{zzz{{zzzzzz{{{z{{{{yz{yzzzzz{{{{{{{{{{{zzzzz{{{z{{{z{{zzzz{{y{{{{{z{z{{{zzzz{{|{|{{|{zyzz{{z{{{yzz{{zzzzy{zzzz|z{{|{z{zz{zzyz{{{z||{z{z{zzzz{{{zzz||{zzzzy{zz{|||{z|{{{zz{{z{{{z||{z{zz{{yz{z{|{{{||zz{z{{{{{||{{{{z{{{{{{{|{{|{zz{{{{{z|z{{z{{{|{{{{zzz{z|z{{||{{{|{z{{{{{z|||{||{{{z{{{z{{}{|{{|{{|{{{z{{{{|{{{|{||{{{{{{z|}{|||}|{{{||z{|}||}|{|{|{zz|{||{{|{{|||{{||{{z{{{{|{{|||{|{{{{y{{z{z||{{{{{{|{z{|{{{|{{z{{z|zz{{z{|{|~~|}}}||{{{~}|}|}|{||z{{z{{||{{{{|{zzz|{{{{|{{{|||{z{zzzz{{||{{{|{|{zzzzzz{{z|{{{|zz{zzzzz{{zzz{|zz{{yz{{zy{|{{{{{yzz{zzy{|{{{{z{{zy{zz{zz{{{z{{{{{yy{zzz{{z{{|{{{z{zzzzz{{{|{{z{|zzzzzyzzzz{y{{zzz{z{yzzzz{z{{{{z{z{zz{zz{z{{{|{{{zzy{zz{{{{z{{{zz{zzzz{z{z{z{|{{z|zzz{z{z{{z{{{|{z{{zz{z{|{z{{{zz{zz{zz{{|{{{{|{{zz{zzzzz||{{z{z{{{zzz|{||||{{|{{{zz{z{{{{{{{|{|{|z{{{{z{{{{|||{|zz{{{{z||{|||{{{{{|{{z|{{{{{||||{{zz{{{{|{||||}{{{{{{{{{{{{{|{z{z{{{z{{{||{{z||{||{{{{{{||||{||{{{{z{z{z{z|{{|{|{y|{z{{|{{|{{|{zzyzz{{zz|{{z}||}}|}||}|}}||{{||z{z{{{{{|||||{{||z{{z|z{{|{{|}||{{{|zzzz{{|||{|{{{{z{z{zz{{{{|{||z{zz{z{{{}z{|{{{zzzz{{z{z{{{{z{{|zzzy{{{zz{{{|{zz{{{zzzz{{zz{z{{{{zzzyzzz{{{z{{{{|zyzzz{{{{{{z{yzz{zzzyz{z{z{{z{{zzzz{z{{{{z{{z{z{z{zzz|{{{{{|{{zzz{z{z{{{{z{||{z{y{z{z||z{z{{|z{{{{z{{z{{||{|{{zz{{z{z{|||{|{z{{{{|z{z{|{{{|||{z{{zzzz|z|zz||{{{{{{{|{||{||}{{{{}{|{|{|{{|||{||z{|{{zz|{||{{{||{{{{{{{{{|||||{{{{{{|z|{||{|||||{{|{{{z{|||z{|{|z{{zz{{{{{{||}|{{{{{yzz{{||||||{{z{{z{{|{{||{|}{zzz{z{{|{{||{||{{y{z|{z||z{{{{{zz{{zzz{{{{z{~}}}}||||{|}}}|||||}|z{{{{||{{|z||||{y{{{|{{{||||{|{{{{|{{{{|{{z{|{{{z{zz{zzz{|zz||{z{zzz{{{zy{{z|{{zzz{zy{{{|{z||{zzzyz{zy{z{{{z{{zyz{{zzzz{{z{zz{z{zzy{y{{|{{{z{{z{zzzzzz{{{|{{{|{yzzyz{z{{{|{{zz{zz{z{z{z{{{{z{zzyzy|zzz{{{zz||{{yzz|z{|{{{z{{|{{zz{z{zz{zz{{{{{{{zzzzz{{z{|{{|{{{{{{{{z{{|{||{{{z{z{{zz{{|{{{{z{zz{|{z{{{|{{||{{{{z{{z{{||{}|{{{{{|{{{{{{{{|||}{z|{|zz{{{|{|{{{|{z|z{{{||{{|{{{{{{{{{{{{{{{|{}|||{z{{{|{||{{||||z{|{{|{|||{{||{|z{{|{{{{|{{{{{{|{|{|z{{{}{}{{||{{{{{{z{{{|}{|{|{{{z{z|z{|{|{{}{{{{{{{{{{{{{z~~}}}||}|}|{}}|}{|}||{{{{{{|{{|||}}{{{z{z{{|||{||{|{|{z{z{|{|{||{|}||z{zz{z{z{{z|{|z{{{{zz{z{{{{{{|{yzz{{zz{|{z{{z{{{zz{{zy{{{{{{{zzz{z{zzzz|z{{{{z}{{zzzy{||{z{|||{z|{zz{y{|{z{{{}{{{{{z{zz{{{z{{|{{zz{zzyz{{z{{{{z{{z{z{z{{{{{||{{z{z{z{z{|z{{{{{z{{z{z{{{{{{{{|{{{{{{z|z{|z{{{{{{{{zzz{z{||{{{{z{{z{{{{z{z|{{||{{{{{{zzz{|{z{|{|{{{{{{{{{{{|||||{{{{|{{z||{|{|||{zz|{z{|{|{}||{{|{|{|zz}||{|{||{{{|{{{{{|}|{|||||{|{{{{{{||{||}|{{z{z{{{|||||||{|z{{z{{z{{{{|||{|{{|{{zz|||{{|||{{{z{{{{{|{|{{{}{{zz{||z{|||{|{|{z|{zzzz{{{|z}||}|{}|}{{|}}|}}|}||||{|{{{|||}||{||{zz{z{|z{{|}{{}zz{z{{{{{||{|||{{zz{z{z||z|{{{{{{|z{{zz{|{{|{{{{{{z{{zzy{{|{{{{zzzzzzzzz{z{zz{{{{{{zz{z{|{{{{{z{zz{{{z{{{{{z|||zzz{zzyz{{z|{{|{{z{{{{{zz{{{z{|z|z{zzzz{z|{{{{z|zz{z{{yz{{|z{{||{{{zzzzz{{{||{{|{z{{{{{z|{|{{||{{{{z{z{z{{{{{{{{|{z{|{zz||{{{{{{|{{z{zzz{||z{{{{{zz{{z{{{{|{{{{{{{zz|z{{{{{||}||{{{{{z|{|{{|{||}{z{{z{z{||{{{{|||zz{z{||{}||||{|{|{{{{{{{{|||||||{|{{z|{z}||}|}|{{{|{{|{{|{{{||{{{|{{{{{{|{{|||{{{{|z|{{|||}{|{|{{{{|z{z{{{|{{|||z{{{z{{|||{{{{{z{{zzz{{z{|{{}}}|{z{|||||||{}}{||{{{{z{{{}|||{}|{{{{{|{{{{{{|{|||zz{{zz{{{|{z{{|{{{{z{{z{|{|{|{{|zzz{z{zzz{{{|{|zz{{zzzz{{{z{{{{{zz{zzyz{{|z{{{|{z{zzzyz{{|{{{{zzz{{{{zy{{|z||{|{|{z{z{z{zz|{{{{{{{zzzzzzy{z{||{{{zz{zz{z{{{{{{{{{{zzz{z{{{{{{{{{zzz{z{z{{{z{{|{{{|z{z{z{{z{{|{|z{{{{zz{||{z{{{{z{{z{zzz{{|{||z{{|{y{{yy{{||z||zz{{{{{{z{|zz{{{{z{z{{{|{{||{|{|||{z{{z|z{|{|{{||{zz|z{z{||{z{|{||{{{{{z{{||{{}|{|{|{{{{{{{{|{}{{|z{|{|{z||{{|||||{{{{z{{|{|{|||{{|{{||z{{{{|||||{{|{{{z{{|||z|{|{{{z{zz{|||{{{{|{{{z{{{|{|{{{||{{z{{{{zzz{{z{|}||{}{||{||}}{{||}|{|{z{|{{||{||||}|{z{{zz|{{{||}||z{zzzz{|{||zz|{{{|zzz{y{{z{z{{zzzz{{zzzy|zzz{{|zz{z|{zz{{{{zz{{z{{z{{zz{zz{{|{{{z{zzzzyz|{{{{||{zzzzzz{z{|{|{{|{z{{z{zz{|{z{{}z{z{z{zyzzz{z{z{{{z{|z{{zz{{zz{zzz{zy{{zzz{{|{|{{{z{{z{zz{{{{{{||{zz{zyzz{{{{z{z{{zzzzz{{zz{|{||{z{{z{zz{{{|{{|{{z{{zzzzz{||{{||{{zzz{{{z|}{{|||{{{zz{{z{{|||{|{{z{{z{{{||{{||||}{z|{|z{z|||{|{|||{{{z{zz||{{}|||{|{z{{|{{|||{{|||{{{{{{{{}||||}|{z{{|{{{{}||}|}|{{{{{{z{{{|{{{||{|{{{{{{|{{||{||{{{z{{z{|{{{|{||z{{z{{{z{{|{{{|{{{{zy{{{{{|{{}|}|||||{|z||}|||{||{{{|z}{{{|{||||{{{z{{{{|z{{{{||{z{{z{z{zz{{zz{{{{|{zzzz{{z{zzz{{|{{zz{zz{z{{{||{zz{zyzzz{{{{{{|z{zz{zzz{z{z{{{{{zz{{z{z{|zz{{{{{{zzzz{y||{{|z||{{zzzzzzz{{|z||{y{zz{yz{{{||z{{{{zzyzyz{z{{{z|{|zzz{{z{zz{{{|z{|z{{|{z{{{|z{{{{||zz{z{{{{{|{{{{{z{z{{{zz{z{{|z{||z{{zz{z{{{{{|z{{zz|{{{{z{|{{{|||zz|{z{z{{|z{|{{{zz{{{{{{{{|{||{z{{{|y|||{{z||||{{{|{{{zz{{||{|{{z{z|{z{{|{|{|||{z{|{|{{{|{{|}|||{{{z{{{{||||}|{|z{{|{z{||||||||{z{{{|{|{{{|||{|{{{{{{z{||{|||||{{{z{|{z{{{z{{{|{{{{{{{{z|{}{{{{{z|y{z{z{{|{||}||||z|{{{{|{|||{|||{|{{{{{|{{{||{{{{{{{{{|zzz|}{|{{{z{{yzz{z{|{{{z{{zz{zz{{{{{{{{{z{z{{z{{{{z||{{z{zyzzyz{z{{zz{{{y{yy{zz{y{{{|{zzzzyzzzz{{|{z{|zzzyzz{z{{|{{{{{{{zzzz{zz{{z{{{|{zz{zzzzyz{z{{z{{{{{z{yz{z|{z{{z{zz|z{z{zz{{|{z{|{zz{zz{yz{|z{{z{{z{zzz{{z{{{zz{|{zz{zyz{{{{{{{{{zz{{{zzy{|{{|||{{z{{zzzz{|||{||{{{z{{z{{{{{z|z{{{{{{{{{{{|{{||{|z{zzz{{{|{{{{{}{|{{{zz{{|||||{|{|{|{{zz{||{|}{z|zz|z{{{{||{|{|}{}{z{z{{zz||{{{||{{|{{{{{{{||||{||{z{z{{z{|{z{{||{{z{{zz{{{|||{{|{zzz{{{|{{{{{|{|z|z{zz{zz|{{{z{{{z{yz{zz{{{|{|||}|{||{|{{}{||||{||{{|{{{|{|{{}{{|{{{{{y{}|{{|||{{{|zz{{{z{{z{{||{zzzz{|z||{{{|{{{{{zz{zzzz|z{z{{{z{{z{{z{{|{z{{{z{zzzyzzz{{|{{{{zzz{{zzz{{{{{{|{zzz{z{zz{|z{{{{{{{z{zzzzz{||zz||zzz{zy{yz{{{{|{{|{yz{zzzz{z{z{|{zzzzz{{z{{{|z}|{|z{z{{zz{z{z{||{zz|z{z{z{{{{z{{|zzzy{{{{{|{z|{|{z{zzzz{{z{||||{|zzz{z{y{z{{|{{|{{{{zzz|zz|{{{{{{{zz{{{zz||{}||{|z{{{|{{{||||||||||{{{yz{|||{{{||||z{{{{z|{z||||{z{||{{|{{|{{{||{{z{z{{{{|}{}|{||{{{{{z{{|{|{{||{{z{{z{zz|{z||||}{{zz|{{{{{{{|||}{{zz{{{{{||||||{|{{|z{{z{{{|{{|z{{{z{zy{{{|z{}||||}{|{{{|||||||||{|{{yz{{||||||||{|z{{{z||z||||{{{{z{{z{{{z{{||{{z|z{zzz{{{z{|{|zzzz{{|{z{{zz{{z{z{z{{zyy{{{{{{|{z{zzzz{{zz|{{{|{z{{{zzy{{{{z{|{zzz{{{{z{{{||{|{{y|{y{{zz{z|z{{{{{zz{{zz{z{z{z{{y{zyzzzz{{z|{|{{zy{{{{{z{{|{{{{{{{zz{zzz{{{{z|||{yz{{{{z{{z{z{|{{{zzzz{z{{{||||{{z{{{{{{{{||{{|{z{{{|{z{|||{{||{zz{{z{z{{{{{{{|{{z{z{{{{{{{|{|}{{{|}{z{z||{|{|{||{{{|zz{||{|||{{||{}{{{{{|{||||{{{{{{|{|||{{|{{{|{z|{{{{{~z{{{|{|{{{{z{|{{||||{{|{z{{{z{{{{{{||}{{|z{{{||{|{||{|{{{{{{{{{|{{{{||{|z|zz{{z{{z{{|{{{{{{{{{z{{|{|}}{|}{|z{||{}|{}||{|{{{z{|||{{{||}|{{z{{{{|{|{{|}{{{z{{zzz{{|{z{{{{{{zzzzy{{{||{{{{z{z{{{zz{{{{|{||{zz{z{z{{z{{{{{{z{zz{zz{{{{{{{|{{{z{zzz||{{{{|{{z{z{zzz{{|z{{{zz{{{zyzy{{|{z{{{{{zz{zzzzz{{{z{{zz{z{{z{{{z{{{{{zzzzz{zzz|{{z{|{{zy{yzz{{{{z{{||{zzz{zz{{z{{{|z|{zzzzz{z{{{|{|{|{z{{zzz{{{{{||{|{{{z{zzzz{|{{||{|{z|{{z{{{|||{{{{{zz{{z{||{}|{|{{|{{|{{{|z||{|{}{{z{{{z{{|{{|{|{|zz{{{{{{||||{}|{{{{||{{{{|{}||{|{|{{|{{{}|{{|||{{|{{{{{|{|||{{{|{zz{{yz{{|{|{{}|{{{|{{{|||{{||}{{{{z{z{{{{|{{|||{{{{{{z{}}{z|||{zz{{{{{z{{|{|}||||{}|}{||}{{{|||{{z{{{|z{|{|||}{{z{{|{z{|{|||}{{{|{z{{|{{|{{||{{|{{z{{{z||}{|{{{z|{{z{zz{{zz|{z|{{zzzz{|{{{{z|zz{{zzzzz{|{{z{|{{zzzzyz{{{|{zz{{zzz{{{y{{|{{{|{{{{{zzzzz{|||{{|{{{z{{z{zz{{{{|{|{zzzz{z{|{z{{{{}z{zz{{{{z|{{{{{{{{z{zz{z{||z||z|{z{{zz{{{z{{{{||{{{{z{{{z||z{{{||z{z{z|{{{|||||{{{{{{{z{||{{{{|z{{{{{z{|{|{{{{{|{{{{{z{{|||}{||{{|{z{{{{{||||}|z{{{{|{zy|{}}|{{|}z{{{{{z||{|||}|{||{{|{|{{||||}||{{{{|{{||||||}}|{||{z{{|||||||||{{{{{{|{|{||||||{{{|{{{||||{|||{{|z{|{z{||{|||||{{{z{zz{|||{||{{{{{z|{{{{{|||}|||{{{{{z{||}|}||{z{||{{{{|||}||{||{z{{{{z{{|{{||z{}{{zz{{|{|zz|{|{{zzzzy{|{|z||{{{{{zzzz|{{{{{{|z{{z{{zzzz{{{{|{{{{z{zzz{{{{z|{z{{{zzzz{|z{{{{{{{{zzy{z{|{{{{{{|zzzzzzzzzz{{z{|{zzz{zzzzz{|{z{{z|{zz{z{zzz{|{|{{zzz{z{zz{{{{{{{|{y{|{z{z{{{{{{z|{z{zzzz{|{|{{|||{zzz{{{{|{{{{|{{{z{z{zz{{{{{{||{{z{z{{y|{||{{{|{{zz{|{{{|{{{{{||{z{{z{{{||{|{}||z{|{{||{{z{|||{|{z||{zzz{||{{|{{|z{{z{{{{|{|||}|{{{{z{||||{|}{||{z{{zz{{{||}}|{||z{{zz{{|z|||{|{|{{|||{{{||||||~{|{{{|{z||||{|}|{z{{{|{{z|{|{|||{{|{{zzzz{||{{|{{{{{{zzz{{{{{}{||z|{{{{z{|}{{{|{z|{{{{{{{{{{{|{}{{z|{|{{|{z{{{||{z|{zzz{{{{|{|{|{{{{yzzz{{{{|{||{{zz{yzz{{{z{|{{|z{zzzy{z{|{z{{{zz{zzz{{{{{{{{{zz{zzzy{zz{{{{||{zz{zz{z{{z|{{{{{{{{zzzz{z{{{z{|{{zz{zz{z{|{{{z{{{{{|z{{zz{{{z{||{{zz{zzy{{|{z|{{zz{z{z{zz{{{{{{{{z{{zz{{{{{{{|{{{zzz{z{{|{{{{||{{{{z{y{z{||{||{}{{{z{zz{{{|{{{|{{{{{z{z{{{|{{|{|{{{z{{{{{{{}{{||z{z{{z{z{|z|||{{zz{{{|zz||{||||||{z|{{{{z}{z{|||{zz{{||{{|{{||{||{{{z{{{|||||{|{|{{{|{{{||{}|{||{z|z{{|{z|{{}{|}|{{{{{{|||{|z{{}{{{yyzz{{{||{}|{{{{{z{|{{|{{{z|z{{{z{{{z{|{{{{|}{{{y|z{{{||{}}|{{{{|{z{{|{}{||{|{zz{{{{y|{|z{||{{z{z{zz{||{|{{{{|z{zzz{y{{{{{z|{{{zzzy{{z{{{{{{{{zz|zzzz{{{z{{{|{zzzzz{z{z{|{{{|{{|zz{{{{zz{{{|z{{{zzzz{{{{{{{{{{{{zzz{yz{{z{{{zz{{z{{zyz{{z{{|{{{{zzzz{z{zy{|zz{zzy{zzz{{{{z|{|z{zz{{yzz{{z{{{{zy{{zz{{{{|{z|{|{zzzz{z{{z|{{{||z{zzzz{z{z{{|{{{{z{z|zzzzz|{{{{|{{{z{zz||{{{{{|{{{{{zzzz{{||||{{{{|{|{|||||{{{||{{{zz{{z{{|{||{|{{z{{{z{{|{|{|||{{|{{{{{{{{{{||||{{{{{z{{|||{||{||{|{{{z||}{{}||{z{zzzz{{{{|||||||z|{zz{{|{|||{|{{{{{z{{||||||}{{{z{y{|z{|{}{{{{z{{{|z{{{{{{{|||{z|{{{{{{||{{|{{{{{z{z{z||{{|||}{{|z{{{{{{z{||{{{zzzz{z{|{{|{{{|z{{z{zzz{{{||||{{{zzzz{{{{{{{{{{|z{zz{{z{{{{z||{{z|{{{zz{{{{{{{{z{z{{zzz{z{{z{{zz{{zzzzzzz{{{||{{z{z{{{zz{{{{{{|{z{zzz{zz{z{z{{{{z{z{zy{z|{|||{|z{{z{z{z{{{|{|{{z{zz{z{z{{{{z{{{{z{z{z{{{z||{{|{z{{zzyz{{{|{|{||{{zzzz{z|{{{{|{{{{|{{{{||{{{{{{z|zz{{z{z{{|{{{|{{|{{{{{z{||||{{{|||z{z{{||{{{}||z{{z{{{{{||{|||~{{{{zz|{{|{|{|||{{|z{{|z{|{||{|||{z{{|{{{||||{|||z{{{{{{||{|||||{z{{|{yz{|{|{|||{zz{{{zz{{{{{{||{||{{|zz{|{|{|||{{z{|z{z{|||{{{{{{{z{z|z{|{{{|||||||{zz{{{||||||{{{zz{z{{{|{|{{|{{{y{{z{{{{{|{|{{{zz{z{z{z|z|z|{{zzzzy{z{{{zz{{{zzz{yz|zzz{{z{{{{zzzzy|zz{{{z{{{z{zyz{zzz{{{zzzzzzzzyyz{y|z{{{{zzzzyzyzz{z{zz|{{{zzzzzzyz{|{{{{|z{z{{zz{z|{zz{{|{{z{yzzzzz{zz{|{zy{zzzzzz{z{{{||zyzz{zz{z{|{|{{{zz|{{z{{zzzzz{||zz{z{z{{{|y|{|{{z{{zzz{z{{{||{|{z{{z{{{zz{{{{{||{zz{|{{{|{||{|{{|{{z{{{||{{{{|||z{{z{{{{|{{|||{||{z{{{{z{|}{|{{{{{z{{{{{{||{||{{z{{z{{{{z{{|{{|||z{{{{{{{}||||||{z{{{{{{{{|{{{}{{zzz{z{||{{{{{{|{{|z{{{z{{{|{{{|z{{zz{zz{{{{|{|{|{{{{|{{{{{{{{{{{{{{zzzz{{||{||{{{{{{{|{{|{z{{||{z{{|z{{||{|{|||{z{z{zzz{{{{{|z{{zzz{z{{z|{|z{z|{{{zzy{z{{z{z|z|zzzzz{{z{{{zz||{{z|zzzzzz{z|z|{{zzzz{{zz{{zz{{|{zzz{yyz{z{z{{|z{zzzzyzy{{{{z{{{{zzz{yz{{{{{{{||{{{{z{zzz{{zzz{{{{{zzzz{{z{{{||{{zz{yzzzz{|{{z{{{{zzzyzyzz{|{z{{{zzzzzyz{{{{{z{z|zz{zzyzz|z{{|z|{{{z{{z{{{|{{{||{{z{zz{z{z|{{|||{{{zz{z{z{{z{{{{{{{zz|zz{{||{{||{|z{{{{z||{{{|{||{{{{{{{z|{{{|{|||{|{{z{{{{{{{||{z{{{{{{{|z|{|{|||{zz{|{z{}{{|{{{|{{{zzz{{|{{|{|||{{zzzz{{{{||{{|{{z{{{{{{{{{{{||z{{z{|z{{{{{||{{|{zz{zzz{{{|{{}|zz{{zzz{{{{z{|{|{{{{}z|zz}|}|{{||{{{{z{{z{{{{||{{|yz{|zz{{{{||{|z{z{{z{z{|z{{{{|zz{zzzz{{{|{{|{|{{zz{{{yzzzyz{{z{z{{{zz{zz{z{zzz{zzz{zzzz{z|{{{{z{{y{yzzy{{z{{|{zzzzz{z{{{{z{{{{z{yzz{zz{{{{z{{zzz{zyzzy{zz{{|{{{zzzxz{yz{{{{{{{{zyzzzzzz|{{|z{zzyzzz{zzz{{zz{{{{{{z{z{z{z{{z{|zzyz{zzz{{{|{z|{{zzz{{zz{z{z{{|{|{z{zz{{z{{z{y{{|{{{{{zz{{{{|{}|{z{z{z{{{|{|{|{|{|{{{{{|{{{{|{{||{zz{{{zz{|{{|||{|z{{{z{{{||{{|||{z{z{{{||{{{|{{{}{{z{{{z{|{{||{{{|{{{zz|{{|{||{|zzz{{z{{{{{||{|||{{{z{{{|{{|y|{|{{{{zzz{{{{{{{{|{zz{{{{z{|{{z{|{{{zz{{zz{{{z||||{|z{z{{{{{{||{||{{z{{{{|{||z|{|||{{z{{z|{{|{{||||{{|{{zz{|{z{{{{{{zzz{{zz{|{{|{{z{zzzz{z{|{{z{|{{{{zz{{{{z|z{|{zz{{{{zy|{{z|{{z{z{zzzzzz{z{|z{{{{zzzz{yz{{{{{{{z|{zzzyzzz{{|{{{{{{{{zzzyzz|{zzz{{zzzz{zzz{z{{z{z{z{zz{zz{{{z{||{zz{z{{{z{z{{{{z|{z{{zz{zz||{{{|{{z{z{zz{{{{{||{}{{{z{z{z{{||{{z{{y{zzz{{{{|{{{{{{z{z{{zz{{{{{||||zz{z{z{{{{{|{|||{{{|{|{{{{|{|||{|z{{zz{{|||||{||z|{{z{z}|}{|z}{{{{{{{{z{|z{||{{||z|z{{|{{||||||{{{|z{{{||{|||||}{{{|{z{||||||||{|{{|{z{||{{||||{{{z{zz{{|{{|||{{|z{{{z{{||{{||{{{{zzzzz{z{{||{||{|{{{{||||}||||zzz{{{{|{z|{|{|{|{y{{{{{|{{||{|{{{zzy{z{{{|{z{|{{{zzzz{z{|{{|{{||z{zzzzz{{{{{|{{z{{{z{{z{{|zz{||zzzzzzzz{|{{{{|zz{zzzy{{z{{{{{{{zzzzzzzz{{{{{{{||{{zz{{|z|{{|{{{{z{zzy{{z{z|{|{|z{zzz{{zz{{z|{{{{{{y{zzz{{{|{|{{z{zzzzzz{{|y{z{||{zz{{{z|{{{{|{{{z{{z{{{|{|{|{|||z{{{y{{{|z{{|||{z|{z|{z{||z{}||{zzzzz{{{{{|{|{{|{{{{{{|z{|}{|{|z{|{|{{||{{||||}|{{|{{{{|{|||||||z{{|{zz||||{||||{{{{||{{z{z|||||z{|{|}|{|||}{|||{z|{z{{||{||{|||{{z|{{{{{|||||||{{|{zzz{|{|{|||{{|z{|{{{|{z|||{|{{{{zz{{||{{|||{{{z|{{{{||{|||}{{{{z{{z||{||{{|{{z{zzz{{{{{{|||{|zz{{z{{|{|{||{{{zzzzzz{z||{{||{{{zz{{z|{{|z{{{{{|{zzzy{{{{{|{{{{{z{zzy{{{{{{{zz{zz{zz{{{{{{||{zzzzzzz{z{{{z{z|{z{y{zzz{{|{{{||zz{z{z{z{zz|{{{|z{{{{zzz|z{z{|z|zz{zzy{z{{{{{{|{{{zzzzzzz{{|z{|{zz{{{{{z{{|{{{|{zz{{{z{{z{{{{|||{{{{z{{z{{|z{{{{{z{z{zz{{{{{{||{{z{{yzzz{|{{{{|{{zz{{{{{{|{{{|{{|{zz||z{{{|{|{||{{{{|{{|{||||{}|{{{|{z{{{{||||}||{z{|{{{|}{|{|}{z{|{|{{z{|||{|||{z{{{{{{{|{||{}||{{{{{{||}{}{|||{|{{|{{zz||{|}{{{z{{z{z{{{{|||{|{{{{|{{{||{{{{||{z{{zz{{{{{|{{{{|{{{{{{z{{z{{||}z|{{z{{z|{|{|{||||z{{{z{{z|{||}{{|zz{||{|z{{|{||{|{|{{{}{{{|{{|||{{zyz{z|{|{{{{{{{|{{z{z{{|y{{{{{z{{{{zz{{{{z{{|zyz{{zz{z{{{{{{{zzz{z{zy{z{||{z||z{{zz{{{{|{{|{{z{{zzz{zzz{{|{{|zzzz{y{zz{{{{{|{z{zz{{{{{{{{{{|{zz{z{zzy{{{|{||{|zz{{z{z|||{|{z|zzz{zz{z{{|{{|z|{{zz{z{{{{{{{|||z{{{{z{{z||{{{||{zz{{{{{{||{{{|{{z{z|{|{{||{{|||{{z{|zz{|z|{|||{{{{{{{|z||||||{{{z{z|{zz|}{||{}|{{{{{{z{|{|{|}|}{|{||||{{|{||{{||{{{z|{{{||{{||||z{{|{|{||||||||{{z{{{{|{{z|{|||{{z{|{{{{{|{|||{zzzzz{{|{|{{|||{{zz{z{{z{{|||||{{y|z{zz{{{{|{|{|{|z{|{|{{|{{|{||z{{zz{{{{{{{{|}|{{{{{{z{{|z{{|{{{zzzzzzz{z{zz{z{z|zzzzzzz{{{{|{{zzzzzz{y{|{{{||{|{{{{zy{{{|{{||{z{zzz{zz{z{{{|z{zzzzzzzz{z{{{{|{{zz{y{zz{{{{{{{|zzz{zzzzz||{z{z{z{z{{zzz{|{zz{{{{zzz{zzzz{zz{|z{z{z{{z{z{{|z{|||zzzzzzy{{{{z|{{|{z{zz{{{{z{{{{{{zz{{{y{{{||{{{{||{{{zz{z|{{{|{|{{z{z{{{z{|{{{{{|{zzz{z{z||{|{||}{{{{{{{{||{||{||{z{{|z{{||{{{||}{||{{z{{{|||{|{|{{{{{|zz|||||{}}{{{|zz{|||{{||{{|{{{{{{{|||||||}|z{|{zz{||}|{||{{{{{{z{{{|{|{{||{{zz|{{{|{{{||{||{{{{z{z{z{|||||z{{{yz{z{|{|{{{{z{|z{{{{{{{{{{|}{zz{zy|{{|{|{{{|{{z{zzz{z{{z|||{|{{{zzzy|||{|{||||{zzzz{{z|{{{|{{{{{zzzz|{||{|{{{z{{z{zz{{z{{|{{{{{z{yzz{{{yz|{zzzzz{zz{{{{{z{{|zzz{zz{z{{z{{|{{zzzzy{zy{{{{{{{{{{z{yzzy{{|{{z|{{{zzzzz{z{{z{{zz{yzzz{zz{|{z{{{{{z{zzz{zzzz{{{{{|{{z{{zz{{{zz{{{zzzzzz{z{z{{|{{z{z{z{zyy{{{{z}{|{{{zzz{{{|{|||{{{z{z{{z{{z{{{{|{|zz{z{{|{{{||{{{z{{|{{zz{{|{{|{|z{zz|z{{{|{}{{}|{{{{z{zz{{|{||{||zz{z{{z{{}|||||{{{z{{{{|{|{||||}{{zzz{|{}||||}}|{{||{{z||{|||{||{{{{z|{{{|{|{||{||{{{{{{|||{|{|{{{{{{{z{|{{{{{|||z{{z{z{{|||{{{zz{zzzz{{{{|z|{|z{{{{{|{{||{{{||{z|{{y{z{{|{{|{|z{{{z{|{{{{{|||{|{|{{{{z{z{|{{||{|z{zz{{{{{{{{|{{{zyzz{z{||z{{|{|z{z{zz{{z|{{|zz{{y{z{zz|{{{{{{|z{{{{y{z{|z{{|{|{{{|{zz{z{|{|{{z{{{zz{zzz|{{{|||{z{zzzzz{z|{z{||{{{z{{z{z{{{z|{{{{zzz{{{{{{{|{|{zz{{{{{zz{{{{||{{z{z{{|{{|{{{z|{{{{{yzzz{{||{|{||{|z{{{{{|||{{|||{z{zz{z|{{{|{||{{{{{{{{{|{{{{}z|{{{|{z{{||{||{}{{{z|{z{||{|||}}{|{{{{{{|{|||{{||{z{{{{{|{{|{||||{{{{{||{|||||}||{|{z|{z{||||||||{|{zz{{|||}|||{{{||{{{{{{|{|{|||{||{|{{||{|{}}|{||z{{z|{|z{{|{{{{{{z{zz{|||{{{{{{{{{{{{{{|{{||||z|z{{{{|{|{{|||{{{z{zzz{{|{||||{{{zzz{z{{|{}{{{{z{z{zz{z|{{{{{{{}{zzzzzz{{z{{||{z|{z{{z{{{{y{z{{zzzzzzz{{{z{{z{|z{zz{z{{z{|{|{{zz{zzyzzzz{{|||{zz{{zz{{{{|{{{{{|z{zzz{zz{z{{|{|{z{zzzzyzz{z{{{z{{{z{z{z{{zz{|{zzzz{z{yzz{{{{|{|{{z{yz{z{{|{{{{{|z{zzz{{z{{{{|{|zy{{zzz|{{{{{|{{{{{{{zz{{{{{|{|{{{z{zzzz{{{|{||{{{{|{z{z|}{|{||{{{{{{z{z||||{||{{{|{{z{{{||||{|{|{{{{z{z|||{|||||{{z{{{{{||{{||||{{zz{{|{||{{{{||{{|{{{|{|{|}|{}|{{|{{z{{||{|}||{|{{{{|{|{|{{|{|{{{{{{{{{|{{|{{|{{{z{{{{|{|{{||{||{{zz{z{|{|{z{}zzz{z{zzz{|z||z||z{{zz{{z{{{|{|{{zz{{z{{z|{{{|||{zzzz{{z{z{{z{||{|zz{zzzz{{{{{{{{{|zzzzzz{|||{{|{{zyzzzz{{{z{|{{{yzz{zy{{z{zz|{zz{{zz{zz{z{{zz|{yyyzzz{z{z{{zz{{zzzzzyy{zz||{{z{zzzzz{{zz{zz{{{||{z{yyzzz{{z{z{{{{zzzzy{{zz{z{{{zyzy{zzzz{{{z{{{zzyzzyzz{{z{|{|{zyzzzz{z{{{{{{|{|zz{zzzzz{{{{{{|zz{{zz{z{{{{{{{{z{{z{{{y{|{z{{|{{zz|{zz{{{{|z|{{y{zzz{zz|{{{{|{{{z{zz{{z{{z||{||zzzz{{{{{{{|{||{|{{{zz{|{{|{|{|}{{z{{{{{{||{|{}|{zz{z{|{{}||||||{{{{|{{{}|{||||||{{zzzz{z{||||{|{{{{{|{{{{||{{{|{z{zzzz{{|{{{||||{z{{z{zz|{{{{{{{{zz{z{y{z{{{|{|z{z{{z{zz{{{{{{|{z{{zzz{|{z{||{{|z{{{{zz{z{{{{{z{{zzyyz{{{|{y{{{{z{yzzyzzz{z{{{{zzzzz{yz{zzy{{{{zzzzyzyzz{{z{{{zzzzyzzzzz{z{{zz{zz{z{zzzz{{z{{z{{zzzz{zzz{{|{{y{zyzzy{z{z{z|{z|{{yzzzy{z{{zy|{z{{zzyzzzzz{yz{{z{zzzzz{zz|{z{z{{|z{zz{z{zz{zz{{{{{zz{zy{z{{{{z{|{zz{{zzzz{||{|{{z{z{zzz{z{{{{z{{{zz|zzy{zz{{{{{{{{z{{zz{{{{z{z|{{{{zz{z{z{{|{|{{|zz{{z{{{{{|{|{{|{{{zzzyzzz}|{{{}{zzz{{{z|{{{{{||{zz{zz{z{{{|{|||{{{{{{zz{|{||}|||z{{{zzz|{{||||{{z{{{{z{{{z{|{||{|z{{zzz{{z{{|{|zz{zyzzzz{{{{{{|{zzzz{{zz{y{z{{|{{{z{z{z{z|z{|{{{{|{{{{z{{|{|||}|||z{z{{{||z{}{||{zzz{{{{{|||{|z{z{{zz{||{|zz{{{|{{zz{{z|{{||{{{zz{zz{{zz{|z{||{{zzzyz{zz{{{{|{{z{z{yzz{|{{{{{{{{zzz{{zz{{{{{{|z{{{zyzzzz{{{{|{|{z{{{zyzz{z{{{|{{zzzzz{zz|{z{{zzz{zzzz{{{{{{{|{zz{{y{z{z{|z|{|{|{{z{z{zz{||{z{}|zzz{{z{z{z{{z|{|{{zzz|{zz{{{{{{{z{{z{{zzz|z{{|z|{{{{z{zz{{{{|||{{{zz|zzz{{|{{||{|{{z{{||{|{||{||{{{{{z{{|{{{|{|}{{z{|z{z{|||{||||z|{{|{|{|||{|||{{{z|||{{|{||||}{{z{z|z|{||||}|{|||{{{|||||||||||{{{{{{z{{|{{{}|{{{{{|{{{{{{{||{{{zz{{{{{|||{}{{|{zz{{|z||||z|{{{{|zz{zz{|{|{|z|{{{zz|{{z}{{{{{|{zz|{{zz{||{|{||{{{zzz{z{{||{{{|{zzzzz{{z{z{z{|{z{}{z{zz{{{{z|{{{zzz{zzz{z{{{{{{{z{{{zzyz{{{z|{{{zzzy{z{zz{{{{z{zzzz{{z{z{{|z{{{zzz{z{y{zz|zz{{{zz{{y{zz{{{{z{{{{zyz{zzy{zzz{|{{{y{zz{{zz{{|{|{{zyzzzzzzyzz{{||{{{zz{yzzz{|{{{{{{z{yz{{z{{{{{{{{{zz{zz{z{{||{{||{{z{{z{z||{{{{|{{{{{z{{{{{zz|{||{zzz{z{{{||{{|{z{z{{{{|{{{{{|z||y{{{|{{{|{{{{|{|z{{{z{{z{|{{|{}{{{{{zz{z{|{|{{||{{{z{{|{{|{||||{|{{{{zz{|||{||{z{{{z{{zz|{||{|{|{{{{|z{{|{{{{||{{{{{z{z{{|{{{|{||{{zz{{{|{{|{{||{{{{{z{{{{{{{|{||{z{{yz{{{|{{{{}{{{|{|{z||{z{z{|{zzz{{y{z|{|{|{|{{{zz{zz{zz{{{|{{zzz{{z{z{{{{{{{|z{yzzyy{{{{{|||{zzzz{{yz{{zz{{zzzzzzzzz{{|z{{|{{{zzyzzz{{{{{{{|zzzz{zzz{{z{z{{|z{zzzzy{z|{{{z{{z{zzzyzyz{||z{{{zzzy|zz{z{{zz|{{z{zz{zzzz{{z{|{{zzzy{z{z||{z{{{|{{zzzzz{zz|{{{||{zzzzyz{{{z{|{z{z{zz{{zz{z|zz|{{zzzzzzzz{||{{{{{zx{|{zzz{{{{{||{||{{zzzz{{||z{{z|{|{{zz{z{{{||{{z{{z{z|{{{z}{}|{zzz{{z{z}{{|{||{{z{z{{{{{|{{|||{{z{z{{|{{{{{z}{{|{z{{{||z|{|{z||{{|{{{|{|{{{{|}|{{{{{{{zz{{|{|||{|z{|{{z|||||{{|{{{{zzzz{||{|{||{{zz{{zz{{{{{{z{z{{zzz{z{{||z{}{{{{{z{{{{{||{|{{{{{z|{zz{{{|||{|{zzzz{zz{{|{{|{|{zz{z{{z{{{|z{||{{{zzzzy{{{{{{{|{zzyz{{{z{{z{||{|z{zzzzz{z|z{{{{zzzzz{zzzz{||{z{zzzzz{zyzz|{|{{z{{zzz{zz{z{z{{||{z{zzzzy{z|{z{|z{zzzz{{y{{{z{{|{zy{zzz{zz{{{{{z|zy{z{{{z{{z{{{|{zz{yzz{z{{z{z|{z{z{{{z{{{{{{z{{|{z{{|zyz{||{{{{{zz{z{{zz{|{|z{{{zz{{z{|{{|{|z{|zzz{|{zz{{||{z{|{{z{z{zzz{|{|||{{z{|{{{||||{||{|||{{{{|{{}||{|{|{|{|z{|{{{|{{|{|{{{z{{|||{||{|{||||z{z{{z{||||}||{{{|{{|{|{{{{|z{{z{{{zz||{{{{{|||{{{{{z{{|}|z{||{{|{zz{{{{|z{|||{zz{z{{z{|{zz{{||{{zzzzzz{{{{{|z{z{zzzz{{z{z{{{{y{z{zzzzz{{zz{||{|{{z{{{{{{{|||{zzzzzyz{z{zz{{||{{yzyzzzz{{{{z{|z{yzzz{{z{|zz{|z{zz{|zz{z{{zz|{{zzzz{zyz{{{|zzz{yzyzzz{yzz{{{z{{{z{{zyzz{{{{{|{{y{{zzzzzz|{{{z||zz{zzy{yz{{{z{zzzz{z{zzzyz{zz{{|{zzz{{yzz{{|z|{{{zzzzzzz{{z{{{{|{zzz{zzz{zz{{|{{{{zz{z{z{{{{zz{z{zzzzzz{z{{{{{{{zzzzz{zz|z{{{{{|{z{z{{{z{|{{{{{{{zzz{{{z||{|{{{|z{{{{z{{{||{{{{|{zzz{zzz{{|{{||{{z{|{{zz{|{{||{|{{|{{{{z|{{||{|||{{{|{z|{|||{|||{z{|{zz{|{|{||||z{z{{z{z{{{{{{}||z{z{{{||||||{||{zzz{{{{{|z{{|}{|{zzzz|zz|{{{{{{{{{zzz{z{|{{{z|z{zzzz{|{{{|{{{}|z{zzz{{{{{|{{|{}{zzzzzz{{z{{{{|{z{{{zzy{{{||{{z|zzzzz{zz{{{{z{{{zz{z{zzz{{|{z{z{zzzzz{zz{{{zz{{{{z{{zz{zzz{{{{{|zzzyyzzz{z{{{{|{{z{{z{zzz{|z{{{{{{{zz{yzz{{y{z{{zz{z{yzzz{{z{{{{z{{zy{yz{{z{{{|{zzz{zzzz{z{z{{{{|z{{zzzz{{{{z|{zzzzyzzz{|{{{{{{{z{{{{{{zzz||{{{{z{z{{z{z{|zz{{{{{z{z{{zz{|zz{{|{z{{z{{{z|{|{{|{|{{{z{{z{z{||||||z{{z{|{z||{|||||{z{|zz{{{|||||{{{z{|z{{||{|{z|||{{z{z{{z{{{{|{||}{{|{{zz|||{||}{|{|z{{{z|{|{z||{{{{z{z{|z|{|{|||{}z{{{z{||{||||}{{zzz{{z{{{{|{|{{{{{{z{{{|||{||{{{|y{{{zz|{{|{||{{y{z{zzz|{{{|{|zz{zzzyz{{{|{{{|{{yzz{{z{{z{{|||{{{z{zzz{{{{z{{|z{zz{z{z|z{z{|{{zzzzz{{z{{{z{|{{zz{zzzz{{{zzz{{zz{{zzzyz{{z|z{|{zzzyz{z{{z{z{zz{{z|zz{yzz{{{{z{{zz{yzzz{zz{|{|||z{zyzzzzzz{{{|{{zz{zzyyzz{zz|||{zzz{{zzzzz{||z|{{{z{zyzzz{|z|{|{{z{z{zzy{zz|z|{{zz{z{z|zz{{{{{{{{z{z{zzzz|{|{|||{zzyzzzz{{{{z{|{{|z{{{{{{{{{{{|{z{yz{z{{{{{||{{{{zzz{{{{||{|{{||z{{|{zzz}|||{{|||yz{{{{{|{|{||||{{zzz|{|{|z||}{{{{z{z{{z||{||{{{|{{{{z{{{{{||{{|{{{{{z{|||{{{|{|{{{{{z{|{|{{|{||z{{|{{{{{{{|{{{{{{|{{z{zz{{{{{}{zz{{{zzz|{{z{{{{{{z{{zzz{||{{{|{zz{{zzz{{{{|{{|{{y{zz{{{{{zz{|{|{zzzzzzz{z{{z{zz{z{zzzzzz{{{|{{|{zz{{yz{z{{{{{|z{yz{y{z{{{zz{{{zyz{zz{zz{{z{z{z{zyzzzyz{z{z{z{z{z{yzzzzzz{{z{{zzy{z{zyyzzz{z|{z{zzzyzz{yzz{z{{{{zzzzzzz{z{z{{{z{zzz{z{zz{|{{z{{{z{zy{zz{{{{{z{|{zzzyzzzzzzy|z{|{y{{zy{z{z{{{{{{zz{zzz{|{z{{{{|{|{z{zzzzz|{||z||{{{zzzzyz{{{{{{{|{z{{{|z{|{|{{||{{zz{{{{z{{{|{|||{z{{zzzz{|{|||||{z{{{z{{{|z{{{{|{z{zz{|z{||{}{|||z{{{|{{||{||||{|{{{z{{{{{|{{z|{{z{{{{z{{{{|z{}||zyzz{zz{{|{|{||{{{{{zzzz{{{{|{{{|zzzzzzz|{|{{|{{zzyz{zzz}|{{|{|z{{zzzzz{{{|{{|{zzzzzz{z{{z{{{{{{zzzzyzz{{zz{{||z{z{zzz{|{{{y{{{z{zzzzzz{zz|{{z|zzzyzz{yz{{z{{{zzzzz{{zz{{z{zz{zzzzy{yzyz{{{zz{{zzzzzzzyz{zz{{{zzzzzyzyzy{{{{zy{zzzzyzzzzz{zzz{{zzyzzyzz{{zz{zz{{zz{{{zzzyzz{{{{{z{zzzyzzzzzzz|{{zzy{z{{z{{z{z{{zz{zzy{z{{z{z{|{zy{zzzzz{z{{{{{{{{zzyzz{z|{{{|{{zzz{z{{zz{{{{z{{zz{zz{zzz|||{{{{zzz{zzz{{{{{{{{{z{zz{{{{{{z{{{||zzz{zz{z|{{{|||{|{{z{z{{|{|{z|||{{|{z{{{{{{{||{|{z|{{{{{{||{{{{{{z{{zzz{{{||{||||yzz{{z|{{|{{|||}{yz{y{z{z|{{{{{z{{z{yz{{{{{{||{{zzzzzzz|{z{{{{|{zzzzz{zz{{{z{||{zzzz{{y{{{{{z{{|z{{{yz{{|}{{|{{{z{|zz{{{zz{z|||{{{zzzzz{{{{zz|{{z{y{zzz{{zzz{{|{zzzyz{y{{{z{|{z{zzy{y{z{z{y{|{{zzzz{yzz{{z{{z{{zzzzyz{z{zzz{{{z{zzzyzzzzz{{{z{zzz{zyzz{{{{{z{{{{zyzzy{{z|zz{{zz{zzzzzz{zyzz{{{{zzzzzzzzz{{{{z{{{zzz{zzzz{{zz{{{{z{zyyz{{{|{|||{{z{zz{zy{|{{{|{{{zz{zzzyz{{z{{{{zzy{{{zz|||{{|{{zzzzzzzz{{|{|{{z{{{z{{z{{{|{{|||zz{z{z|{{{||{{||{z{{z{z{{||{|{{{{z{z{{z{|{|||{{}|{{{{{|{{|||{{||{z{{{{{z{}{{|}|{|{{||{{{||{{|{{{|{{{|z|{{{{z||||{{z{{{zz|{{{{|||{{{zz|z{|{{|z}||{{{zz{zz{}{{|{{|{{zzzzzz{{{{{|{|{{{|zz{zz|}{|{{||{{{{zz{||{|||{{{{|yz{z{|||{z|{{zz{z{{{{z{|{z{{}{{{zzzzz{|{{{{{|{{zy{z{{|||zz{|zzz{z{z{{{{{zz|{{{z{zy{{{zzz{{{{zz{z{z{zz{z{zz{|{{zzzz{{z|{|{{{|{{z{zz{{z{{{{{|{z{{{z|{{zz{{zz|{{{{zzzzzzz{||z|{|{zz{{{zz|z{{{{{{{{{z{zzz{{{||{||zzz{{zz{{z|{{{{}{z{{z{{z{|{{z{||z{zz{z{z{|{z|{z|{z{{{{z{|{|{z|||{{z{{y{{|{||{{{{|{{{{{|{z{||{|}{{|{{|{||{|{|{}||{{{{{z{{{|||||{||{{{z{{z|||||||||{{||||{{|{||||}|{{{|{{{{|{{||||{{{|z{{{||||z{|{|z{{{{{||{{z{{||{{{{{{z{{|{{{}||||{z{{{{{{{{||||{{|{z||z{|{||{{{{z{{z{zz{||{{|{{{zz{{{z{{{|{|{{|zz{|z{zz{|z{{{||{{{zzz|z|z{z{{}{{z{y{zy{zz|{{{{||zzyzzzy{z{{{|z|{{{zzzz{{{zzz|{z|{{z{z{{zz{z{{z{z{z{yzzyzz{{{{|{zzzzzzzz{{{z{{{|zzzzzz{z{{{{{{{{zz{zyzzz{z{{{{||{z{{z{zzy{{zzzz|{zzzzzzzz|{z{{{zz{{zz{zz{{zz{{{{zz{{z{zzz{{{|{{{zzzyzz{z{{|{{|{{{{z{z{zz{{{{{{{|{{{{|zz{{{{|{{{{{{zz{{zz{{{{||{|{{{z{{{{z{{{{}{|z{{{z{{{{{{|{|||z{|{zz{{}{{|{{||{zz{{{zz|{|{{|{||{{z{{{{{|{||||||{{|z{z|{}{{}{|{{{||{{{{{|{|{{||{{{{{z{z|{|{{|||{{{z{{{z|||{{|{|||{||zz|{||{|{|}z{{z|{zz|{||{||{z{z{{{{{z{{|{|{|{{{{yz{z{{{z{{z|{zz{{zz{z{{{{|{{{{zz{{{z{{|{{|z|{z{{zzz{{{{{zz{|{{{{{zzzz{||{{||zz{zzy{z{z{z{{|{zz{z{zzz{{z{y{{z{zz{z{yz{{{z{{{{{{zzz{{{z|{zz{{{zzzzzz{z{{{z{{z|{z{zzzy{{{z{{{{{zz{zyz{zz{{{{{{|{z{zzzzy{|{{zz{{yzzzzzzz{{{z{z|{yzzzzzzzz{z{{{|zzz{yzz{zz{{{{{{{zzz{{zzzzz{{{|{|{zzzzzzy{{{|z{{||{{z|z{{{{z{|||{{{zz{{zz{{{zz{|{{zz{{zy{{|||z{{{|z{{{zz{{|{{|{{zz{{zz{{z{{{|||||{{{z{zz{z|||{{|{{zz{{{{{{||{{||{{{{{z{|z{||{{|{{{z{{z{{z|||{|{}|{{|{{{|{{{{|{||{|z|{{|{{{|{||{|{{{{z|{{z|{{||{||z{|{|z{{{{{{|||{|{{|{{{{|||{{{|{{{{zzzzz|{{{{{|{{z{zz{{{z{|z{{||{{{{zzzz{|{||{{|{{{zz{zz{|{z{{{{|{zzz{{yz{{{zz|z|{|zz{zz{|{|zz{|{zzyz{zz{{z{{{{z|z{zzzzzzz{{{{{{z{zzz{zz{zzzz{z{z{yzzyzzz{{zz||{{zzz{yzzz{{||{{{z{{zy{zzzzz|{{||{zz{{zzzy{{{z{{|z{{z{zzzz|z{||{|zzzzzz{zz{{{{{||{zz{zz{zzz{{z{z{{zz{zz{z{zz{z|||z{{{zzzz{{|z}{{{{{{{{z{{z|||{{{{{z{z{{zy|||{{{|{zzzzz{{{{{{{{{{{z{{z|{{{}{{{{|{|y{{{{|{{{|{{{|||{zzz{z{zz|{{{|{{|{|{{{{||||{{||{|z{{y{{{z{{{||{|||{|{{{{{|||{||}}{{{{{{z{{|||{|{|zzz{z{{|{{{{{|{{{{{z{z{||{|||||{|{zz{zz{||{{{{{{{{{{z{{{{{{{|{|{{{{{z{{{|{|{{z{|{{{zzz{{|{{{{|{{z{{zzzy{{{{{{{|z{z{{zyz|{z{{{{{{zz{{{z{y{{zz|||{{zzzzzy{z{{{zz}{{{{zzzzz|y{z|{{zzzzyzzz{z{zzz{{{{zxz{zzzz{|z{{{zyzzzz{zzz{{{{{zzzzz{zzz{z{z{{{z{z{{z{zz{{{z{{zzz{zyz{{yzz{{zz{z{yzyyzyzzzzz{{|zz{zzzzzzz{z{{zzzz{z{zzzz{{{z||{|{zzzyzzz{{zz{{|{zzzzzzzz{{zz{{{{zzzzzz{zz{{{z{{{z{yz{zzy{{|z{|{{{zz{zzz{{{{{{{{{z{zz{{z{{{}||||{{{zzz{|{|{{||{||||{{|zz{{||{|{|||z{|zy{z||{{|||{|{{zz{{{{{{{{||{|{{{z{|{{|{|{{|{|{{{z{{{{{}||{{{{{zz{{z{{{{|z{{{|{zz{{z{|z{||{{|{{{zzz{y{z|{z{{{{{{{yz{y{||{{|{z{{z{{zzy|{|{{{|zz{|zz{{z{{{{{{{{{{{{zz{z{{{z{|{{{zzzzzz{{zz{{||{zzz{zzyz{||{z{{{{{zzzzzz{{zz{{z|{zzz{zzzz{|{{{|{{z{|{yz{{{{{{{{zzzzzz{zzz{z|{z{{zzzz{y{y{z{z{{|z{z{zzzz{z|{{{{{{|{zzzzzzzzz|z{|{{z{z{zzyzz{{z{{z{{zyzz{yz{z{{{{|z{zzzz{{z|{{{z|{{zzzzzzzzz{{{{{{{{{{zz{{{{{z{|{{y{|zzzz{{{z{|{{|z{z{zzz{z|{{{|{{|z|z{{{z{|{{{{{{{{zzz{zz{{{{{{|{z{{{zz|z{{|{|||{zz{z{z{{{|{{{|{{{z{z{zz{z|{z|{|z{z{{{z{{{|||}|{{{|{z{zz{{|{{|{{{|z{{y{{z{|{||||{|z{{|{z{|||{|{}{|{{{{{{{|{{{{{{|{{{z|{{|||||||{|{z{zz{z{{{}{{{||{{z{{{{z{{|{{|{|{{{z{zzy{{{{|{{{z{{{zyy{{zz{{{{z{zzz{yzz{{{{{{{|{z{zzz{{{{|{{}{|{zz{{{zz{{{{{zz{{zzzzzzzz{{{{{z{{zzzzz{zz{{zz{{{|z{yzzzzzzzzz{z{{yzzzzzzz{{{{z{zyyzz{zzz{z{{{{|{zzzyz{z{zz{z|{z{{zzyy{z{{|{{z|{|zzzzyzzzzzzz{{z}{z{zzzzzz|{{{{{{zzzzzzzzz|zz{{{{zzzzzzzz{{{zz{{{z{{{zz{{{z{{z{{{zz{yzzzz{{zz{z{{{zzzzzzzz{{{|{{{|zz{{{{y{{{{{z{z{z{z{{z{{z|z{}{{z{z{zz|{{{{z{{|{{z{zzz{{{|||{{||zzz{zzz{{{||{{|{|{{yz{z{||{{|{{|{z{z|z{{{{|{||{||{z{y{zzz||{|||{|z|{{{{z{|{|z|{||z||{{zz{}{{||{||{{zzz{{{{{||z{{{zzyzz{{{{{|{|{{|{y{zz{z{{{z{{|{zz{{zzzz{{{z{{{|{{{{z{zz{{{{{{{{{z{{{{{z|{{z{{z}z{{y{z{z{z{z{||{{|{zz{z{{{{{{{{|{{yzz{zz{{{{{zz{zz{zzzzy{{z{{|z{zzzz|zzxzz{zz{z{zzzz{zz{zz{z{zz{zzzy|zy{z{zzz{{z{{zyyzz{z|zzz{{{yzzzyzyzz{{{{y{{{zy{zyzyz{{{zzz{{z{zyzz{z{zzz{{{zzzzyzy{{zzz{z{z{zzz|zzzzz{{z{z{zzz{zzzz{|{z{{||yz|z{zzz{{{{z{{|zzzz{zzzz{{z{{{{{|{yzz{{||{{z{|zzz{zzzyzz}{{z{{{{z{z{zz{{|{{{{|zy{zzz{zzz|z|{{}{|z{z{zz{{||{|||z{{{{|{{{{|{z{{{|{zz{z{{{z|{|{||{{{|zz{z{}}|||{}{{z{{{{{{{{|{|{|{{z{{{zz{{|{|{|{|zz{z|{{{{}{{|{{|{|z{zzz{{{{{{|{{{{{{zzzz{|{{{{z{{zzzyzzy{z{{z{{{z{zzzy{y{{{{{{{{{zz{zzz{z{{{{|{{{{{yzz{z{{{{z||{{z{zzz{{{{||{{{{{{zzy{zyzzz{{{{{zzzzzzyzzzyyzz{{zz{zzzzzzz{z{{zzzz{zzzzz{{z{zz{|zzyzzzzz{z{zy{z{{zzzyzzzzz{{{{{{zzzzyzzzyzz{{{|{zzyz{zzzz{zzz{{z{{zzzyzzz{z{z|{{yyzzzzzyzz{z{{{{{z{zzz{zz{zz{{{{z{zzyy|zz{{{{z{{zzzzzzzz{{{zz{|{{z{{zzzzzz{{{{{z|zzz{{zz{{{z{z{z{z{{{zz{{|{z{{{|z{z{{z{z{||{{{{|{{{z|{{|||{{{||{{{{{zzyz{{||{{|{{{z{{{{z{|{{|||||z{{{{{||{z{|||{{z{{{z{{{|{{{|||{z{{{z{|||{|{||{|zzz{{z{{{{{|{{{|z{{{{{{{{}|{|{|{{{y{{{{{{z{{{|{|zz{z{{yz{{|{z{{{{{z{zzz{{|zz|{}{{zzz{zy{{{{z{|{z{yzzzzz{{|{{|{|{zzyzzzz{{zz{||{{{zzzzzy{{|{zz{{{zyzzzyy{{|{{|{{zz{zy{zyz{{z{{{zz{zyy{zzz{{z{z{{zzz{zzz{{{zz{{{{{zzzzyzyz{{zz{{{{yzzyzyzzz{z{{{z{zzzz{zz{{{{{{{{zz{yz{yyz{zzz{z{{{zzzzzyz{{zzz{{zzyzzzzz|{{zz{{|{{zzzyzzzz{{{|z{zzz{{zzz{{{{{|||z{zzzz{{zz{z{{{{{zz|{z{{{z{{z{{{{{{zzz{z{{{{{{|z{z{{|{zz{|{{z{{{{{{z{{|z{||||{{|{{{{|{{{{{{z|||{zz|{z{{{{{{{{{{{{{z{{z|z{{{{|{{{z{{zz{|{{{||||||{{{|{|{{{||{z|||{{|z{z{{{|{|{||{{{zz{{z{{{{|{{{|{z|{{z{{||{{{|{|z{{{z{{{{{z{|{{|{zz{z{zz{{{|{|z|{{{zzzzz|z{|z||{yzz{zzzz{{{{{z{zzz{{z{zz{{{{{{||zz{zz|z{{z{{||{{{yzzzyzzy{}{zy{{{{{zz{zz{z{zz{{|z{zzz{{{zz{{{{{z{{zzz{{zz{{zz{{{{zzzz{z{z|{{z{{|zzzzzzyzz{{{{{{zzz{zzzyzz{{{{z{{zzzzzzz{z{z{{z{{zzyz{zzzzz{zz{zzzyzzzzzzz{yzz{|zzz{z{{yyzz{z|{{{zzzyyz{z{|{{zz{{zz{yzzz{{z{z{{{zzzzzyzz{{{|z{{{{zzzzzzz{z{|{|{{{{{{zy{zzz||{z{|{|zyz{{{{z|{{{{{z{{{z|{{{{{{{}||{z{{z{zz{{{{{{{{}|zz{zz{z{|{{|{{{{{{{{{zz{||{||||{{{{z{{{{{{{||{||{z{{{{z{}|{{||{|{{{{{{{||{|{||{|{|z{{z{{|{||{|{{zz{{{{{|{{|{|{|{{{zzz{{{|||z{{|{{yzz{zz{{|{{{|{{z{z{zzz{z{z{|{z{{{{{{{{{{|}|zz{{{{{zz{z{{{{{z{|{{z{zz{z{z{z{||{|{{{zz{{{{{{z{{|{{{yyzzz{{{{{|{{{{zz{{zzz|{{{|{zzzz{zzzz{z{{zz{z{y{{zzzz{{{{z|{{y{zzzzzz{z{z{{{z{zzyz{z{z{zz{{{zzyzz{{zy{{z|{{|{{yz{{y{z{z{{z|{zy{zz{yzyz|z{{{{||z{{{{zyzz{{{||{{z{z|zz{{{{|z{|||{z{{z{|{{|{{{|{zz{{y{{{{{}{z{||{zz{{zzy{{{{{|z{{zz{{z{z|{|{{{||{z{{z{{{{{{z{{{|{{{z{{{{{|{}||{|z{{{{z||{{{|{|||zz{{{|z{||||{{|{{{{{|{{{|}|{{|{|{z{{{{{|{{{{||||{{{z{|{{{}{||}}{|z{|z{z{|||||||{{{{{{{{|{|{{{{||{{|{{|z{{|{|{|{|{{|y{zz{{|||{||||{{zz{{z{{{|{|||{{{z{{y{{{{|z{{{{{zz{{{{{{{{{{{||{zz{{zz{|{{|||{z{zzz{|z{{{{{{||{{{zzz{zz{||{|{{{{y{y{{z|{{|z{{|z{{zzz{zz{|{{|{{|{zz{zzz{{{zz{{{zzz{zz{{{{z{{z{{z{{{zzzzz{zzz||z{zzzzzz{z{|z{{z|{{z{zzzz{{{{z{|{zy{zzyzzyz|{{{z{zy{zzyz{z{{{z|{{{z{{{{{zz{zz{z{|zz{z{{zz{z{{{z}||y{zzy{z|z{{{|{{{{zzzyzz{{|{{{{}{{{zz{{{z{{|{{{|zz{zz{zz{{|{|{}{{zz{yz|{{{{{{|{{|{{{{{{z{|||||{{{|z{{{{z{|{|{{|||{{z{{z{||{}|||||{|z{z{z|||{||||{{{{{{||{|z}|{}{{z{{{|{{{|{|{{||||{{{{|z{{|{{||||{{|{{{||||{{|||{{{{{z{|{z{{||{|z{|{z{{|{{|}{}||z{z{{z{{||||||{{|{{{{{z||{{{{|{{{{{z{z{{{|{|{{{{{z{zzzz{z{z{{{{{|zzzz{{{{z{{{||{{{z{z{zy{{|{{{|{{{{{yzzz{{|z{{z}{z{{{{{z|{{z{z|zzz{yz{yz{{|{{|{{z{zzy{zz{z{{|{{{zy{z{zzz{{|zzz{{zzzzz{yz{z{z|z|{zzzzzzzzz{{{z||{{zzzzzzzy{{{{{{{zyzyzz{yzz{|{|{{zy{{z{zz||{{{|{{{y{zz{zz{{{{z{||{z{z{{{{{{{z{{{|{{zzy{zz{|{{{{||{z{{{{{z{|{{{{|{{{z{{{zzzz{{{|{{{z{z{{z{{{z{{{{{{zzz{{y{{{{|||||zz{{{y{{{|{|{|{||{z{zzz{|||||||||{{{{{{{{|}{||||{{z{{||{{{{||||{}{{z{{{{{||{{||{|z{{{z{{|{{}|{}{{{|{{z{{{||||{{}|{{{{|{{{|{|{|{|z{{z{{||{|{|z||{}{z|zy{z{{z|{{|{{{{{zzz|{z{{|{{{{{{zzzz{z{|{{|{{{z{{{zzz{{{{{||{{zzzz{{z{z{{|z{{{{zzzz{zz{{zz{{{{{zzzzzz{|{|||{{{{{z|{{z{|{z{||{{z{zz{zz{{{{z{{{{{zz{zz{zz{|{{z{z{zzz{{yz{{{zz{z{yzzzzz{{|{|{z|{|{zzz{zz{|z|{{||{zzzy{{{z{zzz{{{{{zz|z{z{z{z{|{{{z{{{{{y{{{{{{{{{zz{{{{zy|z{z{{{{{z{{zzz{{z{{|{{zz{{{zzzz||{|{{{{{{{{z{zz{{{{||{{{zzz{z{{|{|{|{{{{z|{{{{{{{{{{{||z{{|z|z{||{{|{|{{{{{z{zz|{||||{{{{{{{{{|||{{{z{|z{z|{{{||{|{|{{z{{{z{||{{{{{|||||z|{z{z{|{||||||{|{zz|{||||{|{|{zzz{|z{||{|{|||{z|{|{|z{}||{||{|{{z{z{z|||}{{|{|{{zzz{{{{{|{{{{{{|{zzz{|{{|{{{|{{zzy{zzz|{z{{{{{zyzzzyz{z{{{{z{{z{zyzzzzz|{z{{{{{{{zzyzz{{{z{z|{zzyyzzy{|z{{{{{zzzzy{{zzz{{z||zzzzyz{zyzz{{{z{{{{{zzzzz{zzzzz{{zzzzyyzz{{yz{{{zzzzy{zyzz{{zz{{{zyzzyzzzzz{{z{{{{yzyzzzz{zzyzz{zzzzzzzzz{{{{z{zzzzzz{zzzzzzzy{{{zzzyzzyz{{{|{|{{{yzzzzzzz{{zz|{{{y{yyzzz{{{{{|{{{zzzz{yzz{{{{|{{{zzyzzz{z{{{z{|z{{z{{{z{{{z{{{|{zz{{zz{z|{{|{{{{{z{{zz{z|{{{{{|||z{{zyz{|{{|{z{{{zz{|z{z{{{{{{||zz|{z|{|z|{{{}{{|{{{z|{{{}{{{|{{|zz{{z{{{{||{{|{{{{z{z|zz{{|{{||zzzzzz{z|||{||||{{zzzyz{{{{z{{|{{{|{{z{y{{{{{{zz{z{y{z{y{z|z{|z|z{{zyz{zz{{{{{{|{{{z{z{z{z{{{{|{{zzzzz{{{{z{|{{{{zz{{{yzz{{{{|{{{{{z{zzz{{|zz{{{|zzyzz{yz{{z{{{zzyyzzzzzz{|z|{z{{{zzyzzzzz{{z|zzzy{zzzzzz{zz{{{zzzzyyyz{{z|zzz{{z{{zzzy{z{z{{{{{zzzy{{zzyz{zz{yz{zzyzzzzzzz{{{{{zzzzzyyz{{z{{{{{{z{{zyzzz{{zz|{{zzz{yz{z{{{zz{{{z{zzz{z{z{{{|{{{{z{{zz{zz||{{{{{{z{zz{zz{z{{{{||{zzzz{zz{{{{{{{|{zz{{{z{|{||{{||{zz{{{{{{{{{{||||z{{{zz{|{|||{||{{z{{zy{|}{{{{{|{{{y|{|{{|{||{{}{{{{{{{|{|{{}|{||z{{z{{{|||{|||{|{{{z{{|{z{{|{{{{{z{{|{{{{|{{||{{{{zz{z{{{z{{{|{{{|z{|zz{}{{{{|{{{{zzz{|{{{{{{|{z|z{{zyyz|{|z{{{{{{z{yzzzz{{{|{{{{z{z{z{{{{{||||{z|zzzzzz{|{z{{{{zzzzz{zz|{{|{{|{zyyzzzz{y{{z{z{{zz{zyzz{{{{{{z{zzzzyzzz{{{{{|{{zzzzzzzz{{{zz{zz{zzzzyyzzz{z{|z{z{zzy{yzz{zz{{{{zzzzz{zyzz{yz{{zy{z{{zzzz{zzz{zz{y{{yzzzz{{|{{{|{zz{zyzzz{{{{z||z{zzzz{zz{{{z{{{z{{zzzzzz{{{{{{{z{{z{zz{||{{|{{|zzz{z{z{zz|z{{{|{zz{{z{zz|{{z||z{{zz{zy{{z|||{|z{{{|{{zzz|{{|{{||{{z{{zz}{|z{z||}{{{{z{{||{{}{|{|{zzzz|{{|{{|{{{{{{{zz{{z{{|||{|{z{|{{{{{|{{{}|{{{{z{{z|{|{|{}{|{{zz{{{{|{z|{{{|{{zz{{{{{{{{{|||{|{zy{{z{{{|z|{{{{|{{{{z{{|{{z{{z{z{zyzzz|{{{{z{{{zzzzzz{{{z{{z{{zxzzzzz{{{|{{{{{{{zzzz{z{z{zz{||{{zzzzz{{z{{{{|{zzz{yzy{z{zz{{zzzzzyzyxz{{z{{zzzzzzyz{zz{y{{{{{zzz{zyyzzzz{{{{zzzy{zzyzzz{{z|zz{{zzyzyzy{{{{{z{zyzyzz{yz{{{z{{zzyzyyzzz{{{{zz{{yzz{yzzzzzz{{z{{{{zz{zzz{{{z{z{{zzzyyzyz{|z{zz{|{zzyyz{zzz|z{z|{z{{{zyzzz|{{z{{{{z{zzzz{{{{{{{{{z{z{zz{{{{{z{{{{{zyz{{zz{z{{|z{|{{{{{zz{|{{{{||zzzz{zzzzz{{|{|{{{{{zz{zz|{{{|||{{z{z{{z{{{{{{z|{z{{zz{{{|}{||{{|{z{{zzzzz|{{||||{z{{{{z{{{{z{{{|{zz|{|zz{{{{{|||{{{zzz{z|{{{{{{|{z{zzzzz{{|{{|{{{{{yz{z{z{{zz|{zz{z{zz{zz{{{{{}|{zzz{z{{{||{||{{{zzz{{z{|{{{{{|{{|{zz{zz{{{{z{||z{zzz{{zz{{{||{|zzzz{{{z{{z{z}{|zz{z{{{{zz{{{|{zz{zzz{zz{z{{z{{{z{{zz{yzz{{zz{{{{{zzzzzzz{|z{{{{{z{z{zzz{|z{{{{{z{{z{yzy{{{z{{{zzz{zzz{zz{z{{{z{zz{zzzzzz{{{|{|{zz{zzzz{{||{{|{{zy{yzzzz{{{{z{||{z{zzyz{{z{{{{z{{z{zzz{zz|{{{{||{{|{z{zz|{|{}{{{{{|z{z{{{|}|{{{||{|z{{{z{{|{|{||{{z{|{{z{{{{|||||{{z{z{z|||{|{||{{{{{{{||||||||}|z{{{|{|||{|{|||}{{z{|{{{||}{{|||{|z|z{zz||{|||z{{{{{{{{{{|{|{{||{{{|{{{{z|{||||{{zzz{{z{}{{|{|{|zz{zzzz{|{{z{{{{{|z{zzz{z|z{zz{zzzzz{zz{{{{z{z{{zzz{zz{z{{{|{{{z{{zz{zzzz{||{{zz{{zz{{zz{{{{{{{{z{yz{{x{{{{|{z{{z{z{z{zz{{{{||z{z{zzzzzz{z{z|{{|z{z{{zzz{{{{|{{z{zzzzz{{{{{|{|z{z{zy{z{{{z{{{{|{zzzzzyy{{|z{z|{zz{z{zzzy{z{z{z{{{{yzyzz{{zz{{{{yz{zzzzy{z{{{{{{{{zzzzz|z|{z{{{|{zzzzy{z{{z{z{{|{{zzzz{y{{|zz|||z{z{zzzzz{{{|{z{{zzzzzzz{{{{{{|{{zz{{{z{|{{{{{z{{zz{|{zz{{{|||{{{{{{{{z{|{{|{|{|||{{{z{{{{|{|{||{{{||{{{|}{{{||{{{|{{{{{||{{{||{{{|{z}{{z|{{{{||{{{{{z{{||z|||{{{{{z{{z|{|{{{|{{|zzz|z{{|{|{|{||zz|zz{{z{{{||{{{|zzzz{{z||{||{|{{{zzz{z{z{{{{{|{z{zz{zzzz{{{{{|{{z{z{z{z{{|{{}{|zz{{zzzz{|z{{||{z{zzz{{z{{{{{{{{z{{zz{zz{z{{{{{|zzz{{zzz|z{z{|{{{{zzzz{z{{{|{{{z{zyzyzz{{{z|{{{{{zzyzyzz{{{zzz{{z{zzzzz{{{zzz{{zzy{zzzyy{{{{{z{{zzzzyzzzz{{zz{z{z{zyyzyyz{z{z|{|zz{yz{zz{{z|zz{|{zzz{zzzz|||{{z{zy{z{z{z{{{{{{z{z{{zzzyz{{{|{{{|{z{{zz{{{z{{{{|{{zzy{zzz{|{{{z|{{{z{zz{{{|{{{z|{|{{{z{{{z{|||||{z{{|{{{{|{|||{}|z{{{{{z{{{|{{||{|y{|{y{z{|{||}|||||z{{{{{{|{{||||{{{z{{{{|{|||||{{{{{{{{{|{||{{|{{{{z{yz{z{z||{|{{z{{{z{{{{{{|{|zz{zzz{z||{{{|{|{{z{{z{{|{{{|||{}{{zzz{{{|{{{|z{{||{{z{zz|z{{{{{{{{zzzz{{{{{{{{|zzyz{z{z{{|{{{|{zz{zzzzzz|{{{z|{{{{{zy{zz{{{{{{|z{{z{zz{{{{||||{{zzz{{zy{{{zz|{{zzzyzzz|z{z{{{{|yzyzx{yz{{{zz{|{{zzzzzzz{{|{{{yzz{{zzz{zz{{{z||{zzzz{{yyz{{{{{|zzzzz{zyzz{{{z{{{{y{yzzzzzz|{{{|{z{zzzyz{z{{{{|z|zzz{zzz{z{{{{|{|zz{{{{zzz{|{{{{|{yzy|zz{{z{{}{{{{{{zzzzzz{|{z{{{{{{{{zzz{{{z|{{{{{{{z|{{z|{{|{||z|{z{{{z|||{||{{{z{zz{{{|{}|{||{{{z{{z{z{|{|||||z{{z{{|{{{|{|{||}{{z{{|zz}|||||}||{zzz{{||||{|||{{zz{yzz|{|{|{|}{{{z{{z||z{|||||{{y{{{yz{{{|{{{|z{{{{{{z{|z{|{{{zz|z{{{{|{|{{{{{z{zz{zzzz{{{{{z|{z{zyyzzz{z{{{|{|z{{zzzyz{{{{|{zzzz{z{z{{{{{z{|{{zzzzyzy{z{|z{{|y{{yzzzz{{zz{{|{zz{zzzzz{{|{{{{zz|zzzzzz{zz{zz{|z{yy{yzy{|{z{|{{zzz{zzzz|zzz{{{{{zzzyzy{zzz{{{{{z{zzzzyz{z{z{{zzzyzzzyyz{zzz{|{zzzz{z{zy{z{|{{{|{zzz{zzyz|{{z|{zzzz{yyzz{zz|{|{{z{zz{zyz{|z{{{}z{{{{{zzy{|{{||{{{zzzzzzz||{{{|{{{zzzzzz{z{{{z|z{{{{{{{z{{||{|{{{{zz{{{zz{{|||||{{{z{{zzz|{{{|||{{z{{{{{{||{{{{|{{zz{{{{{|{||||}{|zz{||{{{{}||||||{{{z{{{{{{|||{{|{{zy{z{|{{|||||{{z{z{z{{{{{|{|}z|{zzzz{{{{{{|{{{{zzzzyz{{|{z|{|{{z{{zz{{y{z{|z|z{z{{z{zz{z{{||{z{{z{{zz{z{z{z{|zzzz{z{y{z{{z{{|{zyzzy{{z{|{zz|{z{zzzzzy{z|zz{{{zzzz{z{z{{z{z{{z{zz{yzzzz{{{z{{{{yzzzzzy{zzzz{{{zzzzzz{zz{{{zzzz{yz{zzzyz{{z{zzzzzzzyy{zzz{z{{zz{zzzyzyzyzzzzz{{zzzyzzzzy{yzzz{zyy{z{{zz{z{{{|{{{z{yzyzzz{{{z{{{zzzz{zz{{{{{{{z|zzzzzzy{{z{z|{|{{zzzzyzzzz{z|||{z{{{{{z{y{{{{{{zzzzz{{{{{{{{||{{{zzz{z{{{{||z{{{z{z{zz{{}{z{{||{{zz{zyzz{|||{|||{yz{{z{z{||{{{||zzz{{{{{{z{|||||{z{{{z{|{}|{||||{z{{{{{{||{|z||{{z{{{{{z||{{z{|}|z{{{{{z{z{{z{|{|{zzz{z{z{{{{{{{|{{z{{zzz{{{{{{|{zzzzyzz{||{z{{{zzzzzzzxy{{{{{|{{z{zz{{z{{{|{{{||{zyzzzz|z{{|{{|{z{{zz{z{{|{z{{{{{{zzzzz{{{|{{{{{{{zzzzzzz{zz{{z{z|{|{z{{{{{{{{{zzz{zzz{{{zzzz{{yzzyzz{zz|{{{z{{zzzzzzzzz{{z|{zzz{{yz{z{zzzz{|zz{{zzzyz{z{zz{z{{{zyzzzzzz{z|z{{{zy{{z{{zz{{{z{|{zzzyzy{zz{z{{{{{zzzzzzzz{{{zz{{{{zzzzzyz{z||z{z|{z{zzzzzz{z{||z{zz|{{{zyz{{{{z|{{zz{zzzz||{{{{{{zz{z{{z{{{||{{|{z{zzzz{{|{{{{|{|{{{{{{{zz{}{|{{{{{{z{{{{{}|{|{||zz{{{{{zz|{{{|{}{{zz{|{{|||{|{|}{{{|{{zz|{{||||{z{z{zz{{{|{{|{|||{{z{|{{|{{|{{|{{z{zzzz{||{|{|||{{{{z{yz{{||{{|{|{{{{{zz{{{z{zz{{zz{{zzz{{{{z{{zzzzz{zzz|z{|{|||{zzzz{zzz{{{{|z{{z{zzyzzzzz{{z{{{z{zyz|zz{{{{{z{zz{zz{zyzz{zz{{zzzzyzyzzyzzzzzzz{{zzyzyyz{{zz|{{zyyzzyzz{z{zz{{z{zzzzzx{z{zzz||z{z{zzyyzy{{z{{{{{zzyyzzzzzzzz{{{{{yyzzzyyyzz{zy{zz{y{{{yzzz{zz{{{zzzzz{y{{{{z{z|zz{yzyzzzzz{z{|{{z|zzzzz{{{{{{|{{z{{zy{zz{{|||{{zz{z{{zz{{{{{{|{zzz{z{z{{{|{{{{{z{zz{z{{{zz|{{z{z{{z{z{z{{{{z|||{zz{zzzz{{|{{{{{{zzzz{{{||{|{{|{z{{z{zzz{{{|{|{{|z{{{{{{z}{{||||{zz{zz{{{{|{{{{{{{{z{z|{|||{||{|{zz{zy|{{{z|z|{}z{{zzz{z{{{{{{{{{z{zz{z{|{{{z{|{yz{{z{zzz{{{{|{{{{z{z{zz{{|z{zz|zzzzzzzy|{{{{{|{zz{{{zzz{{{z{z{{{zzzzy{z{{{{z{|{{z{zzyzy{z{{z{{|y{yzzzy{z{|zzz{{|zzzzzzzzz{yz{{{yzzzzzzzyy{zz|zzzyyzzyxyzz{zz{{{|y|zyzyz{{|z{z{z{yyyzzzzz{{zz{{{zzzyzzzzzzzzzz{zzzzzyyyyz{{z{{{|yzzz{{zy{z{{y{|{zyz{{yy{z{{z{{|z{z{{zyz{{{{|z{|{zzzzzzzzz|{z{{|{{{{zzyzzzz|zz{|zzzzzzzy{{{{y||{{{{zzzzz{{{{{|{z{|{{zzzzyz{|}{{{|zzzz{z{{{{|{|{{{{z{{{zzz{|||{|||{{{{{zzz{{{{{|||{{|{{{|{{{{||||||{z{z{{{{|||||{{zz{{{z{zz|||{|||{zz{{zzz{{{{{{||{{zzz{{{{{{{{{|{{z{{z{zzy|{{{|{|{{zzzz{z|{{{{{{{{zzz{yzy|{{|{|{{|{z{|zzzz|{z{z{|{zz{{zz{z{||{{{|zzzzz{{{z{{{{{|zzz{zz{z{{{{z{{{{{{{zy{zy{{||{|{{{z{zz{{{z{zzz{zz{{zzzzz{z{|{z{{z{zz{yz{z{z{{{z{{{z{zzzzzz{{{{{zzyyzzz{zzzz{{{{|{z{yyzzzz{{{{{{|{zzz{{zyzz{zyz{z{zzzzz{yzz|{{{|{{{zzy{{zzzz{{{||zzzzz{{zz{z{{{{|z{zzzzz{z{{{{{|||z{{{z|zz{{{|{|{{z{{zzy{{{{z{z{z{{z|z{z{z{{|{{{{{{{|{z{z{{{{{{|{{{zz{|z||zz{{||{{zz|z{{{z|{{}{|||{{{{z{{{|||||{||{|{z{z{{|||{{|{|{{{{|{||{|zz{||||{{z|z{{{|}||{|{|{{{zz{{||||{|{}|z{{{z{|{|z{|||||z{{|{z{|{z||{||{{z{z{{{{|{{{||{{{z{{zz{{{||{{|||{{z{{{{|}z{{|{{z{zzzy{yz{|{z{{|zz{{zzzz||{{{{{{{{zzzzzz{z{{{{{{{z{{{{z{{z{zzz|{zy{zzzzzz|{{z{||z{{zz{{zzz{{z{{{{{{zzyy{{{{zz|z{{zzzz{yy{z{{{z{|zzzzzyzzz{{{{{|{zzzzz{yz{{{z|{{{{z{zz{zxz{z|{z{|{z{{zzzzz{|zz{{z{zzzyzyyy{z{{{{|{y{zzzz{zz{{{||zzzzz{{{{zzz{{zzz{{{yzzzz{z{{{{|{z{zzzzzz{{{z{{||{{zzzzzzzz|{z|{|{{{{z{zz|{{{z{|{z{zzz|{{|{|{{{{zzz{z{zyz{{||{|{{{{{z{{{{|{{|{{||{z{{{z{{||{{|||{{z{{{z{z{||{{{||z{|{{{|{||zz}||||{z{{{z|{{|{||||{z|{z{{z{{{||||{{{|{z{{{{|{|{|{|{{{{{{|{z{{{|{{|z|{zy{{{{{{|{{||{|zzz{{{{{{{{zz{{{|zy{z{{||{{|{{{zy{zzzyz{{z{{z{{{{z{{zz{{{{{{{{z{z{zyzz{z|z|{{|zz{z{zzy{{z{zzz|{z{zyzzyz{z{{{{|zzzyy{zzz|zz{|{{zz{yzzxz|{{zzz|z{zzyy{{z{y{z|{z{zyzyzzyzz{{{z{{zzzyy{zyy{z|z{z{z{zzzzzyzzz{|zz|{zzyzzyzzyzzzzz{z{z{yzz{zzz{{{{{{zzy{zzzz{z{|{{{{{zzzzz{{{zz{{{{{{{|z{{zz{zz{{{{{zzz{zzzz|{{{z{|{{z|z{{{z{||{{{{{{zzz{zzz{{|{{{{{zzz{{zzz|{zz{|{z{{{zzz{{{{|{{z{|zy{z{z{{z{{{||{|zz{{zz{z|{|{z{{z{z{z{zzz|{{{|{|||{z{{z{z{{z{{|||{{{{z{{zz||{|{{|{{{{{{{{z|{|{}|{{z|{{{zz{{{|||||{{{{{z{{{|{{||{|{{z{{{z{{{z{{{{{{{z{z{z{z{|{{|{z{{zzzz{{{{|{{{z{zy{z{{zz{{{{{|{||{zzzzy{{{{{{|z{z{yzzzzz{z{z}{z|{z{zzyyzz{z{{{|{zz{z{zzzz{{z{{{{{zzzzz{zz{zz{{{{{{{zzyzzz{z{z{{{{yz{z|zzzz{{z{{zzzyzzzzz{z{|{{z{zyzzzzy{z{{{{{{{{{z{zzyz{{z{zz{{zyy{zyzyzzz{zz{|zzz{zxyzy{{z{{{zz{zzzz{z|{{z{zz{{zzyzzzzz|{{z{|{{z{z{zzz{z{|{{z|z{zzzzz{{|z{{{||{{z{{z{{{{z{{{z|zz{zy{zz||{{{{|{{{{z|z{z{{|zz{|z{{{{|z{z{{||{{|}zz{{{{{{|{z|z{{||{{|{{zz{|{{|{|{{z{{{zzz|||z||}{{{{z{|{{||{{{{||{{{{z{z|{|{|||||}zz|z{|{||{{|{||{{{z{{z{z|}z{|||z{{|{|{{|{{{|{|{{{zz{{{z|{{{{{||z{{{zz{{z|{{{|{{z{{zz{z{{||||{||z{y{{yzzz{{{y{z{{{{{zzzz{z{zz{z{{{zzzz{z{{zzz{{{zzzzzzyzz{{{z{|zzzzzz{yzzz{{{|{{{{{zzz{zz{{zzz|{{z{{z{yzz{|{{{z{{zzyzzzzzz{{{|{zz{zzzzzzz{{z{zz{zyzzyzzzyz{z{{z|zzzzzzyzz{zzz{{{zyzzyzyyyzzz{zz{zz{zzyzz{{z{zz{{zz{y{{yzzzz{{z{|{zzzzzzyz{{z{|{|zyzyzy{z{{z{{{z|{{{zzyz{{{{{{{|{{zz{zyzz{{|{{{|z{yz{z{zz{||}z{|{{zz|zzz{{{|{z{{{{zz{{}{zzz{{{|{{{zzz{z{{|{|{{{|||{zz{z|{{|{{{{{{{{{z{z{y{|{{{||{{z{z{{{{z|{{|}|||z{{z{z{{|{}{||{{{{z|z{{||||{}{{|zz{|{{{{{{{|{{{{zz{zzz{|{z|{{|{{{zz{{zz{|z{{{|{{z{z{{{z{{{{{|{|{z{zzy{{{|{{{{z{zzzyzzzzz{|{z{{|{xz{zz{{{z{zz|z{z{{zzz{z{zzz|{|{{z{zzzzzz{|{{{{{z|{zzzzyz||z{{|{zzzzzzzzz{{zz{{{{z{zzzzzz{{{{{zz{{y{yyzzz{z{{z{{z{yyzzzz{{{z{z{zzyzzzzzzz{|zz{z{zzzzzzzzz{{zzzz|{zzzzzzzzyzyz{z{zzzyzzz{y|{z{|z{zzzz{zzy{zz{{{{{zzzyzy{{{z|z{{{{{zz{zz{z{z{{zz{{{yzzzzzz{{{{{{{{z{{{zz{yz{z{{{|{zzzz{zyz{{{{z{|{{z{z{z{z{|{z{{{{zz{zz{{z{z||{{{{{{{{{{{{{{{{|{{}|{zz{{zz{|||{{|{{z|{|{{{{||{{||||{{|z|{{|||{{{||||zz{{{z{||{{||{|zz{{{{z||{|{{{{{{z{z{z{|{||{||||{|{{{{{{z|{{{|{{{zyz{{{{{{|{{{{{{z{z{yz{|{{|{{{{{zz{y{{{z{{|{{{zzzzyzyy{{{{{{{|{zyzzz{{z|zz{z{|z{zzz{zz{z{{{{||{z{zz{zz{{{|{zz{{{zzzz{{{z{{{{z{zzzzz{zzz{{{{z{z{z{zz{zz{{z{z{{{{{zy{zzzzzz{zzz{yzzyzyzzz{{{z{{{zzzz{{yzzzzzz{{{{z{zzzzz{{zz{{{{{z{{zy{yzyzy{{{zyzzz{z{y{z{|z|zzyzzzzyzz{z{{{{{{{zzzzz{z|{{z{{{z{z{z{zzz{|{{{{{{{{zzzzyzzz|{||{{{{{{{z{{{{{{|{z{zyz{zzz{z|||{{|z{zyz{zz{|{{{||{{{z{z|zz{{{{|{|{}{{{|z{{{{{{|{{||{{{{{zz{{|{{{{|{|{{{{{{z|{{|{|||{|{{|{|{z{{||||||{{{{{{{z|||{{{{{z{{{{{z|{{{{|||{{y{{{{{|{{{{|||{{{{{|{|{{{{|{||{{{{z{{{{{|||{||z|{{{z{{{{{|{{{|{z{{zz{{|{}|{{{|zzzzz{yz|{{{{{{{z{z{zzyz{{{{|||z{zz{zzyy{z{{{{|{{y{z{z|z{{z|z{{|zy{zz{zzz{z{{z{{zzzzzzzy{{{{{zz{zz{zyzyz|{z{z{{{zzzyzz{zzzz{z{zzzzzzyz{z{{{{z{|zzzz{yyz{z{{z|{z{zzzz{zzzz{{{{{{{{zyz{z{yyz{zz|zzzzyzzz{{z{z{z{{{{y{{{zzz{zz{{{{z{zyz{zz{||{||zz|{{{yzz{zz{{{{{{|{zzzzzzz{|{{z||z{z{{{z{{{{{{{||||z{zz|z{{{{{{z|{{z{z{{{{{{|{{|{{z{{{{z|{{{{||||{{{z{z{{|{{||{||{{{{{{|{{|{|{{{{{{z{|{{zz{|{{{|||{{|zz{z||{{||}||{{{zz{{{{||{{{|||{z{{{{{||{{{{|||y|{{{zz|{{|||}|{|z{zz{||{{|{|z|{{{{zzzz{|{{{|||{{{{{{{z||{{|{|{{|z|{{|{{{{||{{zzzz{zy{yz{||zz{{z{zzzyyz{{{{{|{{{y{y{zzyzzzz{z{{{z{yzzzzz{z{zz|{{{zzyzzy{z{zz{z{y{{yzz{y{{|zz{zz{zzzzzzzz{{zz{zzzzyzzzzzzz{{z{{{yzzzyyzzz{{{{{zzzzzxyzzzzzz{{z{yzzzyyyzy{|z{zz{{{zzzzzzyz{z{zzzzzz{yyyzzz{zzz{{{yz{{yzzy{{zzz{{{zyzzzzz{zz{zz{{zzyzyy{yzz{z{zzz|zz{yyz{yzz{{{{|{z{{zzzzz{{zz{{{{{zz{z{zzz{z|{|{zzz{{zzz{{|z{{{{z{zzz{z{{{z|}|{{{zzzz{{{z{{{{{z|{z{z{{yzyz{|||{||{z{{{y{{|||z||||zz{z{z{{|{|{z||{|{zzz{z{|{{{{z||{z{{zz{{z{||{{z{z{zzz{z{{z|{{{||{{z{zzz{{{{{{{{}{z{zzz{z{{{zz|{||zz{zzz{z|{||{{{{{{z{z{{z{{{||{|{{yzyzyz{{{zz{{{{{{zyzzzz{|{{{{}{{zz{{z{{z{{{|{{{z{z{yz{z{{|{|||{z{zzzzz{{|{z{{{{{zz{z{z{{{{z{{{{zzz{zzz{z{{{{{{{{z{yzz{zz{{{{|{zy{zz{zz{{z{{y{{yyzyzzyzz{{zz{{zzz{zy{yzz{||y{{{zzz{zzyzyzzzz{{z{z{yyz{zz{z{{|zzzyzzzzzzz{{{{|{|{{z{zzz{{|{{{{{{zz{{zzzzz{{zz{|z{z{{z{zz{{{{{{{{{z|{{zzz{{{{{{|{zz{{zz{{{{|{|{|{|zyz|{{{{|{z|||{{zz{{yz{{{{|{|{{{z{{{{|{||{|z}}}{z{{|{z{||||{{{{|{|{|zz{||{|{{||{{{y{||{{|{{{{||{{{{{{z{|}{||{|||{{{{{{{|||z{|{|{z{{{{y|{z{{|||{|{zzzy{{|{{||{||{{zz|{z|{|{{{|{|zz{{{{{zz{|{{{||{{{z{{zz{|{{{{z{z{{zz{{z{{zzzz{{z|{{zyzz{{{z|z{{{zzzzzzz{z{{{{|zz{yzzzzz{{{|{{|{{{zzzzzy{z{{{{{|z{zzzzzzz{{{z{{{zz{z{zz{{{{z||{{|zyzzzyyz{|{{|z{zzzzzyzzzzzzz{{zzyzzyzyy{{{zz{{z{zzzzyyyz{|{zzz{zz{{zzzzzz{zz{{zzzyzzzzz{{y{zz{zzzzzyzyzz{z{z{{{z{z{yz{z{z{{z{{|{yzzz{zz{|zz||{{yzzzzzzz{|{{|{{{{|zzzz{z{{{|{|{zz||{z{zz{{{{|{{{{z{{{|{z{{z{z{{||{{{{{z{|{{||{{{zz{z|{{{z}||{|||{{z{{{z{{{{{|{|{{{{{z{{zz{{{{z{|{|{|z{{{{|{|z|||{{{|z{{{z|{{|}|||{|{z{z{{{}|z||{|zz||{zz{||{|{||||{z{{z|{{{|{|z|{zzz{{yz{|{|{{{|{{{{z{{z{{{|{{z{{{zz{{zz{}{}{{z{zzzzzzzz{{{{z{|{{zyzy{{z{|{{{{{{{z{{zzzz{{{z|z{{{{{z{zyz{|{{zz|{{{{yzz{y{zz{{{||zz{zzz{zz{zzz{{{z{z{{zz{zzzzz||{zzzzy{{{{zz|z{z{yzzzzzyzzzz{z{{{{{{zzzyz{{{{z{zz{z{zzzzz{z{zzz{{{z{yzy{zzz{zz{zzyyzzz{z{{{{{{{y{zzzzzzzyzzz{{|{{zz{z{zzz{{z{{||{{y{zzzzz{|{{{{{{z{z{zz{z{{{z{{z{{{{zzz{zz{{z{{{{z{{z{z{z{{|{{z{{{z{z{{{{{|{{z|||z{z{{{{{|{||{||z{{{{{{{{{{{{{|||{{|z{yz{||{||{|{{zzz{zz||||{{{{|z{{{z{|{{{|{{||}{{z{|{{{|}|{{{|||z{{{{{z{||{|||{{{{{|{|{{|||{|||{{{{{{z{z{z||z{|{{{{z{{{{{{{{||{{{yz{{{z{|{|{|||z{z{{{{{||{{|{{|z{{{zz{{{{z{|zz|{{{zzyzzz{{|{||{{zz{zz{z|zz{{z{{{{{zzz{z{z{z{|{{{zzzyzzyz{zz{{{|{z{zzz|zz{z{{{{{z{z{zz{y{{{z{{{{zzzxz{zzz{{zzz{|zz{zzzzz{z{{{{zyzyzzzyzzzz|z{{z{{z{zzyzzy{zzzzz{zzz{zzzyy{zyzz{{{zzy{y{yz{yzz||{zyzz{z{z{z{{z{{z|{z{{z{y{{zz{{||zz{{yy{y{{z{zz|{zzzyyzzzz{{z{{|{{z{{zyzz{{z{{{z|{{{zzzz{{{{{|{||{{z{|{zz{{|z|}{{z|zzzzz|{z||||{{z{{z{z{{{{{|{||{|z{{{zzz{|||{z||zz{z{|{|{||}{{|{{z|zzz{{{{{|||{{{{zz{{z{{|{|z{|||{{{z{{{{{|{{{||{z{{{zzz|{{|{||||{{zzzz{|{|{{|}|{{{zz{z{z{{|{{||{{z{zzzz{||{{z|{{z{{{{{y{|}}{{{{|yzz{{z{{{|z{{z{zzzz{zzz{{z{{{{|{zz{zz{{z{{{|z{|{zyzz{{{z{|z{|{{{zzzzzzy{{|{{z{|z{zzz{z{zzz{{{|z|zz{zzyz|{{{{|{z{yzzzzzz{{{{{{z{zyzz{yzy{{{{yzzz{zz{zyyzz{{{{{{{{{zzyzyyz{{zzz|{zzzyyyzzyzzz{z{{z{z{yzzy{{{{{zz{zzzzzzzyzz{z{{{z{z{zzzyzzz{z{z|{z{zzzzzy|{{zz{z|{zyz{yzz|{|{{{||{y{zzz{{z|{{{||zzzz{z{yz|{{{{||{{{yz{{{{|{{{{|{{{zzz{{{z|z|{|{|{{z{zzz|{|{{{z{{{{{{{{zzz{||{|{|{|{{{zz{{|||{||}{{{|{zz{{{{{||}|{{{{{{{{{{|{{{||||z|{z{{||{{|{|}|{z{{{{{z{z{||{{|{{zz|z{z||{|||{{{{zzz{{{{{{|{}|{{{zz|yzzz{{|||{||z{zzz{z{}||}|z{{{zzyyy{{{{{{{{|zzzzzy{z{z{{z|{|zzzz{z{z{|{|{{z{zzyzyzzzz{{{{{{{{{zzzyzy{zzzz{{{{z{zz{{zzzz{zzz{{zzzzyzz{{z{z{{{z{zzzzzzz{{{{zz{zzyzzzzz{{{{{{{{zyyyyyz{zz{z{{{zyz{zyzyzz{z{{{zzzz{{zzzzzz{z{{{z{yzyzzzzz{zzz|z|zyyzzzzy{{{z{{{{zzz{zyzzz{|zz{|{{zzzzzzzzz{z{{zz{y{zzyz{zz|{|{{{{zzzzzzzz{{{{{|{{z|zzzz{{{{|{||{{z{{z{z{{{{{{|{{zz{z{zz{{{|{{||{{{{zz{{{|||{{{|{z{z{zz{z|||{{||{|z{{|{{z||||{}{{|{z{{z|{{|{{|||||{{{{{{{|}{|{||{{{{{{z{z{|{{{{||zzzz{{{{{{{|{{|{{z{{{|zz{{{{{|||{{zz{zz|z|{z||||z{z{z{zz{z{{{}{{z{zz{zzz{|{}}{z|zzyyzzz{z{|{z||{z{zz{zz{{{{{{{||zzzyyy{z{z{{{{{{z{{z{|{z{{z{z{|{{{{{zz{yz{z{{zz{zz{yzzzy{{zzz{{{{{zyzzz{{z{zz{z{zzzyyzzz{z{{zz{{zz{yzzzzzz{{|{{zzz{{z{zz{{zz{zz{yz{zyzzyzz{{{|{{zzzyzzzyzz{z{|z{{{zzzzzyz{{zz{z{yyz{z{zzz{zz{{{z{{y{yzzz{{z{{{z{{{{y{zy{{z{z{|z|{zz{{z{zz{{{z|{{zzzz{zz{{{{|{|{zz{{{{{{y{z{z{{{{zyzz{zz{z{{zz{{z{yz{zz{{{{||{{|{{{{z{{|z|{{|{|||{zzz{{{z{|{|{||{}z|{z{{{||{||}||{{{{{|{{{{z{|||{|{z{{{z|||||{|{{|z{{{{{{{{||{|{{|{{{{zz{{z{||{{|{z{z{z{z|{{|||{|z{z{z{{{|{{{z|}|y|z{z{{{{{||||||{{{z{zz|||}|}{z{zzzzzzzzzz|{{{|z{{zzzyz{z{{{{|{{zzzzyzzz{z{{{z{z{zzzzzyy{{z{zz{|{{{zzzzz{{{{|{{|z{z{z{{zz{zz{|{{{zy{zzzz{{zz{{|{zzzzzzy{zzz|z{z{zzzz{zzzy{{z{z{{zzyyz{zzz{z{{{{{zzyzzzy{z{zz{{{|z{zzzyzy|zzzzzzz{{zzzzzz{z{z{{{{zzz{zzzz{{{z{{{|zyzz{y{z{{{{{||{zzzzzzzzzz{|{{{|zz{zzzzzz{z|{{z{{zzzz{zy{{{{{|{{zzzzzzz{{||z{z|z{{{zzz{zz||z|{||{zz{{{{{{{{|||{{z{{{{{{z|{{{{{{||yz{{z{{{|{||{|{|z{z{{{{{}{{|{||{{z{zz{{||{{|||||{{{z{{z{|||{||{{{{{{{|{|{{z|{|{|{{{{{{|{{{{||{{|zz{{{z{|{||{||{{{{{zzz{{||{{{{|{{zz{{zz{||||||{{{{||z|{{|||||z{z{yzzzzzz{{{{{{{{yyz{zzyz{{zzz{{z{{zzzzy{zzz{{|z{zzzzyyyz{{{zz{{{z{yzzzz{zzz{zz{zzzz{{zzz{zzz{{z{zzyzzy{{zz{z{zzyzyyy{zxzyz|{{{|zzzzzyzyzzzzz{{zzyzyzyyy{y{zzz{{zyzzyyyy{{yy{zz{zzyyzyzyzzz{z{yzzz{zz{yzzzzzzzz{yyzyyzzyzz{zz|{{{zyzzzzzz{zz{zz{zzyzyyzzzz{zz{{{yzzyz{zz{{|{{z|{{z{{{{zzz{{z{|{z{zzzz{zzz{{zzz{{{zz{z{yz{{|zz|{|zzzz{y{y{{z|{{{{y{|{{{z{{{z{{|||zzzz{zzz{z|{{{|{|{zz{{z{{{|{{z||{{z{{{{{{{|{{{|{{z{zz{{zz{{{{{{||{z{zz{{{{{|{{|{|zzz{{{{zz{||{{{zzz{{{|zz{{{{{{|{zzz{{zz{{z|{{|{z{{{z{{z{|{|{|z{{z|zzz{{{|}{}|{{z{z{zzzzz||z{|z{{z{{{z{{{z|{{{|}z{{zzz{z{{{{{{{|z{{z{y{z{||{{{|{{{{yz{{z|{}{{||{zz{z{yzzz{{z{z{{{{zz{{{zz{|zz{{{{{{zzyz{{{zz{z{zzz{zzyzyz{z{z||{zzz{zzzzz{{{|{{{{{zzyzzzz{zz{{{{zz{zyzzyz{{{{zzzzzzzzzzzz{zz{z{{{zzzzyzzz{{{z{{{{zzz{y{z{|{{z|{{zz{zzzzz{{z{{}{|z{zzzzzz{|{{{{|{{{{{zzzz{z|{{|{{{zzzz{zz{{|{z{{{{{{{zzzyz{{|{||{zz{{{zz{|{{||{{|z{z{{{{{{|{|||{|{zzz|z{{z||{{|||{{{{{z{z{|{||{|{{zz{z|{{||{{||}}}{z{{{|{{|{|{||||{{|{{{|{z{}{|{|{{{{z{{{{|{{{{}{{{z{{{{{{|}|{{|}z{{zzyzz|{{|{{|||{zz{z{{{||||{{{}{}z{{z||}}|}{zz{{zzzzzzzz|{z{{|{zzz{yyz|{{z{{{{{yzzzzz{z{{z{{|{zzzz{zz{zz{{{|{|{yzyzzzz{{{{z{z{zy{yzzzz||{{z{{{{{{zzzyz{{{zz{{zzzzyzzzzy{z{{z||yyzzzzyzzz{{{{zzzz{zyzzzzz{z{{{{zz{yzzzz{zz{z{{{zzzzzzzzyzz{y{z{{zzyz{zz{|zzz{{{{zyzyzzyzz{{zzzzzzzzzzyzzzzz{{{{{z{zzzzz{zzzz{{{zz{yz{zzy{z{{{{{{z{{zzzz{}{|||{{{zz{z{y{|{{{{|{{{z{{zzzz{z{{{|{|{{zzz{{|{{{{{}{{zyyz{{{{z{z|||||zz{zzzzz{||}}z{{{z{{zz{{||{{|{|||{{z{{{{z|{{{|||{{{|{{z{{|||{|||{z{{{{{{{{{{|||{{{z{{{{z{z{{{{|{{{{{|{z{|{{|{{{|{zz{{{z{{{z||{{{{{{zzzzz{|||z{{{{{|z{{zz|{||||{{z{zzzz{yz||{|{{{z{zz{zz{{{{zz{}|{z{z{zzz{{zy{z{{{{{z{zy{z|{|{{{{{{zz{z{y|{zz{{{|{zzzz{zy{|z{{{{{zzz{zz{zy{zyz{{zzzz{zzyz{zz{z|{{zzyz{zz{{zz{{{|zzz{{zzyz{{{{{{{zzzzyzz{zz|{zzz{{zz{y{yz{y{{z{zz|z{{yzz{zz|z{{||{zyzz{zzzzzzzz{z{|{zz{yzzz{z{{z|{zyzzzyz{|z{{{{{|{{{{zz{z{{{z{{{{{|z{{z{zz{|{{{{{{z{zzzzz{{z|z{{{{z{z{z{{{{|{{{{{{z{{{z{{{|||||{{{{{{{z{|{{{|{{{{|{{{{zzz{{{|||{|{z{{{zzz|||||||{z{z{{z||||{{|}|{|{z{{{{z{|||{|{{{z{{{{{z|{{||{||{z{{{{{{|{||{|}|{{{{{z{z{{|{{||{z{{z|{{zz|{{{{|{z{y{y|{{{{{{{{|{z{zz{z{z|||}}{{{|zyzz{zzz{|{{z{{{zzzzzz{{z{zzz{{z{zzy{zz{z{{{{{||{{zz{zyz{{{z{{{zzzzzzzyz{{y{{{{zz{zz|yyz|{z{zz{zyz{{z{{{{z{{{{{zz{{zz{y{{{{z{|z{{{zzzzzz{zz{z{zyzyyzyy{z{{{{z{{zzzyzzzyz{{{zz|{y{z{zyzyzzzy{{z{{zzzzyzzzz{{z{{zzz{zz{zzzz{{{{z|{{{z{{zzz|{{z|{|zzzyzzz{{{{|{{{{{{zzzz{{{z}{{{|{z{zz{z{zy|z{|{|{zz{zzzyy|{z{{{||{|z{{y{{{z{{{{{{z|z{{{zz{{{{||{{|z|{{z{{{{||{{||{z{{{{{z||{|||{|{z{z{zz{{}|{{|||{{{z{||z{|}|||{||zz{{{z|z|||||{}|z{|{{{{{|{{{||{|{{{{z{{{{||{{{||{{|{{z{{{|||{||{z{zz{{{{z|{{z|{{{zz{{zz{|{||{{{{{zz{{{z}{|||{{{zzzzyzzzzz{zyz{{z{{zzzzz{z{zz|||z{zz{{{z{zzz{{|{{zzyzzzzzz{{{{z{z{zzyz{z{||z{y|{zzzzyzzzz{{zz|{{zyzzzzzyzz{{{{{{zyz{zyzzzz{zzz{z{zyzzzzy{{zzz{z{{z{{zz{zzz{zzzz{z{zzzzyyzz{z{zz|{yyzzyzzzzzzz{z{{zzyzyzzzzzzz|{|{zzzzzzzzzz{{{{{zzzz{zyy{{{z{{{{zzzzzzzzzz{z{|{{zzzzzyzz{{{z{{{|{{zz{zyz{{z{{z|{yz{yzzzzz{{{{z{|zyz{{{z{z{|{z{{{{|z{z{zz{{{|{}|z{{zz{z|z{{{{{{||{zz|{{zz|{{{{{{{{{{{{{{z{|{{{{||z{{{z{{z{{{{|||{{{{{{{{{{||||||||z{{zz{{{|||{|||{{{z{{{{{|{{|{{|{z{z{{{{{{|{{{{|{{zzz{{{{|{||{{|}zz{{zz{{|z{{{{{zz{z{zzz{|{|||{{z{yzzz{{{{|z{{z|{{zz{zzz{{{zz{{{zzz{{yzz{{{{{z{z{zzzzyz{{{{|{{zzz{{zz{{z{{{{z{{zz{zzz{zzzz{{z{{{z{zzzzyzz|{{{{zz{zzyyzzzz{{{{z{zzzzzz{zz{{z{zz{{zzyzzzzz{{yz{{{zz{zzzyzyz|z{{{{{{zzyzyzzz{zzz{z{{zyzzzyzzz{zz{zz{zzzzzzzzz{z{{{{{zzz{yzz{z{|z{z}zz{zyz{y{{{{z|{{zzzzzz{{{{{{{z{{zzzzzzzzz{|{{{{{{z{y{yyyz{{{z{|{{zz{z{z{{{z{{z{{z{z{|z{{}|{||||{z{{|{{{z{|{|{||{{z{{zzzz|{z||{{{{z{z{{y{|||{|{{|z{z{z{{{|{{{{||{|z|||{{{||{|{|||{{{{{{|{|{||||{|zz{z{{{{z{z{|z|{{{z{{zz{{|{z{|||{|{zz{z{{z{|||||{zy{z{{z{|{{{|{z{{zz{{zz||{z|{{{z{z{zyz{z{|{{{{{|zzzzz{z{{{{z{z{|{zy{{zz{{zz{{|{{z{zzzzzz{z{zz|{{yz{zz{{{z{{{{{{z{zzzzzzzzz{z{{{zy{zzyyyzzyy{z{{zz{zy{yzzz{{z|zzzzzyzyzzz{zz{|{z{zyzy{yzzzzz{z{{zyzxzyzzzz{{z{{{{zzyzz{zzz{z{{zzzyzyzyz{z{{|{z{zzzzy{{yz{z{z{z{{zzyzzz{z{{{z{z{{zy{y{y{{z{{{{{{{{zzzz{{z{{{{z{{zzz{zzz{z{{z|{{{{{z|y{{zz{{|{z{|zzzzzzyz{|||zz{{{{z{{|z{{|{{{||{|yz{z|{{{|||{|{}{{z{{{zzz{|||{{{||{y{{z|{||{{{{||{z{{z{|{{{{{||{{|zz{{z{{{|{}{}{|{|||{zz{{{{{|{|||{z{z{{{{||{{|||zz{{{{z|{||{{||{{zzzz{zzz}{z{|{{{zzzzzzyz{{|{{|{{z{zzzzz{{|{{{|{z{z{zyyyz{z{||z{zzzyzz{{{z{{{{|{zzyy{{zz{{zz{{{{z{yzzzzz{{{|z{{{zzyyzzyz{zz{z{z{{z{{zz{zz{{{{z{{{zzzyyz{z{{zz{z{zyzyy{z{zzzzy{z|zyzzzyzzzzzz{{{{yzzzyzyzz{{{z{{yzzzzyz{zzzzz{{zzzzzzzzzyzzzzzz{{zzzyzzyzz{zzz{{zzyzzzzzzz{{{{{{{{zzzzzzzz{{{zz|z{z{zzzzz{{{z{{z{z{zy{{yyz{zzz{|zzzzz{yz{{{{zz{{{{zzzyyzz{{|{z{{zz{{z{{zyz{{{z|{{z{{zz{zzzz{|{{{|z{z{{z{{z{{{{|||{zz{zzzz{||{{{{{{{{{{zzz{|{{{{|{{z|{z{|{|{|{{{|{{{z{zzz{{|{{{{||z{{{zz{z|{{|}{|{{{{z{yz|{{z{{|||{zz{{{z{{{{|{{{|z{zzzz{{|{{{{z|{{zyzz{zy{|{|{{{z{{{{z{zzz{{{{{{|{|{{zzzy{{|{{||{{{{|{zzz|{{{||{{{{{{z{{zz{{{|||{{{z{zz{z{|||{{|{{{{zzz{z|z{zz{{{z{{{{{z{{|{{{{{{z{{{z{{z|{{{{|{{{{{{z{{zz{{{{{z{z{zz{zzz|z{{{{{{z{{zzzzz{{{{{{|{{{z{yz{z{|zzz{{{zzz{{zz{zz{{z|{{zzz{{zzy{z{z{||{{yz{{zzzz{{{{{|{{{{{z{zz|{{{{{|{{{{{{{{{|{|{{|{||zz{{{{||z|||{{|{{{{{zzz{||{{{{{{{{{{{z{||z||{||{z|zz{{{||{{{|{{{{z{{{{{{{|||}||{{{|{{||{|}|||}|{{|{{{|{{{}|}{||}{{{{z{{|||{|}|||{|{{||{{|||}||}{{|{{{{{{}{||||||z{||{{z||||{|{||z{{{{{|||{{|{||{{{z{{{|||||||||{{z{|z{z|||}{||||{|{z{{z{{{|}{||{z|z{zz{{|{|{{{||{zz{z|zz{|z{|{{{|{z{z{y{{{|{{{{{{zz{{z{{||{{|||{zz{{zzzzz{{zz{{{|{z{z{z{{|{{|{|{z{zz{zzz{{z{{{{{zz{{zzz|{|{|{|{z|zzz{z{z{{|{|{{zyz{{z{zz|z{{{{zz{zz{zz{{{{{{z{{|zzzyzz{{{{{|{{|{z{{zzzz{z{z{|{{zz{{{z{zz{{{{|{z{z{{{{{z{|z{{{{{{{zzz{zz{{|{{{z|{z{{zz{zz|{{{|||{{zz{{{z{{{{{{|{|z{{{z{{|{{|||z{{{{zzz{{|{||{{||{z{|{{{z{{|{||{||{|{{{{{||{|{|||{{z|{{|{{||}|||{z{{{{{z{||||{{{||{{{{{{{{||{{|||{|{|z|{||{|{{|{||z|{zz|{{|{||||||{z|z|{{||{}||{|{{{{{{{{{{|{||||{{|zz{z{||{||{||{{{z{{zz{|}|||{||{|z|{{{{|{||{||{{zzz{{{||||{{{|{{{{zz|z|{{{{{|{{{zz{zzz|{{|z|{{{z{{z{{z{z{{{||{|z{{z{zz{{{|{{}{{{{zzz{y{|{z|{{||z{{z{{z{{z{{{{{{{zz|{zz{||{{{{{zzz{zzz{{z|z|||{zy{z{z{{z|{{z{{{{z{zzzz{z{{z{{{{{{zzzyz{z{{z{{{|zzzz{zzzz{{{{||{{{|{z{z{{|z{z||{{{zzzzyz{{||{{{{{zz{z{{{{{{|{||z|{{{{{{{|{{|{{|{{{{zzz{{{|||{{|||{|{|z|{{{|{{|z|{{{{z{{z{||{{{{|{{z{|z{||{||{|{|z{{zz{{{||||}{|}{{{|{||{{||||{}|{{{{|{{z|}|{|{||z|z{{z{||{{|}|||{{{|{|||||{|}||||{{||{|{{|{||||}||{||||||||||||||z{z|{{||{||{}}}||{{{{{{||{}|}||{|{{{{z{z||{||||{{{|z{z{|{|||||}{{{{z{{z||||}|||{{{{{y{{{{{{{{{{{{zzzz{{||{{{{}}{{z{{{z{{|{|{{||{{z{{zz{{{{||{||{{zz{{{z{{|{{{{|{{{zz{zz{{|y{{||{|{zzzz{{{|{{|{|zzz{z{z{{{z|{{{|z{zz{z{z{{{{||{{{|z{z{{z{{{|{{{|zz{{zz{z{{{{z||{{{z|{zz{{{z{{|{{zz{zzzzzz{zz{|||z{{{{{{z{|{||{{{{{{{{{{z|{{|{{}{{{{{{{{z{|{|{|||{{{{{z{{||{{|||||{{|{z{{|||{{||{|{{{|{{z{{{||}}{|{{|{z|z||{z||{||{zz{{|{||||||||{{{||{{|{|||}||||{{{{{{{|||}|{||{{z||{z{||{}||{}{|{{}|||z|{{|||}|{|||{|||}||||}}}{{{{{{{||||||||||z|{|{||}}}||}}|{{{|{|||{||||}|{|{z{{{{{||{{{{||{{{z{{z{}||||{{{|{z{z{{}}||||{{zzzzz{zy{||{|z{|{{zz{z{{|{||{{|{z{{|{zz{|||{{{{{z{z{z{{|zz{|{{||{{zzzzzz{||{{{{}{z{yz|{z{{{{{{|{{z{z{zzy|{{{{{{{{{{z{{{{{|zz{{{{zzz{zz{{z{{{z{{|{zz{z{z{{{|||{{{zz{{z{zz{{{z{|{zzzz{zz{z{{z{z{{|{z{z{|zz|{z{{{{{{zzzzzy{{|{{{{{|{z{{{z{zz|{{{{{|zz{z{{{{{{|{{|{{{z{{z|{{{{|{{{}{|{z{zz{z{{{{||{{{{|z{zzz{|{{{{{|{z{{{zz{||{{|{{}{z{z{{z{|{||||{{{|{{{{{{|{{}||z{|{{{zzz{|{|}|||{|z{{|zz{||||{||}|{{{{{{{|||{{|{||{{{{|zz{|||||}||{|{{{{{|{{|{|{||{|{{{|{{||{}|}|{{|{|{||{{{|{|||{{zz{{|{{{||{|}|{|{{|{{{|}||{||{z{|zzz{{|{z{{{{||zzz{{{zz{|{{||{{{{{{z{{z{}|{||{||{z{{{z{{|||{|{{{{{{{z{z{||{|{{|z{{z{zz{||{{}||{z{{{z{{{zz{{||{{{{zz{|z{{{{{|||{z{z|y{z{{{{{{{|z{zz{{zzz{{{{{{{zz{zz{yz{{|z|||{z{z{{zzz{{{{{{|{|z{zz{{{zz{{{||{{{zz{{zz{{{z||{|{{{{{{{{{{{z{{||{|z|{z{z||||{z||z||{{zz{|||z{{||{{{{{z{|{|{|{{|||{{{{zz{{|{||||{|{{z|z{|||||||}}{z{|{{{||||{|{|{{{{{}{|{{}}|||||{{|{{{||||{||{||{{{|{{|{|||~~|||{{{{|{{|||||{|||}||{{|||{{{{||||}{||{{{||}|||}|||{||{{|||{|}|||||{|{{{{{|||{|}}}|{{{{|{|||{|||}{{{|{zz{{|||z{|||{{{z|{|{|{{{|}||{{{z|{|z{{||||{{z{z|{z{z{{|{{{{{{{{{{z{{{{|{{{}||z{z{z{{z{{||{||{{{z{{{z{{{{{{{|{{zzzz{z{{|{{{||{zz{{z{yz{z{{|{|{{zz{{{{z{{{{{{{zzzz{z{{{|z{{zz{{{{z{z{z{{{{z{{{{zzz{zyzz{{z{{{{zy{zzzyzz{|{{|z|z{zz{z{{{{{{z{{|z{|zz{{zz{{{{{{{{{{{{{{z{{z{{{||{z{z{z{{{{||{||||z{z{z|{|{|{|||{{{{z{z{{{{|{{{||||{zz{{{{{|||{{|{z|{{{{{|{{{{|||{{{z|{{z|{|{||||{|{{{|{{||{|}|||{{|{{{|z|{||||||z{{|{{{{||}||||{|{|{{{{{||||}|{{{{}z{|{|{||{||}}}{||{|{|}}}|||||||||{{z{|||||{||||{|z|{{{|{|||||z{{{{{z{||||}}|}{||{{{{||||{}||}{{{{z{{{{}|||{|||{||{{|z|{{||{z{{|z{{{|z{||{{{||z{{{{{{{{{{{|{|{{z{zzz|z|||{||{{{|{{{zz{{z{|{{{|{{{{{z|z|{|{{||{{{{z{zzz{{z{{|{|{{{{zzy{||{z{{{{{zzzz{y{{{z|{||{{z{{z{zz{{{zz|{{|{zzzzzz{{|{{z||{{zyz{zz{z|{{{|{{zzy{{zzz{{zz{{{z{zz{{|z{{z{{{{{{z{y{{zz{{|{{|{{{{z{yz|{{{z{{z||{z{{zzy{{{{{{|{|{{{||zz{{{|{|||}{{{|{|{||}{|||{{|{{{{|zz|||{{{|{{z{{{zzz|z{{}{|{{{|}{z|||}}|{||{{{{{{{{{}||}{~{||{{{{{{z|||{{{}{|{{{{|{z|||{{|||{|{{z|||{||||{}}}{{{{||{{}{{|{||{{{|{{|||||}|||||{{|{{|{|{|||||||{{|||z{{|{|||}|{z{{{{{{|{|||{}|{{z{{z{{|{|{}|{{|{{{{z|z{|||{{||{zzz{{z{z|}{|{||z{z{zz{z|{||{|||{|{zz{{{|{||{{{{{z{z{z{{|{||z{|{z{{zzzzy|{z{{{|{{{z{zz{z{|||z{{}{{{zzz{z{{|{{{{{{{zz{z{|{||{{{{{zz{zz{{z{{{||||{{z{zyzzz{{{{|{{|{z{{z{zz{{{|{|||z{zzzz{zz{zzz{z{{zz{zzz|{{{{{{|{zz{zz{zz{{|||{||{z{{zz{z|||{{z|{{{{{{z{{{{|{{{{}z{{{z{z{{{|{|}|{|{{z{{{z||{|{}|{{z{{{{{{{|{||{|}{|z{|{|{|||{||{{}{{{|{{{{||||{||{{zz{{||}z{}||}{{{{{{z{{||{|{||z{{{{|{{{{}||||}}{{|{{{{{{||||}|~||{|z|{||}|{|{|||||||{|z|}||z||||{{{{||{{|||{||{{{||{|{|}z|}}}||{{zz{||||||||{||{{|{{|{z{|||{|||{{{z{z{z|{||z{{{{zz{{{yz{{|{{z{{z{{{|z{z|{{|{{{|{{z{{|{z|{|z|{||{{{zzxzz{{z{{{|{{{{zz{{{{{{{{|{{{z{zy{|z{{{{{|z|{{{z{{zz{zzz{{{{{zzzzzzz{z{|{{{{{{zzzzz{{{{{{{z{z{{{{zzz{{{{{{{|zz{y{{zz{||{|{||zzzzzz{zz{zzz{|{z{z{yzzzz|{{{{{{{z{{{{zzz|||{z|{{zz{{zzz{{|{z|{|{{{{z{{zz{z{{|{|z{{zz{{{z|||{|||||{{zzzzz{|||{{{{{{{{z{{{|{||{|z{{{{{{{{{|{{||||{{{{|z{{z|{}{|{|{|{z{z|{{|{|{{}|{{{{||{{|||||||}{z{{|{{{||{|||}|{{{{{{|{{|{{||{||{|{z{{{{}||{{}{||z{zz{{{|{|||||{{{{{|{|||{|{|||||{{||{|{|{|||||{z{z{{{{{|{{|}|||{{zz{{z|||{|{||{{z{z{{{}{|||||{z{zz{zzzz|||z{{{{z{{zzzz{z{{{{{{{{zzz{{{{{z{z{z{{z{z{z{zz{{{{{||{{zzz{{z{{{z{|{|{z|{{z{y{{z{{{|{{z{{zzzz{{{{z|{{{z{{z{z{z{z{{{{zzzzzzzyzz{z{{{zzy{{yzzzzz{|{{{{{zzzyyz{zz{|{|{|{zzzzzzzyz{z{{{{{zzzy{zzzyzz{|{|{{{{zz{zzz{{{{|{{zzzz{z{{z|{{{{{|{{z{{zz{{{{{{|{|{||zz{{z{{|{{{{{{{{{{{z{z|{{{z|z|{zzz{zz{|||{||{{{{{{{|{|{{{{{|{}|{{||{{{{|||||{{{{z{{{{|{{|}|}|{z{{{|{z|{|||{||||zzz{|{{|||{{}|{z{{z{{{|{||{}|||{|{{{|{{{||{}||{{{{|{{{{|||{||{||z{{{z{|{{{|{|{||{{{|zz{}{|||{|{{{z{|{{{{{{|~||{{zz|{zz{|||{|||{{|{z{{{|{|||{{{{zzzzz{z{{{zz{{|zz{z{zzzz{{zz{{|{zyzzz{{{{{z{{{{{z{z{zyz{z{{z{||{{{zz{zz{{||{z{{{{{zz{zzz{{z{|{z{zzyyzyz{{{{z|{{zzzzz{{z{{{zz{|{z{zzzz{zz{{zz{{{{zzzzzz{z{{{z{{|z{{zz{zzz{zz{{{|zzzzzz{zz{{{z{z{yz{z{yyyz{{z{{{z{yzzzyzzz{{{{{{{zzzz{zz{z{{{{{||zzz{zz{zz{z{{{{|{{{{z{{{z|{{|{||z{{{{z{zz{{{{|{|{{z{{{yzz{{{}|{{{zzz{z{|z|{|{||{{{{{{z{z{|||||||{{z{{{|{|{{|}|||{{z{z{zz{||{{|{{{||{{{{{|{{{{{{{|{|{z{{{z|||{||||{{{{{{{{}{||}}{|{{{|{{{{{{|{|{{{{z{|{|{{||{{}||{{{{|{{{{{{{{|{|{z{z{|{{||{|{||{{|{|{zzzz{|||{||{z{{zz{zz{|{}{|{zz{z{zzz{|{{{{{{zz{zyyz{{{{{{|{{{{{z{{{z{||{{{|{zzyzzzyzz{{{{{{z{zzz{{zy|zz{{z{{{zzyzzzyz{{{{{zz{z|z{{zzzz{z{{{|zzzz{zzzz{{{z{{z{{yz{zz{{{{{{{{z{zzzy{{zz{z{{{{{{{z{zz{zz|{z{{|{zz{{zzzzz{z{{{{zz{zz{zyz{{z{{{|{zzz{z|zy{z{|{z{{{zz{z{zz{{|{{|{{zz|{zy{{{{||z{||{{z{{z{{{{{{{z||z{{{{z{{{|{}|}z|{z{{zz{{{|z{{{|{zz{z{{{{{{{{{|{|{{z{zzz{{{}|||||{|{{|z}|||{|{|||{zz{{{y|{{{|||{|{{{|{{{{|}||{|}}z|{|{{{{{{||{}||{{z{|{{{{|{||||}|{{{{{{{||||{|||{|z|{{{{{{{|{||{{|{||{{|{|||||{|{|{zzz{zz{{||{|{|{z{z{{{{|{|{{||{{{z{zzz{||{|{{z{zz{zy{zz{|{{{|{{z{{{z{{{{{|{||}{{z{zz{z{{{{z|{|{z{zzz|zz{{||{|{{{{{z{zz{||z{||{{z{{zz{{z{z{{||{{{{{{{z{z{{{|{|{z{z{yzz{{zz{z{{{zzzy{zzzz{{{|{|{zz{{{{zz{{{{{{|{{z{{{zzzy|{{z{{z{{{zzzzzz|z{{zz{{{zzzzzz|{{z{|{{z{{{{z|zz{{{z{{{{{{{z{{{{z|{|{{}{zz{{z|z{|{{{{|{zz{{{|y{|{{{||||{||{{{z{z{|z{{{|{{{{{z{{||||{||{||z{{{z{{||{{||||z|{{{{{}{||}||{{|{{{z{{{z||{|}}{z{{|{{{|}|||}{|{{{{{{z{{|}|||||zz{{{{{{|{|{|||{|z{{{|zz|||||||}|{{|{|z{|||||||{{{z{{|{{{|{||||||{zz{{z{z|||||}||z{z{z|{{|{||||{{||{{|{{||{|z|}||{{{zzz{|{||||{{z{y|{yzz{{||{||{z|{{|{{|{{|||{{{{|{zz{{z{{{{||{|{{{{{{{{|{{|{||{{|z{z{{z|{{{{{{|{{{zz|{{zy{}{|{{{zz{{z{z{{|{{{{||{zzz{zz|z{|{{{{{{{{zzz{{{{|z{|{z{{{z|zy{zz{{|{z{z{zyzzzzz{{z|{|{{{{{zzyz|z{{{{||{z{zzyzz{|{{{{{z{|z{|{{{|{{|{||z{{z|zz{{{||{{{|{{{{zzzz|{|{{|{|z{{{{|z{|||{{|{}|{{{{{{{{|{{|{|||y||{|z{{||{{{|{{{{|z|{{|{|{{|{{{|{{{{{{|||||||||{||{{{{||{|{|{|{{{{|{z{|{||||{|||{|{|z{|||}|{||||{|{|{{{||||{|||{|||{z||}|}|}|}|||{{{{{||||{|||{{{{{||{}|||{|}|||{{|z{|||||||||{|{{{z|{{{{|||||||{|z{{{||||{|||{{z{{z|{{}{}}z{|z{{{zzz{{|z|{{||z{{z{{{{{{{{{|{{{{{zz{z{{{z|{||{{{{{{zzz{{{{{{|{||zzz{{z{{{|{{{{{zzz{z{zz{|{{{|z{{{z{zzzz{|{{{{z{zz{z{z{||{{z{{{{zzyyz{y{{{z{{{{z{zzzzzz{z{{{|{z{z{zzzzy{|{{|z|{{zzzzzzzz{{zz|z{{zz{{{z{z{z{{}{|{z{zz{zy{{|z{|}z{{{{z{y{{|{{{{{{zz{zzzz{|{{{{{{|{z{{y{zz|{{{{{||zzzz{{{{{|{|{|{|zz{{{{{z|z|{{{||{z{{z{{|{{||{|{{||{|{|{{|{}||{{{z{z|{{|{}|{|||||{{{||{z{||}|{|{||{{||{zz}|||||||{{||{|{|{|{}||}|{{{{|{{{{}||}||{|{{{|{{{||||{||||{{{|{||||{|{{|}{{{||{|{{|{||{|{{||zz{{{{|{{|{}||{{{zz{z{{{{{|||{{|{|{{{z|{{{{{|z{zz{{z{{{{{y||{zz{{zzz{{{z{||{{{z{zzz{z{{{z{{||{{zzzzzz{{{{{z{{{{zzz{z{{{{{z{{{{y{{zz{z{{{|{{|{z{zz{zzz{||y{z{zz{zyz{{{z{z{{{{{zzzyzyy{zzz{{{{{{z{{yzy{z{{z{{{{z{z{z{yz{|zz{{{{{{{z{zzzz{zz{z{{y{{yzzyy{{{{z{{|{zzz{{zz|||{{z{{{{zzzz{zz|z{|{z{|z{zzz{z|{{{||{|zz{z{{zz|||{{{|{z{{{zz{{{|{{||{{zz{zz{zz{|{{|{{{||{{{{z{{{{|||z|{z{z{|z{||{{{|{|{{{{{{{z|}{||{||{{{{{zzz||||{{||{{z{{{{{|{{|{||{|{{{||{{{}{|{||{}{{|z|{|||{{{}||}{{{zz{{{{|||{|||z{{{|{|{{{|{}}|||{{{{z|{|{|||z|{zz{|{z{|{||{|{{{{{{{z{z||{|{|{{|z{{|z{z{{{z||{|{zzzzz{zz{{|{|z||{{z{zzy{|{|{{{{zyzz{zyy{{|{{|{{{{zz{{{z{{|z{{||{z{{zz{zzzzz{|{{{zzzz{yz{{zz{}|{{zzz{z{{{{{{{{{{{{{zz{yz{{|{z{{|zz{yzzzzzzz|{{z{{zz{yzzzz|{{{{|{{{zyzyzzy{{|{{|{z{z{zz{{{{z{zz{{{zy{z{zzz{z{{|z{zzzz{y{{{{{{{{{|{z{zzz{{{|{z{{{|{z{zyz{zz{{|{z||{{{z{{z{{{{z{{|{{{{{{z{{{|||z{{|{{zz{{{z{{{{{||{{z{{z{{|z{{{{{|{{{|||z{z{|||{|{|{{{{{{{|||||{|}|{z{{{{{{{|{{|||||{z{{z{{{|z{|}}||{{{|{||{|{|||||{{|{{|z{{|{||{|||{{{{{{|}|z||||{}{{z|yz|{{{{{||}|{{||{{{{|||||{{{z{zz{{z{{||{{{{{|{{{z{{{|||{{}|{{{zz{{{{{||{z{|{{z{{{zz{{{zz|{{zz{zzzz{{|z{{{|{{{z{{z{z{{{{|{|{{y{|{{zz|{{{{{{|{{zzy{{{{{{|z{{{{z{{z{{z{||{{|{|{{{{zzz{{{|{z{{{zzzz{{yz{{{{z{{{{zzzzzz{{z{z{{zz{y{{z|z{{|{zzz{z|zzzzyzzz{{{zz{|{zzyzzzz{z|{{{{{{{zzz{{z{{|z{|{{{{{{z{z{{z|{{{z|{z{zz{{zz{{|{{|{{zyz{{{{{{||z|{{{{z{z{|{{||||{{{||{{{zz{{{||{{|{{{{||{zz{|{||{{{{zzzz{y{|{{{{|||{|{z|{|{||{}|||{{{zz|z{{{||||}{||{{{{{zz{||{{{}{|{|{{z|{||||}}|||{{{{{}{|{|||}|||{||z|{{{||||||{|{|{|{{{||{|{||{||{{|{{{{{||{|}|{|{{{{|{||}|||||{{{{{|{z||{|{{|{|{{|{{{{{{{||{|{z{{{{{{{z{{||z{z{{{{zzzz{{{{{{{{{{{{zzzz{{{{|{||{zzz{{{z{{{{z{|{{y{z{{z{{{{|z{{{{zzz{zzz|{{{{{{{|zzzzzz{{{{{{{{{zzzz{{zz{{{{{|{{{zzzz{z|{{{{{{{{{{zyzzzz{{|z{{{|zzzzyzyz{{{{z|{zzz{{z{zz{zz{{{|||zzzzz{z{{z{z{{|z{{z{zzyz{z{z|{{z{{{z{{y{z|{{{|{{{{{zz{{{{{{{{|{{{zzzy{{{{{{{{|{{z{{zzzz|||{{|||z{{{{{{y{{|{{|{|{|{{{{{yz{{|z||{{{{{{zz{|{{||{||{|{{{{{{|}|}{{{|{{z|{{{{|{{}||}|{z{|{{{z|}|||{}||{{{|{{{{|||{|||{{{|{{|{|{|{|||{||{|z{z{|{{||||{{{|{{|{{|||}|||||{{{{{{z||{|||}}{{|z|{|z||||}||}{|{{{{{{||{{|{||{{z{{{{{{|z|{{||{{{{{zz{{{||||z{{zzzzzzz{{{|z{||zz{z{zz{{{{{|{zz{z{zz{{z{{{z{{{{{{{{{zy{{{z|{{{|{zzy{{{z|{{{{||{z{{{z{{{z{{{z{{{{zz{zz{y{z{z{{|{z{zz{{z{|{{{z{z{zzzzzyz{{|{{z{{zzyzz{z{zz{z|{{z{|{{zzzzzz{{zz{|{zzz{{{{z{{z{{{{|zzzz{z{zzz{z{||{{y{z{{zz{zz|{|||{{zzzz{z{{{z|{||{z{{yz{{z{|{{{||{z{{{zz{z{||{|{|{{{z{y{{z|{{{{{{zz{{z{{y{{z}{|{{|{|zz|zz|{{z{||{z{{zz{z{z|z|{{{{{{{|z{|z|{|{||}|{|{{zz{z|||{||{{{{|{{{{z|||{||||{{{zz{{{{||||||{}{{{|||{{}|{||{||{||z{|{|}{{|||{|{z||z{{{||||{{|{|{|z{{{{{{|{|{|{zz{{z{{{{{||{|z{{{z{{{{||{}{{}|{{zzz{z{|||{{{z{zzzz{z{z{{{z{|||{|zzzzzzz{{z{|{{{{zz{zzz{{{{{{|{{{zz{zzz{{{z{{z|{z{yzzzy{z{zz{{|zy{zzz{z{|{{{||{{{zz{zzz{{{{z{{|{{zyzz{{{{{|{{{{zz{{zz{{{{{z{||zzy{zzzy{{z{{zz{{z{{zzzyy{{{{{{{{{z{z{yz{{zz{{{{{{z{zzzyzz{zz||{{{z{zzzzy|z{{{{|{{{zyzzzz{{{zz{z{{{{z{yz{z{{{{||{{{z{{{{z{{{z||||z{{y{z|z{|z{{|{zz{{{{zzz|{}|{{{{{z||z{{z{{{{{||{|{{{z{zz{{|{}{|{{{{{{{{{{{{|}{}}{{{{z{y{{{{{||||{{{{|{{z{||{{|||z{{{{{z{{|{{{|||{{{{z||zz{{||{|}|{{|z{|{{|||{||||{{z{{{{{{|{{|||||{{{{{{z|{||{|{||{z{|{{z{{|{{|{z{{{zz|{|{{|{{|{{z{z{z|{{{||{|{{{{zz{zz{z{|{{|{{{{{{zzzz{{{{{{||{{{yzzz{z{{||{{{{z{zzzzz|{{{z{{{{{{{{zzy{|{{{{{|zz{{{z{{{|{z{{{z{z|zz{zz{{{z{{{{z{{z{z{{z{{{{z|zzyy{zy{z{{y{{{{|z{zzz{z{z||{z|{{z{|{zzzz{|{z|||z{{zzzzzzz{{{{|{zzzzzzyzyzz{zz|z{zzzzz{zz{|z{{{||{{{{zz{z{|{{|{{|{z{{{zz{{{||z{|}{{|z{zz{{{|{{|{|{{{{zyzzy{||{||{z{z{{|zz{|{|{||{{{{{|z{z{||{{{{{|zz{{|{z{z||{|{|{{z|{{{{{||{{|}}{{z{{{{y||{|{||{|{z{{{{z{{||||}{{|{{{{{|{|{{|}|{{{{{{||z|}{||||||{|{{z|{{||}z}||||{{{{{z||{||}}}|{{{|{{{|||}{{||{{{{{zz{{{{{{{||{|z{{zzz{|{}{{|{z{zz{y{{{{|||{{z{zy|{zzz{|{{|{|||zzz{zz{z{|{{|}|{{{zzz{z|{{z{{{{{{|z{{z{{{{{{{||{{{{zz{z{{{|z{{{z{{z{{{zz{z{{|{{z{z|{z{z|{z|{|{{{z{{zz{z{{{{{{{{zzzzzy{z{{zz|z{{zzyyzzy{{{{{{{{{zz{zzzzz{{{z{z}{{zzzzz{zz{{{z{{|zz{z{z{zz{{{{{{{zz{{z{{z|{{z{{{{{{{y{zz|{|z|{{{{{z{zzyz{{{{{|{|{|z{{zzz{|{{{{|{||{{z{z|z{{||{{{{z{|zz{{{{{{{{{|{{z{zz{zz|{{{{|{|{{zz{{z{{{|{|{{|{{{{|z{z|{{|||||{{{{{{z{|||}{||{|z{||{{||{}{{|||{|{{z{||{||||}|{|{{{{{{{{|||{{}|{{{{z|{{||||||||{{{|{{{||}||{||}|||{{{{{|{||||{{{{{zz{{{z|||{|}|{|zz{{{{||||{|||{{{zz{z{|{}{{||{z{{{z{zzz{|{z{|{zz{zz{zy{{{{{|{{{{zzzzyyzz{{z|{{{{{zy{yz{|{{{|{|zz{zz{zy{{{{||{}{z{zz{zz{|{{{|{{zzzz{z{z{{{|{|{{zzz{zz{z{{{z{z{{{zz{z{yzz{|{{z{{{zzzyzzz{z{zz{|{zz{zzy{yz{|z|{{z{zzzzz{zz{{{{{z|{{zzzzz{{{{{{|||z{{{{{zzz{{|{{z{{{{z{{{z|{{{{{{|{z{zzz{z{{{z{{{|zz{z{{{{|{||{|||{{z|zz{{{{{{z|{|{{{{{z{z{{{{{|}{{{{{{{{{{{{{|{|||{{{{{{|{{{|||{|{z{{{||z{|{|||||{{|{z{{{|||}{|||{{{{|{{|{|}|{||}|{|z{{{|{{|{||||{z{|z|{{{||{|||||{{|{{{{|||}|{|{|{{{{{{|{{{||{||||z{z|z{|{{|{zz||{{{{|{{{{{{{||{{{zz{|{{{{|{{|{{{|{zz{{z{{~|{{{|zzzzz{zz{z{{{}|{zz{{|z{z}||{z|||||z{{z{{{z{|{||{{{{{{{yzzz{{{{{|{{{{z{{{{||{{|z{{{{{z{zzz{{zz{{z{zzzzzz{{{z{{|{{{z{{{z{|{|{{{z{{z{zz{yz{z||{{z|{{zzzzz{zzz{z{{{|{z{{z{z{z{{|{z{{zzzzzy{zzz{{{{{{{{z{{zyzz{y{{|{{z{{z{|zz{{{|||{{{zzzzz{zz}||{|{{{{{{zz{{{{{{{z||{{{zzz{{|z{{{||||z||{z{z{{{{||{||{z{|{{z|||{{{|{{{{{zzz||{{z{{|{{||{{{{{{||||}|{{z{{|{{|||{{|}|{z{z{{{{|{}}|||}||{{z}{|{{{|||||{{||{{||{|}{|{||||{{{|{{z{||{{|}}|{{|{|{{|{||{||{{{{{||{z||||||}|||z{|{{|}}{||{||{{{{z|zz|{||||||||z{z{{{{|||||}|{zzz{{{{{{|{|zzzzz{z{{zz{{|z{{{|{{|xzz{z{|{{|{{{{{zzz{{z{|z{{|{{{z{zy{{{{{|{z|{{{z{z{z{y|{{|{|||z{z{zzzy{|}{{|{{|z{zzzzzz{{{z{|z{{{yyzzy{z{|{{{z{{zzzzz{z{{{z{{{{{zz{{z{{{|{z{{|zzz{z{yzzz{{{z{{zzyz{z{zz{{{|zz{z{{z{{|yz{{y{{|{z{{zz{{z{{{{{{|{{z{zyz{{||{z{{{{{z{{{z{{||z{{{{|{zz{{{zz{{{{||||{{{{{z{{{}||||{{{zz{{z{z|{|{{|}|{zz{|{{{}{||z{|{{z|{{z{z{|{|||{|{{zzz{|{{|{{{|{}{|z{{{{{||||{||||{|{{{{{||||{||{|{{z{|{{z{{{|}|||{|{{{|{|}{||{{|z{{{z{{{||{{{{|{{{{zz{{{|{{{{|||||{{{{{{||{|||}|{{{z{{|z|{||{|{{{{{|{{{{|z{{z|{{{|z{|zz|||{|{z{{{{zzzzz{y{{{||{{{zz{{z{z{{{{{||{|zzy{zz{z{{|{{||{z{z{zzy{{|{{{{{{{{zyz{yzz{|{{z|z{z{{{yz{{{z{{|{{z{zzzz{{{|{{{{{{{{z{{z{zz{{z{{{|zz{{yzzz{z{z{zzz{zzzzzz{|{z|z{{yz{{yzz{{z{|{{{|{z{{zzzz{{{{z{{{{zzz{zzz{{z{{{|{zz{z{z{z{{|{|z{{{{z{{zzz{||{|{||{{z{zzz{|z{|{|z|{{|z{{z{{{||{|||{{{z{{zz{{|{|{z{{{{z{{zz{|{|{{|{|{{{{|{z{|{{{|{{{{z{z{{{{|}|||{|zz{{{{{{{|{|{|||z{{|{{{z|}{{||{{}{{z|{|||}||||{{{{z{||||{|z|}{|||{|{{{z{{{}{|}|||||{{{z{{{{{{}{||{|z{{{{{{|||{{{{{{z|{{{{{{{{||||{{{{|zz{|||{||}z|z{|{{z{|}{{{{{z{|z|z{z{{||zz{{{{z{{zzz{{{{z{|{z{{zzyyz{{{{{|{||{zzy{zz{{{z{||{{y{z{zzz{{{{z{{|{z{zzzzz{||{zz{{z{{zyzz{yzz{{{|{{zzzz{z{|{{{{|{{{z{zyzz{zzz|{{{{zz{{zyzz{{|z{{|zzzzzz{zzz{|{{z{{{{zzzzzzzz|{{|||zz{z{zzy{{zz{|z{{{{zz{z{z{{z|{|{z{{{{{zzz|z{{{|{y{{||z{z||{{{zz|{{y{zz{z{|{{{z{|{{{{z{{{{{|{{{{{{{{zzz|{{|{|{}|{{z{{{zz{|||||z|}{{z{|{{z{{z}|{{{|{{{{{z{|{{|{{|{{{{z{{{{|{|||||}{{{{{{z{{{{|{|||||{{{{z|{{{|{{{}{{{z{{{|||{|{}|{|{z||{{|{||{|{|}|{z|{{{{||||||||||{{|{{z{|{{|||{|{{{|{z|y|{||||}{|{{z{|{{{{{|{}{{z{{{{{{{{{{{|||{zz{zzzz{{z{{|{{{{z{{yzz{||{{{{z|{zy{z{z{z{{||{{{z{zz{zz{{{{|{|}|z{z{zz{z|z|z||z{{|yz{zzz{{{|{z||z{z{z{z{{{{{{|{zzzz{z{{zz{zz{{{{zz{{{zz{z{{{{{{zzzzzzzz{{z{z{{{{{zzz{z{{z|{|z|{zzzzz{zzz{{z||{zzzzzzzyzy{|z{{{{zzzzz{{zz{{{{{{{{z{{{{{{{|{zz{|||{{{{zzz{z{|{||{|{zz{z{{{{{z{{||{|{{{z{{{{|z|{}{|{{|zz{{z{{||||{{z|zz{{{{||{|{}||{{{|zz{{||{{|||{{zz{{{{|{{{||}|zz{{{z{{||{||||||{{{{z{z||{|}||{|{{{{|{{|{|{}|||||{|{z|{|{|{{|}|{{{{{|{{|}{|||||{{{|zz{{|||{{||{{{{{{{z|{||z||||{|{{|{{{||{z|{||{{{z{{zzz{{{||{||{{{{{|z||{|{{{}z{{{|z{z{{{{{{{{z{zz{zzzz{{zz{{zz{{zzz{z{{{{{{|{{z{zzzzz{{z||{{z{{z{zz{z|{|||{z{z{{zzzzz{{{{||{{{{{zzzzz{{{z{{|{|{z{zzyz{{|zz|{zzzzyy{zz{{{{{{|{zzyy{{{{z{{{{{{z{{{{zyy{z{{z{{{{zz{{zzyzz{z{{{{|{zzyyzyy{{z|{{{{{{yzzzzyz{z{z{z|{zzz{{yyz|zz{{|{{zz{zzz{z{{z{z|z{{{yzz{{{{|{{|{{{{{{{{{{{{{{{||||{{{{{{{{{{||{{{{{z{{{zz||{{|z{{{zz{zzy{||{|{{z|{{{z{zzz||{{|||{{z{{{{{{|{{|{|||{z{{{{{zz{{{{||{|{{{{{z{{||{||}{{z{{{|{z|{{|}|}||zz{z{z{{||{||||{{{{zzz|||{|{}|{|{{{{z{{{{|{{{{||{{|z|{{{|||{|||{|{z{z{z|{{{{{{|{{{{zzzz|{|{{{{{zz{zz{{y|{z{{{{||zzz{zzyz{{{{{{{z{zz{{zz|{{|{|{|zz{{zzz{zz{|{{{zzz{{zz{{{{{{z{{{{zzz{z{z{{{{z|{|z{{z{z{z{|{yz{{{zzyz{zyy{z{z{z{{zzzzzzyz{zz{{{{{{zzzzzzyz{{y{z|{{zzzyzzzzz{z{{{zz{{{zzzzz{z{{{|||zzzzzzz{zz|{{{|{zzzzzz{y{z{{|{{z{{{zz{{{{|{{{{{{z{{{zzz{{|{{{|{{zz{zz{{{||{{|z|{z{zzz{z{z{{|{}{{{{{{zzz{{{{{{|{{z{{{z{z{|z{{{|{|{{{{{z{|||{{{{{{z{{z{z{{|||{||z{{|{{{{{{{|||{|}{{{|zzz|{{{{|||{|{{zz{|z|||{||{|{{|{{{{{|{|{||||{{{{{{{{{|}{||}||{{}|z{{|||z|{|||{{{{|{{{||{||||||zz{z{{|{||z|{|{{zy{{{{{{{||{|||{{{{{{z||{|z|{{{z{zz{{{z{|{|{{|z{zz{z{z{{{{{{{{{{|{{zzz{{z{|{|{{{{yyz{z|{{{{{{{{z{{{{{{{{{|z{|{|zz{zzzz{{{{{{{{{zzzzzzz{{{z|{{{{z{{{zz{{{{z{z{{{{zzzzzz{z{{zz{|{zz{zzzzz|{|{||{zz{{{{yz{z|{{{|{{zzyzyzyz{z{{{{|{zzzzyzzz{{z{z{{{{{zzyzzz{z{{{z|zy|zzzzz{{{{{{{{z{zzzzz{{|{{{{{|{z{zzz{{{|z|{|{{{{|y{{{{{z|{{{{{{{{{z{{{z{{{{}|{{{{{z{z{{{|||z|||{z{z{zz|{{{|{|||z{{||{z{{|{||||{{{z{{{||{|||{||{zz{{z{{{{{|||}{|{{{{{{{|||z|||{|z|{z||{}|{|{|{||{{{{|{{||||{|||{{{|z{z{{||{||}|{{{z{zz|{|{||||}|{z{{{{|}|{{{{||{{{z{{{{{|{{{|{||{z{{zz{z|{|{{{|{{|{zzzz{}||{{|{{zzz{yzzz||z|{{}{{{z{{zz{||{{||{{{zz{zzz{{{{{{||z{{zz{{z{z{{{{||{zy{y{z{{{{{{{{|{z{y{{|z{z|z{{z{{z{z{zz{{|{{z|{zz{{zzz{{{z{{{{{z{{{z{zz{{|{|{{{{{z{z{{zz{{|{|{|{{z{z{yzz{{zz{{{{z{z{{yy{zzzz{{|z{yzz{zzzz|z|{z{{{zz{{|{zz|{{{{||{z|{{{{z{{|{{|{{{{|{{zzz{{{{{|||z{|zzzz{{{{{|{z{|{|z{z|z{||{{|{{{z{z{z{z{||||{}{|z{z{zz{{|{{{|{||z|zz|{|{}{|||{{|{|{{{{{{|{z||||{zz{{{{{z{|{|||{|{|{||z{z|||||}|{{||||{z|{||}|||{{{|{|{{{|||||||{{{}{||{{|{|{|{||{|{{{z{||{{|{||{{{{|{{{||{|{|||{{{z{z{{{{|{{{}||{z{|{{{||{|||{{{z{|zzzz{z||{{{{{z{z{zzzz{{{{|{{{{{zzzzzz{{{{{|{z{zz{{{zz|{z{{{{{{{{{{{z{{{|z{|z{z{{yzzz{{{{{|{{{zzz{zzyz{{zz{|z{{y{yzz{|{{{{z{{zzz{z{z{zz{z{zz|{zz{zyzz{zz{{{{{zzz{y{zzz{{zz|{{{z{yzzz{{{{{{{{{{zzz{{zz{{z{{y{|zzzz|zzzz{{{{|{|{{zz{|zz{{{zz{{{{{{{{z|z{{|{{{{{{{{{yz{{z{{{{{{{{{|{z{z{|{{{{||{{|{{{zz{{{{||{|{z|z{{z{{{||{{{{{{{{{z{z|{{|||{{|{z{{{{{z{{||||||z{{{{z{{{|||{||{{{{{||zz{{{|||{}{{z{z{{{|}{|{|||{{{{|{{|{||||||||{{|{z{{{|||||||{||{{{{{|}|}{|}|{z|{{|z|{{}|{|||{{zz|{{{|{|{|||}{{{|z{{zz{{|||||{{z{{{{zz|{{|{{{{|{z{z{zz{{{{|{{{zzz{y{z{||{|{{|{z{{yz{{{|{{|{|{{{{|{zzz{{{{{{{{{z{z{z{{{{{|{{{{{zzzzz{zz{z||{||{z{z{{{z{|zz{|{{{{zzzzzz{{z{z|{{z{{zzzzz{{z|{{{|zzzzzzzyz|{{{{||{zzyz{zy{{|z{{{{z{|zyzzzz{{{{z||zz{{zxzzz{{zz|{zz{zz{zzzz{{{{|{|{z{{{{zz{||{{z}{{z{z{{z{{{|{{|{|z{{{zz{z{{z{|||{{{{zz{{{{{|||{||{{z{{z|{{{{||||{z{{z||z{{{|||{|||z{{{{{{{{{|||{}|{{{{z{{||{||}{{z{z{{{{{z{{||||{|{{{z{zz{||||||||{{{{{{||||}||{|{{{z{{||{{|||{}||{{{{|z|{|{||||}}{|{zz{{||}{{||||z{{{{|{{|{{|{|||{{{|{||{{{}{|{}{{{z{{z{{{||z||{{{{{{{{{|{{}{||{{{{z|{{z{{{{|{z{z{yz{zzzzz{{{{|{{zzzz{zz{{z{{z{{zz{zzz{{{{{|{{{{zz{zy{zzzz{{z|{|{z{zz{zz|z|{{||{{{zz{{zz{|{{zzz{z{zzzzzzz{zz{{z{zz{zzzzz{yzz{{yzzzzzzzzzz{z{z{{{zz{zz{yz{z|z{zz{{zz{zz{{z{{zzz||z{zzzz{yzz|z{|{zzzzzzzzzz{{{{{{{zy{zz{yy{{|{{{|z|{{zz{{z{|{{{|{|{zz{zz{{|{{{|{|{{z{zz{z{|{|{{|||{{|z{{{{{||{z|{{{{z{z{{z{{|{{{{z{z{{zz{{|{||{|{{{{{{{|{{{{{|||{{{{z{z{{{||{{|||{||{{zzz{z|{|{{||{z{{zz|{||{|||}{z{{|{z|{{{|{{||||{z|{||{{||||||||{|{{{z{||{||}|||{z{|z{|{|{|{{||{{{{{{z{{{||z|||{{zz|{{{{}{||||{|{z{z{zy{||{{|||{z|z{z{{{|{{{z{{{{zzzzzyz|zzz{}|z{zzzyzzzz{{{{|||z{{zzz{|{{z{||zzz{{z{z|{{z|{{||{{zz{zzz|{|{z{{|{{zzz{yz{{{z{|{zzz{{z{yzz{{{{{z|z{zzz{z{zz{{{z{|zzzzzzzz{|{z{{||zz{{z{y{{|{z{{{{{zzzzzzzz{{z{{||{zzz{yzz{{zz{{{|zzz{{zzzz{{y|zzzzz{z{z{z{{{|zz|{{zz{{zzz{||{||{{{zy{zz{z{{|{z{|||{{z{{z{{|z{{{{{zz{z{{z{{{{}{{{{{{{{{zz{|{z{{||{{z{{zz{z|{{{|||{{|{z{|z{{z{{|{{{{{{{{{{{{|{{{|||{{{{{z{{{|{|{|{{|{z{|z{z}||{{||{{||{{{{{||||||}}|{{|z{{|||{|||{}||{{|{|{|||{{||{|{{{{{{{|{{||||||}z{||{|{||||{|{{{{z{z{z{|{{|||||{z{z{{{z{||{|{{{{|{{{{z{{z{{{z{{{{{zz{{z{{{{||{zzz{{zzz{{{{{{{{z{{zzzz{z{|z{|{{{z{z{zz|z{|{{z{{{{zyz{|y{{{{{{{{z{{zzzzy{{{{|{{{{{zzzz{z{{{zz{{{{{zzz{yz{|{{z{{{zzz{{{zzz{zz{{{z{z{zz{zz{z|{zz{{zz{{y|zy{z|{{{|{{z{{yzzz{zz{|{{{z{{zz{zzz{z{{|z|{z{zz{z{z{|{{{{|{zzz{{{{{{{{||||{z|{{zzz{{{{|||||{{{{{{{{|{{{{{|{{{{{zz{{{{{|||zz{|zzz{z||}|{{{{z{{z{{{{|}|{{}z|||{zz{{|{{{}||||{{zz{||{|{||{|||{{{{{{{{|{|{{||||{{|{{{z|||{||||{{||{||{|}{||{||{z{{{|{{{}{{{{|{|{z{z{{{||{{{}{||{{|{{{||{{||{|}{{{zz{|{{|{|||||{{{{|{z{{{|z|}|{{{|zzz{{{||{{z|{{z{{{x{{{{z{{{{{{zz{zzz{z{||{|{{{z{yzzz{{{{{|{|{zz{zz{y{{{{{|{|{{{{zz{z{{{|zz{{{{{z{{{{z{{{z||{{z{{{y{{z|{{{{{{{{{{zz{z{z{{|z|z{{zzyzzzzzz{|{{{zzz{zy{{z{z{{|{{{{z{zzzyz{|{|||{{{z{zz{{z{z{z{z||zzzy{z{zz{{z{|{{zzzy{z{z{{z{{||{{z{z{z{zz{{{|{|{{zzz{yzz{{{{||||{z{z{zzz|z||{||{zz{z{z{z{{||{{|{z{|z{{{z{|{{{||{{zzz{{{z}{|{{{|{{{z{{{z{{{{{{|||{{{z{{{|z{|{{|||z{{z{{{{{|||||}||{{{|{z{||||{{|||{{|{{{{{}|{|}||{{|{{{{||||||}|||{{{z{{{z}{||||||{||{{{{{{|{|||||{z{|{{|{|||{|||{{{{|{{{|z|{{}||{|{z{{{{|{{|{z|{{{{{{zz{{|{{{|||{{{z{z{|{{{z{{{{{zyzzzzz{|{zzz{{z{zzzz|{{|{{|{}{|z{zzzzy{{{z{z{{{z{zzzzz{|{z{{|{zzzzyzzz{z{{{{{{{{{zzzz{{{{{{{{{{{{z{{{z{{{{z{{zz{zzzzzzz{{|{|{{z{{zzzzzz{{z{{{{|{zzzzz{{z{z|{z{{zz{zzzzzzz{{{{z{{zyzzzzzz{{z|{{{zyzzzyzzz{y{|{{zzzz{z{z{{z|{{{{{{{{zzz{{{{{{{{}zy{zz{{z{z{|z{|{{{{{y{zz{{{{{{|{z{{z{{{{{|||{{|zyzz{{{zzz|{||||z{{z{{{{zz|{{|||}{z{{{{zz||{||{|||{z{z|{{|{{{||}|{{{{{{z{||{||}||{y{zzz{||}{|||||{|{{z{|{{|||{}{|{{{|{{{{||{{||}{{z{{z{z{|{{|||||{{z{{{{{{|{{{{|||{{|{|{||||||{|{|{{{{{{{{|z{{|||{|{{{{z{{{{|||||{{|z{{{zz{|{{{{{zzz|yzz{z||{z{{{zz{{{{z{{{||z{z{zz{z{{{{z{z{{|{|{zz{zzzz{{|{z{||zzyzzzzz{{|{z{z{{zzz{{zz{{{{{{{z{z{zzzzzz{{{z{{z{{zz{z{{{zz{{z{{yzzzzz{zz{{|{{{{z{z{y{z{{z{z{{{{z{{zyyzzz{zz|{||{yzzz{zyz{{{z{{{|zzzzzzzzz{zz{|{zz{zy{zz{{{{z{|{{z{z{{{zz{{{{{{{||{{zzz{{{{{{||{zzzz{|{z{{|{|||||{{{{z{{{|{||||{z{{z{{{{||{{{{{{{|{|{{{z|{|{{{{|z{{zz{{{||{{{||{|{|zz{{{{{|{||}{{z{|{z{z{{|{}{}{{{|{zz{{|||{||}||z{|z||z|{|{{||{|{|z{|{||||||{|||{{{{{{z}{{|{{|{|z|{||{{||{|{|||{{{|{{{{|||{{|{{{|{z{zz{{|{{||{|{{{z{{z{|z|{{||{{{{{{{z{{{{{||{{yzzz{zzzz{zz{|z{{zzzyzzz{{z{{{{|zz{{zz{{|z{{{{{{{zz{{{z{z|{{z{{{{zzzz{{zz{{{z{{|{{{zz{zy{|z{{{{zz{{{{zz{z{|z{{z{{zzzzzzzzzz{z{|{{{zzzzzzz{{{z|{{zzz{zz{z{z{{|zy|zz{zzy{y{{z|z{{{zyzzzzzy{{{zzz{zyz{y{y{{{|zz{|{{zz{{z{{z{{{{{{|{|{zz{zz{|z{{{{z{{{{zz{{z{{{{||z{z{{{{{{{zz{|{||{z{{{zz|z{|{|{{{|{z{{{{zz|{{{{z{{|zz|{{{z{||{{{||z{z{{{{|{{{||{{|{{{{|z{{|}{{||||z{{{{{zz{||||||||{{{{|{z{||||{||{{{{z||{{|||||}|||{{{z|{||{||||||{|{z{{z{|}|{||{|{{{|{z{{{{|{||||{|{{|z{{|||{|||{|{zz|{{||{||||{{{z|{{{{{{|{{{{{{{{zzzzz{||{{{z{z{{zzzzz{{||{{{z{zzzzzzz{{z|{{||z{zz{{{z{{z|{|}{{z|zz{z{{{{|{{|{{{{zzz|z{{{{z|{{z{{z{z|{z{z{{{{{{z{zzzzzzz{z{{z|zz{zzzzzz{zzz}{zzz{{z{{z{z|{{{|z{zzz{yzzz{{{|{|{{{|{zzzyzz{{z|{z{zz{{zzzz{z{{|{{z{zyzzzzzzzy{||z{zzz{z{zzz{{{z{{{z{{{z{z|{|{{|}|z{zz{{{yz{|{||||{{{zzz{{|{||{|}{|{z{{{{{{{{{{{|||{{zzz{zz{|{{{{||{{zz{|{{}{{{||{{|{z{{{z{{{|}||{z{{|{z|{{z}|||}{{z|{{{z{{{|{{{|}|{{{{|{{||{|{|{}{{{|z{{|{||||}|||{{|{|{{||}||||}}{||{|{{{{}{}|{|}z{{{{{{{{{||}|}|{z{|{z||{{{|||||zz{{{{z|{{||{|}z{{{|{{{|z|{{{|{z{{z{zzz{{z{{|{{z{|zzzzzz{{{z|{{z{{zyy{{{||z{||{|{zzzzzz|{{||{{|{z{{{z{{||{{{{{||z{zzzzz{{}{{z||{zz{z{{{||{{z{zz{{{zzzyzz{|{{{{{{zzz{zz{{{{|{{{}z{zzz{zzz|{{{{{{{zz{z{{{{{|{{{{|{{{{zzz{z{{{{z|{{{y{{zzyz{zz{z{{{zzzzz{zz{{|{||{{z{z{z{z{z|{{{|{{z{zz{{{{{{{{|||{z{z{z{z|||{{||{{z{{|{zz{|{{{{{{{z{z{zz{{{|{{{{{|z{{z{{z{|{{{|{{|{{z{{zz|||z{|||{{{{|z{{|{|}}|||{{{|{|{{|||{|||}|z{{{y{{||}||}||{{{|{|{z{|||{|}|{{{{zz|{z{||{}{|||{|{|{{{|}{||||}||{{{{z|||||||||z{{|{{|{{}{}{{||{{|{{{{||}||}}|{{{z{{{{{{{|{|{|{{{{z{{{||{|z{||{{{zzzzzzzz{{{{|{zz|{yzz{|{{z{z{{{{zz{{z{|{{|{|{y{zzzzz{{{|z{{{{{zzz{{zzz{{z{z{{z{z{{{zyz{{{}{||{z{{{zzz{z{z{{|{|{{zzz{y{z{zz{|{{yz{zzzz{z{{z{zzz{zyyzyz{{{{z{|zzzzzz{z{zz{{{|{|{zzzzzzyz{z{zz{{{y{{z{yz{|{zzz|{{zzz{{zzzzz{{z{{z{{{z|zz{{{{{{|{{z{{z{z{|||zz{{||z{z{{{z|{|{|{|{{{z{{z{{z|{{{}||{z{{{z{{{{|{{{{|{{z{{zzz}{|{{{|||{{{{zz{{|{{|||{{{{z{z|z||||}{}{{{zz|{zz{{z}{|~}|{{{{{zz||}|}|{|{{z{|{zz||{z}{||{{|z{{{{{|{||{{||{|{{z{|||{||{||z{{{z{|{|{|{||||{z{{{{|||{||{|||{{{{{{{{}{{||{||z{|{{{z{{{|{|{|||{{{z{{z{|z{{{{{{z{|zz{{{{|{{{{{{{zyz{z{z{{|{|{z{y{yyz{zz{{{{||{{zzz{{zz{{z{{{{{zz|{zzz{zz{{{{{z{z{zzzzz{{{z{{||zz{z{zzzz{{{z{{{{{zzz{{zz{{{z{{zzzzzyzz{z{zz{|{{yz{{{{zyzzz{{{{zz{zz{zz{zzz{|{{{zz{zzzzzz|{{{{{{zzz{z{yy{{{{{{{{{yzz{yzyz{{zz{{{{zz{zzzz|{|{|{||z{{z{zz{{{{{{{|{z{{{{zz|{{{{{{z|{{z{{{zzz|}{{||{{{{{{z{{{||{{|{{{z{{{{{z{}{{|{|{|{{z{{z{{|||||{{{{{{{{{{|{{|{{||{{|{|z|{|{|||{||zz{z|z|z{||{||||{zz{z{z||||{|}||{z{{{|{{{{{{||{|{{|{{zz{{}|||}|||{z|zz|z||{{|}{|{{|z{{{{|{{||}{|{{{{{{|{{|z|{{{|{|{{{zz|{{|{{{||||{|{|{{{|{{|{||{{{{zz{y{||{{{z{{{{zzzzzz|{z{z{|{{zzzzyz{{z{z|z{{z{{yz{z{{|{{|{{{y|z{{zz{z{{z{{{zzzzz{{{z{{z{{{{{zzz{{yz{||{{{{z{{{z{y{zz{{{z|{{zzz{yzyz{z{z{z|{{{zzzyzzz{{z{{z{{zy{zyzzzz{y{{{{{y{zyzzz{zz|zz{|zzzz{zzzz{{z{z|z{{z{{zzzz{zz{{z{{zzy{{yz{{|z{{{{{zz{zy{z|{{{z{{z{z{zy{z{{{{{||{{{{zzzzzz{|{z{{||{z{{{z{z{{|{||{{zzz{{zzz{|}{{{|||z{zzzzzz|z{||{{{{{z{{z{{|{||}{|{{z{{{{z{{|||{|{{z{{|zz{|{{{{{|{|{{{{z{{|{|||||||{zzy{{|{|{{{||}|z|{z{{|{||{||||{{{{{z{{}{{{{}|}|{{{z{{z||||}{{||{{{{{z||{||{|{|{{{{{{yz{|zz{{||||zz{||zy{|{{{{{{{{{zz{z{{z{z{{zzzzz{x{zz{{{{{z{z{{{{yzyzz||{{|{{{zzzzzz|z{{{{{|{zzzzzzz{{{{{{{{{{{yzzzz{{{{{{{{zzz{{{{zzz{z{{|{|{z{zz{z|z|zz|{{zzz{z{{{zz{{zz{|{yzzzzzzzz{z{{z{zzz{zzzz{z{{{{{{z{zy{z{yz{||z{{{{z{zzyzz{|{z{{{|z{zzzzzzz{{{{|{|{|{zzyzzz{{{z||{{zzzzzzz{|{z{{{|{{{{z{{{|}{|{{{{z{{{{z{{{{{{||{{{{{{{y{z|{{{{|{{z{|{z{{{{{{{{|||{zz{{{z{|{|{{|{|{z{{{zz{||{|||||||{{{{|{|{||}|{|{{|{{{zyz{|{z||{|{{zz{|z|{{{z|||{{{z{{{|{|{{|{{||z{{z{{{||{}|{|}|z|{|{{{|||{{{||{{{{{{z{|{{|{{{|z|{z|{{{{{{|{{z|{{{z{{{z{|{{|{||{{{{{{{{{{{||{||{{zzzzzz{z{{{zzz{z{zzyzz{{{{{z{|z{{zzzzz|z{|{||{{{{zzzzz{{{{|{|{{zzz{z{{z|{|{{{{zz{{zyzzz{{{{{||zzzz{zzyzz{zz{|z{{zzzxyy{z|z{{{zzz{z{zyzz{{{z|{{{z{zzyzz{{{z{{{{{{zzz{x{z{{zz{z{{z{{zzzzzz{zz{|{{zzzzz{yz{{{z{z{|y{zz{{zzz{z{{|{zyzzz{|{zz{{{{{{zzzyzzzzzz{|zz{{zz{z{|z{{z{z{{|{z{z{{z{{{|{|{{{{{z{z{{z{{z{z{|{{{z{zzzzz{{{|{{{{{{z{{yz{|{z{{|||{{{{{{{{{{{{z||{{{|z{{{{{{{|{|}|{zz{zzz{|z|||{|{{z{z|{}{{||{||||{{{z|||{|{||{||}|{z{{{z{|||{{{||{{||{{z{{|{|||{{|zz{{z{{{|z|{|||{{{{z|zz{||{}z}{{{{{{{z{z||z||||z|{z{||z{{{{z{{|{z|zyz{zz{{{|{{{zyzzz{{z{{{zz{{|{z{z{zzzzz{{{|{{zzzyyzzz|zzz|{}|{z{zzzy{{{{{{{{{{{z{zzzzz{{{{{z|zzzzzzzz{{{{z{|{{zzzz{zzz{zzy{{{zzzyzzzz{z{z{{zzzzzzyyzy{{zzz{{{zz{yzyy{z{zzzz{{{zzzz{{zzz{zz{|{zz{{{zzzz{zz{z{|{yzzz{z{z{{{{|{z{zzz{yzy{zz{{|z{zz{z{yzz{{{{z{{{{z{z{{{zz{{{{|{}z{{zzzz{{z{|{{|{|z{z{z{zz{{{{|{{z{{z{z{z{||{{{{{zz{{y{zzz|{{{|{{|{{{{zz{z{||||{{z||{|z{{z{|{{|||{{{{{zzz||{{|{||{{|{{|{z{||{{||}{zz{z{{{{{|{|}{{{{{|{|{|{}||{||||{{{{}{{{{{||{{|{zz{{|{{{{{z{{|||{{{{{{{z|{{|{|||zzzzzz{z{{{{||{|zz{zz{z{z{{{{{|{{{z{yzz|{||{{{zzzyzzz{zz{{{z{{|{{zzzzzz{{|{{{z{{zyzzyy{{{{{{{{{{y{zzyzzz{|{z{|{z{zzzzyz{z{zz|{{|zzzzzzzz{{{{{|z{zzz{zzzz{{zz{{{{{zy{zyz{zzzz{z{{yzzzyzz{{z{z{{z{zzzzzz{zz{|{z{{zz{zzzzzz{zz{{{{{yzzz{yzzzyzz{{zy{{zzyzz{zz|{|{{zzzz|zzz{{{{{{|z{zzz{zzyz|{z{z{{{{zz{z{{z{z{z{{{zzz{{zz{|{|{|{||}{{z{z{z|{{|{|{{zzzzyz{{{{||{{|{zz{{{{{{{{{{{{{{|{z{{{zzz|{||{|{z{{{{{|{{|{||z|}{z{{{z{{{|||||{{|zzz{z{{|{{{||||{{{{{{{z{|{||{|{|{{{{{{{{{{{|||{|{{{{{z{|||{||{|{{{{yz{{{|z|{{}|{{{{zz{{{|{{||||z{{{{{{z{{{|{|}{||zz{|{{{z{|{|}z{{{z{{{zz{{{{|||zz{|zy{yzz{{z{|{{z{{zz{z{{{|{{{|{zzz{{zzzzz{z{|{z{{z{zzzz|{{{z{{{zzyzyzy{z{{{{{|{zzz{{{zz{{{|{|{zz{zzz{{zz{z{{|{|z{zz{zyzzzzz{{{{y{yzyzy{z{z{|{zzzzzyzzz{{|{{{{zzzzzyzyz{{{{zz{|z{z{z{zyz{zy{{z{{{zz{zzz{|{|z{{|{{{{{{zzz|z|{{{{z{zz{zzz{{{zzz{{{{z{zz{z|{z{{zz{zz|zz{{|{|z{|{{{z{{{{zzz{}{{z{||{{z{{{zz{{{{{{||z{z{{z{z{z{{{|{|{{|z{z{{{|{||{||{{{{{{{z{{||{|||{{{{{{{z{||{{|{{|{{z{z{{{|{||||||{{{{|||||{|||||{|{|z|{||}}||{||||{{{{{|{{{{|{|{{{|zz{zz{|||}|}||{{|z|{|{{||{}z{{|{z{{z{|{{|z||||z{{{{{z|z{|{{|{z{|{zzzz{{|z{{{{z{zzzyzzzz{{|{|{z{z{zzzzz||{z{{{{{{{zz{{{z{{{|{{{zzzzyzz|{|}z|{|{{{{zz{z|{z{{{|{{|{zz{zy{{{z{{{{z{{{zzzz{{|z{{|{z{{zzzz{{|{{z{z{{{zz{{zz{{z{{{{{yzz{y{zz{|{z||{{{{{{z{zz{{z||||{{{z{zy{{{{|{{{{z||zy{z{zz{{zz||||z{{{{yz{z{|{|||{{z{|y{{{|{{{|{|{{|{{z{{{{{{{|{|{{{yzz{{{{{|{{|{{z{{zz{z{|{|{|{{{{{z{|{{{{||z{||zzz|zz{{||{|{{|{{{z|{{{zz||}{|||{{{{{{{{{|{{||||{{|z{{{{||{||||{{{{{{{|||}||{{}|{{{|z|{|{|{|||{}|{|{{z{{|}|||||||{|{|z{z||{||||{|{{{{{z{{{|{||}}}zz{|{{||{|||{{|{{|zzzzz|||{||||{{{{{{{zz|{||{|{{z{z{|{{{{{{||{|{z{zyz{z|{{z{{{|y{z{zyzzzz{{{{{{{{zyyzzz|{z{{{{{{zzzz{z{{{{{z{{|{zzz{zzy{{{{{z|||zzz{z{y||{z{{|{{{zzzz{z{z{zz{||yy{zzz{{{z{{z{{|zz{zzzzzzzzz{{{{zzz{zzzzz{{||{{{{|{zzzz{{{{{{{{{zzz{zy{yzzz{{{{zzzzz|zzzzzz|z{{{zzzz{{zz|{{{{||{{zz{zzz{z{{|z{z{{{{{zz{{{{z{{{{{y{{zzz{{|z|{{{{{{{z{z{z{|z{{{{{{{z{zzz{z{{{{{{z||{{{z{z{||{{||{{|{zz{{{z{|{}||||{|{{|z{|||||||{|{{|{{{{{|{}{|||z|z{{{{||{}{|{||}{{{z|{{|||}|||||{{{|{{{{{}{{||{||z{{zz{|||||{||||z{|y{z{{{{|{||||{{z||{{{||||{}|{{{z{z{{z|{|{{|{{{{|{{zz{{{{{{|{{z{zz{z{z{{}|{{z{{z{yzzzy{{y{{z{{zzzzyz{{{z{{||{{z{z{zzz{|{{z{|{{z{zz{z{{{{{{{||zzz{zzz{zzz{z{{{|zzz{{{y{{z{z|{|zzzzz{yzz{|z{{{zyz{zzzzz{{{{z{{{zyzzyz{y{z{{{{z{z{zzz{zz|z{z{z{{zz{zzz{zz{z|{{{{zyzzzy{yz{|{z{{{z{zz{z{zzz{{|{{{zzz{{zyz{{{{{{{{z{zz{y{z{{|{{{{{{z{zzz{{zz{|z{|{z{{{z{zz{{{|{z}{{{zz{zzz{{{{||||{{{{{z{{|||{zz{{{{{zyzz{z|{z{{{}|{z{|{{{|{{{{{{}z|{{zz{{{{{|{|||zz{{{zzz|{{z|||{|{{{{z{{|||z{|||{|{z{{{{{{{|||{|||{{z{{{z||{|{|||z{zzz{{|||{{{|||{z{z{|{||{}{|{{{{{{z{{||||{|}|{z||z{z{zz{{{{|}|{{{{z{{{{|{{|{{|z{|zzzz{{{|{{z{{{yzzz|zz{||z|{z{z{zzyy{z{{{z|||{{{z{zz{z{z{{|{{|z{z{zzz{z{z|{{|{|zz{{z{yz{zzzz{|zzzzzzzz{{z{z|{{zz{{{{yz|z{yz|{{z{zzyzyz{{{|{{{{yz{y{z{{{{z{{z{{zzyyzzzy{{|z{z{zzz{{yzzz{{{{z{z{zzzzzzzzz{{zz{{{zzz{yz{yz|z{{{{|zzzzz{y{{{{{{z|{z{zz{zz{y||z{|z|z{{zyyzz{{|{{{{|{z{y{{{{z{{{z{{{{|{{zz{{{z{{|||{{{|z{zzzz|{z|{|{z{z{{{zz{||{{|{{|{z{{{{z{||||{|{zz{{{{{||||||{}|{{{z{zzz||||{{}{{z{{{{|{{|||||||{|{{z|||{{|||||{|zz{||{|{}|||||||{{{{zz{z{|||{{{{z{{z||{{zz||{|||{z{{||{|{|{{|{|{}{{{{{z{|{||{|{{{{{z{{{z|{{{{|{{zzzzz{{{z||{{{z{{z{zzzzyz{{z{{{zzz{z{z{|z{zz{{|{{zzz{{y{zz{{{{{{zz{z|{z{{z|z{{|zz{zzz|zz{|z{{{|{yzzzz{yzz{z{{{{zz|zz{{z{z{{z{zzzzyzy{zzz{{|{{z{{zy{yyzzz{{zzz{z{zzzzzzzz{{{{{{{{z{zyzzyz{zzz{{zzzzzzzzz{{{z{{{{{zzz{yyyy{{{z||zyzzyz{zz{z{zz|{{{zzzzz{z{{{{z{|{|{{z{{zz{z{|{z||zz{{z{{z{{{{z|{{{z{{{zzzz{{{|||z{z{{zzz{{{|{{|{{{{z{{{zy|{|{{|{z}{zyzzz{{{{{|{{|{{zzz{|z|{|}{{|{{{zz|{zz{{}{{{{{|{zzz{{{{||{|{|{z{{z{{{{{|{{{||||{z{|{z{{{|{|{||{{|{{z{z{||||||z{zzz{{y||{z{||}|{zz{{{{|{{{|{|||zzzzzz{{{|{{{||{|{{{z{{{{|{{{{|{{z{{{z{{{{{{|{{zzzz{z{{yz|{z{{{{z{{zzzzy{{{z{{|{zzzzzzzz{z|z|{|{{zz{{zzzzz{|zz{{{zzzzyzz{z{z{|{{zyzyzzyz{{{z{z{{{z{zzzyzzzz{z{|zzz{y{zzzzzz{{{z{zyzzzzzyzz{{z{{{{zyzyzzyz{{{{{||{{{zzzyz{{{{{{{{z{yzzzzyzz{z{{y{{{zzyzyyz{{{{z{{{zzzyz{yz{{{z{{{z{{{zzzy{{{{{y|zzz{zzzz{{{{{|{{|zz{{zzzzz|{{{{z|zz{zzzzzz{||{|{|{{{zz{zzz||{{{{{{z{{z{z{z{zzz|{{{z{{{{{{{z||{{||{{{zz|z{{|{||}|{z{z{{{{z{{|||{{{{z{z{z{z|||{||{|z{{z{{{{||{{||{||z|z{|z{{}|}}{{|{z{{{z|{||{|{{{{{zzzz{z|{{{|z{}||{{{{{z{{{{|}{{}{zzzzz{{z{{|{{{{{zzzzz{z{{{|{z{{{z{z{{zzz||||z{zz{{zzzzzz{{{{{zzzz{{zzzz{{{{{{{|zzyzzzz{zz{z||{{{{zzyzzz{z{zzz{|{zyzzzzyz{{{{z||zyz{zz{zz{zyz|{{{zz{zzzzz{{{z{zzzzzzzzyzzyz{z{z{zzzzzzzzz{{z{{|{{{zzzzy{{z{{||{{zzzzyyzzz{z|{{{{zzzzyz{zzzz{|z{{{{{z{z{zz{zz{zz{{yzzzzyz{{z{{|{|{z{zz{zz{zzz{z{zzz{zzz{{{{{{z|{{{z{{z{zz{|{z|{zz{zzzzzzy{|||{{{{{{{zzzz|{{{{{||{zz{{{zz{{{{{{{{z{{{{{z{{z{{{{|{{z{{z|z{{{||{{{||zzzzz{{zz{{{|{|||z|{{zz|{||{{{{|{{{{{{|{{{{||||{{z||{{z|z|||{||||{|{{{{{{}{|{{|{|{z{zzz{{|z{{|{||z{{{|y{||z{{{}|z{|z{{{z{{{|{{||{{{{{z{{{{{||{|{{{{{{{zz{z||{|z{zz{zzzyyyz{z{{{zzzzyz{yzz{{{{{{|z{zzzzzz{{{z{|{{{yzzzzzzz{{zz{{{{zzzyzzy{{|{zz{{zzzzzzz{z|{{{z{{zzzzz{zz{z{{{{zz{zzzyzzzz{z|{{{{zy{yzyzyz{z{z{|z{zz{{zzzz{{{{{|{{{{zzzzz{{|z{{{zzzyzyy{y{zz{{zzy{{{{{z{z{{{z{{{|z{yzz{zzz|{{|}{{{zzz{{zz{{zzz|z|{z{{z{{z||{{z{||z{zz{zzz{{{{{{{|{zzz{z{z{{{|{||{{{{{z{z{z||{zz{{{z{zzz{z||{{{|{|{zzz{zzz{||{|{{{{z{|{|{|||{|{|}||{|{z{zz|{{|{{{{|{{{{{|{{||{|{{||{|z{{{{{|{||||{}{{{zz{{z}|{{|}|{{{|z{{{{{|||||{|zzz{|{|{{{|||{{|zzz{{z{z{|{{|{{zz{{{z{z{|z||{|||zzzzz{{{|||z{{{{zzzzz{zz{|z{{{{{zzzz{zy{z{{|z{|{{{{{zzy{{{z||{|{zzzz{z{{{zz{{{{{{zyzzzz{|z{z{|{z{zzz{{y{{z{{{z{{{{zy{zz{{{{{{|{{zz{z{yy{{{z{{z{{z{yzzzzz{{{z{{{zzzzzzz{|{{{y{{zzz{zz{zz{|{{{{{{zz{y{zzyz{{{{{|z{zz{zz{zz{{z{{z|{{z{z{zzz{z{{{z|zyzz{{yz{{z|{{||{zzz{z{{{{z{{{z}zzz{{z|{{{{{{|{{zz{z{{z{|{|{{|{{|{zzz{{{z{{|||{{z{{{zz{{|{{||{{{zyz{zzz{|{|{|{{}||{{z{{{z{||{|||z{z{{|{{{|{||||||{|{{{zz{|||||}{|z{{{z{{||{{||z|{||{{|{z|{||{{{|{{{{{z{{z}{|{|||{{z{{{|{{{|||||{{z{{{z{{|||{{||{{{{z{{z{||{{||{|{{{{{{{{z||||{{{{{{{z{zzz}||{{{{{{|{{z{z{z{z{|{{|z{yz{|zz{{{{z{{{zzz{zzzzzzz{{||{{zz|{zz{z{z{{|{{zzyy{zzz{zzz{{{zzzzzzzy{{||{{{{{zz{zzzzz{zy{{{zzy{{zzzz{zz{z{zz{z{zzzzz{{zz{{{zzzzzzyzz{{{z{zzzzz{zzzzz{{{z{z{{{z{zyyzyz{{{z{{{z{zyzyzzy{z{{{{zz{yzzzzzz{zz{{{{zzz{zzyz{zz{{z{{|yzz{z{yz{{zz{{{{|{zyz{z{zz{|{{|zz{zyzzz{z{{{|{{zzzy{zzzzz|{z{z{{z{{{{{z{|z{|{{{{{|zz{z||{{{|{|{{{|{z|{{{|||{{|{zz{z{{{{{{{|{|{||{{{z|zz{{{||{}|{{z{{{{{{||{{|{|{{{{{{|z{{|||{||{{{{z|zz{}{||{|||z{zz{|{{{{{{{||{{zz{|{{||{|{|{||{{{{zy{{{|{|{{||{{{z{{{{|{{{{|{{{{zzz{{{{{{zz||{{{{{{{y{{||z{{z|z{z{{{z{||z{{{{{zzz{zzzz|{{{|||{{zz{{zz{y{y{||{{{{z{zzz{zz{z|{{{z{yzzzy|{{{{{{zzz{yyz{{{{{{z{{{{zzzzzzyz{zz{{|z{yz{y{zzz{{|z|{|zyz{zzzzz{z{{zzzzz{{y{zzzzzz{|{{zz{zyzzzz{{{zz{|z{{{zyzzzz{{{z{{{{zy{zzzy{{{{{|{zzzz{zzzz{{{{{{|{zzzzz{z{{{zz|{||{{{zz{z{{{{{{{{z{{z{z{{||}{{||{|{{{{y{{zz{{{{{{|z{zz{{z{{|z{||{|z{zzyz{{{{{{{|{{|z{{{z{{||||||{{{{|zz{{{{{{|||~|{{{{z{|{|{{|{|{|z{z{{z{|{|{||{|{{{|{{{{|{||{|||{{z{{|{{z}{||||||{{|{{zz{||{{||{|{{|{z{{||{|||{{|{{|{{{{||||{||||{{z{zz{{{|{{{||{|{z|{z{{{{{|{}{{z{zzyz{{{{{z{{}yzzyyzzz{{{{{{{{z{y{z{zy{z{{|{||{{zzz{zz{z{{{{{{{{z{zzzzz{{|zzy{{zzzyzzzz{{{z{{|z{{yz{z{z{{z{{{{{{z{zzyzzzzzz{{{{z{zyzz{{{|{{z{{zzzzzzyz{{zzz{{z{zzzy{y{zy|z{{{{{y{zzzz{z{{zz{{{z{zzz{zzz{{zz{z|zzzyzy{zz{zz{{zz{y{z{zzz{zz{{{|{{zzzz{{z{z{{{{{{{z{zzzz{{{{{|}{{{{{zzz{{|{{{{{{|{{{z{zzz{{{{{{{{{z{{zz{{z||{{||||yzzz{{z{{{z{{|{zz|{|{{{{|z|{{|{z{zz{{{|||{|{||{{{|{{{zz|||{|{|{{z{z|{{{|{{||{}|{{z{{z{{{||{{{{|{{{{{{|{z{|||{||{{{|{z{{|||{{||{{{z{{{z{{{{{{|{{{zz{|{z{|{{|{}||{{|y{z{{|{{||||{||z{{{{{{{||z||zzz|zzzy{|{{{z|{{zzz|zzzz{{{|{{{z{z{zzzzz{{|{{||{|z{yz{z{|{{{|{{{{zzzzzy{|{|{{|{{z{zyzz{z{{{z{|{{{zzyzzy{{z{z{{{{z{{z{zyz{{{{{{zz{zzyyzz{z{z{{{{zzzzyzzzz{{{{{{{{{z{z{zyz|{{{{{{|z{zzyzz{z{{{{{|{{zzzzzyzzz{zz{zz{zzzzz{zz{{{{{{{{zyzzz{zz|{z|||{{{z{{z{|zz{|{{}|z{{{{z{{{z{{z|{{{zzz{z{{{|{{{z{{{z{z{z{z{{{{||{z|z{{z{zz||{|{{{{{z{{{{{{{{|{{||{|{|{{{{|{{||{{||{{{z|{{z{{{{{{||{{z{{z{{|||||{}{|z{z{{{z|||||||{{{{{{{{{{{{||}|{{{{{{{zz{~|||||{|{{{{z{{{{||||{||{{|{z{||{{||||}{{{{|z{|{z{|||{|{{|z|{{z|{||||}|z{{z{z{{{{{|{{|{zzz{{z{z{z{z{zy{zzyyzzzy{z{{{{{{{{yzzzzz{z{{{{z|zzzzzzzy|{{{zz|{{y{yzyz{{{{{z{{z{yzyz{zz{z{zz{{{z{yzzzyyz{{zz{{zyzzzzzy{zy{zz{zz{zyzzy{z{zz{z{{{{{zzzyzyzzz{zz{{zzyzzzzzz{{{{{{{{zzzzzzyyz{{z{{{zz{y{zyy{{|{z{z{zzzzyzzzz{z{z{z{zz{zz{zzz{{zz{{|zzz{zyzzz{|{zzz{y{{{zzz{{z{{{{{|zz{zz{{z|||{{{{{{{{{zy{zz{{{||z{z{{{{{{z{|{{{{|z{zz{|{zz{|z|||{{z{{{zzzz{{{{||{{{{{z{z{{||{|{{|||z{{{{zz{}|{|{{||zz{z{{z|||||{{{|{{|{{{{{|{{{{|||zz{{{{z{|||{|{||{|{zz{z|}||{{{{|{{{{{z|{{|z{{{{|{z{{{z{{{{|{{||{{{z{{{{{|{{{|{|z{{{{{{{{{|{{{|{{z{zzzzz{|{{{||{z|{{zyzzz{{{{z{|{{{zzz{{{|z{{||{yzzyzzy{zz{{|z|{zzz{{x{zz{|{z{{|{zzzz{zyz{{z{{{{zzzzzzzzz{zzz{{|{zz{yzz{zzz{{|{{z{{zzzyz|zzz{{z{z{zzyyz{{|zz{{{zzzzzzzzzz{{z{{{z{zz{z{zzzz{z{|||{zzz{zzzz|{zz{{|{zzzzzzzz{{{|{zzzz{z{{yzz{z{|{||{zzz{zz{{z{|}||{zx|zzyz{{{{{{{{{{z{{{z|{|{{{{{{}z{{z{zzz{{{||{{z{{zzyzzzz{|{{z|||{|zzzy{||{{{{|{{z{{z{{z{{{{||||{|{z|z{{|{z{{|||{{{{{{z{|{||{{||{{{{||{z{||{{|{{|z|{{{}{{|{|||{|{z{{{z|{{|||{|}|{{{{{{{{|{|{{{|{{{z{{zz|}{{{||||{{{{|{{{{|{|||{|{{{{z}{|{{{|{|||{{{{z{{z{{{{{{||{{{z|z{z{{{{{{{{z|zz{z{zz{{z{{z{{{yy{zz||{{{{|{{{z{yz{z{{{z{|{|{{{{zzzy{zz|z{z{{z{yz{z{yz{|{z{{|zzzzyzzyzzz{z{{{zy|{z{zz{{{{z{{{zz{zz{zzz{zzz{{zzzyzzzzzz{z{z{{{{zzzzyy{{z{z{{{|{z{zyzzzzzy{{{{|{y{zzzzzz{z{z{{zzyzzzzyzz{{z{{z|yyzzzzzz{{{{z{{|{{zz{zzz{z{z{{{{zzzzzzz{z{{{z|{|zz{z{zz{{||z{{{{{{{z{yzz{|{{{|z{{{{{{zzz{|{||{}{{{z|{|z{{{|{{{|{{z|{{zzzz|||}|||{z{{{{{{{|{||{||{z{{{{{z{|{||{|{{{z|{{{{}{{{{||{}{|z{{{||||{{||}|{{{z{|{{|{|||||{{{{{{{{|||{||}|{{{{{|{z{||{{}|}|z{z{{{{|{{||}|||{{{{{{{{|{{{|}|{{{{zz{z||{{{|z{{z{z{{zz{{{{{{zz{zzzyyyzz{{{{{|{zzyzy{{{zz{{z{{{zzzzz{{{{z{{zzzzzzzzzzyzzz|{z{{{zz{yzzzz{z|z{{{{zyzyyzzy{{{z{z{{{zzz{zyy{z{{y{{z{{{z{yz{{z{{z{{zy{zyzyz{{zz{{{{z{z{yzzzy{{zz|{{{z{zzzzzzz{y{z{{{z{zzzyzyzzzzz{z{yzyy{zzzz{{z{{{{zz{zzzzz{z{{{z{z{zz{{zzz{{{{{{{z{y{zzzz{z{z{{{{{{zzyzzz{{{{{{{|{{zzzzyzz{|z|{{{z{{{z{{{z{z{{{{{{{{zz{zz{{{{{{{||{z{{|{{z{{|{||{|z{||{{|{|||{||}{{{|z{{zzz{{z|{{|{zz{{zzz||{{|}||{z{z{z{z{{|z{|||{{z{z{z|||{{{z||{z{{z{{z{|{z|}|{|{z{{{{{zz{{||{|{zy{{{{{|{|{|{||z{{z{{{{{{{{{{{|{z{{zzz{||z|{{|{{{{z{zzy{z{{zz{zzyzzzzzyz{{{{{z{zzzzzyy{{{{{{{{{{z{{yzzz{{{{{{{{zzzzyzzzzz{|zz{{z{zyzzzz{{{|z{z{yzzyzyzyzzzy{|{{{zzyz{z{z{{zzz{zz{zzyyyzzzz{z{{z{zzzzy{y{{zzzz{z{zz{zz{zz{{zzz|{zzz{{yyy{{zzz{||zzz{zy{zz{{zzz{zzz{zzz{yz{zz{{{{yyzzzzzz{{{{{z{|zzzyzzzyz{{{z{z|{zzyzzz{{z{z{{{|{zy{y{z{z{zzz{{z{zz{{z{{{{z{{{||{zz{{{{{z{{|{{{zz{z{z{{z{{{|{{|{zz{{z{z{{{{{{{|{{{{zzz|{{{{{{}|{{{{{zz{z{|{{{|{{{{{{{{z||{|{{{{|{{{{z{{{{|z{|{||||{{{z{{{|||{|{{|{||{{{z{{||{{|||z{z{z{{{{zz{{||{{{{{z{{||{{||{}z{{z{zzz{|{{{{||{{|zz{zy{{{{{||{z{{z{z{z{z{{{{z{{zzzzzzzz{{z{{{|{zzzzzzyz|{z{{{{{zz{y{zz{z{{{{{{{{{zzzzz{|{||z{|{{zzzz{z|z{z{{{|z{zyzzzzy{|z{{{{{zzzyzzzz{{{z{|zzzzzyzz{{z{{{z{{zzzzyzyy{{z{zz{{zyzzzzzzzz{{{{{z{z{zz{zyzzzz{{{{z{zzzy{yzz{{{z{zzyzz{zzyzz{{z{{{zzzz{{yz{{|{{{{{{zz{{{zy{{|{zz||zz{{yzzz{{{{{|{|{{{{{{zz{{{{{|{|{zzy{zz{{{{{{z|{z{{{z{zz{{|{{z|{{zz{{{z{{|{{||{{{{{{z{{z|z||{|{|yz{yz{{{|{|{|{}|{{z{{{z{{}{|{||{|{{z{z|z{{|{|{|{{{{z{{{{{{|{|||}|z{{{||{{{|{{}|{{y|{|z{{{{{{{}|{|z{zz|z{{|{{||||{z{{{z{{{{{|{}}{{{zzz{{z||{{{|||{z|{{{{z{{{{{{|{{{z{zzz{{z{{|||{zyzyzzzzzz|z{z|{zzzzzzzzzz{{z{|{{{zyzz{y|||{{{||{zzz{{z{zz{{zzz|{z{zz{zy{{z{z{z|{z{zzzzzz{{{z|{{{{yzzz{{zzz{zz{{{zzzzzyzzyzz{{{{y{z{zzz{z{{{{{{zzzz{z{yzz{zz{zz{{z{zzzzz{{{{{{z{zy{zzzyz{z{{zz{{zz|z{z{z{z{z{{|{{zzzz{zzz||z{{{|{z{zzz|zz{{z|{{{|z{zzzz{zz{{|{|{zzzz{yz{{{{{||}zz|{{zz{zz{{||{{{{z|{|zzz{{||z{{||{{{{{z{{||z{||{{{{{{|z{|{|{|||{zz{z{z|{|{{}{||}{{z|{zz{|{{}|||{|zz{{|{{{||{{||{{{{||{{|||{{{||}{|z|{{{|z}||||}{|z|{{{{{||}{||{{{{{{||{{{{{{{}}||{{{|{z|||{|||{|{zz{{{{{{{{||||}{{zzz{zz{|{{{{|}{z{zz{{{{{z{|{{zzz{zzy{zz{{{|{|{z{{zyzzy{{|{{z|{{{zzzzzz|{zz{{|{z{zzzzyyyzz{z{{{{|zyz{zz{{||{{{|zzz{zz{zz{{z{{{z{{z{zzzyz{{z{z{{zzzzzyzyz{{{{{|z{zzzzz{zz{zz{{{z{zzzz{zzzz{zz|{z{{|zzyyzz{{|{{{zzzzzzyz{{zzz{zz|{zzzzzzzz{zz{|z{yz{{z|zz|{zzz{|{{zyzzyyzz{{z{||zz{{{{z{y||{{{{|{zz{zzz{{{{|{||||{{z{zz{{{{{|{{|{{{{z{{z{|{}|z|{|z{{zz{{{{{{{||{{{{{{z{{{{{||{|}{{{{{{|z{||{|||{}{{{zz{{{{|{||{|||{z{{{z||||{||||z{|{{{{{{|{{|{|||z{z|{|{{|}|{||{|z{zzz{||{{}||}{{{z{{{{|||{|{{{|z{{{{{{{{{{{|||{{{{{{zz{||{{{||{{{z{{z{z{{{~{|{{|z{z{yz{{|z{|{{{{zzzzzzzz{|{|{z|zy{{zyzzz{z|{{{|zzzy{z{z{{{|{{{zz{yzzzyzzz{{z{z{{zzz{zzyz{{|z{z{{z{{zzzzz{|{z{{{{{zzzz{zzzzz{{{zzzzzzzyzz{{z{{{{zzzz{yyzz|{z{{{{zzzzz{zzz{{{{zz{zzz{zzzz{{{z|z{{z{y{{z{zzz{z{{zz{zzzyzzyzzz{z|z{{z{zzzzy{|z{zz{{z{{{zzyz{{z{z{|{{z{{zy{zz{{|{|{{{{{{zzz{{{{{|{{{{z{zyz{{{{{{{{{{{{{z{|z{{{{{{{{{{z{{zz{z{{|{{{{{{zzz{{|{z|||{||{yz{{{{z{{|{||{{}{}z{{{z{}{{{{{|}|z{z{zz{{||||{||{{|{{{{|{{|{||{|{zz{{{{{{}{|{{||{z{|z|{{|||{{||{|{zzz{{||{||{|||{{{{||{|}|{{|}|{{{{{{{{{z{|{{z|{|{z{y{zz|{{|{{{z{{{zz{zz{{z|z{z{zyz{{yzzzz{zzz{z{z{z{{zz{z{{{|z|{zzyz{zz{z{{{|zzzz{zzyzz{{{{zz{{{y{{zzzz{z{{{zz|zzzyyyzzz{|{z{{|zz{z{{yyz{||{{{{{y{zzzyyzzy{{{|{zzzyz{zzzz{{z{zzzzzzyzzzy{{{{{|zzz{zzzzz{{z{z{{{zzzzzzzyz{zzz{{{{zzzzy{z{z{z|{z|zzzzzyzyz|{{{{|{z{zzzzz{{z{zz{{zzyzzzzzz{{{|{|||z{{zzz{z{{|{{||{{z{zyz{zzz{|z{{{z{zz{z{y{|||z{|{{{z{{zz{{{{z{|{{{{z|{{{z{|||||||zz{{{{{z{{{{{{{{zz{{zz{{{|{{{{|||{z{{z{{{|z|||}|{z{{z{{{z{{{}|{{{z{zz{{|{}|||||{{z|{z{zz|{}||||{{zz{{{z{|{|{|{{||z{{{{zz|{{{|{{|z{{{z{|{|||||{|{{{z{zzzz{{{}{|{{|{z{zz{z{{{{{{z{{z{{yzyzz{zzz{{{zzzzz{zyzz{zz{{{{{zz{z{z{{z{{|{zzz{yzzzz{{{z{{{|{zzzz{{z{{{{{{z{{zz{zzyy{zz{{z{zzzzz{zyy{z|{{{zyzzzz{{zz{zz{z{{{{{zzyzzz{z{zzz|z{z{zzzzz{z{{{{{|{{z{zy{zzzz{{zzz{zzyzz{zz{{z{{{zzzzzzzzzzz{|z{{{zz{zzzyzzz{||{|{{zzzzz{z{{{{z{{{{yzzzzzy{{{{{|{|{z{zyz{z{|}{{z|{{{{z{{zz{|||{{{{{{yz{{{z{{|{zz|{|zz{z{{{{|{{{{{|{{{z{z{{{|}|{|||{{z{{{|{{{{||{||{{z|{zy{||||}||{{z|z{zz{{|||{|{{z{zz{{|{|{{|{{|||{{{{{{{||{|{{||z{{{{{{z{||{z||{{zzz{|{{{{|{|||||{|z|zz{||{{||||z|{{{{{z{{{{{{|{{{{zzzyz{z{{z{||{{{zz{{z{{{{||z{zzy|zzzy{{z|{zzzyzzzyyzzzzz{zz{{zzzzzzzz{{zzz{|{zyzz{zzzzzz{zz{{{yzzxzzy{zzzzz{{zzzyzzzzz{{{z{zz{zzzzzzyzz|z{zyzzzzyzyyzz{{{zz{{yzyzzzzy{{{{yzzz{yzzzzzzz{{zz{{|yyzzzyzzz{{zz|{{zzyzyyzyzz{{{{{{z{zzzz{yzzzyy{|zzyzzz{zzz{{zz{{{z{zz{yzz{{{z{{{{zy{yyyyz|{{z{{{zz{z{zzzz|{{{z{{{{{zz{zz{z}{{z||{zz{{zzzzz|{{z{z|z{{z{zz{{{{zz||{{{{z{{|z{{{||||{z{{{|{{z{||{{}{{|z|{z{zz|z|{|{|z{z{{{{{z{{{|||||{{|||z{|{{{{|z|{|{{{zzzz{|||||}{{{{{zz{{{|{{|||||z{z{zz{|{{{{{|{{{zz{{{z{{{{{|||{{z{z{{z{{{{|{{||{{zz{zz{{{|{||{zz{zzzzz|zzz{{{{zzzxzy{yz{z{{{{{z{yzzzzy{|{{{{|{z{{zzyyy{z{{z{|{zz{{zzzzy{z{{z{{zzzzy{yz|z{z|{{|{z{{yzzz{|zzz{{z{zz{z{yy{zzz{{{{zyzzz{yzzz{{{{z{zyzyzzzzz{zz{{{{zzzyx{zz{{|zz{{{{{zzzyyz{z{zz{{z{{zzzzzzz{zzz{{{{zzzzyzyz{zz{{{{zzzz{{{zz{{|{{|{zzzz{zzyz{{{z{{{zz{zzy{{|{z{{{{}z{{zzzz{{{z{z{{{{{z{{zzz{||{{{{{{{{zzzz{{{{{{|{z{y{|{{zz{{{{{||{{{zzz{zz{z{{||{{{{{{{{{{{|{|z|z|{zz{{zzz{{{{|{|{{z{z{{{{||{|{{|{{{{zz{{z{}{{|||}{{{{z{z{{||||{|||{{{zz{z{|||{|{||{zz{zzzz{{|{{{||{{z|z{z{{|{{|||{{z{zz{{{}{{|{{{{|zzyzzzz|z|{{|{{z{z{yzyz{|zz{zzzzzzzxyzz|zz{{z{{zyzzyzyzzzz{|z|{zzyz{zz{zz{{{|zzz{yzzzz{{z{z{{{zzzzzyzzzz{{z{{{zzzyzy{y{{zzz{{{z{zzzyzzz{zzz{{{zzzyzzzzzzz|zzzz{zzzzyzzz|z{z{{zzzzzzzyzz{{{|{zzzz{zyzzz{{{zzz{|zzz{zzzzz{{z{{{{y{zzzy{z{{zzz{|{yyzz{{yzz{z{z|{zzz{zyzyz{{{{{{||zzzzzz{z{z{{{{{|zyzz{zzz{z{{{{{{{zyzzzzz{{|{{{{{{z{{y{z{{{{y{z{|{zyzz{zz{|{{zzz{{{{{{yz{{zz{{{|{{z{{zz{{{|{|z||{{{z{z{zz{|{|{|{{{{{z{zz{{||{|||{{z{{z||{z{|||}{{{zz|{{z{z|{||||}{zz{{z|z||z{|||{{z{{{z{{{{{{{||||{{{{{{{|{{{z{}{|{{zz{z{z{{|{{{|{zz{{{zz{{{{{{{zzz{z{zzz{z{z{{zzzzyyyzzyy{z{zz{{zzyyzzyz{{{{|{{{{y{zzzzyzzzz{{zz{zzzzyzy{z{{{zz{{{zy{zzyzzz{{{z|z{{z{zyy{{zy{{{{zzzzzyyz{z{{z{{zz{yzyzzzz{z{{{{zzzzyzzzzz{{z{zzzzyz{zzyyz{|zz{{zzzzzyyzz{zz{{{{{zzyz{zzzzzz{{z{{yzzyyyzz{zzz{{{{zy{zzzz{zz{z{z{{zzz{{zz{{{{{zz{zzzzyzyyz{|z{{{{{zzzzzzzz{{{{{zzz{zz{zy{{z{{{{{{{zzz{{{{zz{{z{z|{{{z{{zzz{{{{{{z{{zz{z{{z{{{{{{{{{zzz{z{|{{{|z}{|{{{z||{z{|{{{|{{{{{{{zz{{|{|{{|}{{|{z{{{{|{|{|{{{{{|zzz{{{{||{|{|{{zz{{{{|{|{||||{zz{{z|{{z{{{||{{{{{z{y{{|{{|{|{|{z{{{{|{{z{||{zzz{{zzz{{{||{{{{zz{z{zy{{{{{{{z{{zzz{zzz{z{{zz{zzz{zzy{zz{z{{{{zzzzzzzz{{{|{{||{{zzzzzz{{zzzzzzzzyyzzzyz{z{zzz|{yzyzzz{zz{{{z{z{zyzzzzy{{{{z{zzzzzzy{zzzzz{zz{{zzzyyyzyz{z{{{{{zyz{yyyzz{z{{z{{zzy{yzyzzz{zzz{{zzzyzy{zyz{{{zz|{zyyzyz{z{zz{{{{zz{{{{yzzz{{{|{{zyzzz{{zz{{{{{|z{z{zyyyz{zz{{|{{{{{zy{z{{{{z{{{|z{zz{yzzzz{|{{{{zzzz{zz{z{{{{{{|{{yzzy{z|{{{{||z|{zz{{{{{{{|z{|{{z{{z{{z{{{{{{|}{z{{{{yz|{|{{|{{}{{{zz{{{|}|||||{z{{z||zzz{{||{||z{{{{{zz{||{||{|z{|z{zz{||z{||{zz{z{{z{|{|{|||{{z{{{zzzz{z{{|||{yz{{zzzz{{{{||{{{{yzzzz{|{||{||z{{z{{{{{{|{{{z{zzz{zzzz{{{z{{{{{{{zz{{z{|{z{{{{{zzz{z{y|{{{z{{|zzzzzzzzz{z{{|{{{z{zzy{zz{{{{{{|zzzyzzzzzz{{{{{z{zz{{yz{{z||{{{zz{yzxzyz{zz{y{{|zzzzzzyy{zz{z{{{zzzyzzzz{{{{zz{z|{z{yz{z{z{{z{{zzzzyzyzyz{{y{{z{zzzzzyyzz{zz{|{zzzzzzz{y{{|z{||{z{zyz{{z{|zz{{|{zz{z{z{zz{{{{zz{yyzy{yzzz{z{{{|{zz{zz{{z{{{{z{{{{{{{{{{z{z{{{{|{{{{|{{{{{{{{z|{{{{{{z{{z{{|{{||{{z{z{{{{||||{|{|{zz{z{zz|{||{{{|{{{{|{{z{|{{|{||y{{{{||{{|z{||||{{z{{{{{{|{{|{{||{{{{{|{|{{|{|{||{{|{{{|{{|{||||{|{z|{z{||}|z}||{|zy{|zz{{{{{{{z{{{|{{{z{{|z|{}{{z}{{{zy{||{|z{{zzzzzz{zzz|z{|{|z{zz{{zzzy{z{{{|{{zz{{{yzz{{z{{zzzzzz{zyz{z{z{{|{zzzzzzz{{z|{{{{z{zz{yzyz{z{z|z{zzzz{zyz{z{zzzzzz{zyzy{zzz{|{zz{yzz{{{{z{{{z{{z{z{z{y{y{{z{{{z{{{zzz{zzz{|{{{z|{zzzzzyzzz{zz{{z{{zz{zzzzz{{{{zz{zzz{z{zz{zz|{{{z{zzz{zzz|||{{{{|{zzzzzzz{zz{{{z{zz{z{{zzz{{z|{||{y{zzzzz{{zz{|{|zzz{zzz{z|{|{{||{{{{zzz{|{{{{||{{z{{|zz{{{|||{||z{{{zz|z{|{{{{{||{zz{zz{||||||}{{z{{{{z{}|||}}|{{z{z{|{|{zz{{{|||z|||{{z|}|{{{|||{{{{|||{{|z|{|{|{z{z{{{|{{{|{|||{{z||{{{{||||||{z{{{{{zz{{{{{{{{{{z{{{{{{{|{|{{z{{{zz{{{z|{|{zz{zzyzy{yz{|z|z{{{{yyzzzz{{z{z{|{z{yzz{{{{z{{{{{zzzzyz{yz{z{{{{{{{zzyyzzz{{z{z{z|zz{zyzzy|zz{y{{{z{zzzzyz{z{z{{z{zzyzyzzzz{z{zz{|zz{{zyzzzz{{zz{{yzzzyzyyy{{z{{{{{zzzyzyyy{{z{{z{{z{zzzxzzzzzzzz{zz{yzzz{z{{zz{{zzz{zzzyz{{{z{z{{{zzz{zz{{{{{z{{|zz{zzzy{{z{||{{{zzzzzz{zz{|{z{{{zz{z{z{zz{{{{|z{{z{zzzz{{{{{{{|{{{{{zz{{{|{z|{{zz{{zz|{z{z{{|{{|z{zz|{{{|zz{|||{|z{{{{{z|{|||{{{z{{|zz|z|||{||||{z|{|{|{{{{{|{|{{z{{z{{z{|{{||||{z{{{{{{|{}{{|{||z{{|{z{|{{{{{||{{{{{{{{{{|{{|{{{{{zz{{{{|{{{{}|{{z{z{{zz|z{{{|{{zz{z{zz|{|{{{y|z{zzyyz{y{{z{{{{zyzzzzyzzz|z{{{{zzyz{zz{zz{y{z|{{zyzzzz{{{{{zz{yyzzzyyzz{zz{{zz|{zzyzz{zy{{zz{{{zz{zzzyy{z{z{{{zzzzzy{xyzzz{z{z{yyz{yyzyzzz{{{{z{zyzyzyzzz|||{z{zz{zzyyzzzz{{zzzz{zzyyzzz{zzz{{zzzzzzzyzzzzzz{|zzzzzz{zyzzz{z{{{zzzzzzyz{z{zz{{{{zz{zzzzz{|{{{{{z{z{{zzzzz{{zz{z{z{z{x{zz{{|z|{{{zzy{{zz{{{{z|{{zzzz{zzz{{{{{z{|{{{z{zz{{{|{|||{{{{{{{|||{{|{|{|{z{{z{zz{}|{|{|{|z{z{z{{{||z|{|{{zz|z{{||{{|{{z|{{z{{{z{{|{|{|{{{{{|{z{{|{{{|{|{{{{{{{z|{{||z|{|{{z|{{{z{{{{||{||{{z{z{{{{{||||{z{{z|{{z{z}{z{z{{yzz{zzz{{|{{{z{z{zzzzz{z{{|z{{{zzzzzyyzzzz{{z{{{zzz{{zz{{{zz{|zz{zyzzzy{z|yzzz|zzzzzzyyz{z{{{{zzzz{zzzzzz{zz{{zzzzyzyyz|zzyzz{zzz{yzz{{zz{z{{{{yzyyzyyzyz{zzzzzzz{yzzxz{z{zz{z{zzzzyzzzzzzz{{{{zyzzzzzzzz{zz{{{{zzzzzzz{|{z{{{{zzzzz{zy{zz{{{{z{zzz{zz{zy{{z{zz{zy{zz{zz{{{{{{{zz{zyzz{{{zz{|z|zz{zzzzzz{{{{{z|{zz{zzyz{{|{|{|{{zyzz{z{{|{zz{{|z{z{{zzz{{{||}|{z{z{{{zz|{z{|{|||zzz{zz{{{|{{{z{|z{z{{zz|||{{|||zz{zz{{{{{{{||{{|{{zz{{z{|||{{{|{z{{|z{y{|{{{||{z{{{{{y{{|||{{|||{{{|zz{z|{{{||{|{{z|zz{{{{zz{||{{z{zz{{{{{{z{|{{zzzzzzz{z{{z|{{zz{yzz{yz{zz{{z{{zyzzzz{zz{{{{z|z{zyzzzz{z{{|z{{zzzzzyyzzz{{{z{z{zzzyyzyz{{{{{z{zzzzyzyzzzzzz{{{zyzzzyzyzzzzz{zzzyzzyzzzz{z{zzzzyz{zzzzzy|{z{{zzzzzzy{yz{z{{{z{zzzz{yyyzzz{zz{{{{yzz{yzyzzz{{{{zz{yzzyzz{zz{{{{{zyzzzzzzzz{zzz{{{zyzzyzz{z|{z{{z{zzzyyzzz{{{|z{{yzzzzzy{{z|{z{{{{{{zzy{zz|{{{{{{{{|{z{zyzy{z{zz{z{z{zzzz{z{z{{{z{z{z{{y{z|{||{{{z{zz|{{z||{|z{|{|z{{{zzz{{|{{z|{|{{z{{{{{}||{{{|{{{z{{{|{{{|{|||{{{{{z{{z||}||}|zz{{{z{{{{{|{{||yz{z{{zz{{{|{{{|{zz{{{{z{|{|||{{zzzz{{zz{|{{|{{{{zz{z{z{z{|{||z{{zzzzyzz{z{|{zzzzzzzyyyyz{{{{z{{zz{zzzzyzzzy{{{|{{zzzzzzzzzz{{||zzzyyzzyz{{zz{{{zzzzyyzy{z{{y{yzzyzzzyzzzz{yzz{z{zzzy{{zz{{yz{{z{yzzyzz{zzz{z{z{zzyzzy{z{{zz{{zyyzzzzzyz{{{{{z{{zzzzyzzxzzz{{z{zzzyzzyyzzz{zz{{{{z{z{zy{{{yz{{{{zzzzz{yyzzz{{{{zzzzzzy{y{zz{{z||z{{{yyyzzzz{z|z|z{zy{z{{y|{z|{{{{zzzzz{z{|{{{{z{zz{yzz{zz|{{{{|{{z|{z{yz|{|{{{|||z{z{{zz{|{{{{{{z|z{{{z{{{{|{|||{{{{{z{zz|{{|{{{|z{{{|{z{|{z{{{{z{{z{{|{{|{||||{{{z{{{{{z|{{{|{|{{{{{zz{{||||{|{|z{{z{z{{{{|{{|{|{{{|zz{{|{z{{||{zzy{z{zzz{{|{{{{yzzzzzzz|{{{{|{{z{zzzzzz|{z{{z{zzzyzz{y{{{{|{z{zzzzyzy{{{z{z{{{{zzz{zyzz{{zz{z{{yzzzzyzzz{{{{|z{z{yyyzyzzz{z{{{zzyzyzzzyz{zz{{z{zzyzzzzzzzz{yzzyzzyz{yz{{{zzz{z{zzzzyzzy{z{zy{yzzzzzzyz{zzz{z{zzzzzzz|yzzzzz{{{{zzzzzzzyzzz{{zz{zzzz{yzzzy{z{{zzyzzzzyz{z{{z{{zyy{zyy{{z{z{zz{{yz|zzz|y{{|zz|{{zzz{yyy{{zz|{|z|zy{{{{zzz{z{{{z{{zzz{{{{{{{||{|zzzzyzyz{z|{z{{{{{{zzzzz{{{{||{z|{{{zzz{{{|{||{|}{z{zzz{{z||{||{|{{{{|z{z{{{|{||||{{z{{zyz{||{||{{{{{{{{{{{||||{{|{z{zz{{{{{|||||{{z{|{z{{{|{|{{|{z{zz{{{{{{{{|{|z{zzzz{{z{{{|{|{{zz{z{{z{|z{{{{{{zzz{zz{z{|{z{|zzzzzzzyzzz{{{zz{zzzyzxzyyz{{{{|{{zzzzzzy{{zzz{{{{zzyz{zz{{{{z{zzz{zyyyzyy{z{y{z|{zyy{{zyzz{{{z{zyyzzzzyzz{zzy{y{{zzzyzzzzy{z{{zzzzz{xzzzy|{z{zzzzzzzzyyzzzzz|zzzzzzzyz{zz{z{z{|{yy{zzyzyz{zzz{{z{zy{zzzzzyz{zz{{yyzzyzyy{{z{{{|{zzzz{zz{z{{{{|{{zzzz{z{z{|{zz{{{z{{zz{{{{z{{{z{|{zzzzy{{z|{{|{{{{{zzz{zy{{{{|{{{z{{z{zz{z{z{{}{{z{z{{{zz{{{{{|{{z{{zzz{{z|{{z|{|{z{{zzzz{{{||{{{zz{{{{{{{|{|||||{{z{{{z{{{{{|{|{|{{|{{zz{|{||||||z{{z{{{|{z|{{{{|y{z{|{{{{{z{|{|z{{{{|{z||{|||{{{{{z|{{{{{{{{{||z{{{zz{y{|{{{||z{zzzzzz{zz{z{z{zz{{yz{{zy{{z{zzz{zzyzy{z{{z{{{{|{zyzzz{z{|z{{z{{yz{zzzzz{z{{z{{{{zzyyzzyzz{{zz{|{yzyzx{zz{{zz|{zzz{z{zz{{{zzzzzzzzzzzzyzzzzzz{z{zz{z{zzzz{{z{z{{{zzzzzyzzz{z{z|y{{{zyzzz{{{{zz{|zzzyzyzyyz{{z|zz{zzzyzzzz{zz{{{zy{zzzzzzzz{z{{|{{yzzz{zz{z{z{zy{zz|zzyz{{yz{{{||z{{zyzy{z|{z{{{{zz{{zzzzyz|{z|{{z{{zzyzz{|{|{z|{|zzzzz{{z{{zz|{z|z{z{z{z|{{{zz{{z{z{{{{z{|{|{{{|}{z{{{{z||{||z|z{zzzz{z{|||{||{|{z{{z{||{z|{|||||{{zz{{z{|{{|{{|{{{zz{{{{{||{{{{z{{zzz{{{|{{{}{{|{{{{{z|{|{|{||||{zz{z{zz{{||{{{{zzzzzzzz{|{z{{|{zz{zz{{{|{z{{{{{zzzyzzzz{{y{zz{zzzzz{yzzz{|{{z{{zyzzzzz{zzz{z{zzyzzzzzzzzzzz{{|{zzzyzzyz{zy{{{{zzzzyzyzz{z{zz{zzzzzyzzzz{zy{zz{zzzzyzzzyz{z{{z{zyyzy{zzzzzzzz{zzzzzyyyzzzzz{zz|zyz{xyyzz{yz{{z{zzzzyy{xzzzzzzzzzzzzzzyzy{zz{{|zzzyzyzzyzz{zz||{{{zzzzzz{z|z{{{{zzz{{yzyz{zzzz{{zy{zyzzz{{{{{{{zzz{zzzz{z{|{z{{{{zzy{z{{{{|{{z{{{zz{{z{z{{z{{{{zz{|zzzzzz{|z{{{{{{{yz{z{z{z{{{{}{zzz{{zz{{|{z{{{{zzz{zyz||{{|{||{{|{z{|z{{{{{||||{{{{z{{{{|{{{||{z{{zzzz{|{||{{{|{{z{z{{z{{{{{{{{z{yz{z{|}{{z{{|z|{z{{z{|z{{{|||{z{zz{{z{|||{|{{{{zz{zzz{|{z{{z|{z{{zzzzz|{zz{{{{zzyzzyy{{z{z|||{{zzz{zyz{{{|{{|{z{zz{zz{{{{zz{{{{zzzyyy{z{{zzz{z{zy{zzzzzz{|{|{|zzz{zzy{{{{zzzzzzzyy{yz{yzzz{z{x{yzzzzyz{{zzz{z{yzzz{zzzz{{{z{{zyz{zzyzz{zz{{{{zzzz{yzzz{zzz{{|zzzzzzyzzz|{{{z{{zzz{{zyz{{z{{||{z{zz{zzz|yz|z|{{yzz{z{zzzz{{{{zzz{{zz{{z{{{z{{|{{{{zzz{{z{z{|{|{{{{{zzzz{||{{|{z{z{zzz{{|z{z|z{{z{{{{zz|{{{{z|{{{zz{z{||{||{z|{z{z{{zzyz{|{{|{{|z{{{{{||}{{{{||zz{{{{{{|{|{z||||z{{z|{{{|{||||}{{{{z{{|{{|}z||||zz|{|{|||{||{}|{{{|{{{{{|{{{{{|{{z{{zz{{|{|||||{zz{{{{z{{{{z|{{{zzzzz{zz{{|{{{{z{zz{zyzz{{{z{{{{{{{{zyz{zz{|{{|{yzzz{zzz{z{zzz|{zzzzyyyzzz{{{{{z{zyzy{z{zzz{{{{zyzzyzzzz{{{z|{{{zzzzyyy{z{zz{{{{zyzzzyzz{zzz{z{zzy{zzzzzzz{{y{zzzzzyyzyz{y{{{{z{{zxzzzyy{z{{{{|zzyzzyzyzz{{z{z{zyyyyzzzzz{{{|z{z{{y{zzxzzz{zz{{yz{z{y|{{z{z|{{{yzz{yz{{{z{{|{{{zzzyz{zzz{|{{z{|zz{{zzzz{{z{|{{{zzzzy{{{z{z|{{||{{{{zzz{z|{{{{z{{z{{{zzz{{{{{{{{|{{z|{{{{{{{|{{|{zz{{{z{{|||{|{|{z{{z|z{|{|{{|}|{z{{{{{{|{{{||{||zz{{{{{{|||{|||{z{{z{{{z{{||{||{{z|{{{z{{|{{|||{z|{{{zz|{{{{{|||{zzzz{{z|{|{||{z{{{zz{z{{{{|z{{{{{zzz{z{{{{{z{|zyzyzyzyzz{z{|{{{zyzzyzy{z{{{{|zzyz{zzzy{{zz{|{{zzzzzyxzyz{zzz{{zzzxyzzzz{{{zzz{zyzyyzzzzzzzz{z{zzzyzyy{z{{zz{{zzzzzyyyzzzz{z{z{zyyzzyyyzz{yz{{zyy{zzzxz{|{z{{zz{zz{zzyzzzz{zz|{zyyyzzzyy{{zzzz{{yzzzzyzzzz{z{{{z{zzzzzzzzz{{y|{z{yzzyzzzzzzzz{{zzzzyzz{zzzzz{{zyz{zy{zz{z{z{{{{{zz{zzzzz|{z{{zz{y{yzz{zz|{{{{|zz{{{zzzz{z{{{{{{{zz{z{z{z|{{z{{{|z{zzz{{{{|{{|{{z{{{z{z{{{{|{{{|{{z{{{{z{|{{|||{{{zzz{{{z{{{{{|{{zz{zz{{{|{{{|||{{{{{zzz{z{||||{zz{{{zz{{{{|{||{{z{z{{{{{{{{{{|{zz{z{{{z{{|{{{{{{{zzzzz{z{{|{{z{z{{{{zyy{|}{z{z{zyzzzzyzz{zzz|zzz{yzzzxzzzzz{{{z{zyyzzzy{yzz{zzz{zzzzzyzzz{{zyz{zz{yzyzxz{{{{{z|yzzyzzzzzzzzz{{{zyzyzxyzzzzzz{yzzzyyzzzyzyzzzzz{yyy{yzzzzyzz{zzyzzzzyzxzyzy{{{{zzzzyyzyyy{zz{z{zzyzzzz{yyyyzzzzz{xzyzzyyzzzzy{zzzyzyzzzyz{zz{zz{{yzyz{yy{z{{z{z{zz{zzz{y{{{z{{z{zyyzyzyzz{z{|{|{{y{yzzzz{{|{zzzz{yzzzzzzzz{|z||zzzyzzyyyzz{{z{z{zyzzzzzz{{{{{|{{zzzzzz{z|{{|{{{{{{{zzzyz{z{{{{|z{z{zzzz{{||zz{{|{z{{zz{{{{{{{z{|{{zz{{{z{{{|{|{|{{{{{zzz||{{||{{{zzzz{zz{{z{{{{|{zzz{{{z{|{z{{|{{{{yzyzz{z{zzz{{{{{{zz{yz{{{z{zz{y{z{zzzz{zyzzyzzyyzyyyzzz{zzy{{zyzzzyyzyzzzz|{zzzzzyyyy{yzzzz{{{zyzyyzzzzzzzzzz{zyyxzyy{z{{z{{|zyzyyzzyzz{zz{zzzyzyyyyx{zzz{zzzzyzyyzyyzyzyzzzzzyyyzyzxzzzzzzzzzyyzyyxyzzyy{{{zzyzyzzzyz{zzz{z{zyzzzyzyyyzzzyzzzzzyzzzyzzzzy{zyzzzy{{zzzz{{zzzzzzzzzyyz{{z{{z|{zzzzyzzzz{z{{z{{zyzyzzzz{{{{{z{{{yzzzxzzz{{{z{zzzyyyzzzzz{{{zz{zzzyzzyyz{zzzy{{{zzzzzzzz{{z{{|{{z{{zzyzz{{zz{{z|{z{{{yzy{{{z|z{z{{zzzzzz{{{{|{{{zz{{{zzz{{zz|{{{|y{zz{zzz{|z{|{|{z{{yzzz|{zz{|{z{yzz{zzz|{zz{{{{{zz{zyzz{{|{{|{|zzzyzz{{{{{{{{{z{y{zzzyyzz{zz{{{zzzzz{zy{{{zzyz{zzzzzy{zz{{{|{{{zzzz{yyyz{zzz{{{zzzyzzzzzzzzz|yz{xzyzyyzzzzzzz{zzyyyzzzzzzzzz{y{zzzzzzyy{zz{z{{zzy{yzzzy{y{yy{zzyzzzy{yyyzy|{{{{yyyyzyyzzz{zzz{zz{{yzzyzyy{z{y{zzzyzy{zzz{z{z{zzzzy{zzyzyz{y{zz{zyyzzyzzzzzyz{{{yz{zz{zzzzzzz{{{{zzyzyzz{{z{{{z{zzz{zyzzz{{{{{{{yzzyzzyzz{{zz{|{{z{zyzzy{{z{{{{zzz{yzzzz{{|z{z{z{zzz{z{{{{{zz{{{{zz{{z{z{{{{{{{{zzzzy{{{zz{{{{{{{zyz{zz{|{|{|{|z{{z{}z{z{}{{{|{{{zzz{{{{z{|z|{{{|zz{z{{y{|{{{||{{zzzz{{{|z{{{|{|{|zz{z{{{{}{|{{{|{{|z{z{|{|||{||{{{z{zz{{{{{{{|{{{zzzzzz{{{|{{{zzz{zz{{z|z{{{{{zzyzyz{yyz{zzz{{{yzzzxzyzzzz{|{{{{zzzzyzz{z{{{{{{zyxzzyzz{zzzyz{zz{zzyyzyzzz{{{{{yz{zzzzzy{zzz{{z{z{yzyzz{y|zyzzzyzyyzyzz{zz{{zz{yyyyzzzz{zz{{z{{zyzzyzyzyzz{{{{zzz{zy|yyy{zzz{{{{zzzzyyyz{zz{zz{zzzyzzzyzzzzz{{{zzzyzzyyz{zzzy|zzzzzzy{{z{{yzz{{{zzzyz{{z{{{{{{|zz{zzzz{z{{zz{{{z{zzzz{z{zz{{{{{zzz{zzzz{{{{{{{{{{z{zzz{{{{z{z{z{z{{{{{{{||{{|{{z{{z{{zz{{|{|||||{yz{{{z{|zz{{{{{{{|{{{{{|{|{{{{{{{{{z{{{z|{{{{{{z{{z{{z{|{z{{|{{yz|zzz{|{{{{{{{{yz{z{z{{{{z{{|{{z{z{z{z||zz{{||yz|yz{yz{{{{|{|{{{z{zzyzz{{{{{z{zz{zyzzzz}{{{z{zzzzzzzzyzy{zz{{{zzzzzyyz{z{z{{zzzzzyy{zz{zy{{{zzz{yzzzyyzzzzzy{zzz{yzy{zzzz{z{z{yyzyyzzyyzzzz{{{zzzyyyyx{{zyzzzyz{yyyzyyz{zzzzzzzyzzyyzzzz{y{{{zzyyzzyyzz{zy{{{{zz{yyyy{zzz{y{y{zyzzyzzyzyzzyz{zzyzy{z{yyzzzzz{{zzyzzyzyzyz{{{{{z{{{zzz{zzzzz{{{y{{zzxzz{z{{zz{z{zzzxz{z{{zz{z|{{zzzzz{zzz{{{{zz{zz{{zyyzz{z{{{{zz{z{zzz{|{{{{{{z{{z{{zz{||{{|{|zzz{zzzz{{z|{{{|{{{zzzzzz{|{{{{z{zzz{zzz||{{|{{z{{|zy|{{zzz|{{||{z|{z{zzz{||{{{{{zy{{zz{|{{{{{|{zzzy{zz{{{{|{{|{{zzz{z|z{|z{{||{zz{zzzz|z{{{{{{|zzzzzzyzzzzzz{{z{{zzzz{zy{{{{z{yzyzzzyzzyyz{z{z{zzzyzyzz{{{zz{z{zzzzzzzzyzzzy{|{{yyxxzyzyz{zz{zzzzzzzyzyzyz{z{zzzzzzzzy{zzy{yz{yzzzy{zyyzzzyzzzzzzzyyzyyyyz{yz{{yyy{zzzyz{zzzz{{zzyyzyzzzzzz{{{{zzzyyzzy{zzzyzz{zzzyyyyzzzzzyzzy{zzzzyyzyz{z{{zzzyzz{zyzz{{{z{{|{zzy{yy{z{{{z{{{zyy{zz{{{{zz|z{{{zzzyzzzz|z{{{|zz{zz{yyzzzz||{{zz{yyz{zzz{{zzz{{zzz{zyz{z{y{{{{zzzz{{{z{{|{|{||{{zzz{yz{}}{{{z{{{zzz{zzz{{{|{{{}{{z{{{{{{{{z{{||{{{z{z{{|{{{{{|{|z{{{{{zz||{||||{z{zzz{z{{{{{|||{yz{zzz{z{{{|z{z|zz{{{yz{{|{{|{{{{{y{z{{z{{{{|||zzzzy{yy{{{{{z{zzzzyzyzzyz|{{zy{zyyzzyzzzzzz{zz{zyzyyyyy{zz{{z{|yzzyyzyzzzzzz{yzzzyzyy{z{z{zzz{zzyzyyyyzzzzzz|{zzy{zzzyxzyzyz{{zzyzyz{yyzz{zz{zyyzyzyzyzyyzzy{zzyyyzyyyzzzzyzzz{{zzzyzyzz{{y{z{zzzyzyzzyyzyzzzz{yzyzzyyz{zzzyzzyyz{zzzyyyzzzz{{zzyyz{zyzzzz{{{{{zz{zzxzyz{zzyz{{zzzyyzzzzzzz{z{{yzz{zzzzzz{{{{zzzzzzzz{{z{zz{{{zzzzzzy{zzz|{{{{zzyyyyzzy{{yz{zz{{{zzz{{z||{{{{z{{{{z{zzz||{{z{{|{{z{z{{zz{{z{{{{zzz{z{zz|{z{{||{{{{{z{{z{{{|{z{{|zzz{zzzz{{{|{|{{y{zzzy{{z|{{{z{{zzzzz{z{|{{{|{{{zzz{z{|{{{{z{{z{{zzzzzzzzzzz{{{zz{zyzzzz{{|{{{{z{zy{zyzzzz{zz{zz{yyzyzzzzzz{{z{yzyyyyz{zzz{{{zzzzzzzyzyz{z{zy{zzzzyzzyzzz{{zzyzz{yyyzyy{z{yzzz{zz{zzzyzz{zz{zz{zzzzzyzyz{{{z{zzzzyzyzzyz{yzzzzzzzyzyyxzyzzzzzzyzzzzyzzzy{zz{yzzzz{zzyzyzzz{z{z{yzzzzzzyz{z{y{yzzyzyyxzzzz{{z{|{zzzzz|z{z{{z{{{zzzyyzzz{yz{{{{{{{zzyzzz{z{{z{{z|yzzzzz{y{z|z{{{{zz{{zy{y{{{{{{zzyzz{zzzz{{{|{{{{{zzz{zy{{{z{z{{{zy{z{z{{z{z{|{{{{|zzz{zz{zz{{{{|z{z{z{yyz{{{{{|{{zy{zz{z{{{{{{|{{zzz{{{{{{{{{{z|{z{{{{{z{{{|{|z{|z{z{z{{zz{z{{{{zzzz{{zz{{{{|{z|{{z{zz{{{z{|{|{{zzzz|zz{{|{{zz|{{zzz{zzyz|{{{{{{zz{zzzyyz{{{zzz|z{yzyyyzzzzzz{z{zzzzyxzy{zzz{|z{zy{yzyzy{yzzzzzzzzyyzzzzzzz{z{zz{zyyyzyyzzzzzzz{yy{yyyzyz{yzzy{zyyyyyxyyzz{zyzzy{yzyyyyzzyyzz{{{yyyyzyzyyyzzzzzyyzzxzzzyz{zzzyyzz{yyyyyyyzzzz{z{zzzzyyyyz{{zyzy{zyzzyzyyzzzzzzzzzzzyyy{{z{z{z{zzzyzyzzy{z{{zzzz{{yzzzzzz{zz{{{z|z{zzzyzyyz{{{{{zyyzyzz{z{{z{{{{zzzz{zzz{{{{{{z{{zyzzzzzzz{{{{{{zz{zz{z{zzz{{|{{{zzzz{{{{{{z{z{{{z{{{z{{z{{{z{{{|{z{z{{yzz{|{|{{{{yyz{zzz{{z{{|z{{{{{{{z{{|{{{|{{zz{z{z{{|{zz{{{{{{zz{yzz{{z{z{{|{zz{|zz{z{{{zz|{zzzzzzz{y{{|z{z|{zzzzzzzz{{{{{{zyy{zzyz{zz{zz{yzzzzyyz{yzzzyzzzzzzyzyzyyz{{{zzz{zz{yzzyzz|{zzz{{z{{yyyyyzyzzyzyzzzyzzzyyzzy{zzz{zyyzyyzyy{yyzzyzyzyxyzyyz{zzz{z{yyyzyzzyzzyyyy{zzzyyyyyyyyzzz{{zyyyyzyxyyz{yzzzzzzz{yzzyzzzyzzz{zyyyzyyyzzyz{zzyzzzyzzzzzzz{z|z{yz{zzzyzz{zz{z{zzyyyzzzzzzyz{zz{zzzyyz{zzyzzz{{{zzzzzy{zyyz{zz{{zyzzzz{yzzyzz{{zyyzyzzzzz{{{{{|{zzzyzzyzzz{{y{zz{z{zyzzz{zz{{{|{zz{{{z{z{{z{{{{{zzzz{zyzz{{z{{{{{z{zz{{y{{{{{{{{zzzyz{{zzz{{{|{{{{zz{z{{{|{{zz{|{z{{zzz{{{z{|{z{{zzz{zzz{{z||{{{{{zz{zz|{z{{|{z|zz{zzyzz{{z{{{||{zzzyzzzzzz{zz{{{{zyzyzzzz{zzz{zz{yzyyzyyy{z{z{zzyyzyyyx{{zzz{zzzzyyyzzyzzzzz{z{zzzzzzzzyy{{zzz{{zyzyzzyzy{{zzz|zzzyyzzyz{zzzzzzzxzyyzyzzz{yz{zzzyzzyzyzzz{{zzzzyzzyzyzzzzzzzyz{zyzzzzyyzzzz{yzzzzzzyzzyzy{zzzzzyzzy{zzyz{zzy{{zzzzzyyzzy{zzyzz{zyzyz{yyzzzzzz{{zyzz{yzz{{zz{zzzzyzzyyzz{{z{zz{zzzzzyzz{{z{{|{{zzzzzzyzzzzz{z{{zz{xyyzyz{{{{z{{{zz|{yzz{{zzz{yz{{|{zzzyz{{{z|||{zzzzz{{z{{{{{{|{{z{zzzy{z{{{z{|{zzzzzyzz|{{{z{{|zz{zyz{|{{{{z{|z{z|{z{{{{{{{|{|{{z{zz{zzz{{{{|{zzzzzzzz{z|{z{|{|{z{z{zzz{{{|{z{|{z{z{zz{{{z{z{{{{yz{z{zy|{z{{{zzz{zzzzzzzz{zzzzzyzyyyzyyzz{zyzzzyyyyyzyzzzzyz|z{z{zyy{xyzyzzzz{zzzzyzyyzz{zzy{zzzyyxzyyyyz{zz{y{yyz{zzzzxzzyy|{zzyzyyyzyzz{zzzzzzyyyyzyyzyz{zzzyyyxyyxzxzzzzz{{zzyyyxyyyy{zzzz{yyzyzzzy{z{z|zz{zyyyzyzyyzzzzz{zzzzzyzyyyyzzzz|{z{yzyzzyyz{zzy{zz{yzyzyyyzzzyyz{zzzyzzzzz{{zz{{{zyzzzzzzz{{zyz{{{zzzyzzzyy{zzz{{|zz{yyzzz{{{{zz|z{zzz{zzz{zzz{{|z{z{{zzzzz{z{{{{{yy{zzz{zz{{|{{{|zzzyyzzz{{{{z{{zz{yzz{zzz{|{{|{{zzz{z|zz{{z{{|{z{{z{z{yz{|zz{|{|{z{{zzzz{{z{{z{{{yzz{zzz|{{|zz{{{{z{zzz{z{{{{{{{z{zz{{zyzzz{{zz{{zzzzzzzz{{|{z{z{yzzzyzz{{{zz{z{{zzzzzzyyzzyzzz{yyyxyzyz{zyz{z{z{zzzyxyyzzy{{{zzz{zzzyyyyz{zzzz{zzzz{yzy{{yzzzzzzyyyyzzzzzzzzzzyzzzzyyzzz{zzzy{{zyyyyyzzy{y{zzzzzyzzzzzyz{zyzzz{zzy{z{yzy{{z{zzzzyzzxyzzyzzzzz{zzzzzyz{yzzz{zz{{zzzyzyzxyzz{z{{zzzzzzzzzy{zzz{z{{zzz{yzzzz|zz{{{z{yyzyzzzz{zzz{{zzzzzzzzyzz{{{{z{z{y{zyzz|{{z{{{{zzyz{zz{z|{z{{yzz{zyzzzzzx{z{{{z{zzzz{z{{{{{|z|zzz{{z{z{{z{z|{|z{y|{zzy{||}{|{z{{zzzz{{|{{{{{|{{zz{z{{{{{{z{||{{yz{{z{z{{z|{{{|{{z{z{|z{{{{{||||y{z{{zz{z{{{{{|{{zz{zyzz{{{{|{{zz{yzz{{{z{zz|{zz{{zzzzzz{|{zz{{yz{yz{zz{{|zzz{zz{zzzzzyy{zy{{{zzzzyzzyyyzzyz{{zzzzyzzyyzzzz{zzzyyzzzyzzz{y{zzz{{zyzyyzyzzz{y|zzzzyyyyzyyzzz{z{zyyzzzyyzzzzyzyz{zzyyyyxyyyzzzz{yyxzyyyzzzzzzz{{zzyzyyyyyzz{{zzzz{zzzxzyzxy{z{{{zzyyyzzzyyyzz{z{y{zyxyzyzzzyz{zzzzzzyyyyy{{z|{z{zzzzyzzyzzzzz{zzzyz{zyxzzz{zzzzz{yzyzyzyyz{{{z{z|z{{zzyzy{{yz{|z{z{zz{zzzzz{{zz{{z{{zzzzz{{{zzz{z{z{zzzzz{{{{{{{{zzzy{z{{{{z{{{{|{{z{{zzz{||{{{|{{{zzyzz{{{{z{{{{zz{{z{{z{{z{{{||{zzz{z{{z|{{{|||{{z{z{zz{{{{{{|{{zzzzzz{{z{|{{|{{{z{{zz{z{{{z|z{z{|y{zzzz|z{{{{|z{|yz{zzz{z{z{{{zzzzyz{{zzz{zzyyzzzyzyyyyz{zzyz{zx{zzyzyzzzzz{{z{zxyyyzzz{z{zzz{zzzzyzyzzz{{yzzzzzzzzyyy|zzzzz{{zyzyyzzyzy{zz{z{{zyyyzyyzzzzyz{zzzyyyzyzzzzz{{zzzzyyyyyzz{{yzz{yzyzzyzyzzzz{{yzzzzzzyzyzzz{zzz{zzxzzzzzzzzzzzz{{{zzxzyzyz{zzz{z{zzzzzzyz{zz{zz{{{yzyzz{zz{zzyz{{zzzyzzzzzyyz|{{{zz{yyzzz{z{{zz|{zyzyzyyz{{{zzz{zzz{zzzz{{z{zz{|{z{yzzyy{{{{{{z{{{{zyzzzz{z{{{|{|zz{{z{zz{{{{{{{{zz{zzzyzz{{|z{|{{y{{{{y{{{{{z{{{zz{zz{{{|{{z{{{{{zzzzz{zz|{{{{z{|{z{z{zy}{{{{||{|{z{yz{zzz{{{{{|z{z{z{zz{|{{{{|{{{zz{{zz{{{z{z{{{{zzyz{zz{z{z{||yzzzzy{yzzz{zzzzyyzyyzyxy{zzzz{zyzyyzyxzyyzyzyz{yzyyyzzz{z{z{zzzzyzzyyyyzzzzzz{z{{yzyzyyzyzz{{z{zyzxyyzxyzzzyz{yzyyyyyyyzzzyyzzzzyyxzyzzyyyzyzzzyyyyyyyyxz{zzzzzyzyyxyxzy{yz{z{zyzzzyzzyyzz{{{{{yyyyxyzyyzzzz{{z{yzyzyyzzzzzzzzzzyyzyzyz{z{zzz{zzyzzzzzyzzzzy{yzyyzzyzzyz{z{z{z{zyy{yyzyzz{yz{zz{{zyzyzz{zzz{{{zzzyzyyzzz{{zzz{{zyyzz{y{{{{zzzz{zzyzzzzz{{zz{{{zzzzz{z{zz|z|z{{{zzyzzzy{{|{{|{{zzy{zzzzz{{{z{{{z{zzzyz{{{{{{|{|{{yzzyzz{{{|{{||{z{{{zz{z||z{{{{{{zz{z{zz{z{{{z{{zzzzz{zz{{{{{{||zzzzz{zyz{z{{z{z{zzzzzzz{{{{zy{{{zzyzzzyz{{yz{{zzzyyyyzxz{z{{zzzyyyzzzyyzzzzz{z{{yyyyzyyzzzz{{{zyxzyzyzyzzz{yz{{zzyyyzzyyy{zz{z{zyzzxxyyzzyyyzzzzyzzyxzzyyzzy{z{zzzyyzyzyzzzz{{zy{yzzyyyz{yzzz{yzyyzyzzyzz{zzz{yzzyzyzzyzz{zzz{{{zzzxyzzzzzyzzzzzyyyyyyyzz{{zzz{zzzzzyyyzz{zzz{{zzyy{yzy{{{z{zz{zz{zzyzzz{{{zz{zz{zzyyyy{z{zzz{{z{zy{yz{z{z{{{{{zzzzzzyzz{{z{{}z{yzyzzyzzz{z{zzzzzzz{zyzzz{|{{z|{zzzz{zz{zz{{{{||zz{{zyz{{{z{z{{{zzz{zzz{|{{{||{{z{{zzzy{{{|{{|z{z{{z{y{{{{{{|{{{zzy{zy{|{z{|zz|{{{z{zz{{{{z{||{{{z{|z{z{|{{|z{{zzz{zz{zz{{zz{{|zzzyzzzz|{z{zz{{zzyzz{{z{z{zz{yzyzxzyyyzz{z{zzz{zzyzyzyyzzzz{{{{zzyyzzyzz{zyzz{{yyyyzzyyyzzzz{z{zyyzyyyyzzz{y|z{zyyyzzzyzyzzyzzzyyyxzyzzzzzzzzzzzzzyzyyyzzyzz{zzyyyzzyzyz{z{zzzyzyyxyzyzzzzzz{{zyyzzyyyyyyz{zzzzzzyyzyzyzzyzzzzzyyyyzyzyzz{zy{{zzy{yyyyy{z{zz{{zzzzxzzzxzzyzz{y{zyzzzyyyzzzzz|{zyyzyzzzyz{{{zz{{zzzzzxzzz|zz{{z{{zzyyzyzzzzyzz{{{zzzzzzz{z{zzz{z{z{z{zz{{{z|z|{{zzzzzz{{{zzz{{z{zz{{yz{zz{{{{{z{zzzzzyyyz{{z{{{zz{{z{{z{|{{z{{{||zz{z|zyzzz{{{{{{zzzyzzz|{{{{|{z{y{{zzyz{|{{{{|{zzz{{{zz{{z{z{|{zzzyyzy{z{{z{z{{zzzzyzzzzz{{{{z{z{{yzyzzyzzzz{zzzyzyyyzyyy{zyzzzzyyzyyzzzz{zz{{zyzyyzyzyzzzzz{z{zyzz{zyzzyz{zy{zz{zyxyyx{zyzzzz{zyyzzxzyzzzyzzzzzyzzzyyy{yzzzzyyzzyyyyzyyyzzyzz{zyzyzyzzzzzzzyyyzxzyyzyzzzzzzz{zzyzyyzyyzzz{zzzzz{yyyyzyzzzyzzz{zzyzyyzzzzzzz{y{yyzyzyzyzyzzzz{zzyzzyyyzzz{zz{zzzy{yyyyzzzzz{{zzzzzyyyzyzz{{zzzzzzzz{yyy{zyzzzzzyyzzyzyzz{zyz{{{zyyzyy{z{{zz{{zzzy{zzzz{zzz{{z{zzz{zzzz{{zzz{{{{zzy{zz{yzzz{z{{{{y{zzzzy{{{{{z{{zzzzzz{zz{z{|{{{{zz{z{z{zzy{{z|{zyzyzzy{{z}{{|z{{yzz{{zzz{|{zz{|{zz{{z{zz{{{{{|{zzzzyzyzz{z{zz|{{zzzzzzyz{zzzz{z{z{zyy{yzz{{zz{zzyxyzyyyz{zzzz{{zzzyyyy{zyz{{{zz{{yzyyyzyyzz{yzzzxzy{yyyzz{zzzzzyyzzzyyyyzzzy{zzzyyyyzzyyzyyz{zzyxyyzzzzzz{yzzzzzyyyyyyyzyzzzz{yxyyzyyyy{zz{z{zzzzyyxzyzz{{{|{{zzzyzyyzyy{{yzzzzzyyzxxzy{zzz{{{{zz{yyzyzz{{zz{y{zyzyyzyyzyz{z{z{zyzzzzyzzzzz{zz{yz{yyyzzzzzz{{|{zz{zzyyzzzz{zzz{z{y{yyzy{{{{{z{zzzzzzzzz{{{{{{{z{z{zzzzzzz{{{{z{zyz{zzz{z{||z{{{zzz{zzz{z{{{zz|||zzzyzzyz|{{{z{{zz{zzzzz|{{{z|||{{zz{zz{z{z{||{{|zz{z{{zz{{{{{{|{{{z{y{{z|{{|z{{{{z{{{z{{{y{{{{|{{z{{{{z{z{{{{{|{{{z{z{{zz{{{{|{{z{zzyzyz{z{z{|{zzzzzyzyzz{zz{{{y{yyxyyzy{yzzzz{yzzyzyzyzz{zzzz|zzyyzzyyzzzz{zz{zxzxyzyz{{zzyyy{zzzyyyzx{zz{z{zzy{yyyyzyzz{zzz{zzzzyz{zxyzyzyz{zyyyyyzyyzyzyzzyzzyyyyzyzyzzyz{yzyyyyyyyzz{zzy{{zzzyzyzzyzzzzzyzy{zyyyyzyz{zzy{{yzzzyyyyzyzzyy{{{{yyzzyzzzyz{zzzzyzzzxyzyyzzzz{y{zzzyyyyy{zzzz{{{yxyzzzzzz{zz{z{zzz{zzzzzz{{{{{zz{zzzyyzzzz{{{{{zzzz{{z{zy{{z{{{{{zzzzzz{z{{{{{|zyz{zzzzz{z{{z{{{{zzzzyzzz{{{{{|{{z{zzz{z{{z{{z|{z{{zz{zz{{{{|y{{zz{zz{yzz{|{{{zz{zzzzz|z{{{|z{|{{zzz{zzz{{zzz{||{{zy|{zz{z{{{|z{{{zz{zzzzz|z{{{{{{zzz{y{{{z{zz{{zzzzzyzzy{{yzzzyzzyyzyzzzz{yz{z{yzyzyxyzzzzz{zy{yyyzyyyzyyz{zz{z{yyyzyzyyz{zzz{{yzyzzyzy{yyzy{zzyyyyzyzzyzyzzyzzzyzxzzyyyzy{zzyzyzzzyyyyzzyyzzzzyyyxzyyyyzzz{zz{yyyyyxzyyzzz{z{{{zzyzzzyzzzzzzzzzzyzzyzzzy{zzzzzzyzyxyzyyzzzzzz{yzzyzzzyzzzzzz{zzyyzzyyyz{zzzz{{zyzzzyyyzz{zy{{{y{zzzyzz|z{z{zz{yyzyyyzyzzzz{{zzzzzzzzzzyz|zyz{zzyzzyzzyzz{{zzzzzzzzyz{z{{{z{{{{z{{z{zz{{z{|{{{{{yz{yzyy{{z|{{{{zzzzzzzz|{|z{z}{{z{{{{{zz{{{{z{{{zz{yz{{y|{{z{{{z{z{zzzz{{|{{{{{{zz{zzzz{zz{{{{|{{{y{zzz{{{{{{{{zzz{zzzzz{zz{z|{|zzzzyzz{z{{{zzz{yzxzzyz{z{{z{z{z{yyyyzyyzz{z{z{zzyyyyyyzz{zz{{z{yzzxzzyzyz{zz{{zyyzzyzzyzz{yzzzzzyyyzyyzzyz{zyzyyyyyzyyz{yz{{{{zzyzyzyyzzzyzzz{zyyzzyyzy{zzzzzzzyzxyyzyzyzzz{{yzzzzxzyzzzz{z{{zxzzzzzzyzzzzzy{zzyzzzyzzyzzzzyzzyzzzyzyyz{z{z{zzzzzzz{yzzzyzzz{{zyy{zyzyy{{z{z{{z{zzyxzzzzz{{{{zzzzzyyyzz{{zz{{{zyzyzyzzzz{{{{{zzz{yzzzy{{{zzz{{zz{{zz{{z{zzzz{|zzzz{{z{{{{{{||{zzz{z{{{{{{{{||{zzz{zzzzz{{{{z{{{zzzzz{y{|zz{{{{zzzzzz|{z||{{{{{|zzzzzzzz|{{{{{|{zzz{zzz{{z{||{{{zzyz{{zz{{{{z{||{z{{zz{{{{{|{{{{zzy{yzz{z{zz{{z{{z{z{zyz{{zz{z{zzzzzzzz{{{zz{z{zzy{zyyyz{{{z{z{zyzyzzzzzy{{z{{z{y{yyyzzzzzzz{z{{xzzzyzyz{z{zz{{{zzyzzzyzzzzzzz{yyzzzzyzz{zzyzzy{zyzyzzyzzzzyzzzy{yzyyzy{{y{zz{yyyyzzzzz{z{yz{{zzzzyyzyzz{zzz{{|{zzzyzyzzzz{{z{{zzyzyyzyyz{z{{{zyyzyzz{zzzz{zzy{yzyy{{zyzz{{{z{{zzzz{z{yz{{zz{{|z{zzzyzz{z{{z{{{zzyzy{zyyz{{zz|{{z{z{zzz{{zzzzzz{zzzzz{z{{zzz{{{zzz{|{zyz{{z{{{z{zz{{zzz{zz{{|||zzz{z{{z{{z{{{|{{z{{zzzz{{|z|{|{|zz{{z{z{|{{{{{{z{{{zz{{z{|{|{{{z{{z{z{{z{|{|{|||{z|{z{zz{z{|{{||{zz{{{z{z{{{z{{|{z{{z{z|{{{|||{zzzz{z{{{{{{{{||{zz{yzzzz|{{zz{{z{zzzzzz{{{zzzzzzzyzzyzzy{zz{zzzzzzzzyyyzzzzzzzz{yzzyyyyyyz{zz{zzy{{{zyzzz{{yyz{zzyzyyzyzzyzzzy{zyyyyyyzz{zzzz{z{yzzyzyzzzzzyzyyzyzyyzy{zz{{{{{zyzyyyyxzzzzzzzzzzzyyyyyyyzzz{y{{zzyyzyyyzzz|{{{{zyyyzzzy{yz{z{z{yyzyyyyzzzzy{{{zyzyzzzzy{zzzzz|zzzyyzzzzzzzz{{y{zz{z{zyyzyzy{z{{zzzzyyzzzz{zz{||zz{zzxzzz{zzzz{{{z{zzyyyzz{{zz{z{zyzzyzy{{{zy{|{zzzzzz{{z{{{{{{|{{z{{zzy{{{{zz{{{{{zzyzy{z{{{{{zzyzzzz{z{{{z{z{zzz{zyz{zz{{z{{{{{zzzzz{zz{{{zz{|zzzzzz{zz{{|{|{{{zzzy{zy{{{{{|{{{{zzz{zz{{{{|{||zz|zz{{{|z{{z{{{{zzyzz{yz{z|z{{{{yzzzzyy{z|z{zzzyyyzzyzzzzyzzz{{zzzzzyzyyzzzzz{{zzzyzzyyzzyzz{z{{yzzzzzyzzzzzzz{{zzyyzxyzz{|z{z{yz{y{yzzyzzyzzyzzxyyyyyyzzzzyzzzzyyzzyzzy{zzzzz{xyyyzzyyyzzzy{z{zzzyzyyzyzzz{{yzzyyzyzy{{{y{z{{zzyyyyyyyyzzyyzzzzzzzyyzzzzz{y{zzyy{zz{yzzz{{{z{zzzzy{zzyyzz{z{z{{zyzzzzz{yzzz{{zzyzzyzz{z{{{zz{{zzzzzz{yzzz{{{{{zyzyzzzyz{{zzy{{{z{{zzyz{{{z{{{{{zzz{zz{{{{{||{{zzzzzzzz{{{{{z{{zz{{zxzzzzz{z{|{{zyzzzzz{{zz|{{{z{zzzzzzz|{{z{{{{{z{z{zzz{{{|{{|{{z{{z{z{{{|{{{z{zzzzzzz{{{{|||{{{zzzz{z{{{{{{{|z{zyz{zzz{{z{{|{{{zyzzzy{z{{zz{zzzzzzzzzzz{{{{{zyy{zyzzyyzzzyz{{{zzzyxzz{z{y{{zz{zyyyzyyzy{zzzz{zyzyzyyy{{{{yz{z{zyyzyzzyzzzz{{zzyzzyzyzyy{zzzyzzzyyzyzyzzzyzzzzy{yyzyzzzzz{yzzzzzzzyyyyzzyzz{{zzzzyyzyz{zzzy{zzzzzyyyyyzzzzzzzzzyyzzyyyyzyz{z{z{zzzyzyzzzzzzz{zzzyzzyzzyzzz{z{{zzzyzzzzzzz{{{z|zzzzyy{z{zz{zz{{zzzzzzyyz{{zz{zzzzzzzzzzzz{z{{{{zzzzzzyz{z{{{z{{{zzzzzyyz{{zz{{{zzyzzzz{z{{{{{{zy{{zz{{zzzz|z{{{z{zzzzzzzz|zzz|{zzz{zz{z{z{{z{{{{{zzzz{{{{z{{||{{{{{z{{z{{{|{{{{{z{{zzz{{{z{{z{zzzzzzz{z{{{{{{{|{z{z{zzz{zz{{{{{y{zyyzzzz{{{{{{{{zzz{z{zzz{z{{|zyz{yzyyzzz{zz{z{zzxzyyzzzzzyzzz{zyzyzzyzzz{zzzz{zzyyyzyy{{yz{z{zzyzxzyzzzzzzzzz{zzzyyyzyzzzyyz{{zzzzzyzzyz{{z{zzzzz{yzyyzz{zyz{yzzyzzzyyz{zzzzyzyyzyyyyzzzz|zzzzzyzyyzzzzz{y|{{{zz{zzyzzzy{zzz{{zzyyyyyzz{{zzzzzzzxzxyzzyzzz{z{{zyzzzzyy{{zzy{z{{zyzyzzzzzzzz{{|zz{zzyzzyz{z{{{zzzzzyzzz{z{{z{zzzzzzzyzyzz{{|{z{{zzz{zyzz{zz{{zzzzz{zz{{{|z{|{z{zzzyzy{zz{{z{{|{zzzzzzz{{{{{z{{{}zz{{zyz{{|z{z{{{z{zzzy{{{zz{{{{|zz{z{z{{{{{|{{{|zz{{z{{{}{||z{{|{{{{zz{{{|{{{|{|{z{zzz{{y{{{{{||{z{zzzz{{{|{z{{{zzyz{{zzz{{|{{|{{yzyzzzz|{{|z{{yyzy{zzz{|zz{{z{yyzxyzzyy{|zz{z{zy{yzzyyyzzzzy{{zzzyzyyyzy{y{{{zzyyyyyxz{y|zyzzz{yyyyzzyyzzzzzzzyz{zyyzyzzzyyzzzzzzzyyyy{yzyzz{zzyyzyyxzy{zyzyzzzyyyyyy{y{yzzzzzzyyzyyyzzy{z{zzzyyzyyzyzzzzy{zzzzyzzzyyzzzyzz{zzzyzyzzzxy{zyy{z{z{zzzzzzzyzzz{zzz{yyyyzyz{zzzzzzzyzzzyyzzz{zzz{{yyyzyzyzzz{{{{{{zzzzzyzyzz{z{{{zzz{zzzzy{{z{z{zzzzzzzzyzz{{zzz{{yzz{zzzz{{{{{{{zzzzzzz{z|z{{z{{{{zzzz{yy{{||z{{|{yzzzzzz|{{y{{{{{zyzzzz{zz{{z{{{{zzzzzz{{{y{{{{{{zzzyzzzz{{{{z{zzy{z{z{{z{zz|z|{yzz{{zz{|{z{{{||zz{zyz{zz{z{z|||zyyzzyzzz{{{yy|zyy{yzzyzz{zyzzzyzyzzyyzyyz{zyzz{xyyyyyxzzzzzz{zzzzyyyyyyzzz{zz{z{z{yyyzzyzz{yzz{zyzyzyzz{z{{z{zzyyy{zzyyyzzzz{yzzyzyyzzx{yz{zzzyyxyyzyyzzzzzzyzzyxyyyyzzyzzyy{{zzyyzxzxyzzzyy{zzyyyzzzyyzyzzyz{{yyyzzyyyyyz{yzzzzyzyzyyzzzzzyzz{zyyzyzyzzyzzz{{{yzzyzyzxzzy{zzzzyzzzyyyzzzz{z{zzzzzzzyzyz{zzz{{{z{yzyyyyzz{{z{{zzyyy{z{yzy{zzzzzyzz{{zzz{{{yzz{zzzzzyzyy{z{{{z{{yzzzzzz{{zz{z{{{zzyzzzyz|{{zzzz{zzzzzzzzz{{{{z{{z{{yz{zz{{z{z{z|{yzzzy{{z|{{z||{|yzzz{zzzz|{{{{{yz{yzzyyz{{||{{{{yzyz{zz{z{z{{{zzz{yyz{zy{zzz{{z{{zzzzzz{{z{{{zzzzzzxy{yz{zzz{zzzzzzzzyzz{zyzz{zyxyyyyyy{z{{{{z{zzzy{zzzzyz{y{{y{zzzyyyz{yzzzz{{zyyzyzzyzz{{z{yz{zyzzyyyzzzzz{zz{zzzyyyzz{z{zzzzzyzxyzzy{zzzzzzzzyyzyzyzz{zzz{zz{yyzy{yyzz{z{z{{zyzzyzzzzzzzz{zzyzzyyyzxzzzy{yz{zyzyyzzzzz{yz{zzzyyzz{yzzzzzz{zz{zzyyyzzyzzz{z{{zzyyyzzzz{{yz{{zzyzzzzyy{zzzz|z{zzzzzyy{zz{{z{z{yz{zzyyyz{|z{{{zyzzzzzz{y|zzzzz{{z{zzzzz{z|{||{z{zy{z{zz{z{{{z|{{zz{yyyz{{{|{{{{{zzzzzz{{{z|{z{|{yzzz{{zz{{zz|{{y{zzz{z{z|{{{z{{|zzzzz{{|{{{{|z{{z{z{|{{z{{z{{{|{zzzzzz{z{{{{{{{zzzzzzzzz{{{{{{|{{zzzz{z{zzz{{{{zzzzzzzy{zz{{zzz{zzyzzzyzzyzzzz{zyyzz{zy{{zz{z{{zzyzxzzyzy{z{{{{yyzzzyzzyzz{yzyzz{yzyyzzzzz{z{{{{zzyyyzy{zyyy{{zzyyyzzzy{z{zz{y{{zyyyyyy{zzzzzzzyzyyzxyy{zzz{{{zzz{zzzzzzzz{z{{zyzyzzyzyzzz{|z{yzyyxzyzxz{{zyy{yyzzzyyyzxzzzzzy{yyzzzzzzzz{z{zzzzzzzyzyz|y{{zzy|zzyzzyzyzz{z{{{zzzzyzzzyzz{zzy{z{zzzzzzzz{{{{{zzzy{zzyzzz{zz{{{{zy{z{zzz{{z{zz{{zyzzzy{z{{{{{{{{zz{z{{{{{zz{{z|{zyzzzzzz{{{{z{{||{zz{z{z{{z{z{||{yz{{{|zz{{|{{|{|{zz{|yz{|z||{z{{zzzz{z{z{|{{{{{|{zzzzz{zz{{{{|{|zyyzzzz{{|{{|{|z{zzzz{z{z{{{z{{{{z{yzyzz{z{{{z{zzz{zy{z{z{{{zz{zzyyyxzyxzzzz{{{zzyyzyyz{{{y{{zz{zyyzzzzzzy{{{{zzyzzyzzyzzzyzzzzzzzyyzzyzz{zy{z{zyzxyyzzzzzzy{{zzyzyyzyzzz{zzzzzzzyyzzyy{zyzzzzzyyzyyzyyyyzzxz{zzyyyyzyzzzzz{{yzyzzyyyzyyy{{z{zzyyzzzxzzzyyyyzzyz{zyzyyyyy{{zz{{yyyzy{zzzzzzzy{{zzzzzzyzzzz{z{zzzzzzzyzzzzzzzzz{zzzzyzzzzzzz{{z{zz{z{zz{zzzz|{z{zzzy{yzzzzz{{{{{{zzzzzzz{{|z{zy{zzzzzzzz{z|{{|{{zzyz{z{z{{zzz|{|{z{zz{zz{z|z|{{{{zzz{z{z{|z{z{{{zzzzzzz{z{{{z{zz{zz{z{zzz|{{{{||z{{{yz{{{z|{{{{{|zzzzy{z{{zz|z{|{{zz{{z{z{z|{|{{z{zyzzzyz{{{{|{{{zzzzzzyzzz{{{z{{z{zzzzzzzz{zzyz{zyyyyzzzz{y{z{{yzzyzyyyyyzzzz{{zzzyzyzyzyzzzzz|zzzyzyyzzzzzyz{{zzyyzxzyzzz{yy{{zzzyyzyyz{zzz{zyzz{zyyyzzzyz{z{zzzzyyyyyzzzzxzz{zzyyzyyyzz{zzzzzzzzzzyzyzzzzzzzzyzzyyyzyzyzz{zzzzyzzyyzxzzz{{{zz{yzyyyzyzzzyzzz{yyzzzyzzz|z{{z{zzzzyzzzzzz{z{z{{zzzyzz{zzz{zy{z{yzzzyzzz{zzz{{zzzyzz{zzyzz{z{{z{zzyz{{zzzz{yz{{{zzzz{zz{{{z{{zy{{zzzz{zzz{{z{{{{zzzzzz{z{{z|{{{|zzzz{{zzz{{{{{{{zzzzzz|z{{{{|{{zzzzzyz{z{{z{|{{{{zzzzzz|z{{{{|{||z{{zzz{z|z|{{{|{z{z{{z{z{{{{{{{|{{zz{zz|z{|{{|{zy{yzzzzz{{{z{|{zzzzzz{zz{z{z{|{{zzzzzyz{{{{zzzzzzyxyyyyy{{z{z{zzyyzyyzyyy{z{z{{zzyyzzyy{zz{{z{{zzzzyzyyz{{zzzz{{y{zyyzy{zzzzzzzyzzyyz{zzz{yz{yz{yzzzyyyxzzyy{zzzzyyyyzzzzz{{z{zzzzyyzyyzzyzzz{yzzzzzyyzzzzz{z{zyz{yzzzzzzz{z{{zzzzzyyyyz{zz{zzzzzzyyyzyy{z{{zzzyz{zzzzzy{zz{{yzzzzyzyzxz{{zz{z{zzyyyyzz{{zzzz{{{zyyxyz{z{{z{z{zzzyzzyyzz|z{{z{zyyyyzzzzy{{zz{{{{zzz{zyyz{{{zzzz{yzyzzyz{zz{{{{zy{zyzz{{zzzz{{{{zzzyyzzz{{{{{{{{{y{{{{zz{{{z{|{{{{{zz{{{{{{{{|{z{z{{{z{zz|zzzz{|{{zzzz{z|{z{z{{{zzz{zzzz{{zz{z{{{z{{zzzz{|{|{{{{z{zyzz{zzzzzz{{zz{zy{yzzzzz{zz{{zzzzxzz{z{{zzzxz{yzyyzzzyzzyzz{z{{yy{xzyzzz{z{|{yzyzyzyy{zzz{z{{yzzzzyy{yyzzzz{zzzy{zzzyzzzzzz|zzz{xzzzyzzzzx{zzzyzyzzyyyzzzy{yz{zzyyzzy{yzyzz{{zyzzzyzyy{yzzzzzzy{zyzzyzz{z{zz{zyyxzyyyzyzzz{{zyzyyzzyyzyzyz{yzzyyyyzyyzyzzz{{zzzzyyyzxy{zzzz|yzzzzzyzyzzzzzzz{yzzzzzz{{zzz{z{{zyzzyzy{z{{zz{{{zzz{zyzzz{zz{{z{yzzyx{zzzz{{yzzz{zzz{{y{{z{zzzz{zyzzzzyz{{{|z{{z{zzzzz{{{{{{{{{{zz{z{zzy{{{{z{{{zz{z{zzz{||{{{|{z{{zzzzz{{{||{|{yzyzy{zz{{|{{{{|{z{{z{{{{zz{|{{z{yz{zzy{{zz{z{|{{zz{z{zz{{{{{{{|zzyzzz{{zzz{{{{{{zzzzyz{{|{{|zzzz{zyyzzzzzzz{yy{yyyzyzzyzzzzzzz{{zxzyyyyzzz{zzzzzyyyyz{yzzyyzz{z{{yyzzzyyyz{zyzzzzzyyzyyz{{zzzzzy{zyyyzyzzzzyzzz{yyyzzzzzyzzzzzzzzyyzzyzzzzzz{{{yzzxyyzxzzyzzz|y{zyzyyzzzzzz{|zzyyyyyzzyzzzzzz{zxxzyyyzz{zyzzzzzyyzzzyzxyzzyzzz{yzzzyyzzzyzzz{zzzzyyyyzz{zyz{z|{yzzyyyyz{z{{zzzzzyzzxzzzz{{z{{{zzzzzzzzzy{{{z{|zzzz{y{yz{zzzzzzzzyzyzzzyz{{zz{zzzyz{{zyzz{{|{zz{y{zzzz{zzzzz{{z{zz{zzzz{{{{||{{{zz|{zyzz{{zz{{|{zzzzzzzz{{{{{{|{{y{zzzzzz{z||{{{zz{zzz{z{{|z{|{{z{zyzzz{{{{|z{|{{{{z{{z{{z{|{{zzzzzyzyzzzzzzz|z{{{{zzzzyz{zzz{{zzy{yyzyzzz{zzz{zzyzyy{zxzzz{zzz{zzzzyyyzyyyzzzzzzzyzyyzzzzzzz{z{yyzyzyzzzz{zyzzzzyyyxyzyyzzz{{zzzzzzzz{yyzyzy{z{zy{zzyyyzzzzz{zzyzyzyzyzyyzzzzz{zzyyyzzyz{zzyzzzyxyyzyyyyz{z|yy{yyzzyyyzz{zzzy{{zyyyyzzyzzzzzzzz{yyxyyyyzzyzzzzz{zzzyzyyzy{{{{zyzyyzzyzz{{zzz{z{zzxyyzzyz{{zzzz{yyzzyy{yz{{{{{z{zzzzzyyyzz{{z{zzzyzzzzyz{zz{y{|{z{{y{yz{z{{zz|{z{zzy{{zzzz{{{|{{yzzzzzzz{|{{{z||{zzzyzzy{|{{{{{zzzzzzy{{{|{z{{{{zy{{z{{z{|zz{{{{{z{zzz{zz|{{|z{{{z{zz{{z{{z{zzz{zzyzyyzz{{{y{{|{|z{{{{{{z{zz}z{{z{{zz{{yzz|z{{{{{{{zzzzz{{z{{z|{zyzzzzyz{{z{z{yzyzzyyyzyyz{zzz{{zyyzyxyyzzxy{{zzzzzxzyzyyzzz{z{zzyyyyyzzzzy{y{{{zyyzyxyzzzzzz{yzzyzyzzyyzzzyzzzzzzzyzyyzzyzzzyz{zyzzyyyzyzy{yzzzyyzyzxyzz{zzz{{zyzzyyxzxzzzyzzzzzzzyyyyzzzzzy{zzzyyzyzzzzzzz{{zzyzxzyyzx{zz{z{zzzzy{y{zzzyz{{zz{zyxyzzyzy{z{z{||zz{yzyzy{{|{z{z{yyzzyyzzz{{zz{{{z{zzzyyzzz{zz{{{zz{zyzyyz{{z{{||zzzzyyyz{{{|zz{{zzzzyzzzz|{{|{{zzyzzzzzzzz|{z|{{zzzzzzzz{z{y{z{|zzzy{yz{{{{{||{{y{{zzz{{zz{z{{{{{zy{zy{{z{{{{{z{zzzzzzzzz{{|z{{{{{zzzzzz{zz{{{||{zz{zyzz{z{|{{{{zzzyz{{{z{{{z{{{zzy{zzzyzzz|z{|zzz{yyyyyzzz{{{zyxyzxzyyyzzzzz{{zyzzz{yyxyzzzzz{{zyyyzyyz{{zyz{{{zyyyyyzxyzzzyz{{{yzyyxyyz{{{{zz{yzyyzzyyzzzxzz{{zzzyyxyyzzzyzzz{yyzyzyyxyxyzzyzzyzzyxyz{zyzzzz{zzyxyzyyyz{zzyzzzzyzyyyzxyzz{yzzzzzzyyzyzyyzzy{{{zzzyzzxzy{zzzzzzzzzzzzyy{yzz{z|{{zzy{zzzzyzzz{y|z{zzzyzyzzzzz{{zyzzyzzyzzz{zz{zz{zzyyzxzzz{{zz{zzzzzyzyyz{z{zz{zzzyzz{zzzzzz{{zy{z{zzzz{z{z{z{{z{z{zzzz{{{z{z{{{zy{yyzyyzzz{{{{{yyzzzyzz{{{z{z|z{yzzz{{zzzz{{|z{{z{{zz{zz|{{{{{{{{z{zzz{{|z{z|{{{{yzz{z{{zz{{{{{zzz{zzy{y{{{{{{|{zzzzzzyz{z|{{z{zzz{zzzzz{z{{z|{zzzyyzzxzzz{z{zzywyxzzyyyzzzyz{zyzyzzzyyzzzzzzzzyyyzyzyzzyzzz{{{zz{yyyzxx{zzzyyzzyzyyzyyyyzzzyyzxzyyzyzyxzz{yy{{zxxyxyzyzz{yzzz{yzyyyzzyyzzzzzzyyyzyzyyxyzzyzzzyzyyyyyzyzzzyzzzzzzyyyyzyzzy{zzzzzyyyzyyyyz{zyzzzyyzyzxzyyzzzz{zzyyyyyzyyzy{z{z{zzzyxzyyyzzyz{z{{zzyzyyzyzzzzyzzzyyzyzyzyy|z{zzz{zzzzzzyzyyzzz{zzzy{zzzyy{z{z{zzzzzyzzyzz{{{{zzzz{zzzzyzz{zz{zz{zzzyzyy{zz{z{zz|z{{z{yzyzz{|zz{zz|yyzyz{z{{{{|z|{z{zz{zz|{{{zz{{z{zzyz{y{z}{zy{{{|zzz{yzz{{|{{{{{zz{zzzz{zzzz{{{|{y{z{zz{zzzzz{{|zzzzzyzz{z{{z{|{zzyz{zyzzzyzz{{zzyzzyyzzzzz{{{zzzxyyyyzyzzzzzzz{{zyzyyzyzz{zzzz{zzyyzyyyzz{z{zz{{yzzyzzyyzz{yzyzzyyyyyzyzzyzzz{{zyyzyzzyyzzzz{yz{yyyzxzzzy{yz{{zzyyyzzyyzyyzzy{zzzyzyyxyzyzzz{zzzzyyyyyzzz{z{z{{zzzzzzxxy{yzyzzzzxyyzyzyzz{zzyzy{zzxzzyyyz{yzzyzzyzzyzzz{{zzzz{zzyzyzyzyyzzz{{zz{yzzzzzyzzzzzz{{zyzzyzzz{z{y{z|{{yyzzzzzz{y{z{{zzyzzzzyzzzz|z{zyzzyzzzzyz{zzz{z|{z{{zzz{zz{{z{{{zz{x{zzz{zz{y{{|zz{zzzzyzz{{{{{{{zz{zz{z{|{{{{{|zzz{z{zzzz{{{{{{{zzzz{{zz|{{{{{{zzzzy{{zz{zz|{{{zz{{zzy{zzzz{{{{|{{zzzz{{{|{z{{|zzz{zzzz{{z{{{{{zzzzzyyzz{z{{{z{yzzzyzyyzz{z{{zyyzyyzzzz{zzzzzzyzyyyyyyyyzzz{z{{{zzyzyzy{zzzz{{zzyzzzzzzyzzzzzzzzzyyyzyyz{zzzz{{yyyzyzzy{|{zzzy{yzyyyyyyzz{yyzz{{yzzyzzyyzzzzzz{xzyzzzyyzzzzzzzzyyzzyyyzzz{z|zzyzzzyyyzxx{{|{y{zzxzyzyzxzyyyyzzzzzzzzzyyyzzzzzzzyz{zzzyy{z{z{zzzzzzyzzzzyz{zzzzzyyyzzzzyzzzz{{{{zzzzxzzzz{{z{{{|zyzyzyzzz{{{z{zz{y{zzzyy{{{zzz{{{zy{{yzzz{z|{{{{z{yy{zyzz{z{|{{|{{zzzzzzy{z|{||{zyzzz{zzz{{zzz|{{z{zzz{y{{{{z{{{{zz{z{{z{|{{{z{{{zz{yzzzz||{{{{|{zz{zzzz{|{{{{{{zyz{z{zz{z{{|{|zz{{{{zzz{z|{{{{{zz{zzyzzz{{{z{{{{{zzzzzz{{zz{|{zzz{zzzxzzz{{z{zzzzzyxzzyzz{{zzy{yzyyyyyzzzzzzyyzzyyyzyyyyyzzyzzz{zzzzyzzzzzzyzzzzyzyyzyyzzzyzzz{zzzxzyyyy{{yyzzzzzzyyzyyzzzyyzyzzzzyyzyyzyyyzzzyzyyzyyyyy{|{{y{zzyyyyyyzyz{{zz|yzyzyxyzyyz{zz{zzzzzzzy{zzzzzzzzyz{yzyzyyyz{zzzy{zyzzyzyyzy{yz{{zzzzzzzyyy{zzz{z{zzzyzy{zzzz{zz{{zzzzyyzz{{zzz{z{zyzzzy{yz{{{zz{zzy{z{yyzz{zzzy{z{zzz{zzzy|z{z{zzzz{yzzzz{z{{|{z{z{zzzyzzz{z{{{z{zzzzzzyzz{{{{{{z{zzzzzzz{{{{|{{{yzzzz{{{zzz{|{|{{zzzzzzyz|{{{{||{{zzzz{z{{{|{|{zzyzz{{zzz{{z{{{|{z{{zzz{{{z|z{|{z{z{yzzyz{{{zzz{zz{{zzyzyzzz{{|{zzzzzzzy{z{y{zzzyz{yyyyyzzzzyy{{{zzyyyzyzzzyzzz{zyzyzzyyzx{y{{zzzzzyyzzzzzz|y{{{{zyzxzyyzzzzzzz{zzzyzyzzzz{yz{{zyzzzzyyxzz{xz{z{yyxyyyzyxyzzzzz{yzzyyzzyzzzy{yz{zyzzyzzzzzzzzzzzyz{zyzyzyzzzz{{zzyzz{yzyzzzyy{z|zzyyxzyyzz{zyzxzzzyyyyyyz{{zz{{{zzyyzyyyzz{zy{z{zxzyyzzzzyz{{zzzzy{yzyzyz{{{{{{{zzyzzyzzz{{z{{{zzzzzzzzz{{{zzz{{zzzzzzzz|zz{z{{{zyzz{z{z{{{{|{{{yzzzzzz{zzz{zz{{{zzzyz{z{z|{{{{{{y{z{zzz{{{z{{{{z{{zy{{z{{zzz{{||zzyzzzzz{{{{{{{{{zzzyzz{|z|{z{z{z{{{zz{z{{{z{{{{zy{{zzz{zz{{|{{z{zz{z{y{zz{|{{z{zz{zzzyz{z{{zz{{yyzzzyzz{z{{zzzzyzyyyyxyzzzyzyzzyyyzzyzzy{zzzzyzzyzyzyzzzy{{z{zzyzzyxxzzyz{yzzzzzyzxyyxzyzzz{{|yyyzyzyyzzzzy{zzyyzzzzzxzzzzyzzzzzyyyyzy{yz{yzy{zyyyzzzzz{yzz{z{zzxyzyyyzz{yzz{zyzzyzzzyzzzzyz{zyzzyyzzzz{zzzz{{yzzzzyzzz{zzyzz{{zyzyyyzzzzz{zzyzzyyzyyyzzzzyzz{yyzzyzyz{yyzzzz{yyzzyyzyzy{{zz{zzyyyzyzyzzzz{{{{zzzyzzzyzz|zy{z{zxyzzzzz{zzzzzzzzzzyzz{zzz{{{zz{y{zzzzzz{|z{z{{{zzzzzx{y{zz|{{|zzzz{{z{yz{zzzz||zy{zzzzzz{{z{|{|zz{{z{{zz|{z{z{{|z{z{yzzz{{|{{{{{yzzz{zz{{zz{z{{{zzz{{zz{zz{z|{|zzzzzz{zy{zzyz{zzzzzyzzz{{zz{{z{zyyzzyzz{zzz{y{yzyyzxyzyyzzyyzyzyyzyyxxzzz{zz{zzyyxyzyzyzzzz{z{zyxzyzyzzzzzzyzzzzy{yxzyyzzzzzzz{zzzzyyyxzzzyz{zzzyzzyzyyzz{yyzzzyzzyyyyxzyyyzzzzzzyyyyyyy{zzz{zzyyyzyyzzzy{z{zz{zzzyyzzxzzzyzyz{zxzyyzyyyyzyyzzzzyyyzyyyyzzyyzz{zyzyzyyyzyz{{zzzzzxy{zzzzyzz{{z{zzz{yyyzzzzzzzz{zzzzzzyyzzzzzz{{zzzyzy{y{{zzz{{{zzzyy{zyzzz{zyzzzzzzyyzzzz{zz{zzzz{zzyzzzzzz{zzzz{{zzyzz{{zz{{{{{zyzz{zy{{{{{z{{zy{{zyzy{|zz{{{zzzzzzz{z{{{z{{{|{zyzz{zz|||z{{{{{z{zzyzzz{zz{{{{zyzz{{z{{{z{z{{{{{zzz{zz{z{{zz{|{z{zzzyzzzzz{|z{{zzzzyzx{zz{{{{zzyzzyyzyzz{z{z{zyyzyyzzyzz{yyzz{yzzyyyzyzzzzz{z{zyyy{zyyzzzy{{{{{x{yzxyzzyyzyzz{zyxxyyyyzzz{y{y{zyzyyyzxzz{yzy{{yzyyyyxyyzzzyzzzyyyzyyyyzyzzz{{{yzyzyyzyzyzzzy|zzyzyyzyzxzzzzyzzyyyyyzyyyyzzyzzzzyyyzxyyyyyzzz{zzyyyyxzzyzzzzz{{zzzyzzyyzz{{z{{{zzyzzyyy{z{zyzyzyyyyxy{zzzz{{{{{yzyyyzyyzz{zz{{{zzzzzzzzz{zz{{{zzyzyzzyy{zzzy{zzzyyzyzzzz{zzzz{zzzz{zzzy{z|{{{{{{zz{{zyz{z{z{z|{zzzzzyyz{||{z{z{{zzzzzzz{z{{z{{{{zzzyzzzz{zzz{|{z{zzz{zzy{{{|{z{{y|zzz{y{{{{z{|zzzzyyzzzyzz{{{{|{zzz{{y{{{z{{{|{zz{zzzzy{{z{{z{{z{zyzyzzzzz{z{z{{z{yzyyzzz{{yzy{yyxyyyzxyzzzzzxzyzzyzyxyyyzzyzzzzzyyyyyy|zyyzzzzzyyxyyzyzzzyzyzyzyxyxyyyzzz{zz{zyzzzzyyyzzzzzzzyzyyyyyyxzzzyzzzyzzyyyzyyzzyzz{y{yyyyyyyxyzyzzzzzzyzyyyxyzzyzzyz{zyzxyyzzzzzzzzzyzzzyzzyyzyzyzzzyzzyyyyyzyyyzyz{zzzzzzzzyzzzz{z{zyyzyzyyzzzzzy{{zzyyyyyzy{z{zy{y{yxzyyxzy{y{zzy{{yzzzzzzzy{zzzzyzzzzxzzzzz{zz{z{zyyzyzzy{z{{zz{|z{zzyz{yz{{{{{z{zyzzyzzzzzzzz{{|{zzzzzyzz{{z{{{{{zyyyzy{z{|z{{{{zz{zzz{zz{{zz{{{{zzy{yzzzz{{{{{z{{z{{{yyz{{z{{||zyzzzz{z{zz{{zzz{z{zyzyzyzz{{{z{{zzyzz{zyz{z{z{z{zzzzyzzyzzz{zzz{zz{zzzzy{z{z{zyyyyyzyyyyzyzyzyy{zyzxzyxyyzyyzzyzyyzyzyyyz{yzzzzz{yyzyyyyyz{yzz{zzyxyyxyyzy{zz{y{zxyxzyyyyzzyyzzzzyzzyyyzzzzyzyzzyzzzzxyyyyzzyz{zyxzyxzyyyyzyzzzyyyyzyzyyyzzzyzzzzyyyyyyyzzz{zzzz{zyyxyxyyxyyz{zyyzzxxyzyyzzxz{zzyyyyyzyzyzz{zz{zyxyyzyyyy{zzzz{zzzzzyyzzzzzzzzz{yyzyyyyyyz{zzz{zy{yzzzzzyzzzy{zzzyyyyzyzyyzzzyyzzzzyyyzyzz{zzz{zyzz{yy{zz{{{{{{zz{zzzzzzz{y{{{{zzzy{zyyy{{z{{{{{zzy{{yzyz{{{{z{|{zyzzyzz{zzz{{{{z{z{zzzzz{{{{{{|{z{z|yzyz{zz{{{zzzyzyzzzz{{z{{|{zzy{zzz{z{zz{z{{yyzyz{zyz{zz{zz{zzy{z{yzy{{{zz{zzzzyyyzzzzzzzzyzyzyzyyyyzzzyyzyzyyyzyyyyz{zzz{yzzyzyyy{z{zzzzzzzzyyyzzyyy{{{z{zzzzyzzyyyzzzzy{{zzyyyxyzzzz{yy{z{yzyzyyxyyzzxy{yyzzzyzzxyzyzzyzzzzyyyzyyxyzyyzzzzzyyyzzxyzyzz{{{zzyzyyxzyyyzzzzzyyzzyyyyyz{zy{yyzzyyyyyzzzzyzzz{z{yzzzzzxzz{{yz{yzyzyyyzzz{zz{zzzzzzyyzyzzzz{{zz{zyzzyzzyyz{z{z{zzyzzyyzyz{zzzzzz{zz{yyyxzyzzz{{{zzzzz{yz{{{zzzzzzzyzzzz{{zz{{{z{zzzyzzzzzyz{{z{{zzyzzzy{{{{zzz{z|zzzzzzy{{{zz{{|{yz{{yzyzzz{{{{{{zzyzzzzz{{{{{|z{zzz{{zzz{z{{{{zz{zzz{{{{z{{z{{{{zzyyzzz{{zzz{{{z{zzz{zz{{{{z{{{zzzyzyz{{{yzz{{zyzzzyzzy{yz{zzz{yyyyyyzyy{zzy{zy{yzxyyyz{zzzz{zz{zxzyyzyzz{z{z{zzzzyzyyzyzzzxzzzzyyzyyzyzzyz{zz{zzyyxzzxy{{zzz{zyyyzzxxyz{{xzzzyzyyzzyyy{yzzz{zzzxyyyyzxzzyyzzzyzyyyyyxyy{zy|{zzzzzzxyyyz{{zzy{|zyyyyyyzzzzz{zzyyzzyzyzyy{z{zz{{yzzyy{yyzz{zzz{{yyzxzyzxz{yzzzz{zy{zzzzzy{z{z{{|zzyzzzyzz{{zzzz{yzzyzzzzz{zz{z{z{zzz{zzzzzyz{{{zzyyzzzyyz{{zy{{zzzzzz{zyzzz{{z{{zz{zzz{zz|zz{{|{{yzzzzyzz{{z{{z{{yzzzzzz{{z{|{{{zzzyzz{zyzz{zy{{zzzzz{yzz|{{{{{{{zz{{zzz{{{{{|{{zzzyyzyzz{z|z{z{z{{zzzzz{{z{z{{z{zzz{zzzzz{{{z{{{zzzz{yyz{{z{{{{{{zyzz{yz{{zzyzzyzyyzyyyyzzyzzz{zzyyyyzy{z{{yzz{zyyzzyzzzzzyzz|zyyzzzyzz{zz{{yzzzzzyyzyxyy{zz{z{yzyyyxzyz{zzz{{zzzyzyyzyzyzzzzzz{zzzyyzyzzz{{{zzzyzy{xzyyzzzyz{zzy{zyzzzzz{y{y{{yyzzyzyyyyyxzyzzzyzzyz{yzzzzzzzyyzzyzxzyy{zzyz{{zyzzzyyyzzzzyz{{zzyxyyzyzzz{zz{{zyyzyxz{zzzz{y{{zzzzzyzzz{{zyz{zyzyzzyzyzz{z{{z{yzzz{yzy{{{zzz|zzyzyzyzzz{z|zzzz{zz{{z{{zz{z{{{zzzzzxzzz{{{zz{{{zyzz{zzy{z{z|{{{{z{{zzzz{{zz{{{{zy{{{{z{{{{{zz{{|zz{y{{{z{z|{|{z{zz{{zzz|z{{{z|z{{z{yyz{{{{z{{|{zz{z{{{{z{{}|z{{{z{zzyzzzz|z|z{{{{zzzzzzz{{z{z{{zyzyzzzyzzz{{zzzyyzyyzxyx{{zzzy{zzyzyyzyzzzyzyzzzzyyzyxyz{{zzzz{yyyyyzyyzzzzzzzzzz{yyzzzyzzzz{{zzzzzyyzyyzz{zzyz{yy{zyyzzyzxzzzyzyyyzzyzzyyzyzz{yzyyyyyyyzzzyz{{yyyyyzxyzz{zyzyzyzzzxzzzyzzzzzzzzzzxzyzyy{zyzxzyzzzyzyyyy{zzz{zzzyzxzyyyzyyzzz{|zzzyyyzxzzz{{zz{yyzzzzzzyzyzzzz{zyyzyzzz{{|z{zz{{yzyzzzzz|z{{{z{yyzzzzyzzzy{zz{{{zzzzzxyzz{zzz{{{{zyzzz{{z{{{zz{zzz{zzz{zzzzz{{|yzzzyyyzzzzzz{{z{yyzz{zz{|{{{z{|zzy{zz{zz{{z{|{{zyz{yzy{{|{z{{{{{zzyz{zz{{z{z|y{{zzzzyzz{{z{{z{|{zzzzz{zz|{{{{z{zzzy{z{z{{z{z|{{{zzzz{zyzy{{z{zzyzzzzyyzzy{{zzyzxyzzzzzz{zzyyy{{zzyyyyyyz{zzzzz}{yzyyzyzz{{yzzzz{zzyzyyxzzz{zyzyz{zyzxyzz{zzzz{{y{zyzyzyyyzzzzz{y{zyzzzyzz{yyyzyyzzyyyzyzzzzyy{zzyzzyyzyzyzyyz{zyz{yyzyyzzzy{z{{zzyxzyyyzzzyyzz{{yyyyyzzzyzyy{zz{xzyzzyzz{zzzzz{zyzyz{zyy{z{{z{{zzzzyyyzzz{yzzz{yyzyyzzyz{y{z{{zyyyzzyzyzzyzz{zz{yyzzyyzzz{{zz{zzzzzzzzzzz{yzz{{zzzz{{z{z{{zyz{zz{zyzyzz{z{{{z{{zzzzzzyzz{{{{{{z|z{zyzzyzz{z||{{|zzzz{zzzzz{z{z{{yzyy{z{{z{z{|{{z{zz{{z{|{{{{{{{{z{zzzyz{{z{{z{{{zz{z{z{z{z{{{{|{z{zz{zzzzz{{{{{{{zzyz{z{zz{|{{{zzyyzzzzzz{zz{z{yz{yz{zz{{zz{{y{yyxxxzzxyz{zyzz{zyzyyxxyzzyz{zzzyyyyzyyzzyzzzz{z{zzzyyzyzzzzzzz{z{yyyyyzzzzzzzy{zzyyxyzyyzzzyz{zzyzzyyzz{z{yzzzyyzzyyyyy{zzz{zz{yxyyxxyyyzzzyzy{zyxyxyxyz{zzzzzzyzyzyyyyzzyyzz{zzyzyyzzyyyzzzzz{zzyyyzxxyzyzzzz{{z{zyyyzyzzzyzz{zzzyzyzyz{zzzzzzyzzyzyyz{yz{z{zzzzyzyzzzz{zzzzzzzyyzzzxxz{z{z{zzzzyzzzyzz{{yzz{z{yyzzyzzz{zzyzz{{yyzzzzz{{|{z|{zzzzzyy{z|zz{z{{|zzzzyyzzz{z{z{z{zzzzzzy{{{zz{{{{zzzzz{zyz{zz{{{z{{{zz{zzz{zz{z{{{zzzzzyz{zzz{||{zyzzzzzzzz{{{{||{zzz{yz{z{{z{|{|{{zzzzzyz{z{{|{zzzzzzzzyz{z{z{|{zzzzzyyyzzz{zzz{zzyzyyzyzzz{zzz{zzzzyyzyyzzyzy{zzyzyyzyzzzzy{zzzzyzyzxxyzzzzzyzzzzzyyzzyzyyyzzzzzyyxyyyyzzyyz{{{zxzyyyzxz{zzzzyyzzyzyyzxzyyzzzzzzxyzyyy{zzz{yzzyzyyyzyxyyzzzyz{zzzyyyyxyyy{yzz{yzyzzzyzxxzzzzzzzyyzyyyyyyzzz{zz{yxzzyzzyy{yzxzz{zyyyzxzzzzzyy{z{zzzzyyyyzzzyz{zzzzzyyzyzyzz|{{zzzzzyzyzyzz{y{zzzzxzyyzzz{{{zyz{zyz{zzyzzzz{zyzzy{zzzzzzyzz{z{{{{yzzzzzyz{{{{z{z{zzz{zzzzzzz{{z|zzzzyzzyzz{zzz||{zz{zz{zz|{{z|{z{{y{zyzzz{|z|z{{zzzz{zzzz{z{{{{|{{z{zzyzzzzzz{{{|{yzzzzyzzz{{zzz|{zzzzzzzz{{yzzyz{zy{zzzyyz{{z{zzyy{zzzyyyzzzzzzzzzy{yyzyzzzyzzzzyyzzyyyyzzzzzz{{zzzyyyyz{zyz{z{{zzzzzyyyzzzzzyzzzzyyyyzy{zzzz{zzzyzyyyzzyz{yz{{zzyzyyyyzzz{yzzz{yyyyyyzyyzz{zzyzzzzyxyyxyzz{yy{z{yyyzzyzzz|zzzzzyyzzzzyyzzz{zz{zyzzzzyzyzzzzz{zzyzyyzxyyzzzzzz{z|yyz{zyzzz{{zyz{zzyzyyyyz{zzzzzyzyzyzyzzzzyzz{z{zzz{zzy{zzzzzzzzzzzz{zyzz{zzzzzz{y{{zyyz{z{|zz{{{yyzzzzzz{zzzz{{zy{yyzzzz{{{{z{|zzzzzzyz{{{{{{{{zyz{zzyy{zz{z{zz{zzy{yz{{{|{{|zz{{zzzz{z{{zzz{z|zzz{z{zzz{|z{|{z{{{zzz{zz{{{z{{{zzzz{z{z{z{z{z|{z{z{zzzzzzz{{{{{zzyyzzzz{z{y{{{z{{z{yyzy{{{{{z{zzyzxzyyyzz{{{{zzyzyzzyyyyzzyzy{{zyxxyyyy{zzzzz{zzzzyxxyyzyzyzz{{zyyyyyyy{{zz{zzzzy{yyzyxyyzzyzz{yyzyzzyyyyyyz{zzyyzyyyyyyzzzzzzzzxyyyyyzzyyyy{{zyyyyzyyxzzzyzy{yzyyyyyyyyzzzzy{zzzyyyxzyxzzzyzzzzzyzyxyyyyzyzyzzyzzzyyyyyzzxzzz{yyzyzyyzz{z{y{zyyzyy{yzzz{zyzz{zzzyyyzzyzzzzzzz{yyyyzzyyzz{z{zzzzyzyzxyyyzzz{{{yyyzyzyzzzzz{{{{{{yxyzz{z{{zzy{zzzz{yy{zzz{zz||z{zyzzzz{{z{z{{{{|z{zyyzzzz{{{{{{z{yyzzz{zz{{{{{|{zz{zz{{{z{{zz{zzzzzz|zzzz{{{{z|{{zzzzzz{z{zz{zzzzzzzyzz{z{{{z{{{{zz{zz{{{z{{z{z{zzzzzzz{zz{z{z{{{{zyyyyxz{z{{{z{zy{zzyzyzzz{zzzzzzyyyyyxz{yzz{zzzyxyxxyxzyz{{zzzyyyyyyzyzzzy{z{yyyyyzyyyzzyyzyzzzyzyyyyyzzyzzzz{yyzyyyyyyyyyyzzzzyxyzzyyy{zyy{zyyyzxyyyzxxzzzyyzyxyzyyyyyzxzzyzzzzyzyxyyyyzzzzzzzxzyxyyxzzy{yzzzzyyyyzzwyzzzzzz{yyyxyyy{xzyyy{zzyyyyyz{yzzzzzzz{zzxxyzyyzzzzzy{{{zzzyyyzzzzzzzyzyzyyxzzzyzzzzzzzzz{yyzzyzzz{zzz{{xzyyyyyzz{zzyz{zzy{zyyyzzzzy{zzzzyyzyyyzzz{z{{zzzyzzzzzyy{{{{{zyyyyzzzy{{{{zz{z{zzz{yzy|{{{{{{{{zyzzy{yz{{{z{{zzz{zzzzz{{|z{|{{zy{zzyzz{z{z{{{{yzxzzyzz{yz{{{{{{zyzyzzzz{{{{{{{z{zzzyzzz{|z{{{zzz{yzz{zz{{{zzz{{yzyyzyyzzzzzzzyyyyxyyyyyyz{zzzzzyy{zyyyzzzzzzz{yyyyyyyxzzyzyz{z{yyyyyyzzy{zyy{zzyyxyyyyyyzz{zzzyyyyzzyyyyz{zzzyzyzzzyzyzzzxyzyzyyyyyyyxyyyzyzzzyyyyxyzxzyyzyyzyyyxyyyxyzzyyyzyzyyyyyzyyzzyyyzz{zyyzyyyxyyyyzzzyzyyyzyyzxzyzz{y{yyyyyyyyyyzzyz{zyyyyzyyzyyzyyyzzyyzyyyyyyzzzzzzzzzzxzyxyzzzz{yyzzzyzxyyzzz{z{zzzzyzyzyyyzzzzzzz{yzxyyzyy{zzz{{yzzyzyzzzz{zz{{z{{zz{zyzzz{{zzzz{zyyy{zzzz{{{z{zzyzyzzzzzz{{zzz{{{zzzyzzzzz{zz{z{zz{y{yzzzz{{{z{z{zzzzzzzz|{z{{z{{{yyyzz{z{zz{z{{{zzzzzz{zz{z{{zzzzzyzzzyzz{z{zz|{zzyyzzzyzzz{z{zzzzyyzzyyz{{z{z{zxyyyyzzx{{{zzzz{zyyzyyzyz{zzy{z{zzyxzzyyzzzzz{zzzz{z{zyyzz{zzy{zyyyyyzyxyz{zzzz{zyyyyyzyzzzz{zzzzzzyzzyyyz{yzzzy{zzyyzzyzz{zzz{zzyyyyyxxyzzzzzz{{xzzyzzzzzzzzz{zyyzzyyzyzz{zz{z{yzzyyyyyyzzzzzzzzzyyzyzzyzzzzzzzyyzzy{xz{zz{z{z{{zyyzyzyzzzzzz{{zzzzxzzy{zzzyzy{z{yzzyyzzzz{zzz{{zyzzzyz{yz{z{z{y{yzzzyzzzzzz{{zzzyyyzyzzz{zz{{{zzzyy{xz{y{{{{zzy{z{zzzz{{{{z{{{zyzzzzzzz|{|{||{zzz{zyzzz|{{{z{zzz{z{zz{{{{z|{z{{yyzz{zzz|z{{|z{{{{z{zz{{zz{{|z{zzzzz{{zz|{{{|{{{{zzz{zz{{zz{{{{{z{y{zyz|{{z{{{{{zzy{zzzz{{{zz{{zxy{yyyyzz|{zyzzyzyzzyzyxzzyzzzzzyyyyxxzyzzzz{{{zyyyyzzzzz{z{zz{yzzyyzzyyzyzzzzzzyyxyyyyyzzy{zz{yxzzyyyyyzzzz{zyyzzzzyyzzzyyyzz{zzyyzzzyyyxyyzyzzyyxxyzyzyyzyzzz{yy{yzyzyzzzzz{zyy{xyyyzy{zzzzzz{yzyyyzyzzzzzz{{zyxyzyyyyyzzzz{{zzyyy{yyyzzzz{|yzzyyzyzyz{zy{zz{zyzyyyzyzzzzz{{{y{zzzyzzxzzzzzzz{z{zzzzyyzzzzzzzyzzyzyyzy{{{zz{zzzzyyyyzz{{{z{z{zz{zzyzz{zzzz{{z{yzzzzzz{zy{|z{{{y{|zyzyz{{y{{z{{zy{z{zz{{{z{z{zzzzzz{{y{{{zz{{zzzzzz{z{z{{z{{{{{zzzyyzzz{{{{{{{zzzz{yzz{z{z{{{z{{y{zzz{{yz{z|{{zzzzzz{zyz{{zzz|{zzzzzyzz{z{zz{zyyzzyzxzz{z{z{zzzxyzyyyzyzzyyzz{yzyyyyyyzzz{z{y{yyzyxzyzzy{zzz{y{zyzxzyzyz{zzzz|zyzyzyyyzzzzzzyzyyyzyzyyyzzyzz{zyyzyzyyyzzzzyzzzzzzyyyyzy{yzyzzyyyzyyxyyzzzzyzzzzyzzyzxyzz{yzzzz{zzyxzyyz{zzzz{zzyyzyzyzz{yzz{zzzzzzyzyzz{zzzz|zzyyzy{yxzzzzzyz{zyyyzyzyzzzzzzy{{zyzyzzyzzzz{zz{yyyyyzyyzy{z{zzzz{zzyyzz{z|{{{{{zzyyzzzyy{zzzz{{zzzyzyyzz{{{yzzz{{zz{{zz{{{{zzz{z{zyz{zzz{{{z||{zzz|zzyy{z{z{{|{zyyy{zzyz{{{{z{{zzzzzzzz{zzz{{z|{{{zzzzzz|{{{{{z{y{zzy{zzz{{z{|{zyzzyzz{{zzz{{{{zzzzzzzy|z{{{|||zzzyzyyzz{{z{z{{{{zzyzyyy{{zz{{{{yyyzyzy{zz{{yzzyzxyzzzyyzzzzzzzzzzzzzyxzyyzy{zzzyzzyzyyzzyzzyzyyyyyyyxzxz{yzzz{yyyxyyyxyzzz{yzzzxzzyyzyzzzzyyzzyyzyyzzyzy{zzzzyyyzyyzzzzzz{yz{zyzyyyyzyzyzyzzzzzzyyyzyyyzz{zz{zzyyyyyxyz{yzyzz{zyzyyyyzzzzyzzzzzyyzzyzyyzyzzzzzyyyyzzzyyyzzz{z{zyyzzyzzzzzzz{{zyz{zzzyyzzzyzz{zyzzzzz{yy{z|{{{yzzzyyyzy{z{{z{zyzzzzyz{y{z{zzy{{yzzz{zyyz{z{z{{yzzzzyyyzzzz{{z{{yzzyyzzzzzz{z{|{zzzzzzyz{{{{z{zzzyyz{yzz{{{zz{{{zz{{y{{z|{zz{{{{zzz{y{zzy|{{{{{|{zzz{{{{z{{{z{{zzzyy{yyzzz{|{z{z{{zy{z{z{{y{{z|{{zzzz{{zz{zzz{{{z{yzzzz{z{z{zz{{zzzyyzzzzzzzz{y{zzyzyyzyyzzzyyz{zyzyzyzyyzzy{zzzyyyzxzyxzyzyz{{{zyzzyzyzzzy{yzzzzyyyyyyyzzz{yzzzyyyyyxyyy{zyyzzyzzzyzzyxz{zzyzyzxyzyyyyyyzzyy{zzyyzyzyzyyy{yzz{zyyyxxyyyzzzyzzyzzzyyyyyxzzzzzz{zzyyyyxzyyzzyzzz{yyzyzyxyzzzyz{zzyyyzyyyxyyyzzyzzzzyyzxy{zzzyzzz{yzzyzzzyzyz{zzzzzyz{zyyzzzzz{z{zzyzyyz{zy{zzyz{{{yzz{yzyz{{z{z{zyzyzy{yyzz{zz{{y{zzyzzzz{{{zzzzzyzzyzzzzyz{zzz{{zzzzzzyy{{{{zz{z{zzzzyyzz|z{z{{zzzz{zzz{{|{{zyz{{z{zyz{zz{{zy|{{{zzzzzyzz{{{{|zz{zzzzzyz{z{zzzz|{zyz|z{z{zzz{z{{z{zyzyxyzz{|z{{|{zzzzz{zz{{|z{{{yyzyyzzzzzz{{{zyzyyxyyxyyz{zzy|zzzyyyyyy{{zz{{zyzyzzyyyxzyyyzy{yyzyyzyyzz{zzzzzzz{zyyyzxzzyzyy{{yyyyzzzyzzyyz{{yzzyyxyyyyzzzzzzzyzzyyyzyyzyzzzzzxzyyyzyyyzyzy{yzzyyxyyyyzz{zzz{zyyzyyyzxzzy{y{zzyyyzyyzxzzzz|z{zyyyzyyyyy{zzz{{zyyyyyyyxyzzzz{z{zyzzzyzzy{{zzzzzzyzyzyzzzzzzy{{{zzzyzyyyyzzzzz|{yzzzzyzzz{{z{|zzyy{yzzzzzzzzzz{zzzzzzzyzz{zzy{{zzzzzzzzzyz{z{{{{z{zzzzzz|{z{zz|{zzyzzzyzz{z{{{{{zyzzzzy{{{{zzz{{zzzyzz{z{zzz{{{{{yzzzzzzz{{{{||zzz{zzzzzz{z|{{{zzzzzzzyz|z{{{{zzzzzz{zyzy{z|{{||zzzz{zz{{{{z{{{{zzyzzzzyz{z{zz{{zzzzyzzyzz{yyyzzzzyyyyzyyz{zyz{zyyyyyyyzzyzyzzzzzzzxzyyyzzzyzzzzzyzyyzxyyzzyzzzzzzyyxyyyzzz{zzzzyzxzyyyyzyyzzzzyyyyyyzxyzzzyxzzyyyyyyzyyzzzyzz{zxxxyyyyyzzyz{zzzyxyyyyyyyzzzy{yzzzyzzzzxyzyzzz|zyyyxzyzyyzyzz{z{yzyyzyyyyzyzy{zzyyyyyxyyzzzzyzzzzzzyzyzyzz{zzzyzzy{{yyzyzzzzz{z{zzzzyyyz{zzzzz{zzzzyzyzzyzyzy{zzzyzyyyzyzyzzyzzyz{yzzyyzzz{yzzzzzzzzzyyzzz{{{{{zyzzzzzyzzzyzzz{zz{zzzzyzzz{zz{{|zzzyzz{zz{z{z{{zzyyz{zz{z{{z{{{|zz{zyzzzz{z|{{{{z{{z{zzzz{z{z{z{{zzzzzzz{{z{z{{z{zy{{zzz{yz{z{z{zzzyy{zy{{zzz{{{zzyyyzzzz{z{zzzzzy{yxyxy{zzyz{{zyzyyyyyyyzzzz{{zzzyyyyyyyzyzzzzz{yyyyzzyzzzz{z{yzxzzy{zyzzzz{y{zzyzzxyyxzzzyzzzzy{xyzzzxyyyyz{zz{yyyxyyzzzzyzzzz{yzyyzyyxyyzyzzzzyzzyxzyyy{zzz{zzyyyyyyyzzzyzz{zyyzxzyxxyzzyyzzzzzyzzyzyyyzyyzz{yyyyzyzyyzyyz{zzyzyzyzyyzzz{{zzzzyyzzyyyyzyy{{{zyyyzyzyyzzzz{zz{zyyzzzzzz{yy{zz{zzzyzy{yy|zyy{zzz{zyyyzzzz{zz{|zz{yzzzyyz{|zzzz{{zzy{zyz{z{{zz{zzzzzyzzz{z{{z{|{zzyyzyyzz{zz{y{{{xzzzzzx{zz{{{|{zz{z{yz{{z|z{{{{{zzzx{zyz{{zzz{{zyz{zzyy{{{zzz{zzzzyzzzz{{z{z{{{zzzyzyyy{zy{zz{{zzzyzy{yz{zz{{{{z{yzzzzxyzz{{zz{yyyyyzzyzy{zzzzzzzyyzyyyzzyzyzz{yyyyzyyyzyzy{z{zzzyzzzyyyyyzy{{{yyyyyyzyyzzzzz{zz{yyyyyyyyyyzzz{yzzyyzzyzyyyy{{zyzyyzzyyyyzzzzz{yyyxyzzzzzzyzzzzyyyyyxyyzy{zzy{zzyyyyxxxzz{zzzz{yzyyyxxzzzyzyz{yyyzzyyyyyzzyyy{zz{zyyzyyzzz{y{z{zyyyzzxyzzz{zzz{{yzyyyyxzzz{zzz{zyyzyy{y{yyyzz{zzyyyzyzzyy|zzz{{yyzy{yyyzzzz{{{z{zzy{zzyz{z{{z{{zyzzzy{{{zzzzy{zzzz{yyyzz{z{{{zzz{zyy{yy{zyzz{{{{zy{zzzzzz|z{{{zzzzyzzzzz{{{z{{{zz{zzz{zzz{{{{zz|{{{y{{yz|{z{{z{zz{z{zzzzz{z{{z{{yz{zzzzzzz{{z||z{zz{z{zzzz{{{{zzzzz{{{zz{zz{{{{zzzyxzyzz{z|zzzzyzzyzzzyzzzzzzz|yzyyxyyzyyyyyzzzz{yyzyzyzzzzzzz{{zyxyzyyzy{yzz{z{yyzzzyyzzzzyyzzyzyyxzxy{zzyzzzzzyyyyyyyz{zxz{zyzy{zyyxyyz{zyzzy{{xyxyyyzzyzzy{zxzyxyyyyyzzzzyz{zyzyzyyyzzzzzzz{yyyyxyyxy{zyyzzzzyyzzyyyyzzyzzzzzyyyyxyzyz{zzzz{zzzyyyyzzzz{|zzzzzzyyxzyy{zyzzz{z{zzzzzyy{{zz{zzzyzyzzzy{zz|zzzzzzyzzzyyzz{zz{zzyxzzzzyzz{{zzz{{{zyzzzyzzz{zz{z{{zzzyyyz{z|{{zz{zzyzzzzzz{z{{{zzzzzzyzzzz{z{{z{zzyzyz{yz{|{zz{{{zzzzzyzzz|z{{z{{{zz{zzz{z{z{z{{{{z{zzyzy{{{|{{{z{zzzzyzzzz{{{{{z{zzy{zz{z{z{zz{zz{zyzzzyzz{{z{{{zzyzzzzyz|zzyz|zzzzxzyyyzy{zzzzzyzyyyyyyy{zzzy{yyzyyxyyxzz{zyz{zzzyyyyzzzzzyzyzzzzyzzyyzzzyzzz{zyyzyxxyyz{yyyzzzzy{xxyzyzzyyx{zzyyzzxyxxzzzzyzzzzzzzyyzxzzz{yzzzyyyxzyyyyyyzzzzzzzyyxzyyzyzyzyzyyyyzyyyyyz{zyzz{zxyyzyyyyyyzzzy{{{yyzyyzyyy{zz{zyyzyzyyyzz{{z{z{yyzyzyzyyzzzzz{{yzzyyzyzzzzzz{{{zyyyyzyzzzzzz{zz{yyyyyzyz{zz{{zzzyzzyy{yzzzzzz{zzzzyzzyz{zzzyzz{zz{z{yzz{z{{{{z{zzzz{y{z|{zzz{|{zzzzyzzzz{z{{z{z{{zzzzzz{{zz{{{{{{zzz{zzz{{{{{zz{yz{z{yz{|z|{z{{zzzzzzy{{{{{{{z{zzzzzyyz|{z{{z{{{{{zzzz{z{y{{|{{{zzzzz{yzz{xzz{{z{y{zzyyz{z{zz{zzzzzyyzx{{zzyzzzzyxyyyyzy{zyzyzzyyyxyyyyyy{zzyzzzyyzzyyxzzzyzzz{zyyyyzzyz{zzzzy{zzyyxyyyyz{zyzz{zyzyzyzyzzyyyz{zzyyyyyyyzxzyz{zzyyxyyyyzzyzzzzyzyxyyyyywzyzxzzzzzyxzyzxyyyz{{z{zzzyyyyxyzzyzyzzzzzyxzxyyxzyyyzz{zyyyyyyyyzzzz{zzzzyyzzyzzz{{z{{zzzyyzyzzz{z{|zz{zyzyyyzz{zzzy{|zzzyzzyyzzzyzzyyzzzyzyyyyzz{zzz{{{{zzyyyxzzzz{{{zzyz{yzzzzz{z{{{y{zyyzy{zzz{{{{y{zzzzz{z{{zzzz{zzzzzzzzzzzz{z{{{{{yzyzzzz{{{z{{z{zzzzzy{zzzz{{{zz{zz{zz{zz|{{{{z{z{y{zzyz{z{{z{{{zzzyzzzzz{zz{z{{z{zzzzzy{z{{{{|{yzyy{zz{z||z{z{{zz{zzzzyz{{zzz{{yzyzzzzyzzzy{zzyyyyzyyxwz{zyz{y{yyzyyyxyzzzzzz{zyzyyzzzy{yyzzzzzyxzy{xyyyzz{zzzzzzyxzyyzxzyzzzzzyyzyyzyyzyyxzzz|{zyyxyyzyyzyzyz{zyyyyzyzyzzzzzzzxyxyyyyyzyyz{zzzyyzzyyyy{yzz{z{zzyzyyyyzzzzzyzzzyyyyzxyxy{yyzzyzyzyzzxyyy{yzzy{zyyzyy{zzyzzzyzzzzyyyyzyyyzz{zzzzyzzyzyxyzzzzzzz{yzyyzzxyyzzzz{z{yyzzzyzyy{z{z{zzzzyzyyyz{zzzzz{zzyzz{zyyz{zyy{zzyzzzzzzz{zz{{zz{{zzyzyzz{z{{z{z{{yzyzyyz{{|z{{{{zyyzzyzzz{{z{zz{{z{zzz{zyzz{{{{{{zz{{zzz{|{{zz{{{{y{yz{zz{{{z{{{zyyyzyzzz{|{{{zz{{zzz{z{{{{{z{{{zzzyzzzzzz{{|{z{z{yzyzzzz{z{z{|{{y{yzyzy{{{zzz{zzxyyyyyyyzzyzy{{yyzyyyzyzzzyzzzzzyyzyz{yzyzyzz{zyyyyyxxyzyzzy{zzzxzyxzyyzyzzzzzzzyyyyyyyyzzyzzyzzzyyyyxyz{zyyzyzzyyyxyyyzyyzzyzzyyxyyyzxyzyzyz{zzzyzzyyyyzzzzzzyzzxzxzyxyzzyzz{yyyyyyxyxyzzzyzyyyzyyyyyyy{zyzz{zzzyyy{yyyzzzyyzzyzzyyxyyzzzzy{{{zzzyyyzyzzz{zzz{zyzyxzzyyz{z{zzzzzzzzyyyyzz{zz{zzyzzzyyz{zzz{z{zzyzzyyyyzzz{{{{z{yzyyzzzzzzz{{zzyzzzzyz{{zzzz{{zzzyzzzzyzz{{{zzzzyzzzyzzz{{zz{{{yz{zz{{{z{{zz{z{zyzzyzzz{{{{{{{|zzyzzyzzzz|{{z{{{zzzzyzz{{{zzzz{{{zz{zzzzyz{z{z|zzzzyzzzy{{{{z{{z{zyyzzyzzzy{{{{{{yyy{yyzz{zzzzzzyzyyzyxz|zzzzzzyzyyzyyyzzzz{z{{zyyyyyyy{yzz{zzyzyzyzyzzy{{zzzz{yyyyyyzyzzz{z{yyzyyxzyyyyzyzz{zzzzyyxxyyzzzzzzzzxyyzyxyyzzyzzzy{yyxzyyyyzzyzyyyyyyyxxzyxzyzy{{zyyzzyxxyyyyz{{yzzyyxyzyzzzzyyz{yy{zyyzyzyyyyzyzzzzyzzz{yzyzyyy{z{zyyyyyyxzzyzzz{zzzyzyyyzzyyyyzz{yy{yzyyyzzzz|z{zzyzy{zyyyzzz{{z{yzzzyyyzz{zzzz{{zyzzyyzyzzzyyzzz{zyzzyzyzzz|{zz|yyzzzz{z{zzzzz{{zyzzzzyzzzz{z{{{{yy{{z{{z{{z{{{{{zzyz{{{{{z|{z{{zzz{{{zzy{z{z{{{zz{{{zzyz{{{{z{{zzzzzzzzzz{{z{{z{zzzzzyz{{{zz{z{{zyz{zzyzzz{{{z{z{z{zzzzyzy{zzzzzyzzzzyyz{|{z{zzyyyxyyzyyyzzzzz{zzyzyyyzzz{zzz{{{zyxyzyxzyxzyzzzzy{yyyxyyzzzyyzzyzzyxyyyyyzzzzyzzyzyyyzyy{zzzyzyzzzyyyyyyyzyyzyzyyyyyxyyzyyyzzyzzzyzyxzyzzyzzyzzyyyyxzyyyzzzzyzzyyyyxyyyzzy{zzyzzyzyyyyyyzzzy{zy{yyxyxyxzzzzzzzzyyzyyzyxzz{zz{zzzyzzzxyxyzzyz{{{zyyzyyzzyzzzzzzzyyyyyyyyyzzz{zz{zzzyzyyyzzzzyzzyyyz{yyyy{y{zzz{z{zzzzzyzzz{{zy{{xzzyzyz{z{z{z{{{yzzzzzzzz{z{{{{{{zzzyyzz{{{{{z{{{yyzzzyy{{z{zz|zzzz{zzzz{{y{{zzz{{y{zzzzz{{{{{{|{zz{{zyyz{|{zz{zzyzzyzzzzyyz{{{z{zzyzzy{zz{{zz{zz{{zz{zy{zzzzz{{{zyzzzyzzzzyzz{zyzyyyzzx{zzzzyzyyyyyyyyyyzzyzyzzyyyyyyzyyzzzzz{zzzzxxyyxzzzyyzzzzzyzyyyxzzyzzzz{zyyyyxyyyyzyzyyzyyyyyyyxyzzzyyzyyyxyyywxzzzyyzz{yyyyzyzyyyyzz{zzyxyxxyyyzyzzyyzyyxxzyxyyyyzyzyzyyyxyyyyyyzyzyyzzyyyxzyyxyzyzyzzzyzyzzyzyyzyzzzyzzyzyyzyxzzzzzyzy{yyyyzyzyzzyyyz{yzyyyyyyzzzzyzyyyyyyyzyyzy{zzz{zzyyzyxyyz{zzz{zzzzyxzyyyzzzy{yzzyzyzzyyz{z{zzzzzzzzyyyzyz{z{z{z{yzzyyyyy{zzzz{zzzyzzyzyzy{{z{z{zzyyzzyyy{|{zzz{zzzz{y{zyy{{z{{{{zyyy{zy{zz{{{zz{zzzzzzyz{zzz{zz{zz{zzzyyzz{{z{{{z{zzzzz{z{zzz{z{yzyzy{zyy{yz{{{{zyzzxyzyz{zyzzz{zyzyyzzzzzzz{zyzyyyyyyxyyyyzzyzzyzxyyyxyzzzyyzzzzzyyyyxyyyzyzz{{zyyzyxxx{zzyzzz{z{yxxyyyyyz{zyzzyyzyyyzxyzzzzzzzyyzyyxyxzyzyzzzzzyzzyzyzyyyzyzzyzxyyyyxxzzzzyzz{zzzzyyyyyyyyzzyyzxzzxyyxyzzyzzzzzyyzyzyyyyzyyzz{zyyyyxyyyzzzyzz{yyyyxyyyzzzzz{{zzyxxyxyyzzzzyyzyyyzzzyzyzzz{zzzzzyzzxyyzy{zy{z{{yzzzzyyxzyyzzzzzzxyyyyyyzy{zy{zzyyyzzyyyzzzzy{zzzyyzzzyy{zzzzz{{zyyyzxyy{z{{{zzzzyzzyyyzz{{z{zzz{zzyzyzz{{zzzzz{zyzzxzzzy{z{z{{zzzzzzzy{z{{{{{{z{y{{yzyy{{z{z{{{{yzz{zzy{{yz{zz{zzz{|zyz{z{zzz{zzzzyyyz{zy{{{zzz{yyzzzxyz{{zzyzyzzzzyx{x{zzzzyzyyzxyyyyyyzy{yzzzyyyyxyyyzzzyz{{zzzyyyyyyzyyzz{{zyzzyyyyzy{yzyz{zzyzyyxyyzzzzzyzzyyyyyxywyyzyzy{zzyzyyyyyzyzyzyzyzyxyyyyyzzxzyzyzyyyxxyxyyyyyzyzyyyyyyyxzyzzxzzzzyzyyyxxyyzzyzzyyyxyyyyyyyzyzz{zzyxy{xzyyzyyyzyzzzxzyzyyzzyyzyz{zzzzzyxzzz{zzzyzzzxzyyzzzzzyzzzz{yyzyzzyyzzzyyzz{yzyyzyzyzzz{zzzzzyyyzyyzz{z{zz{zzzyzzyyyzyzzyzzzzzzzzzzzzz{{zz{zzzzyzzzyzzz{zzz{zzzzyzyyz{y{{z{zzzzzyyzzz|zz{z{{y{zzy{zzz{{{{z{{{yzzyzzzx{{{z|{zzzyzxyzzzz{zz{zz{zz{zzzzz{zz{{{|{yzzyzzz{y{z{{{{zzyxzzyzzzzz{{z{zyxyzyyyyzyzyz{zzyyy{yyzzzzzzzxyyyyyyzzyyzzzzz{zzyzyyyzzz{yzzzz{zyzxyzzxzzzzy{{zzxzyzzyyzzyyz{z{zyyxyyyyzz{zy{zzyyyzxyzyzzyyzyyzyyyyyyyyzzzzyz{yzyyyxzzzzzyyyzzzxzxyyyyzyzyzyzyyyxyyyxyyzzzz{zzzyyyzyyxyzzzz{z{zyyyzyxxy{xyzzy{zzyyyyyzyzzzyy{{zyyyyyyyyzzzzzzzzzzyzzzyyzzyyzzzzyyzzzzzzyy{zyz{zzyzxyyyyz{zzz{z{yzyz{zyzyz{{zz{z{yzyzyzy{{zyzzzyz{yzxzyzz{{yzz{{zzy{yzzyzzz{z{{zzzzyzzzy{z{{{{z{zyzzzyyyz{zzz{{zzyyzzzzz{{{z{{||z{{zzzz{zzz{{{{{{yzzz{zzz|{{{{|{zyz{zyzz{{zzz{zzyyzzyzzz{z{{{{||zzzzyzzz{{z{z{{{{yzyyzzzzyzzz{{z{zzzzzyzz{zzy{{z{zzyzxyyy{zzz{zyzyyxyxzyzyzzyzyzyzyyyyyy{yzzzzzzzyzyyyxyzzyz{z{zzzzzy{zyyyzzy{{{zyzyyyyyy{zzzzzzyzyyzzzxyzyzyzzzyyyyyyyzzyzyy{{z{zyyyyyzzzyzyzzzxzzzyyyyyzz{zzzzyyyxyyxy{yzzzzzyyyyzyzyyzzzzyyzzyyzzyzxyyzzyyzzzzyyyyzyxzzzyzzzzzyzzyyyyzyyzyzzzyyyzyyyzz{zyy{zzyz{zyyzyz{{zzz{{zzzzyyzzzz{zzyzzzzxzyyzzy{{zzyzyzy|{zyyyzzzyz{{{{zyzzzzzz{z{z{zzzzzzyzyzyz{{zz{zyzzzzy{z{zy{z{yzzzzzzyzyz{{z{z{{{yyy{zzzz{z{yz{zz{{zy{zzzzzz{z{{{z{zy{zzz{{z{z{{{zzzzzy{z{{{{|z{{zzzyyzy{{{{{{|{{zy{zyzz{{z{z|{{{zzyyzz{z|{zz{{{{z{yzy{zzz{{{{zzzyzzzyyyzz{zzz{yxyzzyyzyyzz{zzzzyzyxzyzyzzzzzzzz{zxyyyyyzy{zy{zzzyxzzzyzzzzzyzyzzzyyyyyyzzzyyy{zyzyyyyyxyyy{{yzyyxyyyyzy{yzyzzzzyzyyxzxxzzzzyzyzzyyzzyyzzzyzzzzzyzyyyzyyyzyzzzz{zyyyyyyyzzzz{{zyyzxzyyyyzzyyzzz{yyzyyyxyyzzyy{yzyzyyyzyyz{zzyz{zzyyxyyyzyzzyzzz{yyzzyyyzzzzzz{z{zyzzzyzzz{zy{zzzyzzzzzyyzzz{zzz{zyzzyyzyzz{z{y{zzzz{yzyzz{yzy{z{zyyyzzyyzz{zz{{zzyz{zzzzy{{{zzz{yz{yzyyz{{z{{z{z{zzzzyzzz{{z{{|{yzzz{zzzz{{{zz{{zyzz{zzzz{{{zz{zzyz{{zyz{|{z{z{{zyyzzzyz{{{z{z{|zzzz{z{y{z|{z{z{{zyyyyzzzzzyz{|{zzyzz{yy{{zyyzzzzyzyzyyyyzzyyzzzyyxyxyxwzyzyyzz{zzyyyyzyzzyzzz{{zyyyyyyzzyzyzzzyyyyzyyyxyyzzzyz{{yyyzzzyyz{{y{zzzyyxyyyxzzyzz{{zzzyyzyyy{y{yyzzzzyyyyyyyzyyzyzz{yzzyzxxyzzzyy{zyzzzxyyzyyyzz{zzyzyyyxyzyyzzzzz{{zzyxyyyxyzzzzyyzzzyxyzxzzzyzyzzyyyzzzzzyzzzzz{{{zy{yzyyzyzzzyzy{yyzyyyzzyzz{z{{{zyzyyyyzzzzzzz{{zyzzzxzz{{{{z{z{{yz{yyyyz{{z{z{y{yzzzyyyzz{z{zzzzzzyzzzyzz{{y{{|yyzzz{{zzyz|{{{|{{zzzyz{{{{z{z{zzyz{zyzyz{z{{{|{zzz{zzzzz{z{z{z{zz{zz{yyz{{{z{{{{zzz{yyzyz{{{{{{zyyzyyz{zz{zz|||z{yy{yzz{zz{z{{{{zzyzzyyz{y{{zz{{zzyyzzyzzzzzz{{zxzyyyzzy{zzyzzzyyxyzzyzzz{zzz{zzzyyyyzyyz{zzz{yyyyyyzxyzzyzy{z{zzzxzyzyyyzzyy{yyyzyyxzzzzzzzzy{yyyyyyzxzzzzzyzyyxzyzyyyzyzzzzzyyyzzzyzzzyzyxyzzyzyzyyzy{z{yyz{zzyyyyyxyyy{zzyyzzyyyyyzzyz{z{yyyyyzzzyxyzzyyzyyzzzyyyyzzyzy{{{{zyzzzz{yyzzzzzz{zyyyzzzzyzzyzyzzzzz{zzyy{{yzzz{z{xzzyyzyyz{zz{zyzzyzzyyyxzy{z{{{zzyzyyzzyzzzy{zz{{zzy{yzy{zzzz{{{z{yyyyz{yz{{{{{{yzyzzy{yz{z|{zz{zzz{yyyz{zzzz{zz{zz{{zzz{{{zz{{{zzyz{z{{{{z{{zz|{yzzzzzyz{|z{{z{{yzzyzzz{|{zz{{z{zzz{zyzz{{z{{{{{{zz{zzz{{z{{zz{zzyz{zzyz{zz{{{{{z{zyyzzzz|{{{z{zzzyzyzyzzzzzy{zyyyyyyyzyzzyzzzyxyyyxyzyzzzz{z{zzxyyyzyxzyzyzzzz{yyzyxyxyzzzz{yzzyyyyyyxyzyyy{yzyyzyyyxyzzzxyzzzyzyxyzyyyyzyxyyzyyyxyyxyyzxzzzyyzyxzyxxxyzyyyz{yyyyyyxyzyzzzyzzzyyzyxxzyzzyzzzzzyyzyxyyyyzyyyzzxyzyyyyyyzyyyz{{zzyywyzzzyzzyzyzyyyzyyyyyyyzyzyyzyyzyyyzzyyzzyzzzzyzyyyyyzzzyzz{zzyyzyyzyy{{y{z{zzyzyyyxzzzzzz{zzyxyzyyzyzzzyyzzzxyzyzzyzzzz{{z{zyy{yyz{zz{zzzzz{zyyzyzxyz{zzzz{z{{{zzyzxz{yzzz{{zz{yx{z{z{{z{zzzzzzyyzyzz{zz{{zz{yzzzzyy{z{{zz{zzyyzzy{zyz{{z{zz{zzzzzyzzyzz{z{zyyzxyyzzzzzzzz{zzzzzxzyyyzzzzxzyyzzzzyzzzzzzzyyzyyxyxzzyyzzzzzzzzxxzxzyyyzzzzzzzzyzzyyzxzzzzzzzzyxyzzzyzzzzyyy{zzzyyxyyyzyyyyzyz{yyy{yyyzzzyyzzyzyyyzzyyxz{yyzzzzyxyyyyyzzxzzzzyzyxyyxyyzyyzyzzzyzzyyyxyzyzyzy{zzyzxzyxyzyzzyzyzzyyyxxyyyzyyz{z{zyxxzyyxzzzzz{zzzyzzyzyyzyyyzy{zzyyyzyyyz{zzzy{{yyzyyyyyzzzz{zyzzyzzyxyyz{yzz{zzyzyzyyyxzzz{zzz{zz{yzyxxzzy{{zzzyyyzyyyyzzzz{zzzyzzyzyzyz{{{zzz{zzzzzzxzz{z{z{{{zyyyyzzyzz{{{z{{zyyzzyzyz{{z{{{{{z{y{zzzzzzzz{{|{yzzz{y{z|zz{{{{{yzzzzyz|z{{z{zzzyyyyzyzzyzz{z{zz{{{yyz{zzzzzzz{zzzzzyzzz{z{zzz{zyyzzzxyz{z{zzzyzyzyyxzzzz{zy{yzyyyyyyxyzzyzxyzzzyyyzyyyy{yzzz{zzxyxzyyyz{zzzzzzzxzyyyyzyyzyzy{zzyyxyyyyyzy{y{z{yzyyyxyxzyzzyzzzyyxyzxyzxzyzyzzzzyzyyyzzzyyyyzyzxzzyyyxxyzzzyzyyyzzxxyzyyzzyzzzyzyzyyyxyzzy{yzzyyzyzyzzyyyzyzzzzzxyzyxyyy{zzzyz{zyyxzyyyyyzzzz{zyyyzyzyzyzzz{yz{{yyyzyzyzzyyzzz{zzyzyyyzyzzz{y{zyyyzyzyzzzz{zzzzzzyzyyyzzzzzz{zzzyyyzyyyzzzzzz{z{zzzyzzyz{{{{{{{yzzzyyz{z{{zz{{{{zzyzyyzy{{{{{zzzy{{yzzyz{zz{{{{z{{zy{zz|{zzyzzzzyzzxz{yz{{{zzz{zy{zyyzyyzz{y{zzzzzzz{yz{zy{{{{{zzzz{zzyyyz{zz{{z{zyyzzzz{y{z{z{zyyyyzyzyz{zzz{zzzzzzyyyyyzyzyzzyyyyyzyxyzyyzzzzzzyyyyxyzyzy{zzzzzyyyyyy{yyzzzzzyyyzyyxzyz{zyzzzyyyxxyyxyy{yzz{zzxzyyyzyyzzyyy{yyxyyxyzyyxzzyzzzyyzxyyyxyyyzyzyzxyzyyyyxzzyyyz{zyyyxxzyzyyyyzzzzyxyxxzyyzzyzyz{zzyyyxyyyyyyyyyyyzyyxzyxxzyyzyxyzz{yyxyyyy{zyzzzzyzxzyxxyyyyyy{{zyyzyyyyzyzzyzzyzzxyyyyzyyzzzz{zzyxzxzyzyzzzzzzzyzyzyyxyyzzyzzy{yzyzy{yyxzzyyy{zzzyyzyzzzzzz{z{zzzyyyzzyzz{{{{z{{zzzzzzyyzz{{zz{{{yyyzzyz{{zz{{z{zyyzyzyz{z{{zzzzzzyyzzzzy{zzz{{{zzzzzzzyzz{zzzz{zyyyzyyy{zzzz{{zzzyzyzyzzzzzzz{zzz{xzz{yyzzzz{zz{zxzyxzzzzzyzz{{zzzyzzyzzz{zzzzzyyyyyyyyzz{yzzz{yxyyzxxyzyyzz{z{zyzxyzzzyyzzzyzzzyyyyyyyzzyzyy{{zzyzyyyxzz{zyzzzzxyyyxyyyyzzyzyyyzyxzyxxyyzyy{yyyxyyyyyyzzzzyyzyxxyyyxyyyzyzzzyzyzyyyyyyzyzy{{zyzxzyxyyyxzzz{z{zzyyzzyyyyyyzz{zzyzyxzxzzyyyzzzyyyzyyxzyzxzzzyy{zzyyyzyyyzzzzzzzzyyzyzxyyzyyyzz{zyyyyyzyxzzzzz{zzzyzyzyxzy{zzzzzzyzzyzzzyzzyzz{{yzxzzzyyyzzzzz{{zzyzzzzzz{{zz{z{zy{yzzyyyzzzzyyz{{yyzzyyyzyzz{zz{{zyyzzzz{zzzzzzzzyzyz{zzzzzz{z{{{yz{y{zz{{{zz{{{{zz{zzzy{|zy{zz{zyzzz{yyz{z{y{{{zzyzzyzzz{{z{z|{zzzyzyzzyz{{zz{zyzzzzzyyz{z{{{z{yyzyyyyx{zyzzyyzzyyxyyyyzx{zy{yzyyzyyyyyyzyz{{zyzzzyyyyyzzyzyzz{yzyyyyyyzzzzyzz{zyyyyyzyzyzyyzz{zyyyyyyyzyzzz{{z{zzyzzzyzyzyzzz{zyzyyyzyzz{zzzzzyyyyyyzxzzyyzzzyyzyyxxxxzy{z{z{yxyyzyzyyz{yzzz{zzzyyyzyyzzzzyzyyzyyyyyyyyzzzz{yzzyyzyyzzzyzz{z{zzyyyyzzyz{zy{yz{y{zyyzzz{zzzzz{{zzyyyyyyyzzzyzzzzzyzyyyzyzzzzz{zyzyyzzyzzz{zyz{z{zyyzyyzzzzzzz{{yxzyzz{yzzz{z{{{zzzzzzyyzz{z{{{z{y{zzz{z{{{{{{zz{zyyzzzyz{z{{zz{zzzyzzzzz{zzz{{z{zyzz{yz{{{{{{{z|zyzyy{zzzzzz{{{zzzz{zzyzzz{{z{{{zz{yzyz{zzzzzz{zyzyzzzzzz{{{{{{zzyyyyyz{{{|y{{zyyzyyzyxzzzzzzzyzzyyyyyyxyz{zzy{zyyzyyyyyy{zzzz{zyyyyzyyzz{yzzzzzyyzzzyxz{{{yxzzyyzzyyyyyzzyyzzzyyyyyyzyyzy{yyzzzzzyyyzyzyzyyzyzzyzyyzyy{zzzyyyzzyyyzyxyzyzzzz{zzyyyyzyxyzyzz{zyyyyxyyyyyzyyzyz{yzyxyyxxyyzyy{zzyzyzyzyyzzzyyzzzyyzyyzyzzyyy{{{{yyxyzzyzzzzyzzz{yyyzyyzyzzzz{{z{yz{zyyxyyzyzz{{z{zzzzx{{zz{yz{{{zzzyzyyzz{{{zz{zzyzz{yyyzzzzz{{{yzy{zzzz{z{z|{{zzzy{yzzzz{{{{zzzzyyz{zxzzzzz{{{{zyy{zyz{z{{zy{{{zzzzz{zzzzz{{z{{zzzzz{zzz{{{z|z{zyzzyzzzz{{{zz{z{zyzyzzzz{z{{{{{{zyzzyzzz{{z{z{|z{zzzzzz{zz{z{z{zyyz{zzzzz{zzzzzzzyxzz{yzzz{z{zyyyxyzxzyzzzyyzzzyyyxyxyxzzyz{zz{yyxyyyyzyzz{zzzz{yyzyzyxzz{zzyzzzyyyyyzyyzzy{zyzyyzzyyyyyzz{yzyzzzxxyyyyzzyzy{yyzzyxyzyyzyyyzzzzzyzyyxyxyzyzzzyyxyyzxyyyzzzyzzzzyyyyyyyyzzzyzzzzyyyxyyyzxzyzz{yyyyyyxyyyxzzzyzz{yyxyzzyyyyzy{zzzzyyyzyyzzyyyzy{{zyxzyxzyyzyzzzzzzzzyxyyyyz{zyzzz{xzzyxzzy{{{y{zzyz{yyyzy{zzzyz{zzyyzzyzyy{{zy{{zzyyyzyzyz{{zz|{{yzzzyzzz{zzy{{{{zyzyzzyyzz{zzy{z{z{zzz{{z{{{{z{{zzzyy{{zy{z{{{{{{yzyzzzzy{{{zz{{zy{zzyzy{{zz{zzzzzyzzzyzy{z{{|z|{zz{yzzzzz{{z{|{zz{zzyyzzzzz{z|zzxyzxzyzy{{z{{zzzzzyyyyyzz{{yzzyyyxyzyyzyzzyyzzzzyxyxyxx{zzyy{y{zyyyzyzzzzyzz{|zyyzyzyxyzzzyyy{zzyzyyyyxzzzzyzyzyyzxzyyyyzyyzzz{yyyyyyzyzyzy{yzxyzzzxyyzyyzzzyyzzyyyxxyxxzzxy{zyyyyzyyyzzzyzzyzzyyyxyyyyyyyzzzzzyyzzzyxxxzzzyzzzyyyzxyyxyzyzzzzzyyyyyyxzzzyzzyzzzyzxzyzyzzx{|zzyzzzyyxzy{yyzzzzzzyzzxyyzzyzzz{{zyyzyyyyzyzz{zz{{{xyzzyxzzz{zyz{{zyzzzzyzzzz{zzy{y{yy{yzzzzzz{zz{zzzzzzyz{yz{z{z{zyzzzyyyzz{{zy{z{yyyzyyy{{{zz{|zy{yzyzzz{zzzzz{z{{zzzyzzz{z|zzz{{zzzzzzy{z{{{{z{yyy{{{yzzz{{{zz{{zz{zzyzz{y{zz{{zy{zyyyz{{zy{zz{zzzzyzyzz{{zzz{zyzzzzzzzzz{zyzyyzyyyxyyyzzzyyyzzzzyzyyxy{zzzyz{{zyzyyzyzzzyzzz{zyyyyyxyyzyzzyzzz{zzzxyyyyy|zzzyzyyyzyyyyyyyzyzzyzyyyyxyyzyyyyzyyyyxyxzyyyzzz{zy{xyzyxxyxzyyyyzzzzyyyyzxyzzzzzzzyyyyzyyxxzzyyyzzyyyxyyyyyyzzyy{zyzzyyyyyxxzzzz{yzyxzzzyzxyzyyzz{yzzyyyxyyyzyzzzzzzyyyzyyzyzzzyyz{yyzyxxzxz{zzzy{zzzyyyyyyzyyzzzzzyzzyyyyzy{zzzzzzzyzyyzzzz{zz{{z{yyzzyyzzzzzzz{{{zyyy{zzyz{z{{z{{zzzyyyzzz{{z{|{{zzyzzzyz{{z{{z|{zzzzzzzyy{zzz{z{{yzzyzzz{{{{{|{{zzz{zzzyz{{z{{{{zyyzz{z|z{{z{{zzzyz{zzzz{{{{{|{zzy{y{y{yz{|zz{zzzyzzzz{zyyz{zzz{yy{zzxyyz{{yzzzzxyyyxyy{yyyyyzzzyzxyzxyzzz{zzz{zxyzyyyzyzzz{zz{zzzyzzyyyyzyzzz{{zzyyyzzxyzzzzzzzyyyzzzzyzzzzyzzzzzzyzyyxyz{yzyzzyzzyyyyzzzxyzz{{yzyyzzyxyzz{zyzzzyyyyxxxzzyzzzzzxyzyyxyyzzyzzyz{yzzzzxzyyz{zzyzzxzzzzzyyzzzzzzz{yyzyzzyyzyz{y{z{zzzyyxyyz{{zyyz{zyzyyyyzy{zzzzz{yzyzyyzzzzz{{{zzzzzzyyzyzyz{z{yzzyzyyyzyz{{z{y{zzyzyyzz{z{z{z{yz{y{y{z{zy{{{{{{{zz{yyzz{zz{{z{{{zzzzzzzz{{z{{z{zzzzy{zzz{|{y{{{{zz{zzz{{z{{z{z|z{zyzx{yzz{{z{z{z{zz|zzz{z{|{{{z{yyz{zyy{zz{zz{{{{zyzyzyz{z{z{|z{zy{yzzzzyyy{zz{zzzzyzzzyzz{{z{{y{yyyzyyyz|zz{zyy{yyyyyyyy{zzz{zyyyxxyxyyyy{z{zzzzyzzzyyxyzzz{{zyzyyzyzyyyzzzxzz{yzyyyxzyyzzzyyzzzyyxyzzzyyzyzyzzyyxwyyyyyyzzzz{zyzyxxyyzyyy{yy{zyyyyyxyyyzyzyyyyyxyxxyyyyzyzyyzz{yzxyyyxyzyzzzzyzyyxxxzxxzyyyzzzyxyxyyxxxzzyz{{zxyzzzzzy{yzz{yx{zyyyyyxyyzzzyz{zxyzyzzxzzzyyzz{{zyyzzyyzzz{zz{{{zyzyzzyyyy{z{z{zzyyyzyxyzyzz{{zzzzy{yzyyzz{zzz{{zyzyyzyyyzz{{{zzyyzyyzzz{{y{|z{|{zzzzyzyz|z{zz{{{yzzzyzyz{z{{z{z{z{zy{zzz{{{zz{{zzzzzzyyz{{zz{{{y{zzzzyzz{{z{{{|{yzzyzz{zzz{z{{{{zyz{zz{|{z{{{|{zzzyzzyzzzz{|zzz{zzyzy{yy{yyyzzzzzyzyyzyzzzzzzyzxzyyyzxyyyzzyyy{yxyyxxyzzzzy{{yyyyyyzzzzzyzzz{{{yyyzyyyzyyzzyyzzyzzyyyyyzzzyyzzzzyyyyyzxzyzyxzzzyyxyyyyy{yzzyz{zzyzyxyxyyyzyyyzzyyyyyzyyxzyzy{zyyxzyxyyyzyz{zy{zzyyxyyxyy{z{zyzzzyyxyyyyyyzyy{zyyzyxxyyyyyzyy{zzzzyzyzzyzzzzzzzyzzzyyyyzz{zzz{zzyyzzzyzxzyz{zy{zzzyzzyyy{z{z{y{zzyzzzzzzzyzzzzzzzyyyyyyz{z{zz{{zzyzzzyyz{z{{y{|zzzzzyyy{z{z{yzz|zzzzzzzz{zz{z{{{zzyyzyyyzzz{{z|{zxzyzzzz{{zz||{{{z{zzzyzzy{zzz{{{zyzz{z{z{zzzzz{{zzzzyzz{{zzzzzzzyzzyzzz{{zz{{{{{zzzzzyz{{z{{zz{{{zzzz{z{{{zzz{z{zxyyzzz{zz{{{z{zzyyzyzy{yzzzzyzyyyyyxyyyzzyzyz{zyyyzyxyyzzyzzzzzzyyzzzxzzyyzzzzzyzyzxzyzzz{zzzzyzzyyzyxzzz{zzy{y{yyyzyxzzzzz{zzzyzyyyzyyzzzyzzzyyzyyzyyzzzzzyz{zyyzzyyyy{zyzy{yzyxyyzyyzyzzzzyzyyzzxyzyyzyz{zyzyyyyzyzyyzzxyzzzyzzyyyyyz{yyz{zzzyyyzyyyzzzzzzzzzyyyzyzyy{zyzyz{yzzzyxyyzyzyz{zzzyzzyzzyyyzy{zzzzzzzyyzyzzzzzz{y{yzzzzyyzz{zzz{{zyyzzyzzy{{zz{zzzyzzzzz{z{z{z|zzyzyzzzzz{z{z{z{{zyyz{zyyz{|{{z{zzy{y{zzzzy{{z{z{zzzzyy{{{z{{{{z{{zzzzz{z{|z{z{{{zyzzzzxz{{zz{{{z{zyzzzzz{{{{y{{{{z{{zzzz{zz{{{{|{zzzyyzzyzz{{z{{zzzyzyzyz{zz{{{{zyzzyzyzz{{z{zyzyyzwyyxyyyy{zzzzzyyyyxxyzyyyzzzzzzyyzyyyyyzzz{zzyyyyzyxzyyyzzyz{zzzyyyxyyzx{yzzzzyyyxyyyyzyyzzzzzy{yyxyyyy{yyzzzzxzyzzyyyzzzzzzzyyyyzxyyyzzzzzz{yyyyzyzxzzzzzzzzzyy{xyxyyyzzzz{{zzyxyzzxyzzyyyzyyyzyxzyyxzyzy{{zyyyyzzyyzyzz{zzzzyyyzxyyzyzz{{z{zyzzyyzzzzzzyz{zyzzyzyxyyzzzzzzzz{zyyyzyzzy{zzzzzyzyzzzyzz{yzz{zyyzzyyzzy{zzyy{y{zzyzzzyz{zz{{{zyyzyyzzz{{zzyz{{zzyzyyyz{z{z{{zzzyzyzyzyz{z{{z||{zzyzzzz{{{{z|{{{zzyzzz{z|z|{{{{zz{yyzzzzz{z{zzz{xzyz{{zzz|zz{{{{zzzzyzzzzz{{{{{yyyzy{zzzzzz{{{|{zyyyyzyy{y{zzzzzyzyzyyyyzzzzzzzxxyyzyzyz{zzyy{zzzyyyyyzzyzz{{{zzyyyzzyyzzzy{z{{xyzzyyyyyyzzyzz{yzzxyyyyzzyyy{y{zzzyyyyy{zzzz{zzyyzzyyyzzyzzzzzzyzzxzyyzyzzzzzzzyxyxyxxxxzzyyzzzzyyyyzyzzzzz{y{yzyyyyyyyyzzzyz{{zzyyxzzyzyzyzyzzzxzyyy{yyzyzz{zzzyzyzzzyzzyzzz|zzzzyyyzxzyz{zz{zzzyzyzz{yzzz{zzzyzzxyyxzzzzyz{zzzyzyzyzyz{{zz{{zyzyyzyyzzz{zyyzzzyzzyyyzz{zzzz{{yy{yyzyy{{{z{{z{zzz{yzzy{{z{zzz{zzyzyzzz{|z{{{{zz{{y{zzyz{|z|{{{zzzyz{z{z{z{{{{{{yzyzzzz{{{{z{z|{z{{{yzzzz{zzzzzzyzzyzzzz{{z{|{{{zzzzz{zz{z{z{z|yyzyzzzzz{{{y{{{{{zzzzyzz{{{yz{{zzzyzxzy{y{zzzxzzxzyxxyyzzyyzzzzyyyyzxyyz{zy{{z{zyyxzzzy{zyz{{{yyyyzzzxyy{zzyzz{zzyyyyyxzzzzzzy{yyyy{yyyyzyxz{zyzyyyzyzyzy{zzyy{z{yyyyyzzzzzyzzz{yyyyyyxxyzzzyzzzxzyyyyzzzz{zzzyzyyyzyzxyz{zy{zzzyyyyyyxyzzzzzyzzzyyyyyxyyzzyzyzzyzzzzyy{zzzyy{yzyyyzzyzzzzzzzy{zyzzyyzz{zzzzz{zyyzyzzyzzzz{zz{zzyzyyyzzzz{z{{zzyzzyzyyyz{zyyz{yzzyyyyyyzz{zzzzzzyyzzyzzzzz{z{z{yyzy{zzzz{zz{z{{zzzzyyyzzzz{yzz{{{zz{{yzz{zz{{{z{z{z{z{y{{{zz|{{zzzyz{zz{z{z{{{{{yzz{yy{{zzz{{{{zz{zzzzz{zzzzz{{{zyz{{{zz{|zzz{|yz{zzzzzz{zzy{{yzzzzzzzyz{zzzz{zzyzyzzzyyzzzyzzzyyxzyxzyxz{yzyyzzzyyzxzyyzzzz{{zzzyyzyyy{yy{zzz{zyyxyxyyzzzzyyzzyyyzzyyxyyzzyzyzyzzyxyyxzz{yzy{zyyzzyyyzzzyzzzy{yyxxyzxyyzxyzxzzyxyxyyyyzzyzyyzy{yzzyzyzyz{yyyzzzzzyyyxyzzzzyzzzzxyyyyyyyyyxzyzzxzxyyxyyzyyyzy{yyyzyzyxyzzzzzz{{yyyyyxyyzzzzzz{{yzyyyyz{yzy{zz{{yz{zzyyyy{{zz{{{yyyyyyzyyzz{z{{zzzzyzzzyyz{zzy{yzyzzyyyy{z{{yz{yz{yyyzzy|zz{z{{{yzyyzzzzz{z{zzzzzzzzzzyzzzz{yz{{{zzzz{{z{{zzzz{zzzzzzzzzzzz{{z{{{zz{{zz{z{zzz{|{zzzzzzzz{{z{z{{{{zzyzzzz{zz{{zz{zzyzzz{z{zy{{z|zzzzzyyz{zzzzz{zz{zxzy{zyzz{yzzzzzzzyyyzzzzz{yzzzyyyxyyxyyzzyyzy{yyxzyyyyzyzyzzzzyyzyyyzzzzzzyzz{zzyzzyzzyz{zzy|{zzzzyyzyzyzz{z{zyyzzyxzzzzzzzzzzzxxyyyyxyzzzzyzzyyyyyyxyyyyz{zy{zzyyxxzyyzzyzz{zzyyyxyxyzzyz{zy{yzzzyzyyzzzyzzzzyzyzzyyyzzz{z{z{zyyxyyzzy{yyzzz{yzzzyyyyzz{yzzzz{xyyyzzyz{{y{{zzzzzyzxzxzzyzz{zz{zyyzzzyzzz{{{z{yzz{zzzzyzzz{{zyzxzyy{zx{{zzzzz{zyzzzyyzzz{zzzzzyzzzyy{zzz{{{{|{yzzz{yzzzzz|z{{{zyzzzyzyy{{{zz{{{zz{{{zyzz{z{|{{zyzzyz{{zz|{z{{{{zy{{zzzz{{{z{{{{zzz{zzz{z{z{z{zzzyzzzzz{{zz{z{{{zzz|zzz{{z{{{z|z{yy{yyz{{z{{z{{{yzzzzzz{zzzzzzzyyzzzyyz{z{z{zyzzxyyzyyyzyzzyyzzzzxzyyyyy{yzz{zzyyyyzyzyz{zyzzzzzyyzyzyy{zzzz{yzzzyyyyyxzy{zyzyzyyzxxyyyzzzyzz{zzyxyzxxyyzzyzyyzxyyyyzyyzzzzz{{zzzyyxyxyzzyzzzzzyyxzyyxyyyzzzzzyyyzzyyyyy{zy{z{zyzzy{yyyzyzyzyzzyzyyyyyyyzzzzzzyzyzzyyzyzzy{yzyz{zyxzyyxyzzzzzzzzzzxyy{zzyzyzzyzzyyyzzyy{zzz{zzzzyzyzyyz{zzyz{zzzzyzzyzzzz{{yz{{zyyzzzxyzz{zzzzzzz{zzyyyzzz{{{{{zzz{yzzzz{z{zz{{yzz{yyzy{{{{zz{zzzzyyzzy{z{z{{{{{z{zzyzy{{z{{{z{zzxzz{zzz{{zzz|zzzz{{zzy{z{{zzzzzzzyzzzyzzz{z{{|zzy{zzzz{z{{z{{{zzyyyyzzz{z{yz{{zz{zzz{yz{{{zz{zzzzzyyyzz{zzzzzzzxyyyxyyyzzzyz{zyyxyyyzyzyzyz{{zzzzyyxyxzz{zzz{zzyxyzyyyyz{yyyzzyyyzxyyxyzzzyzyzyzzyyz{yzzzyyzzyzzyyyzxz{zzzyyyyzyyyyzzyyzyyzyz{yyzyyxyyyzzyy{zzzyyzyzyyyzzz{{zzzzyyyyyyyzyyz{{zyyyyzyyzyzyxzyzyyzzzyyyxzyyzyzyzyxzxzyyzzzzyzyzzzzyxzyyyzyzyzz{{yyyyyyzzyyzzzyzzyxyyyyyyyyzy{y{{zzyyzyzyyz{zzz{zzzzyzzzzzzzzz{|zzyzzyyy{zyzyy{zzzyzzyzyz{z{{z{zzzzzzzzzy{zzzz{z{zzxzzzzyz{zz{{{z{zzzyyzy{{{{{|{{zzzzzzzz{z{{{{{{zz{zzzzzzz{z{{z{{zzzzzzzzz{z{{{zzzyzzzzz{{{zz{|{{z{zzzzzyzzzzz{{zzzyyyyzy{|{zz{z{zzzyyzyz{z{z{{zzyzxyyzxzz{zzzxyyzyyxyyxzzzzyyzyxyy{xxyyyzyzyz{zzxxxyyyyyy{zyzzzyyzyxyyyzzzzzzzzyyxxyzzxzyyyyyyzzxzxyxyyzyyzyzzyzyyxyzyyyzzzzzzyyyyyyyzyzyyyyyyzyyyyyzyxyyzzy{zzyzxzyyyyyyyzzyyzyyzzyyyyzzzzyzzzzyzxxyxyyyyyz{yzyyyyzxyyyzzyy{zzyyzxyyyyyyyyzyzzzyyyyzzzyzzyzz{zyyzyzyzyyzzyzz{zzyyyxzyzyyyyyz{{zzzyyxyxzyzz{zyzzzyyyzyxzzzzzzzzyzyyyyzz{zzyzzyzzyzzzyyzzzzzz{zzzzzzzyy{yzy{{{z{zzzyyyyyz{z{zz|zzzzyyyzz{zzzz{{{z{zzyyzzz{y{{{z{zzzzyzzyz|zzz{|{{zz{{zzzz{zzzzzzzyyy{zzz{{zz{{{|zy{yzzzz{{z{{{z|zz{yyzzzzzzyz{{zzzzyyyyyz{{zyz{zzzyzyyyy{yzzyyz{zyzzyxxyxzzzzyyzzyyyyxzzzzz{y{{{yyxyxyzxzzzyzzzz{yyzyxyzzyzyzzzzzyzyyyyyyzzyzyzzzyyyzxzyyzyyz|{zyyzyzzzzz{yyyzzyzyyyyzxzxyyyzzzzyyyyywyzzyzzz{yyzyyxyzxyyyzyzzzzzyyyyyyzxyzyzzz{zzyxyzxxyzzyxxzyzyyxyyyyyzy{y{zyzyzyzyzxz{yzy{zzzxzyzxwyyz{yy{zzzyyyyzzy{yzzy{zzyzzyyyyyyzzyzz{zzzzzyxzyz{zzzyzyzyyyyyzyz{|zzz{zyyyyzzyz{zzzyzz{{zzzyzy{{{z{{z{|yzyzzy{z{{z{z{|{zzyzzzyyzz{zz{z{zyyyzyyz{{{zz{{{zz{zz{zzyzz|{{z{z{zzzz{zz{{{{{|{{zz{zyzz{zzz{|{{zyzz{{z{{z{{{{{zz{yzzyz{z{z{{{{{{zyyzxzyzzzzy{z{zzyzyzzxz{zzz{zzzyyyzyzyzzzzzzzzyyyyyyxyzzyyyz{zyyyyyyyxzzyzzzz{yyyyyyzyzzz{{yzzyyyyzyyyzyyzyyyzzyyyyxzyzy{yyzzzyxyzyyyyyzyzzzzzyyyxyyyx{z{yyzzy{zxxzzxzzzyzzzzzyyyyyyyyyyzzzz{zzzyyxyyyxz{yzyyz{yyyyyzyzyzzzz{yyyyyxyyxyyzyyzyzzyyxzyxyyzyzzzz{yyyyyyyyzyzyzz{{zyyzyyyyy{yzzz{zyyzzzyyyz{yzyzz{zzyyyzyzy{zzzzzzyyyzyyzyz{zz{{zzzyxzyzyyzzz{{y{{yzzyyyyzz{yyyzzzyzzzyyyzzzz{{{zzyzzz{zzzzzz{zzzzzzzzzyyz{y{{z{{{zyzzyzzz{{z{{{{{{zzzzzz{{zzz{zz{zzzzzz{zzzz{z{{zzzzzzzzz{z{{{{z{zyzzzzy|zzzzzz{yzz|zzyzzz{z{{{z{zz{yzzzyyzzzz{{zzzyzzzzyzzzz{{{yzzzyyyyzzzzz{zzzyyxxyzxyxzzyyzzzyyyyyzwxyzzyzzzzzyyyyyzxzyzzy{{zzyyzyyyyyzzzzyzzyyyyyxyzyzyyzyzyyyyxxyyzyzyyy{zzzxzzyxyzxyzxzzyzyyyyyyyyyxzyyzzzzyyyyywyyyyzyyxyzzyyyzyxyz{zzzzyyyyyyxxzyyyyyyz{zyyyyyyyyzyyzyzyzyzyxyyyyzyzyzzzyyzyy{yxyyzzy{zzzxzzyxzxyzzzyzz{zzzyzyyyzzyyz{zzyzyzzzyyyzzzzzzzyyyyyxyyyzzyzz{zyyzyyyyxzyzzzzzz{yyzzyyyzz{yzzz{zzyyzzzyz{z{{{{{yyzzzzzyzyz{zz{zzzyzyyyzy{zz{z{z{zyzz{zzz|{z{{z{{zz{zzz{yz{z{{{zzyzzyzy{z{|{{z{{{zzzzzzz{z{{zz{zzyzz{zzzyzzzz{zzzzyyzyyyz{zz{z{{zyyyzzyyz{zz{{z{zzyyyzzyz{yzzzz{yyyyzyyyzzz{yzzyzxyyxxyyyz{zzzyzyyzyyyyzyzz{zzzzzzyyyzzzzz{zz{zzzyyzyzyyzzyzzyzzzyyyxyyyyzzyxzzzzyyyxzyyy{xyzzzyxzzyyxyyyzzyz{zyyzyxyyyyzzzyzyyzxyyxxzyyyzzxzz{zyyyyzywxyzzyzyzzyyyzyyyyzzzzyz{zzzyyyyzxyzzzyzzyzxyyyyyyy{yyz{zzzyzxyyxyyzzz{z{zyyyxzyzyyzzzyzz{z{yyyxyyzzyz{y{{yxyyyyyy{zzzy{z{zzzyzxzyzzz{{zzzzz{zyyyzz{{{{z{yyyzzzzzyz{zy{{{{yzzyzyzzzzzz{|zzzzzzzzyz{y{|{z{|zzzzyzzyzz{{zz{y{yyzzyzyz{{z{{{{zzzzzyzzzzzz{{{{z{yyz{yz{{{{{{|{{y{zzzyz{zzzz{|z{yyzzzzzyzzzz{|{|{zyzzyyzzz{{zz{z{yzzzzz{zyzzz{|zzzyyzyy{zzzzz{{yy{zyyyzzzzzzyyzzzyyxyxzy{zzyzzzyyyyxyyyy{yzzz{zzzzyyyyy{yy{yx{zzyxyyyzyzzzzzyz{zyzyxyyyyyyyzzzzyyyyyzyyy{zyzzzzzyyyzyyyyy{zyzzyzyzyyyyyzzyyyzy{yyyzzyyyzz{zyzzyyxyyyzxzyzzzyzzzyzyzyxyxyzzzyz{{zyxzyzyyyyyyyyzyyyyyyyyxyyz{z{z{zyzyyzyzzyz{yyz{yzyyzyzzyzzzzy{{yyzyyy{zzzz{zzz{zyzyyyyzzzzzzz{yz{yzzyyyzzz{zz{zzyyzyyyyyzz{zzzzyzzzyyxxy{z{z{zzzyzyzyyzzzz{{{{zzzzzzyzy{zz{{zzzz{z{yyyyz{{zzzz{zzyyyyzyy{zzz{{{zzz{zzyzzzzzz|z{zz{zzzzzz{z{z{{|{yyzyzz{{{{|{{{zzzz{zzxyz{z{{{{{{z{zzz{y{{zz{{y{zzzy{zzyzzz{z{{{zzyyyyzyyzzzzz{{zzxzzzyyzzzzzzy{xyyyyxyyyzyyyxzzyyzyyxyyzyz{zyz{yzxyzyzzzzzyz{zyzyyxzxyz{yzyzzzyyzzxxyyyyyzzzzzzzyyyyyyyyzzyyzxzzyyyzyxyyzzyzyzzyyyyyyxy{yzzyyzzyyzyyxyyyzyyzzzzyyxzxxyxyzyzyzzzyzzzyxyyyyzzyzzyzyxyyxxxyzzzxzzzzyzxyzyyyyyyzzzzyyzyyzyyzzzzyz{yyyyxzxyxzyzzzzzzzyzzxyyyzzyzyzzzzyzyzyyyyzzzzyz{zyzyzyxzzzyzzzz{yyzzyyzyzzz{zz|{zyyzxyyzy{zzzzzzzzyzzzzxzzzzz{z{zyyyzzzxzzyzz{{zyxyyyyyy{zzzzzz{{yzyzzzyz{zz{{{zyyzzzz{yzz{z{{{zyyzzzzzz{{zzy{{{{zzzzzzzz{{{{{{zzzzyzyxz{{{{zz{{{zzzzzzz{{z{z|{{yzyyyzzyz{{z{|{{zzyyzzzyzzyzzyz{yzzzyyzyzyyzyzzyyxzwyxxyyzzx{zz{yyyzxyxyxzzzyzy{zzyyxyxxyzyzzyzzzzzyyyyyyz{zzz{zyyyxyyyyzyyzzzzzyxyyyzxyyzzzyz{yyyyyyzyyxyzzyzzzyyzyxyxxyyzyyyzxyxxyyyyyyzyzzyzyyzyyxyxyyz{yzzzzzyzyyxxxyyyzyyzyzzzxyxyyyzyyzyzzyxyyyzyyxzyzzz{zzxzyyyywyzzzyyzzzyyyyxyyyyyyyzz{zyzzyyyzzyyzyzz{yxyyzyyyzyzzzz{zyxyyyyyxyzzzzyzzyyyyyzyxzyzyzz{zzxxzxzyz{yyzz{{zyyzyyzyyzzzzz{zzyzyyzzzyzzzzzzzzyy{zyy{z{{z{yz{zzzyyyzyzz{zz{{|zzyzz{zzzz{{zz{{{{zyzzzyzz{zzzz{{{zzzzzzyz{zz{zz{zxzzzzyyzz{{zz{{{zxzzyzz{zzz{{{zyyzyyzyzzzzzy{{zzzzzzyyyz{zzzzzzyyzzzyyyy{yyzy{{zyyywxzxzzzzyzzzyyyxyywyyyyz{{z{yyzxzyyyzyzyyzz{yyzyzyyy{zzzyzzzyyxyzyyyyyyzyzz{yyyyyzxyxzyyyzzzyzzxxyyyyzzzz{zzyyyxyzyyyyxyyyzyxyyzyyyyzzzyyxzzyyyxxzxyyyzzzzz{yyyxxxyyyzzyzzyzyyxyyxzx{yzzzz{zyzzyyyyyyzzzzzzzyyzyyzyxzzzzyzyzyyyyyyzyzzzyyzzzzyzyyzyyzzzzzz{zzyyzyyzyzzyzyzz{zxzxzyyyyzzzyzzzzyzyyyyyzy{zz{zzzzzzzyzyz{{zzzz{zy{y{yzzzz{{{{{zyyzyzyzzzzzz{{{{yyyzzxzz{{zz{z{{zzyzzzzz{{z{yz{{zzzyzzyzz{{z{{z{zyzzzzz{z{yz{zzzzzyzyyzzz{{{zzzyzyyyz|yyzzyy{z{z{zyzzzyz{|z{zz{{zyyyzzzyzz{yz{{zzzyzyzzyzzz{z{z{yzyyyxyzzzz{y{yzzyxyyxyyzyzzyz{zzyzzxyzyyzzzzz{{yyzyyyyyzyzzz{zzyyzzxyyyyzzzyzzzzzyxyyyyyy{zzzy{yzzyzyzyzzyyzyyyyyzyyyyyyzzyyzzy{yzxyyyyyz{zyyzzyxzyzyyyzzzz{yzyyyyyxyyzyyzy{{{{yyyzyyxyyzyyyzz{zxyyzyzxyyyyyzzyyzzyzzzzy{zzzzyyyzyzyzzyzzzzzzzzyyyzzyzz{zyzzzzzzzzzzyz{{yzzzzz{{yzyyzzyz{y{yz{{yzzyzyzyy{{zzz{zzz{zxx{zzzzzzz{zzyzzzzyy{{zyzz{zzzzyzyzz{zz|z{{{yzyzyzzzz{zzz{{{yyyz{zyxz{z{{{{z{zzyz{yyzz{zzz|{{zzyyzzzz{z{{{z{zxzzzz{z{{yz{{|zzy{zyyzz{zz{z{zzz{zyzzzzzzzz{{|{yzz{z{{{z{z{{{|{zyzyzzyzzyzz{{{zzzyzzz{yz{{zz{yzzzzyyyyyy{zzzzzyyxxyxyzyxyzyxzyzxyzyyxyyzzzz{zzzxyyyzzzyyyxyyyzyyyzyyyxyzyz{yzzzyyyywyzxyyzyzzzzyxzyyyyyyyzxy{{yyzzyyyyyzzyzzzyyzyzyyyxxzzyyzzyzyxyxyyyyyyzyyyzyyyxyxyxzyy{yzzzyyyyxyyyyyyzzzzzzyyxyyyyyxyzyyzzyxyyyyyyyyyzyzyz{zxzzyyzyzzy{zy{zyyyzzyzyyzzyyzzyyzyzyzyyzyzzzz{{zyzyxzzzyzzzzzzzzxzyzyyyyzzzy{{zyzyyzyxyzzzzzz{zzzyyxzyyzzzzz{zzzzzyyyzy{zz{zz{zyzzyzyzzzyzzz{{zzzyzyyzzz{|{z{{{{yyzzzzyz|zz{{zzzzzzzz{zz{zz{|{{{yyzyzzz{{z{{{{z{zzzyzzyzyz{|{zz{y{yzzy{zzzz{z{|{zzy{zzzzyz{{z{{zzzz{zzzz{z{{{{{yyzyzzzzzy{{zyy{yyzzyyyyy{zyyyyzxyxxyyyyyz{yzyyzyyxyxxyzzzzzz{zzzyyzyzyyyzyyyyz{zyzyzyxzzzzyyyzzzxyyyxyxyzzzxyyyyyyyyyyxyzzzy{yyzxyxyxyyzzzyzzyzzyxyyyxxyxzzzzyzxyyzyxyyyzzyyzzzyyxyyyyzyyzxzyzyzyzyxxxxyzyyyyyyyxxyxzxxyzzyyyzyyzyxyxyyxzyyyzzyzyyyzzyyzzzyyzzzyyyyyyxyzzzzyzy{yyzzyyzyzzzzy{z|yyyyxyzyzz{zzyzzzyyzyyyyyyzzyzz{yzyyzzzyzzzyzzzxzzyyyyzyy|zzzz{{zyzy{zyzyzzz{z{zyzzzzz{zz{zzz{{{zyyzyyzzz{yzz{zzyyzyyzzzzz{z{z{{zy{zyzz{z{z{zzz|zyzzyyyyy{zy{z{z{yzzyzyz{zz{zz{zzyyz{zyzzzzz{{{zzzzz{zyzzzyz{{z{yzzzzzyzzzyzz{{zzzy{zzzyy{zz{zzzyyzyyyxzyzzzz{z{yyyzxxzyx{yyzzzzyzzyywyyyzzzzzzzyzxyyyzyzzzzzz{zzzyyyzyyyzyzzz{zzyxyyyyyzzyzzzzzzyyyyyyyzzyyz{yyzyyzyyzzyzzyyzyyz{yyyyxyyzy{{zzyxxxxyyyyyyzyyyzyyyyxyyxxyyyz{yzzzyyyyxyyyzzyy{{zzyyxyyzyyyzyzzz{yzyxzyzzyyzyz{y{yyxyzyyyzzzzyz{{yyzyzyyzyzzzzz{{zyzyyyzyzzzyzzzzyzzyyyzzzz{zzzzyyzxyyxzzzzzzyz{zzyyzyyyzy{zzz{z{zyxzyxyyyzzzzzz{{xyzzyzyz{zzz{z{zzyzzzzzz{z{zz{{zyzzzyzz{zzz{z{zzzyyyyzy{z{zzz{{{zzzzzz{zz{z{{{zzzzyzzyzyz{zzz|z{z{{yzzzz{zzzz{{zzyzyzyzy{z{{|{{zyyz{yzz{{z{z{z{zzyxzzzyzy{{z{z{zyyyyzxzy{z{zz{{zxzyyyyzzy{zyzyyzxyyxxxyxyzzzyzzzyxxyyzyzzzy{zyz{yyyyxyxzyyyyz{zzyyxyxyyzyyzzyzzz{yyyyyxzyy{zzzyyyyyyzyxzzyxzyzzyyyyzxyyyzzyzzzyyzyyyzxyzyyzyzyyzzxzyxxxyzzy{zzyyyyyxxyyyzzzz{zyyxyxyxyxyy{zy{z{yyxxyyyxzzyy{zzyyyyyyyzyyzzyyzzzyyyyzyyyyyzyyyzzzzyyyzzyzzzzzzzzyzzyyyzyzzyzzzzzzyyzyyyyzzyyyzz{zxzyzyzzzzzy{{zyzyyyyyyy{zzzyzyzzyyy{yyzzzzzzzzzz{zyyzz{zzy{zzzz{{zyyzzyzzzzzz{{zyzzyyzyzz{zyz{zzyyyzzzyy{zzz{|{zzzzz{zyz{{z{{z{zyyz{zzzy{{{{{{zzzzzyyyzz{yz{zz{{yyyzyz{zyz{{{{{{yzyzzzz{z{{zy{{zzzzzzzz{zzz{{{zyzyzxzyyzzyzzz{zyxzyyyyzyzzzzzzyyyyyzyzxyyyzzz{zzyyyxxzzyyzzzyz{yyyxyyzyzzyzzzz{yxyzzyyyzzyyzz{{yxzxxx{zyyzyzzz{yxzzzyxyxzzyyzzzyyyyywyyxzzzzzzyyxyyyyyzyzyyyzzzyzyyyyyxyzzzzzz{xyyyxyyxzyzyyyz{yyyyyzyxyzzzyzzzyyyzxyyyyzyzzzyzyyzyyyzyyzyyyzyzyzyyzyyyzzzzzzzyzyyyzyyzzyzzzzyzyyyyxyzyyzzzz{{zzzzzyyyz{zyz{zz{zyzzzxzzz{zzzzyyyyyyzyyz{zzxzy{{yyyyyzyzzzzzzzz{zzyyzxyzzzz|z{z{zzyzzzzyzyy|z{zzzyzz{yyyzzzzzy{zzzyzzzzz{zzzz{zzy{yzzz{zzzz{{zz{{zyzyzzz{{z{{{{{zyyzyyyzzz{{{|z{{zz{y{yzzz{yzzz{zzz{zzzzz{{{zzz{zyzyyxyyzzzz{z{z{zz{yz{zzzz{zz{z{zyyzzyyzzzzyyyzyyyzyyxyxzyzyzyzyxyyzzyxzzzz{{z{yyzyyyyy{yyz{zzzzyyyyyyzyzyzzzyz{zyyxyyyzyzyzzz{yyyyxyzyzzyyzz{zzyxyyyyzzyyyzyyyyyyyxxxzyyzzyyzzyyyyyyzyzzyzyyzzyzyzyyxyz{yzyzzyzzyyyyyyzzyzxz{yyxyzyxyxyyyyzzzzzzzyyyyxyzzyyzzzyyyyzyzyyyzzzzzzzyyxyyzyz{{zyzyzyyzzyx{yzzzzzyzzyyyyxyzyzyz{yzzzzzzyzyyyyzyzzzzzzzzyyzyy{zzzzy{yzyyzyyyzzz{zzz{{zzzzzzz{zzz{zzz{zzzzzzzyyzz{z{yzzyzzzyzyzz{zz{{zzzzyzzzz{{{{{{z{zzzyzy{zz{{zz{{{{zzzyzzzz{z{{{{zzyz{yzyzzz{z{zz{zzzz{zzzz{{{{{{{zzzy{zzz{z{{zz{|yzyx{yzy{zzzzz||yzyzyzzyzzzzyzyzzyzyzzzyyzzzzyzzyyyxyxzyyyzzzzz{yyyyzyyyzzyzz{zyzzyyxzyyz{zzz{z{yyyzxyyyzyzzxzzyzzyzxyzyzyzzzzyzyxyyyxzyzyzyyzzyzxzyzxzyzyyzzz{yyyzzzyyyyyyzyzz{yyyyxxzyyyyyy{zyyyzyyzxzzyzzyzz{zzyyyyzyyzzyy{{zzyxyyyyxyzzzzzzzzyyxzyyyyzzyz|zzzyyyyyzxy{zzzzzzyyyxzxzxzzzyz{zzzxzzyyzyzzzzz{z{yyzyzyzzzzzz{zz{zyzxzzzyyz{zzzzzzyyyyyzz{z{zzy{yyzyzyzxyzzzzzz{z{zzyyzyz{zzz|{zzyzzyzzyzzzz{zz{{zxzzzyzyzzzzz{z{{yzzzyyy{z{{{{{{z{yyzzz{z|z{zzz{{z{yzzy{{z{z{z{y{zzzzzzzz|z{{{z{yzyz{yzyy{z{y{{{zzzyz|yzz{{z{{z|zzyzzyzyzy{{z{{zzzzzzyyyzz|z{zzzyyxzzyzyy{zzzzyyzyyzyyyyyyzyyzzyzzxyyyxzyzyyzyy{yxyyyyzxyz{yy{zyzzzyzxyyzyyyzyzzzzywxyyxyzzzzzy|zyyxyyyyyzyyyzzyyyyyyxyyzzzyzyzzyyxyyyxyzyyyyyzzyyyyyxyyyyyyyzzzyyzyxyxyyzzyyyzyyyyxyyyxxyzyzzyzyyyyxyzyyzzyzzyyzyxyyyyz{yyzyzyyzyyyyzyyzzzzzzzzzzyxyyyyzzyyz{zzzxyyzyyyzzzzy{z{zyzzyxyyyzyz{zzyzzzyzxyyzz{zzzzyyyzzzzxxz{{zz{zzzyzzyzyyzzzz{zzzyzy{yyyyzzz{zy{zzzzzzyyyyzz{z{{{zzzzzyyyzzyz{z{{zyzy{zxzz{{z{y|z{zzyyzz{{{zz{{zzzy{z{zzz{|yz{z{zzzzzzzzz{yz{zzz{zz{{zzyzzzzz{{{{zy{yzzyzzzzz{z|{zzyyyzzz{z{{zz{zyzyzyzzxyzz{zy{yzzzyzxyyzz{yyzyzyxyyyyyyyzzxyzyyxyyyyxxyzzyyyzzzyyyxxzyxyzyyyz{zzyyyyyyxzyzzzyzzzyzxzxxxyyzzyzz{zyyyyyzyyzzzxzz{zyyxyyxyyyzyzzzzzyyxxzyzzywyyzzyyyyyyyyyyzyzyzzzyyyzyyyyxyzy{zzyzyyyyyyyzzzzzzzzyzyxyxyxyyzyyyzzzxyxyyzzzzzyyy{yzyyzzyzxz{yz{zyzzyyyzyyyyzzyyzyyzyyzyyyzyy{zyzyzyzzyzyyzyzzz{zyzzyyyzyzzzyzzzzzzyzzyzyyyzyzzzy{zzyyyyyy{zyzzyzz{zyyyzyyzyyzzzz{{zzyzzzzzzzyzzzzzzyyzzzyyyzz{{zzzyyzyzzyzzzzz{z{{zz{zzzzzz{{z{z{z{yzzzzzzz{{z{{zz{yz{zyzzy{z{{zz{z{yzzzyz{{{{z{{{zzyz{yzz{z{zz{|{yzzyzyyyz{yz{{{zzzzzyzzzzzzzzzzzyyzxyxzxxzzzyzyzyyxxyxxyyzyyzyyzzyxyyxyyyyzzzyzzyyyxxyyyyzzyzzzzzxyyyyzwzzzzyzzzzzxxxyyzzzzyzzzzyxyxxyyxzyyyyzzzzyzyyxyyyyzyyyyzyyyxyyxxyyyyzz{yxzxyzxyxzyyyyyyyyyxyxyyxxyzyzzzzzxyyxxyyyzyzzz{zyxyyzyzyyzyxzyyyyyxyyyyyyyyyx{zzzyyyxyzzzyyzyz{zzyyyzyxyzzzzyzzzyyzyzxxyyxyzzzzzyyzzyyxyyyzzyz{{yyzyzyyzyzzz{zyzzzyxyzyxy{zzzz{zzyyyyyzyz{yzzzzzyzyzyyyyzzzzy|zzzzzyzyyz{zy{zz|zyyyzzyyzz{{{z{{{zyyyzyyz{zzz{{{z{zzyzzzzz{zzzz{yzyzzzyzzz|zzzz{{zzz{yzzzz{zz{{zzzyzyzz{z{zzz{{||{zyzzzzz{zzzz{z{zyzyzyzyyzzzzzz{yzyz{zzyyzzyzz{yyyzyyyxxyyzzyyyzxxywyxyyyyyyzzzzyzzyyxyxyzzyyz{zyyxyyyyyzyy{yz{zyyzyyyyyyzz{zzzzyzzyyxyyzzzzzyyyyyyxxyyxzyzxzyzyyzxxyyyyyyzyyyyzxyyxwyyyyzzzyyyzyxyyyyxxyyyzyzzyyxxxxyxyyzyzyzzzyxzyxxyxyzzzyx{yzyyyyxyyyyyyy{yzyzyyyyyyyzyyyzzyxyzyzyyxyyzyzyzzzyyyxyxxzyzyz{zzyyzyyyxz{yzzzzzzyzyyyxyyzyzyyzyzyyyyyyxxyz{yzzzzyyyzxyyyzzzzyyzzzyyyyzyyzzyyzzzzzzzyyyyyzzzzz{z{yyyyzzzzzz{zzz{{zzyzzyyxzzz{{{zy{yyzyzzzzzzzz{{zzyzyyzzzz{zz{zyz{zzzzzzzyzz{z{zzzyzzzyzzzyz{zz{z{y{yzzyzz{yzz{|{{y{y{zy{zzzzz{{zyyyzyyyyz{zzz{{{zzyzzyyyyz|{yz{zyyyyyzyyyzyzyzyzxyyyyxyyyyyyzy{yyyyyyxyyyzyyzyyzyyxyyyyxzyyyzzzzzyyyyzyyxyzzyzzzzzzyyyyyyzzzyzz{yyxxzzyxyzzzyy{yyxzxxyxyxy{zzzzyyyyyyyyxzzzyxzzzxyyyyxxyyzyyyzyzzyxyxxxxzyzyyzzyyyy{xyyyxzzyzyyzyzyyzyyyxyyyyzzzyyyzzyxyyzyyyzyzyxyyzzzxyzzyzzzyyyzyxyxyzzzyzzz{zxyyyxxzzzz{yz{zyyzyyzyyzy{zzzyyyyyyyyyyxzzz{z{zzxzyzyyyz{zzzzzzzzyyyzyyyzzyzzyzzzyzyyyzyzzz{{zzzyzzzz{yyzz{zzzzy{zyxxyyzzzz{{zzzyyxyyzzy{{z{zzzzzyyz{zzyzzzzzz{zyzzzzz{z{z{zzz{zyzzyyzz{{z{zzzy{yzzzzyyzzzzz{{zzzzzyzyz{yy{{zz{zzzyyyzyyzz|z{{z{zyxyyzyxzzzz|zzzzyxyzyyz{zyyzzzxyzxyywzzyzyyyzzyzxyyyyxzzzzzzzyyyxyyzyx{yyyy{zzzxyyyyyyyyzzzy{zyyxxxyxx{yyyyzzyzyyxyzyyyyzyzzyzzyzyyyxyzzzyyyyyyxyyyzyyyyyyzyyyyyzyyyyyzzyzyyyyxyyyyxxzyzyzyyzzzyzyyywxxyzzyzyzzzyzxyyyxzyyzzzzyyyxyyyyzzyyz{yyyxyyyyyxzyyzyy{zyyxyzxxyz{zyzzzzyxzyyxyzyzzzzzzzyyzzzyyyzzzzzzzzz{zyzxyzyz{zzz{zyyyxzyzyzzzzzyy{zyzzyzzzzzzyz{yzyyzzzy{yzzzzzzzzyzyyyyzy{zyzzyzzzzz{yyzyzz{z{z{zzzyyyxzzz{zzzz{{zzyzyzyzzy{zzzzzzzyzxyzzz|{{zz{{zy{zzyyzz{z{y{{{zzyzyyzy{zzzzzz{{zyzzzzzzz{zzz{{yzyzzyzyz{yzz{zzzzzzzyyyy{{{zzzyzyzyzyyyzyyz{zyzyzyyyxxxyyyyzzzzzyxzxyyyyzyzzzzzzyzwwyyyzzyyzzzzzzyyyyxyyyzzyyzzyzxyxxzxzzzzyzzzyyyyyyxxzyzyz{zyyyyyyyyzzzzxyzzzyyyxxxxzyyxzyy{{wxyyyyyxyyzzyyyzyyyyxxxyyyzzzyyyxyyxxyyxy{zzzzzzyyyyyyxyyyyyyzzyzyxyyxyyyzyyzzzzzyyyzzyxyyzyyz{yyyzyyxyyzyzzyzz{yz{zyyzyyyyzyzy{yyyyzyxyyzzzyzzzyyyxxyyxzz{yzzyyyyyxyyzyz{zzzz{zzyzxzyxzzzzyyz{{yyzzzyzyz{z{{{zzyzzyzzzz{zz{yzz{yzyyzyyyzzzz{z{{zxzz{zyyz{z{z{{|zyzzz{{yy{z{{{{z{zzzzzzyz{{{|zz{zyyzyzzzz{z|yzz{{{zzzzzzzz{zzzz{zzzyzyz{zz{{{zz{zzzyxzzyz{zz{z{zzzyzzzyzzzz{yzzzzyzyyyyyzzyyzzyyzzzyxzxxyzzy{zzyyxyyyyxyzzyxzz{zyyzzzyyyzyzzz{zzyyyzyyyyyzyzzy{yyyxyyxyxyzzyyzyzyzxxyyyyyzyzzzzzyzyxyzyxzzzyzyzzyzyyyyxxzyzzyyzzxxyyyxyxyzzyyz{yyyxyxyxyyz{zzyyzyyyxyyyyzyzzyyz{zzyzxxxyzyzyxzz{zyyxyzyyxzyyyz{zyyzxyzzxzzzyzz{zyyzzzyzzyyyzy{yzzyzyyyzyyzzzzzz{zyzyyyyzzz{zzz{zzzzzzyzyy{zzzzzzzyzxyyzyzzzyz{|zzyzyzyyyyzzzz{y{zyyzzyyyz{{z{{{yzxyzyx{zzzzz{{{zzyyyyyzzzz{z{zyzzzzyyzzy{{zzyz{zy{zzz{{zzzz{z{zzzzzyzzyzz{z{{y{{{zzzzyzzyzzzz{zzzyzzzzzzzyzzyzzzzz{yzzzzzzz{zz{z{z{xzyyzzzzzyzz{yzzzzzyyzzxzz{zzzzyyyyyxzy{yyyyz{yxxyxyyzzzyyyzzyyxyyxyyyz{zyzzzyyyxyxzxzzyyz{zz{yyxyzyyzyyzyz{yzyyyyy{yyzzyzzzzxyyzyyzyyzyzyyzyyyxyyyyxzz{yyzzzyxzyyzyyzyyyzzy{xzzxyywyzzyyyz{yxxxxyzyzzxzz{zzzzzzyxxxxyzzyyyzzzyyxyyxxyxyyyzyzyzyyyzyzyyyyy{yyzyyzxyzyyzzzyzyzzyzzxyyyzyzzyyyzyxyzyyyyyzzzzz{zzzzzzy{{yzzzzzyzzyyyyzzyyyyzz{yzyyyzyyyyz{zzyzzzyyzyyyyxzzzyyz{zyzyyzyyyz{zz{{{zyyyyyzzzyz{{z{z{xzzyyyyzz{{zz{{z{yyzyyyyyzz{|z{zyzzzzzzzzzz{{{{{{yyzy{zyy{z{{z{{{zzzyzz{z{zzyz{zzyyz{yyy{zzz{{{{zzzz{{zzyz{{zz{{zzzz{zzzzzzzzzzz{yzyzxyzzzz{z{zyyyzyyyyxzyzy{yyxzxxyyxyyyzyyzyzyyyyyxzyyyyzyz{{zyyyxyzyyyyzy{zzzyyxzyyyxxzzzzyy{yyyxxyzyyyz{yzyzzyzyyxxxyzzyzzyzyyyyyyyyxzyyyzzyzyyyyyxxyyzzyyzzyyxxxxxzyyyzyzzyyyyzyxxyyyzzzz{zyyyxyyxwyyyzyzyyyyyyyxyyzyyyzyzzyyyyxyyyyzyyzyzzxxyyyxyxzyz{zz{zzzyyyyzyzzzyyzzyyyzzyyyzzzzzzzz{yyzzyxzyzyzz{zzzyzyyzyyyzzyz{zzzzyzzzzyyyy{yz{{zyyxzyyyzyyxyz{zzyzzyyzzy{z{{zzz{zz{zyzzyz{zzzzz{zz{yyyzyzz{z{zzzzyzzyyzzz{zzzz{zzyzyzzyy{zzzzzzzzyzzyzzyy|z{{zz{{zz{zyzz{z{yzz{zzzzzzzy{z|zy{{{{yzyz{zyzyzy{zz{zzzzyzyzyzzy{z{z{{zzzzyyzz{zzz{{{zzzyxxyyyzyzzyyzyyxyxyyxxyzzzyzzzyyxyyyyyy{{z{{zzxyyzyyyyyyxyzzzyyzzyyyxyzzzzzzzyzyyyxyyzzzzyzxzzyyyyyyyyzyxyzzyyyxxzzyyyyzyyzzyzyzyxzyyyyyzzyzzzxyyyyyyzyzzyyyyyxxyyyyyxzzzyyzzyyyyyyyyzyzyzyzzyxxzyxyyzyzyzzzyyzxyyyzxzzzyzzzyyzyyyyyyyyyyyzzzzyyxxxyyyzzyyzzzyyzzyyyyyyyzyzzzzzzyzyyyzzzzz{zzyzzyzy{yzzz{z{yzzyzyyyyyzz{yzzzzzyzyyzzyzzzyzzzz{zyyzyxzzzz{yzzzyzzyyyzyzyzzzz{{zzzzzyyzz{zyzzzzyyyzzzzyzzzzzy{{zzy{zyzzzzzz{{{{{yy{{yzyzz{z{zz{zyz{zyzzz{zz{{{yzyyzz{yz{{{{{{{{{{zyzzz{zzzzz{z{zzzzyyyz{{zzz{{zzzyyyzxyzyy{{zz{zyyyyyyyyz{zxzyyyyyxyyzxyzyxzzzzyyxyyyyyyyyzyzz{yyxzyxyyyxyy{zzzzzyyzyyxyyzzxyyzyyyxxyzyxzyzyzyzzxyyxxyyyzzyxzzyyyxyyyxxyyzyyyxzyyyxyzyyyyyyyyzyzyxyyxyxyxyyyyzyxzxxxyyxxyyyzxz{yxyyyyxxyyyyyyzzzxxyyxyxwyyyyzzz{yxxyyzxyyyyyyzyyyyzzyyxyyyyyzzyyyyzzzyyz{zzzzzzzxxyyyyyzzzzzzzzzyzyyyyyzyyzyz{yzxzyzzyyyzyyz{{zzzyyzyyzz{zyyzzzzzyyzyxyyzzzzyyzzzzyzyzyz{zzzzzyyyzzyyz{zzz{{z{|yzyzyyzy{zzzzzzzyyyxzyzyzz{z{{zzzzzyz{z{zzyz{zzz{zyzyyyzzz{zz{z{zyxzzz{zyzz{y{zz{zzyzyzzzzzyzz{zyyzzyzy{zz{zzz{zyzyzyzyyyz{z{zz{zyzyyyxyzzzzzzzzyyzyyyyxzzzyzzyzxyyyyyzxy{zyxyyyyyxyyyyyxzyzyyyzyyyyxyzyyzzyzzzyyyyyyyyyzzyzyzzzyywxxxzwyy{yyzyzzyyyyyzyzyyzzz{zzyyyyyyzyyyyyyyyyyyyxzyyyyyyyyyzyxyyxxxxzyyyzyzyyyyxyyxyyzyyzzzzyyyyxyxxzzyzyyyzyxywyxyxyyyyyyyzyyxxyxyyyyyyyzzzyxyzxxwzyzzzyz{zzyxyzyyyzzzzzzzzzzyxxxzyzzyzzzy{yyyyyyxyzz{zzzzzyyzyywyyzz{yyz{zyyzzyyxyz{zyyz{zzyxzyyyz{zyzz{yzzzyyyyyzzzyz{z{zyzzzyyzzzzzzz{y{zyyzyyzzz{z{zz{zzzzzzyzxz{z{{{zzzzzyzyzyy{zzz{{z{zyyzzzyzzz{z{{{zzzzyzzzzzzzz{zzzyxzzzyyzzzz{{{zzyyyzyzzzzy{{{yzyzyxyzyyzyzz{{zzzyyzyyzzzyzzzzzzyxyyxyyxzzzy{zyzyxxyyyywxyzxzzxzzxyyxxxyyzzzzzyyyxyyyxyxyyyzzyyyyyzyxxxxzzyzyzzzyxxxyxyyyyzyzzzzxxxxyyyxyzzyzyyyzyyxyxxxyxzxzxyxyyyxxyyyyyzyyyyzyxyyxxzyyyyyzyzyyyxxyyxzyyzyzzzyyyyxxxxyzyyzyxzyxyxzyyxyyzzzyyyyxxyyxyyxyyxzyzzyzyyyyyxyzyzzyzzzyyyyzwxzxzzzyzyzyzyyxyzxyyyzyzz{yyzyyyyzzzyyz{zzzxyxzxyyyzzyzyzzyxyyyyyyzzzzyyzzyyyyxyxzyzzxzyzz{yxy{yyzyz{yzyyzyzzzzyzzyzyyzz{zzyyyyyzy{z{zzzyyzyyzyxyyyz{zz{z{zyzyyyzyy{zyzzzzzzzyxzyzyzzzzz{zyz{zxyyzz{zzy{z{zyyyyyyzzyzzzz{zzyzzzyzyzzz{{{z{z{zyxyzyyzy{z{{zzyyyyyxyyzyyyyzxzxyxxyxyyzzzzzyzzyyxyyyyzzzzyzyzxyyzyxxyyzyyyzyzyyxxxyyxyyzyzzzyzwxyyxzxyzzzzzzzyyyxxxxxxxyxzyyyxyzyxxyxyyyzyzyzyxyxyyxyzzzyyzzzyyyyxyyyzyzyyy{yyyyxyxyxyyyzzyzyxyxxxyxyyyzyyzyyywyxxyxzyxyzy{z{yyyzxyyxxyyzyyyyyyzxxyyxyzxzyzyzxyyyyyyzyzyzzy{yyxyyyyyyyyzzyyz{zzzyyxyyyzzzzz{zyxzyyzzzyzzzzzyzxyyyyxzyy{zyz{yzzxyyyyyyzyzzzy{yzyyyzxyy{zzzzzz{zyxz{zyyyzyzzxzzyzyyyyzzzzz{zz{zyzyyyyyyyz{{zzz{{zyz{yy{zzzz{zz{zzzyzzzzzyz{z{{{zyzyyzyzz{zzzz{{{zyzzyzzz{z{zz{zzyyzzzzzzzzyz{z{zyzzyxyz{{{yzzzzzyzyzyzyzzzzz{{zyyyyyyyyzzz{zzzyyyyyyyzyzzzzzzyzyyyyyyyxxzzzzyyyyyyyyyyyzyyzz{zyyyyzyyzyyzyxz{zzzyyzzyyyyyyzyyyzyyyyxxyxzyzyyyy{yxzxyzxxyzzzyyyzzxyyyxyyzxzzxzzyyyyxyyxyzzzyzzzyyxyyzyyx{zzzzz{yyyyyxyyzzyzzzz{zyzywxyyyyzyzyyzzyzyyyyxyyzzyyyyxyyyy{yyyyzzyyyzzyyzxyyzyy{zzz{{zyzyyyyyyy{zyyzzzzyzyyyyyyzzzzz{zyzyyyzyyzzzzzz{{zyzzzyzxzzzzz{zzyzyyyzyyzz{zzzzzzzyzzyzy{zzyyz{yy{yzzyzyzyz{{{{zz{zzzzzyzzz{z{{{zyyyyyyyyz{yzzzzzyzzzyyyz{zzz{||zzzyzz{y{zzzz{{{zzyzzzz{z{{zzz{{zz{yyzzyz{{z{{z{{{zzzxzzyzzzz{|{{zyyyyyzz{z{{{z{zzzzyyzzz{{{zz{{{zzzyyzyzz{yz{yzyzyyyyyzyyzzyyxzxyyyxyxzy{yyzyzzzxxyyyzy{zyzzz{zzyyxyyyxzyzzyyzzzxzyyyyyyzzyxyz{yyxyyxzyzyyzz{zzyyxyyyyxxzyyyzzyyyyyxxxyyyxzy{yzyyzxzyyyzyyyzyyzyyyxyyxyyyyxzyyyzyxxyzxyyyzyyyz{xyyyyyyxyzzzzyzyzyxyyyxyyyyyyzyy{zyxyyxyy{yyzyyzzxzyyzxxzyzyyyzzyyyxyyyyyzyzz{z{yyyxyyyxzzyzyzz{yyzyyyyyzzzyz{z{zyzyyxyyy{zyzzzzyyyxyzyyz{{zzy{zzzxzyyyzzyzzx{zzzyzxzzyz{z{{{{zzyzzzzyyzzzzzz{{{zzyy{yyy{zzyz{yzzyyzyzyz{zzz{z{{{zzyzzzzzzz|z{zzzyyzy{yzz{zz{|{{zyzzyzzzzzz{z{{zzzzzzyyzz{{zz{{zzzzzzy{zz{zzzz{{zyzzzyzyz{yzyzzzzzyzyzyzzzyzyzzyyyzyxyyzyzzzyzyyxxxxywxxyzzyyyzzyyxxyyyyyyzyxzzyyyyxxxyyyyzyzzyzzyxyxxxzzzyyyyzzzyyxxxyxyzzyyyyzzwyxyyyyxyyyyzyyxzxyyxyyyyzzxyzyyxyxyzzyyyyyyzyxxxxxxyyyxzyyzyyyyyxyxxyxyzyyyyxzyxxxxyxyyyzyyyzyyxxxyyyxxyzyyyzyzxyxyyyxx{y{xyzzyyxyxyxyyyzxyyyzzyyzyyyyzyzyyy{zxyyyyxyyzzyxyzyyyyzyyyyyzzzz{yzzzyzyzyyxzzzzyyzzyxyxzyzyyyzyzz{yzyyxyxyyy{zzyzz{yzyy{yyyzzzzzzyyyzyzyyzyyzy{z{{{zzyyyyyyyzyyzzzzzyzyyzzyz{z{zzzzzyzyxz{yyzyzyzy{z{zzyyyyz{zzy{z{{yyzyzzyy{zz{{zz{yyyzyyzzzzz{zz{zzy{yyyzyzzzz{zzyyyyzzyyy{zzzy{{zyyxyyyyyzz{yzz{zzyyzyyzzyyyyzzyxyxyyyyxxzyyyyz{yyyxxxy{zyyzzxzyzyxzyxyxyyyyyzzzzyyyxxyxyzyzyy{{zyyxxyyyyzzyzzyzyxyyyyxxyzzxxxzzzxyyyyyxyzzyyyyyyyzxyzyyzyxyyyzyxxyyyyxxyyyyyzzxyzyyyyxxzyyyzzyzxyzyxxyxzyzyyzzzyyyyyxxxzzzyzzyzyyyxzyxyyzyyxzzzyyzxyyxxyyzyyzyyzyyyyzyyyyyzyz{zyyxyxyyyyzyxzzz{yzyyxyyzyzzzzzyyyyzyxyyzyzyzz{z{yyyzzyzyzzzzzz|zyyyyyxxzzzzy{yz{zyyyzx{yyzzzzzz{yyzzyyyy{zzzz{{|yzzz{yyyyz{z{z{z{yzz{yzyz{zzz{zzzzyzzzzzzz{{z{z{zy{zyyyzzzzzzz{{{yyzzyyzzz{zz{zzzzzzzzyz{zzz{{zz{zzzz{zz{yz{yyzzz{yyyzyyzzzyzzz{zzyzyyyyzzzyyzzzxxzyyyyyyyzyzyyzyxxyyxxyzyzyzzzzyyxzzxyxyzzzzz{zyyyxyxyxzzyxzzz{yxzyyyxxzxyzyyzyzyzxxwxyzyzzyzzzyyxxyyyxyyzyy{yzyyyxxyyzyyyyyzzzyzwxyyxyyyzyyyyyyyxxyyyyxyzyzzyyyxyxyyxyzzzyxzzzyyxxxyxxyzyyyy{yxxyyxxyyyyyyxyz{yxyyyxyyyzyzyzzzyyyxyxwxyzyyyyzzzzyxzyyyxzzy{zyzyxyxyyzyzyyzzzz{yxyyxzyyxyzz{zzyyxzzyxyyyz{zzzzzz{yyyyyxzzzzxzz{yxyyzzyxyzzzzzzzyzyy{yyyzyz{zzzzyzzyzzzxyyy{zz{{yyyyyyyyz{zz{{zzzyzzzyzyzyz{{{zzzzzyzyyzzzy{z{yz{yzzyzzyzzzzz{zzzyzzyyzy{z{z{zzz{zzzyzyzz{yzz{{z{yyyyzzz{zzz{zzzzyyyzy{yzzy{zz{zzzyzyzxxyzz{yzzzzyyzyxwxyzyzzyx{yyyxxxyxyzzyyzzzyyxyxxyyzyyyzzzzyxxxyyyyzyzz{yzyzyzyyzxyyyzzyyyzyyxwxxyxyzzzyxzyyxyxyyyxyyzyzz{zyyzxyyxyzzzzyyyyzyyxyyzxzyzyyyzzyyxxxyyxzzyyyyyyyywxxyxyzyzzyyyzyyyyxyxxxzzzzzzzyyyyyyyyxyyyyyzyyzyyxxyxyzyyyzzzyyyyxyyxyzzzzz{yyyzyzyzyyzyyz{zzzxyzyxyyyyzy{{zzyzyyxxxyzzzzzzzzyyyyyyyxy{zyzzyyxzzyyyx{z{yyyyzyyzyyyyyyzzzzz{yyyyyzzyzzyzz|zz{yy{zyzyzyyyyzz{{{yzyzyyyyzzzzzzzzzyyzyyzyz{zyzz{yzyzy{zzy{{zzzzz|zxyzxzyzz{zz|{z{zyzzzzzyyzzz{{{{{yyyzzzyzzy{zz|zyyzyyyyzz|zzzyzzyzzyyyyyyyzzz{{zzzzzxyyxxzzzyy{zzyzyyyzyyzzyzzzyyyxzyyxyyyzyzzzzxxxyyxxxyyzyzyzzyyxwyxzyyyyzzyzyyxyyyyxyyyzzyzy{yyyyyxyxyyyzzzzzxxyyzywyyzzzyyyyyxzxxxyxyyzyyyzyxxxyxyyxyzyyyzzyxyyxyyyxyxzzzzzyxyyyxywyyyzyyyzyxyzxyyyyxyyyyxzzyyxyyxyyxzzyxzxyyxxyxyyyyzyyzzyyyyxxyzyyzzzyyzzyzyyyyxyzyzzyzyyzyyzyyxyyyyzyzzzzyyyxxyxyzyzyzy{zzyzyxyyyyzzzzzzzyxyzyyyyzyyyyzzzyyyyzyyyzyyyyzyzyzyyyzyyyzzz{{{zyxyyzxzyzzyzyzzyyxyyyxyyzzzzz{yzyyxzzyyzz{{zyzyzzy{zzyzzyzzzz{z{zzxyyzzyy{z{|zzzzy{zzzzy{y{{{{{{zyyzzyzyxzz{zzz{zzyy{yyyzzyzz{{{zzyyyzyyzzzzzz{yyzxyyzzyzzyzzyzzzzyyyxyzyyzzzyzzyyyxxyyyyyyyzxzzyyxyyyxxzzyxzyzzyzxxxyyyzxzyzy{zyyyxxyxxyzzyyzzzyyzyyyyyyzzyyzyzzyyyyyyyxyyyzzzzyyyyxyyyzyyyyyyzxxxyxyyyyyzyzzxyyxyxyxyyyxyyzzzyyzyxwyxxyyyzyyyyyyyxyxxxyzyyyzzzzyyyyyxyyxyzyyzzxyxxxyyxyzyyyzyyyyyxyyyyyzyzyzzzzyxyzyxyyyyzxzzzyyzyyzzxzy{zyzzzyyyyyzzyzzzzzzzyyyzyyyzyxzyzzyzzyyzyyyyyzzyyzyzyyzyzyyxyzzyyzzzzxyyxzzzyyzz{z{zyyyyyzzzyzyy{zzzzyy{zzxyzzz{yy{zzzyzzzz{y{zyyzz{zyzzzyyzyzz{yz{z{zyzzzzyyz{y{zz{{zzzzzzzyzzzz{{zz{yzyzzyyzzzyzz{zz{yyzyz{{zz{z{{zzzzyzyy{zzzzy{zzzzyyyyyyy{y{yz{zzyyyyyzzzz|yzyyyyxyyyyyxyyzyyyyzyxxyxyyyyyyzyzzyyyxxyxyyyxyyzzyyyyyyyyxxzyyzyyyzzyyyyyyxzxyyyyzzyyyxyxxx{yyyzzyxxyyxyyzxxyzzyzyxyyxyyxxxyzzyyzzyyxxxyxxxyzyxyyzzyzyyxxxyxyzyyy{yyyyyxxxxxzzyyzyzxywxyxxxyyyyxyyyyzxyxyxyxyyyyzzyxxyxyyxyyzxyzyzzyyyxyxyyyyzzxyyzzyyyxyyyzyzzyzyyyzxyyxyyzyy{yyzyzzyxyxxxxyyzyyzyyyzxyxyxyyzyzzzzyyyyzyzyy{zzzzyzxyyyyyyyyyzzz{yzyyyyyyyyzzyzzz{{yyzxzxxz{zzzzz{zzzzyyzzzz{yz{y{zzxyyx{zyzzyzzy{zzz{zyyzyzyzzzz{yzyzzyyyy{zzzzz{zzyyzzzzyzyzz{zyzzzyyzyzyzyz{y{z|zyzyyzyyyyy{yyzzzyyyyyzyzyyzyyzyzyyyxyyxzzyzyyyyyxyywyyxyyyyyy{yzxxxxwxyyxyzzyxzxyyyyyyyyzzyyzz{zyzyyyxxyyyyyzzyyyyyxyyxxyyzyyyzyyyxxyywyyyyyzzyzyyxxyxyyy{xyyyyzxyyyxxyyxyyxyyzzyyxxxyxyyzyyyzxzxxxxywyyxyyyyzzzyxyxyyxyzyyzyzzxyxzxxxyyzzzyzyzyyxxzyxxyyyyyzzzyyxyxyywzyyxy{zyyyyxyxxyxyyyzyzzyyyxxyzxyzzyzyyyyyyyyzyyyzyyyzzzyzyyzxyyxzzzzzyyzzxxyyxyyzzzyyzyyzzwyyxzzyxyyzzyzzxxxyyyyzz{z{zyyyyyzyzyzzzzz{zz{yzyzyyyzyy{zyzzzyzyzzyzzzyzzzzzzz{yz{zyzzzyyz{z{zzyyzyyy{{zzz{zzzyzyyyyzzz{zzzzzyyzzyyyyyyzzyz{zzyy{yzzyyzzzzy{zyyxyzzyzzyyyz{yyzyxyzyyzzzzyz{yyyzxzyyyyyyzzyzyzxyyyyxxyyzyyyyyyxyyyyxxzyyyzyzyyyyxxyyyyyyyzzzzyyyzyyyyzyyyyzzyyzzyxyxwyyyzyzzzxyyxzyyxxzyyyzzyzyzyyzyxxyzywyzyyxzyyyxxyyzzyzzyxxxyxyxxxyzxxyyzyxyzxyyxyzzxyzzyyyzyxyyzyzyyyyzzyyyxxyyyzzyyyyyyxyyyxyyyyyzxyzzzyyyyxxyyzxzzzzyzzyxyxyxyyyyyyyzzyyzyyxyyyyyyy{zzyyyxyyyyzzyzz{{zzyzyyyxyzzyyyzyyyyzzyyyzyzyyyzzzyyzyxzyzyzzzy{zzzzyyzzzyyzz{z{{{yzzzyyzyzzzzzzz{zzyzyyyyx{zzyyzz{yyzzzyz|{{zz|{zzzyzyzzzz{zzzzz{zyyzyyyzz{zz{z{yzyzzxzzzzz{z{{zz{yzzyzyyyzzzzzz{zyzzzzzz{zz{z{{{yyzzyzzyyzzz{{{{zzyyxyyyzzyzzzzzzyyzzxxxzzzy{zyyyywyxxzxyyyyyyzzxyyyxxyyyyyyyzzzyxyxyxwxyyyzyzzxyzzyyyyzyyzyyyzyxyyxxyxyxyyyzzyzzyyxxyyzyzyxzyzyyyyyyyyyyyyzyy{yyyxyyyyyyyyyyzyyyxzyzyxxxyyzyyzxyzxyxxxyywyxzyzy{yyxyyxyyzyzzyzyyyyzxxyxxyyyzyzyxxyxyxxxyzxzyzzyyyyyyyyxzzzyyyzxyxzyyyyyyzzyzxzzyx{xyyyyyzzzzzyzyyyyyx{zyyyyyzyzxyzyyxxyzz{zzzyyyyyyyyyyyzyyyy{zyxyyyxyyzzzzyz{yyyyyyyzyzy{zzzzzyyyyzyzyz{zz{{{zyyyyxyyyyzzz{zzzzyyyzxzyz{{y{z{{zyzzzzyyzzz{{z{{zzzyyyyyz{{yyzzzzzzzyzyzzyzzyz{zzyzzzyzzyzyzzzzzzzzyyzzyzzz{zyz{zyyxyyzyzzzyz{{zyxzyyyyyxyyzzzzyyyzzxxyyzzyzzyyyxyxyyxzxzyyyxyzyyxyyyxyxyyyxzyzzyxyyxyyxzyzyyzzxyyyxxyyzyyxzyxzyxyzxxxxwzyyyzzyyyyyxyyxxzyzxyzzyzxyxyxyyyyyyy|yxzxyxyyxxyyyxyzzyyzyxyxyxyz{yy{yyyyxxxyyyyyxyyyyyyyyyyyxxyyyzzyzyyyyxyxxyyyzyzzzyyyxxyxyyyzyyzzzyzyyxyxxxyyyyzz{{yyyxyxyyzzyyyyyzzzyxxyyyzzyzyz{zzyyyyyyyzzyzzzzzzyzyyyzyzzzzy{z{zyzyyyzxzyyzyyyzyyxzyzzx{z{yyz{zzyyyyyyyzzzz{{zzzyyyzzzzz{z{z{zzzyzzzyxz{y{z{z{yzzzzyxyy{z{yzzz{yyzyzzyyz{zzzz{z{yyyyzyyyzzz{zz{{zzzzy{zzzz{zz{zzyzzyyzz{xy{zzzzz{zyzzzz{zzzzy{{yyyxyzzzzzyy{zz{{zzzyyzxyzzzyyzzzyxyyxyxyzyzyzyyyxyyxxyyyyxxzxyyyxyyyyxxyyzyyzzzyyyyxzyyyzzyzzzyyyzyyyyxyyzzyxyyzyyyxxxyyyzzyyxyxyyxyxyxyzzxxzzyzyxyxxwxzyyxyyxyxyxyyyxyyyxzxy{zyxyxyxxxzyzzyzzxyxxyyxxxyyyzyyzyxzyzxyxyyyyxyyyyxyxyyxyxyyyzyyyyyyyxxyxxxyxyy{zyzyyyzyxxyzyyyz{yxxyyyyyyyzyyzzzzyyyyyxxzzyyyyzyzyzyyxyyxyyzyyyzzzzyzyxyxyzzzyzyyyyxyxyxxyyzzzz{zyyyyyxyxzzzzyyyzyxzyyyyyz{zzy{z{yzzyyyyzzzzz{z{zyzyyyyyyzzzyzzzzyyyyzz{xz{zyzy{|yy{zyyzyzzzyz{zzzyyyyyyzz{zzzzzyzzyzyyyyyyzzz{{zzyyyyzyzxzyz{zz{zyzyzyxyzzyyzzzzzyyyyxzyzzyzyz{zyyzyyyyyzyzzzzyzzxzxzyyzzzzyyyyyxyxyyxyyyzzyzzz{zxxxxyyxzyyyyyyzyyyxyyyyyyzyzzzzyyxyyyyz{yyzyzyzzyyyxxxwzyyzzyyzxyyyxyxxxzyzzzzxyxyyyxxyzyyyxzzyzyyxyxxzyxyyzyzyyywyyywzzyyyyzzyyxxxxyxyyyzyzyyyzyyyxyxxxyzyyzyzyyxxyxyyyyyzyyyzyyyxxxxxxyyyyzyyyxyyyyyxyyxzyzyzzyzyywyyzzyyyzzzzyyyyyyyyzyyyzzzxyzyyxyyzyzzyz{{yxyyyyyyyzyzzzzyzyyyyzyyzyzyyzzzzyyzxxyyzzzzzzyz{yyyzzyzzzzzzzzyyxzzyyyyzzyzzzzzzyyzyyxzzz{z{zzz{zyyzyzyz{{zz{z{yyyyzxzzzzzzzzz{{zzzyzyyz{{{{z{zzyzzyzyzyzy{z{{zzzzzzyyyzyz{zzz|z{zzzyzz{yy{{zzzyzyyyyzxxyzzyzzzyyyyyzyxzzyzyyzyzyzxyzxyxyzzyyyzxyxxxxxxyzyyyzyzyyxxxyyyyyyyyyzzyyyxyyxxyyzyzzyyxyxyyxyyzzyyyzz{zxyxxyxyzyyyyzyyyyyyxyzyxyyyyzzyyxyyyyxxzyyyyyyyzxyxyyxyyyxyyyyyxxxyxxyxyyyyzyyyyxxyyyxyzyyyyzyzyyyxyxxxyyyyyyyzyxxxyyyxxyyyyyyzyyxyyyyyxyyzyzyyyyyxyzxyzzyyzzzyyyzyyyyxxzyz{zyzyyyyyxyyyyyyzzzzzyxxzxyyxz{zyyyzzyzyyxyyyy{zzzyyyyxyxyxyzzyzxyyzzyyxyyyxyzzyyzzzyyxzzzyyyyzzzz{yyzyyzzzyzyzzy{zzzyyyyxzyzzz{zzzzzxzzyyyyzzyyzz{{yzzxyyzyyzzzz{zzzzwzyyzyzzzzzz{{zyzyzyzzzzzxy{{zzzyyyzyzzzyxzz{zzyzyzyzyzzzz{{{zzyzyyyzzyyzz{{{zzzyyyyzyyy{zyz{y{xyxxxyxyyzzxyyzxyyxxyxxyyyzyyzyyyyxxyxxyzy{yyzyzyxyxzxyyzyy{yzzyyxxyyzxyzzzyz{zyzyxyyxxyxzyyzyzyyyyxyyxzzyyzzzyyxxyxxyyzxyxxyyzxyyyxyxyyxzyyzxzxxyyyxyyyyyyzxyyyyxyxxxxzyyyzzzzyzzwxyyzyzzyyyzyyxyyzxyxzyyyzxyyyxxxxyyxxzzyyzxzyyyyxzyxyzyyyzyyyyxyyyyxyyyzyzyzyyyzxyzyzzzyzzz{yzyyyyyyxzzzyyzzyyzyxyzxyyyz{zyzzyyyzyyxzzzyzyzx{yyzyzyyzzyzz{zzyyzyyzyzyzzzyzzzyzzyzyzy{yzzzyz{zxyyyyyxzz{{z{zzzzyyzzyyzzz{z{zzzyyyyyyyzzz{{z{zzyzyzzyyzzzzzyzz{zzzzyyzzxz{z{{{zyzzzzyyz{zyzz{{yyyyyzyyzzz{z{yzyzzyyzyyy{{zzy{zzyxzzzyyyyy{zz{zyzyyyyyyzzzyyzyyzyxyxxywxzyyyyzzyxyyxxxxyzyzzyzzyyxyxyyyyyyyzzyyyyyyxyxxzyzyyzyyzyyxyyyyyzyxyzzzywxyxyyyyyzyyyyzyxyxyzyyzzzyxzyyyyyxyyxyxxzyzyyzxxyxyxxxyzyyyzzyzxyxyyxwxyzyzyzyyyyywxxyyyyzyxzzxyxyzxxyyyyyyyyzyzyyyyyyyzxyyzyzyyyxyyyxyzyyyyzzyxyyxxyyyzzyzzzzzyyzxyyyzyyyyyzzzxyyxyxyyyzzyyzyyyyyyxyyzzzzyyzzyyzxxxyyzy{zyz{yyyy{yzyzyzzyzyzzzzyyyyyyzzy{yzzzyzyyyzzyyzy{zzz{yzyyzyzxz{z{{zzzzyzzzzzzz{zzyz{{zyzzyzzzzyyzz{y{yyyyzzyyzzz{zz|zyyzyzyyzzzz{{zzzyzyyxzyzz{zz{yzzzyyyzyyyy{zzz{{zyzyzzyxyyzzzyyz{{yyyyyyzy{zyzy{yyyzxywyyzyzyzyyxyxyxyyxxxzzyyxzyyyxyyyyyyyzyyzzzyyxxyxyyyyzzzyyzyyxxyyyxyzzyxzzyxyyyyxyxyy{yyzyzyxyxxyxxyyyyyzyyyxyyxyyzzyyxyyyyyyxxwyyyyyzzxzyxxxyxxxyyxxzzyzyyzyyxyxxyyyxyyyyyzyyyxxyxyyyyxyzzyzyxyxxxxyyxyyyyxyyxxxxxyzyzz{z{yzyxyyyxzzyzzyzyyyyxzxyyyyyzyzzyyyyxzxyyyyzyyzzzyxyyyyyyzyyzzzzzzyyxyxyxzyzzzz{yyxyyyyyyyzzyyyzzyyyzxxxyy{yyyzyzzyyyyyyzzzyzzzz{yzyyyyzyyzzyyzzzzyzyzzyyy{{zzzzz{yzyzzzyzzyzz{zzzzzyyzzzxyxzzzzz{yzzyzzyy{z{yzz{zyzzyyyy{zzzzyzzyyzzyzzzyzzzzz{zyyyy{zzyzz{zzzy{yyxywyxyzzyzzz{yzxyyzyzyyzyzzxyzyytyzyyxyyyyzzzyxxyyyywy{yyyyzzyyyyyyxyyyx{{zzzzzzxxxyyxzyyyzzyyyyyxxxxyyyy{yyzzyyxxxzxwxyzyzzyyyxyxyzyxyzxyzzzyyyyyxyyyxxzyyzyyyzywyyyyyzyyzyyzxxyxyxyxyyzzyyzzyyyyxxxyyzzy{zzzyyzxyxxxyyzzy{zzzxyyyyxyyxyyxzyyyyyxyyzyyyyzzzzzzxzyxyyyzyzzzz{zzxyxyyyyzyzyxzz{zxyyyyzy{zzzyzzzyyyyyzzyzyzyyz{zzyzz{yyyzzzzyzyzzyzyyzyyzzz{yzzzzyyyyzxyyz{zz{yz{yyzzyyzzzzyzzzzzyyyyzzy{zz}zzzzyzyzyyzzyzz{yzzzzxyyyzyzy{{zzzzyyyz{{yz{zyzzzz{zzy{zyzzzz{yzzz{zyyzyzzzzz{z{zzz{{yyyzzzzz{{z{z{{{zzzz{yzzz{{yzyzyzyyyyzzyzzyzzz{zyyzzxzyzz{zzyzyyzzyyyzzzyzzzzyxxyxxxxxyzyyxyxzyyxyyxyyxyxyyyzzzyyzyyyyxyyyyyzzzyxyxyywxzzyyyyzzzxyyyyxyyyyzyyz{xxyxxyyxyyyyzyyyyyzyywxyxyyyyyyzyxyxxyyxyyzyyyyzxxyxxxxxyzyyxxzyxxyxxyyyyzyyzzzzxyyyxyyxxzzyyyzzyyyxwxywyyyyzyyzyyxxyyxxyzyyyzzyyyyxyyxxyzyyzyyyxyyyxxyxyyyzyyzzxyyyyyyyzyzzzzzzyyyyxyyzzyzyzzzyyyzxyzzyyzzzzyzzyyxxyyyyzzyyyyyyzyyyyyyyzzzzzyzzyyyyyyzyyyyzyzzzyzyyxyzzz{zz{zz{zyyyyyyyz{yzzzzyzyzyyyzzy{{zz{zzzyxyzyzyz{zzz{z{zzzzyzzyy{zzzzz{zzzzyyzyzzzzzzzzzzyyyzyzzzzzzz{{yzyyzzyzzzz{z{zzyzyyzxzyzzyzzyzzzyyzyzyyyzzyzzzzyyzxzyzyyy{yyzyzxyyyxxxxxyyyyyy{xxxyyyxyyzyyzzz{yyxxyxyxzyyxzzzyxyzyyyxyzzyyyyzzyyyxyyxxzyxzyzzzzzyxyxyyyzzzyzyzyyzyxxxxyyzyx{yzyxyxyyyxyxyyyzzyxxzxxxxwxxyyxyyyyxyyyyxyyzyxyyzyyxyyyzwzzyyyyyzyyyxyzxxyxyxyxzyzxxyyyyxxxyyxzzyyyyxyyzyxyxyzyzyzyyyzzyxxzzyyzyzyzxyyyyzyzyzyyzz{yyyzyyxyzyzzyzzzyyxxyyzxzzyzz{zzzzyyxyyyzzzzy{yyyyyyxyyzzzzy{yzyyyyxyyyyyyzzzzzzyzzzyzyzxyzzz{zzzxzyzyyyzzzzzzzzyxzzyxzyy{{{z{z{yyyyzzzzzzzzz{z{zyyzyzyzz{zzzz{zzyzyzyyz{zzz{{yzzyzyzzyyzzz|{{{zzyzzzzyzzzyz{zyzyyyyzyzyyzyzzzzyyzyyyyyxyzzzzyzzyzyyyxyyyz{yyyyyyyyxzxyyxyzyyyzzyxxyyyyyyzzzzzzzyyxyyyyxyyyyzz{{zyyxzyyyyzzyyyzzyyxwyxyyyyyyzzyzyxxxyyxyyzzyyyyxyzxyxyyxzzyxzyyzxyxyxyxxyzyyyyyyxzyyyxyyyyyyyyzzyxyyyxwxyzzzz{yzyyyxyyxxyyyyyxzzyxyyywxxzzyyzyzyyzxxxxxyz{xyy{yyyyyyyyyxyzyyyyzzzyxxyyzyyzzzyzzzyyyyzyzzzy{yzzzzyxzyyyzyyzzzzzyyzyyyyzzxyzzzzyzyzyyyyxyyxz{yzyzzzxyzzyxyzzyzyz{zyyyyy{zzzzzz{{{zyzyzzyyyzz{{zzz{zy{zyzzxz{yzyzzzzy{zyzzyzzzzzz{zyzzyzyzzzzzzzz{|{yzyyzyyz{z{zz{zzyzzyyyyz{yyyz{zzxyzzzyy{z{z{z{zzyzyyyzyzzzzzzzzzyzxyyzzzyyzz{{zzyyyzyzy{zzzzy{zyzyzyyyxyy{xzzyyyyyyxxyxyzyzyzyyyzyxzyyxyzyzzzz{yyyxyyyxzzyyx{zyyxyzyyyxyzyyxy{z{zxyxxyxyyzyyxyzyyyxyyxyyzyzyzzyyyyyyxyxzyyyyyyyxzxxyyyxyyyyzzzyyyyyxyyyxyyyyyxzxyxyxyxzyzzxyyyyyxyyxyyyyzzyyzyzyyyzyxxxyyyyyyyyzzxyyxxyyyyyzzzzyxzyyzyxyzzzyzyyyyyxzyyyz{zzyzy{xyyyxyyzzzyxzzy{xyyyyxyyzzzzy{zyyzzzzxxyyyyzzzzzzxzzyxyyz{zzzz{zyzzyxyzyzyzzzzzzzyzyzyyzzz{zyzzyyzzzzyyyzyzz{{z|yzzyyyyyz{zz{zz{zyyyzzyy{zz{{z{{yyyyyzzyy{zzzzzz{yzzyzzzyzzzzz{{yzzzyyyyzzzzzy{{zxzz{zyzzzzyy{{zzxzyyyxzz{z{{{{zzzyxzzzxzzzxz{{zyyzzxxyxyyyzzzzzzyzxyxyy{zzzyzxyxxxxxxyyzyyyzyzzxyyzxxxyyyzzzzzzzxyxyyywzxzzyzzzyzyyyyxxyyzyyzzzyyyxxxxxzyzyy{yyxyyxyzyyz{zyy|zyyyxyyyxyzyyyyzxyyxzxxxyyyyzyyzyyyxyxxxyxzwyxyzyyyyxyzyxyyzzzzxzzyxyyyxyyzxxzzyzzzyyyxxxxxyyyyzyyzyyxxyyyxyyy{zz{yxyyyzzyyxzyyy{zyyyyyxxxzzzyyzyyyzyyyyzzzyyzzzzzzyzyyxyzyy{yyzzzyyzyzyyyyyzyz{zzyyyyyyyxzzzzzzzzyxy{yyxzz{zzzzyz{yzyzyyyzzz{zzz{yzzzyzyyyzyyyzzzzzzyyyyyy{zz{zzyzyzzzzzyzz{z{zz{yzyyzzyyzyzzz{zzzzyyyyyzyz{zz|z{zyzzzyzyyzzzzzzz{yyyyyyzzzzzzz{z{zzyyzyyzzz{zz{yxyyyyyxyzzyz{zy{zzyzzyyyyyy{zzzzyyyyxxyyyzzyzyxxyxyyyyyyyyyxyzyzyyyyxxxxyyyzzzyzyzxyxyyxyyxxzz{yyxxyxxyxzyzzxxzzyyyxxxyyyyyyzzyzyyyxyyyyxxyxxyzyyxxwyyxxyyyyxyzyyxyyyxzxyyyyxyyyyyxxxxyyyxyxyyxyyyxxxxyxxyyyyzzyyyxyyyxyyyxzzzzyyywxxxyxxyxxyyzzxyyyyxxxyyyxyyyzyyyyxyyyyzyyzyzyyxyyyxyyzyyyyzyzyyzxyyzyzyzzzzyyyyyyxxyyzyzzzzzzzxyyyzyyzyyzzyzzyyyyyxxyz{yyzzzzyzyyyxxyzzzzyyzzyzyyyyyyyz{z{yzzyzyyzyzzzzyzzy{zyyzyyyyyzzzzzy{zzyzyyyzy{z{zzz{zyzzxxyzyyzzz{zyz{yzzyzyyyzzzzyzzzxzyyyzzzzz{zzzzyyyyzyyyyzzzzzzzyzyzyzyzyz{zzzz{yxyyyyyyzyzyzyzzyyyzyyyyyyyyzz{zyyzxxxyyyzyyzxyyyyyyxyyxzyzywzyyyyxyxyxyyyyxyzzyyyyxzyyxyyyyxzzzzzywyxzxxyzyyyyzyyxxxxyxyzzyyzyzzyyyyxxyyyxyyzyyyxyxxxyyyyzyyzzxxyxxxxyyyzzzxyzzyyxxyyyxzzyxxyzyxxxxyyyxzzzyzyzyyyxyxxyyxzyyyyyzyyxxyxxxxyyxyyyyyyxyyxyzxyyyxzzzxxxyzyxxyzyyyyzzyyyxyxxyzzyyyzyzyzzyyyxyyzyyzyzzyzzxxy{yzyzyyzzzyyxyzyyxy{zzyyzyyyyxyxxyzzyzyy{zyyxzxyxyzyzzyzz{zzyzyyzzzyyzyyzzyxyyxyyyzzyyz{{zxzyyzyyyy{zzzz{zzyzzyyzzzzzyzzz{yyzyyyy{zzyz{zzzzzyzzyzyy{yzzyz{zzzzyyyzz{{zzzzzzyz{yzyyzzzzzz{{{zyyyyyyzzzz{zy|yzyyyxyyyzyzzzzzzxyyyyyyyyzzzzzzxyyxxyzxyy{y{zyyxxxwxyyxxzyyyyyzyyxxxxywzyzxyzyyyyyxyzyyyyyxyyzyywyyxyxyyyyzxyyzyzywxyywxzyyzzyyyxyyyxxxxyyyzyzyyxxxxyxxyyyyyyyyxxxyxxxxxyxzyyzzyyxxxyxyxyyxyyyyxyxxxxxyyyyyzyyzzxyxxxxxyxyzyz{zyyyxwxxxyyyyzyzyyyyxyxyyyyxyxzzyxxyyyyyxyyyyzxyyxyyzxxyxxyzzyyyzyyxyyxyzyyzxyzyyyyxxxxxyxzyzyzzzyxyxyyyyyyzyzyzzyyyxxyyyyzzyyyyzyxxxzxyx{zzzzzzzzyyyyyxxzzyyzyz{yzyyyzzzyzyzzz{{zzyzxyyzzzyzyzzyzyyyzyzyyzzyzzz{yyyzyyy{yzz{z{zz{yzyyzzyz{z{zzzzzxzyyxyyzzzzzyzzzyyxzxxzzzzzyzzzyzyzyzyyzzyzzzzzyyzxxyyyy{zzyzzyyyyyyyyyyzzyzzzxxyyxzxxxyyyzyzxyxzwxyxxyxzzxyxyyxyxyxxxxyyzyyyzyzxyyyxyxzyxyzyzyyyxyxxzzyyyyzyyyyyyzwyxxyyyxyyyzyxyxyyxxyzxyyyzyzxxxxyyxyyyxyzyyzyywxyxxyyxyxzzyxyxyxxyxxyzyyyzyxxzyyxxxxzyxzxyzyyzyxxxxxyzxzyzzxyxyyxyxxyxyyyzzxyyxyyxyyyyyyyyzxxxxyyyxyyzzyzzzyyxyyxxzyzyyyzzzyyyyzxyxyyxyyzzzyyxzxyyzyzzyyyzyyyyyzxyyyzzyzyxyyyyxyxxyzzzyxy{zyzyyyxyzzzyzyzyyzyyyzyyyzzyzzzzzyyzzyxzzyzzzzzzzxyxyyyyxyzzyzyzy{yyzyxyyzy{z{yzzzzzyxyyzy{zz{{z{zyzyyyy{{{zyyzzzzyyzyxzzy{zzzz|z{yzzyy{zz{yyz{z{zz{yzyzzzzyzz{z{xyxyyyyyyzzzyzzzzyyzxyxyyzyyzyzyyyyxxxxxxzzzyzyzyyxyxyyxyzz{yxz{zyxyxyyxzyyyzyzzyyxxxyyyyz{zzy{yzyyxxyyyyyyyyyyzzyzxyyxxyyyzzzzzzyyyzyyxxyyyyzzyyyyyyxyyzyzyyzxzzyyyyxyxyyyzxyyzyxxxyxyxyyyyyyyyyyyxxyyxyzzyyzy{yyxxxyxyyxzyyyyzyyyxxxyxxyyyzzz{zxyxxyyyyyzyyzzzxyyyyyyxxyzyzzzzzzyxzxyyyyyzzzzzxxzzxxyyyyyzzzzzyz{yyyyzzy{zyyzzyyzxzwyyyzz{zyzyyzyyyzyyyyzyyy{{yyzzy{yyz{{zzyyzzzyyyxyyzzzzzzzyyzzzyyyzzzz{z{zzzyyzzzyyxzz{{zyzzyyyyyzzzzzz{{{{zzzyzy{yzzyz{zz{zzzyyyyzz|{{{zz{zy{zyyzyyzz{{z{zyyzzyzzxz{zzyzz|zyzyzyzzzz{yzz{{zyyyxzyyzzyz{zzyzyzyzyyyyyzzzzzzyyzzyyyyyzzyzyyyyyxxyxxyyzzyyyyzyxyxzxzxzzyzzyyzyyyxxyxx{zxyzzzzyxzyyyyyyzxzzyyyyzyyxxyyyyzzzzz{yyzyyyyxyyyyyzzyzyxzxxxyyyzzyyyyyyyxyyxxzyzyyyyzyxxxzxxyyyyzyz{yxyyyxyyyyyyxzyzxzyyyyyyxxyzxyyzyxyyxyyyxzzyzyxyyyyyxzyyyxzxzyzyzyxyyyyyyzyyyzzzzyxzxyyyzyzyzyzyzyyzyxxyyzyzyyzzzyzxyyyyzzyzzyy{zyyzyxyyzyzz{zzyzzzyyyzxyzzyyzyzzyyyzyxyzzz{y{yzyzyzxzyyzzy{{zz{zzzyzyzyyzzz{y{z{yyzyyyyyz{zzzzzzzyyy{zyyzz{zz{{{yy{yzzz{zyz{{{{{{{zzz{zzx{z{z{z{{z{yzzzzzy{{z{{zzyyzz{zzzzyzzy{|{zzyzyy{zzz{zz{{zzyxyyxyyz{zyz{{zzyyzzxxzzyzyz{zzzzxxyxyzyzzyyyyyxxxyzyyyzzyyzyyyyyyyxyxy{yzzzzzyxyyyyxxyyyzzzzzzyyxxxzxyxzyyyyzyxxxyyywyzyyxzxzyxxyyyyyyyzyzz{yyyyywywyyyyyyyyyzyxxxyxzyyxyyyyyyxwxxxyxxzyyyzzyyxyxxyxyyy{zyyzyyzyxxxxzxyyyyzyzyxywzyxyyzzxyzxzzyyyyyxxyyzzyzyzxyzy{yxxyzyyyyzyyxyxxyyzyyyzyyzzyyxyyxyxyzyxzyyyxyyzxyyyxzyxzzzzyzyyyyyyzzzzyzzzzyyyyyxxzzzzyzyzyyyyxxyzzzzzzzzzyyyyyzxyyzzzzzzzyyzyyxyyy{z{yzzzzzzzzyyzzzyyyzyzzyxyyyxxzzzy{z{zyyyyyyzyyyzzzzzzzyyzxyyyzzzyz{{{zy{yyz{yyzzyzzz{zyyzyzyzzzz{zxz{zyzyzyyzzzz{zzz{yzzyxyyyxzyzzzzzzyxyxzyxzyzyzyy{yyyzyyyzyyyzyyyzyyxxyxyxyzyyyyyzxyxyywyxzzzzzyzzxyzxyyywzyyzyyxzyxyyyyxxyyzzzyzzzxyyxyxwzxyzyxyzyyyyyyxxzyyyyzyxyxyyxyxyxzxxyzyyyxxyyyyxyyyzwzyyxyyyyxxyyyxxyzzyyxyyxyyzyyzyyyyzywyyxxxyxyyxyyzyyxyyxyxxxzxxyyzzyyzxyxxxxyyxxyzzxyyxxyxyyyxyyyzzyzyxzyxyyyzyyzy{yyyyyyxyzyyzz{zyxxyyxyyxzyzzzzyzyyyyyxxyyzzzzyyyyxyzxyxxzyzyyyzyzyzyyyxzz{zyyzzyyyyyyxyyzzzzyz{yyzzxyzzxzyyzyzz{yyyyzyyyzzzyyzzzyxyyyyyy{zyyz{z{yzyyyyzyyzyzz{z{zzyzxzyzzzzyzz{zzyzyzyzx{yz{zzzz{yyzzyyzzzzyy{{{yzzyzzzyyzzzzzz|zzyyyzyyzzyy{{{yzzyyyyzyzzzzz{zzyyyxyyzxyzzzzzxyyyzxyxxxz{zyzzyzyyyyyxxxyyzzyzzzzyzxyyyxyzzyyyyyyxyyyxzxzzyzyyzzyyyxyxyxyyzyxyyyzyzyxyxyyxyzyyyzyyyyyyxwzyzyxyzzzyyxzyxyyxzzyzzzyyxyyyxxzyyxyzzzyyyzxxyyxzzzyyyyyyzyyyxyyyyyyyzyzxyyyxyxxyyyyzz{yyxxyyxyyzyyzzzzyyyyzyxxyzzzzzzzyyxxyyzyyzzzyzz{yyzyyxyyzzyyyz{zyyxywxyyzzzyyyyzyyyyyxyyyyyzzzzyyxyyyyzxyzzyzzzyzyxyzyzyzyzy{zxzzyyzyzxzzzz{zzzzzxxzzyzyzyzyyzyzzyzzyzzyyyz{zz{zzzyyyzzz{{zzzz{yz{yyy{zzzzzz{zz{{zzyyzzyyz{zzz{{zyzzyzzyyz{{{z{zzxyyyyyyzzzzzy{{zzxyyyyz|z{zzyzzzyyxzyyz{z{zzz{zyyyzzzyyzzzzzyzzyzzyyyyyyzyzzzyyxyyxxyxxyzyyzxzyyyyzxyxxyyyzyzz{yxyyxzyxyyyyyzzyyyyyyyyxyyyzxzzyyyyxxxxxyy{yyyzzzyyxxwyxyzxyyyzyyyyyxyxyxzyyyzzxzxyyyyyxzyzzyyzyxxyxyyyxyyyyyyzyyyyyyxxxyyzzyzyzyxyyyyyxyxzyyyy{yxyxxyyyxzxyxyzzzyywyxxxxyyzyyyyyxxxyyxyyzzyyyzzzyyyyyyyyz{yyzyzyyyxzxyyzzzyyzzzyyyyyzxyyzyx{y{yyxzyyyyxxyzzyzzzzyyyxzyyzyzzzyzyyzxxxyyxyyzyzzyxzyyyyyxzzzzzz{{zyyzyzxyyyzyzyzz{zyyyyyyyzyzzz{zzyy{yyzzy{yzzz{zzyzyyzzzy{zy{{z{z{yz{yyyyz{z{z{z|zzzyzyzzzyzz{{zzyzzyzyyzyyzz{zzzzzyzzyyyzyzzz{{{zyxyyyzzyzyyyz{zzyzyyyyyyzzyy{yzyyzyzyyxyyyyzyzzyyyyxxxyyzyzzxyzyxyyxwwxyyzyzzyzyyxxxzyyyyyxyzzyxxyyyyxxyyyyxxxzyyyxxxyxyxzxxzyzxxxyzwxxyyyxxyyyyyyyxxyxzxyxyzyzxxyxxxxyyyyyyzxzxxxxyyyxyyyyyyzyyyxyyyxyyyyx{yyyywxywxxxyyxxyzzzxyyyyyyyxxyyyzzyyyxxyxxxxyyyzyyzzyyxyyxyyyyyxy{zyyyyxyxyzzzzyyyzzyxyxyyyyyzyyzzzyyyxxyxyzzzzyzzzxxyyyyyyzzzzzzzzzyyzxxyyyzzyzyzzzzyzyyyyzzzyyzzyyzxyyzyyzyyzzyzzyzxyyzyzyzyyz{yzzxyxyyyzz{zz{{zy{yyyyzzzzzz{zzzzyzyzyzyzz{yzz{{zzyyyzzyyzzzy{zzzzxyyxyyzzzzzz{zyzyyyzzyzzyzyyzz{zzzyzyyyyzzzzzz{yzzzyyyzyzzzyzzy{yxyxyyyzzzzyzzzyzyyyxxxzyzzyyzxxxxyxxyyyyyyyyyzyyyxyxyzyyyyzyzzyyyxxxxwyyyzyyzxxxyyyxyyzyzxyyzzyyyxyyyxyyyzzyyyxxyxyyxyxzyyyzyyyxyyyxywyyzyyyyyxxyxwyxyyxyyzxzzyxyywyyyyyxyxyzyyyyxwxwyyxyyyyxyxxzyxyxwxyyzxyyzyyxxyyyxyzyxyyyzyyxxxxzyyyyyyzyyxxyyxyyxyyzzxyyzyyyxyxyyzzxyx|yyyyxxyxyxyyyyyzzyxyyyyyyxyyyzzzz{zyyyxxyxxzzyyyxzxzzyyxxxyzyzyzzzzxxzyxxyyzyyyyzzzyyyzyyxzyz{{{y{yxzyyyyyzz{{yzzzyyyyzyzyyyzzzzzzyyyyyyyyzzzzzzzzyyyyzzyyyzyzyz{zzzyzzzyzz{z{zzzzzyzzyyyyz{z{zzyzz{yzyyyz{zzyz{z{zyyyzyyyzzyyzzzzyxyyzzzyyz{zyzy{zyyyyyzyzyzzyyzyyyyzyxyyzzzzyyyzzxyxxyxxyzzyyzyyxxyyzxxxyzyyzz{zyyyyxyyyyyyyzzzyzxyyxyxxyzzyyzyyyyyxxxyxyyzyyzxzyxyxyzywxyzyzzyyyxyxxyxxxyyxxyyyzxyxxyyxyzzyzzzzyxyyyxxyyyyxyyzyyyyywxxxyyyyzzzyyyyxxyyxzyyyyyzzxxxywyxywyzzxyyyxzyxyyxyzyyzyzyyxxyyxzyxzy{yzxzyzyxyzyyyyzyyyzzzzyyyxyxyzzzxyzzyyyzzxyyyyzyyzzzyyzzyxyzyyzzzzyzzxxzyyxyzyzzzzyzzzyyyyxyyyzyyxyyzzyzyyyyyzyzzzyz{xyzyyyyyzzzzzzzzzyyyzxyyzz{zzzzzyyyy{yzzzz{y{zzzyyy{yzzzzzzzz{zzzyzyyzyyzzzzzz{yzyzzyyyyzzyzzzzyyzyyyzyzzzyyzz{zzzzyzzzyzyzz{z{zyyzyzyyyxzzyzy{zzyyyyxzyyzzyyzyyzxxxyxyyyyzzy{xyyyyyyxyyyz{yzxzzzyyyyxyxyyzyyyzzzxxxyyxyyyxyyzyzyxywyyyxxzyyyyyzyxxyywxxyyyzzyyyyxzyxyzxyyyyyyyyyyyyyyxxzyyyyzzyyxyxxyyyyyyyxzyyxyxyxxxxyzxzyxyyyxyyxyyyyyzyyyyyxyyyxywxyyyyyyyzyxxyxxxyyyyyzyyzyyyxxxyxxzyyyzxzzyzyxyyyyzzyyyzzyyyyyxxyzyzyzyyzyyyxyxyxzzyzyyzyyyyyxxyxzy{yyzyzyxzyyxyxzzyzxzxzzyyyyxyyzyzyyyzzzyyyzyyyzzyzzyzxxyxxzyxzyzzzzzzzyyzyyyyzyzy{zzzzzzyyzyxxyyzzzz{yzyzyzzxyyzyz{y{zyyyzx{zzyzzz{z{{zyyyz{zzy{yzz{{{zzyxyxzx{zzzy{zzzyyyyyyyyyzyz{z{zzyzyzzzzzz{yzz{yyyxzyyyzzzyyzzzyyyzyzyyyzyzzyz{zyyyyxyyy{zzyzyyywyxyyyxxyzzyyzyyxxxyyxyyyyzyzyzxyxyyyyxzzzyzzzzyxyyyyxzzzyzyyzzyyxxwyxxyyzyyyzzxyyyyxyxyyxzxyyy{xyxxxxyyyzyyzyyyyzxxyxxwxzzyzyxxyyyxxyxyyzyxyyxyxyyyzyyyyyyyyzyxxyyxyyyyyyxzyyzyyxyzxyxwyxyyzyyyxyxyxywxxyyzxyyyyyyyzyyyzzyyyyzyyxyxyzxzyyzyyyzyxyxxyyzxzzyyzzzyyxyyxyyyyyyyyzyyxxyyxyxyzyzzzyzyyyyxyyyzzzyzyyyzzyzzxyyyzyyyzzzzyzyyzxyyz{zzzzzyzzyzyyyyzy{z{zzyyz{yzyyzyzyyyzzzyyy{xzzzzyzzzz{zzyyyzzyzzyzyzzyzxyyyzzzyz{zzzz{{y{zzzyyyyyz{zz{zyxzzxxzzzyxzz{{zzxyzzyyzzzzy{{{yzyyyzzzzz{z{zzzyyxyyxyxzyyzzzzyzyyyyyyxyyzyyyyzyxyxyxxxyyzyyyzzyyxxyyxyxyyzzz{zzyxyxxxxyyyzyyyzzxyxyyyxxyyzyyzxzyyxxxyxyyyyy{yzyxyyxyyyxyyzzzyyyyyyyzyyxyyxyzyywyyxxyxzyzzyxyyzyxxxxwxxyyzyyyzyzyyxyyxyxyzyyyyyzyyyyyyxzyyyyyzzyxzzxyxxxzzyyzyzzyxyyxyyyzyyzzyxyxxxzyyyyzyzyyzyzxxzyyxxyyyxyzyzzyyxxxxyyzzxzzyyxxyyyxyzzyzxzzyzzyzyyyyxzzyz{yzyzyzzyxyyzzyzy{yzzyyzyyzzzzyyzyyzyzyyzyyyyzz{yzzyyyyxzyzyyyyzyz{{yyyzzyyyyzz{zz{zzzz{zyzzzzzz{zyz{yyzyyzzz{zz{zzz{zzyyzxyz{{yy{{|yyzzzxywzz{{zz{zzzzyzyzzz{yz{zzzzyyyyyyzyzyyzzz{zy{xyzyzzy{yyyzzyyyyyzzxyzzzzzzyzyzxyyyyyyzyzzyyyyyxyxywyzyxyzzyyxxxyyxyxxyz{z{yyyyxxzyyyzzyzyyzxxxzzyyyzyyzyzzyyxyxxyyxyyzyyzyyyyyyyxyyxyzyyyzzyxyyxyxyyzzyyzzzyxywyxyyyyyyyxyzyyyyxxyyyyyyxzzzxxyyzxwyyyyzyyzyyyxzyyyxyyyzyzzyyzyyyxzxzyxyyzzyxyyxyxyyyyxyyyyzyyyyyxyxyzzyyyzzyyyyzyyyyz{yyzyzyyyyyyyxyzyyyyyzyyyyyxxyzyzzz{yyyyyxyzzyxy{zzzzzzyyyxyyyx|zzzz{zyyyyyyxzzz{zy{zzyxxyzxxyyz{{zzz{yzyxyyzyzyzzz{z{zyyyzzyyzzzyzzzzyyzyzyyzz{zzz|zzyyyyyzzyzzzyzzzzzyyzyyzyy{zzz{{{yyzyyzyz{zzzz{zz{xzzyyyzzzyzz{{z{yyzzyzyz{y{{{yzyyzyxyyzzzzzz{zyzyyyyyyxyzz{{zzzzyyyyyyyzyyzzyzyxywyyyxxxyyyyxyzzxxxxwwxzxyyyzyyyyxxyyyxyyyzyyyyyyxyxywxxyzzyyzzyxyyxxyyyyzzyyy{yyyxyxyyxyyxyyzyzyyywwyyxwzyyyyzyxxxxyyyyyxyyzyyyyyyxxxxxyzzyzzzxyxyxxwxyzyyzyyyxxxywyxxyyxzyzyyzxxyzyyxyyxyxyyyyyyyyxyxzyxyyzyyxyxyyyxxyyy{zyzyyyyxxxxyyzyyxzzzzyxyxxyxzyyzyyzzyxyyxyxxzyyxyyyyyzyxyyxxyzzyzzzzxxxyyyyxyzzzyzyyyyyzyyyyzyzyzzzyyzzzxyxyzy{yyyz{zzyyzyyyyyzyzzzzyzyyzxxyyzzyzzzyyxyyzzxzyzzyyzz{yzyyzyyzzzzz{zzyzzyyzyyzy{{y{zzzyyzyyzzyzxzzyzzyzyyyxyyzyxyyz{{yyyyy{yyyzzyyyy{{yyyxzyyyyzzzzyz{zzxyyywyyzzzyyzyxyyyyyxyzzzzyyzzywxyxyyxyyxyzzyzyxyxxxxyyyyyzyyzyyxzwyxxyzyyzyyzyyyzyxyyyyyzyyzzyyyxxxyxyzyyxzyyyyzxyxxxzzyyyyzxzyzxxxxyyyxyyyxyzyyxxxxyyyzyzyyyyyxxyxxxyyxyyzyyxyxxxyyxxyyzyxxzxxxyxwxyxyzzyzzyyxyxxxyxxyyxyyxzyyyyyyxxxzyyyzzzyxyxxxyyzxzyyyzzzyxyxxxzxzyyyyzyyyyyxyyzyzzyzz{zzyyyyyyzzyyyzzzzzxxyyyyxyzyzyzzzzyzyxxyyzyz{zyzyzzxzyxyyzyyyzyzzyyyxyzzzyyzzzz{yxyyxyyyyzzyzyzzzzyyzyyyyxzyzzy{zzxyyzzyzz{zzzz{{yyzzyyyzyzyz{z{z{yyzyyyyzzzzyz{{yyyzyyxzzzyzy{z{zzyzyyyzyzzyzyz{zzyyzyyzzzyz{zzzyyyxyyyyyyzzzzy{zzyyyyyyyzzzyyzyyyyyyxyxzzzyzyzyzyxyyxyyyyyyzzzyyxxyyxxyxzyzyzyzxxyxxyyxyyyzzzzyyyyyyxxyzxzzxyyyzxxxxyyxyyyyyyyzyxyyyywxyyyyzyzyyxyxyyxxzyyxxyzyyyyxxyyyyxxzyyyzxyyxzxxxzyyyzyyyyyyyxxxxxyyzyyzzyyyyxxxxyyzyyyzyyyyyxxxyzyzyyyzyxyyxyxyyyyzyyy{yyxyyyyyxyyzyyyzyyyxyxyyzzyyyyyzzyyxxyyxyzxyzyzzzyyzyxyxyzzzyyyz{xxyyyyzyyyzzzzzzzzyyyyyxyy{xyyzzyyyzyyxz{zzzzz{zzyyxyyyyxzzzz{{zxzzyzz{zzzy{{zzzyyzzxxyyz{z{{zzzzyyy{{xyzz{yz{z{yyyyyzyzzzyyzzzz{z{yyzyyz{yzyyz{zyzzyyzyz|zzzzzzxyyyyyzyzzz{zz{zzyyyyzyyz{{zz{zzyyyzyyyxzzzyzz{zzzyzyyzyyzy{yz{zyyyxyyyyyzzzyyyyxxyyxyyxyzyyyxzxzyyxyxzxyyyxzyzyyxwxyxxxyxyyyyzzzyyxwywxxyyzyyyzzxxxxyyxxyzzyzxzyyyyyxxyyxyxyyyyyxyxxxxyyyyxzyyyyxyyxyxyzyyzyyxyxxxxyxyxyyyyxzyyxxy{xxxyyyzxzzyyyxwzxxxyyyxyzzyyxyzwxxyxyyzyyyyyyxywyxyxxyxyxzzyxxxxxyxyyzzxyyzzxyyxyxyyyyzyyzzzyxyyzyzyzyyyzyyzyyxxxyxyzzyyyyzyyyyxyxyyzzzzyzzz{yyyxxxyyyzyyzy{yxyzyyyyzyyzzzzzyyyyyxyzzyzzy{z{xy{yyyzyyyyzyzyzyyyyyzzyzzzzyz{y|yxxyzxxz{zyzz{zzyzyyyzyzyyyyzzzzyyyyyyyz{zz{z{zyyyxyyzy{zzzzz{zzzyyzyyzyz{yzy{zzyyyzyyzyyyzzzzzyzxyyyyzyzyzy{zz{zyzyyyxzzzyyy{yyxzxyyzzyzzzzyyyxxyyyyyxyzyxxzyyxyyyxxyxzyxyyzyzxxxxxxyyxyyy{yzyyyxyxxxyxyyyxyzyyyzwwxyvyyyyzyyzxyyxyyxxyxzxyyyyxxxxyyyyyxzyyzx{xyyxyyyxyzyyyyyyyyxxyxxxxyyyxzzxxyxxyxxxyyzyzyxxyxyxxxyyyzyzyyzyzxyxyxxxxyyyyzxzyyxxxxxxxyyyyzyyxyyzyxyxyyzxzyzzyyyyyxxyyyyzyzyyyzyyxyyyxyzyxzzzyyyxyyyxzyyxz{zyyyxyyxyxyzz{yzy{yxyxyxwyzyzzyyzzyxxyyyxyzyyzzyzzzxyyzyyzyyyzzyyyyyyyyyzyzzyzzzz{yyyyyyxy{y{zzzyzzyzzyyxyzyzzzzy{yyyyzyyyzzzz{{zzzyyzxyxyz{z{zzz{yzzzyyyyyzyzzzzzzxzyyzxyxyzz{zzzyzyyzzzyzzzzzzz{yyxxyzyyyyzzyzzzzzxzyyyyzzzyyyzyyyyyyyyzyzyyzzzyxxyyxwxwxyyyyzzyyyxyyxyxyyzyyyy{zyywyyxyyyxzxzyyywzxyxxxyyyyyxzyyyyxxyyxyyxyyyyzyxzyyxxwxyyyyzzyyyyxyxxyyyyyzyyyyxxxxxyzyyyyyyyzyxyyxxyxxyyyyz{yzyxxxyxxyxyyzzzyxxyxxxyxyyyyyyyyyyyyyyxwxxzzxxyyzzyxyxxxyyyyyzxzxyyyzyxxzzzyzyzzxyxxxwxxyyzyyyzyyzyyxyzxzzzyzyzzyyyxyxyyzyyyyzzzyyyzyxyxyxzzz{{yyxxyyxxyyyzyyzzzyxxxyyyyzyyyyyzzyzyyyzyyzzzzzz{yyzyxyxyyyzzzyyy{yxyzyzzyyzzzzzzzyyyyyzyyzzzzyzzzzyy{yzyzzzyzzzyzzzzyyzzzzzzzz{{zzzyyyyzzzzzzzzzzyyyyyzyzyz{zzzzzzyzzxzyzyzzzz{z{zzzyyyyy{yyy{zzzzyyzxyxxzyy{zyzzyyyxxyyyzzyzzyyyyyxyxxxxzzyzyyzyyyyyyxyyxzyzzzyyzyyyyyyxzyyzyyzyyxyyyywxyyxyzyzyyzwyxyyxzyyyyyxzxyyxxyyxyyzxyxyyxyyxyyyyyyzyyyzyxxxxxxxyyyyzx{xzyyxyxyyxyyyyyyyyxxxyxyxyyyzxyzyzxyxwxyxyyyyxyzzzyyyyxwywyyyzzzyzyyyxxxyxyxyy{yzzyyyxyyywyyyzyzzzzzyyyxywzyyyzzzzyyyyxxyxyxyyy{{zyyxyyxyyzzzyzzzzyyzyyxxyzzy{z{yz{yyyyyyyyzzyyzzzyyxyyxxxz{zyzy{zyyyy{yzyzzyzzzyyyzzzzyzxyzz{z{yzyzzxyyyyzyzz{yyyzyyyyzzxzzzzzzzzzyzyyzyyzyz{zyz{{xzxyyzzzzz{zz{zzyyyzyyyzzzzzzz{zyyyyzyxyzzyzz{zzyzyzzyyzyyyzzyzzzzyzyyyyyzyzz{z{yxzyxyyzyzyyzzzyyyyzyyyzyzzzzyzzxyyxxxyxzzzyyyyyzxyyxyyyyyyyzzzyyxyxyxxxzyzzy{zyyxyxyyyyyyyx{yyzyxxyyxyyyzzxzyzyxyxyyyxxzyyzyyyxyxxxzyxyzyxyzyyyyyyyxyyxyyyxyyzyyxyyxyyyzzzxyzyzxxyyyyzyy{yyzyyxyyxxyyyyxyyzyzzxxxxwxyyyyyyzzyxzyyxyxyxxyyzxzz{yxyyyxyyyyyzzyzzyzyyyxyyzyzzyzzzyyyyyyyxzzyyyzyzzxxyxyzyyz{yzyyzyyyxzxyyyzzzz{yzzyyyyzyxz{zyyzzzyyzyyyxyzz{zzzzzzzyxz{zyzyzzz{zyyyzzzzyyyyy{zz{{zxyzzyyxzzzzzz{yzxyzyyyy{z{zzz{zyyyzzzzzyzzz{{zzzyyyzzzzyzzzzz{zzyzyyyyyzzzzz{zy{yyyzyzzzzzzzz{zz{yzzzzzzzz{zyz{z{zyzzzyzzy{yzzzzyyyyyyyy{{zyzzzzyyxyyzyxxzzzzxzxyxxxzyxzyzyzzzzyyyyxyxyyyyyyyzzyyyxxyyxzyyyzyzzzxyyzxxxzzyyyzyyxyyxxxxxyyzyyyzzyyyxxzyxyyzyy{zyzyyyyyxxyy{yyxyyyzzyyxxxyyyyyyzyxxxxyxxwxyzyzyyzyyxxxyxxxyyyzzyzyyxyxyyxyyzyyyzzxyxxyxyxxyyyyzyyxxxyyyyxx{yzyxyyyyyyxyywyzyyyzzzzyxyyxyyyzxyyyzzyxyzywyyyyyzz{yzyyyxyyzzzzyzzzyzzyyxyyyyyzyzzzyyyyyxyyxzzzyyyzyzyyyyyyxyzz{zyzyzzyyyzzxyyzzzz{zzyyyyyzzyzzy{yzzzzyyzyzyxzzyzzzzzzxyyyyxyzzzyz{|zyyyyyy{yzzzzzzz{{zzyyzyyy{zzzz{yzzzyxyzzzyz{z{{zyyzyzzzzzzzzzzzz{yxxyyyz{zyyz{{{yyzxyyzyy{y{zzzzyyzyzyyzyzzyyzzzyyyzxyxx{yzyzzzyyyxxxyxwyyzxyyyzxyyxxxxxyyzyzz{zyyyyyxyyyzyzyzzzyxzyyyxyzyyyxyxyyzyyyxyxyyzyzyyzxyyyyywxyyxyyyyyxyyxyyxxxyzyxzyyyyyxxyyxyyyyyyy{yyyxxxyyxyyyyzyzyxyxyyxyyyyxzyzyyyyyxxyxxyzyzyyxyyyxyyxyyyzyxyyxyxyyyyyyyyyyyzyzzyyxzyxxyxyyyyzzyyyyyyyyyxzzzzzzyyyyyxzyyyzyyyz{yyyzyyyxyyzyzyzzzyzxyyyyyzyzyzyyyxyywyyyyzyyzyzzzyyzyyyyzyyyyzzzzzxzzzyyzzz{z{zzyyzy{yyz{yy{z{zzyyyyzyyyy{zzzyzyzyzyzxyy{y{zzz{yzz{yyzzyzzyzzz{{zzzzyyyzy{zzzzzzzyzzyzyy{zzzz{zz{yyzyzyyzzzzyz{z{zyzzzxzzzyzzzyzyyyyyzzyzzyzzzz{yzyzyzyxzzz{yzzzyzyxzxyxyyyyyyxyxyxyyxyxxzzyyyyyyyyxyxyyyxyzzzyzyxyxxyxxyzzzzzyyyyyyxxyxyyzzzyzyxyxwyyzxyzyzyyzyyzyxxzywyyxyyzzyyxxyyyyxxzyyyyyyyxxxxxyyyyyyxxyyxyxxxxyxzyyyxzzyyxyyxyyyxyzyyyxyyyyxyxxwwxyyyzyyxwyxxxyxyyxyxxyzxyxyyxyyxyyyyxzyyyxxyyyxxzyyyyzyyyyyxyyzyyzzzyyzyyyyyxzxy{zyzyyyxyyyyyyyyyzyzzzyzy{zyyzxyyyzyzyzyxyxxyxxzzzyzzzzyxxzyyzyzzyyzzzyyyyxyyyyzyzzyzzzyzzxzyzxyyyzzz{{yyyyyxyyzz{zzzyz{xyyyyxyzzzzyzzzzyyzyzzyyyyzzzzz{zyyyyyzy{zzy{z{zxzyyyyyzzzzz{zzzyzzyyy{yzz{zz{{zyyyzxyzzzzz{zzzyzyyyyyzzzzyzzyzzzzxyyyyzxyzyyzzzxzyyxxxyzyyyyzyyyxzyxxwyzyyyxzzzxyyyxxyzyzyyyzzyyxxxyywyzyxyyzyyxyyxyyxxzyyyyzyyyyxxyyyyzyyyyyyxzyxxzyyzyyyyzyxyyzxzwxxyyzyyzzyxyxyxwxyyxyyyyyyxyxxzxyxyyyzyy{yxyyxxxxyxyyxyyxzxxzyxxxxxyzzxyzzyxyzxxyxxyyxyyyyyzxxyxxxyzxzyyyzxyyyyyyxyzzzyyyyyyyyyxyxzzyyzzyzzyyyxyyyyzyzyyzyyxyyxxxzzyyyzyzzzyyyxxyxyzzzzzzzxzzxyxwxyyzyxzzzzxxyyyzyzz{zyzyzyzxyyyyxyyyzzzyzyyzzyyzyyzyyzzzzyzxxxyxyz{{zz{zzzyzyzyzyz{zy{y{zyyyzzyyyy{zzz{zzzyxyyyyyyzzzzzz{zyzyyyzy{y{zzzzyyzzyyyyyzzzzyz{zyyyyzyyyyzy{yzz{yyyxyyzyyzzzzz{{zzyxxyzxxyzzzyyyzyyyxxyyyyyyyC>u4% b {{z{z|z{|}|||}{{|{{{{{|{||||||}|||{{|{{{|{|{|}||z{|{z{{{|||{{{{{{zz{{{{{{{|||{||zz{{{z{{{{{||{|z{{{{{z{z||{{|{{{zz{z{zz{{{{{|||{zz{z{z{z{}z|||{{{{{|{zz|{|{||z|{z|{zz{z{|z|{||||{{{{{{zz{|{z{{||zzz{zy{{{{|{|{|{{{z{||{{|{{|||{{{z{{z{{||{z|||{|z|zzz|z||{{{{||{{zz{{z|||||||~{{|{{|{{{{||{|||{|{{{{zzz|{|||z||{||||{{{||||{|{{|{{{|{z{{}||{{||{||{{|{{||||||~}|{{|{{|{{|||}||{||{}|{{||||}||{}{|{|{|||}{~||{||{{{{{||{|||}|}{|{{||{|z{}||{||{|}{|{|||||{{|{{|{{||{|{z||}|{|}{}{{{z{|{{|{||||||||z|{{|{{||{{{{{{{{{{z{{{{{{{|}||}|{{|{{|||}|||}||{}{z{{|{|||}|}|}|{{{{{}{}|{|||{|{{{{|z}|}}{|}{{{{{{z{{{|}{{|||{{{z|{{{}|{|{}|||{||{z{z{{{{|{{||{|z{||z{z{{{{|{z{{{{z|z{{{{{{|{{z{zz{z||{||{|}|{{{{zz{z{|||z{|}{{{y{{{y{{|zz{}{{{zzzzzz|{{{{||||z{{{{{{{{||{{|{{{{{{z{|z{|{||||{{{{{{{{|{{|{{||{{{{{{zy||||}{|||{{{|z{{|||||||{{{{{{{z|{{}{|{}{{z{{{{|{}|{|{|||{||{zz{{|}|}||||{{{|{|}{{||}{|||{{||{|{}{}|{}}||{{{{{|{{||||}|}||{|{{{||{{|}|}}}}|||||{||}}}}}}||||||{{{}|||||||}{{|}{|{|}|{}||{|}|||{|||{|{||}{{|}|||||{}{{|{||||z|{{|{|}|||{{{{zzzz{{{|{|z{{||{{{z{{}{{|}{}}||}|{|{{z||{{||{|}|{{z{{|{|{|||{}|{z|{{zz{|{||{{|{{{{{{{{z||{}{{{||{{z{{{{{||{{||z|{{z{{{{{{{||{{{|z{{z{{{{z{|{{}|zz{|zz{z{z||{{{||z{z{{z{{{||{||||{{{{{z{{|{{z{|{zz||{z|{{{{{{|{{z{{{z{{zz{{z{|}{{zz{{z{{}{|||{}|}{{{{z{{{|||z{||{|{{|{{{|{{{||||{{{{{z|z|}||{||{|{{{{z|{{}||{}|{{{{{{{{{{{}||z||{{z{|{{||{|{{{{|{|{{|{{{|{||||||{{z{|{||||||||}}||{}{|z{||{|}{|}|{|||||{~|{|}|||||{{|||}||{|{|{}|{{{|{}|{}{|||||}{{|{|{{}}}}|}}|{{{||{|{|||||||}|{{{|{{{{|}||}|}{|{z{|{|{||{{{|}{{{|zz{{{|||||}{|{|z{{{z{||{z||}|}{{z{{{}{{||}{}|||{{{{{{|}||}}}||{{|{{{||{|||||{{{{|{{{{|{}{{{|{{{{{{{z{{{{||||{||{{{{{y{{|{||z{{{z{{{{|{||{|{{{|{{{{zz{|{z|}{}{zz{z{{z{{{y|||{{{|{z|zz{|{|{|||{{{{zy{{|{{{{{|{{z{{z{z{{{zz{{|{z{zz{zz{||{{{}{|{{z{{z{{{|{{|{||{{z|{z{{}|||{z||{{{{{z|{|{|||}{{{{{|z{{z|{{|||}{|{{z{{{{{{||{|{{zz|{{{z{{{{}{||||{|{{{{{|{||}||{}{z|{{z||{||{||||{{|{{{||||||{}|{{{|{|z{|{{||||||{{z||{{|||}|}}|{{|{|}||{|{}||}}}|||{{|z}||{||||{||{{|{|||}|||{}{{||{|{||{|||||{|{||z|||{{}}|}||{{{z{||{|{|}||{|{z{|||{|||||{}|z|{{|{|z{|{{{|{}||{{|{|{|||{{|}|||{{{{|{|}|{|||}|{{{{zz|{{{{{|{|||{z||{|{||}|}|}|{|{{{zz{{{|}|{{|{|z{z{{||{|{{}{{{{{|z{{{{|{|||{{{|{{{z{{{{{{|{|yzzy{{{z|{{{{|{{{z{{zz{z{{z{z|{{|{{zy{{||{{{{||{zzzz|z{{{z|{{||{{{{{{z{{z{|{{|{|zzz{{|z{{{{{{{|{{||{{{{{{||{||{|{{{{z{{{{|{||{{|{{{zz{{|{||{||||||{{|zzz{|}|{|||{zz{|{|{|z}||{|{{{{{|z{||||{{}|{{|{{{z{{{||||}}|z||{{{|}{||}|||{|{{|{{{z}||{}|}||{{{|{{{|}|{||}|{{{|{{||||}}}|}|{|{|{{||}}|||}||}}|{|{||||}||}|||z{z}{||}||{}}}|}|{|{|{||{{||||}|||{z{|{||{}|||||{{z{|{{{}|{||||z{|zz{{z{|}{|}|{{||||||{|||}||||{|||zzz{|||{|||||{|zz||z{|{{|||}|||z{zzz{z||{|||{{{z{{z{{{||{|||z{|{{z|{{{|{{||z{{{{{{zz{{|||}{{z{zz{{{{{{|{{||{{zz{{z{zz|{{{|||{{{{z|{{z{||{{||{zz{{zz{|{||{||{{{{{yz{zz{|{{||{|{z{|z{{{{{z||{{|{{{{|{z||{|{|||{{{zzz{|z||{{||||z|{z{z{{{{|{||}{z{z{{{{|{||{{||{{z{{z|{|{|{{|||{{{{{z{{|||||||{|{|{{{{|||{|}||{|||{{{{||{{|||}{{{{|{||{||{||||}}{{{{z|||||||}|}{{{z|z}z}|||||}}{{{{|{{{|}||}|}||{{|{{{{}||{~}||||{||{{||||{|||}}{{{{{{||}{|{||||{|||{z{{|{}||||{|{{{{{z||{||||{|{{{{{{||}{||{{|{{z{{z{{{{||{{|}|{z{|||{|}|{||}||{{{|{{{{|{{}}|{{|{z{{{|{{|{}{}||{{{|zz|||||z||{{{|{zz{z|{}|{{}}{|{zz{{{z{{{{{{|{z|{z{z{{|{{{|{{{{zzz{{z{{z{{|{zzy{{{z{z{{{{{{{{{zz{z{y{{{{{{|{|{{{zzy{zzz{|{||{{{{{{z{z|{||{z{{|{zz{zz{z|z{{{||{{{{{{{z{|||{{||{{zz{{{{{|{{{{|{{|z{z{|{{{{||{||z{|z{z{{{{|{{|||{|{z|z{{{z{{||{|{|{zz{zz{{{{{{|}{z{z{|{{{|{|{{{|{{|{{z{{||}}||||{||{{{|{|{|}|||||{{{z|{|{|||{{|||{{{{{{{}}|||{|}|{|{{{{{|||||}|}|{z|{|{z|{|{{|}||{||{z{z||||||||{{{|{{{{|{||{||}|{|{|{{{||{}{||}{|{z{{{{|{{||}{{{{|z{{{{|{|{|{||z|z{{z{{||{{{}|}|||{||{||||{||||||{{{|z||{|{||}||{{{{z{{{{|z||||{{{{{{z{{||||{|z{{|z{z{z{{{{{||}zz{z{{|z{|zz{|{{{z{{{yzz|{|z{}{{z{{zz{{{{{{{{{{|z{z{z{z{}{{{z{|{{{zzzzzz}{|{{|{|z{{y{zz{z|{|{{{{{{{{{zz{z{z{{|{}z{{{zzzzz{z{{||{zzz{{{z{{z{|}{{|{{{{{z{{{|{{||||zz{{{{{y{{{|{|{|{{||{{{{|{||||||{{{{{{|z{||{||{z{|{{{{{z|{||}||{{z{{|z{z||{{}{|{z{{zzz{{||{||{|||{{{{||{||{|{|||{{{{z{||}}|{{}||{z{z|{|||}|||||~|||{{{}z{}||||||||{{|{{z||||{||}||{|{{|{|{{|{|||}}|||{{{{{{{||||{{|{||{{|{{}||}|{{{|y{|{z||{{{||||{|{|{z{|{|{||{z{{{{zzzz{|||}||{{{||{{{||}z{||||{{{z{|{||||{||||{{z{|{{}||z}||z|z{z{{{|{{||{{|{{{{{{{{z|{{|||||y{{{z{{y{||z{|||{{{|{z{{{{||{|{{{z{z{{z{|{{{{{{|{z{zz{{{z{{|{||{{{{{z{z{{z{zz||z{y|{zzz{{|||{||{{{{{{z{z{{{{{{|{{{zzz{zz|{{{||||{z{{{zzz{{{|{|{||{{{zz{||{|{{|||{zz{|{{{|||z|{||zz|{z{|||||{|{|{|{{z{{|{{|{|{{||{z{z{z{{|}z{|{}{|{|{|{{|}{{{{|z{{|{||{{{z|{||}|}|{{{{{{{{{}{{|||{{{|{{|{||{||}||{z{{|{|||{||~||}{|{{||||||{||{{||{||{|||{||{|}||||||||||}{|}|||||{{z|{{{||{|{||}{{{{{y{|||}||}|||{{{{{{{{|||||}}|{{{|{z{{||||{{|{{{{{z|z{{|z{|||{|z||||{{|||||||||||{|||z{||}||}||{zz|{{|||{}||}{|z{|{{z{||{{||}{|{{{{{{z||{||}||z{{{{{zz}{||||{{{{z{{|z|||{{|{|{{{{z{{{|{|{{{{|{z|zzz{z{|{z{||||{{z{zz{{||||||||{{{yzyy{|{{{{|{zzzz|||{{{{z{{{{{{|{zz{{z|{{{|z|{z|{{{{{|{|{{{}|{{{{|z{{{|||{|}|{{{{{z{{{|{||{||{|{{{{{z{{||{|{||{{{{{|{{||{{||{{z{{zz{||||{||}{z{{{{{{z||||{{|||{{{|z{{||{|{|||{{|zz{{{||||||||{|{|{{{{{}}||}}|{{{{|{{{|||||||||z|{{}||||{|{}}}|{||{||{{|||}{|}}{{|z{|{}{~||||||{{||{z{|||{|||||{{{{z|{}}{|||||{{|{{{{{{{{|}|{{{|z|{{{z{||||||{{{|zz{z{{|{{||}}|{|{||||||||{|||}|}{zz|{{|||||}}||||{{||{{{{||}|{{{{{{{{{|{{{{}|{{|zz{zz{{|z|{||{{|{{z{{{{{|||{{{|||{{{|{{{z{|{|{zz{{{{z|{{|z{|}zzz{{{{{z|{z{{||{zz{{{|z{{|{{{|{{z||{{zzz|||{{{|{{{{{z{z{{{|{{||{{{{{z{{{|z}{|{|{z{z{{{{||{{|{|}{{{{{{{{{||||{{|{{|{{zz|{{}|{||{{{|{zzzz{}|{{{}|{{zz|{{z{|{{||{{|{{{||{z{|||}{}||{|{{z{{||}{|}||{{{{{z|z|{|||{||{}z{|{{z||{||}{|{|{|{{|z||||||}|}{z{|{||{}||||||{{{{{{||{}|}||||{{|{{|{|{~|}|||{|{|||{|||}}||||}}zz{{{{z|}}||}||}||||{{|}{{|{||~||||{z{|{{}||}||{|{|z{|{|{|||{||{{zz{{{z{||z{|}}||}{{{||}|}}}{|}{{{|{{{|||}{||}|}{|{|{}z}{||||||||{{{{{{{}|{{|{|{|{{z{{z{|}|||{}|{{zy{|{{|||{{|{{{{{{z{z{||{{|}|{{|z{{{{{|{|{{||{{|z{zz{{|{|{{}}{z{{z|z{{|{{|{{z{{{{{z{|{{{{||}|{z{{z{z{{|{|{{|{{|{{{z{{z{{{{|||{{{{{|z{{{|{||{||{{{|{z{{||{|}{||{|{z{{{{||{|}||{z{{{||{|||{{|||z{|{{zz{{|{{|||{|z{{{{|{{{{{{{|||||{|z|{|{|{||{|{{{{{{{{|||}{}||{{{{|{{{|||||}|}{||{{{{{|||||||||{{z{{{{|}|}||{|{{{{{{|||{}}||||}{{|{|z{|||||}}}|{{|{{|{}||}|}{}}{{{{{|{||||}}}}|||{{{||||||||||{{|{|{{||||||{|||{|z{|{z|||{|{|{z{|{{{{{{{{{|||}{{{{|{|{{|||}}||{}{|{{{{|{||||||{{{{{|{{||{}|}{{z{|{{z|{{{|{|||{{|{zzz{|||{{|||||z{{{{zz{||{|{{{{{{zzyzz{{}{||{{zz{zz{z{{|{|||{{zz{z{zzz{|{|{{|{{z{{{zz{{{{{|{{{z{{{{{yz||{|||{|{{{z{z{{{||{{{{{|{{zzz{{zzz|||||{{{z|{|{{{{{z{|||z|zzz{{|{{{|||{{zz{{zz{{{|{|{||z{|z{zz||||||}{|{{z{{z{{{||}{||||{{z|{|z|{{||{|}{{|{|z|{{|}|{}|{z{{{{{{{|}|{||||{||z|{|{||||{||}{{zzz{z{|}|{|{~{|{z{|{|{|}|||||||{|{{|||}}{||}|||{||{||{{|}|}}}||{||{||{{{||}}|}|||{{||{|||||||}}{{|{{{{}{|||||||{{z|{|{||||{|{|{|{{{{z{{{}{{|}z{||z{{{{{||}|}~|||{{||{||||||||~{|z{|}}{}{{}|{|}|{|z{{{{||{{|{{}||z{zz{|{||{|{|||z|{z{{{|||{{{{|{|{{{z|{{|{{|||||zzz{z{z|{{{|{{{{{{zzzzz{{{{{||{{{{{{z{{{{{{|{{{{zz{z{{{{|{{{{||z{{zz{{z{{{|{{{|z{{|zzzz{||||||{|{zz{z{z{|zzz|{|{z{{z{{{{{|{{{~|z{{{{{{{{{{{|{||{{{{{{|{{|{z{|{|{{{{|zz{{z||{||{zz{z{z{{{|{|{|{{{{{z{{{{}||{{{z{{{{{{{{{|||{{{|{|{|||z{{||||{|||{z{{|{|{{||}{{|||{{|{{{{{|}|||}{|{{{{{{{{||||{}}|||{|{|{||||||}|||{{z{{{|}}}{||{||||{{{{|{|||||~{{{||{{|||{}{{|}|||||{z{}{||{|||||{{{z||{|{||||{|{zzz{{{{|{|{{||{|||{zz{{z|}{|{}}||{|{{{|}||||}}{|{|||||||||}|}|||z{z{{z|{{{{{|}{{{{{{|{{|}|{||}|{|{{{{|{|||{}||{{{{{|{y{|||{{|||{{{{{z{{{|||z||{{{{z|z{|{{|{{{{z{z{{z{{{{{{{{|{zy|z{z{z{{{{{{{{z{{zyy{{z|{|{|||{{{z{{{z{{{|{{{{|{{{{{z{{|zz{{|{{{{{{{zy{||{||||{{|z|{{{||||{|{||||z{{{z|{||{|||{z{{{{z{|||||{{|{{{{{z{z|}}{{||{{{||{{|{{}||{||zz{|{{{{{{|||{||||z||{{{|{{||{||||z{|{{{{{|{||||||{{z|{{z||{|}{}||{{{||{||}}|{|}|{||{{}|||}{}|||||{}{||||||}||}|{}{|{|{{{|||}{}}||{|{|z|||}{}{|}||{{||{||||}|}}||{{{||{{{{}|{|}|{|{{|{{{z{|{{{||||{{{zz{z{{}{{||||||{{|||||{|||}}|{z|{{{{{|}|}||||{{{{|{|}{{{|{||{zz{{{{{z{}||{|{|{{z|{{z|||{{{|{z{|{z{|{z|{}{||{{z|{zz{{{|{{{{|{{zzz{{{{{|{{{{{{zz{{zyzz{{{{{{{z{yzzz{zz{{{{z{z{zz{zz{z{{{|z{z{|{{zzz{{{|{z{{{{|z{zy{{zzz|z{z|{{zz{zz{z{{{|||{|{|{zzzzz{|||{{|||{{z{z{{z{{{{{{||{{{{z{z|{{|{||{{{{z{{{{{{||{|}z}{{{zzz|{|z{{{{{||z|{{zz|{|}{||{{{{{{z|z|}|{|}|}||{{z{{|{{{|}z||||z{{{{z{||||}|{{|{{{{z|{|{|{||||{{{{{||{{{|||||||z{|||{|{{|{}||}|{{{z{z{{{|{{||{|{{{|z{{{|}|{{}{}|{|||{z{|{||||}z|{{z|{z{|{|{{{{|{{{{{|z||||{{|z{z{{z{zz{{||{|}}}||||{|{|}}||||}|{}}|{{|||||||||}|{{z{{|}|}|}}|}|{z||{{|{z||}|{|||{z{|zz|{|{||||{{{{{z|{|}|{{||{|z{{z{{z{||z||||z{{{z{z{{{||{|{{{z{{{zz{|{{{{{|z{{{z|zz{{{||{|||{{|{zyz{{|||{{|||{{||y{{{{{{{{{|{|zz{{|y{|z{{||}z{z{{{{z{{{||||{|}{z{z|{{{{{{||||{{{z{{z{||||z|{{{z{{z{y|{|||||||{|{{{{|{|{{{}{{{{{zz{{z{{||{||{{{zz{{{z{|{{{{{|{{{z{{z{{{||||||{{||{{{{|{{|}|}}{z|||{z{|||}{|{|{{{|{||{{|{{|||}|{||||||{}}|{|||}{{|{{{{{}||}}}||{{|{{|{||}||{||{z|{{|||{||{}{|||{|{{{|||{|||}}}{{{z{{|{|}{|}||{|{|{|z|{|||{{|||z{{z{z{z|{||{~}~|}||}{|z|}{|}}||}||{|{{{{|||}||}{||{{|{|}{{|{}|}{{{|{{z{|||{z|}|{{|{{{{{{{|{{|||{z|z{{{z{|y{|||z{z{{{{zz{{{||||{z|zzz{zz{{{{{|{{{{zy{z{{{|{{{{|{zzzzzzz{{{{{{|{{zz{{y{zz|{z{||||{z{{{z{{zz|{z{{|{z{z{{z{{{{|{||{{zz{z{{{z{{}|||{|{{zz{z{|{|{{|||{{|{{z{{{z{{|{{{|{{{{{{{{{{z{|||{z{{{{{{{}|{{{{|z{|zz{{z{|{{||||{{z{{{z{{{|z{|{{{{{{|{z{||}|}}|}{{{{{{{{{|{{|{}||zz{{{{{{||||||{|{|{{z|z||{|{|}{|z{{{}|{|||||{|||{||{|}{{}||||||}|{|{{||{||{|}|||z{{{{{|{|{z|||||{||{{{{|{||z|}{|{|{||{z||||||||{|{|{zz{{{|}{|||{{{zzz{z|{|{|}~}|}}{||||}}|}}|}}}}{{|z{||||}}|{}||{{||{{|{||{|}||{{{{{{{z||{{||{|{{|{{{{{{|||{{|{{{|||z{{|||{{|z{{{{{{z{{z|{{{|z{{zz{|{z{||{|{{|{{z{zz{{z{||{{|{{z{{z{{{{{{{{{{{|||{|{z{{|||{{||{{zz{|{{{{{z{||{||zz{{{{{{{{{|||{{{zz{z{||{{z}{{{{{z{yz{{{||{||}{{{{{{{{||{{|{{|{{zz{{{z|||{|{{{|{|{|{{z{||{{|||{{{{{||{{|||||}{||z{{{{{|||{{{{|z{y{{{{{{|||{|{|||{z{{{z||{|{|}}|{|{|zz{||||||}{|z{{|{|{{||||||||{||||{{{|||||||{{{}{|{{|}}||{{}{{{||{z{|||{{|||{{|{||{{}|{||}}}|{}z||{{{|{{~||}|{|{|{{{z|{{{||||z{{{{|{|{|{z{||{z{{{z|z{{{||~~}~|}||||{|}~}|}|}}||}{{{|{||}|}||||{|{|{|||||||}||{}{|z{|||}|{|||||{{{z{z{{|||||{|z{{{z{{{|z{{{|{|{{{{|{zzz|{|||{{{zzz{{{{{{z{{{|z{{{zzzzz{{{||||{z{{zzz{||{}|{{|{z|z{{|zz{|{{{|{{z|z{{z{zz{|{|{|{zzz{{{z{{{{{{||{z{zz|{{{|{|{{||||{zzz{zz{|{{{||{z|{zz{||{{|{||{z|{{{{z|{{{|||||{z{z|y{{||||{{{}{{{{|zz{{||{{||||{|{|z{{|{|{||{{{{||{{{z||{{||||{{||{|z{||{|||||{{{{{{{{||||||}||{z{{{{||}{|||}{|{||{{||||||||||}|||{|{|{||}|{||{|||{|||||}|}{|{{{|{{||{|||}|}|}|{|{||||||||}|}}|{|{{z{{||}||||}}{{{{|{z{||||{{|{{{{zzzz|{|{|}}}||||}{|}~|}~}|}|}|}{|{{|}}}|~}||{{||||{{|||||||{z{{{|{{||||{||{|{{{z|{{{{|{{|{|{{|{{{{{{|{|{|}zz|{z{{zz{||{{|{{{{{z{{{{{{z{||{||{z{zz{{{|{{{{||{z{{{z{{{{{||{{|{z{{{{|{{{|{|{||{{{{{z{z{{z{{||||z{{zzz{{|{{{|||{{{z{|{{z{{{{{|||{z{|{{{{|||||||z{{z|yz{|{{|{|||{z{|{{{{{|{||||{{|{{z{{{{||{||}|{{|{{|{{{||}{|||z{z{{||{{}{{{|||{{z{{{{{{{|}||}||||z{|{{}}z|z{|}|{{|{|{{|||||||||{|{|{||{|}||{|}{||{{}}{{{{|}|||}z{{||{|{}|{|}|}{|{|{|{{{}|||{||{{{{|{{{|||}||}}}{|{|{{{}{||}|}|||zz{{{||||{|{}|{||{{{|{{|{|{||{|{{{{z{z|z|z{~}}{}||}}|||~|~}}}}|}{||z{{|||||}}}|{{{{{{{||{|}}}|{|{{|{{{{|||{{|}|z{z{{{{|{||||||z||{{|{||{{{|{{{{{{{{{zz|{|{{|{z{{z{{|{{|{||z|{{z{z{zzzz{{{||||{{{zz{zz{|{{{|||zzz{|{{zz{|{||{{|{|{|{z{zz{|{{{{{{{{z{{{{z|z|z|{{{{{zz{z{{|{{||{{|{{{{{{{{||{{|{||{|{{|{{|{{{{||{{{z{|{{|||{|||||{|||{{{{{||||||||z|{{{{{{||{}}}{{{{|{z{{||}|||||{zz|{{{{||}|{|||||||{{|{|{{|{||}{{|{{{{{}||}|{{||z{{|{{|{}|||}}{|||{{||||{{|}||}|z{{{|||{||}|||}{|{||||{}|{}||||{|z||{{{|||{||{}{|{||{{{||||||}}{{{z{{{{{}||{|}|{{{zz|{{||{{|{||{|{|{z{{{{{||}}~~~}|||}|}}~~}{~}}{{||}|{|||||}|}}{z{z{{z{|{{|||||{z{|z{{||{||||{|{{{{z{{{|{{||{|{{{{{|{z{|{{{|{{{z{{{{{z{z}{{{{|{{zz{{y{{{zz{{|}z{{{{{|{z{{{z{|{{z{zzzyz{{||{{|{{{|{{z{{{|z{{}||{{{{{z{z{{{{{|{|{{{{{{zz{{{|||z{{z{{z{zz|{|{{|{||z{{zz{{{|{{|{||{{{{{{{{{{{||||}{z{{{zz{{||{{}}{{{{|{z{{{|{||||{{{{{z{{{|||{{|||||{{z{{{|{||{||{z{{{|{{{{{||{|}|{|{{{||{|||||{}}|{|{z{{||}|||{|}{{|||{|{}|~||}|{|{{{|z|{||||{|||{{|{{{{{{}|}|||}}{||{{z||||||||{|{{z|{z|{||||{||{|{{{|||{||}{}{|||{{||{|{||{||}|{{z{|{{{||||{{{{{{{{{{zz{{{|{~}}}}}{||}{}}}}{}}}}{|{|{||||}||}|||}|{{{{{{{|||}}|||{{z{{|{}{|{||}{{{{zz{{{}||||}||{|{{|{{{||{{{|{|{{{{zzzz||z{{{|{|{{zzz{z||||{|{{zz{{{|{{|{{{{|{{{{{z{yz|{{{|{{||{{{{zz{||{|{|}{{{{z{z{z|{{{{||{z{|y{z{z{|{z{{||{{zzz{z{z|{||{||{{{{{{z{{{|{|||}|{{|zz{{{|{{{}||z{zz|{{{||||{|||{{||{{|{||||}{{{|{|{{{{{{|||{||{z|{{{{z{{}|{{|{{||{zz{z|{{}|||}||||{z{|{}|{|||||{z|zz{{{||||}|}||{{|}{{{|}}|||{}{||{{||{|||}||}||||||||{{}{}}}}{{{{{|{{|||}||}}||{{|||||||{|{}}|}{|||z{z{|}}|}}|||{{{{|z{}|||||}{{{{{|||{|{}{|}|z{|{{z{{{{{|{}}}||||{}||~}||}}}}||{|{|{|||}|}|||{{||||z||||}}|||{|{{z{{{}|{|||{}{|{z{{z{|||{|{|{z{zz{|{{|z{|{|{{{{{{{{{|z{z||{|{{{z{zzz|{|{|||{{{zz{{z{{||{|{{|{{|{z{{{{|{{|{|{{|{{{{z{z{|{{{|}{zz{{{{zz{z{{|||{zzzzz|{|{{{{||||z|{z|{y{{{||{||{z{{{z{{|{||{|||{z{{zz{{zz|{{|||{{z{z{{z{{|{||||{z|{|z{{{{{{{{{z{{{{{{{{{|{{|{||{{{{|{z|||{{{}{|{|z{{{z||||z|}}|z{{|z{{z|||{{|||{z|{}{{{{|{|}||{|{{|{|{{{|||||||{{{z{{{{{|{}||||||{|{||{{}|||||{|||{{|{||{{{|}||{{{{|{{|||{||{}}|{{{{|{{{||||~|||{{{{{|{{||||||||z{|{{{{{|||{{|{||{{{zzzz{{{{~}~}}~|}|}|}~}}{||}|}|||||}||}||||~{{{{|{{{|{|{}||||{{{z|{{{|{|z{|}{{|{|{{z{|{|||{|{{|{{{zzz{{{{{|z{{{{{zz{{{|{{|||{z{z{|{{{{{{{{}|{{{{{zz{{{{{{{|{{{z{{z{{|{{{{{||{z|{y{zz{|||z{{{{zz{zzzz||{{z|{{|z{z|z{z{|{{|||{{{{{{{z{{|{||||{{{{{{z{z{{|{|{||{{{{{y{{{|{{{{||{{{{z{|{{{{z||||{{{{{{{z{{|||||}|{|{{{{{|{}||||}{{|{{{{z{{{|{||z{{{{z|z{||{{{|}}||{{{|||||{||{}|{z}||{{{{}|||~|||{|{|{{{||||||}|{||{{{{|}|}|}}|||{{|{z|{{|||||}|{{||{{{{{||}|||||{{|{|{{|{{{||||}|||{|{|{}||||||{||{|{{{|{{|{||||||{{z{|z|{||{|||z{{{{zzz||{z~~~~~~~~|}|~||}}}|}||{|{|{||{||||}|||{|{|{|{{{|||{||}|{{{{|{||{|||||{{{{z{{{{{{|||{z{z{{{z|{{}{||||zzz{{zz{{{{{|{{{{|z{{{{{{z{{|{|{{zz{z{z{z{{z{{{z{zzyzz{{||{||||{{{{z{{{||{{|{|zzzz{{{{zzz{{{|{{{z{z{zzz{{{|{|||{z{z|{zz{{{|z||{{{{{z{{{{|{{|}|}|{{{{z{{{z{|{{|||zz{|z{{|||{||{|{|z|z|{y{{|{{|{{{z{{{{|{||||{{|{{{{{z{zz|||{{|||{{z{|{||{{||||||z{{{{{|{|{{|{|||{{|z|{{|||{||}|{|z|{{{|{||}|{|}|{{z{|{{|{|||{||||{{{||{{{|||{|}}{{{|{{|{{|}}||||{||{{{{z{||{|||}{|{{|{{|{||||}{|{{{{{{{{{||||||||{z|z{|{||{|||||{z{zy{zz{||{{~~~~|}}|}}|}~}}}|~~||||{{|}|{|}|||}{{|{z|{z||||}||}|||{|{{||}||{{}}|{{zz|{z|{|{{{|}{{{{||{z{|{z{{||}{{{zzz{{||{{||{{z{{{{z{{z{{|{{|z{{{zz{z{{z|{|}{|{{{z{z{{{{{{{|{{{{{{{zzz|{{{{{{{zz{z{zyz{{{|{{{|{zz{z{{z|{{|||{zz{|{{z{{|{||{||{{zz{{z{{||{|{{|{{{zz{{{|||||||{{{|{{zz{|{{|||{|{{|{z{{z{{{|{||{|{{z{{{{|}|{||}|{{{{{|z{{||{{{{{z|{z{{|{||}||{||{{{{{{{{|{{||{}}||{|{{{||||||||||{{{{z{|{{{|{{|{||||{}||{}|||}|||{{{{{{{{}}||||{|{{||{{{{{{|}}|{{{|||{{{||{|||}|||{|||z|~|{|}{{|{{z{zzz{|{|{{|||{{z{{zz{|{}||{||{{|y}z{z||||z}~~}}~}|~|}~}}|~}}{||||{||~}}}}|}||||{{{{|{{{|||||{|z{|{{|{{{|{|||||{{{|zz||{z{{{|{{{{z{{z{{{{{|{||{|z{{{{{||{{|{|{z{{{|{z{{z|{|z{{z|{{{{{z{||{||{{y|zzzzz{{{{|{z{zz{z{{zzz{{|{{|{|{{{{{{{{{|{{{{||{{{{z{{z{{{|{{{z{zz||zz{}|{||{||z{{|z{z|{|{{|{|z|{{{z{{z{{|||}||z|{z{{{{|{{{{|{{{z|{y{{{||{|}{|{z{{{{{{||||||}{|{{{{|z{|||{{|{{||{z{|{{{{{|||{|{z{z}{|{|{|{||{|||{}|{{{{|||}{{|{|{|z{|z||{|||}}{{{{|}|{||{||}|}}{{|||{{|}||{||}|{{|{|{||{||||||{{{z{{|{{|||{|}}||||||{{|||}|{|}{{|{{|{{{|||{||||{zz{{{z{|||{}|{{|{{{z{|}{{||~~~~~~~~|}}}}~}~}}}}}||||{{}}|}{|}}|{|{{{|||||{|||{{z{{{{{|{{||{{}|{{{{{z{{{{||{|{|{{{zz{|zz{|{{|{||{z{{zzz{{|z{}{{{{|{z{z{{{z{z||{{z{{{zzzz|{|{{{zz{y|z|zz{{{{{{{|{zz{zzzz{|{|{z{{{{z{{{{yz{{z{|z|zz{z|{{{{{||{|{{|zz{{{{{{{|{{|||{{{z{z{{{{{|||||z{z{{z{{{|{|{||{{{{zz{{{|{{|{||{||{zzz{{|{{}|{|{{z{{{{z{|||{|{||{zz{{{{z||{{||{|{{{{{{z{{|{||||{{{{z{||{||{|||||{{{||{{{|||||{|{|z{||{{{||{||||||{|{{{|{{||||||{}{{{{|{{||{||||}||{|{|{|||||}|||}{|{|{|{||||{}}}{{{{{{{{||||||{||{z{{{{{{|||{|||{{{{zz{z{}{{|||{{{{{zzzz{{|{|~~~~}}~}}}}}}|~}|{||}{|}|}}||}}||{||}{||}|}||}||{{||{{{|{{}|{||{{{{{{{{{|{|{|{}{{|{{{{z{|{{{{||{{{{|{{{||{zz|||{z{{z{z{{{{|{{|{{z{z{{{z|{{|{||{{{|{{{z{{{|{{z{||{{zz{{z{{|{{{||{{{{z{{zz{{{{{|{{{{zz{{{z|{|{||{{{|{{|zz{{{}|{|}{{z{{z{{{|{{{{|{{z{|{z|{{{|{|||{|{{zzz{{|{|{}{{|{{|{z{{{{||{||{||z|{{{{{|||{{|}{z{|{{{zz}||{{||||{{{|{|||}|||}||{||||z||{||{{|}}|{{|{{z{{}||}||||z|||{{{|{||~{{|{{|{|{{|{|{||||||{|{{|{{|}||}|}}}{|{{||||}|||||||{z|{|{{{|{{}|}||{{{||{{}{{}}||||{zz{{{{|{{||}|||{{||{{{|{||{||{{z{|y{z{{|||{~~}}~|~|}~}~}}~|~||}}{{|}}}}}}~|{|{{{{|{||||}}}|{{{{{z|}{|}|||{|||z{{{z{||{z|{|{{{{z{|{{||||{{{{||{zz|z{{|{{{{|{zzzz{{{{{{{||||{zz{zz{z{{|{|||{|{{{zzzz|{|{||||{{{y{zz{{{|{||{||{{zzz{zz||{|}{|{{zz{{zz{||{z|{|{z{{{|{{{{{{||}||{|{|z{{{|}{{||{||{|{{{{{|z|||{|||z{zz{{{|||{{||{z{{{{{|{{|{{|||{{{{{|{{{|||||}}|{{{{|z{|||{{||||{{{{||{}{|{}||||{|{||{||||||}|{|{|{z{{{||}|||||{||{{|{{|||{||}|{|{{{||{|{|{|}{|{{{{{|{{|||||}|}{|{||z|{||||}|}||{|||{{||{{}||}}{{{{{|{{||||||||{|{{{{{{{||{|}||{{{{{{{{{{{||||{{|{{{{|{{{{|{~|}~}}|~~}}~}|~}|||~{{{}}}~|}}}|{{||{{|||||}|}{{z|{z{z{|}{|||||}{|{{zzz{{|}||}||{{{{z{z|{|{{{{{{zz|{z{{|z{{{||{|{z{{z{z{|{||{||{z{{{{{z{{{{{|||{{z{z{zz{|{|{{}{{||{zzz{{||}{{{{{z{{{zzz{{{{z{{z{{{{zzz{|||{{||{z|{{{|z{||{|{{}|{{{{zz|{|{{{{|||z|{z{{{{{{{{||{|{{|z{z{{{}||}||||{{|{{{z{|{|{|||{{|{{{{z|||{{{{|{{{|z{{{{}|||{|||{|{|z{{{{|}|||||||{{{|{|}{}|||}|{{{{|{{|}|||{|z}{{{|||{~||||||}|{|{{{|{{||||}|}|{}{|||{|}}|}||||zz{{{{{{}{{|~|}||{|{{{|{{}||{}||{{{||{{||}||||}{|{z{|{|{|}|||}||{{|{z{y{||{{}}|||{|{{zz|{|{{~~~~~}}}~~}}~~~}~}||||||{||}}}|||||{{{{{|{||{||}||{{z{{{|{|{{{|||{|{z{z{|{||{|{|{{{{{|{z{|||{||{|{{{zzzzz||z{|{{{{{zz{{z{|{{z|{|{zz{{zzz{||{{|||z{y{z{z{|{{{{{{{|{{zzz{{{|}|{|||{{{{{{y{{{{z|{|{{z{{z{{{{z{{|{{|zz|{{{{z{{z|{|{|{z{z{{{|{{{{|{|}|{|{zz{z{{{|||||{{|zz{{{z{|||||{{{{z{zz{{||{|}|{{{{|{zz{|{{{{{|{{{z|zzzz|{{{||{{{{{{z{{{|{||{||{{{z|{{{{{||{||}}{z{{{{z{{{|{}||||{z{{{{{|||||}}||{{{|}{|{}{{}}|}|{{{||{{{}|{||}||{||zz{{{|{|||}{}{{||{||||||{|||{{|{|z{{||||{||{{{|{{{{{{|{||{|||{|zz{zz{|{{{||{|z|{{z{{{{||{|}~}}}~|~}|~}}}|}{{{|~|}||~}|}||{|{{|||{||}||{|{{|z{{|}}|{|{{{z{z{z{z{|||{|||{{{z{{{z{{z{{|{{{z}yz{z{|{{|{{{|zz{{{{{z{{{|z{{{zzz{zzzy|{{{{|{{z{{{{{z{{{{{||{{|{zzyz{y{{{|{{||{{{{{zz{{{z|z{{|{{{z{z|zz{{{{{{|{||{{{yz{|{|{{||{z{{||{{|}|{{{|||z|z{z{z|{{|||{{z{{z{z{z{||{|{||{{zz{zzy{||||{{{{{{z{zz|{|{{||{{{z{{{{{{|||{{|||||{{z{|{{{{}||{{{{{{{z|{|{{|{|||{{{z{{z{||{{{||{{{{{||{z|{{z||}{{{{|||{{|{~|||}}||{|{{|{}|}}|||||{{{{{|{|{||{||||zz{{{{|{|||||}||{{{|{{{|{|||{||{z|{{{{{{|{{||||{|{|{{|{{||{{{}{{{|zz{{{z||{{}}~}}}~}~}~~~~}|||}{|{|}}~|}||{|||||||}||{}||{|{{{{|{z{|{|{{|{{||{{z{z{|{||||{{{|z{{{zzz|{{{{{{||{z{z{{{|{{||{z{{{z{z{zz|z{{||{{{zz{zy{{{|{{{{|{z{z{{z{{|{||{{{{{zyz{y{|{{{{{|{|{{{yzzz{{{{z|{{{{{{{{zz|{{z||z{z{{{{{z||||{{|{|{y{|zz{|{{{|||||{{zz{{{||{{z{{|{{zzz{{z{|{{||{||{zzzz|{{{}{||{{{{{{z{zz{|{{{{|||{{{|{z}|||{{|||{z|z{z{{{{}|{|{}{|{{|{{{{{||{|||{{|{{{z{|||||||||{z{{{{|{||||||{}{{|{{|||||||||}|{|{{{{{{}}|}|}||z||{{{|}|||||}{{{{{{{{{|||||||{}z{{|{{|{{||{||||{{{|{z{||{|{||{|{{|zzz|{|{|{||{{|{z|z{{{{|{|~}~~~~~}~|}~||||||{||||}{|}}|}|{|}{y|{|||}|||||{{{{z{z{{{{|}{|{{z{zz{|{|{{|}{{|z{z{z|{{{{||{{{{zz{zz{||{{|||{z{zzzzz{z{{{|{{{zzzzzzz{{|{{|{{{zy{zzz{{{|{|{|{z{{{zzzzzz|{{|}{{zz{{|{y{yzz{{|{{zz{z{zz{{{{z{|{{z{z|z{zz{{|{|{{{{{z|z{{{{||{{{|{z{{zz{z|{|z{||{{{{{{zz{{|{|{||{{z||zz{{{||||{{{z{|{{{|z{||{{||||{{|{z{{||{{{|{|{{z{{|{{{||||}||z|{||z{z{|||||||{{||{z{{||{||||||{{{|{{{||||||}|{{{{||{|{||}{}||||{{{{|{||}||}|||{{|{{y{{|||||{||{{{z|z{{|||||||{{z{|{{||{||||||{|{z{|{{{|}|{{}||{{z{{z{|}|||{|{{z{z{{{z|||{{~}~}}~}}|}}}}}{}}||||{|||}}}{}||{{||}||{}{||{|{{{|{||||||{{|{z|zzz|{{{|{{||}{z{z{||z{|{{{||{{z|{{{{z{|}{{{|{{{|{zzz{{{{{{|{{{{{{zz{z{|{{|{{z{zzzz{y{{||{{|{{{{{z{{z{{z{{{z|{{{z{{zzz{z{{|{|{{{zz{zz{{|{|{||}|{zz{z{{z|||{|{}{|z{zzz{z{|{{|||{{||{z{{{|{||{{|z{z{zzz{|{|{{|{{{{{{{{{{{||{|{{|{{{z{|{z{|}||{{{|{{{z{z{z||{{||{{|{{{{{{{z}|{|||{{{{{{{{z|{{z||||{{{{{{{||{|||{}|{{{|{|{|||}{|||{{{|z|{|||{||~||||{{{||{|}{||||}|{||{|||{|{|||||{z{{|||z{{||{||{}{||{|{{|{}|||}{zz{z{{{{z||||}|||{|{zz{z{|||{{{|{{z{z{z{{{{z|~~~~~~}~}~~~|}|}{}||||}}~|}|{z{||{|||{|||}||{{{{|z|{{|{|{|}{||z{{{z{|{|{{||{z{{{zzz{{|{{{{||{z{{zzz{|{z{{{{{{{{z{z{|z{||{|{z{z{{z{z{|{{|{{{{{zz{|zz{|||{{|{{zzzy{{z{|{{|z|{||zz{z{{{{|{{{||{{{{{{{z{|zz{{{||{{{{{{z{|{|z}||{{{{{{{|{{|{|||||{{{{{{z{|{{{{||{{{{z{zz{||{|||{{{zz{z|{|}{||||{|z{|z{{{|z|||{||{{{||{{{|{{{{|{||z{{|{{{|{|||}||z|{{{|{{|{|||{|||{{z{{zz||||{||{{{z|{{{{||{}||||{z{|{{||||||}|}||||{{|{|||}{}|}|}{{||{{{|}|}{|}||{{{{|{|||z|||{||||||{{{||{}}}|}{{{{{{{{z{|{{{{{{{z{{z{z{|{|{|||{{{{{{{{{|{|{~}~}~~~}}}~||}||}}}}}}}|}}|}|{|{z|{{||}||||||||{{{|||{{||}|{{z|{z{{||||||{{|{{|zy{{{z{||{{|{{|{|{{{|{{||{{|{zz{{{{{{{|{{{zzz{{z{{{|||{|{{{{zzz{{z||z|{|{|{{z{z|z{|{|||{|z{zz{zzy{{|z{{{}|{{{{{{z{{{z{{{|{{z{{{{{z}|||||{{{{|{z{|z|{|z{|||{|{|{{{{||||||}{zz|{y{{{{|{{|||||{{z{z{{{{|{|||}|z{{{{z{|||{|||{{z{{{{||{|{|{{{{|||{zz{{|}}||{|{{|{{{|{{||||}|||{{{|{|{{{|||||}{||{|}|{{||||||}||{|{{}{|||||||}}|||{}|{|{||||||{}{|||{{|{|||{|}|}{{{||{|{|}}||}|||{{||{{|}|||}||{{{{{{{z|||{}|||||{{{{zz{|{|{|||z{|{{{{{{||{{~}~~~~{~}}|}|}}||}}}}}|~|||{||||}||||}|}|{|{|{{|||||{z{{|{|{||{z{}|{{}{|zz{{{{zz{}{|{||{|{{|zz{zz{|{{{{{{zz{y|{||{{{{{{{zz{{|{{{{||{{{||{{{{zzzz{{|{{{{{{{{zz{{{{{|{||{|z{|{z{{zz{||{{|{|{z{{{{{z|z||{|{{z||z{{{{|{{{{||{{{{{{z{{|{|z{||{zz{{z{{|{{{|||}zzzz{{{{{||||||}|||{|{{|{||{|{{{{z{{{|{{||||{{|{|{zz|{{{{|}|||||{{{{{{z|{||}}}||{||{|{||{{{|||{||{{{{z|{|}}|{|}|{|||{|{{||{||||}|{|{|{|z{{{||||}||z{||{{{|||||}||||||{{{|}|||}|{|z{{|{{{|{|||}||||||{{{{|}||||{||{|{{{{z{{||||}}|{{|{{|{{|{||||{|{|{z||{{{|{{~~~~~~}}|}|{|}}|}}}}~}}{}||{|{||}}|}||}{|{{|{||{{}|{{|||{{{{{z||{{|||}{{{{z{|z{{{{||{z|{{{{|z{{{{{{{||{zz{zz{z|{{|||{|z{{{zz{{{{{{|{||{{{z{{{{{{{||{||{{{{z{z{{|{{|{|{{{{z{{{z{{{{{|{{{zz{zz{z{|{{{|{|{{{{{{{{||{{{{||{|{{{{{z|{{||{{{{{{{{z{{{z{|{|||{|{z{z||{{|||||}|{zz{z{{{{|||||||{{{{{{{||{|{{|||{z{{{{{||||{|}|{{|{{z{||{}|||||{{{|{{{{||{|{}}||{|||yz{|}||||}|{z{{{{{{||||{|}||{|||{{|{|{|||||}{||{||{z||||}}||{||{{{|||||||}||{|{{{{{{|||{}}}|z{{||{{{|{|||{{{{{{|{}{{|{||}}|{{{{{{{{{||{{|||{{|z{zzz||{|{}~~}~~}||~}{}|{}}}}}~}{{{{|||{}|||}||{|{{|{{{{{||||{||{{{z{{{{{|||||{{{{{{{{{{z|{{{||{{z{z{z{{{{|{|zz{{{{zz{{z|{{|{|{|{{zz{z{{{|{|{||{{zz|z{{{{{|{||||z{{{z{z{z{{|z{|{{{{{{{{z|{z{}{{{{{zy{{{{{|{{{{||{{{{{{{z{{|{{|{|{{{z{{{{||{|{{|{{z{|{z|{|{{}{|{{{{{|{{{z|{{{||{{{{{{{{{{{|{{{||{{{{|{{{{}|||{|||{{{{{z{|{{||{{|{|{{{|z{{{|{||||{z{z||{{{||{|z||}{{|||z{z{|||||||{z{{{{||{|{||||{|{|{||||{||{}}|||{{|z{|z{}{||}{}|{{{|{{{{|||}||||{z||{z|||||||}}||||||{{|}{|}|{||||{{|{||||{{||{{{{{z{{{|}||{{{|{{{{{{zz{{|||~~}~~~~~~~}~}}||||}}}~||||||||||{|{||}}|||||{|{{{{{|{{||||{|{zz{z{{{}|{|{}{{|{y{|{{{{z{{{|{{z{{zzz||{|{|{{|{zzz{{zz|{{{{z{{z{z{y{{{{z|{{|{{zyzz{{{{{{{{{||{{{zz{{{z{{{{|||{zy{{zzz{{{zz{{||{{zzzz{{{{z{|{{z{{z{{{{z||{{||||zz{z|{{{|{{|{|{{{|{|z{{{z{|{{{{{{{zzz{|{{}|{|{|||{z{z|{{{||{{{|{z{zz{{{{||||{||{{{{{{{|{}|{|||||{|{{z|{{{{{||||z|{{{{{{{|{{{||{|{|{{z{z{|{{|||{|{{|{{z{||||{}}}{{|{{{|{||{|{}|}|{|{{|z|{}{||||{|{{||z{{{||||||{|{|{{{|||||}||||{|{{|{{{{|{|{|||{{{{|{{{||||{||||z{|z{z{{{|}|{||{z{{z{{{z{{|{~}~~}~|}}~}}|{|}}|}}~}||{|{|{{}{|}{||||{z|{{|{{{||{|}|{{{{{z{{|{{{||||z{{{z{yz{z|{}|}{{{{{zz{{|{|{{|{{{{zzyz{z{|{{{{||{{{{{zzz{{{{{{|{{z{{{{z{{{z{|||{{{z{z{{z{|{||{{|zz{z{z{zz{{|{z|{z{{{zz{z{|{{{{z|z{{y{{|z{|||}||{{{{{z{{{{{||{|||{{{{{{z{{{{{{|{|{{{{z{z{{{{|||{}||{{{{{|{{{|{|{|{z{{{zzz||{|{}{{|zz{{{{{|{{}{}|{|{{{{{z{|{||{|{|{|z{{{{{||{||{|}|{{|{{z{{|{||{||{{{|{z{{||{{||||{|{{{|z{{{{}||||}{{{{|{{{}|||}}|||{{||{{||}~|||||z{{{|z|{||{|||||{{||{{{}||||{|}{{{z{{{|{}|||{{|{|{|zzz{|||{{{|{{{{{z{{{{||{|~~}~}|{|{{|{~|}}}}}}{{{{||{{{|||{||{|{{{zz{{{|{z{||{|z{zy{z|{||{{|{{z|z{{z{{{|{|{{{|{{z{z{{{{|z{z{|z|{zzz{{zz{||{{|y{{zzz{{{z{}|{|{{zzzzzz{{{{{{{{{|{|{{{zzz{{|{|{||zz{{z{{z{{{{{{|{|{z{{{z|z{{{|{{{{{z{zz{{|{{|{|{{zzz|zz{{{|{{|}|{{{{zz{z|{|{{|{{z{{{{{z{||{|{|||{{{{|{{{{||{||{{|{{|{{zz{{}{{||||{{{zz{zz|{{{|{{{{{{{{{{{|||||{||{{z{{{{{|z}{{{|{|{{|{{z||||||||||{{{z{{|}|{||z||{|z{{||||||}|||{z{{{|{{{}{|||||||{||{|{{|||||}|{{{{|{zz{|{|{|}}|z{{|{z{||{||{{}{{zz||z{z{z|{|||{|{{z{{{{{{{|||z{{{{{{zzz||{{~~~~}}}}}|||||||}||}}}|{|||||z|||||||{|{|{{|{|{|{|{z|{{{{{|{z{|{{|z{||z{{{z{{{{{{{|{{|z{z{{z{z{{{|{{|{{{{{{z{{{{z{{||{zz{{zzzzz{{{{||zz{{zzz{zz{{z|}|{|z{{z{z{{{}{{{{{|{z{zzz{{{{z{{{{{z{{zy{{{|{{{||{{zz{{{{{{|{{{{|{{{z{{{{z{{z|{{|}zz{{{{|{|{|{{||{{z{{z{{zz|||{{{{{{{{{{z{{||{{|z{{z{|z{{{{|{{{|{{|{{zzzz{{|{{{|{{|{z|{{{{||{{{|{{{zz{{{|{{|{||{|||{z{{|{z|||||{|||z{{|{|{{}{{{|||{|{{{{{|||{{|}||||{{{||{{|||||}}|{{{{z{|{{{{|}{||z{{{{{{|z{||{|||{z{{{{|{{|}|}|{{{{z{{z|{{||{}||z{z{{z|{{{{||||{z{{z{zzz|{{|{~~~~~}~{{|}{}}||{}}||||{{|||{|{{{{|{|{zz{{|{zy|{|{{}{{{zz{z{z{{{|||{|{{|z{{{z{{{{{|{{z{{|{{{{z{|{z|{{{z{zz{{{z{z{{{{{{yz{z{z{{{{{{{|{z{{{zz{{{|{z{{{|{z{{zz{{{{{z{{{{{zz{{zz{z{{{{||}{z{{{z{zz{{|z||{zz|{{{{z{{|{{{{|{{zz{zzz{{|{{|{{||{{{z{z{{{{|z||{{||{zzz|||z{{{{{z{{{{{{z|{|||{{{{{{{{{{||||{{{|{z{{{{|{{|{{{|||{{{{z{zz{|||{{||{{|{{{{{{||||}{|}{{{{{{{|||}|{|{|{|{}{{{{|{|||||{{|{z{{||||||{{|}{{{{{{||||}|||{|z{{z|{z|||||||||{{{{||{||}||{|{{|{z{{{{{|{{{||{||{z||{z{|{|||||{{z{{{y{{|{|{|{{{{||{{{{{{{{{~~~~~}||}{||}}||~}|||||{|{|{{{|}|{|||{{{{zzz||}}|{||{||z{{{{{|}{|{{}{{|z{z{z{|{z|{{||{y{zzzz{z|{{{{{z{z{z{{{|{{{|{{{{{{{zzzz{{{{{|{{zzzzzzzzz{|{{|{{{z{{z|yyz{{{{|{|z{{z{{{z{z{{{{{{{{{{zzz{{{|{|{{{yz{{{z{z||{||{{{{zz|z{zzz||{{|{||z{{z{|{zz|{{|{|{|{zz{{{{|{{{{|{|z|{{{z{|||{||{|{{{{{{{{{|||{||{{{z{{{{{{|||z|{{{{{||z{{|z|}|||||{{{z{|z}{|||||||{{{{{{{||||||||{|{|{{{{|{{||{||{{{{|||{|{|{||||||{{{{|{{~{}|{|{|{|{z{z{||}{{||||z{{{{|{||{{|||{{|{{|{{{{|}{||||{{|{|{|{||{||||||{{{{z{z||||||{{{{|{{z{|{{|{{~~~~~}}}|||||}|{|}~|}|}{{||||||{|}|}|||z|{{|{{|z|z}|||||{{z|{|{|{{{|{{{{z{{{z{|{|{|{{z{|{{{z{{||{{|{{{{zy{{{{{zz{{{|{zzzz{{{z{{|{{z||{{{{z{z{{z}{{{{|||{zz{z{{{{|{{||{{zz{{{z{{{{{{|{|{z{zz{{{|{|{|{}{z{{{{{{{|{|{|}{{{zz{{{zz||{{{{|{{{z{z{{{{{||{{}{{{{z{{{||{{{|{}|||{{z{{{}{|||{||z{|{{{{|{{{{{}{{{z{{|{{|{|{||||{zz{||{{{||||{||{||{{{{{|{|}}|||{|{zz||{|{||||{||{z{{{{|||{||||||||{|{||{{||||||}{{||{|z{||}||}}|{||{{||{|||{}}|||z||{{{{{||}||||{{}{z|||||||}}||{{{{{z{|||{||||||{|{{z{{|{|||||||{z{{{z{z{|{~~~~}~~}|}||}|}}}}}~|||||{{|||{}}|}||{|||{{|{{{}{||}{{{{{{zz|||||||}|{z{z{z{{||z{}||z|zz{{{{|{}z{{{|{z{z{{|y|{{}{|||{z{{{|{{{||{}{|{{zz{zz{{{|{{|{{{{{{z{zz|{||{|{|{{{{{{{{{{{|{|||{|{{{z{{{{|{{||||{{{z|{{{||}|{{||{{|z|{{{{|}{{|{|{{{{{|{z{|{|{|||{{{{{{{||{}|{{||{|{|{z{{{|{||}{{|{{{{{{{|{|||{||{||{{{{{{{|||||{}{{|{{|{{{|||}}|{|{|{{{{{}{||||||||{{{{{{||||{|||{{{{{{{|}|}}|}|||{{{{{|||||||||}{|{|{{{|}|||}||{{{|{{|||{}||}|||{|z{{{|||||||~}||{||{{}||||}}{|{|{|{{{{|||{{|}||{z{{{|{{{||||||||{{{{{{{{{||}}}}}|}{|}}}}~}||{|||{||||||{}}}|{{{{|{|{|{|{{|||||{{{{z{||{|{{}z{{{{||zz{{{||{{z{z{y{zz{{{{{|||{{{{{{{z|{z|{{{|{{{{{z{z{z|||||{{{{|{zz{z{|z||||{zzzz{zz{|{{{|}{{{{{|{{{||z{{|||{{{{zz{{{{|{{|{|{{{{{||z||{{||{{{{{{|{|{|}{|||{{|{{|z{{{{|{|||{|{|z{{{zz|{{|||{|{|{{||{{{|{{|||||{{{|{zzz{|{{|||{{{||{{{|||{{}|{||{{{|{|z||}{||||{|{{||{{|{|{{|}|z{|{{{{|||}|{||{{{{{z{||}||||}}{||{{|{{{|{||}{||{|{{{{{|||}|}}||{{|{|{{||}||}}}|||{{{{{||||}}|}|{|{||{z|{{|{||||{{{|||{}}{|z}|||{{|{{{{{{}{||||{{{{z{z|{||{|~~~|~|}~||}~}||||}|{{{|||z|{|||||{|{|{|||{|{||{|}|{{{{{{y{|||{{|{{z|{{z{{{|{{z{{|{|{{z{{z{z{{{||||{{zyz{{{|{z{{{z{z{zz{{{|{{{|{|{{{{z{{|z{{{{{|{||z{{{z{{z{{{{{{{}{{{z{{{zz{|{{{||{zz{{z{z{{|z{{{||{{z{|{{|{|{{||||{zy{z{{|z|{{{{{z{{{{{{{{||{|{{}{{||{{{{{|{|{{{{{zzz{{{{{|{{||{{|{{|{|{|{|||{||{{{{|z{z{|{||{|||{{z{|{{{||}||}||{{{{z{{|||{|z|||||z{{{zz{}|{|||||{{{|z{{|}||||}{{{{{{{{|||}||}|}{|{|{|{{||||||||}{|{|{{|{||{||}}{z||{{{z{{||{}}}|{{z|{{{||||{|||{{{{z{{{{||||}||{zz{z{z{{|{|||}||{{zzz{{z}|{{~~~~}}}|}||}}||}||}{{|}|||||{{}||}|{||||{{{}{||||}|{{{{{{z|{||{|{}{{{{z{{z{{{{{{{||z{zz{zz{z{{z{{{{{{|{z{{|{{{z{{{{zy{{{zz{{{z{{{{{zz{zzz{{{{{{|{|{{{{{zzz{{zzzz|{z{{zzz|{z{{z{{|{{{zzzz{{{{{|{|||zzz{y{{zz{||{|}|{{{z{z{z{{{{{{|{{{{z{{|{{|z|||{}{{{{z{{z|{|{{}}|{{|z|z|zz||{{||{{z{zzz|{{{{|{{||{{z|{z{{||{{{|{|{{|{{z{z||||||{|{|z{|{{{}{{{|{||{z{|{z{{{||||}{{|{{z{|z{||||||||{{|z{{{|||||{||}}|{|z|{z||||||||}{{z{{|{{||||||||z{{z{{{|{||{||||{{{|{{|||{{|}{|{{{z{y{{{|{|{|||{{{|{{{z||{{|{}|{{|{zzzz|||{|~~}~}}~|||}|}}}}}}||{{|||{||||||||{{}{{z{|||||{{||{{|{{z{z{|{|||{|{|{{z{z{{{|{{|}{{{z{{{{{{{{z|{||zzzz{zz{{|{{{|{|zz{y{z{{{{z{{{{|{{{zy{zz{{{||{||{z{{z{{zz||{{{{|||{{zz{{z{|z{{{{|z{zzzzzzz{z|{{{{{{z{|z{||{{{{||{{zz|{zz{|{{{||||{|z{{{z||||||||{|{{zzz{{|||{||||{{z{y{{{|{{||{||z|z{z{{{|||{||||{{{{{{{||{}{{{{{zz{{{{{{{||||}|{{{{{{{{|{{|}||{|{{{{|zz{|}|||||{z{{|z|{{||||||}{{||{{{{|{|||}|||{{{|{{{{}|||||||{||{z|{|||{|{|{{{{{|{{{|{|{||||}{z{{{|z{|||||{}{{z{{{{{{|{|{}||{{z{{{{{{}}|||}{{zz{z{{z||||{~~~~|}~|}|||}}|}||~|z{{||{{{||||{|||{{zz{z{{{||{{||{||zz|{z|{{{||{|{|{zz{y{{{|{|||z{{{zzz{{|z|{{{|{zz|z{{zz{{{{{{{{{{zz{zzz{{{|z||{{zz{{zzzz{|z}||{{{{z{{{{{{{{{|{|||{{zy{zz{z{{|{|{zzz{{{{{|{{{|{|z{{{{{{z{{||{{|{{|{{{{{z{{|{{}{{z{{{zz{{{{{{z{{|zz{{z{z{z{|||{||{{{{{{{{||||{|{{|||zz{{{{{||{|~{{{{{{{{{|||{{|{{||zzz|{{|{|}{||{{{{{|{|{{|{}}|{}|z{{z{|z{{}||}|{{{z{{{{z||{|||||{{|{{{}{|}{{{|||{|||{{{{{}{{||||||{{z{{||||||{}{{{z{z{{{{{{}|}}||{{{z|{{{{||{||{|||z|{z{|{||}||{||{{{{{{{|{||||{{{zz{z|y{z{z{~}~}~||}}||}|}||~|~{|{{|{|{|}|{|{|{|z{{{z{zz{|}{{||{||{z{{z{|z{{{{|z{{zzzzzz{{{{|}{{{{z{z{z|{|{{}z|{z{z{zzz{{|{{{|{{zz{zz{{{{{{{{|{{z{|zz{zz{{{|{{{||{zzzzz{||{{z{{{{{{{z{z{{{{|{{{{zz{{{{z{{z{{|{{{zzz{z{{{z{{{{{|{{{zz{{z||{||{{{|{z|zz{z{{|z|{{{z{{{zz{{{||{{{||z{{{zzz|{{{|{{{|{z|{{z{z{{|||||{{{z{{{z{|{{{{||{{z{{|{z{{|||{|||z{{{|{{|{{z||{|{{{{{{z{z||||{{|z|y{{{{{|{{{{{|}||||{{{{|||{|||{||{||{|{{||||{}|}||{|{{{||||||{||{{{|{{{{{{||{||}{{{{|{{|||{||}||{|{z{{{|{}|{|||}{||z{z{z|||{{|||{zz{z{{{{{{{{~}|}}~|}|}|~}}|}~}|{{||{{|z}{{|||{{{|{|{|{||||{||{{z{{{{{{{{z{|||{|{{zz{z{|{|{{{|z{{z{{z{{{|{{{{{{{{{zzz{{{z{{{|{z{zzzy{z{|{{{{{|{z{zzzz{{|{{|{|{zz{zzzzz{{|{z|{{{z{{{y{z{{{z{{{{z{zz{{{{{|{{{|{{{{zz{{{{zz{{{{|{{{{z{zz{z||{z{{|{{{|zz{{{z{{|{|}zzz{zzz{{{{{|z{||z|{{{{z{|z|{{{|{{{{|{{z{|{|{}||{{{|{{z{|{{{{{||{{{{{{{{|{{|||{|{{{{{z{||{|{{|}}{|z{zz{|{|||||||{{{|{{{{|||{}|}}{{{{{{||{||||||{{{{{{{|{|||{|||}|{{||{|{|{{|{|{|{{{{{{z|||||||{}|{{{|{{|||||||||{{{zz{{|||{|||}}|{{{{z{{z|{{{{{|{{{zzz|{{{{{{~~~~~}}}||}|}{}}}}}||||{{{{||||}||{|{{{{{{||{}||z||{{|zz{{z{|{{{||||{{z|{|z{{{|||{{z{{{{z{|{{|z{|{z{{{z{{zz{{z{z|}{z{zz{zzzz|{{|{||{{{{{zz{{{{{|{{{z{z{z{zz{|{|{||{{z{{z{{zz{{|{|{|{{|z{{{{||z|{{|{{{{zz|zz||{{{||{|z{{{z|{z{{{{{||{{{{{{{{{z{{|{|{z||{{{{{||{|{||||z|{z{{z{||{|{{||z{{|{{z|{||{|}}|{z{{z{{{|||{}|{{||{|{{{||||{}||{|{||{|z}|{|{||||{{||{{z|||{|||||{|{z{{{{}||||||{{{{{||{{}|||}{|||z{|{{{|}|}|||}|{|{|{|{|{|||}|||{z{||{{|{|||{~|||{{|{{{|||}|}}|||{|{{{z{|z||||}{|{{{{{z{||{|{|{{{{{{z{{{|{z{~~~}}}}~||}|}}}||}|||{{{}}|||||||}}|{{||{{{||||{||||{{{z{z{{|}|{{{{{{{z{y{{{|{{{|z|{{{zzz{{{{{z{|{|{z{z{|{{{{{{{z{{zzz{{z{zz{{{||||{zz{{zzz{|{{}{{{|zz{z{z{{{{{{||{{zz{|{{z{|{{z{|z|{y{{z{z{|{{z|{{{zzz||{{|{{{{{{{|{zzz{|z{|{z||{{{{zz{{z{|{||{|{|{zz{{z{{z||{{|{|{z{y{zz{{|}{{{{||z{{{{z{{|||||||{{z{{{{{|||z{}|{{z{{{{{|{|||{|{|{{{|{{{|||{|{||}|{{|z{{{{|||||}{|{z|{{|{|{{{||||||{{{{|{||||||{|||{|{{{z||{||}||}{||{|{}|||}||||}z{{|{{|||{|||}|}{{{{|{{||||{|||{{|{|{{z{{z|{|}|||z|{z{{{{}|{{{|{{{{{{|{|{|||~~~}|}}||{}}}|}}}~|||{{}||}|||}||}||{|{|{z||{|{|||z|{{{{z{||}|{|}|{{{z|{{{{{{{{|{||z{{z{y{|{{{|{|{{{z{{{{{z{{z{|{|z{z{z{{{{{|{{{|{{{zzzzzz{}|{{|{|{{|{zz{z{{|||{|}{z{{{z{zz{{|{{}}|{{z|z{{{|{||||{{{{z{{|z|{z||}|{z{zz{z|{{{{|{{|{{z||{{|{{|{||{||z{{{{zzz{|}{{||{{||{{{{{{}|{{||}{z{|{{{{{|{||}||{{{{{{|{{{{{|||z{{|z{{||||||}|||{{{{||||z|||}{}|{|{{{{{{||{|{|}||{{|{{{z||||||||{||{{{{{||}||||}|{{{{|{||}|||}|||||{{{}{}}|{||}|||{{{{{|{{||{||||{{{|{{{||{|||||{|{{|{{{{||{{||}{|{{{{{{{|||{{{|{y{{{{zz|{|{{}~|}}}}|}|}|}}~}||{|{|}{|||||}~{|{{||{{{|{}|||||||{{z{zz||{|{{||{{{{{{{{{{{{{|{{{{zz{{{{{{||{|{z{{zz{{{{{{{{{{{|{z{{{zz{{|{{{{{{{z{{zzz{{{{{{|{{{|{zz{zzz|{|{z||zzz{z{zzz|{{||||{{z{zz{{|{{{{{{{|{{{z{zzz|{{|{||{{{z|zzzz{|{|{{|{{{{{zz{{{|{|{||{{|{z{{{{{|{{|{|{|{{{{{{{{||{||{{z{z{{{{{|}|{{|{{{z|zzz{|||{{|{||{{{{{|{{||}}||||{{{z{{{||{|{|{}{{{|z|z{|{|{{|||{||{{{|{|}|||{}|{z{|{|||z|{{{||}||{|{||{{||{||}}|||{{|{|||||{||||{{{|{{{||{{|||||{{|{{{{|{|||||||||{{{z{||{|||}||{{{{||{||||{|||{{{|zz|{{{|||~~}|}}}|}}}~}||~}{|{z}{{{}|{||}}|{|{{zzz{{{|}|{|{{z{z{{{{{|||{{{||{{z{z{zz|||||{|{z{{{{z{{{{{|{|{{|zz{{{{{{{{{||{{z{{{{z{||{|{|{|{{zz{{zz{{{{|{{|{z{z{{zzz{|{{{||z{zzzzz{{{{{{{|}{{{{z{z{z{|{{{{{{z{{zzzz{z|{{|{||{{zzz{||z|z{{|||z{z{z{z{|{|{{}|{z{|zz{z|||{|||{|{{{{zz{{||||}|{{{{{z{zz|{||{|||{{{{z{{{{z{{z|||||{{{{{|||||{|||z{{{{|{{{}{{{}}|{{{||||z{|||}{|||{{|{||{||{{{}}}{z{{{||{{||{|}|}|{{{{{{||}|||}}{||||{z||||}|||}||{{{|z{{|||||}}||{{{|{{||||}|||}|{|{{|{{{}|||}}|{{z{{{{z|{{|{|{||{{z{{{{{{||{~~~~~}}}}|||}||}||||}|}||{}{{|||{|{|}{{}{|{|{{{|{{}}|{|{{z{{{||{{|{|{{{|z{{{{{|{{{{||zz|{{{yz||{{z{{|zz{z|{{z{{{{|z{}zz{z{z{{z{|{{{|{|zzz{{z{{{{{|{{|{{{{y{{z{{{{|z|||{|{{z{{{z|{{|{{{{{|zz{zz|{|||||{z{z{|zz|{|||{|{|{{z{{{{}}{{{||{|{|{{z|{{|z||||||{{z|{z{{|||}||{|z{z||{{{|||||{{{{{{||{z{{|{|||||{||{{z|z||||}{{{{{{{||{|||{||||{{|{{{|{{{{||||{{{{z{{{z|}{}{|}||{{{{{z|}||}||}|}{{{{|}||{|{||}||{|{|||{{}||||||~{||z|{{|||}|{|}|{{||{{{||}||||||||{||||||}{||||{}|{{|{{z|{|{|||||{{{{{{|}{|{{{|{|{{zz{z|||||~~~}~~~}||}|}|}}}}~||{{{{{{|{|{|{}{|{|{|{{||{}{{|||{{{{{{{z||{||{{|{{|z|{|{||{{{|{{{{|z{zz{{z{{z{{|{{zz{{z{{z{|||||zzz{{{{{z{|{{||{{z{{z{{z{{{{|{||{{{zz{{z{{|{{{|{z{{|{{{zz|zz{||||z{z{zz{z{{|{{{|{z|{{z{{z{{{|||||{{{{z{|{{||{{{||{{{zzz{||{{|{|}||{{{{{{{{||||}||{{zz{{{{||z{}{{{{{{{{{z{{||{|}||z{{{{{z||{{||{||{{z{{{{|||{||{{{{z||{|{{|{||||}{z{|z{{{{|{||}||{{{{{{{{}|}{|}|}|{|{{||{{}{|}{{|{{{{||{{||||||}||{||{{{||||{|||||{{z|{||{||{||}}|{{{|||{||||||||{||z|{{|{|||||||{z{{{{|{{{{{|{{{{z|zzzzz{{{{{~~~}}}|}|}}}}}~}~}||||||{{{||}|{||{{|{z{{{|||||{||}{|zzz{z|{{}{{{}|{{z{|{{||}{{{|{{z{z{{{zz{{{{|z{{{z{z{{z|{{{|{{|zzz{{z{z{{{{{{||z{z{{zzz{z{z{||{{{{zzz{{z{||{|||{z{{z{{z{{{{z{|{|zzz{{{{{{{{{{{{{z{zzzz{{|{{|{{|{{z{{z{{{{{{z{{|{{{{zz{{|{|{{|{{{{{{z{zz{}}{|{||{{|{{z{{{{||||{{{{{z{zz{{||{{{|{|{{|{{{z||{{{}{{{|{{zzz|z|{||}||{z{{{||{|||||||}{z|{z{|||{||{||||{{z{{|{|||{}|}|}{z||||}{|{{||{}|{|{{|{|{|||||||{{||{|||||{|}}|{|{{|{||{|{}|||||{{|{|{{{{|||{}||{{|z{{{{{{|||||{|{{{{{{z{|{{{|{||{{{{zz{|{{{|~~~~~}}|}||||||}}}||{{{{{{||{|||||{{{{{{|{z{{||{||||{{{{{{{|{{|{{{|{{z{{z{{{{{{z{|{{{{{z|z{{{z{z|{|{{z{{zz{{{{|{|{|z{{{z{{zz{{{{{|{{z{|z{{|z{|z||||z{{{yz{{z{{|z{||{zz{|z{{z{|{{|{{{|{{{z{z{|{|||||{{{|{zzz{{||||||{z{{{zz{{{||z{{}{{{{zz{{}z{||{||{|{{z{z||}{||{{{{{z{{{{{{|{|{}||{|{|{|zz{}|||{|{{{{|{{{{|||{{|||{{|{{{{{{|{|}|||{|{{{{|||{{{||}||{{z|{{z||||}||{|{{||{||||}|}|||{{{{||{||}{|}}}||||{{||||}|||||||{|zz{{|||{}|}}||{{z{{{|{||{|}|}{|{{{{{||{|||}|}|{zzz{{{{}||||{||{{|{{{{{|{}{|{|{z{{y{{{z{|{{~~|}|}}|||}}}}~}}||{{{|||{|||z}||||{{{{z{|||||||{|z{{{{{z{z|{|z}{||{zzzz{z{{{{{{}{{{{|{zz{{{{{|}||{{{z{{{z{{z|{{|{z{zz{zz{{{{y{|||{z||zzzz{{{{{|{{{z{{yzy{{{{{||{{|{{zz{{{z{{{{{||{z{zz{{{z{{{{{||{{z{{|zz||{|||{|{{z{{z{{{|||{|}{{z{{zz{{{}{{{}||{{{{{{z{||{{{|||{||{{{{{z|{|||{{{z|||{{z{|{|{|{{|{z{{{{{{{|{{|{||{{{{{{{{|||||{|{{|{{|z{|||}||||||{{{{{{}{{|||||{{{z{|{{||{||||{|z{|z|{{||}|||{|}|{{{|{|{}|}|||||{{|{{{{}{{||}|||{{{{{{|||{{||{||{{|||z|}|}||}|}{|{z|{|z||{{||}{|{|z{||z{|{|{|||{|{{{{{|{{|{z~~~}~{}~}{}||~}||}|||||{|{||||||}|||||{|{|{||}|}||||||{{{{{{|{{|{|{{z{{z{{zz{|{z|{|||z{z{{{{{{{{|{{{z{{|{z{{{{{{|{{{|{{{zz{{{}{{{|{|{{{{{{zz{||{|{||{{{{{{{z{{{{|{{||zz{{z{{{{|z{||z{|zz{z{{{{{z||||zz{{z|{{{|||{{||{{|{{{{{{||{|||}{{{{{{{{|z{|{|||zz|{z{{z{{}|{{|{|{{z{{{zz{|||||{{||{{{|{{|{|{{|{{{{{{{{{{||||||{{|{|{{{|{|||||||z|{{{|{{{}{}{}||{{{{{zzz{|}|}||||{{z{z|||}{|||}||{|{{|{{||||}||}|{{{{||{|}|||~|}|{|{{{{{|}|{||}|{{{||z{{{{{||||}}{{||{||{|||{}|{||||{{{z{|{|||{|||z{{{{{{}{||{{{{z{z{{{{|{|||~~|~{~}{|}}~}}~}}}|||{|{|||{|||{||{z||{|{{|||||{}||{{{z|{||{{{{{||{{|{z{{z{|||{|||{{{{{|z{z{|z{|{{{{{{{{zz{|{zz{||{zzz{{{{{{||{|{{{{z{zz{{{{{{{{{|{{zz{{{{{||||{}|zz{{{z{zz{|{{{{|{{|zz{{z{{z|{|{{z{z{{{{z{{{{||||{|{|{{{|||||{|{|||{z{{{{{|}z{|||{{{{{zzz|{|{{}||{{{{{{{{{|||{{|{|z{z{{{z||{|{|||{{{{{{{||{|||{|{|{{||{z{||||||||{{||{{{{|||}|||||{{z{z{{|||||{}||z|{{{|||||{||}||{|z{|||||||||||}{|{|z|z|}|||{}||{{{{{{{|||}|||||{{{{|z{||||}|||{z|||{|z|}||{{|}{||{|{z{{||{|}{{|{{{|||{|||||||{{{{{z{{{|{|||~~~~~~}}}}}|||}}||}|}}||||{||{|{{|}{}|||||z{|z|{||{||{{{|{||{z{{{|{}{|z{zzz|{{||{{{||{{|{{{z{z{|{{{|{|{z{{{zz{{{{{{{{||||{{z{z{||||{{z{z|zz{z{z{|z|{{{{{{{{z{zz|{{{||{z{{z{{z{{||{z{{{{{{{|z{z{|}{{|{{{z{{{{{z|||z|{|{}|z{{{zz{||{{||||{|{{z{{|{{{{z||{z{{y{{z{{||{{||{{{z{{{|{|}{{|||{{|||{{z{{|{{|||{{|{z{{{}|{{|{||{{{z{z|{{|{{||||{{{{{|{||{|||||||z{|{{z{{{|||||||{{|{{|||{{|}||||||{{|{|||}|{}|{|{|{{||{|}|||}}||{{{{{|{}|||{}||||{||{{{}{{|}|}}|{{|||{||{|{|||}{|{{{z{||||}|||{||z{z|{z{{|{{|||{{{{zz{z|||||~~}|}}}}}}}}||}}}||||{||{|}|}||{}||z{{|{{|{|{{||{||{{zzz|z{||{|{||{z{y|{{z{||z{{{{{z{{zz|{{|{|z||{{{{{{{{{{{{|||{{zz{{{{{{{{{|{||||zz{z|{{{{|{|{{|{{{{{{{z{{{||{||z{{{z{|{z{{{{|{{{{zzz{{zz{|{z|{||zz{z{{z|{{{{||{{{{z{{{{{{|{{{{|{{{{z{|{{{|||||{z{|{{zz{|{|||{||z{|{{z{{{}{|||||{{|{{{z{||||{{{|{{z{{z{{{||{|}}||{{{|{z{{|{|||}|z||z|{{z|}{||{||{{{{z{{{||{}{||||z{|||{{{~|{|}}|{{|{{||{|{{|{|}|}|{{||||{}|||~|}|{{||{{{||}{|}|}|{{{{z{{|{||{|||||{{{{||}|||{||}|{{{{z{{|}{|||{}|{{z{{{{|||{||||{{|{zz{{{{|||~~~~~}|}}||}~}{||}|~|{{{{{|||{||||||{z{{{{z{{}{|{}{{z{{{{{z{z{{{|{{}{{{zz{||{||{z|{{{{{{z{|z{|{zz|{|{z{{zzz{{zz{{{{|zzy{zzzzz|{{||{{{z{zzzzz{{|{|{||{{{zy{z{{{|z{{||z{{{{zzzzz{{{zzz{z{z{z{z{{|zz}|{zzz|z{{z{{|{{|||{{{z{z{{|{|{||{|zz{zzz{{{{z|{{{{{{{z|z{{{|{|{{{||{z{{z{{|}|{||||{{{y{{{{||}{||{{z|{z{{{z|{{|z{|{{{{z{z{{{|{|||||{|{||z|{|{{||||||z{{{{z{{|}||||||{{{{z{{||}{|}}|{z{||{||||{|{|||}|{zz{{{{}||||}}{|{z{z||{}|{|||}|{zz{z{{||{|||{}||{|{|{{||{{{||||zz{{zz{|||{|{||{{{{{{{{z|||{{}|{||{{{zz{{|{{~~~~}~}{{}}|}}}|}||}}{|{{{{z||{}}|||{{|{{||z|{||{||}{z{zzz{z|{{{{||{{{{{{z{z{{|{z{||{{{{z{{z{|{{{|{{{|{zz{z{z{{{{{{|zz{{z{z{{|{{{|{{{{z{{zzz{z{{{{{{{zzz{z{{{{{||{|z{{{z{z{{|{{{{{{zz{{{{z{z{{{{{{{|{zz{{z{{|z{{{{{{{{{yzzz{{{|{||}|{{zzzz{{{{||{||{{{{{{{y|||||{{}|{{{z{z|{{}{||||||{{{{z{z|{|{{{}|{{|{{{z{|||}{}|}|{{{{{{{|{|||||~{{|{{{|z||||{|{|{|{|{{{{{||{|||||{z{{{{{{|||}{||||||{||{{}{||{||}||||{|{|}|||{|{||{{{{{{|||||}||{{{{{|{{{|{{||{}|{{{{|||||{||{{|z{{{{{{|{}z|{|}|{|{{{{{{{|||{|{{{{|zz{{{|||{{~}~~~}|~|}|{|{||}||}~|{||z{{{||{|{}|||{{{z|||z{|}{{{|{{{{y{|y}|}|{{{{{{{z{|{z{{{{{||{{z{zz{z{|z{{{||{{{z{z{{{{{|{{{||{{{{{{{z{{z{|||{{{{{z{zz{{}{{{{|{{{{{z{z|{|{||{|z{zzz{{{{|{|z|||{{z{zz{{z|{{{{{|{{{{{{zz{{|{|z|||{{z{z{|z|{{||||}z|{{{{{|{{|{{{}{{zz{|{{|{|{{||||{|{|{zzz|{{||{|{{z||{z|{||{{||{{{{{|{{z|||{|||{}{{z|{|z||||}|||{{z{|{|{||{|}}|{{{{|{{{{|{||}|}{|{{||{{{}|{|}{}|||||{{|{||||||}}||{{{|{{{|||{{|||{||{{{{}||}|||||{{{{{{||||{|}|{|{|{{{{z|||{|}}|{|{{{{{{{{}||||||zz{{|z{||{|||}|{||z{{z{|{|}{}~}~~}||}||{||||}||}||{{|{|{z}|z||||||{|{}{{{{|{||z{{|{{{{{{zz{|{zzz|z{z{z{{{z{|{z{{{{z{{z{z{z{{|{|{{{{{{z{z{{{{{{{|{zzzy|{zz{|{{|z}z{{{zz{zz{||{{{{{z{{{y|zz{{{{|{||{{z{{zzzz{{{z{{{{z{z{zzzz{{|{|||{{{z{{zz{z{|||||||{{zz{{z{|{{{{{{z|{{{z{{z||{{|{{|{z{{{z{||{{{{||{{z{zzz{{{|{{{{{z{z{zzz{{|{{{}{z{z|{z{{|{|z{{{{{{{z{{{{{||}|||z|{{{z{|{{|{|||||{{{{z{{z{||{|||z{{z|{|||||{z||||{{z{{z|{{{{|||||{{{{{{{{{}{||}}||z{z{{{{|{||{|}{|z{|{|{{{{{{||||{{z{{{{{{{{}{|||{{zy|{|{{|{|||||{{{{{{zz{{|{{||{|{{|{{{{{|{||~~}~~~~~~|}}}||{||}}}|}}|}}{{{|{|z|{{{}|}|{{{zz{z{{|{|{{z{{z{zzzzz|{{|||{|{z{{{{{z{{{{{z|{{zzzzz{zz{|{{{{{|{{{{zz{z{z|zz|{zzzzzz{{{zz{{{|{{{z{z{{{{{{zz{{z{{z{{zzzz{{{{{|{|z{{{z|yz{z{z{{{{z{z{zzz{|{z{|||{y{{zzzy||{|{{{{|zz{{y|{{|{|{{{{{{|{z{{{{z{{z|{|zz{z{{{{{|{{{{||{z{z{z{{{{z|{|{|{{{zz{{{{|{{{z{{|z{{zzz{{|{{|{{{|{|{{|{z{|||{|{{z|{{{{||{||{{||||{{{{{z{{||{|||{|z{{z|z{||||{|||{|{z{{{|||{|}||||{{{{|{{||{|}||{|{{{{{z{|}{|{||||{|{{||{{|{{{{|||{{{|{{z|||||{{|{{{y{{{|{{|{||{|z{{{{z{z|||{|{{|{{{|z{z{{{{|{~~}}~~}~~}}|||{}||}|}|}}}{||{{{|z||}|||||{|{{{z{|{|||{||{{{|zz{{z|{||{|||{{{{z{{z{||{{{|||{{yz{zz{{{{{z|{{zzzyz{z{{{z{{{|zz{{|yz{{{{{{{|{{{z{{{z{{|{{{{{|{{{zz{{{{{{{|{}{{zz{{{{zz{zzz{{{{{zzzzzz{{{|{||{{{{{{zz{{z{{z|{|{z{zzz{z{{|{{{|{{z{{zz{z{{{{{|{{z{|zz|zz|{{{{}{{{{z{{z{zz{{{{|{{z{{{{z{{{{{{{{|{{{{{{{z{|||{{|{{{{{{{{{{{|}|||{|{{{z{||{|{{{{{||||{{{{{z|||}||||{z{{|{{{}|||||~|{{{{|{{|{|{{{}}||{{{z{z{{}}|}}}|{|{|{z{{||{|||}|{z{|{{{z|}|{|}|||{||{{{|{|{||||}{{{z{{{{|{|{{|}z|{{{z{zz|||z{||}|{{{zz{{||{{{~~~~~~~}||}||||}}|}}}~||z{}||{}|}{|{|}||||{{{{{{{|{||{{{z{{{{z{{{{|{|{{||{z{{{z|{|z{|||z{z{{}{{{|{{{|{z{{{z{{{{{{z||||{{zz{z{z{{||||z{|zz{z{{{z{{z|||{{{{{{zzz{{{|z||{{{{{zz{zz{{{{{{{z{z{{z{{z|{{{|{|{{z|{{{z{|||{{||{{{{{{zz{{|{{|{}{z{{zz{{{z{{|z{}{z{{{z{{{{{{z|{{|{{|z{{z{|{|{|||zz{{{{|{|||{{||||{{{{{z{{}{{{||{{{{{{|{|}}{}||{|{{|{{{{{|}{||||}z{{{{zz{{z|}}{{||{{{{{{|}}{|}{|{|{{{{{|{|||||}|}|{||{{{||}}}||}|{|{|z{{|{|{||||{|{|{{{{{|||||||}{{|{|{|{|||}|||}}{{{{|{{{|}{{|{}||{|{{{|||{||||||{{z|{z||{|{{~~}~}~~~~}~|~|}|{|{~}}||~|}||{{z|{||{|||{}{{{{|z{{z|{|{|||||{z{z{{{{{{{{|||z{{{z{{|||{||{{{{zz{{{zz|z{{{{{{{z{z{z{z{{|{{{{|{z{z{{zzzzz||{|{{{{{zzz{{||{|{|{{{{{z{zz{{{{{{|{{z{{zzz{z{z{{z{{|{zzzz{zz||z{{|{{z{z|{{zz|{z{||{zz|{|{z{{|{{|||{{{{zz{|{{|{{|{{{|{{zzyz{{{{{{{{{z{{{{z|{{|||{|{|{z{{{{{z{||||||{{{{z{{{{{|{|{||{|{z|||{z||{{||||z{{{{{|{|{{}||||{{{{{{{{|||||{|||{z||{|{{|{|||}{|||{z{{||||{||}|||{{|{{|||||||}||{||{|{{{}||}|{}|{{{{{{|{}|||||}||{{|{||||{|}|{|{|{z{z{{{|{{|||}{{{{z{{{{||{|||{{{{z{|z{|||{{~~}~~}~~~~~~|}~||||||}|||}||||{{||z||{}|{}}|zz{{{zzz{|{{{{{{|{{z{zzz{|z{{|{|z{|{zzzz{|{{z{{{|y{z{{{z|{|{{{{|z{{z{zzz{{z{{{{{{{zzz{{z{{{z{{{{|z{|zzz{{{|zz||{{{{zzz{{|{{|{{{{{{{{zz{zz{{{|{{}|{zz{{zz{{zz|{{{|{{|{zz{{{z{{z|{{{{{zz{{{||{{{{|{{y{z{{{{{|{|{||{zz|{{{{{{|{{{|{|{{{{{z|{{|||{{|{{{|z|{{|||{|||{{{{|zzz{|||||{{z||||{|{{{}|||||{z||{|{{{{{||{||||{{{|z{{{|{|||}||zz{|z|||}||||||{|{z||z{{|||}|}||z||{{{||}|{||||{{||{{z{{|}|{||||z{{{{{|||||{||}|{|{{|{{{|{}|||{||{{{{|{|||{||}||{z{{{{z||}{|{||{{{z{{{{{||{|~~~~~~~}}}}|}}|{|||}}}}}|{|{{{{|{{}{|||||{{{{z{{{{|{|{|||{|{z{{z{z{||{{||zzz|z{z{|||{||{|{{z{yy|{{{z{{}{{z{{zzzz{{{{{|{{{z{zzz{{{{{||{z{{z{{z|zz{{{{|{{{z|{{{{zz{{|{{{|{z{{{z{z|{|{{{{{|{{{{zz{{z{{|{|{|{{{{|{z{|||z||||{z{{{z{z||||{|||{z{{{z{{|{{{{|||{{|z|{|zz|{|{|||{{|z{{{|{|{|||||{|{zz{{z||}|||}{{zz{||{{{|||z|||||{{|{{{||||||{{{{{{|z|{||{||||{{{{{{|z{{{{}{||{}z{{{{{z||{|{||{{{|||{|||{{|||}||{|{{|{|{}{}|}{||{z|{|z{|||||||||{{|{{{|{|}z}}}||{||{{|||{{}||}|{|{z||{{{|{||||||{|{{{{{|{||||{||{|{||zz{|}|{~~~~}~}~~|}||~||}|{||~~}}|||{||{}||||||{|{{{|z|{|{}{||{|{{{{zz{z{{||z||{{{{zzzzzz{|{{{{{{z{z|z{|z{{{||{{{zz|{{z|{{{{{|{|{{|{{{zzz{|{{{{|{z{z{{zz{{{{|{|||z|{{{|{z|{z{|{|{{{{{{zz{{|{{{||{z{{{|{|z{{{{{||{{{{z{zz{}{||{}|{{{{{z{{{|{{||{}{z{|{|{z}{{{{{{{zz{zz{z{{|||}||{{z{zz{{{||||||}|{{{||{{{{|{{{|}|{{z|{z{{{|||{|{|||{||{{{|{||{|||{|{{|{|{|}||{{}||||||{{{||{}|||||z||{{{{{||{|||}{|{{|||{||{{|{||}{{|{||||}|}}}}}|{||{{{{||||}||{|{{|{|||||{{||||}{{|||{{||||}{||{||{{|||z|}}{||}|{z{{{{{}{||{|||{{{{{z{{{|{{|~~~}~~|~}}~~|}}||||}~}}|||||||{{|{|{||{|||||{{{|{z{{{||||{||{{{{{{zz{||{{|{|{{z{{{zz{|{|{{||{{{{zz{z||{|z{{|{{{{{{zz{{{|{|{{{{{zz{{z{{{{{||{{{{zz{zz{{|{||||z{{z{zz{{{{{{{|z|{{zzz{{{{{{{|{{{{z{zz{{{{{{{{}|{z{{{zz{{{|||{|{{|z{z{z}{|{z{|||{{|{z{{{z|||||||zz{{{z{{|{|{{|{|{{{{|z|{||{|}|{{z{z{|{{{||||||}|{{|{z{{{}{{{{}{{{}{{{{{{{||||}|{{{{{|{{{||{}||}}|{{{{{|{|{}||}{{|{{{{{{|||||}||}{|{z||{{||||}|}}|{{|{{|{{|{|{}}||{||{|z{||}||||}}||{|{{{|||||}|||{z{{|{{||{|||}||z|{|{{{|}|||||}{||{{{z{||z||}}{{{{{z{|{|{|{|~~}}}}~|~~~}~}}~~|{|||{{{|||{}}|}|{z{{{z|{||{|}{|{{{z{zz{|{||{{{|{||z{{{{|z||{|z|{z{zz{z{z{{{{{|{z{{z{z{{{{{z{{||{{{zz{{z{{|{{z{|{zz|zz{{z{|{{{|{zzz{zzzz{||{{|{}zz{zzz{{{{{|{z{|{|{{zz{{z{{z{{{|z|zz{{z{z||{{{|}zzz{zzzz{{|}{{|||zz{zz{zz{|{||{|{z{z{z{{{z{{{{||zz{{{{{z{{{{{||z{{z{{{zz{||{z{|{{z{zz{{z{|{|{|}{z{z{{{{{||{{{{{|{|z|{{|{|{{||||{zz{|z{|z||{{||{|z{z|{zz{{{{|||||{z{{{{{{|||{}||{z{{z{||{{{{{}{}|{z{{z{z||}|||||{|{|{{z{{|||{|||||{{{|{{{{z{{|||{{{{||{{{|{{|{|||{{{{|z{{{|||{||{||{{{{{{{{|||||{{{{{{{{z{{|{||~~}}~}}||}}}||{{|{|||}||}||}||{{|{|{|}|{||}|{zz{{{z{{{|||{||{{{z{z{{||}||{|{|{{{{zz{{{|z||{}{{{z{{{{z{{z{{{{z{z{{{zzz{{{z{{|{{{z{{{z{{|{|{{{{z{{z{{{{{|{|{{{{{{{zzz{{}|{{{{{{{{{{z{{{{{{{|z{{{{{z{{{z{{{||{|{z{{{{{z{{{{|{||z{z{|{|{{|{{}|||{{{{zz{{{{{{{|||z{z{zz|{{|{{||{{{|{{{z|{{{{{||z{{zz|{zzz{{||{||{|z{{{{{{{|{|||}|{|||{{{{{{|||}}|{{{{{||{|{|}|{{||z{{zz{{||||||{|{{|{{|||{||||{||z|}{|||||{{|}||}|{|{{{{{||}}}||||{{{|z{||||}{}{||{{{|{||||{|}}||||{{|{{|||{||}}||{{{{z|{|}||{}|{{{{{{{{{{||}{{|}{|{zz{z{|||{{~~~}~~}~}~}}|~}~}|{|}||{|{}|}|{|||{{{{{{|||{}|}||{}|{{{z|{||{{{|{zz{{z{z{{|{{|{|z|{z{z{{{{|{{|||{{|zz{{{{|{{{{{|zzzz{zz|{{{{z{|{zz{z{z{zz{{||{{z{{zzz{zzz{zz||{{{{{{zz{z{|z{{{|{|zz{{{{z|z{{{|{{{zzzzzz|{|{z{|{{{{z{{{{{{{{{{{|{|{z{zy{{||||{{{||{{{z{{z||{|{||{{|zzy{zzz{||{{{|{zz{{z{{{|{{{|{{{{{zz{{{{{|{{||{|{{{|{z{{||{{{|{{{{z{{{{||{|{{||z{z{{{z|||||{|||{z{{{{|z{||||{|{}{{{zzz{{}||||}|{|{z{||{|}|{||||{z{{{{{{|||||{|}||||||{|||||{||{}{{|{{{{|{|{}|}||{{||{zz|{||||||||zz{{{|{||{|{{|{{{{{z{z{{{}|{||{||{{{z{{|{{{~~|~~}}}}|}~}|{z{{|{{}|||}}|||{{{z{z|z|{{}z|{z|{z|{{zz{||{|{{{z{z{{z||}|z{|{{{|{{{zz{{{zz}|{|{z{{z{{z{||||{{|{{zzz{z||||{{{{{zz{zzzz{{{|{{{{{{{{{zz{{{{{z{{|z{|zzzzz{|{|{{|{z{yz{z{{{z{z{{{{{zzzz{{zz{{z{z|{z{{{{{z{{{{{{{{{{{{{{{{{{{{|{{{{{zz{{z{z{{|{{{{{z{{{{z{z|||{|{||{z{{{z{z{|{{{||{zz{{{{{{|||{|||{{z{|{{{{{{zz|{|{{{{{{{zz||{{|}{|{z{zz{{z{{z|||{}{||{z{{{|}{|}||}{{z{|z|{|||{||}|{|||{{|{||{|{|{|||{{{|{||{|||}|}||{}|{z|{|{||||||{{|{{|{|||}|||||{}{||{{{{{|||||{{{|z{{{{||{{|}}{{|{{{z{|||}|{|||{|{zz{{|{{{|~}~}}}~~}||}~}|||||{|{|}|}|}|{||{{|{|{{||z|}|||z|z{zzz{{|{{{|||{|{{{|z{{|{{{{{{z{{z{{{{{z{{{|{z{{zzz{z{{{z{{{{{z{z{{zz{{||{||{{zzzz{zz{{|{z{|z{{{zz{z{{z|{{{{{z{{z{{zzz|{{z{|{zzzz{z{zz{{{{{{|z{{z{{z{{|{|||{|z{zyz{z{{{|{{||{{z{zz{{{{|{|{{|{{z{{zz{{{{{{{{|{|{{z{{{{|{|z|{|{{z{{|z{z{||{||{{{{{z|{{||{{{{{|{{{{|{{{z{|{{|||{{|{{|zz{{||{|||{{{z{{{{{||{{|{}||{|{{{{zz|{||{}||{{{{{{{{||{}|||{{{{{{|{|}{||}|||||z|{z{|}||||{||{{{z|z{{{|||||||{{{{z{}{|{{|}}||{|{{{z{||||||||||{{{}zz{{{||{|}||z{||{|{|{{{|||{z{{zzz{|{{{z~~~~}}|}}~}~}~}}||}||||{||~|}}|}}||{{{}|{|||{}||||{z{z{{z||{|{|||{{{{{z{{{{{||{||{{zzzzzz{{{{{|||zz{zzz{{{{|z{|{{{{|z{z{z{z{{{{{|{z{zzz{|{{{z{}{{y{{{zzzz{z{{{{{|z{{zzzzzz|{{||{{{{{z{z|zz{{zz{|z{zz{{{z{z|{{|{z{{z{z{{{z{|{|||||{|{{yz{{{}|{z{||{{z{zz{{z{||{||}z{z|zz{{{}||{||z|{{z{{|{z}{||||{{{{zz{{{{{{{||}{|{{z{||{||{|{|{{z{{{z|{|{|}|||||{|{{{{{{}}{{||||||||{{|z|{{}}||{|{z{|{{|||{|{|||{||{z||{{||{}|||||{|{{|{||}|}||||{{{{|{{{|{|||||{{{{|{{{z}{|||||{||{||{{}|||{||||{{{{z{{||||{|||||{{{{|{{}{|{||{|{{{z{z{{|||{~~~}}~~~~}~}~}}~|}}||{|||||}}||}}|}||zz{{{|||}|}||{{{z{|{{{|||{{|||{{z{z{z|{{|||||{z{zz|zz{|{{{|||{{|zzz{z|{|{z}{|z{zy{z{{{{{|z{{{{z{zzz{{z{|z{{{{z{|{z{zz{{||||||{{|zz{{{||{|{{{|{{|{zz{zz{{{{{{{z{{{{{{{z{{||z||z{|z{y{{z|||{||{{{{{{y{|{|}{{|{}{{{{z{{z{{||{|}}{{{{z{{|}|{{||||{|{{zzzz{|||||{|{{||zz{{|{||}|||{zz{{{{|{||{{|||}|z|{{||{{||||||{{{z{{{{}|{||}}|{||{{|z{|||{{||{|z|{|{|{|||||{}|{{{zz}|{||||||||}}{||{|{{}{}||}{|{|{{|||}}}|}}|}|{{{|{z|{{{}||}}|||{{||||{|{{}|}z{{zz{{|||||||||{{{|{{{{{|{||}||{||{z{{{|{|||~~~~~}~|}|}}}~~}}|}||{|{}{|||{|}{}||{{{{{{{|{||||{|{{{|{{z{|{{{|||{{|z{{{{z||{{{z|z{{z{{zzz{{zz{{{{zzz{zyz{z|{z||{{z{zz{{{{{{||{{|{z{{{{zz{{z{{{{{{{zzzzzz{{{{{|||{{{{zzzz{|{{{{z|{{{{{z{z{{|z{{{z{{zzzzzz{{{{||{{|{{z{zy{z{{{{{{{{{{zz{z{{|{{|{{}zzzz{{{{|{||||{z{{z{z{{{||z|||{{{{{{{{z{||{{{|{{{z{{{zzz{|{{{|}{|z{{{{{z{|{{||}{|{z{|z{{|||||{}{|{|||{{{||{|{|{|{{{|{{|{|{|{|||||{z{|{{{|||{|||}{{{{|{{{{{}{|}|||{{|z|||{}|{{||||{z{{{z{|||||||||z{|{{{{{|{|{|{}|z{|z{{{||||{}{{||{zz{{z{{{{{||||{{{{{|{{}||||{{{{|{zz{{{|||{~~~~}~}}}|}}}}|}}}|||{{||{||||}|~||{{{{{{|{{}|{||{{|{{|{{}|{|{|{{|{{|z{{z{||{{|{}{{{|z{{{{{|{{{{}{{|zz{z{}|{{{{|||{{zz|z{{{{{|{||{{{{{z{z{{{{{{}z|{{zy{zzz{{{{||{|z{{z{{z{||{|{{z{|{zz{zzz{{{{{{{{|{z{{zzz{{{z||{{{z{{|{{{{}{||}{{{{z{zzz{||{|}|{{zz|{{z|{{{{{{||z{{z{z{z|||{|||}z{{z|z|{{{||||{|{|{z{{yz|||{|{{|{{{{{z{{{{{{{||||{{{{{{{|{||||||{|{{{|{{|{{||}}|{|{|{{{{||||{|}|{{|{{{|z|}||{}||z{{{z||||{||||||}|{{{|{{}}|}|{}}{z|{{{{|{|||||{{|{zz{{{{|||||}|}|{{{|||||{{}{|{|{|{{{||{{|{{{|||{{|{{z{z||{|{{}{z{{{{z{{}||{|}|}}}||{}|~~}||}|{{|||||||||~}||{|{{{||z|{||{||||{z{|{zz{{{||||}{{z{{{{z||||||{|{||{z{|{{z{{{||{{{|{{z{{{{{{{{|{{{zzz{{|{{z{{{}zz{|{zy{{||{{{||||z{{zzzz{{{{{{{{|{{{z{z{{{{}{|{zzzz{{{z{z{zz{|{{|{zzz{{{{|{z{{|{{{{{{|zz{z{|{|{{{{{zz{{{||{{{||z{z{zz{{{{||{||||z{{z{z{{{||{||||{|{{|z{{{{||{|||{z|{{zz{|{|{|z|{|{z{|{{z{{|||||||z{|{{{{{}||{}}|{{{|{|{{||||{|||{z{{{{{y{|||{}|||{|{{|{{|}|}{||}|||||{{|||{||}||{|{{{{{{{}|||||{|z{{{|{{|{{|}{|}||{{{{{{|{{|~||{|||{|||z{||{}}||||}{|z{z{|{|||}||{{{{{{{{{||||}{|{{{{z{z{||{{~~~}}}|}}||~}||}||{||{|{|}}}||}{|~|}|zz{|{{||{||}{}z|{{{{z{{|{z{}||{{{{z{z|{{||{|||{{{{{{{{|{{{{|{zzzz{{{z{{{{z{|{zz|{|{z{{zz{|{{{{z{z{z{{{{{|||{{|z{z{zz||{|z{{|{|z|{z{zzz{}{{{|z{z{{zz{{{{{|{{{{z{{z{{z{{{{{z}||z{|{{|z{|{{{{{|{{|z{{|z{|{{{{{{{{z{{{z{z{{{{{{||{{{zzz{{|||{}{||{{z{{zz{{{{|{|{|{{{{{zzz||}{|{|{|{{{{{z{{{||{{||{{{{z{|{{|}|}||}{||{|{|}||{|{||{|{{||{z{{||||}}|{{z|{}{|||}|}|{{||{z{|||{{||}}||{|{{{{|{{}|}||}||{{|{{{{|||||}}||z{|z{{|}{||}{}{|{{|{|{{{|{||{||{{{z{{{{{{|||}|||{{z{{z{}|z|||{{{{|{{zz{{|{{|~~~~}||||}}|||}|}}}|||||{|{||}{{|||||{{{{|||||}|}|||z{}{zy{{{|{|{|{{{{z{{{z{|{{{{{{z{{zz{{{{{|{{{||{{z{{zz{{{{z{{{{|zzzz|{{z{{{{{||{{z{{z{{|{{{{z{{{z{zzy{{{{{{|{||{zz{z{zz{|{|{}|{{zz|{zzz{|{z{{||z{zzzzzzy{{z||{|{z{{zz{z{{{{{{}||z{z{{z{|{|||{}|{{{{{{{z|{|{{}|{{{{z{{z{|{{||{{{{{{{{zz{{{|{{||{{z{z{{z{||{{|{|{{{{{{{z{||{{{|||{|{{{{{{|{{{{|||{{|{z{{z{|{|{|||{{|{zz{{|{|{|||{||{z{z{z{|{{||{|{{||{{{|{|}||{|}{z{{||{z{}|}||{{{{||{z{{}|||||{||{|{|z{{||||||||{|{{|{{{{{|||}{|z{{z{{{{{}|||{|||{z|{zz{{{|{{{|{{{{{{{z{|}|||~|}}}|}}}|||}}}|||||{||z||{{{{{|||||{{{{|z{{||{{{||{{{{{{z{z{|||{|||{{{zzzz{{{|z{|{|{{z{zzyz||{{|z{zyzzyzyz{z|{{|{zzz{zz{zzz{{zz{|{zz{{{z|z{zz{z{{{{z{zzzzz|{{{{|{{{{{z{zz{{{{{{z{{z{z{{zzzz{|{{{{{{{zyz{z{{{z{{|{{zzz{{z{z{|{{{{||z{z|{zzzz{{{|{{{{z{zyz{y{{{{|{{{z{{zz{zz{|{{{{{|zz{z{yz{zz{{{{|{{{{zzyzz{{{{|z{zz{zz{zzz{||{{{{{zzz{{{{z{|||{|{{{{{z{{{{{}z|{{z{{{{{{y{z{||{|||||{|{{{z{{{|{}{{{|{z{{|{{{{|{|}|{{zz{{{||{|z{{||||z{{zz{z{|||{{{{|{z|{|z{{|{|}|{|{|z{|{{{{z|||{{|{|{z{{zz{{{{||}{{{{zz{|{{|||z{|{{{{zzyzy{{|{|}}||}||}||{}}||}}}~||||zz{{{|||}}|}|{{{{{{{{|{||{|{{z{|{zzz{{{|z{|{|{{{z{{z|{{{{z{{{{zz{{|z{{|{z{{z{{zzzzzz{{|{{|{{y{{z{{z{{z{{{{{{{zzzzyz{{{{z{|{{zzzz{z{{{{{z{{{{z{{{z{zzz|{|{|||{z{{zzzzzzz{zz{{zzz{zzyz{{y|z{|{{zzz{{zy{{{{{{{{{{z{zz{{{{{{z|||{zzz{z{|{{||{|{|z{{{yzz{{{|{z|{{{{zz{{zz{||{{{{|{|{z{{{zz{|z{||||{z{z{zz{{|{{{{{zz{{z{{{{{|}{||{|z{{{{{{{{||{||{{z{|{{{{|{|{||||{yzz|{|z||{|{{|{z|{zz||{{|{{{|||{{{{z{{{|||{}||}{|{{{z{{|||||{||{|zzz{{|{{{z{}|||{{{{{{{{||{{||||{zz{{{z{|{{{|||{z{{{{{z{{|{{{||z{{y{{{{{{{{{~~~~|}|}||{}~||||}}{||{{{||||||}}|}{{zz||{z|||||||{{{{{zzzz{||{{|{||{zz{z|z||{||{||{{{{z{|{z{{zz||{z{{zzz{zz{{{{{{{{z{{zzz{{{{{|{{|zz{zz{zz{|{{z{||z{z{zzzz{{|{||{{zy{{z{z{{{||{{||{{z{zzzz{z|{|{{|zzzz{z{zz{{{{|{{z{{zz{{z{{|{{{{||{{z{{|{{|{|{{}}|z{{|{{z{{{{{|{|{zzz{{zz{{|{{{||{z{|{{{{{|{|{{|{|{{{{{z{{|{|{{{|{|{{z{{{{|{{||{{{{{{{|{{||}|||||{{|{{{|{|||}|{|||{{{{{{|{||{{||}|z{{|{z|||||{||{{|{{{{||{{{{||{|{{{{z{{{||||||{||{{{{{{{{|||||{||{{|{z|{|{{||{||{|{{||z{|{|{{|{|{{{{z{{{{|||{||||{{|z{z||{||{|{|{{{{{z{z{|{{{~}|||||}|{{~}}||{}}|z||zz|{{||{||}{}||zzz{{|z{|{|{||{{{|z{{{|{|{||||{{zzz{z{{|{{|{}{{zz{{{{{{|z|{{|zz{z{zz{{||{z{{{z{{z{zz{{{z{z|||{{zzzz{z{zzz|}{{|zzzy{z{{{{{{{{{{zz{zzzy{z{|{|||z{{{{zzz{zzzz{{{{z{z{z{zz|z{{|{{z{zzz|zz{{{{{{|{{z{z{{zz{{z{{{||{z{{{z{{{{{{{{z{z{{z{{z{{{{{{{{{|zz{{z{z{{||{|{|{{|{{{{z||{|z{|{{{z{{z{{{}|{{|{|{{{{{||{||||||||{{{{{|{{||{{||||{{{|zz{z|{||{|}{|{{z|{z{|||||{||{{{{z|||}|{|{||{}{{z{zzz{}{||}|||{||{z{{z{|||}}{|{z{{{{{{|{{z{|}{|{{||{|{|||||{|{{{zz{|{||{|{|||{{{{z{{z|{||{{|{|{{{{zz{||{{{}~~}||}}{||}}}|}{~|}{{}{{|{{{|||||{|{{{z{|{|||{||||||{{yz{{{|{{|{{|{{zz{z{z{|{{{|z{z{|zz{yz{|||{{||{zz{zzyz{z|{{{|{{yzzzz{z{{{{z|{|{yzz{z{z{{{{z{{{{z{zzzy{z{{{zz{{zzz{{zzz{{z{z{|{{zzzzyz{{{{|{z|z{zz{{{zyz{{{{|{{{zzz{{{z{{{{|{|{{{zz{z{z{z{z{{{{{zz{zzz{{zzz{|{{{zzzy{z{zz||{{|{zy{{{z{z{{{}{|{|zzzz{{{z{{{||{|{zz{{{{z{{|{{z{|||z{{{|{{{||||||{{|{{z|{|z|{{}{|{{||{{y{{{|{|||{{|z{{|{{z|}{|||}||{{{|||||{|{||{{|{|{{{{{{|{|}|||z{{|z{{{|||||{||{{z{||{{{|{{|{}||{{{{{z{||{|||}|{|{zz{{{{{{|||||{{{{z{{z||{|{z{{{z{{{y{{{z{z{~}|||||}||||}}}}}}||||{|yz||{|||}}}{{|{{{|{{{||||||{z{zzz{{{{||{|{||{{zzz{{{{{|z|||z|{{{{zz{{{|{z|{zzz{{{zzzz{z{{{zzzzz{zz{{{{|{||z{{{{{zzzzz{{||{{{{{{zzz{{{{z{{{||{{zzzzy{{{|{z{{{{{zz{{z{zz{zz|{z{zz{zzz{{z{{||{{zzz{{{y{{{{|{|{{{{z{zz|{|{{y||{{{{{{{{{{{{{|{||zz{{z{{{{z{||{|{{z{{|z{zz{{|{||z{z{{{{|z||||{|||zz{{{{z{{||{{|{||{|{|{{{|{|||||{{|z{{z{||{{||}}}{|{{{z{{z~|{|{|{{{{z{|{{{|z|||||||{{{{{{{||{{||||{|{{{{z|{|||||||z{{z{{||}|||||{|z{{{{{{|{{{{||{|{||{z{{{|{|{||}{{{z{{{{|||}|{|}{{{zzz{z{|||{{|{{z{{{z{{|{|{{}}~|||}{}||}}}||||||{{||{|{}||}|{}|{{{z{zz{{{|{{||{{{{{{z{{|{{|{{|{|{{{{{{z{|{|{{{{{{|z{zzz{{|||{{{{{{y{|{zz{{zz|{{z|{zz{z{z{{z{{{{z{zz{zzz||z{{{|{{{zzzzzz{{{{{||{{{{{z{zz{{||{{||{|zz{{|z{{z{{{{|{{{z{z|z{|{|||{{{{{z{y{z{{|{{||{{{{{z{{{{|{z|{{|{z|zz{{z{{|{z{||{zz{z{{{|{{|||{||{z{|zzz{{{{|||{|{|{z{zz{||{{{|||zz{{|{{|{|{{|{|{{zz{z{z{|{|{{{|z{{{{{|{{|{|||{||z{{{{{{{|{|{{|{|{{{{{{{|||{{{{|||{|{|||||{|{{||{{|||{{{z||||||||{{|{{|{||{|||{{|{{{{|{|||{z||}||{{|{{{|||||{}||{{{z{|{z||||{|{{|{{zz{{{{|{}{|{{{z{z{zz{{{|{{|}}|}||||||{}||||||}|{z|{|{|}|||z}||z{z|{{{|{{||||{|{z{{z{{z|}{{|{}{|{zzyzz{{{{|{||z{{{zz{yz{{{{|{|z{zz|{zz{{{{{{|{{z{{zzy{{yz{{{{{{{zzzz{zzz{{{z{{{{{{{{zz{{{z||{z{zz{zzzzz{|||{{{{{z|{z{zzz{{z{|z{zyz{z{{{{{|z|{{{z{{z{zz||{{{{||{{zy{{{{{{{{||z{{{{z{{{{{z{{{|{{{{{zzzz{{|z{{z|{{z{{{z{zz|{|{|||{{z{{{zz{{|yz{|{{z{{{{zz{{{|z{||z{z{{zz{||{|{|{|{|{z|z{{{|{|{|||{{{{{{z{{||{|||||{{{{z{{{|{|{||{{z{{{{|{|}{||}{{{{{{{}|{{}|{||}||y{{{{|{|{||{|}{}z|zz{z{{{|{{||{{|{{|{zz|{{|||||{{zzz{{||{{{{||{{{zz{{z{{|{|{{}{zz|{zz{{|{{z{}|}|{|||{|||}}||}|}||{{{{{{|{||{|||{{{z{{{z||{|||||{{{z{z{z|{|{{{|{||zyz{{z{z||{||{zz{z{zzz{zzz{{{|{{zy{{zyzz|{z{{{{zzz{yzzz{{z{{{z{z{z{y{{z{{z{|||{zzzzz{z{y||{z{{{zz{zy{yzzz{z{|{{y{z{{zzz{{{{|z{zy{zz{{yz|zzz{z{zz{y{zzz{|{|{{|{zzz{zzzz{|{|{{{}{{z{yz{z||z{||z|zz|zzzz{{z{{{{|{z|{z{{z{{{{{{|||zz{|{{z{{{|{{{|{{{{z|{zz|{z{||||{{zz{{|{{|||||||z{|{{y{{{{{{|||}{{{z{{z{{||{|||{{z{{{{{z{|{||{||{{z{{{{{{||||||{|z{{{{{z{}|{|{{}{{{|z{{{}{||{|}||{{{{{|{{||{||{|{|{{{{{{{|{||{|||{|z{zz{z|z{||{|z{{z{{{z{{{|z||{{{{zzy{{{{|{{~}}}{||}z|z}||{|{||{||z|{{{|{{z{|||{{{z{zz|{|{{{||||{{{zzyy{{{{z{{{{{zzzz{y{||{{zz{{{|z{zz{z|z{{|||zz{{z{zzz{|z{{|z{zz{zz{y{{|z{{{{{{z{{{zz{{{{{{{{{zzzy{zz|z|{||{{z{{{zzyzz{{{{{{{z{z{yyzzz{zzz||{z{{zzz{zz{{{z{{{z{z{{{{{z|{{{{||z{zz{z{z{|{{{z|{{z{|zz{z|{z|{{{{zz{z{z{{|{{|{|{zzz{y{y{{|{{{{{||{zz{{{zz{||{|{}{|zzz{{{{|||{z|{||{zz{{{{{{|{{|}|z{zz{{{|z{|{{|{|{{z{{{z{{|{|||||{{{z{{{z||{||{|{{{{{|{{||||{||{|{{|{z{{{|}|{|{{|}{|{{|{{|{|||z|{z{{|{{z{{{}{|{|{|{{{|{{{||{||||||{{zz{z{{|{{{|{{{{{{{{{zz{{|{z{{|{|{zzz{{|{{{}}}}||||z{{|}||{|||{{{z{|{{{|{{{}|{|{z{zz{{}|||||{|{z{{z{{{{{z|{{|{{{{z{{{z{||||{{|{zz{{zzz{z{{z{{{{zz{zzz{z{|{z{{{zy|yyzzz{{z{{{{{zz{zzz{z{{{{z{{{{z{zzzy|z{|{{{{|zzzzzzyzz{{{{z||{z{zz{zzz{z{{{z{zzzzzy{zzzzz{|||{{{z{{zz{{{{{{{|z{{z{|{|{{{|{{{|{{{|z{{y|{z{{{z|{{z{zz{{{||{{{{|zzzzzz{{z|{{{||{z{{|{{{z{|{|z{{z{{z{{z{z{||{{||z{{z{{{z{{|||||{|{{|z{z{{{|{|{|||{{{z{z|{{|{{}{||{|z{{{{{||{|||{{{|{{{|{{{{z||{||}{{{{zz{{~{|||{{{z|{{{|z|z|{||||{z{{{|{{{{{{{|||{{{|{{{{|{{|{{{||{{{z{{|{{{|||}||z{y{{zz{|{{{{|{{{|z{zzzz|{{{||||||{|{|{{|{}|||{|{|{|{|z{{{{|}{|{z{z{{{{|{{{{|{{{{{z{z{{{{{|{|{{z{{z{z{z{{|{{z||z{{yzz{{{{zz{|{|{{{z{{{z{{{|{|{{{{{zz|zz{z{{{z{|z{zz{zz|{{|{{{|zz{z{zzyz{{{{|{{{{{{zzzz{{{zz{{z{zzz{{{zzzz{{{|{||{zz{{{z{{z{|{{{{zz{z{z{{|{{{|{{z{{{{yz{{z{{{{{{{z{z|y{{|z|{z{{{{z{zz{z{{{{{{|||zzzzzz{y{{{{{{||zz{zz{zz{|{{|{}{{|{|{y{{|{{{{{||{{{{{{{z{{{}{}|||{{{{{{{|||||{{|{{{z{{z{{{{{{{|||{{{{{{|||{{|||{{|||{|}|{|{|}|{{|z|{{}z|{}|{|}||||{{{{{|{{}|{||||{{zz|{{|{|{}||}|{{{|{z{z{{{||}|{|{zzz{{{||||||||{{{{z{{{|{{z{{{{{{zzz{z{{{{{}}~|||||{|{{|}|{||||||{{|{{|||{|}{||||{{||z{{{{}{{|{zz{z{z{{{|{{||zz{{zz{|{{{|{{{|{z{{{z{{z{|{{{{||{{{z}zz{{{|{z{{{{{{{zz{z{z{{{{{|{{{z{{z{z{z{{{{|yy{{zz{zzz{{{|{{{{{{zy{{z|{{zz|{{{|{{z{z{zz{{y{zz{{zz{{{z{||{{z{{z{{{{{z|{{{|||z{z{zzzzz{|{|z|}{|{{zzz{{{{z||{{{{{{|{{{{{{||||||{|{{z{{{{{{|||||{z{{{{zz{{|{z{|{|z{{{zzz{{{{{{{|{{{z{{{{{||}{||{{{{{{||z{{||||{|{{|{|{z{{{||||||||{{{z{{|||{|||||{z{{{{{{||||{|{{{{{{|z{|}||{{{}|{{{z{{{}{|{|||||z{|{z||{{{|||{|}{{{{z{{||{||{{||{{{|{{{{{||{{}{{{z{zz{{{{{||{||{{{{{{z{{{{{|}}||||||{{{|||||||{{{{{{{z{{|{||||||{z{{{zz{{||z|||{{{z{{{zz{z{{|{|{z{zzzz{{{{{{z{{{zz{z{{z{|{z{{|zzzzyzzzz{{|{zz{{{z{zzzzz{{z{z{z{yzzzzzz{{{{|{{|{zzz|z{zz{z{z|{{z{{{{zzzy|{{{{{{|{yzy{z{z{{{{{||{{zzzzyzzz{z{{{|{zz|zz{{{zz{{||{|zzzzyzz{z{z{{zz|zz{{z{{zz{{{{{{{zzz{zzzzz{{{{{{{{z{{z{z{{||z||||zz{{{z{{|{|z{{|{|{z{{{z{{{{{|{|{{{{{{{{|{{|||||{{{{{{|{{{{|{|||}{zz{z{zz{||{}{{z|z{{|{{z|||{|||{zz{{{{{{z{||||{{|z{{{|{{{||{|{{|{z{{z{{|{|{{|{|{{{{z{zz|{{{{|{|}||{{|{{{|{{{{||||z{y{{|{{|{||{|}|z{z{{|z{{|||{}}{{z{{{{z{{{z{||}|{}{|{|{|||{{|}{{{zz{z{{{{|}{||}zz{{{{z{{|||{{||{z{{{zz{|{||{z||{{{{z{{z|||{{{{}zyzz{z{z{|{{z|{{z{zzyzz{zz{z{{{z{{zzzzzzzz{{{{{{zzzzz{zzz{{{{z|{{{z{z{z{zz{z{{{|zz{{yzyzz{{zz|||{{z{{yzzz{{{{{{z{zz{{zzz{{{{{{{|zyz{z{yz{|{{{{{||{zzyz{z{{{{{{{{{{zzz{zz{{z{{||}{|{zz{{z{{{{|{|||zz{{z{z{{|||{|{z{{{|z{{{{{{z{|{{{{{{{{{z||z|||||{zz{{|{||{|{{||z{{z{{|{|{|||{||{z{{{{zz{{{{{|||zzz{{{{{{|||||}{{{z{{||{|{{||{||{{{{|{||||{|||{}{{z|z{{|{|||}||||{{|{{||{{|{{}|||{{z{{|{|||{{{{{|{{z{{{{{|||{{||{{{|zz{{|{z{{{|{{z{zz{{{z{||{}}|{}|}||||{}{|||}||{|{|{{{||{||}|||{{|{{{z|{z|{}}|{z{|z{{z{{|{y|}|{{|{{{y{{{{{zz|{{z{{{z{{{{{{{{{z{{zz{z{{z{}{{{|{z{{{z{{z{{z{{{{{yz{z{z{{{{{{{{|{{{zzz{z||{{{|z{{zz{zy{zzz|{|z|}{{z{zzz{zz|{{z|{{|zz{zz{z{{zz{|{{{{{{{{zz{{||{|{|{z{||z{{|{|{z{||zz{{{{zz{{{|{|{|{{{z{z{{z{|{||{||{z{|y{z{||||{{|{z{z{{zz{{|||{|{{{{{z{{{{|{||{{|{||{|z|z||||{{}|{{|{{{{{{{{{|}|||{z|zzzz{|{|}||||{{{|{{{{|}{|{||{{|{{||{{|{|}}|||z{{{{|{{|}|{|||{{{{{{{{|{{||{{|{{{{{{{{{|||||}}z{|{||z{|{||{|{||{{|{{{z{|{||{|||zzz{{{z|{{|{{||{z|zz{z{|{{{{|{{{{{{|{|{{}||||||}{{{{{{z|z{||||}|{{{{|{{|{{{{{{|{z{{{zz{{{|{{{{{{zz{zzzz{z|{{{|{{{{z{{{{z{|zz{{zzz{{{{z{{z||||{|z{zzzzzzzz{{{{{{z{zz{zz{z{|{{{||{{zzzz{{{{||{|z|{z{zzyzz|{{z{{|{{zz{zzzz{{{z{{|{{{zz{{{zz|{{{{||{z{|{zzz|{{{{|{|{|{z{z{{zz||{{|{{z{{zz{{{{{z{{{|{{zzzz{z|{{{|{||z{z{{zz{{{{{{|z||z{{{{z{{{|{{{}{{{{|{{z{z{zz{|{||{zz|{zz{{{}}{||{|z{{z{{||{|{|||z}{{{|z{||{||||{{{{{zz{{{|{|{{|||{{{z||{{|{|{|||{{{{z{{|{|||||}|{{{{{{{{|{|{{{||}{{||{{|{||{{|}|{{z{|{{{}|{||{||{{|{{{z{|||{{{}|{{z{{{{z|{{|{{|||{{z{zz{z{|{{{}}{||{{zz{|{|}{}{|{zz{|z{{{|{{{|{||{zz{z{z{z{||{{{{y{zzzy{{{{|{z|{{zzzz{{z{z{{{{||zzzzzzzz{|{{{{{{{{zzzzy{z{{z{z{|z{z{z{{z|zz{{{{{zzzz{yzzzzz{{|{zzzz{z{y{{{|z|{{{{zz{{zzz{|z{z{{zzz{yzz{zz{{|{y{{|{{zzz{zy|{zz{{|{zzz{zzzz{||{|{{|{z{z{zz{{{{{{{{{z{{zzz{{{|{z{||zzz{z{{|{z{z{{|{|{z{{z{z{|{{{{|{{{|{{zzz{|{{{||z{{z{{{{{|{{{{{||{{zz{{z{{{|||{|{z{{{{{z{|{{|{||}{{{{{{{zz|}{|||{{{{zz{z{||{{{{||z{{||{{{{|||z}|{z{z{z{{z{}{||||}{{{{zz{{||{|||||{{{{z{{{{}{|{||{{|z{{{{{{{{|{|||{zzz{z{{||||||}|||z{zz{z||{||{{{{z|{zzzz{||z{|{|||z{{||{||{|||{|{{{{{z{y{|{{}|{|zzzzz{{z{{z|{||||{{z|{z{{z||{z{|{zz{{{{z{|{||{{zz{z{z{{zz{{{|z{|{{{{{{zzzz{zz{{{|{{z{z{{{|{{|{{{zzyz{z{{{{|{{{{{{{{{z{z{z{{{{{||z{{{z{|z{{|{z{|||{zz{z{zz|{z{|{{{zz{{{zzz{{{z|{{y{zzzzzz{z{{z{||{{y{{z{zz{{|z||{{{{zzzzz|{{|{{{{{{{yzzz{{z|{z||{|z{zz{{zz{{{|{{{{{{zzz{z{{{{{z|{{{{z{{{z{||{{{|||{{zzzz{{{|||{||z{{{{{z{{|{{{{}|{{{{{{{|{{{|{{}{|{y{{z{{{|||{{|{{{{{|z|{{{|{{{{|}{|{z{z{||{||{{||{||{{{{{}||||{||{{{{{{{{{|{|{{|{{{{|{{{{|{||||{{{{z{{z{{{{{}|||z|{{z|{z||{|{{{{{{{{{y{z{{|{{}|{|{}{z||{{||||}}|{{{{zz{{{||{{{{|{{|{{z|z|{{||{||{{z{zzz{{{{{{z{{{{zzzz{{{{{{{|z{z{{z{z{z{{zz{{z{{zzzzyzz||{{z{{{zy{z{zzz{z{{{{||zz{zzz{z{|{{{{|z{z{z{zyz{z|z|{{{zz{zzz{z{{||{|||{{zz{zy{zz{{z|||z{zzzy{yz{z{{|{{zz{zzzzzz{{|{|||{zzz{zz{z{{{{{|{{{{{{z{{{{{{{|{|z{{zzzz{z{zz{{|{zz{z{z|{|{||{{{|{zzz{z{{|{{{||}{{zz{{{z{{{{|{|{{|||{{|z{{|||{|||{z|z{{{{||{|z{|{z|{z{zzy|{||{{{{{zz{|{{{{|||||||{|{{{{{{{|{||{|{{{{zz|{{{||}|}|||{|{{z{{{|{|{||{|zz{{z{{||{{{||||{z{|{||||{|{|||z}}zz{{y|{{{|||{|{z{{{{{{{{|{{{{|{{zz{{z{{|{|||{{z|{|{{{{|{|{||||{z{{{{{{{||{|{|{|{{{zzz{{{{||||{zzy{{zz{{|{z{||z{{zzz{zz{|{{{{|{z|z{z{z{{{zz}{{{zzzz{zz{{{{z{{|{{zz|{{z{z{{{{{{z{yzzzzz{{yz{{{{{{z{z{z{{{|{{z|{{z{zzzyzz|{z{||{zzzz{zzz{zzzz{|{{{{z{zzzzz{{{|{{z{z{zzzz{{{{{{{z{{|{{zz{{{{{{{{|z{z{zz{{{z|{z|{|zz{zzz{{z{|{{{{{{|{z{z{{z{{{{{{{z{{{z{yz{{{{{{|{{{z{zzzz{|{z{{|{{{{z{{{{|{}{}{{}{z{{{{|{|{{{{||}|zz{{{zz{|||||{||{{y{{{{|}|{{{{{|z{z{{zz{{|{{||{}{{{z{{{{||||{|{{{{{z|{{{||||||||{{|{{{{{z{{|{{||{z{|zz{{|{}{|||{{{z{|zz{{{||||{|{zz{zzz{{{{{{{|{z{z{{|zzz|{{|{}||{|{{{z{}{{{|{|{z{zz{|{{{{{|}||{zzz{{{{{{|{||||{{zz{zzz|z{{{{{{{{zzyzzz|{{{{|{{{y{{{zzyz{{z|||zzz{z{{z{z{{z{|{z{{zz{{zz{yz|{|{|z{zz{y{{z|zzz{{z|{zyz{zz{{z{{{z{{zz{y{zzz{z{{{||{zzzzz{{{{zz{z{{{zzz{z{zzz{{{||{{{{{{zzz{{{{{z|{zzzz{{{{{|{{{{{{{{{zz{z{|{{{z|{{zz{zz{zz{{|{{|{{zz{zz{{z{{{{z{||z{zzz{{z||{|{{}||{z{{z{||{|{||{}{{{{{{{z|{||{z||{{{{{z|{||{|{||||{{{{{z{z|||{|||{z{{{{{z|}||{{|{{z{z{{{|{|{{{||||{{{{|{{{||||||||{{|{{|{{{||{||{{z{{{|{{{|{||}|{|{{|z|z{{|{|{{{|{{{zz{{{|{{|||||{|y{zz{{{|||{||{{{{{{zzz{{{{z|}}z{{|z{{{||||}||}|z{|{{{z{{}{{{{{||{z{{|{{|{{{{|||{z|{{{z{{|}{z{|{{{{zzzz{|{{|{{{{{z{{z{{{z{{{|{{{zzzz{z{|{{z{{|z{z{zz{{zzz{zz{z{y{zz{yz{{{|z{{{|{{zzzzz{zz|{{||{{yzzy{zzz{z{z{{{|zzy{{zzzzzz{{{|{|zzz{zz{{{|z||{zz{yz|zz{{{zz{|{|{{z{z{z{{{{{{{{zzz{{z{z{{{{|{{|{{{{z|z{|{z{|{|{|{|{zzzz{{z{}|||{{{z{{zz{{||{{{{{{zz{|{z{}{{{{{z{zz{{z{{|{||}{{|{|{{|{{z||||{}||{{{|{zz{|{{|{|{||zz{{z{z{{|{|{}}{{z|{|{{{{{|||||}{{{{{|{{|||}|||{{{{{{|{{{z{}{{||{{{|{z{|{{||{||{{{{{zz{|{{{|{{}{|{z{z{{{|{{{{||{{{{{{{z{||{|{{{{|{{{z{{{{|z|||{||z{{{z{||}|{{||{{{{{{{z{{{{|{|{|{{z{{zz|z{{{{|{z{{{zz{|z{|{{{|{{zzzz{zz{|z|{|{|{z{zy{{z{|{{{||zz{{{{{{z{z{{z{{zyzzzz{zz{z}{{{{{zzzzyzzzz{{{{{{|z{z{{zzyz||{{{{{{z{zzzyz{||{z|}{|zz{zy{zzzzz{{||z{z{zz{z{{zz{{{zzz{y{{yz{{|{{{|{{{{z|z{zz{{{{|{{{{zzzy{{{{{|{|{|z{zz{z{{z{{z{{z{{zz|zz{z|{{|z{|{|z{{z{{{{||||z{{zyz{{{z{|{{||{{|{{z{{{zzz{|||||{|{{z{{|{}z|{||||{z{{zz{{||||}||{|zz{|z{z||||{|||{{zz{||z||{{{{|}{{{{{|{|{|{|{{|{{zz{{{{{|{{|||}|{{{{{{{|{|{|||z|{{{{{{{|{|{|{{}}|{|z{{{{|{{||{|{{zz{{{zzz{|{{||{{z{z{z|zz{|{|}|{{||z{{{{||||}|{|z{z{z{}{{{|{|{||||{{z{{{{{}||{|||zz{{z{z{{|{{||{zz{{y{|z{{||{|{{{{{zzz{z{{{{z|{{|zzzz{zz||{|{||{zz{zzzz{z{z|{{{|zzz|zyzz{{|{{z{{{zzzyzzzz{{{{{{{{z{zyzz{{z{|z{{|{{{zzzz{z|{{z{||{z{z{z{z{zz{{|{|z{zzzz{y{{||{{{|{z{z{{z{z{|z{{{|{z{|zzz{{{{{{|||{zzz{{{z{{{{|{|{{{z{zzzz{|{z{{|||zz|z{{z||{z{||z|{z{z{{}{||{|{||{|{|{{{{|{||{||{{{{{{zz{|{{{{||{{{{z|{{{|||||{|||z|z{{{{||{|||||{{{z||{|||||||}||zz{{}|{{||{}|}|}|{{{|{{{||{{|||{z{||{{{{||z|}||{{|{{{z{{|{||}||{{{{{{{{{{{|{}|}{{{|{{{z{}{|{{||{{{z{{{z{{|{|{|}{{|{{z{z{}}{|{|}|{{{{{{{{{|{||||{{{{z{{z||z||{||{z|{{zz{{{{|z{}|{z{zzz{z{{|{{{{|{z{zzz{z{{{{{|{{{{zz{{zz{{|{z{{{zzzzz{z{{|{{{zz|zzzz{zzzzz|z{{{{|{zzzzz{{|{||{{{{{yzzzzz{z{{{z{{{z{z{zzz{zz{{{{{|z{yzzzzz|{{|||{{{{{zzzz{|{{|{{{{{{{zzzy{||{{|{|{{z{{{zy|{{{{{||z{zzy{zzz{{{{|{{{{{{z{{z{{{{||||{{z{{zz{{||{z{||{zzz{{{{{||{{||{|zzz{z{z||}||{|{{{{{{{|z||{|{|{|{{{{{z{{{}{z{{|{{{{{{z{{|}{|{|{||{{{|z{{||{||{}}|{{zz{||{|{{|{|||{{z{z{z{|{|{|}{{{zz{{{{{|{{||}}|||{{{{z||{||{|||{{z{{z{|{|{{{}||{z|z{zz{|}{{{{||z{z{|{z{|||{|}|{{|z{z|z|||{||||{{z{{{{{{z|{|||||{{zz{{z|{{{||||{z{{zzz{z|{{{{|||{{{z{{z{{{|{|{|{zzzzz{z{zz{{z{|{{{z{zz{{z{{{{||{{{z{{z{{{{z|{||z{{{zz{zz{{{|||{{z{zz{z{{z{z|{{{z{{{{zz{|{|{{{{|{{z{zzyzz{{{{{{{{zz{{zz{z|zz{|{{{|{z{{z{|{|{{{|{z{{z|{{||{{{{{|{zz{zz{{z{{{{{{zz{{z{{{z{{|{{{{{z{{{{{z{z{{{{{|||{z{z{|z{{{{{{||{|z{{{zzz{|{{{|{|{z{{{{z{{|}||{|{{{|z{{{{||{{||||{{{{|{{{{}||}|||{z{{|{zz|||||{{||{|zz{||||{{|{|||{{{|{{{|}||{|{|{{{{{{z{{||{{||}||{{{{{|||{|{|||{{{{|{{{|||{|}|}{{{{{{{|{|||{||||{{{z{{z||{}{||{{|{yz{z{{{||{{||{||{z{zz{|||}|{|{{{{zz{{z{|{z|||{z{{{zzz{z{|}|}{||{z{zz{{{{{{||{{zzzz{{z{{|{{|{}|z|zz{zz{{{z{{{|{z{z{y{{|{{z{{{{zzy|zzz{{z{zz{{{zzzy{yzz{{z{{{|{{{{zy{yzz{{{{{{{z{z{zzzz{{{|{{{z{zzz{{{zz{{{{z{{yzz{zzyyz{y{{|{{z{{z{{y{z{{|{|{|{|zz{zzzz{{zz{{|{zzzzz|{||{{{z{{{z{{{z{z{|z{{{{{z{{z{y{{{{||{{{|{z{{|z{{{{{{{||{{{z{{{z{||{{{||{|{z{z{z{{{{{{||{{{{z{z{{|{|||||}{{|z{{zz|}}||||{{{{zz{{z{{|{{{|{|{{{z{{{z{|{|{|{|{{{{{{{{}|{|}||{{|{{{{{|{|||{|{|{{{z{{{{||{|{|{|{{z{{|{|{||||}{z{{{{{{zzzz|{{|{|{{zz{{{z{{||z}{{{{z{{{z{||{z|{|{{z{{z{{|||{{{||{zzz|zzz{|{|{|{|{{z{z{{z{|z|{{{{{{z|{zzy{{{zzz{{{{{{z{|z{|{{{{{{{{{z{z{zz{zz{|{||yz{{{{{z||z{{{|{{{zzzz{{{{{{{z{{z{{zzzzz{{{{{{{zzz{z{z|{{{{{{{{{{{yyzzz{{{}{{{{z{{{zzzz{{{z{{||z{zzz{{z{|{{{{z{zz{zz|zz|{{{||z{|z{z{z{z{{{zz{{||{{zzz{{|z{{{{|{{{|zz{{zz|||{{||{{{z{{zy||{{{{{{|z|z{||{{|{{{|{|{{z{{z{{{||{{{||{{z{{zz{{{|{||z|z{{|{zz{{|{|||||||{{zz{z{{{{{||{{{zz{{{{{z{|{||{{|{{{||z{|{||||{|zz{{{{{z|||{|||{{{{|z{z|||{{||{|{{{{z{{{{{|{|||{{z||{{{|||{||||{{{zzz|z{{||}|}{||{{{zzzz{||{{|{{z{{z{z{||{{{}|||{{{{{z{z||{{|||{{{{z{zzzz{|||||{zz{zz{z|{|z{{{{{{{{{{{z{{{{{{|{{z{{{z{z{{|zz{{|{z{{z{zzz|{{z{{|{{zz{z{y{{{z{{z{{{zzzzzz|z{{zzz{zzzzzzzzz{{{{{{zz{zzzzz{z{{z{|{{|{{zyz{y{|||z{{|{{{{zzzz{zz{z{{|z{zzz{zz{{zz{|{}{{zzzzzz{{zz|{||{zzz{z{z{{{z{{{{|z{zzz|z{zz{{|{{{z{{{{z|{z{|{{{{{{{{{zzz{{|{{{|{{{{{{{zz{{}{{{|{{{{|{zzz|}|{|||{|z{zz{z{{||||{||{z||{|{z{|}|{||||{z{{{zz{||{{||{|{{zz|{{||}|{|z|{{{{{{{||{{|{}|||{z{{{{{{}|{{{}||{{{{z{{{||{|{|}{{{|{{{{|{|{|{|||{z{|z{z}|{|||||{{|{{{z|z{{z{}|{|{{{z|{z{|{{{z{|z{|{{{z{{|{{|{|{{|||yz{{{{|{|{}||{{z{|{{{||||{||{z{{zzzz{{{{{{{{{z{zzzz{z{||{{{{{z|zzz{z{z{||{|{{{zzzz{z{|z{{{|{{{z{yzz{{{{{z{{zz|zzz{{{z{z{{{|{{{{z{zz{{{{zz|{{z{{zzzzy{{|z|{{|zz{{{z{z{{zz{{|}{zz{zyzzz{{{{z|{zz{zzzyy{{{{{{{{{zz{zzz{z{{{{||{{zyz|z{{z{{|{{{{{yz{{z{zzz{{{{||{{zz{zzzz{{{{{{|zz{{{y{{|{|{z{|{{{{{{{zz{|{|{|{{{z{{{{z{|||{{{{|z{{z{{z{{{{{|{{z{{{{{{{{|{{|{|}}|z{{{z{{{{||||{|{z|z{{{|{||{||||{|z{{{||{{|}{|||{{z{|{{|||||}||||{{||{{|||||{||{{{{z{{z{{||{{||}{{|{{{z{|{{{|{||{z|zzz{z{{|{{{{{|{z{{{{z{|{}{{|{|{{{zz{{{{|{{|{|{{|{z{{{{||{{{|||z|{zz{z{{{{{||||{zz{{{z{z{{{{|{{{zzzz{z|{z{{{{{{zz{{{zy||{{z{z|z{{{z{zz{z{{z{{|yzzzzzz{z{{{zz{z|z{zyzzz{z{|{{z|{z{xzyzzz{{{{z{{zyzzyz{zz{{{{{{{{z{zzzzy{{z|{{{{{zzzzz{zz{zz{{z{{{{yzy{z{{z{{{{zzzzz{y{z{|z{{{{{{zzz|yzzz{{{{z{{{zz{zy{z{{{{{{{{z{z{y{{z{{{{|{|}zz{{{z{z{z{z||{{{z{|{{z{|{||{{{|{{z{z{{|{|||{{|{{{{z{z{z|{|{|{{{z{{{z{{{{|{{{||}|{{{zzyz{{{{|{||{z{{z{{z|||}{|||{{{{{{z{z{|{|{{|{z{{{{{||{|||||{|{{{{z{{{{{}||{|{{{{|{z{|{{{{|{{||{{{{{{{{||{|||{{{z{{{{{{{{{{}{|{z{{zzz{|{||{||{z|zzz{zz{zz{{|{z{{z{z{z{||||{|{{{|z{zz{{{{{|{||{{{zz{z{{zz{{{{|{{zzzzzz|{{z{{|z{{zzz{zz{{{{{|{|z{{|zzzz{{{{{{{{{z{zzz{{{{|{z|{|{zzzzzz{zzz{{{{|{zz{zzyzz{{|{{{{z{{{z{zz{z{{z{{{z{zzz{zz{{{{z|}{z{{zzzzz{{y{z{{{{yzzzzzyz|{{{|{{yzz{{{{z{{{{{{|zzzzz{z{z{||{{{|{{zz{{zz{{{{z|z||{z{zz{z{{{|{|z||{z{zzzzzz|{{{{z{{{|zz{z{{zz{{z{||{{{zz{z{||{{||{z{{{|{{{|{||{{{}{|{{{{{{{{|{{{|{{{{{{zz{z{|{||{{|{{{z{{{{|{{||||{{||||{z||{{|{|||z{{{{{{{}||||||{{{|{||{|{||||{||{z|{{{z|{{|||{||{{|{z{{|{{|||{{||{{{z{{z{|||||{|zz{z{{zz|{|z{{{{z{{z{{z{{{{{|{|{{{zz{{{||{{{|{}{{|z|{{y{{{|||{{{{|zz|zz{{|{|{||zzz{zzzz{{}{{{{{|{{zzz{{{{|zz{|}{z{z{zzz{{{{{{{{|{{{{zzy{{|{{{|{{z{zz{z{|z{{{{||yzzzzzz{{{{|{z{{{z{{zzzzz{|{{{{{|{zzz{zz{{{|z{||{{yzzz{yzz{z{|{{yz{zzz{{z{{z{{|{zy{zz|{z{{{zz||z{{zz{zzzz{{{{{||{{z{z{{||{{|z{|{{z|{zz{{zz|{{{||zy{{{{zz||z{|||z{{{{{{zz{{{{z{{{{zzzy{{y{{zz{|z|{z{{{z{{|||{{|||z{z{{{{|{|{|{|{||{||{{{z}|||{|}{{{{{|{{{|{||||||{{{{{{{{{|||||||||{{z{{{{|z||||{{{{{|{{z|||||}{{{{{{{{z{|{{|||}|{{|{{{{|||||||{{{{z{{z{|z||||{{{{{{{{z{{{{||z{{|{{{{{{z{{{{{{}{|zz{z{{{{|||{|{{|}{|z{{z{||||||||{||{{{zz{{{{{{{|zz{{{{z{{{||z{|{|{{zyzyz{|{{z{{}{zz{z{z{z{||{||{|z{{yzzyzz{z{{{{zz{zz{{zz{z{{{|{zzzzzzzzz{z{z{{{{z{z{zzz|{{{|{{{{{{{zz{zz{{{{z{{{{{z{zzy{|{z{{{z|{{zzy{zz|{z{{|{zz{zz{{z{z{{{z{{zz{{{z{zz{|{{z{{z{z{{y{{{||z{{|{{z{{{{zzz{|z{|{{z{{{{{y{{|{|{||{{z{{z{zz|{|{{{|{|{z{z{{{{|z|{|{{|{{z{|{{|{{|{{|{{|{{|z{{z|z}{|}}{z{{{{{z|{||{{|{{{{{zzz{{{||{|}}|{{{{|{{|{{||}|}{{{|{|z|{|||{{|||{{|z{{|||||||{||{{{{|{{|{{{|{||{{{||{{{||||{||||{{zz{{|{||{{||}{|{{|{{z{{{{||||{{|zzz{{{||{{|{z{|z{{{z{{{{{||{|zzz|{{z{{{||{|{}{zz{{z{{{|{|||||{{|{{zzz{{{{z{{|{z{zzzz{{{||z{{|{z{{z{{yz{{zz{{z|zz|{{z{z{|{{z{{zz{zz{{z{{{{{{|zzzz{zzzzz{{z{||z{z{yzz{yz|{z{||{{z{zzz{z{{{{{{{zz{{z{{zzz{{{{{|z{zzz{{z{z{{{{|{{{z{z{{{zz{{z{||{{zzzzz|zz|{{|{|||{{{zzz{{{{{zz{{zz{zzz{z|{{{{||{{z{{{zz{{{||{|z{{z{zzzz{{|{{z{{{{z{{|z{zz}{{{|{|{z|{{{z{{{|||{{|{|{z{{|{|{{{||||{{{{zz{z|{{z|||z|y{{|zz{|||{|{||{{{{{|{{{}{|{||{|{{|z|{{{}|{{|{|{{||z{|{|{{{{{z{{{zz{{{{{||{{|||{{z||zz||{{||{||{{{{z{{z{||z{||}{{{{z{{z{{{{{{||{{{{z{zz{z{{{{|{|z{{{zzz{{|{{{||z{{zz{{{z|z|z||{{{zzzz{z{{{{{|||{{{{z{{z{{{{|{{z{z{zzz{z|{|{{{{|yzzzzyzzz{{{{{{{{{{z{zzz{{{{z{{zzz{z{zyzzz{{|{z{z{yzzzzz{{{z{{{{{z{zzyz{{{{z|{{{zzz{z{z{z{{||{||y{zzzy{y|z|{z|z|{{zzzyzzz{z{zz{|zz{{|{zyz{z{z{{{{{y{{zz{{|{z{||{{y|{yy{{{|z|{||zzz{z{{z{{{{{{{|{{z{zzz{{{|z{{{{{{zz{{yzz{z|{{|||{zz{{z{{{}{|{}{{z{{z{{{z|{{{{|{{{{{{z{{{|{{{z|z{{{{{z{{z|{|||{{{|{{{{{{{{|||{|{|{{|zz{{|{}{}{{{||z{z{{z{{||||||||||{{{{z||||{|{|{zz{{{{y{{{||||{{{{z{{z|}{||{|{|{z{z{{{{{{{{{|{|{{zz{zzz{{{|{{{{{{zzzz{z{{{{{z}{z{zz{{{y{|{{{|{|z{z{{{zz{{{{{{{|{{zzzzz{|z{{{z||z{z{{z{{z{||z{{{{{{z{y{zz{z{{z{|yz{zzyzzzz{{{{{||{z{zz{{{{z{{{{{zzzz{{{{{z{{{z{{zz{{zyz{{{{z{{|{zzzzzyz{{z|z{{z|{{zzz{zz{|{{{{{{|zzyz{{yzz{{zzz{z{z{zzyzz{{{{{{|{zzzzzzzz{z{{{{{zzzz{zzz|z{{z{{{z{{{{z{{|{{||{{{{{{{|z{zzz{{{{{{{{zzzyz{{{{{{||{{{{{{zzy||{{{||{z{zzz|{{{{{{{|{{{{{{zzzz{{||{{|{zz{z{{{z{{{{{|||{z{{zz{{|||{}||{{z{{z{{{|{{{|}}||{{{z{{||{{{{|{||z|{z|{z|}|||||{{z{{{z|{||{|{|||z{z{|{|{{{{||||}{|{{|{z{{{{||{|{{{{z{zzz{{z{|||||z{{{zzz{|{|{|||{{{z{{{{|||z{{||{z{{z|{{{|{{{|{|{{{zy{zz{{||{|||{{zz{{{{zz{z|{|}{z{{z{{z{|{|z|{|{{zzzzzz||{{{|{{zz{{z{zz{|{{z{{{{{{zzzz{{{{|z|{z{z{{{{zz{y|{{{{{zz{yzyzzzz{|{{|{zzzzz{{{zz|{{{{{zzz{z{{zz{{|{{|{|z{{z{zyz{{zz{{{{{zy{zy{z|zz||{{{{z{z{zz{{{{{{|{{{zz{zzz{z{{{{{{{{|{{{{{{|{{{{{{{z{zz{{{{{|{{{{{{{{zzzz|z{|||{{|{{{{z{z||{|{{|||{{{|{{z{|{|{{|{|{{{{{{|{{{}||||{{{{{z|{{|{||{{}|{{z{|{{{{|{||{||{zz{{{{{||{||||}|{z|{|{|{|{|{}|{{{{{z{{z|}}|||}||{{{{z|{}{|||}{||{zz{z{||{{||||{{|{{{z{{{{||{|||{{z{{|{{{||{{|||{{{{{zz{{}z{||||{{z{z{{{{z|{|||{{{z{{{{z{{{|{|{||{zzz{zz{{{|{|||}{{z{{{{{{{{{{{{|zz|{z{z|z{{{{{|{|zzyzzz{{zz{{||z{{zzzzzz{|{{{{{{{z{zzzz{{{z{z{{z|zzz{z{{{z{zz{{yzzzzz{z{{{z{{{z{zy{z{zz{|{{{|{zz{z{zzzzzz{{{|{|zzyzzzzyz{z{zzzz{{z{yzy{{{{{z|z{zz{{zzy{{{{{{{{{{zzz{{zzzz{{zz{|{{z{{{zz{z{{{{{|zzzzzz{|{{{|{{{zzzz{zyzz{{||{{{{{{z{zzyz{{|{{{{{{z{{{zzz{{{z{}|{{zz{{{{z{||{{|||zzzzz{{{{{||{{|}zz{z{z{z{|{||{{{zz{{{{{z||{{{|}{{z{z{|{z|{|{{}}|{{{{{{{|{|}|||{||{|{{zz{|{{{{|}}|{{{z{z{z{z|{{{|{{z{{{{{||||||{}{{{z{z{z{{{|{|}{{{|{z{zz{{|}{|{{{zyzz{zz{{zz{{|{|{y{zzyz{{|{{z{|{{zzzzyz{{|{|{z|{{zzz{{z{|{{{||{{z|zz{y{zz{{{z||{{{zy{{{|{{{{{{|{zzz{{{zz{{|z|{z{{z{{zz{{zz{{{|zy{zzz{zz{z{|{{{{zzzzzzzz{{zz{{{{z{{zyzzz{y{{{{z{z{zyzzzzz{{z{{{{y{zzzyzz{{{{{{z{zyz{z{{zz|{{{{{|zz{{{zzz{z|{{{{{{{zz{z{{{{{{{{{{y{z{zz{zzzz{||{|{zzyzz{z{z{y{{{{{{zz{z{z{|{{||||{zzz{z{{||{|{{|{{z{{z{z{||{{{|{z{{zz|{z{{{{{{|{{z|{z{z{{{{{{{{}||{{|{{z{{z{{|{{{|{{{{z{z|||||||}{|z{{{{|||{|}||{|z|{{{|{{}|{{|}{{z{||z{z|{|||||{{{zz{z|{{|{{||||}{{{{z{z|{{{{{|{{{{z{z{z{{||||||{{{yzzz{||{||{{{{{{{z{zz{||{|{{|{{zz{z{z{{{{{{{|{{{zzzz{{{{{{|{{{z{{zy{zz{{z{{|{{z{zz{zz{z{zzz|{{zzzzzzz|{||z{{|{z{z{zzy{{{z{z|z{z{{zz{{{z{{z{|{{z{zzzyz{{z{{z{|zz{zzy{z{{{{zz|{{zzz{zzzz{{{{z{{zz{zz{zz{{{z{z|z{z{{zyzzz{zz{z{{zy{zzzzzz{z{z{zzzzzz{zzy{{{{z{{{zzzzzy{{z{z{{z{{zzzzyzz{z{{{z{{{{z{{zzzzz{|||{{|yzzz{z{z{{|{{{{{{zz{{zzz{||{{{{z{{z{zz{z{{|{z|{{{{z{{z{{{|{||}{{{z{zzz{{z{||{||{{{{{z{z{{{{{{|{{|{{{{z{{||||{{{|{||{z{{{{|{{|{{}{{{|{{{z||{{{||}|z{{z{{{{|{|{{{{{{{z{zz{{{z|||{|{{z{{{{{{|{|{||{z{{zzz{z{{{{|||z{{|{z{{{z||{|{||{{{{z|{{{{{{{|{{{z{z{{zz{{{{{||{{z{zzz{{{{{{{{}|||zyz{{z{{{z|{{{z{{z{{zz{{|z{{z{{zzyzzzz{{{{{{{|z{z{{zz{z{{{{{{z|zzz{z{z{{yzz{{zzz{yyzzy{zz|z{{{zzzz{zz{{{z{z{|{{z{zyzzz{zz{{{z{z{{zz{zzz{{{{{{{{yzzyy{zzz{zz{|{zz{yzzzzzz{{{|{zzzzz{z{z{{zzz|z|zz{zyzzz{{{{z{{{zzzzyyzz{||{{{z{{{z{z{{{{z|{{{{{{{|{{yzz{{{{{{{|zy{{z|z{{||{|{|{z{z{{zz{{|{{z{{{z{{{z{zz{z{}|{{{{zzz{{||||||{{||{z{{zzzz{||{{|{{{{{{{z{z||{{{||{{{{{|||{||{||{{{{{{{{z{zz}{{{{|{{{{|{z|{|{|{||||{{{{{z{||||{||||{{}z||z|||{|{{|{z{{z{z{z{z{{{|||{{{zzz{z{|{{{}||{{{zz{z{{|{|{|z{{{{{z{{z||{z{|||{zz{{z{{{|{{{|||{{{{z{{z{{{{{{|{zz{z{zz{z{||z{{||zzzzz{z|z{{z{{|{{zzz{zz{{{{{}||{zzzz{z{z{|z{|{{{zzzz{zz{y{z{|{{yz{{zzz{{{{{{z|{zzzzzzzz{{{{|zz{z{{{yzz{zz{}z|z|zz{zzyzzy{{z|{{zzz{z{z{{z{z{z{{{zz{z{{zzz{|{z{{{{z{{{{{{{z{z|{z|z{{z{y{z|{{{{{{|{{{{z{{{||{|{{{{{zz{{zz{{|{{z|{||z{{{{{z{{{|{z|{{{{{z{z{{|||{|{||{{|z{{{{||z|{{|{{{{{z{{{|{{{{||zz{{{{z|||{{||||{{|{{|{{|||{{{||{{z{{|{{{||||{||{{|{|z||{|||{{}}|{{{{{zz|{|{||||{{z|{|z{{|{|{}{}|{|{{|z{|}{|{{}}{z|z{{z{|{||{|}|{{zz{{|z{|{{{{||{zz{zz{z{{{{{|{zz{yz{{{|{{{{z{|{z{|{{{{{{{{{|{{{{zzzz{{{{|{{{{|{zzzz{zzz{{||zz|{{z{y{z{y|{{z{{|||z{{{{zz{|{{{{z{{zzzz{zz{z|zz{{{{{{zzzz{{{{|{|{{y{yzzyy{{{{{{{{{zzzzz{z{z{||{{{{zz{zz{yz{{{z{z{|{zzzzz{zz{z{z{zz{z{{zyzzzz{{{{{{z{zz{{{z{z{{|||{{zzzzz{{{{{y{{{|{z{zzzz{{|{{{{{|zzz{{zz{|z{{|||{zzzz{z{z{||{|{|{{z{{zzz{{{z{{{|{{{{z{z{|{||{|{{{{z{z{{z{|z{|||{|{{z{{{{{{{||{|}{|{{z{zzz|||{|{||{z{{{{{{{{|z{}||{{{{zz|{z{|{||||z{||{{{z{|||{{|{{{|{{{{{|{{|{}{||z|{{|z{{{{}{{|{|z{{{{zz{|||||{{{{z{{}z{||{|{|{|{|{{z{|{{{{{{{|{{|zyzy{z{|{{||{{z{{{{{zz{{{{z{|{{zz{{z{{{||{{|{|{zzz|{yz{{|{||||{{{{{z{zz{{|z{||{{{zz{z{{z{{{{z|{zzzzzzzz{{z{{|{{z{{{zyz{|{zz{|z{{{{yzzzz{y{{{{{zzzzzzzyz{|z{{{{{{zzyzz{{{{{z{{{z{{zy{{z|{{{{{{{z{zzzz{zy{zzz|zzzzzzzz{{z{z{|{{{zzzz{z{y|{z{{{|{zzzz{zzzz{z||{z{z{zz|z{{{{{{||{{z{{{{zz{|{{{{{{|z{{zy{{{{{||{|||zz{zzzz{{{{|{{|{{{z{z{{{|{{{{|{{{zz{{{z{|{{{{{||{{{{{{{{{{|{{|||z{{{{|{{||{||{|{|zz{|{{z|{z||||{|{|{z{{|{{{||{||{{{|z{{|{}{~|{||~{||{{|||||||||{|{{|{z{{||{{{||||{z|{{z{||{|||{|{zz{{{z|{|{|{|||{{{|{{{z{|{|{|{|{{{z{z{{{{{{{{{{{{{{zzzz{|{{||{{{zz{|{{{{|{{{||||{{z{zz{{||{{||{{z{{zzz{z|||{|{{{{{zz{|z|{{{{{|{{{{zz{{{z{z{||{{{z{{z{yz{{{{z{|{{z{yz{z{{zz|z{{|z{z{zzz{{z{{{{|z{z{zyyz{{|z{{{|{yz{zzyzy{{z{{{{zzzzyz{zzz{zzz{||zzzzzzzzy{z{{|{{zz{z{zzy{{{{{{|{{{zz{zzz{{|zz{|{{z{zzzz{{{{|{{{|{zz{zzz{{{z{{{|{z{|{{{zz{{||{{{{{{{zzz{z{{|{|}{z{zz{{{{{{|{|{{{{{z{{{{{{{{||||||z{{z{{|{{{{{{{||z|{{{{{{z||{{{|{{{z{zz{{{||{|||{{{{{{||{{{{{|{{{|{{{z|{|{|{|||{{|z{{z{{{{|{{|{||{zzz{{{|{||||{{{|{z{{|zz||{{{{|||z{{zz{z{|{z||{|{z{{{z{z{{{|||{{{{{{z{{|{{{{{||{zz{{zz|{|{|{{|{|{{{z{zzz{{{{{{|{z{{{zz{z{{{z|{{|{{{zzz{{z|{z{{||{{yzzzzy{|{{{|{z{z{z{{zz|{z|{|{{{{{y{zzz{z{zz|{|zzz{{{{z{zz{zz|{{{zy{zzz{{zz{{|{{z{{z{{z|z|{{|{{{zzzy{zzz|z|z|||z{zz{zzyz||z{z{{zz{y{zz{{||zzz{{zz{{z{{{z{||{{|{|z{z{zzz{{{z|{{}{{{|{zz{z{|{|{{{{z{zzzz{{{{{{|{{{{{{z{{z{|{{|{{|{z{{{{zz{{{{{||||{zz{zz{{}{z{|z{{z|z{{{{{{z{||{|{{{z{{{{|||||~{{{{z{{{{{z{{|{{|||{{z{z{{|}{|{}|{|{z{{{|z{}{}|}{||zz{{{{{|||||{|||{{{{|{{||{|||}|{{{{{|z}||||{{|||{{z{{{{|||{||||{{|{{|z{{||{||{{|{|{{{zz|{{|{{||{{{zzz{z{||{{{{|zzz{zzzz{}{{{{{|{{z{zz{zz{|{{|{|{{zz{{{{{{|{||||{z{z{zz{{{|{{{{{{zzzzz{z{{{|{{z{|z{yzz{zz{{{{{|{{{zzzyz{zz{z{{{{|{{zy{yzz|{{z|{{{{zzzz{zz{{{{|{{zz{{z{{{{{{{|{{{{z{{zzz{{{{{{{z{{z{zzzzz{zy{{{{{z{{{zzzz{|zz{{{zz{{{z{yzy{z{{{{{{zzz{z{{{{{{z{||{|{zzz{z{{|{{{{{{{|{zzzzz{{{|z{{{zzz{z|{{||||zzz{zzzzyzz|{{{z||||{z{{{z{|||{{||||{zy{{zz|{|z|{{{|{|{{zz{{{{|||||{{{|{{|{{{{{||{|{z{y{{{{||{z{}{|{{|{{z|{||{{|}||{{{{||{{{}|||||{|{|{{z{{||{|{||||z|{{{{z{{{||{|{{|z{{z{{|{|||{|||{{z{z{{{|{{{{|||z{{zz{{z{{{{|{|{z{{{z{zz{{{{{{|{{z{{z{zz{{{{{z|{{z{{zzz{{{{z{{|{{{{z{zz{{{{||{{{|{{z{z{{z{{z{||{{{{z{zz{z|{z{z|{{{z{zzyzz{{{{|{zz|z{zzz{z{zz{z{{zzzyzz{{{{{z{{|yzzzzzz{z{|{{{{{{zyzyzxzzz{z{{{{{{{zzzzyzz{{z{{|z{zzzyyz{{z{zz{{{y{z{zzzzz{|z{{{zy{yz{z{zz{z{zz{zzzz{zyz{{z{z|{||zzzzzzz{zz{{y{{{z{yzzz{{{{{{|{|z{zz{yz{z{z{z|{{{|z{yz{z{|||{{{|{{z{yzzz{{{z{z|{z{z{{z{{{|{{{{|{z{{z{{|{z{{|||||zz{z{zz{{{||{{|{|{{{{z{z{}{{||{{{z{zz||{{{}{{{{{{z{{z{z{{}{}|||{|z|||z{{z{{{{{|{{z{{zz{{{{{|{||{{{{zz{{{{|{||{z|{|z{{zz{{{{{{{{|{{z{z{zz{{{{{{{{{zzz{zzz{|{{{{|{{{yz{zzzzz{||{{|zzzzz{{{{{{|{|||{{{zzzzz{{zz||{{{{|{zzy{{{{{z{|{{{zyyzz{zzz{{{z|{zy{zz{{z{{zzz{{{z{{zzzzz{{z{||z{z{y{zzz{{z{z{{|zzy{zyzz{{{z{{z|{z{zzzyzzz{{{z{{{zyzyyzy{{{z{z{{{zz{{{yyy{zyz{z{zzzzzz{yz{z{z||{zz{{z{zzz{{{{{|z{y{z{z{z{{{{{{{{z{yz{zzzz{{{zz{|zz{zz{yz{z{{|{|{{{|z{y{y{{{{zz|{{zz{zz{z{{{{{{{{{zz{{{{{z{|{|{|{{{{{{z{zz|{{|{{{zz{z{{|z{{z{||}|{{{{{zzzz{|{|||{{{|z{zzz{|||{|||{{{{z{{|{{{{|||{{{{{z|z{{||{|{{|{z{{{{{{||||{{{{z{{z{zz{z{{{|{|}{{{{{z{{|{{{||}}{z|{|{{zz{{|{{{z{{{{{z{z{|z{{||{{{zz{zzzz{|z{||{{{z{zzzz{{{z{{|{{{{z{zzz{|z{z|{{|zzz{z{zz{{{{{||z{{{zzzzz{{{z|z{{z{yzzzz|{{z||{|z{{z{z{{|{{{{{||{zzzzzyzzzzzz{{{{{{zzzz{|z{{{{{|z{{zzzzz{|{zz{||{zzz{zyzz{zz|{{{{z{zzzz{{{z{{{{{{zzz{zyy{{z{zzzz{zzz{zzzy{yzz{{{zzzzy{yz{z{{z{|{zzzyzyzy{{z|{{{{z{{zzyzzzz{{{{{{{z{zzzzz{{|z{{|{{z{zzz{zz{}||{{{|z{zzzzz{|{{|||zzzz{z{{{|{{{{{{{{{{zzz{{{{{{{{|{{{{z{|{{{{{|{|||z{|{|zzz{||{{{{{{zzzzz{|||{{|{|{{{{{{{|{z}|{}|{|{{{{{{{{||||{||||{{|{zz||{|{{|{{{z{{z{z{|{{{{|z||{zz||{{|{|{||||{{{z{{{{z{{{||{|zzzz{{zzz|{{{{{{z{zz{zz{{{{|{{{{zzzzzz{zz||{|z||{zz{zzzz{{{{|{||{{zz{{z{{|{{{{||z{z{zz{{|{|{{z|{{{{y{z{y{|{{{|||{yzzzz{{z{{{{|{z{{{z{{{z|z{{y{{{{{zz{zzz{{z{z{||zz{zzzzz{{{z{{{{zz{yzzzzz{|{{{{{{{{{zzzyz|zz{z{|{zz{zzzzzz{{z{{y{|zz{z{zzzzzz{||{{zzzzzz{{|z|||{zz{zzzz{{z{z{{{{{z{z{y{{{{{{z{{|z{z{zzz|{||{{{||z{|zzz{{{{{|{{{{{{zzz{z{z||{z{|{|z{z{{z{z{{{{|{{{z{{{{{|z{{{||{{{z{z{|{||}{{|{|}|{zz|{z{||{|{{||{{z{{{zz{}z|{|||{z{{{{{|{|{{|{|{|{{{z{{{z|{||}|}|zz{{{{z{|{{|||{|z{z{{{|z|{|}{{|{z|{{z{{{{|{|}{|{{{z|z{z{|{{|{||{{{zzz{{z{||{{|{zy{z{{z{{{{z{||{{{zz{y|z{{|{{{{|zzz{zzz{zz{|{{{{z{{z{{zz|{{|||{{zzz|{{zz{{||{z|{{z{{zz{z{{{{{||{zz{zzzzz{{{{{{{{z{z{yzzz{{z{z{{zzzzyy{zzzz{{{|{|yzzyyzzzz{{z{{{z{zzyy{zz{{{|{zzzzz{zz{zzz{{{{{{{zzzzyz{zz{{zz{z{y{{{{zzzz{z{z{|{{zz{{yzz{{z{{{}|zzzz{{{zz{{|z{{{{z{zyy{z{{{z{{{{zz|z{zzzz|||z|{{{z{z{y{z{{|{{|{{{{{{{{z{z{{{|||z{yz{{z{z{|{{|{|{{{{z{{zz{}||||{{{|{|{z{{{|{{{{|||z{{{{{{z{||||{{{{{{|z{{|}{{|{|{{z{{{{{{z{{{{|{|}{|{||z{{|||||{|{{{{{{{{|{||{||{|{{{z{{{z{{{|{||||z{{{z{{|{{{||{|z{{zzz{{z||{|{}zzz|{{{zz{{|z{|{{z{z|z{z{|{{{||{{z{{{z{{{{|{{{|{{{{{{zz{|{{{{|{|yz{z{{{z{z|{{z{|{{{{zz{zz{||{{|{{z{zz{{y{{{{|{z{|{{zz{{{z{{{{||{{zzzzz{z|z|z{{|{{{zzy{{yz{{{z{{{zzzzzzzzzz|{{{{{z{y{{zzz|{{{z{zz{zzzzz{zz{{|z{{|zz{{zzzyz{zz{{z|{zzyz{zzz{z{{{{{{zzzz|z{z{zz{|{z{zy{zyzz|{{{|z|{{zz{{{z{|{z{{{{|z{z{zzyz{|{|{|||{{{z{z{{{|{|{{{{{y{{{{{z{||{|{}{zzz{{{{z{|z{z{{{|zzz{{{{{{||{|||z|zzz{{{|{z{|{|{{z{z{|z{{|{|{|{{{{{{{z{z{||{|||{|{|{{||{{||||||||{{z{{z{{|||||}}{{|{{{{{{{|{||{{{{{{z{{{|{||{|{}{{z{{z{{{|{||}z||{{{{{|{z|{{|||{{{{z{{z{{|{||{{{{z{z{zz{|z{{{{|z{{zzzz{{{{|{z{{{|{zz{zz{{{z||z{||{zz{z{{{{{{{|{{z{yz{zy{{|{{|{|{z{zzzz{z{||{{|{{{{zz{{{{{{{{z{{{|y{{zzzz{||{{z{{|z{zz{z{{zz{{|{zzzzyz{{zz||z{|{zzz{zz{y{{{{{{{z{|z{zz{zzz{{{z|{{z{z{zy{zzzz{{{{{zzzyz{yy{{{{z|{{{z{zz{{z{{{z{{|{{z{z{zz{{{|z{|{{|{{y{zz{{z{{{{{{zz{{zzz{{{|{{z|{{z{{z{{z||||{||{|{{zzzy{{y{{||||{z|{z{z{z{{{{{|{{{|y{{z{|{{{|{|{zz{{|{|z|{{{{}|||{{{z{{z{||{|{|{|{z{{{{{{|||||||{||{z{|{|{|{{|{||{|{{{{{{|||{||}|{|{{{{{||{||{|||{{z|{||{{{||{{|{{{{||{{{|{|{|}{z{{z{{{z{{{{{{|{{{{z{z{z{{|{{|{{{|zzzyz{z{|z|}{{{zzzzz||||{{{{{{{{{{{zzz{{{{{|{|{z{{{{{y|{{{|z||{{{{zz{zz{{|{{}||{{yzzzz|z{{{{{|||{z{{zz{{zz{{|{|z{zzzzz{{{zzz|{z{zzzzzy{{{zz{|zzzzz{{{z{||{{{{{zz{zyz{{z{|{|{{{{{zz{zz{z|{{zz|{zz{zyz{yz{|{z{{{{z{z{z{{z{{z{|{{{z{zz{z{{{{|{{{|{zyz{zz{{|z|{{|{{{z{zz{z{{{{{z|{{z{{{{zz{{||{|{||{{z{z{z{|{{z{|{{zz{z{zz||{z|{|{{{z{z{{z{{{{{{|{|{{{{{z{{{|{{{|{{{z{{{|{{{{|{|||{|z|{{{{||{{z||{|z{{|z{z}|{{{}|{{{{{z{||{||{||||||z|{{||{|||||{||{{{|z{{|{{|{|||{{z{|||{{{|{{|}}{{{{{{z{{|||{{|}|}{{{zzz{|||z|||{{{{zz{z{{{||{{zz{||{z{z|{|{{{{{z{{zz{{{z|{z{{{{|zz{{y{zz{|{|{{|z{zz{{{z|{{{{{|{{{{z{zy{{{{{{{z|{{z{{zzz{|{{{{|{{z{{z|zyz{|z{{{{|zzzzzzz{{{{{{{zzzzyzzzzzzz{zz{{zzzz{{zzz{z{z|{{zzyzz{z{{z{z{{z{z{zyzyzzzzz{z{{|{yzy{yzzy{zz{|{{zz{zzzyz{{{{||{zz{zzzzzz{{zz||{|y{{y{zzz{{z|{{|}zzzzzyzzz{{|z{|{z{{y{z{{{{{{{{z{z{zzz{{zz|{|z|{{zz{zz{{z{{|{zz|{|{zz{{{|{{z{{{|{{{{{y{{z{{{|{||{z||{{{{{{|{{{{||{{{{{z{{{|{{{|}{|zzz{{z{{{{||{||{{{{|{{{||{|{|||{{|{z{z{{||||||||{{{z{{|{|{|{{||{z{{{{{{|{{{|{{|{{z|{z{{|{{|{|||{{z|zz{{|{{{{{|{{{{{{{z|z|{{{{{zzz{{z{zz{z{{{{|{{zyzz{{z{|{{{z{{{{zz{zz{{zz{{z{|{{{zzzz{|{{z{|{{{zzzzz{{{z{{{{{||yzyzz{y{{{zz{{|{zzzz{{{zz{zz{{|{{zz{{zy{{{z{{{{zz{z{zz{{{zz{z|{zz{zz{zzz{{{{z{zzy{z{yzzz{{{{|{{{{zzzyz{{{y{{{{{{zz{zzyzzzzz{|z{z{{zz{{{zz{yzz{|zzzzz{yz{{{{{{||{zzy{{z{{|{zz{||{z{{zz{z{{{|{|{|{zz{zzzz{{{{{|{{{{zz|y|zz{z||{{{zz{{{z{z{z{{z|}{z{{{{zz{{{{{{|{{{{z{z{{z{z}{||||{{zz{z{|z|{{{}||z{z{{z{{{}{||{z{|{{zz{zz|}|||{}|z{{z{{{|{}|{|||{|z|z{{{{{|||{|{|{{{|{{{{z||{{{||{{z{|zz{{{|{|||{z{|{{{y{|{{{||||{{zz{{{{{{||{{{z||zzzzz{{{{{|{|{{{|{{zzz{{{{z{{{z{z{zyzzz|{{{{{|z{zzzzy{{|{{{z{|zzzyzzzz{zz{{{{{{zzz{zz{{{z{zz|z{{{zzz{z{{{z{|z|zyzz{z{zz{{{{{{{{zzzzzzz{{{{{{{|z{zzyzyyzzz{z|{z{{{zzzzzzz{{y|{{{{zyzzz{zz{z{{{{{zzzzyyz{{zz|{z{zzyyyzzyz{zyz{{{zyzzzzzzzz{zz{z{zy{z{yyzz{{{{||{zz{zzz{z{{{z{{{|zz{{yyzzz{{{{{{{zz{zyzzz{{z{{z{{{zzzzz{y{{{{{{z{{zzyz{{zzzz{z{{z{y{zzzz{z{{{|{zz{zzzzzz{{{|||{||{{{z{{{z{|z{{{||{zzz{yzzz{|z{|{{|{z{{|z{{|{{{|{{{{{zz{{{{{{{{}|||{zz{z{||||{|||||z{z{{{{{|{{z{{{{z{zz{z{z|{z{||{|z{{{|{{{{{{||{|{{{z{{{z|{z|{{{{{{z{{z{z|{{{{{z{{{{{z{zy{|zy{{{{{{z{z{{z{{z{{{||{zzzz{{{zz{{{{|{{zyy{zz{{zz{|z{z|zzzzz{zz{{{zz{zz{zzzzzz{{{{z{{{zyz{{z{{z{{{{{zz{z{zzz{z{zzz{{z{{{zzyzzy{z{{z{{zzz{y{zzzzzz{{zzzzzzzyzyz{z{z{z|zzzz{zyzz{zzz{{{{{yzz{{{zzz{z{|zz{y{zyzzyz{z{z{|zzzzzz{zyzz{{zz|{zzzzzz{zz{{z{zz{z{z{zzz{{{{{{|{z{zzzzzzz{{{{|z|{{{{{zzz{zzz||||{{z{{zzyz{||{{|{zzzz{zzzz{{{z{|{{zz{{|{z{{zz{|{{|{zzzzz{z{{|||||{{{zzzzzz{{|{{{||{{{z{{|{{|{{|}||zz{{{{z{z{{{{{|{|zzz{z{{{|{|{|}|z{z{{{|z{||{{||{{{{{{{zz|z{{|{|{|{z{{zz{|{z{{|{{{{{z{{{{z{{{{{{{zz{{z{zzz{{|z{|{z{{yzzzy{z{{{||{z{zzzzyz{{{{{{||{{z{yy{{{{{zz{|{{{zzzz{z|{|{|{{{z{{yz{zz|{{|{|{{{{{zzzyzz{{|{{{|{{zz{yzz{zz{{{{{{y{z{zzz{z{{z{z{zz{zyzz{zzz{{z{|{yz{{{yz{zz{{{{z{z{yzzyz{{{z|{{zzy{yzzyzz{{{{|{{{zzzyyzy{{zy{{z|{zzyzzzyz{zzz{{zz{{zyz{zz{{{{z{{z{z{{zzzz{{{{{{{{y{zz{zzz{{|zz{|{z|yzzyyz{zz{{|{zzzzz{zz{{{{{{z{{{{{{{yz{{{{{{{{{{{{{z{{|{{{||{{{{{zzzz{|{|{{|{|z{{{{{{{|{z{||{{{{{{zzzz{{|z|}||zz{{z{{{||{{{|||{zzzz{{z|{{{{{z|{zz{{{|{||||{|}||{|{z{{{{|{||}{||z{z{{{{||{|{||||{{|{zz{{||{{|||{zz{z{{{{{{{||||{z{z{{zz||{|{{{{{z|z{zyz{{{{{{{{{z{{z{zyz{{{{{{|zzz{z{zz{{zz{{{{{{{y{{zz{{{{|{|zz{{zyzy{z{|{zzz|{{{yzz{z{{||z{{{zzy{zz{zzz}{z{{{{z{z{{zzzz{{{{{{{{{yz{{{{z|{z{z{zzzzzz{zz{zzzz{zzzz{z{zz{{{z{z{{y{yyyzzyzzzz{{{{{zzzzyzz{zzyz{{zzzzz{yzzzzz{{||z{z{zzzyz|{{zzzzzzzzzz{zz{|{{z|{{{z{{zyzz{{z{{{{{{z{zzz{{{{{zz{{|{{{{{yzz{{{{{|{{{{zz{zzz{|{{{{z{{zz{zzz{z{|{{{{{zz{{{{zz{{{|{{||z{{z{{z|{|{|{|||{zzzz{z{|||{{{}||z{{{{{{||{{|{|{{z{{{{z{z{|{{||{{{{|z{{{z|||{{}|{{{{z{{{{{||{||{{{yzz{z{{{|{|{{|{{zz{{{{{z|{{|{{z{{zz{z{|{{{||{||{z{z{|z{}|z{{z{{z{z{{zz{{|{{|{{z{{{zz{zz|{{{{||{{|{z{{z{z|z}||{{z{{zzy{z{||||{{{{{{zzzzz{{{{z{|{z{zzz{z|z{{||{{zz{z{zzyz{|y{{{|{z{z{zyz{|z{||{{zzzyzy{zzz{{{|{{zyyyzy{z|{{z{z{{{zz{zzzzz{{{{|{{|z{{yzzzz{{z{{{|zz{z{z{{z{{z{z|||yzzzzzzz{z{z{||z{{zzz{zz{{{zz{|{zz{zzzz{||{{{{{zzzzyz{z{{z{{|{z{zzz{zz{|||{|zz|{z{{{{z{{z{{||{{{zz{{{z{z{||{{|{{{{{{{{{z|{{{|{{{{z{z{{z|{{|z|{{z{z{{z{{||{||{||{{{{{{zy{{{||{|||{{{{{{{{|||{{{{z{{z{||{|{{|||||{{{|{{{{{}}|||}||{z|{{{z|z{{}{}||{{{zz{{{{{||{||{{{{{{{{{{{{|{||z{{zzz{z{|{|{{||{zz{{{{z{|z|||||{|{{{zz{|{|{{{{|{z|{z{zz{{|{||{|{z{{{zz{{|{z{{{||{z{{{zzzz{|z|{{{{{z{zy{{{{{{{||{zzzz{{z|{{|{|{{{z{zzzzz{{z|z{}{{z{{{{z{|z{{zz{{zy{zzz{{y{z{z{{|zzz{zyz{{zzzy{{{{z{zzz{z{z{{{{{{z{{{yzzyzz{{{{{{zzzzz{{xzzzzz{{zzz{zzyz{z|{zz{{|{{zz|zzzz{|z{{{zz{zzzzy{{|{{|{||{{{{zzzz{{z{|{{{{z{z{{zyz|{{zz{{z{{zzzz{z{||{|z{{{{zzzz{|{|{|{|{{zy{{z{{{{{{||{z{{{{z{{{{|||{{{|z{{{{{|{{|{{{{||z{{{{z{{|||{{{{|{{{{{{{{|||{||{|{{|{{z{{{{|||{|}|{zz{{{z||{||}||{{{{{{{{{||||||||{z{{z{{{{{{|||||{{z|{z{|{{|||{|{z{z{{zz||{{{|{{{z{{{{zz{|{||{}{z{{{{{{||{{zz|{{z{{z{zz{z{{z{{|{{{{{zzzzz|z||{{{{{|{{zzz{|z{}{{{zz{{{{z{zz{{{{{{z{z{zzzz{{{{{{{|{{zz{{zz|{{z{|{{{{z{yzzz{z|{z{|{z{zzzzzz{zzzz|z{zzzzzzzz{|{{z{{{z{zzzzyz{z{z{{{{{zzzzyzz{{{{{{{|{{{zzzz{{{zz{{{z|zzzzzzz{{{{{{|{zzzzz{{zz{{z{|{{zz{z{z{z{{zzz||{zz{{zz{z{{{|{||{{{{zzzzzz{|{{{{|{{{z{zzz{{z|||{|{z{zz{z{{{z|{{||{{z{{zz{{||{{{{{{{{{{z{{{||||}|{{zz|{z{{|{{{{|{|{{{{|zzy{||{|||{{{{zz{{z{|{|{||{{{{z{||{{||{|||{{{z{{{{||||||{|||{{{{{{{{||{|{||{|{|{{{{{{{|||||{{{|{{{||{{|{{||{|zz{{z{||{||}|}{zz{z{zz{||||{|z|{{{zy{zzz{{{{{|zzzzz{z{{{{{{||{y{zz{zzz|{|{|z||{{{yz{zz{{z{{{{|{z{{zyzy{{{{z{{{yzz{z{zz{z||z|{{z{{zzz{y{{z{{{|zzzzz{z{z{{{zz{{|{zzyzzzz{z{{z{|{{zzzzzzzz{{z{z|{z{z{z{zy{zzz{z|{zzzzyzzz{{{{z{{{zyzzzzyzz{{z{zz{{z{zzy{zyzz{z{|{{zzz{zzzz{{z|{{z{{{z{zzz|{{zz{||{zzzzz{z|{{z{{z{{{zy{zzz|z{zy{{|zz{zzz{{z{{{|{{{|{{{zzz{{{{{{{{z{zz|z{{{||{|z{{{{z{{zz{{{|{|{||{{z{z{z{z|{|{{||{{{{|{{zz{{{{{||{{|{z|{{z}|{{||||{z{|z{{{{|{{|}{|{{{{{{{|||{|{||{{z{{{z{{{{||{|{{|zz{zz{{|{{{z{||{z{{{z{z{{z|{{|{{{|z{{z{||{{{|||zzz{{zz{{{{|z{{{z{{z{zz{z{{{{|{zz{{zzy{zz{{z{z{|{z{z{zz{{{{zz{{{{zzyz{zzz{{{{{z{zz{z{zzzz{{{z{{|z{{zz{{y{{{{z|{{zzyzzzyz{{{{{{{{{{{zzz{{z{|{{z{zzzz{{{zzzz{{|{{zzz{yzzzzz{z{{{{{{zzzyzz{z||z{{{zzzzzyzyzzzz{z|{|{zyzzz{zz{z{z|zz{zyzzzzzz{z{z{zzzzz{zzzzyz{{{{{|{zz{{yzzz{{zz{{{z{z{zzz{|zyzz|{zzzzzyzzz{{{{{{z{{{z{zz{z{z||||{{zz{{z{zyzz{{{{|{{{z{{zz{|{{{{|{|zzzz{zzzz{{|||{zzzz{{{{{|{{||}||z{z{{{z{{|||||{{|zzzzz{{{|{{{|{{{zzz{z|{{{{{|{||{y{z{{{{|{{{|||||{||{{{z|||||||{{zz{zzz{{z{{}{||{|z{{{z{{|z|{||}{zzz{{{{z{{{||{|{{z{zz{z||{{{z{{{{{{{{{z{{||{{{{{{{{{zzy|z{z{{{z{z{{y{zz|zz{{|{|{{z{yzz{{{{{z{{|zz{{{zzz|{{|z{{|z{{{{zzzzz|{{{{{zzzz{{zy{{{{{{{{zz{zzzzz|{zzz|zz{zzz{{zzz{{z{|{|{zzyzzzzz{{z{{{{zzzzzyz{y{z{{|{{{{{{yzzz{{zz{{{{{z{y{y{zz{zz{{{zzzzzzzzyz{{zz|zzzz{zz{zzzz{{z{z{z{zzy{{y{{{{z{}{zz{{zz{z{{{z{{{{zzz{zz{z{{{{{{|{{{z{zy{y{|z{{|{{|zzzz{z{{{z{{{|{zzz{zz{{{||{{|{{zzz{|{{{|{z|{|{{{|z{{||z{|{{|{|{|{z{{zyzz|{||||{{z{{{{{{{||{{|||{{{{{{|{{{||{||||zz{{{z|{}{||{{||{z{{{{z|||{{|{|{{{z{z{|{{|{{{|}{{zz{z{{||{|{|{|z{{{{{{z{|{{||||z{{{z{{z||{{{z{{{zzzzzzz||{{|{||z{zz{z{{z|{{{z{||zzz{zzz{z{{{{{z{zz{zz{{{{{y{|{z{yz{|z{{{{{||{{{{z{{{zzy{{z|{|||{zzyzz{{z{{zz{{z{z{zz{y{{|{{{{{{zz{z{zzz{{{z{{{{{zzyzzzz{z{|z{{zzy{{zzyz{z{{{{{{z{{{yy{zzzzzy{|{{zzz{zzyzz{zz{{{{z{yyyzzz{z{{{|{zzyzz{{z{z{z{{{zz{zyzyzz{{{{{z{||z{z{zzz|{{{{{{{{{zzyzzz{{zzz{z{z{{|{z|yy|{|{{|z{z|{{{z{{{zz{{{zz{{{yzz{{|{{|{z{|{{z{{{y{|||||{}{{{{{{{{{{{||{||{{{{{{z{{|||{||{{z{{{{{{{{|{||{{{{{{{{{{z}|{|}||}z|{|{{{||{{}|||{{|{z{{{|||||||||zzz{{||{|||{|{|{{{{{{{z|||{{{|{|z{{{z{{{{{|{|||{{{z{zz{|{{||{{{zz{{{yz{{{{z|{{{zzz{{{zzz{{{{{||{{z{{zzyz|{z|{{{z{z{zz{yzz{z{{|zzz{zzzz{z{{zzy{{|{{zzzzzzzz{{{z|{zzyzzzzzzz{{{{{{zzzy{zz{z{zz{z{zzz{zyz{zz{z{{zyyz{zzz{zz{z{{{{zyzz{yzzzz|z{z|{zz{zzzyzzz{{|z|{|{zzzzzy{zzzzzz{{zzzyzzyz{{{z{{z{zzz{z{zy{zzzz|z{{zz{zz{{{zz{|{{|{z{zyy{z|{z{z{||z{yzz{zzz{zz{|{{{{zzzzyzzy{{z{{{zy{z{zzz{{{{z||{{{zzz{yz{z|z{{{|z{z{{z{z|{{{|z|{{{z{{{{||{{|{||{{zz{zzz{z||{|{{|||zz{{{{{{|{{|||z{{{{z{|z{|z{||{{{{z{{zz{||||||||z{{{{{{{||||{|||z{{zz{{{|{}{{|{{{z{|{z{{{z{{|{|{{{z{{|{{|{{z|{{{|zzyzzzzz{{z{{|||{zzzzz||z{{{{{{{{z{z{{zz|z{z{|{zzzzzzz{{zz{z|||zzzzzzz{{z{{|{{{{zzz{zz|z{{{{|{{z{zzz{zz{{{{{{{zz{zy{zy{zz{{{{{zzzzz{yzz{zz{|zzzzz{z{zxzz{zzz{|zzy{zyzzz{z{{|z{{zzzzzyzz{{z|z{zzzzzzz{yz{zzzzy{{zzyzzzzzz{zzz{{|zyzzzzzz{{{{{{{zz{zz{zz{{{{|{|zzzz{zzyzzz{{{z{{|z{zyzzz|z|{z{{|yz{z{zz{{{z{{{{{z{{zzz{zz|{z{{{{{{{zz{yz{{{{zzz{{{z{z{{{{|z{{{{zz{z{z{zz|{{|z{||z{{{|z{z|||{{{{|{z|{{z{z|||{|||{{{{z{z|{|{{{|||{{{{z{|||{|{{}{{|}{z{z{{z{|{{|||||{{{{zzz|{{{||{{{z{{{|{{{{|{|{{||{{{|{z{z|z|{|||z{zz{z{z{}{z{{}|{{{zz{{z{{z{{{||{z{{zyzzz{|{{z|{z{z{z{zyz{{{z{zz{zzy{z{zzz{z{{z|{{{z{z{z{z{{{|{|{z{zzzzz{{z|z{z{{z{{zzzz{{{{|{z|{z{zzz{zzz{{{|zzzzzzzzyzz{{{z{yzzzzzz{z{zz{z{zz{zyzzzzz{zz{{{{{z{{z{zzz{zz{z{{z{|{zzzz{zz{|{zz{|zzzzzyzzzz{y{zz{{zzz|zzzzz{{{{{{zz{zy{yz{z{zy{{{zzzz{z{zz{{z||z{{y|{{y{zz{|{{z||zz{zzzzz{{{|{|{{zzy{{yzyz|{{{{zz{y{z{|zz{{|{{{|{{zzzz{zz{|z{z{{{{{yz{{z{{{{{||{|{zzz|{{z{{{||||zzzz{{{{{{||{||{{{zz{{{{{|{{{{||{{z}{z{|z{||{|{{{|{|{zz{{z{{||{|{{{z{{z{|{{{{{{{||z{{|{{{{{{{{{{|{{z{{{{{zz{|||{|{{{zz|{z{|{|{|{|{{z{{zz{{{z{{{{{{z|{{zz{{{||{|{|{z{yzzzzz{{{|{{{zzzyzzzz{{{{{z{|{{{{z{zz{{z{|{||{zzz{zzz{{|{{{{|{zzyzzzz{z|{{{{|z{{z{{{zz|z{{{{|z{zy{yzz{{{zz|{{{y{z{zzzzz{|zzz{zzzzz{zzzz{{z{{zzz|zz{yzzz{{{|{{{{zzyzyz|z{z{{z|{yzz{zzzz{{zzz{{{yzzzyzz{{z{z{{zyzzzzzzzzz{{{{|{{z{yzzzy{{z{z{|{{{zzyy{y{z{z{{{{{z{z{{zzz{{{{|zzzzz{{y{zzz{|||{|{zzzzz{y|{}{{||z|{z{z{{z{{zz{{{z{{{z|{{{{{||{{{}||zz{||{{|z{{||}{{z{{{z|{|{{z||{|{|z|{zz|||||{||{{{z||{{{|{{|||||z{zz|{{{}{|{{|{{{|{{z{{{||{{{}||{{z{z||{{|z{|||{z{|{{zz{{{||}|{|{{z{{z{{|{{{{||{{{{y{zz{{{{{{|{{{{z{{z{{{{{|{{}{zzz{z{zzz{{z{|{z{zzzzzzz{|z{{{{{{zy{zzz{{{{|z|zz{{z|{zzz{{{z{{{|{{zzy{z{{|{||{|z{{z{{{y{zz|{{|{{z{z{{zz{||{{{{z{z{y{zyzzzzz|{||zzzz{{{zz{{{{{{{{zzzyz{zz{{z{|{{z{{zy{zzz{z{{{{{zzzzyzzyzz{z{zz{zz{yy{yzzzzz{{|{zy{z{zzyzz|{{z|z{zzz{zz{zz||{{||z{{{zy{z{{{{{{{|zz{{z{z{z{{z{{{{zz{z{{{zz{|{{{||{{{z{{z{{{||{{|{{z{{{y{{{{{{||{z{{{zzz{zz{|}{{|{{{z{{{{{||{|{|||{{{{|zzz{||||||{||{{{z{z{{|||||}|z{{z{{z{|{|{||{|{{{{{{{{||||}|{{|{{|{z|||||||{|{z{|||z{|{{z{|||{{z{||{||{{{}|{|{{{{{{z|{|{z{{{|z{|z{z{z{z{||{|{{z{z{z{z{{|{{{{{{{zzz{|z{|{{{{{{{{z{{yzy{{{zz|{{{{{{zz{z{{{{{||||zyzzzz{z|{{z{||{z{zz{zzz{{{{{{{z{zy{z{z{{{z{{{{{z{{z{{zz{{{{z|{zzzyz{zzzyz{z{{{zzzzz{z{{|z{{{{zzyzzz{z{zz{{{{{{zzz{zz{zzz|y{z{|{zzzz{zzz{{zzzzz{zzzzzzzz{{z{{z|zz{z{{{z{{{{{{{|{z{z{z{zzz{{{z{|z{zy{zzz{z|{{{{{{{{zzzz|z|{{{z{|{z{{{z{{{|{{|{{{{z{z{{{{{{{{{{}{|{{zzy{{|||{|{{z{z{{zz{z{|||{|||{z{{{{z{||{||{||{{{{|zz{{||{|{||{{{{|{|||}}|{{||zz{z{|z{{|{{{{|{|{z{{{{{{}||{}}|||{zzz{{||{{||||||{{{z{{||||}{|||{{{|{z{|||{{|||{{y{{z{z{|{{{||||{{zzz{z|z{{{{||{{|z{zzz{{{{|z|{yyzzz{zzz{|{{{{|{zz{zzzz{{{zz{z|z{{zzzzz{{{z{{|{{z{yz{{yz{|{z{z{{zzz{zz{zzz{{z{|z|z{{z{yz{{{z{{{{|zz{zzz{{z{z|{{z{z{zyzzz{{z{{z{zzz{zy{zz{{{{{zz{zy{zzyzz{{{z{{{{{{zzzyy|{{z{{|{yyzzzzzz{{z{{zzz{z{zyz{zz|z{z{z{z{z{zzzzz{{{y{{|{zzzzy{y{{zz||{{|z|zzzzzz{z{|z|{z{{z{zy{{{|{|{{{{{{z{{{z{{|{{{{{{|y{zzzz{{z{{{{{zzz{z{zz{{{{{|z{zzz{{{{{{{{{||||{|{{{{{{|{{|z{}{{|{{{{zy}|{{{|{{||z{|{{z||||||||z{{{{{|{{{{|}||||{y{z{|{|{|||{}||z{zz{{z{{{|{{{|{{{zz{{{z{{{{||{{|{{{z{{||{{|||}{{{zz{{z{zz{{|||{z{{{{z{{{||{{z{|{z{{zz{|{{{{z{{{{{{{z{z{|{z{{{{{{y{yzzz{z|{||{{{{zzyzzy{{{z{{{{{{zzzzzz{{|{zz{|zz{zz{{z{{|{|{||{zzzzzz{{{{{{{|{{zz{{zzy{|{{z{z{{zzzz{zz{z{{{{{{{{zyzz{zzz{{{{|z{{{{zzz{{{{z|||{zy{zzzzzz{zy{{{{zzzzy{zz{z{zz{z{{zzzzz{yz{z{zz{|{zz{{zzzz{{z{{{{{zyz{zzz{{zzz{{{{{zz{yy{z|z{{{|||z{zzy{z{{{{{|{{|zz{{y|{{{{z{|{{{|{{{{z{{||{z{|{|{{{z{{{{{{z|{||{{zz{{{z{|{{}|{{{{z{{y{{{{{{{|||{{{{{z{{{{|{|{|{z{|{{{zz{|{{|||{{{{z{|{|{||{||||||{z{{{||||||}|{}{|{z{{{{{{{{}}|{y{{{{z{{|{|{{|{|{|{{{{{|{z|{{{||{z{{{z{{||{|{|{{{z|{z{zz|||{|{{{|||zz|z|||{{z|{zz{zz{zzz{{|z{|{{zzzz{zz{{{|{|{|{{zyz{{zz{{z|||{{z{yz{z{z{{|z|{{{z{zz{{z{z|zz{z|{{{z{{zz{||zz|{|zzz{z{{z{z{zz{z|{yz{z{zz{zz{z{zz{zz{zz{zzzz{z{zzzzzzyzzzz{{z|{{zz{{zz{{z{{{{{{{{{zzyzzzy{zzz{{z{{{zyz{zz{{z{{{|{zzzzzzz{{zz{{|z{{zzzzz{{y{{{{|||z{{{{y{|{{{{z{{|{z{{zz{zz{{z||{{{{{{{zzz{|z{||{{{{{z{{zz{{{|||}{{zz|{zzz{{{|{{z{{{{z{{z|{{||{|{|{{{z{zz{|{{{{|{{{{{z{z{{{{|||{||{{{{{|z{{||{{|{}|{|{{}{|{||{{||||{{{{{{{{{{|{{{|{z||z{{{{||{{{{|{{{z{{{{z{{{{|}|{{{{z{{z{{}|{{{}{{{z{z{z|||||||{{{z{z{{{{|{||{{{{|{zzz{{{|{{{|{{zzxz{z{zz{{{z{z{z{z{yzzzz{{{z{{{{zzzy{{z{y{{z{|z{zz{{zzz{{{{z{|{{zzzy{zz{{z{z{{|{y{zzzzy{||{z{{zz{{z{zzzzz|{{{{{{zzzyyz{z{{{{{{{zzzzyzzz{{zz{zzz{y{yzzzzzzz{z{zzzy{zzzyz{{z{z{{{zzzzzyzyyzz{zz{{zz{zzzzzz{zz{{{{zzzzzzzyz{z{z{{{zzzzzy{{z{{{zz{zzzzzyzz{z|{zz{{{zzzzzzzzz{z|{{{|{|{zzz{zz{{{{|z{z{z{{{{|{{{{z|{z{{z{{{zz{||{{||{{{{{z{y{{|{{|{{z{{z{{{z{{{{z|{||{{{|{zz{{{z||{{{{{|zzz{{{|{{z|}}z{{z{{{z{|{|||{|{{z{z{z{||{||{||{{{{z{{{||{{z{||{zz{{{z|{{{{|{|{{{z{{{{zz|{{|z||z{{y{zzzz||{{}|{|{zz{|zy{|{|{{||{{zz{zz{{||{{zz{y{z{z{zzy{zz{z{{{{{yyzzzzz|{|{{||z{yzyzzz{{z{{{{{yzz{zzzz{{{z{{{z{zzzy{z|z{z{|||zzzyz{zz{{z{{{{z{z{yzyzzz{{z{{zz{{zyyzyzz{z{{{z{{yzzzyzzzzyz{|{zzzzzz{zzz{z{zz{{zz{{yzyy{{{z{z{zyzzyyyyzzzzz{{|{zzzzzyyzz{zz{z{z{zz{zzzzz{{z{{{{z{yyz{z{{zz{{|{{{zyzzyyz{|zz{{{{zzz{zz{zz{|{{|{{z{{z{z|y{{z{{z|{zz{{{yyz|z|z{{{zz{{z{zzz{|{{z{{{{{zy{|zzz{{{{{{{z|zz{{zz{{{{{|{|zz{{{yzz|{{|{{{{z{{z{z{zz|}{|||{zz{{{{||{|{{{||z|{z{z{z{{|||||||{z|z{{{z|{{|{||{{zzz{{z{{|{{{||}{{{{{{z{{z{{|||{{{{z{zz{z|z{{{{{|{z{zz{{{}{{{{|zzz|{z{|z|{|~|{z{{{zz{zyzzzzz{{{{{{z{zzzzy{{zz{||zzzzzzzz{{{z{{z{{{zzzzzy{{|{zz|{{{zzyzzy{{{{{{{{z{zyzzzzz{{y{zzy{z{zzzz{{z{zz{{{zzzzzzzzz{y{y{z{yzzyzyyyzzz{z{{{zzzyzyzz{{zzz{{zy{zzzzzy|zzzz{{z{zzzzyzyy{{{zzzz{zzzz{zzz{zz{{{{zz{zzzz{{z{zz{||{zzz{zzz{{{z{{{{{z{zzz{z{{{z{{{zz{z{{z{zz{{z{{z|{z{{z{{zz{{{{{{zz{zy{zzzzz{{{{{{zzz{{{{{{{{{z{{{{z{zy{|zz{||{||{zz{z{z{z||{|{{|||{{z{y{z{{|||||{zzzz{z{{||{|{{||{z{zzz{{{{{|{|||{z{{{z{z{||{|{||{z{{{{zzz{{|{|{{z{zz|{|{z{{{{|}{{{{{{{z{z{{{{{{|zzzz{zzzz{|z{|{{{zzzy{{zz}||{{{{{{z{{{zz{{}|}{z{{zzzzzzzz{{{|{{|{{{z{zzz|{{z|{|y{zyzzz{{|{{zzz||zz{zz{{y||z|{{{{|{zzzyzz{{z{{{{{{zzz{z{zz{{{{{||{{zzzyzz{{{{z{z{{{zyzzyzzz{z|z{{{z{yzzzzz{{{zzz{zzzzzzzzz{{y{{{{zz{yy{zy{{{z{{{{zy{z{zzyz{{zz{y{{{zzzzzzy{z{z{{|yz{zzyzy{{{z{{{{{{zz{yzyz{z{{{{{{z{zzz{{{{{|z||{zz{zzzzyz{|{{{||z{{{{x{yz{{|z|{{{z{|zy{z{{{{{{||{{{{{{zz{{|zz|{{{z{z|z{z|{{{{|{|{{{{zz{}|{{}|{||{{{{{zzz{{{{{{|{{zz{|{{z{{}|{}}{{zzzz{{{{{|{{||{|{{{{{z{{||{z|||{z{{{{{{{||z{|{{|{||{{{{||{|{{|{|{{{{{{z{{{{|{|{|{z{z{{{{{{|{|||||z{z{{{z|||{|{{|{{{{z|{{||||{||zzzzz{{z|z{{z{z{|zzzz{yz{z{{{{{{z{{yz|z{z{z{z|{{zyzzzz{z{{zzz|{|{z|zzzyz{{{zz{{{z{zzzzzzz{z{z{|z|zzzzzzz{zz{{{z{{zzyyz{z{yz|z{|{zzyyzzzzz|{{{z|zz{y{zzzzz{{{{|{{{{zzyyyy{yzy{{|{zzzzzzzzz{zz{z{{{{yzzyzyz{yzz{{{y{zzzzzzzz{|{{|{{zzz{{zz|{z{{|{{{zz{yzzy{{z{z{{|z{z{zzzy{{y{{{||{z{zzz{{z|z{z{{{zz{zz{z{{{{{|{{|{zzz{z{{||{{{{{|{z{{{z{{{z{||{|{|{{z{z{||{{{|{|||{z{{{z{{|||{{{{||{{{{z{|||{|{||zz{{{{|{{{{|}||||||||{|{{|{{|}||{z{{{zz{{|{{{{{{{{z{{{|{{z|{|||||{{zz{{{|{{{||||||zzzzz{|{{{{}}{{{{{y{{z{{{|{|{|{z{z{zz{{}}|}|z|{{zzzz|zz{{z{|{{{zzzzz{{z{{{{|{|{z{z{y|z{z|{{{{{{{{{zz{{z|{zzzz|zz{zzz{zzz{{{|{{{zzzz{{y{{{z{|{{zz{zyz{z{{{z{{{|{zz{{{zz{zzzyz{{zz{z{zzyz{{{z{zzzz{zzzzzzz{|{{{{z{zzyzzz{z{{{z{z{zzyyzzzzz{z{{z{{{zzzyyzz{zzzz{z{z{zz{zy{zz{{z{{{zzzzyzz{{{|z{{{{|{{zz{{{{{{{|{z{yzzzzz{{{|z{{{{zzzzz{zz{{{{{|{{{zz{zz{y||||{|{{|z{{z{z{zz{{{{z{{|zz{z{{|{||{|{{z{|{z{z{{|{{{||{{{zz{{{z|||{{||{|zz{{{{{{||{|}{|{{{{{|{{z}|{||}{|}zzzz{{{||||||{|{z{{{{{{|{||||||z{z{||{|{{{|{|||{z{{{{{|z||{{|{{{zzz{{{{{{{|||||{{z{{{z{{{{|||{{{{z{zz{{||}}|{{{{z{{zz{{{{z}z|{{zz{{zz{{|z{{{{|{{{{zzzy{z{z{{{{{|{{zy{{{{|{z{|{{{{zzzzz{||{{{{{{{|z{{zy{{z{z{{{{zzz{yz{{|{z{|{{{zzzzzyz{z{{{zz{{zzzzzz{{z{z{{{{{zyzz{{{z{z{{z{zyzyzyz{z{{{|z{{|z{zz{{y{{{{{{||{z{{zzzyzz{{{{{z{zz{{zz{zz{{z{{{{{{{z{zyzz{z{z{{{{z|{z{{z||{z{{||zz{zzyzz{|{|{{{|{{{{{y{z{{|{|{{|{z{z{z{{{{{{{{{{{{{z{|z{|||{{{|{{{z{z{{{{z{|||||{{z|{{|{|{{|||||z{{{|{{{{||{{{||{z{{||{{}||||{|}|{{{{{{|{{{||}|{|{{{{|{{{|}|{{||{|{{{{z{|{}|{{|{|{|{{{{{{|{||}{||{{z{{z|||||||||{{z{{{{{{|{||{}{|{{{{{z{{{{|}|{||{{{zzz|{||}}|||z{{yz{zzz{|||{{{zzzzzzzz{|{{{{{|{zzzzz{z{{{{{{|z{{zz{zzz{|{z{{{{{{{{{{{y{{{{{|z{zz|{z{{z{zz{{{||{{zzzzzz{{{z{{{{{y{yz{zyz{z{z{z{z{{zzzzzzy{|{{|z{{zzy{{{z|{z{z{{{zzzyyzzz{|||{{zzzz{zzzzz{{zz{{zzz{yz{yzzzz{{{{{{{{zz{zy{{{|{{{{|yz{zy{z{{{{{{||zz{z{{zz|{{{{|{{{zzzzz{zz{{{{{|{|{{z{zzz|{z{{{z{{{{{z{{{{{||{{{{{y{{{z|{{|{{z||{{zzzzz{{{{||{|}|{{{{{|{{|||{{{}|zz{{{{z{{z|{{{||{{|{{z{{||{|{{||{{{{{{{{|{|{|}{{|{{{{{z{||||{|{|{{z{{{{{{|{{||||{z|z|{{z{|||{|{||{z{{{{z|{{|||||{z{{z{y{{{{||{|{|{{z{{{|{{{|{{|}{{|{|{{{|}}||{z|zyyz{zzzz{{{{{{{zzzzzyyzz{z|{{{|{{{y{zzz{{z||z{|z{{zyy{{{z{z{z{z{z{z{{zz{zz{{{{{zzz{zz{{z{zz{{{z{zzz{yy{{z{zz{{{zzzz{{zz{{zzz{{{zzyzz{zyzzzz{{zzzy{yzzyzz{{z{{{{zy{zyzzzz{{{{{{{{zzyyyyzz{{z{z{{{zzzzzzzzzzzz{{{zzzzy{z|zz{{z{{{{{{{zz{zz{{zz{{{yzzz{zz{{zz{{{{{yzzzzzzz{z{zz{{{z{{zzz{z{{z{{{{|{zzyz{zy{{{zz{{|{{zz{{zy{}{z|{{{z{zz|z{z{{{{z{|{zzz{{z{zz{z{{{|{{{z{{zzz{||{{z{{|z{{{z{z{{|{{z|{{{{{{{{{{{|{||}|{{{zz{{z{|{{|{{{{{{{{{{z{{{{{||{{{{{{z{{{{z{{{||{{|{{z{{||{{{{||z{{zzz{z{{{|{{{{z{z{z{{z{{z{|{{{{{zz{{zz{||||{{{{z{xzy{{{{{{{{z{zz{{{yzz{z{{{{|{z{{yz{{y{{{||{{|z{z{y{z{{{{z|{{{|zzzzz{z{{{|{{{{{z{yzz{yzzzz{{{{{zzzyyyzzz|zzzzzzzzyzzyzz{z|{z{zzzyzzz{zzz{{{{{yz{z{{zy{zz{y{z{{z{zzzzzzz{{zzz{{{zzzzzzxy{z{zzzz{yzy{yzzy{{{z|{{z|z{zzzzz{{{z|{z{zzzzyzz{{{{{z{{{yzzzzz{{{{|{|{{zzzz{zyzz{{|z{{zzzzzzzzyz{{{{z{{zz{z{{{{{{z{z{{z{z{zzyzz{{|{{{{z{yyz{yzz|{z{{{||z{{z{{{{{{{|{}{|{z{z{zzz{||{|||||{{||{z||{{{{{}|{{{{z{{{{||||||||{{{{{|{{|{||{||{z|{{{{z{{||{||||{{z{zz{{||{{|||{{zz{{z{||{|z|{|{{{{{{{z{{{|{{{{{zz{{{{z{|{{|{|z{{{{{{{{{}}}|{{{zz{y{z{zzz|{{z{zyzz{zzzz{{{zz||{{zzzzzzzzzzz{{{{{{z{{yz{zz{|{{|||zyzzzzy{{{{z{|{zz{z{zzz{z{zz{{{{z{zzzyyz{z{{{{{{z{zzz{{z{zz{{|{zzzzzyzzzz{z{{{{{y{zyyy{yz{z{z{|zz{zzzzzz{{{{z{zzzz|yzzz{zzz{{{{yzzzzzyy{{zy{{{{{yzzzzyz{z{{{{{zyzzzzzyyz|zz{{{{z{zz{zzzzzzz{{{{zzzzzz{zzz{{{z||z{zz{yzzz{{{||{|z{z{{zyy|{{{z{|z{{zz{zz{{{{{{{||{{zzz{z{{z{||{|{z{{{{{{{|{{{||||zz{{{{z{{{{}{{{||{zz{z{z{|||||||{{zz{{|{{|{{||{||z{{z|{{{|z{{|{|{{{{{zzz{{|{{|{{z{z{{{{{{{{{{{|}|{{{|{{|{|{||{{{{{z{zzz{{{zz{{|{||{zy{z{{{{{{|||{{{z{zzz{|}}||{{{zzz|zyyz{{{{z{|zzzyy{zzy{{{zz||{zzy{zzzzz{z{{{z{z{y{yz{zz{{z{{{{yzzzz{zzzzz{{{{{{zzzyzy{|zzzz|{|{zyzz{y{{|y{{{{{{zzyzyzz{zzz{{zzz{zzzzz{z{{||{zzzzyyzyz{{{zz{{{yzz{zzzzz{z{z{{{zz{zzzzzz{{{y{{{zzzyy{zzz{zz{{{{zz{{zzzzzz{z{{{z{zz{zyzyzz|{{{{|zz{zzzzz{z{{{{{{zzzyzz{{{{|zz{z{|z{{zzzz{||{|{z|{{{yzzzz|||z|{|{{{z{{zz{{|{{{{{{{{{z{{{{{{||{{{{{z{zz{|{|z{|z{||{{{z{zz{z|{|||{|{{{{zzzz|{z{|||{{{{zzz{|{|{{|{|}|{z{{{{||{{{{{||||{{|{{{|z||{{{|{{|{{{z{z||{z{|||zzz{zzz{{{{|{{|{zzzz|zzz|{{{{|{{{z{zzzzz{{|{{{|{{zzz{zz{||{||z{z{zz{{{z{{{z{z{|{{z{zyzz{{{y{z{|{{zzzzzz|{{{{{||{{{z{yzz{z{{z{{{zz{zzzzz{{{zz|{{zz{z{{zzz{{z{z{z{zy{{zyzyz{zz{z|z{zyy{yz{{z{z{{{zzzzzzzzz{zz{{{z{zyzxzzzzz|z{{z|{{{zzz{zz{zz{y{{{z{zzyz{z{{{yzz{{zzzzzzzyzz{{{{{zzzzzzzy{z{{{{{{{{z{yz{z{{{z{z|{zzzzzyzz{{{||{{{{zzzz{z{{z{{{{{{zzzz{z{zzz{|||{{zz{zzzyz{|{zz{|{z{{zzy{{|{z{z{{z|zz{{{z{|||{{||{zz{zz{zzz|{{{{|{zzyzzz{zz{{{{{|{|y{{{z{{{||{|}|}|zz{{||{{{|||{|{|{{|{{{|{}{|{|{|{zz|{yzz|||{||{{|z{||z{|{{{{{{|}|{{{{zz{{{{{|{{|{z{{zzzz{{z{z{|{|{{z{zzzz{{|{z{|{z{zzz{z{{|{}|z{{zyyz{{y{z{zz{||zzzzzzyy{zz{{{{{{{yzzzzz{z{z{|{{y{zzzzzzz{zzzz{{z{{yzzzz{{z{{{{|zz{zz{zzz{{{z|{z{zzyyyyz{{{{z{z{{zzyzz{yzzz{z{z{{zzzz{zzz{z{{{{{zzzyyzyzzzz{{{{{zzz{yzyzzz{{{z{zzyzyzzzzzzzzyzz|{zyyzyzyyz{z{|z{zzz{z{zzzzz{{{{{{zzzzz{zz{{zz{{zzz{zzz{z{zz{{{|z{zzzz{z{z{{{|{|{{zzy{zz{zz{{{z|z{z{zzzzz{||z{{|{zz|z{z{zz{{{{{z{zzy{z{|{{{{|{|{{z{zzzz{z|{{{{{{|{{{z{{zz|||{{{{{{{{{{z|z{|{{{{||{{{z{{{|{|{|}{|||{{{{{{{{{|{||||{z|{{{{z{|{{{z{{z{zz{zzz{{{{|{{{{{z{{|zz|{{{|z||{z{z{{zz{|{|{{||{zzz{{z{{{{{{{{{{{{zzzz{|{||{{{{{{y{{zzzz{{{{{{{{z{{z{z{{z{zz{{|z{zzzz{z{{{{|{|{{{zzzzzyzz|{{{{{{zzy{zzyz{{{{|{z{z{{z{zzzy{{{{{{{{zzzyzz{{{{z{{{z{zyzzzzz{z{zz{{{zyz{yzz{{{{{zz{{yzzyzzz{z{{{z{{{z{zyzzy{{zz{{|z{yzzyzzzz{zz||zzzzyz{zyzz{{{{zz{zzyz|{{zzy{z|{{{{zzzzzy{|{{zz{|{zzzzz{{z{{zzz{||{zzzz{{{z|{{z||{{{{{zzzz{zz{{|{{z{{{z{{{z}{|{{|{zzz{{{z{{{||{{||z{z{{{{z}{z}{|||{z{zz|{{||{{{|||{{zz{{z{|{||||{|{{{zz{{{||{|||{|z{zz||{{{|||||||{{|{{{{{||{|{{||{{{{{{{{||||{|{{{{{{{{z||{{|{{||{{{{{{y||{|{z|{{{{{{z{{{{{{{{||||{zz{zzz{|{{{||z|{z{zz{{|||{{{{{z{y{zzzy{{|{{{{{zzzyz{yzz{|{{|{|{yzzzz{z{{z{{z|{{zz{zzyz{{{{z{{{|z{yzz{yy{{z|{{{zzzzz{zyzz{{{{{zzzzzzyyz{{{zz{{{{zzzyzzz{zzzz{|{zyzzzzzy{{zz{|{z{z{zzzy{zz{{z{{zz{zzyyyyzz{{|{|zz{zzyzzyyz{z{{z{zyzz{zzyz{z{{{{{zzzzz{zyz{z{z{{{{yyyyyzz{{{{z{{{zzzy{z{{{z{{||{{{{z{zz{z{{{{z|{{z{{zzz{z{|z{{{{{{{|yz{{{{{{{{z|{zz{yzz{{{|{z{|{{{{{zzzz{{z{|{{{|z{{{{|{{{|z{||{|{zz{zzz{{||{{||{|{zz{|z{z{{{|||z{{z{{{{{{|||{{{||{{{{{|zz{{|{||{|{||{|{{{|{|{|{{|{{z{{{z|{{||{|{{|z{{{z{{{||||||{z{z{zzzz|{{{{|{{zzzzzzz|{{{{{|{{zzz{z{z{|}||{|{zzz{zzz{{{{{|{{{z{{{yzzy|z{{{{z{z{yz{z|{{{|{{|{{{zzzzzzzz{{{zz{|{zzzzyyz{{z{{{{|z{zzzzzzz{zz{{{{{{{zz{yzz{{z{{{z{{{zzzzz{{{{{{{{zzzzz{yyzz{{z{{zz{zzzzzzz{z{|{{|{z{zzyz{{z{{{{{{{z{{yyzzz{zz{z||yzyx{yzzzzz{{{{{zzzz{{zzz{z{{{{|{z{{zzzz{{{{z||{{{zzz{{z|{||{{{|z{{{{{{z{{z{{{||z{{{{z{{{{{{|{{z{{{z{z{z{{{{z||zz{z{|{z{{{{{{|{|{{{{{{{{{{|||{||{z{{{z{{{{{{||||{zz{zz{{{|{|{{{{|{{|{{{|{|{|{|||z|{|zz{{{|{{|{|{{{{|{{{|||||{||{|{{{{{{z{|{|||||{{{|{z{z{z|{|||{{{{{{z{{|{{}}{{||{{z{{{|{||z{|}|z|z{{zzz|zz{{{|{{{{y{zz{|{{{{{{}{z{zz{zz{{{{{z{{z{{{zzzz{|{{{|z|{{z{zz|{{{{{{{||{zzzzzzz{{|{{{{{{{{zzzzz{{{|{|{|z{zzzzz{|{{z{{|{z{yz{{z{{{{|z{{{zzz{{{zz{z{{z|{|{zzzzyzz{zzz{{{|{zzzzz{z{z{{{{|z{{{zyzzz{|{{{{{{z{{zz{zyzz|{zz{{{z{yzzzzz{zzz|zz{yzzz{zzz{{z|{|{|{{zzz{{{z{{{||{{z|z{z{{{||{||{{{{{{{{{||z|z||||{{{|{z{{z|{{|{{{|{{||z{{{z{||||{|z|{|z{z{{{{|{{||z|{zz{z{{{|{|{{{|{|{{{{|{||{{||{|{{{zz{{{|||||||{|z{|{z}{||||{|{{{{z||{{|{|{||}{{|{{{z{||{|{||{}z{||{z{||||{|{|{z{{{|{{{{{{|{||{{z|{{{{|||||}{{{{z{{z{z{|{|{{|{{{{zz{z{|{{{|{|{{z{{{{{{z{||{|{|{{{z{{{{y||{{{{|{{z{{z{z{{{{|{||{{{z{zz{{|||{{{{{|{{{{{zz||{{{{{{{{zzy|z||{{{|{|{z{z{|zzz{{{{{{{|zz{zzzz{{{z{{|{{{zz{{zz{z{|||z{zzzy{zzz{{|{{z{{{{z{zzzzzz|{|{{{{{{zyzzz|{{{{{{{{zz{{zzzz{{{z}|{{{z{z{{{z{{|{|{{{y{yz{zz{|z|{z|{{{zz{zz{{{{z}{{||zz{zy{zz{||{{||zzz{{|{{{{{{{{|{|{|{{zzz{{|||{{|{{{zzzz{{{{{{|||{{{{z{{z{{||z{|{{z{{{|{{|}}||{||{{{{|{{{||{|{}||{{{|||z{|}{||||{|{{|{{z{||{{|||||||{z|z||||{|||}|{{{{z{{}|z}}}|}}{{{{{|{{|{||}}}|z{{{{{{{{|{|{||||z{{{{{|{{{|||}{{{{{{{{{|||{|}|{{{||{{{{|z{{{|{{{{{{zzz{||{{{{|{{zzzz|z|{|{{||{{{{|{zzz}{|{||{{{|{zzz{z{||{|{|{|z{{z{{z{{{|{{{{z{{zz{{zz{{{{|{|{zzzzzz{{|{z{|{{{{{{{{{z{{{{{{|{{{{{zz{{z{z{{|{{z{z{{z{{zz{|{{|{zz{{zzzz{||z|{{{{{zzyzzzz|{{{|{|z{zzzz{zz{{zz||{{{zzzzyz{{|z{|{zzz{{{{zzz{{{{{{|z{{|{{z{{{||||{{z{{{{zz{{{{||{||{|yz{z{{{||{{{}{||{|{{{{||||{{{|z{{{{{{{||{|||{{zzz{{|z{}||{{{{{z|zz||{z||||||{}{{z{z||||{{{||}}{|{|{z{z}}z{{||{{|{{z|{{{|||||}}{{{{{{{{z|{||||}}{{{{{{{{}|{{{}{||{{{|{|||}{|||}|{{|{{{|||{{|||{}{{{{|{{|{||||}|{||z|z{{{|{|||}{{{{{{{z|||||{{{{|{{z|z{{{}|{||||{z{{{{{{z||{{{|{{{{z{y{yz|{}|{|||zzz{{{zz{{{{{|{|zz|{z{z{|{|{{{|{{{{yz|z|{{|{{{||{{{{{zy{{{{|{{{{{zzzzzz{{{{{z{|zzzz{{z{{{{{{{{|{zzz{zzzzzz{{|{{{{{{z{z||{|{z{{{y{{{zz{z|{{zz{||{{z{z{zzy{z{{|{{|z{{zzzz{{{z||{{{z{{|{yyz{{{|{|{z{y{{{|{|z|||{|{{z{{{z{{{{{{{{{|{z|{{{{{{{|{{||{|{{z|z{{||{{{|{{{z{z{{zz{{|z|||}{{}{{z{{{|{{{|{||{z{{{z{{|||||{|{|{{{{{{|{{||||}|{z{{{z{|||}||{|z{|{|z{{||||||||{{{||}|z||||||{|}|{{{|{||}{|{}|}|{||z{{{|{||{|||||{{z|{{{|{{|||{|{|{||{||{||{|{{{{|{{{z{{{||{{}|{|{{z{|z{|{|{{|z|{{{{{zz|||{{{{{|z{{{zz{{{{{|{{|{|{z{{{z}{|||{|{{{z{z{zz{{{{{{|{{y|{z{zz{|{|{{|{{{zzzz{{{{{{{|{|z{{zzz{z{zz{{z{|{z{{{z{zz{{z{|{{|{{y{z{z{{z{{{{|{zzzzzzz{z{z{{{z{zz{{{z{|{|z{|{{{z{{zzzzz{{z{z||zzz{{{{zz{{zz{|zzzyz{{zzz{{{|{|{{{{z{{zzz{{{{{{|{{zzzz{z{{{|{|{|{zzy{{{{||{{|{||{{z{y{{{{{{||{{{{z{{{{{{{{|{{{z||z|{{{{{|{|}{||||{{{|{{{{{{|}}{}{{{{{|z{|||||||{{|{|{z||{|{{|||}|y|{{{zz|}}||{|||{{{{{{{}}|{|||||z{|||||{|||{|||}|{{{|{{{~||||~}|{|{|{{|{{|}{||||{{{{{{{{|{||}|}{z|{}{{||{|}|{|}|z|z|z{||||||{}{{{|{z{|{|{{||||{|{|z{{{{{|||{|{{|{z{{zz|{{|{{|{|{{{z{{{z|{||{{|||z{zz{{{{{z{{{||{||{zz{z{{|{{{{|{{|{zzy{{{{{{{||{{z{{z{z{|}z{||{{{{{z|zz{{{{||{{zz{zzy{{{z{{{z{|zz{{{z{{{|{{{||{{{zzz{z{{|{|{}{|{{{zzzzz{|{{{|{{zz{zzy{{{{{{{{{{|zzzz{zy{{zz{|{{zz{zz{zz{{{{|{|z{{{{|zzz||||z{{|{|{{{zz{{|{{{|||zz{{{z{{|{|{{{}|{{{|zz{{|{{||}{{zzzz{{{{{||{|{|||{z|{{{{||{{|||||{|z|{{{|{||||{{|{{{z{{{||{|||}|}|{{{{{{{}{|{{|||{{{{|{{||||}||}||||{|||{|{{||}|{{{|z{z{|}|||||||{{|{|{z}||||{||{{{||{zz||}{}}}|{{{||{{}|||}{{|||{{{{{{{||||{|{{|{{{{{{|{{{|{||z{z{z|{{z{||z{{{{{{z{zz{{|{|{{{|{zzz{{z{{{|z{{{|||z{{zzz{z{||{{|||{{z{{{z{{{{z{{{{{{{{zzyzz{{{|{|{{{{z{{{{zz{|||{|{{zyzz{{{{zz{||zz|z{{z{{{{{|{{{zzy{{z{z{{{{z{{{z{z{zzzzyz|{{|{|{{{{z{zzz{{{|{{{{{zzzzyzy{{{{{{{{zz{zzzzz{{||{|{|z{zz{z{{{z{|{{{zzzz{zzz{|{{z||}{{zz{z{{{{|{|||{zzzz{z{{{{{{{|}|{{{zz{z{{||||{||{z{{|z{{|||{||||{{zz{z{{||||{}{|{{{{{{{{|||||{{||z{{{{|{|||{{}||{{z|{{z{|}|{}||||{{{{{{{|||||}|}{{|{|{{||{{||}|}|{{{{{{||}||z}||{|{||{|||||{|{|}|{{{}{{{{||{}|{|||{z|{{{|{{||||||||z{|{{{|{|||||{|z{{{{{{{||{}{}|{{{|{{{{{|||{|}{|{z{|zy{{{z|{{|{{{zzz{|{{{|{|}{zzzy{zz{{|{|{|{{{{{{{zz{{z|{{{{{|z{|{y{y{||{{{{|z{{z{{z{z||{{||{zz{zzzz{{{{{z{|{{z{zz|z{z{{{z{{{{{{{{zz{{{{{{{|{{{{zzzz{{{{{|z|{{{zzyzz{{z{{z{|{zzz{{zzz{|{{z{z{{zyzz{zzz{z{{|{|zz{z{{zz{|{{z|}{{z{zzz{{{{{||{{|{z{{zzzz{|{{{{{|x{{zz{{z{{{{{|||{zz{{{{{{|{||{{{|z{z{{z{|{}{z{{{{z{{{z{{{||z{{|{{{{{|{{{|{}{|}||{{{{|{{{||||{|{||{{{{{{z|}|{||||{{{||{z{{|{||{||{|{{{{||||||}{|}|{{|{{{{{}|||}}|{{{{{z||||}||||||{{z{{{{{{{||||||{zz{{|{{||||||||{{yz{{{{|||{|||{|zz{z|z{z|z{||{{{{{|{z{|{|||z{{{zz{{{z{z{|{{{||{|z|{z{z{|||{{}|{{z|{{yz|{{{{{}{{{{{{zz{|{|{{{{||{{{{{{z|{{{||{|{{{{{z{{{|{{{{|{{{{{zzzz|{|z{z{{z{z{{{z{{{{{}{{{zzzz{z{z{{{{{{{|{zzzzzzzz{{{|{{{{z{zz{{{|{z|{z{{|{{z{yz{{{{|{z{{{{{zzzz{z{{z{{|{zz{{zz{zz|{{{{|{{z{z{z{{{{|{{z||{{{{{|{z{{|{{{z||{{{z{z{||||{{{|{{{{{z|z{|{|{{}{{{|{{{{{|{|{||{{{{{{{{{|{|||{}|{{{{{|{||{|||||||{{{{{{{z|{{{|}|}{|{{z|z{|}{|{|||}{{{{z{{|||||}||{{z{{||{||{||||}|{{|z|{{{}|||}|||z{}{z|{||{{}||||{{|{{|{}|z{||{|||{{|{||{||{{|}||{z{{{{{{{{|z||{{{{{{{{{{|{{{||{{z{{{{{z|{{||{{|{zz{z{zz{z{{|{{{{{{zzz{z{|z{{||{{z{{z{{z|{{|{{{|{{zz{{zzz{{{|{{|z{{zzz{z{z|{{{{|{zyzz{{zz{{|||{{|zz{{zzz{{{{{{{{{|{z{{{{{{{{{{{{{{zzzz{{{{z{{|{z{{z{yzz{z|{{z{{z{z{{{zzzz||{{{z{{zzy{zzz{{{{{{|{{{yz{yzzz{zzz{{{{z{{z{zz{{|{{{||{z{z{z{z{{{z{{||{z{zzz{z{||{{||{{{{{{{{{{{{{{{{|{{{|{{{{{|{|||{{{|{z{z{z{|{{{||{{{{{{{|{{||{||{|{{{{{{{{z{{|{}{||{{{{{{{{|{|||||z{{{{{{{}|{||}||{{|{|{{||{|||||||{|{{||{||{|||{{|{{{{{{{||||||||{{||y{{{||}}{|||{{|{||{|{{{|{{|||z{|{|z{{{||||{|{{{{z{{{z|||{||{|{z{{|{{{||z|||||{{{z{{{{{{{||{|z{zzz{zzy{|{|{|||{{{{{zzzz{{||||{{zz{{zz{z{{{|{{|zzy{{{z{{{{z{{{{{|zz{{zz{||{{{|{{{zz{zz{{{|{{{{{z{{z{{z{|{{{|{{{z{{zzzzz{z{{{{{zzzzzzzz{|{z{{{{{zz{zyz{{{{{{z{{z{z{zz{{z|{z{{|{{{{{{zzyz{{{{{{{{{zy{{zzz{z{|{{{{zz{z{{{z{z{{{{{z{{zz{{{{|{{{|{{{{z{{z{{{{{{||{|{{|{z{{{{|{{{|{|{|z{{z{{{|{{{|z|{{z{z|z{{|{{{{|{{{{{|{|{{|{{|||{|{{{{{|{{{|}{|||z|z{{{{{{|||}}|}|{|{{{{{{{|||{||{{|||{{{|{|||||}{{|{z{|{{{||||}|||{{{{{|||||}||{|{|{{{z{||{{|}|{}{{||{z{{||{||}{||{{{{{{|}}||||}{|{zz{|z|||}|}||{|{{{{zz|||}{{{||{{z{z{{|||||{{{{zz{z{{zz{{{{|{|z{z{{zzz{{|{{{{|{{yz{{{y{zz{|{}{{{|z{zzzz{{{{{|{|{{z{z{{{z||{{{{{zzz{{zzz{zz{|{{|z{z{zy{|{|z{{{{{{zz{{{zz|{|{z{{{{zzzz|zz|{|{{{z{zzzzzzzz||{{z{{z{z{{z{zz{{|{|||zz{{zz{{z{yz{{z{y{{y{zzz{{{{z{{{z{{zz{y{{{|{{{||{zzz{z{z{{{{{||{|z{z{zz|{{|{||{|z{y{z{{{{{|{{{{|{z{||{z{z{{{{|{{{z{{{|{{{||{{{|{{{{{z{{{z|{|{{{{{|{z|{{z|||||{||{{{{{{{{{|{{|||}|{||zz{{{|{{||{||{|{{{{||}|{{{||{{{{z{|{z{||||||||{{|{{{{}|}|||||{|z}|{{||{{{|{||z{{|{|{z{z|{|}}{|z{|||{z|{{}|||{{{{zz{|{{||{{{}{{|z{{{z{{{{||||zzz{{{{{{{{|{|{{z{{{zzz{z{{z{{|{{z{{zzzzz{{|{}{{|zz{zzzz{z{|{{{{zz{zzyyyz{|{{{{{{z{zzzzyzz|{{zz|{zzzz{zz{{{{{{{z{z{yz{zzyz{{|{{|z{{zz{yzz{{z{{z{yz{zzyz{|{{{zz{{{zzzy{{zz{{{z{{{{zz{{zzzzz{{z{{{{yz{zzzzy{{{{{zzz{{{zyyzzzzz{{{{zz{{zz{y{{z{z{{{{zz{{z{z{|{z{{{|zzzzzz{z{z{{{{||zz{zz{{{|{{{{z{|{{{zzz{z{{{{{|{{|z{{{yz{|{|{|{|{zz{z{}zz|{{{{{{|{zz{{{{{z{||z|||z{zz{{|||{|{||{{|{z{{zz{{{|||{|||{{{{|||{|||||}|{{{{|{{{{{z{}|{|{{{{{{z|||{||{||{z{||{z{|||{{{|||{{||z{{|{|{|{{||{z{{{{{|||{|{|{{z|z{{z{{|{{{z|{|{z{zzzz||||{{||{zz{|zzz|||||{{{z{zzyz|z{{|{{||z{{{{z{z{{{{z{|||{{{{z{{z{z{z||}|{{{zzzz{zz{|{{||{{zyzzz{{|{{{{{{zzzz{z{z{||{z|{{{z{{{z{{|{{zz{{{zz{zzzzz|z{{z{z{z|y{zzzz{{{{z||{zz{zzzzz{{{{{{|{{{{{zzz{y{{{z|{{{zzz{zzzz|{{|z{{z{z{{z{{z{z{{{{z{z{{zzzz{{{{z||{{{{{zy{{{{|||{{{{z|z{z{{{{|{||{{{{{z{|z{{|{{{|||{{z{{zz|{{|{z|{{{z{{{zz{||||}||{{{z|{{{|{||{{||||z|z{{{{|||{||}|{{{{zz{{{{|}||}|{z{z|z{{||{|}|{||{{||{{{{|||{|{|{||{||||||||}}||}{{{{{{{{|{||||||{{|zz{{{{|||||{|{|z{z{{|{||{|||||{{{{{|{{{}|||{{{{{{|{{|}{||{||{|{{{|{z{|{{{|||{{{z{{{z{{|}}{{{{{z{{z{{{{|z|{||{{{{zz{{||z|{|{}{{zz{zz{|{|||||{|z|{{yz|{z|{|{|||{{z{{{z{|||||z|{z{{{{{{z{{{{{|{{{{z{zz{{z{{z{|{{zzz{{{{z{{{{{{{{z{z{|zzzz{|{{||z|zzz{zz{{{{||{{z{z{yz{{z|{{{{{||{{zzzzy{{{{z{z|{{zz{yz{z|{z{{||{{{{{zzz{{{{{{{||zzz{{{z{{{{||||{{{|zz{{{{{{{|{{z{{yz{{{{|||{|||{z{z{z{{{|||||||{{{|{zz{|z|{|{|{|{z{{{{|{{|{{|{|}|{|||{{|{||||||{}{|{{{{||{||||}z{{{{z{{}||{|||~||{{{{|{{}||}|{||{{|{{|{{|||||{|}z{||{|{{~}}|||||{{{z{z|}{}|{|{|{{{{|{{|{||{{||||{{{|{{|}||}||||}|{{z{{z||||{}|}|{z|yz{z}{|||||{|z{z{z{{{|||||||{|zzz{zzz{{{{{||{zz{y{|zz|z|{|{||||yz{{z{||||{{{|z{{{{{z{z|{{{{{||{z{{zz{{{{{{{|zz{z{|z{{{{{{{{{|{zz{z{{{{{{{{{{zzzzy{|z{z|{{{{{|zzzzzzz{{{{||{{zz{zz{zy{{|{{z{{zz{z{z{{z|{{|{|{zz{{z{{zz{{z{{{{{zzzz{zzz|z|{||{{{{z{zz{{|||||{{zz{zz{z|{|{|{|{|{z{{{z{z{|{|{|||{{{zzz{{z{{{{||||{z{{{{z{|||{}{|{{{{|{z{|{|{{|||{z{z{{z{|{|{|{{{{{{{|{{|||}||||{|{{|{{}{||{|{|||z{{||{|{||||||}||{{{{{{{|}|||}|{|{|{{}{{{|||||}|{|z{|{{{{|||||{||{|{{{{{||||{}}||{{{{{{{|||{{|{|}{{||{{{}|{}}|||||{{{{{z{|{||{||||{zz|z{|{|||||}{{|z{z{{{||{{{{|zzzz{z{z{{{{z{|{{{{{{zz{{{z{||z|zz{z{{yz{|zz||||{zzzz{{{z{||z|||{|{{z{zz{{{{{{||{{{zzz{zz{|z{|{|{{|{|zz{zz{{{|{{z{zzzzzz{z{{{{{{{{zzzzz{{|{{{{{{z{{zzzz{{z{y{|{|{{{{z|zy{||{{{}{{zz{zz{yz{{||{zzzzzz{zz{z|{||{z{zzzz{{{{|{{{{{{}{z{{{z{{{}z{{{y|z{{z{z{z|{z||}{{z{{zz{{{|}{{{|{{{|{{{z{{{{{|{||{{||zz{zz{|}|{|||z{{{{{{{||{{{{|{|{|z{{z{}{{||||||{||{||||{{{{|{|{{{{{z{{|||{{z{|||{|{z|{|{||}|}||||z{{}{||||}{|||||{{{{{{}}||||||{|{z|{z||||}||||{{||zz{|||||{|}|z{{|{||||||||z|{|{|{|{{{|||||||{|{zz{{{z||}{|{|{z{z|{zz}|||{|{|zzzzzzzz{{z{||{|zz{zyz{z{{|{{{}|{{|zzy{{{{{z{{{{{{z{{zzz{|||{{|{z{{{z{{z{|{{{|{{zz{z{zzz{|z{z{|{{{{zz{zz{z{z{{{{{{{zz{y{{{{{z{{|zz{zzzzz{{{{{{{|{zzzzzzzz{}{{{{z{{z{yzz{z{{{zz|{{y{zyz{z{{{z|{{{z{zz{z{zz|{{{|{|zzyzzzz{{{{z{{|{{{zz{{zz|{{{z|{{zz{{zz{zz|z|{|||{{z{{{z{{{{{{{{{{{{|{{{{||{|{{{z{{{zz{zz{|||{{|||{|{|{{{z|{{{{|{{{|{{z|z{|||||||{|{z{|{z||||{{{||z{{{z{{{{{|{|{||{z{{zz{||{|{|||{{{{{{{||||{|}|||{{{{z{|||||{{||{{|{{{{{{|||||{{{{|{||{z{{|||||}{{||{z{|z{||{}|||{{z{|zz{|{||{||{{{|zz{z{}{|{||{{z{z{{{zz{{||zz{{zzz{{zz{{|{{|||zyz{zzzz{z{{{{|{z{{{zzzz{{z{{||z{y{{zzyz{{{{{|{{zz|zyzzz{{{{{{|{{{|z{zzzzz{zz{|{{zz{zz{z{z|{zz{zzzzzz{zz{{|{z|z|z{{z{z{{z{{{zz{z{{z{{zyz{z{{{{{{zzzzzzzzz{{{{z{{y{{zzyzz{z{z{{{{{zzyzzzzz{|{{||zzzzzzzzz{||{{{{{{|zzzzzz{{z{{{|{z{{{z{|{|{|{{|{|{{{z|{|{{||{|{{{{|z{zz{zz|{{|||{{zz{{{zz{|{||||z|{|{z{{{||{|z|{zz||{||z|{||{|{||z{{|z{{{||{|{{||{{z{{z{{|{{}|{|||zz{{{{z||}{|{||{z{{z{|||{||||{{|{|{z{{{|||{|||{|{{{{{{{|{{|{|{{|z|{{{z{{{|{{{|||{{|{{{||{|{|{{|{{{z|{{{{z{{{||||{z|{z{z{{|||||{{{{z{zzz{z{{|{{{{{{{{zzz{{{{|z{{z{{zzzzz|{||{{|{zzzzz{zzz{{{{{{{{{{z{z{{{{||{{|{{{zzzy{z{{{{|{{{{z{y{z{zzz{z{{{{yzzyzz{zz|z{z{{|{z{zz{zzz{{z{z{{{zzy{zzyz{{{z{||{zyzzzzz{|{|z{|{zzz{zyzzzz{|{{{{z{z|zyzzz|{{{{|{z{{z{zyy{{z{{z{{yzz{z{zz|{|{||{||z{z{z{{zz{|{|{|z{{zzz{{{|{{{|{{|z{{z{{zz{|z|{|{|{{{{{zz{|||{||{{z{zz{zy||{|{{||{{{{z{{{}z{|{||||{{||{{|||||{{||{{z{|{{{|{z||{{|{y{{{|{z||||}z|||{{{|{{{{}||||||{{|{{{}|||{||{|}{z{||{{|||||{|{|{z|{{{{{|||||}|||{|{{|{{{{||||||{{|{|{z{{|||{|||{|{{{z|{{|{{{{{||{z{z{zz||{||z{|{zz{{z|{z{{|{{{|zz{{{zzy{z{z{{||{{{{{{{z{z{{|{||{{{z{z{z|{{{|{{{{z{{{zz{{{z|{{{|z|{zzz|z{{|z{{|||z{{{|{{{{z{{{{{{z{z{{zz||{{{{|zzz{{zzz|{|{{z{{{{z{z{z{{|{{z{|{{z|{zzzz{{{{||{{|zz{{z{z{{||{{{{|{zz{zzzz{|z{{{{|{{zzzzzzz{{{z||{zz|{{{{zz{|{{{||{{{{zz|y{|{{{z{|{{{z{{{{|{{|{{||{z{{{{{zz{|{{{|{{z{{{y{z{||||{{{{|{{{{|z{{{{|||}|zz{|{z{z{{{{||{{{z{{|z{{|{}{{||{{z|{{{{||{||}|||{z{{{|{||{||{|||{|{{|{{|||||}}|||{{{|{{||||}||}}{z||||{|}{{|{||||{{|{z{||||{}{||{{|{z{{|{z{}|||||{|{z|{|{||||||z{zzzz{{|{||{|}|{|||{{|{{{||{{|{{zz{{y{{|||{|{{{{zzzzzz{{{{{z{{|{{zz{{{z{{{{||{{{{yz{{{z{z|z{{|{{{z{zz{z{{{zz{{|{zzzzzzy{{{z|{{{zzzzz{zz{|{{{{{{{z{zzzzzzz{zy|z{z{{z{zzz{z{|{{|{{yzzzzz{{{{{{{|{{z{zzzz{{{{{{{{{zz{{zzz{z{{zz{|{{zzzz{{z{zz{{|{{z{zz{zzy{{{{{{{{{{{zzyzz{|{{{{{{zzz{{{z{{z{{{{z|{{{zz{{{{{{z{{|{{{zzzz{y{{{{{|||zz{{{yzy{||}|{|{{{{{zzzz||{{{{|z{zy{{zz{{{{{||{{{{{{{{{{{{{{|}||{{z{{{{z|{|{}{|}{|{{z{z|||||||~|||{z|{{{|~{{|{|||||{{|z{{|||{|}}|zz{{|{z{||{||}||{{|{{{{|||||}|{{{zz|{{z|{{{||{||{{{||{{||{|{{||z{{z{|{{{|{|{{|||{|{|{z{{|{{{{||{y{z{{{{||{||{{z{{{z{{zz|{|{z{{{{{z{{zzz{z{{||{||{{zzzzy|z{{{{{{{{{zzzzz{|{{zz{|z{{z{z{{{{{|{{{{{{z{zzzzy{{z{{|{|z{y{zzy{{{{{{{|{{zz{{y{{{{{{{{|zzyz{z{zz{{z{|||z{{yyzy{zz||{{||{zzyy{{z{{|zz{{|{zyzzz{z{z{z{{{{{{zz{y{{{|{|z{{{{{{z{{zz|{{{{{||{{{{{z{|{||{z|||{zz{zz|z{{{|{{||{z|z{{zz{{|||||z{{z{y{{z{{|{|{|{{{{{z{zz{||||{}{{{{{z{z{{|{|z|{|{{zz|{{{{|||}{{|{{{{{{{{|{|{{{}|{{z{{zz{|}|{|||||zzz{z|{{{{|{|{|||{{{{{{{}|||||}}{{z|{|{{}||}{}{{{|{{{{|}|||z||||||{{{{|{{{{{|||{{{{{{{||{|}{||}{{{zz{{{{|||{{|{||{{zzz{{||{{|{{{{{z{{|{{||}{|{{{zzz{zzz{}{|{{||{{{{{z{{{||||{}|z{{zzz{z|{{||{|{{|{{{z{{{{|{z||{{{{|zz{{z{|{{{||z{{z{{{{{|{{z{}|z{z{{{zy{{{{{|{{{|{{|{{{{{{{{{z{zz{yzzzz{{|z|{{{{zz|y{y{{{|{{{{{{z{{y{z{z{z{{{|{z{{{{z{zz{z{{{|zzzzyz{zz{{z|{|{{z{{{{{{{||z{|{|{{{zzz{{{|{{{{{{||{{zz{{{|{|{{{{{{{{{zzz{{{|z{}{|{|{z{z{z{|{{{|z||{|z{{{{{{|z}|||{{{z{{zz{{|||{{|{|z||zz{{{|}||}|{{{zz{{{||{|||||{{{z|{|{|||{|}|||{{||{{{{}|{z|||{{{z{{||{{|||}|}|{{|{|{{||||{|}|}{{|{z{{|||}}|||{{{{{{{{||{||{|}{|{|||z|{||}||||||z{{{{|{|{{{{|{|zzz{{{{{||}{|{}{z{{z{zz{|}|||{{{{zz{z{zz||{{{|{{{{z{zzz|{z|{|{{{{{yy{{z{{z|{{{{|zz{z{{{{|{|{z||{{z{zzzz{{{|{{z|{{{{z|{z{|||{|{{{{{{zzz{{{||{{{{|{zzz{{{{|zz{{{z{{|{zzz{{{{{{{{|{zz{z{zz{{{z{}{||z{{zz{{{{{zz{{{{z{{zy{zzz{{{|{|{z{{{{{{{z{|{{||z{zz|{{z|z{{|||||{zy|zz{{|||{|{|{{{z{z{{{{||{|||{|z{{|{|{|||{|||{z{{z{{||}||{}{|{{|{||{{|{{{{|||{z{|{{{{{||{|}|{|{{{{|{|||||||{|{{{|{{|{{||||||{||{|{z|{{||||}|{|z{{|{{z|||||||||{|{{z{|||}{|}||{{{||{|{{}}{||{||{{||{{{||}|||{{|{z{{||{{|{|||||||{|||||{{{}{|||{{|z{{{{{|||{|||{{{{{{{{|{||{{{z{||{{z{{||{|{||{|zz{{{zz{z|{{{||zzzz{z{z{{{{{|{{{z{{{{z{{{{{|{{{{z{zzzz{{{{{zz{{{{{zz{{z|{z{z{{{{{zz{{zy{|{{{{zz{{{z{zz{{{{zz{{||{zz{zzz{{{z{|z|z{zz{z{{z{z{{{{{{z{zzz{{{z{{{||{zzzyz{zz{{z{{{{|{z{zz{zz{z{z{{{|{z{zzzzzz{{{{{{{{{z{z{{z{|{|{|{|{{zz{z{z|||z{{{|{{{{z{{{|{{|{{||{{{z{z{|{{|{{||||z|z{z{zz}|||{{{{{{{{zz{||}{{|{{|z|z{z{{{{{{{{{{||{{{{{{|}{|||{{|{z{{{{{|{{|||||{z{|{{z{{||||||||z{|{zz{|||{||}}{z{z{z|z{|||{}}|{{|{{z|{|{|{{|||||{}{|{|}|}|{{|{|||z||{z{||{||}||{|{{|{{||||{|||{{|{{{zz|{{{{|{||{{{{{|z{|||{{|{{{{{{{zz|{z{z{{|{{{zzzzz{{|z{{{||{{z{{{z{{|{|z}|{z{zy|zy{{z{{{{||{{z{zzy|{{{{{|{{{{y{{{{|{|{{{|{{zzzz|{y|||{z{{||z{{{yzz{z|z{|{{{yy{yzz{zz{{{{{zz{zzzz{zz{{{{{{{{z{{z{z{|{{{|{{|{z{z{{z{z{{{{{{|{z{{zyzzz{{{zzzz{{zz{zzz{{{zz|{{{{z{zz{zz{{|{{{z|zzz{zz|{{|{{{|{z{{{zz{{{{{|}{||{{{{{z{z{||{|{|{{{{{{z{{{|{{{|||{{{z{{zz{||||{|{{{z{{{zz{{{|{}|{|{z{z{{z{{{||||{{|{{|||{|{||||{|z|{{{{{z|{{|||}|{|||{|z{{}{|{||{|{|z|{|{{{{||}{}||{{z||{{|||||||{{{{{|||||{||{||}{{{{{{|||{|{|||||{|{{|{||{||||{||z|{{{z||||{{||{{{{{{{{{||}{|{{|z|{|z{{|{{||||{{{zzz{z{{{{{|z{zz{zz{z{z|{{z|z{z{{zzz{zzzz{{{{{z{{zzzzz{{{{|{{{|{{{zz{zyzz{zz|{{{z{{zz{zz|||z{{{|{{{{{zz{z|{|{z|{{z{{yy{z{{|z{{z{zzzz{zzz{{z|{z{{{{yzzzyz{{{|{{|{{{zzzzzzz{|{{{{zzzy{{{z{{z{zz{{{{zz{zzzz{{z{{{{{{{{{z{z{{{z{{{{{z{z{zzz{{{{{||}{zzz{z{{|{|{|||{{{{zz{{{z{{z|||{{{z{{{zz{||{|{||{|{z{{{{|{{|{{|{z{{{{{{{{{{{{||{{{z{{|{{{|||||z|{{{{{{||{|{{|{|{{{{{{{zz{||||{{{||{|{{{|||{}}|||{{{{{|{|{||}}|{||{||||{{{}}}{|}|||{{{z{{||{|||{||{{{{{{{{|||{{|}{{{|{{{{{{|{||||{{{zz|zz{|||{{|{||z|{z{{z{||||||z{|{z{{z|{|{z|y|{{zyz{z{{{|z{{{|{{{{zzzz{z{|{{}|{zzzzzz{{{|{|{|z{{zzzzzz{{{{z{{|zz{zz{{z{{{|z{||{z{yz{z{{|{z{|}z{zzzz{{{{{{zzz{{{yzzzz{{{z|||z{{{z{zzz{{{{{{{{|zzzyz{zzz{{{{{|{|{{zzz{{{z{{|z{|{|zzzz{{y{z{z{{{{{zzz{{zzzz|z{{{{{y{zz{zy{|z{{{{{{|zz{z{{{{|{{{{{{{z{zz{{|{{|{|{|{{{yzz{z{{|{||{{|{|{{{{z{{|{||}||{{{{{{{{||||z}|{{{{z{{{||||{{{{{{{z{zz{{}||||||z|z{{{{|{{{||||}{{{|zz{z{{|}||}}|{{|{z{z{|||||||{|{z|||{{|{|{||||{|{{z{|{|||||||||||{{{{|||||{}||{{|{{z{||{{|||||{z|{{{{z{||{{|{{z{|z{{{{|{{{{{{{{{{zz|z|||{{|{|{{{{z{{z{{|z|{z|z{z{{{|zz{|z{{{|{{zz{zzz{{{{||{|{{{{z{|z{|zz|{{{|{{{{{zz{{|{{|{{zz{zyz{{z{{{{{{{{z{zzzzzzzzz{|{{{{zz|{zz{{{zyz{{z{z{{{{z|z{{{{{|zzzyzzz{{{zz{|z{zzzzz{z{z{{{{{{z{{{zyzyz{{{z{{{{z{zzzzzzz{{z{{{{zz{{z|zzz{y{{{z{zzzz{z{z{{z{{{{}{z{z{z{z{{{{{|||{{{zz{{{|{|{{{{||{{zz{{z{||{{{|||{{{{z{zz|{|{|{||z{z{{|{{{|{||{|{{{{{z{{{{||{{{{|{{z|{{||{{{|}}|{{{{|{}z|{{|}||||{{{{{{{||{||||{|{{{{{{{{||{||}|z|{{{{{||||{||{|||{|{|{{{|||{}|||z{{{{{{||||{{||}{|{{z{{{||{||}}||{|{|z{{{||{|||z{{z{{|{{{|{{|||{{{{|{{{{||{{{||{z{z{z{{{|{{|{{|zzzzzzzzz{|z{|{{|{{zz{zz{{{{{{|{{z{z{z{z|z{|z{{{{zzzzzzz{{{{{{{|{z{z{{zz{{{|{|{}zz{zyzz{y{|{z{{|{z|{zzyzz{z{z|{{{y|zzzzz{{z{{{{|{{zzzzzz{{|{{{{{zzzzzzyz{{{{|{|{{z|y{zzz{|{{z{|{{{z{yzyzz{{{{{{{{zyzyz{{{zz|{{{{zz{z{{z{{|{z{|{|{z{{zyz{{||y{{|{|zz{zzy{|{|z||||{z|zz{{z{{|{{|{|{{{{{zzz{{z{{{{||z{z{{{z{||z{||{{z{|z{{{{|{|{{{||{|z{{{{|||{{|{|z{{{zzz{{{||{{{{|{{||{zzz|||{|{{|{{{|{z{||||||||{{{{{z|{{||{|||}|{{{|{z|{|{{{||}{{|{{{|{|{{|||||||{|{{{{||{{{|||||{|{{{{||||{|||z{{z{|z|{{{||{{{{{z|z{{z{{{|{{{|{z{z{z{z{|{|{{|{z{zz{zzz{{{{{{|{{{zzz{z{{z|{{{{||z{zzz{z{{{{|{||{y{zz{zz{{|{z{{{{zzyzz{z{zz||{{|{z{|zz{zzz|{{|{{z{z{z{y{{{{{zzz{zzzyzzzzz|z{z{{zzzz{{zzzzz{{z{{y{{zzyzyzz{|z{|{|zzz{yzyyz{{{{||{{{zzzyzyzz{{{{|{zzz{|zzzz{{zz{{{{z{zz{{z{{{{{{|{{{z{{{zz{{{{z|{||z{{|z{{{|{{{z{|z{{{yzzzz{|{|{{{{zzz{{{zz{|z{{{{{zz{{zz{|{|}{||{{zzz{{z{|{{{{{|{{{z{{{{{{|{{{{}|{{{{{z{{||{{||||{{{|{{z{||||{{{|{zzzz{{{||{{{||||z|{{{{|{|{{|||{|z{{{|{{{|||{|}|}|||{{z|{||{{|{}|{|{||{{{{{}{|{{{||||{{{{{||}|}|z{|{{zzz{||{|{}||{|z{{{z{|{{z||{{z{zz{{{|{||{}{{zzz{{zzz{|zz{{{|z{zzzzzzz|{z|{|{z{zzz{zzz{{z{{z|{z{zzz{zy{{|z{{{{zzz{zzzz{|z{{{|{{{{zz{z{|z{{{{{{z{zzyzz{{|{z{{{{{z{zzzzz{z{{{{{zzzzzz{z{z{z{{{{zzzzyzzzz{{{{{{zz{{yzzyz{{{zz{{|zz{{zyzyz|zzzz{zzz{zzz{{z{z{z{z{zz{z{zzz{|z{{{{|z{zz{{{{{{|z{{|||z{{z{z{{{{|||{|{{{{{zzz{z{{{|{|zz{z{z{{zzz{|{z{{{|z{{{z||{|{{||{zz{z{zz{{{{|{{|{{z{{|{{{{||{||{z|{{z{{{{|||||||{z{{{z{{{}|||||||zz{{z{{|||{||||{{{{{{{{||{{||{{|{|{{{{{|{}{{||||||{{|z{|||z||{|{{z{|{z|}{{{{|{||{{{|{{{{|{||}}{z{|z{{z{{|{|{{|||{{{{{{z{||||{|{{{{|zz{{|{|z|{{z{z{zzz{z{{{{{{{{zzzyzzz{z{{{{{{|{{{zzzzz{|{{z{{|{z{z{{zzz{{|z{||{zzzz{{z{{{{{||||{{zz{{z{{{{{|{zzzzyzzz|{{{{{{|{{{zzz{y{{z{{{{{{{zzzzyzz{{|z{{{{yyzzzzzy{{|{{|{{z{zz{{zz{{{|{|{{{zzz{yzyzzz{{{{{{zzyzx{z{{{{{{|{{zzz{|{y{{{{{{{|{{{z{z{z{|z{{{{|{z{{z{z{{{{{{{|{z{{{z{zz{{{||{{{z{{{{z{z|{||{{|z{{|z|zzz{z|{{{|z|{zz{{z{{{{{{z{z|{zzz{{{|||{|||{z{zz{{{{{{{||{}|{{|{{{{z{{|{||||}zzzz{{{|||||||}{{z{z{{{}|{z||{{|{{{{}{z{}{|{|||||||{||{}|{|||{{{||{{{z{{{|{||}|{|{|z|z{||{}|{|||{|y{z{{z{|||}||{zz{zz{z|{||{{{{zy|y{{zz|{{{{||{{{zzzzzz|{|{{{|{{{{{zzzzzz{{{{||z{z{zz{{{{{{{}|{|{{zz{{z{{|{z{{{{{{zzy{z{{{{{|z{{zzz{zyzz||{z{{z{z{zzy{{{z{{{|{{{zzzz{z{zz{{{{{{z{{zzz{{zzz{z{{{zzz{zzzz{|z{{{z{{{z{zzz{{z{|{{|{zz{y{yzyzzz{{z{{{zyzzz{z{{|z{{{|zzz{zzzzz{zz{{|{zz{{{z{{{{|{{{|{{{|{zzz{z{{{z{|{{{{{{z{zz|{|{||{z|{{zzz{||{||||{{{z{{{{z|||{{||{z{{z|{y{{|{{{{{{{{{{|{|{|||}||||{{|||||{||{{||||{{|{z{{{|}{{|||{{{{z|||{}||{{|{|{{{z{|{|{{{||}|||z{{|{|{{|{||||{|{{||{|{}{{{{}|||{|{{{||{{{||{|||{{{{{{||{}||{|||{|{{{{{||{{{|{{|{{z{{{z{||{{|||z{zzz|zz{{{|{{z|zzyz{{z{z|{|z{{{zz{zzzz{z{{{z{|}|{{z{{{{|z{z|{{z|{{{{zz{z|{{{{{{{z{zzz|zz{z{{{{|zz{zzz|z{||z{||z{{zz{{zz|{z{z|{{{zzzz{{{z{z{z{z{{zzzzzzz{{{{{{{{{zzz{zyz{{zz{z{{{{{z{zzz{{{z{{|{{{z{zzzzzz{zz{{yzzzz{y{{y{{{||||zz{{{{yz{{{||z}{{{{z{yz{{||{|{|{y{{{{{|{{{z{|{||z{z{z{{{{||{|{|}{{{{{zz||z{{{|{|{{{{{{zz{||||{|{{z{{{z{{{{{{{|{{{z{z{zz{{|{{|{||{{{{{{{{{||{|{|{|{{{{z{z{{|||{|{|{{|{{{{}|||||||{{|{{{{{||||{{{||{{|z{{{||{||{|||{{{{{{||||{|}{}|{{{z{{{{{|{}|}||{|{}{{{{|{{||}{|z{zzz{{{}{{||{}z{{|{{{{{|||{||{{{{{{zy|{|{{|{{z{{{z{zzzz|{{z|{{{{z{zzzz{{z|{|{{zz{{z{|{|{{|{{|{|z{{zzz{{{{{zz{||z{z{{zz{{|{{|||{{{{{{zzzz{|y{|{z{{zzzyzzz{zz{{zzzzz{{{{z{{{{{z{{zzzzz{z{{{{{{|z{yzzzz{{{{z{{{{|zz{{z{zz{{|{{{|{{zzyzzzz{z{z{|{zzzzzzzz{{{{z{|{z{z{zz{{z|||{|{|{{{{{{y{{{|{{{|{|{z{{z{{{{{{{|||{{{|{{{{z{{|{{}|{{{{{|{{{{|{|{|{{|z{{{{{{{{||{||{{{{{{{|{||{z{}z||{{||{||||}}{}||{{{{{z{||{{|{||||||{{z{z|{{}{|}{|{{{z{{{|||||}{}|{{{{||{{|||||{|}|z{|{{{{{||{}}||{||{{zz{|||{}||{|{{|{z{|{{||||}|{|{|{{||||||||}{{{z{{z{{||||{{||{{{{{{{{||{{|{|{{{z{{z{{{{|{{zz{zzzzz{{{||{{{{{{yzzzz{zz{|{z{{{{z|zzz{z{{{{{{{{{z{z{zzzz{{|z{{{{|zzzy{{{{z|z|{|z{z{zzzy{z{z{{{{zzzzz{zy{z{zzz{{{zzzz{zzzz{zzz{|yzz{zzzzzz{{zz|{zzzzyzzz{{{{{z{{z{{{zzz{z{{y{{{{{z{z{zzzzy{{{{{z|z{yzz{zz|{zz{z{{{{{|{zz{z{{z{|{zzyz{z{zzz{{{zz{{{{{z{{{|{||{|{|zz{zz{{{{z{{{{{{{zz{{{{{|{{||||{{{zzz{z{z|z|{|{{{{{|zz{|{{{{z|{{|{{{{z{{{{{||{||z{|{|{{{||{|{{{{z{z{{zz{{z|||{||{zz{{z{{|{}{|{|}|{{||{{|{||{{||}{{{{{{}z{}|||{|}{z{{{{{{{|}|{{|{{{{{{{{{z|{||||{{z{{{{z{|||}||{|{{|y{{{zz{{||{{|{|{z{z{z{{{{||{{{{|zy{zzz|{|||{{|{zzzzzz|{{{{{{|{y{{zzz{z{{{{||{{z|zzz{{{{{z{{{|{{z{z{{{z{{{z{{||{zz{{|y|{{{{{||{z{yz{{zz{{z{{|{{{zzzyzz{{{{z{{{{zzzyzz{|{yzz{z{{z{{{z{z|{zz{{{z{zzzzzz{|z||zzz{{zyzz{zzzzz{{z{{{{zz{y{z{zz{|{{{{{z{{zzzz{z{||{{zz{{{{yzz{{|z||{z{{zzzzzz{{{{{||z{zzzz{{||{{{||{|z{{z{{{{{z{{|{|{zz{{zzz{{{{{}{zzzzz{{z{{{||{{{||{z{{{z{{z{{||||{||{z{|z||{|||}|z|{{{{|{{{{|{||{|{{{{{{{{{{|||{||{{{|{{z{}}{||||{z|{{{{{|{{|{|{||zz{{{{|{|{|||{|||||{{||{||{||{||z{z{{z|||{{||}}{{{{z{z{|{|{||{|z{z{{{z{{{|{{|||{z{zz{z{z{{{{{||{zz{zy{{{z{{{z|{z{z{y{{yzz|{{{{{{z{y{y{z{|zz|{{|{{{{z{zz{{{{|{{{z{zz{zzz{||{{z{{{{{{z{{zz{{z{||{{y{zz{|z{{{{{zz{{z{{{zzy{{{{{|z{zz{{z{{y{z{{z{{{z{{{zzzz{zz{{|{{zz{{y{yzz{{z||zz{z{zzzzzzzzz{{{{zz{zzzyyz{z{{{{{{{zzzz{zz|{{{{{{yzzzz{{{z{{{{{|{{y{z{z{zz{|{|z{|{zz{|y{z{{||{{{|z{{zz{z{{{|{||||{{{z{{z{{|||{}|{{{{z{{{{{{{|{{{{{zz{{{{{{|{{||{||{zz{zz||z{|||||{{{{{{|{{|{}|{||{{{{{{zz||||{|{{}{z{{{{{|}{|||||z{{{{{||{||||}||{{||{|{{|}||||{||{|{{{{{|{{{||{||{{{{{{|{|{{{|{||{{{{{z{|{|{}}}}z|{y{{|{{|{{{||{|{{{{{{{||}{{|||{zz{{zz|{{|{{{{{zzzyz{zzy{{{{z{{z{zzzyz{{{z{z{{z{z{yz{zy{{zz{{{y{z{zz{zz{z{{z{z{yzyzyzzy{{z|z{{{zzzyzzzyz{zzy{|z|zzyzyzyz|{z{{|zzzzzzzzyzz{|z{{zzyzzz{zzz{{zz{|{zzzyxzyz|{{{{z{zz{zzy{zy{{z{yz{{zz{xzyzzzzzzyz{z{zzzyzzzz{{{{{{{zy{zz{zzz{yz{{{{{{zzy{{z{{z|{||{yz{zzy{zzzz{{||{{zzzzzzz|z{|{{{{z{{zzz{z{|{{{|z{{{z{|{zyz{{{z|}|{zyz|{{{|{{{{|{|{z{z{{{z{{{{{{|{{{z{z{{{{{|||{|{{zzz{{{{{||z|{||}zzz|{{{||{zz}||{z{{{z{{{{{{{{{{|{{{z{{{z{||{|{{{{z|z{{z{{{|{||||{zz{{{z|{{{|{{|{{z{{{|{{{|||||{{{{zz{{z{{{{{{{{|{{{{zzzz{{{{{{|z{{z{z{zzz|{{|{|zzz{zz{z{{{{{z{{z{z{{zzz{{|{{{{{|zzz{zzz{|{{{||{{{zz{zz{{|||{z||{zzzzz{y{{{{{{{|{{zz{z{z{{{z{{|{{z{zz{zz{{{{z|zz{{{{{{{zz{z{zz{{{zzzzyz{y{{{|{{{z{zzyzzz{{{z{{{z{{{zzzyzz{{{{{|{{{z{{zzzz{z{z{{{|zz{z{{zzz{|zz{{zzzz{{yz{|{{{{|z{zzz{zz{{z{{{{{|{{z|zz{{{{{{z{||z{{zz{{{z{|{z|||{{{{{z|{{|{{{{{{{z{{{{z{{{|z{|||{{{{z|zzz{||{{||{||z{{{{|{|{|||{{z{z{{zz|{{|z{|{{{{|{|z{{||{|{|{|{{{{{{{{||||||||z{zz{{{{||{{|||{{||{|{{{}||||||}z|{{z{|{|||{{|{|{z|{{z{{||{|{|||z{{{|z{{{{||{||{{|{z{z{||||{|{|{zz{{{{{{{{{{{||z{{{zz{z{{|{{{{|zzzzz{z{z{z{||z{{{zz{zzzz|{{zzzzz{z{zzzz{{{{{{{|zzzz{zzzz{z{zz|||{z{{z{yz{z{z|{{{{zzyzzyzzzzz{|z{{z{zzyz{{{{z{z{y{{yzzz{{z{{z{z{{{zzyyzz{zz|{{|zzzzzzzz{z{{{{{{{z{{zzzzz{{{|{z{zz{zzzyzy{{{z{{{zzz{zzzzzz{z{z{z{z{{z{{zy{{{{{z{{zzzzzy{{{{|||{|{{z{zz{{z{z||z{{{{{{{z{z{{z{{|{{|y{{z{{{y{{{|{{{{{{zz{z{{{|{{{{}zzzyz|{z{z||{{{{{{{z{zzzz|||||{||{{zz{{z{|||{{|}|}{{{{yz{|{|{{|||{z{|{z{||||||{||{zz{{{{{z|{|{{|||{{{z{{|{|{||{||{z{{{{{{{|||{|{||{z{{z{{{{|{{{||{{z{{{{{{{|{{{|||{{{|{{{z{||||{|{{{{|{{z||{{{z||{{|{zyzz{z{|{{zz{{z{zzzzz{z{z{{|zz|zzz{z{{z{{{{|zzzz{zz{{{z{{|{{zz{zz{yzz||{zzz{{{zzzzz{{zz{{{{{z{z{zz{yz|{zz{{zzzzy{{z{{z{zz{{{zzzz{zzzzzz{{zz{zy{zyzzz{z|z{z|z{yzzz{zz|z{z{||{{z{zz{zz{{|{{{{{zzzzzzzy{{{{{{{{{zzyz{zyz{zzz{{zz{{zz{yy{|{{{{{{{zzzzz{y{{|{{{{{z{{zzzzzzz{{{{{{zz{{z{{zz|{{{||{{{{z{z{zz{{||{{{{{{z{zzz{{|{z{}{zzzz{{{{z{{{{{z{z{{zzz{z{{||||||{{|{zz|z||{{{|}|{z{{{zzz{||{|{|||yz{{{{{||{|{|||{{||{z{{{{{|||{|||{{z{{z{|||{|{|{z{{{{{zz||{|||||zz{{zzz{|||{{|||{z{{z{{{|{{|{||{{{z{{|{{{{{|{|{{z{z{{y{|{{|{||{z{{zzz{{{{{{||{{zz{zzz{yz|{|{{|{{{z{{z{zz|{z{|{{zz{{zzzzzzz{{|{{|{{{zyz{{{{|{{|{|{{{zzzzz{{{z|{{{z{zzzzzz{{{z{{z{{{zz{zzzz{zz{{{z{zyz{{z{{{z{|{{z{y{zyzz{{{{{z{{|zzz{z{{y|{{{|{|{zzyzzzz{z|{{z{{{|zzzzy{{zzz{{||z{zyyzzzz{{{{|{{z{{zzzzz{{{|z|||{z{{{{zz|||{z{y{{{{z{zzz{{{{{{|{{{z|{{{z||{|||||{{|{|yzz{||{{{||{z{{{{{{{||{||{{{{{zz{{z|||{{|{||{{z{z{z|{{||||{z{{{z{|{||{{{||}||{|z|z{{||||{{{|zz{{{{|{||{z|}|{{|{{{{{||z||}||||z{z|{{{||{{||}|{|{{{|{|||||||{{|{z|z{|{{||{{{|{{|{|z{|{|||{||||{|{|{{{|||{|||}|{{|{{{{{{|z{||z{z{{z{{z|{||{{{{zzy{zyzz{|z{{|{|{{{{z{{{||z{{{||{{zy{z{z{{|{{|{{{{{{zzzz{{||{{|{{{zz{zzz{{|{|{{{{{zzzzzz{{{{{{{{{{{z|{{{{{{z{{{{{{{{z{zzzzz{{{{zyz{zzyzz{z{z{{{{zzy{z|z{{z{{{{{|{{z{zzzz{{{|{{|{{z{z{zzz{{{z{z{{zz{z{z{{y|zz|z{{{zzz{zzz{|{|{z{{{z{{z{z{zz||{{{{{z|{zz{{{{{|{||{{z{{{zz{{{{{|{||{{{{|{{{z{{||{{|{z{{{{zz{|}{|{{{{{{{z{|{{|{{{{|{|{|z{{z{{{||{{|||{|z{{{|{{|}{|{||{z{{y{{||||||{||{{{|{{{|||{|{||{{|{||z{{{{{||||||{{{|{|{|||||}~{{{{|{|{|{||{|{||z|{{{{{{}|{{}|||||{z|z||{{}{|{|{{{zz{{z|{{|||}{{{{{{{|{{|{{|{|{{{zz{{{{{{{{{|{|z{{yz{{z{{zz{|{{{{zyzzyz|{{z{|{{zzzyz{{{z{|{|||||zzz{zzz{{|{{{{z{{{zzz{{{{{{{{|{zz{{z{{z{|{{z{|{{zzz{yy{z{|z{|{{{||{yzzz{{{|z{{{zzzzzy{y|{{|{{{z{zzzzzzzz{{zz{{{z{z{zzzzzzz|{{{{{zzzzzyzz|{{{|{{{z{{zy{{z{{{{{|{z{zzz{zy{|{|{{||{|zz{zz{z{z{{{{||z{zz{zz|{{z{|||zz{{{{z{{||||{|{|{{zzz{{{||{|}|{zz{zz|z{{|{{{{{|{{{z|{z{|{{|{{||{{{z{{{{|{{||||{{z|{|{{|||{{||||z|{{{zzz{}|{}||{{{{{{z{||{|{{|||{{{{{{{||{|||{{||{|{{{{{|}{}||}||{{|{{|{|||||{|{|{z{{{{{{}{{{|}|{{z{||{{|{{||{{|{{{{{y{{{{{||{|{{{{{z{z{{{{{{{||{z{zzy{z{{|{|{{{{z{zz{{z{{{||{|{|{zzzzzz{z{{{|z}{{zzyz{zz{|||{|{{{|zzz{z{{||{{||{{yzz{zz{{|{{{z|{{{z{{z{{{z{{{||{zz{{z{zz{|{{{{zzzzz{{zzz{|z{{z{yz{z{z{z{z|{|||{{{{zzzzz{{{z|{{z{z{{{z{z{|{{{{{{|z{{zzzzz|zz{{{{{zzz{yz{{{{zz|{{{{zyz{yz{{{{{{||{z{zzzz{|{{{|{||{z{zz{{{{{{||||}{{zz{{z{|||{{{{{{{|{{{|z{|||||||{z{{{{z{{{}{z|{|{zz{{y{z{{{{{|{|{{{{{{z|{{{|{{}|{||{{{{{}||}|||}|{{||{zz{|{|{|{{||{|{{{{|}|{||}||z{{z{}{{||||||||{|{||{{{}|||}{||{{{|{{{|||{|||||{{z|||{|{{|{{|||{{||{{{{{||||}{{{{{z{{z{|{|{{|{|{{{{{|y{|{|{||||z{z{{{z{{|{{{z{{zzz{yzy{z{{{|{||{{z{zzz{|{{{|{|zzzyzzzz|{{{{{|{{{{z{z{z{{{{z{{zzzzzyzz{|z{{{{|}{{{zz{{zz{{{z{{{{{z{{{zz{{zz{|{{zz{z{zzzz{{{zz{{zzyzyyzy{{{{z{{{{{yzyzz{{{{{{zz{{z{{z{zy{||{z{||z{{z{z{zzzz{|{{{z{z{z{z{{z{zz|{|{z{zz{zzy{{{z{|{zyz{{zz{z||{{{{||{{{{{z|{z{{{{{|{z{{{{{y|{{{||{{{{{z{z{{{{{|||{{zz{{{zzz{{{{{{|{||{z{zz{|{|{{{{|{{z{{z{{{{|{{|{|z{{{|{{{{{||{{}}{{{{{{z{{{|z|||{|{{{{z{z{|||{|{|{z|{{|{{{||{||}||{{{{{{{{|||}}|||{z{{z{{}{{|{{}|||{|{{{{{{||||{|{|{z|{{|{|{|{z||{{|{{{{zz|z{|{||{zz{{zz{{|{|{{|||{{z{z{|{{{|{{z{{{z{{z{zz{|{{||zz{y{zzz{{{{z{{|{zzzyzzz{{{{{{{|{{z{{z{zz{{z}{{|||{{{{zzyzz{{{{{|{{zz{{zzz{{|z{|z{z{{{zy{{|{zz|{{z{zzzyz{zz{zz{{{zz{z{yyy{{{z{{{{{{{{z{zz{{|{{z|{|z{z{{{yz{|z{{}{{zz{zzzz|{|{z{{{zzz{{{{zz{{z{||{zzz{zzzz{{{z{{||z{{{z{{{z{{{{{|{zz{{z{{z{|z{{{|}{{{|z{zz{|{|{|{|{{{{zzz{{{{|{||z|{{zz{{{{{}||{|{{z{{{z{{||{{||{|{{{{{{{z|{||{||||{{{|{|{{{{|{||}{|{{z{zz|||{||||{z{{|{|{{}{|{||||{|{{{|{}{|{}|{}}{{{{}{z{}||{{||{{{|z{z{||}}{|{|{{{{z{{{{}{|||||||||{{{{||{|||||{{{{{{{{{||{|{}|{{{{zz{{{|{{{{|{{{{{zz{{{|{{{{{zz{{{zzz{z{{{{{{||z{{zzyz{{{{{z||z{{zzzzz{z{z|{{zz{zzzzz{z{{|{{|{z{{zzzzzz{{{{zz|{{zz{zyzz{z{z{{{{z{z{|zzz{|z{|{|zz{zyz{zzz{{{{{{zz{{{zz{{{{z{{{{zz{zyz{zz|{z{|{{zzz{z{{zz{|z{{{{{zzzzz{z{{zzz{{z{z{xzzy{{{{|{|{{{zzzz{zz{{z{{|{{{z{zz{z{{{{{{{{{{{{z{z{z{{{{{{{|zz{{zzz{||}{{|||{{{z{z{z{{{{{{{{||z{z{{{{|{{{{||{zz{z{{z{{|z{{{|{|{z{{{{{||||}||{{{z|{|{{|{}{||{{z{{{{zz||{|||||{{{{|{{z{|{}{{||{{{{{|{{z{|{{||||{{{z{{{{}|}}{|{|{|{{{{|||{|{|{||{{{{{|||{z|{{||{{{z{{||{{||||||{||zz{{z{||{|{||{|{{zz{z|{{{|{|{{z{y{y{z|{{||||{{z{{{{zzzz{{{z{{{zzzzzyz{z{z{||{{{z{zzzz{{{z{|{{{{zyyzzz{z||{{{{{{yz{zyz{z{z{}{{{y{{zzzyz{{{{{{z{z{zz{zzz{|{z{{{zz{zzz{z{z{z{z{z{zzyzzzzz{{zz{{{{zzzyzz{{{{{zz|{zz{zyy{yzzz{{{{|{yzz{zz{z{{{{{zz|zzz{z{z{{z{{{{{{zz|{|{yzz{z|{|{{z{z{{{z|{|{|||{zz{{{zz{|{z{{{||{z|zzzz{{{{{{||{{zz{{z{z{{{{z||{z{{{{z|{{{{{{{|{{{{{{z{{|{|z{|{|{{{{{{{z{|{|||||{z{{{{|{|{{|{||{|z{z{{{{{|}{|{|{{z{z||{z|{{{{|}{{{|{||{|{||||||||z{{z{z{||{|}||{|{{{{z{{||{{|{{{z{{z|{z|{{{{||}|{{{{|z{{{|{{||||z{{{{{{z{|{{{||{|{{||zz{{||{||||zzzz{zzz{z|{{{{zzz{zzz{z{{{{{z{z{zzz{zz{{z|{||{|z{{z{{|zz{z{{{{|zz|z{yzz{{{|{{|||yzzzz{z{{}z{{|{zzz{z{{yz{{{{{{{z{zzzzz{z{{z{{|{zzzzzzz{{zz{{{{|{zzyzzzy{z{{{{{{{zz{zzzzzz{{{{|{z{{zzzzz{{{{zz{{zzzzyz{z{z{{{{{z{{{{{z{z{{|{{{{{{{{{{{zzzz|||{{{{zzzz{zy{{{z{{z{{{{z{zzz{zz{z{{|{{{z{{{z||{|||}|{{{{{zz{z{{|{|||{zz{z{zz{{||{{|{zyz{|zz{|{|{{}{|}{{{z{z{{|{||{|{|{{{{{{{||{|{||{{z|zz{zz{||{|||||{z{z|{z}}{{{|{||{{{{}{||{{||{|{{{{{z|{{||{||||||{z{{{{{|{{||||{|z{{{zz{{|z{|{||{|z{{{z{|{|{||{{{{{zz{{{{|z|{||{|{|{{{{z|{}}{||{z{zzz{z{|{{{{|z{{z{z{zz{{{{{|{z{{zzzzzzz{{|{|{||{z{{z{{zzz{{zz{|z{{{zzzz{{|{z{{z{z|zzzzz{{z{z{{|{{|zzzzzz|{{{||z{z{z{{{z{z{y{z{{{z{y{zzz|zz{z{z{|zyz{z{z{zzzy{z{zz{{yzyz{{{zz{{|{zzzzz{{z|{|||zyzzz{{yzz{{zz{|{{z{z{z{zzz{z{z{{|zz{{zzzyz{z|z|{{{{z{{z|{{{|{z|||{{{z{zzz{{{{{|{{z{|{z{{{{|{{{z{{{z{{z{{{z{|{{{|{{{{{z{{z{{{{{z{{{{z{{{zz{{|z{||{{{z{{{{{{{|{|}||{{|{{z{{{{{{|{|||{{{{{{{|{|||}||{|{{z{{{||{{|{|}{{{{{{{|{}||||{|{{|{{{|{|||}||}|{z{{{{{{{|{||}||{{z{{{{zz|{{|||}|{z{{{{{z{{|||||{z|zzz{z{|{z|||||{z{{|{z{{|{{{|{{{|z{{{{{{{{|{{|zyzzzzz{z{{{{{{zz{{{{zzz{{z|z{|{zz{zz{z{{yz{{{|{{{{{{{yz{{{|{{{{{z{zzz{yzz{{{{|||{{z{{zz|{zz{{{{{{zyzy{zz{{{{|{z{{zzzz{zz{{{z{{|zy{zyz{z{{{z{z{z{z{{zzy{{{zz{{{{{{{zz{zz{|{|{{|{{zz{{z{yzzz{{{{z{zzyzz{zz{{{z{z{{z{y{{zz{zz}z|||zzyz{{z{{{|z{{{|{{|zzz{{|{{{{{||{zzz{{{|{{|z{||{{|{zzz{{{||{z|z|zzz{{z{{{{||{{z|{z{{{{{|{||{{{{||{|z{z{{|{{|||||{|{{z{{|{|{|z|{{|||{{{z{{{||{}|{|z|zz{{{{||{||}|{{||{{{|{||||}{{|{z|z|z{||{|||}|{{||z|{z{||{{}|||{|zzz{{|{}|||{}||{{{|z{{}{||||{{{{{|{zz{{||{{}}|{z{{{{{z{{|{{{|{|zzy{zz{|{|{{{zz|z{z{{zz{|{|{{|{z{{zz{zzz{{{{|}{yzz{z{zz{z|{{{{zz|{{zz{{{{{{{||{z{{z{{y{z{{{{{{zzz{{{zz{{{zz{{|{z{zyzy{{|{|z{{z{z{z{z{z{{{{z{{{zzzzyyzz{{{{{{{{{z{zz{z{z{{{{|{z{zzzzz{{{{{{{{{{{yzzzy{z|{{{{{{{z{z{{zz|{|{{|{||{z{z{zzzz{{z{|||zzz{|zz{{||||{|||{{zzz{zz{|{{|||zz{|z{{z{||{z{|{{{{z||{z|}z||{{{{{|{z{{{{{||{{{|{z|{}{z||||z||{{|{{{|{z{|||{|}||z{z{{{{{||||{{{|{z{|{z{z|||||||||z|{|z{{|}|||}}|z{{{z{{||||{}|}{|{{{{|||{}{|}{|}|{{{{z{{|{}|||||}{|{{{{{{||{{||{{|{||{{{{||||||}{{{{{{{{||{{{||}{{{{{{|z||{|{|||{z{z{{{{{{|z{{z{zzz{zz{z{|{{z{{|{{y{z{z{{{{|{{{{{z{zyz{z{|z|}{{{{{zzzz{{{{{|{{{{{{zzz{zzzzzzz{{{z{{zz{zzz{z|{|{z{zzzzzyy{|{|{|{zzzzyzzzy{{z{{||{y{{zzzzyzz{{{{|{{zzzyzzz{{{{{|z{z{{{z{{z{z{{{{{{z{{zyyzyz{z{|{{{|z{zzzzyz{{{{{{{yzz{zzzz{z{{{||z{zzz{z{{{{{z{|{|zzz{zz{z{z|{{{||z{{y{{{{{{|{{||{{{zzzzzz{{||{|z{{{{z|{{z{{{{{z{|{{z{{{zz{||{|{||{{{z{z{{{{||||{{z{{{{|{{{|{{|||{{z{z{{{{{||{z{||{z{{|{{{||{|{|}||{|{z|||||{|{|}||{zz{{{{{}}{{|||{{{|{{{||||||||{|{{{{{|{|{{|||||{{{z{{{{{{{{||{|{{{{zz|z|{{|{{{{|{{{{z{{{||{|{}|{{{z{z{{{{{{|{{z{{zzyz{zzz{{|{||{z{{zz{|{{{{{{|{z{{{z{{zz|zz|{|{{{z|zzz{{z|{z||{{{{zzy{y{{{z{{{{{zz{{{zz{{{z{{{{z{z{zzzz{{{{{{|{{zzzy{{zzzzz{{z{zzy{zyzyz{z{{{|{{zzzz{{z{{{z{||{{z{yzzzz{{z{{{|{{{zyzzzz{zzz{z{{zz{y{z{zz{zzz{{zz{z{{zz{z{{zz{{|{{zzzz{z{|{{|{{z{{zz{z{z|{{{{|||zz{{z{{{{{{z|{zz{{z{zyz{z||{{|{{zz{zz{{z{||zz|{|zzzz{{z{{{{{{|{|{{{|{{{|||}{|{|{{z{{{{|{{|{}{|||{{{{{{z{|z|{{{{{|{z{{{{{|}||z|{|{{zzz|{{|||||{{{{{{|{{{{{||||}{||{{{|z{z|{||{|{|{z|{{{{|||{|z{}|{{{{{{{||||||{{}{z{{|{z|{|{z||}|{{||y{{z{|{{{||{{{{{zzz{{{}{{{|z{zz{zz{z{{{{{{{{{zz{yzyzz{{{|{||{zz{z{yz{{{{{{}{{zyzzzzzz{{{z{{{{{zzzz{zzz{{z|||{z{zzzzz{{zz{||{{{zzzzzz{|{{z{{zzz{z{zzy{z{z{{z{zzzzzzzzzz{z{||{{zzzy{zzzz{{z|{|zzzzz{yzz{z|{{{{{zz{zz{z{z{z{{{{{{zzyzzzyz{{{{|{{{{{yzzzzz|{|{|{{{{z{z{{{{{{{{{{{{{zzzz{{{{|{z|{z{zz{z{{{{|{{z{|zz{{{yz{{{{||{{|{{{z{{{{{{|{{{|{|{{z|{{|{z{z||}|{{{{{|{z{{|{z}|{z{z{{{|z{|||||{||{{{{{{{{|||{||||{{{{{{{{||{|}|{|{|z{|{{||{{||{|{{{{|{{|{{{}||}|{{{{{|{{|{{|{|{{{z{z|zz{{|{||{|||{{|{{{{||{{|||{{{{{{z{{||{|{|{|{{z|{{{z{||{{|{|{{{y{{zz{{|{{z{{zz{z{{zzz{z|z{|z{zzz{zzy{{{|{{{{zz{zzzzz{z{{{{|{{z|z{zz{{{{{zzz{{{zzy{zzz{|{{{z|{yz{zzz{z{{z{{z{{zz{z{y{{z{zz{z{{zz{{yzzz{{{{|{{zyzz{zzz{z|zz|{z{{zzyzzzz|{zz{{{zzzyzzz{|z|{{{|z{zzzzyz{z{{{z|{{{{zzzzzzy{{zz{{z{zzzz{zzz{||{{|{{{zz{zzzz{|{{{{|{y{zzzzz{|z{{{{{z{{zzzzz{{{{{{|{|z{z{{{z{{||{|{{|zzz{{z{||y{{{{|{{{{{zz{{{|{{|z{{z{{{zz{|{{||||{z{{{{{z{{{{{|||{{zzz|{zz{||{{{|{{{{{|{yz|}||{|||z{z{{{||z{|||||{|z{{{{{||}||||||{{{{zz{{{|}||z{{|{z{|zzz{{{|||{||{{{z|z{{{|{|}{|z{{z{z{{{|{||{|{{z{zz{|{z{{{{{{{zz|{z{{z{{|{|{z{{zzzyz{{{{{z{{|{zzzz{z{yz|z{{z{|{{{y{z{{{{{z{{{{{zz{{zzzz{{|zz{|{zzzz{{y{{{{{z{{{yzz{zyzz{zz{{{zzz{zzzx{{z{z{{{{zz{zzzzz{{{{z{zzzyzzzyzyz{zz{{{{zz{zzzzzz{{z{{{|{{zzy{yz{{{z{{{{{{zzyzzzz{{zzzyz{{{zzz{zz{{{||{{z{{z{zzy{{{{|z{|z{{z{zzzz|{{{{{{zz{zzzzz{{{{{{|{{{zzyzzz{|{z{{{{z{z{{z{{||{{{|{|{zz{z{{{{|z|z{|{{zz{zzz{||{|z{{{zz|{|{{{z|||{{||{{{{{z{{||{{{||}{{{z{{{z{|||{{{||z{|{z{{}||||{}|{{|y{z{{||{{|||||{z{{||{{|{|||{|{{|{z|z{{{{|{}|||z{z|z{{||{{|{||}{z{{{|{|||}{|||{|{z{{z{{|{{||||{{{zz{{{||{{{{||{{zzzz{z|{{{{z{|{zzyz{zy|{{{|z{|{{zz{z{z{z{z{{{{zz{z{zzz{{{z{{{{{{{zzzzzz|||z{|{{{{zzyzzz{{{{z{{{{zz{zzyzz|z{z{{{z{zzzzzz{|z{{{|{zzzzzzz{zzzz{{{{yyz{yzz{{{z{{{zzzzzz{yz{{{z{|{|zz{zzyyyz{{{z{{|{zzzz{zyz{z{{{z{{zyz|{zzz|z{z{z|{zzz{zzzz{{z{{{{{yyy{z{{{{{|||{|{zzzz{{z{{{|{{{|{z{{zz{z{||{{{{{{|{{{z{{{{{{||{|z{{z{zz{||||{{{{{z{zzz{{{{|{{{{{{{z|{zz{|z|{||{|{{|z{{{{{{||{|{|{{{{{z{z|{||{|{{|z{z{{||||{|||{}{{|{{|{z|{||}{|||{{{|{{{{|||{||{|{{|zzz{{{{{|{||}{z{{z{{{z||{||||{{z|{{|||{||{{{z{zz{{z{{|{||||||{z{zz{z{||{{|{{{z{{z{{{{{{z{{{z{zzzz{zzz{z{zz{{|zzyzy{z{{z{{{{|zzzyzzzzz{z{z{{zzzzz{zzz{{|{z|{{{zzyzz{z{{|{{|z{yyzz{zyy{|{{{z{z{zyzzzzzzz{{zz{{{zzzzzzzzz{{zz{{zzzzzz{z{{z{z{{{z{z{zzyzz{{{{zzzzz{zyzzzz{z|{{{{zzz{zzzy{{zz{{{{{{zzzzzyz{zzz{{{z{z{z{zy{zzz{z{{{z|zzz{zy|{{{{{{{{{zzz{z{{{{{{{|{z{zzy{z{z{{|{{{{z{z{zzzzz||z{{{z{{{{zz{{{{{{{{y{{{z{{z{{||{{{{{{{|{z|{{|||{|{|{zz{z{z{z|{{{||||{{zz{{z{||{{|{|{{{{zz{|{|{z||||{{{{z{{|z{|{{|||{|z{zz{{{{||||{||{z{{z{{{{}|||{{|{{|{{{|{||{{|||{|{{{{zzz|{|||{{|{{{|zz{zz{{{||{||{{{z{z{{{{||{|{z{{{zzzzz{{|{{{{|z{zzz{z{{{{{{{|{yzzzzzz|z{|{|{{{z{{zz{y|z{{{|||{z{z{{{z{{z{z{{|{{z{yz{z{{{{{{z|z{{yzzzz{{z{{{{{zyzz{z{z{{zzzz{|zzzz{{zz{{z{{{{|{zzyzyzz{z{{{{{{zzz{yzyzzzzz{{|{zzzzzyz{z{{{{z{|{{zzzzzzz{{z{{z{{z{z{zzzz{{{{{|{{{zz{{yy{{z{z{||zzz{{z{z|||{z{{|zzz{zzzz{z{{zz|{{{{z{z{{{{{{||{{{{{z{{{zz{{{|{{{zz{zy{{{{{{{{{|{|{{{{z{{{||{{|||{z{{{{z{|{{{||}{{{{{{{|{{|{}{||||z{{{{{{|{{{|{{{{{{{{z{{|{|{{}|{{{{{{|{z{|{||||{|||z|{{{{}|||{{{{{{{{z{||||{{{|||z{{{|z|||{|{|{}{{z{{zz{|||||||{|z|zz{z{{||{{{{{{z{{{{{z{{{|{{|{{{{{{{{{z{|{{{{|zzyzzz{zz{{z{{{|{zz{{zz{{|{|{{{|{zzzz{zz{z||{{{{zz{{zyyz{z{{z{|{{{zzzz{yzz{|{{{|zz|zz{zzz{{{{{zz{{zyzyzz|{|{{z{{|{yz{zzzz{z{{{{{zyzzzzzzz|{{z|{z{zyzyzz{zz|z|z|{{z{yzyzzz{{z{z{|{z{zzy{z{z|zz{z{{zzzzz{z{{z{{{{{zzz{y{zz{{z{{||{|z{{zy{z{{z|{{{{{{{z{{{z{{z||{{{z{{zz{zz|{|z{|{|{z{z{zzz{{|{||{{{||{{z{z{|{{{{|{|zzy{zz{||z{{z|{|{{{{|{z{{z}|||{z{|z{{{||zz||{||{{||z{{z|{z{|||{|zz{{z{{}{|{|{{|{{{{|z{{{{|}{||||{z{{{{{||||{||}{|{|{z|{|||{{{{||{{|{{{|||{||||{||zz{{{{|{z{|}||{{zz{{z{{{{{|||{|{{z{zz{{|{{{{|{{{{zz{zz{{{z{{{{zzzz{zzz{{z{{{||{{{{zzz{{{{zz|||{{zz{{zzz{{||z|{{{zz{{{{{||{z|{{{{{zzz|yz{z{{|{{zzzyyzzz{{{z{{{{|{{zzzzz{z{{zz||{zzzzzzz{{z{{{{{z|z{{zzzz{{{{{z{{zz{zzz{{|{{{{{{zz{{zyz|z{|{{{|{z{z{{{zzz{||{{{{{{{zzzzz{z{{{{{{zzz{{{{z{|{{{{|{{z{{z{{z{z{{{{{|z{{{zz{{{{z{{|{{z|{{z{{z{z{||||{zz{{{y{z{||{||{{{zz{z|{{{|{{{|}{{z{{{{|{{|{|{{{{{z{{|{z||{{|{{{{{{{{{{|{z||}|{|||zz{|{{z{{|}|{|{{{{z|{{{|{}{}||{|{{{z||{{|||||}||{{z{|{{|}{|{{|}||{|{{{{{|{{||||{{{z{{{{|{||{||}||{z{yz{|{}{{{||{|zz{|{{{|{{||||{zzz{{{z{|z{{||{{z{z|z{{|{{{{z{{{zzz{zz{zzz{{{{{|z{yzzzz|{{{{{{{z{{zz{{z{{z|{{{|{{{zzyzy{{|{{{{|z{zzzzzz{z{{zz{|{{zzzzzzzz{z{||z|{|{zzz{z{|{y{{{{yzz{zzzy{{zy{z{{zzy{yzz{zzzz||{{y{zyzyzz|{z{{|z{zz{z|zyz{{zz{{{{{zzzzzz{{{{{{{{{{zzzz{zz{z{{|{{z{{{{zzz{z{zzz|{z{z{z{z{{||zz{{{z{{zzy{{{z|{{{{|zz{zzz{z{{||{|||{z{{{z{zz{||{|||z{z{|{z{{|{|zz|{|zz{z{{{{|{{{|{|{{{{|{{{||{||}{|z{{z|{{{{|{|{{{|{z{|{zz{{{|||{|{|{{z|{|{|{|{||{|{{|{{|{{|{{{||||{z{{|{{{|}{}{{}|{{{{{{{{|{||{||{{{{{z{{{{|{{|{{|||z{{|{{{z{}{||{{{|{z{||z{{|||{|{|{{{|{|{||{{{|{{z|{{zz{{|{{{|z{z{y{zzzyz{z{{|{|z{zz{zzzzzz{{{|{z{zz{zzz{zz{{z|{{z{z{yzz{{zz{{||{{y{zyzzzz{{z{{{zz{{zzzzz{{z{{{{{z{{yzzz{{{{z{z{{|z{yzxzzzz{z{{{zzz{zyzy|{{{{{{|z{{yz{z{{z{z{|{z{z{|zzyyz{{{z{{{{zzz{zzyz{z{{z{{{{yz{zzzz{z{{{{{zy{yzzz{{{z|{{|{{{{z{y{zz{{{{{|{{y{zyz{{{{||z|{{{zz{{z|z{{||{|{{zzz{zzzz{{||{|{{{{z{z{zz{{|{{|{{|{z|{{{{{|{{{{|{{{{{{{{{z{{|||{|{{{z{z{{|{|{||||zz{{{z{{|{{|||||{z{z{{{{{{{||{|{{|{{{|{{|{{{{{||{{{|z{{{|||||{|||{{||{|{||||{}||{z{{{z|{{{{{{||||{{z|{z{}{||||{|{{{z{{z{|{{{{|}||{{zzz{z{|{{{{||{z|y{zz{{{{{zz|{{{zzzzzz{{|{{{||zzyzzzzz{{|{z{{|{|zy{z{zz{{{{{{{{z{{zyzz{{{{{{{{z{{zzzzy{z|{{{||zz{yz{yz{z|{{|{{{zz{zzz{{{{{zz{zzzzzzz{yzzz{{z{{{zz{zzz{zz{{z{{{{yz{zyz{z{{{{{{{{z{zzz{zz{{{{z{{{zzzzzzy{{zzzz{{yzyzzzyz{{z{{|zzzzzyz|zzz{{z{{|{|zz{zz{z{{z{{{{|{{zzzzz{z{{{{|{|z{{{{z{{{{|{|{|{{zzzzz{y||{{{{{||{{|{y{{z{z|{||{{z{{z{z{z{|{z|{{{|z{{z{{{||{|{|{zzzz|||{{{{|{|||||{{{z{{|{|||{{||{{{{z{z||}||{||{|{{{{{z{||{{{|{|{{{{{{{{}{|||}|{{|{{{{z{{||{|{|{{{{|z{|{||||||{|{z{{|{{{|z{{{||{{z{z{{{{{{{{|||{z{{zzz{{{{|{z{{|z{zzz{z{{{z|{z{zy{yzzzzyz|{z|z{zzzzzzzz{z{zz{|{zz{zzz{{{{{z|{z{{z|zzzz{z|z{z{{|z{{zyzzz{z{{{|{|{zzz{{{yz{z{{{{{zzzy{zyyzzzz{{z{z{zy{zzz{z{{zz{{zz{zzyzz{zzz{{z{{zzzzzzzz{zz{{{zzzzyz{zy|{{{z{{{zzzzzzz{{z{zz{{zz{zyzzzyz{{{z{{zzzyzzzz{zz||{{{{{z{zzz{y|{|{{{{{{z{{z{{z{{{{z{{zzz{zzz{yz{|z{{{|{{z{z{zz{{{|{{{|{{{{{z{{{{{{|{{{z{z{{z{{|||{{{||{{{{{{z{z{|}||{|{||{{{{z{{z{|||{{{{{{{z{{|{{}{|{|zz{{{{||{|{{|||{{z{{{|{{{}||||{{{{{zz{{|}{{{|||{{{{{{{{{|{{|{|{|{z{{{{{|{{{{{|{{{{{{{{|{{{||{z|z{|{{zz{{{{{{{{{{|{{zz{{{|z||{{{{{zz{z{z{z{|z{z{{{zzzzzzz{zzz|{{zyz{z{{zzz{{{z{|{zyzzzzz{z{zz{|{zyzzz{y{z|z{{z{||z{yzyzz|zz{{{{{zzz{zzzzz{{z{z{z{zzzzyyzzz{{z{{zzz{{{zzzzz{{{{{{yzzz{zzz{z{y|zzzzzzyyzz{{z{z|{{{zzzzzyzz{{{{z{||{zzzzzzzzz{z{{{zzzzy{zzzz{yz{{{{{{zzyzzzz{{{{{{|zzzz{zz{z{{{{{{{zzzzy{{zzz{{{{{{{zzzzzy{|{{|{|y{{zz|zz{z{{{|{|{{{z{{zz{z{{{{{{||{{z{z{{{{{{|{|z|{{{{{zz{{|||{||{{z{{{z|{|{z|{||{{{|{{{z{|{{z{{|{{zz{{{zz|{|z||{{{{{{{|{{|{|||{{{{{{zz|{{{{|{|||{|z|{zz{{{|{||{||{{{zz{z{{|{z{{||{|{z{z{{{||||{||z|{z{z{z{|{{|{}|{z{{{z{zz{{{|z|{zz{zzzz{{{||{zz|{zz{zzzz{zz{z{z{{z{zzzzz{{{z|{{{zzzzzz{y{zz{{|{||{{{zzy{{{|{{{{{{zzzzzzz{z{{z|z{{zzyzzzzy{z{zz{{{z{zzyzzz{|{{z{z{y{zyzyy{y{{z{z|zz{zzzzzzz{{{|{{{{z{zzzzz{{|{{{{zz{{zzzy{{|zz{{{zzz{zz{zzz{zzz{{zzz{zyzy{{{z{||{zzzz{z{zy{{|{{{{{zzz{zzz{{|z{{{{zz{zy{z{{z|{|{{{z{{z{{zz{|{{{{|{zz{{{zz{{{{{|{{z|{{{{zzzz|{{{z||z{y{z{zz||{z||{{{{{{{{z{z||{||{{zzz{zz{z{{{{{{{|{{zzz{z{{|{{{{|{|zz{{z{z{|{{|{||{{|{|{{{||{|||||}{{{{{{z{{||{|||{z|zz{{{|||{{{|{|{{z|{{{{|z|{||{{|{{{|z|{|{{{||{{z{{{{{zz|{{{{||{}{z{{{{|{|{{{|{zz{{zy{{|z{z{{z|zzyzzz{zy{|{zz{zzz{zzzzz{{{{{{{{{zzzz{{z{z{z{{{{{{zzzz{z{z{{zz{{{z{zyzyzzzz{zzz|zzzzy{{zz|{{z|{{{zz{zzzzz{{z{z|zzzzzzzzz{zz{z{{zzzzz{zzz{{{z{z{z{z{zz{zzz{|{zzzz{zzz{z{yz{z||||{zzzzzzzzz{zzz|{{{z{y{zzy{{{{z{{|z{{{z{zz{{{{{{{{{zzz{z{z{{{z{z{|{{z{zz{z{|{{{|{{{{yz{{zz{{{{{{{{{{{{zz{yz{||{|{|{z{y|z{zz||||{{{{{{{{{zz{{{{}{{{{{{z{|z{|{{|{|{|z|{{{{{||{{|||}}|{z|{{{z{||{{{{{|{{{{{|z|||||}|}|{{{{{{{{{|||||{|{z{{z{{||||||}|{{z{|{{{|||{|||||z{{{{z|{{{{|||{|{{zz{z|{}{{||z|{{{{{{z{{{||{|||{z{{{{{z{{|z|z||zzz{zzz{z|{{{zz{zzz{zzzzy{{{zzzzzzzyyyzz{z{{{{{z{{yz{zzzz{z{{|{zzzzzzzzzz{{{zz{{{{zzzzzz|z|zz{|{z{zzyz{zz|z{{{{{zzyz{zzyz{|zzz{{zzzyzz{zzzy{{|{{zz{yzzzzzz{z{{}{{z{yzzyzzz{{{{{zzz{zzyyz{|{{{{{{zzyzzzzzx|zz{zz|{{{zzzzzz{z{{|zzzzzzz{y{z{z{{{||yzzzzzzz{{{{z{{{zz{z{z{z{|{zz{||z{{z{{{z{||z{{{|{z{yzz{z{|{{{|z{z{{{z{z{{{|{z|{z|z{{{z{z{|z{{|{|{{{{{z{z||{{|z}|{{{{{z|z|{{||||{{{||{z{{{{|{{{|}z|{{{{zz{{|z{|{|{z{z{z{{{{{|||{||z{{{{||{|||||{||{{{{{||||{|||||{{z{{{{z{z{|{|{{{|z{{{{{{{{|}|{|{|{z{{{z|{||{|}|{{{z{zzz{}||z{|{z{zzz{{z{|z{{{||{{zz{yzz{|{{|{{{{zzzyzz{{{{{{{{{{{zzz{{y{{{{{z|{zz{zzzzz{z{{yz||z{zyzyzz|z{{z{{|yz{zzz{z{{{{z|{{zz{{z{z{{z{{z{z{yzzz{zzz{{zzz{{{zyz{{zz{{z{zz{z{zzzzzzzzz|{{{z{|zz{zyyz{z{z{y{{z{{zzzzzz{{{zzz{|{z{zyyzyz{z{z|{{zz{yzzzzzzz{zz|{{{{{{{{{{{{{{z{||z{{{y{{{{{{z|{{{{zzyyz{z{z|{{z|{{{{|y|{{{z{{|{{{zzzzzyz{{{{|||{}zz{zz|z{{|{{{{{z{{{|{{{z{|}{|||{{z{{{|z{|{}}|{|{{{z{z{{||||{{|{{{{{{{{{}|{{|{||{{z{|z{{{|}{|||}}{{{{|z{|{{}{||}|z{{{z{{{{{{|||{{{zz{{{z{{{{||||{{{z|zz|{{{{{|||{|zzz{{{{|{{|{||{{zzz{z{{|{||||{{{{z{zzz{|||{{{zz{zz{zyyzz{z{{{{{zzzzyz{{zz{{z{{zzzzyyzzz{z{{{{{z{{zzzzz{{z{z{{zz{{{z{zzzzz{zz{|{z{zz{{z{{{yz{{{zzzzzy{z{{{zz{{zzy{yyyyyzzzz{{{|zzzyzzzzzz{{{z{{zzy{zzyzzz|{{{z{{zzzz{zy{z{|{{{{{{{zzzzxzzzz{{{{{{zz{yz{{z{z{{{{zzzzz{zyz{{|z{|zz{zzzzzzzz{{z{{}|z{zy{{z{{|{{|{{z{{zzz{zzz{{{{{{z{{{zzzz{{{|{|{z{{zz{z{y{{|{|{{|{zz{z{{{|||{{{{{{z{z|{{{{{||{|{{{{{|{{{z||z|{}||{{{{zzzz{{|{{{{{{z{z{{{||}{{{||}|{|z|||{|{{{||{{{z{{z{{|{}||{||}{z{{{z{z}|{{||{|{{z{{|z{{{{{|||{z{z{z{{{|{|{|{|{z{zy{{zz{||{{||{{{|{{zzz|{{{|z{{||{{y{z{|{|{{|{z{zzzzzzzz{z{{{{{{zzzzyz{zz{z{{{{zzzz{z{z{{{{z|{{zzzz{zzzz{|{z{{{zzzzz{z{{{z|zz{{{zzzzz{zzzzz{{{zzy{{zzyz{z{zz{z{zyzzzzzz{{zzz{{{zzzzzzzzz{zz{{|{zyyzzzy{z{{z{|{{{{zyzzyzzz{z{{|z{zzz{{zzz{{z{{{{|{zz{yzyz{z|z{{|zzzzzzzzzz{{{|{z{z{zzzz{z{{{{|z{{zzzz{{{{zz{{|{{{zz{y{z{{{{{{z{{{z{{{z{z{{z||{{z{{yzz{zz{|||zz{|{{z{{{{{|{{{{{|{{{{{z{{z|{{|}||{yzz{{|{{{|{||{||{z{{{zz{{{{||{{||z|{|{z{|||{{}||z{z{{{{|{{{||}||{{{{{{{zz}{{|{|{{{{{{{{{{|{|z}||{{z{z{z{{{{{z|}|{{||{{{{}|{||}{|{{{{{{{z{{||{{|{{{z{{{yzz{{{z||{|{zzz|{z{{{||{{zzzzz{zzyz{zz{z|{{zyzzyzz{|zzz{||{z{zzzzz{z{{{||{zz{{{zz{{{z{z{z{{zyyyzzyzz{{z{{{{zzzz{{z{{{{z{z{z{{z{{zzz{{{{{{zyzzzyzyy{{{{{{zzzzzzyzyzz{{{{{{zz{{zz{zzzz{{{|{{zz{zzzyz{{{{{|{z{zyz{xyzzz{y{{{z{z{zzzzyz{{{z{|{zzzz{{{zz{{z{{|{|{zzzzz{z{{z{{{|{{{zz{yzz||z{||{zzzz{zz{z{{{{{{{{{{{zz{zz||{{|{{{z{zzzzz{{{{z{{{{zz{{{yz{{{{zz{|{{y{z{{zz{{|{}{{{zzz{{{z{|{{{{|{|{{{zzzz{{{{|{{{{z{z{{{z||||{|||{z{{{{{|{{z|||||{zz{z{{{|}|{{{{{{{|{|z{{{|||}}|{{{z{{zz|{|{{{{||{{{{{{z{|{{{|{||z{z{z{z{{{{{{{|{{|{{zzz{z|{{{z|{{zzz{zzzz{z{{{{z{{zyzzzyz{{z{{{{zz{{zzzzz{|zz{{{{{yzzzzz{{{z{|{{zz{zzzzzzz{{z{{|zzzzy{{z{{z{z{{|zzy{{z{y{{{{z{{z{zzzzzzz{{{zzz{{zzyzz{zzzzzz{{{{zy{yzzzzz{{zz{|{zyyzz{zyz{{{{{{{{zz{z{yz{zz{{z||zz{z{yzzx{{zzz{{yzzz{z{zz|{{z{{{zzzz{|{y|{z{{{{z{zzz{zzzz{{{{{{|zzzz{z{z{{{{{{{|zz{zyzzz{{{{{{|{|{{z{zzz|{|{{{{{{z{{zzzz{{{z{|{{{z{{{{{{{||{z|{{zz{{zzz|{{||{{{|{{{{|{{{{{{{{|||z{{{z{{{{{{z|{|{{{{{{{{{||||{||||{|{{||z{||{|{{||z{{{zz{{}zz||{{|zz}z||{{{{||{|{|zzz{z{z|{{|{|{{{{{z{z{{{{{|z{|||{zz{zz{z{|{|{{{{{zz{zzz|z{{{||{zz{{y{{{{{{{{{y{z{zyzyzyzz{{{{z||zzz{{zy{{{|{|{{{{{y{yzzz{{z{{{{{zzzzzyy{{{{{{|{zzzzzyzzz{z{{zz|{zzzzy{zz{zzz|{{zz{zyzzzz{{z{|zzzzzzzzyzzzy{zz{{zz{{zyzzyz{z{z{zzzyzzzyzz{zz{{z{z{zzyzzzz{{{{{{zz{zz{zzy{{{{zz{|y{zyzzzz{{zz{{z|{zzz{zzz{{{{{{{|zzzyzyzz{{{zz|{{{{zzz{{zzz{z{|{|zzzzz{{{{{|{{{{{zzz{zz|zz{{{{|{{{{z{{{z{|{{{{z{{{{z|{{zz{|{zz{{{zz{{{{z{{{{||{{{{{{{}{zz{{{{|||||zz|{{{{{|||{{{{{|{z|{{z{||{{{||{z{{{{{{{|{{|||{{{z{{{zz|||}{{}|{{{{{z{{|{{{{{{||{z{{{z{|z{|}||||z{{{{{|{{|{{|{{|{{z{yyzz{{{|{|{{{z{z{|z{{{{{{{{{yzz{{{z{{{{{zy{yzzyzz{zy{z{z{{{{zzzzyzzz{z{{{{zzzzyzzzz{zzzz{z{{zzz{zzz{{{z{{zz{z{zzzzz{{z{{{z{yzzzzzzzyzzzzz|zzzzz{zzz{{{zz{{{zzzzyzzzz{yzzzz{zyyyzzzyz{zz{|{z{yzzzzyxz{{{yz{{zy{zzzzyz{{{zz{|yz{yyz{zzzzzz{zzzzzyzz{zzz{z{|{{zyzyzz{zz{{{{z|{{{zy{zzzz{{{{y{{{yyzzz{zz{{z{||{z{{zy{zz{{{|{z{{z{{{zy{z{{{{{{|{z{z{zz{{{{|{{{{z{zz{z{y{{{{|||{z|{z{{{|{{{||||{{{z{z|{zz{|{{|{||{z{{{{zz||{z{|||{{{{{z{{{||||||{z|z{{{z{z{{{{{||{z{z{{{{{}z|||||||{{{zy{{||}{{|{{zz{{zz{{|{{{|{|zz{{{{z{{{{{{{|{z{zy{{{zz|||{z{||z{{z{{z{zz{{{{{zy{{{{zz{{{||z{zzzzzz{zyz{{z{yzzzy{zzyz{{zz{z|{{{y{zzzyx{z{{{{z{{yzzzzzzz{{{{z{|z{zyyzzzy{zzz{z{zyyyzyyyz{zzyz{z{zzz{zyzz|{zy{zz{z{zyyy{zzzzyz{zzzzyzyzyz{zz{{{zzyzzyyyz{{{zzz{zzzzyzyzyz{z{zzzzzyyzzzzzzzz{z{zz{zzyzyy{z{zzzz{zzzyzzzyyzz{{{{z{z{zzzzzyzz{zz{{|{{{{yyzz{{z{{{{{zy{zyzzzzz{{zz{|{{{yzyzzzz{{{{{{z{|z{zzz|{{{{{{{zzzz{zzyzz{|{{z{{z{z{zzz|{{{{{|z{z{zzz{z{{{{{|||{{zzzzy{||{{{{{z{zzz{zz{|||{{|{|zy{{z{{z{{{{{|{{|{zz{{{{{{{|{|{z{{z{{z{{z{{|{|{{|{z{{zzy{{{{{{|{|zz{{z{z{{{{|{|{zz{zz{{zz{||{z{{{{{z{{{{{{z{{|{{zz{zz{{y{z{z{{{{{zyy{yyzz|{{{zz{{zzz{zzyz{{{{{{{{{{yy{yz|z{z{z|{{{zzyzzzz{{z{{{{z{zzyy{yzz|{{z{|zyz{zzzzzzzz{{z{{yzzzy{z{{{zz|{yzz{{zzzzzzy|z{{{z{zzzyzyzz{zz{{|zzzzyzzzz{{z{zzz{{zzyyyyz{{{zz|{zz{z{yzzy{{zzz{{zzyzyy{zz{{zz{{{{yzzzzzzz{z|||{{z{{yzyz{z{{{{||{{z{{z{{zz{z{z|{z{z{zzzzzz{{z{{{{|{{zz{{zz{{{z{{{z{{{z{zz{{{{zz|{{z{|{{{z{|z{z{|{{{z||{{{{{{{||||z{z{{{{{||{|{|||{z{{zzzz{|{{{|{|{zzz{zzz{||{|}|{{{|z|z{{|z{{||{{|{z{z{{|{{{||{||{z{{zz{{{{{{||{{|z{{{{zz{|z{{z||{{z{{|{|{|{||{{{{{zzzz{z{{{{|{|}{y{z{|{|{{{|{{|{{z||z{zyz{{z||{{{{{{zzzzz{{|{{z|{{zzzzzzz{{{|{|||z{y{z{z{z{z{{{{{{zzzzzz{{|{{|{|zz{{zz{z{{{{{{{|zy{z{z{y{z{{{{{{z{zzzzzz{{{{y{{{zyy{{y{z{z{{{{z|z{zzzzzz{{{z|{{zzz{zz{zy{z{z{{z{{{{zz{zzz|z{{z}{{zzz{zzzzzzzz{{|{zzz{zzzyz{{z{zzzz{zz{zy{{{{|{|{{{z{{z{{{{{z{{{|{zzz{zzy{z{{{{{{{{{yz{{z||z{{{{{{{{zzz{z|||{z{{|zz{z{{z{{{{{{{|z{{{{{|z{|{{{|{{{{{{{z{{z{|{|||||{||{{{{||{{{{}}|z{z{z{yy{{{{|{|||{{z{{|{||{||||}{{{{zz|||{{{|||{}{|{|{z{{}|||{|||z|{z{{{{{}{|||||{{zz|z{|{{{{{{|{{z{|{z{{{{|{|||{{|zzz{{{{{|{{{||{{|zz{{{|{|{||{z{{yzz{z{{{{|{{|{{zzzyzzz{{z{{z|z{yyzzzy{{{{z|{|{z{yz{{{{z{{zz{|zzyz{{zz{z{z{z{{{zzzzzzy{|{{z{{{zzzzzzyz{{{{{{{{z{z{zzzz{z{zz{z{zzyzzzzzzzz{{zzzzzzzzzzyzy{z{z{{zyzzyzzzz{{z{zzz{zzzy{zyz{|z{{{|z{zzzzzz{zz{z{{z{{{z{{z{z{{z{{{{zy{{zzzz{zz{{{||{{zz{zzz{{{{z|{|zz{z{zz{{{z||{{{{{z{zzz{z{{z{{{}zzzz{zzz{z{{{z||{zz{z{zz||{{|{{{{z{zzz{z{||{{||||{z{z{{zz|{{{{|{z|{z|{{{|{|||||||z{{zzzz|{||{|{{{zz||{{z{||{{|{|{{{|{{{{{{||{|||{z{z{{{z{}{{{|||{z{||{{{|}|{||||{{{{{{{{{z{||z||||{z{|{z{{{{{||{|{{{zz{z{{{{{{||{{zzz{{z{{{|{{{{{{zzzzzz{{{{{{z|z{zzzz{zz{|{{{{{zyzzzzzzz{{zz{{{zzz{zzz{z{{{zz{zzz{zyzzzz{{{|z||z{yzyyzz{{{{{{z{{z{z{{y{{{z{z|{y{{zzzzyz{zzzzy{{zyzyz{yzyzzz{{z{zzzzz{zy{{{z{{{{{z{zzzzz{z{z{{{{{y{zyz{zz|zz{{zzzzzzzzzz{{zz{zzzz{{yzzzz{{zzz{zz{{z{{{zz{zz{z{{{{yz{{z{z{z{{{|{{{{zz{{zz{{{{{{{{z{{z{{y{{{z{{{{{zz{{{y{z{|||{{{{{{zz{zz{{{{|{{{{|zzz|{z|z|{{||z{z{{zzz{z||||{||{{z{{{z|{||{}||{}|{{z{z{z|{{{|{{{|z{z{{{{{||{|{||{{{{z{{z{|{{|||{|{{{{{zz{|||{|||{{{{z{||{{{{{}{||{{z{{z{{|||{|}||{z{|{zz{{{|||{}{{{z{{{zzz{{z{{|zzz{{{{zz{{{{{|{{z{zz{{{z{|||{{{z|{z{{yz{{|{z||{y{zzzyzz{z{{zzz{z{z{z|zy{{{z{z{{{z{yzzzy|{|{{{{{z{{zyzyzz{{{{{{zzzzzzz{zz{{z{{{{{{{zzzzz|z|z{zzzyzzyyyzzzz{{{{z{{zzzzxzzz{{{{{zzzzzzyzyzz{{z{zzzz{zzz{zzz{{{{z{|zz{z{zzzzz{zz{|{{{zz{zzzzzz{|{{{zzzzyz{zzzz{z{{|{z{z{yzz{z{{{{{{zzzzzzz{zz{{{{|{z{|{z{z{{{|{{{||{{z{zy{z{{{{{|z{{z{{zz{z{{{|{||{zzz{{{z{||{z{{{|{{z{zzzz{|{{||{||{{{{{|{|{{|}{|{{{{{{z{z{||{||{{|z{{|z{z{||{||}|{z{{{z|||{{|}|||{|{{{|{z{|{|{{}{|{|{{{{{||{}{||{|{{{{zz{||{{|}{{{{{{|{z{|{{||{||z{{zz{{z|z|{{{|{|{{{z{{z{|||{|{{{{zzzz{z{{|{{{{{yzzzzyzzzzz{zz{|zzzz{zzz{{z{{{{{zzzzz{zzzzz{{{{{zzz{zzyzz{{{z{{{{zzzyyzz{{{{z{zz{zyyzy{zz{{{zz{{zzzzyz{zzy{yzzz{zzzzzzyy{zz{zz{{z{{zzyzzzz{z{{{zzzzzyzzzzz{{z{{zz{{zzyyzz{{{z{{{zzzz{y{zzzzzz{|{zzzz{zz{{zz{z{|{zzzzzz{zz|{{{{{|{zzz{z{z{|{{zz{{{{|{yyzz{{z{{{{{yzzz{zyz|{{|z|{{{{zz{z{y{{z{|z|{{zz{z|zz{{|{{z||zzz{{zz{{{{{||z{{{{{z{z{z{|{z{{|zz{z{|{|{|{}z||{{zz{{{z{{||{||{||z{{{z{{{||{||{|{{z{{z{{{{{{|||{||{|||{z{{{|{|||{z{|z{z||{{|{{{{{z{z{{z{{z{{|||}|{{{z|z{|{||{|||{{{{z{zz{{{{|{||{{{{z{z{{{|{{{|{zzzzzy{z{|{|z{||zyzzyy{yz{{zzz{{zy{zzyzz{{{z{|{{{zyyzyzzz{{z{|zz|zzzzzzzzz{{z{zz{{zzyzz{{{{{y{{{zzzz{zzzzz{zz{{{|yzzzzzzz{{z{{z{|yzzyzyz{yz|z{{{zzyyzzzyzyzzz{{zz{{zyyzzzz{z{{{{zzyzy{{y{{z{zz{zzz{zzzyzzzzzz{{{z{zzzzyzz{z{{{zzz{z{zzzyz{{|{{{zzzy{zz{z{{{z{{{zzzzzzz{zz{z{{{{{zzzyzzzz{y{zz{{zzzyz{z{zz{z{|{z{zzzz{{yzz|{{{{|{{z|{{{z{{z|{{||{{{{{zz{{{{{|{{||zz{{{zzz{|{|{{|{{{z{{yzz{{{{|{{{{z{{{z{{{{{{{{|||{{{{|{{{{{{|{|{{{|{{{{{{{{{||{{{z{{zz{z{{{|{{|||{{{{{{|{|{|{{{{{{{zz{{||{{{{{||z{|z{{{z{|z{{{{||zz{zzzz{|{{{{|{z{yzzyzy{|{z{{z{zzyzyzzy{{z{{{{{z{z{zy{{{zz{{|{{{z{{zzyz{{zz{{{|{zz{z{zz{{{{{{{zzz{yyzzz{zz|z{{|zzzyzzy{yzz{{{{z{{zzy{zzy{{y{zz{zzzyzzyz{{z{z{{{{zzzzzzzz{zzz{z{{zzzyzzzz{{z|{{{zzzzzyzzz{z{{z{{{zzy{{zzyzzzz{{{{z{yyz{zzzz{{{z|zz{{zzyz{{{|z||zzyzzzz{z{{zz{{|{zz{zzy{z{{{zyz{|{{z{zzz{z{{{{{{{z{{z{{{z{|||||{{{zz{zzzz{{{|{{|z{z{zzzz{{{{{{{|{{z{{z{z{{{||||{|{z{z{{{{{{{{{|{{zzzz|zzz{|{}{||{|{z{{z{z|{{|||||{{z{{|{||||{|||||z{z|{|z{|{}|||z|z|||{{z{{{{{{{{|z{{{z{|{|{{{|||{{|||{|{{|{{{{{|{z{z{z{{{|z{|{|{z{z{z{{z{{{{{{|z{{zzzzz{{z{{{{{zzzz{{zyzzzz{z{{{zzzzzz{z{|{zz{{z{{zzyz{yzz{{{{{{z{zzyzyzz{{z{{{{z{zxzzz{zz{{z{z|zyzyzyyzzz{z{{|zzzzzzyyz{{{yz{{{{zzzzyyzzz{z{|{{yyzyzzzzzzy{zz{z{zzzzzyzzzzz{yz{zzzzyyzyz{{{zz{zzzyyzyzy{zz{zz{zyzyyzzyzyzz{zz{{zzzzyzzzzzz{zz|{z{zzzzzyzz{zzzz{zz{yzzzzz|{z{{{{{zzzzzzz{zz{{z{{{zzzzz{zzz{{{{||{z{zzzyzz{|{{{{{zzzz{zyyz{{{z{z{zz{{z{{{{|{{{{{{z{{zz{{z{||{||{|{z|{zz{{{{{{{|{{{z{z{y{{{|{{{||{zzz{{{{z{z{{{||||||{z{z{{||||{{{{z{zz{{zz{|{{|{{|zz{{{yz{{zz|{{{zz{{|zzz{|z{{|||{{zz{{{z{{||{{|{{zzzzzzz{|{|{{{{{z{zzyzz{z{z{z{zz{zzzzyyzz{{zz{{z{zzzzzz{|y{{zz{{{{zzzzz{{{z{{{{zzzyyzzzz{z|y|{{zy{yyy{y{z{zzz{{zzzzyzzyzz{{{z{zzzzzzzy{{zz{z{z{{zzyzzyz{y{{yz{{yyy{{zzyyz{z{zzzyzzzzyyy{z{z{{{{z{zzyyyzy{z{zzz|zzzz{yzzzz{zz{{zyzzzyzzz{z{zy|{{zzz{yz{zzy{{zz{zzz{z{zzyz|{{z{|{zz{z{zz{z{z{{{{{{zzzyzzz{{{z|{{{{zzy{yzz{{z|{{{|{{zz{zyz{{|{{|{{{zz{zzzz{|{{{|{{{{{y{z{z{|z{|||{{{{{{{{{{{{||z{|{{z{z{zz||||z|||{{zzz{zz{}|{{{|{{z{z{zz|{{z||{|{|z{zz{z{{|z||||||{z{{{{z{|{z{{{z{y{{z{z{|{|{{{{||z{{{{{{{{{{{|||{{yz{{{zz|{{{{|{z{{z{{z{z{{{z|{{z{{z{zz{{{{zz{zzzzyzzzyz{{z{z{z{{{zzzzyzz{{||zz{zzzzz{zzzzz{{z{{zz{zzyzzz{{{zz{{zyzyzzyyzzy{z{{{{zzzz{{zz{|{{{{zzzzzyzz{y{z{z{|zz{yz{zz{zz{{{|{zzyzzyzzy{{{|z{{z{zzyzzzy{{zz{{|{y{|zyyzz{z|z{{{{yzyyyzzyz{{{{{{{{zzzzyzzyz{zy{{zzzz{z{zz{{z{zz{|zzzzz{zz{{{{z{{|zz{z|{{z{{{{{{||{{{z{zzzz{{{{{|{{{{zzzzzzz{z|{|{|zz{zz{z|{|z{{|{zzz{{zz{{{{z{|{|{|{z{|z{|{{{{||{{{|z{{|{||{{{|}||z{z{z{{{||{{{|{{z{{{{z{{{|{|{||{{z{{{|{{{{{{|}{{{{{{{{z{||{|{|}{z{|{z{{{{{{|{}|{{zzzzz{{{{{{{|{{{{||{z{|{{{{|{{{{{{{z{z{{|{{||{{{{zyz{zz||{{{{{zz{z{z{z{|z{{{z{{yzzzzzy{{{{||{{zzzzzzzzz|{z{{{|{zzzy{yzzzz{z{|{{zzzzz{{z{{{{{|{{z{{zzyz|z{{{{{{{z{zzz{yzzz{yz|zzz{zzzzz{{zz{{{{zzyzyzzzzyz{zz{{zzzz{zzyz{{y{{|y{{z{zzz{{{{z{{|{zzzzzzz{{{z{|{{{{yz{zyy{z{{{{{{{{{zzz{zz{{{z{{{{zzzz{{zyzz{{{{{{{zz{zyz{{|{{{z{|{z{zzz{{{{z{{{|{{{z{{y{{{{{{z{{{{{{zzzz{zzz{||{{z{z{zzzz{z{||{}{{{zz|{z{{|{{{|z{{z{z{{{{{|{{{|{|z{{{{|z{||||{{||{|{z{{{{{{|{{|||{z{{|z{z}{{||{||{{{z{{{{|{|{{|||||{{{{{{||{{|{|}|{{||zz{{{{|{{|{{z{{||{{{{{{{{|{{{|{{{z{{|{{{|||{{y{{{zz{{{z|||{|z{z{{{yz|}|z{}{{z{zzz{{|{|{{{z{zzyz{z{zz{{{{{z{zzzzzzzz{z{{{{{{{{yzyz{z{{zz{{{z{{{{zzz{z{z{{{z{{z{yzzzz{z{z{z|{{zzzzzzz{{{{z{{{{z{yzzzzzz{z{z{zzzzyyzyz{z{z{{|{{zz{yzzyz{{z{{z{zzzzzzyy{y{z{{{z{z{yyzzyz{z{zz|{zz{zzy{z{{{zz{{zz{y{z{zzz{{{z{{{z{z{{z{z{z{|{z{{zzzzzzzzzz{{{{{|{zzzzz{{{{{z{|{{zzzzzz{z{{|{{z{|zzz{{yzzz{{{|{{{{z{zzzz{{z{{{{|{{{y{|zz{|{{z{|||{{{{z{z{{{||{{|{{{z{|z{z|{{|{{|{{{z{{zz{|{{{||{{|zz{{|{{|{{{|{||{{{{zzz{|||||||{|zz|z{{{{|{|||{{{{{{{z{z{z{}{|{{z{{{|{{{z{{|{||{{{|{z{z{{{|||||{{z{z{{{{{|{{||{||{z{{|{z{|{{|{{{{{{zzzzz{{{{{{{{zzy{zyz{zz{{zz{{{yyzzzzzzz{z{zz{{{yzzzzzz{z{z{|{zz{zzzzyy{{{z{{{{yzzzzyz{{{{{{{{yyyzyzzyzzzzzz{zzzzzzyzyz{zzz{z{zyzzyzzyz{{{{z{{{zyzzyzzz{zzzz{{zzzyzyyyz{zz{{zzzzzzzyyy{{{zz{{|yyyz{zzzz{zz{{{z{zyzy{yzy|zzzz{{zzyy{zzyzz{{{z{{zzzzzyz{{{zyz{z{|zz{yzzy{{{{{{{|z{{z{zyzz{z{{{{{z{{z{y{{{{zz||{{{zzzzz{yz{|{y{|z{zz{{zzz{{|{{z{|z{|{{{z{{{|{{{|{{{z{{{z{|{{|||{{{zy{yzz{{{{{{{{{{z{{{z{{|{{{{{||z{zz{|{{z{{|{{||{{{{|{{{{{{||{}{{z|{zz|{z{{|{{|{|z{zzz{{zz{{|{{|||z{{zz{{{{{{{{{{zzzzz{z{|{|{|{z{{{zzz{zzz{{{{||z{{{{{zyzz|{zzzzzz{zyyzyz{zzz{z{{zzzzzyyy{z{{z{{zzzzzzyy{{zz{zz{{zzyyzzyz{z{{{z|{zzyy{yyz{|zz{{zyy{yzyzxz{zzzz{{zyzyzzzzyzzzy{zzyz{yyzyzzyzzz{z{z{yyzyzzz{zz{zzz{z{zzyyzzzzy{{zz{zzzyyzzz{{{y{{{zyyzyyzyzzyyzzzz{zyzyyzyz{zzy{z{zzyy{zzzz{z{z{{zzz{zyz{y{z{z{{zzzyzzzzzyzy{{{z{{{zzyzzzzz{{{zz{{{zzz{{{z{{z{z{zz{z{zy{{zzz|{y{|{zzzy{zzz{{{{z{{{{zzzz{z{z|{{{{|{{zz{z{{z{z{||{||z{z{{zy{{{|{{{|{{{{z{{{{{{{{{||{z{{z|z{{z|{{{{{{|{{zz{z{z|{||z|{{{z{z{z{|||{{|{|{z{zzzz|{{{{{|||{zzz{z{{{z{{{{{|yz{y{{yzy{{{{{{{{{{{yzzzz{|{|{|{yz{zzy{z{z{z{{zy{zyzzyyzzzzzzz{zzzyzzyyyzyzzyzz{zzyzzzy{z{{zzz{z{zzzyyzzyz{{yz{zz{yyyz{xzyzzz{{{yyzzzzzyz{{zz{{zzzzyzyyy|zzzz{{zzzzzyzzyyzzz{{zzzzzzzzzyz{zzz{zzzyzyyyyyzz{y{z{y{zyzyyzyy{z{zzz|zzzzzxzyz{{zz{z{zz{yzzzyzzzzy{{zzzzyzyzz{zz{{{{zzzzzzzzzz|{{{{zzzzzyyyzzzy{zz{{{yzzzyzz{z{z{{{zz{z{z{zzz{{{zz{zzzzzzzz{{z{{{z{|zzzyzzzzyz{|zz{{zzzzyzyyz{z{{{||{zz{zzzzz{{z|z{||zzzz{z{zz{{{{{{{{zy{zzzz{{{{{{|{{{z|z{|{{{{{{|{{|zzz{zzzz}{{z{|||z{zzz{z{{{{z{||{{{zz{zz{|{{|{{|{zzz{{zz{z{{z{z|zz{{{y{z{{||{{{{zzzzzzzz{z{zz{{{{z{zzzzzz{z||zzzzzzyzzzyzzzz{z{{y{yyzzyyz{zz{z{z{zzzyzyyzyz{{{{zzzyyzzyz{zyzzz{{zzzzyzzzz{zzyzyzzzzzyyyyzzyzyzzzzyzyyyyyzyzyyzzzzzzzzzyzzzy{z|{zyyzyyzzyzzzzzyzy{yzzyzyyzzzz{{z{zzzyyyyzzzz{zzzzyyyzyyyyzzzzzzzzyzzyzyz{zzzzy{zzzyzzzzyzzzz{zz{zz{zyzyzzz{{y{zz{yzzyzyzzzz{z{z{zz{yzyzyzy{zz{{{{yyzyzyzyz{zzz{{{zzzzzyzy{{{{{{z{zzzy{{z{z{{z{{zz{{z{zzzz{{||{|{{{zyyzz{{{{{z{{z{{zyyyzyy{{{{||zzzzyz{y{{|{{{|{||zz{zzz{{zzz{||{z{{z{y{yyz{zzz{{|zzzzz{z{zz{{z|{{{zz{zzz{{{{{{{{|z{zzyz{zz|{{|z{|z{zy{{zzz|{{z{|{{zyzyzzzz|{{zz{zzy{z{zzzz{{{z{|z{xzyzzyyzz{zz{z{zyyzzyzzz{zz{{{{zyyzzz{zzzzzzz{zzzyzyyzzzzz{zyz{z{yzyyzyyyzzzz{|yyzzyyzzyzyzy{|zzzzyzzzy{z{zzzzzzyzzyzyzzzz{{z{{yyyyzz{zz|zz{y{zzyzyyzzy{zyzzzzz{yy{y{yyy{zz{z{{zyzyyzyyyzzyz{z{zyyyzz{zy{{{z{z{zzzyz{zyz{zz{{{yzzyzzyzyzzzzz{y{z{zzyy{zzzzyz|z{yzzzxzzzz{z{{{z{{zzzzzzy{{{{|z{{zz{z{zyz{{|{{z{z|{{yyyy{{{{z{{|{{{z{{zzz{z{|{{|{{{z{z{zz{{z|{z{|{zy{zz{z{{|z{{{{|zz{zzz{z{{{{z|{z{{zyz{{z{{{|{{{{z{zzzyz{{z|{}{{{{{{zz{zz|{{{{{{{z{z{{zz{zz{|{|{|{zz{{|z{{{||{{{zz{z{z{{z|{{{{|{{{zzzzzzz{{{z{{{z{zyzzzz{zzz|{{yzyyyyzzzzz|zz{z{z{yzyzyzzzzz{z{{zzzzyzzyzzzz{{zzyzzzyzzzzz{{yy{zzzzzyy{xyz{{z{{{{y{yyyzy{zzzzzz{yzzyyzyy{{zzzzz{yyzzyzzx{zzyzzz{yyyyzzyzyz{yzzz{{yzzxyxzyyzz|z{zyyzzyyyzzz{zyz{{zyyyzyyyzyzyz|z{{zzzyzzyzzzzzzzyzy{zzzyyzy{{zz{{zzzyzzyyzzzzyzzzzzzyzyzz{z{zzz{zzz{yxzyz{{{zzz{zzzz{yzzy{zyz{{z{zy{zzzzzz{{zz{{zzyyzzzyzz{{z{z{{zz{y{{zz{{z{{{{{zzzzz{z{{{{{z{{|{zzzzzyy{{zz{{{{{zzzzz{y{{{||{|{z{{{z|zzzz{{{|{|{z{{y|zz{|{{|{{{zzz{{zzz{{{{z|{{{zy{{zz|{{{{{{{|{yz{{{{z{y{{|||{{zzyzz{z{z{{{{{|z{zzzyz{z{{{z{|z{{zzzzz{z|z{z{zzzyzzzzyyz{zzzzyzzyyyzzyyzz{zzzzzyyzzyzyz{zzz|{{{zzzzyzyzz{zzzz{zyzxyzzzxzzz{y{zzzyzzzzzyzzzzzz{y{zzz{zyyzzzzy|zz{yzyyyzzzzz{z{{{yzzzyyzxzz{zz{zzz{zyyzzyz{zyz{{{yyzyyzy{yzzzy{z{zzzyy{zyyyyzy{zzzyzzzzzzz{zz{z{zyyzzzzzy{z{zy{z{zzyz{yzzzzz{{z|{{xzzzyzz{{{{{zz{yzzz{yyz{zzzz{{{{zzzzz{zzz{|yz{{zz{yzzzz{{{zz{{zzzz{zzzz{{zz{{z{zzzzzzz{z{z||{z{zzzzzzz{zz{{{{{zzzzz{{{z{{{yz{|z{zzz{zz{{{{{{{{{|z{yy{{{{{z{z|{z{z{z{{zzz|{{{{{{zz{{zzzz{z{{{z|{zzzz{{zz{zz{{{{{{{zyzz{zz{{{{|{|zzzy{zy{z{{{{|{{|zzzzz{y{{zz|zzzzzzyzzyyz{{z{zzzzyyyzzzy{zzy{yz{zzzyyyyy{yzzz{{zyzyyyy{zzyzzz{{{yyyyyzyzzyzzzzzzyzzyyzyzz{z{|{z{yyzzyzyxzz{{{|{{zyyzyyzyzzzyzzyyy{zyyyyzzzzzy{z{yzzyyyzyzyzz{zzyzzyyyzyzzzzy{zzzyzzzxyzzzzzzzz{{zyyzyzzyyzzzzzyzzzzyzyyyz{yzz{|{zzzzz{zyzzzzy{zz{zyyzyyzyz{yzzz{z{z{yyzzzz{zz{{{zz{yzzzzzzzz{zz{{zz{zzzz{{z{{zz{zz{z{zzz{z{{{{|z{zzyzzzyz{zy{{{{{zzz{zzzzz{{{{{{y{z{z{{{{{{|z|y{zzz{yxzzz{{z{{||zzz{{zzz|{{{{{}zzzzzz{{zz{{z{{||}zy{y|zzz{|{{{|{z{{{zy{{zz{{z{{{{zz{{zz{{|z{|{||{{z{zzzz{{{{{{{zzzzzy{yzz{zz{{{{{zzzz{z{z{zzzzz{zzyzzzzzzyzzz{zzzzzx{yyyyzzzzzz{zzzzyyyzzz{zz{{{zzzzzz{z{z{{zzzzzzzzzyyyz{zz{zz{{zzyxzzx{{{z{{z{zzzzyyzzxzzz{{z{zzzzyyzyzz{zyzyzzyyyzyzz{zzz{zzzzzzyyyzzzyzyzzzzzyzzzyzzz{{z{zz{zzzyzzzyz{zzzz{|zzyy{yzzyzzyz{{y{y{yyyzyyzyzzzzzzyzyyzzyzzzy{{{z{zzyzzzzz{{{z{z{zzzyzzzyzz{z{{zzzzzzzzzzzz{z{{{{zyz{zy{z{{{|y{{{zyzyzzzy{{{|z{{z{yyzzzz{{{{z{{{{zz{{zzyzzz{{{{{{z{zzzy{{z{{|{{{{yzzzzzyzz|{{{{{|zyzz{{zz|{{{zz{{zzz{zz{z{{{{|{{z|{zzz{zzz|{}{|{{{{{{zz{zz{{{{|{|zz{y{{{{z{z{z{{|{zzz{zzzz{z{{z{{z{zzzz{zz{{zz{{{z|zzxz{zz{z{{{{zzy{zzzzzz{{zz{z|zyzyzyyyz{{z{yz{yyzzyyzzz{{zz{z{{zzyyzzzzzzz{{{{zzyyzzz{zz{{zz{{{zyyyz{yyzzzzyz|zyzzzyzyy|zzzz{zyzzyzzzzzzzzzz{zzzzyzzyzzyzyz|z{zyyzzyzy{yyz{zzzzyzyzzyz{z{zzz{zzyzzyyzyz{{y{{z{zzzzzzyyy{zzzzzzzzzzzzzyyzz{z{y{zyzzyzzzyz{{{|{{zzzzyzyz{zz{z{z{{yzzzyzzzzz{z{{{yzzzzzzzzzzzz{{|yz{zzz{zz{{{{{{{{zzzyyzzz{{zz{{zzyyzz{zz{|{{{{{{{yz{zz{{{zz|||{{z{{y{z{{{{z|{{|{{zzzy{yz|{z{z{|z{zzz{zzz{{|z|{||{z{z{{{{{{{{{|{{{zz|{zzzz|z{|{{|{{{{z{{z{||{||{{{z{{zzz{zzz{{|||{z{z{{zzz{{{{{|{z{zzz{z{{{{|{{|{{{yzzzzzz{|{{{{z{z{zzyzzzz{z{zzzzzzyzyyyz|z{z{zz{zzzyzzzz{z{zz{{yzzzzzzyy{zzz{{z{yzyyyzz{zzzyz{{z{yzyyyz{{zzz{z|yzzzyzzyz{z{z{{z{yzyzyyz{z|zz{z{zyzyzzzyyzzzzy{|zyyzzzyzzzzzzz{zzzyzz{xzzz{z{zz{yzyzzyzzz{z{z{{{zyzzzyyzz{yz{{z{zzzyyyzzz{zz{|zzzz{zzyzzzzz{{z{{zzyy{zyyz{zzy{z{{zzzzyzy{{z{{z{zyzzyyz{{{{z|{{{{zzzzzzzyz{zzz{{zzyzz{zzzzz{z{{{|{zzz{zzz{|{|z|{zzz|{zyzzz{|{|{zzz{y{zz{{{{{{{{{{z{{{{zy{z|{{{{z{|yz{z{|z||{{{{{|{{{{zz{{zz{{{{{}{z{zzz{{{|{|{{||{z{{{yzz{{z|{|{{{{{{{zz{{{{{{{||{z{zz{z{{z{{{{{|z{{y{zzyz{{|z||{{zzzzzzzzz{{z{{|z{|yzyzy{z{zzz{{yyyyzyyzyz{{zzz{zyyzyyyy|{zzz{{|zyz{yzz{{zz{zz{{{zzzzyyzzz{zzzz{{zzzz{yzzz{zyz{{zzzyzyzy{{yzzz{zzyyyyzzzyy{zz{{{yy{yyzyzz{z{zzz{yzzyzyzzzz{z{z{z{zyzzyyzzzzz{zz{zz{zzzyyz{{{zz{{{z{zzzyyzyz{z{{zzzzyzyzyzz{z{zzzzzyzy{zzzz{|{z|{zzzy{yzzzzzz{zz{zyz{zzz{{{z{y|{{yzzzzzz{{||{z{{{z{z{zz{z{{{{{{{zzzzyzzzz{{{|z||{{zy{z{{z{z{z{{|{z{{zzz{{{|{|{|}{{|{{z{{{{z{|{z|{{{{z{{zz{{{{z{{{{z{z{zz{{{|{z{{|zzz{yz{zz{{{{z||zz{{{yzz{|{}{|{{z{{|{z{{{{{{{|{zzzz{{zz{{{{|{{{|{zyz{zzzz{{{{z||{{{zzzyzyz{{{{{z{{yzz{zz{{z{|{{{zzzz{{{z{{z{z{z{zzyxzyy{y{zz{z{zzzyyyzyzyzzzz{y{{zzxzzyyzzzz{{{{zzzyyzzyzzzzz{z|zyzyzyzyyzzzy{y{{y{yzzzyzzyyz{zz{y{yyyyyzyzyzyzzzyzyzyzyzyyzzz{{yyyzyzyzzzzzzyzyzyyyyzyzzzz{{z{zzzzzzyyz{zz{zz{z{zzzyzzyyzzz|{zzyzzyyzyyyzzzy{{zyyzy{yyyzyzy{z|z{yzzzyzyzzzzyzz{yzyzzyzz{zz{z{{{zz{z{yyy{{{zz{{z{zzzzzzzz{z{z{{zzzzzyzyzzz{|{{{{zyyzzzzzz{zz{{{{{z{{zzzz{{z|z{{{{{{zzz|zzzz{z{{{zzzzzzz{{zz|{{{z{zzzz{{z{|{{{|{{z{zzz|{z{{{{{{{z{{z{{{zz{{{{{{{z{zz{zzzz{{{{z{{{{{zzzzz{{{{{z{|{z{z{{z{z{{{z{{{{{z{yzzzzz{{{{{{|zzy{zz{z{{{{{{{zyyzzyyzy{{{{z{{zzxyzyz{yzzzyy{{zz{yzyyyyz{zyz{zzz{zyzyzxzzzzz{{zzzzyzyzyzzz{zzy||{zyyzyyzzzzyzyzyyyyzzyzzzyzz{zzzyzyzyyyzz{yy{{zzyzyyyzzyyyzz{zzyyyzzyyzyzzz{zz{zzyyyyzyy{zzzzzzzy{yyzxyy{{z{{zzzzzzyzzyzzz{zzzyyyyyzyzyxzzzyy{zzzzyzyzzzyyz{z|zzyyyzzyyz|zz{zzz{zzzzzzyzyz{{z{zzyzzyy{x{{{z{{{{{yzz{yzzzzz{z|z{{zzzzzzzz{{z{{{z{yyzzzzz{zz{{z{{zzzzzzzzz|{{z|{{{{yzz{{z{{z{{|{{{{yzzzy{z{{{z|{zzzzz{zz{z{{|{{|z{{{zz{z{z{{|{{{{z{{zzzzzz|{|z||{{zzzzzzz{{z{z|{{{{zzyzzzz{{z{{{|zzzz{z{z{z|||{{{{zzzyzzzzz{zy{|{zzz{z{{{{zz{zz{|zyzzyyzyz{zz{{zzzzz{zyzzy{{{y{{{zzzzzyzyzzz{zzy{zzyyzzzzz{zzz{z{{{zzyzzyzzzzzzz{zz{yyzyzzy{{zz{zzz{zzyzyz{z{zz{yzyyzzyyyz{{zz{zzzzz{zyxy{yzzz{yzzzyzzzzzzzzz{zzzzyzyyyyyzyzz{zzzzzzzyyyzzzz{{{{{zzzzzzzyzzzy{z{zzyyyzzzzz{{zz{{zzz{zzzyzzz{zzz{{{zzzyzzyzz{zzzz{zz{zzy{zyz{z{{{{zzzz{{zzz{{{z{{|zyzzzyzzz{z{{|{{{z{zzzzz{|{{{{{z{z{zz{zz{{|{z{{z{{{zzzzz{z{z{{|{{zzzz{zz{{{z|{{|zzz{{zzz{|{{{{|{{z{{{z{z{{{z{{{{{z{z{{{{{{{{z||||{{z{{zzz{{{{|{||zz{zz{{{{{{|z|||zzzzzz{{{{{{|||{zz{{{z{z{{{{{z|{{{zzzz{{zz{z||{{{zyzzzzz|{|zz{{z{z{zyzzz{z{z{zzzzyyzyyzyzz{z{{z{yyxzzzzzyy{z{{zzzyyzz{xzzzz{zz{{zyzzzzyzz{zzzz{zyzyzzyy{{zzzz{{yzzzzzzyz{zzz{zzyzzzyyyzzz{zzzz{zzyyyyzzzzyzzz{zyxzyzyyzzz{zzzzzzyyzxzyzy{{zzzzzyzzzzyyzz{{{{zz{{yzyzyzzyzz{{{{yzyyy{zzyz{yzzzz{zz{{zyzzz{{{z{{zz{zzyyzzz{zzz{zzzyzzyzyzzy{z{|{{zzz{yzz{zzzzz{{z{y{zzzyzz{{{z{z{{zyz{zzz|{z{zz|{zzzy{zz{{{z{z{{z{|{z{zz{{{{|{{{|zzzzzz{z|{{|z|{|zzz{{zy{{{||{{|{zzzzzzz{{{z{z{{z{z{{z{{{{{{z{{|{{zzzz{z{||{|{{||{zz{{zyz{{{|z||{{{{{z{z{{|{z{{||{{zz{zzzz{z{{{||{{zy{zzz{{{{{z{zzzzyzzzzzz{{zz|{zz{zzzzyyz{z{zzzyyyyzyyyyzzyzzzzzzxyzzzzzyzzzzzzzyyyyyzzzzzz{{{{zyyyyyy{zyyzzzz{{yzzyzyzzzzzzzzyzyzzyzyxzzzzz{zzzzyyzyxzzz{yzzzzzyzyzyyzyyzzzzzzyzyyyyzxzzz{yzzzzyzzyxyzzz{z{{{zzzzzzzzyzzzzzzz{zzzzyzyyzz{yyzzzzyzyzyyyyzzzzz{|yyzzzzz{zz{zzzz{zzzyzzyyzzzzz{z|yzzzyyzyzzzzz{zzz{zzyzzyz{z{{z{{zyz{zyyzzzz{{zzzyzzzyzxy{z{{zz{{{zxzzzzz{{{{{z{{zz{z{zzz{zy{|{{{zzzzzzzz{{z|zz{{z{yz{zzz{{{{{z|zzz{z{zz{{|{{{z{|zzzyz{{zz{{|{|{{|zyy{z{{z{|||{{{|z{{{z{z{|{z{{{{{{zyzzy{zz{{{|{{{{{z{zzz{{y{{{||zzzz{zyzz{{z{{{|zz{zzzyzzz{{zz{zzyzyyzzzzz{zzzzzyyzzzzzyzzzzzzyzzzzyyy{yzzzz{{z{zyyyzzyy{yzzzzz{z{z{zyzzzz{{yzzzzzzyyyzzyzzzzzz{{yyy{yyzzzzyy{zzzz{zzyyzzzzzyz{{{yyyyyzzzzzzz{{{zyyxzyzy{zyzzz{zzyyzyzyzzz{zzzz{zzzyyyzzzzyz{z{{zzzyyzzyyyzzz{zz{yyzyyyzyzz{zzz{zyzzzz{yzzz{zz|{{zz{zzyy{z{zz{{{zy{zzyzz{zzzzz{{yzzyzyyyzz{|{{{{zzzy{yzzz{zz{z{{yz{zyzyzzz{{{z|{zzzz{yyz|{{{z{{{zzz{zzzzz{|{{z{{zz{zzz{{{zz{z{||zz{{zzzz{{{z|{|{{{zz{zzz{||{z{{{{zzyz{{zz|z{{{z{|zzzyzy{z{{|{{z{|z{z{{z{|z||{z{{zz{zzzzz{{{{|z{z{z{{{{{{z{y{|{{|z{{zzzzyz{{zz{|{{yzzzzzz{{{{zz{{zz{z{zzz{{{zz{zz{zzyyyzzzz{zyz{|zyzyzyyzzzz{{z{zyzzyzzzzzzz|{{{{zyyyzzyzzzzzzz{zzzzyzzyyzzyzzzzzzyyyzzzzz{z{zzzyyzyyzyyz{zzzz{{{zyzy{zxzzyyzzzz|zzzxzzzzzzzzzz|yzzyyxyz{zzzz{{{zz{{yyyyzz{zz{zz{{yyyzyzzz{zyy{z|zzzzzyyzz{zzz{z{yz{zzzzy{zzzzz{z{yzzzyz{zzzzz{{{zzzzzy{z{{|z{z{{zzzyzyy{z{z{zz{{{zzzzz{yy{{zz{z{z{z{zzyzz{{zz{{zzzzzz{zz{||zz|zzz{zzzzz{{|z{{{{{zz{zz{{z|{z{{{{{{{{{{{zzz||{{{{{zzzzz{y{z|{{{||{z{zz{{|{{{{{||||{z{zzz{{{|{{{{{{{z{{z{z{{{z||{{{{{zzzz{zz{z|{|||{zzz{|z{{{{|zz{{z{yzzyyzz{z{{{{{{y{zzzyy{zz{z{{{zzzzzzzz{{{{{zzzzzzzyzzyyzzz{z{zyzzyzyyyyzyzz{{{{zzy{yzzzzyyz|zzzzyzyyyyyz{|zz{{zzyxxy{yzyy{zzy{zzyzzzzyzzyyy{{z{yyyyyyz{zzxzzzzzyzzzzyxzyzyzzzzzyzyzzyzzzzzzz{zzyyzyzzzz{z{{{z{zzzyyzxyy|zz{zz{zzyyzyzxz{{zz{{zzzyzzyzxzzzzyzzzzzzzyzyy{z{z{{{{zzyyzyzzzzz{zz{{{zzy{yzzzzzzz{{{zyzyzzyzy{zz{z{{zzzzzyzyzz{|zyz{zy{zy{zyyy{z|{z{{zzzzzzyz{{z{{zz{z{z{{zz{{{z|{z{z{zz{zzz|{{{{{{|z{zzz{zzz{{|{|{{zz{{zzyzz|z{z{{{|z{zy{{{z{z{{{{{{zyzz{zzz|{{|{||{z{{zzyzz{{|{z{{{zzz{z{{z{zz|{{|zz{z{z{{zz{{{||{zzzzzyzzz{zz{{{{z{zzz{zz{|z{{z{zzzzzyzzzzz|zz{{zzzyyzy{zyzz{{{zzzzzzzyyzzzzzz{|zzyzzzzyyzy{zz{{zzzzy{zyz{{{zzy{{{zzyzzzyzz{zzzz{zyzyzyyzz{yzzz{zyz{xzzzzzz{zz{y{zzzzzzxzzyzzyzz{zzzzzyzzzyzz{z{zyzzyxzyzz{{{z{{zzzzzzzzzyz{{{{{{zyz{yzzy{zz{zz{{zzzzzyzzx{zzz{{{yzzzzyzz{zzz{z{{yyyzyzzzz{{z{z{zyzzzzzzyz{{{z|{zyzzzzzz{{zzz{{z{zzzz{yyzz{z{{{{{{zzyzz{zz{{{zz{{z{z{{yzz{{{{{{{{zz{z{{z{||||{{{|zzzz{{{|{{{{{{|{{{z{{zzy{|{{|{|{{{z{{{{{{{z{z|{|z{{{z{{z|{z{||{|{{{zz{{z{|{{{z|{|z{zzy{{|{{|{z|z{z{z{zz{{yz|{{{{{{zz|{zz{{{|{{||{{zzzzzz{{{{{|{|{z{yzzzz{z{{z{{{{zzzzzzyzz{|zzzzzzyyzzyyz{{{zyz{zyzyzyyy{zz{zz{{z{zyzzzz{zyz{{zzzyyyyyyyzz{zzz{{zzzyyzzy{zzzzzz|zz{zyzzxy{yy{zz{yyzyyzzzzz{zz{zyyyyyzyyy{yzzxz{yyyzzyzzyzyzzy{zzzzyzyzyzzz{z{{z{zzzzzzyyzzy{yz{zyzzzyyzyz{z{z{zzzzyyyyyyzzzzzzz{yzyzyyzyyzzz{z{{yzzzyxzyz{z{zzzz{zzyzy{zzzzz{z{zyyzzzzzyz{{{{z{{zzzyzzzyz{zzz{{zzzzyyz{{zzzzzz{zzyy{zyz{zz{zz{z{{{yz{zzz{{zz{{{zzzzz{z{zz{{{z{{{{{{z{zzyz}{z{z{zzzzz{zzz|{z{|{{{{zzz{{|{z|{{|{{z|z{z{{zzz{{|{|{{{z{zzzzz|{z{{{{|{zzzyzz{{|z{{{|{{{zz{zzz|{{{|{{{zzzzzzz{{z{{z{{{{{zy{zyz{{{{{z{zzz{zyyzzzz{z{{{zzzyzyyyyz{{zzzz{zyyyzyyyz{zzzzz{zzz{zzzzzzy{zz{{zyyzzzyzzz{zzz{zyzyzzzyy{yyzzzzzzzzyy{zyyyz{z{{{{yzyyyxyyz{{{zzzxyyyzxyyzzzzyz{zyyzyyzzzzzz{zz{z{zyzzyxyzz{{{zz{{{zzyzzyzzx{zzz{zzzzyyzyyzzzzzz|xzzzzyzzy{y{{zz{zyzzy{yxy{zz{z{zzzyzyyzzy{{{{zzz{zyz{zyzzz{|y{{zxzzyy{zz{{{zzy{{{z{yzy{{zz{{{z{zzzzzzyzzz{{zz{|{zz{zzzzz{zzzz{{z{zzz{{zz{{{|{|{|z{zzzzz{zz{z{{{|zz{{zzzy{{z{z{{{{{zz{zzyz{{z{{{{{{{{y{{|{{{|{{z|{z{zzzz{z|{{{{{{|z{{zz{{{{z|{{{{|zzzzyz{{{{|{{{{{zzzzzzz{zz|{{{{|zzyyzyzzz{{{z{{{z{zzzzzzz{zz{{{{{zzzyzzzz{{{|{zyyz{{yzzz{{z{{{zzzzzzyyy{zzzz{z{{zzyyzzz|zz{{z{zzzzyyzzzz{z{zz{{zyzyyzyz{zyzy{z{zzzzzyyzy{zz{{{zzyzyzzzz{zzyzz{zzy{zzyyzy{zzzz{zyzzyzzyzz{z{{{{zyzzzzz{zzz{{yz{zyzzzyzyyz{{{zz{zzyz{zyzyzzzz{{{{zzzzzyyzzzzz{|zzzzzzz{{zzzz{{z{{{zy{zzz{{|{z{zz{{{{{yz{z{{zzz{{|zz{{z{zy{{z{z{{z{yzzzzyyzz{{{{{{{zzzz{{z{{|{zz{{z{{zzyzz{{|{z{{|{zz{zz{z{{{{{|{{zz{{zzzz||z{z||||{zzz{zy|{{{{{{z{{{z{z{z{{{{|{z{{zzz{{z{{z{{||{{|zz{{zy{{||{{{||{{{z{{|z|{z{{{z{z{z{{z{{{{{{||{{{z{{|zz{{{{zz|||{{zz{zz{|{zz|{|z{zzzz{{{|zy{{{{{zz{zz{z{{zz{{zz{zyzzyzyxy{zzz{zzz{zzzyzyzzzzzz{{zzyyyzzyyzzyzz{zzzzyxyyyzzz{yzz{yyyyyyyyyzy{yzz{zyzyyyzyyzzyyzz{zzyzzyyzzz{zzz{{zyyyyyyzzzxzzzzzyzyyyz{zyzzyzz{zyyyzyzyzzzyz{z{yzzzzzzzyzyz{zzz{zyz{yyzyyz|zy{yz{yyzzzyzyzyyz{z{zzyyyzzy{z{zzz{{zzzzzzzyz|{zzz{{zzzzzyzzzzz{{z{zzyyyzzzzyzz{z{zzzzzy{yzz{{{{{{z{zz{yzzzzz|{zzz{{zzz{{zzz{{{z{z{zzzyy{z{yz{{{{{||zzzz{zzy{{{{{{{{{zyyzzzzz{|{{|{{{zzy{z{z{|{z{||{zzz{z{zz{{zz{{{{{{yzzzyzzz{{zz{|zz{zz{{y{{{{{|{{zzy{{z{{zz|z{|{|{{zzzzz{zz{{{|{{zzzzzzzzz{zz{{|z{z{zyzyzz{{z{{{{zzzyyyzy{{z{{zzzzzzzyzyyzzzyzzzzzzyyyyzyzzzz{zzzzyzzzzzzyzzyz{{yzzyzyyzyyz{zzy{{zzzzyzzy{{zzyzzzyyzzyyyyzzzyy{zzzzzyzzyyzz{zzyz{zzyyyzyyzyzzzz{zzzyyzzyzyzzzzz{yzzzyyyyyzzzzzz|yzyzyyyyyzz|{z{{|zyyzyyzzzzzzz{zzzzzzz{yzy{z{{{z{yzzzzyyyzyz{yz{zzzzz{zyz{{{z{{z{zyzyzyzyzzzzy{{{{zzzyzyz{z{zyz{z{z{z{yzzz{{{z{z{{y{zzyzz{{{{z{zzzzyz{zyy{{{{z{{zzzzz{zz{zy{{{{{{y{{z{{z{|{zz{{{{z{zz{zyyz{{{|{zz{zzzz{{z{||zz{{{{z{{yz{z{{zz{{|{{y{zz{{z{|z{|{{|zzz{{zz{z|{{{{{{yzzz{z{z{{{{{z{{{{{{{z{{z|{{{{|{{y{zz{y{{{z{{{{{{{z{zyzzz{{{z{{zzzzzzzyz{{{z{zy{zzy{zyzzzzzz{yz{zzzzyzzyz{{{{{{{zzyzzzzyzzzz{{z{zyyzzyzzz{z{zzyzzzzzzzzzzzzzzzy{zz{zzyzyz{zzz{zyzzzzyyyy{z{z{{zzzzy{yzyzyzz{zzz{yyzyyzyyzzz{{z{yzyzzyzyzzz{z{z{zzyzyyyyyzzzz{z{yyzzzzyxzyzyyz{{zyyzzzyzzzyzzy{zzzzzzzzzzzy{z{z{zzz{{zzyzzzz{z|{zzzy{zyzzzz|{zz{zzzzzzzzzzz{zzzzz{z{zzzzzyz{{{{zz{z{zzzzy{{{zzz{{{{z{zyzz{{{zz{{{|zzzzzz{{||{{{{{{zzzz{z{{{{{|{{{zyzzzzyyz{z{{{{{{yz{zzzz|||{{|||zz{zzzzz{z{z{z|{{yzzzz{z{{{{|z{{zz{{zz{{z|z{|{||{yz{zzz{{zzz{|{{{zzzyzzz|zz{zz{{{zyzzz{z{z{{{{{{zzzzzzzzz{y{{{z{{z{z{{yzz{z{{zzyzzzyzzyyzzzzzz{zy{yyyzz{{{{zzyzzyzzzyzzzyz{z{{zzzzzzyyyyyzz{y{z{zzyxxxyyzz{zz{zzzyyyzyzzyy{yzzzyyzyyzxyyzz{z{{zzzzyyyyyzzyzzy{zzzyzzzyyyzzzyyz{zzzyyyyzz{z{zz{zzzzzzy{zyzzzyz{{{yyyyyyxyyz{zz{z{zz{zzyyyyzyzzzzzyyyyzyyy{zzy{y{z{zyy{yzyz{zzzz{{zzzzzyzyzzz{z{y{zzzyyyzyy{{zz{{zzzy{zyyyyzzz{{{{zyzzyzzy{zzz{z{zzzz{zyzzz{zz{{z|{z{yzyzzy{|{{zzz{{{zzy{z{z{{{|{{{z{yyyzzz{zz|{z|{zzzzzzzz{{{z{{|{zzzzyzz{{{z{{|{z{zzy{{zz|{|{{{{{zz{zzz|{{{|{{|z{yzzz{{{{z{|{{z{{zzzz{{z{zz{z{z{zzzzzzyzz|{zz|{{{zyzzzzzz{{{{z{zzzzzzzyy{zzzzyy{zzyzyyzyz{{{{{zzzzzyzzyyzyz{z{{{{yzzyzzz{z{z{zzzzzzzzzzz{zzz{z{zzzyyzzzy{z{zzz{zzzzzzzzyyz{{{{{zyy{zzyzyzzzz|zzzyzyzzzyzz{z{yy|{zzzy{xyyzzzzzzzzzyzzyyyzy{zz{z{zzyzyxyzzzzzzzz{{zzzyzyyyzyzzzy{zzzzyzzzyyzz{z{z{zyzyzzzy{{zzzzy{yzzzyyyyzzz{y{{|zy{yzy{z{z{{zzz{zzzyzzzz{{{z{zzz{zzz{z{zz{{{{{z{yzzy{zzzzz{zz{{{zzzzzz{z{zzzz{z{zzz{zz{{z{{{{|{|yz{yy{z{{{{{z|{{zz{zzyzzz{{z{{{z{yzz{zz{{{{{{{{||z{{z{{{{{{{{z{{{zyyz{zz{|z|{|||{z{{{z{z{{z{{{{{{zz{zz{z{zzz||{|{{{z{zzz{{{{{{{|z{{zzzyyzz{z|z{{z{zzzzyzz{z{{{zzyy{y{yzz{{z{zzz{zzyzzzzyz{{{zzzzzxyzzzxyz{zzz{{zzzzzzyxy{zzzzz{{{zyyzzzzyyzzzz{{{yzyyyzyzyzzz{zzyz{yyzyz{z{zzz{zzzzzzyyyyy{yzzzyyyzzyzyyzzzzyzz{yyzyyxyyzzyyz{{zyyyzzyzzyz{z{{zzyzzyyyyyzzyz{zz{{zzzyyzyyxyzzz{zyzyxyzyyzzzzz{zzzzzzz{xzzzzzz{zyz{zyzzzzzz{zy{{zzyzzzzzzzzz{{z{zyyyyyzzzzzz{{{{{z{zzzyzzz{z|z||yzzzzzyyzz{zz{{{{z{zzzzzz{{{zz{{zyyzz{zzz{z{{{||{z{zzzzzy{{{z{{{|zz{|{zyzzz{{{{z{{z{{zz{z{z{z{z|{yzzzzz{{{zzz{{{{|z{{zzzyz{z{|{|z{{z{{zz{{z{{{|{{zy{zzzz{{|z{{{|{z{zzzzz{zzz{{{{|zz{{zzzzyz{|{{{{zzzzzzzzz{{{yz{zyz{zzyyz{z|zyzzyzzzyyy{yyy{{zyz{zzzyzyzyzzzz{{zzzyyyyzzyzzzz{{{zzz{yzyyyzz{zzz{{zzzxyyyyzz{zz{z{zyyyyzzyzy{{z{{yzyzxzyzyzyzzyz|{zyyzzyyzzzz{{zyzyy{yyyyyzyzzzz{{yyzzyzyyzzzyzz{{zzzzyzyyy{z{zz|zzzzzyyyzzzzzzzyyzxzxzyzxz{z{yzzzyzzyzzyzyy{zzzz{zyyzzy{zzzzzy{{zyyyzzyzyzyzzzz{{yzzzzz{yzz{z{{{z{zzzyyzy{{{zz|{{z{z{zzzzz{zz{{{{zzy{zzzz{zzz{|z{zzyzzzzz{z{z{|{{y{zzzzz{z{{|z{zzz{zzzzyz{{{|zz{{{yzz{zzzz{z{z{{{zyzzz{zz|z{{{{{{|z{{zzzzz{{z{{{|{zzzzzzzz|{|z{{{{{zyz{z{z{z{{{{|{{zz{z{z|{{{{{|{{zyy{z{zz{{|{{{zzzzyzyzz{{z|z{zzzzzz{yzzyzzzzzzzzzyyyyzzzy{zz{{{{zzzyzyyzzz{{{{|{yzzyyyyzyzz{{{z{z{{yyzyy{{zyz{zzzzyyzyyyz{zz{z{zyzzzzyyy{zzz{zyzzyz{zzzzz{zy{zzzyyzyzzy{zzzzzzzzyzyyyyzy{y|zz{zzxx{zzyyz{zzz{z{zzzyzxyx{z{zzz{{zzzyzy{zzzz{zzzz{zyyz{yyzzzyz{|zzyyyzz{y{zzz{{zzzzyyzzzzz{zz{{y|zzyzzyzzz{z{z{z{zzyzzyyzzz{{z{|{yyzyzyyz{z{{z{z{zyzzzzz{{{{{{{zzzzz{zyzzy{{{{{zz{{{y{zzz{z|z{||{zzzzzzyz{|{{|{{{z{zz{z{{{{{z{{|{{z{{{z{{z{{||{z{{y{z{{{z|z{z{z{{zzy{y|zz{{{{{{{|{y{{z{zz{{{{{{|{zzz|{zz{z{{{{{{z{zzz{{zy{{}|||{zy{zy{zzzy{||{{||z{{zzz{z{z{z{z{{{yzzyyzy{y{zz{z{yz{yzzzzyz{{yy{{zyzzzyzy{{z{zz{zzzyyzzyyz{z{{{{zzyzyzyyyz{y{{{|zz{zzxzyyzz{{zzzyzzyyyyzyzzzzyz{zzyzzzyzyzzzyzz{zzzxyyyzxzyz{yzz|zyyzyyzzz{yyzzzzzyyzzzyyyyzzzz{{yzzzyzyyyz{{{{zzzyzyyzyyzzzyz{zz{zz{yyyzyzzzzz{{zyyyyzyz{z{y{z{zzyyzyy{z{z{z{zz{yzzyzzzzzz{z{zz{z{zzzzzyzzzzzz{zyzyz{zzyz{zz{zzzzyzzyyzzz{zzzz{{z{{{zyyz|{{zz{{|yzzz{zzz{|z{{{{zyz{zy{{z{z{{z{|{{zzzzzyzz{|{z{{{{z{zzy{z|{z{{{||yz{zzz{zz{zz{{{{{{zzzzzzz{{{|{{{{z{{zzzzz|||{{{z{zzzzzzzz{{{|{||z{yzzz{z{|z{{|{|zz{yzzzzz{{{z{|{{zzzzzzzz{z{{{{zz{{zzyyy{zzz|{zzyyyzzyzyz{zyzz{zyzzxzyzz{{{zz{z{{zyyzzzzzzzy{{z{zyyyyyyyyz{yzzzzzzy{yyzyzzzzzz{{zyzzyzzyyzzyzzzyyyzyz{zzzz{zzzz{zyzzzyyyyzyzzzzzyxxzyzyxyzz{{zzyzzyzyyxzzzzzyzzzyyzyyyzzyz{zz{z{yyzyzyyyyzzzzzz{z{yyzzyzyz{yzz{{zyyxyz{zzzzz{z{{zyzz{yy{y{yz{zz{yyzyzzzyzzy{z{{{zyyzyzyz{{zzz{{{zz{zzzzyzzz{zzy{yxzzzzzz{{|{{{|zzzz{y{zz{{{yz{z{{zzz{zzzz|||z{{zz{zzzz{z{{{{{|{{zyzz{zzz|{{{|{{|{zzz{zzz{|z{|{|{zz{zy{{z{{z{{{z{{yz{z{{zz{{z{z|{|z{{{{zzzz|z{{|z{zz{zzzz{{{zz{{{{z{{z{zz{|zz{||{z{zyzyzyz{{{z{{{zzzzzz{z{z{{zzz{zy{zzzzzzz{{{zzzyyyyyyzzz{zyzyy{zyzyyyyyzzzzz{{{{zzyyzzy{yz{zz{{zyzyzyyyzzzzz{|{yyyzzzzzyz{{y{z{zyyzzzzyzz{yzzzzzzzzyzzy{z{yz{{yzyyxzyzzyzzzzzzzyyyzzyzyzyz{zz{yzzxyzzxyzyzzzzzzzzzzyz{zyyyzzzz{zyyzyzzyyzzzzzzzyzyyzyyyyzyzzzzzzzzzz{zy{zy{{{z{{yzzyzzzz{zzzzzzzzzyzyzz{{zzy{{{yzzzyz{yz{{zz{z{zyzzzyz{y|z{z{z{{zzyyzzz{{{z{{{{zzyzzyyy{{{yzzz{{zzzz{z{z{||z|{{z{{z{y{{z{z}z{{|zzz{zyyyz{{zy{{|{zyzyzy{{{{z|{|{{z{zzz{zzzz{{{||zy{z{{zz{|{{{{{|{z{{zzzz{{z{{{{{{{zzyzzz|zzz{z|{|zzzzzzz{z||z{{||z{zyz{{z{z{zz||{{{{zz{y{{z{z{{zzzyzzz{yzzzzzz{{yzzyzyzyzzzzy{zzzyzz{yyyzyzz{{{zzzyxyyyyzyzz{{{{zzzzzyzyz{{{yy{{zyzyyyyyzzz{y{z{zzzyyyyyzy{zzz{yzyyzxyzzz{yyzzzzz{zyxzzyzyzz{{zzyyyyyyyyyzzzz{{zyzyyyyyyzzzzzz{{z{zyyzzxyzzz{z{{zy{zyyzyyyzzzzyzz{yyzyzyyzz{z{zzzy{zyzyzzy{zzy{{zzyyzxyyzzzzy{zz{yyzzxyyzzzzzzz{z{zzyzzzy{zzzzzzzzzyyzzyy{zzzz{{zyzzzzzy{zz{{z{zzyzzzzzz{{|{{z|{{zzzy{yzzzz{{|{|zz{zzzzz{zzz{{{{zzyzyyzy|zzzz{{{{z{zzzzz{|{z{|{|zzz{{{z{z{{{{{|{zz{{z{zyz|z|{{{{z{{zzzy{{{{{{{zzzz{zzzz{{{z{{{{{zzzzzy{|{|{z{{{{yzzzzzyzzyz{|{{|{zzzyyz{y{{z{{|{z{{zyzyzz{zzzzyzzzxyyzyyzzzyyzzyyzyyyyyyzzyzzz{{zyzyyzyyzyyzzzz{yzzyzyyyzzz{y{{zzyzzxyyyyyzzzyzzxyyxyy{zzzzy{{yzzzxyxzyyyyzxyzzyyyyyyyyzzyzzyzyyyyxzyyxyyy{zyyz{zzyzzyxyyz{z{{zzzyzxxzyyyz{{zzzyyyyyyyyyyyzzyzzzyzyyyzyyy{zyzzzz{yxyyzyyzz{z{yzzzzyz{zzyz{{{zzz{yyzzyyyy{yzzzzy{zz{zxyyzzzz{{zzz{zy{yyzzy{z{zzzzzzzyzyyyzzzzzz{yzyzzzyzzz{zzzzz{zzzzzyzzz{z|z{{zyzzzz{{z{{y{{{{zzyzzyzyzz{{zzzzzzzy{{zz{|{{z{z{{zzzzzzz{{zz{{{z{{zzz{{{zz|{{{{{{zzzzzzzz{{y{{{{{zyzzyyzzzzz{z{|{{zyzyzzzz{zzz|{{z{zzyyy{z{y{y{zz{zzzz{yzyzz{{zzzzzyzyyzyzzzzzz{yzyy{zzyyz{{zyzz{zzyzyxzz{{z{z{yz{yyyyzyzyzz{z{{z{yzzzzyyzz{{yz{zz{zyyxyx{zzzzz{zyzzzyyzyz{zzzz{yzyyxzzyxyzzzyzzzyzyzyyzzyyzyyz{zyyyyyzyyzzzyz{{{zyyyzxyzz{{{|zzzzyzzyzzzzzzyyz||yzyzzyyyyyzzy{zzzyyyzzzyyzzzzzzzy{zyyzyzy{zzzzz{yyyyyyzyy{zzzz|zyzzyyyzzzy{zzz{|{yyyzzz{zzzzzyzzzzzzyyzzy{{zzz{z{zz{zyyzz{zz{{zzzzzyzzy{z{zz{zzzzzzz{zzzz|{|z{{zz{{yz{{zzz{{z{|{zz{zyzyzz{{{z{z{zz{{zzzz{|{{{{{|{z{yyzz{{z{|{{yz{zzzzzyzz||{{{|{{{yzzzz|z{{{z{z{{zyyz{z{z{{{{{{{z{y{{zzz{{{{z{{{{{{zyz{z{zzzy{{{z{z{{zzz{|z{zz{z{yyyy{zy{zzz{zzyyyyzzzzyz{{z{{z{zzzzyyyyzzzz{zz{{zyzzzzyzzzy{z{{zyzyzzyzz{{zzy{{yzyxyzzyzzzzzzzzzyzzzyzyzzyzz{{z{z{zyyyy{z{z{zzyyzzyyzyzzz{zzz{yzzyyyxzyz{z{{zzzzyzzzyyyzzzz|zzyzzzyyyyz{z{zzy{{zyyyzyyyz{z{zzzzzyzyyzzyzzyzyzz{{yzyzyzyzzz{yz{{zzyzyyyy{zzz{zzzzzzyyyzy{z{z{{z{zzzzyyzy{zz{{{zzyz{zzyzy{z{zz|z{{yzzz{zzz{{{{{{{zzyzzyzz{zzz{|z{{zz{{zzy{{z{{{||yzz{z{zz{{z{{{{|zzzzzyy{z{{{|z{{{yzz{zzz{{{zz{{{zzzzzz{zzz{{{{z{{zzzzz{z{|{{{{{{{z{{{z{z{{z{{y{z{zz{zzz{{{{zz{||z{{{{{zz{z{{{|||z{yz{zz{{zz{{{|zzzz{zyzzz{zz{{|{zy{zzyzzzz{{z{zzyzyyyyyxyz{zyz{z{yxzyyyxz{zz{{z{zzyyyyzzzzzzzz{zyyzzyyzzzzz{{zz{zyzxyxyyz{zzyzzzyzyzyzzzz{zzx{{zzzyyyzzyzzzzyz{zzyzyyyyyy{zzyzzzyyyyzyyyyzzzyz{zzyyxyyyyz{zyzzzzzzyzzyyxz{zyz{{{zzyyzxzyyzyyzz{{yyzyyyzyyzzz{z{zyzyyyzzzyzzzyzzzzzyyzzzyzzz{{{{zzzzyzyyyzz{zzzz{yz{zyyzyzzz{z{{{{zzxyzzyz{zzz{zz{{zzyzzzz{{zz{{z{zzzzzzzz{{{zyzzzzzyzyzy{z{{{{z{zzz{z{{y{yz{|{z{z{zzzzzy{{z|z{z{{yyz{zzzz{{zz{{z{zzyzz{{{{z{z{{{{yy{zyzzy{z{{{{|{z{{zyzy{{z{{{{{{zzzzz{z{z{z{|{|{zzz{yzz{z{{||{|zzzy{zzzzz{z{z{{{{{{zzzzz{z{{y{|zz{xzzzzz{zz{zzyzzzyxyxyyzzzzz{{zzyyzyxzzz{{zzz{zyyyzyyz{zz{z{{{zzyyzzyzyz{yz{{z{yyyyyyyz{{{z{y{zyyyyy{yxzzzz{zzyzzyzxyyzzzzy{{zzyyxyzyzzyzzzz{zyyzzxyzy{yz{zzz{yyxyyyyy{{z{{zzzzyzyyzyzzzzzz{{z{zzzyyzyy{{z{zzzyyyyzzyzyz{zzzzz{zzy{zzzyz{z{z{yzyyzzyzyzz{zzzzzzz{yzyyz{{y{zz{|yyzzyz{yzz{z{{{zzzz|zzyzz{zzz{{z{zzzzzzzzzzyz{{{zy{zzz{zzzzzzz{{z{{z{zzyz{z{{{{{zzzzzz{z{{z{{{{{{yy{zzyzz{{z{{{zzzzy{z{z|||z{{||{zzzzz{z{z{{{{{zzy{y{zzyy{{{{|{{zz{{yz{{{{{{{{z|{zzy{zzyzz{{{|{{{z{z{{zzz{{{|{|{zzzzzzzz{zz{{z|{zzz{{zzy{{z{{zz{zyz{yzyyz{zzz{yyzyzxy{yyyz{zzz|{zyyyy{zyyzz{z{zzyzyyzyyzzzzzy{zzyzzyzyzyz{zzzz{zzyyzyyzzzyz{z{z{yyzzzzzyzzy|yz{{yyyzzyyyzzyzyzyzyyzzzyyyzzzzzzzyyzzyyzyzzzzy{zzzzzzzyzzxzzzy{zz{xzzyyzyxyzzyyzzzzyzyzyzxyzyzzz{zzyzyyyyyy{zzz{z{yzyyyzyyz{z{zzz|zyzyzzyyyyzyzzzzzyzyyxz{{z{zzz{{yzzyyzyyz{{z{{{z{zyzzyyyzzz{{{zzzyzyzzyy{{|{{{y{zzzzzyz{|{zz{zz{z{z{zzyzz{z{zzy|z{zyzz{{{{z{z{{}{zz{zzzz{{{z{{{z{yzzzzzz{{{z{{|{{z{zzz{zz{{z{{{{|zz{zzzz{||{{{||zzz{zzz{{z{{{|{{zyz{zz{z{{z{{{{{zzzzzzz{{{{{z{z{zzzzzz{yz{{{zz|{{zyyyzzy{{z|{z{z{{{zyzzyzz{zz{z{yzzyzyyyz{{zz{z{zzyzyzyzyzzzzzz{{yzyzyyyy{{zy{zzy{yzyyyyzz{|zzz{zzzyxyzy{zzzzzz{zyy{yyxy{z{zyzzz{zzy{zyzzy{y{{zzzyzzyyyy{zzz{zz{zzyzyyzyyzyzzz{zzyyyyzyyyzzz{z{zzyzzyyyyyz{{yzzzzzyyyyzyz{{yz{z{{yyyyyzzyzzz{z{zyyzyzzzyzz{{zz{zzzyzzyzyzz{zy{z{{yzzyzzz{zzzzz{|zyyyyyyz{zz{zz{zzyy{{zzzz{zz{{{zzyzzzyyzzzz{{{{zzzy{zzzz{zz{z{{{zzz|yzyzzz{{{{{|zzzy{y{z{{z{z{{z{zzzzzzy{{zz{|{zz{zzyzzz{{{zz|{{zzzyz{{z{{{{{{{{{zzzzzz{{|{{{{{{{{z{zzz{z{z{{{{z{zz{z{zzzz{z{{|{{zzzyzyyz{{{{|z|zzzzyzzz{zzz{{|{|{yyzzyzzzzz{z|zzz{yzyyyzzz{zzzzyyzyzzzyzzzxzz{yyzyyyzzyxzyy{zz{zyyyzyzyzzzzzzz{zzyyyyyyzzzzyzz{yzyyyyyyzzz{z{z{yzzyyyyyzzzzyyz{yzyyyyyyzz{yyyyyzyyyxzyyzyyzyzzyxyyyyzyxy{zzzzzyyyxyyzyyzzzyzzzyyzyxyyyyzy{z{zzzyyzyyyzyyzzyzzzyyyyz{yyzxzzzyz{{zz{zzzyyzy{z{z{zzzzzzyzyzzzzzz{zzyyzzyzz{z{zz{z{yyyzzyzyz{zzz{zzyyyz{zzxzz{{y{{{zzzyzzzy{zz{z{{{zxyzzyyzzzy{z|zz{zxyyzzzyz{{{{zz{zzz{zzz{{z{|{{zzyyyzzyyz{{{{z{zzzzyzzzz{{{z{{z{{zz{z{z{z{z{{z{|{{zzzzyzy|zz{z{{yyzzz{yzz{{z{{{z{yyz{zzz{{y{{{{{{zz{zzzy{zz{{z{|zyzzzzzzz{{{z{z{{zzzzyzzz{z{z{{{{z|zzyyzy{z{zzzyyzz{zzzyyzzyyzzzyzyyyyyyzzzzyzzyzyyyyyxzyzyzzzzzzyyzyyyzzzzzzy{zzyyyxyyxyzyyz{zzzyzyzyxzzzyzyyzzzyzyzzyyyzzyxzzzzyzzzyzy{zzyzyzzzyyxxyyyyz{zzzzyzxyzyyzyyzzzzzyzyyzzyzyyzz{zzz{yzyyzyyyyyzyyy{zyzyzyxyzyzzyzyzzzzyyyzzyzzzz{zzz{zyzzyyyyzzzzzzz{zyzzyzzz{zzzyy{z{yyzyyyzzzz{{{zzzzyz{yz{y{z{zzzyzy{yz{yy{{zzz{z{zzyyzyy{zzzzz{z{{yzzzzzzz{{zzzzzzzzzzz{zyz{{{zz|zyy{{yyzzz{{{{{{zzz{{yzz{{z{{{{{zyyz{z{{yz{{{{{|{zzzzzzyz{z{{z|{z{zz{{zzz{{{{z{{zyzzzzyzz{zz{{|{zzzzz{{{{zy{{{{{zzyzyyyyzzzzz{{z{zyyy{yyz{z{z{zzyyzzyyyyz{zzzzzzyzzyzzyyyzzzzzzzzzyzyzxy{zz{zz{zyyzyzyyyyzzzz{{{yyzyxyzyzzz|yyz{z{yyyyzyzzyzz{zzyzzyyzyyzzzyzzzyyzzzzzxzzzyzzzzzzzzzyyyxyyzzyzzzzyyyyyzyyzzzyy{zyyzyyzxzz{zzz{zz{xz{xzyyzyy{{zzzzzz{yyyyyzzyzz{{zyyyyxzzyz{zzzz{yyzzzzyyz{{zzz{{zyzz{zyyzzzzz|{{yyzyzyzyz{zzzzzyzyzyzyyzzzzzzzzzzyyyzyzyy{{zz|{zzzzyzyyyzz{{zyzzzyzyzzzy{zzzzz{zz{zzyzz{z{{{zzz{zzzzzzzz{z{|z{{{zy{zzyzz{{{{z{{{{yzyzzzz{|{{z{{{{z{yzzz{{|z{{{{{zzzyz{{zy{z{zz{zzzz{zy{{{{{{{|z{{zz{zz{{z{zzz|{{{{zz{zzzz{{{zzz{{{zyzy{{z{zz{|{zz{zzzzzyzz{{zzzzyyzzzzzzz|{z{zzzzyzyyyyyzz{zz{z{zzyyyyyzyzzyyzzzzzyzyyyzzzyy{zz{yzyyyyzzzz{yyzz{zzzxyxzxzzzzzzz{yyzyyyzxyzzzyyzyzyyyyzzyyzzzzzzzyzzyxyyyz{yzy{z{zzyxzyzyzzzzzyzzzxyzyzzzzzyzzzz{yzzyyyyyzzzzy{zzyzxzzyyyyz{zyzyyyyyyyyyxxzy{{zz{zyzzyz{xzzzz{zzzyzyxzyyyzz{{{zzyzyyzy{zz{zy{z{z{zyzzyxzyz{{zz{{{zzzzyzyzzzz{{{zzzyzzyzyzzzzzz{y{zyzzyzyy{{z{z{{zz{zyy{{zzz{{z{{{zyzyyzzy{{z|{z{{zzy{zyzy{{{z{z{{{yz{zz{z{{{y{{{{zz{zz{z{{{{{zz{|zzzzz|zyz{{{{{{{{z{z{{zzzzzzz{{zzzzzz{zz{{{{zz{|yzzzzyzz{y{{z{{{zyzyzyzz{{{{zz{z{yyzyyzz{|z{z{{zzyzzzxzy{{|{zy{zyyyyzzzyz{zzzzzzyyyy{yyyzzyzz{z{yzyzyzzyzzzy{zzzyyzyz{yyz{zzyyzzzyyyxyyxzyz{zzzzyzzzyyyxzzzzzzzz{zyzyyyzzyz{yzz{yyzzyyxyzzyzzyzzyyxyyyzzyzzzyzzyzyyyxyxyzz{{{{z{xyyyxzxzyzyzzyzzyyzzyzxyzzzyyzzzyyyyyyyzz{zyy{zzzzzzzyzzzzzzzzzzyyzyzyyzzz{yzzyzzyzzyyzzzzzz{zz{yzyzzzzzz{z{y{{zzzzzzyzyz{{{{z{zzy{yyzzzzzz{zzzyzzzzzyyyz{z{y{zzzzzzzzzz{z{{zz|{zzy{zzzzz{z{{z{z{zzzz{zx{{zz{zzz{yzzz{zy{{{z{{{{zzzzz{zyzzzz{z{z{{yzzzzz{{{{{{{{|{zz{zzzzz{z{{|{zz{zzzz{{{{{yz{{{{y{{zzzz{z{z{{{{zzz{yzyzzzzz{zz{z{zyzyz{z{{zz{zzzzzyyyzz{zz|yyzyzyyxyyy{zyzzzzzyzzyyzyyyzzz{{{{yyyyyyyyzzzyzz{zzyzzzxyzzzyzyzzzzyyzyyyyz{z{zzzzyyyzyzzxzzzzy{zyzyzyyyyzyzzzyzzyyyzxyzyyzzyzzz{zyyzyyyyyyzz{yz{zyyyyyzxyzzzzzz{yyyzyyyxxzyz{{z{zzzxzzzyxzyyzzzzzyzyyzyyy{{zyzzzzzyzzyzyyz{z{z{zzzyyzyzyyz{{z{yz{zyzzzyzyzzz{{zzzzzyzzzzy{z{zz{z{yyzzzzzy{{zzz{{yzyzyzzyy{z{{zzzyzzzzyzzz{{zz{{zzzy{yz{zzzz{{z{{zy{zzz{zz{{|zz|{zzzzzzzyzz{{{zzzz{z{zzyzyz{{z{zz|zzzz{z{zz{{{{|z{zyzzz{zy{z{{|{{{zyzzzzzz{{|{z{|{{zzzz{yzz{zz{z||zz{zzyzz{z{{{{z{{z{xzzzzzzzzz{{{{yzzzzz{z{{{{{{{zzzyzzyzz{{z{zzzzyxy{yyxyzzzz{zzzyyyzyyyzyzzz|z{zzzyxzzy{zzyyz{zyxzzzyyyzzz{zz{zzzyyxxzyyz{zz{z{zzyzyyyyz{{yz{zzzyyyyyyyzz{zz{yzzzzyyzyyz{zzzzzzyyzyyyyxy{zzyz{yzyyzyyyzzzzz{zyzyyzyyyzx{zzz{yzzz{zzzyzyyzzyyzy{zy{xyyzzyzyzz{{zzzzyy{zyyz{{zzz{{zzyzzyzzzzzz{z{yzzzzzzyzzz{y{zzyzzzzyxyzz{zz{{{{zzyzyzzzzyz{{zzzzzyyzyyz{z{zy{zzyyzzyz{zz{z{{zz{zzyzzzzz{z{yzzzyzzzzzzz{z{zy{{{{zyzzzzz{z{{{||{|{zz{z{zz{{z|{{{yzzzz{{z{z{{{|{{{z|zz{zzy|z|{|z|{{{{zzzz|{{{{{{z{zz{zzz{zy{{z|{|{{zzzy{z{{{|{zz{{zzyzzyzz{{{z{{|{{zzyyyzyz{{z{{zyyzyzzyzz{zz{{zyzzxzzzzyz{yyyzz{zyyzzzyyzzy{{{z|zzyyyzyyzz{zz{{zzyzzzyyyyz{zzz{{zyzzxyzyzzzzzz{zzzyyzyzxz{zzyz{zyyyyzyyzzz{zyyz{zyzyyzyzyzzzzzzzyzyxyyzzyyzxz{zzzyzzzyyy{yzyzzzzxyzzyyzzzz{zzz{{yyyyzyyxy{zyzz{zy{zxxyyyyzzzzzz{yyyyzzyyzyzzzz{zyyzyzzzyyyz{zzzzzzzyyzyz{{z{{zz{yzyxyzzzzz{{{z{zyyzz{zzy{{{z{{z{zzzzzzyyzzz{{yz{{zzyzzy{{zzzz{zzzzzzzyzzzz{{{{zzz{zzzyzz{zz{{zz{{zxzzyyz{{zz{|{{zzzz{{zy{z{z{|{{zz{yzzz{zz{{{{{z{z{z{z{z{z{{{{z{zz{zz{zz{y{zz{|{zz{zzzz{zzz{{{{|z{yz{zz{{|{z{z{{{zzyyyyy{{zzz|z{{z{zz{zzz{{{z{{zz{zxyyyz{z{zz{z{{zyzzyyzzzzzzz{{yyzyyzyz{zzyz{{{{zzyzzyzzyzzzzz{zzy{{zzyzzzzyzzzzzyz{zzyzzzzzzzz{y{zzyzyyzzy{z{yzyyyzyyy{z{zyzzzzzzzyzyzzzzzzzz{{zzyyyyzzzyzz{{zzyyyyyxyy|{zzzz{xzzzyzyz{zy{yzz{yzy{zxzyzzyz{z{zzzzyzyyyzzzzz{{{zyzyyyyzyzzy{z{z{zzzyyyzzz{zzy{{{zyyzzzz{{zy{y{{zzzyzyzzzzz{{zzz{{yzzyyyzz{z{{{zzzzzzzzyz{{{{z{zzy{zzzz{z{z{zz{z{{z{{{zz{{{{{|{{zzzz{zzzz{{z{{{{zzyzzzz{{{{{z{{{{yzzzzzy{{|{{zz|{z{zz{z{{z{z{{{{{zzzz{zzz||{{z|z|z{{z{zzz{{{{|{{{zz{{z{|{{{{zz{{|zz{{zz{|{{{{|{{{{zzzz{zzz{|{{{{z{zyyzzzz{z{{z{{zyz{zzzz{z{{zzzzzyyxyzzxyzzy{zzzzyzzyzy{zzzzz{z{yzyzxyzzzzzzzzzzyyzyyyzyzzzzyyzzzyyyyyzyyzyzzzzz{zyyyzzzy{zyzzzyzyyzyyyyyz{yzyyzzyzyyzyzzzyzz{zzyyyxyzyyzz{y{{{yy{yzyy{zzzyz{y{zzzyzzzyyzyzy{z{{xzzyzyyyzy{z{{zyxyyyyzyxyzyyz{zzzzzzzzyyzzzzzyz{zzyyyzzzzzzzzzz{zy{zzyzzzz{{zzz|zzyzyzzz{zzzzzz{zzzyzyzzzzy{zzzzyzzzzzzz{z{zzzzzzzzyzyyzz{{{zzzz{zzzzzyzy{|{{{{zyzzzzzzz{zz{zz{{y{z{zyzzzz|z{z||zzzzzyzz{{{z{{{{{zz{zz{zzzzzz{{{{{zzz{z{z{|{{{|{zzzzyzyzz{{{{{{z{z{zzzzzzzz{z|||zzzz{zzzz{{zz{{zzyzyzz{zz{z{{{{{{zzz{z{z{{{zzz{zyzyyzy{yz{{zz{{zzzyzzxzyy{{yzzz{zzyyxyyyz{{zyzzzzzyyyyyzzzzy{{zzyyxzyyyyyzzzzz{zzzzyyxyxzzzzyzzz{zyyyyyyy{zzyzzyxyyyyzyyy{zzz{zzyzyzzyzzzyyzzzzzzyyyyyxzzyyz{{zzyxzzyzzyz{zyzzz{yzzyzyzyy|zzyy{zyzyyzxyyz{{zyyzzzy{yyyyyy{{yyzz{zzzz{yxyzzyyyz{{zzyyzx{yzyzzyz{zyzyzyyzzzyzyz{{{yzzyyyzyy{{zz{{yyyyzyyyyzyzzz{{zzzyzzzzz{{zzzz{{zyyzz{z{z{yzz{{zyy{yzzy{|{{{{{{zyz{{zy{zz{{{{{{{zzzzzzyy{z{z{{{{{yyz{zzzz{{{z{{{zzzzzz{z{{{{z{{{{{zzyzzzz{z{{{{z{zzzzyzz|z|{{{{|{yyz{zyz{zzz{{z{{zzzzzyy{z|{|{{z{{zzyzz{z{yzzz{{zyzzzyzy{zz{{z|{zz{yyzyzzyz{z|{zzzyyyyyxy{zzz{y{yzyyyyzzzzyzz{zzzyyyzyyzzzzzy{z{yzy{yyzyzz{zzzzzyzzyyyzyzzz{{{yzzyzzyzzyyzzzzz{zzzzyyxzzzzzzyyzyzyyxzyyyzyzzyzz{zyyyyyzyyzzzzzzzzyzyyyyzz{{zz{z{zzyzzyzyyz{{{z{zzyzzzzyyyzzzzz{yyzzyzzyzyzzzz|z{zyzzzyyyyzzyz{z{zzzyzyzzyzzzzz{{{zzyyzyzzzzz{zz{{yzyyyzzyz{zz{{zzy{zzzzyzz{zy{{zyy{yzzzz{{{{zz{{zzyzzyzzy{{zz{{z{z{zy{y{zz{{{{z{zz{zzz{{y{z{zz|{zzyzzyyzzz{{{|{zzzzzy{z{{|{{{|{|zzy{{y|z{|zz{|{{{y{zzzzzz|z{{{||{z{{zzz{{z{z{{{{{zz{{zzz{{{{z|{{zzzz{z{z{{{|{|{|yzzzzz{zz{zz{{{{{zzzzy{zz|z{{{y{z{z{yyzyz{z{yzz{yyyzyyxyzzzyyyz{zyyyyxxyzz{yzz{{zz{yzyyyyyzyzzyzyyyyzy{yzzyzyyyzzzyxyyyyyzzzzzyzyzxyyzzxyyyyy{yyyyyyyyyy{z{zzzzzzyzzyyyyyzyzxyzzzzzzyzyyyy{zz{z{zyzxyyyzzyz{{zzzzyzxyyzyy{yzzzzzyyyyzyzyyyyzzzz{zzyyxyzxzzzz{zzzzzzyyzxxyzzzz{{zzz{zyyyyyzzzy{{yyzzzyxzyz{|yz{zzyzzyyyzyzzzzzz{zyz{zyyzzyyzz{{{zyzzyzzxyz{{{yz{{zzzzzzzy{zz{zzz{{zzxzyyyz{{{zzzz{zz{{z{y{zz{{{{{zzyzyyzzz{zz|{{zzyyz{zzyzzzz{{{|{yzyzzz{{{{{zz{{{zzzzzzz{|{z{{zz{y{zzz{zz|z{{|z{{zzzzzz{{zz{zzz|z{zzzzzz|{z{{{{{zyzzz{{zz{{{{{z{zzzyzyyzzzz{{z{zzy{zyzyxzz{z{zzzyzyyzyyyyz{yzzz{yzyyyyxyzyzy{zzzyzyyyyzzzyzz|zz{zzyzyyzyzzyzzzzzzyyyyyyzxzzzyzz{yyyzzyyyz{zyzy{{zyzzzyyzzz{zz{zzyyyyyyyyzz{yzzzyyyyyyyyyyz{zyzzyyzyyxyyz{yzzzzzzyzyyyxyzyyxyz|{zyyzxzxyyy{zzz{zzyyyyyyyxyzy{yzzzzxyyzyyyyzz{{zz{zyzyzyzyyzyz{z{zzzzzyyzzz{zz{z{zxzzzyzyzz{zzyz{zzyyzzyzyy{y{{zzz{yzzzyzy{zzzzyzzzyzzyyyy{y{zzzzz{zzzzy{zzz{z{{|zzyzzzyzyzz{{z{{|{yyzzyyyz{zz{z|z{y{yyyyz|{{zzz{z{{zzzz{zzzz{{|{|zyzz{{zzz|{{{{||{y{zzzzz|{{{{z{{zyzz{zzz{{{zz{|{{zyz{zz{{{zzz{{z{zzzzzzzz{{z{z{{zyzzyyzy{{{zz{zz{yzxzxzzzz{yy{zzyyyyyxyxzzzzzzz{yyzyzyxyz{zyzz{zyzyyxzyzzzzzzzzyyy{{yyyz{zzzyzzzzyzyyyxyzzzzyyyzzyzxzyzxzzzzyyyzzxyyyyyyzzzzy{zyyyyzxzyxyzzzzy{zzyyyzyyzzyzzzzzzzyyzyyyyy{zzy{{zzyzyxyyyzzzzyzzzyyzyxxyyyzzzzzyzyyyyyyyzyzzzy{{zzyzyzyyzzzzzzzzzzyyzzxzy{{{yzzzzzzzzyzyyyz{yyz{{yzzyzzyzzzz|{z{z{yyyzxyzzz{zzzzz{yzyy{zzzz{yzz{zyy{zzzyzzz{zz{z{zyzzzzzyzz{{{{|{z{zzzyzz{{{z{{z{zzzzzzyzzzz{zz{z{yyzz{zy{{z{z{{zzzz{{{zz{z{z{zzz{{zzzy{{y{z{{{{{{yyzzyzzz{z{{z|z{zyzzyzzz{{{|z|{{zyzzzzz{{{{z{{{z{zyyzyyz{zzzzzzzzyzzzyzzz{z{zzzz{zzyyzy{zzzz{yzyzzyxyzyy{z{yzzzyyzyyyyzyyzyzz{{zzyyzzzxzzxzzzzzyzzzyyyzzzz{zzy{{yyyzyzyzzy{yzzzzyzyzzyyzzzzzyzyzzzzyyyyyy{yyzzzy{|yyzyyzzzzzzyyxyzzyyzxyzyzyyzzyyzxyyzyzz{zzyzzyyzzyyyzzzz{zyz{yzyyyzyyzyzzy{y{zyzyyyyzyzzzz{{zzzyyzzyyyzzzz|{{zzyzyyyyzzzz{yzyzxy{zyyxzzzzyzzzzyyzzzyyyzz{zy{{yzzyzzzy{{zzy{zzzyzzzzzyzz{|z{{z{yyzyzzyz{{zzz{{zzzz{yyzzz{{z|{|zzzzzzzzzzz{zz{|zxzzzzzyz{zzz{zy{{zzzzzz|{{z{{{{{{{zzzzz{{z{zzzz{{yzz{{{z{{zzz{{{zzzyyzzz{z{z{{zzy{z{zzz{{z{{}||{{yzzyz{zzz{zz{{{{zyzyzzz{{{y{{{z{z{zyyy{z{|{|{zzyzyzyyy{|zzzzzz{zyzzyzyy{zzzzzyzyyyyyyy{{zy{zz{{yzyyyzyyzz{zzz{{zzyyyyyzz{y{zzzzzyyyyzyzzz{yzz{yyyyyz{zyz{zyzzzzzzzyzzz{z{zy{{zyzyzyyyz{zzzzz{{zyyyzzzyyz{zyyzzyzzzyyzxzzy{zzyzzzzzyyyyzzy{zy|zzyzzyxzyzyzyzzzzzzyzyyyyz{yz{zy{yzzyzzzzzzzzz{zzzyzy{yyzz{zzzy{{zyzxzzzzz{{zz{{{yzyyy{zyz|zzzzz{{zyzzy{yyz{{z{{zzy{yyyzy{zz{{|z{{{yzyz{zzzzzz{{{zzyzz{zzz{{{{z{{zzzzzzzz|z{{{{z{{{z{zzzz{z{{z{{{zyzzzyzz{{{z{z{{z{{{z{{zzz{z{{{{{zzzz{{{z|{{{{{{zyz{zy{z{{zz{{|{|yzzzz{zz|zzz{{{{{y{{zzzz{|{{z{{{zzz{zzzz{|{{{z{z{zzzzzyzzz{{|zzzyzzzy{z{{{z{zz|zyzzyyzxzzzzzzz{{zxyyyyyz{yzzzz{yyzyyyzz{{zyz{{zzzyyzzyyy{zzzy{{{z{xxyzy{z{yyzz{xyyyzyyyzzzyzzzy{yzyyxxzzzzzy{zzzyzyzzyyzzzyy{zzzyyyyyyyzzyz{yzzzzzyyzyyzzzzyz{zyz{zyzyzyzz{zz{zyyyyzzzyzzzyz{zzzyyyyzzzyzyy{zz{zzzyyzzyzzz{zz{{zyyzzzzzzz{z{{|{{y{yyyzzy{zz{{{{yzzyyyzzyz{{z{yzzz{yzyzy{{z{{zzzzzyzzy{z{{zzz{zz{yyzzz{y|{zz|{zz{zzz{zzyy{z{z{{{z{z{zz{z{z{{{{{{zzzzyzyz|{{{{{{{zzzzz{zz{{{{{{{{{zzzzz{z{z{{{{{z{{{z{{z{z{{z|{|{{zz{zzzz|{{{{{{{zyzz{{zz{{|{{{{|{{zzz{zz{{z{||{{{z{zz{zyz{{{{z{{{zy{yz|zz{z{{{{z{zzz{zzz{{{zzzzzzyyyyyzxzz{z{{z{zyyzyyyzyz{y{{{zyyyyyyzyzzz{zz{zzzyyyyyyzyzzyy{{zyyxyzzwzy{z{z{{xyzyyzzzyzzzz{{zzyzyyyyyzzzzzzzzzzzyyyzyzzyzzzzzzzzyyxyxzzzz{zz{yyyyzyyzzzzy{zzzzyzyyzyyyzzzzzz{zyyyzyzzzyzzzzz{zzyxzzxzyzz{zzz{zzyzyyzz{zzzz|y{zyyyyyyyzzzzzz{zzyyzyyyz{{zzzzzzyyzyyyyz{zzzzzyzzy{zyzyzz|zz{zz{yyzzyyyyzzzzzz{{zz{zzyzyz{zzy{z{{yy{{zzxz{{{z{zzz{zzzzzz{{zzzzz{zzy{yzzzyz{{{{z{zzzyzz{zz{{{z{{{{zyzxz{{y{{z{{{{zzzzz|z{z{{{|}|{zzyzzzzyz{{{{zz|{zzyzyz{{{{{{z{{{{{{zzyz{z{{{{{{zzzyyyzyy{{|{{{{zzzz{zzyzz{zzzzzzzzzyyyyz{z{zzyzyzzzyyzy{zzzyzz{zyy{xyyyzzz{{zz{zyzyyyzyzzz{zzz{zyyzzxyyyz{zyz{{zyzyyzzyyzzzy{y{zzyyyz{yzzzzz{zzzyzzyzzx{{zzzz{zzyxyyyzzzzz{z{zzyyzyzyyzyzzzzz{zzzzzyyyyzyzzzzzzzyzzyzzyzzzzzz{zzyzyzzyzzzyzyz{zzzzzyyyzy{zzzz{zzzzyyzyyz{zzyzz{zzyyzyyzzzzzz{z{zyzyyyzz{zyyzyz{yzzzyyyz{{{{zyz{zz{z{xyyzzz{{zz{yzzzyzzzzzzzzzzzzzyzzy{z{z{zzzz{{zzz{{y{z{z{zz{{z{zzzzz{{{y{z{{{{yzzzyzzz{{{{z{{{{zzzyzz{z{zzz||zyyyzzz{{|{|{{{{{zzzyzzzz{z{{{|z{zz{|yzz{{{{{z|{{zyzzzzzzzz{z{{|z{x{{zyz{z{|{{{{{{{zz{zzz{z{{{{{{yzz{zzyz{|{z{z{zyzyyzyzzzzzyzzzyxyz{yyyyzzzyz{{z{zzyyyyzz{z{{{|{yzzyyyy{z{y{{{zzyzzzzzzyzz{yzzz{zzzyz{yzzyzzyz{zzyzyzzyzz{zyzzzzzzyzzyyzzzzzzzzyzzyyyyyzzyzyyzzyyzxyzzyz{zzzz{zyyyyzzyyzzzyz|zzzzzyxyyyzz{zzz{zzzzzzyyzzzyyzz{yzyyzyzzyyzyz{{y{yyzyzzyzyzzz{zzyzyyyyyzzz{zzyz{|yyzzzyzzzzzzzz{{yyzyyyzzzz{zyzz{zzzzzyzz{{{zz{{zzzzzyzyz{{{{z{zzz{yzyzyz{{{{zzz{zzzz{zzz{z{{z{{{zzzz{zz{{{{{{zzzzzzzzyzz{|{{{{zz|{yzzz{{{{|{{z{z{zzy{{z{z|z{{{z{{z{{zzzzz|{{{{{|{zz{zyzzz{{{{||{zzzz{z{z{{{zz{|{{zz{{zz{{z{{{||zzzzyzyzyzzzzzz{{{{zz{zzyz{z{z{{{yzzyzyzy{{{zzzzzzyzzyzyyy{zzzzyzzzyxyyyyzzzzzzz{{zyzyzzzy{z{zz{z{yzyyyzzzz{{yzz|zyzyyzyyyzz{zzy{yyyyyzzyyzz{z{zy{zzyzyyzzyzzzz{zyyyyxyyzy{zzzzzzyyyyyxyyzzzz{zzyzyzyyyxzzy{z{yyzyyzzyyyzz{{y{zz{zxzzyyxyyzyyzz{yzyzzzzyyzy{yzz{zyzzzzzyzzzz{{yz{zyzyzyyyz{z{zyzz{zzyyyzzzzzz{z{{yxzzyyzzzz{yz{|y{zzzyy{yz{{zz{y{zzzzzyyy{zzzzz{z{zz{zzyz{{{z{|{zzzzyzyzyzz{zz{{z{zzyzz{zz{zzz{{z{yy{zyzy{{{{{z{z{zz{zyyz{{{{{{{{y{zzy{zzz{zz{{|z{zzzyyzz{|{{z{{zzy{zzyzz{{z|{{{|zyzzzz{zz{z{{||{zz{zz{zz{z{{{{|{{zy{yzz{{zzzz{{z{zyzzyzyyzzz{{{zzzyyyyyyzz{zzxzzxyzxyxyzyzzzz{zyzzyxzxyyyyz{zzz{zzyzzyzzzz{z{z{z{zyyyzzyyzzzzzzzyyyxy{yyyz{zzzz{zxzyxzxyzzzyyz{zyzzyyyzxzy{yyzzxyyyzyzyxzzyzzz{{yzyxxxxyxyyyyzyzyyxyyyyyyzzyzzzzzyzyyyyyyzzzzyz{zyyyzzyzyyzyzzzz{yzyzyy{yzyzz{zzzyyz{zzyzz{z{zzyzyyyzyyzyyzyz{z{zyzyyyyzyzzzyzz{yxyzzyzzyzzzzz{{zzyyzyyyzzzzz|zzzyyyyzyz{zzzzz{zzzzyyyzz{{{{zzzyzyzyzzyzy{z{|{z{zzzyzz{zz{z{z{z{zyz{zyzzz{zzzz{zzzyzzzzzzzzzzz{zzy{zz{zzz{zz{{z{zzyzy{{zz|{{z{{z{zz{{zzyz{{{z|zz|yz{zzz{z{||{z|{{{zz{zz{z{{{zz{|{zzyzzzzz{z{{{z{{{zzzzyyz{z{zzzz{y{zyzyy{z{{{zyzyyxyyzyxzzzzyyzzyyyzzxxyyzyyzz{{zzzyzyyzzzzz{z{{zyzyyyyyzz{zyzz|zzzzyyzyyzzzzzy|zzzzzyyyyz{zy{yyzyyyzzyx{z{zyzzzyyyyxyzzzyyzyzzzyyyyyxxyyyzzzyzzyyyyxyyzyzzzzzyyzyyyxyyyyzzzzzzzzyzyyxzyzzzzzzyzy{yyyyyyyzzyzz{{yzyzz{xy{zzzzzzzyyyyyyzzzzzyyzzzzzyyzyzyzzzzzzz|yzzyyyxzz{{{zzz{zyzzyzzzzzzz{{yzzyzyxzzyzzz{y{zz{zyzzyzzzzzyy{{{zzzzyzzz{zyz{z{{zzzzzzzzzz{{zz|{yzy{zzyz{{z{zz{{zzzzyyzzz||zz{{{zzzzyz{z|{{z{z{zzz{zzyzyz{{z{{{{z{zyyyzz{z{{z{yz{{yzyzyzyz|zz{z{{{yzzzzzzzzz{zz{{zyzzzyzzzz{zzz{{{zzzyzzzz{zz{zzyzyyzyyyzzzzzzzzzyyxyyzyyzzyzyzz{zyyyyyzzzyzzzz|{yyyyyyyzyzyzy{{yyzyyyzyzzzzzzz{zyzyyzzyzzyyzzzzzyyxy{zyyzzzyzzzzzyyxyxyyzzzzyyyxyyzzyyyzzyyyzzzyyyyyyyyyzzzz{yzzyyyyyyzz{zz{zzzyyyyyzzxyyzyyzz{zzyyzzyyyzzyzzy{yyyzzxzyyzyzz{z{zyzyyyyyyyyzzyzzzyyyzyyzzz{zyzz{zyyzyyzzxzzyzyzzzzzzzzx{z{zzz{zzzzzzzzzzzzzzy{z{{yzzyyzy{{{zzzzyyzzyzzz{zz{zzzzzzzzyzzyz{z{zzz{{zz{zzzzzz{{{zzz{zxzzzzyyz{zzz{{{{zzzzzzzzzzzz{{zzz{yz{zzyz{{{{{zzzyzzzzzy{zz{|{{{y{zzz{zzzzzz{{zzyzzzzz{zzz{{{{zzyzyzzyzz{zz{z{z{zzyyyz{zzzz{{{{zzyzzzzzyzz{z{{{yyzzzyzyzz{zyzzzzzzyzxzyzzz|yyzzzyyzyyyzzzzz{zzzzzyyyzzyzzzzzzzzzyzzyzyy{zzyzy{zzzyxyyyyzyzzzzzzyzyzxyyzzzyzyz{yyzzzyzxyyyzzyz{zxzzyyyxzzzzzz{z{yyyyyyyyzzyzyzzzzyzyyzyyyz{zzzy{yzyzyyyyyzyzz{zzzzyyzxyzzyyzyzzzzyyyyzyyzzzzyzz|yy{yyzzyzzzzz{zzzyyyyyzz{yzyzz{{zzzzzzzz{zyzz{zzyyzyxzyzz{{zz{z{yyzzzyyzzzzz{|z{zyyyyzyzyz{zzz|zzzzzyyyzy{{zzz{{{zzzzzzzzzz{z{{{yzzzzz{zzzz{zz{{{zyyyzyyz{z{{z{zzyzzyyzy{z{{z{zzyz{yzzzzz{z{{z{{zzzzz|zzy|{|z{|{{z{zz{z{{{z{zz{{zyzzzzzz{z{{{{{{zzzzz{z{{zyzz{{z{z{zzyzzz{z|{{{zz{xzyzyyzz{|yy{zyzyzyzyzz{zzzzzzzxxyyyyyyzyzzzzzzyyzzxy{yzz{zzzzzzyyyyyxzzyzzz{{zxzyyyzzzyzzzz{zzyyyyzyyzyzz{{z{yzyyyyzxzzz{zzzyzxzzyyyzyzzzy{zyzxzzyyyyzyy{zzz{zyzyyyzyzyyzyzzzyzyyyyyyzzyyy{{yzyzyyyzzzzzyyz{zzyyyyyzyyyzyyzzzyzzyyyyzyzzyz|zzyxyzyzxzzzz{zzzzzxyzyyyyxyzzzz{{zyzyzyzyzyzzzzz{yyyyzzy{y{{zzzz{yyzyzyzyy{zzz{{{zyzyz{zzyzzzz{{{{{zyzyzzzz{zy{y{{z{z{{zzzy{z{z{{yyzzzzzy{zzz{{{z{yzzzyzyzzzzz{z|{yzyzzzyz|z{{{|zzzzyzzzz{{{{z{{{|zzzzzzzz{z{z{{|{yzzzzzz{{zzz{zyzyzyyyzz{z{zz{{{{{yzzz{zz{z{{|{{yzzzzzzy{zz{zz{zzzzyzyzyzz{{{{z{zzyyz{zxzzz{y{yzzzyzyzzyyzzyzzz{yyyzzxzyzzzzz{{zzzyyzzyy{zzz{z{zzxzyyyyyy{z{yz{zzzzyyyzzyyzzz{zzyzzyyyzzzzzyz{{yzzyyzxyyz{{zzzzyyzzyxyyzyzzzyzzzxzyyyyyxyzzzzzyzzxyyzyyzyzzzzzzzyzzyyyzy{{yzzyz{yzzzzyxyy{zyzzzzzzzyyzzyyzy{zzz{zzzyzzzzz{zzz{zzzzzzyy{yzzz{{{z{yzyyyzzy{zzz{zz{zyzzyzyzy{zzzzz{zzz{yyzzzzzz{{{{yz{zyzzz{{{zzz|z{z{y{yzzz{z{z{{zzz{zzzzzz{z{zz{zzyzzz{{zyzz{z{{{{zzzyzzzz{|z{|zzyzzzzzzy{{{{z{{{zz{zzzzz{z{{{{z{{{zzyzzzz{{z{{}|{z{{{zz{{z|{zz{{{y{zzyzzzzz{{{{|{|zz{zz{{z{|{{{{{zzzzzyzz{{{{{|{yzzzyzzzz|{{zz{zyzyz{yyz{{z{{zz{yxyyyyyyyzyzzyzzyzyxyyzyzzzz{zzzyyyyzyyzzzyz{z{zzzyz{yzzzzz{yzz{zyyyyyyyzzz{zzz{{zyyzyyxzzzzz{{zzyzzzyyyyzzzyyzyzzyyzyyzzyyzyyy{zzxyzyyyz{{zyzzzzxzxyyyyzyzyzzzz{zzzxyyyyzyzzzzzyyzzzzyyyzyy{z{zyzzyy{yzyzzzzzzz{zzzyyzyzzzz{z{zzzz{zzzyyzz{{zzz{yyyzyyz{{{z|{{zyzyyyzyyzzzzz{z{zzzzzyzyy{{zz|zzzzyyzyzzzzz{zz{{{zzzzzyzzz{zy{{{zz{yzzzzzz{{z|zzzzzzyzzz{z{|{{{{zzzzzyzzz{{z{{{z{zzzy{yz{{{{{{|{zzzyy{zzy{{{{{{z{zzzzzz{{{z{|{z{{z{zzyzy{{{|{{z{zy{{{{zzzz{z{{|{z{z{z|y{{z{{{{|{{zzyzzyzzz{z{{{{zzzyzzyyzzz{y{{z{z{zzzzyzz{{{zzzyyzzyyzyyzzzyzyzzyyzzyyyyz|zzz{zyyzyyzzzzyyzz{zzzyzyzyyyzyzzyz{zzz{yyxzzyzyxy{zzzyyyyyzyyzzyzzzzzyzyxzyxyzz{yzzyyyyyyzyyyyy{yzzzzyyyyyzyzzyzz{{yzyyyyyxzzzzzy{zzzyzzyyyxzzzz{yz{yyzyyyzxyyzzy{zzz{xyyzyzyzyzzzyzyzzyyzyyzz{yz{{zyyyyzzyyz{yzzzzzzyzyzyzyzz{zzz{{yzzyyyxyzzzz{zzy{zzzzyzzzzz{zz{{zyzzzyzy{{{zz{{zyzyyzyyz{zzzyz{zzzzz{zyz{z{zzz{{{zzz{{z{zz{{z{||{zyzzyyy{z{|{{{zzyzzzz{y{{{zz{{|zz{zzzz{yzz{{{z|zzzzyzzz{{{zzz{|{z{zzz{|{z{z{{z{zzzzzzzzz{zz{{z|{z{{{{z{{{z{{{{{z{zyzzzzz{{zz{{|z{zzzyzzy{z{{{z{zy{zyyyzzz{zzyzyzzyxyyyxzzzyyzzyxyzyzyxyzzz{zzzzyzyyyyyyyyzyzzzzzzyzyxzyyzyzyyzzzzyyyzyyyy{{yz{zyzzyyyyyzzxzzy{zzyzzyyyyzyyyz{zzzzyyyyyyzyyyyzyyyyxyyyxyyyzyyzz{yyxzxzxyzyyyzzzzzyyyyyyxzzzy{zzyyzyyyyyzyyyyzzzzyyzzzyyyzzyzzzz{zzyyzyyyyzzzyzz{zzyy{yyyzzz{zzzzzyzyzyzzzzzzz{zzyzyzyyyzzzyyy{zzzyzzzwyxyy{{yzzzzyzyyyyyzyzz{zzz{yyzyyyyz{zzzz{zzyyyzzzyzz{{zzzzyzy{zzzyzzz{z{z{yzzzyyyzz{z{zzzyzyy{y{yz{{{{{{{zzx{zzz{zzzzzz{y{{zz{zzzzz|zzz{z{zyzz{yyzz{zzz{z{zzzzzzzzyz{zz{{|z{zzzzy{{zz{|{{{zzyxyzzzz{zzzyzzzzzyy{yyzzzzz{|zzyzzyyzyzz{zz{yzzzyyyzywzyzzz{yzyzzyyyzyzyzz{zzzzyyyyxyy{zz{zz{zzzyzzyyyzy{zyzz{yyyxyyzyzyzzz{zzzzyxyxyxyzxyy{yyzzyyzyyxzz{yzzyzyyxyyyzyzzzzzzzzzxzyyyyzzzzzyy{zzyyyyyxyzyyyzyzzzyzyxzyxzzz{yzz{yyyyyyxyzzzyzyyzyyzxyxyyyzzzyzzzyyzzyzxyz{zzyzzzzzyyyy{yyyzzyz{{yyzyzzyy{z{zy|zzyyyyyzyyz{{zz{zzzzyzzyyzy|z{zzzz{yzzzyzzzzzy{z{zzyyzzzzyzzzzz{zzzzzyzyzzzz{{{{zzyyyz{{zzz{zz{z{{zyyzzzyy{z{{zz{z{yyzzyzy{{z{zz{{z{{zyz{zz{{z{{z{{zz{zzyzz|z{z{z{{zz{zyzz{{z{zz{{zyzzzzyz{z{{z{|zzzzzz{zyzz{{{|z{zzzyzzzyz{zz|{{zzyyyyzzyz{z{zz{zyz{yyyzzzzzzyzz{zyxyyyyxzyzyxyzzyzxzzyyyyzzyy{zzxyxyyyzxyzyyzzzzzzyyyyyyyyyzzyzzyyyxxyyyzy{yzzzzzyyyyyyxyyzyzzzzy{yyyyyyz{zzyzz{zyyxzzyyzyyzyyyzyyxxzyyyzzzzzzzyyzyyyyyyzyzyzz{yyzyzwyzxyyzzzzzzyzyyzyyyyyzyxyzzyyyyyyyyz{zzzy{zyyyzzyyyzzzz{{zzzyyyzyyy{zzyzz{{yzzyyyyzzzzz{z{zyzzzyxxzzzzyzz{zzzzzzyyyzyzzz|zyzyzxzzzzyzzzzz{zzyzzzzyxzzzzz{zzzzzzzzzzzz{{zz{|zzzzzzyz{yz{zzz{zyzzzyxz{z{{{{{zzyyzyyzy{{{zz{{{zyzz{{z{zzz{{{{z{zyzzzzyz|z{{{{{|zyzzzzz{yzzz{{{yzy{zzyz{{z{{zz{{|zzyyzyzzz{z{z{zzzzzyzz{{zz{{z{{{zyzzyzy{{{zzzzzzyyz{zzzyzzzyyyyyyyywzyz{zzyz{{yzyyzzyzzyzz{zz{zyyyxxyzzzzzzzzzyxyyxyxzzzzzyzz{zyzzyxyyyyzzz{yzzzyxyzyxyzyxzzzzzyyyyxxxyzzyyzzzyzzyyyyzyyzzzzyzzxyzyyyxyz{yyzyyzyyyyzxyyxyyzyz{yyzxxyxyyzzzzyzyyyyzyxyxyyyzzzyzzyyxyyyyyyzyyzzzyyzzzyyzyzyyyzzz{yyyzyyyyz{yyzzzzyzzyzz{zzyzzzzzyyzzyyyyyzzyzyzyyyyyzzzyyzzz{{y{zzzyyzyyzzz{z{{zyzzzyyxzz{yzzz{{zyyyzz{yzy{zz{{zzzzzyyyyzzz{{{zzzzzyyzzzz{{{{|z{zzzyzz{zz{{z{{|{yzyzzz{zzzz{{z{{zzzzz{yy{{{{z{{z{yzzzy{z{|{zzz{{zyyyy{{{zzz{z|z{zzzzzzyzz{{z{{{|z{yzzyyzzzz{{{{{zzyzzzzzz{z{zz{{yyzyzyzyzy{zzzyyxzyxyyyyyyyyzzzzzyyzyyyyzzyyz{z{zzyzxzzy{yzyzzzyzz{xyyyyzyzzyy{{yzzyyzyxyyzzzzzzyyyxzyyxy{{xyzzyzyyzyzxyzy{yzzzzyxzyyxyyzxzzyzyzyyxyxyxyzzzyzzzzzyyzxzxxxzzyzzzyyyyyxxyxz{zzzzzzyzxyyxyyzyyzy{yzzzzyyyyyxyyzzzz{xzzyyyyx{zzzyzz{yyyzzyzyzzzzzzzzyyzyzyyz|zz{zzzzzzxyzzyzzzz{zz{zyzzzzxzyzzzzyz{{zyyzyyzz{zzzz{yzzyzzzzyzzz{zzzz{zyzyzzzzzzz{z{{{{zzzzzzyy{z{y{{z{y{zyzzzzz{{zz{zzyzz{y{y{{{yz{{{zzzzzyzzzzz{{zzz{zzzz{{{y|zzz{{z{yzzzzzyyz{|{{{z{yyzzzz{{zzz{{|{zz{zz{zz{{{z{{|{zzzyzzzyzzzzz{{zz{y{{yzyz{zzzz{{yzyyzyzzzzzyzyzzzyyxyyyyzyzyzyz{yyyxyzyzxyzy{{zzzzyxyzyy{zzyz{zyyyyzyyyzzzzzzzzzzzxyyxyyzyzzzzzzyyyxyzzxyzyzz{yyyyyxyyzyzzzyzzzzyyzyzzyxzz{zzyzzyxzyyyxxzz{zyzzzzyxyyyyyzy{yzyzzyxyyxyyyzzzzyzzzzyyyyyyxyyzyzzzzzzzxzyzyyzzzzz{zyyyyyzyxzyzz{{zzzyyyzzyzzzzyzzy{yzyzxyyyyzz{yzzyyyyyyzzy{zzzzzzzyzzzyyyyyzzy|zyzzyyzzyyxz{{zzzzz{zz{zyzyz{zzyz{zzzzy{zyz{{zzz{{{yzzyyzyzzzz{{{{{zyzyzyzzzz{{{z{{{zzyzzyz{{{yz{|{zzzz{zz{z{zz{{{{{zzzz{zz{zz{zzz{zz{zyyz{{{{zz{{z|yzzzyz{{z{zz{zzzzyzzzzy{{z{z{z{{zzyy{y{z{z{|{||{zzzyzzyyzzzzzzzzy{yzy{yzyz{{zzzyyyxzyyyzzzzzz{zzzyzzzxzyz{zzzzzzzyzyyzyzyzyz{zzzyyzyyyyzz{zyyy{zzyxxyyxz{z|z{y{yyyyxzyyzyyzzzzzzzzyyyyx{z{yzz{{zyzyyyzyzzzzz{{yyyyyxyyyzz{zzz{zyyxyyzyyzzzyzzzzzzyzyyxxyzxz{zzz{zyzyyyxyyzyzyzzzyyyxyyzyzzzz{y{zyzyyyxyzz{z{zz{zyyyxzyzzy{zzz{{zzzyzyzzzzzzz{zzzyzzyyyzy{z{zz{zzzzyzyyyyzzz{zzyyzzyyzyyz{{zz{zzzyzzzyyyz{zz{{{{{zzyzzzyyz{{zz{{zzzxzyzyy{z{{{{{zzyyzyyyz{{zzz{y{zzzzz{z{{z{{{{{zzzyz{zy{{{z{|{{{zzzz{z{{{{{{z{{{zzzzzyz|zz{z{{zzxzzzzzzz{{z{z{{zzyzzzzzy{{{{{}{{{yyzyzy{{{z{{z{{zzzzzzyy{{{{{{zzzzzyzzyyz{yz{zzyyyyyzxyyzzzzzy{zyyzyyyy{zy{zzz{{yyyyyyyzyyzzz{z{yyyyxyyzyzyzzyzyzyxzxyxzyz{zzzyzyzyzzyyzzyyy{{yzzyyyyxyyzyyyyzzyx{zyyzyyzzyyyzzyyyyyxyyyyzzz{zzzzyyyxyyzyzz{zzzzyzzxzyzzzyyzzzzzyzyzyyyy{zzz{z{zyzyyyyyzzzzyzz{zzzyyzyyzzyy{zz{zyyzzxyy{zzzz{z{zy{zzyzz{{zzzzzzzzzyzzzzz{{zzy{zzzzzzzyzzzzzz{zzzyyxzzyzyz{{y{{zzyyzzyzzyzz{z{{y{xzz{yzzzz{{{{z{yzy{zyzzzy{{z{z{zzzzzyyyzzz{|{{zzzyzzzyz|{z{{z{{{{zzzzz{z|{{|{{{{yz{{zz{y{{{z{{{zy{zzzyz{|{{{|z{{zz{{zz{zz{{{{{|zzyyzz{zzz{zz{z{zzzzzzzzz{z{z|z{{{{zzyyyyzz{z{{zzzzzzyyzz{zyzzzzyzyyzyxxyzyyyzzzyzzzyyyzyyyz{{zzyzzyzzyyzzz{zzzzyyyzzyxyy{yzy{{zzzyyyyyyzzyzzzy{zyyxyxxzy{z{yzzzzyyyyzyzzyzyyyzzzxyyyzzzyzyzzzzzzzyyyyyyzyzzxzzzyyyyxyyyy{zzzzzzyyyzzyyzyz{zyyzzzyyyyyxyyyzzz{{zzyyyyyx{yzyyy{yzyyyzyzyyyzzz{z{zzyyyyxyyz{yzzzzyzzzzyyyyzzzzzz{z{zzzyyyzzzzzzz{yzzyzzxyyy{zy{{zz{yzyyzyxzzzzzz{z{zzzzzz{zzzyz{zzzyxyz{zy{zy{z{|{zzyyyzzzzzy{{{{{zzy{{yzzz{{{z{zzzzzzyyzy{{{{z{{|yz{z{zz{{{yz{|{{{zzzzzzzz{{{z{|{zyz{zzyz{{{{{{z{zzyzzzzz{{{|{{{{{zzyz{y{{{z{y{z{z{{zzzzyyyz{{{|{{yzyz{zyy{zzzz{{zzxyyyzyzzyzzzzyyyyzzyzyyzyyzzzyyyyyyxxyyyyzzz{zzyyyyyyxy{zzzzzz{xzyyyxxzzzzyyz{yyzxxyzyzz{zzzyyyyyyxyyxzzzyyzzyyyzyyyyyxyyyyzzyyyyyxxyyzyzyyzyzyyzyyyyzyzyzzzzzxxyyxyxyzyyzzyzyzzxxxyyyyzzzyyzyyyyyyyzxyzyzzzyyyyxzyxyxyzyzyzy{yyzyyzyyzyyz{z{zzzzxyzyxyzzzzzzzyzzyzxzyzzzzzyzzyyzyyyyyz{zzzzzzzyyzzyzyzzzz{zyyzyzyzyxzzzzyzzzzzzzyzzyzzzzzyy{zzzzzyzyzyzy{z{{{z{zyzz{zz{zzz{zzzzz{yyyyz{{zzzzzzyzyyyzyz{{{{{|{xyzzzzzzz{zz{z{zzyzzz{zyz|{zz{|z{z{zzz{z{y{zz|z{{yyzzzzzyz{{z{y{zzyzyyyz{zzz{{{{zzxzyzzzzzzzz{{{zy{zzzzyzzz{zy{{yyyyyyzzz{{y{zzzyxzzyyzxz{{zzzz{yzxxyzyzyzzzzz{zzzyyyyyyzzyyyzzzzyyyzzyzyzz{zyzzzyxyyzzyzz{yy{y{yyyyyzxyzzzzzz{yyyyzxzyyyzzyyzzzyyyyx{yzzyzzyyyzyzyyyzyyyyzzzzzyzyyxyyyyxyzyz{zzzyyzyyyyyyyyyzz{zyyzyyyyyyyyz{yzyzyyyyyyyzzyzz{zzzyzyyyz{y{zzzzzzyyyyxzyzzzy{zz{yyyyyyzyzz{zz{zzyyzyyyzyzzzzyzz|yzz{yyyzy{z{zzzyzzzyyyzyy{{z{zz{zyy{y{yy{z{zz{z{zzyzzzyyz{z{{{{zzz{zzy{zzyzzzzz|{zzzzzyyzy{z|z{{zyz{zz{y{z{zz{|{zzz{z{zzz{{z{|{zzzzzyzzzy|z{{y{{{zzzz{zxz{z|zzzzzzyzyzzzzz{{{{{{zzzzzyz{{{z{z{{{zzyzyyzyzzzzz{{yzzzzyz{y{{zzzzyzyyzzzzyyzz{zyzyzzyxyyxyyyyzzzzyzzyyyxzyyzzzzzz{yzyxzxzyyzzzyzy{zyyzzzyzxzzzzzy{{yyzyxyyyzz{zyz{zzzyyyxzyyzyyy{{yyyzyyyxyzyzyyzyyzyyyyyyyzyyzyzyzyyyyzxyxzzzyzy{yxxxyyyxyyzyzzzzyyxzzyyxyzyzyyzzzzyxyxxyyzzyzzzz{yyyzzxxyyzyzy{zzzyzyyyyyyzyz{z{yzyyyyxyyyzzzzyyzzyzyyyyzzyzzzzz{zy{yyy{yyzzyzzz{zxzyyyzyyzzzzzyz{zzzyyzzzz{{yz{zzy{zzzyzzzzyzz{{zzzzzyyyzz{{yz{{yzyyz{{zzyy{zzz{xz{zzyyzyz{{z{zz{yzzzzzzz{{z{z{|zzzzzzzzyzy{|{zzzyzzzzyzz|z{z{{{zyz{zyzz{zz{{{zzzyyzzzzzzz{zz{z{zzzzy{zyz{{{{{{{zzzyz{yzzzz{{zzz{zzyxzzzz|zzzzzzzxzzzyyxz{zzz{zyyyyxyyyyyyyzzyy{yzyxyyyyyzzzzz{zyzyxyzyyzzzzyzzyyyyxzyyxyzzzzz{zzyyxyyyyyzz{{zzzyyyxzzyxzz{yy{zzzzzxyyyxyzzzyzyzyzyxzyyzzyzyyyyzzyzyyxxxzyyyzy{yzyzyyzxyyyzz{yyyyyzyyxyyyyzyzzzz{zzzyzxxyyzzzzyzyzyyyyyyyzyzy{yzyxyyzzxyyzzzz{z{zyyyzyyyyzzyy{zzzy{zzyzyzz{zy{z|yyzyzyyzy{yyzz{zyyzyyyyyy{zzy{zy{yyyyzzz{zyz{{zzyyzyzxyyzzyzy{yzzzyyzzzy{z{zz|z{yzzzzzzyzzy{z{|{zyzzzzzzzz{z{{zzzzyzzyzy|{{zz{|{zzzzzz{zz{{{{{{|{zyy{yzz{{{zz{{z{zz{yzyz{{zzz{{z{yzzyzzzzzz{{zzz{zzyyzyyz{{{{{|zzzzzzzzzzz{{{{{z{y{yyyzz{{zy{zzzzzyyyyyyy{zyyy{zzyzyyyyyzzyxzzzzzyyzyyzwzzzzzzzzzyxyyzyyzzyy{y{zyzyzzyyyz{zyzzzzyzyyyzyyzzzyzzyyyyyzxyyxyxyzyzzzyzzyxyyyyzzxyzyzyzxyyyyzyyzxzzyzyxyxxyzyyzzyyxzzzyyyxzyyzzzzzzzzyyyyyyyxxyy{zy{zzxyyyyyyyzyzyzzyyyyywyxyzyzyz{zzzyyyyyzxy{{yzz{zyyzyyzzx{zyy{zzz{yzyxyzzzzyzyyy{yyzyyyzyzzzyzz{zyyzzyyzyy{zzzz{zzxyyyyyyzzzy{zzzyyxzyxzyz{zyz{y{zyyy{zyzzzz{z{|{yzyzyyzy{zzzz{z{zyzyyzyyzzzyz|z{zzzzzyzzzzzzz{{{zzyzyzzzzyzzzz{{{z{zyzyz{{yz{{{z{zyzzzyy{zzzzz{{{xyzzyyz{zz{{zzz{zyyzzzz{zz{{z{z{yzyzyzzyzzy{zzzzyzyzz{yyzz{zzzz{z{yzxyyzzzz{zyzyyyxyyzwyzzyzxzzyyxyyyyyy{zyyz|{zyyxyyzxyyyyzzzzyyyzzxyxyzyzyy{zyyzyxyxxzyzz{yz{zxxxyyyyyyyyzzzzyyyyyyxxyyzyzzzy{xxyyyyyzyzzzzzzzyzyyxyyy{yyzyzzyyyyxyxxxyyzzyyyzzyyyzyyyzzzzyyzyyyyyyyxxyzzyzzzzzyyyxyyzzxyzzzzyz{xyyzyzyzzyz{yyzyyyyyyy{yyzyz{yzzyzxzyzyyyzzzzyzyyxyyyzzzzz{|zz{yzyzyxzzzzzzyzzzzzyyyyz{{z{y{zzyyzzyyxz{zyzzzzzyyyzxzyzzyz{{z{yz{zyyzzzzzzy{{zzyx{yzyxz{zzz{zzzyyzyzzyz|{zz{z{{z{yzzz{zzzzz{{|{yzyzzzzz{{{{{{{zz{zyzzzz{zz{zz{yyyzzyzzzzz{zzz{{zy{z{yyzzzz{z{{{zzyzyyzzzzzz{{zzzyzzyzyzzz{y{zyzzzxyyzyzyzzzzyzyzyyzyyxzzzzzyzyzzyzyyyyz{{y{z{{zyyyyyyyzz{yzzzyzyyyyyyyyzzzyyzyzyyyyyyxy{zzyzz{yyyxxyyyyzzzyzzzyyxyyyxyyyzxyzzzyyzyxyyyyyyyyzzzxxzyyyyyzyzyzzyzzxxzyzyyyzzyz{zyzxzyyxyxyzzzzzzyyyyyyzyyyyyyy{yz{zxzyyyxyzyzy{zzzyyzyzyyyzz{zzzzzyyxxzzyzzzzyzz|yzzyyyzy{zyzz{{{zyyyzyzzy{zzzzzzzyzyzyyyzz{yzzzzzyyyyzzzyyzzzz{zzyyzzzzyzyz{{zzzzyzzzyyz{z{zz{{zy{yzzyzzzzzzzz{{{xyyzyzyy{zz{{{z{zzyyzyy{zz{z|z|zzz{z{{z{{{{zzzzzzy{y{yzy{{{{{z{{yzzzyzz{zz{zzzzzzzzzzzz{zzzz{{{zzzzzzzzz{{{{{z{y{zyzzzyzzz{zz{z{{zyzzzzzz{zyyzzyz{yzzyyzzyyzzzzzxyy{{yxyzzzyz{{zyzyyyyyyzzz{{z{zxzzyyyy{zzzzzzzyzzyyyxyyzy{yz{zzzzyyyyxyzyzzzzzzyyyzyyy{zzyyz{zyyyyyxzzzzzzzzy{yxzxxyyyyyzyz{yyyyzyyyyzzzyz{z{yyyzzzyyyyyzyzy{zyzyyyyyyyzyyzyzyyyyzyzzyxyzzyyyzz{zyzzyyxzxzzzzzzyzyyzyyzzz{zyzzzzzzzxyyyzyzzz{{yyyyyyyyzzzzz{{zyyzyzzyyz{{zzz{{yzzzzxyyz{zz{zzzzyyzyzyyzyzzzz{zzzyzyzzyzzzzy{{zzzyyzzyzzzz{z{{zyzzyzyzz{zz{zz{zyzzzzyyzz{{{{{{{{zyzzyzzz{{{{{z|{zzzyzzzz{{{{{{{|yyyz{zy{{{zzzz{zzz{zzzy{z{{z{zzzyyzzzzz{z{z{z{{{zzz{zyzz{z{zzz{yzzzzz{y{zz{zz{zzzzyzzyyzy{y{zz{{zzyzyzyyz{z{yz|zyyxyzzyzzyz{zz{zzyzzyyxzyyy{zyzzzzyz{yyzy{zz|{zzzyzzyxz{z{{z{zzzzyyyyzyzzzzz{{{zyyyzyyyyyyzzzzzzyyyzyyyyz{yzzzzzyyyyzyyyzyyzy{zzyzyzyzyzzzyz{{zyyyzxyyzyzzzzzz{yzzzxzzzyzyz{{{zz{zzzzzyyzzzzyzzzyyxyyyzyzyzzzz{zzyzzzyyzzyyyz{zzzzyzxzzz{{zyz{zzzzzyzzyzzzz{zz{yzyzzyzxzzz{zzzzzzzzzzyxy{z{z{{yzyzz{zyzzzzzzz{{{yyzyzzzzz{zzz{zzyyyzzzzz{z{z|{{zz{zzzzzzz{{{{z{zzzzzyzyzz{{z{{z{yzz{zzz|z{zz||zzz{{zz{zz{{{{{||{{zzzzz{z|{{zz{|{z|zzzyzz{{{z{z{{yyzzzyz{{{{{|{{zzzzzzy{|{{{{|{{zzzzz{zz{{{zz{{zzzzzy{zy{{{{y{yzzzzzzyyxz{{zzz{yzyxyyyzyyzzzzyzzyzzzyyyyzzyzzyzzzzxxyzyyzyzzzz{zyyyzyyxxzyz{yzyzzxyzyxyyzyz{y{z|yyyyyzyyyy{yyyzyzzzyyyzyyzyyzzyzyzyyxyyyzyzzzyzzyyyyyzzzzyyzzyzzzyyzxyxyyyzzzzzzyyzzxyzyzzzz{zzzyzxyzyyyzzyzzzzyzyyyyxzxzzyyzzyyyzzzzyyyz{yzzzzzzyxyyyyzzzzyzzzzyyyzzyyzyzy{zzzzyyyyyxzzzz{{zzzz{zzyzyzyyzzzzzzzyy{yyzyyzzzzyzzzzxyyyyyzz{{zy{zzzzzy{zz{yzzzz{z{yy{y{zyyzzzzz{{zzzzzyzz{{{zzzz{{zyzzzzzyz{{z{{{zzzyyzzzzz{{z{zzz{yz{z{zy{{z{{{{{{zzzzyzz{z{{zz{zzzzyzzzzyzzz{{{{{z{zzzzz|zzz{z|{{zzyyzyyz{zz{{{{zzyyzzyyzzz{zzzzxzzyzyyzzy{{{zzyyzyyyxyyyyzyzyzzyyxzyxyyyzzzz{{zzzzyyyyyyyzy{{z{yzzzzyyyzzzzzyz{yzzyyyyyzyzzzzz{yzzyxzxyyyzzyz{z{yzyxzyyxy{zyzyzyyyyyyxyzzyzzzzzyyyyyyxxyzyzz{zzyyyyyxyxzyzzzzzzyyyyxzyyyzyz{z{zzyzxyxyxy{zyzyzzzzyyxyyyyzyzz{y{zxyxxzyzzzyyzzzzzzyxzyyzzz{zyzzyyxzxyyzzzyzzz{z{zyzyyyyyz{y{zzzzzzyzzxyzzzzz{zzzzzzyzyxzz{zzz{|zyzyzyyyzyzzzy{{{zzy{zzyyzz{{zz{{{zyxyyyzzzz{{z{{zyzz{zyzzzzz{z{{zzzzzyzzz{zz{{{{zz{zyzzzzz{zz{{{{zzzyzzzz{zz{z{zzzz{yyzzzz{{zz{{zyzzyyyzz{zz|z{{zzzyzzyzzzz{{zzzz{zzzyzyzzz{z{{z{zyyxzxzz{z{yzz{z{zzzzzyzz{zyzzzyyyyyyxyyzzy{zzzyyzyxxxxyyzzz{zzyyzxyzyy{zyyyzzz{yyxyxyyyzyzyzzzzyy{yyyyzzzzzyyzyyyxxyyyzyzyzzzzzzyyzyxzzzyyyzzyzyyxyyyyzzx{zyzzyxzyyyzyyzyzyz{yzyzyyyxyzyzz{zz{zzyzyyyyyzzzzy{{zyzxyzyyyyzyzzzzzzzyzyyyyzyyzz{zyzyyyzyyzy{zyz{yzyxzzyyzzyyzyzz{zyyyyyzyyyzyzzz{yzzzzzzyzzzzz{zzzyyzyzyzz{yz{{{{xzyyzzyy{zzz{z{zzyxzzzyxyy{zz{zzyzzzyzzzzzzzy|{zzzzzzy{{zzzzzz{zzyzyyyyzz{{z{zzzzxzzzzz{zz{z{{{zzzyz{{{yzzz{{z{zzzzyzzzyz{zzzz{{zyzzzyzz{{yzzz{zzyzzzzzz{{{zzzz{zzzzzy{zz{z{y{z{zyzzzzyzzzzzzyzz{yzyzzzzz{yz{{|zzzyzzzzyyz{{zzzyyzyyzyyzyzyzyzyzzzxyyyyzzzyyyzz{zzyyyyzyzzzzzzzzzyzxyxxyzyyzzxzzyyyyyyxxzyzzyzzzzzzyzyyyyzzyz{z{yyzyxyyyzyzyyzyyyyyyyyxyyxyzyzzzyyyyxxyyyyzzzzzzzyxyzyyyyz{yyzzyyyyyyyyyyzzzyzzzyyzyyxyxyz{zyzzzyyxzyyyyzzzzyy{yyzyyzzyyzzzzzyzyzyyxzxyyyzzy{{zzzyyyyzzyy{z{z{{{yzyzzzyxzzyzyy{zxyyzzyzyy{z{zzzzzyzyyyzzzzzyyyzz{yyyyyzzzz{{zzz{zyzzzzyz{zzzzzy{yzz{zzzz{{zzy{{{zzzzzzy{zz{{{z{zzzyzzzzyz{z{{z{zyzzzzzzzzzz{z{z{zzzzyzz{zzz{z{{{yzzzyyyy{{{|z{{zyyyzzzz{z{|{zzzz{zz{{zz{z{z{{{{{zz{zzyyzzzzz{{z{zzyzzyzzy{{zzzzzzzzyyyzy{zzzyzzzzyyyyyzxx{|zzyz{zzywyyxyyyzz{{zzyzzyyzzy{zyzzz{zyyyzyxyyzzz{yyzzzyyyxyyx{yyzy{yzyyyyyzyyzzyyyzyzyxyyyyzyzzzyzzyzyzyyzzyyzzyzy{yzxxyxyxyyyyzyyzzy{zyzyzxyzy{yzzyyyxyzxyyyyzzzy|zzyyxzyzyxyzyyzzzyyyyyxyxyyzzzyz{zyyyy{yzyzz{zyyzzzyxzzyyyz{{zzyz{zzyyyxzzyzzzzzzzyyyxyyzyyzzyyzzyzyzyzyzy{yzzzzzyzz{yzzyyy{yzy{yzzyyzyzzzz{yzzzy{zzzyyyzzzyz{{{{{zyyy{zzyyzz|{{yzyyyyzyyy{z{z|z{z{zzzzzzzz{zz{{zzzy{xy{{z{zz{{|zzzyyzz{{{{|{{zz{{{yzzzyyzzzyzz{zzzzyz{zyzz{zz{{{{{yzz{zyz{{zz{zzzzzyz{y{yz{z{zz{yzyyz{zzzzzyzyz{zzyzyzyzzyzzzyzyzzzxyyyxyzzzzyzyzyyyzyxyyyzzzyz{zzzyyyzyx{z{zzzzzyyyyzywyyz{yzyzzyzyyyxzyyy{yzzzzyyyyyyzyzzzzyzzyyzyyyyxyzzzxy{yzyyyxyyxxyyyzzzzzyxyyyyxyy{yyzzzzzyyyxyyyyzzzzzzyzyyzyyxxyyzzyzzzyyzzyyyxyzyzyzzzzyzyyyyyzzyzz{zyzxyzyyzyy{zzzzzzzyyyyyyyzzyyzyzzyyyyyyzyyzyzzyyzyzyyxyyzyz{z{{z{zyzyzyyyyzzzzzzzzyyyyyyyzyzzzyzzzyyzyyyz{z{zzzz{zz{yzz{zzzz{{{yzyz{yzyzzzzyzzzzzyyyyzzyzy{z{{{|{{yzzzy{z{z{{{|{{{zzyzyzzzz{z{|{{zyyyyyzzz{{zz{{{{zzzz{{z{z{zzzzz{zzzyzzzzzzz{{z{{z{zzzyz{zzzz{zzzzyyzyzyz{yz{z{zzzzyyyyzyz{zz{zzzyyyzyyyz{zzyzzzyyyyyyyxyyzzzzzzyyyzyzyzyz{{{{zzzzyzyyyyyzzzzzzzzzyzyzzyzy{{zz{{yyzyyyyyzyzzzzz{yyyyzzzyyzyyzzzyzyyyzzyyyzzyyzzzyyzyxzyyyzzzyzzzyzyzyyxyz{zzzzyyyyzyyyyzzyzzzzz{zzyyyyyyy{zzzzzzyyzzyyyyzyyzyzyzyyyxzxyyyzzyz{zzyyzzyzyzzzy{{zyzzyyyzyyx{zyzy{{{yy{yyyyy{yyzzzzzzzzyyy{zzzzzzyz{zzzyzxyzzzzzy{|zyzzyzyzzzzzzzzzz{zyzzzzzzz{yzzz{zyzzzyyy{zz{{{zz{zzxzzzz{{z{{z{|zyzzyyzzz|{{zzzz{yzz{zzy{{{{z{|{zz{{yz{zz{{{{{|z{zzzzzy{z{{{{{{{zz{zzz{zzzyzz{{z{zzyzzz{z{z{{{{{{zzz{z{{z{{{{z{|yyyzyzzzz{z{{z{{{zzyzyzz{{zz{{{{zzyyyxzy{zzz{zz{yyyzzyxzz{z{zzzzzzyzyyyzyzzzz{zzzyyxzzzz{zzz{{|zzzzyyzzzyzz{z{z{zzzyyzzxzzyzz{z{yyzzzyyyzyzzzz{yzzyyyxyz{yzzyzzzzzzzzyyzyzyzzzzyyzyzyzyyyzzyzzzzzyzzyyxyz{yzy{z{{{yxxyyzyz{zzz{{zzzyyyzyyzyyz{zzyzzzxzyyyy{zzz{{zyzyy{yyzz{zzz{{z{zyzyyzyzzzzzz{zyzzyzzzyzzzzz{zzz{zyyyzyzzz{z{zyzz{zyzzzzzz{{z{yzzyzzzzzzz{{{{zzzzzyxzzz{{zzz{zyz{zz{zy{zz{z{{{zz{zy{y{|{z{y{{zzzzzzzzzz{{|zz{z{yzzzzzzz{z{{{|{zzzzz{zzzzzz{{{{{zzyz{{z{|{z{{z{{z{{zzzz{zz{{{|{{zyyzyz{{{{{z{||{zz{zzzzz|{z{{{{zzzy{zyzzz{{{{|{zzz{z{zy{{{zzz{{zzzyzzyy{{{{zzzyyyyyyyzyyzzzyz{zzzyyyyyyzz{zzzzz{yyzzzyzzzyzzzz{zzyyyzyyyz{zyzy{zzyzzxzxz{zyzyyzxzyyyyyyyzzyz{{zzyyxyzyyzzzyy{yzyzzyyxyxzzyz{yzzyxyyxzyzz{zzzzzzzyzyzyyzzzzzzyyzyyyyxyzyyz{zzyzzyxzyzzyxyz{yz{zzzyyxyyyyz{yzzz{{zyzyyzzyyzy{zz{zzzzyyyyzyyyzzz{zyyyzyyyzzzzx{{{{yzzyzyzzz{zzzz{zzzzyzzzzzzz{z{{zzzzzyzyy{{zzz{zzz{zyyzzyyz{yzyz{zyzz{zzz{zz{z|{{zzzzzz{{zzz{{{{{zyzyzzzzz{zz{{zz{zzy{zzz{{{{{z{|zzyzyyzzz{zz{{zzzyz{{zyzz|z{{z|{{zzzzzyz{zzz{z{zz{zzzzz{|{zzz}{{z{{zzzzzz{zz{|z|y{{zyzy{z{{{z{{{z{zzyzzyzz{{z{|zzyzyzyzz{{zzzzzzzyyyzyyxzzzz{zzzzzyyzyyyzz{zzy{zzyzyyyyyyzyzy{{{xzzyyyyyyyz{{z{z{zyyyyyyzzy{z{zzyyyyzyyyyzzzzzzyyyxyyyxyzz{zzzz{zzzxyyyzzzzzzyyzwyyyzzyyzzzzyz{yyy{{yyyyzzzzzzzzzyxyyyyyyzzyzzz{yxyyyzyyyzzzzzzyzyzwyyyzyyyzzzzyyzyzzyyzzyy{{zz{{yyyyyyzzyyz{zzzzyzyyyzzzzzz{{zzzzyzzyzzz{zzz{{{{yzzyyzzz{{zz{{{yzz{zzyzzzzz|{{zzyzyzzzz|{{zzzz{{zzzzzzz{{z{{{{zzyzyzz{zzzzz{{zz{zzzy{yzz{{zzz{{{zzzzz{{{{|zzzz|zyzyzzzyzzzz{z{{zyzzz{{z{{||{{{z{z{zzyzz{{{z{{zz{yzzzz{zzz|{|{zz{zzz{{y|zyzzzz{zz{zzyzyzz{{z{{{{{zzzyzyzy{z{zz{zzzzyzyyzzyzz{zy|zyyyyyzxxzzzzzzzzzyyyyzyzzyzzzz{zy{yzyzyzyzzzz{{{xzyxzyyzzz{yzz{zzyxyyxyyyzzy{zzxyyyzyxyzzyxz{zzzyzzxyzz{yzyy{yzyzxy{yyzzzyzyzyzyyyyzyxyyzyyyzz{yzyyyyxzyz{{zzzzzzyyyxxxzzzzzzzyyzxyzyyzyzzyyzzzzyzzyyyyxyyzzzzzzyzyyyyxyyzzzzzzzyzyxyzxyzzzzz{{yyyyzyyyzzzzz{zzyyyzyyyyzzzzzz{zzzyyzyyzx{z{{{zzzzzzyyyz{{|zzz{zzyyzzzyz{{zzyzzzzzyzzyzzzz{{{zz{zzyyzzyz{zz{z{z{zzzzzyyzz{{zz{z{zyzzzzzyz{{y{zz{y{zz{{zz{{z{z{zz{zzzzzzyzz{{zzzz|y|zzyzz{z{{{{z{{yzzzyyz{{{zzz{{zy{zzzyzzz{{{|z{zz{yzzyz{{zz{{{{zzzyzyyyy{z{yz{zzzzyyyyyzyzzzzyzyzyyzyyxyzzzyzzzzzzyyyyyzzzzz{z{yzyyyzyyzzy{yz{zzyzzxyx{zz{{yzzz{yzxzyyyz{z{zzzzyzyyyzyxzyzyy{{zzyzzyzyz{zzzzzzzz{zyyyyyzyzz{zzzyyzxyyyyyzyyyz{zzyzyyzyzyyy{zzyzzyyyyyyyzz{{zz{zzy{yyyzyz|zzzzzz{zzyzyyyy{zzzyy{zyzzzyyxzzzzzz{zzyyyzyzzzzzzzzy{zxzzyzzz{yzz{zy{zyzzzyzzz{{zzz{{yyyyyzyzzz{zzzzzzzzzzzyy{z{zzz|{zyyzzz{yz{z{zz{yzzzyzzzzyzz{z{zzzzyzzyzy{{zz{{z{yyz{zzyzz{{zzzzzzzzz{yzz{|zy{{|{|zzzz{zyz{|zz{{{{zzyyz{zz{{z{{{z{y{zzzz{{{|zz{{z{zzzzzyyzzz{{zz{{zzz{{zzz{{{{{{{zz{yzyzzyzz{z{{|z{yzyzzzz{z{zz{{zzzyyzyzzz{yzzz{yzyyyzzzyy{z{zyyyyyyyxyyyzxzzyz{zzzyyyyy{zzzzzzzyzzyyyzyzz{yyyzzzyyzyyzyyyz{yzx{yyyyyyzxyzyzzzzzzyzzzyzyzzyzyyzyzyyyyyyyz{yzzyzzyxyyyyxyyyzyy{z{zyzzyzxyyxzzzzz{zzyyyzyyzyzzzz{{zxyyyyzxzzyyzzzyzyyyzzxyz{yzy{{zzyzyyyzzzzyyz{{{zyyzzzzzzyzzz{zzzzyyzyzzzzz{yzzzyyzyyx{zzzzzz{zzyyyyzyzyyzy{zzyzzzyzzzzyz{z{zz{zzzyzzzyzzzzzzz{zyzyz{zzz{zz{zzzyy{zz{{zy{|{zz{zzyzzzzzyyzz{zzz{zzz{zzzzz{{z{zz{|{z{zz{{z{zzz{{{{|yzzzzz{y|{z{{{{zy{{zz{{{{zz{zzzzzzzyzxz{|zz{z{{{|zzyyzzz|{{{{z{zzzzzzyzz{{{{{{zzzyyyz{yzzzzzzzzzzzyzyzyzzzyz{zzyyxyyzxxzyzzz{yzyzzyyxzyz{yzyz{zyyyyzzyxzyzzz{z{zyzyyyyzyzyzyzz{yyzzyyyyzzzzzzzyyyyyyzyyyyzzzyyzxyyyyyyz{y{yzzzzyyxyxzyyyyzzyzyzyzyyxxzzyyzzzy{zyyzyxzwyzzzyyyzzyzyzyzyxyzy{yz{zyyyyyyxyyyyzyzzzyyyyyzyyyzyyzyzyyyzzyzzyyzyzzyzyzyyyzyyzzzz{zzzzyzyzyyyz{yyyzz{zzyyxyzzyzzzyzz{{yyzy{zyyyzzzzzzyyyzyzyyzz{zz{z{{{yyyzzyzzzyzzzz{zyyyyzyxzyz{{{{zyyzzy{zyz{z{zzz{zzzzyxzz{zzzzz{zzzyzzzzzz{z{z|{{zzzyzzzzyz{z{z||{zyzzyyzz{{zzzz|zz{zzzzyyzzz{{{zzzzzyzzyzzy{{{{{zzzzzzzzzz{{{|{{{zyyzy{yz{zz{{{{{yyzyzzy{zz{{z{{zy{yzyzyyzz{zzzyyxyxyyyyyzyyzzzzzyxyyzyxyzzyzz{zzyyyzzyyyyzzzy{zzyyzzzyyzzzzyyzzyyyyyyyx{yz{zzz{yyzyxyyyzyyyzzyyyyyyyxyxzz{yzyzyzyzyyzyzyyy{{zyyxyzzywyzyzzzzyzzyyyyzzxzzzzzzzzyzyzywyzyyzz{zzz{zyxyzyyxzyyzzyzzyzyyyxyzxzzzzzzzyxzyzzzyzyzzzz{z{yyyyzyxzzyzzzz{yyzyzxzy{zzzy{{{yyzyyzyzzyz{zzzzzyyyzxzxz{zyz{{z{yyyyyzyz{z{z{{xzyxyxyzx{zzyy{zz{zzzzzyyz|z{{{zzzzz{zzy{zzz{z{{{yyzzyzyyzyz{{z|zzzyyyzzyz{z{{{{{zzzyyzyz{{zz{{{{{zzz{zzy{{z{z{{{{zz{zyzzz{z{z{{{zzz{zzzzzz{z{{{{z{zz{zy{{y{{{z{z{{zxzyzyzzy{zz}z{{zzyzyyzzzzzz{yyzzyzzzzzzy{zzzyzyxzyxzxzzzzy{z{yxyyyyyyzz{z{{zzzyyyyxyyy{{yzzz{zyzyxzyyzzyyyz|zyyzyyyyxzzzzzzzzyyyxyzyyyzzzzz|zzyyyyyyzyz{zzyzz{yyzyyyzzyyzzzzzyyyyyzyyyzyzy{zzyyzzyzzzyyyyzzzyzyyxxyyyy{yyzz{zzyyyyzzyyzyzzzzyzzzyzyyxzyzyzzyzzyzxyxzyzzyzzz{zzyyyyyzyzzzz{{{zyyzyyxzyyzzzz{zzzyzyzyyyzzyzyzz{zzzyzxzyzzzz{{{zzyzzzyzyzzzz{z{zzzzzzzyzz{zzzzyzyyzzyzzz{{{{{{{{zzzzzyzy{{{{zzz{{yyzyzyyzzz{{z{{z{zzzzzz{z{z{{{{zzzzyz{zz{{z{{{{zzzzy{zzy|{{{|{{{zzzzyzz{z{{{|{z{yzzyz{yz{z{zz{{z{zzz{zy{{{{{z{{zyyyzyyyz{z{{zyzy{zy{yyyzyz{zzzyzzzyzxyxzz{zyzzzyyyyxxzyy{zyy{zyxzzyyxxxzyy{zzzzyyyxyyyyzyyzzzzzyyzyyyyyzzyzzy{zzyyyyxzyzyyzzzzzzyzyxzyyyzyzzzyyyzyxyyyxyy{zyzzzzzyyxyyxyyzzyzyzyyxzyyyyzzzyyyzyyyyyxyyyxzyyzy{yxzzyyyyzyyzzyzzzzxzyzxyyyyzyzzyzyzxyyxyyxyzyyzzzzyzyzyyyzyzyyz{{zyyyyyzzzzzzzzzzyyy{yzzzzyzyzyzzyzzyyyyzyyzzzz{zyyyzzxyxz{zyz{zyzyyyyzzyzz{yzz{zzzzzzzzzzz{yz{zyyyyzzzyz{y{{{{zzzyzyyz{yzzz{z{{zyyzzyyyyz{zyzzzzzyyzzyzz{zzz{z{{zyyzzzyzz{zz{zzzzzyzxz{zy{z{{{|{{yzzzzzyzz{{zz{zzyzyyzyzzzzz{z{{zyzzzyz{zzz{{z||zzzyzzzzz{zyzz{{zyzyyzyyz|{yzzzzzyyyyyzzyyx{yz{zywyyyyyyyzz{{z{z{zyyyxyyyzzz{z{{yyxyyxyxyyyzzzz{zyyzzyyyzzz{zyzzzzzzyyyy{zz{yzz{zzzyxyzyzzzyzyy{yzz{zyzyzz{zz{yyyzyyxzyyyyyzyzzzyxzyyyyyyyzyzzzzyzyxxyyyzyzzyzz{yzyyxyxyyzyzzyzzzzyyyyyyzzzzyzzyyyyyzzzxzzzzyz{zyyyzzyzyy{y{zy{{zzyyyyzyz{zzyzz{yzzyyyzyzzzzzyyzyyyyy{yzzzz{zz{{zyzzzxyyz{zyz{yy{yz{zyyyzz|z{zzzyzzzzxyzz{{yzyz{{z{{{{zzzzzz{{zzyzyzyz{y{z{{z{{{zyz{zyyyz{{zzzzz|yyz{zyz{{z{zz{|zzzyyz{zzzz}{{z{yzzzz{zzzz{{{{{{{yzz{zzzzz{{{{|{zzz{zzz{z{{{{||zzzzzzzzz{{z{{{{|zzzz{zzyz{{zzz{z{zzyzy{zzz{zzzzzzyzyyzzyzzzyzzzzzyyyyyyyyzzzzzzzyyyyyyzyyyz{zzz{yzyyyzzyzzzzzz{{zyzzyyyzzzyyyz{zyzyyxyzyzzyzyzzzxyyyyxyzxyzyyyyyyzyyzyzyzzzyzy{xzzyyyyx{zyzzy{zzzyzyzyyzyyyyy{zzyyxxxzxyyyyyzz{zzyzyyyyyyyzzzy{zyzyyzxyzzyzzyyzzyyyzyyyyzzyzy{zzzyyyyzyyzzzzzzzzzzzyyyyyz{yyyz{zzzzzyzzyzzzyz{{zzyyyyyzyzz{zz{{{zzxyzy{yyzz{z|zzzzyyzzyzz{zzzyz{zzzzyzzzzzzzzzzzz{zzyzyzzz{z{z{zz{zzzzzz|z{zz{z{zzzzzzy{z{zz|{zz{zyzzzzzz{{{z{{zz{yzzyzzzzzz{{{{zy{yzz{zz{z{{{{z{yzzzzzyz{z{{{{{zzzzzzyz{{z{{{{{y{zz{{zzz{{{{|{{y{{zyzzyz{{{zz|{zz{zzzz{yzz{{z{zyyzyyzzyzyzyzzzzyyyzzzyxyzzyyzzzyyyzzyyyyzyyz{{zzzyzyz{xzzzzzz{zzyyyyyyyzz{zzyzzzzzxxyyyzzyzzxyzzzzyyyzyyzxzy{|zzyyxzxyzzyzyyzyzzyyyy{yyyyzzz{{zyyyyzyyzzzzzyz{yzyyyyzyzzzzz{zzzyyyyxyyyyyyzyzz{yyyyzyzyyzyzzz{zzzyyyyyyyzzyzzzzyyyyy{yxyzzzzzzzzxyyyxzzzyz{{zzzzzyyzyyyyyzz{zzzzzyzzyzyz{|zz{z{zyzyzyzyzzz{z{y{{yzyzyzyzzzzz{zzzxyzzyyyz{{zzzz{zzzzzzyzz{zzzzz{zzzzzzzy{{{{yz{{{yyyzyz{zzz{{z{{zxzzzzzz{|{z{{|{zyz{zzz{zz{{|{{{zzyzzzzzz{z{y{|{z{{zzz{{zzz{z{{{{zz{zzzzz{y{{z{{z{z{zzyz{{z|{{|{zzyyzzzzz{{z|{{{z{zyyy{xzz{zz{{zzzzzzyyzz|zz{zzzyyzyyxyy{z{zzzzzxxyyxxyxzyzzzzzzyyzzyzxyzyyzz{{zyyyyyyyyzzyzzyzyzzzyyyyyzy{zyz{zyxyyzyzyyzzyy{{yzyyyzyyyzzzyyzzyzyyyyyyyyyyzzyzzyyyyyyyyyzzxzz{yzyyyyzyyzzzyzzzzyyyyyyyy{zz{zzzzyzyzzxzxzzzyyzyzzxzxzxzxzzyyzzzzyxzxyyyyyyzzzz{{zyyzyyyyyzzzyzz{zyzzyyzyz{zz{yz|xzyzyzzzzzzzy{zzzyzzyxyyz{zyzzyyzzzzyyzzyz{yyz{{z{yzyzz{zzz{{zzzzzzzzzzzz{zzzz{{zzz{zzzzzyz{zzzzzyyzzzzz{zzy{z{zzzyyzyzzz{{zz{{zzz{zzzzyzz{z{{{z|zyzy{zzz{{{y{{z{zy{zyzz{zzzz{z{{yyzzzzzz{z{zzzz{zzzyzyz{{{y{{{{zzzzyyzzzzzz{|z{zzyzyzzzz{zzz{zzyyzyyyxyyzyzyyzzyzyyzyyxyz{zzyyzzzxyyxyyzzzzzzzzyyyyxyxzyyyzyz{zzzyzyyxyyzyzyyzzzyyxxyyxyyyzzzzyyxzxyxyyyzyyyyzzyxyyzyyyzz{yzz{zzzzyyzyyyyyyyzz{zyyyzxyxzyzzyzxyyyyyxyxyyyyzzyzzyyyyzyxyzyyzz{z{yzxxyyyyyyyyyyzzyyyxyyxyyyyzy{zzzzzzzyyyzyyyzzzyzyyz{yzyyzzyzzzzzyyyyxzzzzzyzzzzyyzxyzyyyy{zz{{{zzyzxzyyyyzzyz{z{yzyzyzyzzz{z{{zyyyyzyzzzzyyy{zzzzzyxzyzzz{z{zzzyyzyyyzyzyz{z{z{zyzzzyyy{{z{zzzz{yyzyyzyz{z{z{|{{zyyzzzzzzz|z{|zzzzzy{zzz{z{{z{zzwzzyzzzyzzzyz{y{yyzzzzzz{zy{{z{{z{zzzzzz{z{{{{{{yzyzyzzzzzzz{{zz{zzyyzzyzzz{{{zyyyzyxxyzzzyzyyyzyyyyyxyyyyzyyzzyxyzzzyzy{zzyzzzzyyyyzyzzyzyz{zyzyzzyxzyzzzzzzzzyzyxyyyyzxyzzzz{yzyyyyyyyzzyy{zzzxzyyyyzzzzyyzzzyyyyyyxzzyzzyyyzyyyyyxyyzzzyyzzyyyyzxzxxyyyz{z{zyyzyxyyxyzz{zz{zzyyyyzyyyzzyyzzyzyyyyyzzyyzyz{z{yzyxyyzy{yyzzzz{yyyyzzyxzyyzyyzzzzzyyyyyzzy{{zzzzyzyzzyzyzzzyzzzzyyz{yzzz{{z{zzzzzzy{zzyyzzz{{{zyxyzyyyzzzzzxzyzyyzyyz{{zz{|{{z{yyyzzy{zzzz{z{z|yyzzzyyyz{zz{zzz{yzzyyzzzzyzz{{{{{zyzzzzzzzz{zzzzzzyyzzyz{z{{{|zzy{yzzzz{{zz{z{z{yzz{zyz|zz{{{{{{{{z{{zyz{{{zz{{{zyyzxzyz|{zzz{zzyzyyyzzzyyzyzzzzyzxxyyzyz{yzzyyyyzxzyyyyzzy{{zzxzyyxyyzxzyyyyzzzyyyyzxy{yzzyzzzzzzxyxyyyzyzyyyzzyyxyyyzzyzzzzzyyyzxxzyxyyzyzzzzyxyxyyxyyyzyyzzyzyyyyzyyzyyyyyzzyxyyyxzyyyzzzyz{yzyyxyyyzzzyyyy{ywzyxyyxyyzyyyzyyyxzzzyyyyyyyyzyxyyxyxyxyyzzzzzyzyzxyzyyzzzzzyzzzxzyzyxzzyy{zzyzzzyyxxzxzzyyzzzzyyyyyzzyyyzyzz{zzxyzyyzyyzzzz{y{zyzyzyyyz{{yyz{yzyzzyyzy{yzzz{zzyyyyzyyyzyz|zz{{xyyyzzyy{yzz{{{zyyzzzyzyzy{|{zzzzzyzzzzzzz{zzz{{zzzxzzzzzzz{z{{zzzyyzyyzzz{{|{{z{zyzzzyz{z{zzzzzzzyzzzzzzzz{{{{{zyzzyyyyzzzzzzz{zyyyyyyyzzzz{z{{yzzyyxyyzzz{zy{zzyyyzyyyzzzyyyyyzzyyxyxyyzyyyyzzyxyyyyyyzyyyyyzzzyyzzyyyyyzzyyz{yyyyyyyy{yzzyyzzyzyyyyxyyyzzzyyyyyzyyxyyxzyyyyzyyyyyyyxyzzzzzzzyzyzyzxzzyzyzy{zzxyyyyyyyzzzyzyzyzxwyyyyyyyyyzzzyxyyyxxxyyxzzyzzyzyxyyyyxzzyzyzzyyyyxyxzyzzzzy{zyyxyyyzyyzxzyzzzzyyyyxxzzyz{yy{z{zyzyyyxyyyyzzy{{yyyzyyyzy{z{z{zzzxzyyyzyyzzzzzzzzzzzyzyyzy{zyz{zyyzzyyyyz{zzz{zy{yzyxzz{zz{{{z{zyzyzzzyyzyzz{{{{yz{zyyyy{zzzzz|zyyyyzzyy{{{z{z{|z{{zyzzzz{zyzzzy{zyyzzyyy{z{zz{z{zzzyyzz{zz{zzz{yzyzyyzyzzz{{zz{zzzzzzyz{{zzzzz{zyzzyyyzzzzzy{{zzyzzzyyyz{zzyz|zzyzyyyyyy{zzzz{yyyyxywyyzzzyzyzzyyzxyyxyzyyyz{y{zyzzyyzxzz{yyyzyzzyyyzyxyyzyyzyzzyyyxxyyzz{yyzzzxzyyyxyyzzyzyzzzzyyyyyyzyy{zyzzyyxzyyyyxyyzyyyzyxyyyyyyyyyyyzzzyzyyyyxwyzyzyzyzyzxyyywyzzzzzyzzzyxyxyxzyxyyyzzyzyzyxyyxxz{yyzyzzyyyxzyyxyzyzyz{zxyzyyyyy{zzzzz{zyxyzyyyz{zzyx{{{zyyzzzzyzzzzyz{zzzzyyyyyzzzzz{zzyzzzyxyzzzzzzzz{yzzzyyyyzyyzzzzyyzzzzzyyyz{z{zzzyz{yzyz{{zzzzz{{zyyzyzzy{{z{yyzzzzzyzz{yzz{z{z{{zzzzzzyzz{{{zzz{{yz{zyzyz{yz{z|z{z{zzzzzz{z{{z{zzzzzzyzzzzzzz{{{zzzzzzz{zzzzz{{{yzzyyxzz{zzyzz{{{yzzyzyzyzzzzzzyzzzyxyzyzzzzyzzzyzzzyyyyyzyxzzyzzyyxzxyzzyzz{zyzyyyxzyyyzyyyzzzzzyzyyyyyzzzzzzzzzzyyyyyyyzzzyzyzyyzyyyyyzzyxyzzzzyzyyyyxzzzzyzzzyyyyxyyyzzyzy{yzzyzyyyzzzyzyyzxzzyzyxzyyzyyzzzzzzyzyyyyzyzyzyz{zzzyyyyzyy{zyyzyzyyzyyyyxyzzy{yzyzyyzz{yyyzyzzy{|yyyyzyyyzzzzzzz{yzzzzzyyzzzzzz|yzyzzyzyxzyzzyzzzzyzxyyzyz{zzz{zz{yzyzyzzzzyzyzz{zyyzyzyyzzzyzzzyzz{zyzzy{zz{|z{zyzzz{z{{yz{z{z|z{zyzzzyyz{zzzz{zyzzz{zyz{{zz{{|{z{zyzy{zzzz{z{z{{zzyy{zzz|{z{{{{zz{{zzzy{zz{z|{{zzzzzz{y{zzyz{{{zzzz{zzy{z{z{z{{zzyz{yyyz{z{z{{{zyyyyzzzz{zz{y{zzzyzyxyzzz{yzzzzyyxyyyzzz{yyzyzyyyxyxxyyyz{zzzyzyyzxyzyyzzzzzyzyyyzyyyyzyz{yzyyzzyzxzyyxzzzzyzyzyyxxyxzyzyzzyzyyyyyzzyyxzyzzzzyy{yxyyzyzyyzzyyzzxyxyzyyxyzy{zzyyzyzyyyxyyyzyzyzzyyyyzxxyyyzzyzy{zyyyyyyxyyzzyz{yzyzyyyyyzzyzzzyzzyzyzzyyzzzyzy{{yzyyzxyzzz{yyzzzyxzyzzzyzyzy{{z{zxzyyyxzyzzzzy{{yyzyyyyyzzzzz{z{zyyyzyzzzzzy{z|{zyyyyyzyyz{{zzzzzyzyzzzy{{{{zz{zy{zxzzyzzzzzz{{yzyzyyyyzy|{zzzzzzzzyzzzzz{zzzzzzzy{zzy{z{zz{{{{yzzyzyzyzz{{{{z{z{yzzzzzyzzz{zzzz{ywyzyy{zzzzz{zzz{yzzzzzzzyzzzz{zzzyyyyzz{y{zzz{zyzzzzyyz{zzzzzzzy{yzyzyzyzzy{{zyyyyzyyyz{yyzyzzyyyzyyyyyzz{zzzzyyyyzyyzzyzzyzzzzz{zzyxyzyz{yyzzzzyzyyzxzzyzzyz{yyyyzyxxzzzzz{zzzzxxzyyyzyzyyzyzyxzxyyyzyzzzyy{zzyxyzzzyzz{zyzyzyyyyyxxyzyzxzyzzzyyyxyyyzyyzyz{|yyyxyyzxyyzyyzzzyyyzyxzzz{yyzzzzzyyyzyyyzzzzzy{{yyyyzyzyyzzz{{{{z{zyyy{yzzzzzyzzyzzzyzzyzzzzzz{zzzzzzyyzyz{zz{{zzyyyz{yzz|z{{zzzzy{y{yzz{zzzz{z{zyzzyzzyzz|{{{{zzz{zzy{z{{z{{{{{zzyzzzyz{z{z{{|z{yyzyzyz{|zzz{{{zz{zzzzzz{zz{{zzzzzzzzyzz{zz{{}{{zzyz{{z{zy{zzzzzzzzzzzyz{z{z|{{zz{{z{z{zzz{y{{{zzzzzy{yzz{z{{|{{zzzyzzyz{{{yz{zzy{yyzyyzz{zyzzyyyyyyyyyyzzzyzyzzzxyyyyyzyz{z{z{yyyyyyyzxyyzyzz{yyzyzzzyy{zzyzzzzyyyyyyxy{z{yz{zzzzyzyyxzxzyy{yzzyyzzzz{zzyyzyzyyzxyxzzyzyzzzzzzzyxyyyyxyyzzzzzxyyyyyyyyyzzyzyyzyyyxyyzxzyzzzyz{zyzyyyyyzyzyyzyzzzyyyzyyyzzyyzyzyyzzyzyyzzzzzzzyyyyyyzzyzzzzzzzzzyyyyzzzz{zyzyz|zyzyzzyyzzyzzzzzzxzyzyzyzzz{z{z{yyyyzzyyzy{{zzz{zzyyyyyzy{yzz{z{{zzzzyzzyz|z{z{zzzzyzy{y{{yzz{{{zzyzyzyy{{{yzy|zyyyzzzyz{|z{{{|zzz{yzz{yz{zz{zz|{zz{{zyz{{{{z{{{zzzyzyzzz{{z{{{|yzyyzzz{zzzzz{{{{zzz{{z{{{{{{z{zzz{zyzyzzzz{z{z{{zzzyzzzz{z{{z{{yyz{zyzzz{yz{z{zyyyyzyxyyyyzzyyzyyzzxyyzzzyzz{y{zyyyxyzyzyyyzzzzzyzyyxyyzyzzyzz{yyyyyyzyyyyzx{zyyxyyzyzyyzzyzzzzyyyyyyzyzyzyy{yyyyyyyyyzzyzzyzzzyxyxyxyyy{yyyzzyyyyyxyxzyyyyzzyzyyyyxyxxzzzzy{zzzyxyyyyyyyxyyzzyyxyyyyyyyzzyx{yyyyyxyzyyyzzzzzzyyyyyyxyxzzzzzzzzyxzyxyzzzzzzz{y{zzyyxyyyzzzzz{z{zyzyzyzzzzy{{zzzyyzzyyyyzzzyzz{zzzyyzzyyzzzyz{y{zzzyyzzyzz{{zzz{zzzzyyzzzzz{zzz{zzzyyyyyyzzzzz{zyyyyzzxz{{z{z{{zyzzzzyzzzzzyzz{{{yyyyyy{z{z{{{zz{yyzzyzyz{{{zz{z{zyzzzyyzy{z{z{{{zyzzzzzzz{z{z|{zyzyzyzyzz{zz{z{zxxzyyyyyzz{y{z{yyyyyyyyy{zyzyzyyzyyyxxxyzyyzyyyyyyyzxyxyyzyyzz{yyyyxyyyyy{xz{zzzyyyyyxzyyy{zyzyzzyyzzyyzzzyzyzzyxyyyxxxyzyyyzzzzyzzyxzyxxzzyy{yywyxxxyyzyyzyzzzyyyyxywxyyzyyyzxxyyzyyxxzzyzzyzzyxyyyyyyyyzzyyyyyyzxyyyxyyzzzyyzyyyxxyyxxzyzy{zzyyyzyzyyzyyzy{z{yyyyyyxy{yzzz{zzyyzyzzzyyzzzzzzzyyzyyy{yyyyz{zzzyyyyyxyzy{z{zzzzzxzzyyyyyzzyzyzyzzyyzzz{yyzzyzzyyzzzyyyyzzz{zz{zzzzzzyzyzzzzy{z{zyzyzyyyz{{z{z{zzxy{yzzyzzzzyyz{zzyyyzzyzz{zzz{z{zyyyzyz{{z{{{z{zzzzzyyzzzzzzzz{zyyz{zzzz{zzzzz{zy{yzyyzzz{{{{z{yzyyyyzzyzzzzz{zzyyzzyyxzzz{z{zyyyyyyyzyyyzzyyzzyyyxyxyyz{zzyyyyyzyyzxyxyyzyzzz{yyzyz{yxzyyzzzzzyyyyyyyxyyzyyyzzzxyyyyxxzyzzzzyzyyzzyxyyzyyyzzzzyyyzzxxyyyzyyyzyyzzxyyyyyyyyy{yyyyyyxyyyyyzxzzyzzxyyyyyyyyzzyyyyzyyyxyxxxyzzzzzyyyyyyxyxzzyyzzyzyyzyyyyyyzzzyzy{yxyyzyxxz{zyzzzyyxyyzyyyy{zyzzzzzyzzyxzyyzy{zz{{yz{yyxzyzzzyyyzzzyzyyzyyyzzzzzz{zyyyyyyyy{zyzzzzyyyyyzyy{zzzzzzz{zzyyzyyzyzzz{zyyzzyyyzy{zy{zz{{zyyyzyyzz{zzzz{{{yyzzyyz{z{zz{zzzzzyxzzyz{zzyz{{zyyzzyzzy{z{zzzzzyzzzzyz{{{zzzz{zyz{zzzyzzzz{zz{{zyzzzy{zz{{{{{zzzyzzzzyzz{zyz{zyzzyyzzxy|{zz{zzzyzzxzyyyyzzzzzyxyxyyyzxzz{yyyyzzyyxzyyyyzzxzz{{zyyzyxyyzyzyz{zyzzz{yyxyz{zzzzzzyyyxyyxyyyzyzyz{zyyyzyxzyzyyyzzyzyyxyyyyzzyzzzzyyzyyyzyzy{xzzzzyyxzzxyyyyzyyyzzxyyyyyyxyyyyzzzzzzyyyyzzyyyzyyzzzzyzyyyzyyzzyzzzyyyyyxxzyyyyyyzz{yxyyzyyy{zzzz{yzyyzzyzyyzzyzz{yzzyyzyyyyzzzyy{yzyzzzyyyzzzzz{z{zzzyzyxyyzzzz{{z{yzyyzzxyyz{zzz{zzyz{zyyzz{y{zzzzyyzzzyzzzz{{{{z{zzzyzzzzzzz{zzz{{yzzyzyzzzz{{{zzzzyy{yyyzzzzzzz{{{zzyzzzz{z{{{{{{yzz|zz{zzz{{z{{{zzzzyzzzzz{zz{{zzzzzzx{{|{z{|{zzz{{zzzzzzy{{{z{zzxyzyyy{z{zzz{{zzzzzyzyzyz{z{zzzzyyyxyzzz{yzzyyxxyyyxxyyyyxyyyzyzyyyywxzyyzzzzyyyyyxzyyyyz{zz{yzyzyyyxyzzzyyxyzyzyxyyyyyzzyxzyyyxyyxyyyxzyyyzzyyyxxxyxxzyxyyzyzyyyxxyyyzyyzyzxzxyyxyxyyyyyyzy{yyxyyxxxyyy{xyyyyzyxyyyxxyzzzzyzyyyyyyyyyxyzzyzzzxxyxyyyzyyzyyzzyyyyxzzyyyzzzzz{zyzyzyxyxxzzxzzzzzzyyyyzyzzzzzzy{yyzzyxyyzyyzzzz{yzzzyxzzyzzzzzzzzyzzyyzyz{{zyzzzzyzyzyyyzzzzzzyzzzzyzzyyyyzzzzzzyxzzzzzyzzzzz{zzzyyzyzyy{zzz{zzyzyyy{xzyzzyzyy{zyzxyyzyzyzyz{z{zzyzyyzzzz{zzyzzzyz{yyyzzz{zzzzzzzzy{zzyzz{zzzz{{{zzzzy{z{zzz{z{zy{yzyzyyy{yzz{zz{zyzyzzyzzzzzzzzzyyyyyzxyz{zyzyzyyxxyyyxyzzzyxzzyyyzyyxxyy{zz{zzyyyxyxzzyyzzzyyzzxyyxyxxzyzyzzzzzyyxxxyxzyzyyzyzyyzxxyyxyyzxyzzzyyzyyyyyyyzyyzyzy{xyyywxyyyyzzzzyyyyyyyyxzzzy{yxzyyyyyyxxyzyyzyzzxxyyxyyyzz{yzzzxxyyxxxyxzyyyzyzyzxyyyxyy{zyyzyyyyyyyxzzzxzzyzzyyyyyzyyzzzyyzzzzyyzyyyyyyzzy{z{{zyyzxyyyyyzyzzzzyyzxyyyyyzzyzzzzyyyyyyyxzzzzyzzzzyyyzyzyzzzzzzzyyyzyyzyzy{zzzzzyzzyzyyzy{zzzy{{zzyyzyzyzyzyyzzzzzzzyzzzz{{zzzz{zz{zzz{{z{zz{y{{zzzzzzyyzz{{{zzzzzyyzyyzz{z{zzy{{zzzzyzyyyzz{z{z{zzy{zyyzyz{z{zzzyxzyzyyyyzzz{zzzyzyyzyzy{zyz{z{zyyzyyxzyyz{xyzyyyxxyxxxyzyzyyzzzxyyxyxxyyyyzzyzzyzxxyyyyyzyyzzzyyyyyyxyyyyyzyz{{zyyyyyyxyzy{yzyyzyyyxzyxzyyyzyyzzxyyxxyxxyyyyzxyyyzzyyyzyzyzzyyzxyyyzyyyyzyzzy{yxwyxxyyyyzyyzzyzyyyywxxxyzyyyx{zyzyyyxxyzyzyyzy{yzyyyyxyyzyzyyzyxyyzzyyxyyyzyzzzyzzyyyzxyzyzzy{zyyyzyyyyyxzzzzz{zzyxyyzyz{zzyxzzzyyyyyyyzzzyz{yzyyzyyyyyyzzzyz{zyyyzzyyyzzzzz{zyzzzyzyyy{zz{zzzzxzyzzyzzzzyzy{{{{xzzxyzyzz{zzzyyz{yyzyyyz{z{z{z{{yyzzzy{zzzz{zzyzzzzyzzzy{y{{z{zzzzyzzyzzzz{{{{zyyzyzzzzzzzzzz{{zyzzzzyy{z{zzz{zyyyyyyzzz{yzz{{{yyyzyyyzyzz{zyzzzyy{yyyxy{zyyzzzzyyxyyyxzyzyzx{yyzxyyyyyzzyzz{zzyyyxyyxxyyzyzy{yyxyxyyxzyyzzyyzzyzzyyyzxyzzyzzzzyyzxxyzyyzyzyzzzzyyyyzyyxyzyxzzzyxyzyyzy{zyyzzzzyyxyyxyzyyyyzzzyyyxyyxyxyyzyzzz{yzzyyyyyxzzyz{yzzyyyyyzyyzzyzzy{zzyxyyyyyzzzzzzzyyyyyzzyzzzzz{{zzyyyzyzyyzzyzzyzzzyzxyzzzyzzyzzzzzyyyzyxzzz{zzzzzzyyzxyyyzz{zzyzzyzxzyxyzzz{yz{zyzzyyyyzz{z{yzzzyzzyxyyzzz{z{{{{yzyzzyzyz{z{zzzyyzyzyyzyzzy{{{{zzzyz{y{yzzz{z{z{{yzzz{{zyzzzzz{y{yyzz{zyyzzzz{{{zy{zzzz{{z{z{{{z{zzxzyzzzzzz{zz|{zzzyzzzzzz{{|{{{zyy{zzz{z{zz{{{zzzzyyyyzzz{z{zzzzzzyyyyyzzy{zzzyyyyyyyyz{yyzzzyyzyyzyzxzzzzzyzzyxyxyzyxzzzzzzz{zyzxyxyyyyyzzzyyzzyyyyzxyyyyzzzzzyyxyzyyyz{yzyzzzyzyyyxyzyzyy{yzyyyyyyyzyyzzyyzzzyyxyyyyyyyyyyzyxxyyyxxyyzyyyzy{yyyyxyyyyyxyyyzzyyzyzxyyyzyxyzzzyzzxyyxyyyyyyzyzzyyzzyyyzzzyzzzzzzyzzyyzzzzy{z{zyyyyyyzzzzyzy{zzyyzyyyzyzzzzzyyzyyzzzxyxxzzzz{zzyzyxzyyzyzz{zzzyzyzzzyyzzzyzzzz{zzzyzzzz{{z{y{z{zzzzzyzyzzzzyzz{{yzzzyyyyz{{{{{zzzzyzyzz{{zzz{z{zzyzyz{y{{{zzz{{{zzzzzyzz|zzz{{zzy{{{yzzzzz{{{zzzzyzzzzz{z{|{z{{{zyzz{zzz{zz{zz|zzywyyzzz{zzz{{{z{zzzyyz{z{zz{{zzzzxyxxyzzzzyzyzyzxyyxyyyyzzyzzyzyyzyxzyzyzyzyzzz{zxyxxxzzyyzzzzzzyxyyyyyz{zyzzzyxyyyyyyyzzzyzzzzxxyyyyyyyzyyzzyyyyyyzyyyzzyyzyzxyyxxxxyyyyzyyyyxyyxyyyyyzzyyzyzzyxyyyyyyzyyyyzzyzyyxyxyy{zyzyzyyyyyyxyyyyzyyzzyzyyyyxyyzyzyzzzzzxyyyzyyzyyzzzzzzxzzyxxz{zzyyzz{yyyyzyyzzyzzyzzyyyzyyyyyyzzyzzyzyyyyxyyyzy{{zzzzyyyyzzyyz{{zyyzzzzzyyxxzyyzzyzzzyyzzzyyz{{zz{zz{zzzzzzzzyzz|z{{{yzyzyxyyz{{zzz{{zyzyzzz{zz{zy{{zzzzzy{zyzzzz{z{{zyzzxzzz{z{{z{zzzzzzy{yzzz{{zz{{{yyyzzzz{zyz{zz{zzzz{zyyzz{z{{{{zyzzzzyyyz{zz{zyzzyzyyyzyzzzyzzzyyyyzzyzzyyyyyzyyzyxyywyzzzyzzyzzyyyxyzy{zzzzz{zyxzyxyyyyxzzz{{yzzxyyyxyyzzyyyzzxyzyyxzyyzzzz{yzyyyxxyyyzyyzzyyzxyyxxxxxyzzyyyzyyyyyxyxxzzzzyyzzxxyxyyzxyyyyyyzxyyyyyzyyzz{zzyyzzyzyxyxyzzyzzzzyzyyyxyyxyzyyy{yzzzxxyxyyyyyzzzzzyzzyzzyyyzzy{y{yyyyyyyzyyzzzzyyzyyzyyyyyzzzzyzz{zy{yyyyzzzyzzzzzzyyyzy{xy{zzzzzzzyyzyzyzyzzzyzzyzyyzyzyzy{zzzyzz{zyzzyzyzzz{zz{{zzzzzz{z{zy{{zzzyyyzzzyzzz{zz{{z{zyyzyyy{zzz{{zzy{yyz{{yz{y{{zz{zyzzz{yyzzz{zz{{zzzzzy{yyzz|{zzz{zyzz{zzzz{zz{{{{zzz{zzzzzz{{{{yxyzyyyzzzzz{z{{zzzyyyz{zyzyzz{{{zyyzxzyyzzzyzzyxzxyyyyxxxzyzz{zzyzyyyyyxyyzyyyzzzyzxyyyxzzyyyzzyyyxxyyxyyyzzzy{zzzzxxxyyyxzzzzz{yyxyyyyyzzyyyyzzyyyyzyyxyzzzyyzzyyyxxyxzyzyyyzxyyyzyyxxyzzzyzzzyyyyxyyxyzyyyzyzzyxzxxyxyy{zyyyzzyyxxzxxxxyzyyyzyyyyyyxxzyxyyyzyyzxyyyzzxzyzzzzzyyyyyyzyyzzyz{y{zzzzyxyyyyzzzyz{zyzzyyyyyyyzzyzzzzyyyzyzyzyzzzyzyzyyyyzyyzzzzzz{{zyyzyyyzzyyzz{yzzyyyzz{zyzz{z{zzyyzyzyyzzzy{y{z{yy{yzzxyz{zyzz{zzyyxzzzzy{{y{zzzyzzyyz{yzzyzz{{zzyyzzzzzy{{|zzz|{yzzyzzzzzy{zzyzzzxzzzyzzz{z{zz|{z{zz{yzyy{z{{zz{zzyzzyzzzzzz{zzzyyzyyyzzzzzzzzzzyzyxzyxzzzzyzzxyyxyxxyyyyyxzyyxxyyxxxyyzzzzzzyzyyyxxyyyyyyyz{zyyyxyzyxxx{zzyyzzyyzyxyzyyyzzyzy{xyyxyyyyzzzzyzzzyxzyzxzyyyyyxyyyzyzxyyyyxyyyxxzzyyzyyyyyyyzyyzyyyyyyyxyyyzxyyyyyyyxzyyxxyyxzzzyzzyxzyxyxyyyyyzyzyyxxyxxzyzyyzzzyyxyyyzyyyzzyzzzzyyyyyyyyyzzxzzzxyz{yyxyyyyzzzzz{zyyxyxzyzzzzzzzzyyzyyxyxyzyzyyzzyyyzzyyyzz{zz{{yyyzyxyyzyzyyyyzzzzxyz{yzz{z{zz{{yzzyzyzzzzzzzzz{yzyzzzzzzzzyzz{zzyzyz{yzz{z{yzz{zyzyyzyz{{{y{{z{{yyyzzzyy{yzzz{zzyzzxyzz{zzzz{{zzzzzzzxzzzz{{{{zzzxzzyzz{zzzzz{zzzyyzzzyzyz{{{{zzzyzzyyyy{zzzyzzxyzxzxzyyyyzzy{yzyxxyxyxyyyyy{zzyyxyyxyyz{zyyzzzyyyxzzyyyyyzzz{zzy{yyyxxxyyzzzy{yyxyyyyxzyzyyzzyyyzyyxyyzzyxyzzzyyxyxxyyyzzyyzyyxyzxxyyyyyyyzzzyyxxyyyy{yyzxyzzyyyxywyxzxz{zzyyzyyyyyyxyxzyyzzyzyyxyyzxyyyyxyzyzyxxxyyzyzyzyzzzyyyzyyzyyyyzzzzyyzyyyyxzyzyyyzzzzzyxyxyzzzyzzyzy{zyzyyyyzyyyzyzyzzzyzyyyyyyzzzzzzyy{yzyyyzy{yz{zzzyyzzyyyzz{zz{zzzyyyyzyzzzyzz{{{yyyyyyzzz{z{z{yzzzzzyyyyz{zzzz{zyzyyyyyzz{{zzz{|zzyyzzyzzzzz{{zzzyzzzzzyzz{{zz{zzzzzzyzyz{{zy{zzzxzzzyyzzz{z{zz{{zzyyzy{zyz{{zy{{yzzzzzyzzzzzyzzz{yyyyyyyyzzzz{zzz{yyyyxzzzyzzxzxzxyxyxxyyzxzzyyxywwzzyyyyyyzzxzzyxxyzyyyzzz{y{zzzyyzyxyxzyzyyzyxyyxxxzxyzzzyzz{xzyyxxzyyzzyyz{zyyyxxyyxyyyyyyyyxyyxxxxyyyyyzyzyxyzyxxyyyyzyyyzyyyxxyxxyyyzyzzzzyxyxyxyxyyyyyzzxyxyxxyxxyyyyzzzzyzyyyxyxyyyyz{yyyyyyyzyxzzyzzzzyzyyzyxzyyzzzzzz{zyyyxzyyzyzzzzzzyyzzzzyyzyyzzzzzzz{zyxyyyzyzyzz{yyyyzxyz{zzyzyyyzyzyzyyzz{{yzzz{yzyyzxzyzzyzzzzzyzzzzzyz{{z{z{zzyzyzzyyyyz{zz{zz{y{xxzzyz{zy{zzzzyzzy{zzy{yzyzz{zzzyxzzyy{{zz{z{{zyzyzyzzzzzy{zzyzzzyyyzzzzy{{z{{zz{zzyz{z{zz{zyyzzyzyyyzz{zyzzzzzzyyyyyzzzzyzyzzzzxxyzxzyzyzyyyyyzyyyxxyyzyyzyzzyxyxyyyxzyzzzyyyxxxxyyzyzyyzzzyzyyyyyxyyyyzyyzyzxzxxyyxyyyxyyyzzyxyzyyyyyyyyzyyzxyyxyxyxyzyyzzyyyzxxzxyxyyzyyyzxzyxxyxxyyyyyzzzyyzxwxyxyyzxyzyyyxxyxxyyzzyyyyyyzyyxxyyxxyyyzyzzzxyyyxyxyyyxzzy{yxyzyyyyxyzyyzzyzyyyyyyzyyyzyzz{yyyyyxyxzzzzzzy{yyzyyxxyyzzyyyzzzyyyyxyzyzzyy{zzyyyyyyyyyyzyzzzxywyyyzz{zyzzzzyyzyzyzyzyzzz{zz{zyyzzzy{zzzz{{z{z{yyzyzzyzzzzzzz{zzzyzyyx{z{yzz{yyzzzzyzzyzzz{zzzzzzyzzyyz{z{{{{{zzy{yyzyzyz{{zy{zyyzyzzyzzzyz{z|yzyzyxyyzz{z{zz{zyzxzzyzyyyzzz{zzyyzyyyzzzzyzyyyyyyxyyzyzz{zyyzzyyxxyxyyxyzy{yzzzyzyxxyyzyzzyzzzyzzyyyyxyzyyz{zy{yyyxzyyyzyzzzzzzyzzyxzxzzyzzzz{yyyyxzyxyzyyyzzzzzyxyzyxyyzyyzyyxyxyyyxxyyzyyzyzxyyyyzyxyyyyz{zxyyyyxxyzyzyyzzzyzyyxyyyyyzzzzzzzyxxyyxyzyzzyyyyzyyyxyyzyxzyyzzzzzyzxyxyyyzyz{yyyzyyzzyyyzyxzyyzzxyzxyyzxyzzzyz{yyzyxyyyzyzxyz{zzyxzyyxyzzzzzzzyzzyzyzyxyyz{{zyz{yyyzzxyzyzyy{zyzzyzyyzyyzyzz{{{{yzzy{zzz{{zzz{{zzyz{yyyyzzz{{{zzzyzyz{zy{{{y{z{{zzzzyzzzy{{zzz{z|zyyzzzyy{z{{z{{zzz{zzyz{z{{{z{{zzxzyxyyz{zzz{{{{z{z{yyzzz{z{zzzzzyyyy{yyz{yzz{zzzyyzzzyz{{|zzzy{zzyyyxxyz{zyzzyzxzyyyzxyzyzyy{zyyyyyyxyyyzyzyzzzyzyxyyxzyyyzy{xzyyyxyyyzyyzzyzzyyzzyyyyyxzyz{yzxxyyyyyyyyyzzzyzyyyyxyyyzzzyxzyzyyzxzxyxyzzzyzzyzyxyyyyzyzzyzyzyzyxyxxxyxyyzzzyzzxyyxyyxxzz{zzzzyyxyzxzxyyyyyzzzzzyxyyyxyzyyz{yzxyyyzyyyyzyzyyzzzzxyyxyyzyzzyzzzzy{zyyzyzyzyyz{zyyzzyzzyzzzz{z{zzzyyzyzyyzyyzzz{yzyyyyyy{z{{zz{yyzyzzyxyzzy{zzy|zyyxzyz{zzz{zzzzzzyyzyzzz{zzz{z|zyzyzyyzzzzz{{{{zyyyzzyzz{zz{zzzzzzyy{zzzzzzzz{{{yyyy{zzz{zz{z{{{{yzzzzzy|zzzz{|yyz{zyzyz{z{{{{zzzzzzyyzzzz{zzy{zyyyzz{yzzz{z|zzzzzyyyyxzzy{yzzzzzzxxyyxzz{yyzzyyzxzyyzxzyzyzyyyzxxyxyyyxyzzzzz{yxyyyyyyyyyyyzyzyxyyyyyyyzzyyzyzyyyyxxyyyzzyyzyzyyyyxzyxxzyzzxzzyyzyyyyyyzyyyyyzzyyxyyyyzyzyzzyyyzyyxxyxzzzzzzzyzyyyyyxxyxzyyzzzyxzxxxxyyyyyyzzzzxzyyxxyyzzyxyyyzyyyyyzyzzzzzzzyyxyyzzwyyzzzyzzzyyzxyyyyzzyzyzzzyzyyxyzzyzzyzy{zyzzzyyyzyzzzzzzzzyyyzxzyzzyzz{{zyyyyyxyyzzzyzzzzyyyyzyzzzzzzyyz{yyyzzyzyzyz{z{zzyzxyyyzyzzyzy{zzzzyyzyzzzy{zz{{{zyyyzyzyz{{{zzz|yzzzyy{zz{zzyzz{zyzzzzzyz{{z{z{{zzz{yyzyyz{z{{zz|zzyzzyzzyzzzz{|{zyzzyz{{{z{{z{{zyzzyzzzyzz{{zzzz{zzyyyyzyyzzzyzyzzyyyzzzzyz{yyyxxyyyyxyy{zzzzyzyyxyzxyyyy{zyz{zxyzyyzyyzzzzzzzzzy{xyyxyyzzzyzzzyyzxyyxyyyzyyzyzyyzyyxyyy{yxyyzzyyyyxyxyyzxxyzxyyyyxyxzyyzzyzzzyyyyyyyyyyyyyyy{zzzyyxyxyzyzxzzz{yyzyxxyxyyy{yzzyyyxxxxxxyz{yyzyz{zyxyyzxyzz{yzzzyxyyzzyzzyyzyzzzzzyyyxyxyyzyzzz{yzzzyyyyzzyyzzzzzyzzyyzyzzyzy{zzyzzyzyyyyyz{zzzzzyyyyzyyyyyxyz{zzyyyxyyyyzzyyzyyyy{yzzzzzz{zzzzzzyzzzy{zzzz{zzz{zyzzzyzyz|y{zz{zzyyz{zzyz{zzzzz{yzyyyz{zzzzzz{z{zzzzyzzzz{{zzz{{zy{zzyzz{z{{z{{zzzzzzyyzzzzz{z{{zzyzyzyzz{zzz{z{yzyxzyzzy{zzzzz{zyzyyyyxzzzzz{zzzyzxyyxxzzyzyyzxyyyxyzyxxyyyzyzzzxyxyxxyzyzzzyzyxyxxxzyyzz{zyzyz{yyyzxxyyzzyyy{yzyyxyyyxyzyyxzzzyyyzyyyyzyxyzzyyyyyyyyyyzyyzyzzyyyxyzzyyyxyzyxyyyyyxyyyxxzzyyzzzzyyyzyyyzyzzyzyzyxxyxzxyyzyyyyyzyxyyyyyyyyyyyyz{zyyxyxxyy{zyzyzzyyyyyzxyzyzyzzzzyyyyyyxyz{zyyz{zyzyyyxyzyyyyzzyzzyzyxyyzyzzzzzzzzzyzzxzyyy{yzzyyyyyyzyyzzzzzyzzzzyyyzyxy{z{yyzzzzyxzyyyz{zyz|{zzzyzyzzyy{{z{y{{yzyzzzyzxzzzy{{zzyzzz{yzz{zzy{zz{zzzzy{zzzzzy{zz|zzzzxzyzxz{zz|{{zzyzyzyzzz{zz{{zzyyyz{zz{zzz{z{{zzyyyzyyz{yz{z{zzzyzyzzzy{zz{z{zzyyyzyyzzzzzzzzzzzzxyyyzz{zyyzzyxxyyyzyyyzyyzyy{yyyyyyyyyzy{zzyzyyxyyzxyzyzyyzzyzyzyzyxzyzyyyyzyyyxxyyyxyyxzyzyzxyzyyyyyyyzyyyyyyyzwyyyxyyyyyzzzyyyxxyzxyyyyzzzyxxxyyzyxyzzyyyyzzyyxxxxwxyzzzyzzyyzxyyxxyyyyzzzzyyzyyyxxxyyxyyyyxyyyyxxxyyxyxz{yyyxxxyyxyzzzyyzyzxxxyyyyyyzzyzzzyxzzyyzxzxzyzyzzyyzzxyxyzyzyzzyzyyyyyyyzz{zzz{zyzyxzyzxyyzyz{z{yyyyyxyyyzzzyzzzzzyzzyyyzyz{yz{yzyyyyyyyzyzzzzzzzzzzzzyyyzy{z{zz{zyzzzz{yz{zzzz|zyyzzzzz{zzzzz{{{{zzzyzzyzzzyz||z{yzzzzzz{{z{zz{z{yyyyyxzzzzzzzzzzzzyyzzyyzz{zz{zzzzyyyyz{zzzz{{zzzyyzzyyzzzz{zzzzyzyzxyyyyzyyzzyzyxyzxxyyyyyyzyzzyyyyyxxzzzzyzzzyzxxxyzyyzxxzyzzyxyyyyxxyyyzyyyzyyyxyxyxyzyzyzy{yyxyxyzxyyyyyyzzyyyyyyxzzyzyxzyzzzyxyyxyyxxzzzzzyyyyxxzzyzyxyyyyyyxyyyxxyxyzzyzzyyyyxyyxyyyzyyzyyyyyyyyxyzyyyyyzzxyyyyyxyyxzyyyzyyzxyxxyyzyyzzyzyyyxxxyxyyzyzyzzyxzyyxzzyzzzzzy{zxyyxyxyyyzzyzzyzyzyzyyyxzzzzz{yyzyzyyyyyyz{yzzzyxyyyyyyyyyyyzzyyzxyzzyzzz{z{{{yyyzyzzxzzzy{zzz{yzzzyxyxzzzz|z{zzyzzyyzzzzz{{{{zzyyyyz{zz{yzzzz{zyzyzzzyz{zzzz{zzzzyyyzz{z{zzzz{{yyzyzzyzz{{yz{z{zyxzzyzzz{|{{zzzyzyyzyyz{zzzz{zzzxzyyyyz{zzyz{zyzyyyyzxyx{zzzyzyzyxywyyyyyyyzyzyyyxxyxyyzyzyz{xzzxyyxxxyzyyyzzzzxzyyyxxyyy{yzzyyyyyxxxxzyzzyzyyyyzyxyyxyzzyyxzxzyyxyyyyyyzzxzyyyzzxxyxyyyzyyyyzyxxxxyyyzzzyzyzyxyyxxzxxyxzzzyyxzxxyyxxyxzyyyyzzzyyxyzyxxyyzyyyzxzzyyxxyyyyzzzyyyyyyxyyyzyzzzy{zyyyyzxxyyyzzyzzyyzyyxyyyyyzyyyyzxyyzyyyyyyzzzzzyyyzyzyzyyzyzzzyzzzyzyyyyyzyzyz{yzzxyyyyyzzyyyzzzzyxyzzyzzz{{zz{yyyzyyyzyyzzzz{z{yyzzyyyyzyz{yzzzzzyzyzzyz{{yzz{yzz{zy{zzzzy{zz{z{yzyyyzyz{{z{{zzyyzzzyyyzyz{{z{{zyyyyzyzy{zzzz{{zyzyzyzyz{zzzzzzzyzyyxzyzyzzzz{zyyyyxzyyyyzzyyz{zzyyyxyyzz{yzzyyyxyxyxxxyzyyyyzzyxyzxxzxyyyzyzyyyyyxyyxxxzxyyzzzywyyyxxyyyyyx{{zyzyyxyxyzyzzyzzzxyxyyyxxyyzyxzyxxyyyyxxxyzzyyyzyyyxwyxxxyxyyyyyzxxxyyxxyy{yxyy{zyyyyyxxxyyyyyyyxyyyyxxxyyyxyyyyyxxyyxxyxyyyyyyyyxxyxxyyxxyyyzzzyxyyyyyyxyyyzxzzy{yyyyxyyyyzzyxyzyyzxyyxzzyzzyzzyyzyyyyyxyyzzzzzyzyyyzxyyyzzyzzzzzyyyyzxzz{zzyyz{zzyyzzyyyzzyzzyzyy{zzzyyzz{zzzzzyzyxyyzzyzz{zz|{yyyyyyyy{zzzy{zzzyyyy{yzz{zyzz{yyyyyyyzzy{zzzz{zzyyzzyyyy{zy|{{zzyzzzyzz{{y{zzz{zyyzyzzyyzz{zzzzyyzyzzyy{yzz{z{zzyxyyyyyzzzzzyzyzzzzyyzyzzyzzyzzzxyyyxyyyzzzyzyzxyyxxxzyyyzyzxy{zxxxxxxyyzzzzyyzyyyxxyxxzyyxzzzyyxyyyxxyxyzyxzyyyyyywyyxzzzyyzzzyyyxyyzxyxyyzyzyyyzxxxyyyyyyyyzzxxyyxxyyyyyzyyzzywyyyxyyyyyyyxzyyyxxxyyxyzyzyyyyyyxxyyyxyxyyyyyyzxyxyxxxyyxyyyyzzyxyyyyxyzyxyzzyyzyxyyxxzzzyyyzzzxyyyzwyyzyzyyzzxyzzxxyyzyxyyzzzxzyyyyxyzzyyyzzzzyyyyyyyyzzzzyzyzzzyzzyyyzzyyzzzyyyyyyyy{zyzzzzzyyzzzzzyyzzzyzzyxyyzzzzyyzzzy{{zyyzzyxyyzy{zy{z{yyzzyyyyzzzyyzz{zyyyyyzzyyyyz{zz{zyyzzzyz{z{zzz{zzzzzzyz{zzz{{yy{zzyyyxyyyzzzzz{zzzyzyzyzzz{zz{zyyyxzzzyyyzzzzzz{yyzyyyyyyzzyz{yzyyxyyyyyy{zzyzzxyyxxyxxzzyyxzyzyxxxywyyzyzzzyzzzyyyxyyxyxxyyzyzzxyyyyyxyzyyxxzzzyyyxxyyzyyyyyyzyyyyyzywyyyyzyyyzyyxxyyxyyzyzyyzyyxyxxyyyzyyzzzzxyxwyyyyyxyyyzzzxyyyxxyzyyzyyyzyyyyyxxyyyyxzyyzyxxxxyyywxzyyxzxxxyyxyyyyzzyyzzzyxyyyxzyxzzyz{z{zyxyyyyzyxyyyzyy{xyyyyxzyzyzyzzzzxyyyyxyxyyzzxzyzxyxyzxyyyzy{zyyzyyyyxyxyzzzzzzyyyxyzyzyzz{zzyzyzzyyyyyyyzyzzzzzzyyzzyyyyzzzyzz{{yyzzzyyyzzzzzzzzzyyzy{yz{{zz{{z{zzxyyzzyz{yzzzzz{zyzyyzyz{{z{{{zzzyyyyzyy{z{zzzyyyyzzzyyzzyzzzzzzzzzzxyz{yy{{z{zzzzyzyxzyzzzyz{zzyzxxzzyyyyzzyzzyyzyyxyxyzyzyxyzyzzyxxyyyzyz{yzzyyxxxxxxzyyyzyyzyyyxxzyyyyzyzzz{yyzyyxxyyxzyyzzyyzyyyyxxyzzzy{{zyyyyyzyxxzyxyzyyyyyyyyxyzzzzyzyyyxyyyxyyyyzyxyzzyyyyxyxyyyzy{yzxyyzzxyyyyyyyyyzyyxxyxzyxyyzzzy{zyyyyyyyyyyzzyzzzzyxyyxyxyzyzzzyyyyzzyxxxyyyyyz{zyyxyyyyxyzyzzzzzyyzyxyzyzyyyzzzzyyyzxyyxzzzzzzzyzyyyzyyyzzzzzzzyyyyxyyyxyzzzyy{yzyyzyyzyzzzzzzzzzzyyyzzzzyzzzz{yzyzzyzz{{zzz{|z{zyzyyyyyzyyzz{zyz{{xyzzyz{zzz{{zzz{zzzzzz{z{zz{z{y{zzz{yy{yz{|{z{xzyyzyzzzzz{z{z{yzzzzzzzzzz{{zz{zz{zzyzzy{{{yzzyzzyyzyy{{yzyzzz{zyzyzyyz{zzy{z{yyzyyyyzyzy{zzyzywyyxxyxyyyyyyxzyyxyyxyyzxyyx{zzyyxxyyxyzyxzzyzzyzxxxyyyzzzyzzzyyyyxxyxxyxzzy{zzyyyxyxyxyzzyyzzyzxyyzxxyyz{yw{zzyyyzxzyyzyyyyy|yyyxyyyzyyyzyyyzyzzyywyxyyzyyz{zyyxzyyyyxxzyxyyyzyyzxxxyxzyzyyzyzxxyyyyyyyzyyzzzzxzyyyyyyyyzyxz{zyyzyxxyyyzzyy{zzxyzzyyyyzyzyzzzzyyyzyyyyzzzxzzzzzyyzyyxxzyzz{zzyyxyyzzyzz{zzyy{zzyyzzyyzzzzyz{yzzzzyyyyzzz{{zzzzyyyzyyzzzzzyz{{{zzzz{yyxz{z{zz{y{yyy{zzz{{{zzzzzzzyzzzzyyzyz{z{{zzzzzyzyz{zzzz{zyzz{yzyzzzz{z|{zzzyzzyzyz{zzzz{yzzyy{zyzzzz{y{{{yzzxyyyzxzzzy{{{zyyzzyzyyzyzyyz{yyzzyyzyyyzyzzzyyyyyxxyxxzxzzyyyyzxyyxxyyyzxz{zyyyxxyyxxyyzyyzzyzxxyyyxxyyzzyyzzyyyxxxyyyxzzyyyzxyyyyzyyxyxyzyzzxyyyyxxyyyyyyyzyxyxzxyyyxyyyzzyzyxyyywyxyzzyyzzyyyxzyyxyxyyyyyyyyyyxxyxxyzzzyyzzzyyzyyyxyyzzzyyyyyxxzxxxyyxyzyzyyyyzxyyyyzyyyyyyyyyyxxxzyzyzyzzzxyyyyxzyzyyzyz{zyyzyyyxyyzzyyyzyzxzzxyxyyz{zyzyzzyxyyyyxyzzyyzzzzyyzzxyzzyzyyzzxzzyzzyzzzyyz{zy{zyzyyyzyzzzyzzzzyzy{yyxzzzzzzzz{zzyyzyyy{yzzy{{zzyzzzzzzz{{zzyz{zzzzzyyyy{zzzzzzzyzzyyxzzzz{zz{|{yzzyzyzzzy{zzz{zzzyzyyy{zz{zzz{{zyyyyzyzz{zzz{yzyyxxyyxyzyzy{zzzxyyyxyyzzzzyyyzyxxxyxxxyzyyyzyzyyzyyxyyyzyyzyyzzyyxyxyyzzzy{zyzyyyxxxxyyyzzyz{yxyyxyyxxyyzzyzyzyxxxyyyxxyyyyzzyyyyyyxyxyyyyyzzzyyyxyyxxyyyyyyyxxyyxyxyxxzyyzyyyzxyyyyyyyyyyzyzyyyyxxyxyyzyzyyzzyxxyyyxyyyyxzzyzyyyxxxyzyzyyzzzyyyzxyyxxyyyzzzzzyxyxxyxyyyyyzzyyyyxyxyzyxzyzyzzyyyxxyyyyzzzz{z{zzyxyyyyyyzzyyzzzzyzyyzyyyz{zzzz{zyxyyzyyzz{yzzzz{yzyyyzyzzzzz{zzyzyxzzyyz{z{zzz{zyzzyzyyyzzz{z{zzyzzyyyzy|zzzz{{zy{zz{yyyz{z{z{zzzzyzyzyyzzzz{z{yzzzyzzy{{zzzzzzzzyyyzyzyyzzzz{z{zzyzzzzzzzzzzz{yyyyyyyzzzzzy{{{yyzyzyzzyzyyzz{{zzzxyyxxzzzzyyzyyxxyxyyxzyyzyyzxyyyywyyxyy{yxzz{yyxxxyxyyyyyyz{zyzyxyyyyyzz{zyzzzxxxwyyyzzzyyzzzyyyxxyyyyyyxxzyzyyyzyxyyzxyyxzyzyyyyyyxyyyyyyyzzxyyyyyxxyyyyyyzyyyyxxxyxyyzzzyyyyxxxxzyyzzyyzxyyyyxyyxyyyyyyyzyzyyxyxyyyxyzzyzyyyyzyyyyyyzzzyzzzyyyxyxyxyzyyxyzzzyzzxxyyzyzzy{y{yxxzyzzyyyzzzz{zyxzyyyyyyzyzzzyzzyyzxyyxyzzzzy{yzzxyxyyyzzzyzzzzzyzyyyzyyzz{zzzzyzyzzzzyzyy|{zzzzyyzzzyyyzzyz{{z{yyzzyzyzz{z{{zzzyzyzzzyzzzy{{z{{yyyzyyzz{yzz{{zzyzzzyzzyz{zzz{zzyyzzzyzy{z{{zzzzyyyzzyzz{yzzz{zyzyyzyyzz{z{z{|zzzzzxyyyzzzzzzzzyxyyyyyzyzzyzyyyyyxxyxyxxzyyyzyyzyxxxxyzyzyyzzyyzyyxxxxyyyzyyz{xyxxyyxzyyyzyxx{zzyzyxxxxyxyyyyyzyxywyzyyyyyyzzyzyxyyxywyyzzyzzyyxyyxxxyyyyyyyzzzxxyxxxyyyyyyyyzzyyxyxxxyyyyzzyzxyyyyxyxyzzyyyzyyyyyyywxzyyyyyyyyyyyxyxyyyxyyxyyzyyzyyyyxyzyyyzyzyxxxyxyzyzyzyyzzyyzyxyyzzyxyxyzzyzyyyxxyzyyyxzzzyyyxyzyxyzyyzzzzyyyxyyyyyzyzyzzzzxzyxxyyzyyzzzz{zyyyyyxyzzzzzzzzyzyyyyxyzzyzzzz{zyyyyxyy{zzzzzzzyyxyyyzz{zz{{yzzzyzzzyzyzz{zz{{z{zzyyzxzz{zy{zzzzyzzzyyxyzzz{{zzyzyyzzxzzzyzy{{{zzzzzxyyzxzzzzzzzyzxyyyyyzzzyzzzyzyyyyyyzzzzyzzzyyyxxyywyyyzyyyyxyxxxyxwxzzyyzzyyzyyxxyyyyzzyyyyyyxyxyyxzyzyyzzyyyyyyyxxyzyxyzzyxyxxxyxxxxyzyzyzxyyxxyxxxzyyyzyyzyzyyyxxyyxyyyxyyyyxyxxyyyzyyyyzxxyyxyyyxzyyxyy{yyyxxyxyyyyzyyzzyzzxxyxxxyyzzzyyyyxxxxyxxxzyyyz{yyyxyyxyyxyzyzyzyyyyyyyyyyyzzzzzyyyyyyxyyzyzyyyzyyyyxxyyxzyzzzzyyyyyyyxyyyyzzzyzzyyyywyyyzyyyzzyzyzxxyyzxz{{yyzzyxyzzxxyyzyyzzyzxyzyyyxyyyzzzzyyyyzxyyzyyxzyzzzzzyyzyyyyz{zzzyzzzyyyyyyyzyyz{zzzyyy{zxy{yz{zzzz{zzyzyyyyy{zz{{zzzyyzzzzzyzyzyzzz{yyyzxyzzzyzzz{zyyzyzzyyzzzz{|z{zyyyyyyyzzzyzz{zzxyyyyzyyzyzyyzzzxzyxxyxyzzzyxzyxyxxwxwxyyyzyxyyxxyyxyyyzzzzyzyzzyyxxyyyyxyyzxzyyyyxxyyyyyyzxyzzyyxxyxyxyyyyzyyzyyxxxxxxyxyyyyzyyyyyywxyyyywxyyzxxyyyyxyxxxyyyyzxxxxxwyyxxzyyyyywyyyyyxxyyyyyxyyyyywyzxxyyyyzyzyxxyyxxywxyyyxzyyxxxyxyxxxzyyzzyzxyyxyyyxyyyyzzzzyyxyxyyyyyyyyyyzyxzyyzyyyyzyzyy{yyzyyyyyxzzyzyzzyyyxyxyyyzzyyzyzzyyyyyyxyzzzzzzxzyyzyyxyzzzzzzzzyyyxxyyyx{zzy{yyyyzxyzzyyyzyyzz{yxxzyyxxyzzzz{yzyxyxzyzzzyzyzyyzzyzyyyyzzzzzz{{zzzzyxzyyyyy{zzzzzyzzyyyzzyz{zz{zyyxyzyzyy{zzzzz{yyxyzzyxyzyyyzzzyyyxxyyyyyyz{yzzzyyyyyxzyzzzyzyzyyyyzxzyzyyyzyyyyxxxxxyxyyyxzxyzyxyyxxxxyzyzyzzzzxxxxyyxyzyxxyzyyyyxyxyxyzyzxyzyyyxyxyyxyyyyxyzzzyyzyyyyyyxyyyyyzxyxyzyyyyzyyzyyyxyxyyxzxyyyzzyzyyyxyxxyzyyzyzyyyxyyyywxyxzyyyyzzyyxyxxyyyyyyzzyxxxyyxxxyzyxxzyyyxxxyxyyxyyzyzyzyyyyyxyxyzzzyzzzzyyyyxyyy{yyxyzzzyyzyyxyyzzzyzzyzxyyyyyyxzzyyzz{zzyyyxyzyzzyzyyzyyyyyyxyzyyz{y{zzyyzxyxzy{zyyz{zyyyyyzyzyzzzzzyyyzyyzzzyyzz{yzzzyyyyzyzyyzzzzzzzzyyyyyzzzzzzzzz{zyzzzyyzy{y{zzz{zyyyyzyyzzz{z{{{zyz{yyyzzzzz{zz{zyyyzyyyzzyzz{{z{zyzyzzzzzzzz{z{yzyxyzyzyzyyzz{{zyyyzyzyyzzzyz{yyyyxyxzyzzyyyyyyzwyyxyxxyzzyyyyyyxyyyxxxzyzzyzyzyyxxyxyyyzzzzzyyzyxxyxxzyyzzzyzyyyyxyyyyzxzyyzyzxxyyxyzyyyzzxzyyzyyyzxxxyyyyxyzzyxyyxxyyzyyyzzzxzyywxyyyxyzyyxyyyyyxxzxyzyzzyyyzyyyxxxyxyyzzyzzyyyzxyyyyyyzxyyyyxxyyyyyyxzyyyzzzxyyyyzyyyzyzzzyyzzyzyyyxyyyzyyzyzyyyyyyyyyyzyzyyzyzyxyyyyxyyzzzzyyzxyzyxzzzzzyzyyyyxyzyyzzzzyyzyyzxzxxxyyzyzzzzyzxyyxyyy{zzzyzyzzzyzyzyyyzzzyz{zyyyzyyxxzz{zzzzzzzzyyyzxzzy{zz{zyzzyzzzyyzzz{{{zzyyzy{{yzzzzzzz{zxyzyzyzzyzzzyzzzyzzyyyzzzzyzz{{yzzzzyyz{zyyzyzzyzyyyzyyyzyzzz{zzyyxyyyzzzzzzyzzyytyyyyyyyzzxyxxyyxyyxxyyzzzyyyzyxxxyxyyyyzyyzyyxyxyyxzyzyyxzyyzyzxxxxxyxyyzyzzyyzyxxwyxyyzzxyzzyyxxyyyxx{zyyyy{yyywxyyyzzyyyyyzyxyyxyyxyyzzyzyzyxyxyxxyxyzyyyzyyxxyxxxyxyzyyzzyyyzxxyxwxyyyzzyyyxyyyyyxyxyyyzyyyxxxyyyyxyyyy{yzyxyyxyxxyyxzyyzzyyzyyyxyzzzzzyz{yyyyyyxyzyyyzzyzyyxzxxyxzyzzzyzyxzyyyxyyyyyzzyzzyyxyxyyxzzzyzz{yyyyyyyyzyz{zyyxz{zyzyxyyyyyz{yzzyyzzzyyyz{yzzyzzzyx{yyyzzz{{x{zz{yyyzyzyzyzz{{zyzyzyzz{yyzzzzzzz{zy{yzzzzz{zzz{zyyyzyyzy{{yzzzzzzyzy{zxzzzz{yzz{zzzyyzyyzy{{{zzzzzzxyzyzzz{zzzz{zyyzzyxyy{y{yzzyyyzyxxzzyyyzzyzyyyyxxxxyyyxyzyzyyyxxyxxxyyzyyyyzyzyxyyyyzz{yyyyyyxyyyxxzyyzzzxyyzyxxyyxxzyyzzzyzyyxyyyzxyzyyyyzyyyyyxyyyxzyyxyyyxyywyzyxyyyyyzyzxxxyyyyxyyyzyyzyyxyyxxyyzyzyzzyyyxxxyyzxxyyyxyzyywyxxxyxyxyyzyzzyyyyyyxxyyyyzzyzyxyxyxxxzzzzzzzzyyxxyyzyzyyyyyzzyyyyxyyyzzyyyzyzyyzyxxyzyyzyyyz{zzyyzyyyyzzzzzzzyyxyzzxyxzzzyy{zyzyyyyyx{zzzzzzz{zzyyzyyzz{yzy{zxyzzyyyyz{zzzyz{{yyyzyyyzzz{zzzzzz{zz{yyzzzzyz{{yz{zyy{zzzy{z{yzzyyyzzzyzzzzz{{{zzzzyzzy{z{y{zzzzyzzz{{zzzzzzyzzzyxzzzzzzzzzzyzzyzyxyzyyz{zzz{zyzyzyxyyyzzzzzzzzzyzyyyyxyz{zzzzyxyyyxyxvyyyyzzyzyyxxxxxxyxyzzzyzzyxxyyxwzyyyyy{yzxxyyyxxyzzzyyyzyyyxxxxyyyyyyyyzyyyyxyyyxzyzyzyyxxxxxxxxyy{yyyyyyxxyyyxxyxyyyyzzxwywxyyyyyzywzyzyyyxxxxxxyzyyyyyxxyyxxxyyxyzxyz{yyxyyxyxx{yxxzyyyzxxxyyyyyyxyzyzyxxyxyxxyyyyyyyyyyyyzyxyxzyyyzyzzxyyxzyyzyzyyzzzyxyzxxzzzyyzzzzzyxxxyyzxyzzzyzyyyyyxyyyyyz{yzzzyyyyzyyxyzyzyy{zzxyxyxyxyzzy{yzzzyyyyzyzzyzzzz{{zyxyyyxyzyzzyzy{zzyyzyyyzzzyz{zzzzzzyyyyzyyzzz{zz{yzyzzzyyzz{z{{{zz{zyyx{yzzzzzzzzyyyyyyzz{zzzzzzzzyzyzyzzyyzyzz{yyyyyyyyyzzzz{zzzyzyyyxxzy{y{zzyyyyzyxxyzyyyyzyyyyxxzxzyyzzwyyzyyyyyyxxyzzyyzzzzyyyyyyyyzyyyzz{zyzyyxxyyyyzzzyzyyxyxyyzxzzy{yyyzxyyxxyxxyyzxyyyzyyxyzxyxyzzyyyyzyyxyywyxyxyzyyyyzyyyyyxxyzyzyyzyyyyyxywyyyyz{yyzyxwyxyxyyzzyyyzxzxzyyyyyxzzyyyyyyyxxyxxyyzyzzzyyyyzyyyyyyyyyyzzzxyyxyyxyyyzyy{zzyyyyyyyxyxzyzyzzyzzxyzyyzzyyzyzyyyyyzyyxxzzzz{{zzxyyyyyyyz{{{zzzyyyyxyyyyzzyzyy{yyzzzyyzzzxzz{zyyzzzyyzyyzy{z{zzzyzzyyyyzzzzzy{zyyyzyyzz{|zzzzz{zzyyy{z{z{yzz{zzzzzzzyyyzzz|{y{zzyz{yzyzzzzzzyzyzyyyyyyzyzzzzz{{zzzzzyzzy{z|zzzzyzzyzyyyyyz{zzz{zyzyzzyyyzzzzz{yyzyyyyyyzz{yyyyyxxxyxxxwxzyzxyyyyyyyxxxxxyyzyzyzyxxwyyyxyyzyyyzyyyyyyyyzyyxyxyyyzyyyxxzxxyzyxyyzyxxxxywxyzxzyyzzyyyyyyyyxyzyxyyyxxxxyxyxyyyzyzzzxxyyyxyxx{zxyyzyyxxywywyyyzyyzyyyyyyxyxxyyzxyyyyyxxywxxxyyyyyxzzyyxyxyxxyyxyzzyzyxyyzxxwyyyz{zyyyyxxzyxyyzzyyzzyxyyyyyyyzyyzyzzzyyyzyyzzzxzyzzzzzxzyxxzyyzz{yzyyzyyyxxyxzzzzyyzzyyyyyzyzyzzyyzzzyyyyyyzyzyz{zzzzxyzyyyyyzyyzyyz|yy{{xxxyzzz{zzzzzxyyyyzzz{{zzyz{yyyyzzyyzzzyzz{zzzzyz{zzzzyz{zzzzyzzzyzyzzzzzz{{xyzzyzxzzzz{z{zzzyyyzyyzzzz{zzzzzzzyzzzyzyzxy{{zyzyyzyyxyyzzyzyyyxzxyyyyyyxxzyxxyxxyyxxxyzyzzyz{yyyyywyyyyzzzzzyyyzxxyxyyyyzzyzyyxxyyywyyyyzxyzzyyyyyyyxzyzyyzyyyyyxxyyyyyyyzzzyyyyyyyyyyzyyyyzyyxxyyxyyyyzyyyyzxxyyyxxxyyzyyyyyyxxyyzxyxyzzyyzyyxyyxyxyyxxyyyyyyxzyyzxyxyzyyyyyyyxxyxyyyzxzyzyzyyyyxyyxyyzyyyzyxxxyzxxyyyyyzyz{zyzxzyyyzzzyyzyzyyyyyxyyyyyyyzyzzyzyyxyyyyyzzzyzyyyyyyyyzzzzzzzzyyyyxxyyyzyyzzyzyxzzyyxzyy{zzzzzyzzyzyzzzzyzyzzzzzyyzzyyzzzzzzzzzzyyzyyy{{zyzzzzzyyzyyyzyzzzzz{{zzzyyzyyy{{zzz{zzyzzyzzyyzzzzzzz{yxyyyyzzzzzzzzzzyzzyyx{yzzzzzzzxzzzyxyzzyzzzzzyyzzzyyyyyzyzyzzyyyyyzyxxzyzyzyyyyyyyyyyxxzyx{yzzxxxyyyxyyyxyzyzzyxyyxyxxyyyxzzyyyyyzyxxyyzy{yyzyzyyyxxyxxyyxyzyzyxyxyyyyxyyyyyyxzyyyyxxxyyyzzzyyyxxyyyxyzyyzxyyzxxxyxwxxyyyyyzzyyyxxyxxyyyzyyzzzxxyxxyyxyywyyxzzxxyxywyyxyyyxzyyyyzyxyyxyzyyyzzzyyyyxyxxy{zxzxyzyyyyyyzyyzyxy{{yyxyyyyyzyyyyyyzzxyyyxyxyyy{zyz{zyxyyyxyyzyyy{zzzyyyyyzxyyyzzzz|zyyyxyxyyz{zzzzyyyyyyyxyyzyzzzzzzzyyyzyyyzzy{yzz{zzyyyyyyzzzzz{{yzyyzzzzzz{{{z{{zzzzyyyzzy{zz{{{zzyyyyyzyzz{zz{{zzyyzyyzy{{{zz{{{zyyzyzyy{{zzyzzz{zyyzyyzzz{zyyzzzzzyxzzyzzzzzz{zyyxzyzzyyyz{zzzzzyyyxyyyyz{yyyxyxxyyyyyxyyzzyyyyzzyyzzxyzyyyyyzzxyxxxyyxzyyyzyzzxyyyzxxzyxzyyzyzzyxxyyyzzyzyzzyzyxyyyyyxyyyxyzyyyyyyyxyyxxzxyyyxyyyyyyxyyyzyyyyyxxyyxxyyzzyxzzyyzyxxyyxxzyzxzzzyyxyxwxyxxyyyxyyyxzxxyxxyyzzyxyywzyyyywxyyyyyyzzyyxxyyzxxyyxzy{yyyyyyyxyyzyyyyz{{yyyxyyxxzyzzyz{zyyyyyyyyyyzyz{yyyyxyyxxyyyyyzzzzyyyxyzyxzzzyyzzyzyxyyyyyzzzyyzyzzyyxyzzxyzz{zz{zzzyzzwzyzzzzyyzzyzzzyyyyyzzzzzyzzxzzzyzyyzzzzyz{yyzyxzzzyzzyzz|{{xyyyyyyyz{zzz|z{yzzzyzzyyzzzyzzzyyyyzxyzzyzyzzzzzyzyyyyzzy{zyz{zyxyyyxzyzzyzzz{yzyyzzyyzzzzzzzzyyyyxxzyyyzzzyzzyyxxxyyyyyzxzzyzxxxxyyzyyyzyyzyzyyyxyyxxyyyyzyzzyxyxzyxyyyyyyyyzzzzyyzyxxzyyyyyzxyyxyxxxxyyxyzzxyyxxyyyxzzyyyyyyyyyxxxxxyyzyyyyyxyyxyxyyyzxyyyzyxyyyyxxyyyyxzyzzyxyyxxyyzxyyzzzyyyyyyyxxyyxyyxyzzzyyxyxxxzyxyzyyyyyyyyyxxyyyyyzzzyyyyyyyyzyyyzzzyyyyyyyyyyzxzyzyxyyxxyyzyyzyyzz{yzyyywyxyzyyyzzzyyyzyyxxyzz{yyzzyyxyxyxyzzyyzzzy{xyxzyyyyz{zzy{zyzyxzzzyz{y|yyzzzyyzyyyz{{zzzz{{zyyyzyyzzzzz{zz{zyzzyzzzyzzzyzzzzyzyyzyxy{zz{z{zzyzyxyyz{yz{yy{zzzyxy{yzzzz{{zz{yy{zyyzy{zzzzzzzyx{yyyyzz{zxz{zzyzyyyyyzyzyzyy{zxyyyyxyyyyzyzyxyyyzyyyyxyzyyzzzzzzxyyyyyyzyyzzzyyzyyxyyxzzzyzy{yyyyyxyxyzzzzyzz{yzyyxxwyzyzyyzyyywyyxyyxzzzyyyzyyyyyyzzyyyzyyzyyyyxyyxzyxyyzx{yzyxyyyyzyyzzyzx{zyyyxyzxyzzyyzzz{yxyyyyyxyyyyyzzyzyxxyxyxxzxzyyyzyyyxxxxyxzz{yzzzyyyyyyyxzzzyyzyzzyxyyyyyzzzyyzyzxxyyzyyyzyyzyyzzyxyzxyzzzz{zyzyyyzyyzxyyyzzyyzzzyyzyyzyxzyzyzz{zzyyyxyyyzy{zy{yyyyzzzzzyzyzzzz{zyzzxyyzzyyzz{zzzyyz{yyyyz{zzyz{yzyyzzxzz{zzz{{{zzyzyzz{zy{{{z{{zzzzzzyzzz{yzz{{{{yzyyxzzz{{{y{{zzyzy{zzzzzzyzz{{{zyzzyzy{zzzz{{{zyyyyzyyyzzzzz{{zyyzxyxy{z{zzz{zyzyyzxxyzyzzyzzyyyyyyxzxyzzyyyzzyxxyxxxyzzzy{y{zyxyxyxyxzyyy{yzzzxyyxxyyyyzzyxzzzxxyxyyxyyyzyzzzyyzxyzyxzzyyzzzyyxyxywyyyyyxyyyyyyyyyyyyyyyyyyyyxxyyzyxxyyzyyyzyzxyxxxxyyyyyzyzzzxyxyxyyxxxyyzzzyxxyyxyxyzyyxyzzyyxwyxyxxyyyzzyyyyyyxxxyyzyyyzzzzzyxyxyzzyxyzzzzzxxyxxyyyzyyyyyzyyyxyxxyzyyzyyzzxyyyywyxyzzy{zzyzyyyyyyyy{zzzy{yzxyzyzxzzzzyzz{zzyzxyyyyzyz{zzzywzyyyyzz{y{zy{{zzzyyzyzyyzzzzzz{zxxyzyyyz{zzz{{zzy{yyyzzzzyzzzzzzzzyyzyyz{yz{y{{{yzzzyzyzzz{zzzzyzzzzzzzzzzzz{{zxyyzzzyz{z{zz{z{yxyyyyzxzyyzy{{zzzxyzyyyyzzzzz{zzyyyywyyyzzy{yyzyyyxyxxzxzzzzzzzyyyyyyyyyyyzzyzyyyyyyyxyyyzx{zyzyyxxywxxyzyyzyzzyyyxyyxyyxyyzyzzyzyyxyyxxyyyzzzyyyyyxyyxzzzxyzyyxxxyyyyxyyzyyzyzxxyxyyxyyzyyyzyyxyyyyzxyzyzzyzzzzyyyyyyyyy{yyz{zyyyxxyyxxyyyyzyzyyxwx{yyx{yyxzzzyyyxyz{xyyzzz{zzxyyxzzyzzyyyyyz{zxyyyzyyyzzzz{yzyyzxyyyyyzyzzz{zyyzyxxzyzzyz{zyzzyywyzyx{zzzyz{zyxyzzyzzzzzzz{yzzzxxyzyzyz{{zzz{yyzyyzzyyyyzzzzzyyyyzyzzz{yzzzzzyyyyzzzz{zzzyzz{zzzzyzzzzzzz{{zzzyzyzzzyy{z{z{{zyz{zzz{zzzzzz{{zzzzyzyyzzzzzzzzzzzzzyzyzzz{{zzzzzyyyzzzyz{z{z{z{{yyxyzzyzyzyzzzzzyyyyyxyzyzzzzyyxyywxxxxzzzxzzyyyyyxyyyxzzyyyzzyyxyyyxyxzzzzyzzzxyxyxyyxyyzzyyzzywzxxxyy{yyyyzyyyyyxyyyxyyyxzzzyyxyxyyxxzyyyzzzyyyyyxwyyxyxzyyyyzxyyxxxxyyyyyyyyyxyxxxxyzyzzyzyyyyyyxxxxyyyyyzyzyyyyxxyyzyzyyyzyxxyyyyyyyyyyzyzyyyyyyzxxyyzyyyzyyxyxyyyyyzyyzyzzyyyyyyzyyzyyyzyyyxyyxxzyxyzzzz{zyyzxyyzyy{yyzzyzzyyzyyyyyz{{yyzyyyyyyzxzzzzyyzzz{zyyzyzyzz{zz{zzzyyyxzyyyzz{zzyzyyxzzxzyzzz{z{zzzyyzzzyz{zzzz{{zzyyzyyzzy{zz{z{{{yyzzzyzyzz{z{z{zyzzyzzzzzz{zzzzzyzyzzyzzyzzzyz{zzzyzyx{zyyzzzzzyzzyyyyyzzy{zzzzxyyyyzxxzzzzyzzzzyzyzyzyzzzzzzzyyyyyxxxyyyyyyyzzyxyyyyxyzzyzyy{zyxyxyxyxyyyyzzyzzxyyxyxxyyzyyz{yxxyxyxyxyxyzzyzyxyxxxyyyyyzxyyzyyyywxyyyyyyyyzzzzyzxyyxxzxyxyyyzxxxxyxyyxzyyxzzyzyyzyyyxyyzyyzxzyyyyxxyxyyyyyyzyyyxxxxxxxyzxyyzyzyzxxxyyxzzyyzzyywyxyzxyzyyzzzyzzyyyyyzxyzzzyzyzyyyxywxyzyyyzy{zyyzyyyyyzzz{yz{zyzyyzyyxyzzzy{zxzxyxzyyyzy{zzz{zzyxyyyxzzzzzz{{yyyzzzyzyzyz{yz{yyzzyzyzzyzzzyz{z{yyyxzyzyzzyz{zyzxyzyyyyzzzz{{{{yyzyxyzzyyzzz{z{zzyzx{zzz{z{z{|zzyyyyyzzzzy{zzzz{zyyzyzyz{zzzz{{{yzyzzyzzzzyzzyzyyyyyzyyzzyyy{zzyyzzxzyyz{zzzzzzyyzxyyyyyx{zyzyyxyxxyxywxzzyzyyzzyyyyxxxyyyyzzzzxyxxyyxyzxzzyyzyyxyzyxzvzzyyyyyzzyyxxxyxxyzxyyzyxxxyxzyxyyyzxzyyzxxyyyxyzyyyxzzzyxwxxxxyyxyyyyxyxxxyyxxyzyyyyzyzxyxywxxxyzyyyzyzzwxxwxyyyyyyyyyzzxyyzyyyxzyyxyzzyyyyxxxxyyyyyzzyyyyyyyxyyyzyyzyzyxyyyyyzyxzyyyzyyyxxyyyxzyzyyzzyyyyyxyyzzyzyzyzzyyyxzxyxyzzzzzyzzwyyzzyyyyzzyzzyyyyyyyyz{yyyyzyzyyyzyyyzy{yzzzzzyyyyzyzzzzyzzz{zzyzzyzzyzzy{zzzzzzyyzyyyzzyzzzzzyzzzyzyyy|{yzzzyzzyyzyyzy{zyzzz{yyzyzzzzzzzzzz{{yyyyyzyzzyy{zy{zzyyzyyxy{zzzz{z{yxyyxyyyzzzyyzzzzzyyyyyyzyy{zyyyyyzxxxxxyxyzzyyyxxxxxxxxyzxyyyyyywyyyxywyyxyyyzzyxxxxyyxyyxyyyyyyyxxxxxxyyzyyxyyxxxyxwxxyxzxyzzzyyyxxyyxyyyyzyzzyxxyywwwyyzxxyzzxxyyxyyxzzyyxyzzxxxxxxyxxyzyyyzyyxxyxxxwyyyyzyzyyyyxxyxxyxyyyyzyyxxzxxyxyxyyxyyzwyxxyxxxxyyyyyzyyxxyxyxxzxyzyyzyyyyxyyxxxzzyyyyzyyzyxxxyzzzyyyzzyxzyyyxyyzzyzyzxyyyyxxxxyzzzyyyyzxyxyxyyzzyyyzyyzyxyxyyxyzyyyzyzyyyxyyzyyyyzyzyzzyzxyy{yzzyzzz{{zyyyyyxyyyzzzyzzyxxyzyyyzzzyzzzzzyyyxzyyyzyzzzzzzzyyxyyyzzz{{z{zzyzyyyxy{z{yzzzyyyyyyzyyyyzz{zz{zzzyyzyzyxyzz{zyzyyyyyzyyzyzzzzzzyxyyyyxyxxzyzzzxyyyxxzxzzzyzyzzyxxxxyyxyzyyyyxyyyyxzyxyyyyyzyzyxxyxyyxyzyyyyyzyyyyyyyxyyyzzxyyyyxyyxxxwyyzzyyyzyxywyxxyyzxyxzzyyyyxyxxyyyyyzzzyyxyxxxxxyyyzyyyzxxxyyxzxyyzxzzzyyxxyyyxyyzzzzyzxwyxxyyxxzzzyyzzzyyyxzxxxyyyyzxyzyyyyxyxyyyyxyzyyzxyyxxyyzyyzyzzzyxyyzxyyxzzzyzyyyxyyywyyzzyyyzzzyyzxxxxyyzzzzy{zyyyyzyxyyyyzzyyzyxxxxyyxyzz{zzyz{zxxyyyyzzzyyzzyyzyxyyxyyzzzyzz{xzyxyyyzzzy{zzz{{xzyyyyxzzzy{z{zyzzzyzyyz{{z{zzzzyzyzzyyyz{zz{zz{zzyyzyxzzz{zz{zzzz{yyzyzzzzyz{z{yzz{yzzzyzz{zz|{yyzzzyyyzzyz{z{yyxzyzzzyzzzzz{zyyxyyxzyyzyzyzzyyxzyzxxxyzzzzyyywyxxywxyxzzxyxyzyxzzxxyyyzyzyyzzyxxxxyxxyyyyyyzzyyyxyxxxyyyyyyzyyyxxyyyxyxyyyzyyyyzxyyxxyzzxxxyyyyxxyxyyyxzxyyyzyxxxxyyyyyyzzyyyyxyyxxyyyyyzyyzyyyxywyxxyyzyzyxyyxyzxxxxyyyyyyzyyzyyyxyxxyxxzyyyyxxyyxxwxyyxyzyyxxyyxyyyxzzyyzzzyyzyzyyxyzyyxzzzzzzyzyyxzzyyxyzzyxzyxyyxyyzzzy{{yzyyyxyxxzzzzzyzyyyyyyxyyzyyyyzzyyxzyyyyyz{yyzzzyzxxyyyyyzyzzz{{yyyzyzyzzzzzzzzzyyyyzzyyzzz{{{zyzzzyyyyyzzzzzzzyyxyzyzyyzzzyzz{{zzyzyzxzz{{z{{{{{yyzyzzyzzyz{zzz{zzyzzzzyzzz{yzzzyxyyzyzyzzy{zzzzyzyzyyzzz{zzzzyyy{yxyyzz{yzxyy{yyyzxxxxyz{yzyyzxxyyyxyxyzzyyzyzyxyyyxyyzyzy{zzzxyxyyyyyyzyzzzyyzxzxxyxxxyzzzzzyyyyxxxzyyyzyyyyzyxzyxyyxyyzyyyzyyyyyzyxxyyyyxyyyzxxyyyyyyyzyzzyywyyzyyxyyyzyyzzyzxyyxyxyxyxyzyzyyxyxyyyxzyyyyyzyzyyyyxyxzyyyyzxzyzyyyxyyyyyyyzyyyxyyyyyxyy{xyyzzyxxyyxyyyzzyyzzyyxyyyxyyyzyyyzzzyyzyzzxyzzyzzzzyxyyxyxyxzzzzz{yyyyyyyyyzz{zyxy{zyxyyyyxyzzyyyzzzyyyzyyyy{{zz{zz{zyyxyzzyzzzzyz{{yyzzzyyyzyzzzzzzzyyyz{yyzz{z{zzzzy{zz{y{{zzz{zzzzyzyzz{zz{{zzz|y{zzyyyzyzzzzy{{zzxzzyyyz{zyz{zzzzyyyzzyzyzzzzz{zyz{xyzyzyzyyz{zzzzyyzyzzyzzzyyzzyyzxxxyyyyyyyyyyxyyyxyzyyzyzyz{zyxxyxxxyyyyzzyyyyyyxxxyzyyyxzzzyyyywyyyyyzyzyyzyywyyxyyxyyyyzyzzyxyxxzxxxzyyxyzyyyyyyxyyyyzyyzyyxyxyxxyyxyxyyzyzxyyxxyyyyyyyzzyzxxyxyyxyxzyyyyzzyyyzyxyyyzzyyyzzxyywwxyxyzyyxyzzyxyxyxxyxyyyyzzyyyyxyyyyyzxyyzz{yyyxyxyyyzzyyyyzzyyyyyxxyzzyyzyzxzyzxyzyyyzzz{yzyyyyyyyyyzzzyzzzyyyyzxxyzyyyyyzzzyyyxyyzyzzzyz{yzyyyyyyzzyzyzzzzyyyxyyyyzzz{y{{{y{zzyyxyzz{yzyz{zyyzyyyzzzzyzz|{zyzyyz{y{zzz{zzzzzyzyzzzy{zz{z{yyyzy{yzy{zy{zzzzzzzzyyzzyyz{zzz{{yzzzyyz{zzzyzz{{yzxzyyyzzzzz{{zyyzzyyyyyzzzyz{zzyzzyxzzzyzy{zzzyyxxyywxyyyyyzzyzyxxyxzxyzyzzzzzyyyyxxywyzyyz{{xyzzyyyyxzyzzzyyyyxxyxyyyy{yzyyzzxxyyxyxxyzyyyyyyyxyyyyyyyyzyzyyyxxzyxyxyxyyyzzyyyyyyxyyyyyxzyzxzyxxxwxxyxyxzyyzzyxyxyyyyzyyzyyyyzyxyzxzxzzxyzzyyyyyyxxyxyyyzzyyyyyyyyyyyzyzzzyyzzyxyxxyyzzzyyyyzyyzyyyzyzyzyzzzzyxyxyyxxyzyyzzzyzxzyxwyxzzzzyzyyyyyzyxyyzzyyyyzzyzyyzyyxzzzyyzyzzyzyzyyyy{zzyyzzyyyyyyzy{zyzzyzzxxzzyxyzzz{zzz{yyxyz{yyy{zzzzzz{{yyzyzzyzzyzzz{zzyzy{zz{z{{z{{{zzzzzyzyz{{z{zz{zzyyyyzyzzzz{z{{{zzyyzzyzzyzzz{z{yyyzyyyyyz{{zyz{zxyyxzyyzzzzyzzzzxzyxzyxz{zzyzyzxyzxyxyxxzyzzzzzxyyyyyyxxzzzyzzyzzyxyyxyxyyzzyzyzyyxxyyzzyzzyyyyzyyxxxyxzyzzyzyzyyyyxyyxyyyyyyzyyyyyyzyxzy{yxyzxxyyyxxyyzzzxyyyzxyzyywyyyyyzzyzyyyyyyyxzyxzzyzzyzyyyxxyyzyyzxzzzyyzxxyyyxyzxyyyyzyxyyxyxyzxyzzyyyxzyyyxyyzyyyz{yzyyxzyyyyzyyyyz{yyyyzyyxzzzyzzzzy{yyxyyyzzzxyzzzyyyxzxzzy{yzyyzy{zzyxxxyzzzyyy{zyzyyyyyz{z{yzzzzyyzzzzyyzyyzzz{zyyzyyyzzxzzzzzzzyzzzyyyyzzzzy{zzzyzyyyzzz{{z{z{zzyyyyzzzzxy{zzzz{zzyzzyzz{zz{{{zzzzzyyyx{z{{yz{zzzyyzyyzz{zzzzz{{zyyzzyz{zyzzz{zzzzzyyyzzzzzyz{zzyxxyyzyz{zyzzz{zyzyyyyyyzzzyzyyyyyyyyxxzyyyxyzyyzxxyyxyyyyzyyzzyyyxyxyyyyzxyy{zyyxyyxyyyyzyxzzzzyywwyxxyyyyyzyzyxyyxxxxxz{yyyyyyyzyxyxyxyyzyzyyyyyxxyxxyxxyyzyzyyxxxxxyyyyyyyyywzxyyyxyzyyyyzzyyyzyxyxwyyzyzyzzzxyyyxyyyyyyzzzyxyyxxyxxxyyxyzzyxyzxyywwyyyzyyzyyzyyxyzyyzyyzyzyyyyzxxyyzzzxy{zzyyxyxyxyzyz{y{yzyxxyyyyyxzzyzzzyyyxyyyxyzyyzyy|zyyyyyyyzzzzyzzzyyzyyxyyyxzzzyzzyyyyyzyyyyzzzz{{{yyzzzzyzzzz{{yz{zyyyzyxzz{zzz{zzzyzzzzyzzxzzy{z|{zzyyyyzz{{zz{yzzyzyyyzzzyzyy{{zzzyzzyxzzzz{{{zz{zyyzxzyxzz{yzzzyyzyxzxyzzyzz|zyzyyyxzyyyzz{zz{{zxzyzyyyzyzzyyzzyyyxyxyxyyzyyxyzxxyyyvyxzyyzyzzzyyxyyyyxyzyzyyzyzxxyyxxxxyyzyzyyzyxxywyxyzzyyyyyyyyxxxxyzzzxyzyyzyyyyyxyxzzyzyzzyyyyyyyzyxyyxyzyyzxyyxyxyyzyyzyyyxxyxyxyxyzxyyyyzyyxxxyxyyzyyzzzyyyyzyxxyyyxyxyyzyyyyxyyyxyyyyzyxxxyzyyyyyzyyyzzzyzxyyyywyyzzyzzyyyxyxyyyzyzyzz{yyyyyyxyzyzxyyzyyyyyyxyxyyy{zzzzyyyyyxzyyzzyyyzzyyyyxyxyx{zyzzyzyyyyzyyzzzzzzzzyyzyyzyyyyzzzzz{zyzyyyyyzzyzyyyzy{yyyyzy{zz{zz{zzzzyyzzyzzzzyzzz{zyzzzyzzy{z|zy{z{yzzzzyyyz{{z{{zyzyyzzyzyyzyz{zyzzyyzyzyzzyyy{{zzzyxyyyyzzz{z{zz{yyyzyzyyyyzyzzyyzzyzyzyzzyzzyyzyxxyxxywxyyxyyyzyyxxxxwxyxyyyyzyxywyxxyxyyyxyyzzyxyyyxywyzzyxzzzyyyxxyxyxyxxxxxzxyyxyyyxyyxyzyxyyyyxxxxyyxyyyxy{xxyyxxxxxyzyyzxxyyxwxxxyxyyyzyyxxxxxxywyxyyyyyyzxxywyyyyxzzzxzzyyxxxyxywwzyxxxxyyyywyxyyxyyyzzyyyyyxyxyxyyyyyyzyyxyxxyyyyyyyzzyzyxyyyyyyyyyyyyyzyyxxyyyyyzyyzzzzzyxyzxzyy{yyzzzzyywyyyyyyzzzzyyyyyyyzxy{zyzyyyyyzzxxxyxxz{z{z{zyyyyyyyyzz{zzz{{yyzyzyxxxy{zzyzzzzyzxyyyxzzzzzzzzyyxyxzyyzzyzyz{zzyyyyzzxy{zzzz{zzyxyzzyzzyyzzzzzyyxyzzyyzzzzzzz{zyxzyzyzzzzzyzzzyyyyyyxyyyzyyzzzzyzzyyzyyzzzzzzzyyyyyyyyyyzyzzxzyyyyyyyyxyyzxyyyxyxxyyyxyyyyyzyzxyxxxyyxyxyyyzyzyywxzxyxyyzyxxyzzxyxxxxxyyxyyzyzxyyyyxxyyyyyyzzyxxyxyxyyxyyyyyyyyzyvzyyxzyyzzyyyyxxxyxxxyyyzyyzyyyxyxyxxyxzxyyyzyxyyxyxyyzzzzyyxyxxxxxyyyyyyyyxzyxyxyyyyzyyxyzzyyyyyyxyyyyzzyyzzzyzyyxyyyyyzyzzzxxxzyyzyzyyyy{yzyyyyyyyxzyzyyzzzyyxxyxyxyyy{{zzzyyyyyyyyzzyyyzzyzyxyyzxyyzzyyzzzzxyxzzyzyzzzzzzyyzzxzyyzyzxzzzzyyyyyzyyyz{zz{zzzzyyyyyyyzz{yz{z{yyyxzyyzzyzyzzz{{yyyxzyyz{zzzz{zyzyzzzxx{zyzzzz{yxyzyyyxzzzzzz{zyzzzyzyzzy{{yzyzzyxzyzyyzzzyzz{yzyyyyyxyzyx{zyzzzyyxyyyxy{zyzyzzxxyxxyyxxyzyzxxyzyxxxyxyyyxyzzzyyyxyxzxxyyyyyyxzyzxxxxwyyyyzyyy{yxxyyyywyzyxzzx{zyzyxxxyyyyyxyyxyxxyxyxxyyxyyyzyyxyyxyxxyyxxxxxyyxxzxyxxyzyyxyyyzxyyyxyxxzzxzxyyxxxxxyyyyyzyyyzyyyxyxyxxxyyzyyzzyyxxxxyyxyyyyzzzxyyyyyyy{zzyyy{yxyxxzxyyxxyyyzyzzyyzxy{xyyyyyzzzyyyxzyyyzy{zzzyyyzzxywyxyzyzyzyyzyywyyyxyyyyxzzyyxxyyxyxzzzz{yzyzyyyyyyyyyzyyzzzxyyyyyzy{zyzyzz{zyzzyyxyyzzzzy{y{yxyyyzyzzzyz{zzyyyyyyyyzzzzz{{zzyzyzzzyz{zzyzzzzyzyyyzxzzzz{zzy{zzzzyyzzzzzzzz{yzyyyyyyzyyzzyzzzzzyyyxzyzzzzzzzzyyyyyxzyzzyyzzzzyzwyzyyyyyyyyyzyxxwyxxyzzyyxzyyxxyyyxxxzyxyyzyzzyxxyyxyyxyyzzzzyxyyxyxzxyyzxyzzyxxyxyxyxxyyxzzzyxyyyxxxyzyxyyzzzyywyyyy{x{xyzyyxxywyyxxyyyyyyxyyyxxyyyxy{yyxyzyzxyxyxwxyzyyyy{zyxywyyyyyyzzzyxzyyxyyxyyxyyyyzxyxyxzyxxyy{xxy{yzyyyyyyyyxzzyyyzzzyyxyxyyyzzzzzzzxx{yxyyyyzxyyzyzyxyxyzyyzy{zzz{{zzyzyxyxyzyzzzzyyxyyyyzyzyyyyyzyyyyzyyyyzyzyyzzzyyzzyzyyyyzzzz{zyzzyzzyy{zzzy{z{zzyyyyyyz|{zzzzz{yzzyyyzzzyzzz{z{yyyyzzyzyyz{zzzzxyzyzxyzzzzzz{zzzyyyyxy{zzzy{zz{yyzzyyzy{{zzy{{zzyzzyyyzzzzzzzzzyyyxyyxzzyzyz{zzzzzyzzyyyzzzzzyzyzyyyzyzzzzyzyyxyxyyxywyyyyyzy{yxyyzxxyzyzyyyyzzyxvyxyyyyyyzzyyyxyxxxxwxyzxyyyzyyyxyxxxyzyzxxzzyyxyyxxxyyyyyyyyxyyyyyyyyyxxxyzyyyxxxyxyyxxyyyyyyxyxyxxxyyzyyxzyyyyyxxyxzzyyyyyyxxzywyyyx{yzyyyyxyxyxxxxyzyzyyyyzyyxyxxxxzxyzzzyyyyxxyyyyxyyxzyyyxyxyyyxyzyzxzyyyyxyyzyyzyyyzyzzxxzxxxxxxyzzzzzzzyxyyyzxyyzyyyyyxxyxyyxyyyyyzzzzyxzxyxyyzyzyzzzyyyyyyyyyyyyzz{zxyzzyyzzyyzy{yzzzyyxzyyzyz{{zzz{y{zxzyyyyy{zyzzz{zyzyz{{zyz{zy{yyzzzzyyyyz{yzzz{{zyyzyxyyzzz{{{zyyzyyyyzyzzy{zzyzzyzyyyzyzyzyzzzzyyyyyzyyzzy{zzzyyyzyyyxxyzzzzyzyyxyyyxyyzyyzyzyzzxyxxxywyy{xyyzzyyxyxxyyzyyyyyyyxyyxyxyyyyyyzyzzzxyyyyyyyyzzyyzzzyxywyxxxyyyyzyzxxyxxxzxyyyxyzyyxyyyyxyxzyzxzzyyyyxxyyxxyyyyyxxyxyxwxxyxyyyyyyzyxyxyxyxxyyzyyyzzyxxwwyyyyzxzyzzzxxyyyxyxyxyzxzyyzyxxyxzyyyyxzyyyxyxyzyxxyyyyyyzzyxxyyxxyxzzzzz{zyyzyxwyzzyzyyzzzyyyyxywyzzzxzzyyyyyyyxzxyyxzzyyzyyzyyyyxz{{zxz{xyyyyyyxyyyzzzzyzyyyzxzzyyyyzzzzzzyyyzyz{zzz{zzz{zyyzyxxyzzyyzzzyzxzzzyzyy{zz{z{zyyyyyzzzyzyzzz{{zyxyyyzzzz|{yzzz{yyyyyyzyzyzzzzy{yyzzyzyyzyyzzz{{yxyzyyzzzz{zzzzyzyxyxyxxzzyzz{yyyzxzyyyyzyzyzzyyyyyyyyzyzzyzxyzyxxxxyyxxzzyyyzzyxxyyxxyyzyyzyzzyyyxyx{xyyzyzzzzyyxyxyxxzyyzyzzyyyzxxyxxyzyzyzyyyxxxxyxxyzyxyzzyxyzxxyyyyyzyyzzyyyyyyyxyyyyyyyyyxyyxxxxxyzyyyyzyxyyyxxyyyzyzyzzyxxxxyxyxyzyzyyzzyyyxxxxxxyyzyyzyzzzxyyyyxyyxzzyzyxyxyyyyyyzyxyyzzyxxyyyyyyzyyyzzyyyyxxxyyzyzyzzzyxyyxyzzyyzzzzzzyxyzxyzxyzzzyyyzzxyyxyyyyzzzzzzyyyxyyyyyzyzzyzyzyzyyzyyyyzy{zzzzxx{yyzyzyzyzy{y{{yzzyzyyyzz{y{zzzyyyzyyyzzz{zzy{yyxzyzzyzzyzzzz{{yyzzzzyz{z{z{zzyzyyzyyzzzzzyzzzyzzyyyzzzzzzzz{{yyyzzzyzzzzzz{y{yyzyyyxyzz{zzzz{zzyxzzyyzzz{zzzyyzyzyxyyyzzyzyyyyyxyyxyyzzyxzzzzyzyyyxxyxyyyyyyzyyxxxyyxzxyyzzzyzxy{yxxyyyyz{yzyxyzwxyxwyyzxzyyzyyyxyyyxyyxyyzyyyyyyyxxxyyzyyy{yxxyyzxxyzyxyyxyyyxxxyyxyxyyyyzzyyyyxwxxyyyzyyyzyyxyyyyyxxyyyyyyzyyxxyyyxyyyyyyyyzxyxxxxwxxzyyyyzzxxyyyyyyyzyzyz{zyyxyxyyyzyyzzyzyyyyyxzzzyzzzxy{yxyyyyyy{yyyzyzyzyyyyxyyxzyzyzxyyyyxyyyyzyzyxzzyyyxyyyxyzyyyyyyyyzyxyzyyzzyzzzzyyyzyzyzyzzzzy{z{yyyyxzyzzzyzzyzzzxyyzyyzz{yzzzzzyzyyzzzyyz{z{zzzzzyyyzyzyzzzyz{zzzyzxyyxxyzzz{zzzyzyyzzyzzzzzzzzzyyyyyyyzzzyy{zzyzzyyzyyzyyyzzzzyzxyzzyyyyyzzyzyyxzxyyyyzzzzyyyxyyxxyyywzyyyyyzyyyzyxyxyzyxyzyzzxyxxxzyxzyyyzzyzyxyyxyyxxzyxyyyyyyxxyxyyxyyyxyyzyyxzxyxyyyyyyzyyyzywyyyyyyyzyyyyyxyxxyyyyzzyyzzyxyxxxxyyyzzxyzzzyxyxxyxyyyzyyzyzyyzyxyzxyzyxyyzyyyyyyxxxxyzyyyyyzxxyxyyyyyyyyzyyyxyyxyyxzzyyyy{yzxyyyxyyzyzyyzzzyyyyyxzyzyzyzyyzyyzyzyyyyzyyyz{zzyyxyyyyyzzzzzxzzxyyxxxyzyzzyzzzzyzyyxyzyyyzzzzz{zyyzzyyyyzzz{zyyzyyyyxzzzyzzz{{zyyzyyxyz{yzyz{z{yyy{yyyzzz{zzzzzyzyzzzyy{zzzzzzzzyyzyyzz{z{zyz{{yyzyyyy{{{zzz{z{xxzzyyz{yzz{{{{z{yzzzyyzzy{zyxzzzyyyyyzzzzzz{{yzyzzyyxxzzzz{zyzyyxyxxxxyyzzyyxyxyxxxyxxyzzyzxzyzxyxyxxyyyzzzzyyzyyyxyxyzyyyyyzzzxyyyxwwyyzzzyyyyyxxwxyyzy{yzyy{yyyxyyyxyyzyyyyyyyyyxyyxyxzyyyyyyyxwxyxxyxxzxzyzxxyxxywyzyxyyzzyxxyyxyyyyyzz{yzyyyyyxxxyyyyyzyzyyxzxxxzyyyyyyyyyyyyxyxyyxyzyzzyzyxyxxyyyyyyyyzzzyyyxyxyxzxyzyyyyzyyyxxyy{zzzzzyyyyzyyyxyzzz{zyyzyyzzzxyyyyzyzzyyyyyyyzxxzyzzxzzyyyzyyyzyzyzxy{yy{zyyzxxzyyzzzzzyyzyzyzzy{zyzyy{zyyyyzzyyzzzz{zzzzyyxyyyy{zzzz{{zzyyyy{zzzzzzzz{z{zzzyzyy{|yzy{z{zyzzyyyyzzzz{z{{{zyzyyxz{z{zz{zyzzzzzyyzzz{zyz{{zzyxyyyyyzzzz{zz{yyxxyyyzzzzzzzzyyzxxyxxzzzzyyyyyxxyyyxxzzzyyyzyxxxyywxxxzyxxzzzzxyyyxxxyyxyyyyyyyyxxyyxyzyzyyyyyyyxyyxyyzyzyzyzyxxxxyxwzzyxyz{xyyyyxywxyyyyxzzzxxxxxxxyyyyyyzxzxyyxxxyyyzzyyzzyyyxxxxwyyxyyzyxzyyyyxwxyyyyyyyzzyyxyywzxxyyxyyyyyyxyyxxyyzxxyzzzyyyyyzxxyyyyzyyzyyyyxxyyz{zyzzyzxyxyyxyyyyzzyz{zxyyyxyyxzzyyzy{yzzyyxxyxyzzyzyzyzzyyyxxyyyyzyyzzzyyyxyyyzyyzzyzyzyyyzyyyyyzyyzzzyyyyyyyzyzyzyyzzyyyyyxyyz{zzzzy{yzyxyyyyzzzzzzzzzyyyzyzzzzyz{zyzzzyyyzyyzzzz{zy{yzzzzyyzz{z{zzzzzyzyzxyy{zzyz{{{zzyyzzzyzyz{z{zzzzzxyyxxyyy{yzzyzyzxyyyzyyzzzzzyyyyyyyxyzzyyySFv3W b z|{{z{z{|||}~~||z{||{zz{{z{{}|}{|{z|{z{{|{|||||||{{{{z{z||{|{}|{|{zz{{{{{{{{|||{}{z{zz{||y{|{}{|{{z{zz|{{}|||||zzzz{|z{{{z|{|||{{zz|z{z{{|{{{{{z{{{{zz{{|{{||{|zz{zz{{{||{{{|||{{zzzz{{{{{z{{|||{zz{zzzz{{{{|{|{{|z|z{{{|{{{{|||{{zzz{|{{||||{{{z||{z{z{|{||{{{{|z{z{||{{z|{||{{{{z|{{{{|{||||||{{{{|{{||}|{{||}||z|{z{|||{{}|{||{{{{{|{|{||||{{|||{{{{{||~|{||||{}zz|{|||||}||{{|{{{|{||||{}{|{{{|||}||||||{|{}zz|z||{|}|}}||}||{{{{|{{||}|||}|z{{|{|{||{||{|}|{{{{{{}||||{}|}|{|{||{{{||||||{z|{{|{{z{||}{{{|{{|z{{{{|||{||{|||{{|z|z|{||{{}{|zz{{{|||{|{{|||||{{zzzz|{|{|||}{|||{{|{|{|}{{|{{{|{z|{{{|}{|}||z{{{{{{{{||{{||{{zz{z{zz|{|{{{||{{z{z{|{{{|z||z}zz{zz{{{{{{{{{|{{y{{{z{{{{||{{|{{zz{zz{{{z{{{{}|{z{z|z{z{{{zz}}z|{z{z|{z{{{{{||{zzzz{{z{{z{||{|||{{z{{z{{z|{{||||{{{{{{{|{|{{{|{{z|z{z{z|{|||}|{z{{|{z|z{{{|{|}{{||{{{{z{||||z|{|{z{{{{z||{|{||}{{|{{{|{{}{{|||}{|{{{||{{z{}||}}{{|{|{{{{{}{}}}{||{|{{{z|||||}}}{{{{{{||}||||{|}}{{||||||||}|||||{||{|{{||}{}||||||{{{z{}}|{}||}{{|||{{{|}||||}}||{y{z{z{||{{|{||z|{z{{z|||{|||{|{{z|{{{||{{{|~|{{{{{|||{|}{|{||}{||{{z{||z|||}||z{{|{{{|{|{|||{|{{{{{|{|||||{|{|z|zzz{{|{{|{|z|{||zzz{{|||{z{|{{{|{{z{{{|{z{||||{{z{z{{{{z{{|||{{{{z{{z{{|}{{|{{z{{{|zz||||{||{|{|{z|{z{|{{||}{{{z{z|{{z{z{{|{|z|y{{{{{{z{{{{{|{zz{{{|z{|{|}{|{{{z{{{z{{{{{{||{{z{{{{||{{{{{||{{{z{|{{{|}|{|{{|{{{{{{{{z{{||}{{{{{z{{z{|{|{{{{{{{{{}{{z|||{|{{|{{|{{|{{||z|}{||{{{{{zz||{|||}|}||||{{z{{|||||}|{z{|{||{{}|||{|}{{||{||{|}{||||||zz{|{|{||}|||}}}{{||{{{}||}{}|}|z{|}{{{|||||{||||||||{}|}}||}|}|{{|{|z{{|{}||}|{{|{{{{{{|{|{|||{{{z{{{{{{{{|{}}}}|}{{{{||{||{|{z||{{{{{{|||||}|{|z{|{z{||{|{||{|{{zz{y{{{||{z{}{z{zz||{{|{|{{||{{|y{{{{{|{{{|{{{{{zz{zz|{{||||{{zz{{{{{{{{{{{{|{{z{|{zzzz{{zz{{{{{zz{zz{|{{{{|{|{{{{{{{{{|{|{}{{zzzzzz{{|{{|{{{zzzz{{zzz|{{{|}{{z{{{{{z{|{|{{|{{{zz{zy{z|{|{{{|{z{|{z{{{{{||{||{z{|y{z{|{||{|}|{z|z{{|z||{||||{z{{{z{{{|{||{|}{{{{z|{{{{{}{||{}||{{|{{{}{}{{{||{{{{|{|{{|||{|}|{{{{{zy{|}|z|{|||{z{|{|{}}||}|}{|||{{||||||||}}||||{{}|||}|}||}{{{{|{z|{||||{|}{}{{|{|{{{{|{||}}{|{{||{{|{|||{||||{{z{||{{|}}|{|{|{{{z|{{||}}|{{|z|z{{{|{{z|||{|||{||z{||}|{||||{{{|z{{{}{}|||}}|{z{zz{z{|{z{||||z{z{{{|{||||{|}}z{z|{|{{{z{|{{|yz{zz{{z{||{z|}{{{{{{z{z{{|z{|}{{{|zz{{y{z{{z{{{z{{z{z{z{{{z{{|z{zz{y{{zz{{z{{|{{z{zzzzz{|||zz|{{{{{{{{{{z{{{|{z{{{z{z{{{{{||{{|{{{{|||z{{{{{{|{|{{{z{{{{{|{{||{{{{{zz{{|{|z|{||z|{{{z|{{{{{|{{{|z{{{{{z{{}{{|{{{{{{{{{{{{|||{|{{{{{{{{{{{{{|||{|{{z{{z{{|||||||{{{{|{|}z||}||||{{|{{{{y}{}|{||||||{z{z{|||{||}||{|{{||{||{|}}|}||||{|{{|}}|||}||z||{z||{}{{}|{|}{{{|{z||||{~}|}|||{||||||{||{}|}|{{z{{{|{||}||||{{{z{||{{{{{|}|{|{z{{{{|{|{||{{}{||||{||||||}}|{{{{{zz|{|||{}|}{{{{{|{{{||{}||}{|{|{{{{{z|}{||}|{|z{{z{{{{{{|}}{{{{z{zz{||{z|z{|{{z{{yzz{}{{|{|zzz{|zz{{z{{{|{{{z{z{{z{{{{z{||{{zz{z{{{{{|z{|||{zzz{z{zz||{z|{{z{z{z{{{zzzzz}|zzz{zz{{z{{{{{}{{{z{||{{y{{{{|{|}|{zz{zy{z||{{||||{{{zz{{{{z{{|{{|z|{{{{z{|}{||{||z{{{{{{z{{|{}{||{{{{|{{{||{z||{z{{|{z{{{z|{{{{|{{{z{|z{{|{||||}{{{|z{{|{||||||||{{{{z{{{|||||}||{|{{{{{|||||{||{{{{{z{|{}}}}{|}}{{|{{|{||||}|~{|{||{{{{||{||{||{{zz{|{{|}{||||{|{||||z||{z|}}}||{z{{{z{{|{|||{|{{z{{{zz||{|{{{{{{yzz{{{{{z}z||||{{{||{{{}}|{|}{{{|{||{||||||}||}|{{|{|{|}|||||{||||{{z{|}|}z||{}||{|{zz{|||{{|}{{{{|{{{{||||||{{|{{{{{z{{|||||{{z{z{z{|{{z{{{{|zz{{|z{{{|{{||{{{{{{z{z{{|{{||||{z{{z{{{z|||{{}{{z|{{{{{z{||{{{|{{{z{zz{{|{z|{{{{{{z{}zz||||{|||{{z{{|{{{||{{{||{|{{zz{z||}{{|||{{|z{{|{||||||||{{{{|{|{{|{{|}{}{||{{{{{||||}{{|{{|||{{{{}}||||||{||{{z|{|}|}|||{||{||{{{|{||}|}||{z}|{z}|}||{}|}{|||{{{}||{||||{{}|{|||||||{}|}||{|{{||}||||}||}{|||{{{||}|{}|{}{|||||||||{{|}}}||{|||||}{}}}}||||||||{{|||{|||{|zz{{{z|}|||{|}{|zzzz{{z{{|{~|||{{{|{}{||{||}||||{|zz{||}}|||||{{{{{{|z|{||{|{|{{|{{{{z{{|{|{|{{{{{z||z{{z{||||{{{{{y{{{|{{||||{|z{|zzz{|{z{{{{{{{|{{{||{{{{||{{{{{z{zz}{|{{|}{z{z{{zzz|{|{{||{{{{z{z{{{{{{|{||{z{{{z{{{{|{|{z{{{{{z{zz{{{{{|{{z{{{{{z{{{|{|{|||{{z{{z{{|z||{||{{{{{z{{{|{||||||{{{{z{z{|||{}{}{{{{{{}{z{||}|{{{z|{{{zz{{|{{|||||z|{{{{{{{|}|||{|{{|{{{{|{}}|}||zzz|||{{||||||}{{{|z{{{|~|||}|||{{{{||||}||{}||{{{||{||{}{}|}}|||{{{|||{}{{}|||{{{{{{{{||||}|}}|z{|{||{||{||}}}||{{||{||{{||||||||{z|{{|{||{|}{{{z||z|{{|{|z}|{{|{{z{{{{|z|{}{||{|||{{{{|||{||}|{{|}{|{||}||||||{|z{||{||}z|||z|z{{{{{{|{||{{|}}{{{z{{z{|{{|{{}{{z{|{{{||||{}||{{{|z|{{{{||{}|||{z{{{{{|{{||{{|z|zz{z{{z{||||{{{{{{z{z|{{|{{|||{{{{z{z{|z|{{{}{{zz{{{|{{|{{z{||z{{{zyz|{}{}{|{|{z{{||{y|{{{{||{{{{{{{{||{{{||{|{{z{{{{{||{{{|||{|||{y{{}||z{}{|{{z{|{|z{{|{|{|{{{{{{{{{|}|{{{}|{z{z{{z{|||{||{|{{||{{{|{|{}|{}|{{|{}{{{||}||||}{{|||{{z|}|||{}|{z{{{{||}|||{|~|{{||||}||}{|}||{}{{||}||{}}|||}||||{{{|||||||}||||{{{{{||||}||}|||{||z{}|||||}||{{{{|{{{{||}|{||}||{{{{{{{|||{}|{{z{{zz{{{|{z|||}|||||z||}||{}|}|{{||}{{{{{|}}{||||{z|{{|}{||||}|{|{{{z|{}||{|{||||{{{{z||{}{|{|{{zzz|{{{|{{{||||z{{{{{|||{|}{|{{{{{{{{{|{{{z{{|z{{z{z{{|{|z{|}{{{{{z{z{{{|||||{{||zz{z|{|{{|{|{{{{{|{{z|{{|{{|{{z|z|{{{{{{{z{{}zz{{z{zz{|||{|{{{{|zz{{||{{{|}}{|{|{{z|{{{{{||||z{{zz{{z{{|||}||{z||{{|{z|{|||||{z{{{{{z{{}|{|}{{{{||{|{{|{|{{|||{|{|{{z{|}||}{|||{|{{{z|{z|||}}{{{{{{{{{||}|{||{{{|z{{{|||||}|}{|||{{|{|~{|}|}}|{|{{|{{|}{}|}}|{|z|{{||}}|||~||{{{|{{{{|||{||}}{{{{}|{||{||||||||{{|{{{|||}{||||{{{{{z{{||{|}{{|{{z|{{{{{{|||||{||{{||{}}{||{}}||{{{z{||{|}|{|}||{z{||{||{z}||}|||{{|{{z||{{{|{|{{zz{{zz{{{|}|{{{{{{z{||{|{||{zz{{z{{z{{{|{||{|zzz{{|{z{{{{{{|{zz{zyzzz{{{{{{{|{|{z{{{zzz{{{{|z|{{{{z{{{||{{|{|{{{z|z{y{|{{{|||{{{{{z{z{{z{{|{|{z{{||zz{{{|||{||{z{z{{{{|||{{||{{{{{{{{||}|{|{{z{|{zzz{{{|}|{|||z{|{{|{|}{{|||{{z{{{|{{{{{{}{}||{{{{{z{{}{{||||{{|zz{{{{||||}||{{z{|{{z||||||}}|||{{{|{|||{||~{|z{|{{|{||||{{||{{{{{{{{{|||||}||||{||{|{|}||||||{|{{{{{|}|||}|}|{zz{{{|||}|||}}|}{{|{|{}||}|||||{{{z{{{{|{{{|{|{z{{z|{{|{|{{||{z{{y{{{z||{{{|||z||{|{|{}}|||{}|{|{{{{{||||{}}}|{{{{{{{{||{{|}|||z{{{{zz{|{|{|||{||{zz{zz||{{|||{{|{|{{{{{z{}{|{{|z{|{{z{||{{|{z{{|{z|{{|zz}{||{z{{zzz{{z{{{{z}{zz{{{y{zz{{{||{{{|zz{|zz{{{{||{||{{|{z|z{{{{{{{{{|z{|z{{z{{|{|||{{{{{{zx|{|{zz||{zzz{{zz{|{{{{{|{{{{{{|{{{{|{{{{{{|{{{{{{{||{{|{z{{{{{z{{{{{{{|{{{|{{{{z{||{{||{{{{{{{{z|{|{{|||||{{{{{{|{{{{}||{{{|{{{{{{{{{|||{z||{{{{{|}{||{||{{{z{{{||||||||{||{{{|{{{|||||{{{{{|||{{}||{|}||{||{{{z{||}|}|||{|{|z|{}|||{}}|{{||{|{|}{{|{|||{{zz|{|{{|{{|}|||{{{{{{y{|||{{{||z{{{z|{zz|{{{|}}}||{{{{||}|}{{||||zz{{||||||||}{{|{|{{{|||}}||||z{|{z{{{||{{|}||{zz{{{{{{{|{|||{{{{{{z{z{||z{|{{{|{zzz{{{}{{|{{{{{{z{{{{{{{{{{{zz|zzy{z{{{{{||{|z|z{z{|{{{{{||{{{z{z{zz{|{{{{|{{{z{z{{{z|{{{{{{{{{{{zzzz{{{|{||{z{zz{{{{{{{|{}|{{{zzz{z{|z{||{|{{{|{z{{{|{{|{{||{{{{{{z|{{|{||{|zzz|z|{{{{|{||{}{z{{{{{{|{|}||{{{{||{|{{{|||}||{{{{{|{|||||}||||{|{{{|{}{|{|}||z{{{z{{{{||{{||||{{{{{{||{|{|{|}{{||||||{||||||}|{{{{||||||}|||||{{{{{|{}||||}||{{{|||{{|{|{|||z|||{|{{{{||{|}|{{{|{|{{{||||{||||{{{{z{{||{|{{||z{zzz|zz|||{|}}}|||{{|{{}||||{|}|{{||z|z}||{|||}||{z{{{{||{{{{{|||{{{{{{||{{||{|{{{|{{{z{{{|{}{|{{{{z{{zz|{z{{|{|zzz{zzz{||{|{{z|{{z{{{{zz{{z{{|{{yz{z{z{{{{|{|{{{{{z{z{{||{{{|{z{z{z{{zz|{||||{{z{{z{zz{{|{{{|{{zzz{zz{{|{{{{|{{z{{{z{z|{{{{{{{{z{{{z{z{z|{{|||{z{z|{{||{||||{}{|zzz{{z{{||{|{{{z{{zzzz{|{{|}|{|||z{{{{{{||||}{{{{{{{|{{|{{|||{{{{|{{|{{}||{{|||{|{{{|{||{|{{|||{{|z{|{|||}||}{|{{||{{{|||{}||||{|{|{||||||||}}|{{|{||{||{}{{||{|{||{{{|{||}|||{|{{|||{|{||||}}|{|||{z|{|||||{}||{{{{{{|{||||||||z{{{{|{|{||||{|{{z{zzz{z{{{{}}{|}|}}||||}}||}|z{{||{{{|||||}}~||{{z{{{{{}||||{{{|{{{{{{|{|||{|z{|{zz{z|||{||{|{z||{{{zz{|||||||{|z{z{z{||{{|||{{{{z{|z|{{z{{{|zz{zzzz{z|{{{{{{{z{zz{zzz|{{|{{{{{zzzz{y||{|{{|{{z{yzzzzz{{|{|{z|{{{{{zzy|{||{{{{z{z|z{z{}|||{{{{{z{|{z|||{{{|||{{z{{z{z{{||z|{|{z{{{{{z{|{{{{{{|{zz|z{{z{{{||{|{||{zzz{|||{{{||{|{zz|z{||{{||||{{{z{{{{{||{||||z{|{{z|{||{||z|~|z|{{zzz}||||z||}{{{{{z{|||{|||{{{{z||||{||||}}||z|{|{{{{|}||||}|z{z{{{{|||}|||||{z{{{{|{}{|}|}|{|{|{|{{||{|||||{{{{{{|{{}|{|||{{{z{z{{z{{{{{|{|{{{z{{|z{{|{{~~~}~|||}||||}{||}|||{|{{{z||||||}|}|{{|{{z{{|}}{||||z{|{{{||||z{||{{|z{z{{|||{||}}{|||{{|{|{|||||z|z{{z{{z||}{|{|{z{|{{{{{{{||||}{zz{yz{|z{{|{{{||z{{{zz{{{{|z|{||z{{{z{{{z{{||{|{|{|{{{zz|{|{{||{{{zz{{z{{{|{|}|}{z{zzzz{{|{}{}|{|{z{{{{{|||{{||{{z{{{{{{|{z||{||{{z{{{|{z|||}|{|{||{|{|{{|{|{|{|{{{{z{{|{{|||||{{{z|{{{{|||{{{}}|{||{|{{|{{|||||z{{{{{{||||||||||{{|{{|{||||||}||{{{{||{{||}|}||{{{|{|{{||||}}}||{{{|||{{|{{|{|}{{{|{{|{{|{{||||||{{{{{|{|{}}|}}{{|{||{{|{||||}|{{z{{|{|{{||{{}{|{{{{{{{|{||{||z{{{z{z{{{{|{{||}|{}}{||}}}}|}}|}||||{}|||||||||}|{{{||{||||{||}}{z{{{{{{||}|{{|}||}zzzz{{{{}{}|||z{z{z|{z||{{||{|{{{{z{{{|{{||{{{z{{{{{{|{{|{|{|{{{|zzz{|{{|{z|z{z{z{z{{{|{{{{|||{{{zzz{|{|{{{{|{{{{{{{z||{{z}{|{{{{{y{z||z{||}{{{{{{|{{{|{|{|}{{{|{{{{{{|{{{{||{{z{{z{|{|||||||{z{{z{|{{{||{||{z{{{|{{{{|{|{|||z|{{{{|{{{||||}||z{z{||z||||{{|{}|{|{|z{{||{|}||{|||{{{{{||}|}|{|{|{|{{z|}}}}}|{|z}{{{{||||{|||||||||{|||}{|}}|||{{|||}|{}|}}|}}|{{||||{}}|||}}}|z|{|{|{||}{|}}||{|{{||{}|{||}|}||zz{{{{{|{||||}z|{|{{|z{|||{|||{{{z{z{{|{|{{}~~}||||{||{}||}||}|||{{|{{{||||}}}{{{{||||||{|||{}|{{|{|{|||}{{|||{{{z{{z{{{{{|{{|{z|{|{{{{|{{{|||{{|yzz|{|z||||}{|{|{{z{{{|{{z|||{z{z{z{{{{{{|{||{{{{z{z{{|{{|{{{{{|{{{zz{{||{||}{z{{z{{{{||{{|||{z{z{{zz{{z{|{}{zy{{z{z|{|||||{{{{{{|z{{||}{{{|{{z{z{z{||||{|{||{zz{{z||{{{{{|||{z{zzz{{{|||}{|{|{|zz{{z{||||{|{{{{|{z{||{{{{|{|{{|{{{{|{|}|{|||{|{{{{|{{||||{|||{{{{|{{|}|{{|||||{{{|{|||||}|{|{||{{{}||}}||{||||||{|{||}||{{|||{{{{{{{{|{||||||{}{|{z|||||{}}|||z||||{||{||{}}|}||{|{{{{||{||{{{z|zz{{||{|||{|{{{{{{{{{|{{{||}}}||}|||}}}|||}~{||{{z|||{||{||}}{||z||{||||{{}|{{|{{{|{|||{{{{|{{{z{{{z||{|{{z{z{|{{{{z||{|{{{||{{{|{z{{z|{{{{zzz{zz{z{{|{{|{{|{y{{{zzzz{||{{||{zz{{{z{{{{{|z{|{{{{{{{{{|{|{{}{{{|zz{||{{|{{|{|{z|y{{{{{|||{||{{z{y{|z{|{{{{||{{{zy|{z{||{{{||}|{{{{{{{{{|{{|||{z|zz{{{}{{{|||{|{{z{{{{||{|z|z{{|{{{z{z|||||||||{z{|{{{|}||{|{||{{{{{z{|}{|||||{|zzz{|{}|{||||||||{{{{{||||||{||{{||{{|||}|{|}|{{{{{||{||}|}}|}~||{|{|||}|{|{}}{{||{{{{|||||||||{{|{{{{|||||||}||{|{|{{||{||{{|{|{{{z{|{|{{|{|||{{{z{{{||{{{{||||zzzz{z{z{{|~|~|{|||}{{|{~|}||}|||{{|{{}}}||}|||{{{{{|{|||{||{||{|{{||{|{{}|||{{{{zz{{{{{{{{|}|{{{z{{{z{{{|{|{|{z|z|{{z{{|{{|||z|{zz{{{{{{z{{|{{{{z{zzy{{{{||||{{y|zzzz|{{{{{{{{{|{{{|{{|{|||||{{z{{z{zzz{{{|{{{{{{|{z{{{{{|{||{z{{{|z{|||{{||{{{{{{{z{|{{|{|{{{{{zz{z{{{{{|{||{||{{zz{{|{{|||{{{{{{z{z|||||{{|{{{{zzzz{|||{|||{{z||{{|{|{||||{|{{|{{{z||{{{||{{{{{|{{{{|||z|}}||{{|{{z|{||||}{|{||||||{||||||||||{|{{|||||}}|}|{||{|{||||}|}|||{{|{{{{{|||z|||{{||{{{|||||}}|}}{||{||||||||||||{{{{|{z{{||{|}||{|{{{{z{|{{|{{|z{z{zz{z{{z||~}|||{||{{|||}}||{|||||{|{{||||}|}|||{{||||}||{||}||{{z|{z|{}{|{{{||{{{z{{zz{{z||||{||y{z|{z||{{|{z{{{z|{{y{||{|{{{{{{{{zzy{{{{z{{{z|z{{z{z{{|{{z|{{{|y{zzzz{{{{{|{|{{{zy{z{{{}{||{z{{{zz{z{|{{|||{{{|{{z{{z|{{{|{{{{|{{|zzz{{{|{{||{{zzzz{{||{|||||z{|{z{z{{{{|{||zz{{{z{{}{|||{|||z{{{{{z{|{||{{|z{{z{{{{{||z{{||{{{{{{zz{{|{{|}|{{{{{zzz|{||}|{||{{||z{{|||}{{|||z|{z{{z|||{}}|{|{{|{{||}|{|}|||{{|{{||{||{}|}|{|{|{{}||{||||||||{{||{{{}||||||{{{{{{|{{|{{||{||}{{|{{|{|z|{|}}|{{{zz{{{||{{|{|}|{}{{z{||||{||{{z{{{{zz{{{{{{}|}}}|~}|||}}}~|}}}|}{{||||}|{|{|}}{|{z{z|{{{|{|||{||{z{{{{{|||{{{|{{zz{{{z{||||||||{{{z{{z|{|{||{|{z{zzzz{|{{{{{{zzzz{z{{zz{{{{{|{{zz{{zzzz|{{z{{{zz{zzzyz{z|{|{|{z{{|z{zz{||{|||}{{{{zzyz{{{{|{||{{|{zzy{z{z{z|{{{{{{{|{z{{|z|{|{{{z{{z{z{|z{{|||{{z|zz|{{{{{|||{{{{{z{z{|||{||}|{{||{{{z{{{|||||zz{{{|z|{|{||||{|{{{{z{{||{{{||{z{z{|{{{{{||||{{z|{{{{|{|{{|{||{{{|{{zz{||||{||{{{z{|{{|{||}||||{|{{{||{{{{||||||{{{{||{}|{}|{|||{|{{z|{|~{|||||{{||{|{|||||||~||{z{|{{{{|{|{|||{{z{z{{{{|||{{||}z{z{{{{|||{||{|z|z{{z{{{{{z{}}}}}}|{||{}|}}}|}}}|{|||{}|||}}||||{{{{||z}{{||}}|{{|{{{{{|||{z|{||{|yzz{zz|z|{|{|{{|{{{{z{{{||{{|{z{z{zz{z{|{|{{{{z{{y{{{z{{|{{z|{{{{{{{{{{{|{{}|{z{zz{zz{{{{{{{{{z|zz{{{{{{{|{|{zz{{zyzz{{{{||{|{{{{{yzz{|||{|{|{z{{z{{z{{|{{{|{{zzzyz{{|z||{|{|{{y{yz{z{z|{{|||{zzz{zz{z{|{||{{{{{zzz{{{|||||||{{{{z{{{|{|{|||||{{{z{{z{{{||||{{{zz{z{{||||{|}|{{{{{{|z{|{}|||}|{{{{{{{}{|||~|{}z||{{{||}||{~}|{||{{{{||||}{|||{|||{{{|{||}}|||{|||{z{{}|{{|{}|}{|{|zz|{{||||}}|{|zz|{|{|||{|||z{{|{{|{||||z|}||zz{|{z{|||{|||{{{{zzz|z{|{{|~~}|}||}~}{}||}|||~|{|{|||||}|}||}|{{||||{||||{{|}{||{{{{z|{|{}||{|{}zz{{|{||||||||{{|{{{{{z{||{|{|||{{{{{{|{{{{{{|{{{{zz{z{{||||{{{z{z{{zz|z{z{|||z{zzz{y{|{{|{{{{{{{zzz{z{|z|{|}|{{z{{z{y{{{z{|{{{z{zzzz{{|{|{{||{{{z{{{z{||{{{|{z{{zz{{{{||{|{{}|zz{z{z{{|{|{|||z{{z{{{{|{{{|||{z||{{z{{{}||{{|{{{{{{z{z{{{{z||||{z{z|{z{|{{||{}{|z{{{{{{||{{|||{{|{zz|{|{|||||||{{|{{{{||{||{}{|{{{{{{z}||{|||}|{|{||{{|||||}||}{|{|{{{|||||||||{|{{z|{{{|{{||||{|{{{||z{|}{|}|{|{{|z||{{|}{|||{|{|z{{{{{||||||z{{z{z{{{|||{{}{z|{||{z{{|{{|~}}}~{||}|}}}}|}~}}||||z||}|||||||{|{|{|{{|{|{|}|||{z{{z{{{||}{{|}|z|{z{{{|{{|||{|{z|{zz{z{{|{{||{zy{{{{zz|z|{{|{|{zzzz{zz|z||{|{|{{zz{zz{{{|{{{{{{zz|zz{z{||{{|{|{{|{z{z{z{z{|{||zz{zz{zz{|||{{{|zz{zzz{{z{zz{{|||{{{{{{{|z{|{{{|z{zz{z{{{z|{{|||{z{{{z{|{||{{z||{z|y{{z{{|{{|||||{||{{{{{{{||||{{zz{|{{{{||{{||||{z{{{zz||{|{||{|{{{{{{z|{{||}||{{{|{{{z{}||{{}}{{{|{z{z{||||z|||{{{|{{{}{||{|{|{{{{{|{|{|{|||}}|||{{|{{z|z}|{|||||{{{|{|||}|||{|z{{{{|||{{|}|}}{|{{{{{{|{|{|||||{{{{{|{z||{||}{{z|{zz|{{{||{{{|{{|{{{{z{|{{|}~~}}~}}|{|}~}}}}|}}{|||{}||}|{||||}{|{{{|||||||}}{}{z|{||{|{{{{}}|||{{{{{|{z|||{}{{{{||{z{{|{{||{{z{{{{{||{~{{||||zzzz{{{{{z{{|}||{{{z{z{{{{{{||{|{z{{z{{{||z{{{|{{{{z{zz|{{{z|{{{z{{{zzz{{{{{{{zz{zz{{z{{|||{|||{{{{{{{{||{{{|{{{|{z{{z{{{|||{|||z{{{{{||{{|{|||{{{z{z{{|{|{{{{{|{{z{{||{{||}{{{|z{z|z{|{|||{{}|{|{|{z{{{{{{{{|{z{|{|{{{||{{{|{|{}{{|z{z|||}{||||{||{{{z{|}||||{|{|{{z{{|}||||}|{{||{||{|||||||}|{{{{|{{{}|}||||{{||{{{{||||{{|}}|{{{{{{|||||||||{{|||{|{||}||}|{{{{{{{|{{|||||}}{|z{{{{{}{|{{|||{zzz{{z{{}||}~}}~~}}}||}}|}||~|||{||{||||}||}}}}|{{}|||{|{|{}|{y|{|{z{||}}|||}|{{{|{{{{|||{||}|{{{{{zz{|{|{{|||{|||{{{|{||{||{{zz{{{{y{{||z|{|{z|{{z{z{z{||||{{{{{{{z|z{|{|{||{||z{{{{{|{|{{||{|{{{{|z{{|{z||{{{|z{|{{z|{|{|{{|{|{{{z{{{zz||||{{{{{z{{{|}{{{|||{{{z{|{}{|}{|}{{zz{{z{{|{|z{|||{{|{{{{{{{|||}||{{|{z{{{||||{|||{{z|{|{{{{{|||||{|z{{{{||||||}||{{{z|{||||||||||{{{{|{{||}||{||||{|{|{{{z|}|}||}{{||{||}|||||}|}|{{|{||||}||}|}}}|{|{{{||||}|}{||{{{{|{{{{}||}}}|||||}{{||}|}}|}{||||{|{|||}||}{||||{z{|||||{|||z{z{z{zz|{|{{~~}|}}}}||}}}|~}}~||||}{||}||||||}|z{{{||{|}|{}||||z{|{{{{||||{{|||{z{{zzz{|{||}{{{{z{z|{z|z{{{{||{{{{{{z{{{{{{|{|{z{z{zzz{|{{{{{{z{|z{{zzz{{|{{|{zzy{z{z{|{{|{{{{{{{{zzz{{|{{{||{{zzzz{zz{{|{{{|{{z{{{zz{{{z||||{{z{|zz{{||{{|{|||z{z{{z{{{|||{{|{z{{zzzz{{}{|}||{{|{zz{z{||}||{}{{{{{z{{{|{|{}|{{z|{{{{{{{||{{|||{{{{{{{{}{{{|||{{z||{{{{||z{|||z{{zz||{}{|||{|}{{{{{{{{{{{|||||{z|{{{|{|{||{||}|{{|{||{{|{|}|||{{{|{{z||}{||||~}{|{zz||{|{|}||||{|{||||{|{}|||}|{{{|{z{}|||||{|||{{|zz{{{{||||||{{{z{{z{|||{|||{{{z|z{{|{|{{~}}}|}}|~}~~}|}~}}}||{||||}|}|}}}|{{{{{{{{||{|}||||{{{{{||{{}||}|||{{{{|{z|{{{}{{}|{{{z{{{{|zz{}{{{{{{|{{{{{|{{{{|{{{{{{zz{|{|||{|{z{yzzzzz{{{||||{{{yzz{z{||{|{}|{{{{{{{{{{{|{{|{|z{z{{|z{|{z{z|z{{{{{z{{z|{{||{|{z{{|zz{{{|z{||||||{{{z{|||{{|||{{{{{zz{{{{||}||{{|{z{{{|||{|||||z{|{{{{{|||}||||z{||{z{|{|{{|||{{|z{{{z{||{{|{||{|{{|{{|z|||}|{|{z|{|||{|||}|||}|}{|{z{{|}|}}||{{{{{{|{|}|}{||}{|{{|}|{|||||}|}||{|||{{{|}}||}||{|||{|||||}|||}{z||{||||||}|||}||z{||{||||}}~||{|{{|{{|{|{|{||||z{|{{{{||}||{|{|{|zzz{|{{|||~}~}~}~}}~}~}~|~||}|||~|||}}||}|}}|{|{|{|||{|||}|}{|{{||z{z|{|||||}{{z{{{{||||z||||{|{|{{{{{{{{|{{{{{{{{z{||{{|{|{{|z{{{z{{{z|z{||{z{{{{{z{|{{{{}{{||{|{zz{||{|{|{{{{|{{zz{||{{||||{{{{y{z{{{|||||||{{{|{{{{{|||{|{{|{{{{{|{{|||{|{{{{|{{{{{{|||}|{{{{{{{{|||{||}}|zz{z{|{|||{{|{|||||{{{{{||}{||||{|{{{{{||{||{}|{z{{{{{{{{|{|||{|{|{||{{}||{|||{{{{{||{|||{|||}}||||{z{z||}}|{}||{|{{||{||}{{{|}|{{{z}|{{||||}||}|||{{{||}|||||}||||{{{||}}|}||||{{{||{{|}|{}||~||{||||{|||}|||||{{{{{{|||}|}}|{||{|||{{{|||||||{{{{zz{{z{|{|}}}~~}~~|}}~}~}~|}|||||}|}|}}}}|}||{|{}||{|||||||{{{}{{{|{|{{|}{{z{{{z{z{{||{|||{{{zzz{z||{{{|{|{{{|{zz{{{||z||{{{{z{{{z{{z{|{{{zz{z{z{{{|z{{{|{zzz{zzz{{{{|{|{{|{{zz{yz{{|{|{||{|{z{{{{z{{{{|{||{z{zz{z{|{{{|}{{{{z{{{{{{{{|{||{z{z{z{{{{|{{||||{{{z{{z{{{{{|||{z{{zz{z{|}{|{{{{{{{{zz{{{{{{|{|{|{{{z{z|{{||{|||||{{{{z|{||{||||z{{{{||||}||||}{{{{|{|||{|||}||{{{{||zz{|||||||{z||{{{{{|{|}||||{{{||{{{|||||||}|{{{||{|}|||||}|{|{{{|{}|||{}|||z{|{{{|{|||}|||}{||{{{{{{|}}||}{|{{z|{{|{{|{{|||{||{z{{|{}|||||{{|{{zzz{{{|z~}}}}~}||}}|~}}}}}|{z{|||}}|{}}}}|{{|{{|||{|{|||{{|{|{{||||{{||{|{z{{{{zz{||{|||z{z{z{zz{{{z|{zz{{z{{{z{{{{{||{{{||zz{z{{{z{{|}|{zz{{z{z{{|{{|{{{zz{zz{{{|{z{|{{z{|{z{{z{|||z|||{{zzzz{zz{z{{{||{z{{z|zz{{{zz{}zzz|zz|zz{||{{{}{|{{{{{z{|}||z|{|{{{{{{{{|{{{{{|{z{{{{{{{{|}{{{{{{{{z{z{{{||{{||{{{{{{{{{|{|{{{|{{zzz{{zz{{|{{{|||{z{{{{|{{||||{|{z|{|{{{{|{|{|{||z{{{z{{{{|{{{|||{{z{z{{|{|{{|||{{{{|{{{{|}|||{|{{{{{|{z{||}|}}|{{{|{z|z|{{|||}|{{z{{|{{|{{||{}}|{{z|z|{|||{||{|{{{z{{zz{{||||||{|{{{{|{||{|{{|{{|{zz{|{||z|z~}~~}}~}|}~}|}}}|||||||}|}|}|}||{{|{{||{||{|}||{{|z||||{|{||||{||{{z{{{{|{{||}{{{{zz{z{|{{||{||{{{{{{{zz|{z{|{{z{zzz{{{{{z{||{{|z{{zzz{||z{|z{|{{{z{{{{z{{{{{{z{{z{{{z{{{|{{{{{{{{{z|z{{{{{|{{z{{{z{{{{|z{{{{{{z|{{|{{|{||{|{||{{{{{|{|||z|{{||{{{{{{z{{|{}|||{{z{z}{{z|{{{|{{z{{{{z{{{||{{|||{{|{{{|z{{{|{{|{{{|{z{z{{{|{{{||{{{z{{z{{|{{||}|{{{zz||||{|{|}||{{{{{|z{{|||{||{}{|z|||{|||||}||{{{{|||||{||||}}}{{|{|{{|~|}|||||{|{{{{||||||}|||z|{{|{{{||||{||~{{{||{|||||}||}{{{{{{{||}}{{|}{{|z{{||{{||}{|{{{{|{{{zz{z|{{~~~}~~}}}~}~~}}~}}}|}}|}|}|||}}|{|{{||{z}||{|||||{|{{{{{|{||z{|||{|z{{{z|||{|||||z|{z{{z{||{{||{{z|z{zzz|{|{{{||{z{{{z{zz{z{{{|{zz{z{{{z|z{{|{{{|{{{zzzz{|{{|||{{{{zz{z|z{|{{{{{{{{{{z{{|{{{|z{||{{{z{z{{|{{|{{zz{{{{{{z{{{{|}||{z{{|z{{{{||z{{||{{zzz{{|z|{||||{z{{z|y{{{{{||||||{{zzzz|||||}||{{{{{{z{|||{|{||{{{|{{z{|}|z{|{||{{{{z{|{|}|||{||{{{|{{{{||}|||}|{{{|{z|{|}||}|||zz{{{|{{|{||||||||{||||||{{}}||||{{||||{|||||}}||||{{{{|}|||{||||{||{{|{||{||}}{|{{||{||||||}}}{|||{{{|{|||{{}}|{{|{{{{|{{|||}z{|{{{{{{|{||{~~~}~~~}}}~~}~|}{{|}}||}|}}}{}|{|{}|{||{}|}|||{{{{{{|||{|{|{|{{|{z{{z|{||{{|}{{|{{{{z{|{{z{{|{{|y{{{{{|||{|{|{{zzz|{z|z{|{{||{z{z{{{{{|{{{z{|{zzzz{y{z{|{}{|{||{zzzz{z|{|{{{{{{{{z{{z{{{|{{{{{{{{{{{z{{{{{{||z{|zz|{|z||{|||{|{zz|z{{{{|}{{|}|{zz{z{{{z{|{|||{{|z{zzz|{|{|{||{z{||{|z{|{|||{{{{{{{|{z}||||||{{|{}{{z{{{||||{{|{|{z{{||{||}||{{|{{z{{{{{|}{|||{{{z{{{{|||{{|}||z{{|||z}{|||{|}{{||{{|||{}{||{|}|{|{{|{|~|||}|}|{{|{{{|{|||{||{}}||{zz||}||||||}{|{{{{||{}|}||}{{{{{|{{{|{|{{||}|{{{{{z{}z{|||||{{z{{{{{||||~~~}~~}}~~~|~~}~}|||||{|}}}}}}~{|||{|{}{|{|}|}||{{|||{{|{||{{}|{{{{z{{z}||||||{{{{z||{z{{|{{}|{{{|{{zy{|{|{{||||{z{{|{{{{|{z{|{{{z{|z{z|{|{{|{{|{{{{{{z{||{|{{{{{|zz{{{{{|{{||{{{{{z{{{|{|z{||{{{{z{|{z{||}{||{{{|{{{{{{|||||{||{z{{{{{{||{}||{{z{z{{{{{|{||}||{{|z{{{z||{|||}|{{{z{z{z{||||{{{{{{|{{{{{}|{|{}{{|{zz{{{{|{|||{||z{{z{z|||}|{{{|{{{|{z|{||{||{}|{{|{{{{{|||||}||}{{{|{{||||||||||{{{z||||}|||}}}}z{{{|{|{||||}|}|{|||||||}|{|||||{{{{|{{|||||||}|{z||{{{}{{|||||{|{{{{{{||{|{}||{{{{{{|{||||||||{{{{{z{{|{|||~~~~~|}~}~}}~~}||||}|{}}|~|}|}|||{}}|z|{}|||||{||z||{{|{{{|{||{||{{{z{{{{{{|{{zz{{{z{z{||z{{|{{{{{{|{zz{|{{{{{|{{z{{zz||z|{|||{z{{zz{{zz{{{|{{{y{{z{yz{{{z||{|z{{{zzz{z|{{{z||{z{zzz{z{{{|{{{|zzzz|{{zz|{{z}z{{z{{zzzz{{||||{{}{{z|z{z{||{||{{{z{{z{{{{|||{{|{{{|{z{z{|||{||||{{{||{{{{||{|{||{{{{{{{z{||{{|}|{{|{|{z{{||{{|{{{{|{|{||{{{}||||{{{{|{{{{|{||}|}{{|{{{z||||{}}{{|{z||{{{||||||||||{{|{|{{{|{|{|{|z|{|||||||}|}|||{|}{{z|||||||{|{{{{{{{{|{||||||{zzz{{|{||{}{|{|{{{{|{{{|{||||||||{z{{z{||{z{{{|{z|zz{{{z|}{{~~~}}}~|}}~~~}}}|||||}}{||}}||||||{{||{||||}|{{|{|{{{{||{z||{{|{z{{z||{{{|||{{|{{{{z||{{{|{|{z{zz{y{{|{{{{{{{{{z{{zz{{{z{{||z{z{{zz{z|{|{{{{{{zzz{zz{{{{{{{{z{{{zzz{{{{{{z|{zz{zz{{zy{{z{{|{|z{{{{yz||z{{|{||z{{{{{{{{{|{{|{||zz|{{{{||{{|{|}{{{{{{{z{{{||||{{{zzz{{{{||{|{{{{|{|z|z{}||||{{|{{{{z{{{}{||{|{{{|{{z{{}||{{|{|{{|{{{{{|{||||}||{{zz{|{|||{{|||||{{{{zz||}|}||||{zz{{{{|}||{|{{{{{{{||{{|{|}}|||{{{{{{{{~|{{|}~{{|}{{{{||{{{}|||{{{{{{{{|{|{||}|{|||{||{{}|||||z{{{{{|{z|{|{{||{|z{z{{{{|||{{}|{zzzz{z{|{|{|~~~}}}~}}}~||}}}{|{~||}}}|}}{|{}{{{{z{||}|}|z{{{|{{{||}z{|{|{{{{z{{{{{|{|{|{{z{zy{{y{{{z{|{{{{{{{z{z{{|||{{yz|{z{{zz{{{{|{{{zzz{z{y{{{||{||{{{zzz{z{{{{{{{|{|zzz{yz|{|{zz|{{{{{{z{{zz{zz{|}{{z{zz|{{|z{z}{|{z{{{zzz|{{{{||||{{z{z{z||{{||z}{{{{{{{{|||{||}}zz{zz{z{|{{{|||{{zz{{z{{||{}{{{{|{{{{|{{{{|{|{||{{{||{{{|{|{{||{{|{{{z{{|||||||{z||{{{{{{||||}||{{|{{|{{||||||||}zzzz{{|||||{|||{{|||{z|{||{|}||{{{{{{{{{|}}|{|||{{|{{{|{|}|{||||{{|{{z|||{|||}||{{{{{{{{{|||}|{||{z|{{zz|{|||||{z{{{{{{{||{{|||{|{z{z{{{{{{{~}}}~~~~~~~}|}}||{|}{}}||~|}|{||{{{z{{|{{||||{{|{{{{{||||{}}|{{{zz{{{|{{{|{||{|{{z{z|{{z{|{|{|{z{zzz{z{{y|{|{{{z{{zz|{{||||{{{zz{{zz{{{z{|{{{{zz{{zz{{|{{{{{{{zz{{zz{|{{{{|{zzz{{{zzz{|z{{{{{z{zzz{{z|zzz{{|{z{zz{{z{{|{{{{|{{{|{z{|{|||||||zz{{zy{{{|{{||z|{z|z{{z{{{{{{}|{|||zzz|{{||{|{{{{{{z{{z{{||{{||{{z{{{{{z{|{{{|{||{{{{z{||||}|||{{{{{z{{{||||}|{|z{{}{{|z{|{|{}||z{{{|{{{||||}||}|{|{{z|{{|{||}}||{{z{|{{{}}||||}|||{z{|{|||||||||{{{{|{||||||{||||{{||{{|{||}{{{{{{z{||{{||{|}|||{{z{{{{||||{|||z{{z{z{y{|{{{~}}~}~~}|}}|}||{|||}|||}|{||{{z|||{||}}|{z||{z{z||{{{{||{{{{{{{||{|{y{{{z{z{{{z{|{{{{}{z|zz{z{{z{{{{z{z{{z{zz{z{||y{{{{{zzyz{zzz{{|z{|{z{zzzz{y{zz{||{z{zz{{{zzzzz{{{{{{{{z{z{{z{{|z|{{zz{{yzz{z{{{{{{|{{z{{zzyzz{{{{||{|{zz{{{{{{{z{||}{zz{{z{{{{|||}||{z{zzz{{|{{{|{|{|{{{{z{z{|{|{|{{{|{zz|{z||{|{||{{{z{{{{|||{|||{||{{|{{{|||{||||~{{zzzz{{||{|||{|{{{{{{zz{{|{}|}{|z{{z{{{{}{|{}||}{{|{{||{{{{{|}|||{||{|z||||}}|||{{{||{||}{||||{|{{|{{{{{{||||}||{}z{{{{{|{||{||{{{{z{zz{{|||}{{||{z{z{z|{{||{|||{{{y{yz{|{||}}~~~~~}}}|}|{}}~}}|}~|}{|}||{{{|||{|}|}|{{|{|{|||||{{|{|{{{z{|z|{{{{{{|z|{z{{{{|{{{{||z{{z{{{zzzz{{{}{{{zzzz{zz{{{|{|{{{{z{{z{{{{|{|{}|z{zzz|{{z{{{|{{{{{{{z|{z|{|{{{|{{{{zyzzz{{{{|{{{|z{|z{{{{{{|{||{{z{{{{z{{{|{{||||{{z{zz{|{{{|{||z{{zz{{{{{z{|{{{zz|{z{||{||{{||||{{{{{{zz|||{|||{{{|{z|z|{||{{{}|{{{{{{{{||{|{}z{|{z{{{{|{|||{|}{{|{{||{|{|{|||}|{{{z{z{{}|{|||{|{{{{{{{|||{{}}|{{|{{{{{{|||}}{||{|{{||{|}||}|||||||{{||||{}|}|||{||{{{{||||||}|||{{{{{{||{}|}||{{{{{{{{{||{{{|||{z|{{|z{{{{{{|||{{{z{{{||{{|~~~~~~}}|}|||{|}|}}|}|||{{}{|}{|||{||||{{|{{{{{|z|||{|||{{{|{z|||{{|{{{z{z{{zz{{{{{||{{{{{{zzz{{{z{{{|{{{zz{{z{{z{{{{{z{{z{zz{{||{{{{{{zz{{{z{{{{|{|}}{{{zzzyzz{|{{{|{z{{{{{{z{||{{z{{{{yzzzzz{|zz{{|}{z{{{{zz{{|{z|{{{z{{|z{z|}{|{{{||{{{{{{z|{{||{{||{{zz{{{z|{|||{||{{zzz{{{~||||||{zz{{{{{{|||{|||{{{{{z{{||{{{|{|{{{{{{|z|||||||{{{{||{||{|{|{||{{{||{{{{|||||{|||{|{{{{{|{||{|||{|{{||{{{||||||||{{{{|{{{}|}|}|||{|}|{{{||||||||||{|{{{|{{{||}{}{|{{||z||||{|||||{{z{{|||{|||||{{{||{{|{{|||{||||{{z{z{z{{{|{}~~~~~~~~}~|||}||}|}}}||}}|{|{{}||{{|}|}}|{||{{{z|{|{{|||}{{{{{|||{||{||}|z|{z|{{{|{|{{{{|z{{{{|z{{|{{}{{{{z{{{zz{{{|z|||{{{z{{zz{{{{{{{{{{yz{{{z|{{{z|{{z{zzyzz{{{{|{{|{{{||{zzz{{{{{|{|z{|{{{zz{|{z{|{|{{{{{{z{{{{{{||||{{z{{zz{||{|{|}{{|{{{{{{{{|||}{{zzz{{{{|||{{{{|{{{z|{{{{||}{|{{{{{{{z{{{|||}{}|{{{|z{{{|{|||||}{{||{{{{|{{{}|}|{{{{{{||{{||{|||{{{{{{{{{|}|||}||{||{{z{{{|||}||{|{{{{||{{{}|||}}{||z||{|||}|{|{||{|{|{{|||{|||{|{{{{z|{{||||||}|{{|||{{{||}{|{|||{z{{||{|||{}||{{{{{{{{||{{{{||{{{z{z{{{|{}|~~~~}~{|{|||}|}}}}|}}||||||{|}}|||{|{{{|{{|{{|{|||{{|{|{{{{{{{{{{||}|{{|zz{{z||{||{{{{{{z{z{{||{{|{{|{z{{zz{{{{{{{{{{z{{zzzz{{z{||}||{{{{{yz|{{{{||{{{{{{zzzz||{{|{{z{{{zyzzz|{|{||{|{{{z{{{||{{{{||z{|yzzz{|{{||{||{{{{{{||{{||||||{{{{z{|{z{{{||{||{{z{{z{{||{||{|{|z{|{{{{||||}{{|{z{{{{{|||||{|||{{z{zz{||||{|}||{|||{{{|{|||}||{||{{{{{|}|||||}|{{|{{{{{|||||{|{yz||{|{|||{|{||}|{||||{{|}|}}}}}|{{{{{{{|}{|}}||||{||{{{||}||{||{{{{|z|{{|{|||||{{{|{|{{||||||}||{{{{{|{}||||{|{{z|{{{{{}||{}|||z{{{{{{{{}{|~~~~~~}~}}{|||}}|{~~}|{{{{|{|{{|{|z||{{{|{||{{||{{{|{|z{{{{{z{|{{{{|{{z|z{{{y{{{zz{z||{{zz{{{|{{|||{{{{z{{zz{{{|{z||{z{{zzz{{{{{|{z||z{{{z{z{{{{{||{|{z{{zzz{{{{{{||||z{{{{zzz|{{{{{{{z{{z|{z{{{{{|{|{{{{{{y{{{{{{||{||{z|zz{{{{{{{||{{z{zz{||{z|{{{|zz{zz{{{|||{|}||{{{{|zz{{||{{|{{{z{{z{{z|||{{{|{{z{{{{z{{{|{{|||{|{{|z||{|||||{|{|{{|{{z||{}||}||{{{{{zz{{||}|||}{|z|{}{|}||}||}|{|{{{|{||||}}|||{{{z|||{}||||}|{{{{|||||{||||}||{z{{{{|||||||}}}|{|{z{|{{{|{||}{z{z{{|{{{{{{||||{|{{|{{{{{{{|{|{z{{{z{{|{{{{~~~~}}|}}||}}{}}|}}||}|z{||{{{|{||}||||{{{{||{{|||}{{{||{z{{|{{{{{|}{z{z{{{{{|{{{||{z{y{zz{{||{{|{|{{{{{{zzz{|z{|{||zz{{z{zz{||{{||{{z{{zz{z{{{{|||{{zzzzzzzz{|||{||{{{{{zzz{|{z{{|{{{{{zz{zzz{{|{{{{z{zzz{{{{{{{|||{|{{z{{|z|{|}{||{z|{{z|z{|{|z|{|{{z|{z{{||{|{|{{{z|zzz{z{||{||{{{z||{{{{z|{||}|{{z{||zz||||{{|||{z{|{|{{{|{|{|||{{{|{|{{||{||{|||{{{{|{{|||}||{{|{{{{y|{||{|{|}|{{{{{{{||||||||||{{{{z{{{}{|}|}|{{||{z{{|||}||{||z{|{|z|{{{||||||zz{{{{|||||||||}}{z{{{|{{|{|{|||z{{z|{zz|}|{}{{{|{zz{{z|{{|{~~~~~}}||{|{{{||}}}|}}|{{|{|||{}||||||||{z{{{{{{{{|{|{|{{{z{{zz|{{{{|{|z{{z{z{z{{{{{{|{{{zz{z{{{{{{{{{zz{z{z{{{|z{{{{||{z{{{zzzz{zz{{{{{{{zzzzz{{|{{{{{{{|{z{{zzz{z{{{{{zz{{z{zz{{{||{|{{z{{z{z{{zz{||{{{|{{{{|{{{{{{|{z{z{{{{{z{{{{{{{|{{{z{z{|{|z{{||{zz{{z{{|{{z{{{{{z{z{z{{{||{||||z{{{z{{z{}|||{||{{zz{|z{z|{{{|||||{z{|{z|{||||||{z{{{{{{z|{|{|||{z{{{{z{|||{|||{}z{|{{{{|||{{|||{{{{{|{{||{|}|{|{|{{{|{{{||||{||||{|{||{||{|||{||z|{{|{|{|||{|||{{{{|{{|{||{||||{z{{|{{{z|{|{|||z|{{z{{{|{|||{||{{{z{z{{|{{{|~~~}~}}|}}||}|}||}}}||}}z|{{z|||}|{|}{{|{{z{||||{{{{{{{{y{z|z{|{{{{{{{|{{{{zz{{|z{||{{z{{zy{{{{{{{{{|{zzzzz{{{{{{{{z{{z{{zy{{{{{z{|{{{zzz{{{{{{|z{z{|{{{{{zyzz|{z{{|{{yz{{{{z{{{{{{z{{{zyzzzzz{z{{}{{z{{z{z{z{|{y|z|}z{z{{{z{|{{{{|{|zz{{{z{{z{|{{{{z{z|z{zz{{|{{{{||{{{{zzzy|{|{||||{{|{{{zz|{{{{{{|{{|{{{|{|z{{{||{|z{z{{{z{|{|||{|{{z{{{{z|{{|{{|~{{{{{{z{|||{{|{{z{{{|{z{{||{{{|{||{z{{{{|||}|||||z||{{z|{|z|||||zz||{{{|{{{{|}}|{zz{{|z{|{{||{|{||{{|{z|{|||{|{|{|{z||{{{{{{{{|||||{z{{z||{||{|{|z{{{{{{{{||z~~~~}||||{|}|~}}}~}}{{|{|||{{||{||}|}{{{{{{{{|{{y|||{{{z{z{z{{{|{||{{||zz{{z||{{{{{{{{{zz{{z{{|z{|{|{{z{z{{{z{|z{|||z{{{z{{{{{z{z{|{{z{yzzzz{z{{|{{{{{|z{{z{{|{{{|{{{{y{z{{{{{z{zz{{{z{{{{{{{|{{{}{{z{{{{{{{{{{{z{{|{{zz|zzz{{||||{|{zz{{y{{{{{{{z|}z{{zzz{{{{{{{{||{{||{z{{||{{z|{|{{z{{zz{|{{{{{||z|{|{{{{{|{{{||{{{{{|{z{|{||{|{|z|z{{|{{{{{|{|||{||z{{{{||{{||{{|{{{|z{{{||{{|}}z|{z{{|{{{{|{|{}|z||{{{{{|||}|~{|{||{{{|{{}{||}|z|{|{{{{{}{||||}||{|{{z{{}{|||||z{{{|{{{||{{|||||{z{z{z|{|{{{|{||z{{{zz{{{{{|~~~}~}~}}|||}|||~|}}}{|{|{|{||||||{||||{{{{{z|{{{||{|z|{{z{zz||{|||{}{z{{zzzz{|{z{||{{|{{{{{{|||{{}{|{{{{zz{z{{z{{{|{{{{z{|{{zzz{|{|{{{z{{z{{{{|{{{{|{{|{{|{zz|{{|z{{|y{{{{z{{{|||{|{{|{z{{zz{{{{|{|{{{|{{{{z{{{|z|||{{{z{z{{{|{{{|||{|{{{z{{|{||{{{|z{{{{z{{|{|{||||{{{{|z{z|{{z|}{{|{{z{|{{{||{{{||{{{{{{{|}|{|{{||z{{{z{|z|{{|||||{|{{{z{|{|{||||||z{|{zzz|||||{{{{{|{{{|{|||}|}|}|{{|{z{||{||||}|}{{{{{}|{}|||}||{{|{z{{{|{|||}}||{{|{z{|{{{|||}|{{{{{{||{|{}||{|{|{{{{zz|{|||}}{|{{zz{|{{|{||{}|{{{|{{{{{{{||~}~~}~}|}}|}}}}}~}}}}|{{|{{|||||{}|||{{{{{{{||{||{||{{{z|{{y|{}{||||{{|z{{zzz|{z{||{{{{{{zzz{||{|{{{|zz{{{|z|{{{|{z{{{{z{z{z{{|{{||z|{|z{{z{z{|{||||{zzz{zz{{||{{||||z{zzz{zz{zz|{{|{{zz{z{z{|||{|{{{{|{z{{z{{{|z|}{|z{z|{{z|{{|||{{{yz{{z|z{|{||||}{{{{z{z{|{{{||{{|z{{|{{{{||{|}|||{z{{{z||{||{|{{{{{{{z{{{||{{{|{z{{{|{{{{|}{|||{z||{|||{{|{|{||||{{|{{{{||||||||{{z{{{|{||}|}{|}|||{{||||||||}{||{{|{|z|{|||}}}}|{|||{|{{||||}{||{||{{{{{||{}|{}}{|{{|{z{||}|||{{{{{{{{{|||||}|{|{{{{{z{z|{|{|||{{|{|zy{{||{{}~~}~}~|}|}~|}|}}|~|}{{|{||{|||||||{{{|{|{{{||{||||{{z|{{{z}{|{{{|{zz|zz|{z{|{z{{|{z{{z{z{z{||{{{|{{{{zz{zz{|{{{{{{z{{{{{{{z|{|{{zz{zzzz{{{{||{{{||{{{z{z{zz{{{z|{||zzz{z{y{{z{z{|{{z{{z{zz{{{{|{||{{|z{{zz{z|||{{|{{{zz{{z{}|{{{|{{{{z{{{{{{{{{{{|zz{|{{{{|{{{{{||{z{z{{{{z{z{{||{z{{z|z{{{{||{{||{{||zz{{||{}||||{{|{|z{|||}||{{|{{{{z|}{||{|{|||{{z|{{{{{||{{|{|{{{|{{{{||||||||{{||{{{{||||{{||{{{{z|{{{|{|||||}||{{{|||{||{{||{{{|{{{{|||{|}|}|{{{{{z{||||||}||{{z{{|{||{|{|||{{{{|zz{||{{{||{{{{{z{|{{|||{~~~}}|||}{}}|}}|}}}{|{{|{{||||||||||{||{{{|||||{||||{zz{{{{||{{}z{{z{z{z{{z{{{{|||{z|z{{zz{|{{{z|{{{{{|z{{{z{{{{|{{z{zz{{{zz{{{z{{{zz{zz{{{{|{|{{|{{zz{zz{{|{{{||{{z{{{z{zzz{{{{{{z{{{{z{{z{{{||{{y{{||z{{{{{{{{||{{{zzz{{z|{{|{{||{{zz{{z{|{{|||}{{|{{{z||{|{||{|{||{{z{z{{|{{||{{z{{|{{{||{|{|}|{{z|z{zz{|{{{|||{|{{{{{z}{{}{|}}{{{{{{|||{{|||{|{z{{{{|{{||||}{{{zz|{|{{|}}{||||{{||||||||{}}|}{||{{z||{|{||||}||{||{{{{}||}|||{|{{{|{|{{|||{|||||z{|{{{}|{||}|||{{zz{{{{|||{}|}|{||{{|z|{{|||{||{{y{zz{{{}||~~}~}}}}||||}}}}}}}~}|{|{|{||||}||||{z{z{{{|{|{|{|}||{|z{{zz|{{{|{|}|z{{|{{{|{|{{{|{{|{{{{{z|{|{{}|{{{{{{{{z{z{{{|{{{{{zzz{{{{|{{{|||zzzzzz{{|||{{||{{{{|{{z{{{{||{{{{zzzz{z{{{{{|{{{|{{{{{z{{{{{{|}{z|{{{{|{{{|{{||{zz{{z{z{{||{|{|{{|{{{{|{{{|}||||{{{z{{|{||||||||{{|{z|{z{|||}||{{{z{{{{||{|{||}{{{{{{z{||{|{{|{|{{{|{{{{|||||||{||{{||{|||||}|||{{|{|{{{}}}|||{|z{{{{{|||{|{}|||||{|{{|{|{|}}}}|{{{|{|{|}|||{}|}{|{{{|{||{{|}|||{{z||{|||{|||||}|{{|}{z||||||}}z{|{{{{{{}|}{}||{{|{{{|{z{||{||{{{|{zz{z{|{{|~~~}||~}||}}~|}|}~|||{|{||}||}|||||||||{{|{|||||||{|{{{{{z{{{||||{|{|{{{z{{{|z{|}{|z{z{z|z|{|{||||zzz{{{{{{{{|{||{{{{z{zz{{{|{{||{{{{{z{{{{||{||{|{{{z{z{z{|||{{||{zz{zzzz{z||{{||{|{{{{|{z{{{{|{|z{|{{|{{{{||{{{{{z{z{{{{{{{{||{|{z{|{z{{|z{{{|||{{z{{{{||{||{}||{|{|{{{{||||||{{{|{{z|zz{||z{|{{||{{{{{{|||{{}||{{{{{{|{z|||||}|{{{||{|{|||{}|{}|y{|{{{z||{||||}}|{|{{{{{||{|||}{||{{{||||{|||}}|||{{{|{{||}}|||||||{{||||{|||}|}{{|{|{|z||{|}|}|{|||{{|||{||||}||{{{{|{{||{|||{|{zz{{|zz|{||||}|{|{{{|z|||z{~~~}~}}}||}}}|}}}~}|}{{}|||{||}|~||{|{{||{||}|{{|}{{|{{{{{|{{||{{|z{{{{{zzz{{z{{}z|{{{z{z{|{{{{{{|{z{{z{{z{|{{{{{zzzz{zzz{z|{{{|{{{zzz{zy{{|{{{|{{{|{{{zzz{{z|||{{{{{zz{zzz|z{z{|{{||z{{zz{|{|{|{{{z{|{z{z{|{{{{|{{{{z{{{{||||{{|||{{zzy||||{||}{{{{{{z{{z{||{{{{{{{{{{{{z||{{|{|{{z{{{{{{|{|{{{}{|{{{{{{{{|{{{|||{|{{{{{{{{{|{|{|{zz{{{{{||{|||||{|{{z{z{||||{{|||z{z{{|||||{|||}{{{zz|{{{}|}{||||{{{|||{{|}||||||||{{{{||}||}||}{{{{{||{|{{||||}{{{|{{|z}{{}{|}}{{|{{||{||{||}}|{z{{|z|z{|}{|{||{{z{{z{{|{{||~~}~|}}|||}}}|}~|~|}}|{}||{{|}}|{|||{{|z|{{}{|{|z|{|z|{z{z{z{{|{{|{|{{{z{zzzy||{{{{{|z{{{{z{z{|z{||{{{z{zzz{{{{{z{{|{{zzzzzz|{{{{||{{{{z{z{||{{{{||{{z{z{{z{{|{{{{||{{z{zz{{z{{{{{{z{{zz{z{z{|{|{||{z{{{{{{z{{{{{{|{{{{{{{z{{{{|{{}|z{{zzz{|zz{{|{||yz{{z{zz{{|{|{{{|{{{|z|{||z|||{{zz|{{{z{{|{||{|{{{{{|{{{{{{{{|||{{{z{{z{|{|{{}|||{|z{{{|{|{|{|||{{{{{{{{{{||{||{|{z{{{{{|||{}|||{zz{{||{{||{||||{z{|||{{{{|||||||||}{|{{||{|{||{|z{{{zzz{{{|{{|||{{{|{{|||{z|||}{{zz{z|z{||||||{|z{z{zzz{|{{{||{{{{{{zz{|z|}{~~~~~}}}|{}|}}|}}}}||||||z{|{|{|||{|{{|{|z|||}|{{{|{||zz|zz|{{{|{||{z{{{{{z{{{{{z{{{{{{{z{{|{{zz{{|{z{{z{z{{z{{z|||zzz{{zzz{{|{{|{{|{{z{zz{z||{|{|{{z{z|zzzz|{|z||{{{{|z{{z{{{{|{|{{|{y{zz{{|{z{z||z{{{z{zz{{||z||{|z{z{y|{{|{|{||}{{|zzzzz{{{|{|{{{z{{{z|{{|{{{{|{{{z{z{{{{{|{|||{|z{z{zz{{||||{||{{z{{{z|||||{|{|}|{{{{{{z{|{||{|z{{{{z{{{|{{|||||{z{{z{{z||||{|||{{|{{{{|{||||||{{z{{||{|}||{||}|{{{{|||{}{|||}||{||{{|{||}|{|}|||{{||{|{}}{{||||{|{{{{{||{{||{}|{{{|{||{|{{}||}|{zz{z{{{|{|{{{{|{|{{z{{{{{{|~~~}}}}}|~}}|}|~|}|{|{||z}}{{|||}|}{|{||{{|||{{|||||{{z{z{}|}|{|{||{|{zz|z{{|{{|z{|{zz{z{{|||z{{z{{z{zzz{z{{{{|z{|{zz{{{{{{||z|{|{{{{{{zyz{|||{{||{|zzzzz{zz{{|{|{{{{zz{{z{|z{{|{|{yzzzzzzz}{{z||{zz{{{{{z{{{|}{||{{{z{{z{{{zz|{|}{z|zz{{{|{{{{|||z|{|{z{{|{||||{|{{{{{z|{{{|{{{{{z{{{|{z{{|{||{z{|z{{{{z{||{{{||{{z{{{{{{||||}|}|{|{{{{|{|{{|{||}|{z{z|z{|{|{|{}{|{{{|{{{{{{{|{{{{{{{{||{|{|||||||{||{|{{|}}}|||||{}{{|{||||}{|||{{{{|{{|||||{{||}{{{|{{{||}}|||}|{|z{{{z||{{{|||{{{{z{{{||||{{||z{{zz{{{|{|{|~~~}}|}}}}}~}}}}~|||{|{{{{{|||}|{|||z{{{{{{|||{|{{|{{{z{z{||||{{||{{|z{{{z{|{|{z|||{z{z{zy||}zz|z{{z{z{{zz{z{|{{{{{{zz{zzz{{|{||{{z{zz{{z|{|{|{{{|{{{{z{zz{{{|{{{|{z{{{zzzz|{z|{{}{{{z{z{z{{{z{|{{|z{zzzz{|{z{{|{{{{zzzz{{{{|{|{{|zz{|z{{{{|{|{|{|z|{{{{{z|{{{|{{||{|z{{|{{|||||{|z{{zz{z|{{|||{{{{|{{{zzz{|{{|||{{{{{zz|{{{{|{}||{{{{{{{{{|{||||||{z{{{{{|{||{||{|{{{{{||||{{{||{{{{{{{|{{||{|||||{|{z||{{}||||||{{{{{{|z|||{{|||||z|{{|{{{{|{|||{|{{|{{|{|{|||{|{||{{{{{{{{|{||}{{{{{{{{|{{|{{||{{{z|{{z{z|{{~~}~}~}|}|~|}|}}}~||{{{||z||||{||{||||{{{y|{|||{||||{zz}{{{{{|{}{||{{z{{|z|{|{{{|{{z{zz{z{||{|{{{{{z{z{{z{{{||{{|{{{{z{{{z{{||{{{{{{zzz{zz{|{{{|||{{{z{{{y{z|{{{||{{{z{y{zz|{|{|{|{z{z{z|{{|{|{{|{{{{{{{zzz||{{{|{|{|{{{|z{|{||||||z{zz{{{{|{{{{{|{zz{z{z|{{{{{||{{|{{{z|{|{|||{|||{{|{{{{{||{|{||z{{{{|{{{{|{{z{{{{|z{z{{||{{|{|{{{z{z{{||}{||{}|{{{{{{{{{||{|{}|{{z{|z{z||||{|||{{{z{{||{||{|}||{|{|z{{{{|||{||||{||{z{{||||{|||||{{{{{{||{|||{||{{{z|{{{|||{|{|{|{{|{z{||{|{|{||{z{|{{{||{{||{|{{{{y{{{|||{|~~~}}}||}}}}}}}}~~}|{||{{{}{{||}}||z|{{}{z{||||{|||{{{{{zz{||||||}||{z{{{{{{||||||{zzz{zz{{{{{{{|{{{|{z{zz|{{{{|{||{z{{{{{{{|z|{zz{{z{{{{|z{|{{||{|{{{||{z{||{|||{{{{z{{{{{{{{{z|{{|{{z{{z{{z|{|}|{{z{{{{zz{|{|{|||{{zzz{{|{||{{||{{|{{{{{{{{{{||{{{{{{{{{|{|{||||{{{{|{{{{}||||{{{{{|z{{{{||}||}{|{|{{|{||{||||||{{{|{{{{{|}|||{|{{{{{|z{||||{|||{{|{{{||}||}|||}|{|||{|{{}|{{||{{z}{{||||||{|}}}||{||{|||{|{|}|||{{|{z{{}}||||||||{||{||{{|||}|}|}|{||{}{|}{{}|~{{{z|{||{|||}{||{{{{{{|{{{||||{|{{|y{z|||{||{~~~~~}}|||}}}}}}}}|}{{|{|{||||||}||{|{{z{|}||{{|}{{{{{|z{z|||{{||}|{{{z{{z|||z||}{{{{{{{{zz|{{z{||{z{{|{z{{{||{{|{zzz|{z{{|{{{{|||zzz{z{{z{{{|||||{{z{{{zz{{||{|||{{z{z{{{{{{|||{{{{z{{{{zz|{{{|||{{|{{|{{|{{||{{|||{z{z{{|{{||{|{{{{{{{{{{{{||||}|{{{{{|{{||z||{{|{{{{{|{{||{{{|||{{|z{{{|||||||||{{{z|z{{||{{{{|{||{{{|{||||}}|}|{||{{{{{{|}{||}|{|||z{|{||}||}||{{{{|{{||}|||}||{{|{{|{|||||}|||{|{{||{|}|||{}}||||{{{|||}|||}|{|||{{{{{|}{|||}|{{{|||{||||{||}||{z{z{z{|{|||||z|{{{|{|||{||{{{{z|{|z{{{|}{|~~~~~}}|}|||~}}}}~~~}|||}||{|||{|}|{|{|||z{{|{|{|{||{zz{z{|{{{||{{{||{{{z{|{{||{{||z{{{{{zz{{z|{z{|{{{{{|z{z{{{||{|{zyz{zz{z{|{{{{|{{{z{{{{{{{|{|{{|z{{{yz{zzz{||{{{{z{{{{{zz{zz{{{{{{{zzz{{{{{|{|{|{{{z{{{{{||{||||{{{{zzz{z|{||{{|{{{{z{|||{{{|{||{{{{{{{z||{||{||{{{|{{{{{||||{z|{{{|z{{z{|||{||{{{z{{{{{|{|{|{|{{{{{|{{{|{|{|||{z{|z{{|{{{{}{}||{{z{{{{{}{|}|}}|{z|{{{|||{}|{|||z{{{{|{{{||{|||||{{|{{{{|}}}||}{{z|||{|{|||}|}}}||{|{z{{||{{}||}|{{{||{{}|||{|||{{|z{{||||{|||}|||{{{{z|||{|}|||{{z{z{{z||}{|~~~~~~||}|}|~}}|}}~}}{}|{|z{{}{||{}|{{{{|z{{{||{|{|||{|z{z{{|{|||||||{{z{z|{{|{{{z{|{{{{{{{{{{{|{|{{|z{|zz{{{z|{{|{{{{z{{zzz{|z||||{{{z|{{{{||{{{|{||{{{zz{z{{|{{{{||{{{{z{{{{|{|{||{zzz{{{{z|{{|{||z{{{{{{{{{||{||{{{{{{zz|{{}{|{}|{{{{y{|z||{{||{|z{{zzzzz||||||{|{{{|{{zz{|}|{}||{{{|{z|{z|||{}}||z{{|{{{|{{{{{||{{{||z{||{||{|}||{{{{{}z}||||}||{z{{z{z{|{|{|||||{zz{{z{|||||}{|||||{|||||{|{}}}|||{{|}||}|||}|||{||{{}{|{||}}{||{|{|{{|{{{}{|}|}|{||{{{{|||||}|{{|{|{{|||||||||{{{{{||{||||||{|{{|{z{z{|z|{{~~~~||||{||}}|}}}}||{{{|{{|{{|{|||||}{{{zz{|{|{{||}|z{{{zz}||{|{|||{z{{{zz{|{{{||{{z{z{{zz{{{{{|{{{|{z{{{{|{z|y{{|zzzzz{{z{{zz{{{z{zz{zyz{z{|||{{|{zzzzz{|{{||z|||{|z|{z{{{{|{z{{{{|{z{z{z{|{{{|{{|{|{{zzz{|{|{||{{{|{{z{z{|{|||{||z{z{z{{{z{|{{{|{{{|zz{{{||{{{{|||zz{{z{|{|{||||{{{{|{{{{{{|{|}{{{{z{z{z|||{{{||{z{{zz{{||{|||||z|{||{{{||{|{}{||{||{{y{z|}|{|{{|{{|{|{{||||}||{{{{|||{{{}||{|}||{||{{{{{}}|||||{{|{|z{|{{||{{|}|{|z{{{{{|{||||||||z{|{|||{{{|||{|{{{{z{{|{|}}{|{|{{{{{{|||||||}{{{z{y{z|{{{|~~~}}}}~|{}~|}}|}}|}{{{{{|||||||||}|{{|{{{{{|||z{{{|{z{{{z{{{{{|||{{z{zzzz{z{{{z||{|z{z{zzz|z|{{|{|{|zzz{zz{{|{z{{{{{|zzz{z{{{{||{{{{{{y{{z{{{{|z{|{{{{z{zzzz|{{{{{|{z{z{{{z||{{{|{|zz{{{{zy{{|{|{{{{{{{{zz|{{}{{||{{zz{z{{z|||{{|{{zz{z{y{{{{|{||}zzzzzz{z{||{||}|{{{|{{{zz{z{{|{{{{|{{{{{{{|{}|z||{zz|z|{{{|{{|{|{{{{{{{{{{{{|||{||{{{{{{{|||{}}z{{{|{{{z||||||||{{{{{{{{||{|||||{z{z{{||{||{||{||{{zz|{{|}|}{|}}|||||{||||||{{{||{|{{{z|||{|{|||||{{|{{{{||{||{|{|{{|||z{|{{|||{|{{{{|{{{|{|||{|{{{{{z{|{{z{{~}~~~~}}|{|||}}~}}}}}|{|{|{{{|||||{|{{{{{{|{|||{|}|{{{z|{|z{|||{|||{{{zzzzz{{|{||}{{z{z{{{{||{{z{{{{{{{z{z{{{{{z{{{{{{{zz{{z|z{{|{{{z{zz{zz{|{{{{||{{{{{z{{{{{{{{||{z{{{zzz|z{z{{{|{{{zzz{{{{{{{||{{z{{{zz{{|{{{|||{{{z{z{{{||{{}{{{{{{z{{{{{z{|{||{{{{{{z{{|{|{||{{{{y{{z{{|||{}|{|z{{z{{{{||||||||{{zz|zz|||||||{{{{z|{{{{|||{}{|{{z{{{{{}}||{~|{{{z{{{{{|||{|}|||z{{{||{||{{|||{{{|z|{|z|||||||{||{||{{|{|||||}}|{|{|{{{}}{||}|{|z{{|{{{{{{|}||||z{||{|||||{|}|{|{{{{{{{{|||}}||{{{z{{||{||{||{|{|{{{{{{|{|}{~|}|}||}}}}}||}~||||{|{||||{{{{}|{z{|{zz|||||{{|||{{z{{{z{}{||{|}{z{{z{z{||{z{{|{{{{zz{{{{{{|{|{{zz{{z{y{{{{{z{||{zz{z{z{{{{{{|{|z{{{z{y{{{||{{{|{{{{{zyz{{{{|||||{z{y{{{{z{{|||{{z{zz{{{{{{{z|{|z{z{z{{z{{{|{{{|{z{{{{{{{{|||{|{z{{z{z{{{||z|{}{{{z{zz{z{{{{||||{z{{{{{{z|}{|||{{z{{{zz{{|{{{|}|{zz{z{{||{{{||{|{|{{{z{{|z{{||{|{{{{|{|{|}||{|}|{{z{{{{{{|{{|||{|{z||{{{|||||}|}||{{{||||}|}|}|||z{{{{{z{|}{}}}{|{{{{{{{||{}||}|{|{{|{{|{|{|||}||{{||{{{|{}|{|||{|{z|{||{{{|{||||{{{{{|{||{{|{}{|{{{{z{{{{|{{~~~}}}}~}{}}}}~|}}|||{|||{{||}|||}|}{{{{{{{||{}|||||||z{{{{||{||{||{z|zz{|{{{{|{|||{|{z{{{z{{|{{|{{|{{zzz{z{|{{||{|{{z{{z{{{|{{{|{{{{{{zzz{{{|{|{|||{{{{{{{z{z{{|||{{z{{z{{{|{{|{|{|{{|{z{z{{|{{||{{||z{{z{{{|{||{|{{z|}{{z|}{|{{}||z||{z|{|||{||||{{z{{z{{||||{{|||{{{{z{{{|{|{|||{{{z{{{{||}}{|||{{|{{{|{|||{{|{||{{{{{{{|{|{|||}{{|{{{||||{|||{}{{z{|{{{}}|||}||{{{z}|{{{||{||}|{|{{{|||||{}}||{|{{|{{{z{}|}|}|}|{{|z|{|}|{||||}}|||{|{{||||||}~||z|||||{||{|}||{||z{{|z}|{{||{|{{{{{{{{||{||||||{|{z{z{{||{z~~|}}}|}|}}}}}}}~}|{{{||z||{|||||{z||{{{{{||{|||||||{{{z{|{{z||{{z{{{z{{{||{{{|||{{{{{z{{{{|{{||{{|zz{zz|{|z|{|z{{{{z{y{{z{z{|||{|z{{z{z{|{{{{{{{{z{||z|{{|{|{||{|z{{{{{{z||{|||{{{{{{z{{z{|{{{|{z{{{|{{{|{{}{|{|{{z{|{{|{}|{|{|{zz{z{{{{|{|{{}}||{{{z{{{{|||{{|{{{{{z{|z{}{{|||{|z||{{{z|}||{||||{|{{{{{{|||{||{{{z{||{|{|||}|||z}{{{|{z{{|{||||{||{|{{{{||{||||||{||||z}}|||||||{|{{||{||||}}{|||}{{|||||||||}|{{{}{{{{|{|||||}|{z{{{{||{||||}}||{{|{||}||||||||||{{z{||{}|{|||{{|{|{{{||||{||||z|z{zz||||{|~~~~~}}}}}{|}~}}~~~}}}}||{{|{||}||||{{{{{{{{z|}|||{||||{{|{zz|{{||||}{{{z{|{{{|||{|{|{{{{z{{z||||{|{{zz{{{{{z{{{|{|||z{{z{z{{z|{{|{}|{{{|{{z{{|{{|{||{{|{zz{{{z{{{|||z{zz{{{{{|{{{{||{{{{{{zz{|{{|}{{{{|{{{{z||{{{|||{{|z{||{|||||}|}{{{|{{{{{{{|{|{|||zz{{{{z|||||{||{{{{{{{{||||}{{{{{z{{{{|}}|||}{{|{{|{{{||{|{|{}{{{{{{{{{||}|{||{|{{|{||||{}|||||{||{{{{}|}|{|||}{|{||{{}|||}}||z{}{|{||{||||||||{||{|{||||}||}}||||{{{{||}|||}}}{|{{|{||{{{|||}{|{{||{|||{|}||}}{{{{{{{{{|||||||{|{{{{{|||||{}{{|{{{{{{{|}||~}~~}}}~||||{}}}||}||}||{{||}}|}|||||{{{{|{{{{{|{||||{|{{|{{{{}|{|{{{{z{{z{{{|{{{||{{{{{z{|{z{|{{{{z{zz{zz{{{{z{|||{{{{zy{{{{z|||{}{{{{z{{{{{|z|||||{zzz{zz{{{|{|{{{z{{{{{{z{{{z{||{{{{{{z{z|}|{{{{{|zzz{z{{|{|{z|||{z{z{zzz{z{{|{|{{{zzz{|||{{||{|}|{{{{zz{|{{{|||||{|{{{|z{|{|~||||{}{{{{{{{|{|{||{{z{{z|{{{{||||||{{{|z||{{}||||}{{{z{|{{{|||||||||{||{|z}|{|{||||{{z{|{{{|{}||}||{{{{{|{|}||||}|||||{||{{}|}|||||{||{{{{|||||||}|||{{{|||||{|||||{{||||}}}{|{{}|{{{z{|zz||{{{{|{{|{{|{|{|||{|{}{{{{{{z{{{{{{{~~~~}~}}}||||{}|}}}||}|z|{{|{z|||||||}|z{{{{{{{|}}{{|||{|{{z{{{{{{{{}z{{{{{{|{{|{{{|{|{{{{{{{z|{{{{|{{{{{zz{zz{z{{{|||{{{{{z{zz{|||{{{{{z{z{zz{{|||{{{{z{zz{{{{|{}{|{{{|z|{z{z{z{zzz||zzzz{{{{y{z{{{{}{z{{z{zz|{{|{{||{|zz{z{{z||{|{|{|z{zzz{z{z{|||{|{|{z{{{{|{|{|{||{{{{{{z|z|||||||{{{{{{z{{{|z{{|z{{{{{{z{||||{{|}{{{z|{{{||||||||{||{|{{{||{}}}}|{{{|{zz|||}{|||{|{||{{||{{{|||||{|{|{{|{||||||}|||{{|{|{||||||}||{||||{z}|}{|}|||{{|||{}||||}|||||{|||{{|{||}|}|{{|{{|{{{|||||||}||{{{zz{{|||}|}{|{{z{{{{{{|{~~~~}~~}~~|}|||~~|}}}}|{{{z{|z|||{}{{}|{{||{{|||{|{||{}|zzz||{|z||{{{|{{|z{{|{|{{{{{|{{{{{zyy{z{{{{|{|{z{zz{z{{z{|{|{|{{{{{{z{{|z|{{{{{zz{z|zz|{{{z|||{{{{{z{{z{{{{||{{zz|{{z{zzzz{|z}{{z{{{{z{{{{{|||{z{{zz{{|{{||{{|z{{{{{|{{|{|{|{|{{|{{z{z{z{|{{|{z{{{zzzzz{|{{{|{|z{{{z{{{|{||||{{{|zz{{{{|||{{}||{{|zz{{{{|{{|||{{{zz{{{{|||||||{||{{||{{|{||}|||{||{{{{|||||||{|z||{||{|||{{|}|{{{{{{|{|||||||||{{{{}|{{||||}}}|{|{{||{||||||}||{|{{|{{{{{|||||{z{{|{|{}||||}||z{{{{|{|{||||}||{{{z{{|y{{|}||||{{{{{{{{{{||{~~~~~~~}}}}||{|}}}|}}|}|{{{{{{{||||}|}}{{{{|z|{{{|}{||{{|{{zz{{|{{|{{||{{zz{zzz{{|zz{{{{{|{zzzz{{|z{{{{{z{zzz{{{{{|{{||z{{{z{z{{{|{z|{{{{z{z|z{{z|||{|{z{{{zz{zz|{z|{||{z{z{z{z{zz|zz{{|z{z|z{z{{{{|{||{z{z{zz{|{|z{||{|zz{{z{zz}{{|{|{{{{zzz{z|{{|z{||z{{zzzz{{|{{{z|||{zz{{{{z{{{{}z||{z{z{zz{|||{{{{|z{z|{{{|{{{||{{{{|{{zz{|||}|{{|z{{{||{{|{|||{||{{|{{{{{||{|||||{y{|{{{{{||{{||||{|{|{{{|||{||{}|{{z||{|{|{|||||}{{|{{{{||||{{{|{{|z{|{{||{{{|}|zz{|{|{|{{|}{|{|{{zz{|{{{{{{||||||{{{{|z{{|{{||{zz{zz{{z{{||{~}~~}~~~}}|}{}|}}{}}||}|{|{{{{{|{}|||}||{|{{{{{|{||{|||{|{z{zz{|{|{{{{|{zzzz|{{z|{zz{|{{z{zyz{{{{}{z{|{|{{z{z{{{z{{{{{{zzz{{yz{{{|{{z{{{z{zz|z{{{|{{{{{{{zzz{zz{{|{{{|{{z{{zzzzz{{{{|{{{zz{{{zz{{{{{{{|{z{{{{{{{z|{{|{|{{{z{zz{{{{{|||{|zz|z{{{{{|{||{|{{{{{z{{||{{|z||{||{{{{{z{||{||{{{{{{{{{z|{|{{}{{{{z{{{{}||{{|{{|{{{zz{z{|||||{|{{z{z{{|{||||{{||{{{{{{z||||{{|||z{{{||{}||{|}}||{|{|{{||||{|||{|{{|{{{{|}|}|{|||{{|{{{{|{||||||{{{{{z{{{{{||||||z||{|{{{||||}}}|{{z{{{{|{{{|}|{{{{|z{{z{|||{|{|{z{{zzz{{{{{|~~}~~~~~}|}}|||{||||}}|||||{{{|{|{|||||||{{{z{{{{}{|{}{||{{z{{|z|{||{|||{{{z{{{z{{|{z||{{{{{y{{{{{|{{{|{z{{zzz|z{{{{{{{}{z{zzy{{{{|{{|{|{zzzz|z{z{|{{{|{{{{zyzz{z{|{z{{|{{{{zz{{z{z{{|{{z{zzzzz{z{{{z||||zzz{{{z{{{{{{|{{{{y{z{{{{{{||}}z{yz{{{{{{{z{{||{{{z{z{z{|{||{|{{z|{{{{z{|||{|||{{|z{{{{||}{{||{{{{{{{{||{{||{|||z{{{{{{{{{{|}|{{{{{z{{{||{||||}{|{{{|{|||}{|||{{z|{{z{||}|{||{|{|{{{{}|}|{|||{||z{{{{{{|||||}|}|{|{{||{||{|{{||{{{{{{{z|||||||}z{{|{{{|{|{~||{{{{z{{{|{{}{|{|||{{{{{{{{}{|}||{{z{{{zzzz{{{{{~~}~~~~}~}~~}|}}{}|}|~}}~}}|{{{{||z|||{||}{z{|{z{{{{{||{|||}z|z{zz{{|{|z|||{z{{zz|{||{{{||{|{{{{{zzz{|{{{{{{zz|{{{{{{{{{|{|{z{{z{{z{{z{|||{{{zzzzy|{{{{|{|{{zzz{zzz{{{|{||{{|{{{{{z{{|{{{z{|{{z{zzz{|{{z{|{|{{z{|z{z{{}{{|{{z{z{zz{|{}{{{||{{{{zz{{|{|{{{||{{{z{{{{{||{{|||{{||{{|{{|{|{|||{{{{{{{z{||||{|||{{z{{|{|{{||||{|{{{{{{{|||}}}|||{{{{z|{{{{|||{|{{{{{zz||||{||||||{{{|{{{|{||}|{|{{|||||{|||}|}{||{{|{{|{}||{{|}{{||z|{{|}}|{||{|{{|{z{||||||}|||{||||{||{|||}|}{{|||{{{{{{|{{|||||{{{{{{}|||||{||{{|{z{{{|{{~}~~}~~~}~~|}||}||}}|}|}|}||{{|{{{|{{|{||}{z||z{{z|||{{{|}{{|z{{|{{|{|{|{|{zzz{|{z{{{{z|{{{{z{zz{{{||z{||{{{{{{z{{{{{{{|{{{{{z{{{{{{{{zz|{|z{{{{{{{z{{z||{|{{{zzz{|{|{|{|{{z{{zz{z{z{{{z|{{zzz{{{zz{|zz||{{{z{z{zzz{{{z{{{|z{z{{{{{{}|{||}{{{{z{{z{{||{|||zz{{{{zz|{|{||||{{{{{y{{|{{|{||{{|{{z{z{{|}{{{}|{{{{||{{{|{{{z{{|{|{||||{|{|{||||{{{{{{{{|||||||{{{|{{{{|{{{{{|||z{{|||{{{|}|||{|{zz|||{||{|||||}{{{z{|{|}}}|}}||{}{|z{|}||||}}|}z{{{|{||}{|||||{{{{{{{z|}||{|}||{{z{|{z{||||}|||{{{z{{{{|||{|{{{{{z{z{{||||{~}~}}~~~}|||{}{||~}}|~}}}|||z{||||{{|||||{{|{z{||||{|||}{{{zzz{z{|{{{}{|{y{{{{{z{||{|{||{{{z{{z{{{|{|{{{{{|{z{{{{z|{{{{{{zz{z{{z{{{{{||{{{z{{{yz{{z|||{|z||{z{{{{{|{{|||{z{{zz{{{{|z{|{|z|{{{zz{z||{{{||{{{z{|z{{|||{||{|z{z|{z{{|{||||}|{|zz{z{|{{|||||{y{{{{{{|{{|{||}|{{|zz|z|||{|}|{{{{{{z{{{|{|{||{|z{{{{z{||||{||{|{{{|{{{{|||||{|{{{|{{{{}|{{}||{{{|{{|zy|||||{{|||z{{{{z|||{{||}||{|{||{|||{}}{|}|{{z{||{~|{||}}|||||{{|||||||||{{|{{{|{|{|{|||||{{{{{|{|{}|{|||{|{{{{{{|}{||{{|{z|{|{{{|||{{||||{|{{{{{{||z{~}~}~}~}~}|}}}}}|||}}}|}~}|}{||{|{||||{}|||{{{{|||||}{{{||{{{{{z{{{{{|{|||z{{{{{{zz{}{{{{||{zz{{{{{{{{{|{|{{z{{{z{|{z|{|{{z{{z{{{{{{{{{{||{z||{{zz{{zz{|{{{zz{{z{{{{{|z||{|{{{{{zz{||{{||{zzz{z{{z{|{||||{z{z{z{z|{z{|{||{|{zz{|z{{|{{{||}{{{{{{{{{{|z{|||z{{{{{z{{{{{|{|{|{{z|z{{{||{||{||{|z{{|{|{||{}|{{{z{{{z|||||{{{||{{||{{{{{|}{||||||{|{||{|||{|}|{|z{|{{{||}||}}}|{{{|{{|{|{|||}||{{{{{}{|}||||||||z|{}{{|||||||}|z|{|{||||}{|{}{}{|{|{|}|||}{|||}{{|}|{}|{||||||{{{{{||z|||{||{|}{{{{{{{z||||{|{|{{z{z{z||{{||~~~}}}~}~}~}~{|{|||}||}{}|~|{{|{{|{|||}}||||{z{{{z{|{||{z||{}{zz{{|{{z||{|{|zz{{z{{{|{|{|||{{{z{{zz{{{{{|{{{|{{y{z{{{{|{{{|zy{zy{z{{{{{|{}{|z|zz{zz|{{{|{|{|{|{{zz{{{{|{{{{|z{{zzzz{{{|z{|z|{z{{{{z|||{{}||{z{z{{{z{{{z||||{{{{z{{{|{{{||{|{|{{z{|z{|||{|||{{|z|z{z{{}||||}|y{}z{{z|{|{z||{{{|{zz{{|||{z{}{{|{zzz{{|{{{{{||||||{{|{|||||}|}||{{|{{{{|{}{||||{|{|z{{|}{||||{|{{|{{{{|}|{{}}|{{z||{{{|||{|||||||{{{|z|}||}||}|{{|{|{{{{}|}}~||{||{{||}||}|||||{{||{|{|||{|{}||{||||z||{|{|}}|{|{{{{{{|}|||{||{||{{z{{{|||{~}~~}~}~}}}~~}}|}}{|}}}{|}}|}}{{|||{z{{|||{|}{{|{{z{|||||{|||z{{z{z{z{|{|{{{|z{zz{z{{z{{|{{|{{z{{{{|z{{||{||{{|zzz{{{z{{}{{{|{zzzzzz{{{{{{z{{{zzyzzzz{{{|{{{{{{{{zzz{||{||{|{||{{{{zz{{z{{{z|z{zzzzz{z|{|z||{|{zzz{zz{{{|z{||{zzz{z{z{{{z{|{{zz{z{{z{|||{|{{|{{{z{{{{{{{{|{|{{z{{{z{{{{||{||{zz|z|{{{||{|||}{|{z|{z{{{}||z|{{{{{{{{{z{{|||||{{{{{z{|{{|{{||||{|||{{{{{{{|{|||{{{|{{zz|{{{}}||z{|{|{{{{||||}|||z{|}{{|{}|||{}~{z||{z{{||}{|{|{|{{{{{{||{{|{||||{||{{z|{{{|}|{}|{z|{{{||||||||||{{{{zzz||{||{}{{{{{{{{{|{{{|~~}}|}~~}}}|~}|||}}{||||{{~}|||{{{{{{{{}{{{|{{{{{zz{{{{{{|z{|{{{{{{z{z{{|{||||{zzzzz{{{}z{z|{||zzzzzz{zz{z{{{zz{zy{z{z{|{{zz{|{zzz{{{z{{{{{z{{{{z{z|z{z{z{{z|{zzz{yzzz{{{|{||{{{z{zz{z{z{{{{z{{{zz{zzz{{{{{{{yy{{zz{zz|{z{{{{{zzzzzz{{{|{{||||{z|zzz{{{{{{{{{{z{{{{{z{|{{||{|{{{zz{z{{{|{||||{z{|{|zzz|{|{{{|z{{{{zzz{{|z{{|{{{{{{{z{z|{{|||||z|z{|{z{||{{|{|||z{z{{z{{||{{}{{|{|{{{{z|||{|{||{{{{{{|||{{||{}|||{{{|{{{||{}{|||{||{z{|{{}|||{||{{|z|{z{|z{||||{{zz{{{{||{||{||{z{{{z{{|{z||||||{z{{{z{{|z{{z||zz|{zz{{{|{|{~~~~||}}~}||}~|||||{||{|}}|}||}{||{{z{|z|{}{||{{{zz{|{{|{|{{{||{{zzz{z{{{{{|{|{zzzzzz{z{|y|{{{|zz{z{z{{z{{z{{{{{{z{{z{z{{{{{{{{{zzzzz{{{|||z|{{{{{zzzz{{z{{{|zzz{zzz{z{{z|{{||{zzz{{z{zzzzz|{|{zzzz{{{{|{|{|{{z{{z{{{y{{{{{{{{|{zz{{{{{z{||{|{{{{{z{z|{z|{|{|{{z{zz{{{||{|{|{{{{{z|z{{{{{{{|{|{{{{z{{{{{{{{||||{{{z|z{|{{|{|{|{{{zz{{{{{{|{|||{{z||{|||||||{||z{{zz{{{{|{~|{|||zz{{z|{{|{||{|||{{z{{{{|}{|||}|{z{|||{z||||||}||{{{{{z|||{||||||{|z{{z||{{{{|}}|{{z{{zz||||||||{{zzz{{{{|{{|||}|{{{{{{z{||||||||{{z{z|z{|{{|}~~~~}~~~~~~~|~}|{|{||{|||}{|}}}||{{zz{||{||}|{|{{{|{{z{{{||{{{|{{{{{|z{|{{||||z{z{{zzzz{{{{{{|{|z{zz{zz{{|{|{{{{{{{y{{{|z{{{{{{{z{{{z{y{z|{{{|{{zz{z{{{{{|{z{||{z{{z{{z|{{||z|z{{zzz{zzz{{{z{{{|zzzz{{{{|{{{|{{|z{|{z{{{{z|z{|{{{zz{{{z||{{{}{||{{{{{{{z{z{{|z{z|{{{{{{|{|{{{}{{{{{{{{z{{{{||}||{{|zz{{||{||{|{{{z{{z{z||{|||{|{{{{z{{z{{||||||{{|{z{{{|{{||||{{{|{{z{{{|{}|||{|{|{{zz||}|{||}|{|{z{|{{|||||||{|{{}{|{{|{}}|}||||{|{{|{{|||{|}}{|{|{z|{{|{|{|}|{||{|z{|{|{{{}}||||{z{{{{{|{||}|{|{{|{{z{|{|{||{{{|{z{{z{{|{|~~~~}}~|}~}}{~}~||~||||||}|}|}|~|||{{{{{{|{|{|}||{|||z{|{|{|{{||{|{|{z{z{|{|||z|z{{{{{zzz{{{z|{z|{z{{{zzz||{{{{z{z{zz{{{{z{{{{{}{z{zzz{{z|{{{{{{{z{zz{zz{||z|{{|z{{z{{zz{||{|||{{zz{zz|zz{|z{{{|{{{z{z{zz|{{{{{{|z{|z|zzz{{|{||{{zz{{{{{|{||{{||{zzz{zz{{|{{|{|{{{zzz{z{{{||{|||{{|{{{{{|||{||{{{{{|{{{{|{|{{{||{|{{z{{{{||z{}||{|z{{{{{|||{||{}{{{}{|{z|{||||{|{{{z{z{{}|||}{|{|{{{|{|{{||{}|}|{{{z{||||}{{{|||||{|||{{{|{}||}||||||zz{|||{||}|}{{{|{{{|||{||||{||{{|z|||||{|||{{{{{{{z{||||}|||{{{z{|{|{||{{||{{|{z{zz{|{||~~~~}~}~}}}~~|||{|||{~|}|}}}}||{|{||{|||||||||{|}|{{||{{||{}|||{{{|z|{|||{|z|{{{z{z{z{{{{{{|||z|{{{{{{{{|{{{||zzzz{|{|{{||{|||zz{{z{zz{|{{|}{{zz{{|y{{{{|||||{{{{z|zzz|}{||}|{{{{z{zz{z{|{|}{{{{{{{{{{{{|{||{{{|z{{|z{{|||{}||{{|{z{|{||||{||||zzz{{||z{||||}|{{{{|{|||||||||{z{||{{z|}||||}|{z{z{{{z|||||||}{z{{||z{||||{|}{{||{{z{|||}{|{||||{{|{{{{|{{|||||{{|zz{z||||||}|||{{{{||{{{|||}||{|{{{{{{{|||||||{|{}||{{|}~}|||||z{{{{{~|{||{||}z|{{|{|{|}|||}||||||{{{|}}|}||}|{{{|z{||||}|{|}|||{{z{{|||}||}|{{{{z{{|||{|{~~}}}}~}~}}}}~}}}}}}||||||||||||}}}|{zz{{{{||}||}|{{|{{{{{|||{{{{}|}{{z{z|{||{{||||{|{{{{z{{||{|{{{{{{{{{z{{{{{|{{{{zyz{{{|{{{||{{{{{{{{zz|{|{{{{{z{{zzzz|||{}{||{{|{{zzz{||{{{|}{{z{{{zzz{{{{|{{|{{{{|zz{z{z|||||z{{z{{{{{|{{z{{{{z{{|z{{{{|||{{{|{{{z{{{{|{{|||}z{zzzz{{|||{|||{{{{{{{{z{|||||||{z{|{{{z|{|||{{|{|{z|{{{|{}{|{{||{{{{{||||}|||{|||{z{{|||}|{}}}|{{|{z{{{||}|||}|{z|{{{|||}|{{}||||{|{||{||||}|}}{{{|{{|||~||}||||{{|{{{|}|{|}||||{{{}{|{{|{{}|||}|{|{{||{|||{}||{|{z{{||||{{|||||{{{{{{{|}{|||}|{{{z{||z|{{{{~}~}}}}}|~}|}~}||z||{||{}|{}}}}|}{{{{|{{{|{{|||||{{{z{z{{|||||||z||z{z{{||{|{|{|{{{{{{z{{{{{z|{{{{|zz{z{|z{zz||{z{{{{{zz{|{||{|{zz{zz{{{{{{{||||{{z|{zz{{z{||{|{{{{zzzzzz{|{||{|{{{{{zyz{{{{{{|{z{{z{zy{{{z{{|{{zz{z{{z{{{{z{{{{{{z{zz{z{{|{zz{|{{{{{y{z{{{{{|{{{{z{|zzz|}|{|{|}|{{{z{{{z{|{}|{|{z{{z{z{z||{|{|{z{y{{{{z{||{|{{{|z{z{{{{{||||{|{{{{{|{{z{{{|{}{|{{{{{z|z|||{||||{{z{{|{||||}|||||{||{{{|{{{||||}|{|{z{{|{}{|{||||{|{{z{{}||{}||||z{z{{|{{|||||{||zzz|{{||{{|}{{{{{{{{{{z{||{{||}||{{{z{{{|{||}{{z{{{{{|z{||{z~~}~}~~|~}|}}}}|}~}}{|{{|||||{}|}{|{{{{{z{||{||||{|{{{{|z{{{{|{|{{{{z{{{zz|{|{{|{|{|z{{zzy{{{|{{{|{y{z{{zz{{|{z{|{{z{{z{z{z{{{|{{|{zz{z{{zz{z{|||{{{|{{zzzz{|{|{{{|{z|{{{{|{{{{{{{{{{zzz{zzz{{z|{|{{z{z{z{z{|{{|{|{{zz{|zzz{{{{{||{{{z{zz{{{||{{{{|{zz|{{{{{z||{||{|{{{{z{{z{{|{{|{{{{{z|{{{||{||{{{z{zyz{{|}{|{|{{{z{y{z{{|{|{{{{|{{{|{z||||||{{|{{{{{{|z|{{||||}|{{{|{{{||{||{|{|z|{|{{z||||||||{z{{{|{||{|{}|{{}|{{||{{{}|||}}}|{||{{|||||}{||}|{{{|{{|||}|{|||{{{|||{{{|{}||||{|{{{{{{{{||{|||{z||{{z{{{{||}|{{z{{{z{z{||z|~~~}}}}||||~}||~|||}{||{{|||{|}|}{|{{{|{z{|{{|||||{{{{{{{|{||{||||{{{{zzz|{|{{{{{z{{zz|{z{{{{{|{z{z{zzz{{zz{z{{{{{zyz{{zz{{z{{{{|z{z{zz{z{{{{{z{{{|{zz{y{z{|{|{{{{{|{z{zzzzz{z|{{{{{{{zzz{{z{z{{{zz{zz{{z{|{{{|{|{|{{{|{z{zz|{||{{{zz||{{|{|{{||{{z{zz{{{{|{{{|{|{{z{zyz||{{||{|{|{{z{{z{{{{|{{||{{{{{{z{{{|z{||{{{z{{zz{|{{{{{}{{z|{z{{||{{||}||{|{{|z{||{{|{}||{|{{|{{z{||||||||{|{{z{||||{{|||z{|{z{{|{|{|||||{{{{|zz{{}|||||{|{|{{||{|{|||||{|{{z{{{|{||||||{|{{{|{{{|{|||||{|{{{{{{{{{{{{||{|{|{zz{{{z{||||{{zz{{|z{{||{|~~~}}|}}}|z}}|}}}}}}|{||{|{|||{}||||{|{{{|{|||{|{}||{|{{{zzz|||{{||{{|{{z{{|{{||{{|{{z{{{{zz{|{z{||{z{zzzzy|{{{z{{{zzzyzz{{{zz{||{{{zzzz{{z{||z{{|{|z{zz{zz{{{z|{{|{{{zzzzz|{{|{||{{zzzzz{zz{{|{|z{{{zy{z{z{|{{{|{}zz{z{z{zz{{{|z{{{{{{zzz|{{|z{{z}{z{zzz{z|{zz{|||{z{{zz{z{z{|||||{{z{{zz|{{{|||||{{{{{{z{||||{z{{{{z|z{{|{{|||{{{|{{z|{z{|{|{||||z{|{{z{{{{{|}{|||{{|{{{z{|}{||||{z{{{|{{}|{|||||{{{{{|{|{{{||}|}||z{{{{z{}||{{||{z{{|{{|{{}{{|{|{{{{{{{{{{||{{|||{{{}{z||||||{|{{{zz{zz{{|||{||||{{{{{z{||{||{{||y{|{{{{|{{{|~}}}|}|||}|~~}~|||}~}|||||{}||}|}|}}||{|{z{{{|{{||{||{{{{yz{|||{{|||z{zz{{z{|{{{{{|{zzzzz{{z{zzz{{{zz{z{{zz{{|z{{{zz{{{{{zzz{{{{{{{{{zzzy{z{{{}{{|{{{{zzzy{{{|{{||{{z{{yzz{{{{{|{||{zzz{z{{{{{|z{{|{{{z{{{zz{|{|||{{{{{zz{z{{||{{{{{{zz|zz||||z{{{|{z{z{z|{{{||{||}|{zz{{zz{{{{{||{{{{z{{{{z|{{{{zz{{z{|{{{{{|{z||{{{{{{zz{||{{{||||{{{z|{{{|||||||z{{{z{{{|{|}||||z{{|{{{{|||{||||{{|{{zz{{|}||{||{|{{{|{||||{|{{}|{{|{|{{||||||{||z{|{{|{{{{}||{||{{|{{z{{{||{|||||z|{{{{|||||||}z{zz{{|z{{{||||{||{{{z{z{|{||||}{{{{{{{{{|}||}||}{~|||{|}|}}}|}}||{{{|{{|{||{|{z{z{{{{|{|{{|z{{{z{z|{zz{{|{{{{{{{zzzzzzzz{|{|{|{{zzz{{z{|{{z{||z{{z{zzzz{{y{|{{{z{z{{{{{z{{{{{{zz|{|{{z{{|{{z|{zzz{{zyz{z{{{||{z{z{{zzz{|z{{{{|{{z{{z{{{{z{{{}{|{zzzzzz{z{{{|{{zz{{{zzz|{{{|||{z|{z{z{{{{{{{{{|{z{zz{|{{{{{{zz|zzzy{zz|{|{{||{|{z{z{z{{{{{|z{|{{z{zz{z{|{||{{|{{{{||z{{{{{{{|{{{{{{{|z{||||||{{{{{z{{{{||{||||}z{{{{{{{{||||{|{|{{{{z{{{|{{{|{||{{{{|{|{{{{|||||{z{z{{{||{||{|||{{||{|{|{|{|}|||{{{{{z||{|{{||||{{{{{{{|{|{z{{|{{|{{{z{|{||||}{{{{zz{{{{|||{||{|{{z{|zzzz{{{}|}}|||}}|{||}|||}|{|}{|z{{|{|}{|}{}z{y|{|{||{{|||{{{{{z{z{{|{|{||{{zz{zz{zz{|zz{{|{z{zzy{zz{{|y{}{{{zz{{z{{{{{z{|{{{zzzzz{{{{|{{{{{{zzzzzz{{{z|z{{{zzzzzzzz{{z{{{|{z{zz{{{{{{||{z{{zz{zzzz{{{z{{{zz{{zzz{{{zz{{||{{z|{{{{z{{{|{{{{{z{z{zzz{{{{{{{{zzzzzz{z|{{{z{|{{{z{zz{z{|{{z|{{{{z{zy{{|z|{{{{{{{{{z{z{{|{{{{{{{{z{{|z||||{z|{|{{z{zyyz||{}||{|{z{|{{{{|{||{{|}|{{{{{{z{||{||{|{zz{{{z{}{|||{||{||{{{{{{{{|||{||{{{{{|{||{||{}{{{{{|{z{{|||}{|||{||{{{z|||{{||||{{{{z{{{{{{{|||}{{z{|{{|||{{||{|{{{zz{{{|||{{||{{zz{z{{{z|{|}}~}~|||{||}}|||}|}|{{{|{|||{|||}}|}{{z{{{{|{z|{||{{{{{z{z{{|||{{||{{{z{{{{{{{{z|{|{zz|zz{zzz{yz{{{|{{{z{zz{{}{{{{{yzzzz{y{{{z|z|{zz{z{{zzy{z{z{{{{{{{zzzy{{{{{|{||{{{{zzzz{{|{||{{{zzy{z{z{{|{{{{{{yz{zz{z{{{{{||{{z{{z{{z{{{|{|{|{z{z|zz{{{{|||z|{{{z{zzz{{{{|{{|{zyz{z|z{z|{|{|||z{|{z{{{{{z||zz||{{{z{z{|{{{{|{{{{|z{{z{||{{|z|{{{{z{{{||||{{{|z{zz|{|||{{|{|||{zz{{z{{{{|{|||{|zz{{{{|||}{||||||{|{{{{||||{}{|||{{{|{{|{{|||||||{||{{|{|}{{|{|{{|{{{|{|||||{|||{|{|{{||{|{}|{{{{{zz{{{{|{{{||||{{|{z|{{|{|z|||zz|{z{zz}|||{}|~}}}||||||}}|{||~|{|{{||{||}{{{|||{|{{|{{{|{{|||{{{{{zz{z{{{|{||{{{zzz{{z{{{{{{{|{{{z|zzz{{}{{{{z{{{zzzz{zz|y{{{{{z{zzzz{{|z{{{{{zz{z{zzz{{zz{||{{{{{zzy{zz{|{{{{z{{zzzy{z{z{{{|{z|z{{{{zz{|{{{|z{{{z{zz{{|{{{{{{{zzz{zzzz{{|{{|||z{zzz|z{z{{{{{}{{{z{{{zzz{{{||{{{{z{z{{z{|{{|||{{{{{{|{{|{||{{{|{{|{z{zz|{{{|{|{zz{{zzz{||{z{{|{|{{||{{{{|}|||{zz|z}{|||}z{{|{|{{{{{zz{||||{|{{|z{||{{{|{|{|{{}|{{{{{|{|{||||||{z{{{{{{||}|{}||||{{{{{{|||{{|}{{|{{{{zz|{}{{{}||{{{|{{{{{{{|||{|{|z{zz{{|{|{||{{{z{{zzz{|{{{|{|{|{z{z{z{{{{{|}~}}|{{{}|~}|}}|}||{|||}||{|{|||}||{z|z{{{|||{{|}{{|{||{{|{||{{{|{{z{{{z{z|{{|z|||{z|y{z{y{|{z{{{z{{zzzzz{{{|z{{|zz{{z{{zz|z{{{{|{yzz{{z{zz|{{z{|{{z{{zyyz{{{{{{{{z|{z{z{z{||{|{{|{zzzzy{zz|{z|{{y{{y{zzz{z{z{{}|{{{zz{{{zz{{{{{||{z{z{{z{{{|{z{{{{{y{{z{{{|z{{{|z{{zz{{{zz{{|{{||{z{{{z{z{|{{{|||{z||{{{{|||{z|{|{{{{z{{{|||{|||||{{{{z{|||||||||{|z|{|{{z|{|{}||{z{|{zz{{}||}||{|{{{z{|{||{{|{||{{|{{{{||{|{||||||{{{|{|{|}|||||{{|{{z{{||{{|||{{z{|||{|{||{{{{||{{{||{{||{|}|||{z{{z{zz{|{{|||}z{|{{{{z{||}{z|{{{{{{{{z{{{{{~}}{}||||||{}||~|||z||{|{{|||||}|}|{{|{{{{|{|{|||{|zz{{{{z{{|||{{{{|{{z{{zzz{||{z||{{zzz{{z{{|z{||{{zzzzzz{||{z{z{{|zzzzzz{{{z{{|{{{{{{zy{{z{||{{{{{{{{zzzz{|{{z|||{z{zzzz{z{z|{{||{zzzzzzz{{|{zz{|{z{{{zz{z{z{{{{|zz{{z{zz{{{|{{{{{{{{{z{{{{|{{{|{{||{{z{{{{{|{{{|{zz{{z{{{{{{|z{{|{{{{zz{{||{{{||{{z{{{{y||{|{{||{{{|{{{z{{{{{{{||{z{{{{z||{||||}{{{{{{{{{{||{||||{z{{{z{{||||||{|z|z{zy{|||{|{|||{|{z{{{{|{}{|{|{{|{{|{|{}||{|}}|z{{{{|{|{{{{{}{{{{{{{z{{||{{{|||||{{{{{{|{|{}|}z{{zzz{{z{{{{{|{{{{{{{zz{|{{{{{|z{{{{zzz{|||{}}}||{||{{|}|}}||||}|||{{{z{||}|||{||{z{|{z|{{|||{{{{{{{z{zz{|{z|{||{z{{{{z{y{{z{zz{z{{zz|z|{{z|{{{z{{zz{zy{|{{{{{zzzzzz{z{z{|{{{{{{zzzzzz{{{z{{{{|{zyzzzz{|{{||{{{zzyzz|zz{|zz{{||{z{zzz|z{{{z{{{{{zzyz||z{{z{{|z{{{{{yz{z{{{|{||{{{zzyz{{{{{|{{{|{{{{zz{z|{|{{|{{{{z{zz{{zzz{{{||zz{{{z{zz{|{|||||z{{{{zz|}|{{||{|zz{{z{z{{{{{|{|{{{{}{z{{z||{|{|z{{{{{{{z{z|{|||{{{|z{zz||{{{|{||zz{{{{{{|{{{|||{{{z{{||||{|{{|||{z{z{{{{||||||||{z|{z{{{|||||{{{z{z{{{{||{{}|}|{z|{{{{z{|{|z|{|{z{{{{{{z}{{|}{||z{{{{{{{{{||{|{zz|z{{zz{||{{~}}}}{}}||||}{}|||}}{{{{{{||}|}}{||{{{z{||z{z{{||}{|{{z|z{{z{||{{|||{zzz{{z{{||||{|{{{{z{|{z{{z{{{|zzz{zz{y{{{{{{{{{{{zzz{{|{{{{{|||z{{zzz{|{|{{|{z{{y{{{z{{{|{|{||z{zzzz{z{{||{||{{{z{zz{{z{{zz{|{{z{{{zzz{z{z{}{|z{|zz{z{{{}|{{|{{z|z{|{{{{|{||z{{{{{zzz{|{{{{|{|zz{z{{{|z|{{z{|{|z|{{z{{z|{|{{|||{{{{{zzz||{{||{|{|{{|z{{|{|z{||{z{{|{z{{||{|||{{{|z{{{{{|{||||}{{|{|zz|{}}|||{||{|{{{|{{||{||{|{{|{{{{{|}|||||||z||z{{{{|||}|}|}{{{{||{|z}|||}{||{z{{z{{||{{|||{|{{{{{z|{||||||{{{{{z{|||{{{|{|{|{{{{|{{|{||{{{|{{{zz{z|{||{~~|||z||||{}}}|{||||||{{{{{|}||{{|||{{zz|{z{|{||||{|z|{zz{{||||{|||{{{zzzzy{{{{{||{{zzz{zzz{|{{{{|{{{zz|zz{{{{{z{{{{zzzzz{z|z{{z{{{zy{zzyzzzz{{{{|{z{z{zyzz{{|{{z{{{zz{{z{z{{z|{{{{{y{{|zzzz{{zzz{z{zzzzzz{{{{z{{{{z{{{|zzz{{|{{{{{|z{y{zzz{|{{{{|{{{{zzz{z{{{{z{{|{{{z{{{z{{{z{||{y{{z{z{z|||{||{{{z{{{z|{{|{||{{{z|zz{z{{||zz||{|z|{{{|{{{||{|}{{z{{|{z{|||{||||{{{{{{z{z{{z|{{{{|z{{{zzy{}||{|}|z|{z{{{{}|{{||{{|{{{{|{{{|||}|||{z|||{{z||{{|{|||{{{{{{z{{{|{{{{||{{{{z{{{{|}{|}|{{z{zzz|||||{}|||{zy{|{|{|||{|{{{{|z{{{|{|{{}|}}||{{{{{{}}||}{||{z{{{{{{|{||{|}{{z{{{{||{|{{|{||z{zyz{{{{|z{|{|{{{{{z{z{z|z{{z|{{}z{z{z{|{zz{{|{z{z{z{z|z{{{|{{{z{{y{z{{{{{{{{zz{zz{{zzz{{{z{{{{{zzzzzz{{z{{z{{z{zyzz{{{{{{{{|{z{{{zyzzz{{zz{z{{{zz{zzzzz{z{{z{{z{{z{{{{{{{z{|{zzzz|z{{{{z{zz{{|zzz{z{{{{{{z{{{{z{z|{{{z{{{{{|{{z|{{z{z{{|{|{|{z{z{{{y{{{{|{|{{{zzz{zz{{|{{{{{{{|zz{z{{{|||{|||{{z{{z{{||{{|{||{{{{{|zz{}{{||||z{{z{zz{{||||}{{{|{{{{{{|}|z|}||{||{{|{|{|{|{||||{{{z{{z||{{||}||{{|{{z{{||||||||{{{{{z{{|||{{{|{{{{{{z{z{{|{{||{z{{z{{{{|{{{{{{{z|z{y{{z{{|{}}|||||}{{{|~{||||}||{{{{z{{}{{{}|||{zzz{{z{{{{{||||{{{zzz{{{{|{z||{{{z{{zz{{{|{|{{zz{{zzzz{|z{{{{z|{{zzyzzz{{zz{{|{z{{zzzzz{|{|z{{zyzzzz{z{{{|{{|{{yz{{zz|z{{{|{{|{z{z{{zzz{{z|{{||z{{zyzy{{{{{{{{{{zy{zzzz|{z{{{{z{{z{y{{z|{|z{}{z{z{{zz{{{|z{{{{{{{{zz{{{{{|{{||{zyzzz{z{{|||z{}{{{z{{{z{|{|{{|{{z{{{zz{{|||{||{|zz||z{{{|{|||{{{{z{{z{z{|{||{{|zz{{z{{z{|{{{|{{|{{{{{{{||||||}||{z{zzzz|}{{|||}{|{{{|{{||{|||}||{z{{{|z{||{|{|{{{|{|{{z|{|||{{||{{{{{{{|||{|{||{{|{{z{{|{{||{||{{{z{{{{{}{}{|}}{{zz{{{z{|{{|{|||{|z{z{{|{{{{{}|{||{|{{{||}{|}||{|{{z{{{{||{{|{|{{z{{z|{{{{||{{|{{z{z{z{{{{{{|||{zzzzyz{{||{|{{|z{{yz{{z{|{{{{{z{z{{zzz{{z{{z|{zz{zzz{zz{{z{{|z{{{{z{{{{{||{z{{{zzzzz{z{z{z{|{||{{{zyzzz{{{{{z{}z{z{zzyyyz{{z{z{{z{z{zz{{{{{zz{z{z{zzzzz|{z{{||{{yzzzz{z{z{z{||{{{{{{z{z{{{{{{{|zzzyy|{z{{{{{|||zzz{{{zz{|{{|{{|{{z{{{{z{{|{{|{{{{z{z{{{{{{|{|{|{{z{{{{{{{|||||}{{z{|{{{{|{{}{||{{{|{{||{{|{|{}{|{{{z{z{}|{{||||z|{{{{|{{{{||||{{z|{{{{|{}{|{|{{{{{{z{{||{|{{{||{{{z|{{{|{{{{{|{||{{{{z{{{|{{||||{{{{{zz{}|{{{{|{{{{{zz{z|{|{{|{{zy{{{{z{{{{{||}|||{|||{}}{}|||||{{{||zz|{}}{{|}{{{z{{{zz}{||||||{zz{{z{{{{{{{|{{{z{|y{|{{|z{{||{{zz{{{z{{z{{||{{|{z|z{{{|{zz{{{y{{z{{{{zz{|{|z|{|z{zzz{{{{z{{||{z{|zzz{zz{{{z|{{{{z{yz{|{{{{||{|z{{z{{z{z{z{z||{{zzzzz{{|z|{{|{zz{z{{zz||{{{{|||z{z{z{z{{{{{|{|}{{{|{{{{{{|{|||{{{{{{{{{|{||||{|{{z{zz{z|{{{|{{|z{{{{{z|{}{z||||{z{{z{{{||||||{|{{{{{{z||||||}|{{{z{{|{z||||}{}|{{{{{{{||{||||{|{||{{z|||||||||{z{{||||||||||{|{{{|{{{{{|{|{{}||{|{{z|{|{}}{||||{{{|{{{|{||{}}|||{{{{{|||{|}|{||z|{{z{z{{{|{||||{|||yz{{}{|{{||{{{{{{{{z{{{|}}}{|{|{||{|}}|}||||||||{{{|{{|{||}|{||||{{{{||{{}|{{{{{{{z{{z|||||z{{{zz{z||||{{{{|{{z{z{{{{|{zz{{z{zz|z{z|||z{{{{{{z{zzzz{{{||{|{z{zzzz|z{{{{{{{{{z{|{zzzz{|{|{{|{}{zz{{yz||{{{{|{{{{{z{z{{|{{{z|{{{z{z{zzz{z{|{{zz{zy{zz{{|{{||{|zz{zz{{{{{|{|{||z|zzzzz|{{{{{{}{zz{z{zy{{{{{||{{{{{zz{z{||{||z{z{z|zz{{||{{{||{|{{{z{{{{}|||||{|{{||{{{|{|~|{|{{|||{{|{|{||||||{|z{{{{z{||{}||z{{{{{{{{|{|||}|||z{{z||{{|}|}|||{{||{{{{{}{||{||{|{{{{|{|{{}}|}|{{|{{{{|{|{{}|||{{{|{|{|}|||{}||{{|{{{{{{|{{|{||||{z{{{z|||{||||{{{{{{{z{|{}{}}}||{||{|{|}||{|||||{{{{|zz{|{{|}}{|{z{{zz||||{{||{|{zz{z|{{||{{||{{{{|z{z{|{{z|||{z{{{z{{{{|{|{|z|z{yzzz{||{{{{|{yzz{yzzz{z{{{||{zzzz{zzz{{{|{z|z{zzzz{z{{z{|{z{|{{{zyzzzz{{{{||z{z{{zzz{z{{z{{{{{{{{{zyz{{z{z|z|{{||{{zz{{{{{|{{|zzz{zzz|{|{{{{{{{{{{z|zzz|{{{||{z{{zzz{{||{{{{|{z{z{z{z{|{{|||{{{{{zz{{|}||{{{|{{{{zz{{{}{zz{||{{zz|z{|{|}||{{{{{|{|{{}{|||{|||z{{{z{{{||||{|||{z{{{{{{|{|||}}|{z{z{{{{{{|||{||}|{{{{|{{|||||||{||{{{{{{{}{||||{{{{{z||z{{|{{{}{z{{{{{|||||||{||||{|{zzz{{{|||||{{z|{z{{{z{{{{{{z{z|z|{{{{||}||{||{|{{||~|}{}|}}{{|{z{z{{z|||||||{||{{{{|{||{{|zz{z{{y{{z||{{{|{{{{{z{z{|{{{||{{{{zz{{z{|z{z{zz{zzz{z{{|{{{{||{{|{z{z{z{{z{{{z{{{{z{zz{{{{{{{|z{zz|y{zz{{{{{{{{{z{zzz{yz{{|{{{|{{z{{zzz{{{|{{{{{{zzzz{{zzz{z{{{z{z{z{zzz{{{{|||{{{|{z{y{{{|{{||zyzzzz{{{z{|{|{|{|{z{{z{{{{{z{{z{{{{|{yzz{{z{{||{z{{{z{z{{|{{}{{{z{{{z{z{|{{|{|||{{z{{{{||||{||{{|{{|{{z{||}{|||{{{|{{z{}|||{{{{|{{|{{|{{|{{||||{{{|{||{||{{}||||{{{{{|{{||||{||{{{{z{|{}{{||{|||{{{z{{z|{{{|||}|{|{{{z{||{{{|||{{zz{|{|{{{|||}|{zz{zzz{z{|||{|{{z|{{z{{{{||{|~||{{z{{{{|||}||||{{{{{{z{|{|{||||{{{{{|{{{{z{{|||{{{z{{{{|||{{{{{zz{zzy{y|{{|{{{|{{zz{{{y|{{z{{{{z{zzzyzz{{|z|{{{z{{zz{z{{{|{{{{{{{zy{z{zz{{|||{{{{z{z{z{{{{{{{{{|z{{{{{y{z{{{{|{{zz{zz{zz{{{|{{|{{zzz{{zz|z{|{||zzz{zzzy{|{{{|{|{z{{{z{{{{{{{{|{{{z|z{{zz{{{||||z{{z{{{z|{{{{||{{{{{{z{{{{|{{{z|{{{|{{{{{{{{z{{{{zz{{zzz|{{{||{{|{{z{{z|{{{||{|{{|{{|z{{{|{|z|{|z{|z{{z||{{|||||{|{z{{z{{}|||{}{|{}z{||{{||{{||||{{|z{{{||||{{||||{{{{{{|||||{{{|z{{{{z|{{{|||||{|{z{{{{z|{{|||{{||{{z{{{|{}{|||{{{{{|{{|{|{z{{{{{{z|z{{{{||{|}}|{{}|{{{||}||||}|{{{{z|{|{{{{{{|{{{zz{{{|z||{{{{zz{{yz{{{{{|||||{{zzzzzz{|{{{{{|{{z{zzzzz{|z{{{{{{{{{{zz{{{zz||{{z{zzzzz|{yz{{{{{zzz{{{z{{{z{|{{{zz{zzzzz{|{{{|zzz{zz{{zz|{{{{{{{{zz{z{z{{{{{||{|{{zzz{z{{z{z|{z{{{zzz{z{{||{{|{|{zz{{z{{|{{{{{{{{{zzzzz|{{{{{{|{{{{z{{|z{{{{||{{|zz{z{zz{|{{|{{z{|z{{z{|||{{{|{|z{{z{{{||{{|||{|{{||zz{{|{||{||{{|{||z{{||}{||{{{z{{{{{||}{|{|{zz{{{{z||{||{}}|{z{{{|||{||{||||{|{{{|{z{||}|{|||{{|z{{{{||||}|||z{{|{{{{z{|}||||{{{{z{|{{|}{|}|||{z{{{zz{{{||}{||z{{z{zz||{{|{{{z{{z{{{{{|{}{|||{||{{{{||||||||||{{{{||||z|{{{}z{{{z{z{|{{{{|z}{|z{{{zzz{{{z{{{{{{{z{{z{|{|{}z{z{{zz{{{z{|{{{{z|{{zz{{zz{{z{|{{{zzz{zzz{{{zz{z|z{{z{z{{{{{z{{{{{{zy{{z{z{{{|{|{{zz{{z{{{{{{{|{{{z{zzzz{{{{{{{{{{{{zz{{{{{{{{{{{{z{z{{{yzzz{z||{{{z{{z|zz{{|{{|||{|z{yz{|z{{{{{{z{zzz{{z|{|{|{|{{z{{zz{{{{|{{{{{{z{{{{{z{{{{{z|{{z{zyz{{{||{z{||{|{zz{{{z{||{|}{{|{{{{{{{|{{{||}{|{{{{z{{}|{{||{{{|{z{{z{{|{{|||z{{{|{|{|||||||||{{{{{{{{{|||{}||{{{{{{||{}}z{|||y|z{{z|{{|{{z|||||{{{{{||{|{{|{{{{{{{{|{|||{||{|{{||{{{{|{{{{{{|{{z{{{z{|{|||}{}|{|zz{{{{|{|||}{{{{{|zz{||{}||||z{{{{{z|{z|{|z{{z{{{{|z{zz{zz|{{zzyzz{y{{{{z|{z{|zz{zz{z{{{z|{{{zz{zz{zz{{|z{{{{z{zz{z{{{z|{{{zzzzz{zz{z{|z{{{zz{{z{zzz{z{z{{z{zz{{z{zzz|{{z{||{yzz|zzzz{{z{{{|zzzz{{zzzz{z{|{{{{{y{z{y{{{{{{|{{z{{{zz{{{|{{z{{z||zyz{|{zz{{{{|{{|z{z{z{z||{|{|z{z{{z{z{|{{|{{|zz{zzz{z{|z{{{|{zz{z{|{{|||z{|{{|{{{{|z{{||{{|{|{{{{|{{{||{|{|||{|z{{{|y{|||||{|{z{z{{z{||{{{|||{{{{{{|{{|{z||{|{z{zz{{|{|{{|}}|{{|{{{{z{|{|{||z{{z{{{{|{||{||||{{z||z{|{|{{{|{|{{{{{{zz{{{{||||{{z{z{{y{|{{|||{{{{y{z{z{{{{{|||z|||z{{{||{|{|||{|z{zz{{z|{||||{{z{{z{{z{zz{{{{{{z{{z{|{|{||{{|{|{z{zz{z{{{|z{|{yzyzzz{z|{{{{{{{{zz{zzzz{{{{z{|{{yzzzz{{{{{{z|z{{{zz{yzy{zz{z{{z{zzz{{z{z{|{z{|{zz{zzzzz{|{zz{{{{zzz{{zz{zzz{{|{z{zy{zzz{z{y{{z|{{z{z{zz{|{{{{{{z{zz{zzz{{{{z{{zz{z{zzzzzz{{z{{|zzz{z{{z{z{{|{{|{{{{z{{{z||{|{{zzz{z{z{z{z|{{{{{zz{{{{{|{{{z{{{|{{{{|{z{{z{|{|{|{z{z{{|{|{{{|}|}|z{{{{{z{|||||||{z{{{z{y||{{||{z{{{zzz{{}|{{||||{{z{{|{{z||||{|{||{{z|z{{{{{|}||||zz{{z{{{|||z||{{{{|{z{{|{|{}|{{{{z|{zzz{{|{||{{{z{zzzz|||{|{|{{{{z{{z{{z|{z{{{{|{{{{{|{||{|{||{{|{zzz{{{{|{}||{{{z{{{z{{{{|{{}{zz{|zzzz||{{{|{{zzzz{{z|{{|z|{{{{{{{{{{z{{zz||{{{{{y{zz{{|{{{|{z{|{z{z{{z{{z|{{zz{{zz{{{|z{z{|{z{{zz{zz{{{z|{{{{{{{z{zzz{{{{|{{{z{z{z{z|z{zz||{{zz{{z{zz{z||||{{yz{{{{zz{{z{{||{zzz{{{{{{{{{z{|zy{{zz{{{{{{|{z{{|{z{zz{{||{||z|{{{zz{{z||z{{|||{{|zz{zz{{|{zz||{{{{{zzz|{}z{||{{{|{z|{|{{||{{|{{{z{z|{|{|z|{|||{{{{z{z{{}|||||{|zz{|z{z||{|||}{{{|y{|{{{|{{||}}||{|z|{{{}{}|{}||zz{{{{{{{}|{||||{{z||{{}|||}||{{{{z{{|{||{|||}|{{|{{{zz||{||{|||z{{{z|{z{{|||{{{{|yzz{z{|{|||||{{||{|{{{{|||||||{|{|z{{{|{{|{{|{{|z{{{{{{|{|}|||{{|{zzz{{|{{|}{{{z{y{z{{{||||{{|{{{z{{z{{zzz|{{{{|{{zz{{||{{||{{|{{zzzz{{|{z{{{{zzz{y{z{{{|{|{z{z|{z{{{{|{{{{{{{z{zz{|zz|{{z{{}{z{z{z{z{|{{{{z|{|{z{zzz{{{{{|{{zz{zz{{zz{{|z|{{{{z{{{{{zz|{{|{{{z{{{z{{|{|{{|}{{{{z{{z{|{{{{{||{z{{{zz{{{||||{|{z{z{{z{||||{z||{z{{{|{{|||{{|{|{{{{{z{z|||||}|{{{|z}{|{|{||{}||{{{z{zz{{{|||{{|{{{|{{{{{||{||||{{{{z}{{{||}{|||}{|{z||{||{{|}||||{{{|{|}{|||||}|{|{{{z{}{{{||||{{{{||{||{||||||z{z{z{zz{{|{{|}||{{{zz{{z{|||{|{{{{{{z{z}{|||{||{|{z||{{|{}|{{}}{||{{{{z{||}|}{||{zzz{{z||{||||z{{y{z{z{{{||z{||{zz{z{{zz{|{{{{{{z|zzzzz{{{{{|{{{{z{zzzzz{{zz{{{{{{zzz{{{{{z{z{{{zzzzzz{z{{{{{|{{zz{z{{z{{{{{{{||zz{z{{z||{z||z{{z{zzzyzz{{{{{{|{{zzy{zz{{{z||{{z{zyz{z{{z{{|{|{{zzz{y{z{{{z{||{|zzzzz{z{{}{{{|{{zz{z{{{{||{|{|{zz{{z{{{z{z|{{{|{zz{zz{z|{{{{{||zz{zz{y{{|{|{z{{|{{{{{{{{|}|}|{|z{|{||{{{||||{{|{|{{{{{{||||{{}z|{{{{{{z||||{{}{|{{{{||{{|||||||{{||{|{|{}||{{|||{{{|z{{{{||||}{{{{{{{||{|z|||||{{{||{z|{{{||{|}z{{{{{|||||z|||{|{|{{{{z{|||{||{{{{{{zz{{||{{|}||{{|{zz{|||||{||z{{{{zz{{{{}z|}|{{{{z{{z{||z|{||{zz{{z{z|{{{{{|{|zzzz{z{{|{{{{{{{zzzz{{z{{{{{{z{{zzz{{zz|{|{{{|{z{{zz{zz{{z{{{{{|z{{z{zzz{{{{{|{zzzzz{zzzz|z{{z{z{z{zz{zz|{|{{{|{z{zzzzzz{zy{|z{{{{z{yz{z{z|{}{{{{zz{{zzz{{|{{{|{zyz{{zz{||{{{||{{{|{zz{{{zz|{||{{{{z{|zzz|{{{||yz{{zzz{z{{{|{|{{{{{z{zz|{{{{|{{z{z{z{zz{|{|{||{{z{{{{{|{{|||{|{{{{z{{|{{{{||{||{|z{z{{{{|||{|||{{z{{{{{{|{|||||z{{|{||{{||||}|||{{z{{{{|||{{||||z||{{|{|||{|}}||{z{z{|{{||{|{|{|{z|{zz{|{{|{||{|{{{|z{|{{{|{||{{{z{{z{{{}{{{z|{{z{z{zzz{{{z|{{|{|z|{{{||}}{{{||{{{{{{zz|{||{|||||zzzz{z{{{{{{|{|{{{zz{z{{{|z{|{|{{{zz{z||{{{{}{{{|{{{{z{{{{{{|{{{z{{{y{|z{{z{z{{{{{{|z{{{|zz{{{{z{{yz{z{z{|{{|z{{zz{z{{{{{||{{{{{{{z{{{{{{{{{{||zz{{yzz{{{z{{z||zz{{{zzz{{z{|{{{z{zz{{y{}z{z{}{{{{zzz{z{{|{{{|{{{z{zz{{|{{{{}{|{{z{z{|{{{||{||{{{{{{zzz{|{|z|{z{z{zz{z{{{|{|{{z{y{{{{{{||{{{{{|{{{{{y{y{||{|||{{|{{{z|{|{{}||}||{{{|{{{{{|{{{|{{zz{|{z{}{|||}||{{{{{{|{||{{}{|||{{z{||{||||||||{z{{{{|{|{{{|||||{{{{|{{{|{|||}|{|{|{z{{|{|||||||{{z{zz|{{{{{{}{{{{{z{{z{|||{{{||{{{{zzzz{{|{|{|{|{{{{y{|{|{{{||{{{{z{zz{|{}}{{||{zy{z{z{{{{{z{|{z{{zzz{z{{zy{{}{{{{yz{z{{{{{|{|{z{z{{{yzz{z{{z{{z{{zzzz{{|{{|{{{z{zz{{y{{{{z|||zzz{zyzzz{{z{{||{z{zzzyz{z{{{z{|z{z{yzzzz{{{{{z{{{zz{{{zz{zyy|{|{{zzzz{xz{zzz{{{zzzz|z{y{||z{{{z{z{zzzzz|{{{{z{{z{zz{zz{{{{{{{{{{zz{{zyzz{{{||{{{{{{{z|{{||{{{{|{{{{{zy|{{{{zz{{zz{z{z{z{{{{{{{{zz|z{{{{|{||{}{|z|z{z{{{{{z|{{}}|{z|{zz{{||{|{||{z{{|{zz||{||{||}|z{{z{z|{{{|||{|z{{zz{z||{|{{{}{{|{{|{{{|||{||{|z{{{{{||{||{{{{{{{z|{zz{{{{|{}}{{{z{z{{zzz|{{{||{{zz{{z{{{|{{|{{z{z{zzz{z{{{{{|{|||{{|||{||{{{{{z{|{{zzz{||||}|{{{zz{{z{{{z|{|{{{{{{{z{{{{{{||z{z|{yz{z|{{|z{||{y{zzz{z|{{z{{z{{z{z{{zz{{{{z{{|zzz{z{z{{z{{{{{|{{z{yzzzz{z{{{{{{zzyyzyzz{|z{{{|{{yzzzzz{{{|{{{{{zzz{{{zz{z{{z{{{zzzzyzzz|zz{|z{zy{y{z{z{z{{z{|{{{zz{{zy|{{zz{{|{z{zyzz{{{{{{|{{z{zyy{zz{{{{|||{zzzz{z{z{{{||{{{{z{{|{{{|{{|{|{{{{{{{{{zz|z{{{{{{{z{|{{{{|||||{{zzy{{{{{{{|}|{||{{{{z{{{{{{{|{||{{{z{z{z||}|{||{{{|{{{|z|{{|{||}||z|{{{{||||{||||{{|{|z{|{{|{{z|{{{{|{{{{{|||{|||{{{{{{{{|{|{|{|{z{zzz{z{{|{{{{|{|z{{{{|{|{{|{|{{{zz{{{{|||{{|{{{{{{|{{{||{{z||}|z{{z{{{|{|{{{{{z{z{z{z{{|{|{|{{{|y|{zz{{{|{{{{||{zzz{{{{|{{{{{{{zzzz|zzz|{|{||z|y{z{z{z{z|{{{{{{{{zz{z{zz{{{{{{z{{zzz{zz|{{z{{{zz{zzzz{{{{zz{z{{z{{zzzz{{z{z{{{|z{{zz{z{zz{{|{|z{{z{z{{z{z{{|{{|z{zz{z{{{z{{{{z{z{z{z{zz{{{{{{{z{{{zyz{{{{{{{{{z|{{{z{z{{{{z{|{{z{{{{{{{{{|{|{||{{y{{{{|{{{z{||z|{{z{{{{{{{|{||{z{{z{z{{{|{||{|{{|{{z{|{{z|{|}|{{{{{zzz{|{|}|}||{z{z{|{||{|||{|{{{{{{|{{|{{||||{{{{{{{{{||{{|{||{{{{{{{|{{|{|}||{{{{{{{||{|||{{|{{{|z{z|||||{{{{{{z{{{z{||{{{}{z{{zz|{z{|{{{{|{|z{{{{|{{{|{||{}|{|{{|z{||||{|{||z{{zz{zz{{{|{||{{{zz{|{|{{||{{{{{zzz{{z{|{z{z|{{{{zz{{y|{||{{{{{z{z{z{z{z{{{{{{zz{z{zzzz{|{{{{{{z|{zzz{{zz{{{{|zz{zzzyz{{z{|{|{zz{zzzz{z{{zz{|{{z{{y{zz{{{{{{|{{{{zzz{z{z{{z|{{{z{z{{z{z{{{|{{{{z{{{z{z{{{{{{z|zz{zzz{{z{z{{|{}z{|{{z{{{{y{{|||{z{{{{{z{{{|z||{z{{{{{zz{|{{{|{{z|{zzz{zz||{{||{{{z{{z{{||{||{{{{{|z|{z{{{||{{||zz{{{||z{{||||||{|z||{z{z|||||{||{{zz{z{||{||{{|{{{{{|{{{||{|||||z{z{|z{z|||{|||||||{{|{{{{|{}||{{{{{{{|{|{{|||}|z{{{{z{||{|||{|}z|{{|zz{{|{{}}{|{{{z{z{|{|||||{{{{{{z{zz{{{|}{{{{|{{z{|z{|{{{||{{{zz{{{{|{{||||{{z{{{z{{||{{{{{{{{{{z{z|{{{z{{{{z{{z{{zz{|{{{{{{zyyzz{{{{z{{|{{{{zz|{y{z{{zz|z{{zzzz{{z{{{{{|||zyzzzz{{{z|{zz{{z{zzzzyzzz{{||{{zzzz{zzz{{{z{||{{zz{zzzzz{{{{{{|{z{zzyzzy{{z{{z{zz{zzz{y{{{{{{|{{{zz{y{|{|{{||{{zz{{z{{{{{{z{z||{{{{{z{z||||z{||{z{{{{zz{{{{{|{|{z{|{{yz|||{{{|{{z{{z{{z||||{{{{{z{z{{z{|{{{{|{|{{{{{{|{|{||||||{z{z{zy{|{{{|{|||z{{zz{{|{|{|||||{{z{{{{{}{|{{{|{{{{{z{{{||||{||{{z|{|{|}{||}}|||{{z|y{zz{|{|{}|{{z|{{{z{{|||}||{z|z{{{z{{|{{||{{z{{{{zz{|{{|{|{{{{zz{|z{{||||||{||z{{{{{||||z||{z{{z{zz{{{{}||||{{{|{{z|{{{||{|{{zzzz{z|||{{{|{{{|z{zzy{{{{{{z|{z{yz{zz{zz{{|||{z{{z{{{{{{zy{{{yy{zz{zz{{z{{{{{{zz{zz{z{{{{{{{{z{z{{zz{{{{{z{{{{{{zzz{zz{{{{{{{z{yz{zzzzz{{{{zy{{zy{yzzzz{{z{|{{{{z{zzz{{|{{{|{z{{zzyz{z{{zz{{{|z{{{zzz{|{{z{{{zz|zzzzz||{{|||{{z{zzzzz{|||{|{{zzz{|z{z|{{{z|{{zz{{zz{||{{{{{{||z{z{{{{||}|{|{|zzz{z{{{{z||{||}|{{{z{{{||||{||}|{{z|{{z{|{{{||{{{{{z|{{|{|}{|||{|z{{||{{|||{||||z|{|{{||{{|{}|{{{{z{{z|{{z{|{}||{{|{{{{|{z||{||zz{z{zz{{{||{{|{{z{{{z{{{|{|{||{|{{zzz|z{||{{{{{{{{{{z{z{||z||{{|{{{zzzz{{|{{{}{{{{y{{{{|{{||{|{{{z{yzz{{{{z{{{zzz|z{zzz{{|{{}{{{z{z{zzyz{|{z{{z{z{zyyzz{{{z{|{{zzz{{{y{{y{{{{z{{zzz{zzyz{{{z{|z{zz{z{z{{{z{{|{|z{{{zzzzzz{z{z|{z{zyzzyz{{{{{{{z{zzz{zy{z{{{zz{{zz{{{{{z{{||}{||{zzz{{zz{{{|{z|{{{zz{z{z{{{{|z{|{{{{zzy{z{{z{{|{z||{z{{zz|{{|{z|{zzzz{z{{{z{{|{{{{z{{{{z{|{{z{{||{zz{{{|{|||||||{z{{{|{{{{|{||||{{z{{{{{||||||{|{{{{{{{|||||{|||{{{{{{{{{|z||||}{|{z{{{{|}|||||}{|{{{|{{||||{|}||z{{{{{{|||||||{{z{{{z{{|{||{||{{|zz{z{z{|||||z|{{|zz{zz|{{{{{{|{{|{zzzzz|{|{|{{{{{{{{{z|{|{{|{}{{{z{zz{{|{|||||{{{{{{|z{{{{{{|zzz{{{zzzz{|{{{{{{zzzzz{zz{{{{||{z{zzz{zz{{z|{{zzz{{{zzzz{z{{z{{{|zyzy{z{{z{}z{|zyzzzzy{z{{{{{{|y{zz{zzx{{{{z{|{{zzz{z{{{{{{|{{}z{{{{zz{yz{z{||{{zyzz{z{{{{z{z|{{zyzzzz{{z{{z|z{|{z{{zzzzz{{{{{{zz{{{zz{|{|{{{{{{{{{z{{z{{{|z{|}z{{|z{zzz{{{{{|{{{{z{z{zz|{}{{{|{{zz{{{|{{|{{{{{{{{{{{z{{|{|{|{||||{z|z{|{{||||{{{z{zz{{{||{|{{||{z|{|z{z|||||{||{{{zz||{zzz|||{}|{{|{{{{||{|{|}||{{|{{{z|{||{}|{|{{{{|z{{{z|||{||{{|z{z|{|{{{{|{|{{{{{|{{|{|{|{||{{|{{{{{|{{{|{{{z{{{zz{z{z|{{{|z{{{{{|z{{|{|{{|{{zz{zzz{{}{|||{||z|{{zz{{{|{|||{{{z{zz{{{{|{{||{{{{z{{z{{{{{{{|{z{z{{zz{{|{{{{{{{zz{zzz{{{z{z{z{{z{zzzz{{z{{{{{{{z{zzzz{{zzz{{{yyzzyzzyz{|{|{{{z{{zzzzz{z|{{{|{{{zz{zzzz{{z{{{{z{zz{zz{z{|{{{{|{{{{zzzz{zz{{z{|z{z{zzz{z{{{{zz{z{y{{y{{{|||{|{{{{{zz{yzz||{z{{|z{zz|zzzz{|{{{|{zz|{{z{z|{||z|{|{{z{{z{z|{||z{{{|z|zz{{{{{||{|||zzz{z{{|{{{{{|||{{{{{{{{{{{|||{|{{||zzz{{}{|||}{|{{{{||{{|{||{{{|{z|{{{|{}{|{||}|{|{z||{{}{{|{||{{{{{|{{||||{{||||{{{{{{||{||{|{|{{z{zz{{||{{|||{|z{z{z{z|{|{{{|{z|{zz|z{||{{{{{z{z{|{{z{}{{{{{{|{z{{{{{{{{|{{{|{z{{{{{{{z{|}{{{|{{{{{zz{{|{zz||{{z{zzzzz{|{{|{{{z|yyzzzz|{{{{|z{zzzzy{z{{|z{{{{{{zzz{z{z{zz{{|{zzy{{{zyz{{{z{{{zz{zzz{{{z|{z||{z{zzzz{y{{z|{{|zz{z{{zzyz{zz{z{|z{{zzz{{z{{{z|{{{z{zzzzzz{{|{|z{{z{{zzz{{{{z{|{|{z{{yz{y{z{{|{{{{{zzzz{{{|{{|{|{{z{z{{zz{{||z{{{{z{z{zzz{{{{{|||zz{{{{z{{{{{{|{|{{{{|zz{{|||{|||z{z{{{|{|{{|{{||{z{zzyz{|{||||{{|{z||z{z{{{{{{||{{{{{{{{{{{{|||{{|{|{||z{{||{{||{||{zz{z{{||z||{{{{{{z{|{|{|||{||{z{{{z{{{|||{|{z{|zz{{{{|{|{{{}|z{zz{{z{{{{z{|{{{|zzzzyzz{zz|{{|{{z{z|z{}{|||||z{{{z{{|{|||{|}|{{{z{zzz{{{{|z|{{zzz{zzzz{{{{{z{{z{zzz{y{{{{z|{{{{zzz{zz{{z{{{|z{zzzzzz{z{{zz{{{z{z{{zyz{zz{z{{{zz{zzzzz{zzz{{|{{{zzzzzzz{{zz||{{z{zz{zy{{||{{{{yzz{yzzy{z|zz{{{{z{{zy{zzz{{zz{z{zzz{zzz{zz|{{{{z{zz{zzz{|{z{{{{{z{{zz{z||{{{|{{{y{{z{zzz|{{{{{{{{{{zzzzz{{{{|z{{y{z{{zz|z|{{{|{|z{{{z{z||{|{{{{{zzz{{{{{{{|{||{{z{{{z{z{z|{z{||{{{|z{zz|||||{|{|z{{{{zz|}{|{{}}|{{z{{{z{{z|z{||{z{z{{{{{|{{|{||z{{|{{{{{{{{|{|||z{{{zz|{|{|{|}{|{zz{{{{|{{{|||}{|zzz{{{{|{{{|||{{{z|zz{z|{{{{{|{{{zzz{z{|{zz{{{{{z{{zzz{{|{{|||zz{{{z{{{z||||{|{{z{{zzz{z{{z{{|zzzz{{zzz{{{{{||{zzzy{zz{z{z|{{{z{{{zz{z{z{{z{{|{zzzz{yzz{zz{{z{zz{zz{zzz{{{{z{{zzzzyyz{z{{{zz{{{z{{zzzyzz{{{{{|{{{{zzyzy{{{{z{z{zz{{zzz{zz{z{{z{z|zzzzz{zz{{{z{zz{z{zzz{|{{y{{z{zzz{zzz{{z{{||{{z{zzy{z{{{zz{{|zz{{{{zy{z|z|z|zzzz{{y{z|{{z{{z{zz{zzzz{{{{zz{{{{{z{zz{{{{|z{{{|{z{{{{{{{||||}|{{zzz{z{z{|{|{||{|{{{yz{{{||{|||{{zzz{{{z|{z{|{||{{{{z{|{{{{{|{|||z{{{||{{}|}|{{{|{{{{z{{||{{{|||{{z|{{{|{{{|||||{{{|{{{|{||||{||{{{z{z{z{{|{{{{z{z{||{z|{{|}{{{{{z{z{z{{{{|{{z{||{{|{{zz{|{||||}{|{{z{|{|{{{{{}{|{{{{{{z{{{{||}|zz{z{{|{{{z{{|{{{{zzz{{z{{{z{{{|z{{zz{{{{{z{{{{z{{zzzzzz{|{{z|{{{z{zz{zz|{z{{|{{{z{{z{{{zz{{{{{{z{zzz{{{{{{{{{||z{z{zzy{z{{{z{{{z{zz{zzz{{{z{zz{{z{y{zzzz|{{{{|{zzzz{{{z{z{|{|{|zzzzz{zz{{zz{{{{{zzzzz{{z{{{{|{|zz{zzz{{{|z{z{{{{{{{zzz{{|||{|||{{{{{z{{z{|{|{|{{{{{{{{{||{{{}{|{z{{|{yz{|}|}{{|{|z{{{|{|||{|}|{{{{{{{{{||||||||{zz{{{{{||||||||{z{{{{{|{|{|{}}|||{{z{{{||||||||{{|||z|{{{|{{{||{zz{{{||||||{|{}|{z{{{{{|}{}||||{zz{{{z{{|||{|||{{{{{z{|{{|{{{z{zz{{|z{{|{|{z|{|zzzz{y{zz{|{{{||{zz{{{{z|{|z{z{{|{{zz{|z{{{{{{{{{z{z{z{zz{{zzz{{zz{{zzzy{{|{||z|zz{zzz{z{{{{z|{z{{z{zz{zz{|{zz{{z{{z{zy{{z{{z{{{{yzz{{zy{{{{{{{{{z{{zzzz{z|{{{{{{zzzyyzz{z{{|{{|zyzz{z{{zz{{z{{|zzzzzzzzz{z|{||{{{zzzzzz{{{{{|{{zzzz{z{z{z{{{{|{z{{{zy{{zz|{{|{|zz{{yzz{{{{{|{||zz{{zy{zzz{{{|z{{z{{zz{z{{{{z{|{zz{{z{{{{{{{{{{|zzzz{{{z{{|||{{|z{{{{{|z{{{{||{|{zz{zzzy{{|{{{{{{{z{zy{z{|{{||{|{z{z||{z{|{z|}|||{{{{{{{||{{{{|||{{zz{{{|||||{|{{z|{{{z{{{{||||{{{z{{{{z{|{{{|{{zz{zz{zz{|{{|||z{{{zzzzz|{{|{{{{{|zy{z{z{|{z{{{{{{zzz{{z|{}{|{|{z{zzzz{z|{|{{{||{{zzz{zz{zz{|||{{zzzyzz{z|{{{z||{y{yzzzz|{{z{z||{zzzz{{zz{{{z{{{zzzz{z{z{zz{z{|{zzz{{yzz|{{z{z|{zz{zz{zyz{{z{z|{yz{zyzz{{{|{{{{{zz{zy{zzz{{|{z||z{zzzyz{{{{z{{{|z{yzzzzzz{{{{z{{z{{{yzzz{{{{{||{zzzzzzy{zz{z|{z{yz{{zzzz{{{z{z|{{{{zz{zz{{{{{{{{{z{z{{{{|{||||z{{{|zzzzzz{{{{{||{{{{{zzz{{{{z{|{{z{z{{z{{||}{|{{z{{zzz{|{{{||{{{{{z{{{{z|{z{|||{|{z{|{{{|{}{z|||{{{{z{{{|||||}{|{{{z|{{{|}{|||||{{z|{{|{|{{{{||{{z{z{z||{|||{|{|{{|{{{zz{z{{||||{{{zz{{{||{{{|||{{{{{|zz{|{|{{{{|{z{{{{zz||{{{}|z{{{{z|z{{{{{||||{z{{{{{{|{|{||{{{{{z{{zz{{{{|{|z{zz{{zz{{|{{z{|{{y{yz{y{{{{{|||zz{z{z{zz{|{|||{|{zzzz{z{z{{{{{z{{|zz{{z{{{{{{{{zzzzzzzz{{{{{||zzz|zzz{{zz{{{{{{{{zzz{zz||{{{{||{{{{{zzz{{z{|{{|{|{{zzzz{{z{{{z{{z{zz{{{{{{{{z|z|z{{{z{|z{{z|{{|{z|zzz{{zz|z|{{|{{{zzzz|{{|{{||{{y{zzz{z{|{{||{|{zzzzzz{}||{|{|{|{z{z{{z||{{{|{{{|{{{z{{||{}{||z{{{z{z{|{|{|{|||{|{{z{{{{|||{|{{{z{{{{|{|||}{{|||{|{{{{{|}||||{{|{z||{{{||{||{|||{{|{{{{{|{|{{|||{{{{{z|{|{{|||}|{z{|{{{|||{|}|{{{{{{|{{{{{{{||{|||{{{{{{{{{{|{|{{|{{z{|{{||{{z|{|z{{z{{z|{{{{||{{{{{zz{{{{|{{|{{zzz{z{z{{|{|||{{z{{{zzzz{|{{z{|{zzzz{zzz{|{|{|||{{z{zzz{z{{{{|{{z{{z{z{{{{zz{{{z{{zzzz{{zz{{|{{yz{z{{{z{|{|{{|{zzzzz{yz{z{{{||{{{z{{{{{zz{z{{{{{yz{zyxz|{z{z|{{{|{zzzzz{z{{{||{|zzz{{zy||{{{{z{{z{zzzzz{|{{{{||zzz{{z{{zz|{{|{|{z{{{{{z{|||{z{|z{zz{z{z{|{|||||zz{z{{zz||{{{{||zz{{{{{||{{{{||{|{z{z{{{{|{||{|z{{{{|{{{{{||{{||{{{{zzz|||||{}{{{zz{z|z{|{{{|||||{{||{{{{||||{{||y|{|{||{}{||{{|{z{{{{z||}}{|||}|{{{{z{{|{{||{{||{{{{{z|{z{{{||{{{|z{{{z|{|{{{}|{z{|{{{{|}{{{|||{z{{{{z{{|||||{}{yz{|{{z{||{|z{{z{{{{z{||{|||{|}{{z{zz{{{{{{|{|{{zzzzz{z|{{|z{||{z{{zzzz{{{{{|{|{yzz{|{y{z{{{|{{}zz{{zzz{{{z{|{{zy{zy{z{{z{{{|{{zzzy{z{z{{y{zz||{zzzzzyyz{{{{z{{{z{{zzzzz{{{{{{{y{zy{yzzy{{z||{{{|zz{zzz{{z{z|{{yzzzzzz{{{{{{{{{{{zz{yzz|{{{{{{|{{zzzzzz{{{|z{||{{{zyzzz{{z|{{{|z{z{zyzz{{{{{|{{{z{{y|zz{z{{{{|{{{{{{{z{{|{{z||{{{{z{{zz{|{{|{|{{z{}{z{{||z{{|||{{{{{z{{|{|{{{|{{z{{|{{{||{{{{||{{{{z{{z||{{{||{{{|{z{{|{|||{}{||{{z{{{{|{{|{{||{{{{{{z{|||||{{|{{{{z|{|{{{{{{||{z|z{zzzz|{|{|||{{zz{{z{{|{z{|{{{z{zyz{y||{{z{z|{zz{{{z{{{}|{|||{{{{{{zz{|{{{|{|{{|zz{{{{{z{{{|{{{z{{zzz{{{|z{{{{zzzzz|z|{{{{|||z{{z{z{z{|zzz{|zzz{{{{zzy{{{{|{z|zz{z{z{{{z{z|{{zzzzz{{{{{{{{{{{{z|z{zzzz{{|{|{{zz{{{{z{{{{{z{|{{zzz{z{{z{|{{z{{z{zyzyzzzz{{{{|{{{{zzzyz{{zz{{{z|zzzz{{{{{{|{{{{{z{z{zz{{z{{{{|{|{{yy{{{|{{{{|{{{z{{{z{{{{{||{z{zyzz{{zz{z{z{{|{{{{{{z{{{|{{|{{|{{{z{|z{|{{{|{||{{zz{zzz{{|||{}{{{|{{{{zz|||{|}|{{z{{|{{|||{{||||||z{{{{{{z||}|{}{|z{{{|{}{|{{||}z{{{{{z{{{|{|{{|{{{z{z{{|}||{{|{{{|{{{||{{{||}|{|zz{|{||{||}||||{{{zz{z{|z{{||||z|{zz{z}||z{{{||{{{{{{zz{||{{||{{z{zyz{{{{{|{{|{z{|{zzz{|{z{{{{{{zzzzzzz{{{z{||{{yzzzzy{{{{{z{{zzzz{zzz{{{{{{zz{zz{zzzzz{|{z{|{z{yz{zzzz{zzz{z{{{zz{zzz{{{zz{|z{{zzzzz{{{{{{{{{{{{zz{zyz{z{{||{zz{zzz|yy{{yz{z|z{zy{z{yz{z{{|{{yz{zz{zz{{{z{{|{{yzzz{zzz{z|z{zz{z{zzz{{{z{|{|{{{z{zz{z{{{{{|{{|zzz{{zz{{{z|{|}|{z{z|zy{zz|{{|{{z{{{z{{|{||{|{|{{{{{{{{z||{{{{{|y|{{{{{{{z{|||||z{{|{zz{|{||||}||z{{{|zz|{|||{|{|z{{z{|{{{|{||{|{{{{{|||{}|||||||||{{z|{{|{|{}|{{{|z{{z{|{{{|{|{|{{{{{z||{|||{|{z|{{{{{z{|z{||||{|{{z{zz{{{}|{|{{{z{{z{{{|{|{|{{{{{zz{zyz|z{{{||z{{z{{{z{{{{z|{|{z{{z{zz{|{{{{|{{z{{{zz{z{{{{{zz{{zzz{{z{{|{{zz|z{zzzz{zy{y|{{{{|zz{zzz{{{z{z{{z{zzyz{z{{zz{{z{{zyzz{z{zzzzzy{{zzzz{zzzz{{{z{z{z{z{{zzyzz{{z{|{|{{zzzy{yzzz{z{{{zzzzzzzzz{z|z{zz{z{{{{zz{zz{{z{|z{{zzzyzz{{z{||{|zz{zz{z|z{{{{||zz{zzy{z{{z{y||{{zzz{zzz{{{|{{{{zz{zz{{y{{|{{{{{{zz|{zz{{{|{{{|{{z{z{{zz{{{||{|{{{{{{{{z{{{{{{||{z{{{{z{{||{{{|{{{z{zz{{{|||{{{|{z{z{||{{|{||||{{zz{{{|{{|{|{||{{z{z{z{{{{|{|{|{{|z{{z{|{{|{{{||{{z|{{zz|||||{{}|{zz{{z{{|{{{{{||z{zz{{z{|{z{{{{{{{z{|{zz|{|{||{z|z{{zzz{{|{{|{|z{{zzzz{{{{{z{{}z{zy{z{z|z||z{{||yzzzzz{z{{{{{|{zzzz{zzzz||{|{{|zz{zz{{zz{{{{|{{{{zzz{z{z{{|z|{{zyzzz{z{{zzz{{z|{{zzzzzzz{{z|{{zzzzzz{{{{{{{{{{{{{z{yz{z{{{|{{||z{{z{zzzxz{{{{|zzzzy{z{zz{{{{{{|zzzz{z{z{{{z|{}{{zzzzz{z{{{{{|||{z{|zz{z|{{{{{{|{{{zzzzz{{{{{|{{z{{zzz{z{||z{|{|{z{z{{|{{||{{||z{{{z{{zz{{|{|{{{{{zz{{z{z{|{|||{z{{{{{{{|{{{{|}{{{{zz{{{{||||{|{|z{z{{{||{||{{}|||z{{{||{||||||}{zz{z{{|{}|||{||{{{{{{{{||{{||{|{{{{{zz|||{{{||||{{z|{{{|||{|{||z{zzz|zz{{{|{|{||{zz{{{{||{{{{||z{{yzzy{{{{|{{{{||z{{{{z{{z{||{|{zz{z{z{|{z{{{|||z|yzz{{{{{{|{|{{z{{{zz{{{{{{{||{zz{{zzz{|z|{{{{{z{z|z{z{{{{{{{|{y{y{zy{{{{z{z{{{zy{z{y{z{{{{{zzz{zzzz{z{{{{{|z{zzz{zzzzz{{z|{{{|{{zzzzz{{|{{{{|zzzz{zz{{{z{|{{||{zzzzzz{z{z{z{}{zz{zzz{{{{{{{||{{zzzzz{y|z{z{{{z{zz{y{zzz{{z|z{{zz{y{{{z{{{{{{{zz{{{z{z{||{{{{{{{{{{z{z{||{{{|{{zzz{{yz{|{{{||{{z{{{zz{{{{{|{|||{zz{|z{|{{||{||{z{|{{{{{|{|{||||z{{{|{{||{{||{{{z{{|{{|{|{||}{}|{|{z{{{z}|{|||||{{{zz{z||{|{||||z{zzz{{|{z{{{}||{{{{{{z{{|{|{{||{{z{y{{{||{{||{{{{{{z{z{z{zz||{zz{{zy{zy{{|{|||{z{{zz{z{{|z{{|||{{{{{{{{{|{|}{||{zz{z{z{||{{|}|z{y{{z{{{{|{{z{|{{zzz{zz{{{{{|{{zz{zzy{zz{{{z{||zz{{{zzz{{z{z{z{{zzzyzz{{z{||z{{zzzz{z{{z||z{{{{{{zz{zyz{{{{|{|{{{{{z{zzz{{|z{{{{zzzzz{zz{|{z{zzzz{zzz{{{{{{{|z|zz{yz{zzzz{{{{{{{{z{zzz{z{{z{{{|z{{{{{z{z{z{{{{|{z{z{{zz{{{{z||{z{z{{zzz{|{{{|{{{z{{zz{{z||{{|||{z{{zzz{{{{{{|{|{{{{|z{|{{{|{{|{zz{{{{{{{{{||||{{{{{|z{{||{}|||||z{z{|{{||{{||||{{z{z{{{{||}|||||{{z{|{{z||||||||{{{{{|{{||||{{{{z{z|{{{||{{|||||{z{{z{{||{|{|{||{z{{|{z{{{|{||}{{{{{z{{{{|{{{||{zzz{z{z{{}{{|||{|zz{{zy{{{{z|{|{z{{zz{{{{{{{{|{|z{{{{zz{|z{|{}|{{|{zzzz|z{|z{|{{|{zzz{z{{{|z|{|{zz{{z{yzz{zzz{zz||z{zz{{{{{z{{z|{zzz{yz{{zz{{{{{{zzyzzzz{{{{{z{{{{zyyyz{zzz{{|{zzz{zz{yz||{{{|{{zzz{zzy{{{zzz{{zz{z{zzz{zz|z{{{zz{z{{zz{{z{{{|{{{{{{zzz{z{{{|{|zyzzzzzzz|{z|{||{{{yz{zz{{{{z{{{{z{{zzzz{|{{{{{{{{zzzzzz{{||{{{{|{{{|{{{{{|{{|{{{|z{z{{{{|{{||||{{{{|z||{{{|{|{}|{{z{{zz|{||{{||{z{z{{{{{{{{|||{{||{{|{|{|}|}{||{z{|{{{{z||||{||{{|||z{|{||||||{{{{z|{{|{{z{|{|||{{{{{||{{||}}{|{|{z{{z{{|{{{{{|{{z{z{{z{{{{{|||{{{z{zz|z{|||||{{zz{z{zzz{||{{|{{{z{|zyz{zz{{z{{{zzzyzzz{{{z||{|{{{zzzzz{||{{z{|{{zz{{zz{|{{{|{{{z{{zzyy{{{{z{{{{{zzzzzzzzz{z|{{zz{{zzzz{z{z{|{{z{zyyzzz{{{z{z|{{zzz{zzz{z{z|{zz{zzzzzzz{{z{{{{{{zzy{zzz{{z{z{{{{zzz{zz{{z{{{z|{zzzzzz{y{{{{{z|{{{zzyzz{z{{{{{{|z{z{z{{{{{z{{{||{{zzzzz{z{|zz{|{{z{{{z{{|{|{{{{{{{{{{zzz{{|{||}{{z{{{{{{{|{z{{{z|zz{zz|z{{|||}|{{{{{{z{{{{{|{{{|{{{z{{z{{|{{|{|{{{|{yz|{{{{{|{||{{zz{|{|{||{||{||{{{z|{{||||{||}{z{{z{{{|||{|||{{{|{{z{{{z||{||}{{zz{{{{{|{{||{|{{z{{{zz|{|z{|z{{{z|{y{z{|{{{{||z{zz{{{y{{{{{{{|{zzzy{{{{{||{z{|zz{zz{{{{{||{|||{{zz|zzzz{zz{||{{zzzz{{zz{|{{z{}{{zyzzzz{{{zz{{|{zzzzz{zzz{||{{{{{{zyzyzz{{{z{{{{{zz{{zzz{{{z{{{{{{zzzyz{{{{{{{{zyzzyzzyz{{{|z{{{z{z{zzzz{z{{{||{z{z{z{zz{{z{{zz{zzzzyzzzzz{{{|{{zzzzzzy{{z{{{|{{z{zz{{{z{z{zz{{zz{zz{{z{{z{{{{|{{|{{zz{{{{{z{{z{zzzzyzzz{{{z|{{zz|zzzz{z||{z{{{{{{z{zz{{{{{{{|{{{{z{zz{{|||||{|z{{zzz|{|{{|||{|{z{z{z{{|{|{|||}|{{z{|{z{|{||{{|z{z{{|{|{{{{||||{{{{z||z{|||{}{|||{|z{{z{{||||||{{{{{{{{{{||{{||{{{{{{{||{{||{{}{{{{{{z{{|{{{{||{{zzz{{{z|{{|{z{{z{z{{z{{z{{|{|{{{{z{{z{z||{zz{||{z{|z{{zzz{{|||{{{{{zz{{z{{{|||{|y{z{zz{{{{zy{{{zzzyz{z{{|{|{z{{z{{zz{z{{{{{|{{zzzzy{zyzz{z{{{z{{zz{zyz{|{{z{{{{z{zzzzzz{|{z{{z{zzzzzzz{{{{{|{{{z{{z{yzz{{|z||{{zzzyzzzz{zz{{|zzz{{{yzyz{{{z{z{{zzzz{z{{{{{{z||{zzz{z{zz{z{{|{||{zzzyzzz{zz{{z|zzz{zzz{{{||{}{|z{{zzz{zz{{|{|{{{z{z|zz{{{{z{{{{{z{{{z{{{|{{{{{|{z{z{z{z||||||{{{|{{{{{z{{{|{}{}{{z{zzzz{||||||z|zz{|{zz|}{{{|}z|{{{z{|{{|}z||{||{{|{{|z{}{||}}|{{{|{{{{||~||{||{{{{|{{{{|{||{|||{{{{zzz|{|{|{{|{z|z{{{zz|||{|||z{z{{{{zz{{}{{{{{z{z{zzzz|{{z{{|{z{{|{{zzz{{{z{|{{{{{z{zz{{{z||{zz{zzz{z{|{{{{{|{{{{{zyzz{|{zz|{zz{zzzzz{{{{{{{|{zz{zz{z{z{{z|{{|{zzzzz{{{{{z{||z{z{zzzy{z{zz{{{zzzzzzzz{{{zz|{z{z{z{zy{{zzz{{z{z{{z{{zzz{z{{{{{{{zz{zzzz{{z{zz{z{{z{{z{z{{{z{{{zz{zzzzzz{{z{|z|{zz{{zzz{{{{{z{{zzzz{zzz{{{{{||{zz{z{{z{z|{{{{|{{{{zzzzz{|{|{{{{{z{zzzzzz||{||{{zz{{{{zz{|{{z{z||z{{{{{{|{|{{z|{{|{z{|{{||{{}|||z{{{{{z{{||||{|||{{{{zz{||{{||}{{z|{z|||{|{|{||||{{{{|{{z{{|||||{||z{{{{{{|{||{{{{{{{{{{{|{{|||||{{{{z{|{|||||{||{{{{z{zz}|}z||{{{{z{{zzz{||{{||{z|z{zzz|{|{{{{|{z{zz{zz{{||{{{||{zzzzzz|{{{{{||}zzzz{zz{{|z{z{{{z{zzz{zzz{z{z{{z{yz{zzy{{{{{|{|{{{zzzzz{z{{{{|{{{{zzzzy{{{zz|{z{z{z{{{z{{z{{{||{z{zzz{zz{{{{{{zy{zzzzyz{{{z{{{z{z{zzzzz{z{|z{z{{yyzzz{zzzzzyzzzzzzyzzzyz{{{z{|z{zz{zzzzz{{z{|{|{z{zzz{y{{z{{z||zzzzzz{{z{|{{{{|{z{{zzz{{{{{{{|{{y{{zz{zz{{{{{{{{{{z{{yz|{{{{{|{{zy{z{{zz{{{{{{|{{|z{|zzz|z{||{|z{zzzz{z||{{|||||y{{{{{{{{{|||{{|{{{z{z{z{{{||||{|zz{{|{{{||}||||{|{z|{|{|z|||||{{||z{{{|{{}|||||z|{zz{{{|{|||||{z||{{{|{{{{{|z{{{{zzz{{{{{{{{|||zz|zyzz{{{{{||{z{{z{zzz{{{{{{{{{{{zz{{z{{|{{{{{}z{zzzy{{z|{}{|{{{zzzz{z{{{{}{||{|{{zzzz{{{{z||{{{zyzz{zz|||{{{{|zzzzzzzz{{{{||z{z{zzyyzz{z{{{zz{{{zyzzz{{z{{|{{zzyzzzzzz{{{z{|{zz{zyzyzz{{z{{{{z{zz{zzz{{zz{{{|zzz{yz{zz{{zzy{z{yzyyzzzyzzz{{{|zzzzzzzy{{z{{{{{{zzz{zzzz{|{{{{zzz{zzzz{zz{{|{{{{zzz{yzz{z{|yz{|{{{{{zzzz{|{z{|z{zzzzzzzz{{{{{{{{{{{zz{{{{z{|{||{{z{{{{z{z{{||{{zzzz{{{{|{{{{|{|{z|{{{{z{{z{{{zz|{{{{{{{|||{{||{{z{{{{|{z|||{{{|{{{{z{{{{||{{||||z{|{{{{}{||||||{{{zz{z{{{{|{||}|{{{{{{|{|{{z{{|{{|z{{zz|{|{{|{{{z{{zz{z{{||{|{{{{z{zzz{{{|{{{{{{{{{zzzz{|||zz{|{{z{{zzzz{{z{|||z|zzz{{zz{|z{z{{{{{z{{z{z{{|zzz|zz{{zzzzz{z|{|{|zz|z{zzzz|{{{{|{{z{zyzzz{z{{z{{|z|zzz{zzz{zzz|{{zz{zz{zz{{{{z|{{zz{zzzzz{{{y{{{{zz{zzzzz{{{{{{||zyzzzzzzz{{z|{{zzz{yzzzz{||{z{zyzy{zzz{z{{{{{z|{{{z{{z{{z{{{z{|{{yz{zzzyz|{{{{{{y{zyzz{z{{|{{||{{{zzzz{z{{{|{|{{{z{zzzzz|z{{{{|{{zzzz{z||{{{{{{{{{{z{{{{zzz||{{{{{{{z{{||{{{{|||{{z{zzzz|{{}|{||{z{{{{{{{|z||{||{zzz{{{||{|{{|{|{{|{||z{{|{|{}}||zz|{z{{||{}{{||{z{|z{{{{||{{}|}||zz{{z{|{{||||{z{{z{z{{||{{{{{{{{{z{z|z{||{{||{z{{zzyz{|{|||{{zz{{|zyzz{{{{{{{{{{{{{|{z{{{{z{||{z{z{{zz||z{||{z|z|zz{{{{{{{{{{{|{{yzzzz|{{{{|||{zz{{{{zz{z{z{{z{zzz{yz{{{{zz{z{{{{zzzz{|{z{{|z{zz{{zz{{{{|z|||{zzzzzz{zzz{{z{|{{zyzz{z{z{yzz|{z{z{{z{zz{{zz{{{|{zzzz{zz{zz{{{{{{zz{z{zzz{{{{{{{{{zz{zzzz{{z{z|||z{{z{zz{||{{|||{{z{zz{z{{|{{|{{z{{{|z{zz{{||{{|{{|{z{{|{{{|{{{{{z{z{z{z||{{{|{{|{{{{z{{{z|||{|||{{z{z|{z|||{{||{{{{{z{z||{{|{{{{{{z{z{{|}{|||||{z{{{|{{|||||||||z{z{{{{|}{{||{|{{|{{{{{}||{{||{{z{|{{z{||||{|||{|z{z|z{|{|{{}|||z{z{{{{{||||{{|{{{z{{{z{|z{z{|{{{{zz{{{{{||z|{{y{{{{zzz{|||{{||{{z{{zz{{{z||{{z{{z{z{{zz{{{{{{{{{|{{zz{z{z{{{{{{z|{z{zz{{||{{{|{zzz{zzz|{|z|{|z{{{{{zyz{{z{{{{{zzzzz{z{{z{z{|{zzzzy{zzy{{{|{{{{z{y{zzz{zz|{{|{{{z{zy{zyz{zz{{{{zzzzzz{zzz{{z{{{zzz{zz{{z{{{{|{{{z{zzzzz{{z{{{||z{{{zzzzz{{z|z{|{{{{z{{z{{zzz|{{zz{zzz{{{{{{|||||z{{{z{z|z{{{|{|{z|z{{z{{{{{|{|{z{z{{{{z{{|{{{{{z{{{z{zz{{{||||{z{z{z{{{{||||{|{{{z|{{{{{{|||z{||{{{{{{{||||{||||{{{z{|{||{|}||||{zz{{{{{|{{|{{{|{{||{z|{{|||}{{|{{z{z{||||||||||{{{{{{{{|{{}|||{{{{zz{{{{{{{|||{|{{{{z{|{{{{z{|{{zz{z{z{{{{||zz{z{{zz{z{|{{|{||z{{zzz{z{{|z{{{|{z{yzz{z{{{zzz{{{yz{z{|y{{|{z{{{||{zz{z{|{{{z{{|{zz{{z{z{{|zz{{{{zzzzzzz{z{{{{z{z{{{zz{{z{{{z{||zzzy|y{z{z{{{{{z{zz{{zz{zz{{{{{z{{{{z{zz{{{{|{{{zzzz{z{z{|z{z{{{{z{zzzzzz{{z{|{|{zzz{{zz{{{{zz{{z{{zzz{zz{{{{z{{zz{zzz{z{{z{{zz{{zzzzz{{{z{{{{||z{z{{{zz{{{{{{|{{z{z{{{z{{z{{||{{{z{{z{{{|{{{{||{zz{{{{{||{{}||{z{{{zz{|{{{|{|}{z{{{{{{{{{{|{{{|{z{{{{|{|||z||{||{||||{|{{||||{||{{z{z{{{||{{||{{{{{|{z{{{||{}{|{z{{{{z{|{{{||}||{{{{{{{{|{{{{|}{{{z{zz{{{|{|}|{{{z{{z{z{|{{{{{|z{|zz{zzzz|{{|z{z{zz{zzz||{z{{{{z{zzyzzy|{{z{z{}{{{y{{{z{{{{||||z{z{z{z{{z|{{{{{{{{zzzzz{{{|||{{{{yz{zzz{{{zz{{{{z{zzyyzzz{{{{z{z{zzzzzz{{z{z{{{zzzzzzzyz{z{{{|{zzyzzzyzzzzy|{{{zzzzzzzzz{{zz|{{zzzz{zzy{{zzz{{zzzzzzyzzz{z{z{{{zz{zz{{y{{zz|{|{zz{zzyzz{zz{zz{{yz{zzzyz{{|zz{{{{|zzy{zz{|z||{{{{{{zzz{z|{|{{|{z{{{{zz{z{|{{}{|z{z|{{{|z{{{|{{|{{{{z{{zz|{|{||{{z{|z{{{{{|||||{|{zzzz{zzz||{|||{{zzz{{{{|{{|||||{z{{z{{zz||{|||{{{y{{{z||}||z{}|{{|{z{{{|{{|{|{{{zzz{|{z|z|{{{|{|{{{{{{z|{|{|||||{{{{zz{z|{{|{||{z{{z{zz{|{{{{z{z{z{|zzz|{{z{{z{{|z{zzzyz|{z{z{|{{{z{zzz{|z|{{{|zzzzz{zz{{{{|z{{{{{{yz{{{{{{z|{{z{{zz{z{z{{zz{{|{zzyz{zyz{{zz||{{z{zzzyzzz{{{z{{{z{z{{z{{{{|{|{{zz{zzy{z{{zzz{{zzzzyy{z{z{{{{{|{z{{yzzzzz{{|zz{{{z{zzz{y{zz{z{{{{z{z{zzz{{zzz{zz{zzyzzyy{{zz{{{{zzzzzzz{{{{|{|z|zzzzzz{z{{{z{||{zz{zz{zz{{z{z{{|zz{|yzzz{{{{z{{|zz{zzz{z{|{|{{|zzzzzzzzz{{z{z{|{{zz{{zzz|{{|z|z{{{{z{z{{{{{|{{||{z{z{zzzz{{{|{|{{z{{{{z{{|{||{|z|{{{{{|{z{{{||||{{{{z{|zz}||{{|}|z{{z{z{{|{|||||{zzzz{z{{{{{{{}{|{zz{zz{|z{{{|{|{zz{zzz{{{{{{||||{z{z{z{|{|{z|{{{{{z{y{z||{{|z{{{{|{z{{zz|||{{||{{z{{zzz{z|{{|{{{{z{z|zz{{{zz{|z{{{{zzzz{|{{{z{|z{zyzzzz{{{{{|{|z{{zz{{zz{{{{||{{{zz{{zy{z{zz{zz{zzz{zz{{{yzz{{|{{zy{zzzz||zzz{|zzyzzzzzzzzz|{{|{{|zyz{zz{zz{{{{{{zzzyzz{{z{{{}z{{zzzyz{z{z{{|{{{z{z{zzzzz{{{z{{{zzz{{zzz{{{z{{{zz{zyz{z{{z{|{{{z{zzzz{{{{{{{{{{{{{{{{{{{{{{{||{{{zz{{z{|{|{{{{{{z{{z{y{{{{|{{{|{zzz{z{{z{{||||{{{{z{z{z{||{{{||{|{{z{{zz{{{||}|{z{{{z|z|{{|||{|{{{|{{{{{{|{|}||{|{zzz||{}||}||||{{z{{|{|||{||{|{|{{{z{{{|z||{||||{{{{z{{{|{||||z{{{{zzz||||{||{|{z|z{{{{}{{|{{z{z{zz{{z{{{z{z{{zz{{zzyzz{{{{{{{zzzz{zzyz{{z{z{{{{y{z{zz{{|{{{{{{zzzz{z{{{{{zzzz{{{zyzzz{{{|{{z{z{{{zzzzz{|{{{|{{zy{yzzz{{{|{{z{zzzzzzzz{{{z{{{{zzzzz{zz{{{z{{{{{zzzzzzz{{{z{zz{zzzzyxzyzz{{z{z|zz{{zzzyy{zyz{{{{zz{zyzzz{z{{z{{{{z{zzzy{z{z{z{{{zzzzzyz{{{{{{{|zzz{zz{z{z{{z|{{zzzzz{zz{||zz{{|yy{{{zzz{{{z|{{|zzzzzzz{z{|{{|||z{z{{zz{{|{{{{{{z{{zzz{z{{|z{{{|z{z{{z{||{{{{{{|z{{{{zz{|}||{z{|{{{{{{{{{|{{{||{{y{zz{{y{{|{|{|||{|{{{z{{||{{|{|{{{{{{{{||||||{|z{{z{zzz{{|||}|{|{{{z{{{{{||{{|{{{zzzzyyz|{|{{|{z{z{z{z{{|{|{{|{zz|zz{{z{{{z{{{{z{z{zzzz{||z{z{{zz{{y{{yz{{{{{||{{{{zzz{{{{z|{||zzzzzzz{{{{|{{{{{zyzzzzz{{{{{{{{{{{z{{zzz{{z{{|{zzzzzzzz{z{{{|{{z{{z{{zzz{y{z{{{zzyy{yzz{{{{{{{zzzzzzzyz{{{{z{{{zzyzz{zz{{z{{{{{zzzzzxyy{{{zz{{zzyzzyyzz{z{|z{y{z{zzzzyzz{z{{|{{{zzz{{zz{{|zy|{{z{{{zzz{{zzzzz{{{zzzzz{zz{z{{{{|z{{{{yz{z{{{{{z{zz{{zzz{{{{{{{{|{zzzzz|{{{{{{{{{{zz{zz{{{z||||||zz{|{z{{{{{{z{||{{z{zz{y||z|{|}|{{{{{{{z{|||{|||zzzz{{z{{{|{{||}|{{{|{z{{||{{{|{{{{zzz{{{{||{{{||z{{zzzz{{{||||{{{{{{{{{{z||||{{{{|{{{y{{{{|||{{{{{zzzzy{|{|{|{{z{zzzz{z{z||{{{{{zz{zz{{y{z{{{|{zz{zzzzyz{{z{{||{zzzzy{{{{z{{{|z{zzyzyz{{{{{{{||z{zzzz{{{{{zz{{{{zz{{zzz{{zzz||{zzzz{zyz{{|zy|{z{y{zzzzzzzz{{{|{z{{zz{zzz{{zz{{zzzzzxzzyzz{z{{{|yzz{zzz{{{z{{{z{zz{zzyzzz{zzz{zz{zz{zy{zz{z{{|zzzzzz{{zz{z{z{{{zzz{zzzy{zz|zzz|zzzzz{xzz{z{z{{{{zz{zzz{{zz{zy{|{{zzzzyz{z{{||{{{z{{z{zzzzzz{{z}zz{{{{zz{{{{{{|z{zzzz{zz{{|{{||||z{z{z{|{|{{{{|||{|z{zzzz{|||{{{{{y{{{z{{||}{||{|{z{{{z{{{|{{{|{{{{{{{|{{{}|{{{{|{z{{{z|{z{{{{|{{zzz{{{|{|{{|{{|||{{{{zz{{|z{{{|{{{y{{z{z{{{{{{|{{}{{yz{zz|||{{{|{z|{{zz{z{{{{||z{{{zz{yzz{{||{{z{z{{zzzz{zzz{z|{{zzy{{yz{{{z{{{{{yzyzz{y{{{{z||{zz{zzzz{{{{||{||{zz{y{zzz{|zz|{{zz{|{zzz{z|{z|{{{{yzzzzz{{y{{{{{yyzyyyz{{zzz|z{{{zz{zzzzz{z{|{{{{z{{z{yyzz{{z{{{{zz{yzz{zzz{z{{z{{zz{zzzz{{{z{{|zy{zzzzz{z{{{||{{zzzz{zzz{z{{{|{|z{{{y{{|zzz{|{|zzyzyz{z{z|z{{{|{{{{yz{{z{{{z|||zy{zyzz{{||{|||||{z{{zz{{||z{{{|{{{{{{zz{{{z|}|{{{|{{z{{{|{|{|{|z{{z{{z{{||{{{}{|||{|{{{{|{{|{|{{|{z|{{{{|{|{||||{{zz{{zz||||{|{{{|{{{{{{{|{||{|{z{{{{{{{|{{|||||{{z{{z{{{{|{{||{z{zyz|z{|{|{{||{zz{z{zz||||{{||{{{{zzz{{z||{{{{{{y{{zzzz{{{z|{{{{z{zzzz{{{{{{{|{zzz{|zy{z{zz{||{{z{zzzzzz{{{{{{{zyyzy{z{z{{{{z|{y{z{{{z{y{{z{{{{zyyzzz{{{{{{|zz{{zzzyyzzz{z{{{{yzzz{zyz{{{{z|z|{zzzz{yzzzz{{{{{zz{zyzy{z{|{{{{|zzyzzyzyyzzz{{{{{{zzzzzzz|y{z{{zzzzy|zyz{z{{{{{{{z{zyzzzz|{{{|{|{{{zzz{{{{{{z{z|zzz{z{zz{|{{|{|{zzz{zyzz{|{z||{{{zy{z{zz{{{{z{|{{{yzzyz{{||||{{}{{yz{{{z{{{|{{|{{{{z{z{z{{z{{||{zzzzzz{z{{|}{|||{z{z|z{z||{|z{||{{zz{{{{{{{||||{|z{{z{{z{|{{|{||{z|{{zzz|}{{z{|{|zz{z{|{{{{{{{{||{{z{{{{{|{|{|||{{yyz{{{z{{|{|{{{{{{z{{{{||{zz{{|y{{zy{{||{|{{{{{z{{z{{zz|{{{{{|zz{yzzzz{{{{{|{{{z{{zzzz|z{z{{{{|z{z{{{|{||{{z{{{{{z{zzy{{{|z{|{zzzz{zzzz|{{{{|{|z{z{zzz|{|{z{|zzz{zz{zzz{{{{{{zy{zy{zzz{{{z{{{z{y{{yzyz{{|z{|z{z{zzzyz{z|zzzz{{zzzz{zzz{{zz{{{{{zzzzz{zy{zzz{{{yzzzz{zzz{{{zz{zzz{z{zz{z{{{{||{{z{{zy{z{{z{{{{|{z{{zz{z{{{z{{{{|{zz{{{zz{|{||{{{{{{zzzz{{|{z{{{|zzz{{{z{||{|{{{{{{|{{{z{|||}|||{{{{{{{{{{|{{|{|{z{{{{zz|{|{{|}||{z{{{{z|{|{|}|{z{|z{{{{||}{|{||||z{{|{|{}|{|}|{{{{{{{{{{||}|||{|z{{{{|{|{|{|||}{{{{{{|{{||{{|||{zz{{{z|{|{z{{|||{{{{|{{{|{|{{|{{{{{{z{z{|{{{|z{{zz{{yz{{{{{|{{{{{{zzzzzz{{z{{||z{{zzz{z|{z{{{|{{zzzz{zzz{{{{z{{|{z{z{zz{z{{{{||z{zyz{yz{|zyzz{z{zzzzyyyz{{zz{zz{yy{zzzzzzz{{{{zzz{{zzy{z{z{{{{{zz{zyz{z{{{{{|{{zzzzzyz{{{|{zz|{{{z{{zzzy{zyz{{{z{{yzzzzz{{|{{{{{zzzzyzz{|{{{z{{{y{zzz{{{{{|{|{{zz{yyyzz|z{z{z{|zz{zz{{z{{z|{{{{z{zzz{{{z|{{||{{{{{zz{zz{|z{z||{z{|{{{z{{{{{{z{{z{{{z{{z|{||{{{|{{{z{{z{{|{|{||}{{z{zz{z{||||{|{}{z{{{z{||||{{||{{{{|{{{{|{{||}{|z|z{|z{{|||{{|{|{z{{{z{{{{{|{{{|z|z{{{{|{||{{|{|{zz|z{{|{{{|{|||{zz{{z{|{{{|{|||z{zzzzzz|{|{|}|{|zz{zzz|{|{|{{{{{{zz|{z{z{{{|{{zzzzzzzz{|{{|z||{zzz{{zz{{{{{{{|zzzz{{{{{z{{z{{{{zzzz{{z{z{{{{{|zzzyzzzzy{{z{{{z{yzzzyzz{{{{{|{{zzyzzzyz{{z{{{{|zzzzzy{zz{{zz{{{{{zzzzyz{{{{{z{{zzzzyzzy{{z{zz{zyzyzz{yzzzzzy{{|{zzyy{zzz|z{z{|{zz{zz{zzz{{z{{|zzyzz{yzyz{{z{{{|zzz{zz{z{{zzz|{{z{{{zzzz|{{{{{{{{zzzzz{zz||{{{||{{{{z{zz|{|z{||{{z{{z{{z{{{{|{|{|z{z{{zy|{||{||{z{zzz{{z|{z|{|{|{{{{{{{{{|{||{{{{{{{{zz{}{}|{{{|{{{|{|{z{|{z||||{{|{{{{{z{{}|||||{{z{z{{||||||{{|zz{{{zz{{{||{{{{{z{{{z{{|{||||}{z{z{{zzz{||{{||{|{z{z{{{{{{{{{z{{z{z{{z{|{{{{zz{z{{{{zy|{zz{{{{z{z{{y{{{{{z}{|{{zz{{zzz{{|z|||z{{{zzz{z{{||{{{{{z{{z{zyzz{{||{{{zzyzz{y{z{{z{z{zzzzz{z{zz{{z{{z{{zz{z{{{y{zzz{{{zzz{zzz{zz{zz{z{{zzzzzzz{zz{{z{zzz{zzyzz{z{{{|{zzyzzz{z{z{{z{zzyzyy{z{zz{zz{{{z{zzyz{{zzz{{{z|{zzzzzzz{{{zy{{{|zz{zyzzzzz{{{{|{yzz{zzzy|{||{{|{{{z{{z{z{{{{{|{{|{{{{{z{{|}{{z{{z{z{{zzzz|z{z||{|{{z{{{z{{|{|z{{z|{z{{{{{z|||||{{y{z{zzz{||{{{||{z{{z{z|||||||||z{{{{{{{{{||{||||{{|z|{{{{|||||{{z||{{||{{|{|{||{zz|{{z{{|{{{|{|{{z{{z{{z{{||{}|{{z{{{z{{{z{{|{{{{|{{{{{{{{z{{|{|{{z{z{z|{{|z|{|yyzz{{{z{{|z{|{{y{zzz{z{z{{{|{{{y{zz{zzz{z{{||{z{zzzzzzz{||{{z{zzzzyzz{z{{z{{z{|zzzzzz{yz|{{{|{{|z{yzyzzz{{z{{zzzz{zz{zz{zzzz{z{zzyzzzzz{{{zz{{z{yzyzzzz{z|z{{{{{zyzyyzzzzzzzz{{{zzyyz{zz{zy{{{{zz{zzyxyzzzz{z{{zz{zzyzzzz{{z{{z{{zzzzzzz{z{y{{z{zzz{yzz{{{|y{z{zzzzz{z{yz{{{|{||{yz{z{{{{|z{|{{{zzzzzy{{||{z{{{{|zzz{z|z{|z{{||{{zz{{{{{{{|||{|{zzz{{{z{{z|{|||{z{{{{z{{||{{||{{z{{{{zz||{{|||{{{{{z{z{{{{{{{|||zz{{{{z{|||||{{{{{{{z{{{{|{{{||{{{{{{zzz{{z|{{{{z{{z{{{{z{{|{||{zzzz|zz{|{{{||{{{{{zzzzz|{{z{{{z{{zy{{z{|{{|{{{{{zzzz{z{{{z{{{zzzzzzyz{z|z{{{z|{{yzy{{z{z{{{{{{zzz{zzzz|z{{z{{{{zzzzzzz{{{||{{{zzzzz{{zz{{z|{{{{{{zzzzz{{|{{{{{zzzzzzzzzyz|z{{{z{{zyyzzz{{{{y{{{zzzyzy{{zzz{{{zzzzzxzyzz{zz{{{{zzyzzzzyz{z{{{{{zyzzzzzyyzz{yz|{zz{yz{yzyzzz{z{{z{zz{zzyz{{zzz|{|z{z{zzz{{z{{z{|z{zzz{{z{{|{{|{z{{z{{yz{z{|z|{{{|z{zzz{z{|{{zz|{zzzzz{z{{{{{{{{{zz{{|{y{{{|{{{||{|zzzz{z{{{{zz||{{z{{{{z{|{{|}{{{{z{{z|z{{{|{{{{{{|{{|{{z{{|||||{|{{z{z{{}{{{{|{z{{{{{z{z{{{|||{{{{z{{z{|{||{{{{{{{{{z{{|{{{{|{|{z{{z|{z{{{{|{{{{{z{z{zzzz{|{{{|{{z{{zz|{{{|{||{zz{zz{zzz{{{z{||{zz{zzzzz{{zz||{z{zz{zzz{{z{{{|{{{{{{zyzz{{{z{}{zyzz{{{zzz{{{{{|zz{y{yzz{{{z{{{zzy{{yzz{yz{{{z{|zy{{z{zz{zzzz{{{z{zy{zzzz{{{{{{{{{zzz{zzzzz{{|{{yzzzyz{y{{z{{z{{{z{{zzzyzz{yzz{{{z|zxz{{z|zy{{{{{yzzzzyzzz{{{||{{z{z{zzz{z{{z{||z{{{zzzz|z{{z{{{zz{{z{{zz{{{|{{|{zzz{z{z{|{z{{|{z{{zz{{{{{{{{{}{{{z{zzz{|{{{{{{{zzzzz|{{{{{||{{|z{{{{zz{{|{}{|||z{{{{{{{{|{{{{{{{z|{zz{{z{{{z{|{{z|{{{{{{|{{{|{||{{zz{z{{|||{||}{z{{{{{{|{{{{|{{{y{{|{{{|||{{{||{{{z|{z{|{z|{|||{{{y{{z{{{{{{|{|{{zz{{zz|z{{{{z{{z{z{zz{|{{||{{{zzz{zzyyz{||||{|zz{zzzzz{||{{|{|{z{z{{{{{{z|{{|{{zzz{{zzz|||zz|{{{{zz{zzzz{{{{{|zzz{z{{{{|||z||{{zzzz{{z{{{z{{|{{{{y{z{zz{zzzz{{zzyzz{{zz{z{{{{{zzzzzzyyz{|{zz{{z{zzzzzzz{{{{z{{{y{zzzzyzz{{z{{{{zzzzzz{{{z{z|z{z{zzz{zy{{z{{{||{{zzyzyz|{{{|{z|{{z{{{{{{{{{{|{|z{zzz{y||{{{{{|{{{zz{z{zz{||||z|zzz{zz{z{|{{|{|{{z{{{|{zz{|{|{{|z{{{{{{{{{{||||{{{z{{{{z{{z|{|}{zz{{|zzz{|{{||||}{z{{{{{||{{{{}{{{{{|{{z{{{|||{||{|z{{{{{{||{|||{z{{{{zz|{{|{{|{{z{z{{{{||z{{{|z||{z{{{{z|{{||||{{{zz{{{{{{{{||||{{{{z{{{||||{|{{|{z{zz{{{|{z{|z{zz{zz{zz{{{z{{|z{yzzzz{{zz{{{|{|yzzyzyz{z{|{|{|zzz{zz{zz{{{z{{|{zzzzzzy{{{{{|{|{z{zzzzzzz{z{{{{zzz{zzyz{{{{z{{z{zzzy{{{zz{{{{{{zzyzzzzyz{{{{z|zy{{zyzzy{{|z|{{yzzzyy{yz{{{{{{{{{{yzzyzzzz{z{zz{z{zyyzzz{{z{z{{{zz{y{{zyzzz{z{{z{yzzzzzzz{{z|z{|zzzz{zzzz{{{z{{||{zzyz{z{{{z{{{||zzzzzzy{z{{{{z||z{z{zz{{|{{{{|{{z{z{{zz{{{{{{{{|{z{{z{z{{||||{|{{{{{z{z{{{|{||{z{z{z{z{{{{{{{{|{{|{{zz{|}{{{|||{z{{|{{{||{|{|{|{{z{{{z|z|{{{|{{|{{{|{{{|z{{z||||zz{{{zz{{|{|{|||{|{z{{{{{|{|{{|{{{zzz{z{{{{{{}|z{{{zz{zz|{{{{{{|z{{|{{{{{|{|{|{z{zzzy{z{|{{{{|{{z{z{y{zz{{z{{|{{zzzz{z{{z{|{{|{{{{{zzzz{z{{{|{{zzzyzz{y|{{zz|{|z{|z{z{z{z{{z{{{yz{{{zz{{z{{y{zz{zy{z{zzz{zz||{{z{yz{yyzz{z{zzz{zzzzzzyyz{z{{{{z|zzyyzzzz{{zz|{zzzzzzzyz{{z{{z{z{yzyz{zyz{zzz{||zzzzz{{z{{z{||{z{zzzzzzzz||zz{z{z{{zz{z{{{{{z{||zzzz{{z{|{{zz|z|y{zzzzzzz{{{z{zz{z{zzzzz{{{|z|{z{zz{{{z{{{{{{{{z{{z{z{{|{{|||{{z{z{z{zzz{{{{z{||{{{{zz{y{{{{||{{{zzz{z{{{{|{{{{|{{|{|{{{{||z{{}|{{{|{{z{|}{{{|||{{|{z{{{||{||{}|{{{z|{{{{{||{{||{{zz{z{{|{|{||}|{z{zzz{z{z{{{{|{z|z{{zzz||{|{{{|{|{{zyz{|||{|{{z{z{{{{{{{{{{{{||zzz{zzyzz{{z{{{{{zzzz{{{{y{z|{{{{z{zzzzzz{|z{z|}|zzzz{zz{{{{{{z|{zzz{zz{{{z{y{{zz{zyzzy{z{{{|{{|{z{y{zyzzz{{{|{z{zzzyz{yz{zzz{z|zz{{zyzzzzzz{{{z{zzzzzzz{{{z{{{zyz{{zzzy{z{z{zz{yyzyy{zzz{{{{{{|zzzz{z{zz{{{{z{{zzzzz{{zz{{|{{{{z{{zzy{zz{{z{{|{{z{z{{zz{{{{{|{|{z{{{z{{{{|{||{{zzz{z{{||{{{z{{{{{z{{{zz{||{z|{z{zzz{{zz{{{||}{z{{{{|{}z||{|z||}{z|{{{zz{||{{||{{{z{{|{z{|z|{}||{{{{{{||{||{{|{|{{{{z{z{{|z|{||||{{{z{z{|{{||}|{|{{z{{{{{{{||||||zy{{{z{{|z||{{{{z|z{z{{{{{{||||{z{|{{{z{{||{{{|{{{z{z{{{{}|{|{|z{zzyz{z{{{{y{{{{zz{zzzz{z{z{{z{z{z{zz{z{z{{{{{{{zyzz{zz{{{{z{z}{{{z{zzzzz{z{{z{{z{yz{{z{{zz{z{{yzzz{{{zzz{{z{|{{{zyz{z{{zz{{{{|zz{{zzz{zz{{{{zzzzzzzzyzz{{zz{{{zzzzzzyyz{{{zz{{zzz{yy{z{z{zz{z{zzzyzzzzzzzzz{zz{zz{{y{zz{{{{{{{zzz{zzzzz{z{z||{{z{zzz{z{{{{{{{{{zzzzzz{{{{{|||{{z{z{zzz{{{{{{{z{{z{zzy{{{{{{{|{{{z{{{zz|||{{{{{{z|z{z{y{|z|{{|{zz{z{{{{|{{|{|}||{{|zzz{{{|}|||{{z{zz{|{{{{{||{}{zz|{|{{{{|{|||||zzzzzz{{|{||}|{{z{z{|{z{{{||||{|z{{|z{{{{{||{{||z{z{{z{||{{{|{{{zzzzzz{{{{|{||{{{{{{zzz{{||{{|{|z{|zz||||{||zzzzyy{zyzy{{{zzz|{zzyzz{zy{z{{{{{{{zzyyzyz{{{y|zzzzyzyz{zzzz{{zz{|{{zzz{zzzzzz{{zz{z{yxzzy{|zyz{zz{{zzzyzyzz{zz{{zzy{zyzz{{zz{zz{zzzyzy{zzzzzzz{{zzzzzyzyy{z{zz{zzzyzyyyzz{zz{{z{{zzzzyyzyzzz{yzzzzzyzyzzz{z{zz|z{zyzzzzzzz{{{{{{zyzzzzz{{{z{{{{{{{y{yzzzzzz{z{{{{zzzzzz{z|{{{{{{{zzyzzzyz{{{{z{{z{zzzzzzz{z|zz{|{z{zzz{z{{|{z{z{{zz{yzz{{{{|{{{||{z|zzz{{{{{{z{|{{{zz{z{z|z|{{{{{{{{z{z{{|{{{|z||{{{{{{{{{||{|{|{|z{z{{{z{||{{|||{{{zz{z{{{|{{|z{{z{{z{{{{|{{{|{||z{{{{{|{{z{{{|{zz{z{z{z{{|z|{{{{zyzzzz{{{{{{{|z{{zz{{{z{}|{{|zz{zzyzzzy{{{z{z{{{z{zzzyy{{{{{{{zzzzyyzz{{zzz{z{{zzzy{{y{{{zzzz|zz{zzzzzzz|z{{{z|{zyz{zzyzz{zz|{{{z{{zzy{{{{yzz{z{yzyzzy{zzzz{{zzyzyyzz{zz{z{zz{y{zzyyyzyzzzz{zz{z{yzyyyyz{zzz{{{yzzyzyzzzzzzz{{{zzzzzzzzz{z{z{zzzyzzyzzyzy{{{zzz{{zyzzyz{z|zz{|{z{zzzzzzzz{{{{{{zzzyzzzz{{{{{|z|zzzzzzzz{{{|{{{{{zzz{z{zz{{zz{{|zz{z{yz{{z{|{|{z{zzzz{y{z{|{|||{{|z{{{||{{{{{{{|{yy{{zzyz|{{{z|{|{{{z{z{{||{{{||{z{zzzz{{{{{{{{{{{zz{{{z{{{|{{{{|z|{{{{{{{|{||{|{{{|{{z{{{{{||{{{{y{{z{{{z{{|{{|{z{{z{{{z|{{{{{|{{{zzzzz{{{zz{|{zz{z{{{z{|||}|z{|zzy{zzz{{{{z|{{{{{z{{z{{z{z{|{{{{{zz{z{{{{z{{z|zz{zzzz{{{{{z{{{{z{{zzzzz{{z{{zz{zz{zyz{yz{zz|{zzzzzz{z{{{{z{{zz{y{yzzzzzz{{zz{{yzyyzyyzzy{{zz{z{zz{yzyz{{{{|z{{z{yzyyyzzz{z{z{{{z{yzzzyz|{zy{{{{zzzzzzzz{z{y{{zzz{{{zyzz|z||z{{{zzzzzz{zz{{zz{{zzy{z{{y{|{|{{{{z{yzyyz{{{|{{{|{{zz{zy{zz{{z{{{{{z{z{zzzz|{|{{|{{{yzzzzz||{{{{{{{{zz{z{{|z||{||{z{z{z{{{|{{|{||}{{{{zzz{z|{{|{|{{{|zzz{z{|{{|}{{z|{{{{{{{||{|||||{{{z{|zz|{||||||z{{z{z{{{|{{{{{{z{z{{{z{{{{|||||{{zzzz{|{{|{{{|zzzzzz{z||{{z||{{zz{zz{{||{z||zz{z{z{z|{{|{}||{{{{{zz{z{z{{{{{{{{zz{zzzz{z{{{{{{{zzyz{zz{z{{{{{{{z{z{yz{{{{{z{y|{zzzzz{z{{{|z{{{{{{zz{zzz{{{z|{z{z{zzzzz{{|z{{|zz{zzzzzzz{{{{zz|z{z{{zyz{{{{{z{{{zyyzzyzy{zyz{{{zzz{zzyyz|{z{{{{{zzzyzzy{z{zz|zz{zz{zx{z{{z{z{{z{zzyy{{y{{{{||{{zzz{{z{{z{z{{{{{z{yzzzzzzz|{{||{zy{z{{{{{{|z|{zz{z{{{{{{{|||{|{{{z{{zzzz{{{{{||zz{{|z|z{{|{{{|{{{{{{{z|z{z||{|{|{{{{z{{z{{|{{{{|{{{{z{{{{|||{{{||z{|{|zz|||{{{||{{{{{{|{|||{{||||{{{{zz{{}|||||{|{|{z{{{}{||||||{{{{|{{{{|{|{{||{{{z{{{{||||||||{{zz{{z{{{|{{|||{{{{{zz{{|||}||{z{{zz{{{|}}}~{{z{zz{zzzzz|{||{z{z{zzzzy{z{{{{{{{zzyzzzzz{z{z{{|{zzzzzzzy{{z{{{|{zzzzzz{zz{{zzz{{{zzz{{zz{{zz{z{{{{{z{zzz|y{zz{{{{yzzzzyz{{{{{{z{zzz{zz{zzzz{z|{z{zyzzzz{z{zz{{{zy{zzyzzyz{{{{{{{zzzzzzzzzyzzyz|{zzzzzzzzz{zzz{z{zzzz{zyz{{zz{z||{{zzzy{z{{zz{{{|z{{zzzz{|zzyz{{{zz{{{{{{{{{{{z{{z{{{{y|zz{{|{{||{zz{|{z|{{{{|z{{|zzzzz{{{{{{{z{{{zz{z{{{|{{{|||||{{{{z{{||{{{||}{{{{{zzz|||{{||{|{{z{z{{{|{|{||{|||{{{z{z{{}}{||{{{z{{{|{}|{{|{{{{{{{{{{||z{{||{z{{{{{{{|{{|||||{z{{{{zz||||{{||{{z{{z{{{{{{{z|{|z{zz{{z{|||||{{|{zz{z{{{|}~}{{|{{zzzzzzz{{{{||z{zzzzzz{{{zz{|{{{{zyzzz{{{z{zz{{{{zz{{{z{{|}{z{{{{{{z{{z{|{z{{{{{{{{z{zz{{|z{{|z{zy{{{{z{{|{z{z{z{{yx{zzzzz{{{z{zzzz{{zzzz{{{{{{zzyyy{zz{{|{|{|{zzyzyzzzz{{{z{{{{zz{{y{z{z|z{{{zzyzzzzzzz{zzz|||zz{{zz{y{{{z{|||{y{z{zzz|{{{z{{|z{{{{zz{|{{{{|{|zy|zzzzz{{z{z|{|{{{{{zzy{{|{|{z|z{z{z{{z{{{{z{|{{y{{{z{{{|z{|{|{zz{{z{{{{{||{|{{{{{{{|z{{{{||{{|{z{{{yz{|}|{|{|{{{{{{{{{{}|{||}{{z{z|z{|{}{|{|{|{{{{z{||{||{|}}|{{{{|z{y|{{|{||z{{{z{{zz|{{||{{|{zz{{{z{|{}|||||{{zz{y{{{||{|||{||{z{z|zz}z}|{{{z{||{{{z|}}|~{{{zzzyz{zzz|{{{{|{zzz{{zz{y{{{|{{{zzzzz{zz{{{{{|{zzzzzz{zz{{zz{{|{|{z{zz{y{{{z{{z{{z{zzz{z||{z{|{{|z{zz{zzz{{{z{{zz{{zzzz{z{{{{{{|zzzzzz{zz{{{zz{{{zzz{zyzz||{{{z{z{|zzzyz{{{{zz{{zzzzzyz{{{zzy{{zyzzzyzzzz{zzz|z{{zy{{zzy{zz{{{{{{z|{{zz{{{{zz{z{{yzzyzz{{{yz{{{|yzzz{{z{{{{|z{||{{{|zzz{{|{z{|{{{{zzz{zz{{||z{|{{{{z{z{z{|{zz{{{{{z{{zz|{{{}{{||z{{{z|{z{}{{{{|||{{{{{zz{{|{|{||{{z{{{z{|{|{{}|}{{{{||{{|{|{{}|||{{{z{{{z||{|{|||z{zzzz|{|{{|||{{{zz{z|{{{{{|{{|{||z{{{|{|}||{|{{{{z{z{|{{{z{z||{z{{{{{z{{{}|||}{{{zz{|{||}|}{{{z{yzzyz{z|z|z|{z{zz{zz{{{|{z{z|{{{zz{zzz|{{{{{{|{{{yzyz{{{|z{{{{}z{zzzzz{z{|{|{{z{{zz{zz{{{{z{{{zz{zzz{{{{{{{{{{{zzyzzzzz{z{{z{zzz{zzzzz{{z{{{{zz{zzzyy{zz|z{z{{{zzzyzzyz{{{zzz{yzzzzzzyzzzz{z{{zzyzzzzz{{zz{{{{z{z{zyzzz{|{z{{{zzzz{zzz{{{zz||{{yzzyzz{{z{{z|{{zz{{zzzz{|{{|{|{{{{{{zzy{{||{{||zz{z{zz{z{{{z|{{{zzz{{zz{{{{{||{{{{z{zzz{{||{|||z|zz{{{{|{{|{{{|{z|{{z{{{||{{{{|||{z{{{z||{{||}||z{|{{|{||{||}|{||{{{{z|{}{||||||{{{zzz{{|||z|{{|{{{{z{|{|{|{||{|z{{z{{|z|{{{{||z{{{{{zz||{{z|{{{{z{zz{z{{{||||{{{{{{{|{|{||}{{|z{zy{{z{{||zz{{{z{{{z{zzz{{z{|{{{z{{zzzy{|z{{{||{{{{{zz{zzz|{{z{{z{{y{{z{{{{z{z{{z|z{zzy{{z{{{|{|{z{{zz{{{zz{{{{{zzz{zz|{{zz{|{{zzyyzyz{z{z{{{{z{z{z{zzz{zz{z{{{{zzzzzz{{{{|{{{{{z{yyz{zzzzzzz{{z{z{zzzy{{{|z{{{zzzz{zyy{zz{{z{{zzz{zzzzz{{{y{{{{{{zzzzzzz{{{{{z{{{yz{{{z{|{{{{|{z{z{z{{{{{{|||{{z{|{zzz{{{{{{{{{zz{zzzzz{{{{{{{z{z{{|z{{|{|{||{y{z{zzz{{{{|{{{|z{{z|{z{{|{|z{||z{z{|{{|{|{||{|{{{{{{{{|{{{{|||||{{{z{{{{{z{{{||{zzz{{{z{{{{{|{{{{z|{{|z{{z|||||||{{||z{{{||}|{|{{zzz{{{{||{{{|{{{{zz{zzz|||{{|{|{zz{z{z|{~}}}{zz{z{zyzz{z{|zz{z{{zzzzzzz{{{|{{{{zzzzzyz{|{{{z||{{{y{zzzz{{{zz{{{zzz{{zy{{{{z{{zzz{zz{yxz{zz{z|zzzzzzz{z{z{{z{z{{zz{yzyzzz{yz{{{zzz{zz{zz{zzz{{z{zzzyzz{zzyz{z||zzzzzzzyy{zzzzzzzyzy{zzyy{z{zzzz{zzyyyzzz{z{z{zzzzz{zzzzyz{{z{{zzzz{{z{z{{}{{{z|{zzyzz{z{{z{{{{z{zzzzz{z{{{{{z{z{{zz{z{z{{{{z{|{z{{{yzyz{|{zz{{{{z{{{{zz{{{{{{{z{{zz{{y{{{||{{{|{z{{z{|z|{{}{{{{{{{{zzzz|||{|{{{z{zz{zzz{{z{{{||{{zzzz|zz{{{|{|||zz{{{|z{|||z{{|{{{{{{{{{{z{|{{|{zz{{{zzz{{{{{|{{{z{{z{{{|{{{{||z{{zzzzz{{|{|{||{zz{zz{z{{{{{{|{{{{{{z{{{|||}{{|z{z{{zzy{z{z{{{{zzzz{z{yzzzz{{{|zzzzzzyy{z{z{{|{{{{zy{yy{zzzzz|{{|zz{y{{{{|{{{{{z{yy{y{x{{{y|{{z|z{z{zz{zz{z{yz{{zzyzzzz{{zzz{{zzzzzyyz{zzz{z{{{zy{{zzzy{{|{z{z{z{yyzzzz{{{zz{z{{zzzzzzyz{zzzzzzzzzy{yyyyzz{z{{{zz{yzy{z{z{zzz{{z{zzzzzz{{zz{|{|{zzzzzzzzz{{z{{|{zz{zyz{{zzz{{|{zzz{{zzyz{{z{|z{{z{{z{zz{{{{{{|{{zz{zzy{{{{{{{{{zz{{{{zz{{{||{||zzz{zzz{{||{|{||{z|{zzzz{{{{|{{{{zz{{zz{{{|z{||{|z{{{{{{{{|{|{{{|{{z{{{{{{|{||{|{{{{{y{{{|{{|{{||z{|{zz{{{{{{|{||{{|{zzz{|{z|{||{zz{z{{z{z{{z{|{zzyzz{{zz}{{z{{{{z{{zzzz{{|||{zz|yzzzz{z{{{z{{|{{{{{yyyyz{|{{{{{{{zz{zzzz{{zz{{{{zzzzy{yz{z{{z{||{zzzy{y{z{z{{{{{yzzz{zzz{|{{{zz{zz{zzzzzz{{{{{zzz{yz{yzzz|{z{{zz{zzzzzzz{{zzz{{zzz{zz{zzzz{|zz{{z{{{{zzzz|{{zz{{zyzyzyzy{yzyzz{{zzzzzzzy{zzz|y|z{zyyzzzz{{zz{z{{zzzzzz{z||z{z{{zy{yyzzzz{{{{{{{{z{zz{zzz{{{{z|{zz{zz{zz{|z{{{{{z{{z{yzy{|{{z{{{{zzz{{zz{{{{{{{{z{z{{z{{z{{}|||{z{{{z{{{|{z{{||{{{{|{{zz{{||{|{{zz{{{{|{||{{{{{|y{zz{{{{{||{}{|}{{z{{{{|{|||||{||{|{{{{{{|{|{|{||{zz{{z{{{z{{{|||{{z{{z{|{{{{{{|{{{{z{{{z|{|{{{|{zz{z{zz{{{|{{|{{{{z{{{{{|{||{|{zzzzzzz{{{{{{z{|{zzzz|zzz{{zz{z{zzzz{z{y{z{z|{{z{zyzz{zzz|{{zz{{{zzzzz{{{{{{z{z{zz{z{z|zzz{{{{{{{z{zyy{z{{{{z{{{{zyyy{{zzz{{{{{zz{yzzyyzz{|{y{zzyzzzzzzyy{{{{{{{zzzzy{zz{{{{z{{{{zzyzzzzz{zz|z{{zzzyz{zz{zz{{{z{zzzzzz{z{zz|z{{{|yzy{zzzz{|zz{y|{zyzyzzzz{z{{{{|{{z{zzz{{{{|{|{|z{z{{yz{{{{{{||{{z{zzzzz{{|{z{{|{{z{z{{{y{|{{{{{{{zz{z{z|{||{{{|{z{zz{{z{}{{{||{|{{z{{zz{z{{{|{||z{{{z{z{||{{|{{{{{z{{|{{{||||{{{z{{{{|{{|{||{{|{{|{{zz{{{||{|{{{z{|zz{{{{{||||{|{z{{{z{{||{{||{{{zzzz{{{{{{{{||{{z{y{z{{||{z{{{{{zz|z{z{|{{{|z|z{z{zzzyz|z{zz|{{zzzz{z{|{{|{|{{{zzzzz{z{{zz{|{z{zzzzyzz{z{{z{{{{zzzz{{zz{{{{{{{{y{yzzzy{z{{z{{{{z{zzzzzzz{yzzz{{{{zz{yz{z{{{{{{z{zzzyzzz{z{zz{zzzzzyyzyz{zz{z{{zz{{zzzyzz{{{{{{{zzz{z{zz{zz{{{{{yzzz{zzz{zzz{{{|zzz{z{z{zz|zzz{z{zzzzz{{{{z{z{{{z|z{z{{{|{{{|{|{zzzz{{z{{||{{{{zz{{zzzz{{{{{{{{{{zzzz{z{{{|z{{|{z|z{{z{|{|{{{{|{{zz{z{{{{|{|{{{zz{z{{{{{{|{{{{{{{{|{{zz||||{{|{}{z{|{{{{||{||||{{zz{|{{{|}{||{||y{|{z{{{||}||{{|z{{z{{z||||{{|{|z{z{z{{{|{|}|||{{{{{{zz||{||{{{{{{z{{zyz|||{{}{{{z{{{{z|{|{{{|{{{{{zy{z{{|||{}|{zz|zz{z{{{{{{|{zzzzzzzz{yz{z|{{{z{zzy{z{z{z|z{|{{{z{{zz{{|{{{||{z{zzzzz{{z{{|{{zz{{{z{zz{zy{{|{zz{z{zyz{{{z{{z{{{{zzzz|zzz{z{{{zzy{zzyzzz{{{|{{{zzzzzzz{{||{{|{{z{yzyzzzzz{z{z{zzzz{yzz{{|zz{zz{{zzzzzzz{y{{||{zzzzyzzzz{zz|{||z{{zzzzz{{{{{{{}zzzz{{zz{{{{z|||{z{z{{zz{{{{{{}{{{|z{{{{z{z|z|{{{z{z{z{{|{|{{{|{{{zz{{z|{{|{{|{{{{{{{z{{{{{||{||z{{|{{{{|{|{||||{{z{{{{z{{||{||{|{{{{|{z|||{|{|||{{{z{{|{{{{||{{|{{|z{{{|}||{|||{{{{{|z{|{|||{||{z{z{zz||{{{{{|{{|z||zz{|{z{||||{{zzz{{{z{||||||||{zz{z{{{||{||{{zzz{{y{|{|||{|{{{{{{{zz|{{{z||{z{z{{y{{{{{{||{{{zzzy{{z{{{{|{{{|{{zzz{z{{{zz{}|{{zzz{{{{|}{{|||{zzz{zzz{z{{{|||{zzzz{z{{{{z|z{zz{zzzz{{{{{{{{{{{{{z{yzzz{{{{z|{z{z{z{{{{{|z{{{|{z{zzz{z{{|{{||{{y{{zyzz{zz{{{zz{zzy{{zz|{zz{{|{{zz{{{yz{{{|||{{|{z{{zzz{{{{{z|{z{||{z{{{|{{z|{{{|z{zz{{{{{z{|||{{{{zyz{{{{{|{{|{z{|z{zz{|||{{|{{z{{{{{{{|{{|{||{{|{{{{{{{|||{||{||{|{{{{||||{|{|{z{{{{{}|||}{|{|z{{}zz{||||||}}|z{{{|||||{|||||}|{|{{{|{|{||||||{||{z{{|{{|||{||z{{{z{{|{|{|}||{|{{{{{|||||||z||{z{zz{z{{{}{||z|z{z{{z{||{zz{|{{{{{{z{|{||{{{|z{{{{zzzzz{{z|{{{{{z{{{{{z{{{{|}||{zz{zzz{||{{{|{{z{{z{z{{{|||{|{z|{yz{{{{{z{{||||{zzzz{z{{{{z|{|{{z|zz{z{{{z{z{{{{{{z{zz{{{{{|{|{zz{{yzz{{|z{{{{zz{{zy{z{{{{{{z{z{zzzyzz{|{|{{{|zzz{{z{zz{{z{{||z{{zzz{z{z{|{|z{{z{z{z{z{|{{{|{{{{zz{{{zz{{{|{{|{|z{zy{{{{{{{{||{z{{{{{{|||{|{||{z|{{{{{{{{||{||{z|{{{{{{{|{|{}{|{{{{zz{{||{|{{{{{zz{{{{|||}{{|||{{{|{z{|||||}|{|{{|z{z{|||{{}|||{|{{{{|||{{{}|||{{|{|{{||}{|{}||{|{|{{{||||}|}||{{|||{{}|}{|{|||{|{|{|{{|{|}||}||{|z|{{|{{|||||{|{{{{{{||{{{}|||{{{{z{{{}{{{||{{{{zzz{{|{||{|{{{{z{zz{zz{|{|{{{|zz{{zzz|{{{{{|{z{{{{{zz|{{{||}||z{|{z{z|{|{{{|||{{{zz{y|{{{|||}{z{z{{z{|{z{z{|{{zzz{{{{{||{|{||zz{{z{{{{{z{z|{{{z{zzz{{{{z|z{|{{z{{zz{z{z{z|{{{|{|z{zzzz|zz{{{zz{z{zzzz{{{{z{|{{|zzz{{z{{{z{|{{{z{||{zz{{{{{|||{z{zzz{{{{|{|}||{z{z{z{{{|z|{{z||{{{{{{{|{|{||||{{|{{z|z|{|{{|||{{|zz|zz|||||{||{{{{{{{{|{||{||{{{{|{{{{||{{}|||||{z{{{{|||||{}}||{{{|zz{}|||}}{{{{{{|{{{|||||||{||{|{{|z}|||||||{{{{{{|{}{|}||||{|{{{|||}||{|}|}{|{|{{|||{|}}}}|{{|{{{{{||||}{}{{{z{{{{|||{{||}|{{{z{z{{|{||{}{|{||{{{{{||||}{{{{z{zz|{{||{{{{{{{zz{zz{z|{||{||{{{z{{{z{|{{{||||{{{{{{z|{|{|{||{z{z{{{z||{||{{|{{{{{{{{{{|{{|{z{{{{z{{z|||z{|{|{zzyz|{{z{{|{{{{{{{zzzzz{{{|{{{{|z{zzz{z{z{|{{|{z||{zz{z{|{|z{|}{{{{zz{yzz{z{{|{|zzz||zzz{{{{{{{{z{{{zzzy{{|||{{{{z{{{{{{|{|z{{z{{{|{z{||{|{||{|{y||{z{{{z}||||{{{|{{z{{|}|{||{{||z{{zz{{||||{|{|z{{{z{{|||{|}{|||{yz|{{||||{||{z|{{{{{{|{|||{}|||z{{|z{{{||||{}{z{{|{{{||||||||{}{{|{|{||{||||||||{{|{|||||||}}||{|||{{}{|{||||}{|{{{{|{||||}|||z{{{|{||||||||{{{z{z|{{{{}|{|||z|{z{||{{||||{|{{{|{{z{{{|||||zz{z{zz{zz{{{{|z{|{{z{zzzz|{{|||{{|{{{z{{{{{|{{|{||zzzz{zz{{|{{{{{z{zz{{{zz{{|{{||{{{zz{yz{|z{{|{{{zz{{z{z{zz{z||{{{zz{zz{z{z|{{|{yzzz{z{|{z{{{{z|{zzzz{z{|{{|{|{zz{zzzzzz{{z{z{|{{{zz{y{y{{{zz{{{{{z{z{z{z{z{z|{{|{{z{{y{z{{{{|{||zz{{z{{z{{|{|{|zz{{{{{{{{{{{{|{yz{{z{|{z{{{{{{{|z{{{y{{{||{{||{{{{zzz{{{||{{{}|{|zz||zz|{{{{{{{{||{{{{|{|}{|{|{{z{z{{{{}{|{z|{|{{{{{z{{|||{|||{{z{|{z|{|}|z|||}|{{z{|{{||{||||||{{{{|{z{}}|||}|{{{{{{{{|||||||||{{{{{z{z}{||}}|||{{{{{z{{|||{}|{{z{{{zz|{{|{|||{|{z{{|{{||}{|{{{z{z{{{{}}||z{{||{zzzz{y{{||zz}||z{zz{{{{{||{||{{{zy{{{z{{||||||{z{{zz{{{{||||{|zz{zzz{z{|{|||{|{{{{{{{z{{{z{|{{{z{z{{{z|z{{{{z|{{{zzzyz{z||z{{{z{{z{{zz{{{{{|{{z{{{{{z|{{||{|{|{{{{zz{zz{{{{||{zzzz{z{z{z|{{|{{{z{zz{{z{{{{z|{|zzzz{{{{{z{|{{||{{zz{{zz|{{}{{|}{{zz{{{{|{||||{||{{{z{{{{||{{{{{|{{|{z{{zz}{{||{{{{{{{z{{{|{|{||}{{{{{z{|||{||{|{z|{||{{|||{|}||{|{{{|}|||{|||}|{||{{{|||||||}|||||{{{|||||||||||{}{{|||{|{|}||||{||{}|{|}|||}||{||{{{|{|}{||||||{{||{||||{{{|||}{{|{z{|||||||}|{z{{{{z}z|{{{}{|{|{{{{z{{{{||{||{z{z|z{z|||{|{{{{zz{{z{||{|zzz|{z{{{{{zz{{|{{|{||{{{{|zz{{z{{||{{{z{z{z{{{{{z|||z{{{zz{y{{{{|{{|{z{{zz{z{|{z{{|{|z{{{y{{{{|z{{{|{{{z|{{{z{|{{{|{z{zz{zz{{{{||{|{{{z{zzz{{{{{{|{{zz||{{{y{{|{{{|{{{zzzz{zz{{{{|{}{{{{{zz{z|{{|{{zzz{{|{zz{{{|||{{{{zz{{z{||z{||}|{{|{|{{{|z|||{|{{z||z{{{|{|||}||z{|{{zz{{}||}|}|{{{|{{{{|||{||||{{{z{{{z{||{{{|||z|{{||{{{}||||}|{||{{{{|}{{{}||{|{{{{{{{}}{|}|}|{{{{{|{}}}{|}|}z|||{{||||{||}||{{{|{|{{{||||}|||||||{{|||}}||||{|{|{{{{||{|||}}|{|||{{|{|||}}{|||{|{|{{|||{||}}{|z{|{|z{|{}{|||||{{{{{{|{}|}zz{z{{{{z|y{||||{|{|zzy{z{z{{{{{{{|{zzz{z|z{{{{{|||{{{z{zz{{{{{z{||{z|{y{{z|{|||{{z{{zz{z{z{|z|{{|{{{z{zzz{z|{z{zzzz{zz{{z{|{z{{{{{z{z{zzzzz{{{{z{|{{z{yzz{z{{z{{||{zz{z{{z{|{{{{||{|zz{zzz{zz{{|{{zzyz{{z{z|{z{{{{{zzzz{zz{||{||{{{{{z{z{z{|z{|{||{z|zz{{{z{{z|||{||zz{z{z{{{{{{|{{{|{{{zz{|{|{|{{|{{{{z{{|||{{z|||{{{{{z{|{|{|{{{{|{z|{{{{{||{|{|z{{z{{|{||{}{||}{zz{{{zz||||{}||{{{|{z{z|{||||||{||zy{|{}|||||||||{|z|{{{}|{|||}{{||{zz{||}||}{||{{z{||{|{|{{|{}|{{{{{{|{||{||||}{{zzz{{{{||||||{|z{{z|{|{|{{|||{z{{{z{z|{|}|z|{{{zz{{zz{||{{{|{z{zz{z{{{{||{z||{z{zz{{z{{||{{{{||zzz{z|{{{{{{|{zz{zz{zz{|{{|{||{{z{z{yz{{z{|{|{z{zzz{{z|{{{|z{{z{z{zz{{zz{{{{||z{{zzzz{{z|{{|||{zzzzzz{{{|{{{{{z{{{z{z{{zz{{{{|zz{{{z{z{{{{{z{z{{zzzz{{{{{{|z{{zz{{zzz{{|{|{{|{{zzyzz{z}{|{{{{{{{z{{z{{{{|{{{{|{zz{{z{z|{}{{|{|||{z{{{{||||{{{|{{|{{{y{{{||zz{||{{z{{z{{|{{|{{||{{{yz{|{{{||{{|{|z{{|{{|{||{||||{{{{{{{}|||{{||}{{{{{|{|||{{{|}z|{|{|{||{{{|}|{|{{{{||{{~||||}|{{{|{{{z{||||||{{z{|{{{|{{|{||{{|{z{{{{|||}{||||{{z{{{{z|||||{|||z{{{{{zz|{||{{{|{|z{z{{{|||{{{|zz{{{zyzzz{{{{{{{{{{zz{zz}|{{{{{{{{zzy{y{{{z{{{||y{z{{z{{{{|z{{||{{{{zz{zz{z{|{{{{z{{{z{{{{{z{{{{{zz{{{{|z{{{|{{{{zyz{zz{z{{{zz{z{{zzz{zz{{{z|{{{zz{yzzzz{|{{{|{{z{zzzzzz{{{|{{{{{zyzzzzzzzz{{|{{z{{zzzz{{zzz{{|yz{zz{zz{z|{{{||{z{{|z{z{{|{{{{{|z{zz{|{{{z{{{{|{{|{z{zz{{|||{{||{z{{z{{z||{||||{z{z{{{{{||{{{{{{{z{{{{zz{{{{|{{z{{z{{{{{|{{{||{{|{{{z{{||{|{|}}{{|{|{{{||||||{||z{{{z|{|{|{}{||{{{{zz||{{|{{}{{||{||{{z||{||||||||{|{{{|||||||{|{{{z{z{|{||{||||{|{{{z{{|{||{|||{{{{{{{{|{|{{{|z{{zz|{z{{{|{{|{{{{zz{{{{||{}|{{{zzz|z{zz{|{{|{z{{{{zz{z|{{z|{{|{zyz|zzz{{{{{{}{{y{{zzzzz{{|{z{|{{z{zzzz{{|{|{{{{z{{yzzz{{{{z||{{zz{zzz{{|{zz{{zz{zz{z{{zzz{z{z{{{zy{{zz|z{{|{|{{z{{zz{yz{{|{{{{{z{{y{{zz{zz{{{{{z{zzz{y{z||z}z|zzzz{zzzzzz{||{{{yzz{z{{{|{{{|{{zzz{z{{{{|||{|{|z{{{zz{z||zzz|{|{{{{z{z{||z|{{{{z{zz{{{{z||{||{|{{z{{{{z|||{|||{|{|{zz|{{}{{{|}|{}z{{{z{{||||{}|{|{{{|{{{|{||}|||z|{z}{{|||{||}{{{{{{z{|||}||||{{z{z{{|{|||{|||||{z{{z{{{|||{{|||{||{{{{||{|{{|||{{{|z{{z|||||||||zz{{{{{|{||||{{|{zy{|{z|||||||{{{{{{{{{}{{{||{z{{{{{zz{{||||{{{{z{z{zzz|{|{||{{{z{{{{{{|{{{{{}{z{z{{{z||{|}||||z{z{z{{{{{z{{}|{{{zz{{z{{{||{{||zz{{{{z{|{{||{{|yzz|z{{{||{{{{|z{{z{|{z{{{{{{{{{{zz{{{{z|{z||}{{{z{{{{zz{|{{{||zzz{z{{z{||{{|||zz{z{z{{z{{{{|{|z{{z{z{{z{{|||{{|{{{{{z{{{{{{{||{{{{{z|z{||{|||||{{{{z|z{||{{||{{{||{{{|{|{|||||{{|{|{|z{|{||||||{|{{}z{z|{{|{||{z{zz|{{{||||{|{|{{{||{{{{||||||}|{|{{|{||||{|{}{{||z|{{{{||{||{{{{z{{{{|||}}|}|{{{{{{|{{|||}||}|{{||{{{|}|}|||}|{{|||{{}}|||||{|{{|{{{{|}||}|}}z{{{||{|{{||}|||{{{|{{z||||{{|||||||{{{{{||{{|||{||{{{{{{||}|}|zzz{z{{{z{{{||{|{{zz{zzzz{{{|{}|{{z{{{{{z{z{|{{||{|z{{z{z{{|{|{{|||{zzzzz{{{{{|{||{|{{{zz{{|z{{{{{z{z{{zyz{{{{{{{z{z{z{zy{z|{{{{{yzz{zz{z{|z{{|{z{{{zz{z{z|{{{z{{zzz{{{{zz{{{|{||{{{{yyzzy{{{z{||z{{{{zz{z{z{{|{z{zz{{zzz{{{|{|||{{zz{z{{{{{{{{{{{|zzzz{z{{|{{||||{zz{{z{{{{{zz|{|{{z|zzz{|{{{}||{{{{z{{z|{|{{||{z{{{{|{|}|||z{|||{{|{|{{{z||||{|{{{{{{|{{||{{~||{z{|{{{{{{|{}||||{||{{|||{{|||||{z|{|{|{|||||{{|{{{{|{|{|||||}||{{{|{{||{{||{|{|{{{|{{zz||{||||||{{{||{{||||{}|{{{|z{{z{{|{{}{||{{|{{{zz||||{{|{{{|{{{|z|||{{{zzz{{zzz|z{||{{{|||{z{{zz{{{|{z|{||{{{zz{{{{{{{|{{{{{z{z{zz{{{{{{{{{{{y{zy{{{{{{||{{{{z{{zz{{zz{|{{{z{z{y{{|{zz{z{zzzzzzz{z{{{z|{{zzzzzzzz|{{{|{||{zzzz{z{{{{{zzz{{y|{{{z{{{{{{{{{{zy{|zzz{zzzz{{{z{{z{z{{{{{zz|z{{{z{z{yz{z|z{{{||{zz{z{z{{{{|{|{yz{|{{{{{{{|{{{{{z{{z{z{z|{|{||{|{{{zzz{{{|{{|{{{{|z{zzz||||{|}{||z{{{{z||{{{z{{{z|{z{{|{{{||||{{{{{{{{{|{||||}}|{{|{{{{||||}{{||{|{|{{{{{||||||z|{z{{|{|||{|}}||{||{{|z{|}|}}}}||{|{{{||{|||||{|{{||{|{||{||||}{{{{{z{{{|{|{|||{|{{{z{{||{|||||{{|{z{|{{|||z{||{{{z{z{z{||{|{|{{zyz{zyz|||{|z}||{zz{z{z{z|||{{|{{{{{{{z{{|{|||||z|{{{|z{z|||{|{{{z{zz{{||{{|||}|{{{z{zz{|{{|{|{{{{|z{z{{z{|{{|{{z{zz{zz{{z{{{||zz{z{zz{z{{{{{{{{{z{{{zz{{{{{|{{z|{{z{z{{{{|z{|{|z{{{{{z{{{|{{{|{yzzzz{{{{{|{{|{{{{z{zzz{||{{{{{{{{{|z{{{{||{{|{{{{{{{{{|{{{|{{|{{{{{{{z|{{|{{{|zz{{{{{{{||{{|{{|{|{z|z{|{|{||}|||z{{{{{||{{|{{|{|{zz{{{||||||||{{|{z|{{||{}{{|}{{{|{z{{||}|{||{|{||{|z{||||}{|}{{||z{|{}|{|||}||||}|{{{{}||}||}{||{z{{|}{||||{}|{{|||{{||||||||||{{|z||{||}||}||{|z{{{{z||||||}|{||z{{{{}|}||||||{{{{{{z|}||{|{{{z{{zzy|{{|{{{|{{z{zzzz{z{{|{}{|z{z{z{z{{{||{{|{{|{|{zzz|||{z{{{|{zzzzz{{z{{{|{zz{{{{{z{{{{{z{|{z{z{zyz{{|zz{{{zzzz{zzz{{{{z{{}{{zzz{zzz|{{{z{{zz{zz{z{z{{{||{{zz{|zz{z{{{{{{{{zy{zzz{zz{{{z{{{{{z{zzzz{zz|{{{|{{{z{zzzz{|{{||{{{{{zz{{{||{z{|{{{{{{{y{{{{|{||||z{{{{|zz{|{||}{{{zz{{{{|{|}||{{{{z{z{z|{{||{|}}}z{{{{{{{|||||||z{{{z{{z|{{||{|||{{|z{{{|{|||{|}{{|{|{z{{}||{|||||{||z{|{|{|||{||{{{{||{{}||||||{{|{{{|{|||||}||{z{{z{{{||||{||}{{{{{|{||}||}||||||{|{{|||{||{|||{{{{{|{{{{{||}||{{{z{z{{{{|{{|{{z{{{z|{{|{|{||{{y{z{zz{{{z{{{z|z{zz{zz{{|{{{}{||{zy{{zz{{{|||{{{{z{{zz|{|{|z{|{{{{zyzzz{{{z{{{|zz{zzyzz{|{{{||||{z{zzyzzz|{{{z{|{zzz{z||{zz{z{{zz{z{yzzz{||{{{{z{zzyzyz{{{z{||{{z{zz{{y{{{{z{{|{zy{zz{y{{z{{|{|z{{z{z{z{{{{{{{{zzz{{z{{{z{{{|{{{{{{{z{z{{|{z{{|{|z{{zz{{|{{||{|{{zz|{{|{|{{|{{|{|z{{z|{{{{||||{{z{{z{zz|||||{{|{{{z|z{{||{{|{{||{{{{|zz|z|}|{z}{z{z{{{|{{||{{{||{z|z{{z{}|||{|||{{{{{|{{{{|||}||{|{{||z||||}{{|||{{zy||{}|{|||{{z{{{{{|{{||||}{|z{{{{{{{||{|||}}{z|{{{||||{||{}|{z{{z{{||{|||||{z{{{{{{{|{|||||{{{{{zzyz{||{|{{zz{{{{zz{||{|||{z{{{yz{{{||||{{|{{{z{{z{{{{|{{||z{{z{zz{{{{{z{|{|{z{z{{z{|{{{|||{zzz{zz{|{zzz{{z{z{z{{z{{{{{z{{{z{zz{{{{z{{{{{{{z{{zzzzz{|{{{{}{zyzyzzy{z{{|{|{zz|{z{z{{{zz{||{{zzz{zy{z{zz|{z|{{{zy{z{z{{{{{{{{zzz{zz{zyz{{{{|{{z{z{{{{|{{{|||{{{{{{zz{|{{|{{{|{||z{zzz{|{y{|{|{z|z{z{z{||{{{||{|zzz{z{{|{|{||{|{zz|zz{{|{{{{||{|z{{{{z{||}|}||{{|{{{z{||||||{||{{{{{{{z{|{|||||{{{{z{{{||{|||||{{z{{z{{{||{||{{{{|z|{|{||||||}{z|{|{{|||}||}}{}zz{{z{{}{||||}|{{|z{z{{||}|}||||z{{{{z{{||{{|}||||{z{{z{|{||{||{|{y{{{z{{{{z{{z{{zz{{zz{{{zz{{|{zzzzzz{{{{{{{||zz{{z{{{{{|z|||{|{|{zzzzz{|{{{{{{z{zzzz{zz{{{{{{zzzzz{|z{{|z{|{|zzzzz|yz{z{{{||z{zz{zzz{{zz{{{{{zzyz{{zz{{zz{{{{{y{{{{zzz{{z|{|{z{{z{zyyz{{{{{{{zz{{{zz{{{z{||||z{zy{{zz{{{{{|{{{zzz{zzz{||{|{|{{z{{zzzz{{{{{{{{{{{zz{|{|{|{{|{|{z{{{{y{{||{{|{|{{{{{z{{{{z|z|{|{{{{{|z{{{{{|{|||z{{z{z{{}|{{||{|{{{{{|||{|{|{||{{{{{z|{||{|||||{{{z{zz{{{|{|||||zz|{|z{|{{{|}|||{|{z{|z|{||{|||{{||y}||{{{|{}||{{|{{z|{}|{|{||{{{|{{{{{||{}{||||||z||{|{{{|||}{{{{y|zz{|z{||{||||{|zz{z{{{{|{}{{{|zz{{z{{{|{|z{{zz{zz{yz{{{{{{|{z{{zzzz{||z|{}|{z{z{{{z{{z{{{||{z{zz{{{{{|{{{|{{{{zzz{z{|{{{{{|{{{{z{|zzz{z|||{z{z{{{{z|{{{{{{|z{y{{z{{{{z{{{||{z{zzzzz|{{z|{{{zzzz{zz{{{{z{{||zz{z{{z{{z{|z{{{{zzzz{z{{{z{{|{|{{z{z{zzz{z|{{{}zz{zz{{y{z|{{{||{{z{{z{z{z{{|{{{|{{zz{{{{|{z|{|{zz{{{{{z{|{{{{{{{{{zzz{z|{|||{{|{z{z{{{zz{{{{||{{{{{|{z{{||{||{{|{{{{{{{|||}{|||{{{||||{{||||}}|{{{{{{zz{{|}{|||{z{{{{{{{||{|||||{{{{|||{||||||||{{{{|{{{|}}{||}|{{|{{{|}|||{{||||{{|{{{|||{|}|||{{|||z||{{|}|{|{|{{{{{z{|||||}|{{{{zz{{{|{|{||{{zz|{z{z||||{{{{{z{z{z{z{{|{{{||z{{{{{{z{{||{|||{{{{z{zz{}|{{||{{{{{{zz{{|z{|{{||{yzzz{{zz{||{||{z{zz{{{{{{{{|{|{z{zzzzz{{{z{{{z{z{z{{zy|{z|{{z{zzz{z{{z{{{z{z{{{zzzzzzz{{}|{z{{{{zy{{zz{{{{z{{{|{z{zzyzz|z{{{||{{{z{z{zz{{{z{{{zz{{z{zz{|{{{{|{{zz{{z{zz|{|z{{{{z{z{y{{{|{{|{||{z{zzz{{{{{{{|{||z{z{z|z{|{||{{z{z{{{{|z|{|{||||{z{{{{zz{{|{{||{z||{zz{z{{|{||z|{zz{{{{{{|}||||||{|{{{z|{||{|}|||{{||{{{{||}|}|}||z|{{{{||}|}||||{||{||{{}||||}}|{}|{{{{||||{|}|{{{|{z{{||{{{|}{{|{{|{{||z||{|{~{{{{{{{{{{|{{||{{z{{{{{{{|{{{|{{|{{z{zz{||{|||{{z{{z{{zz{{z{z{||{{{{{{z{{|{{{|||{zzzz{{{{|||{|||{{zz{|{|{{{{|z{||{zzzz{z{|||{|{}z{{{{{zz{{{{{{{{{{{{{{z{{{{|z|z|zz{zz{z{{{z|{zz{zz{z{zz{|{{||{|{{z|{zz{{{z{{|{{|z{{z{z{{z{zzz||{{{zz{z{{{{{{|{{|{zz{|zz{{|{{|}|{{{{yz{{{|{{|{||||{{{z{{z}{zzz{|{{zzy{z{{{{{{{|z|||{|zz{z|{{{{{}|{{{y{{{{{{{{{||{|{{{z{{z|}||{|||{{z|{z{{||{{{||{|{||{{{{|{}||||}{{{||z|{||{|}||||||{|z|{|}|{|||{|{{z||{||}||||}|z{{{{|{|z{{||||}||{{{z|{{|}|{||}|{{{|||||{{|||||||{{{{{{||{||}|||{{{{{{|{|{|{||}{{{z||{{||{|{|}|{|{{|{|{{|{||||{{z{{{|zz|{{|{{{|{zz{{z{z{|{{{z{{{{y{{z{y{z||z||{{{z{{z{{{z{||{{{|{z{zz|z{{|}z{{|{{{{zyzz{{{}{{z|{zz{{{{z{|{z{{|{{{{{{z{z{z{{{z{{{z{{{zz{{{z||{{{yz{z{z{z{zz{{||zzz{zyzzz{{{{{{{{{{zzz{zz{{{{{{z{z{y{z{z{{{|{z{{|{{yz{{{zz{{|{|z{z{zy{{z{{|{{|z{|{|{z{z{{z{{{{{||{z{{zz{{{{{|{{||{{{{{{z{{{|||{{{{{zz{y{zz||{||}{zz|zzz{z|{{|{{|{z{{{{{{{{{{{|||{{{{z{{{{|{{|{|}|{{{{{{|{|{|{{{|||{{{{|z{}|||||||{|{z{|{{{||{{|}|||{{{{|{|}{{|}|||{{{|{{|z}}||||{}{||{{|||||}{|||||{{{{{{{{|{|||{|{{|{z|{{{|{|{}|{|{{{{|{{{|{{||{||{{z{z{{|||||||{{{{z{{|{||{{|{z{zzz{z{z{||{|{|{{zz{{|{{z|{{|{||z{zzzzzz{z{{{||{|{{z{zz{{{{|zz|{z{{zzzzzz{{{{z||{{{{z{zz{{z{z||{{{{{{z{zz{yzz{{{{{zz{zzz{z{{{{{{zz{{zz{{y{{{|y{{zz{{{zzzz{{|{{{{|zz{{zyz{{z{{|{{{{z{{z{zz{zz{{{{z{xz{yzz{{{{z{{{yz{{|zzz{||z{|||{zzz{{zz{{{{{z|{{z{{{{{{|{{{{|{{{{zzz{{z{|{{||{||{zz|zzzz|||||{{{{|{z{{{{{{||{}|{zz{{{{{|||||{z{{{z{{z{{{{||||{{{|||{{{{}||}|{{}{{{|z{{|{|||{|{{{{||{{z{||||||||{{{{{{|{{||}{||||{{{{{{{{}{||{|{|{}{{{{{||{|{|||{zz|||{{||{{|}|||{|{{|{z{{}{||||{|z{z{z{{|{|{||||{zz{{{z{{|{{{|{{{{zz{zz{{{||z{{{{zz{zzy{z{{z{|{{zz{zzzz{{{||z{{zzz{z{zy{z{{{|{{{zz|zz{zz||{{{{|zz{yz{zz{{|{{{{|{{{zzzz{{{{z{|}{zzz{zzzz|{z|zz{{{{zzzzzz{{{{{{{|{zz{{yzyz{{z|z|z{y{zyzzzz{{{||{{{z{{zyz{{{{z{{{{{x{yzz{zz{{zz{z{zz{{z{{yz{{{{{|{{z{{zzzz{{z|{{{|{z{z{{{z{{{{zz||{|zz{z{{|{{{|{z{{zzzzz{z|{{}{||||{{zzzz{{}{|z|||{{z{zzz{{{|{|{|{{z{{z{{z{{|{{||{|{{z{{z{{|{}}{{|zz{{{|{|{{|||||{{{||{z{z|||{||{|{z{{{z{z{|||{|||{z{{z{|z|{}|||{||{{{z|{{z|||||}||{{||{{||{|||}{||{z{zz{{{{||||||{{{{{|{{{|{|{|{{|zz{{{|z{{||{||{{z{z{{zz{{{|{{{{|{{{z{y{{{{{|{{{{{zyzzz{{{{{z|{{zzz{{z{z|z{{zz{{{{|z{zyz{{{z{||{|{z{zzzzz{{{{{{z|zzzzz{y{{{z{{{{{{{zz|{{z{{z{{|z{z{zzzz{|{{zz{{z{zzz{z{{{{z{{{z{zzzzzzz{{{{|{z|{{z{zy{zzzz|{{|{}{z{{z{{{z{z|{{|{zzz|zz{zz{{{{z{zzz{zzzzzz{{z{{z{zz{z{zzzzz|z{{{|{{z{{{{zz{{{{}{|zz{{zz{{{{{|{{{|{{{z{z{{{{||{||{{z{{{y{z{{|{{}z{|{{{{{z{{|{|{||{{{{{|{z|{{{{{{|{|z{{z{{z{{{||||}{{z|{{{{||{{{{|}{z|{{zz|{{{{{{|||z{{||{z|||||||}z{z|{{|{{|{{{|}||{}{{{{{{}{{||}||{{|{{{{||||{||{|{|z{{||{||}||}||{{{{{{{|||}||||{z{{{|{z{{||||{|{{zz{z{z{{||z{{{{{zz{{{{{{z||{{{{z{z{zzzz{{|{{|{z{{yz{yz{|{{z||{z|{z{{{z{{|{{|z||z|{zz{z{z||z{{{{{zy{{zz{{{{{|{{z{zyz{{y{{{{zz{{|z{zzzz{z{{{z{{{{{zzzzz{{z|{{{{{zzyzzzz{{{z{{{{{zyyzzzyz{||{{{{z{z{zz{yzzz{zz{|{z{zzzz{z{{{{{{z|{z{zz{zyy{zzz{z{zz{zzz{zzz{{{||{{zzz|zz{{|{{{{{zz{z{z{{{{{{{|{|{yzzzzz{{{{{{z{{{{{{|{z{{{}{||{{|z{{{{zzz|{{|||{|{z{{{{z{{|{|z{{{{zz|{{|{|{{{{{|{{{|{{{{|{|{{{|{|{z{zz{{{|||{|{{|{{{{{|{z{|{||}{{{{{{{{{{{|{{}|||||z{||{z{||{|{|{||zz{{{{{|z}|||{{{{z{|z{|||{z{||{{z{|{{z||{|||||z{|{zz{z{z{{|{||{{z{{zzz{{||{|||{{{{{zz{z|{{{{{{z{zyzz{zz{|z{{|{{zzzzy{zz{{z{|z{{{zzzzzzzzz{z{{{{zz{zyyz{z{{z{z|{{z{z{zy{{||z{z{{{{{{zzzz{{z{z|{{zz{zzz{yy{{z{z{{{zzy{z{zzz{zz|{zzyzzzzz{z{zz{{zzzzzzzzzz{{zzz{zzz{yzzzz{{z{{{{|{zzz{zzyy{{{{{{{zzy{zzz{z|z{z{{{zz{z{zzz{{{{{{||z{z{z{{z{{{z{|{|{z{{zz{zzz{{{{{{zzz{{z{{{{{{|{|{|{{z{{zz{{{{|{{|z{{z{{zz{{{|{{||{zz{z{{{{{{{{|{{{{{{{{{{{{||||||{{|{{{{z||||{z{{{|z{{zzz{{|||{{{{z{{{{|{{|{||{{{|{{{{{||||{{}|{||{{|{|{|{|{|{{}||||{z{{z|{}{|{||{z{|{{z{|{|}|{||}{{{|{z|{{{{|{{|{{{z{zzz{|z|{{{||{{{|{{z{||{||{zzz{{{{zz{|{{{|{y{{{zz{z{{{{z|{{{{zzzzzzz|{{{{{{{|{zz{zzz{{|{|{|{{z{{yzzzz|{|{{z{z{zzzz{z{z{|z{{{zzzzzz{{{{zzz{{{{zzz{z{z{{{{{{{zzz{{z{z{{{z|z{z{{zzzzzyzz{{{zz|{zzz{z{zz{z|{{|{zzzzz{zzz{{{{{{{{{z{{{z{y{{z{{z{zy{zzzz{{{{z{{{{{{{y{z{zzz{{{{{{|z{zzz{{yz|{z{{{|z{z{{y{{{z{{{{|{{z{z{{{{{{{{|{{||{{zzy{{{{|{{||{{{{z|{{{{|}z{{|{{{zz{{{z||{{{{{{|{zz|{zz||||{||{{|{z{z{{{{|{{|||{{{{{{{{|||||||{}z||{{z{{||||||{z{{{{|{{||{|}|{||{z{{{{{|||||}|}{{{{zz|{}|}|{||{|{{{{z{|}|{}|{}}{|z{|{{{{|{{||||{z{{z{{z{|{||{|{{z{{{{{z|{{{{{||z|zz{{{z{{{|{{{{|z{{{{{z{|{{{{|{{{z{z{{zz{{{||||{{{{{{{z{{z{{|||{z{{{zz{z||{{{{|{{|zzzzz{{{zz{{|{{{{zz{{z||{z{{{z{z{zzzz{{{{{{|{{{{zz{zz|zz{{{{{zz{z{zzzzz{zzz{{{zyzzzyz{{{z|{{{z{zzy{yzz{{{{|{{zyz{{zyzzzz{{|{|{z{{z{{{z{{|{|{{zz{{z{{{z{z{{{{{{{{z{zzz{z{{{{{|{{{{{{{z{{{{||{{z{{{{{z{{|{z{{||{{|zzz{{{z{||||{|z{{{z{z{{{{|{||{{z|z{zz|{{{{|||{z{z{{{{{{|||||}|{{{{{{|||{||{||{{{|z{{{||{|{||||zz{|{{{}||{}{}{{{|{{|{||{{|{|||||{||{{{|||}|||}||{{z{|{}|{|{{z||z{{{{{{{{{{}|||{{{||{{{{{{||||{{z{zz||z{{{{|{|{|z|{{{{{||{{{{{|{{{{{z{z||{{{{|{z{z{{{{zz{|{{z{|z{{{{zy{{{{|||{{{{{z{zzy{{|{{{|{zz{zz{z{{{{{z{{{{{{z{{{z||z|{{||zz{y{zz{z||{z{|{z{zyzzzz{{|z{|{{{{zzyzzz{zz{z{z{zz{zzzz{{{{{{{|{zz{{yzzz{{{{{{{{{{{{zz{z{{{{{{||zyzzyzzzz{{zzz|{{z{{yz{z{{{{{|{{z{{{{{zz{{z{{|{{zz{z{{{{|{{z{{|{{{{{{z|{{{|{||||{z{{{z{{||{{z|||{{|{zz{z{|{{||||{{{{{{{z|||{{{|{{zz{{{z{|||{||{||{z|{{yz{{||||{|{{{{{{{{|{{||{|||{{|{|{{{|{|{|}{|{{{{|{{|{|||{}{{|}|{{|{|{|||{}||{{{{{{{|}||||||{{{{{{{{|{{||}|||{{{{|z{{|||||||||{{{{{{||z||{||{|zz{z|z{||z{|{|||z{z{zz{|||{{{|{{{z{{zz{{{|{|{{{{zz{{z{zz|{|{{|zzz{z{{z{{{|{|{|z{z{z{{{|z{{{{|{{y{z{{{{|{|{{|{|{{zzzzz{|{{|{{z|{{||{{{zz|{{z{{{{z{{{zzzz||{z{{zz{zz{{{zz{{{{z{{zyz{{zzz{{|z{{{{{zzzz{zzz{{{{{z{z{zzzzyzz{z{{{{|z{zzzzzy{{{{{{{{z{zz{zz{{|{z{|{{{z{{{{zzzz{z{|{|{y{|{z{z|{{z|z}{|{{zzzzz{{z{{||{z|{zy{{{{z|{|||{|{|{z{zz{|{{||{{|y|{{|zz|z|{|{{|{||{||{{|{{{|{{{{{||z|{z||{{|{||{{{{{{{{|||}|||}{{{|||{{{|||||{||zz{{|{{}{{|{}}}{{{{|{{|{}{{||{||z||{z{|{}|{||}}{|||{{|||||{{||||{|z{{{||||}{|{}|||{{{|z||{||}|{{z{{{{{{|{||||||{{{|{z{y{|}|{{{{|z{zz{{z{{||{|{|{{{z{zz{z{z{|{{{zzz{zzz{{{z{{||{{{z{{{zz{{{|z{{{{{zzzzzz|{{{{{||{zzzz{zz{{|{{{|{{{{z|{{z|{zz{{{{{{yzzz{{{{}z{{|{zzz{z{{zz{{{z{{{z{{zzyzzzz{{{|{{{{{{zyy{{z{|{{z{|{{zzyzzz{{{z{{|{zz{{{{z{{{z{z{|{z{z{{{z{|{z{|z{{z{z{{{z{zz{{z{{zzz{zzyz{|{z{{{|{z{{zz{||{{|{{|{zz|zzzzz|{|{{{{{z{{{z{{zz{{|||||{{{{{{{{{|{|{{||{zz{{{|{|{|{|{{{{z{{zz{{{{|}z||{{||{|z|{|{{|||{|{z{{z{||{||||{{{}{{|{{{{{||{|{{|{{||{{|{||{|||{||||{{|{{{}}{{}}||z||z|{|||{||}|}}{{{|{{|||{|{|{|{{{{|{||{||}||||{{{{z|{z{||{{||}{{{zz{z{{|{{||{|{{{|{{{z|{|{|{{z{{zzzzzzz{{{{{|{zz{zzzz{{{||{{{|{{z{{z{{{{{||{|{{z{{zz{z{{}{zz{zzzzzzz{y{z|{{{||z{zzzz{z{{|{{||z|z{z{zzz{{{|z{{{zzz{zzzy{{{|{{{{z{{z{{{yz|{{{{}{{zyzzzzz{{}{{{{{{z|zzzzzz|z{{{||{{z{{zzzzz{{{|{{|zzyzzz{{}z{{{|{{{z{{{{{z{{z||||{{{{{z|z{{z{z{{{{|{{zz|{{{{||{{|{{|{{{{{{{{||{|{{{|{{{{{{|}{||}|{z||{zz{|{{{{{}|{{z{|{z{{|{{||{{||{{{z{||{{{{{{{{{{{|{{{{|{{|||{{{{{{{|{{|||||||}z{{|{{z|||{|||}{{{|{|{{||{{}||{|{{|z{{{|}|{||}|{{||y{|z{|||{|||{{|{{|||{|{|{{}}}{{{|{{{||{||{}{{{{{{{|z{|||||}{{{{zy{{|z{{|{||{{{{{zzz{{{|{{zz{z{z{{z{yz{{|z{{{{z{z|zz{z{}{{{}|zzzz{{zz{{{{z{|{|{zzz{{{{{z{{{{{{{{z{zzz|{{{z|{z{{z{{zzzz{{{z{{z{zzzzzz{{{{{{|zzzz{{zzz{{z{z{{{{zz{z{z{zz{zz{{{{{zz{zzx{{zz{{{zz{zzzzzzzz{{{zz{{zzzyzyzy{{{{{zz{|yzz{yy{zzz{{|{||zzzyz{{{{{{{{||{{zz{z{{{{|{{{{|{z{zz{{{{z{z|||{z{{{{z|{{{{|{{{{z{{{{zzz}|{|{}|{{{z{{{{z{{{{{{|{zzz{{{z{{||{{|{||{{{{{y{|{}||{|||{z{{|{{{|{{{|}}{z{{{{z{||||{|{{{{{z{|{{}||||{||zz|{{{{|{{||{|||{{{{|{{{{|{}||{||{{||{{{{|||{}{||zz{{{z{{|||{{{}{{z{{{{{|{{{||||{{{z|{z{{{}{|||||{{{{{{{z|{{|||{z{{zzzz{{{||{y{}{yyz|zzz{{|{{{{|{z{{z{z{{{{{{||{{zzz{z{{{z|{}{|{{{{zz{zz{z{{{{{|{{{yzz{zzz{|{z{{{z{zyzzzzz|{{{||{{zz{z{z{zz{z{{{{z{z{zzzz{zz{{{{zz{{{{yz{zz{z{{{{zzzyzz{{{{z{{{{{z{zzzzyz|zz{{|{z{zzzzzz{z{zz|{zz{zyzz{yz{{zz||{{z|{zzzzz|{|{z|{{{zy{z{{z{{{{{{|{z{zz{z{{{z{||{{|{|zzz|{||{}z|{{{zz{{z{{zz|{{|{{{{zz{{z{{{|{{{|{{{{{zzz{{{{{{||z|{z{|{y{{||{||{|zz{z{{{z|{{|||}||{{{{z{z{||{{||z|{|z{{z|||||||||z{{z|{{{{|||{|{||{{{|{|{{||||||||{{|{{{|{{||{|||{z{{{z{z|||{{{|}|{{z{{{z|{|{{||||{{{{{{{{{{||}|{z{z{{{{{{{{||{{{{z{zz{z{z{{{{{{{y{z{{zzyz{{zz{{{{{yzzz{z{{{|{{{{{{{zz{zz{|{{{{{|{{z{zz{zz{{|z{{|{{{zyzzx|z{{z{{{z{z{{zz{z{z{{{{|{z|z{zz{{{z{{{{{z{z{{zyz{zz|{zz{{{zzzzzzz|z|z{{|{zzzzzzzz{{z{{z{{yzzzzzyz|{z{{|{{zz{{{zyz{{|{{{zz{z{zz{zz{{z{{|{zz{zz{{zz{|{{{|{zz{{z{{z{{zz{|{|{z{{zy{z{z{{{{|{{z{zzzz{{|{{{||{{z|{{z|{{|{}{{{{{{{z{{z{{{|{|{}z{{{{z|z{|}|{z|||{{{{{{|{||||{}}{{{{|{|}{{{|||{||{{{{|zzz{{{}|{||}{{{|{{|{|||}||{z{z{{{{{{|{{{|{||{z{|{{{{{}||{|||z{{z|{{|{|}{||||{z{|z{{{{|{|}|{{{{||{{z|{|{{|{{{zz{{{{z||{||{|{|{{{{y{{||{{||||{z{z{z{{{{{{{{|z{{z{zzzz{|z{{z|||{{z{{{{{zz{z{z{{{{z{zzz{{{{{|{{z{z{z{z{{{{|{|{{{{{zzz{z|{{{{{{|zzzzyz|z{{{{{{{{{{zzzzzz|{|z{{{{{zzzyzzz{|{z{z|{z{zz{zzy{{{z{{{{zz{zyzz{zz{|{{{{zy{{zzzz|z{z{{{zz{{z{zzz{yzzz{{z{{zz{{|zz{{z{z{{{{{{zz{zz{{{{{{|{z{{zz{zz{{{z|||{{z{zz{{{{{|{{||z{zzzz{{{{|{{{|{zz{{{{z{{{{|z|{z{{{{{zzz{{z{{{||{zz{z{{{z{{{|||||{{{{{{{{{||||{{z{{|{z{z||{|{||{|{{{{zz{{||z|||{|zz{{{{{|||{||}|{{|{|{{|{|{{|}|}{{{{z|||{||||||}|{{{{{{{|{}|{{|{{{{{{zz|{{{{|}}|||z|{zz|||{}{|{{{{{z{{{{z{{|{{{|{{z{{{{{{|{{{{}{{z|z{z{zz{|{||{z{{zz{zzz{{|{{{{||zz{zzzz{{|{z||{{zzz{{yz{{z{{{{{{{{z{{z{z{z{z||{{{zzzz{y{{||{|{{{{{zz{{z|{{zz{{{|{zzzyzz{{{{z{z|zzz{z{z{{zz{{zz{|zzz{zzz|z{zz{{zzz{zyzzzzz{{{zz{zy{{z{zz{z{|{{{{z{yzzzzzz{z{|z{{zzzz{zzzz{z{{{|{zz{z{{z{{|{|{{|{z{zz{zz{{{|{z||||z{zzz{z{{zz|}{|{zz{{{{z||{||{{|{||{zz{zz|{}{||{{{{{{zzz||}|{{|{zzzzzz{{{{{|{|{{{{{z{{{{{{|||{||z{zz|{{z|{{|||}{{{z{{z{{{|||}|||{{{{{{{z||{{{|||{{{{{{|z||{||||||{{{{{{{{|{|||{{|zz|{z|{||||{|}|{z{{|{{{|{||{|||{{|{{{{{{{}|||{{z{{zz{{{||{|{|||||{{y{{z{|{||||{{{zz{z{{{{|{{z{zz{|zzz{|z{{{{{{{{zzz{y{z{z{{{{z{|{{zz{{z{{z{|{{|z{zzz{{{y{{{{{|zzzzz{zzy|z{|{{{{zz{zzz{z{{zzz{{{{zzzzzyzyz{zz{{{{{{{yzz{z{{{{z{z{y{zzyzz{z{{{{{{zzzyyzy{z{z{{{{{{z{zzyyz{{zzz{||{{z{zzzzz{{z{|{zz{yzz{zzzzz{{{{{zzxz{{zz|{z{{{{|{{{z{{{zz|{z{|{{zz{{{zzy{{{|z|{|z{{{z{{z{{{{{{||zzzz|zz{{{{{{{{|{z{zzz{{{|||{||{{z|{{zz|{{|{{{{||zzz{{{z|{{{||||zz{{{{||||{|{||{|z{{{{z{|{|||{|{|{{{{|{{{||z{{}|{{|{{{{|{{{}|~||||z{z{{{{}|||{{||{|{{z{{|{|||||||z{{{{z{||{{{|}||{|{{{{{{{||{{{|{|{{zzz{{z|{|||{{z{|z{z{{|{{|||{{|{{{z{z|||{{{{{z{zzz{|z{{|z{{{}zzzz{z{{{{{|zz{{||zzzzzz{{z{z|{{{z{z{z{{z{|{{{{{{{{z{{zz{{{|z|{|z{{zz{z|z|{{{{|{z|z{{z|{z{{z{{z{{{z{zzzz{z{{z{{{z{z{zz{y{{zz{|{{{{{{{zz{{{zz{{{z{zz{zzyz{{{{{{{{{z{zyyz{zz{|{{{{{{yzyz{z{{zz{|{{{z{z{{zz{|{|{{||{|zz{zz{||{{{z||{zz{zz{z|{{|{{{{{{z|z{z{{{z|{|{|{{{{{z|{{|{||||{z{{z{{{z|{|{{|{{{|{z{{zz||{{{|{||{{{{{|z{}{|||}|z{{|{{|{{}|||{{||z|zz{{{{|}{|{|{|z{|{||{||{{{|||{{{||{||{{}{|}{}|{{|z{{{{||{||}||{||{{|{{{|}|||||{{||{{|{||{||}|{|||{{{{}||}{||||{z|{z{{{{||{{|||{{|{{zy{z||||}|{{|zzz{z{z|{{{{{z{{z{zz{z{{{{z{{z{{{{z{{{{|z{|{{{zzyzzzz{|{|{|{{{{zzz{z{z{||{{{|zz{zzz{zz{z{{{z{z|{zz{{zz{{{{{{{zz{z{z{z{{{{z{{{{zzz{{{yz{z{z{{{zyz{yzzz{{z{{||{{y{{zz{{{{{{{{{{z{{yz{zzz{z{{z{zz{zz{zyyz{zz{{{{{z{{{z{zzz{{{|{{zz{z{{{z{{{{|{{{z{{{{{z{{{{{||{{{|zzz{z{zz|z{{{|y|zzz{zz{{{|||{||z{{{zz{|{{|{|{|{zz{{zzyz|{z{||{{{|{z{z{|{{{z{{{{{z{{{{|{|||{|||{{z{{{z{{{{|{||||{{|{{{z{||{{}|||{{|{|{{||{{{|||{{||{||{|}{{|{|||{{{||{{|||||{{|{{{{{{{|||||||{||z||{{{{|{{|{{||{|{{{z{||||}{||{z{{z{{{{{{||{|}|{{{{{{|y{|{|{{|{zz{{z{{{{||z|{{|zzz{{z{y{|{{{|{|{{z|zzz{{{|{|{{{{zzzz{zz{z{{{|{z{zz{{zz{z{{{{{{{|z{zz{z{z{{{z{z|{{{{z{z{{|{z{||{{{{zzzzz{{{{{{|zz{zzz{zz{{{{{z{|{zzz{z{zz|{{{||z{z{{zz{z{zz|{{{{z{z{yzzz{{{z{|{zzzz{{z{zz||z{||{zz{{{z{{{{z{{{{|{y|{zzzzzz{||{|{|{zzzz{{|{{{|z{{{{{zzz|zz{{{||{{{{z{zz{z{|||{|{}{{|{{z{{{|{|||z|{{{{zz{{{{|{{{|{|{|{z{{{{|||{{||{{z{z{{|{|{|{|||{{{{|{{{||{|||||{{zz{{{{{||{||}|{{{{{{{{}{{{}{}|{z||{||{|{||||{{|{{|{{{||}|{|||{{|||{{|{|||}}{||{||z|{{|zz||{||}|{{{|{z|||{|{|}|{{{z{{{{{|{|z||{|{{|{{{{|||||||{{{{{{z{z{{|{|{z{{{{{z{z{{}zz{|{{{z{zzzz{{{{{|{|}{{y{{|{{{|{{{{|{{zz{{{yz{{{|{{|{{z{zzzzzz{|{z{{|zy{z{yzy{z{z{{{{{{zz{z{z{z{{{{{z{z{zz{{zz{{z{{{|{z{z{zz{{z{|{{{{z{z{z{zzz{{{|{{|zyzzz{zzyz{{{|{||zzzzz{zz{zz{{{{{{zzz{zy{{y|z{{{{zzzz{z{|||{|{{|zzzz{{{y{{|{{{{|z{{y{{zz{{|{|}|||{{z{z{{{|||{||{{z{|z{{zz{z{|{{{{{{{z{{z{}||{{|{{{|{{|z|{|{{{{{|z{{{{{{{|{||||{|z{{{|{z{{|||{|||{z{|{|{z||{|{|||{z{{|{{z{|{{{{||{z|{zz}z{|{|{|{||{|z{{{{{||}{|||{{|{{{||{{|{|}||{zz{{{{z||||{||||{{{{z{|{||||||||{{{|{{{{||z{{}|z{{{{z{{{|||y|{z{|{{zyzz|{{{{{|{zz{yz{zzzz{zz{z|zz{z{zz{{{{|z|{{{|{zzy{{zz{|{{{|z{{zz{z{z{{{{{|{{|z{zzzz{z|z{zz{z{z{zz{{z{z{z|z{{{zzz{z{z{{z{{{{z{zzz{zz{z{zz{{|z{yzzzzz{{{{{{{{{z{zyzy{z{|z|zz{{{{zz{zz{{{{{{{{z{z{yzyy{{z{{{{{{{z{zz{{zzz{{|{|zzzzzzyz{{{{{{{|{{{zzzz{z{{z{{{{z{z{{zz{{|{{{z|{|z{zzz{{|{{|{{|z{z{|zzzz{|{{{{{{{z{{yzz{{|{{{||{{{{|zz{{{{{zz|{{{zyz{{|z{{{{}|{z{{{{{{{z|{||{||||z{z{{{{||{{{{}||{{|{|{{{|||{|}{{{|{{{|{{{{|{|{||{{|{|{z|{||{||||{||{{z{|||||}|{{{z{z{z{{|{||{{}|{{{|{{|||{|{|}|||{{{{{{{{|||{{|{{{{z{{z{|{|{{|{z{{{yz{z{{{{{{{zz{{zz{{zz{{z{{{{{{{zz{{z{z{{{{||{zzzzz{z|z{zzz{|zyz{{yz{{{zy{{{{yz{zzz{zz{|z{{{|{yzzzzyz{{yzz{{{{z{zzzyzzz{zz{z|zzzzyzzzzz{zz{{{{z{y{yzzz{{zz{zz{zyzzzz{z{{{{{{{{zzyyy{zz{z{z{|{zz{z{zzzzz|zz{{z{zzzzyz{z{{z{|{zzz{{{yzz{|{{{z{{{z{z{{zyz|{|z{{|{z{{{z|zz{z{|z||{zz{{{{{{{{{{{{{z{z{|zzz{{{{{{z|{zz|zzzz{|{{|{|{zz{{z{{{{{{z{|{{{zz{{zz{{||{|{{{{{|z{{|{{||{{|}{{zz{zyz{{||{|{{{{z{{|z{{{|{{|{||{z{{zz}{{|{|{|{||{|{{|z|z{|||{||{{{|zz{{|{{{{|||{{z{|z{{{|{{|{||{{{{{{z{{z{||{{|zz{z{{zz{}{|{|}{|{{z{z{zy{|||{{{z{z{{{{{{z||{|{{z{{xzzzy|{|{|z{|{zzzzyzz{{||||{|z{{z{{{{||{{{{{|{{z{y{{{{{{{z{{{{{{zzzz{z{{{{{||zzz{{zzyz{{{{{|{|zzzzzz{{z|zz{z{zzz{zz{{y{z|{{{|y{yz{yzzz{z{{||zzz{zy{zz{z{{{{{|zz{zyzzz{{z{{{{z{zz{z{zz{{{zz{{{{z{zzz{z{|{z|{{{z{zzzz{y{}z{{{{{{{{z|zzzz{zz{{||z{{{zz{{{{{z{|{{z{z{y|zz{{{||||{{{{{{z{{{{{{|{|{z{{z{{zz{|{{{{||{{|z{{{{z{||{{{|{{{{{zz{|{||||{|{{{z{{{{{||{{|||{|{{z{{yz||{|{{{{{{z|{z{{}{|||||{{|{|{|{||||||{}|{{{{{z{z}|}|||}{z|{{{z{|||{||}|{z{{z{z|{|{|||{|{|{{{{{{||{{{|{||{z{zz{{||{|{}|{|z{{z{{z{{z{{|{z{{{z{z{zz|{|||z{zzzy{z{zz|{|{z|{zz{zzzy{{zz{z{{{{{zzz{{z{{{{{{|{{z{{{z{{{z{|{{{{zz{z{{{zz{{}z{{|{{z||zzz{{zz{{{{{zzzz{zz{{{zz|{{{{{zz{{z{z{{zy{{zzz{zz{yz{{{{{|{z{z{zzz{zzz{|{{{{zzzz{z{{zz{z{|{|{z{{zzzz{{zy{{|zzzzz{{z{{{{{{{|{{zz{zzzzz{{{|{|{zzzz{{z{{|{z{|{{z{{z{{{{{{{||{{yzzzz{z{|}{||{||{{{z{{zz{|{|{|{{{{{z{z|{{{|{|{{|{{{{{{z{{|{{z|||zz|zzzz{{{{{||||{{{{z{{z|{{||||||z{{{{z{{{{||||{{{{{{z{{|{|{{}|||{z{z{||z{|{|{|}|{{{z|z{|||||||||z{{|z{{||{z||||||z{z{{z{}||{|}|||z{{{{{{{|||{|}{{{z{z{{{{{|{|{||z|{{{{z{{|{{||||yzz{z{z{{zz{}|z{{{z{z{z||{zz{{zz{|zzzzzzz{|{|z{||z{z{z{|{{{{{{|z{{{|zzz{{{{{z{{{zzzyzz{||{{{|||z{zz{z{zz|{z{{z|zzzzzz{{{{{{z{{|{zzz{zz{{zz{{{{zzz{zzzzz{|{{{z{{{zzz{z{{{{{{{|{z{zzz{z{y{z{{{|{{{{{zzzzzz{z{|{|{{{zz{zz{{{zz{{|{yz{zyzzz{{|{{{|{{zz|zzz{{{{z{{{{|{{zzz{z{||{{{z|{{{{zzz{{{{{{|{|{{{{{z{{{{{|{{{{{z{z{{z{z{|{{|||{{|||{zz{{|{{{||{{z{{|z||{{}}{||{zz{{{|{|{|}||}}{{{{{{{{{|{{z|{||z{{{{{{||||{||{{z|zz|{|{{{|||{||{z{z{{{{}{|||}}|{|{{{{{||{||||{|{{{|{{{{{||||{|{{{{|{{{||{}{{{}{|{zz{{z{|||{||{{{|}{z{{{}{{{|||z{{{{{{z{|}|{{{{z|{zyz{z{{|z|{zzz{z{{yy{|{{{||||{{yzzz{{zz|{{||{{zz{zz{zz{||z|{{{{{{yz{zzz|z{{{|{zzzz{zzz{{{z|{{z{z{{zyz{z|zz{||zz{zzzzz{{{{{{{zz{zzzzz{z{{{z{|{z{{zzzyyz|{z{{{{zz{zzz{zz{{zz{|{zzz{zzz{{{{|z{{|z{{yz{{z{{{z{{}|zz{{zz{z{||{{{{{z{|zzzz{z{z{{|{{{z{{{z{z|{|{{{{|zz{z{zzz||{{|{{|{{|{{{{{|{{{z|{{{{{z{z{{z|||{{|{{{{z{{{{{|{|||z|{{{z{{{{|{{|{||}{{{zzz|{|{{|{{||{z{{{{{z|||||||{|{{{|{{z|||||{||zz|{|||{|{|||||}|{|{{|{{{|{||{}||z||{{{{{|{}|{||{zz|{z{|{{{{{|||{{{|{{{{{|{{|||{z{{{{{z{||{{{||{|{z{{{|{{{{{{{|zzz{yzz{z{{{|{{z|z{z{z{zzz{{z{{{{{z{{zzzz|zz{{|||{{{zz{yz|{{{|{||{{{z{zz{{z{||z{|zzzzzzzz{z{{{{{|z{{zy{{{z{{|z||||y|zzzzz{|{{z|{{zzzz{zz{zz{{{{{{{{{{{z|z{{{z{|{{{{z{yzzz{|{z{|{|z{zzzz{{{|{{{z||z{|{{z{z{{{zz|{z{zzyz{zzz{{zz{{{|{z{z{zz{{{|{||}{{{z{zz{{|z{z{||{{{{zz{z{||{|{{|z{{yz{zzz{||{|||||{{|z{z{{|{{{{{{{{{{{{{|{{{||||{z{{zz{{|{|{z{{{{|z{{{|{|{||}}|{{{{{|{{||{||{|||{{{|{{{z||{|{{|{{{|z{{{{{|{|||}|{{{{{{z{z|}{|||}|{|{z|{{{}||z|||||||||{{{}{||||||z{||{{{{{{||{|}{{{z{z{z{|||{|||||{{z{{||{{{||||||{{{{{{{|{|{{{||{{{{{|z{|{|||{zz{yyzy{yz{{{zz|{{zzz{zzz{y|{z||{{z{zz{zz{{{z{|{}{|z{{{zz{||zz{{{{{{z{zyz{z|{z|{|{z{z{z{z{|z{z{{{z{{zzzzz{z{zz{{{{z{zzzz{zz{z{{zzzzzzzzzzz|z{{{{z{{{yzzz{{z{{{z|{z{zzzz{{{{z{z{{{{{z{zzzz{{zz{{{{zz{z{zzyzz{{z{{{z{zzz{zzz{|{{{|{{{{zzzzz{|z{|{|{{z{{{zyz{{{{{{{|z{{{{{z{{{{z|{{{{z{y|y{{||{||{{|zzz{z|{{||||{{|{z|z{{z|{||{{{|{|{|{z{{zz{|{|||{{{{|{z{|{||{|z{||||{{zz{z|{||{{{||{z{|{zz|{}}|||{{z{{z||{|{{||||||z{{{{{{{|}|}|}}|{||z{z{||||||{}{{|{{{y{{{|{|||||{{{|{z{{||{||||{{{{z{{z{{{{{|{|{|{{{{z{||z|||{z{{{z{zz{|{{{{z{{z{{zzz{{{{{{{{{zzz{{{z{{z|{{{||{{{zz{{z{{z{|{{|{zz{zzyzz{||{{z{|zzzzzzz{zz|{{{{|zyz{z{z{{{{z{{|{z{{zx{z{{zzz{z|z{{zzz{zz{zzz{z{{{yz{zzyzz{|z{{{{{zzzzzz{{{{z{z{{{{z{yzyyzzz{{z{{zzzzz{zz{{z{{zzz|{yzzz{zy|z{y|{{|{{{{{zzz{{{||||{{zz{zz{{{{z{{{{{{{zzzz{|zz{z|{{yz{{z{zzz{|||{||zz{z|yzz{|{{{{{{{{{{z{{{{{}{{{||{zz{{z{z{|{|{|||{z{{{zz{|{{{{}|||{{z{{{{||{|{{||{{{{|{z{|||z|||{|{zz{{|{{||||||{||{|{{|{{|||{||{|{z{z{{z||{}|{}||{{{{z{{||{||||{{{z{{{z{{||{|{{|z||{|z{{|{{|||||{|{{z{z{|{{|{||{|{{{{z{{||{|{|||{{z{{{zzz{{z||z{{{zyyzzz{{{z{{{{z{zzzzzz{{{{{|{|zzy{{{{z{{{z{{{{|{{{z{zz{||{zz{{z{{zzzzz{z{{{{{|{{zzzzzyz|z{z|||z{zzzzzy{z{z{zzzzzzyzzzz{{z{zzzz{yyzzz{zz{{{{z{{z{z{z{y{zz{{|{|{zzzzzyzz{zz{{{{z{zzzzzzzzz{z{{{{zzzz{{zzy{y{{|{{zz{zzzzy{zz{z{{{z{zzzzz{z{{z{z{|{{{{zzz{{{||{||{zz|zz{{{{z{{{{{{{{z{z{{{z{{z{z{{zz|z{z{z{|{|{{}{{z{{{{zz|{{{|{z|{z{{|{{{|z{||||{{{{z{y|{||z|{{||{{z||zz{{{||}{||{{{{zzzz||||{{||{{{{{{{|{|{||{||{{{|zz{{{|z}{|||{z{{{z{{{|{||||||zz{|{{z{{{{{|||{{{{{{{{{||{}|{}{|{zz{{{{||{{|{}|z{{zz{zz{{||z{{{zzzzzz{{{z{|{{{zz{zzzzz{{{{{{{{zzzz{y{z{{{{z{{{zz{zzzyz{{{{{{|{{{z{zzzzz{{z{{{{{zzz{z{zz{{{{{z{zzzzz{yyzzzz{||{z{zzzy{zzz{z{{zzyz{zzyyz{z{{z|{{{{zyz{zzzz{zz{{z{zzyzzyz{z|{|||{zz{{zzzz{{{z{z{{{zz{{yzzz{{z{{{{zzz{zz{yz{zz{{{zzz{{{zzy{{{{z||{{zzz{{y{{{{{z{{z{{|yzz{{|z{{|{||{{z{z{|z{z{{|{{|{{{zzzzz{|{{{{|{{zz{{|z{|{|{{{{|{z|{{|{{{{{{{{||||{z{{{{{||}|{}|{{zzz{|{}||{{|||{z{{{{yz|||{{||{{zz{{{{z{}|{|}|{|{{z{{|{{|{|{||{{{{{z{|{||{{}||||z{{{z{{{{|{{|||{{{zz{{|{z{|||||{{|{{|{{|}|||{||{{{z{{{zz|z{{{}|{{z{zzzzz|||||{|{{zz{zzzz{{|}{{{zzzzzzzyz{{z|{{|{zzz{yzz{{{|{{{{{z{z{zzz{{z{{{{{{z{zzzzzz{{{{{{zz{zzzzzz{zz{{|{{z{{z{zzz{zzzz{{{z{{{zz{yz{{{z{{zzzz{z|yz{{z{{z{{zzzzyzyz{z{z{{z{{zzyyzyzz|{z{{{z{z{zzzzzz{{{{z{|zzzzzyzy{{{zz|{{{zyzzzzz{|z{z{{{z{{zzzyz{z|{{{{{zz{zz{{z{{{|{{{{{zzzzzzz{{{{{{{{zz{{{zzz|{|{z{{{zz{{{zzz{{{|{{{{{z{{yz{z|{{|{z||{{{{{{z{|{{{{|{{|{{{yz{z{{{}{|{|z{z{{{{{{|{|{{||{{{{{{z{|{||z|}|{z{|{z{z{|{{{||{z|{{|{||{|{|||{|{{zz{||{{{||||{|{{|{{{z{{{||{||{|{{|{{zz{|{{||{|{{z{|{{||{{|||||{z{zzzzz{{{{{||{{zzy{z{z{{|{{{|{{{{{{{zz{{{{{{{{zzy{zyz{z|{{z|{|z{zz{zzz{{{{{||zzzzzzzyy{zzz|z||{{{zzzzzz{{|{z{{z{zzyzzz{z{{z{{|zzzzzz{zz{z{z{{z{zzz{{zz{z{y{{zzzz{yz{yzz{|{zz{{zz|{yzzzz{{{z{{{zyz{zzz|z{{z|zz{{z{zzzzzzzz{{{{z{zzyzyz{{z{{{{{z{zzzzzzz{|z{z|{zz{{z{{zz{z||{{{{{z{z{{zyz|{{{|{{zzz{zz{zz|{{z||{z{{z{{{z{z{|z{|{{{z{{y{z{|{|{|{{{{zz{zzz|z{{|z{{{zz{{{{z{||{{{{{{{{{{{z{{|{{|{{|{{z{{{}{||{||{|{{|zz{{z{{|{|||{{|z{{{{|{|||{{|}{{{|{{{|||{{|||{|}{{{|{|{{|}{{{|{|{{{|z{{z||{|{|z{z{z{{{{z{||{|{|z{{z{{{{|}{|||{{||{z{z{{|{z||{|||zzz{z|{{|{|{{{{{z{z{{{{{z{{{{zz{|zzz{zz{{z{{|{|{{{zzzzz{{{{{|||{{{{z{zy{{{{{{{|{zz{z{z{{z{|z}||{{{y{yz{{z{z{|{{z{{z{{{y{{{{{z|z{{zzz|z{{{{{z|z{{{zzzz{zz{{|{{{zzz{zzyzzz{{{{z{z{{zzz{yz{{{{|{{{{z{zyz{zzzz{zz|{zzzzyzzzz{{z{|{{{zzz{{zzz{z{z{{{zzzzz{{z{{|{z{||{zzz{z{zz|||{{{{{{z{{zy{|{{|{||{|zzzz{{z|{{{z|{{{{z{|zzz{|||{{{{{{{{{{{{|{{{z||{z|z{{zyz{{|{{{{{{zz{{{{{{{{{||||{{{{|{||{{{}||{|z{{z|{z||{{||{{{|{{z{|{{|||{{|{{{{{|{{{{}||||||||{{{|{{{{|{{|||||{{{{zzz{{||{||{|{{|{{{{}|{|z}|}{{{|{z||{{||{|||z{{{{{|z{~}{{{||{{{{z{{z{||{||{{{z{{{zz{|z|{|{{z{zzy{z{z{{{{{zzz{z{{y{{y{z{{{{|{{{{yz{zz{y{||{||{{z{{yzy{{{{z{z{zzz{zzzz{{{z{|z{{z{{z{{zz{{zz{zzzzzzzzzz{{z|z{{zzz{yzzz{z{{{zz{|yz{z{zzz{zz{{z{{zzzzyzzz{{{{{z{{yz{zy{y{{z{{{z{{zzzz{zzyy{zz{{y{{{{{y{zzzz{{z{z{{yzz{{zy{z{{{{{{{zzz{zzz{{{{{{{{zz{{zyzz{|{{{{|zzzzz|z{{z|{{z{{{{zz{zz{z{|||{|{||{{zz{zz{|||{|||{{zzz{{{{|{{{|||{z{{z{|z{|||{{{}|{{|{z{z{|{{|z||{{z{zzzz{|||{|}||{{{{z{z|}|{{|||{z{|{{{{||{|}|{|{{{z{{zz|||||{|}|z{|{{{{{|{||{||{{{zz{z{{|{{{||||{{{{z{{||||||{|{|{{{|{{{{{|{{{|{{|{z{zzz{{{||{|{{{|zz|{|{|{z{|{zyzzzzzy{|z||z|{{z|{zzyz{|{{zz{{zzzy{{{z|{{{{{|{{|zzzzzz{z{z{{z{|z{yzzzz{{z{{{{|{z{yzzzzz{|{{zz{{z{{zzzz{z{{z{{zzz{yzzzzz{zzy{z{zyz{{zzy{{{{z{{{{{yzzzyzz{{z{||{zzyzyy{zz{{{|{{zzy{yzyzz{{{{z{{{z{yzzzzzz{{{{zz{zyzz{{zz{z|{z||{{{zz{z{z{{{{|{{{z{{{zzyz{{{{z{|{z{{z{zzz{{{{{|{{zzz{{zz{{{|{{|{{zz{{zzzz{{z{{|||z{{{zz{{{|{{|}|{|z{{{{{{{{{{||||zz{z{z{z{||}{{|{}{{{{zzz{||{|{|{{{{z{{{z{}{|{||}|{|{{{{|{{{|{||||{{|{{{{|}|}|{||{z|{{z{z{}{{{||{{||{{z{{{{{{{||||{{{|z{{|{||{{{|zz{z{{{{{|{|{{|||zz{z{|y{{||{{{|{{zzy{{{{}|{{zz{{zzzzzzzz{|{{z{{zzzzyzzyz|{{{{z|zzzz{zzz{{{zz|{|{zz{zyzzz{{{{z{zzzzzyzzz{{z|z{{|{zzzyz{zz{|zz{{{z{{yzzzy{zzz{|z{{z{y{z{zzzz{z{{{{zzzzyzzy{z{zz{{{zz{{{zzzz|{{{|{{{zzz{{zz{|{{{{{z{yzzzzyzz{zz{{zz{{z{zzzz{{{{{{|zzzz|zzy{{{{{|{zzzzzz{{z{{{{{{|{{{z{z{zz{{{{{|{{z|{zz{{z{{|{|{{|{{{z{z{zz{z|{{z{z|{{zyz{{{{|{{{|{{{{zz{{|{{{{|||z{{{{{y|{||||{||{|{{{{|{{{||{|{|{{z{{{{|||{{||{{|z{{{{{{||||{{||{z|{{{{zz{{{{|}||{{{{{{zz}{|{}|||{{|z{|z{|{}{|||{|{z{{{{||z{{||||{{{{{{{|{{|{{|{{{{z{{{{|{{{|||||{z{{y{z{{{|{{|{z{z{{zzz{{{{z{{zzzzzz|zy{{|{zz{{{z{{zzzzz|{{{{{||{zz{{zz{|{{{|{|{{z{|{{z{{|{z{{{zzzzzzzz{{{{{z{{|{zzyzzz{{{zz{{|{z{yzzxz{{{zz{{{zz{zzzz{{z{|{{{{zyzzzzyzz{zzzzz{zzz{z{zzz||{{{{{{{{zzzzzzz{{{{|z{z{zzz{zzzzzz||{z{zz{{zzz{z{{{{{z{zy{{yy{z{||{|{z{zz{z{{z{|{zz|{z{{z{z|z{{{{{|{{{{{{{{zy{{{{{|{{{{{{{zz{{{{{||}{zzzz{zz{{{}{{{{z{z{z{z{{|||{{{|z|{z{z{||{{|{|{{{{{|||{{{|||{{{}|{{{{|{{{|||{}|}||{z{{{{{}|||{|{{{{{|z{|z|||||||||zz|{|{{z|{|{||||{||zy{{{|||||||{y{z{{{{||{||{|||{{{|{{{{|{||{||{{{zz{{{{{|{{{|||{zzy{{z{}|{{{{{{z{{zz|z||{zzz|z{zyz{z{yz{zz{{{|{zzz{zyz{{z|{{|{{zzzzz{y{{{|{z{{{y{yzzz{{{|{zz|{{{zzy{y{{{|{{{z||z{zzzzzz{{{z{zzzzz{zyzz{{{{z{{z{zzzzyzy{{{{z{z|zzyzzzzz{{zzzzz{{zzz{zyzz{{{{{{zzzzzyzzzzy{{z{{{{{yzz{zzz{{z{{{zz{zzzzzyzzy{{|{{{zyzz{zz{{{{z{{{|z{{{{{z{{z{{|{|{{zzzz|y{|{z{||{zz{zz{zz{{{{{{|{|zz{zz{zzz{{{||{zz{{{{{zz{|{{||{zz{{zz{z|{{{{z{|z|{|{|z{|{{{|{||z{|z|{|z{{{|{{|{||{{{{{z{{|{|{|{|{{{{{{{||{{||||{|{{{||{{||||||||z{{{{{{z||{{|{|{{{{z{{{||||{|{||{{{zz{{{{||{{|{}{{z|z{{{{z|{||}z{z{zz|z{{{|{{{z{{{zz{{z{{||{{{{|{zz{zz{{{{|||{{|zzz{zzzy{{{z{{{{zxz{yzzz{{{{{{|z{zzzzzy{zzzz{{{zyz{zyzz{{z|{{{{z{zzzzzzzz{{{{z{zzzzzzzzz{yz{{||z{zzzyy{zy{z{zz{zyzzyzyz{{z{z{z{zzzzzx{z{z{z{z{zzyz{z{yzz{{z{{{zzzzzzyyyzz{{{z{{{{{zzz{zz{{{z{yz{z{yzzzzz{zz{{{{zyz{{zzy{{|zzz|{zzzz{z{yzz||zz{{{{y{{z{zzzz|{{z{z{z{{z{{{{z{{{{z{z{zzzzz{{{{|||{|{zz{{zz{{{{{{|z{z{zz{{{{{{{{{{z{{z{{{z{{||||{|{{{{{{{{|{{{|{{{|{z|{{{{z{|{||||{|zz{{{{z{{{{||||{{{{{zz{{|{{{||{{z{yz|{{{|{{{{{{|{|z{z{{}{|||{|{{y{{{z{{{}{|}|{|{{zz{{z|||{|{{{||{{zzzzz{{{{{{{}z{{{{yzz||{{{||{zz|{{zzy{z|z{{{{{zy{zy{z{{|{{z{{z{zz{zzyzz{{|{|z{{{zzzzyzz{{{{{z{z{z{yz||{z{{{|{{z{zz{zz{{||z{{|{z{zyzzzz{{z{z|z{{zy{yzz{z{{{{{{zzzzy{zzz{{{zz{{zzzzzzzyz{{{zz|zzzyzzzz{z|{z{|{{{{{zzy{z{{{{{{{{{z{y{zzyzzz{z{zzz{zzzzzzz{zzz{{{{yzz{||{|{{z{{{{{z{{{{zz{|z{zz{|{{z{y{{y|{{{z{{{{z{yz{{yzzz{|{{{|{{z{z{z{z|{|{{{{{{zzzzz{|||{|{z|{zzz{z{{{{{{{{|{{z{|z|{{|{|{}{{z{{z{{z{{|{|{|||z{|{zzz{z{{{|||{|{z{z{{{{||||{}|{{z{{{|z{{|{|||||{z{z{{{{|||z{{|{z{{{z{z{||||{|{{z{{{z{{{{{|||{|{|{{|{z{|{{|{|||{{{z{{{{z{{{{{{{z{{zz{z{|{{|z|{zz{{yy{{{|{{{{{z|{zzzzz{yz{{{{{{|{zzzyzzzzz|z{{|}zzzzzzyz{{z{|z{{z{{{z{zz{{{{{{{{{{{{zzzzz{{{z{{{z{{yzzzz{{z{z|{{z{zzz{zzz{{zzz{zzz{{zzzz{zz{zzz{zy{zzz{z{{{{zz{zz{z{zzzz{{{z{{{{{z{zzzzzz{||{{|{z{{z{zzyz{{|{z{{{{zzzzzzz{{|{{zz{zzz{{{zz{{{z{|{zzz{zz{zzz{z{{||z{zz{zzz{{z{z{||{yzyz{zz{{z{{{|{{{zz{z{zy|{{{|{z{y{z{{z{{|{{{z{{{zzzzz{{{{{z|{{{{{z{{|{{|{{|||{z{|{z{{{{|{{{||{|{zz{{z{{||}{|}|{|{z|{{{{|||{{||{{|{{{|{{{{{||}}{|{{{{{{z{|||||||{{{{|z{{{||{|||{|z{{{zz{|z{{|{|}|{{{{{{{{{{|{|{|{{yz|z{{z{|{{{{|{zz{{z{{{|||z{{|{z{z{y{z{z{z{{{{zzz{z{z{{{{|{{zz{z{{{y{zz{|{|{z|{{zy{{zz{{{{|{|{{z{zzzy{z|{{z{z{{zzz{{zz|{|{z{{{z{zzzzyyz{{{{{|z{{{z{zz{yz|{z{z{{y{yzzzzzzz{z{{{zzzzz{zzzzzz{{{zzzyzzzyzz{{z|||{{z{zz{zzz{{z{{|{|zzz{{zzyz{{z{{{{{{yzzzz{zz{{{{zzyzzzzzz{{{{{z|{z{{z{y{z{{{{{{{zzzzzzz{z|z{z{|z{{z{|zzz{{z|{{z{|{{{z{zzz{{{||{{|z|{{{{{{{{{{{||z{zz{{{zz{|{{{{|||{{{zzyz{|{{|{}|zz|y{{{{||{|{|||{{{{z{z{|{|}{||{{zz{||{{|||||||{|z{|{{|{{|{|}||}|zz{||z{{}}||{{|{z|||z|{|||{{|{|{{{{{z{{{{{{{{{||{{{{|z{z{{||||||z{{{{{z{{{|{||{{{{{{z{{z||{{{|{{z{z{yzz{{{|{{{{z{zzzzzyz{|z{{{|zzz{zy{{{{{{{{|{zzz{z{|z|{{{{}z|{{zzzzzz{{{{z{z{zzz{zzzyzz{zz{{|z{zzz{yzz{{{{{|zzz{{{zzzz{|yzzz{z{zz{zyz{zz{{zzz{yzzzz{z|{{{{|z{{yzzyzzz{{zz{{|{zz{yzzzz{{{z{z|{zzzz{zzzz{z|z{{z{zzzzzzyzz{{z{{zzz{z{zzz{|{z{z|{{zz{zz{{{{{|z{z{{z{zz{z{{{{{{{{{{{{{zzzz{{{|z{{{z{{{{zzz|{|{|{{{{{{zzzzz{|||{{|{|z{{zyzz|{z{z{|{{z{{zz{z{|{||{||{|{{{{|{|{|{{{|}{{{{z{{{|{{}{|{{{{{z{{z{{{{|{{||{{||{z{|{}{|{|||zzz{{{|{{|{|{||{{|{|{|{{{|{|z||{{z|z|{z|{|{{{|||{{{{{{z|{|{|||{|{{{{{|z{|{||{{|{{||z{{{z{|||{||{{{|z{zz{{z{{{|{|{zzzzz{z{{|{z{{{zzzzzzzzz{|{z{z|z{zyz{yzz{{z|zz|{{zzzzz{{z|{{z{{{zzzzzyz{{{|{z{|yz{yyyzzz{{z{{{{zzzzzz{zz{zzzz|{{{{yzz{z{zzzz{{{zzz{zzzz{zz{{{|{{zzzyzyzzz{{z{{zzyzzzzzzz{{{{{{{{yz{zzzzz{zzz{{{{z{zzzzyz{|{{{z{zzzzyyz{zz|zz{{z{zzzzy{z{{{{{{|{y{zzzyzz{{{z{{{|z{{zzzz{{||{{{{{z{{{{zzzz{{{{{{{{{{{zzzz{{{z{{|{{{{z{{{{{|{z{{{{{{zz{{{{z{{{|z{{{{{{{{{{{||{|{|||{|{zzzz|||{||{{{zz{{{||||{{|{||{|{zz||{{}{|{||{|{{{{z{z{}||}{||{|{z{|{{{{{{{||{{{{{{{{|{||||||{{yz{|{z{||{||{{}{{{zzz{z{{{{{}||{{{{y{z{z{{{{|{z{zzz{zz{|{{{z|{zzzzzzzzz{z|z{{{{{{yzz{zz{{{{{||{{{{{zz{y{{z{{{{z{z{{zzz{z{z|{{{|{{{zzzzz{z{{z{{{{yzyz{zyz{zzzz{{{zyy{yyyz{{zz{{{zzz{yzz{zzz{|z{zzzzzzyyz{zz{{{{z{zyzzzzzzzzz{{{{{z{{yzyzz{{{z|{z{zzzzzzyy{zzzzz{{{yz{zyzz{z{{{z{zz{zzz{zz{{{{{{z|zzz{z{z{{{{z{{{zzzz{zz{{{{{{{{{{yzzzzz{{{{z||{|{z{z{yzzz{z{|{{{{z{z{{zz{{{{{{|{{{z{zz{{{{|{{{{{{zzz{zz{{{|{{{{{{{|zz{{|{{|||{{|z{{z{zz{{{|||{{{|z{{|{{{{||{||||||{{{{|{{|{{||{}|{|z{{{{{|{|||}{}{{|{{{|{{{{|||{{z{{z|zz||{{|||{|{{|{{{|{||{{{{|z{{z{{{{{{{{{|{|{|zz{{{{{||}|{||{{|zzz{z{{|{{{z|zzyzzz{zzzzz{}{{yz{{zzzz{z{{{{{{yzz{zzzzzzzzzz||{z{{zzz{{{z{z{{|zzzyzz|y{z{{{{{{z{|zz{z{{{{z{{zz{z{y{z{{z{{|z{z{{{yzyzzz{{z|{{{{{zz{zzz{{{{{zz|{{{zzz{z{z{{{{{|zz{{zyzyz{|z{z{{|{{zzyyyy{{{zz{z{{z{{{yzzzzz{zz{{{yzz{{zz{z{z{|{zzzzyzz{zz||{{{{{{zyzzz{{{{{{{|{|{zzz{z{zz{z{||z|{{|{{z{{z{z|{{|{|{{z{{z{|z|z{|{{{{{{zz{{||{{{{{{{{{{{{zzzz{}{|{{{z{{{{{{||{|{|||{z{{{||{{|||{{{{{{{z|{{{{{{||||||{{zz{||{|{|||{|{{|z{z{{{||{{|}}{z||{{{{{{|{z}|{{z{{{{|{{{{{{{||{{{{zz{||{{|{||}{{{z{{{{z{{{{||{{zz{{{{z{|{|z{{{{{|{{zyz{{{zz{{z{zyzyzzzzz|{z{{zzzzzzyzz|{zz{{z|zzzzzz{yz{z{{z{{z{zzzzy{{{|||{{|{{zzyzzz|{zz{|z|yzyzzzzyyzzz{{{{zz{zyyyz{{{{zz{z{zzy{yzzz{z{zz{|{zzzyyzzzzz{z{{zzzzzzzy{zz{zz{zzzz{{zyyy{{z{z{{zyzzyzyzzzzzz{{{{z{zzzz{zzzz{{{z{zzzzzyy{z{{{{|{|{zzzzzzzz{{|{z{zz{{zzzzz{z{{{{||{zzzzz{zz|z|{{||{z{z{z{zz|{{{{{{{z{z{z{zz{{{{z{{z{{{z{z|{{|z||{{{{zz{{zz{|{|{|{{zz{zz{z{{|{{{{{|{{z{z{{z{|{{z{|{|z{z{z{{|||{{|||{z|{z{{z{{{{|{|{{z{{zz{y{}{|{|{{{{{{z{{|{{|{{{{{{z{{{{y{{{{{{|||{z{{{{z|{|{{}|{|{z{zzz{{{z{|{||{{z{{zzzz{|{z{{|{zz{z{yzzz|z{|{{{z{zzzyzzzz{z|{{zyzzzzy{{y{zzz{{{z{z{{zzzzzz{{{|{z{zzzyzzz{{{z{z{{zzyzyyz{z{{z{{{z{zyzzzzz{y{zzz{z{zzzzyzzz{yz{{{zyzzyzyz{zy{{{{{zzyzyzzzz{{z{z{z{zyzzzyzzzzzzy{{zz{{zzyyz{{{zz{{zzzzzzzzzyz{z{{{z{{zyyzyy{z|z|{{{{{zzzzz{|{{zz{{{zz{{yzz{z|zz{|{z{z{zyzz{{{|z{{{{{yzyz{y{z{{{{{{{zzz{yzzz{{|{{{|zz{{{zzzz{{|z|{{{zzz{z{z||{z|{{|{{{z{{zz{{{||}{|{{|{{{{{|z{|||||{{z|z{z{{{{|{{|{{{z||{z{||{{|{||{{{zz{{{{|{{{{{||z{{{{{||~||{||||{{|zz{{{{|||{{||{|{{z{{||{{|{||{{{|{{z{{{{{|{{{{{{z{zzz{{{|{|||{{{{{z{yz{{{z{|{z{{zyzzzz{z{{|{zzzzzzzzz{{|{{|{zz{zzyyyz{{{z{{|{{{yzzyzz|z{z{{|{{zzyxyz{z{z|z|{{{zzzzz{z{zz{|z|{zyzzzzzz{{|z{{{{zzzzzzzzz{{z|{zz{zzyzzzz{zz{|{z{zzzyzzzzzzyz|{zzzzz{z{zzz{z{z{zzzzzzyz{zz{{{{{{{zzzz{zzyzz{zz{{{{zz{yzzzy{z{{{z{zz{{y{zz{z{{{{{|zzyyyzzz{{{{{{{{zz{zz{{z{{z{z{{{zz{zz{zz||{{{{{|{z{z{z{y{{{|{{{|{{{{|zz{{|{|{{{{{zzzzzz{{{{{{|{|z|z{{z{{{|{{{{{|zzzz{|{||{{|||||{|{{zz{z{||{{|{{|{{z{z{{{|{{{|}|{z|{{{|{{|{|{||||{z{{{{{z|{||||{{{||{{{|{|{|{|||{zz{zz{{{{{|{{||{{{z{{z{|{{{{|{|{{zz{{z||||{{|{}{{{z{z{{{{|{{{|{{zzzzzzy{|{{{z{{y{{zzzzz{{|y{zy{zzz{zyyz{{z{z|{{{zzzzzzy{z{{|{|{zzyzzzz{z{{z{zzz{zzyzy{yzz{{{{z{zzzzzzyy{{{{z{{zzz{zzy{zzz{zz{{{zzyzzzzyzz{{{{zzyzzzzyzz{{{{z{{{{z{zyzyz{{zzz{{{zz{zz{zz{zzzz{{z{z{zzz{yzz{y{z{|zzzzz{yyz{{{z{z{zzzzzz{z{|{{{{z{{z{z{zz{{{{z{{{{{zz{yyzz{z{z{||{{zzzzzz{z{{z{{{|z{{z{zz{{{{{{||{zz{{{zzy{{{{{|{{{zz{zzz{{{{{{|{{{z{z{z{{z{||{{|{z{{z{{{{{{{|{|{}{z|{z{z{{||{{{{}{zz|{zzz}||{||{||{{{zz|{{|{{||z||{z|{z{{{}{{{|{|z{|{z{{{|{|{|||{{{{{{{{z{{{|{|||{{{z{zz||{{|||||{{{z{{zz{||{||{{|{zzz{zyz|z|{{{{z{zy{{{zz{{{z{{{{yz{zyzzz{|{{{{{yzzzzzzy{{{z{z{{{yzzzzzzz{{z{{{{{{yzzy{zz{z{z{|{{zyzzyz{y{{{{{z{{z{zzzzyz{{{{{|zzzyyzzzz{{|{z{z{zzzzzzzzzzzz{{{{zzzzzz{{z{{zz{{z{zy{zzzz{{zz{{{{{{{zyzzzz{{{{{{zzzz{zzzzzzzz{|{z{{z{{yyz{{z|{{{{{z{{z{zzzz{{{{|{zzzy{z{{{|{{{{{{zz{zzzzz{{|{{|}{z{{{|{{|z{||{z|{zz{zyzz{z{{{{||{|z{zz{zz{||||{|zzz{{{z{{|{{{{|z|{{{z|{{z{{|||}|{z{{z|{zz|{{{{|||{|{z{{zz{{|{{{{{|zz{{{{|||{||{||{zz{{z{|{{{{{|||{z|{z|{|{|||{|{{{{z{z{zz|||||{|{|zz{z{z{}{|{}{|{|{{{{zz{{{{{|||zzz{z{{{{|{{{||}|{zz{{z{zz||{{|||{{{zz{z{||{z|{z{{{{zzzzyy{{zz{{{{z{zy{zzzzzz|{{{{zyzz{{z|{{{{{{{{zzyzzzzz{{{{{|{{zzzyzz{{|z{z{{{{zzzzzzz{|{z{{{{{yyy{zy{{z{z{{|zz{z{zyzzzz{{zz{|{zz{{zzyz{{z{{|{{zzzz{zzzz{|{{{|z{|zzy{{y{{zz{z{zz{{z{zzz{{zzz{z{{zz{yzz{{{z{{z{zzz{zzyz{z{{{z{{{zz{{{zzz{z{|{{{{zz{zyzz{{{z{{{|z{{{{zzz{{{{{|z{{z{z{zz{{{|{|{{{z|{{|{z{{|{|{z{{{zz{{{{{|{z{{|{{{{{zz{{{|{|{{{|{{|{{{z{{{|||||||{{{|{zzz{{{{||{{|{{{|{{z|||{{|||{z{{z{{{||{}{|{||{|{{{|z||{}{{|{|{{z{z{{{|||z{{{{{zz{{{{{{{z|}||{{{{{{{{|{{{|{{{z{|{{{{{|{||{|{{|z{{zzz{{{{|{|||{{{zzz|{{z|{{{|{z{z{zzzzz{{z{z|{yzz{zzzzz{{{{{{{{zzzzzzyzz{{{{|z{zzzz{{{{{z|{{{{{z{yyy{z{z{{{{{{{{zyz{z{z{{{{{{{{z{zz{{z{{{z{{z{{zz{zzyz{{{zzzz{zyzyyzzzz{{zzz{{{zy{z{zz{{z{{{{{zzzzzzzzz{{zzz{{{zzzzyzyyz{{{z|{|{zzzzzyz{{{zz}z{zz{{zzz{{zzz{{{{zzz{zzzz{{{z{|{{y{{zyz{{z{{{{{{zz{zzzzzz|{|{|||{{{zzzzzz}||{|{{zzz{z|zz{z{{z{{|zz{zy{z{{{{{{{{{{|{zz{{{{{{{||}{zz{{{|zz{||{{{|{z{{zz{{{}|{{{{{{|z{{{z{{|}z{{||||{{z{{{{z|{||||||{z|{{{{{}{{|{||{{{|{z{{||{{|||||z{z{{{{||{|{{|||{{{z{|{{||||{|{|{{zz{{z|{|||{|||{{zzzz{{{{|||{{{zzz{yzz{{{{|{z{zz{yzz{zy{{{z{{{{y{{{zzzzz{{z|{|{{zz{zzz{z{z|{z{zz{zzzzzzz{{z{zz{z{z{zzz{zy|{z{{zz{{zzyyy{{z{{{zzzzzzzzzzz{zzz{z{zzzy{zzz{{{{{z{{zzyzzyzz|zz{z{zz{yyz{zzz{zz{{{{{{zzzzyz{z{zzz{|{{{zz{zz{{z{{z{yzzzzyz{zzz{{{{|zzzyzzzzz{{{{{{{{|{zyz{zzz|{zz{{{zy{{zzy{z{z{|{{{z|{zzyzy{{{{{{|{zzz{zz{yz|{|{{{|{z{z{z{zz{{{{{|{zz{|zzz{{{{zz{|{{z{{{{{{|{{||{{{{{z{z||||{{|{||}{zz|{zzz{{{{|{|{{zz{|{{{{{{{{|}||z{z{{{{{{{{|||{|{{z{{{{z||||||{|z{zz{z{{|{|{{{{{{{{{{z{{{{|{{{|z{{{{{{{{{{{||z|{{zz{{zz{|{{{|{{{zz{{z{z{||{|{{{z{{zzzz{{||z{z{zz{{zyzzz{{z{z{{{|{zzzzyy{{{{{{{z{z{zzzz{{yzz{{{|{zzyzzzz{|{|z{{{{z{zzy{y{zz{{{z|yzzz{z{yz{{zy|{{{{zzz{zyz{{z{{{{z{zzzzyy{{z|zz{|{yzzzyzzy{{{{{{y{yzyz{zzz{{z{z{{zz{{z{zz{{{{{|{{{z{zz{zy{{{{{{z{{z{zzzzzz{{zz{|{{y{zz{zz{{{{{{|{{zzz{zzz{|{z{{{{{zzz{z{{{z{{||{{z{{zz|{zz{{{|{{|zzz{zzzzz|{{{{{z|{{zzzz{{{{{{{{{{z{{{|z{{||z{{{zz|{{{z{{{|{||||{{{{{{{{{|{||z||}{y||z{z{{|{}|{{{{{{{{z{{|{||{|||{{{{{||{{}{{{|||z|{{{{{{{|{|{{}|{{|{{z|z}{||||}|{{{{{z{{{|{||{||||{|{z{{|{||{|||{{zzz{{z{{{||{||{{z{z{zz{||{{{{{{{{zz{{z{{{z{||{{{zzzzzz{{z{zy{{{z{zzzzzz{z{z{{z{{z{{y{z{{z{{{{{zz{zzzy{{zz{{{{{{{{yz{{z{{{{{{{{zzzyzyzyzz{zz{|{{zzzzyyy{z|zz{{zzzzzz{{zzzy{{{{zzyzy{zzz{zzz{{{{zzzzzzzyzz{{{{{{{zzzyzyzz{z|z{z{{zzz|z{zy{{z{zz{{z{{zzzzz{{|{{|{z{yyz{z{{{|{{{|z|zz{{zzz{|{{z{{{{zzzy{zz{{{|z||{zz{zz{{{z|{{{{|z{z{{{z{zzz|{|{|{z{z{{zzz{{|z{{{|{z{{{z{z{{{{z|{{{{{{{{{{{{|{|{{{{{{y{{zz||{}{|||{z{{|zz{{{|{{|{{|{|{zz{{|}{|{|}}{{{||{{{z{|||{|||z|{{{{{|}{||{|||{|zyzz{||{{{{|{|{zz|{z{||{{|{|||zz{{{{{{{|||{{{{{{zzz{z{{{{{{}{{{z{{{{z{|{{{{|{{z{zz{zz|{{z|{{{{zzzzzzzz{zz{z{{{zzzzyy{{z{zz{z|{z{zz{yz{yz{{|{{zyz{zzyzz{zzzz{{{y{{yz{z{z{{{|{{zzzyz{y{{zz{zz{zzzzzzzyz{{{zz{zzzy{yz{zzzy{z{{{zyzyyzzzzz{{{zz|{zzzy{zzz{z{z{z{{zzzzzzzzzzzzz{|{zyyzzzzyzzz{z{zzz{zyzy{zz{{z{{{{zz{{zzzzzz{z{{|{{z{z{zzzz{{zzzz||zzzzzz{{{z{z{{{zz{{yzz{{{{z{{|{z{{z{z{zzz{{|{z{{{zyzzz{{{{{{{||{zy{zzz{z{{{{{z{{{z{{zz{{{{{{z|{{{{{z{zz|{{{{|||{{z{{{yz{||{{||{{{{{{{z{||||{}|{{{{z{{{|{{|{{{|||{{zz{{z{|{{|{||{{{|{{zz|{|{{|||{z{{z{z{{{|{{||{|zz{|zzz|||||{||{{{{{z{{z{|{{|||||zzyz{z{{{{{|{{{z{z{{{z{{{{{||zzzyzzyyzyz{{zz{{zz{z{zzzz|{{|{{{{zzzzzzz{{{{{z||{zzzzzy{{{{{zz{{{zzzzz{zz|{zy{{zzyyzz{zzzz{z{zz{{zz{{y{z{{{{zz{z{zzzzzyzzzz|z{|{yz{zzzyzzz{{zz{{zz{zz{zz{{{{{{{{zzzzzz{zz{{{z{|{{zzzzyzyzz{zz{{z{zyzzyzzzz{z{{{{zzzzzyzz{{{zz||{zzzyzzz{{{|{z{{{{{{z{z{{z{{zz|{{zzzzzyzzz{{|z{{{{z|{zz{zz{{z{{|{{{{z{{zz{{{y{{{z{zz{{y{{||{z{{{{{{|z{{{{|{{||{|{{y{{{{{{{{||z{{|{{|{z{zz|{|{||{}{{{{{zzz{||||z{|{{|z{z{z||{|{{{|||{{{{{{{{||{{{|{z|{{{{{||{{{{||{{{{z{zz{{{{|{||z{{z||zz{|}{|||{z{{z{{z{{{{{{{|{|{{{z{{||{|{|{||z{{z{yzy|{{{{{{{zz{zzzzzzz{z|{{{z{zz{{yz{{{z{{{z{{zzzzzz{z{z|{|{zzy{zzzzz{{{zz{{{yzzzyzzz{z{{z{{zzzyzzzzzzzzyzz{zzzzyzzz{{{{z{{|zz{z{zzz{{{{{zz|yzzz{zzz{z{{z{z{yzzzz{yz{{zz|{{{zzzzzzzzz{{zzz|z{zyz{yzzzzzzz{z{|zzzzyz{z{{{{{{zzzzzzzzz{zz{z{{{{{yz{zz{{|{{z{{{{zzz{zyz{{z{{}{{zz{zzz{{{{zz{{z|{z{{zz{z{|{{z{||z{zyzzz{{{{{{{|{{z{{zzz{{|||{|{{{{{z|z{z|{||{|||z{{z{{{z{|{|{||||zz{{{{z{{|{{|}{{{z{{z{|{||||{}|zz|{zz{|||{||||||{|zzz{{{}{{{|||{z{{{{{|{|{||{{{|{|z{z{{{{{|||{|z{z{{{{z{{{|{|||{{{zzz{{z|{z{||{{zz{z{{zz||||{{{z{{z{zyz{z|{|{|{z{zzzz{{{||z|{{{z{{z{y{z{z{{{{||{{zzyzzzz{z{{{|{|z{zz{zyz{{|{{|zz{zzzzz{{{{{{{{|{zz{z{{z{zz{z{|{{z{zzzyz{z}yz{{{{z{yzzzyz{z{{{{{zz{zzyzz{{{zz{{z{zzzzyzzz{{{{{{z{{{zz{z{z{{{{{{{{{zzzzyz{{{{{{{{{z{z{z{zzz{z{z|{{zzz{zzzz{{z{{{{{zzzzzzz{{{{{{{|{{{{zz{{{zzz{{||zzz{zzz{z{{{z{{|{z{{zz{zz{||{{{|z{z{zz{z|{{{{{{z{z{zz{z{||{{{|{|{z{{{}z{{{|{|{|{zz|{{|{{||z|{|}||{{{{{{{|{|||{||{z{{|{{{|}{||{|||{{|{|{{{||{||||{z{z{|z{{}{|||}||{||{{|z|{{||||{|z{{|{y{|{{||||}|{{{{{{{{|{{{|||{z{{z{{{{{{z{|{|{{zz{|{{{{{{{{{|{{{zz{zz|||z{{zzzzzzzz{zz{|{{z||zzyzyy{{{{{z{zz{{{{zzzzz{z{||{{|{z{zz{yzz{z{z|{z|{zyzzz{{z{|{{{{zz{y{z{z{{{zz{{z{{{zz{yzzz{{{{{zzz{zzzzzzy{z{{{{yz{yz{zz{z|zz{{{{zzzz{zz{{{|{{{|zzzzzzzzz{{{{{{{{z{zzz{zz|{zz{{z{{{zz{yyz{yz{z{{z{zz{{y{{{{{{z{{zy{z{{zz{{{{{{{{z{{{zyzzz{{zz{z|z{{zzzzzz|z{{{|{z{{zzyzz{{{{{||{{z{z{{{{{{{{{{{|{{zy{zzz{|{{{|{{z{{{{{{z||z|{|||{{{z{{{z||{||||||zz{zz{|{{{||{|{{zzz{z{|{||{{|||{{{z{{|{{|{|||||||z{{{zz{|||{||||{{|zz{{||{{||||{z{{||{{|{{|{{{|{{{z{|{{|{{{||{{{{{z{{{{{{|{{}{{|{{z{{zz{||{{{{|{{{z{y{z{{{|{|{zz{zz{z{{zzz{zz{{zyzyzzyz{zz{z{z{{zz{zz{{zz{{|{{{zy{zzzzy{zz{z{{{{zzyzzzzz{||{{{z{zzzyz{z{z{zz|{{z{zz{yzzz{zz{{zzzzzzz{z{{zzz{z{{yzyz{y{z{{|z{{zzzzzzz{yzz{{{{z{{z{zzyzz{zz{{z||{{zzy{zzzz{zz{{{{|{yzzzzzz{z{zz{{zyzzyzzz{{z{{{|{{zzzzyz{{{{{{{{{{{yzzy|z{{z{{{{{{{zzzzz{{{{{{{{{{z{z{zzzz|{{{{{z{z{{{{z|{{{{{{{zz{z{{{z{{|{{{{{{z{{z{{z{|{|{||{|{|{{{z{{||{{{|{|{{{{{zzz{{}||{|{|zz{{{{zz{|{{|||{{{{{{||{|||||}{{{{zz{{z{}||{||{|z{z{z{z|{{|{||z|{z{{{{{{{{||{|}||{|{|zz{{{|||{{{{{{{zzz{{|{{{{|{|{{{z{z{|{{{{{{{{{zzzz{|{{|z|{zz{{{yyyz{{{{{{{|{zyzzzzz{{{z{|{{zz{zz|z{{{{{{|{{zz{zzzzzzz{|{z|{yzzzzzzzz{zzz{{{{zyz{z{zz|{{zz{z{{zzzzzzyz{zz{z{zyzzzzzyzzz{{{z{z{{zzzzz{{zzz{zzyzzzyzy{{{{{{z{{zz{yzzzzz{{{z{|{{zz{|zzyzz{z{z{{{zzzzzzzzzzyz{{zzzz{z{z{{z{z{{{{z|z{{zzzzz{z{z{{{{zzzyzz{{{{{{{{{yzzz{y{{{{{{{{z{{z{|z{z{{z{zz{{{{|{zzzz{{|{z|{{{yzz{|z{{z{z{{|{{{zyzz{{|{|{{{||zzzzzzzz{{||z|||{{z||{yz{{|||z|{{z{|{{{{{|{|{{|{z{{{{z|{|z{{||||{{{{z{{{|}||||}{{z{{zz{{|{{|{{||{z{z{{{{{|{{|{||{zz{z|{{{{{||||{{{|z{z{z{|z{{{||{|z{zzz{z{{||{{z{zzz{xzz{{z{{|zz{zzzyyzzzzz{{{{{zyzzyzzzzyz{{{{|zzyz{zzzzzzz{{{{{zy{zzyzz{z{z{|{zzzzzzzy{{z|z{z{zzzyzzzz{{{zzz{{zzzyzyzzzzz{z{zzzyzzyzzz{zz{zz{zz{yy{zyyzz|zz{{|z{yyyyyzzz{y{{{|{zyzz{zyy{{z{{{zzzzz{zyyzzzzz{zz{zzyzzzzyzzzy{{|zzzzzzz{z{{{zz{|{{zzzz{zzzzy{{||{zyyzyyz{yzz{{{|{zzzzzy{z{{z{z{{{zzzzzzz{{{{{{{{zzzzzzzzz{||{z|{|zzzzzy{{{{{{|{|zzz{zzzz{{z}|{z{z{{{zz{{{{{|{{{|{{zzzz{zzz{|{{{{|zzzzz{{{||{{{|{|z{{{z|{{{{{|||{{z{{z{yz{{{{{||{{z{{{{z|{{{{{{|{{{z{z{z{{{{{z{|||z{{{zy{{{{|zz{|z{{y{z{{{{{{{{{||zz{z{{{{|{{{||z{zzzzyzzz{|{|{{{{zzzzz{zz{{{{|zzz{zzzyyz{z|{z{|zzzzzzzy{{{{{z{{{zz{z{zy{{{{{{z{{zz{yxy{z{{{{||z{{{{{zzyzz{{z{{{z{zzyyzzz{{z{z{{{{zzz{zzyz{{|z{{{zzz{{{y{{z{{{z{zzzy{zzzzz{zy{{{{zzzyz{zy{zz{zz{z{{zzzzzyz{{z{{{{zz{zzzzz{{zzzyz|zzzzzzzz{{{z{{|zzz{zzzzz{{z{{z{{z{{zzy{z{{{z{{z{zz{zyzzz{{||{|{|{{{z{zzzz{{{{|||{z{zzz{z{{{{z{|{{{zz{zzz{{{{{|{z|{{||{zz{{{||{{|z{|{z{{z{{{{||||{y{z{z{{{{|{{|{{zzz{z{{{{{|{|||}|zzz{{z|{{{||||{{{z|{{{{{|{{{}{{{{{{{{{{|{{{{{{||{zz{|{{{{|z||{||{z{{{z{{|{{{|||z{{zz{zz||{{{|||{{{zz{zzz{{|{|{{{{{zyz{zz{z{{{{{{{zz{zyzzzz{{{z{{{zyzzz{zz{zz{z|{y{yyzzyzzzz{z{{zz{yyzzz{y{z{{{{{z{z{yzzz{zzz{{{{yzzzzzzz{{zz{{zyzyyzzzz{{{zz{zzzzzyyyzz|{{zz{{{zzzzyzzz{{zz{{{{{zzzzyyyz{{zzzz{zz{yyzzyzzyz{z{z{zz{zz{z{zz{zzz{{zyzz{yzz{z{{{{{zy{y{z{zz{zzzz|zzzzzzzzyzz{{{y{|{y{zz{zzz{z{{{{{z{{{yzzz{{{{{|{|zz{z{yzz{z{{{{|zzz{{zzy{z{zz{z|{{z{zzzz{{|{z{|z{zz{zz|z|{{|||||{z{z|{{{{{|{{{|{|{{{z{z{{|{{||{|||z{z{zzz|{{{{{}{{z{{{{{z{z{{||{{|{z{{{{|z|{|{{|||z{{z{z{{|{{||{{{{zz{{{{z||{{{{|z{{z{{z{{{{{|}||z{z{|{{{{{z|{{|{{{z{{{zz{{{{{|{{zz{y{zzz{{{{{{z{zzzyzyyyz{{z{z{{{zzz{yyzzz{{{{zz{{zzzzzzzz{z{z{{zyzyzzzzzzz|zz{{zzzyzzzz{{{z{{{|zy{zzzzz{z{{{{zzzzzyzzyzz{zz{{z{zz{{zzzzzyyzy{{{yzz{{yzzz{y{{zzy{y{zzzyz{z{z{z{zyz{zzz{zzzz{|{{{zyzzzzzzzzzz{{{{{{z{yzyzzz{{z{{zzzyzz{y{z{zzz{|z{z{y{zzz{z{{z{zz|yz{zy{z{{{{zz{|{{zzzzzzz{{{{|{{{z{z{yzyz|{|{{z{{{{zz{yz{{{z{{|{z{zzzzz{{|{{{||{{yzz{{{y|{{|z|{{z{{{{{|z{|z||{{|{z{{{z{z{{||{{|z{z{{zz{{{|{{|{{|{z|{{z{{{{{{{{{{|zz{{{zz{|{|{}}||zz|{|z||{{|z{{{{zz{z{{z{{yz{{|{|{{{{zz|{{{{z{|{|{zz{z{{{{{{{{||{{z{z{z{zz{|z}{{z{{zz{{zz{|{z{zz{yzyzzzzzzzzz{{{zzyzzzyzz{{{z{{{z{{z{yzz{z{z{{z{{zzzzyzz{{z{yz{{{yzzyz{z{zzz{zz{zzzzyzzyz{{{z{z{zy{zyzzy{{zz{{z{zzyyzzyyzy{zz{zzzyy{yzyzzz{zzzzz{zzz{yzzzy{{{z{{{z{yz{zyzzzz{{{{{zy{yzzyzzzzyzz{yzzzzzyyyz{z{{{{{yzz{{yzzzzzz{{{zyzyzzzzz{{zz{|{zyz{z{zzz|{{{{|{zzzzzzzzzz{zz|{z{{{|zz{zz{{|{{|z{{z{zzz{zz{zz{{{{zzzyzz{{|z{z{||{|zz{{zz|{||z|||{{{z{z{z||z{{|||{z{{zzz{{{{|{{|{{zzz{{z{z{|}{{||{{{{zz{{{{|||{{{|{{{{z{z{|||{{|{|{{{{z{{{{z{{{|{|{{z{{zz{|z|{{{{|{{z{{z{|{{|||{{{{{{zz|{{|{{{{||z{yzz{{{{{{|{{{z{yz{zz{{z{||z{{{{zzzz{zyz{zzz|{{{zzzyzzzz{{z{{{{{{zzyzzz{{z{{{{{{zzzz{zzz{{{{z|zz{{zzyzz{z{|{{z|zzzyzzzzzz{{z{{z{z{zyyyy{z|zz{{zyzzzzzy{zzzzz|{zyzzz{yzzy{zzzzzzzyzzyzzz{z{|{yz{zzzzzzy{{{z{z{{|zz{z{zzzz{{z{zz{zzzzyyzzzy{{{{{z{{zz{{{zz{z{{zz|zz{zzz{z{|{{{{{{zy{z{y{z{{{{zz{{z{{zyzz{z{z{{{{{{{{{zz{z{z{{z{{{{zzz{{z{{{|{|{z{z{z{{{z{{|z{{{z{|{{{{{{{z{|||}z{{{z{{{{{|{||{{{}{{zzzzzz|||z{z{||z{||{{{{{|{|{||z{|{{{|{{|{|{||{{{{zz{{z|}}{{{|||{{|zz|{|||||{|}|z{|{{{|{}|}{{{||{{{||z{||{{{}{|zzzz{{{z{{z{|{||{zzzzz{{{||{{{||z{z{{{{z{{|{{{{zzzzz{zzzz|{{z{z{zzzzyyzz{{{{z{{{{{zyzzzz{z{|{zz|zz{{{yzzzzz{z{{z{zzyzyzzzz{{y{z|zz{{yy{zzzzzzz{{zz{zzyzyzzz{zzz{{z{yzzyz{{{z{{{{{{z{zz{yz{{{z{||zz{yzzyy{z{{|{{{{{zzzz{yy{{{z{zzzzzz{zzzzz{{z|zz{{y{{z{zz{z{z{{zz{{y{zzz{z{|{z{{zz{z{zzz{|{{{{{{{zzzzzz{z{|{{|{|z{zzzzzz{{{z{{{{zzz{{zzz{{{{{{|{zz|{zzz{{|{|z||||{{{z{z{}|{{z|{z|{{z{|y{{{|{|{|{zzz{{z{{{|{{|}{|z{zz|yz{{|||{z}{|{z{{z{z{|{{|{}|{z{{z||{}||{{|{||z{{|{{{||||{{{{|z|{{{{{{{{{{||{{z{{{{{{{{||{||||{z{z{z{{{||||{z{{{{z{z{{{||{{|{{|{z{{{y{|{{{z{{zy{zzzzz{{{{{{{{yzzzyzyzzz|zz|z{{yzyzy{z{z{{z{zzz{yyzzzy{{zzz{{zzy{zzzzzy{z{zzzzyzzy{zyyz{{{z{z{zyzyyz{y{{z{zzz{{yzzz{zzzz{{yz{{yzzzyzyzzzzz{{zz{zyzzzyz{{{zy{{z{yzzzzyy{{{|{{zzzz{{yyyzzz{z{{|z{yzz{yzzyzz{zzz{zyzzyyzyzyz{z{z{zzz{zz{z{z{{{z{{zzzz{z{y{{zyz|{{zzz{yyzz{z{z{{{{z{zzzzzzz|{{{{{{{zz{{zzzz{{{{z{{z{zzz{{y{{z{{{{|{zz{zzyz{z{{{{{z{{{zz{zzz{|{z{{{zy{z{{z{{{z{{|{{z{{zz{{z{z|{{{{{zz{{{y{z{{{{z||{{z{{z||{{{|z{{|||zzz{{{{{||{{|{{{zz{{{{{{|{{{|{{|z{z{{{z{{{{{{||zzzzzzz{{{{{{{|{{z{{z{zz{|{{{|||{{{zzzz{{z{{{{{{z{{{zz{{z{{z|z|zzzzzzzzzz{z|z{z{z{zzyyzzzzz{{z{{zzzyzyzy{zzz|{zyzzz{yzzzyzzzy{{zzz{zyz{xz{zz{{{z{yzzyzzyz{{{zz{zzyzzzyz{{zz{z{zzzz{yyzz{yz{zzzz{zyzyzyzzzzz{zz{zzzzzyzy{z{zz{{{{zzzyzyzzyz{zz{{z{yzyzyyzyzzzz{y{zyxyz{zzz{z{z{z|zyzzz{zy{zzzzzz{{yzzzzzzz{zzzz{{{z{yyzzzz{{{{{{{z{{yyzz{|{y{{{{{{zzz{{zzz{z{{z{{{z{zzzzz{{|{z{{{{yzzyzyy{|{z{{{{{z{z{{zz{{|{{{||z{zz{{zz|{{{{z||{zz{{yzy|{{|{|{z|{{{{z{zz|{{{{{{z{{{zz{|{{{{{{||{zz{z{{{{}|{{{||{zz{{z{{{|{{{|{z|zyz{zz{{{zz|{z|{z{{{{z{z{{zz{{|zzzzzzy{{{y{{{{|z{z{z{{y{|{{z{{{{yzzyy{z{{{zzzz{z{yzyyzz{{zzzzz{zzzzzzy{{zzz{z{{{yzy{zzzzzy{zz{zz{{z{zzz{{y{yzz{zzzzzz{zzy|z{{{{{zyz{z{zz{zyy{{|zzyzzzyzzzz{yzzzzzzyy{y{zzz{y{{{yzzz{yzyzz{z{z{z{zyzyzzzzz{z{{{z{zzzzzzzz{{zz{{{zzzyyyzyzz|z{{zzzzzzzzzy{{zz{|zzzy{zzzzyz{{{zz{{yz{zzzyz{zz{{y{{zy{{zyz{y{{zz{{{zzzyyzzz{{{{{z{{zz{yzy{zz{{{{z|{{zyzzz{y{{{z{{{zzzz{z{zyz|{{z{{{{zzz{{z{{{{|z|z{{|{z{zz{{{|{z|{{{{{zzzzy{z|{|||z{{zz{z{{{|{{{|{{z{zz{{{z|z{z|z{{|{z{{{zz|||{|{{|{{yzzz{{{z|{|z{{{zzz{z{z{{{{{||{{{z|zzzz{{{|{{{|z{zzzzzz|{{{|{||{z{{zzzzz{{{{{|{{y{y{zzzz|{{{z{{{{zzzzyxz{z{zzz{zzyzzzzyzz{{{{{{zzzyzy{z{zzzz{{zzz{zyyzzzzzzzz{|{zzzzzzyzzzzz{z{zzzyyyyzz{zzzz{{zyzyzzyzyz|zzz{zyzzyyzy{zz{zz{{zzy{yzzyyz{zzz{{zzyzyz{zyzz{zz{yzzzzzzzzyzzz{z{zzzzzzzyyxzzzzzzzzzyxy{zzz{yzzz{zzzzzzyzzz{z{|z{{{{zzyzyyzz{zzz{{|{{zzzzzzz{{{z{{{zzzyyyzz{{{{zz{{zz{zzz{zz|z{{{{{zzzyyyz{z{{z{{{zzzzyzzz{z||zz{zz{zzz{z{zz{|{{{||zzzzzz{zz{{z{{{|{{z{zzzz{|||{{{{zz{z{y{z|{{{{{|{zz|zz|{|{{{|{{{{{{|{{{{z{||{{|{{zyz{{{{z{z|{||z|{zz{{{z{|{{{{{{|{|y{z{{y{{|{|{z|{{{zz{zz{|{zz{{|{z{zzzzyz{{|{z{{zz{yy{zz{{|{{z{{zzzzzzzzz{{yzz{{{zzyyzzzzzzz{{{|zzyzzyzz{{zz{z{{zyzzzyzz{yzz{z{y{z{yyzzzzz{|{{{|ywz{zyzyy{{zzz{zzzzyzyzz{z{zz{{zzzzyyyyzzzzz{z{{zyyzz{zz{{{z{{z{zzyyyyzz{zz{{{{{{zzzyzyyy{{zz|zzzyzzzzyzzz{z{zz{{zzzz{yyy{zzz{z|zzzy{yzz{{zzz{|zzzyz{yzyyz{zz{{{zzz{zz{zy{{zz{{{yz{zzzy{zzz{{|{{z{{yzz{yz{yz{{{{{{{zz{y{z{{{{z|z{{zy{zzz{{{{{{{{{zz{{zy{{{|{|{{|{{zzz{{z{||{||{||z{{zzzz{{|{{{{{{{z{{{zz|{z{{|||{{z{{z{{z{{||{|||{z{zz{{z|{|||{{|z{{zz{{||{{{{{|{z{{{{|{{z{{{{|z{|z{{{{z{|{{|{z|{z{{z{zz{|{|zz||z{z{zz{zz|z{{{z{{zzyzyyzzz{{z{{zyyzzyyzzy{{zy{zzz{zyyyzyzy{{zz{zyzyzyzyzzy{{yz{{zzzyyzyz{{z{zz{zzzzyzzzyz{zzzz{zyyyzyzzz{zzz{{|{zzzxyzyzzy{yz{z{zzyyxzyy{zzzz{zzyyzy{yzzzzzyz{z{zyzyxyyz{y{yz{{{zzzyzzzy{{{zz{z{zzyzzzyzzzzzzz{z{zzzxyzyz{zz{{{{zz{zzyzy{yz{zz|zzzzzzzzz{{z{{y{zyyz{zyzy{zz{{{zzzzzyyzzy{{zz{{z{zzzyzzzzzzz{{z{zzy{zyzzz{{zz{{|zzzyzz{{zzz|z{{{{zzzz{{zz{{{{{{{{zz{zz{{zz{{{z|{{z{zzz{zz{{{|{{{{{zzzzz{z{|{{{{|{z{|yz{{z{|{{{|{|{z{zz{{z{|||||{{{zz{z{{{{{|{{{||{zz{z{y{||z{{{{|zzzz{{z{||{z{{{{zzzz{zzz{{{{{{{{{{z{zzzyz|{|{|z{{zzzzzzzz|zzz{zzzzyzyzyyzy{{zzzzzzzyyzzzyy{z{{{zyz{zzyzyzzz{z{{{zyzyyzzzy{z{zz{zzzyxyzzyzzz{{z{{zzzzyyyyzzy{zz{yzzzzzzyyzz{yz{zzzy{yyzyyzzy{z{zzyyyyyyyyzyzzzy{{zzzyyzyyyzzzzz{{zzzzzyyzzzzzz{{{{yzzyyzyzzz{{{zzzyzzzzzyzzzzz{z{zyzzzz{zz{z{{zzz{zzyzyzy{zzz{z{{zzzzzyyz{z{{z{z{yzzz{zzzz{z{zz{|{zzzzyzzz{|{|{{yyz{zzzzy{|z{|{{{{yzyzzzy{{{z{{{zzzz{zzyzz{{|{{{{zzzyzzz{{{z{|{{z{zzy{yzz{{{z{{|z{{{{{{z|{{|||z||zzzzzzz{z{{{{{{||{z{{{{y{|{|z|||{z{{z{z{{{{{{{||zz{|z{zz|||{|{{{{{{zzzzz{{{{{{{{z{{zzz{{z{{{z{{|{yyzzy{y{{z{zz{zz{zzy{zzz{{{{zz{zy{{{z{zz{{{zz{zzzyzyyzz{z{{zz{{z{yyzyzy{zz{z{{{yzyzzzyzzz{z{zzzyyzyzyyzyyzzzy{{zzyyzyyy{zz{{zzzzzzyzzyzz{{{{zz{yzyzxzyyzyyzzzzzyy{zzyzyzzzzzzzzz|zzzzzzzz{yz{{{yzzyyyyzzzz{z{{{zzzzyzyzzzzzz{zzzzzyyzyyyzzyy{z{yzyzz|zyzz{z{{{zzzzyzyzzyzzzz{{{zzzzzz{z{z{{{{z|zzz{zzzz{{{{{{zz{{yzzyzzy{zz{{zzzzzzzyyyzz{{zz{{zzzzzzzzz{zz{{{{zzzy{{{z{{{z{{{|z{{zzzz{{{z{z|{|{{{{yzyzzz{z{{|{zzzz{z{y{{z|{{{|{zz{z{{zz{{{zz|{|z{{zzz{{{||{{|{{z|{zzzz{{{z{{{{{zzy{z{{{{{z{{{|zzz{zzz{{{{zz{{{{z{zz{zz{z{{{|{{zzzzzzz{zzz{z{|zzzyzzzz{zzzzz{{|y{yyzzzzzz{y{z|{yyyzyzzzz{z{z{z|{zyyzzyz{zz{{z{{zzyzyy{{zz{{zz{zzzyzyyzy{{{z{{z|zxzzzyzzyzzzzz{{zzzzzxzyzz{zz{{{{{zzyzyyzzzzz{{zzzzyzzzzzz|zzzzzzyyzz{yzz{{{z{z{yzyz{zzyzzz{{zz{z{yz{zzy{{z{zzy{{z{yyyzzz{z{z{z{{yzyzz{{z{zz{{z{zzzz{zyzzz{z{{{{{yzzyzzz{zz{{{z{zzz{y{zzz{zz|z{}{z{zzz{z{|{|y{z{{{z{yzzzz{{zz||{zzz{z{zz{{{{{z{{|zz{zzzz{{{{|||{y|zzz|{z{|{{{{|{{zzzzzzzz{{||{|{zz{{{zz{{||{{{{{{z{{{|{{z{{{{{||{zz{z{{y{|{{{|{{{z{zzyz{|{|{{|||{zzz{zz{{{|{{{{|{{{{|z{{{{{{{|{{{{{{zzzyz{{zz{{{{{{z{zzyz|{{{{{{{zzyz{yz{{{{zzzzz{zyzzzyzz{{{zz{{yxzyxy{zz{zzzz{zy{zzyyy{yzzzzz{{zzyzyzzzzz{z{zzzzzyzzzyzz{zzz{{zzyzyyyzz{zyyzzzzyzyyyyyyz{zzyzzzzxyyzzyzyz{{{{{yyyzzyzyyzzzz{zzzyyyyzyzz{zzz{zzyzzzzyyyz{zzzzyzzzzzzzzyzyyzz{yzzyzyyzyzy{yzz|y{yzyy{yzz{z{{{{z{zzyyyyz{zz{zz{z{zy{yzyzy{{|zy{z{zzyyzzzzzzzzyz{{zyzzzzzx{{|{z{{{zy{zyzzzzzz{z|{{{zyzyzzzz{zz{z|{zzzz{{z{{{{|{z{{zz{{{zzz|{z{z||{zz{zy{zz{|{{{{|{{zzz{zyz|{{{|{{{{zzzy{{{z|{|{{{|{zzzzzy{z{z{|{{{{{{{{z{z{z{{{{{{{{{y{zzz{{z{{{{|z{zzzz{{z|{{{||{{{z{{z{zz|{{{{|{{zy{{zzzz{|{z{zzyyzzzyzz{{{{z{{yzyzzzyyyz{{zzzzzzzy{zzyzyzzzz{{z{yyyzyzzzzyyz{z{{y{yzyzzzzzzyzzz{zzyyyyy{z{zz{z|zyzyyz{yzzzzzzzz{zzyyxyzzzz{z{zzyyzyyzyyzyy{zzz{yzyzyzzyzy{yzz{zzzyyzzyyzzzzy{zzz{zzyz{zzz{z{{|{yyzzyyy{zzy{zz{{|zzyzyzzzzz{z{zzzzzyzzyyz{z{zzz{zzzzzyzyz{zzzz{{{z{zzzzzz{zz{{z{zzzzyzzzzz{{{{{{zyzy{zzyz{zz{z{{zy{z{zyzzz|z{{{z{{zy{zz{zz{z{{{{zzz{zz{zzz{{{{{{z{z{{{z{{{z|{{||zzyzzzyzz{z{{z{{{zz{z{{z{{{{{z|{zzz{z{{{||||||{{{yz{zz{z{}{{{|{{{zz{zz{{{{{{{{{{{y{z{}{z{|{{{{{|{z{{{zzz{z{|{{{|zz{z{{zz{{|{z||{|{zzzzzzz{{{{{{{z{zzyyzy{z{z{z{zzyzzyyyzy|{z{{{{yzzzzzzyz{{{z{{|{zxyyyyz{zz{{{zzzyzzyyzzyz{{zz{{z{yyzyzy{z{yzzz{yz{zyzzyzz{zzzzzzyyyyy{zyzzzy{{zz{zyyyyzzyyzzz{{yzzzzyyyyz{zyzz{|z{yyyyyzzzz{{{z{zyzzzzyzzzz{z{{zyzzyyzzyzzy{{{{zyzyyyyyzz{yz{zzzyzzz{zzz{{z{{{{zzyz{yzzz{z{zzz{{z{yzzzz{zzz{{{zzzzzyzzz{z{zzz{{yzzz{y{z{{y{zz{{zzzzyyzzz{{{z{|zzzzzzyzzzz{y{z{{{{zz{z{z{z{{{{z{z{{zzz{zzz{{z{{||z{{{zzzz{{|{{z{{z{{zzzzzz|{z{|{z{zzy{|z{{{{{{{{{zzz{zy{z{||{{{|{{{|z{y{{{{{{|{{{z{yzzz{z|z{{||{{{zz{{zzz{{{|z|{{zzyzzzz{{zz|{|{{{zz{{z{{{||zzzzz{z{{zzzzz|z{zzzy{yyyyzxyzzzzzzzzyzyyzx{xzyzz{z{yyyyzzyzzzzzz{{zyyzzzzxzzz{zzzy{yyzyzyyyzy{zz{y{zzzyyz{yzzzyz{zyzyzyzyyyzzzyzzz{yyyzyyyyzzyzzzzzyzyyyyyyyzyzzyzzzyyyyyzyy{z{{zz{zzzyyyzzzzzzz{{zzyzyzzzzyyyy{{{{z{yyyxyyz{z{y{z{zzzyzyyz{zz{y{{z{{zyzzzzzz{zy{{zzyzzzzzzzzzyzz{zzz{{zzyzz{{zz{||zzz{zzzyz{{{zzzzzz{y{zzy{{{|{{{{zyy{zyyzy{{z{z{zzzzz{{zz|{{{{|zzzy{yz{{{{{{{{z{|z{zzz{zzz{{z{{|z{zzz{{{z|{||{||z{{zzzz{{{{{||{{{{{zzzyzzz||{{{||z{{{zzzz{{z|z{{{{zzzz|{{{{|{{|{{{{{{zz{z{z{z|{{z{z{z{zzyz{y{zz||yz{zz{zzz{{{zz{{{y{zzzzyz{{{z{z{zyzyzzzyy{{zzzz{yzzzzzy{z{{{{{z{{zyyyzzyyz{zzz|z{yzzyzyyy{zz{z{{z{zzzzyz{z{zzzzzzzzzyyzz{{{y{zyyzzzyyyyzz{{zzyzzzzzzyzzzzzzz{{zzyzzzyzyzz{zzz{zzzyzzzyyyzzzz{zzzz{zzyzyzy{yz{{{{zzzyzzyyz{z{yzz{yzzyyzzzyzzzyz{{z{zzzyzy{{zzz{{{zyyyzzzy{zzyy{z{zyzzzz{{zzz{{{{{zyzzz{zz{yzzz{{{yzzyzy{zz|zzz|{{|zzzzzzz{|{z{{{zzx{zyzz{{{z{{|{z{z{zz{zzz{z{{|z{zzzzzzz{{z{{{z{zzzzzz{zz{{{y{|zz{y{{zzz{z{|z{z||{{{{zzzz{|z{||{{{y{{{z{z{{{{{|{|{{zzzyzz{z{{z}|{|z{z{z{z{{{|||{|zzy{{z{|z{{{{||{{zzyzzzz{{{|z{|{z{zyzzzzz{|{{{z{z{zyzzzzzz{{{|{z{zyzyyzyzz{z{{{zzzyyzyzyyz{{{zz{zzyyzy{yzzyzzz{{zzzyyzyzzzz{{{z{zzyyzzzyy{zz{zz{yzyyyyzyy{y{zz{zzzzyzyxzzzzzzzz{zzyzyyxzzzz{zzzzyyyzzzzyyzzyz{{zzzzzyzyzzzzzyzz{zzyyxyyzyz{z{{{zyyzxzzzyyzzz{z{yzzyzyzyzzzzz{{z{{zzyzzzyzzz|zzzz{yyyyyyyz{{zy{z{yyzzzyzzzzz{zz{{zzzzxyyzzzzzz{zzzzzzyzyzzzz{z{zzzz{zzyyyzz{zzz|zz{zyzz{y||zzzz{{zz{zzzzzz{{{z{{{zz{zzzzz{{{{z{z{z{zz{zyz{{{{{z{|zzz{zzzzz{{zz{{|{yz{zz{z{{z|{|||{z{zzz{{{{{|{{|{{z{z{z{z{{z{{{{{{yzzzzz{{{{{{{|{{{z{{{{{{z{{{{z|z{{{zz{z{{{{{|{{{{zyyzzy{z{zzzz{zyzyzzzyz{{{zz{{{zyyzyyxyzzyzz{zzyzyzyyyzzy{z{zzzzyyzyzyzzz{zz{z{z{zyyzyzz{zyzzzyzzyyxzx{z{y{zzzyzzzyzzyzzyz{zzzyzzyyyyzz{zzzzzz{yzyyzyyzzyzzzzzyzzzyyzyzz{zzz{zzzzzyzyyz{zzzz{{yzyyzzyy{{zz{z|{{yyyzz{yyz{zzz{zzyyyzyyz{zyz{zz{yyyyyzzy{{zz{{zz{zzzzzzz{{z{y{{{yzzyzzyyyzzz{{{{zzyyyzzzzzz{zzz{zyzzzyzz|{{{zzy{zzzyyzyy{{z{{{|{z{zzyzzz{{{z{{{zzzzz{z{z{y{{{{{{zz{{{zzz{{{{{|{{zzy{zyyz{zz{zz{{{yz{{z{zz{{zz|{zz{{{yz{{{z{{{{{z{z{y{{z{z{{z{z{{{zz{{zzzz{|{z{{z{yzzzzyzz{{{zz{{zzzz{{{z{{{{|||{zzzzzzzzzz{{{{{z{z{yzzyyz{{zz{{|zz{zyzzz{z{z{z{{zyzzyyyyyzzz{zzzzzyzzyyyzzz{zzzzzzyzzzzyyzzz{z{{zz{zyyzy{z{zyz{zzzzyzzyyzz{xzzzzyyyzzzyyyzzzzz{zzzyyzyyzzz{zzzzzzyyyzyyyyyzzyzz{yzyzyyxyzzz{zzzzzzyyyyyzz{zzz{z{yyzyyyzzyz{|zz{{zzzzzzyyyzyzz{zzzyyy{yyzyzzyyzz{{zzz{yzzzzzz{{{{zy{z{zzy{zzzyzz{zzzyyzz{z{z{y{yzyz{{yzz{zzzzzzz{{zzy{zyzzzyz{|{zyzzzy{yz{z{{yz{zzyy{zzzz|{{z{{{{{y{zyzzz{zz{{{{{z{zz{zzz{{{{z{|{z{yzy{y{{{|{|{|{{y{{zz{zz|{z{z{|{zzzz{{z{{{{{{{{z{zzzyzz{{{{{{||{z{{yzzzz{{z{{{zz{zzy{z{z{{{{{{{z{{y{{zz{{{{{|{{z{zzzz{zzzz{zzz|{zyzzyz{{{{{{{{zzzyzzzzz{{{{zzzzzyyzzyyyzzzzzzzzzzzzzzzyyzzzyy{z{zyyxyzyyzzy|{|{z{z{yzzzyz{zyz{{zzzzyyyzyzzz{zzzyyzzyyzyy{zzz{z{z{zyyyyy{zzzy{zzz{zyxyzzz{zyz{z|yzyyyyzyyzzz{zzzz{xyyzyyzz{zzz{{z{zyyzzxy{zzzzz{{yzyyyzyzy{zzzz{zzyyyzyzyzzzzzz{yyz{yyzy{zzzz{z{zzzzzyyz{{{zz{{zzzyzzzzyz{zyzz{{zzzzyzzy{z{{{y{{zzzy{yyzz{{{{|{|zzzz{zyzz{z|{{{z{y{zzzyz{{zzz{{z{{{zzyz{{{|{{{{{zz{{z{{{{{zzz{{{zzzz{{zzz{zz{{{{zx{z{{{z{{{{|{||zzzzyz{{{|{{{{{{|z{zzzyz{|{{{{{{{{{z{zzz{z{{{{z{{{zzzzz{z{z{zz{z{zz{zzz{|z{{{{{{z{zz{y{zz{z{|{{{zzzzzyzz{{|{zz{{zzzzzzzy{{{{{zzzzzzzzzyzzz{zzz{{{zyzyyyzzyzzzz{{yzyzyyzyyz{zzz{zzzyyzyzzzz{|{zz{yyy{zzyzzzzzy{y{yyyyzzyyz{y{z{zyzyzyyzyzzzzzz{zzzyyyzzzzz{y{z{z{zyyyzzzyy{{z{z{zzzyzyz{zzyzzz{{{zz{yyyyyzzzz{zzz{zzyyyzyzzzy{z{{{zzzzyyzyz{z{zzzyyzzzyzyz{{zz{{{zy{yzyy{{|z{z{{zzyyzzyzz{z{{yzz|zzz{zy{zzz{{z{{{zzzzzyzz{{z{z{z{zz{zzyyz{{z{zz{{zzzzz{zz{z|zz{zzzzz{zz{z|{{}{{{{zzzyyz{z{{{{z||{zz{zzzzy{{z{{{z{zzz{zz{z{|{z{|{zz{{zz{z{{{z|z|{|{{{{{|zz{|{{{}|{{{{zz{z{{{{{|{||{{z{zzzzz{z{|z{{zz{{{{zz|{{{{{z{{zzyzzzz{{{z{||{{zzzzyyzzz{|{zz{{zzz{zzzzy{zzzzzzyzzyzyzyyzzzzz|z{zyyzyzzz{zzz{|{zzyzzyzzzzz{|z{z{yxxyyzzyz{zy{zzzzyyzyy{zzzz{{zyzyzyzyyzzzzz|{z{zzzyzzz{zzzyzzzzzyyxzyz{zz{{zzzzyzyzzzz{zzz{zzzzzzzxzyyz{z{zzzz{yyyyzyzy{z|zz{{{zzyyyzyy{z{zy{yzzzzzyyzzz{{zyzzyzyzzzyzz{{|{z{{zz{z{yzzzzzzz{{|{zyzzyzyzzzzz{{{yzzyyzzzz{{z{{zzzzzyzzzzzz{{{{z{zz{zz{zzzz{{z{{{zzzzz{zz|{|z{z{zzz{y{{zz{{{{{{{zzzzz{{zz{z{{{{|{{yzz{{zyz{{{{{{z{zz{{z{z||z{z|{{zz{zz{{{z{yz{||z{zzzz{zz{|{|{{{z{z{zz{{{{{z{{{{{|zzzzzzzz{{{|{{||z{z{zzz{z{{{z{z{|zyzzzz{|z|{{||z{{zzzzz{|{{z{{{zyzzyyz{{z{{{zzzyzyy{yzzz{zyzzz{{zyzzzzzz{zzz{|z{yyzzzzz{zzzz{{{zzyzzzyyy{z{zyzzyzyzzzzyz{{{y{zyzyyyyyzyz{zzz{zz{zzyzzyzzzzyzzyzzzzyyzyy{yzzzz{zzz{y{yyyzz{z{{{{{zzyyzyyz{{z{z{{zyzzyzzyz{{z{{{zzy{zzzyyy{zzzz{zzzzzzzz{yy{z{z{{yyzyzzzzzzz{|{z{zzyzzzzz{z{y{zz{{zzzzyzyzz{{z{z{z{zzzzz{{{{{{{z|{{z{zzyxzz{{|{{|{zzzzzzz{z{{zz{zzzzzzzyyz{{{z{{{{zzz{{z|{z{{{{|{{z{z{{z{||{{{{|{{zzz{{{zz|{z{|{{{yz{{{zz{{{z{{{{|z{{z{{{{{{z{|{{{zz{{zzz{{||{{{||zz{{z{z{{z{{{{||zzzz{z{{{z{z{{{|z{{|{z{{{{{{z{{z|{z{z{z{z{{{{z{{{{z{zyzz{{|{|zz{z{zzzzyz{{{{zyyzzzyyzyzyzzzzzzzyzzyzyyz{z{{zyz{{yzyzyzy{yzy{z{zzyyyzyyy{z{yzz{|zzyyyyzy{{{zzzz{zzzyyzzyz{zzyy{yyzzzyzyzyz{zy{{zzyyyzyyy{yzzyz{zyyyyzz{yzyzzzzzz{zyzzyyyy{{zzzzzzyzzyzzyzz{zyz{zzyzzyzzyyzzz{zzyyyzzyzyyy{{zzz{{{zzzzyyzzzyzy{zzzzzzyzzzz{zzz{{{zzzyyyzzzz{z{z{zyyzzyzyyz{zz{{{{zzzzzyyzzzy{{|{zzyzzzzzz{z{{{{{{zzzzzzzzzzzzy{z{{zz{{zyy{{{{{|{{zzzz{{{zz{z{z{z{{{{zzyzy{|{{z{|{{{z{{z{{{{{|{{{{{{yzz{|zz{{z{{{{|zz{{zzzz|{{zz|{zzz{zz{z{{{{z{|{{zzzz{zzz{z{{z{|{zy{{{z{|{{{z{{|zzzz{z{zz{zz{zz{zzz{{zzy{{{{{z{zzz{zzzzzzz{zzzzy{zzzzyzzz{{z{z{yzzzzzzyzyzz{{{z{zyzyzyzz{zzzz{{zzyyyzyzxyzz{zy{{yzyxxyyxzzzzz{{zzxyyzzyyzz{zzy{zzyzzyzxy{zzzyz{{zyyyyyyyyzzzyz{zyyzyyyyyzzzzz{z{zyzzxyyyzz{{zzz{zzzyyzyyzzzzzzz{zyyzzxyy{zzzzzzzzzzyyzyyyzyz{z{{zyzzxzzyz{zyzz{{zzzyzzzzzzzzzz{{zzzyzzzzzz{{zz{zz{zzzzzzzz{z{zz{|zyzyzzzzzz{z{{{{zzy{zz{{z{zz{{{zzz{zzzz{z{zz{{z|y{zz|{zz{z{{z{{zzzzzzzzz{z{y||{|yzzyzyz|zz{{{{{{z{z{zzz{||{{z||{y{{z{zzz{z|{|||z{zz{zz{{{{|{|||{{z{zz{{{{{{{|{{{zzz{zzz|z{zz|{{zzzz{y{zz{{{{{{{{{{y{zzyz{{{z{|{zzzzz{zzz{{{z{{zyz{zzzy{{z{{z{{{yzyzyyyyyzzzzyzzyzzyzyxyzzzzzy{{{zzyyzzyzzzz{{{zzyzyzzzzzy{{zyy{zzzyxzyzzzzzzzzzyyyyyzyyy{yyzz{zzz{yzyyzxz{z{zzyzzyzzzzzzzyzzzzyyyyyyyyxzz{{z{zzzzz{yyzyz{{zzz{zyyzzyyyyzzzz{zzzzyzzzyyyyyzyzz{{zzzyzzyyz{z{z{zzz{zyzzzyzzz{{{z{zzyyyzz{{{zzzz{{zzzyyzzy{yzzzz{{zyzyyzyyz{zz{{{{{yzzzzzzz{z{z{{zz{zzz{yzz{{z{{{{zz{yzzyzzzzzz{z|z{zzzzyzz{z{{{|{zz{zz{zz{z{|z||{{{z{z{zy{{|z|{{{{z{zzyzy{|{z{{z{zzzzzz{{|{{{|{{{|zzzzzz{{||{{{z||z{zzzz{{{{|z{{{{zz{zzz{{{{{|z{{{zy{{zz{{{{{z{{{zz{{{zz{z{{{z{|{{zyzyzzyz{{{{{|z{z{zyzzyz{{z{zz{zyyyzyzyyzzy{z{yyyyzzyyzzzz{zz{{zzzy{yzyyz{yz{zzzyyyzyyyzyzzx{zzzzyyyzzyzzyzzzz|yyyyzyzzzzzyyzzyz{zyzyzyzzyyzyzzzyyzzyzzzzzzzzy{yyzzyyzzzz{zy{z{zyyzyyyzzzzyzzzzzz{zyyzyzzzzzzz{yyzyxyyzzzz{{z{yzzzyzyyyyzzyzzzzyzzzzzyy{z{zzzz{yyzyzzyzyz{{zz{{zzzyyyyzzz{zz{z{zyy{zzyzz{z{z{zzzzzzyyzzz{{{z{zzzyzzzyz{{{{{{{zzzzzzz{yz{z{z{zz{{zyzz{y{{z{|z{|{zzzyzz{y{{z{zz{|{z{zzzzz{|{{{z{z{zzzzzzz{|z{{{{|zzz{{z{zz{zz{z{{zyzzzz{zz{z{{{z{{{{{zzzzz{{{{{{{zzzzzzz{zz{{z{z|z{{z{y{{{{z{z|z{yyzzzz{{zzz{{{{{z{{zyz{zy{z{y{z{zzyzyyzz{z{{zzzzzzzzxyyxzzzzzzz|yyzzyyzzzzzzz{zzzyyyyyyyyyzzzz{zzzzzyyyy{yzzyy{{yzyzyzzy{zyzzzz{yyzzzyzyy{zzzzzzyzzyy{yyzzzzyz{zzyzxzzzzzyzz{z{zyzyyyzzyzz{zy{zz{zyzyyzzy{yz{zz{yy{yyyxyzzzzz{z{zyyyzyzz{zzzzyzzzyzyzzyyyzzzyzzzyyzzzzzyzzz{{z{zzyzyzyyyyzzzz{{{yzz{zzz{z{yz{z{zzyyzyzyyzzyzz{{{z{zz{yzzzz{{y{zzzzzyzyzyz{{zz{{zzyzyzyy{{{{{z{{z{zzz{yzzzz{{|{{{z{z{{{yz{{{z{{z{{yzz{zzy|{{{z{{{zzz{zyyy{{{{{z{{zz{zzz{zz|z{z{{{{{{zzzzzz|{{{{{{zz{{yzzz{zz{{|{z{zzzzzyy{{zz|{{|z{zzzyzzz{zz{{{|z{zzzz{z{{{{zz{{{zyyzzz{z{z{z{z{|yzyzzyyz{z{z{z{yzyyzzyyzzzyzz{{yzzyyzyyzzzz{z{{zyyyzzzzzzzzzzz{zzzyzyzyz{z{yz{{yyzyyyy{zzz{{{y{zzyyyyzzzzzzz{zzzxyyyyyz{zzzzzzyzyyyyzyxyzzzzzz{yzyyyyyyyzz{yzzzzyyzy{zyzzzz{zzzzyzyyzyyz{{yz{zz{yzzyzyxyzzzzzzz{yzzyyyy{yyzz{zzyzzzz{zyy{{{zz{{zzzy{xzzyzzzzzzzyyzyzyyzzy|{{z{zyyzzyzyzz{zzzyzz|zzzyy{yyz{zz{{zzzz{zzyyz{{z{z|zzzzzyzzz{{|zzz{y{{{zz{zz||{{{{z{zzzz{zzz{z{{{{{{zzzzyyzzzz{{{{{{{zyz{zzz{z{{z||{z{zz{{zzz{{{{{z{{{{{zy{z{{{{|z{|{{z{zz{z|{|||{{|{yz{zzzz{{{{|{|{zz{zyz{z{{z{{{{{{{zz{{zz{{{{{z{y{{zzzy{zzzz{{zzzz{zyzzzz{{{zzz{{yzyyyyzxzz{zzzzy{zyyzyyzzzzz{{{zyzxyyyzyzyzyyzyzzyzzyyzyzz{{y{{zyzyyyyzyzz{zzz{zzzzxyzyyzzzzy{yzzzyyzyzzzzyzy{zzyyyzzyxzyy{zzzzzzyyyyyyyyzyzzz{yzzxyyzzy{{{{yzzz{zzyyyyyy{zzz{{zyzyzyyyyxzzy{zz{yz{zyzyzx{zzzzzzyyxyzyzyzzzy{zzyzzz{zyyzzzzzzzyzzzyzzyzz{z{zz{zzzz{zzzzyz{{zzzzzzzzzzyzyz{{{{{{zzy{yyzyyz{|zz{{{zyyyzyzz{{z{y{zzzyzzzyyzz{{zzy{{zyzzzz{y|{zzz{{{zy{{zzzzz{{z|z{{{yzzzzzz{{{zz{|{|{zzzz{zzz{zz{|{{zz{yzy{z{{{{{|{zyzz{{z{{|{{{{{{zzzzzzzz{{z{{{z{zzzz{zz{zz{{{{||yzzz{{yzzz{zz{{zzyyzyzzyy|z{zz{zyyzzzyyz{z{zzzz{zzzyyyzyzz{zzzzz{y{yyzyyyzz{zz{z{zzzyzzy{zzz{z{yzyzzyyzy{z{yyz{|zzyzyyzyzy{zy{z{yz{yzzzyz{zzz{{zzzzzzyyzzz{yzz{zzzyyyyyx{z{zzzzyzzzzzzzzyzz{zz{zzzyzzyzzyyzy{z{{zz{zyyyzzzzzyzz{zzzy{yyyzz{zzzz{yzyyzzzzzyzzzzz{{zyyzyyy{{zzyzz{zzzyzyyyzzz{yz|{zzzyyyzzz{{{zz{{zzzzyyyyzzzzz{{z{{zy{yzzyz{|{z{{yzzzzyyz{{zz{zzyzz{zzyzz{{z{{{z{zz{{zzzzzz|{{z|{zzzyzyzz{|{{{{{{{zzzzzz{zz{z{||zzzzzz{zz{|z{{z{||y{zzz{z{{{|{|{|{z{z{{zz{|{||{{{|z{{zzzz{|{{{{{|{zyz{|z{{{{{z||||{zzzzz{|{z{|{{{z{{zzz{yz{{zz{{{{zzzzyzzz{{z{z{zyyzyzzzzz{{z{zz{zyyyzz{yyzzzz{zzzyzzzzyy{zzzzz{|zzzzzzzy{zzzz{z{zxzyzyyzzz{{{z{{{yyzyyzyyz{z{z{zzyzyzyzy{zzyy{zzzyzyyzzyzzzyzzzzyzyzyzyzyzz{zzzzyyzyyzzzzzyz{zyzzyyzyyy{z{zzzzz{yyzzyzyzzzzz{zzzyzzzzzzyyzyzy{zzzzyyzz{yyzyzy{zyyzzyyzzz{z{zzzzzzzyyzy{{zzz{yz{{zyzzzzzzyz{zz{zzz{{yzyxyz{{zz{|y{z{z{yzzzz{z{|{z{zz{zyyzz{z{{z{{zzzzz{zy{{|{{{{{{yzz{z{{z{{{{|{{z{zzzz|z{zzzz{||zz{z{zzzz{{z{{{{{zzy{zz{{{{{|z|z{{zzz{{z{zz{{|{||{zzz{zzz||{{{{{|zz{z{zz|{{{{|{{zyzzzzz{{{z{{{{{{zzyzzzzzz{{{{{{z{zz{zyyz{{{z{{|zzy{{zy{z{z{z{{{zz{yzzyz{zzzz{zyyzxzzyzyz{z{xz{z{yzyyyyy{{{z{zzzzzzyyzyy{zzzzzz{{yz{yyyzzzzzzz|{zzzyzz{x{zzzzzz{zzzzyzyyyzy{y{zzyyzyyyzzzzzzz{{zyzyzzzzz{yz{zzz{yyyyyyyzyzyzzzzzzyyyyzyyzz{zzz{zzyzzyyyzzzzzzz{{yyyzzyyyzyz{zz{z{yzzzzzzzzzzzzz{zzzyzy{zzyzzzzzzzyyzzyzzz{zy{{{zzy{yyyy{zyz{{z{{zzzyzzz{z|zz{{{|zzz{yzzz{{zzz|{zy{{yzzzz{zzzzz{{{yzzz{zz{{{{{{z{yz|{{{y{{{zz|{{{yz|zzzz{{{{|z{{{zzy{zyzz{{{{{{{{{{zz{{zzz|{{{||{z{zyz{zz{|z{{{|{{zz{zzz{z|z{z{{||zz{{zz{{|{zz{{{yzyz{zzz{{{{||{|zzz{{zz{{z{{yz{{yz{{{zzzz{{{z{|{{zzyz{zz{{y{{z{|zz{{zzzzz{{{zzyzzyzzyyyzyzzzzz{zyyyyyyzzzzzy{z{zzyyyzyzy{{yyz{{{yyzzyyyzz{zzzz{{zzyyyzyy{zzy{|zzzyyzz{yzy{{zz{zz{yzyzyzzzz{zzzzzzyzxyzyzzzyyzzyzzzzyzzyyy{z{zzzyzyyzyzyzyzzzz{{zyyzzyzzxzzzz{z{yzyyz{yzzzz{yzz{{z{yxyyxyz{zzz{{{{yzyzzzyzzz{{{{|yyyyzzzyy{yz{{z{yyzzzzzzz{yz{z{{zyyzzyzzzzzz|zzzzyz{{yz{z{z{zz{{xyzzzyyzz{{{{{{{yzzzzzzyz{{zz{z{{zzzyzzz{z{{{{zzzzyzz{zzzz{z|{{{z{yzzzzy{z{{|{{{|yyz{yzz{{{{{||zzy|zzz{{z{zzz{{{zyyzy|zz{{{{{{|{{zz{zzzz||{{z{z{zzzz{z{{z|{z{{{{{z{zzzyz{{z{|{|{zzyyzzz{z{|{{{{{{z{zzz{y{z{{{{{zyzzzyyyzz{{z{zz{zzzzyyyyzz{{zyzzzyyzyyzyyzzzzzzzzyzzzzyz{z{zz{{{{zz{yyzyzzz{y{{zyyzzyyzyz{z{zzz{zzyzyyzyyzzyz{zzzzzzyyzyyzyzyyzzzyyyzzyyzzzyzy{{yzyyywyyyzyz{{zyyzyyzzyzzyz{zzzzyzzzyzzzz{{{zz{zzzyxzyzyzyzyzzzyzzzyyyyyz{yzyz{zzyyyyzzy{zzzzz{yzy{yyyzyzzzz{{{{yzz{zzzy{z{zz{{{zzyzyzyzyzzyyzzz{zyzzyzzz{{{{{zzzyzyyyzy{{{zz{{{z{zzzzzy{z{{zz|{zzzzzyzz{{{||{{zzz{zyz{{zzz{{{{|yzz{zzz{z{{{{z{{zzzz{yz{{{{z{|{{z{{zzz{zy{z{{{{{{{zzz{{y{|{|{{{{{zz{zzz|{{{z{}{{{zzzzzzzz{z{z{|{|zzz{zzz|z{{{|{|z{zzzz{yyz{|{zz|{yz{zzzzz{{{z{{{zzzzzxzy{zz{z{{{zzyyzzyxyz{zy{zyzzyyyxzz{z{yz{zzzzzyzzyyzzyzzzzzzzzzzzzzzzzzyy{zyz{zzyyxz{{yzzz{zyzyyyzyy{yzzz{zzzzyzzyyzy{zyzzzyzyyzyyyzz{zyzz{zyzzyz{yyzzzyz{zzyyyyzyzzz{z{z{{zyzyyyzyzzzzzz{zyyzxzyzyzzzyyz{yzzyyyzzyyzzzzzzzzzzyyzyzyzz{y{{zzzzx{yyzyzzzzzzzzzzy{y{z{zzzyzz{yzyyyzzz{z{zz{{z{z{zzyyyzzzz{zz{{yzyzzzyzzzzzz{{{zzzz{yzz{{{yy{z{{zyzz{z{{{z|{{{y{{zzz{z{{{{zz||{{y{{zyz{{{|{{|{zzyzz{{z{{zz|{{{{z{zzz{z{z|{{|{z{zzzzzzz{{{|z{{|{z{{zzz{{{{z{z{{|zzzz{y{{{{z{{{{z{zzzzyzz{{|{{{{zyzzzzzzz{z{z{|z{z{zyzzyz{{{{z{yyyzyzyz{{z{zzzz{yyyyzyzyz{{z{zzzyyzzyyyzzyy{zzzzzzzxzyzy{zzz{yz{zyzyz{zyzzzzzz{{yzyzzyzzyz{zyzz{zyzzzxyyyzzy{{zzyzzzzyyyzz{zz{yyyyzxzzy{zyzzzz{zzyyyzyyzyz{zzyyzzzyzzyyzzzyz{yz{yyzzyzyyxzxzz{zyzyzzxyzyzzzyzzzzyzyyyzzyzzzzzz{zyzzzzzzyzzz{z{z{zyzyzzzzzzzzzzzzzzyyzyzy{z{{{{z{yzzyyyzyyz{yz{z{zyzy{yzxzzy{{z{zyzzyyzzz{zzz{z{|zzyyzzyzz{{{z{{{z{z{zzz{{{z{{{{{|zzzz{{zz{z{{|{{zzyz{zzz{zzz{{{|{zyzyzyz{{|z{{{zzz{yyz{{{{z{z|z{zzyzz{zz{z{|{z|z{z{zzzzz{zz{{{z{{zzzz{zy{{{{{{{{|z{zzzzz{{{{z{z|zzz{y{z{{{z{{z|{zzzzzzzyzzz{zz|zzyzzyyyz{zzzz{zzyzyyzyyxyzzyz{{yyyyzzxyyzyzz{zzzzzzwyzyyzyzz{zy{zyzyzyyyyzzzzzzz{zyyyyyxy{{zz{zzzyzyzzyyz{yz{{{z{yxzzyyzy{zzyzz{yyzyyyyz{yzyyyzzyzzyyzyxzzzzyz{zyyyyyyyzzzzz{z{zyzzzyzyyyzz{{y{{zyyzzzzzzzzzy{zzyzyyzyyyxzz{z{zzzyzz{zxz{zzz{{z{zzzzzxyzzzz{zzz{zzzyyzzzyzz{zz{{zyzzzzyzzzzz{zyzzzyzzzzyy{z{zz{{zyzyyzyyzz{zz{|{zzzy{zyyz{z{zzz{zz{zyzzzzz{|z{{{yz{zy{zz|zz{z{{{zzyz{zyy{{zz{{{{{zz{z{{z{{yz{{{{{zzzzz{zz{{{{{{{{{z{z{zz{{{{{{||{zz{zz{{{{z{{{z{z{zyzzy{zz{{z|z|{{z{{zz{{|{z{|z{zzzz{y{{{{z{{z{|{zzzyzzz{{{{z{{zyzzzyyzx{{zzyzyzzyyxyyzyyz{zzz{zzzzyyxzzyz{zz{{zzyyzzyyzz{zz{{zzzyzyzxzzzzzzz{zzzyzyyyxy{zz{zz{zzzzzzzyzzzzyz{{z{yxyzzyy{z|yyzzzzyyyyzyyzzzyz{{zyyzzzyxyzzzzzzzzyzyzxyyyy{{z{zz{zyzzyyyxzyzyzz{zyzyzyyyxyzzzzzzzzzyyzzzyz{zzzz{zzzzyzzzyy|zyzz{zzzzzyyzzz{{{zzz|zzzyzyzzzyyzz{{{zyyzyzzzzy{y{{{|{zzzzyyzzz{{{{{zzz{zyyzzzz{yzz{{zyzzzzyz{z{z{zzz{zzzzzzzy{{|{{|{zzyz{zzz{|z{z{|{zyyzzzzy{{{{z{z{{zz{zy{z||{z|z{{zz{{z{{z{|{{|{{{zzzzz{z{{|{|{{{z{{{{{zzz{{{||{{{{zyz{{zz{{{{z{z{z{zzzzzz{{{{{z{z{zyzzzzzz{z|z{{{z{{zz{zzz{zz{z{zz{zyyyzz{z{z{yzzzyzyyzyzx{zzzz{{yyyzyyyyz{zy{yzzzzzyyz{yz{z{{{{z{zyyzyxzyzzzzzz{{zzyyzzzzzzzz{|{yzyzyzzxzzzzzz{zzzzyzzyyzzzzyzz{zyzyyzyzyzz{zz{{yyzzyyyyzzzz{zzzyzyzzzyzzz{z{{zzzzzzyz{z{zz}zz|{zyzzzyyyyzzzz{{zzzyyyzzz{zzzz{zzyzzzzzyz{{zz{zzzyyzzzzzyzzzz{z{zzzyzyyzzzzzyzzzzzzz{yyz{{z{{zzz{zyzzzzyzz{{zzz{{zyzzzyyyzz|{zz|{zzyzz{zzz{{{z{y{zzz{zzzz{{{{{{{{{zzzz{{z{|zz{{|{{y{yzzzz{{{{|{{{{{z{zyz{|{z{|{{zzz{zz{{{{z{{{{{|{zzz{{z{z||{{|||zzzz|zz||{{z{{{{{z{{zz{z{z||z{||zzz{{zz{{{{||{||z{zz{z{{z{|{{{{{{{yzyz{z{{z|zz{{y{zzzzzzz{z|z{zzyzzyyyzzzz{z{zz{zyzzzx{y{{zzz{zzzzyyyzyyzz{z{zzzzzzzyyzzz{{{yzz{{zzxyyzy{zzzzzy{zzyyyyzyzzzzyz|zzzzyyyzzz{zzzzzzyzzyy{xzzyz{{{z{zzyxyxyzzzzzzzzzzyzzzyyzy{z{{{zzzz{yyyyxz{z|zz{{zyzyyzy{y{zz{zz{zzzzzzyyz{z{z{zzzzyzyzyy{zzzyzzzzyzy{yzzz{z{z{zz{yyyzyzyyzz{{zz{yyyzxy{{z{{zz{z{zy{yzyzyz{zzz{z{zzyyyzyzz|{z{{|{zzy{zzy{zz{y{{yzzzzz{{zz{{{z{|{{yzzzzzzz||z{zz||zz{zyzz{||{{{{{{zzz{zzz{|{zz{|{|zzzzzz{{|{{z{{{|zz{z{zzzz|{{{|{z|z{|zzzz{|z|{{{|zz{z{yzz{{{z|{{}{z|{{z{{zz{|{{zzz{zz{{zzz{{zz{{|{{zzzzyz{{zz{{{zzz|zz{yy{z{{zzzyzzyyyyyyzzyzzzzzyyxzyzyyy{zzz{z{zyyyzyyyyzyzzzz{zyzzzyyzzzzzzzzzzxyyyxzxzzzz{zzzyyyyzzzyy{zyy{zzzzyyzyyz{yzyyzzzzyyyyzxxyzzzzzzzzyzyzyzxyzzzzz{yzyy{yyyyzzzz{zz{yzyyyyyyz{zyz{zzyzyyyxzyzyy{z{zzz{yyyyzxzyyy{{zzyyxzyzzzzy{yz{zz{zyzzyzzz{{z{{z|yz{yzyzyz{zzz{z{{yyzyyzyzzzzz{{{zz{yyyyzyzyzz{{zzzzzzzzz{{{{z{{z|yzyzyyz{{zzz{{{{yyz{zzzz{{z{{zzyyz{zyzz{zzz{{{{y{zzzzyz{{{{|{{|{z{zzyyz{||{|{|{{yzzzzz|z{{zz{{z{zyzzzzzz|zz{{{{zz{{yzzz{{{{{z{{{zzzzzzz{zzz{{{{{{z{{y{zzz{|{|{z{yzyz{{zz{zz{z{{{zy{zzyyz{{{zzzzzzzyyzzy{z{zyzzzyyzyyxyyzz{yzzyz{yyyy{yy{zzzzzz{zyyyyzzyzz{zzzz{zxzxzyyyzz{zyz{zzyyxyzyz{{zz{z{{zyyyzzyyyzzyz{{zzyyyyyzzzz{yz{z{yyyy{yyyzyyyyz{zyyzyyzyzyzzzzzz{zyzzyzyzyz{{zzzzyyzzxyyxyzzyzzzzyyyzzyyzyyzzy{{{zyzzyyyyzzzzz{zzyyzzyzyzzz{z{z|{zyyy{zzxzz{z{zz{{{{yzyyzzz{zzz{{zxzyzzyzz{zz{{{yzyzzzzyzz{{zzzzzz{{zzyzzzzz{{{{{zyz{zzzzzzzzz|{z{zzyzzyyzz{z{{{zzzzzzz{z{{{{{{{|zzzzyzzy{|{z{{z{zz{zzzz{{{{|{|{zzzy{{{{zzz{z{{{z|y{zz{{{z{|{{|{{|zzzzz{{{{{z{{{{zz{zzzzzz{{z{|{{{{{{{{y{{{z{{|{{zzzzzzz{zz{{z{{{{zzzyz{zy{{z{zz{zzz{zyzyz{zzzz{yzyzyyzyxyzzyyy{{yyyzzyyyz{z{z{z{zyxyzyyzzzzy{zzyzyyyzzyyzz{{yy{yzzxyxyzzzzy{z{z{xzzyzyyyyzyzyz{zzyyyyyyzyyyzzzzzyyyzzyyz{yzzzzz{zyzzxyzyyzyzzzzyyzzzxyyxzz{z{zy{yyzyyyyyyzz{y|yyyyyzzyzxxzzzzyz{yzyyyyzyzyzzz{z{yzzxyyyyzzz{yz{zzyzyzyzyzzzy{zz{zyzyyyyy{zz{yz{{zz{zyzzyyzzzzz{zzzzyzzyzyzzzz{yzzzyzyyzy{{{z{zz{zyyy{z{y{{zzzzzzzz{{yyzzzz{{{z{{z{zzzzzzz{z{{{z{zzzzyzzzz{|{z{{{zzy{{zzy{{{z{z{{{z{zzy{zz{z|{{{{{zzzyzz{{}zzz|{{{{zz{z{z{z{{{{{z{{{zyyyz{{{z{{{|{zz{{zzz{{z{z{{{z{{z{zzy{{z{z{z|{zyyyzzy{{zz{zz{zz{zyyyyzzz{zyzyyyzyzyzzzz{zy{zzzzzyyyyzz{zzzz{{zzyyzyzyzz{z{z{z{yyyzzzzzz{zzyzzzzyxyzyx{z{zz{z{{yzzzyyyxzy{z{zz{zyzzyyzzzzzzz{{zzzzyyyxzzzz{z{zyyyyxxyyzzz{zzzzyzzzyzzzz{zz{z{y{yzyyyyyyzzzzzzzzzxyzyzzzz{yzzzyzyyyzyyzxzy{zzzzyzyyzyzzzz{zzz{zyzzyy{zzy{zzyxz{zzzyyzy{{zzzzz{{zzyzyzz{zzz{{{{z{yzzyyzz{{{{zz{zy{zzzzzzzzyzz{z{{yyzzzzy{z{z{{{{{zz{{{z{z{{z|{{{z{zz{{zz{{{{z{z{{{{zzyzx{{{z{{{z{zzzzzzy||zz|{|{{{zyz{z{zzz{||{{{zyzzz{z{{{{{z|{{zz{{zz{{{{{{{z{{zzzy{zzzzzz{z|{{{zzzzyz{z{z{z|zzzzzz{zyz{{{z{{{zzyzzzzzz{z|{zz{zyzyzyyyzyzzzzzyyyyyzxzyyz{zz{z{yzyxyyzyyz{{z{{{zzyyyzyyyzzzyz{{yzzyzyyyzy{zzzzzzyyyyyyyzz{{yzzzyyzyyyyxz{yzz{{{yyzzyyyxyzzyzzzzxzyywyyzyz{zzzzzxyyyyyyyzzzzzy{yyyyyyxyzyyzyyzzzzyzyyxyxxzz{{zzzzyyyzyzyyzzyyzzzzxzzyzyyyzzzz{yzyyyzzzyyzy{yzz{yyzyyzyzzzzz{z{{{yyzzzyzyyzzzzz{zzyyyzyyzz{{z{{z{zzyzzyzzz{z{y{{zzyzyy{yyz{z{{{{z{yyzzzzzzz{{zzzzzzz{zzzzy{{{zz{zzyzzzzzz{{z{z|z{zzzzzzzyzz{{{z{|{yzzzyzyz{{{{z{{{{{y{{{zz{{{z{{{z{y{zzz{{|{{{z{{{{z|zzz{z{z{{{|zzyyzzzyzzz{{{{{z{zzz{zzz{{{{{{|{{zzyzzyyzz{{{{z|y{zzz{zyz{zzzz{zzzzyzzyyzzzyzzyzzzzxzyzyy{{zyyzz{zyzyyzzzz{zzzzz{yyyzzzzyzzzzzzyyyyzyyyzyzzzzyz{zyzyyzzyzzzyzzz{zzyy{yzzz{zzyzz{zyzyzyxxyyzzyzzzyzzyzyzz{yyzzzzzyxyyyyzyy{z{zyzzzyzzyxyzyzzyzzzzyyyzyzyyyzz{zz{zzzzxyxzyyzyz{zzzzyzzyyyyz{y{z{zzzzzzxzzyzyzyyzzzzyzyzyyyzzzz{{zzzzzzzyzzzzy|{z{{{zyyzyzzz{{zz{z{zzzzzzzzzz{{zzzzzyyyyzyyyz{{zzzz{zy{yzzzz{{zz{{{zz{z{zzzz{z{{{{{zzyzyzzyz{z{zz{{zzy{zzzzz{|{|z{{{xz{zzzz{{{{z{{{zzz{y|{zz{{{{{{{{z|zzzzz{|{{{||{{{z{{zzz{z{|{|{{zzyz{zzyzz{z{{{||zz{zzy{{{z{{{|{zzz{yzyz{{{{zzzzzz{zzzzyz{zz{z{zzzzzzyzz{{z{zzyzz{zyyzzxzzz{zyzzzzzxzyzyzzyy{zzz{y{zyzyx{z{z{zz{zzzzyyzzzz{{zz{{zzyyyyzyzz{zzz{{yyzyyyyyz{zy{zzzyyzzzyyzyzzzxyzzyzyyyyzzyyy{zyyzzzzzzzzyz{{zyz{zzzyyzyxzz{zy{{zyzzzyyzyy{zyzy{{zyyyzzyzyz{yzzz{|zzyyxyzzyzzz{zz{yyzzz{zyzz{zzzz{zyzyyy{zyz{{yz{zyxzyzy{zzzzzz{{{yyzzyzzyzzz{{{zzzzzzzyz{y{zzz{{yz{zzzyyy{{{z{z{z{zz{zzyz{{z{{{|{{zzzyz{zzz{{z{{{zzzzz{{{z{{|z{|{{zzzzzz{{zz{|{|{{yzzz{zz{{{z{{{{zzzyzz{yz{{|{{{{|zzzzzzz{|z{{z{zzzyz{z{{{|{{{{{{{zyzz{zz{|{{{|{{{z{zz{z{{{z|z{z{zzzz{zzzy{{{{|{{{zzzz{zyzy{yz{{{zzzzz{{{z{{yzzz{zyyyy{yyyzz{zzy{zzzyzyyyzzzz{{zzzzzzxzzzzyzzzz{zzzyyyyzyzz{zzyzz{zyxyyyx{zy{y{{zyyyyyyzyyz{zz{zz{yyzyyyyz{zyz{{yzyzyxyzzzzzzzzz{zyyyzyzzy|zzz{zzzzyyyyyyzzzyz{z|{y{xyyyzyz{{zz{zzzzyyyyzzy{yyy{{zyzyyzyz{zyzz{{zyzzzzyzyzzzz{z{zzyzyyyyyzy{zz{zzzyyzyyzy{{zzy{{{zzzzzyzyzzz{zz{{zzzyzyzzzzz{zz{zzxzzzzzz{zz|z{{yzz{zzyzy{zzz{yz{yzzzzzyz{{{{{{{zz{zyzzzz{{{z{{||zzzzz{zz{{{z{{z{{yz{zzzz{z{z{{{z{z{zz{{{{{{{{|{|zz{z{z{{z{{{{{{|{{{zzyzzzz{{{z{z{yz{zyzz{z||{{{|z{zzzz{|{z{z{{{{|{{yyzzz{{{{{{{z{{zzyzzy{{{{zz{{{yzyzyzz{{{zzzyzzz{zzzyyzz{zzz{zyyzyyzzyyzz{zyz{zyzyzzzzyyzz{{zzzz{zzyzy{z{yyzz{zz{xzzzyzyzzzz{{{yyyzzyyz{{zzzzzzzyyzyzyyzyyyzzzzzyzyyyyzyyzz{{zy{yxzzzzyzz{{zzzzzzyyyzy{z{{zzz{yzzyy{yx{{z{zzz{zyyzzyyzzzzy{{zz{yy{zz{yy{zzzzz{{zzyyzyzyzz{{z{{zzyzzxzz{z{zz{z{{{z{zyzzzzzz{{zzyzzyzzzyzzz{z{zzzz{zz{zxyzz{{{{{zzzzzzzy{{{{zzz{zyy{zzzz{{{{{{{{zz{z{zyy{{|z{z{z{zy{zzzzz|z{|{{{{{yzzzyz{{{{z{{zzzz{z{zy{{|zz{z|{zzzz{zzz{zz{{{{{zzzzz{{z|{{{z{{{zz{yzz{{{{{|z||zzzz{|z{z{{zz{{{{{zz{{zz{z{|{{{|{{{zzz{zy{{{{|{{zz{zz{{zz|{{|{{{zz{yyyzz{z{{{y{zyyy{yyyzyz{zyzy{yyyyxzxzz{zzz{zyz{zyyzyyz{z{{zz{zxzyyyzzyz{zxy{{zyxyyzyyzzzz{{y|zzyzyyyyy{zyz{{zyzxyyyyyyyzzy{zyzzzyyyzyzzzzzzzzyzyzzyzyzz{zzz{yyyzyzzyzyz{zy{{zzyyyxyzyyzyyzzzzzyzzzyzyyzyzyzz{yzyyyzyyyzzyzz{{zy{y{yyxzzz{zzzzzyyyzyzz{zz{z{{zyzzzzz|yzzzzyz{{zzzyyyzy{{{zz{{{z{zzzyzyz{zzz{zzzzyyyzyy{y{zzz{z{zzzzyy{z{y{zzz{zzzy{z{yz{z{z{{z{zyz{z{z{zz{z{{{zz{yzzzyz{{{{{{z{zyz{zyz|z{z{{{{{zz{zzzzz{z{{z||zzyzz}{z{{z{{|{z{{{zzz{zzz{{z{|zzxzzzzz{y{{z{{|{zz{y{yzz{{z{z{|{{zzyzzyzzzz{z{|{{yzy{{yz{{z{{{|zzz{yyzyzzz{{{zzzzzxyyyyyxzzyyzz{zzyzzyy{zyz{{{zzzyzyyyyzzzzzzzzyzzzzzyyyzyz{zy{zzyyyyx{yyyzzzzy{zzzzzyzzz{zyz{zzyyzyyzzyzz{zzzzzyzzzyzzxzyzzz{z{yyzyzyyxy{yzzz{zzyzyyyyyz{zz{{z{zzzzyyzyzz{zzzzzyyyzzyzzzzzzzzzyzyzyzyzxzz{zzzzzyyzyyzzy{yzzzz{{yzyyzyyzzzzz{z{zzz{zyzyy{zz{z{{{yxzyzzzzzzzzzz{{zyzzzzyzz{z{{z{zzzzyzzyzzz{zz{{{zzzzzzzzz{{zzz{{zzzzz{yz{{{{{z|{zz{z{zy{|{zzz||zz{y|zzyyz{|z{{{{{zzzzzyzz|{{{{{zz{z{z{{{z{z{{{{{zzzyzzz{z{{{|{|{{y{zzzzz{{z{{{{z{y{z{yzz{{{{{{z{{{{{zzzyz{{z{z{{{{zz{zzzy{z{z{{zzzz{xzzzz|{{{{{{y{zyzzzzz{{|zzzzyyyzy{zyz{{yyyz{zyyyzzyyz{{z{{zzzyyyyyzzzzzzzz{zzyyzzyxyzzzz{z{{yyyyyzyyzzz{zz{zzzyyyyyzzz{zy{zyzz{yyzyyzyzz{zzzzyyxyzyyzyzz{z{zyzzyzyzyzyzzzzzzyyzzzyzzzz{zzzzzyzyzyzzxyzzzzz{{yyzyyzzyzyyzzz{{z{yyzxzzzzzxz{zzzzzyz{zzz{{zzz{zzzyzzz{yzzyyzz{z{xzyyyyz{{z{zzz{yy{yyzyy{zz{{{z{yyzzzyzzy{{zzzz{zyyzy{zyz{{z{z{z{{zzzzyzzzz{y{{z{zz{zzy{z{{z{{zzz|zzzyzz{z{{{{{zzzz{{zzz{zz{z{{{{yz{{z{yz{{z{|z{{zz{{zz{{{{{z|{{{z{zzy{z{{{|{|{{{{{z{z{z{z{{zzz{y{zz{z{zz{{{|{{{{zz{{zy{{{z{{{{{zz{yzzzy{{zzz{z|{zzyzzzzz{z{zzz|z{{yyzzz{zzzzz{zyzyzzyyyzz{zyyz{zzzyzyyxzzzz{{zzzyzxyzyzzyzzz{z{yzzzyyzyyzzzzzyzzzzyyxz{{z{zzzz{zyyzyyzyy{{zzyz{zzyyzxyzzz{zy{yzyzyyzyyyzzzz{zzzzyyyyyyzzyzyyzzzyyyyyyxyzz{z{{zzzyyyyxyyzz{zzzzzzyyyyzy{yzzzyzzzyyyxzxyyyzzyzzyzzy{z{zzyy{y{zz|z{zyzyyyzzz{zzz{{zyzyzy{zzzzzz{{{zyzzzzzyzyzz{{{z{zzzzyzzz{z{z{{zzyyyyzyzz{zzzz{yyyzyz{xzy{yzzz{zz{zzyzz{{z{{||{{y{zz{yy{zzz{z{z{z{yzz{zz{{{{z{zzzzzzzz{z{{{|zz|{zz{zyzzz|{z{{{{||{yzzzzzz|{z{z{z{{yy{zzz{{{{z{{{{z{y{zz{zz{{{zz{{{zzzzy{z{|z|{{{z{zzzzzyzzz{{{{zyz{{zzzzz{z|z{y{zz{zzxyy{{{{zyzzyzyyzzyxzy{zyzz{yyxyyyyyyzzzzzzzyyyyyyzzzy{{zz{zyzyzyyzyzzzzzz{zzzyyxyzyyyzzyzy{yzyyyzzyzzzyzzzy{yyyyxxzzy{yzzzzzyyyzzyxyyyzz{zzyzzyzyyyzzzzzzyzyzyyzzxzyyyz{z{z{zzyxzzzzzz{yy{zzzyzyyyyyzzyzzzzyzxyyzzyyzyzz{yzyyyzz{yyzzzz{yzzzzyyzzzyzz{zzz{|yzzyyyzzzzzyzz{{yzzyyzzyzzzzzzzz{zyyyzzyzzzzzz{{zyyzzyzzzzzzzz{zzyzyyzyzzzzzy{zz{yyyzzzzzz{{zzz{yzzyzz{z|z{zz{{{yyzzzyyzz{{{z{{{zyzyzzzzz{{{{{{|zz{zzyzyyzz{{{{{{{zzxz{{z||z{{{{{y{zzzy{z{|{|zz{{zzzyzzzz{{{z{{{z{zzy{zzz{z{zzzzzzyzzzzz{{{y{|{|{zyzyzyzz{zzyzzzzyzzzy{zzz{z{zx{yyxyzxyxyyzz{{z{zzyyyyyyzzzzz{yz{yyyyyzzzxzyz{y{zyy{yzyxy{{zzyzzzzyyyzyyyyzzz{yzyzzzzyzyyzyyzzzyzzyyyyyyyzzyzz{yzyyyyzyzzzzyy{z{zyyzzzxyy{yzyz{zzyzyy{xzy{zyzzzzyyyyyzzyyzzzz{{zyxyyyyyzyzyyy{yzzyyyzzzyz{zzyzzzzzzyzzyyzzzzyzzzyyyyyyzyzzzzzzzzzyzyyyyyzzzz{zz{zzzzzz{yz{zzyz{zzyyzyyzzyz{z{z{zzzyzzyyyz{zzzz{{zyzyyzzzzz{zzz{zzz{y{z{z{{{z{z{zz{zyyzzzz{z{z{{|{yzz{zzy{{{z{z{z{zzzzzzzz{{zz{{{zzyzzzz{zzz{{{z|{z{{z{z{z|{{{{|z{zzzy{{{z{{{zz{z{zzzyzzyzzz{{y{{z{zzz{y{zz{||{{{zyzyz{zyz{{y{{{{{{zzyz{zzz{{zz{zyz{zyzzxzyzyy{yyyyzyzyxxzzzz{z{zyyyyyyzyyz{{zzz{zzyyyzzxzzzy{z{zzyzzyyyyzyz{y{yzzz{yyzzyz{zz{zyzzyzyyzzyzz{zzzzyyyzyzyyzzzzyyz{zzzyxyzyzzyzzyz{zy{zyyyxyzzzzy{zzyyzyyzxyzz{z{zz{zzzyxyyyyzzyzz{zzyyz{yzyyzzzyzzzzzzyzyzyy{zzzzzzyyzyyzyyzyzyyzz{zyzyyyyy{zzz{z{zzz{zyyyzzzyz{{yz{zzzyyyzyz{{zz{{{zzyzzz{zz{z{{|z{yzzyzyzzz{z{z{zzzyyyzzzy{{{y|z{{zzyyzz{{{z{{y{zy{{zzz{{z{z{z{z|yzz{y{zz{{{{{|z{{zzzzzzz||||{|{|zyz{z{{{{|zz{{z{|y{{z{zzz|{|{{{{zzz{zzyz{z{{zzz{{zzy{{zzz{z{{{{{{zzz{yzz{{{{{{{{zzzzzyzyz{{z{zzzzzzzzzzyz{z{zzzzzzyzyyyy{zzzz{{{yzzyzyzxz{z{zyz{zyyyyyyzzz{{z{{zzz{xyyyyzz{zzzzzxyzyzzyxy{yzzzy{zyzyyyzzzzzzyzz{zzyyzxyyyzzzz{zzyzyyzyzzz{zyzzzyyzzxxyzyz{{yyyyzyzyyyyyzzzzz{y{{zzzyzzy{zyzz{z{zzyyyyyyzzz{zzzzyyy{yzyzzzyzyyzzzzyyyyyyzy{zyz{z{yzzxzyyyyzzzzy{zzyzyzyzyyz{yy{y{yyzyzyz{{{zz{{{{zzzzyzyzz{zz{{{zzzzyzyzzz{{zy{{zzyzzyzyyyz{zzzz{zzzzzzzzzzzzz{zz{{zzzzyz{{{|{{{zzz{z{z{{z{z{{|{|{yz{zz{y{{{|{{{zzzz{yzzyzzz{{{{{{z{zyzz{{|{zz{z{{zzzzz{z{{{|z{zz|zz{zzzzz{{{{|zz{zzzz{{zzz{{{zz{zzzz|zz{zzz|{z{{zzzzzzy{z{{z{{{{{zz{zzyyz|{zzzzzyzzzzzzzzzzz{zyzzzyyyyyzzzzzzzzzzyyyzyyzyzyzzzz{yzyyyzyzz{{z{z{{zzyyyxyyzzzzz{z{zzyyyyyzyzzz{yz{zxyyyyzyyz{zzzzy{yzyyyxzzzzzzzzzzzzxyzyz{zzyzyzzyyzyyyyzz{zzzzzyyzzyxyxzyzzzy{zzyzyzyyyzyy|zz{{zyyzy{yzyxzyzyzyyzzzyzyyxz{zzz{z{zzzzzz{z{{zzzzzzyzzyzyyzz{{zyy{z{yzzyzz{zzz{zzzzzzzyyyzzzz{zz{z{zzzzzyyzyzzzz{zzyzyzzzyzy{zzzz{zzzzzzyzzz{z{y{{{zzzzyzy{zzz|z{{zzyyzzzzzzyz{zz{|zzz{zyzyz{{{{{{z{y{{zyzz{|{z{{{{{{{zzz{y{z{{||{z{{zzz{{yz{{{|{|{zzz{zyzy{z{{{{{{{y{y{z{z{z{z{{{{{zz{{zzzz{{{{{{{{{zzzzzyz{z{{{{{{yz{yz{zzzzy{{{z{{zyzzzy{{zzz{{zyzyyzzyyzz{zyz{zzxzxzzyyzzzzyzz{{zzzxzxyzzzz{{{zz{yyyyyxzzz{zzzzzzzyyyzyzzzzzzzzzy{yyzzzz{zzz|zzzxyyyyyyzzzzyzzzzzyxzzyyyzzzz{{zyyzyyyxzzy{yz{zzzyzyyyyzyzzzyzzzyyyyyzyyyz{zy{{zyyzzzyyzz{zzzzzzzyxyzyyxyzzzzz{zxzzyxzzyz{zzy{zz{yzzzyyzyz{zz{|{zz{yzyyzzy{yyzzzzzyyy{zzyzzzzz{{z{zy{yzyz{{zzzzz{zyzzzzyzz{zyz{zzxzzzzy{{z{zyz{zz{yzzzzz{{z{{{{{yzz{zyzy{|{zzz{{{zzzzzyzz{|{{{|y{yzzzzzz{{zz{{{{zzz{zzz{{|zy{{|{|z{zzzzzz{{{{|zz{zzzzzz{{{{z{zz||zzz{yzyzzz{{{{{{zzzz{zzz{zz{z{{y{zyzzzz|{{zz{{{{zyzy{yyz{{{{z{zyyzzyyzyz{zz{zyzyyzzyyzyy{zyzzzyzzyyyyyzzyzzz{{{yyzyyyyyzzy{{zy{yyzzzyyy{zzzzyz{zyyxyzzyzz{zyzz{zyyzzyyyzzzyzzyzyzyyzyyyzz{yy{y{zzzyxyyyyzz{zzzzyyyzxzyyzzzzzy{zzyyyxzyzzz{yzyzyyyyyyyyxyzzzzzzzyyzyxzyyzzzzz{zzzyzzzxyyyzzz{z{{zzyz{{yyzzzz{{z|zzyyzyyyzzzz{yzzzyyyzyyzyzzyz{zzzzzyyzzzzz{z{z{zyyzzzxyzzzzz{zzzzyz{yyyzyz{zzz{zzyzzzy{yzz{zzz{z{yzzzzzyzz{{z{{zzz{zzzzy{z{z{z{|{yzzzzyyz|zz{{{{{zzzzyzz{{{zzz{|zzzzz{{z{|y{{{|{|zzyz{zzy|{z{{{{{z{zzyzz{|{|{z{{{zzzzzzyzz{z{z{{zzzzzzzzz{z{z{{z{zzyzyzzz{zzz{|{{zzzzyyyz{y{{z{yzyyyyzzyz{zzzzyzzzyyxyzyy{zyyyzzzyyyyxxyzzzzzzyz{yzyyy{yzzzzz{{{zzyzyxzzyzyxzzzzzyyzyzyxzyzzyzz{yzzyzyzyyyyzy{{zzzzyzyzzzzzzzz{zyzzzyyyyzyyyzzyzzzyyzyyxzz{z{yzzzyzyxzyxzzzz{z{yzyyyzzxyyzzzyz{{zyzzyx{yzzyyyzzzzzyzxyyzyzz{yzzzyyzzyyzyzz{yzzzz{yyyzyyzyzzzzzzzyyyzyy{yz{{{yzz{yzyzzyyyzy{zzy{{yzyy{zzyzzzzyzzxyzzyzy{zzy|{{{y{zzyyyzyy{{zyzz{zzzz{z{zzz{{{{z{{{yzzyzzzzyzz{{z{zzzyzyyzz{z{z{{{{y{z{zzz{{{z{z{|zzzzzzzzz|zy{{{{zzzzzzzz{{|{{|{z{zzzzz{zzz{z{{z{zzzyzzyy{zzzz{z{zyz{zyzzz{|{zz{z{z{zz{zzz{{zy{{zzyzzyyzzy{{zz{{zyyzyxyzz{zzyzyy{{zyyyyyyyzzzx{zzyyyyyxyy{zzzzyy{zzyyyzyyz{zyzzz{zzzyzzxyyzzzzz{zzzzyyzyyzyzzzz{zzyyyyzyzyzyzz{zzzxyyyyyyzzyyyzzzyyzyxzyy{yyzy{yzyyxyyxzyzzyzzyyzyxyzzxxxzzzy{zzzzy{zyyyyzzzzzy{zyyzzyyyyzz{yyz{zzyyyyxyyyyzyyzzzy{zzzzyyyy{zzz{zzyyyyzzyzz{yyz{{{yzzyxz{y{yzz|zzzzzyyyzzzz{zzz{zy{zzyzzyzz{{z{zzzyzzzyyz{yz{{|{{zyzzzyyzzzzzyz{zzzyy{zzyyz{{{{z{zzzz{zzyzz{|zz{zzzzyzy{zz|{{{{z{zzzy{{yzzz|{{{{z{{{zz{zz{{{zz{{{zzzzz{{{z{{z{||{{zz{{zz{{z{z{{z{{{zz{z|{{{{yzz{|zzzzzzyyz{z{{{zzy{zyzzzzy{z{zz|zzzyyyyz{z{zz{zz{zzzyzyzzzzzzzzzzzzyzyyxyy{zz{zyyyyyzyxyzyz{{zz{{yyyyzyyyzzyzz{zzzxzxyzyzyz{zzz{{yyyyyyxyzxzy{zyyyyyzyxzyz{zz{zzzzyyxzyxxzzyyzzyzyyzyyzyyzyyyyzzzyxyyyzyyyzz{zzzzyyzyyxyyzzyxzyzzzyzzyyyyzzzzzzz{yxyyzyzyyxzyzxz{zyyxzyzyyzzyzyzzyyyyzyxyzzzzz{z{zyzyyyyzz{zzz{zzy{yzyzyyzz{zzzzzzzzyyzyyyz{{{z{zzzzzyyzyz{zz{{y{zz{zyyzyyzzz{zzz{z{yyyyzzzzz{{{zzzyyyzyz{{z|{zz{zz{zz{zz{{zzzz}{yzyzzzzyzz{{z{z{zyyy{yzz{{{zzz{zzzyzzyzz{{{{{{z{z{yyz{{{z{z{z{|zyyz{{{zz{zz{z{{{{yzz{zz{{z{z{{{{{z{zzzzz{zz{zz|||yzyzzz{{{{{{{{{zzyyzyyyz{z{{yzzzyzyyyzyyz{{zzzyyyyyzyzyyyzyzzzzyzyyyyyyyzzzyzzzyyyzyyzxzzzz{{{yzyyyxyzzzyyzzzzyzyy{yzyyzzzzyz{{{yyyyxzxzzzzzzzyyzyzzyyyyz{{{zzzzzyyyyyzzzzyyzzzyyyzxyxyz{yyyzz{yyyyxzzzzzzzzy{yyzxyyyzyyzyzy{zzyyzyyyyyyyzyyzzzyxyzyzyyyzyzyzzzzyzzzyxyzzyzz{zzz{yyyyzyzyzz{{z{zzyyyyzzzzyyz{zzyzzzyzzzy{zz{z{zzyyyzyzyz{{zzyzzzyyyyyzyz{zz{z{yzzyxyzyy{zz{yz{{zzzzyzzyz{zzz{zzyzzzzzyzz{{{z{{{{zy{zyyzzz{{|z{{zyzyyzyzz{{{z{{zzzyyyzz{z|{z|{{{zzzzyzzzz{z{z{z{{zzzz{yyzzz|z{{{yy{zzzz{zzzzz{z{z{yyzzxz{{z{{{{{z{zyzyzzzz{z{z{z{zyzyzzyz{zzzz|zyy{yyyyyzz{zzzzyyxyyyyxxzz{zyzzzzyzyyyxzzy{zy{{{{yzyyy{yzy{zzyzzyyzzxzzyyzz{yz{zzzzyyxyxzzzzz{{zyyyyyyzxy{{zyzzz{z{zzzyyyzyzyzzzzyyyzzxz{zzzzyzzyyzyzyyyzzzyy{zyzzzyyyyzzzz{z{zzzyzyxzyyzz{z{z{zzzyyyzzz{zyyy{{{zzyyyyxzyzy{zz{zyyzyzyxzzzzz{{{|zz{zzzzzzzzzzz{{zyz{zy{zzzzyz{{z{{zzyxzyzzzz{zzzzzzz{z{z{z{z{{{zzyzzzy{yz{{zzz{zzyyzzyyy{{zz{{z{zzzzzz{zzzz{zz{{zz{z{z{zz{|z{{|{zzzzzyzzz|zz{{{{{zy{{yyzz{zz|{|{zzzzzzzzz{{zz}zz|{zz{{zz{{{{|{|{{zz{yz{zz{|{{{zzzzzzzzy{zz{{{|{{{z{{{zzz{zz{{|{zz{zzzzzzz{{zz{{{z{zz{z{zz{z{zz{zzz{zzy{zzz{yz{zyyyzxzyyyy{zzzz{{yyzzyyxyzzyzzzz{yzzyzzzyzzyyzyzzzzzzyyyyz{{zy{zz{yzyyyyxz{z{y{yz{yxzyyyxzzyyz{{zzzyzyxyyzzz{zy{zzyzyyyyzzzzz{{zz{xyzyyyyzzyy{zzyyyzyxyyzzyzzzzzzyxzyyzyxz{zzyz{{zyzzzzyzyzzyzzy{zyy{zyyyyyzyzzzzyyzzyzzyy{zzzzzz{yzyzyzzzy{zzz{zzyzyyxyyz{yy{zz{zyyyzyyy{zzz{z|zzzzzzyyyyz{zz{yz{yzzzyzz{{|zz{|zzyzzzzzyz{{z{z{{zzzzzzz{{z{{{{{{z{yzyy{zz{{{z{{{zyz{{yz{{{{{{{{{{zzy{yyyz{{{zz{{zzzzzz{{z{yz{{{{{zyzz{z{z|{{z|{z{x{{z{zz{z{|{z{zzzzz{{z{{zz{{{{|zz{{z{z{{{{zzz{{{{zzzzyzz{|{z{{{{zyzzzzyz|zzzz{zzzzyyzyy{zz{|{zzyzyzyyzyzyzxzyzzzzyyzzzz{zzzzzzzzyzyzyzzzyzz{zzzzyyyzyyyzzyzyzzzzyyyyyzxzz{zzzz{yxzyyyyyzzzzz{zzxz{yyyxyxzzzzyyzyyzyyyyyyyyzzyzzzzyyxyyyzzzzzzyzyyxyyyxyzyyzzzz{{zyyyyyyzzzzzzz{yyyyyyyyzyyyyzzzzzzxyxzyzyz{z{yzzyyzzzyzzyyyzz{z{yyyzzyyzzzzz{zzzyzzzyyzyzzz{zz{yzzzyzyzyzy{z{{{{zzyyyyzzyzz{zzyzzzyzyyx{z{z{{{zzyyzzzyz{z{zz{zzzzzyzzzzyyz{zz{|zyzzzzz{{{z{z{{zzyzz{xyy{{{{z{{yzzzzzzzy{{{z{{{zzy{yy{{z{{z{z{{zzzy{z{zz{|z{|z{z{zyzzzyzzz{zz{{{{yyzzzyzz{{{{{{|z{{{z{{z{{z{z{{{{{zyz{zz{{zz{|{z{yy{zzzyz{{{{zz{zzzxyyzyzyy{zzyzzyzyyzzyyzzzzyzzyzyzxyyzzzxyz{{{zzyyxzyyzyz{{zz{zzyyyyyyzzz{yy{{yyyyyyyyy{zzy{zzzzzyyyyyzzzzzzyzzyyzzzyxyz{zy{zzyyyyyzxyzzzzz{zzxyyzyyzzzzzzzyzzzzyyzyxzyzzzzzyzzyzyyyyyzzzy{z{zzxyyyyyyyyyzzzyzyzyyyyzz{zzz{{{{yyyyzzyxyzzzyyz{yyyyzxzzzyzzzzz{zz{zyyzxz{z{z{zzyzzzyzyyzzzz{z{{zyzyzzzyzzzzzzyzzz{zzzzyz{zz{{zzzzzzzyyzz{{z{z{zzzzzxzzz{{zzz{{zzzzz{zzzz{{{z|{|z{z{zzy{{{{{{{{{zzzz{zzzz{{z{{|{{z{zzz{|{z{zz{|z{{zzzyzzz|{z{{|{{zzzz{zz{{{{zzzz{yzzzzyz{zzz{{z{{{zz{{zy{{z|{{{{z{zyzzz{z{z|{{|z{zzzzzyzyzz{{zzzzz{zyzzzzy{|zzyyyyyzyyzxz{zzzzzzzz{yyyxzzzyzzz{z{xyyzzyyz{zzyz{zzx{zyxyyyzzzyzzzyzyyyyzyzz{xzz{zyxyzyyyyyzzyzzzyyzzyyyyyyyyzzy{yzzyzzzyzzzzzzzzzyzyyyyzyzzyzyzzzyyyyyxxzyy{yyzyyyzyyyyyyyzzy{yzzzzzyxyzzyyzyyzyyzzyzyzyyyzz{zzzzyx{zzzzxzzz{zz{z{yyzzyzzzz{{yyzzzzzzyyzzzz{zz{y{zzyzyzxyzyz{y{yzyyzzyyzzzzzz{{z{y{z{zyyyyzzzzz{zyzzzyyyzzz{zz{{yzzzzyyyyzz{z{{zzyzyzzzzzz{zzzyz{zzy{{zyyzz{z{zz|{yyzzzzyz{zzz|{{zzyyyz{zzzzzzzz{zzzzyzyzy|z{{{{{yzzzzzzzzz{{{{{zyzzyzzyz{zz{{z{{zzzyzzzz{zz{{{{{zyzyz{zzz{zzz{{{z{zyzzyy{zz{z{zzzzzzyzzyzzz{zzz{yyzzzzzyyzzzyyzzzyyyyyzzzzzzzxz{zzxyyzxwzzyzzz{zzxyyzyxyz{z{y{zzyzyyyyyyzzzzzzyzyyzyyyyyzzzzyzyyzxxzzyyyyy{xzyzzyyyyyzyyzzz{zzz{yyxyyyyyyyzzzzz{zxyyyyyzyyzyzzyzyyzyyyyy{zzyy{{{yzyyzyzzyyzyyyzzyzyyzxxyyyyzzzzzyzyzyzyyzzyzzzzzyzyyyxyyzz{zyz{{yyzyyyyy{zzzzzz{yzyyyyzzz{zzzzzzzyyzzyzzyzzzz{zz{zzyzyyzzyzzzz{zzzy{zxyzz|{zzzzz{{zzzz{y{zz{z{{{zzyzyz{z}{z|{zzzyyzzzyyy{{zyz{{{{yzzzy{zzz{{{zz{{zz{zzz{zzz{z{{|{z{zz{zzzzzz{{{|{z{zyz{z{z|{z{z{zzzzzzyzzz{z{{{{zzyzzzzz{y{{{{zzz{zzyy{z{{z{{{{{z{yzz{zy{{z{zzz{{zyzyxyyzz{{zzzzyzzyxxzyyy{zzzzyyxyyyzyzyzyzzzzz{zyxxyzyzyz{{zz{zyyyy{yyzyz{zyzzzyzyxxzyy{zzzzy{zzyyyyzyyzy{zz{yzxzyyyyyzyzzy{zzyyyxzyyzzyzzzyzzzzzzyyyyyzyzy{{zzyyyxyyzzyzzzzzyzyyzyyxxy{zyz{zzyzyyyzzyyyzzyzzzyzxyyyyyy{yzzzzzzyyyyzyy{zz{z{zyzyyyyyyyzyzyzzz{zzyyyzyzyyzzz{zzzyyz{yyyz{{zzzzzzyzyyyzzzzzzzzzzzyyyyyzzz{yzz{|zzy{zzzyyzzyzzzz{zyzy|z{zz{{zzz{zzz{zz{zz{{z{zz|zzyzzzyzz{{z{{{z{zzyzzzzzz{z{{|{{zzzzz{{z{{{{z{{{{z{{yzzz{{{{z{{{zyz{{zzz|{{{{{|z{{zyzzzzzz{{{{{{{zzzzy{z{{{|{z{{z{yyyzzy{{zz{{{{z{zzzyzyy{z{z{zzyxyzzzzyzy{zzz{zzzzyxxyzz{z{z{{{yyyyyyyzzyyyz{{yzzzyzzxzzyzz{z{zzyzyyxzyyyy{yzzzy{yzyxyyzz{zz{zzyyyxyyyyz{yzyyyyyyyxyyyzzzzzzzzzyzzyzzyyzzz{zy{zxyyyyxyyzyzzzzzyzyyxyzyzzzyyxzzzxyzyxzzyzyzzzy{zzyzyyyzyyzzzzyz{zzzxyzzxzyyyzzz{zyzzzzyyzzzyz{{{zyyyyyzy{zzzzz{{zy{zzzzzz{zzzzy{yzzzzyzyzz{zzz{{zyyzzyzyyzzzzzz{zz{z{zyzzzz{yz|zzz{zzzzy|{z{yzzzzzzyzzzzzzzz{z{{yy{{zz{zzz{zzz{zzzyzzzyzy{{{{{{zzzzyzzzz|{{{{z{{{zzzzzzzy{z{{{{{{z{zyzzyz{zz{{{|{z{zzyzz{{{z{{zz{zzzy{{z{{{{z{{{z{zzzzzzz{{{{zy{zyzz{zzyzzz{z||{zzzzyzzyz{{zzz{zyyyyyyyzzzzzzzz{yyzxyyyzyyzyzzzzzyyyyyyxzzyzz{zzzzyxyyyyzyzyzzzzzzzyyyyyyzzzyz{{yzyxxyyy{zy{zyyzyzzyyyyyzzzzzzz{zzyyzzyyzz{{yzzzzyzxzyyyyzzyzz|zyyzyyxyzyzyzyzzzyyzyyyyzzzyzxyz{yyzzyxyxyzzyyzzyzyzzzyyyy{yyzzzzzzxyywyyyzyyyzzyyyyyzyzzzzz{z{z{zyzyzyyyy{yzz{zzzyzzyzzzz{zzzzzyzz{yyyzzzyzzz{zzzyxyzx{yzz{{zz{{zzyyzzyyz{{zzz{{zyzzzzyz{z{{zzzzyzzzzyyyzz{{zz{zyzzzzz{{{{z{z{{|zzyzyzzy{{{zz{{yyyzzyz{y{{zzz{{{zyz{zzzzzz{{z{{z{zyyzzzzz{{{zz|{zyzz{zzz{z{{{{{{{zzz{yyz{z{zz{|{z{{z{zzzz{zz{z{|zzzzyyyzz{{z{z{{zzzzyzzzzzzzzz{{zyzzyyzyzz{zyzzyxyxyyyzyzz{zzyzzzyzyyyyyzyzyzz{{zyyxzzyyzzzzyz{z{yyyyxyyzyzzyzzzzzzyxyyxyzzyzzzzyyyxyzzyzz{zz{zzyzzyzxyyzzzyzzzzyyyxyyyyyyz{yzzyyyyyyyzyzzzzyzyzxyxxyzyyyyzzzzzyyyyyxyyyy{zzzz{{zyyyyyywyyzyy{z{zzyyyyyyyzzzzzzzyzzyyyzyzzzz{{z{zyzyyzyyz{zyyyz{zzyzzyzyzzzzz{z{zzzzzyyyzzzzz{{zzzyyyyzzyzyzzzz{zzxyzzzyzz{{{{yz{yyy{yzz{zzyz{z{{zz{zyzz{z{z{z{{zzzzzz{z{y{{y{|zzzyzzyzzzzz{z{{z{zzzzyzz{{{z{z{{zzz{{zzzyzz{{{{zzzy{yzzzy{|z{z|{{zz{{zz{z{{zz{z{zyzzzzzzzzyzz{{|{z{y{{zz{yz{z{{{yzzzyzyzz{zzz{{{{{{{yyzyzz{{zz{zzzyyyyzyzz{zzzyzy{xyzyyyyzzzzzzzzyzyzyyzzz{zzzzzzyyyyyyxzzzyz{z{yyzyzyyyyyzyz{{z{zyxyyzxzzzzzzzzyzzzyyzz{{y{yzzzzyyzyzyz{yzzzyzzyz{xyxyzzzzyzzzzyyzzyzyyzzzyyzzzyyyyyyxyzzzy{zzzyzyyxzzxz{yzz{{zyzywzyzyzzyyy{{{{zyyyzyyzzzzyzzzz{yyzzyzyzz{zz{{zyzzzxzzz{yzzzzyyyzzzyyz{zyyzzz{zzzyzyzyzyzzzz{{zyzyyzz{z{{{zzz{zyzyyz{yzz{zzz{zzzy{yzzzz{{zz{{z|{zz{{x{{z{{z{{zzz{zzz{y{{{{zz{{zzzzzzzzzz{{zzz{zzyzyzzy{{{z{z{{z{z{yzz{z{{{{{y|zzzzyzzz{|{|zz{z{y{{zzy{zzz{{{{{zzzzz{zz{{{z{{{{{{{zyzzz{{z{{|{{z{zzzzzz{{zyzz{zzzzzzzzzzz{{{z{z{zzxzz{yzz{zz{zzzzyzzyyzyzzyzzzzyyzyzyyyyz{yzz|{yyzyyyyyzzyzy{z{zyyyyzzzzzz{yzzzyyzxyyzyzzzyy{zzyyzyyyzyzzzzzz{zzyyyyyzzyzzyz{yzzyyyyzyyyzz{zzzzyyxzyzyyyy{yz{zzzyxzzzyyyyyzyzzzyyyyxxyyyzz{zzy{{zyyyyzyz{yyzz{zzzzyzyyyy{zzzzz{yyzzzz{zyzzzyzz{zzxyyzyyyz{zzzz{yzyzzyyzz{{yzzzzyyyyyyzy{zz{z{{{yzzzyyzyy{zz{zz{yzz{{xzz{z{zzy{{yzyzzyyzzzzzz{{{zzzzzyz{y{|z{{z{yzzyzz{y{{{zz{{{zzzyzyyy{zz{z{{z{yz{{yzz{{{zzz{z{zzzzz{zz{z{z{{{{yzz{zzzz{z{zz|{z|yz{z{zz{{zzz{{zyyz{z{{zz{{zz{{{{zzz{z{z{z|{{z{zzzzyzzzz{zz{{{zzzzzzy{yz{z{z{zzz{zxzyzz|zy{yzy{zyxyyyyyyzzzzzzzzzxxyyyzy{zzz{{zyzyyzyzyzzyzzz{zzzxyyzzyzyzz{zzzyy{zyyyy{z{zzzz{yyzyyyyyyz{zzzzyzyzyyyyy{zzxzzyzzyzxyyzyzyzyzzyzyyzxyxxyzy{zy{zzzyyzzzxyyy{{zz{yzzzyxzyxyy{zzz{zyyyyyyyzzyyyzzyyyyzyyyyzzzzzzzzzyzyyyzzxzyzzzyzz{zyzyyzzz{zyyyzzzzxyyyzzzzyyyzyzzy{yyyyzz{z{zz{yzzzzzzyyzz{{zzzzzyyzyyzzzz{{{{{{{y{yzzyzzz{zzzzzyzzzyzz{zz{{{{z{zzzzyzz{zz{z{z{{yyyzyzyy{{{{z{{z{yz{zyzz{|{y{{{zzzzzz{zzz{{z{|{{{zzz{yyyz{z{{{{|{zyzzzzzz{{zz{{{yzyzzyz{{zz{{||z{{{y{zzz{z{{{{zzzzzzzzzzz|z{{z{zzzzyzzzzz{zzzzz{zzzzyzzyzzzyyzyzzyyxyyyyyzz{zzy{y{yyzzzyzz{zzzz{zyyyyyzyyyy{zzzzzyxyzyxyyyz{yzzzz{yyyyzxzz{zzzzzyyzyyyyzyzzzy{yxzyzyzyyyzzzyz{zzyzzyyzyyyy{zyyyzyyyyyyzzzzzzzzzzxyzyyyzyzy{z{yzzyzyyyzzyzyz{zzzzzzyzyyzyxzzzzz{yzyxzzyyyxzyzyz{zzyzzzzyyyzz{y{zzzyzyzyzzyzzzy{{{zyzzyzzyzyzy{z{{xyzyzzzyzzzz{zzzyzzzzzzyyzz{zzzzzzzzzyyz{z{yzz{zzyz{zyyzz{zz{{zzzzyzzzzy{zzz{{zzyyyzzzyx{{zz{z{{zzyzzyzy{zz{{z{zzzzzzy{zz|{{{z{zzyz{zzzzzz{{{{||zzy{z{zz{{{zz{{zz{{zzy{z{|||zz{{{yzyzzzz{zzzz{|{{yz|{zzz{{{{zzz{z{zz{yyz{zz{z{{z{zzz{zzy{zz{{z|zzyzyyzzzz{{{zzy{zyyyyyyy{{zyyy{zyzyyyyyzzzyyz{z{yyyyzyyyzzzy{z{zyyzyzyxzyz{zy{zyyzzyzzyxyzz{zzz{yyzyzzzxyzyzz{zzyyyy{yxyzyzyzyzzyyzyzyyyzzyzzzzzyyyyyyyzyyzzzzzzyy{zyzyyyzzzzzz{yzyyxzyyyzzzzzzzyyyyzyyzz{zzzzyzyzyyyyyxyyyzz{zzzyyyzzyyzz{zyz{zzyxyzyzzz{z{zz{zzzyzzyzzzzy{{{z{yyyzyzzyzzz{zzzzzzyzyy{zyzz{z{zzzzy{zyyy{zzz{{{yzzzzyyzzz{zzzzzzyzzyzxyzzzzzz{z{zzzzz{{zz{z{{zz{zzyzyzyyz{{z{{{zzzyz{yzz{{|zzz{{|zzyzzzzz|x{z{{{zzzzzz{{{{z{{{{zzzzzzzz{{z{{z{{{{yz{yzz{{zzz|z{|zzzzzzzz{z{{{{{{zzzyzzzzy{{zz{{{z{zzz{zyz{{z{{z{zzzzzzyzzyzz{zyzyxyzzyyxzzzyzyzzyzyzxxyyzzzz{|{zzyyyzzzyzzyzzzzyzzzyyyyyzyyzzzzyzzyxxyzyzzyzzyz{yyyyyyyyy{yyyyzyyyyxzzyxzzzzyzyyyyyyyzzyzyzzz{zzzyzyyzyxzzzyzzz{yyyzyzxyxyy{yyyzyxyyyyyzz{yzzz{yzyyyzxyxyzzyzzzyzzzxyzyyyyzyzzzzzzyyyzyyyzyzzz{zzzyzzyzyyzzzz{z{zxzzzyzyzyz{yzz{yzyyzzzyzzzzzz{{yzyzzyzxzzzz|zzzxxyzyyzyzz{zzy{zzzyzzyzzzzzzz{zz{zzzzzyzz{zzzzzzzzzzzyz{{yzzz{z{zyz{yzyxyzzzzz{z{zy{|zyy{{{zzzzzzzzzyzzz{{z{{|{{zzzzz{yzz{{{{zy{zz{{yzzyzzzzz{{{{zyzzzyz{zz{{{z{{zyyzzzz{{{{{z{{z{zzzzz{yzzz{{z{{zzyzyyzyz{z{zzyyyzzyy{yzxzzzzyzyyyzyyxyyzzyzzzzxzyyzzxyzzyzzz{zyyzxxzxy{yzyzzzzzzyyyyyyzzzzzyzzyzxyyxyxyzzzzzzzzzzyyyyyy{zyzz{zzzyyxyyyzyyyyzzyzy{zyyyyyzzzzy{zyyyxzyyzyzyzzzzzzyyyxyyzyz{yzzzyyyyzyyyyzzzzz{zzzyyyzyyxyyz{z{yyyzyyzxyyzzyyzzzzyyzyyyxz{zz{yz{yzyyyyxzyzzyzyz{zzzzzzyzzzzzzzzyzzyzy{yzzzzz{{z{{zzzzyyzyzzzzzzz{zyzyyzyy{yzzzz{{{zzzzyyzz{zz{z{zzzzy{zyyzzy{zzz{yzzy{zzzzzz{zz{{{yzyzyxzzz{z{zzz{yzzzyzz{{z{zz{zzxzzzz{z{z{zz{{{{yzzzyyzz{|{z{{|{z{zyzyz{zz{{zz{zxyyzzyyz{{z|z|{{yzy|zzzzzzzyy|{{zzyyyzzzz{{{{{{{zy{yzyyzz{{z{{zyzzzyzzzy{{zzz{yzyyzyyxyyyyzyz{{yyxyxxyyyyyyzzyz{yyyyyzyyyzyzzzzzyzyzyxzyyzzyz{zyyyyyyyyyzzzzzyzzzzyyyyyyyyxzzyz{yzyyyzxyyzyyzzzzzzzyyyyzyzzy{zzyzyyyxyyzzzzyzzyzyyyxyyzz{zyyzyyyzyyzyyyyzzzzyzzyxyyyxyyyzzyyyz{yyyzyyyyyyyyzzxyzxzyzyzyzyyzyzzyzyyzyyyyzzzzzyz{zyyyxxzzz{z{yz{yyzxzyyyyzz{yz{zzyzyzzyyzy{yzzzzzzyyyyyxyz{{zyz{yzzyzyyy{{zzzyzzzzzzyzzzyz{{{zz{{zzyyyzzzzzz{y{{zzyz{zzyzzzz{zz{zzyzzz{zz|{z{{zz{zzzzz{{zz{{{z{z{{zyz{{zzy{z{z{{{zyzzyz{zzz{z{{{zzz{yyzy{{{{{{z{{{zyzy{zzzz{zzz{{zzxyz{yy{z{zz{zzz{yyyyyzzzz{zzzzzyyzzzzy{z{zyzzyzyyyyyxyzzzyyy{{yyyzyyzyyzx{z{|yzyzyyzzyzyzzzzzzzzyzzyyyzzzzzz{zzzz{yyyyzzzz{zz{zyzyyyzzyzzyzyzyzzyyzyyyzyzyyzzzzyzyyyyzzzyyzzzzyyyyyyxyyzzzy{zxyyyyxzyyyyzz{yz{yzzyyyyyyzzzyyz{yyyyyxyyyzyyz{z{yzyzyzyzy{zzz{{yyyzyzyyyzz{zzzz{zzyyzy{yzzyzzzzyzzzyyzzyzzzzzzz{zz{yxyzzy{zzz{zzzyzzzxyyz{zz{zzz{zzyyyxz{{zzy{{zzzzzzzzzz{zzzzz{{zyzzyzyzzz{zyz{zzzyzzyyzzy{zz{z{yz{zzyz{{zzz{{{zzzzyzzz{{{{{z{{zzzzzz{{{zyz|{|{{yzzy{yzy{zz{{{|{zzzzzzz{{|{{{{{zzz{zzz{z{z{{z|}{{zzzzz{zzz|zz|zzzzyzzyyzzz{zz{{z{{zz{xzy{zzzz{{zzzzyyzyzz{{zzyzzyyzyyyyzzzzyzzzyzyyyzyzzzyyz{{zzyzyyyzyzzzzzz{zyxyxyyyz{z{zxz{zyzzyxxzzy{yzzz{zyyyyyzzyzzyyyzzzzyyyzyyyyyzyzzyzzyyzxyyzzyz{yzyzyyzyyzxyyzzzzzyyzzzxyyyzyzzzzzyzzyzyyzyyyyzzzzzyyxyyy{zxy{zzyzz|z{yyzyyyzzzyzzyzyyzyyyzy{zzzzzzzzzyyzzzzzzyzyzzzzyzy{yzzyzz{z{zzyyzzy{zyy{z{{z{zyyyzyxzzz|yzz{zzzyzzzxyzyz{zzzz{zzzyyyyzz{{{yy{{yyyzy{zyzzzz{{{zzzzzzy{zzz{|{{{{zz{zzzzz{{zzz{{{zyzzzzzyz{zz{{{{{yzzzyzz{zz{{{zzzz{z{zyzz|{{{{zz{{{zzyyzz{{{z{zz{yxzzzzzz{{z{{zz{zyzzyyy|z{z{{{{{yzzzzzyz{zzz{{zzyzzzyzyy{{{zz{zzzyyyzyy{{{zzzzzyyyzzyzyzyzzzz{zzzzzzyyyzzyzzzz{zzzxyzyzz{z{yzz{zzzzyyzyzzzyzyzzzyyyyyyyzy{zz{z{zyzxyxyyzzyzzzz{yzzzyxzyzzzzzyzzzyzxyzyyyxyzzzyyyyyyyzyyxyzzz{zyyzzyzyyzyyy{z{yzyyyyyyyy{zzyzzz|yzyyxyyxyzyyzzzzzzyyyzyzy{z{z{zzyyz{yyzyzzyzzz{zyyzyzzy{{zzzzzzyzyzzyyzxz{z{zz{{yyzzyzzzzz{z{zy{zzyyzyyyyz{zzz{zzyzzzzyyz{zz{z{zzzzyyyyzzz{z{zyzzzzyz{yyz{z{{{{zyyzzzy{zy{zzzz{{zz{zyyzzzzz{zzzz{zzyzyz{z{{z{z{{zzzzz{{zzz{{{zz{|yyzzzzzz{z{z{{{{zzz{y{{{{z{{{zzzzzzzzzzzz{{|{z{z{zz{yzz{z{{{{|z{yyzyyzzzzz{z{{zzzy{zzzzz{z{z{zzyzzyzyyz{z{yy{{yyyyyyyyyzzyzzzzyzyyzzzyyzy{zzzzzzyzyyzzyzy{zyz{{yyyyyxyyzzzzyy{zyzyyyyyyzyzzzzzzzyzyyzzzy{{yzzzyzy{yyyyyzz{zyyzzzzyyyzyxyzyzyzz{zyxyyyzyyyzzzzzyzzyzzyyyzzyyzzzyyyxyxzyyyyzzyyz{zyyyzyyyyzyyzz{zyzzxzyzyyzyzy{y{zzyyyzyyz{zzy{zzyyyyyyyyz{zzzz{{yyyzyyzz{zz{z{{{zzzyzzzyzzzzzz{zzyyyyzzyz{zzyzzzzz{yyyyzyz{{{{zzzy{zzzyy{zyyzz{zzzzzzzzyyzz{z{|zzzzz{{{y{{z{zz{{zz{zyzy{z{{z{{{{|x{yz{zzz{z{{z||zzzyzzz{z{zz{{{{{z{zz{zzz|z{{{{{zx{{zzz{zz{z{{{{{zy{zzz{zzzzz{z{{{zz{zz{{zz{|z|{{{zyy{yzz{{{z{{{zz{yyz{zz{{{z{{zzyzyzzzyzzzzzzyzyyyyzyzxyzzzzzyzzyzyyyyyzz{{zzzzzzxyyyyzz{zzzzzzyy{yyyzyxzyzzy{zyyzxzyyyy{zzzz{zyyzzzyyzzzzzzzzzyzyzyyyyzyzy{zz{zyxyyy{yyxzzxyzzyy{z{xyy{zzyzyzzzzzyyyyyyz{z{yzyzzzyzyyzz{zz{z{zyyyzyyyyyzzy{zzzzzyzyyxxyzyzz{zzzyyyzzyyz{zzz{{{yyyyzyyyz{zyzzz{zyzyxy{zzyzzzzzzyyyzyzzzzz{z{zzzyzzyzyzyyzzzyzzzzyzyyyzzz{zzzzz{yzzyzzz{z{{zz{{zzyyzzyzz{z{{{{{{zyzzzyz{z{z{{z{{zzy{y{zz{y{z{{{zzzzzzyzz{{{{{||z{yzzzz{zzz{z{{{||zzzz{{zzz{{z{z{zyz{yzz{{{zzz{{{{{zzzzyzz|z{|{{|zzz{{zyz{{z{||{{zzzyzzzzz{{zzz|{z{zzyzzzz{|{{z{{zzyyyyzyzzzyyz{{zzxyyyzzyzzy{zz{zyyzyzyxyzzzzz{zzzyxzzyyzzzzzz{zzyzyyyzyzzz{zzzyzyyxyxyyzzyzz{yzzyyyyzyxyzzyyzzzzzzzxyyyyzzyz{zzzzyyzyzyzzz{zzzzyyyzyyzxzzzyzyzzyyyyyzyyz{z{zz{{zyzyyzyxzyzz{zzzyzyyzyyyyzzyyzzzyyzyzzyyz{zzz{z{zzyyzzyyzz{{zzzzzyzzyyzyzzzzzz{{zyyyy{yyzzz{zz{zzyzyzyyyzzzzzz{{zzzzzyzyy{zz{zz{zyzy{zyzz{z{z{{{yzzzzzyy{zzzzzzzzyyzzyzyzzzzz{{{{yzyzz{z{z{{zzzzzz{{y{zy{{{z{z{{zzzz{zzz{z{z{{{zzzzzzzzzz{|{{{z||zzzy{{z{{|z{|{zzzz{zzz{{{{zz{{{{yzz{zzzzz{{{z{{{{{yzyzz{{z{{z{{{zzxzyzzyzz{|{{{{yyzyzzxzz{{{{zzyzzyzyzz{{{{{zzzzxzyzyyyyyzzzyyzzyxyzxyyzzzyzz{z{zyyyyyyzzzyzz{{zxyxzyzz{zyzzyz{yyzyxzxx{zzz{{yzyzyzyzyxyzzyzzzyyyyyyyyyzy{y{zyzyxyzyyyxzzy{zz{yyzyxyzxyzzyz{yzyyyyyyzxyzyzzzzzzzyyyyyyyyyzzzzzzzzyzyxzzyzzyz{zyyzxyyxzyy|yzyzy{zyzyyyyy{zzzzz{yyzzyyyyyy{zyy{{{yy{yyyzyzzzzzzzzzzyzxyyyzz{zzzzzyzzz{yzxzzzzzzz{zyzzyyzyz{zzz{{{{yyzzzyy{|zyz{{{zyyzzxzzz{{{zz{{zzzzyyyzzzyzzzz{zzzzyzyyzzzzz{zz{yzzzzyyz{{zzz|zzz{yzzzzz{{z{zzzzy{zzz{zz{{z{{{{{yz{zzyzzzz|{zz{|yzzyzxyzy{{{{{{zzz{zz{{{z{|{z{{y{zyzzz{yzz{{y{{zzyzzyyzz{{{zz|zzyzyyyyzzzzzzzzzzyxzyyzyzzz{zzzyzyzyzyyzyz{zz{zzyxyyyzzy{zzxyzyzzzyzyyyzxz{zyzzzz{ywzyzyzzzzz{zzxyzyyyyyyyzyyzzxyyyzyyxyzzzzz{zyzzzyxyxxzyyzzyy{yyyyyxzzyyzzyzzzzzzzyzxyzzzyzzzzzxzyxyzzyzyzyzz{yyyzyxyyzzzzzzzyyyyyyxyyyzzyyzz{zyyy{zyyyzzzzyzzyxyyyyzyy{zyzzz{zyzxzyyy{zzzzyz|yyxzyyyzy{z{zy|zzzyzyyyzz{zzz{yy{yzzyyxzzz{zzzzyzy{yzyyz{zz{z{zzzzyyyzz{z{z{z{{zyzyyyyzzzzy{z{{z{zzzzyyyy{{z{z|{zyzyz{zzz{zzzz{zzzzzy{zz{zzzz{zz{zzzzy{zy{|z{zz{z{{yyzzzz{y{z{zzzyzyyzyz{zz{zz{{{zyz{zzz{{{{{yz{y{zyzyzz{zz{zz{zzzyzyzzyz{zzzyzzzyzyzyyzyzzzz{yzyxxyyyyxyzzzyzzzzyxyyyxyzyyyzzzzyyxyyyyyzzyzzzzzyyzxyyywyyyzxzzzzyyyxyyxyyyyyzz{yyyyyyyxzyzyyzzzyxxyyyxyzzyyzyyzyxyxxyyyyyyyxzzyyyyyxxxxyzyzzzzyyxyxyzyyyzyyyzyzxyyxxyxyyzzyyzz{zyzyyxzxyyzyyzz{yzyyyyxyxyyyzyzyxzzxxyyyxzyyyzyzxyyyyyyxyzyzzzyzyyzzyyyyyzyzz{zzxxzxy{yzz{{zyzzzzyyyyyyyy{zzyzyzzxzzyzyzzyzzyzzzyyyyyyyy{zzzz{zzyzzyx{zzyzzzzy{zxyzzzyzzzyzzzz{{zyyzzyyyzzzzzz{zzyzyyyzzz{zzzz{{{zzyyzyzz{zzy{{z{yzzzzzyz{{zz{z{zzzzzyzz{{zyzzy{zyxzzzy{zyyzz{z|zyyzzzyzyzzzz{{zyzyyzyzyzzy{zzzzzzyzzzyyz{zyzzzzzzzyyyzyyyzzzzywyyyyyyyxyyzzyzyzzzyzxyyyzzzzzzyyzzyzyzzyyy{zzzzyzxyyzyyzzzzzyyz{zyzzyyzyyzzyyzzzyyzyzyyyzzzyyzyyyyxyxzxyxyzyz{zyyxzyyzyxyyzyyyzyyyyyyyyxyyyyzyyyzyyyyyyyyzzyz{zyyyyyyzyyyz{zzzzyyyyyyyxyyyyyzz{zyyxyyzyzyyzzz{zzzyzzyyyxy{y{zyzyzyyyyyyyzz{zz{zzyyyzzzyzyyzzzzzzzzzyyyyyyzzzzz{zzzzyyzyyyzyzy{zyzxzzzzyzyzzyzyzy{yyyyxxz{yzzzzzyzzzz{zyzz{{{z{z{yzyz{zzzz{z{z{{{zz{yyyzzyz{zzzz{{yzzzy{z{zzz{{{{zz{yz{zyzz{zzzz{zzzzzz{zy{z{{{{zzyz|zzzz{{zzy{{z{zyzzzyy{{zz{|{z{yzyyyzzzz{{z{{{zzzyyyzzyzyzz{{zyzyzzyzyzzz{z{zyyzzyyyyyzz{zzzzzzyyyzzzyyzzyzzz{yzyzyzyyz{zz{z{zyzzzyyzyzyzzzzzzyzyzyzzyzyz{zzz{yyyxyyyyyzzyzz{{zxxxyzzyyz{zyzzzzxzzyyyyzzzyzz{zzxzyyyyzyyzyzz{zyyyyzzzzyzzzyzzzzyzyyyyyzzzzzzzzyyzzxyzxyyz{zzzyyyyyzwyzyzyzzyzzyzyyyxyyyzzzyzyzyyzyzyyzzyzzzy{zyyxyzyyyzyyyzzy{yyxyzxzzzzzyyzzzzyyzyzyyyyzzy{z{zyyxyzyyyzz{zzzzzyzyzzyz{{{zzzz{zzyzzyzyzzzz{{z{{zyyzzz{{{{{{zzzyzzxz{{yzz{{zz{zzzzzyzyyz{zzzz{yzzzzzzzzyz{{z{{{zzyzz{zzz{{z{{{zzzzzzzzzz{|{{|{{{yz{zyyy{{z{z{zzzyzz{yzzzzzz{{z{{zzz{zzz{{zz{z{zzzzzzzzzyzz{z{{zyzzyzyzyzzz{z{{zzzzyyyxy{zzzz{yyyyyyyzyyzzzyzyzzyzzzzxyzyz{z{yzzzz{zyxzyzzzyzz{{zyzzzzzyzz{zzyzzzzzyyyzyyyyxzzzzzzyyyyyxyzzyz{zz{yyxyyzyyz{zzzzyzzzyxyyyzyzzzz{yzyxyzyxyzzzyzz{yzyyyyzyxyzzzzz{zzyzyyyxzzyzzyz{{yyyyzzyyzzzyzzzzyyyyyyyzz{yyxzyyzyzyzz{yzzzyz{zzyyzyyyyzzzzzzz{{zyyzyzzzzz{zzz{zzzzzyzyzzzzyzzzzzyzzzxyxzz{zz{zzzzzyzzyyzzzzz{{zzyzyyyyzzzzyzzzzy{yyy{yzz{|{{{{{zz{zyyz{zzz{z{z{zyzzzyyzzzzz{{{zzzzzzzzzzz{{{{{z{z{zy{z{z{yz{{z{{zzzyzzz{{{{{zz{zzz{yzzz{zzzy{zzzyzzzzz{z{zz{z{{z{yzzyzz{{zz{{z{zz{zzzzz{z{{{{{{z{zzzzyzz{{{zzzzzyzxyzyyzz{zz{yzzyxyzz{yzz{zyyzyzzyyxxyyzzzzzzzzzxzyyzzzzzyyzz{zzz{yyyyyyy{yzzzzyzyzxyyyzzzzzzzzyxyyzyyxzzzzyzzzyzzxxyyy{yzzyzyzyzyzyyyzzzyzzzzzyxzyyxyyyyz{zzyyyyyyyyxyyyzzy{zzzzyyxxzyyzzzyzz{yzyyzyyyz{zzz{{zyzzzyzyyy{yzzzzzyyxyyzyxzzz{zyzzzyyyzzxzyz{zy{z{yyzz{xzyzyzzz{zzyyzyyzyzzzzzzz{zzzyzyyzy{zzzz{{{zzyzyyzyzzz{zy{zzyyzyyyyz{zzy|zzyzzyyzyzy{{z{|{zzzz{zzzz{{{{z{{|zz{zzzzzzz{z{{{z{z{{yyzzz|{{{{{{{zzzzz{z{{{{{zzz{yzzzzy{z|{|{{{{{y{zzyzz{{{{{{{zzzzz{z{zyy{zzzz{yzy{{zzz{{{zz{z{{yzzzz{zzzzzzz{zzyzzzzyzy{z{zzzz{zzzzxyzyz{zzzyzzxxxyyyyx{yzyzzzzyyyyxyyzzzyyzz{zzzxyxzzzxzzzy{zyyzxyzyyzyyzzzzzyxzyxxyxyzzyzzy{yyyyxyyxyyyz{zzzyyyyzyyyzyzyyzyyyyyyyzyzzzyyyzz{yyyyyxyyyzzyzyzzyxyxyyxzyyzz{z{yzyyyyyxyyyyzyzzzyyzyzyyxyzzyzzzzzyyyzxyyyzyzyzzzyzyzyyxyzzzzzz{zyyzxzyyyzzzyyy{zyzyyyxzzzzyy{zzzyyyyxy{yzzzyzyzzzzzyzxzyzzzzzzzzzyzyzyzyzz|zxzzzzzzyzyyzzzzzzzz{zzyyzyzzzyzz{zz{zzyyyyzz{zz{z{{zyzyz{zzz{zzz{z{{zyzyzzzzz{{zz{|zzzyzyzzyz{z{||zz{zz{z{zzz{{{{zzzzzz{yyzzzzz{|{{{zyzzzyzzzxz{z{z{zzyzyzzzzzz{z{{zzyzyzyyzz{zz{zzzz{zzyxyyyz{z{zzzzyzzyyzyyz{zyz{yzzxxyyzyyzzyzzz{zyxyyzyyzzzy{{zzzzzzyzyyzyyz{y{zyyyyyyyzzzyzxzyzyyzyxxyyyzyz{yzzyyzxyyyxy{yyzyzyyyyyzyyzzzzzzyzyzyyyzzyzyyzzzzz{yyyxyyyxzzzyyzzzyyxyzzxzzzzzzzzyzyzyxzyyyz{zzzzzzyyyyxxyyyzyzz{yzzyyxyyyxzyyzzz{yyzyzyyyyzzzzzzyzyzzyyyyz{zzyzzzzyyxyxyzzz{zyy{{zzyyzyyxyz{zzzzzzzyyyyzzzzy{z{{zzzzyyyyyyz{zzy{{yzyzzyzy{{zzzzzzzzzyzzzyzzz{z{zzzzzz{zzzz{{|{{z{zzzzyyyzzzzzz{z{yzzyzyzz|zzzz{zzzz{yz{{yzz{zzz{{zyzzz{{z{{zzz{{{{z{yzyyy{{zzzz{{zyzzyyzz{zz{y{{z{zz{z{y{{{zz{z{{zzzyzy{yzzzzzz{z{yzzzyyzzy{zzy{{zz{zyxzyzzzyzzzyzyyyyxy{y{{yyz{{yzwzxyzyzzzzzzzyxyyyyzyyyz{zz{zyyxyyyyyxzyyzzzz{zyyyyyyyyyzyzzz{yyyyyyyxxyzyzyzzyyyxxxxyxy{yyzz{yyyyyzyzyyyyzyzzzyxyyzyyyzyyzyzyyxyyxyxyyzyzzzzzyxzxxyyyy{yzyyzzzzyyxxzyzzyyzzzyxzyyyyzyyzzzyzzzyzzyzyzyyzzzzzzzzzyyxyzyzzzyzzzzyyzyyyyz{zyzzzz{yzzyzzyyzzyzzzyzzzzyyzyyyz{{zzz{zyzyyyzyz{z{zy{{{yzyyzzyzz{zzzz{yzz{zyzyz{{z{z{zyz{yyzzy{{zzz{zzzzzzzzyzyzzz{zzyzzz{zy{{{|z{{zzzyzzzzzzyzzzzz{zz{yzyy{zzz|z{{||{{y{zzyzz{{z{{zzzzxzzz{zzzzzz{{{|zzyzzzzz{{{{{zzzzyyzzzzyyz{{zzz{zzzyyzzyzzz{zzz{zyyzzxzxyzzzzzzzzyxyxyyyzzzzzzzyyxyzyyyzyzzzz{z{zyzyyzyzyzyyz{zzzzxzz{zzyzy{zzzzzyyzyzyyzzzyyzyzyzyzyyyzyyyyz{zzzyyyyxzyyz{yyzzyyzyyyyxyyyyzyyz{yyyyzyxyyyzyzzzyyzzyyzxyzyzyyyyzzyyxyyyxyzz{zzzzzyzyxyxyzzzyzzzyyyyyyyyzxzzyz{zzyzzyyyyyzyzz{yyzyzzyzyyyzyzzyzzzyzyyyyyzyz{zzyzzxyzyyzzyzz{zzz{zzzyyyxzzz{z{zz{zzzyyyyzyyzzz{zzzzzy{yyzzzzzzzzzz{yyyyzzy|zz{z{zzyzzyzzyyzzz{z{{{zyzzzyyz{{{z{{{z{yyyzz{zz{{{|{{{{zzzyzzz{{{{{{{zzzzzzzzzz{{{z{{|{zzzzz{yzy{zz{{{{zzyzy{zyzzyzzz{{z{zz{y{{{z{{{{{zzzyzzyy{{{zz{z{{zyyzyzyz{yz{{zyzzyyzxyyzz{zyzzzzyyzyxxyyyzzz{zzzzyzxyzyzzzy{zz{zxyxzyzzzzz{zz{{zyyyxzzyz{{zyyzzzzzyxzyyyzzzzzz{zyyzyyzyyzyyzyzyyzyyzyyyzx{zyzzzzyyyzyyyzzzyzzyzxyxyyzyyyzyyzzzyxyyxxyxxzz{zyyz{zzyxxyyyyzzzzzz{yzyzzyyyzyzzz{zyzyyyyyyyxzzzzzzzzyyyzzzyzyzyy{zzzyzyzyyyy{zyyzzzzxyzzyzzyzzyzzzzyzyyzzzzzz{{{zz{zz{zzyzzy{zzz{zzyyzyyzyz|zzzzzzz{yyzyzzzzzzzz{{zzzzyzzyz{z{{zzz{yzzyyzzz{|zz{z|{{yzyzyzyz|zzzz{z{zyzzyzzz{{z{z{zzyzyyzzzzz{{{{{{{{z{z{zzz{zz{{{zzz{zzzyy{z{z{z{z{zzzyzyz{{zzz{{z{zyzzzz{z{zzzz{{{zzzzzz{z{{zz{{{{zzzz{zyz{y{z{zzzzyzzyyyz{{zzzzyyyxyyyxyyzyzyzzzyyyyyyyyzyzzz{zzzzyxzyyyzzyyzzzzyyyyzyxyxz{zy{{zzyxyyyzxzyzzzyyzxzyywzyxyzyzyyzz{yzxyyyyzzyyyzzzzyxxzyyyzxyyyzzzyxxyyyyy{zzzxzzzzyyzyyyyyzzzz{zzyzyyzyyzy{zyzzyzzzzzxyzxyyzyyzyzyyyyyyxxyzyyzzzzyyyxyyyyzzzyzz{{yzyzyyyzyzyzzyyzyyzzyyyzzyzzzzzzzyzyyyyyzzzyyz{yyzzyzyzyzzzzz{{zyzzzzzzyzzzzzz{zzyyzzzyxzzy{{zz|yzzzzzzz{z{zzz{zyyyyzz{y{z{{zz{{{yzzyzy{z{{z{zzz{yzy{zzz{{{z{{zzzzzzyzzzzzzz{{z{zz{z{{zz|{y{yz{z{zz{zzzzz{z{{|z{{zzzzzzzzzzzz{{{{z{{zzzz{{{{{{{{z{zzzyzyzzzzzz|{z{yyyyzyzzzzzy{{{yzy{xzxzzyzzzyzyyyyyyzyz{yzzzz{zyyzzyyxzzzzz|z{zzyyzzxxzzzz{{{zzyzyyxyzzzzzzzz{zzyzyyxx{zz{zzzzyyyyyzyyzzzyzz{zzyyyyzxyzz{zyyzzyzzxyzyzzyyyzzyzyyyyzyzzyy{zyzyyyyyzyxzyzzzzzzzzzyyyxzxyyzy{zzzzyyzzyyzyyxzzzzzyyyyxyyyyyzyyzzzzyzzzyzyyzzzzy{{zzyyyyyzz{zzz{{{{zyzzyyzzzzzzz{{{zyzyzyxyzz{yzzz{zz{zzyzzyzzy{{zz{yzzzyzzzz{z{z{zzzzzzzy{|{{zzzzy{zzz{zzy{yzz{{zzyyzzy{{z{{zz{{{{zyyzzzzy{{{z{z{{zyzzzzzz{{{z{z{|zzzzzzz{z{zz{{{{zz{zzzzzzz{|{{{{zzzzzyz{zz{{{z{zzzzz{zzzy{{{z|{{{zzz{zz{zz{z|{{{y{yyzzyz{zzzyzz|{zyzyzyzz{zzzz|{zzzzzyyzzzz{zzyyyzyzyy{yyzzzzzzzyyyyzyyyzyzzzzzzzzzyzyxxzzzy{z{{zyzyyyzyyyz{zzz{zzxyyyyxzzzzyzyzzyyzyyzzyzzyz{zzzyyyyxzzyyzzyzzzyzywyyyyzyzzyzzyzxxyzzxyyyyyz{zzzyyyyyxzzy{y{z{zyyzyxyyyy{zzz{{zyyxyxyzyyyyzyzz{xyyyyyyyyyyz{{zzyx{yyyzy{yzzyzyzzyzyzyzxyyz{zzz{yzzzyyzzyzzzzzzzzyyyyyyy{z{zzzz{zzzzzyyyy{zzz{{zzzzzzzzzzz{zzzzz{yzyyz{zz{{yzzz{yzzzzzzzz{{{{z{zzzzyzzzy{zyz|{{{zzz{yzy{z{zzz{{{zz{zzzzz{{|zzz{zzz{zzz{yz{{z{{zz|yyzzzzzy{{{{{{zzzzzzyz{z{z{|{{z{zzzzzyz{z{{{{{{{yzzzy|z{{{{z{z{yzzyzzzzzz{{z{|{{{zzzzyzz{z{zz{zzyzyyxyzzyzzzyyyzyzyyyyxzzzyy{zzzyyyzyyyzzzzzz{z{yyyxzzyyyy{zzzzyyzyyyzzyzz{zyz{zyzxyyyxzz{{zz{zyzzyyzyyyzzyyzzzzxyzyyyyzyzzzz{zzzyyyzxyzzzyzzyzzxzyyyyyyy{yzy{zzyyzyzyyyzzyzzzzyzxyyyxyzyyyzyyzyzyyyzyxzzzyzzzzyzyyyzyyyzzyzzzzyxzzy{yyzzzzz{|zzyyyyxyzz{yyzzzzyxzyyyzyzzyzz{zzzyzzyzzzzzz{zzzzzzyyzyyzzz{zzzy{zyzyzyzyzzzzyz{zyzyzxzyyy{zz{zzzzzzyzzyzy{zzz{|zyzyyzyzx{z{zz{|{zzzzyyyy{yzz{zz{zyyyzzyy{{zzz{{{|yzyzzzyzz{z{zz{zzyzzzzzz|{z|zz{zy{zyzzzyz{z{zzzzyzzyzzz{zz{zzz{zz{yzzzzz|{{{{{|yzzzzyzyz{zzy{{zzyyyzzzyz{zz{zzzzzzxyzyyyzzyzzy{yyzyyyyyyzzzzzzz{zyyyxyyzzzzz{zzzz{zyyyzzyzzyzzzyyzyzzyzzzzyy{z{yzyxyyyyzy{{yzzzyyyyyyyxy{zzzzyzzzyyyyyxzzyzz{z{zzyzzzzzyzzzzzz{zxyyzzyzy{zzyzzyzyyzxxyyyzzzzzzzzyzyyyyyzz{zzzzzzyzyyyyyyzzzzzzzyzzzx{yxz{zy{zzzzyyzzyyyzzzz{z|{{yyzyyy{yzzzz{{{yyzyyz{xzyz{z{z{yyyzyyyyz{{{y{zzzzzy{zyyz{yzz{{yzzzyyyzzz{{{{z{zzzzzzzzz{zzzzzzzzz{zzzyzzzyzz{zzzzz{zzzzz|{|z{z|zzzzyzzzzz{z{z{zzz{zzyzz{{{{zzz|{{zz{{zz{{{{{z{{|yz{{yzyz|{{{{{{zy{z{zz{{z{zzz{{{yzz|zyzyzz{{{z|zzzzzy{zz{{{{{{{zzzyzz{zyz{zz{{{zzzyz{zz{{{zz{z|yzyzyyzzzzzzyzzzxyyzyxyyzzzyzzzzzzyyyxzzz{zyz{{{yxzyyyyyyzyzzzzzzzzzyzyyyzzz{zzzzzyxxyyxzzzzz{zzyyzyyzyyzzzyzyzyyxyzzyyyz{{yzy{zyyyyzyyyyyyzx{zzyyxyzyzyzzzzyyyyzyyyyyxyzzzy{zyzzyzzxyyxy{zzyy{yyyyyyyyyyyyzyzz{zzxyyyyyzzzz{{zzyzzzzzyyz|yzzy{zyyyyzyyy{z{zzzy{{zzyyyzzzzz{z{{{zyyyyyzyz{zzz{{z{yyzyzyzzzzz{{{zyxzyzyzxzzzzzz{{{zyzzzyzzzzz{z{zzzzyzyyzz{z{{z{zyzzzzyyzzzzz{zz{zzzzzxzzzz{{{zzz{xzz{zzy{{{z|{{{{z{zyz{yz{{z{|{{zyzyyzzy{{{{z{{{{zyyzyyyzzzzz{{zzzzzzzzzzzzz{{{}zzyz{yyz{zz{{{z{zzz{z{yyzz{zzz{{zzyyyzzy{zzz{z{zyyzzyyzyzzyzyzxzyxxyyyzzy{zyyzzzyyxyyyzyyzxyy{zzyzzwyzyyzzyzzy{zzxyzzyyyyyxzyz{{yzyxyyzxzzzzzzz{zyyzxyyyzzyyzzzzzxzyyyxyxzzyzxzzyxyyyyzyzzyzyyzyxyyyyxwyzyyzzzzzyzyyyzyyz{yzzyzyyyzyyyyxyzyzzz{zzxyyzzzyyzyzzzzzzyyyzy{yyyy{zzzyyyyxzyyxz{zyyzzzyyzyzyyyzz{yy{zzzyyyzyyyzyzzz|{{yy{yyxzz{zzzyz{zzyyzzxzzzzzzz{zzzzyyzyyzzzzzyzzzzzyzzzyz{y{zyzzz{zzzzyzy{y{zzz{{yyzz{zzy{{z{zzz{zyyzyzyy{yzzz{z{zy{yyzzz{{{zz{{{zyyzyyzz{zz{z{{{zzzyyzyz{|z{zz{{{yzzzzyz{zz{{z{{yzzzzyzy{z{zz{{|{zzzzzyy|yzz{z{zzyzzzyzyzzz{y{{z{zzzyyzy{zz{zyzzyzxzxyyz{|yzyzzzyyyyxyyy{zzzyyzzzyyxxyyxzyzzzzzzyzzyzyyyyzzzyz{zyyyyyyyzyzyzzy{zyzyyzyyyxzzyzzzyyzyxyxyyy{zzzz{yzyyzyxyyzzzyzzyyzyyxyyzyyyyyzyyzyzyyyyyyyzyzzzzzxxyyyyxzyzzzzyyzyzyyyyyyyzzyzzzzzzyyzyzxyyzz{yyzzyyyyyyxyzzzzzzyyxzyyyyxy{zzzzzzzzzyxzyyzzzzzzz{yyyyyy{yzzy{zyyzyyy{yyyyzzzzyy{{z{zy{yyzyyzzz{{{yyyzyyzyz{{yzz{zzzzzzzzy{{zzzz{zyzzzyzyzzz{{zz{{yzyyzzyzz{{z{z{{yyyzyzyyz{yz{{zzyy{zzyzyz{zzz|z{zzzyz{{zzz{z{{{|zzzz{zzzz|z{{|{zzz{zzzyyzzzzz{{{zyzyzyzyz|{z{z{{{{{{|zzzyz|{{{z{zzyyyyzzyzz{{z{z{{{yyzzzzzz{z{zzzy{yyzyzz{{yyzzzzyxzyxyyyzzyxzzyxzyzyxyzyyyz{{z{yyzxyyzxzyzzzz{zyyzzyyyyzzzzzzz{yzzyyyzyzzzzyzzzyyzyzzzyzyzzy{zyzzzzzyyyzzyyzyzzyyyxyyyyzzyzxzzzyyyxyyzyzzzzyyzzyyyzyzyzyzzzzyzzzyyyxyyzzzzzzzzzzwzyzzyzxzyzz{zzyyzyzxyzyzzzyzzzzyyyyyyyzzzyzz{{zxyyyzyzyyzzy{z{zyzyzxyz{zyyzzz{zxz{zyzyzy{yyzzzzyyzyyyzyzzzz{zzyyzzyyyyzzzyzz{zy{zzyzzy{zzzyzzyzyzyzzzyzzz{{{z{zyzzzyzz{{z{zz{{zzzyyyyyzzz{z{z{zyyzzyzz{{z{{{z{zzzyz{zy{zz{{{z{{zyzyzyzz|z{{z{{zy{zzzzy{{z{{zzzzzzyzzzy{{{z{{z{{zz{yzzzz|z{zz{zzzzyyyyyz{zzx{zzzy{zyzzyzz{yzzzzzzyyyxyzzzy{{zyzyzzyyyzyyzy{yzzzyzzxyxyyzzyzzzz{zyyyyxyyzyyz{zzzzxzzyyyzz{zyyyzzyyyyyyyxzy{yyyzyyyyxzxyyyzzzyyzzzyzxyyyxzz{xyzzyyy{yyzxxzxyzyzzzyyzyyzyyyzzyyyzyzyyyxyzyzyyzyyzzyyyyxxyyzzzzyyzzzyyyyyzyyyzzyyzzyxyyzxxxyzyzyzzyzyy{zyyxzzyyzzzzyyyyzxyxzzzyyyzzyxzyxxyyzzzyz{z{zzzzyxyyzzzyzz{zyyzyyzzzy{zzyzyyzzyxyyyzzy{zzzz{yzyzyyyyzyz{z{z{zzzy{yyz{zzz{{z{yzzyzyzzy{zzy{{{zyzzyzzzzz{{zz{{yyyzzyyzz{zzz{zzzyzyzzyzz{zz{zz{zzzyzz{zz{{{{{zzzzz{xzzy{z{z|z|zzzyz{zyz{zz{{{{{zzyzyyzz{{{zzzz{yzzy|zzyzzzz{{{{z{zzyzzyz{yzyzyzyyyyyxyyyzyzzzzyyyxyzyyyyyzxyyzzyyyyyyyyzyzyzzzzyyzyyyzyyzzzzyzzyyyyyyzz{yyzyyz{yyyyxzzyyz{zzzzzyyzxxxzyyzyyyy{zxzyxzyyxyyzyz{zyzyyyzyzyzyyzzz{yzzyxyxyyyyyzzyzzzyxyyywxzzzyzzyzzxzyyxyyyzzzyxzyyyyyxxyyyyyzyzzyyyyyzxyyyzyzyzz{yxyzzyxyzzzzzzzzzzyyyzyyy{zz{zzzzyzyzxzy{zzzzyz{yyyyzzyxzzzzzzzzzzzzzxzyz{z{z{zzzzzzzzyyzz{yzzzzxyyyyxyyzz{zzzz{{zyzyyyyzy{{z{zzyy{zzzzzzzz|zzz{zzyzzzyyzzzy{{{{zzzzyyzyzzz{{z{{z{zzzz{yzzzz{zzzzyzyz{{zz{z{z|{{{yzzzy|zzz{{{{z{zzyz{yzzzyzz{{{{zzzz{yzz|z{zz{z{{z{zy{zzyzz{z{{zzzzyyyzzyzzzzz{zyzyyyyzyzzyzyzzyyy{zzxyyyy{y{yzzyyzyyyyxzy{zzzz|zyyzyzxxzzzz{{{yzyyzyyyyzzzzzzzzzyzxxxyyzyz{yz{zzyzxzzzyzzzyy{{yyxzzyzyyxzzzyzzyzyyxyzyyyyzyzzzzyyyxyyyyzyyzyyzzyyyxyzyyzzz{{{zzzyxxxzxyyyzzyzz{yyzyyyyxy{yyzz{zyzzxyyzzyzyyzzz{yyyyyzywzzzzzz{zyzzxyyyzyzzzyzy{{yzyyyzyzyyzzzzzzzzyyyyyzz{z{zz{zyzyzyyz{{{zz{z{zzzyyyzyzyzzzz{{zyzzyzyyzz{z{|zzzzzy{zzzy{{z{zzzzzzyzz{z{{z{zz|{zyy{zyyy{z{y{y{{zxzzzzzz{{{{z{{{zzzzy{z{zzzz{{z{|yyyzzzzz|{z{z{|zzz{yzzz{zz{{{{z{zzz{{{z{{z{{z{{zzzzzzzy{zzzz{|{z{zy{zzzzz{yzz{{{zzzyzyzyzzz{zzzyzzyzyyyz{z{zyzyyzyxyyxxzzzzyzzzzzyxyyxyzz{{zzzzzzyzyyzyz{{z{z|z{xzyyyyzzzzzzzyz{yyyxyyyzz{zzzyzyyyyyyyzzzyyzzzzyyyyxyyyzzyzyzzyzyzyyzxxzyzyyyzzzyzyyyyxzzzzyzzyyzyyyzyzzzxyzz{yyyyyxyyxyzzyz{z{yxzyzxzyyyzyzzz{yzyzyy{yyzyzz{zyzyyyyzzxyzzyzzzzzyxyzyzyy{zzzzzzzyyzxyzy{yz{zzz{yyyyxyyyzzzzzzz{zyzyzxyzy{{{z{yzxzzzyyyy{{{z{z{zzyyzyzyxzzyz{{zzyzzzzzzz{z{{z{z{zyzyzz{zzz{{{z{{zzyzyzzyz{{{z{{zzyzyzzzzz{|z{zz{zzyyyzzy{{{z{{{{{{yxy{yzz{zzz{{{zyzzzzzzzz{z{{{z{zyzzzzzzzzz{{{{{yzzzzyz{{|{{{||zzzzzzzz{{zz{{{{zzzzzzzzz{z{zzzyzyzz{yyyzzzz{zz{yyzzyyyzyz{zzzzzyyyyyxyzyzzzzzzzzyyxzyzyzyzzzyzz{yzyz{zxy{yzzzzz{yyyyyyyyzzzyzzzyyyyyyyyzyzyzyzyz{yyzxyyyyzzyz{yzyzyyzyzyzzy{yzzyzyzyxyyzzzzyzyyyxxzyyzzzzzyzz{zyyyyyxzyxyzzyzzzyyxyyyzyzzzyyzzzyyyyyzyyyzyzzzyzzyzyzzzyz{z{z|{{yzyyzyyyyyz{zz{{zx{yzxzzz{{zy{yzzyzyyzyzzyzyzzy{zyzzzxzzyyy{z{{yzyzyzzzzz{zzz{zzyyzyzyyyz{zz{zz{z{yzzzzz{z{{{{{zzzzzzy{z{{z{z{{zzzzzzyyyzz{{zzzzzyyzzzyyz|zz{z{{zy{zz{z{{zz{{{{z{{{yzzyy{{z{{{|{zzzzyzzz||z{z{{z{yzzz{zzzz{{{{{z{zzzzz{{zz{{|{{zyzzyzzyzz{zzzz{{zzyzyzzyzzzzzz{{yyyzzyyy{zz{zzyyyzxzyyxyyyzyzzzyyxzyyyyzzz{zzzzy{zxyzyzzzzzzyzzzzyzzyyyyz{{zzyyzzyyyyyxwyx{zzzzzzyyyyzzxyzyyz{zyyyyyyyyxzzzyyz{zzxxyzyzyzy{zz{zzzyyyyyyxxyzz{yzyyyyyzyyyyxzzz{zzyyyyyyzzxyzzyzzzzyyyxyyxz{zyzzzxyyxyzyyyyyyzzzzzyyzyyzxxzzz{{zzyyyyxxyyzzz{zyzzzzyzyyyzzzzzzyzzzzyyyxyxyzz{yzzyzzyzzzxyyz{zzz{zyyzzyxyzxzz{z{z{{yyyyyyyzzyz{{zz{zzzzzyy{zzzz{z{{zyzzyyzyzz{{z{||zzzyyyyz{|{zzzz{{yyyy{zzz{z{{{{{zz{zyzzzz{z{z{z{|yzzyzzzz|y{{z{{zzzzzyzzzzzz{z{{{yyy{yzz{zz{zz{{{z{zzzyyy|{zz|{{zzyyxzzz{z{zz{{z{zy{zyzzzzzzzyzzzzyzyxzyyzzzzyz{yzyxzxzxyzz{zyzzyyyyyzzyy{zzzzzz{zyzyzzyyzzyzzz{zzyyyyyyyzzzzyz{zzzxxyzyzzyzyzz{yyyyyzxyzyyzzy{yzzzyzzyxyz{zzyzzyyyyzyyyzzzzyzzyyyyyyxxyyyyzzzzyyyyxzyyyz{zyyyz{yxzyxzyxyzzzyzzzyyzzyyyyyzyyyzzzzyyyzyyyy{zzzz{zzzyzzzyyyzzyzz{zzyzyzy{yyzzzyzzzyyzyxyzzzzzzz{zzyyzyyyyyzz{zz{{zzy{yyxyyy{{zz{yyzy{zzzyyy{zzzzzzzzyyzyzzzyzzz{z{zyzyzzzzzzz{z{zzz{yyzzyzzzzz{{{zyyzzyyzy{z{{z{z{|yzzzzyz{{{zz{zzz{zzyy{zz{{zz|{|{zzyyzyzzzz{|{{{{zzzzzzy{zz{{{{{zyz{{zyy{y{{zzz{zzzzzzzz{{z{{z{{zzyzzyyzy{z{yzzzzzzzzzzyzzz{zzzyyzzyxzyzy{zyyzyyyyyyyzyxyyzyyzyzyyyyyyyyyy{z{{yzzzyyyzxyzzyyzzz{zyyyyyzzzzzzyyzzzzyyxyyxyyyyyzyzzzzyyzzyzyzyy{zzyyzzyzyyzy{yy{zzyyzxxzzyzzyyyzzzyyzyyyyyyxzxyzzzzxyzxyyyyzyzzyzzyyyyyxyyyyyyyy{yyyxyxyyxyxyzy{zzzzyzxyyyzzyzyzzzzyyyyxxyzzyzyz{{zyxyyxyyzzzyzzyzzxyzxxyzyyyzyzz{yzyyxyzxzyz{zzzz{yyyyxyyyzy{zzzzzzyyzyyyzzzzzz{zz{yyyyyyz{zzzz{zzyzyyzzzz{{{{z|zzy{zzzyyzzy{z{|{zy{yyxyyzzzzzzzzzyyzzyzz{|zzz{z|zzzzzz{zz{y{{z{{zzyzz{zz{{{{zz{z{zzzyzzzzz{{zzz{yyzyyzzz{zz{{{|z{yzzzzzyz{{zz{{{zzzzzyzyzzzzz{{{yzyzzzzzzzyzyzz{yzzyxzyyzyzzyyy{yyyxzxzyzyyyzy{zzyyxxyyxzzyzyyzzyyyyyyyx{zzyyzyzyzzxyxyzzyzzxyzzz{yyxyyyyzzzyzzzxyzyyxyyy{yyyz{yzyzxyyyyzzzzzzxyzyyxxyyyyyyyyyzzyxyxyyyxzzzzyzzyyyyxyyxzzzzyzyyzzyzyyyxyyzzyyzz|yyyyyxxyxzzyzzyyzyyyzyyzzzyzzzzyzzyyzzzxzyyzzz{{{yyyzyyyzzz{zzzzyyzyyyyyyzzzyzz{yzxxyzzy{zyyyyzzzzzzyyzyyz{yz{{zyyyyzyyyyzyzyz{{zyyzyzyyzzzyyyzzzyzyyzyzyz{{zzz{zyzy{yzyzzzzyz{{yzyyzyzyzzy{z{{zzyzz{zyyz{z{{{z{{y{zzzyy{{zz{z{z{yzzyz{zyz{{{z{{zzz{y{zz|{zzz{{zzyzyzyyzzz{{z{{z{yzzzzzz{zzz{{z{zzyzyyzzzzzz{{{zzzzzzzzzz{z{zyyzzzzzzyyzzzzyzyyzyyyyyyzxyzzzyyyyyyzxyxyyzzzzyzz{zxyxyyxxzyzzzyyzyzxzyyzyyyz{yzzzzyzzyyyxyyzyxyyzyyzyzxyxyyxyyzyyyyyyyzyyyzzyyyzzzyyxxxyxyzyyyyzzyxxyyyyyyzyyx{yxyyyxyyxyyzzyzzzyzyyyyyxxyyyz{zzzzyyyxyzyyyzyyzyzyyyyxyzxyzzyyyyzyyzyxzzyyzyzzzzyyxyyyxyyyz{yy{zzyxyzyzyyyyz{yyz{yyyxxyyyy{zzzzzyyxzzzyyxzyyyzzzzyyzyxyyyyzzzyyzzzzyzyzyzzzyzzzy{yzyzxyyyzzyz{zz{zzyzzzzzzyzyz{zzyzy{yyzyzzzz{zzyzxzzzyzyz{zyz{{zyz{yyzzzzz{zz{z{|zzzyzzzz|z{{z{zzzzyyyyyzzyzzzz{zzyz{zxzzzzzz{zz{zzz{yyz{zzz{{|{zyyyzyyyyzzzz{{zzzzzyzyyzzyzzzzzyyzxxyyyyz{yy{zzyyxxyyyyx|zyyyzzyzyxyyyxyzzzy{zzzyyxyyxzzzyyzzz{{yyzyyxz{{zzzyzyzyyyyyxyzyzzzzyzyyyyyzyyxzyyyyyyzyzzyxxyzzzyyyzzzyzyyyxyyxzyzzyzyzyzzyxyyyyzzzzzyyyyyyxzzzzyzyzzzyzyxxxy{yy{zzyzyyyyyyyyyzyyyzzzyzyxyzyyyzzzzzz{xyzyzzzyy{zzzz{zzyyzyzyzyzzzyz{{zzzyyyyzzzzyzzzzzyzyxyzx{zzzzzzzzyzyzzyzzzz{zz{zyzzyzzyxz{zyzzzzyzyzyzyyy{zyz{y{zyyzzyxz{z{zzzzzyyzyzyzzzzzzz|{{zyzyyzyyy{zzzz{z{yzyzyyz{zzyzzzz{zzzz{{z{zzz{z{{zzzzyzyyz{{z{{z{zyzzzyzyzz{{zyz{zxzz{yy{{zzz{{{{zzyzzyzzzzz{z{zzzyzyyyzy{zzzz{{{zyy{zyzyzzzzzz{yy{yyzyyzzzyzzyyzyyzyzyyyzyzyzzzzyyzyyxyxzyy{y{{zzyyyyyyyzzzyzzzyyzxyxyxxyzzzy{zzzyyxyxzyzzzzzzzzyyyyyyyyyyzxyzzyzyyxyyxxzyyyyzyyyzxyyyyyyxzzzz{yywyyyyyyxzzyyzzyyyxzyyyyxzzyyyz{yyyxxyzyyzzzzz{zyyyzyyyxyyzyxyzyyzxyyxxzzzzyyzzyyyzyyzyxzyzzyzzzyzzyzxyzx{zzzzz{yyyyyyyyy{yzzyy{zyzyyzyyzyzzzz{zyyyyzxyzyzzzzz{yzyyzxzyxy{zzzz{yyzyzzyyzzzzyz{zyzyyzy{yyzzzzz{zzyzzzzyzyzzz{y{{|zyyzyyyzzzzzzy{{zyzz{yzzzzzz{{zz{yzyzzzzz{zz{{z{zzzzzyyzzzz{zz{|zz{{yzzzzzzzzzzz{zyzzzzyz{{{zzz{zy{zzyzz{{y{{|z{yzzyzy{yyzzzy{{zz{yzyyzyyzyzyyzzzyzzzxyzyyyzyxz{yxyyyyxxyzyyzzyzzyyzzyyyzzzzyzyzzyyzyyyyzzzzzz|zzyzyyyy{zy{zyzzzyz{zxyyyy{zzzzz{zzxyyzxyzzzyzzzyzy{yzzzyyzzyzzzyyyyyyzyyzyyzyyzzzyyyyxyyzzzyxyzyzzyyyyzyy{zyzz{zyyyyxyyzyyzzzzz{yyyyyzyyzzzy{yyzzzyyyzy{z{zyzzyzyyyxyyyyzyzyyz{zzyyyyyyyyz{zzz{{zzzzzzzzyyzzyz{zzyyyyyzz{zzzzz{z{y{zzyzxyzzz{zz{zyyyzyzyzzzzzz{{zyzyyyyyzzzzzzzzzzyzzzzzyz{z{z{zz{yyzyzzz{z{z{{{zzzzzyzyz{zzzz{{zyyzzzyyz{{z||{{zyz{zzzzz{{z{{{|zz{{y{{zz{{{{{{zzyzzyzzz{zz{zzzzzzyyzyzzzzzz{{{{zzy{{zyz{{|{{z{{zzzyzzyyz{{{z{{zzzzyyzyzzzz{yzz{zz{yzxyyyzzzz{{{yzzyzxyxzzzyzzzzzyyyyyxyzzyzzyzzyzyxyyxyzyyyzz{zyxxyzyyyzyyzyz{yyyyxxyzyyzzzyzzzzxyyyyyyyz{zyzzzzyyyyzyyzy{yyzzzyyxyxyyzyzyzyyzzyzyyyyyzzzzyzyzzyxyyxyyzzyzy{zzyyyzwyxyzyzzyzzzzzxyyzyzyyyyzzzyzyyyxyxyyyzzyy{zzzxyyxzzyyyz{zzzzyzyyyzz{{zyyzxz{zyzyyyzzzzzzz{{zzyyzyyyyzyz{{xz{zyzzzyzzyzyz{zz{yyyx{yyyzz{zzzzzyxyzzzzy{zzzz{zyzyzyzyyz{yz{z{zzyy{yzyzzyzy{yzz{zxzyyyyyz{{{zzzzzyyzzzzz{{{zzz{zzzzzzzzz{yzz{z{{{yzzxzz{zz{{{{{{zzzzzz{zzz{{zz{{{zzz{zzzzzzz{zz{{{y{zzzz{{{z{{{{yz{yzyzyzzy{zzz{z{zzyzyyyzzzzzzzzzzyyyzzyzyzyzzy{zyyyzyyyzzzzzy{yyzzzyyyzzzz{zzyzzyyyzzx{zzzzzzyyxzzxyxyyzzyzzzzzzyxyyyyyyzzzzzzyxyyyyyyyyyyy{z{yyyyzyyzyzzyzzyyyyyyzzxyyyyzyz{yyyzyyyyxzyyyyzzyyyyyyyxyzzzzzzzyzyyzzyyyzzy{yyzzyyyyzyyxxyyyzzyyyyyxxxyxxyzzz{zyzyyyyyyxyzzzy{{zzyyyzyzzzzz{y{zyyzzzzzzzzzy{zzzzyz{yyzyyzzzzzzzzyyzxyxzxyzzyzzz{yy{zyzyzzzzzzz{zyzzy{zz{z{{zzzz|{y{yy{yzzz{{{y{zzzzyzyzzz{{zy{{{{yzyyzyz{{{{{{{zzyzzzyzz{{{zzz{zyzzz{zzz{|z{z{zyzyzyyz{{z{{zz{{{{zzzzyzz{z{{z{{{yzzzzzz{z{|z{{|zzyzzyzyzz{zz{{z{zzyyzyzz{{zz{{zzyyzyzzzy{{zzzyzzzyzyyyyy{z{zyzzyyyxyxyyyyyzyxzyzyyyyyxxzzyzyyzyzzzyxy{yxzyzzyzzzyyyyxxxxyzzyyyz{yzyxyyxyzzzzzzyyyyyyyyyxxyzzyzzzyyyyyyyyzyzyyzyyyzyzyyyyyzyzyzzyyyyyxyxyyzzyyyzzyxyzyyxyyzzyyy{yyyzyyyyxzzzzzyzzzyyyyyzxyzyyzyzyzxyxyxzyyzyzy{yzyyyyzyxzyyzyyyzzyxyyzyzyyyzzzzzzyyyyyyzzyyyyzzy{zxzyyzyyzyzyyzyzyzzzyzyzzzy{zz{zzyzzyxyyz{zzzzzxyyzzyzzxz{yzzzz{{zzyyyyz{yz{z{z{zyyzyyyyzzyzyzzzyzyzzyxzzzzz{zzzzyz{zyzzyz{z{{{zyzyxyzz{z{zzzzz{{zzzzzzzz{z|zzzyzzzzyzzzz{yz{z{zzzzzzzzzz{{zzz{zzzyzyzzz{z{z{{z{xzzzzzyyzyzzz{{|yzzzyzyyzzzzz{z{zxyyyxyxyyyzzzyxyyxyyyzyyyzzyyyzyzyyyxyxzzyyyzz{yxyyyzzxzzzzyzzzzyyyyyyyzzzyyzz{yyyxyyzyzyzyyyz{yyzxyxzyxzyyyzzyyyzxyxyxzzyyxzyzyyyyxzxyyzzyzzzzyyyyyyxyy{xzyzyyyyyxxyyxyyyyzzyyyxyzxyyxzy{{zyzzyzyyxxyxzyzyzzyxyyyyxyyzzzzyyzzzyyyyzyzyyzz{zzyzzyyyzyxyzzxyy{{zzyyyyxyyzzyzzzzzzyyyyyyzzzzzyzzzzzyyzyyzy{{z{z{yzzyyyzyyz{zzzzzzyyxzyyyyz{{{zyzzzyzyzzzyz{zz{z{zyzyzyyzzzzzzz{zzyyyzyzyxy{zzzzzzzyyzyyxy{{zz{z{yyzyyzzzzz{{zz{z{zyyzzzzyz{{z{{{{{zyzzzzyz{{|zz{{{{zzzzy{zzz{{{z{zzzz{zz{{zzzzz{zzzyzyyyy{zyzz{z{y{zyyyzzzzz{z{zzyyyzzyyxzyz{z{{zyyxyyywzxzzyzzzzyzxxyxxyyzzyyz{yyzyxyzyzyyyyzzyyzzyzyxyzyz{zxzzzyyyyxyzxzzzzz{zzzzyyyyyyyzyyyzzzzyyzxyyy{yzxyzzyzyxyxyyyzxzyy{{yzyzyyyyyyzyyyyyzyyyyxyxyyzzz{zzyyyyxxyyyzzyyzzzyyyzyxxxyyyzyyzzyzyyxyxzxyzzxzzzzzxyyyyyxyzz{zzzzzzyyzyyyzyzyyzyzyyzzyzyyzzzzzzzz{yzyzzyzzz{zzz{zzzzzzyyyy{{yzzyzzyzyyyyxyzzzzyzyzzyzyyyyzzzzz{zzzy{yzzyzzzzzzzz{yyxzyzyzz{zzz{zzyyyzyyyxz{z{zz{{{xzyzyzy{|zzzz{zyyzyzy{y{zzzzz{y{{zyzzyzz{zzz{{z{yzyzzzzz{{zz{{z{yyzyzzzzzy{{{{{{zyyzy{{zzzzz{z{zzyyyzzzz{zz{yy{z{zzyyzyz{zyyz{yyzzyxyyyyzzz{zxyxxxyxxxxyzzzyyzyzyyyxyyyxyyzzzzzyyyxxxyyzyzxzyzzzyyyyxxyzyzyxzzyzyyxxyyxyyyzyzz{yzyxyyxxyzzyyzzyzyyxyxyyxyzyyyyyyyxxyyxyyyyyyyyzyyyyxxxxyzyyyzzxzyyyyyxyxxzyzyzzyxxxxxyxyzzzyyyzyxxyyxyyyyyyzyyxzyyxxxyyxzyyyyzyxyyyyyzyyzzzzzyzyzyxyyxyzzzzyzz{yyzxzywyzyx{yzzzzzyzyyyyzzzyzzzzzx{yzyyyxyzzyzzzyyzzzzyyyzzzy{zzyyyyzyyxyyzzzyzzzyzzxzyyyyzz{{zzyyzyzyzyzz{zyzzzzyyzyyzyz{{yzz{zzxyyyzzy{{yyzzzzyyzy{zzzzyzzyzzzzzzzzzyzz{{zzyz{zyyzzyzzzz{zzyz{yzyxyyzzzzzz{{zzzzyz{yyyzyzzzzz{yzyyyyxzzzyzzz{zzyzyyyzxzzzzzzzyyyzyyyzyzyzxy{yzyxxyxxxyyyyzyyzzyxyyxyyzyyyyyz{{yyxzyzzyzyzyyzzyzyzyyyzzxy{yxzzzyyyxxyyxyzzzyyzyyyyyyyyzyyzxyyzzyyzyyzyyzzzyyyzyxzyxxyxyyyyzyyzzyxyxzyxyzyyzyy{zyyxyxyyyzzyyzyzyzyzyxyyyyzyzzy{zxzyyyxyyzyzyyzzzzyyyxzyxyxxyyzzzyyyyyzzyzzzzyyzzyyyyyyyyyzzzzzy{zyyyyzyyzxz{z{{{yxzyzyzzzzyzyzz{{xyyyyyyzyyzz{zzyyzyyzyyzzzyyzzzzyyyzzyy{zyzzzzzyzyzx{zyyzz{{zzzzzzzzyzy{zzzzz{{zyz{xyyy{z{{yzzzzyzyyyyzzzz{z{zzyyzyyzzyzzzzzz{zzzzzyzzyy{{z{{{zzzzzzzzz{z{{z{z{zyzzyzzzz{zz{{{{zzzzzzzzzzzyz{{{yyyzyyyyzzzzzz{{zyyzyyyxzzyzz{zzyyzzyyyxzzzxyzzyyyyyxxyxyzy{yyzzyzyxyxyyz{yzzyzzyzxyyyxyzzzyzzzzyyyyzyxyyzyzzyzzzzyyxxyyzzyyzzzyyyzyxyzyyzzyzzzyyxyyyyxxyzyyzzzzyzyyzyzy{yyzzyzzyzxxyxyzzzyyzzzyyxyyyywyyyzzzzyyyyxzyyzxyzzyyz{zyyyzxyyzyyyyyzyzzzxxxyyyxzyzyzzzyyyyyyyxyyzz{zzyyyyyyyyyzzzzzzzzyzzyyyyyzzzzzz{zzzzzzyyyzzy{{zzzyyzyyyxzyzy{y{{zyyyxyzyyzz{{zy{zyzzyz{zyz{yzyzyzyyyyyyyzzyzzz{zzyyzzzz{zzzz{z{{{z{zzyyzxzz{z{zz{zyyzyy{z{z{{z{{zzyzzy{zzyzzz{z{{zzzzz{zyzzzzzzzzzzz{zzzz{yz{{{{{yzzzzzz{zzzz{zzzzzz{yzzyz{z{zzz{zyzxyzzzzz{z{{z{|zyyzzzzz{yzyz{yzzyyzxzyyz{yzzzzyyxwyyyyzzyyyyzzyyyyyyyy{yzzyzzyyyxxyxyyzyzzzz{z{zzzyyyyzzyzyyzzyyzxyyyyzyyzzzzzyzzyyzzyyyzzyzzzzyyyyzxyzyzyyzyzyzzyzyyyyzyzzzzyxxyzyyzyyzy{yy{yyyyyyywyyzyyzzzzyyzyyzyyzyyzzz{zzyzzzyyyyyyxyyzzyyyxzyxzyzzyzz{zyzyyzyyyyzyzz{{zyyzyzyzyyzzz{yzzyyzyxxyyzyzzzzyzyyyyyyzyzzzzzz{yzyzzyxyyyyz{zzzzyzyyyzyyyz{z{z{z{zzzzzyyzzzzyzzzzzzzyzyzzyy{zz{zzzyzzzzy{zzzz{{{zyyzzzyy{z{{{z{zzxzzzyzz{{{zyz{{z{zyzz{zz{zz{|z{zz{zzzy{z{z|{{{{{zz{zz{zzz{{zzz{zyyzzy{z{zz{{y{{{{y{{{zz{{z{z{|{zyzyyyzyzz{{z{{{{zzzyyyyz{zzzzzyzyyyzyyzyzzzyzyzyyxyyxyxyyzyzzyzyyxyxyyxzzyzy{z{zyyxyyzyzzy{zz{zzyzyyyyyyzzzzyzyzzyyyyxzzyzzyzzzyxzyyyyyyyyxyzzyyyzyyzyxzzyzzzzyxyzyyyxyxyyzyy{zxyyyzyyyyyyzzyyyzyxyyyxxyyzyxyzyzxyyyyyyzzzyzzzzyxyyxyxxyyyyyyyzzzyyyxyxyzyzy{zzyyyyzyyyyzz{zzz{yyzyyyyzzzzzzzyzyyzyxyzyzzzy{zzzzzzzyzzzzyzzz{z{zyyyyxzyzzzyzzzyzzzyzzyyzzzzzz{zzyzzzyyzz{zzyzyzy{yyzzzyzzzz{zz{yzzzyzzzzzzzzz{zyzyyyxyyz{{z{{{{{yyyzyzz{{{{z{z{z{yzzzzzyyzz{z{{{zzzzzy{z{z{{{{{{zyzyy{zzz{{{{{z{yzzyzzzzzzz{{{{zz{{z{yz{zz|{{zzzyzyyzyzzz{z{z|z{yyzzzzyzzzzzzzzzzyzzyyzzyzyz{yzzyyxyyyyxyzyyyyzyyzyyyyyzzzzzyzy{yzyxzzyzy{yyzz{zyzzyyxxzzxzzzzyyyyyxxyyyyzyyzyzyyyxyxzxyzyy{zzzzyzyyyyyzzzzyyyzyyyyxyxyyzzzzy{zyxyyxyzxyzzzxyyyzyyyyyyyyy{zzyzyyzy{xyyzzyzzyyzzyyyyyyyxyzyyyyyzyzyxyyyyyzyyyzzyyxzyyzzyzxzzzzzzyyyyzxzzyzzzzzzzzyyzxyyyzzzyyyyzzyzyxyyyyz{zzyzzzyyyzxyyzzzzzzy{zzyzyzyxyzzyzzzzzyzyyyyy{{zzyzzzzyzyzzyxzzz{z{{zzyyyyz{yzyyzz{zzzzzzzzyyz{zzzzy{zzzzyyzz{{zzz{{zzzyyyz{z{zy{z{z{z{zzzzzzz|{{{z{{zyzzyyzzy{{zz{z{{yy{zzzzyzzzzz{{z{{z{{yzzyz{zz{zzzzy{yz{yzzz{z{{zzzyyzyyyzy{zz{zzxyxyyzyyz{zyyzyyyyyzxyxzzyyyyzzzyyyyyzyzzyyzzz{yyyxyxyyzzzzzzyzzyzyyyxzyzyzyyzzzyyzxyxxyzzyyzyzzyyzxyyyyzyzyyz{yyyyyzyyyzzzyzzzzyyyyyyyxzyzyzz{yyyyyyyyzzzyyzyzyyyyyyxzyzzxzyyzzyyyyxzxzyzyzxz{yyyyzyyxxxzyyyyzzzyxzyyzyzzyz{zzyyxyxzyxzyy{y{zyzyzzyyyyzzzyyzzzyyzyyyzzzzzzzzz{yz{zyzyzy{zyyzzyzyzzyxzyzzzyzzyzyzzzzz{xzzyz{z{zzzyyyyyyzzzzy{yyyyzyzyyyzzz{z{{zzzyyzzzzz{zzz{zzzyzzzyyz{{{z{{zz{yzyzyzz{zz{z{{{yzzz{zzz{zzzz{z|{zzzzzzzy{{{{{{{{yzzzzzz{{{z{zzz{zyyzzzzzzz{{{{{z{zz{zyzzy{yzzzzyzzxzzyz{zz{zz{z{zyyzyzyzy{zzy{zzzzxyzzyyyzzzzzxyyyyxxyyyyyyyyzzyzzyxxyyy{{z{zzzzzyxxxzyyyzyzzzxyyyyzyyyyzyzyyzzyxyxxxxyyyz{zzz{xyyyzzyyzyyzxzyzzyyyyzxzzz{yzzyzyyyzyyyxzyyzyyzyyxyxxxxyyzyzzzzzyxxyyyxyyyzyzzzzzyyxyyyxyyyzzyy{yyzzyyyxxyzyyyzyyyzyyyyyzzyzzz{zyyyxyzxyzzzzzyzzyyyyyyzxy{yyyzzzyyyxyyyyyyyzz{zzyyzyxyyyyzzz{zzzzxyzzxzyyzzzzzyz{yyzyxyyzzzyzyzzyzzzyzyyzzyyzzzzyzzzzyzyzz{{zzzzzzzyzzz{{{zz{z{{{yzzyzzyzzz{{y{{{yyyzzzzzzzzzz{zzzzyzzzyy{{zz{zzzzzzzzzyz{{z{z{z{zy{yzyy{{zzyz{zzyyzzzzzzyzzzzzzzz{y{zzyz{zzzzzzyzzyzzyzzzyz{{{z{zyzzxyyyzzyy{zzzz{yxyyyyzyzz{yzzyyxyxxxyxzyzyzyzyxyyyyyzzzyy{zzzxyyyzyxyzyyzzzxyxyyzzyyyzyzyyzyyyyyxyyxyzyyyyyzzzyyyyzxyzyyyzzyyxzyyyyy{zyzyzyzyxyyxyxxyyyzzyyzyxxyyzxyyzyzyzyyxyyywyxxxyzzyzzzxzzxxxyyyyzzzzzzyyyyxyxyyyzyyzyzyyzyyyyyzzyy{zzyyyyzyxyyyyzzyzzzzyyxyxyzyzyzz{z{yzyzyyzzyzzyzyzzzyzzxy{yzyzzzyyzzyzxyyyzy{yyyzz{yzyyyyyzzzzzzyzzzyyzyyyzzyz{zzz{{zzxzyyyzzz{z{{zzxyyyyzyzzyzzz{|zyyyzyyzz{zz{z{yzyyzzzzy{{zz{z{zzzzzzzzzz{zz{{zzzyzzyzzzz{zz{{z{zz{{yyzyzz{{zzzz{yyyzyzzy{z{zzz{zzzy{yyzzzz{y{z{zyyyzzyyzzzzzz{zzzyyyyyyy{zzyyzzyzzxyxxxzyzyzzzyyyyyyyyyyzyzzyyyxxxwyxyyyyyyzyzzyyxyyzyyzyyzzzzyzyzxyyxxyyyzyzzzzxxxxxyxyzyzyzyzyyyyxyyyzyyzyzzyyyyyzyyyyyzyyyzzzxxxxyyyyyyzxzzyxxyyyxyyyyyyyyzyyzxxyxxxyyzyzyyzxyyxyxxwzyyzzzzzyxyxyyxxyyyyyyzyyzyxyxyyxyyyyzzyyyyyyyyxzyyyzy{zzxyyyyyyyzyz{zz{zxyzyyyyyzzzyyyzyyzyxyyyzzzyyyzzzyyzyyyyzyzzz{yzzzyyyyyxyyzzyy{zy{xyzyyzzzyzyyzzzzyzzyyzz{zzz{{zyzyyyzyy{zz{y{{yyzyy{yzzzzz|zz{z{xyzzyzzzyzz{{{zzyzzzzzzzzzzz{{z{zyzyzyyz|zzzz{{yyy{zzzzz{zzz{z{zyyyzzzyz{zzzz{{{zzzyzzyzz|z{zzzzzzxyyyyz{{zzz{z{zzyyyzxzzzzzzyyzyzxyyzyzz{yyyyzyxxyxxywyzzyyyyyyzwyyywyyzzzy{zyyxyyyyzxyyyyzzyzzyyxxxxyyzzyyyzyyzyxxyxxxyzyyzyyyyxxyxzyyzyyyzzyyyyxzxyxyzyyyyyzyyyxyzxyyyyzyzyzw{yxyxyyyzyyzzzyyyyxyyyyyzyyzyzyzxxyxxyxyyyyyyzzxyyxyxyxyyzyzz{zyyyyxxyxyzyzxzyyxxzyyyxzyxyzyzyzyyyyyxyyyyzzzzzzzzxyyyxyyyzz{zz{yyyyyyyyyzyyzzzyzzzyyyyyzzzzyzzyyyyyyyxyzzzzz{zzyyzyzzzyzzzyzzzzzyzyyzyzzzzzzz{zyyzyyy{{zzzzzz{zyyzyzzyyyzzzzz{zzzyyzzyyz{z{zz{{yyzxzzzzz{zzzzzz{zyzzyyyzzz|zz{{zzyyxyzyzyzzz{{zzyzzzyzyzyzzyz{{zzzy{{zyzzy{z{z{yyyxyyyzyzzz{{y{zyzzxzzzyzzzzzzyzyyxyyzxyzyzyzyyxyxxxxxxyyzyyyyzzyyxyxx{yzzzyxzyyyzyyyzxyyxyzy{zyyyyxzyzzyyzyyzyyyxyxxyyyyy{xzzzzzyyxxyyy{yxyzzzyzyxxyyxyyzyxxzyyyxxyyyxyyzyyyzzzxxxyyyyyxyyzyzyyyxyyyxxyyyyzzzyxyyxxyxzyyyzyzzyxxyxzyyxxyzyyzzzyxyyyyxxzyyyyzzyzxyyxzyxyyzzyyzyyyyyyxzyyzzzzzyzyyzzyxxyyyzz{zzzyzyxyyyyyzyzzzzzyyyyzyyyyyyxz{zyzxyxyxyxyz{zzyyyzyyyxxyyzyyyy{zyzyyyyzyyzzzy{zz{yyzyyzzzxyyzz{zz{yyzyyxyyyzzzy{zzyyyyyyyzzzy{zzzzyzzy{zyzzzzz{{zzyzyyyzyy{z{{yz{yyzyyzyzz{{zyzz{zyzzzzyzzzzy{z{zzzyyzyzzzz{yz{z{z{yzzzzyy{yzz{{{zyyzxyzyyzzz{zzxzyyyyxxxyzzyyyzzzxyxyxzxxzzyzyzzxzyyyxyyyyxzyzzzzyyxyyyxyyyyyzyzyyxzyzxzyyyzyzyzyyyyyyyyyyzyyzyyyxyxyyyyyyzyzzzzzyyyyyyzzxz{yzyyyyyxwyyyyyyzzyzzyyyxxzyyyyyzy{yxyyyzxxwyyzzyyyyzzyyxxyxyxzyyzyyyyyyyywyxyyyyyzyyzyxyyyzxyyxyyyzzyyyxyyyzyzyzyyzyzyxyxxyyzzyyzzzzyzyyyyyyyyzyzzzyyyyyyyyyyzzzxyzzyyyyzxyxxyzyyzz{yzyyyyyyzyzzzy{yzzyyzyxzyzzyyzzyyzyyyyyzzzz{{zz{yzyzyzzz{{y|z{zzzyzyzyyy{zzz{zzzzyzyyzyzzz{zzz{zzzzyyzzyyzzzzz{{{zyyy{zzz{z|{z{|zyzzxzzzz{z{{z{{zxyzzzzyzzyz{z{zzy{xzzyz{zzzyyzzzzyyzzzyyzy{zzzzzzyyyzyyzzy{yyzzzyzyxyyyyzzzzyyyxyxxyzxxzzyzyyzyyxyxxxyyyyyyzzzzyyywyyxxyyyxzzzzzyxyzxyyyyzzyyyzyyxzxyyxyyyzyzyzyxyyyyyxyzzzzxyzzyyxxyyyyyyzy{yyyyywyxxyyzyyyzyyxxyyyxyxyzzyyzzyyyyyyxxyyzyzyyzzyzyxxyyyzyyyyzyzyzxyyyyxzyyxxyzzzxxyxxyyyzzxyzz{zyyyzyyzyyzxz{zzyzyxyyzyyzzyyzxzzyyyzyyzyyzzzyzzyyzyxyyzzzzy{{{zyzzyzyyxzzzzzzz{yyyxyyyx{yzzyzyzyyyzyyyyyz{zzyzzzzz{zzzyyz{{{{{zyyzzzyzzzzzzyzzzzyyxzyyzyz{zy{z|{yzyzyzz{{z{zy{{zyzzzz{zzyzzzz{zzyyyzzzyz{zzz{zzzzzyzzyzzz{z{zzy{zzzzyzzz{{zyzzzzzyyzzyzz{z{z{zzyyyzyyyyzz{z{z{zyzyyyzzyzyyzyzzzyzzyzyyyzzzzzyyzyxyxxyyxyzzzyzyzyyyyyyyyyy{zzz{zyzyxxyyzzyzzyzzzxzyxyyxyyyzzxy{zyyzyyyyxyyzyyzyzxyzyyyyxwzxxxzzzzyyyxyxxzyyxyyy{yxyyyyyyzzyzyyzzyxxxyxyxxzzyzyyyyyyxyyxyyzyxzzyzxyxyxyxxyzyzyzzzyzyyxyyxzyyyyy{yzyxxyxxxxzyyyyyyyyzxyyxyyyyzyyyzzyyzzyyyyzyyzzz{yyz{yyyyzyzyy{yyyxyyyyzyz{zyzzzzyzyyyxyyzyzz{zzzzyyxyyyyyzzzyz{zyyyyzyxyzyzzy{zyzyyzzzyzzzz{{{zzyyz{yzzzzzzzzzzzyyyzzyyy{z{zzzzzzyzyzzzzzzzzyyz{yzyyyzzyzyzzz{y{{yyxzzzzy{zzz{{{{yzzzzyy{z{z{{z{zyyyzyzzzzzzzz{{zzzyyy{zy{zzzz{z{yyyyzyyzzzzyyzzzyyzyyyxzzzzzy{yzzzyyzyyzyzzzzzyxyyxyyyyyzyyyzzzyxzxxyyyzzzzzz{zyyyyyyyyyzzyzzzyyzzyxyxyyzyzyyzzyyxxxyyxyzzzzzzzzxyxxyyxyzyyy{yyzyyyxxxxyyzzyyzzyyyzyzyzyyzxxyyzyxyyxyyxyyyyyyyyyxyzyyxy{yzyzyyyyyyyxyxyyyyzzyyzyyxyyxyxxzyzyyyzy{zxyyxyyz{zyzyzyyyyzyxyyyyzy{yz{xyyyxzyyzzzyzzyzyzyyyyyzzyxyzzzyzzzxyyyzyzzzyzzzyyxyzyyyyxzzzz{zzyyzyyzzzzzzz{zzzyyxyxyyzzyyzz{zyyzzzxyz{zz{z{{y{zyzzxy{zz{z{{z{yyzxyyyzzzzzz{zzyzy{zzyyz{zzz{{yzzzyzzz{{zzz{y{{zzzzzyyy|z{z{{yzyyzyzzzzz{zz{zz{yzzzzzzzzzz{z{zyzzzzyyzz{z{z{z{yzyzyzyzy{zzyzzzzyzzyyzyyzyzy{zzzzzzyzzyyzzyzyyyyxyyyyxyxyzyyyzzxzyyyyxxxyxxyyzyzyxyyzyyyyyzyyzzyxyyxyyyzzyzyzzzyyyxxyyxyzyyzzzzyxxyyxyyxzzyzyzyyyyyyyyyyyyyyyzxxzzyxyyyxzyzyzzzxyyyxxyxyyyyyzzyyxzyxyzyxyyzzyy{yyzxxyxyyzxyzyzzyyxyyxxxyyyyzzyzyyzxyxxxxzx{zzyyyyyyyyyyzyyyzzzzzyyzyzyyyzzzzyzyyyzyyyyzyzzzzzzzyyzyxyyyyzzyzzz{zyyzyyyzyzyzyyyyyzyyyyxzyyyzyzzzyzyyyyxyzz{yzzzzzyxyyyyyyzzyyzz|yzyzyyyyzzzzz{zzyyy{yyyyz{{{{z{zzyyzyyzzz{z{zzz{zyzzyzyzyzy{z{zz{zzyyy{yz{z{{z||{yzzzzzzzzzz{{zz{yzzzzyzyzzz{{zzyzzyzyzzzzz{{{{{zzyyyyyz{zz{zzz{zyyyzxyxyzzzyzzzyyzyzyyyzyzxy{yyyyxyxxyxyyzyzzyzyzyyyxywyzzzyz{yxyxyzyyyzyzx{xzyyyxyyyxyzyyyyyyzyxyyxxyyyyzyyzxzzyyyxyyxyyzzyyzzyyyxxyxyyxzyyzyzyzyxxyzyyyyyyyyyyyyxyyyyzzyyxyxzzyyxxyxyyyyzzyyzxxyxxyyxyyxyyyyxxyyxyxyxxyxyyzzyzyyyyyyxxzyxzzz{yxzxyyyxyzyyzzzzyzzyyyzyyzzyzzzzxyxyzxzyzyzyzyyzzyyyxyxy{zzyzzzxyyyyyzyyyzyzzzzy{zyzyyyyzzyzyz{zzyyyyyyzzyzzzzzyyyyyxzxzyz{zy{zzz|yxyyzz{yyzzz{{zzyzyyxyz{zzzzz{{xyzzyzyz{z{zz{yzzzyy{zzzzz{z{zzzyyzyzzz{{{zy{z{zyzzyzyy{y|zzzzyzyzzzzyyzyy{zzzzzzzyyyzyzzzz{{zzzyyxzyzyy{z{yz{z{yxyxyyyyzy{yy{zzxzxxyyyzyzyyxyyyyxzyxzyyzyxzzyzxzxyxxyyyzyyzz|zyyyxyyyxyyxyzzzzyyyxyyxyyzyzzyyyyzyyxxyyyzzzyzzzyxyyxyyyyzyyyyzyyzyxyxxxyyyyyzzzzzzyyxxzyyyzyzzyyxyxyyzyyyzyyzyzxyyyyyxyxyzzzyyyyyzyxyyxxzzzzzzzyyyyyyyxyzyxyxyyyyyyyyyxxzxyy{yyyxxxxyzyxxzzzyzyyyyxyyzyyzzyzyyyyyyzyyzyzz{zzzzzyyyyyxyzyxzyzzzyzyzzyxyyzzzzzzyzyzyyyyyyy{zzyzzzyyxyxyzzzzyyzzzzyyzyxzyyyzz|y{zzzyyyzzyzzyz{zzzzyzyyyxxyzzzyzzzzzyyzyzzy{{zzzz{z{yzyzyzyzzzzzzzz{yyzzzyzz{{{{z{zyyzyzyyyz{zzzz{{{yzzyyyzzzzyz{|{zz{zzyyzzzz{z{zzyxzyzyzyzzz{z{{zzyyzyyyxyyyzzzyzzyyxzyyyyzzyyzzyxyyyzyyyyzyyyzzzyxyyyxyxyyzzyy{zyxzxxyxxyzyyyzyzzxxyyxzyzyz{xzzzyyyxxyyxyzzyzyzzyyyyxyyxyzyyyyzyyyzyxxxxyyyxzzzzyxyyxyyyyyyyyzyyyxyxywxwyxyyzzzyxxyzxyxyyzzyyyyyyzyyxyxxyzyyyyzzyxyyxyyyzxzyyzyyyyyyyxyyzzyxyyzyyyyxyyyxyzzyyyzzzyyyxyyxzzzz{xzyzyzyyxyyyzzyyzyzzzyyxyzzyzyzyxzzzyyzzyyyyzzyzzzzyyxyyzyyzzyzzyzzzyyyzzzzyzzyyzy{yyxy{zxzy{y{zz{zyxzyyyzzyzyzzz{zyyyzyxzy{zzzyzzy{yyzyyyyy{zzzzz{yyyyyyzzzz{yz{{z{yxzzzyyy|zzz{{zyxzyyzyyzzzz{{{{zzzzzzzzz{z{{yzyyzyxzyyz{zzzzz{zyyyyyyyyzzzyzz|zzyyzyyzyyzyzyyzzzyyyyxyyyyzzzxyyyyywyyyyxyzxyxzyxxyxyyyxzyzzzzzyyxyyyxyxyyzxzzyzyyxyxyyyyyyyyzy{yyzyxxyxyzzzzzzyxyzyyxxyyxyyzxzyyyyxxxxyyyzyxyzzyywyyyyxyyzzyyzyywyyxxxyxyxyxyyxzzyyxxxxyyyzyyyzyyyxxyyxxzzzzzzyxxyyzyyxxzyyyyyyxxxxxxyyyzyyyzzxyyxyyyxxzzyyyzzyyxyxyyyxzyzzyzyyyyyyyyyzzyzzyzzzxyyzxyyxyzyyzzzyyyzyxxyyyyyyzyyyxyzxyyxxyyzzzzzyyzwyyzyyzzyyy{z{xyzxzzyxzzzzzzzzxyyyzyzyz{yyyy{{yzyyyyxyzzz{zz{zzyzyzyyyz{yyz{{zzzyyyzzzzyy{{zzz{yyzzzzzy{{zzz{z{yyzyyyzzzyzz{zzzzyyzyyyzzyzz{{{yzyz{yyz{zyzzzz{yzyyzzyzzzyzzz{z{yyzyyyyyzyzyzyzzyyyyyyxyyzzyyyzyyyxyyxxxzzyyyxzxyxxywyyyyzyzzz{xyxxyxyxzyyyyzzzzxyyyzyyzzyyyyyzzyyyyxxxyyyyyyxyyxyzxyxxyzxyyzzxyyyyyxyyzyzzzyyyyyxyxxyzyyxzyzyxzxyyxyxyzyyyyyzyzxyyxxxyzyzyyyzyyyyyxyxyyzyzyyzzxxyyyxyxxyyyxzyzyyxyxyyyyzzyyyyyyyyzxzyyyyyzyz{{yyyyzyyzyyzyyyyzxyyxxxyyyxyzy{yzzxyxyyyxxzzyyyz{yyyzzyyyzyzyzzzyyyyyyyxyzyzyzyzyyzyzyyzzzzzyyzzyzzzyzxyyzz{z{zzzyz{zzzzyzzyz{zz{yyyyyzyyzyzyzzzzyyyyyyyy{{zzzyz{zzzyzyzyzzzz{z{z{zzzyyzzyz{z{zz{zzzzyyyzzzz{z{yzyxyzzyzzzyzzzz{{zzyzzyzyzzy{{{zzzyyyyyyzyyzzzzzzyyxzyyzxyzz{yyyyzzyxzyyxzyzyz{yzyyyzxyzyxzzyzzzyyxyyxxxxxxzzyyzzyyyxyyyyyzyxyzyy{xzxyyxxyzyzyyzzyyyyzyyxyxyzy{zzxxyxywyxyzzyyyzyzxyyyxxxzxyyyzzyyyxyyxxyyyxyzzzzyxyyxxyxyzzzzzzyyyxyxzxyyyzyyyzzyyyyyxyxyyyyxzzyyyyyyxxxwyyyzzyyyyxyyyxxzyzzyzzyyxyyxyyxyzyzyzzzzyyyyxyzzyzyyzzzyzzyxyyzyyyzz{yzyxyyxxyyyyyxz{zyzyxyyxxxyzyzzzyzyyzxyxzyyzzzyzzzzyyyyyyyyzzyz{yzzzyyyzyzyy{zz{zyzyyzyyzyzzyzzzz{zzyyzzyyzyzy{yzzz{yyzyyzz{zyzyz{zyzyy{zzzzzzzzzzzzzzyyyzz{z{zzzzzzyzzzyzzzz{zzz{zyyyzxyzzzzz{zzzzzyyzyyzyzz{{{{{zyzyyyyyy{zyz{zzzzyzyxyyyzzzzz{{zyzyyxyxy{{zzzyyzzxyyxxxzyyxyyyyyyyzyyyxzzyyzyzzyyyyyzyyzyzyzzyzxyyyxzxzyyyzyyzzyzzyyxyyxyyyyzyzzyyyyzxyxyyyyyyyyyyyyyyyzyzxxyyyxyyzyyyxzyyyyyzyyyxxyyzxyyzyxyzyxyyxxyxyzyyzzzzyxxzxxwyxyz{yyyzzyxyyyxxyyyxxyyy{yxyyyyxxyzzyzzzzzxzzyyyyyy{zzzzzyyyyzxxyzyzyyz{zyyyzyxyyyyzyy{yzyyxzyzyyzyyzy{{zyxzyyyyyyzzyzzzzyyyyyxxyzz{{zzzzzyyzyzzyzzzzzzzz{zzyyzzzz{{z{zzzyyzxzzzy{zyzyzzzzzzzzxxxz{{z{z{zzyyyyzzyz{{z{{zzzzzxyzzyzz{zz{z{zzzzzyyyy{z{zzzz{xzzxz{zzyzzzz{{{zyyyzyyzz{zz{zz{yzzzzzzzzz{z{z{yzzzyyzzyzzz{zz{{zyzzyyy{yzyzy{zyzzzyyzyzzzzyyyyzzxxyxxwxyyxyyzzyxxxyyyxzyyzyyzzzxyxxxxxyzyyxzzzyyyyyyywyzzxxxyzyyyxwxyxyzyyyzyzyyzxyzyxyzyxyyzzyyyyxyyxyyzzzyzzxyyxyxxxyyyzyyyyyzyyxxyxyyzzxyyxyyyywywyzyzyzyzyxyzyxxxxyzyyyyyyyzyxxyzxyyyxyyyyzyxwywyyxyyyyzzzyyyyxzyxxyyyyyyyxyyxyxyyyxyyzyy{xyzyxyyyzyxzyy{zyxzyyyzzyzyyzzzzzyxxyyxyyzyzyyzyyyyyxyyxyyyzzzzzyyyzzxxxzzyz{{yyyyzzyyzy{yzzyzzzyyzyzyzxyzyzzzzzyyyzyyzyyzzz{yzyzxyyzzyyzzzzz{zzzyyyzzzyy{z{{zzzyzzzyxyzz{zzzzz{zxzzyzyyzzzyzyz{zyyz{yyzzzz{yzzzzzyzzyyxzzyzzzz{yyyyxyyyy{z{zzzzzzyyyyzyyzyyzzzyyyyyxxyx|yyyyyzyyxwxyxxxzy{zyyzyyyyzyxxyyzzyyyyzzyyxyyyxyzzzyyzyyzyxyxxzzyyyyzzzzyyyyxyxzzzzyzyzxyyxxyxyxzzyyzzyyxyyyxyyzyzyyyyyyyxyxyxyzxzzzyyyxyyyyyyxx{xzyzyyyyxzyxxyyzyzzzyxzyzxxyyyyzyzzzyzzyyyyxxyyyyxzyyzzxyyyxxyzzzyzzzzyxyzyyxyyyzzyz{zyyyxxyyzyyzzzzyzyyxxxyxyyxzyyzzzxxyxyzy{zyyyzzzyyyyxyyzyyzzzy{yyyxzyzzyzyyyzz{zzyyyzyyzyzzyyyzyzyzzzyyyyzzzzz{zzzyzzyzzzz{zz{{|{zzyyyyyyz{{zz{zzzyyyy{{zzzzzzz{zzyzz{{zzz{zz{{{zz{zyyyyzz{{zz{z{zzyzzyzy{zzzzzz{{zzyyyzyzzzzzz{{zzzzzyzz{zzzzzz{yyyxyyyxzyzzyz{zz{yzyyzxzzyzyyzzzyyzyyxxzzyzzyyzxyxzxxyxyzzyyyyzyyxyyyxxyyzzyyzyyyxyyyxyzzyyy{zzzyyyyxxzzyyzyzyyzyyyyyyyzyyyyyyzyzyxxxyxzz{yyyzzzyyzxxxzzyyxzyyzyzyyyyyxxyyzyyzyyxyyxxyyyyzyyyyzyxxxxwyyyzyzzyzzyxyyxzyxyzyyzyyyzyyxyyyxyyyyyyyyyyyyxzyyyyxyy{yzyzyxyyzy{zyzyzzzyxyy{yyyyyyyyzzzywyyyyzyzzzzzzzzyyzyyxyyzyyzyyz{yzzyyyzzyyz{z{yzzyyyyyxxzzzzz{zzyyxyyzxzyzzyzzzyzyzyzyzxyzzzz{{zxzzyyzyyzzzz{zzz{yzyzyyyz{zz{{zzzyyyzzyzzzyz{zz|z{zyzzyzzzzzyy{zzzyyyyyzz{yzzzz{zzzyyyzyzz{{yzyz{yzzzyyzzzz{{z{zzyyz{zz{yzz{{zz{zzyyyzzyzzyzz{z{zyyyyzyyyz{zz{zzzyzyzyzyyzzzyyyxyzzxyxyxyz{yyyzzyyyxyxxxzzyyzyyyyyyxyyyxyyyyzzzyxxyyxxxzyyyxyyzzyzzyyyxxzzzyzzyyxxyxyyyyxyyzyzyyyzyyxywyzxyxyyzzxxywxyxyyzxyyyzywyxyxyxyxxyyyyzzxxxyyxyzxxyyzyyyxyxywxxyyxzyyzzyxyxyywyxyyxzyyyywzyxyxxyxyxyxzzzxxyzxyyyyyyzzzzzyzzxyxyxzzxyyzzzyxyzyyyzzxzzyyyyyyyxyyxyyyyyyzz{zyxxzyyzyzzzyyzzyyyxyyxzyyxyzy{yzzyyxyyyzyzxzyzzzyxyzyzzz{yzzzzzyzyzyzyxz{zyzzzzzx{yyyyyzzzyzzzzzxyyzzyyz{{z{zzzzyyyzyyzzyz{{z{{zzzzyzyyz{z{yzzyzzyzzzyyzzy{y{z{yyyyzyyzzy{zzz{|zzyyyyzzzzzzz{zzyyzxyzzyyzz{zzzzzzyyzyyyyzy{xzzzzzzyyyyyzz{zyyyyxyxxyxxxy{yyzzyzyyyyyyzyzyzyyzzyyxyxyxyxzyyxyzzzyyyyxyxyzzyzyyz{yyyxyxxxzzzzxyyzxyyyxyxxyyzxyyyyyyyyyxxxxyyyyyzyzyxxxyxzyxyxyzzzxyyxxwyyyyyyzzyyzxyxxyyyzyxyzzyyyyyywywyxzyzyzzyyyxxxyyxxyyxyzyyxzyyyyyxyyyzyyzzyxyyyxyxzyyyzyyxyyyyxxyzyxyy{yzzzyyxyyyxzzzyzyyzyyzxyyyyyz{zzzzzyyzxxyyxyyzy{zzzyyzyzyxzzyyyyyzzyxyyyzyzxzyyzz{zyyyzzyxyzzzzzzzzyyyyzzyyzzz{z{{{zxyyzyyyz{zzyzzzzxyzyyyy{zyzyzzzzyzzyzyzyz{zzzz{{yyzyzyzyzzz{yy{yyzyyxyyz{zz{z{yzyzzzyyyz{zzzzz{yzyy{yyyz{{zy{{zzzyyxyyyzz{yzyyzyyyyxyxyzzz{yzzzyyyyxxyxzzzyyyzyzyxyyyyxxxyyyyyzyyxxxxxxyyyyz{zzzyxzxyzyyyyyzyyzxyzxxyyxyyyzyyzzxzxxyxxxyyyzyzzzxyyxyyxxyyxyxyzyzxyyyyyyyyyyx{yyyyyyyyxxwyzyzzyzyyzzxyyxyxyyzyzyyxyyxyxyyzyyzxyyyyyxxyxyyyyyyzzyyyyxxyywxzyxyyzxxyxxyyyyyyzyyzz{yxywyyyyyyyyyzz{yyyyxxyyyyzzyyzzyyzyyyyyyyyyyyzzyyyyxyyyyzzyyy{zyyzyxxyyyyzzzyz{zyyyyyyxyzzzzzzzyzyyzxzyzyyzy{zzyzzyyzyyyy{zy{zzyyyyzzzzzyy{z{zzzyzyyyyxyz{yz{{zzxyyyzyy{yyzz{z{yzyyyyzyzyzzzz{z{zzzyzzyyzz{{{zzzzzzyyyyzzz{yzz{zzxyzzyzy{zzyzz{zyyyzzyyzzyz{z{zzyyxyzyyz{zyyyz{{yzyyzyxzz{yzzzyzyxyyzzyzzzxzzyyxyxzyyxxyzyyzzzzyyyzxxyyz{z{zyy{xyxxxyyxyzzzzz{yyyyyyzxyyyzzyzzyzyzxyxyyyyyxzyy{yyyyzyyyyyyyyyyyyxyxyyyyyyzxyzyzzxyxyxyyyyyzyzyzxxyxyxxyyyyyzzyyyxyxxxxyzyyyzyzyyxyyxxxxyzyzyyyzyyyyyyxxyxyxyyzzxyxxxyzyyyxyyyyzyyyyyywwyzyyyzzzzyyyyxxxyzyzyzzyxyyyxyyyzyzyyzzyyxyxyyxyyzz{{z{zyyyyyxzyzyyzzzzzyyyyzyzzyzzyzyz{yyzyxzyzy{yyz{zyyyzyyzzxyzz{zzz{zzyxyzzyzzy{y{z{yyyyyzyy{zz{zzzzzxzyyyyzzy{zz{{zzzzzzzzzzzzzz{zzzyyyzzzyz{zzyz{{zyzzyyyyy{{zzzz{{zyzzxyxzzyz{z|zzyyzzyyz{zzzzz{{zzyyzyyzzyzzyzzzzzyyyzyzzzzzz{{yyyxyyyyyyyyyyzzyyyyyxyyxyzyyzxyxyxyyyyyyzyzyzz{yyyyxxyyyzyxyyzyyyyzyyyyxyzzzyyyzyzyxyyyyzzzyyzz{yyyxyyyxxyyzyzzzzyyxzxyyyyyyyyzyzyyzzyyyyyyyyzyyxyyxyyyyyyzzzyyyzyyxxzxxzzyyyzyyzyxxywyyyzzyyzzyyyyyyyzxyyyyzzzyyyyxyxyyyyxyzz{zzyyyyyxxyzzzz{zyzyzyyxzyxyyzzyyzzzyyyyzzyyyzyyzzyzyzyzyyzzzzzz{{yyzyyxyyyzyzzy{zzyyyyyyxyzyzzzzzyyyzyxyz{zyxxzzyzzyyyyzyyzzzzyzzz{yyzzzxyyyzzz{zzyyzz{yyy{{zzzzzzyzy{yzzz{zzz{zzyyzyzzyzyzyzz{{zzyzyz{zyy{zz{{z{{yyyyy{zyzz{zz{zzyyyyyyzz{zzz{z{yzyz{yyy{zzyz{{zzyzyzzxyyzzzy{{zzyyyzyyzz{z{zzyzyzuyxyzyyxzyzzyyyyyxyxxyyyyyzyyzxzxxyxxyyyzyyyyyyywxyxyyyyyxzyzzxyyxzxyyyxyzyyzzxyyxxyzyyyzyyzyyyyyyxxzyxyyxyyzyyyyxyzyxzyzzyzyzyxyxxyyxzyyzyzyyyxyxyxyyyyyyxyzyxyyxxyxyzyzxyzzyyyzyyyywyyyyyzzyyzyyxxxyyyzyyzyyyyxxxyyxyzyyyzyzxyyyyxxyyyxzyzzyyyxyyyyy{zzzyzzyzyyyyxyyzyzzzzyyyyzyyxzyzyyyzzyzyyyx{xyxzzx{yzyzzyzyyyxxyyzzyzzzyyyzyyyyyyyzyyyyyyyyzxxzyzzz{zz{yyyzyzzzzzyyyzz{zyyzyxyy{z{zzyzyzyyzzzzyy{zyzzyzzyyzyzzzyyz{zzzzzzyzyyzyz{yyyzz{zyyzyzzzzz{{z{{zzyyyyzyyzzz{zz{zzzzyzzyyzzzzyz{{yzyyzyyyzyyz{zzzzyzzzyzyyzzyzzzyzyzyxyyyxyzyyzyyyyzyyxyxx{yyzyyyyxyxyxyyyyzyzzzzzxyyyzxyzyyyxyzyyxyxyyyyyyyzxyzyyyyxyyxxyyyyzzzzyxyyyyyxyzz{yyzyyyyyyyyxyyyyyzyyyyxwyzxyzxyyyzzyxxyxyxyyyyxzyxzyyyxyyyxyyyyyyxyzyyywyyyyyzyyyy{yyxyyyyxyyyxyyzzyzyyxyzzxyzyzzzzyywwyyyzyzyzyzyzyyxyyxyyzyzyzyzzyyxyyyxzyyzzyzyzzyzzyzyyyzzyyzzzyyzzyzyyyy{{zzzzyyyyyzxzy{{zzzzzyyzyy{yxyz{y{zyyyyyzyyzyzzzzyyzz{yzyyyxyzz{zzz|zzzyzyzzyyzzzzzz{zzzzyzzzyz{{z{z{{{zzyyyzzz{z{z{zzzyyyzyzyzz{zzz{{{yzzyyzy{{z{z{{zz{zzzyyz{zzz{{zzzyxyzyzy{yy{yzz{zzzzzzyzzzzzzzzzzyyzyzzyz{zzzzzzy{zyyyyzy{zxzzzzyxyzyxxxxzy{zyyzyxxxyxywxyzyyzz{yyyyyxzxzyzxzzzzyxzxyyxxzyyzyzzzyyyxyyzyyyyyyyyzyyxyyyyxyyxyyzzyyyxxxxxxxyzyyzyyyxzxyyyyxyyzzzzzywzyxxyyxyyyxyyyyyxxyxxxzzyxzyzyxxyyxyxxyxyzyyzzyxyyzyxyxyxyxyzyxxyyyxxxyzyzyzzyzyzyxyyxyyyzyzyxzyyyyyyyyyyyzzzyzxxzyyzyzzyyyyzzyyyyxyyyzyyzyzzzyyyxxyyxz{zyyzzyxzyyxyxxyyzyzz{{yyzxyyzzyz{yxzyyyyyyyyyzyyz{zzzzyzyyyzzyyzzzzz{{zyyxzyyzzzzzzzzzyyyzyyzzy{zzz{z{zyyzzyzzzzyzz{zzzxzxyzzzyz|z{z{zzyz{yyyyz{zzz{y{zzyzzyyyzzzzy{zzyyzyzyyzyz{zzzz{yyyyyyyyz{yzzyzzyxyxzyxyz{{zz{zzxyzyyyyyzzzzyzyyxwxxywyyyzyyzyyzxxxyyxxyyyzyzzzzyyyyxyxxzyyyyyzzyxyxxyyxzyzyyz{zyxyxyyxyxzyyyzyyxyyxxyyyyyzyxzzyyxyywyzxyyzyyyyyyxxyyyyxyyyzyyyyxyyyyyxxyzzzyyzxyyxxxyxyxyyyzzzzyyxxxyxxxzyzyzyzzyyyyyyxzyyyyyzyxyyxxyxyyzzxzzzzyyyyyyxyxyyzyyyyyyyyzyyyzyyyyzzzxxxyzyzyzyzyyyy{xyyxxyyyxzzyzz{yyyyzxyyxxzzyzzzyyyxyyyxyyzzyzz{yyxyyyzzyzyyxzzzzzyyy{zyzz{zy{zz{yyzyzzzyzzz{z{zzyyyyyyyxyzzzzzzzzzzyzyzz{zyzzzzzyyyzzzzzyzyz{zzyzyyyzyzzy{zzzz{z{yxyxzyyzzz{yz{yzyxyyyyyyy{zzz{{yzzyyyzyzzz{zy{{zyzyyyyyzzzzz{z{zyyzyzzy{{yzzzzzyyzyxxyyyyzyy{zyyyyxyxxxyzyywyyyzyyyyyyyzy{yyzzzzyzyyxyyzxyzyzzyyxzyyyyxyxyzxyzyzzyyxxyxyyzyyyyzyyyyxyyxyyxxyzzyxxyyyyyxyyzxyzyzwxyxyzyyyyyyzyzyyyyyxyzxxzzyxyyzyxyyxyxyyyyyyzzxyzyyxyxzzyyyzzzyyzxyxxyxyyzyxyyyyyyxyxyyxzzzyzzzyyzyyyyyyyxyzzzyyyzxyyyyyzzy{yz{yyyxxyyxyzxyzzyzyxzyyxyyzy{zzyzyxyzyzxyxz{zzzzzzzxzzzyxyzzzzyzzzyyxzyyxyzzzzy{zyzyyyxyxxzzz{zyzyyyzyzyyy{zy{z{zzyzyzzyzyzzzzzzzzzyxzyzyyzzzzzz{{zzyyy{yyz{zyz{{yzzyyzzyzy{zzzz{{z{zzyyyyzzzzyzzz{y{yzzz{{zzzzzz{{yzyyyyzyz{zzz{zzyyyyzyxzzyzyz|zyyyxyyyxyzzzz{yyyzxyzxyyyzyzzzyyyyxxxxxyyyyyzzzyzxzyxxxyyyyzyz{zzxyxyxxyyy{yxyzyzxyyyxyxyzyzyyyzyyxxyxxxzyzyyzyyxxyxyyyxyyyyyzzyzyyyyyxxyyyyxzyzyzxxyyyxzzyyy{zzzyyyyxyxyyyyyyyzyyyyxxxyxyzyyyzyyyyyxxxxyyyzzyzzyxyxyxxxyyxyyyzyyyyxyyyxyyyyzyyzxxzxxzyxyxzzyyzzyyxyyxyyyzzyzyyzyzyxzxzyyzzyzzzzyyxyyxyyyyyyzzyzzyzyyyyzyzzyzzzyxyyyyyyyzzyyzyyyyyyzyyyyzzyxzyzxyyyzyzyyzyzyzz{{yyyxzyzyzzz{y{zzyxyyzyyyzzzy{zzyyzy{zzyyzzzzzzz{zyyzy{zyyzyzzzzz{zyzyzxzzzzz{zzz{yyzyyzzzzzzzzzz{yxyyyzzyzzzyzzzzyzzyzyzzzzzzzzzzyzyzyyyy{zyyzzzyyyyxyxyyzzyyzzzyyyxxyxyyzyyyyyyyyyyyxxyyzzyyxyyxyyyxwxyyyzyyyzzyyyyxxyxzyyyzzzzzzyyxxxyyzzzyyyzyyyywyyxyzyyy{zzyxyyyyxxyyzyzzzyzxyxyyxxyyyyyyyyxyyyyyyyyzyzyxyyyyyxyyyyxyyxxzzyyxyyxxxyyzyyyzzzxyyxxyxyyyyyyzzyyyyyxwxyxyyyyxyyzyyxyxyxyyyzzyz{xyyyzzzyyzzyzzyzzyyyyxyzzyyyxzyxzxyxxxyzzyzzzzyzyyyyxzyyzzzzyzzzxyzyzyzzyxy{zzzzyyyyxxxyyzyyyz{zyzzzyzxxyzzyyyzzyzzyyyzyzy{{zzzzyyyyyzyzzzzzzz{{yzzyzzxyz{zzzz{zzyyz{yzyzzzyzzz{zzzyyyzyyz{y{zyz{yyyxyyyy{{{zz{{zyzyxxzyzz{zy{{{zyyyzyzyzzyzy{z{zzyyzyyy{zz{{zzzyzzyzyyxyzyzyz{zzyyyxzxyyxzzzzzzyyyyxxyyyzzzyxxzxxyyyxxyyyyyyyyyyyxzxxxyzzyyyyzzyyyxxzxxyyyzyy{yzzyyyyyyyyzzyzyzyyxxxxyyzzyyzzzyyyyyxxxzyyxxyz{zzyxxyxyxyyyyyzzyzyzyyyyyxyyyyyzzxwyyyxyyyyzyyyzyyyyyyxyxyzzxzyyzzzxyxyyxxzyzyyzzyzyyzxyx{yyxyy{yyyyxxxxyyyyyyyxzxyzyxzyxyyyyzzzyyyxyzyyxyzzyzzyzywyxyxyyzyzzyzyzyyzyzyyyzy{zyyzzzyzyyyyxy{zzz{yyzyyyxzyyyzzyzzzzyzzyyyyy{zyzyzzz{zzzzyyz{yyz{yyyzzyyyxzyzzz{{zzzyxyzxyxxz{zyyzzzzxyzyyyyzzyzzzz{zyz{yyzzyzzzzy{{zyzyzzyzyzzz{z{{{yyzyyyxy{{zzzzzzyzzyxyyzyyyzz{{zzzyyzyzzzyz{zz{zzxxyyyyyzyzy{{yzyzyyzyyzyz{yz{zyzyyyzyxzz{zyxyyyyyxxyxyxyyyyzzzzyyxyyyyyyzyyzzxyyzxyzyyzzzzyyzzzxyyyyx{zyzzyzyzyzyxxyyxyzyyzyzzyxyyyyyyyyyyzzyyyyxyzyyxzzzzyyyzyxyxxyxxyyzzyyzyxzyyyxxyyyyyzzyyyxyyyxxyxyzyzzyzyyxyxyxxyyyzyzzzxzxxxxyyyyyyyyyyyyyyxyyyyzyyyzyzyyzyxyyxyzyzzyyyzxyyxxyyzzzzyyz{zxzyxyyyyzzzyyzyxzyyyxyzyzzzyzzzzxyyyxyyzzyy{yyyyyyyxzyyyzz{y{yzz{yyyyzzz{yyzzyzzxzzyyz{zzyyzz{zzzyyzzzzyzzzz{{{yyyzyzyyz{zzzz{zzzzzzzzzzzzzzzyz{yyzy{zzyzzxzz{z{yzzyyzyzz{z{{z{zy{yzyzyzz{{zzz{{yyzy{yzzzzz{z{zzzy{zyyz{yzz{{{{zyyyyzyyyzzyz{zzzyzzyzzyyzy{{{z{yyyyyxyyzxyyy{zyzyyyyyyyyzyyyy{{yzyzxxyy{yyz{zy{zyxyyyyyzyzz{zzzyyyyyzxyzyzyyzzyzzyyyxxyyzyyyzzzyyzyyxyyyyyyyyyyzyyyzyyyyyzyzzyzyyzyxxyyyyyzyzzzyyyyxyyxyzzyzyyzxyxxxxyyyyzyzy{zyzzyxyyxyzzyyzzyyyyyyyxxxyyzyyzzzyyyyyyyyzzyyzyzyyyxyyyyyzzyzz{yyyzyzxxyzzzzyyyzyyyyyyyxxz{zyzzzyyzzxyyy{zzyyzzzyyyyxyyyyz{zzzz{zyyyyyyyz{zzyz{yzyzzxxyzzzzzy{yzyzzyzzzz{zzzzzzzzyzyzzyyzzzzz{{zyyzzyxyyzzzzzz{{zzz{|zzzz{{zz|{zzzzzzzz{z{zzz{{zzyzyyzzzz{{{zz{zzyzyyyy{z{z{zz|z{y{yzzzzzzyyzzzz{yzzzyyzzzzzz{zzyzxyzyyzzzz{zz{zyyzzyyyxzzzz{zy{yzyyyyyyyyzyzyzzwyyyyxxyy{yyzyyyzyyyxwyyzyyz{zzzyyzxyxyzyyyzzz{xyyyyxxyyyzyzyzyzzyzyyyzxzyyzyxyzzyyyzyyyyyzyxyyzyyyyxxyxyyzxyzyzzxyyyyyyyyyzzzyzyxyyyxyyyzzzyyyzzyyyyyzyyzyyzyzzzxyyxyxzyzyyyyzyxyyyyxxyxzzyxzyyyyyxyzyxxyyyzzzzyyzyyyxxzyzzzyz{zyyyzyyxzzyzzzzzzxyzyyyzzzzzzz{{yyyzzyyyzzzzzzzzyx{zyyyyz{yzzyz{zxyxzzyx{zzzyzzyzxyzzyxzz|zzyzyzzzyyxzzy{yzzzzzzy{zyzyxyzy{{zz{{zzyyxzzxzzz{zz{{zyyyzyyzzyz{|{{zzyzyyzzyyzzz{{zzzzzzyzyy{{{{zz{zzzzyzzzz{{{{{{{zz{zzzzzzzzzzz{{{zzzzzyyzzzzzzzzzzzzyzzzyz{{zzz{yzzyzyyzyzzyzzzz{yyzyzyxzyyzyzzxyyxxyyxyxy{yyxyzzzyxzxyxxyyyyyzzyyxyxxyxyzxyyyzzyxyyxyxxyzzzzyyzyzyyxxyxyyxyyzyzyxyyyxyyxzyxyzzzyyxyyxyxyyy{zyzzzxxyyxyxyzxyyyyyzyxxyyzxyzyyzyyzzyxxxxxyxzzzyyxzyzxzxxyyyyzzyxxzzyxyxyxzyyyxyxzyyzyxxyxxyyyxyy{yzyyyxyyyxyyyzyzzzyxyyyyzyyzyyzyz{yzyxxyyyyzzyyyzzxyyyyyyyyzzzzyzzyyyyyxyxyzyzyzyzyxzxyxyxzzzzyyzzyyxyzyyyyzzzyyyzyyxzyyzyyz{zz{{zzxyyyzyyyzzzyz{zyyzzyzyyzzzzzyzzzyyz{yzxyz{{zz{zyzzyzzzzzzzzz{zz{yyzyzzyz|{z{{yzzzzzyyzyzzzzzzyz{yzyyyzzz{zy{yzyzyzzzyx{yzz{zzyzyzzzzxzyzzz{yz{zzyzyzzxy{zx{zzzyyyyxyyyxzxzzyyyyyxxxyyxxzyzyyyyxyyxyyxyxyyyxxzyzxxyxyyyxyyyzyzyyyxxxxxxxyyz{yxzzyyyxyyyxyzzzxyyyyxyyzyxyyyyyyyzzyyyxxxxwzyyzzzzyyyyyyyyyxyyyyyyyyyyxxyyxwzyyyzyyzxyxxyxyyxzyzzzyxyyxxyxyyyyyyyyzyxxwyyxxxzyyxyzyzyzxyyyywwxyyzyzxyyyxxwxyyzyyzzzyyxxyxyyyzyyxzzzxyyyyxzxyyyyzyzzyyyxxxxyyyyzz{zyxyyyyyyyzzyyzyyyyyzzzxyyyyzzzzzzyzyyyywzyyyzzyyyyzyyzzyxzzzzyzz{xyzyzyzyz{zzy{zyzyyyyxyxzzyzzz{{zyzzyxyzzzz{zz{zzzyyyyzzyzzzz{{zzyyyyzyyzzzyzzzzzzzyyyyz{zzzz{{{zyyzyyyzzyz{zzz{{zyyzxxyyzzy{z{zyy{yyyyyz{yzyzzzzyzzxzzxzyzzyyyzyyzxyzyyyyzyyzzyyyxxyxyxyyyzyyyzyyxyyxyyyyyyyy{zyzyxyxyxyyyzyyyzzyyxzxxyyzzyyy{zyyzxyyxwywyyyyzzyyxyxzyxxz{yyzyyyxxyxxxxzzyyzzyyyxyxyyyxyzyyyzzyyxxyyyxxyyyyxyzyyyxyxzxzyyyyyzzzyyyyxxyxyzyzzy{{xxyxyxxyyyyyxxzyyyyxyxyyxyyxxzyyyyyyyxxxyyzyzyzzzyyyyxzyy{yzyzzyyxzyyxxyzzyzzzyzxxxyyyyxyzyzzzzzyyyzyxyxyzzyyyyyyxyxyyyyyz{yzzzzyyxyzyyyzzzzzz{zyyxzzzxyyxzzzz{zyyyxzyzyzyyyyzyzyzyxyyxyzzz{zz{{yyyzzzyyzzzyy{z{zyyyyz{yzxzzz{{zzyzzyzzzy{{|{{zz{yyyyxyyy{zzz{zzzyyyyyzyyzzzzz{{{yyyyzzy{zzz{zzy{zyxyzyzzyzy{{zzyzyyxyyyz{yzzzzzyyyyyyyyzyzzzzyzxyyyxzxxyzzyzyyyyyyyyxxyyyyzzzyyyyyxwxyxzy{xzzzzzyyyxx{wyyzyyyzzzyzyxxyxyyzzyz{yyzyyyyxyyyyyyyyyyyyyyyyxyyzzyzzzxyyyyyyxzyyzzzzyxyyyyyxyyyyzzyyyyyxyxyyyyzyyzzzxyxyxyyyxyyzyzyzyzyxzyxyyyzzyyyzzyyxxyyxxxxxyyzzyyyzyzyxzyzyzzyzyyyyyyxyzyyzyyyz{xxyyyxzyyyzzyzz{yyzxyyyzyzyyzzzzyyzxzxyyyzzyyzyzzxyyyyyyyzzzzzzzyzyzyzyzzyyy{zzyzyy{yzzzzyzz{zzzyyyzyzzzz{zzz{zzzyz{zyxyzz{zzzzzzyyyyyyyzzz{{{{zzzzyyyyyyzz{{{z{zyyyyzyxz{zzzzzzzyzzzxzz{{{z{|z{yyzyzyz{z{z{yz{zyzyzzzzyzzz{{zz{yxyyyyyyzz{{zz{zyzyyzxzyyzzyzyzyyxyyyyzxz{zzyzyxxyyxxxxyyzyyyyzxyyxxyxxyxyyyyxzzzxyywxxxyxyxyyzzxyxxyyxxyyyyxyzyzyxxxyxxyyzyyxzzxxzxxyxxxzyxyyzyzxyywxxxxyzxxyyyyyyxxyyxzyyyyyyzxyyywxyxxxzxyyzyxxxxyyxxxxyyyyzyyyxyxxyyyyyyyzyzxxxzyxxyxyyxyxyyyxxxxxxxxzyzyyzxyxzxyyxxyyyyyyzyyxxxyxyyyyzzyyyzyyyzyyyxy{{yyzzzyzyyyyyyyzzyyxzyyyyyyxyyyyzyxyzzyyyyyxyyzzyyzzzzzzyyyyxzyzzxzzyyzyyyyyxyzzyzy{zzzyyxyxyzy{zzzzy{yyyyzyyxzzzzyz{yzxyyyzzzz{zzzzzzzyzyyzzyzzyz{{{zzzzyzyzyx{zz{zzz{yyzzxyyzyzzzzzzzyzxzyzyzzzzyzz{yyzzyzyyz{zzxz{zzyyxzyzzyzyyzz{zyyzyxyyxzyzzzyzzxyxxyyyx{zyyzyyyzzxyxyxwyyyzyyzzyxyyxwyyzyxxzzzzzxxxxxyyzxxyyyzyyxzyyxwxyyyyyyxyyyyxxxxxyyzyxyyyxyyyxwxxyyyxyyyyyyyxxwyxxyyyyyzyyxyyxxyyyzxxyzyyyxxxxyyxyzyxxyzyxxwxxxxyyyzyzyyzyyxxxyxxxxzyyyyzyxxxxxxyxyyzyyzyzyxyyyyxxyxyyzzyyyyyyyxyyzyxyyyzzyyyyyyyxzzyyzy{yxxyxxyxyyzyyzzyyzyyywyyyzyyyyzyywzyyyyyyyyyz{{yyyyyxxyzzzzzzyyy{yyyyxyyzzxyzzyyxyyyyyyyyyz{zzz{xyyyyyzzzyyzyz{zyyzyyxyyzzzzzzzzzyyyzzzzz{zzzzzzzyzyyyzzy{zyy{yzzyyyyyyyzzzzyz{zyyyzyzzyzzy{{zyy{yyyyzyzyyyzzzz{zzyyzyzyzzyz{zz{yzyzzzyzy{y{zzzz{yyyyyyxxyyzyzzyyyyyyxxyyyzzzyyyxyxxyxwxwyyxxyzyyxxxxxyyyyyyzzzy{yxyyyyxxyyyzyzzyyxxxyxyyzyyyyyyxyxxxxyxzyyyxyyyxxzyxyxwxzyzyzzyzyyyyyywxxyzyyyyyxyyxyyyyyyzyyxzxyxxyyyyyzzyyxyyyxyxxywxyyzyzzzxyyywxyxyyyyyyyzyyyxxyyyxyyyxxzy{yyxyyyyxyzyyyyyzxyzyyyxxxyzyyyzzyxzyyyxxyzzzzyyyxxyyyyxxyyyzyz{yyyyyxyyyzyzzzyz{yyzzyxzyzzyyyxzzzxyxyyyyxzyyyy{yyyyyyyxyyzzyzzy{{zyxyzyy{yz{zzzzyyyzzzzyzyzzyzz{zyyyzzzzzy{yzzzy{yyzyyyy{{zyzz{zzyzyzyyzy{zyzz{{{zyzzzyyz{yzz{z{zyzzyzzz{zy{z{z{zyyyyzz{z{zzzz{{zzyyzzyzzzzyzyzzyzzyzyzzyyz{z{z{zyzyyyyyyzzzxx{zzxzxyyyyy{zzzyzyyxyyxyyxyyyyzyyzzxyyyxxyzyyxyyzyyyyyxyxyyyyzzzzyzyyxyyyyyyyzxyzzxyxxxyxxyyzzxyzyyyxxxxxxxzyyzzzyzyyyyxxxzyyyyzzyyyzwxyxzyxyyyyyyyyxyyyyyyyzyzyyyyyxyyxwxyzxyzyzyzyyyxzyxyxzyzyzyyxzwyxxxyyyzyyxzyyyxxyxyxzyxyzzyyzyzxyyxyyzyzzzyyyyyyxxyyyzyyzyyyyzyxxzyzzxyzzyzzyyzxyyyyyyyyzzzyyzyyyzyy{zzzzyz{yzyxyzxyzzyzzzz{yxyyxyyzzyyyzzyxzyyyxzyzzzzz{z{zzyyyyyyz{zzy{zzyzyzyyxwz{zzzzz{zyzyzyzzz{{zz{zzzzyzzz{yz{{zzzzz{yzyyyyyz{zzzy{zyyyzyyzzzyzzz{z{zyzyyzzzz{zzz{zzzyzyyzzzzzzzzzzzzzzxzyyzy{zxz{zzzzyzxyyyyzyzzy{zzxzxyyxyxzyyyyyzyyyxyxyyyyzyxyyyyyxxxxyyyxyzzyyzyyyxzxyyyxzyyyyyzxxyyyxxyyxyyyzyyyyxyxyyyyyyzzyyyxyxyyyxxyyyzzyzyxyyyxxyzyyyzyyyyyyxxyyyyyyyzzyyyxyxyyxyyyzyyyzzzyyyxyxyxyzzyzyyyyxyxyxyyyzzyyzzyyyyyyxxyyyxyyzyxyzxxyyxxyzyyzyzyyzxxyyyyzzxzyzyyyxyzxyyyyyyzxzzyyyyyyyyyyzyyzzyxyzyyyyxzy{yyyzzyxyyyxyxzzzzzzzyzxyyywxyzzzzzzzzzyyyyyxyzzzzz{zzyzyxzyyyzzz{zzz{zyyzyyyxzzyzzz{zzyyzyzyxzyzzzzzzyzyyzyzxy{{z|{{zzy{yyyzzyyzzz{zy{zyzyzzzy|z{{z{zzzzyyyyy{zz{z{{zzyyzyzyy{zzzzzz{zzyzzzyz{{z{zyzzzyzyzzyy{zzzzz{zyzyyyyyy{yzzzzzzyyyyzxyzyzzyzyzyxxxyxyyxyyzyyyzzyxxxyxxyyzzzxyzzyxyyxxyxyzyyzzzxyyzxyyyxzzyyyyzzxxyxxxyxxyzzxzzzyxyyxxyxyyzyyzzzyyywxyyyyyzxyzyxxyxywyxxzyyzyzyyxxxyyyxxyyyzxzzyzxxyxyyyxyyyyyyyyyyxxyyxyzzzyyzzyyxyyyyyyyxyzyyyyyxyxyxxxyyyyyzxxyzyxyyxzzxzzzzzyxxzyxyxzzzyzyzzyxyyxyyyzzzyyzyzyyyyyyyyy{yyyzzzyxyxyzyyzyzyy{yzyyyyyyyyzzzyyzxyyyyyxzyyyz{yy{yzzyyyzyxyyz{yyyyzyyyyzyzzyzzzzzzzzzyyyzyyyz{{{z{zzzyzzyyxzzzyzyz{{yyzyzzyyz{y|zzzzzzxyyyyy{zzyz|{zzzyyzyyzzyz{zz{yyyzzzzyz{zyz{z{zyzyzzyzzyzzz{{{yzzxzyzyzy{zzyy{zyyyyyywzzz{zzzzyxyyyxyyy{zzzzyyyyxyyyxyyyyxzyyzyyxxyxxxyyyyxzyyyzyxxxyxyywzyzyzyyywxxyyxzyxyyyyyxywxxxwzxzyxzzzyxyxxyxwyyyyyzyyxyyxxyxxxxyyyyyyxxyyyxyxyxyyyxyywxxxywxzyxyxxyyyyxxxxxxyxxyxyyxyyyxxxxyyyyxzxzzyyyyyyxxxxyyxyzyyxyyxxxxyyzyyyyyzyxxxyyyyyyyzxzzyyxxxyxyxyzyyyyyzyxyxxxyyxyzyzyyzxxyxxxxyzzzyzyyyyyyyxyyyyzxzyzyzzyxwxyyxzyzyzy{yyxyyxyyyyyyxyzzzyyyxyzyzyzxzyyzyyyxyyzyyyzy{zzz{zyyzyyzzyzyzzyzzyzyyyyzxzzyyzz{zzyyyyzz{zyz{zzzyzyzyzzxzz{{yzzz{yyzzzxyyzyzxxz{{yzyyzxyyyyzzyzz{yzyyyzyyyyyyzzyzzyzyzyyyyzzzyzzzyyyyxxzyyyzzyzzyyyyyyyzyyyzyyzzyxyyyxyxwyyyyzyzyyyxxzxxxyyyyyzzyywyxyzyxxyyzzxzyyxyyyxxyxzyyyxyzxzwxzxxxyyyzyzyzyyywyyxxyzyyzzyyyyyyxyxxzxzxzyzyywxxxxxyyxxyxzzyxxyxxyyxxxyzyxzyyyyyyxxyyxyyyzyyxyyyxyxzyyyzyyyyyyyyyxyxxyxyxzzzyxyyyxyyyzyxzzzyxyyyyyxxyyzyyyzyyzyxyxyyyzzyzzzzyxyzxxxyyxyyzyyzxxyyxxxyyyyzyzzzxxyxyxyyyzyyzzzzyxyyxyxxyy{zyy{yyyxyyyyyy{zyzzzzyzxxyzzyyzz{yzzzxyzyyxyyyzzyyz{zzxyyyyxyzzyzzzzyyyxyyyyyzz{zz{yzzyyzzzzzy{zzzzzzzyyyyzzy{{yzzz{{yxyzyyyyzyyyz{zzzxyzzyyyzzzzzz{zzyyzyzyyz{zzzyyzyyyyyyyyzyz{yzzzzyzyzyzxzzz{zzyyyzyyxxyyyxyzyz{zyxxyyxxxyyyyyyyyxxyyxwxyyyyzyzyzyyxwxyxxyyyyyyyzyyxxyyxzyyzzyxyyyyyxxwxzyyyyxyyzyyyyxxxxxyyyyyzyxxyyyxwxyyzyyzzyyyxyxyxzyyxzyyzyyyxxzxxxyy{yzyyyxyyxxyxyyyzxyyyyyyyxxxxwyyzzzyzzzyxyyyyxyyyzzyyzzxxxyyyyyyyyyzzyxyyxyyyxyzyxyyz{zxxyzzxxyzyzyyyzyzyyxxyxyzzzyyzzyxwxyyyyyyyyyy{zyyzxyxyxyzzyz{yzxzxxyyxyyzzyyz{yyxyzyyxyzzzzzzzzzyyxyyyyyzzzzzzzxzzzyyxzyyzyzzzyyzyzyxyyzzyzz{z{zxyyzxyyzyzyyzyyyzzyzzyzyzzzy{z{zzzyzzyzx{{yz{z{yyzzyyyyzy{{y{zzzyzyxzyyzyzz{zzzzzzyyzyz{yyyzzzzyzyxyyyyyyyyzz{yzzxyyyyyzzz{zyzzyyyyyyyyz{yyzyyywxyxyxxzyyyxxyyyxyyxwxxxyxyyyyyzyxxxyyxyyyzyyyyyyxyyyxxxzzyzxyyyzzyxxxyxxyyyxzyyyxyxyxxxxzzyyyyyyxxxxyzyyyyzyxyxyyyyxxxxyyyyyzzxyyxwyxyyzxxxzzyyyyxxyxxyxxyyxxyzyxyyxxxxyyzyyzzyyxxxyxywxxyyyyyzwxxyyyyxxzxyyzzyxyxyyyxxyyyyyx{yyxyxxxyyyzyyyyzyxxwyyyxyyyxyyyzyyyxxyxyxyyyyzyzzxyyyyyyyxzyz{zzzzxyyxyxxyyzyyzzyzxxyyxxxyyzyyyyzxyyyzyyxyzzzyzzzyxxzyxyyyzyzzz|yzxyyyyyyzzzzzzy{yyzyzyyyzzzyzz{zyyyyxyzzzyyzzzzzzyyzyzyzyz{zyzz{yzyzyxxy{yzzyzzzzxyyzyyyzyyz{z{{zzyzzzxzyy{yy{zzyyyxzzyyyzyyyzzzzyxyyzyyzzyyzzzyxxzyyyxyzzyyzyzxyxxxyyxxwyyyyyzyxyxxxxyyyyyyyzzyyzxxyyyyxyxywzzzzyyxxxyxxyzxxyzxyxyxxxzwyzyyxzyzyxxxyyxxzzyxyyzzxxyxxxxwxyyyyzyyyyyyxyyyyyyyyyyyyxxyyyxxyxyyyyyxyxyzxxxyzxyyxzyyyxyxxxwyxzzyyyyzxxyxyxyyyyyyxyyyxyyxyxxyyzyxxzyyyxyyyyyxyyyyyzzyyzyzxxyy{yyyyxyzxyyxyyyyzyzzyyzyzyxyxyzxyyyyyyzyxyxwxwyxyyyyyzyzyyyyxyyyyzzzyzyyzyyyxxxyzyzzyzy{zyyxyzzyyyzzz{zzyzzyyzzyz{yzyzz{zyyzxyyyzzy{zyzz{yyyzyzyz{yzyz{{zzzyyzyzz{zzzzzzzzzyyyxzz{zzzyzzzyyyzyyyzzzzyzzzzyyzyyzyyzzzzzzzyzyzyzyyyzz{yyyzyyxyzyyyyzyzzz{yzyyyyyxzzzzzy{yzyxyxzxyxxzyyzzyyxyyxyxyxyyzyyyyyyxyxyyyxyyzyyyzyyyxwxxyyyyxzyzyzyzyxxxxyyzyyyxyyyxyyxxyxxxyyyzyzxyyyxxyyxyyyyyyyyyyyxyyyyzzxyzzzyxyyxyxyxyxzzxyyyxxzyyyxyxyyyyyyyyxyxxxxyyyyzyzzzxxyxyyyxyzxzyzyxyyyxxyxyzzyyzyxxyyyyxxyxyyyyzyyyyyyyyyyyyzxzyzyxyyyyxxyyyyyyz{zxzyyzxzyyyyzyzzyyyxxyyxyyzzyyyzyyyyyyxyyyzzxyzzyzxywyyxwyzzyzyzyyxxyyxxy{yzzyzzyzyzyzyyzyzyzzz{zxyzyxyzyzzz{zzyzzyyyyzyyzzzzyzzz{xyyyyyyyzyzzz{zzzyyxxzyyzzz{{zz{yyyxzyyz{zz{y{zyzyzzyyzzyy{zzz{zzyyzyyyzyyzyz{zzyzyzyyzyyzy{{zzzzyzyyxz{zz{{zzzyyyxyyyzy{zzyzzyyxyyyxyyyyzyzyyyxyxyyyxxxzzzxzzzxxxxxyyxyxzyzyy{yyxxyxxzwyxzzz{zyxxyxxxyxyzyyyzyyxyxxxyxzy{zzzyyxyzxyxxxxyyyxzyyyyxwyxxyzyyyxyyzxyyxxyxyyyxyzzyyxyzxyxxyyyzyzy{yzyxxyyxxyyzyzyzyyyyxyxwxxzyzyyzzxyyyyxyxyyyyzyzyyxxyyyzzyzxzxzzyxyxzyyxxyyzxyyzzzyxxzwxyyyzyyzzzyyyyxyzzxzzzzzyzyyzyzyyyzzyz{zzzyyxwxxxwxyyyyzyyzyyxxyyyyyzzyyzzyyyyyyyyzzyyyyzzyyyxyyyyzyzzzyzzyzyyyyzyzyzzzzzzzyyyyyzy{yzz{y{yzyyyyyzyyz{zzyzzyzzyyzzzyzzzzz{{zyyzyyyyz{z{yzzyyyzzzyyy{zzzzzz{yyzzxzyzyzzyzzzzzyyy{yyzyzzyzzz{yzzyzxxyyzzy{zzzzyzyzyyyyzyzyzzyyzyyzyyxzz{yyyyyyxyxyxyxxyyyzzz{yxyyxywyyyyyy{yzzzxxyyyxyzxzxzzyyxyyzyyxyyzyyyzzyzyxyxxwyyyyyy{{zyxyxxyxyxzzyzyyxyywxxyzyyyyxzzyyyyyxyxyyyyxyyxyyyyyxyxxxzyyzy{zyzyxxyyxyzzyxyyzxxyxyxywxyy{yyyzzyxyyxyyxyzyyyyzyyzwxxxyyyzzyzyzyyyyzxyyyyzyyyzyyyyxyxyxyyyzyyzyzyyxyyyyyzzzy{zzxyzyyyyyzzzzyzyyyyyyyyyyy{zyz{zyyyyyyyxyzzzzzzzzyyyyyyyyyz{zzyyzyzzyzzyzyyyzzyzzyyzyyzyyz{z{zzz{yyyyzzzxz{zz{y{zzyy{yzyyy{zzzzzz{zyyzzzyy{zzz{zz{yyzy{zyy{zzz{{zzzzzyyzzz{zx{{{zzzzyzzzyzzzzyz{zyzyzyyzyzz{zz{z{zzyyyyzyz{yy{zzz{zyyyyyyyzxzxyzzyyyyyyyxyzzyzzyyxxyxyxwxyyzzyyyzyyyxzyxxxyy{yzzzyxyxxzzxzzyyzzzzxyzyxxxyyyzyxz|zzyyyxyyxyyyzyzyzzxyxxxxxyyzyxyzzzyyxyxyyyyzxyzzzyxyyxyyxzxyzyyyyyyxxyxywyyyzyzzyyyyyxyxxyzyyyyyyyyxxxyxyyyyyyzyzyyyyzxxyyzyyyyyy{zyxxyyyyyzyyzyzyyyxxyyxzzzzyyyzyxzyyxyyyyzyzzzxzzyxyyyzyyyzyzyzyyyzyxxx{yzzzzyzyxyyyxyyyzzzzzzzzxzyyyyyzzzzzzzyyxyyyyyy{zzzzz{yyzxyyyyyzyyzzzyzzyyyyyzyzzzz{z{zzxyyyyxyyz{y{zyzyyzzyz{yzz{zzzzzyyzyxzyzy{z{{z{zzyyzzzzzz{{{zz{zzyzzxyxyz{zzz{zzzzyzzzyyzyyzzzz{zzyzyzyzzzzzzzz{yy{yyyyzyzyyz{{yzyzyyyyxzzzzyzzyzyyyzzyzyz{yzzyzyxxxxxxyyyxyyyyzyyxyxxxxxyxzyy{xyyyxwyxxyyxyzzyyyzxyxxyxzy{zxzzyyyyxyyxxyyyyxzyzyyzxxxxyyzzyy{zyyyzxxyyxwyzyyyyyyyyyxyxxyyyzxzyyyyxxxxxxyyyxxyyxxxyyxxxxyyzxyyyyyyxxxxxxzyyzzyyyxxyyyyxxxxyyyyyyxxyxxyxyyyyyyyy{yxyzxxyxzzzyzyzyyyyyyxyxxyzyzzyyyzyxxxyxyzyyzzzzzyyxxyzyzyzyyyyzxyyzzyzyxzzzyzyzyyyyyyzyzz{yyy{zyyyxxyyyyyyyxyzzzxyyyzzyzyz{yzzzyzyzyzyyyzzzz{y{zyzzxyyxyzyzz{{yyyyxyyyy{zzzzyz{zxyzyyyzyzzzzzzzzzyzyzy{z{zzzzzzzyzzzyzzz{zzzzzzzyzyyyzzzzz{{y{zzzxyyyyzz{zzyzzzy{zyxyyyzxzzyzzzyyyyzyzyzzzzyzzzyzyyyyyyyyzzyyyyyyyxxxxxxxyyyzzyyzxyyxxyyyxyyzyyyyxyyyzwyzzyzxyyzyzyyyxxyyyyyyyzyxyxyyyxxyyyzxzyyxxxyxyxxxzzyyyyyyyyyxxxyyyxxzyxyxxwyxxxzyzyyyyyxxxxyyyyxzyyxyyyxxxxxxxyxzzzyzyzyxxxyyyyyzyyyyyyyyyxyyyyyyzxyyyyxyxxyyxxxzxyyyyzyyxyyxyxyyyyyyzzyyyxyyyyyzzyyxyzzyyzyyyzyyyyzzzzyyyyyyyyyzxyyyzxzxyxyxyxyyyzyzzyyyzyyyyxzyyyyyzxyxxyyxyyzzzzyzyyzyyyzzyyzyzzzzzzzyyyzyyyzzz{yzzzyyyzyyyyyzzy{yzz{yyyyyxyz{xz{z{zzyxzzzyzy{z{{zz|{yxyzzyzy{z{z{yzzy{zyxyyzzzzzzzzyyyyzzyyzz{z{zzz{yxyyyxyyzyzzzzzyzyyxxzyyzzzzzyyyyyzyyyzyzzzz{zzzyyyyyyyyyyzyzzxyyyxyxxxxyyyyxxzyzxyxxxyxzyyzzyzyzxxyzyyyzyyyzyzzxxxxxxyyzyyyzzzyyyxxzxwyyzyyyyzyxxywxyxyzyyyyzyyxxxyxyyyyyxyyyxzxxxyxxxyyyyyzyzxyyyywxxyzyzyyzyyywyyxyxxyzxyyyyyyxyxyyxyzyy{zzyyxxwyxxxyyzwyyyzxxxxxyyxyyyyyzzzyxzxxyyxyyzyyzzzxxyyyyzxyyzzyyy{xzzxxxyyyyyyzyyyyyyxyxxxyyzyzyyzyyzxxxyyyzyyyzyyxxyyyyyyzyzyyyzyyyzyyyyyzzyzy{yyzyyxzzyyy{yzyzz{yyyyzyzyzzyzyzz{yyyyyzyyy{zzyy{zyyyxzyzyzzzyzz{zyy|yyyyyzzyzzzz{zzyzyyyyz{{zzzzz{yy{zyyyzzzzz{{zzyyzzyyzz{zzzz{zzyyyyyyzzzzz{zz{yyyyyyzyzyyzyzzzzyyyyxxxzzzzzzzyyzyyxxyxzy{zzzyyxyxyyxxyyyyyyzyyyxxyyxxyzzyyzzzyzwyxxyyxyxzyzyzzzzyyzwxyyyzxyxyzyyxwxwyxyyyyyyyzxxyyxyyxyyyxyzyyyyyyxxxxxyyyxyyyyxyxyxxxyxxyzyyzxxxxxxxwzyxzzyzyxxxxxyxxyyyxyyxyxxyyxxyyyyyyzyzzyxyxyxyxyzwyyyzyyxxxxxyxyyzyxzzyyyyyxyyyyyzyyz{yyxyyyxxyzyyzzy{zxxyyxxxyyyyzyzyzyzyyyxxyzzzyzzyzxyyyyxyxxyzzyyyzxxyxyyxyzzzxyzzyyyxyyzyzyyyyyyzyyyzyyyzyxyzzyyzzyyzzyzyyyyyyzyz{yyyxzxxyzy{yz{zzzyyyzyxxz{{zz{zzyyyyyzzyxyyzzzzzzyyzyyzzz{yzyzzyzzzyzyyyyzzzz{{{{zxzyyzyzzyzzzzzzyzyyyyyzzz{zyz{yzyyyyxyzzyzyzzyyyyyyxzyzyyyyyzyyzyyyyyxyzzzyzyyxyyxxyxxxzxxzxzyyyyxxxxxyyyyyyzzxxxyxyyxzyyxyzyyyyxyyxxxyyyzxyzyyyywxxxxzyyyxyzzyyyxyyxxzzyxyyzxyxyxxywxyyzxyyzxyyyxyxyxxyyyxyyzxyxxxxxwxyyyyyyyyxxyxyxxxyzxyyyzxyzxxxxxyyzyzyzzxxxyywxyxxyyzxyyyzxyxxxyxyyyxzzzywyyyxxxzxyyyyyyyyyyywywzzzxyxyzyyyxxyzxzxxzyyzyzxxywyyxzzyyzzz{yxzxxyzxyxzyzyzyyyyyxxxyyzyyyyzzyyyzyyzzyzzyy{yyyyyzxyyxzzyyzzyyyyzyyxyyzzyyyzyzyyyyyyyyy{zyz{zz{xyyzyxyzzyyzzzzzyyzyyzyzyzyzzzz{yyyzzyzyzyz{z|zyzyzyxzzzy{{zzzyzzzyyyyzzzzzzy{zzyyxyxyyyyzzzyzzzyzyyyxxzyyzzzzyzyzyyyyyyzzyzzzzyyyxyyyyyxyyycFv4 b {{{z{|{{|||||||{|{|z{{{||||||||{{{{{|{z|{{{|{||{z{{zzz{|{{|{{||||{{{{z{{|{|}{||{|{z{{z{|{|{{|{{{{{{z{z{z{|{{{|{{{{zz{{{||z{{{||{z{z{z{zz|{{{|||{zzz{zz{|{{{|{{|{{{zzzy{{|z{{{{|{{{{z{{yz{{|z|||z{{z{{z{{}{{{{|{{z{{z{{z{|{{{|}z{{{{{y{z{{{|{|{|{{{{{{|{|||||{||{{{z|{z{|{{|{||{|{|z|z{{{|{|||}|{z{||{{||{{{{{||{{|{|zz{|}{|{||{|{{{|{{{||||||||{||{z{{{|||||}}{|{{|{|{z||||}}}|{z||{{||{|||}{|||{{|{|||||||||}||{{{{|{{{}|||}}||{{|{}{{|||||||}|{{{{||{{}{|}|}{|||{{|{||{|}|}||{{{{{{{|z||{{||{}|z{{{{{{}{||z|}{{{z{z{z{{zz||||||{|{{|{||~|{{{{{|z{{{{|||||||{|||z|{{z{{{||}}||{{{{|zz{|}|||||||{{z{{{z{{||||{|||z{{{{{||{{{||{z|||z{{{{zz{||{|{z{{{{{z{{{{{{||{z{z{{|{|{{{{|{{{{z|zz{{{{|{{}{{{{{{z{|{z{{}|{|{zzz{z|{z{{|{z||{z{{zz{zz{{{{|}}{{zz{z|{{|||{|{}{z{{zzz{{||}{{|||{{zz{yz{{{{|{|||{z|{{{{z{{{{||{{|z|{{zz||}{||{|||{|z{{{{{|||}{|{||{{|{{{||{||||{zz{|{{|z|||||}|}|{{{z{||}|{{|||}z{{{{{|{{||||}}|||{{|{|{|||{|}|}{z|{|{|||||||||}|{|{{|{{|}|||||{|{|{{{{{}}|}||||{|{||{{z||{||}|}|{z{|{{||||z|}}|}|{{z{||||{{|{}|||}{{z{{}|}{{{||}{{|{zz{|{||{}||{{{{{{|{{}}||||}{{{z|zz{{{{|{{|}{{z{{{{{|{{{{|}|{z|{{|{{{{||{{|{z{zzz{{{||||{||{{{{{zz|z{||{{|}|{z|z{{zz{{{z{|{{|{{{{z{{{z{{{||{{zz|{z{zz{||{z|{{{zz{{yz{{{{{|{z|{||y{zz{{{{|{|{zz{zzz{y{zz{{||{{|yzz{zzzz|{{|{{{z{{{{z{||{{|{{||{z{{z{z|{|{{|{|{{{{{zz{|zzz{{||{{z{{{z{{|{{{|||z|{|{z{|z{{|{}|z{z{z{zzz{{|{{{|{{{z{{{{{{{{z|{{|{{{|{z{|||||||{|z{{z|{|{z{{|{|||z{{|}{{|||}|||}}|{{{zz{{{}}||{}||zz{{{||{||{|||}{|{{{||{{|}|}||}|{{{{{{|}||}|}|||{z{|{{|}{{||{|}|{|}|{||{|||{|||||{{{|{}{|||||}{{{|{|{{{{|{{||}{{|z|{|{{{{{||||{|||{{}{{||}|||}|{{}{{|z||{||||||{{{{{{z{{}|{|||}|z{{{{z{{{|}{{||z{{z{|{z{|||z{}||z|z|z{{z|{z{||{|{z{zz{|{{|{{|{{|{|{{{z{{{{{{{{|{{z{{{{{{{{|zz{|{{{zz{{zz{{{}{|{{{|zz{{{z|z||||{{{zzzz{|{{{{{{{|{{zz|z{|{||{{{||{{z{{{{{{|{||{}|{{{z{z{|{|{{||||{{{{{z|{|{||{|||z{|{{{z|{{}{{{|{{{{z{{{{|{{|{{}||{{{z{zz||||{{}|{{|{|||{|||{|{{|{||{{{{{{||}|||||z|{|{|z{|{}||||{z{{{{{{{|}}|{|||}{||||||}|}||}}|{||{}||{|}{||||}|||{}|{{~||||||||||{{{{||||||||}{|{|{{|||||{||}{|{|{|{{||||||}|||{{|z{{||{}{|}{|||{z{{||{{{|{{{{{{{{{{{{{{|||{||||{{z|{|||{|||}|||{{z{|||}||||||{|{{{z{|{{{|||{{{{{z|{||{||{}||{|{{{{{y{{||{{{|{{{{|z{z{{{|{|||||z{|{{{{{{|{}||{{{z{{{z{{{|{{|{zzzz|{zz{||{{{{z|zz{z{z{{|{{{{|{|{{z{zzzz{{{{{||{{{{|z{{{{|z{|{|{||zzz{z{|{{|||{z{{z|{{z|{{||{|||{{|zz{{{||||||}|z{{{{{z|{{z||{|{{{{z{z{{|{||||||{{{{{{{{|{|{|{{||{{{|{{|||{{{{|{{{{{{y|||{||}{z|{{{{{|{||}}||{}z{|{|{}||{|||||{|||{{{|{||||}|}{{{{{{|{{{}||{|}||{{|{}{||{{||}}{|{|{{|{{||{}|}~}|{|||{{|||}||}||{{{|{{{|||||~|}}{|{|||{||{{|||||}{{z{{{{{|{|{}|{|{|zz|{{{|{{{{||{{{z{z{{|{||}}{||||||||{|}}||{{}||{||{{|{|}|}|}|||{{{||{||{{}}}{|{{|z{|z|{|}{{|{|z{zz{{{{{|}{}||zz|{|{{{{||||{|||z{{{{{{{{}{|}{{z{zz{{{{{{zz{{|{|zz{{zz{{{{||{|{{{{{{z|z{{||||||{{{{{z{z||}{{{||{z{{{{{{{||{{|||{{{{|{{{{|{{{|{{z{{z{||{{|{||||||{{{z{|{||{|{{||{{{|z{{{||||{|{|{z{{{{{{{||||||{{{{}{{|{{|||{}{{|{{{|{|{||}||{}||{{{{{{{|||{||}||||{||{{||{|}|{|{|{|{{{{||||||}||{z{|z{{|{|{|||||zz{|{{||{}||}|||{||{||{{|}||||}|{{{{{|||}|}}}|}|{||||{{|}|}}|||}{{{{|z{|||||}}}|{{}||{|{}|~}|{||{{{{|{{||{|{}|||{|{{{z{|||||||{|{{{z{|z||{|{||}|z{{{{{{||||}}|||{{{{|{||}{|}}|||{{zz{|{|}|||||{{y{|{z{{|z}|z||{||{|zzz{{{{||{||{||{{{{{{|{{{|}{|{{{y{zz|{|{{{|{{z{{{{{|{{{{{{|{{z{zzz{z{{|{{{|{{{z{z{zz{||{||{|{z{zzyz{{|{}{||{{zz{zz}{z{|{{{||{{z{{{{z{{{|{|||zz{{|{{zz|{{|{|{z{{z{z|{{{||{|}|||{|{z{|{{{{|{|{{|{zz{zz{|{{|||{{{{{{z{{{|{{||{||{|z{{{||{|{|{||z{{{|{{{|||{{{|{{{|{|{{{||||}|{|{{{{|||{}||}|||||{{{{{{{|{||||}||z{|{{{z||||||}|{z{|{{{||||||||}}||}{{{|||||}|||}||{|{{{|||{|||||{{{{{{z|{|||{}|{{|{|{|{||{|||||||{{{{{z{||{{|||{{{{zz|{{|{{|{|{{|{{{{{||{z{{}}{{{z{|{||}|}|||||||{|{{{}||||}}~}||{{z||{{||||||||{|{y{z|||{|||}|{{{{{{{{|z{|{|}||z|{{{{z{|{{||}}{|z{{{{z{{}{|{{|{{{|{{|{{{{{|{|}z{z{zzzz|{{|{|}|{{{{{{z{|{|{||{||{z{z|{{{|{{{}{|{{{z{z|z{|{{{{{|{|z|{{|z{z{|{|{{{{{|{z{{{|||}||||{{z{z{{{|||{||||{{{{{z{{|||||||{{{{{{{{|||{|||||{|{|{|||{|{|||{z{{{{{|{|{{|{|||{{{|{{z|||{{{{}|{|{{{{{|||||||||{{{{{|}|}}|{|||}|{}{|{{{||{}|}}||||{|{{||}||{|}}|||{{{||||{}}}|}||{{{|{||}}||||||||}|{|}|}|||}}}|{||{|}{||||||}}||{{{||||||}{}|||}||||zz|||{|}|{}{z|{|{{|||{{~|||{||{z{{z{{|{}|}|{|{{z|{||}||z}||{{||||{|}||}||{{||z|{z||||}||}||z}|{z|||||}|z||{{z{z{|{||{{}|||{{{{|{{{{|{z{|||{z{{z{{|{||{{||||{{{z{{{{{z{{{{}{{|z{|zz{{|||{|{{{z{{{z{{{{z||{{|z{z{{z|{{{|{{}{{z{{{{{{{{{{{{{|zz{z{{{z{}{{{|{}|{{z{{zz{{|{|}||z{{{{|z{}|{||{}{{{{{{z{{|||{||}{{{||{z{{||}}|{}|{{{{{z{z{||{||}{|z|zzz{||{|||{{{|z{z{|z{|||{|||||{|{{{{{|}|||}}|{{{{}{{||||}|}|||{|{{{||{||{|{|||{{{{|{}|}|{|{|||{}{||||{|z}||{||||}||}||}}|}|||||||{|||||||{||}|{{||}{{{|}{{}|}{{{||{{{|||||}}||z{{{{{|{{|||||}|{{{|{{z|{{||{|{{{{|{{{{{|z{{||{||{{|{||||||{}|}|{{{|{}z|{}|||||}{{z{{zz{||{{|{||{{{{z{{{|{{{|}|}|||{{{z{{|||{{|{{{{z{{{{{|{|{||{{{z{{{{|{{|{|{{zz{z{{z{|{{{{||}{z{z{zzz|{{|{||||{|{zz{zz||{z{|{{{|{z{zz{|{|{||{{{{|{|{z{|{{{{{{{z{yz{{{||{zzz{|{z{{{{{z|{|{}{{{{{{z{{{{{}|{|{{||{{{z{{z{||{||{|{z{zz{|z{|{|{|{{{{|{|z|z{|{{{|||{{{{{{{{{||||{|{{|{{{|{{||{{{{|{|{z{{{{|{{||||||{|{|{{zz{|||||{|{|{{{{{{|{|||||{{{|{|{{{|}|{||}}|{{|{|||}}{|||}}||{|{|{{{}{|}{|}|{z|z{{{||}{{||||zz{{{{|{|{||{|}{{{{|{{||||}||||||}z{{{{{{|{}|{|{{z{|{z{|z}|{|{|z{{{zzz{{{{{|}|}}||{}|||{}||}}|}||{{{{{|{{|}|{||||{{}|{|}{|||{||{{{{{{{{{{z|{||||{|z{{{z{{{|||||{{{{{{{{|||{|||{{||{{zz{{{{{{{{{z{{{z{{z|{z{{{{|{z{z{z{{z|{{||{{{{|{{y{z|{{z{{|{{{{{zz{zz}|{{{||{z{zzz{zz{{{{|}}z{|{zzzz{z{{{z{|{{{{{{{{{{{|{||||{{{{{|{||||}|z|z{{{{{{|{{||}||{z{{{{{zz|{|{}{|}|{{{|{|z{||{||{||{{||{z{{{|||{}}{{{{{z||{|||{|||{{{z{}{{{{||}|}|{|{{|{{|{|{|{|||{|{{{||z|||{|||{||||{{|{|}||||}{{{{|{|||||||||}}||{{|||{z}|||}|||{}{|{{|}}}}|||||z||{{|{{}}}}|}|}|{||||{}{|~{{}}|{|zz{z{{{{||||}{{{|{{{{||||{|||{{|z{{{{z{|z{||}{|{{|||||}}||||}{z|{{{{{{}|{|}}||{|z{{|z{{|{|||||{{{|{{{z|{{{{}|{{{{{{{{{{|||{{}{z{|z{|zz|{|{{|{|{zz{{zz{{||||{{{{{z{{{z{{{{{|{|z{|z{z{z{{{{{{|{{z{zzzyz{{||{{|{{z{|y{{{{{{{|{{{z{{{{{zzz{z{z|{{{zzz{{|{{|{{{|{{{{{{z{zy|{|z|{{||{{{{{z{{{|||{|{|{||{z{{{{|{{|{}{{{{{{{{|{{{{|{{{{{||{{{{}{{||}{{{{{{{z{||{{{|||{zy{{{{{{{|{|{|||{{{{{|{||{|{{||{{|{{|{|||{|}{||{|{|{{{{z|||||{z|{|||{{{|}||{|||z{|zz{||{|||}|}}||{{|||{{}|}|||||{}||{|{|{{}|||}|{{{z|{||}||||~}|{{|{{{||{{|||||{{{z|||{|}{{|}}{|{||{{{{|||{|{{{|{{z{{|||{z|{{|||}||z||||||}||}||}}{{{{}|{{}|}|}|{{{{|{{|||||}|{|{{{|{{{{|{|{||}{|{zz{{{{|{}{{{|zz{z{zzz|z|{|{{{{{|{z{{z{{|{{{|{z|yz{z{{{{||{||{{z|{{z|{|{|{{||{{{{z{{z{||{||||z{{{z{{zz|{{||||{{{z|{z{{z{z{|z|{zz{{{zz{{{z|{{{{{{{zzz{z{{{|{{}|{{{z{{{{||{{|{{|{|zzzz{{{||{||{|z{{{{{{{{|||{}||{{{{|{z{{|{|{}|{|{{{{{{{{|{{}|||{{{{{z{||{||{}z|{{{|||{|{}|||||}|{|{|{{{|||||||}{{{{{{{z|}{{|}}||||{{{{{{||{||~||{{{{|{|}||||{}|}||{|||{|}||}|}}}||{{{|{{{}|||}}{{{{{{||||||||}}||{{|{{||}|{{}||{{z{|{{{{}|{||}{||{{{|{z||||{{|{||z{{{{{||||{|}|}{||||{{||||{}}}|}{{|||{||||}||}z|{{{{{{|||{|||}|{{z{{{{{{{||{{||{{zz{{z{{||{{||{{{{{{z{{{z{{|}}|y{{{{{{{|{{{|{{{{{{{y{{{{||{|{z{|z{z{{z{{|{|{|{{{zzyz{{{||{|{||z{z{{{{{{{||{|{{{z{{z{zz{||{{{z|{{z{{{{{{|{{y|{{{y{{{{{{|{|{z{|{{z{zz{{{|{{{{{{}{{{z|z|||zz|{||{{{{{{{zz{{{{|{||{{{{{{{{{|{{|}{|{{||{{zz{}{|z||{|{z|{{{||||{{|}{|{|{{z{{|||}{}||{z{{|{{{||||||}}{z||{z{z||}|{{|{|{{{{z{{}}||||}|||{{{|{{|{|{|}|}|z{{{{z{{|{}||||}{}{{{||||}||||~}{|{{{{|{||{||}}||{||{|||||||||||{{{|{|{{{|{||||{{z{z{|||{|}{||{{z{z{zzz|{|{{||}{{||}|{{}}}|||}|{{{{zz||}{||}|}|{|{{{{|{|{z||{|||||z{{z{|{||{||||{{{{{{||{z|{}||{{z{z|{z{|||{||{|zzzz{{{{{|z{{||{{z{{{zz|{{|zz|{z{zzzz{{zz|{}{|{zz{zz|zz{|{{||{{zz{z{z{yz|{|{{|{{zzzz{{z{z{|||{{{{|{{{{zz|{zz{|{{z|{{{zzz{||{|{|{zzz|{z{|||{{||{{z{{{z|zz{|{{{{|{{z|z{z{|||{||||{{{z{z{{z||{{{||{|{zz{{{{||{{||{z|z{{z{{{{||{||z{{{{{{z||{}}|||||{{z{{z{{||||{||{zz{{z{{||{{|||||{{{{{{{||}{||}}{||{|{|{{|||{{{}{{z{{{||{}||||||}{|z}{{{|{}||}|||{{{|{{}||{||}}}{||{{|{{{|{{{|||{|{{|{z{{{|{z||{{{{{{{|{{|{||{{|z{{z{z{z{|{{{}~}|||||{||||{{||}}|{{||{|{||}}}||||||{|}{{||{{||}|z{|{{|{|{{}||{}|||{{|z{{z||{||||{z{{|{|{|{{z{|{{{{{{{z{{{||{{|}{{{{{{z{z{{{|{|{|z{z{zzzz{{{{|{|{|{{{z{z{{{{z{|{}|{z{z{{{{{{|{{|}{||z{|{z|{|{{{|{|zzz{{zy{{||{|{|{|zz{{{{|||||||{||{z|z|{{||z||}||{{{{{{{}z|{}|||{{|{z{{|||||}|||{|{{|z{{{{{{|{{}{{|z{{|{||{{{{|{|{{{{{{{|}{|{{||{{{{|{z||}|}{||{{{{{{|{{||{}{|}|||{{{{z||||||}|||{{{z{|||{}|||}|{{{{|}|{||||}}||}{|{||||{|||||||}{{{{{{|||}||||||{{{|{{|{|||}{|||z|{|{{{{|||||}}{{|{{{{|{|{{{{||||y{zzz{|{||zz||{zz{{y|{zz{|{}}}}~||{{|{|}}}}}||}|||{|||{||}||||{|{{{{{||||||||}|{||{{{{||{{|{|||z|zz{{z{|}|||||{{{{|{{z{|{{|{|{|z{z{z{{|{|||||||{{{{{{{|{||{|{{|{{{{{{{|{{{||}z{{z{{|{{{{|{||||{|{zzzzz{{||{|||{{{{|{{{{{|{z{z||z|{|z{z||{{|{{|z{z{|{|{{{{{||}||{{{{zz||}|{{|||{{{{zz{{|||{||}}{|{{{{|z|{|||{||{{||{{{{|||}{}{|||{z{z{z|{{|{||{{z{{|{{{|||{||{|}|{{{{{||{~||}||{{}{|{|{{|{||}|{|{{{|{{{|}}|||||}{|||z|{{||{|}}|||{{{|||z}|}||~||{{}{||{{}|}}|}}}|||{|}z}||{|}|||{{||{}|{|}|||}{{{|||{||}|||}}{}|{|{{{{{{|{|||||{|{||{{{{||{{|}|{{z{{zz{{{}{{}|}}|||{{|{|}}|}|}}|||z|{||{{|{|}}|{|{z{{{{|{{{||||{z|{{{{{{|{{{{|{|{zz{z{z|{|{{|{||{{z{{{{z{|{z}|{{zz{z{zz{{{{z|||{z{y{{{{z{|{{{{|{z{z{{{{{||{{{{{{zzzz{zzz|{{|{{|z{{zzzz{|{|{|{||z{{|zzz{z{|{{|{|zzyz{zzz{{{{z{{||zz{{{{zz{{{|||{{|{{{z{|{{|{||||{{{{z{z{|z|{|||}{{{{{{|z{{{|{{|{{{z{{z|{{{{{}|{|z{|{{{{|{{|{|{||{{{{{|z{{{{z{|{|{z{{|{|{||||}}|}{|z{{{zz{||{|{|||||{z{z{||||{||||{|{z{z||{|{{|||{{{{z{||}||||}|||||||||{|~||}|||{{{||{|{||||||||}{|{|zz|{|{||||||{{{{{z{|{{}|{|~{||{{{{{{{{}{|}|{{{|{{z{||{}{|}{{z{{z{{z{{{{{}~}||{|||~}}}~}}|}}|{|{|{|{||}||||}|{{|{}{{|||||{}|{{{{||{{{|||{|{|{z|{{z{z|{|{z|{||z}z{z{{{{{{{|{{{z{{{{{{{{{|{{{{|{|{{{{{{{{{z|{{z{{{zyzz|{|{z{||{z|{{zzz{z{{|{||{{|zz{{z{|z|{{{{{z{z{z{{{{{{{||||z{z{zz{{z{|z||{{{|zz{{{{{{{{|{{z|{{{{z{||{z{||||{zzz{{{{{{{||||{{{{{{{{|||{{}{|||zz|{{z{{{|{{|||{{{{{{{{|{{|||{|zz{z{|{{||||||{|{z|{|z{{||}|{}{||{{z{z{||{|||}|{{{|{{{|||}{}{|||{{{{{z|||{{||}}{{}|{|||{}||}||{}|{|{||{{||||||||{{|{{|{|}{|{}}|||{{{|z|}|||||||}||{{{{|{|{{}||}{{|{|{{{{}|{{}}||{z|{{{|||{|{{|{|{{zz{{{{{{||}~}||||||}||}}{||}|}|}{{{|{{}|{{{}||{{{{|{{{{}{|}}{|||{z{{{||||{||||{|{zzzz{{||z|{|{|{zz{{z{|{|{{|{{y{zz|z{z{{{{{}|{{|{{{{{{z{{z{{{z{z{{z{z{{{{{{|{{{{{z{zz{|{{{||{{{{{z{|zz{||{|{|zz{{zzzy{{{|{z|z{{{zz{z{{z{|{{{|{z{{{{yz|{{{|}|{{{z{|{z{{|{{|||{{z{{zy{{{{{{{{{|{|{{{z{{{{{{||||{z{{||{z|{{|{|||{{z{|zz|||{||{|{{{z{{|{{{|}||||{{{{{{{{z|{{||{||{|{{{}{z{{{|{||}|{{|z{{{||}{{|{||{{|{{{||||}}||}|{|{{|||}||||}||{{z|{|{|{}}}{|{}|||||z{{}|{|{||{|{}{{{|{{|||}||}|{{{||{{||{||{||{{{z{{{|||}{|||||z{{{{{z{|{|{zz{{z{z{y{z|{z{|}}}}}}|}~}|||}|||}}{|{{{{|{{|||||}{|{|{{}|{|{|{|||||{|z{z{{{||||{||{{|{z{{z{{||||||{||z{{|{z||z{{|{{z{{{{z{{||{z|{{{{{zzz{zz|{{{{||{{z{z{z{{{|{{z|{z{|{zzzz{{|{{||||{z{z{{z{|{{|{|{{z{z{{zz{{{{{{{z{{{{{{z{{{z{{}{|{z{zz|z{z{{{{{|{|{{{{{z{{|{{|{{{z|{{{z|{{z{{{|{}{z||z{|{||{{{||||{{{z{|zz||{|{|||{{{z{{||{|||||{{{{{{{{||}{{{|{{{{{{{zz|{|{|}||||{|{{{{{||||{{||{{{{{{z{||{||||{|{|{{{{{||{{}{{{{||{{||{||{|}|{}|{{{}||||~|||}||}{|{{|{{|}|{|||||{{{||{{|}|||||||{{{{|{|||||||}}{|{zz{{{|||{{{|||||{|{||{{||{{||z{{{{z{{{|{|{}}~~}}|{|}|}}|||}}|{{||{{z||{{}{|~}{||z{z|{{|||||{}|{|{{{{{{{{|{{|}{{{zzzzz{{{{{|||zz{|zz{z{{|{{{||{{{z{{z{|{|zz|zz{zz{{{z{{{|{{|{{zzz{{{z{zz{|{{{{{zzy{zzz{{{{|{|{{zz{{{z{{{{||{{|zz{{zz{{{{{{|{|{{{{{z{zz{z{{{|{zz{{{y{zy{{{{{|{{|{{{z{zz{z{{z|{|{{{{zz||{||{{{{||{{z{{z{|{{{||}{{{|z{z{{{||||{||{{|zz|z|{|}{}||z{{{|z{z{{{}|{|||{z{{|{|{|||||{{|z{|zz{{{{|{|{{{|{z|{|zz{||{|{||{{zzz{{{{||}}|}|||||{{{{{||{{|||}{z{{{|{||}||{}|||{{{{{{z||{}}{|||{{zz|{|||||{|}}{|z||{{{|{{|{{|{||{{{{{z||{{{{|}{{{zz||{{{|{{{{|{{{{zzz{z{{{{~}|}}~}|}}z~}}}}}}}||{}|||||||}|}}|{{{|{{|z{{}||}||{{|{{{{z||{|{|{|||{{{{{{{||{|{{}{z{{{z{z{{|{{{{y{z{z{zz{y{||z{||{{z{z|zz{{z{|{|||{{z{y|z{{|{{{|{|{{{{zzz{{{{|{|{{z{{z{{{{{{{{||{z{{||{zz{z|{{|||{{{zz{z{{{{|||{|{z{{z{{z{{{|{|||}z|{z{|{|||||{{{|z{||z{z{{{{{||{{|{{{z{{{||{{|||{{{{|z{{z{||{{|{|||z{|{{{|{z{{||z{|{{{{{{{{{|||{{{{||{{{||||{{|{{{|{{{z{{|{||||||{{|{{{|||}|{|}||{||z||{|||}|~|{|z{|{{|{|||}{}}|{||||{|{|}}}||}|||||z{}|||||}{}||{z{{{z|{|}|||}}}{{{|{{{|{}|||{}{|{z{|{{||||||}{{{{{zz{{{||{|{{{{z{|{z|{{|{{|}|~}}{}|}||}}|}|{|}|||{z{|{|}|}||||}{{{{|{{{{{{{||}|{{||{z{||{||{{|{{{{z{{|{|||{{||{{{{z{|{{|{{{{|{{{{zzzzz{||{{{|zzzz{{z{{{{{|{{{|z{zz{{zz{{|zz|{|{||{{{yz{{|z||{||z{{{{z{{|{{z{|z{{{{z{{zz{z{|{{{{{{{|zzzz{z{{{{{zzzzz{|z{{||{{||z|{z{z{z{|||{{||{{{|zz|{{||{{|||{{|{{z{{{||{||{{{z{{{zz{{|||||||{{{{{z{z{|}{{|||{{z{{{{{{{{{{||||{{{{{z{{|||{||}{{|{zz{||{{|{||||{{{{{zz||||{||{}{{{|{|{{||||{|{{{{{{{}{|{{|}||||{||{||z|||||{}||{||{{{|||||{{|||{|{{||{||}|{|}||{{{|{{{||{}z|{||{{z{{{{{|||{|||{{{{{z|{{|||{||{|z{z{z{{{{{{{~~~}}}}|}~|}~}||}}~}}{}|z|}||}|}||}|z||z{|{||}|}}|||{|{{{{|{|||z{}||{{{{||z|{{||||}{{{z{{{{{|{|||z{{{{{{zz{{{z{z}|||{|zz{zz||{|||{}z|z{|{zzz||{z{{z{{{|{{z{{||||}||{{{{{z{{{{{{|{|{z{{{{y{{{{|{|{||{{{zz{z{{{{{|||{||z{z{z{|{{|{{{|{z|z{z{{|}{|{||{{{{{{{|{{{|||{|}{{{{|{z{|||{{|}{|{||{{{{{|{|{}|||{{{|{{{{|{{{||||{zz|{{||{{{|||{{{{{{|{||{|||}{|{{{{{|||}|||{{||{{{{{{|{|{{||||{|z{|{{|z||||||~|{z|{{|||{|{|||||||{{|{z{{~{|||}}||||{|||||||{|}{|{{{||||{|{|}}||}{{|{|{{}{|}|{|||{||{z|z{|{|||}{||{z{||{||||||||{|{{{z{{{{|||~~~}}}}}{|}|~}~}|}}|||||{|}||}||{{|||{||}|{|{|{}|}||{{{z|{||}||{||}|{|{{{{z||z|{}|||{{{|{|{{||{||}|{||{{{z{{||{|||{{zz{{{|z{|{|{||{|{{zzz{zzzz{{||z{{{{zzz{{{{|{}{{{{{{{|z{z{|{{||{{z{{{{{zz{||{{|{{{{{{{{{{||{|||{{|{{{{{{{|{{{|||}z{|{{zz{{|{{|{|{{{{|{{z|{{|{|}||{{{|z{z{|{{{||||{{{{{|{{{|||}|{{z{||{z{{||}{|||||{z{{{{{|{|||||||{z{{{{|}}{||{|||{|{{|||||||{}zz|||{{z{{|}|||||}{{|{{|z{|{}||||{{{{||||{|}||}{||||{{|{{{}||}||||{{||z{{}|}||||||{{|{{z{|{|||{{|{}{{|||||}|||}{|{|{z{z|{||{||{|||{{z{{{{{||{|{{|{{|z{zz{{||{z~~~}~}|~|||}}|||}}}||{||||{||}}|}||}|}{z{{|{{|||}|||{|{{|{|{}||||||{}{|{{{{{|}|z{z|{{{zz{{{{{{{|||{{{|{{{z{{||{{{{|{y{z{z{z{|{{{{||{{z{{zzz|{|{{|{{{{z{{{{{{{|{{{z|z{|{{|z{z{{||{{|{{{{{z{{{{{zz|{{|{z{{{{{{{{|||{{z{{{|{{z||{{{||||z{z|z{{||{{{{{|{{{{zz{{}{|||{||{{{z|z|{|{{{{|||{||zzz{z||{}||{{{{{{{z{{|}||||{|{{z{{|{{}||{{||}{{|z|{{|||}|}|}|z|{{|{||||||||||{{{{||{{||{|||}|}|{{|{{z||||{|||{{}{{{{{|}|||}|}}{{||{|||||||}{}||||{{{||{}||||{|z|{|{|{||{|{||}||{{|{{}|||{||||{||{{{|{||||||{}|{z{zz|{{||||||}{{{{{z{z{||{|~~|}~~}|||~~||}}}|}||||{}|}|{||||}{{{{|{}z|{|}||||||{{{z{z{|||{|||||{|z{{{}|{{{|||z{{|{|{z{{{zz{|||zz{{zz{{z|z{|{}zz{z{z{{|{{{{|{|z{{|zz{z{{{{z{|{z{zzzzz{{{||{||{{zzzzz{{{|z|z{}|{yzzz{{z{{|{{|{||z|{{{z{{z{|||||{z{{{{{{{{|{{{|||z{z|{{z{|{||{|||{{{{{{{||||{{|{{{{{zz{{{{{|{|||{{|{zz{{{|{||{{||{{{|{{z{|{{{{|{|{{{{{z{|}|{{|{|{{{{{||{{||{|{||{{|{{{|{|{{}{|||{|{|{{{{|{||{||}|{{|{{{{|||}|||}|z||{}|{{}{{|{|||{{|{|{{{{}|{}{|}{{|z|{|||||}}||{{{{{{{{||||||}}}|{|{|{|{}{}}|{||{{{{{{z{|{{{|||{{{{{{{z{|}{|{||{{zz{z{z|{{{{~~~~}|}}|~|~}}}||~}||||}|||~|}||}}}|{{|||z|{}||}||||z{|{{{|{|||{|}|{{{{{{{z|{|z{{|||{{{z{{{|{{{{|{{z{{{z{{{{z{z{{{|{{{z{{|{{{{{{|{|{z|zzz{{{{{{{{|{z{{zz{z{{{|z{{||{{{zz{zz|{{|{z|{|zzz|{|{{{}{|{|||zz{{{{{{{zz|{||{{{{z{{{z||{{{||{z|{{{{z||{{{}|{{{{{{{{{{{||||}|{z|{z{z{|||{|{||||||{{{{||||{|||{z|{{{z{{{|{{{|{{{{|{|{z||||z{|||{{{{|z{|{||||{{{z|{|{|||{||||}|{z{||z{z{|}|}|||{{{{|{z{|}|||||}|z{|||||{{|{}}|}}{{|{||{|}}}|{|||{|{|{{{}{||||{||{{{z{|||{}|{}||{|{|}|||{|||||{|{{|{{|{|z||}|{}{{z{{{{{{{{|{{||{{{z{zz{{{|{|{~}{~|}}{}}~}}}||||}}{||{|||}}|}{}|{|z{{{{||{}{{{{{{{{{{{||{{||{||{zz{{{|{|{{|{|{{{zzz{z{z{|{{|{z{{{|z{z{{|{{|{|{zz{z{{zz{{z{|{{z{zzzzz{{{{{{||{{{z{zzzz{{{z{{|{{{{{y{|z{{{{{{||zz{zyzzyz{{z{||zz{{y{{zzz|{{{|{||z{zz{{|{{z{{{|{|{{z{zz{{{{|{{||z{|{{y{{{{z{{|||{{|zz{z{{{{|{|||{{{{zy{{{{||{|{{|z{{{|z{|{|||||{|zz{zz{{|{|{|{{{|z||{{{{||{|{}||{{{{|{||||{||||{|{z{{{{z{|||||}||z{|{|{{|{||||}{{||{z{|{{{|||||{}{{{z{{{|~|||}|||{|{|{z|||{|||{||{{z{{{{{||{||||{|{{{z{{{|||{|||{|{{{{z{{|{|{{|||{{{z{{{|||{z||z|{{zyzzz{{{|{~}~~~~}}}{|~~}}}}}}|||||{||~|~~|||{||{||}{||{}|}{}|{{||z{{{{|{{{{{{{{{yz{||{{||}{|{z{{{}{{z|{{{||{{{{{|{{{|{|{{}|}{{{zz{{{|z{{{|{{zz{z{{{z{|{{{z{{z{z{{zy{{|{{|{z|{{|zzzz{z{{{{z|{|||z{z{{{|{{z||{{{z{yz{zz}}{{{z{z{|{{{z{|{{|{z||{{{{{z{{{|{{{|{||{|z{z{{{{}{{|{z{z{{z{|{||{{{{{|{{{{{{yz{||{||||{{{{{{z{{||}|{}|{z|{{{{{|||{{{|{{{{{z{{|||||{|||{|{{{}|{{||{|}||{{{{{zzz{||{}}||{{|{|{{{||||||{|{{z{|{|||{||||||||||{{{{|}||||||}{|{{{{{|||{||{}|{|||||{{|{|||}}|{|{{|z{|{|}|||{}{{{{{{{|{{{|||||{{{{{{z|{|{|{{|{{|{zz{z{{z{{~~~}~|~}}}}}}~|}}|||||{{||}||}|{{{{{|{||||||}|{{|z{{z{{{||{|{|{|{{z{{z|{||z|{|z{{zz|{z||{{{{||zz{{zz{{{{||||{{{zzz{{zz{{{{{|||zzy{{zzz{{{{|{||{zz{zzz{{|{{{{{{{z{zzz{{{{{|{{|zz{{z{z{z{||{{||{{{{z{zz{{{{{{||{{z{z{|{z{{{|{|}{|{{{{{{{|{}||z||{{{{{{z{{{{|{{{|{{{z{z|z{||{{|{||z{{{z{{|||{{||{{{{z{{zz{z|||{|{{z{{{z{z|{{{{{||||z{{z{{|{|{|{{|z{zz{{{{{{{||||{||{{|{{{||}||{{{|{{|{|{{{||||{|||{{{{||{{}{{}||||{{{{{|{{{|||||}{{|{{z{||||||}|{|zz{{|{{|{||||}||{{{{{{|}|||}|{||{{zz{{{{|||||{|{{|{{{|{||{{{||{{{{z{{{z|{{{z~~|~~}}|~~~|}}}|}|}{|||{{}}}|~}~{{|{{{{{||||}}||{{|||{{|||{|{|||{{{{{{{{{{{{{|||{{z{{zzz{{{|{|{{|yz{{zy{|{|{|{||{{zzz{|{{{|{{|z|{|{zz{{z{{{{{|{z{z{{{{z{{{{{{{||{{{z{zz{{{{{{{{{{{z{zy{{zz{{|{{|{{zzzz{z||{|{{{{{{z{z|zz{|||z{||{y{{zz{{{{{|{{||zz|zz|{{||{{{|||{{{z{zzz||||{{|{{z{|{{{{{|||{|{{{z{z{{{{{|{|{{{{{{{{{z{{{}{{||{|{|z{{{{{z{|||{||{{{|{{|{}{{|||}}|||{|{z{{}||}||{}{{{|{{{|}|||||{{zz{{{|{|}}|}}|||{{{{|{{{}{|}|}}|{{{{{|{||||||||{{{}|{|{{||{{||}|{{|{{||{||}||}|{|{|z{|{||}|{{|{|{{|{{{z{{{{{|{{{{|{z|{z|}z|{}}}}}~~}}~}~~~}}}}~{|{||||}|}|}}||{||{{{|||||||}{{{{zzz{}{|||{||}{{{z||{{|}{{{{}|z{{z{zz{|z{{|{|{{{zzzz{{{|{{|z|z{|z{z{zzz{{{{{|{z{zz{yz{{|{{z||{{z{zzz{y{{{{{|{{|{zzzz{|{{{{{}|{{{{{{zy{{{{||{||{{{{zz{{{z|{|{|zz{{z{zz{{{{{|||{|{zz{{{|{{{{{|{{||{zzz{{|z{{||~{{{z{{zz{{{||||{{{{{{z{{zz{|{||{{{z{|{z{{|||{{|{{{{{|zz|{||{{}{|{{{{{{{{|{||{}|{{{|{{z{{|{|}{|{||{{{{z{|{{{|}||{|{{z{{||{|||||||{{{z{||}|||z}}||||{{|{{{||{{}}}{{|{|{{{{{|||{|||{z{{|{{|{||{{||}|||{|||{{|||||}|{|{zz{{{{{|||||{||{{z{{{{{{|{}|{{{|zzz{{{||{{~~~}}~}}}}~~}}||||}{||}}~}~~|{{z|{{|||{|}}}}||{{|{{{|||{||{{z{z{z{{y|||}{{|}{{zz{{{z||{|{||{|{|z{{{{{{|{{|{|{{{{zz{{{||{{{{{{z{zy{z{|{{{{{{{{|{|z{z{{{|z|{|{{{z{{{{{{{||z||{|{zzz{zz{|{||{{|{{zz{z{z{{{{{|{|{z{{{{{zz||||z|{{z|z{{{z{||{{{{|{z{{|z{{||{|{||{{{|{{z{z|{{{||{||{{{{{|{{|||}|}{|{{{{{{|{|||||{{{{{|{{{z||||{|{||{{{{{{{}{|||{||{{{{{z|||||||}||{{|{{z{|||||{}|z}{{{||{{||}|||}|||{|{||||||{||}|}{{|{{|{z||}|}}|||{|{{|{{||}||||||{{|{z||||{}|}}||||{|{z}|||}|}||{zzz||{{|||{{{}{|{||{{z|}|||{|{{{|zz{{z{|{{|~~~~~}}~~~~~}}|||||||||~|||}}|||{||||}{|||}}||{||{zz{{|||{{{||{{z{z{z||{||||}{z{z{|{z{{|{{z{{|{{{{{{z{|{{z|{z{z{{{{{|zz||{|||{{{z{zzz{{||{{{{{z{{{zzz{||{|{{|{{z{z{{zz{|{{{||{|{{z{z{{z{{{|{|z{{z{zz{z{{{{||{{|{{{{z{z|}||{{|{zz|{z|{{|{{{||{{{|{z{{|||||{z|{{{{{{{{{|{|{{||{{{|{{{|zz|}|||{||{z|{{z{|}}{{{}{{|{z{{z{{||{|}|{{z{{{{{{{{{||{|||||{{{{{{|||{}||{||{||z{{|||||||||{{{{{z|{|{|||}|{{z{{|{{}{{|}|}||{{{|{{{|}||||}|{{|{{{z||{|||}||{{{||{|{}||}||~}z{||||{}||{{||||{{{|{{{{|||||{|{{|{{{{{|{{|||||z{|z{{zz{{|{{~~~}|~~}}~|}{}||{{}||||}}}|}{{|||z||||||||||{|z{{{||||{{{|{{{{zzz{z|||{{{||{zz{{|z{|{z{||{{z{z{zz{}|{zz{{|{z{zz{z{{{{{{{|{zzz{{z{{z{|{{||{zz{zzzz{{{|zz{{{{{{zzzz{{{z{|{|z{{{{zzzzz{{zz{{|z{zz{z{zz{{{z||{{z|zz{{{{{{{{{||{y{z{z{{{{|{{|{}zz{zz{{z{|}{|{||{z{{{zz{{|{{{|{{{z{{{zz|z||{{||{{{{{}{{{{{|{{{}{{zzz|{{|||{|{}|{{zz||||{{{||||||{|z{{z{{||||{|||{{}{{{{||||||||{|{z|{{{{{|{|||}}|z|{|{|{|||{||{{{|{|{|{|||{||}|||{|{|{{{{{|||||{|{{{{|{{{|{{|||}||{{||{|{{{|{||{{{{{z|zz{{{{{||}{{{{{z{z{|||{{|{{{{{{z{{{{|{{~~}~~|~}~}}~|}~||}|||}{}|}|}|}|||{{{|}{||||}||{|{{{{{||{|{{||z{|{zz{{z{|z{|||z|{{{{{z|{{{{}{{z{{{zzzzz{|{{{||{{zz{zzz{{z|{|{{z{zzz{{{z{{{z{{{zz{zz{zz{{{{|||{{z{zz{{z{{zz{{|zzz{{{{z{zzz{{z|{|zzzzzz{{|zz{|{{{{{zz{{z{{{|z{||{|z{z{{z|||{{}{|{z|{{z|{z{|{{||{z{{{yzz{{z|{||{|{{|z{z{{|||{{{|{|{{|{{{{{{||||||{{{{{zz{||{{z|{{|{{|{{{{{|{||{||{z{{|{|y{}|||||{||{{{{{{|{|}}|{}||{{|z|z}|||||||{{||{{|{{{{}||{||{|{{{z|{}|||}|}|{||{{z||||||||||{|||{{{|{{|{|}|||||{{{z}||}{||{|||{{{{z{{|{|||}||{{zz{{{|z|{{||{zzz{{zz|{||{}}~~~~~~~~~~~~}}|||~{||||}}}}||{{|||}{||{||||{z{{{{y{||}|{|||{z|{{z{z{{{|{|{{{|{z{{{|z|||{{|||{z{{z{z|{zz|{|{z{z{zz{z{{{{{{{{z{{z{{{z{{|{{{{{{{{{y{zz|{{{|{||{{{{y{{{{{{z{||{|{{{{z{{z{{z{||}{z{{z{{{{{z{{|{|{z|{z{{z|{{|{{{{|{{{{{z{|}{{|{|}|{{z{{{|{z{{||||{{{{zzzz{{{z||}{{{{{{{z{{|||{||{{{||z{z{{||||||{{{z{z{{{|{{|{|{{}|{|{z|z{{|||}||{{{z|{{{|{||{||||{{{{|{{|{|{|{|{}zz|z{|{|||||||}{||{{{|{||||}|||{{{z{{|{{}||||||||z{{{{{||||{|}|{{{{|{z|}{{|||}|{{|{{{{{|||||||||{{{z{|{{|{{|{|{{{{{{{zz}{||{}{||{|{{z{{{{{{{~}~}}}~~}~~}}||||||||}}}}{||||{{|{{{{|||}|{|z}{{|{|{|}{|{|||z{{z{|{||{{{|{|{{{{{{{y{{{z{{{{{{|{{zzz{z{{z}{||z{{{{zz{{z||||{{{{|z{{{{{|{{{|{{{{zz{z{||{z{|{|{{zz{{z{{{|{|{{|{z{z{{|z{z{{{|{{|{{zz{{{|{{{|{||zz{{{{{z{{|{|{||{|{z{zz{|{||{{{}z{{z{zz{|{{{||{|z|z{zzz{{|{|||{|{{{z{{z{||{{{|z{{{{z|{z{{|{{|}{{|{{{{{{|{||||{{}{|{{{z{{|||}|{|}z|{{{{{z|{||||{||z||z||{{||||||||{z{{||{||||{}||{{{{|{|{{|{|{|}}||{|{||||}|}||}|}{}|{{|{||{|{|||{{{|||z||{||}{||||||{{|{}}|||{|}|{{{{{{z{||{{||||{z|{{{{||||{{|{zz{{{{zz|||{{~|}~~~}}~|||}}|}{~}}~}}}||{||{|{|||{|||}||{|z{{{{|{{||{|z|{|z{{{{{|{z{{{{{{{z{{zz||{z{{{{{{zzz{zz{{|z{|{{{|z{zzz{{z||z|{{z{z{{{zzz|{{{||{|{{{{zzz{{{z|{z{|{{zzzzyz{{|{{||z{{{{{zz{{{y{{|{|{zzzz{{z|z{z|{{{z{{{{z{{||{||{||{zz{{z{{||{{{|{{{{z{z{y|{{||{{|zz{{{zz{{{{{||{z|{{{|yz{{{|{|||{|z{z{{{z{|||{|}{{{z{{zzz{{||{||{}{{{{{{{|{|||}}{{{{{zzz|||z|{||}{{z|z{{{|{|{{|{{|{||||{{|{{||||||z|||{||{{||{||}|{{|{{z{{}|}||}}||{|{||z|}||}||||zz{{|z||||||||}|||{{|{{{||||||}{||{{z{z{|{||{|||{{|z{zz{|||{|}{||{{z{{z|{z||~~~}}~~~~}}{|}{}}~}}}}}}|{z|{{{|{|{|{||}{||{{{{|{}|{}{|{{z|{{zzz}{|||z{|{|{{z|{|{{||{z{zz{z{{zz{{{{{{||{{{zz{{zzz{|{|{{zz{zz{{{{z{{||{|{zzyz{z{{|{||{{|zzz{y{zz{{|{|{||{{{yz{{z{{{{z|{{{{{z{zz{{|{|{|{{{z{{|{zz{{{|{{}}{{|{{z|z}|||{{||{{{|{z|{{{{{{{|{{{{{zz{|||{|{|{{{{{{{z{z{{||||{{z{z{{{|{{|{|{||{|{{{|{{{z{|||||{{{{{{z{{{||||{||{|{{{{||{{z|{{|||{{|{zz|z|}{||}||{|{{|{{{|{|{}||{{||||{|{||{{||}}|{{{{{|||{|}}|{{{{}{{|{}|{||||||z{|{zz||{|||{}|}{{{||{{|{{|||{||{|{{{z{{|{|{|}}|{{zz{z{{|{{{|}|{{{{{z{{{{|{|~~~~~~}}}||||{}|||{}}|}|||{|{{{|{{|||}}}{{{z{{{|||}}{|{|{{zzz{y{|{{||{{{{zz{{{z{}{{{z{{|{{z{{zz{{{{{{{{{zzzzz{{{|{{|{||{||zzz{z{z{{{|{zz{{|z{zzz{|{z|{|z{{zz{zz{{||{{|{{{{{zz{zz||{{z{{zzzzz{{{z|{z{|{}z{{{{{zx|{|{{||{{{|zz{z{{|{|||{|{{{{{z{{z{{{|{z{{z{{{z{z{{{{z|{z{z{{{{{z{|||||{||{{|{z{{{|{{{{{{{{{{z{|{{|{{|{z{|||{{{{{{||{|{|{zzz|{z{{|{{{{|{|{{{{z{{{{|{|}{|{|{{z{{z{|{{}|||||{}z{|{|{{{||{{|{{{{{z||{||{||||}z|||{{{{|||{|||}{{|z{{|{|||||{|||||{{{{|{||{{{|{{{z{{{|{{|{{{|{{{{{zz|z|{|}{z|{{{z{z{{z{{{z{~~~}}~~}~}}}}|}}|||~}}}|||||z|{z|{||||||}{{{{}|z{{|||||}||}{{z{|z{{{|||{||{zzz{z{z|||||{|{{{z{zzz{||{{{z{{z{{{{z{z{{{z{{|z{z{|z{{{z{z|zz{{{z{{{z{{{{{|{{{{z{{zzy{z{||{|{|{zzz{z{z|z{z{{{{{|zz{|{{|z{{{{{|{zz{z{{z{|{|{||{|{{{{y{z||{{{|||{{{||z{||{{||}{|z{{{z{{{{||{{|{}z{{{zz{z{||{||||{{{{z|z{{|}{{||{|z{{z{{{{|{{{{{||z{{z{{|||{}||||{|{{||||{|{{{{||z{z{{{{{{|||||{|||{{{|{|||||||}|{||{{|||||{|||||}||{||{|{|}}}|}z{||{{{{{|}|{{||||{{|{{{|||||{|{||{|{{{{|||||{{|}{|{{{z{{{|}{{}}|{{{{z{{{|||{|{{|{z{{{z{{|{|||~~~~~~~}}}}|}||}}}}~|}}|{|{||{}{|||}||{{z{{{{{{|{||||||z}{z{{||z|||||||z||z{{zz}|{{}|{{{{{z{{z{{}{{|{{{{{zzz{{{{{{}|{{|zzz{{zz|||{|{|{{{{z{{{z{{{{||{{{{{zzz{z}{|{{|||{zzzz{{z{{{{{||{{|{zz{{{{{{{{|||z{{z{z{{{||{{|{{{{{{{{{{{|{{{{||{{|{{{z||{||||||{z{{{|{{{||{||{||{z{|{{{{{{|{}||{{{{{z{z{}||{{|{||{z{{{{{||{||{{{||{|{{{{||{|}|{{{{{z||z}||||{{||{{|{{z|{||{||{||{{{{|{{||||{{}|}{{{{||||{{||{|}|{|{{|{{{~|{{||||{}|{z|{|||{||}{|{}{|{|||{||||}|{{{|||{{|}|}||||{{|{{{{|{|}||||{{{{{{{{{{|||{}{|{{z{{{{z|||{{~~}}|~}|}}}}}}}|}}~|||{|{||{|{{||||||||{|{z{{||||||||||{{{z{z|{||{|{{{z{{{{{{||{|z|{{|{{z{{{{{{|{{{{{|{{zz{z{{{|{{{{|{z{|{z{{{{||{|{||zz|{|{z||{||||||{|{{|{{{{{||||{{zz{{z{{z{{{|||{{{|{{{{{|{{|{}{|{|{{{z{{{|{}{|{||{{|{zz{|{|||||}|{{{{{{z||{}{{{{{z|{{{|{||{|||{|{{{|{{|{z|||||||{{{{{||{||||{{}}z{z{{{|{{{|{{|{||||{|z{{||||}}{||{|{}{{|{{{}||||{{{{{{{z{}||||}|{|{{|{{}|||{}||}|||{{{||||{||}|||{{||{|{{}|}{|||}||{{{{||||}}||{|z{|{{{|||}||{|||||{{{|{||{|}}||{{zyz{||{|||{||||||{z{|z|||{||||{z{{{{{{{||{|~~~~||}|}}}}}|||}}|{{||||{||}{}|}||{||{{{{|{{||{}|{{|{{z|{|{}{|||}{{|z{{{{|{{|{||{|{{zzz{{{{|{{||{zzzzz{z{{{{{|{|{zzz{{z{z{|{{|{{{z{zzzzz{{{{{||{{|z|{{{zz{z|{||}{|z{{{zz{{{{z{|}{{z{z{z{z{|{{{{|{{zz{{|{z{|||{{{|||{z{z{{{|||{|||zz{z{z{z|{|{|{|{{|{{{zy{||{|z{|||{|{|{{{{||z||z{||{|{{|||{|{|{|{{{{{z|{{{|z{{|{{|{{|{{z{||{||||{{{{}{{|{{|||||}||{{|{|zz{}{}|||||z{{|||z{|{{|}||{||}{{{{{}||}}}}}|{{{|{{{}|||}}||{{{{||{|||||}|||{{{|{{{|{{||{}|}{yz|{{{{|}|}|}}||{zz{{|{||||||||{{{{{{{{{||{|||{{{z{{{{|{{{z~~~~|~}|}}||{}|}}}}||{{{{{{{||{{}}|||{{|{{{|{||{z|||{{{zz{{z{||{||{||z{z{{{{{{{{{||z{{{{{{{{{{|{{{{{{{{{{{{|{{{{{||{{{{z|zz{{{{|{|{|{z{zzzz{{{{{|{||{{z|y{{{{{{{||{|{z{z{z|y{{|{{|{{{z{zz{{{{{{z{|{|{z{{{{z{{{{|{||{{z{||{z{|{{{|||{|z{{{z|z{{{{{{|~{||{{z{z||{z{|{|{{z{{{{{z||{|}{{{{{{z|{z{||||{|{{|z{{{{{||||{||||{z{{|{z|}{|{|||z{|{{{|{{{|}{}||{{|{{{{z{||}|||{|{{|{{{}|{{z||}|{{||{{|||}|}|{}}}{|{{{{{|}||}|}}||{{||{|||||}|||{z||{{|||||||z||{|z{|{{{|{|{||||{{|{|{{{|{|||||||{|{{{{{|||}|{||{{{z{z{{|{{||~~~~~~~}}}|}}}}|}|}~}}}|}}{|{|||{}}|{}|{{{{z{{|{}||}z}{{z|zz{{|{{|{|||{{{|z{{{{|z|{{||||{|{{y{zz{||{{{{|z{z{zz{{{|{z|{{{{{{{{z{z|{{||{|{zz{z{{{z{zz{}{{{{{z{{zz{{zz{{|||z{{{z{z{{||{|{|zzz|zz{zz{{{{|{{{{{z{{zzz|{|{||{{{{{{{{{{||{{|||{z{{z{{{{|{{z{{|{{|{z{{{|{{||}||{{{|{zz{|||{||{|{{z|{{zz{|||||}|{z{{z{zz|||z{|{|{{{||{|||{|}|}|}|{|||{|{|{{||||}{{{|{{{{|||{{|||||z{|{{||}|{{||}{{|{|||{||{|}||||{||z|{{|}|}||}||{|{||{{||{{|{}{{{{|{{{||{||{|||{|{||{{{z||{{||}|{{{|||{|{}}|{}{|z{{{z{z{}{|{{|{{{{{{{{|{|}||~~~}|}}}z}{|}}}}|}}}|||{{||||{|{{||{||||{{{|||{{}}}{||{{|{{||{|{{||{{{{{{zzz{{{{z||{{{{z{z{}||z{{{{{}{{{z{{z{|{{{||{zz|z{zz{{{{zy{z|{zz{{z{{{{|{{||{{{{{|z{{{|{{|||{zz{{yz{z{{{{|{|z{{{{{{{z|||{||{{{{{{|zz{{{{{|||{{{z|zyz{{|{{{{|{{|z{y{|{|{{{|||{{z|{{{||{{||{{|{{{{{z|{{|{{{|{{{{{{{{{{|{|||||||{{{{||{||{{{|{||{z{{|{{{|}|||}|{|{{{|{||{||||||{{||{{{{||||}{|||{{{|{{z}}||||||{|{{|{|{|||||{|||{|{{{|{|||||}|}|{||{}||{|||}||{{|{||{|{||{||}|||{{|{{{{|||}|||}{{|z{{{z{||}|||{{|{{z{{{|}{|||||{{{z{zz{z{|{{~~}~~~~}|}}}{|}||}|}}}}|||||{||}||||}||{|{{|z{{|{|{{{||}{{z{{z{{|{{|{|}{{{{{{{{{z{{{||z{{z{zzzz|z|{{|||zzzzz{z{{{z{{z{{zz{z{{{z{||{{|{{|zz{{{z{|{z|{{{{{z{{z{{{z|{{{{{|{{zz{z{{z{{{|z{z{z{zz{{{{{{{{{||{{{{{{z{{|{|{|{||{{z{{z{{||z{{|||{{z{zz{{|||{|||{{{{{{{{{|{{|||{|{{zz{{z{{{z|||{|z{{||{{|{||{{}{{{{{|{z{|{{|{||{|||{{{{{{{||||}|z|{|{z{|{|{|{}{|{{{{{{|{{||||||||{{{{{z{||||||||{{||||}{|||}||}|}{{|||{{{}{|||||{{|{{{{{|{{|{|}||{{|{{{{|||}{{|}{|{}|{z||{{{|}|||{{z{{{{{}||}|||{{|{{{z{|{|||{||{{|z{z{{|{|||~~~~~}}}}{||{}}}}}|}}|||{{{{{{z||{|||||{{|{zy{|||{{{{|{z{zz{z{z{{|{|{z{{{z|{{z{{{{{|{{{z|{{z{z{{{{{{{{{zz|{{{{{{{z{{{{{zzy{y{{{{{{{||{{z{{z{y{{|{z{{{{{z{zz{zz{{{{{{|{{z{{{{{{z{zz{{{|z{{z{z{z{|{|{|{{{z{{{{zzz{|{{|||{{{z}{|{||z{{|{|{{{{zy{z{{{{{{{}z{{{{{{{{{{{||{{|{{||{zz{|{z||{{{zz{{{zz||||{{{{{{{|{{zz||{|{||{{{{z{{|{z||||{||z|{{{||{{{{||||||z{{{{z{{|{||}||zz{{{{{z|||{|||~{|{z{{{||{{|}||||{{{{{{{||||{||||{|{{{z{{{|||||||{||{|{|{||{{|}||{{|{{{{}|{|{||{{z{z||{{{|||||||{{{{{zzzz{{{{{|{{zz{{z{{{{|{{~~~}}~}~}|||}}}}|}z}}}{{|}|{{||}{||{{{{{{|{{|||}|||{|{{{{{{z||||{{{|{{{zz|{{{|{{{z|{{|{z|{{{z|{z{z|{{{{zz{{|{{{{{|{{{z{z{z{{{{{{||{{zz{|z|z|{{|{|{|}{{{{z{zzz{{{{|{{{z{z{{{z|{{z{{||{|{zz{{z{{|z{|||{{|{{z{{{|{{||||{{{{{{{z{{{{{}||{z{|{{{{{||{{|||zz|{{|{{{|{||||z}{|z{{|{z{{|}|{{|{{{|{{||{|{{||{{{{|z{{{||||{}{||||{|{{z||}|}|||{|{{{|{{||{||{}|{{{z|{{z{|||{|||||{{|{{{||||}{|{|{{{}{|{|||||}|||{|z{|z{|}||{{|}|||{|{{|||||{||||||||{{{{|{||}}}}{{|{||||}|||{||{{{{{|{|{|{|||}|||{|{{z{{{||z|}|{{z{{{{{{{|{{}~~}||}~~}}}}~}|||{{{}{|||{|{|}}|z{{|{z|{{{||{}|||{z{z{z||||{{{|{{{{{{{z{{}{|{{|{{|{{{{zz{{{z|{{z{|zz{{{{z{{|{{{{z{{{z{{{{|{|{{{{zz{zzy|{||{{||{||zzz{{{{{{|z{|}{{{{{z{{z|{{{||{|{z{{z{{{{|{{|{|{z{z{{zz{|{{{{|||{{{{z|{{{||{{||{z{{{z{{|{||||{|{{{{{{|{}{|{{|||{||{{z{{{{{{|}||{{{{|{|z{|||{|||||{|{{{{}||{{|{}|{|{{{{{{|}|||}|{{{{{{{{{|{}||||{z||z{z|||}{||{|}{{{{{{{||}{{|||z||||{||||{|||}|||{|{{z{||}|||}|}{||{{{{|{|||||||{z{{||{|{{||}}}||{|{{|||{||||||{|{{{{{{{}||||}}{||{{{|{{}||{{{{|{{z{z{||||||~}~~}}}}||}~}|}}}}}||{{{|{z|}||{|}|||}|z|{{{{{|{|}|{z{{y{{z{||{|{{||z{|yz{{|||{|{|{{{z{{zz||{|{{||{|{zzz{z{{||{{||{{{{{z{z{{|{{{|{|zz{zz{{z{|{{{{||{z|z{{{y{|{||{|||{z|{zz{{{||{|{}{zz{zzzz{{{{{|||{{{z{{zz||{|{{{|{{{{{{{{||||||||{||{{{{|{{{}||{{||{{{{{{||||||}||{{{{y|{z|||}{|{|{}z{{{z{|{|||}|{{{{|{{z{|{||||{{z{|{|z{{||}{|||||{z{{||{{{|}|||}{|}{|{|||||}|||}{z{}{|{|||{||}||{{{{{||{|{}|{|}|||||||{{}||}|}}|{{|{|{z|||{}||||z{|{|{|||||{||}||{||{{{||||||||{|{{{|{{{|||}|}|{{{{{{zz|||{{{|{{{{z{z{z{{{|{~~~~}}}|}}{}}}}}|}}}|{|||}|||{||{~||||z{{||{{||{{||||{{{zz{|{|}{|{|z{{{{zz{{{{{z{|{||{{|z{|{{{|z{{{{zz{zz|{{|{|{{{{{{{{z{{z{||||||{{{{zz{z{z{|||{{{{{|zzzz{z{|{{{|{z{{zzz{z{{{{{{|{y|{|{{{{z||{{||{zz{z{{z{|{{|z|{|{{{z{{{{{{{||{{|{{{{|z{{|zz{{|||{{{{z{{{|{|z{|{||{{{{z|{||||||{}{{|{{{{{{|{{{{|||{{{|{{{}||{|||}{{{{z|{{|||||||{{{{{|{|{{}||||{||{{|{{|{||||}|}{|{{{{|{{|||{}|}}{||{{{||||||||{||{{|{|{|{{|||||||{||{{|{{|||||}{|{||{|||{|||{{|}{{|{|{|}{|z|}||{|{||{{z{{||}||||||{{|{{z{{{{{|||{{{{}z|{{|{||}~~}}}}|~}{||}~}~~}}||{|||{}||||{}}{{||{{{{|||||{||{{z{{{|z|{|{{{|}z{|{z|{{{z{{{{{{}{{z{z{{||{{{|{|{zzzz{zz{|{{{{{|{{z{{{z{z{||z||{{z{|{zz{{||{|{{||{{{{z|z{|{|{{|{{zzz{{{z{{{{||{|{{{zzzz{||{|{|z{{{{|{{{{zz{||{|||z{z{z{{|{||z{|||{z{{{{|{{{{|{|{{{{{|z{{||{{|{{{{{{|{{{zz|{|||{|{{||{z|{{{|{{{}|{{{{{|{{|{|{{z{{{{|{{|{|{{{|||||{{|{|{{{|||}{|{}{{{||z{{|z}|||}{|{{||{|||||{|{||{|{{z|{{||||}}|}|z||}||||||||}||||{{{{{{|{|}||{}|{{{{{|||}{{|||||{{|||{{||{|||}|}{{z{{{|||{||}||{|{z|z{z|||{||||{{{{{{z{{|{{{~}}~}}|{||}}~}}}~||{{|{||||||}|}||{|{|{{{||{|{|{||{{zz{|{{{|{|{{|z{{z{{|z{||z{|{{{{z{{z{{||||{{|{{{{zz{{{|{{z{{{|zzz{zz|||{|{|{{{{z{z{{{{z||||||{{{z{z{{{{|{||{{|{{{zzy{{z{z{{{|{{{{z{{|{{{z{||||{z{||{{{{|{{{{||{z{{{z{{||{{||||{{|zz{{{|||{|{||{|yzzz{z|{|{|{|{{z{{|{{{{}||||{{||{{{{{z{||||{{||{z{{|{{{|{{|||{|{{{|{{{{{|||{|||{|z|||||{|||||}|{{{{{{||||||{|||{z{{{{z|}||{||}{|{{{||{|{|||}|}|{{|{||z|||{|||||{||{{{{{|||{|}|||z{|{z|||}|||}}|{}|}{{{{{||||||{{|{{|{||{|||||}}{{|{zz|||}{{{|||{{z|{{{{{{{|}|}|}}{}}~}}}}}~~{}|z||{|||}{{|||{{|{{z{||{||{{{||{{z{zz|{||{|||{{{zzz{z{{{{{z{{z{|z{z{|{{|z{||{{{{zz{zz{{{{z{||{{zz{{zz||{z{||z{{{zz{{{{}{{|{{|{z{{{{zz{||{{{|{{{{|z{yz{{{|{{{|{{zz{zzz{{{{{{{{{{{z{|zz{{|{z||z{zz{zzz{z{||{{|zz{|{zz{{{|{}|{{{{zyz{z|z|||{{|||{{{{|z{{{|{||{{|{z{{{z{{{{{||||{{{z|{{{{{|{{||{|{{{{||{{{{||{|||{||z{{{{||{|{||||{z{{{{z{||||||}|zz{{{{|{|||{{||z{{{{||z{|||||||||{{{|{{}}|||{|||{||{{|{|{|{|||{|{|||{{{{|{||||~|||z{{|{|||}|||{zz{z|{{|||{||||}||{|{{{{{||{{{|{{{|zz{{{{{|||~~~~}|}|{}|}}}}}~|}}{{|{|{|}{|}||||{{{z{{z{{||{|{{{{{{z{{{{}{{{|{|{{|zzz{{{{{{{|{{{{z{zzz{{{|{|{{{|{{z{{{{{z{z{|{{zz{z{y{{{{{z{||{zzzzzzz{z{|z{z{{{{z{{{{z{{z{|{|{{{{{z|zzz|{zz{{{||zzzzz{z{zz{{||{{{{{{z{z|z{|||||{{{{{z{{|||||||{{{zz{{{||}|{{||z{{{{{{{||{|{||{{{|{{z{{z|{|||{{{{|z{z{{|{{{||{|{z{{{{{{{||z||||{z{{{z{{{|||{{|}{|{{{{{||||||{}}{{z{{|{{|||{|||||{{{{{{{||{{z|}||{{{{{{||||||{}||{||{|{z||{||}||||||{{{||z||{{||{{|{||z{{|{||||||{{{{{z{|||{{{|}{{{z{{|{{{||||||{zzzz{{|{||{{{|{{{{z{z{{{{|{{~~~~|}}|||}}}||}}}||||{|||{|}||{||||{|z|{{{}|}{{{{|{|{{{{{z|{{|{|{|zz|{z|z{{{{{{{{{{{z{{{{zzz{{{||{{z|zz|z{z{{z{{{}{{zz{zzz||{z|||{|zz{z{z{{{{|||{{{{{{z{y{{{{|{{|{{{||{z{z{{{{|{|||z{z|z{z{|{{{zz{zz{{{z{y{|||{{|{{{{zzz|{{{z{||{|z{{{{z|z{{{{{||{z{z{{zzz{{{{z|{|{z{{{{{zz|{|{{|{zz{{{{z{{{||{|}|{{{{{z{||||{z||{{{{z{{{{{{|{||{|{|zz{}{|{|{|{|}|{|{{{{zz|||}||}||{{|{{{{||{||||||{{|{|{{||}||||||{|{{{}{|||}||||||{{{{|z|||}{|||}{z{{|{{|{}|||}}{{z{{{z|||||||{}{|{{|{{{|||{{}{||||{{{{z|||||{|{{{{{zzz{|{{{{~~}|}|}}}{}{}|}}}}|{{{{|y|{{||{|||z{{{z{{|{{}||||{|{{z{z{{|{{{||{{z{{{{{z|{|{{{{{|{{{z{{|{{{{{{z{|{{zz{z{z{{{|{z|{zz{{zzz{{|{z{z{{z{{y{{z{{{{|{|{{z{zz{zy{|||{{|{{{{zzzz{{{{|{{{{{z{z{z{zz{z|{|{{{{|{{zz{z{{{{||{|zz{{{{zz{|{{|{{{z{{{z{{{|{{z{{|{{z{z{{{{{|{{{||{{zz{{|z{|{{|{{{{{{zz{{{{|}z{{|{zz{{zzz{{{|{{|||z{{{{{{{{|{{{{{}|{||z{{{{|{{{|}|{z{{|||{||{{{}|{z{z{|{{{|}{{|{||{{{{{{||{|{{{||{{{z{{z|||}{|{}||||{|z{|{|{{||||{|{|{{{|{{{{|||||||z{|{z{}||{|{||{{{z{|{z{|{|||||{{{{z{{{|{|z{{||zz{{z{{{{}|{{~~}~}}~{}|}||}|}|}}|{{z||{z||{|||{|zz{|y{{{z|{{|{||z{{zz{{z|{||z{{{{zzzzz{z{{{{{|{z{{{y{zz{{z|z{{{|z{|yz{zz{z{{|{||{zzz{z{{{{{{{{{z{{z{{{zz|z{z{|{{{{{z{{z{{{||{{||{{zzzzz{y{zzz|{|zzzzzz{zz{{{{|{|{z{z{{zz{{|{{{|||{zz{zz{{{{{z{|{{z{zzzz{{{z{{|{|z{zz{{{z{{{{||{{{{{{zz{z{|||{}{z{{{{z|z{{{{{{||z{{|{{{{{{{{{{|||||{|{{{z|{|||{{}{{{{{{{z|{{{{|||{|{zz{{{{||||{|{|z{{{{{z{||{|||{{{|||{||||{}||{||{{|{{|{{|||||||{|||z{{||{|}|{|||z{{{z{{{|||{{||{|{{{{{|{|||{}||{{{{{{zz{{{{||||{{{|{{{{|{||{}|||{{|{z{{{{{|{~~~~~~||}||||}}|}}||}|{|z}||{||||}|||{|{||z||{}|{}{{|{{z|{{|||{|||{{z{{|{{z{{|{{||{{{{z|zz{{{|{{|{{|yzz{{zz|{||{{{{{z{z{{zz{{{|{{}{{{{|{{{{{|{{{{{|{z{{z{zz||{||{}{{{{z{{|z{{{|{||{|{{zz{zz|{{{z||{zz{{z{zz|{|{|{|}||{{{z{{{|{{|{||z|{{|{{{||{{||{||z{{{{|{{|||{||{|{{{{{{|{{{{{|||||{{{|{{||{|{||{|{{|{{{{||||{}{|{|{|{{{{||||||||{{||{{{{|}|||||||{{{{{|{}||}||}||z{|{{{{|}}{{||||{z{{{|z{{|{|||||{||||{|{}|||}|||{}|{|{{|||||||||{|{|z{|{}|{||}|}{||||{|||}|{{}|{{{{{{{{{||{|{||{|{|{{{{}|||{|||{{{{{{z{{{|{|~~~~}}}|}|}}}}}}}}}||}|{||||||||||}}|{z{{{||||{{||||{zzz{{{{{|}||||{{|{{{{{{||{{||{{{{{|{{{|z{{|{{|{zzzz{yz{{{|{{|{z{z{{z{|{|{{|{{{{{{{|zz{{|{|{{||{|z{zz{z{|zz{{}{|{zzz{{zz{zz{|{{{|{{z{{{z{|{{{{|z{|{zz{zz||||||||{{{zz{{{||{{{||z{||{{{|||||{||{z{{{z{{{{{|{{{}}zz{{{{{z{{|||{{{{{{{{{z{{|||{{|}|{{{{{|{|||{{|{|}{|{z{z{|{|||||{{{{||{{{||{}|}||{{{}{|z{{|||||||}{{|{z|}||}{{|}||{|{||||||}|{|||{{||{z{||}{|}}}||{{}||{z|}||{||||||{|{||{|{{|}}}|||{|{||||}||||||||{|{{{z{|||||{|zz{{|||{|{|{{||z{{|{{{{{|{{{~}~}}|}||{|}}|~{|}}}{{|||||||{}}|}}{{{||{|{|{{||||||{zz{{{{{||{|{|{{{zz{{{{{z{{|{{|{{|{zz{{{|z{{|z{{{{{z{{{|z|{|{{z{{z|{{{|{|{{|||{z{|{zz{z||{{||||{zz{{zzz{{|{{{|{z{{{y{z{{{|z||{{zzz{{{zz||{||}|zy{{{{z{z{{{{|{|{{{{|z{||{|{|||}z{{z{{{{{||{{{||z{{z{{zz|{{|{{|}{{|z{{{{|{{{|||{{z|{zzz{|{||||||{z|{{{{{||{|{||{z|{{{|{{{|||{||}|{|{{z}{|{|}||{{|{|{z{z||||||{}{|{{z{|{{|}|{|}|}{{|{{|||{|{|||}||z||{{{||||{|||}|{{{{||{||{|||||||{|{{|{{||||}}||||||{{z}{{}}||}{{{{{{{{|||||{|{||{{{{{{{|{{{|||{{{zz{z{{{|||~~||}|||}}|~}}||}|}||{{|{{|||||||}|{}{zz|{{z|||{|{|{{{||{{{||{{|{|{{z{{z{z{{{{{|{|{y{{{zz{|{{{{|{{{z{z{zzzzzz|{|z{{zy{{{yz{z{{{}{{{{{{zz{{z{|z}|{{{z{zz{{z{||{{||{zzz{z{{zz{{{{||{z{z{{z{z{|{{z{z{y{{z{zzz{{|||{|{|z{{{zz{|y{{{|||{{{z{{{{|z{||{{{{{{{{{{z{||{{||{{|{z|zz{{|{{{||{|z{z|{{z|||{{|{{|{|{{{{{|||{{|{{{z|{|{{{}{{||||{z||z|z{{{|{|||}|{{{{{{zz||{||}|||{z{||{||}||||||{{|{{{|{|{{||||||{|{{{|{{}||||}{|{{|{{|z||{||}|{}{{{|zz{|{||}||}{{{{{{{{{|{{|||||{{{|{{{|||||||||{z|{{{z{|{|{{{{|z{{z{{z|{{{|~~}}~~}}||}||}}}}|}||}|{||{|{{|||{||{}{{{{|zz{{|{|{{{|{||{{z{z|{||z{|{{z|zzz{zz{{z{{|{{{zz{zz{{{|{{{|{{{{zz{{zz|{|{{||zz{{{{zz{{{{{{|z{yzz{{{z{{{z|{{{{z{{z{{{z{{{|{{{{{{z{zzzzz|{{{{||zzz{z|{y{{{z{{{{{z|{{zz{{{||||{{{{z|{{{||{{|{{|z|{z{{z{z|{|{|||z|z{y{z{|{||{||{{z{{{z{z{|||{}{{z{|{{z{z{{{{|||{{{{{|{z{{{|z|{|||{}{{{{{{|||||||{|{z|{{{||{||||}{{z{|z{{{z{||{|||z{z{{{z|||{||}{{{||{{{|||{{|{||}{{z{||{{}|{|||||{{|{{{{{||||{}|{z{|{{z{|}||||}}|}z|||||||{||}{|{|{z{z{{{|{{{|||{{{{{|{z{|{}|{{|z{{z{y{{{{|{{}~~~~~}|}||}}||||}}|||{|z{{||{|||||||zzz{{zz{{|{|{{||}||y{{{z{{{}||{{{{{y{zzz{{|{{{|z|{{{zz{z{{{{|{{{{{{z{z{{{{z{{{{{{{{zzz{z{|z{{|{{{{zzzzzz{{{{|z{{{z|{z{z{{{{{{{||{z{{zz{yz{z{{{{||z{zzz{z{{|{{{{{{z{{{{{z{|{|{||{{{|{zz{{z||{{|||zz{{{zz{{|{{{|{|{zzz{z|z|{|||||{zz{{{{{{z{|||{{{z{z{z{z{{|z{|{}}{{{{z{z{|}|{z{|{z{|{{{{{||{||{{||{z{{||{{|{}||||{{z{z{{{z|||}|{||z{{{{{|||{||||}|{{{{|{|{||{|||||{z{{|{{{}||||}||z|{z{{{{}|{||}|||{{|{{|{{{{~|||{{|{|{{{{|}||||||{{{{{{{{||{|{||{|y{|{z{|{{|{{||zy{{zz{{{|{|{~}~~~}}|}|||{||}||||}}|{{{{|{|||{|||}|||{{zz{||{{{{|||{{{{{{{z{{{|{||{{|z{{{{{{{{{{}{|{{{zzz{{{|{|||{{{{{zzzz|z{{{|{|zz{zzzz{{{{{{z||z{z{zz{{{|{{{|||{{{zz{zz{|{{zz}|{z{zz{{{z{{{z||{|{{zz{z{z|{{{{}{{{|z{|{zz|{||{||{|{{{{{z{||{{{{}|{|{z{{{z{||{{{|{zz{{{z{{{{{||||{{{{zz{{z|||{||{{{||{z{{||{|{|}|||z{{{{{{{{|{||{{z{{z{{z{|}{|{}{{{z{{{|z||{{{|||z{{{|{{{|{|||||{|z{{{|{{{|{|||||{{{|{|{{{|{{|||{{{{{{{{{{||||||||{|{{{|{|{|||{}|{{{{||{|{{||||}||{||{{{|{|{||{{|{{{{|{|{{{{{{|||{{{{|{{||}||{||||z{z{{{{|{{||~~}|||||{{|}||}}||}|{{|{{|{|{}|}{|||{{{z||{{||}|z|||{{zz{{z{z||{{||zz{z{{|z{{{{z{{|{{zzz{{{z||{{}{{zzzz{{z{{{{{{{{{z{z{z{zz{|z|{{{{{{z{{z{z{{{{{{{|{{{zz{zz{{{{z|{|{z{yzy{z|{{{{{{{{zzz{zzzz|{{{{z|{z{{{{{z{{{||{|{zzz{{z{z{{|{{|||{z{z{zz{|{{y||{{|{z{z{{z|{||{|||{{|z|{{{{z{{||||{z{{{{{{{{{{{{||||{|{{zz|{{{|{|{|z{z|{{{z{|{{{{||zz{|{|{||||{{||{{{|z{{{|{||{|{{{{{{z|{{|||{|}||{|{{z||{{}{|}|||}{|||{|{||||{}||{{{|{{{{|{||{|||}|{{|{{{{z|{|||}||{|||z{{|{||}}}{{{z{{|z{||{|{|||{{zz{{{{{{|{|||{{{zy{{{|||{{~}~~~~}~}|}}|}}||||}}||z||{{{|{{{|||}|{{{|z{{z{|}{{|||{{{z{{{|{{{{|{{{{|z{{zz{}|{{{|{zz{z{z{z|{{{z{|{{{zzzz{{{z{{z|{{z{{z{y{{z{{{{{|{{zz{z{{{||{z|{{{{zzzz{{z{{{{|z||zz|{z{z{z{{{{z|{{{{zz{{z{|{{z|{{{{z{z{zz{|||{{||{|z{{z{{{|{{|z|{z{zz{z|{{{{|{{||{z{zz{zz{{|{{z{|{|{{{z{|{{|{|{|{{{|{|{{z|{|{{{||{z|||z{z{||{{{|{|{z{||z||{||||}|z{{z|z{z{||}||}{z{{|{{{{||{|{|{||{z{z|{z{}{|{|||{{|{z{{{{{{||}||{{{{{{{|{|}||{||{{z{{{{{{||||||}|zz{|{y||{|{{|}||{{{{{z{{{||||{}|{{{z|z{{|{|{{|{{{{{{{{{|{|{{|{{{{zz{{{{||}{|~~~}~}~|}}|{}|~||}}}|{}{|||{|||{|||{{{|||z|{|{}|{{||{{{{{{z{|{|{{|{|z|{{{{{{z|||{|{{zzz{zzz{z{|{z|{{{zz{{z{z{{{|{||zzz{{{zz{{{{{z{{{{{{{z{{|{{{{||z{{{{{y{zz{{{{{{|{z{{z{{z{z{|z||{{{{zy{zz|z|{{{|{{{z{{|z{z{{{z{{{{|{{zzz{|{{|{{{||{{{zzz||{{{|{|{|z{{{||{{{{|{|||{{z{{{{|{|||{{|||{{|z|{z{{||||{|{{z|{|{{{{|||||{|{|z{{{|{|{||{}|{{|{{}z|{|{|}|z{||||{{zz{||||||}|{z{{{{|{||{||||{{{||{{{z||{|{|{}||{{{{{|{|||||}|||{|{{|{|||{|||||{{{{{{{|{{{}}|}|{{||{{||}{||||{|{z{{{{{z{||||||{{{{{{{z{{}|{{{|{{{{zy{z{|{{{~~~~~~|}}}{{||}}}|}}|}|||{||{{||{|||}|{|{|{z{z|||{||{|{{zz{{|{z{{z{|{{{{z{zz|{{{||z{|{{{{z{{{{{{{{{{{zz{zz{z{zz{{z|{|{z{z{zz{{{{z{{{{{{zz{yyy{zz|{|z|{{zz{{{zz{{{{{z|{{z{zz{{zzz{|{{{{{z{zz{zz{{{z{{z{{{z{|{{{|||{{|{{|{|{zzz||}{z|{||z{{{zz{{{{{{{{||zz{{zzz{|{|{|||{|z{{|{|z{|z{{||||z{zzz{{{{{z||}|{z{{{zzy{|{{{|{{|z{{|{{|{{||||{|{{|z||{{{{{}{||{|{{|{{zz|{{{|||{||{zz{|{{|{||||}{{{{{{{{|||||{|||{{{|{{z|}|}|||||z||{{{{{|{||||||zz{{{{z||}|||}|{{z{|{{||||{|{{|{{|zz||{{|{|z|||{{z{{{zz|{{|{|{|zz{{zyzz{{|{|}~}~~~~~||}|||}{}|}}}|{|{{{{{|{|{||}}{{{z{z{{{|||{{|||{|zz{{z{{||{{|}{z{z{|{{{z{z{||{|{z{z{{{|||{{|{{{{{zzz{{|{|{{z{{z{{{{{{z{{{|z{{{{{zzz{{zz{{{|{{{z{{{{{{{{||{{|{{{{yzz{{z{|{{{{{|{{zzz|{{{{z{||{{{{{z{{zz{|{|{{{|z|z{{z{{||||{{|}{z{{{z{|{|{||{||{{{{z{{z{|{{||{||{{{{{zz|{{||||{{{{{{{z{{||{{{|{{{{{{zz{|||{{{|}z{{}|z{||||||{}||{zzz{|{{|{||}|}{{{|{z{{{||||||{}||{{{||{|{{||}|||{{{}}|||||{||{||{z{{z{{}|||}|||z{{{{|z||}|}||}{{{{|{{|||{|}}}{}|z{{{||||{}{|||z|{z||{z|{||}{||{|z|{zz{{|{|||}|{{|{{z{z{|{|{~~~~~}}|}||||||}}|}||~|{|{{{|{|}{|}|||{z{|z{||{{|}{||}{{z{z{||{{{{{{{|{z{|{z{{z|{{{||{{z{zzzz{|{{{{|{{|{{zz{zz{{{{{|{{z{zz{zz{{{{{{{|{{{zzz{z{{||{{|{{zz{{{zz{z{|||{|}{zz{{zzzz{z{|{{|}{|zz{zz{|{{{{|{{z{{|{{{z{{{|z{|{{{{{{zz{{|{|{||{{{{{z{z{{||{{{{{|{{{zz{{||{|{||{{{{{z{{||}z|}z{{{{{z{{z{||{{{}||{{|{{{{{{||||{}{{{y{{{{{||{|}|{|||{{{{{{|{|||||{{{|{{z{||}||||||{|{{{|{||||{}}|{{zz}|}{{{|{|||||{{|||{|{}|||||}|||{||{{|||}{||}{z{{{{||{|||||||{{{{|||{|}|}{|||{{{{{{{{||||||{|{{|z{{{z{|{{{{|{{{|{{{{z{||{{~~~}~~~}}|||}|}|}}}}}}|||||{}{|{|}||}||{|{z{{{{||}{|{||{{{yyz{|{{|{|{|{{{z{{{z|{{{{{||{{{||zz{|||||{{{{{{zz{{z{{{z{||}{{{{{{{z{{|{{{|z{{z{{|y{{{{{|{}{|{{{z{{z{{|{|{{{{zz{zzz{{{z|z|{{{{zz{{{z{{||{{||zy{{{z|{|{{{{{||{{z{||{{{|{|{||{{{{zz{|{|{|{{|{|{||{{{z{{|{}|{||{{z{{{{{{||||||{{{{zz{{{{||||{|{{{z{zz{||{|{{|{{{{z{{{{{{|||{|||z{|{|||{|{|||{}}{zz{}z{{|||{|{}{{{{{{|{{|{|||{}}{{||{||{{||}}|}}{{{{{|{{{|||||||||{{|{{{|||{{|||{{|{{{|{|}|{|}|{{z{||zz{{{|||}}}||{||{{|{||{|||}||{z{{{z{|||{{{}|z{{z|{z|||{|~~}~~~~~}}}|}|}|||}|}||~}|{{||{{{|||{||||{{{{{z{{|{|{{|}||{{{zz{{||{||{{{z{{{{{{zz{{{||{{{{z{zzz{|{|{z|||zzzzzz{z{{{{z{{|z{y{zyyz{z|{z{|zzzyzz{z{{{|z{{{{{zz{{{zz{{{z|||{{z{zz{zzz{z{{{{{{{{{{{{{{{{{|||{{{{{{zz{{z{{z{z{{{zz{{{{{|{{||{{{{{zz{{{{{{{||||z{zz{{{{{||{{{|{{|{{{y{{{{{|{||{zz{{{z|{z{{{{{||{{{{{{{{||{{{|{|{{{z|{||{|}{{|{{{{z{|{{|||{|{{||{|z|{{{z|||{z|}{|z{{{||{||{|{||}|{{{|{{|||{{||||{{{{z|{{|||||||}|{|{{{{{|{|||||||z|||{{{{|{|{||}|{{{|{z{|{|}}|||}||zz{z||{{||{|}|{z|{z{{{|{||{||{{{{zz{z{||{|~~~}~~~~~~~~||}||}|}|~}}}}}||{{||{{z|{||||}|{zz{{{{z{{{|{||||{{{zzzz|{{{{||}{{zzz{{z{{{{{|{zzz{{z{zz|{}{{|{z{{{{z{z{{z{{{{||{zz{zzzz{{{{{||{{{{z{|zz{zz{{{{|{{{{zyzz{{{|{||{{z{zzzz{{{{{{{|{y{z{zz{z{{z{z{|{zz{z{zzz{{||{||{{{{{|{z{{|{{}{{|{z{zz{zz|z{{{||||{{zz{{{{|{|{{{||{{|{z{z||{|z}|{{{|z{{{{|||||{|{z{|{z{{{|{||{{{{{{{z{{|{}{|{|||{{{|{{{{|{||||||}{z}{{{z{{|{|}{||{{{{z|z||}|{|}|{{{|{{{|{{|{||}||{{|{{{||||{{}|}}{{|{{{{{|{{}|||||{{{{{{|||}|{|}}{{|{{z{||||}||}|{||{{|{{{{|{{||}}z{z{{|z{{|}|||{{{{z{zzz|{||{~~~~~}}}}~}||}||{}}}||}|}|{|{|{|{}{z|||||{|{{{{{{{{|||{|||z|z{zz{{|{{z{||{{|{z{{zy|{{{z{{{{{z{|zz|{{|{{{z{z{zz{z{{{{{{{||{zz{zzzzz{{{{|{{|yy{zz{zz{{z{{{|{z{{zz{{{|{|{{{|z{||zz{{{{{{z{{{{{{z{zzz{|{{{}{|{{zz{zzz{|{{|{||{{{{{{{z{|{{|||}{{z{{z|{{{{{{|{{{{{{{{|{|{{{|{|{{|{{{{{z{}|{{|}{zzz{{z{z||{||{|||{|{{{{{{{|{{||||{{{{{|z{|{|{|}|{{|{{{{{||{}{|||{|{{{{z{|{||{|||{|{{|{{{|||{|||||{||z{{{}{||||}||{{{{{{||}|||{}||{{{z{{{{||}{{|}|{{{{{|{{||{{||}||{{|{{{||||}|{||{|{|{z{{|||{||{{{z|{|{{{||{{|}{|z{zz{{{|{|||~~~~}}~}}}||}}{|}}|}}{{|{{|}|{|}{|||}|{z||{{{z|{{{}{|{||{{zz{{z{|{{{|{{{{zzzz{z|{{{z|{{{{{{zzz{z{|{|{||{z{z{{{z{z|{{{{}zzzzzz{z{|{{{{{z{zzzz{{z|{{{z{|{zz{zz{zz|{|{|{||{z{{{zzz{{{{{{{{|zzzz{z{z{{{{{{|{z{z{{zz{{{{{z|{{z{{{{{z{{{{{{{|{z{{z{{{{{{{z{|||z{{{{z{{{|{|{{{{{{z|z||{{{{|{{{zz|{{{{z{{||||||{z{|z{{{|{{z{{||{{|{|{z|{{|}|||{{|{z{{{{|{{|{{||zz{{{{{{|{||||}{|{{z|{|{||||||||{{zz{||{||{{||{||z|{z{{{||}{|||||z|{{{{{{}{|{|}|{z{{{{|{||||{||||{{{{{{{{|}|{{{|{{{z{{{z{{{{||{||{{z{z{{{{{}{{|{{z{z{|{{{||{|~}~~~~~}~~|}||||{|||}||}|}|||{{{{z{{|||||||{|z{{{{|||{|{|{{z{zz{{z{|{|||{|{z{z{z{z||{}{|{{z{{z{y{|{z|z{||{{{|zzz{{{{{{z|{{{{z{zyzz{{|{{||zz{z{z{{z{{{|{{|{{|zzz{z{{{|{{||{z{z{{z{z{|zz|{z|{z{z{y{{{{{|{{||{{{{{zzz{}{{{{{|{z{{{{{z||{|{|{|{{z{zz{{||{{|{{{|z{z{{z{{{{|||||{{{{|zz{}|{|||{|{z{{z{|{z{|{|||{{|{||{{{||{z{||{{|{z{{z{|{}|||{{{||{{{{{||{|{|{|{||{zzzz|{{||{|{}{{{|{|z|}|{||||{{|{z{|{{|{|}||||{{{{{{{{||||||||{{{|{{|||||||{||{{{|{z|{{{|{{||{{{||{{|}|{}||||||{zzz|z{{{|{||||{{z{z}{{|{}||{||z|{z{z{|||{{~~~}~}~}~~|}}|}}||}||}|~}}}|||{||{~{|||}{{|z{{{z{|{{|{{{}|{{{{{z{z{{||{{{}{{|{{{zz{{|{|{{{{{zz{z{{|{|{{{{{{zz|z{{{{|{{{{||zz{{zzzz{|{|{z|}{{{{z{z{|{{{{|{{{{{z{z{{{{{||{|{z{{zzzz{{|zz|{z|{{{zz{{{zz{{{|||{{{{{z{{|z{}{|||{{z{z{z{{}{{{{{|z{{{zzz{z|||{{||{{|{z{{{{|||{}|||{||{zz{|{|{{||{{|z{{{{{|{{|{{}}|{{{{{{||||{{{|{{{{z{{{{|{}||}||z|{||z{{||||{|}|||{{|{|{{||||{|}|{{{{{{{|||{{{|||{|{|||{|||||||||{||z|{||}}}}||}|z}{|{{{||||z|}||{|{{{{|||z||||}{|{{{{|||{||}{|}||{{{{||{|{|||}|}{{{{{{{|{|||{|{{{|{|zzz{|{{|~~~~~}~~~}~~}}}||}{~}}}}||}~}}{{|{{|{|||{}|}}|||{{{{||||}{|||||zzz{{z{{||{|||{z{|{{{{{{{{||||||z{|{zz|||{||{{{{{{z{z{{{{{{{|{{z{{{|{z|{|{{}|{{{{{{zz{{{{{|||}{{{z{{{{{{{{{{||{{{{{z{{{{|{{{{|{{z|{|{zz|{{|||{z{{{{zz|{||||{||{{zz{{{{{|{{{||}zz|{{{{{|||{||{|z{{{{z|{|{|{||}|{zz{|z{{|{|{{|||{{{{{{{{||||{|}||{|||{{{|{{{{}{|{{{{||{|||}||||}{||||{||}|||||}}|{||{zz{|||{|||||||||{{{}||||||}{||{}||||}|}}|||}{|{{{{||}}}|}{}||{|{|}|||}|}}}||{{{{}{|{||{||}}|||{}{|{|||||}|}|{{|{|{{||}{}||}{|{|{|{{{}{|||{||{|z{z{{|||{{~~~}||}~~}~|~~|}|}}|{|}|}{}}|}||{{||{|{{||{|}||{{|{{{{{{{|{||{{z{{{z{{{|||{|{{z{zz{zz{{|{z{{{{|{{zy{{z|z{zz|{{{{zzy{z{z{z|{{|{|zz{{z{{z{||{|{|{zz{z{zz{z{{{||{{{z{z{zz{|{{{z{||{{{zz{z{{|{{{||{{{z{{z{{|{{{||{{{zz{|{z|{|{{{{{{zz{zz{{{{{{{|z{{z{z{{|||{{z{|{|z{{zzyz{{{z{||{|{{{{{z{z{{||{||{{{{||zz{|{||{{}{{{z|z{{z|{||{||||{z{{{|{|{|}{{|{{{|z|{|{{{{{||}|{{{|{{z{|{{|{{|||z|z|{{|||}||}||{|{|{{|{|{|{|}|{{{{{z}{{|}{|||}||{|{|{{||||||||{}{|{{||{||{|{|||{|{||{{||{|||}|}|{{{{{{{|||||}||||zz{z{{|{|}{{|{{{{zz{zz{|}{}~~}}}}}}~~}~}}}|{}|||}|~}}||}}|{{{||{|{||}}||{{{{{|{{{{{{{{||{{{{{{{{{{||||||{|{{{{{{{{{{z{|||z{{{z{{z|{{{}{{|z{zzzz{z{{|{{{}z{zzy{{zz|||z{|{{z{{z{z{{{{{||{|{z{{z{|z||z||{|{zz{z{zzzz{{{{|{{{{{z{{{z{{{{{{|{z{{{{{{z|{|{{{||yzzzzz{||||{{|||z{|{y{{{{{|{|}||{{{{z{{{|{{{{|{|{{{{|{{z{{||{|}|{{{{{{|{{|{|{{||{z{{{z{{{{|{{|||z{z{{|{||{||{}||{z{{{|{{||||||{||{{{{{{{{|||{}{|{|{{|{{z}||||{}|z{|{{|}{||{|||||{|||{||{|}|||||}|{{{|{z||||||}{||{|{||{{{|{{|{||}{z{|{|||||||||||{{zz{{{{{{|{||||{{|{{{z{||{{{|{{|||zz{{{||{{}}~}}}}~~~}~}}}||||{{}}}}}|}}}}||{|{{|{||||||||{{{{z{{{|{{{||}{{{{zz{z|{{{{{{}{{{z{{|zz||{{|{{{z{{{{z{{|{{{{{|{{{y{zz{|z{|{z{|{{z|z{zz{{{|{{||{{z|z{y{{z|{||{|{{{z{{zz{z{||{||{zz{{{z{{{z{z{|{|{z{{|{{|{{|z|{{{{{{{{{{{{|{{||{{z{z{{{||{{|{|||||{{{z{{||{{|||{{{{{z{{|{{||{{|{|z{{{{zzz{|{{||{{z{zz{{z{}|{|{||||z|{{{{{}{{{{|}||z{{{{{{|{|||||{{{z|{z{{{||y{|}||{|{{z{{{|{|||||{{{{z{{||||||}||{|{{}||||{|{||||z|{{{z{{|{|||||||{||{{{||||{{|||z{z|{{{{|||{|||{{{{||z{||{||{||{{{{{{{{{|{||}||{z{{{|{{|||||||{||{{{{zz{{{||~}|~~}~~}~|}}~|{{|}|}}|}}}}}}|{{{{{{{}{{|{}{}{{{|{{|{{{{{{}{{{|{{zzz{|{{{{|{{{{|{z{zz{{|z{}|{|{{z{{zz{{|{{z|{{{|{z{{|{{|||{|z{{{zzz{{{||{|{|{|{|{{zz{|||{{{||{{{{z{z{z{z|{||{{{{zz{{z|z{{{|{{{{{{{|{z{|{{|{||z{{{{zz|||{|{{||z{{{{z{{z{|{||||{{{{{{|{{||{{||}{{{{{|z{{||{|||{{{|{{{|{|||{|||}|{|{z{{{||{||||{{z{{{|{|||{{{||{{|{z{{{z{||||}}|{{||{|{{|{{{{||||{{{{{z{z{|}|||||{z{||{{}||||}}}{||z{{{|}}|}|{|||{{|{{|||}}{{|{||{||{|{{||{{||}}}||{|z{{||||||}||{|{|{{}{||}||||}{{{{{|z{||{|{|||{{{zz{{{|{|{||||{{{|{{{|z|{|~~}~}~~}~}}}~}}}|{}||{||{}|}}}{{{|{{{||{|||||}|{{{z{z{{{||{{||{{{z{{{z{|{{{|{{{{|{z{{{|{{{{{{{{{{z{z{{|{|{{{{|zz{{{{{z{||||||}{{zz{{zz{|{{{{{{z{{zz{z{{|{{|{{{zz{z{zz{{{{{{|}{{{{{|z|zz{|z{||z{{zz{{{{{|{{{|||{z{yz{{{{|{|{|}|{{|z{{{{||{{{|{}|{{{{z{{{|{{|{||z{{z{{z{{{|||{||{{|{{{{z{|{||{|||z{{{{|{|{{{{{||{|{{{{{{z{{{{|{{z{z{|{{|{||{{|||{{{||||||{{|||{|{{|{{{{{|||{||}||{{{{{z{{}|{||||{{z{{}{{|||||||}|{{{{|{|{}||}|~}{{|{{{{{|||{||}|{{{{{{{||||||||}|}|{{z{{{{||||{|{{{{{{{z{}{||||||{{|z{{{|{{|}||{{{{z{zz{|}{||}~}}||}}~}}|}}{{||||||~|}||||}||{{{|{z||||||{|{{|{{{{{{{||{|}{{{z{{|{{|z||{{{|{{{zz{{z{|{|{|{|{zzzz{{zz{{{{{zz{|zz{{zzzzz{|{||{{{{{z{z{{|{{{{|zzz{{{zz{|z{|{|{zz{{zz{zy{{|{|{{{{{z{z{zz{{{z||{{{z{|zz{|{||{}|{{z{{|{{z||{{||||{{|{zzz{{{{|{|{|{z{{{z{|{{{||{||z{z{{{z{|{||{|{{{{{z{{{{{|||||||{{{{zzzz|||{{||||{{z{|z{|{|{z{||{{{z{{{|||||{{}|{{|{{{{{||||||{{|z{|{{{{|||||{|||z{z|{{{}||}|||}{{{{z|{{{|{{{|||}{{z{{{{{||}|}}{|{z||||{|{{||{|||{||{{{{{||{|}{|{{{z{{{{|||{|||}||{{{z{z||||}{|||{{|{{|zz{{{{{{|{{|{{z{{|}{{|~}~~}}}}}{~}~}}}}|||||{|{|||}|||}|{}zzz{{{{|}||||{{{{{{z|{||||{|{|{{z{{{{{||{z{{||{{{{{zzz|z{z|{{{z{{zzz{{z{{z|z{z{{yz{zz{{{||{||{{zzz{{z{{|{{{{{zzz{{{z{{{{{{{||{{{{zz{z||||{{{{{y{{{zzz{{{{{|z{zy|{{zzz{{{{z{|{z{{z{z{{||{|z{}zzy{{{zzzz||{||{}{{{{{z{{{{{{{{{|{{zzzzz{{|||||{{{z{{|{|z{}||{|||{{{{z{{{{{{{{|||{{z{{{z{||{||{||{{{{{{|{{{||{|}|{|{{{{{|z||{||||||{{{{z{{|||}z}{|{{{{z{{|{||||||{{z{{{{{|{{||}}|{{{zz||{|}||{}|||z{|{||{||{|||{||{{{|{{{z||||||}|{|{{{{{|||{{{|~{{|y{{{|{{{{{|{|||{{{{|{{|||{||{{{{zzz{z|||{{~~~~|~~|~{|}}}~~}}|{}|{|{|||||}||}|{|z|zz{{|{||{}|{{{z{{z|||||{|{{{{z{{{{|{|}{|{|{{{{{{{y{|{{||{{{z{|z{zz{{|z{{|{{z{{||zz{{{|{|{|{{|z|{zz{{|||z|z{zz{zzy{|{{{{{||{{{zz{z{|{{{|{{|{{{{zzzz|{|{{||{{{zzz{y{z|{{{{{{{{|z{|{{{{|{{{||{z{z{zz{{|{{{|{|{{|{|z|{{{{|{|{|{{|{{{{{||{{}|||{||{|z{|{{|{|||||z|{{z{z|}||{{|||zzz{zz{|}|{{}|{{{||{{{{{{|||||z|{|{|{|z|}{|{|{}{{{|{{{{||||||{||{{{{{z{||{{}|}}{{||{{|{|{{||}}|}{{|{|{|{}|||||||{{{||{{}|{|}||}{{{{{{{{|||{{||}|{{{{|{|||{|||||{{z{{{{{{|||{|}{|{|{{{|{{|{|||||{||{{{{{{|{zz~}~}}|}~~|~~|}}}}}||}|{{||}||{||||}|{|{{{{{|{||{|||{{{{{zz{|{|}{{{|{|z|z{z{{||{|||{z{zz{{z{{||{{{{|{{{{{{{{{{z{{{{z{z{zz{{{|{{z{{|{{z{zzzz{{{{z|}|{z{{zzzzz{{z|{{{z{{{z{{{{z|{{|{{|{|z{z{xzz{{{{{|{z{{{{{{z{{{{||{|{{z{{zyzz|{{{|{{zzzz{z{{|||{||{{{z{zz{{{{{{{|||{z{zz{{{|{{{{{||z{{{{z{{{||{{{|{|{|{zzz{|||{{{|{{{{{||{{||{{|||{{{{{{||z|||{}{~|{|{{{|||||||{|}|{{{|{{{{{|{||||{{z{{|z{{}|{|||}|{{{{z|||||{|||||{{||{{{||||||||}{z|{{{{{||||{||||{z{{{z}|||||||}||{|zz{{|{||{|||{{|{{{{{{|||{||}{}{{{zz{||{|{{{{{z{{z{z{|{|||~~}}}}|}}}}}}}|}}|{{|||||||{}|||}|||{{||{||{||}|||{z|{{z{|{{{|~}||{{{z{zz|{}||}{|{z{y{{{{{||{{|{||z|{zz{z{z{{z{|{{{z{{{{z|{z|z|||zz{zz{{{{{{{{{|{|{{{zzyz{{||{|{|{{{|{{z{|{{|{||{z{{{z{zz{{{{z{{|zzzzz{zzz{{|{|{|{|{{{{z{|{|{{|||z{{z{z{{||||{{{{{{|{{{{z|{{|||{|z{{{{zz{{{{|||||{{{{{zz{{}||||||||{{{{{{{{|{{{||{z|{{{{{{||{{|}||{|{{{{{{|||||||{z{{{{{{||||{||{||{{|{{{{|||{}z||{{{z{|{|}}|||}|zz{{{{{|{|{||||{{{z|{|{|{|||||}||{}{{{|{}|{|||}|}|{|{{|{{|{|}|||}{{{}z{{{||}|}||{{{{{{||{{||||}}|}{|{{z{{{|||||{{|{{{{{{{||||~~}}}~|}||~}||}|}||{|||{|}|||}}|}}{{z{||{|{||{||||{z{{{{{{{{}{|{||{{{zz{z||||{{{}z{{{{{{z{|{{{||{|{|{{{zz{|{{z{|z{z{z{{{{{{{|{||{{{{{{{{{{|}|{||{{zz{{{{{{z|z|||{{{{zz{{{{{||{{{|{z{z{z{z{{|{{{{z|{{z{{{zz{z{{|{|{z{|{{z{{}|||{||z{{{{{z|{{||{|{}{z{y{{{z{z{{|{}||z|zzzz{{|||||{|{{z{{z{{{|||||{{|z|{|{{{|||{|z||{{{{{{{|{{|||{{|{||{{||{||}|||{||{{z{{{|||{|}{|}{{{}|{{|{|||}}||{{{{{|{{|||||||||{|{{{||{}}|}}|}}|{{{{{{{}}||||{|{{||{|{||}}{||||{{{{|{{{{|||||}{|{||{{{|||||}|||||z|{{{{|||||}||||{z{zz|}{{|{|||{{{z{{|||}|{}}}}}}}}|}|}}}}|~~~{|}|}|||||{|}|}|||{{{{{||}|}||}|||||z|||{}|{||}{{z{|{|{{{{|{|{}|{{zz{{z{{z{{|{{{{z|{z{{z||{{{{{{{z{zz{z|||{{|||zzzz{|{zz{{{{{{{{{z{{zyz{|{{{{|{|z{{{{z{{{{|||||{|z||z{{{{{{{{||||{{{{{z{|{{{|{|{{{{{{{z|{{|{|{{{{{{|{z{{{|{|{}|{{{{{{|||{{{{}|}{{{z{{zz{{z|{|{|{{z{z{{{z||{||||{z{|{|{{{|||{|}|z{{|||{|||{{|{|{{|{|{{{{|}{|||||{{{z{{{|||||||}|{{z||z{{}}||||}|{{{{{{{{{|}|}|||{|{{{{||||||{|||}{{{|{|{{|{}|||||{||{||{}|}||}{|}{{||{|{|{{||}}||{{{|{|{|||{{|||{|{{|||{{{|}|{{{{|y{{|{z{||||{{|{{|{{{{{z|{|{~}}~}|||}}||}}|}|||{{|{{{|{{|{||{|{||zz{{zz{||{|{|{|{|{{z{z{{||{{||{{|{{z{z|{||{||{|z{z{z{{z{|{z{z{{z{zzzzz{{{{{||{zzzy{{z{{{zz{{{{zy{{|z{z{{z|{{{|{{zzzzyz{{{z|{||{{{zz{zyz{{|{||{{z{{zz{{zzz{{{{|{{zz{zzy{{z{z|{{zz{{zz{z{{{|{{{|{|z{|yzzz||{{{{{zz{{zy{z{{|{{{{|{{zzz{zzz{|{{{{|{z{zz{{{|{{||{||zz{{{z{{{|{{|{|z{{{{{{{{|{{z{{{{z{{{z|{|{{{{{|{|z{{{{z{z{{{|{{||{|{{{zz||||||{{|{|{{{z{||||||z{}{{{{{{{||||{||{|{{{{{{{{{||||||{|{||{z{|}||{||{||z{|{{{{{|{||||||{z{{{{{{{{{{{{|{||{{{z{{{{{|{}|{{{zz{{{||||{|{{|{{{z{zz{{|{{~~}||||}|||}}}|~}~}||{{z{|{|{||{}|||{{z|{z{|{}{|{||zz{{zz{z{|{{{|||{{|zz{{z|{||||{{zz|y{z{{z{{z{|{{{{zz{{{zz|{z{{|{{{zzz{zz{{z{{{z|zzz{{zzz||{{|{{{zzzzzz{{z{{{{{{zy{{{zz{y{{{{{|{{|{{{zzzzz{{{{{{{{z{z{|zz{{{|{{|{{zzzz{z{{z{{{{{|{{y{|zzzz{|{{{|{{zz{{{{{{z{|||{{{{{zzz{z|||z|{|{|{{z{zz{{|{{{{|{|{{z{{zz{{||{{||{{{{{{{{{|||{{|||{{{zz|{{||}{{{|zz|||{{y|{|{|{{|{{z{|{zz||}|||{|{z{{z{{{|{{{{{||{|{{{{||{|{{{|{|{|{{{z{{||{||{|}||{|{{{{|{|}||||{{{{|{{{{{z{{||{|{{{{{{|||||{{|}|{{zz|{z|||}z|}{{|||z{|z{|||{{}|{z{z{{zz}{{{{~~}}}|}{|{}~}}{|~|{||||{|{|{{{|}||{z{|{z{{|{|{{}|{}{{zyzz{{{z{{{||{{zzz{zz{{{|{||{zzzz{zzz{{{z{{|{zz{{{{zz{{{{{||zzzzzz{{z{{{{{|{|{{{zz{zy{{{{z{||{z{{yz{{{{{{|||{{z{{{{zz{|{|{{{z{{{{{{zzy{z{{{{z{{z|{zzyz{|{{{{{{z|{{|zz{z{z|{|{{z{{zz{{{|{{{|{|{{{z{z{z{{{{{|{|z{{{{zzz|{|{{{{|{{{{{zyzz|{|{{{|{{{{{zz{{|{{{||{{{{{{{|{{{|{|{{||{{{{{{{|{||||{|{{{{{{{{{|{}{|||{{{{{{z{{||{{||{zz{{z{{z|||{|||{{{|{{|||{|}{|||||{{{{{{{||{||||}|{|{||{{}{{z||}}{{zz{{|{{{||||||{{|{|{{{||{||{||{{z{{{z{{|{|{{|||z{z|{{{{|||{{{{{z{z|z{{{{||z||}}|||{|}{{}|}|{||||{{z{{{|{|||||{|{{{|{{z{{{{{}||zz{{{zz{|||}|{|z{zzzzyzy||{||{{||zz{zzz{{{{{|{z{{z{{zzzz{{{z{{z{zzzzzzz{{zy{z{{{zz{z{z{z{{|{|{|z{{{zzzz{z{{{{{{{z{{z{zzyz|{{{{{|z|zz{z{zz{zzz{{{{{zz{zzzzzz{{|{{zz{zz{zz{{z{z{||{{zz{z{{{{{{z{||z{{{zzz{{|{{|{|{{{z{zz{{{|{{{{{|{z{{|z{z{{|{|{z{{{{{{z{zz{{z{{{|{{{zzz{z{}|{{|{|{{{{{z{{{||}||{|{{{{{{|{{{{|}}||{{{{{zz{|||{{||||{z{{zz{|{{{||}|{{{zz|{{{{{|||}|{zz{{{z{{|||{|||{z|{{{zz{||{{~|}{{z{{{{zz||||{{|{{{{{z{{|{{||{{||{zz{zz{z{z|{||{z{zzz{{{|{{|||{{{{z{zz{z{|{|||}}||||}|}|||||{}|||{{{|z{|{z{|z|}||zz{z{z{{|z|{{|||{{{{{zz{{{{{{{|{z{z{z{y{||z{{{|{{{{{zzz{{{{{{|{z{z{{zzzzz|z{{zzzzzyz{zy{z{z{{z{zzzzzzzzz{zzz{{z{zz{zzz{{|{{{z{{z{zzzz{zz{{{|{{|{yzz{z{zz{z{zz{{zzzzzzzzyz{zz|{{{zz{{zzzz{{zz{{|zzzz{zzzz||{z{{{zzz{zzzz{{{{zz{z{z{zyz{z{z{{{z||zzzz|y{{|{{{z|{{{z{{z{zz{||{{{||{z{{{zz{{{{{{{{{zz{z{z{{{||{|{{}z{{z{z{{{{{|{{|{|{z{{zz{{|{{|{|{|{z{zz{z||{{{{|||z{z{z{|{{{||||{|{{{z{{{||{||{|{{z|{zz{z||{{|||{{{z{|{{{{|{{{||{{z{{|{{{||{|||||{{{z{z{|z{{}|{{{{{{{zz{z|{||{z|{zz{{zz{z{{{{|~|}}||{||||||}}|||}{||z{{{{{||||{}|{{zz{{{z|{{|||||{{z{{{z{{{|{{{{{|{|z{{{z{z{{z|{{{{|z{zyz{|{{{{{{{z{{{z{z{|{zz{zz{{{yzz{z{z||{|{|zzz{{z{z{{{{z{{z{{z{z{zz{{z{{||{zz{{yzzy{{{{{|||{{y{zz{zzz{{{z{{{{zzz{{zzz{{{z{{zzzz{{zz{{{{{||{{z|z{zzzz{{{{{{{{{z|{z{z{|{zz{{{{z{z{zz|{|{z{{{{{z{{{z{z{{||{|{{{{z{{zz{{{{{{{{||{z{{{{z|{|zz||{{{{{{{z{{{{||||}{{{{{zz{|{{{||{}{{{{{{{{z{{{z||{|{{z{{z|{|||z||||{{{z{{|{||{||}||{{{{{{z{}|{||}}|{{{{{{{||||{{|||zzz||z{|{z{{{||}z{z{{z{{{z|||||z||z{z{{z{||{{||z{{zz{{z||}|{{{zzzzzz{{z|{{|{~|~}{|}||}||}|||}||||{|||{||||}|||}||{z{{|{|{|{|||||{|{{|{{{|{|z|{{{|zz{{zzz|||{{{|{{{z{zz{{{{||{|{{{{z{{{z{{|z{||{z{{{{{{{|{|{z{{|{{{z{z{{{{{{|{|{|zz{{{z{||{{{}|{{{zz{zz{{|{{{|{|{z|{zz{z{{{{z{|z{zzz{z{z||{{{|{|zz{z{zzzz{{{|{||{zz{|zz{{{{||{|}{{{{z{{{||{||{}}z{{{{z{{{|{{{{{|{{{{z{{zz|||{|||{{{{{|zz{{||{|||{{|{{{{{|||{{|{}|{{{z{{|{{||||||{|{{{||||{||z{|}|{{{{z{|}{|||}|{||{||z|{{|{|{|{}{{|{|{|{{{||{}|}{{||z||{||||||}}|{|}{||{}||||||||{|{{|||||||{||||{{{{|z}{}|||{||{|{{z{z{{|||{||||{{zz{{{|{|||{|{{{{{zzzz{{{|{}}}|||{|{|||}{|{|{|}{{{{{{{{{{}||||}||z{|{{|z{|{{|{|{{{{zz|z||{{|}|{|zzzz{{{{||{{{|zz{z{{|z{{{|{{|}z{|{{zzzzz{zz|{{{zz{{yz{{z{{{|{|{zzyzz{{{{{{{z{{zyz{z{zzz{|z|{||z{zzz{zyzzz||||{{z{z{y{zzz{{{||zzzz{yzz{z{{z{||{zz{{{|z{{{|{{|{{|zz{{{{z|{|{||{{zz{{zz{z{{{{{{{|{{{z{zzz{{|{{{||zz|zzz{{{z{||||{{z{{{zz{{z{{z{|{|zz{|{z{{{|{{{||{{{|{|{{{|{{{|{|{|{{|{{{{|{||{||{{z{{{{|{}|{|||||{z{{{{{{||||{{{{{||{|}{{|{|{|||}{{|z||z|}{||}|||{{{zz{|}{{|||}|||{z||{{{{|{|||}{{{{{{{|{||||}}{{{zz{{{{{{{||{|||{z{|z{{{||{{|{{{z{{zzz{{{|{z~}}|}|{||{{||}|{||}||{{{{{{||}{|{||{|{{{|{z{{{|{|}{{{{{{zz{{{{||{|{{zzzz{{y{|{{{|{|{{{z{z{z{{zzz|{{{z{{{{zz{{{{|{{{zz{{z{zy{{|{{|{{{z{{z{z{z||z{|{{z{{{zz{zz{|{|{{{z{{zz{zz{|{{{{|{zy{{{zzy{{{{z|{}z{z{z{zzz{{{{|{|zzzz{zzz{{{|{{{|{{{zzzz|{{{{{{{|{z{{zz{{{{|{z|z{{{z{zz{{{z|{{|||z{{{{yz{{{|{z{||{z{{{z{{{}|{|{|{|z{{zz{{|{{|{||||{{{{|{{|{|}|}|{{{{{{z{|||{{||||{z|{|{z|{|||{}{{|{{{{{{z{|{{}z||{{{|{{|{|{|{|||||z|{{|{{{~}|}||||{{{{{{{{}|}||{|{{{{{{{{{{||||||{{z|{{{|{{||||}|{{z{zz{{|{||||}|{|{{|{{{{|{{{|||zzz{zz{{{{{{{~|~|}|}{||{||}|}|{|||{{{|}{|||||}||{{{{{|{{|{|{{{||{z||{{z{||||{{|||{{|z{z{{||{{{z{|{|z{{z{{{|{{{|z{{z{z{{z{{||{|{{{{{{{z{{{{z{|{{{{zyz|zz{{||{{|{{{zz{y{z{{{||{|{{z{{zz{zyz{{||||{{z|zzz{{z{|{{{{{{{{{{zz{{{{z{{{{{y|{{z|{z{|{{{|{{{{z{z||{{{|{{{|{z|{{z{{{{|{|{z{|{{{{{{{{{|{{|||{{{z{z|z{|{{|{{{{zz|{{z{{|||{|{|||z{{z{{{{{{{{{||{{{|z{{||||||||z{|{|{{|{|||||||{{{}{{{{{||||||{{{{{|{{z|}|{|}|}{{|{{{{{||||{||||{|{{{{||||||||}|{{|{{{{|||}|||||{{{{{z||||{|||}|{|{|{{|}|||||||{z{z{{{{||{{|{{||{{|{z{{z||}{||{{{{{{zz{{{{{{}|}}}}|}{|{|}~|}}||{{{{{{{|{|||{}||{z{{z|{{{z|{{{|}|zz{zzz{{{{{{{|{{{{zzz{z{{{|{|{{{z{z{{z{{{|{{{|{|zz{{zyzz|{{z{{z{zzz{{zz{z{|{{{{z{{{{zzz{{|{|{}{{{zzzz{{{{{{z{{|zz{zz{{yz|{||{|{{{{{{y{{{|z{{|{|zzz{z{{z{zz{{{{{zz{z{zzzz|{z{{|}zzzyz{z|{{{{{||{{{yzzzz{|z{{{|{{{{z{z{{||}{{|{||zzzz{zzz{|{|{|{{zzz{{zzz{|{{{||{{zz{zz{{{{{||{|{{{{{|z{{z||{{{||z{{{{|{{{||{z{{}|z{z{zzz|{{}|{|{{{z||{{{|||{{{||{|{|{|{{||||{|||}|{|z|{{|||{|{|{|{|{{{|{{{|{||||{|{{{{|{||{{{{{}||z{{z{{{|{|{|{||zzz{{z{|{{||{|||zz{{|{{{|{{{|{{{z{z{z{z||z|{|}|{|{||{{z||||||||{|{{{{{|{|}{z|||{{|{|{{z|{{|{||||z{{{z{z{z{|{{|{{{zzzz{z{||{{{{|{z{zzyz{z{{z{{{z{|{z{z{{{z{{{|{z{zzzz{zzzzz{|{{{zzz{{{zzz{{{{|{z{zz{zzyz{|{{{{{{{{zz{yz{{{{zz{{{{zzyzzzyzz{{z|{{|{zzzy{{zz{y{{{|zz{zz|zz{{{|{|||zzz{zzz{zz{|{|{{{z{z{z{{|z{{{{{{z{z{zzz{{|{{{{|{{zzzz{zzz|{{{|z|{z|{{zy{{{{{{||z{zzzz{z{||{{{{||{z{{{{|z{{||{|||{{{y{{{{|{|{|}||{{{{{|{{{{|{{{{{|{{{z{{z|||{||||{z{{z{{z||{{||||{z|{{|{{||{|||{|z|{z{|{{{{}z{{|{|{{{{{{z|{{|{|{||{{{|{z{{z{{{|{|{{{zz{z{{|{{{||{{zz{z{z{z{{|{{{{{{{z{z{{{{{{||||{||{||{|||}|~{|}{{{|{z{{|||||||{|{{z{{|{{|{|||||{{z{{{zzz{{|{{|zz{zzzzzzz|{{{{{{z{zzz{{{{{{{|{{zz{{y{zyz{{|zz|||{{zz{zz{z{{{{{{{{{zz{{{z{{{{z{|{{{zzzz{zz{z{{{{{{{zzzzz{z{zz{{z{{{z{{z{yyz{z{{|{zzzzzzzzz|{{z{{{zz{z{{yz{{{{{{|{{{zyzzzz{{{{{||{{{{{{{z{z{{{{{{}|zz{{{z{{||{{|||{z{z{z|{{||{|{{{{z{zz{zz|{{{zz|{{z{{{zz|{{{{{{{|{{|{{{|zz|{|||{{{{{|z{{{{|{|{|z||{{{{z{z{|z||||||{z{{z{{{||{||||{{z{z|||{|{|||}{{{{|{|{{{|{}||{||{{{{{{||{|||}|||{z{{{z{{{{{{{|}{{|{{{z||{||||{|{{{{|{z{{{|{z||{|{{{{zz{{|{|{{{{z{{{|zzz{{|{|}|}}|{{|||z|||||||||z{{z{|{{{|{z}{||{|{{{{z{|{{{{||{{{z{z{y{{{|{{{|{z{zz{{z|{zzz{{{{zzz{zzzz{{zy|{zz{{zzzzzz{{{z{{{zyzzzzy{{{{{zz|{zz{zyz{z{{{z|z{{zz{zzzzzz{|{{{{z{z{zz{zy|{{{{zz{{{{zzz{zzzzz{zz{{{zz{z{y{{z{{{{{{{{{{{{{{{{|z|{{zzzzzzzz{{{{zz{{{z{zzzzz{|{{{{{{zz{zzzzz{{z|{{{|zz{{{yz{{|{||{{{||z{{zz{{|{z{|||{z{zzz{{{|{}{{{{|{{{{{zz|||{|{||{{z{|{{z{{{{{|{|{{z{{z{z{||{{z|{{{{{{|{z{z|{{||{{{y{z{{{z|{z|}{{{z{{z{{{{{||||||{z{|z{|z{{{{||||{{{{{z{{{{|{||{|{{{z{z{|{||{{|}|{z{{{{{z{|{z{{|{{{zz{z{zz|{|{{{{zzz{z{{{z{{|{||}||{||{{{{{|||{}{|z{z{{z{{|||{}{}{{{{|z{{{z{|{{{||z{z{zzz|{||{{||{{{z{zzz{||{|{z{zz{zzzzzz{{{{|{{zz{{{{yzzz{z|{|z{zzzzzzz{{|{{{{{zzyzyzz{z{{|{z|{{zz{zzzzzz{|{{{{{{{{y{zz{z|{{{|{zzz{zzzzy{{{z{|zzzz{yzzzz|{{z{{{zzzz{{{zz|z{{{{{{zzzzzzz{{|z{{{}{z{yzzz{{|z{zz{|zz{yz{{{z{||{{}{{{z{zz{z{{||{{|z{zzzzz{z{{|{{{|{{{{{z|{{z{z{{{{|{{z{zz{{{|||{{{{zz|{{|{{{||{{{||{{||{{zz|{||{{{|{{{{{z|{{{z|||||{{{z{{{|{{|{{|||||{{z{|{||{|{|{|{{{{|{z|{||{{}||{{z{|{{{{{{{|{|||{{{{{{{|||{||||{{{{{|{{{{{||{||{z{{z{{{{{{|{||{{z{zzz{|{|{{||}|{{|||{|y{|z|{|}}||{{{{{z{|{|||||{||{{{{z{{{{|}{|{{{z{zzz|{{|{{|{z{zzyzzz{{{{z{{{z{{{{z{z{|{{{{|{{z{zzz{zzz{{z|z{{z{zyzzy{zz{z{{{zzz{{zz{z{zzz{{zzz{{z{{z{{{{{{{{{zz{zyz{z{z{{{}{{{{zzzzyz{z{z{|{zzyzz{zzz{{{{{zz{{zzzzzzzz{{{{|{zz{z{zzzz{{{{{{|zz{{{zzz{{{{{|||zz|zzz{{{|{z{|{{{{z{{z{{{{{{z|{{{z{z{{z{{|{{{||{{{{zzz{{{{|{{{|{{{{z{z{{|{|{{{||{||{|{|z{{|{||||{z{|z{{{||{|{}{{{{|zzz{{{|{z{{|{{z|zz{{{||{{|||||{{{{|{{z}{}||}{{{|{{zz{|{||||{{|z{|{{|{{{|{{{{}{{{z{{{||{||||||{{{z{{{{{|{{|}||{z{zzzzz{{||{||}zzzz{y{{{{|z|{}|{z{|{{|{|{|{|||{|{z|zz{{{|{{|{{|||{|{zz{|{{z{{{|{{{z{zz{{{|z{{||{{zz{y{zz{||{|{{{{zz{zzyz{{{{{{{zzz{{zy{{{{{{{{|{zzzzz{{{z{{{{{{{z{z{zz{z|{z{{|{{{z{z{yz{{|{{{{{{z{{zy{z{{{z||{{zzzzzy{zyz{z{|z||z{zzzy{{|{{zz{|{zzz{{z{z{{{|{{{{zzz{zzz{{{{{{{z{{{{z{{{{{{{{{||zzzzzzz{|{|{z{||{z{zzz{z{{{||{{|{{{{zzz{{{{{z{|{{{{|z{{|{|{z{|||{|{z|{z|{|{||{|{{|z{{z|{z{{|||||{z{zz{{z|{{||}{{|{{{{{{{{}|{|{||{z{z{|{{{|{z|||||{{{{|||{|{{{||||{z|{{|{||{|z||{|{{|{{z{{}{{}{|}{{|{{{{{{{{||{|}{{{{zzzz|{{|{||{{{{z{{|z{||{{|{{{{{z{{z{{{|{z|||||}{|z{{||||{|{|}{{||{zz{|{{||{||{z{{{{y}|{{{{{{{{{z{zz{{{|||{|||{{z{z{z{{{}{{{|{{{z{{{{{|{z{{|{{{zzz{yz{z{{{|{|{z{{zzzz{zz{{|{{zz{z{{{z{{{|{z|{z{z|{zz{z{{z|z{z|{|{z{zz{|{z{|{z{{zz{zzz{{{{|{{{{zzz{z{{z{{{{|||{{{{z{{z{{{|{|{|{z{z{{{{{}{{{|{{{z{{z{zz|{|{{{{{{y{{z{{{|z|{|||}{zzz{z{{|||{|||||{{{{zz{{||{|{|{|{{{z{z{|||{{{|{{{{{{{{{||{|{|||{|{{{z}|{|{||||}{{{{{{z{||}{|z{||{{|{{z||}||||||{{|{{{||{{||||||||{||||{|}|}}{{}|{z{zz|{}||{{|{||{z{{z{z||{|}}||{{{{|{{{{|{}{|||{{z{{{z{{{{{{|||||{{{z{{{||{{{{{{|{zzz{{{{||{}}}{|{||{{{|{||{|}}{{{{{{{{||{{{|}|{{|{zzz{|{{{{|||{z{{{z{{{z||{{{||z{zz{{z|||||{|{z{zzzzz{z{{|{|{{{{z{{{zz{{{z{{{{{z{z{zz{{{{{||{|{yz{{z{z||{{||{|{z{zz{z{{|{{{z|{{z{{z{zz{{zz|{{{|zz{z{zz{{{z|||{z{{zzz{z{{{{{|{{z{{{{z{zz{{z{{{|{z{{{zz{{{{z{||{{z{{{z{{|{|{|{|{zz{{z{{{{||{{{|||{{{{zzz{|{{|{{{{z|{zz{{||{{{|||{z{|{{{||||{{|||{{{{{{{|{{|{|{||{{{{{|{{|{||{||{z{|z{{z|{|||{||}||{{{{z{{||{||}||{{{{z{{{{|{|||||{{{z{{z|||||{||}{|}{|{{|{||{|{||{{z{{{{|||{|{{}||z{{{z|{|z||{{|{zz{{zz{{|||{|||}|{{z{zzz{{|{}|{|z{z{z{z{|z|{}||{|z{|{{z{|}|{||}{{{{z{{{|{|{|{|||{{{{|{{{z{|{||||{{{zz{{{{{z{{||z|{yzzzyz{|{{|{{z{z{{zz{{{{{{z||{z{z{yzzz{{{z{|zz{zz{z{{|zz{{{{|{{{{zy{{zz{|{||{{{z{zzzz{{{z{{{|{z{z{{{yz|{z{{|{z{{zzzzz{{{{z{|{{{{z{z{zz{{{{|{{{z{zzzz{{{{{{{||{z{z{zy{{|{z{|||{z{{{{{{{{|{{{{|zz{zzz{{z{{{|{{|{zz|{z{{{{||{|{||{|{{zzzz{{|{|||{zz{{{z{|{|{||{{{{{{z{{{{{||||{|{{{{|z{{}|{|{||}{|{{{{zz||{{|}|||{{{z{{{|{|{|||{{{zzz||{||{{||}||{{{z{z{{|{||}||{{{|{{{{{||||{||{|{{{||||||||||||zz{|{{{|{{{{|{|{|{{{|{|{{||{||{{{{{{{{{{{{|||{|{{z{{z{{|{|{{|{|{{{{{|z|}||{{|||{z{z|zz|{{|{||||{{{{{z{{{{|{|||||{{z{zzz{||{{{||z{{{{z{zz{{{{{{{|z{yz|{z{z{z{|{{{{{z{z{{zz{z{{{{{{zzz{zz{{z{|{{{zz{z{zyz{zz{|{{{z{{zzzz{{|{{zz{|zz{zz{{z{|{{|{||zzzz{{zzzzzz{{{{{|{zzzzy{{{{{{{{{{z{{zz{{|{{{{|{{{zz{z{{{|{{{{{{z{{{{zzzz{{{z|{|zz{zzz{{{z{|{|||z{{{{z{yz{{{{||{z{{{{z{z{|{{|{|{||{{{z{{||{{{{||zz{{{{{|{{||||{|{{|z{{|{|||{||||{{z{|{{{|{||||{|{{{zz{|z|||{{{|||{{z{{|{||{||{|||{{{{{{{{|{{||}{{{{|{{z{|{|{{||||{z{{z{{||||{|||{{{{}{z{||{|}{||{{|z{{{z{{{{|{|}||{{{z{{{|||{{{|{z{{{zz{{{|{|}{{||{{{{|z||||{|||{{{{{z{z{{|{{||{{{|zz|{z{{{{{|{|{zz{{zyy{{{||{|{|{{zz{{{z|{{{|{{zzzzy{{z{{{z{{{{zzzzzzz{z{{{|{{|z{zzz{zz{{y|{{{|z{{yzyz{z{{zz{|{z{{zzzz{{{{{{{|z{{z{z{zz{{||zz|{zzzz{zzz{z{{z{z{{{{z{zzzz{z{|{{|{z{zzz{zz{{{{z{|zzzzz{{{{|{{{||{z{zzzzz{{{z{{{|{{{z{z{zz{|{{{{{{|{z{yzzz{{{{{||{z|z{zzz{|{{{z{|{z{z{{{{z{|{{{{{{{{{{z{z{|{||{{|{{{{{z{{{z|{{{|||{{z{{{z{|||{||{{{zzz{{{{||{|{||{|zzzz|{z{|{|{||||{{|{{{z{|{|{{|||{{{z{{{|{|{|{|{{zz{|{{{{{{|||||{{{{{{zz||{|{|}{{z{z{{z{z{|{{{}}{{{{z{{{{{|{{|{{{z{z{z{z{{{{||}{{|{{{{{{{{|||||||{{{||z{|||{|{{{|{{zz{{{{{{z|||{{{{z{zzz{{|{{|}|{z{zyz{{|{{{{|{{{z{zzz{y|zz{z|z{{zzzzzzz{z|z{|{{{{zz{zz{{{z{|{{{zyzzzz{z{{{{{|{zzz{zzzzzzz{y{|{{{zzzzyz{z|{{{{{{{zzzyz{y{{{{{{z|zzyy{yz{{{{{{{{{{zz{{{{yzzz{{||{{{{z{z{y{{{{{{z{zz{zyyzz{z{z||||{|{{{zy{z{{z{{{{{{{z{zzz{|{{{|||z{{{z{{y{||||{{{{z{{{z{{{{z{z{z{||z{zzz{|{|{|{}|{{{z{{{{{{|||{||{{{{{{z{{{{|||{{|{zz{zz{|||{|||||{|{{|{{||{||||||{{{{|zz{{}}{{||{{{{z{|{|{||{{{|{|{{{{y{{{{|||{|{{z{{{{|z|{|{}{|z{z{{zz{{{|{|{|||{{zyz{{||{{{{||z{{{zz{{{z{{|{|}||{{|{|{{|}{|||}{{|{{zzz{{|{{{|{{{{{z{zz{{{|z{|{|{yz{{{z{|{{{{||{{{zzz{{{zz|{|{{{y{zz{{y{{{zz{{{zz{z{zzzz{{zy{{{z{zzzy{{{{{{{z{{{yzzzz{z{{{{|{z{{{{{{zy{|{{|{{|||z{zz{zz{|{{{{{{{yz{z{{zz{{{||zz{{{zzzzz{|{z||{{zz{z{zz{{z{{{{{zz{{z{z{z{z{{{{||{yzzzz{z{{{{||{{{z{z{z{z{||{|||{{zz{zz{{{|{|{{{{|{zzz{{{{{|{{||{{zzz{{{z|{{{{{|{|{z{{{z{{|||||||z||{{{{{{{{|||||{{z{{zzz{|{|{{||{zz{||{{||||||{|zz{z{{|z{|{{|{|||z{{{{{{{|||{||{{zz{{|{z{|{z{||{|z{z{{zz{|{|||{{|{|{{{{{|||{|{|{{{{z{{{{||{{|||{{z{|{{zz{|{{||||{{zzzzz{{{{{{}||{{z|zz{{{|||{||{{{{{{zz{{{||{{}}{|zz{{{z{{{|{{{|zzzz{zz{z{|z{{||{{{zzz{z{{{{|{{|{{z{zz{zzzz{{|{zz{{zzzzz{z{{{{{{zzz{yzz{z{z{{{{|zy{zzzzzz{{zzz|{z{yzzzzz{z{zz|||{{zzzyzzzz{|z|{|zyz{zz{{zzzz{|{|z{{{zyyzz{z{z|{{zzzzzz{yyz{{{{|{{{yz{zzzz{{z{{{|{zzz{zy{{{{{{|{|yz{{zz{z{z{|{{{{{{zzzz{z{{|z{{|{{z{zz{zz|{{z{|||z{z{{{z{{{{{{{{{{z{{{{z{|{{|{|||{{|z{{z{{{z{{|||{zz{{z{z{{|{{|{{{{{{{{z{|{{{{{|{{{|{z|{{{|{{{{|||z{{z{{{{}|{{|{|{{|{{{zzz{{{{|||{z{|{{{{z{{{|{||{|{{{{z{{{|{||||{{{zzz{z{{{{||||zz{{{z{{{{{{{{||z{{z{y{z{z|{{{||{{{{|z|z|||{{{||{|{{zz{z{|||{|{||{{{z{{||{z{{{{{{z|z{{zzz|||z{{|{{z{z{{zz{{z{{{|{|{z{{{z{{{{z{{zyz{{{zz{{z|zz{{{{z{z{zy{{|{{z|{z{{z{{zz{{z{{z{z{{zz{{zzz{{z{{{{{z{zyzzzz{{{|{{|{{zzzzy{zz{{zz{{|{{z{zzzzz{{z{z{zzz{z{zzz{{{|z{||{zzz{zzy{{{zz{{|{{{|z{zz|{z{{|{{{{{z{{{z{{{z{{{|z{{z{z{{zz{{{||{{y{{{z{{{z{{{{|{|{{z{{z{|{|{{|{{|z{z|zz{{|{||{||||{{{z|{|{{|||{|{{{z{zz{{|||{||{{{{z{{z||{||{{||{|{{{|{{{{{|{{|||{z|{||zz|{{z{{||{{{|{{z||{{{||{{z{{{z{|{{{{{||}|{|z|zzz{||||{||{z{{{z{{{||{|{}|{{{{z{{z|{|{|{|{{z|{{zzz{|{{{|||z|z|{{{z||{||||}{{{{zzz||{|{||||{|{z|{{{{||{|z{|{{{{{zzz|{||z|{{|{z{zz{{|{|{|{{|z{zzz{{zz{{{{|{{{{{{zzzz{{|z||{|zz{z{{zz{{z|{|{{{{z|{{{z|{{|{||{zz{{z{z{z||{{|||z{{{zzy{{|z{{z{|z{z{{z{zz{{z{|{{{z{{z{z{z|{z{||{z{z{{{{{{{{z{z|{|{{zz{{{|{{{{{z{{{{{{z{{{{{{{{{z{{z{z{{{{|{{|{{{|z{{{z{{{{{{{|{|{{{{|{z{{|{|{{{{|{{|{zzz{||{{}||{{{{{{{{{{{}{|}|z|{{{{{|||{|{}}|{{|{z{z{{||{|}|}|{{z|{{{{}|||{}}||{{|||{{|||{}|||{{{||{{{|||{|{|||{{{{{{|{||||||{|{|{{{{||{||}|{|{z{|{{{{|{{|{||{{{{{{{{{{{|{|||{{z|z{{{{|{|z||{|z{zzz{|{{|{||}|{{{{{{{{{|{{{|||{{{{{{{{{||{{{|||{{{{z{{{{z||{{|{{zz|zzz{{{{{z||{{{{zzzy{{||{{{z{z{z{{{z{{{{{{|z{z{zzzz{{{{{{|{{{zz{{{z{|{|z||z{zzyzz{zzzz{{{z{{{z{{zzzz{z|{{|{|z{z{zzzz{z{z{|{{zz{{zzzzz{{{{|{z{{{zzz{zz{z{{{{|zy{zzy{z|{{{z{{{{{{z{{{z{{{{{{z|{{zzzz{z{{{|{{{|{z{{zzzz{z{|{|{|{zzz{z{{{||{||||{zzz{{{{{{|{||{|{{{{{|z{{{|{{{{{{{{{z{{{{|{{{{|{z{{{|{z{{{{{|{||{{{{{{zz{||||{{{{z{zz{{zz||{|{}||{z|z{z{{|{{|||||{{{{z|{{}|||{||{z{|{{{z||{|||||{{{z{|z{{{}|{|||{{{{|{|{|{||{|{|{{{{{{{{{|{{{{{||{{{{{{{{{||{||{{{|zz{zz||{|{|||{}{{z{{|{|{{|{||{{{zzz{z{z{|{|||{{|zz|{{{{{|{{{|||{z|{z{{{|{{{{||{{z{z{z{{{{{{z{|{|{{{z{{||z{z|{{z{{zzzz{z||{{zzz{{zzzzzz{{{{{{{{zzz{y{{{{z|z|{z{{{zz{zzz{{{{{{{{z{zzzyy{{|{{|||z{z{{{zzy{{{{{{{{{{zz{z{z|{{||z{z{{z{z{{z|{{||{{{z{{{{{{{{{{{{|{{z{{{z{{z{|{{{||{{{zzz{z{{||{|{|zz{{{{{|{{||{||{{{{z|z{z{{{{z||{{{{{{{{{||{{|{{|{{zzz|z{{||{|{|||{{z{z|{{|{|||||||||zzz{|{|||{}|{z|z{{{z||{}||}{{{|{{{|{{}{|||||}{|{{{|{{|||{|||}z{|{|z{||{{z{|{{{{{{z{{{|||||}}|{{{||{{||}}||||{{{x{z{{|{|{}|}|{|{{{{{{{||{{{||{{{|{{z{{|}|{|||{z{|{{{{{|~{{{|||{{{{zzz{{z{|||}{{zz{{|{|{}{}||z{{z{{y{{{|||{||{{z{{z{{{{{|{{{{{z{{z{z{z{{{{{||{zzzz{{zz{z|{{|{z{{|z{{{{{{{{z{{|zzz{zzzz{z|{{||{zzz{{zzyz{{z{|{|zz{zy{z{{{{{|{{|zzz{zyzzz{{{{|{{zz{z{{{z{|{z||{{zzzz{{{{{{{|{{{|{zzzz{z{{|{{{{|||{{{zzz{{z{{||{|{zz{zzz{{{z|{|{|{{{{{{{z{||{|{|{{{{{z{z{{|||z||{{{{||{{|{|{|{{{||z|{||{{{|||{{}|{{{{|{|{||{||}}|{{||{{{{z}|||||||{{{z|{|||}{||||{{{|z|{|}||{|||{|{{|||{|{}||||}|||||z{z{|{||||||{|||z{||{|{||{}|{{{{|{{{|{{|}{|{{{|{{{{{{{||{||{||{zz{{z||{||z|||{{{z{{z|{{{{|{z{|{|{{{|{}|{{|{|zz|{{{{zz{||{|||{{{{z{zz|{||{{|{{{z{{z{z{{||{{|||z|{z{{z|{{{{|||{{zzzz{|{||{||{{{z{z{zz{{z{{z{{zy{{zy|zz{{{{|{{|{zzy{z{z{{{{z{|zz{zzzzzy{z|{|{|{{{{{zz{zz{z{||{|z{z{zy{zz{z{zz|{z{z{{{z{z{z{{{{z{zzz{zzz{z{z|{|{zzx{z{z|{|{{{{{|{z{{z{{{{{|{{|{|{z{zz{z{{|z{{{{|{z{z{zzz{{{{{||{{{{{z{{z{|{{{{||{{||{z{{|{{{{{|{z{{zzz{z||||||{|{{{|y{{z||{{||||{zzz{{{{|{{{||{|{{|{{{{{{||z||||{|zzz{||{}||||||{z{|{z|z{}||{|}||{{|{{{{|}|||||||{|z|z{{{{|||{|{{{|{{{{|{{{||{||{z{{z{z{|{{{{|||{{z|z{{z||||{{}|zz{z{z|{{{}{{|{||{{{|{{z{|||{|{{{{|{z{{z{||{|||}{{z{{{{z|{{{|{|{{{zzz{zz|||{yz{{|z{zz{zz{||{{|||z{{z{zzz{{{{z{|{zz{{{yzz{{{zz|{z{zzyzy{z{z||{{{{z{{{{zyy{|{z|{}{{{{z{zz{{{{{{zz{{zzzzz{yz{{|{{{{{z{zz{{z{{|z{{{{{zzzzzzzzz|{{|{{z{{zz{{z|{|{{{||{zzz{z{zz{{{z{||{{z{zz{{{{{z{|z|{{{z|zzz{||{{|}{{z{{{{{z{{{{||{|z{zz{z{{|{|{|{|{{{{{z{z{z||{{{|||z{|{z{z|{{||{||{{||{{{{{|||{||}{{{|zz{z|{||}||||z|{|{{{||{{|}|||{{{{{|{{{{||||{{{{{{||||{|||||{{{|{|{{{}||}{}|{||z{{{{||{|||{|||z{{{||{||{|{{||{|{z{z{z{||{{{}||{z{z{|{{|{||{}|{|{{z{{z{{|{z|{{{{z{{{{z{{{|{{{|{{{{{zzz{{{{||}|{{{z{{{z|z{|{{|{|z|{yz{{{{{zz{{{{{{z{zz{z|{{{|{{zy{{zzzy{|{{{z{{{{zzyzzz{{z{{{{{{zzzzzz{{z{{{{{|{zyz{zzz{{z{{|{z{{{zz{z{z{{{||||z{z{zzzzz{{{z{}{{{{z{zz{z{zzz{z{|{z{{zz{{|{{||z{{y{z{{z{{|z{{{|{zzzyzzz{{|zzz{|z{|z{{z{z{|{{{{||{{{z{{zz{{{{{zz|{z{zzzzy{|{{|{|{{{{{{|{{{{|{|{|{{{{{{{{{{{{{{||{{z{{{|{{|||}|||}{{zz{||{{{{|||||{{{z{{z{|||{{||||z{{{{|{||{|||{|{z{{|{||{|{||||||z{{{{{{{}||||||{{{{{|{{}{|}{{}{{{{{{|{|{{|{{|{{|z{{{z{{{{{{||||{{|{z|{{|{|{{{{{|{{z{z{z{|{|{y{|{{z{zz{zzz{z|{z|{{{{zz{z{{||z|{{{{z|{{yz{{{{{|||zz{y{{{{{{||z||zz{zzyz{{{|{|{{|{{{{yzz{y{{{{{|{{zzzyzzzz{{{{{||{{z{{zzyzz{{{z{{z{z{yzy{z{{{zz{|{y{z{zz{{{{{{{|{{y{zz{{zzz{|{{{|{zz{zzzzzz|{|{{{z{zzz{z{yz{{zz{{|{zzz{z{{{{{{{{{{zz{zzzzz{zz{z|{{zyzz{zzzz|{{{{z{{zz{zz{{{{{|z{{{zz{zzzzz{||z{{{{{z{zzz{{{{|{|{{{z{zzzzz{|||{z{{{{z{zz{zzz}z{{z{{|{{{{z{{{{|{|z||z{{{{{{{{{|{{{{|{zz{z{{z{{|{z{{{|z{{|z|{||{{z||}{{zz{{{||{z{{|{}}{{{{{{z||{{}||{{{{{{z{{|{{z|{|z|zzzz{y{|{|{{|||{{z{|{z{{}|{{}{|{z{yzz{z{|{{{{|}{{z{{{{z{|||{{{|{z{{{yzz{{|zz}{|z{{z{{{z{|z{{{|{|{zz{{z{{{|{{{||{{{z{{{z{|{|{|||zz{z{{z{z{{{z{{{z{zyzyzz|z{zzz|{|zz{{{zzz{z{{{{z{{{{zzzzzzz{z{z{zzzzzzzzzz{{zz{zzzzz{yzzz{{zz{|{z{zz{zzz{|{{|z{{z{{yyzzz{{z{{z|{zzz{{yzz{{{z{z{{z{zzz{zzyz{{z{{|zz{zzzzz{{{z{{{{zz{zzz{z{{{{z{{{{z{{{z{{{{{z{{{{z{{{zz{z{{{{z{|{{z{z|y{zz{|{{{|{{z{zzz{z{{{{{{|{zz{{zzz{{{{|{{|{{zz{z{{z{{{{||||{zz{{{{{{z{|||}{{z{{z{zz{||}||{{{{z{zzzz{|||||||{z{{{{{{|{{|{{|{||{{{{|{|{|||||{{z{z{{|{}{|z{{|{{{{{z{|{{|{{|{||{{{{{{{z{{{|{|||{{{z{z{{{{{|{{|{{zz{{{{z{{{{{{|{{{{zzzzz|{{{{|||z{zz{{zz{|||{|{|{z{{z{{{{{{{{{||{{{|z{|{|{z{{z||{z{{z{y{{|{{z{{|{{zzzzz{z{|{||{|{z{{z{{y{{z{{{|z{y|zzz{{{z|z{|z|zyzzz|{{{{z{{z{{{zzzzz{z{{{|{{{yzz{zz{{z|{{z{{{{zyz|{zzyz{{{z{{{{{z{|zzzz{{z{{{{{z{zzz{zz{{zz{{{zz{z{|{zz|{{{{{z{z|{zz{{{|{zz{{{{z{zzz{{z{{z{|{{{zz{zzzz{{|{{|{|{z|{zz{zzz|{z{||{z{zz{{{{{||{{|{{{{|{zzz{|{z{{||{z|z|{{{{||{{|{{{{|{z{{z}|||{|}|{{{|z{z||||{{{||~z{{|{{{||{{{||}{{{{|{{|z{|||}}{||{{z{{{{|{|{||}||{|{{{{|||z|{|{{{{{|{z{||{{||}|{z{||{z{|z|}||{|{{{{z|{{{{|{|||||{{{{{{{{|{{{{{|{{|zz{zz{{|{|||}{{{{{z{z{}{||{{|{|{{{{{z|{{{{}|||{{{y{zz|{{{{|}||{|{zzz{z|{{{{|{{zzzzzzy|z{{{{{|{{{{zz{z{{|z{||{{z{{{zy{{{zz{z{{{{{{z{yy{zz{{{{{zzy{zzzz{{zz{{{{{{z{zzy{|z{{z{|{{z{z{{z{z{{{|{|{z{{{zy{z{z{{z{z|zz{{zz{zz{{{zzz||{{{z{{z|z{zz{{|{{yzzz{{{{}{z{|{zz{{zz{{{||{|||{{z{{{{zz{zz{{{|{z{z{{zzz{{{||}{|{z{z{{{z|{{z|}{|{zz{zz{{z||{{|{{{{{{{{z{||{{{{|{{{{z{z|{{|||z|||{z{{z{{{|{}{{||||z{{|{z{|}{{||||{{|{{{{|{{{|{||||{{{{{||{||{{|||{{{{z{z{|{{|{}|||yz{|z|{|{{||||{||z{{{{|||z|{|{|z{{z|{{|{|{|{|{{{{{{{z|z{{|{{{{|{{{zzzzz{{{{{z||}|zz{{{y{{|{{|{{{z{{|yz{{{||z|{|{{{{{zz{|{{{|||{{{{z{zzz{|{|{|{|{{{zzzzz{{{{{{{|zz{{{z{z{{{{{|{{{{zz{zzzz{{{{{{{{zzzz{zz{{z{{{{{zzz{{zz{|{{|{|}z{z{{y{z{{z{{|z{||z{z{{y{{|{{{{}|{z{{zzzzz{zz{|{{zzz{zz{{yz{{{{z|{{{{{{{z{{{zz{||{zz{{y{z{|{|||{{{{{{zzz{||{||{|{{{{{{{|{z{{{}{}|{{{{{z{{z|{|{||{|{z{{{z{|{{z{||{|{z{{z{{{{{|{||{{{zz{{{{z|||{{}}{{z{{{|{|{|||||}|{|zz{zz|||||||{}zz{|{{{|}|{|||}||||{{{{|}z{|||||{|{{{{z{}|}|{|||{{|{{{z|{||{||{|z{{{|{{{|{{{|||{{z|{||{||{{{{}||z{{{{{{|{{z{{{{|{{z{z|{{|||{{||{z|z{{zz{{|{||{|{|{z{{{{{{|z{{||{zz|y{{z{{{{|z||{|z{{{z{{z{{z{||{yz{zzzz{{{|{z{{z{{zzy{y{zz|z|{{zz{{{zy{z{{{{{|z{zzzzzzz{z{z{|{zz{zzzzz{z{z{{z|{zzzz{z{{zz{zz{|{zz{{{zzzz|{{z|{{{{zyzz{{{{|z|{{{{zzzzzzzzz{{z|{|zzzz{zzz{{z{{{||{zz{z{zz{z|{{{||{zzzzyzzz{|{{|{|{zzy{z|z{{{{{{|{z{{{z{{z|{{|{{{|{|{zzz{{z{{{{|{{{{{zzzz|{|{{z{|{{z{{zz{||z{{{{{{{{y{{|{{||||{{{{z{z{z{zz|{||{|{|z{z|{{{{{|{||||{{zz{z{{||||{}}{||{z{z|{z{{|||||||z{{{{{z|||||}}|z{{{{{{z|{{|{|{{{{{z{z|{{||{{{{||{{{|{{z{{}|z|{|z{{z{|{{{{|{|{||{{{{zz{{{{|{{|||{zzz{{{z{z{{{|||{{{{{zzzz||||{||{|{{z{z{|{|{||{{|z{y{{{{z{{|||||{{z|z{zz{{{|{{||{{{yz{{z{z{{}|{}{z{z{z{{z{{{|{{|{z{{zzzz{{|zz{|{zz{z{{yz|{{|{{{{zzzzzzzz{|{{z{z{zzz{z{y{{{{z|{{{{zzzyzzz{{{{|{||{{y{zz{zz{|zz{||{{zz{{{{{z{zz{|{{z{{{zzz{{z{{||{{{zz{z{z{z{{{{{|z|z{zz{{|{{{|{|{z{zyzz{z{{{{{{|{{{zz{z{{{||{{{{|{{z{{z{{{|{{{{||{{{zy{|{|{|{{||{|{{{z{z{z|}||||{{{{zz{|{|||||{|~{{{|{z{{{|||||||{{{|{{{z|{|{|{|}{{{z{||{|{{|{|}||z|{|{{{{{||}|||{{{{{|{|||{||{|}|{{{|{z||{{|||{}{{z{{{{|||||||}}{{z{{z{z|{|{|{}}{{{y{{z{{|||}||{{zzzz{zy{{{|||{|{{{{{{z{z|{||{|||{{zzz{z{|||{{|{{{|z{zzz{{z{{{||{{{{{zz{{{|z{{{|{z{{{{zy|{{{{{{{{zzzz|{yy{{{{|{{{{z{zzzy{{{zz||{{{zzzzzzz{{{z{{{zyzz{zzy{{{{{z|{z{zzyzz{z{{{|{{{zz{z{{yzzzz|{{|{z{zzzz{{z|z{{|{{{{y{{yzzz{{{{{{zz{{{zzz{{{zzzz||zz{z{zz{zz{z||{|zzz{zzz{{|zz||{|zzzz{|zzz{{{{||{{{{{zz{{{{{{||{|{{{{{zz{{|{|z||{{{{{z{zzz|{{z||{{{{{{{{z{{||{|||z{z{zz{{||{}}}|||{z{{{{z{{{||}||{{|{|zz{|{|{|}|||z|z{{{{{{{{{|{|{z{zz{{{}}||}|}||{{|{{{{|{|}|{}|{{z|{|{z{|||||{||{z{{{{zz{||}|{{{{{{{{{{z|{|||||{{{z{{{z{z||||{|{{z{zz{z{{{|{|{|{{{y{z|z{{|{{{{{{{zz{yzzz{{{{||{{{z{{{z{{z|{|{{|{{{zz{{y{{|{z{|{|{{zzzzy{z{{{{{|{zz{z{zzz{|{z{|{{{zzy{zz{{{zz{{z{{z{{{z{|{{z|{{{{zzzz{zz{{zz{||zzz{zz{zz{z{{|{{|{{zzz{{z{{{{{{{{{{{zzy{{zz{{{{|z|{zz{z{z{|z{{||{{{z{zzzyz|z|{{{||zzzzzz{z{{z{|{{{{{z{yzz{{{z{|{|{{zzzz{{{{{||{|{{|{{|z|z{|{{|{{z{z{{zzz{{{{z{{|{{|zzz{{{{|{|{|{{{{{{{z{z|}{||{|{{y|{{{|y{|{|{||||{{z{{{z{||{{|}{{z{{|{{{||{{{{||||{{z{|{{}{||||{{{{{{{{z||{}{|{|{{{{{{z|{|{|}||{{z{{{z{{{}||||||{{{{{|{{||{|z||||{|{z{{{{{{{{|{|{{{{{z{{{{|||{{||z{{{{{{{{|{|||||{{{{{{z||z{{|{{{{{{{{z{|{|{{||}|{{{z{z{||{z|||{{{{{z|{z{{{||{{|{z{zzz{{{{||||{|z{zzzz{{z||{{{|{z{{{zz{{|{{{z{{{{z{z{z{z{{{{{||{zzzzzzzz{{{zz{{{{y{yzzzz{z||{{{{z{z{zz{z{{{z{{{{{{zz{zzzzzz{z||{z{zzzzzzz{{{z|{{zzz{{{{{{|z{{{{{{{{z{z{{{|{{{|{|{{z{zyz|{{|z|{{{{z{{z{{z{{{{{{|{{{{{zzz{z|{{{{{|zz|y{{{|{{{|{{|{{zz{{|{{{{{{{{||{zz{{|{z{|||||{|{{{{{{{{||||{|||{{{{{|zzz|||{||||{{|{z|z|||}{|{|||{{z{|{{{{||||||z{z|{{|{||{|{|||z|{{|{{|{}|||}||z{{{z{||{|}{{|||{{|||{{|{||{||{|{{zz{z{z|{|||}{||{{z{{{|{|||||{|z{{z{{z|z{{{{{z{{zzz{{zz|{{{|{zzyz{{{z{z{|{{{{|zz{zzzzz{z{{{{{|{{zzzzzzz{{{z{|{{z{zyz{z{z{{z{||zzzzz{zzz{{z{z{{{{z{{z{zz{{zz{{{|zzyyzzzzz{{{{{zzz{yzzz{{{{{zz||zzz{zzyz{{|{zzzzzz{{zzzzzz{z{z{|{zz{{zyzyzzz{{{{{{{z{zzzzzzzz{{{zzzzz{zz{z{{z{{z{{yzzyzyz|{z|{{|{z{zzz{z{{{z{{z|{{zzz{{z{{{{{{{{z{{y{z{z{{|{{{{{zz{{{zzz{{|{z{|{{z{z{{{z|{{{{{|{zz{z{|{z{{||{{||z{{zzz{{|||{|{||{{{{{{z{{|{{{{|{{z{zz{{z||{||{||z{z{{{z{|}{{{{||{{{{{{|{{{{|{{}{|{z{z{|||{{{{{|{{zz{{{{{{{{||||{|z{{{zz{|}||{{|{{{{zzz{{{{{|{|||{{z|z{{zz{{{{|{{{z{zzz{z{|||{z{{{{zyzz{z||{{{{{{zz{z{z{{z{{{{{{{zzzz|z{z{{zzz{z{zzzzzzzzz{|{{z{{zyyyzzzz{{{|{z||zzzzzz{zy|{{z{{{{zzzy{yz{{{z{zz|zzzzz{zz{zz{z{zzyzzzzzzzz{z{{z{{zz{zzzy{z{{{|{{{zzzzzzzzz{z{{z{{{{yzz{zy{zzzzz{{z{zyz{zzz{{zz{{{{yzzzzz{{{{{|z|{{zzz{zz{{z{zz{{|z{{z{z{zy{{{|{z{zz{zzzzz{{{{{{|z{z{{zz{z{z{{z{||{zz{{z{z{{z{{{{{{z{{z{z|{{{z|{{{{zz{||{{{{|{|{{|{{{{zz{{{{{|{{}|{zz{{z{{{|{||{{|{{z{{{{z|||{|{{{z{{z{zz{{|{|{|{||{{{{{zz||||{|}{{z{|{zz{{|{{{|{||z{{{zz{{|z|z||}{{z{zzz{{|{|{|{{{{{zzz{{z{z|||{{{{{z{z{z{{{{{|{{{z{zzz{z|{{z{{{|{{{z{zzz{{|{{{{|zz{{{zzz|{{{{||}{{{zz{z{{|{{z{{{{{{{zzzz{{{{z{{{{zzzz{zz{{|{|{{|{{zzzz{yz{|{{{{z{z{{{{zz{|{zz{|zz{zyzzzzz{z{z{z{z{z{{z{z{z|zz{|{{zzzzzzz{{{|{{{{z{zzz{{z{{{{|{|{yzzz{yzyz{{{z{{{y{zz{zzzz{{{{|z{z{zz{z{z{{zz|z||{zz{{zzz{{{{z|z{{{{zzzzzzzz{{|{|z{zz{z{|||z{|{{|{{{{{{{zy{z|{{|{{zz{zz|{|{{{{z{|{z{|z{{{{{{z{|{||{zz{{zz{{||||{|z{{z{{|{z|{{|{{{{{z{{{z{{{{|{{|{}{z{{{{{{||{||||{{{zz{|{{|{{|||{|{{{{{{z{}||{||||{{|{{{{||{|||||{z{{{z{{{|z{||}{|{{{{{{{{||||{{|{{{{{{{{{{|{{|||{{z{zz{z|{{{||||zzz{{{{{{{{{||{z{{{zz{zy{{{{||z|{z{z{zz{z|{{{{{{{{z{z{zz{z{z|z{|zzz{zzzzz{{||{|z{{zyzz{z{z{{{z{z{{zz{z{z{zz{z|{{|zzzz{zzz|{zz{{zz{zzzzzz{zz|{{{{zzzzz{zzzz{zz{{{{yzzz{zz{{{z{{z{{y{{zzzzz{{{z{|{{{zyzyzzzz{zy{{{zzzzzzzzy{yz{{zzzz{zzzzzz{zy{{{{zzyz{zzz{{zzz{|zzzzzyzzz{{{{{{{|{zzzzzzz{{z|z{{{zz{z{z{{z{||{{{{{z{z{{zz{{{{{{||{|z{{{z{{||{z{{{{{z{zz{z{|{|||{{z{{{|{|z{||{|{|||{{{{|{{|{{|{z|{z{zzz{{{{{|{z{||{z|z{|{{|{|{||{||{|{|{{{{|{|{{{||{{z{z{{{||{}{|{|{z{{zzz{{{||{{||{{{{{z{{{{||{{|{{{zzz{{{{{{{{||{{{{zzzyzz{|{{{{z{zz{z{y|{{|{{{{z{z{z{{{{{|z|z||{{{z{zz{{{z{{{{|z{{z{zzz{{{z|z{{{{{zzzz{{{|zz{|{{{z{z{zy{{|z{|{{{y{{z{zzz{{{{{{z{zz{{{z{zz{{z{{z{zz{z{{{{zz{zz|{zzyzzzyzz{{zz{|{zzzzy{zz{{{{{{{{{zz{zz{z{zz{{|{|{zzzzzzzz{z{{{{{{{{y{zz{z{z|{{{|zyzz{{zz{|{{{|||{z{zzzz{{{zzz|||{{{{{z{z{{{{{|{|y{{zzzzz{{zz{{||z{z{|zzz|{{|{{|zz{{zzz{zz||z|{||{{zz{z{z{|z{{||{{{{{zz{{|{||||||z{|{zz{{{|{|{}}{{z{{{{z{{{|{||{{{z{{|{zz{{|||}|{{{{{{z{{{|{{|}{||{zz{{{{||{|{{|{||{{{|{{|||||}}{{{{z{zy{{{{|||{||{zz{{{{{|{||{|}zz{{{{{{|{{|z{||{{z{{{{z|{{|{{||{z{zyz{{{{{{{|z|z|y{zzzz{{|{{|||{z{zz{zzz{|{||{{{z{z{{{z{{{{z{{{{z|{{zz{{|z{{{||z{{z{{{z{|{|{{{{{{{z{{{z{{{{z||{{z{z{{zz{{{z|{z{{z{{z{yz{{{|{{{zz{zzz{{{zz{{{z{{zyz{z{zzz{{{{{{{zz{zzzyz{{{{|{{|{zzz{{zzzzz{{|z{z{zzzzzz{|z{{{{{zzz{{{zz{{{|{{{|{z{z{{z{{|{zz|{{{{{{zz{z{{{{z{{{z{zzzzz{{{{|{z{|{zzz{z{{{||||{{{|zzz{{{z|{|{{||{{{{{z{z{{||{{}||{{{{z{{{{z{|||||{{{{{{{{{}||}||}{{{|z{z{{{{}||{{|z|z{{{{{|}{|||{|{|||||{|{{{||||||{{{{{{{}{}{||||||{{{|{||z|{||{|y{{{{{{{{{{||}|{|{{|{{||{{|||{||{{z{z{{|||{||||{z{{z{{y|{{{||||{{|{{zzz{z{z||||{zzzzz{{||{{{{|{{z{{||{{{|{{z|{|z{{z{{z{{{|{{{|{|{{z{{zy|{{{{{|z{{y{{zzz{{z|{{z{zzz{zzzz{{zz{{{{{z{{{z{z{z{zzzz{{zzzz{z{{{z{{z{|yyzzyzz{{|{{{z{z{zzzzzy{z{{{{{{{{z{{z{z{{{{{{{z{zzzzzz{zz{{z{z{{z{zzzz{{z{z{z{{{{z{zzzzz{{{z{{|{{z{z{yzz{{{{z{{zzz{{{zzz|{|z{{|{{yzzyz{|{{{|{|{|z{{|zz{{z|z{|{{|{|{{{z|z{|{|{{{|{zyz{{z{{{{z|{{|{z{z{{z{{{{{{|||y{{z{{{{{{{||{}|{|{z{z{{{{|||||{{zz{|zzz|}{{||}|{{{zzz|{{|}|{}{|{{{{{{z|{||}{|{|{{{{{{|{{|||||{{|{{{{{z{|||||||||{{{{zz||||||||{{|zzzy|{{{{z{{}||{{{{{{z{{|{{{|{{z{z{zzz{{{{||zz{zzz{yzy{zz{{{||z{zzzz{{z{{|{|z{|z{{z{{z{z{z|||{{{yzz{z{{{{|{{{|{zzzyz{yzzz{{{||zyz{z{{zzz{z{z|{{{{{{yzy{z{{{{z{z{zyzzz{z{z{z{{{zzyzz{yzzz{{{{{{{z{{zz{z{z{{{z{{zz{{zzzz{zzz{z}{zzzzzzzyzz{zz{zzzyyzzzzzzzz{{{{{zzzzzzzy{{{{{z|z{{zzz{{zz{z{{{{z{zzzzz{zz{{|{{{|{z{zzzzz{zz{|{{{z{zzz{{{{|{{{{{{z{{{zzzyz{|{{{{{{{{|z{{{z|}{z{{{{{z{{z{zz{||{{||{{{z{z{z|{{{{|}|{z{z{{zz|{}{|{||{z{{zz||{||{{|||z{|{z|{{{{{{||||{{{||{{zz|{|}|||{{{{{z{|||{||{{|{z{{{{{{|{{{|{|}|{{z{{{|{{|{{{||{{zz{{zz{}z{|z{{{zz{zz{{z{z|{{|{{zyzzz{z{||{{|{|z{zz{{{{|{||zz||{{zzz{z{{z{|||}{|z{z{{z{{{{{{{||zzz{{zz{{{|zz{z|{z{z{zzz{z|{{{{|z{zzz{{z{{z{{{{|{zzz{{zz{{|z{{{{{{{{{zz{z{{{{|{|{{zzzyz{z{{{{|{{{zz{zzzzzz|{{{{|{zzzz{{z{{{{zz|{{z|z{z{zz{|{{{{{zzzzzzzzz{zz{z|{zyz{yz{z{{{{{{{{{|yzzzzz{{zz{{{{{{zz{yyz{{{{{}{{zz{zzzzz{{{{{{|{zzz{|zzzz||{{{{{{{{zzzz{{{{{{{}{z{{{{{{{{{{{z{{{{z{z{zz|{|{{|||{{{{z{{{{|z{{|{}|{{{{zzz{{||{{|{{{{{{{{z{|{{||{|{{{{z{|{|{||}{|{||{{{z|{{||||{||||z|{{{{|{|{||||{|{z{{zzz{z{|{|||{z{{{{z|||{|{|||{z{z{{z{{{{{||{{{{z{yz{z{|{{|{{{z{zz{zzz{||{{|{{{zzzzzz{z|{|{z||zzz{zz{z{{{z{{|{{{zz{|{z{z{|{||{{zy{zz{zz{{{{{||z{zz{{{z|{{|{|{{zz{z{{{z{{{{{|{{{zzzz{zz{{{{z{z|z{zzzzyzz{{{{{||{zzzzyzz{{{{z{{{zy{{zzxzz{{z{{{{{{zzzyzzz{{{zz{|zz{zzzzy{{zzz{{{{yz{{zzz{zzzz{{{{zz{{{zz|z{zz||{zzzyz{yz{|{{|z{{z{z{zzz{||zz|{{|{yz{zz{z{{|{z{{{{{yz{z{zz|{|{{|{{{yzz{z{{||{{{||{z{z{zz{{|{y{{{z|{z{{{z{{{{{{{{{{{z{zz{z||{{{||||{{{zzzz{{{{||{||{z{{{{z||{{{|{|{z{{{{{{{|{z{}||||z{z|z{{|||z|||{|z|{{{{|z{||{|{|{z{z{{{{{{{||||{{{{|{z{|}{|}|{|z{z{{{z{{{|{{{|{{{z|zzzz{{|{{|{{{y{{zz{{{|{|{||{{zzz{zzz{{|z{|{{z{{{|z{z{{z{{z|{{{{z{zzz{|{|z{{{zzz{zzz{|{{|{z{{{{{z{zzz{{{{{{z{{{zzzz{z{{z|z{{z{zzzyzyz{z|{z{{z{{{zz{{z{{{z{z{{y{zyzzzzz{z{z|z{{zzyzzzz{z{{{|{{{zzzzzzzyz{{{z|z{zzzzzzz{z{z{{|{zzyyzzzyz{zzzzz{z{zzzzzyz{{zz{{{{zyyyzzz{z{{{{||{{{zyz{z{z|{z{{zzz{{{z{{{{{z{||{{{zzz{{z{{{|{{z|{{{z{{z{{{{{{||{zz{{{z{{zz{z|{{{|{{{{zzz{|||||{{z{{z{{|{|{z|{|{|{{z{{z{{{|||{||{|{z{|{{{|||{|{|{{{{{z|{{z|{{|||||{z{{{{{{|{{|{||{z{||{z||{{{{||{|{{{zz{{z{{}|{|{{{z{z{{{|||{{|||{z|zzz{{{|{||{{{|{{{z{{z|{{|z|{{{{|y{z{||z{|{{z{zyz{{zzyzzz{{z{|{{zzz{|{zz{{{{|{zyzz{{zz{{|{||{{{z{zyzzzz{{{y{{zz{{zzz{z{{{{{|{|zyz{zzyzz{{z|{{{zz{yzzzz{|{|z{zzz{zyzzz{z{{{z{zzyyyz{yzzzz{z{{{{zz{zyzzzz{{z|{y{zyzzzzyzz{z|zzzzzzzzz{zzzzzzz{{{zzzzzz{zzzz{{{z{{zzz{{z{z{{{{{|{{z{{z{z{{{z{|z{{zz{zzzzz{{zz{|z{|z{zzzzzz{{{{|{|{zzzyzzy{{z{{{{z{zzzz{zz{|{{|{|{zy{{{z{{{{{{{|{z{{z{z{||{||{||{|z{{z{{{z{{{{{{{|{zzzz{z{{||{{{{{{z{z{{z{|{|z{||||{{{z{|{{{||{||z|zz{{{{{{{|||{{{||{{z{{zz{||{{{{|{zzzz{{{{{{||||{zz{{z{{{|z|||z{{{zzzz{{{{|}{||{{zzzz{z{z|{|z{|zzz{zzz{{{||{{|{zzzyy{z{z{{{{{{|{{{{zzzzz{{||||{{{zy{yzy{{{{z{|{{{zz{z{zz{{{z{z{{{z{{zyzz{{{z{{{{{z{z{{z{{{{{{{zzzz{z{{{yzzzzz|{{zz{zzzzy{z{{z{zzzyyzzyzz{{{z||{{{zzzy{y{z{{{{{|z{{zzzzzy{{{{z{{{z{z{yyyzzzz{{zz{{{zyyy{zz{z{z|{{zz{{z{{z{z{{{{{{|zzzzyzz{|z{zz|{zzzyz{{{|z{{z{z|{zzz{zyzzz{{{{|{zz{{{z{z{|zz{||{{z{zzzyz{z{{{{{|z{z{zzzz{{{zz{{{z{z{{z{z{{{{|{{{zzz{{z{{{{{{{|{|{z{{y{{{{{{||{||{{z{{{|z{{||{{|{{{zz{z{{z{|{|{||{{z}z{|{{||{|{||{{{{z{{{{{{}|{z{{{{z{z{{||{{|{{}|{{{{{{{|{{|{||{{{{z{z{{{|{{{{|{{zzzz{{zz|{{{{{|zzz{{zz{|z{z{{{|{{{z{zz{|{{{{{||{z{zzzzz{{{{||{{{z{zzz{z{{{{|z|{z{z{zzzz{z|{{z||{z{zzyz{{{||{|||{{z{{{{z{{yyz{|{{zzzzyzz{{{{zzz{{{|z{zzz{{{{{{z{yz{yzzzzzz{z{{{|{zzzz{zzz|{{{z{{zyzyzzz{{{|{{{||zzzzzz{z{z{zzz{{|zzyzzzzzzz{{z{{zzz{zzzzz{{{z{|{{zzz{{zz{{{{{{{{{{zyzzz{zz{{{|{|{{zz{zz{{{||z{{|{z{{{z{yz{|{{||{zzzzz{{z{{{{{{|{{{{|{{{z|{z{z{||{{z{z{{zz{{{|{||{zy{{z|z{{{{{|||zz|{{zz{z|||{||{|{{{}{|{||{|{{}|{|{zz{{{{|{|||}||{{|{{z{{}{|z{||{{{{zz{{{|||{|||{z|{z{{|{}{||||{|{{||{{{||{|{{||zz{{{z{{{||{{|{|{z{{zz{z{{{|{{{zz{{zzz{{z{{|||{{{{{{z{{{z{{|{|{|{zz{zzzz{{{||{{{{{{zzzzz{{{z{{|{{z{z{zzz{{{|{{{{z{{zzzzy{|{|||{}{z{{zz{zz|{z{|{{{yzyzzy{{{{|{{{z{|zzzzzz{{{{{z{{zz{yzz{z{z{{z{|z{{zzz{z{{z{z{{{{{z{yz{zz{|z{{{{{{{zz{zzzz{{z|{zz{z{zz{zzz{{{{|{{{zzzzz{z{z{{{{|{{y{zzz{{z{{{{{{{{{zzzz{zz{{{{{|{z{zzzz{z{{|{{{||{z{{zz{{{{{{||z||z{zzzz{{|{|z{|{{{z|z{{{{{{{z||{||{y{{{{{{|{{{||{z{zz{{z{{{|{|||{|{{{{zz{{|z{||{|{{|{{|{{|||{{||{{{{z{{{{|{||}|||{{{||{{{||||{{||{{|{|{{|}|{{|{|{{zzzz{{{{{{||||{{z{{{z{{||{|||{{z{{zz{{{{z||||||{{z{{{z{{||{{{{{z{{z{z{{z{|{|{{zzzzz{zzz||{|{{|{z{z{{zzz{|{{{{|{z{zzzz{{z{{|{|{{{{{zz{{{|{{{{|{{{{{{z{z{{|{z{|{{{{{z{{{{|{{z{{{{zzz|zzz{{|{{{{zz{{zzzy{zzzz{{{zzzz{zzzz{{{{{|{{zzzz{zz{{{{{{z|{{{zzzyzzz{{{{{|{z{yzzzz{zzzz{{{|{zzzzz{zz|zz{|zzzzz{zz{{{z{{z{{|{{{z{zzzz{{{{z{|{{{{{zz{y{{{{{{|{zzzzz{{{|{{{{|{{|zzzzzzz{|{{}{|{{{y{zz{{z{|{|||z{{{{{z{{{|z{||{{z{zz{{{{z|||{|z{{{z{{z{||y{{{||z{{zz{{z{{{{|{{||{z{{zzz||||{{|{|||{|{|{||{}|||||{zz{{{{{|||||||{z|{{|z||{{||||{|z|{{{z{||{{|{||{{}{{{z{||{|{{|{{{{zz{{{|{{{{{{{{z{{zzz{{|{|{||{{{{zz{{z{z{{{{{{{zzz{zyx{{{{{z|{{{z{{yzz{z{z||{z|{{zz{zzz{{{||{{{{{z{zzzz{|{{{{{{{z{zyzz{{||{{{|z{{zzzz{{|{{{{zz{{zyz{{zz{{zz{{{z{{zyzzz{{z{z{{{zz{zzzzz|z{{{{{{|{{zzzz{z{{{|{{{{z{{z{yz{{zz{{{zzz{zzzzzzzyz{|{{{zzzz{{zz{z{z{z|{z{zzzzyz{{zz||{{{yz{z{{zz{|{{||z{y{zz{{|{{{|{{{{z{zz{{z{{{{{z|{|{|z|zz{|||{{|{{{{zzz{{z{{{|{{}{{zz{z{z{{{{|{||{{{{{{zzz{|{{||{|{{zz{{{z|||{{{|||{{{{{{z|||||{||{{{{{z{{{|{{{|}||{{z{{{{{|{|}|{||zz{|{|{z||||{{|||{|{|{{{|{{z}|||{{{z{z|{||{{||}{z{{{{{{{|{||{||{{{{{{{||{{{{||}z{{{|{z{{{z||{|{{{{{{z{{{||{|z{{{|zzzzzy{{{{|{|}z{zzzzz{{{z{{|||{{zyzz{z{zz{z{||{{{{zyzzz|z{zz{{{{{zzz{yy{z{{{z|zz{zzz{y{{zzzzzzzzzzz{z{{{{zz{{zzzz{zzzzzzzz{z||z{zzzzyz{zz{z{z{{zzzzz{z{{{{{{{|z{z{zyzzzzz{z|{{{yzzz{{zz{zzzz{z{zzzz{yzz{z{z{{{yzzzzzzzz{z{z||{zzyy{{zz{z{zz{{|{{{zzz{z||{{{{z|zzz{y{{zzz{|{{||zzzzzzzzz{{{{{|{zz{{{zyyz{{{z{{{{z{{{zzz|{|z{{|{||{{{{{{zy{||{{|{{{{{{{zz|{{{{||zzzz{zzz{{|z|{{||{z{z{{{||{{|||{{{{z{|{zz{|{|{|}|z{zyzzz{{|{|{|||{{{{{{{{{{|{||{|z{zz{z{{{||||{|{{{{{|z{||{{{|||{z{z{zzz{|{{|||{{{{{{zzz{zz{{z{{{{{zzyzzzz{{{{{|z{z{zzzz||{{|||{{{zzyzzz{z{|||{{{{{y{zzz{{z{{{|{z{{z{zzz{{|{{{{{{zzzzzzz{{{{{{z|{zzz{zz{{|z{{{{{|z{zzz{{z{{{y|{{zz{y{zzz{{{|{|{{{zz{zyzz{|{zzz{{zzzzz{z{{zz{{{{zzzzzzzzzy{z|y|||z{{zzzzyz{{{z{z{{yzzzzyy{{{{z{{{{zzzz{{zz{{z{|{{{z{yzyzz{{{zzz{{{{zzzzzz{{{{{|{|zz|zyy{{{|z{{{|{{{{z{{{{{{{{{|{z{zzz{z{z{|{{|||{zz{zzz{{{{{{{{|{{{zz{zzz{{{||{{{z{z{|{{{||{|{{||{{z{{zzz{|||{|||{{{{|{z{||||{||||z{{z{|{|{z|||||{{{{{{{|{||||{}}{z|{{{{{{|||}||{{z{{{{{|{{z|{|{||{{z{{{z{{}{{||{{{z{{|{{z|{{z||||{z{{{{zz|{||{|z{{{z{zzzz{|{{zz{zzzzzz{zz|{z{{{{y{{{{zzz{z{{{}}{{z{zz{{z{{z{{{|{{{{{zzzy{{{z{{{|zz{zzzz{{{z|z{{{zyzyyz{zz{{zz{|zzzzzy{zyz{z{z{{{{{zyzz{zz{z{{|y{z{zzzyz{{z{{{z{{z{zzyzyz{|{{{z{zzzzzyzzz{{{zz{|{zzzzz{yyz{{zz{{{zyzzzzzz{z{zz|zzyy{zyzzzzzzz{z|{zzzy{{yzzz{{z{{{{zzzzzz{{zzz{{{{yz{{zzyz{{{zz{{|{zz{zzzzzzz|{{{{zz{zzzzz{z{|{{z{zzz{z{{z||{{{|z|z{zz|{zz|{{|{{|{zz{{{z{z{{{{{{|}{{{{{zzz{{|{|{{z{{|{|{z{|}{{|{{|z{{{{{|{{||{|||{{|{{{|{zz||||{{||z{{{{{z{||}||{z{zz{{{z|{{{{{}}{{{{z||zz|{{||{||{z{{z{{{{{|z{|{{{zzz{|{z|{{|{{{z{z{{z{{zz{{{{{{zzzzz{zzz|{{zz{|{{z{zzzzy{|zz{{{{zzzy{{{z{|{{z||{{z{z{yzzy|{{zz{|{z{z{{zy{z{{z{|{z{{zzz{zz{{{z{{z{{{yzzzzz{{z{{{z{{zzyz{z{zzzz{{|zyyy{zzy{{{z{{{{zzzzzyyzzzz{|{{zz{{zzzzy{{zzzzz{zzyz{zzyzzzyy{{{{zzzyzzzz{{z{|z{zzzzz{yyz{z{{z|{{zzz{yyz{|{{{{{{{z{zzz{z{zz{{{{|zzzzyz{z{{{{{z{|{z{zzz|z{{{z{|{{{z{zzzzz{{z{z{{{{{z{{zz{{{{z{{{{{z{zz{z{{{{|{{{{z{{z{{|z{{{|{{||zz{{z{z{{|{z|||{{z{z{{{zz||z{{|{zzzz{{|{{|{|||{{{{zzz{{|{}{|||||{{{{|zz{|{{|z|{||zz{zz{{{{{{{{||{{{z{zy{z{{z{{{|z{zzzz{z|z|{{|{{|{{zz{zz{|{{{{|{{{{{{zzz{{zz|{{|y{{zzzzyz{{{{z{{z{zz{z{z{{zz{||||z{z{{zzzy{||{{|z{z{{zzz{{{{zz|{z{zz{zzyz{|zz|{{zzzyz{zzz{zz{{|{z{{zz{y{z{|zz{{{zzzzyz{zzz{{z{|{zzzzzz{z{|{zz{{{{zzzzzzyz{{zzzz{z{z{yz{y{z{{z{{{zzz{zyzyzz{yzz{{zyzzzzyzzzzz{|z{zy{z{{zyzz{{zz{{z{z{zyz{{{{z{{|{{y{zzz{{{{zz{{{{{{{{{z{zz{{{{{|{zzz{{zz{{{{{}{z{zzzz{{zzz||z{{|{{z{{zz{{{z{{{{{zz{{z{{{{||||{{|{z{z{{{{||{{{|{|}{z{{{z{{{||{{||{{z{|{zz{||{||{}}zzz{{{{z}{|}{{|||{{{{|{zz|{{{||||{|z{{{{{|{|||||{{{{{{{{{|{{{{||{{{{|zz{{{|{{{||{{{{zzzzz{{z|||{{{{{{{z{z{{{{{|{{{{y|{zz|{{{{{{|{{{{zzz{z{{{|{|{{z{{{z{z{{{|{{z{{|z{z{|zz{{{||||{{zzzzzzzz{|{{{z{{zzzz{zz{|{z{z{{zyzyzzyz{{z|{|{{{z{zzzzz{{zz{{{{z{zyzz{zz{z{{{|zzyy{{z{{{{z{{{{{zzzy{yy{z{{z{{{z{{zzyy{{{{zz{|{zzzyzyyxy{|z{|{z{{zz{zzzzzzz{{|{zyz{yzzyz{zz{{{{zzzzz{z{z|{{z|{{{zzzzzz{z{{|{||{{{{zzzyz{|{{{z||z{z{|z{{z{||{||{zz{z{|z{{{|||||{{{zz{yz{{{|{{|{|z{{{{{{{{{}{||{|{zz{{{zz{|{{}|||z{zz{zzz{|}{{||||z{{|z{{||||{}{|z{{z{{{||||{||}{|{{|{||{|||||{{{{{{{zy{{z||{|{|||z{{|{{{{{z||{}|{{|z{{z{||{|{}|{{z{{{|z{{|{{||{|||z{z{zz{||{{||{{{zz{z{zz{{{{{{|z{zzzz{{z{|z{|{{{{{zzzzy{z{z{{||{{zz{{zz|z{||{{{z{{zy{yz{|{{{{{zz|zzy{zy{{{z||{{zzzzz{{zz{{{z|{zzz{z{zz{|z{{z{z{zzzzzzzz{{{{z{||{yzz{z{zzzzzzz{{{zzzzzzzzzzzzzz{zzzzzzzyz{{z{{z{zz{zzzzz{zzz{zz{{zzzzyz{z{zzz{{{{zzz{{z{zz|{z{{{{zyz{zzz{{{z{{{|{{{{zz{z{z{|{{z{yz{z{zzz{z{{{|{{zzzz{yz{{{|{{{z{{{{{{{{zz||{{{|{{{{{{z{{{|{z{||{z{zz{zzz{||{{{||z{z|{{{z{||||{||{zzz{{z{z|||{||{{{zz{{{{|||{{{||z{{{{{{z{}{||{|{|z|{{|z{{||{{||{{{|{z{z||{||||{{{z{{{{z{z{||{|||{z|{{zz{|{{{|||{|z{zzz{{{|{z{|}{{{{{zz{z|{{|{||z|{{zzzz{{{{{z||{zzz{{|yy{{|{{|z{{z{z{zz{{{|z{{{|{{zy{{zz{z{{|z{{{{{zzz{{{{|z{{{|z{{{z{{z{{{{|{{|zzzzzzzzz{{z{{|||zzz{z{z{z{z{||zyzz{{zz{{{{{{{{{z{yzzyzyz{{}z{z{{{zzxzzz{{|{|{{{zz{z{{{zzz{|{{{{{z{zz{{zz{{{{{zz|zzz{zyzz{zzz{{zzzz{zzz{{|{{|{{|{zzzzz{z{|{z|{z|zz{{zzy{{{{{{{{|{zzzyz{{{z{z{{{{z{zzzz{{zz|{||||z{|zz{zz{|{{{{|{{{zz{z{{||{{{{{{z|z{{|zz{||{|z||z{{{{z|{{|{{{|{{{{{{{{{{{{{{|{|}{zzz{{|z||{|||}|{|{{zzzz{{|{{{{|{zz{z{|{|||||{||{z||{{|z||{|{|}{{{z{zz{{{||{{{|{{{{{{z{z|||{||{|{z{zz{{{{|||{{{||{{{zzz{||z||||{{z{z{{{{{|{|{{{|{{z{z{zz|{{{z{{|{z{z{z{{|{||{|||{{z{{{z{z{{{||{{{z{{{zzzz{z{{{{{{{zzyz|z{z|z{{{}zzz{zz{yzz{z{|{{{zzz{yzz|{{{{{{z{{z{zz{|{{{||{{{{zzzz{zzz{{zz{{{{zz{z{zzz{{{{{{{{{|zyzzzz{{z{|{{|z{z{z{z{{{yz{||{zzzz{{zy{{{||{{|z{zzzzz{{||z{{{{{zzy{{{{{{{zz{}{z{z{zz{z{|{{|{{z{{{y{zz{{|{||{|||{z{z{y{{|{|||{{z{z{{zz|{{z|{{|{{{{{{{z{{|||{{{{z{{{{{{{|{|||{|z{{{{{{{|{||{||||z{{{{z{{||||{||{z{z{{{{|||}||||{z{z{{|{{{}|||}{|{|{{{{{{|{{||||{{|{{{{{}|||{z|||{{{{{||{{{{{|{|{{{z{{{{{{||{}|{{|{{{z{{{|{|{||||{{zyz{z|{||||||{{{zz{{{|{|{{{z{zzz{{{{yz{{{{{{|zzzz{zzz{{|{{z||zyz{{z{y{{{z{{|{zz{zzyzz{{|{z{{{{{|z{{{y{{{{{{{{{zzzy{zzz{{{zz|z|z{zzzzz|{|{{{|z|z{z{|yzzzz{z|{|z{{zz{yz{z|{z{{z{yzzzzyy{{{z|{{{{{z{zz{{z|{zy{{{{yzzzyzzzz{{zz{z{{zzzzyzz{zzz{|{zz{zz{yz{z|{{||{{{zzz{{{{{{{z||{{zzz{yzz|{{{{{{{{{z{zzzz{{zz{{z{{{z{{y{|z{|{{|{|{zzz{zy{{{{{z||{|{z{{{{z|{|{z{{|||z|{{|z|{||}|{|{z|z|{{||{{{{|{|{{{{{{{{{||{|}|}|{{{{{|z||{|{{{}|{zz{z{||||{{{{}||{{{|{|{||{}{||{z{{{{{||||||||{|{zzz{{|{{{z|||}{{{{{{{z{|{{{|{||{{z{{z|{||{z{{{z{{{{{{{{{{{||{|z{{{zy{z{|||{{z|{|{zzzz{zz{{{{{|{zy{{zzz{{{{{{{{zzz{zzz{{{z{{{{{zzzzzzz{{{{{{z{{{zzzyz{z{z{{zz{|zz{zzzzyz{{z{||{{zzz|zy{{{{{{{|{{z{zzyzzz{{{z{zzzz{zzzz{z{{{{|{zzzz{y{yzzzz{{{{{z{zzzzzzz|{{zz{|z{zzzzyyz{zz{zz{zz{zzzyz{{{{{{{{{yzzzzzz{zz{{{{{zzyz{yzzz{{{{{{{yz{z{z{z{z{zz{{{z{z{z{z{||{|{{{{{{{zzzzzzz{{{{{{{zzz{zzz{{{{{||z{{zz{{z{{{{{{{{{|zz{{zz{{{{{{{|{z{{{z{z{{{{{{}|{{{{{z{zz{{{{|{{{{{|z{{{{{}|{{|{{zz|{z{{{{{{{{||{|{{{{{{{{|z|{{|||{{zz{z{|{{{{{||{z{{|{{{{|{{|z|||{{{{z{{{{|{|{|{|{{z{{{|{{z{{{|{{{zzz|{z{|{|zz|||{zzzz{z||||{{{{{z{{{{{zzz|{|z|{|zz{z{y{z{|{{{||{{zz{{z{{{|{{{||{zzzzzz|{{{{{|{|{{|zyz{zz{{|{|{{{zzy{yzz{{{z|{{{z{{z{yzz{{{{z|zzyz{z{zyz{{{{z|{{zyzz{zzzz{{z{{|{z{zzzzzz{{{z|{{|{z{{zzzz{zz|{|{zzzz{zyzzzz{{z{{zzz{zz{{z{{z{z{{{z{zz{z{{z{z{{{|{zzzzzzz{{{{{{z{{{z{zz{z{{z{{{{|{yz{{zzz{{{{{{{}{{zzz{y{z{|{{|{{{{z{zz{z{{{|z{{}{{{z{z{zz{|{{{|||{{{{z{{z||{{{|{{{{{z{{{{{{{{}||||{|{{{{{||{{|{}|{{|{{{{z||{||}||{{{{{{{|{|{{|}|||{{{{{z|{|{|{||{|z{{z{{{|{||{|{{{zz{{{{{zzz{|{|||{{{|{|{{|{|||||{{zz{{zz{|{|{||}|{|zz|{z||{{{{|{{{zzzzzz{|{|{{zz{yyz{{{{z{{{{{z{z{zzzzyzz{{{||||{z{yzzzz{z{{|{||{{|{z{zy{{{{{|{||z|{z{zzz{{{{|{{zzz{zzzzzz{z{|{{{zzzyz{zy|{z{{{zz{zzz{z{{z{z{{{{{yzz{z{{{z{{{{{{{yzz{zzzz{{z{{{{{z{zzzzzz{z{{{{{{yzz{yyz{z{z{{{{{{zy{zzzzzz{{{{{zz{z{zzz{zzz{{{{{zzzz{zzzz{{{{{|{z|zzz{z{z{{|{{{zyzz{zzz{|{{{|||{{zz{y{{{|{{{{{{{{{zz{zz{{{{{||{{{zz{zz{||{{{{|{|{{z{{{z{{{||{|{z{{{{z{z{{{||||{{{{{{yzz{|{{|||{|y{{zz{{{{||{{||{{|{z{||{{{z|{{|{{{{z{{{{||||{||{{{{{{{|{||{|{||{{z{{{zz{{{|{|{{{z{z{zz{{|{}|}{|{{zzzz{z{{{z||{|{{{z{zzz{|{{z|{{{{{{{z{z{{||z|{{{{{z{y{z{{|{|z{{zzz{zzy{|{{|{|{{{{zzzzzz{{{{{{{{{{|z{zz{{|||{{|{{y{zz{{yz{{{{||{zzzz{zzzzz{zz|{{{{{zyzz{z{{{{{{{zz{zzz{z{zzz{{|{zz{z{z{zz{zz{{{{{{zzzzyy{{{z{{{{{zzyxzzzzy{{{{{{zzz{yzzzzz{zz{{z|y{zzzyzz{zz{{z{yz{zzzzzzz{{{{|{zzzzzzyzz|{{z|||{{{{{y{y{{|{{{{|zzzzyzzz{{{{|{|z{{{{zz{z{{|{{}||{z{zzzzz{||{{{{{{{zzz{z{{{{z|{{{|{zy|zz{{z{||{{|z{{{{{||{{{|{|||{{{{z{z{||||{|||{z{{{|{{|||{|{|||{{z{{{{|{{{|||}|{{z{{{|{|||{|||{z{|z{{z{{{{|{}|{z{zz{{{{||z||||{{{{{{z{{{{|{|||z|{z{zz{{{{{|||{{{z|{{{{{|{{{{|{{z{{z{{z{{{{{{||z{{zzz{zz||{zz{{zzzzzz{z{z{{||{{|{zzz{zzz{{{{{{|{z{{zzzz{{{|z||{{{zz{zzzzz{|{{{|zz{z{z{y{z|{z{{{z{{z{zzz{z{{z||zz{zzzzzz{zz|{|{|zzy|zzyzzz{z{{{{zz{zzzyz{yzzzz{{y{z{x{z|z{{{{z{{zzy{zzyzzzz{{{{{|zzzzyzy{{y{zz{z{zzy{{zzy{{{{{{{zzzz{z{z{z{{zz{{yzzz{yzz{{{|{||{zzzzzzzzz{{z{{{{{{zzzz{z{{{{{||{{z|zz{z{{||{{{{{{z{{{zz{{{{{{z{{z{z{{zzz{{|{|{||{{zz{|{|{|{||{|{{{z{{zz{{||{||{{|{{z{z{{{|{||||{{{z{{{{{{{}|{|}||{{{{{{{{}|||}|||{{{{{{{||{|{|{{|zz{{{zz{|{|{|{|{{{{{{zz||{{{|{||{zz{{{zz{{{{|||{{{z{{z{{|{{{}||{zz{zz{z{{||{{{{zzz{{{zyz{z{{{|{{yzz{zyz{{{{zz{{z{zz{zzzz{{{z{{|{z{y{yzzz|{{zz|{z{zzzzzy{||{{{{|{z{yzzzyz|{{{z{zzz{zyzzzzz{z{{{zyz{zyzzyzz{|y{{}{{yzzyyzy{z{{{{{{zzzzzz{zz|z{{{{z{zzz{{yz{z{{z{zzzyyzzyzzz{z{{z{zzyyy{zyzzzyz|z{zzzzzy{zzzzzz{}{zzzzz{yzzz|{|{|{zz{zzy{{{z{zzz{{{{zz{z{zz{|{{|{z{zz{z{{y{{|{{{{{{{{z{z{{{{{{{{||{z{z{{zz{{{z{{|zzz{zzzzzzz|||{||z{z{z{{||{{{|{{||zzz{{{z|{{{|{{zzz{{{{z{{|{{||}{{|{z{{{{z|{||||{{{zz{|zz{||{{{{|}{{{{{{{{{{|{||{|{{z{zz{|{|{||{|{{{{|{{{|{z||{|{{{zz{{zz{|||{||{|z{{zz{{{z||{{{{{z{z{{z{z{{{||{|{{zzz{zy{{{{{{{|{{{{zz{{|||||{z|z{zz{yzz{|z{{||{{zzzyzzzz{||{{{{|{{z{{zz{{{{z|{{zz{{{{{zz{{|z{{z{{y{y{zz{{zzzzzzz{zzzzzzzzz{z{{{zyzzzzzzzz{{{z|{zzzz{zyzzz{{{z{z{{zzzzzy{{||z{{{zzzzyz{zz{{{{{{{{zzzzzzzz{zz{|z{zzzz{zzzz}|{{{|z{{{zzzz{z{{{{|{}|{|{zz{|z{{|{{{{{zzzzzz{zz{{{||{z|{{zz{y{{|{|{{{{zz{z{zz{{{|{|}{zz{z{z{z{||{||{{{zz{{zz{|z{}||{{z{z{{{{z|{{|z{|{|{{{|{zz|{{{|||{{zz{|z{{{|{|{|}{{{{{{z{{{{z{|{|}{{{zz{{{{|{{{|}{{{{{z{z|{{|{||}{{{z{z|z|||{||||{|{|{{{|z{{|z{{|{|{{z{{{z{{z|||||z{{{{zz{{{||{{|{{{{z{z{{|{||{z{{z{{zzzzz{{{z|{||zzyzzz{{|{{{{||{{zzzzz{z{{{{z{|{zzz{{zzzz||{z{{|{y{{z{zz{{{{|{{{{z{zzz{z{{{{{||{|zz{z{yzz{{zz{{{z{zzzz{{z{z{{{zz{zzyz{zz{z|z{{{zzzz{yzzyz{{{{{{|z{{yzz{zz{z{{z{{z{zzzyzzz{{zz{z{zzzzzzzzzz{{z{z|zyzzz{zyyz{|{{{{{{zz{{yz{{zz{{{{z{{zzzz{z{z{{{|{|{zzyzzz{{{|{{|{{{zz{y{z{{{|{{z|{yzzzzzz{{{{z||z{zz{{zzz||{{||{{{{{|{{zz|{|||||{{zz{{{{{||{{{|||{zz{{zzz||{{|||z|z{{{{{{{{{{|{||zz|{{{{{z{{{{}|||{z{|{z{|{{}z{||}z{{{{{{|||||||{|{z{{zz{{|{||{|||{|{{{z|{{||z|{{{{{z{zzz{|{{{{||{|{{z{|z{{|{|{z{|z{{{{|{{{{||z{|z{{z{{zz{|{{{{{{{{zz{yzzz{|{{|{|{{z{zz{zz{{z{||z{z{z{zz{z{|{{{{|z{{zz{zzzzz{{{{{{zzzzz|z{z{z{{{{{z{zzzzz{y{yz{{{{zzzz{zzzzz{{z{{zz{yzz{z{z{zy|{zzzzz{zyzz|{{{z{z{{zzyyz{z{{{{z{{{zz{zzzz{zyzzz{{z{zz{zzz{zz{{|{{z{zzzz{z{{{{{{|z{zzz{{{zz|{zz{|{zz{yz{z{{{{{z{z|zzzzzz{{{{{{{||{{zzz{zzz{|{{{|||{z{z{{zy{{|{||{z{{z|{{{z{|{z{|{|{|{{{{z{{{||{|||{{{|z{{{|{{|{{{||{zz{zz{{{|||{{{{{{{{{zz|}|{|{|||{{{|{{{|}||||||{{{{{{{|||{||{{|{{||z{|||{|||{||zz{{{{z{{|{||||}{|{{{{|{|{{|{|}}{{{zy{{z{|{{{|{{{{z{z{{{||{{{{|{{{{zzz{|}{||{{{{zz{{zz{{{{{{{{{{{zzzzzyz{|zz{|{{{{{yz{zzz{{z|{|{z{|zzzz{{{z{{{{{{{zzzzzzz|{z{{z|zz{zzz{y{{{{z||z{{zz{zz{{|{{{{{{{{{zzzyz{z{{{{{{z{zzzzzz|zz{z{{|zy{zzzz{zzz{{{zzzzyzzzzzz{{{z{{|z{zzzzzzzzzzzzzzzzzzzz{yz{{{|{zzzz{z{zzz{{{{{|{{z{zzz{zz{{{yz{||z{{{{zzzz|{{{{|{z{z{z{zz{{z{|{{|{{{zz{zzz{||{{|{zz{{{z{zz{{{{{{{{{{{{{zz{|{{{|{z|z{z{zz{{{{{|}}{{zz{{{|z{{{|z{|{{z{{{zzz{{||{|{{{{{{|{z{||{|||}{z{{z{{|{|{|{|{{}{{{{z|{||||{||{||{{|{{{{||{|{{||{z{|z{{z{{{||{||{{zz|z{z||z{}{|{{z{{{zzz{{z{z{{|z{z{z{zz{{|{|{|{{z{z{{|{||z|{{{z{zzzzzzzz{{{z{|{|{z{zxzy{|||{{{{{z{zz{zz|{{{{{{|zzzz{zzz{z{|{{{{{|zzzz{z{{|z{{{|{zzzzzzyz{{{{{|{zzzz{zzzzz{{{{z{{zzyzzy{{z{{z{}|zzyzyzzzzz{z{|{{{zz{yzzzzz{z{{{z{zzyzzzzz{z{{|{{{zzzyxzzy|z{{{{z{zzzyyzzz{y{z{{zzzzzyzzyzz{{|{{{z{zzz{zz{{{|z{{{zzzzzzzz{z{{{{{|zz{{yy{z{{{{{{{{{zz{{z{z{{{{{|{{{yz{|zz{|{{z{{|z{zz{{{{{||{{{|{|{{{z{{{z{{||{||{{zz{z{{{|||{{{||{z{{{zz{{{{{{z}{{z{z{{{{||||{{{|{{z{{{{{{{|{|{{{|z{{z|{{{|y|||{||z{{{zzz|{||{|{{|{z|{{{{{{|z|{|{{zzz{zz{{{z{||{|{|{zzzz{|{z{{{||{{z{zz{{{|{{|||{{z{|{{z{{||~||{{z{{z{yzz{{|{|z||{zzzzzzz{{{{{|||{y{zzzz{{{{{|||{zzz{zzz{|{z{z{{|{{{y{{{z{z{{||z{|{|zzzzyzz{z{{{{{zz{zzz{{{|{{{|z{z{zzzzyzz{{z{{{yzzzyyz{{z{{z{{zzz{zzyyz{|{{{|{{{{zzz{zz{{z|{{{{{zzyzz{zz{|z{{zzz{yy{{{{z{{zz|{|z{{zz{{zyzzzzz|{zzzz{{zzz{|{{{{|zz{zzzzy{{{{|{{{{z{{{{{z{{{|{{z{{z{z{{{z{{z|z{|zzz{{{{zz{{{{{{{|zzz|{z{{||||{{{|z{z{z{{{|z|{||{{z{|z{z{z|{||{|||{|{z|z{y{}{|{{|{|z{z{{{{|{|{|}{{{{z{z}{{|}{||{z||zz{z{{z|}{{{|{||{{z{|z{{||{{||{|{{{{z|{{{|{{{||{z{{|{{{{|{{|||||{zzz{{{||{||{{||{zz{z{z{{{||{|{z{{z{|{{}|{}|{{{{zzyzz{{{|{{{z{{yz{zyzzz{{{z{{||zz|zzz{y|{{{{|{{{z{zzzyz{z{zz{{{{zz{zy{z{{{{{{z{{z{zzyzzz{{z{{|{zz{{zzzzzy|z{{|z{{zzz{zzzz{zz|{{zzzyzzzz{{{{{{zzzzz{zz{zzz|z|{{zzy{yzyzz{{zzz|{{{zz{zyzyzz{zz{z|{zzzzy{zz|y{{{z{zzzzzz{z{z{{z{{{{z{z{yzy|z|{{{|{{{zzzyzz{|{{{{|{zzzz{zzz{{{|{|{{{{z{zzzz|{|{{|{{{z{{{zz{{{z|{|}{{z{z{zz|z||{||{{z|zzz{zz|z{}||{{z|{y{{z{|{{|||{|{y{{{z{zz{{{{z{|zz{{{|{{|||{{{|||z{{{z{{{{{|||{|{{{{zzz|{|||{||{|||{{z{{{{{{||{{|{zz|zz{{|{|{|||{{z{{zzz{{{{{{{|z{z{{{{z{|z|||{||{{{z{{z|||{z{{|{|{z{{{{{}}||{{|{{zyz{zz{z{z{z{|zz{zzzzz{{{{z|{{|z{yy{zzz{zz{{{{{yzzzzz{{{z{zz{|{yyzyzzy{{{z{z{{zzzzzzzz{{zyz{|{{{yzz{yz{{zzzz{z{zzzzzzzzzy{z{z{yzzyzyzz{{z{z{zzzyzzzzzy{{{{{yzzzz{{xyzyzz{zz{{zzyzyzyyyzzzzzzz{zzzyzzyz{{z{y{{|zzzyzzyyyz{{|{{z{zz{zyz{{{{zzz{{zz{zyzzz|z{z{z{{z{zzzyzz|{{{{{z|{zz{zzz{z{{{{{|{zzzzzzzy{z|{{|{|zzyzzzzz{|{{{|{{{z{zz{{{zz{|{|{{z{{y{{{z|z{|{{{{{{{{y{zzz{|||{||{|{{z{{{|||{{{{|z{z{z{||{|||{{|||{{{{|zz{}|||{{{|{{{{z{{{{{{{{{||{{{{{{{|zz{}||{|{z|{{{{{{{{{|||{{z{yz{z{{{{z||{{{{|{{z{z|z{{{{{z{{{z{z|{{{}|{{{{{zzzzzzzzzzz{|{zz{{zz{z{{z{{{}{zyzyzz{zzy{z{{{{zz{zyyzzzz{zz{{|{{yzzzzz{zz{{{{|{{yz{{{yzz{yz|z{{z{zz{yy{z{{{{{{zzzyzzyz{z{{z{{{zz{zzyz{z|z{zzzzz{zzyyyzzzz{{{z{y{yzyzzzz{{{{z{{zz{zyy{z{zzzz{z{zz{zzyyzy{zzz|{{zz{yz{zzz{z{{||{zzyzzz{zz|z{{{|{zz{zzz{z{{z|{{z{zz{zzzz{{{{z{|{{{z{y{{y{z{{{{{|{z{zzzzzz{{zz{||{{z{{z{z{{z{z{{{{z{zz{{{{{{|{{}{|{z|{{{{{|{{{{{|{{{{{z{{zz{{{{{y|zz{zz{z{||||{|}|{{{{zz{{{z||{|{||z{{{y|{|||{{||{{{{z{{{{{|{{|{|{{{{z{{|{{{{{{{|{{{zzz{zz|{{|{|||zz{{{{z{{{{{{||{{z{z{z{z{|{|z{{{z{{{zzzy{|||}{{{{{{z{{z{{|{{{z{|zz{{zyz{{{{{{{{|z{zzyz{z|z{{{z{zz{{z{{{{{{||zz{{zzzy{zz{{{{{{{|}zzz{z{{y{{z{z|z{zzzzzzy{|{{{{z|{{z{{z{zzzz{{{{{{zz{zzz{y{{{{{{z{{zzzz{zzz{z{{{{{y{zzyzzzzz{|z{{{{z{{zyzzzz{{zz{zzzzzzzyyz{{z{{z{zz{{{zzz{{{{{{{{z{{{zz{zz{{{z{z{{z|zzzz{|{zz||{|{zzzz{{zzz{{|{{{z{{{zz{z{{z|z{z{|{{{z|{zz{|{{{|z{{{|y{{z{{{z|{{{|zz{z{z|z{{{||{|{{z{z{{z||{{z|{|z{z{{{{{{{{|{|{{|zzz{|{{||||{||||{{z|{{{{{{|}{{{{{{{z{{{|||||{{{}{|{{zz{|{{{|{{{|{{{{zz{{{{|||||{{{{{{{{||||}{{{{{z{{{{{z|{|{{|z{{{{z{{{z{||{{{|{z{zzz{{|{}|}{||{z{zzzyz{{{{{{{{|z{zzzzz{{|{{{{|{zzzz{zy{|z{{{|{{zzzz{zy{{z|{{z{{{{zzz{z{{{{z{|{{{z{yz{z{|{z{{{{{zz{zzzz{|{z{{{{z{zzz{zzz{z{z{{z{zzzzzzzzz|{z{|{{{zyzzz{z|z{{z{{|{{yyzzzz{{z{{{{zzzzyyzz{z{yz{|yy{zzzzzzz{zzz||{zzz{z{zz{{{{{{{{{zyzzz{z{|z{z{|{{{{zz{{{{|z{{|||{z{zzz{z|{|{|||{|{{{z{zz{{z{{{z{zz{{z{yz{{{{{{|{|{{{{z{z{{|{{||{{{z{zz{{{{||{{|{|{{{z{{||||{{{||z{{{{{z{{|{{|{}||{{{{{{{{{{{||||{z||{{{{{||{{|}||{z{{|{|||||{|||{{{|{{{{||{{{{{|{{|{{{z|{|{{|||||{z{|{{{}}{}||{{{{{{{{{z{{||}|||{zz{{z{|{{|{|||{{|{{{{{y||}|~|{}zzzzz{zzz{{{{{{{{{z{zzzz{z{|{{{{{{zzzzzyzzz{|{{zzz{zzzyz{{{{{y{{|{{yyzzy{{z{{{{{{{{{zz{zz{{{z{|{zz{z|zzz{{{zzz{{zz{zz{zz{{{{{{{{{zzzzyzz{{zzz{|zzz{zyzzzzz{z{zz{z{{zz{zzz{{z{{z{{zyzzzzzzzz{{{z{{zzzz{zzzz{zz{|{zz{z{z{y{{{zzz{z{zzzzz{yz{{{{{{|y{{zzzzzzz{{z{||z{{yz{z{{{{{z{{|{z{{zzzy{|{zz||{{zzyz{y{||{{z{|{{z{{{{{{{|{{{||{{zzy|{{{|{|{{{||zz{zz{{{z|{{||||{|{{{z{z|||||||{|{{z{{|{{|{{}|}|{{{zz|{z|{|z{{}|}z{{{|{z{}||{||}{{z{{{|{|{{||{{||zzzz{{z{z{z{|||{{{|{{{{{{{||{||{{{z{{{|{||{{|}{zz||z{{z{|{{{{{}{||z{z{{||||}||{{{zy{zzyz|{{z|{|{zz{{zzzzz{{{{{}z{zyzz{z|{{{||z{{{{z{yzz{|z{z{{||zyzzy{z{{{|{|z|zzzzz{z{z{{y{}{|{zzzzzz{z{|zz{{z{zzyyzz{zz{{zz{{{zzyyz{zzzz{{z{z{zyzzzzzz{{{{|zz{zzzzzzyz{|zz{{|yzzzzyzy{zz{zz{{zz{zzz{z{{z{y{|{zzzz{zyyzz{{{{{{zzzzzzzz{{z{{{z{zyyzzzz{zz{{{{{|{zz{{z{zz{{{{|{z{zz{y{zzz{{{{{{{zz{zz{{{{||{z||{{{{zzyzz{{{{{{|zz{zzzzz{|{|z|{{|y|z{{{||{{{{{||||{zz{zzz{{{||{|{|{{{|{{{{{{{{{|||z{{{{{{{{|{|||{{{{z{{{||}|||||||z{{z{z{|z||{||{{zz{{{z{|{{{{|}|{{z{{{{{{||{{|||zzz{{{{z{z{{{{{{z{|{y{{{{|{|{|{{{z{z{{z{||}||z{{{zyzzzy{{|{|{z{zzzz{{{z{z{z{{{{z{zz|zzzy{{{|z{{|zz{zzzz{{z{{z{||{yzyzzzz{z{{{{{{zzz{{zyz{zzz{{z{yzzzzz{zzz{z{{z{{z{z{zzz{{z{z{{{z{z{zzzz{{{zz{{{{zz{zzy{{zzzz{{z{z{yzzyz{{zz{{{{zzzz{yzzz{z{z{{{zzyzzzzyz{zzz{{zzzzy{yzz{{{{{z{{{{zzzyy{z{{{z|{{zzzz{zzz{{|zzz{|z{{z{{{zzz{z|{{|zz{{{zz{{|z|{{{{{{zz{zzz||{{|{{z{z{zzzz{{{{{{|{{{zzzzzz{{{{|{|||z{{{{{{z|z{|||||{{{{zz{zz{{|}z|{{{{{z{{z{|{||{||{{{{{{{{{|||||||{z{{z{{|{|{}||{||{{{{{z{{{||{}{{{{{z{z{{z{{{||{||{|{{{z||{{||{||{{z{{{z{{|{z{{{||{{zzzz{z{||{{||{{{z{{zz{{|}}z{{z{zzzyzz{{{z{{z{z{z{{zzz{{z{{z||{{{{y{zz{zz{{{|z{{zz{zyz{{{{zzz|{z{y{z{z{zz{{{{{zz{zzzzy{|z{z{|{{z{y|x{z{{{}z|{{{zyzzz{zz{z{z{z{zzzzyzzz{{z{|{|{{yzzzyy{zzz{{{|zzzz{zzzzz|{zz{{{{z{yzzzzzzz{{z{zz{{yzzzyzzzzz{z{{zzzzzzyz{z{zzz{z{yzzy{zz{|z{{{{zzz{y{z{{z{{z{{zz{{{{z|zy{{z{{{{{{z{zy{{{{|{{{z|{zzzzz{z{{{{{z{{{zzz{{zz|{{{z{{{{{z{{z{{{{||{|{||{|{{{{{{{||z||{{|{{{z{y|||{|{{{{z{z|{|{||{{{{||{{{{{z{{{|{{|{{{|zz{yz{{z||{{{||{{{z|{|{|z||{{{{{z{{zzz{{||{{{|||{z{|{zz{{{{{|{{z{zzz{{{{{{{{{||{|z{zz{zz{|{z{|{{{{z{z{{{||||zz{{{z{{{zz{{{{{z|{{{yzzzz{{{{z{{{|z{{{zzzz|{{{|{{z{z{{zyzyz{|{z{{{zzzzyyzz{|{z{{{{zzzy{{{z{{{z||{{{z{z{yyz{{z{z|{{{zzz{{{{{z{{z{{z{z{zzzzz{zzz{z{{{z{zyzzzz{{{zz{{zzzyy{{{z{{{{|{{z{yzzyzzy{z{z{z{z{{zzzyzzzz{z|z{zz{z|{z{{zzz{z{{{|zyzz{zz{zz{{{}zzzz{zzz{{{|{{{|zz{zz{{{|z{{{{|zzz{{{z{{z|{z{|{{{zzz|{yyz{|{{{|{{{z{zz|{|||{{{|{{{|{{{zz{{{{{|{z{zz{zz{{z||{z|}||{{zz{{{|{z||z}|{y{{{z{|{{|{|||z|{{|{{|{{{{{{||||{{{||{{z|||}|||{{{{{z{z|||||}{||{{|{z|{{{{|{|}|{{{|{{{{{{{|{{{|{{{z{{{{{{{|{{}|{zzzz{{z{||{z{{|{z{{|z{{{{|{}{{{{{zzzy{yz{{z{z{{z{zyy{yz{z|{{||{z{zzzzzz{{{{{{{{{zzzyzyzz{z{z{{{zzzzzz{z{{{{z{{{{z{z{{{yz{{zzz{{{{zyzzzz{|{{z{{{zz{zzzzzzz{z{{z{z{zzzzzz{{{z|z{|zy{zyzy{z{zz{z{zzz{zz{{zzz{z{{{{yzzzzzzz{zz{zzz{{{zyyyzzz{{{z|{{{zz{zz{zz{zz{{{zzzzyzzy{z{{z{{{|zzz{zzzz{z{{{{{zzz{{{zzz{z{{|{||{zz{{zz{{{{|z{{{{{{zzzzz{||z{{|{{{zzz{{z{{z{{{{{{{zz{z{{{|||{||z{{{{{{|z|{z{{{{|{zz|{{z{|{||{{{{zz{|{{|{||{{{{|}z|zz{{{{{{{||||||{{{{{|{{{{||{||{{{{z{{{|{z{|||{{|{z{{{{{{{|||{{{{z{{{{{||{{|{z|{yz{z{{{{{{|{{{|{z{{z{z{z{z{{{|{{{{z{{||{{{}|{{{{zyzzyy{z{{{{z{{zzz{zzzzzzz{{{zz{zyzzzzzzz{{z{{{{zy{{zz{{{{{{z{{z{yyzy{z{z{{{{||z{zzzy{zz{z{zzz{z{zzzyzz{z{yz{z{zzyzzzzzzzyzzzzzzzzzzy{zz{z{z{{{yyyzzzyy{{zzzz{z{z{yyzyzzzz{z{z{yz{yzxzyzyzzz{z|zzzyzyzzzzy{{zz{{yzyz{zzzz{{{{zz{zzyzzzzz{{{zzz{yzzyyyzyzzz{{{{{zzzzzz{{{{{{{{{|zyz{{yzz{{z{{|{|{yzyzz{z{|{|z{{{{{y{z{zz{{{{z{|{{zz{{zzz{{|}|{{zzz{z{|{z{|z{z|{|{{z{zz{{z|{{{|{|{yz{{{{z|{|{{{{{{{|{zz{{{{{||{|{|{|{{|{zz{{|||||{{{|{z{z{{{{{{||z|{z{{{{{{{{|{{||z{|{{z{z|{{{|{|{|{{zyzzz{z{{{}{zz{zzzyz{|z{{{{zz{{zzz{{|{|{}{z|zzz{zzzz{{|z{zzzzzzzzzzz{{{{{{{{{yzzzzyzzz{z{{{z{z{{{zy{{{{{zz{{{z{yyzzzzz{z{{z{zyzyzzzyzzzzz{z|{zzzzz{x{{{zz{z{yz{zzzy{zzzz{z{|zzzyzyyy{|zzzz{{{zy{zzyyzzz{z{{zzz{{yzzzzz{zz{{zzz{zzzyyyzzz{|z{zyzzzzzzz|zz{{{{zz{yz{zzzzz{z{{{zzzzyyzz{{{z{{{|zzzzzzz{{z{{{z|{zz{zzz{{z{{{{{{zzzzy{{zyzz{z||z{zzzyzzzzzz|{z{{{{zz{zzzz{|{{{{{{{z{{{z|{{z|{||{|y{{{{z{{|z{|{{{|{{z{{{{z{{|{{{|{|zz{zz{z{{|z|{{{{{{z{|{{||{{{{{|{{{{{z{z{{||z|||{{{{{{zzz{{{{||z|zz{|{{z||{|{{{|{{{{|{z|{|{{|||{{{{zzy{z{{{{{|||{zz|{zzz{{|{{{{{{{{z{{{z{{{{|{zz{{zzyzzyz{{z{{{|zz{zyzzyzyz{{{z{{z{y{yz{z{z{|{{z{{zyzzzz{||{z{{{zz{zzzzz{{z{y|{{zz{zzzz{zzzz{{{zzy{zzzzzz{{{{{zzzzzzz{zyzy{zyzz|zyyzzyzz{zzzz{{z{zzyyzyzzz{{{z{{{{zzy{zz{{{{z{z{zzyzz{zyzy{z{{zz{zzzyzzzy{zz{{{zzyyyzyzyz{{{z{{|zzzzzyzzz{{zzz{|zzz{zzyyzz{|z{{|{{zz{zz{{{{z|{{{zz{zzyz{{{z{{{|{{{{yyzzz{{|{{{}{{{z{z{zzz{{{z{z{z{z{z{{{{{{|{{{{zz{{{|{z{{{{{{||{{{{z{zz{{{{{||z{{{{{z{{{||{||{|z{{{z{{|{{{||{||{{{{{z{z{}|{|{|{}{{{zz{{{{{{{||||zz{z{{{{z{{|||{z{z{|zzz{{{|||||{zzz{{{{z{{{{z|{{{z{zzzzz{{|{{{{{z{zzzz{{{|{}{{{{z|{z{{zz{|{{{||{zz{z{y{|{{|{|zz{z{z{{{z{|{z{{|{{{{{{z{z{{{{z{|{{{{zz{|z|{{{{|{|z{{{{{zz{z{{{{{|{{zz{{z{{{|{|z{{{{{zz{yz{zz|{||zzz{z{z{z{{{{{{|{zz{{z{{z{{|{{z|{z|zzz{zy{{{{{{{|{z{z{zzz{zz{z{|{zz{z{zyy{{{{||z{zy{{{{z{{{z{{{{{|{{{{zz{{{{{|{|{zz|{zz{z{{|{{{||{z{{z{{z|z|{{{||{{{{z{zz|{{{|{{z{{{{z{zz{}}|{{||{zz|zz{{|{|{z}|||{{|z{z{{{|{||{|{{|{{{{{|{{||{||{||{{{{{|{{||||{|{{{||z{|}|||||}|{{|zz|{|||}|||}|{{{{|||{|||||}|{{|||||{|}}|{}||{{{|{{{{{{{|}|||||{{|{{{||{||||||{{z{{{{{||}||}{|{{{{{z{|{|{|{|||z{{{{||{{{|{|{{zz{{z{zzz{|{{{{|{{zz{{zzz||{{|{|z{{zzyz{{{{|{{{{{{{zz{{{z{|{{{||{{|z{zzz{{{{|{{{|{zz{{z{{{{{{{{{zzz|zzzz{{{{|{{|{|yzzzzzz{z{{|{{z{y{zyz{{|{{zz|{{z{{zzzy{z{{|{{{|{{{yzzzz{z||{z{zyzz{z{zzz{y|{|||{z{{zzz{|z{{{{{{y{zzzzz{{{|{{|}{zz{{{{zz{|{{z{|{{{zz{{zz{{}{{|{yz{{{{|{{{zz|||{zz{z|z{{{{||||{||z{z{{{z{|{{{||{{zz{{{{{{{|{{{|{{{z{{{{z{|}|{||{{{{{{{|{|{{|||{{{z{{{z{{|{|{{{{{|{|||z|{|}{|{|}}{{{{z|{|}{|z{{|||{{{{{z{|||}||||z{||z||{{{{|{|{{z{|{{|{|{{{{{|||{|{{{|z{|z|}||}}{{|{|{{{||||||}|{{{{z{zz{{z{{|{{{{{{{z{z{{||{{||{{z{zz{z{|||{|||{|z{|z{z}||{|{{{{zz{{zzz{{{{|{||{{{{z{z{{{|{{||||zzz{zz{{{{{{{|}{z{z{z{z{{{{z{|{z{{z{zz{z|{{{||{z{{{yzzz{{{|{||{z{zz{{{{{{{|z{{{{z{{zzzz{{|{|{{|z{z{yz{{{|||{{{|{{z{z{zz{{{{z|||{z|z{zz{{{z{{|{{|z|z{{zz{z{||{{{{y{{{z{z{{|{{{{{{{zz{z{z{|{|{z{|z{{z{z{{|{|{||}|{{|{zz{{|||{||{|z{||z{z{{||{{}{|||{{z{{{{z|{|}|{{|z{|||{|{{}}}||{z{{{{|{|||{|}|||{}{z{{z||||}|{{{|{||{{{||{}|}}|{|{{||{{{|||}|}||{{{{z|{{}}|{||||{{|{|{|{{{||}{|{z{||{{||}|{{||}{{{||{z{{{{}|}||z||{|{{{{|||{|||{{{{{{{{{|{||{}||{|{{zz{{|||{|{}{zzyzz{{z||{z||{z{zy{zz{|{|{{{|{{{{zz{zz{z|{{|{}{{{{zzz{{{|{z|||{z{{zz|y||{{{|{|{{|{z{{z||{{{||{{{zz{{zz{||z{{|{{z{zz{{z|{{{{|{||zzzzzzz{|{z||{{{{z{yzz{z{{{{{{{|z{{{zzz{{{{z{{|z{z{z{z{z{|z{||{{{{{{zzz{{{{{{{{{{|{zzzz{zz{|{{|{{{{zz{{{{|{{{{z{{z{{{{{|{z||{{|{z{{{z{{{{{||||}||z{zz{{z|z|||{{|{{{|{{{{}|{}|{}z{{{{{{z|||{{{|{|z{{{{{{||{|||||||{|z{{{{{{{{|}|||{{{z{z|{|||||{z{||{{{z{|{|}||~|{{{{{|{||z|}||||{|{{||{|}||}|}||||{}{|{|||~||{||{{{{{{{{|{||||||{|{{||{|{||||{{|{{{{|{{||}|{{||{|z{{{{z{}|||{{|{|{|z|{z||}||{{z{z{{{z{z|{|z{{||{z{z|{{{{{{||}{{{{z{z{{{{{{|{|z{{z{{{zz{{{{{{{{z{z{z{{|z{|{{||{|{{|z{{{zz||{{z{{z{{z{{zzzz{{{|{{{zzy{z{z{z{{{{{{z{z{{zz{zz{{{z|{zzz{y{z{{|{{{{{{z{zz{zzzz{||{z|{{zzz{y{zz{{{{z|{{{{{zy{zy|z{|}||{{{{y{z{|{{{z|||{z|z{z{{z{{|{|||{{{z{z{{|||{{{|{|{zzz|{{{|{|{{||||{{{z{z{{}{|||||{{{{z{{{||{|{||{|z{{{zz|{{{{||{|||{{{zz|||{||||{{z{|{|{||||{{{|{{{|{{{z{||{|}|{|z|z|z{{|}|{|{}||z{z|{{{{||||}|}|{{|{|{{||}||||}{{}|||{{||||||{|{{{{{{{{{{|{||}||z{{|{{{|||||||||}|{z||{{{|{|}}||{{|{{{z||||{{||{z|{{{z{{|{||||{|{{z{{{z{{|{{{|{{{{zz{{{|{||{|{{{zz{z{zz{{z||{|||{}{zz{{|{|||{||{|{{zz{{z|{|{|||zz{{z{zz{|{{{|{{{{|{{|{{z{{{{|||{z{z{{z{{z{{|{{|z{{{z{{|z{{{{{{{{z{{z{z{{{{|||||{{{{{zzzz{{{{{|{|yz{{{z{zz{{|{{{z{{y{zz{{|{{z|||{{{z{{zz{{|}z{}|{z{{|z{z{|{}{{{|{{z{{zz{|||{}|{|{{{{{{z{{|||{|||{|||{{{{{{}|||||{{{{z{{{{{||||}{||{||zz||||||||{{{{{{{|{{|||||||{{|{||||||||}|||{||{{{{{|||{}|||}|{|||{||}|||{}}}||||{{{||{||}||}z{|z}{{{||||||||{|{{{z|{||||||||{|||{{{{|||||}|{{{{|{||||||{||}|{{zz{z{{}{{{|{|{|{|{|{{|||{||}||{{z{{{z||}{}{{|{{{z{{{{{{|z{{{|{{z|{z{z{{{|z|{|{{{z{{y{z{|{|{||{z{{{|y{{{{|{{|||z{{{zzz|{{{|||{z{zz{{{z{{{{{|{{{z{z{{z{z{|{{{{{|z{{z{{{{{{{{{{{{z{zzyz{zzz{|{||zzz{{{zz|{|{{{{|{z{{z{yzz|{{{{{|zz{z{yz{z{{{z|{||{zzzzzz{{z{{{|{{|zzz{z{{|{{|||{{z{z{z{{{|{|z|{|{{{z{{{|{z|{{{||{{|z{z{{||{||}|{{{{zzzz{{|{|||{{|z{z{{{{{{{{||}|{{{z{{zz{|{z{{}}{|{|{{{z{{|||{}}{{{z|{|{{|{{||}|z{{{{{{{|||{{||{|{{{{{|{||||||||{{|{{|||}|{|}}|}||z{{{{{{}|||}||{{|{{{{||||||||||{{z{{{{|{||||{|{|{|{z{{||{|||||||{{z{{||||{||||{||{{{|{||{|z{{||{|{{z{{|}{}|zzz{{y|{z{{{||{{|{||{{{{z{{{{|||{||{{z{z{{z|{{{||{|{z{{{yz{{||||{{|{z{zzyzz|{{{{{||{z{{{z{y{|{{{{{{z{z{zzz{{{|z|{{{{y{y{z{{{{{|{|{{z{zzzz{{z|{{zz{{{zz|z{z{{{{|{{{{{{{zzzzz{z{{{||{z{{zz{zzz{{{{{{{zz{z{z{{{||{{|{{{z{z{{{{{{{zzz{{{{|z{z{{{{{|{{|||z|zz{{z|{{{||{{zz{zy{{z{||{{||}|z{zz{{{{|{|}|||{{|{{|{{||}{z{|{{z{{{z{z{{|{{||{{{{{{z|{|{||{|||{||z{||z|||||}{||{z|{|{{}{|}|}||{{{{{{z{|||||}||{||{{|{|||{||{|{{{{||{{{{|{|{}|||{||{z{{|}}||}|{||z{{z|{{{|||}}}||{{||z{|||||{|||{zz{{z{{|{|{|||{{{{{{{|{{|}||}|{|{zz{{{|||||{|{{{zzzzz{{{|{{{|{z{zzzz{z||z{||||{zzzz{zz{{||{||{{z|{{zz{||||{z|{{{{{zzzz|{{{{{{{{{{{{{{z{|{||||{z{{zzzzzz{{{{{{{{{{z{z|z{zzz{{{{yz{{{z{{{{|{{z{|zz{zzz{{{{{{||z|{z{z{{zz{{|z{{{|{{{zzzzz{{z||{{{{{zzz{zz{|zz{{|{{z{{z{{z|{{{{||{{{zzzzz{|||zz{||z{{{z{|{{{{{{{|{{z{z{{{z||{{|{|{{z{|{y{zz|{|{|{{|z{z{{{{|{{|{||{|{zz{zz|{||{||{{|{{{{{|||{|{|||}{|z{|{{{|{{{||{}{{{{{{zz{|||{{~|{{{||{{{|}|{{|||{|z{z}|{||z||}}}|{|{z{{z{}{||{{||{|{{{{{{{{{|||||{z|{{||{|{{{||||||{|zz{||||{|{||{{z{z|{||||||{{{{{z{{{{{}{|{|}{|||{{{z||||{|{{{{{z|{{{z{{{{{{z|{z{zzz{z|{{{{|{{{{{{{y{z|{{{|{{{{z{{{{{{{{{{{{{{{z{{{zz{|z{{|{{}{{{zz{{{{{|{{||}|zz{zzzz{{{{{|{{{{{|{{{z{{z{{{{|z{zz{z{{{{z{{|{|z{z{zz{{z|{{|{|{{zz{z{zy{{{{|{{{{z{y{zyz{{z{|{{|{{{{{{{z{{zzz|{{z{{z{{{z{|{z{{|{{{{zzz{z{z{{{|z|{{{zz{{{{||{{{{|{{{{{{z{{|{{{{|}|{{|{z{|{{||{||{{{{z{{zz{{{}||{{{{{z{{|{y|}{|||{|{{{{{{{{{|||||||{{{{|{|||{|||||{{{{{{{||}||||{|{z{{|z{{|{{|||||||{{{{{{{||||}{||{{{{{{{{}{|}||||{||{{|{|||{}|{|||{{{{{|{{{|{||}}{z||{{{{|||}|{||{{{{{||{|||{{||{{{zz{{z|}|||{||{{z{{{{{{{{|}|||z{zz{z{zz{|{{||{|{{{{z{{{||{{{{|z{zzzz{zz{{{{{|{{z|{{|zz{{{{zz{|{{zzz{yz{|{{{{{|{z{zzz{z{{z{z||{z{z{zyz{{{|{z||{z{{{y{{zz{{z{{||{zzz{{zz{|z|z{|{{{{{yzzz{z|z{{{z{{z{yy{{z|{|z{|{{{{{{{zzz{z{z{{|{{{z{zz{z{zz{{{{{y{z{{{zz{||z{|{z{{z{{{|{|{|{|{|{{{|zz{{|{{{{{{{{{{{|z{|{|{{{|{|z{{y{zzz||{||{{{|yz{zzz{|||{{{|{zz{zz{{{|{{{{||{{{z|{{{|{||{|||{{{{z{{{z|{|}}|}|{z||{{z{||{||{|{|{{{{{{{|{||||}|{{{{z{|{||||{{{||{{{{{||{{}|}|}|}|{||{{{||{|||{||{z{|{||{||{{||{|{{{{|{z{|}|{|||{{{{|z|{{|||{|||{|{{z{{z||{|||||{z{{{z{{z{||||{zzzzzz{{z{|{{{{|{y{{zzzzz{{{{zz{{{{{{{zzz|{{{z|{{{{{{{zz{z{{|{{{{{z{zzzzz{{|||{{{{zzyzz{zz{z{{{{z|z{zzzzz{{{{{|{zyzz{zz{z{{z{zz{{zyzz{z|zz{{{{||{{zz{z{{{z{{{z{{{zzzzyzzz{{{{{{{{{{{z{z{zz{z{{{{{z{zzzyzzz{{{{|{{z{{{{{z{{z{{{z|{{{z{{{zyz{||{{z|zz{{zz|z{{{{||||z{zzz{|{z|{z{z|z{|{{{{{z{{{}||{{{z{{{|yz{{|{||||z{{{z{{{{||{{|{|{|{z{{{{||||{|{z{{{{{{|{|{|||{||{{|zz{{{{|||{||||{{{|{{{|||{||}|{{{|z|{z{|||{|}{|{{{{{{{|}||||||{|{{||{{||{{{|||{z|{{{{|{|{|||||{|{||{z{||{|}||||{zz{{{{|{|z{||{|{{{z|{z{{||{{{|{z{z{zzz{||{{{z{z{zzzzzyz{{{{{{{{z{zyzzz{{z{{||{z{yzyz{z{z|{{{{|{z{{yzzzz|{{z{{|{z{{zzzz{z{zz{{{{{{zzy|zzz{{{{|y|z|{z{z{z{zz{|z{{zzz{{zy{zz{{{{{zzz{zz{z{{{z{|{{zz{yzz{zzz{zz{{{{zz{z{zzzz{{zz||{z{zyyzzz{z{z|{zyzzz{zyz{{z{z{{{{z{{z|zz{z{z{{|{z{{z{{zz{{{{{{{{zz|zyz{{z{{{{{{{{zz{{{{{{z{{{{{|{{{{{zz|{{{|{|{{{{|{zz{y{|{zzz|{{z{{{z{z{{{|{|{|{z{{{{{{{|{|{|{{{{{{{z{{|{{{|{|{z{z{{zyz||||||}{{z{|zz|{{|||||||{z{{{{{|||z{{||{|{{{z|{{{||{||||{z{|{|{{{||}{{{{|z{{|{z{|||{||||{{{{{{{|{|||||{|{z{z{z{z{|{{{||||{z{{z{{{{|||{{{z{{{{{{z|||{||z{{zz{zz{zz{|zz{{{{zz{zzz{z{||||||{{{{zz{z{{{{{|{||{zz{zz{|{z|{{{|{{{yz|{z{{{{{|{{{{zzz{{zz{{{{||{{{|{zz{zzz|zz{{|{zzzzzzzzz|{z{{|zzzz{{z{{z{z{|{{zz{{y{zz|{{z{{|{{z{{zzz{z{{{{{|{{zzz{zzzz|z{{}z{{{zyzy{{{{zz{|{{z{z{|{yz|{||{{|{|{{{z{z{{||||z{|{z{{{z|z{{z||{{{{{{{z|z{{{||{|||{{{{|{z{|{|{{{||{zz{{{zz{{||{|||{{{z{z{z{{||{{|z{{{{{{{{||{|||||{z{{{{{{|{||||}}{{{{{{z{|}|||{{|{{{{{z{{|}|{{|||{{|{{{{z{|||{|{|||{|{|{|{||{|}|}|{{{|{{|{{{|||{{|{{{{z|{{||||}|||{{{{|{{{{{|{{|{{z{{|z{{|{{||{||{{|z{{|{{|{|{{||{{z{{{{z{{{{|{||{|z|{z{{||{|{{||}{z{|zz|{|{{{||{{zz{{z{|{|{||{|{|z{{{{{{{{{|{{|{||{{{{{z{{{{{|{}z{z{|{zz{{{{{{}z{{{{{zyzz{{{{{z|{z{{{{{{{{z{{|{{z{{{{zz{zzz|{{||z{{{y{zz{|{{{{z{{{{{z{zy{|{{{{||{{{zzyzy{z{z{{{|{zzz{{z{{{{||{{|{{|z{{z{|{{|{|{{{|{{{zz{|{|{{|{}{z||{||{{z||{}{|{zz{{{{{{|||{{{|{{{{{{{{z}|{{|{|{{{{z{{{|{|{|{}{|{{|{{{{|{|{{{|}{{|{{{{{|{||{}||{|{zz|{|~|{|{||}{{{{{z|{{|}{z}|||{{{{{{{{||z}}|}|{|{{|||{}|{|}|||{||{|{}|}}}}||}|{|{{{z|}||||||{|{{{{{|||||||}}||{{{||z||{||{|||||{{{{{z{{{||}||{{{|{{{{{|{}||{|{{{{{{|{||}|}|{{|{z{{{yyz{|{{{z|{{{{y{z{|z{{{||||{z{|zz{{||{|{{|{z{{{{z{{z{{{{{{||z{z{zz{{{|z{||z{z{z{z{{{|z{{{{{{{z{zzz{|{{z{{{{{{zzz{z{|z{{{{{{{zz{z{z{|{{{z{{{z{z{zz{||{{{z|zz{{{{z{{{{{{||{{{{{{zzzz{zz{{{||{{zz{{zyz|z|{|z{{{{y{zzz{||{{||{|zz{{yz{|{{{|{||{{{zz{z{{{{{||{}{z{zz{|z{|{|||||{{|{{zz{{}|{{||{{{{z{{zz|{{|{{}{{z{{}y{z{|z|{{|{{{{{|{{{||||}{{|{{{{{{{{|{{||}||z|{|z{z||}}|{|||{{z|{{|{|}||||{|{{{{{||{{{||}}|||{{{{|||{||}|{|}|{|{|{|||}||||}||{|||z||{{||||||{|{|||{{|}{|{||}{z{z{{{{{|{|||||{{{zz|{z{||||||{zz{{|{{z{|||{{{z{y{zzzzz{{{z{{{{{{{z{z{z||{|||{|{{|{{{zz{{{{||||{zzyz{{z{{{|{{|{||z{zzzz{z{{z{z|z{{{z{z{z{{z{|z{z{{zzz{z|{|{{{{{z{zzzz{z{z{{{{{|{zzz{{zyz|{|{|{{z{zzzzz{|{{z{{{|z{zzzzzzzyz{{|{{zzzzzz{yz{z{{{z{{{{yz{z{{{z{{|z{{zz{|{zz{{{{{|{{{{{z{yzz{{{{z||{z{{|zzzzz{{{||z|{{{{{{z{||{{|{}|{z{{{{z{z{|{||{|{z{{z{{y{||}{{|{|z{{z{z{{{z|{{|{{|{z{{{{||{{|{|{zzz{{{|{|{{|{{{{|{|{{{z{{||{|{|||{{{{{{{|{{{}||||{{{|{||{{||||||||{|{{{{||}{||||{z{{{{{{{||||{||{{{{{{{{|{{{|||||z{{|{z||{{|||{|{{{|{{{{{{|{|||||{{|{z{{{}}|{{{|{{{{{zzz{|{{{|{{zzz{zzzz{{{z||{{{z{{zzyz{{{{{|||{{zz{{z{{{|z|{{|{{z{{z{{{{|{z{|||{{{z{zz|{|z{||{{zzzz{{{{|{{{||{{{{{{{zzzz|z{||z{z{{z{zz{{{{{{{{{{{yzzz{{{{|{{|{zzzzy{{{z{|{{{{{z{{{{|{{{{{{|||{{{z{{z{{z||{{{{{{zz{{{{zz||z{{{|{{{{{z|{{{{{{{||{{{z{{{z|{{{|{{{|z|{{z{{|{|{|{{|{z|{{{{{{||{}{||{{|z{{z{{|{{{|{||z{{{z{{{||||{|{{{{{{||{||z||{|||{{{{{{{{|{|}}}|{{{{{{{{|{|}{|||{{{{{{|z|{{}|}|||{zz{{{z|}{z|}|||{{|||||||}||}}||{|{|{{|{|||||||{{||{|{|||}||||{|{{||{||{|{}}{}||{|||{{{{{||}||||{z{{{{{{|{{||{}|{z{{zz{||{}|}{|{{|z{z{{||||{|{{zzzz{{z{{{|{{{||{zzzz{z{|{|{{|{{zzz{{zz{{{z{{z|{{{{{{{zzz{{{z||{{|{zz{zz{|{|{{{{z{z{z{z{z{|{z{{{z{{zy|z{{{||z{z{{{zz{{zz{z{{z{{|zz{{zz{z{{{z|{{{{z{zzzz{{{{{|{|zz{{zzzzz{|{{{z|{{zzzzzz{zz|{{|{{zzz{zz{z{{{|{||{{z{z{|zz{{{||{{|{{z{zz{{{{z{z|z|{z{{{z|z{{||{|{{{{|zz{{{|||{||{|{||z{{{z|||{{||||{zz{|zz{{{|{{||{{{{z{z{}|{{{{|{{{{{|{{z{|{|}{}}|z{{{||{{|{}{|{{||{{|{{z|{|{{}|}|z{{{|{{||||||}||{{{{|}|{{|||||||{{{{|{{{{|||~||{|||{|{{|{{{||}|}{{{{{{{{||}||}|}{{{|{|{||{|||}|{z{|{|zz||||}{}{|z{{{{{z{}|{||||z{|z|zzy{{||{{{{{z{zzz{{|{{{{{|{{{zz{y{z|{|||z|{{z{z{{{z{{{{{{|{{zzzz{{{{{{|{{{z|zzzzz{z{{{{|{|||{{{{{{z{|{{z{{{zzzz|{zy{{|{{{{{zz{zz{z{{}{|{{|{zzzyzzzz{zz{z{{{zzzzz{z{{{|z{||zz{{zz{zz{{{{z{{{{{zzzzzz{{{z{{{{zz{zzzyxz{zz{{{zzz{{zz{zzz{{z|z{{{z{zz{zz{{{{|{{{{{z{z|{|{{|{|{|zzz{{zzz{{{{{{|{z{|{||{z{|||||{{{{{{z{zz{{{{{{{|{|z{zzz|||{{z{{{{{{zzzzz|{||{|{{zz{{{|z{|{||{|||{{z{|zzz||||}{|{|zz{|z{{|||||||}|{{{{|{|{||||}|}|z|{|||{{||}{||||{||{|{{|{}||}|{|zz{{{|{{||}|}}}|{{|{|{{|||{|||||{{z|{{{z{{||{}{{{{{z{zz{|z}||||zzzz{|{{|||||{{{{{zzz{zzyz|{{|{}zzzz{z|{{{{||{{|{{|{zz{z{|{{{zz{{z{{{{{{z{{{{|||z{z{{{{z|{{{{{z{{z{zz{z{{|z{{{{{zzz{z{|zz{|{|z{{{zzyz{zz{{{{{{{{z{z{z{z{{{{zz|{{{{zzzzz{{{{{|{|{{zz{zzzz{|{{{|{{{yz{zz{y{zz{{zz||{z{{{{z{{{z{{{|z{{z{zzz{|z{z{{{|{z{{z{z{{{{{{{|{{{{z{{zzz{{{{{}{z{zz{zz|{||||||}z{z{x{{{{|||||{|zz{z{{{{|}{|{z||{{{z{z{|z|z{|||{{{z{{{{|{||{}||{{{z|{{{{{{||}|||{{{{{zzz||||{|||{z{{|{{{{||{|||||z{{|{{||||||||}{{|{|{{|||||{||{{}|{{{||{{|}|}|{||{|{{||||||||{|{{{{{{{{{{|{|{{{{{{z{z{{|{{{|{{{|{{{{{z{|||{{|}zz{z{y{|{{{|{{{|zzzz{{zzz|zzz|{{zzzz{zyz{{{{|z{{{{zz{z{z{||||||{|zz{{{{z{{{z{{{{{z{zzzz{|{|{{{||zzzzz{{zz{{{{{{{{zy{zzzzz{{z{{{|{{|z{z{{{z{{z{z{z{z{{zzzz{z{z{{{{zzzzz{{{{{z|{{{{z{zzyzzz{|z{{{{{zzz|zzz{{{{{{{{{zzzzzzzz{{{{||{z{{zzzzzzzz{||{|{{{z{zz{{z|{{{{{{zzz{{z{{z{|z{|{{zz{zz{{||{{{|||{z{{|{{z{{z{{{{{z{{z{|{{{{||{{|{z{z{zy{z|}{{{||{|{|zz{{z{{||{|||{|{{{{{|||{|||{||{{|{{{z|||{}{{{{z|z|zz{|||||}||{{{{z|{|z|||||||{|{z{{{{{{|||}{{{z{{{{|{|||}||||{{z{{{{{{|{{{}|{{|{{|{{|{{{{||}}{{{z{{{|{|{||||||{{{zz{{{{{|{{}{zz{zz|{|}|||{{{}{zzz{{z{{{{{{|||{{z{zz{zz{{{{}|{{|z{zz{{{{{{{{{|{zz{zz{z{{||zz||z{|zz{{yz{||{{{|y{{z|zzz{{z{{{{{{zzzz{zy{z|z|{{{zz{zz{zz{zz|z{{{z{z{{{zz{{{{{{{{z{{{z{yz{{{z{|{{{z{z{{zz||{{{{|{{zzz{z|{z{{z{{{{{{zz{zyzz{{{z{{{{z{{{{zz{{{{|||{{{{{{z{z{|{|{|||zzyzzz|{{{{|{{{|{{|zzzz{{{||||{|{{{zzz{{{{|{|{|{{{{{{z{{{|{|{{|{|z{z{{z{{|{{{||{{z{{{|{{{||{|}||z{{{|{{z{{|{|||}{{{|{|zy{|{{|||{{zzz{{z||{|{{|||{||{z{{||||{||||||{{{||{{|}||||||{{{{z{{}{||z|{|{{{|{{zz|{|{|}|||||{{{{{|{{}{|||{|{{{{{||{|{|||{|{{{{{{z|||||{{|{{{z{{{z{{||{{{|z{zz{z{{{|{{{{{{{zzzzzzz{||{{{}|{zz{zz{z|{{z|{|{{{{{{zy{{{{zy{||z{{zyy{z{{|{{{{|{|zyz|zz{{{z{{{|z{{{zzzz{{{zz{{zz{zzy{{zzz{{z{{{zy{zyz{y{{{|{z|{z{{zzzz{z||{{zz{{zzzz{z{{|{{{{{{{zz{z{{zz{z{{{|||z{z{{zz{{|{{|{{zz{{{{z{{{|{|{|{{zzz{z{{{{{{{{{{zz{{zz{z|{{z{}{|{{{{{zzz{{{{||{{{{zz{yzz{||{{{{|{{|{{{{{{{{{|||{{zz{{zzz|{||{}||{{{{{{z{{{||}|{{{|{{{{{{||||||{||{{{zzz{|||{|||{|{z{{|{{|~|{{}}||{{z{{{{||{{||}||{z{{{{{{}||||||||{{{{{{||||}||||{|{{|{{{|{{{{|||{|{|z{{{||{|||}z{{z{||{{{||{|}|{z{{{{{{|{||{|{|{z{zz{z{}{|{{|{{z|{{{z{z{{|{|{{|{{{{{z{y{|{{{|||z{zzzzzz{{|||{{{{{zz{{zy|{{{{z|{{{{zzzyz{{{|z|{{{|zyz{y{{{z{{{||{zz{{z{z{{z{{{zz{zzz{{|{zz{zz|{|{zzzzzzzzz{z{{{z{yzzz{zzz{z{{|{{{zzzzz{{z{|{{{{{{z{{zz{z{{zzz|{|{zz{z{|zz{z|{|||{y{{{zz{z{{|{|{{{z{{{{zz||{{||{|{{zz{zz{{|{{|{||{{{|z{|{{{|}{{{{{{{{z{|z{}||{|||{{{{{{{{{||||||{{{{{{{zz{{{|{}|{{z{{|{{|{}||||||{{{{|{||||||||||{{{{{{{z{|}{||}||{zz|{{{|||||||||{|{||||{|{|||||||{{{z|{{|{{||~||{{|{{{{}|||}|||{{{{{{{{{{{|{|||{{||{{||||{|{}|}|{{{{z{{||||{{|||{{{z{{zz{{{{||{z{|zz{zz{{||{{|{{{z{{{{{{{{|{z{{{z{zzzz{{{{{z|{|{z{z{{z{{z{{||||{z{||z{z{{{|z{||{|{{zz{{{{||{{{{{{{zz{zy{|z{{{}|{|{{{zz{{{{|z{{}|z{{z{{{{{z{|{|{z{{{{z{z{{|{{{|{zzzzzzzz{{|{{{{|{{{zz{{zz{{{{{}{|{{{{zz{z{{{{{{{|{{z{z{{{|{{{}{|z{{{z|zz{|{{{z|||{{z{{z{|{|{|{{|zz||zz{z{|{{||}}{{{|{|{{|{}||||||{{{{{|{{}{|||z||{{{{{z|||{|{||{{{{|{{||{||||{|{{{|{{{{|{||||||{{{z||{{{||}||||}{{{|{{{{}{|||||}}{|{{{{||||{|}|||{{{|||||||{|||}{||{{{|{||{|||}|}{|{|{{{|||||}|||{{z||||{|||}}|||{{{|{{||}||||{|{||{{|zz|}|{{}|||{{|{{z{{|||{{|{z{{{z{{{|}{|{|z||z{{zy{z{{{|{{{z{{{z{z{{zz{z|||{||{{zzyz|{{|{|{{{z{yzz{{{z|{{{{{{zzz{{zz{{{|z{|{zz|zzz{zz|{z|{|z{{{zzzzz{z{{zz{{z{zzz|z{|{{{{{z{zzzz{zzzyz{{{{|{{z{{z{yz{z{z{{{{zz{zz{z{z{{{{z{|yzz{{{zz{|z{{|{{|{{{{z{{zz{{z{zz{zzzz{zyzz{|{{{zz{{{z{{{z{{z{{{{{y{zz|z{{|{{|{||{{z{zz{zz{|z{{}{{z{z{z|z{|{{{{{{z{zzz{{{||{{{||{|{{z{{z{{|{{{||{|z{z{{{|{{{|||{|{{{z{||{||{}|||{{zz{{{{{{|||{{|{|{|{z{z{||{{{|{{{||{||{{z|{|{|||}{{{z||{|||{|{{|{{{{{{|{|{|{{|{|{{zz{{{||{{{|||||{{{|{z{|{||{|||{|{{|z{z{{|{|||{z{{z|{{{{|{|z||{{{{{{z|z|{|{z|{}|{zz{zz{{|{z|{{||{zz{{zz{|{{{|{{zzzz{{{{z{{z|{||{{{z{zzz{{{|{{|{{{{{z{{z{|{{{z{{{z{zz{z{{|{{z{{{{z{{{zzz{{{{z|z{{z{z{{zz{zz{{{||{zzz{{z{{{|{{{||zz{zzzzzz{{{{{{{zz{{zzzz{{z|{{||{{zy{zzz{{{{z{|{{{yz{zzz{{{{||{||z{zz{z{{{|{{{{|{{{{{{{z{{|{||||z{{{{z{{{{z{{|||z{{{z{{{{{{{{|||{z{{z|zz|}{z|{||{||z{|{z||||{{||{|{{{{{z{||{{|{{{{{{{{{{{|{|||{|{z{{{{{{||||{||{{{|{{{zz{{|||{||}{{|{||{{||||{|}{{{|{{{{|}|||}||{z{{{{{|{}|||||}}{{|{z|||||{{}}{|{||||z||||||{|||zz|||{{{||{{{|{{{{|{|{{|||{{}|||{{{{zz{|{{}||}{{z|{{{zz|{{z||{zz{{zz{zy{{{{|{|{z{zzz{z{|{{|{{{||zzyzzzz{{{{{{{|{{z{zzzz{||{{{|{zz{zz{{{{{{{zz{|{{{zz{{zz{{z{|{{|z{z|{zz{{{zz{{z{zzzy{{z{zz|{{|{{{{{zz{{z{{{|||{{{zzz{z{z{{z|z{z{z{zzzzz{|{|{||{zzzzy{zzzzzz||{{{{{z{zzz{{{{{{{{{zz{{{zz{{{{{{{{{z{z{z{z{|{{{||{{{z{zz{{{{{|{{||z{zz{{{{|{|{|{||{{zz{z{z{{{|||z{{{{{{|z{{{|{{{||{{{{|{zz{}{{{{{{|{{{|{{{{||{{||{z{|{|{{{{|{|{|||{{z{{z{z||{||{|||z|{{z{{{}{}}|||{{{{{{|{|}||||||||z{{||||}|{|||||{|{{z{z{|}|{||||{z{|{z{{||}||{}{{z|{{{|||}||||}{{{{{{{{{|{||{|||{{{z{yz|{{|{{{{{{z{{z{z|{{z{{z|{{z{{z{{z{|z{{|{{zzz{zz{|z{{{||{{{zz{z{{{{z{{||{zz{zz{{zz{z|z{{z{{zzzzzzzz{{{z{|zzzy{{zzz{{zz|||{{zzzzz{z{{{z{|z{{{zz{zz{z{{z{{{zzzzzzzzz{{{z|{z{zzz{zy{zz|z{|zzz{zzzzz{{{{{{{{{zzzz{{zzz{{z{{{{zzzzzzzyz{zz{|z{{zz{zz{z{{{{z||{{zz{{zzz{{{{{z|{{{{{zzzzz{|z|{{|z{zzz{{y{|zzz||{{{{{{z{{z|{|z{|{{{{y{{z{|{|{{{{|{zzzz{{{{{{zz{{{|{{{{z{{{{|z|||{{{{|{z{{|{{||{}|{{|{zz{{{|||||}|{z{{{{|z||{{|{|||||{{|{|{|{{{||{|{z{{{{{{{|{{|||{{{z{z|{|||{}||||{{{{zzz{{{|||||{z{{{{{z|{|{{|{{{z|{{{{{{{{{{||{{|zz{{{z||{|{{{|{{{zzzz{|{|{{z{{{zz{{y{zz{|{{{{z{{{zz{z{{{{{|{{{{z|yzzz{{{{|||{{zz{|z{zz{{{|{{{|z{zy{{{y{z|{{{{|zz{zz{{zz{{z{{|{z{{|zzzz|{|{{|{{zzzyyzzzz{z|{{|{z{zz{z{zz{{{z{{{{zzz{zy{z{{{|||{z{{zzzyz{z{{z{{|zzzzyzyzzz{{{{{{{zz{{z{z{zz{{{z|{{{zz{zzz{{{y{||{zzzz{{z{z{{z{{{{{{zzz{{{{|{{{z|zz|{zy{{{{{{{||||{{{{zz|{}|{|{}{{zz{|{zz{||{{{|{zzz{{{{{|||{{||{|{z{{{{{z|{{{|||z{{{{{{{{{z|{|{||{|{{z{{{{||||||{z{z|{{{{}|{|}|||{{{{|{|{}{|}{}}{|{z{{{{{}||}}||{{|{{{z{|||||||||z{{{{{{{||{||||||{{{{{{|}{{}||{|{{zz{z{{{|{||{|{{{{y{{{|{{|z{{{{z{z{z{z{{|{z|{{z{zz{{zzz{{{{{|{zzz{z{zz{{{{|||{z{z{{{z{|z{}{{|z{zzzz{{{{{{{z{{z{{zzyzzy{{{{{{{{{z{zz{zz{|{zz|{{z{zzzzzz{z|z{{z|{zzz{{z{z{zz{{{zyzzyzyz{{{{|{z{{{zzzzzzzz{{z{{|z{{zzzzzz{zzz{{||{z{yzzzz|{{{z{{{zyzz{zz{z{{{{{{{zzz{{{{zzz|{{{||{yz{{z{z{{{{{{{|{{{{zzzz{{{{{|{{y{{zzz{|z{|{{{|{|{{{{{zzz{{{{|z|{z{{{z{z{{|{|{{{{z{z{z{||||{|{|{{|{zz{{z{{{||||{{{z{{y|z{|||{|||{{{{|{{{{|{{|||{{zzzz{|||{|{|||{{{{{|{|{{|{{|}|}{z{{|{{{z}|{||||{z{||{z{{{}{|||{|{{{{z|z|{{{{z||{|z{{{{z|{|{{|{|z{{zzz{{{{{|{|{}|z|{{{z{{{||{{{|{z{zz{zzz|{|||{|zzzz{{{z{{{z{{z|{{z{zzzz{{{{{|{{{z{zz{zz{{{z{{|{{{{{{zz{{{|{z{{{{zzz{{{{z|{{z{{{zz{{{{{zz{{{z{{||z{zz{z{{|}{{{{z{z{zzzzy{{{{{z{|zz{{|z{z{{|{z{|zz{z{y{zz{{{{{z{{zz{zyz{{z{z{{{{|{zzzzy{{zz|z{z|||z{z{{{zz{{{{{z{{z{zz|{z{|{{{|||z{zzzz{z|{|{z{|{|z|{zz|{{|{|{||{{zz{{z{{zz{z|||{{z{||z{{z|zz||{|{|{z{{zz{{||{{|{{{z{z{z{{{{{||{{{{{||{{{zz|||{||||{{{zz{||{|}|{|{{|{{z{|{|||||}||{zz|||{{||}}||||{{{{|||||{||||}|{||{|{{|||{{{}||{||{{z|{||{|}}|||{{{|y|||{{|||||{{{|{{||{{{||}{|z{zz|{{{{||{}|||{{{{{{{{|{|{|{|{{{{zz{{{||{{{{{z{zz{{yzz{|{{{{}{zz{z{zz{{{|{{||{|zz{z{{{{{{|{{zzz{{z|zzzz{{{z||{{{z{z{z|{{{{|{|zz{zz{{{{{{{{{|{z{{z{{zzz{{{z{{{z{zzy{z{{z{|z{}{z{{{{{zzz|{{{z|{{z{zz{z{|{|{{{|{{{{{zz{zz{{z|{||z{z{z{z{{z{{{{{z{zzz{zzzy|{{{|{{zz{{{{{z{{{|{{||{{zz{{z{{{|{z{}|{{{z{z{{{{{|{{|{{{{{z{z|{z{z|{|||{||{{|{||}{{||{{{{z{z{z||||{||{|{||{{z||||{|{|||{{z{|{||||{||}{z||{{{{{}{|{{{}}{|{{{{{{{{{{{|}|{{|{{{{{|}{|||}||{{|{{{{{|{}|}{|||{{{{{{{}|}|||}{|{{{{|{||||{||{|{|{||z{{}||{|||||{{|{{||{{||{||||}{z{{z{|}|||||{|zz{{z{|{||{z|{{{{{{{{{|z|||{{{{z{z{z{yz{{{{{{{z{{{{{zzz{{{{{||{z{{{zz{{{{{||||{{z{z|{z{{z|{{|{{z{z{z{z|{{{{{{|{|{{zzyz{{{z{{{zz{zz|zzz{{{z{{{{{{zzz{z{z{{{{{{{zzzzzy{zz{{{y||{z{z{{zzz{z{|{{{{z{|yy{{zz{{{{{{{zzzyz{zzz{z{zz{{zzz{zzzzzz{{{{z|{{|zz{{z{{{{{{{{{{{{|z|{{{{{{|{|zz|z{zz|{{z{z|||{{{|{{{{{{{|||{{{{{{|{{{||}|{|{|zzz{{|zz{||||{|{|{{z{{{{{||{{{{|z|{|{{z{{|||}}|{|{|{|{{{|{|{||||{||{{{{z{|{{|{}{|{{z{{{{|}|{||||{{{{|{{|{||||||||{{z{||z||{|}||{|{{}{||{||||{|||{{|{{|{|{||}{||||{{{|{z{{{{|||||{|{{{{{zz|||{|{{{{{{{|z{z|{{|{{{{{|{zz{z{{|{{{{{{{zz{zzy{{{{|{{{z{zy{|{{{{{{||||z{zz|zz{{z{||{|z{z{{{zzz{|{{|{{{z{{z{z{z{{z{z{{{{yzzz{}z{{|{{|{{|zzz{{{z{{{{zz{zz{zy{zz{z{{{z{{|zy{{z{zy|{{{{|{{{{z{zzz{z{{{z|{{{zz{z{zzzzz{{{|}zzzzzzz{z|zzz|z|z{{y{zzz{{z{{|{{zz{{zzyzz{{{|{{{{z{{zz{{{|{|{{{|{{z{z{z{|{{{||{|{{{{{{z{{{{||{{|z{{z{z{|||{||}{{|z{z|{zz{{||||}{{{z||{z{|{{|{|{{|{z{{{z{||{|||}{{{|{|{{|{|{||{||||{{{{|z{||{|{}||{|{{{{{|{|{{{|{{z{{{|{|{}|||||||{{{{||{{||}|}|{{{|{z{{|{|{|||}|{z{{{|{|{{||||{||{||||{{|{{|{{|||{{{{{{{{|||||||{{z{{{{{{|}}{|||{|z{{{z{zz||{z{zz{z{{zzz{{}{{||z|{zz{zzz{z{{|{|{|{{{z{{z{{z|{{||{{z{yz{z{{z|y{{|{{{z{z{z|{{{z{z{{{{{z{z{{{{{{||{z{|z{y{{{{{{{{{|z{zz{{{|z{{zz{z|z{{y{zzz{{{{{z{{{z{z{zzz{z|z|{{{zzzzzzzy{{{{z{||z{zzzz{zz{{zz|{{{zzz{zzzz|{{{|{{{z{zz{z{z{{z|{|||{{z{z{{{{{{|}|}{z{{zz{{{||{{||{{z{|z{{{|{{{{|}|{z{z{{{{{|{{|||{{{{{{zz{{|}}{{|{{{{{zz{{|{|{{|{|{{{{|{{|{||||}{{{{{z{{{z||{|{||||{{{|z{{{||{{{|}{z{{{|{{||||||||z{z{{{|{|{||{|||{{{{{{{{|}||||}}|z||{|z{|}{|}}}{{{z{|z{{{{||}|}|{{{{{{|{{||{|||{|{{z{{{{|{{}{{||}|{{|{{{{|{|{||{{z{z{{zz{{|{{{{z{{zzz{zy{{{{{z{{{zy{zz{{zz{{{}z{{{zzzzz{{{|{|{|{{zz{z{yz{{z|{{{|{|{z{zzz{{{|{|z|z{yzzz{z{{{{{{|{zzzz{{z{{z{{{{z{{zzzz{zz{{z{{z{|{{z{zz{z{z{|z{{{zzz{z{z{zz{z{{{|{z{zz{z{{{{y{{||zz{z|zzzzzzz{{z{{yzzzyz{{|z{{{|{{z{{{{zy{z{z{z|z{{z{{{{{|{{||{{|z{zz{zzzz{{{{|{|z{{z{zzz{{{{{|||zzz{{z{{{|z|{}{{{{{z{{zz{{{|z||{{{{{zz{{z|{||z||{{zz{{{z{{||{||{{{{|{{{{||{|}|{}{z|{{{{{{}{||||{|zz||{|{||{||{}||{{||{{{{|{{|||||{|{z|{|{|{||}|||zz{{{{{{{|{|{||}z{{||{{{{{|||}||{z{|{{|z|||||||{{{z{{z{z||{{||||{z{{z{z{{{{z|{{{{{{z{y{||z|{{{{{{z{{zzz{{{{z{{|zz{zzz{{z{{{{{{|z{z{z{zz{{|{{{{{|z{z{zzzz{{{{{|{|zzzzz{z{{|{{|{{{{{zzzzz{{{z{{{{{zz{zzzzz{zz{{{|z{{zyzyzzzzzzz||{{z{zzzzz{{{{{{y{{z{zz{z{z{{{{{{{z{yy{z{z{{{{{{{{z{zzzzyzz{|{{{|{{{{z{zzz|{{{{{zzzz{zzzz{{{{z{|{z{zzz{{{z{|{{z||{{zyzz{{|{{z{|{|{{{{zz{{|{{{{|{{{{{{{z|{{{{|{||{yz{{zz{z{||{{z}{|zz{{{{z{|{{{{|{|{|{z{{{{{{||{||z{{z{{|{|{{|z}{|{{{z{{{{{||{|||{{{{{{|{z||||||{||z{z{||{|||{|||{|{zz{{{{{||}{||{|{{|{z{{|{|||||||{{{|{{||||{{|||{{{{{{{z||{|||{|{{{{{zzz{{||{{|}{|z{{{{yz||{{{{|{z{zzz{z{{|{{zz{{{{zzz{|z{{{zzzz{zzzz{zz{|z||{{|{{z{{{zz{{{|{||{|{{{zzz{{z|{{z{{{z{zz{{y{z{{{||{zzz{zz{z{{|{{{{{{z{zzzzzzz{z|||{{zzzzzzzzz{{z{{{zz{{zzzz{z{{{{{{zzzzzzyy{{{{{{|z{z{{{zzz{{{{{z{|z{{yzzzyzz{{{{{|{zzz{z{z{|z{{{|{{zzzyzzzz{|||{|{{{z{|y{z|{|{|{|{z{{{{z{y|{{|{{||{zz{{z{z|{z|{}||z|{z{z{z{||{|{||{{{{{z{{{{|{|{|z{{zz{{zz||{{{|||{z{zz{{{{{{{|}{{z{{z{{{z{{|}{{|||{{{zzz{{||{{||||{{|{z{{{|{{{|||{z}{{{|{||{{{}{||z{{z{{z{}||{||}|{{||{{{|{|}||}|{{{{{{|{||{z{{}}|{{{{{{|{||z|}{|{{|zz{{{{{{|||{{|z{|{zz{|{||{{||||{{{{z{{|{z{{|{y{zzzzzzz{|{z{}{zzzz{z{{|{{z{|{{{zzzz{zz{{{{{{|z{zzy{zzz{|{z{{{{{{zzzzzz|{{{{z{{{{{zzz{{z{{{z{zz{{zzz{{z{{zz{{{{zzzzzz{{z{{z{{{{zzzz{{zyzz{{z{{{{{{zz{z{{{{zz{{zzz{{zyzyz{z{z{{{zzyz{zzz{{z{{{{z{zzyzz{zzzzz||{{zzz|z{z{{{{{{{|{z||z{zzz|{{{{z|{z{zzzz{{|{{{{||{{{z{z{z{zz||{|}{zz{{|{{z{{|{|z{|{{z{z|{yz{{|{|||{{{{zz{{{|{{{|{{{z{z{|zz|||||||{{{|{{{z{|{{{}{{|{{z{{zzz{{{{{|||{z{{{{|{|{{{|||}{|z{{{z{||||{}|||{{{{z{{{|||{{||{{{||{{{||||||}||{zz{|z{{{{{{{||{|{{{{{{||{|{|{|{{{{{|{{{{{{||{||{z{{z{{{{||{{|{{{{z{{{{{{{z|{{{z{z{zyzzy{|{{{{z{{{{zyy{{{{{{|z{{zzyzzzz{{{{||{{{{z{{{y{{{{|z{{{{{yzyzzz{{|{{|{{{zzy{zzz{{{{z{{{|{zzzzzz{|{zz{|z{zzz{zzzzzz{{{{|{zzzzzyzz{z{{{{}zz{z{zzzz{{{{{{{{|zzyzz{y{z|{zz{{zyz{zzyzz{{z{{{{yzzzzzz{{{{{{{zzz{z{{{zz{{{|{|z{z{zzzzz{{{{{z{|z{{zzyz{{z{{{||{{{{{z{{z||{{{{{|{{zzzzz{{{{{{||{{z{{{{{z|{{|{{|{{{{|{zzz|||{{{{{|{zz|{zz||{{{|{{{{|{{{{{{||||{||{z{{{y{z{{|{{||{{z{{z{{z||||||||{||{{{{{||{{{{|}|{{{|{{{|}|{|||||z{z{{{z|{||{}{||{{{|{{{{{|{|||{{{{{|{z||{||{{||z{|{z{z{{|{{{|||{z{{z{{{|{z|{{|{z{{{z{z{{{|z{{||z{{z{zz{z|{{z{{{{z{{zyz{|{{{{|{{{{{zzz{{{z{{|{{{zzyz{{zz{{{|{z||{{zzzzzzzy|{z|{|{zzzz{|zz{zzz{||{{{{zzzz{{|z{{{{z{{{{zzz{{zz{{{{zzzzzy{zzz{{{|z{{zz{{zzzz{{{{|z||{{{zzz{{z{zz{{{zz{z{yzy{z{{|{{{zzzz{zz{{{z|{{{{{yzzzz{zz{{{||||z{{z{{{z{|z{{|{{{zz{z{{z{{||{|{{zz{z|{{{{}{{|{||z{z{{z|z{{|{||{{{{{{{|{|{{|{|{|{{{{{{{z{{|||{{z|{{{z{{{y{|{{||||{|zz|{|z||{{|||||{|{{{{{{||{{{{|}zz|z|{{||{|||}|{{||z|{|||{{{||{|z{{{|z{{{{}{{|}{{|{{{{{{|{|||||{{{||{z{{{||{|{||{|{|z{{|||{|||{|{{z{{{{{{|{{||{{|{{z{{{{{||{{}{zz{{{zzz{{|||z|{{{{{zzzz{|{z{{{|z{zzzzz{{z||{|{|z{zzzzzz|{z{{{||{z{{z{y{z{{|{|||{{{zzyzzzz{{{{|{z{zy|z{yz|{zz|{{{z{zzyzz|{{{z{|{zyzzz{yzz{{zz{{|z{{yzzzz{{{zz{|{{{zzzzyzz{|z{z||zzzzzzz{{zzz{{{z{z{zzyzyz{{{zz{zz{{z{{{y{{{{{{{{zzzzzzzz{{{{{{{{zyzyz{zz|{}{z{{||{{z{z{|{z||{{{|z{{{zz{{|||||{|{{{|zyz|{{{{|z||{{{{zz{z{{{{{{|||{z{zz{z{{||{{{|{{{|{{{{z{|{|{||{{||||{{{{}z|{|||{{||{{zz{||{|{|||z{{{zz{||{|{|||{{|||{||z|||{}|||{{|{|{{{}||{||||{|{{{z{|{||}{{|{{zz|z{{{{{|||}||{{{|zz{{|{|{}||{z|{|z{z|{{{{|||{{|z{{{{{{||{{{|{{{z{{{z{{{{{{{{{{z{zz{{z{{{{|{{{zzz{{z|z{{{z||{{{{{yz{{{{z||||{{{{{{yz{{{{{{{{{{z|{zz{z{{{{{z{z{z{zzzz{{|{{z|{{{{{zzyz{{{|{{{{{{zzzz{zz{z{{{z{{zzz{{zz{{{z{{z{z{zz{{zzz{{||{z{{|{z{yzyz{{|{z{{|{zz{{zzzzz{z{z{{zzzzz{zzz{{{z{{|{{{{z{zzz|{|{{|{{yz{{z{{{|{{z{{{z|zz{z{{{{{|{||{{||{z{z{{||{{||z{{z|{zz{|||{{||z|{{{|{z{{{{z||{{|zz{{{{{{||{{||{{{{z{{{{{z{|{{{{{{|{zz{{}{{}{{}||||{{{|z{}|{||||{{{{{{{{||||{}}||{{{{{{{|{{|{{{{|{{|{{{{||{}{|}|{{|{{{{{|||{|||||{|{{{z{{{|||}|}||{|{{{{{|||||||{{{{|{zz{}||{|||{{{zz|{{{||{{{{{{z{zz{{{{|{|{{|z{zy{{yz{||{{{z||{{{{{{z{|{{{{{||zzzzz{zz{{{{{{{{|zyz{zzzzz{zzz|{{{zyzyzzzz|{{|{{zz{z{zzz{{z{{{{{zz{yzz{{|z{{z{|zz{{yzz{z|zz{z{{z{{{{zzzzz|{zz{{{zzzzzzx{{{{{{{{{{zyzyyzz{z{|{z{|{{z{zzzzz{zz|{|z{zzzzzy{{{zzz||{z{z{{{zz{{{{{{{{{z{z{z{{|{|{{{{{{{{{zz{z{{|z|{|{{{{{zz{{z{|{||||{{{{{zz{z{|z{{{{{z|{{{{{{{||{{||{{{|{zzz||{|{|{{|||{zzzz{{{|{||{{{{{z{|{{|z{|{|||{{{{|{{{|{{|||{|{{{{{{||}{|{{||{{{{z||{{{{}{||||{z{{{{{{}||{{}~z{|{{{{{||}|||{||{z{{{z{{{{|{|||}{{|{|{z}|||{}||{|zz{{{{{||{|{||{z|z{{|{{|{{|{{z{z{z{{{{{{{{{{{{z{{yzz{z{{{z{{{z|z{zzzzz{zz{{{|{{zzz{z{zz{{{{{{{|zzz{{y{{{{{|{{|{{zyyz{z{{{z{{{|zzzz{zzz{}{{z{{{z{zzy{z{zz{z{|zz|{{zyzzz{{{{{{{{zzzz{{yz{{{z|{|{zzz{zzz{{{{z{||{yz{zzyzzz{{{|zzzzy{y{yyz{zyzz{{{z{{zzz|zzz{{{{|{{zzz{zzz{{{{{||{{z{{{z{{zz{{|{|{z{z{zz{{{{{{{{|{{z|zzzzz{z{{{{|||z|z{zzz{{{{{|{|{{z{z{z{{{{|{{{{{z{{{yzzz{{{||{|{|{{{{zz{{{{}||{{{|{{|{{||{|{{||{{{{{{{z{|{|{{{{{z{z{{{{|{{|{|}|{{{{{|{|}{{{||{|{{{{{{{{z||||||}{||{{|zz|||||}}{{z{{{{z||{|{|||||{zz|{{z||{{{{}|{{{{|{z{{|z|{||{|z{{z{{z{{{||{{zz{|{zzzz{|||{{{z{zz{zzyz{{|{z{{{{zz{zyzz{{z{{{z{{z{z{{{z{{z{{{|{{{{z{zz|{{z{z{|zz{zzz|{zz{{z|{{}zz{z{zzz|{{{{{{{{{y{{zzzzz{z{{{{{z{zz{zzz{{{{{{{z{{zzyzzz{|{}{z{{{|zzzyz{z|{|{{z{zzzzzzz{{{{z{{|{zzz{zyz{{{zz{{zzzzyzzz{{{{z{{{{zzzzzzz{zz{|{{||{{z{zzzz{{z{{{{|{zzzz{{{{{{{|{|{{{z{zzz{{}{{{{|{{{{zz|{{{|||{|{{{z{z{{zz{{|{{{|{|{{{{zzz{|{{{|{{{{{{|zz{{{|}{|{{{{{z{z|{|{{|{||}|{{{{{{{{{{{{{z{|{{{{z{{||z|{||||{{yz|{{{{|||{||{{{{{|{{{{|||}{|{z{{zz{{|{{||||{{{{{|{{z{||{||{|||{{|{{{|{|||{|||{{{zz{{{|{{||{{{{{{{|{{z{|{{{|{|y{z{zz{{|{{{{z{z{zzzzzzz{z{zz|{{{z|zzzz{{z{{z{{{zz{z{zz|z{|{{{{{{{zz{z{z{||{z{zzz|zz{{{|{{|{{{{z{z{yz{zz{{z{z|{zzz{zzzzzz|{z{{z{zzzzzz{zz{z{{{|y{zzzy{zy{{z{{{zz{zzzzzz{{{{{z{{zz{zzzz{z{{zz{||zzz{zzzy{z{z|z{{{zzyzz{zz{z{{{|{z{{zz{zyz|z{{{{{{{zzzz{z{{{{|{{{z{{zyz{{{}z|{{||{z|{{y{{{{|{{|}|{z{{{z{{{|{{{||{{{{{{{zz{{{zz{|{{{z{{y{{{z|{{|||{{{{{{{{{{{||{||z{{z{{{{||z{{|{{{{{|{{z{{||{{{|{|z{{{{{{|{{||}{|{zz{z{{{|{{|||}||{{{|{{|z}{||{|||z|{{{z{||{|}{{|{|{|{{{{|{|{{{{}|{{z|{{{|{{|{{{|||{z{||zz{{{{{{|{{{zz{{{{|{||{|||{{z{{z{z|z{|{zzzz{zzx{z{{|{z{{zzy{zz{yz{{{{{{||z{zzz{{z{||{{{{z|z|{zzzzz{{zz{|{{z{zyzzzzz|{{{{{{zzzyzzzz{z{z{{{|yzzzzzz{z{zzzz|z{zzz{yz{{z{{{{zz{zzzyzz{{{zz{|{zzzzzzyzzz{{{{{{{z{yzzyyzz{{{{{zzzyzzy{y{|z{z{z{z{zz{zzzzz{{z{|{{z{zz{{zz{{{zz|z{zzzzzz{z{{zz{{|zz{zzyzz|z{{{{{|z{yzz{{{|{{{{{{|zz{{{yz{{{|{||{z{zzz{{zzz{z|{{|{{{{z{z{{|{{{{|{|zz{z{zz{||{{}||{{{|{|{|{|{{|z|||{{{{z{z{{{{{|{{|{z{{{z{{||{{||}{|z{{{{||{||{||{||{{z{|{{{|{|{{{||z{{|{{z|{{||||||z{{{{{{|{{{{{{|{z{{{zz{{{{|{|{{{{{z{z{{{{{{|||}z{{{zz{{{{{|zz{|{y|zzzz{{{{{{{zz{z{z{z{yz{{{{{{{{zz{{zzzz{z{{|||{{zyzz{z{z{{{z|{{{zzzz{z{{{{|{|zzzzzzzzzzz{{z{z{zzz{yzzz{{{zz{{{{z{zz{yz{{{zz{{zzzzyyzzzzy{{zz{zzz{zyyyzz{{z{{{{zzz{zyy{zz{{{|{{{zzzz{zz{{{{{{|{zzzyzzzzzzzzz{zzzzzzz{zz{{{{{{{{zyzzzzy{{{{zz|z{{z{z{zz{{{{{{{{|||{zzz{z{{{|z{{|{{{zz{yz{{{{{{{|{{{z|zzyzz{{|z|{{z{|zz{zz{|{||}|{z{{z{|z|||{{||{{{zz{{z|{z}||{{{{|{|{z{||{{|{}||{}zz{z{{{{z|||||{{{{|{{{|||{{{||{{{{|{{{{{{{{}||{{{|z||{|||{||{||{{{z{{{||{{{||{{{z{{{{{{|z|}{||||{{|{|{|{{{|{{|{|{z{zzz{{}|{{|z{z{z{z{z|||||z{|{{zzzz{z{{|}{z{{y{y{{{{zy{|zzz{|zzz{z{zz{{{{z{{{z{zyzyyz{{{{|{{z{{z{zy{zzz{{{z{|{|zzzyyz{{{zz{|{{zzzzzzz{{zyz{|{{zz{zyzz{{zzzz{{{{yyz{z{{zzz{{zzzzzzyzyzzz{y{z{{{zyyzzyzz{{{|{{{zz{yzzz{z{y|zz{{{{{zzzzyz{zzz{zzz|{yzyyzz{{{{|{|zzzzzzzzz{|z{z|{zzzzz{|zz|{{|{{z{zzzzzzzz{{|{{{|{zzz{zzz|z{z|{{{{zzy{z{z{{{{{{{{z{{z{|{{z{{{{|}|z{z{{|zz{||z{{{{z{zz|{{zz|{|||{|{{z{zz{|{{z|||||{z{z{{{zz{{{{{{z{{zz{z{{{|||||||{{{{|z{{{|{{{|{||z{{z{||{|||||||}||{{z{{|{|{{||{{{{z}{{{{{{|{|}|{{{z{{zz{|{{|{||z{{{zz{{z|{|{{|{|{z{z{{z{zz{{{}z{z|z{z{{{z{{{{{|z{{zz{zyz{{{{{z{z{zzz{{zz{{|{{|{{{{zz{{z{{||{{|{zz{zzzz{z|{{{{{|{y{yy{{{|zzzy{{|{zz{z{{z{{{{z{{{z{{yz{{{{z{{{{|z{z{yyz{{{z{{{z{{zyzzzz{z{|{|{|{{{yz{z{zz{{{{z{|{{{{zz{y{z{{{{{{|zzzz{zzzz{{zz{|zz{{z{zzz{{{|{{z|{z{{{{{y{|{{{{{{{|{z{{{{{{{|{{{{{{{z{z|z{{{{z|||{z|{{zz{|{{{|||}{{{{|z{zz{{|{||{{|{{{{z{{{||{{{y{{{z{{{z||{{|}{{|{{z{|{{|||||||{{|{{{||{{||||}||{{{{zz{{{{|{|||{|{z{{z{z|||{}|||{{|{|||{|{|||}{|{{|{z{z|||{}||}|{|||{{|{||{|{||||z{{{{z{{{{{{|{||{{z{|{{{||||||{{z{{{{{{||{|{||{{||{{{{{|{|}{{{{z|{{z{yz{|{{|{}|zzzz{zzz|{{z{{||{z{{z{z{{{||{{z}{{{zzz{z{{z{{{{|{{z{zzzzz{|||{{{{z|{{{{zzz{z{{{{{{zz{zzzz|{z{{|{{|{zzz{{z{|{{||{{yz{{{zz{z{{{{{{zzz{zz{zz{{z{{|{{z{{z{zzzz{y|{||{zz{{zzz{{|{{{{{{{{{{zzz{{zzz|z{{{|z{z{z{{z{{{{|{z{{z{yzz{y|{||{zz{{{z{{{{|{{{{{{{{{zz{{{{z{{|{|{z{{z{{{{{{{|||{z{z{zz{{{{{|||{{{z{z{z{{{||{|{{~{{{{{z{z|||{{{|{{{{|{{{{{|||||{|{{{z|z|||{{|||}}{||{{{{z||{|}{|||{{{|{{{{||{|||}{|{{z||||}|||||||{|{{{{z{||}|}}|{{{|{{{{{|{{}||{|z{{|{|{z|{{{{|||{{{||{{z{{|{|{|{z|zzz{{||{{||||||{{{{zz{}|{{|{{{z|z{z{z{{{{{{{z{z{{zzzyy{|{|{{|yzzz{{zz{zz{z||{zz{zzzzy{{z{{{{{{z{zzz{z{{{{z{{{zz|zzzzz{{{{z{z{{yzzyz{yz{zy{{|zzzzzzyyzzz{{z{{{zzzzyzz{zy{{y{z{yzz{zyzzyzzz{{z{{z{{zzzzz{{z{{{zzz{zzzzz{|{zzz||z{zzz{zz{zzzz{{{{zz{zzzzz{z{{|z{z{{zzzzzz{{|z{|{|zzyz{zz{{{z{{|{z{{zzz{z{z{{{{{{{{{{zz{z{{{|{|||{{{{{zzzz{{z{{{{zz{zzz{z||{{{{{|{z{{z{{{{|{{{{|zz{{z{{{z{{{|{|||{{z{{z{{{}{{|{|{{{{{{{z{|{|{||||{z|{{{|{||{|}{{|{{|{{{||{|{}{||{|{{{z{z{{|{|{||||z{{{||||{|{{{||{{{{z{{|z{||{{|}{{z{{|{z{{{|{|{||z{{{z{y{|{{z|}}z{{{{{{zz|{{z{{|{z{zzzz{{{z{z{z{z|zzzzzz{{{{{{{{zzyzzzzz{{|{{{z{{zzzzzzzz{z{{{{|{z|zzz{zz{{|{{|{{y{zzzzz|{|{|{{|zzzzzz{z{{zz{z{zzz{z{{zz{{{{{|{{zzy{zz{y{{zzz{zzzyzzzz{y|z{{zzzzzyyyzzz{z{{{z{{{{z{{zyzzz{{{{z{{{zzzzyzz{{{zz{{{y{zz|yzz{{{{z||{zz{{{yzzzz{{{{{{{{{z{{{z{{|{{|{||{{{zyz{z{{z{{{|zz{{z{{{|z{{|z||{{z{|{zzz|{{{{||{z{{z{{{{{||{{||{z{{{z{z{|{{{{{||{{{|z{{{{|}||||{{{{{{{||{{}|||{{z{z{zzz{{|{||}|{z{||{|{|}|{||||z|{z{{{{||{{|{{|{{{{z{z{z{{{{||||z|{{{{{z{{{{|}||{{{{{{|{||||{{|{|{{}z{{|{{{||||z|{y{{{|{{{{{{{||z{zz{{z||{{{{||zz|{{zz{{{{{{{{{zzy{z{zz{||{{{z{zzz{{zz{|{|{{{|zzzz{zz{y{{z{{z{{{{{zzy{zz{{|z|{{{zzzzzzz{|{{{{{|zyzz{z{zz{{{{{|{{z{y{zzzz{{z{{{{{zzxz{zz{{{z{{{{yz{z{{{zz{zz{{{{{zzzzzzzz{{z{z{{{zzzyzzz{zz{|z{{zzzzzzzzz{{{{{|{zzz{{{{z{|{{{}{zz{{zzzzy{z{||{{{{{zzzzzz{{{{{|{}zz{{{{zz{{z{{||{{zzz{{{|{{{|{||{{{{z|zz{{{{{||{|{{{z{zz{{{{{{z{{{yz{z{zz{}|{|{z{{{z{z{{|{{{|{|{|z{|{{zz{|||||}|{|{{z{z{{{{||||}{{{|{{{|{{}||{|||{{|{{||||||{||||{z|{{|z|{}}|||||{z|{{z{{||{|||}|{zz{z{{|{{|{|||}|z{{{{{z{{|{||||z|{z{z{{zz{{{{|z|{z{z{{z{|{{{|z{{z{zz{{zz{|z{{|z{{zzzzz{{z{{{{{|{zzzzzzz{{{z{|{{{|zzzzzzz{{{{|z{{yz{{{zzz{|{{{{|zzzyzz{zz{{|{{|{zzzz{{{{z{|z{{{{z{{z{{zzz{{zz{{{zz{zyzzzzyyz{{{|zzzzzzz{z{{{{z{z{zzyzzyz{{{{{|{{zz{zyzzzz{{{{|{{{zzzy{zzz{zzy{|{zz{{{zzz{{{{{{z{{{{zzzzzz{{zz|z|{zy{z{{z|{{{z{{{{{zzzzz{{{{|{{|{{zzzyz{{z|{{{{{|{{y{{y{y{{{{{{|z{{{z{zy{{{{{||||{|{{zzzz{{{|{}z|{{zz{{{{{{{{||||{{{{{{{z{|{|||||{z{z{zz{{||||{{{|{{z{{{z}|}{{|{||{z{{{{{{|||||}|{{{{zz{{z|{{|||||z{z{|{{{{{|{|||{|z{{{{|{|||{|}}|{{z{{{z||{{{{{{{z{{{{zz{{{{{{}|{{{{{{{zz{{|{{}{{{{{zzzz{z|{||{{z{{zz{{zz{{z{z||{{zz{{zz{{{{|{|}{zzz{zzz{{{|{{|{{{{|{{zz|{{zzz{{z{{z{z{z{{{{z{z|{z{zz{{y{{{z{{{z{{{zzzz{{{{{z{{{zzzzy{zz{{{{z{z{zz|zz{{{{{|{z{{{zzz{z{zzz{{{|{{{{z{zz{z{{{{{{{|{z{{zzz{{y{z|{{z||z{zzz{{{{{{{{{{{z{zzz{z{z{|{{{{{{{{{z{{{{|{{{{||{{{{zz{{||{{{{|z{|{zz{y{z{{{z|{{z{{z{{z{|||{{|}{z{z{{{{|||{{||{{{{{z{{{{||{|{{|{z{{||{|{{}|{||{z|{z{{{{{|{{|||{|z{||{{{||}{||}||{{{|{{z|||{||||{{{z{{|{|||{|{||{{|z{{{{{|{}|||{{{{{{{|{}{||{|{|z{{|{{z{{|{{{{{{{{z{|{{||{||{{}|||{{{{||{{{|||||{{z{z{{{{{{||||{z{{|{{{{|{}|{{{{z{{zz{{yzzzz{{|{|zzzzzzzz{z{|{z{zzz{zzz{{z{z||{|{{zyzzz{{z{z{z{{{{zzzyzyzz{{{{{|zzzzzzzzzzzzy{{{|z{yz{z{z{|z{{{{z{zzzzzyzzz|yzz{zyzz{zzy{{{zz{|zzyzzyzyzzz{z{z{zzz{zz{{y{{z{{{{{zzzzzzzz{{{{|{{{{{zy{{{zz{{z{z{zz{z{z{zzzzz{z{{|z{zzzy{z{||{z|{{{z{z{z{zzz{|||{{zz{{{|yz{{{{|z{{|z{z{z{zz{|{{{{|{zzz{{{z{{z{z|{|{{z|{zz{{{|z{{|z{{{{{zzz{{{{}z||z{{z{z{{{|{|{||{{{{z|{yz||{||{|z{zz{z{z{|||{{||||{{{zz|{{|{|{||{}{{{{z|z{}{||{||{{||zz||||{|{{|||z{{{{|{{{z{{||||z{{|z{}|{|{|{}{zz{z|{{z{|{{|{{{|z{zzz{z{{|{|{{{{{z{zzzz{{|{{|z{zzzzzyzz{{zz|{zzzzz{{zyyz{{{{zz|{{zyzy{z{{z{z{{zz{zz{zyzz{{{zz{zz{yyzzz{{z{{{{{{zzy{zyzzz|zzzz{{zz{zzyy{{{{{z{zzzzzzzzzzz{{{z{{{{zzzzyzz{{{zz{{z{zzzzzzzz{{zzz|{y{{zyzzyz{z{z{{{z{yz{y{zz{zzzz{zz{zyyyzyyzzz{{|{zzzz{|yz{z{{|{|}zzzzzzzzz{{zz{|{{{|{zzzz{{{||{{|y|{z{{zz{{{{{|{{zzzzzyz{{|z|{|{{z{z{z{{|{|{{|{{{zz{{{zz{{{|{{|{{z{{z{{{z{{{||{||{{{z{{{z{{{}z|{|{{{{z{{z|{{{{{{||{{{{{|{{|||{{{{{z{{{{|{z{|{{|||{{z{{{{{{}{{|||||z{{{z|{|{|||||||z{z{z{{|{|{z|{|||{z{{{|{{{|{{{|{{z{{{z{z{{{|{|||{{zz{{z{|{|{{||zzzzzz{yz{{zy{z{zzzzzz{y{{{{zz{zzzzz{yzz{{z{{{{{|z{zz{zz{{{z{z{z{zy{zz{zzz|zzz{{z{zzzzzy{{z{{{{|yyzzz{zzz{{z{{{{{z|z{zzz{{{zz{z{z{zzzzzz{{zzz{z{{yzzzzzzz{{{{zz{zzzzx{zyzzz{{{{{zz{zyyzyy{{z{|z|{{zxyzyzy{{z{{{{{{zyz{{zz{z{z{zyzy{y{{zzz{zz{{{|zyzz{{zzz{{z{{{|zzzzzzzz{z{{z{|{zz{zz|{z{|{{{||{{zzz{{z{{{{{||||zz{z{{{z|{{|{{{z{z{z{z{{z{{{{||{|{|{zz{zz{{{|{||zz|z{{{z{|{z{{}||{{|{z{z{|{{}{|{|zz{{{{z{|{{{||{{{{{z|{{{|{{{|{||{z{{{z{{}{|{||||z{{zz{{|{}|{{||{z||{zz|{{{|{{{|{{{{{{{z|{|{|{||{{z{{{{{|{|{{{||{z|{{{{zz{{|{{|{zz{zz{{z{{{{z{|z{zzz{{{yz{zz|{{|zzzzzzzzz{{{{{||z{zzzzzz|{{{{{}|{yzz{z{z{{{{z{{{zzzzyyzz|z|{|{z{zzzzyzzz{|z{{{{{zzz{zzzz{zzzz{{{zz{zzzzy{z{{z{z{zzzzyzzz{{{z{{zz{zzzyzzzz{zz{||{zz|yyzzz{{{{z{|{zzzzzyyzy{{zz{z{zzz{zz{z{{zz{{|{zzyzz{yzz{{|{{|{z{zzz{yz{{{{{|{{zz{zzz{z{{{{|{{{{zzyyz{z|z|z{{{{|{{|{y{{z{{{{{|{{z{zzz{{||{{{{|z{||z{zz{|||||||{z|{{||{z{{{||{}{z{z{|{zz{|{|z|}|{|z{{{z{{|{||||{|z{{{{}{||}||}{}{{{z{{|{{{{{z|||{{{{{|z{{||||||}{z{{z{{z|{{|{||||{{{{|{{||||{{{||{{{{zz|}{{{|{||{zz{{z|{{{{{{{}||{{z{{{{{{{{|{|{z{{{{zzz{{{z{{||{zz{zyzy{{|{zz{{zyz{{zzz{{z{{{{|{{z{zzy{{z{{{z|{{{{z{z{z{zz{z{{|{z{{zzzz|zz|{{{{{z{yz{zz{{{{{|z{z{zy{zzz{{zz{z{|{yzzzz{z{{z|z{{||z{zzyzz{|{|zzz{z{{{y{zz{{{zz{||{z{z{zzyz{{z{z}{{zzz{yzzzz{{{{z{{{{z{zzyzzzz{||{{z{{{zzz{|{{{{|{zz{zzz{z|{||z{||{zz{zz{{{{z||{|{z{{z{z{{{{z{{}{|{z{{{{zzz|{z|||{|z{zzzz{z|||{{{{|{z{z{{{||{|{||{|{{{{|{z{|{|||||{{{||{|{{{||{|{||{{{{{{z{||{|||||{{{{{{{}|{{|||{||{{z{{||||{||{||z|{{{{{{|{z|{|{|{|{{{{{|{|||{|{|y{|{{{{||||{{}||{{{{{{|||{{||||{{z{{{z{{{|{||{||{|{{z{{{}{||{|{z{|{{zzz{{{{{{z{z{zz{yz{{{{z{{|{{{z{{z{{zz{|{|{zz{zzz{z{{z{{|{z{{z{zz{{zzz{|z||{zz{z{{{zz{{{{|z{zz{zzz{z{{{{{{{z{zzzzzzz{{{{z{{{|zzzzz{zz|{{z{{{{zzyzz{y{|{zz{{z{zyzyzz{{||{{{{{{z{zzyzz{{|zz{|{{{z{zzzz{{z|{{{z{z{yzz{z{|{z{|{{zzzz{{{z{{{{z{|{{z{{{{z{{zz{{{{{|{zzzz{{z{{{{{{|z|{zz{{z{{{||||{{{{zzz{{{{|{{|||{{|{z{{z{{||{||{zzz{z|{z{||zz||{z{|z{{{z||{|||{|z|{z{z{{||{|{{||{{{{{{z{{||||||{{{{z{z{|{|{{{{||{{|{z|{|||{|{}{|{{{{{{{{z|}|{|}|}{{|{{{{|{||{|}|{|{|{zz{{|{||||||{{{{|{|z{||{{|||{{z{zz{{{{|||||{{{{{zz{||z{z{|{{{{z{z{z|{{|{|{{{zz{y{{y{{{zz{{{{z{zzyyz{{|zz|{{z{zy{{z{{{{{{{{||zyzyzzzz{{{z{|{|zzzzz{zzzzz{|{{z{|yzzzy{zzzzz{{zz{zzzzzzzz{{|zz{zz{z{yz{{z{{{zzzzzzzzyzz{{{zz{zyzz{z{y{{{z{||zzzzzyzzz{{z{|z{|{z{z{{zzyzz|{{{{zzy{z{{{zz|{{{|{{z{{yz{{zz{z{z{{{{{zyzz{{{{{{{{||{z{{zzz{zz{}{||{{zzzz|zz{{{{{z{|{{{{zzy{z|z{{|{|{z|{z{zz|{{zz{{{{zy|z{z|{{{z{z{{zz{{{z|{{||{|{{{{{{z{{{{||||{{{||z{|{z{y||{|{}|{|z{z{z{{|}|{{||{{{{{z{{{{|{|{||{{z{z{|{{{|{{|||||{|{{{z{{|{|{{|||{{z{{{|{{|||{|}{{{{{{{||{||{{|{{{{z{{{z{|{z{{{|{{{{{{{{{|}|{|||{{{{{z{z{{{{{{|{zzzzz{{{z{{{|{{{|zz{y{zy{z{{||{{{{z{zzzz{{{{{{}{{z{{z{{{z{|{{{y{{zzyyzzz|{|{{|{{zzzzz{zz{{|z{|{zzzz{{zz{{{|z{{{z{y{zyzzz{zzzz{z{{zzzz{zz{zzz{|{|z{z{yzy{{|{z{{|z{{{zzzzzyz|z{{|{z{zzzyyzz{|{{{z{z{z{zzzzy{z{{{y{zzz{zz{y|{{{{|{|{{z{{{zz|{|{{z{{zz{zzzzz{z|{{{|{{z{zzz{z{z{||{{|{{{zzz{zz|{{||{{{z{{{{zz|{{{z{{{|zz{{{{z||{{|{{|{|z{{z{{{||{||{{z{{{{z{{|}{|{||||z{{{{{z|||||z}|{zz||{|z{||||}|}{{{{{||zz|{{||||{{{{{{{z{||}|{|||z|{{{{{|}|{{||||{{{{|z{{{{{||{|||z{{{{{{{{|z|||{{{{{{{|z{{|{|{|{{{{{{{{{|||{{{{{z{{{z{z{{{|{{{{z{zzz|{zz{{{{z{{{{zzzzzz{z{zz{|{{z{{z|{{{|{{{{{{zz{{{zz{{zz{{{|{zzzz{{yz{{{|z{z{{z{zz|{zz{{zz{|z{zz{zzzzzy{{zz{zz{{zzzzz|zz{z{{{{y{z{zzz{|z{{{{{zzzzzzzzz{{z{z{{|z{zzzzy{z||{|{zz{zzzzzyz{z{{||{{{zz{{zyz{z{z|{{zzzzzzz{|{{zz{{|{{{{{z{|{{||z{{|{y{z{yzz{|{{{{|zz{{zzzzz{{|{{{|{|{zz{{{z|{{z{|{{{|{{{yzz{{|{{{{{||{|{zzz{{{{{{||zzz{{zz{{{||{|{|{{zz{z||{{|{|{}||{|{{{z{|||{||||{{{||{zz||{|||||{{{{{|||{}|||}|||y|{{{|z||||{|}|{{{|{{{{|}|{||||{{{z{{{{{||z||{}|{{{|{{|{|{}|{{|{{zz{{{|}{{{{|||{{|{{{zz{|{|{{||{z{{{yzy{{{z|{{{{zzzzzzz{{{z{{{{z{z{z{{zz{{|z{zz{{{zz{zz{{{{{z{z{zyzzzy{z{{{{{{{{zz{yzzzz{{{{{|{zyzyzzyzzzz{{z|z{yzzz{zy{{{zz{{{{zzzzzz{z{z{{{{|zzzz{z{zyz{|{z{{zzz{zzzz{|{|{{{{zzzzzzzzzz{{{{|{z{zzzz{yy|z{zz{z{zz{zz{z{{{{{{{{{zzzyzzzz{||zz{{{{{zzz{{{{||{{{{{zyzy{zz{{{{{|{|z{zzz{z{{{{{{{{|zz{{{yzzz{{{{{z||{{{zz{z{{||{{{{{z{{{{z{{z|z{z{{{z{z{z{{||{{|{{{{{{{{|{{{|||}{}||{z|zz|z{|{||{{|{{z{{{{{|}{{}||{{|||{|{||{{{{||||{|{{{|{{|{||{{|{z|{z{{z||{{|{|{|z{{{{{{{{|{||||{{{{{|z{||{{||{{{{{{{{{{z|{{{||{|z{zz{{z{{{{{{|{{{{{{{zz{z|{{zz{zzz{zzzzz{{{z{{{zzzyzzyzz{|{{{{{z{zzzzzz{{zy{{z|{yzyy{zzz{z{z{{{zz{yyyzy{z{{z{z|zyzyz{{y{zyz{zzz{zzyzyzz{zz{z{z{zzzyz{zzzzz{{{{{{yzzzyzz{z{z{{zzyyy{zyyzzz{{zz{{z{zzzzzz{{{{z{{{zz{yzz{zz|{z{{{{zzzyzy{yz{{{z{{{zyzzzz{{{z{{|{{z{zzz{zzz{{{{zz{{|z{zzzzzz{{{{{{{zzzzz{{z{{|{{{|{{z{zz{zzz{{|z{|{|{z{{z{zzz{{{z{{{zzz{zz{{{{{{{||{z{zz{z||{}{{{{|z{{{z{|{{{{|{||{{{|{{{z{{{|{|}|{{{{{{z{z{{{{{||||z{z{{|{{|{{{}{|{{z|{{z{{{|{||{|{{{{z{{{{|{{||||{z{{{zz{{y{{|{|{{z{}{{{z{{|{{{|||{{z{{z{{|{{{{{{{{z{zz{z{{{z{|||{|{zzzz{{z{||{{{zzzzzyyz{z{|{{zzzzz{zyzz{{z{{{{{{z{zz{z{|z{z{|{z{zzyzzz{{{{{z{|{zz{yyzzxzz{z{{{|y{zyz{zzz{zz{|{{{z{yz{zz{zzzz{{z{{zzzzyz{z{{zz{{{yyzzzyy{zzz{z{zyzz{yyzz{{{{{{{{y{z{zyzz{zzz{z|{z{z{yyzyzzzzz{{zz{zyzzzyz{{z{{{|z{zz{zzz{z|{{{{{{zzzzzz{z|{{{z{{zyzzzzz{{{{{z{{|{zzzz{y{{{{{{{z|z{z{zz{z{{{z|{{{{z{{z{{z{{|z{z{{|{{z{y{{{{|{{|{{{zzz{z{{{{|z{{|{{{zzz{|{|{{|{{{|{zz|z{zz{}{|{{{z{z{z{{z{{|{z{{||||z{{z{{{{{{}|{{||{{{|{{{||||{|||{z{{{z{{{{{{|||{{{|{{{z{|{{{{||{{{z{zz|||{||{{{{{{z{{zz{{{z{{|||{z{z{{{{{{{z{{{z{zz{z{z{{{{{{{{zzzz{zzzzz{z{{{{zzzzz{z{||{{|{|{z{zzz{zz{{zz{z{|{z{z{zyz{z|{{{||z{zzzz{z|{{{{{{|{{zyz{zzzz{z{{|{z{zzzzzzz|{{z|z{{zzyy{zz{z{{z{z{{yzyzzyz{z{z|z|zzz{{z{zz{{{z{{|{zzyzzzzyz{{{{{{zzzzzzyzz{zzz{{{{{{zz{{zyz{z{{{{{{zzzyzzz{{{{{|{{zzz{zy{zz|{zz||{{z{zzzzz{||{|{{|zz{z{zzz{|z{{|{|{{{z{zzzz|{{||{{{{{zz{z{{{{{{{}{{{{{zz{{{||z{|{{{z|z{zz{||||{{||z|zz{{|{{{{|{|||{{{|{z{{{{|{{|||{z{z{{{{{|{{{|{|z{{{{z|{{||||||{}z{{{{|{{|{||}||{{{|{||{{{|}|||||z{{{z{{{|{{|}{|{{{|{z{{|{{||||{z|{{{{zz{{{{{|{|{z{{{|{{{z|{{{{{z{z{{{{z{{|{z{{z{yzzz{zyz{zz{{{{{{{{zyzzz{{{{{{{{{zz{z|z{zz{{z|{z|{z{zz{{{{|zz||{y{yz{zy{z{{z{||z{{zzzyzz{z{z|{|{z{{z{{zz{zz{z|{z{zz{yz{zzz|{z|zzyzzzyyzz{{{{{{{{zz{zzyz{zzzz{z{zz{yz{{{z{{|z|{|zzz{z{zz{z{{{{{{z{{zz{zzz{|{{||{zz{{zz{z{|{|{{|{{{{{{z{zz{|{{{{{{zz{yz{zz{{z{{{|zzzz{z{z{z{}|{{z{{zzzz{zz{{|{||zzz{z{z{{|{{{{{||{{z{zzzz||{{{|}|{{{||{{z{|{{{|z|{{{{{{{{|{|||||||{z{{{|{{|}{|{{||{{{z{zz{}|{}||}|{|{y{{{{{|||||||{{z{|{{{}{|||||{{|||{{{|{|{{{{|{{{z|{{{{|{{{|||{|{|{{z|||||||{||{{zz{{{{{{{|||}z{|{z{z{{{{|{|{|{{{z{zzz{{|{|{{{zz{zzz{z{|z{|{{zzz{zyyzz{{{{{{z}{{{zzzyz{{z{z{{z{zz{{{zzzz{{z|{z{{zzz{zzz{{{z{{{zzzzzzzyy{{z{{{zzz{y{yzzz{{z{zzzyzz{zz{zzzz{z{z|y{{zzzzz{z{z{{|{zzzzyzzz{z{z{{{|zz{{yyyz{||{{z{|z{z{zzzzzzzzz{z{{{{zzyzzz{z{{|{{zz{{{|{z{{z|{|{|zzzyz{yz{|{zz|{{zy{{{zzz{{{{{{|{z{z{zyz{{||{{{||{zzz{zz{{z{|{||{zzzz{z{{|{|{{{|{{z{{{{{z{{{z|{|{{{{z{z{z{{}{||}{{{|z|{{{|{||{|||{{|{{{{{{{{||{|{|z{|{{{{|||||{||{||z{{|{{{||{{|{|z{||{{{z||||{|{||{{z{{|||}|{|{{{{{z{{{z|{|{{|{|{{{z|{{{||{{||||{{{{{{{z|{{{{{||{|{z{z{z{|{|{|{{{{{zzzzz{{{zz{{{zzzzzzzyz{{{{{{{z{{yzyzyzz{|{|}{zzzzy{{z{|{z|z{{{zzzzzyzz{zzz{{{zz{yyzzy{{{{z{{|{{zz{yzz{{z{z{{z{z{z{zzz{z{z{|{z{zyzz{z{{{z{zzz{zyzzzzzzz{|{{|{zzzz{z{zy{z|{{{{{{z{{zyzz{zzzzz{zzzz{{z{yz{zyz{{{{{{zzzzz{z{{{|{{zzzyy{zzy{z{{{||z{zzy{z{|{{|{z{|{z{z{z{z{{||z|||{{{{zy{{z||z{{{|{{{zzzzz{{{{z{{z{z{z{{zz{{|{{{||z{z{y{{z{||{{{|{zz{{{{{{z{||||{{{{{z{{{{|{{|}{{|{{{z{{{z{{{{{{|}{z{z{{{{|}{|||||{{{{z{{|{||{}{|{{{{{{z{{|}{|{|{|{z||zz|z{{{{{|||{zzz|zz{{{{|{|}{||{{||{{|{{{{}{|{|{z|zz{z|{{{{|{{{{{y{{y{|{{||{z{{{zyzzz||{{{|{z{zz{{yzzz{{|{{||z{zzzzzz{z{{{{{{{zzzzzzz{{{z|{{{{{{zzzz{{{{{zz{{zzzzz{{z{z{zy{{{{{zzz{|yz{{z{{|zzzzyzyzz{z{{z{|z{zzzz{zz{zy{{{zzzzzzyzzyzz{{{{z{yyz{yzzz{z|z{{z{{z{zz{zz{{z{{{{{{zyzzz{zzzz{z{{{{{zzzy{{z{{{{|{{zzzzzzzy{{zz{{{{{z{{{z|y|{z{z{z||yzzzzz{|{{|z{{{z{zy{y{|{{{{{||{zzzzyz{{||{{|{{{{{{z{z{z{{||{|||{z{{{{|{{|{{{{{{|{yz{z{{{{|}||}|{{{{|{{{{{|{{{||{{z{|{z{{{{||{|{}{{{{|zz||{{{{||{{{{{{{||{z{|}|||||{{{{{z}|}||||{z{|{z|z{||}||{||{{zzzzz|{{{{||||{{{|{{z|||{|||{z{|z|{{{|||{{{||{{{z{{|{{|z|{|{{{{{|z{z{|{z|{{{{zyzzzzzzz{{{{{{{{zzyz{yz{z{|{{{||z{yzz{z{zz{{}{|zz{z{z{zz{{{z{|{zzzzzz{zz{yz{{{{zzz{{yzzzzzz{{{z{yzzzzzzz{{{|{{zzzzzzzzzzz{{{{z{{zzzz{yzz{{zzz{{{zzzzyzz{{{{{{|{zzzyzyzzy|zzzz{zz{zzzyzy{{yyz{z{yzzz{yzzzz{zz{{zzz{zz{yz{z{zz{|z{{z{{zz{{{{{z{||{y{zzzzz{z{{{|{{{zzzzz{{{}|{{{{{{z|z{z|z{{{{{{{{{{{zz{zz{|{{z{{{{{{z{zz{|z{{{{{{{{z{{zz{{{{|||z{zz{{z{|{||||z||||z{{z{zz||{|{{|||zz{|{{{||||{|||{{{{z{{{{|{{{||||zz{{{{{{|||{{{|{{{{{z{{{{|{{{{|{{{{zz{|{{{{{||||z{z|{z||{{{{|z|{}|zz|{z{{zz{|{{|{{z{zz{{{{{z|{{{{{zz{{{zz{zz{{{y{z{zyzyz|{z|{{{zzyzzzz{z{{yz{{{{{{zzy{zzzz{{{{zzyz{z{zz{{{zzz{|z{zzzyzzzz{|z{{|zyzyzzzzy{{{z|{z{y{zzyzz{{{z{{{{{zzzyyzzz{zzzz{|{{zyz{zyy{{yzzz{{zzzzzzz{y{{|{|zyzyzzzyyz{{{z{{|{yzzzyzyy{zz|{{{z{yzzyz{z{zzz|{{yzz{z{zy{z{z{z{{{{{z{yz{z{{z{z{{{z{yzzzz{{{{{|{{zzzzyz{z{{{{z{z|{{{z{zz{{{zzz||zy{{{y{{zz{{{zz{{zzz|yzz{{{|{{{{{{{{zzz{{{{||{||{zz{{{{{{{|{{||{{{{z{zy{z{||z}||{|z{z{{z{{|||{z||zz{{{{||{|{{|{{|{z{zz{|{{|||||}{{z{{{{{{||||{{|{{{z{{z{{{|{||{|{{z{z{{{|{{|{{|}{{z{{{{z{{z{{{z|{||{{z{zzz{||{{|z{zzx{zzz{z|{|{{{{zzz{{zyy{{{{{{z{yzyzyzzzz{|{z{|{zzzzzzyzz{z{|{zzzzzzz{z{{{{{z|zzzzyzzzz{{{{z{{{zzz{{zyz{z{zz{{{zz{z{yzyzz{zz{|{z{{zyzzzzyzzyz{z{zzzzy{yzz{{zz{{zzyzzzzz{{{{{{|zz{y{zzzy{{{z{{{{|zyzzzzyy{{yz{|{zzzzz{{zzz{zz{|{zyyzz{zzz{{z{{||zyz{yz{zzzzzz{{|zz{{zz{{{{|{||{|zzzzzzzz{|{|z{|{zzz{zzzz{{{{{{|{z{zz{z{z{{|z{{|{zy{{{{z{|||z{|{z|{|{zzzz{z{|{{{|{{z{z{z{{{{{{{|||z{{z{z{{{|{||{|{{yz{{{{||{|||||{{{zz|{z{{{{||||||z{{{z{|}{|{|{{|{z{zzz{{|{|||{{|{z{{{{z|z|{||{{{{{{zz{{||z}||{||{{z{zz{{|z{{{|{{{{{z{zz{||{z{{{z{{zzz{zz{|{{|{{{z{zyzzz{{z{z|z{|zzzzzyyz{{{{{|{z{{yzzyz{zzz{{{{zz{z{yy{z{{zz{{z{y{zzzzy{zz{y{z|zzzzzzzyz{|{z{{{{z{z{zzzyz{z{zz{z{zzzzyyz{z|{{{zzyzzzyz{z{z{{zzzzzzzzzy{zzz{{{{{zz{{z{zzz{{{{{{{{zzzzzyyz|zy{zz{{yz{{z{yyzzz{{|{{zzzz{{yz{{{z||{{{zzzyz{z{{{zz{|{z{z{zz{zz{{{{z|{zzzz{{z|{{{z{{{zy{zz{{z{{||{{z{{{zzz{{z{{{z|z|z{z{{zz{z{{{{{{{{z{{|{{{z{|{||{|{{z{|z{{{{z{{{|{|{{{z{zz{{}||{|{{{z{{zz{z{|{|||}|{{{zz||z{||{||}{|{{|{{{|z|{{{{||zz{{{z|z{{z{||{{|z{z{{z{{{{{|{{{|{zz{zz{{{{{||}|{{{z{zzz|z{{{|}|{zzzzz{zz{|{{{{{|z{z{yzz{{{{{|z{zzyyyzzzz{z{z{|{zzyzzzzz{||zz{zz{zzzzz{y{z{|{{{z{z{yzyyy{{z{zzz|zzzyzzyzz{{z{{{{{z{yzzzzzz{zz{{{zzzzyyzz{z{|z{{zzzyyzzzzzzz|{{z{{yzyzyzyz{{z{|{{yzyyyzyyz{z{{{{{zzyzzzyzz|{zz{{{zy{z{zzzz{{{zz{{yzz{zzzzz{{{{||z{{{zz{zyz{{y{z{{{zzz{yzzz{{{zz{|{zzzzzzz{{{{{{{|zzzzzzzz{{{{{z{yzyzz{z{{z{|{{{{{zzz{{zzz{z{{{{|{zz{{{zzz{|{z{{{{{{zz|zz{zz|z||{{{{|y{{{z{{{|{{{{|z{{|z|{{{{|{{|{z{{z{z{z{||||{{{{{zz{{{{{{{{|{{}{z{{z{|{z}{}||||{z{{z{{{|{|{{|{||z{z{z{{{|{|{{}{z{{{{{{{z|{{|||{{{zyz{zz{{{{{|{{{{{zzz{zz{{{|||zz{{{yzzz{{{{z{{{{zz{{zyyzz{{{{z{zyzzzzzz{{{{z|{{zz{yz{zz{zz{zz|{{{zyyzyzz{{{{{{{zzyzz{zzzz{{z{z{{z{zzzzzz{{zz{{zzzzyzzzz{z{{z{{zyzzzz{y{yzzzzz{yzzzzzzzz{zzzz{{zzzzyzyzz{{{{{|{{{zzzzzyzz{{zz{z{zy{yzzzz{z{z{{{zzzzzzzzz{z{z{|{zzzzzz{yyz{|zz{zz{zzzzz{z{{z{{z{{zz{{zzzz{{y{{|{zzz{|zzzz{{{{{{|{zzz{{yzyz|{{{{{|zz{z{zzz|zz|{{|{{{zzzz{z{{{{{|{{{{zzz{{{zz{{{|{{{{|zy{|y{{z|||||{{{z{zz{{{|||||{{{{{|y{{{|}|{{{|{z{{{z{{z{|{{|{{{{zz{z{y{|{z}||{zz{|{z{z{{{{|}|{{zzzz{z{{z{||{{{{|y{{zy{{{{{|{z{{zz{{zzz|{{{{{{|{{zz{{{z{|z{z||{{{{z{zzz{{|z{{{{yzzzzzyzz|{{{zz{z{z{y{{z{{{z|{{{zzyz{zzz{{z{{{z|zyz{z{zzz{{{z{{{{zz{zz{y{z{{z{{|{yzy{{zz{zz{{{z{zyz{zzzz{{{z{|{z{yzzyzzyzzz{z{{{zz{{zzzzyzzz{{{zzz{zzzzz{z{{{zzzzzz{zy{zzzz{{{{{{zzz{yzzz{{z{{z{{zzzzzz{z{zz{{{zy{yzz{zyz|{|z|{{{zzzzz{z{{{z{{{|z{zz{yzz{{{{{zz|zz{zzzyz{{{{|{{{{z{{yz{z{{{{z{|{z{z{{{z{{{|{{{{{{z{{{z{{{{{{z{{{zz{zz{{z{{{{|{|{zzzz||{z|{{zz|||{{y{zzzzz||{{|||{{z{|{{{{}|{{{{{zy{{{z{z{|{|{||||{{|z{z|{|}{{|||{z{{{{{{}{{{{{|{{zz{|zz{{{{{|{}{{{{{|{{{|{||{{{{{{{yz{{|{{{||{|{{|{|{z{{{{||z{|{{{{z{zzy|||{|{{{z{zzzz{zzz{{{z{|z{yz{zzyzzz{{{{{zzzyzzzzzz{z{z{z{zzz{z{zz{{{yz{|{zzyyzzy{{{{z|{zyzzzzzzz{{yzy|{z{zzzzzyzz{zzzz|zy{{zzzyzyzz{{z|{y{xzy{zz{zzyzz|zz{zzyzyz{|zz{{{zzzzzz{zzz|z|zz{{zzzzzzzy{zz{z{z{{{zzz{{y{|z{z{{{{{|yyzzz|{z|{{|{z{yz{y{{{{{zz|{z{yzzzzyz{{z{|{{{zyz{zzzz{z{z|{{|{z|zyzzz{|||{||{zzz{zz{{{{{{|{|{{{z{zz{{{{{{|{{{{{{z{z{{{|{|{||{{{{z|{{{|z{{{|||{{z{z{z{z{|{{|}z{z{{{z{{|{|{||}|{zz{z{|{|z{{|||{{{{z{{{{{||{||{{|z{zz{z|z{{{{{|||{{zz{{|{{{{{|||{{{{|{zz{{|||{}|{zzz{{z{{{|{{{{|{z{{zz{{{||||{{|{{{zyzzz{{|{{{{{|{zy{{yyz{{z{z{{{{zzzz{zzz{z{|{{zzzyzzyzz{{{{z}{{zz{zzz{||{{{{|{{{zzzyzz|zz{z{{{zzzzzzzz{{{zz{{z{zzzzzzy{z{zy|{{zyzzzyzy{z{{zz|{zzzzzzzzz{{zz{{zzzyzyzzzz{{zzz{{{z{yzzyzzz|z|{{z|zzyy{yy{{{zz|{|{{{z{zzz{{y{z{{|zyzzyz{y{z{z{z{|{z{{zzyz{{{{{{{{{yz{yzzz{{{{{{{}{z{{zzz{z|{z{{||zy{{zzzzz|{|{|{{z{zzzz|{|{{{{{{{{{zzz{z{z||z{{{{|zz{{z{{{{||||||z{{{{{|{|{z||||}|z{{{{{{|{{{z{{{z{z||{{z|||{{|||zz{{{|{{z|{|{{|{|{{zzz||{||{|}}|{z{|z{|{{{|{{|}{||{{{zy{{||{|{{{{|{{||{{{|{{||{|{{{{z{{z{{{zz|}|{{z{{zzz|{{|{{{{zz{zzyzz{{{{{{z{{z{yyzzzz{|{z{{{{zzyzzzzz{|{|{{zzzzzzzz{zz{z{{{z{zzz{zzz{{{|{zz{zz{z{xz{{{zz{z{{{{zxzzyzz{{zz{{z{zzzzzyzzzzzz{zzyzzzzzyyzzz{zz{{{{zyzyzzzz{z|z{z{zyzzzz{zz|{{{z{|z{zzzzz{{z{{zz{{zzz{zzz{zyz{{{{z{{y{zzz{{{zz{{zzzz{zzzz{z{zzz{|zz{zzz{zz{{{{|{|{{{zzzyzz{{{z{{{zz{{{zzz|{{{{z|{{zz{{yzz{{{|{|z{zzy{z{zz{{|{|||{{zz{{zzz{{{z{{|{{z{{zz{{{{|||||{z{{{z{{{{{{||}|}{z{{z{{{{|{||{}{|zzz{z{z{|{z{{|{{{{{{z{{{{{{||{||{|{z{{{{|{||}|{{{{|{{{{|}}|{||}{{{{{{z{{{||{{||{z{{{|{{{{z|||||{{{z{{{zz{|||{||{|z{|{{zz{|{{||{{zzyzzzz|{{|{z{{zzz{{zzz{{{{{{{{{z{z{yzz{{{z{|{{{{zy{zz{z{{{z{|{{yzz{yzzzz{|z{{{z{zzzyzzy{|{{{z{{zzzzzzzz{{z{{zz{{{zzzzz{z{y{z|zzz{yzzzz{y{z{{zzzzzyzyzyzzzzz{{zzz{zzzyzz{{z{{zzzz{yyzz{z{{{{|{|{zzz{yzz{{|{{{{{zzzyzzzz{z{z{z{{{yzzy{zz|z{|{||{{{{z{z{z{z|{{{{|{{y{zyzz{z{{{|{{zz{z{zz{z{|{|{||zyz{zyzz{{z|{{{{z{{z{z{{z{{|{{{{{{z{{zz{|{|{{{{{{{{z{{zz{|||{|{{{z{{{{{z|{{|||{|{zz{{z{z{{|{{||{{{|{{{{z{|{|{|||{{{{{{{{{|{{{||{{{{z{z{{{|||{{|{|{{{{z{{||||{|||{{z|{{z{{||{|{||{{z{{{{|{z{{|{{||{{{z{z{{{{|{||{z|{{zz{z{||{{{{{{zz{yz{{{||{z{{{zzzzzzzzzz{z{{z{{zz{{zzzz{{z{{|{zzzzy{zy{z|{|z{zzz{z{zyyz{{{z{zzzz{zyyzy{{zzzz{{{zzzzzzy{zz{zzzzzzzzzy|{z{z{z{z{yzzzzzz{zzz{zz|zzzzzzzzzz{z{zz{zz{zzyzzzzz{zz{{{zz{yzzzzzzz{{{{{zzz{zzzyzzzz{{z{y{zzzzzyzyyz|{{{zz{zzzzxz{z{{z{{zzzzzyzz{{{{z{{zz{z{yyzz{zz|{{{{{z{zz{zz{{{{z{{|{{zyzy{y{{z{|{z{zz{{zzzz{z{{y{|{{z{z{zzz{{{{{y{|{{zz{{{{{{{{|z{|{z{z{zz{{|{{{{}{|z{{{z{{|z|z{{|{{z{z|z{z||||{|||{{{{{{|}{{|{{||{{{{{{{z{z|{|||||{{}{{z{{|{{|{|{{{zzz|z{{z||{|{|||{{||{z|{{|{{||z||{{zzz{{|{||||{z{z{{zzz{{{{{{{{{{{zzzzz{|{{{z{z{zzzzy{yzzzzzz|{zzyzzyyzyzz{{{{{{zzzzzzzzzzz{{|{zyyzzzyyz{z{z|{{zz{z{zzzzzz{z{{|zz{yzzzzzz{yzz{z{yyyzzy{{zzzz{zyyzzyxzyxz{zzz{z|yyzzzzzyzy{zz{z{{zzzxyyy{zzz{{z{yyzzzzyyzzz{{{{zzzyzzyzy{z{z{zz{zzzzzz{zz{{zz{z{{zzzzzyyzy{{|{{zzzzz{zzz{{{z{z{{zyzzzzz{{zz{z{{{zz{yzzzzy{{{z|{|yzzzzyzzz{{{{|z{zz|zzz{y{{||zz{{zz{zz{z{{{{z{{{|{zzz{{zz|{{{{|{|z{zz{{{{z|{{{{||{{zz{z{y{||{{z|{|z{yzz{z{{{{{|{{{z{{z{|{{{|{|{|{{zz{z|{{{||{{||{zz|{z{z{{{{|{z|{|zzz{zzz{||{{{}|{|zz|{z{{|{{{z||{{{zzz{z{{{{{{|{|{yzz{{zz{{z|{{zz{zzzyz{zzzz||z|zz{yzz{y{zz{zzzzzzyzzyzzz{z{{z{y{xyyzzzy{zyz{{|{zzzzyzyyzz{{zz{{zyyzyyzyzy{{zzz{zyzzzzzzy{yz{{yz{zyzzzxz{{|z{zz{zyzzyzzzzzz{zz{zyzyzyyzyyzz{z{{{{zyzyzyzz{zzzzzzzyzyzzzyzz{{yzz|zyzzzyyzzz{yzzz{zyyzyyzy{zyzz|zzzzzzzzzy|z{{zz|{zyz{zzzz{zz{{z{{y{{zzyz{{z{{{{{{zyz{zz{z{z{z{{{{zz{z{yzzz{||{{{z{yyzz{{zz{{{{{{z{{{{z{zy{||{{{{z{{z{z{zz{{{{{|z{zz{yz{{{{{{{{{||zy{zzz{z{{|{{|{{{zzz{z{{{{{{|{|{{z{zz{{|{{z|{|{z{{{z{|z|z|{{{{}|{{{{{zz{{|{||{||{zzzzzzz{{{{{|{{{{{z{zz{{|{z{{|||{zz{z{{{{{{{{|z{z{z{{zyz|z{{|{{{{zzzzzzz{{{z{|zzzzy{yzxz{zz{{{z{zzzzyzy{{zz{z{z{zzzyyzzzz{z{|{{zzzzy{zz{{{zz{{zzz{yyyzzzz{{yz{{zzzyz{yzzzzzz{{zzyzyzzy{zz{zyzzzzzzzyzyyzy{{z|{{yzyzzyzzzzzzzz{zzzzzyzyzz{{z{zzzzzzzyzzyy{{{z{{z{zzzyyzyzzzzzz{z{zzyyyyzzzzzzz{{zyyyyzyzz{{{z{{{zzzzzy{z{z|zzz{|{yzyzzyyzzz{z{{{{zzzyzzz{z{|{{{{z{zzzzz{z|{{{{|{{y{{zzy{{zz{{z{|{{z{zzzz{{{{z{z{zzzzz{{{|{{||{{|z{{z{z{{{|{{{|z|{z{{{y{z{}{{|{{z|{z{z{z{|{|{|||{z{{{{z{z{{{z{}|{|{{{z{z{{|{|||{{|{{{z{{z{{{|{{{|{z{{{{z|z{{z{{{|zzzz{{{z{|{{{|{|{{{z{z{{{{{{{{{|z{z{zz{zz|{{z{{||zzz{y{z{{{{{yz{yzzzyzzz{{{zzz{z{zzzy{zzzzz{z{{{{z{zzzzy|z{{{{{zzy{yz{zzzz{{z{||zyyzzzzzz{{zz{{{{zzz{yz{{{{{{z{{z{zzzzzz{zz{{{{{z{z{{zzzz{{{y{z{zyz{zyzzyzzzzz{zzz{zyyyzz{{zzz{{yzzzyzzzzzzz{{{zzyzzzyzzyz{z{{{{{zz{zzzzz{z{zz|zzzzyy{zyz{{z{||{{zzzz{zy{z{{|{{{{yzzz{z{{{{{{{{|zzzzyxzz{|{{{{{{{yzzzy{{{{{{{|{{z{zz{{yz{|{{||{{{{z{y{z{z|z{{|{{|zzz{zzz|{{{||{|{z|z{{{{{{{|{{|{{z{{zzzzz||{z{{{{{zz{zz{{|{{{|||{{|{zz{{|{|{{|}||z{{z{{{{{z{||{|{z|{{z{{|{||y||{{zzz{z{|{{{{{z|||zy{|{{z{z||{|{{zzzyy{{{{||{{{{|{{z{zz{z{|{|{|{|zz{zyz{{{{|{zz{z{z{yyyzzz|{yzz{|zzyyzzzy{{zzz{{z{{zzzz{{{z{{{{|{zzzzzzzz{z{{{z{zzz{zzyzyzz{{{{{{zz{zzzzzz{{z{{{zzzzzz{zyzzzz{zz{zzzzzyz{{yzzzz{{zzyzzyzz{z{zzzzzzzyyzyyz{y{{{zzzzyz{zyyz{z|z{z{{zzzzzzzyzz{zz{z|z{{zzyyzz{zz{z{{zz{zz{zzz{zz{z{{zz{z}z{zzz|{{z{|zzzy{zzz|{{{z{z{{zz{zz{z{{{z{|{{z{{z{z|zz{{{{{{{{z{zzzzz{{|zz{{||{yzzz{{{{{yz{{{{{zz{|{{{{||{||{|z{z{{|{{|{{||{||{|{{{zz{|{{{{|{|{{{{zzz{||}|{}|{{|{{{{{{z{{{|{|{{{{z{{{{||{{{}|{{z{{zz{|{{{|}{{{zz{{z{{{|{|{z||{{z{|{z{||{{||{{{|{{{zz{{z{{{|{{{|z{zy|z{||{{{{{{zzzzyzz{{zz|{z|z{y{zyzxz{{{{z{{z{zzy{{zz|{{{{z{|{zzz{zzz{{{{{zz{z{{zzzzz||{{z{z{{{zzy{{{{{{zz{|yy{zz{z{{zzzz{{zz{{zzyzz{|z{{{{{zzzzz{zzzzz{z{{{yyzzz{{yy{{z{zz{{zyzyzzz{z{{{{{{zzzzzzzz{{y{{|{{{zzyz{zyz{z{{{z{{zzzz{zzzzzz{|{{{z{zz{zzzz{{z|{{zzzz{zz|{|zzz{z{{zz{z{zzz{zz|{{{zz{{zz{z{{{z{{{{{{z{zz{{z{{{{{{{zzzz{|zz{{|{z{z{{{{{z{zz|{{zz|z|{z{{{z{{z{||{||{{{{z|{{|||{|{|||{{{z|zz{{||{}||{|{z{{|{||||z||||{z|{{{{{||{|{{}{|{{{{{{{{}|{{|}{|{|{z{{|{|||{||||zz|{|{{{{{{|{||{{{{{{z{{{{|||{}|{z{{zzzz{{{{{{||z{{zzzz{{{{z{||{z|zzz{z{{{{{{zzz{zzz{zzz{{{{{zz{z{zzzzyz{{{{z{|{z{zyzzz{{{z{z{z{zzzzyz{z{zz{z|{zzzxzzzz|{{{zzz{zyzzzzzzzz{zz{{{zzzyzzyzzz{yz{{zzzzzz{zzz{zzz{{zyzz{{zzyzy{{{{{{z{z{zzyyzzz{{zz{z{{{zzzzy{{{zz{{zzzzzzyz{{{{{{zzzzzzzzzyzzzzz|{{{{{yz{y{zzzzzz{{zzyzzzzz{|{z||{{zzzzzzz{zz{{z{{{yy{yz{zy{{{z{{|{zzz{zy{zz{|{{{{|zz{{z{zzz{{{{z{{|zy{{zz{{{{z{|{{{zzzzzz{{z{|{|||{z{{{{{{z{{|{|||{{{{zzz{{{|||{{{|z{{{{|{{{|||{||{z{{z{{z{|{{||||{z{{{{{z{}|{{||{|z{{{{|{{{{|{||{{{z{zz{zz{||{{{{{{z{|{{{zz{{||{|{z{zyz{zz|{|z||{{zz{{z{zz{{{{|z{zz{{zzzz{{z||{{{zyyzyzzzz{{z{{{{y{zzzyyyz{zz{{{{{{zzzyz{{z{{z{{{zyzzyyzzzz{|zz{|zzzzyzzz{{{z{{z|zzzzy{yyz{zzz{|{zzzyzzyyzz{{z{|yyyzyzyzzzz{||z{{zzyzyyzz{{zzzz{zzyzzzyyzzzzzz{zzzz{zyzzyz{z{zz|z{zz{zyzyzzzzz{{zzzzzyzzzzzzz{zz{zzzzzzzzzz{zzz|{{zzz{yyzzz{z{{{{zzz{zzzzzz{z{{z{z{zy{{zz{{{{{{{|zzzz{zzzz{{z{{{{zzzyzzzzz{{{{{{zzzzz{{zzz{{{z{{|{z{z{{z{{|{{{{||z{{z{{{z|z{|z|{|{zz{{z{z{{|{{z{{{{z{{zz{{|||{|{{{zz{{zz|{|{{|z{|{{{{{|{{{{|{|||{{z|zzz{{|z{{{|{||z{{z{zz{z{||{||{zzz{z{{|{{{{|{{{zzz|z{{{z{{{|{{|zzzzzzz{{|{|||{{{zzz{zzz{{{zzzz{{zzzyyyzzzzzzz{zzzzzyzz{zyz{|zzzzzzzzyz{y{{{z{z{zzzyy{yyz{{y{{{z{zyzyzy{{z{{zz{{zzyzyyyzz{zz{{z{y{zzyy{{z{zz|{{yzzyyyzyzy{{zz{zzzzzzzzyzz{zzz{z{yyzzzy{z{{zz{z{{zzyzzzzz{{zz{zzzyyzyzzyyyz{{{zzzzzz{zyzz{{zy{|{{yzyzzzzzzzzz{{{{zzzzzyzz{zz{{zzzy{yyz{zzz{{{zz{z{zz{yz{z{{{{{{z{zzz{{zz{|{{z{{{{yzyzz{zz{{|{{||{zz{{zz{|{{{z{z{{{{y{{zzz|{z|||{z{z{z{{{z{{{{{{{{zzz{zzzz{{{|||{z{{zz|z{z|{{{|||zz{{zz{{{{{{{{{{{{z|{{zzz}{z{|{||{{{z{z{|{{{{|{{{z{{{zzz{{zz{||{{zzz{{z|{{|{|{{|{zzzz{{z{{z{{{{{|{y|zz{z{zz{{z{{{zz{{yzz|z{{zzzzzzzyzzzyy{zzzzzz{zzzyzyzzzy{{{zzzzyzz{zz{z{zz{{zzzz{zzzzz{{{z{{{{zzyyzzyzyyzz{{{zzzzzzzyz{zyz{{{zzzyyzzyyzzzz{zzzzzzyzyxyyzzz{{zzzy{zyzzzzzzz{zzzyzzyyzy{y{z{z{zzzzzzzyy{{zzzzzz{yzzzzzzyz{zyz{zzzzyzzzyz{z{{{zzzyzyyzyyz{z{z{{{zzzzzzz{zzz{{z{zz{zzzyzzzzzz{{|{yzzyyzzyz{{{{{z{{yzz|y{zz{{{{zzzyzzz{{zz{|{{z{|{zz{{z{zyz{|{z{||z{{zzzz{{{{{{|{zz{zzzz{{||{{{{{{{zzz{zz{|{{{{{{zz{z{zzz{||{{{{{{{{z{zz{{{{{{{||{{z{z{{zz{|z{||||{{z{{{{z{{{{{||{|zz{{zzz{{{|||{{{{{zzzzz{{|{}{{{zzzz{{{z{{{{|{{{zy{{zz{zz{{zzz{{zz|z{yz{z||{zzzyz{zzzyzyyzzzzz{z{{zyzzzyzz{{{{{{zzzzzzzz{zz|z{z{{yzzzyyz{zz{zzz{{yzyyzzyzyzzzzzzzz{yzyyyzzzz{{{{{z{zzzyyzz{zzyzz{yyzyzzzyzy{z{{zzyzyzyzyz{zzy{{zzyzzzzyyzyzz{{{zzzyzyyzyz{zyz|zyyyzyyzy{zzzz{zzzyyzyyzyyz{{zzzz{zzzyzzzyzzzz{{||{zzzzyyzzzzz{z{{yz{zzyzzz{{{{{{{z{zzzyy{{z{{{z{{{zzzzy{{zzz{z|{z{zzz{{yyz{{z{z{zzyzzzzzz{{|{y{{{{zz{{zzz{{||{{{{z{y|z{{{{{{{{{z{{{z{{zyz{|{{|{{{{{z{{z{y||{z{||{{z|{z{z|{{z{{|{{{{z{z{zy{{{{z{{{{zz{zz{{|{{{z{z{|{{z{{zz{{{|z|{{{{zzz{z{{|{||{{|z{{zzzzzz{{{z{|{{zz{zzzz{|z|{|{|zz{{yz{z{{{{{z{{{y{zy{zyzz{{{{{z{{yyzzzzzz{z{{{{zyzyzyzzzz{{{z{{zyzzyyzz||zzzz{zzzzyzz{xzzzyzz{|yxyzyzzzyz{zz{|zzzzzyyyy{y{yzzzyzzzzxzzzz{z{zz{{zzyyyyzzz{{{{z{zzzzzzzyzzzz{{{{zzyyzyzyyy|{zzz{{|yzzyyyyyzzyzzzz{zyz{zzyyzz{{{zzzzzzyzzzz{zzzzzzzzyzzz{zzzzzzz{{z{zzyz{zzzz{{z|{zz{yzz{yzzz{{{z{z{yz{zyz{{yzz{|{zz{{z{yzzzz{zz|{{zzzzzz{z{{{{z{{yzz{{{zz{{{{{|}{z{zzzzzz|z{|{{||z{{z{zzz|{{{{{|{{{z|zz{z|{{{{z{{{z{{{|z{z{{{z||{{z{z{{{zz{{{{|{{{z{{{zzz|{|{{{|}{zzz{{{z{zz{|{||{{zz{{{{{{z{{|z|{{{yzzzz{{|{{{|{{{zzzz{zz{{z{|z{zz{yzzzz{{zzzzyzyy{zzyyy{{zzzzz{zzzz{{yzyy{zzz{{zzzzy{z{zzzzz{zyyyyzzyzy{y{{y{zzzzzzyzzyz{{zz{zzzzzzyzzyzz{zyzzzzzzx{yxyz{{yyyzyzzyyyzzyzzy|{zy{zyxzzyzzy{zyzzzyzzyzzyyzz{zz{z|zyzzyyzyzz{y|z{z{zyyyzzyyyz{yy{{{zzzzzyzyy{zz{zzzzyzzzzzz{{{|{{z{zyzz{zyzzzzzyzz{zzzzxxzz{{{{z||z{zzyy{zz{z{z{{{zz{zyzzzzzzz{{zzzzz{yzzzyzz{yz{{zzzzzy{zzzz{z{{{{zzzz{z{z{z{{z|z|z{z{{{{z{z{{{{{{{z{{zzzz{{{|{{{{zzzz{z{z{z{{|{{{yzzz{z{{z|{{||{{{z{zz{z{{||{z{{{{z{{zzz{z{|{z{z{{zz{zzyz{z{z{|{{{{{z{{{z{{{zz{{{{yzzzy{zz|{z{{{{{{zzzzz{z{z{zy{zyzzyyy{z{{zzz{{yyyyy{z{yyzz{yzy{z{zyyyxzzzz{{{zzzy{yyyyyzyzz{{zzzyyyyzyyzyzzz{{{zyyyyzyyyzy{z{{{zzyyyzyy{{zzzzzyzyyyyzyyzy{zy{zzyzxzyzyyzzz{zz{{xyzyzzyyzyz{zz{zyyzyzyy{zzzzz{zzzyzzzzyzyzyyzz{yzzzyyzyyyzzzzzy{yy{zzyyyyzz{zzz{zyyyzzyyzz{{z{{{{zzz{{zzzzy{z{{{zxzyyz{{{{z{{z{{zzzz{zzz{zz{zz|zzzzyzyzzzzz{{z{zyyzzzzzz{z{z{z|z{zzzzzzz{{z{{{{{yyz{zzzzz{|{{{z{{{z{z{{{zzzz{{{|zz{zzyzzz{z{|z|z{z{{zzzz{{{|{{|{{zy{y||{{{{{{z|{{zzzzz{z{||z{{{||z{{zzzz{{{{{z{{zzz{zzzz{{{{{|z{{zzzzzyz{z{{{{{|z{zzzy{zz{{{{z{{zzz|zyzzz{{{yz{zzyzy{zyz{zz{zzzzzyyzzy{yzz{z{{{{zzzzyyyz{y{{zz{|zyyx{zzzzyz{{{z{zyyyzyz{{y{yz{{{zyyyyzzyzzyz{{zz{yzyzyyyzz{zzzzzz{zzzyzzzyz{zzzzyzy{yzxyzzz{y{zzyzzyyxzzyzzyzz{zyzzyzzyzzzzy{z{zyzzyxzzyz|y{{yzzyyzzzxzy{zzyzzz{zzzyyzyyyzzzyzz{y{zy{zzyzzzzz|zzz{zzyyzz{zzyz{{{zzzzzz{y{{zzy{{{zyzzzzzzz{{zzz{z{z{zzzyz{{zz{{z{{zzyzzzz{zzz{{{{{z{{yzzy{{{zz{{{zzz{zz|{z{|{||{{z{{z{z{z{|zzz|{{zz{zzzyz{z{{{|{{{z{{zz{z||zzz{|zzzzzzzzzyz{{{{{{|zzzy|yz{|||{{|{zz|{yzzz{{{|{||z{{z{{z{z{z{{{{||{{zz{zy{|z{{|{y{{{{zyzzyz{{{z{|||zz{z{zzz{z{{zzzzzyyzyzyzzz{{zzzz{yzyzyy{zz{zz{{yzzyzyyzzyzzzz{{zyzzyyzyz{{zz{zzzyzyyyzyzz{{z{{zzzzxzyzyzyz{{z{{zzzzzyyzz{zzzzy{zzzzyyzyzzzyzz{yy{yyyyxzyzzzzz{yzzzyzzyzzzz{zzzzyyzzyyyyz{{z{{z{{y{yzxzyzzzzz{zzyyzy{yzzzz{{zz{{zy{yyxyzyzz{{zz{zzzzz{zz{{{y{zz{zzyyzzyzy{zz{z{yzy{zzy{zzzz{z{z{zzzzyzzzzz{z{zz{zzzyzzz{z{z{zz{zz{yzzzy{z{{{{{|z{zxz{zyzz{z{|{{zzyzz{zzz{{{{{{|zzzzz{zz{z{z|{{{|{zzz{zzz{|{{{{{{zzz{z{zz{|{{{{{zzzzz{{{zz{{{{||{{yz{z{zyz|z{z|{{{{{z{zz{zz|{{{{|{{{z{zz{{|z{z{{|z{zz{|zzzzz{{|{{z{z{{zzzz|{{{{{{{{zzzzzz{{{{{{zzzzzzyyzzzz|zz{{zzzzxyzyzz{{zzzzzzzyyyyyy{{zzz{zzzzzzyyyyzz{y{{zzzzzzyzxzzzzzz{zzzzzyyzyyzzzyzzzzyyzzyyyyyzzx{{zz{yyzzzyy{zzzz{z{yyyzyzzyzzzzz{{zyzzzyzzxz{z{zy{zyzzzyyyy{z{z{{z{yzzzyzyyz{yz{{{zzyyyyyzyyzzzzz{{zy{zyyzyz{zyz{z{zzzzyzzyzz{{zzzyzzzyzy{yzzzzz{zzzyzyzyyy{{z{zz{{zyz{zz{zzzzy{zzzzzzyyyzyzz|{zzzzzz{zzzzzzzzzz{{{{zzzz{{y{{z{{{{{{zzz{zz{{zz|{{{{{zzzz{{z{z{|{{||{zz{z{{zz{{{z{{{{z{zzzyz{|{z{|{{zzzy{{z{{{z{{{{}{zzz{z{{{{{z{{}|z{{z{z{{{zz{|{{{zzzy{z{{{{z|{|{|zzzz|{{z{{{{z{z|zz{{zzz{y{{{{{{{zzz{zzyz{{{{{{{zzyzzzyy{zzz{{{{{{zzzyyzyzz{zz|{zzzzz{yzz{{{zzzz{yy{yyzyyzz{zz{{zyzzzzzzyy{{zz{{z{zzyzyyy{{{{y{z{{yzzzz{yzzzzy|zz{yzyxyyyzyzzyzz{zzyzzyyzzzzz{z{zyzyyyyyzzz{zzz{zzzyz{yxzyyzzzzz{{yzzyzzyzz{zz{zz{zzzyyyzyzzz{zz{zzzzzz{zyzzzz{z{zzzzyzyy{{zz{z{{zyzzyzzz{zy{zzz{{zzzyyyyzzzzzzz{zy{zzzyzz{{{{z|{zzyz{zzyy|z{y{zzzzzyyyzz{zz{z{{{{zzzzzyyz{{z{{{{|z{zz{z{{{{{{z{{{z{{{y{{{{{|{{z{{zzzzyzz{{{{zz{{zz{{{zzy{{{{z|{{|{{{y{{{z{{{|{y|{yz{{zz{|||{z{|{zz{{{zz|z|{{{{||{zzzzzz{zz{|{|||{{zy{zz{{{{{|{{|zzz{z{z{z{z|zz||{yzzzzz{z{zzz{|{zz{yzzyzzy{z{{{zzzzzyyzzyz{{z{z{zzzyyyyy{zzz{{{|zzyzyzyz{z{{{{z|zzzz{zyzyyz{z{{{z{yzyyzyzz{yzzz{zzyyzzzzzzyzzz{yzzzxyzzzz{|zzzzzyzyxyzyzzzz{z{z{zzzyyyzzzzzy{zzzyyzyzxyzzzzzzzzzzzzxyzzyyy{zz{z{zz{zzyyxy{zzz{{zyyyyzyyzy{zz{{{{zzzyyzzxz{z{zz|{zzzz{y{yzzzzzz{{zzzzzzz{{{{yzzz{{yzzzyzz{z|zz{{zzyzzzz{y{|{{z{|zy{zxzzzzz{{{z||{{zz{z{zz{z{zzz{{{{zz{{{z{{z|{|{{zz{{z{{{{z{|z{{|{{{{{zzyz{{{z|{{zzzzzzyz{{{zzz{{zz{zyz{z{{||{|{{{z{zzz{{{{|{{|{|z{{{z{z{zz{{{|{{{{z{zzzzz|{{{|||zz{z{zz{{{{||{||{{zyzzzz{|zz{{||z{zz{zyzz{{||z|z{zz{zz{y{{z|{z{zyzyzzzyyz{{{zz{zzzzyyzzz{zyzz|{z{{zzyyxz{z{zzz{zzyyzyzzzz{zz{z{{zyyyyzzzzy{z{zz{zyyzzzzzzyyyz|{yzz{zzzzzzy|zzzzyyyyzzyzy{zy{zyz{yzyzyyzzzzz{zyzzzyzzyyyz{z{zzz{z{zyzzzzzz{z{zz|zzyzzzzzzy{z{zz{z{zyyzzxzz{{zz{z{{yzzzy{yzzy{zz{{|yzzy{{{zzzzzzz{z{zzzyzyz{{zz{{{zz{zzyyz{{{z{{{zz{zzzz{z{{yz{{{{{{{zzyzzzz{{{{|z{yyzzz{z{|{z|{zzz{zz{zzz{{{{{{{z{y|zz{z{z|z|z|{{{y{zzzzy{|{{z{{{zz{y{z{z|{{{||{z{z{{{|{z|{||z{{{zz{zz{z{{{|{{|{{|{|{zz{{{{||{||||yzzz{{z{z{|{{{|{{zz|{z{{{||{{|{z{{z{{{zzz{|{{||zzz{z{z{z{z|{z{z{yz{zzzz{z{z{z{zzzzzzzzzz{z{{{z{zz{yzzzy{{zy|zz{zzzy{yzzzyzz{{z{zz{zzzyyz{{zzz|z{yyyz{yzz{z{zzz{z{{yzzyy{|{z{zzyzzzyzzzyz{{{z{{{zzyyyzzzzzzz{z{{zyz{zzzy{yzzz{{zzz{zzzxz{{z{{z{zzzzzzyyzyzz{zz{{zzzzzyzy{{{{zzz{yyz{yzzzy{z{z{|{z{{zyz{zz{{{{{{{{zy{zzzz{{|zy{{|zzz{zzzz|{z{{{z{zzzzyzz{z{{{z{z{{zz{{zzzzz{|{|z{zy{zzzzyz{{{z{{zzz{{y{zz{zzz{{{zzzzzzzzz{|{{{|{|z{{z{{{z{{|{|{{|z{zzz{zz{||z{|{|{z{{{{{{{|||{{{{{{|{{{{{||{{|{|||z{z{|{{{|z{{|||zz{{yzz{{{{{{{{||z{z{zzzz{{{z{{{z{z{{{{z{{{{{{{|z{zzzzz{{{z{z|||{{{zzyzy{|{|{{|{zz{zzzzzz{{zzzzz{yyzzyzxzz{z{zzzzzyxzyzyz{zzzzy{{{zyyyyx{{{z{z{{zyyzzzzzyzz{yz{{{{zyz{yx{z{zz{{zzyzyzy{yy{zz{zzyzzyzzyyzzyz|zyzzyzyxxyyzzyzzz{{{yyyyyzzzzzzzz{z{zyzyxy{yzyz{{zzzyz{zy{zyzyzzzzz{zyyyzyyyzzzz{zzzzyyz{yzzzzzzyzzzzzzyyzzzz{{{|z{{{zyzzxyy{{z{zz{z{yzzxyzzz{z{z{{{zz{zyzyy{{{{zz{{zz{yyyyy{{z{{{{{{z{zzzzzzz{{z{|zz{zyyyyy{}{{zz{zzzzyzz{z{|z{z{{{zz{zz{z{{{{{{{{z{yz{z{yzzz{{||{{{zzz{z{zz{{|z{z{z{z{z{|z{{y|{{|{|{yy{{z|z{{{z|||z{{{zzz{z{{{{z{{zzzyzzz{{{{z{{{|{zzz{zz{{{{{{{{{|zzyzzzzz{zzz{{{{{{z{{{y{z{|zz{{z{zzzy{zzz{{|{yzzyxyzyyyzzyy{zzzzyzyzyzz{zy{zz{zyyyyzzyyyzzz{{{{{zzyyzzzzyzzy{{zzzyzxyzy{z{yzzzyzzyyzzzxzzzyzzzzzzyzyzyyxz{{z{z{{zyyyyyyzzzz{zzzzyyyyyzyzzyzz{{zzzzzzzyzzzzzzzzzyz{yzzyxzz{zzz{zzyyxzyz{y{{{zz{zzyzyyyyzz{z{y{zyyzyx{zzyzzz{z{{{zzzyzzzz{|z{zz{{zyzzzyzyzz{z{{z{zyz{yzzzz{zz{{zzzzzzyzzzz{{zz{z{zzzz{{{z{{{z{z|{{zzzzyyz{{{z{|{{zzzzz{z{{z{{{{|{zzz{zz{y{{{{{|{|{zzzz{y{z{z{{|{|{zz{zz{zzz{z{{|z{z{zz{{{{{zz{|||{z{{z|{zz{{z{}||{zz{{zzy{z|{z|{{{z{yzyzzz{{{{z|{{{z{{{zzz|z{|{|{yzzzyzzz{{z{{z|zzzzy{zzzz{zzzz|{z{zyzyzyy{{z{zzzyyzyzyyyy{zzy{zzzzyzzzyyzzzz{zz{yzzyzyyy{zy{z{z|zyzyzxyzzzz{{zz{zyzzyzyz{z{zzz{zyy{zyyzyzzz{z{{zzyzzzyyyz{{yzy{zzzyzxy{yyzzzzzzzyyyzzzyyz{z{{yz{yzyzyyyzyzzyzz{zzyzyzzyxy{{{z{{{zzzzzzzyzzzzzzzzyzzyy{yxyyz{{z{{zyzzzyzzzz{{zzz{{y{zz{yyzzz{y{z{zzzzzzz{{z{{{{zzzzzzyzzzzzzzyyz{zzzzzzzzyzz{z{{z{yy{zzzz{{zz{{{{z{yz{yz{|{{{z{{{{zzzzzzzz{{{|{{|zz{{{z{z||z{{||{zzy{zz{z|{|z|{|{{zzzzz{{{|{{{{}{zz{{z{y{{{{{|{{{{zzzz{{{{{|{{{{{{z{{{{{y{{{|{{{{{z{{zzz{{{|{{z{zzzzz{{z{{{{|{{||{{{yzzz{zz{{{{{{|zz{zzzy{{{{{z{{{zzzzyy{zz{yz{{|yxzzzyyyz{zz{zzzzzyzyyyyz{z{z{{{{yzyyzzyzzz{{z{zyzzyzzzzyy{zz{{zzzyyyxyxzyzzz{zzzyyyyyzyyzzyzzzz{yyyyyyy{zyyy{zzzyzyzyyzzzzzz{{zzzyyzyzyzzzz{zzzyyzyyzzy{zz{z{zzyyyzzyy{zzyzyy|{zzz{yyzyyyzzz{y{zzzzyyzxyzzzzzz{yyzzyzzyzzy{{{{zyyzzzzyy{{zzz{{{{zzzyzzz{{z{zz|{{yzyz{yzzzzz{z{{zzzzzyyyz{zz{{{zzzyy{zzy{z{{{{{z{zzzzzyz{{|zzz{z{zz{{{zz{{{{{z{zyz{zzz{z{zz{{{{zzzz{z{zzzz{|zz|{{yz{zz{{z||z{{{|zyyzz{zzz{{{{{{{z{zzyzz{z|{|||{{z{zzz{{z{{{|{{z|{zz{zzzzz{z{||{{{zzz{|z{{{|z{{|{{zzzz{zz{zzz{z{{zzyzzz{yz{{{{z{zzyyzzz{zz{{z{zzzyzyyzzzyyz{{y{z{yzyzzyyyzz{yzzzzzzzyzyyyzzzz{{{{zzzy{yyyzzzzzz{{zzyyyzzyyyz{z{zzyyyxzzzzzzzzzz{yyzyyzzzyzzzzzzzzzxzyyyyyyzzz{z{zyyyyyzzyzz{z{{zzzzyyxyzzzyzz{zz{zyzzxyyzyzzzzzzzzyzyzyyzz{zzyzz{yzzyz{yyy{{{z{yyyyzzzzyyy{z{zzz{zyzyzzzyyzzz{{{zzzzzyyyzyz{{z{z{{zzzzzyzzz{{z{z{zyy{zyzyz{zyz{{{{{{yyzzy{{{zzz|{zyy{zzzzzz{{{|{zzzzzzzzz{{z{{{{z{zzzzyz{{zy{{{{{zzzzzyz{z|zz|{z{z{zzzz{z{|zz{{{{zzy{zz{{zzz|{||{{zzzzz{zz{{{{{{{{z{{zz{{{z{{{{z{zy{{{zz{z{zz{{{zzzz{{zzz|{{{{{|zyyzyzyzyz{{{{z{{{zzzzz{z{{z{{zz{|z{yyzzz{zzzzzz{zzzzyzzzzzzzzzzzyzzyyzzyyz{{zzzzzzzyzzzyzyzxzzzzzzyyyzzzzzzzzz{zzzzyyyzx{zz{zzz{yzzzzz{zzyzzzzzzzyzzzyzyzz{yy{yzyyzyyzy{yzzzz{z{zzyzzzyzzzzzzzzzzzyzyyzzzzzzyz{zzzzyyyyyz{{{zz{zyyzyzzzyz{{yzyzzzzyzxyyyzzzzyz{{zyyzyyzyzzz{{{z{zzzz{yzz{z{z{z{zzy{zzzzzzzzz{z|{zyzyyzyyz{{{z{{{{{{z{zzzzz|zzz{zzyz{zzzzy{{z{{zyz{zzzyz{{z{z{|zzzzzzz{zz{z|z{z{zz{{zzz{z{{{{{|{|zzy{{zzz{{z{{{{{{zz{{zzy{{z|{|{{zz{zzzzzy{yz|z|{{zzyzz{{z{z|z{{{z{zzyzz{{z{z{{|{zz{zz{zz{{{{{{|||zz{zzz{{{{{{{{z{zzzzzzz{|{{z{{{{{{zzyzzz{{|zzz{zyzyyzzzz{{zy{z{yyyzyyzzy{zyz{zzzyzyzyzyzzyyz{{{z{zyzy{xzy{zzzz{zzzzzyyzzzzyyz{{yzyyyyzyzzzzzzzzyyyyyyyyzz{zz{z{zxyyyyyzzy{{z{zzyyyzyyyzzyz{y{z{yzzyzyzzz{z{{z{{yzzxzzyyzzzzz{{zzzzyzyyz{zzzzz{zzyz{yzyy{z{yzz{{zz{yxyyyy{y{{{z{zy{yzy{y{zzzzy{{zz{zzyzzz{zz{{z{z{zzzyzz{z{{z{{zyy{zzzyz{z{{{z{z{yzzzyyyzz{{z{{yzyzzyzyyz{{z|{{{{zz{{zzz{{{z{z{{{zzz{zz{{{{z{{|{zz{z{zyzz|{{{{{{{{z{zzzzzz{y{z{{zzzzz{zz|{z{{|{{{z{z{zzz{{{z{{{|{{{{{z{{{{{{{{{z{y{{{z{z{{z|{z{z|zzz{z{{{{{{{{|{{{zz{zz{}{{{z{{{{{zyzz{{{z|{{zzzz{{yzzyzzy{z{{{{{zzzzzyyyzy|yz{{yzzzzzyxz{zz{{zzzzyzzyzy{{{z{{z|zzzyzyzz{yz{zz{zzzzyyyzyzz{{zzy{zzzzyyzyz{zz{{{z{zzzzzzzz{zzz{zzzzzzzzzz{zzzzzzyzyzyyyyyzz{zz{{zzyyzyyzzzzzyyzzzzzzzyzyzzz{{{z{zyz{zy{zz{zzz{zzzzzyy{yzyzzz{{{zzzzyzyyzzzz{zzz{{zzz{zzzyzzz{zz{{{zyzzyz{z{{z{{z{zy{zzzzy{{z{{{{{zzzzzzyz{{zzz{{{zz{zzzzyx|{{z{{{zyzy{{zz{{{zz{{{{zz{{zzzzz{zz{z|z{{z{zzz{{{{{|{{zzzzz{zz{{{|{{|{{zzz{zyz{{{|{{{{|zzz{{{z|{{{{{{{{{zz{{|zz{|{{z||{z{zz{z{z{{z|||{|{{{zzzz||{{{|{z{zzzzzzz{{z|{{{|{zz{{{z{||{{|{|{zzzzzzz{zz{{z{zz{z{|{zzy{{z{{{|{{z{z{z{zzz|z{|yzzzyzzyzzzz{zz{z{{zzzzyyyz{{zz{{|zy{zzzzzzzz{{z{y{yyzzzxyz{z{yz{zzzz{yzzyz{zzzzz{yzzzzzzyyzyzz{|{{zzyzyzyzzzzzzyyz{zzyyyyzzz{{zzzyy{zyzyzz{z{{z|zzzyyyyzyz|zz{{{zzzyyzyyyzzyzzz{{{yzyzzyzzzz{z{{{zzzzyzzyzzz{z{{{zyyyy{zyz{zz{z|{z{zzzyzz{{zzz{zz{yzzzzyz{zz{{z{z{yzzyz{zz{|z{{{{zzzz{{{yy{z{z{{z{zzzzyzz{z{z{z{z{{z{zzzy{z{{z|{{{zzz{{zz{{{|{{|zz{{zzzz{{{z|z{{{{z{{zzzz{{{{{{||zz{{{z{z{{|z{{||{{zz{{z{{z{{{z|{zzz{zz{{{|{|{|{{{{z{|{z{z{|{z{{{{zzz{{zz{z{|{}|{zzzz{{zz{{{||{{{{{zzz{zzz{z{|{{z{zyzyzzz{{{{z{{z{zzz{y{z{zzzzz{zzyyzzyzyz{{zyzzzzyzzzzzyzyzzzz{{zzyzyz{zzzyzzzyzzz{yzyyzyy{{zzz{zzzyxzyyyzzz{{z{yyyyxzyzzzz{y{{{zzzyyyzyyz|zzzz{zyzzzzzzy{zzz|zzzzyzyyyyy{z{zzzzzyyzyzyyxz{zz{{y{zzzyz{xyz{zzz{{zyzyzyzxzz{zzzzzzzzyyyyyyzyzz{zy{yzzz{zzzzyz{{|{zyyz{yzzz{yzzzz{zz{zzz{zzzzyzz{{zzzzzzzyz{zzzz{{zzzy{zyzzz{{z{z{zzzyzzzyz{|zz|z{yyz{zyzz{zzz{z{{{z{z{z{{{{{z{||zzzzz{zzz|{z{{{|{zzz{z{yz{zzz|{{{{{zz{z{zz{{|{{{|zzz{zz{|z{{|{{{{{zzzz{{{{|{{|{{{zzzzy{{z{|z{{{z|{zzzzyz{z|z{|z{||{z|{{yzz{z{{{||{zzzzzy{z{{{z|{{{zzzyz{z{{{|{z{z{{z{zyz{{zzzy{{yzzyzzzyyz{zzzzzzyyyzzzxzz{z{y{{{yzzyzzzyz{{z{{zzzzzzzyyzzz||zzz{zyzyyyzyz{yz{zy|{zzzyzzzyzyzy{zzy{{zzzzzy{|yzz{y{yzyyyyyzyyzzz{zyyyzyyzzzzz{zz{z{zzzyzyyzyzzzzzzzzzzzyyyzz{z{{{{zzzzzyzyzz{zzzzzzzyzzyzzz{zzz{{{zyyzz{yyzzzz{z{{zzyy{zyzz{z{zzz{zzzyzzzz{zz{z{{|zzzzzzyzzz{{{zzzzzzzzyzyzz{zz|z{zzzzzyzz{zzz{{|{{z{{{zzz{{{{{{zz{yz{z{zz{{z}{{{|zzzzz{zz{z{{{{|{{{{|zzzz{|{{{{|||zy{{{zzz{{{|{{{z{{{z{{z{|z{{zz{{zzzz{{zz{|{{z{{{zz{yzz{{zz{{|{|{zz{{z{{zz{{z{{{{{z|{{y{{{z|{{{|{zzzz{{z{{{|{{|{z{zzzzzzz{{{{{{zz{zzzyz{z{z{{z{zyzzzyyzyyzzz{yz{zzzzyzzzzz{zzzzzzyzyzzzyzzz{{{{{zyzzzyzzzyzzzzzzzyzxzzyzzz{{zzz{zzzzy{zzz{z{zz{z{zyzyzzy{z{zzzz{yzzyzzyzzz{zz{z{yyyyyzxyzz{zyz{z{zzyyyyy{zz{{zz{{y{yyyyzzz{zzzz{{yyz{y{z{zz{z{zzzyyzyzzyyzyzzz{{zzzzzzzz{zzz{z|zzzzzzyzz{{zzz{z{zz{yzyyyz{zzz{z{yzzzz{zz{{zzzz{{{{{zzyzzz{{zzzz{zzzyyzzz{{|{{{|{zzz{zzyzz{|{{z{y{{zz{{{zz|zz{{z|{z{zz{{z{{{{{z{{{{zz{zzz|{{{zz|z{zzzz{z{{{{{{{{{z{{{y{{{z{{z{z{z|y{zzz{{{|{|{{|{{z{z{{z{z{|{z{|{{zzz{zz{z{{z{{||z{zzz{z{zz{{{{{{zz{zz{zz{{z||{{{z{zz{z{zz|{zz{{{{y{zzzzz{{{z{zyzxyzzzzyzyz{zzyzz{{{yzyxzz{zz{{{{zzzzzyxzzzyyz{zzzzzyzzyzz{{zzzz{y{zyyyyzzzzzz{z{{yyzzzzy{zyzyzz{{yyzzyyzzyzzzzzzyyyyzyxyzz{{{zz{yyyxyyxzzz{yyzzyzyzzzzyyz{zz{zyzzyzyyzzyz{zyz{|{zzzzyzyyxzz{zzzzzyyzyyzyzzzzz|{zyzzzyy{yzzzzz{{zzy{yzzzzy{{{z{{zzzyzyzyzzyzz{{{{zz{z{yzzz{z{{zz{{z{{yz{yzz{z{{z{zzzzzzzy{z{zzz{{{zzzzzyz{{{z{||zz{yz{zy{{{|zz|z{{z{zy{{{{{zz||{{{z{zzzz{{zz{|{z{{yyzzzzz||{z{{{{{{{z{yzzz|{{{{{{z{{zzzzz{|{|{{{{{zzzz{zy{{{|{{{{{yz{{zz{{{{z{}{|{zz{{{zy{{{|{z{|{z{zzz{z{z{{{{{z{{zzzz{y{zz{{{zzzy{zzzz{z{{zzzzzzyzyzy{{z{|{zz{yzzzzyzzz{zzzzzzzzzzyz{zzzz{zz{z{zz{zzzzyzzzzz{{yzz{yzz{yzzzzyzz{yyzyzzzyzzy{{{zz{zzyyyxz{zzzyzzzz{yyyzzyyzzzyz{zzyyyzzyyz{zz{yz{z{zzyzzz{zzzz{{{yy{yyyyyzz{z{{{{zzz{xyyyzzzzzzyzzzzzzyyyyzzzzzy{zzzyyzzzzz{zzzyz{yyyzzzz{zz{zzz|{zzyzzzz{{zz{{{{zyzzzzzzz{{zzzzzzzz{{zzzy{zyz{|{zzzyzzyzzz{zzz|{zzz{{{yz{{{z{{z{zzzzzzyzz{{|{{{{zzzzz|{y|{z|z|{zz{zzyyzzz{|{{{z{{y{z{z{{{{{{{{{|{{zyz{z{{{z{{|{{{z{zz{{{{{{{{{|z|y{z{zz{{{{{{z|z{yz{zyzz{{{{{|{{{zzzzzz{z{{{{{{|z{{zzzz{{{{{{{|{{zy{z{zz{zz{{{{zzzzz{yzzzz{zyzzzyzzzyyzzz{z{yzz{{zzzzzyyy{z{zz{{zyzyzyyzz{zzyz|z{zyzyzyyzz{{zzz{zzzyyyyyz{z{{yzzzzyzyy{yyzzzyz{{zzzzzzxzzz{yzzzzyzyyzzzy{zyzyzy{zyzzzxyzzzz{{z{zzyyzzzxzzzzyzzz{zzzyzyzz{zzyzz{zzzyzzyzyyzzzzyz{zzyyzyzzyy{z{{{zzyyzzyzy{{zz{zz{yzzzzyyxz{z{y{{{{zz{zyzyz{{{z|z|zzyyyzzzz{{{zzz{{yzzzyzyzz{z{|{zzyzyzzzyzz{{z{z|zyyzzy{{{{{z{|z{z{zyzz{{zz{{z{{zyzzzzz{zz|{|{{|{zzzzzy{z{{zz{{{z{zzyz{zz|z{z{z{{{{{yz{{zz{z{{|{z|zz{zzz{{|z{|{{{|z{|zzz{{{{{{{{{z{z{z{{z{zzz{{{||{{{zz{{z|y{{z{{{{yzz{zz{{{{{{|z{zzyzzz{zz{{{z{{zz{y{yzy{z{zzyy{yyyyzyyxzz{zzyz{zzzyyzyzyyzyzz{zyzzyzyyyzzyzz{{zyzyyyyzyyy{zzzzzzxzyyyyyzzzzzz{zzyzzyzzyz{{yzzzzyyzzzyyzyzzyzzzyyzyyyyyzyzzyyzz{yzyyyy{zzzyy{{zyzyzyzzzzzzzz{{zyzzzxyyyyy{zzz{{zyyzzyyyzyzyzz{zzzzyzyyzxyzzzz{zzzyzyyzyzz{{z{yz{zzyyyyz{zzz{z{zzzyzzzzzzyzz{|z{{{{yy{zzzzzzzy{zzz{{zyxzyzzz{{{{{zzzyzz{yzz{{z{z{zzzzzzzz{{zzz{z{{zzzz{zzzzz{z{{{z{yzzzzz{{{{{{{{zzzz{zz{z{{z{{|{zzzzzzyz{{{z{{|{{{zzyzzz{z{{z|{{z{zz{zzzz{{{|z{z{{{zzz{{{{{{z{{{{zyzzzy{{zyz{z||zz{y{yz{z{yzz{z{{y{zy{zz{{{{z{|{zzxzzz{zz|{{zz{zzzyzz{zy{z{{{zzzzyyzzwyyy{zyzy{zyyzyxyyzzzzz{zzz{zyyyzzz{{zz{{{zzyyzzzyzyy{yyz{{zzzyzyzzzzzzzzzzzyzyzyyyzzzzzz{yzyzzzzzy{{{zz{zzzyxzyyzzzzz{zzzzyyzyyyyyyzzz{z{zyzzyyzxyzzzzz{{zzzzzzyxzy{zzyz{{yzx{zxyyyzzzz{zzzzzzzyzzz{yyyz{zzzzyz{zzz{zz{zz{zyy{zyyzzzzzy{zzzzzyyyyzzzz{{{{zzyzzzyzz{{{z{{{{zzyzyz{yz{zzz|{zzz{zzyyz{{z{{z{{z{z{zzzy{{{zz{{z{zzzz{yz{z{{{|{{y{zzz{z{|{z|z{z{{zzzzzyz{{{|{{{|zz{z{zzz{{z{{{{{zz{{y{{{{{z{zz{{|yzzz{{z{|{{{{{|zz{zzzyz{{{{{{|{zzy{zzz{{{{{{{{z{zzzzzzy{{z|{{{{zzz{yz{{{{{{z|z{|{yzzzzz{{z{zz{{zzzzyzzyzz{zzz{zyzyyxyxyy{{{z{{{zzyzxyzyzyzz{{{{zzzzzzyxzzzzz{{{{yyzyyyyz{zzyz{zzzzyyyyyzz{zy{z{zyzyyyyyz{zzzzzzyzzzyyyyzy{{yz{zzyyzzzyzz{z{zzyzyyyzyyyyz{{{zz{zzyyzzyzzz{{zzzzzzyz{y{zxzz{zy{zzzyyzzyyyyzzzzzz{yyzxzyzyz{{zz{{z{zzzzzyzzz{zz{zzzzyyzyzyz{zz{{{{zzzzzzyz{zzzz{{{yyzzzyyy{{{{{{{{zzzzzzyzz{z{z{{{zyzzzyzzz{{{zz{yzzzzzzyzzz{z{{{zzzz{{{yz{zz|{{{{z{zzy{{z{zz{{{{{{zyzyz{z{{{{{{{|zzz{zy{z{{|{|{z{{z{z|zz{{{{z{{|{zz{{z|z{z|{||{{{{z{z{{zz{{{|{{{z|yzzz{{||{{{z{{|{zzz{{z{{{{{{{{{z{zz{yyz{{{z{{{{{zzz{zzz{zz{y{|z{zz{z{yz{{{zz{z{zyzyzzyyzzzzzyzzzzyyxyxz{zy{{{z{zzzyzzyzzzz{z{{zzzzzzyzyyzz{zzz{zzzzyyzz{z{zzzzzyyzzyyyyz{y{z{zyyz{yyzzy{yz{yzzz{yyyzyyyzzzzzzyzyyyyyyyyz{z{{yzzzyzzyyxzzz{zz{{{zzzzzyzzzz{{{{{{zyyyzyzyyzzy{zzzz{zzzyyxyzz{z{z{zzzzy{yy{z{z{zzyzzzyyy{z{z{{zzz{yzzyyzz{{z{z{{{{yzzyzzzzzz{{zz{zz{zz{zzzz{{{{{z{yy{zzyzy{{|zz{|z{zzzzyz{{{z{zz{zyyzz{zzz{{zz{{{|{z{{z{{z{z{|z{z{zyzy{zzy|{{{{{{{{yzz{yzz|{{z{|||zz{zy{{zz{{{{{{{{z{zzzz{z{{{{{{{zzzzzz{{{{{{{{z{z{zzzzz{z{{{{{{{{{{{z{{z|{|{{{z|zzyzz{zz{{{{{{{{{zyzzzzzz|{{zz{{zz{zzzzy{zz{{{y{yzzzzzyyzzzzzz|zzyyzyyyyz{z{z{z{{zyzzzyy{zzz{z{zzyyzyzzz{z{zyz{{zzzyzy{y{zz{z{zzzyzyxzyyzzzyz{{zzzzzzzy{{zzzz{{zzzyzzzyyzzzz{zzzzyyzyzyyyzzzzzzzzzyzyzy{z{zzzz{zyzzzzzzzzz{zzz{z{zzyzyzzy{z{y{zz{zzzyzyyzzzzz{z{zzzy{zzyyy{{yzz{{zzz{yzzz{{{zzz{zzzzzzzzz{zzz{{{y{zzzz{{{{{z{z{{{zzzyzyz{{zz{{{zzyzzzzzzz{{{{{|{{zz{zzzz{zz{zz|{zz{z{{z{z{|{z{z{zzz{|z{z{{z{z|{{{{{{zzzz{z{|{{|z{z{y{z{z{{z{{{{z{zzz{zzz{z{{z{{|{{z{z|z{{|{{{z{||zz{zzz{|{||{{|z{zy{{zy{{{{z|{{|{{{{{{y{z|z{|{{{{zzz{z{zz{{{z{|{{zzzzz{zz{||{z{{yz|z{zz{yz{z{zy{zyyxyyyyzz{zz{z{{zyzyxzyzyzzzzz{zzzzzyyyzzzzzz{{zzzyyyyzzz{{zzzz{yyyyzzy{yzyzzzzzyzzyyz{yzzz{{zzz{yzyzyyzzzzzzzyyzzzyyyyzzxzzzz{zyyyyzyyzyzzy{{yzzzzzzzzzyzyzzzzyzzzyyyzyzzzz{{{{xzyyyzxz{zyzzz{yzzyyyzyyzzyz{{{zyzzyzzz{zz{zzzzzzyyyyyz{zzzyzz{{zzyzzzz{zz{zzz{zzzzyzzyyyzyzzz{{zzy{zzyz{z{{{z{zyzzyyyzzzzz{z{zzzyzzzz{{{{z{z}{z{zz{z{{z|zz{|{{zzzy{yz{|{{{{z{{{zzzzzzyz{z{{{{{{zyzzzzz||{{{{|{zz{zzz{zy{{{{{{{{zzzz{zzz{|{{z{||{{zzzyz{{zz{{{z|z{{zzz{{{z{{z{{|{{yzzzzzz{{{{{|{{{zzzzz{{zyz{{{{zzzz{zz{|{zz{{{zz{zyy{yz{{zyz{{zyz{yzyzzzzzzzzzzzzyzxyyzy{z{{{{zzyyyzyyzyzz{{{zzzyyzyzyzzyzyz{zzyzyyyyxzzzzz{{{yzyyyyzyyzyz{{zzzzzyyyyzyz{yy{zzzzyyzyyyzyyyyzzzyzyyzzzyzyz{yzz{yyzyxyyzzz{yzy{zzzzzzyyyzzyzzz{{zzzz{yyyzzyyyzyzyzzyyyyzyzzzz{yzyzyyzyzyzzzz{z{{zyyzzyzyy{{zzzyzzyzyzyzzz{{zzyzzzyzzyzzzz{{z{{z{zyyzzyyyz{zyz{{{zyzzyzyzz{{zyz{{zyyyzzzz{{{{z{z{zzz{yyzyzzz{{{{{y{zzz{{z{{zz{{{{y{{zyzyz|{{{{{{{{yzz{y{{{{{|{{|{zzzzzz{{{{{{{{z{zzzzz{zz{|z{{{{z{zzzzzy{{{{z{{{{{z{yyzzz{|z{{|{|z{zz{zzy{{zz|{{{zzyyzzzyz{z{{{|{{z{zyzzzz{{zzz{zzz{zyzzy{zz{zzyzzyzyzzzyy{zy{zzzzzyzzzzxzyzzzy{{zyzyzyyyyzzyzz{zzzzyyyzy{yzzzzzzyyzzyxyy{z{zzzz{yzzyyyzzzzyzyzyzzyyzzyxyzz{zyzzy{zyyyzxyyyzzzzzzyxzyyxyyyzzzyzyyzyzyyzyzzz{y{{zyyy{xyyyzzyy{zz{zzyyyyyyyzyzyzzzyzzyxzzyyzy{yy{z{yyyyzyzyzz{zyz{{zyyzyz{yyzy{{zxzzyzyyyyzz{{y{{{yzzzyxyyyzz{zzzzzzyzz{yyz{z{{{z{zzyzyy{zzzz{zy{{{zzyzzyzzzzzzz{zzzzzzzzzyz{{{{z{{y{yz{zzzzzz|{{{{zzzzzzzz{{{{zz{{{zzzzyzz{{{zz{{{zz{zzz{{z{zzzz{{zy{zy{zzz{{{z{{|{zzz{zz{{{z{z{{{{zz{zzzz{{z{{{{{z|z{zzz{{|z|z{{|zy{zy{yzz{z{{z{{{yyyyzyzz{{{{z|{zxyzzyyyzzzz{z{yyyzzzzyyyzzyyzz{zzyxyxyz{zzzyzzzyzzyyyzzzyz{z{{{yzyyyyzzzzzzyz{zzyyyyzyyzzz{yz{{yzyzzz{yz{zzzzz{zyyyzzyyzzzzyzzzyzyzyyzzyzzzzzz{yyzyzyzyzz{y{{zy{yzyyyyzzz{z{{zzzzzyyzzzzzz{{z{yzzzzzyzyzzzyz{{zyzzzzyzyyzzzz{{{zzz{yzyzz{{zzzzzzzyyzyzyzzzzyz{{yzzzzzyyzzzzz{{{zyzzyzzyzzzzzy{zyzzzzyyzzzzz{zz{zzz{yzzyzz{{zz{{zyyz{y{z{z{{z{z{zy{y{{zz{{{zzz{zz|zzzz{{z{z{{{{{{yzyzyyz{{{{{{z{zz{zzzzz{|{{{|{|{z{yz{{zz{{z{zz{{zzzz{z{z{{|{{{|{z{z{yy{{{z{z{{{zzzzzz{{z{z{zz{{zzzz{zzz{{{{{{{{{z{zzzzzz{zzz{y{{{z{{{yz{{{|zy{z{yzzyzyzzz{{zyzyyyyyzzzyzzzzzzzzzzxyyxyyzzzzzyyyzyyzzyyyyzz{z|{{zz{yzyyzyzz{zzzzyzzxxzzyzyzzzzy{yxz{yyyzyyzzzz{{yzzyyyyxzz{zz{zzyzzzy{yzyyyzyyzzzyyxyyyyzyzzzzzzyyzyzyyyz{zzzzyzyz{zyyyyzz{z{z{{yyyyzyxyyyyzzz{zyzzzyzyyzzzzz{zzzyzyzzyyyz{zy{{zzzzzzyyzzzzzzzzzyzyzyyzyyzy{zzz{zzzzzzzzzzzzzzz{zyzxzzyyzzzz{zzzzyyyzyyzyz{z{{{{zzyzzzyz{z{zzzzzzzyyzzzz{{z{{{z{yyzzzzyz{{{{|{z{{{zzzyzz{z{{zzy{zyzz{yzz{{|z{{{zxyzzzz{{{{{z{z{|{zzyzzyz{|{{{z{{zzyzzz{zzz{{{{{{zzzzzyz{|{|{{{{{|z{{zzzz{z{{zz{{z{zyzzzz{z{{{z{z{zzzyy{zz{z{z{{zyzzyzzy{{yzzzzzzy{yyyxyyzz{zzyzzzyyzyyxyz{zz{zz{{yzyyzyzxzzz{zzzzzyzzyy{zy{zy{{zzyzyzxxxzzzzzzzzyyyyyyzyzzzzzz{zzzyyzzzyzyzzzzzzyyzyyxyyyzzzy{{zyyzzxyxyyy{zzz{yzyyyyyyzzyz{{zzzyzyyyyyyzz{z{{zzyyyzyyzyzyyzz{z{{yyzyyzyzzyzz{zzyyzyyyzzzz{zyzz{{zzyzzyyz{{{zzzzzzzyyyzzzzzzzz{zyzzzzyzyzzzzyz{{zzzzyyzzzzz{z{yzzyzzzzzxzzzz{{{{{zzyzyy{{{y{z{zzzy{zyyyzz{{{{{{{yzzzzz{{{{zz{{z{{zzzzyzz{z{{zz{z{yzyzz{y{|{z{{|{zy{y{z{{zz{{{{{{{zyzzyzzz{{z{z{{{z{zyyzy{{{z{z{z{{{zzzzz{z{{{{{{{zy|z{zzz{{{{|{zzzzzzzzy{zz{{z|{zzz{zzzz{{z{zz{zzzzzyyyy{zz{{{{yzzyzyzyyzzzzzz{zyzyzyyxxzz{zzz{zyzyyyzyz{zzzy{zzzyyzyyyyzzz{zy{{{yzyyyzyzzzz{zzzyzzxzz{yz{zzy{zzzzzzyyyzzzzz{z{{zyyzzzzzyzzzyz|{zzzzyyyyzyzyz|{zxzxyyyyyzzyz{{{zzyzyzzxyzzzzz{{zyyyzzzzyzzzxzzy{zzyyyyyzzz{zz|zzzzzyzzyyyz{y{z{zzyzy{zzyzzzz{zz{{zzzyyyy{{zzzz{{zyzzyzzzzz{zzzzz{zz{zyyy{zz{zz{zyyzyyzzyz{z{zz|{z{{{zzzz{z{z{{{{{z{zy{zy{{z{{{z{z{zzzzzz|zz{{|z{{yzzz{yz{{{{{z|y{yz{{z{z|{{z{{{{zy{{{zzzz{{{{{{{{y{{zz{zz{{|{{{{|zzyz{z{{{{{{{z|{yzyzzzzzz|{||{{z{z{z{zz{|y{z{{{z{zzz{zzz{z{z{{zz{{zzz{zy{zz{{|{{z{zyyzy{zzzzzyzyzyyzzzxy{{zzzzyzyzyzzyyz{z{z{{{zzyyyyz{yzz{z{{{zyzzzzzxy{{zyz{zzzyzzzyzz{zzyzz{zzzyyyyyy{zzzzzzzyzyyzzz{zz{y{zzzyyzyyyyzzyzzz{zzyyyyyyyz{zz{{zzzzyzyyzyz{z{{z{zyyyyzyzyzzzyz{{yzxzyyyzyyzzzyzz|zzzzzyyzzzy{z{{{zyzzzzzzzzzzzz{{zzzyzyzy{z{z{zzzzyzzxyzz{zz{z|{|zzzyzyzyzy{zz{zzz{zyzyzzz{z{{{zz{yzyzzyyz{{y{zzzzyzyzz{z{z{{z{zz{z{zzzyzzzz|{{{{{zzzz{{zzz{{{{{{zzz{yzyzzz{{z|{{{yyz{z{z{{|z{{{|{{z{{z{{{{z{{{|{|zyzzzyz{|{{|{{{{zzz{y{y{z{{{{{zzz{zzz{zz{z{{{|{{{zzz{{{|{z{{{{|zzz{{zz{{{|{{{{||zzz{yyyzzz{{{{z{{zzzzyz{z{zz{{zzyyyzyyyzzzyzzz{zzzyyyyyzzzz{zz{zzyyzyzzz{{{z{z{zy{zzyyzyzzzzz{{zyyyyzxyzzy{zyzz{zzzyzyyyyz{y{zzzzzzyyyzyzzzyz{zzyzzzzyyzzy{y{z{yzzyyxyyzz{z{zyzzzyyy{yzz{zzz{zzzyzyzyyyzy{{zzz{zzyyzyzyyyzzyzzzzzyzyzzyyzyzz{y{zyzyyzzyz{{zz{{yzzyyzzzzzzzzzzzz{yzzzy{y{zzzzyz{yzzyyyz{{{{z{z{z{yy{zyyy{{z{y{{zzzyzyyzzzz{{z{{zzzxzzzyz{z{zzz{{zyz{zzxyz{{{{|z{{zyzzzyyzzz{z{{{zzzzz{zyzz{{z|{zzzzzz{z{{{{z{{{{zz{zz{{zzzzz{{{{{zzzyzzz{|{{{{||{zz{zzzz{{{{{||{{z{{zzzzzz{{z||{{zzy{zz{{z{{{{z{zz{zzzyyz{{|{{z{zzyzzzzy{{y|{{zzzzzzzyzyzzzy{yyzzyzzyzyyz{zzz{yzzzzzyxzyz{zyzy{{zyyyzzyyzyzyzz{{zyyyyyzzzz{zyy{{{zyyyyzyzzzzyzz{zzyyyyzxz{zz{zyyyzyzzyyyyy{yyzzzyzyyyyyyyzzzyzy{yyyzyzzyy{zzzzzyyyyzyzyzzyzzzzzyzyzyyzyxyzyzzyzzzyyyyyyxyzzzzz{yyyyzzyzyzzzzzzzzyzzzzxyyzzzz{z{yzzzzzzzyz{zzyzz{zyyzyxzzzzz{zz{zzyyzyyzzzzzzz{{{zzzzyyzzzz{zz{{zzz{{yzzyzzz{{{{zzzxzzyzzzz{zz|zzyzzyz{zzz{{{{{zzzyzy{zzyz{{z{{zz{yyzz{yyz{{{|{|{{zzyzy{z{|{{zz{{zzy{z{{y{{y{z{{{{{zzzzzzz{{{|{{{zzzz|zzzz{{{{{{{yzzz{zyz{{{{zz|{{{{|{zzzz{{{z{{|{zzzzzzzy{{{z{{{z{{{zyyz{|{{{{zzyzzyyyzzzzzz{{{zzzzyyyyyzzzzzzzyyyyzyyyyz{zzz{|zzyzxyyz{zzzzz{y{zzzyz{zyzzz{yz{|{z{yzyyz{{zyyzzzzxyyzzzyzzzzzzz{zzzyyyyyyyzyzyyyzzyyyyyz{{zzyzzzyyzyzyyxzzzzyy{zzyyyyyyzxz{zyzzzzyzyzzyzy{zzzzzzzzyyyyzyyzyyzzzzyyyzzzzyy{yzy{z{zyzyzzyx{z{zz{zzz{zyzzyzzzzzzz{{zyzzzyzzzzy{z{{zzzzyyxyz{{{y{|z{zzzzzyzzzz{{z{z{zyzzzyzy{{zzzz|z{{z{zyyzz{{zzzzzz{zzzzzz{z{{{{{{y{zy{yzy{{{{{{zzzyzzzzzyz{{|{{{{{zzzz{z{z|{|{{||zzzzz{|zzzy{{{z{{zzzzzzzz|zz{|{{zyzzzzz{{{{{{{{{{y{z{zz{z{{z{{{{{yz{z{z{{{z{z{{{{zz{zyzzz{z{{{zzzzzyzzzyzzzzzz{{yzzyzzyz{z{zyyzzyzyxxzyyyy{zyzzzzyzyzyyzzyzz{z{zyyzyyzyyyzyzzzzzzzyzzyyyzz{{zzz{z{zxyyzyzz{zzzzzzzzyyyyzz{yyzzzzzzyzzzyy{zzyyzz{yzyzxyxyyzz{zzz{yyzyzyyyy{zz{z{zyzzzyyxzzzzzzzz{zzzzyyyzyzzzyz{zxyyyzzyyy{yzzz{zzzzyxzzyyzz{zyzy{xzy{yyxyzzz{{{{yzyzzyzz{{zzzzzzzxzzzyzzzzzyzzzzzzyyzyzyzzzz{z{{zyzy{yxzy{zzz{{zzzzzzyyzzz{zyz|{{zy{yzyzzz{yz{{{zz{zzzzy{{{{{zz{zzyyzz{z{{z{{{{{zzyzzzzzy{{{{{{z{zz{zzzz{{{z{{{{{zzy{z{{zzy|{{z{{zzzzzzyy|z{{{{{{zzzzy{{{|{{z{|{{z{{z{{zz{{{{|{{z{zy{zz{z{y{{||{z{yzzyzyy{z{z|z{zzyyyzyyz{zz{{{zzyzyyzzy{z{{{{{zzyyzyyyyzz{{yyz{zzzyzyyzzy{zz{zzzzy{yyyyzzyzz{{zyyzzyyzyzyzzyy{zzzyyyyyyyyzz{zz{zyzyzzzyyzzz{{z{yzyzzzyyyzzyz{zzxzzyzzzz{zy{yzzzyxxyyyyyyzyzyzyzzxxzyyxzzzzz{{z{zzyyyzyyzzyzzz{{yyzyzyzyyyz{yzz{zzyyyyyzzzz{zzzzzyzzyzyyyz{z{{zz{{yz{zyzzy{zy{zzzyzzzy{zzzzzzzz{zz{zyyyz{zzzzy{{yzzzzyzzz{zz{|zzzzzyyzyz{{{zzz{z{yzz{zyz{zzz{{{{zyzyyzzz{{|{zzz{{{zzzz{z{{z{z{{{z{zzzy{yz{yz{z{z{zzz{yzz{zz{|{{{zz{z{{{|z{{{z|z||{zzzzzzz|{{z{{{{z{{zz{z|zz{z{|{zyzzz{{z{{{{{{{{{yz{y{zz{{{|{{|{zzzyzyzz{zzz{z{{z{zzzyzz{{{{{z{{zzzyzyzy{zzz{y{zyzzyzyyxyy{|z{z{zzzyzyxzyzzzzzzzyzyyyzyyzx{z{z{zyy{yzyzyzzz{zz{{{yyxzyzxzyz{zy{zzyzyyzyxzzyyzzzyzzzyyyyyyzzxy{zzxzyyxyyyyzzzy{yzyyyyzyy{yzzzzzyzyyyyyyyyzzzzzz{zy{zyxyyzyz{z{{{zyyyyyzyyyzzzzzzzzyyyzxyzyzzzzz{zzzzzzzyzzxyzzyzzyzyzyzyyz{zy{{y{zy{yzy{zyzyzzzzzzzzyzzyyzyzzzz{yzzzzzxyy{{yz{{z{yzzyyzzyz{{{zzzzy{zzzyyzyzz{zzzzzzzzzyyy{{z{{{{zzyzzzyzy{{{{{{{z{zyyyyzyzz{|{|{{zyzzz{zy{{{{{zz{{zzzzzzyzz{z{{z{{zz{{z|z{{{{zz{{{{zzzzzzz{{{z{z{zzzz{zyz{{{{z{{{{zz{{{{zzzz{{{{{zzzyz{z{zz{{{{{{{zz{yzzy{{{{{zzyxyyzyzyzzzz{zzzzyyyzyzyzzzzzzzz{yyyyxzzyzz{zz{{yyzyyzyxxz{z{z{{zzzzzyzyzyzzzyz|zyyyyxyxyzzzzyyyzzyyzyyzyzzzzy{zyzyzyyyyxyzzzyzzzzyyyyxyyzzzzzz{yyyyyyzzzyz{{yz{zyzyyyyyyy{zyzzyzzzyyyzyxyyzyzzy{zxzyzxyy{yzzyzyz{zyyyxyyz{zyzzz{zy{yyz{yz{zyzzzzz{yyzxyyz{zzz{z{yxyyzz{yyz{{zzz{yyzzyzzzz{zyy{{{zzzzzzzyzz{{y{{zzyzyzzyy{{{zz{{zzzzzzzyzz{z{z{z{yyzyzyz{zz{{z{z{zzzzz{zzzzz{z{{zzyz{yzzzz{z{z{zzzzyzzyzy{{{{z{{{yyz{{{zzy{{{{{|{zyzz{zzzz|{{yz{{{y{zyzzzz{z{{z{{zyzzzzyzzzz{|{{zzzzyyzzz{z{{{{{{z{{xzzzzz{z{{|{|zzzzz{zyz{zz{zz{zy{yzzzzzz{zyzyzzyyyzxzyy{{yy{y{yzyzzxzxzzyzzzzy{yyyyzzyzyzzz{zzyzzyyyyy{zz{zyzyyyzyzyyy{zzzz{zyyzyyyyzyzz{zzz{zyxzyxzyyyzzyzzzzyyyyyzzyzzy{zzyzyyyxyyxyyz{zzzzzyzz{yyyzzzzyzzzyzz{yyyyyzyzyzyz{zyxzzyzxzyzyzzyzzzxyyyzxyzzzzz{zzzzyzzyzz{yzz{zzyzzzyxzyzzzz{zzzyyzyzyzzzz{zz{z{zyyzyyyy{y{zyzzyyzzzyyzzz{z{{zzzzzyyzyyzy{{yzz{zyzzzzyzyz{zyzz{zzzzzz{yzz{{zzzzzyzzzzzzzz{zzz{{{zzzzzyzyz{z{z{{z|yzy{yy{{|{z{z{|yzyzy{zyy{zz{zz{z{zyz{zz{{{||{{{{yyzz{zz{{zz{{zzzyz{zz{{z{{zzzz{zzzzzzzzzzz{z{z{y{zyyzz{z{{zz{{{zzyz{yzyzzzzyz{zyy{yzzz{zz{{zzzzyyyzyyzyyz{yyzz{zyzzyyzyzz{z{zzzzyyyyyyy{{zyz{zzzyzyyyyzyzz{{zzzyyzxzyyzzzzzy{z{zyzyzyxzz{zzyz{zyzzzyyyzz{{zyzz{zyyyyzwxzzzzzzz{yzzyyyyyyzzyzzzzzzzzyyxyzzzzzzz{{yy{yzyzyzzzzzzzyyzzy{yyzyyzzzyzzyyyzzyyy{zyyzzzzzzzyzzyzzzzzz{{zzyyzyzzz{zzy{{{zyzzzyyyzzzz{z{zzyzyzzzxy{zzzzz{zzzz{yzyzzz{{{zzz{zzzzzyzz{zzz{{zz{{yyzz{{{z{{{{zyz{zz{z{zz{{{{{z{{zyzy{{{z{z{|{{zzzzzzyz{{z|{|{{zzzz{zz{z{{{{{|{zyzzzzy{z{z{|{{zzzyzz|zz}|{{z{{zy{z{zzz{{yz{z|{z{zz{{z{z{{{{{|{|zz|zzz{{{{{z|{{zz{zz{zzz{z{{{zzy{zz{zyzz{zz{{z{yy{zzzzy{z{z{{z{zyyyzyxyzzzzz{yz{zzyyyyyz{zzz{{zzyzzzzyz{yzz{zz{yzyzzyzzzyzzzzz{yzyyyyzzzzz{zzz{zzyyyyyyy{zyzzzzyyyzzyzzzyzzy{zyyzzzyyyyzyyzy{z|zyyyyyyzyzzyzzzzzyyyyzyyz{zzz{zzyzzzyyzy{yz|yyzzyzyzyyyzz{z{yzz{y{zyzyyzyz{zz{zzzxzzzzyyzzzzzy{{zyzzzzzzzzz{zzz{zzzzyyyzzz{{zz{{zyzzyzyyzzz{{z{zzzy{{zzxz{{z{{zzzzyyyyz{zzzzyz{zzzyzyzyzz{zz{{{z{zzzzzy{{{{{z{{{zzzyzzy{{{{{y{|{zzz{zyy{{{{{zz{{{zzzzyzzz{{{{{{|{z{{zz{zz|{z{z{|zzy{zz{zz|z{{|{|{z{{zz{{z{{|{z{{zzzzzyzzz{{{z{{{{{zzzzz{{|{{{{{{z{zzzzzyzzz{{{|{{zzzzzzzz{{|zzzzyzzzzyzzz{z{{zz{yzzyzzyyz{{zzzzzzyyzzzyyzyzzzz{zzzyyzyyzzzyy{{zzzyzyzyyyzzzyzz{zz{yyyyyzyzzyzzz{yzyyyzyzzzzzzz{yzyyyyyyyzyz{yzzyzxzyyzyyyyzzzzyzzzyyyyzyzzy{yz{y{yyyyyyzzy{zzz{z{yz|yyyxzy{zzz{{yyzzzyzyz{yzzzzzyyyyzyyyz{yyy{zzyyyyy{zzzzzz{z{zzyzyzyyyzzyzzy{zzzzzyyz{yzzz{y{{yyzzyzyyz{zzzzzzzzzyyyyzyyzzz{zzzyzzzzzz{{zzzz{yzzyz{xxzz{zzyzzz{{yz{zyzzz{{{zz{z{{y{yz{z{z|z{{{zzzzzyzzzz{{{z{{zyzzyz{zz{{{z{{{zzz{yyz{zzz{zz{{{{zzz{{zy{{z|{|{{zz{zzyzz|{z{zz{{z{zzzzyz{z|{|||z{zz{{zzz{z{z{zz{zzz{{zzz{z{||{{zzzz{zxz{{zzz{{zzyzzzyzyz{{{zzzzzyxzzyzyyz{zyzz{yzyzyzyzyzzzzzzzzyyyyyzyzy{z{{{zyyyzzyzyyzzzyy{{z{yyzyyzzz{zz{zyzyzyyyzyzzyzyzzzyzzyyzyyyzzzzzzyzyyzyzyyzzzyzzyzyyyzyxyyy{zzyz{{zyzyzyyzyzzyzz{zzyyyxyyyz{zzyzzyyyzyyyyxyzzyzzz{y{yyyyyyyzy{zz{zyyzyzzzyyzyzyz{{yzzyyzyyzzzzyz{{yyzzzwzzzzzzzzz{yyyzyzyyy{{zz{zz{zzzzyyyzz{{z{zzyzzzzzyyzz{yzz|{zzzzzzyzzzzzzzzzyyyzzzzyzz{{{zz{z{{zz{zz{zzz{z{|zzzyzzzyzzzz{z{{{zzzzz{y{{zz{{zzzzz{zzzzz{{{{{{{z{zzz{z{z{{{zz|{{zzzzzzy{z{{{y{z{yyzzzyz{{y{zz{{{{{zz{y{{zz|{z{zz{{yzzzzz{{{z|z{z{y{zzzzy{{{z{zzzyzyyzzzzzz{{z{zyyyyyzyyyz{zzzy{zyyzyyyzz{{z{{{{zyyzyzyyzzzy{{zzzzyyzyyyyzzzyzzzzzzyyzyxyzzz{zyzyyzyzzzxyz{{yzzzyzzyzyxy{y{yyzyyyzyyyyzyzyyzyzzzyyyyyyzzzzzzyz{zyyyyyzyzyx{yzzyz{zyyyyyyyz{zzy{zyzzzyyzyzzyyzyyzyyyyzyzzyzzzz{{zzyyyzzyyzyyyzz{zzyzyzyyzyz{{{yz{z{zyyzzzy{zzz{zzyyzyyz{zzzzz{z{zzyzzyyzyzzzz{yz{zz{yyyyzzz{zz{{zz{yzzyyyyzzzz{zz{zyyz{yz{{{{z{{{zyzzzz{zz{z{{{{{zz{zzzzy{z{z{z|zzyzzzzyz{|{zzz{{z{zzzzzy{{{y{{z{{yzzzzyzz{z|{{{{{zz{{zz{|{{{{zz{yzz{{{{zz{{z{z{|z{zz{z{z{zz{{|{|y{zyzyzzz{{z{z|{{{zyz{zy{{z{{{z{zzzzzyyyzyy{z{zzyyyzyyzzz{yzyzz{zyyyyxzyzzzzzzzz{yyyzxyyzyyz{{zzyyyzyyzyzzyzyz{zz{xyyzyyzzz{zzz{xzzyyzzyzyzyy{zzyyyyyyyyyzyzzyyzzyzxxyxxzzyzxyzzyyzzzyzyzzzzyyzzyzyyyyyzyzzzz{z{zyzxyzyzyzzyyzzzzyzzyyzzyyyzzzxz{zyzyzyzy{zzy{zzzyzyzyzzy{yzzz{{zyyzzyyzzz{yzzzzzzzxzyzzz{zzz{{{zyyyyzyyzzzyzz{yzzzyzyzyzz{z{zzzzyzzyzzyzz{{zzz{zzzzzy{yzz{{yz{{{yyy{zyz{{{{{z{{zzzz{zzz{{z{{z|{z{zzzzyyz{|{{z|zzzxzzzzyz{{{|{{{zzyyzzz{z{zz{{{{{yzyzz{z{|{{{{zz{yzzzzz{|z{{z{{z{yzzzyyz{z{z{z{{zz{zz{z{z{{{{{{{{{zzzzzzz{{z{{{{zzzzzyyzz{yzzz{{yzzz|zyyz{zz{zzzzyyyxyxzzzzyz{z{zzzyyzyyyyyyzz{zzzyyzzzzzzzyzzzz{zzzyxyzz{{{yz{yzyzyyyyyyzzzzzz{zyzyyzzzyzzzzz{zzyyzyyzyyyyzzzz{yyzxyzzzzzzyyz{{zyyyxxyyyz{zz{{yxyzzyyyzzy{yzyyzzyyzyyyyyyzy{z{zyxyzyyzxy{zzzzzzzyzyzzyxz{yz{|y{yy{yzyzyy{yzzz{zzzyxzyzyzyz{yz{zyyzzyxz{zzz{zyzyyyyyyyyyzz{{{z{zzyzyzzyyzzz{{zzz{zzyzyyzz{{zz{z{zyzzzzyz{zzzzy{{zzzyzzzzz{z{{{z{z{yzzyzz{z{zz|{{{zzzzzzy{|{{{{|{zy{zzyy{{z{z|{{{zzyz{zzzyz{{{|{z{yz{z{zzz|z{z{{|{z{{zzyz|{{{{{zzzzzzzzzzzz{{{{{{{{zz{zzzz{{{{{{z{{zyyzyy{{zz{z{z{zzzyz{yz{zzz{z{zzzz{yzyz{z{{zzzyxyyzzyxzzyzzzz|yzxyyyyz{yzyzzyyzyzyzzyzyy{zzz{zzyzzzyxy{y{zyzzzzyyyyyzyzzz{zzzzzyyyyyyyyzyyyzzzzyzyyyyyyy{zyzzyzzzyyyyyzz{zzyz{zyxyyyzyyzyyyzzzzzyzzyyyzz{zzzzzyzyyyzywxzzyzzzzyzyzzyyyyzyzyzzzyxyyyzzyyyyzzzzzyyzzzzyxzzyzzzzzzyzzzyzyyzyyzzz{yzzyyzyzyz|zy{{zzzzxyyzzy{zzzzz{zyzyzy{zzy{zz{zzyyzzzyyyzzzzzzzyyyzzyzxzyz{zzzz{zzyzzzyzzz{{z{{zyzz{zyzzzzz{z{{{zzz{zyzzzzzzzz{zyy{z{zzz{{{{z{{|y{|yzzzyz{z{{|{{{yyzzzzzz|z|{{{{zyzzyzzz{{z{{{{{zyzzyzzzzzzz{{|{{zzyyzyzz{{{{zz{z{yzzzzzz{zz{{z{zzyzyyzzzz{{{z{zzyzzyyzyzzyzzzzzzyyyxyzyzzz{yzz{yzyyyyyyzzzzzz{zzyyzyyyzyzzzzyz{zyyyyxxz{{z{yzyzzzyyyyyyzz{{y{zzzyzzyyyyyzzyyzyyyyzzyyyzzzyyyzzzyyzyyyyyxyzzzyzzzyzzxyyyzyzzyz{yyyyyyzyyzz{zzzyzzzzzzzxxyyz{zz{yyzzzyyyzyyyzzzzzzzyyyzzyxyyzyzy{yyyzzzyzz{{zzzzzzyyy{yzzzzzz{y{zyyyzzxyzz{zzzzzzzxzzzzyzzz{zzz{{xzzyzyyzz{{zzzzyzyzyyzzyzz{yyyzzzyzzzzyzyz{{zzz{{zyzyzzzzz{zzzzzyzzy{zzyz{{z{{{zzzzzzzzzz{{zz{|{zzyzzy|z{{zz{|{{z{zyzz{z{zzz{{{z{zyz{zy{z|{zz{||{zzzyxzyzz{{z{{{{zzzzzyz{yz{{{{{zz{yzz{{{{zz{{{zyyzzzzzyz{zz{z{z{zy{zzzy{zzz{{{zyzzyxzzzzz{{{zyzzyyyzzxyyz{zzzz{zyxxzyzzzyzy{zzzyyzyyyyy{zz{zyzzzzxyyyyzzzzzyy{yzzyyxyyy{zyzz{zzzzyyyyyyyyyyzzzzzyyzyyyyzzzzzzz{zxyyyyxzyyyyzzzzyyyyzyyxzzyzyzzzzyyzyxyyzzz{zyyzzzzyxzzyzzzyzzz{zzzyzyyyyzyzzzzzy{zzzyyxzyyyzzyzzyzyyyyyzzz{zz{{zyzyzyyzx{{{yzz{yyyzzzzyz{{z{{{{zzyzz{zzzy{yzzz{zzzyzxzzzz{zzz{zyy{yzzzy{z{{{|{zzzxzzyyz{{zz{{{zzyzyzz{z{{{{z|{zzzzzyz{z{z{z{{{{zz{zzzyzz{|{zz|zzzzxzz{z{z{z{{{{zzzzz{zzzz{z|{{{{zz{zzzzz{||zz{{zz{zzy{{{z{{{{{{{zz{zzz{z{{{z{{|zzzz{zzzzzz|{{z{{zzzzyz{zz{zz{{{{{{zzyzyzzyz{z{{zzzyzyzzzz{zzz{zzyyyzyzyyzzzzz{{{zyyzyzyzyzzzzzzzyyyzzzyzz{z{z{zzyzzzyyyyzzzzz{zyzyzyyzyz{zzz{zzzzzyyyxzyzzyzzzzzyzzzyxyyzxzx{{zzzzyyyzzyyzzyzyzyzxyzyyyzzy{z{{yzzzzyzzyzz{z{y{{yz{yxzyyzzzzzzzzzyyyzzyyyz{zyzz{yzzxyzzzzz{yy{z{z{zzz{zyzzzzzz{{zzyyzzyzzzzyzz{{{{yzzxzyyzzz{z{zyzyyyzyy{zz{{z{{{z{zzyzzz|{{zzzzzzzzyzyzzz{{{y{z{{zzzyzzz{z{z{zzzz{xzzzyz{|{{{zzyzz{{zz{{zzzz{{{zyzzzzyz{{{{zz{{{{{{{zy{{{{z|{z|zz{{z{yzz{{{z{{|zz{z{zzyzz{z||{zz{zz{zzz{z{z{{{z{yzz{zzzz{{z{{{{{z{{zzzz{{z|{{z{zzzz{zzzzz{zz{|{zzyyyyzzz{{{z{{z{{zyzzyyzz{{{{zzzzzyzyyyyzzzzz{zyzzzyyzyyzz{z{{{yyzyzzzyz{yzzz{z{zzyzyzyyzz{zzz{zyzyyzyzzyzzzzz{zyzyxyzyz{{z{{{{zyzyzyzyzyz{zzzzzzzyyyzyyzzzz{{{zyyyzzzzyzz{xz{zzzzzyyyyzz{zzz{zzyyyyyyyy{yyzzz{zzyyyyyzxzyzzyzzzyyyzyyzzzzzzzzzzxz{{zyyzy{zyzzz{zyzzzyzzz{zz{z{yzzyyyyzz{{zzzzz{zzyyyy{z{{yz{{z{zzyyzyyz{{{z{zzzzzzzyzzz{zzzz{{zyyzzzy{{zzz{z{{zzzy{{yyz{z|{{zz{{{zzzzzz{yz{zz|y{{{z{zzz{{{{{{z{zzy{zz{{{{{{|{{zz{{zy{z{{{z{{{{{zzz{{zzy{{zz|{{z{z{zzzz{{z{{z{{{zzzyzzz{{z{{{{{{{z{yzzz{z{{{{{zzzzzzzzz{{{zz{{{{z{zzyzzz{|{z{{z{zzzzzzyzzz{{zyzyyzyyyyy{z{zyzz{{yyzxzzyzzzy{y{{zyzyzzzyzy{zy{{zyyyzyyyzyyzzyz{zyyzzyyzxzzzzyzy{zyzzyzyyyzyzzyzzzyyyzzyzzyzzy{zzyzzyzzzzzyzyyzzzyzyyyzyyyzyzzzzzzyyyzyxzyzzyyzzzyyzyxzzzz{yzzyzzzzyzzyyzzz|zzzzzzzyyyyyzyzyzz{zzyzzyyzyyz{yzz{z{zzz{yxzyzzzy{zzz{zzyz{zy{z{zyzz{yy{zzzzzzzyzzz{{zxzzzzzyyzz{{{y{zzzzzyzz{zzzzz{zyyyyyyzzzz{{{zz{zzzzzyyzyz{zzzz{yz{zzz{y{zz|z{|{{yz{zyzyzz{||{z{{yzzz{yzz{{{zz{|z{zzz{{z{|zzz{z{{zzyz{yzy{{{z}{{{z{zzzyzzzz{z|{{{z{zzzzz{{{z{z{{{yyzzzz{{{{{z{{|{yzzyzz{zzzzz|{{zzzzyzzyz{zzz{z{zz{zyxzz{zzzyzyzzyyyzzzyyz{zzyzzyzzyyyyyzz{z{z{|zyzzyyyzzzzz{z{{zyzyzyyzzzzzyz{zyzzzyyzyyzzzzyzzyyzyzyxyzzyzy{{zzzzzyyyyzyz{{zzzzzyzzzyzzzzzzzzyzzyyzyyyzzzzzx{zzzzyyxxzy{zzzzzzzyyzyyzzzyz{zz{zzyzzyyyzyzzyzz{zyzyyyyyyyzy{zz|zzyzyzyyzzz{y{{zz{z{zzyzyzzzzy{z{yyzzzyyyzz{zzzzzyz{yzyzyzzz{z{{zzyyyyzzzzz{{{{zzyyzzyyzz{{zzz{{zzzzyyzyzzzzz{zyzzzzzz{yz{{{{{{{{zzzzzzyz{{{{{z{{zz{zzzzyz{{z{y{{{zyz{zzz{{{z{{{{{zzzzzzz{z{{{{|z{z{zzzzz{|{{|{{{{z{zzz{{z{{{{{z{{{{zzyz{zz{{{|z{z{z|zzzzz{|z{||zz{zyz{zzzzzy{z{{zy{zzz{y{{{{{zzzzzzyyyyy{z{{zyzzxxzyyyyyy{zyzyzyzyyyyyyyyzzzz{zzzyyyyyyzzzzzzzzyyzzxyyxzzzzzzz{{zyzxyyyxzyzzzzyyzyyyyxyxyzyzzzzzzzzyyyyyzzzyyzzzyyzyxyyzyzzzzzzzyyyyyxyzyzyzzzzyzyyyzyyzzzzzz{yzzyyyz{yxyz{zyyzzzyzzzyyzzzyyzzz{yzyxyyyyyzyyzzzzyzzyyzyzzzzzzy{{{yyyyyyyzzz{zyz|yzzyzzzyzzyz{{{{yyyzxyyz{zzzzz{yzzzyyyzyz{{zz{z{zyzzyyzyzzzzy|{{zyyzyzzzyzzzyzz{{yyzzzyz{z{{z{y{yzzzzyzzz{z{{||zzzzyzzyxzz{{zz{{{yyy{yzzzzzzz{{{zzzyz{z{zzz|{z{{zzzzzzzzz{{{zz{z{y{zzyzzz{{{{|{{{zzz{zz{{z{{{{{{z{z{yzzz{|z{{{|{zzzyzyzy{{{zzz{{yzzzzzzxy{{{{zzzz{yyxzyy{zzzzyzzx{zyyyzzyzzx{yzzyzyzyzyyzy{zzz{{zyzzyyzyzzzz{{{{zzzzzyzxyzzyzz{{zyzzyzzyyzzzyzz{zzzyyyzyzzzyzzzzzzzyyxyyzyzzyyyyyyzyzyyyzyzzzzy{yzyyyyyzzzzzzyzzzyxyzyxyzzzzzzzzzzzxyyxyzzyzyzzzyzyyyyyyyyyzzyy{zzzyzyyyyzzzyz{zzyzyzzyxyyzz{zz{zxzy{yyy{zzz{{z{zzzyyyzzzzzzyzzzzyyzzyy{zzzz{zzz{yyyyyzzz{y{z{zy{zzzyzyy{z{zzz{{zzyyzzzy{{{zzz{{zzzyzzz{{zz{{zzzzzzzzz{z{z{zz{||zzyzzzyz{{{z{z{zzyzzzzzz{z{{{{{{{zzzz{{z{zzzz{{{{zzzyzzzz}{zz{{{{zz{z{z{z{{{{z{zzzyzzyy{zz{{zz{{zzz{z{y{{{{zz{z{{zzz{{zzz{z{{{{{zzy{yzzzz{{{{z{yz{zyzyzx{zz{zzyzyzyzyyyxyzzzzzzzyzzzyzzzzzzyzzzzzyzxyzyyzyzzzzyzzyzzyyyyyzz{yy{zzyzy{wzyzz{zyzz|yyyyyyyxyzzyzzzzyzyyzyyxyyzyz{yzzzyyyzyyzz{zyzzzyzyxzyyy{yzzzz{yyyyyyyxyyz{yzzyzzyyzyyyxzzzyzyyzzyzyyzzyyzyyzzyzzyyyyyyzyyzyyy{zyyyyyzyzzz{zzyyzyyyyyyyzzzzyzyz{zyzzyyzyz{yzz{z{zzzzzyxzzzzzz{z{yz{yzz{zzzzyzzzzzyzzzzyzz{zzz{{zzzyzzzzzz{{yzzzzzzzyyzzzyzzz{{zzzzyyzz{zzzzz{{z{zzzzzzzzz{{{z|{{{yzzyyyzz{{{y{{{{zzzzz{z{{zzz{{|z{zzzzzzz{{{z{{{zzz{zzzy{{{{zyzzzzzzz{y{zzzzz{z{|zy{{{zzz{{{z{{|{{zzz{yz{z{|z{z{zz{zzyyyzz|{{z{yyzzyyyyyzzyzzz{y{yyxyxyxzzy{yyzzyzzzzyyzz{yzzzz{zxyyxyzyzzyzzzz{{zyyyyyyzzzzyz{zzzzxyyzyzyzzzzzzzyyyyyzyyyzzyzzzzyyyzzyyyzzyyz{yyyyyyyyyyzzzzz{zxzzyyyyxyyzzyyzzyyyyxyyyzzzyzzzzyyzzxyyxyzzzzzy{yzyzyyyyyzzyzzzzzyxyzyyyyzyzzzyzyyzyyzyyzzzzzzzz{yyz{yzyzz{{z{z{zyzzzyzzzzzzzz{zzzzyyzyzzyz{zz{yyyzyyyyyzzzzz{zzzyzyzyyy{zzzz{zyzyzzzzyzzyz{y{z{{{yzzyyzzzzz{|{zzzzzzz{z{z{z{zz{{z{yzyyz{{{z{z{{{zyzyzyzz{{y{{{{zzzyzz{zzz{{z{{zzzzzz{yzz{zz{{{{{zy{zyzz{z{zzz{{zyzz{zzzz{{{zz{{{zzzzzzzy{z{{{z{zzzyxyzzzzzzz|{{y{{zyzzz{{zzz{{{zxyyzyzyyzzzyzzzzzyzyzzyyz{zzzzzzyxzyyzzyyzzzzyzzzxyyzzyzz{z{{{zzyzyyyyyzz{zyzzzzzyzyzyyy{zzzzz{yzyzyzyyzzzzy{zyzyxyyyyzyyzzzzzzyyyyyyyzzzzzzzyzxzxyyzzzyzzzzzzzyxyyyzxyyzzyz{yz{zyyyyyxzyzzyzzzyzyyzzzyyyzzzyzzyyyyzyyzyzyzy{z{zyzzzzxyzzzzyzzzzyyyyzzyzzzyzyz{zyzyzzzzzzzzz{zzzzyzyzyzyzzzz{{{zzzz{y{zzy{{y|{{zz{zzzyyzz{{zzzzzzyzzyyzz{y{z{zzzzzzzzzyzz|z{|zzzzzyy{zz{{z{{{|{{zzzzyy{yzzzz|{z{zzzzzzz{{{{zz{{zzzzz{{z{{{zz{{{z{zzy{zzz{{{{||{zy{zyzzzzz{zz{{{zzzzzzyz{{z{{z||{zyzzzz{{{zz{|{{zyzyz{zy{{zzz{{{{zyzyyzzzzz{zz{yzzzxzxzyzz{zz{zzyyyzyyyyy{zzyyz{xyxy{yy{yzzyz{z{zyzxyyyyzzyzz{z{zwyxyyyyyzzzyzzyzyzyyyyyzzzz{zz{xzyyyxzxyzyzzzzyzyyyyyxyz{yzzzzzzyzyyyyyzyzzz{zzyyyyyxyyyyzyyzzzyyyyyyyzyzzyzzzzyyzzyyyyyzzyz{{yyyzyyyyyzy{xyz{{yzyyzxzyyzzzzz{zzzzyzzzy{zzzzy{zzyzyyx{yzzzzzz{{zy{zyyyzy{zyz{zzyzxzyyzyzzzyzzzzzy{zyzzzy{yzz{zzzzz{zzzyy{zzz{{zzzzzzyyyzz{zzzz{zzyy{yzyzzz{{{zzzy{yz{z{{{y{z{{{{yyzxyzzz{{{z{zzzzzz{zzzzz{{{z{zzyzyzyzzzz{zz{{{zzzzxzzyz{{{{{{{zzzzzzzy{z|{z{zz{zzzzyyz{{z{zz{{zzzyzz{z{{y|{{{{zz{yyzzyzzz{{z{zyzzzzyzzyz{|{z{yzz{zzyyyzyzzzzzyy{xyyyyyzzyzyzz{zyzzyyyzzzyz{{{zzzzyyyzyyzzzzy{{zyyxyyyyyzzzyz{zzzyyyyzyyy{zzy{zzyzyyyzyyzyzy{zzzyyyzyxzzyzzzzyzyyyyyyzyyzzzyy{yzyyyyyxyzzzzzzzzzxyyxxyzzzzyzyzzzyyzxyyxyyyzzyzzzzyzyzyyyyzzzzzzzyzyyyyxyzzzzzz{zyzxzyzyzzz{z|z{yzyzyyyyzzzzyzz{xzzyzyzzzzz{zzzzzzzyyyyyy{{yz{z{zzzzzxzyyyyz{{zz{z{zzzzyz{zzyz{yzyyzzyzz{|zzzz{yzzz{zyyzz{{{zzzzzyzzzzzzzz{|z{{zyyzyzyyyz{|zy{zzzzzyzzzz|{{z{{{{{zzzzzzzyzz{{{{z|zz{yzyyz|{z|{z{zzyzzyyzz{{z{{zz{z{zz{{y{{z{zz{zz{yz{z{z{{{{{{z{zzzyyzzzzzzz{{{{zzzzzzzzyz{{y{z{zyyzyzzxzzzzy{{{zyzyyzyyyz{zzzzyyzz{yyyz{zy{{{{zzzzyzzyyzzyzzz{{{zzyzzzzzzz{zz{zzzzyyzyzzzzzzz{|zyyyyyyzzzz{zz|z|yyyyzyyzzzzyz{z{yzzzzzy{z{zzz{zyyyzzzzyyzzzz{zzzyzyyyzzzzzzzyzzzyyyyzzzz{z{zzz{yzzzzzzyz{yxzz{zyyzy{yz{zzyz{{zzzyyyzzzyzyz{zz{{z{zzzzzzz{yzzzzz{yzy{zy{z{{zzzzzz{zyyzyzzzzzzz{{z{zzzzzzzz{z{|z{{zzzzzzzz{{{z{{{zzzz{zzzz{{zz{zz{yzzzzz{{{z{z{{{zz{zzz{zzzz|z{{{{zz{zzz{z{{{{{z{{zzz{z{{{|{z{{{|zyzzy{zzz{{{{{{{z{{zz{{z{{z{{|{|{zz{{z{yz{{{{{{{zyzyz{{{z{{{{{{{|{z{z{zzz{|{{{{{zyzz{{y{y|{z{|{{{zzzzzyzyz{zzz{{{zzyzyzyzz{zzz{zyzyzyyzxy{zzzz{zzzyyyyxyyyzyzz{{zyzyyyyzyzyzyzzzz{zzyzzxzzz{yzz{yzzyyxyyzzzzzzzzzzyyyzzxzzzzyzz{zxzzzyyz{zz{zzzyyzz{yzyzzyyzzzzyyyyyyyzyyyyzyzzz{yyyyyyzyzzzyzzyxyzyyyzyzzzzzzzzzyyzyxzxyzzzzzyzzyyyyyyyyzy{yzz{yyzzzyyxyzzzzz{zzyzyzyyyzz{zyyzzz{zyzyyzzz{{yz{zyzzzzzzyyzzzz{zyzzyyzzzyz{zz{|z{zzzyzzzyzz{zzzz{zyyyyzzz{zzz{y{{{zzzzzzzzzzz|{z{{z{zzzz{{zz{z{{{zyz{zyzyz{{z{z{zzzyzyz{y{{{z{{z{zzzzz{zzz{{{{z{{zz{zzzzz{||{z{{{{zzzzz{z{{z{z{{zzzzy{zzzzzzz{z{{z{z{{zzzzyzz{{{|zzyyzzzzz{{zz{{{{|zzzzzyzzz{z{zyzyyzzxzyzz{y{yzzyzyyzyyyyy{xzz{zyyyzzzxyz{zzzzz{yyyyzzxyz{zyz{{zzzzzyyyyyzyzyyzzzzzyxzyyyy{zz{zzyyzyyyyyzzzzzz{zyzyyyyyyzz{zz{{zyzyyyyyzzzzzyzzyyyyyyyyyyyzyyzzzzzyyyzyyyy{zzyzzzyzxyyzzyzyzzz{zzzxyzyxzyzzxzz{{zzyyzyyzyzzzyzzz{yzxzzzyzzzzyzz{zyzyyyyyzyzy{zzzzyyzyy{{z{yzz{z{zzyzyzxz{{zzz{z{yyyzyxzy{{{z{{|zzzzzyyyyzy{yz{{zyzzzyzzzzzzzzyzy{zzxzzzzz{z{{{{{zzyzyy{z{|zzz{{yzzz{zzyzz{z{{z{zzzyzyz{zz{{z{{z{zzzzz{zzzzzzz|z{|yzzzyz{y{{{{{z{{zzzyzy{z{{{z{z{{zzzz{zy{zzz{{{{zzzzzzz{z{z{|{{zzzyx{zzxz{{zz{{{zzzyzzzxzzzz{z{zzzzyzzyzyyyzyzzyzxzxyyxxzzyzz{z{zzyzyyyzzz|z{zzzyyzzyzyyzzz{yz{zzyyxyyzzzzzzyyz{zz{xyyzzyyzzzzyzyyzyyyyyzzzzzzzyzzzyyzzyy{zzyzzzyyyyyzyzzzy{yzzzzyyyzyyyyzzzzzyz{yyyyyxzyzyzzyzzyzzyyyyyyz{{yzz{zzyyyyyyzzyzzyzzyyzyxyyzyzyyy{zzzyzyzyzzzz{zyyzz{zyzyzyzyzz{zz{zzyyzzyzyzz{zzzzzyzyzyzyzz{{{zzzzzzzzyyyyz{zzz{zzyzzzyyyyzzz{zz{{zzzzzzyzyz{zz{{zzzyzz{yzz{|z{{z{zzyzyz{y{zz{z{|{{zzyyzyz{{|{{z{{zyzzzzzzz{z{{{zzzzzzzz{zz{{{{{{{|yyzzz{z{|{z{|{z{|y{zz{z{{{z{z{{{yy{zy{zz{zzzzz{zzyy{zy{z{{{{{{{yz{zzzzzz{{{{{{zzyzyzyzyy{zzzz{{{zzyyyyy{z{zyzzzyxyyyyzxyzyzyzyyyyyzyyyzyzzyzzzyzyxxzyyxyzyzzzz{zyyyyyyxzyy{zzyzzyyyyyyxzzzzyyyzyxxyyzyxyzz{yz{yzyyyxxyyzxzyzzzzzyyxyyyyxzyzyyyzxxxyzxyyyzzzyzzyyxyzyyxyzyzyzy{yzyyzxyyxzzyyyz{zyyxxyyyxyyyzyyyzyzyyzyxxz{y{zz{zyxyzzyxzzzzz{yz{zyyyzxzyzzyzy{zzzzyzxyzzzzyzzz{{yzzyyzzyzzzzzz{zzzzyzxzyzz{{zzzyyyyyyzyyz{zzyz{yyyyyzyzyzzzz{zz{zzyz{zyzzzz{{yzzzyyzyyzyz{z{{zz{zyyzzzyy{z{yz{{{zzzyzyyzz{zz{{{zyzzyzzzzz{zzz{zzzzzy{zzzz{z{z{z|{zyzzyzzzzzzy{z{zyzzzzyz{zz{zz{{{{zyzyyz{z{|{|z{zyzzyzzzz{{z{{zzzyzyyyyzz{zzyzz{{zzyzyyzzzz{yzyzyxyyzxzzyzzyzzzzyyyyyyyyzyzyzzzzzyyyxzxyzyzzzyyzzxyyyyyyzyzyzyzzzyzzyyyyzzzzzzzyzyzyyyyyzzyyyyzzzyzyyzyyzzyzyyyyy{zyzyyzzzzyzzy{zyzyyxyzyzzyyyyyyyyyyyxzyz{yzyzzyyzyxyzwyzzzz{zyyyyyxyyyxzzzyzyyyyyyyxyyxzzzyzzzzyyyzyyyzzyzyzyzzzzz{yzyz{zzy{zzzzzzyzzzzzzyzzzzzyzzzyyy{zzy{yzzzzzzzyzz{zzzzzzzzzyyyyyyzzzzzz{z{yzzyyyzz{yzyzzz{zzzzyzz{zz{zzzzyzzyzzzzzzyzzzzzzzyyzyyyy{zzz{{{zzzzzzzyz{zz{z{{yzzyzzzzz{z{zzz{zyzzzzy{z|{{{{{{zzzzzyzzz|{zzzz{zxzzzzzzyzyz{|{{{zzzzyyzzz{{{{{{{yyyzyxzzzy{z{{zzzyzzzzyzzz{zyzzzzzyzzzyyzzzzzyzzyzxyyyyyzzyzzyzzyyyyxyyyyzz{zzzzzyyyzyxzyzzyz{zzzyyyzxxy{{zzyzzyyzxyyyxyyyzzzyzyyyyyyzxz{zyzzzyzyzyyzxyzy{yyzzzzyyzyyyyzyyyzyyyyzyyyyxzzyyyyzyzzyzyyyyyyzzzzzyzzzyyyxxyyzyyzzzyyzyyyyxyyzyzzzzzzzyyzyx{yzyzyyzzyyzyzzyyzzzzz{z{zzyy{yyzy{zyz{{zzzzyyyzyzzzzzz{{zzyyyyzyyz{zyzzzyyzzzzzyy{zzz{zyzyzzyzyyzzzzzzzzyyzzyyyzzz{z{|yzyyyyzyyzy{z{{zz{yyzyzzzyz{z{{{{{zzzyzzyy{y{{zz|{{zzzyzzz{{{{z{{{zyyz{zzzzzy{{zzz{zzzy{yzzz{{{{{|zzy{zzzzzz{{z{{{zyz{zzzzzzzyzz{{zzyzzyzz{z{z{zz{zzzyyzzy{zzz{{{zzzzzzyzzy{{y{zzyzyyyzzzzy{zzz{yzzzyyyyyyyz|zzzzzyzyyzyyzz{{yzzz{yyzxyzzzy{yzzzz{zxyyyzyzyyyzyyz{zzyxyxxyzyyzzyzzzzyyyzzxyzyyyzyzyyyyzxxxyzzyzzzzyyyyyyyyzyzzzz{zzxyyxxyxzy{zzz{zyxyyyyyzzzzzzz{yzyyxyyxyy{zzzz{zzyzyyyyxyzzyzzzzzyzyxyyyyzzyy{zzyzzzzz{yzzyzzz{zzzyyzyxzyyyzzzzzyzyyyzzz{yyzz{yzyzzyyyyyyzz{z{{{yyzzyyzxzzzz{zzzzyyzzyyzzzzzzzzzzyzzzyyy{zzzzzzzyzyzzzyz{z{z{z{{zzzzyzzz{zz|z{{{zyzz{zyzzz{zz{{z{zyzzyzy{{{zz{{{zzzz{z{z{zzz{{{|zzzz{zzy{{||z{{|zz{z{yzz|z{{zzzz{yzy{zz{zzzz{{z{zzz{{zzzz{{{{z{zzzyyzzyzzzy{{z{zy{{zyyyyz{{y{{z{zz{yzyyzzz{z{yz{yyxyxyyxyzzz{z{yzyyyyyyyyzzzz{{{z{yyxyyzzzzzz{z{yyyyyyzxzzzyzyzzyyyxxyyzyzyzzyzzzzyyzyyxyzyxzzz{zzyzyyyyyzzyyz{yyzyyyyyzyyzzzzzyzyxyyyyyzzzzyyzzzyyzyyxyyyzyzy{zyzyzyyyyyzzzzyzzzyyyyxyzyzyyx{zzzyyyyxyyyzzyyz{zyyzyxzyzy{zzy{zzyyyzyyzzxzzzyyzyz{zzzxzy{zzzy{zzzxzzyy{yz{yyzzz{zzzzyyxyz{{yz{{zyyyyzyyy{z{yz{{{zzyzyyzzzzyzzzzz{{zzzzyzzzzy{{zzyyzyy{zyz{{zzzz{{zyyyyyzy{zzzz{zyzzz{zzzy{z{{z{zzzyyzzzzzyzz{{zz{zzyzzzz{|{{{z{zzzzzzzyyz{z{{zz{zxyzzzz{y{z|{z{|zzzz{zzz{{z{z{|{{zzyzyyzz{{zz{{{zzz{yz{yz{zzzz{zzyzyyxzyzz{yzyzzyyyyyyyyzzzzyzzzyzyzyxzyzzzzzzzz{zyzyyyyzxyyzzzzzzzyzzyzyz{zyzzzzyyyyxyyyzzzzzyzzyzyyyyzyzzzyzzyzyyzyxxyz{zyzx{zyyzyyyzzyzzzyyyzyyyxzyxyzzyyzzz{zyyyyzxyzzzz{zzzzzyyyyzzzzz{yyz{yzwyxxyyyzyzzz{zzyzyyyxzyzzzzzzzzyzyyzyzzyyyzzz{zyyzzy{zzzzzzyzzzyyyzyzzzzyzzzzzyzyyzzzzzz{zzz{zyyyyzyyyyz{{y{zzzzyyzyyyzz{z{{{y{zzyzzyz{z{zyz{{zyzzzzzzzz{{{z{{zzzy{zyyyzyz|{z{zzzzzyyz{z{{z{{z{zzzzzyz{{|{z{{{zzz{y{zzz{z{z|z{{zzz{z{{z{{{z{{zz{z{yzzy{{|zz{{z{z{zyzz{z{{z|{z{zzzzzz{y{{{zy|z|{yzyzz{yzzz{{{{{{zzzyzyy{zz{zzzzzy{yzzzyz{yzzzzzyyyxyyxyyzzxyyzy{yyzyyy{zxyzyy{y{yyyzzyyyzzzzz{zyyzyzyyyyzzzzzzzzzyyyxzxyyzz{{yzyyyyyzyyyzyyzzzzzyyyyyyyzzzzyzzyzyyyyzyzyzy{yz{zyzyyyxyyzzzzzzzzyyyyyyxyzzzy{zz{yz{yxyyzzzyzyy{zzyyyyyyy{yzzzzzzyzzyyzzzy{yyy{zyyyzzzyyzzzzzzz{z{yzyzxzyyyzyyz{{zyyzzyzzz{zzyz|zzzzyyzyzyzzzzzzz{yzyzyyyz{yz{{zzzyyzzzyy{zzzzzzy{zyyyyzy{zzzzzz{z{yyy{zy{zz{z{{{zyyyzz{zz{z{{{{z{zz{zyzy{{zz{z{y{{yzyzzy{{{{zz{z{{zz{y{z{{{z|{{{zyzzz{zz{|z{{{{{zyyz{z{zz{z{{{{|zzy{zzyz{|z|{{z{{zzzzzz{{z{|zz{{zzzyyzzzz{{z{z{zz{zzzzzzyz{{zz{z{{yyyzzyz{{z|{yyzxzyyyyyz{zyzzzzyyyyzzzyzyyzyzzzzyxxyyyxzzz{{{zzyyyyxyyyzzyzyzzzyzyzxyzxyzzyzzzyzyyyyzzy{zyzzz{zzyzyzyyyzyzyyzyzyzyyzzyx{zy{zzzzxzzyyxyyyyzzyzzzyyyxxyyzzzyyzzzyzyyyxyyyzyz{zzzzzxyyywzzyzyzzzyzzzzzzyyxyzzzzzyzzyyxyyyy{yyzyzyzzzzyyyyyzyzzz{{yyyzzyy|yzzzzyzzzyzzyyyzyzzzzz{z{zyyzxyzyz{{zzzzyzxz{yyyyyz{zzz{z{zzyz{yzzzz{z{{zzyyzyzzzyzz{zz{zzzzz{{{zzzz{{{z{zzz{yyzz{zz{z{|z{zzz{{zz{z{zzz{z{zy{zzzzy{{z{|zz{z{zzzzy{{zz{z|{{z{zzyz{{{z{z|{{zyzyzzzzzz{{{z{|z{zz{yzz{z{{z{{{{zzyzzyz{{{{{{{{{zzzzzzyzzz{zz{zyxzz{xzyzzzz{{zzyxyxyyyyy{{yzyyzzyyyyzyyzzyxz{{zyzyyzyyyzyzzyz{{zyyzyyzyzzyzyzz{zyxxyyzyzyzyx{zzyyzyyyyyyzzzz{zzyyxyyyzyyzzyzzz{zyyyxyzyzxzzzzzzyzzyzyyyzzzzzzyzzyzyzyxyx{zy{yzzyyyyyyyxyz{yzzyzyyxxyxyyzzyyzzzy{yzxyyyyzzzyyzzzzyyyzyyxzzzyyyzyyyyyzxzzzzzxzyzyzzyyyyz{zyzyzzzzyxyyyyzyyyzy{zzzyyyyyzzy{{zzzzzzyyzyyyyyz{z{zz{yzyzzzzyzzzyyzz{zyzzzzyzzzzzzz{z{zyzzzyzzzz{{zzz{{z{zyzzyz{z{{z{z{yzzyyzzz{zz{{|{yzzyyyzzz{z{{zzz{zzzz{z{z|z{zzz|z{{zzyyy{|zzz{z{zy{z{yyz{z{z{z{{y{zyz{y{{zz{z{{z{zyyz{yzz{z{z{{zzzzzy{zyzz{{zzzzzzzyzzzyzz{yzyyzyxyyyxxxyyzzy{z{yzzyzyyyyzzzzzzzyzyzzxxyzyzyzzz{xyyyyyyyzyzyyz{{{yzyxyyxz{zzzzzzzxyyyyzyyzyyz{zyzyyyzyyyyzzyy{zzyyzyyxxzyzzzyzzzyzyyyyyyyyyyzzzyzyyyyyzyzyyyyyzyzyyyxyzyyyyzzz{zzyyyyyyyzyzzyyzzzzxyxzyyyyyzz{zzyyzxyxyyzzzyy{zyzyxyzyzyyyz{{zzzyyyzzyzzzyyzz{zzyzzyyxyzzzzzzy{zzyzzzyzyz{zz{{xzzyyyzyzzzyz{zz{z{yyzzyyyz{xzz{{{zzyyzzyzzzz{z{{zyzzzzzzzzy{z{z{{z{zzzzzzzz{zz|{z{yy{{zzz{|zz{z{{zzzzzz{zzzzz{{z{yzzyzzzzz|{z{{|{zy{zyzzz{z|z{{zz{yzzyz{zzzz{{{z{{{{zzzyz{{zz{z{{z{zyzzzzyzyz{y{|{yzyzz{zzzz{zz{{yzzyzyzzy{zyzzyyyyzzyzxxzyzzzy{zyyzyyyyzzzzyzzz{zyyxzzyyzzyyyzz{zyyxyyzzyzzzyx{zyzyzyyzxyzzzzy{{yxzyzzyyzy{yxyz{zyyxyzyxzzzyyzzzyyyyyxyzyyzzyyzzxyzx{yyyzzzzzyzzzyyyxyxzxz{z{zzzyyyxxyyyzyzzyzzyyzyyyxyyyz{yzyzzyyyyxyyxyyzzy{yyyyzzzzyyyzyzz{zzyxzzyyzyyyyzz{z{zyzzyxyyzyzzyzzyzyyyyy{yyzzzyyzyyyyyyyzyzyzzzz{{zzyyyxzyzyzyzyzzyzzyzyzzzzyzzz{zz{yyyzzz{zz{{|zzyzzyzyzy{{zzz{z{zzzzzyyyy{zzzzz{zzzzyyzz{{zzzz{{z{z{zz{z{{z{{{{{{yzzyzzzz{{zz|{{{zzz{yyy{zz{{{{zzzyz{zyzzzzzz{{z{yy{yzyzzz{{{{{z{{zyz{zz{zzyzz{{zzzyyyzz{{z{zzzzxyzzzxyyyzzyyzzzyyyyyxzyzzzyz{zzyyyywyyx{{zzyzzzzyyyyyyyzzyzzyzzzzyzzxyyyy{yyzzyyzyxyyyxyzzzyzz{yzyxyzyyzyyyxzyzzzxyxxyxyyzyyzyzyzyyyyxyyyzzz{zzyyyxxyzyz{zzyyzzyyzyyzyyzzyzyyzyzzzxxzxxyzzz{zz{yzxyyxzxyyyxzyzzzyyxyyyyyyyxzzzyyyzzzzxyzy{zzyzyyyyyzyyyyzzyz{zzyyzyyyyyzzzzzyzzyyyyzyyyyz{zzzzzyz{yyy{yyzyzzzzzzyyzxyzyzzzzzz{yzyyzzzzyy{zzzzyzzyzxzyyzzz{z{z{zyyzzzyzyz{zzz{z{zzzzzzyyz{zz{{{z{yyzzyzzzzz{z{{zyzzyzzzy{z{z{{{{zzyyyzzzz{zy{{z{zzz{z{zzz{{{yz{zzyyy{zz{zz{{z{{{{zyzyzyzzzyz{z{zyzxyzyzzy{yy{{zzzzzzzz{xzyz|zy{yyzyyzxyzyzzy{zyzxyxxyyyyzzzyzxzyyxyxyyyyzzzzyz{zyyyzyzzz{zzyzzy{yyxyyyyyyz{zyz{zzyzyyyxyzyzzxzzzyyyyzzyyyzzzzzzzzyyyyyyxzzyxzzyzzxyyyyxzzzzzyzzzyyyyyxxyzzyzyzzz{yyyxzxyzzzyzzzzyyxyxzyyzyzzzyyzyyyyyxxxyyxyyzz{yyyyyyyxzyyyyyyzyyzyyzyzzyyyyz{zyyyyyyyyzzyzzy{{yyyyyyzyzyzyzzzzyzzzxyyz{zzzy{{zyyzzzzyyyz{zzzzzyzzzzzzyz{zzzz{zzyz{zzyyzyzyyzzzyyyzzyyzz{{zyzzzz{zzzyzy{{z{yzz{zzzzyyzyy{{yzzzzzyzzz{z{{{zz{zzzz{zyyz{zzz{{{{z{yyzzy{zzz{{|zz||zzz{zzyzz{zz{{{zzzzzzyzz{y{zzz{|{zzz{zx{z|z{{z|{{zzyzzzzzz{{zzz{{zyzzyyy{zzzz{{zzyyyyyyy|{zyzyzzzyyyzyyxzyyzzyyyyzzzzxzyyzyzzy{|z{yxzzyyyy{zzzzzyyyyyzzzyzz{yz{zzzyxyxyx{zzzyzz{xyzxyyzxzyzyyzzyyyyyxyxzyz{yyzzyzzyyxzyzzzyzyzyzxyzyyyyyxyyzzzzzyzyyyzyyzzzyyz{zzyzzyyyyzyzzzzzzzyyyzyyxzzyzyzzyzyyxyyyzyzxyy{{zzyzxyyyyzzzz{{z{zyzyzzyyyzyzzzzzyxyzzzzyzzzz{zzzzzxxyzyyyzyzzzzzzzzyzyyyyy{yzz{yzzzyzxxzyz{zy{zyyyyzyyyzzzzzz{zzzyyzyzzzzzz{zz{zz{yyyy{zy{{zz{z{zzyzzzzyzzz{{{{{zzyzzzyyz{{zy{zzzz{yz{{yz{z{{|z{{yyzyyzzz{{z{zz|zzyyzzzz|{zzzz{zzy{yz{zzzz{{zz|{{{z{yzzzyzz{{zzzzzzzyzyzzzzzz{z{zzyzzyzyzzz|zzzzzzzyyyyyzzzzzzz{zxxyxzzyyzyyzy{zzzyyzzzzzzzzyy{zzyyzyzyyyzzzz{zzyyyzxyyyz{zyyzzzzyyyyzyyyyy{yyyzyyyyyyzyyyyzyzyzzyxyxyxyzzzzzyzyyzyyyyyyyzyxyzyzxyyzyyxyyyzzzzzzyzyyxyzzyzzyyyzzyyyyxxxxyzyzzy{zzxyzyyyzzyxyyyyzyyyyyxzyyzxyyyzyyyzyyyxxzzzyyzzzzxyyyzyyzyyzz{z{zyzyzyzzyyyyzzz{yyyyyyzzz{{zzz{zyzzzyyyzyzzzyzz{z{yyzyyyzz|{zyzyyyzzzzyz{zzzzzzzyz{yzzzzzzzzz{{zzzyzyy{yy|z{zzz{zzzzyzyx{z|{z{{z{yzzzyyyz{{zzz{{{zyzzz{zz{z{{{{zz{zzzzzy{|z{{{z{{zzyxzzz{z{z|zz{{yz{z{zzzz{{{z{z|zyz{zyz{zz{zz{{{zyyzyzy{z{zzz{zzzyyzyyyzzzz{yzzzxzzyyyzzy{zyzzzzxxyzzyyyzz{zzzzyyzyyyyyyyzz{z{z{yyzy|yyzzzzzz{yzyzyzyzzzzzzzzz{zzyyyyyyzzz{yz{{yyyzyzyyyzzyzzz{zyzyzyzy{zyzz{zzzyyxzzyxyzzyy{zzyzyyyyyx{{yyzzzzz{zyyxyyzyzy{zz{yyzzyzyyx{zz{z{{zyyyzyyyyyzyzzzzyyyyyzyzyyy{yyz{yyzzzzyyz{z{zz|{zzyyzyz{{{zz{z{zyzyzyyzyyzz{{{zzzzzzzyzyzzz{zz{zyzzzzzzzzzz{|zzz{yzzzzyxz{y{{{zz{yyzyzyy{zzzzzz{zyzy{z{zzzzz{{{{z{z{yz{zzzz{zz|{zyzzzyzy|{|z{{{zzzzzzz{z{{{zz{|zzz{zzz{{{{z{{{{{z{yzzzzz{|z{zz{{{zz{y{zy{{z{{zz|{{y{z|z{{{z{{{{zzz{zzzz{z{z{z{z{yzyyyyyzz{z{{{zzz{zzyyyz{|z{z{{|xzzzzzyyz{{zzzzzzzyzyyyyyy{yzzzyzzz{yyxzyzz{zzzzzyyyyyzyzzzz{zz{yyyyyxzyzz{zyz{zyzyyyyyxzyzyz{zzyzyyyzyyzzzzy{z{zzzzzyxxyzyyzyzyzyzyzyyyzyzz{z{zxyyzyyyzyyyyyyzzzzzxxxyzzz{y{z{{yxyxyyyyyzz{zzzzzyxyzzyyyyyzyz{zyyzzyxyyzyxzzzzzyzzyyyyzzz{z{z{zzyyyzyyyzzyzy{yzyyyyzxyzzzz{yyz{zyzyyzx{yzzzzz{zyyzyyzzyzz{{z{zzzyzzzzyyz{{zzzzzzyyyzyzzz{{zy{zzzzyyzzy{|{{{z|{zyyzyzyzy{{zz{z{{zyzzzzyy{{{zzzzyzyzzzzyz{{{z{z{{zzzzy{{{zzzzz|{z{yzz{{zzz{{{{{{z{zzzzyzzzz{zzzz{|yzzz{zz{yzz{|{{{zzzzzzz{z{yzyz{z{zzz{zzz{{zz{{z{zyyyyzy{zzy{{{zyy{yzxyy{z{z{yyzzyyyyyyyzzzyyzy{zyzyzzyyyz{zzzyzyyyyyzyyyyzzyyzzzyyzzyyzzz{yyzzzzzzyyzyyyyyzyzz{yzyyzyyxyzxyz{yyzyyyyyzyzzzyzyyzzyyyxzyyzzz{yzzzzyzyyyyyzyzzyzzyzxyyyxxyyxzzz{zyxz{yxyxyyzzzyyzzzyzyzzzyzzzyzzz{yyzyzxyyzzyzzzzzyyzzyzyyzyzz{zz{yzzyyyyyyzyyyzzzyzyzyxzzzyzz{zzzyyzyyyyyyzzzzzyz{yzzzyzzyz{{yzzzyyyyzyyz{zzzzz{zzzyzzyzxz{zzyyyzzzzzzyyzzz{z{{{|zzzzzyzzyzy{{{z{{xyzzyyyzzzz{zzzzzzz{zyz{{zz{{|{zzzzy{z{{{yz{|{{zzzyyyzzz|{{{zzzzy{zyzzyy{{{zzzz{yzy{zzyzzz{{{{{{zyz{yzzz{zz{z{{z{yzzzzyzzz{z{zz{zyzyzyzz{{{yzzzzzyxyyzy{{zzy{yzzyyzxyzzzzzzyzzzyyyyyyyyzzzzzzzzzyyxyyyyzzzzzzzzzyyyzyyxyzzy{zzzyyyyyyyxyy{yz{zzxyyy{yyyyzyzzyyzyzyyzyyzyyyyyzyyzyyyzzyyyyzyyzzzyyyyyyxxyyyzzzzzyyyyyxyyzzzzzzy{zyyyxyyzyzzyy{zzyxyyzzyxxzzzy{zzyyyyyyyxyzxzzzzzyyyyyyyzzyzzzzzzyyyzyyyxyzzz{{zzyyyyyxyyzyzzzz{zyzzyxxzyyyzyzzzyzyyzyyyzzyy{z{{zzyzyyyzy{zyz{z{zzyyzxzzyyy{yz{zzzzzyzyyyy{{z{{zzyzzzzyzzzzzz{{z{zzyyzyzyz{{zzz{z{yyyyzzzz{{z{{{{zzzyzzzzzz{z{{zz{zyyy{zyz{{z{|{z{z{zzyzz{{z{{{zzzzzzzzyzz{zzzz{{zzyzzyzzz{{zz{z{yyzyyzzyy{z{{z{z{yzzzyzzzz{z{yzzzyzyyzyzzz{z{zzzyyxyzyyzzzzzzyyzzyxxyyyxyzzzzz|zyyyxzyzy{yyyyy{zyyzxyyyxzzzzzz{zyzyxzzyxzyzzyyzzyyzzzxxyyzzyzz{yzyyzzyyzzzzzzzyzyyzzxyyyyzyyyyzyzzyzzxyyyzyyzzzyzyyyyyyyyzzyzz{yyyzyzxzyzzzyyzz{yxyzxxyyyzzyzyzzzyyzyyzxyzzzzzz{yyyzyyyzzzyyyz{zyyyzyyzz{{yyyzzyzzyxyyzzyzzzzzzzzzzzzyzyz{{zzzzzyzzy{xzyy{z{yz{{zyzzzyzyz{|zy{zz{yzyzzzxz{{zzzy{zzzz{zzz{{{{zz{yyzy{zzyyzyz|z{{{yzzzzzzyy{z{{z{zzzzzzzyzz{{z{z{{zzzz{|zz{{{{{{{{{zzzyz{zzz{{z{{{{zzz{zzy{|{|z|z{yzyz{zy{zz{{z{{{{zy{zzzzz{z{{zz{{yzyzzzzz{{z{|z{{zy{zzyyzz{{{z{zzzyyzyzz{zzyyzzyzyyxyzyyyyzyzzzzyzyzzzyyzyzyzz{{zzzyxyzyzyzz{zz{zyyzyyyyzzz{yzz{zyyyxzyyzyzy{zz{zzyyyyyyyzyzyzzzzyzyyzyyzz{yyzyyz{yyzyyyyyyzzzz{yyyxyxxyzyzyyz{zyyyyyxxyyzzz{zyyyyyzzyyxyzyzzzz{yyxzzzyzyzyyzzzyzyyyzzzyyzyyzz{zzyyyyzyyzzzzzzzzzyzyyyyyyzzzzzz{zyyyzyzz{zzzyzz{zyzzzzyzyzzzzz{{zzzzzzyzyz{zz{zyyyzwzyyyz{{z{zzzzzyzyzzzzzzzz{zz{zyyyzz{zzzz{z{|zzzz{yzz{{z{zz{{zyz{zzyyz{{z{{{{zzyzzzyz{{{z{{{{zzzyz{zzz{{{{zz{zyzzzyzz{{z{zz{{zzzz{zzzzzz{zz{{zzzzzyz{y{zz{{z{{z{zzzy{{{z|{{{{zzzzzzzzy{zzz{{z{yzzzyzzzy{zzzzzzzzyzyzyzy{z{{yyyyyyyyxyyzzyzzzzxyxyzzzyyzyzz{zzyzyzyyyxzzzzzzzzzyzzzyyzyzzzz{zzyzyxyyzyxzzyzzzzxzyyxzyxyyyxzzzyzyzyyxzyzzzyy{yzyyxyxyyzyzyzzzzzyyyyyzyyyyzzzyyyyyxxxzyyzzzzzyyyzyyxyyyyyzyyyyzzzyyyyyyyyzzzzzyzxyyyyyyyyzzyyzzzyyyyyzzxyzzyzzzzzyyyxyyyyzzyyyz{yyzxyyzyzzzzyzyzxyyzyzzzzzzzzzz{{zyyzyzyyzy{{{yzyyzyyyyyzzz{zz{zzyyzyyyzzzzzzzzzzzyyyzyyzzz{{zzyxzz{y{zyzzz{zz{zzzzyzzyzzzzzzz{zzzzzzzz{{zz{z||zzzzzzz{zzz{z{{{zzzzyzz{zzz{z{z{{zzzzzzzy{{zzzzzzzyyyzzzzz{{zz{{{zyyzzzy{{zzz{{z{zzzzzzzzzzzzzz{zzzzyzzyyzzz{zzzzyyyxzxzy{zz{xzxzyzxyzyywzzzyyzzzyxyyy{zyyyzyzzz{zzzyzyyyzzzyzzzzzzzyzzxzyz{{{z{{y{yyxzyxzzzyyzyzzyyxxzzzyzyyyy{zyzzyzyyyzzzyyzz{zyzy{xxzyzzz{yz{zyyzyyyyyzzy{zyyyyzyyyxyyyyzyyz{yyyyyyyxy{y{zzz{{zyyyxzyyzyzyzyzyyyyyyxyyzyyz{zzyxzyyyyyyyzzzzzzyyyyyyyzzz{zyz{{yzzyyyxyzzyyzzz{yzyzzyxzz{zyy{zz{yzyzyzzy{zz{z{yzyyyxyzzy{{{zz{zzyy{zyyyzyzzzz{{zzzzyyzzzzy{z{zzyyzyzzyzz{zy{z|{zzzzzzzzz{{{{zzz|zyzzzzz{{z{{|{|{{{z{yz{{{{z{{{{{yyzz{yzyz{{{|z{{{zyyyzz{zz{{|z{{zzzzzzz{zzzzz{z{{zyzzz{{{{{{z{{z{yzzzyzzz{z{{{zzzzyzyzyz|zz{zzz{zzxzyzyyzy{yyyzyzyyy{yyzz{zy{yzzzyyxyyyyzzz{zz{zxyyyz{zzz{{zz|zzyyyyyzzzzx{yyzzzyzyxyyyyyzzyzzzyzyyyyyxzzzyyz{zyzyyyzxzzyzzyz{yzzyyzyyzyyzzzzzyyyzzzyyxyzzzzyzzyxzyxyyyzyzyyzzzzzzyyzyxyzyyyz{zzyyzyyyzyyyyz{zzzyyyxyzxyzyyyzzyyyyzyyxxyz{zzz{{zyyxzyyyzzzyzz{{zzzzzyzzzzzyzyzzyzzyyyyz{z{y{z{{zyzz{y{zyzz{{zyzyyzxzzzy{y{zz{{zzy{yzy{y{{z{z{zz{zyzzzyyz{{z{z{zzy{zzyyzyzz{zzz{{zyzyzzzz{z{z{{zzzzzzyz{z{{zz|{{zzzzyzzz{y|z{|{{{zyzyzzz{{{z{z{z{zz{zzzzz{zzzzz{zz{yzzyz|zzzzz{z{{z{zzyz{zzz|zz{{zyzzyzz|{zy{{{z{zyzyzyyzzzz{z{zzzzyzyzzz{|zzzzyzyyyyxzzzyzzyzy{yzyyyyyxzyzy{zzzzyyzzyxyzyyyy{z{yzzyzxzyzzz{yzzzyyyxyyzxzyzzzyzzyyyyyyyxy{zyzzzzzzyyyzyz{yyzzzzyzyyyzyyyyzyzyzz{yyxyyyyyyyyzzzzzyyyzyzyyyy{z{zy{xyyxyyyyyzzzzzyzyzzyyxyxyzzzzyzzzyzzyyyzx{yzzz{zxxzxzyxxyyyzzyzzzyzzzyxyz{zzyzyzzzzzyzyyzzzzzzz{yyyzyxyyzzzzz{{zyyzyzzzyz{zzz|zzzzyyzzyy{zyzzy|zzyzyzyyyyzzzzzzzzyzzzzz{{z{|y{{zzzyyyzyyy{z{zz{{zyyzzyzyz{z{{{{zzz{zzyyyz{zz{|{|zzzzzyzzz{zzzz{{yyzzzzyz{|{{z{{{zy{zzzzyz{z|zz{z{zy{yzyyz{z{{{{{{zz{zyzz{{z{{|{{z{zyzyzyz{{{{{|{zyyyyzzzz{z{zz{{zyzxyyyyzzzzzzzzyyxyyyzxyzzzzz{zzxzyyyyzzzzzzz{{zyxyzzxyzzzzz{{zyzzxyzzzzzzzzyy{zyzyyy{yyyzzyzyzzyyyyyyxyzzzz{zzzyzzyxxxyzzzyyyzzyyyxyyyzyzzzzz{yxyyyyyyxyyzy{yzzxyzzyyzyyzzzzzzyyyzyyyxzzz{zzzyzxxyxxzyyyzzzzzyzy{yyyyyzzzzzz{zyyzyyyzyyzzz{zzzzyyzyyzyzzzyzzzzzzzyxzyzzyz{{z{{zzzyzyzy{zz{zz{zzyzyyzz{z{zz{zz{zzzyzzxzzz{yzzzzzzyzzyyzzz{zzzzz{zyzzyz{zz{z{{{{zzyzz{zz{zzzzzz{zzy{zzyx{z{{{|zz{yzzzzyy{|zzz{{{zyyyzzzzy|zz{{{{{zzzz{yzz{{zzz|{{{zzzzz{zzz{zz{z{yyzzzy{{{{{{z{zzzzzyzzzzzzzz{{{z{zzy{zz{z{zz{{{yzyzzyzyzz{zz{|{zzzyzyyyzzzy{zyzyyzyyyyyy{zzy{zzzyyzyyyy{yzz{{{zzxzy{zyyzzzz{zzzxyzyyyzyzzz{zzz{zzyzxzyyzzzz{{z{zyyzzzxy{zyy{zz{yyyzzzzzzz{zzzz{zzzyzzzyyzzzyyzzyyyyyyyzyyzzz{zyzzzzyyxy{z{zzzzzzzyyxyzyy{{zzz{yzyyyxyyyyzzz{zyzzzzyyyyyyz{zz{yzzy{zzyzyyzzzzz{z{zyzzzyzzz{zzzz{zyzzzzzz{zyz{zzzzzyzyyy{zz{{{{{zyzzyzzyzz{z{{zzzzz{yyzzzzz{z{{zzzzyzyyzzz{{zy|zzyzzzyzyy{zz{{{{{yyyz{z{{|{z{zz{{zzzzzz{zz{{{{{{{{{zzzzzz{{zz|z{zz{z{z{zzy{zz{{{{|zzz{zzz{z|{{zz|{zz{zz{z{{z{z{{z{{zz{{yz{z{|zz{|{|zzz{z{z{{|{|{|z{yyz{zy{{{{{{{{zzzz{{yzz{{|zz{zzy{zyyzzzy{zzzzxzzyyzzzyzzzzz{zzyzyyzyyyzzyzyz{yzyyxz{{yzyz{zz{yzyyyzyyzyzzzzz{zzzyyyzzyzzzzzzz{xyzzzyyyzzyyz{{z{xzzzyyz{yy|zy{zzzyyyyyz{{z{z{zzzyzyzxyyzzyzzz{zyx{yyyyzzyzzzzzzzyzyyzyyzyzyzyz{yyzyyyyxyzzzy{zy{zyxyzyyyzzyz{zzyzzzyzyzzyzz{{z{yyyyzyzzz{z{z{z{zyyzyxzy{yzzzyzyzzzzyzyzzz{zzz{z{yyyzyzzy{z{zzy{zyzyyyzyzz{z{z{zzyzzzzzz{{{z{{{zzyzyzyz{{{{z{z{{zzyzz{zzzz{zzz{{z{z{zzzzz{z{zz{{{zzzz{zz{{{z{{{{{z{{z{{zz{{z{{z{zyzzz{{zz|{{|{{{{yzzzyzz{{zzy{{z{zzzzyzzzz{z{{{{{zyzzzzz{{z{|{z|zzzzzzz{{{zz{|{{zzzzzzyyz{zz{y{zzzxzy{zyzzzzzzyzzyyyxyyyyz{z{zz{yyyyyyxyxzzy{zzzyyxyyyzzzzzzzz{zzyzzyyyzzyzzzz{zyzyyyyyxyyzzyzzzzyyzzyyyyyzyzzzzyyyyyxyyzyzzy{zyyyyzyzyyyzzz{zzyyzyyyyyzyzzzyzzyzyyyxyxyzzzy{yzzyzyyyzyyyzz{zzzzyxzzyyzzyzyyyyzzzzyyyxzyyyyyzzzzzxyyyxxyyzy{zzzzyyzyzzzyzzzyyzzzxyzyyyzyzzz{y{z{yyyyyyzyzzzzy{zzzyyyzzyyyzyzz{zzzzzyyyyzzzz{zzzzzzyz{zzzzyzzz{zzyz{zyyzzzzz{z{zzyzyzzyzzyzz{y|z{yzyzzyyy{y{{{{{z{zzzyzzz|{zyzz{{{zzz{z{yzzz||{|{zzzyz{zzz{y{zzz{zyzzyyyzz{zzy{z{yzzzyyyzz{z{{{z{{{y{zzzz{{z{{{{{zyzyzyzzzzzz{zz{zzzyzzzzz{zz{{{zzzzyzx{yyyzzyzzzyyyzyzyxy{zy{zzzzzxyxyzyzzzzz{{zyzyyyyzyyzz{zz{zzyy{yyyyyyz{yz{zzzyyyzyyyz|yzzyzyyyyzxyyyzyyyyzzyyyyyxyxzz{zyz{zyyzyxyyyzyzyz{zzyyyyyyzyyzzzzyzzzzyyxyxzzyzzzzyzzyzyxyzxyyzzzz{zzyzyyyyxyzyyz{z{yyxyzxzzz{zz{zzzyyyzzyzyzz{z{zzzzyzy{xyyzz{zzzz{{yzyzyzyyzzzyz{zzxyyyzzyzzyyyzz{{z{zzyyzz{zzz{zzyy{yyzyyy{zz|y{z{zyzyzzzzyzyz{zzzzzzyzzzzzzz{{zzzzz{zz|yy{z{zz{{zz{zzzyzzzz{z{{z{yzzzyzz{{{{|{z{zzzzyz{z{{z{zz{{zyzzzyzzz{{{{z{{z{z{zzzzzy|z{{|{z{zzzzzz{zzz||{|{{zzz{zz{zz{{{z{yzzyzzy{yzzz{z{{{{yyzzyzz{z{z{{zyyzyzyzyyyy{yzzzyyyxyxyyyzzzyyz|yzxyxyyyyzyyy{zzzxyxxyyxzzyzzzzzyzzzyyxzzzzzyyz{zyyyyzzxzzz{z{{zyzyxyyyyz{zyy{zzyxzxzzzyzzzyyz{zyyyyyyyyyzyzz{zzyyyzyxyyyyzzyzyzzyyyxyyzzzzzzyzzzyyyxyxyy{zzyzzzzyzzyyzyzyyxzyyyyxyx{yyzzyzzzzzzyyyyyyyyzzyzzzz{{yxxyyzyz{zzz{zzzzyyxzzyzzyzzzzzyyyyyxyy{zzz{{zzzz{yzyzyz{{zzzzzyyxyyyyyzzzzz{z{zyyyyzy{zz{zzz{yyzzzyzyz{zz{{{{{zz{{zyyzzzy{zzz{yyz{zyyy{{{zzzzz{zzyzzzyzz{z{zzzzzzzzzzzzzz{z{{{zyyzzzzzz|{{z{z{{zyzzyzy{zzzzzz|zzzzzzz{{{zz||z{zzzzzzzz|y{zzzzz{zzzzyy{{z{{z{{zz{yzz{zxzzz{{zzzzz{yzzyy{zz{zyzzyyzzyxyyyzzzyzz{zyyyzyyyzyzz{z{yzzyyyyyyzyzy{z{{{yyyyyyzyzyyyz{zzzzxzzywyzzyyzzzyyzxyyzyyzyyyzzzzyyxyzyyzz{xzzyzyyzyyzzyzzyyyyz{yyyzzzzxyzzzyz{zyxyxxzyzzxzyzyzzzzyyyyyyyzyzyz{zyxxyyzyyyzzyzz{zyyyyxyyyzzzzzzzzyy{yzyzyyzzzyz{zzyyyzy{z{zzzz{zzzyyyyxzzzzzyzzzzyzzzyyzyzzzzzy{{zyzxzyzyy{{zz{zyzxyzzzzyzzzzzz{{zzzzyzyyzzzzx{z{zyzy{y{zz{{z{{zzyzzzzxzyz{zyzz{{zyzzzzzyzz{z{y{{{yyzzyyzz{{z{{{|zzzyzz{zzzzz{{{{zzzzyyyyy{z{{{z{{zzzzzzyzz{z{{{z{zyzyzzyz{z{zz{zz{z{zzzz{zz{{||zzzyxyyyzyzy{{{{zyzyyzzyyzzz{yzzyzzzyyyyyyzzy{y{zzyzzyxxyzzzzyzzzyzyzyyyxz{zzzz{{zyyyzyyyzyzzzzzyzy{zyzyyzzyzzyzzyzzxyyzxz{yyy{zzyzzyxyzyy{zyz{zyyyxyzyyyyzzy{zyz{yyyyyyxyzyyyzzzxyyzyyyyyyzzzyzzzzxyzyyyzzzyyz{zyyyyyyzyzyzyzzy{yyyyzzzxyzzzzzyzzzyzyyyyyzzyy{zzyyzxyzyyyzyzyzzz{xzyyy{zzzzzz{{{{zzzyzyzzzzyzz{{zzzyyzyyzzzz{zzzzyzyyzzzyy{z{zyzzzyzzyzzzz|zzzzzzzzy{zzz{zzxz{zyy{yzyzzyz{z{{zz{yyzzzzzzzzz|{|{{{z{zyzyy{z{z{{zz{zy{yzyz{{{{zz|{zzyzzz{z{zz{{{{z{zzzyzzzz{{{{z{|zzz{z{{{zzz{{{|{{zzzzzzzzzzz|{{{zzz{zzzzzzz{z{{{z{zyzzz{z{z{z{{zzzzzyzxyz{{zz{{{zzzyyyyyz{z{zzz{yyyzzyzyyzzyyzy{zyxyyyzy{{yz{zzzzzzzyxzzzyzzz{zzzyz{zxyyyzyzzyzzzzzyyy{yzzzzyzz{zzzyyzyyzzzyy{{zyyzxyzyyzzzyy{yzyzzxxyyyzyyzyzzzzyyyyxxzyzzzzzzzzyyyyyyyzzzyyzzzzyyyyxyyzyzzzzz{yyyzyzyxzzyzyyz{yzyyzzzyzzyzy{zzyyzzyzyyzzyzz{{zzzzyzyzzz{{zz{z{yzzzyyyzzyzy{z{{yzyyyzzy{{zzzz{zzyzzzzyzz|{zzzzy{zyyyzzzz{{z{z{{zyxzzxyz{{{zz{{{z{yyzzzy{z{z{{y{yzzzzz{zz{zz{{{{zyzzzzzzzz{{{{zzzyyzzzzzz{{{{{z{zz{yzz{yzzzz{{{{yyzzzzzzy{z{|{{|zy{zzyzz{y{z{zz{{yz{{{zz{{z{{{|{zzzzzzzz|{{{zz{|{zzxz{{zz{{zz{{|z{zyyzzzy|zzzzzzzyzzyyyy{zz{zzzzyyyyzyyxyyzy{yzzzyxxyyyyzzzzzzz{yyyyzy{yyyz{{z{{zzyxzyzyzzy{zzzzyzyzyyyyyyzzz{zzyzyxxyyyyyzyzzzzyyyxyyyyyyzyzzzzz{zyyyyxyyyzy{y{zyzyyyyyz|yzzzzzzyyzyyxzzyyxzzz{yyzyyyyxzzzyzy{zyyyzxyzxyyyyzzzzyyyyyzzyyzzzyzzzzxxyyyyzyzzzzz{zyyzyyyyyyzyzzzzzyyzyyyyzzz{yyzzzyxyzyyxyzz{z{z{zyyzyyzzyyzz{{{zzzzyyyyyyzzzzyz{zyzzyyyzzzzzzzzz{{zzyyzzzzzzz{z{{yzxzyzzzzz{{zz{{zzyyyzyyzzzzz{{z{yyzyzzz{{zz{{z{{zzzz{{z{zzz|z{zzzzzzzzyzzz{{{{{{yzzyzzzzz{zz{z|{yzzzzz{{zyyz{|{z{zz{zzz{zz|{zz{{zyyzyzz{{z{z{{{zzzyzzzzyzzzzz{zzyzzxy{zzzzzzzzyzyyyyxyyyz{zzzzyzyyyyyyyyzzzzy{zyyzyyzyxzzz{yz{yzyzzzzyzzzzzzyzzzzyyyyzy{yyz|zzzyzyyzyzyyz{yyzzyyyzyzzyyyzzzzzzzzzxxyyxzyzyzzzz{yyxyzzyy{zyyyz{zzyyyxzyyzzzyzzyzyyzyyyyyzzz{yz{{yzxyyyyxzyzzzz{{zzzyyyzyyyxzz{zzyyyyzxyyzzzzzzzzzyzyyyzyyzzzyyz{yyzzyzzzzyy{zzz{y{zzzz{yz{{zzz{zzyzzzyzyyyz{z{zzzzzz{yxyzz{zz{{zzyyzyz{zz{{zzz{zzzzzzzyy{y{zz{{zzzzyzzzyz{z{{z{{{zyzzzyzzz{z{{{{{zyzzzzyz{{|z{z{{z{zzz{zzzzzz{{z{yzzy{zzz{{zzz{|{z{{zzzz{z{z{{z{zyzz{zzz{zz{zz{{{zzzzzzz{{z{{zz{{zzzyzzzz{z{{{{|zzzzzzzzyz{zzz{{yyzzzyzyzzy{zzzzzzyyyyzxy{{zzzzzxzzyyxxyzzzzyz{{{yzyyzyyy{zzz{zzzyzzyzyyyz{zzyzzyyzyyxyzyzzzz{zyyzzyyzzyyyzyyzzzzzyyzyyyyyzyyzzzzzzyyzyzyyzzzyzzzzzyzzyyyzz{yz{zyyyzyyxzzyyxyzzzzyyyyyyyyz{zyz{{zxyzxyzyyyzzzzyyyyzyyyzzzzyzz{zzzyzzyzyxyyzzzzzyzzyyywzyyzzy{{zz{zzyyyzzzzzzyz{zzyyzxyzzzz{zzzzzyyzyyyyzy{{zz{yzyyzzzzyzzzzzzzzzzyy{zzyz{zzzz{zzzyzzyzyzzy{{z{{zzz{zyy|zzzz{{z{|zzzzyzzz{{{{y{{z{zzzyzyzz{{z{zz|zz|zzz{zzz{z{{zz{zzzz{z{zz{{{{|{{z{{yzy{z{{{|{{{zyzyzzzyz{|zz{{|zzz{zzyz{z{{z{z{zz{yzzzyz{{{z{zz{yyyzzzzz{z|{{{{yzzzyyzyzzzzzyyzzzxyyzyxzzyzzzzzxyyxxyyyyzzz{{yz{zxyxy{yzyzyzyzzzyzyzzyyyzyzyzzzzyyxyzzxyzzzzzz{yyyzyyyyyzyzzz{{zyzyzzyyzz{yy{{zzyzxyzyzyyyzyz{zyxzzyyyxzzzzzzyzyyyzxyxyxzzyz{{yyzyzyyxzzyzzy{zyzyyyzyyyyzyyzzz{zyyyyyxyx{yyzzzzzyyzzzyyzyzy{zy{zzzyzyxzyzzyyzz{yxzzyyz{yzzzz{z{zzyyyyyzyzz{{zzz{y{zzxyyzzz{z{{zzyzyyyyyzzz{zzzzzxyzyyxz{{zzz{z{zyyyzzyzz{z{z{{zyzzzzzzyz{y{zzy{yzyz{yyyzz{z{{zzyyzyzyzzz|z{z|{{zzzzzzzz{zzzzzz{zzzyzzzyz{{z{{|{{yzzyyzyz{z{{{{z{zyzzzyzzzzz{{{z{{zz{z{{{{zzz||zzzzyzzzzzzzz{{|zz{z{zzyyyzzzzzzyzyyzyyyzyzxz{zyyzyyyyxxyyzyzzyzzyyyyyzxyzzzyyzz{yzxyyyzxzzzzy{{zzyyzzyxy{yzyzzzzyzyyxxyyzyyzy{y{yyzyxyyyzzyyzzyzyxyyzyyxzzzyzzzyxyyxyyyyyzyyyyzyyyzyxzyyyyzyyzyxzyyyyyyxyyyzzzyzyyzxxyxyyzzzzy{zyyz{yxyyzzzzyzzzyzyyxxxzyzzzy|zzyyyyyyyxyzzzyzzzyyxxyzyyy{zyyzz{yzzzyyzyz{yzzy{zzyyyzxyyzyz{{zz{zzzzyyyxz{zyzz{zzy{yyyyzyzzzzy{zyzyzyyzyyzyzzz{zyyzzyzzyzz{zz{z{z{zyzzzzzyzzy{zzzzzyzzyzz{z{|zzzzzzyzz{zz{zzz{{z{zyzyzz{y{z{zz{zzz{zzzzyy|y{zz{{zzyzzzz{zz{zzzz{{zzy{yzzzz{{zz{{{zzzz{zzz{{zz{z{{zyyzzyyzz{z{{{zyyz{yzzzzzzzzyzzxzzzxyzyyyyzzyz{xyyyzyxyxzzzzzzzyzyyxyyyxyzzyzz{yzyyzyyyzzzyzzzzzzzxyyyyzzzzzzzzzyyxxxzxzyz{zzyyxyxyyyxyyzyzzzzzyyyyyyxyyyyxyzzzzyyyyyxyyyyyyzz{yxxyyyyyzzyzzzzyyzyzxzyxzzzyzzyyzyyxyyyyyzzyyyzzzyzzxyyyyzzyyzzyyxzyyyxxyzyzyzyzzyyyzyyyzzzzyyzzzyyzzyzy{yzzzzz{zyzzyyyyzyzzzzzzzyyzzzxyzyyzzzzyzyzyyyzyyzzzyzzzzxzyzzzzzzzzyzzzyyyzyzyyzzzyyz|zzyzzz{zyzzzzz{zyyzzyyyyzy{zzzz{{zzzzzyzzzz{zzz{{zzyyzyyzz{zzz|zz{zzyyzzyz{zzz{{zzzzzy{zzyz{{z{{|{y{{y{zy{{{{z{{zzyzyyzzzzzzzz{{zzyzzyyyz{z{{zzz{{zzzzzyzyz{zzz{yyyzzyyzxzzz{{yzyyyyy{xyyyxzyzyxzyyyyxyxxx{yzyyy{yyxxyyyzzyzzzzzzzyyyyzyy{yzyz{zzzyzyyzyzyzzzyzzzzyyyyyyxyzzz{yyzyzyyxyyyzzxzyzzzyyzyxyyyzyz{zzz{{zyyxzzyzyyzyyzyyyyyyyyyzyzyzy{zzyyyyyyzyyyzzz{zzyyyyyxxyzzyzzzzzyxyyzyyzyyyyzz{yyyyyyyyyzzyy{zzzzyyzxxyzzzz{z{zzyzyyyxzz{zzy{y{zzyyyyzzzzyyzzz{yyzyyyyyzy{yy{zy{z{yzzzyz{zzzzzzyyyyzyzyzzzzy{{zzzyyyyyzz{zzzzz{zy{{zyzzzzz{zz{{y{zzzzyzz{y{{{{z{zzyzyyyz{{{zzz{zyyzzyyz{zzz{{{zzz{zzzzzzzz{z{zzzyzyzzz{z{{{{z|zzzzzzyz{{z{{{{z{zzzzzzyyzzz{z{|z{zzz{zy{{|{{zzz{zy{zyzzzy{z{zz|zzzyyzzzyyzzz{zz{zzxxyyyyzz{zzzzzyyyyyyyxyyyzy{z{zyxxyzxyyyzyzzzzzyyxyzxyzz{zyy{y{zyyxyyxzzz{yzyzzzyyxyyxyyyzzzzzyzzyxyyyzyzyzyzzzyzyyyzyyyzyxzyyzyyxxzxyyzzyyzzyyyyyyxzyzyzyzzzyyyyyyxyyyy{zzyyyzyyzxyyxyyyyzz{zyzyxyxyyyzxyyyzzyzyxyxyyyzzzyyzyyyxzxyyyzyyzyzyzzzyyzyyyzzzzzzzzyxzyyyyyzzyzyzz{yzzyxyyyyzyzzzzzzyyyyzzyz{{zzyzzyyzyyyyyzzzzyz{{zyyzyxzzzzzyyzzyzyzxyyyyzz{{zz{{zzzzzzzzz{{{zz{zyzzyzyyyz{{y{z{z{zyzzxzz{zzzzz{{yy{zzzy{zz{{zz{{|yzzzyyz{{{|zz{{zz{zyzyyz{{zz{zzzzzzyyzz{{z{z{{|{zyyyzz{zzyz{{|zyyyyyzyyzzzzz{z{zzyzzyzyy{zzyzzzyzzyyyzyyzzzzyyzyyyzyzzxyyzzzy{{zyyyyyyyzyzyzzzzyxyxyzyxzyy{zzyyyyyyzzzyzxyzyzyyzyzyzxyxzzzzy{y{yyyyyyyyzyzyyzzzyyxyyzxzyzzzzyzzzyxxxyxyzzxzzzzzyyyyyyzyzy{zyzyzyyyyyyxyzzzzzzyzxyyyyyxyy{zzzyyzyyzyzzyyyyyzyzzyyzyyyyzyyyyyzzyzzyyyzzyyzzzzzz{zyyyyzyzyzzzzzzz{yyyzzyzyzzzzy{y{zyyyyzyyzzz{{zzyyxzyzyyzyzzz{{zyyxyyyyyzz{zy{z{zzyzyzzzz{zzzzzy{zzzyzzzy{z{{{zzzzyzyyzy{z{{zz{{zzzzzy{yyz{{zzzzyzyyzzzzyz{z{|{{{zz{yzz{{{zz|z{|{zzyyyzzz{{{zz{z{{zzzzyzz{{{z|{z{zzyz{yz{z{zz{{{{zzzzzzyyzyz{{zz{z{zyzzzyzzzzz{{|zzzyzzzxzzzzzzz{yyzxyyyy{zzzyzzyzyxzyyyxzzzzz{zzyyxyzyyyz{zzyzzzyyzyyzxyzzyzzzzzzyzyyxxzyzz{yyz{zxyxxzyyzzzzzzyzyzyyyzyxyyyzzz{zzzyyyxyxyyzyyzzzzyyxxyyxyyyzzzyzyzzyyxyyyzzyyyzyyyyyyyyyyzzzy{zzzzyyyyyyyyzzzyzzyxyzyyyyy{zyyyzzz{yyyyywy{z{zzzyzyyy{yyyyz{xzzzzyyyyzzyyyzzxzz{zzzzzzxzzyzzyzzz{zyyzyzzzzyzzyz{{zzyzyyzy{zzzz{z{zzyyzyxyzzzyzz{zzzyz{yy{{{zyz{zzzzzzzzxzz{zz{z{{yyzzz{z{|zy{z{{|zzzzzyzyz{{{|zzyzzyyzyyy{{|yzz{{z{zyz{zz{{{{zzz{{yzzzzyyz{z{{z{{zy{zzzzzzzz{{z{{zyzz{yyzz{yz{zzzz{zzzzzyzzy{zzz{yzzyyzzy{{z{z{|{zyxzzzyx{{z{zz{{z{zyyyyyzzzzyzyzyxzyyxyyyz|zyyzyyyzyyyyzyzzzz{zzyyyyyxyyzzzzzyzzxzzyyyxxyzy{yzyyxyzxxyzyzzyzzyy{zzxxyzyyyzxyzz{yzzyxyxyyzxzzyzyzyzyyxzyxyzyyzz{zxxyyyxyxxyyyzyzyyyyyxyxxyzzyzyyyyyyyxyyxzzzyzz{{yxyyyyyxzz{yyzz{yxxyyxxyzyzyyzzzyyzyzyxyzyz{{zzzyyyy{yyzyyzzzyz{zzzyyyyyzzzzzzz{zzzzyyyxzzzzzzzzzxyzzzyzzzzzyz{zzyyyzyxzyzzzyy{z{yyzzyyzzzzzyzzzzyyyzzyzz{{zzyzzyyzzyzzyzzz{z{{{zyzy{yyzzzz{zzzzzyzyyxzyz{z{{z{zzz{zzzzzzz{y{{y{yy{yzzyzyzzz{z{z{zzzzzzzz{zzz{{zzzy{zzzzz{zz{{{{zzzzz{zz{zzz|z{{y{yyyzzyzyz{zz{{{zzxyyzyzyyzyyyzyxzyyyyyzzz{zzyz{yyyyyyyzzzzzyzzyxxyzyzy{zzzz{zzzyyyyxzyzyyzzzzzzyzyyxzyyyzzyx{{yzzzxyzyzzzyz{zyyyyyyzyxyyyyy{zyzyzyzzyyyyzzzyzzyzxyyyyxyyyzyyzzyyyyyxzyyyzyzy{xzxyyyyyyzzzzzzzzyyzywyyxyyyzzyzzzzyyzxyyzyzyzzyyyzyxxzyyzzzyy{zzyyyzyxxyzyzyzyzzzzyyyyyz{{zyzyzyzyzzyzyzzzz{zzzzzyzzzzyyzy{zz{z{zxzzyyyyz{zzzzyzzxzzyyyyzzzzz{zyzyyyzyyzzzzyzz{yy{yyzyyzzzzzz{zzzzzzzzzyz{y{yz{{{yzyzxzxz{{zz{{{yzzzy{zzzzzzz{{{zzzzzzzyz{{{zz{zzyzzzzyzz{{{{{{zzzzzz{zz{{zz{{{zzzyyzyzzyyz{zz||{zzzz{zz{{zz{z{zzzz{zzyyz{z{y{{zzzyzyzzzzzzzzyz{yxyyyyyz{zyzyz{yzyyyzxyxyzzyzzzzzyyyxxyyyzyzz{zzyyyxzzyyzyz{zz{zyyyzyyyyzzzzyzzzyyyyxyyyzyzyzzzzyyyzyxyxyzyxyzzzzyyxyyyyyyzyyyzyyzxyyyyyzzyyyzzzyxyyzyyyyyyyyzzzzyyyxyyyyyzyzzyzzyyzyzxyzyyzyyzzzzzxyyyyz{zzyzzzyyyxyyyxyzzyz{zzyyyyy{zy{yzz{yzzzzyyzyyyzyzzzzyzyyyzxzzyzzy{zzzzzyzyyyzyzzzzz{zzyzyzzyyyxzy{zzzzyyyyyzyyzzyzyzyyzyzzyzyz{zzzzzzzz{zyyyzyzyzz{{z|zzzzy{zzzzyzzzyzzyyzyyyyz{zyzz{zzyzyyzyzz{{zz{z{{{zzzzzy{zz{z{z{zzz{y{zzz{{{|{{zyzyzzzz{z{z{{|{{{zzyy{zzzzyzz{z{zzzy{zzz{{{zzz{{zyzy{zyyzy{yz{zzzzyzzyzyy{zzzzzzzyyzyyyyzyzzzzzyzzyyyyyxyzzyyyyzzyzyyyxxzzzyzy{{yzzyyxyyzyz{{y{zzxzyyzyzzzzzzyzzyyyyyyyxyzyyyzyzyyxyyyzyyzzyyzzyyyzyyxyyzzzyzzyzzyyxyyyxzyyyzzzzyyyzzyxxzzzxyyzyzyyyxyxyyzyy{yzyzyzxxzxzxyxzyz{yyxyyyyxyzzzyyyzzyzyyxyxxyzyzz{zzzyyyyyyyzyzyy{{zyyyxyyyzyzzz{zzzyyzzzyyyyzzz{zzzzyzzzxzxzzzyyzzzyzyyyxyyyyzzyz{zzyyyzyxzz{{{zy{yzzyzzyzyzzzzz{z{zyyyzyzzzzz{zz{{zzzzyyyzzzzzz{zzyyzyzzzzz{zzzz{{{zyzzz{yz{{yzz{zzyzyyzzzzzzz{{{{{yzzzyzzz{{y{{{zzyzzzzzzz{{z{zz{zyyzzzzz{{yy{{{{zzyzzz{{{{z{z{zzyyzzyxyzz{z{z{{{zzzzzzzyzzz{z{z{zyyyyyyyyz{zyyzzyyyyyyxxyyyyyyzyyyyyyxyzzzyyy{z{yyxxzyxyzy{yyzzzyyyyyzyyyyzyzzyzzzyyyzxxz{zyyyzzxyzyywyxzyzyxzzzzyyyyyyyyzyzyzzyzyxyxyyxyyzzyyyzyyxyxyyxyzzyyyzzyzyyyyyzyzyzzyyzyyzyzyxyyzyzyyzzzzyyxxzyzzyyzzyy{xyyyxzzy{yzzzyzyyyzzyyxzzzzzy{zyxyyyzyyyzyzyzzzyyzyyyzzzyzzz{z{yyzzyzzyzzzy{zz{zyyzzzyyyzzzzzzzzyyyyyyzzzzzy{zzzyyyzzzz{{zzzzzyzzyyz{yy{zzzz{{{zzzzy{zy{zz{zz{zzyzyzyzyzzz{zzzz{yzzzyzzzz{{z{zzz{zyzyzz{z{{{{{zzz{z{{zz{{{zzz{{z{zzyzzzz{z{{{{{{zyy{{zzy{{zz{{{{yzzz{y{z{yz{{{zzzyyz{yz{zz{zzzzzzzzzyyyz{{zy|{{yxyyyxzzyzzzyzyyxyxyyyzyyyyyyyzzyyxyzzzyyzyyzyzzzyyyyzyyyzz{yzzzzyzzzyzzzzyyyzz{zzzxxxxyyyzzzzzzyyzyyyzyyyzzzzyzzzyyyyxxzyyyyzyzzyyyyyyyyyyzzzzzyyyyxyxyyzyzzyzyyyyyxyxyyyyzzzxzzxyxyyyyzzzzzyzzzzyyyyxyxzyyyzyzzzxyxxyxzyyyyzzzyzzyzzyyzzzzzyyzzyzzyyyyzyzzyz{zyyyyyyzyyzy{z{y{yxzyyyyyzyzyzzzyzzzzyyyyyz{z{zz|yzyyyzyyzzzyzzzzxyyzzzyyzyzzz{z{zzyzzyzzz{z{{zzzyzzzzyyzzzzzzz{{zzyzyzzyy{z{y{zyzzzzzzyy{zzz{z{zzzyyyzzyz{zzz{{{yzyzzzyzz{zz{zz{zzzyzzyyz{z{{zz{zzzzzyyz{zy{{z{|zzzyzyzz{{zzzz{{{yyyyyzzyzz{y{{zzyzyyyyyyzzzz{zzzyzyzyyyxy{yzzyzyyyyyyxzxyzyzyyzyyyzyxyy{zzy{zzzxyyyyyyyzyzyzzz{zxyyyyzyzzzzyzzzzzzyxxxyzzzzzzzzyyyzyyyyy{yyzyzyzyyyyzxyzzzyy{yzyyyyxyyyzxyzzzzzyzyyyzyyxzxyzy{zzyyzxywxyyzzzy{yzzzyyyxyyyyzyzyyyzyxxyzxyzzyxzzyzyyxyyyyyzzyxyzzzyyyzyyyzzzz{z{zzyyyzyyyyzz{zzyzyzzzyyyzzzzzyzzzyyyxyzyyyz{yzzzzzzz{zyyzyz{z{zzyzzyyzyyy{zzyyz{yyyyzzzyzzyzyzzz{{zyzzzzyzz{{|{{zyyyzzzzzz}z{zz{{zzzyzzzyz{zyzz{{zyyyzzyzz{yzyz{zzyzzzzzzzzzz|z{{{zzyzzyzz|zzyz{{zyzzzyyz|zzzzzz{{zyzzzz{z{z{{{{{{zyzzyzzzz{zz{z{zyyzz{yyz{yzzzzzzzyzzyzyyz{zzzzyyyyxyzxyzyzzzyyyywyxyxxyyxz{yxzzyyyyyxyyyyzzzzzzzyyxyyyyyyyyzyyzzxyzyyyyzyzzyzz{yyxxxxzxzzyzyzyzzyyzyyyxyzzzyyzzyyyxyyzyyyzyyzzzzzyxyxxxzyyzyyyzyyyyzxyyyyxyyyyxyxxzxzyzzzzzyyzzzxyyyyxyyz{zzzyzyyxzyyyyyzyyyzzzyyyyyyxyyzyyyz{zyyyyzzyxzyzzzzzyzzyyyyyyy{zyzz{zyyyyzzyyzyyyzzz{zyyzyxxyzzzyzyzzzyyyzyzzz{zzzzzzzyyzzzyxyzzzy{zzzzyyyzxyyzzzzzzzzyyz{zyyzzzzzzzzyyzxz{zxzzzzzz|zyyzyyzy{z{zzzy{zzyzyzzzzyzzzz{{zzzzyzzzzz{zz{zzz{zzzzzyzy{{{|zz{zyz{zzy{zzy{z}{{zzyzzzzzz{zz{{zzzzyz{{zz{yz{{zz{zzzyzzyzz{zzz{{zzyzzzyyyzzzz{zzyzzzyyyzyyyyyyzyyzyyxyxxwzyzz{yzzyxyyywyyyyyyzzz{yyxxzyxyyyyyzyyzzyzyyyzzyyzzyyyyzyyxwxyxxzzzyzxzxyzyyyxyyyyyyyzyyyyyxyxyyyyyxyzyyxxyxyxyyzyyzzyyxxxxyyxxyyyzzzzyxyxxyyxyxzyz{zyzxyyxyxyxyyyzzxzyyyyyzxxxyyzyyzzyyyyxxyyxzyyyzzyzyyxyyzyxxyzzyzz{yyyxyxyyyz{zzzzzyyyxyyyyyyyzzzz{xzyxxyyyyyzzyzyzzzyyzyzxyzzyzzzyyyxyyzxxy{zzzzz{zyyyyzyzyz{yyzzzyzzzyyzyzzz{zz{zyyyyzyyyzzzzzz{zzxyyzywyzz{zyzzyzzyyzyy{zz{z{zzz{yzyyzzzyyzzzzz{yy{zyzyzz{yz{y{{{zzzzyzzz{zzzz{z{yzzzyzzzzzyzz{zzyzzyyyz{{zzzz{zzzyyyyzzzzzzzzz{yzyzyyyyy{{zyz{zzyyxyyzy{zzyzzzyyxyyyyxzyzzyyyzyyyxxyxyzyzyyzzzzyxyyxzyxyyzy{zyzzyyxyyxyyyyzyyzzzyyyxyyyyzzzy{zzyzzyyyyyyzzxzyzzxzzyyyxyxzzyzzyyyyyyyxyyzyyzxzz{yyxyyzxyyyyzyzyyyyxyxyyxyzzzyzyzzzyzxyyxyzyy{zzzyzyyyyyxzzzyyzyzzzxxxyzyxzyzyzzzyyyyxyyyyzzzzzzyyxzxzyyzzzzzzzz{zzzzzyyzyzyyy|zzyyyyyyyyzy{zzzzzzyzyyyyyyz{z{{zzzxyzzxzy{zz{zzzzyyyzyyyxz{zyyzzzzyyyyyyzz{{z{{z{zzzyzz{yzzzzzzzzyzzzyyzxz{z{z{{yzxyy{yz{{{zz{{{{zzzzzzzyyzz{zzzzzzzzzzyzzzzz{zzz{yzzzz{y{zz{zz{zzyzzzzzyzzyz{{||yyzzyzzzzzz{{|zzzzyyzz{yyzz{z{{|zyyyyyzzzzzzz{{z{zzyyxzyzzzzyzzyzyzxyyyyzzzzzzzzyyxxyxyyzzzyyzyzyxxyyyyyyzzz{z{zzyzyzyxzzzzzyyz{zyyxxyyxzyzzyzyzzyyxyyyyzzzyyzzyyyyyzyyxzyzyyzz{xxxxyyyyzzzzyyyyyyyyyyzyyyyyyzzzyxyxxxxyyzzyzyzyyyyyxyxxyyzzyzzzyyyyyxyxzzyyxzzyzyzyyzxyzyyxyzzzyyyyzxzyzyyzzyzzyyzxyyyyyzzzzyzzxyzzyyzzzzyzyzzzzyzzyyyyyyzzzzzzxyzyyyzyz{zzzzzzy{yyyyzyzzzzzzzyyzzzyyzzyzz{zzyyyyzyyzzyzzzzzyyzzzyyzzzyzzy{{{{z{yzyzyyy{{z{{z{zzyzyyyzzz{{{zz{{yzyzyy{yzy{{z{{zzzyyyzyz{{zzz{{zzyzzzy{zzz{z{{{zzzyzzyzz{zzzzz{{zzyzzyz{{{{{z{z{zzyyzzzzzzzzzz{yyzzzyyyyzzy{z{zzyzzyzxyyzy{zyzy{yyyxxzxxzzzyzyzyyywzyxxyyyyzzyzzzyyxxxxyzyyyzyz{yxyxzyyyzzzyyz{zyzxyyyyxyzzzyzzzxyzxyyyxzzyyzzzyyxxyyzxyyz{yyzzyxyzxyyxyzyyyzzzzxyxxyyyyyzzyyyzzyxxyyxyyyzyyxzzyyyyxxyxwyzyzxyzzyyzzxxyxyzyyyyyyzyxyxyxyzyzzyzzzyxyyxyyxyyzzyzzyyxzyxwyyzzzzyyzzyyzyyyzyzyzzyzzyyzyyyyzzyzzzyyzzyzyxzyyyzzyzz{yzzyyyzyyzzz{zzyzyzyyyyzxzyz{zyzyyyyyzyzzyz{zzzzzzyzyzzzz{zzzzzz{zzyxyyyywzz{zz{{{yyyzyyyyy{{zzz{{zyzzy{zzzyz{z{{{zzxzyyy{z|z{{{{{zzzzzy{y{{z{zz{zzyzzzzzyzzzyz{z{zyyzzzy{z{{{z{|{zzzyzzxzyzzzz{z{{yyyyzyzyzyyzz{zyzzyyyxyzyyy{zzzzzyyyyxyyzzyyyzyyyyyxyyyyy{z{zz{zzyyzyyzzxzyzzzzyyzzyyxxzyzyyy{yzxyyxxyxyyzyzzxzxzywzxzyyzzzzzzzyzyyzyyyzzzyyzzzxzyyyyyyzxzzyzyzyyzxyxyyyyzyyzzyyyyyyyxyzz{yyzzyxyzxxzyxyyzyzyyzyzyzxxzyyzyyyyyyzyxyxxyzyzz{yz{yyyyxzzyxyzz{zzzyyzzyyyzyzyzzzzz{yzzyyxzyzzzzy{zzzyyyyyxzzzzzzzyz{zzzzxzyyzzyyzyzyx{yyyzzzzzzzz{zzyyyzyzyy{yzzz{{zzzyzzzzzzz{zzz{zyyyzyyzzzzyzz{zzxyyzzxz{z{{{{zzzzyzxyzy|zzzz{{zy{zyz{{yy{zzzz{zzzzzzzzyy{z{zyzzzyzyyyzy{{zz{{{zzyzz{zzzz{{zzz{zy{z{zzz{zz{yz{{zzzyzzyyzzzz{z{zzz{yzyyzzz{zzzz{zzyyyyzzyzzzyzzyzyzyxzyyyxzzzzyyzyyyzyxxyyzzyzzzzyyxxyzzxyzzyzzzyyzzyyyyxxzyzyyzzzyyyxyyyzzzzzyzzyzzyyxzyyzzzyzzzyyzyxzyyyyzzzz{zyzzyyyxyyzyyzyzzxzyxxyyyzzzzyyzyyxyzyyxzyyyxzyzzzyxxyxxyyyyzyzzzyyyxyyxxxxyyzzzzzyyyyyxzxyzzy{zzyxyyxyxyyyzyzyzzyyzyyxxyzzzyzz{zzyzyxy{yzyzzzy{{yyzzyzyxyzyzxz{zzxyyzyyxzzzzyzzyzyyzyyyyzyz{zzzzzzzyyyyy{zzyy{yzyzxyyzyyyz{zzz{zzyyyzxzzzzzz{{z|zyzzzxzzz{zzzzzzzyzyzzyzz{zzyz{{zzzyyyzzz{zz{{zzzzyzzzzzzzzz{{{{{zzzyyzz{{zzyzz|yyyz{zz{zz{{{{z|zzy{zz{z{{z{z{{{z{zyzzyzzzy{z{{z{zyzzyzyz{zzzz{zyyyxyyyyyzzyy{zyxyxxyzxxyzyzyyzyzyxxyyyyyyyyy{{yzyyxyzyyyzzy{zzzxyzzyzxyyzz{yy{zyyxyxxyyy{zyyz{zyyyxyyyxyyyyy{zyyyzyzyxyzzzzyyzyzxyyyyyyyxyzyyyyyyyyyyxxxzyzyzzxzxyzyyxxyyyxzz{yyyzyyxxyxyzzy{yzyyyyyyyyxyzyzyy{yxyzyyxyyyzyzy{zxyzyyyyyyyzz{zyzzyyyyyyyyzzzyz{yzyyyyxzyyyyyzzz{yyzzxxyzzzyzzzzzzyyyzyzxzzzzz{zzzzyzzyxyzy{z{z{zzyyyyyz{zzzzyzyzyzyxzzzz{{zz{z{{zyzyzzyzzzy{zzz{zzyzzzzyzz{zzzzzzyyyzzzy{zzzzzz{zzyzz{z{z{zz{{z|zzyz{zyyz{zz{zzz{zyzzzz{z{{z{z{{{xzzzzzyzzzy{{z{zzzzzyzy{zz{{z|{z{zz{{yyzz{zz{{z{yxzzzzzzz{{zzzzzyzzzxxyzzz{zzyyyyxxyyywxzzzzyyzyyyyyxyzzzzzyyzyyyyxyyzxyxyyzzzyzzyyxxyyyzy{zyyyxyxxyxyyyxzyyyyzxyyyxyyyyyxyyz{yyyyyyzzzyyyxxyzzzxyyyywyyyyzyyyyxxyyyxyyyzzyyzzxyxyyxyyyyzzyyyzyyyzywxxxzxzzzzzyyyyyyyyxyyy{yzyyyyyyxyyyyzyzyzyzyyyxyyyyyzzyzz{zzyyyyxyyyyzzzzzzzzzzyxxzzzyyzyzzyyyyyyzyzzyzzzzzyyyxyyxxzzzzzyz{zyzyyyyzyz{z|{zzyy{yyyyyzzzzzz{{zzyyzzyy{zy{z{zzzyzyzzzyzzzzzz{{yzyyzxyyyyzzyz{yzyyz{zyzz{yzzz{zzzzzyz{zyzz{{{zz{yyzzzz{z{{zz{{{{yzzyyzzzzzzzy{zzzzyzyy{zzzz{{|{yyxy{zy{z{z{{y{{zyyzyyzzzyzzzzz{zyzyyzzxxy{zyz{zyy{yxyyyzyzz{yxyyyxyxxxxyzyxyyyyyxyyyyxyyxyyzzz{yzyxyyxyyyxyzy{zyyyyzyyxyyy{yyzzyyyxxyxxyzzxy{zzyxxyxyyzyzzzyzzyyyyyyxyxxyzyyyyyxxxyxxxyyyyyxyyzyxxxyxxzyyyyyyzyyyxxxxxxyzzzyyzzyyxxxxxyyyyyyyyyyxxxwyyxyyyyxzyyzxyyyxxxyzyyzzyzyxyxyyxxyzzxyyzzzyyzyxyyxyyzzzyzyyyyyyyyyzyzzzy{yzzyxxyyxzz{zyyxzyzyyyyyz{zzz{yyyyzyyyxyzzyyyzzzzyzyyyxzzzzyzzyzyyyyyyyzzzyzzzzyzyzzyxyy{{zzzzz{yzyyzxxyyz{zzzzzzxyxyyzzz{zyzzzzzzzyyyyzzzz{z{zzzyzzyyzyyzzyzz{zzzyzyyzzyzzyzz{zzyyyyyyyyzzzzzzz{zyzyzxzzzzy{z{{zzzxzyzxzz{zyz{zzyzyyyyyzzzzyyzyzyywyzyzyyzzzzzzzyyyyxyxyzyzyyzzyzyzxyyyyzyyzzzzyxyxxxyyzzyzzzyzyzyyyxyyzyzzyzyyyyyyyxxyyy{yyzzzyyyyyyzxyyyzyyzyzxyxyyxxyyyzyyzzyyzzyyxyxyzyyxzzxxyxxyyxzyzzzyyzyyyyxywxyyyyyyxzxyyyyyyxyzzzyyyyyyxyyyyyyyyyyzzyyxzyyxxyyyyyzzyzyxyyyyyyyyyzyz{zzyyyyyxzyyyyyzzzyyyxyxyyz{z{yyyzyzyyyyyyzyzyzzzyzyyyyyzyzzzzyz{zzzyyxyxzzzzyzzzzzyyyyyyyzzzzzzzyzzxyzyyyzzz{zz{zyyyzyyzzzzzz{y{zzzyyyzxyz{{zzzzzzzzzzyzyz|zzzzzzzzzz{zzzy{yzzz|z{zyzyzzyz}z{{{{{zzzzyzzxzy{zz|zzzyyyzz{zzy{z{{{zzzyzzzyyzzz{zzz{yyyxzzzyzzzz{zz{zzyyzyyyz{zzzyzzxwyxyxzyzzzzzzyzxyxxyxxxyyzyzz{yzyyxyxyyyzyzyzzzzyzyyyxyzzyyyzzyyzyyyzxzyzz{yyyzzzyxyxyyzyz{zy{yyyzxxzyxz{zyzzyyyyyyzyyxzyzyzzzzyyyyzzxyxzyzzyzzyyyyyxxyzzyzyyyzyyyyxyxxzyzxzzzyyzyyxyyyyzyyyzzzyyyyyxyyyzzxyz{zyyyxyyyyyzyyy{yzyyzyzzyxyyzzzz{zxzyyyxzyzyyzzzz{yyyzyyyzzzz{zz{zyyyyxyyzzzyz{z{{yyyyzyxyzz{zzzzyyzyyyyyyy{{yzyzzyyzyzxyzzzzyzyzzzzzzzzzzyyzzzz{{zyzxyzz{yzzz{zzz{yzzzzyzzyyz{{zzzyxxyyzyz{zz{z{{zz{zyzzyzzzy{{{z{zyzzzy{z{{{z{z|zyzzzyzyzzzzzz{{yyzz{zzz{{zz{z{{{yzzzyzzzzzz||zz{zyzyzzyyzz{z{{z{zyzyzzzz{zzzzz{zyzxyzyyyzzyyzzyzxyyyyyyyzzzzzzyxyzyzxyyzzzzzzz{zyyxyyzx{zzzyzyzzyyyyzzzzzyzyz{yzzyyzyyyyyzyzzzzyyyyxyyyzzzzyz{zzzyyxzyyxzzzzzyyyyxxzyyyxzyzyxz{yyyyyxyyyzzzzzzy{zyzyzxyyzzyzyz{yyyyyyxyxzyzyz{zyyzyyxzyzyzyzyzzyzxyzxyxzyyyz{zzxyzyy{zxzyzzy{zzzyyyzxzyzzzzyzyzyz{yzxyyzzzyzzyzyzyzyyyz{zz{yyzzyzzyyxzyzzyyzzzzyyyzyzyyzzz{z{zzzyyyyyyy{z{z{{z{zzzyyzzyy{{{zz{zzzyyyyzzzzz{z{{{yzzzzzzyzz{{{{{{zyyzzzzxz{zzz{|{zzzzzyzyzzz{{z|{zxzxzzzyz|{z{z||{zzyzyzy{|z{z{{z{yyzyzzzz{zz{zz{zzzyyyyzzzzzzzz|{zzyyzyyz{yzz{z{zzzyyyyyzzz{zyyyzzyyzyyyzzyzyyyyxxyyyyyyyyzyzxzyyzyyyxyyzyzzz{{zzyyyzyyyz{zzzzzzyyyyyzyyzzyzyzzzzyyyyzyyyyzzy{zzyyyyyyyxyy{xzz{yzyyyxyxyzyzyyzyyyyyyyyxxzyzyxyzyyyxyzxyxzzzzzz{yyyyyyzyyyzzyzyzzzyyyxyzyyyyzzyzyzyzyyyyyyzyyxzyzzyyyyyxyyzyyyzz{yyzyyyyyy{zzzz{zzzzyyyxyzyzzxzy{zzyyyy{zyxz{yzzzzyzzxzyyzxyzyz{{zyzyzxzyyzyyz{zzzyyyyyzz{zzzz{{zyzyyzyzyzzzyzzzzzzyyzyyyy{z{{{{zzzzzzzyy{{zzy{{zzzyzzzy{yz{zzzyzzzzzzyyzzzz{zz{{{yzzy{zzz{z{zz{|zzzyz{z{z{{{zz{{zz{yzzzz{|zz{{{z{zzzyzyyzyzzz{|{{{zzyyzzy{z{{z{{{{zxyyyzzz{zz{{{{zyzzxzxzzz{{{zzzyzxzzyyzzzyzyyyxyxxxyyyyyzz{yzzyxxyyxyyzyyzyzzzxyxxyyyxzzyyyzzzxyyxyyxxyyzzyzz{zyyxxzxyzzzzyzyzyyyyyyyzxyyyyzzzyyyxywxyyyzxyyyyyzyyxyyyzyyyyyzyyxyyxyxyzzyzyyzyzzyyxywzzyzzyyzzyyyxxyxxzzzzxz{zzyxzxzxyyzzyzzyyyzzyyzzxyzzzyzzzzyyyyyxyyyyzzzzyzyyzyyyyzzzyy{yzyyzzyzyyyzyyyzzzyyzyyyzyzyzzzzz{yzyyyyyzyzzzzz{zzxyxyxyyyzz{z{zzyyyzyzyzzzzzyy{yyzyyyzzyzzzzz{y|yyzyyyzyzzz{zz{{yyyzzyxzy{{{zz{zzyyyzzyyzzzzzzz{zzyzyyzzzzy{zz{{zyyyy{zzy{zz{{z{zyzzzzyz{yyzz{zzzzzzyyzzzzzz{{{{zzzzyzy{{zzzz{{{yzyzzyyyyzzzzzz{zyyyyyyyyz{zyy{yzyyyyzyzzy{zzxxyxzxwyyxyyzzzxzyzyyyxxxxyzzzy{zyzyxyyxzyxyzyy{zy{yzyyyyyzyy{zyyzzzyyxxyzxyyyyy{zzyzxxyxyxyyyzyzyyyyxyzyxxzyzyyzyzyyyxyyyyyyyzyyzyyxxxxyyyyyzyzzyyxxyyxyywyyyyyyyyzyyxyzyyyyzzzyyyyxxxyxyxwyzyzyzzyyyxxxyzxyyyzzyzyyzxyyyxzyyyzyzyyyxzyxzyyzzyyyzzyxyyyxzyzyzxzz{zyzzxxyyyzyyzzzz{zxyyzxxxzzzzzyz{yyyyyzzyx{zzyyzyzzyyyzyyyzzyyzzyyyyyyyyzz{yz{zz{yyyxyyyyzzyzz{zzzyyzyyzyzz{zzzzzzyyy{yzz{{zzzzz{zzzxyzz{z{{zz{zz{yzyz{zzy{z{z{{zzzzyyzzyzzz{z{zzzyzzzzyzzzzz{z{{yzzyzzyzyzzzz{zzyzzyyyzzzzzzzzzzzyzzyzyyz{z{zzzzzyyyzzzyy{zyzyyyxxxyxxyyyz{zyyzzyyzxxyxxyyyzyzyzzzxxxyxxzyyyzzzyzyzyxyyyyzyzyyz{zxzyxyxxyzzyzyyzywyyxxxyyyyyyyyzyyyxyyyyyyzxyzzyyyyyyyzxyxyyyyyyxxyxyyyyyyzyzyyzyyyyxyyxxyzyzzyzxxyyxyxzyyyxyy{zxyyyxzyxyyzyzyyyyzyyxzxyyzyxyzzyzyyzyyxyyyzzyyyzyyzyyyyyzyyxyyzyzyyyxxyzzzyyzzzzyzzxxyyyzyzyzzzyyyyyyxxzyzyzzzzyyyxyyzzyzzyzz{zzzyyzzxyyzzzyzzzzzzyzzyyzyz{{zzzyzyzyzyzyzzzzzzzyzzyzzyzxzz{zz{{y{yyyy{zx{{{{z{{zzyyyyz{zzzzzz{z{zzzzyyyyyz{{zzz{{zzz{yzz{z{{{{{zzzyzzzzyzyzzz{{{zyzzz{yzzyz{zz{{zyyyyzzy{zyzzzz{yzzyyzzyyz{zzyyzzxyxyyyyzyzyxzzyyyxyxyyxyyzzzyzzzyyxxxxyzzzzyzzzxyxyyyyyyyyyyyzzyxzyyyxxxzzzzyz{zzzyxxyxyzyzyzyzyyyyyyzxzzyzyzyzyxxyyxyxxyyyyyyzxzyxyyyyyyzyyzzzyxyyyxyyyzzyxzyzyxxyxyxyzxzzyzzzxxzxyyyxyy{yzzzyyyyxyxyxzzyyyzyzyyyyyzyxyyzzyzxzyyyyyyyyzzzyzzzzyyyyyyzxyzzyyyy{yyzyyyyyzz{zzzzzyzzyyyyxzyzzyzzyzyzxzzyzyz{zyyzyyzyyyyyyyz{zzzzzyyzyyyyzzyzzzzzyzzyzyzyzzzz{z{{xzyyyyyzyz{yzz{{{yzyzyyzyzzzz{{zz{zyy{yzy{{{z{zz{zyzyzzzzzzz{z{zz{zzzzyzz{{zzzy{{zyzzyzyzzy{zz{{yzzyyzzzyz{y{{z{{zyzzzyyz{zzz{zzz{zyxzzyxzzyzzzzz{yyyyyzxzzzzzy{zyzzyyyxyyyzzyyzyyxyxyyyxxyyzyyyzyzyyyxxxzyyzyzzzxyyxyyyxzzyyzxzzzxyyyyxxyy{zzyzzyyxxyyyxyyyyzyxzzxyxxyyxyzyzyy{yxyyxyyyyyyzyzzzzyyyxxxyyyzxzxzwzxyzxyyzyyxyyyyyxyyyyyzxyyyyyzyyyyxyyxxyxzzzz{zyzyyyyyyxxxyyyxzxzxyyxxxxyyzyyyzzzyxxxxxyxzyzzzzzzxyyyyyxyyzzyy{yzyyyyyyyxyyzzzzzzyyyyyxyyyzzxyyzzzyzzzyzzyzyzzzzzyzzyyyyzyzzzyzzzyzyyyyzzzzyzzzyyzzyzyzyyyzzzzz{yzyyyzyyzzyzzz{zzzyyzyzyyzzyzzzzzzyyzzyzzyzzyzy{zzzzyzy{yzzzzz{z{{yzzyzzy{{{{{zz|zzzzyzyzyz{zzz{z{yzzz{yyzzzzz{z{zyzzzyz{z{y{z{y{yyzyyzyzzzzyzzz{zzyyxyxyyyzyyyzzyyzyyyzyzzyyzzyzyyxxyyxxxzzzyyzzyxyyyyyxyzyzyzzzzyyyxyyyyzzyzzyzyyyyyyyyyzzyxzzzzyyxyxzxzyyyzyy{yyyxzyzyzyzyyyzyzzyxzyxxzyyzyyzyyxyyxyxxxyxyyzyzyyyyyxxxzzxzzyyyyyyyzyyzyyzyzyyyxyzzyzzyyzzzzyzzyxzxzxyyyxyyyzyyyxxyyyyxzzzxyzzzyyzyxyyxyzzyzyyyyyyzyxzyyzzzzyyy{xzyyxzyyyzz{zzzyzyyyyyz{yzyzzz{zyzzyyyxyzzzzy{yyxzyyzxxzzzzzyzyyyyzzzyzzzzzzzzyzyyyzzzyzyzzz{{zzzyzxzzyz{z{yz{{zxzyyxyxz{zzzz{{zzyy{zyyzzzzz{{zyy{yzyz{z{zyzz{{zyyzxzyzy{z{{zz{{zzzzzzzzz{{{zzz{yzzzzyyx|zzzz{zzyyyzyyzzzzz{|{{zzyyzy{yzyy{zz|zzyzyzyzzzzyzyzzyzyzyxyyyzzyz{zzxyxyyxyyyxyyzzy{yyyyyxyzyzzzyzzzzzyxyyxxyzyzyzxzzzxzyyyxyyzzzzzz{yyzyxyyxzyzzyzyzzyyxzyyxzyzzyzyyyyyyyyxyyyyyzyzyyxxyxyxyzzzyyyyyyxyxyyzxyyzzzyyyyzyyyxxyyyyxzzyzyyxyyyyxxzzzzzzzzyzyzyyxyyzzyzzyzyxxyzyzyzyyz{yzzyzzyzxxzxzzyyz{yyyyyyyzyyzzzyyzzzyyzy{yzzyyy{z{yyyyyyzxzzzyzzzyyxzyyxyyyzyy{z{{yy{xzyyxzzzyzz{zyyxyyyyzz{yzzzyzzyzyz{zyyzz{zzzzyyyzzzzyzzxzzz{z{zzzyyyyzzz{zzzyzyyyzyzy{zzy{{{{zzzyzyzzyzzzz{z{{yy{zzyzz{zzzz{zzzzz{zyyz{{zz{{z{yzzyzzy{{zy{zz{z{yz{yz{{{z{zz{zzzzyzyzzzzzzzzz{zyzyyzzxy{zzzzzzyy{yxzyyzzzzyyyzxyyyywxwyyzzzyyyxyyzxxxyyzzyzxz{xzxxyyxxzzzzyzyyyzyyyxyx{zzzyyzzyyyyxyxwzzzyyyzzxyyyyxywzyyyyyzxyyxxxxyxyxzzyyyyyyxxyyyyyyyzyyyzyxyywxxxxyyyyz{x{xzyxyxzyyzzyzzxyyyyxxyyyzzyyyzzxyyxxxxxxzyxxyxyyzyyyxyxxzyyyzyyyxyyyyxxyyyyyyzzyyyyyxyyyyyyyzz{yyyxzxyyzyzzyzzzyzyzzxyxzzzyzy{zyyyyzyyzyzzzzzzyyzyxyyyxyzyzyzzzzyzzyxzxz{zyyzzyzzyzyyyyzzzz{{zzxyyyzyzyzzyyzy{{zyzxyyyyzzzzyz{{zyyyy{zzzzzzzz{zzzyyzz{yzzz{zyzz{yzzzyzzy{{z{{zzzzyyyxzyzzyzy{zyzyzyyzyzzzzzzzzzzzzyzzyz{y{zyzzyzyyzyyyyyzyzy{{yzyyyyzywzzzyzyzzyxyyxyxyyzyzyyyyxyyyxzzyyyzyyyzyyyxyyyyx{zyzyz{{yyzyyyyyyzzzzzyzzyzyzyxyyzyzyzyyyyyxxxyxzyyzyzzzyxyyyxxxxyzyyzzzyxyzxzyyzzzzzzzyyxyyyzxyyyyyyzzyyzyyyxyyyyzyzz{yyyyyyyyyyyyyzyzyyxyxxyyyyzyzzyzzyyyyxxxyxzyyzzxzyzyyyyyxyyzzzzyyyyyyyyxyzyzyy|zyzyyzyyyxzzyzzzz{xzzyyyyyzzyzyzzzyyzyzyzyzyzzyyzzzxyyzyzyyzz{{zyyyzxzyyxyyzzyzz{zyyyzyyxyzz{yz{zyzy{yyzzzzzzz{{zzzzzyxzzyz{z{z|{{zzyyyyyy{zz{zz{z{zzyz{zzz{zyz{{|zzyyyzzyyzzzy{{zzyzzzyz{z{z{zz{zzxy{zyzz{zz{zz{zzyzzzy{zz{zzzzzz{zy{zyz{{{yz{{{zzzyyyyzyzzzzz{{zzyy{yzyzz{zyzzzyxyyxzyzzyyzzzz{zwyyyyyxxyzzyzxyyzyyyxxyxzzzzzzzzyxzxyyyzyyzzzzz{yyyyyxzzyzyzyzyyzyyyxxyyyzzzyzzzyxzyyyzxy{yyyzzyzyxxyxyyyyzyzyzyyyyxxyyxyyyyzzzzzyxyxxxyzyzyzzyyzyyzxyyyyyzz{yzzyyzxxyyxyzzyyzyzyxyxzxyyyyzyyzzzxxyyxyyxyzyyyzzzzyyyyzxxzz{zyzzyzyzxyyzxzzyzyzyzyyyzyyzxzyzyzzyzxxxzyyxyzzzy{zxzzxzyyyzyyzzyzzyyzxyyzxzyzzzyzz{zyzyzyyyyzzzzzzzzzz{yyzyyz{z|z{z{yyzyyyzy{zzz{{zzzzyyyyzyzz{{z{zyzyyyzzzzz{{z{z{zzyyyyyzzzz{zzz{{zyyzzzzzzzz{z{z{zy{|xyzzz{{{{|{z{zzzyyzzzzzzz{{{z{xyzyyzzzzzyzzzz|{yzzyzzzzz{zy{{zzzzzyyzzzzy{{zzxyyyyzyzzzzzyyzzzwyxxyxyzyyzzzyyzxyyxyyyxyzyzzzyyyyyyxyzzyyyzyyzxyyxxxyzyzzyyzzyyyzyyzyzyyyyzxzxyyxyyyyyyzzyyzzzzyxyyyyyyyyyyyyyyyyxxyyzzyyzyzyzyyxyyyxzyzyyy{yyyyzyyxzzyyyyyzyzyyyyxyyyyzyyyzzzyyxyxyxyyzxyyzyyyyxyxxyyyyyzzzzyyzxx{yxyyzyyzzyzyyyyyyyyzzyzzzzyyzxyzzxzzyzzyzzyzzxyzyyyz{yyz{zyyyyyyyyy{zyzzzyzyzyyzyyyzzzyzzzzyyzyzzxzzzyyyzyzzzyyzyy{yz{{{zzy{zzzyyyzzzyz{zzzyy{yyyyzzyzzzzzyyyyyzzyz{zzz{{zzzyyyzzzy{zyzzzzzzzyyy{zzzzzz{{z{yzzzzxzzzzz{y{zzyyzzyzyzzyz{|{zzzzzzzzyzzy{zzzzyzyyyyyzzzyzz{{zzyyyyzzyzyyzzzzzyxzyxy{xzzzyyzzzyxwyyxyxyyzzyzyyzyyxyxyyzzyyzxyyyyxyyyyxzyzyyy{zyyyyxxx{zzyyyyyzyyxxxxxwyyzyzzz{yyyxyyyxy{yxyz{xyyzyxyyyzzyyyyzyyyyxxyyxyyyzyyyyxxxxxzyxyzyxyyyyyxxyyxyxyyyyzyyyxyzyxyyxxzyyzyzyyyyyyyyyzyyyyyzyyzyxxyxxyzzyyzzyxyzyyyyyyzyzzzz{yyyyzxyyyyzzzyyzzzyyyxzzyyyzzzz{yyzyyyzzyyzzzzzzyyzyyxzyzzzzzzzzzyyyzyyyzz{zyy{yzyxzyzyyy{zyy{zzzyyzyxyyzzyz{zzyyyyyy{zzz{zzzzz{zy{zzyxyzyzy{y{yzyzzzxzy{z{z{z{{zzzzyzzyzzzzzzzzzxyzyzzyyz{z|{zzzzzzzyzz{z|y{z{zzyyzzzzyyyzz{{{zzzzyzyzzzzyzzzzzyyyxyzzzzzzz{z|zzyzyyyzyyzzzyz{zyxzyxyyyyy{{zzzzxwyxxyxyyyyyxyzyyyyzyxxyyyzyyxz{yzyyxyyzyyzyyzzyzyyxywyxzyzzxzyyzzyxxyxxyyzyyyzyyyyxxxyyzyzyyzzyyyyyyxyxzyyyyzzyyyyxyyxyyyyzyyzyyxxxyxyxzyzzyzzyzxyyyxyxzxyyzzyzxyyzyyxyyzyxzyyzxyxxzxyyyyyyyzyxyyyyxxyxyyyzyzyyzyyyyyxxyyzzzyzzyxyyyyzyyzzzzzz{zxzyxyzzzzzyz{yzyyzyxzyzyyzzyyz{yzyyyyyzyzzzyz{zxxzzyyxxzzzzyy{yxyxyyzyxyzzyz{yy{yyy{yyxyyzyzzzyyzzxzyzzzzzzz{zzzyyyyyxzyzzzzz{zzyyyzyzy{{yyz{z{zyzz{zzy{zyyy{z{zzyyyzyyz{y{z{z{zzzzyyyyyzz{zyzz{yyyzyyzzzz{z{{zzy{yzyzyzz{zyzzzyzzyyyzyz|z{yz{{zyz{yyyyyzzzzzzzyzyyyxyxyz{zzyyzxxyxxyyxyzzyyy{zyyxyyyyxyyyxyyzzzyxxyyzyyzzxz{zzyyyyxxyxzyzzyyzzyxyxxyxxyxzyyzzyyxzyyyyyyyyyyzxxzxyyxxxzzz{yzzyyyyyyyyzxzzxyyzyzxyyyyxyzyyzyzz{yyyyyyyxyyzyyzyzyyxyyxxxxzyyyyzyzyyyxyxyxzzyyyzzzyyxyxyyxyyyzyzzyxyyyxyyyzzyzzyzzxyyyzwxyy{yyyzzzyyyyyyzyyxyzy{yzyyzxyyyyzzzzyyzzzxyyyyyyyzzzyzzzyxyyyxyyzzzzzyzzzyxzyyyyzzzyzzzyzyxzyyzzzzzzzyzzzzyzyyyxyyy{zzzzyxyzyyyzz{zzzzzzyyyzzyyzyz{{{{zzzzzzzxyzzyzzz{y{zyyyy{zyy|z{{{{{yzyzyxyzzzz{zzz{zzyyyzzzzzzzzz{{{zyyzyyyzzz{z{{zzyyyxzzyzzzzyzzzzzzyyyyyxzz{zz{yzyyzxyyyyxzzyzyyxyyxxxyxxzzyyyzzyyxyxzyyzzyyzzzzyyyxxyyxzyzyyzyzyyyyyyxxyyzzy{yzyyxyyxxyyzzyyyyzyyxxyxyyxzyyyyzyyxyyyxxyzyzxyyyzyyzxyxyzyyxzxyyzyyxxxxxxxyzyyyzyyyyxyyxxyxyyzzyzyyyyxyxyxzyzyzyzxyxxxyxwyxyyyyyyyyyxyyyyyzyyyyzzyyzxyyxyzzzyzyyyxzyxxxyyyzzzzyyzzyyxyxyxyzzzyzyzyyxxyxyxxyyyzyzzyxyyyyyyyyyzzzzyyyyyyyyzzzzzyzzzyyyzyyyyyz{yy{yyyyyyyyyyzzzy{{zzzyxyzyyyzzyzzyz{yyzyyxyyz{{zz{zzzyyyzyyyyzyyz{zzyyyzyyzzzzzy{zzz{zxzyyyyyz{{zz{{zzzzyyyzzzzzz{{zzzzzyyyzyzxyz{{zzzyzzzyzzz{zzzz{zyzyyyyzzzzzzzz{zyyyxzyyy{zzzy{zyzyyzyyxzzzyyxyyyxxxwxxxwyzyyyyyzywxyxxxyxyzzzzzyxyxxyxyzzyyzyxyxxyyyyyyyyyzyyzzyyyxyxxxzxyyyzyzxyyyyxywyzyyzyzyzyxyxxxxyyyxwyyzxyzyxyzxyyxyyyyyxyyyyxyxxxyyyyyyyyxxxxyyyyzzyyyyxzxzxyyxyzyyyyzyxyzxxxzywyyyyyyxyyyxxyyxyzyyyzzzxyyyyyyxyzyyyzz{yzyyyyyxyzyzzyzzzyzyyxyyyyyyzzzyyzyyxxyyyyzzyzzyyyzxzyzyzyzyzzyzzyyxzyyxyyzxzzzxzyyyyzyyzzzzyzyyyzzyyzzyyz{zz{yzzzyyyyzzyz{zzz{zzzyyyzxyzy{zzzzy{yyxyxyyzyyyzzz{zzyyyzyzzzyyz{zzzyyzy{zyzzzzzyz{zzyyzyzyzzzzz{{zzyyyyyzzz{zzzy{{yyyyzyyyyzyz{{z{yyzyxyyxyy{zzx{zzzyyzzzyyyzzxzzyyyzyxxyyz{zyzzyyyxxxxxxxxyzyyyyzyyyxxxwyyyzzyzzzxyyyxyyxyyyzyzzyyyyyyyyyyzzyyyyzyyzxyyyxyxyyyyyzyxyyxxyxyxyyxzyyzyxxyxyxyyyyyzyyyyxxxzxyyyxyyzzywyyyyyyxyyyzyyyyyxywyxwyzxyyzyyyyxzyyyxxyyy{yyzyyxyxxxyyyyyyyzzyyyyxzyyxyzyzyyyzzyyyyyyxyzyyzyzzyyyyxyyyyz{yyzzyxyyyxyyyyyzzyz{zyyzyyyyyxzzzyzzzyyyyyyyyyyzzzyyzyxxyxyyyyxzzzz{yyyzyyyxyx{zyyzyzyyyzxyzyzyzzy{zzzyyxyyzyyzy{zzz{yzyyyzyyzzyzzz{y{yyyzzyzzzzzzzz{zzyyzyyzzzyzzyzz{zzyyzxzyz{zy{zzzzz{zyyyy{{zz{{zzyyyzyyyz{zz{zzzzyzzzzyyzy{z{yzzzyxyzyy{yzzzyyzzzyyxyyyxzzyzyzzyyzzxzwxxyyzyzzyyzxxyyyxwyzzzzyzyyxyyxyyyxzzyzyzyyyyxyxyyyzyzyzzyzxyyyyyyzzzzxzzzyyyxxyyxyzyyzzyzxxyyxyyyyzyyyyyyyzyyyyyyzyyyyyyyyyyxxyxyyyzyyzyyyyxxxxyyyyzyz{yzyxyyxzxyyyzyyzzzyyzyyxxyyzyyyyzzyyyyxxyxyyyyyzzyyyzxyyxyyyyyz{zzyxyyzyyyyzzzzzzzzyxyyyyyyyyzyyzzxxyzxyyzyyzyxzzzzyyyyyxyzzzzzz{zzzyyyyyyyzzzzzzyxyyyxyyyyzzyzzzyyxyzyyxy{{yzyzzzzyyzxyyyyzzzy{{zyzyzyzzyzzyzyzz{zzyzzyyyz{zy{zzzzyyyyxzyzzyzzz{{zyzyzy{xyz{yzzzz{zzyyzyxy{{z{zz{{yzzzyzz{zzzzzz{{xyzyzyzzzzzzzzzyyzzzy{zzzzzz{z{xyyyyzzyz{zzy{{{zzzyzyyyyzzzzzzzzzvyxxyyzyyzzxyyyxyxxxxyyyzzzyzyyyxyyyyyzyyxyyzzyzyyxxxxzyyzzzzzyyyxyxxxzxyzxyzzyyyyxxyxzy{yyzzzyyyxxyxxwyyxy{zyyyyyxyyxyyyzyyyyyyyxxxyyyyyyyyyzxxxyyyxxyzyzyzyxyzzyyxxyyyzxzzzzyyyxxyyxyyyyxzy{zyzxxxyyxyyyyzyzyyxxyyyyyzyyyzzzyyyxyyyyyyyyzyzyyyyxzxyyyz{zyyzzzyyxyxyyzyzzy{zzxyyyyyzyzyyyzzzzyxyyyyzzxyzzzzzzzxyyyyyxzzzzyzzyzyyxyyyyzzzzzzyzyyyyzyzxzzyz{zzzzyyzyyzz{zy{zzz{zyxyyyzxzyzzz{{yzyyyyzzzzzzz{{{zyyzzzyzyyzzzzzyz{yzyxzyzz{zzyz{{zyzzyyyz{z{zzzzzzzyyyyzy{zzzzz{zzzyyyzyyyzz{{y{{zzyyyzzxzyzzzzy{zyzyzyyxz{zyzzyyyyyyyxzyz{zyyx{xyyxyxyyxyzyzyzyyyxyxxyyyyyyzzzzyyyxxyzyzyzzyzzyzzyyyyxyyyyyzyyyzyxxyyyzyzyyyyyz{xyyyywyxyxzyyzzzzyzyyyxyyyzyyzzxxyyyxyxyyxzzyzyyxxxxzwwyyyyyyxzyyyyxxyxxxzzyyyyyxxyxxxyyyzyyzyzyyyxyyxxxyyyyyyyzzzxyyyyxxyyzyzz{zyyyyyyyyyyyzzyzxwwyyyyyyyyz{yzzzyyxxxyyyyzy{zzzyyzyxyyyyyzzyyz{zyyxzyyyyzzzy{zyyyxyxyyyyzyyzy{yyzzyzyyxzyzzzy{zzyzyzyzz{yzyyz{{yzzzzyzy{zzz{zz{zyyyyyzz{zz{z{z{{zzyyyyyz{z{zzzzzzzzzyyyzzz{z{z{z{yzzzzzz{z|zzz{zyxzzzzyzzzzzz{{zyyzyyyz{zzzz{zz{zxyzyzz{yyzzz{yzyzxzzyyyzzyyzyzzzyyxyyyzzzyyzzyyzzyxyyyz{{yzzzzxyxyyyxxyzyyyyyzzyzyyxyxyyzzz{zyyyxxxxxxzyzxyzyyyxyxyyxyyzyzyzzzyywxxyyyyyyyyzyzxzzxxxyyzzyxyyzzzyyyxxxwxyzyzyxzyxzxyxxxyzyzy{zyxxyxyyyxyyyxzzyyxyyyyyxzyyzx{yyyxxyyxyyyyxzyzxzzxxyyxxyyyxxzzzzyxyyyyxyxyyyzzzzzyyyxyyxyyyyyyzyyyxyzyxyyyzyzyzyzzyyxxxzyzyzyyyzzzyyzyyyyzyyzyz{zzyxyyyzxz{zzy{zz{yyxyzyyyzzyz{{yzyyyyyyyzyzyyzyzxzyyyyyyyzz{yzzzyyzxzzyyzzz{y{zzyyyyzzyyzzyzzzyyyyyyyyzyz{zzz{{{yyzzzyzzyzzy{{zzzyzzzzyyz{{|{z|zzyzzyzyyz{{{{z{z{yzyyyyyzzzz{zzzzyyyzyyzzz{yz{z{yyxyyyyyyzzzzzzyyyyyyyzzz{{zzz{zyyzyyyyyyzyyyzyyyxwxyxxyyyzyzyzyyyyyxyxxzzzyyyyzyyyyyzyxzyzyyyzzyyyyyyyyzzyyzyyzyyyxzyyxyyyyzzy{xxzxxywxyyyzxyzyzxyyxyyyyyzyzyyyxyxxyyywxyyyyzyzyxyxyyyxyyyyyzzzyxyxxyxyzxzzzzyzxyyyxyxyyyyyxyzzyxyzxxyxyzyyzzzyyyyxyzxyzyyyyyzyyxyxyyxyyyyyyyyzzxyzyxyyzyzzx{yzyyzxyyyzzzyyzyz{yyyyxyyxz{zzyzzyxxzzyxyyyzyzzzyyyyyzzyyyyzzzzz{zzyyyyyyyzzzzyyyzzxzyzyyyzzzzz{zzyzzyzzyzz{y{z{z{zyyyyxzzz{zz{{zzzyzyyzzyz{zzzzzzyyyzyzzzzzyzz{y{{zyyyyyzz{z{zzzz{z{zz{zyzzzyzz{{|yyz{zxyzz{zzz{zzyzzzyzzy{{{yzzzyzzyzyyyzyzzzzz{zyyyyzzyzzyzyzyyyzzyyzyyyzyzyzxyxyxxxxxxxyyyyyzyyxyyxxyyyzyyyy{zyyyyxxxxzxwyyyzzywxyyxxxzyyyyyzzyxyxxxxxyyzzyzyyxxyyyzxyyyyyxyyyyyxyxxyxyyzxyyyyxyzyyxyyxxyyxyyyyxyyxyyxzyzyyyyyzxyyyxxyxzzyzyyyxxyyxwyyyyyywzyzyxyzxxxxxxyyyyyyxyyxyyxxyyzyy{zzyxyyyzyyyzyyyzzyzxyxxyyyyyzyyzz{yxyyyyxyyyxyzzzzzyyyyxyyyyyyzzyzyyzyyxxyyzzzyyzyzxyyyxyyyzzzyzzzyzyyzzyyyyyzzzyyyyxxyxyyzyz{zyzyxyyyyyyzzzyyzzy{yyzyxyyxzz{yz{zzzyxzzyyz{{yzzyz{yzzxzyzyyyzzzzzyyxyyyyzyz{yyzz{{{{yzyyyz{zz{zzzzzyyzyzxz{zzzzzzzyyyyzzyyz{z{zzyzyzxy{zyzy{yzyz{{yzyzyyxyzzzyyzzzzxyxyyyyzyyyyzyyxzxxxxxyyyyyzyzyyxxyxyxyyy{zzyyzyxyyyyyyzyxzyyzyyyxyyyyyxzzyxyyyyyxyyxxxyyzyyzzzxzxxyyxxyyyyz{yzyyxxxxyyyyyyyzxyyyyxxyxyxyyyzyzyyyyxxxyxzxyxyzzzxyxyyyywyyyyyyyzyxxyxxyyyxxyyyzzyyyxxyxyxzyxyyyxxxxwyxyxyyzyyzyzxyyzyyyyyyyzzzyyyxxxxyyyyyyyyyx{yxxyyxxyzzyyyzzyyyzyyxwyzyyyyzzzyyyyxwyyyzzz{{zzxyxyxxyyyyzyyzzzywyzyyyyzzyzyzyzxzyyzyyyyzyzzzz{yzyyyyzy{{yzyz{zzyzyyzxyxzzzz{zzzyzzyzyyzzy{zzzzzyyyzzzzzz{zzz{zzyyyxyz{zzz{z{zzzzyzzyzyxyzzzz{zzyyyzzxzzzzzzyzzyzyyzzyz|zy{yzzzyyyyyyyyyzzzyzz{yzyzxyzyzzyzyz{zyyyyyzxyyzzyzyyzxyyxyxxyyzyyyxzyxyxyyxxxyyzyzzy{zxyyyyywzzxyyzz{yyxyxxxxzyzzyyyz{yyxxxxyxyzxxzzzyxxxxywxyyyyzyzxzxyxxyyxyyzzyyzyyyyxxywxyyyxyzzyyyyyxxxxyyzzyzyyywxxxywyyyzyyzzzyyyxyyxxxyyzzzzyyxxyxwxwyyyxzyyzyyxxxxyxxyxyyyzyxyxxxyyxzyzzyzzyyyzyyxxyyxyxy{yyyyzxxxyxz{yyyzzzxzxyxyyyyzyzyzzzyyxyyxzzyyzz{zyzzyyyxyxxyzz{yzzzyyyyxyyyyzzyxzz{yzyyyyxyzzzz{yzzyyyzyyzzzzy{yz{zyzyyyyyyzzzyzzzzzyyyzzzyzzzzzz{{xyzyzzyyxzzzzzyzyyyzyyyzyzz{zyzzzzyyyzzyy{zzzz{zyzyzzyyzzyzzz{z{zzzyyzyyzzy{yzzzyyyyyzyyzzy{yzzzyyxyyyyxyyyzzz{{zxxyyxxyzyzzyyyyyyyyyxxxyxzyxwyyxyyyxyyyzyyyyyzzyyyxwzyxzyyyzyzyyyyyyyxyxyzyyy{yyxxwxyyxzyyyxzyzyxxxxxyxyzxxxzzyzyxyzxyxxyyxzzzxyyxyyxxyyyzzxzyyyxyyyyxxzyyyyyzzxxwyxyyxyyzyyzyzyzxxxzyxxyzyyyzyxyyxyyyyxyyyyyywyyyxyxxyyzyyyzzyyyxxyyxxxyyyyzyzyxyyzxyyzyyyyyyyyzyyxyxyzzyyyyzzyyyyyyyyzyzyzyzyzyyxyyyxyzx{{zzyzyyyzyxxyyyyzyzyyxyyyyyxyxyzyzzyzxyzzzxxyyyz{zzzyzyxyxyyzyyzzzzzxzyzyzxyyyy{zzyzzxyyzyyyy{zzyzz{yzyzyzzzzyyz{z{yzyyyyyyyzzz{zy{{zyyzyzxyzyzyzzzz{yyyyyxyy{yzyzz{zyxzzzzyyyyzzzx{zzyyyxyyyzzzyz{zzyyzzyyxyzzzzyzzxyzxyyzxzyzzzzyyxyxxyyxyyzzyyxyzyyxxxxxyzyzyzyzzyyyxxyxyyxzxyzzyxxxyzyxxyzzyyy{zyyxxyxyxyzyzzzzyyxyyxyyxxyxyxzzyyyyxyxxyyyyyzyzyxyxxxxyxyxy{yzzzxyxyxxyxyyyzyyyyyyyxxyxxywzxyyyzyyyyxxyyyzxzyzzzyyyzyxxwyzyyyyxyyyxyzxzxxyyyx{yyyyyyzxyyzxyyzyyyyxyyxxyyyzzyyyzzyyyyyxyyyzzyyyyzxyxzyxyyxyyzyyyzyyyxyyzxyzzyyzyyyyxxyyyyyzzyzzzyzyxyyyxyzzzyzzyzzzyyzyzyzzzzzzzzyzyxyzyyzzzzzz|{yyyzzyyzzzzzzzzzzyyzzyyy{zzz{z{{yyzyyzzzyzzzzzzzzzzyyyzyzzzz{zzzzzzzyxyyzyzzyzzzzyyyyyyzzzyzzzzzzzzzzzyyzzyyz{z{zyyyyzyyy{zy{zzzyyxzyyyxyzyyzzzyxyyyyyyxzzzzyy{zyyyyzyxxyzyyyyyyyzxxyyyyyyzzyzz{zzyxxyyx{yxzyyzyyzyyxyxyyyzyzyzzyyxyyxxyyyyyyzzyxyxxxyyxyyyxzyzyyyxyyyxyyzyzy{zyxxyxxzyxxyyzyzyzyxyyxxyxyzzyyzzzyyyyxyxyyyzyzyyyxxyyxyyxzyzzyyyyyzyyzyxyxyyyyzzyzxxxyxxxyzyyzy{zzxyzyyyxyyyzzzzzzyyyyxyyzzzyyzy{yyyxyxyyyz{zzzzzyyzyxxxyzyzyyzzzyxyyxyyyyyzyyzyyyzxxyyxyyzyyzzzyyzyyzyyxzyyzzzyzyyzyyyyyzzzzzzzzyzyyyzzyyzyzzzz{yyyyyxzyyzzzzy{yzzyyzyxyzy{zz{zzzxzyyyz{y{zyzz{z{yzyyyzzy{yzzz{zzxyyyzxz{zzzzzzz{yzzyzzyzzzzzzzz{zzyzyyyzyyzzz{{yzyyyyyyy{yz{yzzyyyyxyxzyzzzzzz{zyyyzxzyzzzyy{zyyxxyyxyxzzzzzyzzyyxyywyyyyzyzyz{yyzxyywxyyzyzyzzzyxxyyxxyxyzxz{zzyzxyxxyyyxzzzzyyyxyyyyxyyzyyzzyyyyxywxyyyzyyzzyyyzyxyyyxyyzzzyzyyxxzxyyyyyyyyzyzyzyyzywyzyyzzy{xyyyxxxxyzyyxyyyyyyyxxyyyzzzyzxyyyyyyyyyyyyxyyzyxyzzyxyyxyzzzzzzzxyzyyyyzyyyyz{zxyyyxxyzxyyzzzz{zyzyxyyyzyzyzzzzyzyyzxyyyzyzzy{{zyyyy{xzyzzzyzzzzxyyyyxyzzzyzzzz{yzyyyzy{yz{z{zyy{zyyzzyzzzzzzz{zyyyyzzyzzy{zz{zyyzyzxzy{zyz{z{{zzyzzzzz{zzz{{{{zyyzzzyzz{{{yzz{{y{zyyzyzz{{zyzzyzyzzzz{zzzz{{zzzyzyyzzzzzz{z{{{yyzyyyzyyz|yz{{zy{yzzxyzyyzzz{{zyyyxyyzyzzzzzzyzyxxyyyxyyzzxyyzzyyyyyxxyyyyyzyzyzyyyyzxyyyzzzzyyzxxyyxxxyzzyyyzyyyxxxxyyzxyyyzz{zzyyyyxxzyyyzzzyzyyyyxyyyxyyyzzzxyzxyxxxzzxyyzyzzxyyxyxxyyzyzyyyyxyxyyyyzyzyyzzzzyyyyyyxyyyzyyzyyyxzxzyyyzxyyyyxyyyxyyyxyyxyy{zzxyyyyzxyxzzxzzzzyyyyyyzzyzyzyzzzyyyyxyyyyzyyyyzzyzyxyxyyzzyyzyzzxyzzyxzxzzzzyzyyyyyxyzyyyzyzzz{{{xyyyyyyyyzyyzzz{zyyyxzzz{zzz{zzyyyxy{yzzzzzyzzzyyzzyxzzz{{zzz{zzyyz{yzzzzzz{z{zzyzzzzzzyzyz{zzzzzzzz{yyz{z|{zyzy{zzyx{zzzzzy{{{{zzyzzyyzzz{zz{{{zyzyzyyzzzzzzz{z{zyzzzyzzzzzzz{zzyyyyxyzzyzzyz{yyzxyyyyzzzzzyyzxxxyyyxyxyzyyzzyyxyxyxxxyyy{zzzyzyyyyyyxyyzyzyyyyyxyyxyyyyzzxyyyyyyyyyyxyyyyyyyzyyxwyyyyyyyyyzzzyxxyyxyxzyyyyzzyzyyxyxxxyzxyyzzzxxxyxyxxyyyyyzyyxyxyxxxyyxzyyyzzyyyyxxyyzyyzyzyzyyyxyyxyyxyyzyyyzyzyyyyxxyyyyzzyyyxyyzxxzxyyyzyzyxxyzyzyyzzyyz{zyyyyxyxyyyyyzzyzyzyxyyzyyyyyyzzzyzyyyxyzy{zyzyzyyxz{yxyyyzzzzzzzzyxyzyyxzyzyy{yzyzyyyzzwyzzyzyz{yyzzyzyzyzyzyz{zyyzyyyzyy|zz{z{yzzyzzyzzzxzz{z{zyyzyyyzyzzz{{zz{zyzzyyyyzz{y{z{{{zzzxzyyzyzzyz{{zyyyzyyzzzzxzzz{{zyzzyyzzzyzzzzzzyzxzyyyzz{z{z{{yyzzxxzxzyzzyzzyyyyyyxxyzyzzxzyyyyyxyxyxyyyyyyzyzxxzxxxxzyyyyyzzzyyyyyywyxyzzzyyzyyyyxxxyyzzzyzxyyyxxxxxxyzzzzyzzyxxyxyyx{yyyzyyyyxyyyxyyzyyxz{yyxyxyyxxyyyyxzxzyxyyyxxxyzzzzzzyzxxxxxxxyzyzzxzyyxxzwxxyyxyyzy{zyyxzxxyxyzyyyzyyyxyxyyxyxzyyxzxzyyyyyyyxyzzyyyzyzyxxzyyxzzyyy{z{yxxyyyyyzzyzyyzzyyzyyyyyyzzyzzyyyxyzyyyyyzzyzzyyzxzyxzyyyzzzzzzzzzzyyzyzzzzzyzzyzxyyzxzxzzzzz{{{xzyxyyzzzyxzy{{zzyyyzzyyyy{z{zzyyyyzyyyyzzzy{z{{zyzyzy{yyzzzz{{{yyzzzzzzyz{zz{{zzyyyyzzzz{z{z{{z{yyzzzy{yzzyzzzz{zyxzyyzzzzzzyzzyzyxxzyyzzzz{zzzzzzxyzxzz{y{{{{zyyyxxyyxyzzyz{yyyyxyyywxxzzyyzyzyyzxyyxyxyyyyzzzyyzxyxzyzyzx{zzxyzzxxxyxyyyyyyyzxyxyxyywyyxyyzyyyyyxyxyyyzxyyyzxzxxyyyyxyzyyyyyzyxyyxzxyzyzzyyzyyyyyyyzyyyyxzyzyyyyyyzxyyyzyyzzyzxyyxzyyyxzyyz{yyxyyyyyxyyyzyzyyyyxxyyyxxzxyxzzzyyyyzzyyzyzyyyzzyyxxxyyyyzzyzyzzyxyyyxyyyzzzyzyzyyzyxyyyzzzzzzzzzyxyyxyyyzzyzzyzxxyyxyzxyzyyyzzzzyyyyzyyzyzyzzyyyzyyyzyyyzy{yzzzyyyyzyzyyzzzy{zzzzyyyyyyxzyz{{{yzyyzyzyyz{zzzz{{zy{yzzzzzzyzz|yz{yyyz{zzz{{zzz{{zzzzyyyz{yzz{|zzzyyyyzzyzzyz{yzzzzzzzzzyyz{zzzzzyzzzyyzxzyzzz{zzyzxzyyyxy{zzyz{zzzyyzyxxzyzzxzzzyxxyyxyxyzyzzyyyyyxxxyxxzyyyyzzzzyxxyyxxyyyzzy{yyyxxxxxxxzyyyyyyyxxyxxxxyzyzyzzzyyyxxxxwxyyxyyyyxyxxxyxxxyyzxyyzyxyxxyyxyyyyyyyyxyyyyxywyyzyzxyyxyzyxywyyxxxyxyzxyxxyyxxxyyyyyzxyxyxxyyyxyyyxyzyyxxyxyyxyyyyzyzyyyywyxyxyyyyzyyyzyyyyyxyxyzzyyxzyxyyyyyyyyzyzyyzyyyyxyyyzy{yyzzzyyxyxyywyyzyyyzzyxyyyyxyzyzzz{y{zyyxyyxzyzzyzzzy{yzyyzxzyzzzzzzzyyzxxyyyzyyzzzzzyxxzyyyyyyz{zz{zzyyyyzyyzzzzz{zzzxyyyy{y|zyzzzzzyyzzzzyzy|zz{zz{{zyyzyzy{yzyz|zzyyyyzzyyyyzzzyzz{zyyzyyz{yyzz{zzyyyyyyyzyyyyzzzzyzxzyzzxzyzzxyyzyyyyyxzxzzyzzyyyxyxyyxyyyzyzyyyzzyyzyxxyyyyyzzyzyyyyxyyxyyyxzzyyyxzyyzxxxzyyxyyyyxzwxxyxyyzyyyxyxxxxyxyxyxyyxxyxzyyxxxxzyyyyxyyzyyyxxxzxyyxyyyyzxxxxyyyxyyxxyyyyxyxxxxwxyyyxzxyyyyyyxyxyyzzyyyzyyzxxxyxxyyyyyyzyyyyxyyxyxyyyzyzyyxxyyxxyyyyyyzzzzyyxyxxyzzyyyzyzzyyyxyyyyyyyxzyzyyxyzwyyyyzzz{zyyyxyyyyyyyzyyzzyyxyyxxyyxzyzzyzzzyxzyyyyyzyyy{yyyyzxyyxyyyzzzyzzyyyyyyzyyzzyyzy{zzyyyyyyz{zzzzzzzyzyyyyzz{{zzy{zzzzyyzzyyzzz{zz{zyyyzxyzz{zzy{{zzxzzxxzzzzz{zzzz{zyzyyzzy{z{zzz{zyyy{yzzy{zzzyyzyyyzzyzyxyyzzzzyzzyzzyyyzzzyzyzxzxyxxwxxzz{zzxzyyyyyyxxxz{yyyzzzyxyyxxxyyyyyyyzzyyxyxyxyzxzyzyyyxyxyxyyxyyyzxyzyyyzxxyyxzyyzxyyzyxyyyzyxyyyyyyyyyxyywxxxyyyyzzyxxyyxyyyyxyyyzyxzyxxxyxyxyzzzxxzyxxywxywxzyyyzyyzyyyyxyxxxyzzyyyyyyxyyxyxyyyyyyzzyzxyxxzyyzyyyyzyyxzyyyxyyyyyyzzzyxzyxyyyyzyyzzzzyxyyxxzxyyyxzzyzyzxyyyxxyzzyzzzyyyyyyyzyyxyyyyzzxxyyyyxxz{yzzzzzzyyxxyyyyyzyzzyzzzyyzzyyzyyyzzz{yzyzyzzyz{zzy{z{zyyyyyzy{{zzzz{zyyyyxyyzz{zzzz{zyyzzyzyzzzzzz|yzyyzzzzzyy{zz{zzzzyzyyzyyyzzz{{zzzzxxzyzyyzzyzzzzyyyzzyzzzz{y{zyzzyzxyyxyzyyzzzzxzyyzyyzyzzyzyx{zyyyyyxyyyyzzzyxzyzyxyyyyyyzyyyyyyxxyyxxyxyzyzyzzyyyyyyyxxyzzyyzyzyyxyxxyyyzyy{zyyywyxxzxxyzxxyxyzxyyxyxxyyyyzzzzyxyyyxxwyyyyyxyyyyxzxxxzyyyzzzyyxxxyzyyyzyzzyzzyyyyywyyxyzyyyyzyyyyyyyyxyyzxzz{{yxyxyxxxxxyzyyyzyyyxyyxxyyxzzyzzxyzyyyxxyyzzyyzyzyxxyxxyzyzyzzzzyxyywxyyzyxzzyyyzyyyyyyyyyyz{zzyyzyxzxyyyz{yz{xyzyzyzyyyzzzyzz{zyxyyzyzyzzyyzzyzyyyxzyzzzzz{zz{zyyzzyz{xzzz{zzzzzzyyzyyyyzz{zzzzzyyzzzyyzz{z{zzzyyy{xzzyzzzz{{zzzyyzyzyyz{z{zzzzzyzyyyyzzzzyz{zzzyyyyzyzy{zzzzzzzzyzyyzy{yzz{yyzyyzzyxzzyzzzz{zzzzyzyxzzyzzzyyzzyyyxxyyyyzzzxzyyyxyxzyyxyzzyyy{zyyyyyxyyyyyzzzxyx{xyyyyyyyzyzyyyyxzyzyyyyzzyyyzyzyyxxyxyyxzzyyzyyxyxyyxxyyzyyyzzyyyxyxxyyyyxyzyyyxyyxyyyyxyyyzyyyyyyxxyxxzy{zyzyzyyxyxyxyzzzzzyyyyxyyxxxyzyyyyzzxxxxyyxzyzyyyyxyyyzzxxxyzyyzxzzzyyyyyyyxyzzyyyzyyzyxyxyyyzyyyyzzyyyyyyyyzzyyyyzyyzzyyyyzyyzzyyyzyy{yyxyzzyyyzz{yyxyxyyyyzzzzyzzyyxxzyyyyyzzzzzzzzzzz{yzzzzz{zzyzyzyyyyzyz{zyzzz{yzzyzyyyz{{{{zzzzzyyzzzy{yyzzz{{zz{zyzzzy{z{z{z{zyzzyzzyz{z{zz|zzyzzzxzy{zyz{zzz{yyzyzzyzzzzzz{zzzyzyzzy{zzzzz{zzzzxzxyyzzzyzz{zzyyzyzzyz{{{yyyzzzyxxxyyzyzyzyzyyxxyyyxwzyzyyyzzyyxxzywyyzyyzyyzyyyxyyxyyyyy{zzyzzzyyyxyyzyyyyzzyyzwxxyxyyyyyxzzyyyxxxyyxyyxyyzyyyxyxxyyyyzyyyyyyyyyyxyyxxxxzyzyyyxyxxxyxyyyyyzzyyyxxyyzzyyyyyzyxyyxyzyyyyzyyyyzyyyyyxyxyyyyyzyyxxyyzxxyxyyyzyyyxyyyyzyxxyyzzyyyzyyyxxxyyyyyzzyzzyyyxzyyyzzyxzzzyyyyyyyzzzyzzzzzyyyxyyxxyzzyyyzyyyyyxyyyzzzzzzzzyyxzyyyzzzyyz{zzyzyxzxxyzzy{yzzzyzzyyy{xzyz{z{{zyzzyyyyyzz{zz{zzzzxyzyzy{zyyyzz{zzzyy{{zzzzz{z{zzyzxzzzzz{zzzz{zzyyzyyyz{zzzzzzzzyxyzzzzz{zyyzz{zzyyzzxyzz{yzz{zzyyyxyxyzyzyzzy{zzyywyyzzz{{zz|zzxyyyzyyzyyz{yyyyyyyxxxxy{yyzzyyzyxyxyyyxyzyzyyyzyyyyyyxzyyzzyzzyyyyxyyxxyyzyyyyxyyyyyyxyyzyxyyyyyxxyxywzyyxyzyyxxxxyxxxxyyyxyyyyyyyxxyyzyzzyxyxyxxxyxyxxyyyyzzyyyyyyywxyxzxyzzyyxyxxyyxyxxyyyzzyyxyyyxxxyyyyzyzxyxxxxyxxzyyzzzyxxzyyzyyyyyyyyzyyyyxzyyxzyyyyzz{yyzyxwxxyzzzzzyyzyyyyyzyzzzyzzzyyyzxyxyyyzyzyyyyyzyzzyzxyyzyzzzzyxyyyyyyz{zyzyzzzyyyyyyyyy{zz{{yyyxxzzzzzzz{zyz{yyyzxyzzyzzzzzzzyzyyyxyzz{zz{z{zzyyyzzzzzzz{zzzz{zyyyyyx{{zzz{zzzxyzyyzxzyz{z|{yyyyxyzyyzyyzz{{z{yzyzzyyzzy{z{z{yzyyxyyzzyzzy{{{zyyyyyyzzzy{zzyzyxyxzyyzxyzzyzzyyyyxyxxyyyzzyyyyxyxyyyxyzzyxzyzzyyyyxzxyyxzxyyzyzxyyxyyyxyzyyyxzyyxxxxyxwyzyyyzyyyyyyxyxyyzyzyyyyxyyxyxxyyzyyyyzyyzwxyxxxyxzyyyzywyyxxyyyyzyyyzyxyzyyyxzxyzzzzyyyyzyxyxxyyyzyzxzyyyyyyxxyyxyxzzzyxyyyyyzxyzyyyzyyzyyyxxxyyzyzzzyzyxyyxzyzzzyxyz{yyyxyxxyzyzyzyyzyxxxyxyyzyzyyzzyzyyyyxyyyzyzzyyzyyyyxzyyzzyyzz{zyyyyyyyzzz{yyz{zzyyyxxyxyyz{zzz{zyzyzxzyzzz{zzz{{xxzyyyxzzzzzzzzzyyyyyxyz{z{z{{{yzzz{zyzyzzyzzz{zzyyyyzyzzzzz{z|zyyzyyzz{zzzz{zzyyyzzzyzzzzzzzz{zzyzzyzz{yyyyzzzyyzyyzyyzzzzzzzzzyyyxyxyy{zzzyzzyyzyyxyxyzzzyz{zxxyyyxyxxzzzyzyzxxxyxxxyzyzyyyyyyxxxyyxwyyzyyyyzzxyyyxyxyyz{zz{zyzyyxxyyzzzzyyzyxyyyyyywyzxyzyzyyyyyyyxxyzyzyyyzyxyxyzxzzxzyxzzzyxxyyxxyyyzyyy{zyyxyyxxyyzyzzzyzyyyzxxxyyzzyyyyyyxyxyyyxzyyyyyyyyyxyzxyyxyyyy{zyyzyyzyyxyyyyyzzzyyyyyyxyxyyyzzzzzyyyyxyyyzyyzyyzyyyxyxxzyzzyzy{xxzyyyxxxyy{zz{zzyyxyyzxyy{zyyzzzzyxxyxyzzzyzzzzz{yzxzyyyzzzzz{yzyzyyzzyyzzzyzz{zyzyyyyyyzzzyyzzz{xzyzyyy{zzzz{z{yyyyzyzyzz{z{z{zzyyzyyyxy{z{z{zzyzyzyyyy{z{{z|{zzzyyzzyzzz{zyz{{yyyzzyy{zzzyzz{|{zyyyyyyzzzyzzz{{zyyyxzyzzzzyzyyyyyxyzzyzyzzyxyzxxyxyyyxyyyy{yyyyxxxxyxxyyyyzzyzyyyyxyyxyxz{yzzzzyxyyyyyzzzzxxyzyyxyxyxxxyyxzzzyxyyyxyxxyyyywzzyyxyxxxxxyy{zxyzyyyyyxxxxxyzzzyzxyxywzyxxxyzxyzyyyxyxyyxxyyyyzyyyyyyxyxxxyyzzxyzyyyyyxxyxxyyyyyxzxyyxyyxxxzyyxyyyyxyxxxxxzyyyyyzzzzyyyyyyyzzyyyzyyyzzxyyyyyyzzzzzyyxxyyyyyyyzzzyzyyyyyxzyyyy{yzzyzzyyzxxwyzy{yzzyyyxzyyyxzyyxyz{zyyyyyzyyzzzzzzzzxzzxyyxyzzyzzzzzyxyyyxyyyyzy{yzzzyyyzzzyzzzz{z{{yyzzyzzzyzyyzzzzzyy{yzyzyzzzy{{{xzyyyyxy{zz{{zzz{yzyyzy{zyyzzz{{{zzzyzy{zzzzz{zzyyyyyyxyyzyyyzzzzyyzzyyyxzzzzzzzxyzzyzyxyzzzyzyxxyyyxxyxyzyywzzyyzxyyxxyyzy{zzzyyyyxyyyyyxxyyyyyyyyxxyyyzzyyyzzxyyxxyyxxyyyzxyyywxxyyyyxyyzyzz{zyyzyyxyyzyyyxyxyxyxyyxxwyxyzyzyyxyxxzxwyyyyzyzzyyxzyyyxwyyzzzyxyzyxyxywyxyyyyzyyyyxyxxxxxyyyyzyzyyyyyxyxxyyyyzyyzxxyxzxxyzzzyyzyyxxyyyyxyzzyyyzyzyxyxyzyyyzyyyyyzyyyyyyxyxyyyyyzyyyxzxywyyyyz{yyyxyyxyxxyyyyzy{zyyyyyzyzyzzzyzzy{yzyyzyzyy{zzzzzyzzyzyyyzzz{zzz{yyzzzyyxzzzzzz{zzyyyzzyyz{yzzz{{yyzyyzyzz{yyzzzzzzyyyyyyz{zzzzyyzzyzyyzyzzzzzzzzyyzzzyzyzyzz{{{yzyyzyyyyzzzz{zz|xyyzzzyyzzzyyyy{yyyzyyyyzzzzzz{zzyxxzyyxzzyyzyxyxxxxxyzyzzyyyy{zzyxyxxyyy{yzzzzzyyxyxyyxyyyyzyyzzyxyyywxyyzyzyxzzxxxxxyyyzyyyzyyyzyxxyxxxyzx{yyyyxyzyyyyyxyyyyyyzxyzyyyyyyyyyyyyyxyyxyxxxyyyxyyxyyxyxzxxzyyyzyyyyxzyxyyyyzyyyzzzzyxxyyyxyzyyzyzyzyzyyxyzxyyxxzzzxxyxyyyyyzyyyzzzyyyyxxyyyyzzyzzzyzyyyyzyzyyyzzyzyyxyzyyyyzzyyz{zzzyzzyzyyz{{zyyzzxxyyyyyyzyy{z{yyyyzyxyy{zyzxzzzyxyyyyy{z{yzzzz{yzzyyzyzzzz{yz{zzyyzyyyyyyzyz{{zzyxzyyzz{zzzyzzzzyz{zxzyzzyz{{zyzzzzxyyzy{{zzzzzyyzyyyzz{{yz{{{zzzyzzyzz{{zzzzz|yzyzzyyyzzy{{y{{yzzxyyyyyzz{zz{zyzyyyyyyyzyzyyzyyxzzyyxzzz{zzzyyxyyxyyxxyyyyyyxyyxyyxxzwyyyzzyyzyyxxyyyxyxyzyzzzzyxxxxxyyyyyxyyyyyzxxyywxyyyzy{yyxyyxxyxyyyxzz{yyxyzxyxxxzyyxzzyxyxwxyyxyyyyyyyyyyyxyxxyyzyyxy{zyxyxxxwyxyyyyyyzyyyxyxyyxyyyyxyyyyxyxwyywyyyyzyyyyxxxxyyyzyxxzzzyyyyxxyxxzyyyyzzyyxxyxyyyzzyyyzyyxxyxyyzzzyyzyzzyyyxzxyzyzzy{yzzyyzxyyyyyzyzz{yyzxyxyyxxzyzzyz{zxxyxxzxyzyyzyzyzxyxyzzyyzyyyzyzzxzzzzyzyyyyzzyyzyyyyzyzyz{zzyzzyzyyyzyzyy{zz{{zzyzzyy{zyzzyy{z{zzyzzyyyzyzzzzzyzzyzyyzyzzzzz{zz{zyyzzyxzyzzzyz{zzzzyzyzyzzyzyy{{xyzyyzxyyzyzzzz{yyyyzyyyzzyzxzzyyyyyyxxyzzzyyyyyyyyzyyxxyzyyyzyyyyyxxyxyzyzzzyy{yyxxyzyyyyzyzyzzyyyxxwwyyyzyxyzzzxxxxyyxyyxyzzzzyyyyyxxxyyyyzxyyzyyxxyxxzyyyxzzzzyyxxyxyyxxyyzxzyxyxyxywxzyyyyzyyxyxxxyxzyyyyzyyzyyxxxyyyyyzyy{{yxyyyyxyxxyyyyzyyzyyxyyyyyyzzzyyyyyyyyyxzyyyyx{xyyyyzxyyyzyzzyzzzyxyyxyyzzyzzzzzyyyyyyyyyzyyzyzzzyxxyyyyyyyyzyzyzyzxyxyyyyyyzzyzyzzyyxxyyzzyzyzzzyyyy{yzyzyz{z{yxyyyzzzzy{y{zzy{yzyzzyyyz{yzzzzz{zyyxyyyyz{y{y{zzxyyy{zyzxzyy{zz{yyy{y{y{zzzzz{{zzxzyyyzyzzzz{{zyyzyzyyzyzzz{zzzzy{zzzyyyzz{{{z{zyzzxzzxzyzyz{zzzyxyzyyxzzyzzzzyyzyyyyyxzzzzzzxzyyxxyxyyyyyzyzyzzyzxyxxxzyxyyyzzzxyxxzxxzzyyzzzzyyyxyyyxyyzzyy{yyyxyxyxxyyyyyzzzyxxyxxyyxyyyzyzyyyxxxyxyyyzxyyzzzyyyyxyxyyyzyyyyyyyxxxxyyyyyxzzyyxxxxzxxyyyzyxzzyyywyyxxyyxyzyz{yxxyyxxwyxyzyzyyzyxxxxyyyzyyyzzzyxyxxzxxyzzyyzzzyyyyzyyxzzzyyz{zyy{yxxzyyyzyyyzzyyyyyyyyzyx{yyyyxxyyyyzxyyyxyzzzyyyyyyyxyzyzy{{yyxyxyxxyy{zzzzyzzyyyyzzzzzz{zzzzyyzyzzyy{{yzz{{{yyzyyyyyyzzyzzzzzzyzzzzxz{zzzzzzzyzzz{zzzyyzzzz{{zzyyyyzzzzzzzz{{zzyyyz{zzzzzzzzzyzyzyzyyyzzzyzzzyyzyyyzzzzzzzz{yyzyyyyyyzyz{z{zzyyyzyyyzzyzzzzyzyzyyyyyyy{zyyzzyxyzxwxxxzyyyzxzxyxyzxxyyzyyzyz{xzyyyxyxyyxyyzzyyxyyyxyxyyyzxyyzyyyxxxyxyzyyyzyyxxyxyxyxxyyyzyyzyyyyyxxyxyyzxzyyyyxyxyxxyyyxxyyyxxxxyyxyzyyxyzyyzxyxwxyyyyyyyyyyyxxxyxyyyyyzyxyzxyyyxxxyxyxxyzzzxzyyxyxyyyyyxyyzzxyyzyyxzyzyyyzzyyxyyyxyyyzyyzzyzxzxyxyxyyyy{{zzyyzyyyyyyzzyzzyyyxyzyxyyyzzzzzyzyyyxyxyxyyzzzz{yyzyzxyyyyzzzzzyyxy{yyzzyzyzzyzzyxyyxyzyyyzxzzyzzzyzyxxyxzyzzzz{{zxzyzyyyz{zyzzzzzyy{yzzyzy{z{zzz{yyyyzyzz{{{zz{zzyyyyyyyzyzzyzzzzyzzyyyyyyzyy{{z{zyy{zyzz{z{zzzyyyzyyzyyzyy{yyzzyzyyzxxyzzzzzzz{yy{yyzzyyyzzyyyyyyyyyxyyxyzy{zyyyyxyyyxxyzyyyzyzzyxyyyyxyyyyzyyyzyyzyxywxyyyyzzyyyyxxyyxyzxzy{zzzxxyyyyxzyyyyzzzxyyxyxxxyyxyxzyyxxyzyxyxyyyyzzxyyxxxyyyxyzzyyyyyzyxxxyxxyzzzzyyzyxyyxyyxyyyzyyzzyyxxyyyxyyxxzzy{yyxxxxwyxzxyyyyyyyxyyyxxzzzzy{zzzyyyyyyyzzzyzzzzyyyyyxyzyzyzzzy{xyyxyyzy{{zzzzzz{xzyyyyyzyyyz{zzzyzyyxyyyzyzyz{yyyyyxyyzzzzyzzyzyyxyyyyzzz{zyzzzyzzyyyxyzyzzzz{{yyyzyyyzz|zy{zyz{yyzzzyyzzzzz{zzyzzyyyzyyz{zzzz{{zyzyzyyzz{{zz|{zyzzyzzzzzzzyzzz{zzz{yyzzzy{zz{zzyyyyzyzzzzzz{{{yyyyyz{yyzzzzzyyzyyyxzyyyyzzzzzzxyzyzyzxzzzzzzzyxxxyyyxxxzzyyyyyyyyxxxyyyzyyyyyyzzxyyyyxyyyzyyzzyxyyxyyyyxzzyyyyyyxyxxyxyxyyyyyzyzyyyyxyyyxxyyzzxxyxyyyxzzyyzyyyyxxyxxyxyyyyyyzzzyxyxxyyyxzyyzzyyxxxyxyyyyyyzyyyzyyyxxyxxyyxyzzzyxyxyxyxyyyyyyyyxxyyxxyyxyyyz{zzyyyxyzyyyy{zzyzyyxyzyyyyxzzyzzzyyzyyyxyyyzzyyyyzxzyyzyxxyyzzyyyzzxyyyxyyyzyzzyzyyxyyyyyyzzzzzzzyzyyyyxxzzyyyyzyzyzxxyyyyyzz{y{zzxyzyyyzyzzyzyz{zyzyyzyyxyzzzzz{zzyzyyyyyzzzyzz{zzzzyyyzzz|yzzzy{zyyzyyyzz{zzyzzz{yzzzzyxy{{zz|z{zzzzyyxy{zzyyz{{yyyzzzyyzyyz{zzzyyyzyyxzzzyzyzyyzyyyyzyxzzzzzzzyyyzyzyxxyyzzzyyyxzxxywxwxzzxzxzzyyxxyxyzxyxzyzzzzxxywyxxyzzyyyzyxyyyyyyxyyzzyyyzyxywxxxxzyzyyyzzxyyxyxxxyyyyxyyyyxxwyxyxyyyyxzyyyxxxxyxxyxxyxzyzxyzxxxyxyyyyyzyyyxyyyxyxyyzxzzy{yxxxxxxxwyyyyyyyyyxxwyyxxyxxyyxzzyxxyxxxxyyxzyyzwyxyxyyxyyyxyyzzyxyxyyyxyyzyzyyzyxyyxxyyyyyzzzyzyyyyyxzyzxzyyyzyxyzyzxyyxyzxyyzzzyyyxyxyzyyyzzzyyxyyyxxyzyyzyxxzyyyzyzxyzyyzyyzzyzzwzzzxy{zzyz{zyxyzyyyyyzzyzzzzyxxyyyxy{zzzzzzzzxyyyyzzzzyzzzzyzzyzzzxzzzyzzzz{zyyzyyzyzyzzzz{zzzyzyzyzzzzzzzzzyyyyzyxzzzyzzzz{yyyyyyxyy{zyyzyyzyxyyyzyyz{zzzzzyxyyyyyxyzyyyzy{xyzxyyyxyzxyyyzzyxyyyxxyyyxzzzzzxzyyyxyyzyxzyyzyzyxxxyyxyzzzxyzyxyyxxxyyyyyzyzzzyzyyyxyxxzzyyzzyxyzyyxxxyyzzyzyzyxyyyyyxyxyzyyyyyxxxyxyyyzyyzyyyyxyyyyxyyy{yzyyyxyywwyxyyzyyzyzyyxyyyxywxyyxyzzzzyyxyxyyyzyyyzyzyyyyyyyxzxzzzyyzzyyxxwyyyzzzzzzzyzxyyxzyyxyzyzzyyyyyyyxyyzzyzyyzzwyyyyzyy{zyyzyzxyzyxzxyyzzyy{zzzyy{xyyyzzzzzzyzxyyyyyyyyzzzzzz{yyyxzzyyyyy{zz{zyzyzyyyyzz{yzzyz{xzyyyxyzzyy{z{zyyzzyzzzzyzzzz{{zyyyzzyyy{yzzzzzzzzzzyyz{y{{zzzzyzyyzxyzy{yz{z{{{yxzyyyzzzzzzz{zzyyxyyxxzzzzzz{{zyyy{zxxz{yzzzzyzzyyyzyyyyzyztF{4#a&{|z{{|{}|}{{{}{||{{||{|z|{}{|}}{|{z{{{z{|{|{|}|||{{z{z|{{{{{{|{{|zz{{|{|{{{|{{{zz{{{{{{{||z{||{|{{{{{y{{z|{z||||zz{z{yz|{|z{||{{{{{zzz|z{{z{||zz{z{{zzz{z{{|{{z{{{{zz{{z{{{z{||{|{z{{zy{{{{z||{|z{{{{{{{{{|{{{}z{{z{zzz{{{|z{|{{{z{{zz{z|{|||{||z{z{z{{{{{}{{|{|{{zz{|z||{{{}||{{z{|{|z{{||{|{{{{{|{{z{||||{|||z{{zz{z{{|||{|||{{|z|zz{{|{|}{||||{|{{{{{||||}}|{z{|z{{{}{|||||||{|{{{|{|}}}||||{||{{|{}|||{|||||{z{{|{|{|}|}|}{|{{|{{|z|{|||}||||z{|{{{||{||||||{{|||{{}|{{||||{{|z{|z|||||||}|||{{z{{z{{|{{|{}z{zz|z|{{|{{||{|}|{{zz{{{||||||}|{{{|z{{|{|||}||{||z{z|{{||{||||z{|{{{z{|||||{}||z|{zz{z{||}{|||{{zz{{{{{||{||||{|{{z{{{||{{||{|{{{{{{zz|{{{||{{yz{z{z{z{{|{{{|{{{|{{z{{{{|||{||{{{{{{{{z{|||{||{z{z{z{z{{{{{|{{{{{z{{z{{{{{|{|{{y{z||zz{{|{{||||{{{{{{{{{}||}|}{{{{{|{z{{}{|{{{{z|{{{{z|{|||{|z||{{|{{z||{}|||{{{z{|{|{{|}}||||{{{{{{z|{|{{{|{|{|{{{z{|{||}{|{|{||z{|{{{||}{|}}z{|{{z{{|||||||{|||{z|{{{}|{|||}{{||{{{{|{|{|{|}|{|{||{{|}|||}{}{|||{|{{{|||}||}}|||{{{{||{||}|||||||||{||}|||}||||z|}{{z{|{}||{{|{{{{{{|{{{{||||{{|{{zz{{|{{}||{{|{|{|{{||||||}|||{{{zz{||{||}}|{z{{{{z||{|{}||{||{{{{{|{|}{|{|{z{{z{{{||}|||{|{{{z{{{z{||{{||{{|{{z{{{{z{{{|||{{{zzzyz{{{||{|{zz{z{{{z|{{{{z|{z|{z{zzz{{{{|{{|{{{{{{z{{|{||||{{{{z{z{zz{{{{|z|{{{z{|{{{|{|{|{{|{{{{|z{||{{{|{||{{y{{{{{{|z{|{|{{{{{z{|||}{|}{|{z{z{{{{|||||||{|z|{|{{|{|{}|{{{{{{{{zz{{{|{||{|{{{{|{{{|||{}|{}{{{|{{{{}|||||{|{||{|z|{{|||{|}|z{{|z{{z{{{{|{}||{{z{{{{|||}||}}{{z{{{{|{}||||||}{z{|||{{}}}||||||z|{|{{||}}|~|}|{{||z{{|||||||{|{|{{{z|{|||{}|}|{{{||{z||{||||||{z|{{{{|||}{{|{{{|zz|{{{{|{|{|||{{|{{{{{|||{}||{||{}{z||{|||}|}{{{{{{{{{|{|||||{{{|{{z{{{|||{||{{{{z{{z{}|}||{}|z|{{zz{{{|zz}{||{|{z{z{{{||{||z{z{z{z{|{{{{{z|{{|z{{{{z{{{z{|{{{z{zzz{{z{{{|{{|z{{{z{{z{}z{|z|{|zzy{z{{{{z{{|{|{{{{{{z{{|{{{{||{{z||{|{|{{||{{{{{zz{z|{{||}|{|||zz{{{z{{||||{||{y{{{{zz|}||||{|{{{{|{{{{|||||{{||{z{{{{|{||{|}||z{|{{{z|{|||{||{{|{{{{{{||||{{|{||{{{z{{||}|||}{{{|{{z{||}{}||{|{{||{{{{}|}|}}||{{{||}||}{|}|}|||{{{{{{z}||||||{||{|{{z|||||||}|{{{|{z|||{|}||}|||||{{||||||||||{{{z{{|{|{|||||{|z{zz|{|{{||||{{{{{{{{{||z{|||}|||{|{z{|}|{||||||{{{{||}{}{}}|}|{{{zz|{|||{||{|{||z{{{{{|{}{||}|{|{z{{z{z||{|||{z{{zz|z{{|{{{|z|z||{{{{{{||{{||{{{{{z{{||{{{{|{z{{z|z{z{z{{|{|z{|{{zzz{zz|{|{{z{{zzy|{z{||{{{|{|zz{zz{{{z{{{{|{{{zzzz{{|{{{{|{{z{|{{{{{{{{||||{|{{{{{{{|{{{{||||{{zzzz{|z|}|{{{{{zzz{{}|{{{||{|{{|{{z{z{{||{|{z{|{{{{{{{{}|||||{|{{{{{{|{{|{|||{{{{{{{|{|{|{{}|{{|{|{|||||||}}{{{{{{{{z|}|||{|}{|{|{{{{{}||||}{{{||{{|{{|||}~|}|||{{{z{|}|}||}||{{|{{|||||~{||||z{}|zz||{}||}}|||{{{{{||||||{|||{{z{|{{}{{||}||{{|{z{{{{|{{|{|{|{{{{zzz{{||{}{{{{{}{{{{|||||||}{{{|{{z{|{|||{}{{{{|z||z|||z||||{{{{|{{z{{}|{|||{{{zz{|{|{||{|||zzz{{{{z{{{{{||{{z{{{{z|z{|{{|{|{z{zzz{{{{{{{{{{{zzz{zzz{{{{|{{{|{z{z{{{{{{{{|||{{z{z{{{{{|||{{{{zz{zz{{y{{{{{z{{{zzz{zz{{{z}}||{zz{zzzz{||{||||{z{zzz{{{{|{{|||{z{zzzz|{|{{{}}|{z{z|{{{z||{}|{||{{{{z{{z{||{||||z|{{{{{||{{{{|z{{z{{{{{{|{{|{||{||z{|{{{{||}|{{z||{{{|z{|{|{{||||{||y{{|||{||||{{{{{{|{|||{||||{|{|||{{||||}|}}|{|{zz}{{||{|}}|{{||{{{{{||||{|}|||{{|{{|||||}}{||z|{|{|||{}||||||{{z{zz{|||||}|}{z{{{z{|||{zz{{{{z{{{z{|{{|{||||||zz{{{||}|{||}||{{{{{|{}|{{{}||{{{{zz|{{|||||{{{{{{z{z{||{{{{{||{{{zzz||{{{{||{{zz{zz{z{{}|{|{|{{{z{{{|{{{z||{z{{zz{{z{{|{z{{{zy{yz{zz{{|{z{{z{{z{{{zz{{z{{{||zz{{zzzz{{z||{||z{{{{z{zzz{{{{{{{{{{zzz{z|{{{{|{z{{zz|{z{||{{||{{{z{{|{|{{||{{||{|{{{{{zz{{{||||z|{z{z{z||{{{{{|{{{{{z|z{{{|{{{{|{{{{{{z||||{|||zyz|{{{{|||{|{|{{{{z{z{{|{{|||||{z|||z{|||||||{|}{z{{{zz||{|{|||||{{{|{z|{|z{}|}{{y||{{|||{||}|}{{{{{{|{|||||}{|{z{{{z{{|||z{|{||{{{{|{{{|{||{}|{|{z{{|{||||}||{{{z{{{{{|||{{||||{{{{{|{z|{{{{||{|zzzz{z{{{{z}}}{|{|{{|{||{|}{}|||{|{|{{||||||~|}{{{{|{z||{|{|||z{|{{z{{||z|||{|{{{z{{|z||{{|}{}|{{{{{{{{|{z{}||{{|{{zz{{|{{z|||{{{{zz{|{{{|{{{|{{zzzzzzz|{{z|||||z{z|z{{{|{{|||{z|{z|{{|{{z|||{|{{{z{{{{{{|{{z{{z{zz{zzz{{|{|{{{{{{{zz{{|{|}{|{|{{{{zzz{{|{{}||z{|z{z{{{z{||{{}{{{{{{{{||{||||}||{{{zzz{||||{|{{{{|{{{{||||||{||zz{{zz{{|{{{{{|{{{z|{|||z}}|}|}{{{{|||{|{|||||}{{{{|{{z|||||||}|z{{|||{|}||{||}|z{|{|||{||||}|||{{||{{{{}}||||||{|||{|{{|||||||}{{{{|{{||z||{||}{{{||{{|{||||||{||{{{|{{|||{|||||{{{z|{{{|||||{{||{zz{{z{{{{}{}}|{|||{{|}~{{||||{{||{|||||{}}|}}||{{|||||||}||z|{{{|z{{|{|||||||{{{{{|z|{|{||~}{z{{{|{{{{||{{|}{|z|||{{{|||{{{{{{|{z{{|{||{|}||{{zz{{z{{{|{|z|||zz|z{{{{||{||||{z|{{{z{{{||||}{z{z{|z|{{{|{{|{|z{{{z|{{{|||||}|{{{{|{{z{{{|{||}||z||{z{|||{|{{{|{{|{z|{||||||||zz||{{{|}||{|||}{{{|{|{{{|||||}{|{{{|{{{{|}|||}||{{{|{{{}{||{|||{{{zz{{{||{|}~}|{{{{||{{{|||{}|||||{{z}{{|{||||}|{|||||z|}|||{|}||{||||||||}|||}|||}||}{|}}}|}}|}|||{||||||||||}{|{||{{|{}}||}}}||{|{{|||{|}|}}}|{{{|{{{|||||{}}}|{|{{{{{|{}|{{|{{{{{z{{|||{{|}}|}{{{{{{||}|||}||}|{{{{{{||}|}{||{{z{|{{||{||||}|{{{{{zz{|||{{}||||{{|{y{{{}||{||{{z{z|{{|{|{|{|{{{{z|{{{{|{|{||{{{{{{z{|{{{{{{{zzzzz{zz{{{{|{{{{{{{zzz{|z|{{{|{{z|zz{z{{|{{{{||{{{{{{{z||{|{z{zz{{{{{{{||{{{{z}zzzzz{{z{z{|{|{|{z{z{{{{||{{|{|||z||{{{{|{{{}|{|{{{{z|{z|||{|}|||{{z{{{z{{{||||}||{{{{{{|{|||||||}|{}{|{{|{{z|{{|{{{{{{{{||{|||}{||{{{{{||{||{{}{{{{{{{{|{||||||z{{||{z{}||{|}|{{z|{{{{{|}|}}~||||{|{||z|}|||||}}|{{{{|||}|||}|||zz||{|{|{{||}}|{}||||{|}|||{||}{|{z|{|{{{|}|}{||{{{{{{z{|{{{}{{||{{z{{{|{|{{}|z{{}|||{||||}||||||{z{{||||}|}|~}}|{z{}|||{}{{|||{z|{{{z{{|||z||{|{{z{{|{{|{|||{z{{|{{{|{{|{{|{{z{{|{{{z{{{{|{{|{zz{{zzzz|{|{||{|{zzz{{{{z{{{{||{{zz{{z{{|{|z{{|{z{|{{{{{{||{{{||{{zz{z{{{{{{{{|z{{{zz{{{z|{{|{||{{{|{z{{|{{z|||}||{}{{z|{||||{||{|{{{{{||{{|{{{|z{{{zz{{{|||{{||{{{{|{{{{||{|||{|z|{{z|z|{|z||||{{{{{zz{{|{|||||{{|{{|{{|||}|}}|z|{{||{{|||||{}|{{{{z{{z||}|||}{{{||{||{||}|}}|||{{|{{|{{{|||}|||{{{{|||{|||}|||||{{{{{|}}}|}|||}z|{{|{||{|||||}}|{||{{{{||}|||~||{{{{{{{|{}}{||||{{{z{{{||||}||{{|zzz{z{z|{{|}}{}|{|||||}|||{}||{{{zz{{|{}|||}|{{{z{{|||||{{{||||{{{zzz{{}||||}|{{{{{{|{||{|{|}{z|z{z|{|{||{||{|{|{{{{z{|{|{||{{||z{{{{|z{{{{|{{z{z{yzz||{z|{{{{{{{zzzz{{{z{||{{{|{z{{{z{|{{|||z{{z{z{{{{{{|{{{{zz{{{{z{{{|||{|{z{z{{zz||z{{{|{{{{zzz{z||||{||||{||{{{{|||z|||{{{{zz|{{|||z|||{||{{{{{{{||||{{||{{{{z|{{|{{{||{{{{|{z{{{||{{{||{|{|{z{{{||{{|||{{{{{||||{||||}||{}|{{{{||}||||{{{{{|{{{|||{|}}|z||{{{{|{{|||||||{z{||||z}|{|}}}}{{|{{{z||||||}||{{{||{{|||{}}}|||{{{|{{|||}||||{{|{{{{|{|||}|}{{|z{{{{z|||{{{{{{|{{{zz{||{|{|{}}||{{|{||}|||||{{{{z{{{{||{||||}|{}{{{zz|{{{|||||{{|{z{{||||{||}{{{{z{zz|{|||}|}|z{{{{z{|{{||||{{zz{{z{|z{{{{{{{z{z{z{zz|{||||{{{zzzzz{z{{{|{{|||{zzzzz|{{{{}|||z{zzy{z{{z{{|||{{z{{{zzzz{{||{{{{z{zzzzz{zz{{{||z{{z{z{{{{||{z}|{z{zz{|z{|{|{|{|z{{{{z{|||||{{|}{|{{{{z|{|{{|||||y|{{z{z||{||{{{|{{{{z{{||||{{}||{{|{{{{{{{|{||}{{{|{{{|{|||{||}z{{{{{|z|{|||||}{{{z{{z{{||{{}|||{z||{{{{{{||{}||{{{{{{|{{|||{||}{{|z|{{}|}||{}||{|}||{z||{{||{|{{{{{|{{z}{{|||{}{z{|||{|||{||||{{{yz{{{||||{|||{{z{{{z{|||||{|{|{{{{{{z{|{{{|||}|{||||{||}|}|{}}{{|||{z}|{||||}||{{|{{{{|||}||||{||z{|z{{{||||{|{{zzzzzz|z{{|{|{{{z{{{z{|{{{|}|zz{{{{{z{|{{{|{|{{{zz{zz|{{{z|{{{z{{{zzz{|{{{||{{zz{z{z|{||{|{{{{{|{{z{zz|{{{{|{{{z{zz{z|{{{{{{{||{{{z{{{{z{{{{{|{{|z{{{|{{{z{}}{z{{{{{{|{|{{{||{|{{{zz|{z{{{{||{{{{z{z{{||||z||zz{z{z{z{|{|{}|{|{{{{{{z{|{{|{|||{{|{{{{{|||{{|||y|{|z{{{}{|{|}{|{{|{{{{}|{|{{|{z|z|{{{{|{}|||}|}z|z|{{{{||{||||||{{|{|{|||||}|}|{{{{{|{{}|}||{|||}{|{{{||||||}{{z}{|{|{|{}||{|}|{{||{{{}{{{|||||{zz{z|}||||{||||{{{{{{{{|||{||{{{{{{{z{{|||{}}|||||{||{}}}|{||}z{|{{{{{}|}||||}|{||zz{z|||{|{|{|{{{{z{{{||||}||||{|z{{{{{{{{|{||{{|||{z{}}{{{}{|z{zzzzz{{||{{||{{{z{{z{{{{{zz{{z{zzzyzz{|{{{z|z{z{{{{z{{|{|{{|{{|z{zz{z{{{{{z||{{{zz{{z{{{{{{|{{{{{{{{zz{{||{{|{{|z{{{{|||||||{|{{{|z{z||{{{{||{{{{{{zz{{|{|{||zzz{{{{{}||{{|||z|{{{z{|{|{|||||||}{|zzz{{|{{|{|z|{{{{{{||{{{||{|{{|{{{}{|{}|||{{{{|{{{{|{{||{|||z|{{zz{{|{}||||{{|{|{{}|}||||||{||{|{|||}|}|{||}{|{{{|{{}}|}||||||{|{{||||||||||{{{{{{|{||||{|}{|{{||{{|{{|{|}}{{{{z{{{||{{|||{{{{|{{{z|{{|{|{|{{|z{zz{|{|{{|}||||||}{{||||||~}{{{{{||{|}}|~|}|{{{{||{{||}|{|||{zz{{|z{|{|{|||{|{{z{{{z|||{|{||{{{{{{{z{{z{{|||{zzzz{zz{|{{{{|zzz{{{z|{|||{{|{zzzzz{zzzz{|{{z{{|z{{z{z{{z{{z{{|{{{zz|{{{{{{{{{{{{{z{zzz||zz{||{{|z{{{zzz|{{||{|z{zzz{z|{|{|{|||{{{z|{{z{{|{{|||{{{{|zz{{{{{||||{z|{zz{{{{||{{||z{z{|{{{{|{{{|||{{{{{{{{{{z{|z{|{{{{z{{{|{{{{|||{{{{{|y|||||||}|{{{{{{|{|{|{{||||z{{{{z{{||}}{||}z{z{{{|||||{||}{{|{||{|||{|}{||}{{{|{{||{|||||{|||{|z{{{||{|}|{|{z{|{{|{||}|{|||{z||{z{|||{||{}{|{z{|{|{{{|{|||{{{{|z{{|{||z{|{z{{{{zzz|{}{{}}}|{||||{}}}}|}|}}{{|}|{{{|}||{||{|{zz{|{z|{}{{|{|{{|||z|{|{|{|{|{{|{{{{{{{|||{|||{{|{{{zzz|{|{{|{{zzz{{{{{|{{{|{{{{{zzz{{|{{{z|{|{{{y{z{{|{{{z|{{{{zzz{z{{{{{{{||{|{z{zz{{{{|{|{|{z{z|z{z{{|zz{{|{{z{zz{z|{z{||||zz{z{{{{{|z{|{|{{{zzzz{{|{z{|{||{{{{zz{{{{{|||||{z{yzz{{|{{{{{{|{{{|z{{{{|||{|{{|{{z{{{{|{||{|||zz{|zz{{||||{|||{|{z{{z|{|{{||}}{{||{{{{{||||||{{{{{{{zz{|||||{{}{|{{{{{{|{z{|}|||{{||{|||{||||||{||z||{z}||}|||}{|{{|{{|}|{||}}|{z{{|}|{{|}||}}|{|{{|{{||{||||}{{{{z{z{z|{}||||{||{z{{{{||||{||{{{zzz{z{{{{{}}~}}}{|||z}}}{|}}}||||||z{{|||}}|}||z|||{{}||{{||||z||{{{{z{||z{|{|{zz||{||z|z||||{{{z{{{{z{|z{|{{z{{{{z{{|z{|||{|{{|z{{{{|{||{|||zz{y{z{{z|{{{{{{{{z{z{|{{{|z||{{zz{z{{{zz{|{|{||{{{{z{z{{z{{{{{|zzzz|zzz{{{{{{{{zz{{{z{z{{{{{||{}z{{{{{{|{|{|{{|{{|{{z||{{|{{|{{{|{{{z{{{{|{|{{|z{||{{{{{}}|||}||z{zzz|z|||||}|||{{{{|{{{{|{{{|{z{{}|{{{|{|||}{}{{{{{{{|||{||}||||{{{{{{|||{|{|}||{{{|{z|}|{{}||{z||z}|{{|{|||}|||{||||||}|}||}}|{{{|{|{|||||}{|{{|{|z{|{|{{}|}|{|{{||{|||}|||}||{{|{{{z{{||{||||{{{{z|{{~||{|{|{{{z{z|z{{|||~~}}||}}|||{|~}||}|||{{|{{|{|}}{||}|{||{z{|}{||{||||{||{{}{{{||{|||{|zzzz{y{|||{|{||{|{{||z{{|{z|{{|zz{{zz{{z||{|{{|zz{z|z{{|z{{z{{|{{{zz{zz{|{{||z|{{{zz{{{z|{{z|{{{{zz{zz{{{|{{||{|{{zz{{z{{z||{||z{{zz{{{|{|z}|}{{{z{{{z{{{z|}{{|{{z{z{z|{|{{||}{z{{z{z{{{|{|{{{{{{{|{zz|||}{|||{{{{z{{{{|{|{{|{{{|{z{{z{|{||{|{{|z{z{{{{|||{{{|{{||{zzz{|{||{||{{{{z{||||||{|||{z{{||{{{||}{||}|{z{|{{{||||{|}|{{|{|{||{|{||||||||{|{||{||||}{||{|{{{{{||||{}|||{{{{|{|{|{|}}||||||||{{{||{}|||{||||z{{{|}{|||||{{{{{{{||{|{{{{{{{zzz{{{{{|{~}|{||}|||~}}}}|}}}{|{|||{|}|}}}}}}|||{{{{|}}|}}||}{|{{z{{|||}|{|||{{{z{z{{{{{{|||{{{{{{|z{}{{{{|||{{y{{{{|{{z||||||{{{{{{{z{{{{||{{{{z{zz|||{{{||{{z{z{z{{{|{|{||{z{{{{{z{{|||{{|z{{{z{|z{|z{{|||z{{{{{zz|{{{{|{||{{|{|{z{{z{|||{{{{z{{{z||||{|}|{{{{{z{{{|{{{{||{{|{zz||{{||{{|{||{||zzz|{|||||{|{|{{{z|{|{||{|{|{z{{z{z{{{{{||||||{{||{}}||||||{zz{{{z|{|{||}|}|{{{{z{{}|{{{|{||{{{{{{{|}|||}}{{|{|{{{||{|{{|{}|{{||{{||~||{||}|{{|||||||}}{{|||{|{{||||||||}|}|{{|{|{|||||{}}|{{{{{z{{|{||{}}}|{{{{z{z{|{|{{|||{z{{z{{{{{||~}~}||}||||}|}}}|}}|}}{|||{|}}||}|||{|{|||{{||z}}}|||{z{{|{||{|{{|{{{{{z{{{{{|{||{|{{{{{{{z{{|{{|{|{{{zz{{{{|||{|{{{{{z{{{{{{{||{||{|{zzzzz{{||{{|{{||{{{zz{{|}{{z|{{{{zy{z}{{|{|{{{z{{}zz{{{{z{|{{{{{{{zz{z|{|||{|{{{{z{{{{{z{|||{|{{{{{{{{|||{{||{{|{zz{{|{{{{|}||{{|zzz||{{{{{||{{{|{{{z{||{}{||{{{{z{|{{{{|{{}||zz{{{{{{|{{{|||{{z{{{z{|{||||{|{|{{{{{|}|||{|||{z{{{|{{|||||}|{|{{|||{}|||||{|{|{|z{}||{{{||}||}|{||||||}}|}}}|}|{{{{||||{|}|||}{{{|{|{|||||{|}|||||{|||{{{{|}||{{z{z{|{||{{||}|{|{|z||{|{|{|||{{|{zzz{{|{{{|}|}}|||}|}~|}||}}|}{{{{}{|||}|}|}|{{{{z|{|||||}|||{|{|{{{{{||||{||{{{{z{{{{}{}|||{{|{z{{{{||z|z||{{z{z{{{{{{{{|||{{{z|zz{{|{{{{{{{{{zzzzz{|{|{||{z{z{zzzz{{|z|{||{{{{{{z{{}||{{||{{{zz{zz{{{z|{|{|zz{{{{y{{{|{}|{{z{{z{z{|{|{||||{{z{|{zz{{{|{|||{{|{z{{{{|zz{||z|{zz{z{{||z|{{{}{{{||{{{{{{|z|||{z{{z{{{{|{|{{||z}{|{{{{||{{||||{|{z{{z{||||||{|{{|{{{{{|{||||{|{{|||z{{{|||||||{{z{|{{{|||{|}|||{{{{|{{|{{||}||{||{{{{{{|{{||{}|{}{{|{{}|||||{|{|{{z{{{{|||||}}||{{||{{{|{|{{|||}|{|z{z{{||z}}{|{{{{{{{{|{{|{{|{{z{{z{{|{{||~}}}}|||}|}}}}}|}|||{}{}|||}|}||}}}{{{{{{{|{{|||}|{{{|{z{||||{|{{||{|{{{|{|{}{||{|{{{zz|{{{}|z{{|||{|z{{z{{{{z{{{{{z{{{{{z{{z|||z|{{{z{{{z{|z{{{{z{{{{z{zz{{|{|{{z|{{zz{{{{{{{{{|{{{|z{{z{{z{z|||||{{{z|z{{|{{z|{|z{|{{{z{||{{{|||{{{{{{{{{|{{{{||{{|{|z{{{{{|||||{z{||{{{{|{{||{{{z{{{z{|{|||{||{{{|zz{{{|}|{||||{{|{{|{{{|{{||}{||z||{{{|||{{|||{|{{{{{{|{{|{|||{|{z{|{{|||}{|}||{{|z{|{|||||}||{z|{{{}|{||}||||}|}{{{|{{}|}||}|}{{{|{{{|}||||||{{{|||{{{}|}}|}}{{{z{|{{{|{|{{|}z{{{{{{{|||{||}|||{{||z{||||{{||{{{{{z{z{{||{~~}|||||}{}}}}||}||{||{||||}|}||}{|{|{{|z|{{{{{||||{{{z{z{{}{}|z{}{{z{z|{{||{{|||||{{zz{zz{{{|{||{{z{yz{z{{{{z||{{{z{{zzz{{{{|{{{{|z{y{z{{z|{{{{{zzz{{z{{{z||{|{|{{{zzz{zz{|{{{{{{zz{{{zzy{{{z{{||zzz{{z{z{{{|{{||{{{z{z{z{{||{|{||{{z{{{{|||{{{{{{|{{z{{{{{{|{|}|{z{z{z{{{{|{{{~||{|{{{{{{|{|{}|{z{{z|{zz{{{{z{|{|{{|z{{z|{{{{}{{{|{{{{{{||}}{}|||{{{{z{|}{{|{|}{{z{|{{zz{}{{||}{||z{{{{{}}{{|||{{{|{{{{{|{|||||||z{{||{{{}{|{|||{{|{|{|||||{}|||{z{{{{{|||||{||}|{{||z|{||{|||{}|{{{{z{|z||{||}||{z{{z{z{|{}{||{|{|y{{z{{z|{{}}~}}}|||~}}}}}}}}}|||||{||}|||||}}|{{{||{z|}|{{}|}{{{|{z{|{|{{||||{||{zz|z{{{||{|{{{{z|z|{{|{|{||{|{z{{{z{{|{z||{{{{||zz{{{z{|{|{|{|{zz{z{{{{||{{{{{{{z{{{z{|{{|{{{{|{z{{z{z||{{{|{z{{{zz{{||{{{{|{{{yyzzz{|{z{{}{{{|{{{{z|{z{{{{||{{z{zz{{||{{||{|{|{{z|zz{||{|||{zzz{{{{z|}{{||}|{{{{z{{{|{{}|||zz|{z{z{z|{{{{}|{{z|{{z{|||{{|||{{z{z|z{{}{|||||{z{{{||{{||||||{|z{{|z|{||{||{}{|{{{||z|{||||||||{|{||{{{||||||}}{{{|{z{z||}||||{{|{|{||||{|}|}||{{|z|{|||{}|||}|||{{{{{|||{{~|||{|z{z}|{|{|||||{{{{z{{z{{{|{}||{{|z{z{z{|{{{}|}~|~~||}|}|}|}}}~|||{{{|}}|}}||{||{z{|{|{||}{|}||{z{z{{{{{|||{|{|{{||z|{{{|{{{|||{z|{z{{zz{|{{|{|{{{z{{z{{|{z|{{{zzz{z{{{z{{|{||{z{{{zzz{{z{{z{{{zz{{z{z{z{{z||{{{z{{z{{{{|{{{|{{zz{||zzz{{{zz|zz{{z{{zzz{||{{{||{zz{z{z{z||{{|{{{{|{{zzz{{||y{{|{{{{{z{{||{{{{|{||{{{zz{|{{|{{||{{{z{{{z{{|||}|{{{{{zz{{{|||{|||{z{{{z{z||z{{|||{|{{{{zz|{{{||||{{z{{|{{}{|}|||{{{{|||{{{||||}|||{|{{{|||||}||}|{{|{{||{|||||||{|{|{|{{z{}{|}||||{||{{{{{||{|{||}{|{{{{|{}{|||||||{{|{{{z|||||||z{{{{{{{{{|{{|||z{zzzz{{{|{|{{||{|{yz{{{{{||{~~}~}}}|||}~}|}}~}|{{{||{{}|}|{|}}|||{|{{{|{{{{||{|z|{|{{{{|||{}|}|{zz{zz{{|{{|||||{{{|z|{{{|{{||{|zzzz{{{{{{{{|{|z{{{{{zz{||{{{{||zz{{zzz{||{z{|{{zyz{{z|{z|{|{{{z{{zz{z{z{{{{{}{{{{z{zzzy{{{z||{{{{{{{zz{{z{{||{{{{z|{zz||{{{{{|{{{{zz{{|{||{|{||{{{{z|z|{||{||{{z{z{z{{|{|{{|{{{{|{{{{{{|||{{|||{{{{{z{||{{|||z{{z{{{{{{{|z{{{{|{zz{{{{|{|||}||{{{{{|{|{{|||||||{|{|{{{{|{||{|||{{{{|{{{{}||||||{{||{{{|{|}||||}{{{|{{{|||}|||||||{{|||{|||||{||{|{|{||{|{|||||{{|||{{{||{{|}|{|||{{{{|{|||{||||{{{{z{{|||||{{|{{{{{zz{{{{{{}}~~}}}||||~}}}|}}}{|}|z}{|}||}|}||{|{{z{{|||||||}|{||{{{{z|{||{}|{|z{{zzz|||z{|{{z{zz{|{y|{{{|{|}{{{|y{zz{{{{|{{|{z{z{yz{|z{||{|{z{|{{z{{z{{{{|}|{{{zz{z|{{{{|{{|{zz{zzz|{{{{{{||{zz{{z{z{z{|{{{{{{{z{zzz{{{{||{|zz{{|z{{{{{{{{|{{{zzz{{{{|||{|{|{z{{z{|{|||{|{|{z|{z{z{zz{||{{{|z{{{{zz{{|{|{}|{|{{{{z{{||||{{|{{||z{|z|{||{||{||{|{z{{{{{{z|{}|{{{{{z{{|{{|||}}{|{z{z{{{|{}||}}|z{{{{|z{|||{||||}{{{|||{}|{|||{||{{z{{}{}|||||{}{}|{{|{||}|}}{{||{{|{{|||{|||}}{{z||{{||{{||||{{{{{zz{z{||}||}}{{{{{{{{{{{{{}||{{|z{z{{{{||{~~~~}}|||}|~}~|}|~||}|{||||}|}|}}}|}{{{z||{{}||}|||||||{z{z{{{|||||{|{{{z{z}{{z{{|}{{|{y{{z|{{z{|{{{{{zz{{|{|{{{{z|{{zy{{{z{{z{{{{{{zzzzz{zz{|{|{|{{z{|zzzz{{{{{|||{{{z{zzz{|z|{{|z|zzz{z|z{{|z{z{|{{{z{z{zz{{{{|{{z{{{{||z{|{{{{|{|{{z{{{{{}{{{||||||{|yz{|{|{{|{{z{{z|{{{|{{{{||{{z{|{{{z{}|{||||z{|{{{z{|{{|{{|{|{z|z{z{||{|{|{|{{|{{|{{|{{||||||z{|{||z{|||||{|{{{|{{{{||||||||{{{{{|{{||{||}{}{{|{{||{|||||}}}||{{{|{{{}|||||}|{{z{{{{|||}||}||{{|{{|{{|||||||{||{|{{|{||}|}{||{{{{{zz{|{{|||{|{{z|{{{{||{{|{|{{{{{z{z{|{{|~~}}}~|}||}}~}}|}~|||{|{|||}||||||{}}{{{|{|}z{|||{{{{{{{z|z{|{}||||||zz|{{{|{|{|{}{{{{z{|z|{|{|z|||z{{{zzz{|{{||{{zz{{zzz{{zz{{{||zz{{{{{{{{{||{|z{{z|{zz{z{{z|{||{|{{zz{z{|{{{z{{|{{{{{zzz{{{|{{{{{z{{z{{z{{{{{{|{zz{|{z{|z{||{}||{{{{z{z||{||{||z{|{z{{{||||||}|{|{{{|{{{{{||{|||{{z{z{{{{}||||}|{{zz{z{|||||||{|z{{z{{{|{||{|{|{{{|{{{|{||{||{||{|{|{|{|||||||||{{{}{{{|}||{|||{{{|{{{{|}{||{||{}|{{||{||||||}||||{{{{{{}|||||}|{|{{|{{{}|||||{}{{{{||{|}{{||}|{|{|{{||}||||||}|}{{{{{{|{||||||{{{|{z{z{||{{{{{|z|{{{z{zz|{|~~|~||}|}}~|}~}}}}{|{||||}}|~}}}||{|||{|}||{~|}||||{{||||{{{||||{{{|{{{{||||{|{|{{{z{{{{{{||z|||z{{{{{{z|{{{{{{z{z{{{{{{z{{{{|||z{{{{{zz{|{|{{||{{|zzzz{{{{{|{{||z|{yy{{|{{|{{{{{{{{z{zzz||{||{{||{{{z{zy|z{{{|{|{|z{{{{{z{{|{||{{{{|{{{z{{|{}||{z{{{z{z{||{z|}|{{zzz||{||||||{}{{{|{z{|||{{{|{||{{zz{{{{{|{|{{|{{{{{{{{{}{{|{|{}{z{z|{{{||}{}}|{{{{{{{||{|{||||||{{|{{{{{|||||{|{{z{|{{|}||}|}|zz{{{|{|{{{|||||||{|||{||}|||}||}{|{{|{{|||{|}|||{{{|{{||{{|}}}}|{|{{||{}{|~}||||{|{z{z{||z{||}|{|{{|{|{{||{|{}||z{{z{{y{{||{~~~}}}}|}}~~|~}}}}}|{|{{{|}}|{}~}|}|{{|||}|}{||}|{||{{{{{||{|||||||{{z{|z{{||{|{|z{{{{{{{{|{{{|{{{{{{{z{zzz|{z||{zzzz{{z{{{{{{|{}{{y{zzy{{{{{|{{{{z{{{{zz{|{{||z{|z|z{zz{z{|}{||{{zz{{{{zz{zz{{|{zzz{{{{z{{||{{|{{z{{{{{{{|{|{||}{{|{{{{{{|{||{{{{{{zzzz{{{||{|{{{{{{{{{z{{|{|{||{z{z{z|{|{{{{||{zz|z{{{{|||||{|{{||{|zzz|||{{|||||{{{|{{||{||||}z{z{{{{{|||}|}|{|z{|{{{{|{}|{|||{{{{{|{{|||||||}{{|{{{{|{||||{|}|{z{|{{{|}|}}|}{|{|{{{|{{{|||}}|{{{{{{|{||||||}||{{{{{{|||{{|{}|{|{y{{|z{|{|||}||{|{{{{{{{||{||||{{zzz{z{||{{~}~~}~}~|}|}|}}}||||{||}|||||}|}||{||{|||||}|}|{{{{z{{|{|{||||{{|z{{z{z{{||{|||{z{|zz{z{|{{{||{{{zzz{{{{z|{{{{{z{z{{{{{z{z|{{|{{{{z{{{z{{||{z||{z{z{|zzz{{|{{{|{{|zz{{{{{{|{z{||{z|{{{zzz{{|{{|z{zzzy{{z|{{||{{{z|{{{{z{{{{|{}}{{{z{z{z|{|{{{||{{z{{{{y{{{{}|{||z|zz{{z{{||||||{{|{|{{{{||||||{{{|{{{{{|||}{{}{|{{||{{{{||z{{|{{zz{|{{{}|}|||||{{|||{{z||{{|||||{|||{{zz{{||}|{|{{{|{|{|||{{|||{{{{|{||{|||||}||{{{{||{{}}|{||||{||{{z|||{||||||{zz{{|z||||||}}||{{||{{{}|||||}{{{{{}{|{||{}{|z{}{{{{{{{|{||{}|{{{|{zzz|||{{~~~~~~}|~}~~}}~~|}||||{||||||||}{{||{{|{}||{||}||{{z|{{z{z}|{{|{|||{{{|{|||{|{{|{{{z{z{z{{{{{||{{z{{{zz{|||z|{{|z{{zzz{zz{{||{||z{{{|zzy{||{{{|{zz{{zzz{z{|{||{{zzzzz{{z{{|||||{z{{{{{z{{{z{{z{|{z{{z|{|{zz{|{{zzz{|{z{{{{{|{|{{{|{z{{||{{{|{|{|z|{zz{zz|{{{|{{|z{{zz{{{|{{|||||{{{{{{{{{}|{||{{{{{z|zz{|{{{|{||{z||{{z{||{{||{|z|{{{zz{|{{||}{||{{{{{|{|{{}{{|||{{{|{{{{|{{||}|}|{{{{{||||{||}||{}{||{{|||||}||{{{{|{z|{}}|||}|{||||z{{{{|{||}|{|{{{||{{}|{|||||{{{|{{||}|{{|||{|{{{|{|{|{|||||{|{{{z|{|||||||{{{{{{z||{|||{~~}~}|}~~}}~~~~}}||}{{||||}}|||}}|{||{{||zz}||||{|{|{{{{|{z{}{||{{{|{zz|{|{{{z|{zz{zz{{|{{||z{{|z{{|z{z{|{z{|{|z{zz{|{z{{{{{{|{zz{zzzz{{{{z{{{{{|{{z{z||z|{||{|{{{{{zzz{|{|z{||{zz{{{{{{z{{|{{{|{|z{z{zz{z|{}{|{z{{{{{{|{{{|{||{z{z{{z{{{{{{{{|{{{z{z{{||{{{{{{zzzzzzz{{z|{{{{||{z{z{{zz|{}|{{{z{{{{{{{|||{|{{||{||z{{{|{{{|||{|{{z{{|{{|||{|||{{{{z{}{}{||{|||z{{{{{{{|}{|{||{|{|{{{{{|}|||{~||{|{{|||||||||||||{{{z{{{|}}|}}|{{{z{{{|{|}||}{||{{{{{{||}|{|||||||{|z{}||}|||||{{{{{{{{{|}|||||{{{|{z|{{{z{{{}|{{|{{{|zz}{||~}}}}}}|~~}~}}}}||||||{|}}}|||}{||||{}z{{|||}|{|{{{{{z{|||{{|{{{z|{{|{z|{{||||{{{{zz{{z{|||z{{|z||zz{{z{{|{||{z|z{zy{{z{z{{{|{|{z|{zzz{z{{{{||z{z{yy{{{{{|z{{{{zzz{{{z{{|{{{{|zz{z{{z{z{{{{|z{|{z{z{{{zz|{z{|{|{zz{{z{z|||{{|z{|zyz{z{{{{{|{z{|z{{{zz{||{z|{{||{{z{{zzz{{{|||||{{|z{z{z{||||{z||z{zz{y{|}||{||{|{{{{{y{{{||{|{{{z|{{{{|{|||||||z|{{z{||||{||{{|{{|||{{z||||||||}zz{|{{{|{||||||{|{{{{|z||{|{|||{{{{z{{{{|}||||}|{{|{{{{}||||{}{|{{||{|{{{{{|||}z|{{|{{||||{||||{{{zz{{{|{{|{|{||{{{{{|{{|{|{}{|{{|{{{|z{{{{{~~~~~~~}}~}}|~|}|{{{|~||||||||zz{|{||{|{|||||{||{{{{{{{|{{{|{|{{z{{z{z{{{{{|{{{{{zzz||{|z|{{{z{z{zzy{z{z{{z|{{{{{zzz{{{{{{{{{zzz{{{z{|{|{{{zzzz{zzzzz{{z{|||{{zzzzzzz{{{z||{{{z{{zzzz|z{{z|{{{{{{z{zy{z{||{{{zzz{z{z{{{{{|||{z{{{{zz{||{||{|{z{{{z{{{||{{|{|z{{{{z{{|{{{{|{|{{{{{z{{{{{{|{||{{|{{|zz{||{{||{{{{|{{{{{|}{{|{||z{{{{{||{|||{{|z{{{{|{{{|{|||||{{||{{zz||}|||{{|{{{|{{{}|{|||}|{{{{{{{{||||||||||{{{|{z{|||||||z|||{|z|||||||{|}||{{|{|{|||{|}|{zz{{{{{|{|{{|{|{z{{{{{{|||{|{|{{|{{{{{z||{|||{||{|z{yz{{{|{{~~}~}}~~}}~~}}|}}|{|||}}||}|}|}|z||||||{}{|}||{|{{zz{z|{{{{{|{|{zzy{z{{{{|{|}zz{{{{{{{|{{{||{{{{zzzzz|{{{{||{{{zz{{zy{{{{{|{{|{z{z{z{z{{{z{{zzz{z{z{zz{{{{{{zz{zzzz{z{{zz|{||zz{{zzzyyzzz{{|{|{zz{z{z{{z{{{|{|{{zzzz{z{{{z|{{{{z{zz|zz{|{{|{z{z{{|z{zz{{{{|{|z{{{z{{{{{{{{{||{z{{{zz{{||||{||{{{{{{zz|{||{|{{{{{z{zzz|{|z{||{{{z{|z{{|{|{{{||{|{{{{|{{|{{{|||zz{|{{z{|||||}|||z||{z{||||||}||{{{z{z{{{|{|{|||{{{{{|{||}|}|{|}{z||zz{{|||{|||}{z{}{{{|||{||||||||{{z{z|{|}{{|{|{{{{{{{{{{|{|||{|{{zzzz{|{||||{{{{z{{z{{z{{{~}~}~~~~~}||}|}|{}}}}}|||||{|}z{{||{|{}}}|z|{{{{|||||||}||{|{{{|{|{{||{{|{z|{{{{{||{{{z{|{{{z{zzzz{|{z|{{{{{zz{zz{{{z|{{||zz{{{|z{||z{{||{zzzz{z{{||{{{|{|{{{yz{{{{{{||{|z{|z{zzz{{{{{{|{{|{{{{{{{|{{|{{|{{{{{{{{|{{{{{||{{z{{{{{{{|{{|}|{z{{{z{{{{{{{{||{{{z{zzz{{{||{||{z{{{z{{|{{|{}||{z|{{{|{{{||||||||z{zz{|||{{{{||}|{{zz{{{|{||||{z||{z|{|||||{}|}|{{|{z{{{{{|||{{|z{{{{{|||{|||||{{{|{||}{|||}|}}}{||{{{{|}}{||||||{{{|z{}|}}||||||{{{{{}||{||}|||z||{{{|}||}||}|{{zz{|{{|{|{|||{{|{{{{|z||{{|{||{{{{{{|z{||{{~~~~~}~}~~~}|}||{}|}|}|}}}||||{{z{|||||}|}||||{{{{{||{|z|}{|{{z{|y|||{||z|{z|z{{{z{{{{z{{|z{{z|zz{zz{zy||{{{{zz{z{|zz}{{{{z{{{{y{{|{{{{{{|{{zyz{{z{{|{{{||{{zzzzz{{|{{{z{|zz{zz{{z{{{{{z{{{{zzzzz{||{{|{||{z{{z|z{{{|{z{||{{zz{{{|{|{|{|||{z{{{zz{}|{|{||{zz|zz{{{{{|{||||z{{z{{z{{{{|{|{{{{|{{{{z||}{{|{{{{|{|{{{{||{{|{}{{zz{{{||{|}{{|{|{{{{{{{|{{{{}||{{{{{{{z{|{|{||{|z{||{z{|||}|||{|{|{{{|{{|||}}||}{||{|{|||||||}||{{|{{{{|}||||{}|{{|||z{||}||{||||{||{{{|||}||}||||{{{{z{|{|||}||{{{{{{z{|{}{|}{{z{{|{zz{||{{~}~~~~~~~~}}|}}|}}|}}||}}}{|}{{|{|||{}}}|||{{|{z{{{|}}{|||{z{{z{{{||||z||||{{z{zzz{|{{|||||zz{{zz{z{{zz|{{z{{z{{z{{{|||{|{{yzz{{{{{{|y{|{|{{{{zz{{|z|{{{{|{{{z{zzz{{|{{||{{z{zz{z{{{{z{||{|{{{{{{{{|{{}||{{{{{|{{{|{{|{||||{zz{z{{{|}{{||{{{|z{z|{{{{||{|{{{z{{z{{{|{{||{{{||{{y{}{}|{{|{z{{{{{|{{{{|{|||||{{z{{{||{|{|||{|{z{{{{{|}{||}|}{|z{||{|{|||{||||zz{|{|{{}|||}|||{{{{{{{|}||||}|{|{{|{||||{}{||||{{||{{{|}}}|{||{|||{z{z|}|||||||{{{{z{{|{|||}}||||{z|{}|}{||}{}{{|{{y{|{|}||}|{||{|{{{z{|||{{|{||z{z|z{{|{|{~~~~}~~}}}|{||||~}}}}~}}{|||{{{|||{}}||}{{|{{{z|{}{||||{|z{{{{z{{{||}||{{{{{{zz{{{{|{|{|z{{|{{{zz|||}{}{{zzz{zz{{{}z|z{zz{zzz|z{{{|||{{{z{zz{zzz{{|{}{|{z{{y{{|z{|{{||{|{{zzz|z{{z{{{||z|{z{yz{{|{{{|{{{z{{{|zz|{{{||{|{{z{{z|z|||{{{{|{{|{{z{{|{{|{{|{{{{{z{{{{{}|||{|{{{|zz{z{{{{||{|{{{{|zz|{||{{{||{{{{{z{{{|||{}|{{{{z{{{z{|||}|||z{||{{|z|||{{|}}|{||{zz|}||{{{|||z|z|{{{|}|||}|||{{|||{{|{|||{||}{|{||{{|||}{}|||}{{{z|{|||||||}|z{{{{{{|{{||||}|||{{|{|{{{||||{{{|{|{{{||||{|{{|{{{z{{{{{||||||{|{z{z{|||||{}~~}~~}|}}|}|{|||||}}{|{|{|{{||{|{|{|||{{{z{{{{|}{{|||{{|zz{{z{||{||{z{{{{yz{{{|||{{{{{{{{{zz{{{|{||{|{{zz{{{{{{{|{|{|z{{{zzz{{||{{|{|zzz{{z{z{{{{|||{{z{{z{zzz{|z{|{|{{z|{{{z{||||{{||{zzz{z{{{{{|z|}zz{{{{zy{{z{z{||{{z{{zz{||z|{|z|zz{{z{{{{{{{{|||{z{{{{|||||{{|||zz{{{{{{z}||||{|{{{{{{z{||{z{{||{{z{{{{{|{|{{{|{{{|{{{{{|||{||}|{{{{{{{{}{{|z||||{{|{z{{{||}||{{|{{z{{z{|||{}|}||{|{|||||}|{{|{||{||z{{{|||}|}||}{{}{{{|||{|||{||{{||{|{||||}|||||{z|{{|{||{}||}|{|z|{{{{|{{||}|{{{|{z{{{|||{{}|{|{z{z{{|{|{{~~~~~}~}}||||{|}||~|}||}|{{{{z{{|||{||||{|{{{{{{|}{||||{{{{z{z{{{|}{|{|{{{{zz{{{|}{{||{||{z{z{{|{{{|{{{|{{|z{zz{{{|z{{|{{zz{zzz{{{|{z|{z{zz{{zz|{{{{{{z{{{zz{{z{{{|{{{|{zz{{zzzz{zyz{|{zz|zz{z{{{zzz{{{z{{{{zzz{{{z{|||{z{z{z{{{||z{{||{{{zzz{{{|z{|{{{{z{|{z|{|{{|{||||{{z{{{zz{{||||||{{{{y{z{{|}|{}|{{{z{{{|{|{{|~|{{z|{{z|{||{|||{}{{{z{{{}|{|{{|||{{{|{z{{z|||||}|}{{{{{z||||{|||||{{{{{|{{||{{||||{{{{{{|||{}|||{|||{{{{{|}|{|{{|{{z{{|{{{{}~{||}||||{|{{|{}|}|||{|{z||{z{||||||{|{|{{z{z{{|{|||{{{{{z{{{|z{||~~~~~~|}|||}|||||~}|~||{|{{{{{{}{|||||{{{zzz{y|||||||{{||{{|z|{{{{|}}{{{{z|z{{|||||}{{{zzzz{{{z{z{||{z{{{z{zz{{{{{{|{{zzzz{z{{|{{||||{{{zz{yz{{{{{||{{z{{zz{{{||{{|||{{{{zz{z{z{||||{{{{{zzz{{|{|{||{{z{zz{{z{{{z|{|{{{{z{{{{{||{{{|{{z{|{{{{{|{|{{{||z{zz{{{{||{||||{{{{|{{|{|{||}{{{{|{{{{{{|||{|||{zz|{{{{||{{{|}{}{{{{{{{{||{{||{{|zz||{{{|{||||}|{||{{z|{}{|||||{zz{|{{{|{{||{|||{||{{||{{||}|{|{{|{|{|{{|}}{||||{|{{{{{|{{||||||{|z{{z{{|||||}||{{z|||||||}|||}|{{z{{{{{|{{z||{{{z{z{z{||||||{|{{{{{{z{||||{~}}}}}}|}|}}}|}}}~}||||{|z{{|{|||||{{|{|{{{z||}z{|||{{z{{{z{{|{|{||{z{{{{{{|{|{z||z|{{{zzzz|z|{{{{{{{zzzyzzy{{{{{{{z{{{{zz{{{{{{|z|{{z{z|z{{|{{{|{|z{{{z{zz{|{|{||z{{{z{z{z||{{{{{{{{{{{z{{{{{{{||{{{{{z{yz|z|{{{{{{z{z{{z{|{{{{{{|{{z{z{{y{{|{|{||{z{zzzz{{{|{{{||{{{{z{{{z{{{||{|{{{{z{{{|{|{|}}}{{{{z{{{{{{{{|{{||z{{{{{{|{{}|{{{{{{{{|z|{{||||{|{{{{{{{|{|}|||||{|{|{{{|||{|{|}|||z{{|{|||{{|{||z||{|{{|}|||||||{{|{{{{{{||||||{z{z{|{{||{|||||||{{{{{{{|||||||{{z{{y{{{|z|{{|{{{{{{{{{{|{|{|||{z{z{zz{|{||{~~}}{}|{}|}}~}|}}}}|{|{||{|||{{{}||||{{{z|||||}{|{{|z{{{{|{|{|{|{|{z||{{{{{{z{{{|{{|{{zz{z|||{zz{{{{z{{|z{{{{||{|{{{z{zy{z{{{|{{{{{{{zz{z{z|{{|{{{{{{{{{{|{z}|z{}{|z{z{zzz{|{{|{|||z{z{z{{{{|{{{{{{z|{z{zz{{|{{{||{{z{{z||{||||{|{{z{{{z{z{{{|{|||z{{{{zz{|{||{|{||{|{{z{{{|{|{|{{{{|{{{{z||||{||{{z{{z{z{|{{|{{{{{{{|{{{{|{{}{|{|{{{z{{{{{|{|{||}||{{|{zz||{|||{||z|{|{zz{|||||}|||||z|{{z|{{}|}|}{{|{{{{{||||{||}{||{{{{{}|}||||{{{}{{{{|{|{|{|{|z{{|{{{|||}|||||{{{z{{{|z{||}||{{{{{z{z{|{{|{{{{{z{{{{z{{{{{~~~}}~}}}|||||}|}}}|}|||||z{{{|}|}|}||{{|{|z{|{|{{||{|{{{{{{z{z{|{||}z{{{{{{z|{|{{||{{{zz{{{{|{{{|{{|{{z{z|z{{{{|{{|{{{{z|z{z{{{{{{{{{{{{{{z{z{|{||{|z{{zzz{{{{{{{||{{zz{{z{z{{{{|}{|z{|{{z|{{{{{{|{|{{{{z{z|||{{{|||{{z{{zz{||||{{||{||{{{{{{z|{{{{|{{zz|z{z{{{|{||{|{|{z{{{z|||{|{{{{{|{{z{{}|{|||}{{zzz|{{{||{{|{{||{z||{{{{|||{||{{{{{{|{{{{|{||||{{|{{|{{||||||||{{{|{z}}}|{}}}|||{{||{{|{||}||||{|||{{{}||||{}||z|{{z||||}}||}||{{|{{|{{||||{|}|{|{{{|{|}z{{||}{{{{|{z{{|{}{|||{{{{z|{|{|||||{|||{z{z|{{||||~~~~~~}}||}}|}~}|}~|}||{{||{{{||}||||||{||z{{||||{||{|{|{{z|{{||{||||{{{{z|{{{||{|}{||{|{{yzz{{{zz|{{|{zz{{z{||{|{{z|{zz{{z{{|||{{|{{|z{{zz{|{||{{{{|{{{{{{zz{{{{}|||{{z{{{z{z{{{{{{|{z{zzzyz{{{{||||{z{{{{{{{||{||||{z{{{{{{|||{{|||{z{{{z|{z{z|{|{{zz|{{{|{||||||{}{{|||{||{|||{|||{{z|||{{{||{{|{{||{{zz{|{|{{{||{{{{{{{{z|||{}|||{|{{|z{{|||}{||}|{|{{|{{||||||||{{{{|{{{|}|||}}|||{{|||{||||}|}}|{||||{|||||}|}||{{|{{{|{}||||}{|{{z{{|{{||||||||{{{{{{{||{|||||||{{{||{{|{|||}}|}{{{|{{}||||||}{{{z{{{|}|{||~~~~}~}||||||}}~}|}|}|||{|{}{||||}||||||{|z{|||{|{|||{{{z{z|z|{{|{{||{{|{{{{z{|||{{}|{{{{|{{{{{|{{{{{{{zzz|{{{{z{{|||{zz{{{zz{{{|{{|||{{{{{z{{{{{|{{|{{z|z{{{z||{{||{{{z{z{{z{|{{z{|{|{{{z{{|{{{{{|{{z{{z}|zz||{{{{||{{{{|{{z||{{{|{|{{zz{{||{|z|{{||{{{{z{{{{||{{||}{||{{{{{{{||{}{||{{{{zz{{||||{|||{{{||{{|{|{{}|||{{|{{z||{}||{||{|{{|{||||{|{}|||||||{{{{||}||||||zz|{{{~{}||}|||{{||{|{{|{|||||}|||{|{{{}|}|{}|||{|{{{{{||||}||{{{{|{{|{||{}}|}}{|||{{|{||||}||{|{{|{{{{|||{|||{|z{{{{||||{{|}{|{{z{z{{{||{{~}}~~|~|}}|}|}}~|}}||||}|{|}|||}|}|{||{{{z||{{{|{|}{|{{|{{{{||{}||}{{{{z|{{{z|{{}|||{{{{{zz|{|{{|{{|{{{{zzz{z{||{|{{z|{z{{z{{|{|}{{{zz{yzzz||{||{||{{{zz{z{|{{|{{|{|{z{|{{zz{{{||||{{|{{z|{{{{{{{}{{z{{{zz{{{z|{{|||y{{{{zz{{|{{{|||z{{zz{{{{||{}{||{{z{{z||||{{{||{{|{{{{{{{|{|}|{|{|{{{{z|{|||{||{z{{{{z{|{|{||{|}|{{{z{{|}||||||z{{{{|{|{|{||}|}|{{{|{|{{||||{{{|{{{z{{{|||}}|}||{{||{|{{||}|}}||z{||||z||}}||||{{{|{{{{{{||{||||{|{{|{{{|{|}{}}}{{{||{|{{||||||{{{z{{{{|{{|||}||{z{|{{{{||{{{|{{{{{{z|{{{{{|~~~~}}|}}}|}}}}}}~}}|{z|{{{|||{|}}||{z|{{{|||||{||||||{|{{z|||{{{|||{{{{{{{{|zz|z{{{{{{{z{|{|{{||||{{z|{{|z{{{{|{{{{{{{{{z{{{z{{|{{{z{zzz{|z{{{{{|{{{{zz{zzz{{||{{|{{{z|z{{{|{z{z}||zz{{z{z{|{{{}|{{z{{{{z{{{{||{}|{{{{{z|{|||{{{}{|z{z{y|{{|||||||{{z{{{|{||{{||||{|{{|{{{|||{||||{{{{{{{{||}|||{{{{|{{z{{z}|{{|}{z|z{{{{{||}||{||{{|{{{{|||{}{||}|{z{{{z{{||}}}}{|{{{|{{z|}|||||}|{|{{{{{||||{||||||||{|{||}||||||{{{{{{{||}}||}||||{{|{{|||{}||}||{{{|{||{{|||}|{{{{{||{{}|||||||{{{{{{z{{{{||||{{|{z|{{{||{}~~~}}||~|}}||}||}}|{{{{{{{||||||{|||{||{{{||{{||}||{|z{z{z{{|{||{|z{{{|z{z{{{z{|{{zz{{{|zz|{{z{||{{{zzy{{z{{|{{{{{{zz{{{{||{{{{||zzzzzz{{{{{{||{||{{|{zzzz{|{||{{|{{{{|z{z{||{z{{|{{zzz{{{{z||{|{|{{|{{z{{{{{{||||{{zz{z{{{||{||||{z{{{{{{|{||{{|{{{|zzz{z{{{{{|{z|{{{|{|z{|{{||||{z{{|{|{||{|||||{z{{{z{{|{||||||||{{{{{{{{|}||||z|{{|||{|}||{||||{{{|{|{||||}}|||z{{{{{|{||||||||{|{{|||||||}||||||{{{{||}|||}}|}{||{{{{||}|||}|{{{{{z{|||||{}}|||{|{{{{}{|}||||{|{{z|{{||{||||||{{|{{{{{|{}{|}|{{{{{zzz|{{||~~~}~~|~}~}~}}~}}}}||{{{|||{|{{{}|||z{|{{{{||{|{{|||{{{{{|{|{{|}|{}|{{{{{{y{{|{{|||{z{z{{zz{{||{z{{|z{{|{z{|{{{z|||z{zzz{{z{{||{{|{zz{zz{zz{{{{{{|{|{{|{{|z{{{|z|}{{z{{z{z{z{{{{{{{zz{z{{{{{{{||}||zz{{{z{z{|{{}||||{{{{z{{{{{{|||{{{zzz{{{|{{{||}||{|zz{{{{|{||{|{||||{y{z{||||||||{||{z||||||{{||{z{||z{{{|{|{|||{|{{{{{{|||}|}}|{{{{|{||{{{|{|||{|{{|{|{{||}|||{|{{z||{{{}||||||{{{{{|{|{||||{|}||{z{|{||||||}}{|{|{{{|{{|||}{|{|{{z{|{||{{|}||}|{|{||{||}|{{}|||{{{|z{{{{{|||}|{{{|z{|z||}|||||{{{z{z{z||{|{~}~}}}|||||}|}}|||{{{{|{{||{||{|||z{{{z|{|||{{{|}|{|z{z{yz{|{|{{|{{{{z{zz||zz{{|zzz{{|{z{{{{{|{{{z{{z{zzzzz{{{|{{|{{z{{z{{{{{z{||{{{{z{z{{{{z{|{|{z{{zzyy{{|||{{|{{yz{z{zz{{zz{z|{{{zzz{yzz{{{{|{{|{{{{{z{{{{{{|{{z{{zz{zz{z{{|||{{{{zz{z{{|{{|}|{{{zzz{z|||{||{{{z{{{y{y{{{{z{{|z{|{{z||z||{z{}z{{{||{{{|{{|{|{||z{{{z{{||||||||{{|{{{{{|{z{|||||z{{z|z{{||{||{|{z{{{{z{|||{|||||{{{{|{|{|{|||}{||{|{{{|{}{{}||}|{{{{{|{|||||}{|{{{z|zz{|{{{{{{|{{{|{{{||{||}|{}{|{z{z{{{}|||||{{{{|{y{{|{{|{|{{{|z{{z{{{|{|{~~}}}|~}||~}}}||}}}|{{||||}|||}{}|{|||z{{{{||||z}|{z{|{{|z{||{{|{|{z{{{{{{{{|{{{{|zz{z{{zz||{{{{{||{z{z{{z{z{|{|{{{{zz{{z{z{{|{|{{{z{{{{z{{{{{||{{z{{{z{{z|{{||{||zz{z{z{z{{{{z{{{|{{{{{{zz|{{{}{{z{{z{|{z|{{|{{{||zzy{z{{{{||{|||{z{{zz|{|{|{||||zz{z{|{{|z|{{{||{z{{{z|{|{}{||{{{{{{z{{{z{{{{||{|{{{|z{{{{{{|{{{|{|{{z|{{z||||||{{{{|{{{z}{|{||}|z{{{z{z|}{||{|||z{z{{{z|}|{|{{|{|{{{{|{{|||{{}|{{{|{|{{|}||||}|||||{{{|||||{{}|{{{{{{{{z||}|}|}|{z{{{{||{{}}|{}{{{{|{z{{|{{||||{{z{|{{{{||||||||{z{zz{{z|{{{~~}~}}}|||}}}}}}}|}}|{{||{}{|{{}|{{{{{{{zz|{{|{{||{{|{z{z{{z|{{|{{{|{yzz{yz{y{{}|z|z{{zzz{{{|{||z|zz{{{zzz{|{|z{{z{{{zzzzz{{z{{{|{{zz|z{y{z|{{{{z{{{{zzzy{{{{{zz{{{z{z{{{{z|{{|{|{{{zz{zzz{{{{{|{{z{{{{z{{{{{||{|zzzz{zz{z{{|{{{||z{zzzz|z{{{z{{{|{{zz{{z{{|{z{|{{zz{{{z{z{|{||{{|{{{{{{z{{||{{{}{|zz{{{z{|||{{{|{{{{{z{{{{|||||{|{{{{{z{}|{{{{|{|z{{{{{zz{{||{{|{|{{|{{|{|}|{||||{|zz||{{|{|||||||z{{||{{|}||||}||{|{{z|{{||||||{{{{{|{{||{||||||{{{{{{{{{{||||||{{{{z{{{z|{|||{{{z{|{zz{{|{{||||{{{{{zzz{|{{{~}|~|}|{|}~}|}}}}||{{||z||||{}|}{|{|{{{{{||{{||}{{|{z{zz{{|{||||z{{z{z{zz|{|{{||{{z{{{z|z||{z|{{{zz{z{{{{{{|{{z|zz{z{{zy{{z{|||{{{{yz{z{{||{{{||zzz{{{z{|||{{|||{z{{zzz{{{{{{{{zz{{{z{{z{{{|{||{{|z|{z{z{|{{|||{{{zz{{{{{||{|{||||{{z{{{|z|{{{|}{{zzzz{{|||{{{{{{{{{{z|{{|||||{{{{|{{|zz|{|{||||{z{{{{{{|||{|{{|{{|{{{z{{|||||||{{{{{{|{|{||z|}}|{{z{{{{|{}||||||z{{{{{|||||||||||{{||}{||||}||}{{||{|{{||{||}||{|||{{||||||||||||{{|{{{{|||||}||{||||{|{||{|}|}{|{{{z|z{{|}||||{{{z{{{|{|{}|{}|{z{{zz{{{{{{|~~~}~}||}}}}|}}|}}}||{||{{||}}||{||{|{{{{z}{}{||{||{{z{{{{{{|{|}{}{{{z{z{zz|{{{{{{{{|z{{{{{{|{{{|{{{{{z{{z{{{{z{{|{|zz{zz{z||{z{{{{z{z{{z{z||{||||{{{zz{{{{{{|{||zz{{{z|{zz{{{{{|{{{z{{{{{{||{{{|{{{{z{{zz{{{{{{}{|{{z{y{z{{{z{{|{z|{z{{|{{{|{|}|{{{{z{{{z{||{||}|{||{{{{{|||||{{{{{|z|{zz||{||{|||{{{{{{||||{|}|}|{z|{{{|{|{||||{{||{|{|||{}{{|}||{{{{zz{{||}|{|{|z{z|z{{|||||||||{{{{||{{||{|}|}|||||{|||}{|{||}||{||{{||}|||||}|{{{{|{{{||||}}~{||{||{{{|||||||{{|{{{{{z|}|||}|{||{|z{{{||||||{|{|{|||z{{|{{~~~}}~}}}|~}}}~}}{}|{z{{{||{||||}}||{{{|{|z||||{{||{{{{z{{z{}{|||{||{{{{z{{{{{z{||{{{{{zzzz{{}{z{{||{{{{{z{z{||z{{{{{z{z{z{{{{{{{{{{z{z{zz{z{|||{|{z{{zz{{{{|{{|{|{{{{z{z{z{{z{z|||||zz{zzzz{{|{{{|z{zz|{{z||||z{|{|{{{{z{|{{|{|{||{|zz{z{{{{{||}{|{{{{{z{{{{||{|{{|z{{{z|z{||{||||{{{{{{zz{|{||||||zz|||zz|{|{|||{|zz{{z{|{|||}|{{{{|z{{{|{}||||{}{{{|{{{||{|}}|}||{{{{{|z}||{z|{}|{{{|{{{}}||{||||{||{||{||{||}}|}{||{{{||{||{{||||{|{{{{|}|{|||||||{||z||{{}||}||{{{|{{{{{|{{{|{{{{{{|{||||{{{}|{z{{{z{z|{|||~~}|}~}||{|~}|}|~}}||{{|{||{{|||}}{{|{{{|||{}|||||{{|{z{zz{||{}}|||{{{|{|z{{{z|{|{{{zz{zzz{{{z{|||{z{z{{zz{z{{|{|{|{{{{z{z{||{{{{{{{zz{zz{|{|||{{}{{{{{{{z{|{||{|zz{{{z{{z|{{{{|||||{zz{{y{{|{|{{{{z{z{{{{{{|||}|||zz{{z{|{{{|{{||{{z{zz{z||{||{|{zz{{{{{z|||{{{{||{{{{{{{{|{z|||{{z|{{{{{{{||{|}|{{{{{{z{|||{{||{{{{{{{{z||{|}|||z|{{{{|{||||||}|{{|{zzz{{}|||||||zz|{z{{{|||||{||{|{|{|{|||{{||}|{{{z||||}{||||||{{|{{{{}{|||}||{{z{|{|{|||||{||{|{{|{||||||{|||{|z{{|z{}|z|{}|}{{{{|z{{{||}|||||z|{{{{z{|{|{~~}|}~}}}||||}|}|~}{||{||{||||||{|}{{|{||{{|{}||||{{{zz|zz{}{{{|{|{{{{{|z{{|{|{|{{|{zz{zz{{{{||||{|{{zz{{|{{{{{{{{{z{zz{{z{z{z{||||z{zz|zz{z{z|~{{{{{zz{{{{|{{|{}|{{{z{yzz{{||{||{{zz|{z|z{{z|{|{||{{{|zz{{{{{{{{||z{{|z||{|}|||{|zz{{zz{z{{{||{{|{{{{z{z{|{{{||{|{{|{|{{|{}}{{{{|{z{|{{{{{||{{}|{{{||{z{{{z|{{|{|{{{{z{{{{|||}||||{z{{{{|{|{{|||}|{|{{|{z|}|||}}||{z{{{{{|}|||||||{z|{{}|||{||||{|{{{{{{{|}|}||{}}|||{z|{|{|||}||||{|{{{{||{}}|||{{{{{{{{|{|}}{||{{{z{{{{|||||||}}{z{{{|{|{||{|{{{|{{z{z{|{}|{~~~~|}~||}}|}}|}}}|{{{{{{|}{||{}||{{{{{|{{{{|{{{|{{|z{z{{z{{{||{{||{{{{zzz|{{{{{{{{z{{zz{{{{|{{{|z|zzzz{{z{{{{||{{{z{z{z{z|{{{{{{|{|z{z{z{{{{{|||{{{|z{|z{|{|{{{|{{{zz{{z{z{{{{|||z{{{{z{{{||{|{{{{{|z{|{z{||{{z|||{zz{{{{|{{{|{|{{z{{{z{{||{|||||{z{{zz{z|||{||{{|{{{{z{{{||{{|{{{{|{{{{{{{|||{|{|{{{{{{{{{{{{||{||z{{{{zz{||{|{}{{|{z{{{|{{||}||{{|{{{{{||||||{{{z||{{{{||}{|}}{{{}{{||{{|{||}|}|{}|{{{{{}|{|}||||||{{{{||||||||{|{{{z{{{||{{|}||{{{|{{||||||||}|{{z{z{{{|{||}}|{{{{{{|{{z||{||{{{{z{z{{|||{{~~~~}||}}}~|}}}}}||||{{{{{}|{|}|||{{{{|z{{||||{{|{|{{{z{|{|||{{{{||{z|zz{z{|{{z|{{z{zz{{yy{{{|{|{|zzz{z{z|zz{{{{{z{zz{{{{z{{{{|{|z{{{{z{zzz{{{{|{||z{{{z{z{|z||{||z{{z{y{z{z|z{{{{{{{{zzz{{{|{{|{{{{{z{{zz{{z{{z||{{z{zz|{{|{{{{{{{z{|{{|z{|{{|{{|{{{zz{{z{{}{|{{||{|z{z{z{|||{}||{{{z{{z{||{|{{||{{|{{|y{|{|{{{{{{|z|{{zz{{|{||||z{|{{||z|z{{||||{{{{{{{z{}|||{}||z|z{{z|||{|{{|}|{{|{||{||||||||}{{{{|||{|{}||}}{|{|{|{|{|||{{|{|{{{z{{{{}|{||||||{{|{{|{{|{{{||{{{|{{{z||{|{|}{}{{{zzz{{{||{{|{z|{z|{|{{|{||~~~}~~||}}|}}}~|}}}||{|{{{|}{||}z{|{{{z{{{|{{||||{{|{{z{|{z|{|{{|{|{zzzz{|z|||{{|{{{{z{{{zz{z|zyz{{{z{{{yzz{{{{|{{{zzz|zzz{{{{{{{}{{{z{zzz{{z{z{{|{{{{zz{{z{{{{|||{z{{z{{{{z{{{{{{{{{{{zzz{z{{{z||{{z{{{{z{z|{{||{|{z{|{{|{{||||{||{{{{{z{{{{{{{|{|{{|{{{{{{{|{|{{||{zz|z{{{|||||{||{{{{z{y{|||{{{|z{{{|{{{|||{|||{|{{z{|z{{{|{{}||{{{||{||||{{|{||{{{{{z{{{{|{{{}|}{{{|y{{{}}|{}}|{{|{|{{{{|||{{|||{z{{{|{{|{}|{}|}{|{{{{{|}}|{||||{{{|{{{|{{||{|}|{{z|{{{{{|}|{{|{{{{{{|||{|||{}}|{{{{z{{||{||{||{{{{{z{y{{|{{~~~~}||}}|{||}}}}|}}}{{z{{|z{||||{||{{|{{{{{{|{|{{{{{{{zzzzz{|{|{|z|{{|{zzzzz{{{{|{{{{zzzyzz|{|{{{|{{{{{zzyzz{z{{{{{zz{{{z{z{{{{z{{{{zz{{zz{{|{{{||{zzz{{{{{{{|||{{|{{z{zy{z{{{{z|{{|zzz{z{zz{{zz{{z{z{zzzzzzz{||||||{zzzzzz{{{z{{||{z|{zz{{{||{z|{|{z{{zz{z{|{|{{{{{{{{{y{{{{{{{{{|{z|{|{{z|{{{{{}{{{{{{{{z|||{{z|{|{{z{z{z|}{||||||{|{{|{{||{|||{|{{z{zzz{|{{|{{|||{{{|{{{{}|{{|||}{{|z{{{z|{||}||{|{|{{|{{}|{}||||z{z{{{{{{||||{|{{|z{z{||{{|||||{{{{|{{{|{||{|{|{{{z{{{|{{{||{}|{|{{z{zz{||{|{{{{{z{zz{z||{{|~~~~}}}||}}}||}}}|||{{z{{{{z{|{|}|{|{z{||{|{{|}{|||z{{|{{z|||{{|||{z{{z{z{|||{|{{{{{{z{zy{{{{{z|{{{{{z{zz{|z{|z{{|z{z{z{{zz|{{{|{|{{{{z{z{{{zz|{{{{{{zz{z{{{|{{{|||zz{{{{z|{{{{|{|zz{z{z{{{|{|{{{|z{z|{{zz{|{|{||{|{{z{z|{|{{{|}||{{{{{z{{{{||{{{|z{{z{{{{|{|{{|{|{{{z{{{z{|{{||}{|{{z{|{z{{|{{{}||z{{{{{{||{||{}{{{z{{{{z|||}||||{{{{{||{||{{{|{|{{|{{{z{{|||z|{{|z{{||{{||||||||{|{|{{|{||||}|}{}{z|{{||{||}{{}{|{{|||||||{|{||{|{{{|{|{{{{||{|}|{{|z{{||{|{||}|{{|{{{{{{|{{}{}||{z{|{{{{||{{{|{||{{zyz{|{{{|~~~}~}}}|}|}}|}|~}|}{||z||{|{|||{}}||{{|zz{{|||z{{|{{{{{zz{||||{|{{|z{|{z{{{{{{||{{{|zzz{z{{z{z{{{{{{{zy{{{zz{{{{{{{{z{{{z{z{{{{|{{{z{{z{zz{|{{|{{{{{{zzzzzz{{{{||{{{z|{z{zy{|z{{{{{z{z{{{{z{{{|{{|z{z{{|{{{|{|{|}|z{z{|z{{z{|{{|{|{{{z{{{{{{{{{||zz{{zz{z{{{{z|||{z|{{z{{zz|{{|{{z{{zz{{{{{|{|{{{|{zz{{{{{{|{{{|||}{{{{|{{{{|}{|{|{z{z|{{{{|{|{||{|{{|{{{{|{{||{|{|{{{{|zz||{{|{|{||{z{|{{{||{|||{{{{{|{{z|}|||}||{{||{{{{||{{||}|||{{{|{{||||{||}||{|{{{|{||{{}|||{{{{{{z{{||{||{{{{z{{{zz{||{{||{{{z{z{{|{|{{~~~~}}}|}}||||}|}|}}||{||||{{||}|||{{{{|zzz||{|{{|{|z|zz{{{||{{{}{{{{{z|{{z{|{||{{{|{{zz{z{|{|{||{z{z{{{{{{z{{|{{{||yz{zzz|{|z|z|{|{{zz{zzzz{{{||{||z{{z{zz{{{{{{{||{{{{z{{z{{z{{{{{{zz{zz{{||{{|}|{zy{{{|z{||{|||{z{|z{zz{z{{|{|}|{{{{|z{|{|{||{{{{z|z{{zz{||{z|}{{{{z{zz{z{||z||{z|{{z{zz{|{{|||||{z{{{{|{|{{{||||{{||z{{|||{}|}|{{{||{{{||{|||}{|{z{{{{{{||{{|||{z|{{z|{||{|{{}|||}{{{||{|||||{||{{{{|z{{}{||}{}|{{{z|{{||{|}||{{z{{|{z{|||||}|||{{||{{{||||||}||{{z{{{{|{{{|{|}{|{{{{zz{{||{}|{{{|{{{{{|{|{{~~~}~}}|}|{||}}}~}}}||{{{|{}{|{{|{|{z{{|{{z{{|{{||{|{|{{{{z{||{|{}|{{{zz{{{{{|{{{||z{z{{{{{{||{{{{{zz{{zz{{|{z{{|{|{{zzzz{{{{{{{{{{|{{{{{z{{||{{|{{z{{{zzz{{{||{{}|{{{{zz{|{{{{{{|{{{{{z{zzz{|{{|||z{{|z{{z{{{{{z{{{z{||{{{{||{{|||{{{{{|{{{{{|{||{{{|z{{{||{{{|||{z{{{|z{z{|||{||{|{{{zz|{{{||{|}|z{{{z{z{|{{||{|||{{{{z{{|||{}|||{{{||{|z|{||{|||{{{{|{z{z{||}|{{|z{|||z{}||}|||}|{{||{|{{|||}|}{|{|{{{{||}|{||}|}|{||{{{||{||}{||{{z|{z||{{|}|||||{{|{z{|||}||||{|{{{z|{|{{|{{|}}|z{{{|{||}{||||{z{|zz|z{||{{~~~|~}}||{|||}~}}{}}|||}|||{{||}}}||{{|{{{{{|{~{|||{{zz|z{z|{{{{|||{{|zzz{{{z{{z{||z{{{{{{{|{{{{|z{{{zzz{zz|{|{{{|{z{z{z{{z{|{|{{{{{{{z{zz{z{|z{|z|{{zzzz{y{{||z{{|{zzz{y{{{{{z{{{{{{{{zy|{{{z{{||{{{{z{{zz|{{{{{z|{|{z|{{{||{|{|{{{z|{{{{|{{|{{{|{{z{{{z{{{{||{{|}{{|{z{{zz|||{||{{{{{|{{z{{|||{|{{{{|{|zz{|{{|{{}{{{{{{{{|{{{||{}{{{{|{|||{|}{|||{z{{{{{|||||}}|||{{y|{{{|}{{{||{{{{{|{{{||{||{|||{z{{{|||}|||{}|||||{|{{|||}{}|||{{{{z{{}{|{}||||{|{|{{{||{|||{{{z{zz{{{|||||{}||{{{{{|{{{|{{||{{{z{z{{{{|{{{~~~}~}}|}}}}|}~}|}|{||{||{}|}{{}|||{{|{{{{||{|{{|{|{{{zzz{|{{{||{|{z{z{{{z{{|{|||{{{{{zz{z{|{{z{{{z{{{z{z{{zz{z||{z{zz|z|zz{{{{{{|{zz|{|{{|||z||{{|{z{z|{z||{{{{{{{z{zzz{{{{||z{|{{{{zz{{z{{{|z|{||zz{{{zz{{{|z|{{{zzz|z{|{||{{{{{{|{|{z{{|{{{{{}|{{{z{{z{{|{||{{|{{{{|{{{{{{{{{{{{{{z|z{z{{{||{|{{|{{{z{{{{|z|||{|{z|{{{{{|||||}|{|{{{|{{|{{{||||z{{|{{{{{|{}{{||{|{{{|{{{|||||||{{{{{{{{{{||}||||{{|{}|||}|}|}||{|{|{||{|}}|{|}{{{{|{z{||{|||}}||{{{|||{}{|{{||||{{{{{|{||{||{}|{{{|{{{{{||{{|||{|{{|z|{z{|{{~~~~~}}||}}}||}}|}}}|{|{{|{{||||||}|{|z{|{z{|||{{{||{||{z{{z|{{{||{||{|z{{{z{||{||{{{z{{z|zzz{|{zz{}|z{zzz{z{{{|{{{|zz{{{zy{z|{{{{{{{z{|z{zz{||{||{{{z{{zz{|{z{{{{|{{{{zz{{{{{{{{|{|{{{{{{zzz|{z{|{|zz{{{{{{{z{{{{|}{{{z{{{{|||{|||{|||zz{{z{{|{{{{|{{{zz{{{|||{{|}|{{|{{{{z||}|||{{|z|z{z{{{||||{||{|zz|z{{||{z{{{|{{z{{z{z{|}||||{z|{}{{{{{||}||||{{{{{zzz{|}{|||}{{{{{{{{||||||}}|{{{||{{|||{{|{}|z|{z|{|||}||{}}{{|z{z{{|{|}|}|||{{zz||{{|||{|||{|{|{{{{{{}|{|||{|{{{{{{{|{{|{|{{{{{{z{z{{||{{|{{{{{zzz{{|||{~~~~~}~}~}}|||}}~}}}}}||{{{{{||{}|{}||{|||{{z{{|}{||{||{z{z{z{{|{{|{{{{zz{{{{{{{{{|{|z{{{zz{{||}{{{{z{zzzz{z{{{{{{{{|{z{z|z{z{{{{{}|{{{{{{{z|{{{||{||{zz{zz{|{|{|{z{|{{z{{z{y{{|z{{|{{zzz{z{z{|{{z{|{{{{{{{z{{{{{z{{|{{{z{z{{{|{{{{||{{{{zz{{{|{{{|||{{{{{{{|{{{|||||{{{|{{{{|{{|{{|{{z{z|{{{||||||}|{{{|{{{{{||{||{|{{{{|z{{{||||{|||{{{{|{{}{||{{||||z{z|zz{||||||{}{z{{{{|{|||{|}|{{||{{|{{}||||}|}|{{{{{{|}{|}||||{||z{{{|||||||}|{{{{{{{|||{{|||{{{|{{{|}{{|||||||{z{||y|||{{||||{{|{{{{{||||{||z{{{{z{{{{|zz~~~~~~~~}{}}|}{||}}}}|}|||{zz|{|||||||||{{|{{z{{|{||{|||{{{|z{{z||||{||{{{zz{{|z{||{{||{|{{z{{z{|{{{{|{{{z|zz{{{{{z{{||{{z{{{{{{{z{{{z{||{zzyzz{{{|{{{{{|zz{{z{{{}|z{|{z{{z{{zzz{{{{z|{|{{{zz{zzz{{|{{|{{zz|z{zz{|{||{}|{{zz{yzz{{|z||{{z{{zzz{{{{{{{{{{z{{{z{{{|{{||{||{y{{{zz|{|{|||{|{z{z{{{z{{{||{|{{{{{{{{{z{|{{||{{z{||{|{{{||{||{z{{z||{|||{|{||}{{{{|{z{|{|{}|||}z{}|{{{{||{||||{|{{{|{||{{{}||||||{{{{||}|}{}|||{|{{|{{|{{||||}|{{{{{{|||{|}||}||{{{{{{{{{}||||{{{{{{{{{|}{|{||{|{|{{{z||{|||}{{{{{|{{{{{|z{~~}}~~|}|||{|~}}}|~|~}{|{{|{||{{{|}||{{{z|{{|{{|}z{||{z{{{z{{{{{{{{{|{z|{zz{{{}{{|{|{z|z|{y{{{{{z{{{{|{{zzzz{{{{{{||{z{zz{{zz{|{{{{{{{{zy{z{z|{|z{|{{{{{{{zzzz{{{{z}|{{zzzz{zz|{{{{{{|{{{{{{{{z{|{|{|{{{{{{z{|{|{{{{|{z{zz{{z||z{{{{|{{|z{zzz{z||{{{|{{z{|zyz{||{{||{{{{{{z{{{|{|{{|{{{{zz{{{z|{|||||{{{{|{{{{||{||{{{z{z{z|{||||||}{{{|{{{{{{||{|{{|{{{|{{zz|||{{||||z{|{{|{|{||||}|{{{{||{{}|{||}|||{{{|{|{z}|}{|||{z{{{||{||{}{}|{{|||{{{{{|{|}|}|{|{||{{{||{|{|{|{{z{{z{|}|{{{|||{{{{{zzz{}|{|{||{{{{{zzz{|{|z~~~~}}|}|}|}|~||}|}||{{|{{{|||{|||}|||{z{zz{|{|{{|||{{zyz{{|{||{{||{z{z{{zz{|{|z||{{{{{{zz{{{|{{{|z{z{yz{z{z{z|{{|{zzzzzz{z{{{{{{{{{z{{z{{z{|{{{||{{z{{{zzz{|{|}||||zy{zz|z{|zz{z|{{zzzzzzzz{{{{||{|z{{{|{z||{{|{|{{{{{|{z{z|||z|||{{zz{z|{{{{{{|||z{{z{|{{{|{{|||{z{{{{{{{{|{|{|||{z{z{{{z{{|||||||z{|{z{{{||{{||{{||{{{{z{|||{|}|z{|{{{{{|{{{|||}||{{z{{z||||||}{{{{{{{{||{|{{|}}|{{|{|{{|}|{|}||{{|{{|z{|||}|}|||||{{|{|||{||||}}{{|||zz||}{||}}|z{|{{z{|{{||{}}{z{{{{{{{{{z|||{|{z{{{{{{|{}{{||{{{|{z{|}||{{~}~}~|}}}|}{|}}|}}}}||{|{{{||||}|{}{|z{{|{|{{|||||||{{{{{zzz{{||{|||{||{{{{{z|{z{|||{{{z{{{{{z{{{|{z{{zz|{{|{|{|{{||{{zz{z{z{||{{{{{{{z{{z{{{z|{{{||{z{{y{{z{|{{{{||{{{|zzzzz{{{{|{|z{z{zz{{{{{{|{{|z{{z{z{z{{||{|||{{{{{z{{{|{z{{|{|{{z{{{z|{{{{{||z{|zz{{{{{{|z{{{{{|{|z{{{|||{|{{{{{||z{{{{|||{}{{{{{{{{z|}|{z{{|z{|{{||{|{|||||||z{{{{|||{||{||||{{|{{{{{}}|||}||z{{{{{{|||||}}}{||z{{|}{|{{|}}||{{{{|{{z}|||~|||{{|||{{{{}{}|}||z{{{{{{||{}{|||}{|{{|||||{|}}}||||{{|{{||||{|||}{{{{{{{{}|{|||}{{{{{{{{{{||{~}~~}|}||}|}}}||}}}}}||{{|||||||z|}}|||{{{zz{{{|{|}||{{{z{|z{{|||}}|{{{z{{z{{|||z}|{z{{{{|}{{{|z|||{{z{zzz{{|{{{{||}{{{zz{{{{{{{{{|{{{{{{{{z{{{{{|||{{|{{{{z{|{{{||||{{{{z{{z{{{||{|z{{{{{|z{|{{{{{|{{{z{{{z|z{|{|||{z{{|{{{{||{{|{||{{z{{{{{{{{{{||{{{{{z{z{{{|||{|{z{||{z{{|}|{}||{z|{{{{||||}||||||{|{{{|{||{{|{|{|}{|{|{{||||||}{{{{|{{{{|{||||||{{{|{{{{||||{}||z|{|{{}|}||}||}|||{|{}||{|||{}|||}|{{|{}}{|}|}|{{||{{{{~||||||}{z|{|||{{||||~}}|{|{|z|{|{|}||||{|{{|{{||{||||||{{{{{{|{z{{}|{{}{z{{|{|{||}{{}~~~~~}}}~}~}}}|}|||}|}}|}}||{|{|{|{|{||}|{{{}{{{{|{}||}}||{{{z{{z|{||{|||{{{{{{{{z{{{|{{{|{{zz{z{{{||{||z{z{{{|{z{{|{{||{{{{{{{{z|{{z{|{{|{{z{z{{z|{{||||{z{|z{{{{{{{{|||{{{{zz{{{{|{{{||z{z{|{{{{{{{{}|{{{{z|{{{z{|{|{{|{z{{{{{|{|||||{|zz||{|{{|{|{{|||z{|{{{|{||||||||{{|{{||z{|||{||{{{{{{|{{{|}|||}{{|{z{{{{{}|{||}{{{{|||{z}||||{{||{{{{{}z||{}|||||{{{|{z||{||}||||{||{{{{||{|{}||{{||{{{{||||{|}|}{{{}||{{|{||}||{{||{|{{||~|||{|{z||{{|}|{|||}}}||{|{{||}||||}{|{|{{|||z{|||||}}||{|{{|{|||{||{|||{{{z{{|||}|~~~}}}~~~~|}}{|{{{|||}}~||||||||{|||||{}}||{{{{{{{|{{|z|||||z{z{z{{|{|{|{|z{{zzzzz{||z{{{{{{z{zzzzz{{{{|{{{{{zz{{{{{{{{||{z{{z{z{z||||{{{{{z{{{zzz|z|{|{|{{{{{z{{{{{|{|{{{}{zz{z{z{|z|z{{{{{{{z{{zz|{{{||{{z{|{{{y{{{|{{|{{z{{{zz{{{|{{|{{zz{{{{{z{{{{||||{zz{{z{z{||{{||{{z{{{{|{{{{{||{{{{|{{{{||{{}{||{{z{||{|{||{{{{{{|{zz{{|{|||||||{{|{|{{{{|||||||{|z{{|{{{{{{|||}|{{{|{z{{||||||}||{|{{{|{||||||||{{{zz{|||||}{}}|}{|{|{z|||}||}|||z|{{{{|{{{||}}}}{{|z{|{||||||||{|{z{{{{||{{{||{||{{{{z{||{{{|}|{{|z{{{z{{{{|~}~}~~}}}~~~}|||}{{}|}}|}|}}|{{{{|{||}{{||||||{{z{z|{}z{||{|{{{{{{z|{{{{{{|{{z{{{{{{{{{z|{{z{{{zzy{{{|z{|||{{|{zzzz|z|{{|{|z{yz{zzz{||z{|{|z{{{{{z{{z{{{|{{{{{{z{{{{{z|{{{|{z{{z{z{{||{|{{{{{z{z{{z{|{|{|{|{zz{|{{z{||{{{|||{z{{{z{|{{|{{{}{{{{{z{{{||{|||}z{{zz||{{{{{{|||{{z{{z{z|}{{{|||{|{{{{{{{{|{{|}||{{{{{{{|||||||||zz{{{{{{{||{|||{||{{{{||{|}||}||{|{{{{{||{||||||{z{{{{z|}{|||||{{{|{|||{||{|||{|{z{{{|{{|}|{||}|{||||{{{{}|||{|{{z{|{|{{||{}|{|||{{|{{|}|{}{{|||{{{{||{|}{|||||{{{|z{{{|}|}|{||{z{{{{{{{||{{~~~}~~}~}|~~~}||~|{|||||}}~|}|{||{{{{}}}|{||||{||{z{{|{||{||||{{zz{{{|||{||||{{{|z{{z{{{{{{||{z{z{{{{{||{{{z|{z{{y{{{{{{|{{||z{{{{{{z{|{{||||zzzz{zzz{{{{z|{{{z{{zz{z{{{|{{{|{z{{{z{z{{|{|{{{{{{z{{z{z{{{{{|{z{{{{zzz{{||{{}z{{|{{{{{|}z{|{z}{{{{{z{{{|{{|{{|{{|z|{{z|||||||||{{z|{|{|{|||{|{{{|{|{{z{||z{|}||{{{{z{{|||||~{|z{{{{{{{{{||{{|{{{{{z||||||}|||||{{z{|{{z|{}}|||{{{{{{{{{||{{|||||z{|{|{{}{{{|}||{||||{{|||||}|}|{{{{z{|||}|||}||{||||{{{|{||{{}|{{|{||{{||||{||{||{{{{{{|{|{{{||{{{{|{{|{{|||||{{{{{{{{|||{|~~}|}}~~~~~}~}}|}~{|}|~|||}}}|||z||{{|{}|||}}|{{{{{|{||||{{|}{{{{|{|{{{|{{{||{z{{{{{{{||{{{|{{{{zzz{z||{{{|{||{{{z{{z{{{{{{||zz{{y{{{|{{{{{|{{{{{zzz{{{{z||||z{{{z{z{{{{{{|||{{{{{{zzz{{{{|z{z{z{z{z{{{|z|{|{zz|{{{{{{{{|{{{|{{{|zz{{{|{{|{||{{{|zz{{{|{{{|||{{{zzz{z{{|{|{|}{z{|{{{{{{{|||||{z{{{{z{{||{z{}{||z{|{{|{{{|{|||{|{{{{z{|{|||}||{{||{{{z{|||{|}||{{{zz{z|||{|||{|zz||{|{|}|{{|}|||{{{||{|{|{}|||{{}{||{z|||}|}}}}|{{{|{z|||}}|}|{{|z{{{||||}||}|{{|{|z{{||||}||||{|{{{{|{|{{{|{|{|{|z{{{||||||||{z{zz|z{{|||{~~}~~}}~~~~}}}|}}|{}}}{{}|||{{}{}{{|{{||}}}}{z{{{{z|{{|||{|||||{{{z{||{|{|{{{{z{|z{z|{z{|z{{{{|{|{{{{{|z{||{z{{{y{{{{|||{{{|{{{{z{{|{z{{{{{{{z{{zzz{{||z{|{|z{{{z{{{|{{{{{{|}{{{{{zz{{z{{{|{{{{zz{{{{||{{{||{{{{{zzz{||{{{||{{{{{z{z{{|{{|{|z{{{{z{z{{{{|||{{z{{zz{{||{{{{|||{{{|z{{{||}{|{{{{{{{zz|{||{||}||zz{{z{{||{{||||{{z{{{{{||||z|{|zz{z|{||{|{|||||{{{|{{{{{|}|||{|}{|{|{z{||||||||{|{{{{{z{||{{{}{|{{{{||||}|}}||||{{|{{|{||}||||||{{{{{{{||||{||||{{{{{{{|z|}{|||||{{{{{{|||{||||{{{z{{{{|{{}|||{{{z{{z{{{||{{~~~}}}}~~}~}~}}|||{}{||}}}||}|||{{{{{|{{{{{||||{||zz{{{{{{|{z}{{{{zz{{z{{|{{|{|{z{z{z|zz|{{{|{|{z{z{zz|{{|{z{{{z{{zzzzz{{{|{|{|{{zzz{{{{{||z{|{zzy{zzz{zz|{|{{{z{zzy{{z{{{|{z|{{{{{{z{{{{|{{{{|zz{zz{zzz|{{{{{|{z{{{{zzz{{{{{||{z{z{z{{{{|{||}{{z{z{z{z{{{{||{{{{{z{{{z|||{{{||{{z{zz{{{{{z{{||{zz{{z{{{{|{{|||{z|{{z{z{{{z{|z|{{{|{{z{{||}||||{{z{|{z|{||{|}{}|z{{|{|{{|||{|{{|{{{|z|{||{{{|||{{|z{|{|||||{||{}||{{{{|{{||}||}|{{{{z{{|||}|{||{z{{z||{{|z||||||{z{{|{|{||||{||z|{zzzz{||||{{|{{z{{{z|z{{||{{|{{{{zz{{{{||{{~~~~~}~~}~}}}}}}}}|}|{|{|}}||{|}|{|||||{||{{}|||||{{{{z|{|{||||||{{{{z{{{|||{|{}{{{{{{{{{{|{{{{{{|{z{{|{|{|{|{{{z{{z{zz{{{{{{{{{{{{{{{{{{z|{{{{z|{{{z{z|z{{|{||{z{{zz{{{{{||z||{{{{{{z{{|{{{{z|{|z{zz{z{{|||{|z|{{z{{|zz{z{|||||{z{{|{|||{|||{|}|||{zz{{|{||||}{{z{|z{{{{|{|{{{|{z{{{{{{|}|{|}||{|zz{{{z{|{{{{|{|{{|{|{|{|{|||}{|{|{|{{|{|||{}|{{z|{|||{{|||{{|}|{{{{{{z{|}}|||||z}{||{{|}|||||||{|{|||{|||{}||||{{{||||{}|||}}||{{{{|{{|||}||{||{|{{}{||}||}{|}||{{||{|{|{|||}||{{|{{|{{}}}{{|||z{z{{|{{{|||{||||z{z{{{|||{{~~}~~~}~}~~}~~~|}{|{{{}|||||}}}~{{{z{{|||{{|||}|{{{{zz{{{{|||{{}{{{z{{{z|||{|{{{{z{{z{zz{|{z{||{{{{zzzzz{|{{{z{{{{zzz{{z|{|z{z{|{{{zzy{{{z{{z|{{{{|z{z{{z{z|{|||{{{zz{zy{{{{|{|{z{{{zzz{{z{{{{{{z{zz{z{{z||z{{{|{{{{z{z{{z||{|{|{z{z{{{z{|{{{{|{{z{{{|{{{{|{|{{}{||{{z{{{{{{|{|}|{|{{{{y{|||{||||z|{{{{z|||||||{{zz{{z{{|||{{||{{{{{{}{{|{{||}||{{{z{{{{{|{{|{|||z|{{{{{|}{}|}|}|{{{{{{{}|{{||||{{{{{{|{{|{|{{|||{{|{{|||}||{|{}|{{|{|{|{||{|||}{z{{|{{{{|{|||||{z|{{|{|{||}{}{||{{{{{zz{|{{{|||{{z{{{z{z|{|{{}|{{z{}{{{|{|||}~~~}~}}}~}}}}~|||{|{|{}|}}||||}||{|{{||||||||||{|{|{{{{{||{{|{{{|{z{{z|{|{{|{}{z{{{{{{{|{{{{|z{{{z{{zz{||z{|{{{z|z{z{z{|{{|{|{|{{{{{{z{{{|z{{{{zz{zzz{{{||{{{{z{z{{{{z{|{|{{|{{zz{z{{z{{{{z||{{{zz{{{z{|{{{{{{{z{{z{{{{|{|{{}{}{{{{{{{|{{|{|{{{{{{{{{zz|{{{{{|{|{{z{||{{|{||||{{{{{z{z|{|{{|z{|{{{{||{||{||||{{{{|{{{y{||{|}|||{{|{{{z{|{{}|||{{z|{{{{{|{||}|}{||||{z{|||||{|{|{|{|{{|{}{||||}{{{{{||{|||{||||||{z||z{{}|||}}||z|||{{{||}|}|||{{{|{{z{||{{||}}|{{{z{|{|{||||{||{{{{||{|||{}}}|||{{{{{{{|||{|{{{z{z|z{{{|||{~~}}}~}}~}}}~}|}~}|||{|||||}}~}|{{{{{|{|{|||||{}zz{{{{{|{||{|}|{|z{{zz{}{{|||||z|{z{zzz|{||||{}{z{zzz{z{z|z{{{{|{zzzz{z{|{|{{{|{zz{zz{{{z{|{{{zzz{{{z{{|{{|||||{{{{z{{{z{|{{{||{z{{zzzzz{z{{{{|z{z{{zzz{z{{||{|{{{{{z|z{{|{|{|||{{z{z{z|||{{|{|{{|z{{z{{z|{|||}|{{{{zz||}|{||||{|||{{{{{}{||{||{{{{{{{{{|{{{z||}{{{{|{|||||z||||{|{{{{|||||{||}{|{{|{{{{}|||||||{{{{{{{{|{||||||{|{{{{||{|{||||{{{|z||{|||{}||||||||{|||}|}||}||{{{{|z{|{|||{}||{{||||{|||{}}}||{{{||{{{|}{|}}}|{|{|{|{{}{||{|}{||zz{|||}||||||{{|{{{{{{}{||~}~~}~}~|}}}}~}~}|}{{||{|||||}||||{||{{||||||||||{|{{{{|{|||}|{|{|z{{{z{{||{|||||{{{z{{{z||{{{|{||z{z{{z{{||z{{|{{z{zyz{{{|{||||{{{zz{{{{{{{|{{|{{{{{z{{z{{{z{|{{{{|{zzzz{{z{{{|{{z{{{zz{{|{{{{|{z|zzz{{{{{z||||{z{{z{{{{{{{|{}||{z{{{zzz|{{z{|{|{{{zzz{{{{|{{|||{{{{zz|{z|{|{{|{{{{{{{{z{|{||{{|{{{|{{{|||||||}}{{{{{{{{{||{{{{|||{{z{{{{|||}||{{{{{{{|{||||}|}{{{||{|{{{|{||||||z|{z|{||{||||}|{||{{||{}|{||||||{z{z|{{{}{}|||}}z{||{{{}|||||||{{{{{|||{}||}||||{{|{{|||{||{{|}{{{{z{{|{||{||||{{{||{{{{}|||||{|{{{{z|{|{|{{~~~~~|}}|||}}~}}}}}}|{|||{{|||||||||{|{|{{{|{{{{||||{{{{z{{z|{{||||zz{z{{{z|z{{{|z|zz{zzz{z|||{{|}{{{{zzz{{{zz{zz{{{z{zz{z{{{z{|{{{{z{zzy{{{{{||{{{|yzzz{zz{z|{|{{|{z{{zzz{{{{|||z|z{{{{zzz{{zz|{{{zz{{|{{{{|z{{|{{{z{z{{{{{{{{{{|{{zz{zz{{z{{{{{{||zz{{zz{|{z|{{||{z{{zzz|{|{{{{|||{|z{y{{{{{{||{|{z{z{{zz{{||{{{{{y{z{{{{{|{||{{{|{{{{{{z|{|{}||{{{{{|z{{|{{{{||||{{{{{zz|{{||{|||zz{|{|z||||||{{{{{|{{|{{{||||||{zz{z{{{{}|{{{||{{{{|||{}|{||}|||z{|{{{{||||}|||{{{{{{z|{|{|||||{{zz|{{z{|||{{||{{|{{{z{z|{|{|}{{|{{z|{{{{|{{~~~}}}}~}|}~||~}}}}||{|{{z||}}}|}|{|{{|{{z{|{{{{{|}{{|{zzzzz{|{{{{|{{{{|z{{{{|{{|{|{{{{z{{{z|{{|{{||z{zz{{z{{|{z{|{{{zzy{zz{{|{{{|{zzzzzz{{z|{{|{|{{z{z{{{z{{|{{||{z{{{z{{z|z|zz{{{{zzz|{{z{{z{{|{|z{{{{z{{z{{|{{|{zzz|zz{z{{{|{{||{z{zzz{z{{|z|{{{zzz{{zz{|{{{{{{{z{{{z{{z{|{{{{{{{{{{{z{z{{{{{|{||z{{{{z{{|||{{|{{{z{zz{{|||{{{|{{{z{{{z{{{{}|||{{{{{{|||{{{|{}}|{{|{{zzz|{||}||||z{{{{{{}|||||||{{{{{|||{||||{|||{{{{{{{||||{|}|}{{|{{|{|{|{|||||{z{{{{||{}||{}|}z{{{|z{{|||||{||z}{{{{{z||||||||{{{{z{z{{||{{|{}zzz{zz{|{|{|}}}}|}~|{|||~}|}|}|||{|{||||}|{||}|{{{{{|{||||{{{||z{{z{z{z|{||||{{{z|{{{{{{}|{}{{zz{zz{{{z{{{{||{{z{zzzzz{{}{z{|{{{{z{{{z{z{|{{{{zzz{z{{zzz|{z{||{{{zz{z{{z{{z|{{{z{{zzzz{z{|{||{{zy{zz{yz{{z{{{|y{zzzz|zz{{{{{{|zz{{|zzz|{{{{{{{{{{{z{z{{|||{z{{z{{z{zz{|{{{|}{|{z{|{zz{{{|{{z{{{{{{{{{{z||{||{{{{{{zz{{|{{{{{{{{{{{|z{{|||{{{{|{zz|{{z||{||||{|{z{|{z{|{z{|{||||z{{{z{|{|||{||{|{z{{{{{|||}{|||z||{{{{|{{|||||{{{|{{|{|{}||||}{|{|{{{{{}|||{|{|{z{{{{{|||{}|||||{z|{{{{|{||||}|{{{z|||z{{{|{|{{|{zzz{zz{|{|{|||{|{{{|zz{{|{|}}~~}}|||}||||}}|~}|{|{|z|{||}||{{|{{{{{{{{{||{z{||{z{z{{z{{{{|z{{{{z{zzzzz{|{{{|||{zzz{z{zz{{{z{|{z{z{zzzyz{z{z{{zzy{zzzzz{{z{z|{{{zyzzzzz{{{{{zz{{zzzzzzz{{{z{{|{|z{zzzzz{{{z|{||{zzzz{{z{z|{z{{|z{z{{yzz{{{zz|{{{y{{{{zz{{{{|z||{zzz{z{z{{|zzz|zz{{z{z{z|{{{z{|{{z{{{zzz{{{|{{||{zz{zzzzz|{|{{{{{z{{zz{z{{{{{|{{{zz{{{{{{{|{{{|{{z{z{{||{|{|{{{|{|{{{z|zz{{||{{|{z{z|{{z{{|{|{|{{zzz{{z{|{|{|{{|z{{z{|{z{|{{{|{|{{{{{z{|{|{|{|||{{{{{{{{|{||z||{|{z{z{|||{|||||{{{|z{z{{||||{|{|{{{z{{z{||{|{{{|{z{zzz{{||{{||||{zzz{zzz{{{{{}}}~{}}||}}}}{|}|||}{{{{{|z||}{{|{||{{|{{|{|{{|{|{{{z{{zzz{{{}|{{{|{||{|{{z{{{|z{z|{{{zz{zz{|{z{{z|{{z{{zz{{{|zz{{z{zzz{{zy{{{{|{|{z{zzzzzz{{{{{{|{{z|z{yz{|{|z{{{{{z{{zzy{{z{{z{|{z{zzzyz{{|{z{{z{zz{z|zzzz{{{{{|z{z{zz{{y|{{{|{{{|z{z{{zz{{{z{zz{{{{z||{{{{|{{{|}{{|{{z{{{z{{{{{|{z{zz{{{z{{{{z{{{z|z{{{z{|{{z{}{|zz|{|{{{|z{||{{{{{{{{||{{|{{|||{{{z{{z{|{{}||||{{{|{{zz||{}|{||{{|{{z{{{|{{||{|{|{|{|{||}{|{|{||{{{{|z}{|{{|{|||{{{z|||||||||}{{{{{{z{{{|{{||}|{{|{{{{||{|{|{{|{{z{{{{z{{{|{{||{{{{|{{z{|||{}||{{||{z{{{{|{{~}}}|}|}|}||}}}~}|||||{{{{{|{||{|{{{z{{{z{z{{{{{{|{{{{z{zzz{|{{zz||{z{z{zzz{}{|{{{{{{zzzzz{z|{{{||{{zzzzzzyz{{z{{{|{{zzz{zz{{{{{{||zzzzzz{yz{z{{{|zzz{{zzyy{{{z|{{{zz{zzzyz{{{z{z|{{{z{zzz{z{{{zz{|{z{zzyzy{zz{z|||zzzz{zz{{{{{zz|{{zz{zz{{{z{{{||{z{{zzzz{{{{|{{{|z{{zzzz{{|{{{{{{z{{y{z{z{{{{||{|{{{{{z{z{|{{{{{{{{{{{{{{{|{{{{{}zzz{|{z{|{{|{|{|{{{z{z{{|{{|{{{|{{zzzy{z{|{|{{|{|z|{|z{{|||z{}||{{{{|z{|{{||||||{zz{zz{{{|{}|||||{|{{{zz{|{{||||{{{|{z{{|||{||||||z{{|{z{z{||{||{|{{{z{z{{{{|{||{{z{{z{z|||{{{|{{zzzz{{zz{{{{}~}||}|||~{}~|}}{|}|}}{{z|{|{|{{|}}|{||{|{|{{{{{|{|zz{{z{{{{{{{{z||{{zzzz{zzz|{{{{|{z{z{{|{{{{{{||{{yzz{{{{{{{z{z{{{zz{{zzz{z{{{|{{{{zy{zyzz|{{|{{{{zzz{zzz|{{z{{{zz{{{zzzzzz{|{{{{zz{{{{zz{{{z{{{{{zzzy{zz|{zz{{{{{zz{z{zy{{{{{{||{{zzzz{zz||{{{|{{zz{zzzz{|{{{|{{{{{yzz{{{|{{{{{{{{{z|zzz{{|{{{{|{{{yz{{{z{{{z{{|{{z{{{{||||{z{{z{{z{{{{{{||{|||{{z{||{{|{{{||{|||{{{{{zz|{|{||||zzzz|{|{||{{{|||{{zzz{{{{{{{||||{{{|{{{z||{||||||{z{|{{{|{|||{|{||{{{|{|{{{||||{|{{{{{{||{{{|}{{|{{z{{{{{|{z{{|||{{zz{{z|||{{|}{{{{{{zzy{{|z|~~|}|{}|{||}||}|}|{||z|{{|{{|}||}}|{|{{{{{{|{}||||{{z{z{{z{|{{|{{|{{zz{y{zz{{|{|z|{{{{zz{z|z{zz||{z{{zz{z{{{{{{{{{zyy{z{z{{{{|{{{{{z{{{zzzz{{z{{|{{{{zz{y{{{{{|{{{zz{zzzzz{{zz|{{|{{zz{zzz{||{{{{|{zzzzz{z{{{{||{{{z{z{|zyzz|{|||||{{z{{{z{{{{|{||{z|{z{{z{{{{{{{|z{{z|{{z|{|z{|{|{{|{{{zzz||{{{|{{{{{{|{{{|{{|||{{|{|zzzz{{z|{{|{{{{z{{{{{{|||{||z{{{{{|{||{|{{|{{|{{|{{{{|{}|{|{|{z||{{|{||||||{{{{{{||{|{|{}|||}{{{{||{|||||{|}|{{|{{z||||||}|||{{{|z|{{{{|||}||{{{{{{{||{}}|}}{{|{{|z{{|{||||||{z{{{{z{|{|{||{{z{z{z{z{||zz}{}}||||||||}||||}|}{{z|{{{|}|||{||{{|{{zz{{{{{||{|{zz{{zzz|{||{|{{{{{{zzzz|{{{{{||{{{zz{z{{|zz{|{{zz{{zzz{{{|z{{||{{{zzz{zzz{z{z{|{z{{zzz{{z{{|z{{{zzzz{z{{{{{zz{z{{{zz{z{{{z{{|{{z|yz{{{zzz{z{{{{zzyz{z{zz{{|z{{{{zzzzzzz{{{{{{{{{zz{{zzz{{{{z{}|{{z{zy{z{{z{z{z{{z{{{z{z{{{|{{||z{z{zy|z{{|||{{{|{{zzyzz{||{{{|{{{z{{z{z|{{{{|{||{|{z{{z{||{|{|{{{{{{{|{|{{|}|||{|z{{{{z|{||{|{{{{{{{{{z{|{{||{|{{||z|{{|{{|{{|||y{{z|z{{|{|{||||{{{{{{z|||{|||{{{z{{{{{{|{|{{|{{|{{{|{{|||{||{|{|{z{{{z{{z}{|||{|y{z{|z||z{||{|{|{{z{{z{|z{{}||}}}|}|{{|}~||{|||{||{{{||||||z||{{{{{{{z|{{{{|||{zz{|z{{{||{{{|||zyz{zzzz|{z{|||zz{z{{z{{{{{{{{{{z{zzzzz{{|{z{zzzyzyz{zz{zz{z{|{z{zyzy{yz{z{zz{{zzzz{{y{z{{|{{}{z{zzzzzyz|{||{{|{zzzzz{zzz{z|z{zzz{z{{zzz{z{||z|{zz{{zzzz{z{{{{{zz{z{z{|{{|{{z{{{zz{z{{{z{z{{{||zz{zz{{{{|||{||{{{z{{{{z{|{{{|{{{{{{{{{z{|}|{||{{{{{{{zz{{|{{||z{{{zz{z{{{|{}{||z|{{{|zz||{|{{}|{z{|z{{{{|||}{{||{z||{zz{|||}{||{z{{{{|{{{|{||}||{{{||{{{}{||||z|{{{{z{{{{{||{|{{{{{{{{{{|||||{{|z{{|{{{}{{|{{{|{|{{{{{|{|{}{}||{{z{{{{{z{{}{|{|{{z{zy{{|{{z{}}}}}}|||}{||}||{}|{||{{{{{||~|||||{{{z{{zz{|{{{|{{{{z{{{yz{|||zz{||{zzz|zz{{|{{|{|{{{z{zz{|{{{{z|{zzzz{yyy{{{zz{zz{z{z{zzz{zz|{{{{{z{z{yyy{{|{{{{{|{zz{{zz{{{z|{{{{{|zz|zz{{{{{{|{{{{{{{{z{{{zzz{{{{zzzzz{{zz{{z{{{{zz{{{{|z{{{{{z{z{{{{z{|{{|z{|}{{{z{z{{z{{|{||||z{zz{{{z{{{{z{{{z{zzyz{{{{{{{|{{{{{zz{{{|||{{|{{z{|zz{{|{|{z|{{{{z{z{z{{|{||{|}z{{{{{z|}{{|{|{{{{{{{z{{{|{||{|{{z{{z{z{{||{{||||{{{z{{{{|{{||||{{{{{|{{|}{{{|}|}{{{{{{||||{|||||z{z{{{{|{{z||||{{{z{z{{{|{|{|||{zzzz{{z{|||{z{||{{{{{{{{{||{{{|{{z{|z{{z{{|{}}~|{}|{{||||}|{}||}|}|{{{{{||{{||}|{{z|zz{{{|{||||zz{z{{|{{z||{||{{||z{zzyz}{{{{||{{{zzz{z{{{{{||z{{{{{{zzz{{{{||{{{zz{{zz|{|{z{z{|{{{|z{{{z|z{{{{{{zzz{z{|{|{{||{{z{zyzzz|{z|{|{|{z{zzy{z{{{z{{{{|z{z{zzz{|{{z|||{zz{{zz{{{{z{||{{z{{z{{{z{{z{{||{z{{zz{{{|||{|{}{yzz{z{z||z|{{{{{z{zzz{{{|{|{{|{{{{{{{{{{{{|{{|}{{z{{{{{{{|{{{{{{{{{{{z{zz||}|||zz{z|{||{|{|{|||{{{{{{{{|{|{||||{zz{{{{{||||z{|||{|{{{{{{{||{}|||{{|z|{{z}{|{|||}{{|{{|{{{||||{{|{{z{{{|{|z{||}}|{|{z{{|||{|||||{{{z{{{{z|{{{|{|{|z{z{{z{}{{{{{{{{{z{zz{||{||~|}||||{||||}|||||}}|{{z{{{{|||||||||{{zz{{{z|||{|{|z{{{y{{|{||{{{{|{{z{z{{{|{{{|{{{z{z{{z{zz{{{|{zzzy{zzz{|z{{{{z{{yzzz{zz{z|{{{z|zzzyz{z{z{{{{{{z{{zz{{z{{|{{{{{{{{yz{{yz{{|{z{|{{zzyz{zz{{zz|{|zzz{z{{z{z{|{{||{z{{z{zzz{{{{{||{{{zz{{{{|{{{{{{{{z{z{z|{{{z{{|||z{|{z{{z|{{{{{|{{{zz{z{{{{{{{{{|{{{{{|{{{{|{{||{|{{{{{zz{|z{z||{z{z{{|z{{{|{{||||{z{{{{{{{{|{|||{{z|{{z{{{|{||{{{z|{{{{{||||{||||{||{{{{{|||{||{{{{|{|{{|}{|}||||z{z{{{{|z|{{|}{}{{z|zz{{||{|||{{||{|{{||{{}{|}|{{{{{{{{{z{|{{{{||z{{z{{{|{|{{{|{{|zz{{{{{|{{}}~|||{|{{{{~}|{|{}|||{{z{{{}|{||||{{{z{{zz{{|{{|||{z{z{zzz{{}|{{|{{{{zzzzz{|||z{|{zzz{zz{{{|{zz{|{{zzz{zz{{z|{{{{{z{zzzzzz{{z{z|{{zzz{zyzyz{{{z|{{{zz{yyz{{{{{|z{{|zz{z{zz{zzzz{|{{y{{{y{zz{{zz{z|{zz{{zz{z{zz{{z{{{zz{z{z{z{{z{|{z{zz{zzz{{{|z{{|zzzzz{zzzzz{|{|{z{{{zz{z{{{{z||{{|{{{zz{{|{{z{{{{z{{|zzzz{|{{{|z{{{{zzz{{|z{{{{{z{{zz|{{||||||{|z{z{{|{z||{|{|{|z{{{{z{{||{|{{{{{{y{zz{z|||{|{|}|{{z|{{{{||{|||||z{z{z{zz||{|{|{{{|{{zzz|{|}{}|||{{zz{{{|{{||{|||{{z{{{{|||{{{{||z|z{zz{{{{||{|z{{{zy{z{||{|{{{{{z|zz{{z{z{{{}}}}|||{|{z|}}||||||{}{|{{{{{|{||||{z{z|zz{{z{|{|{|{zzzzzzzz{{{|{|{{{{zy{{z{{{z{|z{z{{zz{zz{{zzzz{{{{z{zzzz{|{zz||z{{yy{zzzzzzz{{{{{{yzzzzzz{zz{|{{{zy{z{zz{{|z{{{zz{{yz{zyzzz{{{{{{z{zyyzzz{{zz{{{zzzzzzyzz{|{z|{|zz{{zzz{z{z{{z|{{zzz{z{z{{{{{{|{{zzz|z{z|{{{|{|{{z{{{zz{{z|{{{||z{{{{zz{{{{{{{|{zzz{zzz{{z{{|{||{zz||z{z{|{{{|}|z{{|zz|z{{|||||{zz|{|{{|{|||{||{{{z{{{{z{{{|{||}{{|z|{{z|||{{}{}{{{{{{z{{{{{|||}|z{{z{z||||||{|||{{|z{{||{{|{|||{{{{{{z{|{{z|}|||{|{{{{z}|{{{{||{z|z{{zz{{{|{{{||{z{z{z{y|{{{z{{{{{y{z{{{{z{{|~{||{||{{{{}}{}||}{|{z}{{{{{|||||{||{zz|z{{{z||||{{{z{{{z{{{||z{}|{{|{z{zy{{{{{||{{{|{{zzy{{{z|{{z{z{z{{z{|z|{{{{zzzz{y|{{{z{{{{{{zzzzzy{z{z{z{{{|{{zzzz{z{{{{{{{|zy{zy{z{z{{{{{|{{{z{zyyzzzzz{|{|{zzzyzzz{{{{{{z{{{z{{{zz{{zz{{|{|{{z{z{{{{{{{|{{{{|zzz{{|z{{|{{{z{{zzz{{{{{|{{{|{{{{{zzz{|{|{{{z{{z{y{z{z{||{{}{{{{{{z{{{|{{{{{{{{{{{z|{{||||{||z{|||{|{|{z{|||}{{||{{{z||{||{|{{{{z{{{z||{||||{|||{{{{|{|z{||{{|{{{{{{{{||{|}|{|{{{{z|||{|||{|||z{||{{{{{{||{}{{|z|{z{{{||{{{{||{{{{z{{|||{{||{{{z{{{{{||{||{}{{z{y{{zz{{{{z~}|||{|}{{||{{{||}{{{{{|zzz{|{||{{|{{|{{{{{|{{|{||{{{{{z{{z{{{{||{||z{{zzz{{{||{{||z{{zzzzz{{zzz{|{z{{zzzy{{|{zz|{{zz{z{{zz{{{{z{{{{zz{{{zzz{z{|{{{zzzz{{z{{{{{{{zz{{z{z{zz{{{{{z||z{z{{zzyzzz{y|z{{{yzzy{z{{{z{{{{{{{zz{zz{{{|{||{{{{{{z{z{{{{{{{{zz{{zy{z|{|{||{|z{zzz{z{|{|{{{|z|{z{{z{{z{{{}|{{|{{{{z{{{||{{{|z{{zz{|{{{{{{{{|{|{{z{{{{z{{}||||z{{{{{||{|{||{{||{zz{{z{{|{{z|}|||{z{{{z||||||}|{{{{zz{{|{z|}||{|{|z{{{{{|}|||||{{{{z{{{|{|{{{|||{{zz{{{{|{}{||||{z{||z{|{{|{}{}{{{zz{{{{|||{||{|{{{z{z{|{{|{{|{{{{z{{{{z{|{z{}||||{|{{|{|~{|||||||{|z{z|{||{{|{{{{{z{{{{{{{}||||{{{z{z{{{{{z{|{{{|{zz{z{||z|{||{{{zz{|z{|{z|{{{{{{{{{zyz|{{{{z|{zzzz{yzz{|||{{|{{zz{zzy{{|{{{{{z{y{zzzy{z|{{{{zz{{{{zz{z|{{{z||{{{{y{zz{{{z{{{{{{{z{{z{z{{|{{}{{zzzzzzz||{{{{|{{yzzzzz{|{z{{|{}{z|{z{{{{{z|z{|||{{z{z{z{|||{{|||{{z{z{zz|{|{z|{zz{z{{{z{{|{{{{{{{{{zzz{|{{{{{||{{{z{{{z|{|||{||{{||{{{{|{||||{||z{{{{{{||{|}|}||{|{{{{z{{|{|||||{z{|z|{|||{}||||{{z{{{{{|||{|}||{{{{z{|{|||{|{||{|{{z|||{{||}{|{{{{{{|||{|||{||{|{{zzz{{{||z||||{{{{{z{z{|{{{{|{{{z{zz|{{{z|}}|{|||||{||~|||}{}|{{{{|{|{{||{{{||{zz{{{z{|||{||||{zz{zzz{|||z||{|z{{zz{z{|{|{{z|z{zz|y{{{z{{z{{{z|{z{zz{z|{z{{|{{zzyzzz{{{{|{{{z{{zzzzz{{|{{{{{{|zyzz{zzzz|{{{{{zzz{zzzz|{z{|{{{|{{zzzzy{{{{|{{}|zzz{zzzz{z{{{|{{z|{z{y{zz|{{{{||{z{zz|z{{{{{z|{{{{zzzzzz|{{||{|zz{{zz{z{|{|{{|}{zz{zz{z|{{{|{{|y{{{{z{{|||{|{}|{{{|{zz{{{{{{{||{|z{{z|{{{{}|}z|{||{{{|{||{|||||{zz|z{zz|{|{{{|{{{{{{{z{{{{|||}|{{{{z{|{z|}||}|{|{{{{{{{{|{|||}|{{{{{{||||{{|}|||{{{{{{{{||{}||}|{||{{{{|{{{{{}|{{{{{{{z{|{{|{}|{{{z{zzz|||{{{||{z}{|z{{{{||{}}}|||{||{{{{||{||||{{zz{{{{{|{}||}|{|z|{y|{|{|{|{{{{z{zzyz{{{|{{{{{{zzzzzz|{||{|{|zyzz{z{z{{|{z|{zz{{z{zz{{z{{zz{{yy{yyzyzz{{zz{{{zz{zzz{zz|{{z{|zzzzzz{zz{z{{{{{{{z{zz{zzz{{{{{|{zzz{zz{{z{z{{z{|{{z{zzy{{{{{{{{{zy{zzz{z{{{|{{{{|zzzzz{z{{{{{|{|{z{{z{z{z{{|zz{|zz{z{{{z{|{{{||{z{zz{z{z{|{{|{|z{{z{{{z{{{{|{|{z{zz{{{{z{}{{{{{{zz{z{z{{|{|{|{{{{z{{{{{z{{{{{{}||z{{{{{z{||||{||zz{{{{{z}{z{||}|{{{z{{{{z|{{||||||{{{|{{z}{|}|{{{|z|{{{z|||{{}{}{z{z{||{{{{{{|{||z{{{z{z||{|{||{{{{z{{z{{{|{|||{{|{{z{{{{||{{{}{{{{z|{|{{{{{{}}|||{||{|{||||}{}||||{|zzz|||{{|||||{z|{z{{z{{{{||{z{z{zz{{{||{{{{{{{|yzzz{|{||{{|{z{zz{{|z{{{{{{{zzzy{z|{{z||{{{yz{{{{zzz{{z{{|{{z{z{z{{{{z{{{{{zz{zzyzz{{{{{|{{z{z{{yzy{{{||{{||z{{z{z{{z{{{z|{|{{zz{zzzz{{{{||{{{z{{{{zz{{{|{{{{{|z{{{{{{{{{{||{z|{z{{{||z|{}{|{{{z{zz{{|{z{|{|{{{z{zz|z||||||z{z{{{{z{{{|{|{|{{{z{|{z{||}{{{}|{{{{{|{z||||{|||{{|z|{{{{{||{||{|z{{{{{y{|{{|||{|{z{|{z|{||{|{|{{{{{z{|{{||{|||||{|{{|{{{||}||||{|z{{{{{|{{{{|{||{{|{{{{|{{{||||{{|{{{{{{{|{|||||{{z{{{z|{{|{|{||zzz{|{z{|z||{{|{{|{{zz{{{|||}}}}|{|{{{||{|||||||z{|{{zz{|}{|||}{{{z{{zz||{{{{|}{{{{{{y{{|{z|{|{{zzz{{{zz|||||{|{{zzzz{{|{{{{{|{{{zzzzzz{z|{{z{{{z{zzzz{|z|{|{{{zz{y{zz{z|{{{z{z{{zzzzz{{z|z||}|zz{zz{zz{zz{|{{{{{z|{z{z{{{z|{{{{{{zyz|z{|{z{||{{{z{{zzz{{||{|{{{{{zz{zzz{|{{{||{|{{z{{{{{{{{{{{{{yzzz{{{{{{{|{{{{z{|y{z{|{{{{z{{zz{{z{z|{}{{z{{{{z{{{{{{|{|||{{{{z{|{{{{{||z{|{{{{z{{|z|{|}{||}|{{|{|{{{|||||||||{{zz{{||{{||}{|{{z{|{{{||{||{||{{{{{z{||{{||||{|{|{z{{||{|||{{|{{{{{{{||{{||{||z{{{{{{{{{||||}|{{z{|{{{|{{{{}{{{{zz||{{||{{||{||{zz{{zz{{{{||~|{{{|{z|{|}||}|{{{{|{{zz{|{|{{{{{zz{{zzz{{|z{{|{{zzz{zy{|{||{{{|{z{yzzzz|{{{{z{}zz{zzy{zz|{{{{{|{{z{{zz{{z{{{{{{z{{zz{zz{{z{{{|{z{zzz{{zz{{{{{|{{zzzzzyzzz{{{|zz{z{zz{zyz{|z|{{{zzzzz{zz{{{zz{|{|z{z{{{zz{zz|z{{{zzz{zzz{{|{{|{{|z{zzzz|{|{{z{{{{zz{zz{{|{{{{{}{{z{z{{zz{z{{{{|||zzz{y{{z|{{|{{{{zz{{{zz{{||{||{{{zzz{{{{||{{||{{{z{z{{z{}}{|{|{{{{{{{{{{|{|{||}{z{{z{{{{|}|{{|||{zz{{z||{|{{{}||{{{{{{|{{{|{}{|{{z|{y{{{|||}{{|{|||{{{{|||{||{|{{z{{{{{{|{|{||||{z{{{z{{|{|{||{|{{{|{{{{||{{|||{{{{z{zz{{|{|{||{z{zz{{z|{{{{{}|{{{{{{{{|{{{{||||{|{{z{z{|{{{}||{z{{zz{z{{{z|{z{{{{{zz{{{{{|z{{}|{z{z{zzz{z||{|{z{zz{{{zy|}{{z{{{|z{y{zz{z{zz|{{zz{{zz{{{{{{{{|{zzz{zzzzz|{{{{{{zzzzzzz|||{{{{{{z{{zzzz{{{{|{{|z{z{zzzzzzz{z|{zz|{{z{{zz{|{{{{{{zz{z{{yzzzzz{z{z{zzzzyzz{{zz{{{|{z{{z{z{{{{z{z{|z|{z{z{|{{{{{{{{z{z{{{zyz{{{{{{||{|zzz{{{{|{{{|z|{{zz{{{|{{{{|{|{|{{|{{{z||{|{||{|{y{|{{{{{|{||}z{{{|{z{z{{{{{||{{{{{y{z|||||{||{{{{{{{{|z{{||||zzz{{|{{|{|{{{}{{{|||{{{|{{|{}|||z{z{{{{{{{|{|||{zz}{{z{{|||||||{{{zz{z{{{{||{|{{{z|{zzy{|{{{||{z{{{z{{z{|{{|{{{|{|z{{{|{|||{|{}{{z{|{zz{|{|}|{||z{{zz{{|{{z|{|z{zz{{zzz{{{{{z||{z{zz{{zz{z|z|{{z{zzzzzzz{|z{{{{{zzzzz{z{z{{zz{{z{zzyzzz{{|{{|{{z{z{zzzz|{z{{{{zzzz{zyz{z{{z{|{{{z{zzz{zz{|{||||zzzz{z{{{{{{{{{{{zzzy{{zzzz{z{|{{{zz{zzz{{{{|{{{zz{z{zyz{{{zz{{|{{|{zzz{{{zz{{{{{z|{zzzzz{z{{{||z{{{zz{{{{||{{{{{zz{z|zz|{{|{{|{zz{{z{{{|z{|{||{{{{{{z{{{||||}||zz{|{{z{{{{{{|z}{{{z{{{z|{{{{|{|{{z{{{{z|{|{{{{{z{{zz{{{{{{{{{{{|{{{z{{{||{||||||{{{z{{{||{}|{|||{{{{z{|{{{{|{|}{{z|{{z{{|{{|{{||z{z{zzzz|{z{|{{|{{{z{y{{||||{|{{|z|zz{z{{|{{||}{{{{{{|{|||{{||}{{{{|{{{{|{||{{||{{{|{{z|{{}{|||||z{z{zzz{z||{|{|{{z{zzz{{{|{{{|z{{zzzzz{{{{{|{{yzzyz{{z{{{|{{{|{zzzz{z{{{{{{{{zz{zzzz{{{{{{{{|{{{|{{{z{|{|{{{{{{{|zzzz{z|{{|{||{|z{{{{y{{{{|{|{z{zz{{zz{{|{{|{{{z|{{zz{{{{{z{{|{{zzzz{{|{{{{{{|zz|z{{z{{{{{{|{{zz{zz{zz{{|{|||{{{{z{z{{z|{{||||z{{{{{zz{||||||{{zz{zz{{|{}z{{||{{{zz{{z|{||{||}{z{{{z|{{{||{}|}{{||{z{{{||{|{|{|{{{{{{{|||{||||{z{z{{{|{{{||||}||{{{|{{z|{||}||{{{|z{{{|||||{|||{{{{z{|{{}{|{||||z|{{z{}{{|{||}{||{{z|z{{|{|||{|{{{{yzz{||{{{|{{z|z{zz{{{|{{}z|||{|{{|{{|||||||{|{|{zz{|{|z{|||{{{z{{{{{|{{|}|||z|{z{z{{{|{{{||{{{{{{{{|{{{||{{zy{zz{{{y|{{{{{{z{{{z{z{z{{{{|{|z{{z{{{{|{{z{{{{{z|zzz{{{{{zz{|z{z{zz{z{{{|{||{|{{{zz{zz{{||{{||{z{z{z{zz{{z{{{{{{z{{z{{y{z{{|{{{zy{{zzz{{z{{{{{|{{{|{|{|{{|{{{{{{{z{{{{{{{z|||{zz|{{z{{{{||{||||{zz{z{zz{{{{|{|z{{{{{{{{{|{{||{|yzz{{z{|{{{{|{{|{{z{{{{|{|||{|}{{||{{|{|||{{||||{{{{{z|{||||||{{{{{{{|{{|}|{}|||{|z{{{|{|{{||}|||{{{{{z{}{|||}|{{||{{|{|||}|||{|zz{{z{||{||||||{z{{{{{{|{{||||||{{z{{zz||{{||||{{z|z||{||||{||||z{zz|{{{|{{|{}~{{|{{{}{{|||}}|||{z{zz{|{}|{||||{|{{{{{z{|{{||||{z{{{{{{|{{{z||}{{z{{z{z{{||||{|{{zz{|{{|{{{{{{{{{{z{zz{{{|{|{{{{|{z{{{z{{{|{|{zz{zz{{z{{{{{{{||{z{z{zzz{{{|z{|||z{zzz{zz{|{{{||{{z{z{z{{{{z{{z{{{z{z{z{z{{{z{|{{z{{z{{z{{z{|{||{zzz{z{{{z{{{{{|{z{zzzz|{|||{}{||{{{{|{{{|{{{|{||{{{{{zzz{{{||}{{{|z|{{{||||{{|{{z{{{{{|||{{{{|{{{{z{{{{{{||||||{|{{|{{|}|}}||{~{z{|{{z{{{||||||{z{|{{z{{{{{||||z{{|{||{||{||||}||{{{|{z|}{||||{|{{z{{{{{|}|}|}||{|{{{{{||||{||}{|{{{z{{||||}||}}{z{z{{{{|{{||}|{|{{{{{z{{{|||||z||{{z|{{{|{{|}|||||{{|z{|}|{{||{||{|z{|{{||{|||{|{{{||{||{|||{|{{zz|{z{z{||{{|||{{zz{{z{{|z{{{{{z{{{z{zz|{{{||{{{{|{{zzz{{{{{|||z{zz{{{z{{{{{||{zzzzz{{z{|{{|{{{{zzz{zzz{||{{{{{zz{zzz{{||{{{z{{{{z{zz{z{{{{{{||{{z{zzyz{|z|{{{{z{z{{zz|{{{{{{{{{{{{{z{{{{{{{{{{zzz{z{{{{{|||||z{||{zz{{{|{{{{{|{{{{zz{{{{{{{||{{{{zz{{||}|z{||{z{{{{z{||{{{||{|{{{z{z{||||||||z|{||z|{{|{|||{|{z{{{{z{{{|{|{{||{z{{z{||{{}|||{|{|{z{{z|{{{|||}|{{{{|z|{}||||{||z{||{|{{|z{{||{|z{{|{z{{{||||||{{{z|{{|z{{|||{|{|{{z{{{{}{|||||{{{{z{zz{{|{{||{{z{zzz{{|{|{{||{{{z{{z{z||{||||||{z{zyy||{{|{{|}||{z{||y{|{|||{{|z{z|z{z{{|||{}|{z{zy{z{{|{{{{{{{z{{y{{z{{zzz{|{{{{z{zzz|y|z{{|z{zzzz{y{{{{{{{{|{zzzz{{z{z{|{z{{{{zzzzy{{{{{{{{|{{{zzzzy{{{|{{|{{{{z{zz{z{{{{{{{{{{z{zzzz{z{{|{|{zzz{|{z{|{{z{|{|{{z|{zzz{|z{{{|{z{{{{{z{|{|{z||{zz|{z{{{z|{{{{{zz{z{{{{{{{{|||||{{|{z{z|{|{|{||{{zzz|zz|{{{{||{z|{z{{z{{{||{|}{|{|z{{{{{{{|{|||{{{{{z{{||||||{|}z|{z{z{}}{{||{{z{{z{|{{{|{||||}|{z|{{{{{|||{{|||{{{z{z{|||{{{||{{z{{{{{{{{{}||}{{{{{{{||{{}||||{z|{{{{{{|z{|}||z{{{{zz{{||||{{|zz{z|z{{{{|||||||{{{z{z{|}}|{z|}{{{{{zzz{{|{{{{}{{{{z{{z{|{{{|||{z|{z{{z{z{{zz|||{zzzz{yz{{{{{{|zz{z{{zz{{{{{||z{yz{{z{z{{z{z|{{z{z{z{yzz{{|z{{{zz{{zzzz{{{z|{z{|zzzzzy{{{{z{|{{{z{{zzzzz{{{{{{{{y{zzy{y{{zz{{{||z{{zzzzzzz{{{{{z{{{{{zzz|{|{{{z{{z{{zz{|{{{{{{{{{z{z{zy{{{{{|||zz{yzzzyz{{zz|||{z{{{z{zz{z|z|{{z{z{zzz{y{||{z|{|zz{{zz{||{|{|||{zzz{{{z{{{{|{{{{{z{{z{zz{{|{{{|{{{{{{{{{|z|{{|{{|zy{zzz{|{||||{{{{z{{|{z{{|||{||{{{{{z{||}|{{||{z|{z{{z|||{{{|{{{z{z{{{|{|{{||}|{z{{{z{{{{||{{|{{zzz{z{{|z|||}{|zzz{{|z{{{|{{{{|z{zz{zz{{{{z}||||{{{{{z|||{|{{}|{{{z{zz{{{{|||{{{{z|{{{{{{z{|{{{z|{zz{{zz{{{{z|z{zz{{{z{{z{z{{|{z{{z{{z{|{z{||{{z{{zz{z{{|{{{{{{{{z{zzz{{{{{z||z{z{z{zzzz|{|||{{z{{z{y{{{{{{z}{z{{{zzyz|{|{{|{{zzzzzzzyzy{z{|{|z{zz{zzzz{zz{{{{{zz{{{zz{|{{{{{{zzz{z{{z||{z{{|z{{{{{z{z{{{{{{{{{{z{zzzzz||{{|{{{z|{zz{{||{{{{{{{{z{zzz{{{{{{{~{{zzz{z{{{{{{||{|{|{{z{{zz|{|||||{{|{{z{{|{{|||||{{z{{z{z||{|{{{|{{{{|z{{|||{|{|{z{{z{}|{{|{|||||{{{{{{{z{{{{|||||{{{{{{{{{{{{{|{|z{|z{z|{{{|||||{{z{{|{{{|{||{}|{{{z{{{z|{{{{|||{{{z{z{{{|{||}|||z{zzz{z{||{{}{|{{{{z{{z{}}{|z|}{{{{{z{{{{{|{|||{{{{z{{{|{{{|||{{{{z{{zz{{{{z|{|{zzzz{{z{{{{{{{{{{zz{{{{{{{{{||{{z{zzzz{|zz{z{{{zzzzz{yzzz{{{{{{{yzz{zyzzzz{{{{{{zzz{yz{{{{{{{z{zzz{zzz{{{|{{z||{zzz{{zy{{{z{{{zzzzzz{zzz{zzz{{{zy{{zzzzz{{{y{|z{{zy{zzz{{{z|z{{{yzzyzy{{{{{{z{zzzzz{zzy{{||{||{{z{z{z{{{|{{|{{{{z|z|{{{||||{{|||{{{zzzz{{{{{||{z{z{{{zz{|||{||{{|{y|z{{{|{{{||||{{{z{zz{}|{|{|{{z{zzz{zz{|{|{||{z||{{|{|{{||||{{|z{{{{|}||{{|||{{{{z{z{||||{z}|{z{{{{z{||{||{{||z{{|{{{|{{|||{|{z{z|{{z{||{||{|{||{z{zz{{{|{{|{zz{{{yz{{||{||{{{{z|{{zz||}{{{}|{{{{{z{{{|{|||{{z{{zz{{z||{|{{{{{{yzzzz{zz{{{{|{||yyzz{z{{|z{{{{|{zzzzzz{z|{z{{{{zzyz{z|z||{{{z{{{zzzzz{{{{{{{{{zzzzzz{zz{{zy{z{z{{zz{zzz{{{{{{{{zzzyzzy{|{|z{|z{zzzzzzzzz|z{zz{{zzzzyz{z{{{{|{{zz{zzzz{{{z{{{|{|z{{{y{z{{{z{{{{z{z{{z{{|z{||{{{{z{{zzz{|{z|{{{{{z{z{z{z{{{|{{|{{{{z{{z{{{{{{{{{|{{{{z{{|||{|{z|{zzz|{z{{{||{|||{{zzzz|{{{{{{|}}|{zzzz{{|||{|{||}{{{{{|{||z|{||}{|{|{{{{{|{z|{|}|{{{{{{{{|{}|||{{z||zz|{{||{{|||{{|z{z{{|{{||||{{zz{{{{{{{{{||{|{|zzz{{{{{{|{|}|{{{zz{{{{{||{{|{{{zz{z{zzz|{{{|{{zz|{{{{z|||||||{{{{{z{{{|{{}}{z{z{{|zz{{{|{{{z|{y{zzzz{{|{{z|{{{z{zyz{z{{{{{|{{{y{zzyzz{{zz{z{{{z{zzzzz{z{z{z{|{{{zz{zzzz{{{{{|zz{zzzzzzz{{{z{{z{{zzyzzzz{{|{{{zz{z{{zz{{{{{{{{{zz{zzzz|z|{{{{{z{zzz{{zzz{{|z{{{z{z{zyz{|z|{{{{{{z{z{zzz{{{{{{{zzzz{z{zz|z{{|{|{z{z{zz{{{{{|||{{{{z{zzz{{{{{|{{{z{{zzz{{|{|{||{|z{{{zyz{|{|{{{|{{{z{{{z||{{{|||z{zzz{{|z{|||||||{{{z{{|{|||{{||||z{{{|{||{{||||{{{{{||{{|{||||||{{{{|{{{{{||||{{{z{{zz||{}{{{|||{{{{|{|||{{{||}{{{{{{{{{||||{||{{{z{{{{{{|{||}{{{{{{{z{z|{|{{}{{{{{{yyz{{|z{}{{{{z{{{|z{{|{|z|{{{{{{{{{{|{{{|{|{{{{z{z{|{{zz|{{{{{{|z{z{{|{{|{{{zzzzzzy{{{{{{zz{{{zyzz{{{{{{{{z{zz{z{zz{{{{zz|{zy{zz{{zz{z{z{|{zzzy{zzz{{{{{z{{{zzzzzz{{{{{{{{{{zz{zzzzz{{{|{||z{z|zzyzzz{{zz{z|{{z{{zzz{{z{|{{{z{zzzz{z|z{{{{{{z{z{z{{z{{z{{{|{zz{{z{y{|{zz{||{z{{{zzz{|{{|{{|{{|{zz{{{{{{{{|{{z{{{{{{z}|{{{|{{zz{{{{{{|{|{{|{{{zz|{z{{{{|{|||{z{{zzzz|{|{{||}{{{|{z{{|{{|{{|{{z{{zz{{|||{|{|}{{{{{{|{{{{|{|{{{{{{|z|{{}||{{{||{{{{{z{}{|||||{|{{z{{{{{|{|}|{|{{{{{{{|||{||||||yzzzz{{{|{{|{{|{{zz{{zzz||||||{{{{zzz{z{{{|{||}{|{z{z{z{|||{|||{{{{{z{{{{{z||{{{{{z{{zz{{z||{||{{{zz{yz{{{{{z{|zzzzzz{y{{|{{{{|yzz{{{zz{z{{z{|{|{{zz{zz{z{zz{{{|zzz{zzz{{{|{{{|zzzzyzzz{|{{{{|{{zzzzzyzz{{{{{{{z{zzyz{z{z{{{{|{{zzz{{zz{{zz{{{{{{zz{yzzzz{{z{|{z{zzz{zz{{z{|{{{{{{z{z{{z{zzz{{|{zzz{z{z{{z{z{{|{z{zzz{z{||{{{{{{z{{{zzzz{{z{|{{{zzz{zz{|{{{{{|{|{{|{{z{{||{{||{{z{|{z{{|{||{{{|{z{{{{{{{{||{{||{z{{zz{z{|{{{||{|{{{{|zz}||{{|||{{{{{{{{|{||||}||{{|z{{{{||||}||{z|{|{{{|{{|{|||{{z{{|{|{|{{|{|||z{{{{z{{||{{|{|zz{z{{{z||{{{||{{{{zzzz{z|{|{{{{{{|zzz{z{|{z{|z{{{|{{{zz{{|||z{|{{{z|zy{z{{{z{{{{zzy{{z{|z{{{|||{zz{z{zz{{{{{||{{{{zz{yz{|{{{{z{{zzzy{{zz{||z{{{{{|z{zz{zz{{z{{zz{{{z{z{zz{{{{z{{zzz{zyzz{{{{{{y|z{{y{yzz{{{{{{|{{|{{{zzzzzz{{}{{zzz{{zz{z{y{{z{|zzz{zz{z{{z{|zzy{{z{{{y{{{{{z{z{{{z{zzz{{{zz{|{zzz{{zz{{{{z{z|{z{{zzzzzz{{{{|||{z{z{{{z{{{|||{{{z{zyzzz{{|{{z|{zz{z{{zz{|{{{{{z{{{{{{{{{{||{||}|{{{{{|{{|{|{|||{z{{zzzz{||{|{{||zz{{{{{{|{{|{||{{|{{|{{{{{{{{|||z{zz|||||}|||}|{{|{{{{{||}|{|{||zz|z{|{{{{||{|||{z{{z{{{{|||}||{{zz{z{{{|{{{{{{|{zzz{{z{{{{z{||{{{zz{z{{|{{{}|{{z{z|{|{{|zz{{||{{{{{{{z{|{{|{|{||zz|{zy{{|{{|{|{{zzzzzz{{{{{{|{|{{zzz{z|z{{{{|{zz{zzz{z{{{|{|{{z{{{zyzzz{{{z{{{{|{zz{z{{{||{{||yzz{{zzz{|{{{{{zz{y{z{z{zz{{{{{|zzzzz{{{{{|{{||{zz{z{zz{y{{z{{{{{{zzz{{z|{{z{|{zzzzzz{{z{z{{{{|{z{zz{yz{{z{z{{{|{zzzz{{{{||{|{{|{{z{yzz{{{{{{{{|z{{{{{{{{|{|{|{{{{{zz{z{|{|{{z|{{zz{z{zzy{{|{|{||{|{|{z{{|}|}||{{{z{{{{{{{|||{{|{z{{z{zz{|}||||||zz{{z{{|}{{|{{{|{zz{{{{{|{{{{}{||{|{|{z{}|{||}|z{{{{{z{|{{|{|{}|z|{{z{|||{|{{|||{{{{{{{||{{}|||{{zz{{{z{{{|z}{|{z{{{zzzz{{|z|{|{|z{{{{{z{{{z{||{{{z{z{{||{z|{{|{|{zz{y{{{||{{||{{{{z{{z|z{|{{|{{{zzzz{{{{||{{|{|{{zz{yz{{{{{{{|{z{z{zzz{||{zz{{{{{yzzy{{{|{{{{{{{z{z{zz{{{{{{{|zzyy{zyz{|{{z{{|{{z{zzz{z{{{{{|z{|zzzzzzzz{{{{{{{{zz{zzzz{{{z{z{{{zzzzz{{{{|{||{zzzzz{zz{|{{{|{||{{z{zz{zz|{{{{|{{{{{zz{{{{{z{|{zz{z{{yz{{{{{{|{zz{{zzzz{|{{{}z{zz{{z{{{{{{{|z{{{z{z{z{|{|}{{|{{|z||{{{{{{|{{|||z{{{{{|{{|{||}}|{{{{{zz{z{}{{}|{|z|z{z{{||||||||z{{z{{{|{|}|{}||||z{{|{|{|{|{{||||{{{{|{}{{{|}z|{zz{{{{|{{{{||{{|{{{|z{{{|{||{||{{{{z{{zz||{|||||{{{{y{{z|{{|{z{{{{|{z{{z|{{{||{{z{{{{zzz{{||{||{|z{{z{z{{{{{{{}{{{z{{|{|{{{||||{{{{{zz{z{{{{{{|{{zz{zz{z|{|{||{{z{{z{zz{{zz{{|{{{{|z{zzz{|zz{|{zz{zz{yz{zzz{z|{{z{z{yzzz{{z{z|{{zzzyzzz{z{||zz{{{{|{z{{{{{|{{|{z{z{zzzzz{zz{{{{z{{z{{{zzz{|{z{{{z{{z{zzz|{{||{{{zzzz{zz|}{zz{{|{z{{y{{z|{{{{|{{{zzz|zzz{{{{{{{{zz{z{z{z{{{|{{{{z{{{{|{z|{{z{{|||{|{{{{{z||z||{|{{{{{{z{{|||{{{|z{|zz{{{}{{|{|||{{{{{{{{|||||{|{|{z{|{{z|||{{{{|{|{{{{{|{|{|||{||{z{{{{{{{{{||}|z|||zzz{|{|{||{{{z{{|{{{{|||{{}|{{zz{{z{z{||{|{{{{{{{{|{{{|{||{{|{{{zz|{{}{{{|||z{{z{z{z{z{{z{{|||zz{{yz||{{|{||{{{|z{z{zz|{|{}|z{{{|{{{|{{||{{{{{{{zzzzz{|{{|{{z{zzzzzyz{|{z|z|{zzyzzzzz|{{{{{z|{{z{{zz|{{z{|{z{zzz{{yz{z{{{{z{yzzz{zzy{{{{{|{{{zzzzzy{{{{y|{{{zz{{{zzz{z{{{{||z{z{{y{z{z{z{{|{{{zzzzz{z{z{{y{{{zz{z{zy{z{{z|{{{zzz{{zzz{|z{{{{{y{{{z{{{{{{{|||{z{{z{zzzz{||{{|{z{{z{z{{|z|||{{{{{{{z{{{{{z{||{{z{{z{{{{{{{||{{z{{zz{{{{|||{{{|zz{|{{|{|{{|{{||{z{{z{{z{{||{|{|z|{|{{z{{|{{|}}|{{{{{||{z{{|{{||{z{|||{|{}|{|}||{{{{{z{{|||||||{}{z{{{|z|zz{|||||{{z{{{{|{}{|||||{{z{{{z|{z|||}}{|{{{z{{{|{|{{{|{zzzzzyz{||zz{|{{z|{|z{{z|{{{{{|{z{z{z|z|{z{|{||z{{{z|{zz{{{{|{zzz{{zz{zz{zz{z|{{{zzzzz{{{|{{zz|zz|zzz{{z{{{{|{{{zzzzzz{{{|{z{z{|{zzyzzz{{{|z{{{z|{zzz{|y{{|{{|{{zz{z{zzz{{z{z{|{{{zz{zzz|z|z{|{z{z{z{{zzz{{{{{|zz{z{{zyzz{{z|{{{yzzz{zz|{{{{{}|z{{{{zz{{{{{z{z{z{{{{zz|{{}{{|{{{{{zy{{y{{|{|{z{{zzzz{{zz|z{|{{{z{{{z{z{{zz{|{{|z{{|z{{{{{{|{||{{{{zz{z{{{||||||{{{z{{|{{z|{|||||{|{{|zz|{|{}{||{z{|{{{{}|{{}{|||{zzz{{{{|||||{{~{{{{{{z|||{|||{|z{{{{{{{}||{||||z{z{{{{z{{||||||z{{||{{{{{{}}|||{{z{{zz{{z{||||{z|{zz{{{||{{}{|z{{zzz{zz{|{|z{{z{z{z{zz{||{z{{{{zz{zzzz|{|{{||||zzzzzzzzz{z{||||z{{{y{z|{{{z{{|{{{{zz{z{{zz{{||y{{z{yz{{{zz{z|{{{zzyzz{{z{zz{{y{zzzz{y{|zz|{{{{{{zzz{{zz{{{{{||y{z{z{zy{z{zz{{{{z{zzzzzz{{|{|{yzzz{y{zyz{z{zz{{z{{zz{{yz{z{{{z{zz{z{{zy{z{{{{|{zzzz{zzz{{{zz{{{zzzzzzz{{z{{z{{{zzzzy{{z{||{{{{{{z{{{z{yz{{{{|{zz{{{z{{{{z{{{{{{{{z|z{{z{z{|{||{||z{{z{{{|{{|{{|{{{{y|{{|{|{{{{|zy{z{{z{||||||{{{y{z{z{{|{z{|||||zz{{{|z{{{{||}{|z{{z{{{{~{}|||{{{z|{z{{|||{|{}|{z{{|{{|{|z|{|{|zzz{{z{||||}{{}|z{z{{z|{{{z{z{{|{{{{{y{{{{{{{{{|z{{zzzzz{{{{z{|{|z{zz{zz{{{||{{|{zz{{{zz|{|{{{|z{zzy{{z{{{z{|{|{zz{{zz{z{{z{z{z|{{zzzzzz{{z{{{||{{{{zzzy{{z{z{zzzzzzz{zzz{{zzz{{zzzzz{y{{{z{{z{|zz{{{zzz{{{{{{|{{zyzzzz{z{z{{z{z{z{zz{zyzz|z{{{{{{zyzyzy{{{zz{{|zz{yz{zz{{{{|{{zyzy{zyyz{|{{{||{y{zzzzzz{|{{z{{{zzzzzz{z{{{|{{|{yz{{zz{z{{{zzz|{zzzy{z{|z|{{{{{{{{zzzzz{{{{{{{{{{zz{{zz{{z|{{z{zz{{{zz{z|||{{{|{{{{z{|{{||{{{{|}{{y|{zz{{z{|{|{{{z{{{zz{||{{|{{{{{zzz{zzz{{{|{|{{z{{{||{{|{|{{{|{z{{z{{{{{|{|{|||z{{{{z{{{{|{|||{{z|{{z{{{{{{|{{|{{z{{{{{|||{{||{{{{z{zz{|{{{|{{{zzz{{z{{z{z||{|{{z{z{z{z|||||{{zz|{zzy{|{z|{|||{|zz{z{z|{|{{z{||z{z{zz{{{{{{{{{{{{{zyzz|{||{{{{{yz{{z{{y{{{{|||{{z{z{{z|z{{z|z{z{zyzzzzzz{{z{{{z{zzzzyz{{z{{z{{zzz{{zz{{z{{{{{{yzzzzzzzz{|{{{{|zz{zzzzzz{{zz{{{zzz{z{z{yzy{z{{{zz{z{zzzzz{zz{|z{{zy{y{{z{{z{z}zz{z{zzzzz{{z{{|z{zzzzzzz{{{{{{{{{{{zzzzz{{|{{|{{{zz{{{{{{{{{z||{{{{z{{zz{{{z{{|{{{zz{{{{{{|||{|{{{z{{{{z||z||{|||{z|{zzz|||{|||{|{{{zz{{{||{{}|{{{{{z{{{{|{|{{|{|z{zz{{z{}{|}|}{{zz|{{{{{{}{{||{|{{{{{{{{z{|{||||{{{{{z{|z|||||}{{{{z{z{{{|{{{|{{z{z{|zz|zz|{{|{zz{zzzz{z{{{{{{|{{{zzz{{z|{{{|z{{{zz{zz{z{{{{}{{{{{z{z{z{{||||||{{zy{zzzz{{{zz||{{yzzzzz{{{||{||z{zz{z{{z|{{||}|{zzzzz{z{{{z{{{{{{zz{z{z{z{|{z{{zzz{zz{zz{{{{{{{zy{z{zzzz{|z|{{z{z{zy{z{z{{{{||z{z{zzzzz{z{{{{|{{{{zzzzzzzz{{{z||zzzzzzy{{{|z{||{zzzz{zz{{z{|{{|{z|{zz{{zz{{{{{|zz{{zz{z{{{{{{|{{z{{{y|z{||{|zz|{y{{z{zz|||{z{{{{{{zz{{z|{}{{{{|zz{|zz{{{|{||||{z{{z{z{{|||}z|||{{z{{{zy|{|{z{||{z{{{{|{{||||{||{|||{{{{|||{{{||{z{{{|{{{}||||||||{{{{{||{{{|||{{{{{{{{|||z||||{||{{{{{{{|{|{|||{{{{z{z{}||{|{||{||{z{{{{{||{{|||z|{{z{{{{|{{|{zz{z{zz{{{{{{|{||{{{{zz|z|{{{{{|||{{z{{{{{{{{{{{{z{{{{{z{{|{{z|{{{z{{yzzz{z{{|{{|z{{zzzzyz{{{{|{z{zz{{zzz{{|{{|{zzz{yzz{z{z{{{{{{z{zz{zzz{{{z{||{{z{{zzz{{{|{z{{|zz{zyzzz{{{{{||zz{zz{zzz{zz{z{{{z{{zzyzzy|z{{{{|yzzz{z{z{|{{z{{z{z{z{z{z{{{|{|||zz{zz{{{zz|{{{||{z{{zzzz{{z{{{{|z{z{{z{{z{{{|{{|zzz{{{zy||{|{{|{{z{{{zz{{{|{{{||{{z{{{|z{{||||}{{{{{{{{{{{||{{||{zz{z{zz{||{{|{z|{{{{zy{||||{{|{{{{{z{|{{{|{}||||{}z||{{z}|{|||{{z{{z{{{{||{{|||{zz{zz{|{|{}|||{|z{|{{z{{{{{z||||{{{{{{z{{{{||||{zz{{{{{|{{{{{|{{z{z{z{{z{{|||{{{zzz{zzz{|{{|{{{{{{zzz{{|{{{{{{|z{{z{z{z|{|{||{{{z{zz{zz{z|{z{{|{z{yzzzy{{{{{{{|{yzzzz{z{{{zz||{}{z{{z{{{{{{z{{{z{{zzz{z{zz{zz{{zzzzzzz{zz{{z{{{{z{zyy{z{{{{{{{{z{{zyzzzz{{zz{{|z{zy{yz{z{{{zz{{{{z{z{zzzz{{{{{{zz{y{{zzz{{zz{{||{{{zzyzz{{{|z{|{zzzz{{zzz{|z{{{zz{{zzzz||{{|{{{{{{zzz{{{{{{||{{{z{zzzzzzz||z{|{z{{zz{{{{{{{{|||z{{z{{z{{{||{{{|z{{{{{{z{{|{|||||{{|{z{||{{|{{|{{z{z{z{z{||{|||{{zz{{{{{{{{{|{||{{{|z|{|{{|||{|||{{{{{z{|{{{{|{{{{{{z{{{{|{{{{|}|z{{{{z{{{}||{|}{{{yzz{z{{|{|{}|{{zz{{{z{||{{|}{{zzzyzz|{{{{{|{|z||z{{{y{{{{z||{{z|{z{z{z|{{||{|{zzzzzz{|{{{{{||{{{|{z{z{{{{{{{{|y{zzyz{{{|{{{{{{y{zzz{z|{{{{{{{{z{{{{z{{{{{{{{{yyzz{{zzzy{zzz{|zzzzzzzz{{{{|{{{z{{y{zzz{z{{{|z{{{{zyz{{{z{{z{|{{zzzzzzz{|{{z{{{zz{yzzyzz{{z|||{zz{z{z{{|{|{{{{{{{{z{zz{{}{|{{|{{z{{{z{z{|{{{|{{zz{zz{{{{{{{{{|{z{|z{zz{z{{{z{|}{zz{z{zz{{{z{{|{{{{{{zzz{{{z{{|{{z{{{{z{{{|||{||{|{z{{|{{|{{||||{z{{{zzz{{|{{||||{|{{{|{{{{{{|{|{z{zz{{{||||||{|{{{{{||z||{{||||{{{{|{{z||||||{{|z||z{z{}|||{{|{{{{z|zz{{{{|||||z{|z{|{{|{||{||||{{{z{{zz{{||{|{|z|zz{zz{|{{{||{|z{{zz{zzz{{{||{{{z{{zzz|||{||}|{zzz{|{{{{{|{|{|zz{z{zzzz||z{{{{{{{zz{{z{{{z{|{{|{zzzz{z{z{z||{z|{|{{{zz{{{{{{z{zzzz{zzz{|{{|{{{{{{yzzzzzz|{{|{{zzzy{{z{z{{{{|{{z{{{z{z{{{z{{{{|{{zzzzz{zzzz{|{{{{{z{{zz{{zz{{|{z{zz{{{|{|{{{{{|{z{{{{{z{z{{{{{{zz|zzz{z{{{zz||{{{{{zz{z{{|z{||{z{{z{{{z{|{||{||{{{z{zzzzz{{z{}{{{{|{{{{{|{{||{|{z{z{{{{{{{{|||{{{{{{{||{|{||||}z{{zz{{z||{|||}{}{z{|{{z}|{|||{|{{{{{||{{{|{}||||{{{{|{{{}}}|{|}|{{{{zz{|{|||||||{z{z{zz||||{}||}{{{{{yz{||||}||{{z{{{{{{{{{|||{|{z{z{z|{{{|{|{{z{zzzzz{|{|{||z{{{{{z{{{z{{|z{||{{z{zzzzz|{{{{{|{{{{z{{z{{{z|{{|{{z{zzz{{z{|{{{{{z{{zz{z{{{{{{{{{{zz{{zz{y{|z{{{{zzzzzzz{zz{z{z{{{zyzyz{{zz|{zz{zzyzzzzzz{{{{{{yzzzzzzy{zz{z|{{zz{zzzy{zz|zzz{{zzz{zz{zzzz{zzzz|{z{yzyzyzzzz{|{{z{{{zzzzzz{{{z{{z{zy{zzzz{{{|z{|{z{zzzzz{{{{z{{{zz{zz{y{z{{{|{||zz{zzz{{{{{{{{{{zz{zzzzzz||{z{|{{{z|{{z{{{{|{{|{z{zz|z{z{{{{{|||z|{{z|{{|{||{||||z{{{z{z||||{{||{z{z{zz{||{{|||||z|{{{|{z||||{{{|{z{z{|{{||||||||z{{{{{|z||{|{{||y{{{{{{|{|||{}||{{{|{{{{|||{{{|{{|{{zzz{|{{||{|z{{z{z{z{{{|{{|{z{z{zz|{{z{{z|zzz{{{z{zzz|{{{{{|z{{z{z{{{{{||{||{{{zyz{z{{z{||{|{{yzy{yzz{|{{{z|{{zzzzzzz{{{{{{|{zzzyz{z{z{{{{z{{{zzzzzz{{{zz|{{zyy{zzzz{{z{{{{{zzzz{z{z{{zz{z{zzyzyz{zz{||{{{{{{zzzyz{z{{{|zz|{zzzz{yyzz{{{{{{{{z{y{zzzz{{{{{{{zzzz{{zz{{{|||}{|zzyzzz{{{|{z{{{z{z{z{zz{{{|{|{{z{{z{z{|{{{z{{{{{{{{zz{z{||z{||{{z{zzzz{{||{{{|{z{z{zz{z{|{{{{{{{{|z{{{{|{{{|{||zz{z{z{{||{|{|||z{z{zz{z{|||{{{{{{zzzz{z}||||}}||{zz{{{|{||{|}|||z{{z{{{{|{}{|||}{z{{{{{|}{|}||{{zz{|zz{{|{{|||}{|{z||{{{||{{|{|{{|z{{z{z{{|{}|||{{{{z{z{{zzzz|{{z{zzzz{|z{|{|{{z{zzzzzyz{z{{|{{{{z{z{zz{{{{z|{{z{{{zzyz{{{z{|{|zzzzz{z{z{{{{{{z{{{zzyzz{z{{z{{{|z{{{z{y{z{{zz{{{zzz{{z{z{{{{{{zzzy{z{zz{{{{{|z|{zyzzzzz{z{{z{{{{zyzz{z{zz|{{zz{zzzzzyyzz{z|{{|{{zzzzzzz{{{{{{{{zzzzyyzzy{z|{{|{zzz{zzyzz{{zz{{{z{zzzzz{{zzz{{{{{{{z{zzzz|z{{{z{yzzzzy{{{{{{|z{{{z{{{z{z{{{{{|{{{z{{zz|z{|{{{{|{{zzy{{y{{|{{{{z{{{{zz{z{z{{{{{{|zzzzzzzz||z|{|}|{{|{{{z{{|||||}{|z{z{z{z{|{{{||{{z{{z|{{{||{|}{|{{{z{{{{{||||||{|{{|{zzz{|z|{||{|z{{zz{||{z{||{|{{z|zz{{{|{||{{||{|yz{{z{{{|{{|{zz{{z{zzzz{{{{||{{z{zz{{{z|z{||z{zzzz{yz{z|{|{|||{z{z{z{|{{{|{{|{{{z{{{z{z{{|||zzz{{zzz{|z{{{{{{z{zzzyzz{z{{z{{}{{z{{zzzz{{zz{{{{zzz{yzzz{{{zzzz{zyzz{zzz{{zz{{{zzzzz{zz{{{{zz{|{z{zyyyzz{zz{{{{{z{zzzz{zz{{|{{{zzyzzz{y{|zz{zz|zyz{zy{zz{zzz{{{zy{yz{zzy{{z{{{{z{zzzzzz{{{{zyz{{z{zzzzzzz|{{||{z{{z{z{z{z||{|||z{{z{z{z{{{z{|{z{zz{{zzz|{{{{{{z{yz{z{z|{|{{{{{{{{{zzzz{{{{}||{zz{{{{|z{{||||||||zz{{zz{{{||{{{|{{|z{{{{{|{{{|{||z|{z{||{|||||||||{{{{z{|||{{|{}|z{{{{|{{{z|{|||{{{z{z{|{|{{}|{{{{{{{z{{|||{{{{}|{z{z{z{{{{{{|{{|{zzz{zz|{z||z|{z{{z{z{y{z|{z}{|{{{{{{{z{|{|z{|{{z|{{z{{{{z|{|{{|zzzz{{z|zz{}{{{{{{{zzzz{{{|zz||{zzzz{zz{{zz|{{|z{z{zzzz{z|{{{{{{{zy{zzzz{|{z{z{{zzzyz{zzzz|{{{{{zzzzz{z{{{|{z|{zzz{zzyzz{{{{{{{zzzzzzzyz||zzz||{z{{{z{yy{{yz{{z{zzz{z{y{zz{z{{|{{{zz{zzzz{{z{{z|zzz{{{z{{{{{{z{zz{zz{zzz{{{|{||{{{z{zzyz{{{|{{{{{z{{y{zz{{{z}z{{{{{zzzz{{{{{{|{{zz{{{{z{||{{{||{|{{{{{z{|}{{{||{{{zz{{{{|{{{|{|{{{{zzzz|{{{{{{|{z{{{{zz{||{}|{}{z{{{{||{|{{||{{||{|{{z{z|{|{|||{{{z|{{{|{{||{|||z{z{{{{{|{|||||||{{{z{{{|z{|||{|{{z{{{{{{||{{|||{{z{{{{{{{{|{|{{{{z{zz{{z|{{|z|z|zz{yzzz{{z|z|{{zzzzzyz{z|{{|{{{z{yzz{{z{zz{z|{{{zzy{zz{{{{zz{{{z{zzzz{{{{|z{{{zz{zz{zzz{{zz|{{{yzzzzz{{z{{{{z{{z{zzzzz{z{zz{||{z|z{yzzz{{z{{{{{yz{zzyzzz{z{{{|{zzzzzzzz{z{z{{{{{{zz{zzz{z{{{{|{{yzzzzzz{z{zz{z{zz{zzzz{{{{z{{{zzzzzzzzz{{{{z{{zz{zzzzz{{z{{{z{zz{{{zz{{{{{{{||{{{z{zzzz{{{{|{|z{{z{z{z{{{{{{z{{zz{{{{z{{{{{{{{{z{{{{{{{{||{|{|{{{z{{{{{{{{|z{|z{{z{{{z{||{{|||zzz{zz{{z{|{|{||{|{z{{{{|{|{{{|||{{|{|{|{||||{||{z||{z{{{}}{|{|{{{{{zzz{{||{{{{||{{{{|{|{{||{|||{{{z{z{{z|z{{|||{{{{zzzz{|{||{{{{{zzz{{z{{|{{|{{{{{{y{zz{{{{{z{|zzzzz{zzz{{{{{||{{{zz{{{zz{{{{||{zy{zzz{{z|{{{{|y{{zzz|z{{{{z{{{{zzzz{{zz{{|z{{{z{zy{zzz{{{{z{{{|z{zzzy{{{z{{{{|zzz{z{z{{z{z{{z{zzzyz{zz{{{{|z{|{{{z{zzy{{z{{{{{zz{z{y{yy{{{{{zz{zzz{zyzz{{z{{{{{{z{{zzz{{zz|||{{zz{zzzz{|{{{{|{zz{zzzz{{{{{{{|{zz{zzz{}{{{z{{{{{zzzzz|{{{{{{{||{{{zzzzz{|{|z{|{{{{z{{{zz||z{{{{|{|{|{z{{{}{|}{z{{zz{z{{{|{z{{||{{{|{{zz{{{{|{}{|z|{{{z{{|{{||{}|{z{z}{{{|{{|{||{{||zz{{z|{|{}|||{{zz{z{{{z}{||{|z{{{{{{||{{{{||{{{{||||{|{|{|{}z{|{{{z{{{|}|{{|||{{z{z{zz|{|{|{zz|{|z{{{|z{{{{{z{{z{z{z||{{|z||{zz|{zz{z{{{zz||{{{{{zzz{{{|{||{{zzzzzzz{{{{z{z|{{zzz{{z{z{{{|{{{z{{{{{z{|{zz{{{{{zyzzzz{{|zz{{{{zzz{{zzy{{{{z{|z{zzzzzz|z{{zzzz{zzzyzy{z{{{{{{{{y{{z{zz{|{{{z|{{z{{zzzz{zz{zz{zzzzz{zzzzzz{z|{{zzzzzzyyzz{z{{{{zzzz{zzz{|{{|{{{{{{zzz{zzz{{z{{|zz{z{{{{{{|{{{|z{{zz{z{z{{{|{|{|{{{z|zz{{||{{{|{z{{{zz{{{|{z{{z{{{{{{z{{{||||{{|{{{{{{|{|{{|{|||zz{|z{zz{{|{|{{{|{{{{{z{||{z|z|||{{|z{{|{{{{||{{|{z{{{||{|||{||{|z{{{{{z|||{{{|||z{{{{z{{|{{|{||||{{{{{{|||{{|{{{{{z{{|z{{{{{|||{{y{{{{{{|||z||{{|{y{y{zz|||{{{{{z{{{zzz{|{z{{{{{{zz{{zz{{{zz{|{zyz{{{{{z{{{{z|{z{{{zzzzz{||z||{{{{zyzzy{{{z{{{|zz{z|z{z{{zy{{{{z{{zzzyy{{|z{{{|zyzyz{zz{z{{{{{{yzzz{y{zz{{{{z{z{zz{z{yz{}{z{{{{zz{{zzz{{{{{{{{{{y{zzzzzzz{zz{{{{{{y{zzz{{z{z{{{zz{{z|yyy{{{{{{{yz{{zzzz{|{z{{|{{{{{zzzz{{z|z{{{{zzzz{{zz|{{{||{zzzz{{|z{{|{{|z|{{{{zzzz{{{{{{{{{z{zz{zz{{{zzz{|{z{z{{{{z{{|{{{{{|{{{z{{{|{||{{|{|{z{|y{{|||||{||{z{{zz{|}{{{|{{{||{{{{{{|{{{||||{|{{|z{{|{{|}|{{{{{{|{{|||||||{{{z{z{z{{{||{||||{{|{{{{{|{||}{{zz{zz{{{{||}{|{|{{zzz{{zz|{|{{{{|z{{z{zz|{{{||||zz{z|{{z{{||{z|{{{{{zz{z{{|||{|}{{{zz{z{{{{||{|{{z{{zzzzz{{{{{|{{{{zz{zz{z{{{|z{{{z{{{{z{{{{{{|{{{{{|{zz{{{{{{{|zz{{zzzz{z{z{{z|zzzzzzy{z{{z{{|zzzzzzzy{||{{{{{z{zzzzzzz|{{{z|{{zzzzzy{zzz{zz{{{y{zyzz{z{zzzz|{{{{zzz{{zz{zz|{{|{zzzz{zz|{{{{{||{z{{zz{{|{|{z|{|z{zzz{z{||z{|z{{z{{{{z{z|{|||||{{zz{zzy{z{|{{{|z|{{{{|{z{{{{{{|{|z{z{|{{|{{|{|||z{{{{z|z|{z|{||{{z{{{z|{|{{||||{|{{{|{{{{||{{|||{|{{{{{{|{{z|}|}|{|{{|{{{}|||{|||{}|{{{{||{|{|}{{{{{{z{{{|{||{}||{{|{|{{|{{|||||{{{z|z{z{|||||{||zzzz{{z{|{|{||{{{{zzz{z{{{{{|{{{{|{{y{{|{||{||{{{|zz{{z{z{|{||{zz{z{z{{z{|{{|{{{zz{{y{{{{zzz{||z{zz{{zz{{|{{{{{}z|yzz{z{{{z{|{{z{{z{zy{{z{{zz{{zz{yzzzzz{z{zz{{{{zzzzzz{{zz{z{|{z{zzz{zz{{z{z|z{z{{{zyy{|{{{{{|z{z|zz{zzz{z{{{{zyzyzxy{z{{y{|{{{zz{z{zz{{{{{{{|zzzz{{z|zzzz|{{{{zzzzzzzz{||{{{|y{{{z{zz{{{{||{|z{{|{zzy{{{{{|{z{{z{{{{z{{|{{{|{{{{{{z{z|{{{{|{{{zzyy{{z{{||||||z{{z{z{{|{{|{|{{{{{{{|zz{|}{|||{{{{{{{z{||||{|||{|{{{{|{{{}|||||{}z{{{{|{{|{{{|||{{{{{{{|{}{||}{{z|zzz{{{{{{||||{|{{}{{{{}||z|||{z{z{{{{{{{|{|{{{|{{z{{z{{{{|{|{{|{{{yz{|{{}{{||{z{z{{y{z||{z{{{{{yzzyzy{z|||{{|zzzzyzz{{z|{{{|{zzzz{z{zzz{|z{{{z{{{zzyzz{{|{z||{zzzzz{z{|zzz||{{zzyyzzzzz{z{z{{zz{{yzz{{{y{z{{{zy{yzz{z{{zz{{{zzzzyy{zz{z{{{|{|zz{{zzzz{{{{z{{{zz{zyyzzz{{z{{{|zz{zzzzzz{{{z{z{zzz{{{zzz{zz{{|z{zzzzzzz{{{|{{|{zz{z{y{zz{{{{{|{{{zzy{{{{z{{|{{|{y{{{z{zz||{z{{z{z{z{zzz{{{{{{|{{z{{zzz{|{{{z|{{{{|zzzz{{{{{|{|{{|{zz{{||||{||||{{{{{zzz{{{{{{{||z{z{{{{{|{{{{{|{z|yz{{{{{||{|||{{{z{|zz{||||{{|}z{|zz{{{{{|{{|||z{{{z{{{{{{||{|{{zz{{z{|{{|||{|{{zzz{{{|{{|||{{|{z{zz{z{|{{z{{|{{zzzz{z|{|{{|{|{zz{yz{z{{{{{z{{zz{zzzzz{{{{{{z{{yzz{{zz{z{z{z|{zz{{zzzz|{|{z{z|{{{yzy|y||{z{{{}{zzzz{zz{|{{{{{{{zzzzzyzyz|{{{{z{z{zz{z{z{z{{z{zzzyzzz{zzzz{{z{zzzzzy{yz|{|{{z{yzzz{zyzz{zy{{z{|zzzyyzzy{z{z{{{{{{{zzzzzzzzz|{z{zzzz{{zzzz{zz|||zyyy{zzyz{{z{{{{{z{zy{{z{{{{{|||z{zzzyz{{|{{{{{{{{{{zy{zz{{{{|||{z{z{zzz{{{{{{|{zz{{{|{{{{{z{{z|zz{{{{z|||{{{||{{{{z{zz{{|{{|||{{{{{zzzz|||{||{{{z{zz{z{{{{{|{}{{{{{{{{{{|{|{|{{{{{z{||z{}{{{{||{{{|{z{|||{||}{|{zzz{|z{{{{||||{{{{{{{z{{{zz{|||{{{zz{z{z{||{{|||{{{{{z{{|{|{{{{z{{zzzzzz{{{z{{{zz{{yz{z{{{{{z{|{{z{zzyzzz{z{{{{{{{z{{{z|{{{{{{{zz{zzzy{z{{{{z{||z{zzzzzz|||||z{yyzyzzzzz{{z{{{{zz{yz{yzz{{zz|{{zzz{zzzz|{z|z{z{{zzyzzyyy{{{z|{z{{zzzzyzzzzz{z{zzzzyxzzyyz{{{{{{zzzzzyzyzz{zz|{z{{yzzxzzzz{zz|{|zzzzzz{zz{z{{{{|{{z{zzy{z{{{{z{{zz{zzz{{z{zz{{{{zzzzy{zzz{{{|{{|{z{{{yzz{z{{z{|{zz{zzzzz{z{|{{|z{{{{yyzz{{{{z|{z{{zzz{y{{{||||{|z{{{{{{z{{{|{{||{{z{|{zyzz|{{{|{{{{zz{z{|{|{|{|{{{{{z{{{{{{{|{{{|{z{{{{{{{{|{{{|{{{zz{{{{||{||||{{z{{zz{{|{{|{{{{{z{{{{{{{{{|||||{z{{{zz{|{z|{{{{z{{zzzz{{|{zz|{{{{zzz{zz{zy|{{{z{|zzzyyzz{z{z||{{zyzzz{zz|{{|||{zzzzyyz{|{{z{{{|zzz{{{{{{z{{{{|{|{zy{zz{z|{{{{|{z{zzzzzz|yz{{{{zz{z{|{{{{z{{{z{zzzyzyzz{zz{{{{zzzzz{yyz{{{|z{z{zzy{yzzzzz{z{{{zzzz{y{zzz{zz{{{zzzzz{zzzz{{zzz{zz{zzzzzz{{{|{{{zyzzz{zzyzz{zzz{{{{zzzz{z{{z{{z{zz{{{zz|z{zz{{{{zz{{zy{zzzz{{{|{{z{{z{zzzz{{|{{{{zz|{{zzzz{{{{{{{z{{z|z{z|{{z{}{{{{z{{{zz{{{{||||z{z|{z{{{{z{{{|||z{{{{{{{z|{|{|{|z{{{{{{|||z|}|{zz|{|{{z{|{{|||||{z{{{{{z}{||{}{{{{{zz|z|{||{||{|z{z{zz{||{{|||||{z{{{{{||z{{|||{z{z|{{z{|{z{|}{{{z{z{zz{|{{{{||{{zzzz{{zz||{|z{{{z{{{{{z{|{{{{{zz{z{{zz{{{{{{{|z{{yz{zz{{{|{{{|zz{zz{zzzy{|z{{{z{{zz{zzz{||{|{{{{z{zzyzz|{{{|{z{z{{{zzz{{{zz{zzz{zzzzzz{{zz{{{{zzz{zyzzz{z{z{{{zyzzz{zz{z{z{|{zzz{zzyz{z{z|z{{{{{zz{zyyz{z{zz{zzzzzzyyz{{z|z{z{zzzzz{z{z{{{z{z{{zy{zz{zz|{{{z{{z{{{z{zz{{{{{{|{{{{y{zzy{{{{{{|{{{{zyz{z{{{}{{{|{zzzz{{|{{{{|{{{{{{z{zz{|{{}{{|{z{{{|{zz|z{|||||z{{zz{{z{|{{{{||{z|z{z{z||{{{|||z{{{{z|{|{||||||{{{{z|{{{{{|{|{|{zz{{z{z{||}|{|||{|{zzz|||{{{}|||zz{{{{||z{{{||||{{{{{z{{|{||{||{|z{zz{{z{|{|{{|{{z|z{zz{z{||z{{zz{z{{{{{{|{{z{{zzz{{zyzz|{{{z{{z{z{z{zz{{z{{|{{{z{zz{zz{{z{|{{z{{zzzzzzz{{|z{{|z{zzzz{z{{{{{z{{{y|zz{zyz{{{z|{{{z{zz{{yz{z|{{z{|{zyz{{z{z{|{|z{zz{{zzzz{|{{{{z{{yyzzz{{{{{{{{{z{{zzyzzz{{{zz{|{|zzyzzzz{{zzzz{{{z{z{y{zz{z{z{z|z{zzz|zzz{z{{zzzzzzyzzzz{{{{{{{{zz{zzzzzz{{{|{{}{{{{zz{z{{{{z{{zzz{{{z{zz{{|z|||{z{z{yzz{{{{{{{{|zz{{z{{{{{{||{{z{z{z{z{{{|{{{||zz|z{{{z||||{{{{{{{{zz{z{||||{|z|{{z{{{z{|{{|{|{{{|{{{z{{{|{{|{{{{{{{{{{z{|||{{|{{zzz{{|||{|{||{{zzzz{z{{{{{z}|{{|z{|{{{z{{|||||}{{z{zz{{{||z|{|{{zz{z{z|{{{|{{{{z{zz{{z{|{{{{{{{z{{{z{zz||z{{{{z{{{z{zyz{|{{{{|{zzz{{zz{{{{{|{{zz{{zz{z{{{|{{{|{z{{{zzz|z|{{{{|z{z{{{{{{z{{{{{z|z{{zyzz{{{{||{{zzzz{zz{{{{zz{{{zzzzzzzzz{|z{{|{zzzzz{z{z{{{|{{{z{{yzz{y{{{{{{|{{zzzzzzyz{zz{zz{{z{zy{zzyz{{{{{{zy{zzzzz{{{|{{{{{z{zzzz{zz{{{{{{zz{zzz|{|{{|{{{{{{{{{yz{|{{{|||{{z{zzy|z{{|{{|||{{{zzz{z{{z{{{|z{{z{{{y{|{{{{|{{}{{{{zz{|||{||{{{{{{{z{{{|{{||}}{|{{{{z{{||||||{|z{|{{{{|{||{{||{{z{{z{{{}||{||||{{{{z|{{|||{|||{{|{{z{z{||{|||}{z{{zz{{{{{{|{{{{{z|||{||{{}{}{|zz{z{{zz{||{{|||{|z{z{{z{}{{{|||{z{{zz{z|z|{|{z{{{{zy{zzz{|{|z|{{z{z{z{yz{|{{||{{{zzzzz{z{||{{{{{{zz{{{z{{{|{{|{{zzzyzzzz{{{z{{{{z{{zyzz{z{zz{{{{zzzzzzzzz{{z|{{zz{zzzz{y{{{y{{|zzzzyzzzz{{{y{{z|z{zzyyy{z{z|{{{zzzzyzzzzz{{z|{|zz{zyz{yz{{zzz{yzyzz{z{|z{zzzzz{zyzz{yzy{y||{z{{z{{zzyzyzz{{|z{{{zz{{y{{zzz{{{{z{zz{zzzzz{{{z|{{zzz{{z{zz{|z{{{{|{{y{zzy{{|{z{{{{{y{{z{z{{z{{{{{{z|{{{{z{|{{|{|{{{z{{{{z{|||{|||z{{|z{zz{|||{|||{{{|{z{z{||{{||{zz|{{{{z{{{||{|||zz{{|{{||{||||||{|z{z{||{|{||}|{{{|{{z{{{|{}{||{|{{{{z{|{|||{{|{{zz{zz{z{{{{||{|{{{{z{z{{{z{||{{{{zz{zz{z{z{{|{{z{z{z{{z{{{{{|{zzzzzzzzz{{{{{z{{z{{yzyzzz{z{{{zzz{{yyzz|{{{{{{{zzy{zzzy{z{|{z{|z{zz{zzzz{{{z{{{{zzzzzzz{z|{z||{zzzyy{z{zz{{{zz{yzzzzyyz{{{zzz{{zzzyz{yzz{{{zz{{zzzyzzyyzzz{z{|{{zzyzyzyzzzz{{z{zz{{zz{z{zz{zzzzy{zzzz{zz{{zz{{{{z{yzzzzz{{zz|{{{yz{zz{z{z{z{|{|z{z{yzzz|{|{{{{{zz{{{zzzz{{{{{zz{zz{z{{z{||{{|{{z{z{zz{{z{{{||{{|{z{{{{{{{{||{|zz{{{{{{z||{{{{||z{{{{{{{{|||z{}{{{{{{z{{{{{{|}|{z{{zz{{{{|{z|{}|{{z{z{{|z||||{|{||{{zz{z{|||||{{{{|{{{z{{{{{{|}|{|{{{{{|{{{{{{{{{|{z{z{z{|{||||{||{{zzzz|{||{{|{{z|zzyzz{{{{{{z{{z{zzz|z{{{z{{|yzz{zzzzz{{|{|{z|{{zyz{z{{zz{|z|zz{yzzy{zz{|{{z{{zz{zy{zy|z{{{{z{zzzzzzzz{{|{{{{yzzzzzzz{z{|zz{zz{zzyz{z{{yzz{{|zzzzyzzzz{{{{{z{z{zzzzz{zz{{z{zz{z{z{yyzzz|{z{||{zy{zyzyyzzzzzz{{zzzzzzzzzzyzz{z{zzzzzzzz{z{z|{{{{{zy{zzzz{z{z{{|zzzz{yzz{{z|{{{|z{z{{zz{z{zz{{|zzz{{zzzzz{z{{||{{zz{{zzz{{{{{{zzzzy{{zzzz{{z{{y{z{z{{zy{{|{{|{||z{{{{{{{{{z{{{{|{{{z{zzz{|{|{z{{{{z{{{{{{||{{{||{{{{{{|{{|{{||||{z{zz{{{z|||||{}{{{{zz{{{|{{{{|z{{z{{{{{{|||{|||{{{|{zzz{{{{{|||zz{zz{{{{|{|{{{{{z{{zzzz{{{|{{|{{{{{zzz{{||{{{{z{{{zzzzzz{{{{z{|{{{|{{z{|{{{z{|{{{yz{{zz{{z{{zz{{|{{{{zz{{{|{{{{{zzzzzzy{{{{|{{|zzzz{z{z{{{{z{{zzy{zzzzzzz{{z{zz{zz{yzz{{{{{{{zzz{{yzzz{{{{{{{zzzz{xyzzz{{{{{{|{zzzzzzyy|{{{{z{z{yzzyy{z{z{{z|z{{zz{zz{y{{z{z{{|y{zzyzzzz{{z{z{{{zzz{yzz{z{{{{{|zz{zzyy{z{{{z{{|{{z{{zyz|z{{z{|{{z{{zz{z{{{||||{{zz{z{zzz{{|{{{z|zzzyzz{{|{{{|{{{zz{{{z{{||{|||{{{zz{{{z||{{{||}|{{z{{{zz||{|{|z{z|z|{{{{{|{|{|{{{zz{{{{{|{|{{||{z{{{{{{{||{|||{{{||z{|{{||||{{|{{z|{{z|{{|||||{}|zz{{zz||||||||{z{{{zz{z{{|||||{{{{y{{z||{z|{|||z{{{{z{||}{{|{|{zzyzz{z|{{zz{z{{zz{z{z{{{{{{{{{{zz{z{{zz{z{{{{|zzz{zzz{z{{{|{{{{{{zyzzz{z{{{|{{{zzzz{{zzyz{|{{{zzyzz{yz{{zzz{{z{{zzzzzz{{zzz{{{z{{{zzz{{z{zz{zz{zy{z{zzy{{{{|{{{{zyyzyzz{{{z{{zzzyy{y{zzzz{z{zzzyzzzzzzz|zzz{|{zzz{{{zz{z{{{z{zzzzz{z{zzz{z{{{|{z{zzz{y|{{z|{{{{{{zzz{z{z{zz{{{{z{{zy{z{||{{{{|{{zy{{zz{{{{z{}{zz{{{{zz{{{{{{{{zz{{{z{|||{{{{z{{z{z{{{{|{{{|{|||{{zzzzz{{|{{||||z{z{{z{{|||{{||zz{z{{|z{z{|||}||{z{z{{{z|{|{||{zz{{{{zz|{{{{{|||z|{{{{{{{{{{|||{{z{{{z{||{|{||{{|{z{{{{{{{||}{{||{{z|{z{{{z{{{z{z{{zyzz{|z|{|{{{zzzzyzz{|{zz{z}{zzzzy{zz{|z|{|{{yzyz{zz{{{y{{{{{{{zzz{zzz{{{{{{z{{zyzzy{z{|z{{|{zzzz{zzz{{zz{{{zz{z{zzzz{{zzzzz{zzzzzzzzyzzz{{|zzzyzzzzzz{|zz{{{zzzz{zz{z{z|{{{{zzzyzzzzz|zy||{{zzy{zzz{{{zzz{z|{zzz{zz{{zz|{|{zz{{{z{{{{{zzz|{zzz{zyzz{{zz{{|{zzz{zyzz{z{{{|{z{zzzzz{zz{{z{{|{{{zzzz{zz{||z{{{{{z{zzy{{{{{z{||{z{{{z{zz|{{{{{z|{z{{{{{{|}|||{|{{zz{z{{{|{{||{{{{{{zzz{{|{|{|}{|{z{|{{z|||||{{|{{{|{z|{{{{||||||{zzz{{{{|{}||{{{{|{z{{{{|{|{{{{|zzz|{z{{{|{|{{|{z{{{z{{|{{{|{{|{{{zzz{z||z{{|{|{|z{zz{z{|{{{{||{y{{zzzz{{{z{{{{{z{{zzzz{{{{z{|{z{{{{xzz{{{{{|zzzzz{{{zz|{yz{||{zzzzzzz|z{{{zz{{{{{zyz{z{{{{z{{|{{{yzzyz{{{z{{{|zz{{zzzzz{{zz|{{{{{zz|z{z{{{{{{{yzz{zzzz{yz{{{z{zzzzz|yyz{z{|{|{y{yyzzzzz|z{zz{{|zzz{zzzz|z{{{{{yzzzzzz{z{{{{{{{zz{zzzyz{{{z{{{{zz{y{zzz{{{z{{|{z{z{z{{z{z{{{{{|zzzz{zyz||{|{{{{{{zz{zzz{{{{{{{{{z{yzz{y{{{yz||{zz{z{z{z{{{{z{zz{zz{{y{{z{}{{{||z{{{{{{{||{||{||{{z{z{{z{{|{{|||{zzzz{{{{{{{{{{|z{{{{{{{z|{{{}}||{{|{|z{{||{{||||{|{{{{{{||||{}||{{{{{{|{{|||{}|{{{{{{z|{{{|{|{{z{{zz{{z{{{{{{|{{{z{{{{{{{|{{{{|{zzz{z{z|{{{||z|{{{{{{{{{{{z{{|{zzzzyz{z{{{{{|||{zz{{{zz{{z{{{|{{zzzzzzz{{{{z{{{{{{zzz{zz{{{z{{zzzzzzzyz{{{z{{{{{zz{{zz{{{{z{zz{zzzzzzzz{{{|y|{{zzzz{zz{z{zz{z{zzzzyzzyz{z{z{zz{{zyzzzyy{{z|{{{{zzzz{yyz{{{zz{z|zzzyzzzyz{z{z{{{{y{{{{zz{{{{{{{zzzzzzz{{{|{z|zz{{{{zyz{{{z{zzz{}{z{{zz{{z{{z{{|{{z{{zz{zz{{{{{{{{zzyzzzz{{||z||{zzz{z{{z{{{z||{{{{zzzzzz|{{|{|||{{{{z{z{{{{|{|||{{{{{yz{{||||||{{z{z{z{{{||{{{|{{|{{{{{{{{{||}}{{z{{{{{{{|{|||{||z{{{{z||{z|z|{{{z{{{z{|{|{|{||||{z{{{|{{{z{|{{|{|{{|{{{{|{|{{|||{{{{{{{{{z|{|{{{|{z{z{{{|||{}{z{zzzz{z{z{{z{{{{zz{zz{{{{|z||{|{{{y{{{zy{{{z{||{zz{zzz{z{z|z{{{|zz{{zzzyz{{{||z{{zz{{z{{zz{z{|{zzz{zzyzz}{|{z{|z{zzzzzzy{z{{{{z{zzzz{zzzz{{zz{{{zzy{zzz{{z{{|{y{{{zzzzzzz{{{zz|{|z{zyyyzzyzz{zz{{{zz{y{z{z{{{{{{zyzy{zzy{{z{z{{{{zzzzz|z{{{z{{{|zz{zzz{zzz{{{{|{zzz{zzz{|{{{{{||{{{{{zyz{|{|{{z{{{{zzzzy{{|{{||{zz{{{zzz{{z|z||z{z{z|{{{{{}{{{{}zz{{|z{{{|z||||{{{{zzz{z||{{|||z|y{{{{{z|||{|||{{{}z{{|||{{|||{{{{z{z{{{z||{||||{{{{{{|{|||{{{|{|zz{{{z{{||{|||||{z|{{{{z|z|||{{{{{zz{z{{{{{{{|||z{zz{zz{{z{{{|{|{{{{z{z|{{{{{{{zz{zyy{{{z{{{{{{{zzzzyz{zz{{{{{{{zz{zyzz{{{|{{{{{z{z{zzyz{|{{{{|{z{z{yzy{{{}{{{{zzzzzzzz{{|{z{{{{{{y{zzz{z|{{{{zzz{z{yzz{zz{zz{{yzzyzyzz{{{zz{{{{z{z{zyz{zzz{{{{zzzzxzz{{{yz{z{{zzzzzzzzz{{zz{{{{{{zyz{zz{zzz{{zyzzzzz{zz{y{z{|z{zzz{{zzz{{|{{|{zzzzzz{z{{z{z{z{zy{zyzzzz{{{{{{{{{z{{yzz{z{{{|{{{zz{zzz{{{{z|{{{|z{{{{{{{{|z{z{z{{z{{{z{|{{}{{{|z{{{{{|z{|{{{{||{{zz|{z{{||{||{{{z{{{{z{{{|{{|{|{{{{z|{{{|{|{||||{{{z|{{{}|{{||||{z|{{{|{|z{|{}{|z{{{{{{z||{{||{|zz{{{z{{{{{{||{z{zy|{{z{z{{{|{|{{z{yz{zz|{{{{{{{{|{yz{{{||{||{{zz{z{zz{zz|zz|{|zzzzzz{z{{|z{|{|{|zzzy{y{z{{{z{{{zzz{z{z{{{{z{|{{{zyzzzzz|{{{|{}{z{zz{zz{{{z{|||zz{{yzzz{{{zz{z{z{{y{zzz{yz{{{{{zzy{z{z{yz{z{{|{{{{zyyzz{z{{z{{{{z{zz{z{z{{{|{{{{zzyzz{zz{{z{z{|{zzzy{zy{{{z{zz|{z{y{|y{z{{{{{|{{zzz{zzz{z|{{{|{z{zzzzz{{z{{|{y{zz{zzzzz{{||{||{{|zz|z{z{{{{|{z{{z{{{{zz{{{z{{{{|{zz{z{{{{{{{|||zz{|zz{{{||z|||{{{z{z|{{||{{z{|{|{{{{{{{{||{|{|{{z{{{z{z{{{||{|}|z{zz{{{{|{{|||||z{{{{{{{|}|{||{{{|z{{{|{{|||{|{}{{{z{|{|{{|{||{{{z{|{{{||z{{|{|{|{zz{zz{{z|{||||zz{z{{z{{||{||{{{|z{{{{{z|||{{{{zyz{y{{z{{|{{{{zz{{zzzz{{{zz{{{z{{{zz{yz{{{{|{{{{{zzzzz{{{zz{{{{zz{zz{z{z{{{{|{z{zy{zzy|{{{{{{{zzz{{zzzyz{{z{{zzz{zzzzy{yzz{|{{zz{{zy{z{{zzzzz{zz{zzzz{zz{{{{{{{y{zyzyyyzzz|{{|{zzzyzzzzz{zz{{{{zzyzzzzzzzy{{{{{zzzzzzy{{z{{{||zzz{zzzz|z{z{{z{zzz{zz{zz{{{{|{{z{zz{yz{z{{{{{{{z{{{{z{zz{{||z||{zzzz{{{|{{zz|{{{{{{zz{yz|{zz{{{zzzzz{zz{{||{|{{{{{{z{{{{|{||{||zz|{{{|z{{{{{{||{{{{{zz{{|{{{||}|{{z{{{{||{{||||{{{{z{z{z}|}{{||{zz{{{|{|{{{{||||{{{z{{{|{{{|{{{|{{{|{zz{||{|{||{{z{z{z{{{{}{{}{{{z{z{{{{{z||{{{z|{zzz|z||{{z{z{{zzzy{{z{{|z{{|{{{{{{{yz{{{|z{{|z{z{zz{zz|zz{|{{zzzz{{zz{{|{{{{{|z{z{zzz{z{{z{z|z{zy{z{z{{|{z{{z{{{z{zyz{{zzz|{{y{zzzzzzz{{zzz{{y{{zzyzzzz{y{{z{{zz{zzy{zz{z|{{{{z{zzzyz{{z{{z||{zzzzzyy{{{{z{zz{z{{y{{zz|z|z{z{zzzzzzyzz{|z{{{{{{z{zzzy{|z{{{z{{z{zzzzzz{{{||{}{{z{{{{zz{{{|{{z{{{z{y{z{{{{{|{{zy{zzzzz{{{{{{|{{{{{{zyz{{{{{||{zzz{{{{{|||{{|||{z{{{{|z||{|{{|{{{z{{z{z||{||{|{|zz{|{{z|}{{|||{{{z{{|y||{||||{{|{z{{{{{{{||{{|{{{{z{z{{||z|||||{{{{z{{{||{{||{||{{z|{{{{||{|{{|{{zzzzz{{{z{|{{|{{zz{zz|{|{||{|||{|z{z{{||||{{{{{z{{zz{z{{{z{{{{zzzz{yz{z{{{{|z{zyzzz{zzz{{{{z{|{z{{z{z{z{|{{zz|zzz{zzzzz{{{{zz{{yzzzzzyz{{{{|{{{z{zzzzz{{{|{{{z{zyzz{z{{z{{{zz|zzzzyzzy{{{z{{|z{z{yyyzzyz{z{z{zzz{zyzyzz{{z{{z{z{zzzy{z{zzz{{z{zzz{zzzzz{zzz{{{{zzz{zyy{{{{z||{{zzz{zz{{{{{z{{|zzzzzz{z{|zz{{{|zz{y{zyz|{{{|{{{{zz{zyz{z|{{||z|{z{z{{zz{{|{{||{{{z{z{z{{{{{{||{{{z{zz{z{||{|||{{{zzzz|z{{{|||||{{{{{zz{{||{{|{z|y{{|zzz||{{{|||{{|z{|{{|{{{|||}|{{z{{|{{}{{|||||z|{z{{{|||{{|{|{|z{{zz{||{||||||{{{{{{|z{{{{{{z{{zz{{zz{{{{{|{|{|{zzzzz{|{{{{}{{z{{z{{z|z|{{z{{{z{zz{zyz{{{{{{{z{zzzzzzz{{{{|||{zzzz{zzz{{z|{{{z{z{{zz{{{{{{z|z{{{{zz{z{{{yz{z{{z{zzz{zzz{{{{z{{zz{zzzz{{{zzzz{zzzzzzz{z{{{zzz{z{zzzzyzz{z{{{|zzz{zyzyzyy{z{{{zzzzzzzzz{{{{z{{zzzyyzzzy{{zy{{{y{zzzzzzyz{yz{{z{zzzzy{zz{{{{{||z{yyz{zz{y{{{z{{|zz{yzzz{z{{{z|{{{zzzyz{zz{{{{{{{z{y{{zzz|||z{{z|{z{zz{zy{{{|z|{{{zz{{zzz{{{{||{{{{z{z{|{{{{{{||{z{z{zz{z|z|z|{||z{|{zzz{{{{z}||{{z{{{{{z||||{|{}{|}z{{{|||{||||||{{{{|{{{|{||{{|{{zz{{{{{{{|{z{|{{{|{{zz{{{{{|||{{z{{yz{{{{{|{|}{{{{zzzz{{{{{|{{{{{z{{z{{{{{{{||{{|z{z{z{|{}|{{{{zzxyy{z{{|z{||z{{z{zyzz{{zz{{z|{zzzz{zz{z{{{{|{zzyzzzzzz|{z{{||{{zz{zzy{{{z|{||zyzyzz{z{|{{z{{z{{{yyzyzz{{z|{{{zzzzzyz{{z{{{|{{zyzzyzzz{{{z{z{{{zzyyzzzzz{zz{zz{zzzyzzyzzz{{{z{zzzzzyzzyzzzzzz{zzyzyzzz{{{z{{|zyz{y|{yzzzz{{|{{zzyz{zz{z{{{zz{{{z{{{yzyz{{{{{{{z{{zz{zzz{{{z{{|{zzyzzzzz||{z|z{{zz|{yzz{{{{z{|z{{z{{{{z{|{z{|{{{zzzz{y{{z{{{||{zzz{{||z|{{zz|{}{zz{z{zz{{{{{||{{{{{{zz{||{||{}{{{{{{{{z{{{{|{|{|zz{z{|{{|{{{{{{|z{{z{{z|||{|||||{z{{z{|{zzz{{||z{zzzzzz{{{|}{z{{z{y|zz|{{z|{{}{{||{zzzz||{{{{{{{z{z{z{{{|{||{{zz{zzyzzzzzz{{{|{|z{zz{zz{{{{{{z{{zzzzz{z{z{{|{{{{zyz{zzz{{|{z{{{zyzzzz{y{z{{z{z|zzyy{{{zz{zz{z{zz{{zzzz{{{z{z{{zzzyyzzyzz{z{{zz{zyzz{zzyzzzzz{{zzzzzz{yzz{{z{z{z{zzzzyyzzz|{z{|{zzzzyy{yzy{zz{zz{zyyyyzzzzy{{{zzzz{zyzzzzzz{{zzz{zz{zz|yzz{{z|{|{yzyzzzzz{{{z|z{zzz{yzzz{|{z{{{{{{zzzz{{y|{{{|{{{z{{{{zyz|{z|{|{{z{zzz{z{{{zz||{{{z{{zz{{{{{{{|{z{zz{z|z{zz|||||{{|{{zzz||{{{{{|{{{z{{z{{}||{{|{{z{{z||z||z{|||{{z{zz{zzz|{|||||z{|{{{{{{{{{||}|{z{{{{z{{|{{{|||{|{{{|zz{{z{{|{|{{{yz{{z|{{z{{{|{zz{zzzz{|||{{{{{z{{{y{{{{{}}z{{zzzzzzzz{|{{z{{{yzzzyzzz{z{{{{|{{zzzz{{zz{{z{{|{{{{zzzyyz{{z{z||||zzzz{y{{{zz{{{{z{zy{zzz{zz{{{{{z{yz{z{z{{zz{zy{{{zzzy{z{z{zz{{yz{zzyzzyzz{{{{zzzzyyzxyz{{{{{|z{yzzzzzz{{{zzz{z{zy{zz{zyzz{y{zzzzzz{zyzz{{{z{{zzyz{zzzzz{zz{{{z{zzz{zzz{z{{{{|{z{zz{zzy|z{{z{{{z{zzzz{z{||{z|{|{{{yzz{z{{z{z{{{z{{z{zzz{{{{{{{{yzzzz{{z{{zzz{{{{zzzz|z{|{|{|{{{zy{zz{{{{|{{||{}{z|{{z{z||{|||{{|{{{z{{{|{{||{}{{|{{z{{zz}z{{{{{{{z{z{{{||{|{{||{{{z{{{{{{}|{|{{zzz{z{{zz|{{{||||{{{{z{z{|{{{{{|{|{zzzzz|{{{{||z{{yzyzzzz|{{{{|{{|||{z|{|{|}}{{|{{zyz{zz{{{z{z{{zzz{zyz{{{{{{|{{{zz{{z{z{z|z|z{|{{{zzzzz{z{{{{{{{{z{zzzy{|zz{{z{zz{zyzzzz{|{{{|zzz{zzyzyz{|zz|{{z{zyz{zzz{zz{{{{{zzzzzzz{z{{{z{{zyz{yzxyzyzz{z{{z{zxzzzz{{zyz{|{zzyzzzzzz{{{z{{{{zzzzzzz{{zzz{{{{z{zzzzy{{z{{z{{{y{zzzyz{{{z{{{{zz{{zy{{{{{z{|||{y{{zzzz{{{{z{{{{z{z{z|zz{{|{{{{{z{zzz{z{|{{z{|||z{z{|z{{{{{{|z{{|{{{{y{{{|||||{z{zz|z{{||{{||{||zz{{{{z{|}{z{||{z|{{{z{|||{{}|{{z{{{|z{{{||||||||z{{{{{{||}{||||{{|{z{{}||{|{{|{z{{{{{{{{|{|{{|{{z{|z{{||{|{z{|zzzzz{z{z|{{{{|||{{{z{{zz{{|y|{|{z{{{{||{||{|||{{zzzzzz{{{{z{{|z{zz{zzyy{|z{{|{{{{zzzz{z{|{|{zz{{z{z{zzz{{{{{z{{{zz{zz{z|{{{z{{{z{{{z{zzz{{z{{|zz{zz{zzz|{|{|{{zzzzzz{yzzz{{{{zzzzzzzzzy|{{{zz{z|{z{yzy{z{{{{{z{zzzzyzzyzzzz{z|z{zzy|zzzz{{{{{z|{zz{zyz{z{zzz{z{zz{{z{zzzzzzz|{{{zz{{zz{{z|{{z{{{zz{zz{y{{{zy{{|z{{yzzzy{{|{{|{|{{z{zzzy{{{z|{|{zzzz{zzz{{{|{||{{{z{z{{{{|{z{{{{z{{z{z{{{{{||}|{{{zz{{{{{|{|{|{}{zz{{{{z{}||{{{{{z|{zz{z|}|{||{}z{{{{{|{{{{|z}|{|||zz{{||}||{}||{{zz{{{{{{{|{{}|{{{{{{{{{{{{{||}|{{{z{z{{|||||{|{{zzz{z{{{|{{{{{{|z{yz{{|{{{{{{{z{{{zz|{{{||}{{{{zz{zzzz{z{{{|{{{z{{y{{z{z{{z{||zyyyzz{yz{{{z{{zz{zzzzzz{{{{zzz{{yzyzzzz{{{z{{{zzzz{z{{z{z{{z{z{zzzzzzzz{{{zzz{{zzzzzzzz{{{zz|z|z{zyzzzz{{{{{{z{zzyyzy{zz{z{{{z{{zzzz{zy{zzzz{z{{{z{zyzy{{z{z{z{zzzyyzyz{zzzzz|{zxzzz{zy||{z{{{{z{zz{z{zz{{{zz|{{zzzzzz{{zz{z{{|zzzzy{z{{||z{|z{{|zyz{{z{|{z{||{z{{zzz{y|{{{|z|{{z{{{{z{{|{{{{{||{zy{{{{z{{{{|{|{{{{{{{{{|z{{|||{zz{{{{z||||{{|{{z{{{{{z{{||{||{|{zz{z{{{{||{{|||{{zzzzz{|{|||{{|z{{{z{z|||||{|{{z{zz{{{{{{{{{||{zz{{z{{z|{||{|||y{zzz{{{zzyz|{|{{{zz{{z{{|}{{{|z|{zzzzy{{|}}{yzz{{zzzzyzz{{{{{z{zzzzzzz{z{z{|{{{{zzz{{{zzz{{{{|zz{{zyz{{zz{{{|{yz{zzyzyz{{{{z{{z{zzzzzzz{zzy|z{{zzyzzz{{z{{z{{{{{z{z{yz{z{{{{z{zyzzz{zzz{zz|{zz{zzzz{zzz{{{{{{zzzzzzzzy{{|{{{{{zzzyzzzyzy{{z{{zz{{zzzzyyz{{{|z{{zzzzzyzzz{z{||{{{zzzy{z|{{z{|{{zz|zzz{{|{{{{{||{yzyzzzz{{{{{||{zz{{zzzzz{|{|{{|z{|z{z{{{{|{{{}{{{zz{{{z{{{{|{|{{{z{{{{{{{{|{{{|z{{{{{{z}{{{{|||{z{z{zzz{||{|{{{|{{z{{{{{|{||||||z{{{{z|{{{|{{|{{{{{{z{{{||||{|{|{|{z{z{{|{|{||{|{{zzz{{{{{{|{||}{{{{{zz{{{||||{z|zyzz{z{{{{|{}{{zz{z{{{{{{{|{{{z{|zz{{{|||}}{{{zz{z{{zz{{{{{{{|zyz{yzz{{{{{{{z{z{zyzz{z{{z|z|{{{y{z{zz{{{{{z|{{{zzzzy{z{{{z{|{}yzz{zz{y{|{z{{{z{zz{{zyzz|{{z{z{zz{yzzzzzzzz{{z{zzyzyzz{{{{zzz|z{zzzz{zzz{{{z{{{{zyzyzzy|{{{{{{z{zz{zyzz{z{zzzz{{z{z{y{zz{z{z{{{{zzz{zzy{zy{{|{{|zzzzz{{{{|z{{{{zzzzzz{z|{{{z{{{{{{yzzzz{{{{{{{{zzz{z{z{{{{{{|{{{z{{z{{{{z{{{{|z|zz{z{zz{{{z{{{{{z{{{{{{{|{{||{{z{{|z{|{{|{{{{{|{z{{{zz{{|{{|{|{{z|z{z{{|||{{|}{|{|{{{{{{|{|{}|}||z{{{z{{|||{{||||{|}{{{{{z|{{{{|{{{z{z{{|{{|||{{z{{{{{{{|||||||{{{{zzz{z{{||{{{{{z{zz{z{|{{{{{{z|{{{|z{{|}}~|z{zz{z{zzzz{{{{{{|z{{z{zzy{{z{z{{{zzyyyzzz{{z{{{{{{z{zzzzyy{z|zz{z{z{zz{zyyz{zz{y{{z{zzz{z{zz{z{{{|zzz{y{z{z{zz{zz{z{zzzy{{zzz{{{{zzzzyzzzzzzyzz|zzz{zyzyzz{|{{{z{yzzzzzyy{zzz{{z{zzzzzzzyyzz{z{|{{yzzzz{z{|{zz{{{zzzz{zzy{z{zzz|{{zzz{{zzz{zz{z|{z{{zzy{{{{{{{{{{zzzzzzzz{{z{z|{|{z{{{zzz{{{{z{|{{z{zz{zz{{{{z{{{{z|zyzzz{{{z{{{{{zy{zzz{{{{{{{{{{{|zz{z{{|z{z{{|{z{{{z{yz{|||||||{zzzz{{{||z{|{{{{{{{{{{{{{{{||||{|{z|{{{|z{{{|||{{|{z{{|{{|{||z|{{{{{z{{z{||{{}{{z{{zz{{{|||||{{y{yz{yz{{{{{{{{zz{{zz{z{|{|{|{||{{zzz{z||}|}{{{zzyz{yzz|{{|zz{zzzz{{yzyz{{z{{||z{yzy{zzz{{z{|{}zzz{{zz{{{{{z{|{{z{zz{zz{zzz{{z{zzzyzzzzz{{z{|{{zzzz{yzy{z|z{||{{zz{zzzzz{z{{z|zzzyyxyzz{z{{zz}zzzzzzzz{zz{z{z{|z{{yzzzzzz{zy{z{zyzzzzzy{zzzzzzzzzzzzzyzzz{{z{{{{{{zzzyzy{{z{z{{{y{zzz{z||z{|{{{{zzzzzz{{{z{z{|{z{{{zz{{{|{{{|{{zz{{zzzzz{{{{{{zzzz{z{{{{z{{{{|{{{{z{zz{{{{{{{{{{zz{zzzz{{|{{{{{z{{z|{{{{|{}{|||{z{zz{{zz{{z|||{{zzz{z{z{|{{|{||{z{{z||{{|{|{{|||{|{zz{z{|{||{}|{{{{yz{z|||{{||||{{{{{{{{|||{|}{{|zz{{{{{{|{z|||{zzzzzzz{|{|{{{|{{zzz}{z{{{{|{|{{{{{||{{|||}||z{zyz{yzyz{{{|{{{{zzzzzzzzyz{{z{|{|zyzyzzz{zz{|{{|{z{zzz{zz{{|z{z|zzz{yzzz{z{zy{z{zzzzzzzz{|{{{{{{{{zzyzzzz|zzz{{{zzzyzzzzz{zzzzz{zyzz{yyy{{{zz{z{{zzzyyzzzz{{{{{{z{zyzyyyz{{{{{{{{zzzyzzyyzzzz{{zzzzzz{zzz{z{z{zzyzz{{zzz{z{z{zzz{{z{{yz{{{{zy{{{z{zzzzz{zzzz{{{{{y{{z{{zz{{{{{{{z{{z{y{zz|{{||{{{{zz{{zy{{|{z{{z|z{{zzzz{z{{z{z{{{z{zzy|z{{||{|{zz{z{{{{|{{{||||zy{z{zz{z|{|{{||z{zz{z{{{{zz{{||{{zz{z{z{{{{||||{{|{{{{{{{{}}|}|z{z{z{|z||{{{|{|{{{{{{{{{{{{}z||{{{{|{z{|{{{{|{{z|zz{{{z{{{{{{||{z{zz{zzz||{z||{z{|z{z{{{|}{|{{{zzzz{zyzz|{{zz|{zzzy{zzzz{{{z{|{{z{{zzzzz{{z{{||{z{{{yzzzz{{zzz{{z{{zz{y{z{{zz|{zzzzz{zz{{|zz{|{zy{zzz{z{{z{z{{{{zz{y{zzzzz{z{|{z{z{zzzzzz{zz{{z{zzyyzzzz{z{{{{z{zzzy{zzz{zz{|{|zzzzyzzzzzyzz{{{{{zzzzzyyzz{{{{zzy{{zzzy{z{{z{{{{zzz{zzz{z|z|{|{zzzzzzzz{{z{{|z{zz{{z{{{{{{z{{{{z{y{zz{z{||{{{|{{z{{z{{z{|{{{{{{{zzz{{z{||{{{{{{{{{z|{{{{||{{{{|z{{z{{{z{|{|z|||{z{{{zz{{{||}|{|{{{z|y{|||||{|||{{z{{z|{{{|{|{||{|z|{{{z{}|}|{||{{z{{{{||z{{{||{{{{{{{zz{{||{|{|{{z{{z{z{{|z|{||{z|z{{yz|{{{{{{{{zz{zz{zz{|{{{{|{z{{z{z||{{|{zz{{y{{zzzz{{{{{{||{zz{yz{{{{{{{{{|z{zzzzz{|{{z|{||{{{zz{{{{{|{z{{z{{{zzz{zz{{{{{|}z{zz{{zz{{|z{z||{zzz{zz{z|{{{zz{z{zzzzyzz{zzzz{{zzzzzyzz{{z{y{{{{zzzyzz{zz|{|{{|z|zzzzz{z{{z|{{{zzzz{yzyz{zzz{zz{zzyz{zzz{{{{{{{yzzzzz{z{zz|{|{{{{z{{{z{z||{|{{|z{zzzz{z{{{{z|z{{zzzzz{{|{|{|{{}z{z{zyzz{{|z|{|{|z{zzzzz{{z{z{}{{{z{{y{{{{{{{|{||{z{{|{z{{{|{||||z{zz{zz{|{{|{|||z|{zz{y||{{||{|{z{{{zz||{||||||{{||z{{|{{{{{|{||zz{{|{{{|{|||{||zzz{{{|||||{|||{z|{{z{{|{|||||||{{{{{{||z|{{{||{{zz{{{{{{{|{z{{{{{{|{{zz|||{{{{zz{{{{{z|{}|}{z{zzzzzzzz{{{yz{{{{z{{yzzy{{{{{{{|{{z{{z{zz{z{z||{{z{y{{yyz{{{{{{{z{zzyzzz{{{zz{|}zy{{zzzz{{z{{{{zzz{zyzzz{z|z{|{{zzzyzzzy{zz{z{y{z{y{zzzzz{{z{zz{{zz{{zzz{|{z{z{{{zzzzzyzzz{{{{zz{{yzy{zyzzzzz{z{{z{yyzzzzz{z{|z|{zz{{{z{z{zzz{z|{zz{zz{{{{{z{{|{{yzz{yz{{{{{{{{|z{{|zzzz{{|||{{{zz{zzzzz||{{{{{{{{{z{yzy{{{{{||{{z{{z{{{{z{|{|{{z{zzz|zz{{{|||{{z{{{z{{{{{{|{||{zz{zzz{z||}{{{{{{z{{{z{{||||z|}}{{{zz{{z{{|{}|{||{|{{|z{|||||||{zz|{{{{z||{|{||||{zz{|{z{{{{|{||{{{{{{z{||{|{||{{{{zz{{{{|z{{{{{{{zz{z{{z|||{z{{{{|z{zzz|||||{{{{{zzzzzz{zz{{{{{{zy{{zzz{{{z{{{{z|zz{zzyz{{{{{{{{z{{{z{zz{{zzz|{{zzzzzzzzz|{z{|{zzzzzz{zz{{{z{{{{{zz{yz{{{{{z{z{{{zzzzzzz{{z{z{{y{zyzzzzzz{{zz{{zzy{yzzy{{{{{{{{zzzzyz{zzz{|z}{{{zzzzyzz{z{{{{zzyzyyzy{z{zzzz{{{yzy{{z{zzz{{{zz{z{{{zzzz{{{{{{z|zzyzyzzzz{{{{|{{{{{zzzz{{{{{{{||{{{{{z{z{{{||}{{z{z{zzzy{|{{{{||{{{{zz{{{z|{{{{{{zz{{z{z{{{|{{{{z{z{zz{z{|{|||||{{yz{z{z{|{|{|{{{z|{{{{z{|{{|||{{|{{{{{{{{{||{{{{{{z{|{{{||{{{|||zzz{{z{|}{|{{||{zzz|{z{{{{{{{{|{zz|z{z{z||{{||{zz{{y{zz{z{{||{|{{zzzz|zz|{{z|{{{{{{{zzz|{|||{z{zzzzyzzz{z{z{{{z{zzy{y{z{z|z{|{|{{{zzzzz{z{{{{{{zzzzzzyz{{{zzz|{z{zzzz{z{z|{{z{zzy{zzzzyy|z{zz{{yzzyzyzzzz{zz{{yzzzzyzzzzzzzz{{|zzzzzzzz{{{{{{{{{zy{yzzz{zzz{|{{zz{zzzyy{{z{|z{{{yzzzyzzzzzy{z{{zyzzzzyzz{{zz|z{zzzyz{yzzz{{zz|{{{z{zyz{{z{{{{{|{z{yzz{zz{{{{{{||zz{{zzzz{|z{{||{z{{{zz{y{z{{{z{{z{{z{z{|{||z|{z{z{{zzzz{{{{{z{{{z{{zzz{|{{{{{||yzz{{{|{{{{|{{||{{zz{zz{|||{{{{||z{{|{zz{||{{|}|z|{zz{{|||{{{{||{y{{|z{z|}{{{{{|{{{|{z{z|{{{{|{z|zz{{{{{{{{|||||{{{|{{{{||z{|{{{{{{z{{zz{zz{z||{{z{{zz{z|{{{z{{|{{zz{z{{{|~{zz{{{{zzyzy{z{{z{{|{zzyzyyzz{{z{{{z{z{zz{y{{{{yz{{|{{{zzzzzzz{|{z{{z{zzzzzzzzzz{z{{{{zzz{zzzz{zz{{{{zz{zzxyzzz{{z{zz{zzzzzz{zzz{zz{zzyzzy{zy{{zzz||{zzzzyzzz{z{{{{|zzzzzyyyzzzz{zzzzzzzzzzzyz{z{{z{zzzzy{zzyz{yzz{{z{zzyyzzzzzzy{z|{{z{{zz{zz{{|{{{z{zzy{z{z|{{{z{{|zzzyzzzzz{{z{{z{{z{{zz{zz|{{{|{{{zzyyy{z{z{z{|{{z{zzzz{z{{{z{|{|z{z{zz{{{{{|{{{|{{{{{{{z|{{||{{{zz{|y{|z|{||{{{{{|z{{{z{{|{{{||{y{z{z{{|{||{|{|||z{{z{zz|||{{{|{|{{{{{{{{|{{{{|{||{zzz{|{{{{||||{{z|{zz{{{{|{{{|{{zz{{|{{{{{{{{|{{zzz{z{|{{{z{||{z{zz{z{z{{|{|{|{{zzzz{z{{|{z{|{{zzz{z{{|{|z{z|{zz{zz{{z{z{{||||{{{{{{zz{|||{{{|{{{zz{zz{||||{{|{{z{|{z{{{{{{||{{z{{{zzz|{{zzz|{{{{|z{{z{zz{{|{{zzzz{zzzz{{|{|zz{zyzyzyz{z{{z|{{{z|zz{z{z{{{z{|{zzzzz{{zz{zzz{{{zz{zz{zzz{zz{{{{{y{zz{zz{{|{{{{{{zz{zzzz{{{|{{|{|{z{zz{z{z{{{||{z{{zz{{{{{|{{{||{{{{{z{{z{{{|{|{|{|{zzzz{|{|z||||{z{zz{{{}{{{|{{{z{|{{z{|{{{|{||z|{{{{|{||{{{|}|||{|{zz{}{{{||{||{{{|{z{{}|||||}|{{|{{{{|{|||}|}|{{{{|z{{|{{||}||{|{{|{z{{|||}|{|z{|{{z{{{{||||||{{|{{{|||||||}{z{|{{{{{{{{|{|}|{{{{z{{{{||{{||{{z{yz{zz{|{}{}{{{{|{{zzz{z|{{|{{{{{{|{{z{{{{{{||{z{z|{{{{||}||{{z{{{{{{{{{{{{{{|{{{zzz{z{{{{|{{||{{y{{zz{{{{z|{{{zz{zz{z{{{z{{|{{yzzz{zz{z{{z|{|{zz{zzzz{{||{{{z|z{z{{zz{{{{z|z{{|{{yzz{{z{{{|{|zzz{{zzzz|{z||{|zzz{zzzzz|{{z|{{{z{zz{z{{{{{||||{{zz{zzz|{{{|{z{{{z{zz|{|{||{||||z{{{{z{{z{{{|{{|{|{{z{{{{{{||{|{zz{z|{{{{{|{{|{{{{{{{{{{{|{{||{|z{{|{z{|{||{|||{{z{||{{||{{{}}|{{{{z{{{{{||}||||{|z{{{{|}{|{|||z|{|{||{{||||||}{z{{|{{||}|||}||{{{{{{||{|{||||}{{{{{{||{{||{}|}{|{|{{z{|||{|{|||z{{{{{{{{{{||||{z{{{{{|{|||{|{|z{{{z{|{|||{{{{|{zz{zz{{|{{{{{||{{z|{z{z|{{{||||{{zzz{{z{{{{{||~|z{{{z{{{{{|{{{{z{{yz{{z{{|}{|{{{zz{{z|z{{{{{z|{zzzzzz{{{|{{z{{z{{{zzz{z{zz|{|{{z{{{{zz{z{z{{{{{{z|{{{zz{{{z||{{{{z{zzz{{{z{{{||{zz{yz|zzz|{{z{}|{z{{zy{{{{{{{{{{{|z{z{y{{{{||||{zz{yz{z{|{{{||{{{z|{z{{{{|{||{|z{{zz{{z|||||||{{{{{{z{{|{{||||}{{{{z{zx|}||{||{{{z{||zz}z||||{z{{z{{{{|{||}|}||{|||{{||{|{|{|||}|{{{||z|}|||{}{|{|{{|z||||{||||{|{|||||{|||}|}{|{{{{||{{}||}|}}||{{{{z{|}|{|}||{{{{{{{{||}{|||||{{{|{{||{|||}||{||{{{|{{}|{{|}|{{{|{{{{{|||}{||||{{{||{z|}{||{|{{{zzz|z{|{|{{||||zz{z{z{{{{{{|{{{{z{{{{|{{{{|{|z{|{{zzz|{|{{|||{z{zzz{y{|z{{{{||{z{zz{{z|z{{{|{{{{{{{{z{||z{{{{{zzzz{y{}{{{{|{{{yzz{z{z{{z{|{{{{{{zz{z{{{|{{z||z{|z{yz{{||{z{{|zz{{{{{{{{|zz{{{{z{z{{y{z{{{{{{zz{{{{{zzz{z|||||{{{{z{{{|z||||||{{{{{z|{{{|{{{||{z||{z{z|{{z{||||{|zzz|{|{{|||{{|{{zz{{z{{||||||{zz{{{{{{}||||||||{{{{{|{{|||{||{{{||{|||{{|||}|{{z|{{{{|||{|{{|}z|{|{{{||}|{|||||{{z||{z|{|{|||}{|{{{|{|||||{||||{|{{|{|{}}|}{||{{{|{z{|||||{{|}{{{{{{{||}|||{{{{{z{|z{{|}}||}{{{{z{|z|z||||{}||{|{{zzz|||{|{{{z{{{|{{z{{|{{{{{{{{zzzzz|{||{|{{{{{z{z{{{{|z{{{|{|{{{{{z{|{{{{|zz{zzzz{y||||{||}{{{z{{{{z{|z{|{{{zz{|zz{||{{{|{{z{{y{zzz{{y{|z{|zzz{zz{{{{z{z{{zzzzzzzyz||{{z{{{zzz{z{zz{z{{{{|z{{z{{zzy{{{{{{{|{zzz{z{z{{{|{||{{z{z{zzyz{{{{{{|{zzzzz{{{|z|{||}{{{{{{zz{{|z{|z{zz{{z{z{{{{{|{|{{{{|{{{z{|{|{{{{{z|zzzz{{||{{{||{{{zzz{z{{{{||{||{{{{{z{{{{||{|{{{zz|{|{|{|}|{||z{z{|z|z{{}{{|{{{{{{{z{z|}|||||||{{|{{||{|{|{||{|||{{}{{{}|||{}{|{||z{{{{{|||||{{|z{|{{{{||{|||||{|{|{{z|||}|}|||{{{{|{{|{|{|||{{|{{{{|{||{}|||{{{{{{{z{|{|{{|{z|{z{{z{zz{|{{{||{z{{{zzz{{||{z{{{zyz{{{z{{{|{{|||z{{{{zz{{|{{{}|z{{zzzzz{{{{{|{|{{|z{{{z{{z{z}|{{{|{{{yz{{|z{|{{{z|z{yz{zz{{z{z{{{{z{{yz{{{|z{{{{z{zyzyz{z{{{|{{|{{zz{zzz|{{{{||{y{z{z|z{{{{{}|{{z{zz{zzz{zz{|{{|{{z{{{{{{{{{{|{{{z{zzzz{{||{z{|{{{z{{z{|{|{||{{|{{{{|{{{|{{||}{{|{{z{{{z|{{||||{{z{{{z{|{||{|}{|z|{z{{||{{{{{{{z{|{{{{{{|{{||||z{{zz{||}{{{|{}|||{{{{{{{}||{||{|{{{||{{}||{|{|||||{|{||{|||}}||}|{z{{{|{||||}|||{{{{z{{|}|}||}|{z{|{|{{{|{|{{}|{|{z|{{||{|}{|||{{{{z{{{|{{|{||||{{{{{{{{}||||||{|{zz{{{{||{{{z{{z{zzzzz{{|{z{{|{zz{{{z{|||{|{|||{z{{zzz{{{||z{{|z{zyz{y{{{|{{{|z{{{zzzz{z{z{{{|zz{{{{zz{{|{{}{|{yzz{|z{z||{{{{{z{{z{{z{z{{z{{z|zzzz{z{zz{{{{{|{zz{z{{{zz{|{{{z|z{z{z{zy{{|{|{{|{{{{{yzzz{{{z{{{{zz{{z{zz{z|{{|{{{{{{{z{z{||{||{{zzzzzz{{|z{{||||zz{{zz{|{{{|||{z{{{y{{z|{{|{|{|{z|{{z{{||||{{{{{{{|z{{{{|{|{{|{{z|{zz{{||{|{||{{{z{{|z{z{{|{|||{z{{{z{{|||{||||{|||{{{{|||||}|||{z{{{z{}||||{{||{{z{{{{|||||}|}|{{||||{|}||{|{|{|{{{{{||}{||||||{{{{{{{||||}|||{|||{{{|{{{|{}||{{|{z{z{{{||{||{{{z{z{|z{{{{{|||{{{zz{{{{{}{|{{|{|{z{z|z{{{{||{{|z{{{y{z|{{{{{{|{{zzzz{z{|{{{|{|{{{zz{z{|{|{{{|||z{{{z{{{|{|{|{{z|zz{{zz|||{{|}{zz{{z{z{{|{z{{{{{{{yz{y{z{z{{|{||zzz{z{z{|{{{{||{{z{z{z{{{|{}{{||{{zzzz{{{{{{|{{{z{{{z{z{zzz||{{{zzzz{z{z{{{|{{{{{zzz|zz{{{{|}{|{{{{{{{{|{{||{||zz{{{y{{{||{{|z|{{{|{{{{{{|{{{||{{{z{{{{{|{|}}{|{{zz{{{{|||{{|||{{|{{z|{{||{||||{||{|{{{||||||}|{{||{{{{}||||}}||{{||{|{}|||{||{|z||}|{{||}{}|{}{{z{||||{||{}||}}{{{{||{{}||||||{|{|{{|{}||}|||{}z|||{{{|{{|||}}|{{{||{{||||}|}}{{|z{{{{{{|}{||||{{{{z{{{|{|||||||}{zz{{{}||~|{||{z{|zzzz{{{|{||{{z{zz{z|{z||{|{z|{z{{{z{{{{{{{{{{|{{z{{{z{|{{{z{{{z{{z{|||{{{{|{|z{zz{{{z{{|{{{{zz{zz{z{{{{{{|zzz{z{z{{{z{{z|{|{zzz{|zz{{{{|{{{{z{{zzz{z{{{{{{{{{{zz{zz{|{{z|||z{z{{zz{z{{|z{{{|{z{{{zz{|{{{{{{zz|zzzzz{{{|z||{{{zz{{{z{{|{{|{{{{{|{z{{|{|{{|{|{{{{{{y{|{}{{{{|{z{||z{{||{{{{|{|z{{{{z{{{{|y||{{{z{zz{z{|{||||}{{{{|z{{{{{}||{|{|{z{||{|{{{|||||{{|zzz{|{|{|||{|{z{|{{{{|{z||}|zz{{z|{|||||{||||{{{{|{{{}|}{|}|{{|||{|{{|||{}{|}{{{z{|{||{{{|||}{{|{{{{|z|{{|}}{{{{{|z|{|{}z{||{{z{{|{{{}|}{||{{zz{|z{{z{||||{{zzy{z{zzz|{{|z{z{z{{{z{z{|{|z|z|{zz{z{{z{|{z|{|z{{z{{zyzz{{|z{{{{{{{{zzy{{{|{|z|{z{yzz{zzz{{{|{{{zzz{{zz||zzzz{z{{{zzzzz|{z{{{{{z{zyzzzz{{{{z|z|{zz{z{zz{{{{{{{{zzz{yzzzzz{|z{{|zzzzzzzz{zzz{{{{zzyzzz{{z{zz{{{{zz{zzyzyz{{||{|{{z{z{{zz{{{{{{{|{{{zzz{zz{{{{{|{z{{{{zzz{{{|{{{{|zz{{z{zz{||{}{{{|z|{zzz{|{||{{{|{{z{{z{{|{{{|{|{{|z{{z{{z{|||{{z{{z{{{z||||{{{z{{z|zzzz{}{{|||||z{{|z|{|z||||}||{{{z||{{}{{|}{|{{{{{{|{|}|||}||{{{{{{{{{||||||||{{{{{z{|{{||{|}|{|{||{||{{||{{{{{{{|z{{{|{|{{|{{{{{z|{{z|{|{{||{z{yyzzz{{{|||{{{{zz{{zzy{}||{||zz|z{zz{z{{z{|{|{zzz{{{{{{{{{{{|{zzzz{{{z{{{z||{{{z{z{zzz{{{|{{|{z{{{z{z{{{{z|||{zz{zz{z|z{zz|{{{{z{{{{z{{{{z{{z{z{{{zz{{|{{{{zz{{{{zy{{z{{{|{{{z{z{{z{{z{{z{|||z{{zzzzz{z{{z{{zz{{zzzzzz{z{|{{|{yz{z{zzz{{z{{{|{{zz{zz{|}{||{{|z{{{zy{{{{{{{|{|{{{{zz{z{{{z{|{|{{{{{{{{{|{|{{{|{{zzz{zz{{||{{|{{{|{{{{{{}{{|{{{|{{{{{{{|{{|{}}{{{{{|{|{||||{}||{|||{{{{|||}|{|||z|||{{{{|||{||}|{{{z|{{}||}{|{||{|z||{|z||}|}|||{{|{{{{|{{|}|}||{{||{z{{||||||}|{|{|{{{||{|{}|||||{{{z{{|||{||{{{{{|{{y|}|}{{}|z{z{{{{z|{|||{{z|{zzz{{zz|{{{|{{{{{{z{z{{|{{||||{z{|zzzz{{||{{|{{z{z{{{z||{||{{|{{zzzz{z{z||{z{{|{zy{{{{{{{{{|{{{{{yz{{z{{{{|{|{{{z{{|zz{{{z{{{{zzzz{zz{{{{|{{{{{zzz{zzzzz{{|{{{{zz|zzz{z{|{z{|{{z{{{z{zz|z{{{{{{zz{zzz{{z{|{{{|{{{{{{{{|{{{{|{{{zzz{{z{{{{||{||{{{zzz{{{{|{||{{{z||zzz|{||{|||{{z|{{z|{z{{}{||{|z{zz{z{z|||}|}{{{zz{|z{{|{||||||{{z{{zz{||||{|}{{{z|{}||||{}}{||{{{{z{{{}{|{{||{{{{|{|{||}{|{}|{{{{{||{{|||||}}{|||{{|{{|||}|||||||{{{||||||||{{z{|{z{{|||}||}|{{|{{{{{||||{||||{{{{{{|||||{|{}{{{|zz{z{{|||{|{{|{z{{{{||||||{{zz{|{{zz{|{{{|{|{{{z{zz{{{||||||{{zz{{{z{{z{{{|{|z{z{z{yz{|z|{{|{{{{{zzz{{{z{{{{{z{{{z{z{{z{{{|{{{{z{{z{z{{{{|{{z{zzzzzyzz{|z{{|zy{z{zzz{{z|{||{z{z{y{zy|zz|{{{{{{z{z{{zz{z||{}|z{{{{z{zy{z{{{{zz{{z{zyzz{z{{|{|zz{yz{zz|{{{{{|{{zzz{{{z|{{{||||{{{zzzzz{{{{{{||{z{z{zz{z{z{{{{|{{{z{{z{{|{|{}|{|{{{{zzz{||{{z{|{z{z{{z{|{|z|||||{{z{z{{{{|{{|{||{{|{{{{{{|||~||{{{{{{z{}|||{|}{{|{|{{{{{|{|{||||{|{z|{{{||{||}{|{z{{{||{{||}}|}|{||{|{{||}|||}||{z{||{{|{{{|||{{zz{|{{{{|{|{}|{{{{{{{{{||{{||||{{{{{{|z||||||}{{{|{{z{{|||{|{{{{{{{zz|zy{|{{||{zzzzzzy{z{|{{{z||zz{{z{{{z|{z|||{z{zzz{yzz{}{{{{{zy{z{{zz{|{z{{|{{|y{y{z|{{|{{|{{|{{z{{z{{|z{|{|{z{{z{z{{{{{z{{z{zyzz|z{|{{z{{{z{z{zz{y{z{|{{{{{{{{{zzzzz{}|z{|{{zzy{{zzz{zzz{{{z|{z{zz{{z{zz|{{z{zz{{zzzz{|{{{{|{zzzzzz{|{{{{{{z{{{{{{{{zz|{|||{{{{z{||{{||{{|{{{{{{zzz{z||{|{{zy{{|z{{{{||{|||{{{{zz{z{{|{{||{{{{{{{z{||||||{|{{{|{z{{}{||{{||{z{|{z{|{||||}{|{z{||z{{||}|}|||{{{{|z|{{||||}|||{|{{{{z{|{{|{|||{|{|z{{|{{{|}|}|{{{{|{||{|||||}||z{{||{{|{{}}||{z{z{{|z{|{{|{||{{|{{|{z{|{{{}{|{|{{{{zz{|}|{{{|{zzzz{{z{{|{{{{{{{zzzzzzz{|{||{{{{{z{zz{{{{||||||z{{{z{{{{|{z{{{}{{|{{{z|{{{{|{|{{{z|{{zz{{{{{||z{{{zzz{{z|{{{{|{{{zz{{{{{{|zz||{z{zzzz{{{{|z{|{{{{zz{zz{z{z{{{z|z{zz{zzz|{{{{{|{{{zzyzz{{{z|{zz{z{x{{z{z{{{{{|{{z{{{zz{z{z{|||{{{{{{{{z{{{{{|{|{|{{{{{{||{|{{{|zz{{z|{{|{|{z||{{{{zzz{{{{{{{}||{{{|{{{z|{|{|{}{{{{{zz{{{{|{|||||{{{{z{{|||}||||{{{{{{|{||{{{||}{||{{{z{{{||{|{|}{{|{{{{||||||{}|{||z|{{{||{}}|{|{|{|{|{{~||||}}}|{{{|{|}|||{||}|{{z{{{z|{|z||||||{{}{||}{||{|||{{{z{{{{{||||}}||{z{z{{z{|{|||{{{{|{{z{|||{||{{{z{{{{zzz{||{{{{|{zyzy{z{{z{{|||}|zzz{{{zz{{{|{|{|{{z{{zz{z||{{||{{{zz{{{{z{{{|||{zz{{z{z{{|{{||{|{z{{zzz{z{z{{{|{{zzzzzz{||{z{{|zzzzz{zz{z{z||{{z{{{zzy{z{{|{{{{{{{zzzzz|{|{z{{zzzz{z{zy{{|z{{{|{{zzzzz{z{z{{|{{z{{z{zzz{{{{{|{|zz{{z{z|{{{{|{{{{{{z{z{{|z{|{{||{z{z{{zz{|{|{{|{{{z{{{{{||{{|||{{{{{{zzz{{{|{|||{{{{{zz{|{{|{||z||{{{{{z||||||{|{{z{|{|||{{||}|}|{{{{{|z|}}|{||{|{z{{{{||||{||||{{{{|}{{{|||{||||{z|{{|{|}{{||}||{z|{{{{}|||{||||||||{{||{|{{||||{{{|{||||{||{|||{{{|{{|{|{{||{|{{z{{{{z{||{|||{{{{{{{z{|{|{{{||zz{z{z{{{{|z{{||{{zz{z{{{{z{{{{||{{yzzzz|zz{{{{{{|z{{{z{{{||{{|{{zzzyzzz{{|{{||{{z{{z{zyz|{{{{{|{{{z{zz{{{|{{{{{{z{zz{z{|{{|{{{|yz{{z{zz{{{{{{{zzzzzz{zzzz{z{{{|{{{{z{{zz{z|z{{{zzzzzz{zz{z{{{{{z{zzyz{zz|{{{|{{z{zz{zzz{z{{z|z||{zz{z{z{{{zz{{|||{{z{{z{{{|{}{|{{{z{zz{{|{{{||{zz{{z{{z{|||||{{{zz{{{z{{||z{|{{zz{{||z{{|{||{{{{{{z{{{|||{||{{}z{{{z{{{|||{|{||{{z||z{{|}}{|||{{{{{||{{|||{{||||{{{{||{{||||{||}{|{z{{||}{|{{|||{{{{z{z{|{||{{{|{|{{z{{{{{{|||||{|{{{|z||{|{{z||{{{|{|{{||||||{|z{{z{{z{{|||||{{{{{|zyz{{{|{||{z{z{zz{{{{{||z}|zz{zzzyz{{{{||{{{{z{z{z{zz{{|{{{{{|z{z{{z||{z||{z{{z{zz{{{{{z{{z{{{{{|zzz||{{{z{{{{zzzzz{z|{{||{zz{{z{y{{zz|{{|{zzzyzzzzz{{z|zz{zyzzzz{z{{{z{z{{{z{zzyzzz{{{{||{zzy{zzz{z{{{{{|z{{zzz{zyz{{zz{z|zz{{|z{z{{{||{}||z{{{{{{{{{{{|{|{z{{{y{{{{|{{{{|{|{z{zzz{|{{{|||{{{{{zzzz{{{z||{{z{zz{z{{|||{||||z|{|{zz{{{{{{|{{{{{{{{z{{||{{}|z|z{|{{|{{||{||||z{||{zz|{{{z||{}z{{{z|{}|{}||||{{|{{{{{|}|{|||||{{|{{{{|||{|||}{{||{z{|||{}|}{||z{{{{z{{|||||}|{|{{|z||{|||z{|z{{{z|{{{{{|{z|{{|{{{{z|{{||{|{|{{z{z{{{{|||{{{{{z{zz{zzz{{{{z{||{zzzz{z{{{{z{|||zy{yz|zz{{z{|z}{{{{zzzzz|{{{|{{||y{zzz{z{{||z|||{{|z{{{{z{{{|||{{{zz{zzzz{z{{z{|{{zz{{z{zz{|{z{{{zz{zzz{zz{zzzz{zyzzzzzz{z{z|{z{zz{zzzz{z{z{zz{{zz{z{zz{zz{zz{{{{{{zzzzyzz{{{{{|zz{zz{zzz{{{{z||{zzzz|{zz{{|{{{{{{|z{y{{{z{|||{|{z{{zz|z|||{|}{{{z{{zzzz{|{z{}{{|z{z{{zyz{{z{{{{{{{zzzz|{|{z{|{{{{{{{|{{{{{{|{{|{{{z{{|z||{|{||{{z{{{zzy|{||{{|{|z|{||{{|||{|||{{{|z{{||{{|||{||{{{{{{||||{||}|||{|{{{{{|{{}||||{z|{|{z{||||{|||{{{{{{{|{|{{||}|{zzz{{{z{{|{|z||{{z{{z{z{{{{||||z{{z{zzz{{{|{{{|{{{{zzzz{{{{{{||zz{zzyyy{{{{{{||zz{z{{zz{{{{{{|||{z{z{z{|{{{z{|{{{zzzz{zzz{|{{{{{z{{y{{zz{{{{|{|zz{{{zzz{z{{{|{|{{z{{zyz{{{{{{|{{z{zzz{zz{{{z|{{zz{yzzzz{{{{{{{z{zzzyzz{zz|{z{{zzzzzz{zyz{{z{{{{z{{zzzzzz{{zz{{{y{{{y{{{{{{{{|{{|zz{{z{{{zz{{{z|{yzzzy{{{|{{{||{z{{{{{zz{{{{{{||{z{z|zzzz{|||{{{|{{zz{zz{|{{{{|{{z{{{z{{{z{{{{|||z{{|{{z{||{{{{|{{z{|{{{{{{|{|||{{{|z{{{||{{|{|{{z{{{|{{|}||{{|{|{|z{{|{{{{}||{}{{{z{{{{{|||||{}|z{||{|{|{{{|}{|{{{{{{{{|{||||}{|{{{{{z|{||}|||{{{{{{{zz|}z|{||}|{z{{{z{{{{|{|{||{{{{z{z{{|{{|{|{zy{zzzz{{|{{{{{z{z{{{{z|z{||{{|{{zy{zzz{{{{|{{{{z|{{zz{|{{{|z{{{{{zzz|z|z|{|{{{{yzzzzzz{|{{{|{{{yzzyzzzz{|z{{|{{zzzzzy{z{{{{{|{zyzzy{z{{{|{z{{{{zz{zzzzz|{|{{{{{zzyzzyy{{{|{||{{{z{z{zy{z{|{z{{{{{zzz{zy{{zz|{zzzzz{{{yzzz{z|{{{{|zzy{y||{|{z|{{z{{{{|y|z{{z{{}{z{{{z{{{||{z{|{|{{{{z{z|{{|{|{{|zzzz{{z{{{|{||||{{{{zzz{{{z{|{z{{zzzz{{{|{|{|||{{z{zz{{|||}{|||{{{z{zz{{|||||}{|{{{{{z|{}||{}}||{{{|{|{{{}|{|{|}{||{|{z||||}{|{{{{{z{{{{|||{{|||{zz{z{{|{{||||||{{{|{{{{|||{|{|{{{z{z{{{|{|{|{|{{{z{{{{{{{{{|{{{z{zzzz{{||{|||{z{yzz{{z{{{z{{||{{zzz{{y{{{{|{|{{{y{{z{z{{{zz||{z{y{zzz{{{{{z|{|{z{zzz{y{z|{||z|z{zzz{zzz{z{{}|{{{z{zzyz{|{z{|z{{z{zyzzy{{{{{|{|{|zzzzzz{{{{{{|{{{zzz{z{{{{|{||{zzzzz{{z{{{{{{{|zy{zzzzz{|{{{{{{{{{{{{zzz{z{{|{{z{{{z{zz{{|{{{|{{zzzzz{{{{z{{z{|{{zz{zzz{{|zz|{{{{{zzy{z|z{{z||{{{zz{zz{{{{z|{{zz{{{{{{z{{{|{||{|z{|{{z{{|{|{{|{{z{z{{{z|{||||{{{|{{{z{z||{{|{||||||{{{{|{{|}|||||{{{{{{{}|||}}{{{z{z{{|||{|{|||{{{{z{|{{}|{}||}||{{|z{||||}{||||z{{{z{{||||{||||{{{|{z{z|{|{||{|z{{{|z{||z|||}{|{{{z{{|{|}|{|{||z{z{|{|{{||||{{{{{zz{{{{z|{{{{|{{z{{zz{{{||}||{|{|{{z|z{|{||{{|{{z{{zyz{{|{{{{|{{|zz{zz{{|{{|||zz{{{zzzz{|{z|{{{{zzzzyz{{{z{{{{{{{z{z{{zzz{|{{{zz{zzz{{z{z{z{||zyz{zzz{{z{{||z{{{zzzyzz{||{{{{{{{y{z{zzz{{zz{{{{{zz|zzz{|{{{{{{{z{{{z{z|{{{{{{{{{|{{z{|{{z{|{{{zz{zz{zzz{{{{{||z{|z{{z{{{||||{{{{{{zz{{{{{||||{z|{{zzz{{|||{|||z{z|zz{z|||{{||z{z{z{{{{{{{||}}|z{{||z{{||{|{|}|{}{{{{{{{{||{||||z{z{z{{{{||||}{|||{|{|{{||{||||{z{{{{{{|}}||{|||{|{|{{{||{||}{|{{{{|{{{{{}{||||{{{{|{{||||}{|{|{z{{z{{z|{{||{||}{z{{{|z|{||||{{|{{z{z{{|{||{|{zz{zz|{{{{|{{{{{{z{{zz{{{{{{{{{|}{{z{{z{{|{{{{}|{{{z{{{zz{z{{{{|{{{{{zz{{{{{|{{{{zz{y{{{z{|{{{|{{|{{zzyz{{{{{{{{{zzzzz{z{zz{z{|{|zzyz{{{{{|{{{z{{z{z{{zz{{|{{{{|{{zzzz{y{z|{{{{|{{z{zzzzzz{{{|{z{{zzz|z{z{{{{z{{{z{z{z{z{||{{{{{||z{z{z{z{||{{z|{{z{{zz{{|{|{{||{|{z{{{{{{||{{|{||z{{{z{{{|||{|{|{{{{z{{{{{{{|||{{{{{zz{z{||{{|{|{{{{|z{||{|||{||{{||||{{||{|||||{|{z|z{{{|{||}||{{z{|{{{{{||{|}{{{z{{|z{{}|||||||zz{{{z||}}{|}}||{|{{|z{|||}|||||||{z{{{||}|||{||{|{{}{{{}||||||{|{{{{{{z|{|{||{|{z{|{{z|}||{|||{{{z{{z{|||{||{{{z{{{{zz{{|{|z||{{z{{zzz{z{{{{{||{|yz{zy{{{z{z{{{{z{z{zz{{|{z{{|{z{{zzzz|{{{{{{|{y{zz{zzz{z{|{|{zzzzy{zz{{|{{{{{{zyzz{z{{{{z{{{{{{zzzzzzz{z{z|{{z{z{y{y{{z{z{z||{zz|{z{z{{|{{{{z{zzzzy{z{z{{z{{{{zzz{{zz{{z{z{{|zzz{zz{z{{z|{|{|{zzz{{zz|||{{|{}{{zz{z{zz|{{{{}|{{{{z{{z}{|{{{|{|{{{{{{{z{{|{|{{z{{{{{zz|{||{{}{{z{z{{{{|{|{{|||{{{z{{|{|||||||}z{{{z{|||}{||||{|||{{z{{||{{|||||{{{{{{{{|}|}{{||{|{{z}|z}|{{{|||{zz{{{z{|{{|{|||{{{|{{{||||{}{||{{z{{}{|{{{|{||{|{{{|{{|{{|{}}|{{{z{{{{{||{|||{{|{zz{{{|z{{|{}{{{|z|{z{|{||{{|{{zzz{zz{{{{{{{|{z{{{{zzz{{{|{{{{{z|z{{zz|{{||||{{{z{zzzzz{{zz||{{{{{zz{z{||{{|z|{{z{z{zy{{zz{{|{{zz{{zzz{{{{z{{|{|zz|{{{z{z{{{{|z{zz{zyz{|z{{{|z{{zyz{zzzz{z{|{z{zz{zzzzz{{|{{{{{z{zy{{z{{{{{{{{|zzzzzz{{{z{{z{{z{zzz{zz|{{|{{|{{{{{{z{z{{|{||||{z{zzz{{z{{{{{|{|{z{{z|{{{{|{{{|{{||{z{y{|{|{|z{{|{{|{|z|||{{{|||{{{z|{|{{|{{||||{{{{zz{{|{}{||{{|z{z{{|{{{{{|}{{{z{{zz{||||{||{|z|{|{{{||||||}||z{{{{|{}|{{||}||{|{z|{|z||{{|}||||{{{{||||}|{|||z{||{||{}|||||||{{{{{{{|{{z|||||{zy{{{{{{{{|{||{{{|{{{{{||{{|{zzz|yzz{{{{{{{{{{yzzzz{{zz{{{{z{|z{|{{{z{{z{{{||{{{{zz{{y||{z{{|{{{z{y{y{{{{|{{{{{{{z{zzz{zz{{{{{z{{z{zzz{{{{{{{|{z{z{{z{{|{{{{zz{{zyzzzz{{z{z{z{zzzyzzzzzz|{z{{{zzzz{{zz{||z{z{{zzzzzzyzz{z{|{z{zzz{zzzy{zz{{{zz{yz{zz{zz{{|||{z{{{{z{zz{z{|{{{{|zzz{zz{|||{|||{z{z{zz{{|{{||{|{z|z{zz{{z{{{{{|}z{{|{zz{{|{||||{y{z{{zz|{|{z|||{{{{{|{{{|||{z||z{{{{{{{{{|||{|||{{|{|{{{|{{||||{{zz{{z{{{|{{||{||{|{{{z{|}{||||||{{{{{||{||{|||}{|{{{|{{{|||||||{{{{{{{{|||{{|||{{|{{{|{|zz{|||||z{{{||{{|{|{{|{{{{{{||{{{{||{{|{{|{z{{z{{z|{{||{{{{{z{{{{{{{{||{{zzz{zy{|{{|{{{{zzzzzzy{{{{{{{{{{|z{{z{{{z{{{|{z{z|zzzz{{|{{z||{{zzz{{z{|{|{{z|{{{{{{zz{{z{{{{{{z{zy{zz{z{{|{|{{{{z{zzz|{{{zz{{z{{zzzyzz{{{{{{{{zzzz{z{{{|{{{{zzzzzzzzzz{z|{{{|z|{{zzzzzz{{{{{{zzz{{z{z{{{z{{z{z{{zzz{{|{{{|{{|{z{{z{zz{z{z||||{{zz{{{{{{||{{{||{{{{{|{{{{||{|{|zz{{{{{{||||{{|{|{z{{z{{{{|z{||{z||{z{{{|{{{|z|{z{z|{{z{||||}||{{|||{{{{||{{|}}{{{{{{{z||}||{||}z{z{{|{||{|{|{|{{{{{zz|{|||}|||||{|{|{{{}{||}||||{{{z{{|||{|}{||{{{|z{{{||{|{|{|{{|{|{|||{{|||||{{{{{z{||{{|{{|}{y||z{zz|||||||{{z{zz{{{{||{{{{zzzzz{yz{{{{zz|{z{{zzzzy|{{{|{||{z{zzzz{{{|z{{||{zzz{zzzz{{{{{|z{z|z{zz{{|{|{{||{{{zzzzz{|{{{z{{{z{{z{zz|{zz|{|zzzz{{zzz|z|{{{{{{{zzzz{z{{z|z{{|zzzzz{z{{{zz{{{z{z{yz{{z{{{||||{{zz{{yzyz{{z{|{{z{z{{z{z{{z{{|{{zz{|{{zz||{{{{||{{zz{{z{z{{z{{||{|{{{z{|{{{|{{{{{z{{{z|{z{{{{|{{|z{{z{{y{{|{{{{||{{z{{|{|||{{{|{{{{{{{z{{||{{{{||z{{{{{{{|||{||{|{{{{z{{{|{|{|||z{{{{zz|}||{|||||||{{{z|{|||||}|{{{{{|{{||{{|||||{||{{{{|}|{}|}|{{{|||{{}{||{|}|{|{{{||z{||||{|||{{{|{{{{{{|||{|{{z{{{{z{|}{|||||{{{{zz{{|z|{|||{{{zzz|{{}{{{{{z{zzz{z{{{{|z{{{z{{zzzy{zzz{z||{{{{z{zz{zz|{z{|z{{z{z{yy{{z{{{{|zz{{zzzzzz{{{{{{|{zzz{{z{y{{{{|{z{{zzy{zz|z{z{{{{{zz{z{zz{{{{z{{zyzzzzz{zz{zzz|{{zzzzz{zzz{{{{{{{{{zz{yyzz{{z{{{|zzzzz{zzzzz{zzzz{{zz{{zz{{z{{|{{|yzz{{yzz{z{z{{||z{z{z{z{{{z|{|||{{zzzzz{{{z{{{{z{zzzzzz{{{z{{|{{z{|zz{{z{{|z{|{{{{z{{zz{{|{{z{z{{{{{{y{{{{{|{{{{{{zzzz{{{{z{|{|||z{{|{{{}{|{{||{{{{z{z{|||{||||{zz{|zz||||||||{{{z{{{{||{{{{{|{|{{{{|{|{|{{||||{{{|{{{{{{}|{||{|{z{z{z|{|{{{|{}|{{{|{{z|{|{{|||z{z{zz{z||{|{|{{{{z{zz{z{{{{{{||zzz{zzzzz{{{||{zz{zz|{{zz{{{{{{z{{{z{yz{zz{{{{||{zyy{zzz||{||{z{{{|zz{{{{|{{z{{{{zzzz{z{{{{|||{|{z{z{zzzzzz{{{{{{zzzzzzz{{||{{{zz{zzz{zy{{z|z|zz{z{zzz{z|{|z{|{{{z{zzyzz{|{{{||{{z{{zy{y{{{z{{{{{zzzzzyzz{{z{{|{{zzy{yzyz{z{z|z{{zzzz{zz{{{|{||z{{zz{zzz{{|z{z{{{{{|z{zz{{{{{{{{{|z|{{z{{{|{{{||zz{z{{zz{{|||||{zz{z{{{z|{|{|{|zzzz{z{z{{||{{|z|{{|z{{z{{{{{{{|{{{{{{{z{{{{||{||{{z{|{{{z}||{||{|{z|{{zz{}|{{|{{{{{|{{|{z|{|{{||{{zzz{z{{|{|}|||{{{{|{{{||}|{|}||z{{zz{{|{||{|{||{|{|{y{|{{}{{||z{{z{{zz{{{|||||{{z{z|{{|{{{z{{{|zzy{zzz{{{{z{z|{z{z{zzzzz{{|{{{{zzzzzzz|{|z{{{|{zz{zz{{z{{z|{{{|zz{zzz|{{{{z{{{||z{{{zz|{z{{{{{{z{zz{zz{{{{z{|z{{zz{zzz{z|z{{{{{zz{zzzzz{z{{|{{zz{z{zzzz{|{{{{z{zyzzzzz{{{z{z{|zz{zz{y{{{{z{|{|{zy{yzzzz{{|{{{{{zzz{zz{z{{{{{|{{{|{zzzzzz{z{{{|{zz{{zzz{||{{|{}zzzzzzz{|{z{{{|{z{zz{z{z{{{||{|{{z{{{z{z{{{|{}z|{{z{{{zz{{{{{{{|z|z{{zz{{|{{|z{z{{|{{{|{{||{{||{{{{{{{{{{|{||||}{z{|{{{{{||{||||||{{{{{z|{||{{||{{|{zz||{}{|||{||{||{{{{{}|{|{||{{{||{{{||{{||||{{|{|{{{{{{|{||||{{{|{{{|{|{|||}z|{{{|{{||{|{{||||{{zz{y{|||{||{|z{z{zyz{||||z{{zzzz{z{y|z{{||{|{zz{{zz{zzz{{{{|zzzzz{z{{|{{z|{{zz{z{zzzz{{|z|{|{z{zzyzz{{|{{{{{zz{{zz{y|{{{{z{|{zzyzzz{{{|{z{|{{{z{y{zzzzzzz{{{{zzzzz{zzz{{zz{|zz{zzzyzz{|{{zz{{{zzzz{z{{z{{{|{zz{{zyzzzz{z{z{z{{|zzyzzy{{{{{z{zz{zzzzz{{zz{{{{z{{zzzzzz{{z{{||{zzz{z{{{{{||{{|{{{z{{zz{{{{{||{{{z{zz{{z||{{|{|{{z{{zzz{|{|{{||{{z{z{{{{||{|||z{{{{{|{{|{||{{{|{{{{{{{{||{|||||{z{{z{z{|{{|||}||{{{|{{{|}{{||||{{|{{||{{|||{}{|{{{|{{|{{|}||||||{{|z{{{|||{||||{{{{{{z|{{{{||||{{z{|{{|{{|{{}|}{{|zz{{z{{}{|}||z|zzz{{zz{||{{{{z{{{|z{zz|{{{{{{zz{zz{yyyz|{|{|{zzyyz{{{{{{{z{{|z{zzz{zz{{{|zz{{{{{zzzzzzzz{{{{{{{{zzy{yzzzz|{{|{{{yzz{z{{zz{z{{{zzzzzzz{z|zzz{{{zzzzzyz{zz{z{{{{{{zzzzzz{{{z{{{zy{zzzz{z{|z{{|{{zz{z{{zz{z|z{|zz{zz{yyyz{{zz{{{{zzzzyy{z|{zzz|z{{{zzz{z{{z{{|||{z{{{z{{{z{{{|{|{{zz{zzz{{{|{{{{z{|z{z{{{{||{|{|{|{z{z{z{|||{{{z{zzzzzz{{{|{{{|{{zz{|zz{{||z{{|}zz{z{{{||{|{|||{{{|{{{{{{||{}|||zz{|z{zz||{|{{||{{z{{{{z||}{||}{{{{{z{{{{{{||||||{{zz|{{{|||{||{{{{{z{{{||{{{}{{|z{z{{{|z}{{{{|{{{z{{z|{{{||{|{|{{{z{{{z{|{|||{{||{{z{{z{{|{{{|{{{{{zz{{z||{{{{{{zyzzzzy|z|{{{|{{{z{z{{z{{{||{{|zzzzz{z{{{z{|{{{{zzzzzzz{{{|zz|{{zzzzz{z{{{{{{||{zz{{{{z{{z{{z{{{zz{{{y{{||z{{|z{{zzzzzyzz{{{{{|zzz{z{zz{z{z{{{|{zzzzzz|z{{{z|zz{{{zzz{{z{{{|z{{zzzyzzzzz{zz{{{|{zz{zzzzz|{|z|{{zzy{{{{y|{{|{||{{z{z{z||{||{{|{|zz{zz{z{{{{{{|}{|{{zz|{z{{{{||{|zz{zzzzz|{|||{{{|{{{{|zz|{||{{|zz{zzz{z{{{|{{||{|{{{{{z{{{|||{||{{{{{{{{||{|||||{{{|z|{{z||{{|||{{{{{{{{|}|||||||{{{{|{|{||||{|||z{{{|{|{|}||{}{{{z{|z{{{|||||||{{{{|{{{|{||{||{{|{z{{{{|{|||||}{{zz{{{{{||{||}|{{{{z{{|{|{{{{|{{{{{{z{z{z{|{|{|zzz{{{zyz{|{{{{{{z{z{zzzz{z{{{||{{z{zyz{{{z|||||zz{{{zz{{z{{{z||{{{zyzzy{{{{{z{|zz{z{{{zy{|z{{|{{zzz{z{z{{{|{{{{z{{zy{z{{{|{z{{|zyy{z{zzz{{{{{|{{zz{zz{{{{{{|{{{zz{zyz{{z{{{{|||{{yzzzz{{{{zz|{{z{{{{zz{{|zz{||{zz{{z|zz{{{{{z||zzz{{z{{{||{{{|{z{z{{z{zz{{{{{{{{zzz{{{{|{||||{{|{zz|zzz{{|{{|{{{{{{{{z{{{{|{||||z{{|{{{{||{|}|{{{{z{{{{|||||||{{{|{||{z|{{{|{{||{{|{{|zz{}{||{{{{{|z{{z||{|||}|{{|{||{{{|||{||||{{{{{|{{|||||||{{|{zz{|{|{|{||{|z{z{|{{||{{}||}|{|{{||{||{||{|||{{z{{z{|{||{}||{|{{{zz{{|z{|{|z{|{z{{{{{||||{{|{y{y{zzyz{{{{||{zz{zzzzz{{{{{{{{zzz{zzzy{{{{{{|{{z{z{zzzz{|{{{{{{z|zy{zz{{|{z|{|zz{{{{zzz{z{z{{{zzz{zzzz{{z{{|{{z{zyzzzzzzy{{{z{zzzzzzzz{{{{z{|{{z{z{{zz{{{{{{z{zz{yzz{zz{{{{{|{z{zy{yzzz{{z{||z{{zyzy{z{{{{{|zzzz|z{z{z{{{{z{{{{{zz{zzz{|{{{{{|{zz{zz{z{{|z|}|{{{{{z{{{{|||{|{|{z{{{z{|{|||{{||z{{{z{{|{|||z|}z{zz{zz{{|{{|z|||{{{{{z{|{|||{}||z{z{z|{|{|{{{||||{z{|{{z{|||{{{|{{{{|{{{|||||{}|{{{z{z{{||||}|||||{|{|{||||||||{{{z{{{{{||}|{|||{{{{z{z{{{{{{||{|{{{z{{{|{|{{}||{{z{{{{{{}||{}|{|{z{{{{z||||{{|{{z|z{z{z{|{z{{zzzz{yzzyx{{{{z||||{zyzzzz{{{{z{{{||zzyzzz{z{{{||{z{{zzzz{|{|{{{|{{z{z{{zz{{{{{{{{z{zzy{zz{zzz{z|{{zz{{zyz{z|z{{z|zzzzz{yz{y{zzzz|z{zz{zzz{{zz{{{{{zz|{yzzz{z{{{{z{z{{zzz{z{{z{{|z{zzy{zzz{yy{z{zzzz{zzyzyz{{y{{{{{yz{{z{z{{z{{{{{{{z{zz{z{|{|{{{{{{z{z{{{z{|{{|{{{{{zz{z{{{{{||{|{|{{{{{z{|||{{{zzz{{{zyz|{z{|{|{{{{{{zzz||{{{{{{|{{z|{{{{|{|||{{{{|z{{{{{{{|||{|{z{{{{{{{||{|||{|{{||z{z|||{|}||{{|z|{{{||{{||{||{|{z|{{|{{|{||||z{{{{||{{}{|{|{|{z{{|{|z||||||{{{z{{{z{|{|||{|}{|{{z{zzz{|{|||{|{|{{z{z{{{{{{||z{z{{y{z{{|{{{{{z{zz{y{z{{{z{z||{{z{{zzz{|{{{|{{{zzzzyzzzz{{{{|{{z{{z{{{z{||{{|{{{zy{z|z{{{{{|{{{z{yz{{z{{|{{{{{}{zzyz{zz{{z{{{{z{{zz{yzzzz{z{zzzzzzzzzz|zz{{|{y{zz{z{yz{{{z{{|{{zzzyzzzz{{|zz{{{{{zzyzzzz{{{z|{z{|zz{{{z{|{z|{{{{z{{z{{z{z{z{{|z{zzz|{z{z|{|{||{{{{zz{z|{|z{}|{|{z{{{{{{|{|{{{{{{{zz{|{{{{|||{{{|{{{yyz{{{|||||{zz{{z{{||{|{|z{{{{zzzz{||{||{||{{|z{{{{||||{{}|z{z{{{{|{|{{{||||{|{|{{{||{z{||}{z{{{||z|{{}||{||{{{|{{{{|{{||{}|{{{|{{z{||||}||}{{{z{{{|{{||||||{{|{{{{{{{|{|||z{{{zz{zz{{|||||||z{z{zzz|{|{z|{{{{{zzz{{{{{{{|zzz{zzzzzz|{{{{{|{zz{|z{{||z{{{{|||z{zzz{{{{|{}{{{{{{yz{{{{{{{{||{z{z{z{z{{{z{{{|zz{zzz{{zz{z{{{{{{zz{zyz{{{{{{{{{zzzz{{zz{{|{{{{zz{{zzzz{z{zz}{|z{{{z{zz{{z{{z|{{z|{y{z{z{z{|z{{{zzyzzzyzzzz{{{{{{{{{{{z{{{{{|{{zzz{z{{{z{{{|{{|{zzz{z{{{|{{|{|{{{z{{zzz{z{|{{{|{|{{zz{{{{|z{{||{{zz{{{{{{{|{|{{{{|zz{z{{{|{|{|{{{{{z{{{{|{z{{||{zzy{z{|z{||{|||{{{{{{|{|||}||||{{|{{{{{{||}|{|{|{|{{{{{|}{|||}}|{|{{{||{|{|{|{|}{{{z|z{{}{}{}|||{|||{{{|{||{|{{{{{z{{z{{|{{{{|}{|{{z|{{|{{||}|}{{{{{{|||||{|}|||{z{z{{z|{z{{{|{|{{{{{z{|z{{{|{{{z{z{zz{z{{{{{|{zz{z{z{{z|||z||{{{{yzz{zz{{z{{{{|{{zzzz{{{{{{{{{z{zzzzz{{z{{z|z{{{{zzzzz{{{{{{zz{z{{{z{z{z{z{{{{zzy{zzz|{{{{z{{{{zzzzzzy{{{zz{z||z{z{{zz{{{{z{y{{zzzz{zy{{{z{z{{yzzz{zyzzzz{{|{{zzzyzzz{{{zz{|{{zy{zz{{z{z{{}{{{{{z{y{|{|{{{{{{||{z{zz{{{z{{{{|{{{z{zz{y{z|{{||{{|{{{{y{{|{{|{{|z{zz{{{z{|{{z{|{{{{{|{{z{{z{||{|{zz{z{{z|||{{{|{z{|{{z{z|||||||{zz{{{{zz{{||{||||zz{{|{{{}{{|}|||{{{||{{{{||{||||{z{{{|{{||{{|}{{{|{{{{{||{||{|||{{{z{{|||{{{|||}{{{{{||{{|{{{{}|{{z{{{{|||||{||{|z|{zzz{{{||||{zz{z{z{z{{||{{{|{{{{zzzzz{{|{|{{{z|zzzz{z{{|{{{{{{zz{zzz|{{{{|{|zzz{{yz{z{|{{{{{{z{{{y{yz||{{|{|z{zz{z{y{{{z{|{{{{{zzzzz||{{|{||{{{zz{z{{{zz{{{{zz{zy{z{{{||{{{{{y{zzzyzz{|{{{{|zzz{zz{z{|z{{z|{{zz{{{zyz|{{{{|z{{{{{{{{{{{{{{{{{zzzz{zz{{{{{{{{{z{{z{zzz|||{{{||{{zz{{{{{{zz}{{{{{z{z{y{{z{|||{{{{{{z{{{||{|||{{zz{{{{{{|||}|{|{{{{|{z{|{|{{{{|||{|{{z||||||}|||z{z{z|{||{||{}{{z||{{{{|||{|{|||zz{{|{z}}|||||{|{||{z{{||z{||}|}{|{|{{||}|}|{}||{{{z{{z}|{|||{||{{|{|{|||{||{|||{{{}{{|||{|{{}}{{|z{{{{{{{|||||{{{{{{{{{|{{}{}{{{{{{{z{{{{{{{{|z{{{zzz{z{z{{{|||zz{zzz{z{{{|{{{|{z{zz{z{z{|||{{{z{z{z{{{z{{{z||{zzzz{{{zz{|z{z|{z{yz|{zz|{{{{{{{z{zz{zz{{{|{{z{y||zzzz{{z{zzzz{z{zyzz{zz{|{z{{{zz{{z{yz{{z{{|{|z{{{zzzz{{{{|{{z{z{|{yzy{{z{z{{|{zyz{zzzz{{{{{z{{zz{{{{z|{{{{{||{z{z{{{z{{{{||{{{z{{zz{y{||{z|{z{z{{zz{{{{{{{|{{{z|{{z{{{{|z{{{{|{{zz{z{|||{{||{z{z{z{|{z{{|{||{|{{{{{z{{|||{z||z|{{|{{|||{|{|||{{{{zy{z{||||||||z{{{{{{{{{{|z||z{{{{|||{|}{||||{{||||{{||{{|||||{{{|{{||}{|||{|{zz{|{|{{|{||{|||{{{{{|{{|{||||{|{{z{{{{{{||||}|z{{{{{z{||||z{|{{z{{zz{z{|{{{{{{|zzzzzzzz{{|||{|{z{{{yzz|{{|{{z{{{zzz|z{{{{|{{{{|{{z{zz{{{z{{{{{zz{zz{zz{z|{{{{{{z{z{{{zz{|{{{|{zz{z{y{{{z|{z{{{{zzzy{zzzz{z{z{|{z{{{zzz{{|{{||{{z{zzzz{zz{{{{{z{{zzzz{yz|{|{||||{{{{{{z{z{z{{{|{|{z{zzz{{z{{z|{{|{z{||z{{|z{{|{{{z{zz{z{{|{||{|{{zz{{z{{{|{{||{{{zzzz{{{{{|{{}|{{{{zz{{||{|{||||{{z{{{z|||{z{|{|z{{{{{{{|||{{}{{|{zz{|z}|{{||}|{{||{{|{||{}{||}|{{|{z{{{}||||{||{{{{{{{{{||{{||{{{|{|{|{|{}{||}|z||{|{{{||~{|||||||{{z{|{|{||{||{z||{{{{{||||}~||{{{{{|||{}}}|||{|{|{{{||{{{{{||{{{z{{z|||}|{}{z{{z{z{{|{||}{{{{zzzzyzy{|{{z{{|zyzzzyzz{{{{{||{{zz{z{yz{{z{zz||zzz{zz{zz{z{z{{{{zzzzzz{{z{z||{{z{zzz{{z{zz{z{zzzz|zy{zz|{{{{z{{z{{zzyzy{z{zzz{{{yzyzzz{zy{{{|zz{zzzyzzz{{{y{z{|yz{{yzzzzz{|zz|{zzzzzyzzyz{z{{|{{{{zzy|zz{{zz{{{zz{z{{zzz|z{{{|{z{z{zz{{{{{{{{z{{{z{zy{{|{{{{{{{z{{z{{{{{{|{z{{{{{{{{yzy{|{{{z{{|y{{{{{{{{{{{||{{z{{{zzz{{|{{|z{{{z{|zzz||{|{|{{{z{|{z{{{{{}z||{|{{{{z{z||{{{|{||z{z{|zz||||{|{|{{{{{{{{{{z|{||{|{{{{|z{{|||z{||||{{{{zz||||{{|{|{z{{{{{z||{|||{{||z{{{{||{|{|||{{zz{{z{{{{|{{|||{z{{{z{|||}{{{|{{zzzzzz{{{{|z{{z{z{{yzy{{{{z{z{{{{z{{yzz{zz{|{|{|{zzz{{{{z{z|||{{y|{z{z{z{z{{{{zzz{z{{z{{{{|{{|zz{zz{z{{|{{z{{z|zzz{zy{{{{z{{{{{{{zzzzz{z{z{zz{zyzzy{{zz{{{z{{{zzz{zzzz{z{{|{|{{zyzyyzzy|{{zz|z{z{{zzzyz|{{|||{{zzzzzzzz{{{{|{|zz{{{zzz||{z|{{{{{{{zy|{y{{{{|{{zz{z{z{z{{|{{{{|z{z{{z{zz{|{}||{{z{{{zzzz{{{||{|{{{{{|yz{|||{z||{{{{{{z{{{{{{|{|{z|{{{{{{|{||||{{{{{{||{{{||{{|}|{{{z{{{|{|{{|}{{{zz{{{{||{||{||{{{{{{z||||{||||}{{{z|z|{}}|{|||z{{zz{{z|{|{{||||{{{{z{|||||}||||{{|{{z{||{|{{{|z{{{{{{{{{|||||{||{{{|{{z{{{|{|{z{zz{{{{{{|z{{{|z{zzzyzzz{|{{{|{{{{yzzzz|{{{{{|{{zz{{z{{{{{|{|{|{zzz{{z{{{{|z{||{{{zzz{zz{|{{{||{{{z{{{z{{zzz{|||{zzzz{z{{|zz{|{{z{zzz{{zz{{{{{|{zz{zyyz{z{zz{{{{z{zy{zzz{{z|z|{zzzzzzzz{zz{|{{{zzz{z{{z{{{{{|{|{{{{{z{zz{z{{||{|{z{z{{zz{|{{{|{{z{{|{{{{{{{{{{||z{{{z{{{|{z{{{|{{{{{{{z{||{|||||{{{|{{z|{|{||||{{z{z{{{z|{z|{{{|{zz{{zz{{|{{{{{{z{zz{z|{{||{{|{{{|{|{z{|{||||{|{{{|{{{z{{||}{|||{z{{{||||}|}||||||{{||||{|||}||{|{|{{{{{||||||||{{|zz{{|||||}|}{{{{||{|{|||}{|||{zz{|z{~{{|}|||}{{{{{{{{||}||{{{{z{{z{z{{|{|||{{{{z{{zzz{|{{{z{zz{yzzzzyz{{{{{{zzzzzzyz{{z|{z{{zzzzz{zz{{z{{{{{|z{zz{{{{{{{z{{{{zzz{{{y{z{{{{{zzzzz{zyz{{{{{{{{{{zz{{zzz{{zz|{{zzz{yzzz{{{z{z{{{yzyzzzy{z{z{{{{{z{yzzzzz{{z{{{{{{{{yz{yz{z{{z|{{{{zzz{z{z{z{{{{zzzz{zzzz{{{z{|{{zzyz{zz{{z|zz{{|{zyzyz{z{{{z{{|z{z{y{{zz{{|{|{|z{z{{zz{{{{|{{{{z{|{zzzy{|{|||{{z{zy{zzz{{{z||{{{{z{{zz{|{{z{{{{{{{{{{{{{||||{{|||{z{{|{{{|{||{|{{z{{|z{{{{{{{|{|{{{{z{{|}{{|}{|{z{{{{|{{{{{|}}|{{{{{|{z{{||{||{|z{|zz{{}{{{{||{{{{{{{{z{{{{}{||{{{{{{z{|{{}||||{{{z{{{{{{{|{||{|{{{{{|{{{{{{||{{z{zzzzz|{z{{|z{zzzzzyyz{{zz{zz{zzz{zzzyz{{{z|{{zz{{zzzz{z{{z{{{|zzzzzzyz{{{|{|{{{{yy{{zzzz{{{z{{z{zz{{zz{z{{{{|{zzzzzyz{zzzz{{zzyzz{zzyzz{{{{|zzzz{zzyz{{{z{{z{{{yzzyzz{{{{{{z|zzzyxz{zz|{zz|{z{z{zyy{zz{zz{{{{{zzy{zzzz{{z{|{|y{{{z{zzzzz{{{{{zzyz{y{z{{{zz|{{|zz{zz{{|{|z{|{|{{|{zz{z{{|{{{|{{z{z{z{z{|{|{|{zz{|z{{z{{{{z{{{{{zz|z{{z|z{{{|{{zz{{z{{z{{{|{z{|{{{z{{||{{{|||}|{{{{{{zz{z{{{z||{{{zz{{{{}|z||}}{{{{{{||||{|{|}||{{{{{{{{|{||||{|{{{zz{{{{{||{|{|{{{|{{{|{||{{{||{z{{{{{{|{|{{z|{{z{{{|{{|{{{{|{zzz{{{z{{{||{z|z{z{z{{{{{{{|{{z{{zzzz{{zz{{{{{{zyyzzzzz{{{|z|{|{{{{yzzzz{{|{z||z|zzzzzzz{{{|zz|z{zzzzzzzz{{{{z{}{zzzzyzyy{zzz{|{{{zz{zz{zz{{zz{{z{{zzzzz||{z{z{{zzzzzzz{z{{zz{|{zzzzz{zzz{{z{{|{{{{yzzzzzz|{{z{zzzz{zzzz{|zzzz{|{zzz{yzzy|zz{||{{y{{z{{zz{{{|{{{{zzzyyzz{z{{z{{|{z{{{{zz|z{{{|{|{{zzzz{z{|{{{z|{|{{||zzz{{{{|{{z{{|zzz{zz{{{{{|{z{z{z{{{||{{{{||zzz{{{zz{|z||{{|{{{zz{z{||{|||{{{{z|z{z{}{{|{{|||z{{|{{{{||{|{||z{{z|{|{{||{|||}}{{{{}{||}||{{|{|{z{zzz||{|{||{{|{z{z{{|{|{{{|||{|{{{z|{{{z{|{||{{{{{z|z{{|{{|||{{{{y{zz{||{zz|{|zzyzzzy{|{{{{{{{{zzzz{zz{||{{{{{zzz{zyz{{zz{{z{{z{zz{z{{{z{|{{|{{z{{zzzz{{{zz|{zzzzz{zz{{|z{||{{z{zz{z{{{{z{{|{{z{z{{zzz|zz{{{zzzzy{zz{z{{{z{{{{z{z{zzzz{{z{{{{{yzzz{zzz{|{{{{z{{{zz{z{{{z{{{|{{{zz{zzz{{zz{{{z|{z{{{z{z{z{{{{{{zzzz{zzz{{{{||{zy{z{{{zz{{{||}|{{{zz{{{{{{{z|{{zz{{zz{z||{|{{|{{{{|{z{z{{{||||{{zz{{z{z{|{{|{||{z{{{z{{{{|z{z{{{{{z{|{{{|{||||{{{{zz{z{}{{|z|||{z{{{zzz||{||{|||{{||{|{{|{{{}}|{|{{z|{{|||{{|{||z{{|{||{}||{|{||{{z{||{{|{{{{{{{z{{{|{{|{||||{|{|{{{{{{{{{|||{{|zz{z{{{z{{|{{||{{y{{{|z{|{|{{{{{z|y{y{z|{{|{{||zzyzzz{zz||{z{{{{z|zzz{{{z{|z{||{zz{z{{z{{z{{{{{|{zzzzzzzz{z{{{z{z{zzzzz{{{z{}z{{y{z{{yyz{yzz{{z{{yzz{zz{{{zy|z{{{zzzz|zzzz{z{{{{zzzzz{z{{z{{{{{{{{zz{y{{z{{zz{{{{{zzzzz{{{|{{{{{z{{{z{zz{zzzzz{{{z{{z{zz|{{{{|zzzz{{{zz{{|z{{{|{{{z{zzz|{{z{||{z{{zzyzy|{z{|{{|zz{{zzzz{{|{|{{{|{zz{zzz{{|{|{{{zz|{z|z{{{{{|{|{{{z{{{z{||{{{{{|{{{{{{zz{|||||}|{{{{{{{{{{{|{{||{{{{{{zz{||{|{|{{{{{|zz|{|||||{|{{|||{|{{|{||||||z{|z|z{|||{||}||{{{z{|||{{{|||{|z{z{|{{{{{|||}}{|{z{{{||||{{|}}{{{z{|{{{|{|{{|{|{zzzz{z{|{|{|||{{{{{z{z{|{{{z{zz{{y{z{zzz|{|{|{{{{{z{zz{{{{{}|{{zzz{zzz{{|{{{|{{{{{zyz{{{z{{{{{{zz{z{{zz{zz||{{yz{z{z{y{|{zz{{z{zzzzz{z{{z|{{zz{zzzyzzzz{z{{{{{{y{zyzzz{{{zz{{{{zyzy{zzzz{{z{|yz{{zzzz{{{{|zz{{zzzzyz{z{{{{{{{{{{z{{{{yz{z{{|z{z{|z{{zy{{{{|{{{{zzz{zz{|z{|{{{|{{{{{{|{{{zz{z|{z{{z{{{{||{{{|{|{z{{|z{{z{||{|{{{z{zz{zz{|{{{z|zz{{{|{{z|{|||}{{{|{{{{z{z|{|||{{{{{{{||z{|{|||||{zzz{z{z{|||{{}||{{{{|{z|}|||}|||{|{{{|{{{z|||z||||{{{{{||{{|||||{||{z{|||{|||}||y{{{|{|{{|{|{|{{{{{|{{{|{|{||{{{||{{{z{{{{|{|}|{|{{{{{{||||{{|{{{{{{zzz{z{{{{{{zz{zz{yzz{{z{{{|{zzzzyzz{z{{|{{|{{z{zzzz{|{|z{|{{zzzzzzz{{{{{||{{{{{zzzy{{{{|{{{{zzz{zzzz|z{{{{zzz{zzzz{{z|{{{|z{z{y{{zzzz{{{{y{zz{zzz{y{z{{|{{zzyz{y{zzz{{zz{||{z{yy{zzz|{{z|{}|z{{yz{zzz{z|{{{zzzzzzz{z{{{{{|{{z{z{zyz{{{z{{|{{zz{zyz{z||{{|||{{{{zzz{{{{|{|||zz|{zzzyz|{{{|||{{{|zz{y{{{{{|{{{{zz{{{z{||{z{||zz{{z{{z|||{{{{{z{{{{zzz{|||||{|{z{z{z|{||z||||{{{{{{{z{|{{{{|||{z{{z{|z{||||||{{{{|{{{{{{{|{||}|{{|zz{{|||||||}|{{{{{{{{{{{{|z{|z{{||{{z|z{{}{||{{|{{{{{|{{||||{z|zzzz{|||{{||||{z{z{zz{{{{{{{{{{{{z{zz|{{{||{{zz{zzy{y{{{{|{{|{{z{{z{z{{z{z{z{zzzzzzzzz{||{{|{{zz{zzzz{{|{z{{||z{y{zzz{{{{z{{{zz{zzz{z{{{z|||z{z{zzz|z{{|z{|{{|zzzzz{z{z{z{{z{zyzzzyzzz{zz{{zz{zzzzzzz{zz{||{|{zzzz{{z{{||{z|{{zzzzz{zy{z{z{{{zzz{z{zzz{{{{|{{{z{{zzzz|{{{{z{|{z{z{zzzz{{{zz||z{{{zzzz|{{||{||{{{{{z{z{{zz{|{{{{{{{z{{{{|{{{z{zz|{zz{{{||{{{||{{{z{{{{{||{{{||{{{z{z{{|{||||||{{{z|{|z|{{||{|||z|{{{z{||{|{||||{{{{z{{{|||||{||z{{{z|{{|{|{}|||{{{zz|{||{|||||{z{{{|z{|{}|||}||{|zz{{{{{|||||||{z{{|{{{z||}{|{{{z{{z{z{|{|{|}{|{z{z|{zz|||{||{z{z{zz{z{{{z{{y{z{z{zzzyz{|{{z{{{zzzzz{zz{z{{{{{zz{{{zzy{{zz{{{{{z{{zyzy{zz{{{||{yzzzz{zz{|zzz{z{{{zyz{y{{{z{z{|{z{{{{z{z{zzz{{zyyzzyzzz{{{{{{{zzzzzyz{z{zz{z{{{zzzzzz{zz{{z{|{{zyzzzzzzz{zzz{{{zyzzzzzzz{{{{{{zz{zzz{{zz{z{{{{{zz{yzyyz{{{{z{{|{zz{{z{{z|{{{{z|{z{{zzzzzz{{{{{{{z{{zyzz{{|{{z{{{{z{{{{|{{z|z{|{zz{{yzz{{{||{|{|{{{z{{z|{|{{{|{{z{z{{zzz{{{|||||z{z{|z|{{{{|z|||{{{z{zzz{{{{|||{z{{{{zzz{{|{{{{|y{zz{{{{{{{{|||}|z{{|{{{{{{||z|||z{{{z{{|||{{}|{|z||{z{{{|{|||||z{zz|{{{|z{{||||{{{zz{zzz{z{{{}|{{{zzz{zz{{{{||{{zzz{zzz|{|z{|z{zzzzzzzzz|z|{z|{{zz{zzz{{{|{{{||{{{{zz{y{{{{{{{{{{{{{yz{z|z|{z{{{zzzzzzzz{{z{{z|{y{zyz{{z{z{{|{{{{{zzzyz{|{zz{z{{z{zzzzyz{{zz{{{zyzzz{zzzz{z{z|zzzyzzzyzz{{zz{{z{z{zzzz{{{{z{|{{z{{zyzyy{zz{{{|z{{{zzyzzz{{{z{{{{zzzzzyz|{z|{|{{{zzz{z{{y{{{{{{{zzz{zzzzz{z|{||{zz{zz{zzz{{{z|{|{{{zzz{z{z{|{|z{|zz{{{{z{|}{{{{{{{z{{z{y{||{{|{||zz|z|zz{|{|}{||zz{{z|{||||||{|||{{{{z{z{{{{z|{|{z{{|{}{}||{|||{{{||{|{||{z||{{||{{{|{{zz||{{}||{z|{{{{{{|}||}|{{{|{{z{|{|||{{|}}{z{{{{{{}{{{|{}{|{{{{{{{{{||{|{|{z{{{z{{|{|{|{{{y{zz{z{{{|z{|z{{zy{zz{z{{{{z|z{zzzzzyz{|{{{z{|{{{zzyz{zz|{{{z|zzzzzzzz{{{{{z{{{{zzzzzzy{z{{z{|{{z{y{zzzz{|zzz{z{z{{z{zzzz{zzzzz{zzzyyzzzzz{{{{|zzzz{yzz{{{zz{|{{zzz{yyzz{|{{{{y{zzzy{zzz{|z{z{z{z{zxy{zz{zzzz{{{{z{{zzyz{zzy{{{z{zzz|yz{{zz{{{{{zzzzzyz{|{{{{|{z{zzzzyz|z{|{{||{zz{zzz{{z{{{{|{z{z{zy{zzz{{{|{{{z{zzzz{{{{z{{{{{{{{{{zz|{{|{|{{{|z{{{z{{{||||{|z{yz{{{zz|{|{{{|{{{z{|zz{{{{|{{||{{{{{|{|{|{{|}|{{zz{{{{|{||{{|{{z{zz|{{{|{{|}|}|z{z{{z{}{{||||{|z{{{{z|{{||{{}||||{{{z{z{{|{{|}{{zzz|{{{|{{{||{{z{{zz{zz|{|z{{{{z{z{{{z|z||{|{zzz{zzz{zz|{yz{{{zzz{yzzz{{{z{||{{zyy{zy{{{{{{z|{{y{zzzzzzz{{zz{{{{zzzz{z{{{{z{{|zzzzzz{zz{{z{{{z{zzzzzzzz{|{{{zzz{|yzzzz{z{{z{z{{yzyyyzyzz{{z{{{yzzzz{yzzz{{z{{{{zz{y{zzzz{{{z{{|zzyz|zxz{{yzzz{{z{zyzzyyz{y{{{{zzzzzzzzz{{{|{|{{{{zyzzz{{z{{{z|{z{{zzz{{{|{{z{zz{z{z{zzz|{{{z||z{zzzzzzz{|}{||{{zzzzz{z{|{z{{|{{y{zyzzz{{{z{{z{{z{{z{{z{|{|{|{{z{z{{{{{{|{{{|{{zzzz{{{{|{|{{{|{{zzz{z{{|||{|{{|{z|{{{{{{|{||||}|z{|z{z{z|{||{|{{||{{z{{|{{|{|{}|{{|z{{{|{z{{|||{{{{{{z{||{||{|{z{{{z|{z||{{|{|{|zzzz{z{{|{|{|{|zy{z{zzz{{|{z{zzy{zzzyzy{{z{|{|z|yzzzzy{y{{zzz{{zz{zzzzz{{{{{{|{zz{z{z{z{{zzzz|{zz{yy{yzzz{{{{|{{zzzzz{yz{{z{zzz{{z{yyzy|{{{zz{{z{zyzzyz{z{zz{zzzzz{zyzzz{{zz{{z{zzzzzzzzz{z{|z{zzzzzy{{{zz{zz{{{yzzzyz{{z{zz{{z{zzz{yzyz{zz{z{{{y{zzz{z{{{z{{{|zzzzyzy{{{{{z{z{zz{zzzz{{{{zz{z{zyz{zzzzz{{z{{{{{zzzzzzyy{{{{|{{{{zzz{zz{{{|z{{zzz{{zzz{{|{z|{|z|z{{{{y{{{{|||{|zzzzz{zz{{{{|{|{{{z{{{{z{{{|||||{{zzzz{{{||{||{|{z{{{{{{{{{|{|{||{{{|{|{{||{|{||{{{z{{|||||{{{{{z{zz{zz{{{|||{||{z{{{|{{{{{{{{{|{|{y{zz{{{{|{||||{z{zzz{{{|{|{||{{{{yzzyz{|zz|z{zzzzyzzz{{{z{{|{{z{zzyyzz|zz{{{}|z{zyyzz{{{{z{|z|zzzz{z{{|{{{z{{{{zzyzzz{{{{{z{{{zz{zzzzyzz{z{z{{z{yzzyzzz{zz|{{{zzz{yzyz{z{zzz{zyzzzzzzz{z{z{{zzyzyz{yz{z{z|||zzzzzzzzyz{{z{{{zzzyzzz{zzz|y{zzzz{zzz{zzzzy{z{{|zyzzyzzz{{{z|{{|z{{{zz{z{{{||||zzz{{{zz{{{{{{z{|{{zzzz{z{{{z|{{|{|{z{z{z{{{{||{|zz{{{{z{{{|{{|}zzzz{{{z{|{{{z{|{|{zz{|z{{||||{||{{{z{z{{|{z|{|{}|{{{{{{{||z{||{||{{{{{|z{|{{|{|}{{{{{{|{||{{|||||{z{zz{zz{{|{||{|{|{{z{{||||{|{{|{zzz{z{{{{{{|{|||z{{{{{{|{{|}{|{{z{z|zz{|{|||{{{{z{{z{z{{{{{{||z{zzzz{{{{|z{z{zz{zz{zzzzz{|z{{{{{z{zy{z{z{z{|{|{zz{zyzz{{{z{{{{}{{zyzyzz|{z{{{z|{zzzzzz{{z{z{z{{zzzyzzz{{{{{z{{zyzyyzyzzz{{{{z|zzzzyzyz|z{z{{z{zzyzzzzz{{{{yzz{zzzyyzyz{{{z{{{{zz{{{xyzz{z|{z{{z{zzzzzyzz{{{z{{zzzz{{zzz{z{{|{{zzzyz{zz|zz{z{{z{yzz{z{{|{{{{{{{zyzzz{{z{{z|{|||zz{z{{z{{{{z{|{z{{z{zz{zz|{|||{{z{zzzzz{{{{|{{|{{zz{zzz{{{{{|{|{|{{|z{{{{{|{|z|{{z{zz{{z{|{{{||||{{{{zzz{{|z{{{||zzz{z{{{||{{|{{{{{{z||{}|}|||{|}yz{{{{{||{|{{{|{{{{zz|{{{||{|}{{zz|z{z|{{{{{{{{{{{z{{{z||{{}{{|zz{{z|{|z{{{|{|{{{{z{z{y{{||{{{{{z{zz{zzzzz{{{{z{zz{z{{yz{{{{{{{y{zz{z{z{{{{{{||zzzy{{{y|{{z{{{{{z{zz{zz{zz{z{{{{yyzz{{y{|{{|{{{zyzz{z{z{|zz{|{z{{{zyzzy{{z{z{|y{zyzzzzzzz{z{{z{zyyyz{|{z{{{{|{zz{{zz{z{{{z{{{{{zz{zzzzz{z{{{{{zz{z{zzzz{{{z{z{{z{zzzzzyz{{z{{{{{zz{zz{{{{z|{{|{{zzzzy{zy|{{z|{{{z{{zzzz{{|{{|{{{zz{zz{{{z{{{{{|{{{{zz{{{{{|||{{{z{zz{{{{{{|{{|{{|{{z{{z||||{|{|{{{zzzz{|{{|}|}|{z{{{{{{|{{||||{{{{{|{z{|{{|{z|{{z{{{{z{{||}||||{{z{{{|{|||||||||{|{{{z|{|}|{|}|{z{|{|{{||{|||{||{{{z{|{{|{{||||{||{|{z{|{{{||||{zzzz{{{z{{|||}|{{z{zz{{||||{{|{|{z{{z{zz{{{|{{|{zzzzy{zzz{{{{|{{zzyzz{z{z{{{z|{zzz{{{{z{z{y{{{{|yzz{z{{{z{|z{{|{z{zzzzz{{|{{z{{zzzz|{{z{zzzz{{z{{yzzz{z{zzzz{z{zz{{{{zz{z{{z|z{zzzyzyzz{zz{{{{{zz{{yzyzzy{zz{|{zy{{yz{z{z{{z{{|z{{zzy|z{{{zz{{z{{{y{zyyz{z{{{}{zz{z{{zx{{z{{|{|{z{{{y{z{z{|zz{zzz{{yzzz{{{{z{||zz{{{y{z{|{{|{|{{{z{{y|{z{{{{{{{|z{{{{{{{||{|{|{{z{zzz{{z{|{{|{||{z{z{y{|{{{|||{z{{{{{{{|}{{|{|}{|z{{{{z|{{|{|{{{z{{zzz{|{{{|}}|{{|{{{z{||||||{||{{z{z{{||}||}|||{{{zz{||{{||{|{{{||zzz{{|z||||}|{zz{{{{{{|{{{||zzzz{z{{{{|||{|||{z|{zzyz{{|{{{{{{{{z{zzzz|{{{{|{zzzzyzzz{{{{z{|{zz{zzzz{{|{{{{{zzzzzzz{{z{{{{|{{{|zzzzyz{{{|{{{zz{{zz{yz{{{{{{{zz{z{yyz{{{z{{{z{yzzzyyz{{|zz{{{{zz{zzz{z{z{{{|{z{zyzzyz{zzzz{{zzzzzzzz{zz|{{z{z{zzzz{z{z{z{zz{{z{zzzzyy{{zyz|{z{yzz{zzzyzz|{z{{yy{{zzyzzzz{{{{|{zzzzy{{{{{|{z{|{zz{zz{{{{{|{||zz{{z{zz{{{{z{|{{{z{z{zzz{|{{|z|{{{{zzz|{{|{{{{|{{zzy{{yz{{zz{|{|{zz{{{{z||{||}{|{z{z{{{{{|{|{|{|z|z|z{{{{|{{|||z{zz{{z{{|||{{{||{{{{{{{{{||{{{||{z{z{z{{{|||{||||z{}zz{{||{{{||||zz{|{z{{{|||||||z{{z{z{{{{|{|{{z{{{{zzz{||||{|{|z{{{{z{{|{{{||{z{{zzz{{{||{{{{|{z{zzzzz{|z{z{{{{{{zzzyz{z|z||{|z{{zz{{{||z{{{{{{zzz{zyzz{{{{{{{{{{zz{zzzz{z{|||{z{zzyzyz|zzzz{{z{z{zzyz{{{{z{z{{zz{zyyz{zzzz{zzzz{z{z{yz{{z{{{{zzz{zzz{{z|{{z{{zz{z{zzzz{{zz{{{z{zz{yzzzz{{z{z{{{zyzyzzyzz{{{z{zzz{{zyz{{{z{||{{z{z{z{zz{{{|{{|z{|z{{{z{{z{|{{zz{zzzzz{|{{{{|{{z{{{{z{{z{{{|||{{z{{zz{|||{z{}|{{yzz{z{{{||{{{|{{{zz{{{{{{|{|{|{{{{{{{z{{{|{|{{|{zzz{{{{||||||||{zzz|{{{{|{|||}{{z{{z||z||||{|{|{{{{{{{{z}}||{||{{{{{z{{{||{{|{|{{z{{{{{|{{|{||{|{{{|{z{{{{{{{}}|{zz{{{z{{|{{||}z{{z{{{zz{{|||{{zz{z{z{z{z{{{z{z{zyz{zzyzz{{{{{{{{{zzyz{{{{|z}{{{zz{zz{z{{{|{{|{{{|zzzzzz{|{z{{|z{{zzzzz{{{{z|{{z{z{zzzzzzz{{{{{z{{z{zyzzy{z{zzz{{zzzzzzzzz{{{{{z{zzzzyz{z{z{{{{{zzzzzz{z{{{|{|{{z{yzzyzzz{|z|{{zzzy{yyzzz{z{{{{z{zz{{z{z{zz{{{{z{{zzzy{{{z|{{|{zzzzzz{{{||{zz{{z{{zzzzz{z{{{{{{zz{{{zzz{{{{{{{|{z|z{z{z{|z||{z{{{{zz{z{|z|{{{|{{z{{{{{{{|z{{|{{|{{z{{{{{|zz|{||{z{z{z{{{|{|{{{||y{{{{zz{||||{|||zz{{{{z||{{||||z{{{{{zz||{||||||{|{{|{zz|{|{||||z{{{{{{{|{{|}{{|{{{zz{|{{{{{||||{{|{z{{{{{|{{||{||zz{{z{{{|z|{||{zz{{{{z|{{{{}{{z{{zz{{{z{z|z{{{zyzyzyzy{{y{z{{{zyzzzzzz{{zz{|{zz{xzzzyz{{{{z{{{z{{zyzyzz{zzz{{z{zzzzzz{z{zz{z{yzzzyzyz{{{z{z|z{zyzzzyzz{{z{{y{zzyzzzyz{z{{z{{zyz{y{zzzz{{z{{{{{zzzzzzz{{{zz{{zy{z{yzzyz{{{{{{{{yzzzyzyzzz{z{{zzzz{zzzz{zzzz{{zzzzz{zzz{z{zzz{{{zz{{y{zz|{{{z{z{y{yzzz{z{{{{z{{z{z{z{z{z{zz{{||{{z{zzz{{|{{{{{{{{zyzzz{{{{{{{|{{{zzz{z{z{|zz{{{zzz{{{{{|{|{|{{{{z{z|{|{|{{|{|{||{z{|{zz{|{|{|||{{{{z{{{{{||||{{z{{|z{{z{{{|z{|}{{{{{{z{{{{|{||{{z{{{z{z{||{|}z|{{{z{z{{{|{|{{|||{{{{{z{{{{{{{{}zz{z{{{{|{{|{|{{{z{{yz{z{||{{z{{{z|zzzzz|{|{{zz{{{zzzzzz{{zz{z{zzyzzzzz{{zz{z{{|{{zzyzzy{{{z{{zzz{z{{yzz{{{{zz{{z{z{zzzy{zzzz{{{yyzyzyyzyzz{{{zzzyzyzzyz{{{{zzz{zzzyyzzzzzz{z{z|yzyyzzzzzzz{{{{{{zyzz{zzzz{z{|{{{zzzyyzz{{z|{{{{zzzz{zzzz{yzzy{{yzzzyzzz{{{{z{zzyzzzz{zyzz{|zz|{zzzy{zzz{{{z{|z|zzy{zzy{{z{zyzz{yz{zzz{{z{{z{|z{zzz{{zzy{||{z{{{{{{{{zzy{z{{{{|z|zz{z{zz{{{z{|{{zz{y{zz{z|{|{||{{zz{|z{{{|{{{|||{{{{{{yz{{{|{|||{zz{{{z{|{{{}|{||z{z{{{|z||{{{|||{{|{z{{|{||{{||{z{z{{{{{|{{{|{{{z{{{{zz{{{{||}|z{{zz{zz{|z{{|{|{z{{zz{{||{{{|{||z{zyzy{z{{{{{{{{z{zzzzz{{{|||{z{z{zzzyy{{{{z{{zyzzzzyzzz{{{z||{zzzz{{zy{{zz{{{{{yz{yzyy{zz{{{{{zzzzyy{z{zz{{z{|zzzyyzzz|{zz{{{{zz{yyzzzzz{{z{{{z{{zzzz{z{z{{z{|yzzyzx{z{z{zzzzz{zzzzzzzz{z{|{{{zzzyzzzy{z{{{z{z{zyzzzzyzz{z{z{zz{yzzz{yzzzz{|{{zyzz{zzzz{{{z{{{zzzz{zzz{z{zzz{{{z{zyzzzz{{z{{|z{{{{z{zz{}{z{{|{{zz{yzzz|{{{{{{{{zz{z{z{{|{{z{|{zzz|{{z{{z{{{{{{zz{z|z{{{{|{{{{{{{{zz||{{|||||||{z{z{{z{|{|{{{{{{z{{{z|{{|{{{||{z{zz{{|{|||{||{||z{{z{z{{|{{{{|{|z{{z{{z|||||{|}{zz{{{{{|{{z{{|{{{z{|{z{z|{||||{{z|{{{{z{{{{|{{|{{z{{z{z{|{|{{|z{z{z{zz{z{|{{{{|yzzzzz{z{z{zz{|{z{zzyzzzzz{{z{|{zzz{yyzz{z{{{{{{zyyzyzyz{{{{{{{{{zzzyz{z{z{{{{{|y{zz{z{zz{zzz||{{{yy{zzz{z{z{z{{z{{zzyyyz{z{z{{{zzzzzzzyzzz{zz{zzyzyxzzzz|{{z{{{{zzyyyzzzz{z{{|{{{y{yzzyz{zzzz{{zz{z{zyyz{z{{{{{zy{z{zzy{{{{zz|{{zzzzzzyzzz||zz{{yzz{z{{{{{{zzz{{zz{zzzz{|z{{{z{z{{zzz{{{|{||||{{{{{{{{z|||y{{|{{z{z{{{{{z{|z{{{|{|{zz{|z{z|{{{{{{zzz{{z|{{|{||||z{|z{{z{|{{{|||||z{{{{z|||z{|z|{|zzy{{{{{z|||||{{{zz{{{{}{{{{||}z{{{{|{|{{{|{{|{{y{{z{{{|{{{{||{{{z{{{{{{{{|||{{{{zzz{{{{|{||{|{zz{zzzz{}||{{{|{{|z{zyz{z{z{z{{{{{zzz{z{z{|z{{||zzzzyzz{{{{{|{{zzzzz{zz{{{{{{{{{{yzzzzz{{||{{{|{zzzzyzz{y{z{{y{zz{yzzzzz{yzz{{{{zzzzzzzzz|{{{zz{zzzyzz{{z{{zz{{zy{yzyzyz{{z{{{{zzz{zzyzzz||z{{zzy{|zzzzy{{z{{{z{zzzzzzzzzz{{z{z{{{zzzzzz{{{{{{{yzzz{zzzz{{{z{|{{{{zzzzyz{{{{{|{|z{{zz{{{z{{{z{|z{{zzzzz{|{|z{{{{zz{{{z{{{{{|{{{zz{|{{z{{{{|zz||{z{{{{{zz{|{{{{{zzzz{{z{{|{{{||{z{{y{{{{|{|{||||z{{zz{z{{|{|{{|{|{{{{{|z{}|{|{|}{{{z{{z{{|{||{|{|z{{{{{{{|z||{}|{{||z{{{|||||||{{{{{{zy{{{|{|{|{|{{{z{{|||{||~||{z{{{{{z{|{{{{||{{zz{{z{{|{{{z{|z{yzzz{{{||{{{z|z{zz{zzzz{{{{{{{z{|zzzzyy{{|{z{{|{zzz{yz{zz{{{|{z{zy{zzzz|{{zzz||zzxzzzzz|{z{|{{zz{zzzzzz{zz|{z{zzzzz{z{{z{zzz{{|zzzz{zzzz{{{z{{zz{zyzzz{zzzz{{|{{yzy{zzzz{{{zz|zz{zzzz{z{{|z{{{zy{{zzzz{{z{z{{{zz{zz{zz{{zzz|{{z{z{{{zyz{|{{{{|{zy{zzzz{{{{{zz{zz{{zz{{{z{{{{z{{{zzzzzy{{{|||{z{z|z{z{y{{{{|{z|zz{z|zzz{{{zzz|z|{{|{zzz{{|{{|{{{zzz{{z{{{{||{{|{{{{{{{{{{{{||}||{{|zzzz|{||||||{zz|||zz{||{{|||{z{z{|{|{|z{|||{|zz{{zz{||{||||||{{{|{zz|{{{||{||z{{|{{{{||{|{|}|{||{zz{{|{|||{|{{{{{{z{z|{|{||{z|{{{{zz{|{{z{{{z|{zzzz{{|{|z|{zzzzyzz{zz{|{{|z{zzyzyyzz{{{{{{||{{zyzzzy{{{z{|||{zzzzyzz{z{{{{|{{z{y{yzz{z|zz{{|{zyzzzzzz|{y{{{zyzzzzzyzz{{zzz{{zyzzz{zyz{z{z{z{zyzzz{zzz{zz{z|{{yzyzzyzzy{zz{z{{zzzyyzyzz{|{z{{zzy{zzzzz{zzzzz|zyzzz{zy{{z{{{{{zz{{zz{z{{{|{{z|zzyz{yzzz{||{zz|zz{z{{zz{{z{z{|{zz{{zzz{{|{{{{{|{zzz{zzzz|||{{{{z{{z{zzz{{|{{|||{zzzz{zz{|z|z{{|{{|{{zz{{||||{|{z{|{{{z{{{z{||{||{||{{z{{||{|{{{|{{{{{z{||{|||}|zz{{|{{{{{|{{|}||{|{{z{|z|||{|||{{|{{{{{{{||{|{{{z{zz{{{{{{{{{{{{{z{{z{z{{{{|{{|{z{z{{{{{{{{||||{{zz{z{z||{|{||{{z{{{zzz{{{zzz{{{zyz{zzy{{{z{{z{zzy{{zzz{{z{{|{|{zzz{z{yz{zz|{{|{z{{zzy|{zzzz{z{{z{yz{zyz{{{{{{{{{zyzy{yz{z{z|{{{y{{zz{z{y{zz{zzz{zyzzy{{{{{z{{{yzzzzzzzz|{{z{{{{{{zzzzzzzzz{{{{z{{zyy{{z{{{|{{{z{{z{zzy{{{zz{z{yz{zzzyz{{{z{{{{y{zz{{|zz{{{{{{{{{{|z{z{{{|z{|||{z{zzzzz|{{{z{{|{{{{{z|{z{{{{{{|zzzz{{{z{z{{z{|z|{{|{{yz|{|zz|{{{{zzzz{z|{{{{|{}{{z{|{|{{|||{|{|{{{{|z{{z{{||{{|{{{{z|z{}|||{{{}{{{z{{z|||||||{|{{{{z{{{{{||{||||{{|{|{{{}{{||||{{||{{|z|{|{}{{zzz{{z{{{{{{}{{|{{{{|{|z|||||{|||{|zz{{{{{|{{{{{|{{{{z{{{|{{|z||{{{{yz{z{|{{{{{{|zz{zzzzzz{{{zz{|zzzz{{xzz{{{{{{{zz{yzz{yz{{z{{{|zzzzzzzz{{{|z{{{zzzzzzzzzz{{z|{|{z{zzz{yz{{zzz{{yzzzzz{z{{|z{{z{{z{zzyzzzyz{|{z{zzzzyzzzz{{{{z{zzz{{zzzyz{{z{{{zzz{zyzzz{|{{z{{|zzy{zz{zyzzzz{z{{zzzzzzyz{{{|{{z{zzzzzzz|{{{z{{|{{{zzy{zz{{z{{{{yy{y{z{{{||{{{{{zy{z{{yy{|{zz{{{zz{{zz{{{|{||{||{{y{zzzz{||z{||{{zz{{zzz{||{{|{|z{zz{{{{z{{||{{|z{{z{{z{{{{{|{||{z{z{zzz{{|||||||{{||{{z|||{||||{z{z{{{{{{|{||{|{{{{zzz{{|||{|{||{y{zz{{||{||{|{{z{|z{{{{||{||||{{z|{{{{z||z{||{|{{z{{{{{|{{{{|{zzzz{{zz{{{|{{{{{|yzzzz{z{{{{|{|{zzzyy{{z{z{{{||zz{zyzzy{z{{z}{{zzzz{z{z|{z{{|{{{{zz{zzzzz{|z|{|{zzyzzzzz{z{{{{zzzzz{{zzz{{z{{{z{zz{zzz{{z{{{||{zyzyzzzz{yz{zz{{zz{zzzzzz|{{{{{{zzy{zyy{{z{{{{z{z{zzyyzzz{y{zz{{{z{yzzzz{{{z{z{{zzzy{y{zz{zzz{{|yyzz{zz{zz|{z{{|zzz{{{zz{|{{{{|{{yz{{z{zzz{z{{{{{|z{z{zz{{|{z{{{{z{z{z{z{|{{|{|{{zzzzzzy{|{z{z{{{{{{z{zz{{z{{{z||{{zz{z{{{{||||{{{{{|{{z{|{{{}{|zz{{{{z{||||{|{|{z{{{{{{||{|{{|{z{{{{{|{{{{|{{|{{{{{{|{{{}||||||{{{{{{{z||||{||{{{z{{{z||{{|{|}|{{{{{{zz|{{||{{|{{{{z{z{{{{||{}{|{{z{{{{|{||z{{{||{z{z{zz{{{||zzzzyy{{{z{z|{{zz{{{zzyzzzzzzzz{{|z{zzzy{zzz{|z{zyzyzzzzzzz{{{{{{{{{zz{yzy{{{{z{{{{yzyy{zyy|{zz{zyzz{zzzzz{{{{{|{{{{zyzzyzzzz{{{{{zyzyzyyzz{{{z{{zzzyzzzz{z|{z{{{{{yz{z{yz{{{{z{{{{yyzzyyzyz{y{{{z{{zzzz{zz{{zy{{{y{y{{zyz{{{{{{{{{zzzzz|zzzzzzz|{|zzzzz{{{{{z|z{|zz{{z{{{}|{{z{{z{{{z{{{zz|{{{|{{zz|zzzzz{{{|{z{|{{{z{zzy{z{{{||{{{{z||{{|{{|||{|zzz{{{{z{{|{|{{{|{z{y{{z}{{{|{{{|z{{{zz|||{{{{|}z{{{{{{{||{{|{|||{{{{{{z{|{||||{|{{{zz{{{|||{||{|zzzzz{z{|z||{}||z{{{{{z{{|{{|}{{{{z|{zz{{{{|{|{|z{z{zzz{||z{{{|z{zzyz{{{{{{{{{zzz{zzz{yz{{z{{{yzz{zzzzzz{zzz{{{zzzyzyzy{{{z{||z{zzyzzzzz{{{{zzzzzzyy{zz{y{z{{z{zy{zzzyzzz{zz{{yzzzzyzzyz{{zzz{{z{yyyzy{{{{{{{zzzzyyz{zyz{{z{z{{zyyzyzyyzz{z|{z{zy{zzzzzzz{{{z{{zzzzzyyyz{{z{{zzzzzz{z{zzzz{z{|{z{zzz|zy{z{|{{{|{zy{yzzzz{zz|{{|zzz{zz{z{{z{{|{|zz{{zzzzz|{|{{{|z{{{{zzzz|{z{{{|zy{z{zzz{|{z{{|{zz{{{zz{{{{z{|{{z{z{zzz{zz{||{{{z{z{{{{{{{{{{{|||z{{{zzz|{{{}{{z{{z{{z|z|{||{{|{{z{{{|{zz|{{|{|||{{zz|{{||{{{{|z|{z{{{|{|}{|||{|{z{z{z{z|{{{|{|||{{|{{z{{z|{{{{|{zzz{{{zz||{||{{zz{{zz{z{}{|z{{z{{zyzyz{|{|{|zz{z{yzzzzz{{{{{{{|{zzyy{yy{|{|z{{{{{zzzyyz{{{z{z{|{zzzzzzz|{{{{{{|{zzzzyyyzzz{zzz|yzzz{y{{y|{{z||{z{zzyzzz{zz{zz{{yzyyzyzy{zz|{z{|zz{z{zzzy{z{{{zz{yz{zzzyz{{{{{{{{z{zz{zz{{z|z{{|z{{{zzzz{{zzzz{|{zz{zz{z{z{{{{{{zyzz{{zz{{{{{|{{|{yy{zzz{{|{z||{{z{zzz{z{{{{z|{|z{zzzzz{{{{z{{{|zz{|z{{z{{{{{|{|{{zy{{z{{{{z|{|{{{z{{{{{{{{{{{zz{{z{{z{{{{{|||{}{{{{}{{{{{z{{}{||{z|{{{{|||{{|||{{z{{z{{|||{{||}{{{{{|{|{||{|}{{|{zy{{|z|||}{}|||{{{{z{{{{{|{|||{{{{{z{{{z{{||{{|{{{{zz|{|{{{}|{{{{z{{{{{{{|{|||{{{{zz{{{|{{{{{{|z{z{zz{{z{{{{{{yzzzyzzzz{{{{{{|{{zzzzzzzz{{{{z{{zzy{zyy|{zz{{{z{yzzzzz{{z{{z{{{z{{yzzzy{zz{{{z|{zyyzzzzz{{zzz{{zzz{zzyz{zzz{{{z{zyzyyz{yz{{{{z{zyzyzz{zzzzzz{{zzzyyzzzzz{zz{{{zz{{zzzyz{|{{|{{{zzz{zzzz{zyz{{{{zz{zzyzyzzz{{{{{z{zyz{zy{{zzzz||{{z{{zzz{{{z{{{|zzzzyzz{{{{z{{{{zzzzz{z{{|{{{{|{{zz{{z|zz|{{|{{{yzz{z{z{z{{z{{{{{z{z{zzz||z{{{{z{z{z{z{z{{{|||{|{zzz{z{z{|{|{{|{{z{|{{zz||{|||||{{{z{z{{{|{||{}|{z|{z{z{z|{{{||{|zzzz{z{{}|||{|{|{{{zz{{|{|{{||{{{{{|{z{z||||{{||{{{{z{{||||{|||{{z{{z{{{z{{||||{{|{zy{{{{|{{{|{z{{yzz{z{|{|||z{{{zzzyzzzzz{{zz{zzzzzyyzzz{z{{{{{{zzzzz{{zz{z{{|z{zzzzz{{{{{zz{{zzyzyzzz{z{zz{z{zzzyzyyzy{z{z{z{{yyyzzyz{z|{zzzz{zzzzzy{yz{zzz|zzyzzzzzyz{{zzz{zzzzzzzz{{{{z{{z{zz{zzyzyyz{z{{|{zzyyzzzzzz{{{{{{{zzyzyzz{{z{{{|{{z{{{zzzzz{{zz{|{zzyz{{zz{{{zz{|zzzyyzzz{{zzzz{{{zzzyzz{{{{zzz||z{{z{y{z{z{{z|{{{{{zzyz{{{|{{{{|zz{{zyz{{{z|{{zz|z{zz{{{|{{z|{|{z{|zz{{z{|{{{|{|{{{z{z{z{{|{{{|{|z{|z{z{|{{|{{|{{z{{{{{|z{{|{|{{{z{z{{zz{{{{}||{{{{{zy{z{|||{|{{zz{{{|z{{|{{|||{{zz{{z{z||{|{{|{{{z{{z{{z{||{{||{{{zz{|z{{{{{|{|{z{z{{zz{z{{{|z{zzyyzyzz{{{{z{{z{{zz{zzz{z{{{|{|zzzxz{zz{{{z{{||{zyzyzyzz{|{y{{|{z{zzyzy{{{{z{{|{zzzzyz{{{zzz{{{{zzz{zzz{z{{z{|zzzyzyzyz{zz{{|{{z{zzzzyzz{|{{|{z{zzzzzyz{{zz{{{zz{zzyzzz{{zzz{{{zzy{zz{yz{{{z{{{zzzzzzz{{{z{y{|{|{{zzz{z{{{{|{{zzzzzzy{zz{{z{z|{zz{z{yyz{{{{{{{{zzzzzzzz{{{{{{z|zzzzzz{zz{{|{{zz{zzz{zzz|{|{{{|zz{z{zyzz{|{z{|{{|zz{{{{{||||||{{{z{{{{{{|{{|{||{{zz{zzzz{|{{{|||z{{z{|{{{|{{||||{z{z{z{{{|{{{|||{{{{zz{{|||}{{{{{{{{z{{{|z{{{|{{{z{{z{{{{|{{{z|{{{z{|{{{{|{||{||z{{{{z{z{{{|{|{|z{z{{{{{z{{|{{{{{z|{{zz{{z|z|{||{{zzzzzzz||z{{{|{{zz{zzz|{{{{|{{z{zzzzz{{z{z{{}{{zz{z{zz{{||zz||{z{zzz{y{{{{{{|zzzzzz{{z||{zz|{zzzz{zzyz|{z{{{{{z{{zz{zzzz{|{z{{z{zy{z{z|{{|z{{{{{{zyzy{z{{{{{|{{z{zzzz{{{{{{z|{{yzzzz{zzz{{{|{z{{zz{z{{zz{zz{{{zzz{{{zz{{{z{{||{{zz{{|zz{{{{{{{zzzz{yzz{{{{{{|{{zzzz{{zz{|{||||z{|zz{zzzz{|{{{{zz{z{z{z{|{{|||{{|{{{{zz{{{{{{{{|{{z|{{|{||||{|||{{|{{|||}{||}|||{zz{{z{{||{{|}{|{z{z{{{{|}|||}||{|z||{{{{{{|||{||{{{{{{|}|||{|||z{{{{{||||||{|{|z{|{z{|{{|{{|||}{{{|{zz{|{|{{||{{{{zz{z{{z|z|{|{|zzzz|z{|z|{|||{|{{{z{{{z|{|{{{{z{zzzzz{z{|{{z|z{{yz{zz{z{zz{|{{zzzzzzz{y{{{z{{{zz{zzyz{z{{zz{{z{zzyyzz{z{|z|{|zz{zyzzz{z{z{{{zzz|zzzzy{z{{zz{zyzzyz{zy{zz{z{{zzzzzzyzzzz{zz{zz{yyzyzzzzzzz{|{z{zzzz{yyyz|{{z{{{z{zz{yzz{zz{z{zzz{zzz{yz{z{{z{{{zzy{{zy{{zz{{{z{z{yzzzzz{{z|{{|{y{z{yz{zz{{|{z{z{zzzzzzz{{{{{{{{{{{zz{z{{{{{{{|zz|{z{{z|{|{|{{|zz{zz{z{{|{{{z{{|{{zzzzzz{||z{|{zz{{{{{z{{{||{||{z{{z{yz|z|{{{|{{zz{{{{z{|{||{|{{{{{{||{z{z{{|||{z|zzz{{{|{{{{|||{{{z{{z|{|{{|{{|z{{{{z{z{{|{z|||{zz{{{z{{{{{{{{{|{{xz{y{|zz{||{zz{zz{zz|{{|{{z{z{{zzzyz|{{{{{z{{zyzzyzzz{{{{{{{zzzz{yz{z{{{z{|{zzyzzz{|z{{z|{{{zzzzyzzz{{{{{z{{zzyzyyzyzz{{{{|{{zzzz{{z{{{z{||z{zzy{zzz{z{z{{zz|zzyzzyzzz{{y{{|zzz{zzyzz|{zz{{z{zzzyz{zzz{{z{{{{{{{zzzzzz|{z{z{{zzz{yzyz{{z{{zzz{{zz{{yz|{z{{{{{z{zy{{xz{{{{{{|{z{{{{zz{{{{zz{|zzzzzzzyzz{{{{{{zz{{zzzzz{{z{{|{{{{{{y|yz|{{{{{{{{{z{{zz{{|{{{{{|zzz{yz{{{z{{|{|{{z{{{{z|{|{{{{|{z{z{{{{{{z|{||}{{{{zz{{{||||{|||z|||{{{{||{||||{{{|{{{{{|{{||{||z{{{{z{{|}|{||{|{||zz{{{{}{{|{{{{{z{{z{{{{|{||}{z{z{{z{{|{{{{|}{{{{{zzz{|{|||||z{{{||{z{{{{{z|{{{{|{z{z{{||{{{yz{zzzzzzy{{{{{|{zzzz{zyz{z{{{z{{{zyzyzzz{{y{{{z{{{{zz{zy{z{{z{{{zz{yzzyyz{{|{{|{{zzzyzzyz{{z{{{z|zyyzz{yzz{zzz{zz{{z{z{zzzzzzz{z{zyz{zzz{zz{{zzzz{zzzzz{{{|z|{z{yzzyyyzzzzz{|{{||zzzzzzyzz{z{z{{z{yyzzzz{z{{z{z{{z{zy{zz|{|z|z{{zzzz{yzzz{{{{|z{{{{zzzzz{z{{|{{{zz{zzz{{{{{{z{||z{zyzzz{{{{{{{{{{zz{z{zz{|{|{{|z{{zz{zz{||{{z|{|z{zzy{{{|z{{{|||z{{{{{{{{{{{||||{{{{{zzz{|}{|{||{{{{{{{{||||||||{{z{{z{{z{{{||{||{zzz{{{z}|{{|||}zz{{z{|{{|{|{{|{{z{|{{{{|{|{||}{{{{{{z|{{{{||||{{{zz{z{{z{|z{|{z{{{{{{zz{|{z|{{{zzz{zzz{{|{{z{{yzzzzyzz{z{zz{z|{{zzz{yzzzzz{{{zyy{yzzzz{z{{{{|{{yzzzzyzz{{{yz{{{{zzyy{z{z|z{{z{yy{zz{{zy{zz{z{zzz{z{zzzyz{z{{{zzzz{zzzzzzy{zzzzzzzzzyzzzz|z{{{z{yzyyzxyzz{{{z{{zzzyyzzzz{z{z{{{{zzzzyzzzz{zz{{|zzzy{zzzzzz{z{z{zzzzz{zyz{{z{z{{zzzz{yzzz{{zzz|{{{y{yyzzz{z|||{{zyzzz{z{{{}zz|{z{z{z{y|zz{{{{{{{{{{{z{{z{z|{{|{z{{z|{zyz{{{zz|{{{zz{{{{{}{|{z|||z{{z{z{{z{{|{{|||zz|z{zz{{||{{{|zz{{||{{|}{{{|||{z{{z|z{{{}{{|{{|z{|z{z{z|{||||{|{z{z{{{||{{{||{zzzz{{{{{z|{|{||{{zzz{{z{{|z{|||{{|zzz{{z{{{|{|{{{z{{zzz{{{||{{}{{{zz{zzz{{|{|{z{zzzyy{yz{zyzy{zz{{yzzzzz{z{{{{zzzzyzzzz{yzzz{{{{zyy{y{z{z|zzzz{{zzzzy{yz{{{z{z{z{yzzzzzzzzz{{{zzzzzxzzz{zzz|{z{zy{yyzxyzyzz{{{{zzyzzyyy{{zz{{{{zyzzyyzyzzzz{{{{zzz{xzzy{{{{zz|{zyy{zyzz{{{{z{{{zzzzzzzzy{{{{{||zzz{zzzzzzz{{z{{zyz{zz{zzzzz{z{{z{zzzyzz{{{|{{{{{|{zzzy{z{{z{|{{zzzzzz{zz{{{z|{{y{zz{{yz|{|{{|{{{{zz{{z{{{{||{{{zz{z|zzz|{{{{{||zz{zz{z{{|z|{|{|{zz{{zzz{{{{{{{|{zzz{zzz{{|{z|{||{|{{{{{z{{||{|{{{{{z{zz|{{|{||{{{{|zzz{z{{{{{{||zz{z|z{{z{|{||||{zzz{{{|{{{{z||{{{{{z{{{|{|{{{|{{{zzzzz{||{z||{{zzzz{{z{z{{{{y{zyxz{yyzzz{zzzz{zzyzzyzy{z{zzz{z{z{zzyyzzz|zz{{z{yzyzzyzzz{zzz{zzzzyxyzyyzz{z{{{zzzyyyyyz{zz{{z{zzyzzzzx{z{zyzyzzyyyzzyyzzy{z{{{zyyzzzzzy{{{z{zyzyyzyzyzyz{{{{{zzzyzyyzzz{z{zz{{{{zy{zzyyz{zzzz{zzzyyzzzzzzzyz{zzzzzzzzz{{{zzz{zzzzyzz{yz{{z{z{zzzzzzzzy{z{{{z{{z{z{zyz{z{{zz{{{{{{zyzzzz{|{{{{{{y{zyzz{{||{{{|{{{z{z{yy{{{|z{|{{{z{z{zz{{{{{{z{z{{z|zzz{{{{{|{{zzz{{zzz|{|{||{{{zyz{zzy{|{|{||{{zz{{{z{{z{|{|{|z{{zzzzz|||{{{{{{z{zz{zz{zz|{{{{|z{{{zyz{{|{||{|{zyz{{z{{{{|z|{|z{zzzzzzz{z{|{{{{{z{yz{zzz{{zz|z{zzz{zz{|{{{z|{{zzyzzyzy{{{{zz{{zzzyzyzz{|{{{{{zzzyyzzzy{zz{z{{zzzzzzzzz{z{{z{z{{z{yzy{zzz{yzz{{zzyzzzzzzz|z{{{zzyzy{zzz{zzzz|z{zyzyyyzy{zy{zz{{zzzzyyz{z{z{{y{{zzzzzyyy{{zz{z{z{z{zzzzyz|zzz{|zzyyzzyzzzzzz{z{{{z{zz{{yy{zzz{{zyzz{zzzzz{{{z{|zz{zzzzzzz{{z{{{{zz{zzzzz{zz{z{zzzyzzyz{z{y{z{{{{z{zzzx{z{{{z|{{{{z|z{yz{{zzz{{{z{zzzzzyzz{{{{{z{{z{zz{{z|{{{|{|{zz{{{z|{||{{{||||z{|{zz{z|{|{{{|{{{z{{{{||{{{{||zz{{z{{z{z{{{||{{{{{{{{z{{|{|{|{{z{{yz|z||{|{{|{{z{zzz{{{{z{|{||{z{||{zz{|||{|||{{zz{{zz{{zz{{{{{z{zzy{zy{|zz{{{zz{y{z{{z{{z{{{{zzz{zzzyz{{z{{{zzzz{zz{z{{{z{{{{{{zzzz{z{z{z{{{|{z{yzzz{{z{{y{{{zzzzy{{y{z{zzz{{zzzzzyzyz{{z{z|z|{zz{zy{zzyz{{zz{zzzz{zzzzzzzz{{{zzz{yzz{z{z{{{zzzzzzyyzzyyz{{{{{{{zzzzz{{|{{|{{zzzzzzzzz{{z{{{z{zzzzyzzz{{{z{{{{zzzz{y{{z{{{{{zzzz{zz{zz{|{z|{|{z|z{{zzz{zz{z{|{zzzyz{z{{{{z{z{zzz{|{{zzzzz{|z|{z{z|{z{{{|{{|{{{z{|{z{{|{|{{|{||{{zz{|z{{{|{{{{z{|{{{{{{|{{||{~{{{{z{{z|{||{|{||{z{{z{z|}||{|{|{{{{{||{|{|{|||{{{{{z{z{{}z|{|{}}{{{z{z{{{|{{|||{{{{|{z{|{z{|{|||{{{{|z|{z||z{|}{{{z{{{{{}|{|{{|{{{{{yz{z{|{z|{{{yyz{{{{{{|zz{z{{zzzzz{yz{z{|{z|z{zyzyyzyz{{z{{{{{zzz{zzzzz{{{z{zz{zzyzzz{{zz{{|{z{yzzzyzzzzz{z{{z{zy{zzzz{{|{{{zzyzyzyzzz{z{{y{zzzzzzyzzzzz{|{zzzzz{z{zz{z|zz{{{zz{zyzy{yz{{{z{zzyyy{yyz{{{{z{|zzzzy{zzzz{zz{{|yz{zzzzzz{{zz{{{zyzyzzzzz{{z{z{|{zzyzyzz{{{z{z{{{zzzzzzz{|{{{{{|z{zzzyz{z{{{{{zz{{{zzy{yz{{|{{{{z{{zz{{{|{{{{z{{{zz{z{{{{||{{{{{{{{z{{{{{{{{{{{{{{zz{{z{{||{||{|{z{zz{zz|z{|||{{|z{{|{z{{|{{{{{|z{{{zz{{{z{{||{}{{{{{{z{|{{{{{|||{z{{{{{||{|{|{||{{zz{z{{{z{{{|{{{z{{{z|{{{{{{{{z|zz{{{{{{{|||||||{{zz{{{|{|z|{|yzzzzzz{z{{{{zy{zzzzy{y{z{{{{{{{z{zzzyzz{{{yzz|{{zzzy{z{{{z{{{{{{zzzzyy{z{|zzz{{z{zz{yyz{y{{{{z{zzzzzz{z{{z{{{{z{zzzyz{z{yzzzzzzzzzzyzyzzzz{zzz{y{zzzzzy{{{zz{{zz{yzzzzzz{{{z{{{zzzzy{y{y{zz{|{{z{yzyyzyz{{{{{zzzzzzz{yzyzzzzzzzy{zzzzzyzzzzz{{{z{{zzyz{z{zz|z{|z{z{zzzzz{zz{{{{zz{{zzyz{{{{{z{{{{{{zyzzzz{|{|{{zz{z{z{z{z{{{{{{z{{{zzzzz|z{{|{zzzzz{zzz{|{{{{z|{zzz{{{{||{||{||{{z{y{zz}||{|||{{{z{|z{{||{z{{||{z{z{{{|||}{{}|||z{{{|{{{|{{|{{{{{z{{z{|{{||{|{{{zz{{{z{{{{||}||{zz{|{y{z{z|{z{{{zz{{{{{{{{{||||zz{zz{zz|z|{z{|{zz{z{z{y{{|z{{zzz{zz{zzyz{{{{{{z{yzyzzyzz{zz{{z{{zzyzzzz{z{z{{{{{z{z{zyzzzzzzzzz{{zzyzzyzz{zz{z|zzzzzzyyz{|zzz{zzzzzyzzyzz|{z{zz{yyzzzyz{zzzz{{{{yzzzyzyzzzzz{zz{zyzyzyz{{z{{z{{{yzzzzzyzzy{z{{{zzz{zzzz{zzzz{zz{zzyy{zzzzzzz{|zzz{z{z{{{{{{zz|{{yzz{y{zz|{z{z{{{{z{zz{{z{{{{|{{z{{zzy{zz{{z{{{{zz{{{zzz{{{{|||{zz{zz{y{{{{|{{|{{{{{{{z{|{{zz{|{{{{z{z{z{{{||{{|{{{z|{{{|{{{{{{|{{{z{zz{|{{{{{|z{z{{{{{z{|||{|||{z{zz|{{{||{}|{|{zz{{{z{{{|{||z||{zz{{{{{{{|{}{|||{z{{zy|||{|{||{{{zz{{{{{{||{{{{z{{z|zzzz||{{{|{{z{{y{{|z|{{{{{zzzy{z{z{z|{|{{{zzz{{zzy{{{yz{{{y{yyxxyy{zz{z{z|z{zxzzzzzzzzzz{zyy{zyzzyz{z{{z{{y{zyzzyyzz{y{zz{zzzzzz{yyzyzy{{zzyzyzyyzyyzzzzzyzyyyzzyy{yzzzzzzyyxyzyzyy{zyzz{zzzzyzzyyzzz{zz{zzzzzzyyzz{z{zz{zzyyz{yzzz{{yz{{{zyyyzzzyyzz{{z{{{z{zy{zyzyzzz{{z{zyzzyyzzyzz{zz{z{{zyzzz{{zzzz{|yzzyzzyzzzz{z||zz{yzzzz{z{zz{{{zz{{z{z{z{{{z{zzz{{zzzzzzz{{z{{z{{yz{z{zy{z{|{{{{z{z{zz{y{{{{y|{{{{|{zzzzz{{|{{{{zzz{{{z{||{{{{||z{z{z{{{z{{z{{||{{yzzz{zz{{|}|{|{z{{zzz{{z{{{{{||zzzzzzzz|z{{{|{{zzyzzyz{{{zz|{{zz{z{zzz{|z{{{{z|z{zzyzz{{{{{z{{zzz{zyzyzz{{{{z{z{zzyzzzy{y{z{zzzzy{zyyyz{{{{{{{{zzyzyyy{z{z{zz{{zzyzzyzzzzzyz{{zzz{zyzyz{{z{zz{zzzzzzyyz{{yzzz{zyzzzyzzzz{zyzzzzzzyzzyzzyzzy{zzyzzyzzyzzyy{yz{{zyzzyyzz{zzzzz{yzzzzzzyzz{zz{{{zzy{zzyzzzzzzzyy{zxzxzzzzz{zzz{z{zzzyyzzyz{{{zzz|z{yzyzzzzzzz{z{{zzzyyz{yzz{z{z{{z{zy{yz{z{{zzz{{zzzz{zz{z{{{{{|z{z{zzzzzzz{z{{|{zzzz{yzz{{{{{|{{zzzzzzzzzz{z||{{{{z{{zzz{|{{|{{{{zz{{yyz{{{z{|{{{{{z{y{{{|{{{|}{y{{{z{z{|{{{{{{|{{z|z|{zz|{{{||{{zz{{{z{{{|{||{{{z{{{z{{zzzz{{z|{zz{zzz{|{{z{||{z{{y{zyz{{{zz{|z{zyzyz{z{{zzz{{zzz{yzzzz{{|z{zz{zzzzxzzy{zzzzzzzzyyyzyyzzzy{{{z{zyyy{yyy{yzzz{{{{zyzyzzzyz{zz{|zzzzyyzyzzzz{{zz{yzzyyyzyz{{yyzz{zyyyxzyyzzzzzzzz{yzzzzxyzyz{z{yzyyyzzyzyzzzyy{z{zyzzzyyzzyz{y{zy{zzzxyyy{zyzzzz{{yzzyyzz{yzyyzyzyyzyzzyyz{zzy{z{zz{zyzzy{zz{zz{{zyyyzyzzzzz{zz{zzzyzzzzz{zzz{z|zyzyyyyzzz{{zzz{z|zzzzy{zz{{{{{yz{zzyzyzzz{{|{zzz{zy{zzzz{{{zz{z{yzzyzzxz{|z||{|{zz{z{y{z{{{|{{{|{{{{zyz{{{{{{{{z{zzz{z|zz|{{{{|zzz{{zz{{{{zz{|{{{{zzzzzzz{|{z|||{z{zzz{zz|{{{{|z{yzzz{{z{|{{{{{|{{{{zzzz{zz{|z{{z{zyyzzzz{zz{{{{{zzzzzyzz{{{zz{{yyzyyyzyzzzzzzzzy{yyzzzyzzzzzz{zzzyyzyyyzzzzz{{z{zyyzzzyzx{zzzzzzyzzzyxzyyzzzz{{zzyyyzyzyz{zzzyzzzzyyzxyzzyyzzzzzyyyyyyyzzzzy{zyzzyyyyyyxyz{{{zyyyyzyzxy{zzzzzzzzzzyxzyyzyyy{yz{yyyyzyyyyzyzz{z{zyyyyyyyyz{zzzzyzyyxzyzzz{{{yz{zzzzyzyyzz{zzzz{{yyzzz{yzzzzzz{{{zzzzzyzzzz{{z{{{zzyzzyzzz{{zzz{{zzzyyzzyz{z{{z{z{yzyyzyyz{{z{{{yzzyz{yzz{{zzz{zzyyyzzyzz|{{||{z{{yz{zz{zzzzz{z{{zzzz{yyz{{z|{{{z{zz{zzzz{{z{{{{{{{{zy{{z{{{{{{{{zz{{zzzzz{z{z{{{zz{{{{zy{zzzz|{{{z{{zzzz{{{z{{{{{{z{{{zy{z{{zz||{z{zz{zzzzz{{{{zzzzyyzzyz|z{{{{{zz{zzyzzz{{{{z{z{yyyyzyyz{{zy{{{zzzyyyzz{y{z|z{{zzzyzzzz{z{z{z{{zyyzzzzy{|zzzy{{{zzyzzzzyyzz{zy{yxyyzzzyzz{{{z{{zzzxzyyyzz{zzzzzzyzyyzy{{yz{yzz{zzyyyzyyz{{z{z|y{zzyyyyyzzz{zz{{zzzyyzyyzzzz{zzzz{zzyyzzyzzzzzzzzxyzyzzyzzzyz{zzyzy{zyyz{zz{zz{zzzzzzyz{yzz{z{z{zzzzzzzzzzzz{{{{zzzzzzyz{z{{z{{{z{z{zy{z{{z{{{{{zzzzyzzz{{{z{|{zzz{y{{zzz|{{{{{{zzz{{z{{z{{{{|{|z{{z{z{z{{{{|||zz{zz{zyz{|{{{z{{|{{{{{{z{|{{{{z|{{zz{{{z{zz|{{|z{{z{{z{{{{{{{z{{zz{{{z{z{{{{|{{{{zzz{z{{{{zz|{|{{zzz{zz{{|z{||z{zzzzzzzz{|{|{z|{{zzyzzyzz|{{|{zzyyzyzyzy{zz{{zz{yzzzzzyzzz{zz{z{z{yzzyyyz{{z{{y{zzzyzzzz{yz{{{{zzyyzyzxyzzz{z{z|zzyyzy{yzzzzz{z{zzyyyzyyzz{zzyzzzzzyyyzx{z{zz{z{yzzyyzzzzzz{z{yzyyzyzy{zyz{zy{zzzzyyyxyz{zzyzz{{zzzyyzzzz|zzz{z{zyzyzyzzz{{{yz{zzzyyyyyyz{zzzzzzz{z{zzyzzzzzyz{{zzzy{zzzyzzzz{z{zz{yzz{z{zz{zz}yyz{yyzyyz{zz{{z{yz{zzzzzzzzy{zz{yzzzz{zyzzzz{{|{{zz{z{{{{z{zz{{{zzzzz{y{{{{{|{{{zzzzz{{z|{z|{||{{zzzzy{z{{{z{y{z|zzzz{z{{z{||{|{{zzy{{{zzzz{{{z|{z{{{z{zz|{{{||{{zz{zzz{{z|{{{{|{zzz{zz{{|{{{|{{{{{zz{z|{{z{z|{|{zzyzz{{{z{z{|{{{{zzzzzzz{{{z{{{{z{yzy{y{{z{{{zzzzzzzyzyz{{z{zzzyzzyzyyzzz{z{zz{zyzzzzyz{y{zz{{{zzzyyyyyz{{zzz{{z{zyzzzzz{{{{{z{zzzyzzyzz{zzyz{yzyzyyzyyzz{zzz{zzzzx{zzzzyz{zy{{yzzzzzyz{zzzyzz{zyzyyzyzzz{y|z{{z{zyyzzyzz{zyyz{zzyzzzzzzyzzz{{zz{zzzzzy{{{z{{zz{yzzyzzz{z{{{z{{zzzz{yzy{zz|{z{{zyzzyzzzzzz{{z{{yzzyzzyzzz{{{{{|{zzy{zz{zzz{z{{zzzzzzzzz{{z{{z|z{z{{y{zzzz{{{|{y{{z{zzzz|{{}|{{z{zzy{{z{|||{|{{|{zzyzzz|{|{{{{|yzzz{zzz|{{|{{{}{{z{zz{{{z|{{{{{|{zzzz{z{z||{{|{{{z{{{z{z|{{{z|{{zyz{zzzz{{{{|{{{|z{{zz{{{z{z{|{|{{zyzz{zz{{{zz|{{zz{z{zyz||{{{{{z{{zz{yz{z{{{zzzzzz{yzzyzz{zzzz{zzzzzzzz{zzz{|{{yzyzyyzy{{{z{z{z{zzyyxyyyz{zz{{{zyzyyzyy{z{{{{zzyzyyyzyy{zz{z{zz{zzyzyyzzz{zz{y{{zzyyzyzzzzy{zz{yzzyyzzzzzzyz{{zzzyzzzyyzz{yzz{zyyzzxzzzz{zy{{{{yzz{{yyyyzzzzzzzyzzzyyyzzzzzz{zzzzzzzz{yzyz{{{{{zzyz{yzzz{zzz{{{zzz{zyzy{{zz{zz{zy{zz{zzzz{{z{z{{zzzzy{zzzyz{|zzzz{zzzzzyz|{{z{z{z{zyzzzzz{z{|z{{zyzzzzyzzzz{|{{zzzzzzz{{{{{{|z{{{yz{zz{{|{{z|{{z{yz{zzz{{{{{{|zz{z{{{{{{{{{|{{{|zzz{zzzz{z{{{{|{z{zzzzzzz{{{{|z{zzz{{{z{|{{{|{|{{z{zzzz|{{{|{z{{{zzzzy{z{z{zzz|{{yzz{z{z{{{{{{zz{zzzyzzzz{zz{zzz{zzzzyyzzzzzzz{yzyzyzzzzzz{{z{{zzyyxzyzz{z{zz{{yzzyzzzzz{zzyzzzzzzyyzyx{zzzzzz{zy{yzyzyy{yyzz{{zzyyzyzyzzzzyzzyyyyyzyy{z{zzzzzyzzyyyyyzyzzzz{zzyyyyy{zyzzzz{{z{zzyyyyzy{y{|zzyzzzzy{zzyz{zyyz{{{zyyyyyyz{y{z{{{zyzyyzyz{{zzzz{zzzzzzzyyxy{zzz{{zzzzyz{z{z{{z{{z{yyzxzyzzzzz{|z{zzzzzy{zz{{{y{z{zzzzzzyyz{z{z{|{{zzz{yyz{{z{zz{{zzzz{yyz{{|{z{|{zzyz{z{zz{{|{zzz{zz{yzyy|{{y{z{{zy{z{z{z{{{{{|{{{z{{zz{z{z{{z{{zzzz{z{{{{|z{{{{{|{{zzzzz|{|{z{{{{yzzzzzz{zz{{z{{{{yz{{z{z{z{{{{|zzzzzzzyz{z|z{{{z{yzyz{zzz{zz{{zyy{zzxyzz{{zzz{zzzyyzyzyz{zz{z{zzzyyyyzyz{{zz{{{{zzyzyyyzz{zzzzzzyyzzyzzzzzzzzzzzyzzyzzyzy{zzz{{zzzzyyyzz{zzzzzzzzyyzyzy{zzzz{{{zyzyzyyyzzzzzz{{zyyyzyzyzzzzzzz{zyzzzyzz{zzz{zzz{{zzyzzyz{yzz{zzzzyyzzzyy{yzzz{zzyzzyzzzzzzy{zzzzzzyz{yyzz{{|{z{zzzzyzyyzyz{zyz{zyyzzzzy{{z{y|{{zzzzyzzyz{{zzz{{zzzzzyzzz{{{{|{zzyz{yyyz{{{{z{|{z{zzzzy{{{{{z{z{{zzzzzzz{zz{{{z{zzz{{zz{|{{{{{{{{zy{{{yz{{|{{{|{{zzzz{zzz{{{{{|{{y{{{z{{{|{|{|{z{zz{yzz{{{{{z{|{{zzz{{{z{{|{{{{{|zzz{{zzz{z{|z{}{z{z{zyz{|z{z{{{{{zz{z{{z{{{{{|{{zzzz{zzz{{{{{{{zzz{yyzz{{{{zzzzzzzzzyzyz{zzzzzzzzzzyzyzz{z{z{|{zzzyz{yyzzzz{{{{zzzyzyyyz{{yyzzzzzzzyzyz{zz{{z{zzyzyzzzyzzyxzzzyzyzyzzyxzzzzz{z{zz{yyzzzzzzzz{{{yyyzzyyyy{zy{z{zzyyzzzxzzz{zzzzzyzzzyzyyzz{zzz{{yzyyzyyzzzzz{yzz{zyzzz{{z{zzzzzzyzzyzzyyz{zy|z|{{zzzzyyzz{yz{zyzzyzzyzz{{{z{z{{|{zzzyzzyzz{zz{{|zzzyzxzzzzz{z{{zyy{zzzzzzz|{z|{z{zzzzzzz{z{{{{{{{{{yz{zzz{|{{z|zzz{{{z{z{{z{{|{||zz{{yyz{{z|{{{|zy{{{zzy{{zz{z{{{z{z{z{{{{{{{{z||z{z{z{z{{{{{z|{{z{zyzzzz{|{{|{{{{zzzz{{{{{|{||}{{z{{zy{{{{{{|{{zz{{{z{zzz|{||}{{{z{zzzz{{z{z{{zz{{zzyzzzz{z|z{zyzzyzzzyyz{zzz{{zzyyzxxyz|z{{{z{zzyzyzyz{zz{z{{zzyzyzzyzzzzzyy{z{zzzyzzzzz{{{z{{yzzyzzzz{zzzy{{{zyzyzzzyzz{y{{{{zzzyyzzzzyz{zy{zzzzyzxzyzzzzz{{{zzzzzyyzyy{zzz{{zzzyyzyyz{zzz{|z{yyyyyyxyzzz{{zz{yzzyyyzzzzzzz{{{yzzzzzy{zz{{z{zzzzzyyzzzz{z{zzyzyzzzyzy{{z{zzz{{yzzzyzzzz{zz{{z{z{{{zz{{{{{{z{zyzzzzzzzz{{{z{{{zzz{yzz{{{zzz{z|{{{zzzz{z{z|{{{{zzz{z{{z{{z{z{||{z|{{{zz{{|{{||{{z{{{y{z{|{z{|||{{zzzz{{{{{|{||{{z{{{zz{z{{|{{{|{{{{{zz{{{{|z}z{{zzzzzz{y|{{{|{|z{yz{z{{|{{{|{{{{{zzzzzz{{y|{{|{{z{{zz{z{{{{zy|z{{yzzz{{z{{{zzzzyy{yzyyzz{zz{{{{yyzyzyyyzzzzz{{|zzyzyyzzz{zz{z{zz{yzzyzyzzy{zz{{yyyyyyzxyzzzzzy{yyzzzzyyyzyyz{z{z{yyzzzyz{{zzyzzzzzyyyyyzyyz{{y{yzyzyyyyyzyzzzzzzzzyyyyzzzzz{zzzyzyzzyzyz{zzzyz{{yzyyzyyyyzzzz{zy{zzyzyyyzzz{{z{zzzzzyyzzyz{z{z{zzzyzyzz{z{z{z{{{zzzzzzz{{z{zz{zyz{yzzzyz|zzzz{yzzzyzzzzz{zzz{{z{zz{zzzzz{{{zz|{zyyzyzzz{{{z{{{zyzzzz{zz{z|{z{{{zzz{{z|{{z{{{z|}z{{zzzzyzz{z{{{z{zzzzz{{{||{{|{{z{zzzz|z{{{z{{{{{zzz{z{{{{{{z{|{{z|{{{z{{{{{|{{|{zz{z{{z{{{{{{|{|zy{{{yzz{{z{|{{z{zyyzzzz{{{{||{{yz{zzzzzz{{{|{zzz{zzz{x{{{{zzz{zyyyzzyxzz{zz{y{yzzyzyyxzzzzz{{{zzyyxy{yzz{zzzzzzyzzyyyyy{zz{z{{{zyyyzzy{zyzzzz{zzzyzyyyz{yy{yzzzzyyzyyzzzzzzzzzzzyzzzyyyyzzyz{zzzy{yzyyzzzzzzzyzzzzyzyzyyy{zzzzzzyzyzyzzz{zzz{{yyz{yzzzzzzzzzzzzzyyz{{yzzzy{zzzz{zz{yyyz{y{zz{{zyzzyzyzzzzzzz{zyyzzzzzyzyyy{{z{zxzyzz{zzzzz{{{z{yzyyy{zz{z{z{{{yz{zzzzz{{{zzz{z{yz{y{y{{zz{z||z{yzzzyzy{{{{{{{{zzz{zyz{{{{{z{zz{{zzz{y{z{|y{{{z{zz{z{z{z|{{{{{{{{{z{z{z{|{{|||{{zzzz{{z{{{|{{{{{z{{zzzz{{{{{|{{{z{{yzzzz{z|{zz{{{zz{zzz{|{{{{{|{zzzyzz{{{zzz{{z|{zzz{zzz{{{{{{{yy{yyz{yzy{{z{z{zyzzyyzyz{zyzzz{zzyyzyyzyzzyzzz{zzyyyyzzzzz{z{z{{zzzzzzyzzz{{z{zzzzzyzyx{{zzz{{{yyzyyyyyy{z{{z{zzyzyyzyyzz{yzzzyzzyzzyyzzzyzzzz{yyzyyyzzyzz{z{{zz{{zyzyzzz{zz{zzzzzzyyyyzz{z{{{zzzzyzyzzzzzy{z{zzzyyyyyzyzzyzz{zz{zyzyyy{zz{{zzzzzzzzyyyzz{{z{z{zzzzyy{z{zz{z|{yzzzyyzzzz{zz{{{{zzzzyyzz{{z{{{{zz{zyzzzzz{{z{z{z{y{zyzzz{{{{zz{{{{zz{z{{z{{{{{{{zzz{{zzz{{{{{z{{zzzzz{yyz{{z{|{{zzz{{zzz{|{zz{|||zzzz{{zz{z{{{{{|zzz{z{{{|{{||{|zz{{zzzyz{{{{{{{{zz{zyzz{{{{{{{{{zzz{zzz{{{|{||{zz{y{zz{zzz{z{|z{zzz{z{yz{z{z{{{zzz{yz{zzz{{z{zzzxzyzzxyzzzyzyzz{{yyyyyy{{z{zz{zzzyzyzzyzyz{zz{{zyzyyzyzzzz{yyz{zzzyyzzyzy{y{{zzzyzyzzzyyzzzz{{yzyzyzyyy{zzz{{zzzyzyyzy{zyyy{{{zzyxzxzyzzz{z{z{y{yzzyyyyzzzzz{zzyzzyyzzyzzzz{zz{zyyzzzzyzzzzzzzzzyzyyzzyy{{yz{zzzz{y{zyzzzzzzz{{zzyzzz{{z{zzzzz{zyzz{yzzzzzz{|z{{{{zyzzyz{{{zz{zzy{zzzzyz{{{{{|{zzzy{zzz{{{z{z|z|yzyzzzz{{{{{{|{{{zz{zz{{z|{zz{|zzzz{z{z|{{{{|{{{{yz{zxz|z|{{{|||z{zzz{y{{z{{{{z|{{{yzzz{{{{{{|||zz{z{z{z|{zz{{{{z{{zzzz{{{z{{{{|z{{{zzz{{z{{z{|{{{|{|y{{|{{{{z{z{yy{zyzz{{{{{|{zzzzz{{zz{{{{z{{zz{yzyzz{{{yzzzzzzzyzzzyyzzz{zz{zzzzzyzzzz{z{zz{zzzzzzyy{z{{{{{|zz{yyyy{z{z{zz{{y{{zyxzyz{{y{{zzzzzyzzyyzzz{z{zz{zyyyzyzz{{zzzzz{yyxyyyzzzzzy{{{yzyzyzzyzzz{zzz{zzyzyyzyz{{z{zz{{z{zyzyyzzz{yz{{yzzzzzyxz|zyyzzzzzzzzyyyzzzzzzy{{y{yzz{z{z{zzz{|{yyz{yzyz{zzz{z{yzzzzy{zz{z{z{{|zzzyzzzz{zzz{z{|zzzzzzzzz{{{{z{{{xzzzzyzz{{{{z{{zzzzy{z{{{{{z{{{{z{zz{zyz{{z{|z|zz{{z{zz{{{{{{|{{{z{z{z{{{}{{{z|{y{{zzzz{{{z{{{{{zz{zzz{{{{{{{{{|zz{{z{{|z{{{|||{z{{z|{z{||{|{|{z{zz{{z{zz{{{{{{{{{{{zz{|{{{{z{{z{{zzz{{z{{{z|{{zzzzy{yz{{{{z{z{zzzzyzz{{{z{zzz{yzzyzyzyyzzz{z{{{yyzzxyyzzyzzz{z{yyzyzzyyy{{z{{{zxzyxzzyzyzzz{{zzyzyyyzyzyyzz{|zyyzzyyzyzz{z{z{zzzzzzyzzzzzzyzz{{zyxyyyyz{zzz{z{zyyxzyzyzzz{zz{zzzyzxyzzzz{{z{{{zyzzyyzzzzzz{y{{{zyyzzzyzzz{z{z{zyzzyyzxzyyzzz{yzyzzzzzz{zz{|{|{zzzzyzzzzzz{{z{zz{zzzz{zz|yzzz{{zzz{zyzyz{zzz{{{zzzz{yzz{{y{z{|zzy{z{{zzz{{{zzz{yyzyzyyzz{{zz{{{{zzzzz{z{z{{{{z{z{{|{z|y|z{zz{|{z{{{zyz{{{{zz{{{zyzzz{zz{{|{z{{{{{zzz{{z{}z|{{|{zzzzyzzz{{{{{||z{{zyzz{z{zzz{z{{zz{{{z{z{{{{|z{|z{z{{{z{{{zz{{{{{|yzzzzz{z{z|{zzzzyzzyzzz{{{yz|{z{zzzzzzzz{z{{{xy{zzzzzyyzzyyz{{zzyzyzzy{{{zzzzyyzzy{zzy{zzz{z{{{zzzzyyz{zz{{z{z{zzzyzzyzzzzz{z{zzzzzzzyzzyzzzzzzzzyzzzzzz{{y|zzzyzyzzzzzzy{y{{{yyzyzzzyz{z{zz{zzyyyyzzzzz{z{|{zzzzyzyzzzz{zzz{{zzzyyyzyyz{yzzz{yzyzzzyzzzzzzz{zyzzzy{yy{zzyzz{zzzzyzzy{z{{zz{zz{zyzzyzzz{{z{{zz{zzzzyzzz{{z{{|{zzz{zyzzz{z{z{z{{y{zyyzy{z{{{z{{zzzzzzzzz{{zz{{|{{zyzz{{|{{|{||{z{zzz{{{{{{{{|{|{{{zzz{z{{{{{{{{{zzzzzz{|{{{|{{{{|{zz{z{{{{{{|{{|{z{{{{{z|{|{{||{z{{zz{{{{{||{{z{y{{{zz{z{|z{{}|{zz|{{z{z|z{{{||z{z{z{zzzzz{|{|z{z{{zzzz{{{{zzz{{zzz{zzy{{zzzzzyyzyzzzyzyzzz{z{zyyyzzzyxyzzzzzy{zyzyzyyyyz{yzz{{{yyy{yyzyz{{zz{{zyzyyyyzzzyzzzz{yyyzyzzyzyzyyz{zyyzzzyyzzzzyz|{yzyyyyyyyyxxzzzzzyyyyzzzyzyzzzzzyzzyzyyzzzz{z{y{{{yzyzyyzzz{z{z{zzyyyyyyyzyzyzzzzyyyyyyzzyzzyz{{{yzzy{zzyy{z{{z{{{zyzzzy{z{{{{{{zzyzzzyyz{{zzz{zzyzzyyzz{zzz{z{yzyzyyzzyz{zz{zzz{z{{zzzzyy{{yz{{{zzzzzz{zz{zz{{{{zy{z{{zzz{z{{|z{zzzyzz{zz{zz{{{|zzz{zzzy{|{z{{{{{{zzzzzz{{{{{{||{yyzz{zzz{{{|{{z|{zzzzzz{|{{|{{{{{{zzzz|z{{|{|{{{z{zzzzzzzzzz{z{{zzz{z{zz{{{|{|{z{zzyyzz{{z{{{{{{{zzzzyyz{{{zz{{zzzzyyyy{z|{zzzzzzxyyyzzy{yzzzy{zyzzzxyzz{zy{yzz{zzyzyzyzyzz{z{{yzzyyyzzy{{{zy{{yzyxyyzx{|{{zz{{zyzxyzxyzzzzz{{yzy{yzyzyyyzzzzzz{yyyyyyyzyyzyz{zyzyzzyzzzz{yzyzzzzzyyzzz{{{zz{|{zyyyzz{z{z{zzz{{zyy{xzzx{zzzz{{zzzzyyyyzzzz{{z{z{zy{yyyxzy{zz{z{zyzzzzzyz{|{zz{|zzzyzyzzz{{{z{zzyyyzyyzzz{z{|zz{zzz|zzyyz|z{{{zzzzzzz|zzz{{zz{{|zzzzzz{zz{zz{{{{z{{z{zz{z{z{{{|z{y{zzzzz{|{{|{{|zzzy{zzzz{z{{{{{{zzzzzz{|{{{{{{{{z|zz{z{{{{||||{|{z{z{zz{|{{{{|{{z{z{yz{|{z{{{{{{zzzz{z{{zz{z{||{{zz{{zz{{{{{{{}z{{z{zzz{{{{{z{{zz{zzz{zzz{{{{z{{zzzzzzzy{|{{{yzzzyz{zyxy{zzzzz{yyyzzzyyzz|zyzzzzzzyyzyzzz{zz{zzzzzyyzyy{{{zzzz|yzyyyyzy{yz{z{z{yzyyzzzyyzzzzzzzzy{yzyyyzzyyyzzyzxyyzyzyzyzyzzzzyyxyzyzyz{{zyz{zyyzyyzxzz{{zzzz{yzzyyzzyyy{{zz{zzzzzyxyyy{zyzy{yzyzzzzzyz{zzz{z|yyyzzzyyzzzzyzz{yyzz{xzx{z{z{zyzzx{yzzyyzyzyz{{{zzzzzzzzzzz{{{z{zyyyzyzyy{z{|zzzzzzyzzzz|z{{zz{z{{z{{yzzz{zzz{{{zz{zzzzzz{{{{{z{{{yy{z{{{{z|z{|z{zyzzzyzz|{{{{{z{y{zzzzz{{{{|{{z{{{zz{{z{{zz|{{zzzzy{{zzz{{|{{{{{y{{zyyyzz{{{{{{zyzz{zzz{{|{{z{{z{z{{zz|{{z{{{z{{{zz{zz{z{{{z{||{{zz{yyzz{z{z{{zzyzyyzyz{z|{zzzzzzyzzyzyyz{yyzzzyyyyyzyyyzzzzzzzzy{zzzyzyzz{z{{zzyzzyzzyyzzz{z{{zyzzyyyyzzz{y{{zyyzzyzyyyyzzz{{zzyzyyzyyzz{{zyyzzyzyzyzyzzzyzy|zyzyzzzzyzzzzzzzzyyzyyyyyy{zzyzzzzzyzzzyzzzzzzz{zzyyzzyyyzy{{yzzzzyzyzyzxyzzyzz{{yxzyzyzy{{yyzz{zzyzzyzyzz{{z{zzzzzzzzy{z{yzzz{zzzyzzyzyy{z{z{z{{yzzyzyzz{z{{{{z{zzzzz{yzz{|zz{{z{zyyzzzyz{zzz{{yz{zyz{z{{z{{{{|zz{{z{zz{{{zzz{{{{{zyzyyy{{{{{{{|{zyzzyzy{{{{{y{{{zzzz{zz{z{|{{{{{{zz{{{{y|{z{|{{{zzz{z{yz{{{{|z{{zzzz{z{{{z{z|{zz{{{{zzz{{{{{|z{z{{y{zzyz{{{zzz{{yzzzzzzz{{zz{{zzy{yzyzzyz{z{{zzyzyzyzyyyzzzzz{zzzzzz{zzzzzzz{zzzzzyzzzxzyyzzz{zyzzzyyzyzyzzzzz{zzyzyyxyzyzzz{y{zyyxzyyyyzyzz{{{zzzzyyzyzzzyyz{zyyzxyyzyyzyzyy{{yzzyzyyzz{zzzz{zzzyyyyxyzz{yyzzzzzzyyzyyzzzzz{zzzxzyyyzyzzzzzzz{zzxxz{yyy{yzzzzzyz{yyzy{zzz{{z{{{zzzyzz{z{{z{{{zzzzyzxzz{zz{zzz{zzzzyzyzzz{z{zzzzyzzzyzzz{{{z{z{z{zyyyzyz{{z{z{zyyyzyzzy{{z{{{z{z{zzzzz{{|z{{{{zzzzzzz{zz{z{z||{yz{{zyyz{{{zz{{{|y{zzzzyzzz{|zz|y{zz{{{z{{{zz{{{|zyzzz{zz|{{{{z{z|zzyzzz{{{||{{{{z{{{zzz{z{{{{{{{zz{{zzz{{{z{{{{z{{y{zyz{z{{{{{z{zz{{zzy{{{zzz{z{yzyzz{{zz{z{{zz{yyyzzyyzzzzz{{{zz{zzxzyy{z{{{{{zzzyzyzyzzzz{z{{zyzyyyyzzz{zzyzzzzzzyyzyyzyzyzz{zyzzyyyyzzzzy{{zzyyyyyyyzz{zyzzzzyzzyyyzyzxzzyzzyyyyyyyzyzyyzz{{zzyzzzzzz{{yz{{zzyzyyyzyzzzzzz{|yyyzyxzyyzzyyz{{zzxyzyyzyzzyz{zzyzyz{{zyzzzzyzz{zyzyzyzy{z{zzz{|zyzyzyzzz{z{zz{{zzzyzzz{zz{zzy{{{zzzzzzy{z{{zzzz{zzyyzzzzz{{zz|{{zzz{{y{{{zz{z{{zz{{zzyz{z{{|{{{zz{yzzyz{{{{zz||{{zzzzzz{||{{z{||yzz|y{z{|{{z{|z{zzz{z{{z{z{{{{|{{zzzzy{{|z{{{z||zz{zzz||{{{{z{z{z{{zzzz{z{{|z{{{y{{zzzz{z{{{{{|{yzzz{y{{|zz{{|{{zyzzzz{z{{{zz{zzzzyzzy{{{zzzzzzyzzzyzzyy{zzyz{{yzyyyzyy{{{z{zz{zyyzyzzyzyzy{||z{yzzzzzzzz{{{z{z{zzyy{zyzzzzz{z{zzzyzzyzzzyzzzzz{zzyyyxyzzzzyz{zzzzzzzzzzzzzz{|{yzyyzxzzzzzz{z{{zzzzyyyzyz{zzz{{zyyyxyy{yz{yzz{{{zzyzyzzzy|z{zzzzzzyzzyzyzz{z{{{zxyyyyzyyz|z{z|zzzyzzzzyzz{z{z{{yyzzzyz{zzz{{{|{zzzzyzz{{zz{zz{zzzzzyzzz{{{{{zz{{yzyzyzyz{{{z{zz{zyzzzyz{{{z{{{z{zz{zyzz{zz||{zz{{z{{z{z{zz{{z{{zzzy{zzzz|{{{{z{zzzzzzzz|{{{{{|{{{zzz{{{{|zz{||{{zzzzz{{z||{z{{{zz{{{zzzz{|z{{|{{yyzz{zz{{{|{{|{z{{{{zzyz||{||{}zz{{{zzzz{{{z{{{{{zyz{zzz{{z{{{{zz{zzzzz{|{zz{z{yyzzyzyyzzzz{zy{z{zzyzyz{z{{{{{{z{yzzzyyzzzz{z{{{yzzyzzy{{{zzz{{zzzzyyyy{zzzzzz{zzzxzyzyz{zzzzzzzzxyzyzy{y{zzz{{zzzyzzzzyzz{zyz{zyzyzzyzyzzyzz{z{yzzzzyzzzzzz{{{zyzyyzyxzzz{zz{zzzzzzzzzzzzyzzz{yyzyzyzyyzzzzz{{zzzzzyzy{zzz{z{{zz{zzzz{z{{{z{{{zzz{zzzzz{z{{zz{yzzzzzyzz{zz{z{{{z{zxzzzyz{{{{z{zz{{zzzz{|{zz{|{{zzzzz{{{|{z{z{z|zz{z{{{z{{{{{{{{zz{z{zy{|z{{{z|{{zyzz{{z{z{{{{{|yy{z|zz{{{{z{{|{zz{zz{z{|{{|{|{{zz{yz{{{|{{|{||z{{{{zzz{{{{{|||{yz{{zzz{zz{{{{||{z{zz{{{||{|||{{{zz{zzzz{{{{}||{zz{z{zy{{{{{{z{zy{zzzyz{{|{{z{zzzyyzzzyyz{{{y{{{zyxyyzzzzzz{{zzy{zxz{zz{zz{z{zzzyyyzzyyyzz{zz{z{zzzyzzyzz{zzzz{zyzyyzzyyzzzzzzzzyzyyyzz{z{z{zz{zzyzyxyzyz{{y{{zzyyzzzzyyzzzz{{z{{zzyzz{yz{y{{{{yz{yzzzyy{yzzzz{yzzzzzxyzzz{z{zzz{yyzyyzzzyzzzz{zzyyzzzyyzz{zzzz{zzy{z{zzzz{y{z{{zzz{z{y{{z{{{z|zzzzyzzz{{|z{z{z|{zy{zzzz{zz{z{zzz{zzzyzz{z{zzz{zyz{zzzzz{{zz{z|{{zy{z{yz{{{z||{zz{{{zzzzzz|{z{{zzzzzzzz{{|z}{{|{{zy{z{{zz{{{{{{{zzyz{zzz{{z{{{{zzzzz{z{{|{{z{{{zzz{{zz{|{z{{{{{{yz{zz{z{{{{|z{{{zzz{zz{zz{{z{||z{zz{zz{z{{{z{{{zzy{yzzzy{zz{z{|zz{y{zzzz{{zzzzzzz{zyy{xz|{z{z{|zzyyzyyzzzyzzz{yzyzyyyzyz{zzzz{zyzyzyxyyzz{zz{z{zzzyzyzy{zz{xzz{zyzyzyzxzzzzz{{zz{{zzzyzzz{zzzz{zyxyyzzy{zyzy{y{yzyyyyzyzzzzzzzyyyyzyyzzzyzzzy{{zz{zxyyzzzzzz{{{yzyyzyyyyzyyzzyzyyyyzyyyyz{z{{{zzyzzzzyyzz{zz{zzzyzzyyzyz{zzz{z{zyz{yyzzzzzz{{y{zzyyzzy{z{|zz{zz{{zzzzzzz{{{z{z{zzzzzyyz{z{{zzz{zzz{{zzz{zz{{{{zzzyz{zzz{z{{{|{{zzzzzzzy|{{|{z{{{zzz{yzz{{{z{{{|zzy{{z{z{{{zz||{{z{zy{{{z|{|{{{||z{zzzz{{||||{|{|{zzzzzzz{{|z{||zzz{zyz{{zz{z{{|{{zy{zzz||{{{{{{z{zzzy{{zzz{||{{{zzz{z{z{zy{{z{zyz{yzz{zz{{yyzyyyzxzyyyyy{{yzzz{yzzyzzxzyzyzzzzyyzyyzzyyzzzzz{{zzyzyyyyyzyzzyz{{yyyzxyzyzz{z{zz{zyzyzzyyzz{yzz{zzyxzyyzyyzzzy{{yyyyyyyyyyzyzz{zzxzyxzyy{yzzzz{zzyyyyxzyyzzzz{yyzzzzyyyxyzzyzzzzzzxyzyyyyyzyy{zzzyyyzyxyxy{zxzzz|yyyyyzyy{zzz{zz{zzzzzyzzzzzyzzzzzzzzyyzzyzz{z{zzz{yzzyyyzyzzz{{z{yzyzyzyzzz{z{zyzyyzzzzyzz{{y{{zzzyzyzzz{zz|zzzzyzzz{zyzz{{{|{{{z{zxzz{z{zy{z{{{z{zyzzxz{zz{{zz{{zz{z{zz{{zz{z{{z{{zyz{z{{z{{{{{{zzyz{yzzzz{{{{{{zzzz{zzzzz{{|{{{zzy{yz{z{z{|z{{{{zz{zz{{zz{z{z{zzzzzz{zz{z{{{{{zyzz{y{zz{{zy{{zzzyx{yzzzzyzzzzzzzyzzz{yyzzzzz{zyyyzyyyzzzzzz{z{z{yyyzzyzzzzz{{zzzzzzyzyyzzzyz|{zzyyzzzyzyz{zzzzyzyyzyyyzzzzz{{zzy{zzyyy{{{zz{{{zyzyzyzzzzz{yzzzyyzyzzyyzzyyz{zzzxyzxzyyzz{yz{z{zzzzyzyzyzzzyz|zzyyyzxyyyyzz|{z{yzyzzyzyyzzzzzz{yzzzzzyyyyzzzz{{zyyz{y{yz{{yyzz{yyzzzzyzzzyz{zzzzyzyzzy{zzzzz{{{zzzzzzzzz|zzz||{{{zyzyyz{{z{zzzzz{zzzz{z{{zzy{z{zzzy{zzz{z{{{{||z{z{{zz{z|z{z|{{zz{zyyyz{|{{zzzz{zz{zzz{{{{z{|{|{{yyzz{z{z{{{{{{zzz{zzzz{|{{{{{{{z{{zzzz{|{z{{{z{yzzzzyz{{{{{|{||z{z{zzz{zz|{{{|zzzyz{yzzy{{z{{z{{yzzyzzz{z|{{zzz{{zzyyyz{zzz{zzzzzyyyyyy{{y{{z{{yyzxyzzzzzz{{{{z{{yyyyz{zyyzz{zzzzyzyzz{zz{zz{z{zyyyzyxyz{yz{{z|yyyyyyyzzz{zy{zzyzyz{yyyz{zzz{yzyyzxzzyyyz{zyzzyyxyyyyyzzzyzzzzyyyzzyxzzzz{z{z{zxyyzzyyzyz{zz{{zzzyzxyyzy{zzzyyzzzyyyzyyzzzz{{{{yzyzyzzzzz{z{zzzzyy{zzzzz{z{zzzz{zyzzzyy{{zzzz{zzyzzyyz{{z{{{{zzzyz{yzyzzz{{z{{yzzzzyzyyzz{{{z{yyzyzzyzz{{zz{{{z{z{zzyz{z{|{{z|zzzzzzzz{{{|{{{{|zzzzz{zzzz{z{{{|zzzzzzz{{z{{{{{zzzz{z{{z{{{{{{{zzzzx{zzzz{{{|z{zz{{zzzz|{z{{|{zzzzz{{z{{{{{zz{{{zz{{{{yz{z{{{{{yzzz{zyz{{z|{||{z{zyyy{z{zzzz{z{{z|yyz{zz{{zzzzzzyyyyyyyzzzz{z{zzyyzxyyy{zzzz{{zzyyzxzyyyyzz{{{yzyzzyyyyyzzzzzzzzzzyyyzx{zzzz{z{zzzyyyzyyzzzzz{zz{yzyzzzzzzyyzyzzzyyyyyyzyzzzyz{yxyyyxyyzzzzzzyyyyyyyxyzy{{zzzz{z{zzzxzyy{zz{z{yyyyyyyzyzzzzzzyyzyzyyzxyy{yzyz{z{{zzzyyx{zz{{zzz{yyyxzyy{zzz{zz{zzyyzyzyzyzzzzzzzyzyyyzzz{{z{z{{zz{zzyzzz{zz{{{{zzzzyyyz{{{zzzzzzzzz{{zzz{z{z{z|{yzzzyz{{{{{{|{{zz{zz{zz{{{{z|z{zzzzzyyzz{{{{z{{{{zz{zz{z|{z{{{{yz{z{z{zy{{{{{{{{{zz{{yzz{{{|{||{yz{zzz{{{{{{{|{|yzzz{z{{{{{{{{{|z{zz{{z{z{|{{{{zyzzzzzzzz{{{{{|{zzzzzzzzzz|z{{zzz{zzyzy{zzy{yz{zyyyzxyyy{zzzzzzyyyxyyyyzzzyz{z{zyyzyzyzzyxzzz|yzzzyzzyyzzxzzz{yzyzyyyzxzz{zz{zzyyzyxyyyyzyyzzzyzzyyyyyxzzzzyyzzyxzxyzyxzzz{yzzzyyyyyzyyzyzzzzzyyyyzyyyyzzzyzzzzyyyyyxyzyzzzzz{{yyzzyxzzyzyzy{zzzzyyzyzyyzzyyzzz{xzzy{zzz{y{zyzzzzyyyyzzyzzz{zzzzzzzzyzzz{z{z{zzzyzyzyy{zzzzyz{{yz{yyyzyz{z{zzzzzyzzyyzzyzzzz{{zzzyzyzzy{{{yyzzzyyzzzzzzz{{|{{z{zzz{zz{z{{z{{z|{zzy{yzyz{z{{{{{zzzyzzzzzz|z{z{{zzyzz{{{zzzzz{|{z{{zzyyzz{|{zz{{zzz{{z{zz{{z{{{|zzyz{zzyz{{z{zz{||yz{{zyzzz{z{|{{zzzyzyyyzzzy{z{{zz{zzyyzz{{|y{{{xyzzzzzzzzzzzzyyyyxyzyyyzz{z{y{{zzzyzxyzzzzzzzzzzzyyzzyyz{zy{{z{{zzyyzyyyz{zzz{zzyzzzzzyyzzyzzzzzyyzyzzyyyzzyzyyzz{zyzzyyzzzyzzyzyzxzyzyyzyzzzzzzyzzzyzyzyzzz{zyyzyzyyyzzyzzz{{{yzzyyzzyyzyzzz{zzyzyyyyyyzzzz{zzzyzyzyzzzz{zyzz{zyzzzzyy{zyyz{zz{zzzyzzxzzzzzzz{zzzzz{zyz{zzz{zzzzyyzzzzyzzz{{|{zzzyzyzzy{z{z{|zzyzyzzyyz{{zzz|{zyxyzzyzzzzz{z{zy{zzzzzyz{{z{{{{{{{z{zzz{{{|zz{{zy{zzzyzz{{z{z||{zyyz{z{z{{zz{{{zzzzyz{zzzz{z||z{zyzyzzzzz{|{z{{zz{zzzzzzz{{z{{{{z{{z{z{z{{z{{{{{z{{zz{zz|z|{zz{zzzyyyzzz{zz{{{{{z{{zyzzzzz{z{{zzzyyyzyy|z{zz{yzyyzyyyzyyzzzzzzzzzyyzy{yzzzzz{{zzyzyxyyyzz{z{z{zzxzyzyyzzzzzzzzzzyzyyxzyz{zzz{{zzzzyyzzzyzyzzz{zzz{zyyyyyzzzzzzzzzyyyyyzz{zzzzzzyzyyzyyyyzzzzz{z{zzxxyyyzzzy{y{zzz{zyzzyyzzzzz{zzyzyyzyyyzzzyz{{zzzy{yyyyzz{z{{zyzzz{zyyzz{z{zz{zz{yzyzyzz{{z{{z{{yzzyzz{{{zz{{{yzyzzzyzzzzzzz{{zzyyzzyzz|zzz{zzyzzyzzyzzz{zyz{z{yzzzzzyzzz|z{z{zzzzyzz{z{|{{{{{zzzzz{zzzzz{{|{|{zzzzzyz|z{z{||z{z{zzzzyz|z{||z|z{z{{{zz{||zz{z|{zyzz{{z{{{{{z{zzz{|zzzz{{z{{{{{{y{z{zzz{zz|{{z|z{{zzyz{zz{{{{z{zzzy{{yz{{z{{{z{z{zzzzzz{zzz{zzzzzzzzxzyyzz{zzyzzy{yyzzyz{yzzz{zzzzzzzyzzzz{{{{{zzyzyzyy{zzz{zz{zzzy{yzyz{{{z{{zzy{zyzyy{{zzzzz{zy{yyzzzzz{yy{zzzzzzyyzzyz{zzz{z{zzyxzyxzzzz{zzzzyyyyyyzy{zzzzzzzzyzy{yzy{{zzzzzzzzxyyyzzzzzz{zzzzzyzyzx{{z{zz{zyyxyyzyyz{z|yz{{zzzyzzzyzz{z{zz{zz{z{{zyzzzz{z{zzzzyzzzz{zz{|zy{zyy{zzzy{{{{{{{z{z{{zyzzzz{z{{{zz{{yyz{zz{{zz{{{zzzz{zzz{{z{z{{{{{zzy{{{z{{|{{{{zzzy{{zz{|{|{{|{{zy{yzzz{{||{{|{{{{z{z{{|||z{z{zz{{y{z{{{{z{|{z||z{z{|zz{|{{{||{{z{z{{{z{|{{z{{|{{zz{zz{{{z{{|{|z{y{{yz{{{{{||{{zz{zzz{{{|z||||{|zz{z{zzz{{{{z{{{zzzzzy{zz{zzzyzzzyzyzxyzzzyzzzzzzz{yyyz{zzzzzy|yyyyyy{yy{zy{z{zzzzyzyzy{zzyzzzzzzzyyzyyzy{zz{{zzyyyyyyy{z{zzzzy{zzyyzxz{yzzzzzzyyyyyzyyzyyzzzy{xyzyyyyyyzzzzz{zzzzzyzzzz{{y{zz{{yzzzzyy{zzzz{{{zyzzyyzyyzzzz{{zyyzyyyzyyyzzz{zzyzzzyzyyz{zz{z{zyyzyyzyy{zzyzzz|zyzzzyzzzyzzzz{{zzzzzzyz{{zzzzzzzzzzyzzzy{{{zz|zzyzzzzzyz{z{{{{{{zyyzzyz{{{{zzzzzzzz{zz{{z{{zz{{zzz{z{{{{{{{zz{|z{{yzzzz{{{z|z|{{z{zz{zz|||{{z|{{zzzz{zz{{{{{{{{{{z{z{z{z||{{{||{{{{{z{{{zz{zz{|{zzzzzzzzz{|{{z{{zz{{{z{z{{{{{{{z{{yzzzz{{{zzz{{{zzz{zyz{|z{z{zzzzyzzzzzzz{z{zzyyyzzzzzyz{z{{zz{zzyyyyzzz{{{zzzzzyzzyzzyyyzzzzzz{zzyzzz{zzzzyyzzzyyyyyzyzyzzyzyzyyzyyzyyzzzy{zzz{zzyyyyyzz{{{z{zzyzyyzyyzyz{zzzzzzzxzyyyyz{zzz{zzyzxzyyzzzzyzzzzzzyzyyyyz{{zzz{zyzyxyzzzyzyy{zzzzzzyyzyyyz{zzzzzyzzyzz{yzzy{yzzz{zzyzxyzz{{{y{{{zyyyzyzzzyz{{zz{yyzyzzzz{zyyz{{z{yzzyyzyy{zzzzzz{zzy{zz{z{zz{{{{zzzzzzzz{z{z{zz{{zzz{zyyz{{z{{{{zzzz{{{z{{{z{{{{zzzzzyxzz{{{{z{z{yzz{zzz{||{z{|{{zzzzz{{{{{{z{z{zzzzzzzzz|{{|z{zzzz{zz{z{{z{{z{zzzzz{z{{{z|{{{{z{zzz|zzz{{{{{{{zzzzzzy|zz{{z{{{{zzzzzzzyz{{{zz|{zz{zyzyy{{zzz{{zyyyyyyyxy{z{{zz{zyzzzyxyzzz{z{|{zyzyyzyyzzzzzzz{y{zzyyyyz{{zzzz{zyzzzyyy{z{zyz{zyxyyzzzyz{zzyzzzzzzy{zxyzzzzzzzzy{zzxyyyzzzzy{zzyzzzzxyyzzzyyzzz{yyzyyyyyzzy{yzz{zzyyzyyzzzzz{{zyyzzyzyyyzyyyzzzz{zyyxzxzyy{y{zzyyz{yzzyy{zz{zz{yyzzzzyz{{{{z{{zzyzyyzzzz{z{zzz{yzyzyy{zyz{{{{{zzzzy{yzzzz{zz|zzz{z{zzzzz{zzz{zzzzzzzzyz{z{z{zz{{y{zzzzz{zz{z{z{zzzz{zz{{z{{{{{|zz{z{zyz{{{z||{{{y{z{{{z{{{z||{{zzzzz{{{z{{yz{zz{zzy{zzzz{z{{{{{{z{{yzz{{{yz{{{z{zzzyz{{{{{{{{{|{zz{zzzz{{{{|{|{{zz{yzy{z{{{{{{{z{zzzzyzzz{{{z{{zzzyyzzyzz{{zzzzzxyyzyzyz{{yzzzzzyzyyyyyzzz{y|{zzyyyzzzzzzzzyzzzz{zyzzyxzzz{zzz{zxyyyyxz{zzzzz{{zyyxzyzyy{zyz{zzxzzyyyxyyz{yzyzyzyyyyzyyyzzzzzzyyyyzxxyy{zzyzzzyyyxyyxyxz{zzzzzzzyyyyyyxyzyz{z{zzzyyyyzyzzz{zzzzzxyyxyyyyzzzz{yzzyzyyzyzz{{zzz{{zyyzzxyyzz{z{{{{zyzzzyzzzzzzzz{zyyyzyzyzzz{{{{zzzzzzzyzyyzzzz{zzzyzzyzzz{z{zyzzzzzzzzzzz{zzz{{z{{{zyz{zzz{y|{zzzzzz{yzzz{{y{z|{zzzzzyyzzzzz{{{{zzyzyzyzz{{zzz|{{y{yzyzzyz{z{||{|{zzzzz{y{|{z{{{{zz{zzyzz{z{|{z{{{zzzzzzy{|zz{||{{zzzzzz{z{{z{{{zzzzzyzzzz{z{yz{{zzzzzz{yzzzz{{{z{yzzyyyzz{zzzzzyz{yyxyzxyy{{zz{zzyyzyyyyzzzzz{z{yzxyyzyxzzyyzz{zyzzyzzyyyy{{zy{zzyyyzzyzzyzzyyzzzyzyzzyyzzzzyz{zzxzxzyyyyyzzzzzzzyyyzyzyyz{zzz{zyyyyyzzyyzzyzyyzyzyyyyyyzzyyzzzzzzyyyyyxyzz{zz{zzzzyyyyyyzzyyzyzzyzyyxzzz{yzz{zyzyzzyyyyy{z{zzz{yzzyzzzzzy{z{z{|zzzyyyzz{zz{yzz{yzyyyzyyzyzzzzz{zzzzyyyyzzzzzzzzzzyyzyzzz{zzz{zzyzyyzzzy{{zzzzzz{zzzzyzzz{{{z{{{yzyzyzz{z{z|z{z{zzzzyyyzzy{{{{{{{yzz{{yz{{{z||{z{zz{{zz{{zz{z{{z{{z{yzyz{|zz{{{{{zzz{z{z{{|z{{{zzyzyzyzz{zzz{{{|zzzz{zzzz{{{{z{{zzyyzzy{{zzzz{z{zzzzzzyzz{{yzz{zzyzzyyyz{{{{{z{zyzyzyyyzz{{yzz{z{yyyxyyyyzzz{{{|zyyzzzzyzzzy{{zzzzzzyzyyzzzzyy{zzyzzyyyyyzzzzzyzyyyzyyzyzzzzyzz{{yzy{yxyzy{zy{zzyzzyzzzyyzyyzzzzyzzyyzyzzzyzyzzyyyyxyyyyzzzzzzzzzy{yyyyyz{y{zz{zzyxzyyyyzzzyzzzz{yyzyyzyyzyzz{z{zyzzzzzzzzz{zz{zzzyxyyzyzzz{yyzzyzyzzyy{{z{zzz{{yzzzyzzz{z{{zz{{{zz{yxzzzz{{zz{y{yzzzzyyzz{zz{zz{zyz{yzzz{zyzy{|zzzzz{zz{z{{{{z{z{zz{z|zz{z{z{{{yzz{{zzy{{z{{{|zz{zzzyzy{{{zz|{z{{{zy|zzz{z{{{{|z{zzzzzz{{z{{{{{{zzz{zzz{{z{{z{zzzzzzzyyz{{z{{|{z{{zz{yz{z{{{{z{{zzzzyzy{{{z{{zzzzzyzzzyz{z|z{zzzzzyzyyzzzzzz{z{zyyyzzyyz{zzzzzzyyzyyyzxyz|yz{{{zyyyzzyyzy{z|{yzzyzyzyyyzzzzz{{{zzyyzyyy{zzyzzz|yyyyzyzyy{yzz{z{yyyyyzyyzz{zzz{zyzzyxzyyyzyzxzyzxyyzzyzyy{zzy{{zyyyyyzyzyy{zzz{zy{zyxyyxzz{z{zzzzzyyyyzxyzy{zzzzz{yzyzzyzyzyz{{zyzzzzzzy{zzyzz{{yyzy{z{zzzzzy{{{zyzzzyzzz{{zzzz{yzzyyzzy{{{{y|z{zzzzzyzzz{z{{z{zzyzzzzzzz{{yzz{{zzyzyzzz{zzz{{{{{zyzzyzzz|{|z{{zzzz{zz{z{{{|z{{{{y{zz{zzz{{{{{{zzyz{zy{zz|{z{{{{zz{{z|{zz{y{{{{{{zzzz{{zz|{{z||{{z{{{{zz{z{{{{{zzzzzzzzz{{z{{z|zz{zzzyzz{{z{{{z{zzyyzzyzzz{{z{|{z|zzzyzy{{z{z{{zzz{yzzzy{{{zz{{zzzyyzyzyyzzzy{zzyyxyzyyyzy{y{z{z{yzyyzyyzz{zz{{zzyzzxyyzyz{zzz{zzzyyyyyzzyzyzz{{yyyyyzzxyzzyzz{zyzyyzyxyxyyyzyzzyyzzzzyyzzyyzzz{yzyyyyzyzzyzzyzzzyyyyyzyyyzyzyzzyyxzzzyzzzyzzyzz{yzy{yzyzyyzyzzz{zyyzyzzzzzyy{z{yzzzz{yyz{zzzz{zzyyzyzzyzzzz{y{zzzyzyy{y{yzz{y{{yzzyyzz{zz{yz{zzzzyzzyzyy{zz{{zzzyzyzyzy{{zy{{zz{zyz{zzzyzzyzz{yzzyzz{zyzz{{z{{zzzyyzyzzz{z{zz{{{zzz{yyy{z{{zz{zzyyzyyzz{|z{{z{{z{y{y{{zzzz{{{z{{zzzzzzzz|{{|{{|{zz{zyzy|{{{{z{{zyzyzzxzzz{{{{{|{zyz{zyzz|z{z{{|zzzzyyzzz{y{{{{{z{yzy{yzzz{zzz{{zyzzyyzyz{zzyzzzzzyzxyyyzzzzzz{zyzyzzzzzzzzz{zzzzyzxyyzyzyzzzzzzzzyzyyyzyz{{yy|zzzz{xzzyzzyz{{z{zzzyyzzy{zzyzzzzzzzzyzzy{zzzzzzzzyyyzzyyyzz{{zz{zzyzzzzyz{zzzzzzyyzyzzyzzzzzzzyzzzzzyzyzzyzyzzz{zxyyyzzyz{zy{{z{{yyxzz{zyzzzzzz{zy{y{zyyzzzzzzz{zzyyzyzyzz{zz{z{yyzzyz{y{zzzz{yzzyyxzzzzzz{{zzzzzzzyzyzyz||{zz{zzzyzzzzyzz||zz{{{yzzzzzz|{{zzz{{zzzzzzz{zz{{zz{zz{{zz{z{{{z{{z{{zzy{zzzyz{z{{{zzzy{zzzzz{{{{{z|{zz{yyzzzz{{|{|{{{z{{zz{zz|z{|{|{|zz{yy{z{{{|z{z{{zz{zz{{{{{{{|z{|{zz|zzzy{z{{{{|{{zzzzzzz{z{{|{{zzzyzzzy{{{zzzzzz{zzzzyyz{{zzzzzzyzzyzzyz{{zzzz{zzyyyxyz{{zz{{zyzz{yy{yzzzzz{z{zy{yzyyyyzz{yyzzzzyzzyyzy{zzzz{{zyy{yyzzxyyyzzzzzzyzzzyyyzyzzzz{zyxzyzyyyyzzzz{yzzzyzyyyyz{yy{{zzyzy{yzyzzzzyz{{zyzzyyyzyzzz{zz{{z{zzyxyzzzzz{{z{yyyyyyzyzzzzyz{zzzzzyzzyyz{zzzzzyzz{{yzyz{{{z{z{zxzyzx{zzz{{zzzzyzyyzyzyz{{zzz{{{{zzzzzzzzzzz{z{zz{zyyzy{zyzz{{{zzyzz{{z{z{{{|zzz{zzzz{zz{|{z{{zzzzzzz{{{|{{{z{{{zzzzzzy{{{{{{{|z{zzz{{z|{{z{{{{zy{zyzzzz{{{{|{{{zyzz{z{{{z{{{|{zz{zzyzz{z{{{{{{{z{zzz{z{z{{{{z|{z{{{zy{{{{{z{{zz{zzzzzzz{z{zz{{{zyzzzzzz{{z{{{zzyzyyyzzzy{zzzyzyyzyxxzyzzzzzyzzyyzyzyyyyzyzyzz{{yzyzyzxz{z{zzzzyyyyyzyzzyzzxzzyyyyyyxzyzzyzz{zzyyzzyyyyz{zzzyzyzyzzyyyyyzyyyz{zyzxyxyyzzzyyzz{zxzyyyxzzyyzzyyyyzyzyzzyzyzzy{zz{yyyyzzzxzzyzy{{zzxyxyxxzyzzzyzzzzyzyzyyzzyyyy{zz{y{zyzzzyyzzzy{{yyzyyyzyzzzyzzy{zzzyxxzyzyzz{z{{zyzyzzyyzyyzzz{zyzz{zyzyz{zzz|zyzyzzyzyyzzzzy{zzzzy{yyyzzzz{z{zzyyyzyyyz{{{{z{z{zyzzyzzy{zz{{|{{zzyzzzyy{{{z{{{{{yy{zzzz{|{zz{{{{zzyz{zzzz{zyzz{zyyzzzzy{{{{z{|{zzzzzzzzzzz{z{z{zz{{zz{zy{{zz{{|zzzz{zzzz{{{{{{{{zzyyzzzz{zz{{{{{zzxzzzyz|z{z{{z{yzyyzyzzz{z|{zzyzyzzyzyzzzyz{{zyyzzyzyzyzzzz{|{yzyyyzzy{zz{z{{zzxyzzyyyzzz{zz{zzxyyyyyyyz{zyzy{zzzxyzyxzyzzy{zz{yyzyyyzzzz{yzyzyyzyzyzy{zzyzyzzyyxzyyzzzyz{zy{zyzzyzyyyxzzyzz{zyzyzxxyxz{zzzzzyzzyyzyzyzzzyzzzy{zyyyyzyz{zyz{z{zy{yzzyxz{{zyy{zyyyzzyzzzyz{y{zzzz{zzzzyzzzzzzz{zzyzyyzz{z{zzzz{zzzzzyzz{yzzzzz{yyzyzzyyy{{{{z{{zyzz{zyz{{y{yz{zyz{zzzzyzzz{zz{{zzz{{zz{zzzz{z|{zzyzzzzzz|{{z{{z{zzzzzzzz{{z{{{|zyzzzzzyz|{{{{{|zyyzzz{z{|{{{z{z{y{zyz{zzz{z{{{{{zzzyzyzzz{z{{||{z{zzzzz{z{{{z{{{{zyz{yzz{{{{{z{{z{yzzz{zzz|zz{zzyzyzyzzz{{{{yzzyyyyzyyyyyyyzzz{{zzzyxzyzzzzzzzz{zyyyyzy{zzzyzzz{zzzxzzyzzzzzzz{zyyyxxzyzz{{zzzzzyy{zzyyyz{zzzzyyyzyyzzzzzyyyzzzyyyyyzyzzzzzyzy{yyyyzyxxzyyz{z{{yzzyyyxzyyzz{zzzzzyyyzyyzzzyzzzzyyyzyyzyyzyzz{zzyzyyzyzyxzyyyzzzzzyyzzyz{{zzz{{{yzyzyyzyzzyyzzzzyyyzzyyyzzyzzzz{yy{zyyzzzz{y{z{zyyzy{yyzz{yzzzzz{zzyzzzzz{{zz{|z{yzzyyzzzzzzz{{{{yzyzzyyzzzzz{{zzzzyyyzz{zz{z{{{zzzzzzxyz{z{{{|{zyzzzyyzzz|{{{{{{zzyy{{zz|{{{z{z{zzzy{{zz|{{{{{{{{{zzyyz|{z|{{{zzzz{{zy{z{zzzyzzzzzzzyz{{z{{{yz{{z{zzyyz{{{zzzzz{zz{zyyzy{z{z{|zyzzzzyzyzz{z{{{yzzyzyzyyzzyyzzz{zz{yyxyxzzz{{z{zzyyyyzyzz{zyzzzzzzzzzzxyzz{zzzz{zyyxyyyyzzyzyz{{zyyyyzxyzzzzz{zzzyyyzyyyzz{zzzzzyyxzyzyyyyz{zzzzzzyyxyyyzyzyyzzyyzyzyyyyzzzz{yz{z{zzxyzz{zzzzzzzz{zyyzyyzzzzzzyzzyzzyzyyzzzyzzzzy{yzy{yyzzzzz{{{yyzyzzzyyzyzzzzzzyzzzyzzzzzz{{z{yz{yyy{yzz{zzzzz{zzy{yzyzyz{{{z{zzzzzzzzz{{zzzzzzyzyyzyzzy|zzzzzzzyz{zzzzz{z{{{{z{{zzy{zz{{{yz{{{yz{zzy{z{zzzz{|{y{{{zzz|{{{z{{|{z{zz{zz{z{|{|{|zzzzzzzyz||{{|{|{y{{z{z{zzzz{{{{{zzz{zzz{{{|{{{{|zzzz{zz{{z{z{z{zyzyyz{zzz{{z{z{zzzzzzyzz{{{{z{zzyzzyyzzz{zzzzz{zxyyzxxyy{zyyzzzzyyzyyxzyzyy{{{zzyyyyyyyz{zzz{yzzzzyzzyzzzzzzzzzyzyzzyzyyzzzyz{{zyzyyyyyzyzyzzyzyyyz{yxzzyzyyzzyyzzyyzyzzyy{yx{{zyzyyxyzzz{yzzzzyyzyyyzyyzz{zyyzyzzzyyyyxzzzzzy{zyyyyzyzyzzzzzz{z{{xyyxyyyzzz{{{zxzyyyyyzzzzzz{zzzzyyyyzz{zzzz{zzyzzzzyyz{zzzzzzzzzzyyyzz{{zz{{zzyyzzzzyz{{{zz{zzyyyxzyzyzz{z{zzzz{{yyzzz{{zzzzzzzyzzyzzz{{z{|{{zzzzzy{zzzzzy{{{zzyzzzyzz{{{zzzz{yzzzzzyz{{z{y|{zzz{zz{{zz{{|z{{{yzzyzzy{|{z{{{{{zzzzz{z{{{{|{{{{zzz{yzz{{{{zzz{zzzy{zyzz{{{{z{{z{zyyz{y{y{zz{{zz{zyyz{z{{z{{{{zxz{yzyzzzyy{zzzyyzyyzyzxxzzyzy{zzyzyyxyzzyzzz{zzzyzyzyyyzzzzzzzzyxyyyzzxyyzzz{z{zzzxyyyzyz{zzzy{xyyyxyyyz{zzyzzzz{yzyyyyzz{yzyzyzy{yxzyxzyzzy{{zxyyyyyyyzzzzzyyyzyyyxzyyzz{z{zzyz{yyzyyyzy{yzzzzyyyyyyyzyyzyzz{yyzyyyy{xyzzyyzzzyzyyzzzyzzzzzzzzzyzyzzyzzzzzzzzzzx{zyyyzzzzzz{{zzzzzzyzzzz{zyzzz{yzzzyzyzzzzz{zzyyy{yyyzyzzzzzzz{zzyzzxyyzzzzzzy{zzz{zy{yzz{{{{zyzzzzyzz{z{zz{z{zzzzyyxyzzzzz{z{{zzzzyzzz{{{{{{{z{zzyz{zy{zzzz{z{zzzyzz{y{{|{{{|zyzzzzyz{{{zz|{{zzzyyzzzzz{{zz{{{{{z{zzzz{{{z{zzzzzyzzzyy|{{{{{zyzyzyzz{yzzzz{z{zzzyyxz{{z{{yzzyzyyyyxzyyz{yzzz{zyzzyxyyzzzzzzyzzyyyzyzzyzyzzzyyyyyzzyzxzz{zzx{zzzzyxyzyzzzzzz{zzyyzyyyyyyzzz{zyzxyyyzyx{zzyyyyyzyyyzzyy{yxzzzzzzyyyyyyyyzzzy{zz{zzyzzxyzyzy{zz{yzzzyyzzyzz{zzzzyzzxxyzyyyzyyzz{zyyyzyyyy{zzyzzzyyzyzyyyzzzyyz{zyyzxzzzyzzzy{{z{zyzyyyzyyzz{z{{zzyzyyyyyz{{zzz{{yzzzzyyyyzzz{|{zzyzyyyzyyz{yzz{zzzyyzyzzzzzzzzz{zzzz{zzyy{{z{{{{{zzyzz{z{zzz{zz{zzzyzzyy{z{z{z{z{yzzzz{yz{zzz{|zzzz{zzzzz|zz{z{{{{{zyzz{z{{z{{{|yzzz{zzzzz{{zz{z}yzz{yyzzzzy{{z{z{y{y{z{{{{{{zz{zy{yzzzy{{zzz{{zz{zzxzzzzzyy{{{zyzzzyxzyyyzzz{zyxzyyyxyxx{yzzyzzzyyyyyyzyzzz{z{zyyxyyzxy{zzyzzz{zyyzyyyyyzzzyyzzzzyyxyzyzzzzzzy{yzyyyzyxyzzyyz{zzy{yzyyyyzzyyzyyxzyyyyzzyyz{zzzzyyyyzyyyzyzyyzzyzyzxyzyyzz{zz{z{yzzyyzzyyzyz{{zzzyyyzyzyzyzyyzzzyyzyyzzyyyyzzyzyyxyyyyyzzzzzzzzzzzyyyyyzz{zzzzzzyzyzyzzzzzzzzzy{yyzzxyzy{z{z{z{zzzzyzzzz{{zzz{yzyyzyyzx{zz{zzz{|zyyyzyy{z{yzzzzzz{zzzzyz{zz{{{{zzzzzzyzzzzz{z{{{zyzzzzyzzz{{{zzz{zzzzzzz||{z{{{zzzzzzyzz{zyyz{zzzz{{zzzzz{{{{{z{zyy{zyyz{{z|z{{{yyzzyzzzz{z{{{{zz{z{zzzzz{z{zzz{yzyyzzzzzzzz{zzz{zzzyzyzy{z{{{zzyyyzzzyz{zzzyzyyxzyzyyyyzzzzzy{{zyzyyxyyzy{{zzz|zzyyzzxyzzzzzzz{zyzzyzyxzz{zzzzzy{zyyyzyzzz{zyyzzzzyzzyxy{zzyzzyzyyzyyyyzz{{z{{yyzzxyzxyyzzzyyzzyz{yyyyyy{zzy{{yzyyzyzyxyz{yzz{yzzzyyyzzy{{zyzzzzyyzzyzyzzyzzzzyzyzzzyyyy{zyzzzzyyzyzyzzzzzzz{{{yyzyyyzyzzzyzz{{zzyyzyzzz{{zz{zzyzzzyyzzzzzz{z{{zzyzzyyyz{zzyzz{yzzzzyyyyzzzz{z{{zzyyzz{{|{zz{z{{zyzzy{zz{{{{{{{z{zz{zzz{z{{z{{{zzzyyzzz{z|{z{|z{yyzzzzz{{{{{{{z{zyzz{zzzzz{z|z||{zzyyzz{{{zz{z{zzzzy{zz|{{{{{yzzzzz{zz{{z{z{{z{zzzz{z{{zz{|{|{{zzzxzzxzz{z{{{{z{{zzzzyzz{{{{z{{yzzzzzzzzzyz{zy{zyyyyyxxzyzzzzzyyyyxyxyyzzyzz{{{zzyzyzzyzzyzzzzzzyyyyzyyyz{zzz{zyzzyyzyyyz{zzzz{zzyyzzzyzzzzzzzzzyyyzxyyzz{yyzzzyzyyyzyzzzyzyzz{yyzxyxyzzyzzzzzzyzyzyzyyzzzyz{zzyyzzyxyyzyzxz{{{zyyyzyzxyyyyzzzzzyzyzzyyyzyzz{z{zyzyzyyxz{{z{zz{zyzyzyzzzzyzzzz{zzzzzy{zzzzz{{zzyzyyzyyzz{zzzzzyzyzyzyzyzzz{z{zyzzzyzzzyz{zzzz{zzzzzzzyy{zzzyz{zzyzzzzy{zz{{zzzzzzzyyzzz{yy{{{{zzzzzzzzzz|z{z{|z{zzzzyzz{|{{zz{zyyzyzzzzzzz{{{y{{y{zzzzz{|z{z{|{z{{{{zz{{{z{|{zz{zy{zz{{zzz{{{{||{zz{{y{{{z{z{{z{zzz{yyy{{{zzz{|{zy{zzzyz|z{{z{{zzyy{yzzz{{zz{zzzzyyzyzyyzzy{zyzzyyyyzxzzzzy{{zzzz{yyyyyyzyy{zz{yyz{yxyyzzzzz{|zzzyzzxzy{z{{zzzzzyzyyyyxz{zy{zzzxyzzyyzyzzzzyzzzyyyzxzzyyz{yzzz{zyyyyzzzyzzzy{zzzyyyzyyyyzzzzzyzzzzxyzyyzzzzzz{zzzzzyyzxyzz{yyz{{zzxzyzzyzz{z{{zyyzzzzzyzzz{z{zz{xzyzyyzzz{zz{zzzz{yyzzyzzzzz{{|yzzyzyyzz{{{{{zy{z{yzzyzzz{zz{z{zzzzzzyzz{zz{z{{zzyzyzzy{z{zzzzzzzzzzzzyzz{{{{{{zzzzzzzz{{z{z{z|zyy{zzzzzz{z{{{zzyzz{zzz{|z{z{{zzz{zzz{z{zz{|{{{{{{zy{z{zzz{zz|z{zz{{zzzz{{z{||{zzzzyyzyzz{{{{{{{zyzzzz{{{{{z{{|zzzy{{zz{z{z{{z{zzyzzzy{{{z{{z{zzzzzyyzzzzzzzzz{z{zzyyzyz{zzzz{{zzzxyyyyzzy{zzzzyyyyyyyzz{z{{zzzzyyyyyzy{yzzzyz{{zyzzyyyzzzzzyz{zyzzyyzyyzzyzzzyyzzyyyzyyz{zzzz{{zzzxzyyzyzzzzzyzyyzyyyxy{z{zzzzzxyyyzyyyzzzzyz{zzzyyzyyzyzzzz{zyyzzyxyzz{zzz{z|zyzyzyyyyzzzy{{{yyzzz{yy{{{zz{{yzyyyyyzzz{{{zz{yzyzzzzyzyzz{zz{|yy{zzzzzzzyzzz{yy{{yzzzyz{zz{||{zy{zzyzyzz{zzz|z{zxzzzzy{z{{z{|{zzy{{zzyz{{{z|{zzzyz{zzzz{{{{{{{yzzz{xzzz{{}{{{{{zz{{zzz{|{z{{{{{z{yzz{z{|z|{{{||z{zzyzy{{{{|{|{{zz{yzzz{{{{|z{{{{zzzzyz|z{z|z|{{{z{{{z{{{{{{z{zzzyzz{z{z{{z{{|{{{zzyz{yzzzz{{zz{yzyzyzz{|{zyzzyzyyyzyyxyz{{zzzzzyyzxyyyyzzzzzzzzzzyyyzxyy{zzzzzzzxyyx{xzzzzy{zzzz{yyyyx{zy{yzz{yzzyyyxzyzyzy{zzzyzyxyzyz{zzzzzzyyxyyzxyyzzzzz{zzzzyzyyyzzyyyyzyzyyzxyyxzzz{zy{zzzyyyyyzyzyzyy{{zyzyzyyxyyxyzyzzyzyyyxyyz{zy{zzzyzyyyyzyz{zz{{z{yyyzzyyyzz{zyzz{yyzyzzzyz{{z{{{zyzzzyzyyz{zzz{zzzzzzzyyyyz{yzzyxzyzxzyyz{z{{zzzzzzyzyzzzz{zy{zz{yzzyzyzz{{{{{z{zyyzzzz{z|z{{z{{{z{yzzyyyz{z{{zzz{{zzyzzz||{{{{{{zzzzy{zzz{{z{z{|{{zz{zy{z{{|z{z{zyzzzzzy{{{z{{zzzyzzz{zzz{{{z{{z{zz{z{zz{z{{{{{{{yzzzzzz{{zz{yzzz{z{xzyzzyz{{zz{yz{zyyzzzz{zzyyzzyyyyyzyzzzyzzz{zzxyyyyyzzy{z{zzzyzyzzyy{zzyzzzyyyzyzzyzyzzzyz{z{zzyxyyxz{zzyzzzyzyxzzzyyzyzyzzyzyyzyyyyzzzxyzzzyyzxyyz{zyyzyy{yyxyzzyyyzzyyzyyzzyyyyzyyzzzyzyyzzyyyyzzyz{yyzzz{yyzzzyzyyyzyyzyyyzyxyyzzyyzyyz{zzzzzzz{yzyz{zz{zzzzyzzzzz{zzz{zzzzzzzxzyyzzzzyyzy{yzyyyzzzzzzz{{zzzz{yyzz{zz{{yzzzzzxzzzzzzz{{{yzyyzzy{z{zzzzz{zyzzzzzyyz{{{{{zzzzz{zzzy{{z{zzz{zyzyzy{z{{{{{{{z{z{yzzzz{{{zzz{{zz{zzzz{{{zzz{{{{{zzzz{zzz{zz{{zz{yzyzzz{{{{{{z{{yzzzzyyz{{z{{{|{{{yzyz{zzz{|{z{zzzzyzzz|{{z{{{{zzzzzz{zz{yzzz{zzzzxzyyz{{zzyzzzyyxxyyyyzyzzzzyzyyyyxyxzyyzzz{z{yyyzyyyxzzzzyz{{zyyzyzyxzyzzy{zzzzzxyyyyzyzzzz{zyxyxyxyxyzzzzz{{zyzyzxyxyyyyyzyzyzzyyyzzzzzyyzzzyyyxzyzxyy{zyzzzzyyzyzyzyzzzzz{zzyyzyyyyyzyzzzzzzx{yyyzxyyzyyzzy{yzxyzzyyzyzz{y{{yzy{yyyyzzyzz{{zyyyyxzzz{{zzzzzzyyyyzyy{y{zyz{zyyzyyyzyzzyzzzzzyyzzyyzzzzzz{{z{zzzzzyyyzz{{zz{zyzyzyyyyz{z{zz{z{yzxzz{zz{{zz{{zzz{zzzzz{{z{zzy{zzy{yzyzz{{z{{zzzyyy{y{z{|{zz{{{zz{zz{{z{{{{{{z{yz{zy{{{z{{{{||zzz{{zzzyzz{{{zz{{zzyyyzzzzz{{z|{{zzyz{zzz{zz{z{{zz{y{yyzz{zz{zyz{zzzzyzyzz{zzz{zy{{yzzyzzzzzzyzzyyyyyzzyyz{zyzzzyzyxyyzyyzz{zz{{yzxzyyzyzyyzzzzyyyyyzzyyyzzzyyz{yzzyyyyxzzz{z{z{yzyyzyyxzyzzz{{yyzyzxyyyyzyyz{zz{{yyzzyzzzzzz{|yyxyyyzyyz{zzyzzyzyyyyzzyyz{z{zzzyyzyxzyyzzzzzy{{zzyyyyyyyyzzyzzyyyyyyzyzyzzz{{z{zyzyyyyyzzyzy{zzzyy{yxyyzz{{{||{zzzzyyz{yzyzzzz{zyz{{zyzz{zz{{zzyyyzyy{y{{{zzzzzyzyzzyyyzzzzzzzzzzzzzzzz{|zz{{zz{zzyzzzz{{zzz{{{zyyz{zz{{z{{z{z{zyz{yzzyz{{{zzz{zyyyzzzzz{zzzz{{z{zzzz{{||z{z{{{{z{zyzyzy{{zz{{{{z{zzzyz{z{{z{{z{zz{zyz{z{z|z{{{zzzzyzzz{{z{z|{|z{{yzzzz{{{z|{{z{yyzzz{yz{z{zzzyyy{yyyyyzz{zyyzyzzyzzyyyyzzzzyzzzzyyzyxy{zz{zz{zzxyyyyzzzz{zzzzzyyzzyyxzzzzzzzzzzzyyyzyyyzz{zzz{yyzzyzzyyyzy{{zzyyyzzyyyyzyzzzzzyzzyzzyyy{zzyzzzyyyxyyxyz{zzzzz{{zyy{yyyzzyy{zz{zxzyxzyyzzzzzzzzzyyyyzyzzzyyyz{zyzxyyyzyyyzzy{y{yyzyzyyxzyzz{{zzzyyyz{{zyzzyzz{zyzzzzyzyyyzyz{{{{zyyzyzyzzzzzzzzzzy{zyzyz{{yz{yzzzzyyzzzz{zzzz{zzyzzzyxzzzzz{z{{zzzyzzyzzz{{z{zzz{zzyzzzzzz{zz{{zyzzzyyzz{|z{z{z|yz{zzzz{z{z{{|{zyzyz{zzzz{zy{{{|zzz{zzyy{{{{{{z{zz{yzyz{{y{{{{{zzzyzzyz{{{zz{{{{{zyzyyzzzy{{{{{zzzyzzzyyyz|z{z{{z{y{zzzz{{{z{{{yyzyyyyyz{{zzyy{zyyyyzxxzzzzzy{zyzyzywyyyzy{{zzzzyyzyyyyzzzzyz{zzyzzyyyy{z{yzy{zzzzyzzyyyzzyyyzzyxyxxzyyy{y{zy{yyyzzzyyyyzzzyzzzyzzyyxxzzzyzzzyzzyyxyxyyzyzzzzyyyxyzyyyzzy{{{{zzyzyzyyzyzz{zz{zzzxyyzzyyyzyyzzz{zzyzxyyxzzyyy{zzyxyyzyxxzz{zyzzzzyzyzzyyyyzzz{zzyzxyzyzzzzzzz{{{yxyyxyyzzzzz{{|yzyzyzyzyzz{zy{zzzzzzyyyy{|zyz{|{{zzzyyzyzzzzzyz{zzyzyzyzzzz{{zzz{zyz{zzzy{yz{{{zzzyyzzzzzz{zzz{zzxyyzzyzz{z{zz{{zyyzzzzzzzzy{{{{{{zzyzzz{zzzz{{{zyz{zz{z{{zz{zz{zzzzzxzzzy{{z{{|z{zz{zzyzz{{zz{{zzyzzyyzz{{{yz{{zzyzyyyyz{zzz{{zzzzyzyyzzzyzzzz{yzzyzyyyyzzyyzzzzyyyzyzy{zzzzzzzzzzzyzzzzzz{{{zzzzzyyzyzzzz{zzzzzyzzyyzyyyzyy{z{zyzyyzyzzzzy{y{z{yzxxyyyzz{yyyyyyyyyyzzyzzy{yzz{yzyxyxxzyz{{zyzzzxyyzzxyzyzzzzz{zyzwxyxxyzyzyzz{zyyyyyzzzzyzzzzzzzyyyyyyyzxyzz{zxxyy{zyzzzy{yzz{zxzz{zyzzzzzzz{{yzzzyzzzzzzzyzzzyy{zzyyyzzzzzz{z{xzzyyzzzzyzz{zzy{zzzyzyzz{z{z{zzzzyzyzzz{{z{{yzzzzyyzxzzzzz{{{{zzz{zyzzyz{{z{{{zzyzzyzy{{z{zzz{{yzzz{zy|zz{zz{zz{{yzzzz{{z{{z{zzyyyyz{zz{z{{zz{zyz{z{zy{{z{{|{zzyzzzzzzyz{{{z{|{|zzzzz{z{z{{{{{yzzzyzzzzzzz{z{{{yzy{zzzzzz{{|z{z{zyzzzyzz{{z{zz{yyyyyyzy{zzz{yzyzzzzyyyz{zzzzzzyzyyzzyyzyzzz{zzzzzzyyyzyzy{zzzzzyzxzxzzyzz{zzz{zxyzyyyzyz{{yyzy{zyzzyyzzz{yz{y{zyxyyyzz{z{zyzzzzzyxyxyzzy{y{y{yzyyyyyxy{{{y{zzzzyzyyzyyz{zzzz{zzzyyzyyyzzxzz{z{zzzyyyyyz|zzyz{zyyyzyzzyzzz{zz{{zyzyzyzzzyzzz{zzzzzzyyzyzzy{z{zzzzzzyzyzzz{zzz{{zy{zyyzzyzzyz{zzzy{zzyzyzzz{z{|zzzy{zyy{zz{zz{z{{z{zzzz{z{{yz{{zzy{z{{zzzzz{z{||zzzzz{yyz{z{z|{zzz{{zyyz{{{{z|{|{{{zz{{{z{zz{z|{{zz{zzz{z{z{z|{{{zz{zzz{{{{{zzz{zyzzy{yzz{{{{{{{{z{{z{zy{{{{{{y{z|zyz{zzzzz|{{|{{z{zzzzzyz{zz{{{yz{zz{zyzy{{{z{yzyyxzxyyzzyz{{zzyzyzyzxy{z{zz{z{{yzyxzzyzzyxyyzzzzzzzzyyzzz{zzz{{yyyyyyyyzzy{zzyzyyyyyyyzzyzzzzzzyyyzyyyzzz{zzzzyyyyyzyzyyyzzzzzyyyxyyyyyzyyyzz{yyzzyxxyzzz{zz|zyyyyyyyzyyzzz{zzyyyyzxyyxzzyyyzzyyyyyyzyzzyzzzzzzyzyzzyzy{zzzzzz{yzzzyzyzz{zzzz|zyzzyyzzzzzzzzy{zzxzxzzzzzyzzzz{zzyxyzzzz{zzz{z{yzzzyzyyzz{yz{zzzyzzyzxz{z{zzzzyzzzzzyyzzz{{z{zzz{zzzzzzz{yzzzz{zzzzzzyxz{{z{zz{zy{zzzzzz{zzzz{z{zyyz{{zzzz{{{{{zzzz{zz{z{z{{||{zzz{zzzzzz{{{{{{zxzz{{zzzz{{{{{{zzz{{zz{y{{{{|z{{zzyzz{{z{z{{z|{{zzzz{zyz{y|{{{zzyzyzzzzyz{zy{{{yyzyzyxyzzzzzyzzzyyyzyyyyyz{zzz{zyyyyyzyz{zzzz{zzyyyzyyzzzzzyzzyzyzyyyyxzyzyz{zzyzyzyxzyyzyzzz{yyzyyyzyy{zzzyzzzyzyyzyzyzzzyzzzzyyyyzyyyzzyzzzzzzyyyyyxyzzyzz{z{zyyyyyyyzyz{y{{{zzyyyyzyzyzzzzzyzyzyyyyzzzzzzzyzyxzzyyyzzyyzy{zz{yyyzzzyzz{zz{z{yzzyy{zx{{zzz{{zyzzywzyzy{{z{z{yzzzyzzyzzzzz{|{zzyzzzy{zyyyzyx{yzzy{zzzzyzz{z{{y{z{zz{yzyz{z{{{zzzzzyzzz|z{{{{{{zyzz{zzzz{{{{z{zzyzzzzzz{{{{{{{{z{zzy{{zzz{z{z{{{z{{y{zz{{{z{z{{{{{zzzzz{{zz{{{{{zzzyyyz{{{zz{{{{{yz{zzzzzz{{zz{{zyzyzzyzz{{z{|zzzzzzyzzzy{zzz{zyxyyzyyzzz{zzzzzyxzyxyyzzzy{zz{zyyyyyyyzyzzzzzzzzyyyyyzxzyz|yyzzzyyxyyxxyy{{zxzyzzzyxyyyyzzyyzzzyzyyzzyzyyyzyz{zzzzzyyyzzzzzyyzzyyzyzxyyzyxzyzz{yyxyyyyyzyzyzyzzyyyzxyzyyzyyzzzyyyzyyyyyyzzyzyzyyyzyyzzyyyzyzzyzzyyyyzyyzzyzzyzzyzyzyzzyzzzzy{zzzzyyyyyxz{zzzyz{{yyyyyyy{zzz{z{zzyyyyyzyz{{z{zz{zzzyyyxzyzzzz{{zzyzyz{zyy{zzzzz{zzyzyyyz{zzzzzzzzzyzyzzzyz{z{{{zzzzzzzzy{zzzz{{|zyzyzyyzz{zz{{{{zyzzzy{z{}{zzz{z{zzzzzz{{z{{{{z{z{zzzzzz{{z{z||{{zzyzzz{{zzz{z{zzyzzzzyzz{yzz{z{zzzzzyyz|{{z|{{{zzzzzzzyzzzz{z{{zz{zyyzzz{{zzz{{zyyyzzzxyyz{z{zyzzyyyyyyz{yzyzz{yzzyzyzzzzzy{{{zyyyyzzzxzy{yzzz{yzzzyyyyyzy{zzzzzzzxyzzx{zzzzz{zyyyyxxyyzzyyy{zyyyzyzyyzz{zzzzzzzyyyyyxyyyz{yzzzyzzzxxyyz{z{zzyyzzyyyyzyzzzyzzzzyzyyxyxxzzzyzy{zyyzyyyzyyyyyzzzzzzyyzyzyzzzzzyzzzyzyzzzzzyz{z{zzzyyzyyzxzzz{{zz{zzyyyzzyzzzzz{zzzzzyzyyyzzz{{z{{zyzzzyyyyyyzz{z{{zzzyzyzz{z{{z{zzzyzy{yy{zzzz{{z{zzzyzyzzzz|y{{zzzyzyzzz{{z{z{{{{zyzzyyy{{|z{{{z{yzyzz{z{{z{{{z{zyzyyyy{{z{zz{|{{{zzzz{{z|z{{{{{zzzz{yyzz{{z{{z{z{yzzz{z{zz{{{zz{zz{{zzzz{z{{z{{z{zzyzz{zyzz{{z{{yxzyyyyz|z{z{{zyyzzzyzyzzzzzzyzyzyxxyyyyyyyzy{zyzyyyyyyzzzzzz{zyzyyzzyzzzzzzzzzzzyxxzyzy{zzyzyyyzyyyyzyzzzyzzzzzxyzzyzxy{z{yy{zzyzyyzyy{zyyzzzy{zyzyyxyzyzzzzzzyyyyzxyyyzzzy{{z{yzyyyxzzzz{zyyzyzyyyxzyzzzzyyzyzyzyzzyyz{zxy{yzzzzyyyyyyyzyyzyzyyyyzyyzzyyz{z{z{zzyzyzyy{{z{zz{zyzyyxyzzzz{{{zzyzzyzzyz{{zzz{yzzyyzyzzyzz|zz{zzzzzzyzzy{z{{yz{zzz{zzyyyzzzyz|y|zzyzzzyzyz{|z{{zy{yzzzzy{zz{z{|{zzyyyzy{z|{{{|{zzyzzzzyz{|zz{{{|yyzy{zyz{{{{{{{|{{{yz{zzz||{z{|zzz{zzz{zzz{|{{{z{yzz{zz{{z{z{{{{{z|zzzz{y{zz{{|{zzzxzzyzzz{{z{|{z{zyyzzzzz{zz{zz{zzzzxyzzz{zzzyyyxyyxyyyyz{yyyzzzyyyxyyyzyzzyzzzyxyyxzxzzzzzy{z{zyzyzyzyzyzzyzzzyzyxyxzyyzzyxzzzzyzyyyyxzzzyyzzzzzzxyyyyzzzy{{zyxyzxyyyyyyzzyzzxyyxyyyyyzyyzyzzyyzxzxyyyyy{zyzzyyzyyyzywyyz{{x{{zyyzzyzzyzyzyzzyyzxzyxyzzyz{yz{{yzzyzzyxzzzzzzzzzyyxyzxyyzzzzz{{yzyzyyyyzzzzzz{zyyyyzyy{zzzzzzzyzzyyzyyzz{z{zz{zzzyzyyyzzzzzzz{zzyyzyzyzz{zyyz|{zzyzzyzzzz{z{z{zzy{zzzz{zzz{y{{zyyzyzyzzyz{z{z{zzyzyzzzz{{{yzz{|{zzy{zy{yz{{z{z{{yz{zzzzzz{{z{{|zzzyzyyz{{{zz{{{zzyzxyz{zzzzz|{{|zyyz{z{z|z{{{{{{zyzyyzzz{z{{zz{z{zzzzzz{zy{{{{z{yzzyzzyzz{yz{zyyyyyzxyyyzyyzzyzyyzyyyxyyyzzyzzzyzyyzyyyzyzyy|z{yyyyyyyyx{yzz{{z{zyywyzyzyzzzz{zyyzzyyyyyyyyyzzyyyzzyxyyzxzzzzzzyzzyyyyy{yy{zyzzxxyyyyyyzyzzzzzyzyxyzwxzzxzyzyzzzzyyzyzyyz{zzy{{yzyyzyxyyzyyzzyzzzzyyyyyy{yyy{zzzzyxzyxyxzzzzy{zzzzyzyzy{zzzzzz|yyzzzxzzzzzzzzzzyzyzzzyz{zzyzzzzzyzyyyzyy|{zzzzzzyzyyyyy{zyyzz{zzzzzyyyyzz{z{zzzzyzzzyzzzzzyzzzzyyy{y{z{zzzzzzzzzyzyyyyzzzzzzzz{{yy{zzzyz{z{zz{{zy{zzzzzz{{zzz{z{zzyzzyzy|{{zzz|zzyzzzyz{yz{{{{zzzzzzyzyzy{zz{{|{zyzyzzzzzz{|z{{|zyxyzyy{zzzz{zz{yyzyzzyy{z{z{{zzy{zzyzyyy{{yy{zyyyzxyyxyyyzyxzzxyyyzyyyz{zyzzyzyyyxyyxyzyzzyy{zyyyzyzyzzzzzyzzyzyyyyyxyyyyzyzzzyzyxxxxyy{zxzz{yzyzxyyyyzyzy{zzzyzyzyzyyyyyzyzzzxyyzzyyxyyzyzyzzzxyyyyxyzyyyyzzyyxyyyyyyyyzzzzz{zyyzyyyyyyyyzyzzxzyyyyyyyzzyyzzzyyzyyzyxyyxzyyzyyzzyzzzxzzzzzzzzyzzyyxyyyyyyzzzzyyyzyzyxzzzz{{yzyyzxzxyyyzyzz{zyzzxyzyyyzyzy{y{{zyyzxyyyzzzz{{zzy{zzyyyzzzz{{zzzyyyzzzzyzzzzyzzzzyzyzyyyzz{zzz{zzyyyyzzz{zz{zz{zzzzxyyzzzzz{{{{zzyzzzz{zzz{{{z{z{zzzzzzy{{zzz{{yzzzzzyzz{z{{zz{zzzzzzzzz{zzz{{{{yyyyzzzzy{zy{z{z{{yzzzyyx{zzzzzyzz{xyyzyzzzzyzzzzyxxyyzyyzzyyzzzzyzyyxyyyzzyzzzzzyyyyyzy{zzzzyzzyxyyyyxyzzzzzz{yyyzxyyyxzyzyzzzzyyzyyyyxyyzyz{zyzyyyzyyyzzzyzzy{yyyyyzyyyzzzzzyzyzyyzyyyyzzzzzzyzyyyyxyzz{zyzzzzzyzyxyzyzzzz{z|{zyyyyxxyyzzzzzzyxzyyyyyyz{yzzzzzzyzyzyyyzyzzzz{zzyyzyyxyzzzxzy{zyzzyyyyzzyzyyzz{yyyyxzyzzyz{z{y{yzzzzzxzzz{zzzzzzyyzyyyy{z{yzz{yzzzzzyz{{zzzy|z{zzzyzzzz{zz{{{{zzzzzxzz{zy{{zz{{zyyyyyzyzz{|z{z{zyzzyyzz{zz{{{{{zz{zyzzzzzz{z|{zz{zyy{zyz{z{zz{z{zyzzyz{{zzz{z|zzyz{zz{yzzzz{{z{{y{z{yyyz{{zz{z{yzz{yz{{y{z{{z{{{{zzyyyyzzz{zz{{z{yy{yzyzy{zzy{yyzyyyxyy{z{zzzyz{zyzyyyyzzzyzzz{{zyzyyyyzzz{y{zzyxyzyyyyzzzzyz{{yyzzxxzyzzzzzzzzyyzxzyyyyyzyyzy{zyyyzyzyyzzzzyzzzyyyyyyzyyyzz{z{zyyyyyyxyzzzzyz{yyyyzzyyyzzz{zzzzyzyyyzxzzzz{zyyy{zzxxyzyzyyyyz{zzyyyyyyzzyyz{zzyyzyzzzyyzz{yzzzyyyyzyyyy{{zy{{{yzyzzzyyyzzzzyz{yyyyyyzxyzzz{zyyzyzzxyyyy{{{zzzzz{yzyzyxz{{z{zzz{zzzzyyy{z{zz{zyz|yyzy{x{yz|{{{zzyz{zy{z{{z{{z{{zzyzzzzz{|zz{z{{zyzzyzzzz|z{zz{{zzzzyzz{z{z{{zz{{{zzyzyzz|zz{z||zzzzzyyy{{{zz{z{{x{zz{z{yzz{{zz{{zzzzzzzz{{z{{{{zzzz{zzzzzz{z{z{zzz{yyzyz{z{zz{zzyzzzyyyzzzy{{yzzyzzyzyzyyzzzz{z{zyzyyyyzz{zzz{{{yyyzzzyzzzzzzzzzzzzzzyzzz{zzzzzzzzxxyyxxzzy{{yzzyzzyyzyzzzyzz{z{yyzzyxzzz{zzzzzzxyyyyzzyzyzz{zxzzyzxzyzzzyzzyz{zyyzz{xzz{zz{zz{zy{yyyxzzyzzzzz{y{yyzxyyzyzzyzyyzzyyyzyyyzyzzzzzy{yzyyyxzyzzzz{{zzyyzyzzz{zzzz{{{yzzyyzyzzz|z{{{zyyyyzyzz{{zz{z{zzzyzzzzzzy{y{{{{zzzyyzy{{{{zz{zzzyzyzyzz{z{z{zzzzzyzzzzz{{{zz{{{yy{zzzzyz{{z|{{zzzzyyyz{{{|{{{z{yzzzzyy{{{{{{{{{{z{z{{zzzz|{{z|{zyzzz{zz{z{z{z{zzz{zzzzzz{{{||{zzzzzzy{{zy{{||z{zzzzzy{{z{{{z{z{zzzzyzzzzz{|zzz{zy{zz{{y{{zz{{zzzyzyyzy{yzzzzzzzyzzyxyzzzzz{yzyyzxzzyyyy{zzzz{zzzzxyzzy{zzyyzzyz{yzzyzxzyy{zzzzyyxxyyyyzyzyzzzzyyyyzyyyyyyzxyyyyzzxyzxyyyzzzzzzyyzyyzyzzz{yzzz{yxyyyyxyyzzzzzyzyyyyxyyyyzz{zzzzyyyyyyzxzzyyyzzzzzyzz{yyyyzyzy{zzzyyyzzyxzyxz{zzyyyzyyzyyzz{zzz{zzyzyyyyyzzzz{z{zzyyyyyyzzyzyz{zzzyxyyzyzzzyz{{zzyzzzyyzz{zyzz{{zyyzyyyyyy{yzy{zzyyzzyzyy{z{z{yzzzzyzzzzz{z{{{yyyy{zyzzy{zzzz{{{zyzzzyzy{{zzz{{{zyyy{zzzz{{z{{{{zzzz{zzzz{z{{{{{{yyzzzz{z|{{z{{{zzzzzyzzzz{z{{{{{zyz{zz{{z{z{{z|{yzzzyzzzzzzz{{|yzyzyyzzz{{{zz{{{yzzyyzzy{{zzz|zzzzzzyyzzy{zzzyzyyyzyyyyyzz{zz{zyyyyzzxzzyzyy{{zzzyzxzyzzz|yzz{{yy{yyxyx{yzzyyz{yzzxyzyxy{yz{zyzzzyyyyzxyzyzzz{zzzzyyyyyzzzyyzzzyzyyzxzzzzzzy{zyy{yyyyzyzzyyzzzzyyzyxyyzzzzz|zzyxyzyxyxxzzyzzzzzyyzyyyyyyzyyy{yzzyyyyyxxzzzyzzz{zxzzyyzzy{z{zzzzzxyyyxyzzyzzzzyz{yzzzyzzy{zzzy{{yyy{yyzyzz{z{z{{zzzyzxxxzzzzzzzzzzzyyyyyzyz{z{{zzyyzzzyzz{zyzzzzzyzyzzzyzzzzz{zzzyyyzzzzzzz{zz|{{zzyzyyyz|{zzzz{{zzyzzzzz{z{{{|{zy{{zzzzzzzz{z|z{zzzyzyy{{{{zz{zz{{{z{yz{z|z{{{z{xzzzyzzy{z{{z{z{zyzzyz{zz{{zz{{zzyyyyzzy{z{{{{zyzzzzyzyz{z{z{z{zyzzyyyyzzzz{zzyyyzyyxzyzzyyzzzzzyzyyxyyzxyyzyz{zzyyyzyyzyy{zzzzyzyyyzz{zzzzzzzzzyyyxxyxyyzyzzzyyyyyyyyxyzzyzzyzzyzyyyzyzzzzyzzzyyzzxyyzyzyzyzzzyzywyyyzyyzzzy{zyyyyyxyyzyyzzzyzyyzyyyyyyyz{yzyzyyzyyyyyyzyyyzzzyyyyyxyyyyyzyzzyzyzyyyzzzzzzzzzzzzyyxxyzyz{yz{{zyxyyyxy{z{zzzzzyzyyzzyyyzz{zy{{zyyz{zzzzy{zzzzzz{zzyzyyyz{z{z{{zzzzzzzyz{zz{z|{zzyzzzyyzzz{{{zz{{yzyzzzy{{z{{{z{zzzzyyzzz{{z{{{zzyyyzzyz{|{{{{{{{yzzy{zzz{{{z{{{{zzzzzzy{|z|{{|{zzzzzyzzz{z{{{{{{{zzzz{z{z{{{|{{{yz{{zzz{z{{{{{|zzzy{yzyz{{zzz{zzzzzyzzz{{z|{z{{zzzyzyzyzyzzyzzyyyyzyxxzyzzyzzy{yyzyyyyzzyyzzyzz{yzyyzyxzzyzzzzzzyzyyyyyzzzyz{{zyxyzyxzy{zzyyyyzyzyyxzyyzyzzyz{zzxyyyyzxzyzzy{zzyxyyyyyyzyyzz{zyyyxyyyxyyyy{zzzyzyzyyyxyy{zzzzyzxyzyyyyyy{zyy{zzyyyzzxzxyyyzyz{yzzzyyyyyzzyyyzzzxyzyyyyyzyzyzy{zzzyyyy{x{zzzyz{zyyzzyyzzz{{zzzzzyyyyyzyzy{z{{zz{{zzyzyyyy{zzz{y{zyzyyzyz{z{yzz{yzzzzyxzz{{zzzzzz{{yyyzyyzzz{z{zzzzzyzyyz{|yzzz{zzzyzyyyz{{{yzz{y{zzyyyzz{{z{z{{|z{{{yz{zzzzz{{zz{yyyyzyzy|z{{{{z{zzzyyyz{zz{{{y{zzyyyzyzz{z{z{{{{zzzy{z{{yy{zz{{z{zyyyzyzzzz{{{{{zyzzzzyyz{zz{zzzyyyzyzxzz{y{zzxyyyyyyyxxyzzzzzzxyyxyyyyyyyzyz{y{zyyyxyyzzyzzzzzzyzxyyyyyy{zyzzzyyyyyyzyyzyzzzyzzzyxyzyxzzyyzzzzyzyxzyyyzyzxyyzyyzyxyyyzyyy{yyyzyyyyxyyxyyyzyyzzyyyyyyxxyyzyyyzyyyyxxxxyzyz{yyzzyzxyyxyyyyzzzyz{yyzyxyyyxzyzzzyzzxzyyyyyzyyyyzzyzyzyzxyyyzyzzz{zyyyyyxzyyzzzzzzyzzzzyzyyyzzzzzzzzyyyyyzxzyz{yz{yyxzzxyyzyzzzzz{zzzyyzyxyzzz{yyzyzyyzzyzyy{zz{{z{y{zzyyy{zz{{zz{{zzz{yyzy{z{z{{zz{yzzzyyzy{yzzzzzzyyyzzx{{{{{z{{{zyzzy{{z{{{z{zz{yyzzyzzzzz{zz|z{{yzzzzyzz{yz{{z{zzzyzyyzzzzzyz{z{zyyzzzzzz{zz{z{zy{yyyzy{{yzy{y{yyyyyyyyz{zzzy{zyyyyzyyyyyzzzzyzzyyyzyyyyzzzzz{{zzyxyyyyyzy{zz{zzyzzzxyyzzyyzzzzzzyyzyzyzzzzzyy{yyyyyxzyyzyyzzzyzyxyxxyyz{zyzzyy{yyxyyyyzxyzyzyyzzyyyyyxzzyzzyzzzyyyxxyyyyy{{zzzyxyyxzyyyzzzzzzzyzyyyyyyzyxxzzyzzzxyyyyyzzzyzzzzyyzzyyyyyzyzz{zz{yyyyyzzzzyyzzyzyzyyyyyzz{zzzzzzzyzyyz{yzzzzzz{{yz{zyzyzyz{zzyzzzyzzzyzzz{{zzz{zyyyzxyzyz{zzzz{zzyyzyzyyzy{z{{z{zzzyzzzzzz{{z{{zzzzzzzyyyz{z{{{{{yzyzxyy{{{z{z{zzyy{zzz{z{{{{z{{zyz{yz{z{{{{z|z{|z{zzzz{z|{{{z{zzzyzyzzzzzzzz{{zzzzzzyzz{z{{z{{zz{yyyzyzzzzz{{|{z{z{yzzz{z{yz{z{{{{yzyyyzz{z{{zzzyyyyyyyzzz{yzz{zzyyxzyyzyy{zzzz{yyyyzyxzzzyyzzzyzzyyyyyyzyzyzz{zyzyyzzyzzzyyzzzzyzxyyyyxyzzzz{zzyzyzyyyzyzyyzzzyxyxzyzzzyx{yyxzyyyyzyyyyzzyyzzzzyxyyxyyzyyxz{yyzyzyyzzyz{zzzzz{zyyxyzzyyyyyzzz{zzxyyzyyzzyyyzzzyzyyzzyyyzzyyzzzzyzyzzzyyzzzzzz{zyzzyyyzzzzzzzz{zyzyyxyzzyyzzyz{yyyyzzyyy{yzz{yzyxzyyyyyz{zzyzyzyyyz{zzzzzzzzzzzzzzyzzzzzyzzz{z{zzyzzz{zz{z{zz{|zyzyzzyzy{{z{zz{{yyyy{zz{{z{{z{{zyzzzzzz{zz{{{zz{zzzyyzy{{z{{{{{{yyzzzzz{yz{z{{{{zzzy{zyyzzzz{z{zzyzzzzzz{{z{{{{zzyzy|z{{{yz{{{{zzzzyzzyzzz{yzy{zyzzzyzzzzzzyzzyyxzyyyxxyzz{zyz{zxzyyyzyzzzzzzzzzzzyx{yzy{zzzzzzyyyyzxyyzy{yzyzyzyyxzyzyyzzz{zz{yyzyy{yyyy{yyzzzyyyxyyyyyzzzyz{zzzyzzxyyyyyzyzyyyxyzyyyyzzzzyyzzzzyxyyyzzzyzzzzzyyzyyyxyx{z{{yzzyyyyyyxyzzyzzyzzyyxyyyyxy{y{zzzyyyzzzzyyyyzzz{{zzyyzyyyyzzzzyzzzzy{yyx{zzzzzzyzzyyzzyyzyzz{zzz{yyzzzzyzyzz{z{{{zzzzyzyyzz{yzzzz{yzzyzxyz{zzzzzzzz{yzzzzzzz{{{{{yyzzyzzzz{zz{z{{{{yzzyzzz{{{zzz{zzzzzzz{y{{z{z{z{yzzzzyzz{{{{{{{{{yzzz{zzz{z{z|{zzy{zzyzz{{{zz{{{{zzz{zzzzzz{{{{{{yzyzzyyz{z{z{{{zz{yzzzz{{yz{z{{zzzzyzzz{zzz{zzzzyzzzzzyzzzyzyzyzyyzyyyzyzzyzzzzyzyyxzyyyzz{zz{{zyyyzyyyzzzy{yzyzyyyzyzyx{yzyzyzyzzyyyxyzzzyzzzzyzzzyyyxzzyz{{{zyyyyyzyzzzzyyyzzyyyyyyyyyyy{z{zzyyyyyyyy{zyzyyzzzyyzxyxzyzzyzzzzyzzxyyyxz{y{yzz{yyyyyyyxyzzyzyyzyyyzyyyyyyyyy{{yyxyzzzyyzy{zzy{zzzyyzzzyzy{yzzzzzzzyyzzzzyzzzzzzyzzyzxyyzz{zz{{zzyzzyyzyzzzz{{{zzyyyzy{yz{z{z{{{zzy{yyyzzzzyzzzzyyyyzzyzzzzzy{zzyzyzzzzz{{z{z{{{yzzyyyyzz{{{zz{z{y{zzzzy{{zz|{|{{zzzzzz{z{{{z{{{|zz{yz{{z{{zz{{{zz{{zzz{{{zzzz{zzyz{zzz{zz{{z{{z{zzz{{z{{zz{{z|{zzzyzyyzzzzz{|z{zyzzz{{yyzz|y|{zyzzz{xyzzzzzz{y{yyyzyzyxz{zyzzyzyyyzyxyyyzz{z{zz|yzzyyyyzzzyz{{zyyzzyxyz{{{zzyz{yzzyyyyyzyzzzzyzyzyyzyzxyzyyzz{z{zxyzxyyyzzzy{zzzyyzzyxyzyx{yz{zyyzyyyyyzyzzzyzy{yyyxzyzzzzzzz{zyzzyxyxyyy{zzy{zyyyyyyzyyyyzy{zzyyyyyyzyyyyyzz{zzyyzyzyyz{zz{yzzyyyxyxyyy{zzyz{{yyyyzyzy{zzzzzy{zyzzxzy{z{{y{zzzzzzzzzzyz{{zz{yzzy{zzyyzz{{zz{{zzzyzyyyz{z{y{{{zzzyzzyzzzz{zz{|zyzzyzyzz{zz{z{{{zz{zyzyzzzz{zzzz{zz{zzzz{|{z|{{z{z{zyzyyz{{{{{{{{yzxz{{{z{{zz{{{{zzzzzzz{z{z{zz{{yzzzzz{z{z{zzz||zyyzy{z{zz{{z||zzyzzzzzz{z{zz|{{{zzzzzz{{{{zzyzz{zzyzyy{zzz{zyzzyxyyyyxzzyzyyy{zzyyzyzzz{zzyz{zyyyyyyyzzy{zyzz{zxzyyyzzzzzzyzz{zzyyyzyyyz{zzzyzzzyxyzyyzzzzyzzyzy{yzyyzzzzyzzyz{yzxyz{yzyxzyzyzxzyxyzyyyyyzy{zzxzyxyyyyyzyzy{{{zyy{xyyyzzzzyzzzzzyzzyzxyzzzzyzyzyxyyyyzyzz{y{z{yyzzyzyyzzz{zz{{yyyyyyyzzzzzzzzz{yzyyyyyzzzzz{zzzyyyzyxzzzzzzzz{yzzzzzzyzy{zy{zzyyyzz{xyy|{zyz{y{yyzyyyzyz{yzz{z{yzzyzzz{zz{{z{{y{yyyyzzz{y{zzz{zzzzxzzzy{y{yz{zzzy{zzzy{{z{{z{yz{{yz{{zz{{zz{z|zzz|{yzyz{{z{{{{{z{zzzzz{{{{z{z{zzzyzz{zz{zzzz{|zzzzzzzzzz{{{z{|zzzyzzzz{{{zzzz{zzyzz{zzyzz{zz{z{{zyzzzyzyzyzz{{zyyyyzyxyzzzzzzzyzyyyzyxyyzyzzzzzyyyzzzyzzzzyy{zyyzyzyyyzzzzyz{zzyzyyyyxzy{zzzzzzyyxyyzyzyzyzzzyzyyyxyzyzzyzzzz{zzzyxzyyyzyzyzzzyyxyxyyyy{zzyz{yyzyyyyyzyzzzyzzyyyyyxyyxzyz{yzzzzzyyyyyyyyzzyzzzzyyzyyyyxyyzzyzzyzyzyzyzzyzzyzyzyyyyzyyyyzyzzy{zyzzzzyzyzzyyzz{zzyyxyyzyzz{zzz{{zyzzyxzyzzzz{zzzzyzzy{yyyz{z{z{{z{zzzzyyzzzzy{zzzzzzyzzzzz{z{z{{yzzyzzzzzzz{{y{{zyz{zyyzz|{z{{zzzzyzzzzy{zzzz{{zzzzzzz{zzzzzzz{z{zzyzzzzz|{{z{z{zz{z{zzyzz{{{{{{zyyzzyzzzy{z{{|z|zyz{zzzzz{z{z{z{zzyzzyy{zz{zzz{zzyzzyzzz{zz{zzyyzzzzxzzyzzzy{zyzzzyzyyyzzzyzyz{zyyxxxyyzzyz{zzzyyzzzzyyzzzxzz{{zyyzyyxz{zzzyzzzzyzyxyzy{zzyzzzzzxzyyyyxyyyzyzzyyzxyzyyyyzzyy{yyyyxyyyxyyyzzyyyzzyzyyxyxzzzzzzzzzyzxyyxyzzyzz{yzzxzyxyyxyzzyyz{yyxyyzxzxyyyzyzyyyyyyyyzxyzyzy{zzyyzyxyyyz{z{yz{zyyzyzyzyzzzyz{yzzyyzzyzyyzzzzz{zyzzzyyzyzyz{z{zyyzyyxyyzyzzzyz{zyyzzzzyzyz{zzz{z{zz{xyzzzy{yz{zzzzzyzzzyzzz{{z|{yzzyyyyzzzz{zz{{zzyyzzzzyzz{{z{z{zzzyzzz{z{z{{zzzzzzy{yzy{zzzz{|{zyzzzzzy{{{z{{z{yz{zzzyz{{{z{zz{yyzyyyzz{zzz{{{zzzzyzyz{{|{z||{zzyzzyzyzzz{zzz{zzyyzy{yz{{zzz{{yyzzyyyy{{zzzzzzzzzyyyzxyyzzzzz{zyzyzyyyyzzzzzz{yzzxzzyyyyyzzy{{zyzzzxzxzz{zzzy{zyyyxyzyyzzyz{{zyyyyyzzy{z{zyzzyyyzyyzzyzyyyyyzzyyyyyyxyzyzzyy{zzyyyyzyy{z|yyzzzyyyyyyyyzzzzzzzzzyyyyyyyzzyzzzzzyyyzyyyyxzzzzyzzzyyyzyzyzzzyyzzzyzzxyy{zzyzzzzzzzyzyzyyyzzzyzzyzzzyzyyyyzzyzzzz{yyzzyyxzyzzzzzzzyyyzzyzyz{{{{zzzyzzy{zyyzy{zyzz{zzyzzzy{z{{zzzzzzzzyzzzzzz{zz{{{yzzyzyzzzzzz{{{zzy{|zzyzz{z{{{zz{zyzzzyzz{{{{{z{zzzyz{z{z{zz{|{z{zzzz{yzy{{{{{{zzzyzzyzyzz{yz{{zzx{yzyy{zzz{{{{{{z{y{z{z{zz{zzz{zzzzzzz{zz{|{{{{{zzzyyzyzz{zzz{zy{zyyyyy{z{zyzyyzzxyyyxyyyzyzyzzyzzyyyxyzzzyyyzzyzxyxxzyyyzyzzz{xyy{yyyyyzzzzy{zzyyxyyyxyyyzyzyzyyyxyyyxyzyzyyzyzyyyyyyxyyyzzzyyzyyyxzyyyyzzzyzzyyxyyxyyzyzyyyzyyyyxyyyyzzyyz{zzzyzyxyxyyyzyzxz{yxxyxyyxzyzxzzzzxyyyzyzyyzzzyyzzxzxyxyyyyyzzyzz{yyxyyyzyzyyzzyz{yyzyyyzyyyyzy{z{yzyzyyyzz{zy{zzzzyyzyxyzy{zzyz{{zyzyyyyyzz{zzz{zzyyy|yyzz{zxyzxzzzyzzyzyzz{z{zzzyzzzyzy{yzz{z{{zzyyyyyyyzzyzz{{z{yzzzx{y{zzyz{{zyyzzyzzz{{y{zz{z{zzyyz{zy{zzzzz{yyzzyzzyzz{yzzz{{yyzyzy{zz{z{{z{{{y{zyzzz{yz{yz{zz{yzzzyzzz{z{zzzyyzzyyyzzz{yzzzyzyyzyzyz{zyyyyzyyyyxyzzxyzy{yzyyyyyyxxyzyyzyzz{zzxyyyyyyyyyzzzzyzzyyyyyyyyzyzzzyyzzyzyyzzyyzzyzyyyyzyxyzzyzxzzyzyyyzzxyzyzyyzxzzyyxyzyyzyyyzyzzyyyyyyyxxyzzzzzyyyyyxzyyzyzzzzyzzyyzxyyzyzzzyzz{xyyxxyyyzzyyzyzzzyyzyyyyxzxzyzyyyyyxzzzxzyzyzyzzzyyzyxyyyzyyzzzzyyzxzxyyyzzzzz|z{xzyyyyyzyzzzzzzzyzyyyzzyyzzz{z{yyzzzyzz{zzzzzzzyxyyxyxyzz{yz{zzxzzzyyxzyzz{{z{{zzzzyyzzzzz{y{{{zy{zzyyyzz{{zz{zzzzzyyzyzzzz{{{zzzzyyzzyzzzzz{{zzyzyyyz{z{|{z{z{{zzyzyyyyzz{{{zyzzzzzzzzz{z{zz{{zyyzzyzz{z{zyzz{zyzyyzzzy{{z|z{zzyyz{zyzzzzzz{{{zyzzzzyyyzz{zz{yzzxyxzxzzzyzyyzzyyxxzyyyyyzzyyzzzyyyyyyyyyyzzz{zyzyxzxxyz{{yyyzzxzyyyyyyzyzzzzyzyyyyzyyxxyzyyzzyyxyyyyzyyyyzz{yyzyyyyyyzyyyyzyzyzyyyyxyyyyzyyzzyzyxyyyxzxyzzzzzyxyyyyyxyyyzzzy{{yyyyyxyxyyyxyzyzyyyyyyzyyzzzy{yyzyxyzzyyzyzyyyzzxyyyyyxyyzyzzzzzyyyyyy{zzzyxzzzzzzzzyyyyzzzzzyzzyyyyyyyxyzzzzzzy{yzzyyyy{zzzzzzyyyzy{yzzzzyzyyzzyzzy{zzzzyzz{{z{yyyz{zzy{zzzzzz{yzyzyzyyz{zzz{z{zyyzzyyy{{{{{{{zzzzzyyzzz{z|{{{{{zzzy{zz{{{yzzz{{yyz{yyyzz{{z{z{yyyyzzzzzzz{{{{z|zy{yzyzyzy{{{{{zzzyzyyyzzzzzzzzzyzyyyyyz{zzzz{{zyzzyyyxzz{zyzzyyyyyyzxyyz{{xz{{{yxyyyyyyzzzzzzzzyyyyzyyzzzyz{{zyyxyzyyyzzzzzzz{zyyyyyyyzy{zzzz{yyyyyyzyzzyzyzyyzyzzyzyzzzzyzzzyyyyyxyzzzyyyzz{zyxyxxyyyzzzzyzz{zzyyyzyyzzzzyzzzzyyyyzyzy{{zzy{zzyxzyyzyyzyzz{{{yyzyyyyxzzyy{z{{zzzyyzyyzzz{y{zzzzzyzyyyzz{zyzy{yzyyyyyzy{zzz{{{yzzyzzyyy{zzz{z{zzzzyyzyz{z{z{{zzzyzyyyyz|zzzy|zzyyzyzyzzzzzzzz{zyzzyyyzzzzzy{z{zyzzzzzy{z{{{z{zzz{{yzzz{{zz{{|{{zzz{{z{{z{z{{z{{z{xzzzzz{{{{{y|{zyzzzzz{{{z{z{{{y{{yzzz{zz{z{{{z{zyzzz|{{z{z{z{zzzzzzy|{zz{{{|{zzzzzzzyzzy{z{{zzyyzzyyzzz{{{{{{z{zyzyzzzzz{z{yzyyxyxyxxyzzyz{zzzyyyyxyyyyzyzyzyxyxyxyyzz{zz{z{zzyyyyxxyzzzz{yzzzzxyxyyyzz{{z{yzyzyyyyyxyzyzyzyzzzyxyzyzzzzyzyyzyxyyyyyzyyyzzyyzzyzzzzxyyyyz{yzzxyyyxzxzzzyyzzyzzyyywxzyy{yzyzzyzyyzyyyyyzzzyzyyyyzyyzzyzzzzzzyzzyzyzyyyzzzyzzzzzzzyzyyyzzzzyz{zyyzyzyzzyzzz{zy{xyyzxyyz{z{z{{zzzyzzzxyzzzzzzzz{zyzyyzyy{yzzzz{z{zyzyyzyzy{zz{zzyzyyyzzyz{{{{yzzyz{yyz{zzzzz{{{z{zzzzyx{{{{z{y{{{yzz{zz{{zzz{{|zz{zyy{{zz{zz{z{z{{yyzyzyz{{z{{{{zyzzzyz{{{{{z{zzz{zzyzzzzzzz{z{{{yz{zzyzz{z{z{{zy{zzyyzyzz{zzz{{yzzzyyyzy{{{zzzzzzyxzzyy{zzzzzzzyzyzxyzxyz{yzz{{zyyyzyxyzzzzz{z{zzyyyxyyyzzzzzzzzyy{yzyyy{yzzz{yyyxzyzzxzyzzy{z{zyyyyyyyxzyyyzzz{yyxzzzyzzzyzzz{zzyzyzyyyyzzyzz{yzzzzyzyzzyyyzzyyxyyyyxzyyz{zzzzyzzyyyyyy{zyyzz{{xzyyzyyyy{{yzzzzzyzyyyyy{zzzzz{yyzyzzyy{zzzzzyz{xyyzyzyzz{yzzzzzyyyyyyy{zzzyzz{zxyyyyyzz{{zzz{{yyxzyyzyyz{zz{zzzyzyyyzyzz{{{z{zzyy{zyyy{y{yzzz{zz{yzyzyz{z{{z{zxzzyzy{z{{yzzz|{{zyzzzyy{{|zz{{{zzzyzyzzz||z{{{|{y{zy{{y{{z{z{z{{yzzyzzzzz{{{{{{z{{zyzzz{zz{z{{{{zzyyzzz{{{z{z{{zzzzzzzz{{z{|{{zzzyy{zzyzz{z{{{z{zyzzy{yz|zz{z{{zzyyzyzyzyzzyyxzzzyzzzyyyzzzyzzzzyzyyyyzzzzzy{z{zxyxyzyyzzzzzz{zyxyyyxyyzzyzyzzzzzyyxxzxzyyzzzzzyyzzzyzyzzzzzzzzzzyyzyyzyz{yz{zzyxyyxzyyy{z{zzzzyyyyyyyxzzzyzz{zzyyzxyxxzzzyzzz{zyyyyzyzyzzzyz{{zyyyzxzyyzzzzzyzzzyzyyyyyzzzyzzzyyzyzyyxzzz{{z{zzxxxyzyzz{zyzz{z{zzzyz{yyyzzzz{{yzzzzzyzz{|{zz{z{yzzzyzyyyz{z{zzzyzyzyyzz{zzzzz{zyz{zzyyzzz{{zz{zz{yzzzyzzz{z{{{yzzzzyyy|zzzz{|{zzzzyzzyz{zzz{{{{zzz{{yzzz{z{z{{|yyz{{{yzz|{{{|zzzzyy{{{zz{{{{{{{xzzz{zz||{z{z{{{z{zzzzz{{{{z{{{zzz{{{z{{{{zz{{{zzzy{zzyzz{{z{{{zyy{zzyzzzz{{{{zzyzzzyzzzzz{{zyzyyyyyyxyyzzzzy{zy{yyxyxyyyzyzz{zzyzzyyzxzy{zyzzzzzyyyyyzzzz{yzzzyyyyyxxxzzzyzzz{yyyyxyyyzzyyy{{zyxzxzzyzzzzzyyyzzyyyyyyyyyyzzzy{yzxyyyyyzyzzyzyzzxyyyzyyy{{yyzzyyyyyxyyz{z{yyzyzyyxyyyxxxyzyyzyzzzzyyyzyyzyyy{zzyyzxzyzyzzzyzz{{yzzyyyyyzzzzz{zzyyyzxzyzzyzyzzzzyzyzzyyzyz{zzz{zyyzyzyzzz{zzz{zyzzzzyzyyzyzzzzzyzyzzzzyyzzzzzzyzzyzzzzyzz{y{z{{zzzyxzyz{z{{{{zzzzyz{{yyyz{zzz{{zzyzyzzzzz{{|{{{{zzzzz{{z{{zz{{z{zyyz{zzyz{{{{{{{{zzyzzyzzzz}zzzz{zyzy{y{{{zzz|{{{zzzyzzy{z{z|z|{zzyyyzzy{zz{z{|{zzyyyzzz{{z{z{{{yzyyzzxxzyzyzyzzzzyyyxyxzy{zyzz{yzxyzyyyzzzzzzzyzyyyzyzyzzzzzz{zyyyzyzxzzzy{zyz{zzzyxyyxzyzzzzzzzyyyzyyyyzzyyzzyyyyyyyyyzzzzzyy{yxyyyzyyzzyyyzy{yyzyzyxyzzzyzzzyyyyzyyyzzzzyzzz{zxyzyzyzzzzyzzzzyyyyyxyyyy{yyzzyzyzyyyyyyyyzzzzyyzyzzyzyyzz{zzzzzyyyzzyy{yzyzzzzzyzyxzzzzzz{{zz{yyzyzyzzzz{zz{{zzzzyyyzzzzzzz{zyyyzzz{y{{{{{zzz{zyzyzzzzzzzzyy{{{zyyzzzyz{z{{{{zyyzzy{zzzz{zz{{zz{z{yzzzz{{zzz{{zz{zzzzyz{{{{{{|zyzzzz{z{{zzzzz{{y{zzzz{z||{{{{z{z{zzyzyzzz{{zzz{z{zzzzzzy{zz{|{{{zz|zzzzz{zz{{{zzzzzzyz{{{zz{z{zzzyyzy{zzzzz{{{zy{zzyyyzzzz{zy{zyzxzyyzxzyzzzy{zzzyxxyyyzzzzzzzzxyyyzyzzyzzz{{{zxyzyzzyzyz{yz{{zyzzxyyxyzyyzzz{yzzxyyxyyz{yz{zyzzyyyyyyzy{yzyzzxyzyzyyyyzzzyzyzywyyyyzyyyyzzz{zyxyyzzyzzxzzzzzzzzyyxzyyyzzyzyzzzzyyyyyzyzyyzzyzzyyyyzyyyzyzzzzyyyzxzyzzzzyzyzzyyyyyxzyyzzzzzzz{{zzzxzy{y{{yzzz{zzzyxzyyzzzzzzzzzyzyyyyyy{zzz{zzzyzzzyzzyzzzzyzzzzyyyyyz{{zzz{zzzyyzzzyyzz{|{z{zzyzzzz{zzz{zzz{z{zyzzyyzzzz{zzz{zzzyzzzzz{{zzz{zzzzyz{zzzz{{{z{zzz{yyzzy{{z{{{{{z{zzzyzzzz{z{{{z{zzzzzzyz{z{z{z{zzz{zyzz{{z{{{zzzzzyz{yzz{{z{{zzzzzyzzxyy{{|zzzzzxyyyyyzzzzyyzzyyyzyzyyxzzzyyzzzxyyyyyyyyzzzz{z{yzyyzyzzy{zyzz{yyyzzyyzzzy{{yy{zzzyzyxxyxzyzzz{{zyyyyzxyyzyyzyzyzzzyzyzyzyzyyzzzzyyyyyxyyzzyzzzzzyyyyyzyzzzzzyzzyyyyxyxyzyzz{zzyzzzyyyyyyzzz{yy{yyyzyyxyyzyyzzzyyyyyzzyyyzyzyzzzzyzxzyyyzzzzzzzzyyyzyyyyzzzzyzz{yyyzyyzyzzz{zzz{yyzyyzyyz{zzz{zzzyyyyzzzzz{{{z{zyzzyzyxxzz|{{y{zzyyzyzzzzzz{{zz|zzzzzzzz{{z{{z{zyzy{zy{zyz{{{{{{yz{{yyyyzzz{{zzzzzzzzyzyz|{zzz{{{zzyzzzy{{{{y{{{{zyxzz{zz{{{z{z{zzzzzyzz{{zz{|{zzyz{zzzz{z{{z{z{{zzz{{zz{{{{{y{{zzzzzzzzzzzzz{zz{{yzzzyyz{yz{z{{zzyyzzyyzz{y{zzzyyxxyyyxyz{yzz{zz{yyyxyyyzzzyy{zzyyyyyyzyzzzzyz{zyzyyzyyzzzyzy{zyyyyzyxyyyz{yzzzyyyxyyxxx{yyzzzzzyzyzyzyzzyzz{zyzyyyyyyyyyzyzzzzyxyyyzxzyzzyxzzyzyyyyyxzyzyz{yyzyzzyyyxzyzzz{yzzzxxyyyyyyzyyyz{yxzyxxyyxyzzxy{zyyyzyyzyyyzzyzzzzyyzzzxyzz{zy{y{{zyyxyyyyzy{{zzy{yz{yzyzyzzzzzz{zzyyy{yzyz{zz{z{zzzyzyyxzzzzzzz{zzyxzzzyz{{z{yzzzzzzzzyyz{yz{zzzzzy{yzzyzz{z{z{z{zyz{yzyyzz{{{zzzzzzyzzzz{{z{zz{|zyyzy{zzzzz{z{z{zzzzzzzz{{yy{{{zzyyzyyyzzz{zzz{zzyzzzz{zzyz{{zz{zzzyzyzzz{{{|{{{zzzzyzyzzzzzyzzz{zyzyz{yzz{z{z{{zyyyzyzyzzz{zzyzyyxyyzxxzzzz{zyzyzyyyyyyyzzzzyz{zz{yyyzxzz{yyz{zz{yzyyyyyzzzz{{zyzzyyzzyzz{zz{yzyyyyxzyyyzyyzzyyyyzyyzyxyyzyyzzzyxyxyyyyyyyyzzyzyyyxyyzyz{y{zzzzzyyyxywyzzzyzzzzzzzyxyxyyzzzyz{zzzzyzyxxzzzzzyzzyzyyyyzyyzyzyzzyyyyzzzyyzzzyzyzz{yzxzxyy{{zz{zzzzyzyyxyxzzzzzy|yzyyyyyyyyzzyzzy{zyy{zyyzz|zy{{zyzz{zyzyzz{zzzzzzzyyyyyzyyzzzyzzzzyyyyzyzzzzz{z{zyzyzyyzzzz{{zz{{zyzzyyzzy{z{{z{zzyzzzyz{{{z{{{zzz{zzzz|zy{{{z|{{zxyyz{zzz{zzz{{{{zzzyzzz{z{zzz{{zzzzz{y{z{{{{{{{z{{zzz{zz{zz{zz{zzyz{zzzzzzx{{{{{yyyyz{yzzz{z{zzzyzzzyyxzzzzzzzzzxyyyxzzyzzyyzz{yzyxyyxzyzyzz{zzzxyyzyyyzzzzzzzyzxzyyzyy{zzzyz{{zzyyxyzxzz{zyzy{zyzxxyyxz{yzyzzyzzzyyyxyyzyzyz{{yxzyzyzyzyzyz{zyzyxyyzyyyzzzyzzzzyzzyyyzyyzy{zyzzyyyyxxyz{yzzyzzyzyzyyyxxyzyzzzzyzyyyyyyyyzzzz{yzyzyzyyyzzzzzz{zzzyyyzzxy{yz{zzz{zzzyyyzzyzzz{z{zzyzyzzzzzzzz{{{yz{zyyzzyzzzzzzzzyyyzyyyyz{{zz{{zyyyzyyyzy{z{zyzzyzzzyz{zyzz{{{{zzyz{yyzzzzz{z||zzzzzzzy{zy{y{{zyyzyzzyzz{zz{{{z{yz{zzzzzzz{z|{{{zyz{{z{{{{{y{{z{zzzzyzz|zz|{{z{{yzzzyzyzzz{{|{{{zyz{zzz{z{zzz{{zz{yyyzzz{z{{{|{zzy{z{zy{{zz{{z{zzzzzzyyzyz{zzyzzxzyyyyyyzzzyzzzyyyyzyyzzzzzzz{{zyyyzxzyzyzyzy{zzyzxyyyzyzzyyy{y{yzyyyxxyzzzzzzzyyyyyyyxyzzyyzzzyyyxyzyyzzzzyzyzyzzyyyzyzyyyzzzzzyxyyyyxzzzzzzyzyyyzyyyyzyzyzzzzzzzxxzyyyzzyzyzzzyyzyzzyxzzyzzz{yxzyzyzy{zyzzz{zyzzzyzyyyyzzzy{yzzzyzyy{zzyzyzy{yzyyyz{yyzzzyzzzzyzzzyyyzzzzzy{yzyzyzxzyzzzz{{{yyyzyyzz{zzzzzy{z{zyzyyyzzzz{{zzzzzyyyyyyy{z{z{{zyzyz{yzy{{zzzzzzzz{yyzzyzz{{zzzzzzyyzzzy{{{{z{{{zzzzz{{z{{{zz{{{zzyzyzyyz|z{{z{{zzyzzzzzz{{{{{{zzz{zzzzyz|zzz{{{z{zzyzz{{zzzzz{z{z{xzzyyzzz{zz{}zz{yyzzyy{{zz{zzyyzxzyzyzyz{{zzy{yyyyyzyyzzyzyy{yzzyyyzyzz{zy{z{zzyyzyzyzyzzzzzzyyzzyxxyzzzzyzzzzyzyyy{xzyzyyzz{xzzyyyyzyzyyyzzzzyzzyyyyzyzyzzzzxz{xxzzyyy{zyzzzyyzyyxyyyzzzyzzzxzyyyyyzzzzzzyzzzzzxyyyzyzyzz{zzyyzxyxyyzzzyzzzzyzyxyyyyyyyz{z{zzxzyyyyyzyyyzzzz{yxyyzyyyzzyzz{zyyyzyyzzzyzzz{{{zzyzzyzzzzyzy{zzzyxzyyyy{zzzzz{zyyyzzyzyyz{zzzzzzyzzzzyyz{zyz{{zzyzz{zyz{z{{zz{{yzz{yzz{{zy{{{{zyzyyyyzyz{zz{zzzzzzyzzzz|{|{{{|{zz{zzzzz{z{{{{{z{zyzyz{zz{{z{{|{zyzyyzzz|zzzz{{{{zzzzzzz{{{z{{{|{z{{zz{{z{y{{{z{{{zzzzzyz{zzz{{{zyz{zyzyy{zzyz{zzzzyyyyzzzz{yzzz{yyyxxyxyyzzyzzzzyyzyxzzy{zzyz{{yzyyyyzyyy{yzzzzzyyzzyyzyzzzyyz{yyyyyyyyzzz{yzyzyyyyyyzzzzzzz{zyzyyxyyyyyzz{yzzyyyzzyyyyzzzyyz{zzzyzyyyyyyzyzyzzyyxxxyyyzyzyyz{zyyyyxyyyzyyzzz{zyyzzxyyyzyyyyzzzzyxyyyzyyzyyyzzzzyzyzzyyzzyyzz{zyyyzzxzx{zzyz{{{yzyzzzzyzyz{{zz{yyzyyyyyyzzzzyzzyzzyzzyyz{zzzzyzzyzyzzyxz{{{zz{yzzzzzzzzz{zzzzyzzzzzzyyzy{{zzzyzzzzz{yzzz{zzz|{{zz{zzzyyyz{zzz{zzzyzz{zy{{zzz{z{y{yyzzzzzz{{{z|{z{yzzy{yy|z{{{z{zzzzzzzz{{zz{z{{zyzzzyz{zzzz|{z{z{yzzzzz{{{|{z{zz{zyzzzyzzzzzz{{{{z{yzzzz|zyzy{{zyzyyyzxzzzzzzyzyyzyyxwyyzyxzyzzzyyxxyyyyzyzyzzzzxyyyyyy{yzzzzz{zyzyxyyxyyyzyy{{yzyyxxxyyyzyyzz{yxyxyyyyyzyxzzzzzyyxyyxxzyzy{{yzyzxyyyxyzyyyz{{zzxyyyyyyyzyzzy{zzyyyxyxyzzyzyyzyzxxzyyyyyzzyzz{zyyxyzxzxyz{yyzzzyyyyyyxyyyyzzyzzyyxxyyzxzyyzy{zz{zyyzzyyzzyyzzzzzyzyzyzyz{yzzzz{zyzzzyyyzzzzz{zzyyxzyzyzyzzzz{{z{yy{zyyzyz{zzyzzyyyxyzyyzzzyyzzzzzyzyzzyyzz{z{zzyzzzyyzzzzz{z|z{{y{zzzxzzzz{{zzz{yyzzzzz|{z{{z|{zzzzzzz{z{zz{z{{{zzzzzzzzzz{{z{{zzzzyz{{|z{|z{{{zzzyzzzzzz{y{{zzz{zzzzyzzzz{{{{{zzzzzzzzyzzy{{{z{yzzzzzyzz{{z{zzzz{yzyzzzxz{zyzzyyyyyyyxxz{yyzzyyyzyyyyxzyzzzz{{zxyyzyzxz{zz{zzzzzzzyxyzzy{zyzzzzzzyyyyyzyzzzyyyyzyyxyzzyzyyyzzzzyzyyzyyyz{yzzzzyyyzyyyyyyyyzzyzyzyxxyxxzz{yyzzyyxyyxyzyzyzzzy{yyyyzxyxyyyyzyyzzzyyyyxzyyzyzzzzzyzzyyyzyxyyyyyzzyzyyxxyxzyyzzz{zzyzyyxxzzzzyzzzzyyyyyx{yzyyzzzzzyyyzzzzyzzzzyzzz{zzzyyyyzzzzzzzz{yzyyyzyzzyz{zzyyxyzzyyyz{zz{zzzzz{yzzzyzzzzzzz{zzyyzzzzy{{|z{z{{zzzzyyzz{{zzzz{{{{yzzzy|z{zz{{{zyzzzzzz{{zz{|zz{yzzz{zzz{z{z{{zyzz{yzzzyzz{{{{z{zzzzzzz{zy{z{zyzzzzzzzz{{zz{{z{zyzyzzzyz{{z{{z{{zyyzzyyy{y{zzzzzzyyyyyzzzzzxyzzyzyxxyzyzzzzyzzzxyyxyyyyzzy{zzz{zyyzzyzxy{yyzz{zzyyyyyyzy{yzzzzzzyxyxyyyyzyzzyzzyyyzyyzyzzyyz{{zzxyxzyyxzzyyyzzzyyyyyzyyyzyzyzy{yyyyyyyyyyzzyzzzyyyyyyxyyyyyzzzyyyyyxyyxzzzyyzzzxyyyzyzyyyzzzz{yyyyyyyzyy{zyy{zzzyzyyzxyzzzzzz{{yzyyyyyyzy{yz{z{zy{zzzyz{z{zyzzyyyyyyzyzzzzzzz{{zyzzyxzzzz{zz{zzyzzyyyzz{z{zzzz{zyzzyzyyzzzzz{|zyz{zzxyzyzz{{z{{{yzzyzyyzzz{zzz{zzzzzzxy{{zzy{zzzzzzzzzzz{{z|z{|zzzyzzzz{{{zz{{z{zzzz{zy{{{zzzyz{yz{zzzzzz{{z{{{{zzy{yzyzzzz{{{z{z{zzzz{yzz{z{{{{zzyyy{yzzzz{z{{zzzyzzzzzzzzz{{{zyzzyzyzzzz{zyzzy{xyyzxyyzzzzzz{zyyyyyxyy{zzzyz{zzzyyyyyzyyzyzy{zzyzzzzyyzzzyzzzzxyxxyyzyzzzyzzzyyxyyyyyzyyyzzzyzyxyyyyzzyyzyzyzyzyyyyyyyyyyyzzzzxyzyxxxzzyzzyyyxyyzxyxyyzyyyzzzxzyyyyyyyzzyyzzzzxxzyyyyzyyyyz{zyzxyyxxyzyyyyzyyzzzyyyyyzzz{zyzzzzyzzyzyz{zyyyzzzyzzyyzzzz{zzzzzyzzzyyxyyzyzzzz{yzzyyyyzzyzzzzzzzyzzyzyyyzyzyzzzyzyzzyzyz{zzz{z{zyyyzzzzz{zzz{zzzyz{yzzyzzzzzzz{zzzzyzzyz{zz{{zz{zzyyyzy{{{z{{z{zzzyyzzyzzyz{{{yzzyzyzz{{|z{z{|{{zzzyzyz{{{z{zzzzzyzy{zzzzz{z{{{zzzzzzzz{z{|{z{{zzzzyzzyzzzzzz{{zzyyyzyyyyyyyz{zyzyyyyyyzz{zzxyyyyyyyyxyyyzyxyzzyzzyyyxyzyzzyzzzzyyxyyzxyzzyzzzzyyyyzyyyyxzyzzyzzzzyzyyyyyzzz{y{yyyyzzyyyyxzyz{yzyyyxyyyzy{yyzyyzzyyxxxyzyyyyzzyyyyxxyyyyxzzzyzzyyyxyxxxyyyxyzzzyyyyxyyyxyzxzzz{xyyyyyyy{yzyyzyyzzyyxxyyxxzxzzyzyxyyyyzxyzzyz{{zyyyxyxyyy{zyyzzzyyyzzzyzzz{yzzzyzyzyyxxzyyzyzyyzzyzzzyyyzzzyz{zzyyyzzyzyyzzzzz{zxyyzzyyzzzyyz{zzyyyzyzzzzy{zz{z{zyz{yyyyzz{zzzzzzzzzzyzyzy{{{{z{{yzyzyzzzzz{{{{{zzyzzyzz{{{zzz{z{z{zzzz{zzzzzz{{yyzyyyzzzz{zzzzyzyyzyzyzzz{zz{zzzzzzzzyz{{zzz{zzyzzzyzyyyzzzz{{{zzyzyzzyyzzzyy{zzyyyyxzyxyzzzzxyzzyxzyxxyzzyzzz{xyzyyyyyyzzzzzy{zzyyyyzyzzz{zzzzzzzxzyxzyyzzzzzzzzzyxxxyyzy{yyy{zzyyyyxxyzyyzy{yyyyyyyyxyzzyzzyzyyyyzyyxyyzzyzzzyxxyyxyyyzyyzzzyyxyxyyyyzyyyzx{zyxzyyyyxzzzzyzzzyyyyyzyyyzy{yz{yyyyyzyyyyzyzzzz{zyzyyyzxzzzzzyzyzyyyzyyyzyyy{zy{yzyyzyyyyyzzzz{{zyyyzzzyz{zzzzz{zyzzzyyyyzzzz{zzzy{yxyyyyzzzyzy{zyzzyzz{zzyzzz{{xyzzzzzzzz{|{zz{yzzzyzzy{zzzzzz{yyzyyyzz{{zzyzz{zyzzzzzzzzzz{{{{yxzzzz{yz{z{{{y{zyzzzzzzz{|zz{{zzzzzyyzyzzz{z{z{zyzzzzzzyz{{{{{zyzyzyyyzz{{z{z|zzyzyyzyyzzz{z{z{yzz{zyyy{zzzzzzzyxyyyyyyz{zyzzyyzyzyxyyxyzzzxyyzzyxxyxxxzzxzzyzzyzyyyyyxzyzyyz{zzyyzxyyyzyz{zyzyyzyzyyyyzyzzzyyzyyzyyzyxy{zyz{{zyyyyyyxyyy{yy{zzyzyyyzyyxyyyyzz{zyyyzyzyzyyzzyzzzyyyxyxzy{zyzzzzyzzyxxxxzzyzzzzyyzy{yyxxyzzzyzyyyyzyyyyyy{zzyzyzyyxzyyyyzyzzzz{{zzzyyxyyzzzzzyzzyyzyyyyyzzzzz{{{yzyzyyyzz{yzz{zzzzyyzyzyy{zzzz{yyyyzx{yyzzzzz{zzzyyzyyzz{{{zzzzzzzzyyyyyzzzz{{z{z{zzyzzyzzz{{{zzyzzzzyyzz{zzz{zz{zyzzzzz{{zzz{z{{y{zyzz{zzz{z{zzzyzyzyyzy{{z{z{zz{zzyzzzzz{{zzz{zzyzz{zyzzz{{z{{|zzy{zyzz{z{zzz{zzyyyzzyzyzzzz|{yyzyzyzzzzz{yyzzyzyyxxyzz{zyzy{zyyxyyxyyyyzzyyz{yzyyzzxxzy{yzyzzyyyxyzyyyyzyzzyzzzzyyyzzzz{yyzzzyyyxyxyxyyyzy{zzyyzyyyyxyyzxyzzzzyyyyxyyxyyyyz{zzyzzxzxyzyyzxyyzyyzyyyyyyzzzyyzyzyxyxzzyzyzzzyzzyyyyyzyyzzzyyzzzxyyyzyyyx{yyyzy{yyyyxyxzzzzzzzyxyyyyyyyyzz{zzzzzyyyyzyyyzz{{{zzzyyyyyyyz{zzzyz{{zzzyyzzzzzyzxzzzzyzyzyzyzzzzz{zzyy{yyzzy{z{zzzz{{zyzyyzzzzzzzzz{yzzzyzxyz{z|z{{zyzzyz{{z{zzz{zz{yyzyzyyxz{{z{z{zzzzzzzzxzzzzzzz{zz{{zzzzz{zzz{{{{yzzzzzyyz{zzzz{zzzzyzzy{z{z{z{zzxzzzzyzzzz{{{{{{yzzzzzz{{zz{{zzzyzzyzyz{zzzzz{|zzyyz{zy{{yzzyzzzzyyzxyxz{zzyyyyzyyyyyzxzzyy{yz{zyyyyyxyyyzyzzyzzyzxzzzxzzy{{zzz{zyyxyzyyzz{zz{zzz{zyxyxz{zyzzyzzyyyxyyyyzzyzzzzzyzzyyzxzyz{zzzzyyxyyxyyz{yy{z{zzyyyxyyyzyyyzzzyzxzyxzxzyyyyzzyzxzyyxzyxyzzzzzyzzzyyyzyyyyzyzzz{yyyzzyzxyzzyzz{zyyyzy{yyyzyzzz{zyxyyzyzyzzzyyz{zyzyyyzzyzzyzzyz{yxzyxzzy{{z{{z{zyyyyyy{yyzzy{z{{zzzyzyzyzzzzyzzzzzyzyzyzzz{zz{z{zzzzz{zy{{{z{zzzzzzzzyzyz{zy{{{{zyzzzzyy{|{{z{{z{zyz{{yzz{zzz|{zzz{z{z{zz{{z{|{zzyzyzzzzz{{||{{z{zzzzz{z{z{|{zzzzzzzzyyzzyz{|zz{{{y{{zzz{{{{zz{{zzzy{{zz{z{zz{{|{zyzzyzyz{zz{y{zzzzzzzzz{zzzz{yzzxyyyyyyy{z{yzzyyyxyxzyzyzzy{zy{zyzxyyyyyyyy{zzy{zzzzxyyz{zzzzzzzxzyyyyyzyzyyzyzzyzzzxyyzzyzy{zyyyzzyyxyyzzxz{{yyxxyyyyyzyzyyz{zyyzzyyyyyzzyyzyyyyzyyzyyzzzyzz{zzyyzyxxyxyzzyzzzyyzyyyyxzyzzzyyzzzzyxyyyyyyzyzy{zzyzzzyyzyzzy{{zzxyyxyxyyzzzzz{zyyyzzzyyyzyzzz{{zy{zyyyx{zzz{zzzzyzyyyzyzzzzz{zzxzyzyyyyz{zzzz{zzyzyyyyyz{zzzzzz{zzzzzzyzzyzz{{zyzzyyz{y{zyzzz{zyzzyzxxzz|{y{{{z{{zyyzzzz{{zz{{{zzyyzz{{{{zzz{{{zzzzxzy{zzzzz{{z|z{z{yzyzz{{|zzz{zyyzzyzz{zy{{zyzzyzzyyzy{z{{y{|zzzyyyzzzz{|{{zz{yyzzzyzz{z{{zzzzzyyyyyyyzzzyzyzyyzxyyyyyyyzzzyzyzzyyyyyzzzzzzz{yyxwyzyxyzzz{zzyyyyxyyyyzzy{xyzyyyxxxyyyzyzzzyyzyzxyyyzyzzxyyz{yzyyyzzyyyyzyyzxzyyyxyyyyyyyzzzyyyyyyyyxyxzzzyyyyyzyzyyxyxyyzyyyzyzyywyxxxzzyzzzzyyzyxyzyyzyzyzyzzzyyyxyyzyyzzzzzzyzyzyxyyzzzyzzzyyyyzyyyzzz{zzzzzyyyzyyyzzyzzz{zyzyyzyyyzz{zzzzyzyzz{yyzyzzzz|zzyzyyzzyxyzzzzz||yyyzyyyzyzzyz{zyzzzyyzyyzzz{z{zzyzzzzzyyz{z{y{{zyyz{zyy{zz{zzzzzzyzzxy{zz|z{{{{{zzyzzz{zz{zz{{{{zzyzyyzzzz|{zz|{zyzzyz{zz{y{yy{zzz{zzzzzz{z{z{zz{z{z{zyy{{z{z{{{zzzzyyzy{zyzzz{{zzzzyyzy{zzzzz{zzyzyyyyyyyzyyxyzyyyyxxzyyyyxzyyzzxyyyyyx{yzzzzzzzyyyyyyzyyzyz{zz{zyyxxzxzz{zzyy{zzzyxyyxzzzzzzz{yyyyxyzyzyyzyzzyzyyzzyyyzyzzyzzyyzyyxyyxyyzyzzzzyyyzyyyxyzzzzyzyyzyyyzyyyyzzzzyyzxyyyyyyxyyzyzyzyyzyyzyxyyzyyzyyzyyxyyzzzzzyzzzzyyyxyzyzx{zzzzzzyyyzzzyxyzyzy{{zzyzxzyzyzzzzyz{|yzzyyyzyy{zz{{z{zyyyzzzyyzzzz{{zzyzyyxyy{{zzyzz{zyzz{yzzz{zzyzzzzyzy{yzyzy{zzzz{zzzy{zzyz{zzzzzzzzyzzzy{{{{yzzzz{yyzzzyz{{z{{{zzzzyzzzzzz{{{z{{{zzyyy{zzz{{{z|{{zzzyzzz{{{zz{{z{zzzzyyzzzzy{{{{z{zzzzzzyzz{{{z{{zzyzzy{zzzz{z{{{zzyzzzzz{{yzzzz{yyz{yy{zzxzzyzzzyxyzyyyxyyzzyzzzyzxzyxzxyyyzyzyzyyyyzyxxyzyzyz{zyyyyyyyxzyzzzz{yzyzxyxzyy{zy{yy{zyzyyzyyyzzyyzzzzyyzyyyyyyzyzyzyyyyzyyyyyyzzzzzyyyxyyxyzyzyzzyzzyyyyxyxyyyzzyzzzxzyyyyxyyzyzyzzyzyzyyyyxxzzyzzyzyxzyzyzyyzzxzzzzyyzyxzzyzxyzzyzzzyyxzyzzzyzzzzzzyy{zyxzyzzy{zzz{yyzzyxyyyyyzzyzzzy{yyyzyyzzzzzyzzyyyyzyy{{zzzzzyzzyyzyzy{z{z{zy{zzyzyyzyzzz{zz{zyzzzyzz{zzzzzzy{yxy{{yyy{zz{z{zzyxzzzyzzz|z{z{{zzzz{yzz{zzzzzzzz{yyzzzyzz{zz{{{{zyzzzzyz{{{{z{zzzzyzzzyzy{{zz{{{z{zzzyzz{zz{{z|{zzyzzyzyz{zz{zzz{zyzyzzyzz{zyzz{yx{yyyyy{zzzzyyzyxxzyzxxyzyyyyyzxyyyyyxyyzyzzyzzyyyyyzzyzzzyzyzyzyyyyzxzyyzzzzzyzyyywyyyyzyyzzyzzyyyyyyxxyzzyyzyzxzzyxyxzyzyzyzyxyzyyxzyzxzyxzzzyxzyyxzyzzzzyyzyyzyzyywyzzyzyzzzzyzyxyyxyzyyyyzzyyyyyyzxyzzyzzyyyyxyyxyyzzyzyzzzyxzzyyxxyyyyy{{{zyyyyyyzzzzzzz{{zzzzyyyxyzzzzyyzyzzyxzzyzzzyz{{zyzyyzyzyzyzzzzzyyyyzzyyyyzzzy{{zzyxyyyyy{{zyz{{zzyyzyyyzzyz{yzzzzzyyzzzyyzy{z{z{{yz{zyzyz{zzzz{{zyzyyyzy{z{z{{z{yyyz{z{{{zzzz{{{{zzyzzyzz|zz{{zz{yzzzzzzz{z{z{zz{zzzzyzzz{z{zzz{zzzzzzzz{zz{{z{{zzyyyyyzzzz{{{{zyyzzyzzxzz{{zzzzyyyyzyyy{zzzzzyyyyyxzxxxyz{zzyyzzyzyyxyyyzzyzyzyzyyxyzyyzzzyyzz{xyyxyyyyzzyzyzzzzyzxyzyyyyyyyzxzzyyyyyyxyyxzyzzzzyzyzyyyzzzzzzzyyyyyyyxyyyzyyzzzyzyyyxxyxyzzyyyzzyzxxyyyyyyzyxzzyyzyyyxyxzzzyzzyzzyyzxyxzzyyzzzzzyyyyyxyyzyyyzy{yyyyzzxxzzzzyzzzyyyyzxyyzyzyzz{zyyzzxxy{xxyyyyy{zzzyxyzyy{zzzzzzzyyxyyyyzzz{{zyyyyzyyzzyzz{zzzzyyyyyzzyyz{|zzz{z{zyzzyzyzy{{z{zzyzzzzzzyzzy{zz|{zzy{zzyyz{{{zz{z{y{yzzyz{zy{{{{z{zyzzy{yyzyz{{z{{zzyzxzzy{{zzzz{{zzzyzzzzzzzzz{{{yzzzyzyz{zz{z|{{zzyzzzzzzy{zzzzyzzyyyyyzzyzy{{{yzzzyzyyy{z{z{zyzyzzyyzyzzzzzzyyxyxyyyyxyzyyyyzzzyyxzxxyxyzyyyy{zxzyyzzxzyzyyz{zzyzyyyxyzyzyzyzyyyywxxyyzyyzyzzzyzyyyyzzxzyyyzzyyxyyzyyxzzzyxyyzyxyyyyyzyyyzzz{yzyyxyxyxyzyyyzzzxxxyyyxxxzyyzzzyzyyyxyxyzzzyzyzyyyyzxyxxyzyyzyzyzyyxzzyyyzyyyzzyyzyyyyyyyzzyzyzzzyyxyyyyyzzxz{zzxyzzyyyyzzyzz{zzyyyzzyyzy{zzzyyzzzzzzyyyzz{zz{{zzyyxyyzyz{zzzzzyzyxzzyyzz{zyzzyzyyyz{zyy{z{{{z{zyzyyzyzzyzzzzzz{zy{yzzyxyzz{z{{zz{yy{yyyzzzzz{{zzyzyyyzzz{{z{{{z{yyz{zyzzzz{{zz{{zyzyyzzz{z{z{z{zyzzzzzz{zz{{zz{zyzzzyyz{zzzz{z{yzyzzyyzzzz|yz{{yzyyzyyzz{yzzz{zyzzyyyyzzzzyzzzyyxyxyxyyyzzzzyzzyzyzxyyxzzyyyzzzyxyyyzzyyyzyzzz{zyyyyyyzyyzzz{zyzyzyyyxxyzzyyzyz{yyyxyyyyzyyzyzzzyzyyxxyzyxyyzzyyxxyyzxyzzyzzzzzyyxyyyyyyzzzz{{yyzzzyxxyyzzzzzyyyyyzyzyyyzx{zyzxzyyyyxyyyzzyzyzzyzyyyyzyxzxzyzyyyxyyzzyyy{yyzzzyyzxyzxyyyzzyyyyzzyyzxyzyzyzyzzzyzyyyzyyyzz{yz{zx{zyyzyzyyzzyzz{zyyzzyyzyzyzzyzzyyzyzzyzyzyy{z{zz{yxzzyyx{z{{{z{zyyzzyyzzzzz{zz{{zyzyyyyyzzzz{y{zyzyzzzyxzzzz{z{zzyzyzzzzyzzz{zzz|zzzxz{zz{zzz{zzzzzyzzyzzz{{yzzz{yyz{yyzz{{{{{{{{zyz{yzzzzyzzz{{z{yyzyzzz|z{y{{z{zy{yzyzzzzyyz{zzyyzyyzzyzzzzzz{yzxyyyzxyzzzyyzzyxyyyyyyyyyzyzz{zyyyzyyyzyz{zzzzzyzyzyyx{y{zyz{{zyyyxyyxzzzzyzyyxxyxyzyxyzzyyz{zyyzxzyyyyyzyyzz{yyzxyyyyyyyyyzzyyxyxyyzyxyzzyzyzyyxyxyyxyyzzzzzyyyyyxyxyyyzzzyz{yxyyzxyxyzyyzzyzzyyxyxyxxzyzyyz{yyyyzzyyzzyzz{yyyyzyzyyyy{yyzz{zyyzyyy{yyyy{z{zz{zzzzzyyyyzyzz{zzyyzzxyyzz{zz{zzzzzyzyyxyy{zyzzzyzzyyzyyzyzzzzzzyyyzyzzzz{z{z|zxzyzzzyzyzzzzz{z{yyyzzzxyz|{zzzzzzyzyyzzyz{zz{|zzzz{zz{zz{zz{{z{{zzzzyyzzz{{z{{{{zz{zzzzzzzzzzzz{zyyyyzyzzzz{zz{{{z{zzzz{zyzzz{{zzzyyy{zzy{y{z{{zzyyyyyzzzz{{{z{{xyzyyyyyyzzyyyyzyxyyyyxxyyyzzzxzzyyyxxxyyyzzyzzzyyyyyyyzzzzyzy{yzzyyyyyyzzz{x{{{zyzzxyyxzz{yzzyzyyyxyyzyyzzxzzyzyyyyyyyxzy{yyzyzyyyyyyyzzyyyzyzzzyyyyyyyyyyzyyzyyyyxyyyzyyyzzz{zyyyxyxyxxzzyyy{zzyzyyyyyzyzzyzzzyyyyxyyyyyyyzz{zyyyyyyzxyyzzzz{zzyyzyxyzyzzzzzz{zzzyzzzyyzz|zzzzyyzzyzyzzzzzzz{{{yyyyzyyzzzzzz{zxyzzyzzyzzzzyzzzzyyzyzyyz{{yzzzzy{zxzyzyy{z{z{zz{zzyzz{zz{zzz{z{{yzzzyyyzzz{z{zz{yzyzyzzz{zzz{{z{zzzzyz{yzz{zz{{{zzzyzzyz{{z{{{zzzzzzzz{zzzzz{zz|zzzzzzzz{z{{{{{|zzzzyzz{zzyzz|{zyyyyyzyz{zz{{|{zyyzzyyzy{{{z{{zzyzyzzyyzzzzzyyzyyyzyxxzyyzzzy{yzzyyyyyzzzyzzzzzzyxyyzyxyzyzzzzzzzyyyyxyxzzzyzzyyzyxxxyxzzzyyyyzzzyxzyyyzzzyyzzyyyyyxxyyxyzyyzzyyzzxyzyyzzyzz{zzyyyxyyyxyzzzz{zyzxxzyyxyzzzzyzyyxyyyxyyxzyzyyz{zyyxzyyyyyzzyzzzzy{yyyyzyyzyyyzyzyyyyyzyxyz{zzzzyyxyyyxzyzz{yyz{zzzzzyyyzzzz{yzzzyzyzyzzyzzyz{z{{{yyzzyyxyzzz{{{yzyzyyyzz{zz{zyzzzzyyyyxyzzzzyzzxyyzzzyyzyzz{z{zzyyyzxzzyz{z{z{zzzzzzyyyy{zzzzz{z{yzzzz{z{{{zyz|z{yzzz{zy{zzz{{{|{zzzzzzyz|zzz{{{zzzzyyzz{zzzzz{z{yyzzzz{zz{z{z{{zzyzyzzzzz{{zz{{{zyyyzzzz{zy{zz{{zxzyzz{yzzzzzzyzzzzzyyyzzzyzyyzxyzyxyyyzzzyzyzzyyyzyyywzzzzyzyzzyxxzyxyzyzzzzzzzyzyyyyyyzyzyzz{zxyxyxyxzyyzyz{zzyyyyyyyzyzy{zzzyyyyzyyzyz{yyyy|yyzyzzyyyyyyzyzzyyzxyyyxzzyzyzzzyyyyxyxyyyzyzzyzyzyyxzxxyzzzyyyzyyyyyyxzzzyyyzzzzyyyyyyxzzyzyzz{zzxyyyyzzyyyyzyzyyyyzyyyy{yyzyy{yzzyyyyyyyzz{zz{zyyzyyzyyz{{zzzzyzzz{yzyy{zyzzzzyyzxyyyzzzzyyzyyzyyzzyxxyzzzzzzzzyzyzzyyzzz{{zzzyzzyzzyyz{zzz{zzzzz{zzyyzz{{z{{zzyzyzyzy{z{zzz{{{yyyyz{zz{zzzzz{{yzzzyzyz{{{{{z|zzzzzyzzy{zz{{{{zzyzyyyzzzzzz{{y{yzyz{z{zzzz{z{{zyzzyyzyyzz{y{{zzyy{yzyzzzzzzzyzzyzxxxzyzzyyyyzzyyyxyyxxyzzyzyzzyxxxxyzxzyxzyzzzzzyyyyzzzzzzz{zyzyyyxyyyzzzyyzz{yyyxyyyx{zyzxz{zyxzyzzxyyzyyzzzyyxxyyxyyzzyyzzyzyyzxxyyyyzyzyzzzyyyyyyyyzzzzxzyyzyzyyyyzzzyyy{zzzyyzxxyyyzyyyyyzyyzyyyyxyyyyyyzyzzxxxyyyzzzyyz{zyxyyyyyxzyzyyzzzzyzxzyyzzzzzzyyzyzzxyyzxzzzzy{zzzzzyzzyyyy|z{zzzyyyyxyzyyzyzzzzzzyzyzyyyzzzzzyzzyzzzyyxzzz{zzzzzzzzzzyyzz{zzyzzzyzyyyzzz{zy{zzz{y{yzyyzzz{zy{{z{zzyzyzzy{{z{zzzzzzzyyzy{zzzzz{z|zzzyzzzzz{{zz{z{zzzzzzyz{z{z{z{z{zzzzzz{{{{z{zzzyyyyzzyz{zz{{{z{z{yyyzzyy{{zz{{zzzzzzyxyy{yzzzzyzxyyzyyzzyyyzyzyyzyxyzxyzzyyyyyyxyxyxyxxzyzzzzyzyyyyyyyxxyyyzzzyzyzyyxyyyyzyyyzzyy{yxyyyyzyzyzyzyyxxyxyyyzyzzzyzyyyxyyyyzzyyyyzzzyzzyyxyzzyyyyzyzyxxyyyyxzyzyzzzyzyzxxxyyyzzzzzzzyyyxyxxyzyzyyzzyyyyyyyyyyzyyzyzyzyxyyyzyyzyzy{zzxzyyyyyyyzzzyzyzxyzzyzyzyyzzzzzyyyzywyzyzzzyzzzzyyzxzyz{zyzz{yzzyyzzyzyyzy{zz{zzzyxyyzyzzzzy{{zzzyzyyyyzzzzyz{z{zxyzzyzyyzzzz{zz{zyzyzzzzyzzz{yzyyyzyzy{{zzz{{{zyzyyyyz{z{{zz{zzzzz{zz{|yy{zzz{zzzyzy{zz{{{{{{z{zzzzyzzzzzzzz{{{yyzy|yz{z{zzzzz|yzzzyzzz{{zz{{zzzyxzzzzzz{yy{|{{{xzyyzzzz{zyz{zzyzxyzyy{y{yy{yyyyzxyywyx{zzxzz{yxyyywyyzzyyzzzzzyyxxyyyyzyxzzzyyxyyxyyxyzyzyzzzyyyxyyyxyzyzyzyyyyzyxzyyzzyyzzzzyxyyyyxxzyzzyyyzzzxyyzyxyzyyzzyzyyyzywxyyyzzzzzyzxyxyzyyzyzyyyzzyyxyxyyyyzyyyyzyyyyxyyyxwyyyyzyzyyyxyyyxxyyzyzyzzxxxxyyyzyyzzz{zyyyyyxzzyzzzyy{{zyyyyyzyyzzzzzz{yyzzyyyzyzzyzyzzyyzxyzzyzzzzzzzzyyzyyzzyzzy{yyzzyyyxyyyy{{zyzzzzyyyyyzxzyzz{z{zyyyyyyyzyzyzzzzzzyz{yyyxzy{z{z{{zzyyxzzyzzzz{zz{zzzyzzyyz{{zzzz{zzyzyzzzzz{{{{{{{{zzzzzzzz{{|zz{{zyyz{z{zzzzzz{z|zzzzzzzzz{{z{{{zyzzzzzzzzzzzyzzz{zzyyyxzzyzzzyyzzyyyxyyxzzyzzzyyyxxxyxyyzyyyyyyyyyyyxyxzzzyyzzyzyyxyxwzxzyyy{yzzyxyzyyyyyzzz{y{yyyyxyxzxyyzyyyzzyyyyyxyxzzyyyzzzzzzyzyxyyzzyyxzyyyyxyyzxzyyzzyz{xyxxxyyxyyyyyyzzyyzzyxxyzyyzyzzyyxyzyyxyyzzyyyzzzyyyyxyyyyzyyxyyyxyxxyxwyzyzyzzyxwyyyzxzzzyzzzzzxyyxyxyzzyzyyzzyyyzxyyzy{yzyz{zzyzyyyxyzzzzz{zyzyyyyzxzyzzzzzzzzzzzzyyyyz{zyzz{yyyzyyyyyyzyyyz{yzyyyzzyzzz{yzz{{yyzzyyzyzzzzzz{z{zyzzyzyzyzz{zzx{xzz{zzz{{yyzzzzzzzzzzzyzz{zzyzzzzzzzzzzx{z{{zzz{zzyzyyyzzz{zz{zzzzzzzyyzzzz{{{{zzzy{yyz{yzzzzzzzzzyzyyyzzz{z{{zzzyzzyyyzzzzyy{{zzyzyyyyzyzzzzyyyyxxyyxxwyzyzzzyzyyyywyyyyzyz{yzyy{xyzyxyyzzzzzzzyyyyyyxyzzz{yyyyxyyyyzxxzyzyyzzzxyxxxzy{yzyxzzyyyzyyzyyyyzyzzzzxxyyyyyyzzyzzyzyyxyxyxyyyyxyzzzyyxyyxxyyy{zyzzzzyyyyzyyxyyzzzzyzzxwyyxyxxyyxyxyyyyzxyyzyyyyzzzzyxyyzyzyxyzzzzzzzzyyyyyyyyyzyzz{zzzzyyyyyzz{zyzzzyyzyyxyyzyzzzzzzzzyyyzzyzzzzyzzzzyzzzyyxzz{zzz{yzyyzyxzyyz{yzzz{zyxyyzyy{zz{{zzyzy{zzyyy{zz{{{|zzyyyzyyzzzzz{zzyzxyyzzzxz{zzzz{z{zzzyzzzz{z{zz{{{zzzzzyyz{zzz{zzzzzzyzzzyz{{{z{{zzzyzyyzzz{z{z{zzzyyzyzz{yy{{{y{zzyyzyzzzzzzzz{zzzzyy{yyyzz{yz{yzyzyyxyzzyzyzzyzyyyyyyxxyzzyyyzyyyywyxyzyzzyyz{|yyzxyyyyzxy{{zzyyxxxzzyyyyzyyyzzzyyyyyzxxzzyzzzzxyyyyyyxzzyzxy{yzxxyyzyzyyzyyzzzyyyxyyxzyzyzyxzzzywxxyxyyyyzzzzyyyxxyyyyxz{z{yzzxyzyyyxxyyyzzzzyyxxyxyyyyyxyyyyyyzyyyyyyyyxyzzzzyxyyyzxxyyzyyzzzyyyyyyzyzz{zzzz{zxyyzyyzyzzyyzzzzyyyxzyyyzzyyyzzzyzyyzyzyzyzz{zzyyxyzyxyzzzzyyzzzzyzyyyzzzzzzzzzyzzyyzzyzz{{zz{zzyzzzz{zzzzzz{{{yzyzzyyyzzzzzz{zzyyyyzzyzzzzzy{{{zzzzzzyzzy{z{z{{yzyy{zzz|zzzz{zzyyzyy{zzz{|yzzzzzyyzzzz{zz{{zzz{zzzyzzz{z|zzz{zzyyzzzzyzzzzzz{{zyyzyxyyzzzzzzzyyyyxyzzyyzzzyy{zzyyxxxzyy{zyxzyzyzyyyxxzyyzzzzyzyxyyxyzyyyzzzzyzzyzyyxzyyzzzyyzzyyyyyxyxzyzyyzzzzyyyyyzyyzzzzz{zzyyxyyxyzyzzzzyzyyyyyyyyyzzzzzzzyyxyzyxxyyzz{yzzyyyyyzyzyyzyzzzyzyyyyxzxyyyyxyzyyzxzyzyyzyzyzzzzyyxzyyxxyzxzzyzzzyzyyzyyyyzyyzzyzyyyyxyyyyyzzz{zzzzyzzzzyzzzyzyzzyzxyyyzyyzz{zz{zyyyyzyxzzzzzz{yzyyzyyxzyy{zxzzzyyzyzyyyzzzzyzzzzzyzzzzy{zz|z{{{yz{zzy{zz{zzzz{zzzzyzyyxzzzz{y{zzzzy{zyy{{|zz{{z{zzyyzz{z{zzzz{zzzyzxzyx{z|zzz{{{yzyyzzzyyzzz{zzzzzyyzzz{{y{y{{{zzy{z{zzyzz{z{{{zyzxyyzzzzzzz|{zzzzzxyyyzz{{zyzzzzyxzyzy|{yz{yyzyyyxyxyyxyzyz{zzzyy{yxyyyzzzyz{zyyyxxyyyyyzxzyzyyyyzxyyzyyzzyxzzzxyyyyyxzyzzyzz{zzzyyyyzyzyyyzyyxyyxzyxxyzzyzyzzzzzyyxyyxyyzyyyzyyzyzyyyyyyzyzzyyyyyyxxxyzzyyy{yzyyyxyzyzzzzzzz{yyyxxyyyzyzyyyzzzyyxzyyyzyzzyzzzzyzyyyxxzyzzzzzzyyzzzxyzyzyx{z{zzyzyyyyxzzyzzzzzyzzyyyyyzzyyy{zzyyzyzyzyzzzy{z{zzxyyzzyyyy{yzy{zzzyzyyyx{zzzyzzzzyyyyyzyzyzz{zzzyyzzzzzzzzzz{|zzzzzyyyzyzyzzzzzzzzyzzzyz{z{z|{z{zyyzyzzzz{zz{{{{{yzyzzzzz|z{zy{{zz{{yzyy{{zzz{z{zzzzzyyy{yzz{{z{{zzzzyzz{yzzy{zz{zzzyzzzyzzzz{|zzyzzzyxzzzy{z{zyzzzyxzyxyzzyzyyyyyxxzyyxyyzzyyzyzyyyxxyyzyyyzzzzyzyxxzzxzyyzzzzzyxxzzyyyzzzzyzz{yxyyyyyyyyzyyzyzxxyzxyyxyzyyyzzyyyxxyxxyxy{zyyyzyyyyxyyyyyyzyzyyzyxyxyyxyyyzyyzxxyyyxxwzxyzyzzyzyyyyyyxyyyxzzyzzyzyyyxyxyyxyzyyyyyxxyxywxyzyy{yzxxyxyzzyyzyyyzyyzyyyyzyzzyzyzyz{zxyyzyxyzy{yyzyyzyxyxzyzzzyzzyyzzzzyzxyyzyyzy{{{zzyyyyyyzzzz{{zzyyyyzyxyyzzzzz{zyyyyyyyzzz{zzzzzyyzyzy{y{zzzzzyzzzyzyxzyzzzz{z{zzzzyzy{xz{zz{zz{yzyyzz{y{{{zz{{{{zzyzz{zy|z{{{{zzyzzyzzzz{z{yzz{zyy{yzyzz{z{{y{{yzxzzxyyzy{{zz{{yzyyzzyzz{yzyzzzzyzzyzzxz{xzyzzzyzzyyyxyzyzzyyyyyyyyzyyyxzzzzyzyyyxyyyyxyy{yzzzzyyyyyyyxzyyyzyzzzzyyzyyyzyz{yzy{zxyyxxyzzx{zzyyzyyyyxxyyyyzyzxzyzyyyyxyyzy{yz{yzxyzxyyxyyxzzyzyzyxyyzyyyyy{yyzzyzyyyxyxyyyzzzzzyyxzxyyyxyzyyyzzzyyxyyyzyxyzyyyzzzyyyxyyyxzyzyyz{yyzzyzxyzzyyy{{{yyyzyzxyyyzyyyzzyyzyxyyyyyzz{zzzyzzyzyyyzzzzzzzzzzyyzxyyzyyyz{zzzyzyyyzxzz{zzzz{zyzzyzyzzz{zzzz{{yzyzyyzz{{zzz{{zzzyzzzzzzzzyzzzzzyyyyyyy{{zzzz{zyzzzyzy{|{zzz{{zzzzyyzyz{z{zz|{zyyzyzyzz{z{{z|{zzyzyzzzz{{z|{{{{{zxzyyyzzzzz{{{zzxyzzz{zzz{z{{{z{zzzzyyy{zzz{zzz{zyyzzyzzzzzzz{yzyyzyyyyyyyzxyyyyyxyxyyyzyyyzyzzyxyyyyyyyyzyyz{yyywyyyxyyzyyzzzzyxyyxxyxzyyxzyzyyyyyxyxzzzyyzzzyyyxyzyyxyyyyzzyyyyyxxzyxyzyyyzzyyyzxyxyzyyyyyyzyxyzxxxxyyzzyyzzyzxyyyxzzzyyzyyzxyyxxxxxyzzzzz{zzyxyxyzxyz{yzyzyzyxwyyyyyzyyyzyxzyzyxxxyyyyyzyyzyyyyxyyyzzzzzyzzzyzyyyyyzzzzyzzzyyzyzyzxzz{zzzzyyyyzzyzyyzyzz{zzyyzyyyyxzzzzz{{zyyzyxzyyzzzyyzzyzzzzzyyyzzzz{{{zyyzyyzzzzzzzy{{zzyxyyzxyz{{z{zzzzyyzyzyy{zzyzzzzzyyyyyz{zzyzz{zzzzyzz{yyz{zzz{z{{zzzyyyz{zz{z{zzzzzyxzyz{z{zzy{zzyzzzzyyz{yzyz{{yzyyyyzyyzyyzy{|zzyyyzyy{yy{yzyyyyzzyxxyyzzyyyzzxyxyyyxyxzyzxyzzzxyyyyyyyxzy{zyyyxxxyyxx{zzxzyzyyxyxyxxyyyzzyxzyyyyxyxxxxyyyyyxzzyyyxyyxyyzyyzy{xyyyyyyxyy{xxyzyxxxxxxyxyxyyyyzyxxyxxyxxyyyyyzzyyyyyyyxyyyzyyyyyxxyyyxwyxyyyyzyzyxxyyyyxxzzyyyyzxzyxxxyyxyyzyzyyyyyxyzxyzyzyzzyyyxxyyyyyyzzyyzyzzzzyyyyxyzyyyyyzyyyxxyyzyzzyyzyyyyyzzyzxxyyzyzyzyyzyzyzyyyzyyyzzyyyyyyxzzzyzyyyzzzyyyyyyzzzzzyzyzzxyyyyyzyzzz{{zzzyyyyyzzzzyzzzzzyzyzy{xzzyz{zzzzzyyyzzyz{zyz{zzyzzzyyzyy{zzzzzz{zzyyzyz{z{zzz|{{yzyzyzyzyzzzz{{{yyyyyyzyzyzz{zzzzyyyyyyzzzzz{{zyyxyzyyyzyzzzyzzyyzzyyxyyyzzxyyyyyxyzxxyxzyzyyzzyyyxxyxyyyyzyzyzzyxyxyxyxyyyzzzzzyyxyyxyzyyyxyzzzyxxxyxxxzxyyzy{zyyxyyxyxyyyyzyyyxwxyyxxyyzyyzzyzyyyyyxzyyyyzzzzxxxyyxyyyyzyyyzyyxyyxxxyyxzxzyzzyyyyyyyyyzzxyzzzxxyxyxxxzyzyyzyyyzyxyxyyxyyyy{yzzyyyyxyxyyyzyyzy{yxyzxxyzzzyyzzyxyxyyyzyzxyyyzzzyyyyxyyyyzzzzzzyzyyyyyzzyyyzzzzzyyyyyyzxyzzzzzzyyxzxxyyzzy{yzyzzyxyyzzzzyzz{yzz{yzzzyyzwzzzzzzz{{yyzzyyyyz{z{{zzzyzyyzzzy{z{zz{z{xzzyzzzzzz{z{{zzz{zyzyzz{zzzz{{zzzzzz{zzyzzz{zz{yzzyyyyzzz{z{zzzyyxzyyzzyy{zzz{zzxyyyzyzzyzz{zzzzyzzyyxxyzzyzzzyxzxyxyyzzzzyyyyyxxyyyyyyzyyzzzzxyyxyyxyyzzzy{yzyywyyzyxzzzyzyyzywyyyyxxzxyyyyzyyyxyxxzyyzyyyyyzyzxxxyxxyzzyx{zzyyyyyxxyyyzyyzyzyyxxxxzxyyzyyyyyyxxyyxyyyyyyyyzzyyyyyyxyxyyzyy{zywyyxyyxyyzyyx{yyxyyzxyyyzyxyyyyyzyxyyzyzzyyyyzzyyyxyywxyzyyyzz{yyzyyyyyyzyyzzyzyzyzxxyy{zyyzyz{yxyyxxxxyzzzzzzzyyyyyyyyy{z{zyzzyzzyzyyxyz{{zzzyyyzyzzyyzzzzyz{yyzzzyzyzyzzzyzzyyzyxzyzxyzzzzz{zyzzyyyyzyzz{z{{zzyyzyxyz{z{zz{zzzyzyyzzz{zzz{{zz{yzzz{y{zzzzz{{zzzyzxy{zzzz{zzzy|yyzzzyzzzzz{z{{zyyyzzxzzzz{{{z{zxyyzyyyy{zzz{zzzyyzyyyyy{z{zyzyyyyyyyyyzyyzzyyzyyyxyyyzxyyyyyzzzyyyyxxyyz{yzzyzzzxyzxyxzyzy{zzzzyzzzzxyyzz{zzzyyzxyyyxxzyyzyyyyzyzyzyyxyzyyyzzyyzzyyxxyzzxyxz{zyyyyyxxyyyzyyzyyyyyxyyyyzyyyzzzyyxxyyyxyyy{xzyxyzyyyxxyxxzyyzyyzzyyyyxyyyzyyyzzzyyyxxxyyyyyyxzzzyxyyyzzyyzzyzzzzyxzyyyyzyzzzzzzzyyxyyyyyzyyz{zyyyyzyyxyyzyzz{zzzyyzyzyyzyyzzyzzzyyzxyyyyy{zzy{zyyyyzyzyyzzzyzzzzxzyzyzzzzz{{{{{yyzyyyzyzzzyzzz{zzyzyyyxxzzyzyyzyzzzyzyyyzzyyz{{zzzzzyzyy{{{zz{z{{yzyzyzy{{{{{{z{yz{zyzzzy|zz{{z{{zzzyyzyyzyzzz{{yzzyzzyz{zz{z{y{zyzyyyyyzzzzz{zzzzyyyyyyyzyzz{zzzyyyyzzyz{zyzzzzxyxyyxxyyyzy{yzyyxyxxxxyyzzzyzyzyyyy{yzxyyxzzzy{yyyzyyyyxyyzxyzzyxyyyyyxyzyzyyyzyxxxyyywyyyyzzzyzyyyyyyxyyzyyzyyyxyxxxyyyyyyyyyyyyyyzxyyxyzyzyyyyxyyxxxxyyyxzzyyyzyxyyyxxyyzzyzzywyyyyxxyzyyyzzyyyxyyyxxyzyyz{zzyyzyyyyyzzzzyxzyyyxyzxzzyzyzzyzz{yyzxyyyyzzzz{yyyyyxyzzzzz{zyyzzzyzyxxyyzzzyzzzzyyyzzyyyzyxzyyzzzyyyyyzzyyzyzyzzzyyyzzzzyzzz{zz{zyyzzyzzyzzzzy{zzzyzyyzzyzzzzzzzzxzzzyzy{{z{zzzzyzyzyyzyzz{z{z{zzyzzyz{zy|{{z|z{zyzzyzyzzz{zz{{zzyyyzz{yz{z{|zzzzyyyzzyyzzy{zzzzzy{xyyzzzz{yzz{{zzyyyzzyzzz|zzyzyxzyzyxyzyzz{zzyyy{xxxyxxyyyzzzzzxyxyxyyzzxyzzy{yyyyxyyxzx{yyyyzzyxxyyyzyzzzyzz{zyyyxyxxzyyzzzyzyyyyyyyyyyzzyyzzyyyxyxyyyyzzxzyyxyyyxyyyyyzzyy{zyzyxyxxyyyxyyz{yyzxzxyyzxyyzz{y{yzzyxzyxyzyzyzzyyxyyzyyxzzzzyzyyyyyxzyyxyzxyyzyzyyyyyyyyzyyyyz{zzyyyzyyxzzz{yzz{xyzyyyzxzyz{y{zzxyyzxyzzzzzxyzzzyyyzzyzyyxzzzzzzyxyyyzzyz{zzyzzzzyzzxzzxzz{yz{yyyzzyyzxyzzzzz{y{yyyzz{zy{zyzzz{{yyyzyyyzzy{z{zzzzzyyzzzy{zzyz{{{yzzzzzyyyzz{zzy{{zyzz{zyz{z{zzz|{y{{zzz{z{zz{zzz{yzz{yzzz{zzz{{{zzzzzzyzzzzz{z{zzyyyzyzy{zzzy{z|{yyzyyyyyzzzyzy{zzyyzyyzzzzzzzyzyyyyyxyxyzzyzzxyyyxyxxyzyzzzyzzzzyyyyzyyyyyy{yzzxxxxyxxyzyzyyyzzzyyyyxyxzzyzyzyzyxzyyxyxyyyyyzzxzxxyxyyyyyyzyzyyyyyyyxyyzyxyxzzyyyxxywxyzzyzzzzzzyzyxxxyyyzyzyzzyyyyyxyyyyyzyzy{yyxxxxyxyzyyxyyyyzyyyyyzxzyzyzyyyyzyyyyyyzyzzyzzyyyzyyxzzzyz{zzzyyyyyyzyyyyzzzzzzzzyyyyyzzzzyzyzyzxzyyyxyzz{zyzzzyyxxyyy{zzzyzzzzzzyzzyzzzyzzzzzyyzyzzyyzzzz{{y{yzzyzyyyzzzzz{z{yzzzzzyzzz{{zzzzzy{zzyxzzzzz{z{{zyzyyy{z{{zz{yzz{{yzyzzyz{{{zz{zzzz{xzzyzz{zy{zyzyyzy{xz{yzz{zz{{zzzzzy{zzz{zz{zzzyy{yyyyxzz{z{zzyyzyyyyyzzzyzzyzyyzyyyxyzzzyzyzxzzyyyxyxyzyyyyyyxxxxvyxyyyyyzyzyzyxyyxxyyyzyyzzzxyyyyxxyyyyzyzzyyxyyxyxyyxzyz{zxyyyxxwxyzyxxzzzyxzyxxyyzzyyyzzzyxyyyyzyyyyyyzzyyxxyxxyxyyyyyy{xyyxyxxxxyyyzz{{yyyzxyyyxyzyyzzyxyxxyxxxyxxyyyyyzyyyyyyyxyzzyyzzyxyzyyyyyzyzyyzzzzyxyyyxyyzyyzzyyxzzyyyyxyzyz{yyzxzzxyyyyyzzzxzyyxzxyyyyyyzzz{zyzzyyyzyyyzzyyyy{yyzyyzzyyz{zyy{zyzyzyzzyyyzzz{z{{zzyzyyzxzyy{zz{{zyzyyyzzzzyzzyzz{zzyyzyzy{yzyyzzzyzzyzzzzz{zzzz{zyzyyzzyz{z{zzzzzxyyyzyyzzzzz{{zyzzzzyyzz{{z{yz{{yy{zzyz{yz{{zz{zyzyzzyyyzzzyz{{zyyzxyzyy{{zzyzyyy{yyzyyzyzzyyzyyxyyyxxxyyzxxyyzyyxyyxxxyyzyyzyzyyyyyyyxzyzyzyz{xxxyyyzzyzyyyzzzxyzyyxyyyyzzyzzyyxyyyyzxyzyyyyyyyyyyyzxyxzyyzzzzxyyyxyyyyxyyyzzyyyxxyxzxyyyyzzzyyyyywyyzyyzyzyzzxyyyxxyxyzzxxzzzyyyxxxyzxyxyyzzzxxyxxyxyyzyxzzyzzxyyxxxxyzzyzy{yyyzxyxyyyzzzzzz{zzzyxxyyyyzzzzzzyyyyzzyzyzzyzzzzyyzzzxzyzzzzxyzzyxyyyyxyzzzzyyzzyxyzzzyzzzzzyy{zzyzyyyyyzz{z{z{yy{z{yyyyzzy{zzz|zzyzzzyyyzz{yz{zzxyyzxzy{zzzzz{{yxzz{zzyyz{zz{{{{yyyyzyzz|{zzz{yzzzzxzzzz{zzzz{zzyzyyyyyzzzyzzzyzyyzzzy{{{z{zzz{yyzxyyzyzzzzz{{{zyzyyyyyzyyyyyzzzzyzyyzyyyzyzyzzxyxyxyyxxyyyyyyzxyxyxxxyxyzyzzzyyxyxyxwxzyyzzyzyyyyyyxyxxzzyzzyzyzyyxxxxzyyyyyxzxxwyyzyxzyzyzyzzyzywyxxyyxyyyx{yzyxxyzxxxyzyyyxyyzyxywyyyzyyxyzzyyxzyyxyyxzyxzzyzxyxyyyxyyyyzzzyzyyyxxywyyyyyzyzyyyxyyxxyyxxyzyyxyyyyzzyyzyyyyyyxyxxyxyyyzzzzzzzyxyxyxyyyyyzyyzzxzyyzyyyyzzyyy{yyyyyyxxzxyzyy{zzzyyzyxxxyzzyyyzyyyxyyyyyyzzyyyzyzzyyz{yy{z{zzzz{yyzyyyzzz{zzzz{zzz{zyzyy{{zyzzz{zxzyzxyyzzzyyzzzzyyyzyy{y{z{z{{zzyzzxyzzzzzy{z{zzzzzyxyyyzzzzz{{{yyzyyyyzzy{zzz{zzzyzzyxzzy{zzzzzyyyxxyyzzzzzzzzzxyyxyyxyyyzyzzzyxyyxxyyzzzzyyzyyxyyxxxyyzzzzyyyzyzxxxyyy{zzyyzzzyyyyyxwxzyyyyzzxxyywxxyy{yyxyzzxyyxyxxxyzzyyyxyyyyxywxyxyzxyzyzxxyxyxyyzyzyxzzyywyxxyxyyyxyxyzyxxyyxxxwyyxyyzzyyxyyyxxxyyzyyyyyyyyyxxyyyyyyyy{zxyyyxyyyxyzxyyyyxxxxxxyxyzyyyzyxxyyyyzxxxzyzzzyzyyyxyxyyyyzyyyzzzyxyyxyxzzzzyzzzzyyxxyyyxyzyyyzzzyyxyyyyxyzzzyzzyyyyzxyyyzzzyyyyyyyyxyzxyzzyxzzzzyyyzyyyyzyz{{z{yzzyxyyzz{zzzz{{zyyzyyxyzzzz{y{z{yyyzyyzz{zzzz{zzyzyzzzzyz{zzz{y{zyyyyyzyyzzzzz{{yzyyzyyz{zzy{{yzzyzyyyzzzzzyy{zyzyyyyyz{{zzxyyzxyyyyyyxzzz{{z{zzzyyxyzyyzzzzyzyzzyyyyyyzyzzyyyyyxxzxzyxzyyyyyzyyxxyxwyyyzzzzyzzyyyyxyyyzyyzyyyxzyyyyxyyxyyzxyyzxzyxxyxxyyyyyyyzyyyxxyxxyzyxyyyyyyyxxyxyyyyyyzyyyyxyxyxyzyxyyyzzxxzxxxyxyxyxyzzxyxxyxyxxyyyyyyyyyyyyxzyyxzyyxyyzyxxxxyzxxxyyzzzyyyxwxyyxxyxzyyyyyyxxyxxyzzzzyy{yyxyxyxyxyzzzyyyyyyyyxyxyyxzzyzzzyyzyxxyxyyzzyz{zzyyxyxyyyz{yyzyzyyyyyyyxzyyzxzzyxyxyxyyzzzyzzyzzzyyxyzzzyyyzyzzzyyzyyyyyzzxzz|zzzzyzyyyyzzyyyzyy{yyxyyzzz{yx{{{{yyyyyyzzyzyzzz{z{yyyyzyzz|zzy|{z{yyzyy{zzzzzy{z{zyzyyzyyyzyzyzzyzyzyyyyzzz{zy{zzyzyxzxxyyzyz{z{zzzzyyyxyxyzzyz{zyyyyxxxxzyzyzxzzyywxxyyxxyzyyzz{xyxxyxxxzyyyzyyyyxwyyxyxzzyyzzyzxwyyyxyyyyzzyxzzzxyyxxyyzyyyzyzzyyyxxyxyxyyyzxzyyyyyyxxyyyyxyzzzyyxywzxyxzyyxyyzxxxzyxxyyzy{xzyyyywyyxxyxyyxzyzyyzyxwyyyzyzyyzyzxywyyxxxzzyyzzzyxyxxyxxxyyyyyyyyyyxyyzyxyyyyzzyzzyyyyxyyyzyyyyyyyyyzywyyyyyxyzyzxzyyxxxxyyzyyyxyyxxyxxyxzzzzyyxzyyyyyyxyyyzzyxzzyyyyxyxy{yyzyyzzzxxxxyyzzzyzzyzyyzxzzyyzzyzzyzzzzzzyzyzyzzy{zzzzzyxyyzyyzy{zzz{{yzxxzxxyyzzzzzz{zzyyyzyyyzzzzz|zyzyzyyyzzzzzzz{zyzyyzzyyzz{zz{yzzyzyyyyyyzyzzyzzyzxyyyzyyyzzy{z{yyzyyzyxxzyzz{zzxxyyyxxxyzyzyyyyyyyxxyxxyzyxyzzzxxyyxyxyyyyzzyzyyzyyyyyyzyyyzzzyyyyxyyyxzzyzyzz{zyyyyzxyyyyyzzyzyxzyxyxyyzzyyyzxzyzyxyyyyzzyxzzyyyyyyxxzyyyyxzzzyyxyyyy{zzyxyyyzyyyxyyyyyxyzyzzyyyyyyyxxyzyzyzzzyyxyxxxwyyzyzzzxyyxyyyzyyyyyyyyzyyyyyzyxzxzyzzzyyyyyyyy{zzzyyz{yxyyyyyyyzyzyz{{zzyyxyyyyyyzyzzzzyyyyzxyyyyzzyyzyzy{zyyyzyzzzyyzzyyyyzzyyzzyy{{zzyzyzyyzyyzzzzzzzyyzxzzzyyyy{{zzzyyzyyxyyzz{zzz{zzyyyzyyzzzzzyz{{zyyzzzzyz{zyyzz{{yyzyyzyyz{{{z{{zzz{yyzy{zzzy{zz{yzyzzy{zzzy{zzzyyyxzyyzy{zyz{z{zzyyyy{zzz{yzzzyzyyxyyyxy{yzzzyzyxyxyxyx{zzzzyyyyyxxxxxxyzzyyxyyyyxxxyyxyyyyyzyzyyyyyyyxzz{z{zyzyzyyxyyxyzyzzxzzyyyxxyyxzzyzyyyzyyyyyyyxzyzzzzzyzxyyxyxzzyyxyzzyyxyyyyyyxyyyzyyzyyyyyxxxyyyxyyzzyyyxyzyxyyzyyzyyyxxyxyxyyzzyzxyyyyxyxyyxyzzyyy{zxyyxyzyxy{zyyzyzxzyyyyyyzzxzzzzzyyyzzyyzy{zzyyyzzzzzxyyzzzyzzz{{zyyyyyyyyzyyyzyzxyyyyyzyyzzzyz{zzzyzyyyyzzzyyzyyzyyyyzyzzzzzzyyzyzzyyyzy{{zyz{yzyyyzzz{y{zyyzyzzyyzyyyzz{zzz{yzz{yyyyzyz{{zzzz{{zyyxzyzzzzzzzzz{{yzyyzzzzzz{{z{{zyzyzyzzzzzz{z{{zyzzzzyzzzzzz{{zzzxzzzyzy{zz{{{zyzyyyyxyyzzy{z{{zzyyyzzyyzyyyz{zzyzzxxxzzz{yyyzyyyyyyxxxyzz{zzyyyxyyxyxxyzzzzzzzxyyxyyzzyzyyzzzyyyyzyyxyyyzyyyyzzyyywxzxyyzzyyyzyxxxxxyxyzyxyzyzzyywyxzxxzzyxzzyxzyyyyyyyxyzyyxyxyyyyyyyyyyxxzyxzxyywyyyyxyx{yyxzxxyyxyyyyzzzyyzyyyyyxyyyyyyyzzyzyzxzxzxxzzxy{y{zyyxyyyxyyzxzyyzyyzzyxzyy{zyyzx{zyxzyyyyzzzy{yzyyyyyzxyyzzy{zz{zyyyyyyyyyzyzzzzyyyyyyyzy{yyyyyzzyzyyzzyy{yzzyzzzyyyzyyzyyzzz{z|{yzyyzzzyz{z{zyzzyxzyyzyy{zzzz{{y{yyyzyyzzyz{z{{{yzzzyzy{zzzzz{y{{yyyyxyyy{{{{{{{{zzz{zyzzzzzzzzzzzyyzyyzz{zzz{z{zzyzyzyyzzz{zzzzzyzzzzyzyzyzy{{{zyyzxzyzyzy{zyz{xzzzyxyyyyyyyyyxyxyyyyxxzyzyyyyyyxxyxyxxzyzxzyyyyyyxyyyyzyxyyzzzyxyxyyxyzyyyyyzzyzyyxyxyzzyyy{yyyxyxyyyxyyyyyyzzyxzyxxxwyzyyyy{yyxyxxxxxyy{yyyzzxyxyxxyxxxyyyzzyzyxxxyxxyyyyyzyyzyzyyyyyyzyyzyzzyyxyxxxxyxzyxyy{yyyyyxyyxyyyyzz{zzyxyyyxyzyyzyyyzxyyyzyxyyyxyyyzyyyyxwzyyxzyyzyyxyyzyzyyzzyzzzz{zyyyyyzy{zyzzzzyyxyyyyyzyzzzyyyyyxxyzyxyzzzyyzzyzyyyzzyzzzzzzzzzyyyyzyyzzz{zzzz{yy{zyzzxz{zyz{zzzyzzzyyyz{zzz{{zyzzzyzyyxzyyz{z{{{yzyzyyyzz{yzzzzyzzzzyzz|zz{zzzzyyzyzyzzyzyzz{zzzyyyzyyyyzyzzzzzyzyzyzyyzzzzz{{yyxyzyyxyyzzyzzzyytxyyyyzzz{zyyxyyxxxyyyyyyyxyyyxzyyyyyxyyyyyzyyyxxxyyyxzzyxzyzzzxxxyxxxyyyzyxzyyyyxxxyyyyyxyzyyyxyxyyyyyzxzyzyzzyxxxyxxyyyzyyyyyyyyxyxzzyzzzyyzxyxxyxxxyyyzyzzyyxyxwxxyyyyyzx{yzxzyxyxxyxyyyzyyzyxyxyxyyyyyyyyzyyxxyyxyxzyyy{y{xxyyxxyxyzyyzzzyyyzyyzxyxzzyyz{zyxyxyxyyzyyzzyzzyyxzxyyxzyzxzyzyyyyyzyyyy{yyzzzzyyzyxyyxyzzzyz{yzxy{yyyyzyzzy{yyzyyzyyyyzzzzzzzzyyzyyyzy{zzzyz{{zyyyywzyyzzzy{zyzyyy{xyyz{z{{zzzzyyyyzzyzyzzz{zzzz{zyyyyz{zzz{z{yyyzyxyyzzzyzzzz{yyzzzyyzzzzy|{zzzxyzyyzz{zzyzzzyzyyyzyyyzzzzzzyzzzyyzyyyz{zzyzzxyyxyxyyzzzzyyyzyxyyyyxxyyyxzxyyyxyxyxxyyxzyyzyzxyyyxzxyxzzz{zyyzyyxyyzxyzyzzzyzyyyxyyxxyyyyyzy{xxyxyyyxzyyzyz{yxyyyxyyxxyzyyyzyyyyxyyyyzyzyzyzyyxyyyxxxyyyyyy{zyzxyxyxzyyzyzyyyzxyyxyyxyyzzyyzyywyyyyxyzxxyzyyzyxyxyyyxxzyyzzzzywyyxyyxyzyzzxyyyyxxyxyxyzzzzyzzyyzyxyyxyzzzyzzzyyzxyyyzzxyyzzyzzyyxyxyyy{zzyzyyyyxyxxyyzzzyzz{zyyyzyxyyy{zyyyzzzyzyyyzzzyzzyzz{xyyyyyzzzzzz{{{z{zzxzyyyzzzzzzzzzyyzzzyyz{zzzzzzyzyzyyyzzzzzyzzzyyyyzyz{zz{zz{z{yzzzyyyy{{{zzzzzyyzzzzyyzzzz{zzzzzyy{zzyz{zzzzzzzz{yzyzyzzzyzzzzyzyzxzyyyzzyzzzzyz{xyyyxyy{zzzyyxzyyxyxyxzxzzyyzxyxxyyxyyyzzy{zzyxxyyyxxzxzxzzzzyyyxzxyzzzyzzxzyyxxxwxyyzyxyxzyyyyyxywyxzzyyyzzzxyxxyxwxxxyyzy{xyxxyxxyyzyzxyzzyxyyxyxzxyyzyxyyyyyyyzyyyxyyyyyzyxxyxyxxxyyyzyx{zxxyyywxxyxyyyzzyyxyyywwxxzyyxyyzyyyxxyxx{yyyyzyyyyxzyyyyy{zyyyzzyxyyxxyyzzyzyzzzyxyyxyxyzyyzzzzzzxyyxxyyyyxzzyyyzzyzyyxxyyzzyyzzyxyyyxyyyy{yy{zyyyyyzyxyyzzzzzzzxyyyyyzzyzz{yzz{yyyxzxxyyzzyzzz{yyyyzyzzyzzz{zz{yyyzyyzyzzyz{zyz{yyyyyyzy|zzz{z{yzzzyyyz{zzz{zyzzyyyzyyy{yzzyzzzyyyyzyyyzzyzyzyzzyyyyyxzyyzzz{zyzxxyyyyyzyyzzzzzyyyyxzyyzyyyyyyyyzxyyxxyyzzwxxzzyxxxyyyyzyzzzyzzxzwzyxxxyzzyzyyzyyxyyyyyzyyyxyyyzyyxyxyxyzyzzzyyxyyyxxxyyyyxyzzyyxyxyxyxzyyzzzyyyyyxyxyyyzyzyyyxzyyxxyyyzzzyyyyyxyyyyzxyyyyzzzyzxxyxyxxxyyxyyzzyyyyyxyxwyyyzzzzyyxxyyxxxzyyxzyyyyxzxxxyyyzzzyyzzyxyyyxyyyzxzyzzyyyzxyxzyyy{yzyyzyzxzyzyzyzzyzyzyyyyyyxzxyzzyzzzyzyxxyyyzyy{yyz{yyzxyzzyzzywzyy{yzyyzyzzyz{zyzzzzyzyyyzzyyyyzyzzzy{yyyxyxyzz{{z{zzzzxyzyyz{zzzzzyzyyyzzyzyzzz{zzzzyyyyyzyz{{{zy{z{yzzy{zyzzyzyyzz{yyyyyxzzz{{z{yzzz{yzyxzzzy{zxzzyzzxzyyyzzyyz{zzzzyzyyzyzyzzyyzyyzyyyyyxzyzyzzyyxxxyxxyywzyzxxyzzxyyzzyxyyzyyzy{zyywyyyyxyyyzzyyyyzyxxxxyyzyzyyzxzyxxxzyxyyzyyzzxxyxxyxyzzyzyyzzyyyxyyyyzzyxyyzyyyxyyyxxyyyyyzyxyxywxyyyyyyyyyyyyxyxwywyxzyxyzyyyyzyxyyyyzyyyyzyyxyxyxywyyzyyxxzxxyxxxyzyyyxzzzyzyyyzzxxyzyyyyyzyyyyyyyyzzzyxzz{zxyyyxyyzzzyzzyzyyxzyyyyzyyzyzyyyxyyzxyyyzzzzyzzzyyzzyyxyzyzyyyyzxzyxxyyzzyyyyzyzyyyyyyxyzyzzyyzzyzxyyzyzyzzyzz{zyzyyyxzzzzyyzzzzyyyyyzyzzyzzz{{yzzzyyzzzzzy{zzz{yzyyzyzy|yzyzzzzxzzzyyzz{zzzzzzzyyyzyzyzzzzz{{zzyyxyyxyyzzzzzzyyyyyyzxyyzzzzzzzyzzyyzzxyyzzzyzzyzyxzyyyyzzyyyxyxzxxywxxyyzyyyyzyyxyyxyyyxzzyyyyyxxwxyxxxxzyzy{yyyxyxyxyyzzzyzyyyyxyxxxxzyyyyzyzxxyxyyxxyyyzyzyzyxxyxxxxzyzyxzyxyyxyxyxyyyyyyyyzzyyyxxyxyxyyxzzywyzyyyxyzxyyyyyyyyxxxxxyyyyxzyyzyyxxxxxyxyyzxzyyzyxyxxyyyyxzzzyzxxyzxzxxyyyzyzzzzyyxyxyxyyyyyzzyyyyyyxyyxzyyzyzyyyyyyyxyzyzyyzyzzxzyzyzyyyxzzzzzyyxyyxxyyxzyyzzzzyzzyyyyy{zyzyzzyyzyzyyyzzyz{{yyyyzxzyyyzyyzy{{zzzyyyyzyz{zyzzzzxyyy{zzyy{z{{y{zzzxyz{yyzzyzzzzz{yzyyzyyyzz{z{zzzzzzyyyyyzzzz{zzyxzzyyyzzzzzzzzzzzzyzzxyzzzzz{zzyzyxzyyyz{yzzzyzzyyyyzyyzzzyyzzzxyyyyyxyyzzyyyyzyxyyyxxyyyzxyzzzyxyyxyxyxzyzyzzzzyyyxxyyyyyyzz{zyxxyxyyyyyzyzxzyxyyxxyxzzyyyyzyzyyzyyzyyyxzyzzzyzxyxyyxwzyyyyyzyyxyyyyzyyyyxy{yzzzyyxxxxyxzyyzzzzyyxyyxyyzzyzzzyyyyzxyyyyzzyyzzzyyyxyxxyxyyxyyyyyzyyzyyxyzyyyzyyxyyzyyxyz|zyyyzzzyxyyyyxzyzyyzzzxyzzyxzyzyyzyzyzzyyxyyyyzzzzzzzyzyzyyxyyzzy{yyzyyyzyyyxyy{zzzz|{yxyyzyyyzyzzzzyzzzzxyzxyyzz{zz{zzzyyyxzzzyz{{y{zzzyyyyyyzz{yzzzzzyyyzyzz{{{zz|{{zyzxyyzzz{{z{{zyz{zyyzyyz{z{zzz{zxzxyzyyz{{{{zzzyyzzyzzyyzyyz{zyzzzyzzyz{zy{zz{zyy{xyzzyyz{z{{zzzyzyyyyyzzzzz{{zxzzyxxzxzzyyzyzyxyxyyxywyzzyyy{zyyyyyxxyyzzyzy{zyyyxyyyyyzyyzzyzzxyyyxyyyzyzyzzzxyyyyxyyzy{yyzyyyyzxyxyxyyyyzyzzzyyxxxyyzyzyyyzyyxyyxxyyyyyyyz{yyxzxyzyyyyyyyzyzyyyyxxxyyzzxzyyzyxyxyxyyxxyyyzyzzyyyyyxxyyyyyyxxyzyyyxxyyyyyzyzyzyyyyyxyyyyzyzyyzzyzyyyyzzzzyzyzyyyxyxyyzzzyzyzzzyyyzxyzzzzyzyyzyzyyzyyyyyzz{{yyzyxyyyyyyzyyzyzzyyyzzzxyzzzzyzzzzzzzzyyyzyzzzzz{yyyyyzyx{yzzzz{z{yzzyzyyy{zyzz|z{yzzyyzyyzzzzz{{zyzyz{yzz{yz{zz{zyzyz{zz{{zzz{{{{yzzyyyz{zyz{zyzzyyzyzyzzzzyzz{zzzzyyzyzzzzzz{{{zzzyyyyyzz{zzz|{{yyyyzyzz{zyzzzzyyzyyyyxzzyzzyxyyzxxxxyxyzyxyyyzzyxxxxxxzyzzyyzyyyyxxzyxzxyzzyzzyyzxyxxxyyyzyzzyzzyyxxxwxyxyyzyyyxxxxyxxyyyyzzzyzyyyyyxyyzzyyyyyyyxxxyxxyyxzyyzzyyxyyyxxxyzyyyyyxxxxyxyyyxzxzxzyyxyxyzyyyyyzyyzzyyyxxwyxyzyyyyyzzyyxyxyyxzxyyzyyyxxyyxyxyyyyzzyyzxyzzyyxyyzyzyzzyyxyyyzyz{zyzxzyxyyyxxyzyy{yzzzzyyzzyyyxyzzyyyzzyyxxxyzxzyzzxzyzzyxyyyyzzzyyyzyyyyxyyyyzz{zyzzyyyzyyyzzxzzyzzzzzyyyyyyyyzzzzzy{y{zzyzzyyzzzzzyzzyzyyyy{yy{zxy{{z{zzyzyzyzz{{z{z{zxyzyyyzyzzz{zzzzxyyzyyzzyyz{yzzzzzzzzyy{yyz{z{yzyzyyzyyyzzzz{zzzzyyxyyyyzyyyyzyyzyyyyzyzyyzzyyyxxyxyyxxxzzyyyzyyxyyyxyyyyzzzyzzzzxxyxyyzyyyyzzzzyxyyyxyzzzzyyyzyzxyxxxyzzyzzyyyyyyywzyxzyyyyzzxzyxxyzyzzzyyzyyzyyxxwyyxxyyyyzzyyxyxyyyxxyyyzyyyzyyyyyyxyxyzzyyzyyyyxyyxyyzyyyzzyyyyzyyxyzzyy{zzzxyxyxyxyzyzyz{zxyyyyyyyzyzyxzzzyyyzzxyzyzyyyyzzyzyzyxzyyzz{xzz{yzzyyyyzzzzyyzzyyzzyyxyzxyzzyzzyyyyyyyxzyyzyzyzyyxyzywxy{yyyyzzzyzyzyyxxyz{z{zyyyzyyzyyyyzzzyz{zzyzzyyyy{{z{yz{yzyzzzy{yzzz{z{|zzz{zyzzy{z{zzzzzzyzzzzyzzzz{{z{zzyyyyzyz{{zzzz{zzyzyzzzyz{zzzzz{z{yzzzzzyzz{yzzzzzyxzzxzyzzz{y{zzzzzyyyyzzyyz{zz{zyxyxyxzzzyzxyyxxxxxxxxzzyzyyzyzxxyxxxyyyyxyxyzyyxyyyyxyxyzyzzyyxyyyyyyxxzyyyzzyyyyyyxxxyyzyxyyyzxxzzyxyzyyyzzyyyxyyxxwyxzyxzzxyxyyxzxyxyyyyyzzxxxxyxyxxzzxyy{yyxzxxyxxyyyxzyyyxyxxxxyzyxyyyyyzyxxyyyxyyyyyyyxzxxxwyzxxyyyyzzyzyyyxxyyyyyyzxyyz{zyxzxyyyyzyyzzzzyyyxyyyyyyyyyyzxxyyxxxxzyzzzzyzyyyyyxzxyzyyzzzyzxxxyyyyyyyyyzzyzyyyyzyyyzzxzzzzzzyxyyyyzzzz{z{{xzz{zyyyzzyy{zzzyyzxyyyyzzz{zzzyzxyzzyzzzyzyzzz{zyzyzzzzyz{zzyzzzzyzyzxyz{zzzzzz{yyyyyzzz{{yzzzyzyz{zyzzzzzzz{zzzzzyyzyz{zzzyzzzyzyxyxzxyyzzzzzzyzzyyyyyzyzzyy{zxyyxxyxyzyzyzzyzyyxxyxxxxzyyyxyzyxyxxyyxyzzyyzzyzzxyyywyyyxyzz{zyyzxyyxyzyyzxyzyyyyxwxxyyxzzyyyzyxyxyyyxxzzyxyzzyyxyzxxyzzyyyzzyxxxyxywxyxzxzzzyxxwxyyxxxyyyxzzyxxyxxywxyyyyyzzzyyyxyyyxyyz{yyyzyyxwxyxxyzzyyxx{zxyxxxyyxyyxyzyzyxyxy{yyyxyyzyy{yxyxzyyyyyyzyyyzyxxxxxyyzzyyzyzyzyyxyyxyyzyyzyzyzyyxyyyyyzyyzzyyxyyxyyyyzzyzyzzyzyxyzxyzzzzyzzzyzyyyyyzzzyzyyzzyyyyyyyzyzzyzzzyzyyyyyyxzzzyyyyzzzyyyzyyyzzyzz{{{yxyzzzzzzyyyzz{{zyyyyzyzyyz{zzyzzyzyyyyzzzzzzz{zzyzzyxyzzzyyzzzzzzzyzzyyy{zzyzzzyzzxyyyyyzyzyzz{zyyyyyyxyzzzzyyzyzyxyxxxzzyyzyyyxywxyxxyyyzyyyyyyyxxyxxxyzzyyzyzyyyyyxxxyzyzyyzxyxxyyxyyyyzyyxy{yyxxyxxyzyyzyyyzyyyyyyxxxyxyyyzyyyyyyxxxzxyyyzyyyyyxxxxxyxxzyyyyyzyxxyyyw{yyyyyyyyyxxyxxyyyyzzyyyxyxxxxyxyxzzzzzyxyyyyxxyyyyxxyzyyyxyyyxyxyyyzzyyyxyyyxyxyyyyyyzyxxxyyxyxzzzzzzzyxxxxxzzyyyyzzzzyyzyyyxyzzyxz{{zyyyyxxzyyyzzyzzyyyyzyyyyxz{zxy{zzwx{yyyyxzyxyzzyyyzyzzzyyzzzy{z{zxzzyyyyyzzyyzzzzyzyzxyxzzzzzyzyyyyzzyyyzzzyz{{yzyxzzzzyzzzzzzyz{yyzxzzzy{zyz{zzzzzyyzyyzzzzyzzzzyz{yyyyzyzyzy{{zyzyyxyzzzzyyzzzzyyyyzyyzyyzyy{yzyxzzyywzyyzy{z{yyxxyxzyzyzyyyyyyxyyxyxxxyyzxyyzyyxyyxxyyyzyzyyzyzzxyyyxyyzyyyzyzyxxyyyxzzzyyzyxxxzxxyxxyyzyyzzzyyyxxyzxyyzyyzzyyxyyxyyyxyxxyzzyxyyxxyxxyyyzxyxzxxxxxyxyxzyyxyzyzxxyxyyyxzyyzzzzxxyxyxyyxyyyyyyzyxyyyyxxyyyxyzyyxyzxxxyzxyyyxzzzxzyyyzxxzxyyzyzzzyyxzxzyyzzzyyzzyxyzxxyyyzzzyzzzxxzyxyyyzzzyyzzyzyyzxxyyyzzzy{yyywyyxxyyzzzzyyzzyyyzyyxyyzzyyzxyzzyyyyzyzyz{zy{zyzxxyyyyzzzyyyz{yzyxzyyxzz{{yyzyzyzzyyyzzzzzz{{{zyyyyzzyxzzzz{{{zzyzzyxy{zzzz{z{zyyzyyyyz{z{y{zz{yyzzyyyzzyyzz{zzyzyyyyyzzzyzy{zyyyxyyyzzzxyzzzzzzyyyyxyyzxyzzzyzxzzyxxyzzzyzzyzyyyyyxxyyzyzyyzzxyyyxxxxyzyyyzzzyyyxyyxyyxzyzyzzyyyyyyxxyyzzyzzzyyxxxxxwzyzyyzzyyyxyxxyxzzyzyy{xyxxyyyyxzzyyyzyyxyxyyxxzxyyyyzzyyxyyyxxyxyyxzzzzyyxyyxxyyyzxyzyyyxyxyyyyyxyyyyzyyyyyyxyyyzzxyyzzyyyyyyyxxzyyyzzzyyyyyyyyzyyzxyzyyyyyyyzzyzxzzzz{zyyyxxyyzzyyyzzzyzyyxyyzzzyzyyzzzyyyzxyyyzzyzzzzzxyyyyyyzzzzzyzyyzyyyyzzzzyyyzzzzyyzyzxzzyyzy{yyyyyyzyzyzzyzy{zzyzyzzyyyyz{zz{{zzzyyzzxyzzzzzz{zyzzyyzzzyyzy{{zzzzyyyzzyzz{zzz{{yyzzyzyzz{{{z{zzzyzyzyyz{xz{{yzzzzzyzzyzz{{y{z{zyyyyyyyzz{z{{z{zyyyxzyzyzzzzzzzyzzzyzyyyyzzzyzzzzyxxyxzxyzyzzyyyzyxxxxxxyyyzzyzyyxyyxyxyyxyyxzzyzyxyyyxxyyyzxzzyyxxxxxyxyxyyxyzzyzxwxyzxxzxzzyyyzyyxwxyyyzzxyyyyyxyyxxxxxyzzxzzzxxyyxyyyxxzyyyyyyyyxyyxxxyyyyxyyxyyyyxxwxyxyyz{zyxyyxyxyxyyzyyzzyyywxxyxyyxzyyyyyxyyyyyxyzyzyzzxyyxyyyyxy|yzyyyzzyzyyyzyzxzyzzz{yyyzxyxzyyyyzyzxzxzyyxzyyyxzzyyyyxyyyyyxzzzyzzzyzyyzzyyzyyyyzzyyyyyyyyxzyzz{yz{zzyyyyy{y{zyzyzzzyyyyzyyyzzz{zz{zzyyzzzzzzzzz{{{{{yzyyzzxyzzzzzzz{yzyyy{y{{z{z{|zzyzyzxyyzyzyyzzzyyzxzzyzzzzz{zzzyyyzyyyyyzzzz{zzyyzyyyzzy{yyzy{{yyyzyyzxzyyzyyyzyyyyyxyy{zzzzyzzyxyyyyywzzyyyyyyzxyyxyyyyyyyyyxzyxxxyyxxyzyyzyyzxwyyxyyyyzxyyxyzxyyxyxzxyyzyyzyzxxyxzwyyyzwxxxzyywxyyxyyyyyyzzyyyzyyxyyyzyyzxyxzxxxxyxxxzzyyyyzyywyyyyxxyzyxyzyzzyyyxzxyyyyzxzyzxxyyyyyxxyyyyyyxyyyxyxyxyzyxzz{zyxyyyyyxyyyyxyzzxyyzyyyyxzzzzzyzzyzxxxzxzyzzyzyzyzyxxxyyyzzzyzzzxxyzzxyyyzyyzyyyyyzyxyzyyzzyyyzzzyyyyzxx{zyyyzyyyyyyzyzyzyzzzz{{yyzyzyzzzyyzzzzzzyyzzyyyyzzzzyzz{yzzzyyy{{zzzzzzzyyyyzzzy{zzzzzz{yzzyzzzz{zz{zzzzz{{yyzy{zyzzz{yyyyyzyyyzz{z{{z{zzxyzyzyzzz{zzz{zyyyyzzyzzy{zzzzyzyyyyzzyzyzyzzyzyyyzyyyyzyzyzyyxxxyxxxxyzyyyxyzyxywwxyyyyzyzzyzyyyxyzyyyyyxzyyzyyyyxyyxyyyyyzzzyyyxxyxxyyzyyzyyzyyxyzxwyzyxyxyzyyzxyywxyyzxyyzyyyxxxyyyyyyyyyxzxyyyxyyyxzyyxyyxyyxwxyxxzyyzzzzyyyyyxyyyzyzyzyzyyyyyyyyyyyzyyyy{yyyxxxyyyyyzyzyzxxyyyzxxzyyyyzzzyxxyyyyxyzyyyzyzzyyyyxyxyzzzzzyyyyzyyyyyzz{zzy{yxyzyxyyyyzzzzyzzyyzyxxyxyzyzyz{zzxxyyxyxzz{yzy{zzyyyyzyyzyzyzzzzyzyzy{zyyzzzz{{zyzyyyzzyzzz{yzzzzyyzzyyy{zzzz{{zyzzzzyzyx{zzz{zz{zzzzzzzy|z{zzz{zxzzzzyxz{zzz{{z{zxzyyzzzzyzzzzzzyxyyyyzzzzzzzz{yzzxyyyyzzz{zzzz{yyzyxyyzzzzyzzyyxzzyyyyyzzzzzyzxyyxxxyxxyyyyyzzyxyyyxyyxyzzzyy{yzyyxyyyyzzzyzzzzwyyzyxyyyzyyyyzxxwyxxyxyyyxyyyzyyyxyywxyzyxyzzzyxyxyxxyzyzyxyyyyzxxyyxyxyyyyyyzxxyxxxxyyyzzxzzyyyyyxyxxyyyyyyzyzyyxxxxyzxzyyz{zxxzzxyxxxyyxxzyzxyxyyxwxyzxxyyzyxyyyyzyxzyzzzxzyzyxxyxyzzzyyyzyyyxyyyxyxyzyzzyyzyyyyyyzyyyzyy{zzzyyyyxxyyyzzy{yyyyyxyxyyzzzzzzzzzxyyyxyyzzzyyyyz{yyyzyyyzzzzy{yzzyyyzyzyyzyzzz{{zyyzyxyyyzz{{zzzzyzzzzzz{{{yzz{zzyzzz{zzzyz{zz{yzyzzyyyyzzy{zz{yyzzzzyyy{zyzy{zzzyyzxyxyz{y{zzzzzzyyyzyxzzzzzzzzyxyyyyzzzyyzyz{zzyzyyyyyxzyyzzzzzzyxyxyxzyzzxyyzyxxxxyxxyzyzxyyzyxxyxywxyyyzzyzzyyxxxyzyywyyzyzyyyxyyxyyyzyyyxyyyyxxyyyyyy{zzyyyxyyxyyyxxzyxyyyyyyyxyxyxyyzyyyyyyyyxxxyyzyyyyzyxxyyyxyxxyyzyzyzzyyyxyyyxyy{xyyyzzyyyxyxxyyzzyyyzxxyxwyxyyyxxzxyxyyxyxxzyyzyyyzzzxyyyyyywyyxyzyzyzyyxyxyyxzzyyyzzzyyyxyxyyzzzzyyyxyyyyyyy{yzyyzz{yyxyyyzyyzzyyzzzyyyyyxyy{zzzzyz{zzxzxyyzzzyzzzzyyyyyzyyzzzzzzzz{yzzxyzzyyzyzz{zzyzyzzyyx{zz{zz{yzyyzzxyzzzzzzz{{yyz{xzzyy{yz{{zz{yyyxzxyy{zzzz{zzyzzyxzyzzyzzzz{{yyyyyyzzzzzy{z{|zxyzzyy{zyzyzzzzyyyxzyyzzzzzyzzzyyyyzyxzyzzzy{{zyyyzxyyyyyzzyyzxyxxyyxxyyzyyzyxyxxxyzyyyyyxyzy{yxxyxxyxyzyzzzyzyyyxyxxxyzyzxyyzxxwxxyyyzyyzyyyxyxxyyxxxyyyyyzyyzxyyxyyyzyzxyyyyxyzyxyyyyxy{yzzxxyxxyxyxxxyyyyzyyxxywyxyyxyzyyzyxyyyxyyyyyzzyyyzyyyxyyyxyyyzyzyyywyyxxyyxzyzyyzzwzxzyzxxxxzzzyzzyyyxyxywyzzyyzzzxyyxyyxzxzzyzyzzyzyyyzyzyzxyzzzzzyyxyxyyy{yzzyzyyyyxxzyyyyz{zzyzyyyyyyyyzzzyyzyzyyyyzyyyyy{zz{zzxyyzyyy{yzyzzzz{zxzyyyyxz{z{zzzzzyyyzyyy{zz{{zzzyyzyzzzyzyzzz{{zzyzzzzzyzzzzz{zz{yzzzyyyzz{|zzzyzyyzzyxyyyzyyzz{zzxzyzyzzz{{zzz{z{xyzzyyzzzz{zzzzzzyyzzyyzyzzz{zyyyyxywyyz{yyyyzywyxyxwxxzyxzyzzxyxyyxyyxyyzyzzyyzzyyxyyzzxyyyyyyxyxxyyyxzyyyyzyzyxzxxyyyyyyyyxzyyxxxyxxyzyyyzzyyyxxxyyxyyyyyyzyxyyyxyyyyxzzxyyyyyxxxvyxxyzyyyyyyyxyxxxyyyyyzzzyyyyxxxxyyyyzyzzzyyyyxxyxxyyyyyyyyyxyxxxyxzxzzzzyzxzxxyxyxzyyxyzxyyyyzxzyyyyzyyyzyyzyyxxxzyzyzzzzyzxyyyyxzyzyyzyzyyyyyxyyyzyyyyyyyyyyyxyxy{zyyzyyyyyyxyxxyzzyzzy{zyxyyyyyzyyyzz{yyyyyyyyyyzyyyz{{yyxyzzyyyyzzz{{xzzxxzyzyzzzyzz{zyzyzyzyzyyzyzz{{zyyzyzyyyzzzzzz{zzyzyyxy{zyzy{{zyyyyyyzyzzyzyzz{{zyyzzyzz{yz{zz{zzyyzzyzyyzyzzzzzyyyxyzyyzzzyyzyyyzyyyyzzzyyyzyyyxyxxyyxzxyyyyyyyyyxyxwzyzxyzz{zyxyxxyxxyxyzyyzyywyzyxxyyyzyyxzzyxywxxzxxyyyyzyyyyyyxxyyyyyxzzzyyyyyxxxyyyzyyzyyxxwxxxxyyxyzxyzzxxyyxwyxyyxyyzzyxxyyxxxyyyzxyyyyyyyxxyyxyyyyyyyyyyxxyyxxzzxyzzyyyyxxyyxyxyyyyzyyyyzyzyyxyy{yyzz{zyyyyyyxzzzzyxyzyyzxyxyyyyzyyzzyxxzyyxxyzzyyyzyyyyyyyyzzyyyzzzyz{yyyyxyyyz{y{zzzzzyyyyyyyz{zzyzzzzyyzyyyyzzzyz{{yyzyyy{yyzyzyzzzyyyzyzyyz{zzzzyzyyzyyyyyz{{zz{z{yzzyzzyzzzyz{z{z{zyyzzyyz{yzz{zzyzyzyyyz{zzzz{zzzyyzzyyzzzzyzz{z{zyyyxyzzzz{yzzzzzyyxyzzzyzyz{zyzyyyyzyyyyzzzyyzyxzxzyxyzyz{zyyyyyxxyxyxxyzyyxzzyywyyyxxyzyzxyzxyxxxyyyxyyyyzyyzyxxyxyxyxyzyzyzyyyyxyxxx{yyzyyy{wyyxyxyxxzyxxzzyyyxwyyxxyyxyyyyyyyxxxxyxyyyyxzzyyxyyxxyxyyxyyzyywyxyxyyxzxzxyyyyyyyyyyxxyyyyzyyyyxxxyyyxyxz{xyyyyyxxxxyxxyyxxyyzxyyxyxyxyzzyzzzzyxywyyxxyzzzxzzzyyyzxwyyyzyzyyyzxyyxyyyyyzzyzyzyzyyyyxyyyzyzzzzyxxyyyyyxxy{zyzyyxzxyxxxyzzxyzyzzzyyyxyyyy{yzyzyzxzyxyyyzzzyzzzzzyyyyyxzzzzyyzy{zyxxz{yzz{yzzzyzzyyzyzzyyyzzxzz{zyzzyyyyyy{z{z{zzzyzzzyyyyz{{y{zzzyyyxyyzyzxzyzzz{yzzzyyzzyzyzzz{zyyzyyyyyzzzyz{{zzyyyyxyyzzzyzzyyxyyyyyyzzzyzyyxyyxyxxywxyxxzyxzxyyyyyxxyxyyyyyyxyywwxyxyyyyyyyyyyyyxxxxyyyzxxzyxzyxyxxxyyyxyyxyxyyxxxyxyyyyxyzxyxxxxxxxxyyyxyyyyzxxxxxxyyyzxyyzyyxxywxxyyxxyzyyxyyxxxxxxyyyyyyzxxyyxyxyyyyxxyyyyxxyxxxxxxyyyyyzyxywyxxxxyzyyyyyzyxyyxyxzyyyyyzyyyxyywyyzyyxxzyyyxxxxxyyyyyyyzzzyyxxxyyxzyyzyzyxyyzyyzzyxyyyzzyzyxzxwzyyxzzzyzzzyyyyyyxxzyyyyyzzyyyxyyxyzzzzzzzyzzyxyyzxzzyzz{{zzyzyyxyyyyzzzyzzzxxyzyyyz{yy{zz{yyyyyzyzyyyzzzzzzyzzy{yzzzyzzzzzyyyyyxzyyyz{yzzzyyyzyyyyzyzyzyz{y{zyyzyyzzyyzyyzxyyyyyyxyzyyzz{zzyyzyyyyzyzyzzzzxxyyyzyyyzyzyyxyzxyxzxyxyzyxxyyzyxwyyyxxyzyyyyyzyyxxxxyxyyzyyxzxyxxxxyyyxyzxyzyyyyxxxwywzyyyyyyyxxyxxyxxxyyxyyyyxyxxxxxxxyyyyzyxxyywyxyxyyxyyzyxyxyxxxxxxxyyxyzyzyxxxyxwyxxxzyzyyyyxxxyxxzxyyyyyyxxxyyxyyzyyzyxxyyyxyxyyxzyyyyyywyyyyywxyzyzxyyyyyyyxwyyyyxyyyyyxyyyyyxxyyzyzyyzxxxyxyyxyyyyzzyyyyyxyyzxyzyzzzxyyyxzxyyxyyyyyxyxyxxyyxxxyzzyy{yzzxzyxyyyyy{yzzzzyyyxzzzyyyz{{zzy{yzzxzyyyzzzyzz{zyxyzyzzxzyzz{zzxyyyyyzzyyzyzzzyzzyyxzzyzzzzzzzzzyyyzyyyzyzyyzzzyyxxyyyyyy{yzzzyzzyzyyyz{zzzxzzzxxyyyyyyzyzzyzz{zyyyxzyxzxz{zyzyyyyxzyyxyzzyyzyyxwxxxxyxyyzxyyzyzxxxyxzyyxzyyzzyzyxyyxxxyyzzzyyzyyyyyxxxyyyyyyyzzyyxxxxxyyyxy{yyywyxxxxyyyyyzyyyzxyyyyyyyyzyzyyxyyyxyyyyyyxyyyzyyxyyyyxyyzzyxyzyyxxzyxxyyzxy{zyzywyxyyyxyyyyzzzyyyxxyyyyyzzyzyyyyyyxxyyyxzyyyzyzxxyyzxzxyyzzyyzzyyxyzxzyyzyyyyyzyzzyxyyyxyyzyy{{yxxyyxxx{zzzzyzzyyyyzxzyyzyzy{yzzyyyyyyyy{zzyzzyzyyxyxyyzz{yyyzzyxyyzyyyzyz{zzzzyzyyyzzzzzzzyz{{yyyzzyyyy{zyzy|zyyyzyyzxzzz{yzzzzyzzyzzzyyyzzzzzzyyy{yyz{|zz{y{zzyyzzyyy{zyzz{zy{yyyzyzzz{zz{z{zzzzzyxyy{zzzzzzzyyyzyyxyzzy{zz{{{xyyyzyyyzzzyyyzzyzxyyyyzyyyzyyyxyyyyyyyyzyyzzz{xxzyxxyxyzyxyzzzyxxxxxyyyxzyzzz{yyxyyzxxyzyzyzzzyyzxwyxyyyzzzyzzyyyyyyzzxyxxyzyzyxyxyzxyzyyyyxzyyyyxxyxyyyzzyyyyxyyyyyyxxzyyyzzyyyxyyxxyyzzzzyyzyxyxyyyxyzyzzyzzyxxxyxxyxzyyyzyzxyyxzyyyyzxyzzyzyxyxxyxxxzzyzyz{zyyyyyyyxyyyyzzzzzyyxyyyzzyyxzzzyyzzyyyyzzzzzzyyyxzyyxyxz{zzyzyyzwyxxxxyzzzzyzzzyzyyzyzyyyzy{{yzzyyxyyyzyzzzzz{zyzyzzzzyzzyzy{z{zyzyyyyyzz{y{zyz{yyzyyyyzz{yyzz{zyzzy{zzzzzzz{z{zzzzyzyxz{zzzz{zzzz{zyyy{zzzz{zzzyzzyzyzy{z{z{{zzyyyzyzyzzzz{z{{yyyyxzyy{zyyyzzzyy{zyzyyyzyz{zzzyyyyzyyxzz{y{zyyzyyyyxyyyzxyzzyzyxxxyxxxyyyzyzzyyyyxxxyxxyyzyzzzyyyxyxxxyyzzwyyzyxxxxyyxyyyyyyzyzxyxxxyxyyyyyzzyyyyxyxxxyyyzyyzyyyxxxyxyyxyyxyyyyyyxyxxyxyxxzz{zzxxxxxxyxyzyyy{yxyyywyyzxyyyyyyzxxyyyxxxxyxyyyyyzyyyyyxxyxyyyzzyxyyyyyyxyzyyyyzzxyyzyyyxyzzzyyyy{yzyyyyyyzyyyyzzxyyyyyxxxyzyyzzyyyyyyyyyyyzyzzzzyyyxyyxyyyzyzyzyzyzzyyyyyzzyyzzyzyyyyzyyyzzzzzzyyzzyyyzyzzzzzzz{yzyzzyzx{zzzzzz{yyyxyyyyz{zyy{zzzyy{zzzzzzzyz{zyzyyzz{zyz{z{yzzz{yz{yyyz{zz{z{yzzyyyyyyzzzzyzz{zzyzyyyxyzzzz{{zzyyyyyzzxzzzyyzzyzyyyyzxxzzyzzzyyyxyxyyyxzzzyzyzyyxyxxyxyy{zyyzzyzyzxyxxwzzxzyyzyyzyxxyyyyyyxyzzzyyyzxyyyyyzyyy{yxxxyxyxyyyyzyzyzzyxxxyyxxxzyxzzzzxyxwxyxzyzxyzyzyzyyyxxxyyzyy{yyyyxxyxyxzzyzyzyyyyxxxzwxxyzyyyyzxyyxyyyxyyyzyzzzxxyyxxxyyyyxyyyxzxxxxyyyxyyyzzyyyyyyyyxxyzyzyzzyyyyyyxyxzzzyzzzzyyzyyxzzzxyzyzzzyyyxyxyyzzzzyzzzxxyxyxxzyzyyyzyzzyxyyyyxyzzzyyzzxyyzzyyyyzzzzzyzyyyyzyzyz{zzyyzzyxzyzzzxzzyzz{yzyyzyxyyyzzzyzzzyzyzzyyzxzzzzzz{yzyyzyyzzyzy{z{yyzyzzzzzzy{{zzz{zzzz{zzyyzzz{y{zzzzzzyyyxyzzyzz{{zzyzzyzzyzzzz{zzzzyyzxyyyzzzz{zzzyyzzxyyyyzyzzzzyxzwzxyyzyzz{zzzyyyxzxywxzyxxxyyyxxxyxyxxzyyyzy{xyyxxyyxyyxyyyyzzxxyyyxyxyxzxyzyzyyxwzyyyyyyxyyyxyxxxyxyxyzzyzyxxyyzxyxxyyyyz{yyyyxxxyxxyyyyyzxyyxxxxxxwxyyyxyyyyyxyxxyxyyzxyyyxyxyyxxyxxzyyyxzyxyxyxyywxxxyyzyyzyyyxxyyyyyyzyxzyxyxyzyyzyxyyyyzyyyxyyxzzyyyzyzzzyxyxxxyyyyxyzzyyyxywxyyyyyyyzzzxyyxxxyxxyyzyyyzyxyyxxyyyyzzyzzyxxzxxyyxyzzyzzzzxyyyzzzyyyzzzyz{zyzxxyyyzzzzzzz{zzyyyyyxyyyzzy{zyzyzzyyyzzzzzzzz{yyyyyyzyzyzz{zz{yyyyyyzy{zyzyzzyyzyyzyyzzzzzyzzzyzyxyyzzzzzyzzzzyyyzyyz{zyzzzy{zz{yyyyyzzzzzyz{{zzzyxyyyyyzyzz{yyzyyyyyzyyx{yyzyzyyxxxwyzzxyzzzyzyyxywyyyyzyzyzyxyyxxxyyxyyyyyyzxyxyyxyyyzyxyzzxywxwyxxyyzxyzyzyxxxxxyxxxyzyzyzyzxyxyxwzyzyyyyzyyyyxxxwxyyzxxyyxyxxxxxxyyyzyyyzyxwwwxxyyyyyyz{yxyxxxxxzxyyyyyyzyyyyxxyxxyyxyzzyzxxxyxyxwzxyyyyyyyyyxyxxyyzzyyzzzyzxyxyyxzyxxz{zyxyzxwyyyyzzzzzzyxyyyyxyzzyy{yyyyzyzyyyxxzz{z{zyyyyyxxxzyyzzyzyyxyyyyzxyyy{zyzyyyzyxzyyyyyzzz{yyxzyxyyxyzyzzy{yzzyyyzyyyzzzyzy{zzyzyyzyyzzyzz{y{zyyyyzzzzz{yzx{zyzyzyzzyy{yzy{zzzzzzzyyy{zzyz{zzzyzyyyyyzzz{yz{zzyyzyyyyzzyzyzzzyyyxyzzyyzyyzzzyyyyyyyyyyyzyzzzzyzzxyxyxyzyyyzyxxxxxxyyxyyyyzxyzxxyxxwyxzzyxyyzxyxyyyyxyyyyyyzzzyxyyxxwxxzzyyyzyyzyxxxyyxyyyyyxzyyxyyxxxxyyyyzzzwxxyxxxxxyyxxzyyyxxxyzxxyyxyxyyyxyywxyxwyyyyyyyyyyxxyxxxyyyxyyyzxyxxxxxxyyzy{xzyxxxxywyxyyyyyxzzxxyyxyxyyzxyyyyzyyyyxywxyxyyyyzzxyxxyyxxzyzyyzzyyyyyyxyyyyyyzyyzxyyxyxxyyyzyzyzyzyyxxyyyyzzyzzyyyyyyxxyyyzyyyy{yyxxyzyxyyxzyzzxyzyyyyyzxzzzzyzyzxzyyzxyy{{zzzzzzzyyyyyyyzzzzzzyzyyyyxyxxyzyyzz{zzyyyyyzzyzzzzy{{zxzyyyyzyzzz{zzzyzzyyyyyzyzzzzzzzyyzyyxzzzyyzz{{zyzzyyyzyzyzzyyzxyyyxxzxyzy{zyyzzyxyxxxx{zzzyzzyzxyxzxzxyyyyyzyzyyxxyxyxxzzyyyyyxyxxyxyxzxyzyyyzyzywyzxxyyyyyzyyyyxyyxywzyzzyyyzyyyxxxxyyyyyyyzyxyzyxyzwyyyxyyzyyyyxyyyxxxzyxxyyyxxxxxxyyywyxyxyyzxxxxxxxxyyyyzxxxyyxyxyyyyyzzxyyxxyxxxyxyxxyz{yxxyxyxxxyyyyyyyyxyyxxyzyxyzyyyzywxyzxyxxyzyyyyzzzyywxyyyxyyz{xzzxxyyxxxxzyyzyyyzyxxyyyyyyz{yzzzzzxxyzyxyxyzzyyzzxyyyyyyxyzzzyzzyyyyyyyyyzyyzxzyyyyyyyxyxyzyzyzzyxyzzyyzxyzyzyyy{zzyyzywy{yzy{zzzzyxyzyyzz{yzzzz{zzxyyz{zz{zyyzzzzzyzzzyzz{zzzzzzzzyyxwzyzy{zzzz{zzzyyyxzzyzzyy{zzyyzyyyzzzzzyzz|zxyxxzzzyyyzzzzzzyyyxyzxyyzyzyyy{yzyxyyxzyzyyyyyyyxxxxxxyzyxyxzzyxyxxxxyyyzzy{yyyxywxyyxywy{zzyyyyyxyxxxyyyyy{zyyyyxxxxyzyxzyyzzxxyyxzxxyzyyxzyyyxyzyxxyyyzzxzyyyxyywxyxxzyyyyyyyyyxyxwxzyyyyyzyxxxxwyyxyyzyyzyzyxyywxxxxz{yzzzyxyxyyxxxxyyyyyyyyyyxywxyxyyxzzyyyxyyyyxxyyzyyyzzxyyyyxyzzzzxxzzyyyzzxyyyyyyzzyzzyyyxxyxyzyyyyzyyyyzyyxzxyzzzzyxzxyyyyyxxyyzyyzzzyyxyyxyyyzzzyzzzyyyzyyyyyyz{y{zzzzyyxyyzyzzzyzzzzzyyyyyyyz{zyzzyyzzyyyyyzzzzzyzzzyxyyyyyzzy{zzz{{yyzyzzyzzzzzzzzzyyzyyyyzzzzzzyzzzyzyyyzzyyyzzz{zzyzyzyz{yyzyzz{zzyyyyyxyzyzzz{zyzyyxxyyyzzyzyyzyzxyyyyzyzyzy>x5#bXz{{{{|z{{|z{|}|||{{{|{{{|{||}|}{{{{{{|z{|{}{}||{{z{{zzz{|{|{{||{{{z{{{{{{{||||}||zzz{{{{|z||{}|{{z|{{{{z{|{{||||zz{z{{z{|z|{{||{{{z{yzzz|z{{{|{z{|{|{zy|||z|{{{{{{yzzy{z||{{||{{|z{{z{zz{|{z|||zzzz{{|{z{{{{|||{zzz{|{{{|{{{||||{zzzz{{{{{||||||{|{{{{{|||{{{{{{{z{{{{{{{{|{||{{{|z|||z{|||||}{{{{{z{{{{|{{|z|{|{{z{yz{||}|{}{|{{zz{{{z{||||||{{{{{{z{|||{{|||{|{{|{{{{}||||||||{{||{}{|~|||||}|{{|{z|{||||}||||||{{|{{||{||||}||}{{|{{{|{|||||{{z||||{{{{{|}||}}{{{{z|{{{||||}{{|{{{{{{z}{||}|{|z{z{{{{|{z|{{||{|{{z{z{{{|{|z|{|z{z{|y{||{}{|{{{{|{z|{{|{||||}|{{z|zz{{{{{|}|||{z{{z{{|{|{||}{{{z{{|{zz{{{||{|{{zz{|{{|||}|{|{z{{|z|{z{||{{{|z{{{{|z{z||z|{{z|z{{{{{zz{{|{{{|{{z|{z{{{{||{{{||{|zz{{{zz{{{{{{zzzz{{zzz{z|z{{{{{zz{zzz{{z{z{|{{zzz{z{z{{{{{{|{{{{zz{{{z|{|{|||zzz|{{z{z|{{|||{|{{{|{{{{{}|{|{}{{{{{{{z{||{{{{{|{{{{z{z{|}}{|{|z{{{|{zy{}|z|{|{|{{{|{{{{||{|||}{{{{z{{||{{||{|{}{{|{{z{{|||||}}||z|{{{{|{}|{|||}{z|z{{|||||{|||}}zz||{||||}||||||{{{{{|{|}{|}}|{{{z{{z{{||||}|||{{{||{{{{{|{{}}{|{{{|{{{||{{{||}z{{zz{z{{{|{{||{|{zz{{{{|{|{|{}|{{zz{{|{|}{|||{~|{|z|{z|{|{|||}{|{{{|{{{{{z{{||||{|{z{{{{{|{||{{{|{zz|z{{|{}{|{{||z{z{{z{|{{{{{|{{z{z{y{{|{zz|{|{z{{zz{{{{{|}||{z{z{z{z{|{|{z{{{zz{z{zz{{|{|z|{{{z{zzzz{{{{{{z|{{y{z{zz{{{|zz{|{z{{zzz{z{z{zz{{|z|z{{{{z{{{|{|{{{{z{z{|z{{|{{|{|{{{z{{{{||{z|{{|{|zy{z{{|||{{|||{z|{z{|{z|z{|{|{|z{z{zzz{||{|z}{{||{|{|y|{{{|{||||z{{z{{|{|{{{|{{{{{{{{{z|{|||{|{{z|{|z|{|||}{{|{{{|z|{{|||{|{|}|{{{|{|||{|{|{}||{{||||{{}||||}||{|{{{{{||{|||||{{z{|{{||{{||||}|{{{|{z|{{|}|}|}||{z{{{{{|{||}||{{z|{{||{{|{|||{{{{{|{{{{{{{||{|}|{{{{{|{}|{||}|{|{|{}{||||{||||z{{{{z|{{z{|||||{y{{{{{|||{}{{|}z{{z{||{{|{|{||}{{|y|{{|{||{{||{{{{{{{z{{||{|||{{z{zz|{{{{{|{{z{{{z|{zzzz|{z{|{{|zzzz|{z{|{{|{||{{{zzz{|{|{{||||{|z{{y{|z{{{{{{{{{{{{{{z||{{z|||{{z{{|z{{|}{{{{{{{zz{z{z{{|||z|{|{|{{{|{|||||{||zz|zz{|{|||{|}|{{{|z{z{{|{{|||{|{{{{z|{{||||{|}||{{||{{{}|||{{{{}{{|{||||{|{{||||{{||{{|||{|||}{|z{|{{{{{|{||}}|~|z|{z{{{|||||}||{||{{||{}||}{|||{|{{|{|{}|}}}}}|||}|{||{{|}||}{|{{{{{{{||{{|}|}{||{||{|||}}{}|}||{{{{{|||{{|{}|{{{{|z|{z||||z{|{z|z{{{{|{{|{|{{{||||{{{}~||}||}{|}|{{||||}|}{||{{{||{{{{|z||{||{|z|{z|{{||}||~}|z{{{{{{|{|||||}{{{{{{{{{|{{|||{{{||zz{{|z}{z{|||{{{{{{z|{{|{|{|{zzy{{{{|z|{{||{{zzzz|{z|{{{{||z{{{{z{{z{{{{z{|z{{{{{{{{{{{y{|{{z{{{{z{{{{{|||{{{{{{||{z{{{|}{{|}{{{{{|{|{|{||{||{{{{z{|}{||||{}{{z{zzz{|{|{||||{z|z|{{{{}|{}{|||{{|{{{|||}{{{|{{{|{{{z|{{{|{{|{|{{{z|{{||||||||{{||{|||{{|||||||{{|{{{{|||{|}|||{|{|z{{}|||||||||{|{|}||{}}|}||||||{{{{|}|}|}|}|{}|{{{|||}}|||}|||{{|{|{||||}}}||||}|{||{{|||}|{|}{|{|z||||}||||{|{z{||{}{|{||{{|{{|{{{|{}{{|}||||}}||z|}}}}|||||{{{|z||~|{||||||{{{{{{||{{|{|||{{{{z|{|{|||{|||z||{|{z{{||{|||{{{{{|{z{{{{{{|z{|zz{{{{|{||||{{{zz{{{z{{z|{{||{{{{{{{{|{{{|z|{|{{|{z{{{{{{{{||{{zz{{{{{{||{z|{|{{zz{z{{{{{{{|||{{{{{z{{{||{{|{|{{{{{{|y{|||{||||zz{{{{{{|{{{}{{|{{zz{z{||{{{|||{zz|{z{{{||{||||{{z|{z|z{|||{~{{{{z{{{{{|}{{|{{|{{{||{{{{||{}|{{|{{{|{{|{|||||{|{|{|{{|{||||{{}}|{|{{{{{||||}{|{}z{{|||||}||{{}||||{|{||{}|||||}}||{||||||||}}}}}{{|{z{{||}|}|||{{|{{|z|||}|{}}|}{||||{{{||}}}}|{{{{{||z{{||}|}|{||{{{z{{|{||{{{{{z{{{{z|{|||{{|{|z{{{{{||||{||}|||z|{z{|||{|||||{z{{{|{{|{{}{|{|z|{{zz{{||{{|{{{{{{zz{{{|||{{{|{|{{{z{{z|{|{|{{{{zz{zz{{{{{{||{{{y{{{z{|z||z{{|zz|z{yzz{{|z||{{{z{{y{y{{{{{|{|{zz{{zz{zz|{|{||z{zz|zzz{z|{{{||{{|{y{zz{||z{{{{{zz|z||{{{{||{{{||{zz{{{{z|}{{{|||{{z{{{{|{{{|z{{z{|{{{{{|{||{{{{|{|{{{|z{||{|||{z{{zz{zz{{||{{{{{{zz{|z{{|{|{|{|{{|{{{{|{{}|||{|{|{{|{|{{|{|||{|}{{|{{{z}|}|||{||{{{{|{{{||{{{|}z{{|z|||{|||{||||z{|z{{{{}|||}|}{|{||{z{||||{}{||{|{{|{|||{{{|||{{|{|{|{{}|||{||{{{|{z|{z|||||~{{{{{{{{{{|{{|z|{|{{z{z{|{|{{z}|}||{{}{{|||{{|}|}|||{{{z{||||}|}}{{{{{zz{|{{{|{|}{{{{|{{z||{z{{{|{{{{{z|z{{{z{|{}{{{{z{}{|{{|||||{{{{{zzz{z{z{|||{{{{zzzz{z{||{{|{{z{zzzz{|{|{{{{z{z|z{{z{z}{{|{{{{{yz{{{{|||{{|{{{{z{{zz{{{{{{{{{z{{zz{z{|||{|{{{{zz{{zz{{{|{||{{{{z{zz{z|{|{|{||{{z{z{{{{|{|{{|z{{{zz{{{{|{{|{||{{{{{|{{{||{{{{z{z{{{{z|{|{{{{{{{{{|{{{{||{z|||{{z|z{|{||}}||{}{{{|z||{||{|{}|{{{|{|{{z{}|||{}|{{z|z}{{{||||{}}{{{{{||{{{||||}||{|{{|||||}}{|||{|{|z{||{|||||}}|{{{{|{{|z{|}|}|{||{{{|{||||||}|{|{zz{{{||}||{|||{{{z{{{{||{{}||{|{{zz{z{{{{{}||{{|{{{{{||||||}|}{{{{{z{{}{||}|||||{|{{z|||{|{||{{|{{y{{{{{|z|||{z|{y{{z|{{{||||z{{z{{zz{{{|{||||{{{z{{{{|||||{{{|zzz{zz{z{{{{||z{{{{{{z{z{||{||{zzz{{z{{{{z{{|{|zz{zzzz|||}|z|{{{z|{z{{|{{{{{||z{z{{{|{{|{{{|||z{{{{{{y{z{{||{{{zz{z{{{{|{{|||{|{z{{z|z{{{{{{||{{||z{z{|{|z|{||{{{{z|{zz|||||}||z{y{z{z|||{{{||{z{{z{{|||{|||{||{z{|z{|{}||}|||{{{||{{{|{{}{||||{|{{z|z|~|{||||z{{|{{{{{}|||{}|z|{{{{{|||||||}{|{z||||{}~||{}||}{||{{|{{}|~|}}|||z{{{|{{|}{||}}|{|{{z{|||||{}|}|{{{|{{z|{{|||}||{{z|{{{z{|{||{|{{{zzz{{{{{{|}|||}|{{{{{||||{|}}}|{{z|{||{||||||}{|{{{{{||}||{}|{{{{|{z{{|{|z||{|{{{{{{{|z{{|||||{{{{{|zz|{|{|{{|z{zz{z{{|{{|{|{{{{{z{z{|{{{{|z{{z{z{z{z|{{{{{||{|{{{{yz{{{||||{{{{y{{yz{|{|{{{{zz{{z{{z|{{{{{|{{zzz|zz{{|{{{{{|{z{{{z|z{z|{{{||z{{{{{{{|{{|{{||{z{{{{{{{{{||}||{{{z{{z{|{||||{||z{{{zz{{|{|{{||{{{z{zz{||||{|}z{{{{{{{{{|{{{{{{|z{{|{{{{|||{{||{{{{{{{|||{}|{|{{{{{{{{{|||||||||{{{{|z{|{|{{||}{{{{{||{|{{|}||}{{{||z{{||||{|||{{|{|||{}||{|}|||{z{{{{{||||{}}||{|||{{{}|||{|}{{z{{|z{{||||}|||{zzzz{z{{z||||{{}||zy{|{|{|{{}|~{|{{||{{|}|~|||||||{{{{{|||||{}||{{{{|{||{||||}|z{||{zz{{|||{||{|||z{{z{z{{|{||{{{{{{z{z{{{{{{|{|{{z{{z{y||{{{|{zz{zz{zz}{{|z{||{z{zzz{z{{{{z{}{z{{{{zzz|z{{{{|{{zz{zzzz{{{|{{{|{zz{|zzzz{{{{{{|{{{{|z{{{{{|z{||{zz{{zz{{{{{{|{|{{{{{{|{{|||{|||{|{{z{z{{{||{{{}{|{zzzzy||||{|}}{{z{{{{z{|{||{{{{{{z{{|z{||{}|||||{{{|{{{|{{||||||{{{z{{{{||{}{|{|{{|{{|||{{||{{{|{}z{{z{}{{|||||{{|{{{||}||{~|{{z{{{|{{||||{||}||{{|||{|}|||||}|{|{{{|||}|||}|||z{{{{z{|||}}{}||||||{{|{}{~{{|}{z|z|z{{{|||{{||{z{{{{{{||{}|}||{{{z{{|{{{{{{|}}{|{z{{|{{}||}{||{{{{{{{{|||}|}|||{|z{{{z|{|{}}|||{{{{{{|{|||{|{}{{{{{{{{|{|{{|{}|{z{|z{z||{{{|||{|{z{{|{{||{||{{zz||{zz{{{{|{z||{{{{{y{z{|{|z{|{{yz|{zzzz|z{|{{|zz{zz{z{{{z{{|{{|z{z{{zzz|{{z{{{|{z{{z{z{|{|z{{|{{{z{|zz{z|{{z{|{{zzzzz{{||{||{{{{{{zz{z{{{|{{{|z{|z{|z{||{z|||{{{{{{{|z{|{{|||||z{z{{z{{{||{{}|z{|{{{{{{{{{{{|{{{{{z{|{{}||{|{{{{{|{||{|{{||{||{{{|{{{{z|}{|}|{{{{{{zz||||}||}|{||{{{{|{||{||||{{z{|||{{||}||}|}{{|{{|{||{}|||||{{|{{{{|z}{|}}||{{{{|z{||z|||||{z{{{||{|||||{||{z{{{{|z{{{|{{{||{|{{z{z||{{{{|}||||{||z|||}{||}||{{{{{}||{||}|||z|{|{{{|}{{|||}{{{{{zz{{|{|{||||{zzz{{{{|||{||{{{{{{{{{||{{|{||{z{z{{{{{{|z|||zz{{{zyz{{{z{{}{|{{zzzy{{z{{{{|{{{{{{zz{{z{{{|||z{{{zz{zz{|{||{{{{{z{{{{z{{|z{{|z{{{z{z{{y{{{|{||{{{{{z{{z{|{z{||z{{{{y{{{}|||{|zz{{{{z{||{|||{{|{{|{{{{z{|{{|||{|{{{{{zz{|{|||{z{z|{z{{{{||{|||{|{{{{{{{{|{{{}||{|||||||{|||||z|{{{z{|z|||{|{|||z|{{{{{{||||||||}{z{|z{|||||}||{{{{|{||}||||||{|}|{{{|||{{}}}|{||{{|{|{{|{|||}}|{{{{||{{{||{|{||}||{||{{||{|||||{{|{{{{{{|{|{||||{z{|zz{||{|{{{{|{{y{z|{{{{z|}}}|{{|}}z{}|}}{}}}{|{{|z{{}||}|{||{|{{||{{||{|||||}{|{{{||{||{|||{|{{zy{{{|||z|{{|||{{{{{{|{{||{||{z{z{zzz|||{||{{{{{y{{zzz{{|{|{{{{z{{y{z{|{z{|{{{y{z{z{{{{|{||}{{{|{zz{zz|{|{{||zzz{{|zz{{{{{{{{|{{zz{|{{{|{z{||{y{|{|z{|{{z{||||zzz{{{{zz{{|||}z|{{{{{|{|{{|||}{{z{z{{z{|z{|{|{|{zy{z{z{|{|{|{{zz{z{{{{{{{{{||{{{{|{{|z{||{|{|{|{|{{{{{{|||||}|{z|{|||{|}{|||{|z{z{z{{{|}}{|{|||{{{||{{|~|||{|}|||{||{{||||||||}|{{{{{{{}|||}|}|||{||z{}}||{||}|{{{|{||||||||{}}{{|}{{{{{||}||{{|{zz{||{||{{||||{z{z{{|{|{|{||{{z|{{zzy{|||{}|}|}|{|||{}}}|}|{}{{|{|{{{||||||}}{||{{{{{{|{|||}|z{{|{z{|z||{{|||{{{zy|{{{||||}|{{{{|z{{z{}|{{||{|{z{{z{z{{{{{z|{z{{zz{zz|{{{y{{{{{zyzz{{{|{|}{|zzzzzz{z{{|{z|{|{z{{{zz{z{|{{z{|{{zzzyzzz{z|{||{|z{{{|{{{z|{|{|{{|z{{z{{z{||{||||{{{z{{{{}{|{{||||{z{{{{z|{{{|{{|z{{{z{{{|z{{|{|{{|{{{{{z{|||||{|z{|{zzz{|}}{{{||{|{{{{{z|||||||{||{zzzz|{z|||{|||{{|{z{{||}}|||}zz{|{zzz}{||||}{|||{}{{{}||||||||{|{|{|{|{|||}|{|{{{{||{{}}}|||}|{|{{|{|||{}{||||||{{{{||{{|||}|z{{|||{{}|{}|||||||{{||{||{||||{{{{|{{zz{|{|{}|{{{{{{z{z{{{||}|}}}||{|}{|||||}|}{|{|z{|{}|}|}}}||{||||{z|||{|{}{{{{{{{||{|{|||}{|{|z{{|z{||{}}{|{{{||{{z{z|{|{|{|z|zz{{z{}}{|{|{|z|{{{{{{{{|z||{{{{{z{{z{{{{{z{||{{{z{zz{{{z||{|z{{zzzz|{|{{|{||{{{{{{{{{|{{||{|{{{z{{{zz||{|{{}{{{zy{z{|{|{{{{||{{{{z{||{}{|||}|{|z{z{|||{|{|||z{|{{{{{{||{}}|||{||{{{{{|{|{|z{{|{z{z{{{||||{|}{{|{{{{{{{|{{{|||{{|{|{|||}{||}|{{|{{||{|}{|||||{z{|{{{{|{}}||}||||||z||}||{||}|{{|{{{{|||||{}|||{{{{}{|{||{||}||||}{z{|||}{|}}}}{{||{{|||||||}|{{||||{{|}||{||}{|{{{{{{|||}{||{|{|z{{{{||}|{{{{{{{{zz{{{{|{{|}}}{{{{{~||}|}|||{|{{|||{{{}|{{{}|{|zzz{{{{|{|}|}|{z||{{{{|z|{||||{{{|z{|{{|{|z||||z|{|{|y{|{{{{|z|{{{{zzz{||zz{{{|{z{y|z||{{|z{{|{{{|{{{{z{{{{}{z{z{z{{{{z{|{{|{{{z{{z{{y{{{{{{||{zz|{zzz{{{{z|{{{{z{{z{zz|{||||}{zzz{{z{{{|{{{|{||zz{z|{{{|{{|{|{{{{{z{{|{|{{|}|zz{{z{{z|{|{{{{|{{{{{z{{{|||{{{||{{{z{|{{{{{{||{{zz{{{z||{{|{|{||{{z{{{z{{{|{{||{{||{{|z||{|{|||z{|{{{zz{{|}|{{||{|{{{{||}|{}|||||{{{|||||{||||||{||{|{|{}|{|}|}|{{{{{{{|{|||||{{z{{{{{{{||||||}{{z|{|z{||{|{||||||z{||{z{{||||{||{{|{{z|z||z{{{{z|z{yzz{{{{{~|~}}{||{|{|}|||{|}|}|{{{{{||||}|}~{|{{{||z|{|||||{{{{|{{z{z|||{||{{{z{z{{z{{||||{}{{{z{{{{{|{z{||{z{{{{{{z{{||{{|{|{{{z{{|{|{|{|{{zz{zzz{z{||{{{|{{zzzzzzz{{{{||{{{|{z{{{z{{|{{|{{{{{{{{{{{|{{{{{{z{{{{z{{{|{{{{{|z{{{{|zz{{{|z||{|{{{{{|{{{||{{{|zz{z{z{{|{|{z{|{{{{{z{{z|{{||||{{z{{{z{{{{{|{|||{{|z|{{zz||{||||{z{{|{{||{}{||||{|{{||{{|{|||}|}{{{{{{|{{|{{||||{{{{{|z{|||}|{||{{{{|z{{|{|||||}|{{{||}|||||{||||{|{{|||{}|}}||||z|{z|{||||||}{}|{|{|{{{|{}||{}|{{{{|{{{|||||}||{{|z{{|{{|||||~|||{|{z{{{|{||}|{{{{z|{{z{{|{{}}}}|}}|{||}|||}|}|||{|{{{|}|||||}}||{{||{{|||||||||||{{z{||||{{||}{{{{{{{z{{{|{{||{{|z{{z|{{{|{{||{zz{z{{z{{|{{|{{{{z{{{z{{{|{{{{{{y{zzz|zz|{{z|{{{{{{{zzz{{{z{{{|{z|yz{zz{{{{{{}{zz|zzzzz{|{{{{||{{{z{z|{z{{{|||{{{}{zzzz{{z{{|{{{|{{{z{z|||{|||||{{{{z{z{{{{|||{|z{{zzz{zz||{{{{{{{z{|{{|{|}{||{{{{{{z{{{||||{{{{{z{z{z|{}{|{|||{{{z|{{{{}||{{|||{{{z|||||z|{|}||{{||z{{{||{|||||{{||{z|{|{{{}||{|||||||{~}||||||||||{|{{||{||}}|z|{|{|{|}{|||||||{|{{{{|{|||}|||{|{|{{|}{|}|||}{{{{{z{|{|{{{|{||{{{{|zz{{{|{||{{|zzz{{{||z||}}}|||||}||||}|}||}||{|{{|z|}}|{|}|||{{{|{z{{|{|{{|{{{{{z|{|{|||||{|{|zz{zz{|{|z|||{{|{{{||||z{{{}|{z{y{{{{z{|{{z{|z{{{z{z{{{{z{{{{z{zz|yzz{{{{{|{{z{{{zyz|z{|{|{{|{{zyy{|{{{{{{|{|{{{z{zzz{{{{{||{|{zz{zzzzz{|z{|{{z{{z{yy{||{||}|{{z{zzz{{|{|{}||{{{{z{{{{|{{|{|{z{{{{z{{z|{||||{{{{{|zz{|}|}||}|{{{{|{zz{||||{{{{{{{{z{{||{||{|{{|{{z{{{|{|{|||||z{|{|{{{{||{|}}z{|{zz{{|{{|{|||}||{{{|{|||||||||{{{{{{|{}}||}|||||{{{{||}||||{|{{{|{|{|{}}||||{|{||{|{{||{|||||{{{||{{||{|||}}}{{{z|{z|{|}{{|||{|{{{{{{|{{|{{|{{{{yzy{{{|{||}}~}{{|}z|{||}}|{|||{{|||{{||{||{}||{{{{|yz|{|{|{|{{zz{z{|{{|{|{|}{||z{{{{y{{{|{{|{{z{z{z{zz{|{{||{{zzz{{zy{{|{{{z|{{{{zz{z{{z{{{{{{{zzzz{z{{{|z{|{zz{{z|{zz{{{{|||{{{{zzz|{z{{|||{{zz{{z{zzzz{{{|{|{zy{{z{{{{{{||{z{{{{{{{z{z{|{|{|{zz{zzz{|{{{|{{{z{z{y{z{{{{|{z}z{{|{{{{||z{{{|z{{z||{{z||{|||||{|z{z|z{{|z{{|}z{{||zz{{{}{|{||{{{z{zz{{|||{|{{|{{{{{zz{|{||{||}|{{{{{{{{||||{|{|z|{{|{|||||}{{||y|{{|{{{{}{}{|}|{{{{||}|}|||||{{{|{{{{{|{}|{||||{{{|{{{{||{|{|{{{{{{{{{|{||{{||{{{zyz{{{||||{|}{{||z{{{{|{|{|{{{z{z{zzz|{{|{|~|}{|{{{}|}|}|{|}{{|{|{{||{|}|{}}{{{z{{|{{|{||}{|{}{{{{z{||{||{|||{{zz{{z{{|{{|||{z{zz{zz{||{{{}{{|z{{zy{{{{{{{|{{{yzz{zz{{{z{{|{{{{z{zzz{{z{{||{{zzzzzz{{{{{{{{{z{|zzzzz{|{}|z|||{zz{zz{{{|z{{{zz{{{z{{{{{{{{||{{zz{zzzzz{{{{}{{{{z{{{zzz{{|{{||{{{{{{{{{|{{{z||z{{zzz{{{|{|||||z{z{{z{|{{{{{||{{{{{{{{|||||||{{{{{z{{{{|||{{|||||z|{zzz{{|}|{||{|{zz{|{{{|}{|{|z{{|zz{z|}||}|{{|{z|{{{{{|{||}|}|{|{{{{||||{{||}|{|{{||{||{}|||||z||{{{{|{||{|||{z{|{|{|||{|||{|{|z||z{z{||{}|||{{{{{{|{{|||{|}|{z{z{{{{{||{||{|{{z{{{{{{{|||||~}}|{|}{|~|}|{}}||}||{{||}}|}||}|{{z{{{z||{||{}||z{{{|{{{{|||{|}{|{{{{{z{||{|{||{{{{zzz{{{|{{|{{zz{{{{{{z{|{{z}{|{zz{{{{{{{{{|{|{{|zzz|{{{z{{{}{{z{z{{zz|{|{|z|z{{{{z{{z{|{{z||{{{{{{{{{|{{z{|{|zz|{{yzzz|{{z{{|{z{{{{{zz{{|{{||{{{{z{|z{{{|{{}{|{{{zz|{|z{|||}{{{{||z{{{{{{{|{zzz|{{{{z{|{|{}{|z|{{y{{{||zz|||{z||{{{{{|||{{{{{|z{{|z{{||||{|||||{z{{|{{{{{}|}||||zz{{{|{||||||{z{{{{{{|||{|||}{|{{z{{{||||{}||{{{{|{||}}||||}||{||{{{{||{||||||{{{{|{{{{}||{}~{{{{||{{{{|||}|||{{{{z|||{|}{{|||||||{{{|{{{|{||zz{{{{{{|{z{|~}~|}{|||}{}}|}}||}}{|{||||z||||||||{||{{{|{{|||}||}{|{{{{{{||||{||{|z{{{{{|{|||||{{{{{z|{{{{{|{|{{{{{z{z{z{{|{z{{|{|zzzzzz{{{{{|{z{z{z{zzz{{{{z{|{{{z{z{{z{z{{{|{|{zzz{{|{|}{|{||{|{{{{{zz{{{{{||{{{{z{z{z{zzz{{{|{{{z||{zz{{{||||{{zz{{{z{z|{{|{|{{{zzz{{{{z|||{||{{{{z{|{{||||||{z{z|{z{{{|}{{{{z{z|{{z{|{|{{|}|{{{|z{z{|{z|{|{{{z{{z{z{||||||}|{|{{{{{|||{|{|}||{{{{{z{{||{}}|||{{{{{{{}}||{}|||||{{{{{||{|||||{z{{{||{{||}||}}|{{}|z{z{z{||{}|||||||{{{|||||}||{{|z{|||{||||||{|{{{{{{{|||{|||{{{{{y{|||||{{|{{{z{|{zz{{|{{}~}}~}}}}}|}~~|}}}~{||||{|{{|{||||}}zz{{|{{|||{{||||{{{z{z|z|{|{{}{{{{zz||z{|{|{}{|{z|z{|{z{z|z{{|zzzz{z{zz{{{z{|||zz|{z{zz|z{{{|{|z{z{zzz{|{|||{{{{{{{zzzz{{{{||||{z{{y{{z{{{{|z||zzz{{{zz{{z||}{{{{|z{zz{{{{{{|{{z{z{z{{z{{{{||{|{zz{{zzz{{|{{z{}{{|{{z|{{{{{{{{|{{{z{{z{{||{|{||{z{|z{{{{{{|||{{|{{{{zzz{{{{{{}|{{{z{zz{||||z|||{z{{{|{{{{{||||}z{{{{|{{{|{{z}|}{{{{{z{{||||}{}{}z|{{{|{||{|{{|~|{|{{|{|{|{||||}||||{{{{z||||}|{{||zz{{{|||{|||||z{{{|||{{||}z}||{{{{|{z|||{{|{{|z{{|{|{z||{{}|{||{}yzz{{|||{{{|z|{z|zz{||||{}|~|}|}}||}~~|||~|||||{{{{}|}||}||{{{z{|{{{}|{{}|||{}{{|{{{|||{|{|||{{z{{z|||||{{}{z{{{{{z{{|{|{}||z{{{|z||z|{{|{{zz{z{{zzzzz{{|||{zzzz{{{{{{{{{{z{{z{{{{{{{{{{|{{{{{zz{zzz{|{{{{{{z{z{zzz{{zz{{{{{{{{z{zzz|{{|}{{{z{zz|yy{|{|z|{{{{{z{{zz||||{{||{{{|{z{|{|{{|{}|{|{{z{{z|{{{{||{||{z{z|{{{|||{{{{{z{{z{{{|}|{||{{{{|{{{{{{{|{{{{{|{{z{{||||{{|||z|z{{z|{||}||||{|{}{{{{z{|{}|||||{|{{|{z|{||||}|{{|{{{{||||||}||{{{{{|z{|}|}||}|{{||{{{{{|||{{|||{z|{{{{|{|||||||{{}||{|{|||}|{|{{{z{z{|z}|{{||{{|{{{|{{{|{{|}|||zzz{z{z{{|{|~~}~||||}}}~~||}~~|{|{|}||}|}}|}}||}{{||{||{|||}||{||||||{}||{|{||{{{{{{{{{{|{|||{{{{{{{{{{{|{{||{{{{{zzz|{|||{{{{{z{{{{{{|{{{|{|{{{{{{{{{{{{{||{zzz{{{{zz{{|{{||{{{{z{{{{{{{{||{{{z{{zzz{{{{{||{{{z{{{z{||{{|}{{z{y{|{{{|{|{{|{|{z{{{z|{{||{{||}{{{{{z|{|{}{{|||z{{{{{{{|||{{|{}{{{{|z{{{|||{||{{{{z{{z|}|}{{||{||z|{|{{|{|z{||}{z{{|{{|||||~}|||{{{{{|{||||{}{||||{{{{{|{{||||||{{{{{{{}{||}||{{|{||{{{{{|}{}}}}{|{||{||~}|{}}||{||{z{|{|}||||}|{||{{z{{||||||}||||||{|}}||||{{|{{{{{||{|}|{||||z{z|z|{{}|}||||{{{{{z|z{{|z|~~~}}}~|}||~}}}|}}||{|||{|}|||}||}}||z{z{{|{|{||||||{{{zz{{{}}{|{|{z{{{{{z{{z||{{|{zz|{{{{{{{z{|{|{{{zz{zz{{{{z{z{{z{zzz{{{{zz|{{{z{|z{zzy{z{|{{|{{{z{z{zz{||{||{{z{{zyzzzz{{{{|||{zzzzz{z{z{z||zz|zzzz{z{{{||{}|{{{{|{zzz{{z{{{{{z{{{{{{|{{{|{|}||{|{zz{z{|{|z||{zz{z{zz{{{|{||{|z{{{{{{{z|{}||{{|{{{|{{z||{|{||{z{z{{|z{{|{|z|||{{|z{{{{{{|||{}}|{|z{{|{{{{{|}}|{|z|{z{|z|{|||{||zz{|{{{}|{|{||{|{zz{{|{{{|{|||{|{{{zzz||}|||||||{|||{z|{{|||||{{{||{{{|}{|{|{|}}{|{|{{{||{|}||||{{{z{|z{||{|{}|{{z{zz{{{||||{|{{z{z{zzz{z|{|~~~}}}||}}}}~}}}||}||||{{|}||}|||||{z{{z{{{{{z|||||{zz{{{{||||{{||{{{z{{zz{{|{{z{}|{{zz{|{z{{{{}||{zzzz{{{{{|{z||{{zz{z{{z{zz{{|{|{zzz{z{{z{z{|{||zy{|zzzz{{|{{{||zz{z{{{z{{{|{|{{{zzz{z{z{{|{{{{|{{zz{zz{{{{{||z{z{{{{{{z{{|||{{||{z{{{{{{{{{z|{|z{{{{z{{{z{|{|{|{{{{{z{z{|{{{|||{{{|{z{z{{|{{}{|{z{{{{z{{{|{{|{z{z{{zz{{}|{{{|||{{|{{{{z{|{||||}|{{{||{{{{|{|{|}|z||{z{z|{|{}||{{{{{|{|{{~{|||||{z|{||{{{{||}}{||z{{||{|{}}}|||{|{{{{z{{|{|}||||{{{{z{{z{|||{{||{{{{||z|||||}|{}{{{{{{z{{{{|{{|{{{zz{{|{{|||{|{{|{{{z{{{{{|{|~}}}~}}}}}}}}}}|}|}|||{{||}}|||}|{{|{{{|{||{{{|{{{{||{zz{|||||{|||{{z{{z{|{{{z|||{{{z{{{{{|{{{|}{{{zz{z{{{{|{{{{{{{{zzzzzzz{|{|||zzz{{{{{{{{{|z|{{zz{{zzzz{{z{{{|z{z{zzzz|||{{|{{{zzzz{zzz{|{{|{|{{zz{{y{{z{{{|||{y{zzz{{{z{{{|}}|||yzz{z{{z{{||{|{{|zz{z{{{|{{{|{z|zz{z{||{|{|||z|{z|z{{{|||||||{{{z{{z{|||||{|||y{|zzz{|{|||{{{|{{{z|{{{||||||{z{z{|||{|{{{|||{{zz{|z{z|||{{|||||{{{|{|||||{|}{{{|{{{{z||}{|}|{{||{{{{{|}{|{|||||{{{{{{|{||{}}|{zz{|{||||{{|||}|{{|{{{{||}|||{||{{z|{z{z|{{{||{{{z{{{|z|{{|{{{{{z{{z{zz{|{|{}~~~}~~~}}{~~~}||}}|||{|{|||}||~}|}|{||{||{|{|||{|||{{|{z{|{|{|{||{{{{zzz{z{{{|{{{{z{zzzz{{z{{|{{{|{{{{|zzz{{||{|{{{{{zz{{{{{{{{{{zzz{zzzz{|}{{{{|{z{{{zzz{z{|{{{{|{{|zz{z{{{{|{||{{z{{zz{z{{{z{|{{{{zz{z{zy|{{{{|{{z{z{{z{{{{{{{||{{{{{{zz{|{{{{||{z{z{zz{{|{|{{|{z{zzyz{{{{{|{{||{{{{{{{zz{{{{|{|zz{z{{z{{{|z|{}{{z{{z{{{{||{{|{{{zz{{{|{{{|||}||{z{{{||{||z{{{}{{{||{{{z{||{||{||{{{z{{{|||||}|||z{{{{|{||{|||{|{{{|z||{|||||||||{{}|{{{||||||||{{{{{|{{|||||{|}}{z{{|zz}{{|||||{|z{z{{{{{|{{|||{||{zz{z{|{{{||{{{zzzz{zz|{{{~}~|}||}~~}}~|||~|}||}|||}}{}~}}{|{{{{|||{}{||}|{{{{{z{|}{|{{}}|{|}{{{{y|{{z{|{|zzz{{{z{{|z{{{{z{z{{zz{{z{|{{{{z{{{zzzzy{||{{{{|{{z{{z{z{{|{{{{{{zz{{zz{{{|{||{{zy{{z{zz{{{{{||{{z{{{z{{z|{{||{{{{{zz{{z{{{z{{|zz{|z{{{{{{z|{{{~zz|z{{{{{|{}||z{{z{|{zz{|{{{{{{|{{{zz{{{{|}||{|{|z{zzz{z{|{{{|{{z{{{{{z{{z|||{||||{{zz{z{{{{{{|{|{{{{z{{{{||||{|z{{{{{{{{{|}|}|{|{|{{{{z{|}{{||{|{{z{{{{|}{||{}{{{|{z{|{{|{{{|||{{{{{{{{|{||}|}|{{{||{{||{{{|}}||{|{{{{||{||||~{{|{{|{{{||{{||||{{z{{{{z|||{}|{||{{{{{|z{{{{z||{{{{z{y{{{{z{{~}~}}}~|~}|~}}}}}||}}|}|}||||}}|{{||||z||||}}||{z{|{{{{|||{|||||z{{{{{z|{||z{||{{{{{z{z||zz|||{{{{zzzzz{{||z{|{{{{z{{|{{|{|{{|{{{zy{z{{|{|{z{{|{{{{z{z{|{{{{{{{{{|{zzz{{{||{{|{|{z{{{{{z{{{|{{{{{z{z{{{{|{|{||{|{||||{z||{{{|}{{zzz{y{{{{{{{{{{{{{{|z{z{{{{{|{|{{{z{zz{||}|{|{|{{{{{{|z||||||{|{z{||z{z||{|{|{{|{{{{{{{{{{{||||{{z{{zz|{{{{|||{{{{{|{{|||{{}}|||{|||{{z{||||||{|{|{{{|||||||||}|{z{|z||||||}||}}{{{{||{{||}}{}||{||||{|||||{{|||{{{{{{{|}||{||||{|{}{{|{||||||||{|{{z{|{|{{{}|||{{{{{{{||{||}{{{{{z{z|z}{|||~~~|}~}~}}}}~~~~~}}}{{||{}}}|{}}|{|||{||z|{{||||{{{|{zzz{{{{|{|||z{|yz{{z{||{{{{{|{|{{{{z{|{{{|{|{|{{zzz{|{|z{|z{zz{z{zzz{z{{{{|{{z{{{{z{{{|{{z|{z{zzzy{z{{{{||{|zz{zz{zz{{{{|{||{z{|zz{{{{|z{||{{{{{{zz{{{{{{|{{{{|{z{z{{{{{{|{{{{z||{{|{{{{{{z}{z|{z{zz|{|{{}||{{{zzzz{{{|{|{|||z{{zz{|{|{|||||||{{{z{{{{|z|z|{{z|{{zz{|||{{||}{{{{{z{|{{}|{}{{{{{{|{||||||{|}|{{z{{z{{{|||}{|||z|{z{{{|||{|||}{{{|||{{|||{||{}|{|{||{{}}||{|}|{{{{{{|{{}|||||||{{|{{{{||{|{||}||{{||{|||||||}||{{z{z{z||{|||||||{{z{{|{{||||{{{{{{{z|{||||{~~}~}~~~}~~}}~}~}}}}||{}{}|||||||}|{{{||{{}}}||{{|{{{z{||{{|||{{z{{{{zz}{{{{|{||z|zz{{{|||||||{z{|{zzzz{z{{{{{{z{{{|{{zz{{||}|}{{zz{zzz{||{{{{|{{z{z{z{{{|{|{||{{|z{{zz{{{{z||}{|{zz{{{{{{{{{{{{|{z{{{{{{z{||{{{z||{{z{{|{{|z}||z{{{{{{z|{{{{||{{{{{{{{{z|{{{}||{{{{{zz|{{{{|{|{{{{{|{{z|||||{{{{{{z{{{{|{|||||{z{|z{{z{{{{||}|{||{{z{{||||||||z{{{{{|||||}|}||{{{{z|{{{|||||||}{{{||{{}||{|{||||||{|{|||{|{{|}}||{{|{}|}}||}}||{{{{z||{|}|||}}}{{|{{{|{}{{|{|}{{|||{z|{|||}|||{z{{{{|{{|{|{|||}{z{z{|z{}|{{||{z{|{{{{y{{{|{}~~~}~}~}~|~}~|||||||{|}|}||}}|z{}|||z|||{|||||z{{{{{{|{}|||{||{|{{{{z{{||{||{{z|zzy|z{||{{||{|{|{{{{{{||zz|{{{zzzz{z{{z{zz{|{{zz{yzzzzz{||z|{|z{zyz{{{{|{{|{|{{{z{{{y{|{|{{{{{z{|zz{z{{|{{{{|{z{zzz|z{{{{{{|||z{{{{z{{||{{{{||{{|{{z{z{{{|}|||{{|{{{{{|{{||}}{{{{z{{y|{{{{|}||{{zzz|{{||{{}||{{{{z{zzz||{{|{{{{{|{{z{{|||||{|{z|{{{z{{||||{||z{{|{z||||{}|{||{{z{{z{{{|||||||}{|{{z{{|||{|}{||z{{{{||||{{||{||z{||{{|z||||{}||{{||{z{||||||||||z{||{{{|||}}|{|{{{{{||||{{||}}|{{z{|z{{{{{|||||{z{zzz{{|{|{|||{{{z|{{{{{|{{~~~~}}}~~~}}}|||{}|{z|}|}{}|||}|z{|{z||}||||||{z{z|zz{{|{{{{|{{{{z{{z{{{|{|{{{{{z{z{z{{{{{|{{{{{{{zz{|||{z||{zz{zzzz{{|z{z{{{zzyz{{{z{{{|{|{{{{{z{{y{{{|{{|||z|zzy{zz{{{z|{{{{{{{zzzz{{{{zz{{{{{{{zzzz{{{{||{{z{{zz{zz{{||||{{z{{{z{{||{z{{{{{z{{{{{{{||{{z{{|z{{z{|{{|{|{{||{z{|{{z{{||{z{{{{{z{{{z{{{{{{|}|{{{{{{z{{{{{||||{{{{{{{{{|||||||{{z{zz{zz|{}||{|{{|{{{zz|||z|||{|{{z|z{z||||||||{{|{|{|{{||||||{||{|{|{{|||{||{|{{{||{{{{{{|||||{{{{{{{{{{{{||||||{z{{{{{{{{{|{|{z{z|{{z{{{z|}|||{|{{{{y{|{{{{{{{z{zz{z{|{|{z~}~}~~~~~}}}~{}}||||}}|}}}|}|{{{{{{||{||||||z{z{|z{{{{{|{|}{{{{z{zz{{{z{{||{{{zz|{z{{|||{||{{{{{{yz{{|{z{|{{z{{zzz{{z{{{{{{z{zzzzyz{{{{{{{{y{{zzzyz|{{z||{{zz{zzzzz{{|{{{|{{{{z{zzz{{z{{{{||z{z{{zzz|{{{||{{{zz{{{{|{{{{{{{{zzz{zzz{|{{|{|{{{{{{z{{{{{z{{{{{{zzz|{{{{|{|{{|{{{{{{{{{{}{z{}{|{{{{y|{|{||{{||{{|{z{z{|{{{{{{{|z{{zy|z|{}{{{||z{z{{||{{||{|||{{|{{zzz{||{|||{||{{z{{|{|}|||}|{{|{|{{|{|{||||{||{{{{{{{{||{||}||z||{z{{{|{||||||{{{{{{z||||{{}}}{{{{{{||{|{|{}|{{{{{||z{|{{|}{{{||{z{z{|}||{{|{{z{{|z{z{{{{{~~}~~~~~}~~}||}{|||||}}}||||{|||{{|}|}|||||z{{{{|{{|||{{|||{|{{{{{{{{{{{||{{{z{{{{{|||{|||{{zz|zy{{|{{{{{z{z{z{y{zz|{{{||{{zzz{z{zz{z||{|{z{{{z|zz{|{{|{{{{{{{z{{{{{|{{{{|{zz{{z{z{{|zz{{{{{z{{zz{{{{{{{{|{{z{{{{z|{{{{{|{|{{{|z}z{}{}|{||{{{{zz{{{||{{|{|zz{zz{zzz{{z|||{{{{{{z|zz||||||{{{{|{||{|{||{{||{{{{{z{{}|{{{|{{{{{{|{{{{|}|{|||{{{z{{||{|{{||{}{{{{{z|{|{|{}||{|{{{z|{{||||{{||{{{|{{|||}{|||||||{{{{{{||}{|}|||{{{z{{z||||{{|{|{{{{z||||||||||{{|{|{{|}|{}|||}|{zzz|{{z||||}|}{{|{|{{{|||||{}|z{{z{{{{{zz{{~~}~~~}~~~~}}||||}}}}}}}{}||{||{{{|{{||||{|{|{{{{{|||{{|||{{{{zzzz|{|{{|{||{|{|{z{|{{z{{{|{{{z{{z{z{{{z|{{{|{z{zzz{{{{{{{{zz{|{z{{{|||{{{{z{zz{z{{{{{{{|{{{|{yzz{{{{|{{{|z|z{zzzzy{{{z|z{|{{z{{|{zzzz{{{{|{y{{{{{{{{||||{{{{{{{z{{||{{z{|{{z{{zz{{|}|{{{||{{{zy{z{zz{{||{|{{|{z{{{{|{{{|||{{|{{|zz|||{z{|{{{{|{{{{{||{||{{{|{{|{{|{|}}{{|{{|{|{{|{||{{{|z}{|{{|{{{{|{}{|||{z{||{{|}|}|{|||{z{z|{z|||}}{|||||{{{{||{||||||{}{|{{z}|||||||{||z|{{{z{{{||{{|}|{z||||{||||||{{|{{z{{{{|{{{||||{{{|{{|{||{|{|{{z{{zz{{z{{{z|~~~~~~~~}~~||}||{}||}}}|}|{{z{||{|}|{}|||{z{{{{{{||{|{{}{|{|{{|{{{{{{||||{{{z{|zz||{z||}{{zz{|z{{{{|{z{{||{{{z{{{{{{|z{{{yzyz{{{z{|{z{{|{|{zzzy{{|{{z|{{|z{{zz{zz|{|{{{{{{{{{{{zz|||z{{|{|z{z{z{{z|{{{||{z{{{{{{z{}{{{||{{{{z{z{{{|||||}|z||{{z{z{{{|{{||{{{{yz{{{{{{||||{||{{z{{{{||{|{|{{z{z{{{{|{||{||{z{z{|{{|{|{||{|||{{{{z{||||{}}|{|{{{{z|{}{|{||{|{{{{{{z||||{{||{{{{z{{|{{||{||||{||||{{|{{|||{{~z{{|{{{{}}||}||}{{{{{|{||||||{||zz|{z|{||||||}}|{|{{|{||{|||}{|z{{{{|{{||||{|||{|{zy{z|||{||||{{{{{z|{z{{|{|~~~~~~}~}||||{|||}}||}}}|||}{|{|{|{|{|}||}{{||zz||||{{|||{{{|z{{z{|{{{|{{{{{y{zzz{||{|||{{{{zz{{z{z|{|{|||zzz{zz{{{{|z|{|z{z{z{{{z{z{{{{|{{z{{z{{{|{{{|{{{z{{z{{{|{|{{z|z{|zy{zzz{{{{{{|z{{z{{{{{{|z{{|||{{|z{{{z{||{{{||z{{z{z|{|||{zz{}z{{{z|{z|{{{z|||z{{{{{{z|{{|{|||z||{{zzz||||{|{{{{|||z{{|||{|{|||{{z{{{{{|||{|||{{{zz{z{{{{{|}{|{{{{{{|{|{||{|{|{{||{{{{{|||||||{{{{{{{||}|{{{}}|{||{||{|}{|}|}}|{|{z|z{{}|}|}{||||||{{{|{||||}}|{{|{{{{|{{{|{}}}|||{{|{{{|}|||{{|z||{{{|||{{|}{|{{z{{{|{{||{||}|{{{z{{{{{{{|~}~~~}|||||{|{}|{|}}}}|z{{|{{{|}||{||{{{{{z{{z|||||{||{{{{{{z{{|{||}|{zz{{zz{y||{|{|{{|z{{{{{{z|{|{{|{{{|z{{zz{{{{{||{z{z{{zz{{{{zz}|{zzz{zzzz{|}z{|{{{z{zz{y{z{{|{|{{{{{{{z{{{{{{z{{{{{zzzz{z{}{z{|{}z{z{{{{z{{{{{|{{{{{zz{|{|{{{{{{{|{{{|z|{{{||{{|{{|{{{z{{{{{{{|{|z|{z{{{{{||{||||{|{|{z{z|||{{||}{{{{z|{{{|{{||{|{||{{{{{||||}||{{{|{|{{{||{|{|||{{{{{{{z|||||||||{{{{{z{|}{|{|||||{{{{|{|}|{|||}}|z{{{{z{||}{||||{|||z{||||||||{||{|{}|{{|{|{|{|{||z}|{{||{|}|}|}|z{{z{{z{{{||}||{{{zz{{z|{}{{|}|{z{{z|z{|{|{~}~~~~~~~}}}}}|{}}}|}|}|||{{||{{|}|||||||{|||{{{z{||||}{{|{z{{z{z{{}|{|||{{zz|z{z{{{{{|{|{{{{{{z|{{{{|{{{zzz{{z{z{{|{|{}{{{z{{{{{{{z{|}{zyzz{{yz{{{{{||{{{{{zzzz{|{|z{||{z{z{z{z|{{z{{{|z{{zz{{z{|{|||{{zz{{{{{zz|{{z{|{|zy{{{{{{{}{{{{||{|{{{|z{z{{|{|{{{{{z{{||||{||{}{{{{{z{{{{{{||||{{{zzz{{||||{{}{{{z{{z{{}|||{}||{{{{{{|z|}{||{||{{{z{|{{{||}{}|||z{{{{{|{{|{|||}}{{{{{{|}|{||}}||{{|{|{{{||}|{}||{{{z{{||}|}||}{|{{|{z{{|||{|||||{{{{{|||||||{|||{{{|{|{||||{|{}|||{}y{{|||||||}|{||{{{{|||{|{|{{{zzzz|{|{{{|~~}||||||||}}}~|}}}|{{{{{{|{||||}||{{{{|||{{{{}||{{{{{{{{z|{|{|{||zz|{z{{{z{z{{{|{{{|{zzzz{z|{{{{{{{{{{z{{{{{{{{||{{{zzzzzz||{|{||{{{z{{zz{{{||{{z{|{zz{zz{|{{{{{{{{{zzzzyz{{{{||{{{{zz{{{{|{{{{{{z{{zz|z{{|{{|{||{{zzz{{z{||{||{{z{z{{{|{|{|{{{{{{zz{{zzz{{||||{|{{{{{z{{||{|||{{{{{zz{{{{|{|{||{{zz{{z{{||{|||||z{{{|z{z{}|{{}{|{|{{{{|{{|||{||||{||{|{||}||{|}{}|{||{{{}||{||}|{{{z{|{{{|{||||||{{||{{{{|{|}|}||{|{|{||{|{{|{||{z{{z{{|{||{|{}}||{||{{|{||}||{|{{{{{z||{|||||}}||{{|{{z|}{||{|{|{{{{z|y|{}{{~~~~~~}}||||}||}|}}}~||{|{|||||||||||{{{{{|{{||{|{{}||{{{zzzz{z|||{{|{{{zz|zz||{{{{{|{zzzz{zz{{{z{{||z{z{zy{{zz{z{|z|zz{|z{{z||{|{{{|{{{{zzz{{|{{{{{|z{{{{|zz{||{{{{{{zzz{y{{z{{{|{{}{z{z{{{z{{{{{|{|z{{{z{zzz{{|{||{{{{z|zz{{{|{{||{{{{|zz{{|{{|{{{|{{{zzzzz|||{{{|{{{z|{z{{{||{{{|||{|||z{{{|}|{|||{zz{z{z{{{||{|{||{{{|{{|{|{|{}{|{z|{{{{z|{{|||||}z{{{{|z{||{|||||z{{|{{}|}|||||{{|}z||{{|}{||||||{{{{|{{{||{||||||||{{|z|{||{|}||{{{{|{|||||}{|}}z{{{z{{|||||}{||z{z{{{{{{{{||{|{{zz{{{z||}||||{{z{z{z{{{|{||~~~~~~~}}|||||}}}|}|}|{{|{||{|||||||}}{{z{{{{|{|||{|{{|{{{{z{|{||||{|z{{z{z{{{|z|{}{{{{zz{{{{||{{{{{|zzz{zzz|{|{|{{{{{zz{{{z{{{z|{}|{{{{zz{{y{{|{||{{{{{zz{z||z|||{|||{{|zzz{|{{z{{|}|z{{{zzz{{{{{{|{{z{z|{zzz{{|{{|||{{z{z|{{{|{|{{{{{{{z{{{}||{{|{{{|{{{zz|{|{||}|||z|{{z{{||{{{|{||z{|{{zz||{||||||{|zz{z{{||{|{|z{{z|{z{{|{|}{{||{{{|{{{{{}|{|||||{{|z{|{|{|{|||{{z{z|{zz{|{{|}|{|||{{z||{|{|}}|{|{z|{{{{||||}{}|}{|{{|{{{||}{{||{{{{||{|{{{||{|||{z{{{{|||{||||}{{{y{{|{{{{||||{{{{||{z|||{|{z||{{{{{{{{{|{{{~~}~~}}~||||}||}}||}}}||{|{|||||{{{||||||{|{zz||||{||{||{{{z{y{{{{|{{|{|zz||zz{|{{{|{{z{zzzz{{{{{{{{{z{{zzzzyz{{{||{{{{{zz{zz{{|{{{{{{{zz{zyzz{{|z||||z{{zzzz{z{{{||{|zz{{zy{zz{{{{{{z{z{z{{{z{{{{||{{{z{|{z{z{{|{{{{|{{{{{z{{{|{{{|}{{{{{{{|{{{{|}{||{{|{{{{{{||z{|||{z{{{{{{z{|{||{{{z{{z{|z{|{{{{||{{{{{||{{|{{{}{{{{{z{{{{||||{|||{{{|{z{z{}z|||}}|{{{{{{{|||{}|||{{{zz{{||}{z|||}{|{{{{{{|{{|{||||{}||{{{{||{|||||{z|{{{z||}|||||{{{{{{{{{|||{||}|||{{{|{||{|||||{{{{|{z{{{||{|||{z{{{{{{{||||||{{{{{z|{z{{{{{~~~}}}}|}{||{||~}|}~|}{||{{{||{{|{||||{z|{{z{{}||||{|{{{{zz{{z{||{||||z|{{{zz{z{{zz{{|{{{{zzzzz{|{{{{|{{zy{{{{|{{zz|z|{z{{{{{z{{|{{{{|{z{y{zzzz{{z|||{{{z{z{zz{{{{{{||{{{yzz{zz|{{|{|{{{{y{zz{{{z{|{|{{zzz{z{{|{{{{|}z{{z{{{{z||{{{|||{{|{zz{zz{{|||{|z{{{zz{{{|||{|{{{|{zzz{{{{{{|{|{{{z{{{zz{{{{|{}{|{z{zz{||{}z{{|||{||zz{{|}|}|{||||{{z{{z}{{|{||{{{{|{zz|{{|{||||{{{{{{{||}|||}|{z|{||{|{z|{|||}|{{{{{{|||}{|||}{{z{z{{|{{|{||{||{{z|{{{{{|{{||{|{|{{|{{|{|{{||||{{{{{{|{||}{{|||{|z{zz{z|||{z{||{{{{{{z{{{{{{}~}}~}|}}|{||}}|||||}{|{{|||{||||}{||}||{{|{{{|{{|||{{|{zz|{z|{|{{{|||{{{z{{z{{z{z{|{z{{{{{z{|{|{{{{{z{{zzzzz{{z|{{{|z{{z{z{{{{{{{{|{|{z{{zzy{{{{{{{|{{{zz{z{z{|{{|{{{zz{{z{z{zz{{{{{|{z{zz{zz{{{||z|{{{{{{{z{{{{{{|{{{{z|zzz|{{{{{{|zz{{{z{|{{||z{||z{{{zz{z{{{{{|{||{{{|z{z{|{|{|{|{zz{}{{z|||{{{|{{{{z{{zz{{|{{{{{|{{z|{z{{|||{}||z||z|{|{||{}||||{z|{{{{{{||{|{|||{{{{{{z}|{|||}}{{{|{|{{||{{|{{}|{|{{zz|{||||{||{{|{z{{{{{||{}}||{{{|z{{{|||{}|||{{||{{{{|{||||||{{z{{z|{|{|}|}{{{{{zzz{{|||{{||z{{{{zzzz|{{{~~}~~}}}|{}{{|}|}}}|||{||{||||}||||{||{|{{{{{z{{|z|||{{{zz{z{{||{|||{|{z{z{zz{{{{{|{{{z{{zyz{||z{|||{zz|{{zz|{|{{{z|zz{{zz{zz{{{z{{|{z{{{{|{{{{{{{||z{|z{{z{{{{{{{|{z{zzzz{{{{z{{||{{{{zz{{{{{z{{|||{z|{z{{z{{{{{||||z{z{z{|y|{{{{{|||{zzz{{{{{|{|||{{z{{{|{{{||{||{z{{|{z{{{{||{}|{{{{z{{zz|{|{{{}{{{{{{z|z{||{{|{||{{zz{z{{{||||}}{{{|{{||{|{|{||||{z{{{{zz{|{}||{{{{{{z{z|~{{}||}{|z{|{{z|{|||||||{{{{{{{|}}|||{||{{{z{{|{||{|{}||{{{{{{{|{{{||}}{|{{|{{|{|{|{|||{{|{{{{{|||{|{}||{{z{{|z{{{}|{|{{{{z{zz{|{||{~}~~~}}||{}}}|~}}}}}}}{|{{z{|||{|||}|{{{{z{{||{{{{|||{{{z{{zz{{{{{{}{{{{{{zz{{|{{z{{{{{{z{zz{||z{{{|{{z{zzzz{{{{z{{|{zz{{{zz{{{{{{{{zz{z{{zzz{|z{|{{z{{{|{z{z|{|{|||{z{{zz{{{|z{{{{{{{zz{{{zz||{{{|{{{{{{zz{{{|{{{|{{z{z{{{z||}z{|||{{{z|z{{{{{||{{{{{{{{z{{{{{{||{|{z{z|{{{{{{{{|{{{z{{{zz|{|{|{{||{{{{|{zz{}{{{{|||z{z|{{z|{||||||{z{{{{|{||{|{|||{zzz{{{{||||||||{z{|{|{{||||||}|{{|{{|||{{{{|||||{||z{|{|}||}~}|}{{{||{{||}|}|||{{{{{{{{{|{|{|}|{{|{|||{|{z||}|||{{{{|{{|}{{{|||{{{zz{|z{|{|{{|||{zzzzz{{{{{|~~}}}~|||{}}}}|}|}|}{{{{|{{|{|{}|{|z||{{{|||{|{|||{{{zzzzz|{|{|{||{{{z{{{z{{{{{{|{{{{z{{{{|{{{z||{{{{zz{{z{||z{{{zz{zzz{{{{{{zy{{{{{{zzzz{z{{{|{||{|{{zy{zz{{{{|||{y||{z{zz{{{{|{||{{z{{{{|{{{{|||{z{z{z|{z{{{{|{|{{{yz{{z|{|{{{{{{z{{{{{{{|{{{{{|{{{{z{{|{|{|{{{{|z{{|z{{|{z||{{{{{{z{||z|||{{{|{|{{{{z{{||||{|{}{{{{z{{|||}||}{|{{{{{|{{||z{z{|{{{{{|zz{{{|{|||{|{{{|{{{|||||{}}{z{z|{{{{|}||||{|{|{{{{{|}||{|}||{||{{|||{|}|||||z{{|{{{||{|{|{}}|{{{{|{|||}{|}|{|{{{|{{|||{{||{{{{{|{z{z{{|z}|{{{{{{{{z{||||~~}~}}}|{||~|||}|}}|{{|||z||{|}{}|{{{{{|{z|}{|||||{|{z{{{z{{|{z|{|{{{z{z{z{{{z{{||{zzzz{z{z{|{zz{zzz{{z{z{{{{{{|||zy{{{zy{{{{{{{{{{{zzy{zzz{{}z||||{z{yz{z{|{{z{||{z{{{zzzz{{z{||{{{{z|zz|{{{|{|||{{{z{{z{{|{{|{}||{{{{zz{{{z{{|{{|{{z{yz{{{|{{|{||{zz{zz{|||||{{|{{{{{{{z{{|{z{{{|{|{{{{{{{|}|||{|{{z{{|||{{{{{|{{z{{{{{{|{|||{|{z|z{{{|{|{|{||{{|{zz|{{{||||||{||{|{{{{{||||||||{{{{z|||z|{|{}}|}{{{|||{|}||||}||{{{{|{|{}||||||{zz{{{{{||{||}|}{||{|z{{||{{||||}{{{{{{{{{{||||}||{|{z|{{|{{|{}}{z{{{{{{|||{{|}|}}{|||~}}|}}}}|{|z|{{|||}||{|{{{{zz|{||{|{{|||{{{z|{z{{|{|{{||{zz{zzz{{|{|{|zzzz{|{|z||{{{{{|{zzyzz{zzz{{{{|{zz{z{{zz{{{z{{{{{zz{{zyzzz|{|{{{{z{z{{{yz{{{{{|{{{{{{{{{{{{{{z||z{z{zzz{zz{|{|{|{{{{{z{||}{{{{{{y{{|{{z{|{|{|{||{{{{z{{{||{|{}}|||{zzz{{{|{{|||||{{{{y{z{{|{|{|{{{{{{{{{{|{{{{|{{{{{|{{{||{{|{|{{z{z{{z{|{||{|||||{{{{zz|{{|{{}|{|{|z{zz{}||}{|||zz{{z}z||||{|||{{{{z|||{||||}||}{{z{{{{|}{{||||}|{|{{{z||||||{{{{{||{{|{{|||||||{{{|z{z{|{||{||{zz{{{{{{{{|||||z{{z|{{z{|{||{}{{|{{{{{z{|{{{~~}~~}}}}}||{~||}}||}{}|{{{}}|||{|||{{{{{|{|{{{{z|{||zz{{zz||||{}{|{{|zz{z{{|{z{||z{{{z{{zz{{{|{{|{{{z{{{z{|z{{{{{{{z{zz{zz{{|}||||{{{z{zyz{||||||{{{{z{zz{{|{{{{{{{{{z{{{z{{|{{{|||{zyz{{z{{z{|{|{{{z{{{{z{{{|{|{{{zzz{{{z|||{{|}}zz{{{{{{|{||{|||z{z|{{{{{{||{{{||{z{{z|{|{||{|{|{{{z{{{{z{||{{{{{z{{{{{{||z{||{||{{{{|{{{|||||}|z{{{{{{|{{{||||||z{{{zz{|||||{}||{zz{|{{{|}|{||||{{{{|||||{||||}}{{}{{||{|||||||{|||z{{{{||{|{}||{|{{{{{{||}|||||||{|{{{{}|}|{{{{|{{|{z|||||||}|{{z{{{{z{{{|||||{{{{{{|z{{{z|~~~}|}}||z|}}}|}|}||{z{z{}{|{|z}|z{|{z{|z|{|||}{|{{|{{{{{|{{{{{||{{zzz{{z{{|z|||{{{{{{{{{z{{|{|{{{z|{z{zz{|{{{{||{{{{zy{{{||y|z|{{z{zz{z{{{{{|{{{{z{z{zy{{{{{{{|{|{z{{zzz{{{}{{{z{{{{zzzz{|{{{}{|{z{|{|zz{{{{||||z{{{zz{{{{{{{{{|{{|{{z{{{{|{{|{}|{{{{{{{{||{|{||{zz{zz{{{|{{}{||z{{|z{{z{|||{{}||{z{{{z{{|||{{{|z{{{{z{{z{|||||{{{{{{z}{|}|{||{|{{{|{{{z|{|{|{||||{|{|{{|||{|{|}{|||{{||{}{}|||{|{|{{z||z|||||||{{|{{|{{|}|||||||z{{|{z{{|||{}|||{{{|{{|||{{{|||{{{{{{{{{||{|||||{{{{{{y|{{|{||{{z{{zzzz{{|||~~~}}}}~|}~|}}}|}}}|||{|||||||{|}}}|{|{{{{z{{||{||}{{|{{z|{{{||}{{}{{{{{|z{|{|{|{|{{zzzz{{{||||{|{}{|{zz|{z|{{{{{|{{z{{{z{||{|{{{{{{z|y{{zz{||{{{|||z{zzz{{||{{{|||zz{zzz|{{{|{{|||z{{z{{|{{{z|{{|{{{{{z|{{{{z{{|||{z{{|{{{|{|z{||}{{zz{{{{||{|{|{|{z{{{z{{|{{|{||{|{|{{{{{{|||{}{{{|{{{{{{{{||{|}||{||{z|{|{z{|{{{{|{{{{zz|{}|||}|{||{{{|{||{|{||||{{{|{{{||||{}|}}z{z{{z{{|{|{|}}|z{{{|{{|}|}}}}||{{|{|{|{{}|||||{{|||{{{}|||||}|{{|{{|{{{||||||{||z{||{|{||{||||{{|z{z|||{||{||}|{{{{|{z{|||{|{|{{{{{{{{{{|||~~~~}||}|{|}}}|}}}}}{|||{|z|||{|||||{{{z{z|{||{{z{{{{{zzzzz{{{{{{z|{z{z{{z{{z{{|{{{{zzz{zz{|{|zz|{{{{yz{{zz{{{{z|{{z{y{zz{z{{|{|{{zzz{{yzzzz|{z||{|{{zzzzzz{{{{|{{{zz{{zzzyzz{{|{|{yzzz{{{zz|{{zz|{{{zz{zzz{|z|y}|z{{zzzz{zz|{{{}|}zz{z{z{{{{{|{z{{{zzzzz{{{{|z{|{|zz{z{z{z{{|z|{|{{z{{{{z{{{|{{{|{{zzz{z{z|{{|{}||z{{{{{{{{{||||{{{||{{z|z||{{{{||{{{|{{{{{{||{{|{|zz{{z{{||{|{|}{z|z{z|{{{||{||||||{{{{{{|}|||{||{||{{{|{|{|{{||{|{{{{{z{{{||{{}{{{{||z{{}|||||{{|||z|z{z{|{{||||{|{{{{z{{||{{|{{{z{{z|{z{z{|z~~}}~|}|{{|}}||~|}}|{z{|z{|||{||}||{|{z{{{|{|||||{{|z{z{z{{|{{{|{{|{{{zz{{{{|{{|||{{z{zz{{|{{z{{{{zzzz{{zz{zz{z{{{{z{{zzzz{|{z{{|{{{{{z|z{z}z{{z|zz{{zzz{{|{z|{{|{{z{|{{zz{|z{zz{|{{zzzz{{{|{z{{||z{z{{{{z{||{{{|{{{z|z{{z{{{z{{{||z|z{z{{{|{{{|{|{zz{z{y{{||{|{|{{{zzz{{z{|{{{|{|{z|{z{{z{|{|{||{|zz|{{{{{||||{|{{z{{{z{{{|{||{{|{|{zz||{||{|{||}{{||zz|{|||||}||{{{{z{|z|{{||}||{{z{{{{{|{{{|||||{{{{{||{}|}{||||{||{||{{|}||{|||z{{{{{{||{{|||||{{{|{z{{}||{{||{|{z{{{z{{z||{|}|{{|{|{{z|{{||||{{{zzz{z|{|||~}}}}}|}|~||}|}}}{{}{{|{||}||}|{||||{{{z||||||{{}|{{{z{zz{{||||||{{zzzzz{{{z{{{{{{{z{{{z{z{{|z||{{{{zz{{{{{{{{{{{{z{zzz{{z{|{{{{{{|{{z{{|{|}{{{{|z{{zz{{{{|{|{|{{{{|z{z{zz|{{{|||zz{z|y{zz|{z||{{{z{{z{{{z{{|{|{{{{{{|{||{{{{{|{{{z{{{{{{||z{{{||zz{{{{{z{{|z|{||z{|{{{{{{{{|{||{{{z|{{{{|{|}{|||{{{zzz{{{}{{{|||{|{{{{{z|{{||{|{z|{||{||||{|||}|{{{{{{z{}}{|{||||{zz{|z|{|{|||}||{z||||{{{|{}||||{{{zz|{{|{|}||||{{|{{{{||{||}|}{{{{{{{{||}}||}|{z{{{|{|}{|||||}z{{{{{y|{{{||||}{{{{zz{{||||{{|||{{{{zz{|{||z~~~}}}|}|}|||}~}~}~{||{||||}{}|{||{|{z|{{{{{{||{{||{|{zz{{z{|||{|||{{{z{{|{{{z|{{{|{{{zz{{z}{{{{{{{z|{zz{|{{{{{{|{{{{{{zz{z{{{{{{|||zz{zzz{zz{{|{{{{{zz{{{z{{||z{||z{{{zz{{z|{{|{|{{{zzzzz{{{{{|{{||{{|z{{z{|{{{|||{z{z{z|{{|||||||{z{{z{{{|{{{{z||z{z{z{zz{{|{{|||||{{{{{z{||{{{|{{z{{{{{{{||{{{||z{{|{{z|{||{{z{||{{{{{{{{||{||||z{{{{{{{||||{{||{{{{z{{{|||{||||{zz{|z{{}{|{|}}||{{z{{{{{{{z|||||{{|{|{{{||}{|{{}{{}{{{{}{|||}{|{{{{{{{{||{{|{||{{{|{{{{{{||}|||{z|z|{{z{|||{{||}|z{z{{{|z|{|z{|{{{zzz{z|||||~}~~~}||~{|||}|}|}|}{||||z{{}{{{||}|{z{|{{z{z{{{{{||{{{{y{{{|||{z{{{|{zz{{zz{{{z{||{{{{zzz{z{z{{{{{{y{yzz{zzz{z{{{{{{zzz|zzz{|{{|{{zz{z{z{{{y{z{||z|{|{{zz{z{{{{{{||zyzy{{zyz{{zz{{{z{zzzz{zz{{{{{{|{zzz{|zz{{{{{{{||{{z|z{{|z{{{|{|{{{{zzzz{z{{{{||zz{{{{{z{{{{|{|{|{{{{yzz{|}{{|{{{z{|z{zz{{{||||||z{|z{{z{{|{{||||{z{{z{{{{|||{{|{{{{|{{{|||{||}||{{{{z{z||{|{|||{zz{z{{{||{{|||{{{|{z{{{{}{||||||{{z{{{{|}|||}|{|{{|{zz{{{}|{{||{yz{{z{{{}{|{|||{{{z{{{{{||||}||z{{{{{{{{|z}{|||{{{|{z|z|{{|{|{{{{{z|z|z||{{|~~~~~|}|}|~}~}}|}||||{|{|{|{{|||}{z||z{{{|{{|{{|}||{z{z{{{|||{||||z|{z{|{z{|z{{{{{|{z{{zzz{|{{z|{{{{{{{{zz{{|{{{||y{z{{z{z{{{|z|{{{{{{z{zyz{{z{{{}z{{zz|{{z||||{||{|{{{{{z|{{z|{{{z{{zzz{{{{z{{|||{z|{{|{{{{{|{{|{{{{zz{{z{|{|{|{{{{{{zz{{|{|{|{|{|||zz{||z{|{||{||{{{|z|{||{{|{{{|{{{|{zz|||{|{|{{{|{z{{{|{||{}||{|{|{||{|z|||}|}{z|{{{|{|{z||||}{{|}||{{{{|||{}||z{z|{{{|||||}}|{{{|z||{{{|||||||{z{{{{||~{||{|}||||{{{{|{~}|}|{|{||{{{{||{{||||}{{{{||{|{}|{||}{{{{{{{{{||{{||||{{{{{zz|||{|{|{{{{zz{{|||}{|~~~}}}||}|}|}|}}}|{{|{|||}||{|||||{{{{{{{|{|{{||||z{{zz{z|}{{z|||z{|{{{{z{}{{{}{{|{{z{{zz{{|{{|{{{{{{{zz{{|{{{{||z{z{zz{|{z{|||{{{|z{{{z{|{{{{|{|{{{{z{|z{z{z{{|{{{zz{z{z{{|z{{|{||{{y{{{z{{{{|{{{{zzzz{{{{{|{|||{{|{|y{{{{||{|||{{|{z{{{{|z{{|||{|{{{{{{|{}||{}{}{|{{z{z{{{||{||{zzz{z{{|||{{||{{z{{|{{{|{{{{|{{|{{{{{|{|{{|||{||||{{{|{|}{||{||{{{{{{zz|{{}|||||z{|{z{{|{|}{|||{{{{|{|{|{|||}|||{{||{{{|}|||||}|{||{{z|||}|{||||||{}{{|{|{||{}}{{{{|{{||}|||||{|{{z}||{{||{|{||{|{|z{{{{{||{{|||{|{|{{{|||{{~~~~~|~||}}||}}}}}}}|||{||{{}{||||{|z{{{|{z{{||{{{{{|z{z{{{{{|||{|{|{z{zz|{{{{|{|{{{{{{z{zz{{z{{||{{|{{{yz{z|z{zz||{{z{{{zz{|{z|z|{{{{{{zz{{{{|{{}|{{{zzzzzz{{{{{{{{{{|{zz|z{|||{|{{{{zz{z{{z{{{{}||{{{{z{zz|{|{{{||{|{{|zzz{|{z{z{}{{{|{zzz|{||{|||z{zz{z{z|{{{{{|{|z{{|{{{|{|{||||{{{{{{{{{||{{{{{|{{|{|z||{{{{||{|{|z{z{{{||||||||{{{{{|z|{|}{|||{{{zzz{{{|{}|{{|||z||{{{}||||{|}|{|{|{{{{}{}|}||}|||{{{||}|z|||}|{{|{}||||||{|{{|||{{{{{||{{||}||{|||{{||{{|||||{{{{{|z{}||{|||{|{{{{z{z{{{|{{||{z{{{z{z{{|{{~~~|~}}}}}|||}}}}~}}||{{{{{}|}}{}}||{|{{z{|{|||{{||}z{{|{{{|{||{|||{{{{z{{z{|{{{{|z|{{|{{z{{{|{{}{{{{{{{zz{{zz{{{{|z{y{zz{{z|||{{|{{{z{zzzz{{|{{{{|{{{{z{zz||{z|{||z{{{|z{z{{{|{|{{{{zz{z{{{|{{||{|{z{z{{zz|{{|{|||{z{{{z{z{{|{||||{{|{{{{{{{||||||z||{z{{{|{{{{}|}|{{|{{{z|}{|{|{{|{{{{|z{{|||||||{{|{|{|{||{|{{}{zz{z{{|z{{||}||}{{{z|{{{|{{||}||{{|||{{{{||{|||||{|{}|{|}{||||}{{{}{{|{{|{||{}}}|{|{{|{|{}||||}||{{{{|{{||{||||||{{z||{{{||||||}}|{{{z|{|{||{}}|{{{z{{zz|{||{|||||z|{|{{||||{|||{z|{{{zz}||{|~~~~~~}|}||{|}||}}||}}{{|z||{{|}}||||{{|z{{{{|{||{||{{|{{{z{{z{{{z|{{{z{{z{{z{{zz{||{|{{{{yzz{{{{{{|{z{|{zzz{{z{{y{||{{{zzz{{{z|z||{{{zz{zzz{{{{{|{{|{z{{{zz{z{{{{{||{{{{z{{{z{{|{{|z{zzz{z{{z{{{{||{z{{{y|{zz{{||{}|{{{z{z{{{||{z|||z|{{{{{z|{{{{|{|{{zzz{z{{|{{{{|{{{{||{z{z|{|z|z||{{{|z{z|||z{{{||{{|{{{{{|{{z{|{{{|{{|z{{|||||||z{{{{z{{{{||{|{|||{{{{{{|{|{|z|||z{{{{{{|{{||{|{|{{{||{|||{||}}|||{{z|{|{|||{}}}{|||{{{|}{|||||||{{{|z|||{{{{|||||{{{|{|{{{}|}|{}||{{|{||{|{|{|||||z{|{z{|||||z{{{{{zzz{|{|{{~~~}}~~~}|}|||}|}|}}|||{}{|{{z|{{|{{{||{{{z{{||{||{{|{{{{{z{zz||||z|y{{{{z{|zz{{{z{|||{{|z{z{z{{||z{{{zyz{zzyzzz{{{||{zyzzzyz{{|zz|{|{{zzzy{{{{{|{||{|{{{{z{{zzzz{{z||{y{{zzz{{z{z{z{{z|zz{z{z{{{{z{{{{zz{z{zz{|z{{||{{zzzzzz{z{||{{{|{z{{yzzz{|{{{{||z{{{{zz{z{{{{{||{{{zz{{{z|||{|{zzz|{z|zz{{||||{|{{{z{{z{{|{{{{|||z{{{{{{{|||||||z|{{{{|{{{{||}{||{{{{{{{{||||||{{{{{{{{{||{{{|}{|{{{z|{{||{|{|{|}{{|||z{{|||{}|||{{{{zz{{|||}{|||{z|{z{{|{|{|||||z{{|{|z||||{}|{{||{{{{{z||{{{||{|{{{{{z|{z{{||{|{{z{y{z{{{||~~~~~}}|}||||}||}|}{||z|{|{}{|{{{{|}y{||}{z}||{{{|||{{zz{{z|{||{|||{{{{{z{z{{||z{|{zzzzz{{{{{{{{{|zz{{z{|z{{{{{|{|{{zz{z{zz{{{{{{|{z{{{zzzz|{{z{{||{{z{zzz{z{z{{{|||{z{zz{zz{{{z{||{{zzz{{z{{{{{{z{{{{{z{{zz{{|{{{{{{z{|{{{|{{{{||{|z{z{z{z{{{|{|{|{z{{{{{{{{{{{|||z{{{{y{{{{{{{||||{z{{z{|||{{|{{{{{{zz{zz{||{{|{{{{{|{{|{|{|||{||{|{{{{|z|{|||||||y{{{z{z{||{|{{||z{{{zz||||||||{{z{{|{{{{|z|||{|{z|{{|{{{|||||}}{{{{z{{{}|{||{|}{{z|z{{{{{{||||}|{{|{{{{{}{|||||z|{{{||{{{{{{}||{{|z{{{{{||||{|||{|{zz{z{||||~}~~~~|}{|||}|~}}|||{|{|{{{{||{||z}{{|{|z{{z{{{{{|||{{{zz{{{{{{{{||{{{{z{z{z{{{{{|||||zzz{zz{zz{z{{{z{zz{zz{z{||{{z{{z{{{zzz{{{|{z|{{z{zzzz{z||z|{{|{{{zz{zy{{{{{{{{y{zzz{zz{{{{{{z{z{{z{{{zz|{{z|z{{z{{{{{{z{{|{|{{{{z{{{{{|||{{|{|{{}{{zz{z{{{||||{z{{zz{{|{{||{{|zz{z{z{z{|{|{|{{{zz{{zz{{|||{||{{{z{{|z{{{{z{|||{{{zzzzz|z|{{|}{{{{z{{{|{|{||{||{{{|{z{z{{|||||||{{z{zz{{||{}|||{{{z{{{|||{|||{||{{|{{{{{|||{|||||z|z|{||{|||||}||{z{{{||z{{||{}|{{|{{{{{|{}||{|{{{z{{{z{||{|{|||{{z{{{z{|{{{{{{|{zzz{zz{{{|{~~~}|||{}}|}|}}||~}|z{||{{}{{{|{||{{{|z{z||{{}|||{{z{yzz{{z|{|{|{|{{{{{y{zz{|{{{|||{{z{z{y{{|{{{{{|{z{zz{{{{{|{{{{{|yz{z{{z{z{{{|||z{{z{zz{{|{{zz{|{{|{z{z{||{{{||zz{zzzzzy{{{{|{{{zz{zzzzz|{{z{{|{{z{{|{{{{{|z{|||z{{|z||{|{{|{{{||{{zz{{{|{{{||{|z{{{{|{z{{||{{|||{||{{{z||z{|{{|z{{|{|{|{}|{||||z{|{z{{{||{|||{|{{z|{{{{|||{}|{{{{z{{{{{{|{{||||{{{|{{{|||{{||||{{{{{|{{}}|{|||{{|{z{{y|||||{|}|{{z{{|{{}}||}}||{{||z{||{}||||||{{{z{|{{{|{|{||||{{{{z{|||{|{{}}||{{z{z|||{|{||{z{z|{{{{{{}{{{||{|{{z{{{|||{~~}~}|~}|||}}}}}}|}||}{{||{z|{|||}}||{{||{{{{|||{|||{{{{z{z{{{{{{{{{{{{{{{{{{{{{z||||z{{{z|z{{{{z{{|{zzz{z{z{{||{{||zz{{{{{zz|{z{{}z{{{{{{{{{{|{{{{|{z{{zzzz{{{z|||{z{{{|z{zz{{{{{||{{|zzzz{{|{{{||{{z|zzzz{{{{z{||}{z{{{{{{||||||{|{{|{yz{{{{||{{|}{{|{{{z{|{z|||{|{|{z{{{|||}{{{|{|{{{{{{z{{||||||{{{z{{{{|||{|{{|{{|z{{{z{|}}||{|{|z|{{{|{|||||||{{|{{{z|{|}|||{{|{{|{{{{|{||||||{|{z||{{{||||}|}}z{|{||{||||||||{{{{{{|{|||||||}}|{{{{{{{||{|{||||z{}{|{||||{}||{}{{{z{{{||}|}{|{{{{z{{{||}{{|{||{{{z{|{{|{{|~~~~}|}||}{|}}|}}~}}|}{|||{{}||}|}||{z||z{{{|{|{{{|||{{z{{zz{|||||{{{{{{zzzzz||{z|{|{{{{z{{{{{|{{|{z|{{{{{zz{{|{{{{|{zzz{zz{||{}|{|{|{zzzzz{{{{||{{|{{{zz{{y{{|{{{|{{{{zz|zz||zz|||{{z{|{|z{zz{z{|||{zz{{{zz{z{{{||||z|z|zz{|{|z{||{{zz|{z{{{|{|{|{|z{{{{z{{||{{||{|||{{{{|{{|{||{|{||{z{zz{|{{|{||{|{{{{{{{{{|{||{{{{{{{|{||||||||{{{{{||{{}{{|{|||{{{{{{z{{||{{{}||{{{{{{|{||}||||{{{{{{||{||||||||{{{|{{{|}|{|{|||{||{z{{|{|{|||}|{{{{||{{{||||||||{|||{|||{||||}||zz|{{|{||{||||{{{{z{|{{|||||}{z{{{{{z{z||||~~}~~~~}}}|}}}}}}||}}}}}z{|{{|z|{||{|{|{z|{{{{{{||}{{|}{{{{{z{{|||{{{|}{{{zz{|z{{{{z||{|{{{{{z{|z{|||||{{zzz{{{{{z{|{{{z{zzzz{z{{{|{|}|{{{{y{z{{{|{|{{{|{{{{|zz{||{{|{{{{{{{z{{{{||||{|{{{z{{z{{|{|||||z{{{z{zz|{{|{{|}{|{{zz{z||{{{|||{z|z{{|{{{{|||||{{{z{{{{|{|{|||{|{{{|zz{z{{}{|||{{{{{{{{||{{|{|||{{{{z{{|{{|||{|{{{{|z|{||}|||||{||zzz|z{|{}|}}}{{{||{{{|||||}|{|{{|{{|}{{{{|||}|{||{|||||{|}||{{{|{{|z|{|{}|{||{||}z{{{|{{||||}}|z{{{{|}||||}}}|{{{|{{{|{|||||||||{|{{{{{|||||}{{|{z{z||}|{|{~|{{{{zz{|{||{|~~~~~~~~}}~|}{|}||}}{~}|}|{{||{||{|}{||{|{||{{{{|||||||||||{|||{{||||{|{{|z{y{z{{|{{{|{{|{{{|y{|{{|{|||{{{z{{z|z{||{||z{zzy{z{z{{{{{|{|{zzzz{z{{z||{||{{{z{{{{{|{|{{{{|{{z{yz{{{|z{{{{|{}{zz{|z{{{|{||{z{||{{{{{||{|{{|z{|z{z{{{{{{{|{{|z{{{||||{||||||z{{{{{zz{{{z||}||z|z|{||{|{||||{{{{{{z{{{|{||{|{|{{z{zz{{{{{{|}|{{{zz{{|}|{||}||{{{|{|{{{|{}{}||{{{{|{{|||{}|{}{{{|{{|{{}||{||}}{{{|{{|{}|||||||}{|{||{{z}||{|}||{|{z||||||||}|}|{{{{||{{|{|||||||{{|||{|||||}}||{|{{{z{{||{|||||{{{z{|{{||||{||{z|z{{|{{{|{|~~~~}}~}|}|}}{||}||}|}}{{}}|{|z}||||{|||z|{|zz{{{||||{|||{{{{||||{|{|{|zzz{{z{z{z{{{{{|{{{zz{zz{{{{|{{{z|{zzz{{zz{{z{||{zzzz{{zz{|{{|{{{zz{zzz{zz{|{{}{{{{zz{{z{||z{{||{{{zzz{zz{z{z{{{}{zz{zzy|z{{|{|{|z{{{y{z{{{{{{|{{{{z{z{z{|||{{||{{zxz{{{{{|{{||{z{{z|{z{z{{{|||}|{{{{z{{{{{}|}{|{{{zz|z{|{||{{}{|{z|{zz|{|{{{{{|{{{{{{{|{|{||{{{z|{{|z{{||{{{||}||{{z{|||}{||{}|{{{{{{{{{{||||}|{{{{z{{|||||}}|||{{{|{{||}{}|||||z{{||{{{{{{}}|{{{{z{{{{|{{|||||||{|{{z{z{|||||}|{{z{{|||{{{}{|}|{{{{z{|{z||||||{z|{{{z{{|{{|~~~~~}~|}}||||||~|}|||}|{{{{{{{|{|||||{|{{{{{z{|||{{{|}{|zz{{{z|{{|{|{|{{{{{{{z{{{z{|{{zz{zz|{{|{|{{z|{{{{zz{{{z{{|{|{|z{z{zy{{{{|{|{{{{{z{{{y{{{||{{{{{z{|z{{{z{z{|{|{{{{zzz{z{{{{{|{{{{z{{z{zz{{z{z{|{zz{{{{{z{|{{{{{zzzz|z{{z|{{{||{{{{z{z{{{{z{{|{{z{|{z{{{{||{{z||{zz{|{{{{{{{||{{z{{{zz{{{{||{|}{||z{|{{{{|{|||{{{{{{{{{{{{{|{||||{{{z{||}|{||||}{|{{{|{{}||}{|}{|{{z{{|{|}}||{||{|{{{||||}{{||||||{{{{{{{}|||{}||{|{|{|{|{|||||||zzz{||{{{||{|}}|{|{||{{}||||{}}{{{zz{{|{||{|{||{|{{{|z{|||||{{{|z{|{{{{|{{|{~|~~~~}~~~}}}{}|{||}{}||||{{||{|}|{||}{}|{{|{{{{{{{|{{|{|{{z{z{{z||||{|||z{}z{{{{{{|{{{||{z{z{{{z{||z{{{z{{{z{z{{|z{{{|{|{zz{zz{{|{{{}{{|{z{z{{z{z{|{||{{{{{{{zz{{|{{{{{}z{{{{zzz{{zz{{{{{{z{{z{{{{z{z||||{{{{{{{||{zz|||{{z|{{{z{|{{|{||z{{{{z{z{|{|{{||{zz{{{z{{{|{{}||{{|{{{{{z|{|{}|{z{{z{{{{|||{{{{{{{z|{{{{|{{|{{{{{{{z{||{}{||||{|{{|zz{{{{||||}||{|z|z{y{{||||{||{{{{{z{|||{||}||{{|{|{||||||{|}||{{}{|{||}||||}}|{{{{{|z||||||}||z|{{|||{{||{|}}{{{{{{|{|{z}||z{{|{z{||{{{||||}{||{{|{{{{|{||{||{{{{{{{{|{||{~|~~~~~||~}~|||||||}}||{|}}{|{{{|{|{|{|{|{|{{z{z|{{{|{||{{|{zz{zzz{{{{{|||z{{z{{{zz{{zz{{{{{zzz{{{{{{zz{{zzzz{{{{z{z{z||{{zzzz{{zzz{{{{||{{{zzzy{{{{{z{{{{z{z{zz{{{z{{|z{{{z{zzzz{{{{|{{{{z{zz{z{{{{{{{||{z{z|{z{{y|{{|{||{z{{{zzz{|{{||{|z{{zzz{{||{z|{{{z{zyz{{z{|{|{||{z{z{{z{|{|{{||}|{{zzz{{{|{|{{|}|zz{{{zz{{|{{|{|{|{z{{z{{|{{||||{z{{z{{z{|}{|{{||{{z{{{{z{}||{||||{{{{{{z||{|{|}||{{{z|{|{}{{||{{|{|{||{{{}|{||}|{z||{{{{{|||{||||zz|{z{|||||{}||||{{{|{||{z|||{|z{{zz{{{{{{||||{{{z|z{|{{||{{|}{{{{{{{{z{}{{{~~~~~~~}~~}}}}||{|z{|}|}}|{|{{|||{{||}|{}||{{{{{{z{|{|{{|{||{{z{z{z{{|{{{{||{{{{zzz{|{z{{{{|z{zz|z{|{{{z||{{{{{z{{{{z|zz{|{{{z{zz{yz{z{{||{|zzz{zzz{z||{{|{z{{{zzzz|{{||{||{{z{zz{zzz{zz|{|{{{z{z{zz{{{{{{{{zz{|{{z{{{|{|||{|{{{{zz{{|{{{||{{{{{{{z{{|{{|{|{z{{{{{z{{{{{{|||{{z{{{{{|{|z{|}|{{{{{|{{|||||}{|{z{|{{||{{{{{{{{{{{{|z{||||{||{{{|{{{{{{{||{|||{{{}{{{z{||||||||z{{{z|{|}|||||{{|{{|||{}{{|{|{||{{{{|{{|||||}|}}{{{{{{|||}{|||||z||||||z|||{|}||{{{||{||{|{|||}|{{|{{|{||||||||{{{|{{|z|{||{||{|{{{{{z|{|||{~~~}~~~}~}~}||||||{{}|||||}|{{||||{|{|{|{|||{{{{{{{{{|{{|}z|{zz{{{z{{{{{|z|{zzz{{zzz{{|{|{z{z{z{zzz|{{y{{|{z{{{{z{z|zz|z||{z{zzz{zz{{{{{{{{{yz{z{z{{{|{{{{|{{{zzz{{{z|z{{||{{zzzzzzz{{z{|{{{zz{z{{z{{{|{{|{z{{z{{z{z||{{{||{{{z{z|{|z{{{{||{{{zzzz|{{{z{{|{{zz|{{{{|||z|{{}{yz{{z{|{{||||{{{z{{|z{z{||{|||z{z{{{{{{||{z|{||{{{z}{zz||}{|}||{{|{{{{{||{|||||{{{z|zy{{|{}|}|{|zzz|{{z|{||{||}{|{|{|{{{{{{}|}{|{|{|{{{|}{|||}|}{{|||{|||||}||{|{{{{{{|{|}{|}||}||{||z{|||||{|{{|z{{{{{{|||{|{|{{{|{{z{{z{||{{{|{{z{{z||{{|{~}~~}~~}}}}|}}}|{|}|}|||}~}{{{{{{||{{{||{||{{{{z{|{||||z{{{{{|z{{z{{||{|||{|{{{|zz{{|{|{|{{zz{{{yz{{{z|{{z{zz{{{z|{{{{{{{}{{{{z{{z{|{{{{|{{{{{{{z{{|{{{{{{{z{zzz{{{{|||||{{z{z|z{{z{{{{|{{{{zz{{{{z|{{{||{{{{{|{{z{{{|{{|{|z{{{z{{||{|{{|{{z|z{{{z{|{{}{|{zz{{{z{z{|{||{|||{{z|z{{{{|{|||{{{|{{{z{|}|{{|||{{{{{zz||||{{}{|{||{{|{||{||||}||{|{{z{{|{}{|||}|{{|{{{{|||{||||{z{{|z{{{}}{||||{{|{z|{{{||{{{}|||{|{|{{|}{}}|}}|{|{|{{{|}|||}||{{|{{{{{{||}|||}|{{{{|{{{|||}{||||{{z|{{{||||{|||{z{|{{{||||{||{{{zy{zyz{|{||~~|~~|~}~}~}|}|{|{|||}{||}|}||{{{z{|{|||{{|{|{|{{z{{z||}{{||{{z{{z|z|||{|{|{{z{{z{{zz|{{z{|{{{{{zzz{{|{z{|{{{zz{{{y{{{z{{{{{{z{{z{{{{{{|{{|{zz{z{zz{{{||{{{{z{{{{{zz{{|{|{{{{z{|zzz{{{{{z{{{{z{z{z{{{z||{|{{{z|{z{{z{{{{{{{{{{z{zzz{{{{{||{}{{{{zzz{{|{|z{||z{{{{z{z{{||{|{||{{z{{z{{{||{||{z{|{|{z{{{}|{||{{|z{|{|{|{{{{||||z{z{{z{{|{||}||{z{{{{{{||||{|||{|{|z{y{{|}}|{{||{{{{{|{|}||{{}}{|{{{|{{{}|{|||||{{|{{{{||{||}|||z{|{|{{|{|}|}||z{{{z{z|{{{||||||{{{z{{{||||||{}|{{{{{{{{{{{|||{{{{|z{{z{|{|{|||{{{{z{zz|||{{~}~}~~~}}~~}~}}|||||{}}||}}}|||{{{{|z{|{|{~}||{z{{zzz|{||{|||{{{zyz{{z|{{}{{{|{{{{zz{z{{{z|{|{{z{{{{{z{z{z{{{{{zzzy{z{z{{|{{{|{z{{z{{{{{{{{{{{{z{{{z|z{{{{|{|{{zz{{z{z{||{{{{{{z{{zz{y{|{zz{z{z{|zz{zz{{z{{{{{{zy{z{zz{z{|{{||{{{{z{{zzz|{|||{{z{{|{z{||{{||{{z{{z{{{z{{{z|{|||{{z{y{z{{||{|{||z{{zzzz{{|{{||{|{{{{{z{|||{{{|{{{{{|{{z{|||{||{{{{z{z{|||{{{|||{{{|z|{{|{||||}|{{{{{||{||{{{||||z{{{{z{||||||{}{{{{z|{{|}|}{|||{||{z{{|{||{|{||{{{|{{{{{{||{|||{{|{{z{{{z||{|||{{{zz{{{{|{{|{|||{z|{{z{{}||{{|z{z{zzz{{|{}|{~~~~}}}}~~|}}~}}}}{||}||||}}||}||{{||{{{{|{|}|{|{{{{z{{{|||{z{||{zz{||z{||z{||{{{{z{{{z{{{z{||{{{{yzzz{z{{z{{{|{z{yz{zzz{{{z{|{|z{{z{{y{|||z{{{{z{{z|z|{{z|{{|||z{{z{z{{{{{{{|{{z{{{yzzz{{zz|z{{|zz{{zzzz{{{|{zzzz{z{zzz{z{{z{{z{|{zzz{{{}z|{|||{{zz{{{{{{|||{|z{{{{z|{{{|{|{z|{{{{{z{{z|{{{{{{{|{|{z{{{||{|||{{{{{{zzz{{{z||{{{{{||{{{|{|}{|{{{{zz|{{{{||||{|||z{{{z{{{||||||{|zz||{{{||{{||}{{|{z|{||{{|}||||{|{{{|{{{{|}}{||{{|{z{{{|||}|||||z{{|{{|||{{}{|{|{{|{z{|z{}{{|}{|z|z{z|{{|{|z{||{{{{{{z{||||{{|{{{|{{z{{z||{{~~|~}}|}}~}||~~{}|||{|{|}}}}||}{{{|||{z|||{||{|||{{{|{{z|||{|}||{{{{z{{{{{{{{||{{{z{{{z{|{z{{{{{{{zz{z{{|||{{{{zzz{zzz{{z{||{|{zz{zzz{z{||||{{{{{{{z{z{{{{|||{{{{{{z{z{z{{{z||{zzz{{z{{z{zzy{|{{z{zz|{{{{z|{|{{{{{{z{{zz{{z{{{{{{{z{{{{||{{{|{||{z{{{z{|{|{{|z||{z{z{zz{|{|{{|||{||{z{{{||{|{|{|z{{{z{z{{{{|{}{{|{{{{{{||{|z|||||{z{{{|z{{|{|{{{z{||||{|{|||{|}|{{z|z{{||||{||{{z{{{{{{{}|||}||{{|{{||z{|{||||{}|{{|{{{{||}|}}||{|{{{{||{||{{}||{{||{{{|{{||}}}{{|{{|{z{{|||}|}{{{{{{{{{{|||||{||{z{{{z|}||{{|{|{z{|{zz{|{{{~~}~~}}||}}~|}}}{|{{}||}}||}}|||{{{{z{|}|{{|||||{{z{{{{{|{||{|{{{{{{z{{{{|{{{|{{{|{{z{{{{|{|{{{{{{{z{z{{||z{{{z{zzzzz{z{{{|{zz{{{{{{zzzzz{||||z{{zz{{zzz{|{|{||{|{{z{{z|{{||{|{{zzz{zzz{{zzz||{z{zzz{z{{|z{{{||{z{{{zz{{{{{{}|{{z{{{{{zz|{{{|||{zz{z{{{|{{{{{{|z{|z{{zz{{|{|||{||zz{z{y{|z}{{{{|{|zzz{{|||{{|}{zz{z{{{z|||{z||{{|{{{{{z{|}|{}|{z{{{|{{z||{|||||{{|{|{{{||||||}|{{z{{{||}{||}|||||{|z|{{||{}{||{|||{{||{{||{{|{||z|~{{{|{||{|||{{|{||{z|||{{}}||}{|||{{|{{{|{|||{{{{{{{{{||||||{{|{|{y{||||||||{|{|{{z{{{z|{{~~~}}}}}}}}~}|}}~|||z{{{||||{||||||{{{z{{{{z{||||{y||{z{|{{{{{{{|{{z{{{{z{|{||{{|zz{zzz{z{{|{{||{{{{y{z{z{z|{||z{zyz{y{zz{zz{z{|{{z{z{{z{{|{{{{|{{zz{z{y{{{|{{{z{z{{z{{zzz{{{{{{{{yyzzyzz{{{{{z{{z{zzz{{{z{{{{|{|{zz{z{z{|{{{{{||{zzz{{z{{{{{{|{|{z{{zyz{{{z{{{{{zz{zz{z{{{z{|||||{{{z{zz{}{{{|{{{{{{{{{z|||{{z{z{{z{{|z{{||z{|||{{{{{{{{||{{||||{{z{z{{{}|{||{|{||{{{{z{|{|{{{}{|{{{{{{{{}{|{|||{{|{||{||{||{||||{{{{{{{|}||}|{|||z{{{{||z|{{||{|{{{|{z{|{{{{|||||{z{|z|{{{{|||}{z{z{{{z{|{|{||||{z{{{{{||{|{|||{{|{{zz{|{{{{~~}~~|}}}}~~|}}~}}|}||{z{{||}}}|~||{{||{{|{|{||{{{||{y{{|{|{|{}|{{z{{zzzz{{||{{{|{|{zz{z{z{{{{{{z{z|zzz{z{{{{{{{{{zzzzzzz{{{{{z{|zz{zzz{{zz{{{{|zzz{{{{z{{{{{{{{z{{{zzzzz|{z|{|{z{z{z{zzzz{{{z{{|z{zz{zzz{z{{|{{{{z{{{z{y{{{{{{{{|zz{|z{{{|{{{{{|zzz{{y{{zy{|{{{|{zz{z{zz{|{{|{{|z|{z{{|{{|{{{{|{{z{{z{zz{{{{|||||{{|z{|{}|{|{||z|{{|{z{{{|||||{|{{{{|{{z|||{{|||{{{|{{|z{||{||{||z{{|{{{{|{||{{|{{{|z{{{||{||||||{|z{{||{|}||||{{|{|{{|{|z|||{}||{|{{{{{{{{|{|||{|{z{{{{{||}}|{|{{{z{{{{{|{||{{|{{{{{|{{{}{|{|||{{{{{z{z||{{|~~~~}|}}|||}}}}}~~}}|{|}z|{|{|{||}|||}zz{|{{{{{{{|||{{{z{{|z||{{||{{zzzzz{y||{{{{{{z{{zzz{zz{{|z{{z{z|zz{zz{{{zz|{{{{zyz{zz||||{{||{z{zzz{z{{{{|{{z{z{{{{{zz{|{{|{||z{{zzz{{{{|{{{{{zzz{yzzzz{z|{{{z{{{{{zzz{z|{{{{zz{{zz{zz{{{{||{{z{zz{z{{{|{||{}|z{{zzz{|||{{|{|{{{zzz{z{|{||{|{|{{zzz{{z|||{|{|z{{{{{{{{{{|{{|z{{{{{{{{{|{{{{|{|{{|{z|{|{||||}{z|zz{{{{{||{}||}{||{{{z{{|||}|}{{z{{z{{{|{}{|||}z{|{{{{{|||{|{|{|z{{{{{{{||{|||}{{{|{{{|||{|||{|||{{{{z{{|{|||}|}|{|{{{|||||||}||{{{z{{{|{z|{|{||{z|{{{{||||||{|{{|{{zzz{{|{{~}}~}}|~|}~}}~}}|}{|}{{|||||}|~|}~{{{|{{|{|{{|{|{||{|{z{{{z}||{{|{{{z{{zz{{{{{{{{zz{{|{{z{{{{z{}|zzzz{z{{{z|{{{|{zz{z{zz{{{{{|{z|zz{{{{{z|{||{{{z{yz{{zz{{{|{{{|{{{|yz{{z{z|{||{|{{|z{zzyz{|{{{{{{z|z{zzz{{{z{|{{{{|{z{zzz{|{{{{{{z{{{{{z{|{||{||{z{{{z{{{{{|{{||{{z{{{{{||||{|||{{|{{z{zz|{{|||{|{{|{{{z||{{{{|{{{z{|{{{{{{{{|}|{{{{{|{{{{|||||}{{z}{{{{}{||||{}|{|z{{zz|{||}{{|{{{{{{z||}|{||||{{{{{{|{}{{|||||{z{|{{{|{}|{|||||{{|z{|||||||}|{{z{{{{{{{{|||{||}z{{{{z{{||{||{||{zzz{{{{|{|{||}{{{{z{{{||{{|||{||{{|{{z{{|{{~~~}~}~}|{}~}}}}}~}}||{|||||{|}|}|||{{|{{{{{||}}|{{{{{{{z{|{{|{{||{{{|z{{z|{{|{|{{{{{z{z{{{{{{{{||{z{z{{{z{z{z{{{{{z{{z|zz{z|{{|{{|{{z{z{{z{{|{|{{{zz{zzy{{{{{{{{|z{{zzz{zz{|{|{{z{|z{zz{zz||zz{{|{|{zzzzz{|{||||{{{z{{{z{|||{{{|{{{{zz{{{{|{{{{|{{z{{zz{{{{{|{{{{{{{z{{{y{{|{||{|{z{zzz{{{|{|{|||{{{{{z{{{|{{{{|{|{|{z{zz{|{{|||{{{z{{{zz||||{|{|z{{{z|{{{|{|}{||{z||{{{{{||||||{{{{{|{{{|||{|||{{z{|{{||{}||{}{|||{{z|{{{|{}|{|||{{||{{z{|{||||||z{{{zz{{{||||||}z{|{z{{{|{|}|||{{{z|{{z{|{{||{||{||{{{{{{{}{{||{{{{{zzz|||z|~|~|~}}|}}}}~}|}}||{{||{||}}z{}|~{{|{{|{z||{{|||||{{z{{z{{||{|}|{|{{{{{{z|||z{|{|z{{zz{{{{|||{{|{{{{{z{zzz{|z{|{{{{zz{{zzz{{{z||{zz|z|z{{{z{{|{|{{{{zzzz{|{|{{{{{{{{{{zz{z{z|{||{{zz{{z{z{{{{{{|{|{zz{z{{{|{{{}{|{{{{{|zz{{||{|{|{zzz{{|{{{|{{z||z{{z{|zz{{{{}||}z{{{zz{{{{{||{|{{{{{{{z{|{|{{||{{z{z{{{{|||{||||{z{||{{{{||{{|{{|z|z{{{{|{||||{|{{{{{z||{|||{|}|{{||{{{|}|||{}|||{{{{{}|}|||{|}}||{{|{|||||||||}||{{{|{{{}}{|{}||z||{{|{|||}||||}{{{|{|{|{|||||||{|{|{z{||{|{|}||{{z{{{z|z{{{{{|{|z{z{zz{|{{{{}|{{|z{{z{{{|{|~~~~}}~}}||}}}}|}||}|||{|}}|||~|||}|{{{{{|{{{|{{||||{{||zz{|{||||}|{|{{{{zz||{{||{}{{{zz{{z{|{z{{{{{z{{z{zz{{{{{{z{|{{{{{z{{{{z||{{{{{z{{zz{{{{||{|{{{z{zz{{{{{||{{|{yzz{{{|zz||{{|{zz{yzz{{{{z{z{||{{z{{{z{|{|z||{{z{{{{{z{{{{{{|{{|{{{{z{{{||{|{|{|{zz|{{{{{|{{||{zzz{{{{{|{|||}|{|{{{z{{{|||{||{{|{{{{{{{{{{{{||{{{z|{{{{{||{{{{{{{{z{{|{|||||||{}{z{{||{{{||}||{{{{|z|z{{}|{{||{{|{|{|{|}|||||}|||{{{||{|||}}|}|{{{|{{{{}||}|}|||||{{|{||}{||}||z{{|{|{{||{}||}|{{{|{{||||||||}|{{z|{{|{{{}{|}|}|zz{{z{|}{|||||{|{{|zz{}||{|}~~~}|{||||||~{}}|}}||{{{{{|||{|}|}|||{{{{z|z{{||{|{{{z{{z|{{|{{{{z{z{zz{{z|{|{||{|{z|yz{{z{|{z{{{|{{zzzz{z{{}{{{|{{{{zy{z{|{{|{{{{z{{{zzzzz{{z{z{{|z|{zz|{{|{zz{{{{z{{z{z{z|{|{||{{{{{{zz{{{|{{{{{{|{zzz{z{||z||{z{zz{zz|{{z{{{{}z{{zzzz{z{{{z{{||z|zz{zzz|{|{|{{{|{z{z{z{{{{{{|||{z{z{z{{{{|{{{{||{{{{|{{{|{||{}{{{{{|{z{{{{|{{{{|{{{z|z{{|{z{|||{{|z{{z||{{}||||{z{{{z{z{{||{||}{zz{{z|{||{{|}|||||{{{|{{||{{|{|{{{z{{|{|}{}{||||{{{{{|{|||{|{|||{{{zz{{|z|{||||z{||{{{||{|{|}||||{{z{{z{{{||||||z{{{z{{{|||{|{{{z|{z{{z{{||{~|}}||}|}|}}}}}~}|}||{{|{{z|||||{{{|{z{{z{{{{{{{||||{{z|{z{{{||{||}|zz{zzzzz{||{|{{{zyz{{{z{|{{|{|zz{{z{zzz|z{z{{{{{zzz{z{z{{{z|{|{zzz{{z{zzz{{z{|{{{{zzzzz{{{{{{{{{{{z{z{z{{}|{{{|{{{{{zz{z|z{{{{{{{zz{zzz{{{z{{{{{{{{z{{y|{{{{{||{{{z{z{z{|{z{{|{{z{{{z{{zz{{|z{|{z{{{y{z{{|{{{{|z{z{zzz{{|z{||{|zzzzz{zz|{|{{{{{{{{{{{{z{{|{{{z|{{{{{{z{|{|||||}|{{{{z|{|{z|z|{}{{{{y{z{{|{|{{||{z{{{zz{{|{{}||{|z{{{z{{|{|{}}||{z{{{{{{{|{{||}|{{|{{{{||||{{|{|{{{{|{|{{{{|{|||{{z{{|{y|{{||{|}{|{{||z|{{|||{|{{y{{{{zz{|{|{{|{{{{zzz{z||{{|}}}|~|||}||||}}||}|{|{|{{|{|||{}||}|zzz{{{{{{||||{|{z|{zy{z{|||{{||{{z{z{{z{z{|{{z{{{{zz{{z{{{{{|z{{{{zzzzz{{{{z{{zzz{zz{yz{z{{{{{{{{zy{{zz{{zz||{{{zzzzzz{{{|{{{|{{{z{{zzz{{{|{{{{{zz{zz{zz{{zz{|zz{{{zz{{z{{{{{{zzzzzz{{z{z{|{{{z{{{{{yz{||z{{{|}zzzzz{{{{{{|{{{{z{{zz{zz|{{z||{{{|{z{z{z{||z{{{{zz|z{{zy||{{{||{|{{{z{{{{||{z{{|{{{z{zzz{||||{||z{{z{z{z|z|{|{||{{{{{|{{|{}{||||zz|{{{{{|||{||||z{{{{{|{z|{||||||{{zz|{{|||{||||{|{{|z{{|{}{|z}{|{{{{{{{{||{{||{{{z{{{{{|{{|z{}|||y{{{{{{{|{||||zzz{z{{z{|{{|{|{{zzzz{{z{||{{}}}}}|}|}||}}~{||}||{|{|{|{||||||||{|{z{|{{{z{{{{}||{{z{zz|{|{{{{{{{zzz{z{z{{z{{|{|{z{z{z{z{{|{z||{{{|{zz{z{{|{|{{{{zzzzz{|{{z}z{{{zzzzzzzzz{{{{|{z{{z{y{z{{{}z{|{{zz|{{{z{z|{{{{|{{{zz{zzyz|{z{|{{z{zz{zzyz{{{{|{|{z{{z|{z{{{{{{||{{zz{z{{{{{{z|{{zz{z{z{{{|{{{||||zzz{{{z|z{z{||{{{{||zz{{||||{{{{{{z{{{{{{{{{{|{{{{{z{{{|||{{|{|{{zzzz{z{{}{|{||{{{|{z|{|||{|||{|{{{z{{{{z{{}z|||z|{z{{{||||||||zz{z{{{{|||{{||}|{{{{||{{|z|}|||||{|{{z{|{|{|||||{{{{z{z{||}|||||{{{||z{||||||||{z|{z{z|{|{|{{|||{z{zz{{{|{{z|{|{{{{{z{{y{{{{|}}|{}}}||||~|}||}}{{{{{||z{|{{||{{{{zz{{zz{z{{{||{{{{{{zz{{z{{{z{z{zzzzzzz{{|{{{|{{zzzzzz{{{zzz|zz{zzzz{zy{z|{{{zz{{yz{{zz{{z{{z{{yzzzzzzz{{{z{{z{zzzzzzyy{z{{{{{{{z{zy{zyzz{zz{|z{zzzzyzzz{yz{{{zz{zzzzyz{{zz{{{{zzz{z{zzz{zzz{}{{z{zzyzzz{z{z{{{{zzz{yzz{{z{{{z{zzzzzzz{z{|z{{{|{zz{zz{z{{{|{{z{z{{z{{{z{|{{z{{z{zz{{z{z{{{{{{{zz{{{{{{{{{{|{|||{{z{{{{{{{{|||||{{{{{{{{{{|{z||{|z{z{{z{{|z{{{||{{z{y{{{|{|||||{{z{z{zz{{|z{{|{||{{{zzzz{{|{{{{|{{z{z{{{{{z|{|{{|{{{{|z{{{{||{{|z{{z|zz{z{z|{||{|{z{z{{z{|z{{z{{{{z{zz{z{{{{z}|}||{|||{{||||{{||{{{{{{|{||{{||}}|zz{yz{{{{{||{{{|{{z|{zz{{||z{{{{{z{{y{z{|{{{{{|z{zzzy{y{{zzy{{{{z{{zzzz{{|z{{|{yyzy{{{yzzzz{{|{zzzyzzzy{{{zz{{zzzzzzzz{z{z{{z{{y{zzyy{z{y{{{zz{{yy{zzzz{z{z{z{zzzzzz{zzzz{z{{{{{z{z{{yz{z{z{{{{yzzyzzz{zz{{{{|{zzzzzz{z{y{{z{{zzzzyz{{z{{{{{{{{z{z{zz{z{{{{z{{|z{z{zzyz||{|{{{{{z{{z{{{{{{{{||{{z{{z{{z{||{|{{{z|zz{{{zz{{|{||z{zz|{zzz{|{{|{|{{z{zzz{{||{z|{||{z{{{{{{{{{{||{{|{{{z{z{{}{{||||{{z{zzzz{{{|{||{{{z{z|z{{{z{{|{{{{{z{{z{|{{||{||z{{zz{{{z{{|{|z{{{{zzz{z{{{|{{{{zzyyz{|z{{{{{}|}}}||}|||}||||||||||||{|{|{||{|}}|{{{z|{z|{|{{||{{{{{{{{{{{|{{|{|{|zzz{{{{{{|{{{{|{|z|zzz{{{{||{|{{{{zzyyz{{{||{z{{zzzz{z|z{||}{{{z{z{z{zz|z{z{{||zz{zyzz{{{{{{|{{z{zzy{|z|{{{z|{z{{zzzz{z{{{z{|{{{{zzz{z{{{{{{|{{zzzzzzz{{z|{{|{{zzzzzz{z{{{{{||{{zz{z{{{{|{|{|||z{zzz{z{{|{|z{||z{{{{{{|||{{||{{{{{{{zz|{|{|||{{|z{{{z{{}|{{||{{z{{{{{|{|{{|{{{{{{{{|{{|{{|{{||{{{{{{{{||||||}{|z{z|zz{||{{{||}||{{{{{{{{{{|||||{{{{||{|}|||||||{{{z{{{||{|{||||{{{|{{{{{|{|||}{{|{{z{{|{{|{|}|{{|{{{|z|{|||||||{z{{{{{{{|{{{{{|{{{zz{z{{|{{}{|}||{|||||}}|||||||||z{{{||||||}|{{zz||{{{{{||{|||{{{{z{|zz{{{{|{|{{z{z{z{|{{{||z{{{{zz{z{{|{{|{z{{|z{{{z|||{{}|{{{{zz{y{{z|{|{{{{{z{{{z{{{z{|{{z{{{zzzz{{{|{{{||{{zz{zzz||{|{|{|{{z{{{{zzz{{{{|||{{z{zzzz{{{{{{|{z{z{|zz{|{{z{|z{z{z{{{zz{|{{{||{z|yzz{z{||{||{zz{{{{{zz|{{z|{||z{{{{z{{{{|{{|{{z|{z|{z{{{|{{{||{{||{{{{{{{{{{||{{{{{{{{|z}}|{{{zz{{{|{{{{|{||||{{{zz{z{{{|{{{||{z{{{{|{||||{{{|{{{z{{|||||{||||{{{{{{{|{|{{}}}{|{{|{{{{}}{|||||{{{{|{z{{||||||||{|{{|{{{||}{{{}{zzz{{{{||||{||||zz{z{{{{{{{{{|{z{{{{zz{{{|{{}}|||z{}}}||}||}|}||zz{|{{{|}|||}||{{zzz{|{{{{|{{|||zz{{{z{{{||{{}{{{{zyzz{|{{{||{{{zzz{z{z{{{z{{{|{{{zz{{{{z||{{{z|{{zzzz{{{{{{{z|{zz||z{z|z{|{|{{{{{{zzzzz||{|{|{z{{{zz{z{{{|{|{{z{{z{y{zz{{z{|{zzz{z{z{zzz{zz{{{{z{{{{z{{{{{{||{{{{z{{{z{{{{|{{{z{|z{z{{{{{{{{{|zz{yzz{{||{z{{{|{z{{{z{{{|{{{|{{{z{{{zzz{{|{|||z{{z{{{{|{|{|{{||{|{{{|z{|||||{{{{|{{{{z{{||||||}{Fq:#$az{{{z|z}|{||}}~{{||{|{||{{{||}|{{||||{z{{{||||||{{{{{z{{{z{z||{{|{{{z{{||{{|{|{{zz{{{{z{|{|{|{|{{{{{{z{y{{{|{|{|{{zz{{{{{{{{|{|zz|z{{{z{{{zz|{z{{|z{{zz|{{{|{{|yz}{z{{{{{|{||{|{{{z{{z{z||z{|{|zz{z|{z{z{z{{}|{z{zz{zzz{{{||{|{{zz|{y|{{||z||||z{|z{z{{|{{{{z|{{z{zz{z|||{|{||}{{{{|{|{|}z{{|||{{{|{|{|{{|||{}|}z||{{{|||||||||{|{|{{z{{{}|}}|z|{{{{{z{}{|}}~}}|{z|{||{{|||}||{{|{|{{{|z}{}||{}|||{{}|||}||}}|||z{{{}{z{}|}}|}||{||{||z|}|}||{}||z{|{|{{{|||||}|{||{|z|}}|z||||{||{{{|{|||||||{||z|z{{z|||{z}{{{{|{{zz|||{|{}{||{{zz||{{||{|{|}|{|||{z|||}{}||}}{{{{{{{|{{||||}|{|||{{|{|||||{|{|{{{{{{{||{||||z{y{{|{{{{{{||}{{|{zz{{{{{|{}{|{|{|{{{|z{z{}||{|{{{{{z{z{|{|{{{{{z{zz{y|z{||{|{{{{{zz{|zz{|{{{|{|zzz|{{y{{{|z|{{|{|{zz{{{|{{||{||{{z{{z{{{||{|}||z{zz{{|{||{{{{{zz{z{z{||{||||}|{{{|z{{z|{|{}{{{{{|{||zz{||}|||||{|{{{{{{|{{}{}{{{{{{{{{||{|{||||{|{{|{{|{}}|{||{{{|{{|{|{|||}||{|{{{|{{{{}||||}|{|{{{|z||||||||||{{{{||||}|}}}|{{|{}{|{|}}||}{||{||{{|{||{||}}}{{{{|zz{}{||}|~}}{{{}{|||||||{|||||z|{{|{|||||||{||{{{{{|||{{z||{{{zz{z{{|||{|||{{{z|{{|{}|||||||{|{|{{{{|||||{|||{{{{{{{|{{||}||{{{{{|{|{}{{{||{{|{{{|{|||||{{|{}{{{{{{||{{|||{{{|zzz{z|{||{||{|{{zz{z{{{{||{{{{{z{{{zz{{|{{{|{{|{z{{z{{{{|{||{{{{{zz{|{{{{||||{{{{zzz{{{{{{|{{||{{{{{z{{{{zz|}{z{{{zzz{|||{||}}|z{{z{{{||{{{||{|{{z{{{{{|{|{|{{{zz{|{{|{|{||{||{|z||{|{{{{|||{|z{{{{{{{||{|{|{{{z|{{{{|{|z|{||{{|{|{||}{||{}}}|||||z{||{|||{||{{||{{|{|||{||||{{|{||{{|}|{}{}}{|{|{{{||||{||~||{{|{|||||||}|}|}{{||{{{}}{||||}|{{{{{||{{||||{}{|||||{||{}|{}|~|||{{{|{||{|||}|||{{{z|{|}{|{||{{|{{{z|z{{||{|||{}|{|{|{|}||{}{}{{|{||{{||}{|}|}{{{{|{{||{{{{{}|||z{{{{{{{|||{||{{{z{{{z|||{|{}||{|{{{|{y|{z|}{||{{{{{{{|{}|{||{{{{{{{zz{{{{{{{}{{{z{{z{z{{{||||z{{{z|zz||{||||||{zzz{z{|{z|{|{{{zzz{z{z{{{zz||{|{{z|{{z||{{|{|{{{{{{|{zz{{||{||{{{||{{{{|{{|{|{{{||{z|{|{{|{{||zz{{z{{{{{}|||||||{z{{{{{||||||{zz{{{{{z|{||{|}{|{{{|zz{|||}|{|||{z|||{{||||||||{{{{{{{{||{|{|{}|zz{{{{|{}|||||||{{{|{{{|}||}||{||{{{||||||||{}|}z{{{}||{}|||{}||{{{|{{|{||||||||z||||{{{||}}{|||{{||}{|||{|{||}|{{{{z{|{|{}|||}||{{{z{|{|{|{{{|{{{{||{{{{{|||{}}|z|{{|z|}||}{}}{|||z{{{||||}|}||{{{{{z{||{{{||}|{{{{{{{|{{{{{|}|{|{{{{{{{||||{|{{{{z{z{{|{{{{|{|{{|{z|z{{{{{||{{{{{{||{{{{{{{||{{z{|{z{{||{z{|{}{z{y{{{{||{{||{{{{{{z{{{{{||z{|{zzz{z{{{{{{||{|z|{{z{{{z{{z{|{{{{{{{{|{{{|{||{}{{{{{{{{{||{{{|}{{|{{z{{|{|{{{{|z}{{{z{{{|{{|{{||{{{|zzz{||{||{|}{{{z{z{|||||||}{{||}|{}||{||}|{{|{{{|{{|{|}|||}{{||||||{||||||||{|{{{{{{}|||}|||{{{|{{|{|}|}|}}{{{{|}{|||}|}||}||}|||z||}}}}}|}}|||{{{|}}}|||}}|{{{{{{{|||||}}}{{{|||{{}z{}|{|||{{{{||{||{||}|||{|{{{||{}{|{||{{{{{{{{z{{|||{|||{{{{z|z|{|}|{}|||||{{{||||||{||{z|{{|{y||{{|||}|z|z{{{{{{{}{{|||z{zz{z{{{|||||}z{|z{{{zz{|{{||{{z{{zz{|{{|z|||{{{yzz{|z{|{zz{{|{zz{zzz{{{{{||{|{z{z{{{{{{{{{{{{{{{{{zz{{{{{{|||z{{z{z|zz{{{{{{{z{zz{{{{{{|z{||{z{|{z{{z{{{|{{||{{zz|{{{|{||{|{|{{{{z{{{|{|z{|{|{z|{|z{z|||}|{{||{||{z||{{||{|{|{z{{{{|{|{|{||{|{z{|{{|{z}||z||{{{{{|{{{{|{||{|z{|{z|{|z||{|{||||{|{|z|{|||||}{|{{|{|{|{||{|||}||{|{|{|{|||}{|{}|z}{{z{{|}}{|}|||||{{{|||}||||||||{{|{{||}||||}||{|||{|{{|z||||{|{|{z{{{{|{{{|||||z{z{{|{|{{|}z{|{zzz{|{{|z|}{{|{|{z{{{{|}}|{{{|{{{z{z{{}|}||||||{z{{{{{|}{||{|{|{|{z|{z|{|{z{|{{{{{z|z{z{}{|{||z{zz{{zzz{||{||{{{{{z{z{{{|{||{{{z{zz{{{{{z{{{{|zz{z{zzz{{|z||{{{{zzzzyz||{||{}|zz{{z{z{z|{||||{z{{z{zz{z{|{{{{{|{zz{zzz{{{zz|z{{{{z||{z{|{{{}|{|zy{{z{||{{|{z||{{z{|{|{|{{{|||}z{|zz|{{{{{|{|{|{||z{zzz{{{{{|{{{{{{{{{zz{||{||||{{}{{{{|||||{||{||{{{|{||||{||}{|{{{{{{{||||}|||{{||{{{||}||||||{}{|{{z|||{||}|{z{{|{||{|||||||||{|{|{|||||{{||||{|{{{{|{||{||{|z{|}{|{||{||{|}{{{{|||||||||}||{{{|{{{|{|{|{{||z|{{{z{|{}{||{||{{z{zyz{{|||{~||{|{|{||||{}||~}||{{|{{z|{|}|}|}|{{{{z|{{|{{||{{|{|{{{{z{|||||{|||{{z{{|z|z||||{}|y{{z{{{|{{{{||||{{{zzzz{|{{{|||{{{z{{z{{{{|z{||zz{{z{{{{{{{|{|||{z{{zy{|{|||||{{{z{z{zz{z{z{}|{zz{z{{{{{|{|{}||||z{{{{zz{{|{{||{{{|{{z{{{||{||}{{{z{{{{z|{{{{{||{|{{z{{{{||||||z{{|{{{{{{|{{|{}{{{z{{{|{{|{||{zzz{{{z|{z{{|{||||{{{zz{{z|}{|{z|{{z||{{{{}{|{|{}|{{z{{|{|}|{{||}|{{{z{{}|}||{}||{|{{|{{{|}|{|||}{{{{{|}|{}{|||||}|||||{|{|}||{|||{|{|{||||||||}}|{|{|{{{}{{}||}|{||{{|{{||||||}|}|{{|{{{||||||||||z||{{{{|||{|||{{{{{zzzz|{}{}|}||}{|{{||}}|{{|}|{{||{|{}||}|||}}|||{||{|||||}||||{{{z{||{{||{||{{|{z{{z|||{|{{|{{{{|{{z{{|}{}|||z|{{{|{{|||||z|||{{{{z{{|{{{{z|{{{{z{{z{{|||||||{{z{{{{z{{{|||{{{{{zzz{{}}{|||{{|{{{z{{{{|{{{{{z|z{{z{{{|{{{{|}{z{z|{zy{{{|||||{{{{{{z{|||{{{|||{z{{{|zz||{||||{{||{|{{||}{|{|}z||{{{}{{|}|{|||{{{{|{{z}}||{||}|z{{{{{}}{|{||{||{|{{|{{|}|}}||}|{|{|{|||||}|}}}||{||z|{|||}||||{y||{|{||||}}|}}|||||||||||}|}||||||{|||}|}|||}|||{|{{||}}{}}}|}|{{{|||||}}}|}|}|{|{|y{||}|}|}}}||{||{||{{}{||||||{{{|{z{}||}{|||{{z{{{{|||||}|}{{|{{|{{{|||||}}}||{{|{||{}|||||||z{{{{{{||||{}||||{{{{|z|}{||}}||{z{{|y{|{|||{|{{{{{{{z||||||{||z{{{{{|{{||{|||{|{zz{{z{|{{{{|{{z{z{zz|{{{{|{}{{z{{z{z|{||{|||{{z{{z{z{{|{|{{||{{{{{|{{z{{{{||{z{|{{zz{{{|{{|{|{{{{{{z|{{{|z{||{{{{{z{z{||z|{|||{{{{{{{{{||||{{|{{zz{{z{|||||||}{|{|{{z{{{||||{{{||{{z{{|}}|||{{||{{|{{{}{|{||||{|{|{z{{||{{|}|{||{{z{{{||}{|||{{{|{y{}||{}||}||{|{||{{|||}}||~||||{|{||}}}}||||{{|{|{{|}~||}||||{{{{{{||}}||}||y{{{|{||||{}||}|{|{|{{|||}|{|}|||{{{{{{||||{}{{|{{|{||{|{}|{|{||{{zz{{{|||||}|}{||{|}}|{|}{|||}|||{|{{{{||}|||||{|z|||{||{||}|}{{|||{{{{|||{||{}{|z{zzzz|{|||||{|{{{{z{{|{{{{||{|{{{{{|||{{|{{{yz{|{|{z{{{|{{{|{zz{{{{z{{{{{|{|{z{{||{{|||{{||{z{{{{z{zz||{{|{}y{{z{y{y{{{z{{{|{{{{{{{{{{||{|{|{{z}{|{z|{{||||{{|{{{z{{|||||}|}{{{{{z{||{||||||zz{|zz{{|||{{|||||{{{{{z{{}{}|{{{{{{{{|{|||z}{}|||z{|z{{{||{{{|}{{{|{z{{{|||}}}|{{{{{||z|{{|||||||{{{{{{{||||{}||{{{|{||}}||{||}{{||||||}}}}|}}}|}{{|||||}|||{|||{||{{|}|}{|{||||z{z||{{|{{|}|~||{z||{{|{|}}|||}|{||{{|{}|||{||||{{z{{{||}|||}|{|{{z{zzz{{}{{||}{}{z|{|{{}|}||||{{{|{{{||}|z|}|{{||{{{|{|{{|{|~{{{{{{{{{{|||{|||{|{{{{z{{{|z{{||{{|z{zz{|{{{z||{{{{z{{{z{{|{{|{|{z|z{{{{{z{{z||{{{{z{y{{z{{{{{}{{z{zzzyzz|zz||{{{{{{z|{z{{z{{{{{{z{{z{zz{|{z{{{{|{z{zz{z|{{{{|{{z{{{{|zz||z{zz|}{{{z{{z{{|{|||{|{{{zzz||{|{{{|{{{{{z{{{z|||{{{|{|||zzz|zz{|||||||{{|{{{{z|{|{|{|{z|{{{{{{|{{{{{{{|zz{{{{{|{|{|||{{{|{{z{|{||||||{{{{{|{{|||{}||||{{|zz{{|||{||||{|{{|||{z|{|||{{{{|{||{{|}{|||}||{|||{|z||{|||}}|{{{zz|z|{|{}|}|{|z|{{{{||{}||||{{|z{|{|{}|{|{|||{{|{{{z{|||z{{{|{{{|zzz||{|||}}|}}|||{{||{}}|{|{{{||||{|{}||||||{{z{|zz|{|||||||{|zzy{{||||{||{|{|z{{{z{{||{||}zz|z{{zz{{||{{|{{z|z{zzz{{{{z{{zz{zzzzz{{|z{{{{{z{zz{yz{{|{{|||{{{zzz{z{{zz|{{|{{zzzyz{{|{{z|{z{{{{{zzzz{|{{{{||{{{zz{{z{{{{{|{{zzzz{{{z{{|{{{|{{{{z{{||{||{||z|{{{zzz{z{{||{{||{{{{|{|{|||{{|{|{{{z{z{{{|{|||{z{{zz{{z{||{{|{||{{z{||{{|{|}||{|{||||{{|{||||||}{{}{{{|{{|||{|||z{{{z|{}{|{{|{|{{{{{{{|{|{}{|||{{{|{{z|{|||{|}||}{z|{|{||{|}|{||}{|{{{|{{{|{||~{|{|{|{{{{z||||||}||{|{{{}{|{||}|{|{{{{{{{}||{||{{{z{|{{z{{{|{{|{z|zz{{{y||{z{|}|}||||||z|||~{}|||{{{}{{{|}||}||}||{{{|z{||{{{}|{{{zz|z{|{{|{{{{||{yz{zzz{{|{{}|||{{|zz{z{{|z{||||z{zzzzz||z{|{|{{{{z{z{{|{{{{{|{z{zz{{|{{{|{z|{{{z{{{{{|{{{{{||{{{|z{{{zz||{|||{{z{z{{{z{{{|zz{{{{zzz{z{{{z{{|||{z{{{{zz|{|{{{{{{|{zz{{z{|{{{{{{z|{{z{{|{{z{||{}{{{{{zz{{{{{|{|{zyz{z{|zz{|{{}{{{|zz{{{{{|{{|||{{{|{{|||{{|{|||{|{|{|{{{|||}|}}|{{|zz|{{||{}||||{z{{{{{{||}||||||{{|{{{{|~|||||}z{|{{{||||}||}}}|{{{{{{{{}{||}}|{{|{{{{{|||||||}|{}{||{||}|||||}{{|{|{|{||||{|||{{z{{z{{||{|||{|}{z{{{z{{|{{|||{{z{{{zz{|{|z{}{}|{{{}||{|}}{||||{|{{{{{{}||{{|||{||{z{{{|{{{{|}{{{{{z{{{{|||{|{|{{{{{{{{|z{|{{{|{|{|z{|yz{|{{{|{|{{{zzyzz|{|{|||zz{{zzzy{{{{z{|zzz{{zz{{y|{|{|{{zz{{zzzzz|{{|{{{z|z{zz{zz{{{{{{z{zy{zzzzz{z{|{{{{{{{{zz{z{z{|{||zz|{{zz{z|{{||{{{{{zzz{{|{{|{|||z{zz{{{zz{|{{|||{y{{{{zz{|{{{{||{y{z{z{zz||||{{|{|{|zz{{{}|{{{|{z{|{{{{{{|{{{|||z{{{{{{{{|||{|||{|{|{z{{||{|{||}{z{z{z{{||{|}||{|{|{{{{{|||{||||{{|{{|{z|{||||||}zz{||{{|}~|{}||}{{{|{{{||{|{~|||{{{{{{{{||||||~{||{{}{||{||{{||{|{{z{|{{|||{}|||{{{{{{{|||{z{{{{{{z{{{z{|{{{}}}||{{}|z||||}}}|}|{z}{|{{|||||||||{{z{{z|{{|{||||{z{{z|{{{{|{{{|{{{zzz{{{|{{{||||z{{{{{z{{{{{{||{{{{z{z{{|}|zz{{z{{{{zz{z{{{{{{{{z{zzz{{{{{{z{{|{zz{zyz{z{{|z{||{{{{zz{zzzz{z{{{|zz|z{zzz{|zz{{|{|z{y{z{z{{{|{{{{{{{|{{z{{|||{{||{{{{zz{{|{|{{|||{{|{{z{z{{{{|{{{z|z{{{{{{{||{||}{{{{{z{{{|{{||||{{{zzz|{|{{|{z{|{{{{{z{{{{|{||||{{{{{|{{{{|||||{{{|z{{{{||||{|||{{{{{z{{{||||||||{{{z{||||{{|}||{{{{z|{{||||{{|}{{{|}{{|||{{{||}|{{|{z{{||||||||||{{|z{||}||||||{{{{{{z|{}||{||}{{{{{{|{{|||||{|||z{|{|{|z||z{|{{{{zzzz{{{zz{}}~}||}||}||}||}{~}{|||z|||{||{||}||{z{||{z{}||}||||{{{|{z{{{|||||||{|{{z|{|{|{|{{||{y{{z{zz{{|{{{{|{{z{{{z|{{z{|{|{{zzz{{{{{|{||{{{{{{zzz|{|{|{||{zz|{{z{{z{{{|{||{{{{zzz{{|{{{{||zzz{|{zz|||{{|{|{z|{{z{zz{z{||{|{z{{z{{{{|{|{{{||{{zzzz|{{||{|}||{{{{z{{{|{{{{|{{{{z{{{z{{|{z{||{{{{{z{{z||{{}|{{|{|{{|{{{|{{{||{z{{{{z{||z{||}||{z{{z|{||{|{|{}{{{z{z{{|}{||||||{{{|{zz||||||{{|z{{{|{{|||{{||||{|{|}{|{|||{|||||||{||{{}|{}|}}|{{{{{|z||}{|||{|{{{{|z{||{{|}|||{|z||z{|||||}|||{|z{{|{{|{||}||z{{|{z{{{{{{{|{|{z{{zz{z{{|{|~|}}|{{||}{{}}||}}~|{|{|{||}|}|}}||{}z|{{{{|{{{||}|{{|{{{{|||}|{|{{{{{{|z{{}|{|{|{{z{|{{z{{|{}z{}|{{z{z{{zz{|{|z{|{{{{z{{{{{{||{{{|zz{z{{|z{|{{{{{{{{z{zz{{{{|{{|{{{{{{{{zz|{{|{{||{{{{|{{z{{{z{|{{{z|y|zz{{{z{|{{{{{zz{z{|z{||{|{|{{{{{z{|{|{|{{|{{z{z{{{{{{{||{||{{{{z{{{{{{{||}}{|{{|z{zz{||||{|{{{z{z|{{||{|{|{|{z|{{{{}{}{{|||||{{z{{{}|}|}|||{|{z{{{{{|{{||}}|{||{{{{||}|||}|{|{{||{||||||||||{{{{||{|||||{{}|||||||{{}}}|}|}|z{}{{{{}{}||}||}{{|{{{|}|{|||||{{{{||{|||{||}}~|||{{{|z{|{|{||||{zz{z{{||{}|}{{{{|z{z|{{||{|}}}}|{||||{}~}}}|}}}{}||{{||{}}|}}}||{{|{z||||||||||||{{{|{{{||{|{{|{{|z{zz{{||{{|}z{{z{|{z|}{{{}|{zz{z{{{{{{|{|||z{{{z{|{{{{{{z|{|{z{z{zz{{|{{z{{{{{|{zz{{{|{{|{{{|||{{{y{{{{|{{}|{{{{{{{{{{{{||{||z{z{{{z{{z{{|||{{{{zz{{z|{{{{{{{{{z{{{{|{{{{}||||{z{{{{{|||||{|z{{{z{z{}{|{{|{{|{{{{{{{{|{||||||{{{{{{{{{|{{||{|{{{{{{z|{{{||{||{{z{z|{|}|}{||~z||{{{|{}||}|{}}{|{{{|{||}{{||}|{z{{|{{|||}|||||{|{|{||}||}||}}|}{|||||{|}}}|}|}|{|||{{{|}|||}|||{|{|}{{|||}|||}||{{|{|||||||}||||{|{z{}{{}{{{}||{{{{{|z{||||{}|{|{z{z{z{|{{|}}}|{||}{}{||}||}}}{||||{|{|||}{}}}|{{{{||{|{{{|||||{|{{{{{|{}|{{||{{{{zz{zz{{|||||{{{{{{{{{|{|{{||{{zzz{{{|{{z{{|{{{{zz{z{zz{|{|{|{{{z{zzzz{{{{|||z{{{zz{{{||{}{{{{z{|z{{z|{|{{z|{z{{{{z{zz{{{||{|z{|{z{{y{{{|z||{z|{zz{zy{{|{||||{|z{{zz{{|{|{}|||{z{{zz{||{||{|{{||{{{z{{{{||{|||{{{{{{z|}||{{|}{|{{{{z{z||}{|{{|{{{{zz{|{{|{}{z|{|{{{{{|{||||}|z{{{|{{|{||{|}|}{{{{{{{{||}|{||}|{{|||{{|}|||}||{||{{{|{{||{{|}||{{||{{|{~}|{{|}}|{{{{{{|}{|{||}{|{{||{{|{|||}}||{{||{|||}||{|}|{{{{{{{|{|||{|||{{|{zz{{{||{{{}|{zzz{{{{{{|{{~}}}|||}}||}||||}}}|}}{{{{{|||}{}}|{{{|||{{|{{{}|||{z{{{{{{{{{|{{||{{{{z{|z{{{||{|}{{{{{zz|z|||{|{|{{{{|{{z||}{{|z{|z{{{{z{z{zz{|{|{{z{zz{zz{z|{{||{{{zzz{z||{|}{||{z{{zz{{{z{{|||{|z{z{z{{z{{{{|{||{{z{z{{{|{{||||{{|zz|{{{{{{|{||||{z{{{{{||{|||{{{{{{{|{||{{||||{{{|{{||||{|{|||{{{{{z|{|||||{|}||{|z|z{|{||z{|{{{{|{{z{{}{{{|{{{{{{{{z||||}|}|||{{{{{{||}|{{|}||z}{{|{{||}|}|{||{|{{{{|{|||}|}{|}|{||}{{||||||{}|{|{}||}}|||{}|||{{{z|||||}|||{|{{{{|{|{||||||{||{|{{|{|{||{}|}|{{z{{{{||{{{}}{|{{{{{|{{{{{{||||{{{{z{{||z{{~}~}|||}{}{}}}}||}||||||{||}|||||}~{{|{z{|z{|}|}||||{|{{|{{{|||{{}|{{|z{{{z||||{|{||{{{z{z{{{|{|{|{{{{{{yz{{{|{z|{{{|{{{|{z{z|{|{z{{{{z{{{{{{||{|||z{zy{{zy|{z{|z||{{{{{{zz{}||{{|{{z{{z{{z{|{{{{{||{|z{z{z{{z|{|{|{z{{|{{{{{zz{|{{{z{|{{{{{|{{||||{{|{{z|{||{{{||{{z{{{z{z{||||{}||{{{|z{{||{{||||{z|{{|{|{{||||}{||||{{{{||{{{|}|||{|z|{{|{||||z}{{||{{|z{|{|{|}|{{|{|{|{{|{}|||||{{||z|{|}|{|}}|{|{|{||{||||{|{}|{{{|{|{|}|}|}}}{|{{||{{|}{}}|}|{z{|{{{|}|}||}|~|{||{{{|{|||}}||||{{|z{{{|||{||||{{{{z|z}||{{||{|{{{{z{{{{{||||}|}}}{}|{||}|}||}|{{}{{||}|}}|}}||{{{|{|z|{|{{|}|{|||||{{{|||{{||{{{zz{zzzz||{|{|{{{{{|zy{|{|{||{{{{{{{{{{{||z{|{{{{{|{zz{{{|{{{{y{z{{z{{{{{{{|}|z{zz{|zz{{y{|{z{{{zzz{{{{|z{{||{{{zzzz{zz{{z{{||z{{z{{zz{{{{z|{{{zzz{{{{|}||z||||z{{z{{{{|{{{|{{{{z{{{z|{{|||||{{{{z{zzz|||{{||||z|{zzz{{||{{}||{{|{z{z{|{{{{|{|z|||{|{z{{||||||{z{{|{{z||||||||{{{{||||{|{|}|||{|{{z{|{|||}{}|{{||{{{|{||||}|}}{{{||{||{|||||||||{{{||{||||}|||{{|{{|{||{|||||||{{{|{{|{{|||}|}{z{{|{{z||||||||{||{|{{{{}|{|||||{zz{{z{{{{{|||{{|zz{zz{|z{|{~}~|||||{|{}||}||||{|{|{||{||||}||||||{{|z||{{{{}||{z{{z{z{{{||}{||{{zzz{{z{{{|{|{{{|{{z{z{{|||{{{{{|{z{zzz{{|{z|{{{{z{{zzy{z{{{{{zz{{{zzzz{{{{{{|z{zz{zzzzz{zz|{z{{{yzz{{y{{{|{{|{{zzzz{{zzz{z{{{z{|{zz{{{{{{|{{z{{zzz{{{z{|{|{{|{{|{z{z{{z{|{}|{}{{{zzz{{{{{{{{{|{zzzz{{{{{}|{{}|{zz{z{z{{|||{{|{{z{z|z{z|{|{z{|{{{{{{z{{{|z{{|||{{{z{{|z{|}|}|}|{z{{|{{{||{|{{||{|{{zz{z{||{{|||}{{{{{{|||||{}||{{{z|||{{||{{|{||{{{{|{z{|||{|{||{{{{{{{{|||||||||{zz|{{{{|{||||||{|{{{{|{{|{{{|{{|zzz{|{{|{|{}{z{{{{z{|z{{{||||z{{z{{z{z|{{{~}}|~|}}|}||~}}}}}}|}||||}{}z{|||{||{{{|{{{}|||{||||{|z{z|{{|||{{|||z|{z{{z{|{{{|{|{{{{zz|z{{zz|{|{{zzzz{z{{|{{{{||{z{zzzzz{{{{{}{{z{zzzzz{{{{{z{zz{{z{z{z{{zz{{{{|z{{|zzzzz|{{{z||z{zzyz{zz{z{{{|{{z|zz{{{{z{{z|{|{z||zzzz{{{{{|{{{zz{{zz{||{{|{||{{{{z{{{{{{{{{{{{{{z{zz{{|{z|{{|{||{z{{z{{{||||{|{{{z{{{{{{{{||z{{{z{z{{||{z{{{|{{|{{{{{{{||}}||{{{{{{{{||{|||}{{z{{{{{{{}||||{{|{}{|{|{||||{|}|z||{{|{{|{z{||||{{||z{{{{}|}|||||z|{{z{{}{|{}}|{}z|{{{||||{|||||{|||{|{|||{|{|{|{{{{zz{{|{{|{||{{{|{{{{{||||{{|{{{|z{{{z{z|}{~}}}}|}}|{}}}}}|||}}||{|{{||||||}|{|{{{|{z||}||||||||z{|{{{|||{{{{|{{{{|{{{{{|z|{|{{|{z{{z|{{{{||{|{||zz{zz{|z{|{|{{{yzz{{z{|z{{|{{{zz{z{{z|{z{{|z{{{|z{zz{|z{||{{{z{{yzz{{{||z|{{{z{{{zz{{{{{{{{{{{z{zzzzz{{{||{{zzz{z{zz{|{{{{|{{{{{{zz{{{{z{{|}{z{{{z{||{{{{||{{{{z{{{{{|z{||}|zz|{{z{z{{||{||{{z{{{z{{{}{{|{}|{z{{{z|z|{|{{{z|{{|{{{{{|||||||}{{z{{{{{}|}{||}}{|{|{|z|{||||}|{|z||{|{{{{||||||{|{|{{{{{|{}|||||{{z|||{z||||}|||z{||{{z|||||||}|{|}{zz||{{|||{|{{{}|{{|{|||{}}|z{{{z{{{{{{|{{}|{{{z{{z|{|||{|{|||zzz{{y{|{{{~}~|}}}}|}|}~}}}}}~|||{|{{{}|~|||||}{{{z||{}}|||{|||{{{{{{|{|||{|{|{|{zzz{{||}{{|{|{z{{{{{{{|||}|z|{{{|{{{{{{||{{{{|zzz{{{z||||{{{{{zzzzyz{{|{{{}||{zzyz{|{{||{{{{|{z{{y{zz{{z{|{|{{|zz{zzzzz}{||||{{{{{{{{{{{{|{|{{z|{|{yz{||{{|}{|z{{{z{z{{{{{||}|{{{zz{|{{||{{||zz{{{{{z{{{{{|||{{{{{{{z{z{{|{{{|z{zz{z{|||||{|{|z{||{{{|||{{{{||{{{{{{{{{||||||{{|{|{|{}||||||{|z||{|{{}{|||||{|||{|{|{|}}|||}||{{{{z{|{}{|{|||}z|{||{|{||}|}|||{{{|{{|||}}}||{|z{|{|{{{|||}||}{||||{|{{||||||||{|{{|{|||||{{{{|{{{{z||{|{{|{||{{{{zz{{{|{{{}}~}||~}}}}}~}~}|}|{||{{}||}|}}}}{{z{|{{{|{|||||{||{{z{{||}}z|||{{|{z{zz|{{{|||}{{zz|{{{{|z{||||{z{{{{{z|||zz|{{{zz{{z{{|{|{||{{{{{{zz{{{|{|{{{{{{z{zzzzz{{||{|{{{{zz{zz{|{{{{{{{zz{z|{yz{|{||{|{z{{z{y{z{z{{|||{{{z{{{z{{|||||||{{zz{{z{||{||{|{{|{zzz{|{|{{|{||{{{{z{|{||||{|||{|{z{{z{|||{|||{{{{{|{{|{{||{|{{{{|||{|{}|{{{||{{{{|{{{|{{|{|}|{{{{{{|{||{|{|}}||{||{z{{|{|||||{{{||zz{||||||||{{{|{||{|||||||}|{{|z{|{|}||||||}|{{{{{|{|{|}|}||{|{{|{{||{||||}}{{{|{{{||{||{||{||{{{{z{{{{||}}{{{zz{|{||{{{||z||{{{z{z|z{{|~~|}}}}~}}}}~}~~}}}|{}|{{{}}}|}|}}|||}}|{}{{|{}||{|{|{{{{{{|}z|||{{{{{{{z}{|{|{|}{z|zz|{z||||||{{{{|z{{{{{||{{{{{{{{z|zz{{|{|{|{{{zzz{z{z{|{{|{{||zz{{z{{{{{{|{{|z{{{{{z{{|z{{|||{zz{{{{z{{{{{{{{y{{z{{{{z{{{||{z{{{{{|{{{{{||||}|z{{|{{{{{|{z|||zz|z}{{{|{{|{||||z|z{z|{}{|{{{|{|{{||z{z{||{|{||{z{{{{z{|||{||}{{{{{{z{{||||{|{||{{{{{z{|{|}|}}|{z{{{|{{{|{}|{}|{|||{zy{|}||||}|||z{{{|{{||||||}{{||{||{{|||}|||}{{{|{{|{}||{}}||{{{|{|||{|}||||{{{{{{||{||}||||{|{{|||||||}~~{}|{{{{{{z{|||{{}|||z{{|{{{||}||}||{{z{z{{||}|{~~~~~}~}}}}}}}}~}}}|}||||||}||}}|z|{{|}{{|||||||||{|||{|{z|||{||||{{{{{{|||{|{||}{{{{{|{z|}{{z||{|z{{zzzz|{|{{|{|{{z{zz{{|||{{{{{{{zz{z{z{{{|z{{{{{z{{{{{{{|{|{{{z||zzzzz{{{|{{{||z{{z{{z{{|z{|||z{zy{zz{{{z|{|{|{zz{|{{z|{{||||}|{{z{z{z|{{|{|}|{{|{{z{z||{{|{}||{{{z|{||||{{|{|{z|z|z{{{}{||||||{zz{|{{||{|||}}{{{{z{{||{||||||{{{{{{z{{||||}{|z|{{{{|{||{}|}|}|{{||z|{||||{||||{{{{|{|||||{||{||||z||{|{{|}||||{{{||{||}}|}}|||{||{{||||||||||}z{|{{|{{{|z||}||{|||{{|||{}|}||{{{{||{|||||}|||{|{|{{{z{{||}|{|{{|z{zy{{{|{|~~~~~}~}}}~}}}}}}}|{||{}|}|||||||}||||{{||||||||||||{|{{}{||{|z|{{{{zz{{z|{{|{|{}{zz{z{{zz}{{z||{{z{{z{z{{||{z{{||{z{{{{{{{{{|{|{zzz{{zz{{|{{{{|{zz{zyzzz|z|{{{{{|zzzzzzz{|{{{z|{{z{{zz{{{{{z{|||z{|{{{{zz{z{{||{|{|zz{z{{{||z|||{{z{{{{z{{{z||||z{|{{{|{{||{{|{|{|{|{{z{|{{{|z||z|{z{{{{|{|{{}||z{{zzzz{|||{{{||zz{{{{{{{|{{|{|{|{z{|{z|||||{|{|z{|{{|{{}{|}||||{{{{{{{{{{|{|{{{|{|{|{{{|}{}{||||z{{{{{{||||}}|||{{{{{{{|}{|||}}|{|{{{|{||}|||z{{z{{{{{|{{{|||}||{z{{{{{}|||||}}{|{z{{{z{{|{|}}||{{{{{{{|}{{{{||{{{{zz{{{{|{{~}}}}~~~~|}~~}}~}{}||{|||}}|}}}|}|{{{|{|{|z|||||||{||{{z{}{|||}{|||{{z{{z|{||{|{{{{z{{{{{{{|z{{{{{z{{zz{{{z{{{{{{{{{{zzzy{z{|{|||zzz{{{{{||z{||{|{{z{{zz{{|{z||z|{{{zyzz{{{{{{{||{{z{{{zz{{z{{|{}{{{zz{zz|{{|z{{|{{{{||zz{|{|{||{{{z{{zz{||}|||{|{{{|{z{{|{||{|{||{{{{{{z||{||{||{{zz{z|{{||{||{|{{{{{{{{||{|{|}{{{{z{{{|{|{{{{||||{|{{{{{|||||||{{{z{{{{{}|}{||{|{|{|{zz{}}|||}||{{{||{|{}|||||||{|z|{{{|}{||||||{{{{{|z{|{}||}}{{{|{{|{|}|||}}||{{{||{{||||||}}{|{||{{||||||{|}{{{{{{|{{{||}}|}{{|{|{{z|{{|||}||z|{{z{{{{{{|~}~}}}}}}||||}}}||||{||||}|||}}|{{{|{|}||||}~}|{z{{{{{{||{|||||||{{z{{z|{}||{{|{|{{{{{{z{|zz{{{|{zz{z{{|{{{{{{|{{{z{zz{{{|{{{{|{{z{{zzz|{{{|{||{|{z{{{{z|{z{{|{z{|{z{{{z|{|{{|{|z{z{{zzzz{{{||{{zz{zzzz{|{{{{|z{zzz{|z{{||{{{{|{{zzzz|{{{{{z{z|{z{{{zz{{{|{{{|{{|{{{{{||{{{{||{{{{{yzz{{{{{||{{{z{z{{zz{{||z||{{{{{{{zz{{{z|||||z{{{|{{{{|{||||{{{|{||{{{{{{{||{{{{{{{{{||||}|{|{z|{{{z||}|{|{|{{z{|{{|{|{}|||}|{|{z||{{||||||}|{{{{{{||||{|||||{{{||{{{{{||}}|z||{{|{|||{|||}|{{z{{z{{{|||{||}|{{{{{{{{|{{{||{{z|z|z{z||||{~~~}}~}}~~~}}~~}}}{}||||||{}|||||{{{z{||{|||}|{|{{{{{{{{{{||{}||{zzz|{z|z{{{|{||z{{z|{z{{z|{|{{{{{zzz{z{{|{z{{z{zzz{zzzz{|{{{{|zz{zzz{z{{{{{z|{{zzzzz{{{{{z{{z|zz{{z{z{y{{|{{{|{{{{zzz{{{z{z{|{|{{zz{z{{z{{{{{zzz{{z|zz{|{{||{{|{z{{z{{{{|zz{{|{{{{zz{y{{{{{|{|{z{zz{{{|{||z||{{z|{{{zz{{{{{|{{{{{z{zz{||{{{||{{{{|{zz{{}{{{|z||z||{z{||{}{z|{{{{{{{{{{{{|}{|{{{zzz{{zzz|{||{|{{z{{{{{z{|{||}|||{|z{|{|||{{|}|||{|{|{{|{~|{||}{||||{z{{{|{{||{|{{{{||{{{|{{|||}{{z||z{z||||{||{{{{z{z{z{|{{|{}|}{{{z{zz{{|||||{zz{{z{{z{{|{{~~~~~|~}}~~}~~}}|||{|||}}|~}}~|}{{|{z{|||{}|||||zz|{{|{|{|{{{||{{z|{zz|{|}||{|{{{{zz{z||{|{{{|{z|{z{{z{||{|{{|z{||{{{z{|{{||{|zz{{zz{z{{{{|z{{|{{{z{z{{z|{||||{{|z{{{{{{||{z|{{{{{{{{{{||{|{{|{z{z{{{{{{{{||z{|z{|{{z||{{|{{}{|{{{{zzz{||z{{|||{{{{|{{{|{{|{{{{{{z{zz{|{|{|}||z{{{{{{z{}|}|||||{{{{{z{|||||||||z|{z{zz|||z{|}{{{|{{{{{{||||}|{z{||{z||||||||||{z|{{{z{{||||||||{{{|||{||}||||||{{{{{||}||}}|||||{{{||{{}}||||}||||{{||||}|}||||{{|{{{||{||}|}}}{{||{z|{|||}}||{||{{{|{{|||||||||{{{{{z{}{{||}||{|{{|z{|{|||}~~}}}}}|}}~||~||||||{|~|}||}|||||{{||{{||}|{|}{{z{{{{|||{|}{{{{{z{{{|{|{{}{{|{|z{z{{{{|{{{||{{{z{z{{z||z{|{{{{{z{z{z{z|{z{{{zz{y{zzz{z{{{|{{|{{{zz{{|{|{{{||zzz{z{{{{{{{{{{|{|||{y{zzz{y|{{{{{zzz{{z{}||{{||{{{{{zz{{{{{{{{{||zz{z{z{{{{{|}{{{{{{{{{|{{|{||}|{|{{z{{{|}{||{||{{zz{{z{|{}{||{{{|zz{zz||||{||||{z{{|zz|{|{{||||{{z|{{|}{||{}|{z||{|{|{{|{|{}|||{|{|{{{|||{|||||{|{||{{{}{|}}}}{{{|{|{{||}|}}|||{{z{||{{}||{||||{{|{{|{|{||}||||{z{{|{{|}||}|||{{z{{{{|}|||}{|}{{|z{|{{||{||{|{{{{|{{|{{{||{{{|{{|{|z{z{{{{{~}}~}}~~}~~}||||{}||}|||~}~||{|{}|||||{|}|||||{{{{z||{|{{|}{||{z{zz{{||{|||{z{z{z{zz|z{{||{{{{{|{z{{{|{{{{{{z|zzzzz|{z{{|{{{z{z{{z{{{{z{{{|zz{{{z{{{||{|{|{z{{zzzzzz|{{{{{z{{{{zzz{{z{{{|{{{{{{{{zzz|{{{|{z|z{z{{{{{{{{{||{z{{{{z|{|{|{{|{|zz{{{{{z{|{{{{{||{{{{z{z{|{||z||{{{{{z{z{|||{{}|{{{|{||{||{{{|~|{{z{|{{{{{|{{|z||y{{|{{{z||{{||{{{{{{{{{{|||||||{|{{z{{{{||||{|||{{{|{|{{||||{}||{{{{||{{{||||||{|{{||{{|||||{|||{||{|{|{|||}{{|||{{{|{{{{{{||}}{{{|{{{||}|}{|||{|{z{{{z{||{{{{||z{||{{{|||{{{|{|z{{{z|{|{}{{~~}}}~}}}}}}}}|{}|{{}|}|}|}}}}|||{{{|{|}}{}}{{|{{{|{||||}{{}{||z{z{{{{{|||||{{|{{||z||{{{||{{|{z{|zz{{|{z{{|{{{{{{zz|{{{||||{{{zz{{z{{|{{{{z{{{{z{z{{{{{|||{|zzzzz{{{z{{{z||zz{z{z{{{zz{{{|{|{{z|z{z{|{z{||{{z{{{{{{{{{||{||{{{{{z|{|{||{||||z{{|{{{{||{{|||{||{z{{{{{||{}{||{{{{{|{{{|||||{|{{{{z{{|||||||z|{|{{z{{||{{{|{|{|{{{|{{|{|}||}|||{{{{|{{|}||{|||{{{{z{z|||}|{|}|{||{{{{{||||||||{|{{||{{{|}}||||{||{{{{||||||}||{|||{{{|}|{}||}{z{{{|{z|||{||}}{||{{{|z|{{|}|||{z|{{{{z{}||||||{|{{{{{z{|{|{{{|{|{z{|z{|{{{{}}~|~~}}}}}|{||||}|}}}||{{|||{}||{||}||z|||{{|{{{|{||}|{|{{|{{||{{{{|||||z{{zz{}{{{{|{{{|{{{{{|{{{||{{{{{{{{z{|||||{{|{z{z{zzz{{{{{{|{{{{{zz{{{{{{{{|{{{z|zzz{|{||{{|||z{{z{{zz{|{{{|{||{z{{{|{{{{{||{z{{|{{z{z|{|{||{{{{z|{|z{||{|{||{{|z{zz{||{|{|}}z{{{z{z{{|{{}{}||{{{{{{{{||{z|}|{{|{{{{{{||{{{|}|{{{{z{||{|{{{||{||{{{|{|{||||||{{{|||{{|||||||}|{{{{|{{||{||||{|z{{{{{{{|{|||{|z{{|{{|{{|||||{|||{{{{||z}}{||}{|{{{|||{|}|}|||||{|y|{{{|||{|||||{|||{{{||{|{{||{{{z{{{{z}|{||||{|{|{{{z{||{{{||{{{{{{z|{{|{|~~~~~~~|~}|}}}|}||||}|}|}}|}||}|{}{z{}}|||{||||{{||}||{||{{{z{{|y||||||{|z{{{{{{z{{{z{|{{{z{zz{zz{{|z{||||{{zz{{{|{zz}|{||{z|z{z|{{||z||z{zzzz{z{{||{{{||zz|zz|{z{z||{||||{z|z{zzz{||z{{{{z{{z{{{||{|z|||{z{{{|{z{|{|z{}}|z|{{z|{{|{||{||{{{{z{{||{{{||||{{{{z{{{{{{|||||{{|z||{{{{{|}||{{{{{|z|{||{{{|{{{{||{{{{|||||||{||{{{|{|||{||{||||{{|{|{||||||||{{{{{{{{|||{{}|{|{{|||{|||||||}}{{|{|||{|||}}|}||{|||{{|||||||||}{|{|{{{}}|}}|||{|{||{{{{|||||||{{{{{{{{|}|||||}||{{{{{{|||||{}}|{y|zz{{{|{||||{z|{|z{{{{||{{~}~~}~~||||}{||}|}}}}}}|}|{||||||{||||{|{{{{}{z|{||{{}{{|{z{{{{|||{|{{|{{{{{|z{{|z{|{|{{{|{z{{z{z||{{z||{zzz{z{{z||{{{{{yzz{{zz{||{|{{z{{{{{zy{|{{z{{{|{zzzz{{z{{|||{||z{{z{{zzz{{{{|{{{z{z{{z{{|{{{|||z{{{{{{{||||{{|{|{zzzzz{{|{||{||{{{{zz|z|z|{{}|{z{{{{{z{||||{||{{||{{z|{{|||{|{{|{|{|{{{{||}{||{{{{{z{{{|}}{{|{|{|||{{{{|}|||{|{{{{{{{z|||||||{||{{|{{{{|||{{||z|{{{{|z{{|{}||}||||{{|{{{{{{||{|||z||{{|{}|||}}|}{{|{|{{}}}{|||{|zz{|{z|{||||||||{{{|{{|||{||||{|||{{{{{{||||||||}{{z{{z||}|||}{{{{{z{zy{{{{{~~~}~~~~~~}}|~||}|}}|}}}}}|{{{{{{{||||||}||{|{{{{{||||||}|{{|{|{{z{|{|{{|{|z{z{z{{{{{{{{|{{z{z{{zzz{|{{|{{{z{{zzyz{|{{{|z|z{|{zzz{{{{{{{|{{zzzz{{|{{{{|{{{z{{{{z{zz|{{{{|{{z{z{{{z|z{z{{|z|{zzzz{{z|{{z|||{z{{z{z{{|||{||{{{{{zz|{|||{|{|}{{{|{z|||{{{{||{z{{{zz|{{{|||{|{{{{zzzzy{|{|||||{{{{{z{z{|{{{{|||{z{zzz{{|{{||||zz|z{zzz{{{||}}||z{{{{|{{|{||||}|{|{{{z{|||{||||{z{{{{{{{}|{{|{}||z{{{{{|}||}|}}|{{|{|{||}{|||||||{{{{{{|||}|||||{{|{{{{{||||||}||{||{{{|||}}{||||{{{{{{{|||{|}||{{{{{{{{||||||z{{{{{z{{|{{{{~~~~~~~|}}|{}|}}||}}}|}|{||{{|||{}|{||}{|{z{{z{|{|{{|||{{{{{{z{|||{|{|{{zz|{zz{}{z{{|{{{{{{{{z{{{{{{{|z{zz|{{z{{{z{|{|{|{{{zzzz||{{{{zzzz{{z{|z{{{{|{{{z{{{{{{z|z|{{|zzzz{z{zz{{{{{{z{{{zzz{zz{}{{{{|{z{{zz|zy{{{|{{{|z{|{z{{z{||{{|{|||{|{{z{z|{|{{||{{{{zz{z{|{{||{|{{|{{{{{|{|{{|{|{z{{{z{{|{}|{{||{{{{{{z{|||{|{{||{{{{{{|{|}|}||{{z{{|{|{||{|{|||{{{{{{z{{||||{||{{{{{z{{|{{}{|||||{{|{||}}{|~|{||{||{{{{z}}}||||{{{||{||||||{|}|||{{{{|{|||||{|}{{{{{{{{|||{|||||{{z|z{{|{{||||}{{{|{z{{{{}|{|{|{z{z{{{{{||{|~~}~~~~~}}}}}||}|}~}}}}}}||z{{z{}{}}}}|{|{{{{||{|{|}z||||{{z{{z{{{}{|||{z{{{z{{|||{zz{|{{{{z{zz{{{{z{|{|{{{{{yzz{{|{|{|zz{z{zz{{{z{{{{{z{zz{{{z{{{{{{{{{{{{y{z|{|{{{{{|{zz{{zz{{{{zz{|||{{{{zzz{{z{z{{{{zzz{{{{{|{|{{}{{|{z{z{{||{{{{||{{|{{{{{|{{|||||{{{|y{{z|{|{{|{{{z|{z{{yz}||{|||{z|{{{{{z|{|{{||{zz{{z{zz|{{{}||{zz|z{zz{{|||{|{{{|{z{|{{|{{|||}|{{{{{{{{{}{|||||{{{{{z{||{||}||||{{{|{||}{|{|}|||{{{|{|{{{|||}{|}|{{{{|}|||{|||{{{{{||||{||}{|}}||{|{{||||||||}{|{{{{{|{|||{}}|{|{{{{z{{|||{{|{{{|{z{|{||{{|~~~~~|}}}}}||||}|}}|||||||{{||{{{|{{||z{{||z{{{z||{||{{|{zz{z{{|{{|{}z{{{{z{z{|{{|||{{{z{zzzz{z{{{|{{{{{{{zz{{{{{{{|{{zz{{zzz{{{{{||{z{zz{{zz{|{z{||{{{{{zz{z||{|{{{|{z{z{zzzz{{|{|{{{{|zzzzz{|{|z{{{z{{{{z{z||{{{|{z{{z{{z|z{||{|{{{{|{|{z{{z|{||{||{{z{{{zz{{{||}{}{{{|{{z{{|||{}{{{|{{{y{z|||{{{{{||{z{{{z{||||}||||{{{{{{||||{|||z|zz{{|{|||||||}{{||{{{||}|}{{||{zz|{{|{}||{{}||{{|{{||{||{||||||{|{|{{{{}|||}}|{{{z|{{{|||}|}||}{{{{|z||||||||}|{{|||{|||{||{|{{{{{z{{{{|{}{||}{{{{{{{{{{||{|{|{z{|{{{|||{{|~~~~}~}}}|||}}}}}||}~}{{{|||{{|||}{||{{|{|{{|{|{|{{}|{|{z{z{z|z|{|}{|{z|{{|{z{{{{{{||{z{{{{z{|{|{{z{{{{zzz{z{{z{{z{||zz{z{{z|{{{|{{||{z{{{{z{{|z|||{||{{zz|zz{{{||{{{{{z{|y{{{{{z{{||{{z{{|{zzz{{{||||{{{{|{z{{{|{{|{{z{{|{{{|||||{||{{{{z{{{{{{|||||{{{{zzz{||{|{{||{{|{{{|z{}|{||{{{{{|{{{{{||||||{{{{{z{zz||}|{|{{{{{{{z|{|||{}|||{{{z{{{||{z|||}||{{{{{{z}||||}}|}{z{|z|||}{||{|}}||z{{|{|{|||||||{|{{|||{|{}||}|{||{{|||{}{||||||z{|{z{|||{|{{||{{{{{|{{|{|||||{{{}z{{{{{|||{{|{{|{z{{{{{{|{{|}||zz{{{{{||{|{~~}~~|}|{||}}}}}}}}|||{{||{||}||}}||{{|{|z||{|}{||||{{{{{{{}||{{|}|{{{{|{{{{}||{|||z{{zz{{z{|{z{{|{{{zyz{zz||{{||{{{{{{z{z{{{{{{{|{z{z{{{{{{{{{|{{|{{{{{{{{|{||||||{{z{zz{{z{{{{|{||{zz{z{y{|{{{|{{zzzy{{{z{|||z||{|{z{{{{zz{{{{|{}|{{{{z{{z||||||||{{{{{||||||{|{||{|{zzzz|||||}z|{z{||{{||{||{{|{|z{|{{z|{|{{{||||{{|{{z{|||{||}|{{|{|{{{{|||||}|||{|{{{{}{}||}}||{{|{{{z||{{{}||}|||{{||{}{||}}{}{{{{{|{|}|{||}}}|{{|{z{}||}||{}|z||{{{||||||}}}{{{|||{{||||||||{|{{{|{|}||}|||{{{{|{{{{{||||}|||z|{{z{{{{|{|~~~~~}}}||}|}}}|}}}||||{||{{|}|||||||{|{|{|{{{||{{||{{{{{{{{z|{{{{{|}{{|{{{{zz|||{|||zz|z{{{zz||{z|||{{zzzz{{{zz{{||{zz{{z{zz{{{|||{{z{{zz{zz|{{{{{{|{z|{z{{{{{{||{z{{zzz{z{z{{{|{{|{{z{zzz{{z|{{{{{{{{|{{|{z|||{{|{|{{z{{z{{{{|{{{|{||z{{{z{{{{|{{||{{{z{zz{{{|z{{||{{|{{{{{{{|||||{{{{z{{z{{|{{{|||{{{{{z{{{{|{{|{||{{|{|{|{||{{|||{{z{{{|{|{|}|||}{{{|{{{{||{{||{{|{|||{{}||{{|||}||z{z|{|||||||||}{{{||{|{||||}|}|{z{z{{{}}||||}{{{|{|{{||||||||}||{{{|{{|}{{|||{{{z{{{{{||{|{|}|||{|{{{{||{{|||||{{z|z{{|{{{|}~~~~}~||{{{|{~}|||}|}||{|{|{{{{{||}||{|{|{z|||}}||}{|zzz{{{{{{|{|}||zz|{{{z{{||{||{z|{{{{{z{z{|{{{{{{|{z{{{{{{{{||{{z{zzzz{{{{|{{|{{|z{{z{z{{{|{{{{{{{{z{{yz|{{z{|||{zzz{z{z{z{|{{{{{{{{{|z{z{{{{|||{{z{{{{z||{|zz}{{{z|z{|z{{|{||||{{{{{{{z{{{{{|||{z{zzz{zz{|||{{{|{{z{{z{{{|{|||{{{{{{{{z{||{{z|||zz{{{||{|{{{|{||z{{{{{{||}}|||}z||z{{|{||||{|||{||{{{zz|{|||||||{{{|{}{|}|||||{{{{{{{|{{|{{||}}|{{{z||{||||||||{||{|{{|{||||}||{{{{{{|{||{{|||}{{{|{|{|{{{{}|||{{|{{|{{||{||}|||{{{{{|{||{|{{||{{{|z{z|z{|{{}}}~~~~|}|{||}}}}||}}{||{|||{|||||{||{||{{|z{{|||{}|||z{zzz|{||||{|{|{||z{z{z{{z{zz|{z{{{{z{z{{|z{{{{{z{{z{z{z|z{{|{|zzz{{z{z{{|{z{|z|{{zz{zz{{{{|z||||{z{{{{{{{{{|{||zz{{{z{|z{{{{|||{{zzz{{{|||||{|{z|{|{zz{{{|{{||{{|{|z{{{||{{}|{z{{{{zz{{{|{{|z|z|{{{{{{{{|{{|||}{|{{z|{{|{}|}{|{{{{|z{{|}z|{|}|{{{{{|{{|{|{{|{||{{|{|z|{{|||{|{{|{{{{{{||{{{||}{{{{{{{{|{|||{{|}{{{{z{{||||{|}}{||{{|||||}|{|||||{|{|{||}|||||}|{||{z|{{|||||}{{{}z{{z{{||{|}|||{{|{{|{{|||{||{{||{{||{|{||}|||{{{{{{|{|{{{{||{z{{{|{z{{|}{|}~~~}~}||}|||}}}}|{||{z|{{|}||}|||||{z{{{{{||||{|}}{|{z{zzz{z{{{|||{{{z{z{{z{|{z{z|{z{|z{zz|z{y||{|{{zz|{{z{{z{{{{{{{{{z{{{z{{z{||{z{{{zzz{|{|||{||{{{z{{zyz|{z{|{|{{z{zz{z{{{|{|{{{{zzzzz{{zz{z|||zz|{{{zy{|{{{{|{|z{{{{{{|{{{||}|{|{{{{{{{z{}{||}{z{{{z{{{||{{|||z{{{|{z{{|{{|||{{{{{{{|z{{{|{{}|{|{{{{{{{{}{|}|{{{z{{{{{||}|||}|{|{|{{{|||{}{||{{{{{z{z{|||{|||||{{{{|{{{|||}|}|{{{|{{{{{}|||||{~|{{{||{||}|||{||{{|{{{|||{||}}||{zz{{{|||||{|}|||z|{{{|{{|}|}z}|{{z{|{{{}|||||}{{{{{{{{||{}|{|}|{|z{{{z{{|{{~~~~~|~}||||~||}}}~}|||{{|{||||||||{|z{{{{{z||z|{|}}|{{{{{{z{{||||||zz{{{{zzz{z{{{z{{z{zz{z{{|}{|{{{|{{z{{{z|z{|{|{{zzz{{z{{zz||{{{{|zz{z{z{{{|z|{|||z{yz{zz{{z|{{||{{{z{zzzz|{|{{|zz{{z{z{{{{z{{||{{z{{z{{{z|{|{{|||{{{|{{{{{|{{{{{{z{{zz{{{{{|||{{{{{z{|{{{{||{|{||{z||z{{{||{||}|{{z{{{{{{{{{|||{{|{|{{{z{{||{{|{{{{z{|z|{{|}{||{{{|z{{|{||||{}|||{{{{{z{|{{||{}|zz{|z|{{{}|{|||{{{|{{{{{{{||{||||{{zz||||{{{|||||{{{{{{|{{}}{}|||z{{{{||{|||||{|||{{|{{{|||}||}|{{{z{|{{|||{{||{{{|{{{{{{||||{}{{zz{{zzz{{|||~~~~~}}}||~{||}}}|}|}||{{}{{{||||}}|||{{z{{{z{{{||{|||{{{{{{z|{|{{{{{{{zz{|{z{{|{{}{{||{{{{{{{}z{|||{{{z{y{{{|{{{||{|z{zz|{{{{{||z{z{z{z{{{{{{z{{|{|{{|{{z{{z{{{zz{{||{z{{z{zz|||{|{}|{zzz{z{|{{{{|{z{{zz{{z{{{{z{{|||{{z{z{{|{|{|z{{z{{{z{|{{z|{{{|{z{{zy{z{{||||z{{z{{z{z{{{|{{{||{z{{|{z{{|||{{{|{{|{{{{|{|{}|||}}|{z{{|{||{||||{{{{|{|{{{||{|{{}{||{z{{{z{|||||{||{z|{{|z{}{{}{}}|{{||||{|||{{{|}||{{{|}{{~|||||||{||{{|{|}|{|||{|z{{{{{{|}{||}}}|{{{{|z{{|{|{}|{{|{{z{{||||{||{|||z{|{}{{|{|||||{{{z{{{{{|}{{~~}}}|}}}{||||}}}|}|{{{|{{}{{||}||{{||zz{{||{}{{}|{{|z|z{z{{|{{{||z{{z{z{z{z{zz{||{z{z{{z{{z|{z{{{{z{z{{{{{|z{{{{{zzzzzzz{{{{z{{|{{zzzzzzz{|||zz||{{zzy{zz{{{{{{||{z{y{z{zz{{z{{|{z{{{z{{{{{{|{|{{{zz{{|{zz|{|{{|{{{zz{z{|z{{{{{{|{{{{{{{{{{{||{||{{|{{{{|||{{{|||{{{{zz{z{||{{||{{{{{{{zz|{|||{|{{{||z{{z{|{{{{{{z{{{z{{{|{|||{|{{{z{{{{{{{z||{{||{{{|{{{|||||{|}{{z{{z|{|||{||{|{{{{{{{|{{{|{{|}}{zz{{{|{|||{{|{{|{|{{z|||||{|{||{z{|{{||{{|{{|{||z|{z{{{|||||||{{{{{{z{{}{{|||}{|{{{{{z||||{{|}z{{z{z{{{||{{~~~~~}~{}|}|}}}|}||||||{{}|{{{|||{||{{{{zz{{{|{{{{|{{|z{{z{y||{{z{{{{{{z{{zz{{|z{{|{zzz{{zzz|{{{{{{{{zzzzzzz{{{{{z{{y{{zzy{{{{{|{{{{zzz{zzz{{{{{{||{zz{{zzzz{z{{{|z|{{{z{z{{z{{{{{{{z{{zzzzyz{{{z{|{{z{{{{{z{{{|{{{|{{|{zz{{{|{|{{||{z|{{z{{||{|||||{{|zzzz{{{||{{||{{z{{y{{{{{||{||{{{z{{{z|{{{{{||{zz{|zz{||{{{|{z|zzz|{{z{{||{||}{{|{z{{{}{{|||{|{z{{zzzz{|{{{{{{|zzz{{zz}||{||||{|{{{|{|||{||}||{z{{||{z{||||{|}||{||zz{|||||{|{{{z{{{{|{|||}|||||{{|{|{{|||}||{z{z{z|z{z|z{||{|{{{{{z{z{|{{|{|}{z{zzz{{{{{{|~~~~~}}}||~}|}|}|}~||{||z{|||||}|||{{{{{{{{{||}{||||z|z{{{z{{{{|{{|z||zz{z|{|{z{||z{{{{zz{{{{{z{{{{{zz{{{{{{{{|{{{{z{zz{{zz{{{{{{|z{{z{{yzz{{|{{{{{{|{{{z{{{zz{{{||z{z{zz{z{z|{||{{{zzz{{{{{|{{{{|{{|{z{||z{|||{|{{{z{z{z{z{{{{{{{|zz|{{{{{{{zzz{}{{zz{{z{{{{|{{{|{{{z|{{|{{{|{{{|{|{{z{|z{{||{{{|{{{|{{|{{|{|{{|{{|{{zz{{|{{{|{||{{{{z{{|{{|}||||}{{{{{z|{|{||}||{{{{{{{{{||{}{|||{{||||{|{{|{|}||{{|{{{{{|}||~||}|{{{zz{{|{}{{||||{z{{|{{{|||}||}||{|{{|}|||||||||||{||{{{|||{|||{|{{{|{z{|{|{||{{{z{{{|{{{|{|~~~~}{}}|}}~}|}}|||{{{{{{{||{{|}|||{|{{{{{|}||||{{{|{{{|{|{|{||{|{z{zz{z{{z||{{|{|{{z{{zz{{{{}|{zzz|zz{z{|{|{|{{{{zzzz{z{{|{{|{}{|z{{z{{{z{{{{{{||||{z{y{z{|||||{{z{{{z{zz{{{|}{|z{|z{{{z{|{z{}{{{{{{{{{z||{|||||{z{z{zz{|{|{{||||{z{zz{{{{|{||{{{{|{z{{{{|{{|||||{|{|{{z|{{{|{|zz{{{{|{z{||{|{}{{{{{{{z{{{{{{{{{||{{{z{{{{|||}||z{{|{{}{||{{{|}|{{{{|zz{}{||{z|{|{{z||z{||{|}|||{|{{{{}{||{||||}|{{{||{{|||{}}}||{|{|{{{}|||{{|{{{z|{{{{{{{||{}}||{{{|{|||{||}||{{|{{{|z{|||{{|}|{{{{z{{{{|{|{}{z{{{z{z{{{|{|~|~}}{~}~}}}|}}}||{||{{{|{|}|}|}{z||{{{{||||{{||{{z{{z{{|{|{{{{{|{{{zz{z{||{||||{|||{{{z|{|{{|{|{|zzz{zzz{{{{|{{{{zz{zz{{||{{{||{z{z{{zz{{{{{{|{{z{{{{zz{{{{{|||{{{{{{z{z{{z{||{{z{{{{|{{{{|{{{{z{z{{|{z|{{|||||{{{z{{{{|{||{||{|{||{{{{||{||{{|zz{{{{{z{|||{{|{}{z{{{{{|}|{{|||}|{z{|{{||{||||||{z{|z{{|||{|||{{{|z{|z{|{|||}||{{|{{||{||||||}~{{{{{{{{||||||{|{{{{|z|{{||{{||}{{{{{|{||||||||||z{|{|{{}|}}||}|{|||{{{{|||||||{}{{|{|z{|{||||}}|{{{|{{{|{|||||}{{{{|{{{{||{|}|}{{{z{z|{|{{{||||{{{{z{z{|{{{{}}|}}||}~}}}}}~}}|{{|||{|{|}{|{||{{{{{{z|}|||{|}{{zzz{{z|{{|{|}|{{|{{{{z||{|{{{z{{z{{z{{z{{{{||{{{{{z|zz{{{z{{{{{zzz{{z{{{{{{{|{|{{z{{z{{{{{|{||zz{zz{zz|{{|{{|zz{{{z{{zz|{z{{{{{{{z{|z||||z|{|{{{{{{|zz|{|{z{}{{{z{|zz{{{|{{|||{{{{{z{z{||{{}|{{{zz{{{{{|||{}||{{z|{{{z{}z{{{||{{{z{z||{||{|z||{}{{z|{{{|{{{|||||{|{{{{{{{{||{|z||{{|{{|||{{|||{z{{|{{{{}|||||||z{||{||||||||{|{{|{z}|||}|||{{|}{{|{{{|||{}}}||~|{|{{{|}||||}|{|{||{{{||{||||}|{||z{{{{|{||{{|}{{{|{z|{{|||}||||{{{zz{z{}{{{|||{{{z{z{{|{|{z~~~~}}}|}|||}|}}}}|}}z|{||{}|{}||}||{{{z||z{|||z|}{||{{z{zy|||{{{{|{|{z{{{z{{{{z||z|{zzzzz{{{{{{{z||{|z{{{{|z{{{{{|{{{zzz{z{{{{z{|{zz{z{{{{|{||{{{{||{{z{z{{|{|{{|{{{z{{z{z{z||{{{{{z{z{{{{z|z{{|}{{{zz|{|zz|{{{||{|{{{{{{y{||{|{||{z{z{z{{{|}|{|{|{z{{|z{{{|{{{{{|{{{z{y{z{|||{{{{|{{z{{z{{{{|{{|{{{{|{|{{||{{{|||{{{z{{{|||||}{||z{|{|{|{{}{}{{|||z{|{{z{|{|{{||{|{|}{{{{}|{|{||{|{{{{{{{|||{{||}{||{z{||}}|||||}}|{{{|{||{||}||||z{z{|z|{|{||}|}|{{||{{{||{|{|{}{||z{|{{|{|{|{{{||z{z{{z||||{{||{{{{z{zz|||{|}~~~}}|}|}}}}}}||||}|{|{|{||||{{{|||{z|{|{{|{|{{{{{|{z{|{{zz{||{||{|{z{{z{{{{|z{z{{{{{{zz{zy{{{z{{|y{zzz{{z{{z{{{{{|z{{zzzzy{{|z{{|{z{{zz{z{|{|{{{z}|{{{z{z{{{z|||||{{{|{zz{{{{|{{{{{{zz{zzz||{{{{|{{{z{z{z{z{{|{|{{z{zz{zzz{{{|{{{|{{{{{{{{{{{{||{{z{{{|{{z{{{{||{{{{|{{|z{z{|{{|{|{{|{{z{{{{||{{||{{{z|{{{||||||{{zz{z{{{z|{||{|{|z|{{{{|zz{{|{|}|{{z{z{{z||{|{{}||z|{{{z{{||z||||{{|{{{|{|{|{{{|||{z{zz{|||||||||{{|{{{|z|{||||||{zz{{{{}||{|||}}|{{z|{{|||||||{}{{{z{{{{{{|{z|||{|{z|z{{|{|{{{|||{{{yz{z|{|{{~~~~~}|}|}|}||}|}|}}{{||{{{{|}|{|{}{}{{{z{{{||{{||}}z{z{z{z{{{|{{{{{{{zz{{{z|{{{{{{{zz{zz{{{||{{{|{zz{z{z{{{z{|z{z{|{zz{z{zzz{||{|{{z{{|{zyz{{{{|||{{{z{{{{z{{z{{||{{z{z{zz{{{|z{|{|{zzz{z{{z|z|{|{|{{{{{{zz{|{{{||{{{{z{{|z{{{|{||{{zzz{z{z{{z|{{{|{z{zz{{{|{|{{{{{{||{{y{{||{{|{{{{{{{z{{z{||{{{{|z{z{{|{{{{{{|{{{{z{{z{{z{|||{||{{z|{{{{{{{{{{|||z{|{z{{z|{{||{|{{{{z|z{|||{|{|||{{|{{|{{{|{{{}{|{{||{{|{||||{{|||{{{|{}{|{|}{{z||{|{{z{|||||{|}|||{|z|z|||{}||||{{{{|{{{||{{|||{{{{z{{{{|z{{{|||{z{{zzzz{|{||~~~}}}}||}}|||}|}}||{{|{|{|{{{|||{}{{{{{|{{|||{{||{{zzz{z{|{{|{{|||{z{{|{zz{{|z{{{|z{zzz{{{{{||{{|zzzz{{z{|{{{{|{|z{z{zzzz{|z{{|{{{zz{{{{{z|{{{||{zz{z{z{z{|{{{z{|z{z{z{zz{{{{{|{{zz|{zz{{{{{|||{||{{z{{{z{||{|{|{{z{z{{{{{{|{{||||{{{{{{{{{|{{|{{{{|{zz{{|{||{{{{{z|{{yzz||||{}{{|{{{y{{|{{{{|}{{{{{{z{z{|{{|{{|{{{{{{z|{{}||{|{}{{{|{{{{{{||{||}{{{{|z{{||||{{|||{{{|{|{z||{||{|z{{{{|||{|{|{{||||{||{{{{||||}}|||{|{{{||||{|{|||zz{|{|z{|{{|{|}||{{|{{{|{||}||||{{{{{{{||{|||||{zzzz{|{{{{{||{{{{|{{z{{||{{{~~}}}||||~}||}}}}|{|{|{|{||{|}|}{{{|{{{|{||||{|||{z{{{z{{{|{{||{|{z{{zz{z{|{{{{|{{z{z{zz{||{|{|{{{{z{z{{{z|{{|{|{zzz{{zz{|{{|{{{{|z{{zzzz{{z{|{{{{{{{{{{zz{z||z||{{z{{{{z{|{|{|{{{z{z{zz{||{{{}|{{z{{{{zz{{||{|||z{{{zz|{{||||{{{{{{{{z{{{|{|{{{{|{{z|{{|{||||}{{|{{{|z{{{{|{|||||{|z{{{z||||{{{|{{{{{{{z{||{z{{z{}{z{{|z{{|{{|||{{|{|{{{{{|||||}{{{{|{{{{||{{|||{{{{{{{||}{||||||{|{{{|{z|||||{|{{|{{z{|{}||||||{|||{{{{{||||{||{{{{|{z{{|}{|{||||{{{|||}||||||}|||{{{{{{{||||||||{|z{{{{|{||{|{{{{{zz|z|||||~~~~||}|}}|}}|}||}}|||{{|{|||{{||{{}z|{{{z{z{||||||{|z{z{|z||{|{{{||z{z|{zzz|{|||{{{{{{zzz{z{|{{{{|{zz{zzz{|{{{z|||zzz{{z{zzz{||||{z{zz{|{{z{{z{{{{|z{zz{{{z{z|{{}{{{z{z{zz{{{z{|{{{{zzz{{z{z{|z|{zz{|z{{yzz|{|{||||||zzz{{{||{{{|{{{{{z{{|||z|{{{|{{{{{z{{{{{{{{||z{z{z{|{||||||{||{|z{z{{{{||{|}|{zz{|z{{|}{{||{||{|{{{{|{{{||{}|{||{{||{|{{||{|}{{{||{{z|{|{|||{{{{|z{{{|{|{{}|}{{|{|{{|{|{{{{|}|z{|{|||{{|}||}|||{{}{|||}}||}|{||{{{|{|z|{{}||}{||{z{{|{|{||{}{{{{{{{{|{{|{|||||}z{{||{|{|||{{|{||z{{zy{|{{z~~}~|}}|{}}}~|}|~}}{|{||}}|{}|||}|}{||{{{zz|{||{|{|{{{zz|z||{|{|{|{{|zz{{z{|{z{}{|{{{z{yz{{{{{||||{zz{zz{z{{{{{{{|z{{{{y{{{|{||{{{{{z{z{y{{{|{{||{|z{{zz{zz|{|{||{{zzz{yzz{{{|z|||{{{z{z{{{{{{||}}{z{{{{zz{|{}{{||{{{{{z{{|{{{}|||zz{{{{{z||{{{|||z{zzz{zz{|{{{|}||{|y{{z{{|{|{|{|{zz{zz|z{{|{{}|{|z|{{{{{|{|{{{||{{{{{{z{||{||||||z{{{{|{|{|}}}{|{z||z{z{{||}|{}{|zz{{{{z{||{}|}||{||{{||{|||||{|}|z{|{|{|}|{|}|{|{|||{{{|{|||}}|{|{||{||||{||||}||}|{{z{{|||{|}||{{{{{{|{|||||}}|{{zzz|{{{|{|{||{{{{{zz{{{||{~~~~}}}}||}|}}|~}}~}}|{|{|{{|{||{}|}}{}{{{|||{|||{||||z{{{{{{{||}|||{{{{{z{{{|{{{{|{{{|{{zy{{{{{z{z{{zz{zzzz|{{|{{||{zz{{{zz{{{{{|{|z{zzyzz{z|{{}{|}{{{{z{z{{{{{{|||{{zz{z{z{{|{z||{{zzzz{|{z{z{|{||z{z{z{zyz|z|{{|{|{{{z{{{{{|z||{}|z{y{{{{{{|||||}z|{{{z{z{|{{{}||{{{{|{{z||{|{||{|{z{{{{z{{}||z||{|{{|z{z|{{{|||||{{{{{|{{{|{||~}|{{|{z{{||{||}|}{|{{|{zz|||{{||{|{{}{{{{|{||||}{{||{{|||{||{|}||{{z|{}{|||{|||||||{{{{{{{{{|{{|||z{z{{|{|{{||||||{z||z|{|||{{|}|||{z|{z{{||{|{|||||{{{|{{||{{||||{|zzzzz|{|{|~~~~}}}||}|~|}}}}~}|{{{{{{||||{|||}|z{{|{{z||}|{{|||{{{{{zz{||{{|||{|{{zz{z{{{{{{{{|{{{{{zz{{{{{}||{z{{{{|{z{z{{{|{{z{{{zzz{{|{{|{||z{{zzz{{{|z{|{|z|{zz{{zz{|z|{{|{z{|{z|zz{||z{|||{y{zzz{{{{{{{{{{z{|{{{{{|{}{{|{{{{z{{{{||{||{||{z{{{{{z||{{z|{|{{z{{{z{||{z||||{{|{|{{{{|||||{|{{{{|{{{|||{|}|}||{{{{{{{{{{{{|{{z{{{{{{|{|||{|{|||{||{{||||}||||{{{|{{{|||}|z|||z{{|{{{|}|||{}|{{{{{{|{|||||}|||{|{z{{{|}|||||}{{||{{{||||||}|}{{{{{{|||{||{|||||{|||{||||||}|||||{{{{{{{|{|}|{|||{{|{zz|{|}|{{{z{{z{{{{|{||~~~~~}~}}}{|||}||}}}}|||||{|{|{|||||{|z|{|z{{{|{|{{|||{|z{{{{|{|{{}{{{z{{{{z{{}|{{{|{{z|{z{zz{{{{{|{|{z{{z{{{{{{{||||{{{z{z{{{||z{|{{{yz{{{{{{{{{|{{{{z|zzzyz{|z{{{{|{zzz{z{{{{|z{{|{z{z{zz{{z{{{{{|{{{z{{{{z{||{||{|{{{z{z{z{||{{}||y{{|{z|{{{{|z{{|{{{|z{{{{{|{|{|{|{{{{z{{{|||||||{{{z{{{z{|||{|{|{|{z{{{{z}|||{|{{{{{{zy{||{|||||{|z|||{||||||||}||{{{zz{{{{{{|{}{z{{{|{{||{|{|}||{{{{||{{|{||||{|{{{{{{{{}{||||}|{||{{|{}}{{|}|||z{{{{{|{{{|}|}|||z|||{}|||||}{|z{{{{z{{}||}||{|}{z{|{{z|||{{|}|{{{z{z{z{{||{~}}}~~}}}|||||~|}}}||||{{||{||||||{||z|||{zz{{||{{}||{|{{z{z{|||{{}}{|zz{{{{|{{z{|||{z{{{{z{{||z{||||zz{{zz{{{{{||{{{yzzz{z|z|{{z{|{zz{zzzz{{{{{{{{||z{{zzzz{{||{||{{z{z{z{z{|||{{|{{{{{y{{{{{z|{{{|zz{{z{{{z||}{||||{{{z{{z{|{z{{{|{{|z{z{{{|}{{|{|{{{z{{{{{|{{{{}}{z|{z{{{z||{{{||{{|{zz|{{|||{|||}{{{{{{z{|{{|{||{|{{|{{z|{|}|{|{{|{{|||{||||{}||{{{{{{zzz||{}{|{|z{|{{{{|||{}||}|{{{|z{{|||||||{|{{{|{{{{|||}{|||{{{{|{{||||||||{||{|||{{{|{}||}{{||{{{{{|{|{}||z{{z|{{z||||{||{|z{{{|{z||{{{{{|{{{z{{{{|||||~~~|}~}|}|}{{}}}}|}}}|}z||{|{|||}|{|||{{|{||{||{||{|||{{zzz{{{{||{}{|zz{z{{|z{|zz{||||{{{z{{{z|{{{|{{zz{zz{{{{{|{|{{{{z{{{z{z{{||{{{{z|z{z{zz{{|{|{|||{{{z|{z{z{|{{|{{z{{|z|{{{{|{|{{|z{zzz{z{{{{{|{{{{{{|{{z{{{||{{|{{{z|zz{||||{{||zz|z|z{{||{{|||{{{{{yz{{{{{{{{||{{{{zzzz{|||{|||{y|{||z{|{||||}{{{|zz{{z{||{{{|||{|zz{{{{{||||||{z|{{{{|z|z|||||{{{{z{y{{|||}||{|{{{{z{|{}|{}||}{{{z{{{||}{||}||}|z{{{z{{}||z||}{{{|{{|||||||}}||||{{{{||{{|||}}}{{{|{{||||}|}|}{{{{{{{z{{{|{{||{{z{{z{{{}||{|}||z|{{{z{z}{{{~~~~~}~}{}}}}||}|}~}||{{{|{||{|}||||{||{{|{{{z||{||{{{zzz{{z|{{{|||{{|z{zzz|}{z{{|{|z{z{z{{|||{z{||{{{z{yz{{{{|||{{{{{z{yzz{{}{|{||{z{{y{{{{z{{{{{{{z{zz{{zz|{{{{||{{{{zzz{z{{{{{|{|{z{{{{zz|{|z|{{{{{{{z{z{|||{{{|{{{{{z{{{|{{|{|{{{{{{z{{{{||{{|{{{{{{zz{z{{||{{|z|{{{{{z|||z{|}|{{{z{{{z||{{{|||{{{{{{{{|||{|}||||{|||z{||||}{||z{{{{{{{{{{|{{||z||z{{zz{|{||}{||{z{||{{||{|||}|{||{z{{||||{|{|||{{{{|{|{}}||}|||{{{|{|{||||{||||{{|zz|{{|||{|}}|||{{{|{||{|||{~{||{{{{{|{{|{|}||{{{{|z||{{|{||{{{{z{zz{||}||~~~~}~|}}||||}||{}|}|}|{{{{{{z||{||||{|z{{{{z{{{{{{{||{{{||zzz{{{{{|{|{{yzz{{zz|{{z{|{{{{{{{{zz{|{z{z{zzzzyzzz{z{|{|{{zzzzz{zz{{|{{z|{zz{|zzz{z{|z{|{{{{{zyz{z{{{zz{|}{z{{{z{zz{{z{z{z|{zzzzzz{z{z{|zzzz{zyzz{z{|z{{{|{{{z{z{{{{{{|{{{{{z{zyz{{{{|{{|{{{{z{{z{|{{{||||z|{{z{zz{}|{z{|{{{{{{{{|}||{{{||{|z{{z{{{{{{{{||{|zz|{{z|{}||{{{z{{{{z{z|{{|{{|||{{{{{{{{|||||||{{{{{{{z|}|{|||{{{|z|{{{{}{|{|||}{{{z|{{{|}{|{|}z{|z{z{{{|{{|||||{{{{{{{{{|{{|}||{y|{z{{|{{|{|{{z||z{z{{{{{||{||{{z{{{z{||{|{{{||{z{z{{{{{{{{~~~~}}}|}|{}||}}}}}|}|{|{{{|z|}{|||{|{{{z{z{z|{{|{{|||{{zzzz|{{|{{|{|{{{{z{{z{|{{z{|{{{{{z{z{{{{z{{{{{z{zzzz{{{{|{{{|{z{zzz{z{|{{zz{z{z{zzzz{{{z||{||{{{zzzzy{{z|||{{{{zz{zzz{|z{{{{|{{zz{{{{{|{z{{{{{{z|{{{z{|{|{{}|{z{z{y{z{|{{{||{z|{{z{{{|{|{||{|{{{{z{z{{{z{{||{{{{{{{{z{|{{|||{{z{z{{z{}|||{z|{{{{{{{{{{{||{{|{{{{|{{z{|{{{{{{|{{{{{|{|{{{||}{||{{{|{{z||{||{}{|{|||z{{{|{|{{}{{{{{z{{z{|{||||||z{{{{{{|}|}|||||{{|{|{z||||||{{|{{{{{|{{{|{{|{{|||{{|z|{{{|||{|{{{{{{{{|{|z||}|{||{z{{{{||||{||{z{{zz{{{||{{~~~~}~|}}|{}||}}~||||||{{z{||{|{{{|||||{{z|{||{}{}|{{||{zzz{{z|{|{||||{{zz|z{{{z{{{{||||{zz{{{|z|{{{||{{{{z{{{|{|{|{{|z{{{z{{z{z||{{|{{zzzz{{z|{|{||{|{{{|{{{{{||{{{{{{{z{zz{{{{zz{{{|zz{z{{z{{|{|||||{z{{z{{z{|{||{||{zz{{z{zz|{{|{||{{{zz{{z{{|{{{z|{{{z{{{{|{{|||{{{z{}|z{{z}{|{|{|{{{zzz{||||||{|{{{{{{{{{||{|z||||{{{{{z{{}||||||z{{{{{|{{||||||{z{z{{{{|{||||||||z{{{{{||{|{|||}{|{{{{||{|{|}||||{{z{{|{|}{||||}|{{||||z}||{|}}||{{|{|{|||{||||||{{{|{{|{|}|||||zz{{z|z||||||{}}{{{|{|{{||||{||}{{|zzz{{{{|{{~~~~~}~~{}|||}|}}|}~|}||{|{{z{{}|||||{{|{|{z{{{{{{|{{{||{{{z|{{|{}|{|z{{{{{{z{{|{{{{{|z{{{{{{z{||{{{|{{{|{{zzzz{{{z{||{z{z{{{{{z{{{{{||{{zz{zz{|{|z|{{|{z{{{{{z{z|{{{|{{{{zzzz|{{{{{||||{{z|z{z{|{z{|||{{{{{zz{{}{||}{|{{{z{z{{|{|{|{|||z{|{{|{{z||{{{||{z{{{z{{{}{{{{||{{z|z{{{|{||}|{{{{z{{|z||{{|{}||{z{{{{|{{|z{{{||{{z{{{{}|}||}|{{|{{|{|{|}{|{}||{{{||{{{|||||}|{}{{||z{{||||{|||{z{{{z|||}||||}z|{{|||{|{~||{}||{||{|||z|||}|||{|{{|{||{||||}|||{{z||{|{||||}}}|{{|{{|}|{}||{||||{|{{z{z{|{|}|||z{}z{{|z{{{|{~}~~}}|}}||}|}|}||~}{||{{|{|{}{|||}{|||{{{{|{{|z{}||{{{{{{{||||||||z||{{{{z{|}z{||{{{{{{{{{{{||{||{z{z{z{{{{{|{z{||{{z{{z{{{{|{z{||{z{{|zz||{{{|{|{{{||z{{|{||{|{||{{{{z||zz|{{||{|{{{z|zzz{||{||||{z|{|{z{||{{|||{|{{{{{{{{||{{z{|{z|{zz}|{{{{{|{|{|{z{|{|{|{||{||{z{{{||{|||||}{}{{{z{{{{|||||{}|{{||{{z{{||{||||{{|||{{{|||||}||{{|{|{{{|||||||||zz{{{{|||{}||}{{{{|{|{{||||||}||{{{{|{|}}|||}}}|{||||{||}{}{{}||{|||{{{|||{|||||{{{z|{{}}|{}}}}|{{|{|{|}|||||{~{|||{{|{}|||||~||{|||{|{{{}{{|||{zz|{{{{|{|{{~~~~}~~}}}}}}||||}}}~}|||{{|||{}||||}}|}||{{|{|||||{|||{|{{||{|{|{||{|||{{{|{{{z{{|{{||{{{{z{{z{{{|z{z|{{{{{{{{{{{{|{{||{{{{|z{z{{|{{{{||{yzz{{|{|{z|{|||z{{zz{{{{|{{|||{||zzz{z{{|{{|{{{{zz{{{zz{z{{|}{{z{z{zz{{{{{{|||{{{{{{{{{|{|{{{|{{{{{z{{{{{}||||{{{z{|{{{{{{||||{{{{|z{{{{{|{|{{{{z|{z{|{{{|{||{|{z|z{zz{|{|z||{{{{|{|{{|z{||||{{{{{}{||||||{||}{{z{{{|z|~}|{|}||z|{|{|{{}|{||~|||{{{||||}{{}}}||{|{{|{{z}|}|}}||{{{{|{{|{{||}|||{|||{{z{|{{|||}}|{{}{{{|}|||}|}{|{{{{z{||{|||}|||{|{|{{{|||{{|||z{|{{{{||||{~~}~}~~~|}}}}|}}|~}~}}|||||{|{|{|{||{||{|{{{|{zz|{||||||{{{{{{{{|{|{{|{|{z|z{{{{z{|||||z{{{{z|z{|{}z{||{{{{zz|{{{z{{{{|}|z{z{z{{|{{|z{|{{z{z{{z{z{|{{|{{{{|zzyzz||||z|||{{{zz{z{z{{z{{{z{zz{{z|z{|z{||||z{z{{|{{{|{|{||||{zzz{{z{}|{}|{{|z||{z{{{{{{{||}{|{{{zz{|{|}{{{|{{{{z{|zz||}{|||z{{{|{{{||||{{}|{|{{{{{{{||{{|||z{|{z{{{|{|||}||{{|{{|{{||||{||||{{|z{{{|}||}||||||{|{z{||||{|}{|{|{{{}||{||}||||{|{{{{{|||}}}}}|{|||{||||{|}|||{{|{{{|{|||||||}{{||||{{|||}}}|}||z|{z||||}{|{}||{{|{{|z|{|||||}{{{{{{||z{||{}~~~~}~}}}}~~|}||||{}|}}|}|}}{|{z||z|||{{{|{{y{|{zzz{{|{{||{{{{{z{{z|z||{|z{{{|zz{z{z{z{{{{{|{zz{{{z{z|z{|{{zzz{z{{z{{|{||||{z{z{z{z{{z|{z|{{z{zz{yz{|{{{{||z{{{{{{{|{{|{{|{z{{{{zz{{{|{{{{z{z{z|y{zz{{{{{|{{zz{{zzzz{{{|z||{{{||z{{{{{z|{{|{{{{zz|z||{{{{{|{{{zz{{{{||{|{|{{{{||{|z{{|{|{{||zz|{{|z{||||||||z{||{z||||||}z|}{z{|{|{}|{|||}|{{||{{{z||||||||{{|{{{{{||{{||||{{{{||z{{||||}|{{|}{{{||{||{|}}}|{||{{{||}|||{}||||{|zzz|}}||||}{{||{z|{{}{|{}|}{{|{{{|{}{|||{}}{|{{|{|{|{|{{|||{z{{{{{z{{{{|{|{|{{zzz{{{{|{{~~~~~}~}}~}}}|||{||}|}}|}}|{{||{|||{|}{{|||{{|{{{{||||{|||{{{{{{{z|||{{|{{{{{{|{{{{{{{{|{{{z{z{{z{z||{||||z{{|{z{{{z{|{|{|{z{z{z{{{zz{z{|{{z{z{{zz|{|{{{|{{z{{zzz{{{{{|z|{{z{zzz{zz|{{{|{|z{z{{z{zz{{{{|{{|zz||{zz{{{{{|}|{{{{{{{z{{|{{{||z{zz{z|z{||z|{||{z{{{{{{|{}{|||{{|z{zz{{{|{||{{|zz{{yzz{|||{z||{{z{{|{zz|}{{|||{|{{z{|{{|||||{}|{{|z{{{z{||{||||{{{{{{{{||}}{{|{|{{{|z{{|}{||||{{||{{||{{|{|}|}}|{|{{{{{}||||||}{{|{{{z|}||||}|||z{{{{{|{||{{||}|||||{{{||||{{{|{|{{{{{{|{||||||}{zzz|{z{{||{{{{z|{{{{{{|{||{~}}}~}~}|}~|||}|}|}}}|}}{||z|{|||{||{{{}|z{{{{|{{{||{{{|{z{{yz{{{{{|{{{|{{{{zzzz|z{{{{|}{z{{z{{zz{{{{||{z{{{z{{{|z{{z{{|z|z{z{{zzz{{{{{zz{{|{{{zz{{{|{{{z{{zz{{z{{{{z{||z|{{z{{{z{z{{{{{{{{z{{{z{{{|||{|{{{{{zzz{|||z{{{{z{z|{{{{|{{{||}{{{{{zz{{{{{{|{{|z{z{{{z{z{{|||||zzz{z{zzz{|{|{||z{zzz{z{{{{|||{{{|{{{{{{{{{{|{||{z{{{{{|{}}{|||{{{|{{|{||{{{}||{{{z{zz{{}{|{{||{{z{|zzz||{|{|}||{{|z||z|||z||{|||{z{|{|{}||{|}{|{|{{{{||||||||}|{z{|{y|{||z{}|}{{{{}|{||{{{{|||{{z{{|{zz||{{{}{|{|{{{{z{{}||z||{{{{{{{{{||{{~~~~}~}}}~|}}}|{||}{z||}|{|}{{y{|{|||}{}|||z{|z{|{{{|{z{{{{z{zyz{z|{{|z|{|{{{zz{z{{{{z|{{{{{zzzz{{|{{{{|{{{z{{{{z{{{z{z{|{zz{zyz{z{|{|{{{{zy{z{zy{{{{{{{{{{z{zzyz{{{|{{|{|z{z{zz{zz{|{{||{{{zzzzz{z{|{{||{{{{zzzz{{{|{|{|||{zzz{z{{{|{{{|}{{z{z{{{{{{{|z{{{{{|{{{{z{{||{|{{z{z{zzz{|||{|{{{{{|{z{{{|{{{||z|{{{z{z|{|{{z}|{{{||{{{|}z{{{||{{{{{zz|{||{{{|||{{{|{|z{||{|||}{|{z{|z|z{||{||{|||{{{{{{{|{|||}||{{|{|{|{|{{||}||{{z{{||||||{||{|{{{{z{{{|{{|{||{{z{{{{|||{||{|}{|{z{||{{|{|{{|}||{{{{{{{{{||{||{|{z{zz|{z||{~~~~}|}~~|}}}|}|}|{{}{~||||~||{{z||{z{{{||||{|{z{z{{{{|{||z|{{{{{z{|{|{{{{{|{{z{z{{{z{|{{z{{{|zzzyz{yz{zz{{||{|{|z{z{{{z{{{{|{z{{z|{{z{{z{{{{{{{{z{zz{{|{{{||{{{zz{z{z{{|z{{{{{zzzzz{{{{{{{||{{z|z{z{z{{{||{{{{{{{zzz|{||||||{|{z{{{{{|{{{{|}{{{{zz|{{z}{{{|{z{{{{z{z{{|{{|{|zz{}{{{{z|{{|{{{z{z{{{{z|{|z|{}{{{{{{z{{|{{z{{{{z{{{z{z{|{{{|||}{|{|{||{|}|{{|||||{|{z{{|||||{}||z{{{{{{{{{|{{}|{|{{|||{||{{||||||{{{{{{{|{{||||{{{|{{|{||}||||||{|{{{{{{{|||||||{z{|{{|{{{|||}|{z{{{z{{{|||{{{|{|{{{zz{{|{{{||{|{{{{{zz||||{~~~~~}~}|~~}}}~|}|}}|}|}}||||}}||{{||}|||{|}||||{{{{{{{|||{|||{{{{z{{{z}z||{|z|z{z{{{z{z{{{{|z{{{{{{zz{{{{{{{{{{{{{z{z|{{|z{{{|{{y{zzz{{||{{||{{zz{{{{z{|{|||||{{{z{zz|{||{|{z|{{{{{zzz{{zz{{|{{{zz{z{z{{||{||{{{{{z|zz{{|{{{|||zz{{{{yz{{{{|||{z{z{z{{|{||{|||z{{{{{|z{{}|{|||{z|zz{{{{|||{{{|{{{{{|zz|{{|z||||{{|{{{{|{|{{{||{{{|{|{{{|{|}||{{z|{{|}{{|{|||||{{{{z{{{{|||{|}|{{|{{{{z}||||||}{||{|{z{{||{|{{{|z{{{|{{|~||}{}}|{|{|{{||||{{{||{{z{{||{{|{|{|{}{|{{||z|{z{|{|{|{{{{{{{z|||{||{}{{{{{{{{{|{}|{||{zzz{z|{|{|{{~~~~~}~}~}}~}}}~}{|}}||}||||}}}||||{{||{{}||||{|{{{|{{{{{{|{{{||{{{z{z|{{|{{{||{|{{{{{{{{||{||||z{{zz{{z{{|{z{{{z{zzz{x{{|{{{{{{z{{z{{{z{||||{|{{z{{z{z{{{{{{||{{{z{z{zz|{||{}|{{{{{{zzzz{|{{{{{||{z{{{z{|{{{}{{z{z{{zz{{|{z|{{{{{{yz{z{{|{{|{}|{{}zzz{{{|z||}{|{{{{yz{y|{|||{||{{z{{{{{{}{|||{|{{{z{{{z||||{|{|{z{{{z{z||||{}||{{z|{{zz|||||}||{{zz|{{{{|{|}||}{{{{|{{z{||||}{{}z|{|{||}|||{|||{z{}{|{{{}|}}||||{{|{}{{{|}||||||{{|{{{{|||||||||{||{|{{{|{{|||~|{{}|{{|}{||{|||{{{z{z{{{||{{||||{{{z{{z|{||{{|||z{{zz{{|{||{~}}~}{||}~}|~}}}}{{}{{||}|}|}}}|||||{{||||{|{|||z{{|{|{{|{|{{||{{{|{z{z{{||{|||zz{z{z{{|{|{|{||{{|{{{{z{{|||{||zzzz{{zz{z{{{{z{{zz{{zzz{{{z{|{{{|z{{{{{z|{z{{|{{{|{z{{{{{{|{{|{{z{{zz}y{{z{{{{{|{{zz|{zz|{{{|{||{{zz{zzz{}|{||{|{|{{{{{|{{|{|||{{{{zz{zz|z{{{{|{{{{z{z{{|{{{|{|{|{{{y|z{|||{{{{|{{{z{{{{|||{{}{|zz{z{{{{{{|{||||{}{{{{|{||}|{|{{z|{{{{{||z|{||||{y|{{{{|||}||||}{{{|z{{||{|}||}{{{z{|{{{}|{{}|||{|{{|z{{||{|}}|{{|||{z{}|{|{|||{z||{||{{|{||}}|||{|{|{{||{|{}||{{z{z{{{{||{|{|||{z{zz|{{|{{{{|{{{{z{{{z{{|{{~~~~~}}}}}~~}~}}|||}|||||}|}}}}||{|}{|||}|||||}{{|{{{}|{{|{{{z|{z|{{{z{{||||{||z{|zzy{zz||z|||{|{{{{{{z||{{{{{{|{{zz{z{|{||z{{{{{{z{zzz{{z{{{|{|{{{{{zzz|{|||||{{{{{{{z{zz||{|{z{{{{z{{{{{{|{{|{{z{z{{z{{{z||||{z{{{{{z{{{|{{|||z|z|{zz{{|{|{|}{{{{{{{z|{{{{{{{{{{{z{{{|z|{||}|{{|{|z{z||{{{|{}{{{{{{{{{|{|{||{|z{{{{{{{{}|{|}z{z{{{{{{{||}}||{{|{zz{|z|{{||{|{{|{|z|{{|{|||||||{z{{z{{||||{|}}|{|{{|{|}||}||{|{{{|z||{{}|}{}{{|zz|{|{z{|||{||}|{|{||||||||{||||{||{{{||{{|{|}|{{|{{{z|{|{{|||{{|zz{z{{{||||{|{{||z|{z{|{||{~}}~~}}}}|}}}|}}}||||||||}}|}||}{{|{{{|{{{|}||{}||{|{z{{{{{||{{{{{{|z{z|zz|{}{|{|z{z{{|zz{|{{{{|{{{{zzz{{{{{{z|{{{{{zz{{z{{z|{|||{zzzz{zzz{|{{|{{{{{|zzy{{{{z{{||z{{{zzz{{|{|{{||{y{{{zzz{{|{{{z{{{{{{{{{{{{z{|{{|z{z{{z{{|||{{|{{{{zzzz{|{{{{{|{{{{|z{{{z{{{||{{{{{z{zz{{|{|{{|||{z{{zz{|||{{|{|{|{|zz{z{|{{{{{{{|z{{{{{{|{{|||}{{{{{z|{||}|}|||{{z{{|{{|||||{|||{||{{z{|{|{{{}|{{{{{{|{|}||||||{zz{||{{|}||{}|}||||{{{||}|||||}||{{{}{{{{||}|||}|{{{{|||{|{|{}|||{{|{z{|{|||{|}{{{|{{{{{}|||||||{{{{{|{||||{|||{{{z|z{{{{||{~~}}}|}}}}}}~}||||||||{}|||{~~|||{{{{{|{|{{|{{||||z|{{{{|||{{{{|{{z{|{{{{|{||{{{{{{{{{{{||||||{zzzzz{z|{}{{|z{{zz{z{zz{{z{|{{{{z{z{z{z{{|{||{{{|{{zzzz{{{{|{{{{z{{|{zz{|{|{|{|{{{|zzzz{{{{z{{{{{zz{zz{{|z{{|{{zzz{|z{z{|{|{||{{z{{zy{{z{}{|{{}{{z{{z{||z{{|{{}{z{{zz{z||{{{{||{{|{{{{{{||{{|{|{{zzz|z{|||{||||{z{{{||{}||{{|{||{|{{zz||{}}||||{{{{{z|{||{|{|||{z{{{z{z|{{}|||{|{{{{|{{|||||||||{{|{{|zz}{||}|||||{z{{{|}}||}||{{z{{{|{|||||{{||{|{{{{||{|||}||{{|{{{{z{||||||||z{{|zz{|}}|||||z|{{{{{|{|{||||{|z|{{z{|{|{||~~|~~}~}}}~~}~~~~|{{||{|{|{}}}{||||{|{|{{|||{|||{|{{{z{|{{{|{z{|{|{{zzz{{{{|{}|||{{{{{z{{{||{{|{z{z|{{{{{|{|zz{{{zzzz{z{zz|z|{z{{zz{zzz{zz{{z{{{{{{{{z{{zz{|{{{||{{{{{z{z|{{{{|{|{z{{{z{z{{|z{z{||{{{z{{{{{z||{||{{|z{{{{{|{}|||||{{{{yz{{{||z|z|{zz{z{{{{{|{||}|{{{{zz{{|||{|||{{z{{{z{{z|{{{|||z{{{{{{{|||{||||{{|{{{{{|}{||{|||{{|{{{{|{||{}}{{{{{||||||{|||}{{{|z{{z{{|{{||}{|{{{{{|{{||{{{||{{{{z|{{{||}|||}||{|{||{{}{|}|||{z|||{||}|{||||}||{|||{|{||}|}|||{{|{{{{||}{|||||{|z{|{|{{||{|}{{|{{{{{z|||||||}{||{{{{{{{{{|~|}|||~|}~}}~}~|||{{|{|z|}}}|||}}{z{{{|{{{{|||{|{{{z{z{z{|{|}||{{{{{zz{|}}||{{{{z{{{z{{{{{{|{{{{{{{z{{{{{z{{||{{{zzzz{z{{z{|{||{zzzz{z{z{zz{{{|{|{zzz{{{{{{z{{|||y{{zz{zz{{{{{{{{{zz{zzy{{{z{|{{{{z{zzzzz{{{z||{yz{z{z{{{{{{{{{{{{{z{z{{{{||||{{{{{z{z{z|{{{{|{{{{{{z{{{{|{{{{{|{{{{{z{{{{|{||{||z|{|z{{{||{|||{|{{{{{{z||{{{|{|{{{{{{{z{{{{|{||{{{{||{{}{||{||}{{{|zz{{}{{||{||{{z{{{{{{|{|||||{|{{||{||z|||}|||{|{{|||{|||{|||}z||{{{z|||||||||{z|{z{|{||||||||z{{{|z{|{{{||||{z{{|{{{|{{{|||||{{{z{y{|}{{|||z{{zz{zz{{{{|{}~~~|}}|}{~}}}}|~~|{||}|||}|||||}|}||{{{{{}|{||{|{{{{{{{zz{|{{||{{{{{{{{{z|{{{z|z|{zzz{{zz|||{{{{|{{{z{{{z{||z{{{{{zzz{{zz{{{zz{{{z{{{z{zzz{{|{{|{|z{zzzzz{{{z}{{|{{z{z{{z{z{|{{{yz{z{{{zyz{{{{||{{{{z{z{{{{{{|{||{zz{{{zz{{{{|{|{|{z{z{z{zz|{{|{{{{{{zz{{{z{||||{z{{|z{{z{||{|{|{{{{{{z|{{{{|||{{||{{{zzz{{|||{{{{{{{zz{{{|{|{{|{zz{{{{{z{||{|z|{{|{z{{{{|{||}||}|{{|{z{{{}|||}|{|{{|||{{}||{||||{zz|z{|{|||||||}|{}|z{{{|}|{|{}}{{|{|z|||{||}}{||{{{||{||||{}|}||zz{|{{|||{|{{{|||{{|z|{|||{|{||{z{{{{|z{{||{{|{{{{z{z{{{}{{|~}~}||~}|}||}}}}|~}}{}{{{{z{}||{}|}{|{{{|{{||{{||{{{{{zz{z{{{{{{|||{{{{z{{z{{|{z|{{{{zzzz{z{z{{{{|{{z{z{{zz{{|{z{{{z{zzzzz{||{{{||zz{z{zz{z{{{|{z{{{{{{zzz{z{|{{{{|{{{zzzzzzzz{{}|{zy{zzz{zzz{z{{{|z{yyz{zzz{{y{{{{{{{{z{zz|{{|{|{|z{zzzzz{{{{|{{|{zz{{z{{z|{{{{{{|{z{zzz{{z{{{|{{{{{{z{zy{z{{|{{{z{{{{{zz{{{||{{|{z{z{{zz{{{}zz|{{{{z{{zz{||||||{{{zz{{{{{|{{{{{||||{|{{{|||||{||||zz{{{{{|}{|||}|{{{{z{{||{{|}|||||{z{|{{{}||}||{|{|{||{{||||{{|}|{{|zzz{{|{||{||{{{{|zz{||||{|{|{{{z{{|{||{|{||{{|{|{{zz|{{||||{{{{z{zz{{{|{{~}}|}|}}}|||~|}||||}{||{{||||~||}z|{z{|{||||||{|{{{|{{{z{{{||{{||{{{zzz{{{{{{{{{|zz{{{z{zz|{z{{|{{{zzz{{z{z|{{||{|z{zy{yz{|z{|{||{{{zyz{z{|{{{|{{{zzzy{zz|z{z|{|{{z{z{{{z{{{{{|{{{z{{zz{{zz{{{{zzz|{z{zyz{{{{{|{{{z|y{{{z{{{{{z|{{{y{zzz{{|{z{|{{{zz{{{{{{{z|{{||zz|{{z{z{|||}}|{{zz{z{zzz{{{{}|{|z{{{{{{{||||{}{|z{{z{z{|{|||||{{{|{|{|{z{||||||{{{{{z{|{|{{||||{{z{|{z{{||||{}{|z|{{|z||}}||}||{{|z{{}{{|||||}}{{{|||{{|}{||||||||{z{|||{||{|||{{z{{{{|{|||}}}{{{{|{{{|{}|}}|}|{{{{{{{{|||||{|}|{{{z{|z{|}|{{}{z{{{{{{{|{|{{}~}}~||}||}}}||}}||||}{{|{{{||{}}{}||||{{{{{|{{}||{||{|{{z{{{{}{{z||{z{{{{z|{|{{{{{{{{zzzzz}{|z{{|{{{{zz{z{z{{z{{{z{{{{z{z{{|z{{{{{{{z{{z{zz{z|{|{{{z{z{z{{{{|z{{{{{{{zz{{z{{{|{{{|{{z{{z{{{{{z{|||{{{z{z{zy{|{|||{z{z{z{zyz{{{z{|{|z{{zzz{{{{z{|{{{z{z{yyz{{{{{|{|z{{zyzz{{{z|z|{|{zzz{z{{{{{{|{|{{{{{{{zz{{{{|{||{{{{{|{{|{{{{|z{{{{{{z{z{||||||{||{{{z{{{|{|||}|{{{}{z{{{||{{||||{{z{{|{{|{{||}}{{{{{{{{||||||{}}|{|{|{{||{|||||{{{{{{|||||||||||{{{{{|{||}||{{}||{{|{{||{|{}{|}z|{z{{zz||{||||{|{{{{z{{{{{||||{{{{{{{{{|{{||}~~}}|||||}}}|||||}{{|{z{}{|{|{||{||{|z{{{{{{{|||||{z{{|{{z{{|||{}|{{|{{z{z{{{|{{{|zz{{{yzz{{|z{||{|{{zzz{{{{{z{|{{|zzzz{{{{{{{{{|{{zz{{{z{z{{|{{||{{zz{{yz{{|{{|{{{zz|z{zz{{z{{{{{{zz{{zyz{{{{z||{{{{{{{z{z{z{z{|{zzz{{zzz{{|||{||{|{{{z{{z{{{|{{z|{{{zzz{|{z{|{{|{|zy{z{{{||{{|{{{{z{{zz{{{|{|{{{{z{{{zzzz||{{|||{{{{|{{{{|{{{{|||{{{{|{{||{}|}{|{{{{{{|{}|||{|||{|{{{{{{{||{{{|{{z{{{zzz{|||||}}|||{||{{||||||||||{|{|z{|||||||}|{|{{{|{|{{|||||||{|{{{|||{{||||{{{||||{{{{{z|||{||z{||{||||{||{|{{{{{{{{{|{{||{{{{{zzz{z{{{|~}}||{|}||{|}|||}||{|{|{{z{{||{||||{{{{{{{{|{|{||{|{z{{z{|{|{z{{{|{{{{{zzz{{{|{{z|{|z{y{z{zz{z{{{{{zyy{zzzzz{|yz{{z{zy{zzzy{z{{z{{{|{{y{zy{{{z{{z{z{zzzzzzzy|{{||||z{{{y{zz{{{z{|{|zz{{zzzy{{zz{{z|{zz{z{z{{{z{||{{z{{{{{{z{|{{{{{{{{z{{zzzz{{{{{{{{z{z{zz{{{{{|{{{{{zyyz{{|{{{||z{{|zzzz{{{{|{|{{|{z{{z{{z{{{z{{|{z{z{zz{{{|{{{{||{z{{zz{zz{|{|||||{{{{z{{{{{{|||{{{{{{{{z{{|{{|||{{z{{{{z{|{{{|}|{|{{{z|{{{|||||||{{{z{|{{{|{{{|||{{{|z{{{||{|||||||z{{{|{{{|{||{|{{||{z|{|{|z||||{{z{{{z|||{||{{{|z{z{z{{||{{|{|zz{zzzzz{{{{{~}|||}}{||{}}}}}}|{|{||{{{|{|}|}|{|{|z|{zz{{||{{||{z{z{zzz{{|{z|{|{{yz{{{zz{z{{|{{{z|zzyzz{|{{z||{{{{zz{zz{{|{zz{|zzzzzzz{|{{|{{|{{y{{{zzz{{{zz{|{{zz{yzz{z{{|||{{{{z{z{zz{|{{{|{{{{{{{{{z{{{z{{z{{zzzz{zzzzzz{|{z{z{zz{z{{{|{||{{{{zzz{zz{z{{|||{zzz{{z{z{{{{{{|{|zz{{|{|z{|{{{|||zz{|z{zz{{{|{{{{{{{{z{{{{{{{{|{|{{{z{{z{{|{{|{{{z{z{{z{|{{}|||{z{{z{z{{{{{|{|||{z{{{z|{|{{|{||{{z{|{{{z||}{||||{{|{{{{|{|{{|||||z{{z||zz}{||||}{{{{|z{||||{||||}{{z{z{|{|}||{||{{|{{{{{{{||||||{{{zz{|{{{{{|||{{|zzzz{{{{|{{{||{zz{{zzzz|{{{||~}||}|||{||~}{|{||z|{{{{|{||{||{||{|z{{{{{|{|{||{{{{{zz{{{{{}{||z}{zzzz{z{{{{||z|z{{{zzzzz|{z{{{{{z{zz{{{{z|zz{{{{zzyzzzz{zz{zz{{z{{z{{zz|zz{|{{z{zz{yzzz{{{{{{{{{{{zyz{z{{{{{{{|zz{zz{{zz{zzzz{{|zzyz{zzzz{{{|{{z{{zzzzz{{{{|{||{zzz{z{{{{{{z{|{{z{z{y{z{{{{{}zz{{{zzzz{{z{{{{{{{{z{z{{z{|{{{{{{{z{z{zzz{{{{|{||zz{z{{{z|||{|||{{|zzz|z{|{|{||{{{{zz{{{{{|z{|||}{z{{{{{{{{||{||{{{{{{{z{z|{{|{{}{{{zz{{{{|{{||{{{{{{{{z||{|{{|{{{{{z{z{{{||{{{|}{{z|yz{{{||{||{||{z|{{{|z||{}|||{z{zzzz{{|y||{|{z{{{{{{{|{{|{|{{{{{z{zz{{{{{{}}}}|||}{{|||}|||}}{|{{|{z}|}||||}{{{z|zzzz||{{{||{{{{zz{{{z{|{{{{{{{zzzy{z{{{{|{{|zzz{{{{y{{{{{{{{{{zzzzxy{z|zzz|{zzzzzz{zzzz{{{|{{zzzzzzzz{{{z{{{zz{zz{zz{{{z{{{|z{zzzz{{{zz|{{{|{{zzzy{{{{{z{{{{|{z{zzyzyzzz{|||z{z{z{z{{{{{z{|{zyzz{z{{z|{y{{{{{{zz{zz{zzz{{{{{{zzzzzzz{{{{{{|{{z{z{zzz{{{{{|{zzy|{{{zy{z{{{|{|{z{{{{z{|{|{z{{|{{{{{z{{z|{||{{|{{{{{{{{{}{{||||{z{{{zzz{||{}{|||{{z{zz||}{|{|||{z{{{|{{{{z{{||{|{z{z{{{{{{||||}z{zz{{{z|{||{{{|||z||{z|||||{||||||{|{{|||{{||{{||zz{{z{{{|||{{|{{{{z{{z|{{|{z||y{{zzz{{|{{{{}}~{|{|||||}}}}}|}||||{|{z{|{|{|}||{{{zz{{{{|z{{||{{{{{{{z{{|||z{|{|z{{{{{{{|{||{{|z{{zzyzy{{z{{|{{{{{{{zz{{{{z{{z{{{y{{{zz{{{|{{||{z|{{{zzzzz{{{{{{{{{zyzzz{{z{|{{{z{z{zzz{{{{{{{|zzz{zz{{{|{{{|{z{zz{{zzz{{{{{{||{z{{z{zz{{z{||||{z{{z{{z{{{{{{{|{|{zz{{|z{{{{{{|zz{zzzzy{{{z|{{{{{z{z{z{{{||{{{{{{{{{{{z{{|{z{||zzz{zzy{|||z{|{|{{{{{{z{{{|||||}{{{{zz{||{{||{|||{{{{zzz{||}|{|z|z{{{z{z||{{{|||{{|{{|{{{|{|||||{z||{{{{|}||{||||z{z{z{{}{|||{||{zz{{{|{{|{{|{|||{{{zz{{{{{|||{}{z{yzzz{{|||{|}{{{{zz{{z{|||{{{zzz{{zz{{{|||z|}}}}|~||{|||||{}||}||{{{|||}||~||}|{z||z{{||{{||||{z{{{{{{|||{{{|{{{{zyy{z||{|{|zz{{zz{z{zzz{z{|{{{{{y{z{z{{{{z||{y{y{z{zz{{{{{{||{zzz{zz{{|z{{|{{{zzzzzz{{{{{{{{{{{zzz{{{{{{{{{{{zz{z{{{zy{{|{{{zz{zyz{zzz{zzz|z|{z{{zz{zz{{{z|{|{zzz{{zy{{{|{{||z{{z{{{z|||{{{{{{z|zz|{z{z{{{{|{{|{{zz{z||zz{{{{|{{y{{{{{z||{{|{{{zz{{{{{|||{|{|{{{z{{{{{{{||{||{z{z{{|z|{||||||{z{{{z{{{|{{{|{|{zz{{{{z||}||||}{{{{|{{{|||||{|||{|{{|{{|||{|}|||{{|z{{{{||{{{|{|{z{||||{|||||}}{{{{{{{{||}}{|||{{{z{|{z{{|z|||{|{{|z{z{{|{|{|{|{{|zzzzz{z{|{}~~||{|||}{}|}||}{|||{z||{|{|{|~|||||{{z{{z{|{{{{}{|z{{{{z{{{|||{||{{{z{z{z|{{{{|||zz{{z{|yz{{{z|||z{zz{z{z{{}z{{{z{{{{zzz{|{z|{{{|z{z{{{{z{{{{z{|{z{{z{{zy{|{{||z{z{z{zzzz{{|{{z|{{z{{zzzzz{{z{{{zz{zzzz{zzz{z||{|{z{{{z{z||{{{{{|z{zz{|{{{{|zz{{{zz|z{{|z{{{{{|||{zzzzz{z{|{|{{|{{{{{{zzz{|{{{|{||{{{{zz{{z{zz||z{{z{|{z{{|{{{||||{{|{z{|||||{|}{{{z{{{{{{{||||}|{{{|{{z{||{z|||{|{|{{z{{{||{|||{|||{z{{{|{|{||{|}{{{{{|{{|{||{}}|{{|{{{{}{||{}||{{z{|{{{|||{{|||z{|{|{{{{{{||||}{|z{zz{{|{{{}{|{|{z{|{{{|{{{{{}||{|{zzz{z|{|{}}~}||{{|{||}|||}}}||{|{{|{{||{||||{|{z{{|{|||}|||||z{{{z{{|{||{{|||}|zz{{{{{|{{{{|z|{{zz{z||z{z|{{zz{z{{z{|{{{{{{{zzzzzzz{{{z{{|{{{{{z{zzz{||{{||{zzz{zzy{|||{{||{zzz{z{zzz|z{z{{{{yz{{z{zz|z{z|{|z{zz|{{y{|zzz|{{{{zz{zzz|{{{{{{{{zzz{z{z{}|{{{{|{{|{zz{z{{{{{zz{z{{z{{{{{{{{{||{{{|{{{{{{||z}z{{zzz{z{{{{|{{{{||z{z|zz{{|{{||{|z{{{|{{{{{|{|{|||z{{{{{{{{|||||{}{|{{{zz{{|||||{|||{{{z{{||||}}}|{{{{|{{z|||{||}||z{|{|{z|}||||}|{{{z{z{{||||{||}|zz{{{{{{|{||{||||{|{{{{||{|||||{{{zz|{{{||||{||||{{{|{{||||{{||{{{{{zz{|{|{|~}}}}|||z{{|}}}|{{|||{{|z|{|{|{{}}||{|{{{{{|{{{{|||{zz{z{{{{{{|{{|{|z|z{zyz|||{{{{{{|{{{{{z{{{{{|{{{zzz{zzz{z{{{|{z|z{zzzzz{{zz{{}z|{zz{zzz{|{{{{{{{{{zz{z{{z|{{{{}{{{zz{z{z{|{{{{{{{{zzyzzzzz{{||z{zz{|zz{z{z{{{}{z{z{{{{{z|{{{{{|zz{{{z{{{||{{{{|{{{{{{z{|{{|||||{z{{zz{{z{{{{{|{{z{{{{{z{{|z|{{|{z{|{zzz{||{{|||{{z|{{yz|{|||{{||{zzzz{{{{|||{|{{{{{{||{||{||||{{|{|{z{{|}{{{{||{{z{{{z{}}|{|}||{{{|}|{{{|||||{|{{{{{{z{{|{}|||||{{{{{{{{|||{||||{{{|{z{|{|{|||||{{{{{{{|{{||||||{{z{{|z||{{||{}|{{{{{{{||{|{{|{{z|{{{{{{||{{~}||}|||}}|{}||}|}}|{{{{z{zz||||}}||{{{{{{{{{{||}|{||zzy{zz{|{||{|{|{{zzz|z|{||{|{{{{{{z{{z{{{z{|{}z{{{|zz{z{{{{z{|{z{{z{{z{zz{{{{|z{{zzyzz{{{{||||{z|yzzz{{|{{|{{{zzz{zzzzz|{z{{{|{{zzzzzz{zzz{{{{z{{zzz{z{{{z{{|{{z|zz{zz||{|{{|{{{{zz{{{z{{{{|{|{z{z{z{{{{{|||||{zz{zz{z{|{|{{||{z{z{zzz{|{|{||{{z{{|{z{{}{||{|{{{{{zz{z||{{||{z{{{|{{z{z|||||{{z{|{{z|z||{{{}|||{{z{|{{{|{|{{}{||{{{zzz|}{|{{|{{{|z{|{{|{{|{||||z{{{{{|{}{|{|{{{|||{{|z|||{|{|||z{|{{{{{|{z{||{{||z{{{{||{|||{{{{{{{z{||{{||{|||{|{{z{{{|{|{||{{{{z{zzzz|{|{~}||{{||{|{}}||}{}|{||{{{{{||{|{}||{{{{{z{{{{{|{|{{|z{z|||z{{{{|{|{{{{z{zz{{{{z{{{||{{z{{{z{{{z|{{{{{{{z{z{zz{{z|z{{zzzzzyz|{{{zz{|zz{z{yz{z{|{{{{{{{{zzzyzz{{{{z{{{z{zzyzz{{{{{{|{{{z{{z{yzz{zz|zz{{zz{zzz{{{{{||{{zzz{zzz{{z|{{|{{zz{{z{z|{{{{{||zz{z|zzz{z{{{|{|zz|{z{z{|{{|{{||{|z{zzzz{|{{||||{{{z{zz{{||{||{{zz{zzz{{||{{{{|||{|{{{{||||||{||z|{|{||{|{|{{|{||{z{{zz{{||}||||}{{{{{{{||{{|{}|{{{{{|{{{|||||||}zzz{|z|{}||||{|{z{{{{{{|z||{{{||{{z{{|z{{|}|||||{{||{{{||{|{|{|{|{z{zz{{|{|{{|||{{{{{zz{|{{z||{{{z{z{z{{{{{{}~}||}|{|{|||||||}}|{|{{|z{{|{|||}|{{{z{{|zz|z}|||{|{{{z{z{{|{|{{}{z{zzyzzz{z|||{z{{{{{{{{zz{{{{{|{{{{z|{yzz{|z{{z{{{{{{z{{z{{{{{{{{z{{z{zz{{|{{{{{{z{{z{z{{{|{|{{{|{{{zzzzz{z{{||{zzz{{zzzz{|z{{{zzz{zzz{{z{{|||{|{z{z{{zz{{z{{{|{{zzz{zy{{{{{z{||zz{z{{{{{z{{{{||{{{z{{{{||{|{{{{z{{{{{zz{{{{{|{{{zz{{zz{{|{|{{|z{zz|z{z{{{{{|||{{{{z{{{{|{||{}|{{|{||{{{{|{|||{}{{|zz{{{{{{{}||{||z{|{{{||{|{||||{{z{}{||}{|||||{{z{{{{{z}{||||||{||{|{{{{{{|||||{{|{z{||{||{||}|{{{|z{||{|||{|}{{{{z{{{{{{{{|}{||{{zz{{{|{||{{{{{{z{{{{{{|{{}|}}|||{{|||}}|||}|{{{||{{{{|}|{{|}}z{z{{z{}|{{{|{{{z|z{zz{{{{|z||{{zzzzz{zz{{{||{{{z{z{z{z|{{z|||{zzzz{z{z|{{zz{{{{zzz{{yz|{{{{{z|{zzz{zzzz{{z{{{{{yz{z{yzy{}z{{|{z{zzzz{y||{zz{{{|zzz{y{zz{zyz{|{{{{zzz{zzzz{{{{|{zzz{{zz{{{z{{{{zz{{yy{z{{{z{{||{{{zzzzzy{z|{z{{z{zzzz{z{{{{{{|{z{{{{z{z{{{{|{{|z{{z{{zz{{{{{||{|zz{zz{{|{{||{{{{{z{{{zz{|||{|||z|z{{{|{|{{|{{||||zz{{z{|||{{|}|{|{{{{{{{|||{|}||{z{{{z{{|{||{{||{|{{{{{{{||||{||z{{zz{{}|||||{{|{|z{{z{{{{{}{||{{{{{{{{|||{{|}|{z|{z{{{{||{|{|||z{{{{{z{z{|{||{{{{zzzz{{z{{{}|}||||}z{z}{||||}|{{|{zz{|z{|{||||{{{{{{z{{{{|{{||{z{zz{z{{z{|{z{|{{{{zzzz{{|{{|{{{z{{{{zzz|{{||{z{z{z{zzz{z{{{z{zyzzzzz{z{{{{zz{z{z{zz{{zz|{{{z{{zzyzyzzz{{|zz{{|z{{yzzzyz{{{{{|{{{zzzz{yzz|{{{{z{{zz{y{{{{{zz{|{zzzz{{zz{{{{{{||{{{zz{{z||{{z{{|{{{yzz{z{{z{{z|{{z{{y{{zz{{|z{|{{{z|z{{z{{{||{|{|z|z|z{{{{{{{{|{{zzz{{zzz|{{{|||{{zz{{{{{|{}|{||zzz{{{{{{{{|{{|{{zz{{{{{||{|{{||{z{z{{{{||{z||||{{{{{{{{{{{||||||{{{{{{{{|{||||}|{{{{z{{{{|{||||z{z|z{{{{{{{{{{||z||{zzz|{{{{|||||{{{z{{{|||{{|||{{zz{|z{{z|{{|{{{{{zzzz{{|{{}|{{{z||{|{}}{|}{|||{{||{{{{||{{||{|{{|{z{{{{{{{z||zz|{z|zz{{{|{{|{z{{zz{{y|{{{{|{{{{|z{z{{{|{{{{|{{{zzzzzz|{|z{|{{|{|zzy{zy{z{{{{{{zzz{yzz|{{|{{|{zzz{zzz{{{z{{{{{{z{{yzzz{{|||z{|z{z{z{{z{{{{{||z{zzzz{{zz{{{{}{{{zzzzyzzz{{z|{z||zz{{zz{{|{{{{||zz{zzzzz{z||{}{|{z|zz{{{z|{{{||{{{{{{zz{z{{z{{||zy{{{z{{z{{z{|{{{{z{{{{z{|||{{{{|z{z{{z{{{||{|||z{{z|{|{{|||||||{z{{{{{z}{|{{{|{|z{{|{{{{|{{||}{{z{{{{|{{|{{|}|||z{|{{|{{{|}||}|{{|z{{{{{{|||{|{{zz|{{{{||{||||}{{|{{{{{z|||||{|{|{z{{{{{{||||||||{{|{{y{{||{|}|zz{{{zzzz{{{|}|{{|||{{{|{|{{}{}|{{{{{zz{{z{|{|{|{{{{z{{z{||{|||||z{{z{zz|z|{z|{{{{{zzz{{|z||z{|{|zzz{z{z{|{||{{{{zzz{zz{z{{z{z{|{zzzzz{{z{{{{z{{z{y{zyz{{{{{|{||{{z{yzz{|{{z|{{{z{{zzzzy{{|z{{{{z{zzzz{{z{{{|{{zz{{zzz{{z{{z{{|z{y{{{|zz|{{|{|{{{{zz{{{z{{|{{{{z{z{zzzz{{{{{|{{|{zzzz{{z|{{{{{{{z{z{{{zzz{{||{{|{{{|{zz{{{|{{{}{{{z{{zz{z{||{|{{{{z{{zzzz{{{{{|{{{{z{z|{||z|{{{|z{{{{z{z{{|||{}{|{{zz{{zz||{{|}|{{z{{|{{{{|||}}||z{{z{{{{||{{{|||{{{zz|{||{|{{|||z{||{{{{z{|||}{{{{{{|z|{|{|{{|{{{{{z{z{{|{|{{}||{{zz{{{{|{|{{{z|z{z{y{{{{|{{||}{||||{|{||{||}||{|||{z{z{}{||{}|{{{zz|{z{{{|{|{}{z{yzzzz{{{|{{{|z{{{y{zzz{{||{{{{z{zzy{{z{{zzz{{{{zzz{{z|{{{{{|{zzzy{zzz{{|{z{|{z{{yzyzz|{{{{z{{{zz{{zzz{{{{{{|{{z{{y{{z{|z{z{{{z{{{{{{y{{{z{{{|zz{zzzzz{{z{z|z{{yzzzz{z{{|z{||{z{{zz{zz{|{{|{||{{z{zz{{{{{{|{{{{{zzz{{{zz|z{|{|{zz{{{{{z|{z{|{{zz{z{zyz|{{{{{|{|{{{zzz{{{|{{|||{{|||z{z|{||{{||z{|z{{{{||{}||||z{{zz|z{|||{{{{}|{z|{{|{||||||||{{|zz{{{{{{|{||{{{{|{{{{{|||||||{{{|zz{z|{{||}{{|{{{|{zz{{{{|||||{z{|{zz||{||{||{|{zz{z|{|||{|||zz{zzz{z{|{||{{{{zz{{z{{{{|{{|||{||{z{z{z}|{|{{}{|{{{{|{||{{{}{|zz{zz{{z{{{|{||{{{{zz{{{{{{|{{{{{{{zz{{zz{{|}||{{{{zz{{{z|{{{{{{}{{{z{z{{z{z{{||z{{z{zz{{{{{|{{|zzz{zz{zz{|{{z|{{{zzzzzzz{|{|{{{{z{{z{zz{{{{{{{{{{zzyzzz{{{z{{{z|z{z{{|yz{{|{{{|{{{{{{{z{zz{||{{{zz{{z{{zz{z{{{{{{{zz{z|||{{{||{{{z{{zzzz{|{{|}{{z{zzz{zz{|||{{{|{{|{{zz||{|{||{|z{{z{|{|||{{|||{{{{{{zz|{}||{||{|{z{z{z{{||{|||{|z{{{{{||{z|||{|{{|{{{z||{{{{}{||{{{{{|{|||||||||z|{|||{{|~}{|}|{{|{{{||{||z{{}{z{z{{|{{|||||||{{z{{|{{|{{|||||{{{{{{{{{||{|{|}z|{{{{z{{{{}|{{{{{{zzz{{{z|{{}|}||{|{|{{|||{|}{|||{{{{{z|{{{||{}|{{{z{z{}{{{|{|{{{{zz{|{{z{{{z|{{z{{z{{z{|{{{{{{{zzzz{{z{{|z{{|||{{{zyz{{{{|z{{|zzy{zz{z{z{|{|{{z{z{{zzz{|{|{{||{zzyz{{z{{{z{{|{{{{{zzzzz{{|{|||{z{z{zyzz|{z|{{{{zz{z{{zz{{{{{z{{z{z{{{y{||{|{|{zz|z{{y{z{z{|{{{z{{{{y{{z|z{{{z|{{{z{z{z{|{{{{||z{{z{z{{{{{||{|{{z{z{{z{|{|{{{{|{{{|{{{{|||z{|{{{z{z{|{{{||||||{{{{{{{z{||||||||{{{{|{{{|{}{|{z||{z{|{{z||||||{|{{{z{{|{{|{z||||||{{y|{{||{||}|}}|{|{{{{{||{|{|||{{{{|{|{|{{{{|{|{{{|{{{}{{|{|}{{{|{{{{{z{||||||{}{{zz{zz||{|{||{{{{zz{z{{{{{|{|{|{{|z|{{||{z|||{{{|{|{{z{|||z|{|{{|{{{z|z|{{{||{{|{{{|{{||{{{{{{{zzzz{z||{{z{{|{z{{zzzzz{{zz|}{z|zz{{|{{||{z{|{z{zz{zz{{{z|{||{z{{{{z{{z{{|{{{{z{zz{{{z{{{{{{{}{{{{zz{z{{{{{{{|{{{{z{{z{{{{{|{|zzzzyzzz{{{|||zz{{{{z{z|{{{|{{{{{z{z{z{zz{{{z{{|{{{z{zz{{{{{{{{{{{|z{{{{{{|{||{|{{{{|{z{{|{{{|}{{{{{{{z{|||{}||{{z{{{z{{{{|{{{|{{{z{{|{z{{|}||||z{{z{{{{|{|{|}|}{{{{|{{{{||||}||||||{{{{{||||{|{|{zz|{{||||||||||||z{{{{{|||{|}{|||{z{z|{{}|||||}{{{{{||{|{||{}|}{{||{{{}|||{|}|||zz{zz{||{|{||||{z|{zzz{||||{{}|{{z{{z{{{{{{|{}{|{z{{|z||}|}||||{{{{z{{||{||||||{{|{{z{|{|{||{|{|{{z{{zz{{|{{||{z{{zz{z{{|{{|{|{{zzzzzzz{{{{||||{{{{{z{{{{z{|{{{z{z{zz{{{{{{{{|{zzzzz{{{{{{{{|z{z{z{zzz{||{|{z{{zz{y{y{|z{{{z{{zz{{zzzz{z{z{{{z{zzzzzz{z{z{{{{|{z{z{zzz{|{|{{{{{zz{{{zz{{{{{{||z{z{zzz{|||{|{{z{{{zz{z{||{{{|{{{{zz{z{z{{|{||}{z{{zz{z{}|{|{{}|zz{{{{z{{{||{{|{|{{{{{z||z{|{{|||{|{z{||||{|{{||{{{z{z{{{|{|}{|{{y{{|z{{{|}|{||||{{z{||z{||{||||||{z{{{{z||||||{|{{|{{{{|z{|||||{zz|z{{{{{{{|||}|z{{{{||{{|}||}|z{{|{|{z|{{|{||||zz{{|{z{{{{z|||z{z{zzz{{{|{|}||{{z{{z|z{}||{||||z{{zz{z{||{||{{{{{z{{z{{z{{{{|||{{{zzz{{z|{{{{}{{zz{z{z{{{{{{{{{zzzz{{{{z{{{{|{{z{z{zzz|{{{{|{zz{zz{zz{{zz{z{{zz{{z{z{z{z{|{||z{z{{z{yz{|{{z{|{{{z{z{{z{|{{{{|{|zzzz{y{z{{{{z{|zyzzzzzz{{z|{{z{zzzz{{zzz|{{{{{|{{zz{z{z|{|{{{{|yz|{zz{|{{{{{{{{{{{{z|z{|{{{|||{{z{z{{zz{|{{|{|{|{{{{zz{|}{|{{}{{zz{zz|{{{||{{|{{{{z{{{|{{|}||{|{{{|{{||||{|{|{|z{{z{{zz{|{{}{|{|z{{{{z{||||||}||{|{{{{z{|||||{|||{|{|{{|}|||||||{|{z{{{{|{|{||||{zzz{z{||||{||}||z{z{z{|{{||{|{{|{{{{{{{{|z{{{}{|{zz{{{{||||z|{{{z{{{zz|z{z{|||||{z{|zz|}|{{{|zz{{z{{zz{{{{|{|{{zzz{{z{{{{z{{|zz{{{{{yzz|{{y{{{z{zzzz{zz{{{{z{{zzz{zz{y{{{{{z{{{{z{{zzzz{{z{{{{{zzz{yzzz{{z{z{|z{{zzzzzz{z{{{{{{z{{y{zzz||{zz{z{zzzy{{z{{{z|{{zz{{z{zyzz{zz{{z|zz{zzz{zz{z{{|{{zzzzz{zzzz{{{{|{{{zzzzyy|{{{{{{z{{yz{zzyz{{|{z{|{zzzz{{{z{{{{|{{{{{z{z{zz{{|{{{{{{{zzz{{{||{{{|{zz{zzz{z{{z{z||||{zz{zz{{{|{|{|{z{{{z{{{||{|{{}|{zz|{y{{{}{|{{{{|zzz{zzz{|{{{{}{|{|{{{|z{{{{{|{||z{{zzz{{|{|{{{|{zz{{z{z{{{{{{{{{zyz|z{{z|{{}{{||||{{z{{z{{{|{||{{{zz{{{{{{||||{{{{zz{zzz||{{||{{z{zzzz{|{z{{||{z|{{{|{z{||||{{|{{{z{zz{{{z{|{{|{{yzzz{{{|{{{|{{{{{z{y{zz{{{{z{{{zzzzzz{{{z|{|||{z{yyzzy{{{{{{zz{{z{y{yy{{|{z{|{z{zzyzzz{zz{{|{{yzzzzzzz{zzz{{z|z{zzz{yzzz{{zz{{yzzzzzzz{z{{{z{{z{z{z{zz{{{zz}{{z{{{zzzzz{zzz{{|yzz{yzzyz{{{z{|{{{zz{z{y{{{{{{{{zzzz{yzz{{z{|||{{yz{{{zzz{|{{{|z|zzzzz{{{{{{|{||{y{z{{zz}{{z{{|{zz{{zz{{{{|{{|{{|{{{{{{{{}{||}|{{{{{{|z{{|||{|}|z{z|{z{{z{|{{|{|{zzzzzzz{||{||{{z{{z{|{|{||{|{|{|zy{z|||{|}{{}|||{{z{zzz|||{|||{{{z|{{{{z{{{||{{|z{{zz{z{|{{{{{{{z{z{z{z{{{{|{|}{{{zz{zz||{||{{{|{zzz{z{|{|{{|||z|{|{{zz{{|{|z||{|{{{zzyz|{{{|{{|{zzz{zy{{{{|{{{|zz{z{y{z{|{{{||{|{zzz{z{z|{z{z|z{zz{zzz{{{{{{{{|z{z{zz{{z{zz{{{{y{zz{z{z{{z{{z{{zzz{zz{zz|z{|z{{zzzzzz{z{{z{{{z{z{yz{zy{z{{{z{|{z{{zz|zz{{z{{{|{{yz{z{zz{zzz{{{zz{zzzzz{{{|z||{{z{zzzyzz{{z{z||{zy|{{{{|{z{{{{|zz{zzz{zzz||{|{|zzzzzyz{z{{{||{{zz{yzz{z{{|{{{|{|z{zz{{{{|||{||{|{{z|z{{{{|{|||{{{{zz{{|{{||||{{z{{{{z{{{{{|{{|zz{zzz{z{{|||{||||{{z|{{{z{||||{||{z{{{{{{||{||}||{|{{|{{{|{}{|{z{{zz{{{|{{{z{|||{{zzz{|{{||{|{{|{{zy{{zz{|{{|||{||zzz{{z{|{{{{{{{z{{zzzz{{}|{{||{{zz{zzy{||{{{|||{{{{z{{||{{{||{||{y{y||{{{{z{|{zz{{{{zz|{{{{|{{z{{zzz{y{{|{{{z{{z{{{{zz{{|{{{{{{{zzzzzz|{{{{{{{{zzz{{{z{{{{z|||{zzz{z{y{{{{{z{z{zzzzzzz{{{{{{|{z{zzzzzz{{z{||z{{z{{zzzz{{|zz{{|{{zzyzzy{{{z{{{|{{{{z{zz{z{z{{{|z{z{zz{z{{{{{z{{z{{zzzzz{{{{{{{z{{zz{{zz{|{{{{||{{{z{z{z{{|{||{z{{z{zzzz{{{{{{|{{z{zzzyz{|{{{{|{{z||{z{z{|{{}|{|{{{z|{{z||{{||||{{{{{z{z{}||{|{{{z{z|{z{||||||||{{|z{|{z{||{|}|{|{|{|z{{{|||{{{||z{{z{|{{{||{||||{z|z{z|{|{z{|{|{{z{|{{|z|{{|||}{{{z{{{{|||{{||{|{{{{z{{{|z|{||{{{{{{yzz{{||{|||{{{z{{z{{||||||}{{{|{{{{|{{{{|||{z{{zzz{|||{||||{z{{{zz{{{{|z|||{{zzz{{z{{z|{|||{{{z{|{z{{{{z{{{{{z{zy{{{{|{{|{{z{zz{{{|{{{{|{z|zzzz{zz{|zz{z||{{z{yz{yz{||{|{{|{z{{{z{z{z{|{{|{{{{{zzz{{{{z|{{{|{zzzzzzz{z{{||{zz{yz{{{|z{z{{{|{{|{{{{{{{{{{{|{zy|{zz{{{{{{{{{{z{{{z|zz{||{|}{|z{{z{{{z{|{{{||{{zzz|zz{|{{{{{||z{{{{z{{{||{|||{|{z{||{{{{}{|||{z{{{|z|{||}{{||||{{{{{{z{}{{{{|{{{|z{z{z{||{{|||{|{{{|{{|||{{|{{|{{|{{{{{}|{{|}||{{}{{z{|{{|||{{|{|{{{z{|||||{|||{{z|{{{{|{|{|||z{z{{z{{{{|||||{{||{{{{{{|{{|{|{{{zz{z{{{|{{{|z{{{{||{{{{|z{z{{~|{{z{y{{||||z{||{{zzz{zz{{{{|{{|{{z{z|{{{|{|z{{}{{z{yz{zzzz|{{|{{zz{{|{z{{{zz||||yzzzzz{|{|zz|{|{{{z{{z{z{||{{{zz{{zzzzz{{{{z{{{{z{{z|z{{zzzz|{{z{zzzzzz{{{|{z{z{z{{yz{zz{z{{{{{{{zzzzzz{|{|z|z{zz{zz|zz{{{{|{{{zz{{{zzz{|||{{{|zzz{zz{|{{{{|{{{{z{z{z{{|{|{{|||{z{{{|{{{{|{{||{{{{{{{{{||{{z||||{z|{{z{||{|{||{{{{{|{z{{|||{|{{z{{{zz{{{{{{|||}|{z{{z{{||{||||{||z{{{{z||||{||}{{{{|{|{|}|{|||{||{{{|{{z|{||||||{|{{z{{{|}}{|{||{zzz{z{|{{{{{||}{||{z{z||||||||{{z{{z{{||{{|{}|||{z{{{{{||{{{||zzzz{{{z{{{{||{|z|z|z{z{||||{{|{{{{{{z{{|{{{||{|{zz|z{{z|z{{{{{{zzzzz{zz{|{{|{{{{{{{zzz{|{{{{{||zzz{zzz{{{{{{|{{{{{zzzzz{{{z{{z{{{{zzzy{{{{{z{{|z{y{{zzz{{{{{{{{zz|z{zzz{z{z{{{|{zzzy{{{z{{|{{{{z{{zz{{z{zz{{|{{{{z{zz{yz{zz{|{{{z|z{yyzzy{||z{{{zzz{z{{{|{||z{|z|{{z{|z|zz|{{|{{z{zzzz|{{{{{{|{|{{{{zzz{{{{{{z|{{{zzzzz{{{|||||{zz{z{{z||||{{{{{{{z{{z{{|{||{||{{{{{|{{{|{|{|{|{z{{{{||{|||{{|||z{zz{z{{{|{{{z||{{{z{|{{||{{|}{||{|{|z{{z||{}||{{|{{{z|{||{||||{|{{|{{}{|{|||{}|z{{{{{z||{|{{||{{{z{{z{z{{|z|{{|{zzz{{{{|{|z{{}{z{z{z{z{{|{|}}{{|{{zz{{|{|{|||}{zz{{|{{z|{{|||{{{zz{zzz||{|{{{{{z|{{zz{z|||z|||zz{z{z{y{{z{{z{|{{zzyzz{z{{{{{{{{{z{z{zz{z{{z|zzzz{{y{zzz|{{{{{|{z{{{zz{|z{{{|z{zz{{zzzzz{||{{|{{z{zz{{z{{{z|||{{z{zzzzy{{{{{zz|{zzzz{yzz{{zz|z{{zzzzzyzz{z{{{|{|zzz{z{{{{|{{{{|{zzz|z{{{|{{{{|{{{zz{z{z{{z||z{|z{{{{y|{|z{{{|{{z{{z{z{{{||z||||{{z{zz{{{{|{{|z{{{{{|{z{{{|{|{||{z|{{z|{||{{{|}{|z{|z{{||{|||{}|}{{{{z{{{{|z{||}{{z{{|{|z|||{{|{{{z||{{z|}{{{|{||{{|{{|{||||{||{|{{{{{{{{|{{||||{{{zz{{|{{{{{|}|{z{{{{{{{||{||{{{{zzz{{zz{{|{|{|{z{zzz{z{{|{{{}|zz{{z{{{{|{|{{{}{zzzzzzz{{||{|{|{zzy{{{z|{|z|||{|{zz{z{z{{{{z{||{z{z{{zy{z||||||zzzzz{zz{{{{z{|{{z{zzzzz{z{{z{{{{z{zz{{yz|{{z{{z{zzyzzyy|{{{{{{{zzzzzyzzzz{z{{{{{zz{z{z{zz{{{{z{{z{z{{z{{|zz{{{|zzzyzzzz{{{{{{{{{z{y{{zz{{{{{{{{zz{{{z{zz{{{{{z{|zz{zz{z|{z{{zz{{{|{yzzz{||{|{{}|zz{{z{z{{|{{|{|{{|{{z{z{{{{z{||{zz{{{{{|{{z|||{{{{zz{{{{{{{{|{|{{{{zz{{||||{|}|{{z{{{zz{{||{|||{z{{|{{z{|{|||{{|{{z{{{{{||||||||z|{z{|{{||||||||{{|z{{|||||||||}{{{{{z{|{|{{||}|{|{{{{z{{|{{z{{{{|zzz|{{|||{|||{{{zz{{z||{|||{|{{|{{zzz{{{{|{||z|{{|z{{{{|{z{|{{|z|{z{z{{{{{{|||{|{{{y{|{z|{||{{{zzz{z{{{{z{z|{{z{z{{z{{{|{{|{zzz{zzzzzz{{{{{|{{zzyzzzz|{{zy|{zz{zzzzyz{z{z{z{{zzz{zzzzz{|{{z|z{z{zzzzz{{{z}{{{{z{zyzzzz{{{|{{|{zzyzzzzy{{zz{{|{z{z{zz{{{z{{|{|y{z{{{z{{{{{|{{{zzzzzzzz{{{{{{||{{z{zz{zz|{{{{{{z{{z{{{y{||{z{{{{zzz{{{y{z{|{|z|{z{zzz{{{|{z{||{{zz{{{{{|{|{{{|{z{{z{z{{|||{|{||{{{z{{{{{{|||||}{{{{{zzz{{{||{|{|{{{|{z{||}|{|{|{z{{z{|{{{z||{|||{{{z{z{{|{|{|||{z|{|{|{}|{{{|{|{zz{z{{{|{|{{|||{{z{{{z{z{||{|{|{zzz{{{z{||{{|}{{z{zyzz|{{{|{||}{{{z{{zz{{z{{|{|||{{{{|z|{z|{{||{{zz|zzz{|{||{||{|{|z|zz{|||{||{zzy{{zyz|{{|{{|{{{{{zzzz{{{{{{{|z{zzzyzy{{{{{{{{{zzzz{zzz{|{{z{{{{zzz{z{{z{|z{{{z{{zzz{z{z{{zz|{{zzzzzzzz{{{{{{{{{z{yzzzz{{{{{|{z{{z{zzzz{zz||z{{yzzz{{{{{{{{|{|{yzzz{{y{z{{{{{{zzzyzzz{{z{|z{{{{z{zzzzz{{{|{{{{zz{{z{zy{{}{{{||{z{zzz{z{{{{|{{{{z{{{{zz{||{|||{{y{z{{{z{{{{z{{{{zz{zz{{{{{{{||{{{{{{{{{{{}{|{{|{z{|{{zz||||{{{{|{z|{{zz||{{{|}|{{{||||{||{{||}||z{{{{{{{|{|{||}|{{{z{|{{{|{||{|{z{{{zz{||{|{|{|{{{z{{{|||{{|{{|{zzz{z{{{|{|{}||}{zz{{{{{|||{{||{{z{zzz{z{{|{|{|y{{{{{zz{||z|{||||{{{{z{||{|{|{|z{{z{{{{{|zz{{|{zz{{|{{{z{{{{{||{zzyzzzz{{{{{{{{{z{{{zzz{{zz|{zz|zz{{zz{{{{zz||z{{yzzzzzz{z{{{{{zzzyzyzz{{z{z{{{zz{zzzz{{{zz{{{{|{zzzzzzyz{|{{||z{z{zzzzz{{zz{{{{{zy{{zzz{{{{|{{zz{yz{zzz|{{{{}{zz{zz{{{yz{z{zz{zz{z{{z{{{{{{{{{zz{zz|zz{{{z{{{{{{{{zz{zz}|||||{{z{{z{zz|||{{{{|{zz{z{{z{{||{{|}{z{{{z{{{{z||{||{{{|{{z{{|z|||||{zz|{zzz{|{{z||||{{{zyz{{}{|||||{{{z{{|{{{}||||{{|{||{{{{|{|{|||{{|{z{z{|{|{||{{|{{|z{{{{{{|{{|||{{z|{{{|||{{||{z{{zz{{{{{||}{||z{{{{zz{{||{z{z{z{{zz{{zz|{{z{z{z{z|{{zzz{{{{|{{|{{{z{zz{|z{||{}{{{{{{{z{{|{|{|{{zzz{{y{}{{{z|{{{z{zz{{{z{|{{{{|zz|{{{{yzz{z{{{zzy{{yzzz{{{zz{{{zzzzzzz{{{{{{zz{zzyzzzyzz{z{{{|{zz{zzzzzzzzzz{{{{y{zzzzzz{z{{z{{zzzy{{zzz{zzz{{{zzzyzz{zz{{{{z{{zz{zz{yzzz{{{||{zzzyzz{{{|{{{{z{{zz{zzyz{{{zz{z{{z{zzz{{z{{||{z|{z{zzzzyz{{{z{{{{{{{zz{y{{{{{{|z{{z{{zzz{{{{{{|{{z{{z{{{{|{zz{{{zz{|z{zz|{{|{{{|{zz|z{z{||}||{|{{z{{{|zz|}{|{|{{z{{|z|{{||||||{|{{{{{{z{{|{|||{{{|{|{{{{|{{{{|{|{zz|{yz{{||{{{z{{|z{|{zz|||{|{|}z{{zz{{{{{{{{{{|{{{zz|{z{|{|z{|{z{{zzz{z{||{{|{|{z{zzzzz||{{|{{|z|{{{{z{|{{{{{|{z{z{{zzz{|{{|{||z{z|yzz{{{{{{{{z{z{{zz{z{{||{{{|{zzzzz{{||{{{|{{{yz{{zz{|{|{z{{z|{zzz{zzz{{{z{{|zzzz{zz{zz{{{{|{z{{{y{zz{{z{{z|{{{{zzzzy{|{{{{z|z{zzz{zzzz{{z{z|{zzz|zzzzz{{zz{{{z|z{{zzzzzz{{{z{zz{zyzz|{|{{{z|zy|{zzz{{|z|{{{{{{{y{{zz{{{zz{|{{{zzzy{zz{{{{{|{{{{{{{{y|z||{|{{{{{{{z{{z{{{|||{{{z{{{{{{|{|{|{{z|||{z{{{{|}{|{||{{{{{{{z||{|z|z|{{{{{{{{||||{||{z{{{{z{{|{||{||{{{|{|{z{}|{{|||||{{{{{z||{{{|||{{{|{{{z|{{}|||||{{{{{{{{||||}|{{{|z{{{|{{{|{{|{|{{{{z{{z{z|{{{{{z|z{z{z{z{{{|||{{|z{z{zz||{{|{{{{{{{zz{{{{{{{z||zzzz{z{}{|{|{|{{zz{zz{{{{{|z{{|z{{zzz{{{{{|{{{|zz{{zz{z{{{{{|{{z{zy{zzz||{z|{{{zz{z{{{{yz{z{{{{zzzzyzz{{{|z{{|{{zy{yzzzzz{z{}|{{{{zzzy{z{z{{|||{zzz{z{zzz{z{|z{{z{{{{zyz{z{{{{z{zzzz{{z{|||{{}{z{{z{zy{z{|{z{{{{{{z{zz|{{|{{{{|{zz{z{|z{z{{{z{{{{zz{{z{{{z{{|{{|z|z{zzz|z|{{{{{z{z{{zz|z|{{{|{{{{zz{{z|{{||{|{||{|z|z{z{{{|||}||{{{z{z{{||||{}||zz{{z|{||{{|{||{{{z|{|z{|{{{{{||z{|{{{z{||||{}|}|||z{{||{{||||{|z|{{{{{|{{{{z||{{z{{{z{||||{{||{|zy{zz{z{{{|||}{z{{{z{{|{||{||{zz{zz{{zz{{{|{{{|z{{{{{zz|{|{{|{{{z|y|zy{{|{{|{{z{zzz{zz|{|z{{{{{z{z{{zz{{||{{|{z{{zzzzz|{{{{|{|z{{zz{{{|{|{{{{z}zz{zzz{{z{zz|{z|zzy{z{{z{{{zz{|{z{yyzzzz{{{{{{z{zz{zzz{{{{{|{|z{zzz{zz{z{{{|{{{{zzzzzzyz{z{{{||zz{zz{{zz{{{{{{{yzz|{{zz{z{|{{{{{{zzzyzz{|{{{{z{{{|zzz{{{||{{{{{z{{{{z{z|{{{|{{z{z{y{zzzz{{{{{{{{{{{z{{{||{{{||z{|zzzz{{|zz{{{{{{{{{{z{z{|{||||{z{z{{{{{{{||{||{{zz{|{zz|{{{||{{|z{{{z|{||||||||{zz{{{|{{}{{{}|||{{{{{zz|}|||||||z{||{{z|{|||||{{{zz{{||{}{}{||||{{{{z{{{|{|{z{}z{{z{{z{{{{{{z|}|z{z|z{{{|{|{{|{{{{z{{{zz{{zz{{z{{zz{{y{{{|{|{{}{z{{{y{{{z{|{|}{|{{z{|{{{{|{{{||{z{{{{zy{{{{{{{|{{{zz{|{{{{{|{{|z{{zz{zzz{{{{{{z{{{{z{{z{{{z{z{{z{z{zzzz|{z{{z{|zz{{zzz{z{{z{{|{{zzzz{{y{|{zz{{|z{{{zzz{{zz{{{|{{z{zzy{z|{{z{zz{zz{{zzz{z{z|{|{z{zzz{zyz{{{|{{|{zz{z{z{{{zzz{{|z{{{zzz{z{y{|{{||{zzz{{{z{z{{{||{{{{|{z{{z{{||{{{{{{{{{{z{{|{|{|{{zz{z{{{{||{{||{|z{{{{{{{{{|{||{{zzz{{{z||{|{{{}{{||{{{{z{|{{||{|{{{|{z{|{|{|{}||{{{{{{z{||||||||{{{{{{{||{||{|{{{|{{{z{{|{{|{|||z{{{{z||{z||{}||{z{{{z{||||{||}{{{z{{{zz|{|{{}{{{|{z{zz{{{|{}|||zzzzzz{{|{{||{|{{yz{{{yz{||{{|{{{{zz{{{{{{{|{{{z{{{zzzz|{{{|{{{|{{zz{zz|{z{|{|{{{{zzzyz|{||{{|{{y{{z{zz{|z{z{{{{zz{{{{zz{{{{{|{zzzzzzzz{z{{{{z{zzzzzzzzz{{{z|||{z{{zzzzz{{{{z{|{{{{zzzz{{{{zz||{zzzyy{z{{z{zz{}{zzzzzz{{{{{{|{{{z{z{zz{{z{{{{|{{{z{z{z|{{{{|{||zz{{yzzz{{{{{{{{{z{zz{zz{{|{{{{{|z{{{{{z{|{{||{{{{{z{zzz{|{||{||{zz{{{z{{|{{z{|{|{{z{{{z{||||{{{z{{z{{{{|{{{{|||{{|{{{zz{{|||||{|{{z{z|{||{{{{|{{{{zz|{{|{{||{{|}z{{z|{{|}||{{|||{{{{{{{|||{{{{{{{{{{{{|{{{||||||{{{|{{{{{{{}{||{z{{{z{{{|{}{||{{{{z{{z{|{{|{{||{{z{z{{z{{|{{{z{z{z{z{{y{||{|z{|{{{{zyz{{{{{|{|{{|{{zzzz{{|{{|{{{zzz{zzzz{|{z{{||z{{zzzy{z{{{{{{zzzzzzzyzz{|{{{zz{zz{zzz{{z|{{|{{{z{z{zz{{z{{{{{zzzyzzzzz{{z{{{{z{{{{zz{{{zz{{{{zzzzz|z{|{z{{{|}{zzz{{{zz{z{{{{z{z{zzz{zzzzz{|{|z{zzzzzz{|{{{{||{{{zzyz{{z{{{zz|z{z{{zz|{z{z|{{|{{yzzyzz{{{|{{{{{{{zzz{y{{||{{|{{yzzzzz{z{z{{{||zz{zzz{{z||{{{{z|{{{z|{{{{||{{{{y{{y|z||{{{|{|||{{{|{zzz|{}{||{{z{{zzzz{|||||||||{{{zz|{{|{{|{{{|{{|z|{z{}{||||{|||{z|z|||{||||{|zz{{{{|{{{|{{|||{z{{{|{|{||{||{|{{zz{z{{{{|{{{{{|{z{{{{{{{{{|{{{z{zzzzz{{{{z|{{z|z{z{zz{|{{{{|{{{{y{{zz|{{{|{{{{|{zzz{{z{{{{{|{{{z{zz{z|{{{{{{{{{z{zz{{{{|{{{||{{{zz{{{{{{{{{{{{z{{{z{{{z{{{|{z{z{z{{zy{{{{{{|{zzzzzzz{{{{{z{{|zy{yzzzzz||z{{{z{{{{zzzzz{{{{|{{{z{zzzz{{{{{z{{{{z{zzzzzz|z{{|{{y{{{{{y{||{z|{{{{{{z{zz{|{{{|{||zzzz{{{|{{{z|{|{{zzz{zzzz|{{|{||z{zz{z{z{{{z{||{{z{z{z{{||||{|||{{{{{{{{|{{|z{}{{{|{{{{{{{{|{|{{{z{{{{|{{{{|{|{}{{z|{{{{||{|{|{{{{{{{z{z|}{|{||||z{|||z|{|{{||{||{z{{|{|{}|||{}{|z|{{{{{||{|{{|||z{{{z{{{||||||||z{|{{z{|{|}{{|||zzz{{zz{{|{|{||{zzzz{z{||z{||{{zz{zzz{{{{||{{{||{z{{z{yz{{||{{|{zz{zzzz{{|{{|||{{{zz{|z{z{|{{{{{z{zzzz{{z{zz{|{|z{zzzzy{{{|{|z|{z{z{{zzz{zz{{{z|zz{{{zz{z{zz|{{{{zzzzzzzz{|z{{zyzzz{{z{{{{{{z{{zzzz{zzz{{{|{{{{{zzzzzzz{{z{{{{|zzzz{{y{z{z{{z{|zzzz{{zz{{{z{{{{zzzzzz{z{{{|{{{z{zzzzzyy{z{{{z{|zzzyzz{zz{z{{{||zz{zzz{{{|{{{{{|{zzz{z{zz|{{z{{{{{{zzyzz{{|{{{}{{{zz{z{{|{|{z||{|{zz{{{yz{}{{{{|zz|{{{}{||{|{{{||{{{{zz{|{{{|{{|{{{z{{{{{|{|||||{z{{|{z{{||{|||{{z|{{|||{|{||{|||{{{z|z{{{||{||{{z{{|{{||{{{{|{||{{{{{{{{}z|{{{{{{{z{{z{{{{}{{{{z{z{{z{z{{{{{{{{{{zz{{{z{{{{{{z|{|{z{zzzz{{}{{{{zzzzzy{z{|{{{|{{{{{z{{{{{|zz|{|{zz{zz{zyz|{{{{z{zzyzzyzy|{{{{{}{zyzzz{{zz{{{{{|{{z{zz{{{zz{{z|{z{zz{{{z{{{z{{{{|zz{y{{z{y{z{{z{z{{{zzzzz{|{{{{{|{{zzy{yzzz{{{z{|z{zzzz{z{{z{{{z{z{zzzyzyz{{{{|||zz{zz{zzz{{z{z{{z{zyz{{z{|z{{{{|{{{zzz|z{{{{{{{{{zz{zzzz{{{{{{|{{{{z{{{y{{zz{{|{{z{z{{{z{{{z{{||z{{zz{y{{|{{z|{|{{{z|{z{||{{||{{{{{z{zzz{|{{|{|}{{{{z{zzz|}|||||{z{|{{z{{{{z{|||{{{z{{z{|{{||{|||{{{z{{{z}|{{{|}|{{|{z|{{|{{{||{{z||{{z|{{{|}||{{{z{|zz{|{{{|{|{z{{z{{z{{{{{{{|{|{z{zz{z{{z|{|}{z{|yzz{y{|{{z|{{{{{z{zzzz||{zz{|z{z{{zzz||{{{{|{{{{zz{zz{{{{|{||{z{z{{|z{|{{{{{{|zzzy{zy{z{|{z{}{zz{z{{zzz{zzzzz|z|{z{yzy{{{{{{zy{zzzzzz{{{{zz{{{zz{zy{zzzz{{{|{{{z{zzz{z|{|z{{{z{zzyz{zz{zzz{z{{zzzzzzzz{z{z{z{z{zy{zzz{{{z{{{{yzz{z{zz{|{{{{z|{z{{zzzz{{{z{zz{{z{{{z{z{z{z|{{{{{{{zzz|{{{{|{{{{zz{{z{zz{{z||{{{{{z{{z{{{{{{{{{{{|{{zz{{{{|{{{|{z{{{||{z|{|z|{{y{{z{{|{{{{|{{}|{{z{{{z{{|{||||{|{{{{{{z|{{|{|{{{{{zz{|{|{|{||||{{{{{{{{|{||{{|||{|{{{{{{|{|{{{{|z{z{{{{|{{{z}||}{{|{zz{{||||}{{{z{{|z{z{|{{{||{{{z{{{{z{{{{{{|{z{{{z{{{{{{{|zz{|{{z{{|z{||{{{{{{{{zzz{zz|{|z||}|{zzzz{z|{{{{|{{{zz{{zz{{z}{{||{{z{zy{{zzz{|{{{{{zzz{{zzz{{{{|{{{z{{{zzz{{{zz{z{{{{z{z{{{{z{{{{zy|zy{yz{{||z{|{{zzzzzzzz{||z{z{z{zz{zz{z{{z{{{{z{z{zzz{zzzzzz{{{{z{zz|z{z{z{{{z{{z{{zz{|{|{{{{{|zzz{zzzzz|{|{{|{{zz{z{zz|z|{{||{{zzz{yy{{{{{{{||{z{{zz|z{{|{{|z{{{{zz{zy{||{|{|{{zz{|{z|{||{{{{{{{|z|{{{z{{}||{}z{z{|{{{||{||||}|{{{|{z{{|{|{|}z{{|z{{{{{|{{{||}|z{{{{|{z|||}|{}{y|{{|||{|{{|{||{z|{{{{z{||{{|{{|{zzz{{{{|{{|{||||{{{|z||||}{{|||{{{{{z{z{|{{z{|{{{|z{z{{}{{{}{{{{zzz{zz{||{{|{||z{{z{{{{{|{{{{{{{{{z{{{z{{|}||}|z{yzz{z{{{{{|{zzzz{z{zz|||zzz{|{{zzzzzz{{{{{|z{{{z{yz{{{|{{|{||y{{z{zyz{z{{{{{{{zzzz{zz{{z{|z||{{zzzy{zz{zz{{|{zyz{{{y{{{{{|{{{{z|{zz{z{||z{{|{z{{z{zyzzzz{{|{{z{zzzzz{z{z{{{{{zz{z|z{{{{z{|||{{zzzzzz{{z{{{zz|z|{zy{{{{|{|{||{{{{yz{zz{|z|{||{{|z{zz{{{{|zz||{{{{{{{{z{|{z{||{{{{{|{zz{||{{|{|{{|{|z{z|{z{||{|zz{z{{|z||{|{|{|{{{{{{zzz{{{|{|{|z{{{{{{||{{|{|}{|{{{{{{{}{|}|}|{{z{z{{|{{{|{{|||{{{{|{{||||{{|{|{{{{zz||{|{{{|}|z{z{{{|{||{||||{z{z{zzz{{{{||||{|z|{|zz{{}{{|{{{z{{zzz{{{|{||{{|{zzzzzzz|{{{{{|{zzz{|z{z{{|{|{|{{{zzzz{{z||{{{|zzz{{yz{{{|{{|{{{|z{zzzzz{z|{{{{z{{z{z{z{{{|{{{{{z{z|zy{{{z{{|{|{{{yzzzzz{z{{{{{{zz{zzzzz{{{z{z{{{zzy{{{zz{z|{{{{z{zzz{z{{{|{{{|{{zzzz{{z{{{{{{||{{zzzz{z{{z{{{{{{z{{zzz{{zy{{{{{zzz{y{|{{|z{|||{{{{yz{zz{{zz||{zz{{z{{zzz|{{z{{{z{z{zzzz||{|{z{|z{zzzz{{||z{|}{{{z{zzz{{{|{z|{{{{{{zz{z|{{||{|{{{{{{z{z{{|||{{|{{{{{{{||{|||||{{z{{{{z{{}|{{||||{{{{{|{{|{|{|{||{z|z{{{{}|{|||}|{|{{z{{|{z||||{{z{z{|z{{{{|{{||||{{{z{{|{||||}||{{z{{{{{{|{{{||{{{{{z{z{{|{{{{{|{|y{z{zz{|z{||{{{{{zz{{{{{{{z|||zz{|zz{z{|{||{|{|{z{z{z|{{{{{|{{{{|{{zz{{{{{|{{{{{zzzz{{{|{{}z{z{|z{yzz{{z|{{{z{z{{zzzzzz{zz|z{|zzzzzz{{{{{{{{{zyzzzz{{{{{z{z{z{z{zzzzz{|{z{{{z{{{{y{zzzz{{{z||{{zz{zzyz{{z{{{|{zyzzzzzz{{zz{{{zzzzz{{zz{{|{z||z{z{{zzzz|{{{|z|zz{z{z{{{{{{{{{||z{zzzz{{{||{{{{{z{z{z|{z|{{z{{|{z{z{z{z{{{{{{|}{z{{z{{z|{{{{{{|{{zzzz{zz|{|{|{|{{{{{{{{|{||{||}|z{{{z{{||{||||{|z{{y{|{||{{{||}{zz{{{{|{}}{|||||{|{{||{|}|||||||{{{{{{{{{|||||{{{{z{z{|{{||||||z{{{{z{{|{||{||}{|zz{zz{||{{{{}}{{{{zz{z||{{|{|zz{{z{zz{{||z{{|||{{z{zzyz|{{{z||{{{zz{{{{z|||{{{|{{zzz{{z{zz{|{|{{|z{zz{{{{|{z{|{zz{yz{zz{{{{z{|{{zzzzzzz{{z{{|{{zz{{{yz{z{{z|zz|{z{z{yzzz{{z{{|z{yz{zzz{{|zz{z{zz{zz{yz{zzz{{z{zz{zzyzzzz|{{z|{{z{zy{zzzz{z{{{{zzzzzz{zzzy{z|z{zz{z{z{yz{{z{{{z{yzz{{zz{|z{{{{{|zzzzzzzz{{{{{{}{zzz{{{{{{{z{{{{{{{{{zzz{|||{{{y{{{{zzzz|{|||{{{||z{{{{z{{|{{{|{{{{zz{{z||||{|z{z{{{zz|{||{|||{|{{{{zyzz{{|||z|{{z{{{{{z|||{{||{{{|{{{|{{{{{}||||z{{{{{zz|z||||}{{{{z{{{|{||z{|{|{{z|{{{|{{|{}}|{z{{{{{{{||}{|||{z{z{{zz{{{{{{|{|{{zzz{{{|{{{{||z{{z{z{{|{}{{|{{zzzzz{z{{{|{{{{|{{{zzyzz{{{{|||{|z{z{{zz{{{z{|{z{z{{z{z{{{{|{z{|{{zzzzzz{{z{{{{|{z{zz{{z{|zz{{{{{zzz{{y{{z|{{zz{zz{zzzz{{{{{{{{{zzzy{yzz{|{{{{|{{zz{{zyyz{{z{|{{{{zzyzzyzzz{{{{||zz{zzyzz{{{{{z|zzzzzz{zzz{{z|{{{{zyzz{zz{{zz{|{yzyzzz{{{|{{y{{{z{{{zzz{z{{{{|z{z{{{z{z{{{{{|{||{z{{zz{z{|||{|{{{zzz{zzz{{{|{||{{z{{{{z{{{|{{{{{{{z{z{{{{|||||||{{{{z{{{|{{{{{}|{{{{{{{{{{{{|||{{{{{z{{{z||{}||{{|{{{{{zz{}{{|{|{{z{{{{{{||{|{|||{{{{{{{{|||{|{{|{z{zz{{{{z|{{||{{{zy{{{|z|{{{{}{z{z{{{{{|{{}{{{{|z{z{{z{{{{{{{|{zz|{z{zz{{{{|}{z{{yzzz{z{|{{{|{{zzzzz{{{{|{{{{|{|yy{{{z{|z|{|||{zz{zzz{z{|{{z|{{z{yzz{y{{{{{{{|{zz{z{zz{{{z{{||{z{z{{zz{{z{{{{z|zyz{zz{{{z{zz||{yzzzzzz{{|{z{{{{zzzz{yz{{{{{{|{{z{zyzzz{{z|{{{{zyz{z{{zz{{{{|{{{zzzzz{zzz{zz{{{zzzz{zzy{{zz{{{|{{zyzzzz{{{|{{{|{z{zzz{{|{{{|{{{{zz{{z{z|{{{{{{{{zz{{zzzz|}|||||z{{zyz{z{{{{y{|y|{{{{{z{z|{{{|{{{{zz{{{|z{{{{|||{{z{|z|{||{{|}|||{{z{zz{{}|{|{}{|{{{{|{z{}{z{|||{{{z{||{{{|z{{||||{|{{{{{||||||||{{{z{{{|{{||{|{|zz{|{z{|{{z{{{|{{z{|{z|{|{}|{||z{{z{{zz{|{{{{}|{zz{zz{z{{|{{z{{{z{{zzzz||||{{{{{{{zz{|z{|{{{{{|z{z{zzzz{z{{z{{|{{{z{zzz{||{{|{{{{z{zzzz{{{{z{{{{zzz{z{zzz||{{{{zz{{yzz{z{z{z{{{zzzz{zzz|z{{{{|{{{zzz{zz{z|{z{{{{{zz{{zzzz{{{z{{{zzzz{z{z{{z{{{|zz{zzzzzzz{{{{z{zzz{z{zzz{{{y{{zy|zz{zzyzzz{{|{z{z{{zzzzzzz{{{{|{zzyzyz{zz{{|{||zz{{z{{z{{|zz{{{zyzz{z{{{{zz{{{{{{{zzzzz{|{{z{{|{{{zz{zz{|z{z{{{{z{{zz{z{z{z{{}{|{|{{z{z|||{|{{{{{{z{{|{|{|z{{{|{{{{{{zzz{||{z{{zz{{{zz{|{{{{{||{z{z{z{||{{{||{|{{{{{{{|z|{{|{||{{z|z{{z|{|{|||{|{{{{{||{||||||{|{{{z{{z{{|{||||{z{z{zz{z{{|{|{{{{{{zz{z{|||{{|{{{{{{{{yzz{{z{|{{zzzzz{z{z{y|{{{{{{yzzz{{|{{|||{zz{{{z{{{{{{{{|{{z{z{zzzz{|{zz{{{|zyzyzy{|{{{zz|zzzzz{zy{{{z{{|{|z{{zzzz{z{z{zz{{z{yy{zzz{{zy{z|zy{zzzyzzz|z{z|z{zzz{{zz{|{zz{{{{z{zyzyzz{z{zz|{zz{z{zzzzz|zz{{z{z{z{{z{zz{{{{{{z{{z{{z{z{{{{{{{{y{{zzzy{{{z{{{{{zz{{zz{{{{{{{{}{{zzzz{zz{{{{{{{z{zzz{{zz{{{{|{{zz|{z{{z{|{{{{|{zzzzzz{z{|{|z|{z{{zzz{z|z{||{{||y|{|zz|z{{z{{{||z{z{{{z{{||||{{||z{z|{{{|{|{||||{{{|z{|{{|z{|{|{{{{{{{|{z|||{||||{{{|{{{{{|||||{|{{{|z{|{||{|||||{{{{{{|z|{{{|{|{|{{{z|z{{||z|||{z{{z{{z{|{|{||{|z{z{zz{{{{zz{}{{z{z|{{z{{|z|||{z{{z{zz|z|{|{{|||zy{z{z{{{z{{{{{{zz{zzzz{{{{{{|{{{z{yzzz{z|{||z|{{z{z{{{|{{z{{|z{{{zzz{z{|{{{|{{zzzzzzzz{{{{{{{{zzzz{zzzz|{{{{|zz{{zz{yy{{{{{z{{{{{z{{zz{{|{{{|{zzz{{zzz{{z|{{{{z{{yzz{zz|z|y{{{{{yzzzzzz{{|z{{{|z{zzyzz{{{{{{|{{{{{z{z{{{|{{{||{{{zzzzz|{{{|||}{z{{{{z{{|{z{|{zz{{{{z{z{{{{z{{{{zz|{{z{{|{{{|{|zz{{{{z|{{|{|{{|{{{{zz{{{{{}{|{}z{{zzzz{||{|}{|{|{{{|z{{{{|{{|}|{{z{{{}{|{|||}}|{|z{{{|{||||||}||z{{{z|{|{{||||{{{{{{{{{{|{{|{}|{{{{{{|{{||||{||{|{{{{{z{{{{|{|{{{zz{z{z|{{{||{{{{|zy{{{{{|{z|{{{{{z|y{|z|{{{|{{{z{{{zzz{{{{|||{zzzz{zz{{{{{z|||{z{{zyz{z{{{z{{|{{zz{z{y{{{{{|z{z{{zz{zz{{|z{|{{{{{zz{zzz{{{{|{zzzzyyz{y{{{zz{z{z{zz{yzz{{zz{|{{{zzzyz{zzz{{{|{{zzz{zzy{{{{z{{{|zzzzz{zzyzz{z|{{{zzz{yyyz{z{{{{|{zzzz{zyzz{|{{{{zzzzz{zyz{{{{{z{{zzzzz{{{{z{|{{|{z{z{{zzzz|{z{{{zz{zzzzz{|{{{{}{{{{z{{{y{{{{|{{{z{{{{{{{{{|{{||{{{|{|{zzz|{|||||{{zz{{|z||{|{|||{|{{{zz{{{{|{{{{|z{{{{{{||{|||||{{{{z|||{z{{|}|}{{{{{{||||{|||{|{|{zzz{{|{|||{|||z{{{{{{|{{||{||{{z||zz{{||||{|||}{z|{z{{{{{{|{}{{{{{z{{{{{|{{|{|{zz{zz{{{|{|{{|{z{{z{{|{||zz{{|{{{z{zz{{{|{{{z|{{z{{{zz{{|{{{||z{{|{z{{{{|{z||{{z{zzz{z{{{{{{{|z{{{{z{zz|{z||||z{zz{zzz{z{{{{{|{{|zz|z{{zx{{{z|yz{{{{zz{{|z{||{zzzzyzzz{{|zz||{zz{{z{zz|{{|z{z{{zz{zz{y{{{yz{|{z{zz{{z{{|{|{|{{{{{{{zyz{{z{|{||{{{zz{{{{z{|{|{{z{{{y{z{y||{{{||z{{yzz{{|{|{{|||{z{z{{z{z{{|{}||{z|{{z{z{{}{{{}{{{{{{|z{{{{|{{{|{{zz{{z{|{|||{||{{z{z{z|{{{{z|||||{{|z{{|{z{||{{{{{{{{{{||{|||||{{|{|{{{|}||||{}{{|{{{{z{|||{|||{{|{{z{{|||||{}|{z{{{{{{{|{{|}}||{||{{{{||||||{{{zz{{{{{{{{||{|}|zyz{{|{{}{|{{{|||{|{z{{||{|{{{|z{z{z{zz{{|z{{{|{{zzz{{zz{{{{{|{|{{{z{zz||zz|{|{{z{zzzz{{{{{z{|}{{{yz{zy{z|zz{{|{{{z{{{{{|{{z||zz{zzzzzzz{|zz{{z{zzzzz{z{{{{{{{{{{{{zz{z{{z{{{{{z{zzzyzzzz{{|{||z{zzzyzz{{{{{z|{zzzz{z{{z|zz{{z{{z{z{zz{z{{{{{{{zz{zy{zy{{z{{{|{{{zyzzy{{z{z{|{|{zz{zz{z{{z|z{|{zzzzzyz{{{{{|{|z{{{z{zzz{{{|{zz|{{{y{{{z{{|{{{||{z{{{z{{{{|{||{{{z{{z{zz{|{|{|||{|{z{||{z{||{|||{z{{zz{z}||||{|||{z{{{z{||{|{{}||{{{{|{{{||||{|{{{{z{{|{|}{{|||{|z{{{z{{|||{{{|||{{|{{{{|{|||||{{{{{{{{{{|{|||{|{|{|zzz{{{||{|{|{z{zzz{{||||{{{|{{{{zz{{z{{|{{{zzz{{{zzy{{{{{{|{{|yzzzzz{z{|{{{|{{zz{{{z|z{{{{|{{{{z{{zz{{|{{{z{{{{zyzz{|{|{{{{{zzzz{zzz{|z{{|{{{z{zzz{z{z{{{{{|{{{zz{zz{z{{{|{zzz{z{yzzzz{{z{|z{zzzzzxzz{{z{z{{zzz{zzzz{{{z{{{{{y{zzzzzzz{z{{z{zzzzzz{zzz{zz{z{{z{yzzzyzz{{{||{{yzzzz{zz|z{{{{{zz{zz{|z{{|zz{{{zzzzzzz{|{|zz|{|{{{zz{z{{{{{z{||zzzzz{{z{{{{{{||{{z{{z{{z{{|{|{{{{{{{{|{z{{|{{|{z{{z{{{{{{{|}{||{{{z{{{z{{|{{{||{{{{zzz{{|||{{||{{z{{{{{{|z{{||{|zz{{{z|{{{|{{|}|{{{z{{{|{|||}||{{{{{z{|{{|{|{{}{{z{{|{z||{{|{{|{{{zzz{{{|{|{|{|{z{{z{{z{{{{}{{{{z{zzz{z{{{{{{z|{{z|{zzzz|{z{{||{zz{zz{z{{|{||{{|zzzzzz{{{{{{{{|{zzzzz{z{||{{{|{{z{zzzz{z{{{{{{|{zzz{zz{z{zy{{{z{zz{zzzy{zzzzzz{{zzzzzzz{zz{{{{{zzyz{yzyz{{zz{{{{{zzzzzy{{{{z{|z{z{zzz{zz{{{z{{{z{z{{zzz{zzz{{{zzzzzzzzzz{{{z{{zzzzz{{zyz{{{z{{zzzzzzz{z{z{{{{|{zy{{z{{z{|z{{{{{z{z{z{z{{{||}{{{{{{z{zzz{||{{{{{zz{z|zzz{{|{||{|{zz{zz{z{|{z{z{{{zz|{z{z{{{||{{|z{{{{{z|{{||||||{zz{zzzz{|||||{{|{{{z{{{|{{{||||z{|{|{{|z|{||{{}{{z{{{z{||{}||}|{{|zzz{z{{|{{||||z{{|{z{|{{{|||{{{z{{{z|{zz{{|{}z{{y{z|zz|||{{{||{zz{{z{{{|{z{{|{{{z{{{z{z{z{}{{z{zz{z{z{|{z{{|{z|zz{z|z{{z{{{{{{yzz{z{z{{z{||{|{{zz{{{z{{|{z|z|{|zz{zzz{||z{{||{{zzzzzzz{zzz{|{{z{zz{zz{{{{{{{{z{zzyzz{{z{zz|z|{zz{{{zz{{{{{z{{zz{zzzyz{{{z|{{{{yz{z{z{z|{}z{z{{zz{zzyy{{zzz{{{{zzyzxzz{{{{z{z{zz{zz{z{{{{{{{|zzyzzzzzz{|{{z{z{{{{zzz{z{|{{{z{{{{{z{yz{{{{{|{|{{{|zz{{z{z{|{{z{{{{{z{zz|{{||{z{{z{{{zz{|{{{{{{{|{{zz{zz{{{||||{z|{{{{{{{{z{{{{{z{{{zyzzz{|{|{||z{{{|{{{|{{|{|||{z{{z||{{{|{|{{|}{z{{{z{{|||{{|{|z{zz{{{{|{|{{|z{zzz{|{{{{|{||||{{{{z{{{}{|{|||{z{zzz{z|{|{|}{{{{{z{{{{z||z|{{{|{z{{zz{z{{{{{z{y{{{{zyzy||{{z{{{{{{{{zz{{{{z{{|{z{{z{{zz{{z{zz|zzz{z{z{{z{y{zz{{z{zzyzz{y{z{z{z|zz{zz{{yzz{{z|{{{zzzz{yz{zzz{z{|z{zzz{z{{{{{{{{{yzzzzzzzz{z{z{z{{{{zzzz{{z{z{z{{zzzzyzz{{z{{z{|{zyzzyzzxzzzz{{{{zzy{zyzzz{{{z{{{zzzz{zzzz{{{z{{{{zzyzzy{z{{|yz||zzzzzy{z{{z{z{|{{z{z{z{y{{zyz{{{z{{{{zzzy{zzz|z{{z{zzzzz{|{{{{|zz{z{z{zz{{{{{|{{{zzz{zzz{{z|{|{|zz{{{{{|{|{||||}z{zz|zzz|{|z}{|{|{{|{y{z{||||{|{{{z{z{z|{||{|||||{zz{{z{z{{||{{||z{{zz|{{|{}|{|{{zz|{z|{{{{{{||{|{{z{||{{{{|||{|{z{z{{{zz{z{{|||{{|{{{zz{{|||{z{{{zzzz|z{|{{{|{zzz{z{{{{{|{{{{{|{z{zzz{z{|{{}|{|z{zzz{zzz{{{{{{{{zz{zyz{{{|{zz{|{zzzzzzy{z{{{{z|y{zz{{zy{z{{{{||{z{{{zzz{{{{z|{{z{zzz{z{{zzz{{{|zzzzzzzyzz{{{z{|yzzz{zzz{{z{{{|{zz{zy{zy{{z{{{{{{zyz{z{zz{zz{zz{yzzy{yzyz{z{z{z|zy{zz{zzz{{z{{{{z{zzzzzyz{zzzz{{z{{zzz{z{z{{zz|{{z{y{{z{{z{z|{{{z{zzzyzz{{{{|||{z{z{{{z{{{{{{z|{{{z{{zzzz|{{z|{{}{zz{{{{z{|||{|{{z{{{{|{{|{|{|}|zz{{zzzz{{|{{|}|{zz|zy{z|{{{{{|}|{|z|{{||{|{}{|{|z{z{{y|{|{{|{|{||{{{{z|z{{|{|||{zz{zz{z{|z{{|||{{{{{{z|z{{z|||{|{{zzzzz{|z|{|||{{zz{{{z{||||{{z{yzz{zzzz|{{{{z{{|{{zz{yz|{{{{{{{zzzyz{z|||{{{|{|z{{{zzy{y|z{{||{zz{{zzz|{{{{z{{{zzz{zzz|{{{{{{{{z{z{zyz{|{zz{{{{{{zz{yy{|{{z{{{zzzzzzzz{zzzz{{{zyyzzyyz{z{zz{{{{zzzzzzz{z{z{{zzzz{{zzyz{{{{|{{|yz{zyzzyzzzz{{{{{zz{zyzzz|zz{|{{{zzz{yzzz{{{zz{zz{y{zzyz{{|{z{{|{y{zz{yz{{{{{{z|zzzy{zzy{z{|{{{|{zzzz{yz{z{{{{{|z{{zz{zz{|{||{||{zz{{{zz{|{{|{|zzz{{zzzz{{|||{|{{{{{|z|{|{{{||||z|{|{y{|||{|{||{{z|{{z{{|||{|}||{z{{z{{z|{|||||||{{z||{{{|{|||||{z{{z{{{|{z{|{|||{z{{zyz{{{{{|}{{{{{z{z{|z{{||{|{{{zy{yz{|{||{{{{zz{{{{z{|{{|||{{{{z{zzz|z{{z{z|{{y{{z{z{{|{{{|{z{{yz{{{z{z{{z||zzz{zzzz{{{||z{|{zyzzzzz{{{{{|{{{zzzyz{z{{|{{{{|zz{z{zzz{z{{{z{{zzzzzzzz{{{zz{{{{{zzz{z{{zzz{{z{z{z{yyyzz{{z{z{{zzzzzxyz{y|z|{{{{zzz{{zzz{{zz{|{zzzzzyzzyzz{{{zz{zzzzyy{{z{{{|{{{{{zy{zyzzzz{{{{z{zzzz{y{z{{z|{{{zzzzzy{{|{z{{|{z{{z{zzz{{{zz|{{{z{{{z{zz{|{{{||{zzzzzzz{|{{{||z{{z{{z{{{{{{{|{|{{z{|zz{{|||{{{{zz{z{{{z{{{||||{{{z{|{zz{{||{|||{z{{{{z{|{{||{}|{{zz{{{|||{{}|||{{z{{|z{{|{||||||{{{zz{z{{|||||{|zz{|zz{{|{|{{{{{{||z{{{||{{{|||{z{z{{z{z|{{{{{||{z{zz{{{{{{{{z||{zyz|z{{|{{{|{|{{zz{z{{{|{{|{|{zzz{zz{z{{|z{||{|{z{z{{z|{z{{{||{zz{zz{z{|{||{{{{{zyyzzz{{{{{{{{{zy{zz{zz|{|z{zzz{z{zzzz|{|zz{{{{zzzz{yzz{z{z|{{zzz{zzzz{{{{{z{z{yzzzzyz{z{z{z|{z{zzyyyz{{{|{zz{{z{zzz{zzz{zz{z{{{zzzz{zz{z{z{|{{z{{z{zyzz{{z{{{zz{{{zzz{z{z{{{{y{zz{zz{{z{{{{z{zz{yzyzz{{{|{|{{{zzzzyzzzz|{{||{{{{{z{z{z{{{{{|zz{{{zz{{|{{|{{{|z{z{{{z{{|}{{|||{zzz{{{{{|{}z|||{{z{{z{{{|{{|{||z|zz{{z{|{||{{||{{{{{{{{{|{|{||z{z{{{|{{{}|{{}{||{{{z{{z{|{||||{{{{{|{{{||{{{|||{{{z|{{{{|{{||||{{{{{{{{{||{{||{{z{z{z{|{}{|{z{z|z{{{zyz{{||{{{{zzz{z{{z{{{{{{{{{zz{zzyz{{{z|{{{|{{z{{zz{z{{{{|{z{{zzzz{{{{|{|{|z{|{{z{yz{|{{{{|zzz{zz{zz{zzz{|z{yz{yzzz{{{{{{z{{{yzzz{{zz|{z|{zyyzzzzzzz{|z{zzz{{zzz{zz{{{z{{{zy{{{{{{y{{{z{{zz{zzzzzyzz{{y{{{{zzz{zy{zzz{{z{{{{zzzy{yyz{{|{|{{zzzzzz|zz{{{{{{{zzz{zyzzz{{z{zz|z{zzzy{{|z}{{|{{{z{{zz{{z{{||{{|{z{zz{zy{{{{z{|{|{z{zy{{{|{|{|z|{z{z{|zz||{{|{{{{z|{{{{{{{{{|||{{{{zz{zz||{{{{|{|z{z|{|z{|}{{|{{z{{{{{{z{{|{||{||{z{{{{{{|{{|{|{{{{{{{{{{{||{|{|{z{{{z{{{}|{||}{{{||{{{z|{{|z{||{z{{z{{zz}{|{{||{z{{zz|{{{{{z|{|{z{zz{zz{{{z||z|zyzzzzzy{{z{{{{zzzzzzzzz{{|{{|{|z|{zz{z{{{z{||{|{z{{{zz{{{{{|{{|{{yzz{zz{zz{{{|{{zzz{{{{{{{zz{{{{zzzzzyzz{{zz{zz|zzyzyyzzz{{{{{{z{zzzzzyzz{zz{{{{zzzz{y{z{{zz{|{{z{zzzy{{z{|{z{zz{{zzzzzz{zzz||{{zyzzzz{{zz{{{zzyyz{zzzzzzz{zz{{zzzzzz{z{{{zz|{{{yzyyz{z{{{z{{{{z{zzz{zz{z{|{{{{{|{{zzyzz|z{||{{{{{z{{zz|{zz{|{{|{{zzz{z{{{|{z|{{{z{{z{{||{{|{{|z|{{{|{z{|{|{|{|{zz{zz{{|{|||{{{{{{y{{z{|{{{||||{{{{|{|{{{|{{||{|{{z{{|{|}|||{|||z|{{{z{|z|{{{||{{|{{|{z{{{{{|{||{|{|{z{{|{|||||z{{{z{{{{|{{||{|{{{zyz{z|{||{{|{{{z{z{zz{{{||||{zzzz{{z{{{{{{{{|zz{zzy{z{{{z|{{{{{{z{zzz{{{{{|{||y{z{z{z{z{zz{{{{{|yyzzz{{{z{z|{zz{zzzzz{z|zz{|{zzzz{y{z{z{{{{{{zz{zzzyz{{z{z|{z{zzz{zzz{{{{|{{zzy{zzzyzz{{{z{z{zzzzyzzzz|z{{{|{zzzzzzzyzz{zy{{{zzzyzzyzz|z|zz{|zzzzyzyy|{{z{z|zzz{zzyzz{{{{{{||z{{zzzzz{{{{{{|z{{{z{yz{{z{zz{||{yzz{z{zz{{{z{{z{yzz{zzz{{{{{||{{zz{z{{z{||z{{z{|{zzzz{z{{{|{|||zzzz{zzz{{{{|{{|{z|{{zz{z|}{|{|||{{{{{{{{|{{||||z{|{{{z{{||{{{{|}{{{z{z{{}z|{||{{{{{|{{{{{}|{||{{z{z|{zz{|{||{|{{|{{{zzz{{{{|{{{{{{z{{z{||{{{{{{{z{{zz{z|{|{{|{{{z{yzzz{{z{{z|z{|zy{{zzz|{{z{{{{{zzzzyzzz{{||z|{z{yzz{z{{{z|{{{{{zzzzzyzz||{{z{{{{zyzzzzzzz{|{z{zzz{z{{zz{zz{{{{z{{yzyyz{{{zz{{z{zz{zzzz{{zz{zzz{zzzzzzzzzzz{{{zzyzzzzyzz{{{{|{zy{zzzzzzz{z{{z|{z{zzyzzzz{yz{{z{zzyz{zzz{{zz{|z{zzzzzy{z{zz{|z{{{zyzzyy{{{{z{{{{zz{zyyzz{{zzzz|{zzz{z{z{z|z{{{{{zz{{zyzzz{{{{{{{{zzzz{zz{z{{{{|{zzzyzy{{{{{{z{{{zz{z{zz{{||{{{{{{|{{{{{z|{z{{{{{{{{{{z{{{{|{{||{{z{z{|z{||||{|{|{{|{yz|z{|{{z|{||{{zz|{z{||{{{|||{{{z{{{{{|||{}|{z{z|{zz{{{||{|{|{{{|zz{|{{z|}{{{{|z|zz{|{{{|||{{zz{z{zz{{{{||{|{z{zz{{z{{|{{}|{{z{z{z{{z{{y{z||z{zzzzz{{{z{{|||{zzy{yzzz{z{{{||{zzz{{z{z{{zz{|{z{{z{zzz{{{{{|z{zz{zzy{y{{z{z{{{{{zzzzzz{{z{{{zz{yzzzzy{{zz{z{z{{zzy{zzz{z{z{|||zzzzzz{z{zzz|{{{zzzzyyzzz{z{{zz{zz{zzzzzzz|zz{z|z{zyz{zzz{{{z{{{{y{z{zzyzz{z{{{zzzzz{{z{{{{zz{z{|{|y{zzz{yz{z{||{{{z{zzz{z|z{{{{{{{{zy{{z||{{||{{zzzzzz{z{{|z{|{zzz{{{{z{{|{{||{|{z{z{zz|{|}{}{|z{{{{|{{{{||||||{z{{{{{z||||{{{{{{z{{{{{{||{|||{{|{{z{||{}{z|||{||z{z|{{{}|{||{||{{{z{{{{|{{z{}{|z{{{{z{{{{|{||||{z{{zz{{|z{|{||{|{y{{{z{{{|{{||{{zzzzzz{|{{{|{{{z{zzz{{{{|{{z{{zz{y{z{z{{y|{|{{{zzyz{yz{|{|{{|{{zzz{{zz{zz{|{|{{{{|{zzz{{|{{{{{{{{zzz{zzz|{{{{{zz{zzz{yz{zz{z|z{zzz{zz|{{{z|{z{yzz{zzzz{z{zz{{|z{zzzzy{{zz{|{{{{zzzzzy{{|{{{z{{z{zzzyyz{{{zzz{zzz{{zyzz{y{z{z{{{{{yzyzzz{{{{{{{z{zyzyzzzz{|z{{{zzy{{z{z{z{{{|z|{{{zz{{{zz{{|z{|zz{{zz{z{{z{{{{z{z{{{zz{{|z{||{z{z|z{{z{{{{{z{{{{zz{{z{{||{{z|{{|zzyzzzz{{{{{|{|z{{z|z|z{{{}|||{zz{{z{{z{{|{||{{{y{{zzz{}|{|{||{{{{{{{{{{|{{||z|{{{{z{z{{{{|||{{{{z{|{{|{{{{z{|{|zy{{{zz{{z{||{{|{zz{zz{{{||||||{{{{{{zz{|z{z|||{{{{{{zz{|y{{{{{{{zzzy{{{|||{{|{zy{z{z{{{zz{{{z{zzyzyzzz{z{z{{||zz{zzzzzzz|{{{{{{z{zz{zy{{{{{z|{{zyyzzzz{{{|{z{{{{zzzzzzz|z{{{{|{{{{zzzz{{{z{z{z{zzzzzz{zzz{{{{{yzyyzzzzz{{zz{|{z{{zzzyz|{zz{z{z{zzzyyzzyzzz{z{|zyzzyyzyzz{{{z{{zyzzzy{yz{zzz|{zyzzzyyzzz{zz{z{zzzyz{zzzz{{z{|z{{yzzzzzyzzzzz{{z{zzzzyy{z{{zz{{zz{z{{yzz{{z{{{{|{z{{z{zzz{{{{z|{|{zzz{{yz{z{z|{z{{{{{zz{{{|{{z{|{z{zz|zz{{{|{{|{zzzz{{z{z{|{z{{{|y{{{{z{||z{{||{{||{{{{z{{z{{|||{{{{z{{{z|{|{{|||zz{{z{z{{{{{{|{{zz{{{y{|{||{||{|z|{{{{{{{{{{|||zzzy{z|zzz{z|{|{{zz{{zzzy|{{|{zz{z{zzzyz|z|{{|{{zzyz{yzzzz{{{z{|{z{zzzz{z{{{{|||z{zz{{z{{zz{{{{{zz{z{{zz{{{{y{{{{{zyzzzz{z{|{{{{{z{zzzz{{{|z{{{zzzzzzzy{{{{zzz{{z{zyzzzz{y{zzzz{yz{zzzzzz{zz{{{{yyzzyyyzzz{z{|{{zzzzyz{yzz{{|z{{{zyzzyzzzzzyzzz|{zzzzyzy{zzzz{{{zzzyz|zzzz{z{{{{{z{z{y{zzz{zzz{{zzzyzzzz{{{z{|z{zzyzz{zzzz|{{{{{z{{zyzz{z{{{{|{{zz|zzzz{{||}{{{{{{z{{z{z{{{z|{{|{z{{{{|z{|||||{{z{{zz{{{{{z|{{||z{{zzzyz{z|z{||{|z{{{{zz|{|{|||{{{|z{z{{{{{|{|{{|{{{{{{{{|{||||||{{{{z{z{{{{{||{{y{{|{|{|{{|||{{|{zz{z{{|{z{{{{|{z{z{{zzz{|{|{{{{zz{{z{z{|{{|{|{{z{{{{z{{{{{{|{{zz{|zzzzz{{{z|{|zz{z{{zzz{{{z{{zzzzz{{zy{zz{z{{{z{{{z{yz{{{{z{||{{zzz{zz|{|{{{z|z{{yyzzzz{{zz{{{zzzzy{y{{z|z{|{{{y{z{{zz{{y{{{z{zyzyyzzz{zz|{z{z{zyz{zzzz{}{|{z|zzzzy{zz{z{{z{{{{zzzzz{zz{{z{{{z{zzyzzzzy{z{{|{|{zzz{zzz{zyzz{{{{zzz{yzzzz{{{{{{yzz{z{{z{y{{{{{|zzz{zz{y{{{{|{{{{z{{zzzz{|{{{{zz{{zz{{zz{|{{z{|{{{z{zz{z{||z{|{{{z{z{{zzz{|||||{{z{y{|{{{{{|{{||zz{z{zzzz{|{{{|zzz{|zz{{{|{|z|||{zz{{{{z||{{{||{|{zz{{zzz|||{{}||zz{{|{z{|z||||{|{{{{{{{{{{{{|}}|z{z|{{{||{||{||{{z{{{{z{{{|{{{{{{z{zzz{{{{{{{||z{{z{{{{||{|{|{|z{yyz{zyzzz{{|{{zz{zzz{y{{zz{{{|z{y{zzz{{{{{{z{{zzzyzz{yzz{{z{z{{{zzzz{z|{z{z{}{{z{{z{zzz{{{z{{zzzzzzyzz{|z{z{{{z{zzzyy{zz{zzz|{zzzz{yzzy{{z{{{{{zz{zzzzzz|z{{{{zzzzzzyyz{z{z{|{zyzzzy{z{{zzy{{{z{{zzzzzz{{{z{z{z{{zzzzz{{{z{{||{{zz{yyz{zz{z{{{|z{zz{{{z{z{|{{|z{{zz{zzzz{{{{{{{zz{{z{z|{{{z{{z{zzzz{{{|{{{{{||zzz{{{z{{z|{{{z{|{{z{z{{{{{|{|{|{{{|{{|{||{|{{|{{{{{{zzz{|{|{{|{|z{z{{{z||||z|}|{zz{{{{{|{{{||{|}{{{{{{|z{||{|||{z|{{{{{|{|{{{{{{{z{zzzz{|{||{{|{zz|z{{z{{{{{||{{{{z{{z{{{z|{|||{zz|{zy{{|{{{||{zz{{zz{{|||||z|{{{zz{{{z{z{z{|{{z{zzzzz{{{{|{}|{{zzyzz{yz{|{{{{|{zz{zzzzy{{|z{{{{z{yzz{zz|{{||{|{zzzzz|z{{{{{|{{{zz{z{yz|{{{zz{{zzzz{{{zz{z{{z{z{zyxzz{z{z{{zz{z{z{yzz{zzz{{{zz|zy{{zzzzz{{z{|{z{zy{zyz{z{|zz{z{{zz{zz{yzz{{z{{{{z{{{{yzzzz{{{{z{{zzzzzz{{{|z{|}zz{zzz{zz{||{z{z{z{{y{zy|{|{|||{z{z{{z{{z{{z{|z||{{{z{z|z{{{{||{{{{{|{{z|{{{{{{z{{{{z{{z{}||||{{z{{{{zzz||{{z|||{zz|{{{{{{|{{||{|{{{zz{|{|||{||{|{{{{|{{{|{{||||{z{{{z{|||||{|||{z{{z{zzz{{{||||{{{{{{zz{|{|{|{||{|{{{z{||{|{|{{{{{zzz{z{|{|{||{{{{{{{{z{{{|{{z{{z{{zzz{{{|{{{{{{{zzz{zzzzzz{|{|z{y{{zzz{{{{{|{|{{z{zzzzzzz{{{{zzz|zzzzz|{{{z{{{{{{zzy{z{{{{z{{|z{zy{z{{{{{{z{{{{{{zzyz{{z|z{{{zyzzzz{{{z{{|{z{{zzzyzzzy{{{{z{zzzzzzyyzzz{{z{zzz{{yzzzzyz{{{{z{{{zzy{z{zz{{zy|{{z{{yzzyzzzzyz{{{{zzzz{zzz{{{{{{{{zzy{zzz{{{zz|{|zz{z{z{zzzz{z|{{z{{z{zzzz{|{{{{{{{zzzzzzz|{{|{z{z{{zz{zzz||{{||{{{{{{{{yz|{{{{|z{zzz{z{{z{{{|{{{{{{{{{z{|z{|{|{|{z{{{{zz{{{{{||z{zz{{z{z{{{{|{|{{{|{{{|{|{|{{{}||z{|{|z{z||{|{{{|{{{z{z{||||||}|{{{||{z|{{{{{|{{{{z{{{{{|{|{||{|zz{zzzzzz{||{{{|{|{{z{zz|{|{|{{{|{{z{y{z|}{|}{zzz{zzzz{zz{{{z{{|{zz{zzzz{{{{{|{|{zyzzzzz{yzzz{{{zz{zzzz{{|{zz{{{{{{zzz{y{{z{{{{{zzzzz{zz{zz{z{{{z{zz{zzz{{{{{{{zz{{zzzzz{{z{z|z{{zyyyz{z{{z|{zz{zyzzyzyzzz{{{{{{zzz{yzyz{zzzz{{zzyzyzzzzy{zzzzz|yzzzz{zyzz{{{{|zz{zyzzzz{{||{{|{{zzz{z{z{{{{z{{{yy{z{zzz{{{z{z{|z{{zzzy{{{|{{|{|zzz{z{{z{{||{{{{{zz{{z{{{{{z{{{{z{z{{z{{{|{|{|{{z{{z{{z{|||||{{|z{zzz{{{}|{{z{{|{z{|{zzz{{||{{|{|{{{{z{z|}||||{z{{|zz{{{||{|||{||||{{{{{|}{}{||{}z{z{{|{|||{{||{{zz|{{z{|{{{|{{|z|{{{zzzz{|||{{|{{z{{{{{{{{{{{|}{|z{{{|z{{z||{|{{{{{{yz{|{|{|{z{z{{zz{{yz{{{z{|z{z{{z{{z{{|{{z{{zz{zzzzzz{{}{|||{zzzz{zz{{|{z{{|z{zzzzzzz{|{{|z{{zzzzz{z{{{z{|{zzzzzzzyz{z|{{{{{z{zyzzz{zz{{z{z{zy{zzzzyz{zy{{{{{zz{z{zzz{z{z|{zz{zzzzzy{{zz|z{zy{zzyz{z{{{zz{{z{zzz{zzyz{zzz{{{zzzzzzyzz{z{z{{{{zzz{zz{{{{{z{z|{zzzzzzz{zz{{|{{zz{{zzz{zz{{|{{|z{zzzz{zyz|{|||{zzz{{zz{{{||{{{z{z{{{{{z{|{{{{{{{z{{{{{{{{||{{||zzz{{zz{}{{|||{|{z{{{zz|||{}{|{||zzz{{{z{||||{|{||z{z{{{{|z{{{}z|{|{{{{{z||{|}|||{{{{{{z{{||{|||{zz{{zzzz|{|{|||{{{z{y{{|{{{||||zz{zzz{{{{z{{|||{zzzzz{z|{{{|{||z{zz|{{||{{}|{{zzzy{zzzx{{z{z{{{{yzzz{zz{y{{{{||{zzzzzzzz{{{{{{|{{{z{zy{{{{{zz{|{{z{{{zy{{{zy{{{z{{{zz{z{|{z{{{{z{zz{zzzzzz{z|{zzzzzzzzzy{zz{{{{{yzzzyzyz{z{zz{{zzz{zzzzzz{{{{z{yzzyz{zz{zzzz{{{zzzz{z{yz{zzz{{{zzzzzzyzz{{z{{z{{zzzzy{zz{{zz{{|zz{z{{zzz|{{{|{|{zzzyzzz{{{zz{z{{zzzzzzz{{{{{{z|{z{zzzzz||{|{{|{{{z{z{zz{{{{z{|{{xzzzzzz{}|z{|{z{{{z{{{z{|{||{|{{z{{{{z{{{{|{|{||{z{z{{y{|||z{{{|z{{{{zz}||{||{{{{zz{{|z{||{||||}{{{z{zz{|{|{|{{{{{zz{{{|z||z|{{{{z{|zz{{{|{{{|{{{{z{|y{zz|{|||{{z{zz{zz{|{{z{{}z{yzz{{z{|{|{{|{{{{|{{|{{{|||||{z{zzzz{{{{{{|zz|zzzzzyyzz{{{{{{zzzzyz{{z{z{z{{||{{|yzzzz}{{{y{{{z{z{yz{z{{{zz{z{zzzyyzzzyzzz{{z{{zzzzzyyz{{zz{{zzz{yyy{{{{zzz{{zzzz{zy{y{z{zzz{z{zzyzzz{zz|z{{|{z{zzzz{zzz{zz{{{zzzzzzzxz{zyz{z{zzyzyz{zz{zzz{z{{zzzzyyy{z{{{{zz{zzzzyyz{{{{{{|{{zz{{zzzz{{|{{{{zz{zzzz{zz|{z{{{z{{zzy{{z{{|{{z{{z{y{{zz{{{{{{||zzzz{zz{{{{{{{||{zzz{{{z{z|||{|{z{{z{{z{{|{{{|}{{{z{{{zzz|{{{z||{{{z{{z{{{{||{|{{{{zyz{{z|z{{{||{{z{zz{{{{{|{|{||z{{{z{{{{{{{|{{{zz{{{z|{{||{|{{{{zz{{zz|{{z|{{|{{z{zzzz{{{{{{||||z{{{{z{|z{{{{|z{|zzz|{{{|}|{{{zzzyyz{z{z|{z{z{zz{zzyyz|z{zz{{|{zzyyz{zz{zz{|{{z{{y{zzz{zz{zz{{{z{zy{zz{z{z{zz{zzzz{zzz{{z{z{{z{zzzzzzz{{{{{{{{{{{zyzzz|zz{{z{{{zzzzzyz{{z{{{{z{{zzyzy{{{{z{{{{{z{yzyyyzzzz{z{{zzzyzxzyzz{z{{{{zzzyyyzz{zyz{{{{zzzyzyzyzzz{|z{z{zyzzzzz{z{{{z{{zzzzzzzy{zy{{||{z{zyzzzz|z{{z{|{{zzz{{zy{{{{{{{{{zzzz{y{z{{{{z||yzyz{{zzz|{{{{{{z{{z{z{z{z{{|}{||{zzz{|{z{{{{||||{{{zzzzz|{|{{|z|{zz{z{{{||{{{}|{z{z{{{|{|{{|}|{{z{z{||z{|{{|{|||z|{{{{{{z{{{{{|{z{{{{{{|{||||||{{{{{z{{||{{{z{|{{yz{{z{{{{{{|{zz{zzy{z{z{{|{|z{|z{zzzz{{{||}{{{{z{zzzzz{z{{{{||{{|z{yzz{z{z{{}{{zzz{{zz{{{z{z||{{zzzzzzz{{{z{}{z{zzzz{z{{{{z|{{{{{{zy{z{{|{{{|zzz|{zyzz|z{|z|{z{zz{yz{z{zz{{{{{yzzzzzzzzzz{{{{{{zzzyyzz{z{zz{{zyyzzzzzzz{z{z{{|{z{zzzyzzzzz{|z{zyzzzyzzz|zzz{{z{yyzz{zz{zy{|{{|{zz{{y{{{{{{{{{|z{{{zz{{{{z{{{{|zzz{zzz{{{{{{{{{{{zz{z|{z{{{{||{zz{zz{zzz{{{|{|{{{{{{{{{{{|{{{z|{zz{|{zz{{||{|{|{{{{{{|{|{|{||||{{{{zz{z{|{|{|{||z|{|{{z|{|{{||{{{{{{{{{z|{|{{}||{z{{{{{||{||||{{{{{{z{z{|{{z|||{zzz{{{{{|{{{{|||{{{{z{{|{|||}{||{{zz{{{{{{{{||{z{|zzzzz{|{|{{|{z|{{z{{{|{}}~{{{z|{{zzyz{z{|{z{{zz{z{zzyz|{{{{{|zzzzzzzz{zz{{|||{zz{{zz{z{{{{{|{{z{zz{zyz{{z{{{{{z{{z{zz{|{zz{{z{y{zzy{z{||{{{{z{{z{yzyz{|{zz{|{zyz{{yzyzz{z{{{z{z{zzzzzz{{{|{{{y{{{zzxyz|{{{{{{yz{zzzyyyzzzz{{{zzzzz{zz{{zz{{z{zzyzzzzzy{{{{{|{{zzzzyzz{{{yz{{zzy{|z{{z{{|zz|{|{zz{z{z{{{{{|{{{z{{zyz{zzz{{|||{{z{{{zzz{z|z{{|{{{{z{{zzz{{z{{|z{{z{{{z{|z{}|{{{{{z{{{{{||z{{|||zz{{{z{{z{{|{{{|{{{{{z{{{{|{{|||{zz{{{z|{{{|||{{z|z{{{{{|||{|||{|{|{|{{{|}|}{{|z{zz|{zz{|{{{|{||{{{{|{{{||{|||{{{{z{{z{{{{{{zz{{{|z|{{z{{|{z{||zz{z{{{{{||}~}{{|{{z{{zzzz{||{{{{{yzz{zzz{{{{{{{|{zzzzyzz{zz|{{{{{zzyzzzzz{{{{z{|{z{z{z{y{{{{zz{{{z{{yzzyzz{z{|{{|{{z{z{z{|{zzz{zz{{zyzzzzz{zz{{{yzzz{zzy{zz|z||{z{zzz{y|zz{z|z{{zz{zz{yzz{{z{z{{{zz{z{zyzz{z{z{{zz{z{zyzz{zy{{{|zyz{{zzz{{{{z{{|{zz{zz{z{{z{z{{{zzzz{zz{{{{|||{|zzz{{z{yz{{|{{{{{{z{z{zz{{{{|{z{{{zz{zz{{{|{{z{{{zz|{zz{{z{z{z{|zz{{{{{z|z{{||||z{z{{{{{|z|||}|{{zz|{z{zz}{{|||{|z{z{z{|||||||}}|{{{{|{{{||{|}{}{{{z{{{|||{{||||{{{|{{zz|{{||{|{|{{z{{z{{{|z|{{|{zz|{{zz|{z{||{{{|{{{|{z{|{|||{|z{zz|{{{z{{|{{|{z{{{{{{{|}}}}|z|{{zy{zzzz{{{{{{|z{{{zzz{z{z{|{z{z{{yzzyzz{z||{{||zz{zzzz{{{{{z{{{{{yzz{zz||{z{{|zz{{{zzzz{|zz{z{{{zz{zzz{{||z{zzzy{z{{yzzz{|{{{|{zzzzzzy{z{{z{{{zyz{zy{{z{{z|{{{{z{{zyzz{{{z|z{{zzzzzzzzz{z{{{z{zzzyz{zzz{zzz{{zzzz{zzzy{z{y{{{z{yzzz{zy|{z{{zz{zz{{zzzz{z{z{{z|yzzy{zzz|z{zz{{|{z{zz{zz{{{{||{{{zzz{{zz{z||{z}z{{zzzzz{{z{zz|z{{{y{z{z{{|||{{}{z{{{z{{{{|z{{|}{{{z|{z{yz{|||||{{{{z|{{||{|{||||z{z{{{{{|{|{{|||{z{{{z{{||{{||||{|{{{{{z{{{||{{{{{{{{{z{|z{|{}||{{{{|zzz|{|{||{{{{{zz{z{{|{|{|||{{{|zz{z||{|{{{|z{{{zz{{|{|{}|{|{{zz{zyz{|{|z{||{z{{{zz{{{|{z|{|{{zy{zzzzz|{{|{{{z{z{zz{{|{{{z|{{{zzzzzz{z{{z{||z{zz{zzz{{{{{{{{{zzzy{z{|{{zz|{z{zzzzzz{z{z{{z{|zzzzzzzzzzzzzz{z{zzzzzzz{z{{{{{{z{zzzz{zz{|{z{{{z{{yyzzz{{zzz{{{{zzzzy{{z{z{{{{{zz{zzzzz{{{{{|{{{yzz{zzz{{z{z{{||yz{yzz{z{{{{|||{zzzz{zzz|||z{|{{{{{z{zy{{||y|{|{{{zzz{{||{{{|||{{{{zzz{{{{{{{{{{{{{{zz{|{||{{{{{z|{{{{|||||||||{z|{{zz{{|||||{|{|z{{{{z{|{||||}|{|{z{|{z|{{{||{|{{{{|{{|||||{|{{{|{yz{||{{|{}{|{y{{zzz|{|{|{|||{{{{|{{||||{{|||zz{zz{{zz|||{{||{z|{z{zz{|{|{||{{{{|{{|{}~||}{z{zzzy{yzy{||{{z{|zzzzzz{zz{{{{{z{{zzzyz{y{z{z{{{{{zzz{{zzz{{|zzz||z{yz{zy|{{|z{z{zzzyz{{zz|{{{||{{yzz{zzyz{{{{{{{{z{z|zz{{{z{z|z{zzz{zyzzzzz{z{{{{z{zzzzz{z{z{{{{{zzyyzyzz{{|{z{|zzyyzzzzzz{{{{|yzz{{zzzy{{{zz{|zzzzyzz{zzz|{z{{{zzzzzzzz{{{{z{{|{zzyzzz{{zzz{{|{z{zzzzzy{{{z{{{{z{|{zz{z{|{|{{{{{{{zz{y{{{|{{{{{z{yzz{yz{{{{{{z|z{{{{{z|z{|{{|{{z{{{{|{{{{{{{||{{{{z|{yz{|||{{|{{|{z{{|{||{|{||||zzz{|{{{|z|{|||{z{{z{|{{|{{{|{|{{{{{zzz{{{{{{|{{z{{{|{{{z{|||||{{zz{{{{{z{{{{{|z{{zz{z{{{{{{{{{{{{zz|{{{|z}{{{{{{{z{z{{{{}{}{z{{{zyz{yzz{{{{z{{zzzzzzzz{{z{|}|{{{z{z{zy{z{|{{|{{z{z{zz{{{{{zz|{{zzzz{zz{{{z{{{|{zzzz{{yz{z{{{{zz{{zzzzzz{zzz{{{{zzz{zzyzz{zz{{{{zzzyzxzz{{{{{|{z{z{z{zzyzzz{{zzzzzzzzzzy{z{{{z{{{{z{{{yy{z{zz{{{{{y{zzzzzzz{{{{z{{z{z{zzz{z{{||{{z{{y{zz{{{|z{|{y{zzz{{|z{{{z{{zzzz{{|z{{{{|z{{|zz{{{{{z{|{z|{{{{{{zzz{{{{{{{{{|z{{{{z{{{{|{{|{|{zz||{{||{|{|||{{z||z|{|{{{z}|{{{z|{{z{|{|{||{{{{z{{{{z|}z||{||{|{{{{{{{{{|{{|{|{z{{z{z{}|||{||{z|zz{{z{z{|{|{{{{{{{{z{|{{||{|{{{{{{{{z{|{}||||{{{z{{zz{{{{{{|{z{zzz{{zz{{{{{||z|zz{zz{|{}}|{{{{{zz{zzzz{{{{z|{z{yzzz{zzzz{{{{|zzz{zzy{{|z{{{||{z{{zzz{{{|{{{{|{zz{zz{zz{|{z{{}zyzy{|{z{|{{{{|z{y{zzzzz{zz{{{z{{{zyy{zzzzz{z{{{{zzyzyyy{zz{{{{zzzzzzzyz{z{{|{||z{{yz{{zzz{{{{{{z{zzyz{y{zz{{{z{|zyy{zy{zzyz{|{{{z{z{zzzzz{z{z{{{{zzzzzzz|{|z|{{z{zyzy{z{{z{{{z{z{{zz{|{|{{z||{zzz{{{z{zz{{|z|{{{|{z{zzzz{{z{||{{{{{zz{{{{|{{||{{z|z|{z{{|{{{}||{{{{z{z{{|||{|||{z{{z{zzz{|||||{{z{{|zzz{||z{{|||{|{z{{{{{|{|||{{{|{{{z{{{||{|{}|z{|{{|{||{|{|{{{z{{{zz{{{{||}||{|{|z{{z{z{|{{|{{{zyz{zz{{{|{{{|{{zz{zz{{|||{{{zz{{{{zzz|{|{}{{{zyyzz{zz{{{{zz{{zzyzyzzy{{|{z{{z{{zzy{zz{{z{{z|{zz{z{zzzz{z{|{{{zzyzzzzz{{{zz{{{{z{{zz{zz{{yz{{{zzzzzyzzz|{{z{z|{{zz{z{zz{{{{{zz{zz{zzzyz{{zz{z{z{z{yzzzzz{z{zzz{z{zzz{zz{{{{{{|{zzyyzz{z{yzz{zzzyzzzyzzy{{zz{{|z{{yzzzz{{{yz|{{zzyzzzz{z{{z{z{zzzzz{zzzz{{{{{{{{{{zzz{{{{z{{|{{{{{z{zzz{|{{z{|{z{zy{zzz{|{{{{|{{y{{{{{{||{{{|{|{{z{zzzz{{{|{|{{{||{{{{z|{{{{{{|{zz{|zzz{z{{{||z|{{{{z{{{|{{{|{|z|zzz{{{{{{|{{|||{{|z{{{{{|z|||{zz{{zz|z{{{{}|{|z{{{{{z|z|{{|z{|z{{{{|z{||{|}{{|{zzz{{{zz{{|{z}|{{zzzzz{{{{{{{{{{{{{zy{z{|{z|{|z{{yzy{zz{{{{|{z|zzyzzzzz{z{z{{{{zzzzzzzyzz{{{||{{z{z{zz{{|{z{{{{{zzyzz|y{|{yz|{{zz{{zz{zy{{zz||{z{zz{yzz{z{{z{y{{{{z{zz{z{{z|z{{zzzyz{zzz{{zz{{zzyzzzzzz{{{zz{{{{{{zzzyzz{{{||{{{yzyyzzzzz{zz{zzzzzzzz{y|z{|z{zzzz{{zz{z{z{{{{{{{{zzzyzz{{{|{{{{{zz{z{{zz{{{{{{|{zzz{zz{{{{|{{{{{{{{z{zy{|{{{||{z{{zz{zy{{{{z{{|zz{zz{{{zz{{{{{{{{{{{{{y|{z}|{{zz|z{{z{{||{{{|{{{z{{{{{{|{{|{|||{z{{{{{{}{||{|{|{|{{{|z{|{|{|{|{|||{|{{z{}{{{{{{{{{{{{{{{{}|{|{}{{z{{{z{{|z{|{|||{z{{{y{{{|{{|{{{{zzyzz{{{z{{|{|z{z{yz{z{{|||||z{{{{zzzz{|{||{z|{zzz{z{z{{{{{z|{z{zyz{zzz{{{{{||zzzz{zz{|{{z{{|{{z{zzzzz{{{|{z{{|{zyy{zz{z||{{z{zz{z{y{yzz{{z{|zzzzy{yzzz{{zz|z|zy{zyzzzzzzz{{{z{zyzzz{z|z{zz{zz{yzzzyyy{zz{|{{{zzzzzyzy{{z{zz{{|{zy{yzzz{z{z{{zyzzzzzzzz{z{{|z{zzz{zzzzzzzzz{{|{{yzzz{z{{{{{{{|{zzz{{{{{z{z{z{|{z{zyy|{{z{{{{z{z{{z{z{zz{{|{{{{{{{zzzzz{{{{z{{zzz{zz{zz{{{{|{{|z{{{{{zz{|{|||||zz{{{z{z{{{{{|{{{z{{|zz{{|{|{{|{|{z|{{{{}|{{|{|{{{{zz|{{|{{{||||{{{|z{{{{|{{{{||{{{{z{zy||{|{{}{|z{z{|{{|{{|}||{|{|{{{zz|{{||}||{{zz{zyzz{{{{||{{zyzzz{z{|{|{{|{{{|{z{zz|{||{|{|z{z{yzyzz{z{{{{|zzzzz{zy{zz|{{{|z{zzzz{zzz{z{{{{{zzyzz{{zz{|{{{{zzzzzzzzzz{{z{z|{zzzzzz{yzzz{|{{z{z{zzzzz{z{{{|zzz{z{{zzzzz{{zz{zzyzzzzz{z{{z{{z{zyz{yyzzz{{zzzzzzzyyzzzzzzzy{zzzzz{zzzzz{{z{{{{zzzyzzyzzz{yz{{zzzzzzzyyzzzz{{{{z{zz{zzy{{{zz{|{{zzzzyzy|{{{{{{|z{{zzzz{z{zz{|{{{{{z{z{zzzz{{|{{{zz{zzz{{{|{{z{zzz|y{{z{{{{{z|{{z{{{z{{{{z|{|{|{z{z{{z|{|{{z{||{z{zz{z{z{{||{|||{z{|z{zz{||||{|{{{{z{|z{||{{|{|{|{{{z{{{||}|{{|{|{{{z|{{||{{|{|{{z{z{zz{{{{{|||{{|{zz{{{{|{||{|}{z{z{{z{{{|{{|||{z{{{zz{{{{|{{{{{zzz{{{{z}{|z||}{z|z{z{z{{|{{|||{{{{{zzz|{{|{{|{{zz{{z{z{{{z{|}|{{{{{{{{{{|{{z{|{{zz{z{{|{|z|||{|z{zz{{{{||z{{|||zzzz|{z|z{{{z{{zz{{z{{{{{{|{|{{zz{{|zzz{{|{{|{{z{{zyz{z{{{{|{||{||{z|{{z|||z{||{{{z{zz{z{|z{{{|{zzz{zyz{{{z{{{{{z{{{z{{{{z|z{{||z{z{{{z{|{{{||{z{{{{{{{{|||{{{{z{{{{{zz|{|{|||{|{{|{zy{|||||}{{{z{||z{{|{|||||{|z{{|{|{||{{{||{{{{|{{{|||||||{|{{|{|{{{{{||}|||z{|{{z{{{|||||{||{{{||{|{||||}{}z{||{|{{||||||{|}{||{{{{{}{||||||{|{{|{{||{|||{}|{|||{{|{{{{|||}}{{||{||||{||}||||{{|{{{{|||{||||{{{{{{{{}{||{}{|{|{{{|z{}|}||{{|{z{{{|{{|{{{{|}{{z{{zyzz{{{|{{|{z{z{z{z{{{{{||||y{{{{zzz{|{|||{{{{{zz{z{{{|{||{{{{zy{zy{{{z{{|{{z{z{{{z||{{|}||zzz{{zy{z{{{{|{|{zzzz{{z{{{{|{{{{z{z{zz{{z|{|{{{{z{zzy{zz{{{{z|{{yz{{zzz{{{z{|{{z{{z{zzz{{zz{{{{{z{z{{{{{{{|{{|{{{zz{{zz{{{{||||{z{{zz{{{{||{{||z{{z{|z{{z|z|||{|{{z{yz{{{||||||{z{|{{|{{|{{||{{{||{{{{{{{{{{{{{|{{z{|{{|}}}||||{{}{{{{z||{|{}||{{{{{zz{||||{|||||{{|{z{}|{|||||z{{|{{{{{|}{|||}|z|||{|z{}|}|}{||z{|{{||||{||||}{{{|{z{{|{|||{||{|||{{{{{|||}}}}{{|{z{{{z}|}||}||zz|{{|z{||{|{{|{||{|{|z||}|{||{{z{{{{zz{{|{{z||{{z{{zzz|{|||{|}|{{zzz{z|z{{{{||{{{{zz{{|{{|{{{{|{zzzz{z{{||{|{|{{{zz{{zz{{|{{{{{zz{{zyz{|||{{{{{z{{{zz{{{z{{{{|{{{z{zz{z{{z|{{{{zz{yzzz{{{z|{{{{zyzyzzzz{|zz{{|zz{zzyz{z{z{z}|{{|{{z{z{z|{|{{|{zzz{|{zyzz|{{|||{zzzzzz{{{{{z{|{zz{{{z{z|{||{{{{{{|zzzz{{{|z{}||{{{{|{{{{|{z{|||{z|{{zzz|{|{{}|{{{z{{{{|{{}|{||{{{{{{|{z{||||{{||||{{||{|||{{{||{{{|{z|z{{{|||{}|{|{{{{|{||||||{{{{{{|||{|{|||}}|{{{z|}{|||{{|||||{|z{{{|||{|||}{zz{|z||}||{{|||||{{{{{{||{|||{|{{z{|{||{}{{|}||{zz{{|zz{|{|{{{z{{{{{z{|{||{|}{|{z{{zz{z{|{{{|||{{zz{xzzz|{{{{{|{{{zz{z{|z|{{||{|z{{|z{{{||{{{{|{{z{zz|z{{{|{{{|{z{z{{|y{{{{{{|{{{zzzzzz{}|{{|{|zzzzy{z{z|{{{{z{{z{{{{{{{{{|{{|z{z{{z{zz{{|{|{{{{{{z{zzz{{{{zz{|zzz{{{{{{{z{{|z||z{zzzz{{{{{{||}zz{{{zy{{{{{{{{|{{{{zz{z||{||{{|{{z{zz{{{|{{{{|{{z{{{z{z|{{{{|{||{{z{{{z{|}{|||}|{{{{zzz{||||||{{{|||{{{{||{||}||{{{{{{{||{|||||{|z{{z{{}|}|{||{|{{|{{zz|||{}{||{|{{{{z{|}||||}|{|{{{{{|{}{}|||||{|{z||||||||{}||{|{{{|{|{|}|||||{{z{z{|||}{|{|}|{|||{{z{{{|{||{{{{{{||||||||{}|{|{{{{|{|||{||{|{{{zzz{z||{||}{{{zz{{z{{{z{{{{{{|{{zzzzz{{{{{{|{|{z{|z|z||{{||{{|zz{{{z{z{{|{|{{{{zzz{{{{{{{{|{{zz{{{{{z{{{|{{|{{zz{{z{{zz{{{{{{{|{zzz{{z{{{{{|{z{{{zz{z{{{zz{{|zz{{z{z{|{{z{{z{{{{zzzzz{{{|zz|{zzzzzzzzz{|{{{{|{zzzzz{{z{z||{||{z{zy|zz|{{|{|||{z{{|z|{|||{{{{{{zz{z{{|{|||z{||{{{z{{{{{{|{{{|{{|{{zz{z||{{{||{{z|z{z{{|{{{{|}|{{{y|{{{||||{|{||z{{{{z|{|{|}|||{{{|||{{|{{||}|||{{{{{|{{||{|{|{|{||{z|{|}|{{||}|{{||||{{||}{}|||{{|{|{{{}}{||}|{z{{{|{{|{|||}|||{|{{|{{||{|||}}|{{{|{{{||{|||}}{||{{{{{|{||{|||||{{{z{z||}|{||{{|{zz{z{||{{{{{{|zz{zzzz{z|{{{|{{{{z{zz{zz{{{||{{{{zz{zz{{{{zz{|{y{{zzz{{{}{{{||{z|zzzzz{{{{{|{|{z{z{z{z{z{{{{||z{{{{z{{{z{{{{{|zz{z{zzz{{{|z{{{z{zz{zzz{{{{z|{z{z{z{|zz|z{{||{|z{z{zyzz{{|{|{|{zz{{{{{zz{{{z{{{z{{z{{{zz{{{z{{||{z{{z{z|{z{{{||{{{z{zz{z{{||{{|{{{zz{{{{{|{z|z||z|z{{{{{{|{{{|||{{{zzz{{z{||}||{zzz{{z{{{||{{|||{{{{{{{{}|{|}{}{{{{|{{z{|{||~||{{{{{{|{||{|||{||{|||{{{|}||||||{z|z{{{{||{{|{|||{|{{{||||{{|||}|z|||{{{{||||||||{|{{{|{||{||{}||{{{{|{{{{{||}}}|{{{{{{{||{||{}|{{{{{{zz{{|{||}{{{{{{|{{{|{|{|{{{z{{{z{z||}{{{{{z{{{{{{{{{|{{{{|zz|z|z{z|{{{||||{{{{{{z{|{{||{||{z{z{{zz{{z{{{{{{{{zzzzz{{{{{|||zz|{{z{z{{{{{{|{|zzzz|y{{{|z|{|{{z{z{z{{z{|{z{{|{{z{zzzzz{{{{{}{{zz|z{zz{{{z{{|zzz{z{{yz{{{{|{{|{zz{zyzzz|zzz|{{{zzz{zz{z{zz|{{{{zzz{{{{|z|{{{{{{z{z{zzzz{{{{{|}{{{{|z{{|{|{{|||z|{zz{{{{{{|||||{{{z{z{z{|||{{|{{z{{z{z{{{{{{||||{|{{{{{|{|{{||{{{{{|z{{|{|{||{|{{|{|{{{{}{{{|||||{{{|z{{||{}}|||{z{{{||||{||}||{|}|{|{||||}||||{{|{{||||}|{{|}|}{{{{|{{{||{{||{|{||{|{{{{|||}|||{{||{z|}}|}{}{|||{{{{z{|||{{|||{z{z{{{z{|||{|}{||||{{|{{|||||{{|{{{|{z{||}{{|||{{zz{z{z{{||{|{{|{z{{{{{{{|{||||{{{{{{zz{{|{{|||{{{{z{{z{|{|||{{z|{{{{{{{{{{{z||||{{z{z{{{|{{{{{{{{{{|z{z|z|{|{|{zz{zzzy{{{{{|{{|{{zz{zz{|{{zz{{{{z|z{zz{{|{z{{|zz{z{zzzz{|zz{z||z{zz{zz{{{{{||{{{y{{{{z{{{{{|{z{{{{zz|z{||{{{||{z{z{z{{{{||{{{{|{{|{{{{|{{{||{|{{{{{zz{{|{|{{|{|{{{|{{z||||{{||{z||{z|||||||{|{{{{{{{|{||}|||}{{{|{{|{||||||}|}|{z{{|{{~|||{}|||{{{|||{{|}{|||}{{|{{|{|{}||||}}}{{{|{{{{}|{||}}|{||{{{|{||||~}||{{{{||{|{||||}|||{||{{|{|{{|}||z{|z{{zz||{||{||||{|{{|{|||||}|}|{{{{{z{||||||||z|{{{z{{{||{{{|{{{z{z{{{{|{{{{||||{{{{{z|z{{|{||{{z{z{zz{{||{{||{z{{{z{z|{{|{{||{{{{z{{{{|{{|{{|{{zzz{{z{{{{z{|{z{z{{zz{z{{{{{{{{{zzzzzz{{{{{||{{zzzzzz{{{|{||{{zz|{z|z{{{{zz{||{{z{zz{z{z{|{|{z{{zzzzz{{{{z{{|{zz{zz{{{{|||{{||zz{zz{{z{{|{}||{{{{|z{{|z{|z|{||{zz{z{z{||{|||{||{|{|{|{{}{||||||z{{{{{{{{|||{{{|{zz{{z{z||{{{{{}{||{{{{{||||{|}{{{{z{{z|||||||}{|{}{{{{|||}{{||}z{{|{{{}||{|}}}{{{|{||{{}|||||||{}{{|{|{|}|||}||{||{|}{|{||{|}|{{{|{|{|z|{{|}{{|{{{|{{{|{|||||}{|z{{{z{{|z{||{{|||{z{{z|{{|{{|{{{zz{{{{|{||{{{{{{y{{|zz{{|{||}zz{{z{{{z{|{{{|{{{{{{{z{z||{z|{|||{{{{zz{{{{{||{|{{{z{{{{{z{|{|||z{|{{|{{{z{|{{{||{{{{{{{{|{z{}|{{{{{{{{{{{{|{{{|zz{z|zzz|{{{|{|{{z{{z{z|{{|||||z{z{zz{zz{{{{{{{{{{{{zz{z{{zz{{||{zzy{{zz{{z{{|||{{z{{yzz{{{{|{||{{{{z{{z{||{}|||{z{z{{|{z{{||||{{||{{{{|z||{{|||{|{{{z|z{|||{|{|{|{|{{z{{|{{||{{{{{|{|{||}|{||{|z{|{|{z{z}|||{||{|{{{{|{|||||}}|{|||z|{{{||}|||}{z{{|{{{{}{||||}||}{|||{|||}|||}|{|||||{{}|{}||}|||{{{}||{{|||||}{{||||{{||||||}|{{{||{|}|||||||{{|{z{{|{|{{||}||||{{z{z||}||||{|{|z{{z{{|||}{||{{z{{zzzy|{{{{{|z{{{z{{z{{|||{{|{{{z{{{z|{|{{{||zz{zz{{zz{{|z{{|{{{zz|zz{{{{{{{|{z{zzz{{z|{{{||{{zz{zy{{{{z{z{|{{{{zzzzzz{{z{{{|z{{{{z{{{|{{{|z{zz{zzzz{{{|{|{|{{{|{yz{zy{{z{|{{{{y{zzzz{{{{z||{{z{zzzzzz{z{|{{{{{{{{{{zz{|{z{|{{{zzz{z{{{|{{{{|zz{{{{{{||{||}|||{{{|{{zz||{{{|{{{z{z{{z{{{|{{{||{z{z{{{|}|||{{{|{{{{{{z|{{z{{|{|{zzz{{{|}{||||{{|{{{{||{{{|{{|||z|{z{{{|{||}|||{{{{{{|{{||{{{~||{}|{||{{|||{||||{z{{{||z||}}||||z||{{|{|||}|{|{|{{{||{{{|{{|{||||{{z{{|||{|{|||{|z||{{|||||{{}|{{zz{z{z{|{|{||{{z|{{{{z|||{||{{{zzzzz|z{||{z|||z{{z{{{{{{{z{||{{zz{yz{z|z{||{|{zz{z{{{{{{{{z{{||{{zzz{z{z{{|{{{|zzz{{z{{z{z{|{z{{z{z{{zzz|{{{{{zzzz{|{z{{|{z{{|zzzz{z|z{{|z{{{{{z{z{{{{{z{|{{}{{{{z{z{{{{|{z{||zzzzzz{zy{{{{|{{z{zzzz{{{{|{z|{{zz{{z|z{{{z{{{||{{{z|{{{{}{z{||{{|{{y{z{{|||}{{{z{{|z{|{{|{{{{||{{{z|{|z{{{{{||||z{{{|zz{|{|{|||{z{{|{{{{{|{{{{|||{{}||z|{||{{{z|{zz|||{|{|}{|||||{|zz{z||{{|||||{|{|{|{|{}{|{}||||{{}{{{||||}||{{{z{{{z{|||||}||{||{|{{||||{||||z{{|{{z{}|{{||||{{|{|{{{{||}||}|{{{{zz{{|{||{||{|{{z{{{|}|{|{|||||{{zz{{{||}|{{{{{|{{z{{{{{{{{{zzz{yz{{{{z|{||{{{z{z{zy{{|{{|||{{{{z{zzz{|||{||||{zzz{z|{|{{{||{{y{z{zz{|{{{||{{{{{{{yz{z{z{{||zz{{zzzz{{{{z{{|{{z{{{zz{z{{{||{{z{{z{zz{|{z{{|{{{z{{{{zz||{{{|{|{{z{z{{z{{{z{{{{|zz{{zyz{z{{||{{zz{|{z{{{{zz{||||z{{{z{{{{{||{|{{|{zz{z{{|{{||{{{{z{{|{|{|{z||{{z|{|z{{{||{|}z{|{{{{z{z|{||{{{{{{{{|{{{|{||{|||{yz{{{{||{|||||{|||{{{{{|{|||||||{{|{{{|{||||{||||{{{{{{|{||||}|{{{{{|{|||{{}||{}{|{z{{{|||||||}|{{|{{{z|}||{|||{{{||{{z||{|||||{{{{{{{{{|||{}{}{{{z{{z{{|{|{|}}{|z{{{|{||}{{|{||{{{{{{z{|{}|{z{z{z{yz{zz||{{z||{{{z{{z{{{{{{{||{z{zz{zz|{{z{{|{z{{{zzz{{|{|{z||{{zz{{zz{{|{z|{|{{{z{y{{{z{zz{{{{{{{y{{{|{|{z|{|{z{{{{zz{z{{z{|z{zzyz{zzz{{{{|{{{z{zzzz{y{{{|z|z{z|zyzz{z{{|y{{|z{y{zz{{z{zz{{{z{{{zzzzzz{{{{||{{z{zz{zz|{{{{||{{{z{zz{|{|{|{{{|{{{zzzz{|{{|||{{z{{{{{{{{{{}{|{|{{{z{{{{{{{{{}||z{{{{y{|z{{{{{|{{{z|{{zz{{|{||||{z{{zzzz}{|{||||||{{z{|z{{||||}||{}{|z{{{|||}{|}|{|z{z{{||}||||}{{|z{{{{{||{{}{}|{{|{|{{{|{|||||{|{{{{{{|{{{|}|{|{{{{{|{|||||}|}|{y||z{{|{{{|||{{{{{{{{{||{|{{||{{{zz{{{{|||{|{{zz{z{z{{{{|}|{{{{zzzz{z{z{{{{|{|{{{zz{zz{z{|{{{|z{{{z{{{|{|{{{{|{z{yzz{z{{{{{{{{{|{{zzz{{{{|{|{|z{z{zz{yz{{z{{{|{{{{z{y{z{|{z{{|{z{zz{{{zz{{{{{{{z{zzz{z{z{{zzz{z{{zzzyzz{{{|{{{z{{zy{zz{z{{{{{{{z{z{z{yz{{zz|{{zz{zzz{z{z{{z||{{{{z{{zzz{z{{z{z{{{z{{{{{{{|z{|{zz{z{{{z{|{|{{{|{z{z{{{{{||{|z||{{{{{zz{{{{{|{||zz{z{{z{{{|{{||{|{zz{{{{|{{{{z{|{zz{|z{{{{}{||||{{{{z{|{|{{{{|{|{z{z{{zz{|{||{||}{{{{{{{{||{|{{|{{|{{{||{{|{|||}}{{|{{{z{~}}|}{|{||zz{z||{{}{|||{{z{|{|{{||{||}}{{{{||{{||{|||||{||z|{{{{{|{|||||{z{zz{z{{{|{{||z{|z{{{{{|||}}{|{|z|zzzz{{{{{z|{{{{{zz{z|{z|{|{}}z{z{{{z{|{{{{|||zzz{{zz{{{|{{{||||zz{{{|z{|z{|{{z|z{{zzz||{z{|{|{{z{z{z|{|z|{|{{zyzzzz{{{z|z{{{{zz{zzzz{|zz{||{z{{z{{zz{z{{{|{z{z|{{y{z{{z|||{{zz{{zzzzzz|zy{{{zzzzzz{zz}{z{{{|{{zz{{{{z{{{||{{{{{z{z{{{{|||{{{{{{zz{zzz{||{{||{{z{z{z{z{{{{|||{zz{{z{{{{|||{||{{zz{z{y|{|{||}{||z{{z{{{{||z{|{zz|z{{{{|||||{|{{{|{|{{{|{z{|{|{{z||{z|{|||{{||||z{{{{{{|{|||||{|{{{|||{{|||{|}{|{{{|{|{|}||{|}||{{{{|{z{}z|||||{{{|{{{||{||{{||||{{||{z}||{|{}||z|{{{{{{{|||||||{{{z{{{{{{{|z|{{{z{{{{{|{{{{{{{z{zz|z{z{||{{|||z|{{zzz{{|{{|}|||{{yz|yz{{{{}}||{{{zzz{|{{||{{{z{{|{{{zz{{{{{{{|zz{zzz{{{{{{{{{{yz{zz{z{{||{|}{z|z{z{{zz{{{{{{{{|{{|zyzzz{{{z{zz{zz{z{zz{z|z{{{|{{{{{{yzz{z{{{{|{{z{zyzyz{z{|{z|zz{zz{zyz|{{|{|{z{z{z{zz{{{{|{{{z{zzzz{z{|{{{{{|{{{{{z{z||{||{{{z{{z{{zy{|{{{|}{{{{{{z{z{{{|{|{|zz{{|{{{{||{{|||{{{{|{|{{{{{|{{||{z{z{{{||{{{||{{{|zz{{||{{||{|{{{z{{z{{{|}|{||{{|z{|{{{}{{|{}}||{{{{|||{{|||||||{{{{{{|{}}||}}||z||z{|z{||||{{|{{{{|{{{{{|||}|||{{{{{|{||}|||{|z{|z{{{{||||{||||{z{{{|{{{|||||}{z|z{z{z|||{||{|{{zyzy{z{||{{|{|{z{{zz{{|{{{{}{|{z{z{{zzz{z|{{{{zz{{{z{|{|||{{|{{{{zzzzz{|{{{|{{|zzzz{{{z{z{{{{{{{zz{{zz{z{|{|{{{z{zz{y{z{{z{z{{zzzy{z{z{{{{z{{{{z{{z{z{{{{{{{|{||{zzz{y{{{{{z{{z{zzyzzz{z{z||||{{zzzzz{{|z{{{||{{{{z{{z{z||{{{}{{{zzz{{{{{zz|||{{|zz{{{{{{{|{{|{{{z{{zzz|{{{{|||{{{{{|{{{{|{{{|{{{zzzz{|}{||{||{z|z{{z{}||{{{|{{{{z}{{{{|z|||||z{{z{{{||||||{}||yz{|{zz{{|||||{}{|{{{{z{{|||||{{|{{{|{{{|||||}||{||{z{{{|{|||||{{{{|{{{}|{|||}{}{z{|{zz}|||{}}}||{|{{{{{{||||||{{{{z{{{{|{|{}|}{|z{{zzz||||{||{{{|zz{{{{{|||{{z{{zz{zzz|||{{{|{{{{{z{z{{z{y{|{{{z{{{zy{{{{{{||||{{{zzzzz{||z|{{|z{zzzzz{||{{{z{zz|zz{z{{{|z{{{{{{{z{zy{{z{{z{{{{z{|zz{{{{z|zz{{z{zzzzzzzz{z{{z{{z{zzzz|{|{{|z{{z|{yzzzz{|{|{{||{zzzzyz{zz{zz|{|{{zzzzzyz{{{{|{|{zzz{{{z||{{||{{{{{z{{{zz{{|z{|{zz{{{z{|{{{{{|{{|{{{z{{{{{{z|{{|{{{{{zz{z{||{|{{zzzzz{zz||||||||{zzzy{{|{||{{{{{|{{{{{{|{{{|{||{{|z{{{{|||{|||{{{{z{|{|{||{{||}{{{zz|{{z||{|||}|{{{{{||{|||{|||{}{{{{{{{|||||||{{{|{{{{||{|}{|{{||||{{z||||{|{|{{|{{{{{|||z||{||||{{{{z{{|{||||{||{{z{{z{|||||{|{||z|z{zz{{{{{{z{{zy|{{z{{{||{||z{{zyzz{|{{||||{{{{{{zzz{{{||{|{{z{z{{{{{{{{z{||{{zzzz{{{{{{{||{{{{z{{{z{{{|z{|{{zzz{zzz|{{z{{{{z{z{{zz{{{{|{{||{y{zzzzzz{{{{{{|z{{|{zzz{z||{{{{{{{zzzz{z{{{{{{|zzzzzz{y{{{|{{{{|{zzzz{zz{z{{|{|{z{{z{z{z{|{{{|||z{{{z{{zz{|{{{|{{{yzz{{|{{|{|z{zyz{z{zz{{|{|||{{{{|{zz{{{||||{||{{{z|yz{|{{z{|{{z{{{z{{|{{{|{|}|{{{{z|{|{|{z|{}{{{{{|{|||{|{||}|{{|{|{z|{|{z|{||zzz|z|||||}||||{z{{{|}|||{|{||{{{{||{{||}|||{|||||{z{{{}|{|{{|||{{{||{|||{|{|||{{{z|{{||||||}|{||{{{{|{|{{{|}|||z{{|{{z{|z|{|||{{z|{z||{{{{{{|{zz{{{zzzz{|z{|}{||zz{zzz{{{{||||{{{{{{zz|{{{|{{{{{{{zzz{{{{{{{{{{{z|{{{zz{||{{|{{{{z{z{{z{{zz|||{z{{zz{z{{{{{{{|{{{zzzzzz{{{{{{{z{{zz|zz{{{z{|{{{zzzzzz{{}{z{|{|{{{{z{zz{|{{{z{{z{z{zzyy{{{{{{{{{{{z{{{{z{z{{{|{{z{z{{zz{{{{{||{{{zzz{{z{|{|{{|||{z|{{{{}{||{{{}z{}{{{{{z{{|{||{|{{{{z|z{|{{|||{|y{{{{{z{||{{{||{z|{|z{{|||{{|{{{{{{{|{zz}{|{{|{|{{{{{{|||||||}|{{{{{{{{{{|{|{|{{{{{|{{{|||||||{{{{{{z|{{||||||}|{||{|{{{}}||{|||{|{{{{{|{|||||||{{{|z{{||||||||{||{|z|{{{{{|{|}{{{{{{{{{{{}{|}{|{{{zz{{||{||||{|{zyzz{z{{{|{{{{z{zz{y{z{|{{{{{{{zz{{zzzy{{z|{||{z{zz{z|{{{{z|}{|{{zzzzy||{{{{{{{{zz{{zz{{||z{{|{z|{z{{zz|z{|{|{{{z{yzz{{{{{z|{{z{{z{z{{|{{z{{||z{zzzyzz{{{{z{|{{{zzzzyz|{{{{{{|{z{{zyzzz{|zz{{{{zzzzzzzz{{{{{{{{{z{z{zyz{{{}{{{zz{{{{z{{{z{{{{z{{z{zzzz{{|z{|{|{{|z{{zz{{|{{}{|{{{{{z{z|{{{{z|{|{|{{zzz{|{{||{z{z|{{{{z||}|{||{{z{|z{{{{|{{{|{z|z{y{{{z{||{||||{|{{{{{||}{||{|||{{{|{zz}|{|}}|||{{{||{z|}||||||{|{{z{z{{}|||{|}||{z{{|{{}|||{}||z{{|{{{|||||{||{{{||{{{||||{||||{||{{{{{{|||||}{{{{{{{{{|{}||}{{{{{zz{z|{{||{}||{{z|y|{{|{|{{{{{{zz{z{{|{{{y{z{zyzzzzzz{{|{{{||{{zzz{z{{{z{z|{{{{|zzyzz||{|z{{|{|zzzz{zz{{|{z{|{zz{yyzzz|{z{{{{{{{zz{{z{|zzzz{||z{zzzz{zzzzz{zzzzzzzy{z{{y{{{{{z{zyzzz{z{{{{|{{zzzzzz{z{|{{{{z{zyy{zzzzz{{zz{z{||yzzzy{z|{z{|z{zzzyz{zz|{{{|{|{{{z{{zy{z|{{{||{{zz{{{{z{{y{z|z|{{zzzzzz{{||{{{{|zz{zzzz{|||z{|{z{{z{{{z{{{||{|{|z{zz{z{z|{{z|{y{{z{z{{z|{{||{}|{{|{{z{z{{|{z{||z{{z{{|z{{{||||||z{z|zzz{|||{|||{|{{{{{{|||{{|||{{{z|}{{{|||{||||{{zzz{z{{{{||}}|{{{{{z{{{|||{|}|{z||z{{z||{||||{{{z{{{z|{{{|||{{{z|zz{z{{|{{{{|{|{zzz{{{{|||{z{{zzz{{zy|{{{||||{z{zzzz{{{||||{|zzz{z{{{{{{||{||{y{{z{{{{{|{|{||z{{{{zz{{{|{z{{{z{{zzz{zz{{zz{{{z{{zzzzz{{|{{{|{{{{z{zz{{{z{{{{{zzzy{z{{z{|{{{{{z{zzz{zy{{z{{{{{{zzzzz{z{z{{z{}{{{{yz{zz{{{zz{z{zz{zzz{z{{z|{|{{zz{{{{zy{{zz|{{{{{{{z{{{{|{{{{||zz{{zy{z|z{z|{{{{{{zz{z{{{{{{{{{{z{{{z|{|}{{{|{|{{{{z{|{{z{{{|{{zz{zzzyy|||{|}{|z{z{|{zz{|||||||{{{{|{z|||||||{}{{|{{{z{|||{|||{|{{{||{{||}|{|{}{{{{{{{{{|{|||}{|{{zz{z{|}||}|}||{{{{{|{{|||||||{|{{{{{|{|{|{||}{{{|{{{{|||{}|||z|{{{{{z||{|{{||{{z|{{zz{||{{||{{{{{{{z{|{|z{z|{{{zzzzzzz{|{{z||zz{{z{{z{{|{{|z{{{{z{zzz{{{||{{|{zz{{zzz{{{{{{||{{zz{zzy{|{{z|{||z{z{{{{{{{z{||{{z{{zz{z{{{z{z{{z{yzy{{z{{zzz{{z{zzzzyz{{{{{{{{{{z{yy{zz{{{z{|{{{zy{{yyzz|{{{{|{{z|zzzzz{{z{{{{{zzz{{{zy{{{{{{|zzz{{zzzz{|{{{{|{|zz{{{zz{|{|z{{|z{{{zz|z{|{{||z|zzz{zz|z{{|{{|{{z{{{yzzz{|||{|{{|{z{zz{{{||||{|{{z{{{zz{{||{{||{{{{{{|{{{||||{||{z|{|{{||z{||||{{{|{|{{z{|{{|||||z{{{{{{{|{|}|||{{{z{|||{}}|||||{z{{z|{z{}|{|||||{{||{z{|||||||{{{{{{z{{{||{|{|}{{||{|||{{z}|{||{{z{z|z{{{||{|||{|{{zz{{{zz||{||{{|zz{z{{||{{|{z{{zzzz{z|{{z{{||{z|zz{{z{||{|{||z{{z{z{{{{{{|{|{{zzz{{{zz{z{{{||zzzzz{{z{|{{|{{{{z{zzzzy{{{zz|{{z{{zzzzzz{{{z|{|z{zz{zzzz{{z{{{|z{zzzyzz{z{z{z{{z{{zz{z{{{{z{{{{{z{zzzzzzzz{z{{{{zz{zy{z{z{{{z{{zz{z{yy{z{z{z||{zzzzzzz{{{{{{{|{{{yz{zzz|{|{{||{{{{{zz{z{{{z{{{{{{{zz{{{{{{|{{||{{{{zz|{{{|{{|z{{{zz{{{|{||{{{||{{zzz{|{{|{{{||{{{{|{{|{|{{|{||{{|z{{z|||||{||||{{{{{{z{|z{}{z|{|zz{{{z{{|||||{|{z{{{|{{{|||{||}|{|{|{{{{}{|{{||{||{{{zz||||}||{|z{z{{{|{||{||}|{|{z}{{z|{|}|||}z{{{{{{{{{|||||{|{z{{|z{|{{|{|{{zz{{z{{z{||||{{|{zz{|{{z{{z{{{{{{{{z{{z{z{{|{{|{|{{{{{z{{|{{{{|{{y|{y{{{{{|}{{{{{z{zzz{{{|{|z{|{{{{{z|{z{{|{{|{{{z|z{z{z{|{{{{{{zz{{{{z{z{{{z{{|{{zzzzzz{{|z|{|{{{z{{{{{{|{{{{{|{{{zzzzz{|{{{{{{z{z{{z{{z{{{{|{}zz{{{{zy{|{{z{z{{z{zz{{z{{{z{{{{{z{{{y{z{||||{{{{z{z{z|{{{{|||||{zz{|{{{{|{{{{||z|{{{z{z|}{{{|{{{{{{{{{z||{|{|{{|z{{{{{{||{|{{{|{{z{|{{{||||||{|||{{{{{|||{}{|||{{{|{z|{{||||||||{{|{|{{|}{}}}|{||{z|{|{{{{|}||}{||{|{{z|}|||||{{||{|{{z|{||{{|{|{z{||{{{{{||||{{{{{|{{||}{|{|||||{{{|{{{{||{|}|{{|{{{{z||{||{|}{{{z|{{z||{|{{{{|zy{zyz{z{{{|z||{|{z{z{z{{{z{{||{{zzz|z{z{z|{{{{{z{{{zz{{||{z|{{{z{zzz{z|{{{{{z|{zzz{{{z{{|{{{z{{{z{{zzz{z{|z{z{{{{zzzz{{{{{z{|{z{zzzz{{{{{{|{z{{z{zy{zyzz{{{{z{{zzzzzzz{{{|{{{|{{zz{zz{z{z{|{|{z{z{{{zz{||{{{||{{{{{zz{{{{{{{{z{{{{{{zzz{|z|||}z{{{{{|z{{{||{|{z|{{{{{{|{{{}|||{{{{{{{z{{|{|{|||z{z{{z|{|{{|}|{{{{|||{{|{{{{{{|{zz{{|{{{{|{}|||{|{{|{{{{|{{{||{{{|{{{|z|||||{{|}{{|z{|||||||{||||{{|{z{|||}}||{||{{{{z{{||}{||||{{|{{||{|}|{|||{{{{||{{{{{||}}|{{{|{|{{{|{|{{||{{z|z{zz{|{{{{|{||z{{z{z{|{|{||{{{{z{z|{{||{||zz{{z{{zzzz{{{|{{{z{zzzzz{z{{{{||}zzy{{zzz|z{{{{{{zz{yz{{{|||{{{{{{{zzz{{{{{{|{|||z{{z{z{{z{{{z{{{zzz{{zzz|{|{{z{{z{{yz{zzzz{{{{{|z{yz{zzzy|zz{{{{{zzzz{zz{{{{|{{|{z{y{z{z{zz{{z||{{zz{zzzz{{{{|{z|zz{{{z{{{{{{{{{z{z{|{zzz{{||{{{zzz{{zz{{{|{{{{|{zz{zy{||{{|{{|{{{{z{z{{|||{|||z{{{{{z|{{||{|{|{|{{{{{z{{||{{|{{{{z{z{{|z|{{||z{{{{{{z{{|||{|||{z|z{{z|{||||{||||{{{{{z{|||{|{}|}{{{{{z{{|||||||{{{||{{{|||{{|{|{|{|{{|{{}||||{|{{{|{z{z|{||{|||||{{|{{||{{||{|}|{{||{{z{{|{}{||{|{{zz|{{{{{|||||{{zzz{y||{|{{{{{{|zz{zz|||z{{{{z{{{|zzy{{{{{|{|{zz{z{{{{{{{{|}|{z{{zz{z{{z{{|{{{yyzzzz|{|{|z{|{{{zzzzzz{{{{{{{{zzzz{zzzz|zz{{|{z{{{z{z{{{{{z{{|{{z{yzzz|zz{{{z|z{zz{zz{|{z{z{{{|zzzz{y{{{|z|||{{zz{yzzz{{{{z|{{z{yzz{{zyz{{{{{{{{{zz{{z{{{{{{{|{z{{yz{zz{{|{{{{{{{{{z{z{{|||{||{{{{z{z{{{}{{|{{{{|zzz{{||{{{{||{{|{z{{{{{{|{|{{{z{z|{{{{{{||{}|{{z|{{z{{|{{{{|{z{{{{{{{{{{|{|||{{{z|zzz|||||||||{||z{{z|}{|{||{|{{||zzz||||{|}|{|{{{{z||{||{||||{z|{|||{|||{{}||{|{zzz{|||{|}|{|{{{|{{|{|{{}|||||||||{{||{|||{|{{{{z{{z{{{|||||{|{{z{|z|{|||{{|{{|||z{{{{|{|{{zzzyz{zzz{{{{{{z{y{{zz{|z|z{{{z||z{{zz{z{|{|{{{{{{z{{z{{{{{{|{z||{{zzzy{yz{{{{|{|zz{zzz{zz{|z{|{z{{z{zz{y{||zz{|z{zzzz{zyzz{{{{{{{z{z{zzz{{{{{{{|z{zzzzyzzz|{{{{{zz{yzyzz{{{{{{{{zzz{zyzyz{{z{{{|{z{z{{zz{z{{z|{{z{{zz{zzz{z{{{|z{zzzzy{{{z|z{||{{z{zz{{z||z{{|{|{{{z{z{{{||{{|}z{z{zz|{{{{{||||{{z{z{zzz{|{{{z{{{z{|z{z{{{{{{{||{{{z{{z{|{||||{|{{{{{z|{{||||||{{{{|{z{{z}{||}{{{z{||{{{|||{{|||{{{{z{}|{{{||{||{z{{{{z|{}|||||}z{{{{z{{{|{|{||||{z|{{{{}|{|{||||{|{||{{{}}|{|}|{{{y{{{z{||{|}|}{|z{{|zz{{||{z|{{zz{zzzz{|{||{{z{zzz{{z{{{{|{{||z{zz{zzy{{{{|{z|zzzzz{zz{{zz{{|{{z{{z{z{{{||z|{{{zzzz{zz{|z{|{z|z{zzz{{z{||{z{{z{{z{{{zzz{|{z{{zzz{{z{zz{{z{z{{|{z{yz{yz{{||z{{{z{{zzzzz{{{z{{{|{{{{zzyzz{z{{{{|{zyzzy{zz{zz{{||z|zz{zzzzz{{{{|{zzzy{zz|{{{{{{{{{zz{{z{z{{{{y||||{zz{zzz|z{{|{|zz{{{z{z{z{|||{||{z{{zzzz{{|{{|{{|yzzz{y{|{|{{{|{{z{{{{{{{|{z{{{{{{{{{{{{{{||||||{{{z{{|z|||{|{|{{{{{{z{|||{||||{{{z{|{{{||{{|{||{{|{{||||||{|||{|{{{z|{{z||{|||||{|||{|||{|||||||{|{|z{{|{{|{{{}{|{{{{{{{|{|{{{|{{{z{{{z{{||{{}}{{{{{zz{||||{|{z{z{{z{{|{{{z|{{{yzzz{zyzzz{{{{{{zz{zzzyz{zzz{{||{{{{{{{zzz||{{{zz{{z{{z{{|{|{{||{{{{{zzzz{{{{{{{z{{z{{zzz{|{z|{{{{|{{{{{{{{|z{{{{z{{z{zz|{{z{|{|zzz{zz{zzzz{{{{zzzz{y{zzz{{||zz{{{{{zy{{{|{{{z{|zz{{zz|zz|{z{|||z{|{z{zzz|z{{}z|{z|z{{{zz{{{z{||{{{{zzzz{||{{{|{{zz|{z{{||{|||{{z{{z|z{z|z|{||{{{z{zz{|{{||{||{{{{{{|{{z{|{|{{|{{{{|z{{{{|{{{{|{{{||{|{{{{{|{{||{||{{{{{|{{||{|}{{{{{z{{{|||||{||{|{{|{{|}|{|}{}|{|{{{}||{{|||{||{z|z{{{||||{}|||{|{{||{{{|{|||||{{||{{{{}{|}||}{{z{|{z{||{|{||}{{}{{{{{z||{|||}{|{zz{{{{{}||{|{{z{z{zzz{{z{{{{{z{zz{yzzz{{{{{{{{z{z{{z{{{|{{|{|{z{{{{{{|{z{{{|{{{z{{{{{}z|{{z|{|{zz{z{z{{{{{{||{{zyzz{z{{{{z{{{z{zz{zzz{{{{z|{{zzzzzzz{zzz|{|{z{{zzzy{{z{{{{{{z{{zzzz{z|{{z|{{{{{zzyz{y{{{{{{|{{zz{zzzz{{{z{{{{{zzz{zy{z|z{{{{||z{zz{zz{{{{|{{{{{zz{z{z{|z|{|{|{{|zzz{{z{|{{{{{{{{{zz{{{{{{|{{{{{||zz{z||||{}|{{{{zzz{z|{||{{}{{z{{|z{{||}{{{|{{{|z{{|{{{{{||||{||{|{zz{|{|{|}}|{|{{{|{{{|}{||||z{z{|{{z}|}{||||{{{{{{||z{|}{|||{{{|zz|{}|||||}|{{{z{{{||||||{{}{{{{{{|||{{{||{{{{{|{{||{|||{|}{||{{{{{{|}{|||{||{{z{{|{|{|{|{{{z{{{z{{|{||{|{{z{{z{zzz{z||{{{{|{zz{{{{zz{{{{||{{yzzz{{||{{|{}||zz{{{{{{|{{z{{zzz{zzzz{{{{|{|{{{{{{zz{zz{|{{{{{{zzz{zzzz||{{{{{z{{z{zzzzz{{{{{{zz{zzzzz{z{{{{{{{{z{{zzz{{{{{||{{z{zyy{zzz||{{{{{z{y{zzzz{{|{z|{zy{zzz{{z|z{{|||z{{z{{{{{{{z{{||{{z{zz|{{|}}z|{|z{{{{{{{{{|{|||{{{|y{zzz|{{{{|{{{{{|zzz|{{||z|{||zz{{zz{||||{{|{{z{{z{{z{|{z|||{||{{|{z{{{{||}{{{{{{{{{|}||{|{|{{|{{{|{z{}{||||}{{{{{|{{||{{{|||{{{{z|||{}|||}{||{|||{{z|}||||}|}{{|{|{{|{|||}{||{{|||{|||||{|{|{|z{{|{|||||||||{{{{|zzz|||{{|{{{{{{|{{{{|{{}{|{{{{{{{{yz{|||{z{{zzz|zzzz|{{{{{|z{zzz{z|{{{{{{||{{{z{yzz|{||{{|{zz{z{y{{z{{{{{{|{{{zzyz{{{{|{zz|{{zz{{{{z{|{{{|{{{zz{z{z|{{{{{{{zz{yz{{z{zz{{zz{{z|zzzzy{|{{{{{{{z{yzzz{{{|z{{{{zzzzzzzzz{z{z|{|z{zzzzzzz{{{{{{|zz{yzz{{{{|z{|||zz{{{zzz{{{|{{|{z{zzzzz|||{{{||{z{z{zz{{{{{z||||zzz{z{{{{{{|{{||{{{z{z{{{||{{||z{{|{zz{z{{||||}|{z{{z{z{{{|{{||{{{{{{|{|{{|||||{z{{{|{||z{||{||||{{{{{{z|{||{{|||{{|{{|{||}{|{{|{{{{|{{{{||{|{{||{{|{||{||||||||{{{{z|{||}|}{{|{|{{{{{{{{||||{|||{{{|{{{{{||{{}|z{zz{{z{{||{|||{{{z|{{|z{|{||||{{{z{{zz{|{|{|{||z{{z{zz{{{{{{{}z|{zzzz{z{{{{{{{{}{z{zz{z{{z}{{||{{{zz|zz{{{{{|{|{z{{z{zz|{||{||{{z{{{|zz{{|{z||{{zz{z{{z|{|{z||{y{{z{{zzz{z{{zz{{z{{{z{z{{{{zz|{{{zzzzzz{{{|{{{||{{{{zz{{}|zz||{zzzz|{{zz{{{z|{z|zz{{z{{z{{{||{{zzz{{{{z|{||{z|{|{z{{z{{{{{{{|{}{{zzzz{{|||z{|{{{z{{{z{{{||||}{|||{{{z|{z|{{{||{{{{{{|z{{{|{|{|{{z|zzz{z{||{z|||||{||{||{{{|||{|{{zz{{|{|{{{|||}|{{||zz{}{}||{||||{{|{{z||{|}|{|{{{{{z|{{|{||||||{{|{||{{}||{|}||{{}z|{{|||||}|{{{{{|z{{{||{{||}|{{||{z{{||{}|{|z{{{{z{{}|||{||{{{{{{{{z{|}{{{{{{z{{{{{z{|{z||zzz{{y{{zz{|{z|z{{{zzzyzzz{{|{z|z{{zz{{z{z{z{{|{||{zz{z{zz{{{|{{|{||{z{{{{{{{{{{{{zzzz{zzz{||{z{{{{z{zz{yz{{{zz{{{{zzzz{zz{zz{zz{|y{z{zyzz{||{z{{zzz{|z{zz{{z{{{{{z{z{{zz{{|{z{{|z{{{zzzz{{{{zzz{zzz{{|zzzzzz{{{{{{z{z{zzzz{{{|{|{{{{{{zz{y{{{|||||{{{z{z{{|||{{{|{z{z{{{{{|{{z{{|{z{{{zzz{{z|{|{{zz{{{zzz|{|{z{|{{{z{z{z{|{|{{{{||z|z||{{||}{|}{{{{z|{zz|{|||||||{{z|{{{{|{{{||{{}z{{{{{z|||{||||{|{y{{|||{{{}}||{{{{{{|{||{|{||}|{{{{{{{{{|||{||||z{|{{{{||||}|||{z{{{{z|||{||||z{{z{{{{{|||||{|{{{{z{{z{{z{|{{|{{{{zz{{{{{{{{{{{z{zz{z{{|{|{{||{zz{{z{z{|{zz|{{{zzzz{{z{z|z|{{|{z{zzz{{z{{{z{{{|{{{zz|y|{{{|||{z{{z{{zz{||{{{|{{z{zy{{zz|{z{{{|y{{zz{zzz{{{zz{{z{zzzzz{z{{zz{|{z{z{y{z{zz{{z}{{{zzzz{{y{{z||{{{z{{z{yzz{{|z{{{{{{z{zz{zz{{{{{{z{zz{zz|{z{{|{{{{{{z{zzz{|{{{|{|{{z{z{zzz|{{y{{||{{{|{{{z{{{}{{|{{z|{z||z||{{}|{{|yz{zz{z|||{|||{{z{z{{{z{{|{{{z{|{{{z{zz||{|}|||{|z{{{|{{|||{}}|{{{{{{z{||{|||{|{{z{{{{z{|{|{|||{{|{||||{{|||{{}}|z{{{{{{{|{{||{}{{{{{{{{||}||}|{{{{|{{{{|{|{}|{|{|{z{|z{{||||{|{{{{{{{{||{{||||{{{{{{{z{{|||||||{{{zz{{{y{{{z{}zz{zy{z{z{|{{{{{{zzzzzzz{{{{|||{|z{{z{zz{{{z|{{{{{|{z{zz{{||{{|{{{{zzzzz{{{{{{|{|z{zz{|zz{{z|z{{{zz{z{{zz{{{{{{||{{zzz{z{|z{|{{{{zzzz{{z{{|{{{{|{{{zyzzz{{zz{|z{{{{yzz{zz|{{}{{{{z{z{zzzz{z{{|{|{|{{{z{{{{{{z|{{{{{z{|{y{{||{z{{{{zz{zz{{|{{|{{|{{{z{yzz{|{{z{|{{{zz{{{{{{|{{{||z{{z{{{{|{||{|||{{|z{{{{|{||{{|{{{{{{{{{{{|{|||||{{z{{{|{z{{z|{}{{{z{{{{{|{}||}}|z{{{{{{{|||||}{|{{|{{{|||||||||z{|{z{{{{|{|||{}}z|{{{z{{}}}|{{}|{||z{|{|{{|{}}||{|{|{{||{{{|{}||{{{||{||{||||||{{{{{{{z{{|{{|||||{|{{{{{{|||||||z{{{zz{{{{{{{|{z{zzz{zzz}|{{|{|zz{{{zz{{||{||{|{{{zz{yz{|z{|{{{{z{{z{{z{{{{{{{{{{zzzz{y{|{zz{||{{{z{z{zz{|z{|{{z{{z{zzz{{{z{|{z{zz{zz{{{{{zz{{|{z{{yzzz{{{{|||{z{{{zz{{{z{||{{{zz{{yyz{{{{{{{{{{y{z|z{yz|{y{|{{{{z{zzz{z{{z{{||zzz{z{zz{{{{{{}{|z{zzz{{{{{{{{{{{zz{zzzz|z{{{|}|z{z{z{zz{{|{z{|{{{{{z{z{{{{|{}||{{{{z|{z{|{{z|||{{{{z{{{{|{z||z{|{{{z{{{|{}|||||{||{{zz|}||||}|}z{{{{{{{|{|{{||||zz{{|{{||||||}}|{|z|||{{}{{||}||{{|{{{{{}|||||||{{{|z{{|{||{}}||z{z{zz{{|{|{|{|||{|{{{{{{|{{|||{{|{{|}{{{{{|{}|||z|{{zz|{||{{{|{{{z{{z{{{{{{{{{z{{zzz{|{|{|{{{|{{zzz{z{{||{{|{|{zzy{{zz{{z|{|||{zz{z{z{|{|{{{{|{{zzz{zz{{|{|{|{z{zz{z|y{||{{{|{{zzz{zz{z|{zz{zzzz{z|zz{z{z{{|{zz{y{zzzz{{{{|{{{z{{{{zzz{{{|{{|{z{{zzzzzz|{z{{{zz{yz|{zyz{{{{{{z{z{z{z{z{z|{|{|{z{zzyzzzz{{{{z{{{z{zzz{{zz|{z{{|{{z{zzz{{|{|{{|{z{{zz{z{|||z||{|{z{{zz{z|{{{|}{|{{z{z{{z{{||{{}|z{{{z{z{{{|{{||||{z{{{{||||||}{|{{{z{{{||{{{|{|||{{||{{{|{|{|}||{{{{{z{{}|{}{{||||{|z{{{{|{||||}}{|{{|{{|}|{|}||{z{{{{{{|{{||}{{}{||{{z{{{|||||||{{|}{{|||}||{}}||{{{|{|{|{|{||||z|z{{{|{{{|{|}{{{{z{zzz{{{{{{{{z{zzzyzzz{{{{{{{{zz{{zzz|{{||{|{zz{zzy|{z{z|{{{|z{zz{yz{{{{|{z|{z{z{z{zzzz{|{{|{{{{z{{{zzz{z{{{{{z{zzzz{{|{{z|{{{{{zzzzz{z{{{{{{z{zzzyzyz|{{{{z{zz{z{zzz{z{{{|{|z{zzyzz{{|{zz{{zzy{zyzzyz{{{{{{{zzzz{z|{z{z{{{z{{zzzz{zz{z{{|{|z{{{yzz{{{{{{|{z|{{{|zz{{{{|{{|{{{{z{{z{{{{|{{{|{{{{{|{{zz|{|||{|{{{z{{z{||{|{||{{z{z{{{z{|}{{{|{|z|{{{zz{{{|{|{||{z{z{{{{||{|||{|{zz{z{z{||{{|||}z|z{{|||}|||{|||||{{||{|}|{{{}|{{{{{{{||}|||||||{z{|{||||{|||||{z{z|{z{{||{|||||{{{{{|{||||{{|||}|{|{|{{||||{||{{{{{z{zz{{|{{{|z{{{zzzz|}{{|{{{{z{{zzzy{{{{{z{{{zzzzz{z{{{{{||{{|zz{zzz{{z|{{{{{{{zz{z{{{||zz{{{z{zxzz{{{{|zz{}{z{{z{z{{zz{z|z{z{{zzzzzz{{{z{z{z{{zy{zz{{{z{{{{{yz{yzzzz{{z{{|{{zzzz{zzz{{z{|{{zz{zzzzyzz{{{{{z{zzzzzzy{zzzz{{z{zzz{z{yzzzz{{{{zz{z{{yz|{{|{{|{{{zyzz|{{||{z{{|z{{{zz|z{{{{{|{|z{{zzzzy{|{|{||{|zz{{zz{z{{|||{{{z{zz{{z{{{{zz|{{z|zz{{zz|||||{zz{{z{{{z{||||}{{z{{|{{|{{|{{{{||z{z|{z{zz|||{{|{|z|{|{yz{|{|{z|}{z{|zz{{{{|||}|||{{z{{yz|||||||||{|{{zz{|{}{|{|{|z{|{z{{{z{{|{|{{{{{{{{|||z|{{||{{{{{{|z||{{{||||{{|z{z{{|{{z{{zz{{{zzzz{z{z{{{{zzz{zzyz{{||{|{|{z{zzzzz{{{{{||{{{{yzz{z|z{{{{||{z{{zzz{z|{{z{{|{{{yzzzz{|{}{z|{zz{zz{{zz{z|{{{z{{{zz{yzz{{{{{{{zzzzyzzz{z{{z{{{{z{zz{zzz{{z{z|{{zz{z{{z{z{{z|{{{z{zzyzz{z||{{|{zzz{zyzz{zy{{z{{z{z{z{{{{{z{z{{{{{{{{zyz{{z{|||{zzz{zz{z{|{{z|||{{z{{zzz{|{{}|||{|{z{{{{{{{||||z|z{|{{{z{}{|{{{|{{z{{z{z{|{{{}|{|zz{z{z{|{|{|{{|{z{{{{{{|{{}||||{{{z{{{{{|{||||}|{{{{{{{|||||||{{z|{|{{z|{||||||{z|{{{|{{||||||||{{|{||{|||{{||}||{|z||{}|{|{|||z{{|{{||z{|||{|{||{|{zz{z|||||{}{|z{{|z{{|{|||||{|{{{{{z{{|}z{|{{{zzz{{{z{{{z{|zz|yyzzzyz|{zz{{~{{{{z{yz|y{z{z|}{zz{zz{{{{{z{{|{z{{{zzz{{{{zz{{|yzzz{{zyz{{z{|{|zz{{{zz{{{{{z{{{zz{z{zz{{z{z{{zz{z{zy{zzzyz{{|{zz{{yzyzz{{{{zz{z|yz{yzy{z{|{|z|{zzz{zyzz{{z{{{|{zz{{{zzzzz{{{{{y{{zzzz{zz|y{z{{zy{{z{yzy|||{{{{|{zzzzz{z{{|{{{|{zz{{{z{z{zz{z{{||{{zz{z{{|{z||||{z{z{{{z{{z{||{{{{z{{{z{z{|{|{|{{{{zz{z{{{{{{{{|{{{{|z{{|||{{{{|z{z|z{{{||{{{||{||z{{{{{{|{{|{}}|z{z{|{{|||||{|{{{{{{{{{{||{{|{||{{{{|z{{}{|{|||{z{|{{|{|{||{{||{{zz{{{{{{||{||~|{zz{|{{|{|||{{|{z{z||zz{|||{{|{{{{z{{{z{{|{{{||{zz{{{zzz{{z|{{{z{{yzyz{{{{{|{|{{zyyzz{{|{{{{|{{{{{{{zzz{|{{{{{{{zzyz{yz{{|{z{|{z{{zzz{{{{z{{{{{z{{yzzzz{|z{z{|zzz{z{z{zzz{{{|{zzzzyz{z{zzz{z{{{z{zzz{{{{{{z{{{{{zzzzzz{zz{{{{z|z{{zzyz{{{{{{{{{zzz|{z{zy{{zz{z{z{{zzz{z{{{{{{{zzz{z{zzz{{{{{{{{zzzz|z{{{|{{{{{{{zzz{zz{{{|zz|{|{{{{z{{z{|{|{{|{{z{{{{{{{{{|{|{|{z{{z{{|{{|{{||{{{zz{{{{z{{|{{{|{z{z{{{||{|||||{z{{z|{{||||{||||{{{z{z{{{||{|||||zzz{z|{{||{}|||{{}{z|{{||{||}{}|{z{{{z{z}{|}}||||{{zz{z||||||||{z{{{{{|{{||{|||||z{{{{{||z{{{||{{{{{{{||||{{|||z{{{zz{{{{{{|{{|{{|{{{zz{{{z|{{z{z{zz{zy{{{z|z{||{{z{z{z{z{{{|{{{z{zzz{z||{{{{|{{z{z{z{z{{{|z{|{{{|zz|zz{{|z{{{{|zz{{zzy{{{{{{{{{z{z{zz{z{{{z{{{z{z{z{{{{{{{{{|{|{zzz{zzz{|{|{{{zz{z{zyz{{{{|z|z{{|zyzzz{{{{{{{{|{{{zzzzz{{{z{|{}{zzzzzzz{{{{|{{{zz|z{zz{{|{|{||{|{{zz{{|z{{{{{|zzz{z{{{|{{||{|{{{{z{{|{|{||{{||{{{{{z{z{{||{|||zz{z{z{{|{|{{|}{zz{{{{{|{|{|{|{}{{{{{{z{||}||||}{{{||{|{{|{{||||{{z{{|z{{||||{}{|{{{|z{|}|{{|||||{}zzz||{|{|{}|||{{{{{{{{|}}|}{|{z|{{z|{|||{|}|||{||{{{{{{||{|}}|{{||{{|{{{|||||{{{z{{{{{{{{{{}{||||{{{{z|||{}|{|z{{zz{z|{{z{{z{{zz{{y{z{{{{{{|{{{z|zy{zz{z{|{{}|z{z{zzy{{{{z{{{|z{z{{zz{{{{zz||z{|{zz{z{{{{{{{|zzzzzz{{z{|{z{{{{zzzz{y{{{{{z{{zzz{zz{zz{z{{{{{|{{{zz{zz{{{{{{{{z{z{zzzz{||zz{{zz{zzzzz{{{{z{{|{{y{{{{zzz{{z|{{{{zzz{y{z{{{{{|{|yzzz{{{zzz{{{{||zzzz{{{z{|{{{{{|z{{z{z|z|{|{{{||{{{{{z{{{{{|{{|{{zz{{{{z|{|{|{}{{z{{{{{{{||{{{|{{|{{{{z{{{|{{{|||{{z{{{{{}{|||||{{{{z{{{||}{|||||z|z{{{{z||{z{|||{{z{{{{}|||{{}{{{||z|||||{|{|}||{{|z{{{{|||}{|}{{|zz|z{|{|{||}{|{z|{{|{||{{|||||{{{{{{||{z|{{{|{{|{{{|{{|{{{||||{{{{{z{||{|{||{{{{{{{z{{z|{z{{|zzz{{{{zz{|{{{{{{{zz{z{{{||z{{||{{zzyz{zz{{{{{|{zy{{zzz{{z|{zz|{zz{yzz{zzz{{{{{{zyzzzzzzz{{{zz{{z{zzzzzyz{{zz{z{{zyzzzzzz{z{{{z{{{zzzyzzz{{{{{{|z{zz{zzzz|zz||{{z{{zz{zzz{{z{{{{{zz{zz{z{{z{z{{{{zy{zz{zzz|z{|||zyzzzz{{{{{{{|{{zz{{zz{z{{{{{{{{zz{{{{{{{{z{|{||{{{{{{{z{|{|{{|{{{zz{zzz{z{{{{{{{z{z{{{zz{|}{{|{{{{{zz{{|||{{|{{{zzz{zz{z{{||{|{{{{{{{{{||{|||}||{{{{z{{||||{|{{{z{{{{{{{||{||{|{{|z{|{{||||{|}}{{{|{{||{}|{||}|{{{{{{z{|||{{||{|{{{{{{{||z|||{|{|{{{{{{|{{{||||{{{{z|z{{|{{{{{}{{{{{z|{{{z{|{{{{zzzyzzz{{{{{zy{zzzzzz{zz{{|z{|{{zz|zzzz{{{{{|{|{z{z{z{z{{{{|z{|z{{{{yzzz{{{z||{z|zzz{zz{z{{{{{{{zzz{zzzz{z{{{{{{zzz{z{zz{{zz{{zzzzzyzzzyz{{{{z|zzzyzy{zzzz{z{{z{zzzyyzz{{zz{{{z{zzzz{{zz{|{{{{{z{z{zz{yz|z{z{{|zz{zzy{zz{zz|{z{{{z{z{zzz{{{{{{{zyzz{zzz{{{||z{|z{zz{zzz{{|{z{{|zzz{zz{zz|{{z{|{|z{z|y{{z{{{{{|{|{{zzz{z{{{{{{{{{{{zzz{{{{|zz{{{{{{{{{|zz{}||||{{{{{{{{{||{||{}|{{{z|z{{{{{{|{|||{|{{||z|{|{|||||{{{z{{z{|{{{||||{{{{|{{|}|{{|{||z{{z{{{|{{|{{|||z{{|{{|{{{{||}|{{{{{z{z{{|||{||{{{{z{{{{|{{{||{{{z{{{zz{|{|{z{{zzzy{z{{z|{||{||z{z{zz{yz{|{{z{|{z{z{zz{z||{{{{|zzy{z{zz{z{{{||{{zzzzzzz{{|{{{||{{{zzzzz|{{z{{{|{z{{{{{{{|{{{{||{z{zzzzzz||{{{{{zzzz{{z{{zz{z{{{{yzzzz{{{{z{{{{{{{zz{zz{{z{{z{zz|{{zzzz{zz{|zz|{z{zzyz{yz{z{z{{{{z{zzy{zz{|{{{{{{zz{{{{zz{{z{{||{{z{zzzz{{|{{{|{{z{z{yz{z{{{{{{|z{}|{{z{{{{{{{|{{{{z{{zz|{|}{{{{z{{zzzzz{|}|z||{{{{{{zz{{||{{{|||{{{{{{{{|{{|}{{zzz{{{|z|{||{{||{z{{zyz{{}|{{||{|{{z{{{{|{{{||||{{{{{z|{{||||||{|{{{z|z{{||||||{||{|{{{{|{{|||{{{z{z{{z{{|{||}{{{z{{{{||{|{{||||z{z{{{{zz|{{|||{{|{{{z{{{{{|{|}z|{{zz{{{{||{{{y{{y{zzzzzyz{{{{{{{zzz{zzx{{{{{{||zz{z{{zzz{{z{{{{{z{zyzz{y{{{{{{{{z{z{z{z{{{{|{{{{zz{zzzzzzzzz{z{{{zzz{z{z{{{{|zz{zzyzzzz{z{z{{{{zy{yzzyz{z{{zz{{zzz{zzzz{{{{{{{{z{zzyzy{{{z|{z|}zzzz{zzy{{{z{{z{|{yzzzzz{{{|{{z|zzzzzzzz{{|{{{|{zy{{zzzz{{{||{|{{zzz{zzz{{{{zz{|zz|{zz{{{|{z{{|{|z{{|zz{{|{{{{|{{{{zz{z{{{|{{|{{{{{z{{{{||||||{{|{|{{{{{|||||{{|z{{{{{|{|{||{|{}|z{zz{zz{|{|{||{||z{{{{{{{|{|||}{{z{{||{||{}|||||{{{z|{{{}||||||{{{|{{|{|{{||}||{z{{{{{{{{{|{{||||{{{{{{{{{|{{||{{{z{zzz|{{|{||{|z{z{{{z|z{||z|{zz{{{{zz{{|{||||{{{zzyz{z{{{{{{{zzzyzzzyz{{{{{{||zzzzzzz{{{{{||{{zzzzyzz{{{{{{{|{zzzzzzz{{{|{{z{|zy{zzzy{|z{z|{{zz{{{zyz{z|{{z{{zz{z{zzz{z{{z{{{zzzzzz{zzz{|z|{z{zzzz{xz{z{z{{{{{zzyyyzzzz||{{||{zyyzz{z{{{z{|{{z{zzzzzzzz{{z{{zzz{z{{zzz{{{{|{{zz{z{y{{{{|{z||{{{{zzzz{z{z|z{{{{{{z{z{{{|{|{z|z{z{zzz{zz|{{|{|{zy{{{zzz{{{|{{|z{{z{z{z{{z{{{{{{{{{|zz{{{{|{||||z{{{z{{z{|{|||||{{{{{{z{{{{||{{{|{{{z{zz{|{|{{{{{{{zz{{|z{{|{|{|{{{{z{{z{}||{}|{{z{{{z{z|{{{{|{{{z{z{{z{{|{{|{||||z{{{{|z|||{|{|z{z{{z{{{|{{{||{{zz{{|zzz|{{{{{{zz{z{zzz{|{{|{z{{{{z{zzz{{{z{{{{z{{{{zzz{{{|{|z|{z{{y{z{{|z{|{{{{{{{zzzz{{{{{{z{{{{zz{zy{z{{|{{z{zz{{zzz{{zz{{zzzzzzzzzzz{{{{{{{{{z{y{{{{z{{z|{|zzzzyzzzzzz{z{|z{zzz{{yzz{|{|||{{yzzz{{zz{{z{|{{{{yzzyzyzz|zzz{{{zzz{zzyy|zz{|z{{yzz{zz{{{z{{|{{z{zz{zzz{{{zz|{{{|zzz{{z{z{|{{{|z{{|z{{|{{{{|||{{{|z{{{{{{|{{{|{{{{{zzz{|{|{{{|}|z{{{{z|{{|{{{||z{|{zz{z{|{{{|{|z{z{zz{{{{|||{{{{z{{{{{{{{|||||{|zz{z{|{{||z||||{{{z{{{{{|||||||||{{{{{{{|{||}||{{|{{z{{{|||{|}|{{{zz{{{z{||{|||||z{{|{z{}{|}|||{{{z{zz|z|{{{{|{|{zzz|zz{{|{{{{|{{{{zzzz{{{{|{{{z|zzzzzy{{|{{{{{{{zzzz{{z{|{||||{{{z{z{y{{{z{z|{{z{{zzzz{{{{|{{{{{|zzzz{{{{|{{{{{{zzzz{z|{z{zz|{{z|z{zzz{|z{z{{{{z{z{{zz{{{{{z{{{zz{y{zz{{{}{|z{{{zzz|z{z{{{{|{{|zzzzz{z{{|{{z{|zzz{z{{z{|z{zz{|{{zz{z{z{{z{{{|{{{{z{zzzz{{z{{{{{{z{z{{y||{{|{{{{{{{{{{{z{{{{|||{{{{z|z{|{|{{{||{|{{{{|z{|||||{{|{|zz|{|{|}|{{||{{zz{{z{{||{{{{|{{{{{{{{{{||}|||{|{{{{|{}}{|{||{z{{{{{{z|{{|||{|{{|{|{{{{}{|{}||{{{{{{||{|||}{|{||{{{{{{{}|}{|||||{{{{{{||||||}{|z{{{z|{{|{{||{|{||||z{{{||}|{{|{{{z{{{{||{{{|}{{{z{{|{{|{|{{|{|{{{{{{{{z{|{{{z{zzz{{zyz{{{{{{{|{{{{{zzz{{{{{|||z{zzz{{y{z{{}z||{{z{{{{zz{{{{z|{zz{zzzzzz{{{{{{|{z{zzz|zz{z{{{{{{z{{{zzz{z{{z{z{{z{zzzzzz{z{zz{{zz{zz{z{{zz{z{{{{yzyzzzz{z{{{{|z{z{zy{zyz{{{|{z|zz{z{zzzz{{z{z{|{z{z{z{z{{{|{|{|z{zz{{yz{{{{|{|{{zz{{zyzz|z|{{||zzz{zz{{{{||{{|{zz|{zz|{{||{{|||z{{{{z{{z|{{|{{||||{{{{z{{{|{|{{|{z|{{zzz|{{z|||{{{{{|{z||{||{||{{{{|{{|}}|||||||||{{zz{{|||{|{}zz|{}{|{|||{z{||z{{{z||{z|||{||||z{{|{{{||||||}|{{{||z{{}|||||||||{zz{{|{{{{}||||{|{{|||{||||||}{{z{{{|zz||{|||||{z{z{{z{{|{{{|{{{{zz{{zz{{{{|{z{zz{yzzyzz{z|{z|zzzzzzzz|{{||z|{{zzzzzzz{zz{{{{{z{zzzzz{{z{{{{|{zz{zzzzyz{{{{{{|{{{zzz{zz{{z{|{{{zzzzzzzzz{zz{{{yzzzyzz{zzzzzz{{yzzzyzzz{{{{{{{{zzzzzyzzz{{z|{{{{z{{yzyz{{{{z{|{zzzzyz{yzz{z{z{{zyzzzzzzz{zzz{{zzzzzz{zz{z{{z{|{{zzzzzzy{{z{z|{{{{zzz{zz{{{z{{{|{z{z{z{z{{{{{{z{{{z{zzz{z{{{{{|{{z{z|zzz{z{z{{{|{{z{{{zzz{{{z||{|{{zz{{{{||{{{||{{z{z{|{{|||{|{}{{z|{{zz{{|{{{{|{z{z{{zz{}|{{{||{z{z{|{{{{{{{||||z{{{{{{z}|{{||||{{{zz{||{|{|{|{|{z{zzzz{{{{{|||{z{{zz{{|||{{{{|{{{z{z{{{{{{{{||zzz{{z{{{||{{{|{|{{z{zzz{{|{{{z{zzzzz{zz{{{z{{{zzzy{zyzzz{{{|||{zzzzzzzz|{||{{{{|yz{zzzz{{{{{z{{{zzzzz{yz{{z{{{{yzzyzzzzz{{z{{{zzzzzzzzzzzzz{{{{{zzyz{zzzzz{{{{{zyzy{zzzzz{{z{|zzzyyyzyzzzz{{{z{yz{{z{yzz{zzzzz{zzyzyzzyzz{z{{z{z{zyzzzyzz{{z{|{yzzz{{zy{{z{{z|{{{z{{z{z{{|{{{{|{z{z{{z{z{{{z|{|zzz{zz{z{zz{{{|{zyzzzz{z{|{{{{z{{{zz{{z{{{|z{||{z{{{zzz{{{zz{{{{{z{{{{{{z|{{{|{{{{{{{{{{{z{|{{{|{zz{{{{z{{{|||||{z{z{yzz|||{|{||{z{z{{{{{||{{||||{|z{{{{}{{|||{|{{{{{{{{{{{|{{{|{{{{{{z{{{{|{||{|{z||{z||{|{|{||z{{zz{{z{{{||{|{{{z{{{z{{|{{|{z|zz{zzzzz{{|{{{|{z{zzzzzz{zz{{z{{{z{z{zz{{|z{{{{|{z{{{zzzz{zz{{||{{z{zzzz{{{{{{{{{z|y{z{y|{z{{|{{z{{z{z{z|{{zy{{{{zzz{{yy{{{z{{{{{z{yzzzyy{z{z{{{zzzz{{{y{zzzz{{z{{{zzzzzz{|z{{{|zzzz{{zzz{{{|{|z{z{zzzzz{{{{z||zzzzzzz{zz{{{{{{{zzz{{zzy|{{{z|||{{{z{zz{{z{|{{z|{{y{{{{{|{{{{|{{{z|{zz{z|{|z{z{{|z{{{yzzz{{{{|{{{{{zzz{z|{|{|{|{{{{|zz{{{||{{z}{{zz{{{zz|{|||{{|{{{z||{{||z{|{||{{{{{zzzz||{}{{{{z{{{{{{{||}||||{{{{{{{{{||{{|||}{{{|{{z{}|{||||{z||{{{|{}{||{{|{{{|{{{{{|||||||||{{{{{{||{||||}|{{{{{z{{|||{|||{{{z{{z{{|{{{{|{{{{zzz{z{z||z|y{zzz{zz{yy{{zz{{{{zzz{zzz{{z{{{{|{{{zzyzy{{zzy{{{zzz{zzz{zz|{{{{{zzyzzyzy{{{{z{z{zzy{{{z{z|{{{{zzzz{z{yzz{{{z{z{{zzzzzzzzzz{{z{z{zzz{zyzy{|z{{{zzzzz{yzzz{{{z{{{{zz{zzzyzz|{{{{z{zyzyyz{zzz{y{{z{{{{{zzzzz|{{{|{zzzyzzzzy{z{z|||{z{{zz{{zz{z{{{{|zz{{zyzy{{{|{{||zz{z{zzz{z{{{{{{{zzzzz{y{{z{{{z|{{{{{zy{{|{|{|{{{zzz{z{{{|z{z|{{{{|z{{z{{{{{|{{{{{zz{{{{{{{|{|{|||{z{{{{{||{|{z{{{{{{{{z{}{{}|{}{z|{zz{{{||{|z|{|{z{z{z{{|{|z{|||{{{{{zz{|{|||}|{{{z{z{|{{zzz|{|{|{{{{{{{|{{|||{{{zz{zz{{{|{||||{z|z{zzz||{{{|||{{{zzzzz{{{{{{{{z{{zzzzz{{{|{{{{{{zz{yzz{{zz{{|{{zzzzz{zz{{z|{{{{z{{z{z{{{{{{{|{{z{zzzzz{{{z{{z{{z{zzzzz{{zzz{{{{zzzzzyz{{z{z{{{zzzyzz{z{z{zz{{{{zy{{zzyz{{{{{|z{{zzzzyzzz|{{z{{zz{zzzzzz{zz{{{{z{zzzz{yz{zz{{z{{{zzz{z{{{z{{{{{zz{y{zzzz{z{{{{{zzz{{zz{z{|z|z{}{z{zz{{{{{{{{|{|zzz{zz{z{{||{|{{{{z{{zz{z|{|{|{{{y{{zz{{{|{{z{|z|zz{y{|{{|{{{{|{{|{{z{{{{{{{|{|{{{|{{{|{||{|{{|}|{|{{z{y{||{|||{{{|z{zz{{||{{|{|{{{{z{{{|{|||{{||z{{||{{{|z||{{{{{{{zzz{|{|}|||{{z{{{z{{|||{{|}{|||{|{{{||||||{{{z{{z|{z{|{|z{{||zz{{z{{{|||{|||{y{zzz{{{{{{{{{{zzz{zz{y{z{z{{{{{zzy{|zz{yz{{{{|{zzyz{zz{{z{{|{|{z{yzzzz{{|{{|{|zzzyzzzy{{|z{{z{zz{{{zzyz{zz{{{{zyzzzzzy{{zzz{zyzzzzzzzz{{z{{zz{yy{zz{{{z{{{{{{{z{zzzzzz{{zzz{{z{z{zzzyz{{z{z{{z{{zzzzzyzzz{z|{|{{zzzzzyz{zy{{{|zzzzyzzyz{z|{z||yzzzzzzzy|{z{|z{{{z{yzzz|zz|{{{|zzzzyzz{{{{|{{{{{z{{{zzzz{{{z|||{zz{yzzzzz{{{||z{zzzzzz{||{{{{|{z{{{{|z{{{{{|{{{z{|{{z{z{{{{||{{{{{z{{{zz|{||{|{{z{{|z{{|{|}{|}{|z{|{|{{{{{|{|||{{{{zz|{{|{{{||||z|{{{{{{{{|{{|{|{z{z{{{{{||{{{||{zz{zz{|{{|}|||{{zz{{{{{{{{|{|}|{zz{z{{{z{|{z|z{{{{{zzz{z|{|{z|}z{yz{{z{{{{z{{{{zzzy{{y{|{z||{|{{z{{{{y{z{z|{{{zzz{z{z{zzz{{z|{{zzzzzzz{{{{{{{|zz{z{zzz{{zzz{{{{zzz{zzy|{{y{{{{zzzzzzzz{zz{z|{{zzzzzzz{z{{z{{{zzy{{zzyz{z{zz{z{z{{zzzzyzzz{z{{||zzz{z|zzz{{{|{{{{yyzy|{{{z{{|{{{z{z{zzy{{{{{{{|{zy{{zzz{{{{z{{|{{z{{z{{||{{{{|{zz|z|z{z{|{{{{{{{{{{{{zz{{|{z|z{|{{zzz{z{{{{{{{z|zzzz{{z{z{{{|{|{{{{y{|{{|||||{{z{{|{z{{{|{{{|{||{{{{z{{{{|||{|{{{{zz{z{{|{|||||}{{{{{{{||{||{||{{zz{{{{{|}{}{|||||{{z|{|||{|||{||{{z{{{|{|{|||}|{z{{{{|{{||{}||{{|z{z{{{{|{{|{|z{zz{zzz{{{|{||z{{zzz{zz{{|{||{{z{z{{{{zz{{zz{{{{zzz{zzzzz{z||{{z{yzx{zzz{z{{{|||z{zzzzzz{{{zz{{zz{zz{zz{z||{{{{zzyzz{zzz{{{{{{z{{{z{zyzz{z{z{{{zzzzy{zz{{{zzz|{zzzzzzzz{z{yz{{{z{yzzzz{{{{{{{{{zz{zzz{yz||zz{{{zzzy{zzz{z{zz|{||z{z{zzzz{z{|{{{zzzzzzzy{|{{zz|{{yzzzy{{{z{z{||{{z{z{zzy{{{||{{{zz{zzzzzz{{{{{z{{{|zz{zz{{{{{|||{{{{zzyz{{{|{||{{z{zzzy{{{|{{|{{|z{{{{{{{|{|{{||{{{zz{{{{{||{|{||{||{{z{{{{{{{|||z{{zz{{|||{||||{{{{{{{{|}||{|||{{{{|{{{||||||{{|{{{|z{{{|{}|{|{{{z{{{{{{|||{{||{{{{{{z{||{|||||||zz|{z{{{{{|||{|{{zz{{z{|{|z{|{{{z{|z{zz{|{{{{|zyz{z{zy{|{{|{{{{z{zyyyz{{{{{|{|{{zz{{{zz{{{|{{{z{zz{zz{{{{{{{|{{zyzz{{y{{z{{{z|zz{yzzzz{{{zz{{{zzy{{zzz{{{z{{|z{{{zz{zy|{z|{z{z{zzyz{zzzz{{{{{{{{{zzzyzz{{{zz{{zzzzz{zzzz{z|{{{z{zy{zzzzz{{{{|{zzzzzzzzz{z{{{{{zzzz{{zzz|{{zz|{{z{z{z{{zz|{{{|{z{{zzzz{|{{{||||{{zz{{{zz{{{{z|{{zz{{yzz{{{{{{{|{y{{zzzz{|z{{|{z|z{{{{zz||{z{|{{{zz{{{z{{{||{{{{{{|yz{z||||{{{||{z{{{{{z|{{{{||{z{{z{{|||}|{||||{z{{{|{{{{|||||{|{{z{|{zz}|}{||||{{{{zz{{|{{||{|z{{{{{|{{{|{|||}|{{{{{{|{{{|||{}{{z{{{{{{|{{||{||{{|zz|z{}{{{|{|{zz{{z{{{|{{{{{|{{z{z{zz{{{{{{|{{zzzzzzzz{{z{{{{{{zzz{zz{z{z{{{{{z{zzzyz{{{{{{zz{{yyyzzzz{{|zz|{z{zyzzzz{{zz{{{{{{z{zzzzz{{|{{{z{zzzz{yzz{zz{{{{zzzyzz{y{z{zz{{{zz{z{zyzz{{{{||{{z{zyzzy{|{{{|{{zzzz{zzzz{z{{{z{|zzyzzy{z{z{{|{{z{{z{zzz{|||{{|{{z{zzzz{{||z{{{zz{zz{zz{|y{z{{{{{|{{zz{{{{|{{{|{z{{{{z{zz{{{{|{{{{z{{{z|{{{|z{{z{z{z{{{{|{{{{||{{{z{|{{{{|z||{{{z{{yzz|{|}z}{|{|{z{|zz{z|{{|{||||z|z||{{{|{{{|{|{{|{z|z{|{{{{{{||z{{{z|{{||{||||||{|{{z{|{{|{{|z|{{{{{{|{{{{||||}{{||{z{|{{|{{}|{{{{{{||{{|{{|{|z|z{{z{zz|{{{{|z{z{{{{{{|{{{{{|{{zz{yy{z{{{{{{|{{{zz{zzy{{{z|{{|{zzyzz{z{{{||{{{{{zzzzzz{|{|z{{|zzz{zzz{z{{z{{{zyzz{zzz{{|{z{{{{{zzz{zzzzz{|{{{{{{zyzzzz{zy{z|z{{yzz{y{{{{{{{{{{z{yzzzzz{{{yzz{{zzz{zzyz{z{z|{{|{z{z{z{zz{{{zz{{zz{zzzzz{zz{{||{{z{zz{zz{{{{{z{{{zzzzzz{{{z{{{|{|z{zzzy{{{{{{{{|{|zzy{z{{{|z{{{{{{zzzz{{{{{|{|||{z{{z{{{{{||z{|z|{zzzzyz{||{{{|{{z{z{{{z{|||{{||z|{{{{{{|||{{{|{{{|{{zzz{|||{{||}|zz{{{z{{{{|{|{{{{{{{|{||{||{||{z{|zz{|{||||}}|{{{{|{{{|{|{|z|{{{{||z{|z||{{|||{{z{|{{{{||{||}{z{|z{{|{{{|{{|{|{{{{z{|z{|{|{|{|z{zz{{zz{{{{{{{zz{zy{z{zz|{{z{{{zzyzz{zzz{{{{|{||z{zy{{zz{z{|{{{zz{zz{yz{{{{z{{{{{zzzz{yz{|{z|z|zz{yz{z{z{{z{{{{{zzzy{zz{{{z{zz{z{zzyzzzzyzz{{z{zzzzzzz{z{{z{{{{zz{{zzy{zz{{z{{|{z|zzz{z{z{{{{{{zzzz{z{zz{z{zz{{zzzyzz{z{|z{z|z|{y{zz{zz{z{{{z{{{zz{{zzzz{{{z{{{{zz{zzzz{|z{{{z|z{{z{{{z{|{{{|||{z{z{zzz{||{z|z|{{{z{z{zz{{{{z|{|zz{{{{|z|{z{|{{|{{{{{{zz|{|{|{{z{{{|{{z{|{{|{|{|{{{{z{{|||||{|}{{{z{{{{{|||{{{|{{{{{{{{{|{||{|||{{{{{{|{}||{|||{z{|{{|{|{||||{||{|{{{z|{{|{|||||{{{{{z{{{{|{||{{{{{zyz{{z|z{|||{{{{yzzz{{{{{{{|{zzzzzzzzz{|{z{zzy{z{zzzyz{|{{{{zzzz{y{zy{z{{{{z{{zyz{{z{{z{{{{{zzzzz{zz{{{{z{{|z{zyzyzz{z|z{{{{{z{yy{zz{{zzzz{{z{zzzzyy{z{zzz{zz{zzy{yzz{zz{z{zzy{zz{z{{z{{zzzzzzy{z{yz{{{{|{{{zz{zzzxz{z{{zz|{{{y{zzzzz{{zz{{{{|zzz{zyz{z{z{{{zzzzzz{zzz|{{{|{{{z{{z{{{{{{{{z{{zz{{z{z{{{zz{{{{zz{yzz{{{|{z{{{{z{{z{zz{z{|{{{|{zzy{zzz{{{{{{{z{{z{zz|z|{}{{|{|zzz{|{{{|||||||{y{{{z|||{||}|{||{z{zz{zz{{{||}|{{{{zz{{{||||}}||{{{z{{{{||{{{}z||{z{z{z{|{{{||||{{||z{{{{{|{|||{{{z{|{z{||{|{||{{{{z{{z{||{{|{{{{{{z{|z{z{{{{{{{|{{{{z{z{{z{||{{{z{{z{{{{{||{{z|zzz{yyzyzz|{{{{{zz{zzz{{z{z{{{{|z{yyzz{z{{zzz{{{zzzzyzzzz{z{{|||zzyyyz{y{zz{{z{{{yzz{zzy{{{z{{|{zzzz{z{z{{{zz{{{{zzz{zyyzzzz{{{{{zyzzzzz{{{{zz{{zzzzzzz{z{zy{{{zzzzyzzzyz{{{{{{|z{z{yzzy{{{z{{{{{yzyzzyzz{{z{{{{zzz{{zyxzz{zz{|{{zzyzzz{{{|z{{{{{z{{zzzz{{{z{zz{{z{zzzzz{|zz{{{|zz{zz{z{{{{{{{z{{z{{z{{z{||{z{{{{zzzy{{{{{{{{{|{{{{zz|zz{}{|{{{|{{{z{z{z||||||||zz{zz{zz{||{{|{{||z{{zzz{{|{|{{|{{|z|{z{||{|{|{||{{{z{{|{}{|{{|{|z{|{{{{{z|{}{|{{{{{{{{{{{{{|||{{{z{{{{|{|{{{|{||{zyz|zz{{{|{|{{{z{{{zzzz{{{{z{|z{{{zzzyz|{{{z{zz{yzzzzzz{{zz{{z{z{{yzz{{{{z||{{zzzyz{zz{{{z{z{{{zyzyzyz{|||{{}}z{z{zz{z{zzz{|{{{zzzzzzzzz{zz{{{{z{zzyzz{z{{zz{{{zzzzzz{{{{{{{{{|zzzzzzz{zz{zz|{z{zzyzyzyz{z{|{{zzzzz{zzzzz{zz{{{zzzz{{zzz{z{{{z{{zyzzzzy{z{{{{{zz{zzzzy{z{z{{{{zzy{zzzz{{{{{z{z|zzzyzzz{z|{|{{{zzzz{zyzz{yzz{{{z{zzzz{{zz{||{{{{{|{z{yzz}z||{|{z{z{zzz{{|{{||z{{zz{{{z{{{|{||z{z{{z{z|{{{|{{|z|{{z|z{z{{||{{|{{{{zz{z{{{}|{{||{|zz{zz|{{|z|{||||z|{{{{{{||}{||{|{|{{z|{{{||{{{{{{zz{{z{{||{{||{{z{zzz{{||z|{{{|{{{zz{{{{|{|z{||{{z{{{{y{||{{z{{|{zz{z{{{{{{||zzzzyz{zzyz{{z{{z{zzzzzzzzz{{{{{{{{zzyzzzzzz{|z{|{zzz{zz{zz{{{zz|zz{zyzzzy{z{{y{z{zzzz{zzzzzz|{{{{{{z{zz{{zzzzzz{zzzzzzyzz{{z{{zz{zzzy{{y{z{{z{{{{zzyzzzy{y{|zzzz|zz{zzzyyy{zz{z{{{zyzzzzzzz{{zy{|z{zyyyyzz{zzz{{{zzzzzyzyz{{{z{|zz{{zzz{{{{{{{{{|{{zzzz{z|{zzz{{{{{zzzzzy{{|{{{{{{{{z{y{z{|||{{{|{z{z{zzzz||{z||||zz{zzzz{{{z||||{z{{{{{z{{{||{||{{{{{{{z{|{||||}z{{|z|z{{||{|{{{|{z{{{z{{|{{|}|||{{{z{z{z||{}}{|{zz{{{{zz|{||{}|{z|{{{{{{{|{{||{{zz{zz{{{|z{|{{}{{{{|{z{{{{{}z||zz{{{{{{{{{|{||{||{{zzzzz|{|z{{zz{zzyzzzz|z{z{{{yz{zzzzyz{|{{z{{z{y{zy{z{{|{{{||{{{z{zz{z|{{||{{{zzzyzzy{{|{z{{|zzzyyzzz{{|z|{z|{yy{zzz{{{|z{||zyz{zzzzzz|{{{zz{zzzzyzzzzzz{z{z{zz{yzzz{{{zz{{{z{{zzzz{z{z{z{{{{zz{zyz{{z{{{{{{{{zz{zzzzzzzzz{{|{zzzzzzz{{y{{{{{z{{zy{zzzz{{{||{zzzzzzzzz{{{{{{{zz{zzzy{||{|{{||zz{zzzz{{|{{{{|{{z{y{z{{{|{||||{z{{z|{z{{||{{{|{{{{{z{{{||{{z|{|{{{||z{y{||{|{|{zzz|y{z{||z|{|{|{z{|z{z{|||{|{|{|{||{{z{|||{{||}|{|{|{||z|{|{||}|z{{|{|{||z|||||{{{{{{{||||{||}{{z{{{{{zz{{||{{|{{{z{|z{{{{|{{{|z|{{{{z{{||{}||{{{{zzz{z{|{{{}|{{{{z{zz{||{|{z{{zzzzzzzzz{{z{{||z{z{zz{zz|{{||{{{{{{zzzy|{z||{{{{zzzzyz{z{{z{{{z{z{{zz{z{z||{{{|{zzz{zzyz{|z{|{{{{{zz{zyz|{zz{{zyzzz{zzz{z{{{{z|zzyzzz{z{|{{{{}zz{{zzzzz{zz{z{{{z{{{xzzz{{{{{{{{zzzz{z{yz{{z|z{z{z{{z{zy{{{{{{{{zzzzzzzz{{|zz{{z{{zz{z{{{|{{{{|{{z{{zz{z{{|{z|{|{{{zyz{{{{{||{||{{{{{zzz{{{{{{{|{{{z{zz{|||{{z{{|{{{zzz{|{{{{||{{z{{z{{|{{|}|||{zz{y{{{{{|{|{|}|{|{{{{{{{|{||{|||{{{{z{{||{{{|}|||{{{{{|||{{||||{z{|{z{{{|||||||{z{{z{{z||{{|{||{{{{{{{{{{||{|||{{{{|{{|||||{{||{{{z{|{{{|{||{|||{{{z{z{{|{|||{z{{{zzzzz{{|{{{{{{zzzzzzz{{z{{z|{z{{z{{z{z|{{{{{|zzzyz{zy{|{{{{{{{{{yzz{y{{{|{{{{zz{z{y{{{z{z{{{{{{{zz|zz{{{zzz{z{zzz{zyzz||{{{zzz{zz{zzzz{zz{{{zy{zz{z{z{{|{{{{yz{y{z{zyz{{{{|{{zzzz{{{z{z{{z{{{zzy{zy{zz|{zz{z{z|zzzyz{{|{{{{{{{{zyzzzyz{z{{{|{zzzz{{{y{z{{{|||zy{{yz|{{{|{{||{{{{zz{z{{{{|{{{zzzzzzzzz{{{{{{{|{z|z{zzz{{{{{{{{{{zz{{{{||{|{|{z{z{{{zz{{}||||||{{{{{|{{{z}||}||z{{{{{{{{{{|||{||{{{||z{||z||||{{{{{{{|z{{{{{||||z|z{{{{||{|{||}|{{|{{{{||{{|||||{{{{{z{{||||||||{{||{{}{|{{{|{||{{zz{{|{|{{{|}{{{{z{{z{{{{|||||{{{{z{zzz|{{||{{|yyzzzzzz{{{zz{zzz{zzyz{zzz{{{{{z{{z{zzz{{{zz|z{{{zzyzz{z{z{z{|zz{{zzz{yyzz{{{{{zzzzzzyzz|z{|{{{{zyzzzzzzz{zz{{{{zyzzzzyzz{z{|{|zzzzzyzzz{{{z{{{zzzyyy{yz{{z{{|{z{z{yz{{z|{{{z|{{zzzz{zzz{y{y|{zzz{zzz{zz{z{{{{}{y{{zyzz{{{{|{{{{zz{zz{zzz{{{{|{|z{zzzzz|z{{{|{{zzz{y{zz{|{{{z|z{z{y{{{z{||||{|{{{zz{{{z{||{{z{{{{{zz|{{{|{z{|z{z{{{|zzz}{{|{|{{zzz{|{{z{{{{|{{|{{{|zyzz{{|}|{{{|{z|{zz||}}{{|}{z{z|z{{||{||{||{{z{{{{{{}|{||{||{||{z{zz|{|{{|{||zz{{|z|||{{{{|||z{{{{{|||{||{||{z{{{{z{{{{{|||{|{z{z{z{{|{{{||z|{{z{{{{{{{|{{z{zzzzzzzzz|{z|{{{z{zzyyzzzzzz{{|{z{zzzzzyzz{z{{{{{z{{{zyzzzz{zz{{{zzyyy{z{z{{{{{{{z{zyz{zz{{z{z{{zzzy{zzz{{{zz{{{zyzyyzzyzzz{z{|{zzzzzzzzz{{{zz{zzzyzzy{{{z{zz{|{{yzzzzyz{z{{{{{{z{zzzzzyy{{{{{{{zzz{zzzyyzzyz{z{zzzzy{zz|z{{{{{z{{zz{zyzz{zz{{z|zz{zzz{{z|{z{{{{zzzzz{yz{|{|{|z{{{zzzz{{{|{|{|||zz{{z{{z|{|{{||{zzzzz{zz{{||{{{z|{|{{|{z{{{{{{}|{z{{{{zz|{|{{}||{|{zz{|{|||{{{|z{{zz{{{{{}{{{||{{z{{{z|{{||{||{}{z{|z{|{{|{|||{|{z{{{{{z||{|{||{|zz{{{{|{|{{{z{|||{{{{{{{{{|{|||{{{{{|{{{z{|{z||{{{{{{z{z{{{|{|{zz{{zz{{|z|{{{|{z{{zzyzzz{|{{{{{{zzzzzzzz{{{{|{{{zzz{zzz{{|{{{zzzz{yzzzzz{|{z{{{zzzz{{zzz{{{{{z{zzzzzzzy{{zy{|zz{zz{zz{y{z|zzzz{{yzzyzy{{yzz{{z{zzzzzzyzzz{|zz{{zzzzyzyz{{|z{z{{{zzzzzyz{z{z{{{{zzzz{zyzy{z{z{zz|{zzzzz{z{{z{{z|{zyz{zzyz{|{{z{|{zy{z{{z{{|{{{{|{z{{{z{z{|{{{z||z{{z{{zz{|{{{{|{{{z{{{z{{z|{{{||zzzz{|{{|{|{{{{zzz{{{z{{{||z{|y{{{{{zzz{{{|{||{|{z{{{|z{{{z{{{|}{z{{zzzz{z|{{||||{zz{{{{{{{||{||{z|z|{{{{|{z||{||z{{z|{|z|{|{|{{|{{{zz{{|||{{|||{z{{z{{z{{z{||{|{{{{{{{z{|{{||{|{{zz{{zzz||z||||{z{z{zzz{|{{{|{{{{|y{zzz|z{{{z{|z{zzzyzz{|z{zzz{zzyz{yyzz{z{z||{{z{yzyz{zz|z{{{|zyzz{yyz||{{z{{|zz{zzyzyzz{{{{{|zzzzzz{yzzzzz{{{z{zyzzzz{{{zz{{zz{yz{zyzzz{{zz{{zyzyzz{zz{z{|z{|{yyzy{zz{zz{{{{{zzzzyzzzzz{{{{{{{zzzzzzzz{zyz{z{{{z{zzz{z{zzz{{{zz{zzz{z{z{{{|{z{zzzzzzzz{{z{z||{zzzzzzzz{{{z|{{z{z{z{{{z{{z{{{|{zz{z{{y{{{{||z{z{|{{{{{{|{{{{|{{zz{zzz{|{{{z{||{|{{{|{z{|z||{{|{{{{{|{{{z{}{|{~|z{{z{z{{|{|{{|{{{{{{{{{{|}{{}||{{|zz{|{z|{{||||{{{{{{{{{||||}}||zz{{{|z||{||{||{{z{{{{z|{{{||||||{{zzz{{{{{{{}||{{z{{{{z{{{{|||{zzzzz{z{z{{{{z{{z|zzz{z|{{z{{zzyzzz{zzzz{{{z{{|{{{zzzyzz{{zz{{z{zzyzzzy{zz{{{z{{zzz{yz{{{{zz{{{{zzzzz{xzz{{{{z{z{zzyzzyy{zzz||{zzzzzzyz{z{|z{{{{{yzzzzzz{z{{{zzzyzyzzzzz{zz{{{z{yzzzzzyzz|{{{{zzz{{{zyz{||zz{|{z{zzz{z{z{yzzz{{{{z{zz{zz{{{{{|{z{zzzz{zzz{{{z{{{{{zzzzz{{{{zz{|z{{zzz{zz{{{z{||yzzzzz{{{|{{z{{zzy{{{zz{{||{|{{{y|{z{{{{zz{{{z}z{z{{{{zz{|{z{{{|{{{{{{{zz{{||{{{{{{z{{{||{z|{|||{{{{{{{{{|||||||{{z{zzy{{|{z{{|{}z{|{|{{{{{||}{|{z{{{z{{z|{|||||{{|{{z{{{{{|{{||{|zz{y{{|{{{|{{|z{z{{{{{{|||{|||{{{z{{{z{{z{{{||{{z{zz{z|{{{{|||z{zy{zzzz{{|{{{{{z{zyzzzzzzzz{{{zyz{zy{zzz{zz|z{{{zzzzzz{{{{{z{{zzz{zzzzz{|{{z{{zy{zyzzz{z{{z{{|zyzzzzzz{{{zz{{z{zz{{yzzzz{{zz{zzy{zzzy{z{zzz{{{zzzzzy{zz{{z{z{zyyzyyyzz{{{z{{{{{zzzzz{zyzyz{{{{zzyzzz{zz{z{{z{{{z{zzzy{z{z{{{{{zzz{zzyz{{{{{{z{{z{zy{z{{{{{zz{{{z{{zz{z{{{{{|{{{z{zyzzz{zz{z{{{z|z{{yz{{{z{{|yz{z{zzz{{|{z{|{|{z{z{zyy{z{||z{{{{zz{{zz{||{{{{|{zz{z{{{{|{{|||{|zzz{{{z{{{{{|{{{yz{{|z{|||{{||}{|{{z{{{{{|{}||{{|z{zz{{y|||z|||||{{{zz{{{{{|{|{|{z{zz{z{|{{{|{|{{z{{|{{{{{{{{{|{{z{{{z{|z{||{{||{{{z{|zz||z|{{||zz{z{{{{{|{{|zz{zyzzzyzzz|{{{z{{{zzzzzzz{{z{{{{{z{yzzzzz|z{{z{{{zzzzy{y{y{z{z{||{zz{zyzz{{{|{{{|{zzzzzzyz{|zz{z{{z{zzyy{{{{zz{{{zzz{yzzz{zy{{z|{zzzz{zyz{z{{z|{zzzzyyzzy{{{z{zzzzzzzzzzz{{|{{{{{{zz{zyzzz{{zz{{{zzzz{yyzzzz{{{{{z{zzzyz{|{{|{{z{{{zzzzzz{{{z{z{{zz|zzz{zz{{{z{{|zz{zzzzzz|{{{||z{z{zz{{{{{{{{{|{{z{{zz{z{|{|z{|{z{{|yz{{{{{{||{{{|{{z{{{|{{|{||{{z{{{{{z||{|{|{|{{{{zzz{{||{{{||{{{{{{{{{}}{{{{|{z{{{z{{|{{{{|||}{{{{{{{{|z|{{{{{{|zz{{||{||{|||{y{{{z{|{{{{|{|{{|{{z{{|{{{|||{|{{z{{zz{{{{||{||{z{{zz{z{|{|{{||{z{z{zzz{{{{z{yzzzzzz{zzyz{z{{{|{{zz{zyzz{{zz|z{{zzyzzzzzzz|{|{{{zzzzzz{zz{{z{|{{{z{zzzyzz{{{zz{{zz{zz{zz||{z{|z{{{zzzz{{z|zzz{{zzzzzzz{{{z{z{{zzzyy{zz{{{|{z||{zzyzz{z{{{{{{|{zzz{zyzz{z{{{{zz{{zzzzzzyzz{{{{{{{z{yzxz{zzz{z{{{z{z{{|zz{z{{{{{{{zz{{zzzz|{{{{|{z{{|{zzz{z{{||{{zz{{zz{z{{{{||||{z{{zzz{z||{z{|||{{{{{zz{||{{{|{{{{{zzy{{{{|{{{{|z{z|{z||{{|||{|{{|{{{z{{|{|{|{||{{z{{z{{{|{||||{{{{{|{z|||||{}|{{|{{{|||{{{|||||{{{zz{|||}|{||}|z{z{{z||||{|||||{{{|{z{{{{{}|||{{{{|zzz||||{||}{{{z{z|z{||{{{{|{{{{{{{{{||{{|{|z{z{{z{{|y{{{|{{zzzzzz{y{z{z{{|{{{zyzzzy|z{{{{zz{{{y{z{{|zzz{{|{{zzzzzyz{z{|{{|{{zzzzzzz{|{|{{z|zyzzzzzzz{z{zz|{{|{{zzyz{{zz{{{zzzy{zz{z{{zz{{{{{|zyyzzz{z|zz{|z{zzzz{zzz{{{{z{z{zzzyzz{z{|z{{|{z{zzzyzy{z{zzzz{z{{z{z{zz{{{z{{{{yzzz{{z{{{|{z||{zzzzzy{{{{{z{{z{zzz{{{{{{{z|z{|zyyzzz{zz|{{z{||z{{z{z{y{z{{{|{{{{{|z{{z|{||{|z{{{{zzzzy|||{z{{|{|{z{{{{{{}|{|||z{{{|||{||{||||||z{{|{z{{|{|{{||{{{||{zz|{|{{}||z|{{{{{|{{{{{|||{z{{{|{{z|{||}||{{{{|z{||{{z{}}{|z{{{{zz{{{||||||{|{{{{z{||{{{|||{z{{{{|{|zz{||{{{z{z{{z{|{{{{{{{{{yyzzz{{{{{{|||{{y{{zz{{z|{{z|{zzzzzz{{{{{{|{zy{z{zz{z{z|{|zz{{z{{{zzz{{|{{y{|zzzzzzzyzzz{{|{|{|zzz{zz{{{{{|z{zzyzzzyz{z{zz{zzz{zyz{zzzz{z{{{|z{yzzz{zzzzz{{{zzzz{zzz{{{{|{{{{{z{{z{zy{z{|{{{{{z{z{zzzz{{z{z{{z{{zzz{z{{{z{{{{yzzzz{{z{{zzz{|{{{z{{{{z{{{z{{{{z{z{zzy{{z{zz|{|{zz{{zzz{{{|{{{{{|{{{y{{z{{{{|{{z{{z{{zz|{{{{{{{{zzz{{|{{{{|{|||{z|{{z{{{{|||{|{{{{{{z{||{|}{|}{{z|zzz{|{|{|{z{|}{z||{|{||{{||||{||{{{{|{|{||{{}|z{{{||||}|||}||{{|{{{|{{{{|||{{|{{zzzz{{z||{{{}|{{{{{{{||{{||{}{|{{{z{z{{{{{|{{{{{{|zz{{|{z{|{{{{zz|z{{z{||z{{{{zzzz{yzzz{{z||{{yzz{{zzzz{z{{|{|{zz{{zz{{{z{{{{{{zzzyzzzz{{|z{|z|zzyyzzy{{{{{z{{yzz{zzzz{{{{{{z{zzz{zz{|z{zz{{zyzzz{{zz{zz{{{{zzzzz{yyzzz|z{{{{z{zyz{zz{{{z{z{{zzzzzz{z{{zz|z{{{zzzzz{yz{{{z|{{{zzzzz{zyzy{{|{|zzz{z|zz|{zz|{{{{{zzzyzzz{{{{{{|zzz{zy{z{z{{{||{{zzy{zzz{{|{{{{|{z{zzzzzz|{{z{z{|{{{zz{{{{|z{||z{zzzz{{{|{{{{}{{{{z{{zz{|{||||}|{{|{{{{z|||{{{|{z{{{{zz{{||{|{||{{{z|{{{{|{|||||{{|{{{{|||{{|}{{|{|{{{{z{|{|{||{|{{||{|||{}{{|{|{{{{|{{{{{{|{||}{{{{{{z||{{|{{|{|z|y{{z{{|{{z{}||{{z{z{{{|{|{|{{{z{zz{zz{||{z{{{{zzzzz{zzz{{{|{{{{zzzy{{{{{{{{||z{zzz{zz{z{{{{{{zz{{{yzzz{{{z{||zzzzyyzy|z{zz{{zzzzz{y|zz{z{z{{|z{zzzyzyy|z|{{{{zzzyzy{z{{{{{{|zyyzzzzzzz{{zz{{{zyzzz{zzzz{z{z{zyz{yzyzzz{|{zz{{{zz{{zzyzz{{z{z{zzzz{zzyz{{{{{{{zzz{y{zz{{{zzz{{zzy{zz{z{z|zz|{{zzz{zyz{{{{{|{z|zzzz{yzy{z{{zz{|{{z{zz{z{{{{|{{{zz{z{z{z{{{{z{{zz{z{{{zz{{{{{{||{{{{{{{||z{{{{{|{{{z{{{{{|||z|}{{{z{{zz{{{|{{{||{z{|zz{{{}{{{}|||{|{{{{|zz{{{|||{{z{|{||{{||||||{{{{zzz||{{{{{|{zzz{{zz{{{{{||{{{{z{z|z{{||{||||{{{{{zz{||{{{{{|{{{{{zz{{|z|{|{|{|{{z{{{{|z{{{z{zzzzzyyzzz{{{z{{zz{z{zyy{zzz{|z{{zzz{yzzz{{{{|{{zzzy{z{zzz{{y{{|{z{yzzzzzzz{z|z{zz{yzzzzzzz{{{{z{zzzzyzz{{{{{{{zzz{yyz{zzyz{z{z{yzzzyzyyzzzzz{{zzzzzyyyz{z{z{{{{zzzz{zzyz{z{{{|zzzzzzzzzzzzy{{{z{zyzzyyzy{z{z{{{zyz{{{{zzz{z{{{|{zyzzyzzzz{{{||{{{zz{zzy{zz{{{{|{zzy{yzzz{|z{{{{zz{zzz{{z{{|z{{|{z{{zzyzz{|{{z{{{z{{{{z||{|}{{|{|{{{{z{{{{||{{{|zz{|zz{{{|{|{||{|{{{zzzz{||{|{{||z{{{{{z||}||||{|{{{{|}|{|||||{||{{z{{y}{}|{|||{|z{{{{{|||{||{{{|{{{{{{{{|{|{{||{{{{{z{{|}|{|{|}{z{zzz{{{||{{{|}|z{{zz{{{|{{{{|z{{zz{z|zz{{{{{{|zy{{{zzz{{{{{zzz{zz{{z{{{{y{z|{||z{z{zzzz{zzzz{{{{yzzzz{zz{{{{{{zzyzyz{z{{{{{{{{z{zyzzzzz{zz{{z{z{zzyzyy{{{zz{zz{zz{zzzy{zz{zz{|zyzz{zz{z{zz{{{y{zzzzyyz{{{z{{z{{zzzy{zzyzz{zz{{{zzzzzyyz{|zzzz{{{{yzzyzz{zy{{z{{zzzz{zz{z{{z|{{zzzzyy|{z{{zz{|{zz{{z{{{{{{{{{{|{zzzzz{zz{{{{||zz{{z{yzz{|z{{{{{zz{{z{zz{|{{{{|{{{z{{{{z{}{{z{|{z{zz{{z{|{||||{|z{{{{{||{{||{|||zz{z|z{z||{|{||{{zz{{{|z{|{{{{{|{z{{{{{{{}|}|}||{zzz{{{{y||{{{{{|{{z{{z{{{{}{|{||{{z{zz{z|{||{|||z{{{z{||{||||{|{zzz{z{{{|{|{|{{|{z{z{|z{|z|{z{|{{zyz{{z{{{{z|{{{yzzzzzyz{yzz{{{{z{zzzzzzz{z{{{{{{zzzyyzzzz{|{{{z{zzzzzz{{z{zyzz{yzzzyzzzz{{z{{|z{yyzzzz{z{z{{{zzzzzzyzxz{zyzz|z{zzyyzy{zyz{zz{zzxyz{yzzyz{z{{{zzzyz{yxzzzzzzz{zzzzzyzyyz{z|zz{zzyzyzzzzz{zzzz|z{zyzyzyzz{zzz{{{zyzyyzzzz{z{zz|{zzz{{yzzzz{zz{{{zz{z{{zzz{zz{{{zzzzzzzzzzz{{{zz|{zzzzz{{{|zz{|zz{zzyzzz{{{{{{{|zz{zyz{zzy{{zz{z|{z{{zzz{{{{|{{{zzzzz{z{{{|{{{|{{{z{{z{zz{|{||{{{{{z{{zzz{{z{{{}|{{{|{{zz{{{{{|{{{z||{{{z||{|{{|{|{{zzzzz{{{{{|{||z{{z{{{{z{z{{{}{z{|{z{{{{{{{{|{{yzz{{z{{{{{{z||{zzzzyzzz{z{z{|zz{|yzzzz{{{{|{|zz{{yy{zyz{{{z{z{|zz{yzzz{{{z{{{||{{zz{zz{{{{z{{zzzzzzzy{{zzzz{{||yzzyzzzz{{z{zz{zzzzyyzzz{{{{{{z{zzzzzy{z{{zz|zzzz{z{zyzzz{z{{{|zzzzzzyyz{{z{z{{zzzzzzyzz{{zzz{zzz{zyzzzz{|{zz{{{zzzyzzzy{{zz{{{yzzzyz{y{{z{{{{{zzzzyzzz{z{|zz{{{zzyzzzz{z{{{|z{zz|{yzz{{yz{{{z{yzzzzyz{z||{{|z|z{{z{zzz{{{{|{{{{zzz{{{{{{z{{||{zy{z{{{zz|z{||{{{z{z{{z{z{|{{|z{{{{{{z{{||z{{{{{|z{zzz{zz{{||z{{{zz{{z{{{||}{|{|{z{{zz{|||{|{{}||{z{{{{{|{{{{|||{z{{zzzz{z{|z|||{z{z|{{z{{z{|{{||{z{{z{{zz|{z|||{zz{z{{{{{{{{{|{{{{{z{zzz{{|y{{{zzzzz{zz{{{zz{z{zzzzzyzz{{z{{z{{z{yzzzyzz{{{z{z{{z{z{zzz{y{{zz|z{z{zzyzzzz|{z{{|{zzyzzyz{z{z{{{|{z{xyz{zyz{{{|{z{zzyy{z{zz{zz{{yzzyzyzzzzzyzzz{{yzyzzyyzz{yz{zzzzzy{zzzzzyzy{z{{yyzzyzzzz{z{{{{{zzzzzz{yyzzzzzz{{zzyzzzyz{{z{{{{{yz{{{zy{zzzzz|{{{zz{zzz{{{zzz{{{yzzzz{z{{|{{{z{zz{yzz{z{z{{{{|{z{{zzyzz{{|{|{{{{z{{z{zz{{{z{z{z{zzz{zz{z{{{{{{|z{zzz{{z{{{{|||{zz{z{{{{{|z{{{|{|zz{y{{z{{{{|||{|{{{zzzz{|{{{{||{{{zz{{{{{{{{{{{|{zz{{z{||z|{{||{{zz{z{{|}{||||{|{zzz{z{z{{{|{|||{{{{{z{|{{{{|{{z{{{z|{z{z{z{|{{{{{{yz{z{{{{z|{{z{{zz{zzz{{{{{z{{zzzzzzyz{y{{{{z{{zzz{zzz|z{{{{{|z{zyzz{{|z{{{{{zz|zzzz{{{{{{{{zzzzzzy{y{z|{{{{{yzzzzyz{zz{{z{{z{zzz{yz{{{|zzz{{z{zzzyzyyy{{zz{zyzzzzz{yz{zz{z{{{zyzz{y{{{zz{{{z{zzzzyz{z|zzz{{{zzzy{y{zz{{z{{{zzzyzz{zzz{{yz{zz{zz{{zzy{{|{{{{{{yzzzzzzz{zzzz{{z{{yzzzzz{z{{{|{{z{zzy{zz{{|{{{{{{zz{zzzzzz{|{z{{z{z{zz{z{||{{{{z{z{{zzz{|zzz|{{{z{{z{{z{{{|{|{{{{z{{z|{|||{||{|{z{{{z{{{}|{|||{{z{{{{{{||{z|{{|{{{{{{{{{{||{|{}||{z{|{z{}}{|{||{{{|zz|{|{{{{|z{|z{{{|{{|z|{{||{|z{{{{z{{{{}z{{|{{zz{z{z{|{{{{|{{z{{z{zz{{{{zz||{zzz{z{z{||{{{z{zz{zzzzyz{{zz{z{zzzzzyzy{z{{|{|{z|zzyzzzz|{z{z{zzz{{zyy{z{z{{z{z{{zzyz{z{zzzz{{|{yzzzzz{z{{zzz|{{z{yzzzz{zz{zzz{zyy{zzzzzzzzz{{{yzzzz{zyyz{z{{{zzzzzyzzzzz{{zz{{{z{zzzzyz{z{zz{{zzzzzzyzz{zzz{{{{zzzzyzzz{zzz{{{y{zy{{zzzz{{zz{|zzzzzzzz{z{{z{||{yzzzz|{{z{|{|{{zzzy{z{zz{{{{z{{{z{zz{zyz{{z{{|{{z{y{zz{{{|z{||{{{z{{{z{{{{{{{{{{{{zz{yz{|||{|{{zzz{|{zz||{{|{||{z{{{zzz{|{{{}{||z{{z{|{|{{{|{{|{|z{{{{z{||{|||{|{z{z|{{{|||{|{||{|{{z|z}{||{{{|{{z{{{zz{|||{|||{{{|{{{{|{{{{{|{{z{z{{zz{{{{{{||{{{{{yzz{|||{|{|z{{z{zzz{{{{{z{{{{zzz{zzy{{{zzz{{zy{yz{y{zzz{{{{z{yzzzzzzzzz{z{{yy{zyxzzzz{zzz|{{zzzyzzy{||zz|z{zyz{z{yzzzzzz{{{{yzyyzzzz{zzz{z{zyyz{zyz{{z{z{{{zyzzzyyyzz{zzzzzzzzyzyxzzzz{zz{{{zzzyyyyz{z{zz{{{yz{zy{zzz{zz{zzzzyzzzyzzzzz{{{zz{zzzz{yzy|{zz{{zzzzzzzz{{{z|{{{yzz{yzzzzz{{{{zz{z{zzzz{zz{{{|||z{{{{zzzz|{{z{{{zzzz{zzz{|z{{{{{zz{{{zzy{{{{z|{{{{{zy{{z{z{|{{{{z|z{{z{z|z||{|||z{{{z{zz{{{|{{{{{zzzzz{z{|{{{{|{{zz{z{{z{z{{|{{{|{z{z{{|{|{{{|}{|yzzz{{{z{{z{{{|{{{{z{{{z{{{{{||{zz{yz{{{{|z{{|{{z{{{{{z{{z{||{z{zz{{zzz{z|{{z|{{yzz{z{z{z{{{{y{{{zzy{zyz{zzz{z{{{yzzzzz{zz{{{z{zz{zyzz{{zz{|zzzzyzzzzz{zz{{{zz|{z{zyzzyzzz{{{{z{z{zzzzzzzzzz{{zzy{zzzyzy{zzzzz{z{{yyyyy{zz{z{zzyzyyzzy{zyzzzz{zzyzzyzyzz|z{{{|zzzzzz{{yz{z{z{{zzzyyzzzzzzzz{zz{yyyz{zzz{z{zz{{{zzzyzz{z{{{zz{z{{zzzzzzzz{|{{{z{zy{z{zz{{z{{zz{{zz{z{yz{z|zzz{zzzzyyzz{zzzzz{{{{zz{{zz{z{{{zz{|{z{zzzzyz{z{{z{y{{{z{z{{z{z{|||{|z{{{|zzz|{z|{{||{{z{zzzzz{{||{}|{z|z{|z{{{{{{||}z{{{{{|{{|z{{{{|{{zz{{zz{|{{|||{|{zzzz{{||{{{{|{{{{z{z|{{{{|z|z{{{zzz{{{{{{{{|||{{{yz{zyzz{|{{{{{{z{zz{z{{{zz{|{zz|z{zzz{{{zy{zzzzyyyzyzzzzzyzz{{zzzz{zzzz{{z{{z{zyz{{zzz{{z{{{zzzyyyzzyzz{zy{{zz{zyzzzz{z{{{{{{{{zyyyzy{{z{z{zz{zzyyzyy{{zzz{z{{zyzy{zzzy{{y{{{yzzyyyzzzz{zz{{z{yyzyzyyzzzzzz{zzzzyyzzyz{z{zzz{{zzzzzzyyyzzy{zz{y{yy{zzz{{zz{{{zyzzzz{yz{{z{z{z{zzyzyz{{{{z{{{{zyzzzyyzz{{z{z{{zz{z{yyz{{zz{z{{zzzzyyzzzz{{{{{{{z{zzz{y{{{||{{{{{z{y{zz||zzz{{{{z{{zz{|{|{z{||{{{zyzz{{z{{|{{{{{{z{{z{zz{|z||{{{z{{z{{z{|{{{{||{{{z{z{{{{{{||}{{z{z{{{zz|{{{|{{|{{{{{{||{z|{}|{{z{zz{{{{|{{|{{{{zz{{z{{{{{{|{{|z{zzz{{{{|{|{{|{{zzzzzzzz{{|z{|{y{{zzzyzz{{|{{zz{zyyzzyzzzz{{zzzzzyyyyzyzyzz{{{{zyyyzzyzzzzzz{|zzzzzzyyzzz{zzz{|{zzzzyzyzzzzyzzzzyzyzzyzz{y|zz{zyyzzyyx{yzzzy{{zzzzzyyzzzyy{z{zzyzzzyyyyzz{z{zzzzzzzxyyzzz{z{z{{zzzzzzzyzyz{|zzyyzyzyzyyzzzzzzyz{yzxyyy{z{yzz{{{zzzzzzyyzz{{z|zz{zyyzzzz{{z{{{{{zzzzzyzzz{zz{z{zzzzzyzzzz{{zz{|{z{zzzyzzz{zz{{{{|zzzzzyzz{{{{{|{z{zyzz{zzyzz{{{zzzzz{{z{{{|{|z{z{zz{{zz{|z{{{{{{z{zz{zzz{{{{{{z{zzzz{zzz|{{z{{|{z{{{{{{{{{{||||{{{z{{zz{{{{{{|{{{zz{zzz{{{{z{z{{{yz|z{{|||{{{z{{{{{{z{z{z|{{{z{{{z{{z{zzz{{{{||{{zzz{zzyz|z|{{{zzz{zyzzz{yz{{{zz{zzxzzyz{zzz{zz{zyzzzxyz{zyz{{{|zyzyzyyy{yzz{z{{yyzzzzzz{{zzzz{{zyzzzzzzzz{z{{z{yxzy{zyzz{zzz{zyzz{yzyyy{y{zzzzzzzzzyzyzzyzzz{z{zyzyzyzy{{{zzzzy{yzzy{zz{{z{{{zz{zyyyzyzzz{|z{{{{zzyyyyzzzzzz{|zyzzzyyzzzzz{zzz|zzzyyyxyzz{zz{{yzzzyzyzz{zzyz{{{zyzzyzzzzzzzzzz{zyyzzyyzzzzzz{{{z{{z{zzzzz{{z{z|{{{zzzzz{{{{z{{{zzzzyyzz{{{{{{|{z{zz|zz{z{{z{{z|z{z{z{{z{{{|{|{{{{zzzzzz{{{{{||{{z|{{z{zz{|{{{||{{{zz{{{{{|||||{|{{{zzzzz{z{{{{z{{z{z{{{{|{{|{{|zz{zzz{z{z{{{{{{{{{z{|zz||z{||z{zz{{{zzz{{{{{{{{{zzzzzzzy{zz{{{z{zzxzzyz{{{zzzzzzyzzxzzyz{{zz{{{z{yzzyzz{zz{z{zzyzzyyzzyzzz{{|{zzyzyzyyzzzz{zz{zzzyyyyyyzzzz{{z{yzzyyyzzyzz{y{zzzzzyyzyzz|zz{{z{zyzyzyyxz{z{zzy{zzzyzzyzzz{{zz{zyyyy{yyyzzzy{y{{zyzzzzzzyzz{z{{{zzyy{yyzyzzz{{zzzyzzyzyyzz{{{z{{{zzzzzyyz{{{{z{zzzz{zyyyyzzz{{zzzzzzyzzyzzzz{z{|zzzzyyzyzz{zz{{{zzzzzyzyzz{z{z{{yzzz{{zzzzzz{|{{{zzzzz{z{{{{z{{{y{y{|z{{{{{{{{{{y{{z{zzz{{{{zz||z{{{zzzz{z{z{||zz{{{{{{z{{z{{{{{{z{{z{{y{{{{{|{{{{{{{{zzz|||z{{{|zzzzz{z|{||{{{{|y{z{{z{z{zz|{{|{{{{{z{{{{|{{{||{{zzzz{{{{{{{{{{{{z{zz{z{{{{z{z{|zz{zyyzz|{z{zzzzzzzzzyyzz{{z{{|zzzyzzyzzy|z{{{zzyzz{yyz{zz{z|{{yyzzyzyzzz{{z{{zzzyyyyzy{zzzz{z{zz{zzyyzz|zzyz{{{yzyyzzyz{zyz{zzzzzzyzyyzzzzz{{zzzzzzyyyz{zzz{zz{zzyyyyzzzz{z{zz{zzzzzyzz{z{z{{zyyzzyzzzzz{zzz{{|zzzzzzzz{z{{|{{{zzzz{{yz{zzz{{{{{zzzyz{{z{{{{{{zyz{zy{z{{zz|||{zz{y{zz{{{z{z{{|{zzz{yzz{z{{z{{{zzzz{zzyz{{{{{{{zz{{zz{{{{z{{{{zzz{{{{zzz{{||{{{{z{zzzzz|{{{{||{{z{{{zzz|{|{z{{{|z{z|{{{|{|{{{||{{{zy||z|{{{||{||{{{zz{{z|{{|||{{z{{{zz{|{{zz||{zz{{zz{yz{{{{|z{{{z{{{zz{{{{{{{{z{{yzzz{zzz|{{||{zzzyzzz{{z|zz|zz{{y{zzz{y{{{z{zzyzzz{{y{{{zzz{{zzzyyyzyzzzz{{{{z{zxyzzy{zzz{{z{yyyyyyzzyzy{zz{{yzzyyyzyzz{yz{{zyyzzzzzyzz{z{zz{zzzy{yzyz{zz{{zzzyzzzyyzzzyzz|zzyyzyzyyyzzyz{zz{zyzzxzy{yz{y{z|zyzyzyyzzyzzzz{{zyzzzyyzyyzzzzz{zz{yyzzyy{zzzy{zzxyzzz{zyzz{zz{{zzzzyyyzzzzzzzzzzzzzzzyz{zz{z{{zzzz{zzyzzyzzz{{{{z{zzzzzzzz{{{|zzzzzzzyzzzz{z{z{{{zzzyzyzz{{z{zy{{{{zz{{zz{|{{z{{zzzzy{z|z{z{z{{|{{{zzzzzz{zz{{{{{{zz{{yy|{{{{{|z{{{{z{{zz{{{{{{{{zzzyzzz{{{|z|{zzz{zz{{z{{{{z|{{{zz{z{{zz{{z{{||{zzzyzz{z{{{zz{{z{yyz{z{zzz{z|{||zz{zzzzzz{{z{{zzzzyzzzzz{{{{zz{zzyyzyzzyzz{{y{{zzzzzzzz{zzzz{z{zzzyzzyy{zzzzz{zzy{yzzyyz{z{{z{{z{zyyyyyzz{{zzz{{zyyzzzzy|yyyzzzyzzz{{yyzyyzyzzzyzyyyyyyzyz{z{zyyzyzyyzyyy{yyyzzyzyzzzyzzz|z{zz{{zyzyzyzzzz{zzzzzzzyzyyxyzyyzz{{{zzyyyyzyzzz{z{{zzzyyzzyzz{zz{{z{zzz{zzz{zz{zz{zzy{zyzzyzzzzzzz{yzz{yzyzyzzz{{z{{zzzzy{z{{zzzzz{{z{zzzzy{{{z{{{z{zz{zzzz{{zz{{{|{z{zz{zzz{{{{{{{z{zz{zzz{|{{|||zzyy{zzyy{{{{{z|{{{z{{z{z{{{{{{{{zz{{|{z{z{{{{{|{{zzzz{zz{|{|{{{zz{{{zz{{{{zzz|{z{zz{{z{{{{z{{{{{z{y{{{zz{{{{|z|zz{{zy{zyz{z{z{{{{{zzyzzzy{|zz{{{{zz{yz{zy{|{z{z{zyzyyzyzzzzzzzz{zzyyyxyzzyzz{zzz{yzzzyzyzzzzy{z{zzzzyyyzzzz{{{zzzyzyyxzy|z{zzzz{yyzzyzyzzz{zz{zz{zzy{zxz{{zz{zzzyyyyzyzyyzzyz{{zzzzzyy{yyzzzzzzzzyzyzyzyzzz{{zzzzzzzxyyzzzzzzzzzyzzyzyzxzzz{zzy{yzyyxyzyy{zzy{{{zzzyzzyz{zz{{{z{yyzzzzzzzyz{zz{z{zzzzzzyz{{{zz{{zzzzzyzy{{{zz{{{zz{zz{yyzzz{y{{zzzzzzzz{{|zzz{{{zzyzyzyyzzz{{z{z{zzzyzz{zzz{{{{|{zzz{{{{|{{z{|{{zzz{{zyz{{{{||{{|{{z{z{z{{{{|{{{zzz{zz{zz|{{{{{{{zyz{{zz{|{{{{{{{z{{{{z{{|z{z|{{{z{zzz{{{{{{{{{|{z{zzzzzzz{{{{{{zzzzzz{{{|{|{{{{{{yyyzzzz{{|{{z{zzzzzyzz{{{zz{zzzyy{zyyyz{zz{z{{zzyzzzyzzz{zz{z{{yzz{z{yyz{zz{{zzzzzyzyzzzz{yz{{zyyzy{yzzz{{zzz{zyzyyzzzzzyzz{{z{zzzzzyzz{zzzyzzzyzzyzyzzzzzz{{{zzzzyzzyyz{{zz{z{zyyzzxz{zzz{{{zzz{yyzzyz{{z{{{z{yz{zzyzzz{{{{{zz{zzzzzzzz{{z|zyy{zzzzzyzzzz{zzzzzzzzzyz{z{z{z{{z{zzzz{z{zz{{zz|{{zyyzz{z{{{z{{{zzzz{zzyz{z{{{z{{y{zzz{z{{{{z{{{{{yyzzy{{z{{{|{{{z{zzzz{z{{{{{z|{zz|{z{{z{{{{|{|{yzzzzzzzz{z|{{{|zzz{z{z{|{{|||{{{|zz{{{{|{{{|{||{{z{z{z||||{||{{z{{z{{{y{{{|{{|{y{{zz{{{{{{z{{||zzz{zz{{{{{|{{|zz{zz{z{{{{|z||{zzz{z{z{zzz{z{|{yz{z{zzz|{|z{yyyyzzzyyyzyz{z{zzzzyyzyyyy{zy{z{{{yyyzy{{z{z{z{|z|yzyzyyzzy{z{yyz{{zzzyzzzzz{yzzzzz{zzyzzyzzzyzz{zzzzyyzzzzz{{z{zzzyyzzyzzzzyzz{z{zzyyzyzzzz{zzyz{zyz{{zyzz{zz{zz{zyzyyyzzy{zzz{{{zyzzzyzzy{zz{{zy{yyyyyzxzzz{{{zzyzzyzzyyzz{{{{{zz{zyzyyz{zzyz{z{zzzyzzy{{{z{z{zz{zzzzzzz{z{z{zz{zzzzzy{z{{zz{{{z{zzzyzyyz{z{{{{z{zzyzzzzz{{z{z{|{y{zz{{z{{{{{{|z{zz{zz{z{{z{{z|{zzzy{zz|z|{|||{{zzzz{yyz{{|{|{{z|{zzyz|zz{{z{{|{{z{{zyz{{|||||{|{{|{{z{{{{{|{{{{{zz{zzy{z{{z{|{z{{{{{{zz{{{|{{{|{{{yzy|yz|z{|{{{zzzzz{yz{{{{z{{zzzz{zzzzy{{zzzz{zyyz{zzzy{{z{yz{yyzzzyyzzzzzz{{|zyzyyzyzzy{zz{{z{yzzyyyzz{{zzzy{yyzzzyzyyzzzz{z{zzzzzyyyzzzzz{z{zzzyzzyzzzzzy{yzzyyyyyzy{yy{zz{zyzyzyyyzzzzzy{zz{zzyyzzz{yzz{z{{zz{yyyzyzzy{zz{z{zzzyzzzyzzyy{z{yzyyyzyyyzy{z{z{yyzyzzyy{{zzzzzz{zzyzzzzzz{zyz{{zzzzzyyzz{zz{{{{zz{zzz{zz{{{{{z|zzzzzzzzz{zz{{zz{yy{zyz{{{{{{{|{{zzzz{{zz{{{{z{z{z{{zy{y{{|{{{{{zzzzzz{z{{z{z{{{{{zzzzyzz{{{{|{{{zz{{zy{z{{{{{|{{{zz{{{z{|{{zz{{{z{{{zz{{z|{{|{{{{z|zzzz{|{{{{|{{zzz{z{{z{{|{|z{|{z{{zzz{z{{{{{{z{zzz{zz{{|{z{{|zzz{zy{z{{z{zz{zzyzzz{{y{{{{z{zzzzzyzz{y{z{z{zzzzzzyyyzzyz{{zzzzzzzxzyzzzzzzz{{yzzy{zzzzy{{{{z{zzzzyy{yzzyz{{zz{zzzyyzyyzzzz{zzyyyyyzyyzyz{zzz{zzzyyxzzzz{yz|zz{yyzzzyzzzz{y{zzzz{zzyyzyzzz{{{y{z{zyyyyzzzzzzzz{zyyzzzzzy{yzy{{zyzzyzyyyyzyzzzzzyz{yyzyzzzz{z{zzzzyyzz{yzyzyz{{{zyyzzyzy{zz{z{zzzzzzyz{z{zzz{{{{{zzyzz{{zzz{zzz{{zz{zyzz{{{z{{zzzzzzyzy{{z{z{z{{{{zzz{zz{{{|{{{|zz{{{z{{{|z{{z{{{zzz{zzzz{{zz{z{zzzz{{z{{||{{{||{{zz{{yz{{{{{{|{{{{{zz{{z||{{|||{z{zzzzz{z{{{|||{{{zzzzz{{z|{{{{z{z{{zz{{|z{{{{|z{zyz{{zz|z{{|{z{{{zz{zy{{{|{{z{yzzzzzzzz{{z{{{{zzyyyyyyy{zzzz{{zyzyyyzz{{z{zz{{zyyxzyyzzzyzz{{{zzzyz{zzz{zzzy{{zzyzyzzyzyzzzzyzzzyzzyzyz{{zz{{yyy{zzzyzzzzzzzzzzzzxyyyyzyzyzzzzzyyzzyzyzzyzzz{{zyyzyyyzz{zzzzz{zzzyyyyzzzzzz{{zzyzyzyyxz{{zzz{zzzzyyzyyy{yzz{zzz{zyy{zyzz{{zz{{zzyyyzyzz{z{z{{{{zzzzyzzzzz{z{{{zzzzyyzyzzz{z{{{zy{{zyzzzz{{{{z|zzzzzzxzzzz{z{|z{zzzzzzy{|zz{z{{{z{zy{{zz{{{{{zzzzz{{{{zz{z{z{{|z{z{zzzyz|{z{|z{{{zz{zzz|{{{z{{{{z{{{z{y{{{{{{|z{{zz{z{{z||{{||{{z{{z{zz{z{{{z{z{z{zzz{{zz{{{{|{{zzz{{zz{{{{{|{{{{{z{{zzz{{{{|{{z{yzzzzy{{z|{z{{zzzyzyzyz{zz{zy{zzzyz{yyz{zzyy{zzyyyzyzz{{y{z{z{zzyyyyzyzzzzz{zyzzyzzyyzz{{zyzzzzyyyyxyyzz{{z{yzyyyzzzzyzzzzz{{z{z{yyxzxzyzyzz{zzyyyyyyzzyzzzz{{zzzyyyyzyzzzyzzzzyzyyzyzzzzzzy{{zzyyzzyzy|zzzz{zzzyzzzzzyyyzz{{z{zyyyzzzy{z{z{{zzyyyzyzzzyzzz{z{zzzyyyzz{{zzzz{{zyzzzzyyyzz{{{{{zzzyyyzzyz{zz{{{zyyzzzzz{{{{z{z{yyyyz{yy{z{{{{{{zy{zzzyz{{zzzz{{{{zz{zzz{{{{z{{{zzzzz{{yz{|{zz{{{zzzzzzz|{{{zz{{{yzz{zyy{z|z{{{{{z{{z{zzzz{{|zz{{{{zz{zyz{{{{{{{{{zzzzzzzz{|z|{zzz{zyz{{z{{{{{{|{{{zzzzz{{{z{{|z{zzz{{xz{{{{z{z{{zyzyyzzz{{{zz{zzz{z{zzyzz{{{zyz{yzzyyzxz{zzzzz{zyzyyyzzzzzz{{z{zzzyzyzxzzz{{{z{zzzzyyyzz{zzyzz{{zyyyyyzzz{zz{zyyz{zzyyyyzyzyzz{zyzzyzyyz{zzzzzzzyyyyzz{zzz{z{zyzyyzyyzz{zyyyzzzyyzyzyyzzxzz{y{zyzzyyzyzz{y{{z{{zzyzzyzyz{zzzzzzzzzyzyyyzzzz{z{{zzzy{zzzzzzzz{{{{{{{zzzyyzzzz{z{yzzyyyzzz{y{z{zzzzz{yzyzz|{z{{{zzzzzzyyyz{zz{zzzyzzzzzyz{{{zzz|z{zz{zzyz{{{zz{{z{yzz{{zzzzz{{z{{zzzz{zzz{{z{z{{zzzzzyz{z{z{|zzz{{z{zzzz{|{{z|||{z{{yzz{{{{{z{{{{{zz{{z{z{z{{{|{{zz|{{z{z{{|zz{|{|zz{{y{{{|{{{{{|{{y{zz{z|{{z{{{|zzzyz{zzzzz{z{z{{yzz{zzzyzz{{|{{z{zyz{yzzz{y{{zzyyzzzyzyy{zyy{zzzzzyyyzyzzyzzzzzyzyzyyzyzz{zz{{yzy{zyyyzy{{{zyzzzxyzyyyyyzzy{zz{{yyyyyzzyyzzzz{zzyyz{y{zzzzzy{yzzyzyyyyyzzyzz{zzzzzzzyzyzzy{zzzy{yxyyzyz{yyzz{z{{zzzyzzyyz{zz{z{zyzzyyzyzzzzzzyz{yzzyyzyyzyz|z{zyyzyzyyzz{{{zzzzzyzzy{zzz{yz{z{{{zzzzyzy{{zzzzz{zzyzyzzyzz{z{{{zz{y{zzzyz{{zz{{{zz{z{zyyzz{{z{{z{yzzzzyz|{zz{{{{zzzyzz{zz{{{zz|{zz|z{{{z{{{zz{{{zz{{{zzzz{{zz{zzzzzzzzzy{{{{{{{}zz{zz|zzz{z{{{{{{{z{yzz{{{z{{{|{{zzz{zyz|{{{{z{{zzzzz{{z{{{z{{{|z{zz{zy{{z{z{{z|zzzy{zzz|{{{{{|{zzz{zzyz{{{z{z{{zzzzzzzyzzzz{{zzzzyzzzyyyz{zzy{zzyzyzyzyzz{{zzz{zyyy{zz|{{zz{z{{zyzyzyyyz{z|y{zzzyzzyzzyzzz{zzz{zyzyyyyzyzzzyzzyzyyzyyyyzzz{zzzyzy{yzzyyzzz{zz{{{zyzzzzzz{{zz{zyzzyzyzzzzz{zz{z{zzzzzyy{zzy{zzzyzzyzyyyzyzzzyz{zzzzzzyyzzzzzzzyz{yzzzzzz|{{{z{z{zzyy{{zzzz{zzz{{z{{zzyzzz{{z{zz{y{zzzzzz{{zz{{zzzzzzzyyzz{{{{||zz{zzyzy{{{{zz{{{{zz{z{{z{{{{z|{{{yzzzzz{z|z|{{{{z{{z{{{z{{z{|{{{{z|{{{zz{{{{{{{{zyzy{zzzz|{{{{|zz{{z{zzz{{{z|{|||zz|yzz{{{|{{{||{z{{zzzz{|{{||{{zzzzz{zz{|{{{{{|{zz{zyyz{{{}{|{{z{{z{zzzzz|{{||{z{z{zz|zzz|{{z{{{{zy{zz{{{zz{yz{z{yzyzyzyz{zz{{zzzzzzzzyz{zz{{{{z{zyzz{yzz{zzz{zzzzyyzy{z{{{{{{zzzzzyyzy{{zz{{z|zyyyzzzzzzzyzzzz{zyzzyyzz{zyzz{zzyzyyzzyzzzzzzyzyzzzzyyyzz{zzzz{{zyyyyzzzz{zzz{z{yyyy{yyz{z{zz{{zyzzyyzyz{{yyzzyyzzzyzy{yz{{z{z{zzzy{yzzz{z|{zzz{zzzzzyyzz|{zz{{zyzyzzzz{z{{zz{zyyzyzz{yz{{z{y{{{zzyzzyzzz{{z{{yzyz{zzzzz{{{|z{{{y{{yz{z{|zz{{{{{zzz{{{z|{{{{|{{{{{z{zzz{{z{{z|{{zz{zzzyz{{{zz{{zy{z|zzz||{{{{{{zz{zzz{{{{{z|{||{{zzyzzzz|{||z||{z{{zzzz{{{z|{{{{zzz{zzzz|{z{{{|{zz{{{zz{{z{{{{{{{zzzzzzz|{y{{||{{zyz{zz{|{|{{z{z{zzzy{{z{{{zzzzzzzxzzzzyzzzzz{zzzzzyyzzzzz{{{{zyzzyyzywzzz{zz{{zzyzzyyz{{{zzz{{zyz{yzzyz{{{yzzzzzzyyzyyy{z{zz{z{yzy{zyzyz{zy{yzzzyyyzyz{zzzzz{{zzzyzyzzyz{zzzzzyzyyzzzzyz{{z{{zyzx{yzzzz{z|z{{{zyyzyyyyyzz{z{{zzzzyyyz{yz{{{{yzzzzzzyzyzzzz{{{z{z{zzzzyzzzz{z{{z{zyzzyyzzz{{{|{yzzzzzzz{zz|{zz{zzzzzyzzzzz{|{|zzyy{zzyz{{zyzz{{y{z{zzz{z{{{{{{{zz{{zzzz{z||{{z{{z|z{z{z{|{||{|}{zzzzzzz{{{{{z{|{z{{{{{z|{{z{}|{{zzzzz{z{{{zz{{{{zz{{z{z{{{{{|z{{zz{zzz{{{{{{z{|{zz{zz{{{{|{z{{{{{z{z{z{{{z{{zz{|zzyzy{zzz|{{{z{z{zyyzzz{{z{{{{zzzzzz{zyz|{{zzz{yzyzyyzyy{z{zzzzzzyzzyyzzzz{zz{zzyzyyzxyzyzz{{{zzyzzzzzz{zzzzzz|zzzyyyyy{yzzzzz{yzyyzzyzz{yzzzzzzyyzzzyyz{zzzz{zyy{yzyyy{yzyzzzzzyyyyzyyzy{zzz{z{zyyyzyzz{z{{zz{zyzzyzyzzzzzzzzyzyyzyxyyy{z{y{{zyzyzyy{yz{zzzz{{zyzyzyzzzzzzz{zyyzzzzyzzzzzz{{zzzyzzyz{yzyzzz{{zzzzyzzzzz{{{z{{zyzzzzxzzyzz{z{zzzzzzzzy{{{zzzz{zzyz{zzzzz{{{{y{zzzy{zzz{zz|{{z{{z{zzzz{{z{{{{{{|{{zzzzzyz{{{zz{{{zzzzz{z{{{z{{|{{z{z{|zzzz{z{{||{{zz{{z{z|z|{{{|{z{{zzyz{{zzz|{{{{yzzz{{{|{{{|||{{z{|{zz{z{|{|z{z{{zzzzz{{z{z{{{{z{{{zzy{|{{{{{zyzyzzzzzz{zzzz{zyyzzzyzzzz{z{zz{{zzzyyzzz{{z{z{{{zzzzyzyzz{zz{{zzzzzyyzyzz{{zz{{zzzyyzyz{yzzzzz{yyzzzzzyyyyz{{zzzzzzyyyyy{zzz{zzzzyyyyzzzzzzz{{zyyzyyzyyyz{zz{{zzzyzyyyzy{{zzz{zzzyzzyzyzzzzzzz{zzyyzxzzzzzzzzz{zz{yzyyzy{zyz{zzzyzzzzyyz{yzz{{zzzyzzzzz{{z{{z{{zzzyzyyyzz{{zz{|{zzyzz{zz|z{{zz|zyzzzzzzzz|{{{z{z{yzzzzz{{{{{{|z{zzzzzz{{{z{{z{{{zz{{z{zz{{|{{{{yzz{zzzzz{{{{|{z{z{zzzzyz|z{{{{{{zzy{yzz{||{{{z{zzzzz{zzz{{z{{||{zzzzz{zz{||{||{{|{{y{yz{{zz{{{{{yzzz{z{|{{{{|{|{{zz{{zzzzz{{{zz{zzy{{zy{{z{z||{{z{zyz{z{{{zzz|{zz{zzyzz{{zz{z{{zzzzzyzzyz{zzzz{zzzzzyyyzz{zz{zzyzzzzzyyzzyzzz{{zzyz{zzzzzz{{{{{zzzyyyyyzyz{{{z{zzzyyzzyyzzz{zz{{zzyzyyy{zzzzyz|zzzyyzyyzzzzzz{{zzyyyyzyzzzzz{{zyyzzx{yzzz|zzz{zzzzyzzzyz{z{zzzzy{zzyyzxyyzyz{zzzzzyzyzzyzz{zz{{zz{zzzyz{{{|z{z|{yzzzyzy{z{z{z{zzz|z{yzy{zzzzz{|{z{zzz{z{z{zzz{{{{zzzyyyz{{{z|z{z{zzzzzy{{{{{z{{{{zy{zzy{{z{{z{{zyzz{zz{||z{{zz{zzzz{zyz{|zz{}{{|zz{{z{z{{z{zz{{zz{zzy{yz|{{{{|zzzz{{z{|z{{{|{{{{zz{z{zzz||||z{|{z{z{{{z{z{{{||{{{{zzzy{z{{{{{{||{z{zzzzz|{{||||zz{zz{zz{z{{{{{||{z{zz|y{{{{{{|{{y{zzyzz{z{z{zz{zzzzyzyyyzzzzzzzzzyzzyxy{zz{z{{{{zyzzz{zyz{zz{|z{y{zyxyzyzz{y{zzzzzzyyzz{zyzzz{{zzzyzy{yyy|zyzzzzzyyzyyzz{zzyzzzzzzzyyzyzyyz{z{{yzzzyzzzzzzyzz{zzyzzzzxzzz{z{zzzzyzzyzzyzzz{zz{{yzzyyy{zzz{{z{{z{yyyz{yyx{zz{{zzzyzyzzzyy{zz{z{z{yz{zyzzzzzzz{z|{yzyzyzzzz|zz{{{yzzyzzzzzz{{{z{zzzzzzz{zz{zz{{z{zyzzzzzz{{{{{|{{zzzz{z{z{{{{{{{{{z{z{zzz{{z||{{|z{{zzzzy{{{{||||{zzzzzzz|{{{{{{zzzz{zzzyz{{z{||{{z{{{{{z{{{z{{||{{zzzz{z{|||{{{{zzz{{zy{{{|{{{{{{z{{{{{{{{||{z{{|{zz{zz{{|{{{|{{{z{zzz{{z{z{{{{{|{zz{z{zzz{{{z|zzz{zzzy{{{{{{zzz{zyzyzzxy{zyzzz{zzyzyyzy{zzzzzzzzzzyzyyyzzzzz|{zyzyyzyyxzyzzzyzzzyxyyzyyzy{z{zz{yyzzyzzzy{zzyzyyyyzxyzyyyz{z{y{zzyzyyzzzyyzzz{{{yzyyzyyzyzzzy{zzzzzzyzyzzz{{zz{{yyzyyxyz{{{{zzzzzyzyzzyyzyzzz{{zzzyyyyyzzyzzz{z{zzyzzyzy{{{{{z{{{yzzyyzzzzzzzz{{yzzzzyzy{zz{{z{{zzzyyzyyzz{z{{{{z{zy{yzyzyzzzz{{zzzzzyyz{z{{z{z{zyy{zzzz{{{z{z{{{yz{{zzzz{{{|{|{{{{{z{{{{zz{{{{zzzzz{yy{z{{z{{{zzyzzzy{z{|{{{{{|{{{{{z{{{|{z{{{{{{|{zzzz|||{{{|{{{zz{{z{|{{{z{{{{yzz{z{z{{{{{{{|{{z{z{zzz{z{{{{{z{zzyzz{{{{zzz|{{{zzzzyz{|{{zz|z{zzzzzyz{zzyzzzzxyxzyzyyzzyz{z{zzzxzyxyyzzzzzzz{zzyyzyzxyzzzzzz{zzzzzyyyzzzzyzzz{zzyyyyxyzzzzz{{zzzyz{zyzz{zyzzzyzyyxyyzyy{zy{zzzyyyyzzyzz{zzzzzxzyyyzyyzzzzzzzyzzz{yzyzz{zzzzzzyyyzyzzzz{z{zz{{zzzzyyzyzzzyzz{yzyzxzyyyyzy{yz{yyzzy{yyzyz{z{{z{yyzyzzyxy{z{z{zzzzz{zyyz{zz{z{z|zyzyzyyyz{zzz{{zzy{zzzzzzz{z{{zz{yzzy{zyz{z{{z{{zz{{zzzzz{{zz{{{zzzzz{y{{{z{{z{zzzzy{z{z|{{{zz|{z{zzyyzzz|{z{z{{zyzzzzyz{{{{{{z{{zz{zzz{z{{{{{{{{zzzzz{z|{{{|y{{{{{zzzzz{{{{z{{{{yzzzzyzzzy|z{{{{yzzzyyzz{|{{{z|{zyyzzzz{{zz{z{zzzzzzz{z{{{{{z{zzzzyzzyzzz{zz{z{zzyyzzzzzzyzyz{zyzyzyzzzzzzzy{zzzzyyyzyz{zzz{{zyyyzzzyzzz{z{z{{z|zzyyzyyzy{zy{zzyzyxzzxyz{z{z{z{zzyyzxyyzz{zyyzzz{yyyzzzzz{zy{{zyzzyy{yyzzzz{zz{zzzzyzzzzzyzz{{{zy{zyyzyyzzzyzz{yyzzyzyyyzzyzz{zzzyyzyzzzzy{{zzyzyyzzzzyyyzzzz{{y{zxzy{yzzzzz{{{zyzyyyzz{zz{z{z{yzzzzzyzz{zz|{{zzzzz{zzyz{zz{{{zzzyzyzyyzz{{z{{z{yzzz{zzz|{{z{{{{zzzzz{{yzz{{z{{zzz{zzzzz{z{z{|{zzzzzyzy{{|{|{{{{zz{{z{{{||{{{{{{zyz{{zz{{{zz|{{{z{zzz{zz{{|{{|{{z{zyzz{z|z{|{{z{zzzzy{zzz{{|zz|{yzzzzz{{{{z{|{{zz{zzzz{zzz{{{|{{yzzz{zzz{{{{{{{yzzy{{zyzzzzz{zzzzzzzyzyz{z{zz{{zzzyzyyzyzzyzz{z|yyyzzzyzzyyyzzz{yyzyzzzzzz{zz{{zzzyyyyxzz{{yz{zyzzyyyzzyz{{zzzyzzz{zzzyyz{zyyzzyyyyyyyyyyz|y{zzzyzxyyyzzzz{zz{{zyzzzyyzz|{{{z{{zyzyyyyyzz{zzz{zyyzzzzzyzyzz{z{{zyyzzzzyyy{zzzzzzzyyzyzzzz{zy{z{zzyzyzzyz{z{zz{{zzzzzyzzzz{zz{{{zzzzyz{{z{{z{{{zyy{zzzzzzz|zzz{|zz{{zyzzzzz{{{|zzyzzzyyz{{{{{{zzzyzzzzzz{zz|z{{{{zz{z{|{zz{{z{{{{zzzzzzzz{{{{|{{{zzz{zzz{{{{{||{{z{{yz{z{{z{{{{{|zy{z{{{z|{{|{{{{{zzzy{{{|{{{{{{{zzz{zzzz{{{{z{|{z{zzzzz{{{|{{{|{{zzzzzz{z{z{{|{{{zzzzyzz{||{{{{zzzzzzzzz{{z{{{{zzyxzzyzy{|y{{zz{zzzyyyzzzz{{z|{zzyyyyyy{yzyzz{zzz{yyyzzzz{zy{{{{y{yyzyxzy{zz{{zyzzyyyyyz{zzzz{zzz{zyzzy{zzyzzzzzzyyyzzyzzzzzzzzyzzzzyz{zyzzzz{zyyyzzzyyzz{{z{zzzzzxyyyy{{{zzzz|zzyzzyzyzyzy{z{{zyyzzyyzzzz{zzz{yzzzzzyyz{{z{zz{yyzzzyzzzzzzzz{{yyz{zyz{zz{{z{{z{zzyzyzzz{{y{z{{zzyzzyzzzzz|{zzzzzz{zzzz{{z{{{zzz{yyzzzyz{{z{{z{yyzz{{zzy{{{{{|{zzzzzyz{z{{z{{{{yzzz{zzz{{{|{||zzz{zzyzz|{{z{z{|{{zzzz{{{zz{{|{{zz{{z{{z{{{|{{|z|zz{z|z|z{{{z{z{{z{z{zz{z{z{{|||z{z{{{z{z{{{|{{{{y{{z{zzz{{{{{|{zzzzzyzz{|{zz{{zzzzzzzzz{{{{y{zzyyyzzxyyz{{zzz{{zz{zzyzyz{{z{z{{zzzx{zzy{z{{{z{z{zzzzzzzzz{{zz{z{zzyyzzyzz{{zz{{zyzzyzzyyz{yzz{zzzzzyzyz{yzzz{z{zyyzzyz{{{{zzz{{zyzzzz{yzzzzz{{z{yzzyzzzzzzzyzzzz{yyy{zyz{{zzz|{zyyzyyyyzy{zz{{{{yyzzyzzzzyzz{yzyzy{zzyzzzzz{z{z{zzzyyzzzzzzy{zzzzz{zzyzzzz{{z{zz{yzzzyy{{{y{{{{zzzzzy{z{z{{z|{{yyzzzyzz{z{{zz{zzzy{zz{z{{z{{{{y{z{{zzzz{{{z{{{zz{zzzz||z{zzz{|{|zzzz{zzz{{{{{|z{y{z{{{z|z{zz{|{{z{y{{{z{{{{|{||{zzzz{zzz||{{{||{z{z{{zz||{|{|{|zyzz{{{{y{{{{|{|{{zzzzzz|{{|{|{|z{zyzzzzz{z{{|{{|zz{z{{z{|{}{|{{yyzzyz{zz{{z{{y{zzy{yyyyzzz{zz{zzzzyyzyzyzzzz{{{yzyzzzzz{zzzzz{zz{{zyyzzzz{{yz{z{zyyxzxyyzzzz{z{zzzyzz{zz|zzyz{zzz{yzzyzzzzzzy{z{yyyy{yyzzzzz{z{zzyyyyyzzzzyz{{{zyyzzzzzzz{zzz{zzzzzzzyyz{{zzzz{zzzyyzzyyzzyzz{{zzzyzzyzzzyzy|{zzyyzzzzzz{z{{{{zzzz{zzz{y{yzz{z|yz{zzzzz{z{z{{{{zzzzzyzzz{{|z|{zzyzzzyzy{z{|{z{zzyzzzzyyz{{{zzz{z{zzzzzz{{|zy{zyzzzyzyzzzz{{||z{{zz{zzzzzzz{{{{|zzzz{zzz|z{{{{{|{zzzzz{z|{{z{|}{z{|z{z{zz{{||{{{zzy||{z{{{|{{{|{{z{{zzzz{|{{{{{{{zz{z{{zz{{{{||{zz{{zzzz{{{||{{{zzzzzzz|z{{{z{{{{{zyzzyz{{{{{{{{{z{zzzzyz|{z|zy{{yzzyyyzz{zzz{{zzzyzzxzyzzzzy{{zzzzyzyzyzyzy{{z{zy{yyyzyzz{{|z|{zyzyyxzyzzzzz{zzzyzzzyyy{zzzzz{zzzzzyyzzyy{zzzzzzzzyyyzyzzy{zzz{yyz{yyzyzzzz{zzz{zzzyzzzzzzzy{{zzzyzyyyzzz{z{z{zzzxyyyzyzzzzz{{zyyzxyyzxxzz{z{z{zyzzz{zy{z{z{{{{zzyyyzzy{zz{zz{|zyzyzzzyz{{zzzz{zyzyyzz{zz{zz|{zzzzz{yzz{{z{{{zzzzzyyzzy{|{{zz|z{zzzz{zy{|{{zz{{zyzz{z{zz||{{zz{{zz{zzzz{zz{z{|{yzzzzzzz{{{{{{{zzzz{{z{z{{z|{{|{zz{{{{{zyz{{z{{||zzzyzz{z|z||{{{zz{{zzzzz{{|{||{|yz{{{z{y{z{{z||{zzzz{zz|{zz|{{|zzyyzzzyz{zzz{|{{{{zzz{zz{z{{{{{z|{yzxzy{z{{{zz{zzyyzzzxz{{zzzzzz{zzyzyzzzz{z{zzzzzyzzyyzzzzzy{{zyyzyyyyy{zyyzy{z{yyxyzxyyyzzzzzyyzyzzzxyzzzzzzyzyyzyyyyzzzzzzzzyyyyyzzxzzy{zzyyzzzxyyzzzzzzzzzyzzyzyzyyy{zz{z{zzzyyzyzyzzz{zz{yzzyy{yyxzzyyzzzyz{yzzyyyyzzyz{zzzzyzyzyyyzzzzz|{{zzxzzzzzz{yzzy{zyyyyz{zzzzz{zz{yyzzyyyzz{zz{{{z{y{zyzzz{zz{{{z{zyzyyyyxz{{{zz|{{xy{{zzz{{yzzz{zzyzzzyzz{{z{{{{zzzzyyz{z{{z{z{{zzzz{zzzz|z{|{{|{zzz{{zzyz|{zz{{{zzzzyz{zz{{zz{{|{{z{z{zzz|{{{{|||z{zzzzz|{{{{{|{{zz{zz{{{{{{{{{{{zzz{zz{{{zzz{{{{z{zzzzz{{zz{|{{zyyzyy{yz{{{{z{|yz{zzyzzzyz{{zzzzyxyzzzyzz{zzzy|zyyyyyyyz{z{z{z{zzyzyzyz{{zyzzz{zyzzzyzzz{zzzz{zzzz{yyzyzz{yyzz{{zzyyyyyy{zzyzzyzzzzzyzzyzzzzzzyyyzxzyyzzyyzzzzzyyyzyxxyy{zzz{{yzzyzzzzzzyzzzzz{zyzyyxzzzyzyzz{{zy{yyzyyzxzyz{zzzyzzzyyyzzz{zz{zxxzyzzyyz{{yzz{{zyyyyzzzzz|zz{zzzzzzzyyzzzzzzzz{zzyz{zzyz{{yz{{{zzz{zyzyz{z{{|zzyz{zyyz{zzzz|zzyzyzyzzzzzzz{{{zzzzzz{zyzz{{{z{|zz{{{zz{z{{z{{|{{zzzzyzzzzzzz{{{{zzzzz{zzz{{{{z{{zzyzzz{{{{z{||{|zz{zzzzzz{{z{z|{{zzz{y{zzzz{{zz{{yzzzzz{z{zz{z|{{z{{zzzzz{{zz{|{zyz{y{zzy{{{z{z{y{zzyz{yzz{{z{|{zyzyzyyzzz{zzzzzyxyyyyzyyzz{{zzz{yzyyyyyzyzyzz{{z{yyyyyyzzyyyzz{zzzyzyyyz{{zzz{{zyzyyyyyzyzzz{{{{zzyyzzzzyzzz{{zzyzzyyzyxzzyy{zzzyzyzxyzyyz{yzzzyyzzzyyzzz{z{zzyyzyyxzyzzz{y{zz{zzzyyzyyz{yzzz|zzyzyyyzyzzyyzzy{zzyyzyyyyzyz{zzzzzyzz{yyz{{zzzz{yzyy{yzy{{{z{zz{zzzyzyzz{zzz{z{{zyzzzzzzz{zzz{{{zzyyyyyzzzzz{{zzzyzzyzzyzz{zz{{zzyzzzyzzzz{zzzzzzzzzyzyz{zz|{z{{yz{zzzzzz{{z{{{{{z{zzzyy{{{z{zz{zz{z{zzz{{{z|{{|{yy{z{{{{{{{y|{{|{z{z{zzz{z{z{{z{z{zyz{z{{{{z{{{{{zyzyz{z{z|z{|{z{yz{y{{{{{{{{{{zzzyzzzz{{z{{{{{z{zzyzzzz{z{z{{{z{zyzzzyz{{{zzyzyzzyxzyy{yzy{{{yzzzzyxyzzy{z{{{{zyyyzzyxzz{{zz{zzyzyzyzzyzz{xyzyyzzyxzzy{zz{zzz{yzzyyyyyyyzzyzzzyyzzyxzzzyzyzzzzzzyyxzyyzzzzzzzzzyzyyyyz{z{zyzzzzzy{yyyyyz{{zzz{{yyyyzyzzz{z{zzzyyzzyyzxyzyzzzzzyzzyzzyzxzzzz{yzzyzzzzzyzzzyzzz{zzzyyzzzzzz{z{{zzyzzzyyyy{z{{{{zzyzyyzzyz{{zy{{{{zzz{yyzzzzz|z{zyzzyyyzzz{yzzz{zzyz{zyzz{{zzzz{z{zz{zzzzy{{{z{{{zzzzzz{{z|{|z|{{zzzyzzy{z{||{{z{{z{zzzyz{{{{{{{{yzzzzzzz{zzz{zzz|zzzzzzzzz{{{{{{zz{{z{{{|{z{{{{{zzzyzzy{zzzz{{z|zzxyzzy{{z{{||z{{z{yzzz{z{z{z{{{{z{yzzzy{{{z{z{z{yzyyyzzzz{zzyyzyzyyzzyyzzzy{{z{{yxyyyzzyz{{zzy{zzyzyyzzz{z{zz{{zzzyzzzzyzzzy{{zzzzyyzzyzzzzzz{{zyzzyzzzyz{yyz{zzyyyzzzz{zzzy{z{yzzxzzyzzzyzyz{zxzyyyyyzzz{zzzzzzzyyyzxyy{zz{{z{zzzzzzyzyyy{zz{{zzyzzyzzyzzz{zzzzzxyyyzxyzyzyzzzyzz{yzzy{{z{zzz|yyzzzzzyzzzy{z{{yy{yzyyzzzzz{z{{zzyzzz{z{{{z{z{zzz{zzzzyzzz{z|zzz{{yzzyzzzzzz{{{zyz{zzzzz{{yy{zz{y{y{{z{z|z{z|z{{zzzzz|z{zz{z{{{zy{yzyyzzz{z{{{{z{zzzzz{{{{|{|{{{y{zz{{z{{{{{{|z{zzz{zzzz{{{{{{{{y{z{zz{|{||{{{{{yzz{z{{{zzzzz|{zzz{{zzz{|{||z{{zz{yzz{zz{z{z{{{{zzzz{zz{{zzzz{{zz{yzyyy{y{{{zzzzyyyzzzxzzzz{yz{zzyzzy{yzz{|z{zzzzzyyzzzyzzz{{|{{y{yz{yzyz{zz{zzzyzxyz{zzzz{zz{yzxyyzzzz{{zzyz{z{zzyzyyz{{zz{zzzzzzzyzzyzyz{yzz{yyyzzxyyzzyzzz{zzy{yzyyzy{zz{zzzz{{zyyyyyzzzyz{{zyzyzzzz{zzy{{zyyzzzyyzyzyzzy{{{zy{zzzzyzz{{{zz{{xyzzyzyzz{zz{{{zyzzzzzy{zz{{{z{yzzzzy{z{z{{{z{{yz{{yzzyzz{zzz{{zyzyyzzzzzzz{{{{{zz{zxzzzzzz{{z{zzzzzz{zz{{{{{|{zzzzzyyz{{{z{{z{zzzzzyzyzz{{|{zzzzz{zzzy{{|z{{|{{{zzzy{y{{{zz|{{|{zzz{z{z|||{{|{{z{|{{zz|z{|{z{{zzz{zzz{{zzz{{||{z{z{yzzz{z|{{|{{{zzzzzzz{}z{{|{zzz{zzyzz{zz{{|{zz{{{yyz{zzzz{zzyzyzxzzzzyzzzz{z{zyyzz{yzzz{{{{{zzzzyyzyzyz{{z{yzzyyzxyzzzzz{zzzyzyyzzyzyzzzz{{zzzzzzyzyyz{zyz{{yyzzyyyzzz{yyzyzzyyyyyyzzzz{{{z{yzyyzyyyyz{zz{|{{zz{yyzyzzzzy{{{zyyxyyyzyzz{z{{{zzz{yzzyzzyzzzz{zzzzyyzzzzz|{{{|yzzzzyzzzyz{{z{|{zyyzyyy{{{z{zz{zz{yzz{zzzzzz{zzzzzzyzz{zzz{{zzz{zyzzzzzyz{{z{z{{zz{zzzz{{z{{{{{{yzyzzyz{|{z{z{{zz{yzzzz{{{{{|{{zz{{{{zz{{z{{|{||zz{zzzz{|{{|{z{{zzzzzyz{|{{z{{|{{zzz{{{z{z{z|{{{zz{{{{zz{{{{z|{{{{{z{{{zz{{{z{{{zzzzz{z{z{{z{{|{y{zz{zz{{{|z{{{zzzzz{zzz{{{{{{{{zz{{{zzz|z{zz{{zzyzzz{z{{z{{yyzzzzyyyyyzz{zzz{{zyzzyyzyzzzzzzz{zzyyyyzzzzzzz{{z{zxzzyzyyz{zz{z{zyywyyxy{zzzz{{zy{yyyyzxzzzzz{{yyyxyyyxy{zzyz{{zyxyyxyyzyyzzyzzzyyzyyyzyyyzyzz{yyyxyyyyzzzzzyz{zzzyyyzyzyzz{yz{yzzyyyyyzyzzzzyy{yy{zzzzzyzzzzzz{{yzyzyyxzzzzzz{{zzzyzzyyyzzzzzz{{yyyzyzyzzzz{|z{zyyzzzzyzz{zy{{zzzzz{zyyz{{zz{{yzzzyzyyzzzz{z{{{zzzz{zzz|zzz{{{{zyzzzzzyz{{{{{zzzzzzzzyz|{z{{{{{{yzyyzyz{|{z{z|{zzz{zzzz{|{{yz|zzzzz{z{zz{{{{|{{{zzzz{{zz{{{|{z|{z{zzz{zz{{{z|{{{yz{z{yzz{{z||{{{zz{|zy{z{z{zz|{{zzyzy{{zzz{{z{{{z{{yz{{z{{{{y|{{zzzyzzzz{{zzzzzzyyyyyyxzzxz{z{zyyzyzyzyz{y{yzzzzyzzzyyzzyyzzzz{yzzyzyyzyz{z{zy{zzyyxyyxyzz{z{{zzyyyzyyyy{z{yz{yyyyyyyxyzzyzzyzyzyyxzyyy{yzzy{zzyzyxzyyyzyzyz{yzzyzyxzyyzzzz{{zzzzyzxzzxyzzzz{{zzxzyyyzyyzyzyzzzzyzyzyzyzzzzz{{zyzyzyyxzzzzyz{z{zyzyzzzzzyzyzzz{{zzzyxzz{{zzyz{{zzzzyyzy{{zzzzz{zzzxyyyzyzzzz{zzzzzzzyy{{zzzzz{{zyyy{yz{zzzzz{z{zzzz{zzzz{{|{y{{zzzzyzzzy{{{zy{{zzzzzzzzz{|{{{z{zyzyzzzzz{{{{{|z{z{zzy|{zzzz{|{{{{z{y{zzy|{z{{{{{zzzzyzzzz|||{z{zzzzzyz{{z{{{z{{{{zzzzzz{{{{y{{|zz{y{z{zzz{{z{{zzzyzzzyzyzz{zz{zz{zzzyyy{{z{zzzzyzzyzzyyz{yzzz{z{yzzyyyzyyzy{{z{zzyzzyzyz{zz{{{zzyzxyzzy{zzzyyy{zzzzzyyxz{yzzyz{zzzzzxzzzzz{y{zz{y{yzzyzzy{zzz{zzyzyxyzzzzyyzzzyyyyyyzyxyzzzyzzxzzyxyzyzz{zy{zz{{zyyyyzyzz{zy{{y{zzzzyyzyz{y{zzz{yzyyzyzzzzzyzzzzyzzzxz{zzzzy{zyyyzyzzzzy{z{zzzzzyzzyzzz{zzzz{{{yyyyyyzz{z{z|{zzzyzyzy{yz{{zz{{zzzzzzzzz{{{{{{zz{yyyzzzy{{zzzzzzyz{{zzz{{zz{z{z{zzz{zyzz{zz{{{{zzz{yzzzx{{{z{{{{zz{zyzzzz|{zz{|{zzzzy{z{{{z{{|{{zzz{z{zz{|z{{{|z{z{{zzzz{z{{{{{{{zz{zzzzz{|{z{|{zzzzzzz{z{zz{|z{{{zy{zyy{z|zzz{{zzzyzzyyz|{{{z|zzyzzzzyzzzzy{{zyzyyyzyyy{zzxzzzzzzzyzyzzyzzzzzzyzzyyyzyzyzzz|zyzyyzzzyyyyz{{yzz{yyyzyzzy{zzzz{z{zzyyzyyyy{{zzzyzzzzyyyyyyzzyyzzzzyyyyyxyyyyzy{z{xzzyyzzyzzzyyz{yzzxyyyxyzzzzyzzzyzyyyxyxxzz{yz{{{yzzzxzxyzzyzzyzyzzyzzyxzz{z{{z{yzzyzyyyzz{zz{{{yzzxzyzzz{zzz{{{yyzyyyzz{z{{z{{{zzzzyyz{{z{{{|{{zzzzyzzyzzzzz{{z{yzzzyyzz{zy{{|{y{x{yzzzzzzzz|zyyzzzzzy{zzz|{z{zzzzzy{zz{{{z{{{{zyzzzzyz{|{z{|{{{yzy{{zz{{zz{{{{zz{{z{z{z{{{{{{|{zzzzzzzz{z{z{{{{zzz{zzz{zzzz{{{zzzyz{yzz{{{z{{{zzz{{zz{{{z{{{{{zzzz{z{z{{{|z{{{{zzzyzzzzzz{{{y{yz{zzzzyz{{z{{yyyxyyzyyyx{z{zzzzzzyyyyyyyzzz{yzzzyzxzyyyyyyzz{{zzyyyyyyzyzzzzy{zyzzyxzyyzzzzzzyzyyzzzxyxy{zzy{zyyyzyyzyyyy{yzz{zyyyyyyzyzyzzzzzzzyzyyyyxxzzyyzzzyzyzxyyy{zzyzzyyzyzzyyzxyz{zz{zzzyzyzzyxyzyzzyzxyyyyyyyzy{yyyzzzz{yyyzzyzzzzyzy{zzyyzzyzz{zzzzzzzzzzzzzz{zyzzyz{zzzyyyzz{z{zzzz{zyzzzxzz{z{{yz{zyyzyzzyyz{{zz{{zzzzzzyyyzzz|zzzzzyzyyzzy{{{{z{z{yzzy{zyz{zz{z{{{zzyzyzyzz{zz{z{{zyzz{z{y{zzz{{{|{zzzz{{z{z{{{|z{{{{zzzz{{}{{{|z{{zzzzzz{z{||{{{{yz{zz{yy{{z|zz|{zzzzzyzz||z{z{{zzzy{yzzyz{z{{z{|zzyzzzzz{zzzz{|{zz{y{yzyz{z{z{zzyyyyyyyyyzzzyzzyzyzyyyyy{zzyzzzzzzyxyyyz{yzyzz{zyyxxyyxyzzz{zzzzzzzyyzyyyzzz{{z|zzzzzyzyzzzyyz{zyyyyzyyzy{zzzzyzzyyyyzyyzzzzy{zzzzyzyyyxy{zzzz{zzzzyyyxyyz{zzzy{yzzyyzyyyzy{zz{zyzyzzzyyz{zyzzz{zzyyyyyzxzzzzy{{yyyyzyyzzzzzyzzzzzzz{yzzzzzzzz{{zyzzzzzzzz{z{{{{zzzyyyzzzy{yz{{zzzzyzyyzyz{zzz{zzyxzzyyy{{{zzzzzzzyyyyz{{{{{z{{zzyzzzzzz{zz{{zz{zzzyzz{zz{z{zzz{zzyzzzzy{y{{{z{zzy{z{zzy{|{{z{z{zz|yyyzy{z{z{{{z{yzyzzzzz{{z{zz{zz{z{yz{z{{{{z{z{zzzyzzzz{z{{{{|{zzz{zyzzzz{|{z{z{yzyyzzzzzz{|z{zyyzzzzyz{{zzz{zzyzzyzyzzz{zyyzzyyzyyzzyy{{zzyyzyzyyyxzzzzzzz{zyzzzyyzyzzz{{z{zzzzzyyyzyzzzzzzzzzzzzyyzxzyyzyz{zyzyyyyzyy{zzx{zzyyzyyzzyyzzzz{yzyyyyxzyyzyyzzzyzyyyyzzyxxzzzyzzzyyyzyyyy{yzzz{zzzzyzyyyyyzz{zzzzyyzyzyyxyzzzzzzzyyxxyyyzyzyyzzzyz{zzzyyyzz{zzzzyzyyzzyzzyzzyz{{|zyzzyyzy{zzzz{z{zzyzyyyyzzy{zz{zyyzzzzzzyzz{z{zzzz{yzzzz{{zyyzzzzyyyzzzzzzyz{z{zzzzzz{zzzz|{{z{zz{zzyzzzzz{{zz{zzyzzzy{y{{{z{z{{zzzz{zzz{|zz{{{{zzzzzz{zz{{{|{z{{zzzz{zzz|{{{{{{{z{zzzzz{zz{zz{{zyyzzz{{z{z|z{{{yz{zyz{{z{{{z|{{zyzyzz{yzz{{{{{zzzzyzzzzz|y{{{{z{yzyzzzz{{{zzzzzyzzyyyzyyzzzyzyzyyzyzyyyz{zz{zy{yzzyyzzyzz{zzz{zzzyy{yyzzz{zz{z{{y{yy{yy{zzzzz{zzyzyyyzyzzyzzzzzzyyzyyxyzzzyyz{yzzzzyyyzzy{zzzz{zyzzzzzzyzzzz{{zyyzyxzzyzzzz{{z{zzzzxyyyyz{{z{{{zyzyyyzyzzzz{zzzzzyyyzzzyzzzy{zzzzzzyyyzzzzzyy{z{zyyzyzzzz{zz{{{zz{zyxzz{y{zz{{{yzzzzzzyzz{{z{{zzzzyzyzyz{zz{z{zzyzzy{yzz{z{zz{{yyyzyyz{z{{z{z{{{z{z{zyyzz{{{z{zzz{zzz{{z{{z{y{{zz{{zzzzz|{{{{{{zyz{zzzzz{{{{z|{{zzz{{zz{{z{{{{{{yy{{{z{{}|{{z||{zz{zyzzz{{{{{{|zz{z{{{{z{{{z|{{{{zzzzzy{{{{{{z{zz{zzzzy|{{z{|{{zzyyzzzyz{{{y{{{zzzzyyyzzzz{zzzzzyyzxyxzyzzy{{|{yyzxzyyzzyy{z|{zzzyzyzyyzz{z{zzy{y{zzyyzzzzzyzzzzzzzzyyyzz{yy{zzzzzzyyxxzz{zy{{yyzyzyzxyyy{y{yzyyyzxyzyz{yzzzz{zxyzyzyyzyyzzzzz{zzyyzzxzy{zyzz{yzyzyzyyzzzz{{zz{yzyyzyyyzyzzyzzy{{zyyyyzy{zyzz{{zzzyyyyyyzzzzy{zyzyzzzyy{zzzzzzzyyzyyzzyz{zzzzzzyyzyyzzz{z{{zz{{yz{zzyyy{{{zz{{{zz{y{zzyzz{{{z{z{zz{{zzzz{z{zz{z{zz{zzzyz{{{z{{zzz{z{zyz{{{{{z{{y{z{zzyzz{{{z{{{zyzzzzzz|{{{|{{{zz{zzz{z{{{{{{{|{{z{zz{zz|{{{{|z{zzz{zzzz{|{z{{{{y{zzzzzzzz{|{{||z{yzzz{{zz{{|{|zzzy{zzz{{z{{{{z{zy{zzzyz|{{{{{zyz{yzzyz{z{zzzz{zzyzyzyyz{{zyzz{yzxyzzyzzzzzzzzzzzyyyyyzzyzzzzzzyyyyzzyzzy{zzyz{zyyyyyyyzyzzzzzz{zzzyyzyyzzyzz{yzz{zyyxy{z{z{zyzyzzyyzyzzzzzzzzzyyzxyzzyyzzzyzzzyzzyyzyyzzy{zyzzyyzyyzyzz{z{zzzzzyyyzyyyzzyyzzzzyzyyyzyzzyzyz{{{yzzyzzzyzzzz{zz{yyyzzyyzz{zyzzzzz{zyyz{zzzzzy{z{zyzzzyyz{z{{zz{zzy{zzzyyzzy{z{zzzzzy{zzzyz{{z{{zzzz{yyyzz{z{z{{|zyzzz{zy{{{{{{z{yzzyzzz{{{{{z{{|zzz{{zzz{z{{{{{{{zyyzyzzz}{{{{{{zzz{z{{zz{z{{|{{|z{{zz{zy{{{|{z{|z{{yyzz||z|{|{{zzz{{zz{{z{{{{{{{zz{{zyz{{|{z{{{zzzyzzz{z{z{{{{{{{{{zz{zzzzzz{{zyz{zzzzy{{{z{zzzyyyyzxzyyzzzzzy{zzyyyyyxz{zzzzy{z{zyyyyyzzz{zz{{{yyyyzyyyzyzzz{zzyzyyzyyzzz{{zz{zyzzyzyyyzz{y{zzzyzzyzzyy{yyyy{{zyyyyyyzzzzzzyzzzyyyyyzyzzzzzyzzzyzyyzzyyzzz{zzzzyzzxzyyyzzzzy{{yz{zxyyyzyzyzzz{z{zzyyzxyzyyzz{yzyyyzzyyz{z{zzz{zyyyzzzzzzzzzz{{yyzzyyyyz{zz{zzzzzzyzzzyzzzz{yz{zzyyzyyyyyz{z{z{zyzzzzzzy{{z{y{zzzzzzz{z{zzzzzzzzzzzzzzzzz{|{{{zz{{zzyzzzzz|{z{{zyyzzyzx{{zzzz{zzyzy{zzz{|{zz{|{{zyz{z{{{z{|{{{{{{zzz{{{z{z{{{{{{yzz{zzz{{{{|{{z{{y{zzzz{zzz{{{||zz{{zz{{|{z{z{zzzzzyzzyz{{{z{|z{zzzy{zzy{{|{z{zzzzyyzyyzzzzzzz{{zyzzyyyzzzzyzz{{zyzyyyxzzyz{{z{zzyzyyxzyz{{yzz{yzzzzyzyz{zzyzz{yxzyxzyxzzyzzzyzzyzyzyyyzzzzzzzzyyzyyxyxyyzzzzyyzyzyzzyyyzzzyyzzzyyyyyyyzzzzzzzzzyzyyzyyzy{zzzzzxyzzzyyyzzz{yyz{yyyyyyyzyzzyyzzzzyyyyzyyyzyyzzz{zyzyzzyxzzzyzz{{yyzyyzz{zzzyyz{{zyzzyyyy{zzzzy{zzyzzxzzz{zzzzz{{yz{yzyzy{{{zz{{{zzyyzyyy{zyzz{{zzzyzyyyzzzzzzzzz{yz{zzzzz{zzz|{{yzzyyzzyzz{zy{{{zyzzzzzzzz{zy{{{{zzzz{zzz{zzyz|{{y{zzzzzzz{{|zz{|zyzzyzzz|z{{|{z{zz{zz{zz{z|{{{{yzzz{{zzzzzz{{{{zzzzzzz{{{z{{{|{z{zzyz{zz{{z{{{|zzyzyz{z{zz{zzz{zz{yzzzyzzzzyzzyzzxyzyyyyzzzzyz{yyxyyyzyzzzzz{{zzzxyzzzyzzzy{zzyzyzyyyyzyzzzzzzzzzyxyyyyzzyyzzzzyyyxzyyxyzzyzzzyzyyzyyyzzy{zzyzzzyzzyyyyyyyzzzyzzyyxyzyyzzzzyzyzzzyyyzyzzz{z{zzz{zzyyyyyzyzzzzzzyyxyyxyyxzzzy{{zyywzyyyxz{zzyzzzzyzxyzyzyyz{{zyz{zzyzzyzzzzzzzyzzyyzyxzzzzz{zzz{zyyxxzyyzzzzzz{zzzzyzzyyzzz{yy{zy{yz{zyy{yzzzzzy{yzyzyyzzzzzz{{z{zyyzzyzzz{|{{z{yyzyzzzzzzz{z{{{{{z{zyyzz{{z{z{zzzz{zzzy{{{{z{|{zyyzyz{z{zzzzzzz{{yzz{zzz{{{{{{{{z{zzzzzz|{z{zz{{zz{zzzz{{{{|{{{z{zzzzzyy{z{{z{|zyzzzzzzz{z{|{{{zzzzz{zzz{zzzz{{zzzzyzzy{z{zzyzyyzyzzyyyyzyyz{{{yyyzzyyx{zzzyzzzzzyyyzzzyzzz{{zz{zzzzyzzzzzzzy{z{zzyyzzyz{zzzzyzzyyzzy{xyzyzzzzyzyzzyyzyzzzzzyzzzyyyyyzyyyzzz{zzyzyzzyzyyyzzzy{{zyyzyyyyyzzy{{{{zzzzyzyzyzzzzzz{yz{yzyyyxzzzyy{yzyxxyyyyz{yzz{{{yzyyyz{yzzzy{zz{yyzzzzzzzz|zyzzzyyzzyyyzzzzzzz{{zzzzzzzyy{zzz{{zz{yzyyzyz|{z{z{zzzzzzzyyz{z{zz{zzzyyyzzz{zzzzz{z{yzy{y{yzz{{zz{zzzzzz{zyy{z{{z{|y{zzzzyyz{{z{{{{|zz{zzyy{{zzz{{{zzz{zz{yzz{{{{{{{zzzzzz{y{{{{{}zzzz{{z{z{{{{{{|{|yyz{yz{{z{{zzz|z{z{z{zzzz|{{{{|{zzzzzzy{z{z{|{|zzzzzzzyy{z{{{{{yzyyyzzzz{zz{{{zzzyxzyyzyzyzyzy{yyyzyxyx{zzzzzzzzzyxyzzz{{{y{{zzzyyyyyyyyyzzyzzzzzzyyyzxyzzzzzz{zxzzxyzyyzzzyyzyzyyyyyy{yzzyyzzyzzzxyyyyyyzzzzyzyzzzyyzyyyzzyz{zyyzyyyyyzzzzzzyz{yzzxyyzz{{zzz{zyyzzzzyyyzzyyzzzzyyzzzzxyzyz{zzzyxyyyyxyz{zzzzzzzzx{zyyyz{zzzz{{yzzzzzy{zzzy{zz{zzyzxyzzzzzz{zzzyz{zz{zyy{zz{{{{zzzyzzzyz{zzzz|zyzzzzzzzzz{{zzz{zzzyyzzzzz{z{z{{zzzyzz{{{zz|{z{{z{zzzyyz{{{zz{|{{zxyzzzz{{{{{{{z{z{{zzzzz{{{{{{{zzzz{yz{z{{|{|{|{y{zzyz{{{{{{|{zzzz{zz{z{{z|z{z{{{z{zzz{{{z{z{|zzzz{zzzzz{{zzz|{zzzyyzzzyzzzz{y{yzzyyyy{zzyzy{y{yzyzyyzxzz{zzz{{zzzyzzyz{zzzz{z{{zyyyyyxyyyy{z{zzyyyzzyxzyzzzzzzy{zzyyyyzzz{zzz{yyyyyyyyzyzzzz{yzyyyyyyyzz{zyyzzyyzzxyxyzzzyyz{zyyzyzyzyzzzyyzzzyyyxyyyzy{zzz{zzzzyyyyzxxzz{{z{{zyyzzyyyyzyzzzzzzyyzyzyyy{zzz{z{zzyxyyyyz{z{{z{|yyzyyyyyzz{yzzz{zyzxzyzz{{zz{z{{yzzzzzzzzzz{z{{zyz{zzyzzzzz{z|{yzzzzzyzzzz{{zz{zzy{zzzzz{{zzzzzzz{zzzzyzzz|{{{{{zyzzz{zz{{y{zz|{{{zzyzzz{z{{{z|z{zzy{yzy{{{{z{zz{zzyzzzz|z{{{{{{{zz{zzz{z|{{{{{|{zzzzzz{zz{|{z{{zzzzz{zz{{{{{{z|zzzzz{zzzzz|{{|{zzzzyyyzz{z{|{z{{zzzzzzzz{{{z{{zzy|zyyzy{zy{zzyzzzzyyyyyyzzyzzz{zzyxyyyzzyy{yyz{yyyy{yzzzzzyzzzzzzyzyyyyzzz{zzyyzzzyxyyzyz{zzzz{yzzzyzzxz{{zz{{zzyzyyyyzy{{yzzzzyyyzyzyzyyzzyzz{yxyxyxzyyyzzzzzyzyyzxyyzyzzy{{zzzyzyyyzyyzzyz{zzzzzyyyzyzzzyzzy{zyyxyyxyyzyzzzzzzyyyzyyzyzyzzy{zzyyyzyzyy{{yzzz{yyzzzyz{{z{zzz{zzzzxyzyz{z{yzz{zzyzyyyyxy|zzz{{{yyzzyzyzzy{{zzz{zyzzz{zyzzzzzz{{zzyzyyy{zz{{z{{{z{yzzyzz{{z{z|{z{zzyzyyyz{z|{{{z{zzyzzzzzzz{{z{{zz{zzz{yzz{{z{{{{z{zzzzyz|{{{{{{zz{{zyzz{{{|z{{z{yzy{{|{zy{{{||{z{zzzzzz{zz{z|z{zzzzzzzzy{{{{zz{{y{zzzzz{{z{z{{z{z{zyxzyz{zzzz{zyyzzyyzwzzyzzyzzzxyyyxzyzzzzzzyyzyyyyyyyyyzzz{zyzzyzyyxyyyzz{zzzzyzxzzyy{zz{zzyzzyzxyyzyyyzyzzzzzyyzzzyyzz{zyzzzyzzyyyyyyzzzzzzzxyyyzyyzzzzzyzyzzzzzyzyzzz{zyzzzzzyyyyxyz{zzyzzzzyyzzyzyyzzzz{yzyyyyzyzyzz{zz{{{zyyzzzyyzzzzzzzzzyyyxzzyyzzxz{z|yyzzyzyyzzzzzzz{z{zzyyyyyz{z{z{{zzzyzyzzz|{zzzzzzzzxyzzyzzzzzz{zzzyzyyyyzzzz{zz{zyzyzzzzy{{|z{|zyyz{zyzz{{{{z{{{zzz{zyzzz{{zzzzzzyzz{y{z{{{{{{zzzz{{z{z{{{zz{z{|{zzy{z{zz|z|{{|z{zz{zyzy{z|{z|{{{zzzzzzzz{z{{z{|{{z{zzyy{|{{z{{{zzyyyzzy{{zzzzzzzzyzyyyzz{zz{z{y{zzzyyzyzzzyz{zzz{zzyyzz{zz{zzz{yyzzyyyyz{zzz{|{yz{zzyyyyzzz{{{zyzyyyyyxzzz{yzzzzzyyzyzz{{{{y{{zzzzzyzzz{zzyy{zz{zyyyzyyzzzyzzz{yyzyxzyyzzzz{zzzyzyzzyzyz{{zzz{zzzzyyzyyzz{{zz{zyzzzzzyxy{yzzz{zzzz{zyyzzz{{z{zzzyzzzyyyzzzzz{{zzzyzyzyz{zzzyzzz{zyzzyzyzzzz{|{{zxzzyzyy|zzzz{zzzy{yzyzzz{{zzzz{zy{zzzzzzzz{z{{{zyzzzyzzz|{{zz{{zzzzyyyzz{{{z{{{zzzz{zzyz{{z{|zzzzz{zzz{z{zzz{|{{yzz{y{y{{zz{|{{{zzz{{{z{{|{{|{{{z{zz{{{z{z{{{{{|yyz{{{zz||{{{|{{yzz{{zz{{{{|{{{{zzz{zzzzz{|{{|{{z{z{{{{{zzz{|{{{zzyz{yzz{z{|{{{{zzyyzzz{z{{z{{{zzyyyzzz{{zzzzyzzyyzyzyyyzz{zzz{zyyyyyzyzzzzz{zzzzyyyyzy{zz|zz{zzxyyyyzzyz{zy{zzzzy{xzyxzzy{y{zzyyzzzzzyyyzzzzzy{yzyzyyz{zzzz{z{zzzyyzxzyyyzyz{zyyzyzyzxz{{zyy{zyzyyxyyzyzz{{z{yzyyyyyzzyz{yzy{zzyyyzxyzzzzzzzzzy{zyxyyyy{zz{zz{yyzyzyzyzzzzzz{zzzyzzyyyzzzzz{{{zzzzzyzyz{zy{yz{zzzzxzyzy{zzzz{z{zzyzyzz{{zz{zzzzyzyyyzy{z{z|{{{zzyzyzyy{{zzyz{|zzzzz{zzzzz{{{{{zzz{zyz{{z{{{{{|yz{{zyzz{zzzzz{{{zzzzy{z|{{z{{{{|yzzyz{{z{|z|{{|zzzzzz{zz|z{{{{{zy{yzzzz{{{z|{{{{yzz{z{zz{{z{zzzzzz{{zzz{{{{y|{{zzyzzzzz{{{zz{{{{|{zz{zz{{{{z|{{z{zzz{zzz{{{zzzzzyyyzyzyyzzzyz{{zzyzxxzzzyzzz{zzzzzyzzyyzzzz{z{zzyyzyyzyzzyzzyzzz{zyyzyzz{zzz{zzyzyzzyyyzzyzz{{zzyzzyyyzyyyzyzzzzyzyyzyxyyzzy{zzyyyyyxyyzzzzzzzzzyzzzyyyyzyyzyzzyyzzyyyyzzzzzzz{zyzzyzyyyzzzzzyzzzzzzyzyzzz{z{{zyyzzzzyyyzzzz{z{yzyyzzyzz{zz{z{zzzzzyyy{z{zzzyzzyzxzxyzzz{z{zzz{{yzyzyyz{z{zz{{zzzyzyzzzzz{{z{{{{zyy{yzzzzzzyz{zzyyzz{yyz{{{{{z{zzy{zzzzzzz{z{{|yyzyyzzy{{{z{{{{zyzz{zzy|zz{{z{{{zzz{zzzz{{zzzz{zzzzzzzzz{{{{{|{{zz{{yzz{zz{{{{{zyyy{yz{{{{{{{{{{{yzzzyz{{{|z{{zzzzzzzz{z{z{zz{|zy|zzyzyz{z{z{{{{{zzzyzzz{{{{zzyzzyyyyyxy{zzz{zzzyxzzyyyzzzz{z{{zzzyyyyyzzzz{{{zzyzyzyzyzy{{yz{{yyyyyzyyzyzzy{zzyyyyyyyyxzzzz{{yzyzyyyyyzzzyzzz{zyyxyyzxyzyyzz{yzyzyyyyyzzzzzzyyzzyyyyxyyzz{{zzzzyzyyzzyzzzzyzzzzyxzzyyyzyzyzzyzyzyyyyzzyzzzzzzzyyyzzzzzzz{zzzzzzzyyyzzyz{zzzzyzzz{yzyyz{{zzzz{{zyzyzyyzzz{zzzzzyzzzzyyyzz{{z{zzzzzz{zz{zz{{{yzzzyyzyyzz{{yz{zzzzyyzzzzy{{{z{zzzzzzzzy{z{{z{zz{{zzzzyzzy{|{{|z{zzzzy{zzz{|{{{|{{yz|{zzzzz{z{z{{{{{zz{zz{zz{{{z{{zzzz{y{y{{zzz{zzzzzzyzz{z{{z{{||zzzxzz{zzz||{{{{{{{yzzzy{{|{{zz{{zyzyyyzzzzzy|{{zzyyzyyyzzzzz{z{zyzzyzyyzzzyzzz{zyxxyzyxzzzzzz{z{{zyzyyyzzzzzzzxyxzyyyyyzyzzz{{zyyzyyyyy{zzzyzz{zyyxyyzxzzzzzyzyzyzzyyyyzz{z{zzzyzyzyyzzzyyzz{{{zyzzyyyyyzz{zzzzzzzzyzxyz{{zzyzzzyzyyxyyzzy|zzz{yyyzzy{zyzzzzz{zyzzyzzyxz{y{{zz{yyzzyyyyz{yzzz{{z{yxzyyzzzy{zz{{zyzyyyzzzzzzzzz{zzzzzz{yy{{{zzz{yyzyyzzz{{{{z{z{zyzzyzzz{{{z{z{z{{zzzzyzz{{zzz{{{zzzzzzzzzz{zyz{x{zy{zzz{|z{z{{z{yz{zyxz{|{zz{{{{z{zzz{{z|z{{{{{zz{zz{zyz{{{zz{{{zz{zzz{z|{{{|{{{zzzy{zzz{z{{||{zzzz{yz{z{{z{{||zzzzzyzz{z{{{{{z{{{xzyy{{{z{z{{{|{yzzzzzzzz{{{|zzzzzxzyz{zz{yzzyyzyzzyxyyzzzyx{zz{yzzxyxzz{yzzzzzyzyzyzyyzzz{zzzyyzyyyzyzzzzz{zzyyzzyyxxzy{zyzz{yyyyyxzyy{zzz{{zzzyzzyyyz{zzzz{yzyzzyyyz{yy{yyzyzyzyxxzyyzzyyzzzzzyzyyyzyzzyzzyzyyzzxzyzz{zzyzz{zzzzyyyxzyyyyyy{zzyyyyyyyyyzzzzzyyyyzzyyyzzzzz{zzzzzzy{zzzzyz{z{zyzyxyzyzzzzzy{zzyzyyyzy{{zzzzzzzzyxzyzzz{zzz{zzzyzyzzyy{|{zz{{z{yyyyyxzzz{z{zz{yyzyzzyzz{z{zzzzzzzzzzzz{zy{zz{{zyzzzyyyy{z{zz{z{zzzy{zz{z{z{{{{zzz{{zyyz{zz{|zz{zzzy{zz{{{|{{|z{zyzzzzz{{{{z{|z{zyzyzz{zz{zzz{|zzyy{zzy{zzz{{{{zzzzyzzyz{yzz{{zzzzyzzzyy{zzzz{zyyzyxyyyy{zzz{zy{yyyyyzzzzzyyz{zyyyyyxyyyzzzyzzzyzzzyzzyyzzzzzzzzyzzyyyyzzzzzzzz{yyyyyzyzyzyzzyzyzyyyyzyyzyzyzzzxzzyzxyyyzzzy{zzzyzzxyzzz{zzzzyyzyyyyxyzzzyzzzyzzxyyyxxyzzzyzzyyyyyyyyyyyz{yz{zzzyyzzxxzzyyyyyz{yzyyxzyzzzyyzz{zzzzyzzzxyzzzyzzzzyyyyyyzzzzzzyyz{yyzyyzy{z{zzz{{yxyyyzzyz{zz{z|zyyyzzyyyz{{zz{{y{yyzzyyyzyyzyz|zzyy{yxzyzzzz{{{yzzzzyzzy{z{{{z{zzzzy{z{{{{|zz{{{zzyzzzyyz{z{z{|zzyzzzzzy{{{{{z{z{zzzzy{{{zzz{{{{{yzzzzyyz{z{z{{{zzzzyzzz{z{z{{|zzzzzyz{{|z{zzz{{{{zzzyzz{z{{{{{{zzzzyzyzz{zzz{{{{{yzzzzyz{zz{{z{yy{x{yyz{{zy{zz{yzxxyxyyyzzyzzz{zzyzzyyy{zz{z{{z{zyzzyzzzzyz{z{zyzzyzyyyyzz{z{{zzzyyyzyyzzzzzzz{zyzyyzyzz{yyz{zy{z{yyyzzzz{{zzzzyzzyzyyyyyzy{zzyxyyxyyzyyz{zyzzzzyyyyzxz{zzzzzzzzzzyzxyyz{yzz{{{yyyyyyyzz{yyzzy{zzzzyyyzyyyzzy{zzyyzyyzyzy{{zy{{zxzzzzzzyzzzzz{zzyzyyy{zyzyyzz{{zyzzyyyz{zzyzz{yyyzzzyyyzyz|z{{zzzzyyzzy{{{{z{{{yzzyzyyzzz{zz{z{yzzzzzzzyzz{zz{zz{zzyz{{{{zzz{{zzyzz{yz{{{{|{zzz{zyzzzyzz{{{{z|{{yzyy{z{|{zz{{{z{zz|y{z{{z{{{|{{{zzzzyzz{{{{zz{|zzzyz{zzz{{{{zz{{{z{zzz{{z{|{{{z{{zy{zzz{{y{{{||{y{zzzzyz{z{z{zz{zzzyxzy{z{{z{{zyyyyzyyyyzzyz{z{zzyyyzyyzzzyzz{zzzyyzyyyzzzyzz{zzzzyyyxyyz{{zyzzzz{zzyxzyzzzzzz{y{zzzzyyyz{yy{zyzzzyzyxyz{zyyzzzxzyyzyyyzzzzyyy{yyyyyzyyzyzz{zzzzzyy{zyxzzzy{zzzyzyyyzyzyzyz{yyyzyzyyyyyxzzzzzyyzzyzyyyyz{zzzzzzyzyzyzyyzzz{zzz{zyyyyyyz{yzzzzzzzzzzzz{z{zzzzy{{zz{zzyzz{z{z{{{{{zzyzyyzz{{z{{{{zy{zz{yyz|z{z{z{z{zzyyzzz{{zzzz{yzyyz{yzzz{zy|zzzzzz{zzxz{{||{{zzz{zzyzzz{zzz{{z{yzyzyzzzz{{z{{|z{zzz{{zz{z{zz|zzz{yzzzyy{{{z{{|z{{zz{zz{{{{y{zzyzzyzzzzzzz{{{z{{zz{{{yz{yz{zzz{zz{zzzzzzz{{zz{{{{{zzzzyzz{z{zzzzy{yyyzzzzz{{zyyyzyzzyyyy{zzyzz{yzyz{yzxzzzzz{z{{yyyxyxy{zz{zz{z{y{yyyzz{z{z{zzz{yzyxyyzy|zyzzz{{zzyzzzyzzzz{zzzzzzzyyyyzz{zzzzzyzyzzzyyzyz{zzzzyxyzzzzzyzzzy{{yzyyzyxyzzzzz{{zzzzzyxyyyzzzyzyzzzzzzzyyzyzzzz{zzyzzzzyyyx{zzyzz|yzzyzzzzz{zyz{{{{yzz{yzyzzzzyz{{zyzzyyyzzzyzzz{{zzyyzzyzzzz{z{z{{zzy{zzyzzz{zzz{yzzyzzzyyz{{z{zzyzzzzzyz{{{{z{zz{zy{zyzyz{|{{{{{zzzzzz{zyzzz{{z{{yzzzzyy|{{{{|{|{zzzzzzyz{{zz{{{zzzz{{{zz{z{{{{{{zzzzzzzz{{{|z{{{{z{{zzy{y{{{{|{zyyz{yzzzz{zzz{{{z{zz{z{yzz{z{{|{zyzz{z{{{z{{{|{yzzzzzzz|{{{z{{{zzzzyyzyz{zzzz{yzyyxyyyzzzzzzzyzzzyyzyyzzyyyz{zzzzyyyzzxzzzzzz{zyzyzyzyyyzzyyyzzzzzyyyyzzzyz{zzzyzyyxyyyxzy{z{{zzzyyyyyyz{zyyzzzyyyyyzyzzzzzy{zzxyyyzxyxyzzzzz{{zyyzyzyyyyzzzzzzyzzyxyyyyyzzzzzzyzyzyyyyzzzzzzzyzyzyzyxyzzzzyzyzyyzyyyyxzzzzzz{{zyyyyyyxzzzzzz{zzyyzyzzzzz{zz{zzzzzyzzzyz{z{{z{z{zzyy{zzz{z{{{zz{zzzyzzy{yz{zz|{z{yxyxzzyz{zy{{zzzzy{zzzzz{{{{z|zzzzzzzy{zzz{z{{zyyzzzzy{{z{{{{{zyzyz{zy{|z{z{{yzz{zzz{zzzzy|z{{{z{zyz{z{{{{{{zz{zzzzzzzz{{{z{z{zy{{zzzzz{{{z{|{{zz{zzzz{z{z{||{{zzzyyyyzzzz{{{|zzy{zyz{zz{z{z{zzyzyzyzzzz{zz{zzzyzyyz{xyz{yzzyzyyxyyxzzyzyyzzy{zyyyzzzxzzzzzz{zzzzyzyyzzy{zzzzzyzzyzzyxyzzzzzz{zzzyyyzyyyzzxzzyyxzyyyzzzzzyzzyyzyzyyxyyzzzyy{z{{yyzyyyyyyzz{zzyzyzyyxyzyyyzz{zzzyzzzyyyzyzzzz{zzxxyzzzzzz{yyzzzyzzyyyyyzyz{zzzzyxzyyyyxzzzzzz{{yyyyyyyzzzzzzzz{zzzzyzyzz{yzz{z{zzzzzyzzzzz{{z{zzzyyzyzzyzyzz{zzzzyyyzyyz{zyz{{zzz{zzzyzz{{zz{z{{zzzzzyzzz{zz|{zyyzzy{zz{{z{{zz|zyzzyyzyz{zzzz{z{zzyzzzy{|{{{{|{zy{z{{zzzz{zz{|{{zzzyzzyz{{{{{{{{z{zzzzz{{{{z{{{{zzzzzzz{|zz{z{|{{yyzzzz{{z{{z{{zzzzzzzzz{y{{{{|zzzzzzyyzz{{{{z{zzzyyzyzzyz{zzz{zyzyyxyxzyyyz{z{yxyzyyyyyzyyz{zzzyzyyzzzzyzzzzzzyxzyyyxyyyzzzzyzzzxzyzzyyy{zzzyzyzzyyyyxyzzzyzzzyyzxyyyyyzzyzzzzzyyyyyyyzyzyzzzzyyyzxxxyzyyzyzzyyyyzyxxzyyzyy{zzyyyyyyyyzyzzyz{{yyxyyyyyyzzzyyyzzzzyyyxxyzyyy{yzyyzzyyyyzzy{z{yz{yyyzxzxzzzzz{{z{yzyzyzzzzzzz{z{zyzzyxzyzzzzzzzzzyyyzyxzzzzy{{zzzzzyxzxzz{zzzy|zzxzz{yzzz{zzyz{zzzzzz{yzz{z{{z{{zzzzzyzyz{{{{z{{zy{zzzzzy{{{{{{{zzyzzzyz|zz{{z{{zyzyzz{{z|zz{{{z{z{zy{zy{{zz{{{{zyzyzyzzz{{{{{zz{z{yzzyzyzz{{z{zyzzyzzyz{{|{z{|zzzzzzyzz{{zzz{{|zyyyyzzzyzz{zyzzyyyyyyzyzzzzzzzzxyyyyyyyyzzzzyyzyyyyzyyzzzzzy{{zzyyyyyyyzzyzz{{zzyyzyyyyzyyzyzyzzyyxzzxzzyyzzzyzyyyyyyzxzzyyz{z{zyyzyyzyzyzzzz{zyzyyxzxyyyyzzyzzyzzyzyyyzyzzyyzyyyyzyyxzyz{zzzyyyzyyyxzxyy{zyyzzzzyyyxzyyz{zzzzyzzzyywyyyzzyz{zzyyzyzyyy{zz{{z{zzzzyyyyyz{zzyzz{zyzyyzyzz{zzzzzzzyzyyzyy{zz{zzy{zz{zzzzyzzzz{{{zzyzyzzzzzz{zz{zzzyyzzzyyz{z{y{zzzzzzzzzyzz{zz{{zzzzzzzzzzz{zyz{{zyzzzyzyz{{{{{zzzyzyyzzz{z{{z{{{zzzzy{z{{{{zz{y{zyzyz{{z{|z{z{{{{y{{zzzyz{zz{z{{zyzzz{z{{zzzzz|zzz{{zzzzz{{z{z|{{zzyyzzzy{{yzz{{zzyyzyyyxzzyzz{{zyyyyxyyz{zzzzzzyyyyxxyxyzzyzz{zyyyyzxyz{yzyzzyyyzyyyyyzzzz{{zzyzzyzzyyyzzz{zzzzyz{yyxzyzzyzzzzzxyzyzzyxzzzyyzzzzzyyxyyyzzzyzzyzyzzzyyzyyzyzzyyzyyyxzyyyyxyyz{zzxzyyyzyyyyz{yzzyzyzzyyyxzyyzzz{zzzyyyxyzzzzzzzy{zzyyyyzzyzzzyzz{yyzyzyyxzyzzyzzyyyyyyyyzz{yzyzzzzyzzxyzzyz{zyzzzyyyxzyyyzzzzzzzzyzzyzyzyy{zzz{zzzzyzzyzz{z{{yzzy{yyzzzy{zzzy{zzzz{yzzzyzzzz{{{zzzzzy{zxz{z{{z{{zzzzzzzzzzzz{{{{zyyzzzzzz{{{z{{zzz{y{yzzzz{{z{{{{{zyzyyyzzz|z{z{{zz{y{zz{{{{{{{zzyyzzzzyyzzy{zzz|{z{z{{{zzzz{z{{{zz{yyzzzzz{z{{{{{zzz{yzxzz{{{z{{zz{yyyzyz{yzzzyzxzxyyzyyzzzyzyzzzxxyzyyzyzzzz{zzzzyyzyxyzyzyzzzzzzyyzyyyyyyzyzzzzzyzyyyxyz{y{zzzzxzzyyyyyyzyy{zzyy|yyyyyyzyzyzzzyzzxyyyzyyzzyzzzzxxyyyyxyyzyyzzzyyxxyyyyyy{y{yzzzyyyyyyyzzzzyzzyzzyyzyyyzzxyy{zzz{yyyyzzyzyzyzz{zzzyzyyyzz{{zzz{zyyyzzyyzzz{zzzzzzzzyyzyzzyzzzz{zyyyzyyzzz{zz{{{zzzzzyzzyz{zz{{zzyzyyzzxzyzzzz|{zyz{zzyzzzzzyz{y|zzzyyyzzz{{z{zzzzzzzzyz{|zzzz{{zzyzyyxyz{|{zz|z{yzzzzzyz|{{{{{{zz{z{y{zz{z{{{zzzzzzzz{zy{{zzz{{zzzzzyz{{{{{z{{{zyzzzzz{{z{{{{{zyzy{z{zzz{{{{{zzzzyzzzzzy{{z{{{zzz{yyzzxz{{zzz|zzzzyyyzzyz{zz{zzyyyzyyyyzz{xyzyzyyyzyyyyzz|zzzz{zyzyyxxxzzyzyzzzzxyxyyyzzzz{yzz{yzzyyyzyzzyzz{zzyzyyyzyyyzyyyzzzzzzyyyzx{zzzzzzyzxxyyyxzzzyzyzzzyyyzzyzxzzyzzzz{yyyyzyxxyzy{yzzzyzyyyzyxzzzzzzzzzzz{xyzzyzyzzzzyyzyyzyxyyz{zzyz{yzyzz{yzyzyzzzz{{yxyzzzyzzy{zzy{zzzzyyzyz{{zyzz{yzxyzyyyzz{yz{yzyyzyzyyyz{zzzzzzy{xzyxyzzzzzzzzzzzzyzyzyz{{zzzz{yzyzzzz{z{{{{{z{zyzzzyz{yzyzz{{{{zzzyzyzz{{zzz{zzyyzzzyz{zzz{z{zzzz{zzzzz{z||{|z{zzzzzz{z{{{z{zz|zyzzz{zz{{{{{{{{zzzyzzz{z{{z{{z{zyzzyyz{y{{zz{{zz{zzzzy{zzz{{{zz{zzyzzyy{z{{z{z{y{zzyzy{{{zyz{zyyyyzxzyyzyy{zzzyzyzzyyyyzzzz{{{{zzzyxyy{zyzzz{{zyyyzyyyzxz{zzz{yyzzxxzyzzzzzzzzyyyyyyzyy{zzzz{zzy{yyzyy{yzyyy{{zzzyyyzzzyzzy{z{yyyyzxyyzzzzzzzyzyzyxyyzxzzzy{{zzzzzxyzyzzzzzz{zzzzyyyxxxzzyyyzzx{zyzzyy{{z{{{z{zzzzz{zxz{yyyzz{{yyyzyzx{z{zzz{{yzzzyyz{zzzzzzzzyyzyzyzyzzz{{zzzzzzyzxzzyzz{z{{|zyyzzzzy{zzzzz{{{zzyzzzz{{{zyz{{zyzzyy{{zz{zyz{{zz{zzzzy{z{{zz{|zyzzzzyz{{{{|{zz{z|zzzzz{{{{{||{zzzyy{zzz{|{{zz|{zzzzzzz{|{{{{z|{zzzzyy{{z{z{z{|zzyzzzyz{{{z{z{|{z{yzzzzzz{|{{{zzzzzzy{{z{z{{{zz|zzzyzyzz{zzzzz|zzzzz{zzzz{{z{z{yzzxyxzyyzzzzzzzyzyzzyyyy{zz{zz{{yyyyyxyzzyzyzz{zyzyyyyyzzzzyzzzzyyxxyzyzzzzz{zyzyzyyzyxzzzyzz|zzzzyyzxyyzzzyzyyyzzzyyxyzyzzzyz{yyzzyyyyyyyyzyzzzzyyyzxyzyzzyzyzyyyxyzyxyzzzzyzzyzxzyxyyyyzz{z{zzyyyyyyzyyzyz{z{zxzzzzyzzyyzzzzyzyyzyyzxzzz{zz{zzyzyyzzzzzyz{z|{zzzzyyzzzzzyzzzzzyzzzyzzzzz{y{zzz{yy{yyzz{|zzy{zzzzzzy{zyzyzz{{z{y{{zyyxz{z{{z{zzzzz{y{y{z{{{z{{y{yyzzzz{{{zyz{{{{zz{z{yz|{z{z{{zzzyz{zzzzz{{{{{{zzzzz{zz|z|z{{|zzzzzyzz{{{zz{{z{y{zy{zz{{z{{{{|z{zz{zz|z{zz{{{|z{zzzy{yzz{{z|{{zzzzzy{yz|{zzz{{{yzyzyyyzzzzyyyzyyyyxzyyyzz{{zz{yzxzyxyxyzyz{yzzzzyzyzyyzzz{zzzzzyzyyyxzzyzzyyy{yzyyyyzyzzz{zzyzzyzyzzzxz{zxzzyzyyyyyzyz|z{zyzzzzyyyyyzyzzzzz{zzyzyyyzzyz{zz{zzzyyyyyyxzzzzzz{zzzy{yyyyzzzyzzz{zzyyzzyyyyzzzzzzyzyzzzyzyyzzzzz{zzzyyzzxyyz{{yzzz{yzzzyyyzzzyz{{zzzyzzxyzzyzz{{{{yzzzyzyyzzz{y{{zzzzyzyyzz|y{z|z{{zyyzyyz{{z{{{{zzzyyyzyzy{zz{z{zzyz{zyyzzzz{{{{{z{zzyzzyz{{{z{{{zzzzyzyyz{|{zzz{{zzyz{z{{{{{z{{zz{zzzzz{z{z{{{z{z{{zy|yzz|{z{{{{zzzzz{z{{z{{{{{z{yzzz{zzz{yz|{{z{zzyzzzz{{|{{{z{yzzzzz{{{{{{{z{{zzzzzzyzy{{z{{{zz{zyzzyyzzzzz{zzyyzzyyyyzzzyzz{zyzzyyyyyzyyz{zz{zyzyz{yyz{zzz{{zzyyzzyyzyzzzyz{zyyzyyxyyzyyyywzzyzyyyyyyzyzzyzzy{zyyyyyzzzzzzzzyyyzyyzyyzzz{zzy{zxzyzyyyz{{zyzzyzzyzyzyyyy{zzzzzyyzyyyyyyzzzyz{{yyzzzyyxyxyzzzzzzyzx{yzyyzzyzzzyzyzyyyxzyzz{zy{zzzxyzyzyyzz{zzz{yyyyyzyz{yz{yzzzzyzxyzzy{zz{zzz{yyyyzzzyzzzy{zzyzyz{{yyyy{z{{z{zzzyzyyyz{{{zzz{zzzyyzzyzy{zzzz{zyyzzyzzz{z{{{z{{zyy{zzyzzzz{{z{zzzyzz{yy{|{{{zzz{z{zz{z{{zzz{zzz{zyz{yzzz{{{zzz{zy|zzz{zzzz{{z{z{zz{zyyz{zyy{{{{{zzz{z{zzzz{{zz{{yzzyzzzy{z|{|{{{z{yyzyzz{zzzz{zzzzyyzyzzzz{z{zzyxyzyxxyzyzzzzyzxzyyyyyyyzzzzy{zyzzyzzxyyyzzzyzzyyzzyxyyzzzzyyzzyzyxxyyyyzzzyy{zzyzyyyyyyzyzyzzzyyyzxxxyzz{yy{zyyyyzxxxxyyyzzzzzzzyyyzyyzyzzyzzzzyyyyxyyyyzyzyyyyyzyxyyyzzyzzyzyyzyyyxyxyzzyzzzyyyzzyxxyy{z{xzzzyyyyyzzyz{yzyz{zzxyyzyyzzzzz{zyzzyzyzxzyzzzzyzyzyyxzyzyzy{yz{{{{zyyyyxyyzz{yzzyzyzzyyyyyzzzzy{{zzyyzzzyy{zzzzz{z{yzzyzzyz{zz{{zzzzyyyyyyyzz{zzz{{yyzyyyzz{{{{zz{zzzzzzzzz{z{{zz{{yz{z{zz{{{{z{{{{zz{zzzzzzzzz{{{zyzzyzz{{zz{zzz{{yyzyyzzyzz{zz{{zyyyzyz{z{z{yz{{zzzyyyzzzz{{{{{{zz{zyyyzzzzzz{zzzyzzyxyyzzzz{{zzyyzyyyyzzzzzyyzzzzyzzyyzyzyy{{zz{zxyyzyzzxzzz{z{zyzxyyxzyz{z{z{z{zxyyyyyzzzzz|zzzyzyyxyyyzyyzzzzzyyyyyxyzzzz{{zzyzyzyyyzzzzzzzzzyyxzyxyyzyzzyzyzyyzyyzxzzzzz{zzzzyzyyyyzzy{{zyz{zyxyyyyyyzyyy{yzzyzzzyyyy{zzyzyz{yzxyzzx{z{yzz{{{yyzzyzzzz{zzzzzzyyyyzyzzzz{yzzzzyyyzyzzz{zz{{zzyzzzzzyyyz{zz{zyzyzzzyyzz{|{zz{z{yyz{yzzz{zzyzzzzzzzzzzz{z{{z{{zyzzzz{zzz{{{{{{{zyy{zzy{zz{{zz{zzzyzzzzz{|{z{z{{yz{zy{{zz{zzz{{{zy{zzzzzz|z{z{{|{yz{{zzzzz{z{{{{yzzz{{yzz{zz{zz|{zzz{zzzzz{z{{{{zzzzyyzyzz{zz{{{z{zzzyzyz{z{zz{zzzzzzyzy{{{zyzyzyyyyyyxyyzzyyzzzzyyyzyyxyyy{{zzzzyyxyzyyzzzz{zzzzxyzzyyzyyzyyyz{zzxyyyyxyzyzy{zzzzyyyyzyyzzyzyyzyyzyyzyyzyyyzzzzzyzyxyyzyyzzyyzzyyxyyyyzyzzzyzzzyyyxyyyxyzyyzzzzxzz{yzxzz{{zz{zzzzzyzxyyyyzyzz{zyyyyyyyyyzyyzzzyxyzyzyyyyz{yyz{zzyzyyyzyzzzyyzzzzyzzyy{yz{zz{{zzzyzyzzyxyzzzzzzzzyyyyyyyzyzz{{zzzyzzzyzyzzzzyz{y{yyzyyzyzzz{zyzzzzyxyzzyzzzzz{{zyzzzzzzy{zzzz{zzzyzz{yyy{z{z{z{{{yyyyzzy{z{{{z{{y{zzzzzzyzzz{zzzzzyz{yyzz|zz{{{{zzzz{zzz|z{||z{|zyzyzyzz{zzz{zz{{zyzzzzzz{zzzz{{zzzyyzyyzzzzz{{{zyzzz{yzz{z{z{{zzzzyzzzyzzyzzzyzyzyyzxyyyzzyyyzzzyxzzyyyyzzy{{z{yzxxyyxxyyzzzz{zzyyyyxyyyzz{xzyzyzzyyxyxzzzzzzzzyxyyyzyyzzyyzyzzzzzxyxzyyyzyzyyyzzyyxyyyzzyyzyzzxzyzzyyyzzzz{zzzyxzyxyyyzyz{yzzzzyyyyyxyzyzzzyzzyxyzxxyyy{zyzyz{zzyyzyzxyzzyy|yzzxyyzzyxzyyzyz{yzyyzyyzzzzyyyzz{yyzzxyzyy{zzyz{{zzyyyyyyzzz{zz{zyzyzyyzyzzzzzzzzzyyzzzzxzz{zzz{zzyyzzyyzy{zzy|{zzzyzzyyzzz{{z{{{yyyyzy{zz{z{zz{{zzyzzzyyzz{zzzz{zyzzzyzy{{{{{{|zzyzzzz{zz{{z{{{{{zyzyzzzz{{z{{|{{yz{zzyzzz{z{{z|zyzzzyz{{{{z{{zzzyyzzyzyzz{{{{zz|zyyyzzz{{{zz{z{zzzzyzzy{{yzz{{yyzzz{yzy{y{yzyyzxzyywxyyyyzzzzyzyzzzxyyzz{zzzz{zzzyyyzyyzzy{zz{zyyzzyzyzzzz{yzzzzzzyyyyyyyzzyzz{yyyyyyyyzzyzzzzzyzyyyyzzyz{zzzzyyzzyyyyyzxxyz{z{yzyyyyzzyyzzzy{yyyyzyxyyyzzy{yzzyyyyxyyyyzyzzyyzyyyzzyyzyyyyzzyyyyyzyzyyyzzyyzzzzyzyyyyyzyyzyz{zyyzyzzyz{zzy{yyz{y{yyyzzzyzz{z{zxyzyzyyyyzzy{yzyzzyzyzyyzyz{zzz{zyyyyyyyy{zzz{{zzyyzyyzzz{zyzzzyyzyzyzyy{z{{z{zzyz{yyy{{z{zzzz{{zzz{yz{z|{z{{z{{yyzzyzzz{z{zz{|{{zzzzzzyy{{z{zz{|zzzy{{zz{z{z{{{zzzzyzzzzzz{{z{zzyzzz{zzz{{z{z{{{zyzzzzzzzz{{{{{{zzx{yyyzzzzzz|{z{zyzzyyz{zzz{y{zyzxzyyyyzzzz{xyzyxyyyzyyzyyyzzzyyyyyyyyyzzzy{zy{zxxyyxyzyzyyzzzzxyyxyyzyyzyzzzzyzzyxyyyyzzzyzzzzzzyyxzyyyyzzzzzyyzyzyyxzyzyyzzzyxyxyzzyzyzyyzz{zyzzyyyyyyyzyz{zyxyyxyyxzyyyzzzyyxyyyyyxy{yzyy{zyyyxzxyyzyzyzzzzzyxyzyyyzyyyyzzzyyzyyzyxyzzzzzzyyyyyzyzyyzzzzzzzyyzyyxzyzzzyzzy{yzzyyyyyyzzzzyz{zxzzzyzxz{zyzzzzzyzyzyyyzz{zyzzzzzyyzzzyyz{yz{zzyzzyyzzzzzzzz{{zzyzxzzzyzz{{zz{|zyzyyyyzzzzzzzzz{xzzzyyzz|z{zz{zzzyyz{zyz{yzzzz{zzzyzzyzz{z{z{|{zyzzzyzzz{|{zzz{{yyzyyzy{z{z{|{{zzz{zzzzz{z{{{zzzzyxy{zzzzz{{z{{yzzyyzzzz{{{zz{zzyyyyyzyyzzyzzzzyyzyxzyyyz{yzz{{yzyyyyzyz{zzyz{z{zzyyzzzz{yzz{zzyzzyzzyyzzzzzyy{yzzxxxyyyzz{z{z{zyyyyyyyzy{zz{{yyyzyzyyyyz{zyzz{zzyyyxyyyyyzzyzzxyzzyyxyyzzzzyz{yyyyyyyzyzzz{yzyzxzyxyy{zzzz{zzzzyzzyyxxzzyyzzz{zyzyzyyxz{xzz{zzyyzyzzyyzzyyzzzzzyzzyzyyzzzyyz{{yzzyyzzzzyzz{zz{yzyyzyzyyzzz{y{zzyzzzyz{zz{z{{{zzzzyyyxyyzzzzz{zzyyzzyyzzzzz{{{zzzy{{{xzz{z{{{{{yzzzzyyzz{{{zz|{{zyzzyyyzzz{z{{zzyz{zzzz{|{{z|{{zzyzzzz{{{{{{zz{{zzzz{yyz|{{z{z{{z{|yzyzz{zzy{z{{zz{{zzzy{zz{z{{zzzzz{zzzzz{{z{{{{zy{{yzzz{z{{{zzzzyzzzzz{zz{z{z{yyyzyzyy{yzyzz{zyzzyzyyxzzyzzz{z{xyyyyyzyzyzzy{zyyyzyyzzyzy{z{zyzyyyyzyzzzzyzzzyyyzyyyyy{zzzzzzzzzyzzzxzyzyzzz{zzzxyyyzyzzzyzzzyyyyyyzyzyzzz{y{zyyyyyyyzzyzyzz{yyyzxyyyzzzzzz{zzzzyzyyxzzzy{zz{zzzyyzzyyyyzyzzyzyyzyyyyzyzyz{zzyyyyyzyyzz{{yzzzzzyzzzzy{zzy{y{zyyzyy{zyyz{yzzz{zyzyyyyyzzzyzy{zzz{zyyzyy|zz{{{{zzyyyyyyzzzzz{{{zyyzzyzyz{zyxz{zzyyyzzzz{z{{z{{{zzzy{zzz{{{{z{z{{yzyzzyy{{{{z{{zzzzzzz{zz{zz{{|{z{yzzz{{z{{{z{||zz{{zzzzz{{{{|{{zz{z{yz{{{zzz{{{{zyzzzzz{z{z{{|{z{{yzz{{{z|z{{{{z{zy{zzz{{{y{{zz{yzzzzzyzzz{zzzzzzzzzyyzzzzz{zyzzzyyyxzyzzzyzyzzy{zyyxyzzyzy{z{{yxyzyyyyyzzzxzzzzyyyyzzzzyzzyy{zzyzyxyyyzyzzzzz{zyzyyzyzyzyyzzzyyzy{zxyyzzyyz{{zzyzyzyyzyzzyyzzzyyyyzyyzzyzzzyzzyzyyyzyyzyzz{y{{yzyyyxyyyzz{zyzyzyyyyzyxyzzyyzyzyzzzzyzxyyzzz{z{zxzyyyyzyzzzyzzzyyxyyyyxyzzzzz{zzyzyzy{zzyzzzzzzyzyyzyyzzzzyzz{{zz{{zxzzzzz{z{yyzzzzzyyzzz{{zz{zzyzyyyyyzz{yz{{yzz{zzyzzzz{zz|zzyzzzzyyzzzzz{z{zyyzyzyyyzy{{zz{{zy{{z{zy{||zz{{{zzzzz{zzz{z{{{{zzyzzyz{{z{{yzz{{zzzyzzzz{{{zzzzzzzyzzyzzz{zz{{zz{zzzyyz{{zz{{{|{zyzzzy{zz{z{{{{{yzyzzzzyz{{{yz{zzzzzzzyyzzzzz{zzyzxyyxyxy{{zy{zzzyyzyzyyy{yyzz{{zzyyzzyyzzzzzz{zyy{yxyyzyyzyyzzzzyzxyxyxy{zzzzyyyyzxxyzxzzzyyzzyyzzyxyyyxzzyy{zyyyyyyyyyzzyzyzyzyyyyyyyyzzzzz{{yyyyzyyyyzzzyyzzzzyyzxzyzzyzyzzzzyyyyyyyyyyzyzzyyyyyxyxyzxzzyyz{z{yzzyyxyzyz{{{{zzyyyyyyzz{zzzyz{zyzyyyzyzzzzyzz{zzyyyzyzyzzyzzzyzyyyzyzyzzzzzzyzzzzyzzzyzz{{zzzzzyzz{zyy{zy{{z{yzzz{{yzz{zzz{{{zzzzzyxz{z{zz{z{zzyzzzyzyzzz{{z{z{yzzzzzz{|{{{{{zzzzzy|{zzzzz{{z{{zz{yzzyz{z{{{z{{zzyzzzz{{z|z{zzzzyzz{{{{{zz{{{zzzzz{yyzz{{{{z{{y{zzyy{z{{z{zzzz{z{{zzzyy{z{z{zzzyzyzzzyzzzzzzyzzyxyzyyxy{yzzz{{yyyyyzyyyzz{zzzzzzxyyyyy{zyy{zzzzyyyzzyyyzzzxzzyzyyyyzzyzzyyzzzzyzzzyyyyzyyyy{zzyzxyyxyyzyzzzz{yzxyyyzxzzzyzyzzzyxyyyyxzzzzzzzyzyyyzyzzyyy{zzzzyyyzzyyyyzzzzzyzzyzxyzxyxzyzzyyzzzyyyzzzyx{zzzz{zyzyzyzyyyzzzyzzzzyyzyyyzyzz{zz{z{zzzyy{zyzzz{zz{zyyyzzzyzz{zzyzzzyzyyyzyzzzzzz{yyyz{yyyy{zzz{z{zyzzzyzyyz{zzz{{zzy{yy{yzzz{zz|zzzzzyzyyz{{{zz{{{zzyyyzyyz|{|{{{zzz{yzzzzz|{z{|z{{{zzyzzz{{{{z{{{{zzzz{yyy|{{z{{{zzzzzzzz{zzz{{{z{zzzyyz{zzzz{z{{{{yzzzz{yz{zzz{{zzyyzyzz{{zzz{z{zzyzzzzy{zzzzz{zzz{yyyzzzz{{z{yyyyzyyyxyxzzyzzz{zyyyxxzyyyyzyyzzzyzzz{zzzyzzzzzz{zyy{yyy{zzzyzz{zzyzyyyyz{zzyzz{zyyxyzyzzzzzyz{zzzzyyzyxy{zzxzzzyyyyyyyyyzzyyyzzyxxyyyyyzFw2Y'b{{|{{{{{{||{{||{{{{{z{||||{||{}{{|z|{z{|{{}|{|{{||{zz{z{||{{||||{{{z{{|{{|{{|{|{}{|{{{z|||{|{{|{{{{{zz{z||{{||||z{z{{||z{{{{{{{{z{z{zzz{{{{{{|{{zz{{zz{|{||||{|{{{z{{yzz{z|{|{||{|{{{{zz||zz{|||{{{{zz{z|{|{||{{z{z{|zz{{{||{|{{{{{{y{z{{{{{{{|{z|z|z{{{|{|{{{|{|{z{z{{||{|{|||z{{{{z{z{|{||||{{{z|{{{{|{}|{{||{{|z|{{{}||{||{|{{|{|{|{||||||||{{{|{{{||{{|||}|||{{{{|{|}}}}|{{|z|{{{|{|}||}||}{{{{{|||}}||||{||{{{|{|{|}|||}||{|{|{||{||||||{}|{z||{|{{|z||{{||{{||{{{|}|{|||{{{{{{{{{|}|||||{{|z{zz{|{{|{|{{|{{{{|zz{{zz{{}{}|{{||{|{|{||z{||{{{||{{z{{}{{|{||{{z{zz{|{||{}|||z|z|z{{{{{}|{|{z{z|{|zz|{||{{{}z{zzz{{z{{{{{|{{z{{{{{{{{{|{{{z{{z{{{zz{{{|{{|{{{{{zzz{{{{|{{|{{{z{{{zy|{{|{|}{{{|{{{zzz{{||||{|{zzz{|zzz{{{z||{{{{{{{{{{{{z{||||{{z{zz{{{{{||}||z{{z{{zz|{{{||{z{{{{{zz|{|{|{||{{{{z{z{{|{{|{|{{{{{{{{{|{|{{{|{{|{z{{{{{|{{|{||{{z{{{{{{|{|{|{|{|}{{{{|{||}|{|}{||{|{|||{{}{||}{{{{{|{{|{||{|||}z{{{{||{}{z|||{|{|{{{}{{{|||||}|{|{}{{{{}||}|}||||{|{|||||||}||||{|{{{|{||}||||||{{|{{{|||{|||}|||{{||{|||||{{|{{{|{{z|{||{||}{{||z{z{{|{|||{|||{z{{{|{|}|}||{|||{|{|z{|||{||{}|{{{{z{z{{}}}|}||{{{{{z{{|||{|||{{|zzz{z|{}|{{|{{{{z{zz{{|{|{{|{{{{z{{{{{||{|{{z{{{{|zzz{{{||||{{y{{z{z{{{|{{{|{zzz{{z{{}{{{{||{|z{{z{z{|{z{|{{{zz{zzz{z{{z{z|{|z|{zz{zz{{|{z|{z{{z{{zz{{z||{|{{{{z{{zz|{}z{|{z{|{{{{{{{{|{|{|{|{{z{zz{{|{{z{|{|{{||{z{zz{{{{||{|{{z{{{|{||{||}|z|{z|{{{|{||{||}{|{{|{|{{||||{{|{{{||{{||{||{|}|z|{|z{{z{}||||||{{{{{||{|}|{}||||{{|{{|{{}||{|}|{{{{|{|{|}||}~|||{}|{{{||~|}|||}|{{{|{z{|{{|||}|||}{{|{|{{{{|~|}||{{{{{|{{{|||||{{{{|{{{{||{|||{|{{{{{{zz{|{|||{||z|{|{{|||}{}|}{{}{|{{z||||{|}|||{z{{z|{|{||{}|{{z|{{z{z{{|||{{{|z{{|{z{{}{||||{z|z{z{z{}{{{|{z{{zzyz{{{{|{{{{{z|{zz{zzz{z|{{{|z{zz{{|zz{{z{{z{zz{zzzzzz{{{}{|{|{|{zzzzz{{{|z|{{z{{{zz|{{{zz{{|yz|{{{zz{||{z|||{{z|zz{{{|}|{{||{|z{|z{{{|{{{{{|z{{{{z{z|{{||}{|zy{|{|{z||{|||||{{|{{{|z{{|||||{{{|{{{{z||||{{}{||{||{|{{||||{|{{||{|{{z{{{}{|||{|{{{z{{||||{}}}|{z{{{{z|||{|||||{{{{||{{|}||}|}||{{z||{||||}||{}{{{|{{}{}|}|||}|{{{|||{|||||||z|{{z{|{z|{{{|{|}||{{{{{{||{||||}{|{{{{z|{|{|{||}|{{{z{|{{||||{||{{|{|{|{z|{{{|{}||zz{|{{|}|{|||}{{{{|{|{{{||}{|}{|{{|{z{{}|{{{{|{{|zzzz{{||}|{|||z|y|{zz{y|{|{{{{{{zz{{z{{{{{||zzz{{{z{{{|{z{{{{{{{{zzzz|z{{{{{|z{zz{{zzz|{{{||{zzz{zz{zz{|{||z{z|zz{z{z{{{{{zz|{zz{zzzz{{{{z||z{{{{{z{{{{|{{{z{z{|{{{z{zz{||z|||{{z{z{{z{|{{|{|zz{{{z{{{{|{{{{|{{zzy{{{{|{{{|{||z{z{zz{{{|{{||zz{{{zz{{{||{{|{|{|||z{z{{|{|{|{{{{|{z|{z{||}{{}{z{{{{{|||||{{||{|{z{zz{||{|{{||{|{{z{{{z|||{||}|{{{|{{|||{|||}|}||{{{{|{|{||||}|||{|z{||||||||z|{{{{{{{{||{}||}|{{{{|{{|||{{|{||{||{{{zz||{{|||||{{{z{{{{|z|{z||||{z{z{{{{{{}}{{||{{|{|{{||||}||{{{|{z{||}||{||||{{{{z{{||}z||{|{{{{|z{z{{{|{{}{{|{{z{{{|{||z|||{zz|{{zzzz}{{{|{zz{{{z{z{||{{{{{{{zy||{{{{{{{{{|z{{z{yzz{{{{{|{|{zzz{{{{{||{{{{{{zzzzz{zz{|{z|||{z{zz{zzz{|{z|{{{y{{{{{{{|{yz|{{{zz{z|{{|{{{|{{||z{z{zzz{{{{{||||{{{{{{|z|{{{|{|{zzz{{{{|||{{|||{{z||z{||||{{|||{{{{z|{{}|{|||||{{z|{{z{|{|{|{|||{|z{|z{|{|}||||z|{}z{|{||{|||{||{{{{zz|{|}{|}|{|||{{{{{|}}|{|}|||{{||{{{|||{||||{|||{}z|}{||}}|}{{|{{{{|||||}{|}{{|z|{{}|||{{|||{|||{z{||{{||{{{{{{{{{{|||{{||||{{{{zz{{|{{{{{{z{|z{z{z|||||}|}{||{{z{{||}|{|{{||{{{z{z||||||}|{{{z{{{||||}|{|}{{{|{z{z|{}{{|{{{{{{z{z{|{|}|||{|{z{{{{{{{|{{}{||{|zz{{z{{|z{|||{{zzz{{{{z{{{|{{|zz{|{z{|{{|{{|{zz{{{zzz{||z|||{zzzz{zzz|{{{{{|{|z{{{{{z{z{z{{|{z{yz{zz{z{{z{{{|{{{{{{{z{|{{z{||{{{z{{{z{|{{{{{{{{{{{{|{{{|{{{||zz{{{z{{{}|{||||{{{{}{{{{{{|||{|{|{{z|{{{{|{|{{{{{||{|{{||||}|||{{{{|{||{{}|{{{|{{{}|{|||||||||}||{zz{{{{|{|{||||{|{{|{{}|{{||||{{{|{{|{{|{{|}|}}|{|{|{|{|||}}||{||{{{{{|||{|||{|{{|{|{|{{||{|||{|{z{|{{|}||||||{{z{{z{{{||{||{{{|{{{{{{z}||{{}|{z|z{z{{{}|{{}||{{{{|{|{|}|{}||||||{{|{{|{|{|{~||{{|{z|{}|{{|||}|{{{|{{|{{{|{|||{|z{{z{{{{{||}||{{{{|z{{{|z{|||}{{{{{zz{{{{||||{{|{zz{{{{{||{{{{zz{{zzzz|{|{{z|{{{z{z{z{{{{|{||{{zzy{zz{{z|{{{{{{{{{{zz{{{{{{|{|zzzz{z{z{{{||{{|{{{z{{z{z|{|{{||{{z{zz{{{{{{{{|||{{{|z{z{{z{||{}{z{{zz{{{{}{{||||{|{{z{{{||{z{{{{{{{{z|z{{|zz{{{{{y{z{{{z|{{|{{{{{{||{{{}{|||||||{{z||{z||||{{}|{{{{{z{{{||}{||||z{{|||||}||{|||{z{{{|}{{{||||}}|{|zz{|{{}|{||}|{{|{{{{{{|{{{}|}|{{{{{|||{{|}|}||{{||z{|||{|{}|||{{z||}{{{|{|||{{{{{||zz|{{{||}|{|{{{zzz{||{{~|||{{|{||{{}~}{|}}|z{{{{|{||||||{|}{|{|{{{}||{|||{{{{{{z{{{{{|{|||{{z{z|zz|{}|}{||{{{{{{z{z{|{{|||{{{|z{{zz{||{||{{{{z{{{{||{{{{{|{{{z{{{z{z{{{{|{|{z{zzzz{{||||||{|{{zzzz|||{|z|zz{z{{z{{{{z{{|{{z{z{{{{y{|{|z{{|zzz{{{{z{{{||{{{{{{z{zz{{|{|{|{{{{z{{z|{{{||{{{{z{{|{{{{|{|{|{{|{{|{{{{{|||{{{}|{{|{|zzz|||{|{|||{zz{|{{}|{|{||||{z{|{{{|}{|||{|{{{{|{{{|{|||||}{z{}{{{z{}{||||||{{|{||{|}|||{}}{||{|{||{||||}|{}{|||{|{{|}}|}}||{|{{{|{||{}|}||{{{||{||||{|{}}}||||{{|||}|{}|||||{{{{{{|{|{|{}|{|{{{{{z{|||{|{{{z{{z{{z|{{{{|}}}{z{|z|{|}}|||||||{{zz{z|||{||}||{{z{{{{}||||||||{{{{{{|||}{z||}|||zz{{z|||{{|{|{{|{z{{z{|{{{||{{{zz{zz{z{|{{||{{{zzz{z|{{{|{{|{{z{z{z{{||{{|{|{{{{{{zz{{{|{|{z{|z|zz{zz{{||{|{|{zz{{{{z{|zz{{|{{z{{z{{{{{|zz{zz{z{{z{{z|{{{||||{z|z|{{{{{|{||||{{{{z{{z{|{|}}{|{|{z{{{z{||{|{|||{|z{{{z{{{||||||z{{{{z{{{|}{|}{|z{{|{{{|||{{{{|}{{{z{{{{|}|{}{|||{{z{{{|{||{|}|{{{|z{{{{|||||||z{|||{{z||||||}||{{{z|{|||||||||}||{|{{z|}}||||||{{{z{|||||}|}|||z{z{{{{z||||}||||{{{{{{||{|||||{|{z{{{{|}||||{|{{{{{{z{|{||||{||{{z{{{{||{{{}{{{}{||{}{||}}|}}}{|{{|{|||{|}}|||}||{{|{z{|{|||}{{{{{z{{{{{||z{||||{zz|{{z|||||{{|{|{zz|{{|{{{|{|{{{z{{{{{|z|{|{{{{{{|{{z{|{{{{{|{zz{{{{z{|||{}||zz{{zzzz{{{z||{||{|z{{{z{||{|{{|{{z{{{{z{{|{|}|}||{z{z{{z{{|{|z||{z{z{{z{}{{|{||{{z{{z{z{||||{|||{|{{zz||{}}||{{{{|{{z{y|||{{{|{||zz|{{{{|{||{|{{{{{{|z{|||{}|||||{{{|{{{|z|{{||||z{||{{{||}|||||{|{|{|{||{||}|}{{{|{{{{{{}}|{||{|||{|{{||||||}||{{{||||||}||}{}|||{{||{{}|}||}|{|||||}||}||{|||{z|z{{{{{||||}~}||{|}{{||z||||||{{{{{|{{||{||||{|{{{{{|{|{{{||||{{|z{z{{{{|{{}}}{|{||{|||||}||}|{{{{{zz||{}|~|}|{z|z|{{z||||{|}||{|{|z{{{|{{{||}|{{z{{z{{||{{{{|||{{|{{z|||{{|||||{{{{z{|{{{||{{|{{{{{z{|{z|z{||{z{{zz{{z|{|{{||zz{z{{{z{{z{}|z{{z{zz{z{z|z{{{||z{|{{{zzz{|y{{{{{|{{{z{z{|{{{|{||{{z{|zz{||z{||{|zzz{z{{z|||||{||{{{{y|{{|{z{{||z{|{{{{z||{{{|}{||{||{{{{{{|}||||{{z{z|{{|||{|||{z|{z|{{||||{{|||{z{{{|{||{||}||z{{||{|{}{|}|||{|{{|z{{|{||{{|}{{{{{z{z{||||||||||{{{|{{{||}||}||{{{||{{{}|{{|}|{|z{{{{{||{||}||||{{}{{{|||||}|||{{|{|{{}{{|{||{{{{{{{}{{}|{|||}||{{{{{z|||{|z{||z{z{{{{{|{{{||}||{|z|{||}|}{||}||{|z|{{{{||}||{{{{z{{{{{||}~}||{{{{zz|||||{{|||{|{zzz{{{|z||||{{z{|{{z{{{z{{{|{{{{z{{{zz|{||{{{y{|z{{z{z|{|{{|{{zz|{zz{{z{{||||{{|z{z{{z{{{||{|{{{zzzzzz{|}||||{{z{z{|zz{{{|{|{z{{zzz{z{{{{{{{{z{{zz{{{{|{|{{}{{z{{{z{zz}||{|||z{{{{z{{|||||{|}|{{z{{{{z}{{{|||zz{|{{{{{{{{|||{{z{{{{{{|||{{{||{|{{{{|||{{|{|{{|{{|{{{{{||{|z|}z||{{{{|{{|||||}{|{{{|z{|}||||}}|{{z{{|{|}{{|||{|{{{{|{||{|{||}}}|{{{{||{||}|{}|}}||{{{z||||{|}}{{{{||{z|||||{}||z{{{|{{||||}|}}|z{{{{z|z{{|{{||||{{{{{z{{{{{||{{|zz{{{z{||{|}||{{|||{{z||}|{|||{{{{|||{{{|||||}{{{z|{|z{||z|}{{|{|{z{|{{|||{|{{|{{{z{{z{|{|{||||{|{{{|z{{{z{||z{{{{z{{z{{|{{{{{{zzy{|zz|z{{{||z|zz{{z{z{|{{{{{{{yz{zzy{z||||{|{{{{zz{z{{{|{{||{{yz{{{{z{|{{{{{{{{zzzz{{|{{{{|{{{z{{z{z{|{{{{|||{{{{{{{{{{|{{}{}{{{{zz{{{{{{||||{{z{z{{{{{{|{{||z{{{zz{{{||{||{{{{{{z{z{{|{|{|{{{z{{{||{{||{{{|{|{z{{z{|{|||{}|||||{{{{{|{{|{|||{{{|{{|{||||{}|||{{{|{{{|||{||||||y{{|{|{{|{|}||}{{{{|{||||}}|||||{{|{{||||}||}~{{{||{|{||{|}|}}{{{|{|{{|{{~{|||{{|{{z|{{{{|{|}||{z{{{{{||{|{{{{{{{{zzz{zz{{{||}{}|{|{}|}}}|{|||z{{{|{z{|{|{|}||}{{{zz{{}{|{||}}{{|{{{{{{|{|{||||{{{{z{{{{||||{|zz{{{||z|{{|{z|||{{z{z{z{|}zz|||{zzzz{zz{{{{z{|{z{zzzz{{{{|{{||z|z{zz{z{{{{z|{{{{z|zzz{{{{zz{||{{{z{{zzzz{{{|{{{{|z{{z{zz||{|{{|{{|{{z{zz|{|{{{{{{{|{{{{z|{{{|{|{{zz{z|z|{|z{{||z{{{{{|{|{{{|||{{{|z|z{z{{|{{||{{z{{zzz{{|||{{||{{{|{{{|{||z{|||{{{|{{{|{{}{||||||{{zz{{{{|}|{}}{{{{|y{z||||}{{|}{{{{|{{|||{||}|{|{|{z|||}||}}|||{}{|||{|||||}}{|z||{{{|{{{|}|||}{|{|{z{|||{}|{|{{|{|||{{|{||}{|{{zz|{{{{|{{{||{{|{{{zz{{||{|||||{{{|z|z{{{{|}}|{|{{|{|}}{|||||}{|{||z{{||||}||}||{{|{{{|{{|{||{{{|{z|{z|{|{{{|{|{|zz{{z{{|{|{{{{|z{{{{{z}|{{{||{{zz{zzz{{{z{|{{{z{zzz{z|z|{{|{{zz{zz{{zz{{{{{|{{|{{z{{{z{{{{{}|{{zzzzzz{{z{|{{{{z{z{{{z{{{{{{{|zz{z{{{z{|{{z|{|z{zz{z{{{|||{{||{z{zzy{z{|||{{|{|{z{{{{{|{{{|{{|{z{zz{{|{||{{|||{{{{z{{|z|{{{|||{{{z{{{y{{||{z|}{z{{{z{z{{||{{||{{||z{z{||||||||z{z|{|{||}{|{{||{|{{{{{z|}}|}{{||{zz{{{{{{|{|}|}{{|{z{|||{{|{|||{{{{|{{{{||||||||z{|zz|{|{}|{|}||z{||{{|{{|{||}|{{{{{|{z{{|{||}|z{z{z|{{{{||{||{{z{{z{z{|{|{z||{{{|zz{zz{{||z||}|||||||}|}|}||}{||{}{|{|}|||||}}{|{{||{{}|||||~|{z|{{{{{|z}|||||||{||{{{|||{{|||{z{{|z{z{||||{|{{{{z|z|z||{{{|{|{{{z{{{{||{}{|{|{{{{{{z{z|{|{||{{y{{|zz{{|{||{{{{|{{{{zz{{{|{{}|{{{{{{z{|z{{{|{||{|{|{{{{|{{||||{{{|z{{{{{{|{|||{|{{{{{z{||{{||{||{{{z{|{{||{||||{{{{{{{{{|{{||||{{{{{{{|{{||||{{||zz{{z{|||{{}{{{z{{z{{|||{||||{z{zzz{z{|}||||}{{|{{|}{{|{}|}}{|{{{|{{{|||{}|||}||{|{||||}z|||{||||||||{}{||||}|||}z{|}|}||||}}}{}{|{|{}|}||||}|{{{|{||||||||}}|{{{{{||}{{|||}}|||z|{|{z||{|{||{z{{{{zz|{|||||||{{{{{{{{{{{|}|}}||||{|}|}}|~|~||||||{{{|}|}}||}{|zz{|{||{||{{||{{{{z|{{{|{|||}{{{{{|{{|}{~|||||{{|zz{zz{{|{|||{{{{{{zz{{|z|{|||{z{{zzz{{{{}{{{{{{{{zz{{{||||}|{{{{{y{{{{z{{{|{{z{{z{|{{{{||{z{|{{z{{{{{z{{z{{||{{{z{{z{{|{|{{}{{{z{z{{z{{{{|||{|{{{{y{{|{{|{||{{||{{{{||||{{{||{{{{{{{|{{|{||||{|||{{|{{}{{||}|{{{{|z{{{{{{{{||z{{||{z{|||{|{|}}{|{{{{|{|||||{}{|z{|{{{|||{|||||{{{{{z{|||||{|{{{|||{{{{{{||}}|z{||z{|||||||}{|}|{{|||{{}|{||}}|{|||||{||}|{}|}}{{{{|z|{|||}|}}|{{|||{|}{||}{||{|{z{z{z{|{{||||||{{{{zz||||{|||{||z{z{z{|{{|}}||}|||{}{|}}}{|}}|}|||{{|}|}|||}}}{||{{{{|z||{||||z{|{{|{|{||{|{|{||{{{{z{{||{|||{|{{{{{z{||{|||{{{{{|{z{{{{{{{|{{|zzz{{|z{{{z{{{{z{{{z{{{|{zz|{{{{{z{{z{{|{{|{{z{{{{z{{{z{{|{|||{{{{zzzzz{{z{||{|{{z{{{{z{z{{|||{|{zz{{z{{{{z}|{{z{{{{z{{|{{|}}{|{{{{{{z{|{{{}|{{{{{y{{||{||{|||{||z|{{z{}|{|||{|{{{z{{{|}{{|{|||z{{{{{{{||}|||||{{{{|z{{|||{||~{{z{{||||||}{||||{{|{z|{{{|||||||{{{|{{}||||||}||{||z{||}|||}}}||{{|{||||}||}||||zz|||{{{|z{|||||z{{||{||||||||}|||{{{{{||{{||||{||{{{{|{|{{|}||}zz{z{{{{}{{|||{{|{{{{z{{{{{|}}~}|||}|}||}}|}|}||{|||||{||}|{||||}z{{|{z|{|||}|||{||{{{|{{||z|||{{|{z{{z{|{|{}{|{{{{{z|{{{|{|{||{z|y{{{zz||z{{{{|{zz|{z|{z{{{{{|z{{{{zzz|z{{{{||z{{|zzz{{||{{{|{{{zz{{{{{||}{||{{{{z{{zy{{{{{{{|{{zzzzzy{{{{{{{||{|z{{{z{|{|{}|{{|{zzy{{{{{{{|||z{|{zy{{{|{{{{{|{{|zz{{{{||{|||{{{{{{z{{{}z|||{|{{|{z{{z||}||{|{}{z{|z{{z{{||||{{{{{{{{{||{|{|||{{{z||{|||{{|||}z{{{{|{{|{|{|{|{||{|{{|{|||||||||{{{{||{{|}z||||||||{{{{{||}|||}|{|{{|{|||||||||{||{{{|||{|||}||||{{||{{|||{|||||{{{{z{{|{{{||}||{{{z{{{{|{|{{{{{{{{{{zz{{|{||}~||||~}|{|}|||}|}|}{{|{|{}}|}}}}||||}{||{}||{|{{||{|z{{{|{{{|{{}{|{||z{{zz|}||||}z{{z{{zz{||{{{{{{z|z|{zz|{}|z{{zz{{zzzzz{|{}|{z|zz{z{{zz{{|{{z|{{{{z{zzz{{|||{{{z{{{{zzz{{{{|||{{z{{{z{zz{z{|{||{{{{{z{{{{{z{|{|{{{z{|{{{{{|{z{||{zz|z{||{||||{|{{{z|z{z{{}|{||}{z{z{{{z{{{{{|}|{{{{|z{{||{{{{{|{{z{{z{{{||{{|||||{|{{{{|||{||{{{{{{{zz{||||||}{|z|{{|{{|{{|{|||{z{{|{{z|||||{|{|{{{{|{{|||{||||{|{{{||{{|{|}}}|||{||||||}||}|||||{{|{{{||{|}{{{|{{{|}{||||||||||{{{{|||}||||{||{{|zz{{||||||||||z{{|{|{{||{|||{{{{{{{zz{{z{{}~|}}}||}{}}}|||}|||{|z{|||{}|{|}||||{|||||||}}}||||{{|{{{{}|||{{||{{z|z|z{{{|{|{|{|{{{|{z{{z{||||{{{{{{{{|||{|{{z|{{{{{y{z{|{||{{{{{z|{{z{{{{{||{{{z{z{z{{||{|{|{z|{{z{z{{|{z|{||{|z{zz{zz||{{{{{|{{{z{zz{{{{z|{|{z{{z{zz|{||{|{{{{{{zz{z|{{{|{||{{{{{{|{{|{zz|||||{{{{{{|{{|||||{{{{|{{|{{|{||}|{{{{{{{{{|{|{|{|}{||zz|{|||{{|}z|{{z|{z{{{}}{||||{{{{{|{{|{||{|||z|{{{{{||{||{}||{z|{{{{|||}{}|{{{{zz||||||{}}{}|{{{{||{||{||||}{{{|{{||||||{}||{{{|z{{||}|}||~|||||{{{{|||||}||{|{{{{{z{|{{{|}||{|{z|{{{|||}{||||{{z{}zz{z|||~~}}}||}||||}~}{}}|{{|{{|||}{}{|}}|{||{{{z{{{|{|||{{{{{{{|z|{{|{||{|{{{{{zz|}{||{|{{{z{{{z{{{zz|{{zz{zz{{z{z{z{{{{{zy{{{y{{|z{{{{{{zzzzzz{{{|{{{{|{z|{{{yy{{z{|{z{{{{{zz{|{|{{{{|{z{zz{zz{{z{{{}{|{z{z{|{z|{{|z{{|{{{z{z{{zz|{{{{{|z|zz{{yz{{z{|{||{{{{{{{z{{|{}|{z{zz{{zz{|||{|{{{{{{{z{z|{{{{||{|z{{z{{{{{{{||||z{|{{|{{{||{{{||{{{{|z{{{{|{{{|||zz{|{|{{{{||{||{{z{z{{{||{{||{|z{{{{{{{}|}|{}}|z{z||{|{|||}|}||{{{|{{z|{}||}|||{{|{{{{|||{{|||||z{{{{z{z{{||{|}|{{{|{{y{|}||{}{z{zz{{{z|||{{{||{{{{{{{|}|{{{{{{{{|{{{|z{z|||~~~}}{|}|}{}}}}}|}|}||||||||||}}}|||{|{{|z|{|{z{||}|{}z{{z{|||||z{{{|z{z{|z{|{z{|{{{z{z{{{z{{|{{{{{||zyzzzy{{{{z|{z{{{{{zz{{|{{{|{|{zzz{zzy{z|{zz{{z{zz{{z{z|{{|{{{{{{z{zz{{{{{{{||{zz{zz{y{{{z{{|{zz{z{zzzy{{z{||{|{zzz{{z{{{{z{{|{{{yz{z{{{|{||{{z{{zzz{z{z{{{|||zzz{|{{{{|||{|||{{{{{z{{z{|{|{{{{z|z{y{z{{|{{||zz{{{{{z{{{{{{|{|}zz{{{{{{||{{|||{{|z{|{{|{{|{|||{{{{{zz{{}{||{||}{z{||{z||||||{|{{{z{{|{}|{|{{|}|{|{z{|{{}|{{|||}z{|{{|z{||||{|{z{{{{z|{{{||{||}|{{{{{{{|{{|||}|{{z{z{{{{|{|||}{{z{z{{{z{{{|z|||{{z{{z{zzz{{{~~|}|}}}}{|}}|}}|||}|||{|||{||}}|}}z|{|{{{|||||}}||{{z{{z||{}|}|}|{{{{{z|z||{||~||{{|{z{}{{||{{{{|{{{{z{z{{{{{{{{{||{zz{{z|{{||{||zzzzzzzzz{{{||z{{{|{{{zz{z{|{{{|{{{{{y{{{{{{|z{|zz{zz{{z{{{{{{||{|{{z{{|{{{{{|{|z{{{{{{{{z|{{{{{|z{{{zz{z{{||{|{zz{{z{{{|{{{{{||{{{zz{z{|{{|z||||{|z{z|zz}{z||{|{{|{{{z{{||{{{||||z{z|z|{{|z{||{|{{z{|zz||{|||||{|{}{{{||||{{{||{{z|{z{z||{||{}||z{{{z{{|||}{|||||{{{{||z|{}||||~|{{{|{z{}{}||||{{||z|{{}||}{}}|||{{{|{|{|{}}||||||{|{{z{|{||~{||{z{|{{|{|}|{||||{{|z{z{|||}{{||z|{zzzzz{{{||~}~}}}}{|}|~~}|}}|||}|||{||||}|||||||{|{{{|{|{||||{zz|{|{}|{{|{|||||{|}{{z{||{{}|||{{{{{{{z{|{{||{|{{{{z{{||{|{|{|{zz{z{{z{{{|{|||{{{{zz{{{{|{{{{{{{{{{{{{{z|{|||{z{{{z{{{{|{z{{{{{z{{|{zz{||{{z|y{{{{z{{z{{||{}{{z{{z{{{z{|{{||{{{z|z{{z|{||{{{{|{{{{zz{{|{{|{{||{{{{{z|{||{{||||{{{{{{|z{{|{|}|{{|{|{z{{|{|||||||{{{{|z{{||{{||{||{|{{{{{|}||}{|{{||{z|{||{{|||{{{{{|{{z||}{|}}||{{{|{{{|}|}||||{{|{{||||||||}|{|{{z|||{|}{}|}||zz{|{{{{||{|{|{}}{{{{|z|{|{|}||}{{z|||{|||||||||{|{{{z{{{||{||}}{{{{z{{{z}|{|{||{|{zyzyz{{|{|~~}}}~}}}~|~}~|}}}}|||}{|}}}}||}|}{|{{{{z{||{{{|||}{}|{{{{|z|||||||||{{{{|{{|{||}|{{{{z{zz{||{{||||z|{z{{{{|||z{{{{zzz{{zz|z||{|{||zz{{{{z{{{|{|||{{{{z{{z{{|z{|{|{{{{{{{z{{{{{||||{{{{z{z{{{{{||{{{{z{{{{{|z|{|}{z{{{|{{{}{||{{{|{z{{{z{|||{|{|||{{{{{z||{{|{{|}|{{{z{{{z{||{{||}|{|{{{{z{{{||||{|{{|{zz|||||{{||{{{z|{{{|||{|||{||{|||{|{|}|}|}|{{{{{{||}{||||{}|{{{}||{||{{||{||{|{{|{{|}}|||}}{{|{{{|{||}}|}||||{|{|{{{|||||{}|{{|{|{|}}}}||||{z{|{|{{{|||||||{{{}||||||{|}}}||{|{{{{{{||||}}|}|{{{{{{z|{{|||{|{{{y{{{|{{{{~}}}}~}~}|~}}}{}|||||{||||{}}}}}}{|{{{||}|||}|||{{|{|{{{{|||{||||{{{|{|z|||}{|{|{{{{{}{{{{{{|{||{z{{zzzz{|{{{|{|{z|{{z{{|z{{|{{|z|{{{zz|{{{{z{}{z{y{{{zz|||||{||{|||z{zz{|{}{||{|zz|z{zz{||{||{z{|{{z|z||{{|}||{{{{|{{{z{{{{|{||{zzz{{{|{||{|{|||{{z{{|{||||||{|{{{{zz{{{|||||||{{|{|{{{|{{||||||{{{||{{||{}||}{|||{{{{{|||{|}}{{{{||{|{{}|}|{}}|{{{|{|{|{{|{|}}||||{{{|||||{||||{|{||z{||}|||||{{|{{{{}{}}}}||{||||{{{||}|||}|||{{|{{{{||{}}||||{|||{{{|||||||||{{||{{{|||||}|}{|{{{{{{||{{{}}}||{{z{{{|||||}}|{{{z{{|z{|{|z~~}~}~}}}~}}}|~}}||{{|{{{}|||}|||}|{{{|{{|{|{|}}}{||{{{{{|{|}|{||{{{{{{{z{{{z{{{}{{|{z{z{z|||{{{||{|zz|{{{{|{{|{|{zz||{{z|{{||{|{{{{zz{{{|z{{{{|{{z{zz{{z{{{{{{||{|||{{z{z|{{{{|{{zz{|z{{{||{{{|||{{z|z{z{{{{{|{{{zzz||{z{{||{|||{z{z{|{{{|{|{{||{z{|{zzz{|{|||{||{|{{{{||||{{{||||{||{{{{}||||||{z{{{{{{|||{|{}{|z{|{{{{|}{{|||{|||z|{{{|||||{||z{{{{|{{{{{|||{||||{|z{z{||||{{|{{{|||z{|~{{{|}}|{|{{}|||{{||}||}||{{{|{{}}||||||||{{{{{{||}}|||||{|{||{{|||||}}||{}{{{|{||}||||{|{{|{|{|{{|{||||{{z{{|{{|||{|||{{|{zz|{|{|z|}~}~~}}~}}~}~~}~}}}{{}}{||||}||||}|||{|{|{||{|}|}|{{|z|{{{z||||||||z{{{{{z|||}{|{|{||zz{|{|{{|{{|{{{{|zzzz{||{{||{z{{{zz{{|{z{{{{}{{z|{{zzz{{{{{~{z{zzz{{z{{|||{|||{zz{z{z{{{|||||{{zzz{{z{z{{{||{z|{{{{{{||{{{|{{zz|{{{||{z{||{|||zzz|{{z{{|{{|{|{|{|{{{{{}{{||}|z|{zzz{{||}|{||||||{{{z{{||||||||{{{|||{{|{|}||{|{{{z{z{|z||z||{{{{{||{|||||||||{|{z|{{|||z|||{|{|{||{{{|{|||{||||||{{{{||}|{|||}{{{|}{z{|||||||}|{|{{{{||||}||||||{{z{{{~|}|||}|z{{||{||}|{||}}{||{|||{{||||}{}{|{{{|{{{|||}|||{|||{z{{|||||{||{{{{z{z{{{|||~~~}}}}}~|}~}}}}|~||{|||||||||}|}~|||{|{{{||||||||||z{|{z|z|{|{||{{zz{{z|{{{{|{|{|{z{{{{{z|||{|||{{{{{{z{{{{{{{|{}{z{z{zz{|{z{{{|{zz{{{zzz{{z{|{|{zz{zz{{{{{||{{{{{{|zz{z{|{{|{|{|{{{{{{{{{{||{{|||{{{{||z{}||{|{||{{{{|y{{z|||}{|{{{{{z{{{{|{{{||{z{{{z{{z{||{|||{|zz{{z|{|{||{|{{{{{{{{{{|}{||{{{z{{{{{{{||||{||{{z|{{{{|||{{||{|{{z{{{|{}|}{|{|{{{z{|{{{||{||||{{|{{{z{|{|{|||||{|{{z{{||{|||||{{|{{}{|{}|||||}|{{|||{{|}}|||||||{{{|{|||||||||{{{{||{{||||||}~}}{{{|z{}||{}|}|{|||{{{z{|{{}||}{{z|{{|z{}|||{}{{{|{{{z{{{{||~~}}|}~|~||}|~}}~}|~|||||{||}|}}|}{{{|||{|{|}||||{|{|{z|{{{|||{||{|{{{{z{{||{|{{{|zzz{z{{z{{{z{||{|{|z{{z{{{{{{{{|{{{{z{z{{{{|z{{|{zzzzzzz{{z{{|{zzzz{zzz{{{{z{{|{{{{zy{y{z{{{{|{{{zz{z{z{z{{z{{|{z|z{z{zz{|{{{||{y{zz|zzz{|{|{{||{{z{|{{{{|}{{||{{{{{z|{{|{{|{||{{z{{zzz{{|||{||{|z{{{z{z{||{|{|{{{|{||{{|{|{{{|{{{z{{{{{{|{{{{{|z|z{|z|||{{|{|||z{{{{||{{||}||}||z{{{{|{{||{{{|{{{{{{{{{{||{{{}|{|{{{{{z}||{||}||{{|{{{{{}|{|||{{|{{{{|{||{|}||{|{{{z{{{||{|{}}|}|{z|{{||||}|||||{{z{{{{{|{}||||{{{{z{{z{|{{{|{{{{|{z{z{{|{|{~~}}|}}}}|}}}~}}{|}||||}||||~|{|{{|||}|||}}}||||{{{|{||{|{}|}|{{{{{{z|||||||{|{z{{{{{{|{{{|{{|{{zz{{{|{}{||{|{{zz{{z{|{|||{|z{{{z{z{{{|{{|{|{{{{zzzzzz{{zz|{{{{{{{{{z|{{|{{|{|{z{{z{{z{{{{|{|z{z{{{zz{||{{||{{{{{{}{{|||||||||{{z{zzz{{||{{|||{zz{z|y{||{}}||{|{z{{{{|||{||{{{{{{z{z{{{|{||||{{{{{|{{{{{}z|}||{||{z|{{{}{|||{{{{|{z{{{|{|||||}{{{{{{{{|{||||||z{{|{{{{|||||{{|{{{|{{{{}||}||||{{z{}|{{||||~|}|{{{{{|{|}}||||{|{|{|{{{{||||||{|z{{{z||{||||{}||{{|||{{|}||}}|{{|z{{{{{|||{{||||{|z{{{{{|}|{||{{{{{{{{z|{||{~}}}~~}}}}~}}}|~}~|}|z||}|}||}}|}{|{|{{{|||||}||{{{{{{z{{{{{||{||{{|{{{zz{{{|}|||z{{z{{{z{{|{{||||{z{zz{{{|{{|{{{{{{{zzz{{{{|{{{|zz{zz{z{{{{|{{|{z{zz{{z{z{|{|||{z{{zz{z{z|{||{||{{zzzzzz{|{z{|{||{{{{z{z{{z{{{||zz{|{{zyz{{|{|{|{{zz{zz|{{||z|{|z{{{zzz{{{{||}z|{|{z{{z{{{||||||{{{{{zz{{}|{}||||{{{{{zz||{|z||||{zz{zz{||{{||{{z{{|{|{{{{|}|||{{{z{|z{{{|||z||{|{{|z{zz|{|||}{{|{{{{{|{|}|{|}|}|{|{{|||{|||}|{|}{z||{{|{|{|||}|||||{{{{||}{|||}||{|{{|||||||{|||{|||{||||}}||||{|{{{|{{{||||{||{|{{z{{{{{|{|||{{z{z{{|{z}||{}~~~}}}}~}~}~~}}|}||{}{||||||}|}||y{||z}{{||}{|{||||{z{{|{{{|||zz{z{{{z||{||{|{{{{zz{{{{{|{{{||{{|y{zzz{{{|z|{{z{{z{{{zz{{{{}{{{zzzzyzzz|z{zz||{{y{zzy{{z{{{z{|{{{zz{zz|{|{{|{{{zyz{zzzz{{{{{|{zz|z{zzzz{{z{|{||z{z{|zz{{z{{{|z{z{{{{zz{|{{{{{|{{|z{zz{{|{{{{|{{{{z{zz{{{|{|z{{{|{{{{zzz{|||{|{{zz{z{{z{{}{|{|z{{{{{{z{{|{{{{{{{|z{{{{|||{{{||{{|z{{{{{{|||z|{{{{{{{|{{{{{{|z|||{{|||{{|||{{||{|z|{{{|||{|}||||}|||{z{|{}||||||{|{|{{{{|{||{{||}|{|{{{|{|{{|{|}||{{{{z||{||}||||{{z{{{{|{{{{{||{|z{{{zz{|{|||}{{{{{{zz{{|{{{}}}}}|~}}~}~}~||||}|||||}|}}}~||{{{{{||||{|}||{{|{|{{{||{{{{||{{{{{z|z|{||{||||z{{{{|z{z|{{{||{|{|z{z{z{|{{|{{zzzzz{zy{{{{z{||z{yzzzzzz{{{{{{{|{{y{z{{{{|{{{||{z{{z{zz{|{{{||{z{{||{zz|{{{{{||{{|z{z{zz{z{{||{|{{{{zz|{{{{{{{|{zz{{y{{{|{{|{|{{|z{{z{{{|||||}|{{z{{z{z|z||{{|{{z{{z{|{{||||{{|{{{z{{{z{}|{{{|{|{{{{{y{{|}{|||{|z{{{|{{|||{||z|{{{||{z{{{{|||||{{{z{|{|{{|{||{||{{{|{{{|}}|}||}|{{{{|{|{|||{|}}|{{{{||{{}{|||}}|{{||{{{|{|||||{||zz|{zz|||{||||z{z{|{||||{}||{}|{{{{|{{||{}||||{{{{{{{|||||{|{}z{{z{{{{{{|{|~}}~~|}~~~~}}}}|}|}|{}}}|}}|}||{{|||||{|}||}}|||{{{|z|||}|z||{{|{{{{z{|}||{|||{|z{z{{z{z{{||{{z{{{{z{}|{zz|{{z{{{{|zz{{z|{|||zz{{zzz{z{{|{||{{{{{{zz{{{{{{|{|{{|{z{zzz{|{{|{{{z|zzzzz{{z{z{z|{zzzz{{z{{{|{|{{zz{{z{{{{{|{{||{|{{{{{{z{{{{|{|}{{{{z{{{|{{|{z{|{{z{{{{z{}||{{|{{{|{{z{z{{|{|{|||{{{{{{z{||{{{||{{|{|{z{|||{{{||{{{|{|{|{|}||{||z{{|{z{{{|||{|||{{{|{{z{|{|||||{|{{{{{{{{||}{{}}{|z{{{||{{|{|{|||{||{|{{{||||||}|{|{{{{{|||||||{|{||{{{{{{{{|{|||{{{||{||||{{}}||{z|{{{|{||{||}||{|{{{{z{||{|||{{||z{{{{||}|{~~~}}}~}}}~}}|}}|}{|}|{|}||}}{{{{|z{}{|||}}|{|{{{{z|||||{|||{{|{zz{{{|{|{{|}|{{z{|{zz{{{|||{{z{{z|{{{|{{{{{|{z{{{z{y{{{{{|{|z|z{z{{zz{{{z|{{z{{z{zz{|{z{{{||{{{zz{{z{{{{|{{{{z{{{{zzz{{{z{{{z{zz{{zzz|{{{|||{z{{{{{yz|{}{||{{|z|{z{{{|{}{}||{z{{{{{z{|{|{{{{{{{{zz{{{{|||{|}{{{{{{{{{z{{}{|{|z{{|{{z{|{{{|{||z|{|{{z{||{|}|{{{{{{{z{|{||{{|}{|{|{{||{|{|{{||{{{|z{z{{|{||{{||{{{{{{z||||{{{||{||{{|{{{{}{{{||{|{||{{{||||||}|{||{z{{||||{{||}{{|{{{{{||||||}||{|{{{{||||||||{{{{{{{{|||||{||{|z{zz{y{|{|z||{{{zz{zz{{{{{{~}}}~~~}~~}~||||||}{~|}||}|}|||{{{|{{{}||}|}{z{|{{{{{||||{|||{{zz{z|{{|{|||}|{{z{{{{z{{{z{{{{{{|{{{z{{{z{{{{yz{{z{zz{{{{{|||{z{{{z{z{|{{{{||zzz{{{zz||{{|{{{{{{zz{z{|{|{{{|{|zzz{z{{{{{z{|{{z{zz{z{{z||{z|{{z|{{{{z{||{|{{|||{z{{z|{{{{{||||{{{{{z{{{||{||||{{{{{{zz{{|{{{||{zz{{{|{{{|{{|{{{{|{{{{{{||{{||{{|{{{{{{|z|{{{|||{|{{{{{{{|}{}||{||{{{{{{||{{||}z{{{{{{{||}{}||{|{{{{{{{}|{|}}|}{|{|{{|||||||||}}{||{z|{|||||}||||{{|{{|{|}|{||}{|{{{{{||{{|||||{||{{|{{||{||}}|||{z{{||z|{||{|}{|z{{{{z{{||{|||z{{{{z{{{|{{z}~~~~~||}|}}}}}||||||}{||||{z|}|||||||{|{|{|{{{||||||}|{{zz{{{{|||{{z}{{|{|z{z{{|{{{|||{zz{{{{{{||{{|{|{zz{zz{{z{{{{{|{{||{z{{{z{{z||{{{{{{zz{|||{{|{{|{{{{|z{{{}|{||{{z{|{{{{{{{z{{{{{{zz{{z{{{{|||{||{{{{z{y{{||{||{z{|{{{{{{}z{{|}{{{{{{{{{{||{||||{||{{{{{|{|||||}{{||{z{{{}||||{z|{|{{{zz||}{{{}||{{|z{||||||{{{|||{{|{{{|{||}{}|{|{{|{|{||}}||}|{{{|{|{{{|||||||{{{||{{||}||||}||{|{||||||||||}}|{|{|||{|}|}|}}||{|{z{|{|||}|||}{||||{{||||}}|}}||{{{|{{}||||||}{{{z|{{{||{|||}}{|{{{{{{{|||{|||{{|{{|{{{||{|~}~~|}~}}|}|||{|}}}}}~|||{||||{|||}|||{{|{{{{{|{||{|{||z|{{{{{|{{{{|{{{{|{{zzz|{z{|||z{{|{{z{{{{{{{|{{z{z{{{z{{{z{{{{|zz{{{{{{{{|{||{{{|yz{{zz{||z{{z|{|{{z{{z|{{|{{{|zz{z{{zz{||z|{|z{{{z{zz{{{{|{}{||{{{{{{{|{{||{{|||{{{{{{{|{{{z|}|{{{{z{{{|{{{}|}z{{zzz{{{{{{z|||{{{|{{{{{||{||z}||{z{|{||{||||}{{{{{{|z{}||||{||{{{{{{{{||}}}|}|{{{{{{|||}|}|||||{{{z{{z|||{||||||{{{{{{||||{|}|{{{|{|}{{|{||}||}{{}|{{|{||||}}|||{z{{{{|}|}|}|||z{{{|{|||||}|||||{{||||}|{{||||{||zz{{{||{||||||||{{{|{|||}||||{{{zzy{{{{||{~~~~~}}}~}}}|}||||~}}|}}{|{|{|z|||{|}||}{|{{{{zz{{{}|{{|{|{{{|{{z||{{|}{|{{{zzy{z|{{{{}{|{{zy{{{z{{|{{|{{{{{zz{z{|{{|{||{{{{{{z{{{{|{z|{{zz{z{{zzz{|{|{{|{{{zz{{z{||z{||{|{{zz{{z{{z{{{{|{|zz|z{{{{{|{|{{{z{{{{z{{{||{{|{{{{z{{{z{{{z{{{|{{{||z|{{|{{|{|{{z{{z{{{{{{|||{{{{{{{{zz{{{|||||{{{z{z{{|{{{|{|}{{{{|z{{{|||||||{{{{{{|z{|||||{}{{{{|{}{{|{|{|||{z{||z{z||||}|}|{{{||z{{|||{|}|}{||{{||||||||||}|z{{{|{{|{||||}|}{}||{z{|{|}|{|||zz{{{{z|{|{{|}}|{{|{|{{|{|{|||||{{{{{|z|||{||}|||{|{z{{{{||{|||{{|{{z{z{{{||}~~}~}~~~~|{}||~||}|}}|~|}{{||||}||{||||||{{{z{{{{{||{{{|z{{z{{|y{{|{||{{{{{zz{{z||{|z{{{{{|{{zzz|{|{{{|{{{zz{z{z{z{{{{||z|zz{z{{{{||{}{z{zzzz{z{|{{|{}||{{{{z{zzz|||{{}{zzz{{{zz{{{z{{{z{{z{{{z{{|z{{{|}{zz{z{{z{{{|{{|}|{{{z{{z||{{{||{|z|{{{|{||{{{{|{z{{{{{{{|{{|||||z{{z{|z{{||{{}{{{{{{{{{z|{}{|{||{|{{|z{|{||{{|||{|{{{{|{{{|{|||{{z{{{{{|||{|{|{}{{{|{{{{{|||{||||{{|{{|{{|||{}||{|{{||{||{{|||||||{zz{{{|||||}{|}{||{||{|{|||}|||{||||{{|||||||}|z||z|{|}|{}|||}{{{{{{{{{||{||}||{{{{z||||{{{||||||z{{{{|{{{{~~~~|}}{|}|}}}||~|}}}~|z|{{||{}}|}{}}{z{z{z{{{|{{{z{||}{{yz|z|{|}|{||z{{{{{{zz||{|{{|{z{{z{{{{{|{{{||{{{z{{{{z{{{z|{{z{z{{zzz|{|z{z|{{zzzz{zz{{{{{{{z{{{zy{zz{{{|{z{{{zz{{z{z{z{{{z|{{|{z{z{zz{{|{|{{zzz{z{{z{{|{{{}||{{zz{z{|{{{|{|{|z|{z{{{{{|{{{|{z{{{z{{z{|}}{|{}z{{zz{{z{{|||||{{{{{{|{{{}{|{{|{{{zzz{{{|||{{|||{z{|z{{{||{{||}|{z{z{{|{||||{|}|{z{{{{zz|||||||||{{{{{||}||{||||{{{{{||{{{||{||{|{|{{{{{||{}}}|{{|{|{{{{|||||||||{{{{{{{|||||{||{{|||{{{||z||}|}|{{{{{{{{||{{}}||{{z|{|{|||}|{||{{|{zzzz{{||{~}~}~~}}}}}}|}||}}|~}~}}z|{{{|{{{}{|||}|{{z{{{{{|{|{|||{z{z{{z{{z{{|{{|{{|zzz{z{{||{{|||z{{zz{y{{{{{{{{{{{{z{zz{{{{{||{zz{z{zzzz{{zz|||zz{z{zzzz{{|{|{z{zz{yz|z{{|{{|{|z{{{zzzy{z{{{{|{z{z{zz{z{{{|z{|{z{zz{{{z||{{|||z|{{z{{{{{{{zz|{{{|{|{{{{{|{{{z|{||{z{{zz{||{||||{{zz{z{z||||{|{|{|z{{z{{{||{|||{|{|{{{z{||{|{}|||{{{{{|{|||{{|{{{{{{{{{{|{{|}||||{{{{{z||}{|||{{{z|{{{{{|{{{{||||{z{{|{{|{{|||{{|{z{z|{{{||{{||{|{|{z{{{}|{|||{||||{{{{|{||||}||||{|{{{{}||{{|}|{{{{{{{{{{||{|}{||z{||{z|{{|z}||{z{{{{{{|{{{|~~}}}}}|{{||}|}|}}}||{|{{|{{||||||{{{|{{{{{||||z{|||{z{{z{z{{|{|||{{z{zzzz{{{|{z{{{{{z{z{{z{{|{{{z{{{zzzzz{{{{{{{{|{{z{zz{z{}z||{{|{{z{{{yzz{{|||||{{{{z{zz{{{|z|{{{{z{{zzz{{z{{{|{{{{z{{{z{{|{z|{|{{{{{{zz{{{|{{|{{{{{zzzz{{{{{||}{z{zzy{{|{{|{{{||z{z{{z{{|||{||||{{{{{z{{||{{|{{{{{{{z{z{|{||||{{zz||{y{{{|||{{{{{{z{{z{{{{|||{|{{{{{{{{{|z||||{|{{{{zzz{||{|}{||{|{{{{{|}{|}{|{{{{{{{{{|||{|||{{{{|zz{{{|{||}|||{||{{|{||||||||{{{|{|{{||{}||{}|{z{{{{{||||||{{zzz{{{z{{|{{||{|{{{{{{{|{|{{||}|{z|{{zz{z||z{~~}~~~~}||{}}~|}}|}||||||{||||||}|||||{{{{{{z{||||z|{{||{{{|{|||{}||}{{{{zz|z{||{{{||zzz{z{zz{{{{{|{{z{z{{{z{||{{{{|{zz{{z{{{{{z|{|||{z{{z{z{{{{|}||{|z{{{{{{{{|||{||{{{{{z{zz{{{|{{|{{{{{{{z{|{|{|{{{zzz{{{{|{{{{|{||{{z{{{{|{|{||||{{|{{{{{||||||{||{{{|z{{|||{{||||{{{|z{||||{||||{z{{{zz{|||{|{|{{{{||{{{{|{{{|}||{|{{{z||{|||||{{{{{|{{{{|||||}|{|||{|{{{|||}||{||{{|{{{{|{{{||}|{{||{{{{}|}|}}}}{|{{{{{{|{|{|}|}{{||z||{|}||||||{{}|||{}||}|{}|{zzz||{{||{|}||}|{|z{|z||{|||||}{|{|{{{{{|||||{|{{z{{|{{{{{|{~~~}}||}{|}|}~|}}|}|{{{||{{}|{}||}|{{{{||{z|{{|{|}{{|{{{{z{{{|z{|||{{{zz{{z{|z{{{|{{{|{z{{|{||{{{{{zzz{{|z{{{z|{|{{{z{{{y{z{{{{||||{{z{z{y{{z|{{|{|{z{{y|z{}{{{||{{{y{z{{{{{{{{{|}|zzz{{{z{z{z{{||{z{{{{{{{z}{{{|{|{|zz|{{{{||{{{{|{|{z{{{{{||{{{|}{{|{|z{{|{|{{|{|{z|{{{{|{|{|{|||{{{{{{{z{{{{|{|||{{|{{{{|||{{|{||{{{{|{{{||}{||}z|||{{|{{||}||||{{{|{|z{|{|}}|{{|{{{|{|{|||||}}|||{z{}{{{{{{||||{{{|||{|{}|||{|||{{{{z{{{|}||{|{|z{||{|||||||{{}{||{|{{|||||{||}{{{{{{zz{|{|{|}|{|{{z{z|{||{||{||z{zz{{{|||{{~~}}~|~}}||{}}||}|~}}|||{|||{{||}}|}{{z{{z{z{{|||{{|{|{z{{z{z{{|{|||||{{{{{{zz{|{{|{|||{{{yz{|{{{z|{{{{{zzzz{{{{{{z{|z{|{{{z{{|{{{|{{{zz{{{z{{|{z{{||z{z{zzz{{{||{{||{{{z{{z{|{|{|{|{{{z{z|{z{{{{||||{{zz{{{z{{|{{{|{{{z{{z|{z{{|{{{{{z{{z{|{{||{{{{{z{{zzz{{{|{|{{||{{{{{z{z{{|{||}||{{{{{{z{{||{{|z|{{|{{{z|{{{{{{{|{|||{{{{|{}||||{{{|z{{{}|||{|||{{{|{{{||{{|{||||{{{{{z|||||{||}{||{{{|{|||||||||{{{{{|z|||}||}||{{||{z|}{||||||{|z{{{{{{||}{|}|||{{{|{|{||{|||}||{{|||{||{||{}|||z{{||{||||||{{{z{z{{|{{{}{{~~|~~}}~||}|}}}}}}~|}{{{|||z{|{{{|}||||{{|{{|}||{||}{|{z{z{{{{{{{{|{|{|z{zzz{{{{{{||{z{{{{{{{{{{{{{{z{{{{{zz{{z{|||{{z{zz{z{|{||z{{z{{z{{{z{{{|{||}|{z|z{{{zz{{{{||{{{z{{{{z{{{|{{{{{|{zz{{z{|{{{|||{{{{{{zz{{|{{|||{zz{|{{{z{|{{{{{{zz{{z|{{{{{{||||z{{{z{{{{||{||||{{{{{|{{|{||}{|{z{|{|{{{||{||||{|{{|z{{|{||||}|{|z|{{{|{{||{||{|||{{z||{|||{||||{{{z{{z{}|||{|||z{{z|{|}||}|}||{{{{{{||||{||}|||{||{|{{{}~}||}||{{{{{{{{|}||{}|{|{|{{{{{{||||}}|{{||{{{||||||||{}|{|{|{||||||||{|{{{{|{|{||{|}{{|{z|z{{|||{{~}}~|~}}}}}|~|}}|}|{|||{||}|}|{||||{|{{{|{|||{{|||{{|{{z{{||{{|{|}z|{|{{|{{}{{{|||{zz{{zz{{{{{{|{{|{z{zz{z|z{|{|{||{{{{{{{{{|{{}{|{{{|z{{{{{{{{|||{{{{{zz{z{||z|||{z{|{zzz{|{|||||{{{{z{{{{|{{{|{|{{{zzzzy{{|{{{|{|z{{{{|{{{|{||{|{{{z{{|z|{{|{{|||{{{z{{{|{{|{|}|||{{{{|{|||{}||{|z{z{{{z{{{|||}{|{{{{|z{{||||||{{{{{{|{{||||{}}}z{{{|z{||}{||}|||{{{{{{{}||{}|}{{{|{z{{|{|||||~}{|{|{{|z{||||}|}}{{|||{||}}|||||{{}{{{z|||}|{}|}|{{{{|{||{{|{}|}{{||}{|{{|||{||||{{{{{{{{|{}|{}|{{|{{{|{|{|||||}|{z{|{{|{{||{~~~~~}}~}}|||}}|}}|}~|||{{||{||||}||}|{|{{{z{{}|{||{||{|z{z{z|{|{||{|{{z{z{{{{{{{{|{{{{|zz{z{{||{{{{{zz{z{z{z{z{{{{z{z{{{{{{z{{|{{||{zz{zz{z}{{{zz||{{z{{yz|z{|||{{||{{{zzz{{{{{{{{{|{zzz{{z{{{{{{{{{{{{{{{{zz|{{{{||z{zz{z{z|||{|{|{{z{{{{|{||{{|||}{|z{{{{z|{|{|||{|z{z{{{{z||||{{|||{{{zzz||{{{|}||z{{{{{{{||{||}{|{{{{|{{{}||||||{{|{{|{{|{{|{||}|{}|{{{{{|||||}|{{{|{{{{||{||||}{{|{|{|{{{}|||{}{{|||{{|{}|||}}|}z{|||{{{|}}||||}{{{{{|||{{{}||}}{z{||{|||||{|}||{|{{||z{||||{|||{|z|{{{{{}|{||{|{{z{z|{{{{{|~~~||}}~||||}}}|}|}||{{|||{||{}|||||{{||z{{|{||{{||{{{{z{|{{{|{||{|zz{z{{{{{{z{z|{|{{{{{{z{{||{{|}{z{|zz|{z{{{{||{{{z{z{z{{{z|{{||z{{{z{{{{z{{{{{|||{{zzzz{z|{|{|{||{{z{z{yz{{|{|{|{{zz|zz{{{{z||{|{|{zz{z{{{{|{||||z{z{z|{||}||{{|z{{{z{{{{{{{|{||{{{{{|{{|||{{|||{z{{{{|z{{{|||{{|z{{zz{{|||}{z}{{{|||z{z|{}{{|{|{|{{{{{{{|||}|{|{{{{{{||{}{|{|||{{{{{{{{{|||{||||{{{{{|||||||}||||{{{|{{|||{{||||{||z{{||}||||}|}{{{|{{{{|}|||}{|{{|{{{{||||{|}||{{{|{{{|||}|{||{|{zz|||{}{{{{{||{{{{z{{{|||{||{{{{z{{{{{{|{|~~~}~}}{}}}}}~}|}}|}{{{{|z|}|||||}}{{{{{{z{{|{||||}{{{{{{{y|{||{}{|{z{{zzzz{{{{{|||{z{{{zz{z|{{|{{{{{{{{z{z{{{{{{{{{z{zz{{zzz|z{z|{{zzzzzzz{|{{{{|{{{{{zzzz{{{}{{}|y{zz{{{{z{{z{|{|z{zzzz{{{z{|{z|{{z{{{zzzz|z{||{{{z{{{{zz{{z{{||{{z{z{zz{{{{{{{{|{z{{{{z{{||{{|{|{|z{|{{{{||{|}|{|{|{zz|{||{|||||{{{{{{{z{{|{|{{||{|{{{{z{|{|||||{{{z{z{{{{{{{{||{z{z|z{{|}{{||{{{{{z}{{{|||||}|}{{|{{|||{|{||{|||{{{|{||||}|||||}{|||{{|{||||{|{|{{|{{{{{{||||{}|{|{{{{{|}{||||}{z|{{z{|{}{||{|{{{{{{||{{{{{{|||z{{z{{zz{{|{z~~~}}~}|||}~}}}}~|||{{{{|{z|||||}}|zz{{z{z||||{z||||{{zz{|z{|{{||||{{{y{{z{{{{||{|zz{zz{{{z{{{{{|{|{z{{zzzz|{{{z{{|{{{z{z{z{||{{{|{zzz{yzz{{{{|{{{|{{{z{yzz{{{|{{|{|{z{zzzzz{zz{|{{{{zz{zy{{{z{{{{{{zz{|{{{{{{{{||{zz{{{z|z{|{{{{|}{z|{{z{{|{||{|||{{{z{zz{{{{}{{|||{z{{z{z{{||{{|||{z{{|{{{{|{z||{z{{{{{{|{|{{{|{{{z{z{{z{{{|||{||{{|{z{{{|{||{|||||{{z{z{{|||}||{{z{{|z{{|}{|{||}|{{{{|z{|||}|||||{{{{}{{{}{{|||||{{|{{|{|}||||{{|{|{{}{|{|{||{||||z|{{{{||||}|||||{z{{{zz|{{|||||{{{|z{z||||{||{{{{z|z{{{{{{{}~|}|}|}}}}|}|}}|{{||{{|||||}|||{{|{{z{|{{{{z|||||{{zz{z||{{||{|z{{{z{{{z||{||{zzz{{{z{{z{||{z||{{{zzz{{{z{{|{{|zzz{{{{{{{|{{||{{{{{zzz{{{|{|{|{{{{{z{{{{{{||{{{{{{{zzz{{{{{z{|{zzzy{{{{z|z{|{||{{{{{|{y{z|||{|{||zz{{z{{{|{{{{|{{{{zzz{{{{{{||{|zz{z{{z{{{{{|||z|{{{z{z|{||||||{{|{zz{{{|{|{{|{|{{{z{{|||{{|{{|||{z|{{{{|{||||{{{{||{{{{|||}||{|{{{z{{{{||{|{|{{{{|||{{||{|}|}|{|z{{{|{{{{{{||{{{|{{|{{{}|||||{{|{{{{|{}}|||||||{z{{{{{{||{}|}}||z|||z{{||}||||{||{{{|{{|||||}||{{{{|{z||{||||}|{{{{z{z{}{||~~}~}|}|}|}}}~|}|}}||{{{{{{||||{|||{|{|{{{{z}}{{||{{|zzz{z{{||||z|{{{zzzzz{z{||{||{{{{{z{{{z{{{|{|{{{z{|zzz{{{{{{||zzzzzzz{|{{{{|{|{z{z{{{z{{|{{{{{{{{{{zz||{||{{||z{zzz{z{|{zz{{{{|{{{z{z{{zz{}z{{{{z{{{z{{{{{{||{{{z{{{{{||{{{z|{|{zzz{|{{|{{{{|{y{{z{{z{{{{{{||{{{{{{{{z{{|||||{{{z|{{z|||{{{}{{z{||{{||||||||{|z|{{|{z{|{||{{|z{{{z{{{{{{|{{{||{||{zzz|{|||{|{|{{z{{{{||||{||{{|{|{{|{|{{|||{|{{{{{{{{z|||{}|||{||{{{}|}|||z||{{{{{{z{{{z||||||{{{|{||||{|{~|||{{{{{{{{||{|{||{{{{|{{z{|||{|{|{{}|{zz{z{|z{~}~}~|}}||{}}~~|}|}||{||||{||||{}}}|z{{|z{||{{}|||{z{zz{{{|{{{{{{||{{{{{{{z{|{|{|{{z{{{zz{{{{{|{{{{|{{{z{{zz|{{{{{{zz{zzz{{{{{{{||{{y{zzz{{{|{{||{{{{{{{z{{|z{}{{||{{z{{zz{{|z{{{{zzz{z{z{{z|{||{{{{{z{{{{||{{{{{|{{{zz{{z{|{{z|||||z|zz{zzz{|{|{||{z{|z{{{|z||{||{|{{{{z{{||{}||{|{{{z{{{z|{|||{||{{{{{{{{{|z{|{{{zz{{{{{{||}|{{||{{{z{z{{|{||{||}|{zz|{{{{{|||}{|{{{{|{{{|||{||||{{z{{{|{z|z||}|}|{{z|{{{{|||{|}|{{{|{{{{|}|{||}{{{{{{{{z|||{|{|}|{|{{{{||||{|||||{{{{z|z{|||{}|||{{{{{|{{|||{||||{{{{{{z||||{~~}~}|}}}}}}|}~~}}||||||{|||||}||||{{|{{{|}|{|{|}}|{{z{{{||{{|}{{{{{|{{z{||zz|{|{|{|{{}{|{{|{{||{z{{{{{{{{zz|{|||{|{{{{z{{|{{{||z{{{{zz{{{{{{{||{|{|{{z{{||{|{|||{|{zzz{z{{z{|{|{|{{z{{{z{}{{{|||z{{{{{z{{|{|z}||{{{|{z{z{|||{|||{z|{{z|{z|{|||{|{z|{{{{{{}{|||{{|{|{{{{{{|||||{}{{{{z|z{||||{|||zz{|{|z{|||z{|||{{{|{{|z{||||}|}{||{|||{{{{}||}||{{||{{{{|}{|{||{z{{|{|{}}}||{|}{z{|||{{{|||{}{|||{|{{{{|}|}|||||{||{{{|{||{}||}|z{{{|||{{}||}}}|{{{||{{|}|||||||{|{|{{|||||||}}|{{|{z{z{|{{||{|{{||z||{{|||z~}|{}}|||}}||}}|||||{{||||}{|{|~|}{|{z{|z{|||{||{||{{z{zz||{||{{|{{{{zzz{||||{{|{{z{{{zz{z{|z{{{{{z{{z{{{||{{z{{{zyz{zyyz{||{|{|{{{z{z{z{{z{{{z{{z|{{zz{zz{z|{{{{{{z{{z{{z{{{z{|{{{{{{zz{{{{{{|{{{z{z{{{{{{{{{{{{|{z{{{{{z|{{{|{{{{|zzz{{{{{{{{||{{{{{{{{{|{||||{zz|z{z{{{{{{{||||{|z{{{{{{|||{{{{{z{{{{{|{{||{}|zz{{z{{|{||||{||z{{z{{zz|||||{|||{{zzz{{{||{|||||{{{{{{|{||{{|{|{|{{{{|{{}||||{||||{|{{{}}{||{{|{{||z{|{{{{||||{|{{{{|z{||{{{|{|||||{{{{{|{|||||{{{z||{{{{{{{{|{|zzzz{{z{{{{{|}|{z{zzz{z{||{}~~}}|||}}}~}|||}}}||{|}||}|{|}|||{||z{||||{|{{{||||{{{|{{{|||{{|||{{{{zzz|{{|{{{{|{zz{{{z{|{|{|{{{{zz{|z{|{{{|{{|z{{z{{{z{|{{||}{z{{{{{z{|z||{|{{{|{{z{{{{{{|||{{zz|{zz{z{|{z||{|}{{{|z{{{{{|{{{|z{z{{z{{|{{{}||{{{{{{z{{|}{{|{{{{{{|z{|{||{||{{|{{||{{{z{||{||{|{{z{{{{{{|||{|||{{|zzz{{|||{{||}{||{{|{{||{|{|{|{{|{|{{{||}|}|||{{|{{||{{||}|{}|{{|{{{{z|}|||||||z{|||{||||}|||}|{||{{|{{|}||}}|}{{{{{|||}|{|}|}|z{|{{{z||{|||}}|{|z|{|||||{||||||{||{|}||}}|}|||||{{{{|{{{||||||{{zz{{{|}|||{||{{|{{|{{|||{|~~~}}}}~}|||}~}~}~|}|{|||{|{|||}|||{|{{{{{{||{{{}|{|{{z{{{||{}{|{|{z|z{zz{{|{{{|{{{|{zz{|z|||{|{{||z|{z{{z{z{{||{|{{zz|{|z{||{{z{{{zz{{{z{{{{{{|||{{{z{{z{{|{{{z|{z{{z{z{{{{{{{{{{{z{{{{|{z{{{{|||{z{|z{z{{{||||{}|{{{|{{{|||{|}{|{{{z{z{{||{|{|||zz{z{{z||z|{{}|{{||{{z{{{|{|||{{{{{{{{{{{||||}||{|z{|{z{|{{{{{{{|{{{{zzz{{}|{|||{{z|z{|{|}{}{}|}|{z{{{{{||{|||||{{{{|z{{}{}|||}||{{{{||{|||{|}}{|{{|{{|{{|{||||||{|||{{|}{|}{{|||{|{z{{|||{|}{|||||||{{||||}||}|||{{{{{{{|{||||{||{{||{{||||{{||{{{{{zz|{{|{{~}~~}}{{{}}~}}}}}}{|{{||{||||{}}}|{z{{{z|{|||{|||{|{{z{{z||{||{{{|{|{{{{zz{|||{|{{zzzz{zz{{|{|||{zzzzz{z{zz{{{|{|{{{z|{zz{|{}|{||||{{z{|{z{{{{|{{{{z{{{{{|{{{{{|||{{z|z{zz{{|yz||z|{{{z{zz|z{{|{{{{|{{{zz{{|{|||||{{|{z{{{{||z{{|{{|{{{{{{|{|{|{|{{{|z{{z||{{{}|{{|{{{{z{||}z||{{|z{zz{zz{||||||||{{{z{z{{|{{{||||{||{|{{{|||{{{|{{{{|{{{||{||||}{{{|{{{{||||||}{|{{{{{{{|||{}}||{{{{z|||{}|}{|}|{||{{||{||{||}}||||{{z||{{}}|||||{{{|z{|{{|||||}||{z{{{|||||}}}}|{{z{{{{||{{|}}|{{{|{{|{|{|||||||{|{{z|{|||{{~~~~}~~||||}}|||}}~}||}|{{{{z{|||||}|||{{{zz{|}|||{{{|{{z|{|z{{zz|||}|{{z{z{{{{|{{{{{|{{{zzzz{{{{|z{|{z{{|zz{z{||{{|{z{{{z{zz{z{{{{|{{z{{zzzz{{{||{{||{|{z{{{{|{|{{|{z{{z{{{zz|z{|{{|z{{{{{{z{{{|||{|{z{z{zzy{|{z{{||z{{{{{{z|{{{|{{|{{|zzz|zz{{{|||}{z{{{{{|{{{|||{|{{{{z{{{z{}{{|||{{|{|{zz|||{|{|{{{{{zzz{{{{|{|{{{{|{{{z{{|||{|{|{{|{{{|{|||||{}}{{{{|{{z{}||||}}|{z{{|{{{|{|||~}|{z{|{||||}{||}||{{{|{{||}{|}||}{{||{{|{{|}}||||||{|{{z|{||{||}|}{{{{{|{{{{}||||{z{{{|{z|{|{|||{{|{z{{z||||{|{|{z{z{{{{{{|{{{~}}|}}}}|}|~||}}|||||}|||{|{|}||{||{{{{{{||||{|||{zyz{zz{||{||{{{{{z{{zz{|{{{||z{{|z{zz{{{{{|{{{z{{z{zz{{||{z{|{zzz{{z{{{{{|z|{{{{{{z{z{{{{|||{||{zzz{{{{{|{{{{z{z{z{zzzz|{z{|{||{{{{z{{{{{{||z|{{{{|zz{z}{{{|||{z|{zzzz{|{{{{{|zz{{{z{z||{{{|{|{|{{{z|z|{|||{|}{{{{{z{{{||}{{{||{{zzz{{{{||{||||z{{{{{{{{{{|}{{{|{{z{{||||{|{||{||{|{||||{|{{|}{{|{{{zz}{||||||}zzz{{z{|}|||}|}{||{{{|{|||{||}||{{|{||{|||{||}{||||{{|z}}||{}}||{{z{{{|{|{|||}||{{|||{{{|||{}|{|{{{{{{{{{{{|||}|{{|z{{{}|{||||}|{|{{{|{{|{{{~~}}}}}|}|~~~}~}}}|{{|{{{||||{|||{{{{z{{|{|||||||{||{z{{zz|{|}{||{{z|z{{{{{{{{z|{{{{{zzzz{|{{||{{{{{zz{zzz{{{{{|{|{z{z{zzz|{{||{{|{{{{{z{{{{{{{{{|{{|z{|zz{|{|{||||z{z{z{zz{{|{{|||{z{{{z{z{{{{||{{zzzzz{z|z{|{{{{{|zz|{zz|{{z{|{|{{{{{z{z||||{{{|{{{{zz{{{||}{{{|{{{{{z{|{||||||{{z{{{z{{}{|{{||{{{||{{{{||{|||}|{{{{{{|{|||||}{|{{{{{|}{|{{||}}|{{{{{{{{|{|{|{|{|{{z|{||||}|||||{{|||{|{||{{{}~|||{|{||{|}|||}}||{|{{{{{||||||||||{{{{{{|{|{|||}}|||||{{{|||{|||{{{{{{{{||}|||}|||z|{{|{{|||{{|||{z|{z{{|{|{{~~}}}~}|{}}~|~}}}|{|{||}{{||||{}|{{{||{{{{|||||{|||{z{{{{zzz|{{|{|{zz{{|zzz{{{|z{{|{{{z{z{{{|{z{|{{z{z{zzz|z{|{||{zz{{{z{zz|{{||{{|zz{zz{|z{|z|{||{{{zzz|{{{{||z||{{{zz{|{z{{|{|{{z{{z{{{{{|||||{|{z{{{{zz{z{|{{||{{{{{{}z{{|z{||}|z{zzz{{{{||||||{{{{{{{{{|{||||||{{{{{|{|{||{|{||z{{zz{z{|{{{||{|||z{{{{||{{||||z{}{{{{{{|{|||||{||z{|{{||{||}||{{{{{{{||}}||||||{|{|{|{||}{}||{|{||||{{|||||}|||{{{|{||||}}|{~}{|{{{{{{||}||||||||z{z{||{|||||||{{|{{{|{|{|||{}{|{z{||z{|{|||||{{zz{|z{||{|{{{|{z{{{{{{{|{{|~~~}~}||{{}}|~|~|||{|||{{{}||||}}|||z|zz{||}|||||{{{zzz{z|{{|{|{||{{{{|{{{|{{{|{{|{{z{{{z{{{{{{{{|{{yz{z{{{z{{{||{{zz|z{{y{|{{{{{{z{|{{zz{||{{{|{zz{{zz{{{{|||{{{{{{{{{|{{|{{{||{{zz{zz|zz{z{{{|{{{{{||z{||{||{}||{z{zz{z{||{z|}|{{{{{{{{{|{{{|||{{{|z{|{{||||}}|{{|||{{{{|{{{|{|{{{{{{{{|}|{|}||{||{|z{z{|{|z{||{{|||{{{{||{|||}{|{{|{|{||||||}{|{z|{{{{|{{||{|||||{||z{|||{|{|}||{||||{|||||||}}|||{{|{|}}}||}{|{|{y{{|||||{|}}|{{|{|{|||{{|}}}|{{{|||||||||}|}}{{{|z{{{||||||||{{{{{|z||{|||||{|{z{{z{||{|{~~~~~|}}}{|||}|}}}}}|||{|||{|{|{||{|z||||z|{{}|{{{||||{{{{{{{||||||||z|{z{z{||{|{||{{z{{z{z{|{{|z{{{{|{{{{{z|z{{{|||z{zz{z{{{{{||{|{{{{{{{z{{{|{|{|}z{{{zz{{{zz{{||{{zz{{{{zz{{z{||{{{z{{{{z{{{{||{|{z{{{|{z{{||{{}{zzz{zz{zz|}{{|{}{{{{{{{{{{||{{|}{{{|{{{{|{}{||||z{{{{z{{z{|{||{|{{{{{|{{{{||{||{{{{z{{{z|}||{{{{|{|{|{{||{|||||||||{|{|{{{{|{|}|{{z{{{z{{|{||}|||z|{{{{z{}|{}|}||{{{|{|{|}||{}|||z{|{{{|{|{}}}|||{||{z|{{||{}|}{{{|{{|{|||{|}||||z|{z|{{||}|{|{||{{z|{{{{{{||||}|{{{|{{z{}|}{|{||{{z{{|{||{|{~~~}~|}{}|{||}|}}}}}||{||{z}||{}|||{{{{|{{|{|||{{||}{{{{{{z|z||{|}||z{z{{{z{{||{|{{{zz{{{{{|{{zz|{{{{{z{{z|{{{{{{|||{{{{{zz{|{{{{|{{|{{z{zz{z{zz|{|{{{{{{zz{|||{{||{zz{{{z{z|{|z||{{{{yz{{{{|{{{|||z{{|{|{z|{{|{{{||{zz{|{{{|{|{{|}{||z{{|{|{|z|{||{z{{z|{||||{{|||{z{{{{|zz|{{z|||{{{{{{{{||{||||{{{z|{{{{|{|{}|{{|{{{{{{z{|{||{|}{{{{{{|{|||}|}}}{{{{{{{{{}||}{|{{{|||{{{}|{|}||||{{||{{{{{||||||}|{{}||{||||||}|||{||z{{{||}|}}}{{zz||{||||||}||{{{{{{{{{||||||}{||{|z{|{}|{|}|{|{|{{{|{|}|{{{||||||{z{{{{{|{~~}}}||||{|}}~}}||}{|{{|{{||{|||{||{|{{{||z{|||{|{|{|{|{z{{||||||{|{{{zzz{z{zz{{||{{{{{z{{z{{{|{||{zzz{z{z{{z{|{{{|{{{{{{{{{|{}zz{z{{|zyzy{|{||{{|{{{{{zz{{{{{{{{{{{{z{{{{z{|{z||z{{z{{zzz{z{{{{{{|{{{{{{{{{{{{||{|{|{{z{{{{|{{|{||{z{z|z|{|{{{||{|{{{{{zz||{|||||{||{z{zz{{|||{|||z{{{z{zz{|{|||||{||{{{{{{|{{{{|{{{|{{{{{{{||||}|z{{{z|{{|{{||||}|{z{{{{{|{|||}||{z{|{{{|||||||||{||{{z{|||||||}}|{z{{||||||{||}|{|||{{{{|{{{|{|{|{|{{{{||{{{|}||||{{{{{{||{}|}||z{{z{{{{{|||||||{|{{{||{{}||z{|{{{{{z{{{{{|{|~~~}|~}}}~}|}}}~}}|||||{{|{}||}||{||z{{{{{{z|||{{{||{|z{{{{||{z{|{|{{{z{{{|{||{{|{|{zz{{{{z{||{{{{{{z{{{zz{{|{|{{|zzzz{z{{{z{z|{|{{zz{{z{z{|{|{{{{|{{{zz|{{{|{|{{|||z{{zzzz{{z||{{{{z{{{z{{{||}z||{{{|{{{|{|{{{{|||{z{z{{{{|||{|{|{zzz{{z||{{{{{|||{{{{z{{{||{{|z|}z{z{|{{{z|||{||}|{{{{{|{{|}||||{{z{||z{{{{{|||{|{{{{{|z|{|||}||{{|z{|{|{{|{||{||{{{{}{{{|||||||}|{{{{||{{}||||}}{{{{{|||{|{}}|}}|{||||z|{|||}|}|||||{{{||||||||}|{{||{|{||||{}}||{{{{{{|||||{||||{|z{{|{z|||||}||||{{{{{{|}|{{|{{{{{{{{{||{{|~~~~{|}}{}}||||}|}}|{||{|||||{{||||zz{{{{zz{|}{{{|{{z{{z{zz|{{z{|||z{zzz{zz{|{{{||{{zzzz{{z{{|{z{{{|zz{zzzz{z{{z{{z{yzzz{{{z|{{|{{|{{{{zz{z{|{{z|{{{z{{yyzz|{{z{{||{{{z{zzzzz{{z{|z{z{zzzzz{{{{||{{zy|zz{{{{{{{{{||{z{z{z{{||{{{|{{|z{{z{||{{{|{||{|{{z{{{zz{{{{|{{{{zzzz{{{|{{{|{|{{{z{{zz{{{|{z{|{z{{{zzz|{||{|z|{{z{{{{z||{{{{}{{|{{{z{|{{{|{{||{{{{z|zz|||||||{|z{{{{{{||||||||{{{{{{|{{|{|{||||{{|{|{{{||{{|||{{{z{{{{|||{}||{|{{|{{{{{|{{{{}|||{{{|{{}{{{{|||{{|zz{{{z|||{|||{{{{z{{z{{|{z{|{{{{{{{{z{||{|~~~}~}|}{|||{|}}|}}}|{|{{{{{|||{||||{||{z{{{|||z{|||{{zz{{z{{||{{{|{z{{z{{{{|z{z{{{{z{{zz{z{{|zzz|{{{{zz{zz{{|{{{||{z{{{z{zz{{{{|{|{{{zz{z{z{{{|{||{{|zzyzzz{{z{{|{zz{zzz{z{|z{|{|{{z{{{zzzz|{{{{|||z{{zzz{||z{{|||z{zz{z{{{|{{{|||{{{{{{{|{{{{{|||{{{{z{z{|{{|||{|{{{z{z|{|{z||{{{{{{z{zzz{|{{|{}{{{{|z|{z{||{z|{{{{|{{|z{{{||}}||{z{{{|{z|||||{|{|{z{{{z{||||||}{|{{||{{{{|{|{|||z{{{|||}{{{||||||z{{{{{{|}}|||{||z|{{||{||||||}}|{z{{|{{{|{||||||{z{|{|{}|||||{}{{{{{{{{{||{||{|{|{{{{|{{|{|{||z{{{{{z{{{{{{{~~}}~}}|}|}|}||}}}}|}||{{|z{|z||z|||||{z||{{{zz|||z{||{{{zzz{z|||||z||z{{{z{|{z{{||{{{{zz{zz{{|{{z||}{{{{zy{{z{{|{{|{|{{{zzy{{{{z{{{{{{z{{z{z{|{||{|{{z{{zz{z{{{{|{|{{{zz{{{{z{z{zz{|{{zzzzzz{{|z{{||{{z{zzz|z{{{{||||{{|z|y{{{|{{z{{{{{{z{z|{|{|{{{|}{z{{{{z{{{{||z|{{{{{{{{{{|||{|||{zzy{zz{{{|{||||{{z|{|z{{||{{|{|{{{{|z{{z}{|{||{{{{{|{|{{{|||}|{{{z|{z{{||{{||||{{|||{|{||}|||||{{||{{|{{|{{{|||}{{{||{||||}|}|||{||{{{z|||||||{|{{{{z|||{|||{||}{{||{{|{|{|}|||{|{z{|{{{|||||||{|{|z|z{{|{|{|||{{z{zz{{{{|{|~~~~~}~}}~}|}|}|}|~~}|}}}}|{|{z{{{|{||{|}|{{|{{z{{}|{|{|||z{{{{{{z{||{{{|}{{{{z{{{{||{z{}{{{{z{zz{|z{{{|||{z{zzzzz{|{|z|{{zzzz|{{{z{{z|z|{zz{{z{z{{{}{|{{{{z{{zz{z{zzz{||||{{{{zz{{|{{{|{|}{{zz{{z{{z{{|||{{{{{{{z|||{|{||zzz{zz{z{{|{{|{{{z{z{|{{{{|{{{|{z{{{}|{{{{|z|||{{zzz{zz{z||{{{{|{{{z{{{zz||{{|||{{{{{z{{{|{{||||{{zz|{{{{{|||||{{|{{|{z{|||||||||{{{{{z{{||{||{|||{|{{{{{|}{||}||{{{{{|{|||||||||{z{z|{{{}{|{|{}}{{|{{{{|||||}|||{||{|{z{||||||}{{{{|||{|}{||||||{|{|{z{||||{|||{{{{{{{{{{|}{{{}|{|z{{{{{{|||~~~~~~}~}}|}}|{}~}||||}}|{{|{{{|{||}|}{|{||{{zz{{{|z|||{z{zz{yz|{{|{|{|zz{z{z{zz{||zz{{zz{{{{z{{z{{{z{{z{zz{{z{z{z{z{|{{zzzzz{zz{{{{||{{{z{zzz{|{{{|{|{z{|zz{z{{|{{{||{|zzz{{{z{{z{z{|{z{{{{yz{{{{{{{||{z{z{{zz|{{{|{{{{{zzzz{{{|{z|||{|{{{{{{{{z{{{|||{{{{{{z{{|{{{{}{{z{{{{z{{|{|{|{|{{{{{z{z|{|{{|{||{|{{z{{|{|{|{|{|{|{{{{|{{{{{{||{|{{z{|{{|{||}|}{{z{{|z{{||{{|{{{{zz{z{{||{{||{|{{z|{{{{{|{|||||}{{{{{|{{{{|{|||||{{|{{{||}||{||{z{z{|{{{||{|||||{z|{{||{|{|}{}|{|z{{|{{{{{|||||{z{{{z{z{|||||}|{z{z{{{z||{{{}~~~}~~~|{}||{|}}||||}}{|{{{|{||{|}|}|}{{{zzzzz|{{|||}|{z{{z{{z{{||{{|{{{|{z{{|{||z{{{|{|{yzz{z{{|{z{{{zzzz{{{{{{zz{{|{{zz{zzzz{{|z{{{z|{z{zzy{{z|z|z|{z{z{zz{|{{{{|{||{{{z{yzy{{{{|{{z|{{zz{z{z{{{{|{{{{{{{{z{|{|{{|||zz{{{zzz{||||{|||{z{zz{{{{{{||||z{|{z{{{{|{{|{|{{{zzzz{{z{||{|{|{{|{{{{|{|||{{}{{|{{{z{z{|||{|||{{z{{||||{|||{}|{{{{|{{|||||{|{||{{{{||{}}|||||{|z{{||||}|{|}|||||{|{{|{|{|{}|}||{{{|{{{|||}||}||{{{{{{{|{|{||}|{z{|{|{{{{{{|||}|{{|{{z{{}||{|}}|{{{{}{|{||||}|{{{{z{{{{{|{||{}|{{|{z{{z|{{|{~~~}}~~~}}~||}|{|}||}}}}}|{{{{|{||||}||||z{||z{|||||{{{}{|{{z|{z|{|{{|||{z{{{{{z{|{{{{|{{{{{{{{{{{|||||{{{{zz{{{||{z{{{|{z{{{z{z{{{{{|||{{zz{{y{|{{|{||{{{{{z{{zz|{{|||{{{zz{{z{{z{{{{{|{{zzz{|z{|{{{||{|{{{||{z{}{||||||{{z{{{{{|{{}|||{{{{z{{{{{{{{|{|{{{{{{{{{||{||{|{{|{{{{{{|||{|}|{{{{{|{{|{|{|||{z{{{{{z{|{{}||{{{||{{{{{{||||||}z{||{{|{{|||{|{|{{{|{{zz||}|||}|{{|||{z|}||{||}||||{{|||||||}}|||{|||{||{||{||}}|{|{{{|{}||||||}|{{{|{|||}{|{||}}{{{|{|{|}}|||||{{{{{|{{|||{}}}|||{{|z{z{{|}|||||z{{{zzz|{{||~}~|~}~}}~|}|||||||||}|~|{|{|}{{||||||}{|zz|z{{|{{{|{|{|{{{{z{{z{z|{z{||{{|{z{{zz|{{z{{{{zzyz{{{z||z||{{{z{z{{{{{z|{|||{{{{z{zzz{{{{}{|{{{{{zzz{{z{{|{{{{z{{zzz|{||||{||{z{{{{z{{{|{z|{zz|zz|{zz||{|z{|{{{z{z{{{{{z{||||{z{{|z{{||{|}|{|zz||zz{||||{|||{{{{z{zzz{}|||{||zz{{{{{z|{|{{|{{{zy{z{{{{{|}{||{|zzz{z{{z||{{{{{{{z|{{{{||{|||||{{{{|{|{{|||||{|{{|{|{{z{|{|{|{|{{{{{{{{|||||{||||{{||{||||}|||||{{|{|{|{}{||||{{{|{|{|{|{}}||{|||z{{{{{{{|{{|}||{{||{||{|{||}}|{||{{{z{{}||{|}}|{y{{z{||}}||{|{{|z{{zz{{|||{~~~~~}}}||{|||}|}|}~|||{{{|||||{|{{{|{z{{|{{z{}{{}{}||{{{z{zzz{z{{{{|{z{zz{zz{z{{{{{{|zzz{{{z|{|{{{{{{{zzzzz{z{{{{||{{zzz{zzz{{{{{{{||{z{{{{{{{{{{z{{{z{{zzzz{||{{{|||zz{{{zz{{{{{{{z|zzzzzzy{|{{{{}{z{z{{{zyz|{|zz}||{{{|{{{z{{{{|{|{z{{zz|zz{|{{|{{{z|{zzzz{{|z{||{|z{{zzz{||{|{|{{{{|{z||||{|{|{||{{|{z{z{{{{{|{|||{{||{{{|||{||{{{|{{{{|z|{|{{|}{{z{{{{{{{{{}|||||z{{{{|{|}|||||{|{}{{|}|}{||||}||zzz{{{||}|||||}{{{{{{{{|{||{|||{z{{|{{{{}|{|||||||||{|{{|||||||{z{{{{{{|||{|}|{{{{}z{{{|{{|z{|||{{{|z{{|{|{}~~~}}}~}~|~}|||||||}|}}|{|}}}{{{|z|{}{||z|||{{{z|z{{{{{{{{{|{z{zzzzz{{{{|{{|{z{z{{zz{{{|z|{{{zzz{{z{{z{{{{{{{{{z{z{z{{{{{{{{z{z{zzzz|||{|{{{zz|{{{{z{{{||{{{z{{{{{{{zz{{||||zzz{zzz{z{{{{{{||{zy{z{zz{z{{|||{{{zz{zz{||z{{{{z{{{{z{z||{|{|{|{z{|{z{{|zz||||{{y{{{{{{|{||{|||{zzz{z{z{|{{|||{|{|z|z{{|||{z||{{{{|||z|{||{{|{||z{{{{{{{}|}{}{|{||{{{|{{|{|{||}{{{{{z{{|||{}|{|}z{{{z{{{|{||||{{|{{z{|z||||{|{|{{{{{{{z{}||}|||{||{{{|{{|||{||||{{|{{{{|||}|{||{z{{{{{{|{|}|||{|{{{{{|{||{|||{{{{{{{{|{{{|}{|}|{z}z{yz{{|}{{~~~~~~~}~~~}}}||}||||}|}}}}||}||{{{{||}|}{~|{{{|z{{z{|{{{|{{{|{z{z{{||||||{{{|{zz{z|z|{{{{|{{z{{zz{|{{{{{{{zy{{{{z{z{{{{|{{z{{{{zz{{{|{|{{{zzzzy{zzz{|{{{{{zz{{{z{{z|{{{|{|{{z{{z{z{{|{{{{||z{{{zy{z|{z{||{{z{z{{{z{{z||z|{|{zz{{zz{{|||{z|zz|{{zz{|{{{{|}{{{|{{z{z{||||||{{z|{{{{{{{|{{}{{|z{|{z|z{{{|{{|{zzz{{{|||}|{{|||||{|||z{|{|||||{{}||{z{||{|{||||}{{{|{{z||||{||||{||{z{{{}||||}||||{|||z{||||{||{|{{|{{{|}}|||}||z|{|z{{|||||||{||{z{{|{|{|{||{||{|{{|{||{{|{{|||||{{|||||{|{{|}||{{{z|{{||||||{|{{{zzzz|{||{~}}~~}~~}}~|}|}|||||}}|~}}||{{z{|{z{{||||}|||{{zz{z{{{|{{}|{{z{{{{z{{||{|{|{z{{zzzz{{|{||{{|{{{{{zz{{|{{{||{{{zz{z{{{z{{|{{|{{z{{{{z{{{{|}{{{{{{z{z{{{{{|{|{{{{{zz{{{z{|{||{{z{zyzz{||{{||{{{z{yzz{{{{{||{{zz|z{zzz{{||{||{{|{{{zz{{|{{{}|{zz{{z{{{||{{{|||{{{{{{{z{|{|{}||{z{|{z{{{{{|||{{{z{zzz{||{{{{{||{{{||{{{|||{{|||{{{{{|z{||{||}||{{|{{{{{|{{{{}}||{|{{{z{{|{||||{|{{z{{|{|||{||}}|||{||{{|{|||||||{z||||z|}|||}|}|{{{z|}|}||||}}|}|{{z{{{||||{}|}|{{{{z{||{|||{||z{|{|{z{{||{}|}{|z{{z{|z||{|||||{z{{{{{{|{|{{~~~~~~}}~}|~~~|}{}|{{||}}|||}}|{|||{{|}}}{}}|||z{|{zz{{|||{|{{{{{{{{{{|{{{{|{{{{y{{zzzz{{{{|{{{{{{{{zz{|{{{{{|z{z{y{zz{{{{{{{|{zz{{z{zz{{{{{{|zyz{zz{{{||{}{{|{z{{{zz{||{z{{{||zz{z{zz{{{{|{|{{{{z{z{z{|{{{||{{z{{z{{z|{||{{{|{{zz{z{zz||{||z|{z{{zz{{{{z{|}|{zzz{z{{z|{|{{|}{|z|z{{{z{{{|{}}|{{{|z{|{{||||{}z{{z|zz{{|||{z|||{|{{{{{z||||{||{zzz{|{|{|{{{||||{z{|{{{{{||||{||{{{{|{z{|}|{{|||{{{{{{|z{|{|}||{|{{{z|{{|||||{|}|||{{{{||||{||||}{|{|{{{|{{|{|}||{{{||{|{{||z|{|{{{{{z{{{{||}|||{{{{zz{z{}{||{{{{{zz{z{z|||{|~~}~|}~~}}~|}}~}||}{{{}|||}}}}|{|z{||z|||{|}||{z|{z{zzz|||{{}{{{{{|z{{{{{{||{{{{z{z{{zz{{{||||{z|z{{{z{z{zz{z{zz{z{zzz{{|{{|z{{{y{{zzy{{||{{|{zz{{z{zz{{{{{|{{z{{zz{zz{{{{|{|{zzz{zzzz{{{{{|{{{{zyz{zz{|{{{|z{zz|z{{zzz{{{|{{zzzz{{{{zzz{{{{||{|{{{{{z|{{|z|{{z{{zzz|z{||z{{{|{{{{{{{{||{z{|||z{z{z{{z{||||{|{|{|z{z{{{{{{z}{|z{{|zzz{|{||{}||zzzz|{z{}|{|{||||z{z{{{z{{|||||z|{{{{{|||}||||}|||{{{{|{|||||{}|}{{|{|{{{}|||||}|z{{{{{{|||}|}|||{{{{{|{{|{{|{}}|{|z||z{{|{{|||||z{z{z|{{|{{|{{||{{{{{|z{{{{||}|z{{z{{{{||{|{|~~|}}}~}}}}||}|{||}|}||}}||||{|{{||{|{{{}||{|{{{{{{{{|{|{|{{{{zz{zz{{{{{{|zz{z{{{{z|zz{{|{{{{{|{{z{{||z{{{{{zz{{zzzzy{{{|{{{{zyz{z{|z{|{||{zz{z|zz{{|{|{{{zzzzzz{{{|{|{{}{{zzz{zzz|{{z{{{{|{{{zz{{{{{|z|{{zzzzz{{z{z{{{{{|{{{z|{zz|{{||||{{{||zz{{{{{{||||{{{{{z{{{|{{{{|||z{z|zzz{{|zz|||{{{zz|{zz{{}|{}{{zz{{z{|{||{{|||{||z{{{z{|{|||||{{{z{{{{|||||||}||z{{|z{{{{||||}|z{{{z{{||{||||||{z{|}{|||{||||||{{z||{{{}|}|}|}|{|{{|{{||}||}|||{|{{{{||||}|}||{|{|{|{|}{||||||{{{{zz{{|||||{{{|{{z{{{z{{{||{||||{z{z{{zz|||}~~}}|~}}~~}}}}~~||||{{{}|}}||}~|{{{{|||||}{||{|||{{|zz{{{{||{{{z{{{{{{z|||||{}|{{|zz{z{{|{{{|{||z{{{zz{{||{{|z{{{{{zzz{{{|{{{z{{z{{{{zz{{{{|{{{zz{z{z{{z{|{||||{{{{z{{z|z{{{||z{z{{zz{{{z|z|{{z{zzzz{{z{|{{{||{{|{{zz{|{{{|{|{{{{{z{zz{||{{{||{{z{{z{{z{{|{|{{{{{|{{{{{{||{{{||{{{{{z{{{|{{{||{|z{z{{{{}|{{{||||{{{{{{{|{|{|}{|{{{z}{{{{|||||||{{{{{z|{{||||||||{{|{{|{||||||{|{{{{{{{{|||{}||||||zz{{|||||||{||{{{{{{}|}|}}|}{||{{{{{{|||{||||{{{{{{{{{|||||}}|{||{|{||{|||{|}{{{{{{z{{||{|{}|{{{{{{z{{{||{{|{{{{{{{{{|z|{|}}}}~}~|}}}}}}|}}|{}}{||}|}}|~}||{{|z|{{|{{|||||{|{{{{{{{||{{{{{{{{z{{{{{||{}{{{{{{z{{z|||{{}{{|{z{{zz{{{{{{{{z{z{{z{{{{{|{{{|||z{{{z{z{{{{z{{z{{z{{zzz{|{{|||{{{|z{{{y{|{|{|{|zzzz{{{z|{{{{{|{{z{zz{{{{|{{{|{{|zz{z{z{{{{|{||}{{{z{{{{||{{{{{||{||{{z{{{{z||{|z{{zz{z{{{||{||{|{{{{{{z||||{|{|{{{|{{z{{{|{{||{{{z{{{z{z|{{||{||{{{{z{{{||||||{{{{|{{{{||{|||{||{{|{z{{||||{{}|{{{{{{|{|}||||||{{{{{|{{{|||||||||{{{|{|{}||}|}||{{|{{{{{|}|}}|{{{{{|{{{}|{|{|}}|{|{{{{{||||||{}{{z{||{{||{||||{||{{{|{{{{|}{|||{{{zz{{{{{||z~~}}~~}{}~}}}}}~|}|{{|}||||}}|{}{||{|}||{|{|||}||{{{{{z}{|{||{|{{{{{{z{z{{||||||||{{z{|z{{{|{||{|{{{||{z{{{z{|{{{{{zzz{z{{{|{|{|{zz{{{z{z|}|||{|{{{{zz|z{{{{||{{{{|zz{{z{|{{|||}{{z{{zzzzz{z{|{||{z{{z{{{|{{{|{{{{{z{|{z|{|{||}{{||{{z{{||||{{||{z{zz{||{{{|}|||{zzz{{z{|{||{|||{{z|{z{{||}|||{}|{{{{{{{{{{||{}|{{|z{{z|}{|{{||{|{|{|{{||{}|||||{{|||z|z||||{||||z{|{|{{||||||}||{z{{z|{{}{||}|||||{{|{{{||{||}||{z{||{|{}}}||}||{{|{{{|}{||{{|||{{z{{{{{{||{{}|||{{||{{{|||||||{||{{{{z||{|}||}|{{{z{{{{||||{||{|{z|{zz|{|{}~~}}}~}~}~~}}}}~|}|{}{|{||||}|||{||{z{{{{|{||||}|{{{z{{{|{|}|{|||{{zz{|{|{{|{||}{{|{{{{z|{{|{|{|{{|{z{{z{{|zz{{|{{z{{{{{{{|{{||{zz{{{{{z{{}{{|||{{{{z{z|z||{||{|{|zzz{zz{{||{{|{{z{{{{z|{|{{{{|||z{zz{{z{{z{|{{{{{{{{zzz{|{{|{||{{{{{{{|{||{||||{{{{{{|{|||{||{}{zz{{z{z|{}{|{|||y{{{z{{{|||||||{z{{{{{{{|||||}{{|{{|{{{{|{|{|}||{{{{{|{}{||}|}|{|{{{{|{|{{||||}|{}|{{|||||{}}|||{|z|{||{|||{|||{{{{{||{|||{||||||{{z}{{{}||}}|}|{{||{|{~|||}||||{{{z|z|{{{{}|}{|{{{|{{{|||||||}|z|yz{{{{}{|{|~||{{{{z{{||}{{||{{|{|{z{{|{{{|}~~}~}|}{~~~}|}|{||||{|{{}|}~{||}|{|{{{{{{{{||||||{{{|z|z|z{|||{{zz|z{{zz{|z}{|{}{z{zz{{zz{{{{{|{{z{z{z{z{{|zz{{{z{{zz{zz{z{|{{{|z{{{{{{z|{{{{|||zzz{z{z{{{{{|z{{{z{|zzzz{z|{||z{{{zzzz{y{{{{{{{zzz{{{{z{{{{{{||{|{{z{{zz{{{{z|{|{{|z{z{z{|{|z{{|{{|{{z{{|{{|{{{{z{{z{z{|{|{{{|{|{z{{z{{z|{{{{|{||{{|z{{zz|{{{z|{{zz|{zzz{||{{|{{{{{{{{{{{{{|||{{{{{z{{|{{|{|{|{|{|{|{zzz|{|z|}{{|||{|{z{||{}{||}|{{zz||z|{}|~||||z{|z|{|{|||||}}|z{{z{{{||{{||||{{z{{{{{{z||||||{{{zz{|{||{{||{{{{z{{zz{{||{{|}||{{zz{{{{|{|{{{{{z|{|{zz{{{|{~~~~}}~}}||}}}~~|}||}||{{{|}{||{|}||z|{{{{|{{|}}}|{{{{{{{{{}|||{{}{{{z{{zz||{{{|{}{{{{{{{{{{|||z{||{z{|z{{{{|zz{{{|{{{{{{{{{{{{|{|{|zz{{{z{{{z|{||{z{{y{{{|{|{{|{{{z{|z{{{{{{|{{{{{|{{{{{z|{{{z|z{|{{z{{{{z{{{{{|{{z{z{{{{{z{|{|{||{zzzzz{{{{|{|{|{|z{{z{{{{{{{{|{z{{{{{{z|||{{|{|{{{z{z{|{{||{|{|{{{{{{{z{{|||}|{|||{{|z{||{{|{{{|{|z|{{z{|{||{|}{{{{{{{{{|{||}}||z|{{{{{{|||||}||z{{||{{||||||||{z{|{{||{}||{|{}|{{{z{{||}}|||}~{{|||{{|||||||}{}{{{{{{{|||}|{}|{{|}{}z||||}}|{|||{z{{|z{}|||{|||{|{{{z{{{{|{{{|zz{{|{{{{}|{|~}~~~}}~}{||~}||~||||{}||{||}|{}|}{{{{z|{z{{|{|}{{|z{|z{z{{{{z{||||{{{z|zz{|}{{||{{z{z{{{{{|{|{}|{|{{z{zz{z{|{z{|{zz{{{{{{{{z|{z{{z{z{{z{|{{{{z}{{z{z{zzyz{{{{{z|{{z|zzzzzzz{|{|{{{{z{zzz{{{{zz{{|{zzzz{{{{|{z|{{{{{{{|{zzz{{{{|{}{{{z{{|{{{|{{||{{z{zy{{{|{z{||{|z{{zzzz{{z{||{|{{{{{{z{{{~{}{||{{{{|z|z{{{|{{{|{{{{z{zz{{{{|{|{|{{{z{{z{|{|{||||{||{{{|{||{|{|}|||{|{{{{{{||{{}|{{z|z{{{||{}{|}}{{{|{{||{|{||{|||{z{z|z{{~}||{}|{|{{{{{|||{||{{||{z{{zz{{|z{|}|||{{||z{|||{}{}|||{{{{{{z{{{|{|{|{{{{zzzz|{||{||{z{{{z{{{{{{{{~~}}}~~}|||~}~}|}~|||{|}|z{||}|}{|||{|{|{|{|{||{|||{y||{z{{z{||{||{{{{{zz{z{{|||{|{}{|z|{{z{||{{{|{z{zzz{{z{{{|{{{{|{{{z{z{|z{{{{{{{{z{{zzz{z{{||{{{z{z|zzz{{{{{||{zzzzz{{z|{{|{|{{{{{zzzz{z{{{{z{{{{zz{{{z{|{{{{|{{z{{|{|z{{{{{{}|{{zzz{zz{{|{{{{{{{{zzz{{|{|z{|||zz|{z{{z{}{{}||{{{zz{zz|{{{|{||{zz{{{{{{z{|{{||{{{{{{{{|{||{{{{|{{{z|{{{{||{||||{{||{{|{{||}||}|{{{|{{|{{{{{|||||z{{{{{{|}|{||||{{{{{{|zz||||}||||{{{{{z{|||{|}{{{{|{|||}||||}|}|z|{|{{{{||||{|}|{{{|{{|{|||{||{|{|z{{{{||{|{|}||{{z{|z{{|{{{|}{{{|z|{||{|z{{}}}~}}}{||||}||}~}|}|{}|{{{}{|||}||{{{{|z{{|z{{||||{{{{|zz||{{{{}||{{|{{z{{||||z{{|{{{z{{{y{{zy|{{|||{zz{{z{{|{z{{{{z{zy{z{|{{||{||{zy{{zzz{{|{|{|{|zz{zzz{|{{z{|{{{zzzz{y{z{z|{||}{zzzz{{zz{|{{|{||{{{z{|{{{|{|}|{{{{{{{|{z{|{{|{{{zz{zzzz{{{{z{{|{{{zz{{{|{|{|{||z||zz{{{{z{|||||{{|{zy{{z{{{{|{||zzz{{{{{{|{{{|{|{{{z{{{{|z{|{{{|{{{{{zz{{||||{{z{|z{{z{|{|}{|||z{||{zz{{|{||||{{{{{{|{{{|||}{||{||{z{{{{|{|||{|||{|z|z{|}|~||{|||||{|{{|{|}|}{}|{|{|z{z{||}}|{{{{{{|{{|{||{|{||{{|z|{{z{||||||||{{{{z{z{{|||||{{{{z{{|{{{||{|~}}|}|||}~|~~}}}|}|{|{z|{{||||{||||{{z{{{{z{|{{|{z|{{{{zz{{{||z{|{z{z{{zzz{z{|{{{|{zzyz{zz{|z{z||{{{{zyzzz{{{{z|{z{zzzz{{z{z{{{{||zyz{{{z{{{{{{z{z{z{{zzzz{{{z{||{{{{zz{zz{|{|{z{{z{{{{zzz{z{z{{{{{{zz{zz{z|{{z|||{zzz{zzy{{{|||{|{zyz{zz{{z{|z{z{zz{zzzzz{|z{{{{{z{|z{y{z|{|{||{|{{z{{z{z{{{{|{||{z{z{z{z{{|z{||{{{{{{zz{z{{{zz{{|{{|{{{{|{||{{{|{z{z{{||||z}{|||{{z{{yz{{|{{||}{{z{{|{{{|{|z|{{{{{{{||{{z|}}||{||{z{z{z{{|{{{|||{{{|z|{z|}{{||||zz{||{{{{|||{{|{{{{{{z{{|{{|{|z}|{{zzz{{{{|||{|{{zzy{{{{{||}{{{{z{{{z{{zz{||{|~}|}}|}}|{}}{}|~~}||||||{|{||||}|}|{|zz|z{|z{{||||zz|{{{{{{z}{z{{||{{{{{{z{||z{z{{{z{zz{z{z{|{{{{{{zzzzz|zz{{{z{{zz{zz{zzz{{{{||z|{{z{{zzz{|{{z{z{{{zzz{zz|{{|{{{{{z{{yzzz{{z|||{|zzzzzz{{{{{zzz{|{z{zz{zz{{z||{|z{z{{z{zz{|{|{{|||z|z{z{{{|{{{{||{zz{{z|{{{{||{{{{z{zz{{z|{{{|{{{|{z{{{{{{|||{{{|||{{{{{{{|{{{{|{{zz{|{{{{|{{{{{{{zz{}{zz{{{{{}{|{{zz{||{{{{||{|}|{{|z{zz|||{||{||z{{|{{{|{{|}|{||{{{z{|}{|{{||{|||{z{{|||||{|{||||{{|{{||{{}|||{{{{{|z{{|||{{|{|{{{|{{{{|}|{{{{}{{z{{|{{|{{{|{|{|{{{{{z{{|{|{||{zzzz{zz{||{{{~}}}}}|||}}}~}|}||}|{|{|{{{{|{||}|{{|{{{{{{{{}|||||||{{{zzz{{{{{{|{|{{zz{{{{|{|z{||{{{{{z{{{z|zy||{{{{z{{zz||{|{{}|z{{z{{z{|{{|{|||y{{z{zzz{{||{{{{{{{{zzz{|{|{|z{{zz{z{{{z{{{{{||{{zzzz{{zz{|{{{z|{{z{{zz{{{{{{{|{z{zzz{zz{z{{{{{|{zzz{z{{{{||||||z{|{zz|z{z{{{|||{zzz{{{{z{|{{|{}|{{|{z{{{}{{{{|z{{{{{zz{{{{{|||{{{z{z{z{|||{{{{||{{{z{{|{{||||||{{z|{|{{||{|||{{{{{{{{z{{{}|||}{{{{{{z{{||{||||{{{{{{{|{||||||||{{z|{{{{|}{|}|{||z{{{{{{|{||||{|}z|z{zz{{{|||{}}|{||||{{|{{{|{}|{{{{{{{{{||z{||{|{{{{{{{||{|{|||{z{zzz{z||||{}|}}}||}||}}}}}|}|{{{|{|}{||}||||{|{{{{{{{|{{||}|{{{{z{{z{|||}{{}||zz{{zzz|{|{||{||{{{z{z{{{{{{}{z{{{{{zz{{{{z{{{{{{{zz{{{|{z{z||{{zzzz{{{{{{zz||{{z{{zzy{{{{|{z||{z{{zz{z|{{{{{{|zz{zzz{zz{{{{{|{zzz{{yzzz{z|{{{{{{{zz|z{{{z{{|||{z{{{zz{{|{{{{}{{{{{{z{z{{{|{|{{{{{{{z{z{{{|||||z{{{{zz{{|||||{{z{{z{{zz||{|{{|z{{{{{{{{|{|{||{{|{{{{{{|z||{|{||{{{{{{{|}{{||||}{|{|{{{{|||{{}{|||z{{|{{{|||||}}{|{zz{{||{|||{|||{{{z{{{{|{}|||||{{{{{{zz||{||||{{{{{{{{{||||||}{{|||z{{{|||}}||{{{{{{{{{{{|||||{{{{{{{{|||||{{{|{{{{y{z{||{{}~{~~|}{||{}}|}}||}|{{{|{|||}|}|{}}|{{{{|zz{{{z|||{{z{{zz{{{|{{|{}|{{z{{z{z{{{|{||{{zz{zzzz{z|{||{{{{{zzzz{{{{zz{|{{zzzz{zy{{{{z{{{{z{zzyz{z|z{z||{{{zzz{z{{{{{{{|{z{{{yzz{{{{|{|||{{yz{z{z{zz{{{z{{yz{z{zzz{z{{{{{{z{{{{{z{{{{{{{|zzzz{zz{{{|z{{||y{{zzzz{{z{{{{{|{{{{z|zz{{|{{{{{z{{{{y{{z||{{{{|{{{{{{z{{||{z{{{{{{|zzz|{|||||{|{{{{|{|{{{|||{{{{|{{|||{{{|{|}|||z{|zzz{{||{||{{{{{{{z{{{|{{|{{{}{{||{{{||{{|||{|{{{{{{{|{{|}||||{{{{z{|{|||{{|||z{{{{z||{|{{{}|||{{{{{{||||{||{z|{{{{z{{{{|{||{||{{zz{z{|{||{|}{{{z{z{{{|{{|~|}||{||}}{||||||}|||||{|z|{{}{||}|{zz{{{{{{{{{|}||zz{{z{z{{||{|{|{||zz{z{zz||{z||{{{{{{{z{{{{{{{{{{{{{{zzz{{{z{{{{{{zz{z{{{{{{{{{{|z{zzz{zzz{{{{|||{z|zz{{{{{{{{{{{{|zy{{z{|{{{{||{z{zz{{z{||{{}||z{|{z{zz{zz{{{{|yz{zz{{z|{z{{|{|{{{z{zy{z{{{{{||{{{z|{|z{{|{{{||zzz{{z{zz|{{{{|||{{{z{{{z{|{||||}{{zz{{{|{|{{{||{{{{{{{z||{|{|}|{{{{{{|{|||||}||z{}{z{{|||{|{|}{|z{{||{{|||{|||||{{{{{{{{}||{||||{{{{{|{{||||||||{{||||{||||}||||{{{{|{z||{||||{{zz|{{z{|{||||}|{{z{|{{{{|{}||}|{|z{{{z{z||{z|{|{{|{{{{z{{{{||{|{{zzzyzz{|{|{~}~||{|||}{|}}}}||}|{{||{{{}}{{{|||{{{{{{{{{z|{|{|{{z{{{z{z{{{{|{{|z{{zz{zy|{|{{|{{{{{{{{|zz{{{{{{|{{|{zzyzzz{{{}|{{{{zy{{z|{{||{{|{z{zz{z{{{z|{z{{{zz{zz{z|z{{||||{{z{z{yz{{{z{{||{{z{{z{y{|{z{{z{z{{{{zy{{{{{{{{{{{{z{{{{{{|z{{|{{zz{zz{z{{{{}{{|{{{{z{{z|||{z{{|{{{{{{{z{z{{|{||{{{z{z{z{{|{{|{|{{{z{z{z{||{{{{{|zz|{{z{{{||{|{||{z{|{{{{{||{|||{{{{{{{|||{||||||z{zz{{|{{|{{}|||z{{|z{{||{||{|}{z{{{|{{{{z|{{}|{{{{{|{{{}||}|||{z{|z|{{|||{{||||z|z{zz|{}|{||}|{{|{{{{{|{{}{|||{{{z{{|{|{|{{|||{{{zz{{z{|{}{|{{{{{z{zz{{{{|{}|}||{|{||||}|||}|}|{{{z{|{|||||{}{{|z{z{{zz{||{{}{|{{z{{{{z{||{{|{|{zz{zzz{{{{{{|{{zzyz{|{{{z{{{z{zz{{{zzzz{z{{z{{{zz{zyz{{yz{{{{|yz|z{zzz{{{zz|{{{{{{zzz{{|{z{{z{zzzz{{zz{{{||||z{z{{{{zzzz{{z{{{{z{{z{z{z{{z{||{{{{{zzz{{z{{{{{{zzzzz|{{z{{{|{{{{z|{zx{z{{z{{|{|z{{{zzy{{||z{z{{{z{zyz|{z{{{{|{|{{{{|zzz{{|{z{|{{{{zz{|z{{{|||||z{{{{{z{|{{|{{||{{|{{z{{{{||{|||{|z{{{{{||||{||{{z{zz{zz{|||}|{|{{{|z{{|{|z|}|{||{z{z{{z|}{|||||{{|{{z{||{{||||{|{z{{{zz|{{{{}{|z{{z|{{{{|z{|||{z{z{zzz{|{zz{{|{{zz{{{zz{{|{{||{{{{z{zz{|{z{z}~}{|{{|{z||}||}}{|||{{{{|z|||{|}||{{{y{{|{{{{{|{|{|{{|zz{{{{|{z{|}{z{zz{{{{{{|{{{|z{|z{z{z{z{z{{{{{{|z|z{{{|{z{{{|{zyzzzzzzy|{{{|{{z{z{zzz{||{|||{{{{{yzz{{|{{{{{|{{{zzzzzz{|{{{}z{zz{|{zzz|{z{|{|zzz{y{zzz{{z{{z|z|zz{{{z{z{|{|{{{zzzzz{{{{||zz|{{z{zzy{z{{{{z{{|z{{{{z{z{{{{{{{|{{{{|zz{{|||{|z|{z{{{zz{{|{{{{}{{{|{zz{{||{{|{||{{{{{{{{{{{|{{|{{|{{{|{{||z{||{|{z{{{{zz{|{|{}|{{zz{{z|z||{z|{}{|z{{{{|{|z|{|}|{|{{{{z{{{}|{|||{|z{{zz{z||{||}|||{{{{{|{|{||{||{{|{z{{{{||{|{{|{{{{z{zzz{{||||~{{{{{z{{{{{{|{{|z|{{{z{zz{{{|{~|}{|||{|{{{|||||{}}|{||z{||}{|{|||{{{z{{z{{{|{{{{||{{|{yzy{||{{|{|{z{{{{zy|{|zz|{|z{|zz{{z|zz{{{|{{zzzy{zz{|{{z{|{{z{zyzz{{z{z{{{{{zz{{z{{zy{yz{{{{zy{z|z{{{{{{{{{zz{zzz{zz{z{{{{|z{zz{zzzz{{{zz{{{y{z{{{zz{zzz{{{{{{{{{{{{zz{{{}|zzz{{{zzz{||{{{{{z{{{zz{||{{{{}|zz{{{zzz{{{|{||{{zz{zy{{{{{{{{|{{zz{{zz{||{||||{|{|{{zzz{|{{z{{|{zz{|y{{{|{}{||{{{|{{|{{|{{{||}|{zz{z{{{{||{|{{|{{{z{zzz||{}z|||{{{{z{{{{||{{||{{{{zz{{{||||{{||{{{|z{z{}|{||{|{|{{{{zz{{{|{{z|||{z{{{{{|||{{{{||{|z{z|z{{{|{|{{{{{|{{{z{|||{||{{z{zzzyz{{{|{}}||{|||{{z|}}|}|||{|{{|zzz{{{{{}{|{{{{y{zz|{{|||{|z{{{{{|z|z||{||{{z|yzz{y{{{{z{zz{z{zzzzzz{zz{{{z{{{zz{zz{{{z{{|z|{z{y{z{zz{{{{{|zz{{zz{z{z{{z{|{{z{zy{z{{{{z{{|{{z{zy{zzz{{z{{||{{{{zy{z{{zzzz{{{zzzzy|zz{zz{||zz{zzz{y{{{{{z{||{{{zzz{z{{{{z{z{zz{{zz{{{{z{{{z{{z{|xz{|{|{z{{{|{z{z{zzz{{|{|||{{{z{{z{{z{{|{|{z{zzz{zz{{{{{{|{{{zzz{zz{{|{|{|||zz{{z{{{|||{{{||{{{{z{{z{{||{{||{{{{zz{z|{{}|{|z{{{z|z{{||{{{{|{}{z{zz{z{||z{{||{{{|{{{{|{||{}{|zz{{{{z{|||{{|||{{zz{zz{|z{{z{||zzzyzzzz{|z|||{||{{zz{{zz||{{{}z{z{z{{zzz|{{{|||||{|{{|z{|}{||}~z{{|{{{z{}{{{||||{{z{z{{|{{{{{}{z{{zz{{{{{{|{{||{{{{z{{y||{{z|{{{{{z{zzz{{{zz{{{{|zzzz{zzz{{z{|{{z{{{{zz{{{{{|{{z{zzyz{{z|{{{{{zz{y{z{zzzz{{{{z{{{z{{yzzz{z{zz{{{z{{zyzyzzz{z|zz{zyz{zzy{|{{{{{{{yzz{{|{z{{z{||{{zz{{zzz{{{z{||}z{z{{z{zz{{{{|{|{z{|z{{z|{{{z{{|{{z{{zzzz{{}||{|{{zz{{{z{||zz||{{yz{{zzz{{{{{{{|{{{|{{{z{{{|||||{||{{{|{||{{}|{|{{{{zzz{{{|{{|{||||z{|z{|||{{|||{{{{|{{{||||{||||{{zz{{{{|{|{}{{||{{|z{{|{|{||||{z{{{{{y|z{{|{|{|{{{|{z{|{|}{|||{{zzzzz{|{||{{|{{zz{yzzz{|z|{|||{{{z{{{{{{{{|}}}|||||{|{}}}{|||}||{|{{zz{|||{|||{{{zz{zz{{|{{{||{{{zzzzz{{|{{{{z{{|zzz{{{{{z{{{|z{zzzz{{{{{{{{{{z{zzzz{zz{|z{{{|{{{z{y{z{z{{{{{{{z{zz{zzzz|{{z{z{yz{z{yyz{{{{{{z{|{{{zzzz|z{{{{{{zz{z{zy{zzz{z{{z{zzzyzy{{{{{|{{zy{zzzz{z{{{{{|{|{zz{yz{{{{{{|{|zzzzzzzz{z{{{{{{y{{{zzzzz{{z||{|{z{zzz{zz{||{|{|{z{{{{{z{{|{z||{zzz|{{{{{{{{{||||z{{{zzz|||||||{zz{{z{|z{|{|||||{{{z{{{zz{|{||{{|z{{{{{|{||z|{||{zz{{|{{{|{||||||{{{z{{{{|{}|{||{{|{{z{{|{|{|{{|{{{z{z{|{{z{||{|{zzz{z|{}{{{||||{{{{|z{z{{||{|}{{{{{zz{{z|{||||{|{{z{{zz{|{{{}|}|||||||{{}||{|}}{{{{|{yz{||||||}|{|{|z{z|{||{|||z{{{{z{y|{|}{|||{{{yz{zz{|{{{{{|{{zzz{{z{{|z{|{{z{z{{y{z{{|zz{{{{{zz{{{z{z{|{|{{{zzz|z{{{{{z{{|{{z{|z{yzyz{{{{{|z{{{zzzz{{z{{{{{{{zz{zzzz{{{|{{||{|{{z{zz{z{|{{{{z{{{{z{z||{z{|{{{zzzz{{{|{{z{{}{z{{zzzz{|{{{|{|zzz{zz{z{|{|{{||{z{{z{zz{|{{{|{{{{{{{{zz{|{{||||{{z|{z{{||{z{{{||{z{{{{{|{|||{{|{{|{|{{z{{{}{{||{{zz{{{z{|{{|||z{z{{{z{z{{{|{||{{{{{{||{{{{{||{}|{|{{|{{||{|{|{||z|{z{z{||{{{{|{{{|{{zz||||{}|}||{{{{{{{|{|{||||{{{zz{{z||{|{{}|{{{{z{{{{|}{{||{z{{{{|{{{|{{|}}||{|{||{{{|||{|||}|zz{{{{{{||||||{{{{{{{{|{{|||||{{{{{z{{{{|{{{|}{{{zz{{z|z||{{||{zzz{z{z{{|{{||{{{zzzzz{{|{{{z{{{zzzz{zy{{z{z{|{{{zzzzzzzz{|{|{{|{z{z{y{{{{{z{{{{z{zz{{z{{|z|{{{{z{{zzz{z{zz{{|z|zz{{{{z{|{{||||{{{{{{zy{|{{{|{{{{y{zz{{{||{{|{{zz{zz{{{|{||{|||zz{z{{zz|{|{|{}{z{{|zz{z{||{|{|{zz|{{{{z|{{||{|||z{z{{{|{|{{z|||{{z{{{{{||||}||{{{{|{{|{||{{||}{|{|{{{zz{||}||{|{{z{{{{|{|||{}~{{{{{{{|}z||{|||}|{|{{{{{|}||{{||{{{|{{|{{{|{|{|{{{{{{{z{||{{|{||{{{{{{{{||||{{|||{|{{{{{z|{{{{||{z{|{{{{{||{|{{{|{|{{z{z|{|{|}|{z{{{{z{z|}{{{{|||{|{{{{{{{|{z{|{{{z{{{zz{{|{{{||{zzzz{z{zz||{{|{{{{zzzzy{{{{{{z{{{zz{z{z{{{{{{|{z{{y{y{z{z{z{{{zz{{zz{zy{{z|z{{zzzzzz{zzz|{{z{{{{z{zyzy{{z{{{z{|zzzzzzyz{{zz{{||{zzzzzzzz{{zz{{zz{{yzzzzzz{{{{z{zzzz{{{zz{{{z{{{zz{zz{z{z|{{z{{|{zzzzz{z{zz{{|{|{zzzzzzz{{{z{z{{{z{{{zzz{{|{z{{|{{z{{zz{{{|||{{{|{{{z{zz||{{{{{|{zzy|y{{{||{{|{|z{{z|z|z{{||{|{{{z{|z{{z{|{{{||{|zz{z{z{{|{|{|||{z|{{z{{z|{|||{||z{{{z{{{|{|{|||{zz{{{{z|{{{z{{{|z{z{z{z{|{{|{|}|{{{{{{{{{|{|{||{z{zz{{{zz{{{{{|{{{{zzzz{z{{|{{{{{{y{zzy{{z{{|{}}z|{{{{{|||{{|}{|||{{{zz|{{{||{{{{z{{zzz{{{{|||{{{zz{{z{{|{{{{|{|{z{zzzz{zz{{||{{{|z{z{z{{z{|{{{z{zzzzz{{z{{z{{{z{{z{zzz{z{z{{{{{zzzzyzzz{z{{{|zz{zzzzzzz{|{{{||{zzzzzzz{{|{{{|{zzz{yzzzz{z{|{{{{z{zzz{zzz{{z{{zzzzzz{zz{{{{{{{{{zyy|yzyz{|{z{|{{z{{z{z{{|{{{z||zz{zzzz{z{z{{{{{{{zz{zz{{{z{{|{|{zz{zzzz{{{|{|{z{{z{{{{{{{{{{}{{|z{z|{z{z|{{{{||{|{z|z{z{|{}{{{{{{z{z{{{|{{{|||{{{{z{zzz{}{{|{{{|z{{zz{|{||{||{{{zz|z|z{||||{|}{{{z{{z{{{|||{{{||{z{{{z{||{{||{{{z{{z{{{||{|{{||z{{y{zzzz|{{{{||z{z{z{{z|z{|{z{{zzzz{z{{z||{{}||}||z|z|{|}|{|{|||}{{|{zz{||z|||||{zz{{z{|||{{{||{{{{{zz{|{{{{|{|zz|{yz|z|zz{{}{|{{zz{z{zz{{z{{{||{{z{z{{zz{{{||{z{{{z{zz{{{{{{{}y{zzzzzzz{z{|{{|{zzzz{zz{{|{{{{{{y{zzzzzy||zz||z{z{{{{zz|z{{{{{{{zzz{zz{z{z{z|{|z{z{z{{z{|||{|{{{zz{{zz{{}z{||{{zz{|y{{z{{{{{{{{zzz{{{{{{z{||||{{z{z|y|zz{||{|{{{z{z{zz{zz|zz{||{{z{{{{{||{|{{|{|{z|{{|{{{{}{|{{z|{{z{|{z|{||{||{{zz{{{z{||||{||}|{zz{{z|{|{|{{||{{{{|||{{||{}|||{{|{z{{{|{}{|||{{z|z{{{||||{{{||zz|}{{{|{{|||{|{{{||{{{||{|{||||{{zz{{z{{{||||||zzzz{|z{{{}{|{{{z{zzz{{{z|z{}}|}{{{|{{zz|{}{{{||{z{|z{z}{{|}||}z{zz{{|{{|{||{{{{z{{{{z{{{z|||||{{zz{zzyz{{{{|{{z{z{zz{{z|zz{{{{z{z{zzzz{z|{z|{z{{{zz{z|{|{z{|zz{zzzzzz{{{|z{{{{zz{yz|z{{{{{|z|{{z{zy{{z{z{{{|{|zzzzzz{z{{{z{|{|{{z{zzz{{{|{||{z{{{z{{zz{{{{{{{|{zz{{zz{{|{z{{|{{{|zzz{{{|{{{{{zzz{z{z{{||{{{z{|z|z{zzz{z{{z{{|{zz{{{z{{{{{|{{|{{z{{{zz||{|z{|{|{{z{{{{{{|{{|{{{z{{|{{{{{{{|{||{{{{{{|z{{{||{{||{{{|z{{{|||||{||{|{{{{{z{{{{|||||{{{{|{{{{|}|{||{{||{{{{||||{||||{|{|{z{{|{|{||{{|{{|{{{{{{||{{{{{{{z{{{|{||{{||z|{{{{{{{{{||{}{{{zzz{{{{|{|{}{}{{|{{{{{{||}{||}||{z|{{{z||{|{}||{{{{{zz|{{|{}||{{zzzz{{z|{{{|{|{{zz{y{{{{{{{{{|z{zzz{zz{{{{z|{{{{z{zyzz|||zz|{{{{{yz{z{{y{{z{{{z{zzyy{z{{{{{||{{z{zz{zz{{{{z|{{{z{zz{{{{{{z{{|{{{zz{zy{z{{{{{{{zz{zzz{z{{z{z|{{{yzzzzzzz|{{{{{{{z{{zzz{z|{{{{{{z{{{{z{|{z{{||{{{{z{{{z|{{|{{|{{{|{zzzz{||||{{{||z{{{z{z{{|{z|||{z{z{{{{|{|{{|{{{z{z{|z|{{{||{{|{{{z|{{z{{||{|||{|{{z{zz|{}{|}|{z{z|{{|z|{||||||{z{z{{|{{{|||||}}{||{|{{|}||{||||{{{{|{{{{|{|{}|{{{{|{{{{|{|||{|||z{{{z||||{{}|~{|z{|z{{{||}|{|{{{zzz|{z{|{|||||{{{{zz|z{{{{|{|{z{z{{{z{{|{{{|||{{|z{{{zz|{|{{|{|zzz{z|{{z{{z{{|{{zz|z{zz|{|z{{|{{zyzzzz|{{||{{{yz{zz{zz|{z{{{{{yzzzzzzz{|{zz|z{{zzzzzz{{{zzzz{{zzz{{z{z{{zz{{|{{{zzz{z{{|{{{{z|{z{zyzz{z{|z{{|{{{zz{zzzzzz{{{{{z{{zzzy{z{{{{}{{{zzzzzzz|z|{{{{{{z{z{yzz{|{{zz{zzz{{zzz{zz{{{{z{z{{{{z{{{{{{|{||{{{zzz{zz{{{{{{}z{{zzzzz{{{{{||{{z{z{{{z|{|{{{|{{{{{{z{z{{||{|||zz{z{zz{|{{|{||}|{{{{z{{{|{|||||{{{{{{{{{~||{|||{z{{{{{||{|z|{|||{{{z{{z{|{{||{{{{{|zz{{||{z||||}{zzzzz{||z{{{|||{z||zz{||{|z|||z|{z|{zz{|{|||||{|z{{yz{{{|{{|||{zzz{zz{{{{|z}{||{z{{{{zz|z{{{|}|{{zzz{{{|{|{|||{zzz{z{z{||{{||||zz|{z{z{{{{{z{|{{{{yz{z{|||{|{{zz{z{z{{z|zz{||{zzzz{zzz{z|zz{{{zzzzzzzz{{{{z|z{{{zy{yzz{{{zz{|{{z{z{zyz{z{z{{{{zzzzz{z{{|{{zz{zzzzzzyzzz{zzz{{{{zz{z{zzz{zzz{{{{zzzzzzz|{zz{{z{zz{z{zzz{{{|z{z|{zz{{z{z{{|{{z{z{zzzzyzz{z{z{{{{zzzzzzzzzz{|{|{{z{{{{{{{{{|{z{{{{{{{{{yz{{|{|||{z|{{{{z{||||||||{{|{{{{z{|{{{|{|{zz{z{z{{}|||{|{{zz{|{{z{{|z{|{||z{{{{{z{}{{{|{{|{zz||{z{|{|{||{{{{|{z{{|{||{|{}{z{z|{{{{z|{|{|||{{{z{{z{{||{|}{{{|z{|y{{{{{{{|{|{{{{{{z{{{{{|{{{{{z{{zzz{{{{|{|{{z|z{z{{{{{{|||{|{{{{|{{||{|{{{{{{{{|{z{{||{||{{{z{zyzz|{|{zz||{{|zzzzz{||{|{{|{z{z{{zzz{|{z{{|{z{{{{zz{z{{z||zzzzzzzyz{{{{{{{{{yzz|zz{z{{|z{}|{z{zz{y{{{|{{{{|{yz{zyzzz{z{zz|{|z{zzzzz{{z{{{{{{zz{{{zz{zz{|{{{{y{z{{zzz{z{{|{{|{{z{{{{{z{zz{{{{z{{zz{z{{{{{{||{|zz{{{{{{{{{{{{{z|{{{zzz|{{|{|{{{{{z{{{{{{{{{{||z{{{{{z{|{{{|{{{{z{z{zz{{{{||||{{{zz|{||{||||||{{{{{{{{{{{|||||}{{{{{{z{{||||||z{|zz|{{{|{z|{||{{{{{|{{||||{|}||{{{zz{{{||{|||||{{z{|{{{|{|{{||{z{{{{z{{{{||{{|{|zz{{{z{{|{|{{{||zzzz{z{|{{|{{{{{{{{zz{|{{{{||||{{||}{z{||||{|{{z{z{{{{{{{{|||||zzzz{{{}z|{|{{{{{yz|zzz{|{{{||{z{{z{z{{{{{{{{{|{z{zz{{z{{{{{{|{zzzzzz{z|{{{z{{{{z|{yz{z{z{{{{{{{z{z{zzz{{||{{|{{{z{zzzz{{{{{{{{{{{{xzzz|{|{{|{{{zz{zyzz|{{{|{{{{{zzzz{z{{{zz||{zz{z{{zy{{||{|}|{{zz{z{z{{|{z{{{{z{zzz{z{{|{|{{|{z{{{{zzzz{{|{}{{{z{zzz{z|{{{|||{zzz{{z{||||{{|{zy{{{{{|{|{{|{|||{{{{{z|||{{||||y{|z{{{{|z||||||{{{{{{{|{|||{{|{|zz{|{{z||{{{|}|{{|{z{|{z||{||{{|{{{{|{{|}{|z||{|{z||{{z{||||{|{|{z{{{{|{{|||{{|{{{{{{{{{|||{|{}{|{z{z|z{{{{|}}{}|{{z{{zz|{|z{|{{{{z{{{z{{{{{|||{{|{{z|z|||}||{|{|{|{z{z{zz{{|||{{{{{{{||||{|||{|{z{{{{z|{|{{{|||{{zzzzz{{z{|{{|{z{{z{{zz{{{|{{{{zzzz{zzz|{{z{{|{zzzz{{{z{{{{{{{zzzzzzyzzz{|{{{{{z{zzzz{{z{{{{{|{|zzzzzy{z{{{{{|{|z{zzzzz{{z{{{{{{{z{zzzzz{zz{|{|z{zz{zz|{{|{{||{zzzzzy{{{{{|{{|{zz{{zz{{z{{{{{{{z{z{z{z{||{{{{{{z{{zzz{z|{{{{|||y|zzzzz{|{{{||{{{{{z{z{|{||{|{{{|z|{{{{z{|||||||{|{z{{{{{{}{{||{{{{{z{z{||{{||||z{{{{z{{||||||}{{{{{{|{z||||||||y{{|{{z{||{||}}|||{{|{{{|{|{|||{{{{|||{{|{{|||||{|||{{{|{{|||||{{z{{{{{||{{{|||{{{{|{{{{{z|z||{{{{y{z{{{{|{{z|}{{{{zz{{||}{{}{||{{{{{zz{{{z||{{{{z{zzz{||||{|{{{z{{zzz|{{{|{{{{|z|zz{{z|{{{{{{|{{{|z{zyzz{zz|{{|{{{{{zz{{|z{{{{zz{z{{zzz{{{{{{|z{zzzzzzzz{{z|{{{{{z{{{|{|z{|{|{{z|zzzzz{{{{{z{{zz{{{zzz{{{z{{{{{{{y{{{{{{{z{{}{{{{{zzzzz|{|{{|{|{{{zzzz{{{{{{{{zzz{zzzz|{{|{{||{{{{z{z{{{{{||}|{z{z{z{z{{{||||z{z{{{z{{|z|{{{{||zzz|z{{||z{|{||{{{{{z{{||{||{|||{zz{{|{||||}|{|{{{{{{{{|{z||{|{{{{zz{{{z||{|}|~|{{{|z{{z|{||||{|{|{{||{|}||||||{{{{|{{{{|||{|||{z|{|z{z{{|{{|||||z{{z{{{|||||}}|{zz{{{|{|{{{||{|{z|{{{z{{||{{{||{|z{|yy{{{{{}||{{z|{z{z{||{|||{z{{{z{z||{{{|||||{{z{{{|{{z{{z|zz{{{{z{{{|{{{|||{zzzz{z{{{z{{|z{{z{z{zzz{{{{{{|{{z{{{zz{{{{{{{z{{{{{{zzz{z{|||||zzzz{yzz|zz{{|||{z{{z{zz{{{z{{{|z{{|zzzz|{z{{|z|{{zzzzzz|{{zz|||{{{z{zzzz{{zz||{{z{z{{z{{{|z{{{{{z{z{{z{{z{{||{{{z{{zzz{{{{|{z{|{{{{z{zz{{|||{{{|{{{{{{{{||{||{{|{{{{zz{||{{{{||{z{{z{z{{|||{{{|{{z|{{{{{|{|{{{}{{{{|{{{||{{||||{z{{{|zz{|{}{|{{|z|||z{{{||||||||{z|z{|{{{{||||{|zz{{{z{|{{{{||||{|{|{{{|{|{{|||{{{{{{z|{{||||||{{{z|{z{{{{|}|{|{{{z{{zz|{{{||{||z{{{z{z{{z{||{{{zz{{|{{{||zz{||z{{|{{{z{|{{|{|}|||{z{zz{{{{|{|||{zz{{zz{|{{{{{{|{{{zzzz{{{{{{{||zzzy{zz|{{|{{|{{z{z{zz{{z{{z{{{z{z{z{{zz{|{z{{{z{{zz{{{z{{{{|{|{{{{{zz{{{z{z{|{{zzyyzzzz{|z{|{{{{z{zzzz{z{zz{|{{{zzyzzzyzzz{{{zz{zzyzxzz|{z{{{{yz{{z{z{{zz{z{{{z{z{{zzy{{{z{{{|{zz{{y{z{{{{|||zzz{{{{z{{{{|{||{{z{z{z{{{|{||}{{{zzz{{{{{z{|{{||{|z|z{z{{{{|{z|{{{z{{|{{z{{|}|{|zz|z{{{z{|{{|}{|{{|{{z{{z|{||{|{{z{{{{{{{||z||||{{{z{|z{{{|{|{{{}{{{{{{{||}{|||}{|{{{{{{|{|||{{|{zz|{{{{{|{{}|}|{{{|{{z{||{||{{|{{{z{{{zz{{|z{||{|{{{{{z{{||{|{{z{{{{{zz|{z{{|}|z{z{{{{z{{|{|{||z{{z{zz{{|{|{|||{{{{z{|{|{{{{|||{z{{{zyzz{{{z{||z{z{z{zz{|{{{{{{{zzz{zz{zz{{z{{{{zzz{zyzz{|{z{zzzz{zz{{{z{{{|{{|{{zzzy{{{{{{z{zz{zz{y{{zzz{{z{{zz{{zzzzy{{z{{||{|z{zzzzy{{zz{{{{{z{z{zz|z{{{{|{|zz{y{zzzzz{z{|{{zzzz{zzz{{{z{{{{zzzz{y{{z{z{|z{{z{{{zz{z{{{|z|zy{z{z{zzz{|{|{z{z{{{{|y{{{||{{{}z{{{{zzy{{|{|{{{{||{y{zz{{{||{{{|z{{z{||z{{z{|||{{{{{z{{{||||{|||{{{zz{zz}|{{{{|{|{{{{{{{{{{||{|{|zzz{|zz{}{}{|{||z{{{{{{|{||{||||z{{{zz{|{{z{|||||{z{z{z}{{{||||{z{z{{{z{{{{||||{{{zy{zzz{{{{{{{{{{zzz|z{|}{{||{{{{|{{|{{|{{{||{{z{zzzz|{||{|{{{zz{zz{{y|{|z{{{|{{zz{z{{{{{{z{|{{|{zzz{zz{{z||{|zy{zzz{zz{{z{{{|{z{z{{z{{z|z{{zz|{zzz{z{{{z{{{{{{y{zzzx{yzz{{{{{zz{{{zzz{z|zz{z{{z{{z{{{{{{{{|||{{{zzz{z{{z{{{{{zzzzz{z{zzzz|{z{z{{zzz{zz{{zz{{|{y{zzz{z||{{||{|z{{{zy{{{{z{{{{{{z{y{{||{||{z{|{{{{{zz{{|{||||{|{|{{zzzz{|{|{|{|{zz{{{{{{{|{{z{z{z{{{{zz{||{||{}{{|{{{{z{||||{||{{z{zz{{{||{||{||{{{{zz{{}||{|{||{{{{z{|{{|{{{||{{z{z{{{{{|{}{|{{|{|{{{{{{{|||||{z{|{{{{{{||{|}{{{{{||{{{{z|||||z||z{z{{{{{{{|}{{{z{{{{{{{{{{z{||{{z{zz{z{{z|||{z{{{z{{z{{|{{{{||{z{z{{z{}|{||{|{{z{z{{{||{{{{|{{{z|{z{z{||{{{|||{{z{z{y{|{{|{||{{z{zz{z{{{z{{{{{{z{zzz{{{{{|{{{z{{zyz{z{z{{y{|{z{zzzz|zzz{{z{|{z{z{zyyz{{|{|{{|{z{z{zzzzzzz{{||{{{zzzzz{z{{{z{{{z{zzzz{z{zz{|zzzz{y{{z{{{{{{|{{{{zzzzzz{{{{{|{|zzz{zz{z{{z{|{|{{z{zz{{{||{{{{{|{{zz{zz{{z{{|}{{{{{zzz{z{|{|{{||{zz{{{{z|{{{{{||{{{{{{z{||{|||{|{{{|z{|{|{{}||}|{z{|z{{{{{{{||{||{{{z{{{||{{|{{{|{z{{|||y|{||||{{z{{{z||{|||||||||{{|z{{|{{|{||{||{{{{{zz{{{|||{||{{{|{||{{}||}||z{{z{{z|{{{{{|{{{y{{{{{{|||{{{{{z{zzz{z|||{|}|{{{{z{z{{z|{|||{|{z{zzzz{{{{{{{{{{{{z{{z{{z{z|z{z{|{zzzyz{{{{z{|{|{zzzzzy{zz{{{{{{zzyz|z{{{z{z{{{zzzz{zzz{z|{z{{z{y{zyzzz{zz{z{{zzyzzzzzz{z{zz{{{zz{zzyzz{{{{{{{|{zzzzzzzz{zz{{{{zzzzyzzyz{{zz{{zzzzz{yzz{z{{{{{{z{zzyzzz{{{y{z|{{{zz{yzzz{{zz{{{zzyzzy{z{zzz{{{{{{zzzzzz{|{{{{{}{z{{zzzy{{{{{|{{{{z{zzzz{{|{{{{z{{{{zzz{|{{{z{{{{|{z{{{z{{|{|}{|zz|z{z{{{|{{{{|||{{{z{zz{{|{|||}z{{{{zzz|||{{||||{{{z{{{|{|{{{||{{{{z||{{{|{|{|{{z{{{{{{|{{}|{||{zz{{{z{{{{{|{|||z{{|{z{{{|z|{|{{{|zyz{z{{{{{{||{{{zz{zz{|{||{||{z{zyz{{{z{{{|{|{{z{{zzz{{|{{{{|{{{{{zy{|{|{||{{z{{zz{{z{|{||z|{{z|z{zz{{{{z{{|{z{zz{{zzz{{{{{{|z{{zzz{zz{|{z|{|{zz{zyzzzz{z{{{zzy{z{{zz|{{|{|{|{zyzzzz{z|{{{{{zz{zzyzyzz{{|{{{{{{{yzyzz{{{{{||{{zzzzzz{{{|{z{{{{zzzzzz{{{|{{|z{{zzz{|zz{|z{{{|{{zzz{zz{|{{{{{|zzzz|zz{z{|{z{{{{z{|zzzzyz|{{{{||{{z{zzzz{|{{{{z|{zzzzzzz{{{{{{{{{z{zz{z{{{{{{{{{{{{{{{z{{||{||||{{z{{{{z{{||{{|}|zz{zzz|{{{z|||||z{{|{{{|||{||||{{|z{{{{{{{{{|}||z{{{{{|||||{||{|{{{|{{{|{|{||}|{z{{{{|z{{||{{|}}{{{{{z{{|{{|}{{{{{{zz{zz|{{|{{{{{{zz{|{z|{|{{||z{zzzzyy{{{z{|||{{z{z{{{{|{{|{}|{{{{{{{z{{{|{|||{|z{{{{z{||{{{{{{zzzzzz{z{{z{{{{z{|{z{{y{||zz|{{z{{zzz|zzz|{{{{||{zzzzzz{z{{z{{{zz{zz|zz{{{{{{|{z{{zzz{zz|{z{|{{zz{zz{zzz{|{{|{|z{z|zzzz{{{|z|{|{zz{{zzzz|{z{{{{{{z{zz{{{|{{{||{zzzzzz{z{z{{{{{|{z{{{yzz{|{{{{|{{{{zzy{|||{{|{{{z{{{{{zzz{{{{{|z{zz{z{{z{|z|{{||{|{{{{{{|{|{{{}{{{z{y{z{{|{{{z|}{{{{{{{{z|{{||}|{{{{{{{z{{||||{|{zz|{{z{{}||{||||z{{|z{{|{||{|{}{{{{{{{{{{{||}||}{{{{{{{{|{|{||{||{|{{|z{{|||||{||z{{z{z||||{|}||zz{{{{{||{|||||{{z{zz|{{|{|{{{{|{{{zzz||||{z||||{{{|zzz|{{{{||||z{{{|{z{{{|{{|{{{z{{zz{{|z{{|{|{{|z{{{{|{{z{{{|zz{{{z{{{{|zz|{|z{zzzzzz{|{{{{z|{zzzzz{z{|{|{|{z|{{zzz{{{{{{z{|{{{{zyzzy{{|z{{{{{zy{{yzz{{{z{|z{zzz{zzz|{{{z|{{{{zzzz{yzz{||z{|{{zzz{y{zz{{z|{|{{zzzzzy{y{{{{{{zzzyzzz{z{|{{{{||{{z{z{{z{{|{|{z{z{zzzz{{|{{{{{{{z{zz{{{zz{{{{z|{zzz{{{z{{||{{{{{{z{{z{{z{|{{|{|{{{z{{z{{{{|{{{{{{{{{{z{{{{{||||||{{{z{{|{|{|||||zz|{z{{z{|||||{|{z{|z{{{}{{|||||z{{zz||{z{|{{|||z{z{{|{|z|||||||}{|z{{{{|{{z{{{|{z{|{{{{z|||||{|{|{{{z{{||||{{||z{|{{{{z{|{{||||z|zz{z{{||{||{{|{zz{{{{z{{{{{|||{zz{z{{z|{{{z|{{{z{{{zz{{||z{{{|{{zz{{{{{{{{||{|{zz{z{z{{{||zz{{z{{{{{zz{{||{|{|{zzzzzzzz{{{{{|{{z{zz{{zz{{zz{|{{zzzz{{zzz{|z{{{{z{z{zz{{{{{{|{zzzzzzzyzzz{z|{|zz{{z{zzy{{|{{{|{zzzyzzzzzz{z{{{zzzz{zzzzz{|{|{{{{z{zz{{z{{{{{{|{{zzzz{z{{{{{{{{||z{zx{{z|z{{|{{|{{{{{zzz{{{{{{{|{z{{{zzz{z{{{{|{yz||zz{{|||||{}z|{{z|zz{{|{{z||{z{{{{zz{|{{|{|||z{|{y{|z{{z{{{||{|{z{{z{||{|{{}{|{{z{z{{||{{{||{{|{{{|{z||||{{{|{z{{{{{{{|{{{}{||{||z|{{|{||{{|{{{z{{{{{{{}|||{||{{|{z{{||||z||{{||{{{{{{||{{||||zz{z{{{{{{|{||{{z{z{z{z{{{{{z{||{z{{z{{||{z|{||{|{{|{|{{{{|{|{{|{{|z{z{|{|z||{{|{{zzz|{zz{{{{{{{{zzzz|z|{{|{{z|{{{zzz{zz{{{{{{{|z{{z{{z|{|z{{z{{{zz{{yz{z{|{|{|z{y{zzzzz{{zz{|{{{{zyzz{{zz{|{{{z{{z{{zz{|{{{{z{zz{zz{zz|z{{z{{|z{{zz{{z{{{{{{|{zz{zzzzz{{{z{}|z{{{z{z{{{{{{{{z|{zz|zz{{{|z{{||{{{{z{{zz{{|{{||{|{z{z{zzz{|z{|{|z{{zzz{{{z|{{|{{|{{z{z{{{{||{{{|{{zz{{zz{|{|{|{{{{{z{{{{||{|{||}{{{{{z{|{{|{{|||{{{||z{{|}||||||{|{{z{{{||{|{|||}z{{|||{{||{{|||{{|{{|{z||||{|}|{{{{{{{||{|{z||||{{{{{{{}{{}||||||{z|{|{{{{|{|||{{{{zz{zz|{|{|{|{||z{{|{{|{{{{{{|{{z{{{{{|{|{{}{z{zz{{{z{{{{{|||{{{z{y{{|{|{{{||{yz{zzz{z{{|{zz{{{|zyz{zzz{z{{{{zz|zzzzzz{{z{|{{zz{zzzz{|{{{{{{{zz{zzz{zzz{{z{{|z{zzzzz{z|{{{{{z{y{zz{zz{z{z|{{|zz{zz{yzz{{|z{{{z{zz{zzzzzzz{zz{zz{zz{{z{||{{{{{{zz{zzzzz{|{z{||{{{{|z{zy{z{{|{|{{z{z|z{|{|{||{|zz{{{z{{{{|{}z{{{{{z{y{{||z|{|z{z{zzz{z{{||{|{{{{{zz{zz{|{{|{{{{{{z{{{z{{|{|{|{{{zzz{zzz{{{{{}|{|{z{{y{z|{{||||{|zz{|z{{|||{{{|{{{|{{{{{{|{|{|||{{{|{||{{}|||}|{|{{zz{|{||{|{||{{{{{{{{{{|{{{||}{{{{{{{{|{|{||||{{{{|zzz{|{{|{{{{z{z{z{{{||{|}{|{{{z{z|z{{|{{|{{{{{{zz{{z{||{{||{z{{yz{z{z{{|||}{{z{{{{{{z{{{|{|{z{{{zzz||{|||{{{|{zy{{z{z{z{{{{zz{{z{zzzz|z{|{{zzzz{{{{z{zzz||zz{z{zzz{{{z{{z{|z{{zz{z{{|{{|z{{zz{{z{zz{{{|{{{{{z{zzzzz{{{|{z{|{zzz{zzyz{{z{{{|zzzz{{zzy{zzz{|{zz|{z{{y{{{{{{{{{zz{{zz{z{{{{{|{|{{yzz{z{{{z{|{{y{{zzz{{{z|{z{|{|{{z{zz{z{{{{{{{{z{{zzz{{|{|{|{{|zz{{zz{|z{{|||{{{|{{{{{{||}|{{|{{{|z|z{{|{{{|||z{{{{{z{|{{|||{{{z{{{zz{|{{{||}||{{{{{{{{{{{|}{||zz|z{{z||{||}}|{{{|{{||}{||{{{{{z{{{{|{{|{}{|{||z{{{{|{|{{|{|||{{zz{|{{{|{|||||{{{{|z{{z{{||{{|z{{{z{zy{{{zz{}{|{{{{zz{{||||{}||{{{{z{{|{|{|{||{z{yz{{{|z{{||||zzz|{z{z{z{|{z{|{z{{zzzz{{{z|{||{z{{{zzz{{|{{z{{z{z{zzz{{{{z{{|{zzz{{zz{{z{z{{{{zz{zzz{{{{{||{{{{{{zz{z{z|{z|{|{{zz{zzzz{z{{|{{{{{zzzy{z{{{z{{|{{z{{zzz{z{{{z{{{{{{z{|zzz{|{{{{{{z{z{{{z{{{{z{|{|{zz{{{zzz{{{{{|{z{z{z|{{{|z|{{{{{{{zy}zz{{|||{|{{{z{{zz{|{{|{{{{{{{z{{z||{{{||{{{{{{{{{|{||{{{}{{{{{|||{|{|{|||z{{z{{zz|{||{|{{{z{z{{z{}|{{||{||{{{{|{{z|{{|||{|z||{{{z|}||}||||{|{{{|{{|{||||||{z{{zy||{{|||||{{z{|{{{{{{||{{||z{z{z{z{{{||{}|{z{z{zzz{|{}{|||{{zzzzzz{{|z||{|{zzz{{zz{||{z{{|{{zzzz{{{|{{{||{||{z{zzz{{zz|z{|{z{zzzz{{{{|{||{{{{zzyz{|{{|{|{|{{yz{z{zz||z{{{{zzz{{zzz{{|{{|zz{zzy{zzzz{{{{|zzzzzzzzzzz{{{{|{z{{z{zzy{{{||z{{{{{{{y{zy{{|{z{{{z{{zzyzzz{zzz|z{{zz{z{{zy{{{{|{{zz{{{zz{{{{{{{|{{z{z{yz{{{{{{z{zy{z{zzzz{{z{|{{{zzzz{{zz{{{z|{{{z{zzzz{z{{z}||{z{{{{{y{{{{{{{{|{{{{{{{z{{|z{{}|{{{{z{zz||||||{{|z{{{z{{z{|{{|{{|{{zz{|{{|||{{{||{zz{{z{{|||z||}|{|{{{||{{{z{{|{||{{{z{{||}{|{|{{|{{{{z{z{{||||{{|z{{{z{|{|z{|{|||{z{zy|{{{|||||{z{{z{{{{{|{{{{|{{{{|{z{{{|{|{{{{z{zzz{{z||{{||||{z{{{{{y{|z{{{{|{z{z{yz{|{{||{||{{z{z{zz{z|{{{||{zzzzzzz{{{{zz{|{z{zzzzz{{z{{|{}{zzz{y{{z{{z{{{{|zzzz{y{z{{zzz{{{{zz{zzz{{{{{{|{zz{zzz{{z{{{{|{{|{{zz{z{z{z{{{{z{zzzy{{z{|zzz{||{z{zzzz{z{z{{|{|{zzzzzz{{{{z{{{{{z{z{{zz||{z{{{{{{{zzyzz{{{{{{{|{z{{zzzz{z{{{y{{z{|{zyz|{{||{||{{{{z|z{z{|{|z||{z{{{{zzz|{|{{||{{{z{{{{z{{|{z{{{{{z{zz{z||{|{|{|z{{{{{|{{{||{|||{{{|{zzzz|||{{|{{{{z{{|{||{|zz{|{{|{{{{{||{{|{|{|{|||||{||{|{||||{{|z{{||{{|||{{|z{||zz{{|{|{}||{|zz|{{z||{{{|||{{|z{|{z{{{{|||||{{{z{{{{}|{||{|z|{{z{{{{|{{|{|{|z{z{{z|||zz{||{{zzz{{{{{{{|||{{z{zz{zz{|{z{{|{{{{|z{z{{{{{z|||{{z{zz{z{|{||{|{{{{yzzzy{{{{z{{{{{{{zz{yz{z{z|{{zzzzzzzz{zz{|{{zzzzzz{zzz{{z{{{{zyz{{zzz{{{{{{{{zz{zy{z{z{{z{{{{zzzzzz|zz{zz{|{zzz{zyzzy{{zz{{{{zzzzz{{yz|z|z{{{{z{zzy{z|{{{{|{{z{z{y{zy|{{{{{{{{z{{zz{{{{{{{|{|{{zz{{zz|zz{|{{|zzz{zzzy{|{{{{|{{z{z{z{{{{z{{z{{{zz|{{z{{{{|||z|z{{{|{|{|{{|{|||{{z|{{{{{}|{||{{|{|{z{{z||{{{||{{{{{{||{||{{|||||{|z{||{{|{{||{||{{{z{{{{||{}{||{z{|{{zz{|{|{{|||{{{{{z||{{{||}|{||{{{{z|{{{||||{{{{{{{z{}|{|||{|z{|{{zz{|{{{|{||zy{{z|z{{||{{{|{|{zzz{{{{{{{|{|{{{{z{{z{z{{|{|{|{{{{zz{z{z{{{{||z{zzzzz{{{{{|{|zz{zz|zz{{{{{||{{zzzy{zz{{{zz{{{{zyzz{y{|{{{z||{{z{z{zz{z{{z{z{{{zzz{{zz{{{{yz{{{{z{yz{zzz|z{{{{{zz{{{{zz{zz{{{{zz{{zzzzz{{{{|{|z{{{{z{{{{{{{{{{{zzz{yzz|{{{{{||zy{yzz{{{{{{{z{|z{|z{|{zz|{{{{{}{{z{zzzz{|{{{{{{{z{{z{zz{z|{|{|{{{zzzzzz}|{{{|{}{|{z{|zz{|||||||{{{{{{|z{|{{|{|}|{}|{{z{{||{{{|||{{zz|{z{}}{|{||{{zz{{{{{|{{{|||{{{{z{{|{{{|||||{{z{z{z{{{|{|}||||z{{|{{||{{{{|{|||{{{z{|||||{{{|{{zzzzz||{|||||z{z{z{{z{||{z{{{{{z{z{z{|{{{{|z{{{|z{{zz|{|zz|||{{{{{z{{{||||||{{{zz|{z{{{z{z|||{zz{{zz{{{||{z{|{{z{z{z{|{|z{{||zz{{zz|z{{{z{{|{{{{{z{zz{{||z{|{{z{z{zz{zzz{{|||yzzzz{yzz{{{}z{{zzzz{zz{{{{|{|{{{{zzzz{zz|{z{||{z{{z{yzyz{{z{{{z|{zzyzz{{z{z{|{{z{{z{zzz{|z{{{{{|{{zzz|z||{{{{{|{z{{z{{{{{{{{|{|{{{zzz{z{|{{{{||{{{{{{{z{|{{{{|{{y{{|{y{{|{{{{{|{{|{{{{{{{{z||{|zz{z{|z{||||{{|}{{|{{|zz{|{||{|||{{{{{z{{{|{|||||z||{{{|{||{|||{{{{{{{{|||{{{|{||{{zz{|{{}||{|}|}|{|{z{||||||}{|{{{{z{{{{|{|||||{|{{|{{{|||||{||{|{z{{{{{|{|{|{||{{{{{{{|{{|{{|{{z{{{z{{||{{||{{{y{{z{{zz||{{{{|{z{{{z{z{{{{{|||{{y{zzy{|{zz{{{|{{z{{zz{{{{|{{{{{zzzz{zy{z|z{{{{zyzzzy{zz{{zz{z{{z{z{{zzz{|z{{{zz{zz{{zy{{{|{{{|zzzzzzzyzzz{{{{{{y{zz{z{z{{{z{{zz|{zz{{zzzzz{|{z{yzz{zzzz{y{z|{|z{{zzzzz{{z{{|zzzzz{{z{|{{{{{{{|{zzzzy{z{y{|{{|{z{z{zzz{{{{|{{{{{{{zzz{z{{{{{|{|{{zz{z{zz{z||{{{{z{zz{{z{{{{{{{{{{{{z|yzz{{{{|{{|{{z{zz||{{|{|||zzzz{{{{{z{||{|}z{{zz{zz}||}|||||z{|{z{{{||{||||{{{zz{{{{{{|||||{z{|{zzzz}|||||{|z{z{z|{|||{{{|{{{{{{{{|{|{{{{||{{|z{zy{|{{|}|{{{{{z{{{|{|{|{|{{{zzzz{zz{{z{{||{{zz{{z{{z|{|z{z{{{{{{z{zz{|{{|{|zz{{{zz{{{{{{|{|z{{zzzz{{{{{{z{{{zzz{zzz{{||{{{{{{zzzz{y{z|{|z|{y{zzzz{z{|{zzz{z|zz{yzzz{{zzz{z{{z{yzz{z|{z|{{{{{zzzzzzz{zzz{{{{{{zy{yy{|{|z{{{{{z{{zzzz{{{{{{{{z{yz{{{z{{{{z|{z{zzzyzzzy{{{{{zzz{zzz{zz{z{{z{{{{{{zzzz{z{{z{z{|{{{zy{{z{|{zz||{z{z{zy{{{{{{{{|{z{{{{y{{z{|{{{z{{z{zzzzz{|||{{||z{z|{zz|{||{z|||{z{zz{{{||{|||{|zz{z{{{z{{{|{||||{{{{{z{|||||{||{{{{z{{{||{{|{|}|z{{{{{z{{|{{|||{{{{{{{{{|{}|||{|z{|{{{{|{}{||{{{{{{|{|{{|{{{{{||{{{|{zz||||{|{|{{z{zz{{{z|{{{{||{|{zz{{{||{y|||{{{z{z{zz{{{{|{{zz{{{z|{{{|{{{||{|{z{{zz{|{|{||}|{zzzz{y{{|{{z}{{{|zz{y{{{{z|{{|{{z{zz{yz|{{|{{{zzzzzz{z{{z{{{{{{{{|{yzz{zz{z|{{zzxzz{yz{{z{zzz{z{{yzz{z{{{{}z{zzzyz{{z{{{{{{{{{zz{zz{z{z{|zz{{|z{z|zzzzz|{zz{{z{{zy{y{{z{{{{z{{zz{{{{zz{{z|zz}{{{{z{zz{||{z{||{{{{zzzz|{{{{|{{|{{{zzz{z{{{{{|||z|z{{z{zz{{{{||{|zz{zzyz{|{{{}|{{{{{z{zzz||{{|{{{{{z{{|{||{|||||{{{zz{{|{z{|||{|{{{z|z{z{{|||{|{{{z{{{z{}|||{}||{{{{{||{{{|{|{{|{{{{{|{{{|||||}|{{{{{|{z|{|{|||z{|{{zy{{}||{{{|||{{{{{{|{|{{||||z{{{{|z{z{||{{||{{{{z{z{{{{{{{{|{z|{z{z{{||z{||{{|z{{{{zz{{|{z|{{z{z{z{{{{{|{{{|{|zyzzzz{{{|z||{z{{z{zyz{{{|||{{{{zz{{zzz{{|z{||{{{{{{zyz{{|{{{{{z{z{zy{{{{{z{{z{z{zzzz{{|z{{{z{z{z{{z{zz{|{{z{{z{zzz{z{{z{{{||{{z|zzzzz|{|z{{|{z{zzzzzz{{{{z{{|{z{zzzzzz{zzz|{{{zz{{zz{z|{{{{{|{{zzzz{{{{{{{{{|{{z{{{{zz{{z{{{{{z{z{z{zz|{z{||{zzz{zz{z{z{{{|{{zzzz{{zz{{|z{|{{{zz{{{{{{|{|{{|{z{{{{{{z{{zz{|{z{|{zz|z{|{{{||||{{{{{{{{{||||||{|{{{{{{{{||{|||{{z|z{{{z{||{|||||{{|{{{{{|{{|||||z{{{{|z}}{|{z{{|z{z{{{z{|{{|{|||{z{{{{{}{}||||{{{{zz{z{{|||||||{{{|zz{z{{|{{{{{{{{{{zzz{{|{{{|zzz{z{{y{{{}{{{{|{zz{zz{{{{|{{|{{{{z{{z{{z{{z{{||{zzzzzzz|{{{{{z|||zz{zzyzzz{{{z|z{{{{zzzzy{{z{{{{zz{zzzy{{z{z{{{{{zyzz{zzz{{{{{zyyzzzyzzzz{zz{{{{zzzzzyzzzz{{{{{{{zzz{zyz|{z{z{|zzzzzyzzy{{zz{{{{zz{zy{zzz{zzzzzzz{z{{{yz{z{{{{{{z{{{{zz{{|{{z{{zz{zzzz{{{{z{{{{z{zzzy{z|z{z{|||z{z{zzzz{|{{{|{|{z{{{{z{{{|{{{||{zz{zzz{{{z{{{|{{yz{{{{{{{{|{||{zz{zz{{z{{{{{{}||zzzzz{{{|||{{|{{z{{|{{{|||{|{||zz{{z{{|{|z{|{|||{{{{{{|||}|{||{|z{{{{{|{{{{|{||{z{z{{{{{|{{{|||{{zz|z{|{|||{|||{{{{|{z{{{{|{{{{|{z{{{zz{{{{{{}{{{{z{zzz{{zy{{{{{z{z{{zy{{|z{{|{zzzzzzzz{{|{{z{{|z{z{{zz{|z{|{{{{{zzy{y{{z|}z{{{{z{zz{zyz{{|{{{|{zzzz{zzz{|z{||z{{{z{z{y{{{y{{{zzzyzyy{{{zz{y{{{zzy{zzyz{{{{{z{{{zzzzzyy{zz{z{{{zzzzzzzzzz{{|{z|{zyzzz{x{z{yz{z{zzzzzzzz|zz{z|{zzz{zzzzz{zzzzz|z|{z{yy{zz{z{zz{{zz{zzz{z{{z|{zz{zzzzz{zz{z{|{{{{{z{z{yzz{z{|{|z{zzzzzz{z{{|zzz|z{zzz{z{z{||z{||{{z{{|zzzz||{|{||{{{{{{z{{{{{{|||{{{z{{z{||||{{{{{z{{|{{z{||z{|||{z{{z{{|{|{{||{z{{{{{{{z{|{{{|||{z{{zz|{||{|z{{{{zzz{{{{{{{||||||||zz{{{{{{z{|{|{|{z{zzz{{{{|{}{{zzz{zzz{{|{{|{z{zzzzz{zz|{{{{z{z|zzzzzy{{{|{z{||z|zzzzzz{{{{{{|{yzz{z{{z{z{{{||{zzzz{zz{{{{{z{z|{{zz{yz{z|z{{||{z{{z{z{|{{y{{{{{zzzzy{z{{zyz{z{{zzxzzz{zzzz{|zzz{zyzzzzz{{{z{{|{yzzyzyz{{|{{{{z{zzzyz{zz{z{{zz{{zzzzzyyz|{{{{{|y|{zzyzzz{z{{z{{zz{z{zzzz{|{y{{zy{zzzzzzz{{{{z{{{zzzzz{zz{zzz|{z{zzzzzz{{z|z{z|{{{{z{yz{z|{{{{|{{z|{zzz|z{{{{{{{zz{{z{z{{|{{z{{{{z{|{zz{{{{||{{{{{zzzz{{{{{z{z||zzz{{{{zz{{{}{{{{z{zz{{z{{||{{{|{{{{{{{{|||{{||}|{z{z{{{z|{{{||||z{{|z{{|{{|{{{{{{{zz{{{{{z{|{{|{z{z{{{{z{|{{}||{z{z{z{z{{{{z{||{{z{zzz{zz{|{{||{{{z{{{zzz{{{{{{{|{zyz{z{{{{{z|{z{zzz{yz{{|zzz|{{{{z{z{{|{{|{||{{zzz{zzz{{||{{||{zzzz{{z{z{z{|{{{yzyy|zz{{{z{|{{{z|{zz{z{|{{z{{|{zzzzzzzz{{z|{{|zzyyyzzy|{|{zz{zzyz{yzyzzz{{{z{|zz{{yzyzz{z{{{{{z{zzzy{zz{z{{{z{{z{zzy{{{zzzzz{zzyy{zzzzzzz{{{|{z{zzzzzzz{|{{|z{{{zzzzzz|z{z{{||{z{{z{z{{|{{{{{{zy{zzz{zzzz{{|||{{zzzzz{{|||{{{{|yzzzz{z{|zz{|{{{{|z{{{{{{|{{{{z|{{y|{{z||{|{||||z{{{{yz{||{|||{{{{{{|{z||{||||{{|||{{{{{|{{{{||{{{z{|{|{||}|}|||{{{zzz{{{{|{||{{{{{{{z|z|{|}{||{{z|{|{{{|{{||{|{{{{{{{{{{{{{{|{{{z{{{z{{{{|{{}{{z{z{{{zz{{{{||{z{z{{z|{{|{||{{zz{z{z{{{zz|{{z{{{{{zzzzz|{{{{{|{{{{{zzz{{z{|{z{|{{zzzz{z{{|{{|||{zz{{z{z{{z{z{z{{zz{zzyz{{|z{{{{{zzz{z{zz{z|z|{|z{zzzzz{{{{{{zzz|yzyz{z{{z{|{{{{{zz{zz{z{{{{{{{z{yz{yzyzz|z{{{|zzzzzzy{zz{{{y||{{zz{{{{x|{{{{||{{zzyzzyz{z{|z{{{{{{z{{{z{{{{{|{|z{{z{y{|{{{zz{{{{z{zzz{z{|{|z|{|{zzz{z{{{{|{{{||{z{{{z{{{}{{|{}{{{{{||{yz{|||{||z{{z{{z{{{||||||{z{{{zz{|{{|{||{|z{|{{z||{|{||{{|z{{z{{{{{|{{|{{|{{{{{{|{}{{{|{|{z{|{{{{||||{|||{{z{|z{|z{|}{{||z{{{z{z{{|{{{|{|{{|zz{{{zz|{|{||{z{|{{{z{|{|z{{{|{zy{z{z{{|{{{|zz{zzzz{z{z{z|{{|{|zzz{yz||{{||||{{z{{{{z{{{{|z|{{z{z{{zz{{|{{{{|{zzzy{{z{{{||{{{yzzz{{zzz{{|{|{{{z{yyzyz|{}{{{{z{zz{z{{zz{{{{{{|zzz{{zz{|z{{z{{zzz{zz{z{{{{zz|z{{zzz{{zz{{z{{{{z{zzz{zyzz{{zzz{{{{{zzzz{z{zz{|{{{z{{zzzzzzzzz{{{{zzz{{zy{{{{{{{|{zz{{y{z{{{z{|{{z{{zzz{y{{|{{|{|{z|{{{{zz|{{{{z{{{z{{{zz{}{{zz|{z{z{{zz{{|{z{|{{{{zz{{z{{||{{{||{|{{{{{{{|{||{|||{{{{{z|{|||{{{||{zz{z|{{{|{||{|{{|{z||{|||||{||{{{{z{{{z|||}|||{{|{{{|{{|}{|}||{{{{{{{z{{}{|{||{|{z{{{{{||{|}{{{|zz{{{{||{|||{|{{z{{|zz{|{{{{{|{{zz{z{z|{||{||{zzzzz{zzz|{{{{{|}{z{{{{z|{{{|{{{|{z{{{z{{z{{{{||zzz{{|zyz{z{{z{zz{z{zzzz{{{|z{{|{{z{z{{z{{{{{{|{|z{y{{zy{{{z|{{z{z{{zzzz{{{{{z{{zyz{zzzzz{{{{z{{{zzzzyy{{{z{{z{{z{zzz{zz{z|{z{{{z{z{{z{z{zz{zz{|z{zzzzzzzz{{{||z{z{z{zz{{z{z{|}|{z{yzyyzz{{{z{|{z{{zz{zz|z{{{{{|zzzzz{{{{{{|{y|z{z|{{{|{z{|{|{|{zzz{zzzz{{{{{{||{zz|zz{z||{{{|{{z{{{{{{{{|||||{|{{{{{{{{|{{{{}{{|{{{{{{{z|{||||{{{{{|{{{{}||{{||{z|{|{|z||||}||{{z{{||{{{||{|||{|||{|{{{||{||{|{|{{{z{z{{||{|{||{{||{{{{}|{{{|{{{{zz{{{{{|{z|||{{{z{{{z{{|||||||z|zzz{{z{z{{z}{|z{zz{zz{{{|z{{{{{{zy{zzz|{{{{|{{|{zyzzz{{|{z{{{|z{{zzzzzz{{{z{|{{z{zzz{zz{{{{|{|{z{z|{zyz|zz{{{{{zzzzz{zzz{|{{{zzy{yz{zzzzz{z{{{{zzzzyzy{{z{{{z{{z{zzzzzz{|z|z{{{zz{zzzz{|{|{{{|zyzzz{zzzz{z|{|{zzzzyyz{zzz{z{{{zzy{{|zyz{z{{{z{{zzz{z{zz{{z{|{{{zzz{zzz|{{{|{z{zzzzz{{z{{{{{{z{z{{z{zz{{{{{z|{z{{{{zzzz{z{{{{|{|zzz{{z{{{{|{zz{{z{{{zzz{{|{||{|{{z{|{{{{|{|{||{{{{{{zzz|{{||{{{{{{{zz{{|{|{{{}{{{|{{{{z|}|{{|||{{{{{{{z{|{|{{{{{z{{{{{{{|{|{||{|z{z{{z{|{{||{|}{{|||{{|{|||{{||{|{{{{{z{||{{|||{z{zz{|z{{|{{|{{{z|{z{zz{|{{|{{{{z{zz{z{{{{{z{{|zzy{z{zyz{{{{|{}{{zzyzzz{z{zz{{{{{zzzyz{{zz}zz{|z{zzz{{{z{{{zyz|zzzz{zzzz|zzz{||{z{yyyzz{z{{{{{{{zzzzzyz{zzzz|||zy{zzzzy{{{{z{{{zzzy{zyz{z{{{{{{{xzzzzyyz{{|{z{|zyyzzzyyz{{y{|{{yzzyzzzz{{z{z|zz{zzz{{zz{z{zz{|{{{yzzyzzz{{{{|{{{{zzzyzzz{|z{{{zzzzzz{{yz{{{{{{{{zzz{zzz{{{{|||{{zzz{zzz{|||z{|z{zz{z{z{{|{{{|{{{{{{z{{{|{||z|||{zz{{z|{{{{{{{||{zz{zz{z{{{|{{|{{y{z{{{|||{|{{||{zz{z{{{{|z{{|{|{{{{{{{|z||{|{{||{{|{{{{{|{|{|||zz|zzz{zz|z{|{{{{z{{z{{{{z|{|{{||{yz{{{{z|{{{z{{|{{zzz{z{{{{{{{{{y{z{z{z{{{z{z{{{{z|{z{{{{{{{z{{{zzzzzyz|||z{{|{|{{z{z{z{z{{{{|{{{{{z{{z{|{{z|{|{|{y{{zz{{||z{{|{z{{{{{z{{{{z{z{{{zzz{yz{{}yz{zzzzz{zzz{{|{{zz|{{zzz{z{yz|z{{{|{{{zzyzzz{|{{{{{{{{y{zyy{{zzzz{{{{{z{{{zzzzyzz{{{{{zyzzyz{{zy{{{|zzzy{zzz{{{{{{|{{{zzzzz{z{zzzz{|{{z{yy{z{|{{{{{|zzzz{y{|{{{|{|{|{z{z{z{z{|{|{{{{zz{|zzzz|{||{{|{{{{{{{{z{z{{{{{{{z{{{{z{|{{}{{||{|{{{z|{{|z{|{|{{{zz{zz{{|{{{|||z{zz{{{{||{{{{|{z{{{|{{{{||{|||||{z{|z{{{}{||}|||{{|{{{{|{{{{{||{z{z|{{|{{{{{{{|{z{z{{z{{}||{{}}{{{z{|z{{{{{z{|{{{z{{{{{{{z||{{{{|zzzzzzz{|zz{{{{z|{zz{xz{|{{{z||{zzzzzz{{{{|{{{{z{zzz{z{{{z{{{|{z|{{zzz{{{zz{{{{z{zzz{z{{{{{|{|{z{z{yzzz{z{{{{{{{z{z{yzz{{{z|{{zz{zyzyz{{z{z{{{{z{zzzzz{zz{{{{zz{{zzzy{{{{z{{{{zzzzyzyzzz{{{{{|{zz{zzzz{z{zz{{z{zzyzzzzzz{{z{{|{z{zz{z{z{zzz{|zz{zz{zz{{{{z{z|{zzz{yzz{z{{{{{{|{zzyz{{zz{{{{z|{{{{{{{zz{{z{{|||{zyz{zzz{{{{{||{{zz{z{{{{{|{{}||z{z{z{zz{||{|||zz{{z{{{z{{{|{|{||z{{{{z{|{|{|{|{|zz{{z{{{{||{{|{{{{{{{{{{||{{|{{{z{z|{{{|||{|{|{{{|{||{{{{|{{||{{{{zz{z{||{{{{||{{|{|{{{|||{||{|{z{{z|{{{|{z{{z{{{{{{{{z{{|{{z|{{{{z{z{{|{{{{{{{{zzz{z{zz|{{|{||{{zzz{y{z{{{|{||z{zzzzzy{z{{z{{{zz{{zzzzz|z{{{{{{{zz{z{yz{zz||{zz{zzzzzz{y{z{z{z|y{y{{{yzyzzz{zz{{zzyzz{{zz{{{z|zzyzzyyyzzz{zz{{zyzzyzyzz{{zzz{{{{{zyzzzz{zz{{{zyyzyzzzyz{{z{zzz{yzz{zyzzzzyz{{zzzzzzz{z{{z{z{{{zyyz{y{z{{{z{z{zzyz{zyz{{|z{z{{{zzzzy{{{zz{|{{{{z{zz{zzzz{{{{{||zz{z{zyzzz{|{{{z{{|zzzzz{{|{{{{{{{z{zzzzzz{|||{{z{{{{zz{{{{|{|{|zzz{zzz{|{{|{{{{{y{{{z{{||{{{||{{zz{|{z|{{{|{|{||{{zz{{{{||{||}|{{{{z{{{{{|{{{|||z{z{z{z{{{|{|{{||zz{{z{z|{z{|||{{{z{y{z{|{{|||z{z{z{zzz{{{{z{{{{|{yzzzzzz{z{{zzzzz{zz{z{z{z{{{{z{z{{zz{{|{{||{{{{zz{{z{{|{{{{{{z{{z{zzzzz{|z{||z{zzyyzz{{{zz||zz|{zz{zz{{{z{{{{{z{yzzzz{z|{z{z{zzzy{zzz{zz|{{{{zyzyzzzzy{|z{zzz{zyzz{zzz{{{|z{{zzz{xz{z{||{z{{{{zz{zzyz{zzzz{z{zzzy{yzzz{{{z{{z{zzzzzzzz|zz{{{|{z{zyzz{z|{{z{{{z{{zyz{z{{z{{{{|zy{{yz{z|{{zz{|{{y{zzz{z{{{{{|{{{z{{z{zy||zz{|{{{{{{{{z{{|{{{{{{{{{z{{zz|{{|{|||z{{{{{{{|{|{{{||{zzzzz|{{{{{{||{{zzzz{{{|}{|{{||{zz{{{{|z|{{||{{{{z{{{{{{|{}{{|||y||{|{{{{|{|||{|zz{{{{{{{{{||||}zzz{{z||{{z|{|{{{z{{z{{{|z|z{}|{z{{yz{z{|zz|z{|{{{zz{zz{{|z{{y{z{{zz{{{z{{z{{{|{{zzzyyzzzz{{|{|z{{zz{zz{z{{{{|{{{{zz{{z{z|{{{{|z{{zzzzzz{{{{{{|{z{yzz{y{{{|z{{{zzzzzzzyz{{z{{{{{zzzzzzz|zz|{{z|z{{zzyzz{{{{z{{zzzzzzzzz{{z{|{{{z{{zzyyyz{{|yz{{{z{z{zzzzz{zzz{{{z{yzzzy{{{{z|{{z{{{{{zzz{z{{{{{zyzzyz{z{{z|{{||zz{{z{zz{{z|{|||zzz{zyzy{{{|{{{|z|{{{zzz{{{|{{{{{z{zzz{z{|{{{z|{z{{{{{z{{{{|{{{|{zzz{{z{{{z{{z{|z{{z{{|z{z{{z|{}{{z{{z{{y{|{{||{|zz||{{z{|{|{{|||{{z{|{|z{||}|}|{z{z{{zzz}{|{|{{{{{{z{{{z|{{{{{|{zy{z{z|||{{{|}|{{zz|{zz|z||{z{{{z{z{{{{z|{{{|{{{{z{z{z{|||{{{|{zz|zzzzz|{{|{{z|{{{{z{zz{{{{{{||{zz{{zzy{|{{|{|{{{{zzzz{|z{z{}{{{{{z{yzz{{{|{{{{|z{{z|{y{{|||{{{z{zz{z{zz|{{z{{zzz{z{zzz||{|{{z{z{z{zzzzz{{{z|z{{y{zzzzz{z{{{{{{zz{zzzz{z|z{|{|zzz{zzzzz{{z{{z{z{z{{zz{z{z{z{zz{z{zzzzzzz{{{z{{|zz{z{z{z{{z{z{{{zzz{{zz{{{|{{{z{zz{{yz{z{||{{|z{zz{{{z{z{{|{|{{|{{{z|{{zz{z{|{||{{z{zzz{z||{{z{{z{{{{{z{{{{|{}{{|z{{{{{{{{||{{|{z{{{{{{{{|||{{||{{|{{z{z{||||{}|{zz{|z|z{||{|||}{{z{{{}{{|{|{|||{{{{{|{{{}|||}|||{|{zz{{|{|{{|||{{{zzzzz{{{{||||||z|{zz|{{|z{{|{|{z{{z{z{{|{||||||{{{zz{||{{||{z|z{{{{zz|z||{|{|z{|z|{zz{{{{{{{|{{{y{zzz|{|z{{|{{zzzz||z{{z{{|{|{zz{zz{{{{{{{{{{|zzzz{y{{z{{{{{|z{z{{z{z{{|{{{{{{{{zzzzz{{{{{|{{zz{yzyzz{z{{{{{zzzyzzzz{{{|z{||z{zzzzzzzz||z{{z{{z{{zz{z{{{{{{|{{y|{zzzy{z{z{|zzz|zzyz{{z|z{{|z|zy{z{z{z{{||{{|{zzy{zzyz{{{{{{{|zz{{zz{z{{|{{||}yzzz{zz{{{|z{{{{{z|zz{z{{{{{||{{{{{{{zzzz{||{{|{{|z{{z{z{|{|{{|{{{|{{z{{||||{{{|{z{{|{{z||||}|||{{{{z{{{||{||||{{zz{{{{{||{{{||}{{|zz{{z{||||{||}{z{{|{|{|||||{|}{{{{{|{}}|{|{|{}{{{{{{z{{{|||{|||{z|{{{{{{|{|||{{{{{|yz{|||{|||{{{zzz{{{{|{{{|{|z{{z{z{{{|{z|z|z|zzz{{z|{{{{z|{{zz{zyzzzz||||{{{z{zzz{z{{{z{{|{{zzzzyzzzz{|z|{||{zz{zzz{{{{{{|{{yzz{z{{{{{{{{|{{z{{zzzyzz{{|z{{z{zzy{yzz{{{{{{|zyzz{yzz{{{{zz{z{{zyzzyz{{z{{{{|zz{zz{zz{zz{{{|{zzzzzyzy{{{zz|zz{yzyzzyzz{{{{z{{{zzzyzzzz{z{{{{{zzzzzzyzz{{zz{{{{z{yzzzz{y{{{z{|zzz{zz{y|{zzz{|{zzz{{y{zz{||{{{|zz{zz{zzzz|{{{|{{{{{z{{z{{||{|{zzz{{{y{|{{{|{|{{zz{{zzz{{|{|{}|{{{{zzzz{|{{{{{}{{z{{{{{{|||{|{|{{{z{{|{{{||||}|||{z{{z|z{||||||{|{{zz|{|{|}||{|||{{{{{{|{{{|||||{{|{z{{{{||{|{||{|{zzz{{{|{{|{{{{{{{zz{{{{z{{|||{z|{zx{{z|{{z{||{z{zz{{{z|z||{{{zz{z{{zzz{{{{{||z{z{{zzz{{z|{{{{{zzzz{{{{|||z{|{|z{z{z{z|z{{||z|z{z{{zzz{z{z{{z{{{{z{{zz|{{{{{|{{{zzzzz{z{{zz{{{zzz{{{z{z{{{{{{|{z{zy{zzzz{{{{{{zzzzzzzzzz{z{zz{zzzzzzzzz|z{{{{{zz{{yyzz{{z{{{{{z{{zzzz{{{{|{{{{{zzx{z{z{{{{{z{{{{{z{z{z|{{{{z{{{zzy{zz{{z|zz||{{{z{{yz{{{{|{{{{zz{z{z{zzz{{{|{{{zz{{{z{{|}{{{{{{zzzzz{z{{{||{{{{{{{z{{|{|{{{||{|{z{zz{|||||{{|{{zzz|{z{||||{{|{z{{|||||{|{||{{{|z{{{z{|{|{|{||}z{|zz{{{||||{|{|{{{{{z|{{|||{{|}|{{{{z{{|{{{{|}||{{z{z{z||{{{{|{{{{{zz{{{{||{||{|z{zzzz{{{{|zz{{{{{{{{zzz{|{{{{||zzzz{z{{{{{||{{|{{|{y{z{{{|{|{|z{|zzz{{{{||{z|{|{{{zz{z||{{z{|{{{{z{z{zzzzzz{{{{{{z{zzz{||{{|{{zzzz{z{{z|z{{{{{zzzzzz{zz{{|zz{|{{zzyyyz{z{{{|z{zzzzy{zzz{z|{{{{{zzzzz{z{{{z{{z{{zzz{z{zz{z{z{{{{z{zzzzyzz{{{{{|z{zz{z|zz{{{z{{{zz{{zzzy{{{{{{{{{{z{zzzz{||{{{|{zzz{z{zz{{}||||{zz{{{zzz{{{{{{||{{zzz{{z{}|z{|||{z{{{z{{|}{{{}{|z{{z{zz{{{|{|{|{{{{{z|z|z{||{z|{|{{{|{z{{|{||}||{z{{|{{{{{{|{{|{|{|{{{{z{}|||||||z|{{z{z|||{||{|{{{||{z{{|{|||}||{{{{{{{{||{||{||z{z{z{{{|{{{}||{{zzz{{{{|{|{{|{{z|{{{{z{}|||{{|{zzzzzzzz{z{{||{zz{yzzzzzz{{{{{||{{z{zzz{{z{|{{z{z{zy{z{{{{z{{|z{zzzzzzz{zz{{z{|z{zzz{zzy{|zz|{{zyzy{yyzz{{z{zz{zzyzz{zz{zz{{|{{zzzzzzzy{{{z{{{zzzzzyzyz{zz{z{{{zz{zyyyzzz|z{{{{zzzyzyzyzzzzz|{|zzy{{zyzzyz{{|{{zyz{zzzyz{{|z{{z{zzzz{zz{zzz{{{{z{{{zzzz{{z{{{{{zzz{zz{zzz{{z{{{{z{|zy{zz||{{||{{{z{z{{y{{{{{{{{{{z{z{z{{|{{{{{|z{zz{|{{|z|||{{{z{z{{{{{|{z{||{{{z{zzyz{{{||{{|||{{zz{{{{|{{{{|{z{{{z{z{z||||}{|{zz{z{zz{|{{|{|||{z{{{{{|{{{z||||z{z|{|{z{{{|||{{{z{{z{{|{{z||||z{{z{{{{{{{|{|||{z{z{{zzz|z{{{|{z{|zzz{z{{{{{|{{{{z{z{{z{{{{|{|{{{zz{zyz{{{|{{|{{{z{z{z{{{{zz{|{{z{z{z{{z{|z|{z{{zzzz{zz{z|{{{{|zzzzyzzzz{{|z{|{{zz{{{zz{{|{{{}zyzzzzzzzz{y{z|||zzzz{zzyzz{z{z{zzzzzzzzz|{|zz{z|{z{zzzzzz|{zz|{|{zzzzzyz{{zzz{{{zzzzzyyzz{z{{{{{zyzz{zz{zz{|{{|{z{zzyzzzz{z{{{|}{zz{zzz{{|{{z{{{z{{{{zz{|{{z|||{|{z{{{z{z{{{z|{{{z{{z{{{{|{{{{||{{|zzzy{{{|{{|{{{{{{{{{z{{|{||{|{z|z{zz{{{|{|}||{z{|{zz{{|||{|||{{{{{z{{{}||||||{{{{{{zz{{|||{||}|{{{{{{|}{||||{{{{{{{{|z{||{|||{z{z|zz|{||{{|||{{{z{{{|{{|{z|||z{{z{zz{{|{{{{|{{{{zz{{{{|{|{{||{zzzzz|{{{{z{|{z{{zyzz{z{{{z{z{|{z{z{zzzy|{z{z|{z{{{zzzz|{z{{|{{{{zzzzy{{|{{{z{{|{z{z{zy|z{{{{z|zz{zzz{z{{zz{zzz{{{zzzzzz{zz{{{zzzy{zzz{{zzz|{{zz{zz{yyzz{zz{z{|zzz{z{zzzz{{{|{|zzyzzz{zz{{{{{{{{zzzy{z{z{{zz|{zyzyzzyzz{{{z{||z{z{zz{{zz{z{z{|{{zzzzz{z{{zz{{|{{z{zzzzz|{{{zz{{zzz{z{zzz|{{{{{||{zz{{zyz|{|{{|{{zzz{z{z|||z{|{{zz{zzzzy||{{{{{{{{zz{{{z{{{{|{{{z{{z{z{{{z{|{{|{|zzz{{z{{||||{{||{z{{{{{||{|{{||{{|{{z{|{{zz|||{|{z{{{z{z}{{}||{|{{{zz{{{|||||||{{{{|{{z{{{{|z|||{{z{{z{{{{|||||{{zz{{{z||{{{{{z{zzzzzzz{|{|z{{|{z{z{z{zz||{{{{|z{z{zz{z{{{{{{{{{zzz{yzz{|{z{{{{{{zyz{yz{z{{||{{{zz{z{{{{{{{zz{{zzz{zz{yz{{|{{{{zzzzz{zzz{{{{{{{zyzzyzzz{{{y{z{zzzyzz{zzz{z{z|z{{zzyzyzzz{{z{{{zz{zz{zzy{{|y{z|z{zzzzzzz{{z{{zz{{zyzyzzzz{{zzz{zzzzzyzzxzz{{z{zzzy{z|{zz{{{z{{{{yyzz{zzzzz{{{zz||z{zzzzz{z{z{{{{zzy{{{{z|{|z{{|{{z{zzzzzyz{{{||{zzzzzzzz{{z{{{|{{zz{z{y{{|zz{|{zz{{zzz{z{{||{|||{{zz{{zz|{{{z|||{{{|{{zz{{{|||{{{zzzz{|{{|{|{|{{{{{z{zz|{{{{}|{|{z{{z{{{z|{{||{||z{{{z{{{{{{{||{{{z{{{z{{|{|{|{{{{zz{y{z{{{{{||{zz{zz{{{z{{|{z|{{{zzzzzz|{{|{{{{{z{{zzz{zz{{{{z{zzz{y{{z{{{z{{z{{zzzzz{z{{{{{|||{zzzz{yz{z{{||{{{zzzzz{z{|{{{{|{{zzzzz{{z{{{{{{{z{zz{yzzzz{{{{{{z{{z{zzz{{{{{z{{zzzzz{zz{z{{z|zzzzz{zzz{z{{{{{z{{zzzzyyzyz{{{zz{{{zzzzzy{zz{{z|{{zzzyzzyy{{y{{{{{z{zzz{zz{z{{{||zz{{y{z{{z{{{|{{{{zzz{{{z{{{{{{|{zzzzz{z{{{z{{{|yzzz{z{z|{{z|||{zzzz{yzz{|{{z|{{{z|zz{zz{{|{{{|{{z{z{zz{{|zzz|{zz{{yzz{{{{||||||z{{{{zzz|{{{|{{{{z{zz{z{|||{{{{||z{{{zz{||||}|||{{{{{{|{{|{{{|{|}z{{z|{{z|}}{||{|{|{{{{||{||{{|}|z{z{zz{{{{{|{{|{z{{{yz|{{{|{|}||{{zz{z{{{z{zz{{{{{{zzz{{{||||{||z{{{z{|{{{|{{{{zz{zz{{zzz{{z{{{y{yzzzz{{z{|{{|{zz{{zzz{z{zz|{{{|{zzzzzy{{|{||{{{zyzzzzz{{{|{{{{z{z{zz{z{{z{{}{{z{zzzzzz{{z{z{z{{zzzz{yz{zz{{{{{zzzzz{zz{{{{z{{z|z|zz{y{z|{{{|{{z{zzzzzyzz{z{z{{zzyz{zzzy{{zz{{{{z{{zz{z{{z{{zzzxz{{zzzzzz{{z|}{zzzz{zzz{{z{{{{{{{zz{zzzzz{{{{z}{z|{zzz{{{{{|{||{zz{{zzz{z{|{{{|{z{y{{z{{||{{{|z{z{{{zz{z{{z||{z{{z{{{{{{{{|{|{|{|{{|z{{{|{|{}|||{{{{{zz{|}{||{||zz{{z{{||{|{{{{z{z{z|{{{|{z}||{}z{{z{|z{|{}{||||z{{{{{{||{{|{||{|{{zz{{||z|{{|||{z{{{{|z{|{|}||zz{zz{{{{{{|{||{{{{|zz{{{|{{{z|||{{zzz{{{{||z|{|z{zzzz{zz{|{z|{z{zz{yz{zz{{{{|{}{zzzy{zz{z{|{{{{z{z{zz|{{{{{{{||z{zzzzzz{||{{|||zz{{z{zzz{{z{{|{{z{z{{zy|||{{{{{{zzzz{zzz{z{{{{{{{{zzz{zzz{{z{{{{{zzy{yzzz{{{{|{zzzzyzzzzz{|{{z{|{zz{zzzy{z{{{{{{zyz{{zy{{z{{{|zzz{y{zz{zz{{{{|{{z{z|zz{{{{{|{{|yzzzzz{{{{{z||{{{{{zz{z{z{{{{{|{zzzzzz{{{{{{{{{|{z{z{z{{{|{z{{||{z{{z{{{{|{{{{{||{{z{{{z{{|{{|||z{zyz||z{{{{{||||{|{zzzz||{{|||{|{|{{{{{{|{||{{|{{|{{{{{{{{|{||{|{|{|zz{{}{{{||{{{|zz{z||||||||||{z{{{z||||}|{{{{{{{z{{z|{{|{|{|{{{zz{z{{{{|{{}||{|z{{z{||||{{{{{{|{{{{z{{|{{|{{zzz{zzzz{|{{{{|{{y{z{zzz{{{zz{|{z{{z|{{{{z{|y{{{|z{{{zz{z{|{z{||{{{zzzzz{{{{{{{|z{{zz{{z{{{{z|{{zz{{z{{{z{{{{|{{zz{{zzz{{zz{{|{|zzzzyz{{z|z{{{{zzz{{yzzz{|{z|{{zzzzzz{zzzz{|zz{|{zz|{z{zy{|{{{{{z{{zzzz{z{z{{{{{zzz{{{zz|z{{z|{{{{zzz{{zzz|{||{{{z{z{z{{{z|{{|{{zz{zzzz{z||{{|{|{{|zzz{{{|{{|{{{{{{z|zz{}|{|{{||{{{z{y{{{{{z{|{|{{{{{{zz{{{||{||{z{z{|{|{||{{|{}|{|zz{zz|{|{{{||{{|{{{{|||}{|||||zzz{|{|{||{|{|||{||{{{z|}{{|||{|{{{z{{{|||}|||||{z|{{|||{||}{{||{z{|{{z}||||{||{|{{z{{z{|{{|||}|z{{|zz{{{|z{{||{z|z{zz{|||{|||{{zz{zzyz{{{{{{|{{zz{zzzz{{zz{{{|{zzzz{{z{yz{z||z{zzyzz{zzz|{z{{z|{{zz{z{{z{z{{{{z{y{zzzzzzz{z||z{z{y{{zz{{z{z{{zz{zzzz{z{z{zzz{{z{{yzzyzz{zzz{{{zzzyyzzyzy{z{{{{{{{{zzzzz{{{{{{{{zzzyzzy{|z{{|{{zz{zyz{zzz{{z{{{z{{z{zz{{{{{{{{|{zzzzzyy{{{z|{|z{z{{{zzz{{z{{{z{{zzyzzz{z|{z|{|{|zzz|z{z{{{{{|{{zzz{{|zz{{{{{{|{{{z{z{z{{|{{||{{zz{{zy{{||||{|{|{{{||{|z{{{||||{{zzzzzzz{{|{{||{|{{z{|{z||{|{||{{{{{{{{z{{|{|}|{{zz{||z{||||{||{{{|{z|{{{{{{{{{{z{{z{z{z|{{{|{|{{|{{{z{{{|z{{|{}{z{{{{z{{{{{||||{|{zzzz{z||{||{|{z{{{zz{|{|{z{{z{zz{{{zz{|{{{{{{z{zzyzz{{|{||{||{zzyzzzz{{{{{{{|{z{{{yzz{{z{{{{|{zzzzzzz{{{z{{{{{zyzz{{zzz{{z|{|{yzzzyy{z{{|{zz{zzzzy{zzzzz{z{{{yzzyyzzzzz{z|{|z{{{zyyzz{{{z{{{{zzzyyyyyz|{{z{{|zzz{zyzyz{{zz{{{zzzzzy{zzz{{zz{{zyz{{zyz{{z{{{{{{zzz{z{z{|{{z{{|{{{zzz{z||{{{||||{{zyzz{{z|z{{|{{zzzzzz{z{{{|||||z{{zzzz|||{z||{{z{{{{z{|{}z||{{zzz{{{{|{|{}}|{{{z{z{z{{{}|{{}||{{{|{{{z}{|{||||{z{{|{z{|{||{||}|z|{{|{{{{|}{{|||{z{{|{|||{|||{|{z{{z{{||{||{{{|||{z{zz{{|||{||{|{{{{{z{||||{{{{|||zz{{{|{{{|{||{{{zzz{{||{{{|||{zz{|z{z|z|{{{{|zzz{zzzzz{{|z{{{yyzz{zzzz{|{{|||{z{{z{{zz{{z|z|{zz{{zzy{z{{|{z|{{z{yyz{zzzzzz{{|{{zz{{zzz{z{z|{{zz{zzzzz{{{{z|z|{zzz{zz{z{{{z|{{zzyzzzyy{zzz{{z{zzzzzz{yzz{{{|zz{{zyyyz{y{zz{{{{{zzzzyzyz{zzz{{{zyyzzzzyz{y{{{z{zz{yz{zzzzz{z{z{{yzz{zz{{{|zz|z|{{zyzzz{{zz{z{||y{z{zyzzz{{{z{{{{{z{zy{{{{{{z{{{yzzz{{zz|{|{z||z{z{|{z{{{{{z{{zz{{z{{{z{{{||z{{|{{{|{{zz||{|{|{{z{{z{{zyz||z|||||{{zz{{{|||{{{|}|{|{{{|{|||{||||{z{|{{{{||{{||{|{||{{{{{||{|||{|{z{{{{z{z{{|||{|{|zzzz{{z{{{{{{|{z{z{zz{{|{{{||||{z{zz|{z|{||{{{{{zz{zz|{||{z{{{z{yyyy{yz{|{z|{{{{yzyyzyz{{{z{{{{z{zz{yyz{z|{{|{{|{zzyz{{{{zz{|||{zyyzzzz{{z{{{{zzz{zz{z{{z{zzzzz{zzzzxzzz{yz{zzzz{zzzzz|zz|{{{{{{zyyzzz{z{{{{{{zyzzyzzzzy{{zzyz{z{zyzzz{z{|{{z{yyzzzzzyzzzyz{{{zz{zyzzyzz{z{{zz{yyy{{zzz{z{{{z{zzzzzyzz{{{{z{|zzz{zzz{yz{{{|z|{zzz{{{z{{z{{{{{|{{{{{zzy{{|{{{{{zz{{zz{z{{{{{{{{{{zz{zy{{|{{{{{{z{{z{{zz{{z|{{|{z{z{z{{{}|zzz{{}{z{{{z{z{{|{||{{{z{{{{zz||}|{||{{|{zz{{{{{{{{{{{|z{{z{{{{|{|{{|||z{{z{{{|{z{{||||{z{z|zz{{{{{{{{{{z{zzzz{{{{{{||z|{z{{{{z{{{{||{{{zz{zz{|{{{|{||{z{zzz{|{{{{|z{{zzz{zzzz{{z{{{z|{{zzz{zz{{|{|{z{{{{zzzzz{{{{{||{{zyz{zzz{z{{z{{|z{zzz{zz{{{z{{|{zzzzzz{z{{{zz{{z{z{{zzzz{zzz{{{{z{zzzyzzz{z{{{{{zyzyzzzzz{zz{{{{zzzzzzzyz{{{{z{zzz{z{zyz|{{{z{z{zzzzzyzyzz{zzz{{zzzzzzzzz{{{{{{{zzz{yz{{z{z{{{|{zzzzzz{{{z|{z{z{{yzz{{zzzzz{{|{{z{{{zzz{{{{{{{|{{z{{{z{zz{{{{||{z{{{z{zz{{|zz{|{{{{z{{{zz{{{z|{|{zzz{{{{z{||{{|{zzz{{{|z|}{z{|||{zzzzzzz{{z{||{||{{{zz{{{||{|{{|{z{zz{{z{|{||{||{{{{z{z{z|{|{|||{zzzz{{{|{|{{{{{|z{{{{{{z||{{{|||{z|{{z{{{{{{|{{y{{z{zzz{|{|{||{|{z|y{{z{{{|{{{{{{{{z{{|}||}|{{{{zzz{zzy{{{z{z{{zzyyzzzy{{zz{{{{{z{zyzzz{z{z|{}{zzz{zzzz{{{{z{{{{zzyzzzz{z{z{|{{{{{{y{zy{{{z{z{z{{zzzzzyzzz{zz{zzzzzz{zyzy{{{{z|zz{zyyzzy{{z{{{{zzzzyzyzz|{{{z{{{zzyzzzz{z{{z{{zyz{zzzzyzzzzz{{{{yyzzyzzz{z{z{{{yz{zz{zyz{zzz{{{zzzzz{yzz{{z{{||{z{zzzzz{{{{z{{{z{{zz{{z{{zz{{{|{{zzzy{{z{{|{||zz{zyzzzz{{|z{z{{zyzzzyz{{{{{z||{{z{zz{{{{{||z|{{zzzyzz{{{{{{|||{{{{z{yzzz{|z|||{{z{z{{{{{{{{|z{{{|{{{{{{||{{{|{{}{z|z{zz{{|{|{{||{{{{|{{|z{{{{|{{z{{{{{{{||{|{|{{{{z{{z{||zz{|{{{{{zz{zz{{{|{||{{{zz{{{{z{{{{{{{|{{z{{z|||{{|{{|{{zzzz{z{|zz{{{{|z{zzyyz{z|{|{z{|zzyz{zy{{{{|{|{{{z{z{zy{{{{z{{{z{z{yy{zz{z{{{{{{{{zy{{z{|zz{{|{{zz{{zzzz{{{{|{yz{zyz{z{{z|zzzz{yzzyzy{z{z{z{{zzzzzzzzyz{{{{{{{zzzzzyzyzzz{{z{{zyzyzzyzzyz{z{{{{{zzzzyzz{|z{z{{zzzz{zzzy{{{{z{z{{{yzzz{z{{|{zzzzzz{zzzyz{|z{{|||zzzzz{zz{zz{{z{{{zz{zzyz{|z{{|{z{z{zzzyz{{z{|||{|zzz|zz{{{|{|||{{zz{{z{{{z||{||{z{{y{{|{{{z|{|||{zz{{zz{{|{z{z{||zz{{{{z{{||{|{{{{{z{{||z}{}|||||zzz{{z|{|{{||{{|z{z{zz{|{{{{||{{z{{{zz{|{|{{{{{{{z{{y{{{||{||||z{z{z{{z{{{{{{||{{{{z{{zz{{{{||}{{|z{{{{{{|||{||zzzzzzzzz{|{{z|{{z{{zzzz{z{{z||{{{zzzz{z{|{{|{z{{y{zzzzzz{{{{{{{{{{{yyzy|{{{{{{zzzz{zz{{{{{z{{{z{z{zzzy{|{{{{{z{z{zyz{zy{{{{{zz{z{zzzzyyz{{{{|{z|zzzzzzz{zzz{{|{{z{{zzzy{{z{z|{{zz{y{yzyz{zzzz{{zz{{zzz{z{y{z{{{zz{zzzz{{z|{{z|{{yzzzzzz{{{zz{z|zz{{y{zz{{z{z{z{z{y{zyzz{{|{{{{{zz{yzzzzzz{|{{|{zzz{{{z{z|||z{|{{{zz{z{{|}{{z{{z{z{{{{{{{{{{{}||{zzyz{{{{{{{{|{}{zz{{{z{{||{{{{z|{{{{z{{}||{{{{|z{{{{{||||{{|{{||{{{{{{{{}|{{||||{{{{{{z{{{{|{|}|{zz{|{{|{{||{y}|{|||z{{{|z||{{{{zz{z{{z|{z{|{|{||{{{{{z{{|{{|||{z{zz{{{{~|{}{{{|{zyzzzz{{{|zz{|{{zz{z{{{{{{{{{{{zyzzz{z{{zz{{{zzy{z{{z|{z{|z{y{zz{zzz{z{{{{{|{|{{zz{{{zz{{{{{{z{{zz{z{z{z{{{{|{{{zzy{{x{zz{{|{|z{zzzzzzz{{{{{{{zzzyzzzz{{z{{{{{zz|zy{zy{{z{{{{z{z{zyyzzzz{zz|y{{{{zzzzz{{{yzz{zzzzz{z{y{{zz{|{{z{{zy{{{z{{{{z{|z{z{zz{{{z{|{|{{z{{zzzz{{{|{{||{{z|y{zzzy{{|{|}z{zzz{zzzz||{|||{|z|{|{{{{{{{{|{{{zzz{z{{z|{|{{{|z{{z{{z{{{{{||{{{{{{z{{{|{|{{||||{z{|{|z{|||{||{{{z{{{|z{||{|||{{z{{{z{{{||||{|{{{{{|{zz||{{{||{|z{{{{{z|{||{{}|||{|{{{{|{{|{|||{|{{{{z{{{|z{{||{{{{z{{y{|{{{||{z|{{{{{z{|}}}{{{zzz{{zz{{{z{{{{|{{z{{yz{{{{{z|{|z{zzzz{z{{{{||{||{{zz{{z{{||{{|z|zy{zzzz{z{{{z{{{zzyzzzz{|{z{{{{z{{zzzzz{{{z{{{{zzyz{zzy{{zz{{{{zzzzyyy{z{z{{{{z{zzzz{z{{{z{z{{zyyzyyzzyz{{zzz{|z{{{{zyzz{{{z{{{{{{z{zzyz{{z{|{{zzyzzzyzzz{{{{{{{zzz{z{{{z{{{{{|{z{|zz{z|{{z{{{|{yz{zzz{z{{|{{{{{{{{zz{y{z{{{||{z{z{z{zzz{{{{{{|{z{z{{zz{{|{{||{|zz{{{{{{{z{{{|{{zz{{||z{|{{{{{|{{{{z{{{|}{{{}|{{z|{{zz{{||{{|}||{{|{{z|{|{|{||{z{{|{{{{||}{{{||}{{{{{{{||||{|{||{z{{{z{|||{|{{|{z{{{|{{{|{||{{}z{zz{zz{{{{|{{{|{{z{{zzzz|{{|{||zz{{zz{z{{|}}{{|z{z{{{{y{{{|{{{{{zzzzzzz{{{{{{z|{zz{zzzz|{zz{{|{{zzzzzzz{{{z{|{{{{zzzzzzz{{{z{|{zz{{yz{z{zz{{{{|{z{{zyzz{{zzz{{{z{{zyzzzzz{{{{{{zzzzzzyzzz|zzz{z{{zzzzzzzz{{{{{{zz{yz{yzz||{z{{{{zyzzz{zz{zz{{{yzyyz{zz{z{z{{{{|{zz{z{zz{{{{{{{{{zzz{zzy{{{{{|{zzz|zzzz{{{{z{{{{zzzzz{zz{{||{|{|{{{{{zzy{{{{{|{{zz{z{zz{{{|{{{|{zz{{{{z{{{{z{{{|zy{z{{{z{{{{{|{{{{{{{|{z{{{{{{||{z{{{{{z{||z|{{z{z{z{z{{{{|{||}|{{{{{{{{|{{{||{||||{{{{|{}|{z|{}{{z{{{z{|{z{|{|{|{{{{z{{{|{{|{||{{{{{z{|{{{{{{||{{{{{{{{{|||||{{{zz{{zz{|{|{{z||z||{z{{z||}|~{{{zzzyz{zz{{|{{z{{{{{{{zzz|{z{|{{|{{zzzzzz{{zz{z{z{{zz{z{zzzz{z{z{z{zzyzzzz{|{{{{zzyzz{zzz{{{zz{|{{zyy{{zzz{{{z{{yzzzz{{z{z{{{{{{{zzzyyy{zzzz{z{{zzzyzzyxy{z{{z{{{yzzzzzzz{|zzzz{{zzzzzz{{{zzz{{{{z{zzyyyzzzzzz{{zzzzz{zyy{z{{z{|{{z{zzyzzz{{{{{z|zzzzzzzzz{{z{{{|zzzzyz{z{{{{{{{{{zz{{zzz{{{{zz{{zzzz{zyzz{{zz{|{{{zzz{zz{|z{{{z{z{zz{{{z|{{|{{{{{{{zz{{z{{{{{{|}zz{z|zzy|{{|{{|||{zzz{{{|{{{||||{{zz{{{{|{|{{{|||z{{{{zz{|{{{}|{{z{|{z{{|{{||{{{}{z{{z{{{{{{|{|}{{{{{{z|{{|||{{|z{{{yzz{{|{{{|{{{{zzzz{z{{{|{{z|zz{zzz{{{{||~{{{{{zz{zzy{|{zy||{z{zz{yzzz{{|{|{{{{zyzzyzz{{||{||z{zzzzz{{{zzzz|||z{zzy{y|{{{z{{{{{zz{z{zzzz{{{{{{zz{zzzy{{zzz|{{zz{zy{zyzzz|{z{{zzzzyzz{z{{{z{{{z{z{zzzzz{zz|z{zzzzzyzzzz{{{{{{{zzzzyz{z{{z{{{z{zzzzz{yzzz{{z||{{z{{zyzzz{z{{{}{zzzzyy{zz{{{{zz{{zzzyzy{|{zz{{z|{zz{z{{z{{{|{{|{{{zzzzz{{z|{{|{{{z{{zz{z{{{{{{|{{{zzz{{z{{{{z{||{{{z{{zz|z{||{||{{|z{{{{{{{||{{{{{|{{{z{{{{|||||{z{{{z{{{|{{{||{{z{z{|{{{{{||||{}{{{{{{z{|{|||{{|{{{zz{{{{{|{||{|{{z{{{{{|||{{{||{{{{{{|||||}{|{{zzzz{z{{{{|{{{z{{{{zzzz{{{{|{|{{{|z{{{{{|{|{{{{z{zzz{z{z{|z{{{{z{zz{{zyz{|z{|{{{z{|{{zz{z{{{{|{{{{{z{zz{{{{z{{|{zyzyzzz{{|{{{{|z{{yz{zz{{zz{{|{|z{{zzzz{{{z{|{{zzzzzzz{y{{{z|{|zyzz|zzzz{{{{{{z{{zzzyyz|z{z}{y{{{zzzyz{{{{{{{{zzz{zzyzzzz{{{y|{y{zyz{zy{{zz{|{z{yzzzzzz{z{{{{{z{zyz{zyzz{zzy|z{{{zzzzy{{zzz|{||{{z{yzzyz{{{zz{|z{{zzz{{{{{|||{{{{z{{{yz|||{{|{z{z{{{z{z{{|{z|z{z|{{{{{{zz||{{}{{|{z{{|{{{{}|{||{{||{z{{||{{}||||z{{|z|||}|{{|||{{{{z{{{{{{||{|{|z{{{{{{{|||{}|||{z{{{{{{||{|||||{{|{{{{|{zz{{|||{{{{z{{||{||{{|z{{{{{zz{|{{{{|||z|{z{z{{{{|{||||{{zz{z{{{||}{{{zzzyzzyzz{|z{y|zzzyzzzyzz|{{|z{{{{zzzzyy{zzzz{{z{z{z{zy{{z{{z{{{zz{z{{zz|z{{{{{{{zzzz{zyz{{{{z{{{z{zzyzzz{zzy{{{{{yzzzzz{{{z{{{zzz{{zyzyz{{{z{zz{yy{yzzz{{z{{{|z{zyzyyzz{{zzz{{zz{zzzyzzyz{zy{{{zyzyzzzzyzzzz{zzzyzzyz{zzz{{{{{|{zy{{zzzz{{|{{|zzzz{z{zz{{{{{{{{zzzzzz{z{|{{{{{{{zzzzzzzz{|{z{{|{z{{{zzz{{{zzz{{{{zz{zzzz{{z{{{|{{zz{z{{{|{{{{|{{{zz{z{{{zz{z|{|{z{{{yz{{{{{|||{zz{{zz|{|||||||{z{{zzz{|z{{{{|{||zz|z{zz{{||||{|{{{zz{|z{{{{|{{{{z{{zzzz{{{{{|}|{z{z|zzz{|{z|{z|{{|y{{yzz{{{||||zz{zzz{zz|{|{||{{zz{{zzz{{||{z{z{{yz{z{yyz{zzz|{zzzzzz{zzz{z{{|{{{yz{zzz{zz{{|{{z{zzzyz{{{{zz{|{zzzyzzyzzz|{{{{|zzzz{zzyz{zz{|{z{yzz{zyzz{{zz{{|zzyzyzzy{zzzz{zzzzz{zzzyz{yzz{{{zz{yyzy{z{|zz{{{{{zzzz{z{{zz|{{{{z{zzzzzyz{z{|zzzzyzz{zzzzyz{{{{zzzyyyzzzzz{{z{{zzzzzzz{{{{{{|{{zzzzzz{z{z{{z{{z{zzy{y{{{{z|z||{yzzzz{{{zz{z{|{{{z{zzzz{|{||{{{|{zz{{y{z{{{z{z{{{{{z|z{z{|{{{z{|zzz{{zzz{{||{{}||z{{{z{z|{|{{{|{{zz{{zzz{|{{|||||zz{{|{{|||{||{|{zzz{|z{{|||{|{{|z{{{z{{{|{|{|{|{z{zz{{{{z{z||{{|{{zz{zy{{{|{{{|zzzyzz{{{{{{z{|{{zz{z{zzy||{z{{{zzzz{{{y{||||{{{z{zzz{zyz{{{|yzzz{zzyzzz{zz|{{{{{zz{zyzy{{z{{z|{{zz{zzyy{{{{zz{zzzyzyzzyz{{{{z{{{z{{{zzyz{|{z{{z{zz{zzyzzz{{z{{{zz{yzzyz{{z{{{yzzzzz{zzzy{{{z{{z{zz{zz{zz{{zzzz{zzzyzzzz{zzz{z{{z{zyyzzzyzzyz{z{{zyzzyyzy{zzz|z|zzzzyzzz{{{zz|||zyzzzz{y{|{zz{{{z{y{zy{z{{{{{{{{{z{zzzz{{zz{{|zz{yzz{z{yzz{zzz{{{yzzz{zzz{z{z{|{zzzzz{|z{{z|{{|{z{{zy{{z{{{|{||{z{z{{z{z{{z|z{|{zz{zz{zz|{|z{{z{|z{{{yz{{{{{{{{|z{{z{{{{{{|{|{}|{z{{{|{|z{|{||||{z|{z{{{}{||||{{{zz{{{zz{{z{|z{|{{z{z{{{||z{{|{|{zzzz{zz{{{{{|||{zz|z{zzy{{{{{{{{y{{zyzz{{|||{{zzyyzzzz{|{|{{{{{|zz{zzzy{{{{z||{zzzy{zzy|{{{{{{zzz{{zyz{z{{{{|{{zz{zzzzyz{{{z{{{zzyz{z{zzz{z{{{z{z{zzzzz{z{{z{{zz{zzz{yzzz{{zzz{yzzz{zzy{{{zzzz{zyzyz{zz{{{z{z{|z{yzyzzy{zz{zz{{z{zyyyzz{zzzz{z{z{xyzzyzz{zz{{z{{z{zzyy{zz{{{{{z{zzyzzzz{|{{{{{{z{z{yzzz{z{z{{{{{{zzzzzz{{y|{{{{zzz{zzzyz{{{{|{z{z{z{zzz{{|{{|{{{{{{zzz{{{z{z{|z{{z{{{{{{{z|{{{{z{{zz{{z{{{|z|}|{z{{zzzz||{||{|{{y{{zz{{{|{{{||{{z{{z|{{{{|{{|{{{{{zz{{z{||}|{||{{{{{{z{||||{{||{{{{{{zz{zz|{{|{|{{|zzz{{{{{z{{|{{zzzzz{z{{{{|{{{zyzyz{zz{z{{{{z{z{zzzzy{z|{||{{z{{{zz{yz{|z{{{{{zzz{{{z{{{zz|z|{z|zz{z{||{{z{{|{{z{zzz{{{{z{z{{{z{zzz{{z{{{{{z{{{zyy{{yz{{zz{|{{z{{{yzzy||{{{z{{{zzz{zzz{{{{{z|zzzzz{z{{|z{z|{{zzyzz{zz{{{{{{|{{z{{zyzz{z{{z{{|{z{zzy{{z{z{z{{|{zzy{{yyz{{{{{{{zz{zz{zzz{{{{{{{{zz{zzz{{{{{{{{{zz{z{z{{z{|{{|{|{{{z{{{z{||z{{||z|zzzz{z{|{{{{{{zz{zzyzz{{|{{|{{zz|zz{{{{|{{z||{{{{||z{||||||{{|z{|{{{{z|{||||{{{z{|{{{{{||||||{|{z{{{{{|{{|||||{|{|{{||||||{||}{{{{|{|{|{|||{||{{{|{|{{{||{||{||z{{|{z{{{{|||{||{||z{{||}{}||||zz{{{zz{z|{|{|||{{|{{z{y|{|{{|||{{{{{|zzz|}||{z{z{zz{yz{z{{{z{{{zzzzzzzz{{z{{{|{{{z{zzzzz{zz{{|{zzzzzzzzz{z{{|{|{z{zzy{z{z{z{{{{{z{zy{yy{{zzz|{|zzzzzzzz{z{z|{|z|z{zzzyzzzz{zzz{{zzzzzyx{z{zz{|{{z{zzzzzzz{z|{{{zzz{zz{zzzz{z{{{z{yzzzzzzzz{z{z{zzzyzyzyz{y{{z{{{y{zz|yzz{{z{{{{{{{{zzzyz{{{{|{|{{zz{zzz{{{{{{{|zz{y{zzy|{zz{|{{{z|z{yzz{{{{z{z|{{{yzz{zz{{z|{{|z{zz{|zz{z{{z}{|z{{{{{{z|{{{|{||z{{{z{{z|z||{||}{{z{{{z{||||z||||z||{{{{||{{|||{{{|{{{{{|{|{|||||{z{{{{{{}|{{{|||{{{{{{z||{{|}|{{{{{zzz{|z{|{||||{z{zz{{{{z|{{||{{{z|{z|z{{|{|||{{zzz{{z{|{{|{|{z{{z{{zz{{||{{{||{z{zzzyzz|z|{{{{{zzzy{{|||{{|||z{{{z{z{z{{{{||{z{zy{z{{{{|{z{|{{{{zz{{z{{|z{{||{{zz{|{{{|}|{|{|zz{{{{z{{z|z{{zz{{zz{{z{{{{{z{|{{z{zzzzz{{|{{{{|{{z{z{{{{z{||z|{{{{{z|z{z{{{|{{{zzzzzz{yz{z|zz{{{y{z{zy{{{z{{|{{{y{z{{z{||{{z{|z|{{{zz{{|{z{{{{{{{|zz{zz{{{{{{{{{{z{{{zz{z|z{||||{{|{z{{{|{{||{||{{{{zz|||||||||{{{{{z{{{|||{{{|{z|{{{z{z||{|{||{|||||{|{||}|||||{{||{{{}||{|||{|{{z||{z|}}||||||||{|||||||{|}|||{||{{{{{}|{|||||{|{{{|{}|{|||{|{z{z|{{{{||{|{||||{{{|{||||{||{|{z{z{z{z|{|||||}||{|z{{{{|{||{}{{{{z{{|{|{|{{||{{{zz{{z{z{|{z{{|{|||{{{z{{||{|{|{{{{{{{z{{||{}|{|zzz{|z{{{{|{z|{{z{y{z{z||{{{|||{z{zz{zz{|{{{{|{|{|{zz|{{||{{{||{{z{z{{zz{{{||||z{{{{z{{{|||||{{|{{z{zz{z{|{{|{|{{z{z{{{||{{{|{|{zz{zzzyzz|{{|{{{{|{z{{{z{{z{|{{{{|{y||{{z{|{{|||{{z{z{z{|{|||z}{{{{z{{{|||{{{|{z{{{{{{{{||{{{}{{{{{{{{{||||||{||z{{{|zz|{{|||{{{{{{{{{{{{|{{||{|{||{{{{{|}}{|}}{{|||{|{|||||}||{{||{{{{|{||||||}|||{{{{|||||}||{{{{{{{{|{|||}|}|{{{{{|{{|{}~|}||z{|{{{||||}|||||{|z|{z{{||||}|}{|||{|{{|{}||||||||{{{{z|}}}|}}||z|{{|{{||||{||{{z||{{{z{||{{{||{|{{{{{z{||{{{{{{zz||zzz||}||||{|{{{{{z{{{||{|||{z{{{z{z{{||{{|}||{zz{{z|{|||||||z{z{z{{|{{{{{|{z{{z{{z{{{|{{||{{{{zzz{|{z{}{||{{{{{{yz{{{{{{{|{{{z{z{zzz{{{{||{{|z{{{z{|{{{|z{|z|zzzz{z{{{z{|{{{{{{{{{zz{{{{|{{z{zz{zzz|{{{{|||{zz{{zz|{|{{{|{{|{{{zz{{{{{}|{{{{|{{{{{{{{{|}||}{{{{|z{z{}||||||{z|{z{{{|||z|||{{{{{z{{{}|||{}|{z{{{}|{||}||||||{{{{{{{{|{{|||}|{z|{{{{z|||{||{|{{|{{{{{||||||||{{{{{||{||||||}}|{||||zz{}||||}||{||{|{||{|{}}~{{{{{|{|||||{|}}|||||{{{||{|}||||{|{{|{{{|{|{|||{|{{{||{{||{{|||{|{{{|{{{{{||{|||z{z{zy{{{{{{{{{{|{{z{z{z{|{|{{||{{z{{{{z{{|{{|{{{z{z{z{{}{{{|{|||{{yz|{z|{||||z|{{{{{{{{||{|{|{|{zz{{zyz|{||{{{|zz{{{{z{{{{{|{|{{zzzz{zzzz{{{{{zz{{zz{{z{{{{{{{|{{{|zy{{z{{|z{||{{z{zz{{|{{{{|{|{|{{zzzzz|{|{|{|zzz{{{y{z{{|{|{{{zz{z{{{|{{{z|{|{{{z{z{z{zzz{|||{z|{{z{{{|{||{{{||||z{{{{||{||{|{{z{|zzz{|}||{{{{{||z{z{||||{{{{{{zz{|{{||{|}||{{{{|{|{||||||||}{{{{{{zz{|||{||{|z{|||{{|||}|{||{|{||||}{|{|||}|}|||z{||{}}}|||}}||{z{|{|{|}||}||{{{||{{|||||{|||{z{{{|z{{||}|}|{{{{{|{{{{|{||{||{{{{{{{{||{{{||{{{{{z{{|{|{{{z{z{{z{{{z{{{z{{{|{z{z{{{z{{{||||{{{{{{z{{{{{{|{|{|zzz{{{{|{{{|||z{{zz{{zz{||{{{z|{z{zz{z{{{{{||{{{zzz{{zzz{{{z{{{|{zy{z{z{{{z{||{z{z{zzzz{||z{||}{zzz|{y{{{zz{{||zz{zzz{z{{zz{{|{{z{z|yz{{{zz{z{|{z{zzz{{z{z{{|||zz{z{{{{{{|z{|{|{{{z{z{{{|{|{|{|{zzzzz{z{z||z{|z|{{z{zz||{|||{||{{{z{yzzz||{{|{||z{{zz{{{|||{{|||zzz{{{z||{|||{{|{{{{{{{{|||}{|{{{{z{{{{|}{|{||||{|{{{{z{|||{|{|z{|{{z{||}|||||||{{||||{{|||{}|||{||{{{{{|}}|||}{{{|||{{|||||{{||{z{{{z|{||||}||||||{{{|{|{{|{||{|{{{{{{{{{||{|||{{{||{{{{||||||{{{{{{{{{|||{{{{z{z{z{{y{{|{{{{|{}zz{|{z{{{{{{{{|{{z{|{z||{||{|{||{{z{{z{{{{|{|{{|{|{zzz{{{{|{}|{z{z{{zz{{z|{|||{{{{{zzz{{|{{|{{{z{zzzy|{{{|z{{{{{zz|yz{{{|{zz|{|{z{{{zz{z|{{|{{||{zzz{z{{|{{{|{{{z{{yzy{{{{z{{{|z{z{{zzz{{{{}|{yz{{{zzzz{{{{||||{{z{z{{||||{z{}{|z{{zzz{{||{{|{{{{|{{{{|{|{{{|}{{{{{z{{{{|||||{{{{zz{{{}{|{|||{{{{||zz{{}{|}{|{z{{z||||{||{|{||{||z{{|||||{|{}|z|z}|z{{{|||}||||{z{{{{{||||{}}}{||{z||{{|{{||}{|{||{{{||}|}{|}||{}|z{|||{{}|}|||{{||{{{||{{||}}||z{||{|{}{}|{||{{{{||{z{|{|{|{||{{{{{{{|{{|||{}||z|{|{z{||||{{{{zz{{{z{{{|{{{{{z{{{{z{z{{|{{|{|{zzz{{zzz{{|{|||{z{|zzzz{{|{{z{{{z{zz{zz{{zz{{||{zzz{{{zz{|{{|||{{zz{{z{{zz{||{{{zz{z{z{{{{{{|{{zz{zzzz{{{{|{{|z{{zzzzz{{{{{||{|{z{zzzzyz{|{{{{{{zyzzzzyz{z{z{{{{{{z{{{zz{z{{{|zz{z{{z{{{{{z|{|{{{zz{{{zz|{|y{|||z{zzy|{{{{{{|||z||zzz{{{{{{{|||{z{zzzzz{|{|||||{{{{zz{{||{{{{{|{{{{{z{z{|||||||||{{{{{|{{{|}|||{z|{{z|{|{||{|||{{|{|{z{||||}||||{{{{||{|{||{||||||||{{{|||{}|||||{{{|{{{|||{|{}||{{z|{{|}{|||||||{{|{{{{|||}|||||||{{z{|{{{||||||{{||{{||}{|{|||{{{z{{zz|||z|{{|{{{z{{{{{||||{{z{{z{{|{{||z{z{|{z{z{{y{|{|{|||{zz{zy{{{{|{{{|{|{{zzz{z{{{{{z{|{{{{{{zz{{{{{{{||z{zz{|yzz{{{z{||{{{{{zzz{{|{{{|{z{{zzzz{{{{{{|||z{z{{z{{{{{zz{{{{{{{{{z{z{{{z{}{{z{{z{zy{z{{{{|{z{z{{zyz{{{zz{{{z{zzz|z{z{{z{{|{{z{z{{zz{|{{{||{{{{z{z{z{{{{{{}|zz|{z{zz{{|{|{{|{z{{|{z{{||||{{||{|{{{{{{{{{{||{|z{{z{zz{{|{{|{|{z{{{z{{{|{{{||{{{{|z{{|{{||{{||z{|{{z{{{{||{}||{{{{{|{{||||z|||{|{{{z{{||}{||||{{|{||||||{{||}|{|{|z|{z|}|{||}|{{{|{{{|{|}||}|||{{{{z|{|||{{}||||{{||z{||{|{||}|{zz{zz{{{||{|}|{z{{{{{{z|{{|{|{{{{{zz{{|||||{{{z{{z{{{zz{|{{{{|{|z{zz{{{|{{z||{{{{yz{{z{{{{|{{{{{zz{{z{|{{|z{|{{z{{{zzz{{|{{|||z{{zz{{y{|{{{|{{|z{{zzz{||z{{{{{{{zyzzz{{{z|{{{{y{{yz{zzzz|z{{{{zz{z{zz{{{|z|{{{{z{|zzzzz|||{{{|zzz{zzz{{{z{z{{{z{{z{zz{z{{z{{{{zzzzzzzz|{||{||{z{z{zzz{{||z{z{z|z{{{z|{z{{{{{{|{{z{{{z{{{|{{{{|{z{{zz{zz|z{{}z{{{{z{|zz||}|z{{{{{z{z{{{z||{}|{|{{{{{{{|{}||||||{{z{{{|{|{{{{}|}{{{{z{z{|{|||||||{z{{{z{|||z|}||{{{|{{{||}{{|}||}|{|{{{{{}|}|{|||{{{|{{{|||{{||{|z{z{{{|{|{{{|||{{{{|z{{}{||}{||{{z{{z{{|||{|{|{|{|z{{{{{|||{|{z{z{z{{{{|||||zz{{zz{z{z{z|{{{|{|{{z{z{{z{|{{{{|}{{zzz{z{{{{z{{{{|z{z{{zzzz{{|z{|zz{zz{{z{z|{z{{|{{{z{z{zy{z|{{|{|z|z{z{z{|{{{{{z{zzz{zz{{z{|zz{{{zzzzzzzz{{{{{{z{zzzz{y{z{|{||{{z{{zzzzy{zz|{{{|{zy{zzzzzz{z{{|{z{z{z{{{z{z{z{|{zzzy{zzy{zz{{z{{{z{{|zzzz{{{{{z|{yzzz{zz{z|{||{|{z|z{{zz{{{{{}{|{{zzzz{{z|{{|{{{{{{{|{z{{||{{{{{{{{z{z{|{||{{|{{z{|{{{{{z|z{|||}{|{z{z{{{{|}|||{{{|{{z{{{||~|||{{{{{|z{{{{||{{|||||{{|{{{|{|{}||||{{{|{zz}||}||{|{||{z{{{{{||||{|z{|{|z{|{|}{{{|||{{{{{{|{|||{||{z{{z{{{|||{{{}{{||{{z{z|||{|{|{{z{{{{zzz|{|||||z{zzz{zzz{||{z{|{z{|{{zz{{{z{{{||zz{{{|z{{{{{{{|{zz{z{{{|{z{{{|||{{{y{zz{{{{{{{{{zzz{z{y{{z{{{|{{zz{{zzz|{{z{}{zzzzzy{z|{|z{|{{{zz{{zzzzz{z{z{z{{zzz{{z{zz|z{{{|{zz{yzzzz|{{{|{{z{zzzz|zz|{|{{{{{{zyzzz{z{z{{{|{zzzzz{z{|{{{{{||{z{y{z{zz{{{|z|||{{{zy{{{|{{{|{|zz{z{{{{|{|{z{z|z{z{{zz{{|z{{{{{|z{{{{zz{{}{{{{{{{{{{{{z|{{{{||||{{{{zz{{{||{||{{{{{{{|{||{}z|{|{{{|{|{{|{}|}||{|{{{{{{{{|{{{|}}{|{{z|{||{||{||||||{|z{{{|||{||{|{|{{zz||{||||||{zz|{{z}{}|{|{{|{{zz{z{{{|||{{|}||{{|z|{z|{}{}}|{{z{{{z{||{}{{||{{{|{zzz{{|||{{{{zz{zz{z{||{{|{{z{{{{zz{{|{z{{|{|zzz{{{z{z{|{|||{{{z{{zz{{{{{{{{{{zzzzz{{{|{|z{{{zzzy{zzz{|zz{|{{z{z{zz{|{{{{||{zzzzzz{{{{{z{z{{zzzy{z{zz|zz{{z{{y{z{zzz{{{{zz||z{y{zz{zz{{|z||{{zzzyy{{z|{zzzz{z{zz{{{zz{zz{|{{zz{z{{z{{{{{z{|zz{{{{{zz{z{{{|{{{{{{zz{z{||{{{||{{z{z{|z{{|{{||{|{|{{z{{{|{{{{{{{{{{{|z{{{|{||{{{{{{|z{zz|{{{|{|{{{z{{{{{||z{|{|z{{{{z|{|||||}|}{{{|zzz{|{{{{}|{{{{{{{{{||}{{||||{|{z{{{{||{|}||}||{{{{{{||||||{{{{||z|{|||||||||{{{{{{{{}{}|||{|z{||{{{}{{||}}||{{{{{{{|{{|{|||{|{|{{{z{{{||||{{{{{{zz{{{z|}|{{{z{{z{z{{|{{{{{|{{{z{{z{|{{|{||{|{z{{|{z{{{{|{|{{{{zzz{z{z{{|{}|{|{zzzzz||{|{{{{{z{{zzzzy{||{{|{{{zz|{zz{z{{{{|{{y{z{z{y{{{{z{{{{zzzz{zzzz|{z{{{{{zzzzzzz{{z{|zz{z{zz{zzz{{{{{{|z|{{{z{zzz|{z{zzz|{z{zzzz||z{{{{yz{{{{zz{{z{{|{|{zz{{z{z|||{{|{|{zz{zz{{z{|{{||z{z{{{{{{{{{|{{||{{{z{z{{{{|{|}|{{z||{z{{{{|{{{|{{{z{{z|{|z||{|{|{|zz{|{{{{||{|{{{|{{{{|||||||}||{zzz{{{{|||{|||||{{{{{{{{||}{}|{{{{{{|z{{||{||}||{{{{|{{|}|||}|||{||{{||{|}|||||{|{{{{z{||||||||{{z{|{{||||{{|||{{{z|zzzz{{||}||||z{z{{z}|{||||{{{|{}z{z|{{{||z{zz{zzz|zz{|{z|{{{z{{zzz{{{|{|{{|{z{zzzz{{zzz{|{}|z|{zzzz{{{{z{||{{zy{z{zz{{{z{{{{z{{{y{z{{|{{{|{{{z{{{{{{z|z{||{{yz{z{{zz{|{{{{{{zzzzzzy{{{z{{|||zz{zzy{{{{z{{{{zzy{zzzzz{|{{{{|{{zzzz{zz{zzz{{zz{{z{{zzz{{{{||{zz{z{{zzzz|{z{{{{{zzzzzz|{||{{{{{z{{{{{{|{{{||{{{zy{zz{{|{{|{|{||||{|{{z{|{|||{{{z{{{{z{{{||{{|{|{{{{|z{{||{|{|||{|{{{{z{{||{{||{|{{{{{{{|||{||||{{{{{{{{{|||{{||{{{{{z||||{||||{{{z|{{{{{|{}||||{|{{|{{{||{||||{{{{z{{{|||||||||z{{{{{{{}||z||}{{z{{{{{{|{|{{|{{{{{{{{z|{{||||{|{{{{{{{{{{|{|}{{z{z{{{{|{||{||{z{z{{zzz{{|z|{|{{{{{|z{{{|{||{||zz|zzz{{{{||{|||{y|z{z{|{z||{||||{|{zz{z{|z{|{{|{zzz{{{z{||{z{{||{{{zzzzz{{{{{|{z{{zz{z|{{z{{{{|yzzyzz|z{{z{{|}{z{zzyzyz{{{{{|{zzzz{y{{{{{{|z{||{y{{zy{zz{{zz|||{{zy{zz{z{||z{|{{{{y{|{z{|{{{{{|{{{|{z{z{|{{z{|{zz{{{z{z||||{{{|z{{zz{z{|{{{{||{|z{{{zz|{||{{{|||{{{{{{{{{|{{||{{{{z|{{{{{|{{|{||z{{{{z{|{|||{{|{{{|{{{{}}|z||||{{{{{{{{||||{||||z|||{{{|||||||||{z{|}||||||}}|||{||{|{{|}}|}||||{{{{{z|}|}}{||||z{{|{{|||{|||||||{{}{{||||}||}}|{|{|z|{{{|{|}{||{z{{z{z{}|}{||{{||{{{{z||||}z|{{{{{zz{z{{{|{z||{{zzz{{{{|z{|{|||{zz{z{{{{{|{|z||z{{zzz{{{{{{{{{{zzzzz{z{{{{{{{|{z{{{zzzz{{{z{{{{zz{{zzz{{{{z|z{{zzzz{{z{|{zz{{{zzyzzzzyz{{z{{|{z{z{zzyz{{|{|{{{{{|zzzzz{||{{||{zz{{zzz{zz{yz|{{{zzzzzzz{zz{{{|{zz{zzz{z{z{z||{{zzz{z{z{{{{|{{{z|{{{{zz{{{{{{{||{{{z{zzz|{{z||||{{yz{{z{{|z||||{{{{{{{z{|{|||||||zz{z{{{{|||{{||{|z|{z{z|{{|{|||{{z||||{|{{|{|||{{z{{{{|{||{||{||{{{{{{{||{|{||{{z|{|{{{{|{||||{{|{|{{||{||{{|{||{{{z{{{|||{{|||||{{|||{{{|{||||{{{{{z{|}|{||}||z{{{|{{{{{{z|{||{{z{z{z{{}{{|{|||{{z|z|{z||{|{{|{zzzzzzz{{{{{{{{{{|zzzy{{{{|{}{|{z{z{{z{|{z{z{|{{{zzzz{z{{|{{{z|{zz{zzz{{{{{{{|{zzzzzz{z{{{{{{||yz{zz{zz{z|{{|z{zyzzzzy{{{{{{{{{zzzzzzzzz{z{{{{{z{z{yzy{z{|z{{{{z{zyzzyzz|{{z{{{{zz|{{{zyzz{{{z{{zzy{{{z{{{{{{|z{zz{zzzzyz{{{{{{{y{{zzzz{|{{{{{|zz{zzzz{z{|{{|{{{z|z{z|{{|{{{||{{{{{{zzzz{{{{}{|{z{|z{zz||{z{{|{|zz|{{{{||z{||{{{{{{{{{z||z|{z{{zz{{|{|z{||{{{|||{{{{{{z{|{{|||||{zz|z|{{}|{|||{{{{{{|{{{|{||{|{|{|{{{{|||}|{{|||{|{{{{{{{||{{||{z{{{{||{||{||||||{{{{||||||}|{|{{{{{{{{{||{{|{|{zz{|{{z{||{{{||{{{{|zzyy{|{{{{|zzz{zz{zz|{{||{|{zzzzyzy{z{{{{{|{z{{z{zz{{{{{{z{{zz{{zz{{{{{z{||{z{zz{zzz{{{z{{|{z{zzzyz||{{z{{{{zzy{{{{{z|{{|{{zzzzzzzzzz{|{{{{{z{yzzz{{{{{z{{{zz{zz{zz{{{{{{|{{{zzzy{y{z{{z{{zzzz{z{z{z|{{|{{{z{{zzz{{z|z{{{z{{z{{zzz{{z|{{{{|{z{z|{z{{{{{{{{|zz{{z{zz|{{{{|z|{|zz{zzz{{|{{{}|{{{{{z{z{||{{{||z{zz{{z{{||{{{|z{z{z{z{{z|{{{{{{{{{{|{zz{||}||||{|z{{{{{{|{|{{||{z{z{{{z|{{{||{{|z{{{{|{{{{|||||{{{z{{{{{|||}}{{{{||{|{||}||||{||{{|||{{{|{|||{{|z{{|{{{||{||||{||{{{y{{|{{{{|{||z{{{z{{{|{{|{|||{{|zzzzz|{|z{{||z|z{z{zzz|{{{{{{{{{{zz{z{|||{{{{{{|{zz{{{{{z|}|{zz{{z{{|{{z{{|{|z{{zzz{z{{{|{|{{{z{zyzz{|{{{|{|zz{zzzzzz{|z{|||{zzzz{{{z{{{z{|{{z{{z{zz{{{{{{{{{{zzzyz{{{zz{|{z{zzzzzzzz{{|{{{{{{{{zy{z{{z{|{{{zz{{{z{z{z{{{{|{{y{zz{zyz{{z{{{{zzzz{z{zz|{{z{|{{{z{{z{z{{z{z{|{{z{{z{{z{{{{{|{|{{{z{{{z{{|z||{|{z{{{zz{z{|z|{||{zz{{{yz{{{{|{|{{z{zz{z|{||z{||z||{{|{{{|{{|||||{{{{{{|{||{|{|||{|zz{z{{||||||{||zz{{{{z|{|||}|||{{|{|}{|{||}{||}z{|{{{{{|{}|}|}|{{|{{|{|{|}{||{|z||{{z|{|{{|||{|{{{{{{{||{|||||{zzz|{{{|||}{|||{{{{{{{{{{{||{}|{{|z{z|{{||{|{{z{|zz{zzz{{|{{{{{z{{{{z{z{{||{{|}zz{zzz{{{|{{{{||{zz{{{{z{{{|z{{|{z{zyzzyz{{||{{{{zzz{zzy{{|z{z|{{z{z{z{{{{{{z{z{{{zzz{z{{{|{z{{|{y|zzzzz{zz{{{|{{{{{zzz{{{{|{{||{z{z{zzzz{{|{{{{{zzz{y{zz{{{{{z|z{{zzz{zz{{{{z{{yz{z{zzyzzz{{||{{{zz{z{z{{{|{{{{{zzzz{{z{{{{{|{{{zz{|{{{|z{{{{{{{{{{z{zz{||{|||{{zz{{|zz{{{{{|||{{{{|{{{|{{{|{{z{{|{{z{z{||{}{|{{{{z||{{{z{{||||{{z{{{{{}|{|}{|{|{{{{{{{{}|{|{||z{{{{{{|{{|||{}||zz|{{{{{}|||||}|{{{{{{{|{{||{|||{{{|{{{{||{||}||{{{{|{|||{|{}||{{{{|||{{{|{{}||{|{{z{{z{{{}{||{{{{|{z{|||{{{{{{zyzyzzzyz{|{z|{|z{{{{z{y{{z{||||{{{zzz{z{z{z|{{|{{{|{zy{|{{{{{|{{zzzz{{z{zzz{|{|{zzzzzz{z{{{{{{z{z{{zzyz{{{z{||{{z{zzzzzz{z{z{{{{zzzzzzzz{|zz||{zy{{zzz{{|zz{|{{{zyzyz{zz|{|{z|{{zzzyz{zz{zz{{{{z|zzyzzzz{{{z{{{{{{zz{{z{{{z{z|{{z{z{z{z||{|{z||{{|zy{{{z||{{z{|{z|z{{z{{{|z{||{|z{{{z|zz{{{{||{{{{{{{zz{|||{|{|{{{zz{y{{z|{{|{z{{zz{z|{{|{|{|{|{z||{{{||{{{{||}{{z{z{{{||}{|||{|{z{{{|{{||||}|||{{{{|||{|{{{|||}{{{{|{{{}|||{{||z|{z{z{||{|||||{{{{|{{{||}{|||{{||{{z{|||{|{{|{{|{{{{z{|{{|z|||{||{{z{{{|{|{|{|{{{y{zz{{{|{{{||yzzz|zz{{{z{z|{|{z{{z{z{{z{{{||{{|zz{{{{{|{{|{||zzz{{zz{{{z|||{|{{{zz{{{{z{{z|{|z{{{z|{z{|z{z|{{{z{{zzyzz{{z{{z{z{zyzzzzz{z{zz{{{{zzz{{{{z{z{{{{|{zzz{z{z{{y|{|{{{{{zz{{z{{{z{{{zzz{yz{zz{|{|{{{|zzzz{zzy|{{||{{{z{{{z{{z{{{{{{{{{zzz{{{{{z|{|z{|{zyzzz{{{{{{|||{{{{{{zz{{|z|{|{{zz{{{{z{|{{{|z{{{{z{{{{|||||{|{{{{|zz{{||{{|{|{{zz{{z{{{||}{|||z{|||{|{|{||||{}||{{||{{||}{|{|{||{{|{{z|}{|||}|z||{{|{|{|{|||||{{{|{{{{{|}{}|{}{||{{z|{||||||{}{z{{{|{{|{|{}}{|||z{{{{{||{||{|}{{{z{|{z{{{|||||{z|{{|zz{|{||||z{zzz{{z|{{|{{{|{z|{{{z{{{{{{{{||{z{{zy|z{{{{{|||{{{zz{{z|{{{{{|{{z{zz{y{{{{{z{||z{zzz{{z{{||{|{{z{yz{{z{||z{{|{{{zz{zzzz{{{z||z{z{{z{{zz{{{{{{|{zzzz{zzz{{{||{|{{{zzzzz|{z{{{z|{{zzz{{zz{|{{{|{{zz{{zz{zz{{zz{z{{zy{{{zz{{|{{z{{{z{y{{z{{{{|{{{||{{z{z{{{{||{|{|{zz{{z{{{{{{|{{|{z|z{zzy{|}{{{|||{|{z{{{|{||{}||{{|z{|zz{{|||{|||z{||{z{{|{{|||{z{{{{z{z{{{{||||z{{||{z|{{||{|||||}{{{{z||{|||{||zzz{z|{|||{|}|||{{{{|{{{||{|||||{{{{|{{{|{|||}{{{{{z{|{|{{|{}|}|{{||{{z{||{{||||z{||{{||{||}z||{{z{{{{{{{z|{|}{{|{{{{|{z|||||{{{{{z{y{{{|||{}{{{yzz{z{zz||||{{{z{{{zz{{{{|{|{|{z{{zzzzz|z{{{|||{{|{{zz{{{|{|{||{|zzzz{z{zz{{{}|{zzz{{zz{|{{{{{{{z{{{zz{||z{{{{{{{{zy{{{{{{{z{{{z{zz{zzz{z|z{{{{z{{zz{{{{{{{{|{|{{{{zzzz{|z{|{{{|{{zzzzzz|{|{{{{{|{z{zzz{{z|{{{|zzz{{{zz{{{{{{}{|{{yz{{{{{z{||{|zzzzyzz{|{}|{}||{z|{zzzz{{|{{|{{{{{{{z{{{|{|z{{||z{{z{|{{{|{|{|{zz{{{zzz{||{{|||z{z{{zz{{{||||||{{{zz{|{{{|}}{}||{{{{|{{{}|}{|||{{{{|{{{|||{|}||{z{zy{{{{||}|}||||{|{{{{{||}||}||{{{{{|{||{|{}{}|{{{{z|||||{{||}{|{{{{{|{|{}||||{{{{{{z{{{{|{|}|{{z{{{{{||{{{|{|{{{zz{z{|{}|{{|z{{z|{z{z{{{{|{|{{|{|{zzz{{{|{{||z|{zzz{z{|{|z||{{z{{{{z{{||{{{|{{{{zz{zy||||{{{||}|zz{z{{{{z{|{{z{z{z{zz{z{{{z{{{{z{y|{{{{{{{{{{{{{yyzz{{{|{{{z{{zyzz{zz{z{{{||{{z{zzzzz{{{{||{||z{z{{zz{|z{{|{|{{zz{z{{zz{{|{||{z{{{|zz{{{{{{{||z{z|zz{{|}{z{||{{|z|{{{{{{{{|{|zz{{{|z{{|{|{||{{zz{z{{{{|{|{|{||{{{{{{{|||{{{|{{{{{{{z{|||{{}||{{{{{{{|{|{}{|}|{{{|||{||||{{|||{{{{{|z{{{{{|||||{{{|{|{{||||||||{|z{{||{||}||}|{|{|z|{{{|{||}||}{{|{z{||{}||||{{z{|{z{||{|{||||{|{z{{{|{{z||{|||{z{{|{z||{||||{{z{{{|{{|{{|{||{{{|||{{{{{||{{{{{{{zz{zz{z{{{{{{z{z{{z{{{{{z{|{{zz{{z{{zz{{{|{{{zzz{zz{{{{|zz|||zzz{yyzz{|{|{{{{{{{{z{zy|z{z{|{|z{z{{zzzzzzz{{|{z{zzz{{{{{z|z{z{{z{y{yz{{{{z{z|z{{zzzzzz|z|{{{|{zzzzz{zzy{{{{z|{{zzzyzyz{{{{z{|{zzzzyzz|z{z{{|z{z{z{z{zzz{|{z|{{|{z{{{{{zz|{{|{|{z{{zz{y{{z{z{{}{zzzz{z{{{{|{|{{{z{{zz{z{|{|||{|{{{{{{{z{{|{{{{{||{{zz{{{|{{{|{|{{|{{{{||{||||||{{z{{z{{||z{||{|{z{{z|{{{||}{{{{|{|{{{|{{|{{||||{z|{{{{{{}||{{|||{{{{{{{{{{||||||{{{{z{{|||||||{{{{|{{{{{{{{|{||{{z{{zz{||{}{|}|{z{{|{{{{z|{{{|||zz{{{z{||{|{{|{{{z{zz{{{{{{|{{{|z{{{zz{{z{{|{||{{{zzzzz{||{{|||||zzz{zzz|z{{{|{{zzzz{z|{z{|{|{{z{{zz{{{{{{|{{{|{{{z{{{yz||{{{{||{{{zz{z{{{{z{{{{{z{zzz{|z{{{{z{z|{z{zz{{zzz{{z{|zzzzzz{z|{{{{{{{z{zzzzz{zz{{|{|{{z{{z{z{|{{z{{{{{zzzzz{z{z{{|{z{{{z{{zz{{{{{{||{{{{zz{{{{||{{{{{{z{zz{|{|{{{|{|{{zz{y{{{{|{||||{{zz{{{{||{|||{|zz{{|{{|{{|||{||||{|z{{{{}{{{||{{{z{{{{{{||}|}|{{{|z{{{{|{{|{|{|{z{{{{{{||||{||{{{|{{{{|{||{|}|{||{z{||{||{{|}||||||{||{||}||||||{{{{{|{|||}|{|||{{{|{||{||{|}}||{{{{{{|{||{|{}{{{{{|z{{z|{|{||{{|{z{|{|{{{{{{|{{{|{{|{|{|{|{|}{{{zzz{{z{{|{|{{{{{zz{{z{{{{|{{|{{{{z{|{{{{||{}|{{{{{{z{zzz{{z{{|z{z{z{{z{|{{{{{{z{{zz{zz{{|{{z{{{z{zyyyzz{|{{{{{|{zz{zz|{z{{z{{{z{{{{zzy{{z{{{{|{z{zzzyzzz|{|{{{zzzzzzz{{{{|{|{{{{{z{z{{{z{{z{{{zzzzyz{z{{{|{{{|zzz{zzzz{|z{|z|{{{{{z{{{{||z|{{}{{{|z{{z|z{{}z{{|{{z{{z{z{{|{||z{{{z{{{{{||{{|{{{{{z|{z{{{{|{{}|||z{{z{z{|{|{|||||zz{|{{||{|||||{{{{{{}{|||}{{|||{{{{{{{|{|{{||{|{{{{{|{||{|{{}{{{{|{{{|{|{|}||||||{{{{{{}|}|||}||{{{{z|{||{||||{{{z|{{|||||{|}||{||{|z||{{||{}{|{|{z|{{z|{{||}|||{{{z{z{||{||}|{zz{y{{{{{{|{{{{{{{{zzzyz{{{{{{{{zzz{yz{{{{{{|{||{zzyz{{{{z{{{{{{z{zzzy{zz{{{{{{{{{zzy|z{z{|{{{{z{{z{{z{{|{z{||{{zz{zzyzz{{z{{{z{z{{z{zz{z{{{{{|{zz{zzzzz{{{|z|{zzzzz{zz{{{{|{z{zzzz{zz{{{z}{{|{zzzzzzzyz{zz{{||{{z{zzzz{{{{{||zz{z{zzzzz{z|{{||{{zz{{{{z{|{{z||{{zzzy{{|{{|z{|}|z{{z{{{{|{{||{|{{{{z{{{{{||||{|{{{z{{{z{||{{{|{{{z|{|{{{|{z||{{{{{{{z{{|}||{|{|{{{zz{{{{{{}{{||{{z{{z{{{}|{}||||{|{{z{{{}||{||}{z{z|||{|||{||{||{{|||{{|{||}{|||{|{{|{{||}{|||}|{{{{{{{}|{||{}|{|{||{{{{{{|{|||{zz{z{{{{{|{|||||{{{z{z{{|{{|{}{z{{{zz{{{{{{|{{|zzzz|z|z||{{{||{|zzz{zzz{z{{{||{{z{{zz{y{|{{||{|{zz{{zz{{{{{{{{{{{{zzz{zz{|z|z|{zzzz{z{z{z{z{{{{{{{z{{z|{{zz{z{{z{zzz{{z{z{{z{{|{{zzz{z{{{{z{{{{{{yzz{z{{z|z|{{{{{{zy{y{z{{|{{{{z{{{z{yzz{{|z|zz{{{z{{{zz{zz{{{{zz{{{{zzz{{{{z|{zz{{{{z{z|{|{{{|{z{z{{zz{{|{{|{{{z{{z{z{{{{{{||{|{{{{z{{{|{|{}{|{z{y{{{z||{||{{|{zy{{{{{|{{|{{{{{{{|{z{{{{|z{|{|z{{{{{{z{|{|||}|{{{{zz{|||{||||{|zz{{z{{}||{|||||{{|||||||{{|||{|z{{{|{|{}||||}|{{{{{{|{||||{||{{{|z{zz{||{|{|}{||{z{|{{{{|{{{{|{{{{zzzz{{{{{||||{{z{{{z{{|{{{{|z{{{zyzz|{|{{{z{z{zzz{{zz{|{z{{{{{|zzzy{{{{{|z|{{{{z{yyyzz{{{{|{{zz{{zyz{{zz{{||{y{z{{{z{{||{|{{z{{y{{zzz{|{z{z{{zz{{zzzzz{{{{{{z{zzzzyz{z{{zz{{y{yzzzzz{{{{{z{zzzzzzyy{{{{{{|{{{zzzzzzz{|z{{{{{{{{yyzzyz{z|z{z{|{zzzyzy{{y{z{{{{zz{{{z{{{{{{{|{{zzz{{z{{{{zz{|{{z{{|{zzz{||{{{|{z|{zzzzz{{z||{||{{{{{{z{{{|||{{{zz{z{{{||{{|{|{{zz{z{{{{|{{||{|{{|z{{zz{{|||||{|{{{{{|{|}|{|{|{{{{{|{z{{||}{}}||{{{{{{z{||||||{{{{{{{|{z}{|}|||{|{{z{{{{||{|{|}{{{{{{{{||}|{||}|{{{|{{{|{|{{}{||{{{{||{||{{{|}|{{{z{{zzz{{|{||}|}z|z{{z{{|{{{z{{z{zzzyz{{{|{|{{{{zzzzzzz{||{{|{{zz{zyzz{{{{||||{{{z{{zy|z{z{|{{|{{zzz{{{||{z{{|{zzzzz{z{{{{z{{{z{z{z{zz{{{yz{|zz{zz{zzz{z{z{zz{{y{zzzyz{{{{{{{{{zz{zz{z{{|{{{{z{zyzyzz{z{{{{|{|z{zzyzzzz{{{{{||{zzzzzzz{z|{{{{|{z{zz{zzz|{z{{{{{zz{{{{z{{{{{{|{{zz{z|zz{{||{{{|{{zzzzz{{|z|{|{|z{{zyz{{z{{|{|{|{z{z{zzzz|{|{|{{{z{{{{zzzz{|{||{{{z{{zz{|{{{{|{{{{{{|{|{{|{{||{{|{{{{{|z{{{||||{{{{{{{{{{||{|{|{{zz{{z{{}||{||||{{|{{{||||||||{{}z|{{{{{{}}||{}}|{{|{{z|{|{||{|}|{{{|{{||{{{{|{||{{{{{{{{||||{|}|{{{{z{z{{{|{{||{{zz{z{{{|{{{||{|z|y{z{z|{{{z|{|{zzz{z{z{{{||{{|zzz{zzzz{|z{{|{||z{z{|zz{{{{{{{|{z{z{{zz{|{|{|{{{zzz{z{{{{|{{z{|z{{z{z{z{{|zz{{{{{{{zz{z{||zz{z{z{zzz{zz{{z{zz{|{|z{{z{{zz{{z{{|z{zzzzz{{{{{|{|{{{{zyzzy{{z|{|{|z{z{zzzz{{{{z{{{{{{yzzzz{|z|||{{zz{{{{{zz{{{{{{{z{{{z{z|{{{{{{||{{{{z{{{{|{|{|{{z{zy|{zz{{|{{|{|{{|{{{{z{||{{|{{{{{yz{{z|||||{|{|{z|{{{{|||{{|{{{{y{|{{|{|{}{||{{||{{{{{{{|}||||{z{{{zzz{||{{{|z|{{{{|{{|||{||{}||{{{|{{||||||z|{{||{|{{||||{||}|{{|{{|{|{{||||||{{||{zz||{|{{|||{{|{{{{{}|{{||||z{{{{{{||||{||}{||{{{|{{{|||{||{||{|z{zz{|{|{{{z{{zzzzzz{{{{zz{{{zzz{zzz|{{{{{|{zzz{zzz|{{{{{|{{z|z{{|zzz{|z{||{{zzzzzz|{z{|{||{zzzyz{z{{{zz{{{zz{zzzzz{{|{{|{{zzzzzzzz{zz{{{{{zz{{{zzz{{{zz{|z{zz{yyzz{{{z{{{{{{{zzzz{z{z{z{{{{zzz{zzzzz{z{{z{{zyzzzz{z|z{z|{z{{zz{z{z{{{{{{||{z|z{y{{{{{z{{{{{z{zzyzz{{{{||||z{|{z{{z{{{z{{{{{{{{z{{{{|{|{{{{|{{z{{zz{}||{z|{{{|{{z{|{|{{{{|{{z{z|z{||||{{|{|{{{{{z{{|{|{|}||{|{zzz{z{|||{}|{|{z{||{{{||||{}{{{{{{{|{|{{|}|{|{{z{z{|{{}||{|~{{{{{{{|z|{{{||{{|{{{z{{|{||{|||}|{{{{{{{{{}|{{||{{{z{{z{{|{{||||{{zzz{zy{{{{|||z{z{{zzzz{{{||||{z{{{zzzz{{{||||{{{z{|{{z|{}{{||{{{{z|{z{||{{{{{{{zzzzzzzz|}||z{{{z{yzz{yz|{{{||{{{{{{{{z|{{{{|{{{z{{{z{{{{{{{{z{{z{z{{zz{z{{{{{{zzzzzz{z{z|z{{{{zzz{{zy{{z||{{{|{{{{zz{{{||{{{|{zzzy{zzzz|{z{{{{{zz{{{zyz{z{{||{{{{z{z{z{{z{{{{{zz{z{z{z{||{{{{|{z{{{{{{{{{{{|{{{|{zz{{{||{|||||z{{{{{{|{|{||{|{{zz{{|{y|{|{|{||{z{{|{{{{}{{{{{{|{{z{|{{|{||||{|{|{z{{{{{{{|||||{{{{{{{{|}|||||z|{{z|{|{|}||{||}|{|{{||{||||||||{{{{{{z{{{{|||{{{|{|||{|||||||{}|{{{{|{|||||||}|{{{z{{z{{|||{{|}{|||{z{{{|{|||{|{{{{{{{z{|{{{z|{{{{{zzz{{||{{{{|{{{yzzzz||||{{||{{zyyzzz{{{{{{{|{{{z{{z{{{{z||||zy}{{zz{{{{z{z||{{{zz{{z{{{{z{||{{{z{z|{z{z{|{{{{zzzzyz{{{{{{{|{{{{zzzz{||{{{z{|yzy{zzzzz{|{z|{{zz{yzzzz{{{{|{{{|{{{zzy{{z{|{{{{{zzz{yz{z{zz{{{{{zzz{z{{z{{{{||{{z{{zzzz|||||z|z{{zzzzzz{{{{|{{{zz{z{{{z||{{{|||{{zzzz{|z||{|}|}{{{z{z{z{||{{}{{{{{{{{z{{|{||{}|{{{{|z{z|||{{||{|{{{{{zz|||||}{{{{{{|{{{|{z}{||}|||{zyzz{{|{|||||{{|{{{{||{|{|||{{z{||||{||{{||||{{{{|{{{}|}||}{|{{|{{{||{||z||||{{||z{{||{z||}||{}|||{{|{{}|}|||zzz{{{{|}{|}{|{{{z|z{{{|{{{|{||||{{{z{{z{||{z|zzz{y{z{z{{{{{z|{zzyzz{zz||z{||||{{{zzz{{{{|{{||{|{{{zzzz{{|{{{{{{{{zyzzz{z|zz{{{zz{zzzzzz{z{z||{z{z{zyzz{z{|{||{{zzzyzz{{{{{zz{{zzzzzz{z{zz{{|||{{zyzzzz{z|z{{{{zzzzzz{z{|z{{|{z{{zzzy|zzz{{z|{zzzzz{z{z{{{{z|{z{z{z{yzy{z{{|{{{{z{y{{{{{|{{{||||{{{z{z{{z|{{}|{zz{zz{{z{||{{}|||zz{{{{{{|||{||{|z{z{{z|z{|{{{{z{zz{{{{{||{{{|{||{{{z{{||{|}{||{{{{z{{{||||{{{|{|{|z{z{|||{|{{}}{z||{{|{|||||{{{|{{{{{{z||||{||||{z|z{|{|||||}}||{{|{|{{||}||||||{{{{{{{|{|{{|}||{{{{|{||{|||||}{{{{{z{z{|||{|||{{{{{{{{{{|{|{}{{{{z{{{{|{{{|z{zzzz{zzzz{{{{{{{{{zyz{z{{|zz{z{{|{{zzzzz{{{{|{{|{zzzzz{zz{z{{z{{y{{{{zz{z||{{z{{}zzz{z{{z{{|{z{{{|zzzzyyz{z{|zzz|{zzz{{{zzzz{zz{{zy{zzy{zz{{{z{z{{zzzz{y{{y|{zz{z{z{yzzzy{|zy{||{{z{y{{z{{zzz{zz{{zzzzzz{{{z{{{{{{zz{{zyzz{|{zz{{z{z{zzzz|{{{{{||zzzzzz{z{|{{{{{{{zz{z{z{z{{{|z{{{z{yz{zz{|z}{{{{zzzz|zz{{{{z{||zz{z{{zz{{{|||{z{|z{zz{|{z|{|||{{zzz{{{{{|{|{{||{{{z{{zzz{{z|{{|{{zzz{z{{||||{{|}{|zz{{z{||{{{}{||{|{z{z|{|{|{||||{z{{{|z{|}||{|{{{{{{{{{z{|||||||{z|||z{{{|{{||{{{{z{{yz{{|{{|{{|{z{z{{z{{{{{z|{z{{{yzzz{{{{|{{{z{z{zz{z|{{{{{{{{zz{{zyz{{|{{|{{{z{zzzz{{z{z{{{|zz{zz{z{{{{{z{|{{z{yz{{z{{|{{{z{{{{yzzzzz{{{{{{{{zz{{yzzz{{z{{{{zy{zzzzz{zz{{{|{z{zz{zzzz{{z{z{z{z{zz{zz{z{{{|{{{z{{zz{{{zz||{{|z{{{zz{z{{{{{||{{z{zzz{z{{z{z|{|zz{|{{zz|{{}|{{|{{zz{{{zz{|{|{||{{z{zz{z|{{z{{{{{{{{z{{{{|z|{|{||{{{{{{{{|{{{||{zz{{z{{{|||{|{|{zz{{|{{{{|{|{zz|{{|{{{z{{|{|}|}|z{{z{{{{||{||{|||{{|z{|{{||||||||{{|{{{{||{{||{||{|{{||{|{{{|{||}{{{{{{{{|{|{|{{|{{{{|{|{|{||||}|z|z{z{|||z{|||{|||}{{{||{|{{|||{|{{{{{{{|{{|||}{{{{zzz|{{{|{|||{{{|{z{{{{|{{z{{{||zz{zzz{{||{z{{z{zzzzz{z{||{{{{zzzz{zz{{{{{{||z{{{z{zzz{{{{{{{z{zzzz{y|{{{z{{{zz{zz{{z{z{zz|{|{{zzzzz{{{z{{|{{{z{zzzzz{{{z{zz{zzz{zzzzz{{{{{{{{zzzy{yz{{{{{z|z{z{zzzzz{{zz|{{|{zzzyzzyyz{z{{z{{{zzzy{zz{zz{||z{zyz{{z{z{{z|||{{zzz{y{{z{|{{{|{{y{{yzzy{{{||z||z{zz{zz{{||z{{|{z{z{|{{{{|{{|||{{{zz|zz{{{|{{{{{{z{{z{z{{|{{|{|{{{z{{z{{{{{{{||}z{{{{z{{{}|||||||z{{{{{z{{{{{||{|{{z|{{z|}{{{|}|{{{|{{|{{|{|{|||}{{zz|{{{}||||{|{z||{{{{{{|{|||||{{{{|{{{{{{{|||{{{{{{z{{{||||{|z{{{{{{z{{|{||}{z{{z{{z{{{{{{{{{{z{z|zz{{{|{{{|{|{zzzzz{z{|{z{{{z{{zzz|{{{|{{{||{{zy{zyyz{{{{{|{{z{zzzyz{z{z|z{|{zzzzzzz{z{|z{{{zzzzz{y{z{z{z{{{|{zzzz{z{|z|z{|zzzzz{zzzzzz{z{{{{zzzzzzy{zzz{|{{zzz{yzzzz{{{{{z{yzz{z{zyz{zzz{{{zzzzzzzzz{z{z|z{{{zz{z|zy{{z{{{zzyzz{{zzz{z{{{{{{{{{zzzz{{z{|{|{zzz{zzzz{z{{{|{{{zzz{{zz{{{|{{{{{zz{{z{zz|{{z{{{z{{{z{{z{{{|{|}||z{{z{zz{{{{{||{{{{{z{z{{|{{||||{|z{zz{{{|||{|{{|z{{{{{{{|{|}||||zzz{{{{{|{{{||||z{z|{{{{{|}||{|}{z{z{{{z{||{{{||z{{{z{||{{|{|}{{zz{{|{{{{z{{|||{{|z|{{|{{|{|{{{{{z{|z{{z|{||{{{|z{z{z{z{|{|{|||z{{z{zzzz{|{{z{{z{zzzz{{{|||{{z{z{{zz{{{{{z{{{{{{zzyyzzzz{z{{|zz{{z{zz{z{{{{{|{|zzyzyy{z{{|z{{{{{zzzzzzz{|{{z{|{{zz{z{zzz{{{z{{{{z{yzyy{{{z{z{{|{zz{zzzzz|{|||{zzyz{zyzzz{{z{{{{zzzzxzyz{|z|{{{zzzz{zzzyz{zzzz{{{zzzzz{zy{{{{|{{z{zzy{zz{{{z{||zz{zzzz|zzz|zzz{{z{z{{{{z{z{|{{|{z{zzy{{{{{{|{|{{{{{z{{{z{{||||z{{zz{|{{z|{{{|{{|z{|z{zz{{|||z|{{|{z{{{y{||||{{||{{z{{z{{{{{|{||{{{{{{z{z{{|{{|{zzz{{{{z{{{{{{||{|{{|y{{{}{{|{|||{|{z{|{{{||||{|||{{{{{{{|||||||||{{z{{z{||}||{{|||{z|{{|{|{||{{|{{{y{{z{z}{{{{||||{{zz{{|{}||{|{|{{{{{zz||{{{|{|z{{{zzz{z{{{{{{||y{z{{zz{{{{{{{||z{z{z{{||{{{|{|{zzz{zz{|{||{z|{z{{{{{{zz{{{z|{|{{|{z{zzz{|{{{{{z{{{{{yz|z{{z{{zyz{z{{z{zzz{z{z|{{z{zzzy{z{{{||{{z{zz{zzzz{z{|{{{z|{z{zz{{||{{{{{y{zzzzyy{{{{|{{zzzz{{zz{{{{z|{|{z{{z{zz{{{{{|{{||{z{{{{{|{{||{{|{{z|z|z{{|{{{|||{{{{z{{{z||||{{z{{{{z{zz|z|{|{{|{{{{{{z{{|{{|}z{yz{{{zz{|||z{{|{{{{{{{{{||||{||{|{{{z{{{|{|{|{{|{zzz{z{||||{|{||z{{||{|}}|{{{}|{||{{|{|{}|{}{|}|{{z{{{{{|||{|{||{|{|{{{|||}{}|}|z|{|{z|{{{|{}||{{|{{z{{}|{{{||||{{{|{{|{|{{{|}|{|{z{z{z{{|{{{{|{{{zzzzz{{{||{{|z|zy{zzz{|{z||{{{zzzzzzz{{{|{{|}{{zz{{z{{{{{{||z{{{zzzy|{{|{z|||zz{zyz{z{{||{{{|{z{zzzzyz{{{|{|z{z{yz{z{{{z{{{{{{{{zz{zz{||{zzz{{zyzzzzz{{{{{||{zz{zz{{z{{{{{{{{{z{{zz{z{|{{{{{|{|{zzzzz{|{{{{{{zz{yzz{z{z{z{{{{zz{z{|{y{{{|{{||{zzz{{{z{{|{{{||{{|{{z{{{{{{|{z{{{{{zz{{{{{||||{{{z{z{{{{{{||{{z{z{z{{zz||{{|{{|{z{{{z{{{{|{{}{{{{{{{z|{||z|||{{{|||{z|{{{{|||}||{z{|{{{|||||||||z{{|{{|||{|{{||||{{{{||||{|||}||{{|{|z{{}|}|}||}{{{|{{{|{|||||}|{{||z{z{{|{{||{|{{{|{{|{|{|{|}|{z{|{{{zz|{{|||||{{|zz{{{}|{|{{|{{|{zzz{{z{}{z{{zzzzzzyz{{{{||{|z{{zzzz{z{{{{{z|z{z{z{zzzz||z{{{{{z{zzzz{{{|zz||{zzzzyzz{{||{{{|{zzzyzzzz{z{z{{z{z{zzzzzzz{{{{{z|z{z{{y{zzz{z{|{z{zzzzzzzzz|z{{{zz{{{{zzz{|{z{{{{zz{zzzz{z{{z{{zzzz{zzzy{{{{{{{{zzzzzzzzzz{{z}{{zzz{zzzzz{{{{||}{y{{zzz{z{|{{{{{{zy{{{{z{{{{z||{{{zz|zzy{{|z{{{{{{z|zyyz{|{|z|{{{z{{{{zz{{{{{||{|{{zz{z||{{{||{{|z{{{z{||{{||{{|{{z{{{z{||||{|}{{z{{z{{{{|{||||{|z{z{zz{{}|{{|}}|z|{{{{|{{{{|}}|{{{{||{{{|||{{|||z{{zz|{|}{{}||||z{{{zz{{|{|||{|{{{{}{{{{}}{{}||zz|{{{z{{{{|{{|}|{|{z{zz{|{|{||{{{{zzz{z{{{{|{z{{{{z{zzz{{{z{{{|z{z{z{zz|{{|||||{{zzz{{{{{zz|||{zz{{{{{{{z{zz{{{z{yz{zzz|{{{z}{|{yzzzzz{z{z|z{{{{{{zz{{z{{|{{{{|z{{zzz{z{z{{{|z|{z{zzz{z{{{{{{{{zzz{zzzzz{{{z{{{zz{zz{zz{{{z{{}|{yz{zzyz{zzz{{{z|zyzzzz{y{zz{{|z{z{{zzzy||z{|z{{|z{{{{{z{||{z{{{{z||zz{|{z{{{z{|{z{{z{{{|{{z|||{|z{|zz{z{{||{|{|{z{{{{z{{|||{z|{|{{z{z{{||{{{{||{{{{{{z||}||z||{zz|{{z{{{|{|||||{{{{{{{{{|||{||||z{{{{{||||z{{||{z||{{|{||||||||||zzz{{|{}{{|{|~{|{|{{{{|{|||||||{{{{{z{{{{|{{|||{{{{|{{{{{||{||{{{z{|z{|||{||}||{{|{z{z{|{|{||{zz{zyz{{z{{||{|{{{{y{zz{{||z{{|zzzyzzyzz{z{z{|{{{zzz{y|zz||{||{{|zzz{{zzz||z{{||{z{zz{zz{{{{{{{{z{{z{zzy{|{z{{|z{zzz{zyz{{{z{{{{zyyzzzz{y{{{zzz{z{zy{zzzz{{{{{{z{zz{{yz{{zz{{|{{z|{zzzyzz{zzzz{{{zzzzzzzz{{{zzzzzz|z{y{z{{zz{{|{z{z{{{{y{{{|{{|{{{{z{z{{z{{z{{{|{{z|{y{{{{{{{|||{{z{z{z{{{{{{{|{{{{{zyz{z{{{|||{z{{{z{{z{|{{|{{y{z{|z{{z{{|{{|||{{z{{{{{{{{|{|||zz{z{z{{|{{{||||{{z{|{{{{}||||{{|z{zz{z{{{{{|}||{z{{{||{{{||||{||{z|{{{{{|{|}|||||{|{z{|{||||{}|||{{{||{||{||||||{zz{|{{{|z|||{||{{{zz{{||{{zz||z{yzz{|{{{|{|{|{{{{zzz{z{||{{|{{yz{zzzzzz{z{|{{|{zzzz{zz{{z{|{{{zy{zzz{z{{{{{|{{{z{z{zz{{{{{{{{{z{zy{{yyz|{z{|z{{z{{z{zz{|z{{|{{{{z{{{{zz{{{{z{{z{{zz{z{{z{{{z{{zz{zzyz{{{{{|||{{z{zzzzz{{{zz{{{{{z{zzzy{{z{y{{{{zzz{z{zz{{z{{|{{zzz{{zz{{{{{{{|yzzzzz{y{z{{|{{{{yyz{z|z||zz{{|{{zz{z{{{{{|z{{||z{{zz{z{{|{{{||{{z|zz{{{z{{{{}{z{{{yyz{z{{}{|||{zz{{{zz{{|{{{{{{{{z{{z{{||||{||}{{{{{z}z||{||||}zzz{zzz|{|{|{{|{|{{{{z{z{||{{{||||z{{{{|{{||}|||{{z{zz{||||{{{||{z{{z{{{{|{{{||||{{|{z{{z{||{||||{{{|{z{{{{|||||{{|{{{{{||{{{{|{|z{}{{|z{|z{{||{|{{{zzzz{{|{{||zz{zzzz{z{{{{z|{{z{zz{zzyz|{{{{{{{z{zzzzz{{{{{{{|{{zzz|zz{{zzzz|{{zyzzzzz|{|{z{{{z{zzz}{z{{{{z{{{{z{zzzyz{{{{zz|{{{{{z{{z{{z|y{{{{zz{{zzyz{|{{|{{zzzzzzyzzz|zzz{{{{{zzzyz{{{z|{{{{z{zyz{y{zzz{{|{z{{z{zzzzz{{{|||{zz{y{zz{{{{{{{{{{zz{z{{{|zz{{{|zz{zzz{{{|{{{{|{|{zzzzzz|z{{{{|{{y|z{z{{{{{|z{|{z{{zz{{{{|{{{{|{zzz{{zz{{||z{}{{|z{z|{{z{{||{|||{{{z{|z{{{|}}{|||{{{zzz|{{{|||{}{z{{{{{{|{|||||}{z|{zz{{{||{|}{{{{{{z{|||||}|||||z{{{zz{{{{|{||{|{{{{{{{|{{|{{||||{{|{z|{|{||{{}{|{zyz{{{{{|{{}|{zz{{zz|{{{{{||{{z{{yzzz{{{{|{z{z{zzzz{y{z{{||{z{{zzzyzz{{{{{{||{zzzz{{z{{z{{{{{zy{{zzy{{{{|zz{{{z{zzyzz{zz|z{|{{zzzzyzzz{{{{|{{yzzzzzy{{|{zz{{{{zz{yzzzz{{zz{{{zzzzzzzz{z{y|{{{{{z{zzzyz{{yz{{{zzzzzzzz{zzz{{{{{zz{{zz{z|{zzz{{{zzzzzz{zzyz{|{{{z{z{{{z{z{zzz|{z{{{zzz{{{}{{z{{{y|zzy{{{z|{{y|{{z{zy{zzz{z{{{{|{{{{{zzz{{{{{{{z|{zzzzzzz{{|{{||{z{z{zz|{{||{{z{{|z{{{{{{|{|{{{|{{{{{z}{{{{|||}{zzz{zz{z|{{|{{|{{z{{{z|{{|{|||||z{|{{{{z|{{{|{|||z|{z|z{|}|{|||}{{||{{z{{{}|||||{z{|{{{z|}{{|{||{{z{{z{z}|}{{{{|{{zz{{{z{{|{{|{|{{z{y{z{{|||z|{{{z{yz{z{{zz{{|z{z{yz{z{yz{{z{{z|{{y{zzzzz{{{z{{{zz{zz|yz{{zz{{{{z|{z{zzz{{z{zz|{z{zyz{{{{{{{{{{|{{zzyzzzz{{{{{{{zzzzz{{zzz{z{{{{zzzzz{zz{zz{z{z{y{yzzz{zz{{z{{{{zzzzzzyz{{{z|{{|z{zzyzzy{z{{{{{|yy{z{yzy{{{zz{z{zzzyzzzzz{{z{z{z{zzzzzzzz{{|{z{{zy{z{zyz{{{{|{{{{z{{zz{z{{{{z|{|zz{zzz{{{{{{z{{{{{{{{{{z{{z|||{z{{zzz{z{|{{{|||{|zy|zz{z{{{|{{{{{{{z{{{z{{||||||z||{|{z{{{{{z|{|{y{z{z{z{{{||{z{|z|{zz{{||||{|||||{{{|{|{{{|||{|{z|{{{{|{}}{{|{|{{{{|||{{|{{{|z{|{{{{{{{{{{{||{|{{{{{{{{|{|}||||{|{zz{{{|z{{{{||{{zzzz{{|{z{|z{|z{zzz{{z|{{{{||}z{y{zzzzz{|{{{{{{{zz{{z{{{{z{{{{z{{yzzz{{z{{||{{{{{yz{y{z{{zz|{{|{zyz{zz{{|z{}{{{zzz{{zy{{z{{z|{zzzzzzyzz{{zz{{{zzzzzzyz{zzzz{{|{zzzyyz{{zz{{{|zzzz{z{yzz{||{|{{z{zyzz{yzzzzzz{{{zz{yzzz{zzzzz{{{|{zzzzzzzz{{|||{{{{{{z{z{{z{{|z{zz{{z{{{|{{z{|{|z{zzzz{|{{|{{{|zz{{z{z{z{{{||{|{{zzz{{{||z{||{{{{{yz{{{{{|{{||{y{z{{z{{{{|z{|{|{{{{{{{{{{{{||||{{{{{{|{z{{|{{|{|{{{{z{{{{|{|{|{|zz{{{{{||{{{|||{{|{{{{{{||{|||||{{||{{{|}|{{{{{|{{|{{{z|z|{{||{{{{{{{{{{|{{}{{|}{{{{{{{{{z|{{{|z|{{{z{z{{{{|||{|{z{{zz{{{z{|{||{{|{z{{zz{{{{{zz{zzz{z{y{{{{{{{|{z{yzzz{{||{{{{|{z{z{zyyzzz{z{|{{zzz{zyz{{{{{{||{zzyz{{z{z{{z|z|{zz{yzzz{{zz{{{|z{{zzzzz{{zz|z{zz{z{zzzzzzzz{{zzzzzzzzzyz{{zz{{{zzz{yzyzz{{{{|{{{{zzzzzz{{{{{z{|z{zzzzzzz{zz|{||zzzz{zyzz{z{z{z||{zzz{{z{{{{|{|{zzzz{z{z{|{z|{{||zz{{z{z{z{{{|{|{z{z{{{{{{{{|{{|zz{{{{{z{{z{z{||{{{{zz{{|||{|{|{z{{{yz{{||{{|{|{{z{z{{z{{{|||||{{zzz{{{{|{{|{|||{{z{zz{z||||{|{|{z{{|{{{||||{||{|{{z{{|z{|{|{{|||z{{|{{{{{||{{|}|{z{z{{{{{{{{||{|z|{z{{z{{{{|||{{{{|{z||{||||{{|{{zzz{zz{{{||||{|{{z{{{{|{||z{||{z{zz{zz{{|{|{{{zz{yzzyz{{{{{{{|zzz{zzzy{{|{{{{{z{zzzzyz{{{|z{{|{yzy{zzz{{{{{{{{z{zzyzzzyzz{z{{{zzzz{{yz{|{{{{{zzzzzzyxzzz{z{{{{zz{zy{yyz{z{{zy{zzzz{zzzzzz{{{{{zy|zy{zzz{z{zz{{zzzzzzzz{{z{{zz|{zzzzzzz{z|{{{z{z{zy{{zy{zz{|{{{zz{yzzzzz{zz{zz{{{z{zyz|{z{{z|{||z{zzzzz{{{{{{{|zz{z{z{{{|{{{{{{{|{z{yz{zz|{{{||{z{z{zzz{{{|{z|{{{z{{zz{{{|{{{{{{{{z{z{{{{z{||||{z{yz{{{|{{|{||||{{{z{{z|||}}{{|{{{|z{{{{|{||{}||zz{|{{{||{|{{{|z{{{{|{z{{{||}}||{{{{{|z{|{{|||{|{{{{|{{{||{{}{||{{{|{{{{|{||{||{{{zzz|{{{{{{|||{{{zzz{z{}|{{z{{z{{zzzzz{|{z||z{{{zyzz{y{z{{{{{{z{z{{zzz{{{{z||{z{{zz{{{{{{|{{|z{z{zzzzz{{{|z{||z{{zzzzz{{|{{z{{{{zz{z{zz{z{z{{z{zzzzy{z|{{zz|{{zz{zzz{z{{zzz{||zz{{z{{{{{{zz{zz{yz{zzzz{|zz{{{{zz{{zzzz{{z{|{|{{zzzzz{zz{zzzz{{{{z{zyzzzzzzz{|{{zy{zzyzz{z|z{|{{zyzzz{z{{{{{z|{z{zz{{{z|z{zz{{|{{z{zz{{{{|{z{{{z{z{{z{{{{{{{}z|{{{{{zz{||||{{|{{zz{{zz{{{|{{{||z{z{|{{{{|{|{|||{zz{|{|||{{|{{|{|{{{|z{z|{|{|||{{{zz{{{{{||||||{{{{{{|{{{{{{|||{|{{{y{{||}{{|}|||y|{zz{{{{||||||{z{{{{{{|{||||{|||z{|{{z||{||{|{{z{z{z{z{|{{{|||{{z{z{z{{|{|z{||y{|{zzzzz{|{{{zz{{zzzzzzz{|z{{{|y{yzzz{{{{z{{||{{zzz{z{zz{z{{{|z{yz{{zz{z{{{{{||zz{zyz{zz{|{|{{|{zyzyy{z|{{{|{{{zz{{{zzz{{{{z{{{zzz{zzzz{{{|z|{{zyz{y{zzzz|z{zz{{z{zzyy{{|{{|{|{zzzzyyz{{{|z{{{{zzzzyzzyz{{{y{|zz{z{{z{{z|z{||||zzz{zzzzz{|zz{z{{zzz|zzy{|{{{{{|{{{{z{z{z{|{{{{|zz{zyz{{{{{{|z{{{|{{zz{{{|{{|||{zz{{z|z{{{|{{{{||{{zzz{{|||{{||{{{z{{{{z{{||||z|{{zz{{||{|||||||z|||{z{{{{|{||}{{{|{{{|{|{||{||{zz{{{{||{|{||||||{{{{{{{z||||{|||zz{z{z{|{||{{|{|z{|{{{z||{|}|}|{|z{|{{z{||||||{z|{yz{zz|||{{{||{{z{{{{z|{|{{|{{{{{z{zz|{{{{z{zzz{zzzzz{{||{z{{|zzzzzy{z|{||{|||z{zzzz{{{|{||{{|{z{{{z{{{{{|z{{|{{{zzz{y{{{{z{{{{zyzzzzz{{z{{{{{z{zzzzzz||{{{{z|{zz{z{yz{|{{{{|{zz{zzzzzz{{|{{|zzyzyzyz{|z{z|{{{zz{zyzzz{{{{{{{zzzzzyzyz{{{{{{{{{zzzzz{zz|z{|{|{{z{z|zz{{{|{{z{z{zz{zzz{{|{{{{||{zz{zz{z|{|z{{|{{{{z{z{{{{{{{||{{z{zzz{{|{{{||{|{z{z|{{{{|{||z|{{{z{{zz{{||{{|{{{{z|{|{{{{{||||{{{{{z{{{|}{|||||{{{{zzzz{{{||{||{z{{{{|{||||||||{z||{||{{}{||}|||{z{{{|{{{}||}|||{{{{{z{|||{|}|{{{{{z{{|{{{|||{||{{z{|{|{{{|}|||{{{{{zz{{|{{{|{{|{yzz{{z{{|{|{||{z{{{{z{{{|z|zzz{zz{z{zyz{{|{{{|zzz{z{z{z{{{{{{{|{zz{z|{{z{{zz{{{z{zz{{z{zz{z{{|z{zzzy{z{||{z{{{{zzzzz{z{|{z{{|{{zz{zz{{{{z{{{{{{zzzzz{{{{{{{{{{{{z{zz{z{|{{{z{{{zzzzzzzy|{{|z{{{z|{zzzz{{|{z{{{{{yyz{zzz{{z{{{zz{{z{{zzz{||{|{{z{zz{{z{zz{{{|{{{zzz{zz{{|{z{|{{{zzzz{zz{{|||{||{{z{{{|z{{{{{|{{{|{z{zzz{{|{||{{{{|{{zzz{{||{{|{{z{{{{z{{z{|{{{{|{z{{{zz{{|{|||{z{z{|z|{|||||}||{{{{{z{{{||{|{|{{{|zz{{z||||{}|||{z{{|{|{|||{||{|{{z{{{{{}{|{|||{{|{zz{{||||}||{{z{|{z|{|{{{{|||{{z|{{|{{}|||||}{|{z{{|{{|{{{{|||zz|{{{z{{{|{{|{{{z{{zz{{{||||{{zzzz{z{z{|{y{{|{y{yzz{zz{{{{{{{{{zzzz{{z{z{{{||{{zzz{yzz{z|{zz{{{{zzzy|z{{{z{{||z{zzzz{zz{{{z{zzz{z{zzyz{{|{{{|{{z{zz{z|z{zzz{{}{z{zzz{z{{zzz{{y{{{|{{yzzz{{{{{{{z{{z{z{z{{{z{{|z{yzz{{y{z{{{{z{{z{zzzzzz{{z{{|{{{zzzz|x|{{{{{{{{zzz{{zz{{z|{{{|{z{{{zz{z||{z{||zz{|zz{{{{|{|{{zzz{{{z{{{{{{{|{|{{{{{{{z|||{{|||zz{{{{|{{{{{{|{{{{|{{|{|{{{|{|{|zz{{{{{{{{{||||{{{{{{{z{||{||{}||{z{{{|z{}}|{||||{}{{|||{{|||||{{{{{{|{{z}|}||||{{{{{{{z||||||||{zz{{|{z{|z|||||||z|{{{z|{|||||}||{{{{|{z{{|{||{{{z{z{zz{}||{|{{{{{{{{z{{{|{z|{{{zzyz{{z{z{|{zz|zz{y{zyzz{{{{{{{{{zzzzzz{{z{{{|{{{{zzzzzz||zz{{|{z{z{{zy{|{{{z{{zz{{zz{zz|{z{{{z{z{{z{z{{z{z{{{{{zzzzzz{zzz{z|{{{zzz{zzz{z{{{{|{{zz{{zz{zz{z{{{{{zzzzz{z{{{{{|{{{zzz{zzyzz{{{z{{{{zzzzzzz|zz{{z{zz{yz{{z{|z|{|||{{zyzzzz{{{|{{z|zz{zzzzz{{|{z|{{{{{zzzzz{{|z{{|{{{{z{z{z{{|{|{{z{{zzzy{z||{{{|{{z{{{{zz{{{|z{|{{|{{{{{z{{{z{|{||{zz{|z{|z{{{{{|||z{{|{z{{|{|||}{{{{{{{{{||||{||{{{{|{{||}|z||||||{{{{z{||{{||{||{{|{{{{z|}||||||{{{{zzz{{|{|||{||{{{|{{{|{|||{|{{{{z{{|{{{||{|{{{zz{z{zz{|{{z{|{{z{zz{zz|{|{{{y{{z{yzzyz{{{z|{{{zzyzzzyzzzz{{z||z|zyzzzz{z{{{{{|z{z{z{zzz{{{|{{{|yzz{zyz{{{|{{z{{z{{zz{{z{zz{{{{z|z{zzzyzz{z{{{{|yzzzz{zz{{|zz{{zyzzzyzz{zzz{z{z{zzzz|z{z{z{|{{{{{zzzzzyz|z{{{|{zzzzzz|z{{zzzzz{zz{z{zzzzz{z{{{{{{zz{zzz{z{{{{{|y{zzzz{zz{{{z|{{|{zzzzzzz|z|{{{{{{{zyzzz{{{{{{{{{{{{zyz{{{{z{{z{{xz{zzzz|{|zz{||{y{z{{zz{|{|z||{yz{{|{z{{||{}{{{{z{{{{{{{{{|{|{||z|{|{zz{|||{|{{|{{{|{{z|{{|{{}||z{{z{{{{|{{{||{{{z{{z{z{|||{{|{|{{{{{{{{{{|{{||{{{{{{|{{{|{|}|{|{{{{|z{{{{|{{{|{{zz{|{{{|{{{{}|{zz{zzzz{{{|{{{{z{zzzz{zzz{{{{z{{zyz{zzzz{{{{{zzz{zz{zzzzz|z{zz|{zzy{zzy{{zz{|z{{zzzzzz{{|{{{{|zz{zz{{zz{zz{{|{{zyzz{zzzzzzz{{{{{z{zzyyzz{z{z|z{zzzyzzzz{z{zy{{zzzzzzzzzzz{{{{zzz{zzzzyz{{{z{{{{{{zzzyzxzz{{z{{|z{z{zzzyy{zzz{{{z{zzzzzyyz{{{{|{zyzz{zyzz{{{{z{{zzzz{zzz{zz{{{{|{{zzyz{z{{{{||||{z{{z{zzz{|{{||{{|{{{zz{z{{{||||zz{zzz{z{{{||||{{zz{{y{{{|{{{{|{{z{{{{{zz{|{}{|{{|{|z{zz{{{||||}|{{{z{{zz}{|{{|{{z{z{zz{{|{{{|||{{{{z{{{{|||{||{{{z{zz{{{|||z||{|z{{yz{z|{|||{{|{zzz{y{|{{{||||||{{{{{{{||{{{|{{{zz{z{z{||{||{||{{|zz{yz{}{{{||{z{{zz{{z{{{{{{y{{z{zz{zz{{z{|{{|{zzzzzzzzzzz|{{|{zzz|zyy|z{{{{{zz{zzzzzz{{{{z{|{{zyzyzzz{z{{{zz{zyz{zzzz{{{z{{z{{zzzzz{z{{{zy{{zzyzzy{zzzz{{z{z|zyzyzy{zz{{{z|z{y{y{zzzz{{z{z|{{zz{zy{yy{z{{y{{{{zyzzy{zzz{{{{{{{{z{zyzz{{zz{|{|{zz{zzyzz{{{{{{|{zz{zz{z{|{{{{{{{z{{z{{z{z{{z|z|z{{z{zz{zz{{|{|{{{{|zz{zz{{{{z|{{z{{zz{z{{|{{{|zz{{{zzzz{|||{|||{{{z{z{{|{{|{|{z{z{{{{z{{{{|{||{{{||zzz{z|{|{||{|zzz{{{{|||{{{{|{|{{{||{|{{||{|||z{{{|{|{||||||{{zz{{z{{||{|{||{|{{{{{{{{{{{z|}|{{{{|zz|||{{|{{}{|z{{z{{z{{{|{{}{{{z{{zz{{|{|{|{{{|y{z{zzz{{|{|{|{zz{zzy{|{{z{|}{zzz{z{yz||{{{||{{z{zzzz|{z|{{|{z{zz{zzzz{z{z{{{zyzzy{zz{{{}{{{{z{{y{zz{z|{zz{{{zz{z{zz{{z{zz{{{{zzzzz{zzzz{z|{{{zzzzyzz{{{zzz{{yzz{y{zy{z{zz{|{zy{zyzzzz{{{{z||zzzzzyyz{zz{{{{|{{zz{zzzz{z{{|{z{zz{z{zy{{{y|{|{{zzzzz{z{{z|{{z{z{{{zz{{|{{{||||{{zz{{zz{{{|z|{{{{z{{{|zzz||{|{{{{{{zzzz|z|{|{{{{zz{{y{{|||{{||{{{{{z{{z{{{{|{|{z{|{|{{z{{{|{|||{zz{|zz{{{|||{|{{zz{{{z{}|{{||{|{{|{{{{{{{||||||{{zzz{{{{|{{|{}{{{{{{{{{{{||}{|{{yz||{{z|||||{}||{{{{|{{|{|||{|{{{|z{{zz{|{{{}{|{|z{{{zz{{{}{{|{{{{yzy{{{{|{{|{z{{yzzz{{{{zz{{{|{zzzzzyz{zz{{{|zzzzzy{zz{{{{{|{|{{{z{zzy{{|{zz{{{{zyzzzzz{{{z{{{zy{zzzzz{zz{{{{{{zzzyyyyz{{{{{{{{z{yyzzzzz{{z{{{zzzzz{zzzz{z{z{{{zzyzzzz{{{z{{{{{{{zzz{zz||{{z{{zzzzyyyz{z{zz{z{{zyzzyzzz{z{z{{{{zzzz{zzz{zz{{|{{zyy|zzz{{{{|z|zzz{zzzzz{|{z{{{{z|{zz{{{{||{{|{||{{z{{{zz{|{{||||z{{z{{{{{{{{{|{|yz{{zz{{{{{z{{{{z{{z|{z{||||{{|z{z{{{{|{|{}|||{{{|{zzzz{{|||{|{{{|{{{{z{|{|||||{{{{{{{{|}||{||||{{zz|{{{|||{|||||{z{z{{||}{|{|{||z{{{zz{|{{{{}|{|z{{{{{|z{||}{}{{{y{z{{z|z{|{|||{{zz{z{{|{{{{|z{{zz{zz{{{{{{{{{zzz|yz{{{{z{{{{{{z{zyzy{z|{{z|{{z{zz{{zz{|z|z{{|z{y{{{z{{zz{z{|{{z{z{z|z{z{|z{||zzzyzzzz{{{{{{{{{{z{{zzzz|{{z{{{z{{zzzz{{|{{{{{{z{z{{{{y{{{{{{z{z{{zzyz{{{z{{|{|zz{zzzzzzz{{{{||z{zzzzzzz{{zzz{{zzzy{z{zz{{{{|{|{zz{{{zz{{z{{z{{{zzz{z{{z{zz|{||z{{zzz{zz{{{{||{{zzzz{zz{{{{{|||{{{zzz{|{{{|||{{{z{{{{y{|{||{{{{|zz{{{{{{{|{|z||{{||z{{|||}||||}z{|z|z{{|{}|z||}|{{z{|{{{||||||{{{z{{|{{{||{}}|||{{{{|{|{{{}|||||{{{|{{{z|}|{||||{z{|{{{|||{|{|}{{z{{{{{|{{|||}}|{z{|z{{|{{{{{{|{{{{z{zzz|{}|||{{zzzzzz{{{|{||{{{|{{yz}z{{{{{{{{{{zzzyzzz{{{{{|||{z{zzzz{{{{z{{{{{zz{zzz{z{{{{|{{z{zzzz{z{{{z|{{{z{zzz{z{{zz|{{{zz{zz{yzz{{{z{{zz{zzzzyzz{{zz{{{{yzz{z{{{{|{{{{|{zzzzzzyy{{zzzzzzz{zz|yz{{z{{{{{{z{z{zzzz{{{{{|zz{zy{zzzzzz{z{{{{zy{yzz{z{z{{||{{z{z{z{z{{{{|{{|{z{zzz{y||{{{|{|zz{z{zz{{{{{{||{{{{{zz{{|{|{{{{{zzz{{zz{{{{|{|{{{z{{{{{{|{{z{{|z|y{{z{{z{{|{{|{}{zz{{{z{{||||||{{|{z{{|{|{{}z|||{z{{|zz{{{{||{|{|zz{|{{{||||}|||||{{{|z{{{{|{||{|{|z{|{{{}|||}{{{{|z{{{{}|}|{|{{{{{{|{{{{{{{{{{|||{|{|z{{{{{{{}|{{z{{{{|z{|{{|||{{{{zz|zz|{|{|{{{z{{zz|{{|{|{{{{zzz{zzzyz{{z{z{|{{yz{zyzz{{z{{{z{{{yzzz{{{{{||{{{zzzzyyzz{{{z{||{zzzzy{zz{{zzz{{yzzzzz{zz{zzz{|zzzz{y{zyz{{z{|z{z{zyyzzzz{z{{{zzyzzy{yzyz{zz{{{|zzy{zzyzzz{{{z{{{{z{yz{z{zz{{{{zzz{zzzyzz{|{z{z{{zzzzzzzzz{{{{|{zzzzz{zz|y{{{{{||{{{{zyz|{{{z|{{zy{zy{y{{z{{{||{{{z{zz{{{{|{|{{{{z|zz{{z{{{{{|{{{z|y{zz{{|{{{{|{|{z{{{z{{|{{z|{|{{{{zzzz{||{{{||zz{{{{{{}|}|{}{|{zz{{{z{|{|}{|{z{{{{{{z{||||||}{{{z{z{|z{{{{||}{{zz{{z{{{|{{|||||{{{|{{{||||{||{|{z{{z{|{{{{{|||{{zz{{z|{|{{|{||zzz{{zzz{||{{{|}{{{|{{z{||{||{{{{{{z{zzz{{{z{|{{{{{z{z{z{|{z{{{{{zzzyzy{{z{{||||{zzzz{z{z{||{{{{{zzzzyzz{z{{z{z{z|{z{{{y{{zz{|||zzz{{{zz{|{{{{|{{y{{z{yz{{zzz{{z{{zz{yz{zzz{z|{{{{{zz{z{zz{zz{|{|zzzzyy{{{{z{{{{zyzzzzzyz{{z||{{{yz{|zzyz{zzzz{{zzyzzyz{{|z{|{z|zz{zz{zzzz{{{{|{{{|zz{{zz{{{z|{|z{{zzz{{zz{{{{{{z{zyzzzz{{|z{{{|{zz{{{zyz|||{|{||{{zz{zyz{{{|{}{{z{{{{z{{{}{{|{|{{{{{{zz{{|||{{|{{|{{{{{||||||{|{{||{{{{|||{{{||{{{{{{{{|}{{|||}{{{{{z|{{}{{{||||{{|{{{{{|{|||||{{{z{|{{|{||||{|{{{||{z|{{|||||}|{{|{{z{{|{}{}{}{z|z{{{{{||{|||{|{{{z{z{{{{||{|{{z{z{{{zz{{{|{z{{zz{{{zy{{{{{zz|zzz{zz{zz{{{{{{|{zz{zz|zzz{z|{{{{zz{zzzzz{{|{{{|{zzyy{{zz{{{{|z|zzzz{{zyz{zyz{|zzz{z{zzz{z|zzzzz{{{zyzzz{{y{zz{{zzy{{zz{z{zz{{z|{y{zz{yz{{zzz{{{{{z{zzyz{{{{{{{{z{{zzzzyz{{{yz{{{z{z{zzzzz{{z{|{zzzzz{{{{z{{{{|{{z{{{zzz{{{{{{{||z{{{z{{{{{{{|{{zzzzz{{zz{{{{{||z{{z{zzy|{{{|||{{{|z{zzz{{{{{{|{|{{||zz{{{{{z{|{|zzz{{{z|{|{{|{|{{{z{||{{|{|{|}|{{{{{zz{{|{||||{{z{{{z{z|||{{|}}|{{{{{||{}|||{}|{{z|z|z{||{{||}|{{{|{{{{{{{{|||||{z{{|z{{{{||||{{{{z{{{{{{{{{|z|{{{{{{zz|{|||{{||{{{z{z{{{{{|{||{z{{{z{{{{{||{z|yzyzzzzz{z{z{{|zzzz{zzz{z{|{{{|{{z{zy{y{{{|z{{{zzz{yzyz{{|{|{{{{{zzzyz{yzz{zz{{{yzzz{{zy{z{{{||{{{zzz{{zzz{zz|z{zzzz{z{zzzz{z{z{zzzzzzzz{{{z{|{zzzzzz{yzz|z{z{{{zz{zyzz{{{z{z{||z{{zzzzzz{{|zz{{zzzzzzz{z|z{{{{{{zz{zzzzzzz{{{|zzyzyz{z{{{{{{{|||zzz{zz{{|{{{{{{zz{{z{zz{{y{{|||{y{z{z{z{|{z|||{{{z{z{z{{{|{}{|{{z{{y{{{|||{{z{{{{{{z{{{{{||{{|{{|{{z{|z|{z{z{|||z{{{{zz||||{|{{{{{z{zz{|||{{|||{{{{z{{}{{{{{||}||z{{{{{{||}}{|{{{{||{{{{z{|||||{{{{z{{{{||{||{{{|{{{z{||{||{|{{{{zzz|{z{z{{{|||{{{|{z{z{}{|{|||{{{z{yzz{{{z{z||z{zyzy{zzz{{{{{|zzzzzzz{{z|{z||{zyzzyzzz{zzz{z{{zzzy{zzz{z{{{{{{z{{zzz{{{{{zzzz|{{zzz{zyz{zzz{{{zz{{zzzyy{{{zzz{{zzzzzzz|{{zz{{{|yzyzzzzz|{|z{z{zzz{zzyzzz{z{z{zzzz{zzzzzz{{{{{{z{{zzyzzzz{z{{|{z{zzzzzxz{zz{{{zyzzz{zzzz{zz{{{|zzzzz{zzz{{zz{{{zz{zzyzyz{|z{{{{{{zzz{zz{{|{{{{|z{{zz{{{{}{{|{{{zzz|zzz{zz{z{z{|{{zzzzzz{||z{{{{{{{z{{zzz{{|||{{z{z{z{|z{||{|{{|z{{{{{zz|{|{{{|{{z{{z{{{{}{|{|}|{{zz{z|{{||{|{{{{z{|{{{{{|{||||||{{{z{{{{|{{{|{||zz{|{z|{{{{|z||{yz|{zz{{|{|{|||{{zz{{zz{{{{{{{|{{z{{{{z{{|}|{|{|{zzzzz{{{{{{|{{yzzz{zzz{{{zz{{zzzzzzzzzz{{|{{{{{zzzz{zyz{z{|{{{zzzz{z{y{{z{zzz{{zzzzz{yz{{{z{{{zzzzzzzzzzz{z{zz|{z{{zyxz{{z{{{{zzzzzyzy{zz|{{{{z{zyyzyzz{{z{{z{zzzzz{y{zz{z{zz{z{zzzyzzzz{{z{{zzzzzzzzz{z{zzz||yzzyzzyyzz{|z{|{zz{{{zzzz{z{{{{{{zzz{zzz{z{z{{{{zz{zzz|z{{z|{{z|y{zz{zzz{{|{{{{zy{zz{z{zz|{{{{{|{z{z{{yyz{{{z{|{{{z|{{z{{{z{{{|{{zzz{{{z{|||}|{|{{z{{{{{{{{||}{||{{{{z{z{{|}{{{|{{z{{{{{{|{{{{|{{{{{{{{{z}{z|||||{z{|{{|||{|||||{{{|{{{||{{{{{|{{{z{||||{{{{{||||{{{{{{{||{{||{|{{{{{z{z{{||||||zzz{zy{zz{{zz{||z{{{zzz{{{{{{z{{zyzzzzzyz{{{{z{{z{{zzz{z{zz|{{{{zz{zyzzz{{{{{{|z|y{{xz{z{{{|z{{{{{zzzyzy{{|{{{z{yzzzzzzyz|zz{|{zz{zyzzyz{{{z{z{{yzzyz{y{zz{{{{{|{zzyzzzy{{zz{z}z{z{z{{zzzzyzzz{{{zzyyzz{{{{{{{{{{{yy{zyxz{{z{{{{{z{zyzz{y{zz{{z{y{zz{{zzz{z{z{{{zzyz{zzz{{z{||{{zz{zz{{{|{{{z||{{{{{{zz||{|z{{{|{zzy{{zzz|{{{|{zzzzzz{z{|{|{{||{|yz{{{{|{{{||{{{{{{z{{{{{|||{{{|z{|{{{|{{{||{{||{{{{zz{z{|||{|||{{z|{z{{||{z|{||||{{z|{{|{{{|||}}{{{z|{z{|}||||{|z{{{{{||{{|{|||{{{{{z{z{{{|{{{|{{z{|{{{{|{{|{||{zzz{{zz{||z||||z{{|{z{z{|z{|{|z{z{z{yzzz{{{{{{{zzzz{z{zz|{z{{|||{zzz{zzz{y{{{{{{{zzzy{z{|z|{||{yzzz{zz{z{{yzz{|z{zzzzzyy{{|{{{|{{{z{zzy{|{{{{{|zzz{zyzz{z{zz{z{z{{yz{zz{zzzz{{{yzzz{yzzz{z{{||zzzzzy{{y{{{zz{{|zz{{zzzyzzz{z{{|zy{{zz{z{z{z{{{{z{z{zzzzz{{z{{z{zz{zzzy{|z{{y{{{{|{{z{zz{{zzz{{|{{zzzy{{|{||z||{{{{{zz{{{z{{z|{{{|z{{y{z{{|{{{|{{z{{z{{{||{{{{||{zz{{{zz|{||{|{||z{{|{{{{|{|||||z{{zz{{z|||||{||{{zzz{{z|||{|{||{zz{{{{{{||{{||}|{|{{{{|z}{{|{{{|{z{{{{|{|||{|||{{{{{zz{|{|{||||{z{zz{{|||{|{|{|{{{z{z{{{|||||||{|{z{zyz|{|||||||{{zzz{{{z{|{|||{z{zzzzz{|{{||{{zzyz{yzzz{z{|{{{zzzzzzzyz{{{{|{|{zzzy{z{{{zz{{||zzzz{zzz{zz{{z{|zzzzzzz{{{{{z{{{zzyzzzzyz|{{{z{{{{zzzyzzz||zz{zz|zz{zyzyz{zzzz{z{{zzyzzz{{z{{z{{{z{{zzzz{z{{|{{{zz{{yzzz{z{{{|z{{zzzyzzyz{zzzzzz{{{zyyzzy{z{{{z|{zzzzzyzz{{{{{|{zzzz{zzzz{|{{{z{{{zzyy{z|{|{{|{{y{{yz{z{{{|z{{{{{zzzzz{{z|{|{{{{|z{{z{zz{{{z{|{|{{z{z{z{{{{{z|{{|{{{{{{zz|{|}~||z|{{{|{{{{|{||{{{z{{{z{z{{|||{|||zz{|{{{{|{|}||}|{|{|{{{{||{||{{|z|{{{z|{}||{}{||z{{|z{{|z{|||}{|{{z{{zz}{|{||{||{z{|z{{{|||{|{{{{{z{{zz|||{|{||{{{zz{{zz{z{{{{{|{z{z{z{{{{{{{|{zyz{zyzy{{{{|z{zzz{{zzz{z{{{|{{{{z{zzz{z|{z{{{|{|zzzz{zzz{{{z||{{{zzzzzzzz{|z{|{{zzzzy{zz{zzz{{zzzyyyzzz{z{{z{z|{yzzy{{z{zz{z{{|zzzzzzyzzy{{z||zzzzzzyzz{z{z{|{{y{{zzzz{z|{zz{{zzzzyzz{zz{{{zz{{{{zz{yzzz{z{{{{{zz{{{zzzzzz{z{{zzzzz{{zz{z{{{zz|{yzzzyzz{z|{{{{{{{zzzz{{{z{{{{{{{z{zzz{|{{{{{{{z{{zzz{{z|{|{{{{{{z{z{{{z|{z{{{{{z{{{{{{z{{{}|{|{{{{{|{{{z|{|{{||{{{{{zzy|{|}||{|{{zz{{{{||{{{|||z{z{z{{z||{{||{||{{{{{|{||{|||||{z|{{z{{{{||z{|{{zz{{zz{{{{{|||||{{|{{{{||{|||{|y{{{z{{{|{{|{{|||{{{{{zz{{{{z|{|{{z{z{zzzz{|||zz{{zzzzzyz{{z{{z{zzzzzy{{z|{{{{{{z{{yzz{z{z{{z{|z{y{{zzzzz{y{z{{{zzzzyyyzz{{|y{{{{z{zzzzyz{{{{z{{zzzzzzyyzzz{{{{zzy{zyyzzz{{zzz|{zzzzyzyzz{{z{z{zzzyzzyzz{z{zzzz|{y{zzzyz{{{z{z|z{zzz{z{zyzzz{{zz{{zzzz{zz||zy|{{zzz{zzyz{{z{{{{{{z{yzy{z{zyz{{z{zzz{{zz{{z{{{{{{zzzzzzzz{{{{{{|{z|{zzyzzz{{|z|{{{z{{zzzz{{{{{z|{{yz{{{z{{{{{{{{{|{yzz{z{{|{{|||{zzzz|{z{|||{{||{{{zzz{{{{{|{{{||{{z{{{{{|{{{||}{{{{{{{|{{|{||{|||z{zy{|{{|{|{{|||{{{zz{{{|{{||{||{{{z{yz||{{|{|{{zz{{{z{{{{{{{{|{{{zz|{y{|{{|z|}|{{zzz{zz||||{{{{z|z{zz{{{{z{z{{{zzzyzzzy{{{zzzz{zz{zzz{z{{{z{{z{zzy{zzz{z{{{{{z{{z{zzzzy{{zz{{|zz{y{{z{zzz|{z{zz{{zzzzyzz{{{{{z{z{z{zyzz{{{z{{{z{yzzzyz{zzz{{z{zxyzzzzy{|{{{z{|zz{zy{yzzzz{|{{z{zzzz{zzyz{{{z{{{{yyzy{yy{{zz{{{z{yyzzzzz{y{z{{{{zyz{{yz{{{{{{|z{{zz{zy{z|zzzz{{{z{zzzzz{{{|{{|}z{{zzzzz{{{|{{{zz{{|{zz{{z|z{|{|{{zzzzzz{{|{{{|{{zz{z{z{{|z{z{{{z||zzz{{{z{|||{|{{{zzz|{{{{{{{|||z{{{{zz{{{||{|{{{{{{{{{{||z{{|{{{{|{{{z{|{{||||{z{{z{{z{|||||{||z{|{{|{{{||||{{|zz{z{|{{z{{||{|{z{z{{z{{z|{{|{{|{{{{zzzz{{{|{{||{z{{z{z{{{|{{{{{{{zzzy{z{|{{{{z{|zyzyzy{{{{z{|{zzyzzzzy|{{{{{|{{yzyy{z{{{{z{z{{zzyy{y{z{{{z{{{|{{zz{zzy{{{{z{z|zzzzzzzzy|{zz{{zzz{yz{zz{{zyzz{zz{zzzyxzzyz{zzz{{zzz{zyz{{{{{{{zzzyzyzyzz{{{{{{|z{{zzzzzz{{{{{{zzzzzzz{z{z{z{{{z{{zzzyz{y{z{z{||{zzyz{zy{|{|{{{{zzzz{zzz|{{{{{{|zzzz{z{zz{z|z{{|zzz{zz{zz{|{zz{{zzz{zz{{y{{{|{{|zzzzz{z{{|{z{{|||{{{{zzz|||z{z||{{{{|{z{{{z|||{|{zz{{{{z{|{|{|z{{zzzz{zz{}{|{|||zz{{z{zz|||{{{|{{|{z{{{{{{{||}|{{{|{{{{{z}|}{|{{|z{|{z{|{{||{{||{z{{{z{{{{{z}|{{{{|{{zz{{{|||{|{{{zy{z{zz{|{{|{|{{y{z{|zz{|{{|{z|{{z|zz{{{{|z{z{zzyzzyzzz{{zz{{{zxzzzzyz{z{z{zz{{zyyzzyy{zz{{{{z{zzzzzyy{{{y{{z{{zzy{{zzzzz{{zz|zzzyzzzz{zzzz{|zzzyzzyzz{zzzy{{zyzzzy{yzy{z{{yzzzzyzzzyyzzzzz{z{{zyzyzyzzzzzz{zzzyzyzzzzz{{{{{{|{zzzzz{yzzzz{zz{{zzzzzzyz{zzz|{zzz{zz{zz{{{z|{|zzzz{{zzy{{{{{{{{zz{zzzzz{{{{{|{{zz{yzzz{{{{{zz{z{zzyz{zzy{{{{{{{z{{{z{z{{{}{{{|{|{y{{zzzz{{{{{|{{{{{{{y{{{|||{{{|z{{zz{y{|{|{{||{{z{{{{yz|||{z||{{{{{zzz{||||||{{y|z{{zzz{{{{{|||zz{z{|{z|{||{|{|{z{z{{{|{{{{|||{{{z{z{{{{{{|{|{zz{z{{{{}{{{{{{{|zzz{{{zz{{{{||{{z{{z{{y{|{{|{{{{{zy{z{{{{{{{{zz{zyzzyzzz{zz{z{{zzzzyyzz{z{{{|{{z{{zzzyy{zz{z{{{zzzzzyzzz{zzz{z{{zzzyz{yz{{z{zzzzzzz{zzz{z{{y{{z{zzzzzyzzz|zz{z{{z{yzzz{z{{{{{{{zzy{{zyzz{{{{z{zyzzzyyzyz{z{{{z{zzyyz{zyzz{{{z{{zzzz{yzzzz{{{zzzzyzzxyzzzzzzzz{{zz{z{zyzzz{{{zz{{z{zz{zzz{{{z{z{{z{zyzzyz|z{z{|{z{zzz{zzzzzz{{{{{z{{z{yzyzz{{{zz{zzz{zzy{{{{{{|{{z{zzy{z{{|{{{|z|zz{zz{{{{{{{{|{{z{zz{{z{{|{||{|{{z{{z{{{|{{{{|{|{z{{{{{|||{{{|}zzzzz{{{z{{{||z}|{{{z|{z{}}{{|}z{z{|{{{z{|{{{|}{{z{{{{zz|{{{{{|{{{{zz{{{{|{{{{{|{{{zz{{z{{{{|{||{zzz{z{z{|{{||||{z|zz{{z|{{{|{{{zzz{zxzz{{{z{{{z{zyzzzzzz{{{z{{{{zzzz{zy{{z{{|{{zyzzyzy{z{{{zz||{zyzyyzzz{{{{z{{{yyzz{z{zz{{{{{zz{zzzyzz{|{z{{zzyyyyzzzy{z{{z{{|yzzzzzzz{z{{z{{{zzz{zzz|z{yz{{zzzzzzyyzzzz|{z|{{zzzzzy{zz{{yz{{z{yzzzzy{z{{z{|{{z{yy{{zzzz{{{{{|{{zzzzz{{{|{zz|{z{{{zzz{{{{z{|z{zzzyy{yz{z{{{{z{zz{zzz{z{|z{z{{{{zzz{{zz{z|{{{{{{{{{zz{{{|zz{{{|{{zz{z{|{{|{{||{{{{zz{{z{{{|{|{{|z{|{zzzz{|||{}|{{{{{{{{{|{{{{||{{{zz{|zzz{{{||{|{{{{z{{{|||{||{z{{{{{{{{{|{z{z|{z{{{{z{||{{{{{||{{{|{z{{z{|{||{zzzy{zzz{|{{{{{|{zz{zzzzz{|}zz||zzzz{zzz|{|zzz{z{zyzzy{yzz{z|{{{{zzzzy{yzz{z{{{{{{zy{zzy{z{{{{{{{yyz{zzz{z{zz{|{z{{yzzyyzz{{{z{|yzzzzzzz{|zzz{{{zzz{zzzy{{{{y{y{zzzzzyzzzz{{z{{zzz{zz{zy{{z{z{{yzzzzzzzzz{zzz{{z{zzzzzy{yz{|{{{{yzzzyyyzzzzyzz{{{z{zzxzzzzz{z{{{{zzy{y{y{{z{z{{{{zzyzyz{z{{{{{z{zyzz{z{{{{{{|{{{zz{z{yzz{{{{|{z{{zzzzzzzz{{{z}z|zzzzzz{yz{z{zz{{{zzz{zz{|{{{z{||{{{z{z{{{||||{{|{{|zz{|z{{{{||||{zz{zzyz{{|{{{|{|{z{{z{{{||||||||{{{z{{|{z|{{|{{|{{{{{{{{|{{{{}{{y{{z{{{|z|{{|{{{{z{{{z{{{{|{||||{zz|{{y|{{{{|||{{{zzz{{{{{{{||{|{{{z{zz{{{{{{||{{z{{zzzz{{{{{{{zzzzzzzz{{{{{{{{zzzzzzzz{z{zz{{{{z{zz{yz{{zzz{{zzzy{zzzz{{{{z{{{{z{yzzzz{zz{z{y}{zzzz{zy{zzzz{|zz{{yzzyz{z|z{z{zzzzz{zzzz{{{z{{|zyzzzzzz{zzzzz{zzzzzyzyzz{{zz{|{zzzzyzzzzz{{z{{|zzzzzyzzz{{{z{z{yzzy{zzzz{z{{{{{zz{zzzyz{{zz{z|{zzzy{zyz{{{{{{{{{z{zzz{zzz{{zz{{zyz{zz{zz{{{{z{|z{zz{zzzz{{{z|{{zz{z{z{{{z||z{z{{zyzzzzy{||z{|{{{{z{zzzz{{||{{||zz|{||z{{{z|{||||z|{z{z{|{{|||{{zz{{{z{z|{{|{||{{{|{{{{|z|{|{{||{z{z{{|z{|z||{{||{{{{z{zz{{||{{{|z{{{{{{{{z|{|||{{z{|{z{{{|{{{{{|z{yy{{z|{{{{{||{{zzzz{z{{|{{||{{{zz{zyzz{{{{z{zzzzzzzzy{{{|{{z|zzzzzyzzz{zz{{zzzzzyzzyyzz{{{{{{zyzzz{yzzz{|zyz{z{zzxyzy{zzzz{{{zz{yzzyzz{z{{z|zzz{zzzzyzz{{z{yz{zz{zzzzzzzz{{{{zzyy{{yz{z{z{z{yzyzzz{zz{{z{{{{{zy{zz{yz{{z{{{{{{zzz{zzz{zz{zz{{z{yzyyyy{|zzz{|{z{zzzyzyzz{{zz{{{zz{z{zz{z{z{{{{z{zzzyzyzzz{z|{{z{{zz{zy{{zz{{|{{zzzzy{zy{{{zzz{|{zzzzzz{z|{{{{{|yzzzy{z{|z|{|{|{{zz|{zz{{|{{{{{z{{{{{|z|{{|{{{}{{zzzz{|z{{||{|{{zzz{z{|{|{z|{{{|zz{{{|{||{{{|||z{{{{{z{{|{{{{{{|{{{{y{{||{{||||{{zz{{z{{{{{{{{|{zz{{{y{||z{{}{{{{{zz{z{{{{||{{{{zzz{{zz{z{|{|{{z{{zz{{z{z{{{|{{{zzy{zzyzz{{{{z|zzzzzzzz{{z{z{|{z{yzzzzzz{{{{{|zzzzzzzyxz{{{{z|zzzzyzzzz{z{{z{{|zzzyzy{z{zzz{{{{{{zyzzzy{z{{zz{zyzzyzzzzzzz{z{zzz{zxzzyzz{{zzzzz{{{zyyzzy{z{{{zzzy{zy{yz{zz{{{{z{{z{{yzy{zz{z{{{{z{zzyzzzz{z{{{{zzzzzzzzzz{{|z{|{zz{zz{z{|{{{{{{{zyzz{z{{z{{{{z{zz{zz{{{{{{{{{|{zzzzzzyzz{z||{{z{zz{zz{z{||{{{{{{zz{{zzz{{{{{|{{|{zzz{{z||{{{{|||{{{{{|z|{{|{||{z{{{{{zz{|||{{|{{zzz{{z{|||||}}|{|z{{z|{{|{{||{{z{z{z{{z{|||{{|{|z{{{z{z|{{|{{|{|zz{{{{{{{{{|||{{z{||z{{|{{{{|{||{zzz{{{zz{{z{{{z|{{{zz{{{{{{{{z{zzz{z{{{{{{{zzzzzzzzzzz{zzz{{{{zzzyzz{z{{{{z{{{{{y{zz{y{z{z{z|{zyz{zzzzz{{|{{{{z{zzyyzy{z{z{{zzz{yzzy{yz{zzz{z{zzzzyzzzzz{{{{zzzzzzzzzzzzzz{z|zzzzzyyzzz{{zzz{yzzzzyzyy{y{z{{z|yzz{zzyz{{z{{{{{z{z{zyzyzz{z{{z{{zzzzzz{z{zz{{{{zzzzy{zy{z{{{{{{z{z{{zzy{z{{{|{|{yzzyzz{z{z|{{{zzzzzzzzz{z|{{{z{{{{zzz{z{{z{{|zz|z{{zzzzz{{{{{{|zz{{{zz|{{|{z{z{{{zz{{{{z{|{z{{|{{{z{{{z{{{|{{{||zz|{z{{{z{{|||{|z{{{|zz||{|{{|{{zz{{z{{{|{||||{|{|{{|z{{|{||||{{{{z{zzz|{{|{|}{{z{z{{z{z{|{|||}{z||z{z{{{z{z|{||{{z{zz{|z{{{{||z{z|z{zzy{z{{{|{zzzz{zz{{|{|z{{{zzzzz{zzz{{zz{z{zzzzzzzzyz{y|{{{z{zzzzyzzzz|{{{|zzyzzzyy{zz{zzz{{{yzzyzy{z{|{zz{z{yzzzzzzzz{{z|yzy{yyyzzz{{z{z{{z{zyy{yzzzz{z{{zyzyyyzyy{z{{zy{{zzzzyzxzzz{{{{{zzzzzzzyxz{z{{{{zzyyzzz{zz{{y{zy{zy{zzz{zz{z{{{{zzzz{zzzyz{{{{{{{zzyzzz{zz{{z{{z{{zz{yzyz{zz{|zz|zz{yyyz{{z{{{|{{z{z{zz{zz|z{z||zzz{{z{zzz||zz{{{{yzzzzy{{|{|{||{{{z{{{z{z{{|{||{{z{z{{z|z{{{{{||{zz{{zz{{|||{{|z|{z{z|zz{{{{{{z|{{z{{|||{{z{||||{zz{zzzz{}{{}|{z{{||z{{{z{{|{{{|{zz{z{{{|{{{z{{{|{z{{z{||z{{{{||{z{zzz{{{{z{{{|||z{zz{zz{}{{{{{{{zzzzzzzz{zz{{{|zzzzyzz|z{{{{z{{zzyzzz{{zzzz{{{{|z{z{yyyz{{zz{z{{zzyz{z{{z{zz{||z{zzyzzzz{z{z{{{zz{zzzzz{{{y{{{z{zzy{zzyz{{zzzz|{zz{yzyz{{zz{zz|zzyz{zzzz{{{{zzz{yzzzyyzz{|{|z{{{{{zyz{z{{z{{z{|zzzzz{zyz{{z{zzzyz{zzzzzzzyzz{{zzy{zzzzzz{z|{{{{zzzzzz{zzzzzz{z{z{{zzy{{|z{{z|||zzzzyzzzz{{{{{z{z{{z{{zzz{||z||{|yz{zzz{{||{zz|{z{z{zzzyz|{{{{|{{{{{z{{z{{||{|{{zz{{zzzz{{{|{||}{{zz{{{{{{{{||{{{{{z{{{z{{|||{|||{{{z|{{{z|{||{||{{{z{{{{|{{{||{}|{|{z{z{|{|{{||{zz{|zzzz{{{|||}{z{{|{{{{|||{|{|zzzz{y{y{|z{{{{{z{{{zz{z{zz{{|{z{zzz{{yz|{{{{{{zz{zzzyzzz{{z{{{z{yzzzy{z|z{z{{{z{{zzzyzz{{{z{{|{{z{{zzzz{zz{z{zz{zzyzy{zz{zzz{z{zzzyzyyzz{{zz{||yzzzzzyz{{zzzzzz{zzzz{yzzzz{z{{zzzzzzyzzyz{{zz{{{zzyyyyzz{{y{zzzzzz{{yzyz{{{zz{{yzzzzyzy{zzz{{z|{zzz{zzzz{zzz|{{zz{zzz{z{{{z{z{{zzy{zz{{{{{{{{{{zzzz{yz{z{zzz{{|{{zz{{z{{z{{{z{{{zz{zzzzz{z{{z|{z{{{{{z{{{{{{z{{{{{zzzz{z{|{z|{{{z|{{{z{{{|{|{{{z{{z{zzz{{|{|{{{{{{{zzz{|{{z|{{z{{zz{{{z{|{{{{||zzzz|{{z{|{{{|{{|{{{z{{zz|||||||{{{{z{|z{||{{|{{{zz{{zzz{{{z{{||{z{{{{zz{|{|||||zz{{{{{{{z{{{{{|{{{zzy{{{{z{{{|z{zzyzzzz|{|{|{y{{z{zzz{yz{{{zzz{|{zyyzzz{{{z|{{{{{z{z{{z{{{zz{{{zyzzzzyzz{{{y{{{zzyzyzzzz{zz{{z{zzzzyzz{zz{z{{{{zzzzzzzzzzzzz{zz{zzyzyyyzzzzzzz{yyzzzyzzzzzzzz{{{zzzz{yyzzzz{zz{{zzzzzyyzz{{|z{{zzyzzyyyyzzzzz{zyyzzyzzyz{z{{{{zyyzyzzzzz{z{{{{{zzzzzzzzz{{{z{{{{z{yzz{z{{z{z{{|{zzyzyy{z{{{{{{{{z{zzzzzz{{{{{{zzzz{zz{z{{{{z{{zzzzzzzzz{{{{{|{{{z{zzzzz|||{{|{|{z|{{{z|{|z{{|||{z{{zzzz{||||{|y{yzzzzz{|{{{|{{|{z{{{{{|||{{|||{{{zzz{{{{|z|||||{{{{zzz{|{{{{{|||zz{{{{{{{{{||||{{{{{{{||{|{{{|{{{{z|z{z{|{{z|{{zzzzzzz{z|{{z{{{{zzzz{z{|{z{{zzzzzzyzzzy{zzzz{z|zzyzzyzzy{{yz{zzz{zyz{zzz{zz{z{{{zyzzzzzzzz{zzz{zz{yzzzy{zz{{|{{yy{yzzzzz{{{z{{z{zzzzzyzzzz{zz{zzyyzzyy{{yzz{{zyyzzyzxzyzzzzzy{zzzx{zzzz{zyzzz{{zzzzyzyz{zz{{z{zzzzzyyz{zzz{yzz{zzzyzzyzyz{z{{|zzyzzy{zyyzz{zz{{zyzyzzzzzz{{{zz|zzz{z{{{z{{zzz{zzzzzyzyzz{{zz{{{zzzzzy{yz|{|{|{z{z{zz{zz{{{zzz{{{zzzzyzz{{|{z|zz{zzzzz{zzz{{{|{{zzzzzzzz{{{{{{{||zzzz|zz|{|{{{|z{yzz{zzz{{|{|{||{{zz{{{{|{{{||{||{{zz{zz{|{{||{{|zz{z{zz{{z|z{|{{zzzzzz{z{z{{{{|{{||{zzzz|{{{{|{{{{z{z{z{{z|{{|{{z{zz{zz{{zz{z{{zzzzzzzzy{z{{{z{zzzzzyyy{|{z{{{{zzyyzz{z{{{zz{{z{{yyzzyz{zz{z{|z{zzzzyz{z{{{{{{{zzzzyyyyzyzz{{z{zyzyyz{yz{z{z{{{zzzzzyzyzz{zz{z{yzzzz{zzzyz{z{zzyzz{zyzy{zzzzz{zyzyyz{zz{{{|{{{{zzzzzzzzzzz{{{{{z{zyzyzy{y{{{z{zzyz{zzzz{zzzz{{{yzy{{{zzyz{|{{{{{zzzzzzzz{{{z{{|zz{y{z{{{zz{{{{zz{{zz{zz{{{{{z{zzz{{zzzz{z{y{|{{zy{y{{z{{{|{{{{{{{z{{{z{||z{{{{{{{{z{z{{{z|{{z|{{{{{{{zz{{{}{{{{|{z{zzzyz{|z|{|{{{{z|{{{{||{||{|z{z{{{|{{{{|{{||{{{{{{{z{||{|||{|z||{{{{{{||{|{|{{z{{zz{{|{{{|{{{{z{{{z{{{{{{{{|zzyz{z{yz|{{{{{{|z{zzz{z{{|{{z{{zy{{zy{{|{{z{{z{zzyzzyzy{{zzzz{{z{yyzyyz{{{{zz{{z{{yzz{z{{zzzzz{{zzzyyzzz{z{{z{{{zzzyz{y{{{zzzz{zzzzzz{y{xz{z{{z{y|zzzyzzz{zz{y{zzyyzzz{zzy{zzz{y{zzyyzzyz{{z{{z{zz{yyzzz{zz{{z|z{{yzxyyzz{zzz||zzzzyyzzz{z{{{{z{y{yyzz{zzzyz{{{z{zzzzy|zzz{zz{zzz{zzy{zzz{{z{||z{{zzz{zy{{{{{|{zy{yz{{{{z{z{zz{zy{zzzzz{||z{{{{zz{zz{{{{{|{{{{{|{z{{{z{|{z{{|||{{zzz{{{|{|||{|{{{{{{{{}{{{{{|||{{zz|{yz{{{||{|{{zz{z{{{||{|{|||{{z{{{{zz||{|||z{{yz{{{{{|{|{{|{{z{{z{z|{{{|{||{{{{{{z{{|{|||{{{{|{|{{{{{|{|{{||{z{{{{zz{zz{{{||{{z{z{zz{{{|{{|{zy{zzz{{{{|{}{{{yzzzyzzzz{{zyz{{yzzzyyzy{{{z{z{{zz{zzzyz{zzzz{{{{zyzyyzzzz|z{{{{z{yzy{zy{{{{z{z|zzzyyzyyz{zzzz{{zzzzzyzz{zzzyz{{zyzyzyyzyz{{z{zz{zxzzyzz{{{{y{{zyzzzyzzyzzz{z{{z{z{zzyzy{{y{zzz{zzzz{yzzy{zzzzzy{yzzzz{zzzzzzzz{z{zzzzzyzzzz{{|z{zzzzyz{zz{{{{z{{zzyyzzz{{{{{{{|y{{yz{zy{zz{zz|{{{zzzy{zzz{{{z|{zz{zzzzy{{{z{z{{{{{zzzzz{{zz{{{{{z{zz{zzz|{{{{|{{{{zzz{z{|{{|{{|{{z|yzzz{{{{{{{{{{yzz{z{z|{|{z|{z{zzz{{{z{{{{|{|zzzz{{{{|{{{{{|{{zz{zzzz|{{||{{|z{zzz{zz{{z{|{{{z{zz{zz{{{{z{{||{zzz{{yzz{{{{||{{{z{zy{|z{zz{{{{{{zzzzzzz{{z{zzz{zzzzzy{z{{zz{{{{{yzzzzzzzzz{{zzzzzyzzyy{zzz|zz{zzyzyyzz{zyzzzz{z{zzzzzxz{zz{zz{zzzzyxyzzz{yyz{zzz{zyzzyyzyzz{zyzzyyzyzyzyz{zzzzyyyxyzzzz{{zzzzzzzzzzyyz{{zz{{{zzzzyzyzzz{{{z{{zzzyyzyzyzz{zz{zzyzyyzyzzzzzzz{{{zyzz{{|yz{zy|{{|{yzyzzzy{|zzzz{{zyzyzzzy{zzz{z{|zzzy{zy{z{{z{z|{{zzz{|zyzz|{{{{{zzzzz{zz|{{{{{|{{yzz{zyy{{y{z{z{{zzz{{{z{{{{{z{{y{z{zzz{{{{{{|{{z{z{{z{zyzz{{{||{z{zz{{z{|{{{{|}zz{zz{{z{|{z{{{{|zzzy{{zz|{{||{||{z{{{zz|{{{{{{{{z{{{zz{{{z{z|~{z{zzzzz{{z{z{{z|{zzz{|zy{{{z{{|{{{zzzzzyz{{{z{{zyz{y{z{yz{|y{zzzzzzzzzzyz{{zz{{zzyzzzyyz{zz{zzz{{{zxzzyz{zzzzz{z|zzzzz{zyzzzy{z{zzyyyzzzzz{z{{{{yyzx{yyxz{zyz{z{{zyzyzzzyz{zzzzzzzyz{zyyzzzzzzzzyyyzzyzy{{zzzzzzzzzzzzzyzzzz{z{z{yyzyzyzz{{y{{{{{y{zyyzz{zzzzzzz{zyzzyzxz{{zzzzzzyzzzzyyzzz{z{z{yzzyzzzzz{{|{z{{zy{{zy{zzz{{z{{{z{{zzzz{z{{{{y{{{z{zzyzz{{{{z|zzzzzzzzzzzz{{zz|{{zz{{{zz{z{{z{{|zz{{zz{z{{{{{|{{{{zz{y{{{|z{{{{{z{z{|zzy{{{{{z{{{{z{{{{z{{{{|{|zz{yzz{z{{{{{|{|{{yzzz{zzz||{{{{{{{z{zz{{{|z{{z|{|zz{z{z{{{z|{{{{z{{{{{zz{{{z{{{{{z{z{zz{z{z{||{{{yzzzzzzz{z{z{{zzy{z{xzzz{zzz{zzz{yzzzzzzz{{zz{{zyyyzzzyz{zz{zz{zzzz{zzy{{{zz{|zyzzyzyyzzzz{zzz{zzzyzzzzz{{zz{{zzyyzyyyyyzzzz|zyzyzzzzzyzzzzzzyz{yzzyzzzyzz{yz{zzzzyzyyyzzz{z{{z{z{yyzyzzzzy{zz{zzyyyzyzzzzz{z{zzyyzzyyzzzzz{zy{yzzzzxzyzzy{yz{{zyzyyzyzz{zzz{z{{zzzzzzzz{zz{{{zzz{zyyzzz|{{z{{zzzzzzzyzz{z{z{{|zyzzzzzy{{z|z{z{zzzz{{yy|{z{zz{zzzyzz{z|zz{zzz{zzzzzzz{z{z{||{{|zzzzzzz{{{{{z{{{z{zzz{yz{{{|z|z{{yz{{{{{{|{{|{{{|z{z{z{{z{{{||{{|z{{zzzz{{z{{|{{{z{zy{{{{{{{z{{z{zzz{|{{{z|{{||{{{zzz{{{{z{}{{||{{zz{zyz{|{{{|{{zzzzy{yyzzz{{|zzzz{yyzzzzzzzz{{{zzzyzzyyyzzyz{z{yzzyzyzyyzz{|{{{zzzyzyzyz{{{zz{zyyzzyzzzzz{y{z{zz{zyzy{yzz{zzzz{zyzzyzzyy{yzy{{zzzzzzyzzzzz{zzzzzzzyyyyyzzz{zzz{{zzyyzyyzz{{zz{yzyzzyyzz{{{{zzzzzyz{yzyyyz{{zz{zzzzyxyyzyyzyzz{zzzzxzzzyz{{{{{{zzzzzz{yy{{zzzz|zzzyyzxzzzz{zz{{{zz{yzzzzzzzzzz{{{zzxzzzzzzz{z{{{z{yzzzzy{{{zzz{{zzzzzzyz{z{zzz|z|zzyzzzzz{{z{zz{{z{zzzyz{{{{{|{|yzz{{zzz{zz{{|||z{z{{zzz{{{{{||{{zz{zz{z{|yz{{{||{zzzz{z{{{{|{{{{zzz{z{{z|z{{|{z{z{{zy{z{|{{z|{{{zzzz{{{z{{{{|{{{z{y{zzz{{z{{|{}zz{z{zzz{{{|z{|{zzzzzzzzz{z{{{{zzzzyyzzzzz{z{yzz{zzzzyyyzz{zzzz{yzyzzzxz{z{z{{{{{zzxzzyzzzz{z{{z{{zyzzyyz{zzyz|{{zzyyzzy{z{z{{z{yzzyyyyzyzyzzzzzzyzyyyyyyz{zz{{zzyzzyzzyzzzzzzz{zzzyzyyyzzzyzzyzzzzyzzy{{zzz{{{zzzzzzzzyyy{zz{zzzyyzzyyyzz{yy{{z{zzzyyyzy{zzzz{zzyzyzyzz{{{zz{}{zzzz{z{yz{{zyzzzyzz{zzzzzz{z{{|zzzyzyzzzz{zy{{{z{zz{zzzyzzz{z{z{zz{{z{{zz|{{{zz{{zzz{zzz{{{{z{{{{{yy{zzzz{z{z|{|zzzzzz{z{{|{|{||{zzzzzzz{{{{{z|{{z{zzzzz{{{|{z{{{{zzz{zzz{{{|{{z{{{{{z{z{|{{|{|||zz{{zz{|{{{{{|{{zz{{{z{{z{|{|z|{yzz{z{{{|{{{{{{{z{yzz{z{{z{|{{z{zzzyzzzzzz{zz{{z{zzzzz{{{{{z{{zzzzy{yzyzz{{{{zzzz{yzzzyzzz{{{{{zzzzzzzyzzz{z{{zzyzy{zyzz{{{yzzzzzzyzzzy{zz{{zz{zyzyzyzzz{zz{zzyyzzyyzyyzzzzz{zyzzzyyzyz{zz{yzz{xxyzyzyyzz{zzz{{zzzyyzyyzzzyz{{zyzzzyxzyzzz{zz{{z{yyzyzyzzzzzz{{{yzyyzzzzzz{z|z{zzzzzzzz|z{z{{zz{{zz{zzz{{z{{zz|zyyzzyzz{{{{{{z|{zzz{yzz{zz{zz{{{zyyzyz{zzz{z{{{yzzzzyzzz{z{{z{|zzz{{zzz{{z{{z|zzz{zy{{z{|{|{z||zz{y{zzz{{{{{{{{{y{{zzz{z{{{{|zz{{zz{{{{{{||{{{{zzzzzz{{{{||{|z|zz{z||{z{{||{{|{|z{{{z{{{{{{z|{{zzzz{zz{{{z{{{|{|z{{{zz{|{{{||z|zzzy{zzzzz{{{z{{{zz{{{yy{{z{{z{{zzz{zzyzzzz{{{zzyyz{{yzyzz{z{z{zzyzyyyzz{zzzz{||zzzxzzzy{zzzzz{zyyzyzyyzzzzzzy{{yzzyzzzy{zz{z{zzzyzzyzyxzzzzzzzzyzzxzzyzzzzyzz{zzzzyyyyzy{zzz{z{yzzyyzyyzzzzzz{zyzzzyzyzzy{y{zzzzyzzzyzyzyzzzz{zyzyzzyzyyzzyzzzzzz{yzzyyy{zzy{{{yyyz{z{yzzzzz{zz{zzzyzyz{zzz{{{{zzzzzyzyzz{zz{{{zzz{yzzzz{zz{z{{y{{yzyzzzzz{z{z{zz{yzzzz{z{|{{zz{{zyyzzy{{zz{|zzzz{zzzzz{z{|{{{zzzzzzz{zz{z{z{{{{yz{zz{{{{{z{{{{zzzz{{z{{{z{{{{{z{{zz{{yz{{{z{z|{zzzz{z{{z||{{z|zz|zzzz{{zz{|{{{{z{z{zz{zz{{{||{z{zzzzz{{{z{{{|{zz{z{zz{{{{{{{{{zz{zzzyz{{z|z{{z{zzzzzyz{y{zz{zzzyyzzz{zzz{zzz{{zyyzyzyzz{{{zz{{zzyzzz{y{zzzzz{zzzzzzyzyz{{zzz|{{yzyyyyy{z{z{{zzzz{yzyzyzzzzzz{{{yzyzy{zzyzzzzzzyzyyzzzzzzz{zzzzzzyyyzzyy{z{zz{yyzyzyzzyz{{zz{z{zzzzyyzzzzzzz{z{zzxz{yzyyzzyzzz{zyzxzyzyz{zzz|{{yyyyz{yzzz{yzz{{zyzyzzzzz{{{z{zz{zz{zyzz{z{zzzz{yzzzzyzz{z{z{zz{z{zzzzzzz{{{y{z{{zzyzzzzzz{{z{{{zzz{zzyy{{zzyz{{{yz{{zyyz{z|{||{z{zz{yzzz{||z{|{zz{zy{zyz|{||{z{z{{{z{zzz|{{z|{{{zzz{||{{{{{{{{{|y{zy{zz{}{{{|{{{z{y{zzzzz{{|{|{{yzzz{{z{{z{{{z{{zzz{{{{|{z{{{{{{z{zz{z{{{z{{z{{z{yyz{zz{{z{{zz{zzzyzyzzz{{z{zzzzzzzyyyzzz{{zzz{zyzzzyzyyz{{z{zz{yzzzzyyzyyz{{{zzzzzyyx{zz{z{z{{{zzzyzzxzy{yzz{{yyzyzzzzy{zzz{zzzyzyzzxzz{{zzzzzyyyyyzzyzyzyz|{{yyyzzyyyzzy{{yy|yzyzzzyyzz{z{z{{zyyyxzzyzzyzzzz{zyzzzyzzy{zyzzzzyyzzzzzzzzzy{{{{zz{zzzyyzz{{{z{{zyyyyz{zzzzz{{z{zz{zzy{z{z{z{{z{z{{{y{zzzz{z{zzzzzzyzz{{{{{{{{zzzzzzzzzy{{{{zz{{{yz{yyzy{{{z{{{{{{zyzz{{zz{|{{z{yzzz{zzz|z{{z{{{{zz{{z{{{{{{{{|z{z{z|zzz{|{{||{{|zz{{z{zz{{z{|{|{zzzz{|{{}{{|{||{zz{yz{z{{{{{{z{{zzz{zz{{zz{{{{|{{{z{{yzzz{{{{{{{{{{zzzz{{{{z{{{{{zzzzzz{{z|{{{{{{{yyyz{z{|{z{yz{yzzzyzxzyzzzzzz{{yzzzzz{z{{zz{zz{zzyzyy{|{z{{{z{yzy{y{yz{{zzy{{{zzzyxyy{{{zyzz{zzzyyzzzzzzzzyzzzyzzyyyzzzzzz|zzzyzyyzzzyyy{zz{{xzyyzyzzzz{z{{z{yzyzzzz{zz{zzz{zzzzzyz{zy{z{zz|{yy{zzzzzz{yzzzzz{zzzy{zzzzz{{{{yzzzyzzyy{{zz{z{zzz{yz{zy{zzz{z{{zyzzz{zzz{{{{z{{{zzzyzzzzz{{{{|{|zzzzz{x{zz{z{zzzyz{zzzz{z|y{{|zz{zy{{zyz{{z{{|{{z{{zz{z{|{{{|{{z{{|{zz{{{{|{{{|zzzzzzzz{{|{{{{{{z{zzzzzz}{z|{|{{z{z{{|{{|{{{||||{{{{zy{||{{{{|{{zz{{z{{{z{|||z{{zzzzz{{{|zz{|{}{{zzzzz{|{{{{|{|y{{{z{zzzz|{{|||z{z{zzzzz{{{{{{zzzzxzyzz{{{|{zz{zzzyzyzzz{|{{{{{zzyzzx{yz{z{z{z{zzyyzzzyz{z{{{zzz{zzzzzzz{|zzz{|{zyzyzzzzz{{{zy{yzzzzzzzzz{{zz{yzzzyzzzzzz{zzz{zzzzyzzzyzzz|z{z|zyyyyzyzyzzzz{{{{zzyyzyyzzzy{z{{{yzzyyzyzzz{{z{{yyzyzzyyyzzzz{zzzzyzzzyyz{{zzy{{yyzyzzzyy|{{{{{{zzzy{zzz{{z{zz{zzzzzz{{z{zzzz{{zyyz{zyy{{{{{z{{{|zz{zzzz{|{zz{z{z{z{zz{y|{{z{{}{zzzzz{yz{|z{{z{zz{zzz{zy{{z|{{|{{z{{z{{z{zz{|z{|{{{{{yy{{|{{{{{{{{zzz{{|{{|z{{{|{zzzy{|z{{{{{{|{z{{{{z{{z||||{{|{{|{zyz{|{{{{{{||{y{{{{zz|{{||{{{{zzz{y{{{|{|{{|{zzzz{zz{|{{|z|{{{z{zz{z{{|{{z{zzz{{{yzy{{{{yzzzyzzxzyzyz|zz{y{{z{zyyyzyz|zz{{|{zzzyyyyy{z{z{{{{yyzzzyyy{z{zz{{{{yzyyyzy{yzzz{z{{zzyz{zzzzyyzz{zzzyzyzzyzzzyzzzzzzzzzzzzzyyzzzz{yzyyzzyyy{zzz{{zzyzzyyyzz{|zz{{zzyzzzzzzzzy{z{|yyyzzzzzzzyzzy{{zzzyyyyyyy{zzz{{zzyyyzyzyzzz{{z{{zzzzzyzz{{zz{zz{yzzzzyzzz{zzzz{|z{zyyzyzz{{{z{{zyz{{zzzzz{{{z{{{zzzzz{zzz{{{zz|z{zxzzyzzz{{z{{z{zz{zz{zz{{{{{{{{zz{yyz{{{||{z|{{zz{z{yzz{|{{{||z{z{zzz{zz{{{{|{{{z{zz{|{{{z|{{{{|zz{{zz{z|{{|||{{z{{z{z{{|{|{z{{{yz{z{{{{{{{{|{{zzzzz{{zzz|{{|{{{z{zz|{z{{|{{{|{zzz{zz{z{{{{{{{{z{zz{zzyzz{zzz{{zy{yyyyyzzzzz{z{yzyzyyzzzz{z{{{{zzyy{zzyzzz{zzzzzzyzzyyz{zzzzzz|zzzyzzyy|{zzzz{z{yzyzzzy{{zzz{{yzyyyzyyyzz{zyz{z{zyyzzzzyzzzzzzzzxyzzyxyzzzyzz{zzyzyzyxyyzz{zzz{{yyyy{zyzzz{z{{zzzzzyyzyzzxzzzzzyzzyzzyyyzyzz{{zz{zyzyyyzzz{{{zzzzzzzzzzzz{zyzz{yzz{yyyzzy{{z{{{zyzzyzzzyz{zz|{{zzzzzyzzz{{{{{{{zzzz{zzzz|{{{|{yzzzzzzzz{{{{{{{zzzzz{{zz{{|{{{z{{{{{zz{z{{{z{{{{yzyz{zyz{{{{{{{{{z{zz{z{{{|z{{{{zzzzzyzz{|{{{z{{{{zzzz{z{|{{||{{{zz{{z{z{{z{{||||yzzyz{{{|{{{{z{{{{z{zz{z{zz{{{z{zzyzzz{{{{{{{|{{{zzzz{{z{{{{|{{zzzzy{zzzz{{{{{zzyyzzyzyy{zzz{{zzzyyxyzyy{zzy{{{zzzxzy{zz{zzz{|{zzzzyyyyzzz{{zzzz{zyyyyyzyzzzzz{zzyzzyyyx{z{zzzyyy{zyyyy{yzzyyzzzyyzyyyyzyy{zz{{yzzzyzzz{zzyz{zzzzzxyyzyyy{zzzzzzzzzzyzzyyzzzz{zzyzyyyzyy{{z{z{z{zyzyyyxzzzzz{z{y{{yyyzyzzzz{z{{zzzyyzyz{zy{zzz{yzyzzy{zzzz{z{{{zz{yzzyzz{{{{{{z{yzzzzzyz{{{{{{{zzzyzyzyzz{{zz|zzzzzzyzyz{{zz{z{{zzzzzy{z{z{{|{{zzz{{zz{{{{{{{{{yzzzzzzzz{{{|{|z{{z{{{zzz{{{{||{{{{z{zzz{{y{z|{z{zzzzz{{z|z{||{{zy{{y{zzz{{{|z{{|zzz{z{zz{{{{{||{{zyzy{{{{{{{{|zz{zzzyy{{z{|z{{{{{{{zzzz{{{{z{{{zzyzzzzzzzz{z{{y{yyyzzyyzzzzzyz|zyyzzyzzzzzzz{{{zzyyyyzyzzz{z{{z{yzzzyzzyy{z{z{{z{{zzyzzz{zyzz|zzxyzyzzyzzzyz{{z{yzyzzyzy{{zzzzzyyyzyzzzzyzz{zzzzyyyzyzzy{{zz{zyzy{yzzyzzzzy{zz{zyzzzzxyzzz{{z{zzyzyyyzzzzz{{{{{zyzyzyzzz{{|z{{zyyyzzyzx{{z{zz{{zzzzyyzy{{z{z{{{{{z{yyyzyzzzzz{{zzzzzzzyzz{zz{{z{zz{{z{zz{{{z{zz{zyyyyyz{{z{{z|{{zz{yzxy{{zz{z{z{zzy{zzz{z{|||{{z{z{z{z{|{{{{{|{{zz{zzzz{{{|z{{|{zyz{{{z{||{{||zz{z{z|{z{{z{{{{||z{{{{zzz{|{{||{{{z{{z{z|{{{z||{|zz{{yzz{{{{{{{{{{z{{{{{z{{{||z{zzyzz{yzz{|{{{{zzzyzzzzzz{{{{{||zz{zzz{z{{|z{zzzzyyzzxyyxzz{zzzyyzyzyyyzzzz{{{{zzzzyzyzyzzzz{{{{zzzyyyzzzzz{yz{zyyyyyyyyzyzzzzzzzyzxzyzyzzzzyyzyzyzyzyxyzzzzzzzzzzyyyyzzyzzyyz{zzzzyzyyyyzzzyzzzyyyyzzyyyzzzzz{zyzzzyzzyz{zzzzz|zy{yyyzxzzzzzzzzzzzyzzyyyzzzz{zzzyyyyyyy{zzzz{{z{yyzyyyyz{zzzzz{zyzyyyzz{zzzz{zzzzzyyyyzzz{{{z{zzyyzzyzzy|zzzzzzzyzyzzzy{{z{zz|{{zxzyzzy{zz{y{zzzy{yzzzz{{{{{{{{zzzzzz{z{{z{{{z{zzyz{yzz{|z{{{zzzyzzzzzz{{{z{{{|zzzyzz{z{{|zz{z|{zzzzzz{{|{{{z{{z{|{z{{z{{zz{z||z{z{zz{zz{{z{{|z{zyzzzyz{z{{{{{{z{zzz{zzz{{{zz{|{zzz{yzyz{{{zz{|zzyzzyzyz{zy{{z{yyyyyyyyy{zz{zz{zyzyyyzyzz{zzzzzzzyyy{zzzz{z{{z{zzzzzyyyzz{zy{z{zzzyyy{xzzzzy{zzzyyyyyzyzz{zyz{zzzyzzyyyzyzzzzzzyzzxxzyzzz{{y{{zzzyzzxzyzzy{z{{z{yyyyzxzzzzzzzz{y{y{yzyzzzzz{z{{{zzzzzyyxzzzz{{{zzzyxzzyyzzzz{{{yzzzyzzyzz{z{{{{zzzyzyyz{{zz{z{{zyzz{yzz{z{{zz{{zyyzzyyyzz{zz{{{zzzyzyzyy{z{{{{zzzzz{zzy{zyz{{{{{zzzy{yz{{zz{z{{{zz{z{zzz{{{{{{|{z{{{z{y|zz{{{{zzzzzzzzy{|{{{|{yzzz{{|zzz|{{{{{|{{zz{{{z{{{{{|{{|{{zz{z{z|{{{||z{zzz{zz{zz{{{{{{zzzz{yy{z|{{z{|{z{zz|zyz{zz{{{{zzzzz{{z{{{{z{{{{|zzzzz{y{{{{{{z|zzz{{zzzz{{zz{zzzzyyyzzxz{zzzz{{{yzzzzyzzzz{z{{zzyzyzzzz{zyz{{{{zzzyyzyyy{z{yzz{{xzyxzzyzyz{yzz{zyzyzzzyz{zzzz{zyzzz{yzyzzzzz{zzzyzzzz{zzzzzzzz{zzzzzzyzzzzzzz{zzyyzyzzzzyzz{{zzy{zyyzyyzzzzzzzzzzyzyyzyy{{{y{{yzzyyzzyyyz{z{zzzzy{zz{yyzz{{z{{{zy{z{yzyy{zzzyzzzzyyyzyz|zz{z{{{zzzyzzzzzz{z{{{{zzzzzzzzzz{{z{zz{zzz{zzy{{{z|z|z{zyzzzz{z|zzz{{{{z{zzyz{{{{{z{||zz{zzzz{|zz{z{{{|zz{zz{z||{|||{z{z{{yz{z||z{z{{{{zz{{{{{z{{{z{|||{zz{{zzz|{{{|{|{{|{zzzz{zz{{||{{zzzzzzz|{{||{|{{zy|{zzz{|||z{|{zzz{{zz{z{|z{z{{{zyz{zzz{{{{{z|z{zzyz{zzzz{zzzz|zzzzzzzzy{zzzzz{zzz{zxzyz{{zz{z{{zyyzzzzzzzz{z{z{zyzyyyyz{zzzz{{{zyyxz{y{zzzy{z{yyyyzyyyz{zzzz{{{yzyyyxxzz{zzyzzzzyyzyzyyzzzz{z{xyyzyzyyzzzzz{{zyzzzyyyz{z{z{{z{{{{yyyyyzzz{z{z{zyzzzyyzz{zzzz{zzyyyyyyzzz{z{{z{yzzzzzyz{z{zzz{{zyzyyzzzzzzz{{z{zzzyyyzz{{z{z{{{zzyyzyzzzzzz{z{{{z{z{z{y{|z{{{yzy{z{zzyzz{{{{{{{zzyyzz{zz{{z{|{{{zzzzzzz{{{{{zzzz{{{{zz{|{zz{{|{yyyzyzzzz{z{z|{{{y{zzyyzz{z{|{{{zyzzy{{{{z{z{|{{{zzzz{z{{|{{|{{{{{z{z{z{{{z{|{{{|yyzyy{z{{{z{{|{|zzz{y{zz{{{{{|{{{{yzzzz{|{{{{{{z{{zzz{yz{z|{{|zzzzzyyzz{{{z{{|zyzyyzzzzyyz{yyz{zzyyyyyzzz{z{z|zyzzzyzzyzy|zz|{{zxzzyzzx{z{zzzzz{zyyzyzzzz{zyzz{yzzzzzzzzzyyzzzy{yzxzyyzzyzzzzyy{{yyyyyyzy{zzzzyyyzzyyzzzzyz{z{zy{{yyzzzy{zz{{zzzzyzyzyzzzzz{{{{zzzzyzxyzzzzz{{{yzzyyzyzzzzzz{y{{zzxzzyzzy{zzz{z{yzzyzyyy{{zzzyzzy{yzzzz{{zz{z{{{z{zzzzzzzz{{{z|zzz{zzzy{{{z{||{{zy{zzzyz{zz{{|zzzzzzzzzy{{z{|{{{zzzzzz{z{{{{zz{{z{y{z{z|{{{||{{{z{zzzzyy{{{{z|z{{z{z{z{{|{z{{|{zzz{{{{{{{zy{{{{{{z{{zzzz{{{{{{{|{{z{z{z{{{{{{|{|z{{zzzzz{z{{{|{{zyz{zzz{{{|{z|{zz{zzz{zzz{{z{{{z{zxzyzzz{z{|z{zzyzyzzzy{z{|yzz{yzzyzzyyzzz{zyz{zzyz{yzz{zzz{z{z{yz{yzzyzy{yzz{{zzzzzyzz{y{{zz{{zzzyzyzxzzzzzzzzzyzzzzzzz{zzzzzzzzzyyyzyzzzzy{{zzzyyzzyyyzzyzzzzyzyzyzyzyzz{zzzzzyzzyyxyy{{yzzzzzzzyyzzyzzz{z{z{zzzyyyzyzzzyy{z{yyyyzzzyy{zyz{zzyzyzyzzyzyzzzz{{yzyy{yzzzz{{z{zz{zzzzz{y{zzzzz{{yyyyzyzzz{{{{{{{zyzzzyzzy{y{|{{{{zzxzzyz{{{{{z|zzzzzzzz{{z{zy|{{z{zzzzz{z|{{{{z{{z{z{zz{zz{{{{{|zzzzyzyyz{|{{{{{{z{{{z{z|{|{|{{{{zzzzz|{|z{z{{{|zzzzzzz{{{z{{{{{|z{z{z{z{{{{{|{zzyz{zzyz{{{z{z||{zzz{{z{zzzz{|{{zzzzzyzzz{{zz{z|{{zyzzzy|{zyz{{zzzzzzzz{{zz{zzzyzyxzyyzyyzz{{yy{zzyzzxzyzzz{{{{{zzzyyyyxyzzzz{{zzy{yzzzzzzz{zz{{zyzzyzzz{zyzzz{zzz{yzzzzyzz{y{zzzyzyyyzzzzzzzyzzzzzyyyzyzzyzz{yzyyzyzyyyyzzyz{z{yyyzxzzzz{zzzzz{{z{yzzyxzzzzzzzz{yyz{yzyyzzz{{{{zyyyyzzyyzzzz{z{yxzzzzzy{{zzzz{z{zzzyyyzz{zzyz{{zzzzyyzzzzz{{{z{yz{zyzzzzz{z{{{{{zyz{zzz{zz{y{z{{zzzzzzz{{zzzz{z{{{zzyzz{{{z{z||zyy{z{zz{z{{{|{{zzz{zzz{{z{{z{{z{{zzyyyz{z{{{{||{y{z{yzy{{{{z{{{z{zz{z{zz{{{{{{{{zzz{{z{{{{{{z||{z{{zzzz{{|z{|z{zzzzzzz{{{{{z|zz{zzz{zyz{zz{{{z{{zyzzzzzz{{zz{{z|z{yyzzz{{z{{z|z{zzzyzzzz{zz{z{zyyzyzzzyy{zyyzzzz{zzzyzzzz{z{{{{z{zyzzzy{zz{z{{{zyy{zyz{z{z|{yzzzyyyxyyy{zzzz{{{zyzyyyyzx{zyzz{zzzyzzyzyzz{z{zz{zyzyyzzzzyzyz{z{zy{yyyzyz{z{z{{zzzyzyzyzyzzzzz{{zzzzyyyyzzzzzzzzzzzzzyzyzz{yzz{{zzzzzzyyyzz{z{yzzyzyzzzyzzz{zz{{{xyzzzzyy{{z{{{{{zzzyyzz{z{{{{{{zzzzy{{yz{{y{zz{{y{z{zzzz{{{z{|{z{{zz{{z{{{{{{|zyzy{{zzyz{z{zz||{{zzzzzz{{{{{{|{zy{{z{zz|z{{{|{{z{yzz{{{{|z{z{{z{zz{|yzz{zz{|{{|{{z{{z{z{z{z{||{{zzzyz{{{|{{|{||{z{zzzz{{{{{||||{zz{zyy{z{z{{{z{{{z{{z{{{{{z{|{{zz{z{zzz|z{{{{||{{y{zz{y{{{|z{{{{{zzz{zzz{{{z{zzzzyyyyzx{{{z{zyzyzzyzxxy{z{{{z{{zzzyyyyzzzzy{{zzzyzzzyyyyzzzz{z{zyzyzyzxz{zzzzz{{z{zyyyyyz{zyz{zzzzzzyxyzzzzzzzyzzyyzyyyzzzzzzzzyyzyyyzzyyz{{{zzzxyyyzyyzzyzz{zzz{zyyyzzzzy{z{zzyyyyyy{yyz{zzzzzzyyzyyzzz{z{zzy{zyzzzzzzyzz{zz{{{zzy{yyzzz{zzz{{z{zyzyzy{z{zzzz{y{zyy{yy{zyzzz{{zzyzzyzzz{{{{|{{zzzzxzzz{{{{zzz{zyzzzzzzz{zzz{{z{zy{zzy{{{{|z|{{{zzzz{zz{zz{{{{{zzzzzzyz{{z{{z{{{z{{{z{{{{{|{{{{{z{{{z{z{{zz{|{{{zzzzzzz{}|||{z|{yy{zzz{|{|{{{{{{{z{zzzz{{|{{z{{{{z{{yz{{|{{{{{{zz{zzzzzz{zzz{{z{{{yyyyzz{z{z{{{{zzzy{yz{z{{{y{{zzyzyzzzy{yzzzz{zyyyxyxz{zzzz{y{z{zyzyyyzyzz{{|{yyzzzzyyzyzzzyzzyyyyyyzy{{zz{zzzzy{yyyzyy{{yz{z{zzyyzyyyz{{zzzzzzzyzzyyyzyzzzz{{yyyzyyyyz{zzzz{zzzyzxzxyy{yz{z{{yzyyyyyyzzz|zzz|zyyyzyzyzzzzyz{{zy{yzyyzz{zz{{z{yyzzzzy{{z{zzz{zzzyyzzyzzz{z{zz{yy{zzz{zzzzzzz|zzzz{yyxyzzzzzzzzz{zzzyzyz|z{z{z{zzzzyyzyzz{zzz|zzzz{yyzy{z{z|{z{z{zzzz{{zz{|{{{|{zzzzz{{{{{{z{{{{zzzzzzyz{{{{{zz{zzz{{z{{{{{zz{{{{{yzz{{{{z{{{{}|{z{zz{zz|{|{{||zz{{zzzzz||{{{{{{{z{zzyz{{|{{{|{{z{{zzzyzz{{{|{{zyzyyzz{{{{{z{{z{zzzz{{zz{z{z{zzzy{yzzyyz{{zzzz{yyzyyxyyz{zyzzzzyzzzzxyyzzzyz{{{zzyyzyyyy{yyz{zzzzzyzzzyyy{zyzzzzzzyyzyzyz{z{{z{{zzzzyzyyzyyzzzzzzyyzyyyzz{y{zzzzzyyyzyyzzz{zyzzyyxyyzzzyzyzyzzzzxyyyzyzyyyy{zzzyyxyyyyyzzy{zz|zyzzzyyyyyyzzz{zzzzyyzyyyyzy{yzzzyyyyyzyyzzzz{{z{yyzxzy{xyzz{z{zzzzyzzzzy{y{{{{|{zyzzyzzzyzzzzzzzzzzyxyzzyz{z{{zzzyzzzyyy{{{yzz|{zzyzzy{z{z{z{{{{zzzzzzzzz{{{{zzzzzyyzz{{zzzz|{{zzzzzyzzzz{{z|{{|zzyzzzyy{z{{z{{{zzzzzz{z{{z{{{{z{zzyzzzzz|z{{z{|{yz{zyyz{z{{z{{{zyz{zzzz{zzzz}|{zzz{{y{zzzz|{z{{{zzzzzzyzzz{{z|yyzyzzzzzz{z|zzzzzyzyzyyzz|z{{zzzzzyzyyzzy{zzzy{zyzyyyzyyyzzyzz{{{zyzzz{xzzyzzzyzyzzyyyyzz{zyzzzzzyzzxxzyzz{zzzzz{yzyyzyyzyzyz{zz{yzyzyyyyyyzz{z{yzyyyyyyyyy{zy{zzyyyyyyyzzzyzzzz{yyzyzyyyyz{{zzzyzzzyyzzyz{zzz{zzyyzyyyxyy{yy{zzyyzyyyzyxzyyzzzzzzyyyzyyzzzz{z{{zzyyzz{yzz{yz{z{zyzzyzzzzzzzz{zzzzzzzzzzzzzzz{{zzzzz{yyzz{{z{{{{zzzzyz{yz{{zzz|{zyz{zzzy{{zzzzz{zyzyzyzz{{{{y{{{zzzyzzzzy{z{{z{{zzzz{zzyz{{{z{{{zzzz{z{z{z{|zz{{{{z{z{zzz{{{|{{{zyyyz{{yz{z{z{{z{z{{y{{{{{{|z{|z{yzzzzzz{z{{{{{z{{zyzzz{zz{{{|y{zz{zyzzzz{zz|{{z{zzzzzzyz{z{zz|{yxzyyzyyz{z{z{z{yzyyzyzxyz{yzy{{zyzyzyxzyzzz{zzz{yzyyyzyzzyyzz|zzzyzyxyyzyzzyzzzz{yyyxzyzyzzxyz{zzzyzyzzzzz{yyzzyzyz{zyyy{zyy{{yzzx{yyzyzzz{zzzzyyzzyxyyzzy{{{zyyxzzyyzzyyzz|zzzyy{zyyzzyzzyzzz{yzyzzyyyzzzyyzyzzzyyyzzxyyzyz{{z{yzzyzyyzzzzzzyz{yzzyzzyzzzzyz{{yzyzyyzyzzzz{zz{zyzzyyzzz{zzz{zyzzzzzyzzzzzzz{{zzz{zzzyyzzzz{z{zzyz{zxy{z{zz{{{yzzzyzz{zzzz{z|{{z{{zyz{{{{z{zz{zzz{zyzzyz{{z{{{{{zyz{yzz{z{z|{{{zzy{z{{{zzz{z{{|{zzz{{zz{}{{{{{{{zz{zzyzz{{{{{{{{yyzzzyz{zz{{|{z{{zz{zyz{{{{yz|{y{zy{zzyz{{zy{{z{{zzyy{{z{{z{zz{zy{yyzyyy{zzz{yzzyzxyyxyyzzzzzzzzyzyyyyzzzz{zz{{yzyyzyyzyzzzz{zz{z{yyyzyzy{yzz{yzzzyyzzyyzz{{zzzyyzzyzyzyzyzyz{zyzzzyyzy{zzzzzzyzxyxyzyyz{z{zzyzyyzyzxzzzzzzzyzzzzyyzyzy{zzzz{z{zy{yyyyyzzzzzzzzyyy{zyzyzzyzz{{zyzyzyzzyy{yzzz{zyzyyzyy{zzzy{zzzzzyyyyzyzzzyy{{zzyzzxyy{zzz{{{{zzyzzzzzz{zz{z{{z{zzzzzzyz{{{{{{zzzzyzzyyz{z{{z{{yyz{yzzy{|{zz|{{yzzz{{zzzz{{{{{{z{zzzz{z|zz{z{{{zz{zzzzzzz{zzz|{{zz{z{zz{z{z|z{{zz{yz{z{z{{{{|{{{{zzzz{z{{{{{{{{{yz{z{z{z{{{z|{{z{{zz{zz{z{z{{{{{z{{{zz{{z{{z{z{{{zzzz{zz{|{{zz{zyy{zyzzz{{|zz{{yzyyzyyyzz{zzzzzzzyzzzyyz{{zzz{zzzzzyzzz{{{{zzzzzzzyyzyyzz{yz|zzzzzyzyyyzyzyz{{|yzyzyzzzzzzz{{z{yyzzzxyzzzzzz{{yzyzyzyzxzzzyy{{zzyxyyzzzzzzzzz{{zyzyzzzyy{yzyz{zzyzzzyyz{zzz{zzzzzzyyyyyzzzzy{{zzzyzzyyyyzzzzz{zzzzyzyzyzzzz{{z{yyz{yzzyyyzzzz{{zzyzzzyyz{{y{z{{zyz{yzzzzyzz{{{{zzyzzzz{zz|zz{{{zzzzyy{zzzzz{{{{{zzyz{zz{{{{z{{{zzz{zzzz{zzzz{zz{{zzzyyzzz{z{|{|zzz{zz{z{{{{z{z{{zz{zyz{{{z{{z{zzzzz{z{z|{{{{|{{z{{yzzzz{{zz{{{{{zz{z{z{{|{{z{{|{z{{zzz{{z|zz{|z{{yz{yy{{{{|z{{|{zyyzz{z{{{{{|{|z{yzy{zzzzz{z||{{zzz{{zzz{z|{{zyzyzyzzzyzz{{z{{{zzzzzxyyyz{zzzzyz{zyyyxy{z{{{{{zyyzyyzyzzzzyz{{z{zzzyyyzyz{z{z{{yzzzyyzxzzz{y{z{zzxzy{zyz{zzz{{zzzyzzyxzzzzyyzzzzyzzy{yyzzzzzzyzyyzyyyxzyzyzzz{zzyyzzyzzzz{zzzz{zzzzyyyzzzzzzz{zzzzyyyzyzyz{zzz{yzzyzzxzzzyzz{{{zyyzzzxzzz{{{zzzzyyz{z{zz{zzz{z{zzyzzzy{z{zyz{zzyyyyzzzzzz{{{{{z{zzzzzzz{{{zzz{{yyzzzzyzz{{z{zzzyzzyzyzy{{{zz{zz{y{zz{zy{z{|{{{zyzzzyzzz{|z{|{{{zzzzzyyz{{{{z{{{zzzzzzzz||{{|{z{{{zzzzzzz{z{z{{zzzzzzzz{z|{{z|{|{{{{{zz{|{{zz{{z{z{{{z{z{{z{||{|{y{y{yzz{zz{|{{{z{zyzzyyzzz{z{||{zzzyzzz|{{{z{|zzz{zzzyyzzzzzzz{zzyzzzzyzyzz{zy{zzzzyyyzzz{{z{z{zyyzzzyzzz{zz{zzzzyyzzyzz{yzzz{zzzyzxyyzzzz{z|{{zyyzyzzzyzzzyz|z{zzz{{yyzzyzz{yzzzyyzyzz{y{zyz{zyyyzyyyzz{yz{zzzyzyzzyzzzzzzz{z{{zzzyyyyzzy{{zzzzyyzzxzyzz{zyyzy{yyyzyyzyzzyzz{zzzzzzyyz{{zz{z{{z{{yyyzz{zzzz{{{zzzzzzzzyz{zz{z|zyzzyzyzzz{{{zzzzzyz{z|zz{zz{{z{{zzyzz{y{{{zz{|{{zzzzzzzz{z{{z{zzyyy{zz{{z{{zz{{z{|zz{z|{{{{{{{{zzzzy{z{{{|{{{{{{z{{{zz{{|{{{z|{{{zzzz{{z{{{|{||zzzzzzzz{{z{{{{|{z{{{zzz{z{|{{{{{zy{{zzz{{z{{{z{{zzy{{zz{{|{z|z}{{zzzz{zz{{{z{{{z{zzz{zz{{z{z{z{|{zzyyzz{z{{zyyz{yyxxyzzzzyzzz{z{zzzyzzz{yzzzzz{zzzzyyyyyzyyzz{{zzzzyzyzzzzzzz{{zzzyyzzxyzzzzz{{zyyyzzzyzzyzy{{zzy{yyzyzzzzzz{zzzyzyyyzyzy{zz{z{zyyyyzzzzzzzzzzzxzzyxyzyzzzz{zzzyyyyyyzyz{z{zz{zzzzyzyzzzzzzzzzzzzzyzzyyyzzzz{z{zyzyyzyyzzz{zy{zzzzxzyyyzzzzyzz|y{yzzzzzzzzzzz{zzzzzzyyz{zz{z{zzzyzz{yzz{zz{z{{{zyzyyzzyz{zz{{{z{yy{zyzz{{{{zzz{zzzyz{{zz{|zz{{{zzz{{z{z{{z{z{|{zz{zzzzz{{{{|{{{{zz{zz{z{{zz{{{{zz{z{{z{zzz{{{z{{{z{z{zyz{{|{{|zz{{zyzy{|zzzz|{{zzz{zzyz{{{{z{{}{zzzzzy{z|{{zz{z{zzzzzzz{zz{z||yzz{zzzyyz{z{{z{zzz{zyzzzyzzz{{zz{zxzyyzzzzzzyzzzzzyyzyzzz{zz{{{{zzyyzzzy|{zz{zzz{xzyyzyzz{yzyz{{yzy|zyyyzzzzyyzzyyzyzyzyyzzyz{zzyzzzyyyyyzzzz{{{zyzyxzyyyzyzyzzzyzyyyyyyyzzzzz{yzzzyzzxzzzzy{zyzyzzyy{xzzzyzzzz{zyzzxyzxyyzy{zz{yyzyzyyzzzzzzzzz{yzzz{yyzzzzz{zzzyzyzyzzzz{zzyzzzyzyzyzz{{zzz|y{yzz{zzzyzzzyz{{zzzzz{yyyzz{{zzzzyyyyyyzz{{zzzz{{zzzyyzyzzzzz{{{{z{zzzzzzz{{{z{||zzzzyz{zz{z{z|z{zzzzzzzy{z{{{{{{|zzzzzz{{{{zz{{z{z{zz{{zz{z{{|{{{y{zzzy{z{{{|{{z{y{{z{{{{zz{zz{{{zzz{z{z{z{{{{{{|z{{{{zzz{|{zz{|z{{zz{zzy{z{z{{{{zyyzyyz{zzzz{{{zyzzyyzyzz|zyz{yzzyzyzzyzz{zz{zzzyzzzxzy{z{{{{{z{yyyy{zzzzzz{{z{zyzzzyyzzzzzzy{{{{zzyzyyzzz{zz{zyzzzzzyyzzzzz{{yzyzyzyzyzzzzy{{zzyzyzzzzyzz{z{zzzyzyzyyyzzzyz{{zzzyzyzyzzyzyz{{zzyzzyzzyy{zz{z{{zzzyz{yyzzzyzzy{z{zzzyxzyz{zzzzzzzzzzzyyzzzzz{{zzzzyzxzzz{z{zzz{z{yy{yzy{{{z{{{z{{yyyyzzz{zz{yzzzyy{zyzyy{zz{{{zzyyzzzzz{{{zz{|z{zz{zyyz{z{{zzz{z{{zz{yzzzz{{{{|z{{{{{{zzzz|{|{{zz{z{zzz{zz{{{{{{y{{zzzz{{{{z{|{zzzzz{{z|{{z{{{|{{z|zz{zz{{{{{|{zzz{z{z{{{{{{z|{{z{y{zz{{{z{|{||{{z{zzzz{{{{z{z{zzyz{zz{{{zy{{|{{zyzzyzz{{z{{z{{{{zzzzyzzzzzzzzzzyzxzzyzz{{y{zz{zyzyzyyyzzzz{{{{yzzyzyzzzzzzzz{z{yzzyy{zy{z{z{{zz{zzyyzyz{zzzzzzyyyzyyzzzzyzz{{zzyyzyyyyzyzzzzzyzyyyxzzyzzzzzyzyzyzzyzxyzz{zz{zzzzzzxzyzzz{zz{z{zzzxyyyyzz{zzz|zyz{yzyyyzyzyz{zzyzzyzyyyzz{yzz{{yyyzz{{yy{zzzz{|zyxzzy{zyz{zzzz{zyzyyzzz{zy{{z{zzzyzyzzy|z{z{z{zzzyyyzzzzzz{z{{{y{zzyzzyz|{z{y|{zzzz{zzz{{z{zz{z{{{z{zzyy{{{{z{{zzzzzzzy{{{{z{{|{zzzzzzyz{{{z{{{{zzzzzz{|||{z|{{zz{z{{{{{{{{{{{{zzzzz|zz{|{{{|{|{zz{z{yz{{{|{{|{|zz{yzzz{{{zz{{{{{yzzzy{{{z{{{z|{z{zzzz{zzyz{zz{{zzzzzyzz{z|{z|zzyyzyzzzyzyzz{yzyyzyyyzyzzzyy{z{zxyyyyzyzzzzzyz{yzyyyyzyzzy{{z{zzyzyyyyzyzz{zzzzy{yyyyzxzzzzzz{zyzyzyyzyzzzyzyzy{zzyzzxzyz{zz{z{yzzxyzzyzxzzzz{{zyzyzxyyyyzyzyzzzzzyyyxyz{zy{{y{y{zzxzyzzz{zzz{{zzzzyxyyxzyzy{{zyyyzzyyxxzyzzzzzyzyyyzyzz{zz{{{zzzyzzyzzzz{z{zz{zyzyzyyzzzzz{{zzzzzzzzzzz{z{{z{{{zzyyyyzzzzzzz{zyzzzzyyyzz{zz{z{zyz{zzzz{{{zz{{{zz{zzzyzzz{{{{z{z{zyzz{zyzz{{{{{zzzy{yzyzz{|{{{zyzzzzzzzz|{|{zz{{z{zz{{{z{{z{{{{{zzzy{z{{||{zz{{zy{zzyz{{{zzzz{|{zz{zzzzzzz|zz{{{zz{{y|zz{{{z{{{{|{z{zyy{{zzz{{{|zz{zy{zz|{{zz{zzyyyyzzy{{z{zzzzyyzzzyyyzzzzzyz{yzxyyxyz{zz{{{z{zyzyzy{zyzy|{z{zzzzzzyyyzz{zzzzyzyzyyyzyyzzzz{zzyzyyyyyzzyzyzzzzzyzzzyzyzzyzyzzzzzyzzyyzzzz{zzz{zyzzzxyyyz{zzzzyyyzyyzzzz{zzzzyzzzyyyyyxz{zyzy{zzzyyzzyyyyzzzzz{yyzyzyyzyzzyzzyzyz{yzyyyzy{{zz{zzzyzzzy{z{zzzzz|zyzzyxyxzyz{yzz{xzzzzyzzz{{{{{{{zzzzzy{yyz{|{zz{{yzyzxyyzz{zz{|{zzyz{yz{zz{zzzyyyzyzzzyzz{z{{|z{y{{zz{zzz{z{{{{|z{zyzzzz{{zz{{zz{zzzyzyz{{|zz{|{yzzz{zz{z{{zz{z{zzzzz{{yz{{y{{|z{zzzz{zz{{{{{{{{zzz{{zzzzz{{{{{{zzzz{zzz{{z{}z|zz{{zzzzzzzzz{{|{{yy{zzzzz{{{{z|{zz{yzzyxz{zyzzyzyzzyxyyyyz{z{zzzyyyzzywxz{z{{{{zzzyxyyzyzzz{zz|zyyzxzyzzzzyzy{{zyx{xyyxyzyzz{{zzzzzxyyxyy{zyzyzyzyzyzyzyzz{yz{zyyyyyzzxzzzzyyzzzxyyyyyyyyyzzzzzyzyyyxyyyy{zyzzyyyzyyyyxyzzzy{{{zyzyzyzyyyyxyzzzzyzyyyyyyzzzzzzzzxyyzyyyzxzzzzzzzzyyxzzzyzzyzzzz{zzzzyyzyyz{zzzzzyzzzzzyyyzyz{yzzzyzyzzyyzzzz{zzzzzy{yzyzz{{zzz{{zyzzzyzz{{z{{z{zzyzzzzzz{z{{{{{{{zyzzzzyzz{z{|{{zzyzzyyzz{z{z{{{zy{z{z{y{z{{|{{{zzzzzy{{z{z{{{{z{zzzzzzyy|{z{z{{zy{{zzzz{zz{{{||zzz{{zzz{{yzz{{zzzz{{zyy{z{z{{|{zzzyzyz{zzzzzz{{zzzzz{zyz{{z{z{zzyyyyyzzzz{{{zzyzyyzyzzxz{yyyz{zyyyzzyzyzzzzy{{{zyzyyzyyzy{zz{{{zzzzzyzyzzzzyy{{{yyzyyyyz{zz{z{{zyyyzyzxxzzyzzzzzzzyyyyyzzzyyzzzyyyyyzzzzzzzzz{zyzzyyzzzy{zzy{{zzxyzyzzyz{z{{zz{yzyyyyxyy{zzyzzyzyyzzzzyxzzyzzzzz{zyxyyxy{zzz{y{zzzzyzyyzyzzz{{{{yzzzzzyzyz{z{z{zyzzzyzz{z{zzz{{zzyzyz{yz{{z{z{{{zzzzyzzzz{{{{|z{zyzzzyzz{z{{{{{{zzzzzyzzzz{{{z{yzyy{zzz{{{{{|z{z{yyz{{{zzz{{{{|{z{zzzzyzz{{z{|{z{zzzzzz{{|zz{{|zyz{{z{{z{{{{|{|{zzz{z{z{|{{{|{zzzz{zzzz{{{{|{z{|{{zzzzzz{{{{{{{zy{zzzyz{{{z{z{{{zzyzzzzzz{|zz||zzz{zyzz{z{zzz{zz{{yz{yzz{{z{{{yyzyzzzyyzzzzzyz{yyzxyyyyz{zzzz{zzyyyyyyyzzzyzyz{{zzyzzyyyy{zzzzzzzzyyyyzyzzz{{z{yyzyyzzyy{yzyy{{{yzxzyxz{yzzz{yzyyyyzzyyyyzzzz{zyyzzyyzyyzzzz{zyzzzzyyz{zzzyzzzzzzzyyyyzz{zzy{{yzzzzzxyyxzzzzzzzzyzzyyzyzzzyzz{zyyyzzzyyyz{zzz{z{zzx{zzyz{zy{zzzzz{zzyzz{zz{z{{{yyzzzzyzzzzzyz{zzzzzzxzzzzzzz{zyzyyzyyzy{zzzz{{{{zyzzyzz{zz{z{zzzzzz{yyz{{{{{{{{zzzz{zzzzzz{z{{|{zz{z{zyz{||{{z{{yzzzyzz|{{{{z{{zz{zzz{{y{{{{{z{{zzzz{z{{{z{{|{{|{z{{y{yz{{{|{{{{zz{zyz{{z{{{z{|{z|zzzz{{zz{{{{{zzyzz{yzz{zz{z{{zzzyzzyy{{zz{zzzzyzzyzzzz{{zzz{zz{yzzyzyzzzzzzz{yz{zzyyzz{{z{z{{{yyzyyzyy{{z{y{{{yzyyxzzzzz{zz{{{yyyyzzyzyzzzzz{yyzyzyzyzy{zy{z{zyzz{z{zzz{zz{{zzzyyzyzzyz{zzzzzyyzyyzzzxzzzyzyzzzyyyzzzzz{z{{{zzzzyyyyyzyyzzz{yzyyzzyzy{z{yyzz{zzyxzyzyz{zzzzzzzz{yz{zzzzzz{z{zyyyyz{zzzzz{zz{zz{yzyyzzzz{{{z{{yyz{yyzz|zzz{{z{{y{zzy{y{{{{zz{zzzz{zzzzzz{{z||{{yz{zyzy{|{zy{{{{zzy{yzz{{{{{{{{{zzzzz{z{zz|{{||z{zzzzzz{{{z||{{zz{{yy{{{||z{{|||z{zy{{{z{z{{|||{{zzz{z|{|{{{{|{|{{z{y{{{z{z{|{z{z{zzz{zz{{zzz|{{zz{{{{z{|{{||{|zzzyyzzyz{||{|{|{zzyzz{zz|{|{{{{zyzzzyzyzzzzz{|z{zyyyyzyz{zz{{yyzzzzzzzzy{zz{{{zzyzyzyyzzyzzz{zzyyyzzzyzyzzzzy{zzzyyyyzyzzzyz{z{yyzy{zxyyz{z{{z{zzyyzyyyzzzzzzzzyyyyxyyyzyyz{{zzyzzzyyyzyz{zyzzyzzyyyzy{yy{y{z{zz{yyyyyyzzz{zzzzzyzzzzzyyzzzz{zz{yyzzzzzzzyzz{z{yy{zyzyzzz{{z{{{zzzzzzzzzzzzz{{zzzzyyyzz{{{{{{{{zzzyyzzz{{{z{{{{z{{y{yzz{{z{{{zz{z{{yzzyz{{{yz{{zyyz{zzzzz{{{{z{zzzzz{zzzz|{{zz|zzzy{zz{{{z{{|{{zyz{zzz{{{zzz{|{zzzz{{{z{{{{{z{{{z{{y|z{{{z{{||{|z{zzzzzz|{|z{{{{zz{{{{zzzz{{{{z{yzz{zzz{zz{{{{{{zzzzzzz{{{|{{{{{z{zzy{z{{|}z|{{z{{{z{zz{{{{{z{zzz{zzyzzy{z{{{zyzyzyzz{yz{{zyzzzyzyzzyyyzxz{{{{{zy{yzzzyz{zyz{zzzzyzyyyz{z{zzzzz{{zzxzzy{zzyyzzyyzzyzzzy{{{zyyz{zz{yzzyxzzzzz{zzzyzzzyyyzzzyzy{zzyyzzyzyyz{y{zzzzyyzzyzzzzzyzzzzzyzzyyyyyyzzzzy{zzzyzz{zz{yzz{yzzzzzzzyzyzzzzzz{zzzzz{yyzzzzzzzzy{zyzyyzzzzzzz{zyyzyy{{z{zz{zz{{zyzzyzyz{{zzzz{zzzzyzyzzzzz|zz{{zz{zzzyz{{{z{{|zzzz{zyzzzzz{z{{{{z{yzzzz{{{z||{zzz{{yzzy{z{{zzz{zzz{{zzz{|{{{{{z{yzzzzyz{{{{{{}{zzzzy{{yyz{{{{z{{{{{zz{{{{{|{{{|{{zz{zzz{{{{{{{|zz{{zzzz{{{|||{}{{{{{yy{{zz{{{{|z{z{zyzzzz{z{{|{z{{zyzzzz{z{{z{{zzzzzz{zzz{zz{z{yzyxxyyyzzzzzy{{zzzyzyxyzzz{z{z{yzyzzyyyz{{zzz{{zyyzyyzxz{z{z{{zzz{zyzyzzzzyz{{zzyzzzzyyyzyyzz{zzzzyyyyyzzzzzzz{zzzyzzzzyyz{{zyzzyyzyyyyzzzyzz{zzzyyyzxyz{|zzzz{yzyzyyyyzzz{zzzzzyyyyyzyz{zyy{y{{yyzzzyzyzzzz{{zyyzzzzzyz{{zz{{{zyzzzyzyzz{zzzz{zxyyyyzzzz{zzz{zzzyzyyzz{z{zz{{z{{zzzyzzy{zzz{{zzzzzyzyyz{{{zz{{{{zzzyz{{z{z{{{{zzyz{zz{z{{{zz{{z{{zzz{zz{z{{z{{{zyzz{{zz|{z{z|z{yyz{z{{z{{z{{|{zz{yzz{{z{{{{{{{{yzz{z{{{{|{{z{{zyz{zy{|{{{{{{{{{y{zzz{{{{{{{|{{y{zy{zz{{zz{|{{|{{zzzy{z{{z{{|z{zyzzzz{xzzzzzz{|yyzyzzzz{{{zz{zzzzzyyyyyzz{zzzz{zyyzyyzyyzzzyz{{z{zyxzzyzyzzzz{zyyzzyxyy{yzz{zzzzzyyyyzxzzz{zzz{zzzxzyzyz{yzz{zyzzy{yyyxzz{zzzyzyzyyyzyzzzz{{zz{zyzyzyzyzzzyyz{z{zzyzyyyzzzz{zz{{zyyyzyzyzz{zz{{zzzyxy{yzzyyz{z{zzyyyzzzyzyyzzzyzzzzzzyyyzzz{z{zzzzyzyyyzz{zzzzzzzz{zzyz{{zzzz{zzyzzyzyy{zzzzzz{zzzzyyyzz{{{{zzzzzzzzzzyzz|{z{{{zyzyzyyzz{zz{{z{yz{zzzz{{{z{z{z{zzzzyzzz{{{{zz|{{z{zzyzyzzzz|{{{{zzzzz{z{{{{z{|{zzzzzzy{{zzz{z{{{z{zz{y{{||{z|z{{y{y{{zzz{z{zz{{zyz{zzzzz{{|z{|{{zz|zz{z{z{{||{|zzzyzzzzz{zz{||{z{zzzz{zz||{{{{{zyzyzyzz{z{{{z{zyz{yyyyyyy{{zz{zyyzyzyyy{{{zz{z{yzyyyzyzzyzz{zzzyzzyzyyyz{yzy{zzzy{yxxyy{{yyyz{{yyzyzyzx{zzzzzzzzzzyyzxyyz{zyz{zyzzzxyyyzyyzzz{{yzyyzzzzyyy{zzzyzyyyyyyzzzzz{zz{zyzyyyzyyzzzzyzzzyzyyyyzyzzyy{z{zyzyzyxzyzy{zzzzyzzzzzyyzzzyzzzzzyyy{yyz{zzzzzz{{yzyyx{zzzyz{{zzxyzyyyyyz{zzz{{{zz{zzyzyy{zzz{z{zzzyyzyyzz{{zyzzzyyzzzyzzzzzz{{z{zz{zzyzz{||z{zzzzzzzzz{{{z{{zz{zzz{xzyyzz{z{z{z{yz{{zzz{{{zz||{zz{zy{zz{{z|{z{{{yzzzzzz{|{|z{{{{{zzzx{zz{{{|{{{zzzzzzzzzz{{{z{{{zz{{zz{z{z|{{{{{{{yzzzz{zzz{|{{zzyyyz{yzz{{{z{zzzzyyyzzz{zz{zz{yzyzyyxxyzzzyz{{yyyyyzxyyzzzz{zzyyyyyyzyyzzzz{{zzy{zyyyyzzzzyzzzzz{xzyyyyyzzyzzzyyyzyyyxzy{yyzyz{zyyzyyyyyyxzzyyyyyyyxyzzxxyzzzzyyyyyyzyyzzzyzzyyyyzzyyzyzyyy{zzyzzxyyxyyzzzyyzzyyyyyxyyzyyzzzz{zzzyyy{zzzyzzzzzyyzyyzyzzzzzzz{{{yyzzzzzz{zzzzzyzyzyzyzzyz{zz{zzzzzyzzzx{{{{z{{zyzz{zzzzyz{zzzz{zyzyyzzyzzzz{zz{zzz{zzzzzzyzzz{zyyzzzzzyz{z{zz{{zzzz{zzzz{zz{z|{zzyzzzzyz{z{|z{{zzyz{z{z{{zz{zz{{zzzzy{y{{zz{{{|yzzz{{zz{|{{{{z{zz{zzzz{z{zzy{|zzzzzyzyzzzzz{{{|zzzzyzzz{{{zz{{zzzzyz{zz{{zzzzz{{zzzzzzzy{{z{{z{zy{yzzyzzy{z{zz{zyyzyzyyy{zyyzzzzyxyzzyyyz{z{{zzzyzyyzyy{{z{yzzyzzyyyyxyyzzzzzz{zyxyyzyyz{z{zzz{yyyzyyxy{zzzz{{zy{zyzyyyzzz{zzzzyzzyyzyy{zyzzyyzzyzxyyyxyzzyyz{zzyyzyyyyz{yzzzzzyyzyyzyxzzy{zyzzyzxzzyyyyzzzy{y{yyzxyyzyzzzzyzzzzzzyzzzyyzz{zz{{{xyyzyyzzzzz{zz{zyyzyyyzzzzzzzy{zzzzzzyyz{zzzzz{zzzyyzz{zzzz{zzyzzzyzzzzzz{zzzzzyyz{zyz{y{yzzz{{{zzxzzzz{{z{{{{{z{zyzz{{{{{zz{z{zzy{z{zzz{{{{z{z{{{zyzzz{|zzz{{{zzzzz{zzzyzz{{{|{z{zzzzzz|{|||{||yzzzzzz{|yz|{{{zzzz{zy{{z{{z{z{zzzz{zzzz|z{{z{{zzzzzzzzyzz{z{{{zzzzzyyzzz{{{{{zzzzyzzyyzz{z{zzzyxyzyyzyyzzzzyz{zzzyzyyxzz{yzzz{zyyyzzyzz{zzz{{zyyzyzzzyz{z{y{zzyzyzxyyz|zz{z{z{zyzy{yyzzzzzyzzzyzyyzyyyzz{xzzy{zzyyyzyyzzzzyzzzyzzyyxzyyyzy{{zz{zyyzzxyzz{z{zz{zzzxyyzyyyzzzy{zxyzzyyyyzzzzyzz{zzyx{yyzyzzzz{z{zyzxzyyyzzzzzz{{yyzyzzzyz{zyyzz{zyzzyyyz{{{zzzz{zzzyzzyyzzz{zzzzzzyzzyy{zzzz|{{{yzzzyzzy{{{{{{zzzzzzyzyz{z{{z{{zzyyzzzzzz{{{{{z{z{z{zy{z{{z{z{|{zzzzzyyyz|zyz{{{zyyzzzzy{{{{{{{z{{{zyz{{{{{{{{{|zzzzyzzy{{y{|}{{{z{zzz{z{z{{{{{{zzyzz{zz{{{{{zz||{z{yzzz{z{{zz|{zzzyzzyz{{z{{}{{{z{{zzzzz{zzzyz{zyyxzyzzzzz{z{zzyzyzzxyyzzzzzzzzyyyyyy{yzzzzzzzzzzyyyzyyy{zz{{zzyzzyzyyzyy{z{zz{z{yyzyyxyzzzz{z{zyyzyyyyyzzzzzyyyzzyyyyyyyzyyzyzzz{yzyyyzzz{yzzzyzzyzyyzyyzzzzzzzyzyyyyzyzzzzzzzzyzzyzyy{zzyzzzzyyyyyyyzyzzy{zyzzzzyzyzyy{yzz{zzzyzz{zzxzy{zzyz{yyyzyyyyzyzzzzzzyzzyyyyzyzz{z{zzzyzyyxzz{zz{{zzy{zzzzyzyzz{yz{zzzzyyyyzzzz{zz{{zzzzzyzyzzz{zz{zz{yyzzzz{z|{{{{{{zz{zyz{zz{zzz{|{zzy{zzzzz{{{{z{zzzzzzz{z{|{{{{z{zzzy{z{{zzz{{z{{{zzzz{zzz|{zz|{{|z{z{z{{z{z|{||{zzz{zzzzzz{{{{z||{zzzzzz{{{{z|{zzz{zyy{{{{z{{{{|yz{zzzzyz{{{{zz{zyzzyyzy{zzz{z{zzzyzzyzzzz{z{z{{zyyyyzzzzzz{z|zy{{yzzzzyzzzz{y{{yxzy{yyzz{zzzz{|yyyxzz{zzyzyz{zzyyyyzyyzzzzzy{{yyzyzzzyyzyzyy{{zzyzzyyzy{zyzzzz{yyyyyyzzzzyzzzzzz{yyyyzzxzzz|{{{zz{yyzyxzzzzzzzzyzzzzxzzy{zzz{{xyzxyyyyyy{yzz{z{yzzyzzzyzzzzz{z{yzzyzxzyzzzz{zzz{zz{yzzzzzzzyz{{yzzyyzzz{{{{z{{{zzzyzy{zzzz{zzzzzyy{z{zz{zzzz{{{{yyzzzzz{zzzz{z{{zyzzzyzzzz{{z{zzz{yzz{z{{zzz{||zzzz{yzzz{{{|zzz{z{{zzzzz}{{{|{{{zz{zzz{{{{z{z{{{zzzy{z{{|{|{{{{|{z{y{zzz{{{|{z{{y{zz{zz{{z{{||{zz{|z{zz{z{|{{{z{z{z{zyzz{z|{{{{zzzz{zy{z{z{{{{{{{zyzyzzz{zzy{{yzzyyyxzyyzyzzzzzzyyyyxyzz{zzz{z{zzzzyyzzzyyz{{{{yyxyzyzyz{yzzz{{zzyyyzzyz{zzzzz{{yyyyzyyzyzyyzzzyyyyyzyyzzzzzzzzyzyyyzzyzyyzz{z{yyyzzxzyzz{zzyzzzyzyzzyzzzzyzzzzyyzzyyzxy{zyy{{zyzzyzxzyzzzxyz{zzyyyyyyyy{zyyzz{zzyzzzzy{zzzzz{{zzzyzzzzy{zzzz{zzyyzzyzyzzzzzz{|zzzzzyzyyz{zzy{{zz{zzyyzy{z{{zz{zzzzzzzzzzzyyz{{zyzxzzyz{{yzzzzzzzzz{yyz{z{zz{{zz{zzz{{zz{{{z{z|zzzzzyzz{zz{|{{{{zzzyzyy{zyzzz{{{zyyzz{zz{z{|{{{{zzzzyzzyz{{{{}{zzzz{zzz{{{|z{{{{y{zzzzz{z{z{z{{{zy{z{zz{z{{{{z{{z{zzzzyzzzz{z{{{zzzzyzyyzz{zz{{zzzzzzyz{z{{zzzzzzyyyzxzxzzzzzz{yzyyxyyyz|z{zy{{zzyyyzyyyzzzzzzzyyyyyyzzzyz{yzzyyzyyyzzxyz{zzzz{zyzxzyyzzz{zyzy{zyyyxyyzzyzyzy{yyzyyyzyyzyxzyzzzzyxzxyzyz{zzzzzzzyyzyyyyzzzyzzzzyzzzxyyyyzzz{z{zzzyyzyzyyzzzyyz{zyzzzyzyyzzzzzzzyzzyyyyyyz{zzzz{zzyzyxyzz{zzzz{zzyzzyyzzzzzzzz{zzzyzxzz{z{zz{z{{zy{zy{zzzz{{z{zzzzyyyyyyz{{{zzzzzzyz{zyzzz{zz{zzzy{{zyyz{z{z{zz{z{zzzzzzz{{{{z{{zy{zzzyzzz{z{{{zzyyzzzz{{z{zz{{|zzz{z{zzz{{zzz{zzyz{zzy{z|{|{{z{{zz{z{zz{{{{z{zzzzyzzzz{z{zzz|{|{zz{zz{z{{{|z{{{zzzyzzzzz{zyzz{zzz{yyy{yyz{{z{zzyzzzyyzzzyzzzzzzyzyyyyyyyzz{yyz{zyyyyzzyzzzzyz{zzzyzzyyyzzzzzzz{yyyxyyyzyy{zzzz{zzyyyyyyzzz{zz{zzzzyyyxyyzyzz{zzyzzyzyzy{yyzzzzyzyzxxyyyyyzzyzzyyyyyzyzyyzzzzy{z{yzyyzyzzzzz{zy{yz{yyz{xz{z{zzzzyyzyzyyzy{yzz{z{yzyzyyyyy{zzz{{{yzzxzyzyzzzzyzz{yy{yyxyyzzzyz{zzzzyzyyyyz{{yz|{{zzyyyyzxzz{{zz{zz{zyzyyyzy{{zz{zzzzyyyyyzzzzzzz{zzzzzzyz{zzzz{{zz{yzzzyy{z{z{{{{zzyzyzy{zz{{zz{{{zyz{zzzz{{{{{|{{yzzzzzz{z{z{{{zzzzzy{{|{z{{z{|{{z{{zy{{z{{{z{{{zz{zzzzzzz{{zz{{{yyzz{{{{z{{|{z{zz{{{zz{{{{{y{{|z{zzzyzy{zz{{{{{{zyzyyyzz{{{{y{{zyzzyyzzzzzz{z{zyzyxyyxxyyyy{zzzyyzyyyyzyzzz{yzzzzyxzzyyzzyyzzzz{yzyzyyxyyz{yzzzzyxxzyzyyz{zzyz{zzyzxyzxzzyyz{{{yyzyyyxyzyzyzzzzyzyxyzyyzzzzyzz{yxzyxyyyzz{zyyzyyyxzzyxyz{{zzzyzzyyzyyxyyzyzzzzzzxxxxyyyyyyyz{yzzzyyzzyxz{yyzzz{yxzzzyyy{z{z{yzzzzyyzyyzyzyz{yzzzzzyzyzyzzz{{zyyyzzyyxyyz{zzyzzzzxzyyyyzzzyzzzz{{zzyyzyzz{zzy{z{zyzzyzzz{{{zzz{{zzz{yzzyzz{z{{{zzzyz{zzyzzzz{|{|zyzzzzzzz{{zzzzz{xzzzyyz|{z{{{{{zzzzy{{zz{z{{{{{{yzzy{zzz|{z{{{{{{{{zy{yz{{z{{zzzyyz{yzz{z{z{{{{{zzy{yzzz{z{{{z{{{yyzzzyz{{{{z|z{yzz{yyyyzz{zz{zzzzyyyyxzzz{zzzyyyyzzyyxyyzyyzzzyyyzzyyyyzzzzzzzyzyyyyzyyy{|y{{zyyzyxxyx{zz{zzzyy{zzy{yyyzzzyzzzzyzyyxyyzzyyy{yzzxyzzyyyzzzyyzzzzyyyxyyyzzyyzzyzyzyzyyyz{yzzyzzyyyzyyzyxyzyzzy{{zyxyyzyxyzzzyy{yzyzyyyxxyyzyzzzyyxyyyyzyzzyyz{yzyyyzzyyzyzzzzzzyzyyzzyyzz{z{z{z{zy{yyzyyyy{zz{z{yyzyyyzzz{zyz{{{zzzz{yyzzyzzzz{zyzyzzzyzzyzzzzzzyzzyzxyyyz{zzzzzzzyzzz{z{zzzzz|{y{zzzzzz{zzz{{z{yyzzzzzzzz{{zzzz{yzzyy{z{{zzz{{{zz{zzzz{z{{{{{zz|zzzyyzzz{zz{{}zzzy{zyz{zz{|{z{{zzyzzyzzzzzz{{{{{zyyzzzzz{{z{z{{zzzyy{zzz{y{{zz{{zyyzyzzzz{zzz{zzzzzzzyyyzzzzzyzzzzzyyyyx{zzyzzzyzyzyzyxzyzzzz{{zzyyyyyyzzzzzy{{zyyyyyyyzz{yyzyz{zyxzyyyzy{zyyzyzyzyyyyyyzzzyz{zzyyyyyxyzzzyyzzzzzyzzyyyzzzyzzzzxyyyyyyyyzyyyz{zyyzyyyyyyz{zzyzyyyzzyyyzzzz{y{zzzyyyyyyyzzyzyz{zzz{y{yyyzzzzzzzzyyzzzzyzxzz{zzzyzzyzzyzzzzyzz{zzzyyzyyyzzzzzz{{zyzzyyzzzzzz{{{zzyzzzzyxyy{y{z{zz{yzzzzzzzy{zzz{zzyzzzyzyz{{zz{{zz{zzzyzz{{zzzzz{zz{zyyzz{zz{z{z{zzz{zz{zz|z{{{{{{zzzzzyz{|{{z{{{{yzzyzzy{{zzzzz{zzzyzz{zz|{{z{|{{yzyzyzz{{{{{{{{{yzzzzzz{{z{{{{{z{zzyzzzz{z{|{{{zz{zzyyzzz{{z{z{{zz{yyzzz{yz{zz{zzzzyyyyyzzzz{zyzzzyyyyyzzz{zzzzyyyzzxzyzzzzz{zzzyzyxyzzyyz{zzzzyzzyyzyzz{yzyzzyyyzyyyyyzzz{zzz{yzyxyxzyz{zyyzzzyzzyyzxyzyzzzzz{yxzzxyzxzyyyy{yzyyyyzyyyyyzyzzzyzzzyxyyyyyzzzzzzyyzxyyyyzzyzz{{zzzzzzyyyyyzzzzy{zzyxyyyyyzzzzzy{zyzyyyyzyzzzz{{zzyzyyyzxzzyyy{zzzyzyzyzyzz{zzzzzyzzyyyzzzz{{{zz{yzyzzyzzzzzzz{zyzyzyyyzzz{{{z{zz{zy{xyyyz{{{yz{zyzyzzzzzzzz{z{|{yy{zyzzy{{zzzz{|zz{zyyzzz{z{zz{zzyzzzyzz{{z{z{{{z{zzz{{z{{{z{{{{{yzz{{yyzz|z{z{{{y{zyzzy{|zz{{zz{zzzyzyzz{{{z{z{{zz{yzyz{zzzz{{{zzzzzzzzz{z{yzz{zyzzyyzz{|zz{zz{yy{yzzyyz{zzyzzyzyyzzyyzzzzyyy{zzzxyyxyy{zzzzzzzzyzxyyzy{zzyzz{zzyzyyyyxz{yyyyzzzzyyyyzzzyzzzz{zzxyzyyzyzz{yy{zzzzyyyzyyy{zyyz{zyyzyyyyyyzyzyzzzzyyzxyyyyyyxzzzz{yzyzyxyyyzyzyzzyzyyyyzzz{z{z{zzyyxyxy{y{zzzzz{zyyyyyzzyzzzyyzz{zyzyyyyyz{zyzz{{zyyxzyzy{zzyyzzz{yzyzxzzzyyzzzy{zzyzyzzzzzz{zzzzyz{yyyzyy{{zzzzzzzzzyyzy{{{zzz{{zzyyyyz{zyy{{zz{zzyy{zyzyz{{{{{zzz{zyzzzz{z{z{{|zzz{yzyyz|{{{z{z{zzzzzzyzzz{zz{{{yyyzzy{z{{{zy{z{zzz{{z{{{{{{{|z{zzyzzy{|{{z{{|{{zyy{yyz{{{z{z{z{z{zzzyy{{z{||zzy{yzyzzzy{z{{{{zz{zyzzzzzzzzz{zz{zzzzyyyzz{{yzzzyyz{yyzyzzzzzzyzyyzzzyzzzzzz{z{{zzyyyzzxzzyzz{z{zxyzzzyxzyzzzz{z{zyyyzzzzz{yz{y{zyzzxyzyy{{zzzz{zzzzzzzy{z{yyzzzyzzyyzzyxyzzz{{zy{yxyyzxz{zzzzzyyzzzzzyyy{zxzyzzzzyyyzzyzzyzz{zzyyyyyyzyzyzyyyzzyyyzx{yzxzz{zzzzzyyy{yyyy{zzzz{zzyyzzyyyz{zzzyz{zyzyyzyy|y{yz{z{zyzzyzzzz{zz{{{zzzzzyyyyy{{{z{z{zzzyzyzzz{z|zz{zzyzzzzzyz{z{{z{zzzzzzz{zz{|{{|{zzz{zzzzz{{z{zyz|zzy{zz{zz{{z{{{|zzzzzy{z{{{zz{{{zz{yyz{zz{z{z{|z{zzzzz{zz{{{{{|{{yzzzzzzz{{{|{{z{yzzzzzzzz||{z{|{zzzzzzzz{{|zz{z{{zxyyz{z{{|{{{zzz{z{zyy{{{{z{|yzyzzzzyz{{z{z{zzyzyy{yzxzz{zzyz{zyyzyyyyzz{zzy{{zxzyyyyyz{y{zzy{zyzzyzyyyzzzyzyyzyyyyyyyzzz{zyz{zyzyyyzyz{zyyzzzzzyzzzyy{{zyyz{yyzyyzzyyzyzzz{z{yzyyxyzzy{zyy{zyzzxyyyyzzz{z{zzzyyzyyxzyzz{zzz{zzyzzzyzzzy{zyyzzyzyyyyyyyzxyzzzzzyyzzzyxzz{zzyz{{zzzzzyxzzzzzzzzzzzzyy|zzzyzzz{{zzyzzyzyz{z{zzz{zyzzyyzzzz{z{{zzzyy{zyzzzz{zzz{yzyzyzzyz{{{{{z{z{{{zzzzz{{y{z{zzzyyzzyzy{z{zz{z|zy{z{yzzz{{z{zz{{y{zz{zz{{{{{{{{zzzzz{zzz{{{{z{{{zzzzzyzz|{z|{z{{zyzz{zz{{{|{{{z{zzzzzz{zzzy{{{{zyy{zzzy|{z{z{{{zzyzzyzzyz{{z{{|z{zzzzzzz{z{{{|zzy{zyyyzyzzzzzzzyyyz{yxxzzzzzzyzyzyxyyyx{yzzzz{{{yzyyzyyzz{z{z{zzyyyyyzyzzzzyz{z{zxyyyyyz{{{zzzzyyyyyzzyzzzzyzzzyzzzyxyyzz{zzzyzzxzyzyyyzyzzzzzyxzzxyzz{zzzzyzyzzzyyyzyyy{z{zzzzzyzyxzzyyyyzzz{zyzyyzyzy{zzzzzz{zyyzyzyyzz{zzzzzyyyzzzyzzzzzzz{{{zzyzzzzy{zzzzzzyzzyzyzz|{{zzzzz{yzyyxzzzzyzzzz{{yzzzyyzy{{{z{zzz{{{yyxy{{{zz{zz{zyzzyyzz{{zy{z{yyzyzzzyz{{{zz{zzyzzzzzz{yzz|{z{{yzzzyzzz{{{{{|{zzzyzzzx{{{z{{{|zzyzzzzzz{{{{{{{{{zzyz{zz|z|{z|{{zzzzy{z{{z{z{{{{zyz{z{z{z{z{{{{zzzzzyzz{{{z{{{{z{{yyzzzyz{z{zzzzzzzzzzyyzyzzz{{zyzyyyzyz{{{zyz{zxyyxyxyyzzy{yz{yyzyyyyzx{zzz{zzzyzyyy{zyyzzyyzyzzzyyyyzzzzzzzy{zyyyzyyx{zyzyzyzyyyzyyyyyzzyyzzz{yzyyyzz{yzzzz{zyy{zyxyyz{z{{zzzzyyzyyzyzyzzy{zyyxyyyzyyzz{yzy{yzyyywyyxzzz{zz{zzyyyzzzyzzyzzzzyzyy{yyyyyyyzyz{{yyzzzzyyyzzzzzz{zyzyzyyyyzz{zz{{zyyzyzzyzz{zz{{{yyyzzzzyzzzzz{{zzzz{zxyxz{{{zzzyzzy{yyyyz{yzz{{zzyzzyyyz{{z{z{{{zyyzzyyy{{{zz{z{zzzyzz{zz{zz{z{zzzzy{yyz{{{z{{{z{yzy{z{zz{{{{{zzzz{yz{{z{{z{{{|{|{{zz{zzz{{{z{{{{zzz{zz{zz{z{{|{{zzzz{zz{zz{{{{|zz{zzyz{{{{{{{{{zz{zzzy{z{{{z|{{zzzzzzzy{{{z{{{zyzzzzzyyzzzz{zzzxzyyzxzyyzzzzzz{zyzzzyyzzy{zzyzzzzzzyzzz{zzy{z{zzyzyzyyyzzzzyy{zzyyzy{yyyzyyzzz{zyzyyzyxyzyxz{{zyzzyyyyyyzzzzyzzyyyyxyyyyyyzyyzzyzyyzxyyyzzzzzzzzyxyzyyyyzzzzz{{{zzzzyyzyzyzyzzzyyxxxyyyyyyzzzyy{zzxyyyxyzzzyzzzzzyzyzzyzz{x{{z{zzyyzyzyyzzz{zzzyzyyywzyzz{zzzz{xyy{yyxyz{zzz{|{{yyzyzzyz{z{z{zzzzyzyzxyzz{z{{|zzyzzyzz{z{yzz{zzzz{yyyy{z{z{{zz{yz{zzyzzz{z{y{{zzzyzzyzyz{{yzzz{{zzzzzyz|{zz{{zz{z{{yzz{{{z{z{{{zzz{y{z{{{z{{{{{|zyzzz{zzz{{|z{{zzzzzzzzz{z|{{z|z{zzzzzzz{z{zz||zzzyzyyyzz{z{{zz|yy{zzyzzz{zzzy{{z{yyzzyzz{z{zzzyzyyzxyxyz{zzzz{yyzyzyyzzzzzzz{z{yyyzzzzzyy{{z{z{x{zyzyzyyz{zzzzyyyxyzzyzyzzzzz|yzzzzyyyyyyzy{{yzyyyzyyxzzzyy{yyyyzyxzzyyyzzzzz{yyxyzxyyzyzyzz{zyzyyyzyyyzyyzzyzyyzzxzyyyzyyzzzzyyyyzyzyzzyyy{z{yyyyxxyyzzzyzzz{yxyzyyyyzzy{zz{zyzyyxyzzzzyyzzz{zyzzzyyyz{z{zzz{yzyzyzyy{y{zzz{zzxzxzzzzyzzzyz{yzyzyzzzzy{zzzz{zyzzz{yyyzz{yzzzzzz{yzyzyzzzz{z{{yzzzzzzyzzz{z{{{zzzzz{zzz{zzz{{{zyzyzyzzz{|{{zz{zzz{zzzyz{{{{{{z{z{zyzzzz|z{{{{z{yzzz{zz{{{z{{zz{yyzzzyz{z{z{z{|{zz{zzxy|{z{z{{{yzzzzzzzz{{{{{{{z{zzzzyyzzzzz{{zyy{yzzzyzyzz{{zyyzyxyyzyzyzzyzzzzyyyzyzzz{zyyz{zzyzyxyyy{zyyzy{zzyzzyyyyy{zzzyz{zzyyxyzxzz{zzzyzyyzyyyzzzzz{zzz{yyzyyxyzyzz{y{{zyyxxyyzxyzzzzzzzyyyyyyyyzzyyz{zzzzyzxxxyz{zzzzzzzyzyyyyzyzyzz{zzyyxyzyyyxzyyzzzzzyzzzyyyxzyz{zz{zyzyyzyyy{{y{z|zzzyyyyzzzzzzzzzzyzzyyyyzzz{zzz{zzzzzyzyyzzzzzz{zzzzyyzzzzyzzz{z{zyyxzzz{{z{zzz{zzyz{zyzzz{zzzz{z{{y{zzyzzzzzzz{{zyzzyzzyzzz{z{{{zzzzzyyy{{z|z{z|zy{zzzzzy{{{z{|{{yyyz{{z{zzy{z{|{zz{zzyzz|{z{{{zzyzzzzzzzzzzz{{zzy{y{z{z{{{{yz{z{zzzzzyzz{{zzzz{zzzyzyyz{zz{z{|z{zzyyzzzz{zzzz{{zy{yzyyyz{zzyzyzzzyyzyzyyyzzzzzzzxzyxyzzzy{zz{z{{yyyyyyy{xzzyzzzyzyzzyyyzzzzzzzzzyxzxyyyzzzzyz{{yyyzxzyyyzzz{zzyyzyyyyyyzyzzzz{zyyyzyyyyx{z{zzyzzyxyyyzyxzzz{yzyyxyzxyxyzzzz{zzyzyyzxzyyzyzzzz{zyyxyyzyyyzzyyzz{yyzyzyxzz{zyyzzzyzyzzzyxyz{zzy{zzyzyyyyzyz{zz{{{yyzzzzxyzzz{zzzzyzyzyyyzzzzzzzz{yzyyzyzzzz{{{|zzzzyyzzyxzz{zzz{zzzzzyyyzy{zy{zy{zzyzzyzzzzzzz{{{yz{zzzzz{{z{{{{zzzyzzyzzzzz{zz{z{yzzzyz{{|{zz{{{zzyzz{{yz{zz{z{{{zzzy{zz{|{{|{{{z{z{z{zzz{z{{{{{zz{zzyzzzzzz{z{|{zzzzzzzzyz{{{{{zz{yzzzz{{{zz{z{zzyzzyzyzz{{zz{zzzzzzyzyzzyzz{zzxyzyyyyyyzzzyzzzyyyzzxzzyyzy{zzz{yyxzy{yz{yzzzzzzyzyyyyzyz{yyyzzyyzyyzyyzzzzy{{zyzzyxxzxyzzzyzyzzyyzyyxyyyzzzzzzzyyxyzyzyyyzzzyzzyyyyyzyyyyyyz{xyzyyyyxzzyyyzyzzyyyyyyyyzyzzzyzyyyyyzyxzxzzyzzyyxzyyzyyyxzzyzzyzzyyyzzyyzyzzyz{zzxxxyzzzzzyz{zzzzyzyyyxzy{zzy{zzzyyzyyyzzyzzyz{z{y{yyyzyzzzyz{{zzzzyyyyyy{{zyz{{{yzzyxyyzzzyy{z{zz{zzz{zzyzz{z{zy{zzy{zzzyzzzyz{yyyyyyz{zz{z{{{{{yzyzzzzz{z{{{{{zz{z{yzyzzzzz{z{yzzzzz{y{{z{z{zzzx{yzz{z{z{zz{zz{{zzyzzzz{z{zz{{zzyyzzyz{zzz{zzzzzzzzzzyz{z{{{{zzz{yyzyyzz{zz{zzzyyyyyyyyzz{zzzyyyyyyyyxz{zzyzyzyyyyyyyy{zzzzzz{zzyyzzzxz{zyzzzyzyyzyyyyz{yzzzz{yzzyzyzxyzzzyzy{yzzyxyyxz{yyz{zyzyzyzzyzyzzzzzzzzxyyzyyyyzyzz{z{zyzyyyzyzz{zzzyzzyzyxxyzyzyzzzzzyxyzxyyyyyzyyz{zyxzyyyzyzyzyzyzzyyyyyzyyyzyyz{{zyyzzyyzxzzzzzzzz{yyzyyyy{z{zzzzzzzyyzyyzzz{zzzz{zzzyyzyzzzyzyz|{yzxzzxzyzyyzz{zzzzzzyyzzz{zzyzzzzyyzyzzzz{zzzzzyzyzzyzxzz{{{{z{zyzzzzzzzzzy{z{{{zzyyyyyyz{{{{{z{zzzyzzzz{|{{z|{{zyyzzzzz{{{z{{{{{zz{zzzyz{z{{{{zzzzzzzzz{z|zz{z{{zzzzz{z{zyz{z{{{z{zzzyzzz||z{zz{z{zz{zzz{y{{z{{zzyzzyzzz{yzzz{zzyzyyyzyzzzzzzy{zzyxyzzyzzzy{zz{zyzyzzyyzyzz{{{z{{yyyzyyzyy{{{{zzyzzyyyyyzzzyzyzyyyyxyzyyzyz{zz{yyzyzzyyzzzyyzzyyzzyyyzyzzzzzz{zzyzyyzzyzzzzzzzzzzyyzyzyz{{zzzzzzzyyyzyzzzzzzzyz{zyyxyyyyzzzzz{zyyyxyyzyzzzyzzzzzzzyyzzzy{yy{zz{zyyyyyyyzzz|yz{zzzzzzyzyy{z{zzz{zzzxzzzyzzzz{{{{yyzzyzzyzz{zz{z{{zzzyyzxzzzzz{zy{zzzzzyzzz{{z{{{{zyz{zzyz{z{zz{z{zyzzyzz{z{{z|zzz{zzzz{yz{{{{{{{{z{{zzz{{{y{z|{{{zz{zzzz{{{{{{{{{yzy{z{{z{zzz{{{{zyzzzyzz|{{{z{{z{zyzyzzz{z{|{{{{zzzy{y{{z{{{|{{z{y{{{z|{{{{{z{zzzzzzzzzz{zz{{{{zzzzz{zz{{{{{z{{{zyzzxzy{z{{zyzyyyyyyyzyyzzzzz{zzyyyyyyyzyz{zzz{zzzyyzyzzzzzyz{{zzyzzyzzzzz{yy{{yyzyxyzyyzzzzz{zzy{wyyzzyzzyzzzzzyzzxzyyzzyyzz{zzzzzyyyxyy{{yzzzyyyyyy{xzyyzyz{yzyxyxyzyzy{zyzzyyyzzyyxzyxzzyy{{zyzyyyzyyzzyyyy{zyyyzyyyy{zzy{z{yyzzyyyzzyyzz{zzzzyyyzyyyz{yzz{{zz{yzyzzzz{{zz{zy{zyzzzyz{{zzzzzyyyzzyyzz{zz{yy{{yyzx{zyzz{{z{{zxyzyzxyyz{{yyz{{{z{zyzzyzz{{{{{{z{{yzzzy{{{{y{{{zzzzy{yyzzz{{{{{yzyzzz{z{{{z{{|{z{zyyzz{{{{z{{zz{{yzz{zzz{{z{z||zzzz{yz{{z|zz{zz{yzzzyzz{zy{zz{{{{z{{z{z{zz{z{{|z{yyzzzz{zzzz{z{zz{zzzzzz{y{{z{z{yzzzzzxzzzz{zzzyyyyzyyzyyzzyzzzyyzyyxyyyyzyzyzzzyyzzzzyzyyyzzzzyyyzyyzyyzzzy{zzzzyyyzzzzzzzzzz{zzyyyyyyyyz{yzzzyyyyyyyyzz{zzzzzyzyyyyyyzzzzzzz{yzyyyzyxzzzzzzzzyzxyyyyyzyzzyyzzyzyyyyyxyzzzzzz{yyyzyyyzyzyxzzzzyyyyzyzyyzzzzyzzzyzxyyyzzzyyzzzzyzyyzyyzzzzzzzzzyxzyzxzyzyzzzzz{zyzzzzxzzzyyzzz{{{zzzzzyzz{zzyz{zzzyyyyyzzzy{z|{{{y{zyyyzzzzzzzz{yyzyyy{z{zzzz{zzzzzzzzz{zz{z{zz{zzyyzzz{z{{z{{{zyyzyzzzz{z{{{z{yzzzyzz{z{z{z{{{{{yyzzzzz|{zzzz{{z{{zy{{{zzzz{z{{yzzzzzz{{{{z{{{{zzzzyzz{{z{{|{{z{xz{zzzy{{z{z{{{zyzz{{yz{{{zz{{zy{yzzzxzz{z{{zzzzyyyyyzzzyyz{zzyzyyyyzxzzzz{{zzzyyyyyyyzzzzyz{zzzzyyzyyzz{{yyzzz{zyyyyz{zzzzzz{yyzyzzzyyzzzzzzy{yzyyyzyy{{yzzzyyyzyyzxzzz{{zzz{zyyyzyyyzz{zzz{zzyzzyyyzzzyzzzzyz{zxxyzyz{zzyzzzzyyzzzyyyzzy{{zzy{zzyzyyy{zzzzzzzzzzyzyyyzzzzz{|zyyzyzyx{{zzzzzzzzyzyz{zzy{zz{{zzzzzzzyyz{z{z{{zzzzzzxzzzzzz{|{zz{zzzzzzzyzz{z|{{yzzyzyzzz{z{zz{zyzz{zzzz{{{{{z{{zzyzzzzz{{zy{z|{zzzzzyy{{{{{z|z{yzyzz{z{{{{{{{zzz{zz{{{z{z{|{{|{zzzzz{{{{{{||{|{{{{{zzz{{{{zz{{{yzz{y{z{z{{{z{{{{zzz{zyz{{||z{{zzzzzzzzz{{{{{}{{zzy{zzz{|zzzzzz{y{yyyyzzz{zzzzzzxzxzzxyyyxzzzzzzyyxyzyxyzzzzy{zzzyyzyyy{zyy{z{zzyyzyzyyyz{zzzz{zyyxxyyyyz{yy{zzyyyyyyzyyzzzzzzyzyyyyzyz{zz{yzzzyyxxyzyyzzyyyzzzzyyyzzyxyzyzyzzzzyyzzxyyyyy{zzzyzzzyyyyzzzzzzz{{zyyzyzyzyzyzzzzyy{zyyyyyyzzzz{zzyyyzzyzyyzy{z{{z{yzyzyyyzzzzyzz{yz{zyyyyzzyz{zz{zzzyyyyyzzyz{{{zyz{yzyyzz{zz{zzzzy{zyzzzyzzzyz{z{yzzzy{z{zyzzzzzzzzzyy{zzz{{{z{zzzzzyz{zz{z{{|z{zzzzzzyzzz{z{z{z{y{yzyy{{{zy{z{zzzzzz{{zz{{{{{{|{zyyzzzzz{{z{{{z{yz{zyzz{{zz{zz{zyzz{zzz{{{z{{{{{{{z{zz{{{z{{{{{zyzzyzzzz{{{{zyz{{yzyzzzz{z{z{z{zzzzzzzyyz{zzyyzyzyyyzzxzzzzyy{yyzzzzyyzyyzz{z{{zzzyzyz{|zzzz{zzzyyzyyyyzzx{zz|zzyyxzyyxzy{yyzzzzyyyzzyyy{yzzz{zzyyyyyyyyyzzyzyyyyzyzzyzyyzzyzz{zxzyyyyzz{yzyzz{yyyyyyyyyyyzzzzzyzzyyyxyyzy{zz{{yyyyzxzzyzy{zyzyyyzyyyzxyzzzyzz{zyyyzzxzzzyzzz{{yzzzyyzyz{zyzzz{zzzzyzyzzyyzz{zzzy{yyxyx{zzyzzzzyyzzzyzyy{z{z|zzzzzyzzyyzzzz{{zzzz{zzyyyzzzzzz{zzzzyzzzy{zzz{{{{yz{zzyzyy{z{z{z{{yyyyzzy{{{{{z{{{zzyzzzyz{{{z{{zyzzzy{zyzzzzzz{{{yzzy{y{z|{{z{||zyzz{yzzzzz{z|{{{yzzyzzzzzz{{{{zzzzzzyzz{{z{zzz{y{yy{yz{zzzz{{{{yyzyzzzyz{zzzzyzzyyyzyyyzz{zzy{xyyzxxyxyy{yyzz{zzyyyxyyzyzyz{{zzzyyyyzzyzzzzy{{zyyzyzywyyyz{yzzzyxzxyyyxyyyzzzzzzxyyyyzyzzyyzzzyzyyyyzxyzyzzyzyzyzzzxyzyyyyzyzzzyzxyyyyyyyzyzzzzxyyyxyxxxzyzzzyzzyyzyyyyzzyzyyzzzyzyyyyyyyzyyyyyyyzyyxyxy{yyzzzyyyyyyyyyzzzzz{zzyyyyzyyyzz{yzz{zzy{yzyyyzy{zyzzzyy{yyyzzzy{{zzyzyyxyzxzyz{zzzzyzyyyzyyyyzz{yzzzzzyzyyyyyzzzzz{z{zyzyyxzzzz{zzz{{zzzzzzyyz{zz{zz{zzzyyzzy{zz{{{{|zyzzzyzy{{z{zz|z{yzy{zyzy{z{{{zz{z{zyz{yz|{z{{zz{z{{zzyzzy{{z{{z{zzzzzzzzzyz{z|zzzyzy{y{z{{z|{{zzyz{zzyyz{zzz{z{zyyyzyyyy{{{z|{zzzzyyyyyzz{zzzzyyyyyyyyy{yzzzz{zyzxzyzyyzyzzzzz{zyyxxzxyzz{{y{yzzzzzyyyxzzzzzyzzzyyyzyzxzyzzz{z{zyyyyyyyy{zzxzzyzyyzyyyyzzzzyyzzzzyyxyxxyzyzzzzyyxzyyyyxyzzyxyzyywyzzyzyyzzzzzz{xyyyyyxyy{yzyz{zyyxxyxyyyyzzzzzzyyyxxyyxxyy{zzzyzyzzyzyyz{zzyz{zzzxyzyyzyzzyzyzzzzyyyzyxyzzzy{yzzzyyxzyyzzzzzz{zxzzyyzzyz|zz|z{zxyyzxyyx{zz{zz{zzzyzzyzyz{zzyzyzyzzzyzzz{{zzzyz{zzyzzyzz{zzzzzz{{yyzzzzy{z|{zzz{zyzz{yz{|{{{{zzzzz{{zzyz{{z{{|{|{zy{{zzz{{{{zzzz{y{zzzz{zzzzz|z|{zz{zyzz{zyzz{z{zzzzzzzzzzz{{{{{z{{zzzyzz{zz{z{zzz{zzzzyz{zzy{zzzzzzyyyzyyzzzzyzyyyzyyxxzzzzzzzzy{zyyyyzyz|{y{zzzzyyyzzyzzyyzzzzyyxyyyyyyzzzyyyzzzzyxxyyy{{zyzzzyzzyyyzyzz{zzzzzyzyyyyyxyzyyz{{zyzzyyyzyzzyzzyzzyyyyxz{zzz{yyz{zzyzyxzxzyzyyzzzzyzzzyyyyy{yzy{z{zzzyyzxyyzzzyzzyyyxyyzyyy{zyyzzzyxyzxzyyzz{zyy{yzyyyzzyyz{zyyzyzzzzzzyyzzzz{zyz{yyyyzzyzz{zzzzzzzyy{zyzyzzzyzzzzyyyzyzyyzy{zzz{zyyxyzyyzzzzzzzz{yzzz{zyzzzz{zz{{zzzxyyzzz{zz{z{{zyzzyxzy{|{zzzz{zzzz{zzzz{zz{z||zzzzy{{zzz{{{{|z{{zzzzzzz{{{{{{|z{zzzzyz{{z{y{{{zyyzzzzzz{{{{z{z{zy{zzzz{zzzz{{{{zzzyyy{y|{{{{{{yyyzyzzyzzz{z{zzz{zzyxzyzzzzz{zzzyyyyyzzyzyzz{{zyzyyxyyyz{zzzzz{zyyxzzyyzzy{zz{zzxyyzyzyzzzzz{{zzzyxyxzxyzzzyzyzxzyyyyyxzzzzzzzzzyzyxyyyzzzzzyzyxyzyyyxyyzzzyyzzyyyyyxyyzzzyzz{zyzyyxxxyzz{y{zzzzzyzxyyyyzyzzzzzzyzxyxzyyzyzyzzzzxyyyzyyy{yzyyzz{yzyzxzy{zzzz{z{zyzyzy{zyzz{{z{zzxz{yyzyzzzzzyyzzzyyyzyzz{zz{{zzzzzzzyyyyzzz{{zyzyzyyyxzzz{{z{{zzzyyzyzyyzzzzz{zzyyzzyzz{{{{{z{zyz{yyyzz{z{{z{z{zzyzyyzy{{zz{z{zzzzyzzyz{{|zz{{{zyzzyzzz{yzz{{{{zzzzzy{zz|z{{{z{zyz{yzzzz{zzz{{{zy{zzzz{zz{|zz{|{zy{zzz{{zzz{{z{yzzzyyzz{zzzz{{z{zzz{yxzzzzzzzzzzyzyxzzy{zzyzzzzyyxyyyyxyzzxyz{{yzzzyyyyzzxzz{{zzyzyyzyyzyzzzz{zzyzzyyzzyzzyyzz{zyyyyyyxzzzzyyyzzyyyyyzzyzyzzzz{yyzyzyyzyzzyyy{yzyzyyyzyyyyyz{{zyyzyyyyyxzzzyzzz{xyzxyxyyzzzzzzzxzzzxzzyzyzyyzzzyyyyyyyyxzzyyzzzzzyxyyyzy{zyyzyzyyzyyxyyzzzzyy{{zzyzyyyzzz{zzz{zyzzyzyyz{zy{z{zzyzyyzzyzyz{z{zz{yzzyzyyyzzzzzzz{{yzzzzzy|{yzzzzz{zzyzzyz{{zzz{{zzzyzyzzzzzyzzz{{zzzyzzyz{z{{{{zzzz{yzzyyzz{z{z{z{yyyzzzzz{z|{z|zzyzzzz{zzzzz{{{{zzz{yzyzy|z{{{{{{yzzzzyz{{z{z{{zzzzyyzz{zzz{z{{|{zzzyzzzzzz{zzz{zzzyz{zyz{zzz{z{{z{zyzyyyz{{z{{zzyzyyzzyy|zzyz{zzxzyzy{yzzzzxyzzyyyzzyyyyzzzzzz{zyyyyzzyzyzz{yyz{yyyyxyyzyzzy{z{zzzyxxzyzzyzz{{zyyyyyyzxyzzzzzzyyyzyyyzyzzzyzzzzzyyyyyyyzzzyzzzzxyyzzyzyyy{{{yzzyxzxyyyzzz{zzyyzzzzyyyxyzzyyzyz{zyyyzyzyzyzzz{yzzzyyyyyzyzy{{zz{zyyzzyzzzzz{zzzyzzzyzyzy{zzyzzzzyyzyzyyyyzzzz{{{z{zzyzzzyzyzzzzz{yzyyyyzzzzzz{yyzy{z{zzy{{{yz|{zyzzzzyzzyzz{yzz{zyyzzz{zy{{zz{{{zzzzzz{zzz{zz|{zzz{{{yzz{{zz{{{{zyzy{zzz{{{zzz|{zzzzzzzzz{zzz|{{{{{zx{z{z|{zz{{{yzzzzzz{{z{z{{{{{zzzzzyzz{y{{{{{zzzzzyyz{{|zz{{{{zzzzzzzz{{z{{z{{zyzzzzy{{z{z{zzyyyzzyyyz{zzz{zzyzzzyyyyyz{{y{z{yzzyyyzyyzy{z{zzzzzxyyyy{zyzzz{zyyzyzzyyxzzzzzzzzzyyxzyxzz{zzzzzyyyyxyzyzzyyzy{zyyyzxyyxy{zzyzyyyyzyyyxyyzzyyzzzzyzyzyyxzyzzzyzzzyyzyyy{zzzzz{zzyyyyxyyxyzzzyyyzyzyzyyyxzzyzzzzzyzyzyyyy{zyzy{zyzyyzyzyyzyyzyz{zzyyyyxzyzzzzzz{zyyzyxzzzzzz{zzzzyyyzyzzzy{{z{zzzzzyyyyzyz{{z{zzzzzyyyzyzyz{zzzzz{xzzyzzyz{zyzzzzzzzzyzyzy{{{{z{zzyzyzzzzz{z{{z{zzzzzzzzyz{{zzz{{zzzz{z{{{{{zzz{zzzzyzz{z{{z{z{z{{yy{zzzyy{{{{{z{{zzzz|zy{{{{zzz|zyyzzzzzz{{{{{|{z{z{zzyz{{zz{|{{{zzyyzzyzyzzz{|zzzzyzzyyyz{zyzz|zzzyyyzyzz{yyzyzzyzyyxzy{zzzzzz{yzyyyyzyyzyzz{zzzzxzyzyyzyzzyzyzzzyzzyyxzzzyzzyzyzzyzzyyyzzzzzzzzyyyyyzyyzzyzz{zzxzyzxxyyzzyyzzyzyzyyzzyzzzzxyz{yyzyzyzyzzyyyzzyzyyzzzyyzyzyzzzyyyyyyzyyyzzzzz{zzzyyzyzyxzzzyzzzyzyyyzyyy{zzy{zzzxz{z{zyyzz{zz{{zyzyyzzzz{{{zz{{zyzzyzzzzyz{z{zz{zzyyyyz{zyzyzzzzzzyzyzxzzzzz{z{yyzzyzyzzzz{z{{z{{zyzyzzzz{zzz{zyz{zzyzzzz{{{zz{zyzzzz{{zzz{z{{|zzyyzzz{z{{{{zz{zyzzz{z{{zz{{z|{zz{{z{zzyzzzz{|{{zzz{{{zz|{{{{{|{zzzzyy{{z{{{{zzzzzzzz{{z{z{{{z{{yzz{zzz{{{{{{{{{{zyzyzyzz{{z{{{z{zyyzzzz{{{zz{zzyzzzyzzz{{zy{zyyyxyxzyy{yzyyzzzzzzzyyyzzzzy{zz{zyyxyzyyzzzzyzzzzyzyyyyzzzzzzzzzzzyyyyyyyzy{{z{zyyxyyyxyyzzyyzzyyyyzxzyzyzzzyzzzzyyyyxyyyy{zzzzzzyyzyyyyyzzyzz{zyyzxyzxyzyzz{zzyyxzyyyyyyyy{yzzzzzzyzyxyyzzyyzzzzyyyyxyyzzzzz{yzyyzyyzxyzzyzzz{zzzzyyyyyyzzyy{zzyyzyyxxzzyzz{z{{xyzyyyyxzzzzzzzyyzzyzyyyyy{z{{zz{yxyyyzzzzyz{y{zzyzxyyzz{zzzyzzzzyz{yzzzzz{{z{{{zyz{zyzyzz{z{z{|zyyyyyzzzz|z{{z{zyzzzy{z{{{{z{{{zz{zzzzzzzzz{{z{|zzzzzzyzzzz{{z{zzzzzzyzzz{{yz{zzzzyzzyzz{zyzz{{zyyzzzyz{zzzz{{|{{zyz{zzzz{z{{{{{zzyzyzzz{zzzz|yzyyyyyzyzzzyzz{{zyyzyzyyzz|y{zzzyyyzyyyxz{zzzzz{yzyyzyyzzzy{zz{yzzzzyyzyz{yzzzzyzyyyxyyyzyzzz{{zyzyyyzyxyzzyzz{zyzzyyyyzzz{yyzzzyzyxzyyyzzy{y{z{yyxyyyyyzzyz{z{zyyyyxyxzy{z{z{zzzzzyxzyyzy{yzz{{zzzyzyyxxyzyyzyy{yyyyyyyyyzy{{{zzy{zxyyz{zz{yy{yyyzzyzzyzzzy{zz{zyzzyzzyzyzzzzzzzzzzyzxyzzyzzz{{zzzzyzzzy{|{z{z{yyzyyyyzzzzz{y{{zyz|zzzzz{zzzzz{yyzyzyzyz{zz{zzzyyyzzz{{{zz{{{{{zzzzyzyz{{{{{{{zzz{zzyzz{{zzz{z{zzz{yzzzyz{{{{{{{z{{z{{zz{z{{{{{{yy{yzy{|z{z{{{{{yy{zyzz{{{z{{{{|zzz{zy{{z|{{z{z{yyyyyzzzzz{z{{z{zyyzzzyzzz{zzyzy{yyzzyz{zzy{zyzyzyzyyyyzzyzzx{zyyzyyxzyyzzyyy{z{yxxyzzyzzzyzyz{yzyy{zzy{zz{zzzyyzyyyzxyyzzzyzzzy{yxzyyzyzyyzz{yzyxyyyyyzyz{y{zzyyyxyzyzzzzzzyyzyyyyyxyzyzyyzyzyzzyyyyxzzyzyyzzzyzyzyyyyzzzzyzz{zxyyyyyxyyyzz{zyyyxyxxyyyzyzzzz{yyzyyyyyzyzzyzzyzyyyxxyyyzzz{zzzyyzyzyzzzzzyzzzzyyzyxzzzzyzzz{zzzzyzzzyyzzzzzzyyzyzyyyyyz{{{z{zzzyyzzyxzzzzyzz{yzyzyzyyzz{{z{{{zy{yzyyyyzzzz{{zzzyyzz{yyz{zzzz{{{yz{zzzyz{z{{{{{zzzyzzzzz{{z{z{zzyzzyzzz{zzz|{zzzzzzyzzzz{z{zz{{{zyyyzyyzz{z{z{{z{zzz{y{{{{z{z{zzzzzz{zzz{{{{zzzzzzzyyyyzzy{z{yyzzyyyxzyzzzzz{zyzxyyxyxyyzzzzzzzzyxyyyyyzyzyyyzzzyyzyyyyzyzzxzyzzyyxxyzyzyzyyy{zyzzxyyyxyzzzyzz{yyyyxyyyyyzyyzzyyyxyxyxxy{zzxzyyyyyyzyyxyyyzzyz{yyyyyxyyzyzzyzzyyyyyyyxyzzzyyzy{yyzyxyyyyyyyyy{zyyyyyyzxyyyyyzyxzyyzyyyyz{yzyzzzzyyxyzzxzyzzyz{yyyyyyyyyyzzyyzzzxyzzyyzyyyz{yzz{zzyyyyxyzzzyzyzyzyzyyzyxz{zzzzyyzyyyyzyyyz{zyzzzyxzyzyyyz{yzz{zzzzzzyzyzzzzzz{z{yzyyyyzyzzyz{zz{zyyyzyzzzzzz{{{zzyzyyzyyzzzzzz{{{{zyz{zyzz{z|{zz{zyzzzyyzz{zzzz{zzzyyyzzz{zz{{z{zyzzz{zz{zzzyz{zyyzyzzyzzzz{z{{zzzyyyz{z{zzyzz{{{zzzyyzyzz{{zzzz{zzyyyxzzzzzyzzyyyxy{yyxyzzyzzzyyyyyyyxzzyxzzz{{yyyyyzyy{zz{yzzzyzzyyyxyyyzzyz{yzzzyyyyyzyzyzzzzzyzzyxxyzyzyy{zzzxxyzyyzzyyyyzzyzyyyxzyyyyzzyzyzxyyxyyyxyzzzzzzyyyzyyyyyyzzzzzyzyyyyxyyxyzz{zyyyzxxzyxyyzyyyyyyyzyyxzyyyyzyyyzz{yyyyyzyyyzzzzzzzzyyyzyyyyzyzzz{zyyzzyxyzzzzz{zzzyyyyyyzyzzzzyy{{yyzyyxzyzzyzz{{{zyzyyzyzzz{zzz{zzyyyyzzyyyzzzz{zyzyyzzzzzzz{zzzzyzzyyzyy{zy{{z{z{zzzzzyyzz{zyz{yzyyzzyyzz{z{zz{z{yzzz{zzyy{zzz{{{yzzyyzzy{|zzzz{yy{zzy{y{zz{{zy{zzzzzyyzyzyz{y{{zzzxzzyyzzzzz{{zzzyzzzzz{zy{zzzz{{zyyyzyzz{yzz{zzzyzzyzyyzz{zyzzzyxyzzyxyzzzzzz{zzyyyxyyyyyzz{zzyzyyzzyyzzyz{z|{zyzyzyyzzzzzzyy{z{zyyyyxzzzzyzyzzxzyyyyyzzzzxzzzzyyzyyxyzyzyx{zzyyzyzzxyzyzxzzyzyzyzyyyx{zzyzyz{yyxyxxyyyzzzzzz{zy{yxyyyyzz{z{{zxyyyyyzxzyyxzzzzyyyyyyxxyyy{{zz{zxzyzzzxzzz{zzzzzy{yyxzzyzzy{zzzyzzzyyzy{yzyzzz{zyyzyyyxzyyzzz{zyxyyyyyyx{zzz{zzyyzyzyyyyz{zzz{zzyyzyyzyyz{zz{zzzzyyyyzzz{{z{{{{zzzzyx{yzzzzyzzzzzzzzzzyzz{{|{zz{zzzzyzyzz{z{{{{zz{zyzyzy{z{{{z{{zzzyyzz{|{{{{{z{z{{yzyz{zz{{z{z{zyzy{zyz{z{zz{{zyzzzzyz{zz{{{{zzzy{yzzz{{z{z{{zzzz{yzzy{{zzzzz{yzzyzyyzyzzzzzyzyzyzyzyyyyzyyzzzzzyyzyyyzzz{zz{z{zyzzzyxyzzzyyz{yxyzzyzxzxzzzyzyyyxyyyyzzzzzzzzzzyzyyz{zyzyzyyyzzzyyzyyyyzzzzyz{zyyyyyyyyzzzyy{zzyxxzyzyyzyyzzyzzyyzyxyxyzyyzzzzzyyyyxzzyz{yzz{zyxzyyyxyzzyyzyzyyzzyzyyzxyyzyzzzzyzzyzzyyz{{zz{{yyzzyyzzyzyzz{yzyzyyyxzyyzzzzyzzyyzyxyzyxzyyzzzzzzyzzzyyzzzzyzzzyxyyyzyyzz{zz{yzzzyyyzzyzzzzzzyyzyyz{zzz{{{{z{{{yz{zzzzz{{{{z{zzzzz{zzzyzz{zz{zy{yzzzzzzzz{zz{{{{zzxyzzzyz{zz{z{zyz{zzzzzzzz{z{|{yzzzyyyyzzzz{|{{z{z{zzzzz{zzz{{zzzyzzzz{{zzz{{zz|yyyzzzzzz{{zz{zzyyzyyyz{z{zz{zzxyyzyyzzzz{{z{yyyyxyxxyyzzzz{zzzzyyzyzyyzzzzzzzyyyyyxzyyzzyzzzzzzyzzyyyzy{zyy{zzzyyyxyxzzzyzyz{yyyyxyyyzzyyzz{yzyzzxyyyyyz{zzyxzyzzxzyyyzzzz{yzyyxyyxyyzyzzzyyzyyyyxzyxx{yzyzzzyyzyyzyzyzzyzyzyzyyyyzyxxyyzzzzyyxyyzyyzyzyyzz{zzyyyyzzyzz{zzzzyzzyxzyyzzzzy{zzzyyyyyxyyyz{zz{z{zyzyyyzyy{yzzzzzyyz{zyzyyzzzzyz{zyzyyyyzz{zyzyzzzyzz{zyyy{{zyzzyzzyyzzyzz{{z{{{{zzzzyyzyzzzzzz{zyxzzzyzzzyzzzzz{zzyyyzzzy{{z{{{{zz{zzzz{zzz{z{{zz{yzy{{zz{{{{zz{zyzzz{zzzzz{z{{zzzyzzzzz{{z{{{|{{zzzzz{zz{z{z{{{zzzy{zzy{{{z{{{{|yz{xyxyyzzzyz{zzzzzzzzyz{zzzzyzzxyxyyyyyzzyzzyyzyzyyxyyzzyzz{yzyyyyyyzyyyz{yzz{zzxyyyyyyzzzzyzyzy{zyyyyzzzyzzy{yzzyxyzzyzyyy{yzyyyyyyyyyyzzzzzyyyyyyyyyzyyzzzzzyyyyxyyyyxyyyzzyyxyzxyyyzzzyzzz{yzzyxzxyyzzzyy{zzyyxyyzxyzy{zzzzzzyyyyyyzzxzzy{{yyyyyzyyzz{z{yzzzxyyyyyyzzyzzz{{zzyyyxzzzyz{zz{zy{zzyzyyzzzzzzzz{zyxzzyyz{{z{z{|yyzzyzzy{z{z{z{zzyzyyyzzz{zzzzzzyzzyzzzzzzz{{yzzyz{zyzzzz{zzz{{{zyzzyyyyz{{zz{{zzz{zzzzzzz{z{z{zzyzy{zzzz{z{{||zz{yzyzyyz{{zzz{{zz{zzyzz{zzzz{{{zyzzzyzz{z{{{z{|z{yz{zy{{{{{z{{{|yzzzyyyzzzz{{{zzzyzzyyyz{zzzzzzyzzzyyzxzzzy{zzyzyyyzyyzyz{{yzzzzyzyyyzyz{zyzzy{zzzyyy{yzyz{zyz{yyzxzzyzzz{zzz{{yzzxyyyyzzyzyzzzxyzyyzzyyzzyz{z{yyyyyzzyyzzzy{zzzyzxyyyyzyyyzzzzyyzyzyyxyzzzzzzyzyyyzzyyzzyzzz{yzyzyyyyzzzzzzz{zzzzxyyzyyzzzzzzyzzyz{yyzzzzyy{{{zzzzyyyy{zz{z{{zz{yzzzyzyzzzzzzzzyzyyyzyy{{{y{{zzyyzzz{yyzzzzz{z{yzyzxzzyzyzzzz{{y{zyyyzzzzzyzzzzyzzzzyyzzyz|zzzzzy{zyz{{zz{z|{{y{zz{yzz{{z{z{zzzyyzz{yyzz{{{{{{{yzzyzzyz{{|{{{{zyz{zz{zz{{z|{z{{z{zy|zz{z{{{{{{z{z{zyy{{{z{z{{{zyz{zzy{zzzz{{{{{{y{zz{{z{z{{{zzzyzyzzzzz{z{z{{{zzy{zyzyz{z{{zzzzz{yyyzzzzyyzzzzzyyyyyxxyzzzxzzzyyyyyyyxzz{yzzz{zzxyyxyy{yzyzzzzyyyzyxyyzz{zyzzzyyyyxyyzzyyzzzyzyyzxyyxxzzyyzzyyxyzyyyxyyzyyyzzyzyzyzzyyzzyzyzy{yyyyxyyyyyyyzzzyyyxyyyyxyyzyzyyyyyzyyzxzyzzzyzyzyyyxyyyyyyzyzzzyyyxzyzyyyzyzyzzzyyzyyyxxzyyyyz{yzyyyzyyxzz{zy{zzyyzyzyyz{z{zxzyzyyzxxzzyyzzzzzzzzzyyyyyzzzzzyzzzzz{yyyzyz{zzzzzzyyzzyyyzyzyzzzzzyzzzzzzz{yzzzzzzyyyyzyzyzyzz{z{|zzzzyyyzzzz{zz{{zzy{zzzyzz{zzz{{zz{y{zzzz{z{z{z{{yzzyzzzz{zzz{{{{zz{zzzyz{{{zzz{zyyzyzy{zzzzz{{zzzyzzzyzz{z{{z{{zzzyzyzyzzzzzzyzyyyzzz{zzzz{yzzzzzzyyyyzyzzyz{zzyxxxzywzxzzzzzzzxzxyyyyyzyzyzzzyyyzyzyyxzzyz{yzzzyyyxxyyyzz{yy{zyzyyyyyyyzzzyzzzyzyzyyxxzyyxyzzyyyzyyxxyyyzxyyyzyyyyyyyxzyyyzyyzyyxxyyyxzzzzyzzzzyzyxyyyzyy{zzzyyyzyyyyxyyyzzzyzyzywyyyyxzzzyzzzyyyyzyyxyyzyyz{zzyzyyyyyxzz{zzzzyyyyzyxy{yzyxzzzyyyyzyzxyzzzzyzzyyyyxyyzzzzz{zz{yzzzzzyzy{zzzzyzyyyxzyyyz{z{zzzzzzyyyzyzzyzzzyz{yy{yzyyzzzz|zz{zyzyzzzzz{zz{z{{{zyzyzyyzzzzzzz{|zzzzzzzzz{{{z{|{zzyzyzz{zz{zzzzz{{zyyzzyz{{z{{{z{zz{yz{zyz{{zzz{{zz{zzzyzzzzz{|{{xyzzyzzzzzz{zz{zyzy{zzyyzz{zy{zzzyzzzzyxzzzzz{yzyzxzyyy{yzzzzzzzyyzyzzyzy{zz{zzxyxyyyyyyy{zz{zzyyzxzyyyyzzzy{zz{zz{yzzyyzzzzz{{zyyyyyyxyyzzyzzzyyxyyyzyyzzyyzyzzyyyyyyzyyzzzzzzzzyyyxyyyyz{zyz{zyzzyyyyzzz{zzzzyyxxyxyyzzyzyzyzyzzyyzyyyzzzyzz{zyzzyxyxyyyzzzzzzzxyyyzyyzyyz{zzyyyyyzzxzz{{zzz{zzyyzyyyzz{yz{zzzzzxyyyyyzzzy{{zyzzyyzzz{zzzzy{zyyzxyxyyzzzz{{{zzzzzyyxz{{zzzz{zyzzzzzyy{{{z{{{zzzzz{zzyzzzzz{{zyzzyzyz{{{z{zz{{zzzyzzzy{z{{{zzzzyyzzz{yz{{z{z{{zz{yzz{zzzz{z{|{zyy{zzzzz{{{{{{{zz{yzz{yz{zzz{{{zz{zzy{{{yzzz{{{{yzz|{z{{{z{{{zzyyzyzzzzzz{z{{{{zzyzzzyzz|zz{{{zzz{xyyyyzzzyzyzzyzyyzzxxyzz{yyzzyzxzxxyzyzzyzyzz{xyyyyyzzzzzyy{zzyyyyyyzyzzzzzzzzyzxyzyyyz{yzyz{yzxyzyyx{yyyzzzzyzyyzzyyyyzzyyzyzzyyyxxyyyyyyzzzyxxxyzxyyzyzz{zzzyxyyyxyyyzyzyzz{yyxxyyyyyzzzyzzyyy{zyyyyz{yz{yzxyyzxyyxzxyzyzzzyzzzzzyyzyy{y{yzzyyyyyyzy{zzzzz{yyzzzzzzzyzzzzzzyy{yzyxyzz{z{{zzyxz{zyyzyyzy{zzzzxyyzyyyyzzzz{{zzyxzzzyzzzz{zz{yzzzzzyzyzzz{zzz{z{zyzzyy{yy{zz{{zzyzzzyy{zz{{y{zzyzzzzyy{zzzz{{zzzzzyzzz{zz{{z{{{yzzzzyzz{{z{z|yzzz{yyzz|zzzz{zz{yzzyzzzzzzzzz{{{{yzzyy{z{{|z{{zz{zzzzyzy{{zz|{{zyzzzzzzz{zzy{{zzzzyyyxzzzzzzzzyxyzyyyyyxyzzzyyzyzxzyyyyzzzz{zz{zyyyyyyzzyyyzzzzyzzyzyzyyzzyyzzzzzyxyyyxyyyzzzyzxyyxyyxxyzzyzyzyzyyyxyyyzzzyzzzzzyyyyyyyyzzyzzzyxxxwyyyxzyzyxyzzyxyyxyyyyzzyzzyzxzyyxxxyzzyyyzyyzyyyxxzxyxzzxzyyyyyyyyyyyzyzzyyyzyzyzyyyyyzz{zzzzzyyzxyyyzyzzyz{yyyyyyyzyzzz{zz{yzzyyyxzzz{yzzzzyyzyzyyyzzyzz{zzzyzyxyyy{zyyzzzyzyyxzyyyz{zz{zy{zzz{zzyyzyz{zzzzyzyyzzzyz{z{z{z{zyyz{yyyzzzzzzzzzyyyzzzyzzzz{{zzzzzzyyzyy{{{{{{z{yzyyzyyz{{zyzz{zyzzz{yzzzz{{{zz{zyxzyyz{{{zz{{{zzzyyyyyzzz{{{{{zzzzzyzyyzz{zzzy{zyyzyyzyz{yz{z{yxyyzyyyzzzyyzy{yyyxzyyyzyzyzyzyyzyyyxzxyzz{yz{z{yyyzyxyzyyyy{z{yxzyyyyyzzzzyzy{zyyyxyzyy{zzyzyzyyyyxyyyyzyyxzzyyxxyzzyxzzyyyyzzyyzxyyxyyyzyzzyzxxyyyyyyyyzyzzzxzyzyyyxzzzyyzzzzzyyzxyxyzyzzzy{zyyyyyyzxyyyzzy{yyyzyyyyyyyyyzzzzxyzzyzxxzzzzy{z{zyyyzxyzyy{yzzzzzyzyyzyyzzyzzzzzyyyyyyzz{zzzzz{{{yyxyzzyzzyzzzzzyyzxyzzzzzz{z{{zzzyyzyyzzzzzzzzz{zzzyzzz{zzzzyy{zyz{z{z{{zz{z{{zzyyzzyyzz{{z{{z{{yyzyzzzz{zy{{{{zyyzzyzzzz{z|{{{zyzzzy{yz{z|{z{z{z{yzyyyyzzz{zzz{yyxzzzzyzzz{|{{{zzzzzzz{zz{z{{{zzzzzzzzz{zz{{z{zzyzzzyzz{{zz{|{yyzyyyyzzzzz{yyzzyyyzyyxyzz{zzyzzyzyyyyyzzyzz{zz{yzxzzyyzz{z{z{{yxzyyyyyzzyzzzz{zzyyyyyyzzz{zzyzzyyyyzyyzzzyzz{zzyyyyyzzzzzzz{yzyyyxzzzzyzz{zzzzyxzxyyyyyyzzzz{zzyyyyyyzyyz{zz{{zzyyyzyyz{{{zyzzzzyyyzzzyzz{zzz{zzzyyxzyyzyzy{yzyyyzyyyyzyzzzz{{y{zyyyzx{{zzy{z{{zyzzzyzz{{zz{z{zzzzyyyyyzyzzzzzzyyzzzyzyzyzz{zzzyyyzzyyzzzzzz{zzzyzyzyz{zzzzz{zyz{zzzyyz{{{z{{{zxzzzz{y{zz{{zz|{zzzzyyz{{{{z{zzzz{yzyzy{|{z{{{z{zzzz{zyzzz{{|{{{z{zzzzyz{{{{{{{{zzzyz{zz{{{{z{z{zzyzzyy{{zz{{{|{{z{zz{{{z{{z{{|zyyyzyzzz{{{{{{{{{{zyyyzz{{{yz{zzyzyzyzzzyzzyzzyzyzyyzyyyzyyzzzzzyyzzyyyzzzzzzy{zzyyyzyzyyzyyz{zyzyzyyy{zzzzzyyzyzyyyzyxzzz{{zzzzxzyyyyzzyzyyyzzyxyyzyyyzzzzyzzzyyzyyyyzyzyyzzz{zyzyyxyyxzz{zzzyzyzyzzyyzzzyzyzzyzzyyzxzyzzy{yzzzz{yyxyyyzzzzzyy{yyyxyyyyzzyz{z{zz{zzxyyzzzzy{{zyyyzyxzyzz{{yzzyyyyzzyzzzzyy{zzzyzzz{zzzzz{{yz{zyzyzyyzzzz{{z{z{yzzyzzyzzzzz{z{z{zzzyyzz{z{zz|{zzzzzzzz{z{{z{{{zzzzy{zzyzzz{z{{|zzy{yyyy{{{{zz{{{zzzz{zz||{z{{{zzz{z{zz{{z{{z{{z{{zyzzzz{{{{{zz{{y{y{yzz{{zz|{zz{z{zzzzzzzzz{{{|zzyzzzyz{{{{|z{{{zyzzzzz{zz{y|zz{zyzzzyyzzz{{z{{zzyyyzzyzzz{zzyzxyxy{xzyyzzyzz{zzzyyyxyzyyzzzzz{zyyxzyxyyzzzzzzzyyzzyxyzz{zzzy{zyyyyzyyx{yyzzzyzzyyzyyyxzyzyzyzzzyyzyyyyyzz{yzz{zyyyyyxyyzyzzz{zzxxyyyyyzzzzyzzyzyyyyyxzyyzzzzzyzyyzxyxyyzzzyz{{{yyxyxyzzyyyyzzzzxzxzzyyzyzyzzzyzyzyyyyyzyzzzzz{zzzyxyzzzzzzyzz{xyzzyyyyzy{{{zzyzzzzyyyzzz{{z{yzyyyyzyzyz{zz{zz{zyzxyzyyz{zzzy{{zyyzzyzz{zzzyzyzzzzzz{yz{{z{{|zzyzzzyzyz|yz{z{{{zzyzyzzyz{z{{z|zzyzzzzzy{{zz{{{{{{yyzz{yz{zzzzz|{zzzzzzzz{z{{{|{zzzzyzzzz{{{z{{{zzzz{zzy{zz{|{{{|{yzzyz{{zz{{{{zzzzyyzzzz{{|zz{zz{yyyzzy{zzz{z{{zzzzzyzzyyzy{yzzyyyyzyyyz{z{zzyzyzyyxxyxzzzyz{z{zyyxx{yzzzzzzzzzzyyzyyyzyzzzyyzzzzyxxzzxyzz{y{zzyyzyzzyyzyyzzyzyxyzzyyyy|zyzyzzzyxyyxzyyyzyyy{yzyxyxyyyyzzzzyyzzzyyyyyxyyzzzzzyzyyyyyyyyyz{yzzzyyzzzzyyyzyzy{yyzzzyyzyyyy{yzz{zyzyyzxzyyzzzzzzzzyzzyzyzyz{zzzzz{zzzzyxyzzzzzyzzzyyzyyyyy{zzyzzzzzzyzyyyzzyzz{{{zyyyyyyxzzzzzzzzzzyzzzzyzzzzzz{{yzyzzyzyzz{z{{z{zzzzzzz{z{{{|zz{{zyzzyyzyz{{z{z{zyyyzzyzzzzzz{{z{zzzyzzzz{z{z{{zzzyyzzzyzz{zzz{{{zzzzyyyz{{zz{{zz{zzyyzzzzzz{z{{|{zzy{z{z{{y{z{{zzzzyzzy{zyzzzz|{{zyzyzzyz{{{z{zzzy{zzyzxzz{{{zzzzyxzyyyyzzzyzyyzzyyzxxxyyzzzzzzzyyyyyzzyzzz{{zzzzzyzyzzzzzzzz{{yyzyxyzyyzzzzy{zzyyyyyzyyyz{zzzzyzyzyyyzyzzzyyzz{zxyzxyxyzzzz{zyyzzyzyxyyyzzzyy{zyyyzzyxyyzzy{z{zzyzyx{yyyzzzzzzzyzzyzyyyyzyzzz{zzyyyzyzyyzz{zzzzzzzzyyyxzzzyzyz{{zyyzyzyz{zzz{{{zyzzzzzzzzzyyzz{yyzzzzy{zzzzzz{zzyzzyyzyzzzy{z|{zyyyyyzzz{zzzzz{zyyzyyyxyzzzyzzzzz{zzyz{zzzz{{zzzzzyz{zzzzz{{z{{zzzzyxyyz{{{z{{z{zzzzzzz{{{zz{z|zzy{zzzzzzz{{{{{{zzz{{zzz{z{{{|z{zzzyyzz|z{{z{{{{zzzzzyy|z{{z{{{zzy{zzzy{zz{{{{zzzzzyyz{z{y{z{{{{{zzzz{yz{{{zz{{yy{zzyyz{{zzzyyzyzyxyxzyzyzzyzyzzyyyyxyyzzzy{{z{{zyyzyzxzyzzzzzzzyyzyyyyzz{zzyzzzzzyyyyyyzyzzzzyzyyyyyzzyzzyyzzyxyyyz{yyzzzyyyz{zzyzyzzyzyzzyzz{yyxyyxyyyzzzyzzzyyyyyyyyzyzzzzzzyzywxzxxyzy{{zzzzyyyyxzyyzzzzzy{zzyyyzyyzzyzzzz{yyzyyz{zyzzzzy{{yyzyzyzzyzzyzz{{yyyyyyyzyy{zzzy{zyz{yzzzy{zzyzzz{zyyzyyzzzzzyz{zyzzzyxzyyyzzzz{zzzyzzzzzzzzyzzzzyyzyyzzyzz{{{z{zyzzzzyzz{{z{z{{{zzyzzyyzzz{z{zzzzzzzyyzy{{zzz|{{zzyyz{{{z|{{{|{|zzyz{{zz{{{{{{{{{zz{yzzyzzzz{{zz{yyyyy{y{|zz{z|{{{y{zzzz{{{{z{{{yyxz{zzyz{zz{z|{zyzyzyzzzzz{zz{zzyyyyyzyy{zzz{yxyyyyyxyyyzzzyzzzyzzzyxyzyzyzzzzzyzyyzyyyzzz{zzzzyyzyyxyzy{zyzyzzzxyxyyyyy{zzzzy{yy{yyzzyyzzzzyyyyyyyxzxxzzzyz{zyzyyyyzyxzzz{zyzyyzyyzyyxzyzzzyzyzyxzyzyyyyyyzzzzzyyyxyyzyyzzyz{zzyzyyyzyyzyyz{zzzzxyyyyyxyzzzz{zyyzyzzyyyzzyyzyzzxyyzyzzyz{zyzzzzzzzzxzzzyyzz{z{zyyzyzzyzyzzz{zzyzyyyzyzzzz{yzzzzyzzyyxzzz{zzz{zzzyzxzyyzzzyzzzzzyyzzzzz{z{{{{z|yzyzyzzyzz{|z{z{zzzzyzyyzz{zz|{z{zzzzy{z{zz{{z{{zyzyyzzz{{zzz{{{{yzzyzzzz|{z{{|{zzzzzzyyzz|{{{{z{yzzz{yz{{{z{z{{z{yyzyzz{{{{yzz|z{zzzzzzzzyzzz{zzyyyyzyy{zzzzz{yzzyzyyzy{yzzy{zyzzyyyyyxyzzzyzzyyzyzzxyyz{zz{zz{yyyzyzyyzzzzzz{zyzyyxyzzz{z{yzz{zzzzyyzyzy{yyzyzzzyzyzzyzzzzyz{z{xzxzyyyzzzyzzzzyyyyxyyzzzyzyy{zyzxyxxyyyyyyzzzyzyxyyzzzyz{zzzz{zzyxyyyyzzzzzzyzyyzzy{yxyzzyzyzzyzxy{yyyyzzzyzzzyzzzzzzyzzzzyyz{yyzyzyyyzz{zz{{zzzzzyxyyzyz{z{zzzyzyyyxyzzzzz{{z{yzzzyzzyzzzzzzzzzyzzzzyzzzz{y{zzz{zyyzy{z{{yyz{yzzzzzz{zz{{{zz{yzyyzy{z{{{{zz{|z{y{zyzyyz|zzz{|zzyzzzzz{zz{{zzzzzyzzz{{z{zz{{{{{zzzzz{{z{{|{z{{{yy{zyzy{zzzz{{zzzzzzzzz{{z{{{{|yzzzzzz{z{z{{{{{zzzy{{zy{zz{|z{z{zyz{zzyz{yzzzz{zzzyxzyyzyz{zzzzyzyyyyyyyzzzyzz{yzzyyyyyyyzzyz{{zyzyzzzxyzzz{y{zyyzyxzyyz{zzyzz{zzyxyxzyzy{zzz{zzyyyyyyyyzzxzzzzyzyyyyyyzyyzyzyzyzyxzzxxzyyyz{z{yyyyxyyyy{yyzyzyzyyyyyyyyzzyzzy{zyyyxyyyzzzzyy{zxzyzyyzyyyzyyzzzzzyxzyyxxyzzzzzyyxyzyzzyyzzzyzzzzzyzyyyyyzzzzzzzxzyyzyzyzzz{zzz{zzyzyyzzyzzzzzzzzzzzyyzzy{zzyzzzzyyyyyyyyzzz{yzzzzyyyzzzz{zzz{yzzzzyzzyzzz{{{z{{zz{yyzzzz{zzz}y{zzzzzyzzyzz{z{{y{{yzyzzzz{{z{z{yzzz{zz{z{{z{{{z{zzzzy{zzy{z{{z{zzzz{zz{zzz{{{{z{zzzyzzyzzzyz{|zzz{zzz{zz{|z{{z{|zzzyzzzyzzz|yz{zzyzzyy{y{zzzz{zzzyzyyyzzy{z{zzzyyyyyzzxyyzzzzzzzyxyyyyxyyzzyzzy{yyzzyzyyzzzzzzzzzzyyyxyyzz{zzz{zzyyzyyyyyyzzzyz{zyzyyxzyyz{yy{{zzyyyyzyzyy{yzyzzzyyyzzyyy{yyzzzyyyyyyyyyyzzzyzzyzyyxzyyyz{zzz{zy{yzyyxyyzyyyyzzzxyxyyyxxzz{yyzzyyzzyyxyzyzzyzzzzzzzyyzyxyy{zzzz{yzzyzxyyzzzzyz{{zyyzyyzzzyzzzzzzzzyyzyyxzy{yz{zzzzz{yyyyxzz{zzz{z{yyzyzyzzzzzz{yzzy{zzyzz{zzz{y{zyzz{zzy{zzz{z{zzzzzy{zyzzz{y{{zzyyyzzzzz{|{zz{z{yyzyzzz{{zzz{{{zzzzzzzzzzzz{{z{{yzzzzzzy{{{z{{|{y{{yzyz{z{{z{zz{zzy{yzz{z{z{{{|{zzz{{zyz{{z{z{{{zyzyzzz{|zz{{{zzzyyyzzyyz{zzzzzzzyzzxzyz{yzyyzzyzyyyxyyxy{zzzzyyzyyyxyzyzz{y{yzzyyzzyxyyzzzzzzzyyyzyzyyyzzzzy|zyxzyzy{yxzyyyzzzzyyyyyzyz{yzzz{zyyyyyxyyzyzxyyzyzyyyyyyyyzyyzyzzzyyyyyzyxy|zyy{{zzzyzyyyyyyyzz{zzyzzyyyxzzzyzzzzyyyyxxyyyyyzzzzzyyyyyyyyy{zyz{zyyyyyyzyyzyzzyzz{yzyxyyzyzzyzzzz|zxyzyyyyyzzzzyzyyyxzyzzyy{zzy{zzyyyyyyzyzyzyz{zz{zyzyyyzzzzzzz{zzzyz{yxyz{zzz{{zyzyzzzyzz{z{z{zzzzzz{zyzzzz{{{{{zzzzzyyy{z{zz{{zzyyzzzzz{{{zz{z{zy{zzzzyz{zzz{z{{zzzy{zzz|{{zz{zzyzzxzzyzz{{{{{|zzzyzyzzzz{zzz{{{zzzzyzzzzz{{zz{zy{y{yzyzzzz{{{{{zyzyzzy{z{zzz{{zyyy{zyyzzyyzxzzyyxyxyyzy{{zzzzzyyyyyyyyzzzy{zyzyzyzxzyzzyzyzy{zyyyyyzxzzzzzyzzzzyyxxzyyzzyzzzzzyyzyyy{yzzzyzzzyyyyyzxyyzyzxyzyyyzxyyzyyyyzyyzyzyyyzzxyxyzzzzzyyyyxxyzyyyzzzyyyzyyyyyxxyyzzyzzzzyyyzzyyzyyyyzyzzzyxyyyxyyzyyyzz{zzzzyzyyzzzzzzzz{zyyzyzyz{yz{{z{yyyzyyzzzzzzzzzzxzyyyyyyzzzzyzz{zzyzyyzy{zzzzz{yzxyzyyzyzzz|zzzzzyy|yy{yzzzzyzzzyzzyzzyyzzz{{{{{zzzzyzzzzzy{|{z{zzx{zyyy{{{zz{{zzyyzzzyy{{{{{{{{zzzzxz{zzzz{{{zzz{zzzzz{{{z{{{{{{zzzzzzzzzz{{z{zzzyyy{yyz{{{z{{{zzzzzz{{yzzz{{z{yzzyzyy{zzzz{z{{{yzzyyyyy{zzzzz{yzzyyyyyzzz{{yyzxyzyyyyyxz{zzy{zyyzyzxyyzzzyzz{zzyyyyyyzzzzyzz{yyzyyzyyzzyyyyzz{zzyyx{zyyyzzz{y{zzyyyy{xy{zyyzyyyyyzxyyyyzzyzzyyyyyzyyxyyyyzyzzzzzzyyxyyyz{zyzzzyyyyyyyyzzz{zzyzzyzyyyyyzzzzzzyzyxyzxxyxyyzyy{yzzzyyyyyyyzyzyzzzyxzyyyyyyzzzzzz{yyyyyyyyzzyyzz{{zyzzyyzz{yyzz{y{zyzyzyyyzzzz{zzzzyyzzyzzy{zzyzzyzyyzzyzy{{z{z{|zzyzzzyzy{zyyy{zz{yyzzyzzzz{yzz{{zzzzy{yy{z{{zzz{zyzzzzzzz{zz{zz{{zzzyz{yzz{{z{{{{{zzzzz{{zz|{{{{{yz{zzyzz|z{z{||zzzzz{zzz{{{{zzzzxzy{zyz{zzzz{{{{zzzzz{zyzzzz{zzyzzyyzzzz{{{y{{{yy{yzzzzz{{zzx{zyzzyxzyyyz{y{zzyyyyyzxxyyz{yzzzzxyyzyyyyyzzzyyyzyyxxyzzxzzyyzzyzyyzyyyyyzyzzzyyzzyzxyyxxzz{zzzzzyyzyyyyyzz{zzz|zzzyxyyyyyyzzzzzzyyyyyxyyyyyyyyyyyxyyyzxyz{yzzzyzyyyyxzxxzzzyzzzzzxzzyyxxzyy{zzzyzyzyyxyyyzzxyzzzyzzyyzyzyzzzzzzzzzzzzzzyyzy{zyzzzyzzyxzyyzzyzz{{yyyyzyzyzzzzzzzzzyzyyyyyzzzzzyzzzzzzyyyxyz{{y{yyzy{z{yyyy{zyy{{zyyyzyzyzzzy{zz{{zyzyzyzz{z{zzzz{zyyzzyyzzzz{z|{{zyzzzyyzz{{zzz{{zzyzzyyyz{{yz{{{z{zzyzzzz{z{{{{{{yyz{{yyz|z{{{z{{zz{zzzz{zz{z{z{|yzzzyz{zzzzz{{{zyyzyz{z{{{zz{{{zzzzzzzzzzzzzz{{zzyzyyyyzzzzzyzyzzzzzyzzyzzyzzyyzzyzxyyxy{yyzyyzyzyxzyyyzzzyzz{zzyyyzzyyzyzyzzzzzxzzyyzy{zzzyyzzzzyyyyzyyzzy{zxzzyyyyyzxyzyyzzzyyzyyyyxzyyzzzyzzyyyyxyyxzyy{zz{zyxyyzyyzyzzyzyzzzyxyyzxyzyz{zzzyyzyyyyyxyzzz{zyzyxzxxyzyyzzyyzzyzyyyyyzyyzyzzzzyzyyxyzxzzzyzzzzzyyyyyyyyzzzzzzzzyyzyywxzzzyzz{zzyy{yyyzzz{zzz{{zzyyzyxzzyyyzz{{{zyzyyyyyzy{zyz{{zyyzzyxy{{{zzz{z{z{zzzzzz{{z|z|zyzzyzyzyzzyzzz{{zzzzzyyxz{{{z{{|zzyzzy{yz{{z{zz{{{zzyzzzz|zzzz{z{yyzyzyyz{{zzz{z{zzzzz{z{zz|zzzzzzzzzzzzz{z{{{{{{{zz{zyz{zz{{{z{yzzyzzzyyzyzz{z{zzyzy{zyz{z{z{{{yyzxyyzyzzzzzzyzzyxxyyzxyz{zzzz{xzyyzyxyz{y{{zy{yyzyzxyx{z{zzyzz{zyyyyyyyyzzyzy{zzyzyyxyyyz{yzzzyyzzyyyyzzzyzyzyyyzxyxyyyzzzyzzyzzyyxzyyyyzzyyyzyyzxyyyyyzz{zyzzyzyyyzyyzyzyzzzzzyyzyxx{yzzzyzzzyyyyyzzxzyzzyzzyyzyyyxwyzzyyyzyyyzyzzyyyzzzzyzz{yxxy{yzxzzyy{yzzzxyyyyyzzzzzyz{{zyyzyyzyzzyyzzzzzzyyzyyyzzzzzzzz{zzzzyzzyzzyyz{z{yy{zzzyzzzz{{zzyyyyzzzzzz{{{{z{yzzzzy{zy{{{zz{{zyyyzzzyy{zzzz|yzzzyzzyy{zzzz{{{zzzzzzyz{zzz{z{zzyzzyzyy{{z{z{{{zyzyxzzzz{z{zz{zzzyzyyyzyzz{zz|zzzzzz{z{{zzz{z|{zzyzyzyzz{y{yzz{zzzyyzyzz{z{z{zzyyz{yzyyzzzyyzyzyyyyxyyxzzzxz{zzyxyyyyyxyyyy{zz{yzyyzzzxzzzyzyzzyzyyxyyyzzzzyzz{zyzyyyyxzyzzyzzzzxyyyyzyyx{xyzzzzyyyzyyyyzyyzyyzzyyxxxxzyzyzzyzzyyyyyyyyyzxyzyzyzyyyxywyzzzzzzyzzyzzyyyzz{zzyy{zyyzyzzyyyzzzyzyzzyyyzyyyyzyzzyz{yyyyzzzyzyzzzz{zyxyyyyzzzzzzzzz{{yyzyyzzzzzzzz{{yyzyxy{zz{zyzzzzzyzyyyyyyyzzzz{zxyzzzyyzyzzzzy{zzyzyyzyyz{{yzzz{yyzzyzyyz{z{{zz{zzzzyz{z{z{yz{z{zzxzzzzy{{zz{z{zzyzz{zyyz{zz{{{{{{{zzzzzzz{z{{z{{yzzyzzz{zzz{{z{zyzzyyzyy{{{z{{z{zzzz{yzzz{z{{{|zzzzzzzzzzz{{{z{{zzzzzzzzz{{zz{z{zzzzyzyzzzz{zzzzzyyyzzyzz{zzzzzyzxyyyzzyzyzyzzzyyyzyyyyzzzzz{yzzxyyzyyzzzy{zz{{zyzy{yyyyzyzzyzzzzzyyyzyyzzzzzzzyzzyyxyxzzyyyzzyzyzyyyyxzz{yzzzzzyyxyyxxzxzzyyyyyyzyyxyyzzzyzzz{zyyyyzyyyyzzyz{zzxzyyyyzzzzzzyzzzyyzyxyyzzzyzzyy{yyyyyxyzzzzy{z{yzxyzzzyz{zzzz{{zyzy{zzyzzzzzzz{{zyzyxzzzzzzz{{{zxyzxyzyzz{zzyzz{yyyzxyyzzzzz{z{zzyzyzyyzzzzzz{zzzzyyzyzz{zzzzz{yzyz{yzzzz{z{{{{yzzzzzz{z{zz{{zzyzz{yzyzzzz{zzzz{yzzyzxzz{z{zz{|{zyyyzzzzz{z{|z{zz{zyyyz{{zz{{{z{zzyzzzz{zz|{{{{zyz{{zy{{{zz{{{zz{zz{zyz{zz{{{{{zzyyyzzzzzz{yz|z{zyzzzyy{{zz{z{zzzyzyyyzy{zzzzzyzyzyyyyyyzzzzyzzyyyyyyyxyzy{zzzzxyyxyyyyzyyyyzzyzyyyxyyxxzzzzzzzyyyyyyzyzzyzzzzzzzyyyyyyzzyyzyzzyxyyyyyyyzyyzzyzxyxxxyyyzzyzyzzyxxxyxyzxyzzyyyzzzyyyxyxyyzzy{zyzzyyzxyzyzyzyyy{zyzxxyyzxxyyzyzzzyxzyyxyzyyyzyzzzzyyyzyzzzzzz{xzzzxyyyyyyy{zzzz{zyzyyxxyyzzyyzzzyyzyyxzyzyz{zyzzyzzyzyyyyzzzzzyzzyzzzzyyyyzzz{zzz{yzzyzzyyzzzz{zz{yzyz{yyz{z{zzzzzyzyzzzzzyy{z|z|yzzzyzzy{zzz{z{zzyzzyyzy{{z{{{{z{zz{yzzzzy{y{z{zz{zzzy{{z{{{{{{{zzzzzyzzzz{z{{zzzzzyyzyzzz{{z{{{{yzzzzzz{{zzzzz{yyzyzyzzz{z{z{{{zyyzyyyyz{zzyzz{yyzyyyyyzyyzzzyyyyyyyzxxxzzyzzz{zyyyyxyyzzzzyzzzzyyxyyzzzyyzzzzzyyzyzxyzyzzzyzyzyzzzyyxyyzz{zzzzyxzyyyyyzyzyzzyyzyyyyyyyyzyzzyzzyyxxyyxyzzzzzyzzzyzyyxxyyyyyz{zzzxyyx{xyzzzyzzy{yyzxxxyyyzzzzyzzzyyxzyyyyzzzzzzyzzyyyxyxxzzzy{zzyyyzyzyzzyzyzzzzzyyyzyyyyzzyz{zzzyzyyzzz{z{zz|zzzzzyyyyyyz{y{zz{yyzzzyzyz{zz{{{zzyzzzyxyzzz{y{{zzzzzzyyyzz{z{zzzz{yzzyyzzz{z{{{zzzzyyzz{zzzzz{{{zzzyyyyyz{{{z{{y{yy{yyz{|{z{z{{zzzzzzzzzzzzzz{z{{zz{y{{yz{{{{{z{zyzyzzzz{zz{zzzzzy{yzzz{zz{{z{{{{yzzyzzy{{zz{z{{zzzzzzzz{yz{{{{{{yyzyzxz{z{zzzzzyyyyzzyyyzzzzz{zyzyyyyxwyzyyyzyzzyyzxxyyzyz{yzzyzyyyyzyyzzyzy{{zxzyyyyyyyzzzxzzzzyyxxyzxyz{yyzz{yxyyzyyxz{zyyzyzyyzyzyyxzzyzyz{zyyxyyxxyyzy{zyzyzxyyyyyyyyy{zzzzzxyyyzyy{{zz{zyzyyyyxyxyyzzzzzyyzyyyyyyxyyyzyzyzyyyxyyyzxzyyyzzzzxzxyzyyyyyzzy{zzyzyzzyyzzzzzyzzyxyyyyyyzzzzzz{zyyzyzzyyzzyz{{{zzzyzyyzyzzzzzzzzzyyzxyzwz{zyzzzzzyzzzyyzzzzyz{zyyyzyyxyz{y{zyzz{yyzyyyzzzzz{z{yzzyy{yyyyz{zyzzzzzyzzzyzz{{y{{{{{yzzz{{zzz{{z{z{{{zz{zz{zz{zz{|{zzzyzzz{zzz{{{{zz{zyyzzzyyzz{z{{{{zyz{zzzz{zzzzzzzzyyzzyyz{{zz{z{z{zzyyzyzz{zyzzzzzyzzyzyzzzzzzyyyzzxyyyxzzzzzyyzyzzyyyxyyzyzzzyyxyyxxyxx{yzyzz{zxyyyxyyyzzzzyyzyzzyxxxzyyzzzyyy{yyyzyyyyyyyxyzzzyxyyxxyz{yzzyzyzxyxyyyyxxyzyzzyzxyxxyyyyzzzyzz{yyzzyyzxxzzzyzzzyyyzyxxzyyyyy{yzzxyyyyyyyzxyyyzyzyyyxxyxxy{zzyzzyyyzyyyyy{yz{zzzzyyyyzyyzzz{yzzzyzyyzzyzzy{zzzzzyyyzzyyyyyyzyzzzzzzzyzyyzy{yzyzz{zzyzzzyyzzzzzz{yzyyyyzz|yzzz{zzyzzyyzyzzzz{zzz{zzz{zyyzyy{zzz{z{yyyzzzyy{zzzzz{{yy{zzzzz{z|yzzz{{zzzyy{zy{zyz{{zzzzyyzzzz{zyzz{zzyz{z{zzy{{zz{z{{zzzzzzzz{zzzz{{z{{y{zzzz{{zz{z{yzzyzyzzz{zzzzz{yzzyzzyyz{zzzy{yyzyyyxzyzzzzyyxzyxyyzyxyzyyyy{zzyyyyyyxyyzzzzzzzyyxxyzzyzzzzyzyzyyyzxyyyyyzzyyz{zyxyyzxyzxzzzzyzyzzyyyzyzzyyyzzzyxyxyyyxyyzyzzzzyyyyxyyyyxxyzzy{yyxyzxxxyzyy{yzzyxyyyyxyzzzzzyzzyzzyxxyyyyzyyy{{yzyyzzyxyzzyzzzzzxzyyyyzxzyzy{zzzxyzyzyyzyzzzyz{xyyyyyyyzzzzz{{zyyzzyyzyzzzzy{zzzyzxyzxzzzzzzzz{zzyyzyyyzzzzzzzzzxzyyyyy{zzzyzzzy{yzyzyyz{z{zyzzzzyzzzyzzz{zz{{{yyyzzzzzz{y{z{{{yyzzyzyyz{{zzy{z{yz{zzyz{{zz{{{zyz{xzzzzz{z{z{zz{zzzzyzyz{zzzzzz{yzyzyzz{{z{zz{z{yzzz{zzz{{{z{{|zzyzz{zzzzzzz|z{zzzzzzyzzyzzyz|{zz{zzyzzy|z{yzzzyzyzzzzyyzyzyzzyxyxxxyzxzyyyzyzzyyxyyyyyyzzzyz{zyyyyzyyx{zzyyzzzzzzzyxyzzy{yyzzzzzzyyyxyyyxzzzzzyzyyzyyyyyyzzzzxyzyxzyxzyzzyyzzzzzyyxzyzxyyzzzzzyyyxyzyyxzyyyzz{yyyyxyxyyyzzzzzyyzyxyyyyzy{yzyzzzyyyyyyxyzyyzzyzyyyxyyyyyzyzzzz{yyzx{zyyzzzzyzzzzzyyzyzzzzyyyzzzzyyzyyzzzzzyzz{zyyzzzyyyx{|zzy{|zzzzzyyyz{zzzzzyyyyzzzyyzzz{zzzyyyzzzzyzzzz{{zzzyyyzzzzyzzzzz{{{yzyyyyzz{zzzzz{{zxzyzyxyzyz{{z{yzyyy{yzy{{{z{z{z{zzyzzzzzzzzzz{{zzzzyzyz{{zz{z{{zyzzyzzz{{z|{z{{zyzyz{yz{{z{z{{|yzyyzzzzzz{zzz{{zzyzzyz{z{y|zz|{{zyyyzyzyz{zzzzzz{zyzzyzyz{zzzyzyxyyyyxyx{{zzzzzyzzyyyxzzyyyyzzyxzywyyzyyzzyzyz{yzyxyzyyyzzzx{zzzzzxyyzxzzyzzyzyyzzyyyywxzyyyyyzz{yzyyyxzzzzzzzzyyyxxzyyzyyzz{zyxyyyzyyyzzyxzyzzyyyzyyxyyyzyzzzzyyxyyyxyyyzzyyzzyxyyxyzxyyzyyyzzyzyxzyyzyzzzyzyzyyyzzyzzzzzzy{{yyyxyyzzyy{{yzzyy{yzzyyxyzzzzzzz{zyyyzyyyyzzz{y{xz{z{zzzzy{{yz{zz{zyyzyzzzzzzyzzzzyzyzyzy{zzz{zzz{zyzzzzyzzz{{{z{yyzyyz{zz{{z|zz{zzz{zzyxz{zz{z{zzyzz{yzzz{yz{z{zzzyzzz{y{z{{{z{z{zyyzzzzz|{{zzz{zzz{yyzz{{{{z{{z{yzzzzyzz{zz{{zzzzyy{zyz{zzzz{{zz{zyzyz{yzz{zzzz{{zzz{yzzzzzz{{{zyyyyzzyzyyy{zyzxyyyyxzxyzzyyxzzzyxyyyxyyyzzy{zzyyxyyyxyzyyzzzyzzxzyyxxyyz{zyzzzyyyxxyyxyyzyzzz{yyyyyzyyyzyyyyzzzyyyyxxyyy{yyzz{zzxxyyzyyyyzyzzyyzxyyyyyyyzzzxzyyyyzyzyzyzyyzzzzzxyyxxxxyzzzyy{{zxzxyxxyyyyyyy{{yyxyzyxyyzzyz{zzzxzyyyyy{zyzz{yzzzyyzyyxzzzzzzzzzxzzzyyyzzyzzzzzzzzyyxyyzyyyz{z{zzzyyyyyzzzyzzzzzyzyyyyyz{z{y{zzzzyyyzyyyzzz{zzz{zyzzzzy||zz{{{{zyyyzzzyzzz{z{{{zzyyxyyy{{z{z{{{zyyzzyzz{zzzzzyzzzzyzzzyy{z{{{zz{zzyzzyyzzzzz{{{{yzzzzzz{{yz{zz{{zzyzzx{z{{zz{{{zzz{z{zz{y{{{{yzyyzzzzyzyyz{z{{zzzxzzyyy{zzz{z|zzyyzyxzyyyzyyzyyyywwyxzyyzyzyyzzyyyyzyxzyzzzzzz{zyxxxyyyyzzyyzzzzzyyxyzyzzz{zyzyzyyyxxxyzyyzyyyyyxyxxyzyzz{yzyyyxyyyyyyyyyyyyzzyzyxyyzxyyzzyzyzzyyxzyyxyyzzzzzzyyxyyyyxzyzyyyzyzzzyyyyyxyzzyzyzzyyyxzxyyzzzy{zyzzyyzxyxxxyyyyzzyyyyyyzyxzxzzyzzzyyyyyxyyyzz|zzz{zyzyyyzyyyy{zzz{yyyxyyzzzyzzzz{{zyzyyyyyyyzzz{{zyyyyzyyyzz{zyzzzyyyzxyyy{{{zzzz{zzzyzyzyzzzz{zzzzyzy{yzzz{zzzzzzyyyzzxyy{zzzz{{zzyzyzyz{y{{z{{{{zzzzyzzzy{z{zz{{zz{zzzyyz{z{z{{z{zzyzzzyz{z{z{z{zzz{{zzzz{yzz{{{zzyzzzz{{{zz{z{{zyyyxyyyzzzzz{|zzzyzzzyxyzz{zz{zzyyzxyyyzyyyyzzzxxyzxyyxyyzyyyzyyyyxxyyxyyyz{zzzyyyyyxyyyz{yzzyyzxyyyyyyzyzzyzzzyyyyxyxyyz{yzzyzyyyzxyyyxzyyzzzyyyxxyyzyxzzyzzzyyxyyyyyxyyyyzzzzyyxyyywyyzyzyzzyyzyyxyyxxyzxyz{zzyyzyyzxyz{yyzzzzyyxyyzxzyzzyzzzyyxyxyyyzyyyzzyzzyyyyyyxyzzyzzzzzyxyzyxy{zzyzyzzyzyyyyyzzyy{yzzzzyyyyyyyzyyzzzzzzyyxyyzxyyyz{zyyyyzyyyyyz{zzzy{{yzyyyyyyy{{zzzyyzzyyyyzzzyyz{{{{yzyzyyyyyzy|zzzzz{yyyxyyy{z{{{{zzyyyyzyzz{zz{{{{{yzyyy{zyzzyyzzzzzzyy{zzz{z{zzz{zxzyzzzz{z{{{zzzzyzyzyyyzz{z{z|zzzzzyzzz{yz{z{zzzyyyzzyzzzzzzzzzyyyyy{zzz{zzzyzz{xyyxyyyzz{zyzyzyzzyxxyxyzyyzzzyzzxxzyyxyyxzz{yyyxyyzxxxyyzzy{{zzyyxzyyyzzzzxyzyzzyyxxyxzyyyzzyyxyyxyzyxyyyzyzzyzxyyyywyzyzyyzzzyyyyyyyxyyyyzzzzyyyyyxyxzzyzyzzyyzxyxxxzzyzy{yzzzxyyxyyyyyz{yzzzyxyyzyxyyzyyyyzyyyyyyxyyyyyyyzyzyxyyyxyxyxzyzyzzzyzxzyyxyzzzyxzzxyzyxxyyzyyzzzy{yyzyyyzxzy{zyyzzzyyyyxzyyzzzzzzzyyyxzyyyyzz{{zzzzzy{yzxzy{{{zzyzyyyyzzzzzzy{z{{zyzyzyzzzzzyzz{z{{zxzyyyyzzz{{z{{zyyyzyzzz{zz{{z{zyxzyzzyzzzzzz{z{z{yzzzzz{z{z{z{zz{zzyyzzz{z{{yzzzyzyyzy{zzzzz{|zyzzzyz{zzzzzz{{y{yzzyzyyzyzzz{zyyyyyyyyzzzzyyyzzyzyyxyxzy{zyyzzxzxxyyxxyzzzyzyzxyxxzxyzyyzzyyzyyyyxyxxyyz{yz{zyzyyxyyyxyzzzxyyzzxyyxyyxyyyyyzy{yyyyzxyyzyzzzzzyxzyyxzxyzyzyzyzzyyyxxyyyzyyyzzzzxyyyyyyyyyzyyyyzzxyyyxxyyyzyyzzyzyxxxyyxzyyz{yzyyyyyyxyxyzyzyyyyyzxyyxyyzyyzyzzzyxyzyyzxzzzzzzz{zxyyyyyzzzz{zyyzzyyyyyyzzzyzyzzzyyzxzyyzzy{{yzzzzyzyxxyxz{zzzzyzzyyzyyyzyzzz{zzyyzyyzxyyz{zzyzz{zyyzzyyyzzzzz{{zyz{z{yzy{yz{zzz{yzyyyyyyzzzzzz{zzzyzzyyyyzzyy{{zzyzzyzzzzzzzz{zz{yyzyzzzz{z{{{{{zyzzzyzyz{zzy{{zzyyyyzzzz{{zz{z{zzyzzzyzz{zzzz{{z|yxzzyzyzzzz{{zzzzyyzzyz{{zzzzz{xyyyyyz{yzyzyzyyyyyxyxxyyzyzyzyyzyyyyxyyxzyz{zzyyzyzyyyyzzy{zzzyyyyyxyyyyzzzyzyzyyxywyxzyzyzzyzyxyyzxxyyxyyyzzyyyyzyyxyyzzzyxyzyyyxyyyxyyyyzyyyyyxxyzxyyzyzyzzyyyyxyyxyyz{zyyzzyyzzxzyxyyy{yzzyyyyyxxyxyzzyyzz{yyyxyyyxyzyyyyz{yxzwyyxxzzzyzyzzzyyyzyyyyzyyyzz{zyyyyyyyzzzyyzzzzyyyyzyyyzzzyzzzzyyyywyyy{zzzzzzzzyxzzyyyzzyzyzzyzyzyyyyyzyzyzzyyyxyyyyzzzzyzzzzzyyy{zzyzzxzzz{{yyyzyxyzyz{zz{{zzzyzzyyzzzyzzz{{yy{yzzzzz{z{z{zyyz{zzzyzy{z{zz{zyzzyyyzyzzzzz{z{{zyzyzzzzz{zzzz{zzyyyzyz{zzzz{{zyzyyyyyzzyzyzz{{zzzzyyzzyzzzyz{yyzyyyyzxyzzyzzyyyyxyyxyyxzzyyyyyyyyyyyyyxyyyyzyzyzyyyyyxyzzxzyyyyyzyxyyxy{yzyzzyzyyyyxyxzyzyyzyyzyxyyyyzyzyyyzyzyyyyyyxzyyzxyzzyyxyyyxyxzzzyzyyzyyyyyyyyyyyyyzzzzxyyyzxyyzzyzzzzyyyxxyyyy{zzzyzyzyyyyxyxxyyxyyyzyyzxzyyxxyyyyyyzyxyyzzyyzzy{zxyzyxxzxyxyzz{zyyy{zyyyyyyyzzz{z{{{yyyyyzzyyzzzyyzzzyyyxyyyyy{yzzzzzxyyyyyyzyz{{yzzyyyyyyxyzzzzyz{zxyyyyyyyyzzzzzzyyzzyyzzzz{zzz{z{yyzzzzzzyzzzz{{z{yyzyyyzzzz|zz{{zyzyyyzzz{{zzzzzzyzyyyyyy{zzz{{|{zzzz{yzzzyzzzz{zyzz{zzzyy{z{z{{zzzz{zzzzz{zz{zzyzzyzyyzzzzz{y{zzyyyzyzzyzy{{yzzyyyyzyyyzyyyzyzyyyxyyyyxzyxyzzyyyyyxxzxyyzzyyz{zzyxyyy{wyzyyzzzyyxyzzxxyyzyzzyzzyzyyyxyyyzyyzzz{xxzyxzyyzyyzyzyyyyzyxyxyzzyyyyyyzxyzxyyyyyyzyyyzyyyyxyxxyyyzxyzyyyyzyyyxyzzzzz{yyyyxyyxyyyzzyzyzzyzyyyyxyzzzzzzxyyzxyxyyzyyyz{zyyyzxyzyy{zyzzyzzyxyzyyyzyzyyzyzyzzzxxyyyzyzzz{zzyzyxxzzyz{zzzzzzzxyxzyzxyzz{zzzzzzzzyxyyzzzzy{zzyxzyzxxzz{yzy{yyyzyyyyzzz{zz{z{zyzzzyzyzz{{{yzz{zyyyzyyzyzzzzz{z{zyyyyyy{zzzz{{zzzyyz{zz{zz{{{{zzyyzyzyzz{z{zz{{{yyyzzyzy{z{z{{{zy{zzyzz{{zz{{z|z{yzzzyyzzz{{{zzz{zyzyyzz{yzzzzy{yyzyyyxz{yyzzyzyxzyxyzxzzyzyyyyyxzxyywxxyzzzyzzzzyyyxxxzyzyzzz{yyxxzyyxzzyyzyzzz{yyyyyzyyzyy{yyzyyyyyyxzzyyzyzzyzyyxxxxyzxyyzzyzyyyyyyxyyzyyzyyxyyyxzyzyzzyyzzzyyyyzyzyzyzyzzzxyxywxyyxyzzyyxzyyyyyxyyxyxzyyzzyyyxyyyyyyyyxyyzyxyxyyyyyyyz{yzzyyxyyyzyyzxyzzzzyyzyzyyzzzzzyyzyzyzzzyyzyzzzz{zz{zzzzyyyyzzzzyzy{zzyyzzzyyyzzzzzyyyyyyyyzzzz{{zzzzyzzzyyyzyzzyzyzyyyyzzyzzzzz{z{zzyzxyyyz{zzzy{|{yyyyyyyzyzzz{z{yzyzyyyzzz{{zzzzzzyzzy{{zyz{zzzzzzyyzzzzzzz{z{{{z{z{zyyzzz{yz{{{z{zyzzzyzzzzz{{{zzzyyyzyyzzyzz|{zzzzyzyyz{yzz{zzzzzzyyzyxyz{zzz{zzyzzxyxxyyyzyzxzzyyxyyxxyyzyyzyzyyxxyyyyyyyyz{zzyxxyy{xyzyyzzzyzzyyxyxyyyzzyyxzyyyzyxyyxyyxyyzy|yyzyxzyyxzzyyyzyyyzxyyywzy{yyzyzyyyyxyyzyzyzyyyzyyyyxyyyyzyyzyzzyyxxzyyxyyzyzyzzyzyyxxyyyzyyzzyyyxyyzyxyxyyyzzzzyyzxzyyyzzyzzyzzyyzxxzxxyzyyyzzzzyzyyxyyyzzyzzz{yyyyyzyyyyz{yzzzzyyzyyzyxy{zzzzz{yzyyxyyzzz{{{zyyyyyyyzzyyzyzz{zyzyyyxyzzzzyzyzyyyzyyzyyz{{{zzzzyzyyzzzzzz{zz{z{yzyzzyyyzz{zzz{{zyyzyyzyyz{z{z|zzyzyzzyzyz{zzz{zzyzyzzyzyzzzzz{{zzz{yyzy{{zzy{zzyyzyyy{y{zzz{zz{zzz{yzzzzy{{z{zzyyzyyyyyy{zzzz{z|yzzyyzyzzyzyzzzzyyxyyyyyy{yzyyyyyyyxyyxyzyyyzzzzyyxxxyyyzyzzyy{yyyxxyyyyzyy{zyzzxyxzyyyzzyyyzzzyyxxyxxxyzyzyyyzzyyyyxwyzyyyyz{yyyyxyxyxzyzyxzyyyyzxyyyzxyzyyyyzxxzxyxxxzzzzzyzyyxyyyyyyzyyzzzyxyxyxyyzxzzzyyyyzyyxyyxxyzyyyz{zyyyyyyyzxyzyyyzzzyxxyxyyyyyzzyzzzyyxyyxxyyzyzyzzzyzyyyxyyzzzzzyzzyyxyxyyyzyzy{zzyzyzyyyyxz{zzzzzzzyzzyyxyyzzzyzzzyyxzyzyzzyzzzzzyyyzyzx{zzzzzz{zzyzzyzzzyz{zz{zzzzzyz{yyyzzzzzz}z{yzzzyyxzz{zz{zzzzzyyzzzz{{zzz{{zzzzxyyyz|z{{{{{zyzyxzyyzy{{z{{zzzyyzy{zzzzzzzz{zzzzzzzyyzy{{zz{zyzyyzyyyzzzz{zzzyzzxyyyzzzzzzzyyyywyyzx{y{yzzzzzxyyyyyyxyzxzzzyzxzxxxxyyzyyzzzzzxyyyyxxyzzyzzzyyyzyyyyyxyzyyzzyyxxxxyyxyzyyzyzyyyyxxyzyyzyyzzyyzyyxzyyyzy{yyyzyyyyyyyyyyyzxzyyzyyxyyxyxyxyyyzzyzyxyyyxxyzyyzyzzyyxyxzyxyzyyzyzyxyxyyyyxyzyyzzxzyxyyyyyyxzyzyzzyyyzyyyxyyzyzyzzzyyzyyxyyyyyzzzzzyyzyyyyzzzzzzzzzyxyxyxzyyzxy{{yzzyyyzyzyy{{yz{z{yxyzyyyyyzzyzz{zyzzyzyyxzyzzz|zzzzyzz{yzzyzz|zzzzzzyzyzzy{{zzz{{zyzzzyzyzzzzz{z{zzyyzzzy{{{zy{z{zyzyyzzy{{zzz{y{{zzzzzzzz{{z{{z{zzz{yzyy{{z{z{z{zyyyzyyyz{zzz{{|{zzyzzzzzy{{{zz{yzyyyyyyyzzzzz{{zzyzzzyyz{zyyy{zzyzzyzyzyzzzy{{yywxyyxzxyzzyyyzzyzyyyxyzzyxyzzyzyyyyyyyyzyzyyzyyzyzyxyyyyyyzxyyzyyyyxyyyyyzzzzzzzyyyxzyyxyyyxzzyzzzyyyzxyzzyzyyzxxyyyxyyyyyyyyyzxxyyyxyxyyyyyzzyyzyyyxxzyyzyyzzyyyyyyyxyyyzyzyz{yxyyyyyxxyyxyzzyyzxyzxzyyzyxyzyyyyyxyyxyxzyyzyzzyyxyyxyyzyzzyyzzyyxyyxyyzyzzyzy{zzyyxyxzyzyyyyzzyzzyyx{yyzyz{zzzyxzyyyxwyzzzyz{yyyyyyyyzzzzyyzzzyzzxzzz{zyzzzzzzy{zyyy{zzzzzyzz{yzyyyyzyzzzzzyzzzyxyzzzyz{zzzz{{zz{yyzzzzyzzz{z{zyyzzzyzzzzzz{{zzzzzyzzyz{zzyz{yzyy{yyzzz{{{yz{z{zzyzyzzyzz{z{z{yzzyzyzyzzzzz{zzyzzyyxyyz{yzyzyyzyyyxyyyzyzzzyyzyyyyxyxyzzyyyx{zzyyyyxyzyyyyyz{zyyyyyyyxzyyy{zzzzyxyyzyzyyyzyxyzyyyxxyyyzyzzxyyzxyyxyyzxyyzyyyyyyyyyyxyyyyzyyyyyyyxyyyyzzxzyzyzyyxyyyxxxyzyzyzzxyyyxyyxzxzyyzyyyyyxyxyyxyyyzyzzzyzyyyxyxxzyyxyzzzyyxyyzyyzzyyyzzyxzxxyyxyzzzzyzzyyyxyyyyzzyzyzzzyyzyxyzyyyzzzzxzyzzzyyyyyzyzzzzz{yzxzxzyyzzzyzzzyyyyyyyzzzzzyzzyyyyzyyyyzyzyzyyzyz{yyxzzxz{zz{{zyyzzzzyyyzyyyzzz{yzzyyyyz{z{{zz{zyy{zzzz{{zzzzzyzzyyyzzzzzzzz|z{zyzzyzyzy{z{{{{{{yzzzyzy{{z{{{{z{zyyyyzzzzz{{zzzzzyz{yyyzzzz{{zz{zyxzyyzyyzzzz{{zyyyzzzyyzyzyzzzyzzxzxyzy{zzzxyyyxyyxxyyy{{zyyzzxxyyyyxyyyxyyzzyyyxxxyxxzyyzy{zzyyyyxyxxyyyyyyzzyyyyyyyyxyyyxzzzyyyxyyyyyyxxyzzzzyyxxxxyyyyyyyyyxyywxxyyyzyyyyyyyyyyyxyxyyyzzyzzyyyyyxxyyyyyyz{yyxyyxxyxzyyzyyzyyyyzyxyxyyzzzyyzyzyxyzyxxzyyyzyyzwyzxyxxyyyyyzzyzyyyyxyyzzyzyzzzyyzyyxxyzyzzy{y{yyyxyxyxzzyyyzyzyyyyzyyyyyzy{zzzzyyxyyxyzzzyzz{zyzyyyyz{yzzzyzzyyzzyyyzyzzzz{zzzzzyyzzyyyzyzzyzzzzyyyzxyzzzzyzzzyzzzzzyzy{yyzzzzzzzyzyzyzzzz{z{zyzyzzzyyyzzzz{{zzyzzzzyzzzz{yzzz{yzyyxyyz{z{zzzzzyyyzzyzzzzzz{z{{yzyzzyz{zyzzzzzzzyyyyyxzzyzzzz{zyyyzwyyyyyyzyyyxyxxyyyxyyyzyyyyyyyxxxyyyyyyzzyyzxxxyxxxyzzyzyzzyyyyyxxyyzzyyyzyyxyxyxyxyyyzyyyyyyyxxxyyyzzyyzzyzyyxyyxyyzyyyzzyyzyyzyxxyzzxyyyzxxyxyyyyyzyyzzyyyyyxyxxxyyzyyy{zyxxyyzxwyyzzyyzzzywxyxyxyzyxyyyyyzyyxyyyxyyzxyzzyyyyyyxyyyyyyzxyyyyzyxzyy{zzyzzyyyzyyxyyyyyxz{yzyzzxxzyyzyzzzyzzzyyyyxzyyxzzzzzzzzyyyyxxzyzzyz{zyyyyyxyyzzzyyzyzyyzyzyyyzz{{y{{{yyyzyzzyyzzzz{zzzzzyyyyyzyz{zzzyzyzzzyyyzzzyz{{zzyzxzzzyzzzz{{zzzzzyyyzyy{yzzz{z{zz{xyzz{zzyzzzzzyyxzyyzzzzz{zzzzyyzyyyzy{yzzzz{{yzxzyzyzzzz{yz{zyyyyyyyyzzzy{{zyyyyyyyyyyzyyzzyyyyyyyyxyzzyxy{zxyyyxyzxyzyyyyyzzyyxxyyxyyzyyzzzyyyyyyxyyyzzxy{zxyyyyxxxyyyzzyyzyxyyyxxzyyyxyyyyyxywyyxyyyzyzzyyyyyyyyyxzzyyyyyyxxyyyxxyxzyyyyyzyxyyxyyyyzyxyzzzyyyxwxyxyzyyzzyzyxyxyxxyyzyyyyyyyyxyyyyxyzyyyzxzyyyyyyyxzzyzzzzyzyyyyyyxzzyzyzzyyzyyyyyxyyzyzyzzzzxywyyyyzyzy{zzzyzyyyyzyzyyzz{zzyyzyzzzzyzyy{zyzxyzyyyyz{zzzyz{yzzyzyyzzzzzyz{{zzyzyyyzzzzzzzzzyyyzzxyyyyzz{z{{{yyyzyyyz{{{zz|zyzyyzyzyzzy{z{{{zzyzyyzyz{{{zz{z{yzzyzzzyzzx{{zy{zzzzzyyzzzzzzzzzzyyzzzzzzz{{{{{zyyyzyy{zzz{z{{{zzyyzzyxyzzzyzzzyyyyyxzyyzzyyyyyyxxyyyyxzyyzyzzzyyxxyxwyyzy{yzzyxzxxyzyxyzyzzyzzzxzzyyyzzzyzzxz{xyyyxyzyyyzyyzzzyyxyyyyxyzyyyzyzyyyyxyxyzyzyyzzzxzxxyxyxyzyyyyzyyyzxxzxxyyyyzyxyyyzyyxxyyyzyzyzzyxyyxxxyyyzyyyzyyyyxyyyxyyyyyzyzyyyxyxyyzyyyyzzzzyzzyzxyzzzzyz{zyyyyzxyyyz{zzzzzzxyyyyyzz{zyyzz{yxyyxyyzzzzzzz{yzyyx{yzyyzzzyzzzyyxyzyyyyzyy{zzzxyyyyzyyzzzzz{zyzyzzzzyyyyz{zz{zyzyyzzzzzzzz{zz{yyyyyyzyz{z{z{{{{zy{zzzyyz{z{z|{zyyzyx{zzz{zzzz{{zyzzzyyzzzzz{{{{yzzyzzzzz|{{{{zzyy{zyyzzz{zzz{z{yzyyzyzz{zz{{{z{yyzyzzzz{yzzyzyzzzzyyyyy{yyzz{zyyzzyyzxzz{yyyzyyyyyywyywyzyy{zzyyyyyyyyzzyzzzzzyxyxyyyyzyyzzzzyyyzxyyxxyzy{yyyzyyyyyyxyyyyyyzyzzxzzxyyyzyzzxy{yyyyxyyxxzzzyyyxyxxyyyyxyyyzyzzzyyyyxxyyyxzzzyyzzyyyxx{yyyzzyyyzzyyzyxyyxyzyzzzyzyyyxyyyyzzzyxyzzyyxxxyyyyyyyyzzzyxxyzzyxy{zyzyzzyzyyzxyzzyzyyzyzyzyxyyyyzyyzyzzzyxyyyxyyyyzyzzzzyyzyyyyzyzzzzzzzyzyyyzyyyzyyxzzzzzxyyyzzyyzzzzyyyyzyzyzyzzzzzzyzzzzyzzzzzzz{z{{|yyyzyzyyzzzzzzzzzxzzyyzyz{zy{{{yzyyzyzzyzzzzzyz{zxyyyyyyy|zz{z{{zy{yyyyzzzzz{z{zzyzzzxyzyyy{zz{{z{zyzyyzzzzzz{zzyyzzzzyyzzzzyz{{z{yzyyyxy{zzzxyzyzzyzyyzy{zyyyzyzyyyxxyxyyzyzyzyyyyxxxyyyyzyyzzzyyyxzyyyyyyyyzyzyyyzxyyxyyyzxyz{yyxyxxxyyzzyyzy{xyyxyyzxyzyyyzyyyzyyyyyxyyzyyy{yyxyxxyxyyxyyzzyzyxyyxyyxyyyyzyyyxyzyxyyxyyzzzzyyyyzxxyxyyyzzyyzzyyyxyyxyxzyyx{yzzyxyxyyyxzzyzzyyxyzyyyyyzyyyyzzzx{yyyyzyyyyyyzz{yyyyxyxyyzzyzyzzyzxyyzyyyyyzzy|zzyzyyyyyyzzyzzzzyxyzyyywzyyzyzzzzzyyzyyyzyyzzz{{xyzyzzzyzzzyz{{zzxzyyxyyzzzzzz{{yyzyyyyyzz{zy{{{zzyzyzyy{{zyy{{{zzyyyyzyzzzzz{{{{yyzzzzzz{z{zz{zzyyzyzzzzzzzz{z{zyzzyzzyy{yzzzz{{yzz{yz{zzzz{z{{zyyyyyzzyy{y{z{zzyyyyyzyyzyzzzzzzyzzyxyyzzzzzzzyzyzyxxyyyyzyzyzzzyxyyyyy{zzz{zz{yyyyyxywzyzzzzzyyyyyyyzyyz{zyyzzyyyxxyyxzy{zzzyzzzyyyyyyzxzzyzzz{yyyzyyyxyzy{yyzyyyxyyyxyyz{xzzzyxzyyyxxyyzyyy{yzyxyxyyyyyxyzzzzyyyyyyxyy{zzyzzyyxyyyyyxyyyzzyzyxyxxxyyyzzyyyzzzzyyy{zxxzyzyyzzz{yyxyyyzy{zzzyyzyzyzyyzzz{zzzzzzyyyzyyyyzyzz{zzzyyyyyzzzyzyzzzz{yyzzy{yyzzzzyzzzyyxyyyxyzzzyyzz{yzzzzyyz{{{zzzz{yyy{yzyy{zzz{{{{{zzzyyyyzz{{{zzz{yzzzzzzzzzy{{|{yyzyzzzz{{zzz{zz{yzzzzzz{{zzzz{{{z{{zzzzz{z{{{{zzzzyyzzzzzyz{{z{zzzzzzz{{y{{z{{{ywyy{yzzzz{zy{z{zyyyyyzyzzyzz{zzzyyxyxyzy{zzyyyzxxyyxxxyyzzyyyyzyyyxxxwxz{z{yyzzxxyyzxyyxyyyyzyzxyyyxxxyzyzzzzzzyyyyxyyyyyzzxyyzyxxyyxyxy{yyyyyzxyzxyyzxyyzyyzyyyxxyzyxyyxyxyyyyyyzyywxyyyzyyzzyxxxzwzxyyyzyyzyzyxyxyyxyxyzyyzyyxxxyyxyxxzyyyzyzyzxxyyyyxzzzzzyzyyyzyyyxzyzzyzzzyxyyyxxyyyyzyyzzzzyyyxyyyzyyyyyyzyyxxyzxyzyzzyzzzzxyyxyxyyy{zxyzyyzxyyxxzyyyyzyzzyyyyzzyz{yyyzzyyzyxzyzyyzz{{zz{yzzyzz{yzzzyz{{{yyzyzxyyz{yz{zzzzyzyzzyy{|zz{z{{zzyzzzyx{zy{z{{{{{yyyzzyzzz{zz{{zyyzyzyy{z{zzzzzzyzyzyzzyzzzzzz|zyzyzyzyyzz{zz{{zzyyyyyzyzyzzzyyzzzzwzyxyzzzyzzyyyyxyyzxyzyzwyzzyxyxyyyyzyzyxzyzyzyxxwyxzyyyzyyzyzxwyyyyyzyyyzzzyyzxyxyyyyyyyzzzzyyyyxyyzyyzyzzzyxzyxyyxyzzxxzzzzyyyxyxyzyzyyyyxzxzzxyxxyzyzyzyyzyyyywyyxy{yzzzxyyxxyzxxyzzyyzzxyyyxxyzxx{zzyyzzyzyzyxxxyyzzzzzyyyyyyyyyyxzzzzzzyyyyyzyyyzzyyzzzzyyyyxyzzzzy{yz{yyyyyzzyzyzyzy{zyyyzyyyxyzzyyz{zyyyyzyyyxzyzzzzzzxxyzyyzzyzyzz{zyzyyzzzzzzzzyyzyzyyyzzxzyyzz{{{zyzzyyzzzyzzzy{z{zzyyyzyz{{yyzz{{zyyyyzyyz{zzzzz{yyyyzz{zyzzzzzzz{xyyzzxzz{z{{zzz{yyzzyyyzy{zz{zz{zzz{yzyzzzzzzz{zzyyyzyzz{yz{zy{zyyzy{zyyz{zzzzzzzxyxyyyzzzzzz{zzyzyyyyzyyzzyyyzyyyyyxxxyyzyyyyxyzyyyxyxyyzzyyyzyyywyyyxzyzyzzzzyyxzyyzy{yyzyyzyyyxyxxzxzyzzzzzyyxyxyyyxyyyyyzzyyyyyyzzyxyzzyzzzyzzyxyyxyyyyyyzyyyxyxyyxyyyyyzyyyyxyxyyyyyyyzyzzxyxyxxxxyyzzxyzyyxyyyxxyyxxyyzyzzxyyyyxyyyxyyyzzyyyyyzyxxyzxxzzyyyzyxxyzyyzyz{zzyzyyyyxyzzzzyzzyyyyxyyxzyzyzz{yyyxyyzyyyzyyzyzzzyyzyzxxyyzzzyy{zzyyyxzyxyyzzyzzzyyzyyyyyzzz{z{{yzzzyyyzyzzz{z{zzyzzyyyyyz{zzzzyyzyzyzzzy{zzzz{z|zyyzzzzzz{{y{z{{yyzyyyyzy|yzzy{zyy{zyyzyyzzz{{zz{yyzzyzzz{yzz{{zzyyyzyyz{zzzzz{zyzyyzyyyy{zz{zzyzzyyyyyyzzzzyz{{yzyzzxzxyzyyyzzzyyxxxyyxyyyyzyzyyyxyxxxyyyzzzzzyyxyyyzyyzyzzzzzyzxyyyyxxzyzzyyxzzyzyxyyxyzzyyzz{xxyywxyyyyyzyyzzyyzxyxyyxyyyyyzyzyyxyyyyyyxyzyxyxyyyyxyxyyyzyzyzyxyyxyyyzxzyzyzyyyzyyxxxyzyzzzzzyyzyyxyxyzyyzyyzzyzyzxyxxyyyyyyzyyxzyyyxyzyyzyyzzzyyzyyyy{zy{zzzyxyyyyxzyzyzyzyzxyzyzyxyzzzyy{zzyyyy{yxzxzzzxzzzyyyxzzyzzzzyyz{zzxyxzyxyy{zzyzzzzzyzzzzyyz{{{zz{yzyyyxzzzzzyzzz{zyzzyyzzyzz{{{{{yyyzyyyz{{z{{{{zyyzzyzyyyzz{{zz{zxyzzzyzz{zzz{{{zzyzyzyy{zzz{{zz{yyzzyyzzzz{zz{{zzyyzzzyzzy{{y{{{zyxzyyyzzy{{{zyzyzyyyyyzzyzyz{zyyzyyyzyzy{zzyzyxyxxyyyxyyzzyyyyyyyyyxyxyzyzyxyzzyxyyxxxxzyyyyzyxxyxywyyzzyyyyyzxyyxxyxyzyzzyyzzyxyxyyxxyyzyxyzyxxyxyxxxxzxxyyzyzyyxxyxyyyyzyyyyxyzyyxxyyzxyyyyyyxyxxyxyxzyyzyyyyyyyxyyxyzyyyyzyzyyyyxzyxyyyzzyxxyyyxyyyxzyzzzyyxyyyxxxxyyyyyyzyzyyyxxyyzyyyzyyzzxxyxxyyyzyyyyyzyyyyyyyzyyzyzzzzzxyyzxxyyx{zyzyyxxyxzyxyzz{yyxzzyyyyyyyxzyzyzyzyzzzzzyyyzyzzyzzyyzyyyyyzyzyzzzzzzyyzzyxyzzyzzy{yzyyyyzzyzzyyz{zzyyyyyzzyyzzzzzzzzzzyyzyxyz{z{z{yzyyzzxyyzzyzzzzzzzyzyyzyyyzzzz{{zyyyzzyzy{zzyzzzzyyyzzyzz{zyyz{{{yyyxyxyzzzyyyzzzyxxxyyyyyzyyzyyyyyxyyyyyyyyyyyyyyzyxxxyyyyyyyyyyyxyyzyyyyyzyyzyyxyyyxxyyyzyyzzyzyyxxxyyxyyyyyzzyzyyyyyxyyyxy{zzyyyyxyxyzxyyyyyxxyxyxyyxyyyyyyzzyxyxyyyyyyyxxxzyyxyyywxyyzzyzzyyyyyzyzxyyzzxzzzyyyxyyyzxyzzyyyyzxxyxxyxyyyxzzz{yyxyyyyzxzzyzyyzzyxyyyyyzzzyzzzzzzyyxxxyyzyzzz{zzyzyxyyyzzyzyyyzzyyyxxxxyx{zzzzyz{yyxxyyyzyzyyz{zzyyyyyyyyzzzyzyzzyxyyxyyzzz{yzzzyzzzzy{yzzyzz{zzyzzyyzzzzzzzzyzzzyyyzyzzzzzzzy{{zzyy{zzzz{zyz{zz{yzzyzyy{{zzzz{{zzyyzzzzzz{zzzzzzxyzzyyyyzyzz{z{zyyyzzzz{zzzz{zzyzzyyzxzzyyzzzy{{{yyyyyyy{yy{z{zzyyyyyyyyzzyzyyyyyyyxxyxxzyyyy{zzyyyyyyyyyzyzyy{yxyyyyyyyyzy{yzzyxzyxxzzzzyzxyzzzyzyxxxxzyzxzyyzxyzyyyxxyyyzyzzyzyxyxyxxzzzyyyyzxyyyyyyyyyyzyyzyyxxyxyxxyyyyyyzzyyyyyyyzyyyyyyyyyyyxxxxyyyyyyzyzyyxzyxyxyzzzyyyzyzyxzyxxxzyyxzyzyyyzyyxxyzyyzyyzzyyyzxyxxzyzyyzyyzyyxxyyzzyxzzy{xzyyyxyyyyyzyzzzyxxyyyyyzzyzz{yzyyxxyyyyyyzyyyzyyyyzxzyyzyzzzzzyzzzyyzzzzyzzzzzyyyyyyyzyzyzzz{{{zyzyzyxyzzzy{z{yzyzzyzyzzz{z{yzzzyyyyyyzyzzz{z{{{zzyyyxyy{yz{z{zzyzzyyzzzzzy{zz{zzyyyzzzz{zzzz{{yyyyzyyxzzyz{{yzzzxyyyzxzzzzzzzzzyyzzxyyy{z{z{zyyzzyyyyxyx{yyyzyyyyxxxxxxyyyzyy{zyyxyyzzyyzzyzzz{zyyyyyyzyzzyzz{yxyyyyyyzzzyzzzzxyyxxyyyzzyzzzzzyyyyyyyyyyyyyyzzyyyyyxxyzyyzyzzzzxyxyyxyyzyzyzzyxyyyyyxxyzzyyzzzyyyyzxyyyyxyxyzyzyyxxzxyyzyzyz{zyyxyxxyyxxzyyzyyzyyzxxyyyzyyyyzzyxyyyzyxy{zyzzyyyyxyyyyxzzzzyzyzzyzxxxzyzy{{z{z{zzyxxyyzyz{zzzzyyzzyxz{yyzzzyzyyyyyyzzyyxyzzyxz{zyzzzyyyzzzz{zy{yyyyyyzzyzz{zz{zzyyyzyzzzzz{yz{{zzzzyzxyzyyz{{yz{yzyzyzy{zyzzz{zzyzyyzzzz{{zz{{{zzyyyzyyz{{zzz{zzyzzzyy{{zzzz|zzzxzxzyyyz{zy{zzzzzyyzyyy{{{{zzz{zzyyzyyyyyzzzz{z{zyyyxyyz{z{zzzzyyzzxzyxyzzy{yyxyyyyxxyxyyzyyzyzzzxzxyxyzyzzzyyyzyxyyyzyyzzzzyyzyxyxyyyyzyyzyz{yzyyyxyxyyyzzyzxzyxyxyyzxzzxzyyyzzyyyyyyyyyzyzzzzyyzyyzxxyyyyyyyzyyyyyyyyyzyxyyzxyyxzxyxyyyzzzyyyzyyyyyxxyyyzyxzzxyyzyxyxxyyyyyzyyxyyyyzyyzyyzzyzyyyyzyyyzzyyyyyzyxyzyyzyzyyyzzzyyyyzyxyyzzzzzzz|yyyzyzyzzzzzyzz{zyyyzxyyxzzzzzyzyyyxzyyyzzzyyzzyyzyzzyxzyzzzy{zyz{yyyzzzyzzz{z{zzyzyzzzzzzzzzzzzyzzyyyyzzzzzzz{zzyyxxxzyzyyzzz{zyzzyyzz{{zzzzz{{{yyzzzyzz{{zz{{{zzz{yyyy{yzz{{zzzzzyzyxy{{z{z{{zzyyzzzyyz{{zzz{zyzzxyzyy{zzzzyzzyyyzyzzyzzzzyzzy{yzxxyzyyzzyzzyyyyyyxxyxyxzyzyz{yyyywyxyyzzzzzz{yyyxxzyyyyzzzzzzzyyzyyyyyxxzyzzyzyyyxyyyyyyyyzzzyyyxyyyyyxyyzzyzyyyxyxzxzyxyxzzzyxyyxyxxyyxzyzyzxyyyyxyxyzxyzzyyyxyyxxxxyyzyyyzzyxyyyxxyzzzzyzzzyyxzyzyyyxxzyzyzyyyxyyzxzzyzyyzzzxyxyxyxyzzyyzzyzyyzyxyyzyzyyy{yyyyzyxzyzzzzz{zzzyyyyyyyzzzzzyyyyzzyyyyyyzz{zz{zyyzyyzyyzzzzzy{zxyyzyyyzzzyyz{{zzzyzyzyyyyzzyzz{zzzzyzyyy{y{y{{{zyzyzyyyyzyz{{{zzzzyzzy{zz{{{{{{yzzzzzyzzzz{z{z{zyyyyyzzz{z{z{{{{yzzyzzyzzz{{|y{zyzyzyyyz{yzz{{{zyzyzyzy{zzzzzzz{yyyyzzzyz{zzzzz{zyyyyzyyyzzyz{zyyzzyxyyyzzzyzyxxxyxyxyyzyyyzyyzyyyyyyyxzyzyzzzzyyxyzyyzyyzzzzzy{yyxxzyyyyzzyzzzy{yyyyyyzzzyzzzzyyzyyyzyzyyzxzzzzxzxyxyxyyzzy{zyzxyyyyyyzyzzyzyzxyxxxxyzyyzyzyyyzxxyy{xyzzzyyyzzyzyyyxxyyzyzyyz|zyyyyyyxyyzyyyzyyyyyyxyyyzzzzzyyyyzyzzyxyzzzzyzyzyyyzyyzyyyyzzz{yyzxyyzyyyzzzz{zzyyyyzyzzyz{{zz{yxzyvxyyzzz{z{zzzzzyyyzyzzzyyzzzyyyzzxxzzyyzzzzzzyyzyzzzzzz{{{{zzzzzyyzyzyz{yz{zyyzzzzyy{zzzzzzzzyzyzy{zz|z{zzzzyzzzz{zyyzzzz{{zzyyzzzzzy{{{{z{zyyzzyzzyz{{{z{{{{yyzyyy{{zzzzy{zzzyyzyzzzzzz{z{{yzyyzyyyzzzz{{{{{zyyzzzzz{zzzzy{yyuyyxyxzzyyzyxyxyyyyyxyyzyyyzzxyxxyxyxxyyzzyyyzyxxyyyyxzzxyzyzzyyzxyxxxyxyzzyzzyyzyxyyyxxyyzzyyyyyxyxxxyyyxyyzyyyxxyyxyyyzyy{yyyyzyxxxyyyyxxyyzyxxyyxyxxyzyzxzyyyxxxxxxyyyxzzzzzxyxxyywyyxzzyzzzxyxyyyxyxyyxzyzzyyxyxxyxzyzxzzzyyyyyzyxzzyyyzyyyyyyzxxyzyzzzyzzyyyxyyyxzyzzzy{zxyyyxyyyzyzzyzzyzyyyzyzyyyzzyzyz{yzyxyyyyzyzz{zyyzyzxxyyyzzyzzy{yyyyzyzyzyyyzzzzyyzzyyzyzzy{zzzzyyyzzxzyyzyzzzzyzyyyzy{yz{yz{z{{zyyzyzzyxzzzzzzzzzzyxyzyzzzzzz{{yyz{zyyyz{zzyz{zzyyxzzzzzyzzzz{yyyyzyzxzzzzzyyy{yyzzyyyzyzzzy{{zzyzyyzyyyzyy{y{zzyzyyyyyyzyyzyxxyyyxxxyxyyxxyyzyyxyyyxxyyyyzzzzzxzxxyyyyyyzxyzzyzzxxyxxyxzyyzyyyyxyxxyxxyyyzyyzzxyzxyyzyyzzyyz{yyxxyxyxxxzzyyzyyyxxxxyxyyyyxyzyyxxxxyyxxyyyzyzzyzxyyyyxyzyyyyzxzyyyyxyxxxyyzxyzzywyxxxwxyyxxyyxzyyyyyxywxzzyyzyyyyyyyzwxxzzyyyzzyyxyyyyxyyzzyxyyzxxyxyyy{zzzzzyyzyzxyxyyzyyzzyzzyyzxzyyyxzzyz{zzxyzyyzyx{yyyyyzyzzyzxyyxyyzzyyzzyzzyzyzyzzzyzzzzyyyxyyyyzzzzz{zzzyyzyyyy{zzzzzzzzyxyzzyzzzzzyzzyzzyzzyyzxzyz{zzyzyxyyzyyyzz{{zzzyy{{yyzy{z{zzz{zyyzzzyyyz{{yz{zyzyyyzzyxzzzzy{{{zzzyyyyyyyzzyzzzzzyzyyzxzzzyzzzzyyyzyyyyyyzzyzzyxxxyxxyxyzyyzzzzyyyyywyxyyxyxyzyyyywxwyyyyzxzyzzyxzxyyxxyyzzzyzyyyyxxyxxyyyyyzyzzyyxyyxxxzyyy{zyyyxyxxxxyyzxxyyzxxyxyxyxyyyyyzyzyxxyyxxxyyzzyxyyyyyyyxwyyzzxzzzyyxyyyxwxyyyyyzzzxxxyzyyyyyxyyzzzyyyyyyyxyzyyy{zzxyyxyyxyyyz{xzyyyyyzyyxxzzzyyzzzyxyxxxzxzzzzy{zzyxyxyxyyzyyzzyzzyyyzyxyxy{zzyzy{zyxzyyyyyz{zy{yyzyxyyzxyyyyyzzyzxyyxyyyyyzz{{yz{yxyyyzyyyyzzz|zzzxyzyyxyzzyzyzzzzyyxzyzyzzzzz{z{yyyxzyzyz{yzz{z{zyzzyyzzy{zzz{{zzy{zzyyy{zzzzzz{zyzzyzxzzzzzzy{z{zyyyyxyzzy{zzzzyzyyyyyzyzzzzzzzzyyyyxyyz{zzyzzzyyxyxyyyz{zyyzyyyyywxxxyyyyxyyyyyxyyyyyxzzyyzyyzyyyxxyxxzxzyzyzyyyxxxxyxxyyzzzyzzyyxxyyxxyyzyyyxxyyxxxxyxxxyyxyxyyxyyxywyyyxyyyyxyxyyxxwxyyyxyzyxxxxxyyxyyzyyyyyyxxyxxxxzyyyyzyyxxyxyxxxxyyzzyzyyxyxxxyxxyyyzyzyxyywyxxxzyyyyzyyyyyyyzyyxyyyyyzzyyxwyxyxyzyzwzxyxxxxyyyyyzyyyzyzyzzyyxyyyzzzyzzzyxyyyyyxyzyyyzyyzyyyyyyxyyzzzzzzyyyyxzyyyzyyyzzzyyyzyyzzyzyzyyzyyzyyyzyyyyy{zzz{yzyyyxyyzzzzzz{zzyzzzyyyz{zzy{{zyyyyyyyyzzzzzzzy{yyyyyzyyzz{zzzz{yzzyzyyzyzzy{yzzyyzzzyyyzyzz{zzyyzyzyyzyyzzzzzzzyxyyyyyzzzzzzzzyzyyyyyyzyzzyyzyyzzxzxzyyyzzzyxxyyyxxxwyxyyyyxxzyyzyxxyxxzzzxyzzyxywxxyyyyyyyyzyyxyyxxxxzyyyxyyyyywxxyxxxyzzyzzyyyxxxyxyxxyyxzzzyxzzxyxxxyzyyyzyxxyyxyyxyxyyyzyzywyxxyzxxxyzzyxyxxxyxyxxxyzxyzyzxyyyxwxzyyzyy{zyyyyxywyxyxzyyyxzxxxxxxyxxyyyyzzzyyyyyyyxyyyzzzzyyyyyzxyyzzzyzzyzyyyxxxyyyyxyyz{zyxzxyxyxyzyzyyzyxxyyyyzyyzzyyzyzyyyxyxyxzyyyyzzzyyxyyyxyyyyyzyzzzxzyyxxy{yyzyy{yzyzyyxyyzzzzyzz{yyyyyxxxyzzz{yzzyzyyyzyyz{zzzyzzzyyyyzy{z{zzzzzyzxyyzzzxzzzzz{z{zyyyzyyyzzzzyyzzzyyyyyxyzzzzzzzyyyzyyyyyyzyz{zzzyxzyzyyyyzzzy{zzzzzyxxyxyzzzyzyyyxxxxyxyyzzyzzxzxzxxyyywzzyyzyyyzyyyyxyxzyzyzyzyxyzyxyxyyyyzyzzyyyyyyyxyyyzyyyyzxxyyyxyxyyyzyyyzxzzyyyzyzyzyyzzyzyxyyyyxxyzyzyzyyyyxxyxyzyyyyzzyyyyxwxyxyyyyy{yyxyyxxxxyyzzyzyzyxzyxxxxyyyyyzyzzyxyyyxxxxyyyyyyzyzxxxxyyyyzxzzzzyxyyyxyxzyyzzzzzyxyxzyyyzyzyyzzzyzyxyyzxyyyyzzyzzyxyyyxyyyyzyzyzyyzxyyxyy{zyzzzzyyyyyyyxzyzyzzzzyzzzxyxyzzzyzzzyyyyyzzyyyzzzzxz{xzyyyzzyzzzzzzz{zyyzzzyyzzzz{yzzyyyyzzxxzzz{zzz{zzyyz{zyzz{z{zzzzyzyzzyzy{z{{{|zzyyzzzzyzzzz{zzzzxyyzzxyzzzzzzzzzzyzyzyyzzzzzz{zyzyyyxzyzyzzzzzzzzyzyzxyyzzzzy{yyyyyyzxzyyzyzyyxyyyzyxxyyyzyzyzzyyyzyxyyyzyzyyz{xyyxyyyyyxyyzzz{yzxzzyyxyzxzyyzzyyx{yxyyyyxzyzyzyyzyyyyyyyyyzyzyyxzxyxxxyzzyzyzyyyyyyyzyyyzyyyzyyxyxyyyxyyyxz{xyyyyyxywzyyyyyzzyyyyyyyxyyzyzzzyyyyyxxyxxyyzyzyyzzzyxyyyxyzyzyzzzyyzyyyyyyzzyyzzzzzxyyyyyzyzyyzzyyyzxyyyxzzyzzzyzxyyyxxyyz{yzyzzzzyzyyxyyyzzzzzzzyyzyyyyyyzzzzy{yzyxyzxyyzzzyy{{zzyyzzzyzyzzzz{zyyzyzzyzy{zz{{z{{zzzzyyxyzzzz|{zzzyyyyzzyz{{zz{{{zzyyyyzyzzzzz{yz{zzzyyzyz{z{z{z{zyzyzzzzyzzzz{{{zyzzzzyyyzzzz{yzzzyyzyxzz{{zzy{{yzyyyzzyyzzz{zzzzyyyyzyyzzyzz{{zzyzyyyyyyzzzzzxzxxyxyyyyyyyyzyyxyyxyyxxyzyzyzzzzyyyxyyxyyyyyzzzzyyyyxxyyyyzzyyzzxxyyyyyyyzyzxyyzyxxxzxyxyxxyxyyzyyyyyyxxyxyxyyyyyyzyyxxxyyzzxyzzxxyyyxyxzyzzzyzyyyyxxyxxyyyyzzyzyzyxxxyxyyyzyyz{yxyxyxyxyyyyyyxxzyyxxyyyyzyyyzzzyyyyyzxyyyxyzzzyyyyyywyyzyzzzzyzyyyxyyyyzyyzyzzzyyyyyyyyyy{yzzzzxzyyzyyxy{yzzyzyyzyyyyyyyyyzzy{zyzyzxyyyzyyyy{zzyzyyxyyyzxz{zyyzzzyyzyzyzzyzzzz{yyyzyzyyzyzzyzyzzyzyyyzyzzzz{y{{yyzyyyzzyzzyz{{zzyyzyyyyyzzz{z{{zyyzxyyyzzzz{zzzzyzzyzyzyz{z{z{zzyz{zzyzyzyzyzz{yxyxyyxyyzzyzz{zzyyyxyzyyzzzzzzzzyxyyyzyyy{yz{yyyzyxyxyyxyzyyyzzyyyyyyyyzyyyyzzzxzyxxyyyyyyzzyyzyx{yyyxyyyyzyyyzzzyywyzxyzzyyzyzxxyyyzxxxyxxyyzyyyyxzxxyyzyyzyyyxyyxyxyxzyzxzzzyyzyyyyyxyyyzzzzyyxxxxxxzyyzyzzzzyyyyxxyyzzzyyyzyxyyyxxywyyyyyxyyyyyyzzxyyyyyyzyyyxxzzyyxyzyyyxzzyyyyyxyxyzyzzzzyzyyyyyyyyzyyyz{zyyzyxxyyyzz{zzyzyyyzyyyyyzzzzzyyywzyyyxzzyzyyy{zzyyyyyxzzzyyyzzzyyyyyzzyzy{zzzzyyzzxzzyyzzyyzz{zxxzyzyyzzzz{zzzzzyzzzyyzzzzzz{zzzy{yzzzzyzzzyzzy{yzyzzyyy{{{{{zzzyyxyyzy|yzzzzzzzzyyzyyzz{yz{{zz{{zyyyzz{yzz{zz{zyyxyzyyzzz{z{zzzzz{zzyyzzyzzz{yzyyyyzxx{yzyzzyyxyxxyxwyxyyyzyyyyyyyyxyyzzzyyz{zyyxxxxyyzyzxzzzyyyyzyyyxzyzyxyzzyyyyxyxyyyyyyyzyyxyyxyxxyyyyyzyyzywyyyxxzyyyy{zyzyyyxyyxxyxyyyyyyyxyxxxxyzzyyyzyzyyyxyyyxyyyzzyyyyzxyyyxyy{yzyzxzyyyyxxxyyxyyzyyzxxxyyyyyzyzyy{yyxzyzyzyzyyyzyzzyyyyyxyyzyyyzz{zxyzzyyyxyxyz{zzzxyzyyyyxzzzzyzzzxzyyyxyyyyyzyyzyzxzxwyyyyzyyyzzyyyyyyxxy{zzyyzyzzzyyyyzyzy{zzzyzyzzyyxyyyzzzy{zzyyyzyxyxzzy{zz{yzyyyyxyyzxzyz{z{yzzyzyyyyyzzzz{y{zzxyyyzy{zzzzzzzyyyyyz{zzzzzz{{zy{yzzyy{zyyzz{{zzyyzyyzyzzz{zzzyyzyyyyyyzzzzz{zyzyyyyyyy{z{yyzyzyyxyxxxyzzzzyyyxyyyxxyxyzzyyyyyyyyyxwxxyzzyzzzzwxyyxyyxyyyxzyzyyyxywyxxyyyyxyzyzyzyxwyxzyyyyyyzxyyxyyxxxyyyxzy{xxyxyxxyyxyxxxyxxyyxxyxxyyyyyyyyxxyxxyyxyyxyxyzzxxyxxyyxyyyyzzyyxxxxxxxyyyzyyyzyyyxyxxyxxyyxzyyzyxxxxyxxyyyyyzzyxxxyxxyxxzyyzzzyyzxxyyyyzyyyzyzyyyyyxxyyyxyyyyzzyyxxyyyxyzyzzyyyxyzyywzyyyyzxzzzyyzyyyyyyyzzyzzzzz{zzyxyzyzzyzz{zyyyzyxyzyyzyzzyzzyyyyzy{yz{y{y{zxzyzyyxyyyzzzzyzyzyxxyyzzzz{zzzyyzxzyzzzzz{{z{{{yyyyyzzzz{zzyz{zzzzzyyyzyz{zzyy{zzyyzyzyzzzzz{yzyxyzyyyyz{zzzzzzyzyyzyyzzzzyz{yzyyyzyyzyyzyyzzyyzyxyxyyzyzzyzxyyxxxyxxxyzyzxyzzyyyyxxyxxzyyzzyyzyxxxxyyzyyyyyzzyyyyyyxxyzyzzyzzyyyxyxyyzyyyzyzzyzyxyxyyyzyyyzzyyyyyyyxyyyzyyzzyzyxyyyxxzxxyyzyyxxxyyxxzxyzyzzyyxxxxyyxyyyyyyyxyyyyxyyxyyxyyyzzyyyxyxyyyzxyyy{yyxyyxxyyyxyxzzzyzxxyyxyyyyyyyyyyzyyyyzyyyyzyyzyzyyyyzxyyyyzyyyzzzyyyxzyyyzzzyzyz{yxxyyyzxzzzzyyyyzyyxyzyxyzyzyzzyyzxyzxyyyzzzyzzzyzxyyzyzyz{zzzzzzzyyzzzzyyzyyzzzyyzzyyyyzzzzz{zzzxyyzyyyzzyzzzzzzy{yzzzyzzzz{zz{zzyyz{yyyzzzzzzzzyz{zzzyzzyyz{{zzyyyz{yzzyzyzzzyz{yz{zyzyz{zzzy|zyyyzzyzyzzz{zyzzyyyyyxyyzy{yz{yyzyxyyxxyyzzyzzyxyywyxyyyzzxyzyyyyyxywyxxzyzyyyyzyyxxyyxyzzyzzyyyyxxyxyxyyzyxyzyyzyxxyyxyzxyxyzzyxxyxyxxyywyyyyzyyyxyzxyzxyyyyyyyxxxyyxxzzyyyyyyxzyxxxyyxzyyyzyyyxxxxywyyyyyzzxyyzxxxxxzyzyzxzyzyyxxxyxyyyyyyzyzywxxyyyxyyxyxyzyyyyyzywyxyyyzyyzzyyxyxyyyzzzyzyyxxyyxyyzyzyyyzyyxyzyyyyyzyzzzzzyxyyyzyzyz{z{zyzzyyzyyyyxxzzzyz{yyyyyxyyyzyzzxzyyyyyzzyyyyzzyz{zzyzzzxyzzz{yyyz{yzzyyzxzyz{y{zyzzyyyxzyzzz{zzzzzzyzzyyyyyzzy{zzzz{{yzyzyzy|z{{zzzzzzyyzyxzzz{zzzzzyyzzzzzyyzyzz{|zzyxzxyz{zzy{yzzyxyxyzyyzzzzzzzzyzyzxxzyzzzyzzzzyyyyyyxyyxyyzyyyxyxxxxywxyyyyxyzxyyxxxyyyyyyyzzzyyzxyyxxyzxzyzyyyxyyxxxxyyzyyyyyyyywxxxxyyzxyxzyxxyxyxyyyzyyyzxyzxyyxyxxyzyyyyyzxxyxyyywyyyyxzyyxxxxyxxxyyxzyyzxxxxyxxxyxyyzzzzyyyyyxwxzxyyxyyzzxxxxxxxyyyxyyzzyzzyxyxyyyyzyyzyzyyyxxxyyzzzzzzy{yyyyyxyyzzyyzyzzyxyxyxyyzzyzyzzzyzzyyxzyzyyzzzyyyyyyyyyzyyzzzzzzyyyyyyyzzzzyzzyzyxzzxzyyy{zyyzzzzyyzyy{zzyy{zz{zzyyzxxzzzyyzz{zzzy{yzzyx{yzz{z{zyxyyxyyzzzzyzzz{zzzyyzzyz{yzz{{zzyxzz{yzyzzz{zz{zyyzzzzyy{{{y{{z{yzyzyyzzyz{zz{zzyyyzzyz{yy{yzzzzyxyyzzyzz{zyz{{yyyzzzyxzzzzz{zyyyxyxyyyyzzzzzyyyzxyxyxwy{yyyyzzzyxyyxxyyyyyyzyzyxyxyyxxyxxzzyz{xxyyywxxzxyyyzyyyzxyxxyxyyyyyzyyxxyxxxyyzyzzyyyxyyyxyzxy{yyyxyxyyyyxxyxxxyzyyyzyxyyyyyxyyyzxzyyyxyyyzxxyxyyyyyzyywyyxyyyxxyzyx{zyxxxyyxxxyyyyzzzyyyyxyyyxyyyy{yzxyxyxxxxyzzyyyzzxxyyyxyyxyyyyzyzyyyyyyzzyzyzyzy{yyyxxyxyzyzyzzzzzyxyyxyyyzzzyyyyyxyzyyyxyyyyyz{zzyyyyzyyzyzzzyzzyzyyxyyzxzz{z{zyyxyyyyzzzzyzyzz{zyzzyzyyyz{zzz|{{yyyyyyzz{zyzz{yyzzyyzyzzzzz{{zyyyyyyzyyzzzyz{{{zyy{yyzyz{zz{{{zzzyzzzyyyz{z{z{zyzzyyyzzzz{zzzy{yyyyxzxz{zyzzzz{xzyyyzyxyyzzyyzzzxyyyyzyyzyzzzyyxxyxxxxxxzyzyyzyyyxyzwyxxyxxyzyyyxxxxyyxxxyzzyzyyxyxyxxxyyzyyyyyxyxyxxxxzyyyyzyzxyyxxyxxxyxyyyzyyxxywyxxxzzyxyyyyxxxxyyxyyxyxyyyxyxywxxyxyzyxyyyyyxyyywzxxyyyyyyxyyyxxxxyyxzzyyzyxxxyyxxyzzyxyyyyyyxxwyxyyyyyzyyyxyxyyyxyyzyyzyyyxxwxxyyxyyyyyyzyyyxxxywyyzyzyzyxxyyxxxyzyzyzzyyyyyyxxyxyyzzzyzzzxzxyyxxyzyyyyzzyyyyxyyxyyzyy{zzyyyyxxyyzyzzyzyzxyzyxyyyzzy{yzzzzyxzzzxxyzyzzz{zzxxyyyxyzzzz{zzzzzyyy{yyyzx{z{{{zz{zyyyyz{yzzz{{zzzyzzyyzzzyzzzyzyyyyyyxy{yyzyzyzzzyzyyzzyyyyz{zzyyyyzxyxzyxyyzzzyyzyyyx{yzzyy{zxyzxxyyxzzyyzxyyyyxwyxywyyzxyxyzyxyyxxxyyyyyzzz{yxxxwyyxzyyyzzzyxxzyyxxyyzyzyyzyxzyxyyxxxyyyyyy{ywxzyyxxyyyyyyxyyyxxxxxxxyzyxzyyyyyxxxyyyyyyzyy{xyxyyyyyyyxyyyyyzxyywxxxyxxyzyzyyyyyxyyxyyzyyyzyyyzxxxyxyyxyyxyzxyxyyyxxyzyyyzyxyyyyxywyyyyyyzzzxyyyxyyyyz{zyzyzyyyxyxyyyyyyyzyzzxyxxyxyzyyzzyzzyyxyyxyyyzyyzyyyyyyyxyyyyzzyzyzyyyyyyyyxzzzyyzyzyzxyyzyyyzy{{zzzyyyzzzyyyyzzzyzzzzyyyxyyyzzy{zzzzyzxyxyxyzz{{{{yzyyyzyzz{zyz{{yzyzxyyzyyyzzz{z{zzzxzyxzyzyzz{{zyzyxyzyxzz{{{yzz{zzzyyyyy{zyyzz{{zyyyyyyxyyzyzzzzzyxzyyxyyzyzyzzyyyzyyxyyyzyyzxzyyyyxyyyyyzzxyzzzyyyxyxyyyyyzxz{zzxzyxyxwzyyyzzzyyyxyyyyxyyyyyzyyyxxxwwyyyxzyyzzzxyyyzxxyxyyyyyyyzyyyzxywzyyyxyzzyxxxxzxyyyyyyyyzyyyyyyyyyzzyyyyyyzxywyxyzzzyzzyyyzyxwxyxxyyyyyzyyxyyyyxyyzyyyzyzyyyxyxxxyzyyxyyzyxzxzyxxyzxzxyzzyyyxyxyyyzyyyyyzyyyyyxyxyyyzzzzyxyyxyyxyyzzyzyzzzzzyxxyxyzzyyyyzzyyyxyxzyzyyzzzyzyyzyyyxyz{yyzzy{yyxzyzyzzzzzzy{yyzyzzzzzzzzyz{zyzzyzyzy{zzzzz{zzxyzxyzyz{zyzzz{yyzyyzzzyzzyz{z{zy{zyzzyy{zzz|{{zzzzxzzyyzz{zzzz{yyzzyyzyyzzy{zzzyyzzzzzzzzzzzyzyyzxyzzzyzzzzzzyzyyyyyyyzzzzyyzzyyyxxyyyyzzzyzyyyxxxxxyxxyzyyxzxyxyyxyxxyzzyyyy{yyyxxyxyyyyzyzyyyxzyzyyxyyyzyzzzxyyxwxzxxzyxxyyzyxyyyyyxyyzxyzyxyyyyyyxxyxyyxyzyzyxxxyyyxyxyyyyzxzxyyxxyyxyzyyzyyzyxxxvzxyyyyz{zyxyxxyyxxyxyzyzzxyyyyyyyyyyzyyzzyxyyxyyxyyyxyzzxyxyyyyyxyyzzzyzzzxxyzxyyyyyzxzyzyxyxxxzyyyzyyyzzyyyyxxyzyzzy{yyzzzzyyyyyyzyzyzyzxyyyxyyyyzzyyzxzyyyyyyxxyzyzyyzyzyyzyzzzzzy{{zzzyyzyyyzyzzyyz{z{yzzzzxyxyzzzz{z{yxxyzyzyyzzyzz{zzyyzyzyzyzzz{zzy{xzyyzzyzzz{{zzyzyzyzxzyzzzzy{zz{yzyyyyyz{yzzzzzzyyyyyyyzyyyzzyzxzzxzyyyzzzyz{zzzyzyyyyyyyzyzyzyyyyyyxyyyzzyyzxyyzxyyxyxxzyzyz{yyxyyyyyxyyxzzyyyyxxxyyzxyzyyyzzyxyxwyyyyyzyzyyyzyxyxxxxyzxzz{zzyyyyyxyyyyzzyyzyyyyyyyyxxyyzxzzyyyyyyxzxyzxyzyzzzxyxxyxxzy{yzzyyyyyxyyywyzxyyyzyyyyyyyyzyxzzzyzzzxzywyxyxxxxyxyzyxyxyxyyxxzzzyzyzyyyzyzzxyzzzzzzzyyyzxyyyzzyyzyyzyyyxzyyyzyyzy{yzyzxxxzyy{xzzzzzzyxyyyxyyyzzyzzzzzxyyxyxyzyzzyyzyyyyzxyyzyzzyzzzyzzxyzxxzz{zzzzz{zyzyxyyyy{yzzzz{zyzyzzyyzzzz|y{zyzyyzyxzz{zz{z{zzyzzzz{{y{zyz{|{{xyzyzyzz{z{{z{{zyzyyyzz{zz{zz{z{yyyzyyzyzzzzzz{zyyyzzyy{z{z{{zzzy{yzxzzzzzzzz{{yyyyyyyyyz{yzzy{zzyyxyyyyzzyzyzyyxyyyyyxzyzyyyyxyxxxxxxzyzzzy{zzyyyyyyyyyzyyzyzyxyyxyyxyyyyzwyzzxyyxxxyyyyyyyyzzxyyxyyyyzzyyyyyyyyyxxxyyzyzyzzyxyxyyyyyxxxyyyzyyzxxywxyxyzyyzxzzyxyyxxxzyyyyzyzyyxyyyyyxyxxzyyzzyyyxyxyyyzyzzzyzyyyyyyyxyzzyyzyzxyyyyyyxxyzzyy{zyyyyyyyyyzyyyyyzzxzyxxyxyyzzyzyzyyyyyyxyyyzyyyzzyyyxzyxyzyzzz{yzyyxyyyyzzyzyzyyyyyyzxyyxzyyzy{zzzyyyyyyyzzzzzzzzyzyxzyzyzzyzzy{zyyyxzyyyz{zyzz{zzzyzyxzyzzzzzz{{yyzyzzzyyyzzzzzz{yyyzyzzz{y{y{z{zzzyyyyyzzzzzzzzzyxy{yyzzzzyzzzzzzzzzzzzzzzz{z{{yyyyzyyyzzzyzz{{zyzyyxyxyz{{yy{zyyzxxyyyyyzzyyxzxyxxyywxxzyyyyyyyyxyxxxyxyyzzyzyxzyxxyyyyzyzyyzzzyxxyxyyyzx{xxzyzyyxxxxxyxyyzyyzyyxxyxzxyyzyyzyzyyyyyxwxzzyyxyyyyyyxyxyyyyzyyyyyyyxxyxyyyzyyyyyzyyxyxzyxyzyyyyzyyyyxyxyyyyyzyyzyyyyxyxyxyzyxyyyzzyyyyxyyyyxyyyz{yxzyzzxyyzzyyzzyyyyxyyzyzyyzyyzzyyyxyyxyzz{zyyyzyxyzxyyzzyzyzyyzzxzyyyyyyzyzz{yzyyyyyxyyzzzzzzzyzyyxyyyz{zzyzz{zyyzyyzyxyzz{zz{zyyxxzxzyy{zz{z{{yyy{yyzyzzzzzz{zzyyyzyzz{{zzzz{zzyzzyyyyzzzzzz{{zyzyy{yzz{y{{zzz{zzzyzzyzzz{z{{{zyyyy{y{zzzzy{z{zzyzzyyzz{zzyzy{yyzyzzyzy{yzyzzzyzyxyzyyzzzzzyzzzzyyyyyyzyyyyzyzyyyxxyxxyyyyyy{yxywyxxxyyyzyyzy{yyyyyyzxzzyyzyzyyxzyyyyyyzyyyzzzzyxxyxyyxyyyyzzyyxyyxzywxzzxxzyyyxzyyyyyyyyxyzyyyyxxyxxyyyyzyyyzyxyyxxyxyyzzyyzyxyyyyxxyxyzyzzyyyxxyyxyyzyyyyzzzyxyzyxyyyzyxyyzyzzyyxyyxyzyyy{zyxyyxzyxxzzzyyyzzzzyyyyyzyzzyyzzzyyyyyxyyyyxzxzyzxyyxyxxyzyzzzzzzxyyyyyxzyyzyyzy{zyyyyyxyyzzzyzzzzxyzyzyyzz{zzzyyzzyyzyyyyyz{zzyzyzxyzyzxzzyzzz{{zzyyzyyzzzzz{zzyzyyzyyyzzzyzy{zzyyzyzyzzyzz{z{z{zzzzyyzzz{yzyz{{zyzyyyyzzzzzz|{zzxyzyzyzzzzzzz{{yzzzzyzz{zzyzz{{zzyzyyyyz{zyz{{zzzzyyzzyy{z{zzzzzyyxyyyzyzzz{xyyxxxxyyyyxyzxyxyzxwxyyxwxzyxyyzzyxyxxyxxxzyyzyyzyzxxyxxxyxyzzzzzyyyyyxwyyyxyyyyzzyxyxyyxxyzyxyyyxzyyxxxyyyyzxxzzzyxyxwxyxyxyyxyzyxyxyzyxxyzyyxzyzyxxxxyxxwyzyyyyyyyyyxxxxyxyzxzyyyxxxyyxxxzxxyyyzyyyyxxyyyxzyyyyzyyxyyyyxyzxzzzzyxxyxyxxzxyyyyyzyyxzyyxxyyyyzyzzzyxxxzxxzyxyyzyzyyyzzyxyxyyzzzyyzxyyxyxxyyzyyzyzzyyxzyxyyyzzyyyzyyyyxyyyxz{y{yzyyxyyyzyyyzyyzy{z{yyxzyyyyyyzzz{zxzyyyzyyzz{zzzzzzxyzyyzyyy{zyz{yzzyyyyzyzyzz{zzzzzyyyyyyyzzz{zzzyzyzyyyzyyyzzzz{zzzyyzyxz{yzzzzz{zyyxzyxzzzzzyy{{zzyyxzxzzyzzyz{zyyyxzyyxzyyyyxxyyxxyxxyxwyyxyyyzxyyxyywzxyxyyyzyyxxyyyxxyyyyyyyyzxxxxxxxyyxzyyzyxyxxxxyyyyyyyyxyyxyxyxxxyzzyxzzyyzyxyxyxyzyyyyyxyyyxxxxxxzyyxyzyyxxyyxxxyyyyyzzyyxxyyxxyxxyzyyzyyyyxxyywxyzzyyyyyxyyyxxxwxyyyyyzxxyxyzxxwxxyxzyzyyyyxxyyzyyyyyzxyzyyxwyyyzyzyyy{yxyyyxyyzyyzzzzyyyyyxyzyzyyyyyzzxyzxzxyyyzzyyzyzyyyyyxxyyyyzzzzzyyxzzzxyyzyyzzzzyzxxyzyxyy{zzyzyyyzxyyyyy{{{zzzzzzxyxxzxzzyzzzzzzxzyyyy{zz{{{yzzyzyyyzzzzyzzzzzz{yzyyyzzz{z{y{zzzyzzzyzzyyzzz{zz{zzxyzyzyyyyzz{{zyzyzzyzzzzzzzyzzyyyzxyyxzyyyz{zzyyyyyyxyzzyzzzzzyxxyyyyzzyyzyyyyxyxyyxyxzyyxyzyyxxxxxyyzzyzyzzyyyxyxxxyxyyzyzyyzxyxxzxyyy{zyyzzyyxxxyxxyyzxzyyyyxyxyyxxyyzyzyzyxxyxyxxyzyyxyzzyyyyyxyyyzxyzyyyzyxwxyxyxyyzzzyzyzyxxxxxxyxyyyxyzyyxxxyxxyyyzzyyyyyxyxxyxyyzzyyxyyxxxyxyyyyyyxzyyxxyyyxxxzyxyyyyzyyyyyyyxyyxzyzzyyxxyyzyxzzyzzzzzyyxyxxyxyzyyyyzzyyyxyyyyxzzyzyyyxyxyxyxyzyzzxzzyxyyxxyzyzyzzzzyzyyzzyyyyyzzyzyzzyxyxxzxyzzzzzzz{yyyzyyyyyz{{{zzz{yyyzzyyyz{yz{{zyyyyzzzzzzyyzzzzzzzyzzyxy{zzzzzz{yzzyxzy{{zy{{zzxyzzyxyzyyzzzzzyzyzyyyyyzzzzzzz{zzyyzyyzzzzzzzzzyyyzyzyxzzyzzzzzyyyxyyxyyzzyzzyyxyyxxxxyyyzzxy{yyyyyxxyyyzzxzzzyyzyyyxxxyyxyxzxzyxyxxzxyyyzxyzzzyxzyxxyxyyy{yzyzyxyyxxxxxzxxyyyyzyyyxxyyxxyyyyyyyyyxyyyxzxyyzyyzyyyzyxyxyyyyyzyyyxyzyyxxyyyxyzzyyxyxxyyyyyyyyxyxyxxxyxwxxzyyyzzzyxyyzyxyxyxyy{zzyxxyyyyyyyyyyzyzyzzxzxzyyy{yxzzzyyyyyxyyyyyyyzzzyyxyyxyzzy{yyyzzyyyyzzyxyyzyzzzyyzxyzyyyyyzzzz{zyyyyzyyxzzzz{zzzyxyy{zyyyzzzz{{zzyzyyxyyyyzzzzz{yzyzyyyyyzzzyz{yyxxyyyzyzzzzzzzzyyyyzzyzzzzzy{zzzyzyxzyyzzyz{zz{zzzyzyyz{zzzzzzzzzyzyyyzzzyzzz{z{zzzyxyyzz{zzzzzyyzxyyyyyzz{y{zzyzyyyzyxzyyzzyyzzyzyxxyyyyzyzyyzyyzzzyxyy{zyxzxyyyyyyxxxyzyyyyyzxyyxxyyyyxzyzyzyzywyyyyyyyyzyy{zyyyyxzyyzzyzzyyzyyzyzxxxyyyyyzzyyyyxyyyyzzzyyyzzxyxxxyxyxyyzyxyzyyyxyyxxyyyyzyyzyywyyzxyyyyzzyyzzzyxyyxyxy{yyyzzyzyyzyyyxyyyzzyyxyyxxxxxxzyyyzzyxxzxyxzyyyzyzyzyyyyzyyzxyyyy{zy{yyyyxxyyyyzyzzzzyyyxzyzyyyzyyzzyyzyxyyyxzzyzy{z{zyyyyyyzyzzyyyzyyxxyyyyyzyzzzyzyyzyzzyyzzyyzyzzzyzzzyyyyzzz{{zz{zzy{yxyzzy{zzzzzzyzyzyzyyyzz{zzyyzyyzyyzy{zz{zy{zyzyyyyyzyzzyzzzzz{{yyyzzzy{z{zzzyxzzyxzyzz{{zzzzyzzzyxyzzyz{zz{yxzzyzyyyz{yz{z{zzyyxyzyzzyyzzyzzyyzzyyyyy{yyzyzyxywywxxyyyzzyzzxxxyyxxxyzyzzzz{yxyyzyyxyyyzyyzyyxxxxyyxyyyyyxzyyyxxxyyxz{zyyxyzxyzxyxyyyyyyyyzyyyyxyxxzxxyyx{yyyyyxyxxzyyyxxyyzxxxyyyyxyyyyyzzyyzyxxxyxyyyyzzzyxzyxxyyxxyyyyxzzyxyyxxxxxzzyyyxxxyyxyzyxyyxyzzzzxxxyyyyxyyyyzyzzyzzxyxxyyzzyyyzzyyxxyyzzyyzyzyzyyyyxyyyyyzyzyzzzyyyyzyxxyzyyzzzzyyyzyyyzyzzyyzyzzyyyzxyyyyzyzzzzyyyyyzyyzzzz{zzyyyyyyzzyzzyzyzz{yyyzzyyyzz{zzz{z{yyyzyyyzzyyzyzzyyyzyyzzzyyzz{{zzzzzzzzzyzzzy{{{zzzzxyyzyzzz{zzzxyyzyxxzyz{z{zzzzyyzyzyyyzzzzzzzyyzyxyyxyzzyzz{zyyyzxyxy{zyzyzzyyyyyxyyyyyyzzzyyyyyyyxxwyzyyzyzzyyyyzyxxyyyyyz{yzyyyyyzxyyyyzyyzzzyxyxxxxzyxzyyyyywyyywxzyxyyyyyyxyyyxyxxyyyxxzyxxyxxxxyyyyxyy{yxyyxyxyxyyyzyzyzyxxyyxyyyyyzxyyyxyyyxywyxzzyyxyzxxyyxxyxxyyzzyyyxxzyyyxxyyyyzzyyzyyxxxxyyyyyzzzzyxyxzyyxxyyyyyyzyzyyzwyyyzyzyzzyyyzxxzyyzyyzyzzzyzxyywxyyyyzzzzzyyyxyxyyyyzyyzzzzyzxzyyxzzzyxyzyzyyyzyxx{{yyyy{zyyxyzzzyyzzzyz{zyyyyyzzxzzzzzzz{zyyyzyyzzyyzzzyzyyyz{zyyzzyzz{zy{zzyy{xzz{zzzz{zzyzyzzyyz{zzzz{zzyzzyyzy{z{zzz{zzyyxzxzyzyzz{zz{yzyyzzyzzzyzy{zzzyxyyyzyyzyzz{yzzzyyyyyzzyzzzyzyzyyyyyyzzz{zzzxzyyyyyxxxxyyzyyyyyyxyyxxyyzyyzyyyyyxyywxxyzyxyyzzyzxyxyxyyxzzyyyyyyyxxyyx{zyyxyyzyxyxyxxxxyzyyyzyxxyyyyyyzzzyyzzzxxyyyyxyyzyyyzyzyyyxxxxxyyyywxyzyxyyxxyyyyyyyyyyxxyyyyyxyyzyyyz{xyyxyxyxxxyxyyyyzzxxxyyxyyyzyzx|yxyyyyxxyzyzyy{zzyyxyxxyzyzyyzyzzxyyxxxzxyyzyzyzyyyxzxzyzyyyzzzyyyxyzxyyyyzzzzzzyyyyxyzxzzzzxz{yzxyyyyxxzz{zzzyxyyyzzyyyzzzzz{{zyyzyyzyzzzy{zzz{zyzyzyyxzyzzzz|zzyyyzyyyzzzzyzzzzxyzzzyyyz{zzz{z{yyyyzyyzz{zz{z{yzyyyyyyzzz{{z{zyxyyyyzyzyzzzz{zzzzyyyyyzzzzzzzzyzyxyyxxzzzzzy{yyyxyzyyyzzy{zz|zxz{yyyyyyyzzzyyzyxyyxxyyyyyyyyyzyxxyyyxxyzyyzyzyyyyxyyyxzyzyyyzyzxxyxzzyyyyzzzzzyz{xwxyxxyzzyyzzxyyxyyxyyyyyzzzzyyyxxyxxzyzxyyzzyyyyyxxxyyyyzyyywyxxyxxxxyzyyyyyyxyyxyyyyyzyyyzyyxyxyxyxyyzz{zyyzyyxzyyxyzyxyxyzyyxxyxxyyzyzyzyzxyyxyyyxyzzzzy{zzyyyyyyyyzyxzzzzyyzyyxzzyyzzzyz{yyyxwyyzzzyy{zzyzyyyzxxy{yzyz{{zyyyyyyyyyyzzyyzxyyyyyyzy{zz{yzy{zzxxyyyzyyzyy{{yxxzyyyyzzzzzy{z{zyzyyyyyyzzzz{{zzzzxzzyzz{zzz{z{yzyzzzzzyzyyzz{{zzyyzzyyz{zzy{{z{zy{yyzzzzzzzz{zzyyxzyyzzzzzzzzyzyz{zyyy{{zzzzy{zzzyyyyyyzzzyz{{zzyyyyyyyzzzzz{zyzyyxyzyzyzzyzzyyzyyxxxxyzzzyyzyyxxyxyyyzyzyyyzzyxyyyzxxyyyyyzyyyxyyxywyyzyyyyyyyyxyyyywxxyyyyzyyzyyyxxyyyxxy{{yyxxxyxxyyy{yyzyxyxxwxyyxzxyyxzyyxxxxxxyxxyzyyxzzyxyxyxxyyyzyzyyyxyzyxxxwyyxzyyzyyyyxyxxxyzyxyyyyxxxxxxyyyyyyyz{zyyyyyyxxyyzyyyzzxyyyyyzzyyzyzyyzxyzxyyyyyzyyyzz{yxyyyyyxzyzyzyzzzxzyyyyyx{yzyzzyzzxyyxxyzyzyyyzzzyyyyzxxzzzyzzzzz{yxzzyyyzzz{{zzyy{yzyyyzzyzzzzzzyxyyzyyyzzyzz{zzyyz{yzzzzyzzzzzzyyyyy{z{zxzzz{zzzyzzzxyz{zzzzzzzy{yzzzxyyz{zz{{zyyzzyyz{zzzzzzzzzzzyyzz{zzzzz{{zzyyyyyzyyyzzzzzyzyyyxzxzzyzzyzyyyzyyzyyxyzyzyyyxyyxxyxyyyzyyyyyxyxxyxxyyxzyyyzyyyyyxxxxyyzzzxzzxyxxxxxxxzzzyyzyyxyxxxywyxzyyzzyxyyxyxxwyyyxxzzyyyyyyxyxyyyxyyyyyxzwxyxxyywyyyyxyxxxxyxxyyxyyy{yyyxxxyxyxzyxzyyyzxyxxxyxxzxyyyzzxxyywyxxyyxyyzwzyyyxyxyxyyyzxyzyyyyzyyxyyxyyyyzzxyxxyxyyyyy{yzy{yyyyxyyyyyzz{yyzxyyyxzxyzzyyzzy{yyzyyxzyxyyzzyzyyyyxyyxyyzyyyzzzyyyyzyxyzyxyzyyyyyyzzyzzyzyzzzzzxzzxzyyyzyyzyyz{yyyzyyxxzzzzzz{zzyyyzyyyy{yyzz{zyzyyyzzzyz{{zzzzzyyyyzyyzzy{zzz{zzzyyzyyyzz{z{z{yyzzyyy{zzz{zzzzyzxzyxxyyzzzzy{zzyyyyyyyz{z{zzzzzyyyyyyxyy{yyyzzyzyyyxyyz{yyyzyyxxwyxyxxzyyxzyzzyyyxxwyyzyyyzzzyyyyxxyyxyyyyzzzyyzyyxxyxyzyyyzzzyzzyyyxxyzxzzzzzyyyxxyyxy{zxxzyyyyyyyyxyxyzyy{yyyxyxyxyyyyyyzyyzxyxyxyyxyyzyyxzyzxyyxxxyxyzyyyyzyyyxxxxxyzxzyyzyyyyyxxyxxyyyyyyzzyyxyxxxxyyyyzzyyyyyzyxxzyyyyzzyzyyxyyyyyzzzz{yzyxyyyyxy{yyzzzzyyyyxxyyyyzyzz{zzyxyyzxzxzxzz{zzzzxyyyyyyzyzyyzzyzyyyyxzzyyyyyzyyzyxyyzzyyzzzy{z{zzyzyyyzzzzzzzz{zzyzyyzyy{{yz{z{{yyyyzyzzzzzyzzzzyyzyyzyzzzzz{z{{zzyzzyyy{zz{z{zzyzzzyzy{yz{{z{yzyyzyzyzzzyyzz{{yzyyzyyyz{zz{{zzzyyyxyyy{{zzyzz{zyyyyzyyzzzyyzzzyzyyyxyyyyzyyFr6b{{{|z{z{||{|{}|||{z||z|z{{{|||||{{{{{{z{{{||{||{{z|{z{{z|||{{|{{|{z{{{{{z|{{|||{{{{z{z{{{z{{||{{z{{{zz{{{|{||||{zy{zz{z{|||z{z{{zzzzz{{{{{z{||{{{{|zyy{{z|{|{{{|z{{y{zz{|{z|{||{{{{z{z{{{{{{{{|yzzzzzz{z{{{z|{|z{zzz{zz||||{{|{{|{{zz{z|{{{{||{z{{{|{{{{{|{{{||z{{z{{z{|{||{||{{{{{{y{z{{z{||{{|{{{{{{z|{|}{{}||{z{{{z{|||{|||{{{{{{z{{{|{|{{|{{|{{{{|{|{{||||}|{{|{{{{{||}|}||{{{|||zz||}|}{{}||{z|||||||||||{{{{{{||||}||}||||{{{{{{{||{||||}|z{||||{|||{||{|||{|||z|}||{{{||z{{z||{|{|||{|}|||z{|{|{||}|||{|{z{zzzzz{{{{||{|||z{{{{{{|}{|}|||{||{{z{}||{|}||||{{{z{{|{{|{|}||{{|{|{z}{|||{|{|{{zz{zz{}{{||{|{z{zz||{{{|{{{|{{|{z{{zz|{{|||{{|{z{{{z{{{{|{|{|yz{{zz{{z{{{z{}{|{{|z{z{{||{{|||{{z|zz|z{{{{||}|zz{|{zzzz{{{z|{{{{|{zzzz{{{z{|{|}z{{z{{z|{{{||||{{{{{{{||}|{{|{|{{{zzz|{|{{||{{|{z{|{{zz{{|{}||||{{{{{z|{|{|z|{|{{z{{{{{||{||||{{{z||{{{||{|{|{{{{{|{{|{||||{}{{{{{{{{{{{{{|||||{{{{{|{{}||}}|}|{{{{|z{{|||||}|}{|{{{{|}{}||}||}|{{{{{{{|}||}|}}|{}{||||}}|~|||{|{{||{{{|{{|}}|}||{{{{{{||||{}{||{|{{|||{||{|z}||||{z{{z||||{|}{|{{zzz{z{|{{{|||{|{z|z|||}{||||}{{{{{{z{|{{{|||||zz{{{{{||{|{{||{z{yz{{z{{|{{{|{{{{{zz{z{{||{{||||{z{|{{{|{{{||{|z{z{z{{{{|z{}{{|{zyzzzz{{{{{|||{zz{z{{zz{{{{{|{z{zzz{zz|{z|||{{{z{{{zz{{{|{{z|{z{{{{z{{z{{{z|{{z{{z{z{z{||{{|{{{{z{|{|{{|{{{|||{{{{{z{{{|{z||{|{z{|{{{|{z{{|||{z{{{z{{{{{|{{|}||z{{{zz|{{|{||{{|z{{{{{{||}{|||||zz{|||{{||{{|{||{{{|zzz{{|||{||{{{||z{{{|||||{|z{{||{{{|{}||z}|{{{|{{{{}}|||||}{{{{{{|{{||{|||}||{|{|{{|}{|}||{|}{{{{{||}|}||||{{{||{z|||||||||||z||{{|{||||}|}|{{{z|{{{{{}{{{||{{{{{{{|{||||}{|{{|zz|{{{{|}|{||{{||{{z||{|{|||{||{{|{{z||||{||{{{{{{z{|{||{||{{{z{{{|z|||||{||z{{y{{zz|||{zz|}{{|{{{zz{|{|z}|{{{{{z{z{{||{{||{z|{{z{z{{{{|z|{{|{zz{zzz{z{{zz|{{{z{zzzzz|{{{z|{z{{{zzzz{|zz{{|{{z{zzz{z{{{z{{{|{{{zz{z{{|zz{|||{{zzz{{{z{{|{{{{|{{{{{|{{|||{z||{|{{{zz{{{{|{{{|zzz|z{{z{}{z{{|{{{zz{{|zz|{||||{{{|{{|{z|{{||{}|{z{{{{{{|{{|||||{||{|{z{||||{|||{{|||{{||||}|{||{{{||y{{{|{|}|||}{z{{{{z{||{||}}|{|{{|||{||||||||{||{}|{{|{||||}||{{{||{|{{||{|{{z{{|{{{{{|{}|{}||{{{{|{||||{{||{{zz{{{||{{||{}|{|{{{z{z|{||{{{|{z|zzz{{{|{||}|||}{||{z{|}{|}|}|{{|{{{{{|{}||||||{{{{yz{{|{z{{{||{zz{zz{{|{|{{{|}{|z{z{z|{|{||{{{z|{{{{{{|{{{|{{{{{|{{z{z{|{{{{{{{{{{z{{{z{|z|||z{zy{z{{z{|{{{|z{z{{z{zz{|{{|||{{{z{z{{{|{|z|{{{zy{zzz{{|{{{{|{{z{{z{z{z{{|{||{{{z{{{{z{{{{{z{|{|zz{z{z{{{|{{{||{z{z{z{{|{{{{z{|{{{zz{|{{|{{{|{{{{{z{zz{{|{{{||{{z{{zz{z|{|{}|||z{{|{{z{{{{{{{|{{||{{{|{{{{}{|}|z{{z{{|{{{||{}{{}{|{z{{z||{{|||{{{||{{{z{|{{{|}|{{{{{{||{|{}|}|}||{|{{{|{||}||}||{{|||||{}{||||}|{{{{{{{|{|{||}}|{}{|{{{|{{||||||{{{z|{{||{|||{||||zzz||{|{{|{{{z{{y{zzz{{{|{||||}{{{{{{|{}{}|||{z|{{{{{||||{|{}||{|{||{z||{||{}{{|{{z{{|{||||||{{{{zz{{{{{{{{{|z{zz{{zz{{|{{{{{{z{{|zzz||||{}z{{{zzzz{{{{|{|{{||{z{{z{z|{{|{|{{|z{zzzzz{{|{{{{{zz{zzzz{|{|{{}|||{{{zzzzz{{|{{{|{{{zz{{{z{{zz|||z{{{||zz|{{{||}||{{zzz|z{|{{|||{|{z{{{{{{|{|{|{|{z{{{z{z{|||{||{|{{{{z{{{{||{|||{z{zz{z{|}|{|||{|{|||{{|{{||{|{|{z{{{{{{{|{{|{||{|z{z{|{{}|||{|{||{z{z{{}|||||{||z{{|z{|}|||{{|}|{}{{{{|{|||}||||{|{{{{||||{|||||||||{z}}}}||||{|||{{{z||}{|{|||{|{|}|z{|{||||||||{{{{{z{||{|||||{{{{{zy{}}||z|{{z|{{{|{z|{{{}|}{|{{{{|{{||||}||}|{||{{|{||{|}|}{|z{{{{{||||||}|{{{{zz{|{|||z{|{{{{{z{{z||{|z|{|{{|{{z{{z{{{|{|{|{{z{zz{{z|z{|||{zzzz{z{|{{{{|{|{z{{{z{{{||{|||{zz{z{{zz{||{{|{{{{{{zz{zz|{|{||{{z{{z{{{{|{zzz{{{z{z|{{z|{z{{{{{{{|z{{{z{|||{{||{{{{{{{{{|}{||}{{{{|{z{{{{|{{{||z{|yzz{{{||||{||{|{z{y{{||{{|{|{|{|{|{z{{{{{{|{{{z{{|{{{{|{|{{{|{{||{z{|{|}|}||}{{|{{{{{{||||||}|{{|{{z{{{||||}||{{{|{|{|||{|||{{|||{|||||||}|||}|{|}|{{||}|}}|}|{|{|zz{}||{|}||{z{{|{{|||{{{|}}{{|{{|||{||||||}{|z{{|zz{||{{{||{{{{z{{z{|}|{{||z{{{|zz{z{{{{~||{||{|{|{|{|{}|}{|{{{{|z|{{||}}}{|{||{{|z|||||{|}{|{{{|{{|{|||{||{|{{{z{{{{||{|{|{{|{z{{z{z{{|}||{}|{{zzz{||{{{{{|{|{{{{{{|{{{{||{z{zz{{z{{{|{{}||{{{{{{z|{|{{||{{{zz{{z{{|{{{{||{{z{{z{{z|{{|{|{{{{{{|{zz{{|{{||{{{z|{{{|z{||{|{|{z{zz|{{{|{|{|{{{{{{{{{z{{{{}||{|{{|{{||||||}}|{{|{{z{{||}{}{{|{{{{{z{{{||{|{|{|{z{{z{{{||{||{{{{||{z|{||}|{}}|{{{|{||{||||||}|{|{|{{{{||}||}|||{|{{||{|||}|{~}||{{{|{|{||||}|}|{{{{||{{||||}}}{||{{{|{||{||||}|{||{{|||{|{|||}|{{{{|{|{|{|{}|}{||z{{{z|{|{|}|||{{||{{z|||{{|}|{{{{{z{{|{z{z}|~|}|{{{|{{||||}}}}||{|z{{{{||||||}{|{{{{{|{}|{||||z|{|{{{|z|{{|{{{{zzz{{y|{|||{||z{{{{z{z{{||{|||{{{{{{z{z||{{{{{}|{{z|z{|z{|{z||{z{zz||{{{{|||{|zz{{zz{{|{{z{{|{||{{{{{{{{|{}{|{z{{{zzzz{|{{{{|{|{z{zz{{{}{|{||{zz{{{{{y{{||{{{{z{z{{{{z||{{||{|{{z|{{{|{{|{{|||{{{|z{{|||}z|||{z{{{{{|{z|||{}|{{{}{{z|{||{{|{|}{{{z{|{{|{{||}z}{{{{||||{}{|}||}{{|{|{{{}{{{|}{||{|{{zz|{}|}{|}|||||{{|{|}|{||}}{{{||{{|||||{}{}||{|{}}|{}||||}||||{{{|{||{}}||||{{{{{{{|||||}}||z|{}{{||{||{}}}|{{{{|z{{{||||}}|{z{{{{{z|}|||{|{{{{zz{z{|||{|}|{{{{{|z{{||}{{||||{{{{{{|{|}|{{||{|z{{|{}|{|}||}{z|z|z{{{||{{{||{z|{{|zzz|||}|||{{|{z{|{|{{||||z|z{{zz{z{|||||{{{{{{z{{z|{{{{{{|zz{z{zz{z{{||||{{{{z{zz{{{{||{|{z{{zz{yz{}{{z{{|{z{{{{{z|{z{{{|||z{{{zzz{{{{z{{{|y{{z|{z|{|{|{|{{z|{{z{{z{|{{|{{{{{{{z|z{||||{{|{z{z{z|z||{{{||||{|{{z{z{{||{|||{|{{{z||{||{||}{{|{||{{{|}|{{|}{}z{{|{{z{|}{|}||||{zz{{z|{|||||}{{|{{{{{||{{|||||{{{}|{z}{}{|||}|{{|{||{{|{|}}|}}||{z{||||{||||||z{{{{{{{||||||{}z{{|{{|||{|{}}||{{{|{||}|{||{}}||z{{z{{|{||||{}|{{{{{zz{{||{||{z|{z{z{{{{|z|||}|{{{{|{{{|||||}}}|{{{{{|}{||||{|||{z{}{{|||}{}}||{{|}{{{{||{{{}{|{{z{zz{z||{|||{|{{{{{{{{||{z{|{z|{{{zz{|{{{{|{{zzzz{{zz|z{{z{{|zz{yz{zz{{|{|||{{{{zzzzz{|{||{|z{zz|z{{{z||||||{{{zz{y{z{z|{||}}z{{zzzzzz{{|{{{{{{{{{z{z{|z{|{|}|{{{{z{{||{{|{{|{||{{{|||{}{|{{|z|{{z{{z{{|{|{|{{{{{|{|{|{||||{{|z{|{|{z{{|{|{|{{|zz{{{{{|||{{|{|{{|{{{{{{||||}|{{{|{|{{|||z||}|{{{z{{{z{{{{}||{|{||z{{{||{||}||{z||||{{{}{|}}|}|{{|||{{{||{}|||{{||{||||}|||}}|}|z{z{|{{|}{|||}||{{|z{{{{||{||~|{|{z{{{z|{|{|||{z{{{z{z||{|{{|{{{zy{{||z{|z{}}}{}z|{{}{}|||||||}z||zz||{|{|||}|{z{z{{{{||{|||}|{zz{{{{y{||{|{|}{{{{z{{{{|{{{|{}{{{{|{|{z||{|||{{|{zz{{z{|{||||{{zz{{{{z{{z{{|||z{|{{zzz{{{{z|{|{z{{z{zz{{z{{|{{{{{{zzz{{{{{{z||{zz|z{{zz|z{{z{{|{{z{z{{{{{|{{{{{{{{{zzz{}{{{{|||{z{zz{{{}|{||||{|{|{z{{{{{{|{|{{{{{{{{z|||{||~{{|{|{{{{z{{||}|{|{|z{{{{z{|||||{{{y|{|{{|{{{{||{|z{z{{{|{{}}{}{|{{|{{||{|}{{||{{}{|{{{|{|||{{||{{{{{{{z{|{|||||{{{{{{{{{z{||{||{|{{{||z{||||{|}||{||||{{||||}||||{z{|z{{|||||~|}{|z|{{{|||{|||}||{{z{{{{|{||||}{{|{z{{|z|{{||{|{|{{z{{|{{|z|{{}|}||{z}{||}|}{}|}|z{{{{|{{{|||{}}|{|{{|{{|{{||{||{{{{{{{{{|||{{|{|{|{{{{z{|{|{{}{zz{{z{z{z{}|{{{|{z{zzzz{{{|z{||{y{zzz{{z{|{{||{{{{{{{zy{z{{{{{|{zzz{z{{{z{{|{|{{z{z{{{zz{{|||{{||{zzzzz{z{|{{{|||zzzzz{z{{z{{{|{zz{z{{z{z{{{{{|{{z{z{{|z{||{{|{|{zz|zz|z{{|{|{||{{|{{z{{{{||{||{zzzz{z{z||z}||||{{{z{{{{{{|||{}{{|z{{{{z{{{|{|{|{{}|{{{z|{|||||}{|{{|{|{}{||{|||z{{{z{{{}||{|||||{z{{{{{||}{|||||z{{{|z{{|{|}||||{{|{|{{|}|}}}}||{{{|{{{|}||||||{{{{|zz{|||||||{}|{{{{z{|{}{||||{{{{{|y{{|{{{|}{||zz{zzz||{|{{|{z{{|z{{z{||{{}}||||||}|{||}|||}~|{|{}{{{|||~}}}|||{{{{{{||{||||||{|{z{|{|{{{||z||{{{z{{z{||{|||{{{|{{z{{{{{{z|}{{z|{z{zz|||{{|{{{z{zz{{z|{{z{{|{yz{{{{{z|{{{{|{{|{zzyzz{{{|{||||z{{{{|{z{z|{{{}{{{z{{z{z{{{{z|||{{zzzzz{|{z{z{|}{z{{{{z{|{{|{||{z{{{{{{{|{|{|{z|{{{z{|{{{{{z|{||{{{{{{z|||{{||{{{{zz|z{z{z||{}{||{zz{{{z{{{{{||{|{{{{|zz{|{{{{|{|{|{|{||{|||{|}{|{{{{|{||}|||{|||{|{{z{{{}}||}}{}{|{{{{{|||||{|||z{{{|||}|{||}|}|||{{{|z|}||||}||{|{||||||}||||}||{{|{{|{|||||}}|{{|||{{}{{|{{||{{z{|{{|||{|{||||{z{|{{{{{{{|||||{|{{{z{{{|{{}}~}{|{|||||}}|}|}}{{{{{{||}{|||||||{|{{{{{|{{|{|}}{z|{{z{{{|||{|||{z|{{{z{|{|}{|||{{{{z{{y{||{|{{{{z{{{{zzz|{||{|{{{|{{{y{{|{{{{z{zzz{zz{{{{{{|||z{z{{z{zz{{{{|{{{{{{{zzz{{||{{{|{{{{z{{{z{zz|z{{{|{{{{zz{z||{||{|{zz{|{{{{{||{{||{{{{{{{z{|||{{{|{{{{|{|z{{{{{{||{{{|{{{{{{|{|||||{|{{{{{z{|{{|{|{||{{{{|{||{z{|{z|{{z{{|}|||||{{{{{{{|z{|{||||{|{{{{{zz{{}||{|{||{|{|{{||{|}|{|{|{{{|z{z|||{|}||{{{{||||||||||{||{|{{|{|{|}||}}}|{|{{{{{||||||}|||{{{||{||{||||}|||{{{{{}||}{||||{|{{{|{||{{||}{|{z|zz{z{{{}|{{|{{|z{z{{{|{zz||~}||||||||}||{|~}{{||{{{{|{}|}|||{{z{|z{|{||{}{|{{{{|{{{|||{}{|{{}{|zz{zz{{||||||{{{{{{{z{{{{|{{|{{{zzzz||{|{|||{z{{zzz{z{z{|{{{{z{zz{{zz{{{{z{{{zz{{z{{{{{{{{{|{z{{{zzzz{{|{{{{||{{zzz{z{{z{{{{||{{{z{{zz{{|{|z|z{{{{{z{{|{|{{||{{{zz{z{{||{{|{{{z{z{z{z|{|z{|{|{{{{{z{{|{|||{}|{|{||z{{{||z||||{{{zzz{z|{{{{{|{{{z||z{{{{{{|{{|{{{|{|{||}{||{||{{{{{{{{|}|{|||||{{{{{{{{}|||||||{{{{{{{|||||~||{{||||{{{}|}|}||}|{||{|{|||||||||{{|z{z{||||{||{|z{{|zz{{||{|||}{{|{{|{{{{||||||{{{z{{{{{|||{||{|{}{{z{{{|||{{|{{z{zz{{{|{z{{}~}||||||~|}}}}}||}||}{||{{||||}}}||{{{{|{|||}|}||||z{}{{{||{}{||}|{|z{|{|z{|{||||||{{{|{z{{}{{{{|z{{|z{z{||{|||}{{|{{{z|{{|{{||{z|{z{z{y{{{{|{{|{{|z{z{yz||{|||{||||{{z{zz{|{{||}}{z{{{z{z{||{{|||{{z{{{{{{{z|{}|{{zz{{{{z||||{|||{|{z|{{z|{{||||{{{{{{y{|{{|{||}|||{{{{z{|||{{|||z{|||{{{|||||}||{{|{{||z{|||||}|{{{{{{{z|}|{|{|||{|{{|{|{}|}|||||{}|{{}{}||{{}|||{{{{{{{}{||||||}{|{{{{{|||{}|||||||{}||}|{|||||||||{}{{{~}}}|}~~{{{{{|{|}}||||||{{{{|||{|{{||}|{|{{{{}{}|{}}||}|||z{{|{{|{|}||||{z|{{{{|||{|||||||zz{{{{||}{~}~|}{||{}||}}||}}}{|}{{{{|{}|{||}~||||{|{||||{{}|}z|{{z{{{||||||}|z{zz{{|z}z|||{|||{{{{{{{||{z{|||{z{{{{{{{{{{z{||{{{zz{{z|z{{|{|{{{zz|z{{|{{|{{||{{{{z|{z{z|||{|z{{{zz|{z{{|{|{{|zz{{|{{z{{|{{{z{z{{{|{zy||{||{{|{{z{{zz{{{||{||||{z{|z{{|||{{||{{{{z{z{{||{{{{{|{{{{z{{{{||{{|||{{{{zz|{{|{|{|{||z|{{{{z{{|}|{||{{z{{{{{|{|{{{|}{{{|{{z||{}||||}|{{{|{|{{|{|||||||||{{{{|}}}||}||||{{{z|||{{||||||{z|{|{{{}||||}|{||||||||||{|||}{{|||}{||}}|}|||{|{|{{|{{{|||}||{{{|{z{|||~||||{|||z{{{{}|||||}||{{{{z{{{{}|||{{|{{{{|zz{||||~}}||{||||}~}}~|||}}{}{z{|}||||||||{{|||{|{{||{{|}|{{{{{||z|||{|{|{zz|z{zz{|{|{{||{{|{z|{z{{{|z}{{{zz{{{zz{||{{{{|{{{zzzz|{z{{|{{{{{{{{z{zzzzz{{||{zz{zz{z{{{{|z||{{{{zz{y{{{|z|||{z{{{{z{{{{z||{{{{|z{{{z{|{{{{||{{|y{{zz|||{{|||{{{z{{z{{||{{|||{{{zzz|z{|{{|{{{{{{|{{{{|{{{{{|||{|z{{{z||{|||{||{{{{y{{{|{|||||{|{{z|{z{|||{||||{{{z{{{{|{||{{}}{{{z|{||{{|{{|||{z|{|{{|{|||{|{|{{||{||z|||{}}{||{{{|}|}|~|}||}{|{|z{{||}|||}|||{{{{|z|||}|{}||{{{{||{|||||}||||{|{z{{{||{|||{|||{{{z{|||{{{|||{|z||{{{|}||{{||{{{{|z{{{{|}|}~~||{|}{||}}}{||}|||||||{{|||{{|||||{{|{{{|||{|}|||{|{{{zz{|||{|{|{{|{z{zz{{{|z|{|{{{{{z||{{{{{||{|z{{{z{|z{{z{||{{{|zz{z{zz{{{{{|{{zz{|y{{{|{|{{{|z{{zzzzz{{{|{{{|{{{{{z{||{||}||{{{{{{{z{{{{z{{{z{|z{z{zz{{zz|{|{z{{{{{y|z||{{{||{{{{zzz{|{{{{|{{{{{z{{{{|{|{|{z{||{z{{{{{{{|{|{|{|z|y{{||||||||{{{{{z{{{||||{{||{{{|{zz|{||{}{|{{|{z{{{|{{||||{{|{{|{||||{{||||{{z}{z{{{{|{{{|||{{{{||{|{||}||||{|{z{|{|{{{|}|}|{|||{{{|||}|}}|}|{{z{||||||||{||{{{{}{|{{||}}|||{{{||{|{||{{}||{{{{{z|{{}||||{||{{z{|{{{{z|{||||{zy{zzz{{{||}|~{|{{}|{|||}|}||}||{|{||||z{}|}}}|{{||||z|{|{|||}{z{{{{|z{{|{{|}||{{{yz{z{{{{{|||{z|{{z{zz||{{{|{{{|z{{z{{||{{|z{{{{z|{{{{|{|{{|{z{zzzzzz{{{z|{|{z{{{z{zz{{{{|{|{{z{{zz{{{{||{{{{{zz{{zzz|{{{{{{{zz{{{zzz{{||{|{{{{{z{{zz||{{|{}||{{{{z{{{|{{|||{{{{{{z|{{|{|{|||{{{zz{z{||{{{{{}{|zz|z|z{|{|}|||{{{{{{{{{|{|{||{||{z{{|{|{||{{|{|{zz{{{{|{||||||{||{{{{z{|{|||{|{{{{z{{{|{|{{||||{{{{{|{{{||||}}{|}{{||{{||||}}{|{z||{|||}||||}|||{||{{{|{}{||{|{z{{|||z|}}{{||||{{{|{{|}|||{||||{zz{z{|||{{{|||{{{{|{|{||||{{|{{{z{|{{z|{{|{~|~}}|}|z|{|~|{|}}||{||{z|{~{}|{|}}|{{{{{|z|||{{}|||||z|z{{{}||{|{|{|{z{|{z{{|{||||{{|{z{z{{{zy|||{{z{{z{{{{{|zz|{{zy{z{{z{{{{{{{{{y{zz{zz{{{{|{{|{z{zzz{y{{{{{{{{z{z|{z{zz{{|z|{||{{z{{zzz{{|{{|{{{{|{|{{{{zz|{{|{{zzz{z{z{{|{|||{{{{z|{{z||{{{||{z{{zz{{{||{{{||{{{{{{z{z{||{|z|}{||{{{{{{||{|||{z{{{{{{z{||||{|{{zz{|{||||{{{{||{{{|z{zz{||}|{|{{{{{{{|{||{}{{|{{||{{{z{||{|||||||z{|{{{|||||}||{{{{{{z{{||}||}|{{z{z|{|}||}|||||{||{z{{|||||||}{{{{{{{{||{{{||}|{z{|{{||||}{|||{{{{|{{{{|{{{|}{|{{y{|zz||{|}{{{{{zz{z|{{{{||}|~|}}|{}}z||||}}}}}{|~|}z}|}||~}}}}{z{|{z{|{|}{|{|{zz{|{{{|{|{|{{{{{|{zz{z{|}{|{{|{{z{{z{{{{{z{{{{|zzz{z{{{{|z{{|{|z{{z{z{{{z|z{{{z{{zzzz{|{{{{{{{|y{{z{zy{z}{|{z{{z{zyzz{z|{{z{||zzzz{z{{{{{{z|z|{||zzzzz{z{{z|{{{{{{z{{z{{||{||||{zzzz{{|{|{{{}{{|z{|{z{z|{z{|}{zz|{z{z{{|z{{{}|{zz{zz||||{|||||{|{{{z{{|{|z|{|||{z{{{{{{{{z{|||{{{{|z{|{|{||||{{{{||z{z{{{||{}}{{z{{{{{|}||{|{|{z{|z{{z|{}z||}|{{{{||{{{|{|||}}{{{{{|{{{|||||}||z|{|z{z|{{||{|||{{{{{z|{||||{|}|{{z|{{{|{||{||{{z|{{{{{{|||{}}|}{{{|{z{{|{{{{|||{{zz{{z|{{{{}~}}}{|||{{}~{|||}}|}{||{|{||||||||||{{{{{z{{|{{{}{|{|{{|yzz|{}{{{}{{z{zz{z|{{{{|{{{{{{{z{z||{{z{|{{{zxzzzz|||zz{{}|y{{{zzz{{{{{{zzzzz{{zzyzz|zz|{|{z{zz{y{{{{|}|{{z{zzz{zz{|{{z||{{{{{zzzzz{zz{{|{z{{zz{zyz|z{{|{|{z{z{{yz{{{{{{||||zzzzz{{{||{{{|{{{{{z{{{|||{|}|{{{{{z{{{{|{{|{|||{zzz{{{|{}{{|z{{|{{z{z|{}{{||{{{{z{|{{|{|{{|{{{{{{{{{{||{|{||{|{{{{z{|||z|}|}||zz{{{z{||{{|{|{|z{{|{{{}||{|}{||{|||}{{||{|{}}}|{z{|{{||||||}|{|{{{z{|{|||{{{}||{{{{{{{}{|{{|||{{z{||{|||||{|{}{||zz{z|||{{||||{{{{{z|z{|{||{|{{{{{z|zz{||||}~|~}~||~{}}~|}}}}}}||}{}|{}|}|||~}{{{|||{|}|||~}||{{{{{{|{||{{{||||{{{{{{||||||z|{{{z{{|{{||{||{{|z{{{zz{z|{{{|{||{{{z{{{{{||||{|{{z{{{{{zz||{||{z{||zz{{|z{{{|{|z{{zy{{z{||{|{||{{{{{yz{{|{{||||zz|z{z|{z{|{||{{{{{|{z{{{{||||}{{z{{zz{{|{{{{z{{zz{z{y|z{||{{|{|{{{z{{{{{|}{|||{{{||{{{z{{{||{||||{{{{{{z|||{||{{{{|{{{{||{{|}|{{|{{{{|{|||||||}|{{{{||||{|||||||{{{{{{{||||}{}{|{||{|z{|||||||}|{|{|||{{}{|{|||||{{{{{{{}|||}||||||{|||||}||}}{{{z|z|||{{||||||||{{||{{|||||{{|{{{{|{||||{}|||||{|{|{{{{|{||z||{|{{{{{z{||{{}~}~}}}|}|}~{|}||||||z|||||||}||}}|}{|{|{{{{|{||||{{{{{{{{{||}|{{|z{|{{{{z{|{|{{{{{{}{{{{z{{{{{{{{|{{{z{{{{{{{{|||zzz{{{{z{{{{{{||{z{{zz{{{{{{{||{{{{zy|z{{|{{{{{{{{{{zz{z{{{|z{||{z|z{zz{{|{{{{{{{z{|{yz{z||{{|}{{{{z{{zzz|{|{|z{{{{{|zz{{{{||{{{{{z|{z{{||{}{{||{{|{{{{z{{{{{|||{{z{{||z{{|}|}{|{z{{|{{zz||{||}|{z{{{{{{{|||}|{|{{{{{||{{|||{}|{z|||{||{{|}{{|||{z{{|{{z{|}|{||{|{||{{|z||{}|||||{}{{{||||{{|||||||z{|{z{}|||}}||{{|{zz{|{z{{{|{||z{{|{||||{||{||{{}|{{{{{{||}|{{{{{|{{{|{|{|{||{|zz{z{{z{||{{|{zz{z{{z{z{||{~~|}}}~}|}}}}|}|}}}||}|||}}}||{}}~||}{{{{||||{||||{{{{|z|{|}{|{|||{{{{{z|z||||{|}|{{|{z{{zy|||z||{{{{{{z{{|{|{{{{|z{y{z{zz{|z{{|{{|{{z{zzz{|{{{|||{{z{{{{{{{|{{||{{{|zzz{{z|{||{|{{{z|{z{zz{{{z{|{|{{zz{z{{{|{{||{z{{z{{{{|{{{{||||{{{|z{{|{||{|{|{z{{{{{{|{{||{||{{{{z{{{|{|{||||{{{z|{{{|{{{|||{|{z||{{{|{}||||{{{{{|z{z|{|{|}{|||{{||{{|{}|||{{|{{{{{|{|||}||}||{|{{{{{|{|||}|||||z|{|{||||||}|{{{|{{{{{||{||{}}z{{||{|{||||||}}|{{{{{|||~}||||{{||{|{||}{||}|||{|{}{{|||||||||{{{|{{{|{}|{||||{{|{{{|||{{||{||z{{zz{z{{||||~~~}}|||~|}~}}~}~}||}|}||{}|||}|}|||{z||||}||{|||||{{|{{{||{{}{{||{|{|z{{y||||||{{|{z{|{{zz{{{{|}||{{z{{z|{{{{{{z|{z{z{z{{z{{|{|}|{{{z{{{{z{{{|||{{{{z{{z|{z|}|{{|{{{zzz{|{|{{{|{|zzz{z|{z{{{{{|z{z{{zzzzz{{{{{|{|{{{{{{|zz{{{{{||{zzy{{{|{{{{{{|}|z{{{z{{{||{|}|{{z{{z{{{{|||{||{|{{|{{{{{{||{||{{z{{{|{{|||{{{|{||{{{zz{{|{|{}|{{{{{|{{{|{||||||{z|{{z|{{{{}{|}}{{{{{{z|{{||||}||{{{|z{{}}||{|||{{||{|||{}{|{{{||{||z{{{{}|||}}|}{|{{{z{|||||}}{{{|{{{{||{||||}||}{|{z||}}||}|z|{{{{{z|{||{|||}}|{{{z{{|||}|||||{{{z{{{{{z{|z~~}|}}||}|}}}||~}}}}|||{{{}|}|}||}||{z{||{|}|||{|||{{zzzz{{|{|{{|}{||{{|zz}{}{|{|}|{|z{|{z||{|||{}{{|{{|{z{{{z{||{{{{{{{zz{|{{{|{||z{zzz{z{|{||{||zzz{{|zz{{|{{|{|{{{yzzz{{{z||{|{{{z{{{{{{|{{{{|||{{{{z{zz|{|{{|{z{z{{{{{{|{{{{}{|z|{{{|{z||{z{{|z{|z{z{z{{{|z|{|{{{{{z{{{||z{||}{z{{{{|{{|||{||{|z||{{{{||{}|{|||z{|{{|{{|{{{|||||{{|{z|||{||}||{zz{z{{{{|{}|||}||{||zz{{|||}||}|z|||{{z{}|||}|}|{{{{|{{{{|||}|}}|z{{{{{|}|||{}}||{|{{{{}{|||||}||{|{||||||}|||}|||||{{|||||||{}{|{z{{{{{{|}|{}||z{z{|{{{|{|{|||{{{{z{{z|{{||~~~}}~}|}|}}}}|}}|||{z|}|||{{|}|}}|{|{|{{z||{|}|{}{{{{{{{z{{|||{|||{{z{z{{{{|{z{{|{{|{z{{{{{z{{||{z{|{{yzz|z{{{|{{zz{{zzzz{zz|{{|{zz{z{zz{z{{{{{|{z{{zz{z{z{|{{{|{z{{{{{zyz{{{{|{|{{yzzzzzz{{{{{{{|zz{|{zz{|{{{{{|{z{||z{z{||zz{||{{|{zz{{{{{{|{{{{{{{{{|{{{{{{{||{{{{z{z{|{|{{||{{{|z{z{z{{||||{|{{{{|{z{||{|}||{|z{{{{zz{{{{{{{z}z{z|{{{{||}|||{{{{|{{{{}{{|{||||z{z{z{{{||{|||||z{{|{{{||||{||{{{{{y|{{||||||{|}|{{{{{{{}{|}|||{|{z{{{{|||{}||||{{{{|{{{|{{|||}{{{{{z{{|{{||||}{{{{z{z{{|{||||}{{{{{zz{{{||{{{{{{{{|z{{{{{||}~~~~}|}}~~~|}~}}}{|}|{|}}}{}}}}}{{{{|{||||||}|}||{{{zz|{{|}||||{{z{{zz{|{{|{{{|{z{{|z{{{{{{|||||{{zzz{{|{{{{|{{{{{{z{{{{{{{{{|{{{{z{zzz|||{{{}{z{z{zzz{zz|z{{{{|{|zz{{z{{||{|{|{{|{|{{z{z{|{z{|{z{z{{zzz|{|{||{{{|{{{{z|{{|{{|||{{{{z{{{||{{|||z{{z{{{{{{|{{||||{{z{z{|||{|{|{||{{{z|{{z|{{{|||z|{{{|z||{|{{||{{{zz{z{z{|||{{|{|{{{z{z|||{|{}|||{{{|z{|||{|||{||{{{{zz{|||{|||||{{{||{{||||||||zz|{|z|{{||{}|}||||{|||{|}||}}}|{|{||z||||}}||||||{{{|{{|{||||{||{{||{z|{||}|||}{|{zz{zz{|z{||}||{{z{{{{{|||||{|{{{{{z{z|{||{~}}~~}}|}|~}|~~~}}||{{|{||}|}}||||{|z{{||{{|||||{{|{{{yz{{|{|{|z||{|{z{{{z{||{|{|zz{{{{z{{{z|||{{z{{{zyzz{{{z{{{{{z{z{zz{{zzz{{||zzyy{{zz{|z{{|{{{yz{yzz{z{{{{|{{{{{zzzzz{{z{{{|{z{zzzyzz{{{{{{|{z{{{zz{z{{{{{{{|{zz{{{{{{{{{{||z{{{z{{z{{|{{|{|{{{{{{{{{|{{|z{||{z{{{z{{{z|{{{{||{{z{{{{||{{{||z{{z{|{{{|{{|{||{{{z{{{z{z{{{{|{|{{{{{{{z{|||||||{{{{{|{{||{}{||{|{{{{z{z||||{||{{{{{{{{z|||{|{|{|{{{z{{z{|{{|{|}{{z{{{{{{|{||}|||{{||z{z|{{||||{|{z{{{{{{{{{||}|{|{zzz{||||||{||{{{z{{{{|||{{{||{{{z{||z|||||{{|{{|zzz{z{{{|{~}}}}}|~~}}}||}~||}{||{||{}}}|}}}{|{{|z{|||||{||{z|{z{zz|}{||{|{|{{z{{|zz{||{|||{{z{{{z{{{{{{{z|{z{zz{z{{||{{{{{|z{{z{{{|{{{{{|{{{z{zz{y{|||{{{{{{z{z{zz{{{z{{{{z{{{z{zzz|{{{{{{zzz{z{|z{{{{{{{zzzy{zz{{z{z{z{{{{z{{{|{z{{|{{{{|{{{{{{zz{zz{{{{|z{{{{{{z{{{{{|||{{{{{{z{{{z|{{{{z{{|{zz|{||{||{|{z{y{z{zz{|{{||{{{{|{{zzz{{{{|||zzz{zz{{|||{|||{{|{z|{|{{{{{||||||{{{{{y||}{|}{{}z{||{{{{}|{|||||z{{|||{|{|{{||||{z|{||{{|}||||{{z{{{{|{||||{|||{{{|||{{||||{{||||{{||||||{|}||}{{{{|z{{{|||{{|||{{{zz{{{}{}{{||{|{z{z{z{|{}{~}}}~|~}~~|~}}}}||{|||||{|}||||{{|{|z{|{||{|{z|{{{{{zz{{{||{|||{|zz{{z|{{{|{{||{{|zz|z{|{|z{{{{z{zzz|{{{|{{|{{z{{zzzzzz{z{{{{{{{{{z{{z|||{{{{|{z{zz{y{{}{|||{|{{{{zzz{{|{{z{|{{{{{{{{z{{{zz|{|z{{zzzz{{{{|z{{{{y|{{{{z{z{|{||{{{{z{z{{|{|{{{{{z{zz{z{z{{{{||||{z{yz{z{{{|z{|{{z|{{{z{{{{{{{|{}{{{{{zz{{|||{||{{{{{{{zz{{{{{|{|{|{{{{z||||||||{{|{{{z|z{{{}{{|||z{|{{|z{{||}|}|{{z{|z|{|||{{||||{{z{|{|{|{z}}|||{{{|{{|{||{||}|||||{z{{|||{|}}|{{|{{||{{}|{||||||{{{{z{{||||{||{{{z{|{|{}||{{}|||{{{{y{{|||||||{{{{{{zzz|{|{~~~~~~~}~~~}}}}}||}||||}}||~}}}{||||}z||{|}}|{||{{{{z{z||{{}||{z{{{{zz||{{|{||z|{{z{{z|{|{z{{{{{|yz{{z{{{{z{{}zzz{{z{z{|{|{{|{zzzzzzz{z{{|{{|{z{zz{z{z{z|{||{{{{{{z{{z{|{|{{{{|{zzz{{{z|{{z{|{{{{z{{zzz}z{{|{{zz{{{|{{{{||||||{|{{{{z{{||{{{{|{zzz{{{z{{|{{{|{z{|z{z{z{{{||{{{{z{{{z{{z||||||{|{{{{{{{||||||}{{zz{{{z{{|{{|||{|{{z{|z|{||||{{|{{{|{{|{|{|}{|{{||{{z{{{{|||{||{|{{z{{|{}||||{||{{}||{||{|}|}{||}|z|{||{{~||}|||{||}|||{||}}|}}||{||{{{{|||{|}||||{{{{{|}|}||}||{|{z{{{{{{|}|||{|{{|{{{z{{{{||||}{}z{|{z{{||{}}|~~~|~}}~}~}}}{||||||}|}}|}|{{{{{{{{||}z}||}|zz{{z{{{|{{{{|||z{{zz{z||{||{|{|z{zz{{z{||{{{{{|z{{z{{z{{{z{|{|{{{{{{{{z{|{z{|{{{{{{{{z{{{|{{{{|{z{{zz{{{||}z||{zz{zzz{{{|||{|z{zz{{{{z{{{z{{{|{z{z{{{{{{|{z||{{{{{z{z{{{||{|||{z{{{z{{{{{||||{||{z{z{|{{||{}||{{{{zzz{{{{{{{{{|{{z{{{{z|{}|{|||{{{z{zz{||{{|}||{|{z{z{|{{z|||{|{{|{{{{}|||{||}{{{||z{{{|{}||||{|z{|{{{|||||||{||{{||{{|{{{||||{|||{{{z|}|{||}{|{{|{|{{{}||}}|||{||{{{{||{||||{|z|{{{{{{||}|||}{{|||{{||||{|}|||{|{{{|{{|{{{||{{{{z{{{{{|{|{|||{|z{{z{z{{|{|~~~}}~}~}||}}}{}}{}|||}}|||||{{|{{|||||||{||{{{||z|{{|{{||{|{{zz{z{{||{{|{z{{{{{{z{{{|{|||{z{z{z{{||{{{{|{{{{{z{zzz{{{z|{{{yz{zz{{z{{|{{|{{z{z{zz{{z|z|||{{{{{{z{z{{|{{{||{y{{{z{{zz|{|z{{zzzz{{zz{{{{{||{{z{{{{zz{{{{|{{{z{|{{{{z{||{|{{|{z{{{{zz{{}|{z||{z{{{z{z|{{{||||z{||z{{{{|{{|{{~{z|{{z{z{||{{|}{{{{|{{z||||z{|{{{{{{z|{{{|||||{{z|{{{|{{{{{}{|}{{{{{{{z{|||{||}{|zz{z{{z}}{||{|}|||{{{{{|||||||||{{|{|{z{}||||}|{{|{{|{{|{|||||||{{{{{{|{{|||}|||{|{|{{|||{|||||{{z{{|{{|{|{|{||{{{{||z{{}}{||{|z{{{{y{{{||{|~~~}}~~}}~~~~~}|||}||}|}}}|}}||{{|{|{}{|}{|||}{||{|{z{|{||{{||{|{{z{{{||{{{||{{|{z{{z{|{{{|{{z{|{{{z{|||{{||{{z{{{zz{{{{}z{{|{|{{z{{{z|}{{|{zz{{{z{zz{{{|{|||{{|zz{z{{|{|{{|{{{|z{{{zz|{{{{{{|{{zzz{{z||{{|{{{zz{{{{z{z{|{{}|{{{z{{{z{|||{|{|{{{z{z|{{}{|{|||z{{{zz|{|{||}{{|{z{|{{{{{||{{{{{{{{|{z|{||||{|||{{{{|{z{|{|{{}{{{|{{{{z|{{||||{}{|z{{||{||||{|||{|{{{z{{{|}{}{||}||{|{{{{||||{||{{{{||||{{{|||{|{{{|{{{{{}}}|}||{{||zz{|||||}}|||z|{{z{|{|{{{|}}{|{||{}{||}||{}|z{|{{{|z||||||||||{|z{{z{}||z{||{{|z{zz{{{|{|}~~~~~~}}~~|}|||~|}}|~|{|||{|z||||||}|}{z||z|{{|{||||{}{{{{{{{{zz|{||||{{zz{z{{{{|{{z||{{z{{zz{|{|{{|{{|{{{{{zz{{{|z{|{{z{{{z{z{z|{{{{{{zz{z{zzz{{||{||{{zz{{zz|{{{{||{|{{z{{{z|{|zz{|}|{z|{{{{{{{|{||{{{{z|zz{||{|{{||{z{{{{z{{{|{{|||{zz{zz{{{{||{{|}{|z{z{{{{|{z}||{|z{{{{||{}|{{|||{{||z{{z{||{{||{||{|{{{z||||{||||{|{{{{|z|||{|{{{{|{{{|{{{||||}}z|{|{{{||}||{||||{{|z{{{||||}||{{z|{{{{|{|{{|{|||{|{z|{{|}|||{}||{{{|{z{|||}|{}|||{{{|{{|{{||||||{|{{{||||||{|}|{|{z{{{|{|{{|z||{{z|{{{z|{{|{||}|z{zz{{{{z|{{}}}~~~}~|~}|}|{|}}|}|}|}|{{||||{||{{||{|||||{{z{{||||||{{{{{{z|z{|{{{|{}z{{{{{|z{|z{{{{||{|{{{{z{{|{{||{{|{{zz{{{{{|{{||z{{{{{zz{{{{{{{{{z{{{zz{{|{{{||{{{{y{{z{{||{{|{|{z{z{{zy{||{|{{|zzzzz{zz{{z|{{||zz|{z{{z{{{{{{||{{{zz{{{{|{{|z||z{{{{z{zz|{|{|{|z{{z{{z|z{{{{|{|{||z{{z{z||}|z|{{z{{|{z{|{|{{||||{{{{{{{{{|{{||}|||{|{z{{|}}{|{|||{|{{{{||{}|||}{{{|{|{z{{||}||||zz{|{{|}|{|||}||{|||{{||||||}}|||||||{||||||}||}{||z{|{|}||{}|||z{{||{||{|||||||{{{{{||}||}||}|{{{{{|{{|{{|||||{{{{z{|{{{|{{{{|{{|{z{{{{|||{~~~}}}~~~~~}|||}|||||||}}}||{z{{{|{||||{}|}|{{||zz{z|||{{{{||{{|{{{z{|{|{|{|{z{z{{zz{{{{{||{{z{{zzz{z{{|{zzzz{zzzz{{{z{{{z{z{yzzzzz{z{{{||{{{zzzzzzz{{{{{{{|{{{{zzzy{{|{{|||z{{zz{zzz{{{{{{{{z{zzz{{{|{{|z|{zz{{{{zz{{{{{|{|{{zz|zz{{||{z{||{z{|zz|z{{{{{{z|zz|{zz{z{{{{{|{|{{{z|z{{{||{{|z{|{{{{{z{{||{{|}|{{|z{zz{{{{{{{|{{{{{{z{{|{|||{}{z|{{{{z{{{{}{|||{{z{{{{{{||||||{|{{{{{{{{~{{|||||{{{{|{{|{||||}|||{{|{{{z|||}}}}|{{|{|{{||||||{z|z{{{{{|{||||||}|{{{z|{|||{|||||{|{z{{zz{|||{|||{z{zzz{z{|||{{|{|z{{z{zz{{z{|~~~~}~~~}~~}|}|||{||}{|}~}|{|{}||z|}|}|}|}{{||z{{{|{|}{|{|{{{{{{|z{{|{{|{{{{{{{z{z{{{z{{||z{{zz{zz{{|{||z{{{{zz{zzz{{|z|{|zz{{zyzz{{z{{|{{z{zz{{zzzz{{{|||{{{zz{{z{|{{{{{{{{{z{{zz|{zz{{||z{{{{z{{{{zz{{||z{z{{{zz{{{{|{|{{{|{{{|{{||{{{{|{{{zz{{{{{{||{|{z{|{z{{{|||{{|{|{z{{{{{z{{||||}{{{{{{z|{|{{|{z||{z|||{zzz{|{|{{{{{{zz|z{{{|}}|{|z{|{|z{{|{{|{|||{z{{{z{{{||||}||{{{{||{z|||{||{|{{{|{|{{||{{}||||z|z||{{{}{||||||{||{{{{{|||||{|{{{|{{{{||{|||||{{{{{{{{{|{{||{|{z{{{{z{|{{|{||||{z{{zzz{|{{|{|||z{zzy{z{zz{{~~~~~~~~}{|||{||}}}||}||||{|{|}||||}|{||{{z|z{{z|{{||{|{{{{z{{{z{{}|{|{{{{{zzz{z||{{|{|{{{z{{|{{{{|z{{|}{{{{{zzz{{{|z{||{{{z{z{z{||{|||{z{z|yz{z{{|||||{zzzzzzyzz{z|{||{z{{{{{zz{{{{{z{|zzyzz{zz{|zz{{||{{{{z|{z{{{{|{{{{{{{{{{{{|{|{|{{{{{{zz{{|{{{{{|{{{{z{{{{|||{{|{||||{{{|z{}|{{|{|{{{{{{{z{|}{|||||{{{{{{{|{|{{{{||{z{|{{{||{{}||{z{z{{{|||{{|||||{z{|{{z{|}|}{||{|{{{{{{{||||{}}|{||{||{{|||||||}|{{{z|z{{||||||{|{||{{{{{|z}|||{|{{{{|{{{||{||||{{}|}|{|||||}||}{{{z|z{{||||{|||||z{{{{{{|{{{z{||{{{{{{{|{|{{~}~}~~~}~}~}}{||{|||}|{|}||{|||{{|{{|}||{{{{z{{z|{|||{|}|{|{z{z{z|z{||{{|{{{{zzzzz{{||{||{z{yz{{z{{{|{|{{{zyzzz{z{{{{{{z{zzzz{{z{z{{{{|{{{{z{{{zz{{{|{{zz{{zzy{zz{{{||z||{{{{{{zz{{{z{{{{|{zz{zzz{{zz{|z{yz{yz|z{{{{{{{{|{{{{zz{{{{|{|z{|{zz{{z{{{|{z{{{|{{{{{z{z{{{{||{{z{z{zzz{||||{{||{{{{y{zz{|{{|{{{{{{{{{zz|}{{|{|{{z{{{{z{{{{{|{{{{{{{{{|{{||{{|||{{z{{{z|||{{|{}{|{{{z{z{{||||||||{{{{{||{|||{}||||||||{{||||||{||{|{{{{|{|{|{{}|{{{{z|{{||{|{|||||{||{|{||{|}}{|{|{{|{{{z|{{|}||{{{{{{{{||{|{{|{{{{{{zzz|{|{{~~~~~~}}}|}||||}~|}}}}||{|||{|}|}{||{~|||{{{{{{|||{{|||{|{{{{{|{}|||{|zz|{zz{{z|{{|||{{{{{z{{{|{|{||{{{{{y{zz{{{z{{{||zzz{{zzz{{{{{||{{{{zzz{zz{{{{{|{{{{{zz{{|{|{|}}|{{{z{{zz{z{{{||z||zzz{{{{{{}{||{z{{{z{zz||{{||{{{|{{z{{{{||{||{{{{{{{{{{{||{{|||||{zz{z{||||||{|{{{{{{{z{|{||{{{|||z{{{z{|||||{{|z{{{|z{|||{|}||{{|{{|{||{|{{||}{{{z||}z||{{z|||{{|{{{{||||||||{{{{{|{{{|||{}||}|{|{{{{|{|{}||}}|{|{{||{{~|{|}|||||{{zz{||}{|{}{|{}y|{z||{|{{}}|||{|{|z{|||}||}|||{{{{||{|{{}|||{{{||{{{{{{{{||||{{{{{|{|||z{~}~~}}|}|{}||}}}||}}|{|||{|{}|||}|||{||||z{{{||{{|}{||{{{z{y{{{{{||{z{|zz{{y{||{{{{{|{zy{{{|{{|{||{|{|z{z{z{{|{|{{{|{{z{{{zz{|{||{||||z{{zz{{{{{||{{{{z{{zzzz{||{{|{|z{|{z{{{{{{z|{{z{z{{z{{{{{{{||}{{{{{{z|{{z|{{|{{{{{|{z{{{{{||}|z{{{{z{{|{{{{{||{{{{{z{{||{}||||{z{{{z{{{||{|||{|zz{{z{{{z}{{||{{{{{z{{{{{{{{||{||{|{z{{||{|{}||{|{||{}z||{|{||||{{{|z{{{|}|||||}||{|{{{{|{{}|}||{|z{{||||{}}|{||{|{|||{{||||}|}||{|||{|||}||||||{{{|}{|{}||||||||{{|{||||{||}{|{|zy{{{z{|||{||}{|{{{{{{{{}{|||{{{{zzzz{|||{{~}|||||}|}|}||}}}|{||{|||||{|}||||{|{|{{{{|||{|||{{|{{{||{{{{{{{|z{{zzz{{{|{{|||{z{{{z{zz{|{|z|{z{{{z{{{{{|{|{{||{z{zzz{zz{|{z|||z{{{{{{{{|{{|{{|{zz{{{{{{z|{|{|{|{{{{z{z{z|{{{|{|{|z|z{zz|z{{|||{z|zz{{{|z{{{||{|{{{{||z{{|{|{||{z{|zz{{||||{{|{|{{{{{z{|{||}|||{z|{{z{{|||{||{|{{{{{{zz|{}{{}{{|{{{zzz{{{{{||{}{z{{{|{{|||}|||{{{z||{|z||{{}}||{{{{{|{{|{|{|||{|zz{{{{{{}|||||||{|{{{{|z}||||||}{{|{{|{{}||||||{{{{{|||}|{|{||}}z||{{{||{{~}{|{}{z{{z{|||z}{||||{{z{{{|{||{||{||{{{{{{z||||{||{{{{{z{{{|||{|~}~}}}}}||}|}|}}}}}||{|{{{{}{|z||}}|{{||{|z{{||{|||{z{{{|{{{||{{}{|{|{z{{{z{|{{z|||{{{y{zz{{{|{{{{yzz{{z{zzz{{|{|||z{{{{{z{|{z||{||{zzzzzz{{{{{|{|z{z{{z{{{{|{|||{|{z{zzz{z{||||||||{{zy{z{{{{{{}{|{z{z{{{{{{{{{{||{{zz{{{z{||{{}||||{{zz{{|z|{z|{|zz{z{zz{{{{|{{{||z{{|{{{{|{||{{{{{{{{{{{z|{|||{|{{z{{{{|{}{{{{{{{||{{{|{{||||||}{{{{{||z{|{|{|||{{{{z{z{{|{|{||{{{{|{{||}|||||}||z|{|{{{|||||{|||z|{{|{|{||{|}||{||{|{z{|||||||{{{||||{||||{{||}|{||{{{||{{|{|{|{{{{{{z{{}{|||||||z{{{{||{{|{||||{||z{||{{{{|~~~~||}|}|{}}||}}}|}}|||||}{|{{}}|{||{z{{z{{|{}|}z}||{{{{zz{{||{|||{{|{z{{{{{||{{||{{{{{{zzzz|{z{{{{{z{zz{{{|{z|{{{{z{{z{{z{{{{{{|{|{zz{{{{{{|{{|{{{{zzzz{yz||{y|{||zz{zz{z{z{{{{|{{{zz{{zz{z{{{{|||{z{z{zz{{||{{{||{{z{{||z{|}{{{||{y|{{z{z{{{{{|||{z|z|{z{{{{|{{|||{{|{{{z{|}{{{|||{z{||{{{{{|z|}{{{zz|{{{{|||{|||{z|{{|{z{{|}|}|{{{{|{{{|{||}||||{{||{{{{{{|||||||{|{{|zz||{||}|}|||{|{||||{|{{|||{|||{{{||}|}|}||{{{{|{{}|{|}}}{}{{{|{{{{||{||||{|{{||{{{||{{|||{{|{{||{|{|||||{||{|{{{{{|z}{||{{{{{{{{z{{|{{~~~~}|||}||}|||}}|}|~|||||{|{|||{{|||{{{{{{{|{}|{{}|}|{{y{{{{{||{{{{|{{{{{{{{{{{{{{|{{{|{z{z{{||{{{{|z|zzz{z{z{{|{{|{z{zz{|{{{|{{z{|{{{zzzzzz{{{{}{{{{{{{{{zzz{{{{||{{z{{z{{{{{{|{{{{{|{{zz{{{|{zz|{|z{{|{|z{{{{{{|}|z{{{{zzz|z{z|}{|{{{z{z{|{{{{{{||{{{{zz{{{{|{{||}{{{{{{{||||{||||{{{|{{{z|{|}{||z{{|{|zz{|{{{|||}||{{{{z|z|{|{|{|{{{{{{{{|||||}}||{{|{{z{{}|{|{|{|{{{{{{{}{{|||}|}z{{z{|{||{|{|||{{|{|{{{{}}||||{{|{|{{|{{|~||}|{{{{{||{{||||||||||{|{{{z|||{{|||{{{zz{{{||{||}|{{{{{zz|z||||{||{|{{z|{{z||{{|}~~~~|}|||||}}}}|}}|||{|{{|||{|}|}|{{{{{{z{{z}{|{{|z{|{|z{z{z{{||}{z{{{zzz{z|{{{||{zz{z{{{{{{|{{|{|{{z{{{{{{z{||{{|zz{zz{{{{{{z{||{{{{zzzzz{{{{||||{z{zz{{{{|{{{{||z{{z{{z{{|{{|{||z}zz{zzzz|{{z|||{z|z{zzz{{{|z{|z{{zz{y{{{{|{{{{|{{z{z{{z{z|z{{{|{{|z{zz{{{|{|{}||{{{{{|z{{{{|||{{{{zz{{z|{{||||{{{zz{{y|{||{{||{z|{{{{{{{{|}|}||z{{||z||{}{}|||||{{{{{{|{}{}}||||{{{{{{z||z}||}|{{|z{{|{{{||||}||{z|||{|{|||||||{z{|{{{{|{}||}|||{{zz{z{|||||||||{||||z|||{|||{{z{{zz{{{{{||}||||{{{|{|{|{|{{{|{{{{{z|z{|{|{|~}}}}|}}||}}}}|}}|}|{{{}z||}||||}|||{{{z{|}{|{{||{{{|{{{z}|z{|||}z{{{{{zz{{{{|{|zzz{{z{{{||{{z{{||z|{{{|{{z{||{{|{{{z{{{z{{{{{|{{zz{{z{z{{{|z||{{z{z{z{{{{{||{||{{{{z{{{zz|{{{{||{{{{{zz{{|{{{|{{zz{{{{{z{|||||}{{{{||zz{||{{||||{{{z{{{{{{{z{|||{{{{{|z{||{{|{{{|{|{{z{{||{{||||{{{{{zz{|||{||||{|{|{{yz{}{{z{|{{{{{{z{{||||}|||{{|{{{{|||||||||}{{|{z{{{|||}||{|{{{{{{{||{|}||||{|{{|{}|{{}|}{{|{|{{{|{|}|{||||}z{|{{z|{{}|}||}{{||{}|||{|{||||{{{{{|{{||{||||||{{{{|{z||||{}|||{{{zz{{{||{{||}|zz{{z{{{||||~~~}}}||||||}}}|||}}|{{||{||{{{|}|||{{{{zz{z||{}{{|}{{{{|{{{z{|{|{{|zz{{zz{{{{{{|{}{|{{z{{z{{{{z{|}{{z{zzzz{|z{{{{zz{zzz{zz{{{{{z||{{{{{z{z{z{{z{{|{{{{{z{z{zzz{{{{{{yzzzzzzz{{{{{{{{|z|z{{{{{|{{|{{{{{{{{yz{{{{|z|z{zzzzzz{|{{|{{|{{z{z{{{|{{{{{{{|z{{{{{z{{z|{||{{{{zz{{z{{{{{{|||{{{{{{{{}{|{{y||{z{{{z{z{{{||{|}{{{{z{{{||||||||{{z{{|||{{{{{|||{{z|{z{z{||||{||||{{{{|{|}}{|||||z|z{{|{{||||||||{|{{{|{{{|{{}|}|{||z{|||{|}||||{z|{|{{{{|{||||}{|z{{{|z|||||{||{{|z{|{{{|||{||{{{z{{z{{{{{{{{|{{{zz{z{{{z{{{~}~}}||{}|}||||}}||{{||||}{{|{||}|{{{{z{{{|{|{{||{{{{z{{z{{||{|||{{{{{{{y{{|{||||{{|{{{zz{{{|{||{z{zz{{zz{{{z{{||z{{z{{{{|{{z{{{{zz{zz{{{{{|{z||{z{z{z|z{{||{{||{{{zz{{|zz{z{z|{|z{z{z{{{z{{{{{{|z{{{z{z{{{{{{{|}|{{|{zz{{{{{|}|||{z{z{{{}z{|{{{}{{{{zz{|}|||||{|{z{{|z{{{||||||z{{|{z{{{{|||||||{|z{||{z{{z|{|{|{{||{{{z|{{|||}|{{{{{||{||||{||||{z{{{z{|}|||||||{{{{{|{}|}|{|}|{||{{|{{||{|}{|||||{{{{||||{|}}{||{||{|{|||{{|||{|{{{|z||{{}{||}{|{|{{{{{{{{|}{|||{{{{|{{|{{|||||{|z{{{z|{|{||||{|{z{{{{{{{{}~}}|~|}|~|}}~}|}}}}|}|{}|{||}}||}|{z||zz{{}{|||{||{{{z{{{z{{|{|}|}{{{{{{{z{{|{{||{y|{{{{{{|||z|||{{|zzzz{{z|{{||||z|{z{z|{|||z{|{||yz{zzzz{|{||{||{{{{{|{{{|||}|{{{{z{zz{{z{{z{{{|zzzz{zzy{{{|z{{|{z{|{{{{{{{|{{||{{{{{z{z{|{|{||||z|{|{{|{{|||{{|{{{{zzz|{|||{{|{|||{{z|{{|z{z{|{|{{z{{{z{}|{|{}|{|{{||{z{|{||{|||{{z|{{{{{}}|{|}{{|{{z|{}{{||||||{{{{|{{|}||}||||{{z{y{{|||z{|}||{{|{{|{||||{}||||{{{|{{|}|||||}|{||{{{{||}||||||{|{{|{{{|{|{||||{{{|{{{{||}}{{|{|{{{{{{{}|{|}}|{{||{{{{{||||||{||z{{z|z||{|z~~~|}}}}}|{}}~|~||~}||}|||{||{}{{|}{{{{{{{||z|}{|}|{z{{{{{z{|{|||{{z{{zz{{|{|{{|||{{{{z{{{{|||{z{||{{{{{{z{{z{{|||{z{{{{z{z{{|{{{|{{{{{{{z{z{|{|||z{z|z{{{z|{{{|{||zz{{|z{z{{{{{{|||{zyz{{z{|{{{||{z{z{{||z{{{|{|{|{{{zzz{{|{{{|{||{z{{{{{{{{||{|{|z{z{{z{{|{|{|||}{|{|{z{{||{|{|||{{|zz{zz{||{{{|||{|{{{{{||||{{{||{|{{|{{{||||||{{{{|{||{{{{|{}}||z{|{{{||{|{}|{|}{z{{{{z{||||||||{{||{|{||}||}}}|{||{{|{|}|{}|}||||{{z|{||}|||}{{{{{||{|{|{{|}}|}|{||{||{|{|||{|{{|z|{|{||{||||||{{{z{|z|{{|{||{{{{z{{|zz{{||~~}}}}}}{}|}}}||~||{{{||{|||{|||||{||{{{z{{}{}{|}|{{zzz{z|{{|z||z{{{zz{z{{zz{z{{{{{{{{zzz{{|{|{{{{{z{z{zz{|{{{{{{|z{z{zz{|{||{{{|{z{{zzz{{{{{{||{{|{{z|z{z{||{{{{{{{{yzzzz{{{{|{{{|{y{z{z{{{|z|{{{{{z{{zz|z||}|||{zzz{{{z||{{||{||{{{{{}{||{{||||{z{{{{{{{{z|{||{{{{{{z|{{|||||{{{z{{{zz{z|||{|}|{{{{z|{{{{|{{{|{{{z{z{{{{||}||{|{|z{|{{|}{zz}||||{z||{{{{z||{|}||{z{{{|||}|||}|||{z{||{{{|||||}|||||{{{{{}|||||}|{{|{{|{}{}}{||||{z{|{{{||z{|||||{{{|{{z|||{||{||{{{{z|{|}|||}||||z{|{{z{{||{{|{{z{{zzzz{{{|{~~~}~}}}|||}}~}}}}||{||{|{||{{|||{||{{{{{{|{{{{|{|{{{z{|z{{z|{y{|}{z{{|{zz{{{z{|{|{{{{z{{{{{|{||{z{zz{{zz{{{{{|z{{{z{z{zz{{|{z{{{{zz{{zzz{{{{z{||{{y{{{y{z{|{{{|{{{z{{zz{zz{{z|{|{zzzz{{{z{{{z||{z{zz{{{{{|{{{{{|{{z{z{{z{{||z{|||{z{{{{{{||{{{|{|{z{z{{{z|{}{|{|{|z{{zzzz{|{z{{{{{z{{{z{{{z{{{||||{z{{{{{|||||{z|{{|{{{{{||||||||{{{{{{|{{||{z||||{{{|{{|{}}||{||{{{{{|{{||||||||{{z{{||{|}||||||{{{{{||{|}|{{||}||||{{{{|||||||||z|{{|zz{||||{}|||z{|{{|}{{|||}|{{||{{|{{{{{{|}||{|{|{zz{||{{{|{|{|{{{|{{{|{{~}||}~||}}}||}|}|||{{|{|{z{{||}{}|{{z{{zz|||{|{{{}{zyz{{{{|{{{{{|{{{{z{{yz{{y{|{{zz|{zz{z{{|{z{{{{{z{{{yz{{z{z{{|z{z|{{{zz{{{{{{{zz{zzz{zz{{{|{|{{zzz{zz{{{{{{{|{{{{{z{zzzz{{{{||{{zz{{{z{{{z{|||{{{{z{{z{z|{z{|z{{zz|zzyz|z|{{{|{z{z{zzzz|{{{{{{{z|z{z{z{|{{|{|||{{{{z{{{|{{{|{{zz{{z{zz{||{{{|{|{z{{{{{{{|{{||{|z{{{{|{{{|{||{|z{z{z{z{||{||}||{|{{{zz{{|||{{|{|zz{{z{{||||{|||{{{{z||{{|{|||||{{{|{{z||}||||||||{{{|{z|||{z||||{||{{{|{|{{|z||||{{|{z{{|{{||{|{z{zzzz{z|||||}|||{{zz{zz{{|{{|{|{{z{y{{|{{|{~~~}}|~|||{~{}}~|||{z{{|{{||{||}}||{{{{{{{||}||||{|{{{{|{z{}|||{{|{{{{z{{{{{{{{|||{z{zzz{z{||{z{{|{{{zz{zz{{{{{|{|{z{{z{zz{||z{||{zzzz{zzz{{{{{{z|{{z{{{{z{|z{{{|{{{{{z{{z{{{{{|}|zzzzz{{zz|{|{{|{{{{z{{zz{|{|{|{{{{z{{z{z{|{{||{|{z|{{{{{|{{|{{{|{{{{z|{{{{||{{||{zzz{{{{{{|{{{{{{{{{|z{z||{{{{|||{{|{{{z{{|{|{|{{{{{{{{{{||{{{||z{z{{{|{{||||{{|{z{{{{z{|{|{||{{||{{{z{z{|{||||{|||{{{{{||{{{||{{|{{{{{{{||}|}|}{|{|{|{|{}||{{||{{{z{{z||{||}|}}|z{|{|{{{|{||{|}{{{z{{{zz{{{z{|{{{zz{{z{{|{|{|||{z|{yz{{{{|{|~}}~}|}~{||}}|}~}}}|{||{{{{}~}{}{|{}||z{z{{||||{|{|{{|{y{zz{{||{||}{{{zz{{z{{{{z{|{{zz{{zzz{z{{{{|{z{{zz|z{{{z{{{{|z{zz{yzzz|{{{{|{z{z{z{y||||{|{{|{{|zzzzy{z{|{{|{{{zz{y{zz{{z{|{|{{{z{{z{z{{|{{|z{zzz{{{{z{{|}|||{{z{{z{{z{|{{|z{z{z{zz|z||{{{|||{z|z{z{{{{{{||||z{{{{{{{{|{|{{{{{{{|{{z{{{|{{||||{}{{{z{{{{{{|{|{{|{{{{{||}{||||{{{|{{{{{|{}||||{{z{z{{z|{}{{|}||z{{{{|{||||{|{|{{{|{|||{|{{{|||}||{z{{{|}|||{{||{{{{{|{||||||}}{z|{|z|{{}|{|{|||{z{||||||||{|{}||{{|z{{||{|{|}}{{z{{{{{|{|{{||{{zzz{zz{{||{{~~}~}}||||}||}}}}{||{||}z|{|{}||||{|{{{zz{{|||||}{{{zz{{z{{|{{z{|{{|z{{zz{|{{{|{{{{{{z{zz{{|{{||{{zzzz{{{zz{{{{{{{{{{z{{z{{|{z{|{z{zzzzzz{{|{{{{{{{{{z{{z{|{{z{||{{zz{zzz{|{z|{||{{zz{zy{{{y{{|{||{z{z{{z{z||||||{z{{{{{z{{||||||{z{z{z|{z{|{{{|||y{{z{z{{{z|{||{{{{{|z{{{}|{z{}|{z|{{z{{||}{{{|{{{{z{{z{{|}{|{||{{{{{{z{{|||{}|||z{|{{{|{|{|||||{|z{{{{{|{||}|||{zz||{{z||}|{||}||{{{||{||{{{}{|{|{{z|{{|}||{}{|}{{|zz{}|{|{{}{{|{{{{{|z{||{{|}|{{{{{{{{|{|}{{||{{{z{||z||{{{||{|||zz{{{||{{||||{{z||zz{{{{{|~~~~~}~}{}|}||}}}|}}{|||||{||{{}|}{{{{{z|z{z|{||z|{{{{{zzz{{{{{|{{|z{{{{z{z{{{{{{|{{{zz{zz{{||{{{{{z{{z{z{{{{{{{{|{z{yz{zzz{{{{{{|{{z{{{{{{{{|{|||{{{zz{z{z{{|{||}|{{zzzz{{z{{{z|{z{{{{z{{z{{{z|}z|{{{z{|y{{{|||{{|{{zz{z{{{{|{|||{{{{zzz{{{||{|{||zz{{{z{{|{{{{||{{{{{{z{{{{|||}{{|{{z{zz{{|||{||{{{|{{{|{{z||||||{{|{z|{{{||{{{{|{{z{{{|{||||{}||{z|{{|{{{|}||||{|{{||{{{{||{{||||{|{z|{{{|{|||{|{{{{{{{|}|||||}||{||{{{|{|}||{|||zz{|z{{{|||{|}||||{|{{{||||{}||{{{z{z{z{{{||||||{z{z{|{{|||||{{{{{{{z{{{{|{{~}~~~~}}}~{{|}||}~}|||||{{{z{||||||}{{||{{z{{||}|{|}{{{{zz{{{{|{{||{|zz|{z{{z{||{{{|{{z{{|{z{|{{{y|{{zzzz{{zz{{{{{{|{zz{z{zzz{|{|z{{z{{{{z{{z{{{{||{{{{{{{{{zz{{{{{||{z|zz{{z{|{{||{{{zz{{z{{zz{{z||{zz{z{{yz{|{|{{|{{z{|z{z{{{{|||{{{z{{zy{z{{{|{||}{{{{{z{z{||{{|{z{{z{{zzz{|||||{{{|{zzzzz||}{{{{{{{{{z{y{{{|{||{{z|{{|{{{{}|{{|}|z{zz{{{{{{{{||{{{z{{{||z||{|{|{|{{{z|{zz}|{|{||}|z{|z{||{{{{}}|||{{{{{{{{|{||||||{{{{{{{|{}||{{||z{{{{z|{||z||{}}{zz{{{||{||{{}||{zzz{z{{|{|{|||{|z{{{z{|{|||{{{{zz{zz{{z{|{|~~~~}~~}||}|}~||}}}}||{{{|||{|{}{||}{|{|{|{||{{|z|||}|||{z{{z|||{|{{|{{{z|{|{{{|z{|{{{{{{{zz{|||z{|{|{z{z{{zz{{{{{|{|{zzzz{zz{{{{|{|{{|zzzzzz{z|{|z|{{{{zy{{{z|||{{|{z{z{z{zzz|zz{{{|{{{{zz{{z{{|{|{|y{{{zzzz{|z{{|}|{{{z{z{{{{||{{||{{{|{zz{{||{{|z|z||{{zzz{||{||{|{{|{{z{{||{{{{{{|zz{{z{y{||{||||{zz{{{{{{||{|||||{|{|||{||||{||{{{z{|||{||{||{||||{{|z{z||||||~{|{{{|{z||}||{||||{|||{{|{||z|||}|{{{{{|{{|{}||}|{{{}|{|{{|||{|{||{{{{{{|||{{|||}|{z{|||{{|||{||||{{z{{|}}||}|{|||{z{{|{{||{||{{{{|{{{zz{{{{{{~~~~}|||~|}|}}}|}}||||{||z|z|{|||||}|{{{{{{||{|}{|||{{{z{{{z{{}|{|{|{y|z{{{z{|{{{|||{{{{zz{z|z}{||{z{{{{{zz{{{z{{|{{zzzz{zz{||{|{|||{zz|z{zz{{|{|{|{{z{z{z{z{{{|{|{||{z{z{{{{{{zz{|{|zzz{{{{{{{{{{{{{zzz{z{{z{{|{{||{{zz{{z{{{|{{{|{{{{{zzz{{{{{{{}|{{{{{{z{{}{{|{{|{{{z{{z{{{|||}|{{{{z{y|z|{||||}{zz{{{zz{{{|z||{|{{{{{{{{{|||||{|{{{{{{{{||||||{|{{{{{zz{{|||{|}||{zz|{{{{||{|||}{|{z{}{{{|{{||{}{{|{{{z{|}|{{}|||z|{{||z|{}{|}{{|{|{{z{{{|{||||}||{|{{{|||||||||{{{{{{|{|{{|||||{|{{z{{{{|{|{{|{{{{{{y{{|{{{z~}}~~~}~|}}|}|}}}|}|{{|{|{{{{{||||||{{|{{z{|{||{{||{z{{{{{z|{{|{{{}{z{{{{{z{{{y{{{{z{{zzzy{{z{zz|{z{z{z{yzz|zz|{{{|{zzz{z{z{{{zz||{{{{zzz{{y|{{{||{{{{zz{{{z{|z{|{|z{{z{zz{z{{{{|||{{zzzz{{z{{|{{{{{{{{z{yz||{{{z}{zz{z{{{z{{|{|{}|{{{{zz{{|{{{{|z|zz{{{z{z||||||{{|zz{z{{|{{{|{||{{{|{{{zz|}{||{||{z|{{{zz||{{{|{{{{{{{{{{{{||||}|z{|{{{{{||{||{}||{{{{{z{{||{||{{}z{{{|{{||||{{}||{{{z{{z{{{|{}||{{z{{{{{{||||{~||z{{{{|{||z||{|||||z|z{z{{|||}|}|z{{{{z{|||{|{||||{z{|{{{{||||}}|{{|{{{z|||{{{|{{{{{z{{{{|{{{~~~~~}~}}}}}|}|}|}|}}|{{|||||||}|{|}||z{{{{{{{|}|{|||||{{{{zz{|{|{|||{zz{z{{z{{{z{||z|{{{{{{z{{{{|{|{|{|z{{{{|{{{{{||{{{{{{z{{{|{|{{{{yz{z{zz{|{{|{{{{{{zz{{{{{{{|||{{{z{zz|{z{{z{{{|{{yz{z{z{{z{|}{|zz{|{|{z{|{{}{||zzz{{z{z|{|{{}{|{{|z{{z{{|{{{}||z{zz|{{z|{|{||}{{|{|{{{{z|{{z}|{{{{{z{z{|{|z||{||z{{|z{{{|{{||||{{z|{|{{{}|||{{|{{|{{|{{|||{|}}}|{{|{{{z{|||{{|||{{{|{{{||{||{}{|{{{{|{{{}|{||{|}{{{z|zz|}||}|||{{{{{{{|}|}|{||{|{{{{{|z|}{{|}|}||z{|{{||{||}|||{{|{|z|{{{||{{|}|{{{{|{{|{{|||||{{{z{{{{|{||{~~~}|}}}||||||}~}|}}|||{|{{{|||||||{{{{{{{z{{{{|{||{|{zz{{z{{{|{{|{{{{z{z{y{|{{|{|{{|{zzzzz{|{{z{{{|y{{zz{z|zzz{||{{{zzzzz{{|{|{{||{z{yzzzzz{{{||{{{{|zz{z{|{z|{{{{{z{{zzz|{{{z{|{}{zzzzz|z{{{{|||{{{{{{{{{{|{|{z{{{{{zzzz{{||{{{|{{{||{zzz{{{|{|||{{|z{{z{|{|{||}|{{|{z{{{|{|{{||{{{{{z{zz{|{|||||{{{z{z{{{}{|z}||{|{{z{{{|{|{||{{{{{{{{|{{|{}{||||{{|zyz{{|||{||{{z{{|{|{{|{{|{|||{{{{|z{|||||||}|{{{{|z{{|||||||{z||{{|{}||{}||{{z{}{{{{|{{{||||||{|{{{|{|{{{|||zz|z{{{{{{{|||||||{|{{|z{|{{z||{{||{{{{z{||{|~~~}||||}||}}||}}|||{{{|{{{|||||{{||z{|zzzz{||||||{|{{{zz{zz{{|{||||{{z{{zz{{{{z||{{z{z{{z{{{{zz|{zz{{zz{zzzz{{{{{{zzzzz{zz{z{{{{{{{zz{zzyz{{{z{|z{z{z{zzzz{||||{{|{zzzzzzyz{{{{{|{yz{{y{{{|zz{{{{{yz{zz{{z{{|{{{z{zz{z{{{z{{|{{z{|z{{z{{{z{{|{{{{|z{{z{{zz{z{z|{||z{{{z{{zz{|{z|{{{z{z{{z{|{{|{{||{zz{{z{{{|{{{|{{{{{{|{{{|{||||{|zz{{{{{{||{}{{||{{{z{{zz{|{|||{{{zz{|{z||{||||||{z|{{||||||{|||||{z{{{|{{|{|||||||{||{||||{{}|}{{{{{{{z{{{|||||}{z|{{{{{||||||{}{{|z{z{zz{|z{||}|z{{z{{z{|{z|{{{{z|{zzzz{{|{{~~}}}|~~|||}}~|~|{|}|{||{|z||||}||}||{{|{{z{|{|||{{{|{{{{|{|{{{||{}|{|zz{|z{{{{{||{{|{{{z|{{|{|{}{{|z{{z{|{z{|{{{{|{z{|{z{z{{{{|z{zzzz|zzzz{{{{{|{{{{{{{|{zz|z{{{|{{{z{{z{z{z{{{|{{z{z{{zzy{{|{{|{{{z}{{{zz{z{{||{{|z{{{y{{|||{z{{||z{{{{{{|zz{{|{|{z{z{z{z|||{{|{|{{z{{z|y{}{|{|||{{{{{{{{{{||{|{|{z{{{{{{|||{||{|z{{z{{{{{|{|||||z{||{{{{{|{|}}{}{{{{{z{|{}|}||||{{{z{z{{|||||}{||{{z{{{|{|{{}|||}{|{{{{z{||||}}}|||{{{{|}{}||{|||{|{{{{{}{|{||}}|{{{{{{{||||||||{{{{{z|{}{|}{{}||{{{{{{{{{{{{|||{{{{{{{{||{{|~~~~}~~}|||}|}}~}|}||{{|{{|||}{||{|{{{z{{{{|{{}|{|{||{yz{{z|{|{||{{{|{z{{{{|{{{|||{zz{z|yzz|{}|||{{z{{{zzz{{{{|{{{{z{{z{z{{z{{z{{{{|zz{zz{{|z|{{|{{{z|{{z{{{{{|{|||{z{|{z{z{{z{z{|z{z{{{z{zz{{{{{||{{{z{||z{{{|{|||{z{z{z{{{|{|{z{|||z{zz{z|||z|||{{{{{z{{{|{{{}z{{z{z{{zz{z||{{|{|{{{{{z{{{{||{{{{{z|{{{{z||||||}{{{z|{|{{z{||{|||{|{{z|{{|{||{{||{{{{{{z{|{||||{|{|{|z||||||||{}{{||{z{|{{{||{|}}{|{{{|{|{}}||||}{|{{{{{{||||{|||{{z{{|z{|{||||||{|{{{|{||{|||||}||z{|{{{||{|{||}{|{z||z{||{||{||{{{z|zz{{||{{~}~~~~}}}}~|{||{|||~}}}|{{z|{{{{{|{}||{{|z{{zz{|{}z{|}{{{z{|{z|{{{||{{{{zzz{z{z{|{{||{{zy{{{{zz{{|{{||{z{z{zz{{zz|{{|{z{zzzzz{{|{{{||{z{z{zzzzz||{|{{{{z{zzy{z{z{{{{}{{{{{{{{{{{{{{{zzz{{{{{z{{|{z{{|{{{zz{z{z{{{|{{||{z{{{{|z{{{{{{{{{{z{y{z|{{{{{{|{{{zz{{{zz{||{|{|{{{{|z{z{{|{{}{|{{{yz{{z||{||{|{{{zz{{{z|{{||{{||{z{{{{z|||{}||{{{{{|{{{{{|||{|z{{{{{{{{|||{|{||{z|{{||z|}|||}|{{{{{||{{{{{{|||||{|{z|{|{}}|||}|{||z{{{{||||}||{{{{{{{z{{||{}|{|||{{|{{{||{|||||{|{{|{{{{||||{}|{{{{{{z{{||{{{||{{{z{z{|{|{{|~~~~~~~~}}~||||{}}}}|}}|||||{|z{{|||||||{|{{{{|{{|{{|{{|||{{{{z{{{{{{{|{{{{{zz{z{{{{{z{}{zz{{{zyz{{{z{{{zz{zzzz{z{{{z{z{{{zzz{{z{{{z{z{|{{{{{{zz{zzz{{z{{{{{zzzzzz{{{{z{|{zy{z{{z{|{z{{{|{{z{{z{z{{{z{|z{{zy{}zzz{{{{z{}|{z{{zz{z{{{{{{|{z|{zz{{z{|{|{||{{{{{zzz{{{{{|{|||{|z{{{z{{{{{||z|{{zzz{{|{|{|{||{{{{{{{z|{{|{{|{{{{{|y{z{||{|}|{|{|{|{{{||||{|{||{z{|zz{{{{}{|}{{{{z{{{{z|||||}|{{{{|||{{|{||{|||{|{{{{|{}|||}{}|{{{z{{|{{||||||{{{{{|z{{|||||||z{|{}||||{{{{{{|{{{z{{|{{|{{{|}|{|{{{{{{{{|{||||{|{{zz{z{||{|~~}~}}}}|{}}}}{}}{||{{|{{z{|||||{}|{{|{|z{{{|{|{{|||{{z{z|{|{|{||||{{{{z{}{{|{{{{||{{{{zzz{|||zz|{{{{{z{zz{{{|{{z||{z{z{z{z{{{{|{{{z{{zzzzz{}|{|{|zz{{{{z{{{{{{{|{{}{z{{z{{{{{z{|||{zz{{zzz{|{|{{|{{{z{zz{y{{||{|||||{z{z{{{{|||||}zz{z{|{{||||{{{|{z{{zz{z|{|{||||{|{|{z{zz|{|{|||{{{{{z{|{{|||z|{|{z|zzz|{||||{|||{|z|{{{}|||{{}{{{{{|{|{z||||||{|zz{|z{z||}||||||{{|{{|{{||||}{|||||{z|{{|{|||{||{{{||{|{|{|{||||{{{{{{{||}||||||{{{||{|||{||||}|{{{z|{|{||}||}||{{{z{zz{||{|||{||{|||z{{||||||}{{|{{z{z{|{|{~~~~~||}|}}{}}}|}~|}}|{{{||{{|{||||||{{{{|{{{{||||||||{|zz{{{z|}{{|{|{z{{{{|z{z|{|{||{{zz{{z{{|||z{|||z{{zz{{{{z{z|{{zzz{{zzzz|{|{{||{{{{{{z{|{|z||{||{{{zzzz{{{|{{|{{|{z{z{z{{|{{||}z{{z{z{z||z||||{{{z|||{{{{{|{{{|{{{{{{{{||||{|{|{{{z|{{{{{{|||||{{zz|zzz|{}{|||{|z{{|{{{|{{{|{||{zz{|{{{{{||{|}||z{{{{{{z{{{|{|{||{z{||||{|||||{{{{{{||{||{|||{|{||{|z{{|}||||||{{{{{{{{}|||{|}|||z{{||{|{{{}|}}|{{{{||{||||{}}{{{{|{{|{{|||||}||{||{|{|{|||{}|~{{{|{||{||||{}|}|||||||{|{||{||||{{z{{{z||||{|{{|z|{{{{{{|{||~~~}~~}~}}~|{||||}}|~}||}}{||||z|{{|||}}|{{||{{{||||{|{||{{{z{{{|{{|{|{|z{{z{{{z{{|{{{}{{z{z{z{{|{{{{|||{{{{|{{{{{{|{{|{zz{{z{{{{{z{{|{{{z{{z{z{|{{{|{{{z{||{{{z{{{z|{|{|z{{{{{{z{{{{||{|{zzzz{z|{z{|{||{z}{{{{z{{{{{||{|{{zz{z{{||{||{|{{{{zzz{|{||{{{}{z{z{{zz{{{|}{||{z{{z{{{{|||||||{{{{{{z{{||{{{||{{|{|{{|{||{{|{{{{{|{|{{{|||||}|z{|{{{|{{{{|{|{|||{z|z{{|{{{{{|z{z{{{|{z||{||||||{|{||{z{||||||}|{||{{|{{||||}|||{{|||{{||||||||{{{|{{{{{|{||}}}|{|{}|{{}{|||{|}||{{{{{|{{{{{|}{{zz{{z|{||}|||||{{|{{{{z{{{{{~~~~~~}~}~|}|}||~~|}~}}||}||||{||z|}||}{{{|{|{{{{{z{|||}{{{z{z{z|{{}{|{}{{{{{z{{{||z{|{||z{z{z{{{{{z{{|{|{zzz|{{{{|{{{||z{{{{yzy{{{z{|{z{zzz{{{{{{|{{z|{zz|zz{{z{|{{{||{{{{{z{zzz{{z{{{{{{z{z{zz{z{z||{{{{zz{z{{z{|{z{{||zzz|{{{{||{|{{{{zzzzz{{{|{{{|{|z{{{z{z{|z|{||{||{{z{zz{{|{|||||{{{{zz{z{{|{||}{{{z{{{zz{|}{|{{|{zzz||{|z{||||{|{{{{{{|||||}||{||{||{|{z{}|||{||{{{{|y{{|{{{|{|||{||}{{}|{|{|||{|||}z|{{|{|}}|}}||{|{{{{||}||||{|{{|{{{{||||{||||{{||{{{|}||||}}|{{{{{|z{|||||||||{{zz{z{|{|{|||{|{{zz{z{{z{{~}~~~~~~|{||~||}}}}|}}|}|}|z|||{{||||||||{{|{{{z|{}|{|{||{z{zzzz{||{{{{}{z{{{z{{z{|z|{||{|{{{{{{{||{{{|{{zzzz|zz{|{{{|{|{{zz{{{{{|{|{|||{{zzz{{zz|{{|{{{{|{{{{zz{{{|z{||{{{{yz{zz{{z{|{|z{z{zz{z{|zz{{|{z{{|{{{{z|{|{|{|{{{z|{{z{{{|||{|{z{|zz{{{|{{{||||{|z{{z{{|{{z||||{{zzz{z|{}|{{|{{{{|{{{{|||{{||{|{{}{{z||{||{||{{{|{|{{|{|{|{|||z{|{{{{{|{|}|}}}|{{{{{{|||||{{}|||{{{{{{|||{||}|{{{|{{}{|}{||}|}{{{|{{|{|||||}}}|||{{z|{|{|||{|}|{{{||{{{}||{|}}|{|{{{|{||||||||||{zz{|{||{|||||{{{{|{||z{||{|{|{{{z|{{{{{}{{~~~~~}}~}}}|}}{{{|}|}|}}}}{}z{||{{{|||{||{{{{|{{{||{|{{|}|{{{{zz{{z{{{|{}z{{z{{z{{|{{{{{z{{z{y{zz{{{{z{z{{z{z{{{{{z{z{{{{zz{z{z{z|{{{zz|{z{zzzzyzz|{{{{{|zz|{zz{z{{{|{{|{{z{{z{z{{{{{zz{{{{z{z|{{{{{{{||{zzzz{zzyz|{{{{|{zzz{{{{z|{{{{|{{{|{{z{{{|{|{|{{|z{{{{{{{{{|{{{|zzz{|{{|z{||{{}z{{{zzzzz{{||||||{|{{{{z{{{{{{||||}{{{{||{||z|||||{{{{{z|z|{{|{||||z{zz{{z}|{{|{||{{z{{{{z|}|{{||||{{{{z{|{{{{|}{|{{{{||{{|||||||||z{|||{{|||{|}{||{z|{{||{||||}||{{z{{{{{|{|{|{||z{zz{|zz{|{|{|{||{|{{{zz{|{|{|{||{{{z{zzz{{||~~~~~~}~~~}|~|}{|{}|}}}|{}||{{{{z{||z||||||{{{{{z{{|||{||||{{{{{zz||{||||||{{{zzzz{{|z{||{{{|z{z{z|{|z||{{{{{z{{{z{z{{|{|{{z{z{{{{|{{{z{{{{z{zz{{z{z{{||{{z|{{{z{zz{z{|z{|{{{{{{{z{{{{|{{{{{zz{|zzz{|{{{|{zz{{z{{{{{{|{z|{{z{{zz{z{{{{z||{{z{{{z{|{{{{|z|}{{zzzz{{{{|z|||{{{{{{z{|{{{{{|{|{{|{{{{{|||{||{{{z{{{zzz{|{{{{|||{{{|{{z{{|{||||{{{{{z{{|{|{{||||{{{z{z{{{|||||{{zz{{{{{{||{{||}||{{{{{{||{{|}}}|{{{z{{|||||{|||||{|{{{||}}}{|}{|{{{{{{{||{||||}{{{||{{{||{|||||||{zz{{{|{{{}}||z{{|{z{z{{{|{|{|z{{{{|{{{z|||~~~~}~~~~~~}~~~}}}||}|{|}|||}}|}|{{{{{|{||||||||{{z{{{{{||{|||{|{zzz{{z||z|}{{}|zz{zz{z{|{|z{|{{{{zzz{{z{{z{{{{|{{zzzzz{zy{{{{|yz{{zzzz{{|z{z{|zy{z{{z{{z{||{{{z{{{z{z{{z{{{z|{zz{{{{zzz{{{{}{{{{zz{z{z{|{{{|||{{{z{{{zz{|||||||{z{{z{{{|||{{{|z{{{zz{{{{{|{{{z{{{z{{z{|{|{z{{||z{z{{{{|{||||{|{z{|{{{{{|{{|||{{{{|{zz{{||{{{||{{{{{zzz{{}|||{|{{{z{z{{{|{|||{||{{z{zz{||{|{{||{z{{{{{{{}{||{||{{{{z||z|{|}||}||{|z{z||{||}|{||{{||{{{|||}|||}{|{{{{{{|{{{{|{|}{|{|{|z||{||||{|{{{{{|{{{|||||{{||z{|{{{{|{||||}|{{{{{{{|||{|~~~}}~~}~~~~~|||}}||}|}|||}}}|{}{||{{{}|{{|||{{|{{{{zz{{{{|||{{{|{z{z{{|{{{|||{z{z{z{z{{{|{{{|{{{|{{z{||z{|{{zz{{{zz{zz{|||{{zz{{zz{z|{{||{{{zz{z{{y{|{|z|{z{|{{{z{z{|{|{z{{{{z{{{{{z{|{z{|z{{z{zz{z{{|{{{|||{zz{zz{y{{{|{{|{{{{{{{{{{{{{{{|}zz{z{{{{}|{{{{{|{z{{{{|{||||||||{{{{|{{z{{{{|{||{|{{{{||{{{{||||{{{z{zz{{|}{{{{|{|zz{|{||{||{}||{{{{{{{z|{||{{||||{{{{z{z||{|||||{{{||{{{|{||{}||{{{{|||{}|{|||||{{|{|{||}}{||}~|z|{|z|{{{}|{||{|{{{|{|{||{|}||}||||{||||||}||||{||{{||{z|{}||||||{{{{|{|{{|{}|{|{{zz{{z{|{{{~~~|}}}}~}}~|}||||||}}~|||}}|{|{{{|{|{{|||}|}z{|{z{z{||||{}|{{{|{z{zz{||||||{z{zz{z{{|{{|||{{{zz{{zz{{|{||{||{||z|z{{{{|{|{}zz{zz{{|{{{{{{{{{{{{zzz{{{{{{|{|{{{zzzzz{{{{||{{{|{{{zzz{{z{{{|{{|z{z{{z|{|{{|{{{z|zzz{{{{{z|{|}{{{{{{z{||z{zz{}z{{{{{{{|{|{|}||zz{{{{|||{|{||||{{|z{y{{{{|{|}{{{{{{|zz{{|{}{|}|{{{}{{{{|{|{{|||{{{|{|z{||{||||}{||{{{{{|||{{{}}|{}|{{{{{||||||||{|{{{{||||||||}{{{z|{|{|||||||||{{{{{{z|||}||||||||{|{z||}}|||||{||{||{|}{|||}|{|{|{z{||||||||||{{{{{{||{|{|||||{{{z||z|}{}{|{|{|{|zz{{{|{{{~~~}~~}~~}}~~|~|}{{{|||}}}|}~|{|||{{{|||||||}}{{{{{zz{}{|||||{{|{{zz{|{{{|||{{{|zzz{z{{{{{||{||{{{{z{||||{{{{{|{{y|z{{|{||{{||zz|{{{{z||{|||{{z{{{{{{{{|{|{||zz{{{z{z{{{{|{{{|}|{zzzz{||{{{{|{|{z{{{z{{{|{|z{{{{{{|{z{||{{||{{{{||{{z{{{{{{{|{z{{zz{z{{{{{|{}{{z{{z{z{{||{|||{z|{{{{{||{|}}|||{|{{{{|{||{{||{|z||zz{{}||||||{{{z{{{|{|||{||{|{z|z|{||{|{{||||{|z|{{{{||||||}|{{|||{|{}}|||||}|||{{{|{|||||}|||{{||||{|}|||{}||{|{{z{|||||||||||{{{{|{{|{|{|}}|{||{|{||{|}|||}{||{{{{{{|}||{|}{{z{{{{{|{|}{|}{{{{z{z{{|{|{|~~~~}}~}~}~~}~|{||||}}}}}||}|||{{|||{|{|||}|}{{|{{{{{{{||{{}||{{z|z|{|{z{{|||{zz{{{zz{{|{{||{{{{{{{}{{|{zz|{{{zzzzzz{{{{{|{{|{{zz{zz|{|||z{|{{zzzz{z{{z{|{|{|{{{{zz{z||{{||{|{|zz{{zzz||{{{{|{{z{{z|z{|{{{||{{z|{{{{z|{{{|||}{{zz{{z{{|{{||||{{|{zzz{|{|z{|{|zz{{z{{z{{{{|{{||{{{{{{|{|{|{||{||z{zz{{|||{{||z{z|{{{z{|||{|{|{||||{z{{|||||}{||{{z{{{{|||}|||}|z{{{|{z{|||||{}{{|{|{|{{|}|||||{|z{{{{{{||}}|||{{{|z||{|}||||}|}{|{{z{{|{|||{||{{||{|{|{|{{}||~{{{z|{{|{||||}|}|{|{{z{{{|||{||||{|{{{|{||||||||{{}|{zz{{|{|{~~|~~~}}~|~}~~}~|||{|z}||}|}}}}{||||{|}||{||}|||{|{{{{{|||{||{{|{zz{{{|{{{{{||{z{zy{{{|{|z{|{{{{{z{{{{{{{{{|{|zz{zzz{{{z{{{{{zz{{{zzz{{||{{{{{||z{{zz{|{{{|||{zzz{zz{z{{||z|{{{{{{{z{{{{{{z{|||z{{{z{{{{{|{|{|zz|{{{{zz{||{z|{{{{{{{{z{|{|{||||{{{z{z{{||{||||{{{zz{z{|{|{{{||z{{|{zz|{{||{||{{{zzz||{{||{{{{||{z{{{{|{{z{{|||{{{{{|z|{|{||||{{{{{{{{||{|{{}|||{{{{{z{{{{|{||{|z{{{{|{|}|||{|||{{{||{|{||{|{|}|{{{|{{{{}||{||}|{|{||||||}|||{||{|{||{{||{{||}|||{{{{{{||{|||||{|{{{{{{{}|||{{|||{{{{{z||||||{||{|{{z{z{{|{|~~~~|}~}~~}}~}~}||}||{||||}||}}|{{{z{{{|}|z{}}{|{|{z{{{{{|{||{{}{{|y{zz{|{||||{zz{{{z|{z{{{{{{{{}{z{{{z{{{}{{{{{{{{zzz{y{{{{{{{{zz{z{{{z{z{|{|{{{z{z{zzzz{{{{{||z{|{{{{zz{|{{{{|z{z{zzzzz{|{||{{{{z{{z{z{|{{{{{|{z{z{{zz{z{|{|{|{{zy{{z{z{||{|||{zz{{{{|{z{|{|||{{{z{{{z|{{||||z||{{{{{z{{z|{|{}|{}{zz{{|{{|||}|zz{{{z{{|}||{{{|{z{{{|{{|||||}||{{{z{|{z|{|||{||z{{{{{z{|{|{|{}|{{{{{{{{|{{{||{{{{{{{{{{|||{||}|{|{|{{{{|}||{}|||{{|{{{|{||||||||{{z|{{{{|{|{{}||{||{{{{|||{{|||{{|{{{{{|}|||||{{|{{|{{z{|{}||{|{{{||{{z|z|z{~}~}}~~||~~}}|}~}}|||||{||}{~{|}}{|{|{|{{|z|||{|||{||{z{z{{||{{{{{{{z{z{z{{||{|{|z{{z{{{z{{|{{{{|{{zzzz{z{|{z{{{{{z{{{{{z{{{{{|||{z{{z|{zz|{{{{|{{{{{{zz{z{|{||||{{{{zzzyz{{{z||{{zzz{zzzz{{zz{{|{{{z{z{zz|{{||{|{z{{z{zz|{{|{{||{{|{{{{{||{|{{{z{{{{{zzzz{{{{{|{z{|z}{{{{{{|{{||{{|{|z{{z{|{{|{||{{{{|{{{|{{{z}{|z{|{{{{{||{{}|{|{{||{{{{||||||}{|{{{{{|{}||{||||{{{||{{{|||{||{|{{|{|{z{||||||||{{{|{{{|||||||||||{||z{||||}|}||{{|{{|{|||{|}}|||{|{{z{|{{|}||}|{|{{{{||{||||{|z{{|{{{{||{||{||{{{{{{{|z{||{{||{{{zz{z{{|||{~~~~~~~}~}|}}}}}}}{|{{{|||}||}|~}~||||{{{z|{||{|||{{|{{{z|{{{{{{|||{{{zz{zzz{|{{z|{z{zzz{zz|{{{|{{{{z{zzz{{{{z{{|{{|{zzzzz{{{{|{{|zz{{{{z{{z{{|{||{zzzz{zzz{|{{{|{{{{zz{zz{||{z{{|z{zzzz{z{{{z{{{z{{zz{z{zz{z{{{{|{{{{|{zz{{|{|{|{{z{{z{{{||{z{{{|{z{{z{|z{zz||{||zz{{{{z{|||{||{{{{{|{||z{|||{||{|{{z{{{z{||{{{|{{{z{{{z||{{|{{|{{{|yz{{{|{||{|||{|{{{{|{}{||||{||{||{z{{|{||{|}|||{z{{{{{|{|||}}{{{{{{{{z|{|||{||{|z||{{{||||||{|zz{{{{{||}||{|||z{{{{{{{||||{||{{z||{{{||{|}{||{|{{{{z{z|||||||{{{z{z{|{}{|{|||||{{{z{{{||||~~~~~}}|~}~|}}}}||{{|z{{||||}|}}|{{|{{|z|||||||}{z{|{z{{{|||{{{{{z{{{z{{{{||z{||{{|{{{zz|{{z{|{|{{{{{zz{|||zz{z{{z{z{{{z{{{|z|{|{{zzz{zzz{{{{{{{zz{{zzz{z{{{{||{{{{{yzzz{{z{{z||zz{|zy{z{{{{{{{|zzzz{|zz{{{{{||{z{{{{{zz{|{{{{|{{z{{{yz{{{{{{|{||{|z{z{{{{|{{|{||{{zzz{{{{||{{||{z|{|zzz{}|{||||{{{{{zzz{|{{|}|{z{z{{z{{{|{{{||{{z|z||{{{{|{{||{|{{{|{{{||{{{||}{{}{z{{z{}}||||{|{{z{zz{|{|{{|}}{{{zz{{|||{{||||||z{z{{{{|||||||}{{{{||{}||||||||{z{{{{{{||{{|||}{|{{{{|||{||||}z|{{{z{|{{{|||||{{|{{z{z{|||{{||{{|{{{{z|||{{~}}~}~~}}|}}}~}~}}||||}|{{||||||}||||{{z||{||{}||||{{|{{{{{|||{{||{z|zz{{z||{|{{{{{{{{{{{z{||{{||{{z{{{zzz{{{{||||{zz{{{z{{z{|{{{{{{{z{z{{{{||{|{|{y{z{{zzz{{{{|||{z{{y{{z{{|z||{|{{{{{z{y{{|zz{{{{z{{z{z|z|z{{}{{z{{z{{yzz{{{{{||{z{|zz{z{|{{|{{|{z|{{y{{{||{|||{{|{{zz{{||{{{{||{z|z{{|{{||{}|{{|z{{{{{{{{{{{||{{{|{z{{z||{{|||z{{{{{{|||{|{{||{{{{{{{{{{|{{{}||{|{|{{{z{|{|||||||{{|{{{{|||||||{|{{{{|{||||}||}|{|{{z{{{|{|}||}||{{{{|{}||||||||{{{{||z{{|||{|}{{{|{|{|{|{{{||||{{{|{{{{}||{|}|{z|z{{{{{||{||{{{{{y{{zz||{||~~}|~}~||}|}}}}}}}||{|||{|}||||||||{{z{{z|z{{~{|||{|{|{z{{|{}|{{{{{zzz{{z|{|{||{{{zzzz{{z{|{{{{|||{{z{{{z{||z{|||{{|{z{y{{{{z{{||{{{zzzzz{{{{|{|{{z{zzzyz{{|{{|||z{z{zzz|z{{z{{|{{{{{{z{zz|{{z{{|{{{z{z{zz{{z{||{{{{z{{yz{{{{{|{{z{|zz{|{{|{z{}|||z{{zz{{|{{|{{{|z{{z{z|{{{|{||{{{z{{{z{{{|{|||{|{zzzzzyz|||{|{{{z{zz{z{{{|{|{|{{{{{{{{z{|||{|{||{{z{{{|{{|{|{{}|{{||{z{{{{|{|||||{{{|{{z||{|{}}|{{z{{{|{{{|{|}{||{{|{{{z{|||||}|{{{||{{{|{{||}||{{{{{{||{|||||{||{{{{{{{||{||||||||z{{{{{|{||{{|{|zzz{{z{{|{|{}{{{{{{{{{{|{{{~}~~~|}|{}{}~}~}|}||||{{||||{}|||}|{{{{|{{{|||||}|}|{{{z{z{|}z|||{||{{{{{{z|{}||||{{{{zz{{z{|{{|||{|{{{z{zz{{{{{{||{{z{{{zz||z{{|{|zzzz{{{{{{{|{|||{zz{zzz{|{{{{z{{{z{zzzz{{{{|{|{{{{z{{{{{{|{z{}||{{zzzzz{{{z{{|{{{{{z{{zz|{{|{{{|{{{{z{{{|||{{||{{z{{{{|z{||||{||zz{|{z{{{{{|||{|{||{zzz{{{|{||{||{|{|{z{z{|{||||{{{|z{|{{|{|{}{z|{{z{z{{z{|||}||{|{z|{{{||||{|||{{||{{{{}||{||{||z|z{||{}||{||}}{|{{zz}|||{||}|}|{|{{{|{|||{||~|}{||||z{|{||}|||{|{|{{|{{z{{|||||z{{}|{|||||||{|{{{z{{|z{{{|||||}z{{{{{{{||{{|}||zz{{|{|{{{{|~}~}}~}}~}|}~}}|~~||z|||{{{}|||}}{}||{{{||{|||{{{||||{{|{z|{{{{{|||{{{{zy{z{||||{}|{zz{}z{z|{|{||{{z{z{{{zy|z{{z{{{{z|z{{{{||{|z|{|{zzz{{{{{{|{|{{{{{zzz{z{{{{{{{{|{{{zzzzz{||||{{{|z{zzz{z{{||z{||||z{{{z{||{{{|{{|z{{{z{{{|{|{{|{{{{{{zz|{{|{|{{|{zzzz{|{|{{{{|}}z{{z{{{z{||{|||||{z{{zz{{{{|{{||{{{{|{z{||||{{|zz{{{{{{|||{|{||||{{z|{|z{|||{~}|{}{||{{{{|z||}||{{{||{|{z|||}|}{|{{{{{{|}|}||||||{{{||||{|{{{||}|{||||{{z}||}}|||{||{z|{|}|||}|{{{{{{{{{}||{|}||{{{{|{{|}{||}||||{|z{{{{{|{{|||||{{{{{z{|||{|||{{{{z{{{{||y{|~~~~}|}||{|}|{}|}}|{{|||{{|||||}}}||{{{{{||{|{|{||}{|{{{z{|{|||{{||z{{{{|y{{{|{|{|{{{zz{{y{|{z{z{{|{z|zz{z{||{z|zz{{z{z{z{|{{{|{{{yzzz{zzz{{{|{{zz{{{{{{z{||{{{|||{{{z{z{z{|{|{{}|{{z{{{zz|{{{{{z||{{{{z|{z{|{||{|zz{{{{zzz{|{{{|||zz{{z{z{{{z|{|}{z{{|z{{|{{|{|{|zy{{{{{{|{{{{{}{{{{{|z|{{{{|{{|{|z{z{{{{||{{{{}{{z{{{z{|{|{{{||{|{|{{{zz{||{|||{{{{z|z{|}||||||||{||{z{z|||}|||||{{z{{{{||}{}|||{|{{{{|{{|}||}||}z|||||{{|{}|||||{||{{|{||{}|||||{|||z{|{{||||||{|{||{|{|{||||||{{|{{|{z||}{||||||{||z|z|||{|}||{{{|z{{{{{{{|}}~}|}|}{}{}}}|}}|}||||||{{||||||}{{{{{{{{z{{{||{|{{{{{|zz{{{|||||||{zzzzzz{{{}{{z|z{{{{zz{{|{z{|{{{{{{yzz{|z{{{{{zz{{z{zz{{{{{||{{zz{z{z{{{{{{{|||{{zzzzzz{z{{||{|zzz{zz{z{{{|{{{{|zz{zzz{{{|{{z||z{zz{{z{z{zzz{{{{{z{z{{z|{z{{{|{z{{z{zz{z{||{{{z{zz{zz{z{{|{|{|{z{{z{yzz||z{{|||{{{{{z{{{z|{||}{{z{z{{{z|{|{|{|{{{{{{{{{|{|{z{{|{z{{{{zz||||||{}{z{z{z{|||{|{}{|{zz{{{zz|||{{{|||z{z|{z{||{|}|{{}z||{z{{{|||}|||{{{{{{{{{}||{{|||{|{{{{z|{||||{||{{{|z||||{||}|||{{|{|{z{||||{}{|{{{z|{|{||||||{{{zzz{z{z{{|z{||{z|z{{zz{{{|{}~}}|||{|}||}}|}|}}}{{||{|{|||{{}||||{z{|{{}|{{||||{{{{|{z{{{{z{|||{{{{zz{{{{|{{|{|{z{{z{|zz}{zz|{|{{zzz{z{{{{{{{{z{{z{z{{{{z{{{{|{z{{zz{z{{{z{{|{{{{zzy{zz|{|{|{||{|{z{zz{{{{|{|{{|z{{{{zz{z{z{{{{{|{zzzzz{{{z{|{|{z{z|{{z{{{|{{|{{{{{{{zyzz|{{z{{{{z{{{{z{z{|{|||z{{y{z{{|{|{|z{{{{zzzz{{z{{z{{||{{|zz|z{|||{{||{{{z{{{z{|{|{z{||{{z{{z{z{|{{{z|{zz{z|{{z{{|||{|||{{||{z{{||||{}{|z{z|{{{||{|||}|||{{{{|{{|{|||||||{z{{{{|||||{|}||{{|z{{|||}|{|||{{|{{|||{{|{||{|||{|z{{{||}{}|}{|{{{|{zz|{||||{|{{{{{{{||||{||{{{{z{{zz{|{{{~}~}~}||||||||}{}}|{z|{|{{{||{}}{}|{{|z{{zz{z||{|{{{{{z{{{z|{{{{{|{{{zz{zzz{{{{{{{{{{{zzy{z{z{zz||{z{{z{{yzz{|{{{z{z{zzz{z{{zz{{{{{zz{zzz{y{{{z{{z|{{zzzzzz{z{z|||{{{{{z|yz{{zz{{{{{z{zzz{yz{zz{{{{{{zzzy{zz{zz{{z{|zzyzzzy{{{{{{{{zzzz{zz{{z{{z{|{z{{z{zzz|{{{{{{|{z{zzzz{{{|z{{{}{y{{zzzyy{|{{{{{{{zzzzz{{{|{|{{{z{zzzz{z{||{{{||zz{{{z{{|{z|||{|zz{z{z|{z{{|z{{|{{{{zzzz||{|{{|{{{{|zzz{|{||||{|z{{{{z{|{{{{|||||{z|{|{{||z{{|{|{z{{zz{{{{|{{|{{{{z{{{zz{|{||z|{|{{{{{y{{{{||{||{z|zzzzz{||{{|{{|zz{{{zz{|||{|{{z{{{zzz{{{|{{}|~|}}||}{}||||{||}{}|{{z{|{{{{|||||{{{{{z{{{{{}{||{{zz{{{zz{|||||{|{zzz{{y{|{{|{{|{z{y{{zz{{{{{{{{{{{z{z{z{{|{z{{{{{zzzz{z{zz{{|{{z{{zzzyz{zzz{{{z{zz{zzzy{z{{z{{{zz{{z{yy{{|{{{{|{zzzzzzzzzz{{{{z{zz{zz{zzz{{{|{{yz{zz{z{z|{{{{{{z{{zz{z{{z{zz{{||{{z{z{{{{{z{|{|{z{z{zz{{{{{|zz|z{{{{z|z{{||z|{{z{z{{{zy|{||{|{{{{yz{{zz||{z|{{{{|{{|{{{{{|||{{{z{{{z{|{{{|{||||{zz|{zy{{{||{||{{{{{{|z{z||{|||}{z{{z{||{{{{|||{{yz{{z{{||{||{|{|{{{{zzz{||{{||{|{{{{{{{{{{{|{{}{z{{{{z{||||||||{{zzzzzz{|{||{||{{{{{{zz{|{|{{{{{z{zzzz{{{|{{}~~}}{|{{z{|}|}||{||{|{{{||||{|||||{{z|{{y{||z{{||{{{{|z{z{{||{|{{{{{{z{zzz{{{z{{{{z{{zzz{{zz{{{{|{|zzyz{zz{{|{{{|{{yzzyzzz{z{{zz{{zzz{{zzz{{z{z{{{{zz{zzzz{{{|{{||{{zyzyyzz{{{{{{}{zz{z{z{zz{{{z{z{zzzz{zyy{{{z{{z{zzz{{zz{{{{{|{{z{zzzzz|{||z{{{|{{{{z{{z{yz{y|{{{z{yzz{z{{{|{{{{z{{{{z{z{|{|||{{{z{{{{zy{{|{{z|{{zz{z{z{{{{zz{|{{{{{{z|{{|||}{||z|zz{|{{{{{{{{|}{{z{{{z{||||||{||zzz{z{{z{{|{{{|{{z{{{{{{{{{||{}{{z{{{{{{|{{||}|z{z{z{{{{|}|||||{{z{{{zz{|{}||{||{{{{{z|z|{{{{|{z|{{{{{{{{{|z|||{{|||{{z{{{{{|}|{z{z{zzz{z{z|~}~||}||}{||}|}|||~||{{{{|{{||{|}||{|{zz{|{{z{{{||||zz{{{zz{{{{{z{z{{zzy{{z{{|{{{z{zz{{zzzzz|{z{{{|zz{{zz{z{{|z{{zzzzy{{zzzzz{z{||{zzzz{zzzz{z{{{|{{{z{{xzzz{{{{{|{z{{{yzz{z{{||{{{{{zzz{{zz|{{zzz{z|{{yz{zz{{{||z|{zzzz{{y{z{{{||{zz{zzz{z{{{{zz|{{z{{zzzzz|{{{{{|{z{zzz{{z{{{{{|{zzzz{{{{{|{{{|{zz{z{zz{z{|{{{{|{z{{z{{zz{|{{{|{|{{{{{{{z||z|||||{{{{{z{{{|||{|||{{{{{z{{|||||{|||z{|{{|z|}z||}|{{{{{z{{{{|{{{||}||z{{{z{|}||{|||{{|{z{{{{|{|{||{{z{z{{{{{{{{{{}|{z{|z{{{|{z|||}|zz{zzz{{{|{{{{|{|{z{z{{zz{|{{{{{{zz{zz{z{{{{{}}|}|{}|||{|}}|{||}{{|{{z{z{}|{}{}|{z{z|{zz{{|z{|{|{{zz{{{{{{{{{||{{{|zzzzz|{{{{zzz{z{z{{{z{z|{{{{}|zzyzzzz{{zzz{||zzzzzzzz{|{{{{|{{yz{zzzy{|{z{{{{z{zzzzzz{z{{{{{|{{zzzzzyz{{{|||{zz{{z{zyz{{{{{{{{|{z{{zzz|{z{|{{{{{zzz{zz{{{z{{z{z{{z{zz|{{|{z}{{{{zzzz{{z{{{|{|{{zz{z{z{z{{|{{{{{{z{z{z{z{{z{{{{{{{z{{z{{||z{||zz|{zz{{{{{|{{{{{z{{|{{{{z||{{{|zz{{{z{{||{|{{}||z{z{zz{{{||{|{|{zz{{{{{}|{||{||{z{{{{|z{{{|{}||{{{{z{{|{|||{|||}{{|z{{{||}||||{{{z{{{{{{||{|||||{z|{|z{|{{{|{{||{{z{{{{{{{{|||||{z{z{{|{|{|{||{z{{{zyyzz{{{{}}||{}|||{{||||||}}{{{z{{{{|||}}|}|}||{{|{{{{|{{{||||{{z{{{{|{|{{|||{{z{z{z||{|||{|{{zz{z|z{{z{{|{{{z{z{z{zz{{{|{z{z{{{{zz{{z{|{{||{{{z{z{{zz{{{|{{zz{z{{zz{||z{{{{{{z{{z{{{{{{{{{{{{zz{{zzz{zz{{{{{{{{{{{{|z{z{{{|z{{{zz{{{{|}z|{{{z{{{zzz{{z{|{{{{z{{{z{{{|{z{{{|z{{zyz{zzz{|{{{{{z{{{z{{{{{{|{{|{y{z{|{{|{{{{{|{{{y{{{{{{|{{{||||z{|{{z|{{||{|||{{{{|{|{z{|}|{|{|{{{{{{||||}{||||{{|{{{z|||||||{{||{{{{|||{||}|||{{|{{|{{}{|}}}}|{||{{{z|||||{|{|{{{|{z{|||{||||{|z|{{{{||{||}|}|{z{{{{z||||||{|{{z{{{|{{{{{{{|{{{|{{zz{{z{||~~}||||{|||{}||||{}{{}{{{{{{|{}|||||{|z|{|{||{{|{{|z{||{{{{{|{{{{||{|z{zzzz||z||{{|{z{z{y{z{|{z{||{{z{z{zy{z|{{{{{{{zzz{{z{zz{{|||{zzzz{z{{z{{{{{|{z{z{zz{{z{{{|{{|{zz{zz{zz{{{{||{{{zz{{zzz{{zz{{{{{{zzz{yz|{y{|{{z{{zz{zy{{{{{|{{{z{y{zz{{{{{{{||z{{{z{z{{{{{{||}{{{{zzzzz{{{z{||zz{{zz{{{|{|{|||{{|z{{{|{{{{|{|{{{{{{z{{{|{{{|||{{{{z{{z{}|}||{{z{{{{{||||{{||}||{z{|{zz{{{z{|{{|{{z{z|z||{{|{}|{{|z{{|z|{|{{||||z|{{|{z{}||{{}||{{{{{|{{|||{{|||{{{{{{{{|{{|{||{|{{|{|z||{|||}|{{{z{z{{|||{{|||{{zz{{{{{|{{{||{z{{{{{{{z|{{|}|~{}}|{{{{{}}|}||~|||z{{{|{}|{{{|}{{{{{zzz{{||||}|{{{{z{{{{{|{{{{{||{z{zzz{{{{{{z|{||z{z{z{|{zz{||zzz{{zzy{{{{z{|z{{z{{{zzz{z{{{{{{zzz|{zy{{|{{{{{{zz{y{{{|{|{{{{{{{zz{yzzz{zz{{|{{{{{zyy{z{{zz|zz{{zz{z{zz{|{z{|}zz{z{|zzz{{|{{|{{{z{{z{{{||{{z{|{zzzz{||{{{{z{{{z{{{zz{z{|{{{{{|{z{z{z{{{|{z{{|{{zz{{{zz{{{{z{{{{zz{z{zz{{|{z|{|{z{{z{|{{|{|{|{|z{|z{z|{{|}}{||}||{{{{{zz{|{{|||{{{{{|zz|||{{}{|z{|{{{|{||||||||{{{{{{{{{}|||}|||{{|{{z{|}||{{{|{z{{{|{{|{{||z}||{z{{{|{|{||{|||{{{{{{y{{z{{{{|||{{{z{z{{|{||{|{{{{{{{z{{{{||~{}}|||}{|{||}|}}||{{{{{{{zz||{|{|||{{{z|{z{{|z}|{{{{z{{{{z{{{|{{|||{|zz{{z{{{|{|||{z{{z{{{{z|z{{|{{|zzz{zzz{}z{{{zzzzz{{z{zz{|{|{{{yzz{y{z{{{{{{{z{|zzzzy{{|{{|{{|{z{{z{{z{||{|{{{{{z{z{{z{{{{{|{zzz|z{z{z{{zz{{{zz{{z{{{z|{{{{{||zzz{{zz{z|{z{|||zz{z{z{z{{z|||{|z{zz{z{z{{{{|{||{y{{{zzz{|{|{|{{{{{{z{{{{{||{||z|{zz{z{{{{{{|{{{{{{{{{{|{{{{||}|{{z{{{{{|||{{|{{|{{y{|{z{{|}|||||{{{|{z{||{{{|||{|{{z||{||{|{{|||{{{{{{{{||{|||||{|{{{||{||||||||zz{{z{|||{|z|||{{{{|{z{{|{|||||{{{{{{{{|z{||{{||{{{{{{{{}{{{{||{z{yz{|{{{{{{}}|}|}{|{{|{||{|||}{|||{{z{|{{{{|{|{{{{{z{{|z{{|{{{{zzzzzz{z|z{{z{{{{z{zzzzz{{z||{|{{z{{{{zz{{z{z{{{z{zz{{z{z{z{|z{zz{{yzz{z{{z{{z{{{y{zzzz{{z{z{{{zz{|z{z|z{{z{|{{{{{{zyyzz|{{{|{|{z{zzzzzz{{zz|z{|z{z{|{yz|{{z{{z{zzzz{{z{zz}{{{|z{zz{z{{|{{{{{|{z{|yzz{z|z{{z{{|z{{yyzz{{{|z{{|{{zz{{zzzz|{|{|z|z{{{{z{z{{|{{{|{{z{z{{z{z|{|{||{|{z{{{{z{{||{|{|{|{{{{{{||{{||||{{z{z{z{{{||||||{{z{{{{{||{{{{||z{{z|{|{{|{{|||{|z{{{zz{|||{||{|{{{|{|{{{{|}{{|{{{{z{z{z{{{{{|{||{{{{{z|{{||{{{|{{zz{z{{{{|{||}|{{z{{{zz{|{{||{{{{{zz{z{{{|{z}}||{|{{{{{z||{|}|||z||z|{{{|{|{|||{zzz{zzz{{z{||||{{{|zzz{{|{{zz|{{z{zzzzzz{{{{z{|{{zz{z{z{|z{{{{{{z{z{{z|zz{{{{{{zzz{zzzz{{z{{{{{{zz{{zzyz{{zz{{{zzzzzyzzz{|||{{zz{{zzzzzy|z||{z|zzz{zzzz{z{zz{{{z{{zzzz{zz{{z{{{zz{{zzzz|{{{{{|{{zzzzy{z{{{{z{{{{zzzzz{{{z{{z{{}{{{{z{{{{{{{{{|{z{{z{zz{{||}|z|z{z{{{zzz{{|zz{{{{zz{{{zzz{|{{|{|z{zzzz{{{||||||{{{{|{{z{{{{{{|||{z{{{{|z{{zz{|{||z{{z{{{{}|{|||{|{z{{{|z{|{{|}||{{{{{|{{{{|{|||||||{{{{z{{{{}|{|{{z{|{z{{{{{{{||{{{{|{{{{{|{|{{|{{yz|z{z{{{|{{{|{{{{{zz{z{{||z|{{{|zzzzz{{z{{|}}||}|{{|||}}}||}||{{{{{{{{{|||}}}||zz{{{{{|||{|}|{z{{{z{z{|{|||{{{z{{{z{z{|{{|{{|z{{z|z{z{{{{{{|{{{zyzzzz{z}{{{{{{{z{yzzz{{{{{{}|z{{z{{z{{{{{{{||{{{{y{y{{{|z{{|zz{{zz{{z{{{{{{{{{{z{zz{z{{{{{{{z{{|z{z{zz|{z{z{{{{{z{{{zzz{{z|{{{{z{zz{z{|{|{{{|{z{{z{{{{{{{z{z|zyzz{zzz|{{{{{|{{{{zz{{{{|{{{{|{z{zz|zzz{|||{|{|||z{{{z{|{|{{||{{{{{{z{{{{{|||||{{z{{{|z||}|||{|{{zzz{z{||{{||}{{z{{{{{z{||||||{||z||||{|{|{||{{|z|{{|||{||}{|||||{|{{||||{}}|{{z{{z{{{|{|{{}|||{|{{|{{{||{||}|}{{|zz{{z|{{|||||{{{zz|{z{{{|{|}|{{z{zzzzz|{|{}}|||{{{|{|||}||{|||{{z||{z{||}|||}{|{|{{z{{|{|||||{{z{{{z{{{||{|{||zz{z{{z{{{|{||{{zzz{{zz{{{{{|{{{{zzz{zz{{|{{{{z{zzy{zzz{{{{zz{{{zzzzzz{z{{{z|z{zzzzz{z{{zz{{|{{z{{{zz{{{|{{{z||{z{z{z{zz{{z{z{||z{z{zzz{{{z{{{{z{{{{{zz{{{|{{{{{z{|zz{z{||{{|{{{{{zzz{{z{|{{{{|{z|{z{z{{||||{|{{z{z{z{{z{{{|{|{zz|zz{z{{||{{||{{{z{{z{{z|{|{|{{||{{}{{{{||{{||{{{{z{{{{{|{|||}|}z{{z{{{{|||{||{{z{||{{{|}||||}z{{|z{|{||{|}{|{{||{{{z|{{||}||||{{{|z{{{{|{|{||||{z{|{{{{{{{|||}{|{{|zz|{|{|{{}}{z|z|z{{z{|{|{||{{y{{{{{{{{{{{|{|{{{{z{{|{{||}||||{{{|{z|}||||||||{z{z{z{{{{z|}{{{y{z|z{{z{{{|{|{zzz{{zz{{{|z{{{{{|zzzzz{{{{{|{|{z{z|z{zz{z{{{{z{zzz{zzz{{|{{|{zzz{zzz{z{z{zz|z|zzzzzzzzz{{z{{|{{zz{z{{z{z{{|{{zzz{zyzzz{{{|{{||z{zz{yzzz{{{zz{{zzzzz{zzz{{zz{{{zzz{zzzz{{{{{{z{{zy{zzyzzz{zz{{|{z{{zzzz{{{z|{|{z{zyz{zz{|{{{{z{{{zz|zyy|{{{{|{|z{{zzzzz{{z{{{{zzzz{{zz{{{|zz{||{{zz{{{{|{}|{{{|{{{{|z{{{||{|||{{{zz{z{{{z{zz{|{{z{z{z{{|z{{|}||{{z{{{z{{{|{||{||z|{zz{{{||{z{{{{z{{{zz{||{{{|||{{{{z{z{{{{{{|||{{z{{{z{{|{|{|{|{z{z{zz|{z{{|||{{z{zzz{zz|{|z{{{{zzzzzzz|{|{{{||{{{{|{{{{|{|{{{|{{{{{{{{{||{|{{{{|{{z{z{{{{|z{|{{z{zzzz{|z{{{{||{zzzzyzz{z{{{{|zz|z{{y{z{|{zz|{{{{z{zzzzz{{{{{|{{zzyz{zz{z{|zz|{zz{{{{{z{|zz{{{{z{zzy{zzz{{{{{||{z{zzzzz{{{{{{zzzzzzzz{{{z{{{{{z{{{{zzz{z{{z{z{|zz{{{z{z{z{{{|||{z{z{z{z{{{{{{|{{{{zzzzz{{zz{{|{z{zz{{z{|{{{|||{{zz{{y{{{{{|{|{|{z{{{{{{z|{{|{|{{z{{zzz{|{{z{|{|{{{{||z{z{|||z|{{||{{z{z{|{}{|{{{{y|{|{z{||||{||{z{{{{{{{}{{{|||{z|{z|{|z|{{||}||z{{{{{|||{|{{|||{|{z{{{||{||{|||z|{{{z||{{{|{|||zz{{{z{{{{||{||{{{z{{{{{{|{|||||{zz{{{z{|{{{{||{{{zzzz{zz{{{|}}|}|||||z|}}|||}||{{|{{{z{{}|}|}{|z{z{|{z|{{||{{|{z{{zzz{|{{|z{||{{{zyz{z|{{|{|{{{{{z{z{z{{{{{{{{{{{{zyz{{{{z{||{zzzzzz{z{z{{{{|{zz{z{{z{{z{z{{{{{|z{{zzz{{{z{{{{|{{y{z{zz{{{z|{z{{z{zz|y{{z{{{{|{{{zzz{zz{z{z{{{{{zz{zzy|{|{{||{{|zzz{z{{{{{{{{|{z|{{{{{{{{{{{{|{{z{{{{{{{|z{{|||z{{{z{z{{|||{||z{{{|{zz{||{{{|{|{z{{{{{||{{{}|||z{|{z{{{||||{|{z{|{{{z{||{||{|||{z{{{{{z|{{|{{|}z{|{{{|{||||}}||{z{|{{||{}||||||{y|||z{{|||{}|||{||z{zz{||{|}||{z{{{{{{{}{|}||}{{{||{{{{|{||||||{zz{z{|{|{|||||}|{|zz{zz}|{|{{{{{{|z{{{{{{{{||}{{|z|{{{{}{||||||}{z{{{{||{{||{}{{zzz{|z{|{{{{{}{z{{{{{zzz{|{{{{z{{|{{zz{{{|{{{|{{zzyz{zz||{{zz{{z{zzzzz{{{zz{zz{{zzzz{{{|z{{|{{zzz{zzzzz{|{{{{zzzzy{{zz{{{{|{||{{{{{{{{{{{{{{{{{z|{zz{z{{{z{{{{{{|{zz{z{{{{z{|zzz{zz{{z{{{{{{||{z{{{{{z{{|z{{{{zz{{zz{{{{|{{{|{{{{{{z{{{zz|z|{{zzz{{zz{z{{|||{zzz{{zz{z{{z{{z|{{zz{z|{{{{{|{{{{||zzzz{|{{{{|{}{{{{{{{{{{{||{|}{z{z{{{z{{{|{{{|{|zz{{|{{||{||||||z{{|{{|{{||{|{|{z{|{||z|{{{}{|}{z{|{{{{{||{{}|{|z{z|{{{{|||||{{|{{z{{{{||{{|{||{||{z{z{{{|||{||{{{|z{zz{|||||||{{{zzz{{{{{{|}|}||{{||{{|||{}|||{{{z{{z{{{}{|{{||{{zzz{{|{z{|||||zz{z{|{{{{{{{|{{{zzzz{z{{|z{{{{z{{{z{z{{{zz{{||{{y{zzzz{{{zy{|{{zzzz|z{{{{|{|{|{zy{{zz{z{{{|{{{|zyzz{zz{{{y{{|{zz{zzzz{z|{{||||{{z{{yz|z|{z{{{||{z{{zzz{{{{z|{{{z{zzzzz{|{z}{|{{z{{{z{{{{|z|{{|z|||{zz{{z{z|{{||{{{{zzz{{|z||||{|z|z{{{{{||{{|{{z{z{zzz{|{{{{||{{zz{{{{{{|{|{||{{{|z{{{|||{{|{|{{{{|{|{{|{|{|||{||{{{{z{|{{|}{||{{{{{z{{{|{{||{||{zz|{{{{{{|||||{{{z|||{}{{|{|||{{|z{|{|||||{|}{{z{|{{|{{{{{{{||{{|{{{|||{{||{|{{{{{{|z|}{||||{|{z{{{zz{|||{{|{{{{{z{z{{{|{|{||z|z|{||||||}{||}|{||{{{{|||}|||}{|{{{zzz|z{||{||{|{z{{{{{|{{|{|||{zzz{{y{{{{z{{|{z{zz{{yz|zz{|{{zyzzz{zz|{{{z|z|zz{y{{zy{{|{z{{zz{zzzzz{{z{z{{|zzzzzz{zzz{|{z{z|z||zz{{z{|{{{{{zz{zz{{{z{{{{{{|zzz{z{{zzz{z{{|z{zzyyzz{z{|{{z{{||{zzzyz{||{{{|z{zzzz{z{{z{zz{z{{{z{zzzz{{zz{{||{{{z{{zzz{|{{{|||zz{zzzz{{||{{{||{zz{zz{{|||{z{{|{{z{{{|{{{||{||||z{{{{{{{{{|{{|}{|{zzz{{||{}{}|{{{|{{z{{||}|{||{{|{z|{{{|{|||||}|{{{{{{|z|{|}{||{{{|{{{||{{{{|{{|{zz{{{|{{{{|z|||{{{{z{{|{||{|||z{{{{|zzz|||{}|{|z{{{zz{{||||{||{z|zz{{{{{{{{}||{||{|z|{|{||||||{{{{zzz{|{|{||||{|{y{z{z||{{|z{{{zz{{z{z|||{z{{{z{{y{{zz{{{{{|{{{yzz{{zzz{{{z|{{{{zzz{{{{{|{{{{{z{zzy{zzzzzz{|{zzz{zzzzz{{{zz{|{z{zz{z{zz{{z{|{|{{z{z{{z{{{{{{|{{{zz{yz{{{{{{|{{z{zz{z|zz{z{{{{{zz{{yzz{z{|{{z{|zzzy{zzz{|{{{{z{{{|zzz{z{{{{{{{{zz{zz{|{|{{|{|{|{{{z|z{z{{{|{||{z{{{{{{{{{{|{{||{z|z{{zz|{{||||{{|{{{{{{|||||{{|{{{{|{|{{|{|{{|{|{{{|{{{{|||||}{|zzz|{{{|{|{{}||{{{z{||{||||||||{{{|{||{{|{||||}|{{|zz{{|{||{|||{{{{|{{{|{{{||{|{{z{{z{{|{|}||||||{{{{{{{{|{{|}|{{{{{{{z{|{}|||{{{{{{zzz{||z{~||{{{{z{{|{z|}|||||{{y{z{z{{||{{{|{{{{{{{z||{{{{{{{z{zzzzzz{{|{{|}z{zzyzzz{{{{z{{{{zzzzz{zz{z{{{{{{zzz{yzy{z|z{|{z{{zzzzzz{|zz{|z|zzyzz{zz{{{{{{|z{zzzzz{z{|{z{{|{{z{{{{z{{{{|{{z||zzzz{zzz{{z{{{{{{yz{zzzz|{z{|z|zzzz{{zz{z{{{{z{zzzzzzz{z{{{{|{{{z{zzzzz{|{{|{{{z{{zzzzz{{{{{{|{{z{{{{zz{{{{{|{|}z{{{z{z{{{|{|{{{{{z{{zz{{|{z||{{zz{{|{{|||{|{|{|{zz{{{{|{}||||{|{{|z{z{z||}||{{{{{{{{{{|{|{|||{|{{{{{{{{{{||||{|{{{z|{{|||||||{{{{{{{||}||{||{||{{{|{zz|||||{}}{|{{|{z{{|||||{|||{{{z{{||{{|{|{{{{{z{{z{|{|{{||{{{{{{{z{{{{{|||{{|{{{z{|}|||{|{{{{zz{zzzz{|||}|{zzz{|{{|{|||{{{{{zz{zz{z{{{z{|{{z{zzzz{z{{z{{||{yzzz{zy{{zz{{{{zzzz|z{yz{{{{z{{zz{{zzzz{z{{{|||z{zyzzzz{z{{{{|{{zzzzz{z{{{{|z|{zz{{z{zy{{{{{|{{{zyyzzz{zzz{{zz{{zzzzzzzz{z{z|||zz{zyzzyzzz{{{{{{{{zzzzzz{|{{{||{{zzzy{y{{|{{{{{{zzz{zzz{{|z{{z{{{{{zz{z{{{{{{|z|z{z{z{z{{z{{{{|{z{{zzz{{{||{{|{|z{z{|z{|{|{|||{z|{z{{{{}z{|{|||{{{{{z{{{{|{|{{{{zz{|z{z|||{|{|{{{{{{|{z{{{{|||||{|{z|z{{}{{||{|{zz{{z{{||{|{|{{{z{z{z{{{|||{||{{{{{{zz|z{||||||{{{zz{{{||{z{{|{{|{{zz{z{|{{z{{|zz{zzz{{z{{{{{||{{{{{{|z||||||||z|{{z{{zz{||||||z{{{z{{{{{|{{||{|{{{|{z{{{{{{{|{{zz{z{zy{{{|{|||z{{zz{zzz{{{{{{{{{zyz{zz{{|{{||{z{z{{z{{{{z{{{z{z{{zzzzyz{{{z{|{{zzzzzz{{{{{{{|z{zzzz{{zz{{{{{{|{zyzzzzz{z{zz{{z{{{z{z{zz{zzz||{{yzzzzzy{{||{{{{|{{zz{{z{{{z{{{{{z{{zzzz{{{{|{{{{zz{{yy{{{|{{{{{{z{{{zz{zzz{|||{{{{{{{{z{{|z{||z{{y{zzzz{|{{{|{{{{{{{{z{{{||{|||z|{z{|{{||z{{||||{z{zz{{{{{|||||{z{{|{z{||{{{|||{{|{|{||||{{|||||{{{z{{{{||||||||{{{z{{{||||{|{|{zz{|{{z{||||||||{|{{{zz{{{|{|{|{z{z{{{{||{||||{z{z{{{{{{|z|{|||{z{y{z{{|{|z{||}{||z{{z{{|||}{|{|{{z{z{z||{{{{||{|{{{z{z||{||||{{z{{{zzy{|{{{{|||{{yzzzy{||z{z{|zz{zz{zz{{{{zz|z{zz|{zzz{{{{{{{{yyz{z{y{z{{{{{{{{{z{z{zy{{{z{{{{{{{z|{{{|{|{|{{{{z{{z{{{|z{z{{||zzzz{z{zz{{z{||{zzz{|zz{{z{{{|{|zz{zzz{yz|{{{||{|z{{zz{|{{{z|{||{zz|{{{z{{z{{||{{z{z{zz{{{{z|{||{z{{{z{{{{{{{|{{|{zzzz{{|{|{{{{z{y{{{zz{{|{{{|||{{{{|z{z|{||||{|{{{{{{{z{{{|||||{{{{{{zz}{{|{{||{{{z{{z{{{|{{||}{{{{{{|z{|z|}||}|{{{{|{{|||{|{}||{{z{{{{||}|{{|||{{{|{{{{{{{{||}{|zzzzz{{|{}|{||{z{z{{{z{{{{{|||{{z|zz{{z|||||||z{{z{zzy{|{{{}|{{{{z{{{{||{|||}|{{{|{{{{{{{|||{}|{{{{{{{{{{{||||{{{z{zzz{{{|{{}|{|zzz{|{|{|{{{{|z{z{z{{z||{{{{{{{{zz{zzz{{{{|{|{{{zy{z{{zz{{z|{|yz{{{{z{{{z{{{{z{z{zz{z{{|{|{z{{{{{{zzyz{|{{{{{}{{{zz{zyzzz{{{{|{zzzzz{y{{{z{{{{z{{z{{zz{|{{{{{|{{{{zz{z{zz{{{{{{z{{{z{{{{|{{z{{{{zzz{zz{||||{|{{z|{{{|{{||{{|{zzz{z{{zz||{|{{|{zzz{{z{{{||{{|{{|z|{{{{z{{||||||{z{|{{{{||{|{{}||{{{{{{{{||{|{|{{z{{{z{{|||||{|||{{{{}|{{|||{||||{z{{|z|{|}||}{}{{||{{{{|||{{||{|{|{{{{|{|{||||}{{{z||{|{||||||}{|{z{z|{{|{|||}||{{{{{{{|{|||||{{z{zzz{z{{|{{|{|{{{{z{z{z|{{|{z{||{zz{zzz{{|{||||z{{{z{{{{{||{|{{{z{{{zz{{{{{z|{z{z{zz{{{zz|{{{{{z|zzz{y{{||{{z{zz{zz{z{{{|z|{{{zzzzz|z{{{zz{z||zz{z{zzz{{{z{{|z{zzz{{zzz{{|{{{{|zz{zzz{|{{|{{{{{yzzzy{zzzzzz|z{z{zzz{{y{{{{{||{zyz|z{{y{z{{{z|{{|zz{z{yz{{z{|||{z{{yz{{z{z{z{{z{{zzzzzz{|{{{|||{{{y{zy{{||{||||zz{{|{z{{{{{|{{|{{|{zzz|{{|{{{|{{{z{|{zz{{}|{||{{{z{{{{|{{|||{||{zz{{{z|z||{|{|||z{zz{{z|{|{|{||{{{|{{{{{}||||{{|{{{{{{z{|||{|||{{{||{z{|{{{{{|{{{{{{{{{{{{{{{||{|z{z|{{{|||{|{|{{zz{{{z{}{{{{|{|{z{{z{zz{|||{|{z{{zzy|{||{{{{{|{{{|{{{z|||{{|{||{zz{{{zz{|{{|||{{{{{{zz{|{|z{{||{z||{{{|{||{{z{||{{{z{z{|{|{{{|{zzzz{{y{||{{{|{{z{z{z{z{{|{|{|{{zzzz|z{{{{{||{z{z{zzz{{{{{{{{{z{zz{zz{{{z|z{|{{{zzzz{zyz|{{{{|{|z{{yz{{z{|{z|{|{{zz{zz{z{z{z|{{z{{zz{{z{{zz{{||{zzz{{{{{{{z{{{{{z{{zz{{|{{{{{{zz{{{zz{z{|{|{||||z{z{{{z{|||{||{{{{z{z{{|{{||{}|{{{{{{z{{|{{||{{{{{{{{z{{|{|{||{{{|y{{{{{{{|{{|}z{{{zz{{|{{{{||||{{z{{{{||||||||{|{{{{{{{|{|||||}{{{{{{{|}||{||||{|{{z|{|||||{{|{z{z{{{{|{|{||{||{{{{z{{|{{|{|||{{{{{{{{{{{|{||||||{zz|{{||{{{{{{{{z{{{z|{|{{{{|{{{{|z{|{|||||{|{{{z{{z{{{|{z{|||{{{{z{z{|{{|{|z{{|z{z{zz|{{z{|{{{{zzz|z{||{{{z|{zz{{z|{z{{|z{{{{{{z{zzz|{|{zz|{{z{zzz{{{|{{{{{z{{zz{{z{z{z{|{|zzzz{zz{yz{{zz|{{zzz{zzz{{|{{{z|{{zz{{zz{{z{zz|{{{zzzz{zzz{|z{{{|{{zzz{zzzz{{{{{z{z{zz{yz{|{{|{{|{{{{{{{z{{{{{|{{z{{{zzz{{{{{{{|{{{{{{z{z{{{{||{{{{{{{z{zz{|{z|{||zz{{{z{{||{{|{z{|{z|{{{{z{||{|}{{{{{{|{{|{|{{||{z{|{{z{||}||||{|{{zz|{{||||}{|{{{{{||{{||{|{{|||{|{{{z{{||||||||{||{{{{|||{{{||{{{{|{z{{|{{{{|||{z|{{{{||{{|{||{{{z{{z|{||{|||{{{{{z{zz||{{|{|{z{|z{zz{|z{z||||z{z{{{zz{|||{|||||{z{zzz||{||||||{{{z{{{|{{|{{|{{{{{{zy|{{{{z{|{{{{z{zzz{|{|{||{{{z{zzzz{{{{|{|{z{z{zzz{|{zz{|{|z{{{zz|zz|{|{||{{z{zzz{{zz{|{|{{z{z{zzzzz{{{{|{{{zzz{zzy{|{zz{|zz{zzzyz{{{{{{{{{{z{zzzyzz{z{{{{{{zzzz{zzz|{|{z{{{{zzzzz{z{{z{|{{{z{{zy{zyz{{{{|{|z{z{zz{|{{{{{|}{{zz{z{{{{{{{{|{{z{{zyz{|{|{{||{|{z{y{{{||{||||{z{z{|{{{{{z{||{z{{|z{||z||{||||}||{{{{z{{{||{|||}zz|{{{|{||{|{|{z|{{{{{{{{{|{|~{{z{{{z|{{}||||}||{||{{{|||{||{|{|{{z{z{{z{z|{||}||{{|{{{{{|||{||{z{z{{z{{|{|{|||{{{zz|{z{||||{|{{{zy{y{zz||{z{{|{|{{|{|z{||{|||||{{{{z{{||{{{||{{{z{{{{{{{{{||{{{{{{zzz{z{{|z{{|{{yzz{{z||{{{{{|z{zz{z{y{{{{z{{{{z{{{{z{{{|{{{{|{z{z{z{z{|z{{{{{{zzzzzzzz{{zz{{{{z{{zyy{zz{{{|{|{{{zz{yzz{z|{{|{{z{zzzzzz{{{z{|z{zzzzyzz|{{{{{{{zz{z{z{z{{{{|{{{{z{z{z{{z{{{{z{|{{{{zz|z{z{||{||{z{{zzz{|{|{|{|{{z{{{y{z{{{{{|{{{zzz{z{{{{|{{{||{z{{z{z{{{|{z|{||zz{zz{z{{||{|{{{{{{{z{|{{{{|||||{zzzz{z|{||{}}{{z{{{|{{||||{|}|{z{{{{{{{|||||{||{{{z|||{||||||||{{{|{|{{|{}||||{|z{{{{{{{{|{{|||zz{{z{|||{|{|||{{{z{{{{{{{{||{{{{{{z{{{{|{|{{}{{{|{z{{{{{|{{|{{z{z{|z{z|{{{{|||{{{{{z{{{{|{|{{|{{{{{z{{{{|||||{{z{z{zz{{|{z{{|{{{{z{zzy{|||||{zzz{zzz{z{{{{z{{z{zzzzyzz{{{{{|{{{zz{zzz{z{z{{zz{zzzz{zz{zz{{{|{zzzz{z{zzz{{z|{{{z{{z{zzzz{zz{{|{{{{{zz{zz{zz{{z{z{zy{z{{zzz{z|{|zy{z{{zy{|z||{||{zzz{zzz{||z{{{|{zz{zz{{|z|{|{|{zz{zz{zzz{{{{{|{{{{{z{{zz{z|{|{{zz{zzzzz|{{z|{|{{{z{|z{z|{{{{{{{|{{{|z{{||{|||{{{zzzz{{|{|{}|||}{{zz{{z{{}{|{||{|y{{{{{{{||{|{{|{||{{|{z|{{z|}|||{z{z{z{{|{{{|{|{{{z{|zz{|{}||{{|zz{|{|{{{{|{{||}zz{{{{{zz{|||{|{|zzz{{z{{{|z{|{{z{zzz{{{{{|z{{|z{{z{zzy{zz{{||{|{{z{{{z{{{||||{{z{{zzy{{|{{{{|{{{zz{{{z{{|||{{{zz{zzzzzz{|{{{|{{z{zyz{y{{{{{||{yzzz{z{z{|z{{|{{zz{yzzz{z{|zz{zz{zzzyzzz|{z{z{z{y{z{zzzzz{{zz{{z{zzz{zzzz{{{z{|{zzz{z{yz{{{{z|{{|z{zzy|yy{z{y{{{{zzzzzzz{{{z{{|{zzzz{z{zz{{z|||{{zzzzz{z{{{{{|{{{z{{yzz{{{|{{zz{{z{z{zz{zz|{|||{z{{{zzzzzz|{{{|{{zz{zz{z{|{{{z|z|z{z{{z{{{{{||{{|z{{zzz{{{|{||}{{{z{{{{{|||{|{{|{zzzz{zz|{|{{{|||z{{|zzz|||{|{|||{z|{{{{||z{||{||z{z{{{{|}{||||||{{{{z{z|{|{||{{{{{zz{zz|{||{{||{{{|{{z|{|{{|{{z{z}z{{zz{{{|{|{{{z{{{z{{z|{{z{|||{zz{zy{z{{z{{{|{|z{{z{y{|{z{{|{{{z{{zz{{|{|{|{|{{{zz||{{{{{{{|{{{{{zyzzz|{z{{|{zzzzyzzzz{{{{{{|{zz{{zyzz{|{z}|yz{zz{|zz{{{{{{{{{{z{zzzz{zz|zz{{z{zz{zzz{{{z{|||{z{zzyz{{{{{{z{|z{{yzz{zz{{{{{|{{zzz{yyz{|{zz{{{z{yyzzzzz{{{{|{{zzzz{z|z{{{{zz{{z{zzzz{z{|{{z{z|zzzzzz{{{{{{{{|{{{{{z|z{{{{{z|{{zz{{zzz{{||{z||{{z{z{{{z|{{{{{||{{z{{z{z|{{z||{{|{{{{{z{{{{|{||||{z{{{{z{|{||||{zz{|{z{{|{{{{||||{{{{z{z|{z{|{}|{{zz{{|{z|||{|||{{{{{{{{{||||||||{{{{{{{{{{z{|{||{z{z{|z{|{{{|{{{{{||{{{||{|{{||{{{{{{{z{|{{{{{{{{z{zzz{||{{|z||{{{{zz{z{{|{{{{{{{zz{{{z{|||{{{{|{{zzz{{{{{}{{|}{z{yzz{{{{{|{{|{{{{{{zzz{{{|zz{{{{{z{z{zz{{{z|{|z{}zzz{yz{{z{{|{{zzzzzz{zy{{z{{|{y{{z{zz{zzz{{{{{zzzzzzzz{{{{{|{zz{zzzzzzz{{{{|{zzz{zyz{z{{{|{{{{z{{zz{yz{{z{z{zz{{zzz{zz{{{z|{{y{{zzzzzz{{{|z{z{z{zzzz{{{{{{||{zz{zyz{z{{{{{{z{{z{zzyzz|{{{{{{|{z{{z{{zzz{{{{{{zz{{z{z{{|{{{||{{zz{{{{z{||yz||{{z{z{{{{z{{{|{||{{|z{z|{|{{|{{||{{{{{{zz{}{{|{|{{{{|{zz{|||{{||}{z{{{|{{{{|||}|{|{|{{{{{{|{}{||{{z|{{{{{|{|{{|{{{{{z|{{z{|||{{|{{{z{|{{{|{{|||}|{{{{zz{{z|{z||||{|z{{{{z{|z|{{{|{z{zzz|z{{{z{|{}{z{{zzzzz{}z{{||{{{{zzz{{|{||{|{{z{z{{zz|{z{|}|||zz{{yz{{|{{z{z{{z{zzz{z{||{|{{|{{{z{zzzz{zz{|{{|z{{{{z{|{{z{{{{{|{{{{z{{{{{z{{{z{zzyz{{z{zzz{|{z{zz{zyz{{{{{{{z{{z{z{zz{|{{{z{{{{{zzzzzyy{zz|{zzzzyzz{zz|{{z{{z{z{{zzzz{{{|{zz{{zzzzz{z{{{z{z{{{{zzzzzz{z{|z{{{{z{zz{z{|z{zz{{{|{zzzz{zz{||{{||{{zz{zzz{{{{{|{z{{{{{{z|{||{|{{{z{{zz{z{{{{||{{{z{{{{z|z{|}|{|||z{{{{zzz{{|{|{|{{{|{{{{{z|}|{|||{|{{{{{{{|{|{||}|z|}}}{zz}}z}|||{{|{{{{{{||{{{|{{{{{{{{z|{{|{||}|{{{{z{{||||}|{|{{z{zz{z|{z{{|{{{{{zzzz{|{z|{|{{{y{{zzzzz||zz{z{{{{{{{z{{||{{||{{z{z{z|z}{||||{|{z{{{zzz{{{{{||}{zz|{z{|{{{|{zz{|z{zyzzz{{||{{z{zz{z{z{z{||{{||{{{{{z{z{{{{{{|{{{zzz{z{z{z{{|z|{{{y{zzz{z{|{z|{{{{|{yzzz{z|{||{|{z{{z{z{{|z{{||{{zzz{z{{{{|{{|{{{z{z{{zzz|{{{|{{zzz{zz{{z{{{z|||z{{{{zzz|{{{{z{{{{z{zz{z{{{{|{{|{{zzyz{{z{{z{{{{{z|{{z{{{|{{|{{{{|{{|zy{||{{{{||{{{{|{{{{||{||||{{zz{{zz{|{|||||{|{z|{{{{|{|{{}|{{{z{{{z|{||}|{{|z{{{z{|{{{{||}||{{{{|{{{|{||||||{z{{{{{|||||{|||{{{{{{||}||{}||{{{{{{{z{|}|{|}}|{{||{z{||{{|{|}{{{{||zz{|{|{|{{|{z|{zz{z|||{{{|zz|{{{{{z{{z{|{{{{{{{{{{z{|{{|{|z{z{z{{z{{{{{|{{z{zz{{z{{||{{{||{{|z{{zzz||||{|{|{{zzzzz{z{{z|{|{z{zz{zz{{z{{{|{z{zzz{zz{{{|z|zz{{zz{{zzzzz{|{|{{yzzzzzz{|{{z{{z{z{{{{yz{{|z{|{|zzzzzzz{z{{|{{|z{zzzyzzzy{{z{{{|{z{z{zz{z{zz|{{|z{z{{{zz{z{|{|{z{{z{zzzz{|{|{}{|{{z{{{{z{||z{{{{zz{{z{z{{{|{{{{||{{zzzzzz|{{{|{{{{zy|zz{{|{{{{|{{zz{{|zz{z{{{{|{|{zz|{|{{{||{|{{z{{{{{zz|}{}{{{}{{{{{zzz||{|{}|{|{{{{{{{||{{}|{||{{{{||||{{|||||{{z{z{z{|||||}||{{|{|z{{}{|{{|{}{{zzz{z{|{{}||||{{z{{{z{z{{||{||{{{{{{{{{{|{{||{{{{{{z{z{|{{{||{z{{zzz{z|{{{{{|{{{zz{{zzz|}|||{|{zyzzzz{{{{{{{|{{zzzz{z{{|{{{||{zzz{zz{z{z{{z{{{{{{yzyzz{z{{|z{{{{{zzz{z{{z{{{{zz{zzzzzz{{||{{{{{{zz{{zz{zz{{{{z{zzzzzzy{{{{{{{z{zzzzyzzz{{z|{{{{zzzyzyzz{|{{{z{{{zzzzzz{{{zz{{z{zyzzzzzz{zz{{|zzz{zzyzzz{{{{{{|{{zz{zz{{{|{{{||{{{{{{{zz{{|{{|{zzzzzz{{|z{z{{{{z{{{{y{zz{{{{{{z{z{yzz{{{z{{{{|{{{z{z{{{{{{|{||{{{{{|{{{{|}{||{|{z{{{{{{|{{|{{{|{z{|zzz{{{{{|||{|{|{|z{zz|{z|||||{{{||{{{{{{|{|{|z{{{{{{{}|{|{|||{z{{z{{||{{|{||{{{{z{{|z|{|{{|{|{zz{{z{||||{|{|{{{|{{{z||{{|||{|zz{{{{y{|{|z{{{|{{zz{zz{{|z{{z|{{y|zzz{z||{{{{{{|{z{zzzz{z{{{{{|{{zzyyz{{z{{|||{zzzzyzz{{{{z{{{zz{zyz{z{{{{{{||zzzzzzzzz{z{zz{{|z{yzz{y{z{{z|{{zzz{zzzzzzz{z{zzzzzyyzzzz{zz{{{zyz{zzzyzz{{{{{zz{z{yy{zyz{z{z{||zz{{zzzzyz{zz{z{{yzzzzzzz{{{z{z{{zzzzzzzz{z{z{{z{{{z{zyz{{{z|{|{zz{{yzzzzzzz|{{|zz{zz{yzz|{z{{{|zzzz{zzz{{{{{{{|{z{zzz{zz{|{{{}z{z{{z{{{{{{{z|{{{{|z{zz{{{{{{|||z{zz{{{z{{{|{{||{{y|{{{z{||{{|||{zz{{{|z{{|{{{|{{{{|y{{{{{{{|{{||z{{{{{z{|{{}|{{{zz{z{{|zz|||||{z{z{{{{{||{{{|{|||{{{z{{{z{{|{|{{{zz{{z{z|||z|{{z{zz{{{{{|{{{{{{|{{yzyzz{{|{{{{|{{zz{{{yz{{|{||{|zz{{zzz|{||{|z|z{{{zz{z{zz{{{|||zzz{zzy{{{{z{|}{z{zzyzz{{{{z{||{zzzz{{yz{{z{{{|z{{yzyzzz|{zz{{z{{{yz{{zz{z{{{{{{{z{zzz{{{|z{{{zzy{{z{yz{{{{{{|{{z{{{{zzz{{{z{|y{y{zzzzz{{{z{|z|{zzzzzzzz{zzz{zzz{{{zzy{|{{{z||{{{z{zyzz{z{|{{z{zz{zzzz{{zz{{|{{{{{zzz{z{z|z{{|zzz{{zy{z{{|{{{{{|zz{{zz{|{|{{z|{{{zz{zzzz{{{z{{{{z{yz{{{{|{|{{{|{{{{{z{|{|}|{||{z{{{{{{{{{|{||{{{{{z{{{z||{||||||{{{z{{{{{{{|||{{z{{z{{z{|{{|||{{zz|{{z{|{{{||{|{{z{{|z{||{{{|{|{|{{{zzz|{|{{|{|{{z{{{z{{{||{||{{{{{z{{z{||{{{{{{{{zzz{{z{|z{{||{{yzz{|zz{{|{{|{{{z{zzzz{{||{{|{{{{z{zzy{z|{||{|{zz{zz{yz{{{zy{|{z{yz{{z{z{{{|{|{zzzz{{zy{z{z{{{z{zzzzzz{{{{z|{{z{{zy{zz{{z{{{z{z{zzzzzz{{{zz{{z{yzzzyzzzz{|{{{{{zzzz{z{zy{z{{|zzzz{zzzz{zz{{{{{{|{zzzz{z{z{z|{{zz{z{z{z{{zz{{{{{z{zzzzz{|z|{{{|{{{{{z{z{||zz{||{{{{zz{z{{z{{{|{{{{yz{{z{z{{|{|{zz{z{|zz|{{{{{|{{z{{{z{{{{{|{{{{z{z|{{|zz|{{|||{{{|{{z|{|z{|||||zz{{{zzz{|{|||{z|{{{{z{{|{{|{|}||{z{{{{|{|{|}|}||{{{z{{{{|{{|||||{|{z{{||{|{{{|{|{z{{{{{|{{||{|||{z{{{z{||{{z||{{{{|z{|{{|{|{|||{{{zz{{z|{{{|z{{zz|zzz{zz||z{{|{{{{z|zzz{{{{|{||z{{{z{z|{{{{{{{{{|{z|{zz{{z{{||z{{zyyzzzz{|{{{|{{zzzzz{y{{{{{{{}{zz{z{zzzz|{{{{z{yzzzzzzz{{z{z{{{{zzz|yz{{{{z||{y{zzzz{z{{{z{{{{{zzzzzy{{{{y{{{zz{{zyzz{{z{{{{{z{z{{zzzzzz{{{{{{{z{{zz{yz{z{{|{{zzzyzzzy{z{|zz{{{z{{{{{zz|{{||{{zzzzzz{zz{{{{|{|{z{zyzz{{z{|{{{|z{{{{zzz{{{|{{{{z{{{zzzz{z{{z{|{{z{|{z{{z{|{{||{{zz{z|zyz||||{|{z{|{{{{{{||||{|||{||{z{{{{|||||{{{zz{||{{|||||||{zz|{{z{|{z{|{|{{{{zz{{{{|{|||}||{{{z{{z|||{|}|{{z|{{{z{{{{|||{|{z{z{z{{||{||{||{{z|{yyz{{{{}{||{zzzz{{{{|{|{|{{{{{zzz{y{|{{z{{{|{|zzzzzz{{z{{|{z{zz{zz|z{{{{||{z{{z{{y{{z{{{|{|{{{zyzyy{||{z{{|zzzzzz{z|z{{{{||zz{zzz{{z{{z{{{|{y{zy{z{{{{{zz{|{z{{zzzzz{{|z{z|z{zzzzyzz{z{{z{z{zzzzyzzz|z{|{z|{zzzyzz{zzzzz{z{{{{zzzz{z{z{z{{yy{zzzzzzy{{z{z{|zzzz{zzzz{{z|{{{{y{zzzzy{{{|{{{|zz{{z{zzzz{{|{zzzzzzzzzz|z{{{|{{z|z{{{{zz{{{|{|{{y{{{{zz{{|{{||{{z{{{zzz|z||{|z{{z{zz{z{|||||{||{{{z{{z{{{{|||||{{{{z{zz{}|{|||||z{|{{{{|{{{{{||{|{z|{{{z|{{|{zz|{z{zzz{{}|||{}}||{|{z{{{|{{z{{{{z{{z{z{z{{}|{|}|{{{{{z{{|{{||||z{{{z|zzz|{|{|{|{{{zzzzz|{z|{|{{{{zz{zz{{{{{z{{|{{{{yzz{{{|{|{|{zzz{{y{{{|{{{{{{{z{|z{zz{|{{|{|{z{{{z{{{{{||{{||zzzzz{{z{{|{{{z|zzzy{{{{{{y{z{|zz{zz{{z{{{z{zzzz{zzzz{{{z{z{z{{{{zyzzz{z{{{zz{{{{zzzzzz{{||z{{{{{{zzz{z{y{{{{{{|y{{{zzzzy{{{z{{{{{{y{z{zz{{{{{zzyzzzzz{{z|{{{z{{zzz{zz{z||{zz|{|{z{{zzz{{{z{z|||z{{zz{zz{z||{{z{{{{{{{{z{{{{|{{{{y{{{{{{z{|{||{|zzz{{{|zz{{{{{|{z|{{{{{{|{||{|||z{z{|{{|{||||||{{z{z{|{{{}||{{||{{|{{{{{|}{|{|{||{{{z{|{{{{{|{|{{{|{{|{{{}|}||{}}{{{{z{{||{||||||z{{|{z{|{{|{{|||{{{{zz|{|{}||||{{{{{{{zz|{{{||{{{z{{{{{{z{{{}|{{{{{zz{{{z|{{||{{{zzzz{yz{|{{{}|{{|{|zzz{{{{|||{|{{zy{{z{|{|{{{{{{zzzyz{z||{{{|{z{zzzz|{{z{|{|z|z{{zzzz{z{z{{{{{{{{{zzy{zz|{zz{{|{yyzz{y{{z|{{zzzzzzzyzz{{{z{||{{{z{zzzz{{{{{{|{zzzzyzz{{{{{zz{{{zyzz{{{z{z{yz{{zzzyz{z{z|{{{||{zzz{z{{zzzz{{{{{|zzz{z{{z{z|{{{{{zzzz{{{||{{{{{{{zzz{zzz|z{{{{|}{z{z{z{{{z|{{{||zz{{z{{{{{|{{{{|z{z{{zz{{||{z{|{{zzz{{z{z|{|||||z{{{zz{{|{|{|{{|{{{{{z{{{|{||{|{{{{{z{{{|||||{||{{{{{{{{{{{|||}{}{{{|{{{{||}|||{}{{{{z{{{||{||||{{z{||{{{|||{{|||{|||z{{|{{}{{{|zz|zz{zz{{{||{{{{zz{{z{z{|{|{{{||z{{{{zz{z||{{{|{z|{zz{{{||{{z{{{{z{{z{zz|{{{}{|{zzzz{zz{{{{{{{|zzz{{{y{{{{{{{{{{{zzy{zz{{{{{{{|{z{z{z{z{{{{{|{|z{{{{zz{|{{{z|zz{yz{z{zzz{z{{{||{zzzzzzzz{{y{z|{zz{{yzzzzz|zz|z|{{z{yz{z{|{{z{||{z{{zyzy{{{{{{{{{{yzzy{{z}zz{{{{zz{zyz{{|{{{|{|z{z|{{zzz{{{{{{|{z{zzzzz{{{{{{|{|zz{zzz{{z{{{{|{{{{zzzz{{{{|{|{|{zzz{{z{{{{|{||||{{z{|zzz{{{z{|{|{{|z{{|{{{{||{||z{|{{z{{|{||{{{|z{zz{z{{z|{|||{{|{{||{{{{||||}||{{{{{z{{z||{|||||{z{{{{{{|{}}}|}|{{{{{{{|{|{|{|{{z{{{{{{|{{{{{|||z{z|{{{{|{|{|{|z{{zzzy{{|{|z{||{{zzz{{z{{{{{{|||z{zzzzzz{{|{{{|{{z{z{zz{|{|z{|{{{z{{{{zz{||z{||{{{zzzzz{z{|{{{|z{{{{zzz{||{{|{{{zzy{z{z{{{{{|{|z{{y{zzz{{{{{|{z{zz{{zy{{|{{z|{zz{zzzzz{{{{z{{z{zyzzzyzzy{{{{{{zz{{{z{z{{{{z{{z{{{z{zzz{{z{{{|{{zz|zzzzz{{{{{|{z{z{zzz{z{{z{z{|{{z{zzzzz{{{z{{z{{zzzzyz{{{zzz{|{z{z{zzz{{zz{{{z{{zzzz{z{{{{z{{|{{{{z{zzz{|||{|{{{zz{z{{z{{|{{|{{{zzzz{z{{|{{{{z{{{z{z{{z{{{{|{{{{z{z{{{{{|||{||||{zzz{{||{||{z{{{{{y{{{{||{{|||{{{z{{{{z{||{{||||z{{z{{||}{||{|||z{{zz{{{|||{}||{z{{{z{{||{|{|||{}{|{{zz|{{{|{{||{{y|{|z|{|{z|{{{{{{z{{zzz{{z}||{z|{{zzz|{{z{|||z{{zz{z{{||||{{|{{z{{{zz{{|z{|{{{{{zz{{z{{{{|{|{{z{zzzz{{{{{z{||{{z{{zzz{{{{{|{{z|{zzz{zz{{zz{{zzz{{zyzy{z{zz{{{z{{y{{z|z{{{{|{}zzzzyzz{z{{|{{{{zzzzzzzzz{{{{|{{{z{zzzz{z{{|zz{{zz{z{z{zz{{zz{{{{zy{{z{zz{z{{|{{yzyzzz{z{{{{|{{{{zz{zz{z|{{{{|{||{{z{z{z{zz{{|{|zz{zzz{{{z{|||{{{{zz|zz{z|{{{{|{{{|{{z{{{|{{z{||{{z{z{z{||{z{||{z{{z{z{z{|{|{|}{z|{zzz|zz{{||{|{{{{{{{{z|{{}{|{|{z{z{{z{{}{{{|||z|{|{||}{|||{||}{{|{{|||z{|||||{}|{|{zz{{||{|||||z{{{{{{||{|||||{{{{{zz{{|{|}|{}|}z{{{z{{{{{|z{|{zzzzzzz{|{|{{|{zz{{{z{{z|{{{{{|{z{{{{zz{{||{{{|{{z{{{{z{z{||{|{{{zz{z{z|{{{||||||{{z{y{{z{|z{|{zzzzzz{y{{{|{|{|{{zzzz{zzz{{{{{z{z{zzz{z{{|{z{{{{{zyzzzzz{{{{{|{z{zzzz{y{z{zz|{|{z{{yzyzzz{{{|{{{z{{{zz{zz{|{z{{zz{z{z{yz{{yzz{|z{zzzzzz{z{{{|z{{{z{{yyyz{{{{{|z{{zzz{zz{{{|{{{|zz{z{y|yz{z|{z|{{zzz{zzz{{{{{{{|{z{zzzzz{{{{{{{{z{{{{zzz{{{{|{{|z{{{{z{{||||{|{{z{z{{{{{|||||{{|zz{{|z{{||{{{}{|{{{{{{zz|{}|z{||{{{{{z{{{|{{{}{}{z{z{{{|{|{||{}|||{{{{{|{||}|||||{{{{z{{|{||{|{|{|{z{{z{{{||{||}|{{{{z{{{|{||||}{z{z|zz{|{{||{}|{z{z{{zz{{{{|{{|{z{{zzzz{{{{|{{|{|z{{zzy{z|{{{||{z{zzzzz{z{{{{|||yzz{z{{z{{{{{|{zz{z{{{zz{|{z|{{{{{zzzzzz|{{|{{|z{|zz{zz{{z{zz|{{{z{{zzz{{|z{{z{{zyz{zzzzyzzz{{{zz{zyyzz||zz|{{{{yzzzzzzz{zz{|zzzzzzy{zy{z{{z{|z{z{|{zzzz{{zz{{{{{{zyzzzy{z{zz{|z{zzzzzy{{{{{z{|{zzzzzzzz{{{z{{{zzyzzzzzz{{||{{{{z{{zz{zzz{{{{||{{z{{z{z{|{|||||{{zz{{zz{z|{}{||zzz{{zz{{||{{|{{{zy{{{z{|{|||z||{zzz{z{{|{{{{|||{{{{{{|z{|{{|{{|{z{{zz{{{|{{{{||{{{z{|{|z{||||{||{{|{|zzz|||||||{zz{|{{{z||||{{||{z{z|z{{|{||||}|{|z|z{||{{|{}|{{{{{{{{{{{{{|||{{{{|{zzz{{{{z|{{{{zzz{{z{z{{|{{{y{z{z{z{{z{{zz||{zz{zzz{z{{{{{{{zy{z{zzz{{{z{{|{zzzzyzzz{z{{{{{|z{zzzzzy{z{{z{|||yzzz{{zzz{{z{{{zzzzzzzzz{{z{{{z{zzz{{z{{z{{{z{|{zz{zzzzz{{zzz{zzyzyz{yzz{|{{{||{zzzzzzzzzzzz{z{zzzzzzyzyz{zz{{|{z{zzzzzz{{yz{{zzz{{{zzz{zzz{||{{zz{z{zzz{{{{{{{{z{zzyzz{zz{|{{|{{zzzzzz|{{|yz{{zz{z{{zzzz{|{|{z{zzzzz{zz{|{{z|z||zzz{{|z|{zz|{{{{{z{z{{zz||{{{|zz|z{z{{||z{{{||{{|{{zy{||{{||{|{||{{{{z{|{|{|||{{z{{|{{{{{z||{||{{|{{{z{|||{||||{{{z{z{{{{||||{{z{{zz{{{{{{{|{|{{z{z{z{||{||||{|{{zz{{{{{{|{|}|{zz{zzzzz|||{{{{{z{z{zzz{{{{{{{|{z{{z{zz{z{{{{{{{zz{zzz|{zz{{{{{{{{z{zzz{{z{{{{zzzz{z{zzzz{|z{{|{{{zzzzz{z|{{|{{zz{|zzzzzz{{{{|{zzyzzzzz|{{{z{{zz|{zzzzz{z{{z{{{yzzzyzzz{{{z{{yyzzzz{{zzzz{z{{{{zz{yzzzz{z{{{{{|zzzyzyyyz{zz{z{{{zzzzzzyz{{{yzzzzz{{zzzyzz{{z|||zzz{zy{yzz{{{||zzz{zyz{{{{|{{|z{z{{{{{zz{{{z{{|{zzzzzzzzz{{zz{{z{{z|{z{z{{{|{{|{{z{{|{{z{{|zz{{{z{{z|{{z{||{{|{z{{{{{{|z{{{|{{{|{zz{zzzz||{{|{zz{{|{{{{z||{{{|||zzz{{{|z{{{{{|{{{{{{{{{{z}|{|||{{y{{{z{{|{{{{|||{|{{{zz{{{{||{||{{|{{{{{{{{|z{{|{{|z{z{z{{{|{|{|z{{{{|{{z|||z{{|{{{zzzzz{{|{zz|{zz{{{y{z{{{z{{z{{{zz{z{{{|{||||{z{z{z{zzz{|{{{{{{zz{zzy{{{{{z{{{{z{zzzzz{z{{|{z|z{zz{zzzzz|z{{|z{zzzzzzzz{{{z{{{{{{z{z{zz{z{{|z{zyzzzyzyzz{{z{||zz{{z{yz{z{zz|z{{zzzzz{z{{{{z{{{zz{zzzzyy{zzzzz{zzzz{zz{z{z{{{{{z{z{z{zyyz{{z{|z{zzz{{zy{{{{z{{|zz{{zzzz{{z{{z||z{zzz{{zz{{|{{{{|z{zzzzzz{{|{{z{{{zzzzzzz{|{|{||{z{{zzz{{{zz{{{z{zzzz|{{{{{||{{|z{{z{{{{{|z{|{{|z{z{{{y{{|||{|{||{{z{z{{|{|{{||||{{z{{{{{{{|{||{{z{|z{|{z|||{}}{{{|z{{{||{{|{||{|{{z{{{{{{{|{{|||{z{{z|{{|z||}{{{{{zz{{{z{||||}||z{{z{{z{{{{{|{|{{{yz{z{{{{{{||{{z{y{{||{{{{{{|{{{zz{z{{{{{{|z{}|{{{zz{z{{z{{||{{zz{z{zy{{|{{z{{z||{zz{z{{|{|{z{{z{zz{z{|{{{z{z{zzz{zz{y|{{{z{{zz{{z{{{zz|y{z{|{zzzzz{{{z{{{z{{{z{zzzzyzz{{{{{|{z{z{zzzz{{||zz{|{{z{zz{zzzz|z{{{z{zyzyzzz{{{z|{{z{{{{{zy{{z||||z|zzzzz{{{{|{z|{}z{zz{z|{z{|{{{{|{z{{{{zz||{{|{|{{zz{z{{z{{{{|{|{{zzzzz{|{{|{{||zzz{{{{{{{{|{{{{|{zzz{|{|z{||||{|{{{{{z{z|{{{{|||{z{{{{{{{|||||{{{{{z{{{{|{|{||}||{{{{{|{{|||{|}||{zzz|{|{|||||||||||{{{{|{{{|{{{|{{{|y{{{||{|{|}{{z{{|{{|{{|{|{|{{zz||{z{{{{{{{{|{z{{{{z{|{||{{|{{{{{zz{{{||{{||{z{{{{|{|{||{{||{|{{{zzz{z{||||||{{z{{{z{{{z{{{{{{|{{z{{{{||{z||{z|zyzzz{{{||{z{{|{z{{{{z||zz{{{{zzzzzzz{{{z{{{|{{{zy{z{{{{{z{z|zzzzzzzyzz{{z{{{zzzzzzyz{z|{z{z|zz{{z{zyz{z{{|z|zzzzzzzzy|z{{{{|zzzzzyy{z{zz||{{z{zyz{zz{{{|{{{{z{zz|yzz{{{{{z{{{zzz{z{z|z{z{|||{{yz{{zzz{{{|{{{{z{{zzzyzz{{z||z|{{{z{zz{{|{{|{{{{z{z{{{|{{z|{{{{{{z{z{zz{|{|||{zz{z{z{{||z{{||}{{|{{{zz{|||{{|{{{z{{|{|{|{{{|||{||{{{{{{||{}|{||{{{|{|{{}{{|{||z{||z{{{|{||{{|{z{{{{z{{{|{{||{{|z{|{z{{|}{||||{{{|zz{{z{{{|{{{||{{{zy{z{|{|{{}{{{zyzzz{{|{}{{|{|{z{{zzz{||{{{{{{zzz{zzzz{{{||{|{{{yzz{zz{{|{{{{{{{zzzzz{{{|zz||{|zzz{{z{{|{{{{|{{{zzz{y{{zz{||{{y{{z{yz{{{z|z{{yz{z{zzzzzz{{z{|{zz{{zzy{{{zz{{{z{|yzzy{{z{z{{|{{y{yzzyz{z{|{z||zyzzzzz{z{{{z{{zz{zyz{z{z{{{{{{{z{zzzz{y{z{{z{|{z{{zzyz{z{{{{|{{zy{zzz{zz{{zz|{|z{zz{{{z{z{{{||{{z{{z{{{{}{|{|{{|z{zzz{z|{|z{{|z{|zz{{z{|{{{{zz|{{|{y{{{z||{|{|{z{|{|{{z||z|||||||{{zz{z{{{|{{{{|z{{z{{{{||{|}|||{{{z{|{||{{||||}|{z{|z|||||||{||z{|z{z|{{||{|||{{{{{{zz|||{||{|{|zz|zzz|||}|{}{|{{{{{{{z|{{{{{||{{{{y{z||{|{|||{{{{{{z{{z{z{{|z{{z{{z{{{}{|{|{||{zyz|zz{{{|{{|}|zzy{zzz|zz{|{|{{{zzz{zz{{{|{{{|{{{y{z{z|||{{|{|{zzzz{{y{{{z{||{{zzyzzzz{z|{{{{{|zzzyzz{|z|zz{{zz{{zzz{z{zz{{{|zz{{zzyy|zz|{{|{{{{zzyyy{{{z{z{{{zzz{{zyzzzz{{{{{{zzzzzzyz{zzz{|zzzz{z{yz{{{|{{{||zzz{zz{{{{{z{{|z{zzzy{{{{{{{{{|zzzz{zz{zz{||{{{z{{zzz{zz{{{|{{|{{|{zz{{{{|{{{|{{z|z{z{z{z||{{{{|z{{{zz{{{|{|z||{z{zz{{|{|{|{{|||{{{z{{{{}||||{{{{z{{z{{||{|{{{{|{z{|||{{{{|||||{{{|{|{|||{||{|}|{|{{{|{|{|{{|||zz|{{{{{{{{|{{{|{{{{{{z{|||{{{|{{z{zz{zz{||{{|||{|{{z{zz{|{{{{|{{{{z{z{z{{{zz|||{{z{{zzyz|{|{{{||{{z{zz{{{{{{{{{{{yzzzz{{z{{|{|{{{|z{z{{|{}{{{{|{zzzz{{z{{{||{{{zz{zzz{zz{z{{{|{|z|zzzzz{{zz{{{{{{{{zzy{{{{zz|{z{{zy{y{y{||{{{|z{z{zyzy{{{{{|{{{{{{zyzzy{{{{{{z{{yzz{{zzz{z{z|{{{z{zzzzyzzz{z|{{zzzzz{z{{{{{{{{|z{{zzz{{{{{{{{{}z{|{{{z{{{{{z{|{zzz{zzz{{|{{|{z|{{zzzzz{{{{{{|{{zz|{zz{z{{{|{|||zzzz{{z{z{{|z{{{{{|{z{{|{{{|{||zz{{z{z||{|{|{{||{{z{z{zz{||{{{{{{{{{{z|{{||{{{}|{|{|{|{{{{{||||{|{{{|{{{{|{}||{||{|z{{{z||||||{||{{{{{{{{|{|{||||{{{{|{{||{|{|}|{{zzz{z{{{z{{|||{{{z{{z{{{{||||z|{{{{zzy{{|{{{{{|{{{{{{z{{{{{{{{zzy{z{zz{z|{{}{{{{zz{z{z{||{{|{}|z{zz{{z{{{{{{||{{{zyzz{z{{|{|{{{zzz{zzzz{{{z|{{{zzz{z{yz{{{|{z{{zzzzz{z{zz|zz{{zzzzzz{{z|{|{||z{z{yz{{{{{|{z{}zzzzyzyz{zzy{z{{zzy{yzz{zzz{{{{{zzyzy{{yzz{zzz{{{z{z{z{zy{{|{{{{{{{zzzz{z|{{z{z|{{{{zz{zz{{{{{{{{{z{zyz{zz{{{{{|{z{{{|zz{{{z{{{z|{{|{{{y{{{{|z{|{{{{{{z{{|{{|||{{{{{z{{{{{{|}|{{|{{|{{{|{{{{|||{}{{{{zz{{z||{|{|{{z{{{z{||||{|}{|z|{{{{z{z{{||||||{{{{|zz{}|{{{}||{{{{z{z|||{{}|{|z{{{{zz|{|{{|{{|{{{||z{{{{|{{{}zz{z{z{zz||z|||{{{z{zz{z{|{{{|{{{{{zz{{zzz|{{{{{{{zzz{zzz|{{|{{{{{z{zyzy{{{{|{{{{zzyz{{z{{{{}z{{z{zyzzzz|{{{{|{|{|zzzzzzz|{{|{|{{zzyzyzz{{zz{|z{{{zy{zzz{z{{z{z{{{zyzzzz{yz{z{{{zz{zzzzzz{{{zz{|zzzzzzzz|{z{{{{{zz{zzzzzz{z{{{z{yz{{zyyzzzzzz{zzzzyzzyyzz{{{z{z{zz{zzzyyzz{z|{{{{zzzzzzzz{|zzz{{zz{zz{zzz{{|{yz{zzzyzz{{{z{{{{{{z{zyzzzz{{zz{{|{{{{zz{z{{{{{{{zz{{|z|z{{{{{{z{{{{{{zzz{z{{|||z{|z{{zz{|{{{z{{{{|{{z{zz{zz{{|{|||{zz{{{{{|{{|{{|{{z{{z{{{{|{z{||{|zz{{{z{{|{}||||{{|{{{zz|{||{||{{{z{{{{{zz{{|{{{z{{{{{{{{{{|{{||{{{zzz{{{{{{{{{{|z{|{z|z{{{{{{||{z{zzzzyz{|{|zzz{{zzyzzy{|{z{zz{zzyzzzz{{{{{{{||{zzzzzzz{z{z{{{{{z{yy{z{z{{{z{z|zzzzz{{zz|z{{|{|zzzz{z|z{{{{{{{{zzzyy{xz{{{{z{|{{{zyzzzz{{z|z{{{zy|zzzzzz{{zzyz{zzzzz{zyzz{{{{|{z{zzyz{zz{|{zz{{zzzzzzzzy{z{z{zz{zzyzyzzzz{{z{zzzzzzzzyy{|{{{z{{zzzzzzz{{{{z{{z{zzzzyzzzzz{zz{{{zzzzzy{y{zz{{z{{zz{zyz{z{{{{{{{{zz{z{zzz{{|{{{{{zzz{{zzz{{{{{{{z{z{{|z{z{zz|{{{{{zz{{{z{{|z|z{{|{z{zzzzz{{{z|{|{{z|{{zzz{{{||{{{{z{{{{{{{{|{{|||{{{{{|{z{|{|{{|{{zz{{{{z||{{|{{{{zzz{{z{{|{{{||{{zz{{z{}{|{{{|{|{z{zzzz{{{z{{|{{{{zzz{{zz{|{{{z{{z{zzzyzzz|{{{|{{zzz{{z{{{{{|{{z{zzyzyzzzzz{{|z|z{{zz|yz{{{{{{{{zz{z{zzz{{|{{{{|z{{zzzzy{z{{z{||zzz{zzzzzz{{z|{{{{zzzzz{{{{{z{{{|zzzz{yz{{{zz|{{zzzy{zzy{{{{{{{|{zzzzzz{z{|{|{{{yz|zzzzzz{{z{{zzzzz{zzzzzzz{z{{|zzzzzzzzz{z{{|{|zy{yzzzz{{z|zz{|zzzz{zzzz{z|{|{|z{{{zz{z{{{{{||z{zzz{zzz{{{{|{{{{z{z{{{{{{||{|{|{zzz{{yzz{{{{{z{{{{{{{zzz{{{{|{|z{z{{z{{z{{||z{{z{z{|z{z{|{||{}|{z{|{zzy|{{{|{|{{zz{{z|{|}}||{}|z{|z{{|{{||{|{{|{|{{{{{|{|}{|}||{{{{z{z{|{{|{{|}zz{z{{zz{{{{{{{{{|z{{{{{|{|{||{|{{{zzzzz||{|||||{{z|zz{z{|{{|{}{zz{zzz|zz|{{||z|{{zz{zzyzz{{{{{|{zzzyzyz{{{{{|{{{{{z{z{yzz{{{z{{zz{{z{{{z|{{{z{{{z{{zzzzz{{{z{{{zz{z{z|y{|{{z||zz{{zz{yz{|{|z{{|z{zyzyzz{z{zz{{zzz{zzzzz{|{z{{z{{y{zzyyz{{{{{{zzz{{zzzzz{zz|z{{|zz{zzzzyy{zzyz{{zzyz{zzzz|{zz{{{zzzz{zzzzz|{{z{{{zzzzy{z{z{{{{{|z{{{{zzz{|z{{{z{{z{{{{|x{||{{{{|zz{zzz{{{{|{||y{{z{{{zz{z{|||{{|z{{{{z{z{{|{{{{zz{{z{{{{{|||z|{{z|{{{|{zz|{|||{|y{{{zzz{{{|{{{|{|z{||z{{{||{{|}|zz{{{{|{{{{{{|{}}zy{{{|{z|||||||{{{|{{{{||{{|{|||{z{{{{y{{{{{||{{{{|{zz|}z{|{|{|z{{zz{zz{|{||{|{|{{{{{{y{||{|{|{{{{{z{{z|z{{{{{{yz{{{z{{z{{{{z|{zzz{z{zzz{{{|{{|{zzzz{zz{{{{{z{{{yzzz{z{z{z|{z{z{zz{z{{y{{{{z{{{zz{zz{{z{|{{{{{{{zzyyz{yz{{zz{{{y{zyyzzz{{zzz|z{zzzzzzyzz{{{z|{|z{zzzzyy{z{{|{z{z{zzz{xz{z{{z{{{zzz{{zyy{z{z{{z{zz{y{zzy{z{z{{{zzyyyzzzzz{{{{{z{zyzzzz{y{{{zz||{{z{z{zz{{{z{{{{{z|z{y{zz{{zzz{{{{z{z{zzz{|{{{|{{z{zzzzzy{{||z{|{z{zyzz{z{{|{{|z{{{z{zz{{{{|||{|{{z|{{z|{{|{{z|||{{{{{{zz{{||||}{{{zz{{{{{{{{|||||{|z|{{{{||{{||||{{{{{|z{}|{{||{{z{|{|{z{||||}{{{{{z{zz{{{{||||{|{{{{{{|{{|||{||{{{{{z{|{{{||{||{|{{z{{z||{|{||{z{{{{z{{{{|{z{{{zz{y{z{zz|{{|||{zz{z{yyz{{|{{{{}{zzzz{zz{z{{z|{{{{{{zy{z{{|{zz|{|{zzzyzz{{{{{z{{{{zyzz{z{{z{{|{{zzzzzyzz{{{{z{|z{{zy{{z{{{{{z{{{{{{zyz{{{{zzzz{zz{yzzzxz{{{{{z{{z{zyzyyzzz|{{{{{{yz{yzyzz{y{z{{z{{zz{zzzyzzzz{{z{{zzzyzz{y{{{{{{{zzzzzzz{z{zzz{{{z{z{x{z{z{{zz{|zyzzzzzz|z{{z{{{{zz{{y{z{{{z|{|{|zzz{zz{z{}{{{{zzz{{{{z{z|z{z|{{{z{z{zz|{{{|||{{z{{{{{z{{|{}{{||{|z{{{z{{|{{|{|{{z{{|z{z||{{{|{|z|{{z{{|{{{||{{{{{{{{|{{||||{{}|z{{{{{|{{|{|{z{{{z{{{z{{{{{{{{||{{{{z{{{||{{{{}|{z{z{{{{|{{{{|}|{|{z{zz{z{{{{|{{{|{{{zyz{{||z{z{|{zyzzzz{{|{z{{z{zzzyzzz{z{{{{|{{{zz{{{z{{z{|z|{z{{z{zz{z{{}{z|{{{zzzz{zz{|z{{||{zz{{{z{z{{{z{{{{z{{zzzz{||z{|z{zzyzzzyy{zz{{|z{yzyz{{zz{|{{{z{zzzzzyzzzz{zz{|zz{z{z{{zzy{z{zz{{zz{{z{z{yz{{{{zzz{yzzzzyz{z{{{||zz{zy{z{{{{{{z{|{zzzy{zyz|{{|{|{zzzzzyzz{{{{{|{{{zzzyyy{z{{{|{{{z{{{{z{z{{{{{}|{{z{z{{yz{{|{{{||{zz{zzz{|{{{{{{{{{zz{{yz{||z{{{{{z{zzz{|||{|{{}|{{z{|{{z{|||{{||{zzz{z{z|||{{{{|{{{{{z{z|{{|||{}{z{zz{{{{|{{||{|{{||{z{z|{|}|}{{z{{{z{{{z{z{{|||{{{|{{{{|{|{||{}|{{z{zzzz|{{{{|||zz{zzzz{|{z|z|{{zz{z{{z{{{|z||{{{zz{{zzz||z{|{{z{{{{y{z{{{{{|{|{zz{y{{z||z{{|{{{zz{zzz{{|{{{z{|{z{zzz{z{z{{{z|{zzz{z{{z{{{{{{||{z{z{zz{{z{{z{z{z{zzzzzz{{{{{z{{zzzz{zzz{z{{{{{{{zzzy{z{z{{{{{{{{{z{z{zz{{{{z|{z{yzzzz{yy{zz{z|z|{zzz{zzzzz{z{{{zyz{{z{zz{{zz{z{{{z{z{{z{|{{z{|{zz{zzz{{z{{{{{|{z{{zzz{z{{|{{{|||z{{zzzz{|{{{{{{{zz{{zzz|{{{z|||{zyzz{z{{{|{{{{{{zz{|{z|{{{{||{{z{zzz{|{}{{{{||||{z{{zzz{{}||{|{{z{{{{{{{|{{{{||{{{{||{{{{||||}{|{|{z|{z|}|{|{|||z{{{{{{||}z|z{{|{{{{{{{{|||{|{|{{{|{{|{{||{{|||z|zz{|{|||{{{{|{|z{zy{{z{||{{{|{z{zzzz{z{|{|{{{{{{z{{{zzz|{{{{z|{{zzzzzz{z|{{{{{{{z{{{zz{{{z|||{|zzzzy{{{{{{{z{{zz{zz{{{{{|{{{||zzzzz{{yz{{zz{{z{{zz{{zzzz|zz|{zzzzyzzz{{z{{{|{|zzzyzzzzz{{|{z{zzz{zzzyzzzz|{|{{z{zzzyzzz{zz{{||{z{zzy{y{{zz{z{{zzyzzzzzz{zz{{{{yz{z{zzzz{{{{z{{zz{{zzz{{|{{z|{|zy{zzy{z|{{{{|{{{{z{zzz{{z{z{||{{zzzzz{zz{|z{|{z{z|zz{z{{{{|{|{{zzz{zzzz{{|{{|||{{z|z{{z{{||{|||y{{{{zz{{{||||{|zz{{{|zz{{|{|||||{z{{{|||}|||{||{{{zz|||{{{{|{{{|{|{z{{{{|{||||||{z{{zz{{{{{|{{|{z{zzzzz{{{|{{{|zzzzz{{z{|{{{{{|{{{zzz{{|}|{{|||{{z{z{{z{|{{|z||{z{{zz{{{z{|{|{{{{{{zzzzz{z{{{{{zzyzzyzzy{{{{z{{z{z{z{{{|z{{z{{zzy{{zzzzz{{{zz{{zzzzzz{{{z|{{zz{{zzzz{zz{|{z{{{{{{{{zzz{z{{zzz{z{z{{zzzz|z{{{{zzzzzz{zzzzz{{|zzzzy{{z{z{{z{z{{{{{{zzzzzz{|{{zz|{zzzyzzzyz{zzz{{{yzzzz{yzz|z{{|y{z{zzy{{{z{{{{z{{{{{|zz{z{{z{{{{{zzzzyz{z{{{z{{{|z{z{zz{{{{{{|{z{{{zzzz{zz{{{{{{{z{zz{z{z{||{{{|{z{zz{{z{{{{zz{{z{{{{{z|{{{|{}{||z{{zz|{{{|z{{{||{{{{zz{z{||{{{{{|z{{{{{{{|{|{|||{{{{z{{{{{{zz|{{{z|{z{{{{||{}||||{{{{zz{|{|z|||{|{{{{zz|{{||{||||{z|{{y{|{{|||||z{zz|{{{|z{z{{}||{z{z{{{{|{|||||{{{zzz{z|{{{|{{zyzyzzy|z{{{{zz{{{y{{yzzz{{{{{{|{{{zz{zzz{zz{|{{{zzzzzzzzyz{{z{z{z{{zyzzz{{{{{{{z{zzz{z{zz{{{{{{zyz{zzzzz{z{zz{{{z{zz{{z{zz{{z{{{zzzzzzzzz{z{zzzzzz{yyzy{zzzz{z{zzzzzzyz{z{y{yz{|z{zyzyyzz{zyzzzzzzzzzyyyy{z{z{{{{yzzzzzyzz{{{{{{zyzzzxz{z{{zz{z{zz{{zyzz{zzz{{{{yzz{{zzzzz{z{{{{zzzy{yz{y|{zz|{{zzzzy{z{{|||z{|{z{z{z{zz{{z{z{{{z{{zz{y{|{|{z{{|z{zz{z{z{{{{z||{{{zz{{zy{{|{{{||{z{{{zzz|{{{{|{{{{{{zz{{z{{{|{|{{|z{z{z{{{{{{{{|{{z{zy{{{z|{{|||{y{{{{z{{{{{{{|{{{zz{{|zz{{|{{||z{{{zz{z{{{|{{||{{z{|{z{z{||{|{z{z{zzzzz{{{z{{{z{yyz{zyz}{{{{{z{zzz{zz{zz{zz{{||{zzzzyzzz{{z{{|{{z{{{z{{{{{{z{{{zzzzyzzzz{{{{{z{{zz{{zzyyzzz{z{{zzyyzzzzz{{z{{{{|zzzzzz{z{zz{{{{zzzzzzyyzzz{z{{{{yzzyyy{z{{{{{z{zzzzzzyx{zzz{zz{{zzzz{zyzzzzzzyzzzzzzyzzz{z{z|{{{yyzz{zzzzz{z{{z{zzzzz{|{{zz{z{{yz{zzzz{z{{zz{{{z{zzzzy{{{{{{{{{z{{z{z{y{|{{{|{{{z|{zzyz{z{{{z|{zz{{|z{{|{{{{{|z{z{zz{z{{|{{{|z|z{zz{{{z{{{{|{||z{{zzz{z||{|{{|}|zz{z{{z{|{{||||{{|z{{|{{{{{||{||z{{z{z{z||}{z|{|{zzz{{{{z|{||{|{{z{{{yzz{{{|{||{z{{{z{{{{z|||{{{{zzz{z{{|z{{|{{z{{|{zzzz{|{z{{{{z|z{{{zz{|{{{{{{z{zyzz{{{{{z|z{z{{{{{{z{{{{|{{{zz{y{zzz{{{{|{{z{z{zz{yz{{{{z{{{{zzzzzz{{{z|{{{|{zzzzzzz{{{{{{{{|zzz{zzzz{z{z{{zz{{z{{zz{{z{z|{{zzyzzz|z{{{{zz|z{y{zyzyz{{{z|{{{{{zzyzzz{zzzyz{{{zzzzzzzz{zzz{{zzz{yzyzzz{{z{{{{zzz{zzzy{{zz{{||{zzyzyzy{z{|z{|{zzzzzzzy{{{{z||{zz{zzyz{{{|z{{{|{zz{|{{{z{{{{{z{{zzzzzzz{{{zz{{z{zz{{{z{{{|z{|{{{{{z{z{z{{|||{{|zzz{{|{{|{z{{{||{{|{{{|{{||||||||{{{{{z{{{|{{{|{{|zz{{{{|{{{{|{||z{{{{{{{|{||||||z{|{{{{{{|{|||{{{z{{zzz{{|z|{|{{{|{{{{|{{z{{|{|z{{z{{{z{||{{|||{z{{z{{{z}{{{{|{{{{{yz{z|{{{{{{|{zz{{zz{z{|z{|{{z{{zzz{{z{{{{{|}{z{zzz{z|{{{{{{{{yz{z{zzz{{{|||{{{{zzzz{{{{|{{{{zzzz{{{z{{{{z{{{{z{yzzzz{|{{z{|{{{zzzzzyzzzy{{{|z{zy{{zzz{{z{z{{zzzzzzyzzy{zz|{{zz{zz{zz{z{{{{{{{z{{zzzzy{zz{z{{{zzyzzyyzzz{z|z{zzzz{{{y{{zzz{{{{z{zzzz{{z{z{{{|{zzzzzzz{{||{z{{zzzzzz{z{{|zz{{{{{z{{yz{z{|{z{{{zz{zzzzz{{{{{{|z{z{z{z{z{{{|z{z{{{{z{{{z{|{{|{{{{{zz{{{|{{{|{{|{{{{{zzzz{||{|||{{z{{|{zz||{|{||||{z{z{{{{{|||{{{|{{{z{z|{|||||||{{|{zz||z{{{{||}|zz{|{z|{{{{{|{|{{z{{{{zz|z{{|{{{{{{{{z{{{|{z{|{{{z{{{|z{{|||{{z{z||z{zz{|{|{{{|{zzzz{z{z|{{zz{{zzzz{y{z{{{z{z{{{{{zyzzz{|{|{{||{{zzzzyzz|z{{{|{{zzzzz|z|z{{{{{|{z{zz{zz{||zz{{zzz|{{z{zz{{zzz{{zzzzzzyzz{{{{{{{y{zzzzzzz{{|{zzz{yz{{{zzz{|z{{{zzzzyzzzyz{{|{{{{{{y{{z{{zz{zz{{{zzzzz{{{{{z{{{{{zzz{z{zz{z{zyz|{{z{z{zz{{{{z{{{{{{zzzy|z{{|{z{{{{zzzzzzzz{|z{|{{{{{|zzzyz}{{{z|{{{{z{zz{{|||{{|{{z{zzyzzz|{{{||{{z{{{{{z{|}{|||{{z{zz{{{{z{}||||{zz{zz{z{|{{{||{{{{z{z{{{||{|||{{{{{z{|{|{|{{}|||{{{{{{|||||{}||{z{{z{{{|||||{{{|{z{{|z||||{|{{|{{{{|{z{||||||{|z{zz{{z{{z{||{|{|{{zz{{{{{z{{{||{z{zz{zz{{|{{{|{{zz{z{zzz{{{{|{{{yz{{yzz|{{{z{z{{{zzzz{z{z{{{{||{yzz{{zy{{|{{{{{{{{zzzz{{{{zz{z{{z{z{zz{z{z{{||{{z{z{zzz{{zzy{{{z{{z{zzz{z}zzz{|yyzzzy{{z{zz{{|z{y{zz{yzz{|{z{{{{z{zz{zzzy{{{{{|zzzyyz{z{z{z{{{{zzzzzzzzz{zz{{{{zz{z{{yz{|zzz{|{{zzz{z{{{|z{||{|{zz|zzzzz{z||{||{{z{zzyz{{||{{{zz{{z{z{z{{||{{{zyz{{zzz{{{||{z|{{{|{{{z{{{{{{||{{z{z{z{{z{|}||||zzz{{{{{z{{|{{||{z{{z{zz}|{{||||{{{{{|{{{|{{{||{{{z{{|zz{{{|||{{|{{z{{{{{{|||{}{{z|{{{{z|{{|z|{|{z{{{z{z{|{{{|{|{z||{|{z|{|{{||}{{|yz{z|{{{{|||{{{{{{z{{{||||{|||z{z{z{z|{{|{z|{zzzz{{y{{{z{{{{z{zz{z{{z{{|{{{|{zzzyz{{z{zzzz|{|{z{z{zzz{{||z{z}{zzz{zzzz{{{||{{zzzyz{{z{zz{{{{{zzzzzyzz{z{{z{{{{{yzy{zz{z{{yzz{zzzyyzyyz{{{{{|zyzzzzzyyzz{z{{{zzzzyzzyzz{{z{z{zz{y{{y{zzz{zzzyzzzzzzzzy{|z{z{z{zzzz{zyz{zzz{{{{{yz{yzz{|zzz{{{{{{{zz{zyz{{{||{{{z{zzzz{|{{|{{{|{z|zzz{zz{{{{{|{{z{{{{z{z{{{{||{{{{{z{{{{{{{|{{{{{z{{z{z{{{{}|{|{{{{{z{{{{{{{{||{{z{{{{z|||{{{|z{z|{{zz{{|{{{|~{{{{{|{{z|{{|{|{||{{{z{||||{{{||||{{{{{{{{{|{{{|{|{{{|zz{{|{||{|||{{{{{{|{{||{|{{{{{{{{zzy|{{{{{{{{zz{z{{{||{|{{{{{yzzyzzz||{|z{{z{yzzz{zz{||{{{{z{yy|{yyz{{|z{{|z{zyzzzzz{zz{{{{z{z{zyz{{z{{{z{|zzzz{{{z{z|z{{{{z{{zzzzz{|{z{{{{zzzzzy{{z{{zy{{{zzzy{zzz{{{|{|{{zzzyzz{zzz{z{{{{{zzzz{yzzz|{{z{yzzzzzyzzzzz{z{{{zz{zzyyy{{z{{{{{{zzzyyyzzzz{{{{{zzzzzz{{zy{z{{{{{z{zzzz{z{{z{|{{zzzzzzz{{{z{z|{|yzzzz{zz{{{z{{||z{zz{{zz{{{z||{|{zz{z{z{{|{{|{|{zz{z{{z{{{|z||zz{{{zz{{z{{{|{|||z{{{z{{z|{{{{{|{|{{{{{{zz{|{|||{{z{{{z{{||{{||||{{{z{||{{||{z||}|z|{{{{{{|{||||}{{{|z{{|{|{{{|{}{||{{{{{{||{{||{{{zzz{{{{{||{|{||zz{{z{{{|{{z{|{|{{{{{zz{||||{|{|{{{{z|z|}||{{{{z{z{{z|{zz|{{{{{zzzzzzzz{{{{|{||{{{zzzz{z{{{{{{zzz{zzzzz{zz{zz{|z|zzzz{z{{|z{{y|zzzyzzzz{{|{z{zz{{{zyzz{{{|{{z{{zzzzzzz{z{{|{}z{{z{yyz{z{z{{zz|zzzzzzyzzz{{zz{{{zz{zzzyz{{{|zz|{zy{zzyzzzzy{zz{{zzzzy{zzz{{{{|z{zzzz{{zy{{{|{{{z{z{zzyzz{{z{z{||yz|z{z{zz{|{}|{{zz{{{{{z{{{{{|{|{{|{z{|z{|{|{|{{zzzzz{{{z||{{{|{{{z|{{zz{|{{{{{{|{zz|zzz|z{|{{|zz{{{{|{z{{{{{|{|{zz|{z|z{}{{{}{{{{{{{z{{{|{{{||zz|{z{{{{|||{|{|{|{{{{|{{{}{|{||||z{{{{{z||{{|{|{|{{z{z{{{{z{{|{{{{|{z{zz{{{{{|{z{{{z{{z{{{||{|||{{z|{z{{{||}{{{}{{z{{{|{|{||{{z|zz{yzyyyz|{{z{{{z|z{zyz{{{||{{{{{yzyzzzzzzzzz{{||yz{{{zzz{z{z{{|{zzzyzzzzz{z{{{{zzz{zz|zzz{z{{|{zz{zzzzzzz{{{{{{{{zz{{zzz{zzzzz{yzzzzz{yzz{{z{{|{zzzzzzzz{|y{zz{zz{zzzzz{z{{{{{{{zzzyyzyz{zz{{{zz{zyzzzzy{{z{{zzzyz{zzyy{{z{z{z{{zz{yzz{{z{{{{|{zz{zzz{z{{z{{||{z{|yzzz{z{zz|z{{{{z{zzzzz{{{{{{{{z{{|zzz{{{{z}|{|z{{zzzz{|{zz|||{{z{|{zz|{{{{||{zzz{{{{z|{{{||}||z{{{zzz{{{|||{|{z{z{zz{{{|{{z{|{|z{z{{{{|{z|{|zz{{{{{z{z|{|z|{{{zzz{z{{{zz|{|||{{zy{zz{{||{{{{||{{z{yy{||{{||{|{{{z{{z{{{{{{}||||z{zz{z|{{|{{{{{{{zz{z{}|{||{{{zzzzzzz{{{{{z{{|{zyzzz{zz{{{{|{|{yzzyzzz{{{{|{{{|{zz{{z{{{{zz{||{{zzzz{y{{{|{{|{{zyzzzyyzz{z{|zz|z{{{zzy{{{{y{{{zz{yy{zzzz{|z{{{yzzzzyzyz{{{{|{{zz{zy{yz{|{z{|zz{z{zzzyy{{z{z{{{{yz{zz{zxzz{zzzzz{zzzzzyz{{z{{{zzz{zz{{zyz{zz{{{z{{yz{{z{{||{{{{{z{z{yzy{{{z{{z{zz{{zz{y{|{{{|{|{yzzzzzzz|{zz{{z{zz{|{zzz{{{zz{zyzzzzz{z{||{z|{|{zzz{{{zz{{}z{{{yz{|{zzz{|{{z{||{{{z{{zz|{{{{|{{{{{zzz{{{||{||{{{{zz{{||{{{{|||||{|{z{{{||{{{{||{{{{{{{{{|}{{{{{{{{{z{{{|{{{|||{{{z{|zz{||{||{{|yzzzzz{{{z{{{}|{{|zzz{{z{{{{z{{{{{{y{{z|{{}||{{{z{zz{zyzzz{{{y||{z{yzzzzz{zz{{|{{zzzyzzz|{{z{{{{{{zyzzzy{{{{{z{{{zz{zzzzz{zz{{{{{{{zzzzyzzz{z{z{zz{yzzzzzz{z{{{{zzyxzzy{{zzy{z{{zyzzzyzyz{z{{{{zzyz{zzyzzz{z|{{{y{yz{zyz{{|yzz{{z{zzzyzyy{z{z{{{{zzyyyzzz{z{z{{{yzzyzzzzzzz|{{{{{z{y{zzy|{{z{z||yz{{zzzzz{z{{||{{z{zzzzzzz{z{{{{{z{{zyzy{{{zz||{|y{zyzzz{{{|{{{|{{zz{zz{{{{{z{{{{{zzzzzz{|||{{|{z{{{zz{{{z{|{{{{{zzz{zzzz|{||{{|{z{{zzz{{{}|{{|{{y{zz{{{z{|{||{||{z{zz{{|{{|||||{{{{z{{z{{{|{{{{{z{{{{z{{|{{||||{{{{{{zz{z{|{||{zzzzzy{{z{{|{{{{{|{{z{{y{{z{{||{{z{{{{|{|{{||{|{zyzz{zzzzz{{{{{z{z{zyzzy{z{z{zz{{{zyz{{z{zzz{{{z{yzzzz{yz{{{z{{{{zzyzzzz{{{z{{{{{zzy{zzyzzzz{{{{{zzy{zzzz{zzz|{{zy{zzz{{z{z{{zz{zzzyzzyy{z{{z{{{{zyzzyyz{y{{zzz|z{zzyy{y{z{z{z{{zzzx{yzzyz{{{z{|z{yzyzzzzzz{z{z{yzzzzzzz{zz{{{{z{zzz{yyzzz{{{{{{{{z{zyzz{zzz{{{{{{zyyy{zz{|{{{{{zzzzy{{yy{zz{|{zzzzz{{zzz{{{{{{|zzy{{z{z{|{{z{{{{z{zzz{z|{{|{||{{zz{|z{{zz{{z||{{{z{z{zz|}{|{|{{|{{zzz|z}{|{|||{zz{zzz|z{{||{||||{{z{|{{{||{|||{|{z{{{{{{{{{{{|{{{zz{|{z|{{zz|{{{{{{{z|{||{{zz{|{{z{zzz{{{z{{{|{y{{{zzzy{{{{{{z{|z{{z{{z{|{||{{{|zzyyzzzz|{zz{}{{zzzz{z{{{{zy{{|{{zzz{{zz{{z{{|{z{|{z{zz{{{{zzy{{zzyzzyz{zz{{z{{z{zz{y{zzz{{zz{{zzzzzz{y{{zzz{||{zz{zz{zz{{{z{z|yzzy{yzzzz{|{z{z{zzyyzyzz{{z{{zzzzz{z{yzz{{{{{{{zy{zzyzz{yzzz{zz{z{zzzzzzzzz{|zzyyzz{{zy{zz{z{{{{zyyzz{zz|{|{{{{|{z{zz{z{zz{|{z{{yzzzz{{{z{z{|{{zz{z{zzzzz{|{|}zzz{{z{yyzzz{{{|{{zz{{z{|zz{z||{|z{zz{z{{z{{|z|||{z|{{{{{{{z{{{{{{{z{{zzz|{{|{|{{|z{{|{{{||||{}|{{{z{{{|{{{{{|||||{z{{{{{|{|}{{|z|{{{z{{z|{{{{|||{{{z{{|{{z{||{{|{{z|{{zz|{|||{{|{{{z{{|{{{{z|||{{{z{{{{z{{z{|{|{z|{{z{{z||}}}{{{{{{z{zzzz|z{{z||yzz{zzzzzz|z{z|{{zz{zz{zzzz{z{|{zzzzz{zz{zzz{|{{{{{zzzzy{{|{z{{|{z{z{z{zzz{z{{{z{{{zzzyzz{{zzzzzzz{{{zzy{z{{z{{{zz{{zzz{z{y{z{zz{zz{z{z{|{{|{z{{zz{yzyyyyz{{zz{{{zz{zyzzzzzzzz{{zz{yzyzzzz{{{{y{zy{zzzyzz{z{|{|{{zzzzyzzz{z{{{{{{y{{zyzz{z{z{{|{{zz{z{zz{{{{{|{zzz{z{z{{z{{{|||{{z{zz{{{{z}z{{|{|z{{{{z{{{{z{{{{{{{{z{z||{|||{{|z{|{{{{{{||{{{|{{{{z{{{z{{||{|{{|z{{{{{{|{{{|{}{|z{zz{z{{|z||}{|{{{{|{{z{{|z{{|||{z{{zzz|{{z{|{{{{{||zz{||{||||||{|{{z{{{{{|||||{{zz{{{zz{{{|{||{{{{yz{zzz||{{{{{{zz{{{{|||~}{z{zzz{z{zzzz{{{{|{{z{{zzzz|{{z{{{zzzzzz{{z|z{zz{{{{z{z{zz{{{z{{{{{{z{zyzzzzz{{{{{|{{z{zzzzz{{{{{{{{{zz{zzz{|{z{{|{z{zzy{yz{z{{z|z|zzz{z{yzz{zzz{|{zzzyzz{z{z{{|z{{{zzzzzzzz|{{{{{{{{y{zzzzz{zz{z{zyzyz{z{zz{zyz{z{zzz{zy{z{z|{|{{zzzzzzyzy{{{|z||{z{{zzzz{z{{{{{{|{zz{z{zz{z{|{{{{{{{{zzzyz{|{{|{{{{zz{{{z||}{{{|{|z{z{{{{|{{z{||{{zzz{{z{{|}|||{|{{|z{|{z|{{||{|||z{{{{zz{|{|{{}{{z|{{z{{{{{{||}|{z{{|{{{|||{|||}|{{{{z{||}{|{|{|{|{|{{{z{|{|{||||{|{{|z{{||{{{{{}{{{{zz|||{|{|{|{{{{z{z{{|{{{|||z{zz{{z{z|{||{|{{z{{{{{z||||}|{{{z{zzz{{z|{z{{z{{{z{{zz{yz{{{{{{z{zzz|zzzz{z{{{{z{{z{{z{{{{{z{}{z{{zzzzz|{|zz{{zzz{{zzzz{{z{z{z{|{{{z{{{{z{z{{{zy{z{{{zx{{{{z{{zyyzy{yzz{zz{{{{{zzzzz{yzz{{z{{{{z{{{yzzz|z{{z{{{zzzzyzz{y{{z{{{zzzzzzy{zzzzz{{zz{yzyy{zzz{z{{{|z{yy{y{zzz{z{z{{|zzzzzzzz|zzz{{{{zz{{zzzz|z{{z{{{zz|{{{zy{|z{{{{{{z{zz|z{{|{|{z|{{{zzy{{z{{{{{|||z{{zzz|z{z||{|{{{{{{{{{{{{{{{{||{{z|{z{z{{|{||{{{z{{{{{{{{{z||||{{z{{{{{|{|{{{{||{{{z{{z||{{||{{|{{{{z{z{|{|{{|z|zz{{z{|{{{||{{||{{{{{{|{{||{{||{{z{{|z{{{{{{||{{{zzzy{z||{{{|{}{{{z{{{|{}|{}{{{{z{zzyzzz{z{z{{z{{zz{zz{{{{{|{{{{z{{zzzy{{{zz{{|{zzz{yz{{{{{{z{{|zzyzzzzzz{zz{z{zzzyz{zzzzzzz{{z{zzz{{zz{{{zy{{{zyzzzzz{z{z{{z{{zyzyzy{zzzzz{{{zzzz{yzyzzz{y{{z{{zzzyzzzzzz{z{zzzzzz{yzyzzzz{{z{{yyzzzz{z{{{{{zzzyzzzzyzz{{{z{{{zz{yzyzzz{z{{z{{zz{zzzzz{{{{{{{|{yzzzzzz{{{|{{{{zzzzyz{z{}{{{{{{|z{{zzzz{{{{z{|{{zzzzzzy{{{|{{{zz{{z{zz{{{||{{{|{z{z{zz{|{{|||z|{z{z{z{{{{{{}|{{{zzz{{{y{|{{{{||{{{{z{||{{{||{|{{{{zz{z{||z{|{||{{{{{{{{{{{|{|||{{{{{z{|{{|{z{{|{{{{|{z{{{||{{||{{z{zzzzz}{|z|{{{{{{{{{z|{z|{{|z{{{|{{{{|}|}|{{{zzzyyz{zz{z{{z{{z{zzzyzzz{{z{{{{zzzzyzyz{{zz{{{{z{z{{zzzz{{{{{{{z{{zyyzzz{{z{{{zzz{zz{zz{{z{z{{{{z{zzzyz{{{zz{{{z{zyyzzzz{yzz{{{zzyzzyyyz{zz{zzzzyzzzzzzzz{zzz{{zz{zzyzyzzz{zz{{zz{yxzzzyzz{z{{zy{zzzzzyy{{{{{{zzzzyzyzy{y{{{{{z{yzz{yzz{{zz{|z{z{{z{{z{{zzzz{{{zz{zzz{zz{{z{{{|{y{z{zzzz{{z|{|{{zzzyzxy|{{z{{{z{z{zz{z{|{z{{{{{zyzz{zz{{|{|{|{{z{{z{zz|{{{|||{|z{zzz|z{z||{|||{z{{{{z{z|{|{{{||{z|{z{{{||{z{|}||{||z{z{||||{|{{zz{{{{{z{||{|{{{z{{zz{{{{{z{{{||{|{z|{z{{{z{{{z{{{zzz{z{|{{{z{{|{{{{z{zzz|{|z{{{z{{z{{z{{z}}|{{z{zyzzzzzz{{{{z{{z{zzzyyz{{zz{z||{zyzzz{y{zz{z{{z{z{z{zy{z|{|yzz{{{zzzzzzzzzzz{{{{zz{zzzyz{zyzz|{z{{z{yzzz{zzz{|zzzy{zzyy{{{zz{zzzzz{yzyyzz{z{z{zzyzzzzyzz{zz{{{zzzyzzzzz{{|{z{{zzyzyzzzzy{zz{{z{|z{zzzzzzzzzz{z{zzzzy{yyzzz{z{{{zzyz{zzzz{}{zzz{{yzzz{zzz{{{zz{|zz{zz{{{z||{z{{{zzzz{zz{z{|z{{{{z{{{zz{{{|{{z{{{{zz{{zzz{||{{{z{z{zz{y{{{{{||{{{{{{{z{{{||z|{{||{{|{{zzz{|{z{|{{{{{{{z{{{|{|{{|}{zzzzz{{{z{{{||{|yz{{{zz{|||{{{{|{{zz{{z{|{||{{{{z{{zyzz|{{|{{|{{{yz{zzzz{{{{|{{{{{zz{z{z{z{|{{{{{{{z||{z{z{{{{{{{y{zzzz{|||{{z{{{{z{{{z{z|{{z||{{{y{zyzz{{z{{{{z{zz{zzz{z{z||z|{zzzzzyz{|{{zz{{zzzzzz{yz{|{{{||z{zy{y{zzz{zzz{{{zzz{zzz{z{z{{z{z{zzzzy{z{z{z{z{zzyzzyzzzz{zz{z{{zyzzzz{zz{{{{{{z|{zz{{yz{{{{{|{y{zzzzyyz{zz{{{z{yzz{zyzyzz{z{{zzz{zzz{zzz{z{z{|y{zzzz{{z|{{{|{|zzzzyzzz{{|||{||{zz{zzz{{{{z{z{{zz{{{z{{z{|{{}|{{|{z{{{z{{|{{{{z{{z{{z{{z||{{{|}{{zz|{z{{{{{{z{{zz|{{{z{{{{||{|{{{{{z{{z|}{|||{{{{z{{{{{{|{{|{}|{{{{{||{|{||{{|||{{{z{{|z|}{{||}|{{{{z{|{|||{|{{|{{|{{zz{{||{{|||{{{zzzz{{{|{{|}{{yzz{{z{||z{|||{zzz{zz{z||{z||{zz{z{{{{|||{||z{|zzy{z{yz|zyzz{zzz{zzzyzz{{z{{|{z{zy{{zz{{z{{z{{zy{zzy{z|{{{{{{{zz{zzzzz{z{{{{{{{z{z{zzyy{{z{z{{{zzzyyzzzz|{z}z{{zzy{zyzzzz{{zzz{zzzzzzzzzz{yz{z{zzzyzzzz{{zz{z{{zzzzzzy{{{{{{{zzzyyxzyyy{zyyzz{{z{yyyzzz{{zy{z{zzyzz{{z{zz{y{|{{zzzzz{z{{{z{{{{{zzz{yy{{{{z{{{{zzz{zz{{z{{{{{z{zy{z{zzz{{{{{{{z{z{z{{zz{{{zz{{{z{{{z{z{{z{{{|{|zz{{z{zzzz{|z{|{z|{{z{{z{zz{z{{{{{z{{{zz{{|z{{{{{zz{{z{{||{{{|}|z{|zz{{{{{{{|{||{{||{|z{{|{|{{{{{{{{{zzz{{{|{|{{{zzzz|{zz{{{{{}|{zzzz{zz|z{||{{|{{zz{z{{{|{z{{||{{zz|{zzz{||{{|{{{zz|z{{{}|||{{z{zzzzz{{{||{{{{{{z{z{z{z{|{{{{{{{zzz{zyz|{{{{|{{{zzz|yzzz{|{z{{{{{zyzz{y{{{{{{zzz{{z{z{z{zz{z{{{|{zzzzzzz{|{z{{|zzzzz{zzz{|z{{{{zzyz{zzyz{{{{zz{{zzzzzzz{{zz{z{{zzzxyzzz{{z|z|{|{{yzzyzzy{{z{zz{y{zzzzzzz{z{{{z{zzzyzzz{zz{|{{{{z{zzzyzz{z{|{{z{z{{{zz{{{{|z{{||{zzzzz|{{{z|{|{{zzz{z{{{{{{|z|||z{{z{zzz{|zzz{|{{z{{zz{z{{|||{{{{{{{z{zz{{{}{|{|z|{{{{{z||{{{|||{{z{{{{{{||||{||{z{zz{z{{||{{{{|{{{z|{|{{||||{|{|{{{{{{z||z||{|{|{{{{{{{{||{{|||{{{z{{{{zz{{{{}}|{z|{zz{{||{{|{{{{{|y{y{z{{{|||{zzyzz{zzz|{|{{{z{{|yzzz{|||{|z|{zz{{zzzz{{|z{{{{{yyz{z{z{|{{{{{{{zzyz{zz{z{z{||z{zzzzzz{zz||{z|z{{{zzzzz|z{z{{{|zzzyz{yzz{zzz{{|{zz{z{zyzz{z{{{{{{zzx{yzzzzz|{{{y{yzzzzz{|{{z{z{z{zzz{zzzzzz{|{{zzzzyzzyzz{{z{{z{yzz{yzzz{{{{{{zzyzyzzzzz{{{z{z|{zzz{|yyz{z{{zz|{zzz{yzz{z{z{{{|zy{yzz{{z{{{z{{{zzz{zyzz{{{|{{|{y{zz{z{z{{z{{{|{{{|{{zz{{{{{z{{z{z{{{zzz{|{{|z|zz{z{{{zz{{|||z{{z{|zz{{{}|{{{{|||z{{{{zz{|{{|{|{{zzz{|{{||{{|{|}{{zzz|{{{||{||||z{{{{z{{z|{{{|||{z{|{z|{{|{|{||{|{{{{z{z{{{|}{||{{{{{{{{|{||{|{|{{z{|{zzz{z|{{||{zz{z{{{{{|{{{||{z{z{zz{|{}||{{{{{z{{zyz{{{{|{{|zzz{zzz{{zz{{{{zzzzzzz{{{z{z{z|{{{zz{{z{z{{{z{{|zzzzz{zz{{{{{|{{z{{{yz{zz{zz{{{z{zzzzzzz{{zz{zz{zz{zzzz{zzzzz{{{zz{zzzyy{{{{{{|{{zzyzzzzz{{z{{|{z{{zzzz{z{zz{{z|z{zzz{zzz{{zz{z|z{yyz{zyx{z{{z{|{yzzz{yzz{{z{{}|{zzz{yzz{{{{{z||{zzzy{z{z{{|z||{{z{y{zy{{{{{{|{{zz{{{z{y{{{zz{z{{z{z{z{zz{{{{{|z{zzz|zz{|{{{z{|{{{{zz{{z|{{{{{||{{zz{{{{|}{{{|{{{{z{{{z{|z||{{{|{{{{{{{|{{{{{|||{z{{{{{|{|{{|{{|{{{{z{z{{|{|||{|}{{{{{{{|{||{|{|{{z{{zz{|{{{|{||{{z{{zz|{{z{{{|||zzzz{{{{{{z{|{|zz{zyz{z{{{|{z{{{{{{zz{zz{|{|{|{{{{z{{{y{{|{{{||{{{{zzz{||{|||z{{{zzz{z{{{{{||}{{{zz|z{{{{{|z{||zzzz{z{z{{||||{}{{zz{{{z{{|zz{|{{{{{{{z{{{{z{{{{{{zzz{zz{{{{{|z|zz{zzz{{{{||{z{{|{{z{zzz{|{||{{{{{{zzzyz{{{{{z||zz{|{z{zz{{{{|z|z{{z{{zzz{|{{{{{{z{z{{z{z{{|||||{|{{zz{z{{{{|{|{{{|z{z{{|{{{{|{|zzz|zz{{{{{{{{|{{z{{{z{z{|{{||z{{{{{z{zz{|z{}{}||{z{{{{{{|}{{|{||{|{||{{|||{{{{|{|{{z{|{{|||||||{|z{{z{{||}{|||{|{|{|z{{|{|{|}{}{|||{{{{||{{|{}}|z}{z|{z{}|||||||z|{|{{z{||||}{{|z{||{z{{{{{|||{|||||{{{|||||}||{{{{{{{{{{||{|}||{{|z{{|||{|{|||{{|zz{{{{}|}{|||{z{z{{{z{|{z{{{|{z{z{{{{{|{{{|||{{{z{{z{{{{||||}{|{{z{{z{{||{||{|zz{zzzz|{|{||||{{zzz{{z{|{z{||{z{z{z|{z{{{{|{|{{{y{z{{|{{{{{|||zzz{{zz{z{||{{|{{{z{{{{{{{|{{{{|{{{zzz{{{{{{z|||{{zz{{zzz{|{{||{{{z{zzz{{y{|{{||{{{{z{{z{|{{|||{{{zzz{{{z{{{{|{|z|{{z{{z|{{{{{||yz{{{{|{{{||{}{{{|{||z{z{|}|||||{{{z{{{{||{|{{||{{|{{|{{{{}|{|{||{{z{z{{|{||{|||{{{{{{|{{|||{}||{{{|||z{||{||||||{|{{{|{}}||}}{|||{||{{{{{}|}|}||{{||z|{|}}}}}|||{||{{|{{||||}}}|{{z|{{{||z{|||}{{|{{{{{||||||}}|{{{{{{|{|||{}|}|{z|||{{{|{||{{|{z{{||{{|||||{{|{|z{{z{z{||{{||||{zzzzz{{|||{|{|{{{{{{{z{{{{{{||{{{{{{{z{|||{z||||{{z{{{||{||{{|{yzzz{zz{{{z|||{||{z|{z{{|{zz{||{{{z{zz{{{z|{|{{{z{||{|{z{{{{{|{|{{{z{{{|{|{|{|{z{zz{{zzz{{{{{|{{{{zzzzz{|{{{{|{|{{z{z{{{{{{{|{|zz|z|z{z{{||}|||z{{{|{{{{||{||{{{z{{z{{{|{|{~}||{{{z|z{||{|{|||}{z|{{z|{|{||||||{{{zz|zz|||{|}||{zzz|{{{|{|{|{||{z{{||{||}|||}{|{zz{z{}|{||}|}||{{{||{{z||||}{}{{{{{|{||{|{||||||||{{||||||||}|||{|{{|{|{}|}|}}}|{||{|{{||{|{|||||{|{z{{|||{|~~}||{{||{||{||||||{{|z{|{{||{||||||{{{{{{{{|{|{|||{||{{z{{{}||||}||{{{{z{{{}{{{{|{zz{{{zzz{{{{{|||{{|z{{{{|{|{{|{{}{|{{{zz{{||{{|{{{{{{{{z{|||||{||z|{{z{z|||{{|{|{{z{|zzz{|{{{{{{{z{zzzy{{{{{|{z{z{{z{zzzz{{{{|{z|z{{zzz{{{|z{{z{{z{{zyz{{|{{{|||{z{{{zz|z|z{{{{z{{{{{zzz{|{{{{|{{{{zzzz{z{{{|{{z{{{|{{{{|{{||{{{{{{|zz{z{z|{z{|{|z{|{zz{{|{{{||{|{{{zz{{{||{||{|{z{{{zz{{|{{|{|{{{{|z{z{||z{||{|{z{z{{{{||{{||||{{{|{{{{||{{|||}||{{{{{z|{{{|||||{{|{{{{||}||||||{z{||||{|{{||}}}|{|{{|||}}|{|{|||z{|{|{|{{}{|||{|||{{{{|||||||{||{z|{|{|{|{{||||{zz{{z|{||}|||{{{{{{{{{{}|}|{}||{|z|{|{{{{|z{{{{{{|{{zz||{||{||{{{z{{{{|{|{||||{{zzz{z{{{{{{{|{|{z{{{{{{|{{z{|{{z{z{{zz{{{{{{{|{zz{{{yzz{|{{|{{|z{z{zz{z{{{z|{{{zz{{z{z{{{{{{{{zz{{zz{{{|{{{z|{zzz{zz{z{{|{{{{{zz{{yzzz{{{{|{|{zzzxzz{{z{{z{|{z{{z{{zz{z{{{{|{|z{{zz{{z{{{{|{|{{z{{zz{zz|{{{{{|z{{{{z|{{{z{{{|{zzzzzzz|z{{|{||{||z{zz{{z{{{{{{|{{{zz{|z||{{|||}{{{{{{{z||||{|z|{{{z{|z{{||{|z}|{{{{z{|{||||{||}|{{z{z{{{|||||||{z{{{{|z||||{|}||z{|{{{|{|||{}||}{{{{||{{|}|}|{||{}|{||{|||||{|||{{{|{{{|}{|||}{|||z|{|{{||}||||||{zz{|{{{||||||{|zz{{{{||||{||{{{{z{{{{{{|{|{{{{zzz{{{z|{|}||||{{z{{z{{{{{{||{{{{{{{{{y{||{{|||{{|{z{z{{|||{|{|{{{{z{zz{{{{{{{|{{{z{z{{{{{||{|{z{z{{{{{{z|{{{{{z{{z{z{{{{{|{|{{{{zy{z{z|z|z{{{|{z{z{zyz{||{|{|{|{{zzz{zz{{{||{|{{z{{y{zzzz|{{{{{z{zzzzz{{{{{|{{z{{zz{zz{z{{{||||zzz{{|z|z{{{{{|{z{{{z|z{||{|||||{{{{{||{|||{{||}|{|{z{{z{}{|||{zz{z{{{{|{|||{|{{{|{z{z{||{|||{|z||z}||{{|||}|||z||{{{||||||||||||z}|{{{||}}}|||{{|z|{{{|{|{|||||{|{{|||{{|{}{|{}{{{|{{{|}||}|||||||{{|{||}||||||{|{|{||{}|{||}||||{|{||}|{|||||{|{z{{{|}{|{||||{|{|{{|||||{|{}|{{{}{{zz{{||{{{{{{z{{z{{{||{{{||zz{zzzzz{|||{|}|{{{{{{{z{{|{{|{||{{{{{z{{{{{z|{{z{{{{{zy|{{|{{{|z{{z{z{z|{{{{|||{{{{{{{z{{{{{{{{{zz{z{z{{{|{{{{|{z{{{z{{{{{{z{{{|zz{z{z{{{{{||{|{z{{{zzz{{{{{{|{zzz{zzz{z{{{{{{{{{{zzz{zz{z{{{}{{{{{z{z{{z{|{{{|{z{z|z{{{|{{{||||{{{|zzz{{|{{||{{{|{{{{{|{|{||||z{{{|{zz{|{|{|||{{z|{z{{|{|{||||{{z{{{{z|{{|{{||z{|{{zz|{{||||||{{{{{{|{|{||{||}z{{{{|{{{}||||{{|{{|{z||}||{|}||{{|z{{{{||}{|||||{||{|{{{}{|{|||||{|{{{||||||||{||{{{{{{|{||||}}|{}{{{{|{||||}||{{{{{{{{|||{{|}|{|zz{|{{{||{{{|||{|z{{{{z|{|}{||{{zz{z{z{{|{}{|{|z{z{z|y{{{{||{|zyz{z{{z|{|{{|{{{z{z{{zz{{|{{{|||{{z{z{z{z{{{{{}{{zz{{{z{|||{|{{|{{{zzz{{{|{{||{{{{{{{yz|zz{z|{{{{zz{zzzz{{z{{{{{{{zzzz{{z|{|{{{{{zzz{{z{{{{|{{|{z{z{y{z|{{{z{z|z{yz{{z{{{{{{{|{{{zz{{{y{|{{||{{{z{{{z{|{||{{z{{zz{zzz{z{|{z{}{|{zz|zzz{{{{{{|{||{{{|{{|{|{|{|{|{{{{{z{{{||{z||{{y{|{z{{{{{{{||||{{{zz{|{||{{||}|zz||{{z|}|{{|}|||{z|{z{||{|||||{|{|{{{||||{|}}|{{|||||{|{{{|{||||{{{{{{{|}||}{|||||{{{|{{}||{{||{{{{||||{|||}|}|{{{}|{{z||||||}{{z{{{z{{||{|}||||{{z{|z|{|{|||{{z{{{{{{{|}}|{{{{{z{{{zzz||{z{||{{y{z{{z{{|{{z|{{z{{{{{{{{|{|||{|{{z{zz{|{{z{{|{{{{zzz{z||{|{||{z{{{zz{{{|zz{|||{z|{zzz||||{{|{{{{zy{z{{|{{{{|}{zz{z{z{z{{|{|{|{{{{z{zzzz{{z|{{{{z{zz{z{{{{|{{||{z{{{{|zz{{{{z{{{zzzz{z{{{{{{||{y{{{{zzz|{{{||||{{{z{{{{{{{{||{|{{{{{|{{{{{{|z||{{{{{{{{||||{{{{{z{{{{{{{}{{|||{{|{{{{z{|{{}|{{{{|{{||{{|||{{|}z|{{{||{{{|||{|}||{{z|{|{|{{{|||}{{{|{{{{||||{{|||{|||{{{}}||{|||{|{{{{{|||{|}||}|{||{|{{{||}|{||{{|}|{{{|{||{||{|{{|{{||||{{z||}|{|{{|{||{|||{|}{{|{{|{z{{{||||}|z{{zz{{||{}{{||z||{|{z{|{|||{||z{{{{|z{{|{{{|{{{{{z|z{z{|{{|{||z{{z{z{{{{{{||{||z{{{{{{||{|z{|{{|{{z{{z|{||{{{|{zzz{z{{{{{{{{{||{{{{z{z{{|{{||{{{z{{{{{{{{{z{{{zz{z{zz{z{|{|{{|{{zzzzyz|{||{z{{{z{z{|{zzz|{{{z|z{zz{yzz{{|{{|{{{z{{zz{zzzzzz{|{zz{z{|zz{{{||{|{{z{{zz{{{{|{|||||{{zz{{{z{|{{{|{{{{zz{zz{||{{||||{|{zz|{{{{{||||{||{{{{z{{|{{{|z{||{{{{{z||{|||{{{|{{z{{z|{||}||{{|{{{|||||||{|}{{||z{{||}|}||||}{|||z{{||||||||{{|{{||{{|{||}{}}z{||z|{}|||{|||||{{{{{{}|{}||}||||{||{|||{||||}}z{|||{{|||}|||||{|{{{|||{{|{{||{z{{z|zz{||{|{|{|{{{{|z{{||||||{zzzzyzzz{{{|{{|||{{{zzzz{{{z|{}|z{{zz{{z{|z{{{{|{z{{{{zz{{{{z{{|{{{zzz|z|||{|{{|{{zzz{zz{{z{|{{|{{{{{zzz{{{{{|{{{{zyy{zzz|{{{{{|z{zzz{{{zzz{{zz|{y{{yzz{z{{z|z|{{y{{z{z{z{|{{{{{{z{y{z{zz{{{z{z|{{zy{zzzz{z{{||{|z{z{z{{zz{{{{|{{{{{{z{z{|{{|{{{{{z{{zzz|{z|{|||{z{|{{z|{|{{{{{|z{{zzz{z{{{||{|z{{{{|{z{{{||{|||z{||{{|{||{z{{|{||z{zzz{{|{||||{{{z{z{z{z|{|{}||{{{{{|{{||||}{{{{z|{z{|z{|}||{}|{{{zz|{{{||||{{||{{{{z{|{||||}|{{|||{{z||}|{{||||{z|z||{{{|{|||}|{{{{{{{{}||||||z|{{{{|{{{|||||||{{{|{{z{|{|{{|{{{{|zy|z||}|{|||{{{{z{z{{{{|{{{|{{{z{z{{{|{{{|{|{{{{{z{z{{{{|{|{{{{z{z{{{{{{{{{|{zzzyzzz|||{{{{{{z{zzzzz{{|{{|{{|{{{{{{zz{|z{{|{zzzz{z{{|{z{{{|{z{zzzz{z{|{{z|{z{z{{zzzz{{|{|{{{{z{{y{{zz{|{{|{{zzz{{y{zz{{z{zz|{{zyzzzz{{zz{{{|{z{{z{zz{|{|{{{{{{{{{{{{{{{{{||||{{|z{{{|||{{|||z{{{z{{z|||{{{{||z{|{z{z{|{|{{}{{z{z{{zz|{|{|{}{|{{{{|{{{||{|{z{|{|{|{{{{{|||||}{|{{{{|{||||||||{{{{{{{z||{|||}||{|{{{{{|||{||}{{|{{{z|{|||{|||||{{|{{|{{|{||}|{|{||{||{{|}}||||}{{{{{}{{|||||}}}{{{{z{{{||||{||{z{{{|z{||{|||{|{|{{{z{z||z{{{{|{{{{z{{z|{|{}|{|{{{{{{{zz||{||{{{z{{{z{{{{{{z||{|{zz{{{{zzz{||}|{zz{zzzz{{|{{||{|{{z{z{z|{{{{{|{|{z|{{z{{{|{{|||{{{y{{{{{{z{|{{{{{{zz{zz{{{{z{{{zz{{z{{{{{|{|||{z{{zz{{{{|{{{z{|z{{|z{{zz{{{{{||{{|{z{{z{{{|{|||z{{{{zz{{{z{{||||z{z{{zz{{{{{{|{|{z{{{{{|||{{{||||{zz{{z{|{||{||z{{z||{z|{|{{{{|z||z{{{{z{||}|{{|z{zz{{{|||{{||||{{{{z{{||||||||{{||{{{|{{||{}|}{||z|{|{{|}|{||||z|||{{{||{||||{}{{{{{{{||||||}|{{{{|{|{{{|}|||||{{{{{{{}}||||||||{|{|{{||}}{}{}|z{{|{{{||{{}|{|{|{|||{{|{|||{}|{|{{{{{{{}||||||}{{|{z{{||||{{||{|{z|{{{{||{}||{{z{|zy{zz{{{{{|||{z{zzz{|{|}{|z|{z{zz{{{{z{{{{{{{{{{yz{{{{{{|{||{{zz{{|z{{||{|||{z{z{{{zz{{{{{{|{{{z{{{|{{|zz{|z{z{{z{{{z{|{{|{{zz{z{{{{{{{|{{{{zz|z{{zy{{{{{z|{{{{{{zz{z|z|{||z{{z{{{{zz|{{{|{{{{{z{zz{{{{{{||{{z{z{zzz|{{}||||{|zy{zzz{||||{{|z{{{{{z{|{z|{|{z{{{{{|{{|{||{{{||{{{{{{{|{||{||{{{{{{zz{|{|||{|{|{{|{{z{{{|{{{|||z{{{{{{|||{}{{{{|{{{{{{{{|}|}|}|{||{z||{|||||{{{{{z{|{|||{|}|||{{{{|z}|{||||}}|{{{{z||||||||||}{{{|{{{|{{|||||{{{z{{|{||{|{||}|||z|{{{{|{|{|||{|{{{{|{z{{{{||||{z{|{{{z|}|{{{||zz{z|z|{|{}}||{z{zzz{yz{{|{z|z{{z{{zzz{z|{|{{{||{z{z{{{{z{{{{|||{z{zy{{zz||{{{|||{z{zz{{{{z{|{{|{|zz{{{{{{z{{{{{z{{zzzzyz{{{zz{{z{z{z{{zz{z|{{{{{z{z{{{{{z{{{{|{{z{z{zyzzz{z|z{{{z{zyzzzz{{{z{{|{z{z{yzy{{zz{{{{{zzzzzzz{|{{{|{{{{zz{z{z||{{{{{|{{zzzz|{{z{{{{||{zz{{z|z}{||{z||zz{z{{z{||{{{{{||z{|zz{{z{|{{|{{{zz{{{{{{{|{{{}{{{{|z{{z{|{{{|{|{|{{||{{{|{|||||{{{{{{{{||{}{||||{||{{z{{|{||||{|{{{{{{{|||||{|||{|{{{||{|{{{|{}||{{{|z{|}}|{{||{{{{{{{|}{|}{||}|zz{||z|||||{|||{|{{|{{||{{|||||{|{{{{{{z|{||{|||{z{{{{z|||||{||{z|z{{{z||{|{{|{{{{zzzzz{{{|{z{|{{|{z{|{{zz{{{{{|z{zz{zz{{{{||||z{{z{{zz{{{{z{{{{{zzz{{z{{{{||{|{z{z{zzzz{{{{|{z|zzzz{z|{|{{{{z{{yzz{zz{||z{{{{|{zyzzyzz{{z{|{z{z{zzyz{z{|{z{{|{{{z{zzzz{{z||{{zzzzzzz{yz{{yz{z{{{{zz{zzz|z{{{|{z{{z{{{zzzz{{{{{{z{zz{{{{|{{|{{{{{|z{zz{|z{|{}{|{z{{{{{z{|{|{|{|zz{{{z{z||||||||z|{{zzzz|z|||||{|{{{{{{{{||{{||{z{{{z{z{}{||{{||{|{{{{{{||z|||||{z{{{{{{|||{||}|{|{{|{{||||{||||{{|{|||{{{}{|||{{{{{|{{{|}{|{{}{|{{{{|{|||||||}||{{|z{|||{{}}{|||{{{|{|z||{||{||{{|z{{||{|{|||}|{zz{{{{z||{|{{}{{{zz{{}{{||{{|z|yz{{{zzz{{{{zz|{{{zz{{zzzzz{||z|{{{zzz{z{|z{{||||{{zzz{{z|||{z{{{{{{zz{z{z{{{{{{{zzzzz{z{{{{{||z{{{zz{z{|z|{{{z{{{{yyzz{z|{zz{{zzzzz{yzzz{{|z{{zzzz{zzy{{z{z{{||y{{{{{{zz{{{{|{{{{{{{zzzz{{z{|z{z{zzzzzz{{z{{|{{zz{{z{y{{z{{{|||{|z{zyz{z{{{{||{{z|{zz{z||{|{{{{{{{z{zzz|||zz{{|{{{|z{|{z{|{{{|{zzzzz|{{{||{{{|{||{{{{{{{|{{|{{|{|{z{{{z{{{{|||{z{{{|{{{{{{|{{{||{||{{{{{|}{||{|||{{|{{z}|{|{}}{{{{z{||{{|||}||||{{z{{{|{|||{{||{{|{{{{{{{|}{|||{{{|{{|{{|{{|}{}}{z{{{{{|{{||{{{{{{{|{{z||{|||||z{{z{z{{{|||{{{|z{{{{z{z{||{{{{{{zz{zzz{z{{|{z{{{{{{zzzz{{{|{{z{{zz{{{zzz{z|{{{{{zyz{zz{z{{|{z||z{{{zyzyz|z|z{{|zz{zz{{|z}{{{{z{{z{{{zzz{y{{{{z{{zzzzzy{yz{|{{{|zyz{zzyzz{{{{z{{zzz{zzyz{|z{y{|z{z{z{{{z{{{|{{{{zzzzyzz{{{{z{z{|{{zzzzzzz|{{z|{|{yzzz{{zz{{{z{{{{zz{z{zz|{{{}{{}{{zy{z|{{{{|{{{|{|z{{z{{z{|z|{{{{z{{zz{zz|{{z{{{{{zzz{z{{{|{{{{|{{{z{|z{{|{{{{{|{{|{|{{{{|||{}||z{zz{{{{{{{}{|}{|z{{{z{z}|||{{|{{{{{z{{{||{{{}{{{{|{z|{{{||{|}}{z{{{|{{{{|{|}|||{{|||{{|z||}{||z|{{|{z|{{|{}|{|||{{|{zz|{{{|||}||{{{|{z|{{{}{||||{|{zzzz{|{|z|{|{{{z{{|{{|{{{z{|{{{z{z{z{z{z{|||{{z{z{y{{{{z{|||{z{z{{z{{{z{{{||{{z{zzzzz|{{{|{|{{{yz{zz{z||{{|{z{{zz{{{z{{zz||{zzz{{{zz{{z{zz{z{zzzz{zz{{{{z{{{yzzzzz{{z{{{{{{zz{{{zzzz{{{zz{|{{{{zzzzz{z|{{z|{zzz{{zzz{z{zz{{{z{{zzz{{{{zz{{||{{{z{{zz{{{|z{{{{z{z|z{zzz{{z{{}{{{|{z{z|{{{{|{|{z{zzzzz{|{{|}{{{{{|{z{z{{{{{||{{{||{|zz||||{{{{|{{zz{{{{|{{z{|{{|{{|{z{z{{||{||{{{{{{|{||{|||||{{{z{zzz{||{|{|||z{z{{{{{|{|||||{{|{{{||||||}|{||{{{{{{{{||||{|||{|{{{z{{|{|{|||{{{{z{y{{||{{|||||z{|{|{|{||{{}|{{zz|{z{|{{||{|{{|{z{{z{{|{|{|}{{z|z{z{{{{{{{{{{{zzy{{z{y{z{{||{zz{{{zyz|{{|{{|{{zzzzzzz||{|{{{{{{zzz{y{{z||z{{{{{{z{zz{|{{|{z||zz{z{z{z{{{zzzz{zy{zzzzz{{{z{{{{zz{zzz{{{|{|{{||{{{yzzzz{{z|z{|{{{zzz{zzz{z|z{{{zzzzzyzzzzz|z{z{zz{z{zzzz{z{||{{{{{zzz{xzz{{{|{|zz{{z{{y|z{{{{{|{z{{{z{y{{{{{||{{z{zzz{z{{z{{{{{z{{z{zzz{{{{{{|{{{{{zzz{{{{{{{{{{{{{z{{z{{{}z||{{zz{zzz{|{{|{{{|{z|z{{zy||||{{{|{{{|||{zz||||{|{{{{{{|zz|{|{{{{||{{{{{{{{||{}||||{{{|{|{{|||}||||{{{z{{|||||||||{{|{{{{{|{|{|||{{{z{{{{|{{}{|}||{{{{{z{{{|{{|{||||z{{{{{{{{|{{|{{|z{{{{|{||{{{{|{zz{|{{z|{{{{|{{{zzz{zz{{{{z||{|{{yz{{{{{{||||{{{{|{{{{z{|{{{||{{z{{{{yz{{||{{{|z|zy{{|{{{|{{{{}{{zzzz{z{|{{||{{{z|zzz{z|{{{{{|{{zzz{z{z{|{{{|||{{{z{zz{{{|{{|{{z{zz{zz{z{}{|{{{{z{{z{zz{{{||z||{{z{{zzyz{{{|{{|{{{zzz{zz|{{{||{zz|{{{{z{{{{|{||{|{{{{{z{|{|{{||{z{|z{{{|{{|||||{{{{zzz{{||{{|{|{{{z{zyz|{||{||{|{{{{{{{{{{{|{||{{{{||{|{{{|{||{{|{{{{z{|{{|{}|||{|{|{{{{||||{||{{{{{{{{|||{~||||{{||{|z||||}}|}{|||z||||}}||}||~{|{{||{{||||{{||||{{{|{|||||}||}{{{||{|{{|||}~|||{||z|{|{||||||{{{{{{{{{||}{|||||{z{z{z{|{|}|||{{|{zz{{{{||{|{|{zzz{zz{{{{|z{{|{zz{{{{z|{{{{{{|{{zz{{zz{||{||{{{{{{z{{z{{{z{{{{{z{zzz{{{{{{{||}z{{{{{{z{{{{{|{{{{{{z{zz{|||z{{|{{zzz{zz{{{{|{{|zz{zzz{z{|z{{{|{{zz{{zz{{{|{z{{{zz|{{z{{|{|{z{{|{{{z{zzz{{z{{{{|{{zzzyzzz|z||}|{z{|{{{zzz||{||{{{|{{|y{{|zz{z||{}{{z{{zz|{{{{}||{{{{z|zz||{{{|{{{{{{{zz{{{{|{|{|zz{z{{zz{||{{{|||{||{{{{{|{|{||{|z|{|{z{|||{||||{{||{{{||}{||{||||{{|||{{|{{||{{{|{{||{z|}|{||}}|{{{{|{{{|{{||{|||{{{|}z{}}{||||}|{{|{|{||}|||}|}{z{{{{{||||{|{|}{|{}{{{{{||||||{|{z{{{{{{||||}z{z{|{|{{|{{}|{||{{zy{z{{|{|{|{|{|{zz{z{{z|{{z{{z{zzzz{{z{z|{||{|{{{{{{zzz{{{||||{zzzzz{z{||{z{{|z{{{zz{z{{|{|{z{{{{{{z|{{{{{z|{{{{{z|zzyz|{z{{{zz{{zz{zz{{z{z{|{z{zzzy{zz{z{{|{|{{{y{zz||{{{{{{{{zzzz{z{{{|{{{{|{{{zzzzz{{{z{{z|z{{z|{{zz|{{{|{|{{{zzz{z{|{{|{|{{{{z{z{{z|{{|{||{zz{{z|z{{{|{{||z{{z{zz{||{{|{{|{{{{zz{{||{|||{{{{{z{{{z{|{|{{}||z{z{{zz||{{||{{{{zzz{{{{{||||}{z|{||{||{{|}{{|}||{|{|z||{|||||{|{{z{|{{{|{||||{|{{{{{{|{|{{{|{}|{||{|{{|}||||}{{|{{z|{{|{|||}}||{|{|{{z|z{{||}|{{{{|y{{|{|||||}{|{{{z{{{|{{{||{|{{|{{{z{|||||{{{z{{zy{{{{||{{{|{zz{{zzz||||{||{{{{z|z{{|{|{{{|{z{{{zzz{{||||{||{{{{zzz|z{{zz{||{{{zzzz{{{{{z{{z{z{zz{zz{z{{||{|{z{zzz{{{{{{z{|zz{zz{{{{{{{{{z{{yyzzzzzz{{|z{{z{zzzzzzz{{|z{z{{z{z{zzzzz{{{{{{|{{{zzz{{z{{{{{{{{zzzzz{zz{{{{z|{{z{z{zzz{{{{{z{|{{{{z{zz{{|{{{{{{{z{zz{{{|z{z{{{{z{{{y{{z{{{{|||}{{{z{z{{{|{||{{|{z{{{{{z{{|z||{||z{{{{z{{{|{{|z|z{{{|z{{{{||||}|{z{z{{|{||{z||||{{z{z{{{{|{|}|}|{z|{{z{||||{{|||{{{|{{|{{{{}}}{|{|z|z{{{{}{||||||{}{{{{{}|||{{|}|{|{{{z{{|{{|||||{{{{|{|{||{||||{{{{|{{|{{{|{|}||{z|{z{{{{||{|||{y{{{zz{|{|{{{{z{|z{zzzz|{{{{z||{{{{{zz{{z|z{|{{{{{zzzzz{{z{{{{{{{z|yz{zz{|{zz{|z{{z{zzz{{|{{{{{{{{zzyz{{{{{z{{{zzzzyzyz|z{|zz{{yzzz{{zzzzzzz{z|zzzzzzzzzzzzz{|{{{zzzzz{z{{{{{{{zzzz{zz{z{{zz{|{{zzzzzzzz{{{z{{{{yzzz{zzz{{|z{|{{{{z{{zz{{{{{||{{z{y{z{{{||{{{{|{z{zyz{zz{{|{||{{z|zyz{{{{|{{{|{|z{{{z{{{|{{||{{{{{z{{z{{{|{{|{{{z{{{{{{{|{{||{|{{|{{|z|||{|||||zz{{{{{{|{||||||{z{{{{{{|{{||{||{z{||{|{{||{|||}{{{{{z{{{||||}|||{{{{{|{{|||||}||{{|{{{|{||}||{{{{zz{{z||{{{{|||{|{{{{z||{{{}||||{{z|z{z{|{{|{||{zz{{|{z{{{||{|{z{{{{{z{{{|{{{{{{zzz{{zzz{|{{}{{{{z{zz{{||{{{{||z{{zzzz{{|{{||||{{{{zzz{|{|{z{{|{{|zzz{z{{{|{{{{{zzzz|zz{{z{|{|{|{{zz{z{{z{z{z{{|z{{zzz{zz{{||{{z{y{zzzzz{{z{z{{{zz{yyzzz{{zz{{{{{{{yzzzz{z{{{|z{z{zzzzz{{{{{{||z{zz{{zzz{{z{{|{z{{zz{zz{{{{z{|{{z{z{zzz{|||{|{{z{|z{z{{|{{{{z{|{{{z{{{{|{|{|{|||z{z{y||{{{{||{{{{{{{{z{{|{{z|}{{|{{{{zz|{|{{{|{{||{|{zz|{{|||{{{||{|y{{{{|}|{||{{{{z{z||{||{{|||z|||{{{{}|{{||}{z{{z|||{}|||{||{{|{{z{|{||{{|}||{{{z{{||||||{{{}{{||{{||||{|||}{{{||{{{|{||||||{|{{{{{z{||{|||||{z{zz{{||{{||}||{{zzz{{{|{{{{{{{{{zz{{z{||{z{|{{{z{z{z{{|{{|{{{{|z{z{{z{{{z{{||{{|{{{zzz{||z|{{{zzyz{zz|{{{z{{|{{{zz|{y{{{{{{{}||zzz{{{{{|z{{{{{{zzzz{{{zz{zz{{{zzzzz{zzz{z{{{{{{zzz{y{z{{{z|{{{{{z{{zzz{z{{||zz{{z{zzy{zzzz{{{{z{z{z{{z{{zz{{{{{{zzz{yz{{{||}{|zzzzz{{{{{{{{|z{z{{zz{{{|z|{{}{{zzz{z{{z{||||{|{{{|{{|{{|z{{|||{{{{{z{{|{|{|||{|{{|{zz{{}|{z}||z{{{{{{{{{|}||||{{z{{{{{}}z|||{|z{{{z{z{{|}}{{||{{{{{{{||||{{||{|{{{{||{||{|{|{||{{z{{|{||||||{|||{{{{|{||{|{|{{|z|{{{z{|{{||{}|{z|{{|{|}|{|||{||{z{{{{{{|{}|{||{{{{zz{{{{{|{||{{{|{{z{{||z||{{|{{{{z{|{z|||{{z|{yz{{zzz{z{{{{{{{{zy{zzzz{{|{{|{{{{{zzzz{z|{{z|{{z{zz{{z{{{{{z{{{{{zzyz{{||zz{{|zzzzzyzy|z|{z{|{z{zz{z{zz{{{z{|{zzzzzzzz{z|{z{|{z{zzyzyzz{{z{{{{zzz{zzzz{{{{z{{||{zz{zzzz{{z{{{{zzzzyzzz{|{z{|{{z{{z{zzy{z{{{{|{{{{z{zzzz{|{{{||{z{{{{z{{{{{{{||z{{{{{{{{{{{||z{|z|{{{{z|{|{||{{{{{{|{z{{{||{||{{{{|{|z{|}||{}{{{|z{|z{{{{||||{{{|zz{{|{{}|{{||||{{|zzzy||||{||||z|z{z{{{|{|{|{{{{z|{{{{|{{|||||{|z{{|{{{|||||||{||{{z{{|{|{{||||{{{{z{{|||{||{}{{z{}{{|{|{|||}{|{{z{{{zz|{{{{||z|||{y{{{||||{|{|{{z{z||{|{z{{{z{zzyzyz{zz|{{z|{zzzzzy{z{zz{{z|}|z{z{z{{|{{{{||{zzzzz{zyz{{{{|{||{{zzz{z{{z{{{||zzzyz{z{{{{zz{{{{z{{{{{z{{|zz{zzz{zzz{zz{z|}{{|{zz{z{z{z{{{{z{{{zzz{zzzz{{{{{{|{z{z{z{zz|{z{{|{|{zyz{z{zy{{{z{{{|zyzzzzz{z{|z{{{{zz{z{zzz{{{{|{{z{{{|y{z{{{{{{|||{{zzy{{{{{{{{{}{{{zz{{z{{{{{{{{{{{{|{{y{{|||{|{{z{z|{|z{|||{{|{{z{{{{z{{|{z{|{{{{zz{z{{|{z{{|{{{{|{{{||{|{||||{|y{{{zzz{|{|}|}||z{{{z{{{|||{|}}{{|{{|{z|}{||{||{{{||z|{{z|||{{|{|{|{{{{{|||{|}||{{||{z{{{{}{|||||{{{{{|||{|||||{{{{z{{{z|{{||}|z{{{{z{{{{{{|{||{{{{z{{{||{||{{{{{zz{z{{{{{{{|{|{|y{zz|{{{{z{|{|{{z{{z{z{{{{{{||{z{zzzzzz{{{z||{zz{z{z{zz{{|{{{{{z{zzyz{{{{z{{{{{zz{{{yz{z{y{{{zz{{zyz{z{{y{{z{{zzzzzzzzzzzz{z{z{zzz{{yz{z{{{{{z{z{zzzyzz{{{{z{{{{z{zzzzz{{{{{zz{zzyyyzzzz{{{{{{zz{{z{{zz|z{{z{|z{zzzzz{{{{{{{{{{{zzzzz{{z{{{||{|z|yz{{z{{|{|||{|{|zz{z{z{|{{|||{{zz{{{{z{{{{|||{{{|{{z{|{{{{{|{||{{zzz{|z{{{|||z{{{{{{{||{|||}}|z{zzz{{||{||{{{{{{{{|{z||||{{}{z||{z|{{|{{{{||{|{{|{{z|{||{||||{{{|{z{{||||||||{{{{z{{{{|{z}{}|||{{{{z{z|{{{{{{zz{z{zzz|{{||||{|{{{{{{z{|{||{|{z{z{{z{{|{|{|{{{{{z{z{zzz{|z|||{{{{z{{{z|{{{|||{|{z{{zzz{{{||{||{{{z{{z{{|{{{{|{{{{{{{zz|{{|z{||zz{z{zzyzz||{||{{z{zzzzz{{|{{{{z{zz{zzz{z{z{{{|zz{z{{zzz{||{{{{{zzzzzzz{z{|{|||{z{z{zzzzz{z{{{|{{{{{yyzz{{zz{{z{|zzzz{{z{z{{{|{|{z{z{{zz{{|{{|{{{zzzz{z{{|{z{{|{{{{zzz|z{{|||{{|{z|{z{z|{|{{{|{||{{{{|z{{||}||}|{|{{{zzy{||{{{||{z{{z{{|||{{||{||{{{|{{{|{{|{{||{z|{{|{{||{||{|}{z{{z{{{{||}||}||z{{{{z{{|}||||}{{{{|||{{}{}}|{||{{z|{{|{}|{}|||{|||{{{||}||{|}|{{z|{|z{|{|||}|}{{{|{{{z||{{{|||{|z{{{{{|{|{||||||z|zzzz{||zz{||{{|z{{z{{{|{{{{{|{|z{z{{zz|{{{|{z|{{{z{{||{|||{||{{{{{{{|z{z|||{{z{{zz{{|{||z{{{{{{{{z{z|z{{{{{|z{{{{{{y{|{z{{{{z{{{|zz{{{{{{{{{yz{{zzzzz{z{{{z{zzzzz{|{|{{|{|z{{{z{z{zz{{|z||{{zzz{zzzy{zz{|{|{zy{zzzzy|{{{{{{|{z{z{{zz{{{{{{{{z{{z{{z{z{|{z|||{{z{|{{{|{|{{{|}|z{{{z{{|{{{{||{z{{{{{z{{{{{|z|}{{{z{z{{{{|{}||{|zz{{z{z|{|{{{||{{{{{{z{||{{||{z|||{z{|{|||||||||{||{{{|}||||||}{{{|z{z{|}{||||{|z{{{{{|||||||}|||{{{|{}{||{|}||}{||{|{|{}{|||}||||{{|{{}{||||||{{|{{{{||{|{{|||||{{||z{||{||}||{|{{|{{{{{|{{||}|{zz|z{{{|||z{||{{{y{{{z{{|{|{|zzz{z{{{zz{|{{{{|{zzzz{zz{{|z{||{{{{z{{y{z{z{{|{{{{{{{{zz{{{{{{{|{{{z{y{z{{{}|{z{{{{zzz{z{{{{z||{|{{{zzzzz||yz{|{{zzz{{zz{{{|z|{{zz{z{{z{{{|{{z||zz{zz{yzy{|{{{{{|{{{y{z{{{{{|{|{z{zzzz|zz|{z{||{zz{zzz{zz|{{{||{zz{z{{{z|{{z{{|{zz{{{{{{z{{{{{||{z{|{z{z||{||{|{{{zzzzzz{{{{||{|{|{{z{{z{{||{|{{{{|z{{z|{{||{z||{{{|{{z{|||{||{{|z{||{{{|||}||{|{||{||z{||{||}||{{|zz{z{z||{|||{|{{{zz|{|}|}}|}}|{|{{||{|{|{||{}}{{|z{{{{|||||||||{{{{{{{}||{{}{}|{{{{z{||{|{|{}{{z{}{{{||{{||||{|{{{{{z{|||||||{{||{{{{{||}||{|z{{|zz{z{|{{z{{{{{zz{zzzz||{{{{|zzzzzz{z{{|{|{{zzzzzz{{z|{z{{z|}|z|zzz{{z{{|{z{|z{{z{y{{z{{{{z{}{z{yz|{z{z{{z{{{{{{z{{zz{{{{z|{{{z{{z{zz|{z{{|{{z{z{zyzz|z{|{{{{zzzz{{yzzz{z{z{{zz{{z{z{z{{z{{zzzzz{zzzzz{z{{{|{{zzzz{y{z{{{z|z{{z{y|z{z{{{z|{|{{zzz{z{{{{z{z{{{{z{{{{{zz{{{{|||{{{{z{z{{|{{{{{{{{{{{z{z||}{{||{z{{z|{z{{|||{{{||{{{{z{{{||{{{{{{{zzyz|{{{{{|{{|z{{{||{{|{{|||}{{z{{{z{z{|{|||||{z|{{{|z{}{{{||}|||{{{{{{|{||||||{|{{|{{|}{|||||{{||z{{{|||||||||z{{{{{{z{||{||{|{z{|{|{|{||{{}|{{}{{z{{{|{||{|{{|{{z{{{{|{||{{{{z{|{{z{|{{|{z|{z{zyzzzz{{{z{{{{{zzzzz{zzz{{|{||zzy{{zz{{{z{{{|{{zz{{zzz{|{|{{{zz{zz{yzy{|{|z{zz{zz{{zzy{|{{{{{{{{zzy{zz{{|z{{{z{{zzzzyz{{{z{{{{zzz{{y{{|{{{{z|{{yz{yzyzz{{z{{{}zz{zz{zz{z{|{{||{zz{zzzzzz{zz{{{|zy{{z{zyz{zz{{{zzzz{{z{|{{{{{{z{z{zzyz{{|{|{{{{zz{zzz{|{z{{{z{{{{{{{{zz{{{{{{|{z{{z{z{{{|{{|{{|{{z{z{yz{|{|{z{{|zz{{{y||{{z|{||{{{{zzzz{|||{|{|{{z{{||{|||{||}||{{{yzy{z|{||||{|z{z{z{{||{{||}|z{z{{|z||||||||{}{{||{{{||{{{||||{{||{{{{|{||||||{{{{|||{{{||{||{{{{{{{||||||{||{|{{{{{{z||{z|||{{z{{{|zz|zz|{{|z{{{z{{z{{|{{z{{zzzz{z{z{{{{{{{{{z{zzzzz{{{{{}{||{z{{{z{{z{{||{{{zz{{zz{{{{{{z{{{{{zzzzz{{{{z|{|zzzzzz{zy{{{{{{{{z{{z{zz{{{{{{{{zz{z{zz{{z{{{z{{{yzz{{zz{{zz{|{{y{z{zzzz{||{{{{{z{zzz{zz{{{{{{}|{{zzzz{yyz|{z{{|{|{z{z{z{{{{z||{zz{{z{{yz||||{|{|zzz{{y{{{{{{{{{{z{{{z|z|{{{|{{|{{zzz{{{{|||||||zz{{{zz{|{|{||}z{{{|z{{{{|{|{{||{zz{|{{z||{{{{|{z{{{{{z{{{||{||||z|z{{|z{{{|}||||{{|{zzz{}|{||{||zz{{{{{|||{||||z{{{|{{{{||||{{}||{{{{|{|}|||{|}{|{{z{{|{{||{||{{{{|{{{{{||||}|||{{z|{{{|{|{||{|||{zz{z{{|{{{|||{|z{{{{{{{{{|{z{{{{{{{{{{{{{{{{{zzzz{zz{z{{{z{|{|z{zz{{z{{z{{{|{{{{{zzz{{{{z{{|{{z{z{z{{z{|}z{{{{z{{zz{zz{{{{|{|zz{zzy{zz{z{y{{|{zz{zzyz{|{{z{|{{zzzzzyz{{{z{zz|z{{z{z{z{}|{{z|{{{zzz{{{{z|z|z{{{z{zzzz{{|{{{{{{zzz{{z|z{z{{z{{zz{zz{zzyz{{{{|z{{z{z{z|{{{{z{{|{{{{zzzz{{|{{{|{|{y{zz{{z{{{{|||{z{{zz{zz{{|z||{||z|{{z|z{|{|||{{{z{|{{z{|{|{{{|{|{{{z|{{|{|{z||{|z{{{{|{{||||||{{||{{z{{{|{}|{||{{||{{{{{||{}{|||{{{{{|{||{|}{||{{{|{{||{{{{{||}|{{{{|||{{||}||||z{|{{{{|{||{|{{{z{{{{{{{||{{||}|{|{{{{z{||}||{|{{{z{{|{z|{}|||{}|{{{z|z{||{{{{|{{|zzz{{{||{{{{zz{zzzzzyz{{{zz||{zyz{y{z{{{{z{{{z{zz{{{{{{{z{{{zzz{{z{z{{z{{{{z{{{{zzz{z{{z{z|||yzyzzz{z{z{z{{|z{z{{zzzzz{|z{{{{z{{zy{yzyy{{z{z{z{zy{zzz{|{{{{{{zzz{{zzzzz{{z{{z{zzzz{zzy{|{{{{z{z{zzzzzzz{{z{{z{z{yzz{zz{z{z{{|z{{{z{zzzzz{{z{z{zz{zzzz{{|{||{|zzzzyy{z{{{|{{{{z{{zzz{{|{{{z{{}zyzz{z{{{{{||{{{z{z{|zzzz}|z{{|{z{{{{zz{{{{|{|z{{|{{{{{{{{{||{|{{{{{{z|{{{z{{|{|{z{|zzz{z}{||{{z{{{{{{{z{{||{|}|{{{{{{{{{|{{||||{{{{z{{{{|{|{|||||{{|z{{{{{{{||{{|zz{{z{{}{||{||{{yz|zzy{{{{||{{{||z{{zz{{|||{{{{{{|{z{z|{{z{|||{{{{zzzz{z{z{|{|{{zzzzzz{|{{{y{{zyzzzzzzz{{{{|}|{{{{z{{{z{{||{|{{z{{{zz|{|{|z{|{z{{yzz{y{z{{{{z{{zz{{zzz{{z|{{{{{zzzzzzzz{|z{{{{zzzzy{{z{{zzz{z{{zzz{zz{z{{z{{zzz{{yyzzz{{{|z{{|zyz{{zzz{{{zzz|{zzzzzzzzz{z{z{z|{||zz{zzz{{|{|{{z{{{{{{z{{z|z{|}z{{zzzzz|z|z{{||{z{{zzzz{{zy{|{{|z{zz{{z{{{|{{{{{y|{{z{|zz{{|}}{z{z{zzz{{||zz|{{{{y|{|{{{{{{{{{{z{{{z{{z|{|||{|{z{{z{{|{}{{}{||||{{{{{{z{{|{||||{{z{||{z|}}{|{|||z{{{{{{{{{{||{||z{{z{||z|||{{{||{||{z{{||||||{{{z||{z{{|{{{||}||z|{{{{|||{|{|{|{{{{{{{{{|{|||||{{{{{{z{z{{|{||{{{zz{y{{zz{{z{}|{{z{z{z|{{|{{zz{zzzz{z{{{{{{||{}{{{zz{{z{{|{{||{z{{z{{z{{{|z{{||{{{{zz{y||{{{{{|{z{zzzzz{{{{{|||{{zz{zz{{{|{{|{{|{{{z{z{{|{|z{||{z{z{zz{{{{{|{{{z{{{z{zzz|{{{{{{{z{zzz{zz{{{{{{{{z{{zz{zzz{z|{z{z{z{{z{z{{{|{{{{{z{zzz{zz{{|{{||zz{z{z{{{{|{{{|{{zz||zzz{{|{{||{z{{z{{{{{|}{{||{{{zz{z{{{|{}{}||z{{y{{|{{|||{||z|{{{{{{{{|{{||||{{zzz{{{||{{|}||{{z{{{{{{{||{|}||z{||z{||}|||}|{|{{{|{{{|}{|{}|}{{{{{{|||||{{}{||{|yz{{{|}|}|}||{||{z{{|{||{|}}}|{|{{}{{|{|{||{{{{{|{|{||{|{||||{|{{{{{{|{||{||||{{{{{z{|{{|||||{{{{|zy{|{||{|{{{zz{{{{{z{|{{|z|z{{{zzz{|{{|{|{|{{{zz{zz|{{{z|||{{{zzz{{|{|{{{||{zzz{{{z{{|{{}{|{{{y{zz{{{{{{{{{z{zz{z{zz{||z{|z{yz{{z{{{{{{{||{zzz{zz{y{{|{{|{{{zzzzzz{{|{{{{z{{z{{zzyzz{{|z{|{{z{{zzzz{{z{z{{{{zzzyz{zzzz{{|{zzz{z{|{{z||||{{{{{z{z{z{|{|{|{||{z{|{{|{{{z||||{{z{z{zzz{{{{z|||{{{{zz{z{|{|{|{|{{{z{{{z{||{{{|{{{zz{{{{{{||{||||{{{{{{{{|||||||{{{{{{{{}|{{|}||{{{zz{{z{|||||}{|{|{z{||||{|{||}}{|z{{{{{||||||{{{{|{|{|{{|{|{|||{z|{{|{|{|}{||||{{{||z{{|{z{||}|||{||{{||}{|{||{{{{{{{{z{{{|{}|{z{{|{{{||||||{|z{|{z{{{{||}{|{|{{zzzz{{{{{|{{|{zz{{zz{z{z{{{{{{{{zz{{zz{z{{{|{|{{z{zz{y{{{{{{{{{zzzyz{z{{{{{|||{y{zzz{{z{{z{z{{|{zz{{z{{{{zz{{{{{zzzzzzz{zzz{{{{zzzzzyzz{|{{{{{{zz{zzyzz{{{||{{zz{zzyz{{{z{{{{zzzz{{zzyz{{{{{{z{{z{{{{z{zz|z{{|{y{{z{z{{{{{{{z{{{yz{zz|{{{|{{{{{zzzz{z{|z|{z{|{z{{{z{{z|{|{|{}|{{{{{z|z{|{|||{{{{y{{y{z|{|{{{{{{z{{{{{|{{|zz{{{{zz|{z{{{{{{||{{zz{{{{{z|{z|||}||z{{{{{{{||{|{|{{{{{{{{{|{||||||{{{{{zz|{|z{{{|||{|||{{{||||||{{{zz|{{{{||{||||||z{{{{z{|{{|{}||{{{|{{{{{|{|||{{{z{zz|z{||{{{{|||{{zzz{{{{{{z{{|{{{{{{zz{{|{|{{|zz{zzyzzz{{{{{{|{z{zz{yzz{{|{zz|{{{zz{{z{{{{|{{|{zzzz{z{{{{{zzz{z{y{y{{{{{{{z|{|{{{y{{{yz||z{{z|z{{zzzzz{{{{{|{{zzzzzzz{yz{{{z{{{zzzzy{z{zz{z{{z{z{{{zzz{{{{{{{{{z{zzzzz{{{z{{||zzzzzyzyz{zzzz{|zyzy{z{z{{z|{|{{zz{{{|zz|{{z{||{|{{zzzzzz|{{{{{|{z|zz{zz{|{{||||z{{{z{{z{{z{{|{|z{|{zzzz{|z{|{|{|zz{{z{{{{|{{||{{zz{{{{{{{|z{|{{z{z{{{zz||{|{|{}z{{{{{z{|{z||||{{{{{{y{{{{|z|||{|zz|{{{{{{|{}{|{{z|{z{||{}{{|||||{{z{{{{{}||||}|{{|{|z{||||||||}|{{z{zz|||{{{||||{||{{{||||{z{|{||{z|z{z{||{{||{{zz|{{{{{{|{{|{|{{{{z{zy{{|{{{{{zzzzz{zzz{|z{{{{{zzz{{{z{{{{{{{|z{zzzz{z||z{|{|{{z{zzzzz|{{|z{||z{zyzz{z{z|||{{{{zzyz{zzz{{{z||zzy{zzzzzz{|{z|{{{zzzzzzy{{{zzzz{{zzzz{zz{{{{{{{|{zzz{{zzzz{{{||{zz{{zz{z{{z|{{||{zz{{{zz{z{{{{{{{zzyz{zz{{zz{{|{z{{z{|{z{||{{{{}{z{{z{{z{{||{{||zz{zz|{{{||{|{|{{z{zzzz{{{{||{||{{{{yy{{z|{|||{{{{{z{z{z{}|{|||{|{{z|{{{{{||{{|{z|{z|{|{|{{|||||{{{z{z{{z{{|{}||{{{|{z{{||{{}{|||{zz{{|{||{|{{{}{{{|z{|{{|{|||||{{z|z{{{|}{||}||}{|{{{{{|{|||{||{z{{{|{{|{{{||}{|{{{{{z{{|{{||}|{{z{{z{{|{{z{{|||{{z{{{zz||{{{{{z{|{{zz{|{{{{z||{{zyz{zyz{{{{{{{{z{{zzy{{|{|z||{{{zz{z{z{{{{z{|{zz|y{z{{{{{{{{|{{{z{{{zz{{|z{{|{{zzz{{{{{{z{{{{z{z|z{zz{{|{zz||z{{{zz{zz{zzz{{{{z{zzy{zz{zzz{{|{zz{zzz{{z{{{{{{{z{{zz{z{zz{|{z||z{zz{zzz{zzzz{||{z{{{z{{z{yz{{{{z{{z{zz{||{{{z|{{zzz{{z{{||{{{{{{{{{|z{{|z|{|||{{|{{{{{{{{{|z{|{{{{{z{zz{|||||{{|{{|{{{z{{{{{|{{|{{{{|{zz||{|||{{{{{|zz{{||||||{{{{z{|{z{||{|{}{|{{{z{{|||||}|z|{{{{{|z{|||{||}{zz|{{||{{||||}}||z{|{z||{||{{{}|||{{{{{||{{{|||{{|{|{{{{{{||||||z{|{|z{{{||||}}|{{|{{z{z||||{||||z{{z{{{||||{{{{|{|zz{{z{{||{{{z{{y{zzyz{z{{z{{{z{{zzzzz{z{z{{||{zzz{zz{|{{z{|{{zzz{zzzzz{{z{{{|z{z{z{zzz{z{{|{|zz{{zz{z{|{{z{{{z{{zzzzz{{{yz{{z{zyzzz{z{z{{z{{zzz{yzzz{z{z|{{|}{zzzz{zz{{z{|{{|{yzzzz{{z{{{|{|{zzz{zzzzz{z{{{{{z{zzzzzzz{{z{{z|zz{{z{zz||{{{z{|z{zz{y{{{{|z{{{{{{{y{y{z{{||{|||{{z{{{{{{||{|||{{{{{zz{{{{{{{{{||{zzz{{{||}{{||{z{{{{y{{{|{{{|{||{z{{z{{{|{{|||{{{{{{|{{|{|{{|}|{{{|{{{{|||{|||{{zz||{{z||}||z||z{|{|||z{||||}|||{{|{z{{{}||||||{{|{{z{{|||{|}|{{zz{{{{{{{z|{||||{{|z{z||{||||||{z{z||y{{|{|||||||{{z{{{z{{|}{{{{{yzzy{{{{|{|z{{{z{yzzyz{{{|{{{z{{zzz{{z{{{{|{|{zz{zzzz{z{{{{}|||{zz{{y|{|||z{{|zz{yyzz{zz{{{{{{{zz{zzzz{|{{zz|{z{{z{yz{{{{{zz|{z{z{zz{{|zz{{|{|zzyzz{zyz{{{z{|z{{z|z|y{{|{z{{{|z{zyz{zzz{{|{zzz{zz{{zzzz{|{{{{{yz{{zz{zz{{{{{z|zy{z{zzyz{{{{|{{{z{{{zz{z||{{{{|{z{zzzz|{{|{z|||zz{{zzz{{{|{{}{|{{{||z{z{{{|{|||z{{|zzzz{{{{z{||{||z{|z{|{||||{||z{{{{{||z{|{||{z{{{{{{||{{{{||||{|{zz{z|}|{||||{{z{{{{||}||{{|||{|{{{{{||{{{}}||{{{{{{{z|||||{|{{{|z{|{|{||{||||{|{{|z|||{{{|||{{z{{|z{||||{||}|{{|{z{{|||{{{|{{{{zz{{z{{||{||{{z{z{zzyz{{{{|z|zzzzzzzy{{z{{z|zy{z{zzz{{zz{{z{|{zzzzzzzz||{{|{{zyz{zzzz{{{{{{|{{z{z{zzyz{{{{{{{z{|{yzz{z{{|{|zz{{y{z{zyz{|{z{{zzz{yz{{y{z{{zz{zzzzzzy{yz{{z{{z{{zzzz{yzz{{{|{{{{z{{zyzz{{z{y{{{z{z{{z{z{{{zzz{|{yy{{{zz{{{{zz{|z{yzzz{zz{{|{{|{{{z{zzz{{{|{{{{|{z{zz{{zz{{{|{|{{{{zzz{{{{{|{{|||{zzzz{z{z|{{|{{z{{z{zzzz{|z||}{{z{{{z{{|{{z|{{{{{{{zz{{|{{{{{||{|z{|{{{|{|||{||{{y|{{yz{{|{{{|||zzz{{z{{{|{{}|}{{{{{|{{{||{|||||z|z{{|{z||{{|{{|z{{{{|z}{{{|||||{{{{{{z{{{{{|{|{z{zzz{{|{{|||{|{{{zzzzz{|{{{||{{z{{{{|{z{{|{{{{{z{{{{zzz{zzz{{{zzzzzyzz{|{{{zz{{{z{zzzz{{z{{|{|{zzzzzzz{z{{{{{{{z{zzz{z{{|{z{|{{|{zy{z{{{|{{|z{z{{z{z{z{{{|z{z{{zzzzzz{{{{{{{{zz{zz{zz{{zzzzz{z{xzzzzzzz{{{z{{z{{z{zzzzzzz{{{{{{z{zy{zy{{{z{{{|{z{zzzzz{{zz{{{z{{{z{z{zz{zz{{{{zz{{{z{z{{|{z|{{zzzz{z{z{{{{z{{|{{{zzzz{||||z{{|{{|{{zzz{z{{|{|}{z{{{{{y||{|{{|{{{{z{{{{{|{{{|}{{{z{{{y{|||{{{||{z{{{z{{|{|||||{z|z{{{z|{|{{{|}|{|{{{{z{{||{{||{|zz{{{{{||||{||{|{{{{|{||{|{|{|}{z{{{{{{{|||}||||{{{{{z{|{{||||||z{{{{{{{{{||||}|{z{{{{|{|z||{{|{||{z{{{z|{|{|}{{z{{{zz{{{{{|||{{z|z{z{zzz|{{{{{z{{zzzz{{||{{{{|{z{{{zz{|{|{{{|{{{{z{z{z||{z|{|{{|z{{{{z{{||zz|{{{{{yz{zz{{{{{{}z{zzzz{z{z{{{|z{|zzz{zzz{{{{z{{{{z{zzzz{{{z{{{{|zz{zzy{{{z|zz|{zzz{{{{z{z{|{{{{|{zzzz{zzz{{z{{{{{{{z{zz{|{z{y{{{{zzzzz{zz|zz{{|{{z{zz{{z{{{{z{|{{z{zzz{{{{|{z{{{|y{z{{{{{{{{z{{{{zzz{z{y||{{{{{{z{{{{yz{{{{{||{z{{{z{{|{||{|{{|{{{z{{z{{||{|||{|{z{{{zz{{|||||{|{{{{{{{||{{{}|||{{z{z{zz|||{|{||{z{{|z|z||{||}||{|{|z{{{{|||||}||{|{{{z{{||}}{|||||{|{z{||||||{{|{{{|{{{{}|{||}|||{{{{{{}{||}{||{{{z{{z|{{{{||||{|{|{{|z||{{z{|{zz{{zz{z{|||{{z{z{{z{{{zz{|{z{|{|z{{{zzz{{{{{{{{{z{yz{zzzz{{|{||z{{z{yzz{|||{{{{{z{y{zzzz{{|{z{|z{{zy{z{{{{zz{{{|{{{zz{{{{zzz|{|{zzzz{zz{{z{z{{{z{zzyyzzz{{z|{{yzzzzz{{z{y{zz{z{{{zzyz{z{z{z|{|{{{zz{zzzz{{{z{{{{zzz|{yzz{{z{|{{zy|{z|zz|{{{{z{|zzzzz{z{{z|{z{{{z{z{{z{z{|{|{|{|{zz{zzz{|||{{||||{z{zz{{{z|{|{|{{{{{z{{z{|{{|{||{{{{{zz{{|{{{||||{zz{|{{|{|{}|{{zz{{|||{{{{|{}{|{{{{zzz{{}{|}{||{{{|{|z{|||{|||{{{{{{z{|{{{{{|}||{{|z{|{{}{}{||{{z|{{|{|}|{{||{||{{{{{{|{|{|||{|{|{{{{{||{||{{||||{{z{{{|{{{{{}|{{{{zz{z|{{|{{||z{{{zzz{z{{{{||{zzz{{z{zzz{{{{{|{{{{{y{z{{|{{{{|z|zzzzyz{{{{{{|{{|z{{{zy{{{zz{{{|{zzzzyzzz|z{|{|{z{{zzzz{{z{zz{{zz{yzzzz{{{z{{{{z{zzzz|{zz{|{{{{zyzzyyz{z{{zz{{{{zzzz{{z{{|zz{{{{z{zzzzzy{{|{{{|{{{{{zzyz{z{{{z|{{{z{{zz{{{z{{{{zzzz{zzzz{{z{||{zzz{{z{zz|{{|{{{|z{z{zzz|z{|{{{{zy{{yz{{|{zz||{|{{{zzzzz|{{{|{|{{{{zz{zz{{{{{{|{z{{z{zz{|||{{{{|z{{z{{{|{|{|}|{{{z{{{|||{{{|||}{{{|{zz{{|{{||||||z|{|{{{{|{||{|{{{|{{{|{||{|}||||{{{z{z||}{||}|||z{{z{{z|{{|{z{|{z{||{zz{|||{|}||{{{|{|{||{|{{||{|{z|||{{}{}||{||z{{z{{z|{z|{||{{{{zz{z{{|{{{zy{z{|{{z{{z{{{{{{{{zzzzz{z{zz{{||z|{{z{zzzzz{{{{{|{zzzzyzz{||{zz|||zyz{z{zzz|z{{{{zzzz{{zz{{{zz|z{{{{z{z{{{{{{{{|{z{z{{{{{{{zzz{z{zzzyz{zz{z{zzz{z{{zzyzz{z||{|{{{{{{zy{zy{{{|{{{{zz{zzzzyz{{z{z{{{{yzzzzz{{{{z|{{{z{zz{{z{{{|{{|{{z{zzz{{|{z{{z{{}z{{zz{{{{zzz|{|z{z{{{{z{{z{{|{|{{{z{{z{{|{{||{|{{{zz{z{{{||{|{|{{zz{{{z{{{{{{||{{{{z{z{{{|{{|||z|zz{{|{|{|{{|{|z{z||z{z||{{||{{|z|{{{||||{{|{||||z{|||||z{{||{|{{||{{{{{|{|||||{|{{{z||||{|{{|{{{{{z{z||||||{|{}{{{{{{z{||z{|{|{|{z{{|{{|{|{|{{{zz{{{z{{z|{{{{{{{{{{zzz{{|{{{|{zz{z{yzy|{{z{{{{zzzzzzzz{{|{zz|{zzzz{{zz{{{{{{{{|zy{{zzy{||{{|{{{{zyz{zyz{z|{z{|{{zz{z{yz{zz{|{{{zz{zzyz{z{{{{{{zzzzzzz{{{{{zzz{zyz{zzzzz{z{|z{{zz{zy{zzzzz{{{{|{{zzyzzy|{{{z{{z{zz{{zzz{{{yz{{{{{zyz{zy{|zz{{{{{zz{{{zzz{zz|{{{zzzzzz{z|{|z{{{|z{{zzz{{z{{|{{{|{y{{{{z{z{|{{{{{{{{{zy{zz{{{{z|{{zzz{z{z{||||{|{zzz{{zy{{|{{{{{{{zz{{z{{{{|{|{{{z{{{{||{{|{{{|{|{{{z{{z{{|{{|||{|{{{{{{{{}{{|{}||{{{z{{{{|{|}{{}{|{{z{{{|}{|||}|zz{{{{zz{{z{{|{|{{{z{{{{{{{z{{{||{{{{|z{{||{|}|}{{zzzz{{{{|{{}|}{z{z{y{z{|{{{{{{{{{{{{zz{|{{{{|{{y{zzzyz{{{z{{{{y{{{{zyy{{{{{{{{zzzzz{{{{{z|{{{{{{zzzzyz{z{|z{||{{{z{zzz{|{{{{{{zz{zz{yy{{{z{}|{{{z{{z{y{{|{{{z{zzz{{zz{{{{zz{{|yzzzzzzz{z{z{{{z{zzzzzzz{{{zz|{{{z{{z{{z{{z||||{{z{{zy{{z{{{{{zz|zyzzz{{zz{{{|{{zz{zz{z{{{{|{|{|{{{{|yzzz{{{z||{{{{{zz{z{{{{{}||{{|{z{{z{{|{{z||{{z{{z{{z||{{{{|z{{{|z{z|z|{{{|{{z{{{{{{{||{{{||{zzzzz{zz{|{|{}|z{z{z{|{{{{}|{{|{{{|{zz{{{{{||}{|{{{{{z{z{|{||||{{|{{z|{{{||{|||||{{{|{{{}||}{|||z{{{z{z||{{||||{{{{z{{|||{}{||}{z||{{{|{{{||||}{{{z{z{z{||{||}{{{z{{{{zz||{|{|{{yzyzzzzz|{{{{{zz{zzzzzyz{|{{z{|{zzz{yzz{z{{{{|{{yzzz{zz{{{{{||{zz{zzy{zz{{{{{{{zzzzyyzyz{{|{z{{{{zzyz{zz{|{{z{{{z{zy{{z{{{{z|{zzzzz{zzyzzzzz{{|zzz{zyyy|z{{{z{{{zzyyzyz{|{z|||{zzz{yz{zz{{{{{{|zzz{{zzzzz{{zz{{z{zzzzyz{zz{y||{zz{z{{{{zz{{{z{}{zzzyz{y{|{{{{{{{{zzzzzz{{{{z|z|zz{zy{{z{{{{{{{{{|z|z{{{{|{{|{||zz|{{{{z|z{{|z|{{{{{zzz{{|{{{|{{{{|{{{z{z|||||||z{{{{{{{|}|}||}|z{{{{zzz|{|}|{|{{z{{{z{z|||{||}|z{{{z{{{{{{||{|||{{|{z{{{|{{{|{{|{{{zz{{|{{{{||{|zz{{{{{{|{|{|||{|{{{z{{|{||{|{{|{{y{{{z{{|{||{{{{{z{{{z{||{{|{{{z|{{{z{{{|{|{{zzzzzz{zz{{{{{{zzz{yzzz{z{{{{{z|{|zzzz{{z{{{{|{z{{{{{{zz|{{z|z{{{{{{yzzzy{{|{{{z{zzz{zzzzz|zz{{{z{zzz{{{z{y{{{z{zzzzzzyyzz{zz{{{zzzzzyy{zz{{{{{{z{zzzzzzz{z|zz{{{zz{zzzy{zz{zzz|{zy{yzyzy{|{{{{z|zzzzyy{z{{z{{||{z|zz{{yz{z{{{{{{{z{|{yz{{|{{{||{zzzzy{zz|{{z{{||zz{z{{zz{{{{{{||{{{{zzz{{|{{|{{{z{z{{{{z{{{|{{|zzz{{{{yy|||{{{z{|zz||{z{{||{{|{|{z|{{{{||{{|}{{|{{{{{{{z{{|{{||{{|{{{{|{||||||{|{{|zz{{|||{||||||{{{z{{{||{}||||{zz{{z{{}}{|||{|{|{z{{{|{{{{|}{}||{z{{{z|{|{||{|{{|z{z{{||{{{{}{{{{|zzzz{|{{{{|{{y{{zz{{{{{{{z|zzz{zzzzz{{}zz{||zzzz{zzz|{{{{{{{{zz{zzzz{zz{{{{|zz{{zzzz{{z|z||z{{zzz{{z|{{{z{{{{y{zz{zz{{|z{{|{zzzzz{zz{{|{zzz{{{{zyyy{zyz{z{{|zzyz{{zz{z{{{{|{|{zzz{yz{{{{|{|zzzzzy{{zz{|z{{|{{zzzzzzz{z{z{z{|{zzzz{zzzz{z{{{{z{zyz{zz{{{z{||{{zzz{{zz{|{zz|{|{zzzzz{{|{|{{{{|{zz{{{{z{{|{{{zz{{z{{z{{z|{{{||{{{{z{{z{{{{{z{{{{{{{{{z{{{|{z||{{{{z{{{{{{|{{{||z{{{{{{{{|{|||{{{{zz{{zz|{||{{|{|{z{{{{{|}{{{|||{{{{{{|{{|||{}|{|z{z{{{{{|||||}||z|{{{{{||{|||||{{{z{zz{{|||z|}|{{{z{{z{{{|{{{|}{z{{{zzz{|{|z{|||{{{z{zzz|{{|{||{zzz{zzz{z|{{|{|zyz{z{{z{zzz{z{{{z{{zz{y{{{{|||{{{{y{{|{{{{{|{|{{zz{{z{{{z{|zz|{{{zzzz{z{z{{{{{|zzzyz{{{z{{z{{|{z{{y{zyzz{z{{z{{{zzyzzzzzz{z{z{|yzzz{z{z{{z{{|{{{z{{{yzz{{z{{|{{y{{zyzz{{{{{zz{{{{zzzzzy{{{{zz{{{|yyzzzzz{{zz|{{{z{zz{{y{{{{|{|||z{z{z{z|{{{{{{{zz{zzyz{||||z{{|{z{z{z{z||{{{{{{{|z|{zz{{z{|||{{|z{yz{zz{}|{||}|{{{{{{{{{z{{{|||{zzz{z{{z{}|||||z|{{{{{|{||{||}|{z{{|{{{||||{||{|{|{{{z{||}z{|||{z|{|{||{{|}|}||{zz{{{zz||||}|}|{z{{z{{{|{||{|{{{{{{{|z{|||||||}|{{{{{{|{|||{{|}{|{{{{{{{|{{|||||{z{z{z{||||z|{|z{{zz{|{{z|{{|z{|zzz{yzz{{{{{{{{{z{z{zzzz{{{{{||zz{zzz{z{{zz{{{{{{{{{zyz|{{{z{{{{z{y{z{yz{{|{{{{yzzz{zzzzz{zy{{{{{zz{zzzzz{{{{z{zzzzz{zyzzz{z{{{z{{zzy{zz{|z{z{y{{zzz{y{{{{{||}{z{{yz{zz{{|{z{||{zzzzzzzzzz{z{{{z{zyzzzzz|{{{{{{{y{z{zzz{{{{{{||{zzz{zzz{{{{{|{|{{zz{{z{{{{{{{|{z{z{zzzz{{{{{{{{{{{z{zz{z|||{{{{z{|zzz{{{|{z{{||{{{z{z{{{|{{{{{|{zz{{z{{z{{z{|{}z{{z{{{|||{{{{||||{{{{z{{{|||||{{{{{|{z{{|{|||||{{|{{z{{{|z|||}}|{{{{z{{{}{||{}|{|{{zz{z{|{|{{|{{z{|zzz{{|{|}{||{z{{{|z{|{||||}|{{zy{|{|{|{|{|{|{z{z{z{z{|{|{|{|zz|{{zzzz{|z{{zz{zzzzzzy{{{{|{|{{zzzzzyy{{{{|z{|{z{yzzy{z|zz|{{z{zz{z{z{z{{|zz{{{zzzz{yz|z{{{{z|zzzzyz{{{{{z{|{{zz|zzzyyz{{{{{z{zzzzzzz{zzz{z{z{zyzzzzzyy{zzzz|z{zzzz{{|{{{{{{{{{{zyy{yzz{{||{|{z{{{z{{zzzz{z{z{{{zzzzzz{zz{{||{zzzz{{zz{{{{||||{{z{{z{y{|{{{|{z{zz{zz{zzz{{{z{|{z{|z{zz|||{|{{|z{{{{z{{z||{{{||{z||z{{|{{z{{||||z{|{{zz{{||z|{{{{{{{zz{{{|{|||||z{{|{{z||{{{}||{{{{z|z{||{|{||{{{{{|{{z||||}|||{{|zz{{{{|{{{{}|}zzz|{{z{||{|{}|{{{|{{{|{|{{{||}{{{z|{{{{|{{|||||z{z|{{|{|||{|{|{{{z{{{{{||{{{|{{{|z{{zz{{{{z{{{{{zzzz{y{{{{|{{zzzzz{zyzz|{z|{{{{{{zzz{{z{{{{{{|{z{zz{yz{{||||{|{zzzzzz{{z||{{{{|zzzzz{{{z{{|{{|z{{zzz{z{{{z{{{|{zzzzzzz|{{{|{{|zzz{zz{zzzz{z{{z{yzz{yyz{{zzz{|{{zzzzzyz{{{{{{||zzz|zzzz{{{z{{{{z{{z{z{yz{{z{{{|{zzz{zzz{zz{{|{{y{zz{{zz{{{{z{{|{{z{{z{{{{|{{z{{z{{yzy|z{|{{{}||z{|{{{{y|{}||{|{||y{|z{zz|z{|||{z{z{{{zz|{||{{|||zzz{zz{{||{z||{{z{{{z{{z{{{|{||{{{|zz|z|{{|{||}||{{z{{{{|||}||{|{y{{{{|||{{}|||{|{z{||{}||{||||{{{{{|z|{|||{||{|{z|zz{z|z}|{||{{{|{{zz{||z{|{|||z{{{{{{||{}|||{{zz{{{z{z||{||||{{{{{zzz{|||{|{|{y{{{z{z{{{{z{{zzzzz{{zyz|{{{{|z{zzzz{{y{zz{z{|{zz{{{zzz{|{z{z{|{z{z{{{z{{{zz{{{{{{zyz{z{|{{{{{{zyzzzyzyz|z|zzzzzzz{zzz{{{{{{{{z{zz{yzzyzz{zyz{zz{zzyzzz{z{z{z{zz{{{y{yz{{z{{z|zzy{zzz{zz|{zzz|{zzzy{zz{zz{z{{z{z{zzzz{yz{z{{{{{{zyzz{zzz{{|{{{{{{z{|{z{z|{z{{|{{{zzzz|z{{|{{||{{zz{zz{z{zz{|||{{zz{{{zz{z{|z||{{z{zz{{zz{{{{{|{z{{{zzy|{{{|{|{{{{{{{z{{{{{|{{||zz{z{{|z{{{|{{{{|{{z{{{z{|{|{{|{|{zz|z{{|{{|{{||{{{|{{|{{||||||||{{{z|{{{}|||{{||{{|{z{{|{|{{||||{{z|{{{z|{||{|||{{|{zz{||{|||{|{z{z{z{{{{{||{{|{{z{{{{{{{z|z{|{zz{zzz{y{{{z|{{{{zzzzy{zz{||{{z{{zzz{zzyzz{|{{|{{zz{zz{z{y{z{z{{zyyz{zz{{{{{z{{{{y{{yzyzzz{|{{z{zz{z{z{zz{z{{{{{{{{{{zzzzz{z{z{{zyzzy{zzzzzzz{{{zzzz{yz{{z{z{z|{zzy|yzyyzz{z{{|{zz{zyzzyzz{{{{{|{zz{yz{yz{{{{{{{{zzyzzyzz{{z{||{{z{zz{zzzz{{{z{z{z{{{zzz{{z{zz{z{z{|{zzz{{{{{|{{yz|zz{{z{||z{|{{{{z|zzz{z{{|{{{{{z{{z{zz{{{{{|}{{{{z{zz|{||{{{|{{{{{zz{{{||{|||{{{{{{z|z|{{{|||||{{z{zz{|{{|{||{|z{z{{{{||z|{}||{|{{{|{{{||{|{|}|{{{{{{z|||||{{{|{{{{z|{{{||{||{{{z{{{{{||{||{{}{{zz|{{{|{|||{||{{{zz{z{{||{{||{|zz{{{zyz|{{|z|zz{{z{z{{{{{|}{{|z{z{{zzzz{{{{|{{{zzzzzyzz{{{||||{z{yy{zzz{{{{{||zz{{zz{z{z{{z{z|{{{{zzzyzz{{z|{{yzzyz{zzz{{z{|{z|z{zzzyy{{{{{{{{zz{zzzzz{{{{zz{{{zzz{zz{{zz{{z{{zzyzzzy{{{{{{z{{zz{zzzzzz{{{z{{|{z{z{{zy{zz{z{z|{z{{zzz{z{z{{{{{{zzzzzzy{{z{{|}{{zzzzzzz{{|{{{||zzzzz{|zzz{{z{||z{{{z{zz{z{|{|{|{{{z{z{z{{{{{|{|{{|z{zzz|{}z{{z{{{{y{{zz{||zz{{{|{{{{{|z{|||||}|{{{{|{|{{|||{{|}{{|{{|{{|||{|}|{{z{{{{{{}|{|{|}|{{{{{|{{|||||{{||{|{{{{z{|||{}||{z{|{z{||{|{{|{{z{{{z{z{{||{|||}|{{{||z||z{{||{|{{zz{{z{{{||{||{|{{{{|z{z}{|{||{{{y{zzzz{{|{zzz|z{y{zz{yz|z{{{{|zzzz{zyzzz|{z|{|{{zzz{zz{z{z{z{|zzyz{zzz{{{{{z||zz{zzy|y{{{{{{|{zz{zzz{zz{{{z{z{zzzz{{yz{{{zz{z{zy{zz{zzzzz{{{zzzz{{{zzyzzz{z{{{{zz{yzyzz|{{{|z{{{zz{zz{z{z{{z{{{{{z{zzyzz{zzz{{z{yzzyzzz{{{{{{{{z{z{|{yz{{z{z{{{y{z{zzz{z{{||{{y{{zzzz{{||{{|{{{z{zzzz{|{{{{{{{{{{z{z{zz{z|{||{{{|{z{{{|{{{{{{{{z{z{z{{{{{{{{|{{{|{{|zz{|{|{|{zzz{{z{{{|||{z{||{{z{{{{z|{}{||{z{{{{{{{{||}||{{}|{z{z|{{{||{||||{{{{z|z{{{{||||||{|{|{z||||||||{|{{{|{{{{{{{|{|||{|{{z{{{{||z|||{{zz{|z{z|{{{|}{{{{{z{{z|{|||{{|{{z{zz{z{{{z|{{z{zyzzzzz{{{{{z{{{zz{zx{zz{|{{{z}{z{zz{yy{z{{z|{{{y{{zzzzz{{{zzz{zzzyz{z{zz{z{{{{zz{y{{zzzz{{{||{{z{zzzz{{zzz{{{{{{zzzyzy{{z{zz{yz{{zzzyz{{{{{{yz{{zzzyzyzz{{z{|zzz{zz{{zz{{{z{|{zz{z{yzz{z{{{{z{{{{yz{zzzzz{{{{{z{zz{z{{{z{{{z{{{zz{zzz{{{z|{{z{zzzzzzyz{{|z|{{{{{{{z{{{|{{{{{{{{z{zzz{{z|{|{|{|{z{{z{zzz{{{{{|{{z{{z{{{{|{{||{{|{{z{z{{z{{|{{|{z|{{{z{{{{|}{{{|{z{{{{{z||{|{||{|z{z{{{z{|||}{{|{{{{|z|{{|{||||||{{{|{|{{||}{{|||{|{|{{{||{|{|{|{|{|z{z{{{|z|||{{{z{{{{{|{{}{{{|{z{z{{zz{{{{||{||{{{{zzy{|{|z||{{{|{{zzz{{{|{{|{zz{zz{{yz||zz{{{zzz{zzyzz{{z|{{{{yzzz{zz{{{{||{{{zz{zyzz{{|{{{{{zzzzzyyyz{{{{{{|z{zyzzz{z{{z|{{{{{z{{z{z{z|{{{z{zzzzyzyz{zz{zz{{{zzzzz{z{{{z{{{z{zzzz{z{zz{z{{{|z{{{zzzzz{{{z{|{zz{zzy{zz|{zz{{|{z{zzzzy{zz{{{|{zz{zzzyz{{{{{{||z{z{{z{{z{{{{{|{{yz{zzzz{{{{z{{{{{{{zz{{|{|{{{{{{z{{{{z{{|||{{{|{{{zzy{z{{{{|{{z|z{{zzz{{{{z{{{|{z{{z{zy{{||||{{{{{{}{{z|z||{}||{z{|{{{{||{|{{||{{zz{||{||{||{{{{{{{{{}{{{|{|||}{z{{zz{|||{|{|||{z|{{{{{||||{{|{{{{{z{z{|{{{{|}}{{z{|{{{||{|||||{{{z||{z|{{|||{|{{y{{{{zz||{{|{|{{{y{z{z{z|{|{|{{zzzz{{zz|{z{z{{zzzy{zzzz{{{{{z{{zzz{{zz{{zz{{|{{z{{zzz{{{|zz{{{{zyzyyyz{{|{{z||zzzzzzz{y{yzz|{z{z{zzzyz{{z{z{|z{zzyzzzzzzz{{{{{zzzy{y{zz{{{{{{{{z{zz{y{yz{{{|{|{z{zyyzzz{{{{{||zzzzzyzyy{z{zz{{{zzyzzz{{{{|{{z{zz{zz{{yz{z{z{{{{zyzzzz{{z{{{{{|{zy{zz{zz{{|{{z|zz{z{{{{z|{z{z|{zz{z|yzzz}{{{|{{|{{z{{{y|z|{{{{{{{z|z{zz{{{z|||{z{|{|z{|{||{|||{{{z{{z{{{|||{||||z{|{{{z{|||}||||z{{z{{{|||z{|{||{{{{||{{|}{{|{{|{{{{{{{z}|||||{|z{{{{{z|||{||{{{{{z{{{|{|{{|}||zz{|{|{z{||{{|||{{zzzz{z{{{{{|{|{{zz{zz{{{z{{{{{|z{zzz{{{z|z{{z|zzzzzzz{z{||z|z{yz{{zy{z{{||{{|{{{{zz{{{{{{{|{{{zzzzzzz{z{{{{{{z{{{zzzzz{{|{{{|{zzzzz{{z{z{z{{{{zz{zzzzzz{|{z|{{zz{zzzzzz{z{{{{|zzzzzzzz{z{z|z{{{z{{zz{yz{zz{z|z{z{zzzzz{{{{z{{{zz{zzz{y{z{{{{{zzzzzzzzzz{{{{{z{zz{zzzzz{{{{zzz{{z{{{{zz{{{{{{{{zzz{{zzzz{{{{{{|{z{z{{z{{|{z{|{{{{{{{zzz{{{{|{|{{{{zzz{z{{||{|{{{zz{{zz{|{|{{z{|z{z{{z{{|z{}{|||{{z{z{|z||{||{|{{z{{{zz{{{{|}|{{{{{|zz{||{|||}|||{{z{|{{{||{}|}|{{{{{{{|{||||||{{{|{z{|{||{|||}{{{|{{|{{|{{||}|{{{{||{{{|||{{|{|{{z|{zz{{{{|||}{}z{{{y{z{||{{||{{z{zzz{{{{|{{{y{z{y{{z{z{{|zz|{{{zz{zz{z{{z{{{{{|{y{zz{z{{{{{{{z|z{zzzz{z|z{z|{{{{zyyz{z{{z{{{{|zz{{zz{z{{|zz|{z{{zyzzzz{{{zz{{{zzyzzzzz{{{|{{{{{zzz{{zzzz{{{{{{zzzzy{z{{z{z{z{{zzzz{zzzzzz{z{{{zy{zzz{z{zzzz{{zzzzz{{z{z{zz||{{zz{{z{{z{{{{{{{z{zzzzyz{{{|z{{{|z{z{{{{{|{{{{{{{{zz{zzz{{{{z{{z{{{|z{{{z{|{{{{|{{{{|{{{y|{||z{|{{z{{zz{{{}{|{{{{zzz{{|{{{{{{|}|}{z|{{z|z|{z|{|||{z{{{||z|{|||||{|{{z{{{{|||||{{||{{z{{z{{|{{}||{|{{{{{{||}||||{{|{|{{z{{|{{|||}|{{z{{{{||{{||||{|{z|{{{{{{{||{{||{{z{{zz{|{{|z}{|z{zzz{{{}||{{|{z{{z{{z{z{|||z{{zzzzzzz{z{|{|{{|{zzz{z{z{|{z{|z|{{zzzzzz{{{{{{{zzzz{zy{z{z{|{{{||{zzzzzz{{{{{z{{zzzzzz{y{{|{{zzz{{zzzzzzzz|{z{{zzzzz{{yz{z{{{{{{z{zz{yyzzzzz{{z{{yzzyzyy{zzz{{{{{zzzzz{zz{z{{{|{{{zzz{{zz{z{{{{zz{zzyzzyzz{{z{{{yzzzzzyy|{{{{||{{{zzzzzz{z|{{{|{{{{{{z{{{{|z|{|{{{{z{{zz{{{{{{|{{zzz{z{|{{{{{z|{z{{z{{zz{|{{{{||{zz{{{|{{||{{|{{{|{{{{z{{||{||{|{{{zz{|{|||||{||{|{{{{z{|||{{|{{{zzz{z|{{||{{|{||{{{{{|{z{{{|||||{{{{|{{{|||||}{|{{{|{|{{||{||{|{zzz{{{|{|{|||{|{{{|{z{{{{{|{|||{z{z{{{z{|{||||||{z|{{{{||{{{{|}{{zz{z{y{|{z{|{zz{zzzzzzz{{{|{{{{z{zzz{zzz{{{||z{{{zz{zz{z{z{{{{z{z{zz{{{|z{z{||{{{zz{zz{z{{z{{|{zzzz{zy{zy{z{z{{yzzzzzzz{{{z{{{yz{yyzyzzzz{{{z{{zyzzyz{{zzzz|{{{zzz{zzzz{{{{zz{{{zzzzzyz{y{|{{|yzz{zz{zz{z{zz{|zzzzy{zz{z|{z||{{{zz{z{zz{{z{{{{{{z{{{{z{{|{z|{{zzz{z{z{{{{{z{{{{{zz{{{{z||{{|{zzz{z{z{z{|{{|{{{{z{z{zz{{{|zz{{|{{{{z{{{{||{|{{{{{|{{{zz{|||{{{|{{{|{{{{|{|||||}|{z|{{{|{z{|{||{{z{{|{{{{|{{{|||{{{{{{{||{|||{{||{{z|{{{z|{}{|||{{{|z{{{{{{{||{{{{{z{{|z{{{|{||||{|{{{{{}|||||{{{{{zz{zzz{{{||}|{{z{|z{{{{{|{{|{y|{z{zzz{|||{{{zz{{zzzzzz{{z{{{{zzzzzzzz{{{|{{{z{zzzzzz{{{zzz{{{zz{zyyzzy{|zz{z|z{{zzz{z{z{z{{zz{yzz{{{z{|z{z{{zzzzzzzzz{{{zz{{{zzzyzz{y{zzzz|{zzzzy{{zyz{zz{{{zzyyy{zzz{{{zzzz|{z{{yz{zz{z|{{{|zzyz{yyy{zz{{{z{y{|zzzzz{{z{{|zzzz{zy{zyz{{{{z{{zzzz{yzz{{{{z{{{yz{z{zzz{{z|z|{{zz{{z{{{{{|{{z{|zy{zyzzz{{{|{|{zzz{z|zz{|||{{{{|{zz{z{{{|{z|z|||||{{zy{{{||{{||{{zz|{||{{{{|}|{|{{{{zzzz||{||||{|{{{zz{z{|{{|||||z|zz{{|{{|{|{||}z{{{{zz{|}{{||{|{|{{{{|{{{|{|||{{zzz{{{{{{|{{}|{{{z{{z|{{{{||||{{{zz{zz{{||{{||{{z{{zzz{{z|{|{{y{|z{yzy{zz{|{{{{zz{yyzz{{zzz|{{{z{zyyyzz{zz{{{||zzyz{zzz{z|{{{{zzzzzyy{y{{yzz{{{zzyzzzz{{{z{{z{z{{zzzzz{z{{z{|z{zzz{zzz{zzzz|{zyzzzzzzzzz{zzz{{zzzzyyzzz{z{{{{zzzzzz{zzzzz{z{|{zz{zyzzzz{{{z{{z{zyzzz{y{{zz{z{{zzzzzzzz{{{{z{{zzz{zzzzy{{z{zz{z{{zzzzzz{{{zz{z{{y{z{z{{{{z|z|{}{zzzz{{{y{{z{z{|{z{{|z{z{{{{{{||{z{|zzzz|{}{z{||{{{z{z{{|{{{{{{{z{z{z{|{{{|||||{{zzz|{{{{|{|{|{|{|{{{{z{||{{{{||{z{{{{{z||z{|{|{|{{z{{||{||{||{{||{{{{|z|}{}|{|||z{{{|{{{{|||||{{{{zzzz{{|{{|{|{|z{zz|zz{|{{|{|{{{{z{|{z{{{z{{{|{{{zzzz{||||{|{{{{yyzy{z{{{|z{{zz{zz{zzzz{{z{{{{zz{zzzzzz{|z|z{|zz{zz{zz{zz{z{{{{zzzzyy{z{{zy{z{{zzyzzzzzz|{{{{|zzz{zz{zz{{{{{z{zy{yzyzzzz{{z{{{{zzzzyxz{{zz{z{zzzzzyyzyzzz{{{{zzzzzyzzzz{|z{{{{{z{zz{zy{{{{{{{{{zz{{zzyzzzzzz{zz|zz{yzzz|zzz{z|zz{zzzz{z{zz{{{{{{zzzy{z{{{|{{z{z{{|{z{z{{z{{|{|z{{zzz{{zz{z|{|zzyzzzy{yz{{{{{{{{z{zzzzz{{z{{{|{{{zzz{zz{{||{z{z{{{zy{{z{{{||||{{{|{{{{{{{{{|{{{{{{zzzz{z{{|||}||{{{{z{z{{{||{||{||zzz|{|{|{{}z{|{{z{|{|{{||{}{|{{{{{zz{|{{|{{|{|z{{z{zz{{{y|{{||{{{z{|{{{{{{|{}{{z{{{|{{{z|{||{{{z{zzzz{{{{{||{zz{{{zyy{{{zz{z|{{zyzzy{y{{{{{{{{{{zyzzzzy{z{{z|z{{z{{{z{{{z{||||yzzzzzzz|{{{|{|{z{yz{{y{{{z{z{|{{zzzzzz{{{z{{{{zzzzyyzyz{{zz{zz{yzyzzzz{zz{z{{{zzzzyzyzz{{zz{|{{yzzz{yy{z{z{|zzzzzzzzzzz{zzzz{{{zz{zz{{zz{zz{{{z{yy{zyzz{{{z{zz{y{zzyy{zzzz{{|z{z{zz{{z{|zzz{z||yzyy{zz{{{|{|{|y{z{z{{z{{|{{z{||z{z{z|z{|{{z{{{yz{zz{zz{|{{z{|{{z{{zzz{{{{{{{{{{{{z{zzz{{|{||{|{{|zz{|zz|{|{||{{{{{|{z{|{{{{{|{{z{z|{{z{{{|{||{{{{{{{{{{|||{{|{|z|z{|{{{}z{||||{{|{z{{{|||{z||||zy{{{z{z}{{{||{{||{|{{{|{{{|||zz{zz|{{z{z|{{||||{{yz{zz{z{z{{{{|zzzyz{x{zz{{{{{{{z{{z{z{{{{z{|{zz{{zzzzz{{zz{||zz{zzz{z{z{{z{|{zy|zzz{{z{z{{{{|{z{zzy|z{{{{z|{{{zyzz{zzz{{z{{z{zzzz{zzz{{|{zzz|{zzzzyzz{{z{z{{{y{{z{zzz{{{{zz{z{zzzzzyzz{{z{{{{yzzyzyzzz{zzz{{{{zyz{zzzz{zz{z{{{{{{zz{zz{{zz{{{zz{z{{{z|z{{{{{z{z{z{yz{{{zz{|{{z{{z{zz|{{|{{{{{z{{zz{zzz{{|{|{{{{{{{y{zz}{{{{{{{{{zzzzz|z|{{z|{{{z|{{z{{z|{|{|{{z{{{{z{{{{{|||{z{{{|{{{{{{{|{||{{z|z{{{|||z|||{|z{{zz{{{|{|{|{|{z{z{{{{{}{}|{|||z{{{|{{{||{{||||{{{{{{{||||{|}||zz{zz{z||{{|{|||{{{{{z{{{{||}|}{{zz{{{{{{{{||}|{||z{z{z{|{||{z|{{|y{{{z{z{{{z{|{z{z{zzyz|{{|}{{zzz{{zzz{{{z{||{zz{{zzyz|{z{||{{{{z{zyzzz{|{zz{{{z{zz{zzzzz{z{{|{z{{zzy{z{z{z|zzzz{zzzzz{{{{{{|{z{yzzzz{zz{z{{{{zzzzyy{zz{{{z{{{{yzzyzy{{z{z{{|{{{z{yz{z{{{{{{{{{{z{z{{z{{{zz{{z{zz{{{zzz{|{{{{{zzyz{{{z|{{{{|{||zz{z{zz{{{{{|||{z{{zzzz{||{||||{z{{zzzy{{{{|||{|{{{{z{{{{{{|{|{zz{|{{zz||{{|||{{z{{zzz{{|{{{{{{{{{{{z{{{{|||}||{{|{{|{{{|{{{||||zz{{{{||||}{{{{{{{{|{{{|}{{||||{z|{{{{{{|{{{{{||{|{||{{{}|}{{|||{{|z{{{{z{|||{||{{z{{{{|{{|{{{||{z||{z{{{||}|||{zzz{{{{{|{z|||||z{|zz{{{{{{{||{|z{z{zz{{{{{{{z{zzzzzzzzz{z|z{{|{zyzzzzz|{z{z{|{{{zzzzz{{{{{{z{|{{{z{y{z{zz{|{|{{{{zyyzz{{{{z|{|zzzzzyzzz{{{zz{{{{zy{{zy{|{zzz{{{{yzz{yzzzz{zz{{zz{z{zzz{{z{{{{{zyyzz{zzz{{{{{{{zzzzyzz{y{z|{{{{zzzz{{zz{{{{zz{{{{zzyzzzz{{{z{{{zz{{{zzzz{{{|{{{|z{zzzz{||{{{{{||{zzzz{{z{{{||{{z{zzz{{z|{|{y{|{zzzz{{{zz{|{{{||{zzzz{zz{|{|{{|{|{zzzzzz|{{{z{z{|{{{{{|{{{{}|{{|{{z{{zz{{{|||{|}{|||{{zz{|{|{||{|z{|zz{{{||||||{{zzz{||{z||{|||{{{{|{{z{{|||||}|{{{{{zz{{||{|||||{{{{{{{{{|||{{{}z{z{zzz{{|{|{||{{{z{{{{{|{{|{|}{z{{zz{z{|{z{|{{z{zyyz{z{z{{z{{{z{zz{zzzz{{{z{||{{zyzyzy{{{{{{{{|z{zzzyz{z{z{{{z{zzyzzzz{z{{z{z|z{{{z{zz{z{|z{||zzz{zzzyy{}z{{|z{zyz{yzz{zzzz{|zzzyzzzzy{{z{z{{{zyzyyzzzz{{zzz{z{zzzyyyyz{{z{{{{yz{zzzzz{{zz{{||{{zz{z{zz{z|z{zz{zzzzz{y{zz{{{{|{z{zz{z{z|{{{{{|{zyz{zyyz{{{{{{}{zzzy{zz{{{{{{{|zz{zzz{z{{|{zzz{{zzz{y|{z|{{|{{{zzz{{{{{{{{{{z||{{z{{z{z|{{{{|z{|z{{{{zz|z{|||{|zz{{{z|{z|{|{||{|{|{{{zz{{{{{||||{{{{{{{|}{{|{|||{|z{{{{{|{{|}||{z{|z{||{|||}|}|}{|{{{z|||||{||||{{z{{|{{{{{{|{||{{{|{|{{}|{z|||z{{zz{{z{{{{{{||{{|{z{zz{||{{{|{{{{zz{zz||{{|{{{{yz{yz{zz{z{{zzz{zz{{yzxzz{z{{{{zyzzz{zz{zz|z{{zy{z{zz{{{z{zzzzz{zzzyz{zz{z{z|{zyzzy{zzzz{y{{{{z{yyz{zzzzz{{z{{zzyzzy{y{z{{z|z|{{{zz{zzzy{{z|{|{zzzzyzz{z{z{z{{zzzzzy{zxzz{{{{{{{zzyzzzz{z{{z{{zzy{yzyz{z{y{z{z{zzzzz{zz{{z|{{z|zzzzzz{z{|{{z{{{{zz{z{{z||{z{|{{yz{zzz{z{{{{{{{|{z{z{z{{{|{{|{z{{{{{|yy{{{{|z{||zzz{zzz{zz{|{{{{{{zzz{{{||{|{|}|z{zz{{|{{|{{{{|}{|{{{zz{|||{{{{|{z{|{{z{}||{{||||{|zz{|{z{|{||{|{{zz{{{|{||{{||{{z{|{z{{{{|{||{||{zzzzz{{{{z|{{|{{{{{z{|{|{{|{{z{{{z{z{{z{z{{{|{{|{{{{zz{|z{{||||{|z{{{{{{z{|{{{zzzyzy{yy|{{zz||z{{zz{zz{{{z{{{{{zzz{zz{{z{{{|{{zzzzzzzzz{{{y{{{{zyzyz{zzz||{{{{zzz{{zzyzz{z{{|{|zz{zzzy{y|{z{zzzzzzz{z{zzz{z|{{zzzzyzz{{{{zz{{zzzz{{zyzz{{z|z{zzzzyzzzy{{|{z{{{{zzz{zzyz{{zz{{{{y{z{zyzzz{{{|{zzzzzyz{z{||{{||{z{{zzyz{z{{{{{{{zz|z{{zzz{{{z{z|zz{z{{{z{{{{{z{{{z{zzz{yz|{||{{z{z{zz{z{|||{|z{{z{{{{{z{|{zzz{||{{{zyz{z{|{{{||{{z|{zz{{||{|{}{{|z{{{{{zz||{|{||{{{{|{{|{|{{}{|{|z{|{{{{||{z|{|{{{{{zz{{z{||{{||{{{{|{z{}{{{|{|{{z{{z{{{{|{{{|||z|{{|{{{|{{|{|{{||{zz{{z{{{{||{{{{{{{{{z{|{{{{||{{z{z||z{{|{{zzzzyzzz{zzz{{{|z{|{z{z{zyz{zzzz{{{{z{zzzzzzzz{z{{{{zyz{zz{zz{{zzz{{zzyzzyyz{||{{z{zzzzzy{yz{{{y{{{{{z{zyy{zz{z{{z{{zzzzyzzzzzy{{z{z{zzzzzz{{y{z|{zzzz{zzz{{z{{{|z{zzzyy{{zz{{{zz|z{zyyzyzzz{{{zz{|{{zz{yz{z{z{{{{{z{zzz{zz{{{{{z{z{{z{zy{{{{z{z{||zz{zzzzz{zz{{{{z{{{yzzz{{{{{{||{z{z{z{z{{{z{{{{{|yzzzzz{zz|{{{{|{{z{zzz{{||{{|{zzz{z{{{{{{|}|{|}z|{|{{|{{|{|{{|}{{{{z{zz|||{{|{{|{{zz{{z||{|||||{{zz{{{{{{{{|}|||{z{zzz{||||{||}{z{{{{{{{||{{||{|{{{{{z{{{{z|{||{|{{{{{{{||{z|{~{{{z{{zz{{{{|{{{|{zz{{zz{|{{{{|{{{z{yzz{{{|{|{{{{z{{{zzz{{{{{{{|{{zyzzzyz{zz{{{z{zzyz{zz{zz{{|{|zzzzzzyzz{{{{z|{zzzzyzzy{|{{{{z{zzyzzz{y{{zzz|{{{{{{zzyz{z{zz|{z{{z{zyzyzzz{zz{z{yyzzzzzz{z{{z|zzzzyyz{zzz{z{z{{{zzyyyzy{{{{{{{{{zzzyzzyz{{zzzz{zz{yzz{z{zzz{{{{{zz{z{{y{{z{{{{{{{zzz{yz|{zz{{{|z{{zzzy{{z{z|{{|z{zz{zzz{|{z{{|{zz{zzz{z{{z{{{{{{zyzzz{z|||{{{{{|{zzy{{{z{|{{{|||{{zz{z{{z{|{{|{z{{z|zz{|{{{{||{{y{z{z{z{{{{}{{{{y{{zz{z|{{{||{|{{|{{{{|{{{{{{{{z{{zz{{{z}{{|||}{z{{{{{z}{{{{{|{|z{{{{zz{{{{{|{|||y||zz{{{{{{{|||{{z{{{{{{{{{{}||zz{z{{z{{{{{{{{{z{{z{zz{{{{{z{{z{yyy{zyzz{{zz{{zzz|zyzzz{z{{z{zzzz{zzyy{z{{{{{{zz{zzzzzzz{zz{{{z{zyyyzzzzz{zzz{zyz{yzzy{{zzz{{z{zzyzzyzz{{z{{{zzzzyzzyzzzzzzzz{{{{zzzzy{{zzy{z{{zz{zyyzz{{z|z{{{zzzzzzzz{zzz{{zzzy{zy{z{zz{zz{zz{{yzzzz{zz{yz{{zzzz{zzz{zzz{{{|z{zzzz{zzz{{z{{{z{z{{zzy{zzz{{{|{{{zzzz{{{zz{{{{|z{z{zyzz{z{{|z{z{z{z{zz{z{{zz|{{{{zzzz|{|{{{{||{{{{{{{z{||{|{||{{{zzz{{|{||||{|{{zz{z{{{}|{{{|{|z{z{{{z{{|z{|{|{zzzz{|{|z{|||{||{z{{z{{{|||||||{{{{zy{{{{|{|||{{z{zzzz{{{{||{||{zz{{{zz{{{|z{{|{{{z{z{{z{{{{{{{zz|z{z{{{{|z{{|{{zzyzy{zz{|{z|z{yzzyz{yzzzz{{z|{zz{zzyzy{{{{|{{{zzzzyzzz{z{{z{{{zzzzzzzyzz{zz{{{z{zzzyyzz{|{z{{{{zzzzyzzz{|{z{zzzzzzzz{z{y{z{{z{zz{zzzy{zzzz{zz{zzyyzyzyzzzzyz{zzzzzzyyzzzz{zy{zyzzzzzy{{{{{{{{|{zzzzyzzzzzzz{z{z{{z{zzyz{{z{|{{zy{yyz{z{zz{{{{{zzzz{zzzz{{|z{{{{zyzzyzz{zz{z{{|zz{zzy{{{{{{z|z{zy{zzyzzz{z{{{z{{{zzzzzzz{{{{{|z{z{{{{z{z|{{z{{{{zzzzzzz||{||{||{z|{{{{{z|z||{|{zz{{{{zz{||{{z{|{z{{{{zz{|{{{|}{zz{z{{|{{{{{|||||z|{zz{{{|{{{{|{{z|{{z{{{|||||{|{zz{z{z{|z{||{||{z{{{zz{z{{{{{{|{zzyz{z{|{{|z{{{{{{{{{{{z{{|z{z{{{zzzyzz{z{zz{z{z{{yzyzzz{{{{z{|{yzzzyz{{zzzz{{{zzzyz{z{z{{{{{{{zzzzzzzzz{{|zz|{zz|zyzzz{{{zz|{zzzz{{yzzz{z{z{{{{{zzzzz{z{{zz{z{zzzzzyyzzzzzz{{z{zz{zzyy{{{z{{{{zzzzyzyzz{{z{z{{yzzzyzyzzzz{zz{{zzzzzyzyzz{{z{{{{{zyzy{{{{zy{{z{z{yzzzzzz{zzzz|{z{z{{z{z{{{{{{{{zz{{yzzy{|z|{{{{zy{zzzz{z{{{{{{{z{{z{z{z{||{{{{{zz|{z{zzz{{{{{|{zzz{|zzz{{{z{zz|zz{yzzz|{{{{{{{|z{zz{{z{{|{|z{||{z{{zz{z|z||{||z|y{{{z{{}||{||{|{{{{{zy|{zz{{|{{{{{{{{z{|{{||{|{{{|z{{{{|z|{{{{|{zz{{{z{{{{{|{||{{z{z{{|{||{||{{z{zz{{{{{{{{|{{{z{zz{z{z{{|z{|{{{z{yzzzz{{{{z{{{{zyzzyzz{{{{{{{{{zz{{zyz{{zzz|{|z{zz{{zz{zz{|{{{{zzz{zyy{{{{z{{{{zzzyz{zz{{{z{z}{z{x{zz{z{{zz{{{zz{zzzyz{{zz{{{{zzyzy{zz{{z{z|{{{zyyzzzzzzz{z{{{zz{zyzyzz{{zz{{{zzzzzzzyz{z|{z{zzzyzzzzzz{yz{{{{zzzzy{zzz{{zzz{{zzz{{{zzz{{{|{|{{{zz{zzzy||z{{|{{zzzzyzz{{{{{{|{z{zz{yz{{{{{z{{{{zzzzy{zz{z{{||{z{{{z{{zz{|{{{{{{z|{{{{||{{z{{{z{z|{|zzz||{|{{{|{z{{{{{{{{{|{||||{{z{{zyz{|{{||{|yz{{{zz|||{||||{{{{{{}{{||||||{|{{{{{{{{|{{{|{{{z||z{z{|{|{}{|||{z{{{{z||||{{||||{{{{z{{{|{|{||{{z{{{{{{{{{{{||{{{{zz{z{|{{{{||zzzzz{zz{{|z||{{zzz{zzzzzz|{{{{|{{yyyyz{zzzz{||z|zzz{yzzy{{z{z{|{z{{yzy{{{|y{z{{zzzyy{zy{z|{{{z|{zzzzyxyyzzz{{zzz{zyyzzzzz{{{zz{zzzzy{z{{{z{zzz{z{zzzyzyzzzz{z{zzzzzzyyz{{{z{{{{{{zzz{zz{{|{{z{{{zzz{zzzzz{zzz{{{zyzyzz{z{yzz{zzzz{{{zzzz{z{z{{{yy|{zy|zz{{{zz{{zy{z{yzyzz|{zz{{{zzzzz{z{{{{{{{{z{{{zzzz{|z||{z|zyzz{y{{z{{{{{{|z{zzzzzz{||{{|{{{z{zz{z{{{{||{{|{z{{{{{{{|{|{|||{z{{{z{z||{|||||{{y{zz{z{||{|{||{{z{{{{|{{||||{|{{{{{{{|{|{||{|{{{{|{{zz{{{|{{||zz{{||z{{{}{|}}|{{|{{{z|{{{{|||{{z{z{zz{z{{{{{|{{z{{zz{zz{{{{{||z{{y{zzz{{{|z{z{zzzz{zzzz{{zz{z|zz|z{y{z{z{z|z|z{{{zzyyzz{zz{{{{zz{yz{{zz{{zz{{{{y{zyzyy{|{|z{{{zzzyzzzzz{{zz{{{z{zz{yz{z|{zyz|zzz{zyzz{zy{{z|zzzzzy{zzzz{{{{{{{{zzzzzyz{zzz{z{{y{{{z{zyz{{|{{{{zzzy{zzzzz{{z{{{{zzzzz{zz{zzz{z{{yzzz{zy{{{z{{|{z{z{zyz{{z{|z||{zz{z{zzz{{{{z{{|{zzzyz{{{yzz{|{{z{{z{z{z{{|{{{|z{z{{{zz{{|||{{{{zz{zz{z{{||{{{{{{z{{yz{{{{||||{{z{z{{z|z{|{{z|||{{z{zz{z{{{{{{|{|{zz{z{{|||}||{|z{{z{{{z{{|z{|{z||||{{{{{|||||{{|{{{{{{z{|{{{|{|{{z{{{zz|||{{|||{z|{{{z{{{|{|||||{zz{|{{{{{{|{|}{{{z{z{{{||{|{||{y{zzzzz{||{{z{zzzzzyzzz{||{zz{{z{zzz{z{{{{{{{{|{{zzzzzy|z{{zz{zzzzyzzz{{{{|z{|{zz{xzyzy{{z{{{z{{zz{zzzyz{{zz{{y{zzyzzzzzzzy{{y{zzzzyzzyzz{zzz{{zzzzzzzzzz{z{{|{{z{zzzyzzz{z|{{z{{yzyzzzzz{{{yz{zz{zzyz{yz{z{{{{zyzzzzzzz{{{{z{{zz{y{{{z{{{z{{{{y{zzzyyy{{{{z{z|{{{zzz{{{z{zzz{|z{yzyzzzz{z{{|{{{z{z{yzy{|z{{{{{z{{z{{{z{{{|z{|{{{z{z{{z{{{{|{{{{z{z{{{{{{||{|{|{{{y{{|{|}{||{{||z{{{{z{{{||{{|{|zz{z{{{{|{||{|{z{{{{z}{|{{{|{|||{|{z{{|{|{|{|{||{{{{z{{|{}{{||{{zzzy{zz|||{z||||z{z|zz{{z|{{{||zzzzz{{{{|{{{{}|{zz{{{{z{{{|z{{|{{|{zz{{z|{z{z{{zzzzzzyyz{{z{{z{zzy{zzzy{{{zz{z||zzyzzzz{zzz{{z{zzzz{zzzyzz|{z{|{zzyyz{zzzzz{{z{zzzz{z{zzz{y|{{zyyzyzzzzzzzzzzy{zzzzzzzz{z{zy|z{zzzzzzzyz{{{z{zz{{z{yzyzz{{zzzz{zyzzzzyyzzz{{{{{{zyxyyzzzzz{z{z{zzzyyzyzy{{yzz{{{yz{y{zzzy{zzz{zzzzzzzzz{z{y{{{{zzz{{z{{{|{zzz|{zzzyzz{z{{{zzz{{zz{{{yzzz{{{z|zz{{{zzzzz{{{{{z|{zzz{z{z{{{{{{|z{z{z{{zz{{{{|{{{{z{{z{{{{||{{{||||zz{{z{z{||{{||zzzzyzzzz{{z|{|{{|{{z{{{{{{{{|{{||{{{zzzz{{|{{{|||{{z{zz{{||{{{{{{{y{zz{zz|z||{|{|z{{|{{z|{{{{|{{z{{{{z{z{{{z{{}{z{{{zxzzz{|{{{z{zz{zzzzzz{{{{|{{zy{zz{zzz{{z{{{|z{{zyzzz{{z{{{{{zzzzzzzz|{zz|z{|{{zzzzz{{{{{zz{zzzzzzzzyzz{{{z{{yzzzzzzzzzzz{z{yzz{zzzyzzz{{z{z{zzzzyzyzzzz{z{{yzzzzz{zyz{zzzzz{zzyzzyy{zz{z{{zzyyzzzzz{yzzz{{||zz{yzzzz{z{{{{z{z{zzyyyyyzz{|{{zzzzzz{zzz{{|{z{{zyy{zz{zz{z{z{{{z{{y{zzzzz{{{{{{{z{zzyzz{{{z{{|zzz{|{z{z{{{|{{{{zz{z{z{z{{{|z{y{zzz{{zz{{|{z{{{{z{{z{z{{{{|{{{{{{z{y{zz{{{|{{{}|{{{|zz{z|||{}{|{{yz{{zz{}|{||{|{{z{{z{||{{|z{{{|{z|{{{{{{}{{{|||{{{{{{{{{{{{{{{{{z{{z{{{z{{z|{|||{{{{zz{|{{|{{{|{zz{z{{{{|{|{{{{|{{zyzzzz||{z{|||z{zzy{zzz|z{{{{{zzz{yzzz{zzzz{{z{{z{yyz{{{z{z{{{z{zzzzz{z{{{z|{{{{zzyzzz{{z{{{z{z{yyyzz{zz{z{z{zzzzz{zzzz{zz{{z{y{zzzyzzz{zz{yzzzyzz{zy{yzzz{{{yz{yyzzzz{{z{z{zzzzzzz{y{zzy{{zzzz{yzzzzz{z{{z{{zyzyyzzzz{z{z{z{{zz{zzzzz{z{|{{{{{zy{{zz{zz|{{{|{zyzzyzz{{{z{{|{{zzzzzz{z{zz{zz{zzzzz{{z{{{{{{{{{{{{{yzz{{{z{{{|{zzyzzy{{|{{{z|z{{z{z{yz|{z{z{{{{{zz{{zz{{{{{{||z|z{|{{z{{}|{|{|{{z{{zz{||{{|||{{z|{{z{{{|{{|{|||z{{{{{{{{{{|{{||zz{{{{{|{||{|{|{{{{z{{{{{{|z{{{|{z{z{|z{{|||{|{{{{{{{zz{z{{|{{|{{|{{{{z{{{{{|{{{{z{zzz{{|{|{|{{z{{z{zzz{{||{y{{zzyzzzzyyzz{z{z{zzzyyxz{{zzz{z{zzzyyyzyzz{zz{{|zyyzz{yzzz{{{z{{zzyzyyzyyz{z{zzz{yyzzz{zzz{zz{{{zzzzxxzyyzz{yyzzzyyyyxzxyz{y{zz{{yzyzzyzyzz{yzz{yzz{yyyzzyzzz{zyz{zz{yzyyzzz|{{{{zyz{zyzzy{yzz{{zz{yzyyyyz{zzzz{z{zzyz{zyzy{zz{{{zyzzzzyzz{z{zz{{zyzzzy{zz{yy{z{{{zzyzzzz{{{zz{||{{zzzyyyz|{{{z{zzz{z{zzzz{zz{z{zzzzz{zzy{{{{zz{{zzz{{{zzz{{{{{{{z{z{zzzz|{{{|z{{zzzz{z{z{{{{z{zzzyy{{{{z{|{z{|{|zzz{zz|{{|zz{{{|{z{{z{{zz{{{{{{|{z{{z{zz|{{{{||{z{{zz{zz{{{z|{{{zzz{|yz{{|{{{{{|zzzz{zz{{{{{|{{{|{zzzz{{zz{{{{|{zzzyzzzzzz{{z{{{z{zzzzzzzz{{zz{{{zzzzyzzz{z{y{|{{{zz{yyy{{z{{zz{y{{zzzzz{zzzz{{{|z{zyzzy{zzz{{z{zzzzyyyz{{{zzzzzyzyzzzzyyzzzy|yz{zzyyzyyzyzzz{yzzzzzzzzzzy{{zz{zyzzzzyyzzzzzz{zz{zzzyzzz{z{{{z{{zyzyzyzzyzyz{zy{{zzyzzyzyzzzzyz{{zzxz{zyzyz{{z{zzyzzzyzzzzz{{z{zz{{zzyzzzzz{zz{{zzzzzyz{{{z{{zz|{yyz{zy{{{{{{{{yz{zzzyzy|{|{{{|{zzzy{zz{{{zzz{|z{zzzz{yz{{{||{{{z{z{{{z{{|{|||{{z{z{zzzz{{{{{{|{{{z{{{{z{||{{|||z{{{zzz{{|z{{{{{{{{{{{{z{||{|{|{{|yz{{zz|yzz{||zz{{{{zz{z{{{{|{}{{{{{zzz{{zzz|{|z{{z{{zzzzz{{|{z|{z{y{zz{{{{{{{z{z{yz{zz{z|zzz{z{zzzyzzzz{{zzz{{yzzzyzzyzy|{{|zzzyyz{zzzzzzyz{{{zyz{yyzzzz{yzz{{zzzzzyzyzz{zzz{|zz{zzzzyyz{{zz{zzzzzyyz{{yzzz{zzzzzzzzyzzz{{z{|{y{zy{yzyz{zzz{{zzyzyzzzzz{{zzz{yzzzzzyyzz{z{z{z{{{zzyzzz{z{z|{zyzzzzzzyzyz{{z{{zzzzzzzzyzzzzzz{{zzzzzzyz|{{|{zzzzzz{yy{zz{{{{{z{yy{{zzzzz{{zzz|{{zz{zz{zz{{z{zzz{zzzzyzzz{|z{z{{z{zzz{zzzz{{{{|}zz{{zzz{{|{|z{{{zzzz{yz{z{{{z{|{zzz{{yzzz{||{{|z|zz{{z{zz{|{{|||{{{{z{{{{{{{{|{z{z{z{z{{z{{||{{|{{{zzz{z{{{|{|{{{zzz{z{{|{{||{{{zz{{{{zz{{{{{||{y{y{{y{z{{{{{{{{{{{yzzzz{{{|z{{|zz{zzzy{{{{z{zz{zyz{zzzyz{{{zz{{zzzzzzzyzy{z{{{{zzyzyzzzyz{z{{zz{{z{zzyz{zzzzz{{zzyyyzzyzzzzyzyzzzyyzyyzz{zzzzzzzy{yzyyzzz{z{zz{{yzzyzyzz{zzzzz{xzzzzyzyzz{zzz{z{zyyyzyy{zzz{z{{zyyyzyzzz{yz|{zzzyyzzyyzyzzz{{z{zzyy{xyzz{zzzzz{zyzyzzzyyz{{{{{{{zyyzyyzzzzzzz{|zz{zzzyyzzzzz{{zz{{zzyyz{||{z{{{zzzyzyzyz{zz{{z{zz{yy{yy{{{{{z{{{zzzz{z{{{{zz|z{{yzy{{zyz|{|z{{|{zz{{zzz{{z{{|{{{{zz{zyz{{|{{{z{zz{y|z{z||||{{{|{{zz{z|{{{|z{|zz{zz{{zzzz{{|{{|{{{{|z{z{{{{{||{{|{z{zz{|z||{{{{|{{{zz{zzz{{{||z|{{{z{zzzz{z{{{|{y{{zzz{zzz{}{{z{z{{yyz{z{z{z{{{zzzyyzzxyzzz{zz{zyyzyzyyyz{z{{zz{zzyzzy{zzyzz{{{zzzzyyzxy{{zz{z{zzzzzz{zzz{z{zz{|zyzyzzyyz{zyz{|z{zyyzyzz{z{zzz{yzyyyyzyzzzzzz{{zzzyyzyyzz{zzyzzzyyzzzzzzyzzzzz{yyyzzyzzzy{zz{zz{zyzyzyyxyzzz{zz{zzzz{zzyzyzz{{z{zz{zzyyzz{zz{{{z{zzzzy{{zz{zzzz{z{zzyzzyzzzz{y|{zz{zyzz{z{zzz{{{yz{yzzzzz{z{zz{{zzzzzzy{{zz{z{{z{zz{zyzzz{{z{{{{{zyzzzz{z{{{{|{{zz{z{zzz{z{|{|||z{zzz{zy{{{{z{|z{zz{{z{{{|{{{zz{{zz{{zzzy{{{{|{{{z{zzz{z{|{{{||z{yzzzyz{{{{{|z{z{{{z{zz{zz{{{|z{|{z{z{yzz|z|{{z{{zzyz{z{{{{|{{|{{zz{z{{zzzz{|{{{zz{zyzzzz{{z{yzzzzzyzzyyyyzzyz{{zzyyzyyyzzzz{{{{zzzzz{yzz{z{z{zzzz{z{zzzz{z{zz{{zyzzzyzyz{z{yzz{zyzzyyzyzzzyy{z{zzzyzxyyy{{yz{z{{zzyzyzyz{z{{zzzyxzyyyzzxyzyzyzzzzzyzyyyzyzzzz{zyyzzyyzx{zzzyzzzzzzzyzyxzzyyy{zzzzyyyyzyz{zzyzzzzyzyzyxyz{{zz{{|zxzzzzyyyz{zzz{zyzzyzxzz{z{{z{y{zzyzyzzzzz{z{zz{{zyzzx{zzzz{z{zzzzzzz{zzz{{z{{{z{yzyzzzz{z{zzz{zzz{zzzz{{{{{{|{{z{zyz{zy{{{{z{{{{{yz{{zzz{{{{{{{|zzzz{zy{||{{|||{z{zzz{zz{z{{||{{zzz{{z{z|{{{{{|{{y{z{z{{z|{z{z{{{z{{{zzzz{zz|||{zz{{{z{z{{{{{{|{zzzzzzzz{{{{{{{yz{z{zzzz{z{z{z{zzzzyyzzzz{{{||{yzzzyyzyzyz{z{zzyzyyzzyzzzzz{{{{zz{yyzzyzzyzzy{|zyyyyxxzzyzzzzzzyzyyzz{yzz{{z{z{zzzzyyyzzzzzyy{yzyzyzzyyzzzzz{zzzyzyyyzy{yy|yzz{xyzzyyzxzzzzzzzzyyzzxzyyzz{yz{{{zzzzyzyyz{z{zzzz{zzyyzyyzzyzzz{{zyyyyzzxy{zzzz{{{zzzzzyy{{{z{z{zzzyy{yyzz{z{{z{zyzzzzzz{zzzzzz{{{zzzzyzz{z{zzz{{zyyzzy{zz{|{{{{zzy{zzzzz{{zz{{{{zz{{zzyzz{zz{{zzzz{{zzzz{{{{{{{{{zzz{z{z{{{|zz|{{zz{{yzz{z{z||z{|yz{{{zz{{|zz|{z{zyzzz{z{{{{|{{{{z{zz{{{{|z||{|{{zzzzz|z{{||{{{|{yz{zzzz||{|{z|{{zz{z{{{{{{{z{{|zz{yyz{{z{{|{{zz{z{yzy{y{{y{{z{zyyzzyzyzz{zzzzzz{yy{zzzyz{zz{zzzzzzyyzzy{{{zzz{{zzyyyzzz{|{{{{{zyzzzyxyyzzz{zz{zyyzxyzzyyz{z{|{{zyzzyyxy{zyzzzzzzyyyzzyzz{zz{zyyzzyzxyyyzzzzy{z{yzzyzyyzyzzzzz{zzyyyyyzzzzzy{zzzyzy{yzzzyzzzzz{zzyyyzyzzzzzzyzzzzzzyz{zyzzz{y{zzzzzzzz{z{{{{{{zzzzzz{yzzz{z{y|{{yzzzyzzyzzzzz{{{zz{zzzzzzzz{zz{zzzzzzy{zz{z{z{zzzyzyzyyz{z|{{y{z{y{yzzyz{{zz||zz{{zz{zzyzz{{{{z{zz{zzzz{{{z{z{z|{{z|yyy{z{z{{{{{{zzz{zzz}{{{|{|{z{{{{{{{z{{{{{|{{zzzyzy{{{|{|{|}zz|{zz{z{{{{{{{{zz{{{zzzz{{{||{|{{{z|zzz{{{{{{{zz{{zzzz{{z{{|{{{{zzzzzzzz{{{{z|{{zyyy{z{{zz{z|{zzzyyzzzzzzzz{z|{zyyzzzzzz{{{zz{|{zzyzzyy{z{zzz{{zzzzy{yzz{{zzz{{zzyzyzyx{zy|{{z{zzzzzyzyzz{y{z{zzzyzzyyyzz{{z{zzzz{zyyzzzzy{y{{{z{zzzy{yzz{zzzzzzzzzyyzzzzzy{z{z{zzzzzzyz{zyzzzzzzzy{zyyzzz{{zz{{yzyzyzzzzzz{{{{zzzyz{zzzz{{{y{{z{zyzzzzy{{zz{{{zzzzyz{z{y{{{z{{yzzzzzyzz{{{{z{{{z{zyz{z{{{{{{{|zzzzzzyzz{zz{{|{{zzz{{y{z{{z{{|{zz|{{{yz{{z{{{|{{{{z{{z{{{z|{{|z{zz{|zzyz|{{|{{z{{zz{zzzz{{{{{{{{{zz{|zz{{{{{||{||{zy{y{{|{|{|{|zz{zzz{{|{{{{|{{{{z{zz{{{zzz|{{}{z{z{zzz|{{{{{{{zzzzy{zyz{{||{|{|{zzzzzzz{|{{z{{zzzyz{yzz{{z{z|zzzzyzzzz{{{zzzzzz{zzzyxzzz{zzz{{zzzzyzyy{zzz{{zz{zzzzzzz{z{{{zz{zzyyyxzy{zz{{{|{yzzzzyyxz{zzyzzzyyyzzyyzzz{zyzzzyzzyyyzzzzzzz|{zyzyzyxzyzzzyzzz{zyyyzzyy{zz{{{z{z{zzyzyyzzz{{{{zzzyzzzyyyzyzzzz|zz{yyzzyzzyzz{{{zzzyzzyzzyz{{zz{yyyz{yyz{zz{{z{z{yzzzzzz{zzzz{{|y{zzzzzz{{{{z{|{zyzy{zzz{{{{{z{z{zzzzzzz{{{y{{{zzyz{{zzzz{{zz{{{{zzzz{xz{|z{{|{{{zzyz{{z{{{|{{{|{zz{zzy{{{{{{{{z{{zzzzzz{{{||||{z{zz{z{zz|{{{{||zyzz{{z{z||z{|{|{zz{{{{{z|{{{z|{{zzz{zzzz{{{|{{|{zzzz{zz{{{{z{{|{zzzzzz{z{z{{{{{{{zzyzzzz{|{{z{{zzzzzyyz{{z{{{yz{yzzzzyyz{{{z{{{zzyyzzyyz{{zz{{zzzzzzzzy{{{y{zz{{z{zzyzzzz{zz{zz{zzzzzzyzzzzyz{|zyzzyyzz{zzzz{{yzzzyzzzz{y{yz{zzzyzyzzyzzzzzz{zzyy{xzyzyyzzzzzz{zyxzz{yyyz{z{z{{zzzzyzz{z{zyzz|zyzzzzyyyzzz{zz{zzyzyzzyzzz{{zzzzzyzyz{z{z{zz{y{{{zyzzyzzz{zy{z{{zzzzzyzz{zzzz{{zzzzzyzzzyz{{zz|{zz{z{y{yzzz{z{{yzyzzzzy{z{zzz{}{yzzyyzzz{{z{z{{{{{{z{z{z{{z{{|{{zz{z{zzz{{{{{zz|zzy{yyzz{{{{{{|{{zz{{{{zz|{{{{|z{{{zz{{{{{|{|||{{zzzzz{z{|{{{z|{|z{z{{{z|{{{{{{{{y{zzz{{{z{|{|{{{|{zzzz{{|{{{{z{zz{{zzzzyz{{{}|{{zy{yyzz{{z|zz{zzz{zyyzz{{{{|yyzyzyyzyxyzz{zzzz{yz{{xyyy{zy{zz{{zzyzyzzyzz{z{{{{zzzzzzyzzyzzzz{z{{zyyzzz{y{{{zz{yyzyyyzyzzzzzz{zzzzyyzzz{zzzz{z{zzyyyzyz{zyzzyzzyzyyyyzyyyzyyzzzzyyzz{xzzzzzzz{z{yzzyyyzy{zzz{zzzzz{zxyyyzzzz{{zzzyyyyzyzzzz{{{{zzzzz{yzzzz{z{z{{zzyzyyz{{zyzz{{zyzzzyzyz{zzzzzzz{yyzyyzy|{z{{z{z{yzzyyz{zzzz{{zzzzyyyxyz{{zzz{{zzz{zzzz{z{z{{{{y{zzz{zy{{{{z{z{zy{{z{{z{z{|{{{|zz{{zzz{y{{{y{{zzzzzzzzz|{{zz{{{z{zzz{z{z{{{{{|{{z{zzz{zz||{{||{{z{{zz{zz{{{|{{{zzzzzz{{{{{{{|{{z{zz{yzzz{z|{{{|{{{yzzzzz{z{z{{{{{{zz{zy{|z{z{{{zzzzzzyzz{zzzz{{zyyyyyzyz{zzzz{zyyzyzyzy{zyy|{z{zyxywzxzzz{yz{{zzzzyzzzz{z{yz{{{zz{yyyzyzzzzyzzzzzzzz{yyz{zzy{{zzzzyzyzy{z{z{{z{zzzyzyzz{zy{z{{{yzzyyyyyzzzzzyz{zyzzyzyyzzzzzzzzyy{yyyzyy{zzz{|zzyyzyyyzyz{zzzzzz{zyzyy{zzzzz{zzzzz{zz{yz{zzz{|zzyyyzyzzzzzzyzz|zzyzzyzy{zzz{{{{yz{yyyyzzzz{z{{{z{zz{{zzz|{z{{{{zyzzzzzzz{{{z{{{{yyyzzyz{{{y{{{{zy{{{zyz{y{{{{{{zyz{{{{{z|{{{|{|zzzz{yzzzz|{{{{{{zzz{y{{{|{{{|{{z{yz{{{y{z|{{{z{{{zz{{{z|{{{{||{{{z{zz{z{{|{{z|{{y{z{z{zzz{|{{{|{{z|zzzz{z{|z{{|{{{zz{{z{z{{{|{|zz{zz{{z{{z{zzzyzxzzzzzz{{{z{{z{zzzyyzyyyzzzzzzyzzyzzzyzz{zyzz{z{zzyzyyzzzzz{{zzzyzzzyzyzz|z{z|{zzzzz{yyzzzzzz{{zyzzzzzz{{{zz{zzyzzzyyzzzzz{zzz{zzyzzzzyzzzzz{zzyyyyzzyzzzzyzzzzzyyzyzyyy{{zz{zzyyzzyyzzz{zz{y{{zzz{zyzyz{yzz{y{zzzyzzzzzzzzzzz{zz{zzzyyzz{{z{{zzyzyz{yz{z{zzz{{zzzzzzzzzzz{z{|zzzz{zyzzy{zy{z|{{zyzzx{z{{z{z{{{zzzz{zz{{z|z{{{{{z{{z{zz{z{zz|{{{zz{{zz{{{{z|{{|{{zzzz{z|{z{{{{{zz{{{zzz{{{z|{z{{zzzz{z{{z{{|{{{z{zzz{z{z|{{{||{{zz{{|{zz{{{z{{{{zzzz{zz{{||{||{{{z{z{zz{{z{z|||{{zz{zzzz{z||{|}{{y{z{z{{{{{z{{{{{zz{zzz{{{z{{{{yzzzzzzz{{{z{{{zzzzzyyzyyzzyzzz{zzzyyy{xy{zzzzz{zzzyyyyzzzz{{z{zyxzzyzyzzzz{yz{{zz{zzzzyz{zyy{z|yzyxzyzyyzzy|zzzyyzyyzzyz{zyz{zzzzyxyzxyzyyyyzzzyyzyzyzyyzzzzz{z{zyzyyyzzz{zzzzzy{zyyyyyyz{{{{{zzzyyzzyyz{zzz{yzzzzy{yyyyzzzzzy{z{{yyz{yyz{{zzz{zzyyzzzyy{yzyzz{zz{yyzzzyzzzz{{zzzzyyzzzz{{yzz|zyzzyzyzz{|zz{{{z{zyyzy{y{z{|z{|z{{yzyzzzzz{zzz{yzz{z{yzy{{{{{{{{yzzzzyzzzz{{z{|{{{zzzzzyz|{z{||{{{{z{z{z{{zz{|{|zzz{zzzz{|z{|z|{{{z{{z{z{{z{z{{|{y{{y{zz{|{{|{{zzzzy{zzz{z{{{{|{{{yz{zz{zz{{{{{|y{{yzzyzz{z{z{||{z{yz{zzz{{{z|z{{z{{zyzzzzz{z{zzzzyzzzyyzzzzyz{{{z{yyyzzzy{z{zz{zzyzzyzxz{{zzz{z{zzyzyzyyy{{yzzzzyzyyyzyzz{{z{zz{yz{zzzyzzzyz{{zyzzzxyyzyy{zyz{zzzyzyyzyzz{zy{zzzzzyyzyzz|{z{z{zzyyyzzyyz{{zzzz{yzzzyzyzz{z{zz{zzzzyzyzyyzz{z{|y{yzyyzyzy{zz{|{{zzzyzyzyzzz{{zzzzyzzz{yzz{z{z|{{zzzzyzzyz{zz{{{{zz{{xzzzzzz{z{{{zz{yzzzzyzz{|z{zzyzyzz{z{{{z{{|{zyz{zz{y{{{|zz{{zzz{zy{{{{{{{{||z{zz{z{y||z|z{{{zz{{{zyy{{{{|{|{{z{z{{{z|{|{{{|{{{z{z{{z|{{z{||||zz{{yz|{{{|{||{|z{zz{{z{{{{{{{{zz{zz{{z{z||{z{{|{zz{|{{||{{|{{{{zzzzzzy{{{{{z{{yzzzz|{z{{|{{{{{z{{zzzzyyz{zz{z{zyyzyyyyz{{zz{{zzzyyyyzyzyyz{{zzzzzyzyzyzz{z{z{{yzyzyyyyzzzz{zzzzyzyzyyyzzzzzz{zzyzyzzzyzz{{zz{{zyzzyzzyz{{zzzz{yxyzyxzyyzzzyzzzyzyzyyzyzzyzzzzzzzyyyyyzzzzy{{|zzzzyyzzyzzzz{z{zzzyzzzyyy{y{z{zzzzzzzyyzz{zzyzzzyzzyzzzy{zzz{z{{zzzzz{zyzzzz{zzz{zzzzz{zz{z{yz{{zyzzzzz{{{zzz{z{zzzyyyyyz{{{{z{zzyzzzzzz{z{{zz{{zzzzzz{zz{{zyzz{zzzyzzzz{zz{{{{{zyzz{z{z{zz{{||{zzzzzzzz|{{{{{{{{zzzzzzz{|zz||{{{zz{z{z{{zz{z{|{{zzzzz{{z{{|{{{|{zz{z{zz{{{{{{{|zzz{{{zz{{zz{{{|{yzzz{z{{{z{{{{{z{yyy{{zz{{{{{{z{zy{zzzzz{zzz{|{{zyzyzzz{{|z{{zzyyzyyzyyzzz{{{zzzzzyyzyyz{zzzyzz{{yyyzyzzyzz{{{{zyzyzyzyyz{zyzzzzyyyzxzxzyzz{{zzzzyyyyzxzz{y{{zyzzzyzyyyz{zzz{zzyyyyyyyzzzzyz{z{zyyyyyyzzyzyz{{yzyzyyyyzzyzzzyz{yzzzyzyzzzzzyzz{zzyyyyyyz{z{zzzzzzyzyyzyyzzyz{zyzyzzyzyxzzz{{{{z{zyzzyyzz{zzzzz{yyzzzzyzz{zzz{z{zz{zzyzyzzzz{{{zzyzzzzzz{zzz{zzzzzzzzzz{zz{z{{{{zzzyyzyy{{{{{{z{zzzzzz{z{{|{{{{{yz{zz{zyz{z|z{{zzz{{zzyzz{|z{z{{{zzzzzzz{||{{z{{zz{{zzzzz{{{{||{|zzzy{zz{{{{{{{|{zyzyzzz{z{{|{z{{zzyzzz{{{zz|{{z{zzz|{z{{{z{{|{zzzzyzzzzz{z{{|{{{yyy{zzyz{|{z{{{zzzyzyzzzz{z{z{yyyyzyzzyz{zzzz{zyzyzzzyzzzzz{z{yzyzyzzzy{y{z{z{{zyyzzyyzzz{zzy{{zzzyyzzy{{yzzz{zzzyyyyyyyzzzzzz{zzzyyyyyyzzzz{z{zy{xxzyyzzyzyzzzyzyzzyzzzzzzz{z{zyzyyzyzzz{{z{z{zyzxyyyzy{yzzz{zzzy{zxzyyzzzzz{zyzzyzzyxzzzzzzzzzyzzy{yyz{zzz|zzzyzyzyzz{zz{zz|{zzzyyy{zz{zzz{|{zz{y{yzzzz{z{z|{{zzzzyzzzz{zy|{{{zz{yyzz{{zzzz{zzzy{zz{z|{|zzz{{yzzzy{zzz{|{{{{|zz{yx{{z|{{||{{{zzz{z{|z{{{z{{{{zyzyzyz{{{{zz{{{{{zzzzz{{{{{|{|{|yzz{zzzz|z|{{z{zz{{{{z{{{z{|||{|{{|{{zzz{{{{{{{{z{z|z{z{|{{{{{{{z{yzzyzz{{{z{|zzzz{zzzzz{{{{z{{{{{yzzyz{z{z{{{zyzzyyzyyy{{zz{zzzyyzzzyzyzz{{zz{zyzyzyzzzzzzzz{{{yzxyyyyz{{zzzz{zyzyxyzyzzy|yyz{zyyzyyzzzzyyz{zzzzzzzyyzzzzzy{zzyyzyy{zyyyzzzzy{zzzyyyyyzzzzzy{zzzyzyzzyzzzzyzz{zzzxyzyzyzz{z{{zzzyzyzzxz{zyzzzz{yzyyyyyyyyyyzzzzzzyz{yy{z{z{zzzyzzz{zzzzz{{zz{{zyz{zyzzz{zzzzzzyyzzyzzyxz{z{z{{zzyzzyyy{z{{z{zzyz{yy{yyz{{zzz{{zyzzy{zzz{{zz{zyzz{zzzyz{{{{{{{zzz{zzzyz{{z{{{||zyz{{zzyz{{{z{|{{y{{zzzz{{{{{{{|{zzzz{{zz{yz|||z{{{zzzzz{{{zzz|{{{{z{z{zz{{{z||{|y{yzzz{zz{y{{{{{zzz{zzyzz{|{{{{{z{y{zzz{{{{{y{{z{{zzz{z{{{{z{|z{{zyyyzzzzz{z{z{zzyyzyz{y{zyyyz{zyyxzyzzyzz{z{zzzyzyzzyz{zzyzz{zzyyyyyyzzzzzyyz{zyzyyzyyzzzz{zyzzzyyyyzxyzz{zzzyyyzyyzzzzzzzyzyzxxyyyzyzzyyzy{{zyzyyzyyyzz{z{zzyzzzyyyzzyyzzz{{yyyzzyyxyzz{zzzzzzyz{zxyxzzyzy{zzzy{yyyyzzzy{{zzzzy{yzzzyzzzyzzz{zzzzzyzyzzzz{zzzzzyzzyyyzzzz{z{{yzzzz{zzzzy{{{zzzzz{zyzyz{z{{{{z{zyyzz{y{{{z{{{{{{zzzyzz{z|y{|zy{yz{zyzz{{{z{{|{{z{yz{|z{{{|{{||zzzzz{yyz|{{{zz{{zzzzzzz{{{zz{{{{zz{{{z{zzz{{|z{{{zz{zz{z|z{{{{z|zzzzyz{|{z{{zzz{zzz{{yzzzzz{{z{{zzz{zzz{{{{{{{|zz{z{{zyz{{zz{z{zz{yzzzzzzz{{{{{z{zzzzyyzz{zz{{zyyyzzzyyzzzzzyzzyzyyzzyyzzzzzz{zzzzzyyyx{{yzzz{zzzzyyyzyyz{zyzz{zzxyzyzy{zzz{{z{yyzzzzzzy{zzzzzzzzzyzyyyyzyyzzzzzyyyyzyzzzzzy{zzyzzyzyzyzzz{zy{{zy{yxyxyzz{zzyzzzyyzyzzyzzy{zzzzzyzzzyyyzzzyzzz{yzzyzyyyy{zzz{{{zzzzy{yyzzzzz{zzzzz{zyzzz{{z{{zzzzzzzz{zzzzzz{z{zyzzzzzzz{zz{z{{zyzzzyzzz{z{{zzzzzzzzyx{zz{zzz{{zyz{zzzz{{{{y{{z{zy{z{zz{{{z{{{{z{y{z{z{{zz|y{{|zz{zzzzzzz{{{z{{{{z{{{{y{{{{{{{{zzzzz{zzz|{z{|{{{z{z{{{zz||{z{z{{zzzzzzz|z|{z{{{zzzzz{zz{{{{|{|z{{y{zzz{{{{{{{z{{zzyz{{{zz|{{||z|{y{zzzzz{{{|{{zzy{{yzzz{zz{z{zzzyyzzyzyzzzzzz{zzyyyyyyzzzzzz{z{yzyzzyyyy{z{{z{z{yxzyzzxyyzzzz{{zyyyyyzxzzyzzz{{yzzxzyzyyyzzz{zyzyzyyyyyy{zzy{zzzzyyxyzyzzzzz{zzyxzyzzyyzz{zzz{zzyyyzyyyzzzzzzzzyyzyzyzzz{zzzyzzyyyzzzyyzzzyz{zzyyyzyzzzyzxzzzzzyyyzyzyyzzzzzzz{{zyyyyzyz{z{zz{{yyzzz{yzzzz{z|{zzyzzyzzy{z{{z{z{z{zzyyzxzz{z{{z{{yzzzyy{z{{yz{{zzzzzzy{z{y{{z{{{{zzzz{z{zzz{{z{zzz{zzzz{{zz{{y{{{y{zyzyz{{{{|{{{yzzzzzzz{{{yz{{|z{zz{zzyzz{z|{{{{zzz{zzzz|z{z|{|zz{{|yzzz{{{{{zzzzzz{zzzzz{{{{{|zzzz{{zz{{|zzz{{{z{zzzzz{||{zz||{{zzzyzyz{{{{y|z{z{zzyzzzz{z{{{zyzyyyyzyyyyz{{{z{yzzzzzzzzzzz{{z{zzyyzzz{zyz{{z{{zzyzzzyzz{zzzz{{zzyyyxyzzy{z{z{yyyzzzzyy{y{zzz{yyyyzyyyzz{y{z{zyzzyzzyzzyzzzzz{zyyzyyyzz{zzyzzyzyxyyzyyzz{zzzzzzzzyzxzyzz{{zzzzyyzyyyzyzz{zzzzzzzzzzyzzyzzzz{zzyz{yzzzyzz{{zzz{zyyzyyzzz{{zz{{{zz{zyz{y{z{z{z{{zzzzzyzzyz{zz{z{zzz{{xyyzz{{{{{z{z{zyzyzz{{z{z{zzzz{{zzzz{{{{{{{zz{z{yz{{zz{{{{{zz{zz{zz{{{{z{|{zz{{z{y{z{{zzzz{{zz{{zzy{{z{|z{|{zzzzz{zz{{{z{{{{{zzz{zzz|{|{{{|{{zzzz{z{|{|{{{z{{z{z{{z{{{{{{{|{{zz{zyz{z{z{{{{zzz{z{zzz{zz{{|{zz{zyzzy{z{{{{{z{zzzyz{z{{z{{z{{yyzyyzzyz{y{y{{zzzyyzyzxyzzz{y|{zzzyyz{yzzzzyz{zzzzzzyyzyzz{z{{{yzzyyyzzzzzzzz{{zyzzzyzzyzzyyz{{{zyyzzyzzzzyy{zzzyyyyzyzzzzz{yzzxzzyxzzzyzzzzz{{zxzyzyzzz{zz{{z{yz{yzzyxzzzz{z{zzyzzyxyzzzz{zz{{yzzyzxxzyzyyyzz{yzzzzzzzzzzz{yzzyyyz{zyz{zzzz{z{zzyyzyyy{z{zz{{zzyzzyzyz{z{z{z{yzy{zz{zz{{{{|{{z{zy{{yzzy|z{{z|{{zyzzzzz{{zz{zz{{{yzz{{y{{z|{{{{zz{y{zzyzz{zzz|{{zzzzzyz{z{|{{|zzzzz{{{z{{{{{{|{{{{zz{|zz{{{{||{{{zyz{{zz{{|{|{|{zz{yzz{{z{{{{|{{zzzz{z{{z|{z{{|{{z{z{zz|{{{z{|zz{zzz{zzzzz{{{{{{z{zzzyzyz{z{z{zzzzy{{yyz{{z{yzzyzyzyzyyz{zzyzz{zzyzxzyzyzzzz{z{zyyyzxyyyzzyz{z{yyzyzzzzyyzzzzz{zzyyyyzzzzyyyzzzzzzyzyzzy{zzzzzzzzzyxyxyy{zzy{yyyyzzzzyzzyzzz{yzzyxzzyyz{zzzzz{yzz{yyyyyy{yyzz{zzzzyzyyyz{zzzzz{zzyyzyyzzzzzzz{zyzyyzyyyxyzzzz{{zyzyzyyzzzzz{z{zyzzyzyzyzz{zy{{{y{zzzy{yzzz{{z{{zzyzyzyzzzzz{z{zzzzzyzzyz{{yzzz{zyzyzxzxzzz{{{{zzzzzzzz{{{{z{{{{zzzyzzzz{zzz{{{{z{z{zzz{{{{{|{|z{zyz{zzz{{{{z{{zzyz{z{z{z|{z{z{zzz{z|z{{{{zzz|{{{z{zzzzzz|{{{{{{zz{{{{{z{{zz{{z{{zzz{zz{z{z{{z{{|{zzzzzzzz{{{|{{z{{zz{zzzz{zzz{{{zzzzzz{z{{zz{|zzz{zzyyy{z{zzz{zyzyzyyzzzz{zzzz{zyzzzyyyzzzzz{{zzzyyyzzzz{zyzzz{zxyyzzzyy{{zzzzzzyzyyyzyz{zzyzz{zzzyzzyy{{{zyzzyyyyyzyxz{z{zyzz{zz{yyzy{yzyzzzzzxzyyyyzyy{zyzzz{yyzz{zzzyz{yzzzz{yyxyyzyz{{{z{{{zzzyyyyyyz{yz{zzzy{zyyyzyzz|z{zyyx{zzzyyyzz{{{{{yyzyzyyzz{{zz{{yyzz{zzzzzy{{{{{{yzzzzzzy{{{z{z{zzz{yy{zzz{{zz{z{yzzzyy{y{z{zzz{zzzzzzzyy{{{xz{{{{zzzzzz{z{{z{|zzz{zyz{zzy{z{{{{zzzzzyyzzz{z|{{{{{y{zyzzz||{{||z{{{zzz{zzz{{{{z{{|zy{{{zzz{z{|{|{{zz{zzzz{{z||z{|{yzzzzzz|zzz{z|{{zzz{{zzz{z{z{{{{{{yzzzzzz|{{{{|z{z{y{{yz{z{{{{{z{{zyzzzz{{zz{{zzyzyzzzzyzzy{z{yyzyyyyzyzzzz{yzzyzzzyzzyzz|z{{z{yyzzyzyyy{z{z{zzzzyyyyzzzz{{zz{{zzyyzyyyzz{zz{{yzyzyzzzzzz{yzz{zzzyxzzyyyy{zzzz{yyzzyzzyy{{zz{|{yzzyyyyy{{yzzz{{zzzzyyzyzzzzzzzzzzyzyyyyzz{zzyzz{zzzzyzyy{zz{z{zyzyyzyzyzz{z{zz{yzzy{zzyz{zzzy{{zzz{zzzz{zzzzzz{zzzzyzyyz{{zzzzz{zzzzyyzzzz||{{zyyzzyzzz{z{zzzz{{zz{{yzz{{{{z{y{zyzzz{zz{{{|{z|{z{zzzz{z{{z{{z|{{zzzzzyzz||{{z{{{zyz{zzz{z|{{z{{{zyzz{{{{{|{{{{{{zzzzz{z{||{{{{{{{{zzzy{{{{{{|{{{y{zzyzz{{z{{{{|{zzz{zz{{zzz{{{{yzzzz{zzz{z{{z{{{zz{zzzzz{zzz{z{z{{yz{zz{y{z{{{{y{zzzyzxzz|zy{z{zzzz{yyyzzzzz{{zzzzyyzzyz{zzzzzzzxyzzzzzzyzzzyz{z{yzyyyyyz{{z{{zyzzy{yzzyzz{z{zzzyyzxyyyz{zzy{{zyzyzzzzxzyzzzzz{zyyxyyzzyz{{z{{zzzzyzxyzy{zzz{{{zzzzyz{yzz{zzz{zzzz{zyyyyz{zzzz{zzyyzyyyy{zzz{zzzzyz{zyyzz{zyzzzzyzyzzyyz{zz{{{{zyz{yyzyyz{z{|z{{{zzyyzz{z{z{zzz{z{{{yzzzz|{z{z{zzzzz{z{{{{z{z{z{yz{zy{{{{{zz|{{z{zz{z{z{{{|z|{{zz{zzz{{{zz{z||{{zzz{yyyz|{z{{{{{zzz{zzzz||{{||{{zzz{|{{{{{z{{{{{zz{z{{{z|z|{{{{}{{z{zz{{|{|{|z{{zy{z{z{{{{{{|{|{z{z{z{{{{y{||{|{z{{{zzzzz{{{{{{{z{yy{zzz{|{{z||z{zyzzzy{{{zz{zzzzyxzzzzzzzyzz{{yyzyyzyyzzzzzzz{zyyy{zzy{zyzz{{zzyzyzyyz{y{zzz{{zzyyyzyyzzzzzz{{zyzyyzzyz{zz{zzzzyyzzyzyyy{yzzzzzzzzyzyzyzzzzyzyzyyyyyyzzyyzzzzzyyzzyzyzz{zzzzz{yzzzyyyyzz{zzzzzzzzzxyzyyzzyy{{zzzzyyzyyy{zzzzz{yzzzzzyz{z{{{{z|z{zyzx{zyyzyz{zzzyzy{zzyz{zzz{{{zzzzzzzzz{yz{{{z{zzzzyzzz{{z{{|z{zzzyzyyzz{zzzz{yzzzzyyz|zz{z{{{zy{{zz{z{z{{{{{zzz{zzz{z{zz||{{{zz{zzzzz{|{{{{{{{z{{z{zy{{{{|z|{z{z{z{{{z{{{z{|{{zz{zz{zz|{z{{{{{{{|z{z||{{{{|z{{zzz{yz{z|z{{z{{{|z{{zzz{{z{{|{{{zzzzz{{{zz{z|{{{zzzzzzzz{z{zz|{z{{zzzzyzz{zzzzyzzyzyzzyz{{zzzzzy{yyyyyz{{zz|{{zzyzzyyzy{zyzz{zz{yzyzyzyz{{z{{{{zyyyyzyzzzzzz{zzzzyzzyzyzzzzzz|{yyzyzzyyzyzyz{zzyyzzzzyyzy{{yzzzyyzyyzzyyzyzyyz{xyzzx{yzzzzz{z{{yzzyzyxyz{{zzz{{zzyyzyyyyzzzzzzzzzzzyyzzzzzzyzz{yyzzyzyzzzy{zzzyzzyzyz{y{z{{{{z{zyyyzyyzzz{{zz{|yzyzzzzzz{{z{z|z{y{zzyzz{{{zz|{{{{zzzzyz{zzz{zzz{yzzzzzz|{zz{{z{zz{{zzzz{{|{|{{{zzz{zz{{{{{zz{{|{zzzzzzz{{{|{{{{{z{z{z{zz|z{{|{{zz{zz{{{{|{|{{|z{zzzy{{{{|z{|{}||{{{zzz{z{{{z{{{|zzyzzy{z{{{{{{|{zz{{zzz|{{z{|{}z{{{yz{z{zy{z{{{{{zzzz{zzzz{zzz{zzzzyzzyzz{{{z{z{zyyzzxzyz{zzzz{zzyzzxyzzzz{z{{zzyzzzyyzzzyzzz{zzzzyyyyzzyzzyzzzzz{yyzyzyz{zz{zzzyzzyzzxzzyyzyz{zyzyzzyxzzzzzzzzyyzyyzyyyyzzzz{zyyyxyzyyzzzzzz{{{zyzyyzzzzzzzzz{zyyyzzyyzyzyzz{zzzyzzyyyyzzyzy{zzyzyzzzzzzzyy{{{zyyyzzzyzzzz{z{yzzzzyyzy{zz{z{z}{zyyzyzz{zzzz{z{zzzyyzy{z{{z{z{zzzzzzyyzz{zz{zzzzyzzzzzyy{{z{z|z{zzzzyzz{{zzz{zzzzzyyzz{{z|{{{{zzzzzyz{y{{z{|z{|{zzz{yzzzz{{z{zz{{zz{{z{{zz{{||{{zzzz{{z{{{z{{{{{zzzz{z{z{{{{{{{|z{zzyzz{{z{{{{zzzzzyzzzz{zz{{{{|yzzzzz{{z{||z{{z{zyzzzzz{z|z{{z{{z{zz{y{z{zz{{zzyzyyyzzz{{{z{zzzzyzzyzyzzzzzzzyzyzzyyzz{{zzzz{z{yyzzzxyzzyzyzz{zyzzzzzzzz{{{z{zzyzzzyyyzzz{zzy{{xyyzzzzzzzyzz{{zzzyyy{yyzzzzzzzzyzyzyyyzzzzzzz{zyyzyyyy{zyyzzyzzzzzzyyz{z{{zzzzzyzyyyzyz{{z|zzzyzyyyzzxzyyy{yzzzzzyyyyyyzzzzzzzzzzzzzyy{zzzzz{zzzzzyzzz{zz{{z{{zzzzzzzzz{{zzz{zzzzzyyyz{z{zz|zzzzzzzzzz{|{zz{{{zyzyzzzz{{{z{{{{{{yz{{yzz{{zz{|{yzzz{z{zzz{z{{{{{z{{yz{zz{{|{{{{{zz{zzzz{{{{{{{{{y{{{z{{{{{{{{|{z{{z{{z{z{{{{{|{{zzz{{zzz{|{||{{zzzz{y{{|z{{||z{{zzz{zz{z{{{}z{{|{zzzzzz|{{{||{|{zzz{zzyz{z{z{|{|z{zy{yy{{z|z{{{{z{z{yzzz{{{zzzzzyzyzyyzyzyzyzz{zyyyzzzzzz{{zz{{zzyzyzyyzzyz{z{zzz{yyzyyzzz{zzz{z{zyyzzyzzzzz{{zzyzz{zzyzzy{zz{zzzzzyzxyzz{zzzz{zyzyzzzz{z{zzz{zyyyzyzyzyzyyzzzzyyzzyzzxzzzzyzzzyzzyzzxyyz{{zzzyzyzzzyzyzzzyz{yzzzyzyyxyy{zy{z{{zzyyyzyy{zzzzz{{zyzyz{yzz{{zzzzzzzyy{zzzyzzzzy{{yzzzzzyzzz{z{{{zzyz{{zzzz{z{{{zzzy{yyzyyz{yzzz|{{z{{zzzz{{zz{{z{zzzzzzzy{{{{{{{{zyyzzz{zz{z{z{{{{zzzzzzz{{{}{{|z{zzzzy|z{|{z{{{{zz{yy{{{{zz{{{{{{zzzz|zz{{{{{{{{z{{|zzzz|{|{{{z{{zyzzzz{{{{{{|{}{z|z{zyz{{{{z{{{{zzzzzzzz{{z{{{{z{zyzzyy{{{|{{z{yyzy{yyzzzz{{zzzyzyyzy{zzzzyzzz{zzyyzyyyz{yzz{{z{yzyzzzzzzzzz{z{zzzzyzyyzz{zy{{zyz{yyyyzzz{z{zz{yzzyxyzxzzzyzzyzyzzzyzzyxz{zzyzzyyzy{yzyyzy{zzz{yzzyzyyxzz{zzyyyzzzzyzzzzzzyzzz{zyzzyyzzzyz{zz{zzyyyxz{yz{yyzzyz{xzzzyzzzzz{z{{zzzyyzyyyz{zzzzzzyzzyyyyyzzzzzzyzzyyzzyyzzzzz{z{{zzyzzzzyzzzy{z{{{yzyzzzzz|zzz{{zzyzzyzzzz{zz{z{{yz{zz{zzz{{yz{z{zzzz{{zz{{{{{{{{{zz{{z{zz{{|z{{{zy{zzzzzz{z{{{|z{z{{zz{z{|{z{{{{{z{zzzz{{{z{{|z{zyzzzz{z{|{{z{||z{zzzz{{zzz{z{{{|yzz{yz{{{{|{{{{{{{z{zyy||{{{{{{z{{zzzz{z{{z{{{|{zzzzzzzzy{{z{{{{yzzyzyyz{{{zzz{xyzyzyzxyzzzzy{{yzyz{yyyy{zy{z{{zyyyyzzyyyz{{z{{{yyyyyyzzzzzzzyzyzzyxyyyyzzzz{zzyzyyzzyxy{{zz{{yzzzyyxzyx{zzy{{zzyyyyyyzyyzzzzzzyyyyzyyyz{zzzzzzyyzyyzy{z{z{zz{zzzyyyyyxy{y{z{zz{zyyyyyyyzyzyzzzzyyxzyyyyzz{z{zzzzzyzzzy{zzzzzz{{zyzzyzzzzz{zzzzzzzyzyzzzzzzz{{{zzyyyyyzz{zz{z{z|zzzzyzzzzz{z|{{{xzyzzyy{{{zzzzzzyy{{yyyy{zzzzz{{zzzyzzy{z{{zz{{zzzzyzzzzzz{z|{|zzzzzzzy{z{z{{|zzz{{|{zz{|zz|{{{yz{yz{{{|{z{{{{{zzy{y{zy|{{{|{{{{{{{zzz{{{z{z{{{zzy{zzz{z|z{z{{{{zz{{yyz{|{{{{{{{zzzzzzzyzz{{{|{{zyzzzzzzz{{z{zyzy{zyyzyz|z{{yy{zyyyyyzxzzzz{yzzzyzzzyyyzz{{{{{{yzyz{zyxzzzz{zzyz{zzzxyyyz{zzz{{zzyyzzzy{z{{z{zzyzzyyyyzy{yzz{zy{yyzzyyxzy{yyzzzzzyyzzyy{zzzzz{zzzzyyyxzy{zzyzzyyzyz{yzyzz{yz{zzyzyyyzzyzzzzzzzzzzzzyyzyyzzyzzz{zzyyyyyyy{zyz{y{{zyzyzzzz{zzzy{{{zyzyyzxzzzzzzz{zyzyzyzy{yz{z{{zzzzzzzzzzz{zz{|{zzzyzzyzzzz{{{{zzyzyzyy{{zz{{{{zzzy{zzyz{y{{z{zzz{zzz{zyz{{{{{{{y{{z|zzzz{z{y{{{y{xzzzzy{z{{{{z{{y{z{zzzz{{{z|{{{y{zzz{zz{{{{{{{{zzzyzyzz|{{{{||{zy{{zzz{{y{z{{{{zzzzzz{{{z{z{{|zzzz{zzzzzzzz|{{zzyzzzz{z{{{{{{z|zz{yyzz{{{{{{{{zzyzzzyz{zzy{{z{{zzzzzyyz{{zzzz{zyx{zyzy{{z{{{y{zzzyxzzzzzzzzz{{y{zyzyzzzz{zzz{zzyyyyzyyzz{{zzz{{zyzyz{yz{{zzz{z{zxzyzzz{z{zz{{zzzzyyzzzzzzzy{zzyzyzzyzy{{{zzz{{zzyyyzzyz{{zzz{{{zz{zyyz{zy{yz{{{zzzyzzzz{z{z{z{zyzzzzzzzzyzzz{z{{yzyzzyz{zzzzz{{yyzzy{z{z{zz{{{{|zzzzzyz{{{z{|{{{zz{{{zzzz{|zzzzz{yzyzyyz{{z|z{{zzzzzyz{z{z{{|z{z{zzzzyz{{{z|{zyyzz{zzz{|{{{z{|z{zy{zz{{|{z{{||{z{zz{yy{|{{{|||zzz{zz{{||{{||||{{zzz{{{{{|||{{{{{{z{z{{z||{|{|{{z{{{{z|{{|{{{{{|z{{z{{z{{z|{|||z{{{|zz{{|{||{|{y{{zzz{z{|z{{{{|zzzz{zzzz|{zz{{{zz{yzzzz{zz{{zzzzzyzzzzyz{zz{yz{{yyyyyzyyyzzzzyz{zyyzz{yyzzyzzzzzzyyzzzzzz{zyzy{zzyxyxyxzz{zyzzzzyyzyzyxzzzzz{{{{yzyyzyyzzz{y{z{yzzyzyyyy{y{{|{zyzzxzxyyyy{zzzzzzxzzzyzyyz{z{zzyzz{zzyyyzzzzzzzzzyyyyyyyyzzy{zz{{zzzzyzxy{zzz{{{yyy{zzzzzz{zy{{zyxyyzyzyz{{zzz{{zxyyyzyzzzz{z{{{yyzzyyzzzz{zz{{zzz{yzyzyzzzz{{{{{zzyzyyxyz{{{{{{{zzzzzz{zz{{z{zzzzzz{{zz{{{z{{z{zzzz{{z{z{{{{|z|yzz{zyzz{{{z{|{{{zz{{{zy{{{z{{|{{zzz{z{{{{{{{{{{{zz{{{zz{|{{z{{{zzz{zz{z{{z{{{{{zzz{zy{yzz{z{{{{{zz{{zzzyzz{{{||{{zzzzz{z{{yz{{{|{z{zzzzzz{|{z{{zzzyyzzz{z{yzzzz{zyyyyyzzz{zzyzyzyyyzzxx{{z{{{{zzzyyzyyzyyzz{z{z{zzyzzzyzz{zzzzzyyzyzyxyyzzzz{z|zyzyzyzyy{y{z{zzzzzyzyzzzzzzz{yzzyyyxzyyzzyzyzzzyyyyzxyyz{zyyz{yz{yyxyyzyz{y{z{z{yxyyzyyyzyyzzzzy{zzyyzzyzz{zzzzzz{zyzzxzzz{zz{zzzyyzzzzyzyzz{{{{zyxyzzyzzzz{{z{zyyzyzzzz{{{z{{{zzz{yyzzzzzz{{{{zyzzzyzzzzz{{{zzzz{zzyz{zz{zyz{{zyzzyyyz{z{z{{z{{zzzzyzzz{{{{{{|zzzzzz{z{z{|{{z|{yz{zzyy{{{{{zz{{z|y|z{{{|{zz||{{zzy{zz{{{{zzz{{{zzyz{zzz{{|{{{{{{{{yzyz{{{{z{{{{zyzzzz{{{z|z{{{{z{{{zyzzz{{{zz{zyzzzzzz{zz{z|zz{zyzzzzzz{{{{z{z{z{zzyzzy{{{zzzz{zyzyyyzzzz{zyz{zzzyzyzx{zzzzzz{{zyyyzyyyzzzz{{zzzzzzyyyyzzzzzz{zzzyyyyyzz{zzzzzyyyyzyzxz{{zz{{zyy{yyyyzyzzzzzzzzyyzzzyzyzyzyyzzyyzzxyyzzyzzzyyzzxyzyyzyz{zz{{{{zyyyyzzzy{zzz{{zzzzyzyzzy{zzzz{zzyyxyzyyyz{zy{{{zy{zzyxyzy{zzz{{zyzyzy{zzy{yzz{zyz{zyy{yyzzz{z{zyxzzzyzz{zz{zzzzzzzyzzxz{{z{{{{zzzzzzzyyz{{zzz{|zzzz{zzy{zz{z{{zzzyzz{yz{{zz{{{zzz{zz{yz{{z|zzz{{zzzyzzzz{{z{z{{|zzzzyzz{{{{z{{{yz{{z{{yzzz{{{{{|yzzzzzzz{z{{{{{{zz{zzz{{{{{|{{{z{zzzzyzz{{{{{{|{z{{{zz{{|z{{|{|{yzyyzzz{|z{z{{{zzzz{zzz{{{{zz{z{zzyzzzzzzzzyz{zy{zyyyyyxzz{yz{{yzzyzxzyyz{{z{z{yzyy{yyy{zzzzzzyzyzzzyyxzz{zzzy{zzzxyyyyzzzz{z{{zzyxxzyzz{zyzz{zzxzyyzzyyyzyz{zzyyzzyyzyzyzzzzzzyyyyxyzyzz{yz{zyzyzyyzzyzzzy{zzzzz{yzyyyzzzzzz{{yzzzyyzyxzyyz{zzzzzyzyyzxzzzz{yzyzzz{zyzzzzzz{z{z{yyzyzzzy{zz{z{zzzzzyzzz{z{zz{{yyzzyzzyzz{{zzz{{zyz{zzzz{z{z{zz{zzzyyyy{{zz{z{zzxyyzzzz{{z{zz{zzz{zzzzyz{z|{z{{z{zzzzzzz|{{yz{{zzzzy{zz{{|{z{z{{yyzzzyy{|{{{{z{zzzzzz{{zz{{|{{|{z{y{{{y{|{z{{{{z{{{zz{z{z{{z{{z{y{{zy{z{zzz{z{{{zzyzzz{zzz{{|z{zz{yz{{zz{{{|{|{zzyzyyzzz{z{{{{z{y{yyyyyz{{{yzzzzyzyzxyzyzzz{{z{zyyzzzzyzzz{{{zzzzyyzzyxzzzzz{y|zyzyyzzzzzyzy{zzzyyzyzzx{zyzzzz{yzzzyzyyyz{yz{zzzz{yyyyzyzzzzzzzzzyyyyyyyzzzzzzyyyzzyyyyzzzyzzzzzzyxxzxzz{{z{{{z{z{zyzxyyzzzz{yz{yxyyyzyyzyz{{zzzyzzyyyzzzzzzzz{{yzzy{yyzyzzz{zzzzzzzzzzyzzzzz{zyzzzzyyz{yz{zzzzzyzyxyzzzzz{zz|zyzyzzz{z{z{z{z|z{zyzzyzyyzzyz{{z{yyzzyyz{{zy{zz{zzz{zzzzz|z|z|{zz{z{z{{zz{z{y|z|{z{{zzzzz{{{|||{zz{{zzzy{{{z{{|{{zzzzzz{{zz{{z{|zz{zzz{{z|{{{{|{{z{z{zzy{{{{{{zzzy{{z{yzz{{z{{{||zzyzzyyz{{|z{z|{zzyxzzzzz{z{{{{zzzzzzyz{{z{{zzzzyzyzyzyz{zyz{z{yzyyzyzzyz{zzz{zyzzzzzyzyyzz{zzzyzzyyyyyzyzzzzzzzxyyzyyyzzzzzzzzzzzyyy{yzz{yyzzzzzyyyyzyz{yzyzyzyzzzyyyzzzzyy{zyzyzzxzxzzzyzy{zzxzyzzyyyyz{zyzzyyzyzyyxzzz{zz{zz{zzyyyyyyyzzzzz{yzzyyyzxzzzzzzzzyzzyyzyyzzzzzzzzzyyyzzzzzz{zz{zzzyzyyy{zzz{zzzz{zyzzzxyzz{zzz{{{yyzyyzzyzz{zzz{{{zxz{yzyz{{zz{{{zyzzzzzyz{{y{z|{zyxzzzyzzz{{{|{y{{zzzzyzzz{{{y{zzzzzzzzzzzz|{{zz{yzzzzxy{{z{{{{{zzz{zyzzzz{{{{{{{zzzy{{zz|z{z{z|{zz{{zz{z||z{{{zzzz{{zzz{{zz{z{{zzy{zzzzz{{zzz{{{{zz|zzz{z{{{{{{{zzyzz{zz{|zz{{{z{zz|zzz{{z{{z{zzzzyzxyyzzz{zzyzzzyzzyzxzzzyyzyzzyyyyxyyyzzzzzzy{xzyzzyyzyzzyzzzzzzzyyxyzy{yyzz{zzzyyyzxzzzyyzyzyyyyyyzyzz{zyzz{yzzyyyzyzyzzzzzzzzzyyzyyzzz{zzyzyyyxyyzxz{zzzz{zzyyyyyyyyzzzzzzzzxyyyzyxyzzyzz|{yyzyzy{zyzyzzz{yzy{xyzzyzzxzyzzzzzzzzzyyzyz{{zzzzzyyyyyyzzzyzzzzzyzzyyzz{zzzzz{zzyzzzyzyzzz{{z{zyzyyzyzyyzzzz{zzyz{xyzyy{{{{{z{zzzzzzyzzzzzzzzz{zyzzyzzzz{{{{|zzyzzzyzzz|zz{y{{|zy{z{yzzz}{z{z{{{yy{zzzz{{z|{z|{{z{zy{zzyzz{{{|{zyzzyz{yy|{{z{{z{zzyzzzzzz{{{{{{zyyzy{xzzz{z{{{|{yzzzzzz{{y{zzz{zyz{zzyyzzzzz|{{z{zzzzyzz{z{zz{{zzyyzyyyz{yzzzzzyyxzyzzx{zzzzyzzzzzzzyyyzzzz{zzzzyyyyyxx{yz{z{zzyzyyyzyy{z{{yz{zzzyyxzzyzzz{z{{zzzzyyzzyz{zzz{{{{yzzyyyzz{zyyyz{zzyzzzyyy{zzz{zzyyyxzzyyz{z{zz{zyyzzyzyyzz{zz{zzyzyzyyzzyzz{zz{zzyzxzzyyzz{yzz{{zzzyxzyzyzzzy{yzyyy{{zzyzz{z{{zzzzyzyyxyzzzyz{{zzyyyyz{yzz{zz{z{zy{zyyzy{yzzz{zz{zzzzxyzzz{{{|zzzzzzzyy{zzzz{yz{{zzzzzzz{{{{zy{zzy{zz{{yz{{zzz{zzzzzzz{zz{z{z{{|zzzzzzz{{{{{{z|z{zz{zzzzz{{z|{z|zzzzzz{z{{z{z{{{{z{{{zzzz{|{{{{{{{z{zzzz{{zzz|{{{zzz{{{{z{|zz{z|{{zz{zzzzzz{|{z{zzyyzzzzz{z{|z{yzyyzyzzyzz{{zz{zzzzzzzzyzzzz{z{zyyzzzyyyyz{zyzz{zyyzzyzyzzz{{zzzzzyyyzyyzz{{zzzzzyzzyzzzzzzzzz|zyzyyzyyx{zyyzyz|zzzzzyzyyzzzz{zzzy{yzzyyzzzzz{zzyyzyyyyxzyz{yzzzyyzyzyyyyyzzy{{zzzzzyzzyzyzy{{zzzz{yzzyyyzz{z{zyz{yyyyzzzzz{zz{{yyyzyyyyyzy{z{z|zyzzzzzyzz{zzzzzzyyyzyy{{z{zzzz{y{y{zxyz{yzzz{zzzzzzzzz{z{{z{z{{zzzy{zzyz{{y{{z{yzzzzzzzzz|zz{zz{yyzzzzz{zzz{{z{zzyzzz{zyz}{{{{{zyzzzzzz{|{{{{{|{zzz{yzyz{{{{z{{{z{z}zzzz{{z{z{{{zzzy{{zz{{{{|{{{{{zz|zzz|{|zz{z{y{y{zzy{z{|{{{zzzzzzz{{z{{z{z{{zzz{zzz{{{{{{{{|z{zyzzzzzzz{{{{z{zyzyy{zz{{{{z{zz{zzzyyzy{{zzzzzzyzyzzyxyzz{{zyzzyyyzyyzy{{y{{zzzyzzzyzyyzzzzzy{zyyyzyyzzzzzz{{zzyyyyzyxzzzzzzzyzzzyyyxxz{zyzzzzzyyzyzyy{zzyz{zzyxyxxyyzzzyyzzz{yyzxzyyzyyzzzzzzzyyzyyyyyzzzzzyzxzyyyzyxz{zzyzyz{yyyyxzyyzzz{{zzyzzyyzxzyzzzz{z{zzzyzyzyzzzzzzzzzzyzyxyzz{{zy{z{zzzzyz{{zyzz{zz{zyyyyyzzzyzzzzzzzyyyyz{yzzzzz{yzyzzzyzyy{{{{zz{{zyyzzyz{{{{{z{{zzzyyzzz{z{{{z{zzzzyzz{zz{{{zz{{{zyy{z{zzy{{{{z{{{yzzzzy{{{zzzzz{{yyz{{zzz{zz{z{{{zzzzzzzz{|{{z{|{{{zzz{z{{{{z{|{zz{zzzzzz|{z{z{|{zy{{zz|zzz{{{z|zzzyzyzzz{zy{{{zzzzzzzzzz{{{zzzzzzzzyyzzzz{z{zzz{yy{yzxyz{zyzy{{yzzzyyzzyzzyzzzzyzyxyyyy{zzzz{{zzyz{zzz{yz{{zz{zzyzyyzyyyzzzz{zzzy{xyyyyzz{yyzzyyyyyyzyyyyyyzyzzzzyyyzzz{{yzzz{zyxzyzxzyzzz{yzzyzzyzyzyyyzzzzzzzzyzzxyxyzyzz{z{{zyzyzyzzy{zyyzzzzyzyyzyyz{yzzz|zzyyzzz{zzyz{yz{zzyyzz{yz{{zzy{zzyzzzzyzyzzzzzzz{z{zzzzyy{{zyzz{zzyzzzyzzz{z{{{z{zzzyzzzy{zzzz{z{|zyyyz{zz{{zzz|{yz{z{{zzz{{zz{{{zzz{{zzz{z{{z{zzzzz|zzzz{{|{zzzz{zzzzzzz{{|{zz{{{zz{yz{{z{{{{{{{zzzzz{{zz{{{z{{{{z|{zz{z{|{{{{{{zzzzzyzz{{{zz{|{{zzzzzzz{|z{|{{{zz{yzyyz{{zz{{{zz{{z{yyzz{zzzz{{zzzzzz{zzz{zzzzzyzyzzxxyzzzzyyz{zzzzzzyyyzz{z|z{yzyzzzyy|zzzzzz{zzzzxyzzzz{zzz{z{yyyyyzzzy{zzzzzzyzyyyyyz{zyz{{zzzzyzzyyzzyzz{zzzyzyzyyzzzyzzzyzyz{xyzyyyzzzy{zyzyyyyzxyzzz{{zzzyzzyyzyxyzyzz{y{zzyzzxyyyzzyz{{zyzzzxyzyyyyyyz{zz{zzyzzyzzzzz{zyzzzzyzzz{zzzzz{zyzyzyz{yzzz{zz{{zyzyzzzy{zzzzzzzyyzz{yz{z{{{z{{{zzzyyyyzzzzzzz|zzzyzzzzzy{{zz{z{z{zyz{zz{{zz{|{{yzz{zy{z{z{zz{{{zyy{z{zzz{z{zz{z|zzyzzyz{|{{y{{{zzzz{{|zzz{{{|{{{zzz{{zzy{|{{{{{{zzzyzzz{zz{{{{z{yy{{z{zzz{{z{|{{{{{{z{zyz{z|{z{zzzz{zzyy{{{{{|{zz{zzzzzz{z{z{{zyzzyyyzzz{zzzzzzxzyyyyyzyzzzyzyzzyyyyyzxzzzyzzzzzzyyyyzyyzyzzzz{zzyyyyyyyzzzzzz{zyyyxyyyzyyzy{zzyyzyyzyyyz{zyyzzzyyyyyyy{yzyxzyyzzzyyzyyyyzzzyzzxyzxyxyzyzzyyzzzzyyzyyyyzzzzzzzzzzyzxzyyzz{yyz{{yyzyyyyyyyzzzyz{zzyyyyzyyzzyyzzzyyyyzyyyyyzz{z{{zzyzzzyxy{yzyz|{yyyyyyyzzz{{zzz{zzzyzzyyzzz{y{zzyzzzzyyyyzzzz{{zy{zyyyyyzz{{zz{zzyyzyzzzzyzzzz{zyzz{zzzzz{{{z{zzyyzzyyzzyzzzz{{{zzyzzy{{z{zz{z{zzyzyzzzz{{{{z{{{z{zzz{{yzzzz{|z{zzyy{yyz{{z{{{z{{yzz{zy{{zz{{{{{z{z{zyyz{yz|{{||{zzz{zz{{zzzzz||{y{zzzyyzzzzzzz{z{{zzyzyzzz{zzz{zyzzzzzy{{zzzzyzzzyyzxzyzzy{zzz{yyyyyyzy{zzzzzzzzyzzzzzz{zzzzzzzyxzzzzyyyz{{zzy{yyyyyxzxzzz{zzzzzyyyyyyyzz{zyzz{zyxyzyyyzyzzyyyzyy{yy{zzzzyzzzzzyyyyyyyyyzzzyz{zzz{zzyzzzzzzz{z{yyyyyyyzzzzzzzzzzyzzyyzyy{zyzzzzyzzzyzzzyzy{z{{{zxyyyzyzzzzz{yz{yyyyyyy{{y{{zzz{yyzzyyyzzzzzz{z{z{zyyzzyzzz{{z{zzyz{yyzyzz{zz|z{{{zy{yyz{y{zzz|zyzzzzyy{z{{zz{{z{{x{{{yzz{{{z|z{z{zzzzzz{z|z{{{zzzzzzzxzz{{z{{zzzzyzzy{z{|{|{{||zy{zyz{{zz{{zz{{{zyzzyzzz{{{{{{{{{zz{z{z{{{{|{{{yyzz{zz{{z{|{z{{|zzzz{y{{{zz{|{{zzzzzzzzz{{zz{|{zyzyzzyz{zyz{z{zzz{zzzyzz{z{|z{zzyxyzzzyyzyzzzzzzyzzyyzzzyyzzzz{zyzyzyyzzzz{yz{zzyyyyyzzyzzzzz{z{zyyxyzxzyzzzzyzyzyxyyyxzzzzzzzzzyyyyyxyyyzzz{zzyyyyxzyyzyzzyzzzyyyxyyyyzzzzyz{yzyxyyzxzzzzy{{zzyyyxyzzyy{{zzz{z{yyzyyzzyzzzzz{yyzyyzy{xy{zyzzy{yyzyyzzyzyzzzyyzzzzyzyzxz{yzyzz|zy{yzyyzzzzzyz{zzyyzyyzzz{zzzz{zyzzyzyzyz{zzzzz{zyyzyzzz{zzzz{{{zy{zyyyzz{z{z{{zzyzy{zzyzzz{{{z{z{zyzyzz{{z{{z{{zzzzyzzz{{{z{{{{{zzyyzz{z{{{{{{{yzzzyz{zyzz|{zz{{zzzyyz{zz{|{{z{z{zzzzz{z|{zzz{zz{z{zzzz{zz{z{{zy{z{z{z{yzz{z{{{{zzzz{zzz{{{|z{{zzzyzyyyz{z{yz{{yzzyzyzyz{{{yz{zyyyyyxyyxzzzzzz{zyzzzyyyzz{{{y{z{zzyzyyyzyzy{zzzyyyzyyyzyzz{zzz{zyyywzyxzzzzzz{{yyz{yxyyzzyyyzzzyyyyyyzxz{{yzzzyzyyzzyyzzyyyz{zzzzyyyyyyyzyyyz{zzyyyzzy{yz{y{z{{xyz{yyzyyzzzzz|{yyyyxyzyzyzyzyzzzzyzyyyyyzzzzzzzzyyzyzzyzzzz{{z{zzyxzz{yzzzzz{{{zzzzzy{yzzzz{yz|zzzyyzyyy{{zzyzz{zyyyyyyzzz{z{{zzzzzzyzyzzzzz{{z{z{zzzy{z{zyz{{zzyzz{yzz{{{{{zzzy{zyyzzyyzz{|z{z{zzzzzyyz{{|{{{{{zzzzz{zz{zyz{{{zzzyy{{z{{z{zz{|{zzzyzz{z{{{z{{{zzz{z{yyzz{{{{|{|yzyzyzy{zzz{{{|{zzzyyz{{{{|{{{|{zyyyy{z{{zzz{{|{zyzyzzyzz{{zz{zzzzzzzyyzzz{zzz{z{zxyzxyzzzzzzzzyzzyyyyyzzzzzz{z{yxxzzyyzz{zzz{zzxyzyyyyzyzzyzzzzzzyxzyxyzzzz{yzyzzyyyzyy{yyzyzyyyzyzyyzyzzxyyzzzzyxyxyyyzyzyzzzxxzzyxzzyzzzyz{zyxyzy{yzyy{z{zz{zyzyzxyyy{zzzzzz{yyyyyyyyzzyy{{yzyyxyyzyzy{yz{zz{yyzzyyxyzzzyzz{zzzzzxyyzz{{{{{{zyzzyyzxzzzzz{zyzy{zyzzzy{zzzzzzzzzyzz{yz{z{{{z{zzzyzzyz{zz|zyzzzzyzyyzzzzzzyzz{|yzyzyy{zzz{zzzzzzzzyyyzz{y{{{{{zyzzyzzz{{zz{z{z{zyzzzyz{|{{{{{{zyzyyyzz{{{{z|z{{yzzzzyzz|{z{|{{{yyz{zy{{z{{z|{{{zzzzzzzzz{z{{z|z{zz{zyzy{z{|||zzzyzzy{y{{zz{{{{{zzzyzzzyz{{zzz{z{zzzyzxzz{zz{zzzyyzyyyyyzzyzyzzyyzzzyyyzz{zy{zzzzzyyyzyyzzyzzy{zxyyyyyxzzzzzyzzzyyyyxz{zzzzyzzzyyyyzyyyy{zyyzzzyzyyyyyyzzzzzyzyyyyxxyyzzyzyyyzyyyyzzyzyyz{zy{{zzyyzyzyyzzzz{{yzyyzxyzyzzzzz{zzzzyzzyyyzzyzyyzzzzxzyzzyyyzzzzz{zzzyyyzzy{zz{zz{{yyzyzxyyzz{zyz{zzyyyyxzyzzzyzz{{zzyyyyyyzzzzyz{{zzzzyyyyzz{zy{{{x{zyzyyyz{{{z{{yzzzzzz{zzz{zz{zz{zzy{zyzzz{{{{{zyzzz{zzz{zzzzz{{{z{zyyzzz{zzzz|zzzyyzyzy{{z{{{{|zyyzz{zz{{z{{{{{{zzzz{zz{{{{z{{z{z{zyzz{z{zzzzz{{zzzzyz{zz{{{zz|{{{z|{yzzzz|{{zzzyzyzzzzzzy{{|{|zzzzzzy{zz{{zyzzyzzyzzzzzz{z{{{zzyyyxxyzyzzzx{zzzyzyyzxyyyzzzyzzyyyyyyyyyz{zyzzzzzyyzxzyyzyzyz{z{yyyyyzyy{zz{zz{zyzzyyyyzyzyyzzyzyzyzyxyzyzyz{zzzyyyzyzyz{zy{zz{yxyywzzyzz{yzzzzyyyzyyxyyzzyz{zzyyzzyzyxzzz{zz{zzyxzzxyxyzzyzzy{yyzxyzyxz{yyzzz{yyyyzzyyzyzz{yzyzyzyyyzzyzzzzyz{zyz{xyzzzzzz{{zzzzzyyyyzzzzzzyzzzzyzzyzzy|zzz{{zyzzz{zyyz{zzz{z{zyzzzzyyz{yyzz{zzyyzzzyzz{|zzz{{{zyzzzzzzzz{z{{{zyzzzyyz{|z{z|{zzz{zzzzz{|z{|{{{zzzzzzzzzz{z{|{{|{zzzz{zz{z||{{{{z{zzzzy{z{{{{{zzzzzzzzzzz{zz||{z{yzzzzz{{z{y{z{{{zzzzzzz{{{zz{{zyz{zzzzz{{zz{zz{yzyyyyzz{zzz{{zyzyzzyzxzzz{y{{{zxzzyzyyyzzz{{zyzyzxyz{zzyzz{{zyzzzyyzyyz{zzzzz{zzzyyyzyzyyzz{z{zxyxyzyyxzyzzzzzyxyyyyzyzzzzxzzyzyzyyyzzy{zzzzzzxyyyzyyzzz{zzz{yzzyyzzxyzzzzzyz{yyyyyyxxzzzzzzz{{yyzzyyyy{yzyzz{zyzyxyzyyzzzzzz{zzzzzzyzzzz{zz{zzzyyyy{yy{{zzzyzyy{zzyyyzyz{{{zyyyzyyzyzyzzy{{zzzzzyzzzyzzzzzzz{zyzzyyzyz{{zz{zzy{{zyzzy{y{{zzzz{zyzyzzzz{{{{{{{yzyz{z{z|{{zz{z{zzz{{{yzzzzzz{{{{zyz{zzz{{z{z|{{zzzyyzzz{{|z{{{{|zzz{zz{z|{{y{{|{zzzyzyz{{y{{{{zzzzzzzz{z{{zz{{|{zy{zyzz{{{{{zz|{{yy{{zz{zzz{{zz{{yzzyzyz{z|zzzzzz{yyzzyyzzzzzy{yyzzyyzyzz{zzzzzyzzzzzyyzzzzz{{yzzzzyzzzz{{z{{{{yzzyyy{y{z{zzzy{zzyzzyzyzyzzz{zzzyzzyyyzyzzyyzyzzyzyyyyyzy{zy{zyyzyyyyzyyyzzzzyzyyzyyxyyyzzyxzzzzyzyyyyz{yzz{z{zzyzzyzyyz{z{zzzzzzzyyyyy{zyzy{yzzzyzzyyyy{zzzzzzyzyzyzyyz{yzzzzzzzyzzzzzzzyz{{zzzyxzzyyyzzzzzz{zz{zyyzzzzy{y{zzzxzzy{yzyz{z{zz{{{yzzzyzyzz{{yyzzyyz{yyzz{z{zyz{z{zz{zyzzz{{z{zz{zzzzzzzz{zz{z{z{{{y{zzzz{z{z{|{zzzz{zzzz{{|z{z{{zz{zzzzzy{z{z{z{{{{zzz{{z||{{{{z{{zz{zz{{|{{||{zzzzzzzz{{{{{{{|zzz{{{zz{{|z{z{{zzyzz{zzzz{{{z{{{{{yzyyzyz{zz{{{zzyzyyyyzz{{{z{zzzzyzyzyyzzzzz{zzzzyyyyzyzzzzzzzzzzzyzyyxzzzzzz{zzyyyyzzzz{yyzz{zyyzyyzyyzzyzy{zzyzzyzxyyyyz{zzz{yyyyzyzyzy{zz{z{xyyzyyyzyyzyzzzzyzyyzyyyzzzzyyyy{yyyxyyxzy{zzyzyzyzzyyzxyzzzyzzz{yyzyyyyyyzzzz{zyyzyzyyyyzzzzzzzyyyyyzzzzzzzzz{zzyyyyyyzy{{zyz{zzyzzzyzzzzz{{{z{yyzyyzyzzyzzzyz{zyzyzyzyzyzz{{zyzyyyzyyyzy{zz{z{zyyzzyzyz{zyy{{{{zyyzzyz{{{{|{{{zzyzyz{zz{z{{z{{zzzzzyyz{{{zzz{{{zzyzy{y{|zz{{zz{zzzzz{zzz{{{{{{{zzzz{zzz{|{z{{zz{{{zyzzz{z{{{{{{yzyzzz{z{zzzz{{{{zzzzy{z{{{zzzzyzyzy{z{z{|{{{{{zzzzzzzzzzzzz{zzyzzyyyzy{z{{zzzyzzyyyyyzyyzzzzzzzyxzzwyyzyy{zzz{{yyz{zzz{zzyzzzzzyyyyyyyyzyzyz{yzzyzzyyyzyyzzyz{yyzyyzyzyzyyyz{yzzyyyyyyyzzzyzzzzzyxxyzyyyyzyzzzyyyyzyyzzzyzzzzyz{zyyzyxzzzyyzzyzyyzxzxzzzyzzzz{{yyzyxzyzzzyzz{zyyyyyzzzy{{yyzzzzyzyyz{yy{{zzz{zyyyyzyyyz{zzzzzz{yzzzyzzz{zz{{zzy{zyyzzzzz{z{z{{zzzzzyzzzzzyzzz{{yzzyzyz|z{zzzzzzzyzzyyzz{{zy{z{z{zyzzyzz{{z{{{{yzzyzzzzzzz{zzz|zzzyzzyzz|{{z{{{{z{yzzzy|{zy{{{{zyyzyzz{z|zzz{z{{yzyzzz{z{{{{|{{{zzz{zz{{{{{z{{{zzyzz{zzzzzz{{{z{zzzyzzzz{z{z{zzzzyzzzzz{{{z{{{zzyyzzzzy{{{zz{zzz{zxzyzyz{{z{zyzyzyyyzyyyz{{{{zzyyyyyxyzzzz{z{z{zyyxyxyyzzzzyz{zzxzxzzyyy{yzzz{zyzzxyyyy{zzyz{{zyyyyxyyyx{y{{{{zzyyyyyyyy{yzzy{yyyzxxyyxzy{{yyzzyyyyyzyxyyzzzz{yyzxyzyxyyz{xzyzyzyyyyzyzzzyyzyzzzxyyzyzyyyyyzzzyyxyyyzzyyyzzyzz{zzyyyyxx{zzzy{zzzxyzyyyyzzzyzyzzz{zyzyxzzzzz{zzyyyzxyyxyzzyyzz{zzzyyzzzyyzzzz{zzyzzzyzyyzzzzzz{yzzxzzzzy{{yzz{{zzyzyzzzyzz{{z{{{yyzzzzzz{{yz{z{{zzz{y{yyy{zz{{{{yyz{zyzy{|zz{{{{zzzzy{zzz{z{z{{z{zzzzzzzz{{{{z{{zzzzzy{y{{zzz{{{zyzyzzzzzzz{{z{{z{zyyzzz{zzzz{{zyzzzzzz{{z{{zzz{z{{z{yyzz{zzzz{{zzzyyyzyy{z{{zyzyyzyyyyyzzzzzzzzzzyzyyyyz{zzz{zzz{yyyyyy{zyzyzz{zyyxxyyyzzzzzzz{yyzyyxyyzyzzz{zzyyyyyyyyyyyzyzzy{zzzyzyzzz{zyzzyyyyzyyzwzyyyz{zzyzyyzyyyzzzzy{zyzyyzyzyyzz{yzzzzyzyyyyyyz{zzz{zzzzyzzxyyzy{zyzzzxzyyzyzyyzzz{z{{yyzyzzyyzzzy{zz|zzyzzyyz{zzzzz{{zyzzzz{yzzyyzzz{zyzyyzzzzyy{zzzzzyzyyyzz{z{zz{{{yzyzzyzz{z{{z{zzy{yyzzzz{{zzzzz{zzzzzzyyzz{{z{{{zzzzz{z{{{zz{{{{zy{{zzzyz{y{z{{{{zzzzzzy{{z{z{{{zyzy{{zzz|{z|{{{zzyzz{zzzz{|{|{zzyyyzzyz{zzz{{z{{zy{yzyyzzzzz{|zz{y{zzzz{zz{y{{zz{yyyy{zzzz|zz|z{zyzyzyyz{z{zz{zzy{zyyyyz{{zyzzyzxyzzyyxzzzzyyzzzyyyzxyz{zz{z{{{zzzzyzzz{zz{{zzzzyzzyyzzzzyzzyz{yzyxyx{yyzyzyzz{yyyzyxyzzzzzzz{zzzzyyyyyyzy{zzzzzyyzzzyxzzzyzzy|xyyyyyyzzyzyzz{zzzzzzyxyzyyzzzzz{xzyyyzyyzzzzyzzyzyzzyxzyz{yyz{zyyyyyyyyzzz{zzzzzyyyzzyzzzy{zzzzzzzyyzzyzzzyzz{zzyyyzyzzzzzyyz{zyzzyzz{yzzzzz{{zzzzyzyzyz{{{{{zzzzzzyzzyyyzzzz{zzzzzzyyyz{z{zy{zzzzyzyyzz{{{z{z{zzzzzz{z{{{zzz{{zz{zzzzzz{{{{y{zzzyyzzzz{z{z{{{{z{zzyzy{z{zzz{{{{{zz{{{z{{{{z{{z{zz{zz{z{z|{{{|{zzzzzzyzz{{z{z{|{zzzzzzz{{z{{|{zy{{yz{zzy{{{{{zzzzzzzzzzy{z{{{zzyyzzyyzyz{{zzzzzyyyyyzyyzzzzzzz{yyyzyyyyyzyzz{y{yyyxyzzxzz{{{yzzzzyyzyyyyz{zyzzz{zyyyyzy{zzzy{zyzzyyyyyyz{xyz{zz{yzyyyyyzy{yy{zyzyyyxyyzzzzzzz{zzyzzyxyyzz{zz{zzzyyzyzyyzz{{zz{zzyyyyxyxz{zzzyz{zyyzyzyyyzzzyzyzzz{yyyyyyz{zzz{zyzyzzzxyzzz{yzzz{xzyyyyyzzz{z{zzzzyxzyyz{yzzzz{zyyzyyzyzzzyz{{{yzzzzzxzyzzzzzzz{zzyyzyyyz{{{zzzzzzzzyzzyyz{zzy{zzzyzyzz{{z{{zzz{y{yz{yzzzzzzzz{{z{zyzzzy{zzz{|{zzyz{zzyzz{{{{zz{yzzyz{zyzzzz{{{{zyyyxzzzz|{|z{|z{{zzzzzz{zz{{{{{zyzzzzyzz{z{{|z{z{zzzzzz{|zzz{||z{yzzyzzzz{{z{{{{zzyzzzyzz{zz{{zzyzyxyzyzzzy{zzzyzzxyyzzyz{y{zzzxz{yyzzyzzzzzz{z{yzzzzyzzzyzzzzzzyzyzyyyxzzz{z{zzzzyyyzyyzyzy{zzyyzyzzyyzz{yzzzzzxzyxyzyyyzzyzzyzxyzyzyy{zyyzzzzyyyzyyyzyzyzzzyzzyyyxyyyyzz{zzz{zyzxyyyyyzzzzzz{zyyyzzyyyzzzyzxzzzyxzyzzyzzyyzzyzzyy{zyyzyzx{{{zzyyyyxyzzzzzy{{{zzzzyyzyyzzzzz{{zz{zyyyy{{z{z{zyyz{yyyzyzzz{z{yzyzzzzzzzz{z{z{|{zzzz{zzzz{{{z{{{zyyzzzzyzzz{z{{{zzzzz{{yzz{zzz{{zzzzzxzz{{{zz{z{{zzzzyzyz{{z{|{zzzzyzzzz{{zzz|{{{zy{zzzz{{z{{{z{zzzzzz{zz{{{z{z{zzyz{{xyzzz{{{{{{{z{{zzzz{{{{{{|{zzxyzzy{zyzz{{{{z{zyzzzz{z{zz{zyzzzyyzy{{zzzzyzzyyzzyzxzzzyzzzzyzzyyxyyzzyy|z{{yzyxzyyyzyzzzz{zzyzzyyyyyz{zyzzzzyzxxzzyyzzzyzz{yxyyzyxzyzzzy{yyzyyyzyzxzz{zyy{zyyyyxyyzyzzzy{zzzyxyyxyyzzz{zzz{zyxyyyyyyzzyzyyzyyyyxzyyzzyzzz{zzyyyzxyzxzyyzzz{yzyyzyzyyzzzyz{{zxxzzyyzz{zzzyzzzzzzxyzzzzzyz{z{{z{zyzzyz{{zz{{zyyzzyyyzyz{zz{zzyyzyyzzyzz{zz{{yzyzyyzyzzzzzzz{zzzyzzzzyzz{zzzz{yzzzyzyzzzyyz{zzzyzzzzzzzzz{{{{zzzy{zzyyz{z{z{{{zxzzzy{zz{z{{{{{{zzzyzzzz{{{{{{{{z{yyzzzz|{{z{{{{zzzzzzz{{{{yzz{{zzyzyyzzzzz{z{{{yzzzzzyzzy{{z{{zzyzzzyy{z{{{z{zz|zzzzzzz{{z{zzzzzzyyzzzzz{yyzzyzzyzzxzyzz{yyz{{zzyyxyzzz{zzy{{z{zyzxzzzz{zy{zz{yzyzyzyyzz{{{z{zzzzyxyzyy{yzzzz{zzyzz{{yzz{zzzzz{zzyyzxyzyz{yzzzxyzzyzyyy{yyyzzzxzzyyyyyzzyzz{yzyzyzxyzyzz{zz{zzyzzyyyzyy{y{zz{{zzyzxyyzzzzzzzzzyzzyzzzyy{zz{{z{zyyyzzzzyz{zzzzy{zzzzyzy{z{zz{z{zzzzyyzzzzzzyzy{zzzyyzxzzzzzzz{yzyyzzzyy{{z{z{zzyzzzzzzy{zzz{{{yzyyy{yzy{{{{z{zzz{zzyzzz{zz{z{{{z{zzzzzzz{{z{{{zzzzzzzyy{{z{{{z{{zzyz{{{z{{zz{{{{zzzz{{zzzzz{{{{zzzyyzzzz|{z|z{{{z{{yzzzz{{{z|z{{yzzz{zz{{z|{{{{{{zyz{yz{{zz|{z{{y{zz{{y{{zz|{{{z{y{z{zyzz{zzz{{{zzzzzyzzy{zy{yzyyzyxxyyz{zzzz{zzzyyzz{zzzzy{yz{zzyy{yyyzyyzzz{zyyzxyyzz{zzzyzz{zyzyyyzzzzz{z{zzyyyzyzyyzyzzzzyzzyzz{zyzzzzzzzzzyyyzzzzyyyzzzzzyxyyzzyyxyyyzzzz{zyyzyyyyzz{{y{zyzyzzyyyxzzz{zz{{{xyyyxyyyzzyyyzyzyyyzyzyzzy{zzzzyx{yyzyyzzzzzzzzzzxyzyzy{y{{zzzzyyzzxzyy{zz{{{zzyyzyyyzzz{zzzz{zzyzyz{yzzzz{z{zzzzzyzyzzzzzzzzzy{zyzzyzzzz{zz{z{{zzyzzyzz{zz{{{zyz{z{zzzzz{z{z|{zzyzz{zzz{z{zzz{zzyyz{zz|{{{{z{z{z{zzz{zz{zz|{z{{{zzy|zzzz{{{|{|{zz{yz{{{zzz{{|zzz{yz{zzz{z{{{||{zyz{zzzzz{{{{zz{zzyzzzz{zzz{{{{zz{zyzzy{z{{zz{zzzzzzyzzzy{zz{zzyyyzyzzzzzzzzzzzyyzyyyyy{zyzzz{zzyyyyzyy{zzyzz{{zyyxzyyxy{zzzz{{zyyyxyyyz{z{zzzzyzzyyyzzzy{zz{zzzyzzxyyz{zyzzzzzxyzyyzxzzyyyy{zzzyzzyyyyzyyzzzzyzyzyyyyzzzyzzz{zzzzyzzxyyzzyyzzyzzyyyyyyyyzzyzz{zxyxzyyyzzyzy{zzzzyyy{xyzzzzzzzzzyyyzzzzzzzzz{zzyzzyzzyzzzzz{{zzzxzyzzyzz{zy{{zz{zzzyzzyzzz{zz{z|zzxzzzyz{zzz{|z{yzzzzyzzzzyzzz{zzzzzzzzzz{z{{{{zzzz{zzz{zz{z{{{zzzzzzyzz{zzz{|zzzzzzzzz{{{{{{{{zyzzzzzzz{z{|{}{{{zzyzzzz{{{z|{{zzz{zzyzz|z{z{{zzyzzzzzz{{{zz{z|{{{y|zzzz{y{{{z|zzzzzzzzzzzzzz|{zzz{yzzyzz{{zz{zzzzyzzzzz{{z{zzyzyzyyxzyzzyz{zzzyxzyyyzzzyyy{{zzzyyyyyyyzzzz{z{{zxzzzyyzzyyzzzzzyzzzzyzyzzzzzzz{yyyzyyyxzyyzz{{zzyyyzyyyzzzzzzz{yyzyzyzzzyzzy{yyzyyzyyyyzyzzzyzzzzzyyyzzyzzzzzy{zyzyxyzyyzzzzz{{zzyyyzyyyyzzzzyzzyyxyzyzyzyzyzzzzyyzz{zyz{z{zzz{zzyyyyzzz{{{zz{{zzzyyyzzz{z{zzz{yzzyzyyzyzzyzz{zzyzzzyyyzzz{z{{zyzzyyyzzz{z{yz{z{zzzzzyzz{zz{y|{zzzzzzzzzz{|{zzzyz{zyzzz{zz{zz{zzyzzyyyyzzzz{{z{zyzzyyzyz{{{{z{{zz{zzzzzz{|{z{z|{zzzy{z{y{{z{{{{zyzzzzz{{{{{{{{zzzzzzz{z{zz{{{{{zzyz{y{zyz{{z|{{zzzz{{zz{{z{{{{{zzzzyzyyzz{z{|{zyzyyzyzyz{zz{yzzzzyyxxyyyzzyzz{zzyyyxzzzzzz{z{{zzyyyyzzyzzzyzz{{zyyyyzyzzz{zyyzzyzyxx{yy{zzy{{y{yzzyzxzxyzyzy{zzzzxyyyxzzyzzzzzzzyyxyyxxzyyzzzz{yyyyzyyyzzzzzyzz{yzyyyyzzy{{zy{yzzzyyzzyy{yz{z{zyyyzzzyyx{zyz{zyyzyyyyzyz{yzy{z{yyzzyzyy{z{zyzz{zzzyzyyyy{z{zzzz{yzzzyzzzz{{zz{{yz{xzyzzzz{{zzzzzzzzyzyyyzzz{|z{yyzyyyzzzz{zzz{zzzzz{zzzz|z{yzzyzzzzzzy{{|z{zz{zyy{zzzzzz{zzz{{{{yzzyyyz{z|{z|{zzyzyyzyz{{{{{{{{yy{yzzzz{{{{{{{{{zzz{zzzz{{{{{{zzz{yzyzyz{z{|{{zzyz{zzz{|z{{{{|{z{{zz{zzzzz{{{z{{zzzzzzzzz{{{{z|zzzyzzyzzzzzzy|z{yzyyxzyz{zz{zz{yyyyxyzyz{yzzzyzzzyyyzyz{yzzz{{{yyzyyzzzyzzzzyzzzyzwzyzz{yzzyz{zyzyyyyzyzyzyyzzzyyzyyzzyz{zxy{zzzzzyyyyyyyzzzz{yzyzzyzzyzzzzz{{zyyyyzzzyzyzzz{zzzzyyyyzyzzz{yzyyzzyyyyyyyyzzzzz{zyzyyyzzzzyyyzz{zyzyyyyyzzzzyz{zyzyzz{zyzz{z{z{zzzzyyzxyzy{zyz{{z{zzzyyzz{zzyzz{zyzyzyyz{zzzzzzyzyzxzy{zzzzz{{zzzzy{yzyzzz{{zz{zzzyyyyyz{zzzz{zzzz{yzyzz{z{zz{{{zzzzzzzz{zz{y{{{zzy{zyyzzz{z{|{zzzyzzz{{{z{zz||{zzzzzzy{z{{{{{{z{{zzy{zz{|z{{z{{{zzzzzy{{|{{z{{z{yyyzzzzzzyzz|z{zz{{z{{{zzz{{{{{zz{zyzyzz{{zy{{{zz{zzzzyyzz{{{{{{yzyyyzy{{zz{zy{zyyyyzzxzzzyzz{zyyyyyyxzyzzyy{zzyzyyyyyzzyyyyy{{zyyxyzyxxzzyyyz{zzyxxyzyzzz{{zzyzyzyyyzyzzyzzzzzyzzyyxyyzyzyyzzyyyyyyyyyzyz{zzzzyxxzyyyyzyzyzz{zzzyzzxyyzzzyzz{{zzzxyyyyyzy{zzz{zyzzyzyyyyyxyzzzzzyyyyyyzzyyy{{zyyzyyyyyzzyz{z{{zzzzyyyzz{{zz{zzzy{yzxzzzzzy{{z{zzyyyzyyzyz{y{z{zzzyzyyz{z{zzz{{zzzyyyyyzzz{zz{zzzz{zzyzzzyz{zzz{zzyyz{zz{{z{{zzzzyzyzzz{zzzzz{{y{zzzyzyz{{{{zzzzz{{zyyz{{{{|z{{zz{zyz{zz{z{z{{{{z{zzzzzz{{{{{z|zz{zzzyzzzz{zz{{zzzz{zzy{z{zzz{{z{zy{zzzz{z{{z{{y{yy{zyzz{{zzz{z{yzyxzzz{z{zzz{zyzyzzz{yyyzzzzzzyyyyyzyxzyyzzzzzyyyyyyxyzz{y{zy{z{yzyyyyzyzzzyz{zyyyyyyyyzz{yzzzzyzxzyzzyzzyzzyzyyyyyyzyzy{zyzzz{yzxyyxyzz{yzzzzzxyzyzxyyzzzyyzyxyyyzyzyyzyyzzzz{yy{yyxxzyzzzzzzyzzzyyyxzzzzzzz{zyzyyxyxyxyzzyzyyyyyyzyxyzyyyzyyyyzzzzyy{zyzy{zzzxzyyzzxy{yzyzy{yzyyyyzyzyzzzxzzyyzyzzyyzzzyzzzzyyzyyyyzyzzzz{zyyyyzyyyyzyzzzz{{zyzy{yyzzz{zzzzzyzz{yyzzz{{{zzz{zzyzzzzzzzzzz{{{{zzzyyzzz{{z|z{z{xyz{z{y{{zzz{z{zzzyy{zzz{z{z{z{zyz{zzzzz|z{zz{zzyzzyzzyz{{{zz{{{yzzzzzzzz{zzz{{{{yzzz{y|{{{|{{|zzzyzzzz{{y{|{|{yzyzzyzzzzyzzz{z{zzyyxyyzyy{zyy{{yxyyyyyzyzzzzy{yzyzyyyyyzzzyz{z{zzyzzzxzzzzzyzzzzyyyyzyyzzzzz{yzyzyyyyxzyzzzzz{yzyyyxxyyyyzyzyyzzzyyyyyz{zyyyzzzzzxzzyxyzzyzzzzyyyxzxxzzzyzxzzxzyyzyxyyzyzzzz{y{xyyxyzyzzyzzzzyzzyzyyyyyzyzyzzyyyxzyyyyzzyzz{{zzxyzyyzyyzzz{zz{zyyxzzyyzzzzzy{zyzyyxyyzyzzz{{z{yyzyyxyzzy{yy{zyyzz{zzyzzz|yyz{zyyyzzzzyzz{zzzz{zyzzzyzy{yzzzzz{zzyyzzzzy{{{|z{z{zyyyx{zz{zz{{{{yyzyyyxyz{zzz{{zzyyzyyyy{{zzz{{zzyzzzyyzzz{{|zzz{zyzyzzz{|{{{{{{{yyzzyz{{{{yz{{zyyz{zyzzz|{zzz{{{zzyzyyz{zz{{z{{zzzzzzzzz{z{{z{yzzyzyzyyz{{y{yzzzzyyyyzyzy{zzzzzzzyzxzyyzzzzzy{{yyzyxyzyzzz{zy{zyzyyyyyyzzzzzzzzzyzzyzyyyzzyzzyzzxyyyyyxzzzzzzzzzyzyyyyyyzzzzzzzzxyyyyyyzzzyzzzyyyzxzxyyyzyzzzyzzyyyzxyyzzzzyy{yyzzyyyxyzzzyzz{zyzzxyyzyy{z{{z{{zzxyyyyyxyz{yz{zyyyyyyyzyzyyzzz{yxzzz{yyzzz{z{z{zzzyzyyy{zyzzz{zzxzzyyyyzzzy|{{zyyyyyyyyzzzzz{zzzyzzyzyyyz{zzzzzyzzzzyyz{{{zzz{zyzyzzyzzz{zzyzz{zzyzzz{yzz{z{{zzzzzzyzzz{zz{{{{{yzyyzzzyz{{zz{yzzzyyzzyzz{{{{{{{{zzzzzzzzzz{{{{z{zzzzzyzz|{{zzzz{zy{yzzz{z{{{z{|yyyyyzzzz{{z{|{zzzzzz{zz{{z{z{z{yzzyzyzz{zzzz{{{{zzzzyzzy{zz{z{{zyzzyyzy{z{zzzyyxzzxzyyyyzyzzzzzzyyyyyxzyyzzzz{{zyyyyzzzzzzzzz{zxzyxyywyzz{yyzzzzzyyyzyyyyzzzzzy{yzxyz{yyzzyzyzy{zyyzzzxyyzyzyzzzxyyxyxyzyzzzzyzzyyzxyzyyzz{z{yzzxzyyzyzyyzy{zzzyzzzyxxyzyzyzzyzzyyzzxxyyzzyyzzyzzzyyzxxzzzzzz{zzyzyyyzxzyzzz{zzyyzyzyzyzzzzz{{zzyz{yxyyzz{zzzzzxyzyyyyyzzzzzz{zzyzzyyzzz{zzz{zzzyyyzzzz{z{yzz{z{yyzzzzzzzzzzzz{zyzzzyzzzzz{{{z{yzzzzzzzz{z{{z{{z{zzzyzy{z{zzy{z{y{yyyzz{{zzz|{{zzzyyzzzz|zz{{yzzzz{y{zzy{z{{{{|zyzzzyy{zz{zz{{zzyyzzzyzzzz{{{{zzyzzzzyzz{{z{{{{zzyzzzzxz{zz{{{{zzy{zyzzzzzyz{zzyyyzyyzyyy{{zzz{yyyzyzzxyz{zzz{{yzyyzyzyzzzyz|y{zyzxzzyzzy{zy{{zzyzzyzyz{yzzzyzzzzyxyzyxzyyzyyz{yyzyyyzzzzyyyzyzyyyyyyyyxzzx{yzzzxyyzyyyyzzzz{zzzyyzyyyyyzzzyzzzyyyzyyzyy{zxz{zzzyyyyyzxyyzyzzyyzyxyyzywzzy{zzz{zyyyzyyyxxyzyzzzyyyxyzzxyzzzyyz{zyyyzzyyzzyzzzzzzzzzyyzyzyzzyy{zzzzzzyyzzzzzzzzzzyzz{yzyz{zyz{zzzyzzzyyzz{zzzy{zzz{{zyzzz{z{y{zzzyzzzzyzz{zzz{yzzzzzyzyz{y{{z|{{zzzzyzyyzz{z{z{{zzzyzzzzz|{zz{{{zzzz{zz{{{{{z{z{|zzyzyzzzz{{z{{{zz{|zzzzzzz{{z{z|yy{{yz{{zzz{{{{{zzzyzzz{{z{zz{{zzzyzz{{z{zz{{{{zzyyzzyzz{yzz{zzzz{yyzzyzzzzyzzzzzyzxxzxzz{zy{zzyzyzzyzzzz{zzz{{zyzyzyyzzzyy{{{zyzzyxyyyzzzz{{zyyyyxxyyyyz{zzzzzyyzzzyyxxyyzyz{zzzzxzxyyyyzyyz{yyyyyzyyyzzzzzzzyzyxyzzzyzzzzzz{zzyxyxzyzyz{z{{zzzyyzzyyzzzz{z{z{zzzzzyzyzy{zzzzyyyxyywyzyzzz{{z{zyzzyzyy{zyzy{{zzzyyyyyyyzzyzzzzzyz{zy{yzzyzzy{{zzzzyzyyzzyzz{{zyz{{yxyyy{yz{|yzyzzzzzyyzz{zyz{zzyyzyyyzzzz{zzzzyzzzyzzzzzz{z{|zzyzyzzyyzzz{{z{{{yzyyyyz{{{zz{{{zyz{zz{z{{z{z{z{zzzzzz{z|{{z{{{z{{zzzy{zz|z{z{z{zzz{zzzz{z{{{{|z{zzzzzyzz{z{{{{{zzzz{zz{{{z{{z{|{zzzyyzz{z{zz{{|zzzzyzzzz{zzzz{zzzzzyzyyyz{z{{zzyyyyyzyyzzzyz{z{zzxzzxyx{zzyzzy{yzxyyzyyyyzyyz{zzyyyzyxyy{zzzzzzyzzxyxyxyyzzzyyzyzzxzxyxzzzyyzzz{yzzyyyx{yzzzzyyyyzyzyxyyzxyyzzyyyzyxyyzyyzzyzzxyxyyyzzyyyzzz{zzzzyxzyzyzzyyzzyzzyyxxxyzzzzxyzzzyyzyzyzxyzzzzz{yzxzxyyyyzyyyz{{{zzyyzyyyzz{yyzy{zyyyyzz{yzzzyzz{zyzyyyzzz{{zyz{zzzzyzyyzzzzyzz{yyyzyyyyzz{z{zz{zzzzzzzzyyzzzzz{zzzzz{{yz{{{{zz{{yz{zyzzzzz{{y{z{zzzzz{zyz{yzz{{zzzzyzyzz{{{{z{{{zzy{y{{z{{z{{|{{zzzzzzzzz|{{{{z{zyz{zyzzz{zzz{zz{zzzyzzzz{{{z{z{z{yzzzz{{z{z{{{{{zzyzyzy{zzzzzzzzzyzyyzz{zz{z{{y{zzyzyyy{zzyzzzzyzxyyzyzyzzyyyz{yyyyyyxxyyzzz{zzzyyyzyxyzz{zyzzyyyzzyyxyy{yyzzy{zzyyyyyxz{zzzyz{zyxyyzyzzzzyyzzzyxyyzyyyzyzyxyzzyyyyyzyzzzyzyz{zyzyyxxyyyzyzw{yyyyyyyxxzyy{zzzz{yyzyyyyyyzzz{z{{zyzzyyyzyzzxzyzyyzyyyyyyzzyzyyzzyyzyyyyyzzzz{zzz{yzyzyzyz{zyz{{yzyyyzyzyzzzzzzz{yyzyyyyyz{zz{yzzzzyy{yyyz{zzz{zzzyyyy{zyz{zyzy{zzzzzzyyzzz{z{zy{zzyz{yzzyyz|zzzzyzyyyzz{zz{{zzz{zyzzzyzz{{z{{{{zzzzzzzzz{{zzzz{{yyzzz{{{zzy{{{{z{zyzy{zzz{z{{z{{zyzzyyzzzz{z{{{zzzzzyyzz{{{{{{{{{zyz{zzzzz{{zz{|{zyyzz{z{zz{z{{zzyzzyzyzy{{zz{zz{zyyyyzyy{zz{zzyzyyyyyyyzzyyz{zzyzyyyzyyyz{yzzzyyzyyyzyyzzz{zzzzzyyyyxyzzzzzyzzyyzzyyyzyyzz{z{z{zzyxyyzyzzzyyz{yyzyyyyzyyy{y{zzzyyyzyyxyzzzzyzzzyzzyyyyyyz{{xzzxyyyyyyyxyyzxzyyyzyyyyzyzzzzzyy{zzxyzyzyxyzyyyzyzzzyxyxyyyzzyzzzzzzzyyyyyyxzyz{{zzyyzzyyyyz{{zzzzyyzyyyzyzyzyz{zzyy{yyyyyz{{zzzz{zyyz{yzyz{zzyzzzyy{yyzyyz{{zzz{zzyyzzyz{yzzyyzzzzzyzy{yyy{zz{{{zz{zyyyzzzzzzz{{{zyy{zzyzzz{y{z{zzyyzzyzzz{z{zzz{zyzzzzz{z{zzz{{{{zzzz{zzzz{z{z{{{yzzzzzzzz{zz{{z{zzzzzzzz{{zz{z{{zyyyzyzzz{{z|z|zzzyzzzzz{zzzzz{zz{yzzzzz{zz{zzz{zyzyyyz{z{z{zzyxzyyyxyxyz{zzzyyyyyzzyyyz{yzzz{zzzyzzzyxzyxzzzzzzzzyzyyzzyzzzzzzyxyyzzzxzyzzzzzyyyyyyzyyyzzyyzz{zyzyyyyyzyzyyzzyyyyywyyyzxyzz{z{z{yzyzyzzyzzzzzyzyzyyyxyxzzzyzyzzyzyyyyyyzzzzyz{yzyzyyyyyzyyyyyzy{zxyzxyyzyzyzzzzzyzyyyyzzzyyyzyzzyzyzyyzzzz{{zzzyyxyy{yzy{zzzzzzzzyyzyyyzzyzzz{zzyzyyzxzy{zzzzyyyyyzzyyyzz{zz{zyyyzxzyz{zz{{zzzyzyzyzxyyzzzzz{{yyzyzz{zz{z{z{{{zzzzzzyy{z{{{{{{{yzzzyyyz{zzzz{{zzyy{zz{z{{{{{{zzz{zxzzzz|{{zzzzzzzzzzyzz{zzzz{{zzzzzzzzz{{z{z{{{zzyzzyz{{z{z{z{yzzyzyyyyyzzzz{{yyz{yzxyzzzzy{yzzzyzzzyyzz{zyyzzyyyyzxzyzyzyzzz{yzyxyzzyzz{zzzyzyzyzzzyyz{{zzzzzyyyyzyyxxyz{yzz{zzzxzyyxyzzzy{zyyyzyzyzzzzyyy{zyyyzyyyxyyyzyyz{zyxzyyyyyzyyzyzzyyxyyzyyyy{zyy{yxyyyyzxzyzzyyzzzyzxzywyyzzzzzyzzzzyyyzyzyyzzyyzz{zyyyyyyyzyyzz{yzyyzzzxzyzzzzzy{zyzyzyyzxy{z{zz{|zyyzzyyzzzzzz{{zyzzyyzzyzyyzzzyzzyzzyxyyyz{zzzz{yyyyyyyzzzz{zz{yz{zyzzyzzzyzzz{zzzzyyzzzzzy|{z{{zzzzzz{zz{{{{{{{z{zyzzyz{{zzz{{{{yzyzzzyz{z{{z{{{y{zzzzy{z{{{z{|zyzzyzyzz{zzzz{{{yzzyyzzzz{{{{z{zzyzz{zzzzzzzz{{zzy{{{zz{{z{{zz{zzyzy{zzzzz{zz{{z{yyzzzzzzz{zzzzzyzyyyyzy{zzyzyzyyyzzyzyzzzzzz{zy{zyyzzyzyzz{{z{{zzxyzyy{y{zyyzyzzzy{yyxzzzzzyzzzzzyyxyxzxz{zzzzyzzzyyzyzzzyz{zyzyyyzxyyyzzzyzzyyyxyyyyyyzyzyzyzyyzxyxyy{xzyz{zyzzzyyyyyzzz{zzyzzyzxyyyyzzzyzzzyyzzzyyyyyzzyyz{zzzyyzzxxzzz{zzzyyz{yyzyyzzzzyz{zyzyyyyzyz{{yz{z{zz{zzyzzyzzzzz{zyzzzyyyyzzzzzz{zyzzyzyzyyyzz{{zz{yzyzzzyzz{{zz{{zyzzzzyy{zzzzz{zzzxzzzzz{zz{{{{{y{yz{zzz{z{{z{z{zzy{zyzzzzzyzz{{{yz{zzzy{{{zz{||zyz{{zz{{{{{{zz||z{zzzz{{{|z{{{z{yzzyzzz{{yzzz{{{zz{zzzzz{z{|{{|{zzz{z{z{{z{z{{{{{{y{zzzz{zz{{|zzzzzzzzz{{{{{z{zyzzyzyzy{{zzz{zyyyxzxyyyzzzy{zzzxyzzyyyyzy{yzzz{zyyyzzyzzzzz{yz{zyyyzyyyyzzzxyzzyyxyyxyxy{yzzzy{yxzxyyxxyyzyx{zzzyyxyyyyy{zyy{zzyxyxzyyyxyzzy{zyyyyyyyzxzyyyyzzzyyyzyyxyy{{zzyyzzzyyxyyyyxzyzz{{yyyzyyyxyyyyzyzyyzxyyxzzyzyzz{z{zyyxxyxyzz{zzz{zyzzyyyzyyzzyzy{z{zzyyyyyzyzzyyzzzyzyyyyyzzzzzz{{zyzzzyzyz{{zzzz{yzyyzyyyz{zzzz{zzyyzyxyy{zzyz{zzyyyzzxyyyzzz{{{zyzzyyzzzzzyz{zzzyyzyzyyyzz{zz{{z{yzzzyzy{zzz{{z{yz{yzz{{zz{zz{{zzyzzz{zyz|zz{z{{{y{{zzzyz{{{z{|{{yxzyzyy{y|zz{{{|zz{yzz{{{z{{z{{zyyyzzyzyzzzzz{zzzyzzzyyzzz{zzzyzzyzyyyy{{zz{zz{yyyyyyxxzyzz{z{{yyyzyyyzzyz{zz{zz{zzzyzx{zzzz{zzyzyzyyyxz{{zzy{zzzyyyzyy{{z{z{z{yyyyzyyyyzyzzz{zzzxyyyyyzzzzzzyzyyyyzyyyzyyzzzz{xyyyzyyyyzyzzzzyyzyyyzyyyyyz{zz{yzzzxyxyyzy{zzzzzyyyyyyyzzyyyzyzyzyzxzzxy{yzzz{{yyzzyz{yzzzzyzzzyzzyyzzzyzzyzz{|zyzyzyzzz{y{{zzyzyyyyyyzz{zzyy|zzzyzyzzzzzz{{{{{zz{yyyzyz{zzz{{zzzy{yyyzzz{zzzzzzzyzzzzzz{{zz{z|zz{yzyz{{zz{z{z{yz{{yyyy{{z{{{{z{{zzzzzy{{zz{{{{zz{zz{{z{{{z{z{||zzzzzyzz{{{{z|z{{{zz{zz{{z{z{{{{zzyyzyzzyzz{{{{|zyzzyz{{z{{{z{{zzyy{zzz{{{{{|{z{zzzyyyz{{{{yz{z{zzzzzyyzzzy{{zzzyyyyyyyyzz{zzzzzyyzyzyyyzzyzy{z{yyyzyyyz{z{yzz{zxzyyzyzzzyyzzyzzzzxxyzxyz{zzzz|yzzzxyyyzzzzz{yzz{zyxyyzyzzy{zzzzyyxyyzzzzzzyzyyxyzyyyyyyzyzy{zyyzyyzyyyzyzyzzzzzyzxyzyyyzzzzzzzyxyyxyyyyyzyyzyyyyy{yyzzzzxzz{z{zzzyzzzxzyzzzzzzzxzyzyyyz{{{zyz{{yzyyyyyzzyzzyzzzzzyzxzyy{zzzz{yyzzzyyyzzz{zz{zzzyzyyyzzz{{zzz{{zyyzzzyyzzzzy{{zz{yz{zz{zz{{{{{{yzzyzz{y{{zzyzzzzzyzyzyyzz{zzz{{zyyzyzzy{{{yz{{{{z{yy{{zz{{{{{{{{{{yyzzzz|z{z|{{{{zzzzz{zzz{z{zz{zz{zyzz{z{{{z{{{{z{zyyzzz{|{zz{yzzzyzzzzzz{zzz{{z{y{zzzyzz|zzzzz{zzyyyzzzzzzzzzzyyyzyyxyyzzzz{zz{yyzxyyzy{yz{z{xyyyyyyyzzzzzzzzzyzyzyyyyy{zyz{zyyyyyyyyzzzzzzzzy{yyyzyyzzzzyzzyzyzzyxyyy{{z{yzzyyyxzzyyzz{zyzz{yyyxyyyyyzyzyzzyyyyzzyyzyxzyyzzzzyyyxzxxyzzzzz{zxyyzyyyyzyzyyy{yzzyyzyyyyzy{zzzzzyyyyyyyyz{zyz{zzxyzyxyxyzyyzyzzzz{zzyzyyzyyzz{zyyzxyyxyzz{zyzzzz{zy{yyxy{z{{zzyzyyyzyzyzz{zzz{zyyyyyzzz{zzzzzz{zzzyyzzyzz{{z{{|yzzzyyzyzzz{z{zzzyyzzzzy{{z{zz{z{yzzyzyzz{zz{{{{{zzzzz{zzz{{{zzz{z{zyzyzzz{z{|zz{z{{yzzy{{z{{{{{zyzzzyz{{{z{{||{zzy{zzyz{{{{{zz{zzzz{yzz{zzzz{{{{yzzzyzy{z{yzz{{yyzy{zzyyzz{zyx{zzyxyxyyzzzzyzyzzyxyzyxyzyzz{zyzyyzyyzzy{zyzzyzyzyyyzyyyzzzzzzz{{zyyyyyxzyyzy{zzzyyyyyyyyzxzzzzyyyxzyyyyzyyyzzzzyyyxyyxyyzyyyzzzxyyzyxzxyzzyzzzzyzzyxyyyyyzz{zzyzyzyyzxyyzyzzzzyyzzyyyzxzyzyzzyzzzyxyyyxyyyzyzzzzzzyz{xzy{z{z{{{zyyxzyzyz{zyzzzzzxyyzyyzzzyzzzzzzyzyzxyyzzzyzzzzzz{xzyxzyzzzyzzyzyzyyzyyyzzyzz{zzyyyyyzy{z{yzzzzzzzzyzyz{zzz{z{zzzzyzyzy{zz{z{zzzyzzyzyy{{{zzz{zzxzyzzzyz{{{{{{{zzzz{z{zy{|{{zz{{yzzzzzzz||{{z{{{yzzzyzzz{zzz{z|{zzyzzyz{{z{z{{{zzzy{yzz{{z{z{{{yyy{zzzy{zzzz{{{yzzyxyyzy{{{z{zyyyzyzyyyzyzzzzzyzyyxyzyzyy{zx{zzyyyyyyzyy{zz{zzzzzzyyzyyxzzzyy{zzyzzzxyxzzzzzyzzzzyxyyyyzzy{zzyzzxxyyyyzyy{yy{yyyyyyyyyyyzzyyzzzzyyxyyyzzzzzyzzzxyyyzzyyzyzyyzyzyyzzyyyyyyyzzzzzzyyyyzyyzzzzz{zzzyyyzxzyy{yyzzzyyyxyyyzyzzyzzzyzyyyzzzxyzzyzyz{zzyzyyyyyzzzyy{zzzyyyzyyzxzzzzzzzzxyzxyyzzzzzzzzzyzyy{yzyyzz{{{zzyx{yzxyy{zzyzzz{zzyyzyxzzzzz{z{{yyzyzyyz{z{{{{zzyyyzzzyzz{z{z|{{zy{zy{yz{zzyy{{{{zzz{zyzz{z{{{{{{{zyzz{zz{zz{|{{{{zzz{yzz{{z{z{z{zzzyy{z{{{zzz{z{y{z{z{zyzz{z{{zz{yyzzzy|{zzzz{z{|yyyyzzzz{y{{{{zzzyyyyyzz{{zz{zyyyzyyxzy{{z{yzzzzyxyyxyzzyy{zzzyyxxzyyyyzz{zz|{yz{yyxzyzyzzzzy{{yzyzyyzyz|zzyz{zyyzzxyyzzyzzz{yzzyyyzyxxzyyzzzy{yyyyzyyyyzyyzzzyyyyzzzyzyzzzzzzzyyyyyzyyyzzzzzzzxyyxyyxyzzzzzzzxyzxzyyyzyzyzy{zyyyxzxyyyzzyzzzzyyyyyyyyyzyyzzzzyyyyyyyyzzyzzzzzzyyxzyyzyzyzzzzzzxzyyxzyzyyyyzy{yzyzyyyzzzzz{z{zzzzzyyzzzz{zzzz{zyxyzyzzzz{zyz{zyzyy{zzzzzzzzzz{zzzzzzzzzz{{{{{{zzzzy{zzz{{{y{{{zzyzzyyy{z{yz{{{{zyzzzzyz{|{{{z{zzzzyz{zz{yzz|{z{zyzzyy{z{{{zz{{zyzyyyzzy{{zzz|zzzyzzzzz{zz{{{z}zyy{{zzy||z{z{{{zzzyzzzzzzzz{{z{{yz{yyyzzz{{zz{{z{yzyyzyzz{zz{zzzyxzxxzyzyzyyxzzyyyyxyyyyzyzzzyzyyyyxzxzyzy{z{y{yzzyyyyyyzzz{zzzyxzzyyyyzzzzzzyyxyyyyxxyyyzzyzyyzzyyyzxyyyyyzzyzxyyyxyyyyzyzyzzzxzzyyxyxyyzzyzzxywyxxyyxzzzyyzyzyyyzxyyzyzzyyxzzyyyxzxyxyyyy{zzzyyyyyyxyx{yzyyzyyzyxyyyxyxyzzz{yyyzzyyzxyzzyyzz|yyzyyx{zzzzzyzz{zyyyxyyyzzzzzy{zyyzyyyyyy{zyzzzzyyzyzzyy{z{zz{{{yyyyyzyyz{zzyzzyyyzyzyzz{zzzz{zzzzzyzyyzzzyzz{zzzyyyyyyyzz|{zz{zzzzzzyyyz{{{z{{zzzzzzzzyz{zz|zz{z{zyzzzzz{|{{{{{zyzyzyyyz{z{z{{yzyzzzzzzyz{z{{{{yzzzyyyz{zzzyzz{zyzzzyzzzzzz{{{zzxzzyzyzzz{z{zz{yy{yyyyzyyzzzzzyzxxyzzzxyzyzzyyyyyyzyxxxyzzxy{yzzyzxyyzyzyyz{zzzyyyyyyxzyzzyzzzzyyyyyyyyzyyyzzyyxyzyyxyxyzyyz{{yyyyyxxzyzyzyzyzxzyyyyyxzzxyyyyyzxzyxyxyxyzyzyzyyyyxyyyyzyzzx{z{yyyzyxxyzyyyzy{zzyyyyxyyx{yzzyzzzyyyzyyzxyyyyy{yzyyzyyyyyzzzzyz{zyyyxyyyyzzzyy{y{yyzyzyzyzyyyzzzzyyzyyzyyyyyzzzzy{yyyyxyxyy{zyzzzzyzzzzyzy{zyz{{yzyyzzzxzzzyzz{zzyzyyyyyy{zz{zzz{xyyyyzyzzzz{{zzzzyzzzzzzyz|zzzzzzyzzzyzyyz{{|{{zyzzzzzzzzzzzzzzzzzzyyyzzz{z{z{z|yzyyzzzyz{z{{{{{zyzzzyyy{yzzzzzz{zzzzzz{{zz{zzzzzyzyyyyz{{zy{{yzzzyzzyyy{z{yzzzzzxzyyxzyzzzzzzyzzxyxxxyyyzzzyzyzyyxyyyxyy{zzzzzzyyzyyyzzzyyzzzyzzyxyyyyyzzzzyzzzyyyyxyyyyyzzzzzzzyyxyyyxxzyxyzzyyyxyzyyzyzzyxzyyyzyyzyxyzyyzz{yzyxyyxyxxzzyzyyzzyxxyyyyyzyzzyzyzyyyyyyyxyzzzzzzyyyxyyyyyzyzyzz{zyyyyyxyyyyyyzzyzyyzxyyxxzyzzyzzzzzyxzyyyz{zyy{zzz{yyyyzzzzzyyzzzyyzyzyzzzzzzzzzyyyyyyyyzy{yzzzzzyzzyyyyyy{{zzzzzyyyyyyyzyzz{zyzzzyzzyzyzzz{zzzzzyzyzzyzyz{z{zz{zzzzzyyyzzz{z{y{{yyzzzyzz{{yz{{{zzz{yzzzyzzzzz{zz{yyzyzzzz{z{z{|yzyzzyzzzzz{{z{z{yzzzz{zzzzzzz{{zzzzzzzyzzzz|z{{{zzzz{yyyzzzzz{{zzyzzyyzzzzz{zzz{yyzyyxzzzyzyzzyzxyyyzyyyzzzzzzzzyyyzxyyyzzz{zzzzyyxyzyyyzz{zzz{zzyyyyzyzyzzzzy{{y{yxxxzyyyzzzzyzyyyyyyzyyzyyyzzyzyyyyyyyyz{yyyzyyzyyyyyyy{xzzzyzyyyyyzzyyzz{{{zz{yyzxzyzzzzy{zzzzyxyxzzxyzzzzzzzzzyyyyyyzzyzyyyyzyzyyyyyzzy{yzzzxyyyzzzyzyzzzyzzyzzxyyyyzzzzyzz{yzzyyyzyzzzzz{zzyyzzyyzyz{zzz{z{{yyzzxzyy{z{{{z{yzyyyzyyzz{{zzzz{yzyyyyyz{zzzzzzzzzzzzyzzzz{{z{zyzyzzz{zy{z{zzz{{yzyzzzyz{zzzy{{zzyz{y{{{z{zz|{{z{{yzzzzzzzy{{{{{{zzzz{z{|zz{{{{zzz{zz{z{{{zz{z{{zzzzzz{zz{zzz|{{zy{zyzz{{yzz{{{zz{zzzzzyzzz{z{{{{zxzzzyz{yzzzzzyyzyzyyyzzzzzyy{zyyzyyzxy{{zzz{yyyyzzyyyyzzzz{z{zyyyyxzyzzzyz{zyyzyzyzy{z{zy{z{zzyzyxyzyyz{zzzz{zyzyyyzzz{zzyzz{zyyzzzyzzzz{zz{zyzzyyyzzyyzz{{{{yyyzyyyyzz{z{zyyyyyzxzyyzyyzzzz{zyzyzzzzzz{{zzz{zzzyzyzyzyyzyz{zzzyyyzzyzzzyz{y{zzzyzyyyzyy{{z{{{zzyzyzyzzyzzzzzzzzyzyyy{zzzyz{{zyzyzzyz{{zzzz{{{{zzzyyyzz{z{z{zyzzyyzzyzzzzzzzzzzy{yyzzzzzzzz{z{zzyzy{z{zz|{{{{z{zyz{zy{{{{y{{{zzz{y{zz{{{{{{{{z{{z{yzz{{{{||{zzy|{{y{z{{{z{{{{{zz{zzz{z{{{z{{|z{z{zzzzzz{z{{{{{yz{zy{{z{zz{{{{{y{z{zzyz{z{{|||zz{zzzzzzz|{{z{{{zy{zyzy{{zzyzzyz{yyyzyzzz{zz{yzyyyyyyyyzzyzyyzzzyzzyyzyz{zy{{zzyyyyy{yy{zzzzz{zyzyyxxyyz{zzz{zzzyzzyyyxzzz{z{zzyyyzyzzyyzyy{zzzyzyyzyxxyyzzzzzzzz{yyzyzyzzyyzyzzzyzyzyyz{zzzzzzyyzyxyxyyyzzzyzzyzzxxyyyyyz{yyz{zyzyzyzyyzzyz{zyzzzyxyzyyyzzy{yzyyxyzzyyzzzyzz{{zzzxzyyyzzzzzzzzzxzzzyzzyzzzyzzzxyzzyyyzzzzzzz{zzyzzzzzzzzzzz{zzzyzyyyyzzzzzzzzzzyyyzyzyz{zzzz{z{zzyzyzzz{z|zz{{zyzyzzy{z{z{z{{{zyzzzzyy{z{zz{{zzyzzzyz|{{{y{{{zzzyyzzy{{{{{{{|zz{zzyz{zy{zz{{{{{xzzyzzz{{z{{zz{{zzzzyyzz{zzz{{{|{z{zyzzzz{z{{{{{z{yyz{zz{{yz{{zzzx{zz{zzz{zzz{{y{yy{yyyzz{z{zyzyyzyy{zyzzzzyzzzyyzyyyyyzzzzz|zzzyyzzzzy{zzyyzzzzyzyyzyyyzzzzyyzxzyzyyzxzzzyyzzzyzzyyyzxyzzyzzyyzyyyyzzzzzyzz{zzzzzyyyyyyzyyzz{zzyxyyxyy{yy{{zzzyyxyyzyzyzzy{yzzyyyyyyzyzzzzzy{{zyyyyyyyyzyzzzy{yyyyzzzzy{yy{zzzxzyyyzyyzzzzz{{zzyyyyyyyz{yzzyz{yzzyzyyzzzzzy{zzyzyyyyyyzzzz{{{z{zzy{{zyzzz{zzz{yyyyyyzzzzz{zz{zzzzy{zyyy{{zz{zzzzzy{zyzyz{{zz{zyzyy{z{z{{{{{{{{zzzyyzzy{{y|z{{zzyy{zzzz{zzzz{z{zzzyzzzzz{zz{{||{yzz{zzz{|{zz{{{zz{zzzxz{{{z{{{{{zy{z{yz{{zz{|{|{zzzyyzz{{{{{{{|z{yzzzzz{{z{{{{z{zyzzzyyz{zzz{{{zyzxyyyz{{zyzzy{yxxyxzyyzzzyyzzzzyxzyyzyyyzzzz{zzyyzyyzxzzz{zzz{zyyzzyyyyzzzzy{zyyzyxyxyzz{{z{yzyyyyyyxzy{zyzzzzyz{zyyyyyzzyzzzzzyyyyyxyzyyzzzy{yzyyyzyyzyzy{zzyzyyzyxyxzyzzyzyyzxyyxyyyzzzyzzzzyyyyyyzyyzzxzzyzzyyxxyzyyzyyz{{zzzyzzzyzzzzyzzz{zxzyyyzzyyyzzzyzzyyzxyzzz{yzzzzzzzzzyzyzzzzy{zyzzyyzyyzyz{zzzz{zzyzzzzzzzz{z{{z{zzzzzz{zyzzzzyzz|{yzzzzzzz{{z{{{yyzzyyz{{{{{y{zzzyyzzyzzz{z{y{z{zyzzzzzy{{{{{z|{zz{zzzzyzzzzz{{{|zzyzzzz{{{{{{{z|z{zzzzzz{{z{{zz{zzy{zz{{zz{{z{{{zzz{zz{{zzzz{{{zzzzy{zzz{zzz{zz{zzy{zzyz{zzz{{{zyzyzyyy{zzzzyzyyzzxyyyyy{yzzzzzzzyyyxyyzzzz{zzzzyyxyyzyzyzyzzz{zyyyzyyyyyzyzz{zzzyxxyyxzzz{zzz{yyyyzyyyzz{yzyzyzyyzyyzzzyzyyyz{yzyyyyyy{zzzzyzyxzyzxyxzzy{zzz{zyyyyyxyzzyzyzzz{yyzyzzyxyzzzzy{zyyyyxzyyzyzyyzzzy{zyyxzyxyzz{{zzyzzyyyyzzzzyz{zzzy{yyyzyzyzzzzz{zzzzzyzyzzzzzzzzyzyzxyyzyzzzy{zzyzyzyzyyz{zzzzyyzzzzzzyzzzzzzz{y{zzzyzzzz{zzzzzzzzzzzyyy{z|zzz{{yzzzzzzxzyz{z{{zzzzzyyzy{{{|{{{z{yzzzzzz|{{z{y{|zzzyzz{yyz{z|{zz{zzzyzzz{{{{{{y{|{{zzz{{{z|{{{{{yyzzyzzzzyzz{{{{{z{z{zzz{{{{z{{{zzzyyzzzz{z{{{{|zzzyyzyyz{{{z{{zzy{yzxyz{z{zzyyzzyzyzzyyyyzy{zzzxxyyzyyzyzzzzyz{zyzxzzyzyyxzzzz{zzyyyyyxyzzzyz{{zzzxzyyxzyzzz{zzyxyzyyyxyzzyzyzzyyzyxyyyzzzyyzzzzzzyyyyyzyzyyzy{yyzyzzzzyzyzzzzyzyzyyzyyzyz{zyzzyyyxyyyyyyzzzzz{zyyyyxyxyzzyzz{zzyyyyzyyyzzzzzy{zyzyyzzxzzzzzz{zyyyzyxyzzzzzzzyzyyyyyz{zzzyzzzzzzyzzyzzzzzzz{z{zzzyzyxzyyy{zzzz{zy{yyyyyzz{zzzz{zyyyzzxy{yzyzy{zyyyzyzyz{z{z{{{zyzzyyyyzzzzyz{{|yzz{zzyyz{zzy{{{{zzz{yzz{{zzyz{{{zzzzzzz{{zzz{{{{zzzyzy{z{zz{zz{zyyzzzyz{zyz{{{z{yzzzzzyzzz{z{zzzzyyzzz{{z{zz{z{z{zzzyzyz{zzz{{zzzzzzyzzz{z{zzz{z{zyyyyzzz{{zyyzzyyyyyzyxzzyzzzzyzyyyyy{yzyzzzyzyyxyyyyx{yzyzzz{zzzxyyyyyyzzzy{zzzyyywzwyyzzzzzzyyxyxyxxyzzxzzyyzzyxyxzyzzzyyzy{xyyyyyyyzyzzyyzyyyxyxxyyyyzyyyyyyyyyxyyzyyzyzyyzyyzxxyyzzyzzyzyyyyyzzyzxyyyyyyzzyyyxxxxxyyyyyzzzyyyzyyyxzyyzzzzzyyxyzxyzyz{z{zz{yyyyyyzyzzzzy{zzyzyzxxyyyzzzyzyz{zzyyyyxzyzzzz{zzzzyzyyxyy{z{y{yzyyzyyyz{{yzyzzzyzyzzzzzzzz{zz{zyzyzzzzzzzy{z{z|yzz{zxyzzz{z{z{zyyzzzzyx{{zzyzz{zzzyzzzzzz{{{z{{{yyzyzyzzzy{z{{zzyzzzyzy{zyz{z{zzyzzzyzyzzzz{z{zy{yzzzzzzz{{{z{{yzzyyzyyyy{z{z{{zyyyzyzyzzzyzy{zyzzyzyyxzzzyyz{zzyyyzyyyz{zzzyzzzyyzyyyyyyzyz{zzyzzyyzzyzzzzz{z{zyyzzzyyzz{{zz{zyzzyxzyxzzzzz{zyzyyzyzyzyyzyz{zzyyyyzyyyyzyzy{{zyyxzyyyyzyzzyzzzyyzyyyyyzzzzzy{zzyyyxzyyzzzxzyz{yyzzyyyzzz{zzz{{zyyyy{yyzyzzyzzzzzyyzwzxz{zzz{{{yzyyyzzyyzzzy{zz{yyyzyzyzzzzyzz{{yz{zyyyzzz{z{zzzyzyyzz{zzzzz{z{zzzyyyyzzzzyzzyzyzzyzzyzzzzzzz{{zyyz{zyzzzzzzzzzzyzzzyzzy{{{{{z{xzyzzz{zzzz|zyzzzzzzzyzyzz{zzz{{{zzzzyzzz{z{{z{{z{zzzz{z{{zzz{{{zyzyzzyzz{zzz{|{{{{zzzyzz{|z{z{zzzyzzyzzz{{{zz{{{{yz{zz{z{zz{{z{yzzzyzzzzzz{{z||{zyyzzzzz{zzzz{zzyzyzyzyyyzzzzzzzxxzyxzyy{{yzz{zzzyyxyyzyyyzzzz{zxyzzzyyzzy{{yzzzyzzyyyz{zz{yy{{zyyzzzzyzzzzyzzzzyyzyyyxyyzyyzzzyxzyzyyyzxzyzy{yzyyzyyzyyyzzyzzzyyxyxyyzyzyzzzzyzyyxyxyzzzyyzzzzyzyyyyyyzzzyyyzzzyxzzxyyyzzyzzzyyyyyyyyzzyzzyzzzyxyxzyyy{zzzzy{zzzyyyzyxzzzyzzzzyyyyyyyyzz{zz{zzxzyzzzxyzzyyzz{zzyzzzyzyzz{z{zz{yyyzyyzyzzzyy{|zzzzyyyyz{{zzzz{z{yzzzzzzzzzz{{zzzzz{zyz{zzz{yz{|zzzzzyyyzzzzz{{{zyzyzzyz{{{{{z|{zzzzzyzzzzz{z|{{zzzzzzz{y|z{z{{{{zzzzyzyz{zz{zy{zz{zzz{zz{yz{{z{{zy{z{z{{{z{z{z{zzzzzzzyz{{|zz}{zzzzyzyzz{z{zyzzzyzzzyzyzyzz{zz{zyyyxxzxzz{zyyzz{yyyzxzz{zzy{yzzzyzzyyyxzzzzzy{zzxyzyzyzzzz{zzzzzzyyyzyxz{zz{yzzzzyzyyyzzzzzyz{zxyyzzyyzz{zyzyyzzyzzyyzzz{{zyyzyzyyyyxzyyzzzyz{yzyy{x{yzzz{zzzzzyzyxyyyyyzzyyzzzzzyyzzyyyzzzzzzzzzyyzyyyzzyzy|zzzyzyyyzzyyzzzz{zyzyy{zyyz{yzz{zzyxzyyxyy{y{{{z{{{yzyzyyz{zz{zz{{zzzz{zyyzz{zy{{{zzzzyyzyzzz{zzzzyyzzyzzz{{z{z|{zzzzz{zyz{{z|{{|zz{zz{zzzz{zz{z{zzzyzzzy{z{{z{z{{zzzzzyzz{{zz{|z|zzzzzz{zz{{{{{{{{zzzzz{yy{{{|z{{{zz{{zzzzz{{y{|z{zz{{{zz{|z{z{|{{{zz{zz{zz{{{zz{{zzyzyzz{zzz{{||zyyyyzzyz{z{z{{zzzzzzyyzzz{zzzyzzyzxyxzzzz{yyz{zyzyzyzyzyz{zzzzzzxzyyyzyyy{zzzzzyyz{yyzyz{yyzzzzzyxyyyzx{zzzz{yzyyzzyzzyzyzyzz{yzyyyyyyyz{zzyzyzyxyyyzxyz{zzyzzzyz{yzyyyzzzzzyyyyyyyxyyyyyzyzyzzyyyzxxyyyy{zyz{{zyzyyxyyyzzy{zyzzyzyyyyyyzzzy{zzzzzyzyzzzzzzz{{zzzzzyzyzyz{yz{zzyyyzyyzzz{zz{yzzzzy{xzyyzzy{zz{{yzyzzzyz{z{{zzzzzzyyzyzzyy{zz{{zzzzyyzyy{zzy{{zzzzzzzzyyzz{{{zz|zzzy{zzzzzz{{{{zzzzzyzyyzz{z{y{zzzzzzzzzz|zz{{{|zz{zyz{y{{{z||{{zzzzzz{zz}{z{z{|zyzz{zyz{{{zz{|z{z{{{zzzzzzzzzz|zz{yzy{|z{z{{{zzzzzyzzzyzzz{z{|zzzzzzzzyz{{yzx{zzzzzyyyyzy{{yzzzzyzyyxyxyyyzyzzzzzxzyxyyzyyzzz{{zyxzyyzyyzzzz{{zyzyzzyyzzzyyyyzzyyyxyyyxyy{zzzzzzyzyyyyzyzyyzzzzyyyxyxzyyyyyyzyzyyyzyzyyzyzzzzzyzyyyzxyyyyzyzz{yzyyyyzxzzzzyyz{zzxyyxyyyyy{zzyz{zyyyyyyyyzyyyyzzyyyxzyyyzzzzyyzyzyyyzzyyyzzzy{{zyyzyzyyyzyyzyzzzyzzyyyyz{yzzy{y{yyyzyyyyzy{yzy{{zy{y{xzzz{{zzzyzzyyyzyxyzz{zzz{zzyzyyyyzzzzzxz{zyzyyzzxzz{zzzzz{zz{yzyzy{{{{{zz{zzyzzyzy{z{zzzzz{zyyzyyy{{{{zzz{zzzyyzzyz{z{z{{{{yz{zzzyz{{|z{{|{yzzzz{zzyzzzzz{{yyzzzzzyz{z|{zzyzy{|zzz{zz|{{{{zz{yzzzyzzzzz{{{zzyzzyzzz{zyzzzzyyzyyxzyzyy{zzyzzzyyxyyxzzzz{zzzzyyyz{yyzy{zyzz{yyzxyzyyzz{{zzz|zzyzyyyyzzy{zyzzzzzyyyyxzzzzzzzzzyyyxxzxyzzyzyzzyyyxyyyxyz{zyzyzyyyyyyy{yyzzzzzzyxzyyyyyyyyzyzyzzyzyyyyyyy{zyzy{zzyyyyyzyzyzyzzyyyxxyyyxyyzyzzzzzzyyyyyyyzyzzzz{yzzyyxyy{zz{zzzzzyyyzyyyyzzyyz|zzyzyyxzy{zzy{{z|yyyyxzzzzz{z{zz{yyyyzxyyyzzzz{z{zyzyzyyyzzzz{zz{zzyyzzyzzz{yzzz{zyzzzyzzzzz{zzzzzyyzzzzz{{zz{{{z{yyyzyzzyy{{z{{{zzzzzzzz{zzz{{{z{yzzzz{zz{{z{{{y{yzyz{z{zz{{{{z{zyzzzzyy{{z{{{{{zyzzy{y{zz{zz{{{zzz{{zz{z|z{{{z{zzzzyzzy{{{z{{{{{{yzzzzzzz{{zz{zyy{xyyzy{zzzzzzyyyyyxzzyxzzyyzzzzxzzzxyxzyzzzzz{zyyzyy{yy{y{zz{zzzzzyyyyzzzz{z{zz{yyyyzy{yyzzzzyyyyyyy{yzzyyzz{zyyzyxyzzyyzzy{zyzyxzyzyxzyzzyz{zyzyyzyyxz{xzyz{yzzyyyyyyzzzzzzzzzzzyyyxyyzzyzzzyyyyyzxyyyzzzz{yzyyyyyyyyyyyzz{yzyyyyzzyyzz{zz{{zzzyxyyyzzzzzyzzzyyyzyyzyyzzyyzyzyyyyzyzyzzzz{{{zyyzzzzyzy{zz{{zzzzzyzzyyzz{{{y{zzyzzzzyzz{zz{{z{{zzyzzyzyzz{{{{zzy{zzzyz{{z{z{{{zzyzzyyz{yz{zzzz{z{zzzzz{{{z{|{{z{{zz{{zzz{z{{z{{zyzz{zzy{{{{z{{{zzzzzzy{{z{|{{z{zzz{zzz{zz{z{|{{|zzzyzz{z{{{{{z{zzzzzzzz{|z{{|{{{yyy{{yz{zzy{{zyzzyyyzzy|zyzyzyyyyyyyzxz{{zzzy{xyyyyxyyyzzzzzzzzzyyyzyzzzzyyzzzzyyzyyyyyzzyzz{zyyyyyyyyzzyzzzz{yxzyyzzyzzzyyzzzzyyxxyyyyzzzyyzxzzyyyyyyyzzzzzyzzxyyyzyyxzzzyzzzyzyyyzyzyyyyzzzzyyyxyyyxyzzyyyzzyyzyzyyxzzzyyzyyyzyyyyzzyyzyz{zzzzzzyzyyzzyzzzzzyyzxyyyyzzyzz{zzyzzyyzzzzzz{{yz{yyyyyyyzyzzzzzz{zy{zyxyyzyzzz{{yxzzzzzyyz{zzzyzzzzzyyzyyyzzyzz|zzzyzyzzzzzzz{{{{zzyzzyzz{zzzz{z{zzzyzyzzzz{|{z{z{zzzzzzyz{{z{{z{zz|yz{{{{z{{{{{{zzzyy{zyz{z{z{{{zyzzzzzzzy{{z{zz{yzyzyyzzz{zzz{{{yzz{zyzz{{z{{{{zzzzzyzz{z{{{{{{zzyzzyyyy{{{zzz{zzyyzyyyzz{yzzzzyzxzyyyxyzzzyyz{yyyyyxzyzzz{yyyzyzyyyyyzzyzzyzzzz{yyzyyxzzzzzy{zyzzxyxzxyzyzyz{{zxyxyyxzyyzyyzzyyyxyxxyyzyzyy{yyzxxxxyzyzzzzyzzzyyxyyyyyzzzzyyzyzyxxyyxxxzyyzz{yyyzxxyxxzyyyyzyyyxxyyzyyyyzyyy{yyzyyxyyyzyxzzzzyyyzyzyyyyz{zzyyzzyxzyyyxzzzyzyzzzxyyyyyyzzyzzzzzzyyxyzyyyy{yzzz{zyyyzyyyzzzzyzzzyyyyyyzyyzzzz{zyyyyyzyyyz{zzzzzzzyzyzxzzzzy{{|zyzyyzyzzzzzzzzzzzzyzzyxyyzz{z{z{zzyzyyyyyzz{zzz{{zz{zzz{{zzy{z|{yzzzyyz{z{|zzzz{{{zzzyzzzz{{{{z{{yyzzyzyyz{{zz{{{zzzz{zzzzzzz{z{zzyzzzyzyyzzzz{{zzzzyyzzyzzyzzzzzzyyyyyxz{zzz{yxzxyyyxyxyyzzzyzyyxyzyyyxyyyzyzzyzzyyyzyyyzyzzzzz|yyyyyxyzyyzzzzzzzzyxyxyxzyyzyzyzyyyxzzyxyzzyy{yyyxyyxxyyzy{yzzzzzyyyxzyyyxyzyzzzyyyyxxxxyzzzzyzyyyxyxxyyyyyzzzzzyyzyyxyyzzzzzyzzzyyyyyxxyzzyxzzyyyxyzyyzyxzyyzzzxy{yyyxxzzyzz{yzyxyyzyyyzz{zyzz{zzzyzyyxzzzz{zzzzyyzyyyyxz{zyzz{zyyyzyyzzzzzzzzzzyzzxyzy{yzzz{{zzyyzzzzzz{zyzzzzz{zyzzzzyyzzz{{zyzzyzzzyzzz{yz{{zzyzyzyy{{{zz{z{{zzyzy{zzzyzz{zzzzzyzzzzyz{{z{z{zzz{yyyz|{z{zz{{zzzyyzzz{{z|{{{zzyyzzyyz{z{zy{{zz{zy{zzzz{|zz{z{{zzyyzyyzzzzz{{zzzyzyyyyzzz{zxyyyyzzyyzyyyzzyzzzyyxyyyxyyy{{zz{zxyyxxyyyyzzyyyzzzyyzyzyxyzzy{yzzyyzyxzyyyy{yzx{zzyxxyyzxyy{zzz{zyxyxyzyyzzzyyzzyyyyxzyyyzyzyzzzzzyyxxyyxyyyyzzyyyxxyyxyxxzzzy{zxzyyywyxxxzzxzzzyzyzyxxyyyzzzyzz{yyyyxyzyyzyyxyzyyyyxyxyxyzzyzzzzyyzyyyxyzzyzyzyzzyyyzyxyzyzzzzzzzzzzyzzyyzzyzzzzyxyyyzyzzz{zzzz{yy{yyyyyyyzzz{yz{zzyyyzyy{zzz{{yyyzzxzzyz{zy{{zzyyzyzyyyzyz{y{{yyzyyyyzyz{yzzzz{yzyyyyzyzyzzy{{{z{xzzyyyz{zyz{z{{x{zzy{yz{zz{zz{yzzzyzyzyz{zyz{zzzzzzyzy{zzz{z{zzzyzz{y{zzz{{{{zzzyy{zyz{z{zz{y{zzzyyyyzyzzzz{zzzyzzyzzxzzz{zzzyyyyzyyzyyzzyyzyyxyyyzzyyyzyy{zzzzzyyxyxyzyzzyzzzyzyzyyyy{z{zyz{zyyyyyyyyzyzzzzzzzzyyxyyxyyzz{zz{zxyyzyzyyzyyzyzzzzzzyxyyzy{zy{y{yyzxxzyyyzyzyzzzyyyyyyyxyzzzyy{yyyyyyyxxyz{zz{zyyyyzyxyzzy{zyzzzyyxyyyzxzzyzzy{zzzyxyyyyzzzzzzz{yyyyzyyyzyzyzzz{zzyyzyzyy{{yyzzyyyzy{z{yyzzy{{{yyzyzyxzyzz{zzzzz{zyzyzzzyz{{zz{zyyyyxyyyz{zzyz{{{zy{zyyzzz{yyzzyzzzzz{yzzzz{zz{{yzyz{yyy{yz{z|{{zzzzyyyy{{{zzz{zzzzyzzzy{zzz{{{{zz{yzz{zz{{|z{{z{zyzzzyzz{{{zz{{zzzzyyz{zz|{zz{zzzyzzzzzzzzz{{{zzz{zz{zz{zzz{{z{zzzyzzzzz{zzz|{{{zyzyzyyyzz|z{zzyyzyzxzzzzyxzz{zzzyyxxyzyyzzyzz{yyzyyxyxzz{zzyyzzzzyyyxyzzzzzzzzzyyzyxyzyzzzyzz{yyzyyyyxyyzzy{zzyyyzzyzyzzzyyyzzzyzyyxzyxy{zyzzyyyzyxyyyyyzyyyzzyyzyyxzzzy{zyyyzyxyyyyxzzy{{z{zzzyzyzyyzzzzzz{zzyzyyyyyyyzyyzzyzxzzyyyyyyzyyzyzyyyzzzzyyzz{zzyyzyyzyzyxy{y{zzz{zzyyzzyyzzzyzy{z{yzyzyzzyzzzzyzzzzzzyzzzyz{{zz{yzyzzyyzyy{z{zzz{zzzx{zyyyzzzzz{zzzyzyyzzy{z{|{zzzzyyzzyz{z{{zzz{{zzzyzzzyzzz{zz{zzxzzzyzz{{z{z{{{zyzzzzzyz{zzzzzz{yzzzzyzz{{{{y{{zzzzzzzzzz{zzzz|yyyzyzyzyzzz{{{{zyz{{{z{z{{{{||zzyzyyzyy{zz{zzz{z{xz{yzzzzyzx{zzyzzzyyyyz{{{zyzyyzyyyzxxxzzyyzzzzyyyyyxzzyzzz{zxyyyxyyzxzzyyyzz{zyyyxyyxzzzz{y{zzzyyyyyyy{zyzyzzyyyzyyyyyzyxzz{zzyyzyyxyzzzzyzyyzxyxxzyyzyyzzzyzyyyxxyxyyzzzzzzyyxyyxzyzyxz{zzyyyyyyyyxyyzxzyzzzyzywyyxyyyzxzyyzyyyzzzzyzzyyyzzzyyyyzzzyzyzzz{{{yyyyyxzzyzzzyzzzzyyyyyzzzyzyzzzzy{zyzyyyzzzzz{zzyyyyzyyzy{zyyzzzzyzyyyyyz{zzzzzzzyzyyzyy{z{z{zz{zz{yzyyzzzzzzzz{yzzzzzzyzyzzz{{zzzzyyyzyzz{zz{z{zyzzzzyzz{zzz{{zzzzzzzzz{{z{z{{{{yzyyzzz{{zz{zzz{zzzyz{y{z{z{{z{{zzy{zzy{{{z{zy{zzyyzzzz{zz{zz{{{zzyzzy{zzzzz{{{{zzyzzyzz{yzzzyzyyzyzyyyzz{zzz{zyxyyyxzxyzzyzz{yzzyyyyyzyzzz{{z|zzyyyzyzzyy{zzz{{y{zyzx{yzzzzzzyzzyyyyyxzzyzyzzzzyzyyyyxzzzzzzzzyyzzzzyyzzzzzzzzyyyyyzyyyzzzzyzzyzzyyxxxyzyyzz{zzyzyyzyyzzzzyz{zzyyyzyyyyzy{z{z{yyzyyyyyzz{yyzzzzyyyxzzyy{zzz{zzzyyyzyzz{zzzy{{zyzyxzz{zyzzyzzz{yzyyyzzzz{yyyzz{zxyzyyyy{{zzzy{yzxyzzy{z{zzzzzzzzzyzzzzzyzzzzzzz{zyyyzzzyz{zzzzzyzzyyzyyzzzzz{{zzyzyzz{zz{{{z{|{zzyy{zyzz{{{{{{zzz{zzzzy{{zzz{{{zzzzz{z{z{{z{||{{{zzyzz{z{z{{z{y{z{zzzzzz{{{{{{{{zyzzzzz{|{z{{|z{y{zzzyz{zz{|z{{{zzzzy{y{zzzzz{{zzxyzzyx{{{{{z{zzzyzzyyyzz{zzyyzyyzxyyzyyyzzyzz{yyyyyyxyzzzzzzzzzxyxyyyyzzz{{y{zzzyyyyyyyzz{yy{zzzxyzzyy{zyyzzyzyyyzyyyyyzyyy{zyzyzyzyyyzyzyzzz{zxzyyyyyyy{{yz{zyxyxxyyyyz{yzyyyyyxyyzyyyyyzzzzzyyzyxyxxy{yyz{{zzxxzzyyyyyyyzzyzyyzyzyzzyzyzz{zzyyzyzyyyzzzz{zzzyzyzyyzyyzzz{zzzzzzyyyzyyzz{{zzyyzzyyzzzyzzzzzzyxyyzzyyyzyzzz{zzzyyyzyxyyzzyzzz{zyyzzyzyz{zyyzzz{z{yzzyzz{{{{zzzzzzzyy{zzzzzz{z{xzy{zyzzzz{{{z{{zyzyzxzy{z{z{{{zzzzyzzyyzz{z|{{yyzyzzzyzy{z{|z|{yzzzyzzy{zzzz{zz{zzyzy{zzzz{{zz{zy{z{zzzz{z{{z{|zyyyzzzyzzz{zzz{{zyzzyzzzzzzyzzzzyzzyxzzzyzzzyyzzxxyyyyxyyzyzyy{zyyyyxyyzyyzyyyz{yyxyyyyyyyzzzzz{xzyyxyzyzyzyyzzyyyxyyyxzzzzyzzzyyzyyyzyyyyzzzyzxyzxzyzyzzzzyyzyyzxxzzxxyyzzyzyzzyzyyxyyyyyyzzyyyyxyxxyyyyzz{zyzyyzyyyyyyyyzzzzyzyyyxyyyyzzy{yzyzyyyyyyxyzyzyzzzyyyxyxyxyyzzzyyzzyyyyxyyyyzyyzyz{zyyzzzy{zzz{{zzyxzyyzzyzz{zzzzyyxzyz{zyzzyzzzzzyzyyzxyyzzzyz{z{zyxy{yyzy{zzy{z{yzzy{yyzzy{zz{zyyzyx{yyzyzyzz{{{zxzzzxyzzzzzz{zz{yzyyzzyz{{zzzzzzzzyzzzyz{zz{{{{zyy{zyz{z{{{z{{{zy{yzyzz{{{{z{{{zyyyyxzzzzzzzz{{zzyyz{zy{z{|z{{z{zzyyyzyzz{{zz{{zzzyyyxyy{zzz{zzzzyzzyyzxzyzzzzzyyxyyyzyyyyyzzzzyyyzyxyyyyzzz{yzyyyyyyxyzzxyzzzzyyyyzyyyyzzzyy{zyzzxyyzxyyyyzzzzyxzyxyzyyzyyy{zzyyyxxyxxyyzyyyyyxzxxyyxzyzyzyyzzxxyxyyyyyyyzzyyzyxzzxyyyyyyzyzzzyzyxxzyyyzzzyyzzzxyyyxyyxyyyzzzzyyyyyyyxyyxyz{zyyyyyyyyxyzyzzyzyzzzyyxyyzyzzzzzz{yzzyxzyzy{zz{zzyxyyyyzyzyzzzxz{yyyyyyzzyzzz{zy{yyyzxyyxzzzyyz{zzxzzzyzzy{{yzzz{yzzyyyyyzzz{zzzzyzzyzzz{{zzzzzz{yyy{zxzyz{zyzzz{{z{zzyyzzzzzz{{{zzzzzzzzzz{yz{z{{zyzyzzzz{{z{{z{y{z{yzzz{{z{{{zz{yyyz{zzyzzz{{z{zzy{zzzz{{{z{zz{yzzzzyyyyz{zzzz{{yyzyzyyzzzyzzyzyyzyyyzyyyyzxzzyyyyzxzyxyzyyyzy{yzyyxxxxyzyyzzz{zyyzyyzyyzzzzzyzzyzzxxyyxyzzy{zzyyyyxyyxxyzzz{yzyyxzxyyyyyyyyzzzyyxyxxyzzyyyyyzyzzyyyxyxyzzyyzzyyyzyyyyyyyyyyyzyyyyzyyxyzzzyyyyzyyyxzyyyyz{yyyzxyyxyyxzxyyyyyyzyyyxxyyxyyyzzyz{zyyyyyyyyzzzzyzzzyzyyzxxyzzyyzzz{z{zyyzzyzzy{yz{zxyyyyzyzyzzyzzyyyyzyzyyyyzyzzz{|{yxzzzyzzzzyzz{zyyyzzyzzz{{zy{zyzzyyyzzzzz{zzzz{z{zzzzzyy{zzzz{zyyzzzyyyz{zzzz{yzzyyzzzyz{z{{z{zzzzyzz{zzzzzz{z{zyzyyzyyy|zzy{{{yzzzzyyzzz{z{z{{yzyzzyyz{{zy{zzzyyzzzyyy{z{{{yz{zzzxyyyzz{z{z{{{yzy{zyzyz{zz{{zzzyzyyyxyzzzyzyyyxyxzxyxxyyyyzzzzzxzyyyzyzyyzzzzyzyywyyyyyzyzyzzzxxyyxyyyzyyyyzz{yzyxyxyxyyzzyzzzxzyyyxzxzxzyxzzyyyyyyxxyyyzzyzzyyyyxyxyyyyyzyzzzyxyyxyyxyyyyyyyyyxyzxyyyyzyyzyzzyyyywyxxyyzzzy{zyyxyxyzxzzyyyzzz{xxxyxyzyzyz{zzyyyyyyyyyyyyyzzzyzxyyyxyzyzzyzyzzyxzyyyzyyyzzzzz{yyzxyxyyyzzz{zzzzxzyzyyyyyy{zzyzzyyxyyyxzz{yzyzzzyyxyyxyyzyzzyzzzzzzzyyyzz{z{{{zzzyyzzyyz{z|y{zzyzxyyzyzy{{{zzz|zyyzyyzzzzz{{z{y{yzzyzzyz{zzzzz{zzzy{zzyz{zzz{{z{zzyzyyzz{yyz{z{yyzzyzxyzzyzzz{{{zy{zzzyzyzz{zzzzzyyyyzyzzzzzz{yzyzzzzyx{{zzyy{yyyxzyzyxyzyzzzyyyyxyyyyyzzyzyzyzzyyyzxxyyzyyzzyzzzzyzzyxzzzyyyyzzzzyzyxyyyyyyzzyzzyyyyyyzyyyz{z{yyyyyyyyy{{yyzzyyyyyzyxzzzzyyz{yyyyzyyxyyxyyyzzzzyxyyxyxyzyyyzzzyyyxyxxyzyyzzzyyyyzyxzyzzzzyzyzyyyzyzxzwxzyyzzzzyyyyxyyyyyyyyy{zyyyyzyyxyyz{z{zzzxyyyyyzyzyxz{yzyyzyzxzyzzzzyzzzyzyyxyyzxzzyzzzzzyzyzyyyy{z{zzzzyzyyzzyyzzy{zzz{yzzyyyyzzzzzz{zzzzzyyyzyzz{zzzzzzzzz{yzz{zzzzz{{zzyyzyzyy{z{yzzzzyzy{yxyz{zz{z{zzzzyyz{yyzzz{{z{zy{yyzzzzzzz{{zzzyyyzyzyz{zzz{z{zzzzzzyzzzz{{{zzzyyyzzyz{{yzz{{{zzyyzzzyyyy{yzzz{zyyyyzyyzz{zyzzyyxyyyyxzzzyzzyzyxzyxyyyyzzx{yzzxyzyyyxyzzzyzy{yxyyyy{yyzzzxzzzzyyyzxxyyzzzzyyzzyyzyxxyxx{yyzzzzzyyzyyyxy{yyyz{zzyxyxzyyyyzzyz{z{xzyyzxyyzyzyzyzxzzyyzyyyyyyyyzzyyyyxywxyyzzyyyyyyyyyyxyzyzyyzz{zzyyyyyxzyzzyxyzzyyxxyzzyzzyz{zzxyxzxyyyzzzz{zzzyxyyzzyzzzyz{zzzyyyzyzyyzz{z{zzzyyyyxyzzzz{zzzzzzyzzyyzyy{zzz{zzzyzzyyyyz{{{zz{zyyy{zzyzzy{z{zzzzzyzyyzy{z{z{zz{z{zzzzzyz{zzzz{{yy{zyyyz{{z{zzzyzyyy{yzy{{zz{{{{zzz{z{yyz{yzzz{y{zz{zzzzz{z{z{z{zy{zyyzzz{{zz{z{{zyzzyyzz{z{zz{{zzyzzyy|{z{zzzz{zyzyyzyzz{zz{{{z{zzzyzzyz{{{yzzz{y{yyxzyzzzzyzyzyyyxyxyxyzzzyyzzzyyzyyyyxyyyz{zzyyyyxyyyzzyzzzyzzzyyyyyxzzzzxyz{zyyyxyyxyyyzzzzzzzyyyzyxzzzyzy{{yyzyyyyyyzyyyzzyyzzxyyyyyzzzzzy{yyyyyxyyxyyyzzzzxyxzyzyyyzzyzyzzzzxyxyyyyzzzzyzzzxzyyzzyyyyyzzz{zyxyyxxyy{yyzzzyyyzyyzzx{zzzyzz{zzyyzyyyyzzzzz{zyyyyyyyyzyzzz{{zyzzzyyyzzz{zyzzzzzzyzyzxzzzyz{zyyyzyyzyyyzzzzz{zzyyzzzzyzzz{zz{zyyzzyzxyyzzzz|zzzy{yyyzzyzyz{{zzyyzzyzyzyzz{zz{zzyyyyzyzzz{zz{{z{zzyyzzzz{zzz{zzzzyzz{yyz{{z{z{{{zz|yzyzzzzzzz{{zzzzzzz{{zz{y{{{{{yy{zyzzzzzz{z{yzzyyzy{z{z{z{{zzzzyzzzyzzzzz{zzzyzzyyyyzyzyyzyyyxxxyyyxyyzxyyyzxzyyywxyxyzyzz{zzxxxyyyxzzyzyzzzzyyyyyyyxzyzy{yzzzyyxyyxzz{zzyyzxyyyxyxyyyyyzyz{zxyzyxxxyyzyxzzyyyyyyyxyyyyyzyzzyxxxyxxyzyyzyz{xzyxyxyxyyyyzzzyzyyyxxxyyzyyyzyzyyyyxyyyxyyzyyzyzyyyyyyxyyzyzyzyzyyxyyzyxyyz{zzzzzxyxyxyyy{z{zyyzyxyyyyyy{y{zzyzzyzyyyyyyyz{zzzyzzyzyyyyyyyzzzzzy{zxyyzyyzy{zyzzzzzyyyyyyyzzyzzzzyzyyyyyyzzzzz{{{yyyyzxzzyzz{yy{{zzyzzyyxzzz{{zzzz{{yyyyzz{z{zz|y{yzzy{z{yzy{{{z{zyzzzyyzz{z{z{zzzzzz{yzzzzz{z{{{{yyzzzy{zzzz{zzzyzyzzzzy{yz{zzzyyzyyyyyyyzyzzz{zzzyzyyzyzz{zzzzzzyzyyyyy{zyxzyzzyxxxyyzyyyzyzy{zyzyyxxyxzyyzyzzzzyzyyyxxyzzyyzzyzxyyzzxyyz{{zz{zzyyxxyyyzy{yz{zyyxzzyzyyz{yyzzyzyzzyxyyyyyzyyzzzyyyyyyyyzyyyzzzzyxxwxyyxzyzyzzyyyyxzyyxyzyzyzz{yxyzyyyyxyyzyyyz{yzyzyxxxzzzyyzyyyyyyyxyyyzzxzyyzzyxy{zzyyyzyzzzyzxyyyyzyz{zzzz{zzyyzyyyyyyzzzzzzzzyyyyyyyy|zzyzyzzzyyxyzy{zzzzyzzyzyyzzyz{zz{zzzyzzzyyyzzzy{zzzyzyyzyyyzzz{z{{zzzz{yyzzyz{z{z{z{zzz{yxzy{zzzzz{zzzy{yyzz{{|{z{{{{yzzzz{zz{z{{zz{zz{zyzzyy{zz{{{{yy{zzyzzzzyz{z{{zzyyzzzz{z{{{{{{{z{zzz{{{zz{zz|{zzzzyzzy{{{{y{{{{zyzzzzzzzyyzz{zzyyyzyzyz{{zyzzzyyzyyyyzzyzzyy{yyyyzyyyxzzyzzzzzyyyzyxxyzyzyy{zzzyyyxyyyyzzzyz|zzyyyyxyxzyyzyzyzyyzxyyyyyyyzyzz{yyzyxyxyxyyyyyzyyyyyyzyyzyyyyzyyzyywyxyyyyxzxzzzyxzzwxxyyzzzzy{{ywzyyxyyyzzyxzzzzyzzyxyyyyzyyzzyyzzzyxyxz{yzzyzzyzyzyxyyyzzzzzzzzyzyzyyyzzyzzzz{yxyzyyyzzzzzyzzzyyyzyyyyzzzyzzzzyzyzyxzyyzzyyzyzyyyyyyyxzz{zzzz{zyyzzzxyz{zzzzzyzzyzzzyyzzz{zz{zyzyzyzzzz|y{zzzzzzzzyyyyz{z{{z{zzyzzyyyyz{zz{z{zzzyyzzzzzz{z{{{zzyzzyzzy{|z{{z{{zz{zzzzzz{z{{|zzzzzz{yy{zzyzzz{{z{yyzzzzzzy{zzz{yzy{zzzyz{yzz{{zzz{zyyxx{zz{zzzzzyzzyyyyzzzyyyyzxxxyxyzxyyyzyyzzyxxxyyyyyyyyyyyzzyyyxyyxyzyzyzzzzyyyyyyyyxz{xxyzzxyxyxyyzyzyyzzyyyyyyxxxzxyzzzzzxyzyxyxyzyyyyyz{yyywyyyxyyzzyzzyzyyxyyyyyzyzyzyzyyzyyyxyyxzxyzzyyyyyyyxwzyzzyzzyyyxxyyyxxxzyxzzzzyyyyxxxyyzx{yzyyyzyyyzxzyzyzzzzzxzyyyyyyz{zzzyzyyyzyxzyzyyzzzzz{yyxxzyxzzzzzzzzzzzxyzyzyyzzyzyyzyzyzxzyzyzyyyzzzyyzzzyzyz{zxzyyzzzyzxyy{{zzzz{zzzzyzzzzzzzzyzzzzyyzyzyy{zzz|z{z{yzzyyyyz{zzz{{{zzzyyzzzzz{zz|{zzzyzzz{zzz{zzzzzzzzzzzzzz{{{zz{zzzzzzz{z{{y{{{{z{zzyzzzz{y{|{{z{yzzyzxyyyzyyzz{zyzzyyzyzyzyzzzzzzyyyzyyyyyzz{yzzyzxyxyyyyyzxyzzzyyxxyyxyzzzzyz{yyyyyyxyz{yyyzzzzzzxzxyyyyzyyyyzyzyyyzxyyyyzzy{yzxyyxyyyyyyyzzyyzyyyyyyyxxzzyyyzzyyyyyyyxzxyzyzzzyyyyyxyyyyzyxzzzyyyxxxyyyy{zyyzyzyzyyyxyyzzyzyzzxzzzyxyxyzyyzyyyyxyyyyyxzyyyyzzzyyxyyyzyyzzyzzzzzyzzzyyz{yyzy{y{zyyyyyyzzzyyzzyzzyyyyyyyz{z{z{zzzzzzzyyyzzyyzzzyyzyyzzzxzzzzzy{zzyzzyyzyzzzzyyzyzzyxzyyzzzz{z{z{zyzyzyz{{yz{zzz{z{yzzzyyzz{{zy{{zyyyyyzzzz{zz{z{zzzyyzzzz{yzz{{{{zzyzzzyy{yy{{{zyzzzyzzyzzzz{{|{{yy{yzzzzz{zzzz{zzzy{zy{{zz{{z{zzyzzzzzzzz{z{zzzyzzyyyyyz{zzyz{zzyyyzyyxyzzzz{xyyxyyyyzxx{yyyyyzyzzyxyyyyz{zzyz{zyyyyzyy{yzyyyyyzyyyzyyzyyyzzyzzyyyxxxyyzzzyyzz{yzzxyzyyyzyzzz{zyyxyxyyyyzyzyzzzyzyyyyyxyyzyyzx{yyyyyyzyzzzyyzyyxxxyyyxxzyyxzyzzyyyxzyyzyzzzyyzzyyyxyyxyyyzyzzyzzyzyyyyyyzyyy{zzyyyyyyyyyzyzy{zzzxyyzyyyy{zyzzzzzzzyyyzzyzzzzzzzyzyyyzyyyzzzzzzzzyzyyzyyzzzzz{{zzyzyzzyyzz{{yzzzzzyyyyyyzzyzy{yzyzyyzyyzyy{zzz{zyzyy{zzyzz{{zzzzyzy{zy{zzzz{zz{{{yzyzzyzzzzz{{{{zzyzzyyz{|zz{{{zzyzzz{yyy{{z{{{z{yyzzzzz{z{{zz{{zzyyzyyzzz{{z{z|zzy{{zzzzzzz{zz{zzyzzyz{{{y{zz{z{yzyzyzyz{zzzzzzzxzwyyzyyzyzzzzyzxyxyyyyxyyyzzzyyyyyyyyxzyyyyzyz{yyxyyyxyzzxzzzzyyxyyyxyyzzyzyzzzyyxxxyyzzzyyzy{yyyyyxyxxzzyy{yzyyyyyxxxyxzxyyzxyxyzxyxyyxyzyyyzxxxzwxyy{yyzzyyyyxzxzyxyxyyyzyzyzyyxxyyyxyy{xyyyzxzyyxyyyyzxzyyzxxyxxxxyyyyyzzzzxxyxyzxyyzzzy{zyyxyxxyyyzzzyyzzzyyyyyyzy{zyzzzzzzzzyxyyyy{zz{yzyyyyzxxyyyyyyz{zy{yzzyzxyzz{zyy{yyyzzzyyyzyzyzzyzzyzzyyyyzzzzzz{{zy{zyzyzzzyzzz{zzzyzyyyzzzzzzzzy{yxyzzzy{zzzz{zzzzzyyzyzz{{y{{zz{zz{zzzyy{{zzzzzzzzyzzzz{{zzz{zz{yzzzzyz{{zzz{z{yzzzzzzz{{zz{{z{zzzxzzzzzzz{{zzzyyzyzyyxyzzzzzzzyyzyyyzyzyyyzyyzyyyxxxxyyyyyzzzyzyyyyyyyyyyyzzyzzyyxyxxyzyyyzzzzyyzyzzyzyzzyzzzzyyyyxxyyzyzyzyy{yzzxzzyxyyzyxz{zyyyxyyyyzyzyyyzyzyyyxzxyyyyyyyzzyyxxxxyyyyyzzzzyxyyxyyxyyzzyyzyyxyyyzyxxyyzyzzzzzyyyyyxzxzyyyzyzzxyyxyxzyyyzzzzzyyzyyzyyyyzyyzzzzxyzzxyyyzzyyzz{yyyzyyzzzzyzyzy{yyyyyyyyzzzzzzy{yyyzyzyzyyy{yzzzyyyzzyxzzzzzzy{yyxzzzyzzzz{yyyzzzyzyzyzzzzzzzz{{yyzzxyzyzyzzzz{{zzyxzyyyz{z{zzyzyyyzyzyxz{zzzz{zzxyzyz{yz{yzz{{{zzyzy{zyz{{zzz|{zy{zyyzzz{{{yz{zzzyyzzzyzzzzzz{zz{yyzzyzyyy{{{{{{yzxzyyzzzzyzz{{yzyyyzyyyzz{yz{zzzzyzyxxxyyzzyyzzyyyyxxxy{yyyy{yyywzzyyyy{xyz{z{yxyyzyzyzyxz{z{zzzxzyyyyxyz{yyzzyxzxyyyxyzzyyzzzzyyyzyyzyzzzyzzzyyxzyyzyyzyyyyzyyyyyxyyyzyyyyyzzyyyzxxyxyzxzyyzzyyyxyyxxyzzyzyyzxxyyyyxyyzyzzzzyzyyyzxyxyzyzyzzyzyyyyyyyzzyzyzz{xyyyyzzyzyyyz{zzzyyyyxzyy{yzzzzzzzyyyyyzyyzyzzyzyyzyyyyyy{{zzzzzzyzyzyyyzz{zz{zyyyzyzyyz{{zzyyzzz{yzyxyy{yz{zzzzyzzzzzyyzzz{zz{zxzzyxzzzzzzzz{z|yzyzzyzyzz{{z{zzyyyzzyzzzz{z{zz{zzzzz{{zy{zyzzzz{zzxyyzzyz{{z{{zzyz{zzyyz{zzyzz{{zyzyxzyzzzyz{z{{zzzy{z{{z{z{z{zyzxyzzzzyyzyz{zzzzyyzzyy{{zzzyzzyxyxyyzyz{{yzzzyzyyyyyyyy{{yyzzyxzyyyzyyyzzzzzz{zyyxzzyyzzzzyz{yzyyyyyxyzyzzyyzzzyyyxyyxzz{zyzyzzyzyxyyxzyzzy{zzyxyxyzyyyyyyyz{zyyyxxzxyyyyz{zyzyyyyyyyxzzzyy{zyyyyyyyxzyyzyzzyyzyyxyyyx{zzzzyzyyxzzyyyyyzzzzzyzyzyxyyyxyzzyy{yzyyzxyyyyyzyyyz{zzyyzyyyyyz{zzzy{{zyxzyyyzzyzyyz{zyzzyzxyyyzyzz{{zyyzzy{yzzz{{zzzzzzyyyyzyz{zzz{yyyzyyyz{{zyxzzzzzzzzzyzz{{zzz{zzzyzyzz{zzz{{{z{|zyyzzyyz{{zzzy{zzzzzzzzzz{{zy{{zzz{zzzzzzzzz{{zzz{zzyzz{{|{{{z{zzyzzyzzzzy{z{{z{zzzyzyz{zz{z{{|{yzzz{zyy{z{zz{{|yz{yyyzyzzzz{{{zyzzyyzzyz{{y{zzzzyzyzzzxzzzzzyy{yxyyyyxyxzyyzyz{yxzxxyyyy{yzzzz|yyyyxyyyyzyzyyyy{yyyzyxyzzzz{zyzzyyxyyyxzyyyzzyzzyyxyyyxyzyyy{yy{xyyzyyxyyyyyzyzzyyxxyxxyyzyyzy{xxyxyyyxyyyyyzyyyyyzyyxyzyyyz{{yyzyxxyyxyzyzyzzzyyxyyyzyzzyyyzzzxxxyzzyyyzzyy{yzzy{yyzxxyzyyzyz{zyyyzyyy{yzzzyzzyyyyzy{xzzzz{z{zyyyxyyzyyzxzzzzzyyyyyyyyyzzzyyz{zxyzyzyyzy{zzzzyyyyyxzyyzzzyy{zzzzzzzyyy{z{z{z{zzzzyzy{zyzzz{{{zzzyzyzyy{zzz{{zz{yxyyzzyzz{yzzz{zyyzz{zzy{zzzz{z{zzyyz{yz{z{|{{{zzzxyzyzzz{zzz{{zzzzzzz{y{zzz{z|zyz{{yzy{z{{{{zz{zyyyz{zyyzzz{{zyyyzzy{yyzzz{zzyyyyyxyyyxyyzzyyyyxyxyxyyyzzyzyzyxyzxyyyyyyyzy{zzyyxxyxyxzyyzyz{yzxyzyyyyyyyzyyzzyzxyyxyyyyxzyzzzyyyyyyyxyzxyyzyyzxyzxyyxyzyzyyyyxxxxxyyyyyyzxyyzyyxyzyyyyyzyyzzxzyyyxyxyyyzyzyyzzyyxxyxyyzyzzyzzyxxyyyxxyzxyzzyy{zyxzyyyyyyyzzyzxxyyyyyxyxyyyzzzyyxyyxyyzyzzyzzzzxyyxyyzyxzyzzyyyyyyyyyzyyyyzzyzxyyyyxyyyzzyzyzzzyyyxzyyzzzzzzzzyyyyyyyyzzzzzzyzyyyyzxyzzzzzz{zzyyyzzyzyz{yzy{zzzyzzyyyy{z{zzzzzzyzyzyzyz{zz{z|zzzzyy{yyzzz{{{zzyzzxz{zyz{{{{y|{zyzzyy{zz{zzz{zzyyyzzzzzyz{{{z{zyzzyzzzyzzz{{{yzzzyyzyzyz{zzyz{zyzyyxzyzz{yzyyyzzyyzzyyzzzzzzzxyzyxxxyzxxyzzzyzzzyyyxyyxzyzyzzzzyxxxyxyxzzyyzzzzzxyyyzyyyzy{yzzyyyyyyyyyyx{zyzxzxzyyyyywyzyyzyyyzyyxyxyyyxyzzzzywyyxxyxxyyyyyzzyxyyzyxyxyzzzzy|zzyzxxyyyyyzyyzyxyyyyyxyyyzxzyyzzxyyyyyxxzyzyyzzyyyyxyxyyzzyyzzzzxyyyxzyyyyyzzyzzyyxyyxyyyyyzyzzzyyyyxyyzyzzzzyyz{yzyyyyyzzzy{z{{zyyxzxyzzzy{zzyzyyyxyyxyzyzzy{zzyyzyyzyz{zzzy{{zzyzyzyzxyyzz{{zyyyzzzyzyzyzzxzzz{zzzyyzyzyzz{zzz{zzyzyyyz{z{z{{{zyyzzzzzz{{{{zzyyzzyyzz{z|z{{{z{zyzyyzzzzzz{z{zzzzzyy{zzyzzzzz{{zzy{zyyzz{{{{z{{zyyyzzyzyzzzzyz{zyyyyyyxyzyyzzzzyyzyyyyy{zzy{xyzxyxxxxyxx{z{zzyyzyyyyyyyyyzyzz{zyxyxxxyyzyyyyzzzzxyxyyyyzyzyyyzzyxyyxyxzyzzzyyzyzyyxxzyyyxyzyzyzzyyyyyxyyyxwyyzzyyyxyxyx{zyzyzyzyyyyyxxxzyyyyzyyyzyyyyyzyzyyzyzyyyyyxyyxyyzzzyzyyyxyyyxyyzzyyyzzzyyyyyxxyzzyzzz{zyyyyyxyyzyyzyzzyyyyzyyyzzyyyyzzyxzzyxzyyzyyyz{zyyzzyzzyzz{yzzzzyy{yzyyyyzzyz{zzzyyyyyyzzzzyzz{yzyxyy{yzzyzzyzzzyzzzzzyyzz|zz{z{yzyyzzzzz{zzzzz{zyzzzyyzzz{z{{z{yyyzyzzyy|{zzzz|zzzzyzyzyzyyz{zz{yyyyzzyy{zz{{{|{zzzzyzz{z{{zzzzyzzz{yzzzzzzzy{{zzz{zyyzz{{yzzzzzzyzyyyyz{yy{{zzzyzyyyzy{zzzzzzyyzyyyxxzzzy{yyyxxyxxyxxxyzzyzyz{yyyxyyyyyxzzzzzyyxxyxzyxyyzyzyyzyyyyywxzxzzzyyyyyyyxyxyxxyyyzyyyzyxyyyyxxzyxyzyyyyxxxyyxyyyyyzyyxyyxyyyxxxxzxzyxyxyyxxyxyyyxzzzyyxxyyyxxyyyyzy{zzyyyxyxxyyyyyxzzyxyxzyyyxyyyyzyzyzyxyyyywyzyyzyyyyyxyyyxyzyyyzyyzyyyyyyyyzzyyzzzyyyyyyzyyyzzzzzzzyzxxyyyzyzzzyzzyzzzzxzyyyzyyzzzyyyyzyyyzzyyyz{yzyyyxyzyz{zyyyyyyyzyzyxyzz{zzzzzyzz{yzyyzyyzzz{zzyyzyyyyyzzy{zzzzyy{zyzyz{zz{z{zyyzzy{zyzzzyz{z{{zzzyzyzz{zzy{zzzzyzy{zzzy{zz{zzzyyz{zyzzzzz{zz{xyyyyyyyzzz{z{{zzyyyyzyyzzzyz{{zzxzyyyyzzzy{yzzzzzyzyyzxzyzzyyyzxyxxzyyyxyzyyy{zyyxxyyxyyxyzzyyzzxxxyzxxzyyyzy{zyyyyyyxzxxyyyyy{yyxxyxyxyxzyyyzzyyxyxxxxyzzyyyyzyyxxzyxxyxzyyzyyyxyyyyyyyzyzyzyzyxyyyyyxzyzyyzzzyxxxyyxyyyzyzyzyzxyyxyyxyzzxyxyyxxxyyxxxxyyxyzyzxzyxyyxyyzxxy{zyyyyxxyyyzyzzzzyzzyxxyyxyzyzyzyzyyyyxzyxyyzyyy{zyxyyyyyyyzzyzzzzzzyyyyyyyz{zzyzyzyzzyyyyyzzzzyzzzyxxzyyyzz{zzzyzzyzyyyyzyyzz{zy{zxyyzxzyyzyyzz{{zyyyyyyyxzy{zzzzzzyyzzyyyzzzz{z|yzyzyyzzzzyzzz{zzzzzzyzzyyzzzzzz{{yzzzzzzzzzzz{zzzyzyyyyzyzy{{zzzzyzyzyyzzzz{yzzzzzyxyyyy{yz{z{{{zzyyzyzyzyz{zyyzzyyxyyxxzzz{zzyyzywxxxxyyyyyzzyzyyxyyxywyzzzyzyzyyxxzyxxzzyyyyzzzyyxyyxxzxyyyyxyyyyyxyyyyz{yy{zzxyyxxyxxyzyyyzyzyyzyyyzxzyzxyzzyyxxyxxyyyyyyzxyzyyxyxyxyxyzyyzyyzxxxyyxxyyyyzyzzyyyyxxzyyyyyyxyyyxyyyxyxyzyyzzyyyzzzyyxxyyxyzyyzyxyyxyyyzzzzyzzzyyyyyyyyyzzzyxyzyyzyzxzyyzyyy{yzzyyyyxyyzzzyzyzyyyzyzxyyzzyzyzzyy{yyyyxxzzyzzzzzyxyzzyyyzzzzyz{yzzyxyyyzyzzzzz|zyzyyyzyzzzyzzzzzyzyzyxxyz{{{{zzzzzyzzyzzz{z{zzzzzzzyyzzzzzz{{zzzzzxzyzyzz|zzz|zzzzzzyxyz{z{z{z{z{yyyyzzzz{zz{z{{zzzyzyyz{z{z{z{yyyzyzzyxzzzz{{{z{zyyzyyzyzzzyzzzzyyyyyyxzzzyzyxzyyxyxyxyyyzzy{zyxyyyywxxzyyzy{zyyyyxyzyyzzzzzyzzyyzxxyyxyxyzyyyzyyyxxyxyzy{yzzyzyxyyyyyxyzyzyz{zzyyyyxxxzyzxzzyyxyyxzxyyyyyzyzzzyyzyyyyyzyxzyyzyxxyxxyyyyzzyzyyyzyxxxyzyxyzyzz{zzyxyyxyyyyzzyyyyxyyyxyyyyyyxyyyzyxzyyzyyzyz{zyzyyyyzzyzxyzzyzyzzxyyyzxzyyzzyzyzyxxyyyyyxzyzyyzzyyzzyyyzyzzyyy{zzzxyyzxyzz{zzyy{yyyyyyzzzzzyzyzyzzyyyzzzzyzz{z{zzzzzyzzyzzzyzz{zyyyzzyxyyzzyzzzzzzyyyyyzxz{zzzyzyzyzyzzzxzzzzz{zzzxyyyzzyz|z{{{zzyyzzyyzyz{zzzz|zzyzyzzzyzzz{zz{{zyzyzyyzz{z{zzzzyzzyzyyyzyzzz{zzzzyxzzzyyzzzzzzzxyyyyxzxyzyyzzzyyxyxxxyyxyzzyyyzyyyyyxyxyyzyxyyzyxyyyyxyy{yy{zy{zxyzzyyxyzyyxzzzyyyxyyyxz{zzyzzzyyxyxyyxyzyyyyzzxyxyyyxxyyyyyzyyyyyxxyyyxzzyyzxzyxyyyyzxyyyyyyzyyxyyxxxxyzzyzzzzyyzyxyyyxzyyyz{zyxyxyyxyyzyyxzzzxyyyzyyyyzyyyzzzyyyyxyzyzzzyyz{zzyyyyyzyzyzyyyz{zyzyyxyyzz{zyzyzyzyyyzyx{zyzzzzzyzzyzxyyz{{yy{{zzyyzyzzyzzzzyy{zzzyyyzzyzzyzz{yzyyzz{zzzzzzz{zzzzxyyyyzyxzzzz{z{zyyzxyyzz{zz{zzyzzzzzzzyz{z{zzzyzz{zyyzz{zzz{z{zzzzzzyzzy{zz{|{{{yzzzyzzzyz{{zzzzzyyzzyzyzz{zzzzzzzzzzyz{zzzz{{{zyyzyxzyyzzzzyz{yyzy{yyyyzzyzzzzzyyyxxxyzzzzzzyxyzxywyzzyzzzyyyzzyxxyyyyzzzyyzzzyxyyyyzyyy{x{z{zzxyyyyxyyzyzzz{zyyyyxyyxzyzzyzyzyzyyzxyxyy{yyzzyyzzyyxyyxzzxzxzzyyyyzyzyxyzzyyzzzyyxyzyyyzyyzzzzzyyyyxxyyzyyy{{zyyyyyyyxyz{zz{zyyyyxyyzxyzyyzyyzyyxyxxzyzzyyyzzyyyzzyyyyzzzzyzz{zyyyzzzxzzyzzzz{yzyyyyyzzzzyy{zyzyyzxzxxyzzzz{{zzy{zzxyyzzzzz{zzzzyyzzyyzzzzzzzzzyyyxzyy{{yzzzz{yzzyyzzz{zzzz{z{yyzyzzzzzzz{z{z|zyzzzyyzzzz{{z{z{yzyzyyz{{yzzz|{zyzzyzz{yzz{{zzz{zz{zzzzz{z{z{{zzyzzzzyzy{zz{{{zzzyzzy{yzzz{z{z{{zyz{yzzyzzzzz{zzzzy{yyzzzyzz{zz{z{yyzzzyzz{zyzzyyzzxyzzzzzzzyzyxxxyyyyyxyzyyyyzyyxyyxyy{zzyyz{zzyyyyyyxyyyzzzzzyyyyyxyxzzyzyyyzyyyzyyyxzzyzzzy{yyxyyyyyxzyxyzzyzyyxxyyyyyzyzyyyxyyyyxyyyzyyzyzzyyzyywyyyzyyyy{yzyzzxyxyyzzyyzzzzyyyxyyxyzzzyyyyxyyyyyzxxzyyzyyzyyxxyyyxx{yzzzyzzyzzyyxyyzy{zz{zzyzxxxyyzyyzyzzzyzyyzxzyzyzzyzzzyyzyyyyxzzzyzzyzzzzyzyzyyyyzz{zyzyzyyzyyy{zzyzzyzyyyzzy{zzzzz{zzzyzyzyzyzzz{y{z{yyzzzyzzz{zzzz{zyyzyzzxzzy{{{zzzzyyzyyyzz{{z{zz{zy{zzzzyz{{z{{z{{z{zzzzz{zz{{z{{zyz{{|zyzzzz{{zzzyzz{zyz{zzzzzy|yzzy{y{z{y{{zz{{{zyyyyyyyzzz{yzzzzyyyyzyyzzzzz{yyy{zzyyxzzzzwyyyxxzyyyyyyyyzyzyzyxyyyxyxyyzyzyyzzxyxyyyxyyyyzzzzzyyyyyxyyyyyzyyyzxyyyxyxyyzzx{zyyz{yyxxyyzyyyyzyyxyyxyyyyzzyyzzzzyyyzyyyxyxyyzzzyyyzyxyxy{yyzyyzyyyxxyxxzzzzyzzyyyzxyzyxyzyzzyyzyyxyyxyyxyzyyzyzzyyyyyyyyzyxyzzzzyyyyyxyyyzyzz{zzyyzzxyyzzyyzyyzyzzyyyyyyzyyzyyyyzzyyyxyyyyzzyzzzyyyzxzyyzzzz{yzyxxzxyyyzzyyyzzzyyxzyyyyzzzyz{zyyyyyzzzyyzzzyzzyzzyyzyzyyzzyzz{z{zyzyyyyzzzz{y{z{zyzzyy{zzzzzy{|{yzyzzzzz{z{zz{{{y{zyyzyzzzzzz{{zzzzzyyyzzz{zzzyzzyzyzzz{zzzz{z{{yzzzyy{zz{{zzyyzzyyyzzyzzz{y{z{yzyyyxyyyzz{{{z{yyyxyxzzyzzzzzzxyyyyxyxxxyzxyyyxyxyyyyxyyzyzyyy{zxyxyyyyzyyzyzy{zyywyyyxyyyyyzzyzyzyxxyxyzzzyzzzyxyxyxyyxyxyzyzyyxyyyyyyyzzxyyzyxzzyyyyxzyzxxyzyyyyxyyyxzyyzzyzyxyyywyxyyyxyy{zyyyzyxyyyyyxzzyzzyyxxyxyxyyyyyyxyyyxxyyyxyzyzyzyzzyyyyyyyzyzyzyzzyxzyzyyyyyyxyy{zzxyxxxyyzxzzyzzzyyyyyywyzyzzzyyyyxyzzyyyyzzyzzzyzyxyxxxyzzzzyy{zyyyyyyyyzyyzyzyzyyyyzxyyz{zzyzzzyyzzzyzyy{zz{zzz{yzzyzzyzzzyzz|yzxyyzyzz{{zzzzzzzyyyzzzzz{zzzz{zzyzyyzyyz{zzzz{zzyzzxyzyy{z{{z{z{zzzyyyzzyzzyy{zzz{zzzyy{{yzzz{{yzzyyyzzxzz{{y{zzyyzxyzxzzzzyyzzyzzyzxyxzyzyyyxyxyxyxxyxxzzyzyyzxzyxxyxyyyzzz{zzzxxxyyxyyyyyyzzyzyyyyyxxyyzyyyyyyyzxxxyyyzyyxzyzxyyyxyyzyyyzz{yyxyyxyyyyzyyyxzzyxyxyxxyyyyyyzyyzxyyyyyxxyxzzyyyyyyyyxzxyyxyxyyyzyyxyyxxxzzzyyzzyxyyyyyyxyyyyyyyzxyyyyxyxxzxxyzzzyyyyyzzxzzyzzyzxyxyxxyyyyzyyyzyyxxzyyxxxyyzyyyyzzyyxyyyyyzzyyyzyzyyzzyyyyzzzzzyzyxyyyyyxyzzxyyzyzxzyyyxyyzzyyyzzyyzyzyyzzzzzzyyzzzyyyyzzyyyzzzz{yyxzzyyyyzyzzzz{zyyzz{yy{zzyzz{zzyyyzzzyzzzy{zzzyzyzyyzzzzzzzz{zzyzyzyyzzz{{zz{{zzzzyxyy{zy{zzzzzyxyzyyzzzy{yzzzzyyxxyzyyzzzzz{zyxyyzxyyxyzyz{zzyyyyxxzxzzzzzzzyyxxyyxyxyyzyxyyzyyyxyxyxzzyyyxzzyxzyxxyxyzyyzyz{xxyyxyxyyyzzyyz{xyyyxyxxyyzzyzyzyyyxxyywxzyyxzzzyzyyyyyyyzyxyyyyyyyyyyxyyyzzyyyzyyyxyxxxyyyzzzyyyxyyxyyyxzyxzyzyzyyxyyyyyzyyyy{zyxxyyxyyyyyyyyyyyyyxyxxxyzxyzzyzyyyxxyxyyyzzzzzzyyyxyxzxyzyzzzzyyyyzxyyzyyzyzzz{zyzyyyxyyzzzyyzzzxzxzyyyyz{zyzyzyzzyyyxxyzzyyyzzyxxyyyyyz{zxzzzzzyyzyyyyzzzyz{{zzyzy{zyyy{z{yzz{zzyyzyyy{yzzzz{zzyzzzzzyzzzzzyz{yyzzyzzzyzzy{zyzzzzzzzzyz{z{z{z{{z{zyyzzzzzzzz{zzzyyyxzzzyzzyz{{zyzzyyzzzzzzzzzzzyyyzyzzzzzz{zz{yyzyyyyzyzzyzzzzzyyyyxyyzzzzyzyzxyyzxxyxyzyxxyzyyxyxxxyyyyzywzzzzxyyyxyzxzzxzzzzyyzyyyxyzyyzyyzyzyyywxyyyyxyyzy{yzyyxyxyyzzzx{{yyxyyyyxyyzzyyyyyyxxxxyyxyyyyyyzyxxyyxxxxxyzyyzzyxwyxxxyyyyyyzyzyyxyyxxyyzzxyyzxzyxxxyxzxyyyxyzy{zyyxxyxyxxyzzzyyyxxyyyxxyyyzyzzzyyyxzyyxyzzyyzzzyxyzyxxzyxzzyzzzxxzyzwyxzzzyyyzzyxyyxyyyzzzyyzyzzyyxxyxyzzzyyzzyxyzzyzyyyzyzyzyyzyzyyyyxyyzyzzzzyyyzyyyyzzyz{{zz{yyzyyyzy|zzzz{y{yyyzzzy{zzzyyz{zzyyz{yzyzzzy{zz{yyyyyzzz{yzyz{yyyzzyyzyxz{zzz{zzyzzyxyyyzyzyzzyzyyxzyyzzz{zzzy{zzyyzzyyyzyzzz{z{zzzyyyyzzzyzyzzyyzyyxxyzzzzyyyxyyxyxxxxyzzyyxzyzyyyywyxyxyzzyzzzyyxxyyyzxyyyyzzyyyyyxxyyzzxxyzyyyyxyxxxyyzyzzyzyyxxyyyxxzyyyzyxyyyyyxwxyyzxyyyzyyyxxzyyyyxyyzyyxxxyxyyyzxyzyzzzxyxyxyxyyyzxyyyyyyxyyxxxyyxyyyzyyyxxxyyyzzyyyyzxyyxyxyxyxyyyxzyyxxyxxyxxyxyyyzy{yxyxyxyzyzxzzyzzzyyyxxxyyxzyxyyzyyxzyyyyzyyyyyyzzyyyyyzxyy{{yyyzyxyxxxyyyyyyyz{zzyyyyyxyzyzzyzzyzxyyzyyzxzzzzzyzzyxyxzyzyyz{yz{{zxzzyyyyzzzyyzzz{yyzzxzyzzzz{zz{zyzxzyyyzzz{{zz{zyzyyyyyyzzzzz{yzyzz{yyyy{x{z{z{zyzzzzzzy{zzzy{zzyzyzyyzzyxzzyzzzyyxyzzyyyyzzz{zyyyyyxyxyzyzzzz{yzzyyxyyyyzzxzyyxxxxyyywxyzyyzyzyzyxxzyyyxyzzzy{yyyxxxyxzyzyyzzyyyzyzyyxyzzyyyzzyyzxyxxyxyyyyzzzyxzyxyyyyyyyyzzyxxyyyxxxyzyyxyzyzxxyyyyxyyyyzzzzxyyxyyxxxyyyzyy{yyxyyzyyyxyyyyzzyyyywyxxyyzzyyzyyzxyyxyxyzzxzyyyxyyyyzyyyyyzyzzyyyyyyyxyyyzzyzzyyyyxyxyyzzzzzzyzxyxzzyyxyyzyz{{zyyyxyyxyyzzxzyzzyxzyyyyxyzzyzz{yyyyzyyyxyzzzyy{yzyyzzyyyzzzyzyzzyyyyyyzyzyyyzzyzzyyxzyzyzyzzyz{zyzyyzyyxz{zy{z{{{xzzyyyyyzzzzz{zzyyyzzzzyzzzzzzzzyyyyzyzzz{z{zz|zyzzzzzzzz{zz{zzzyyzzxyz{zzz{yzz{yxyyzyxzzyzyzzzzzxyzyzyyyzz{y{zzyzzyyxzyyzzyzzyyxzyxxxxyzzyyyzyyxxyxxyyyzyyzyyyzywxxxxyzyyyyyzzyyxyyyyyzzyzz|yyyyyyxyyyzyz{yzyzxyyxxxzyzyyyyzyyyyyxyyyxxzyyxzzyzxxzxxyyyyzyyzyzyxyyxzxyzzyzzzyyxxyzyxxxyyzyzzzzyyxyyyxyyyyzyyzz{yxxxyxxyzyxzzzyyyywyxzxzyyyyyzyzyzyyyyxyzzzzzyzyyyzyyxyyzyyyyzzzyyyzyzxzyzzzyyyzzyyyy{yzzyz{zyzyzyxxyxxzzzzz{yzzyzyyyyyyyz{zzyzzyyyyyyxyzzzyzyyyyyzyzzzzzzzyyzzyz{yyxyyy{zzzzz{yyyyzzyzzzyzyz{{zyyyyyyyzz{yzz{zzxyyyyzyz{{z{z{zzyyyzzyzz{z{z{zzyyzyzzzzy{z{{zz{zyzzzyyzzzz{z{{zzyyzzyyzzzzzzy{zyyyyzzyzyzz{zz{zyyyzyyzyzzzzzz{{yyzyxyyyyzyzyzzzzzyxyxzyzzzyzzyyyzxyxxxxzyzyzyyzyxyxyxyyyyyyyyzzyyxxyzyxyyxyzzyzyyyxyyzyyyzyyyzyzyxyyxxyzyyzyyzzyxyxxyzyyyyzyyzzyyyxyyyyyzzyyzyxyzyyxyyyxyyyzyy{wyxxyxxyyzyzzzyzzxyxxxxxyyzyzyzzzyyzyyyyyzzzzyyyyyyxyyyxyyxyyzyyyyyyyyyxxzyyzyyzyyyyzyyyzzzzyz{zzxyzyyxyzzzyyzzzyyyzyyyyyyzyyz{zyyyyyyyxyzzzyyzyyyzxyyyyzzzzzzyzxyxyyxyyyyzyyz{yyxyyyyyyz{zyy{zzxyxyyyzyzyz{yz{{yzyyzzzyzzz{y{z{zyzyzyyz{z{z{z{z{yzyzyzzzzzz{{z|yyy{yzyzzzyzz{z{{zzyyyyzzz{zyz|zzzyyyyyyzzzz{zzzyyyzyyzyz{{z{zz{zyzyzzzzzzzzzy{{zzyyzzyyyzzzzz{z{yyyyzyyy{zzyzzzyzzyyxyyyz{yyyyyyxyxyyyxy{yxzyzyyxyyxyyyyyyyzzzzxyzwzyyy{zzzzzyyzxxyxyyyyy{yyzyzzyxzyxyxzzzyyyzzxxyyyyyyzxzzyyyyzyyxzzyxxyzyxyzyyyyyxyyyzzyyyzzzzyyyxyxxyzzzyzyzzxyyyyxyyyyzyzyzxyyxyxxxyyyzzz{{yxyxyyzyxyzxzyzzyzyxxxyyyzyzyzzzyyyzyyxxzyzzzyyzzyzxyxyyyzyyzxzzyzzyyxzyyzzzyyzzzyzyyxyyzzz{yzzzzzzyyyyyyyz{zzzyyyzxzzyyyzzzyzzyzyxyzyyyzyzzzzzzzyyyyyzzzzz{zz{zyzyzzyzyzzzyyz{zyzyxzyxzzzz{z{zzzyzzzzyzzzyzzzzzzz{yyzzyyyyzz{zz{zzyzzyyyz{{{{z{zzzzxyzyzzzzzzzzzzzzz{y{yzzyzy{zyzyyzzzzyz{zzzz{zzyzyyyzzzyzzzzzzzyyzyzyzzzzzyzzyytyzyzyzyyzzzyyyyzyyyxyxzxyzxzzyyxyyyyyzzzyyyyzyyxxyxyyzzyzzyzzwxyxyxxyyyyzyzzyyzyxxxzxxyyyzyyyyxyxyxxxyyyyyzyzyyyyzyyyyzzxyzyzxxyyxyxzzyxyyyzyxzxyywxyyyzzyyzyxyyyxyxyyyzyzz{yzyyxyzyxyzyyyzzzzyyyyxxxxyzyyzyyyyyyyzxyyyxyy{zzxyyyyzyyyyzyzzzyyyyxyyxzzyzzzz{zzyzyyyyyzyyyzy{zzzyzxwyyyyzzzzzyyzyzyyzyy{zzzzzzyxyxyxyyzzzzyyzzzzyzyyyzyzzyyyyzzyxyyyyzz{yyzzz{yyyyyyzyzzy{zzzzzyyzyyyyzzz{zzzyzzz{yzyzz{{{{z{z{{yyyzz{yyz{z{zzzzzzyzzzz{zzzz{zyzzzyzyzzyzzzy{{zyyzzzyyzzz{zz{zzz{yy{yzzyzz{zzzyzyyxyzyzyyz{zyzzzyzyzyyyzzzzzzzzyyyyyyyzzzzzyzyxyyxxxxxxzyyyyzzyyxyyxxyyyyyzyzzxyxyyzyxyyzyz{zyzxyyyxywxzzyzyzzxyxyxyyxzyzzzzyzyxzxyxyxyyyzzy{zyyyyxxxxxzzyyzzyyxyxxyyxyyzyzzyzxyyxyyxxyyzzyyzyyyxzyyyxyyzyyzzzyxyyxyyxxyyyyyzzxwyyyyyxyyxyyyyzyyxyyxyyyzyyzzz{zxyzyyyxyzyzyyyzxzxyyyyyyyyxzyy{yyzyxxyxzyyyzzz{yyyyyyyyzzxyyzyyyyyyyyyxz{zzzyzzyyyyyzyyzyyzzy{zyzyyyyxx{zyzzyzzzyyy{zzyzz{zyzzyyyyyzyyzzzyzy{{{zzyyzyxy{zz{z{yy{yzyzzyyz{z{z{{{zyzyyyzxzzzz{zz{zyyyzyyyz{z{{zzzzzyzyyzyz{zzzzzyzzyzyyyy{{z{{{y{yzyzyzzyzzyzyzzzyyzyyzyyyyzyyzzz{yyyyyyyzy{yyzyzzyyxyyzyzzzy{zz{ywxxyxxxyzxzyyzyyxyxyxxyyxzzyzyyyyywyywyzy{xzy{zzxyyyzyyyzyzzyzzyyyxyyyyzxyyxzy{yyyxxyyxyzzyyzzzyxyzxxyxyz{zxzzyzxxxyyyxyyy{xzzzyxxxyxxyzyzyzzzyyyxyyxyxyzyyyzzyxyyyxyxyyyyzxyzzxyzyxzyyxzxyyyyyyyyxyxxxyzyyzzzyyzzyyyxxyyzyxzyyyyyyxyyyyzyyzzz{xyyyyxyyyyzzzyzzyxzyyyyzyzyzzz{zzxyyyxzyyzyzyzzyyzxyyyyyyzzzyz{yzyzyyzyzzyzyzzyyyzzyyyzyyzy{yzy{xzyzyyyzzzzyzzz{yyyyyzyxyyyzyzyyzxyxyzzzyzzzzz{{yzzzy{zyy{z{z{{{zzzzyzyzy{zzz{{zzyzyzyzyzz{zzzzzyzzyyzyyyz{zyzzz{z{z{yyyzzyzzzz{zzyxyyyyyzyzy{{{yyyyzyyyyzzz{yz{zyyyyzyyzy{zyzzyyxyxxxyxxzzxzyzyzyyxyzxxyzyyzzzyyxxxxyxyyyzyyzzzyxyyyyxyzzyyyyzzyyzxyyyxzzyzxzxyyyxyyyxyyyxyyzyyyxyyyyyxzyzzzyzzyxyyyyyxyxyzyzyyxxyxxxyxyyyzzyzzyyyywyxxxxzyyyzzxyyyxxyyxzzyzyzzyyyyzxxyxyyzxyzyxzxxywxxzzyyy{yzyxyyyyyyyyyxzyzzyxyyyxyyyzzyyzyzyyyyyyzyzzzzyzzzyyzyyyyyzzzyyzzyzyzxy{yxyzyzz{zzyyxzyyxxyz{yzzzzyyyzyxyyzyyxzyzzyyzyyxzzyyzzyzzzyzyyzyyzzzy{z{{zzyzzxyyxyzzzz{{zzzyyzyyz{{zzyzzzyyzzyzzzzzyy{{zzzzyzzyyyz{z{zz{zzyzyzzyy{z{z{zzzzzy{zyyzzy{zyz{zyyzyyzyyzzz{{zz{yzzyzyyyzyzzzy{zzyxxyyyyzyyyzzzzyxzyzywxyyzyyyxyxyxyyxxyxyyxyxyyyyyyxxzxyzyzyzzzyxxxxyxxyzyyyzzyyzzyyyyxyyyzxyzyxyyyyxyxyyyyyyyyy{xxxxxyyyxyyz{yyyyyyyxwyyzxyyyyzyxxxyxyxzxzyyzyyyyxxxyxwyyxyzyxxxyyxyxyyxzyzzzzyyyxxxxyyyyyyyyyyyxxxyyyyyzyyyyyxyxxywxyyyxyyzyzyxzyyxyxyxzyzzzyzyyyzyyxyzzyyzz{yyzyxyyyzyyzzz{yyxyzyxxyzyyyzzyyzxyyxyyxyyxzyyzyyyyyxyxyzyyzzyyyyyyyxxyyzyyzyzzzzyyyyyyyzzz{zyzyyzyyyyzzzyzyzzyzyzzzyyxyy|zzzz{zyyxyzyzzz{zy{{zzyyyyzzzyyz{zz{zz{yzyyzzyy{zzy{zzyyzzzyzyzz{z{zzz{zzyzzyyyz{zz{zzzyzyzyyzyyyzzz{zyyyxyyyzzzy{zz{zz{yzyzxwyzyzzzzyyyyyyyyyyyzyzyyyxwyyxyyxzyxyzyyyyxxxyxxyyxyyzyyyyxyxxxxxzyyzyyzyyyyzyyxyyyzyyzyyyyyxxwyxzyzyyzyxyxzxyyyyyyyyxyyxyxxxyyxxxxxxyxzzyyyxxyxyyxyyzzyzyyyyxxyxzyyyyyyyzxxyyyxyyyzyyyyzzyxyyxyyyyzxyzzzzzxyxywxyyxyzyyyyxxxyxxyyyyyyzyzyxyyxyyxyxyyzyzyyxyyyxyyyyyyxyyzxyxyzyyyyyyyzzyyyyyxzxxyyzyyxyzzzzzyzxyxyyyyzzyzyxyyyxywzyzxyzzzyyyyyxyxyzyyyzzyyyyyzzxyzzzzzzyzxzyxyzzyzzz{zz{yzzzyyxxyzzzyzzzzzyyyzyxyz{zzyzzzyyyxyyyzz{zz{yzzzzyyyzyzzzz{zz{zzyzyyzzzyzzzzyzyzyxzzyyzzzyz{zzzzyzzyzyzzzzyzzzzyyyxzyzxy{zzyzzyyyzyzxxxz{yyxzzyyxyyyxyyzzyzyyxyyyxyyxxyzzyyyzzyxxwxyyxyxzzzyz{yzyzxyyzyyyyyyz{yyyxyxxyxyyyyyyyyyxyxxxxxzzzyzzyzzyyxxzxxyyyyyyyyyyyxyxxyyxzxzyyyyxyxzxxyyyyzyzy{yyyzyxyyyyyyyyyzyyyyxxxyyyyzxyyzxyyxyyxyyyzyyzzzyywyxxyyxyzxyyzzzzyyyyzyyyyyyz{zzyyyzyxxyzyyyzyyzyyyywxyzyzyyzzzyyyxyzyyyyzyzzyzyyzyxyxyyzzyyyzyzyzyzyyyzzzyz{zyyzzyxzyyzzzyzz{zzyyzyyxy{zyzyzzyzzyyz{zzyyzzzz{zzzyyyyzzyyyz{yz{yyyzyzxyzzyyzy{y{yzyzzzy{{{yzzz{yyzzzyzxzzyz{zzzyzyyxyzzxz{zzz{{zyzxyyzyzzzzzyzyyzyzzyyyzzyz{{zz{yyyzyxzzzzzzzz{yzzyyyzyzzzzzz{zyyxyyzyyzyy{zzzzzyzzyxyyxzzzzyzzxyxzzxyyz{zzzxzyyxyzxyxzzyzyzz{zyyyxyyzyzyyzzz{zzyzyyxyzyyzzyyzzzyyyyyyxyzyzyzyzyyyxyyyxyyzzyzzy{yxxywyxxxzyyzzyzyyyyyyxyzyyyyy{wyyyyxyyyzyzyzzzyxxyyxyyyz{xzzyzzyyyyyyxyyyzyy{yzzxyyyyyyyyxyzyzzzyyxyxyzzzyzyzzyyxyyzxyyyyzzzzzzxyxyxyxzy{yzzyzzxyyyyyyyyzyzz{zyyyzyyyyyzzzzzzzyzyxzyyyyzyyzzzzzyzzzyyyzzyzyz{zyyzzyyxyyyzzyzzzzzzxzyyzzyzzzyzzzyzyyyzzzzy{zz{zxz{yzzyzy{zzzyy{zy{yyzyyy{zzzz{{yzzzzzzyzzyz{{{{{yzzyzzyz{zzzzz{{zyzyyyzzzzyzzyzzyyyzzzyzz{yzyzzzyzzzyyzzzzzz{z{yyyyyyyyyzzyzz{{zyyzyyzyy{zzyzzzzyzyyxyxyzzzzzyyyxzxxxyyyyxxzyxzzyxyxyyyzyzxzz{yxyxxxyxxzzyzzyzyyywxyyxyyyyyxyzzxyyxxxyyyyyzzzyzyxxwzyxxxzyyyyzyyyxxyyyyzzzyzyyyxxyxxxxyyyyyyyzyxyxxyyxyyxzzzyyyxxxxxyxyyyyyzzzzzyyyxyxwyyxyyzyyxyywxxxxyyyxzxyzyyyxyxxxzzyyyzyzyyxyyxywxyzyzyyzyyyzxyyxyzzzzzzzzzxyxyzyyzyyzyyyyyyyxxxzxyzyyzzzzzzyzxyxyyzyzzzzyyzyyyzyyzzzyyzyyyyyyxyzzzzyyzyyzyzyz|zyzzzzz{zzyzzyz{yyzzyz{z{zzyyyyyyyzzxzzzzz{yyzzyzzz{zz{zz{zzzyyz{zyzyzzzzzzzzzyzzyyzz{z{yz{yyyyyyyzzzzy{zzzzyyyzxzz{zz{yyzyyzy{zxyzzyz{zzzzyzzz{yyyzzyzz{{yyyyyyyyyzzzzz{yyyyxyyyyzzzyzzzzyyyxyxxyxyzyzyzzyzyyyyyyzzzzyzzzzzyxyxyy{yyyzyzyyyyyyyxyyzzzyyzzyyxxxxxyyyyzyzzzyxzywyyxyzyyyzzzxyyyxyyyxzzyzzyzzzyzyyyyyyxyzzyzxyyyyxyxzyyzzyzzyyyyyyxyyzzyzyzzyyzzyxxyxyyzyyzzyzyxyyyyyyyyyyyzyxxyzxyyyzzyyyyzyyzyyzzyyzzzzyyzyyyxyyxyyzzzzyzzzxzyyxzyyyyzy{{zyyzxyyyyyy{zzzzzzzyyxxz{yyyzzzzzyyzxyyyyyyzyyy{zzxxyyyyzzzzyyzyzzzzzzyyyzzz{zzyyyyyzyzyz{zzzz{zzyzyzyyyyzzyzzz{z{yzyyyzyyz{{{z{zzyyzzyzzy{{{z{{{{zzyyzyzyzz{zz{z{yyzxyyzzz{zzz{zzyzzyzyyyzzzz{zzyzzzzzzzzzzzzzz{yyxzyyyyzzz{{z{yyyzzxyyyyzy{zz{zzzyyyxyzyyzzyyyyxyyyxxzxyyyzz{zyxxyyxxyxzyyyzyzzyyyxyyzyyzzyyz{yyxyzxzyyyyzzyyy{zxyyyxzyyxxz{zyzyyzyyyxxyyyxyyzzyyyyyxyxyyzyxyyyyyyyxyyyyxy{yyyzyxyxyyzyzzyyyzzzzyyyzzyxyzzyzyyyyyyywxxxyzyyzyzyxyyzyyzxyxzyxyyzzyyxyyxyyyyyyzzzxyyzyyyyyzy{zyzzzzyyyyyyzzyzyyy{zyxzyyxzzzyzyyzzyyyyyxyzzzzzzyzyyzzyywyxy{yz{zzz{yyyyyzxyx{zzzz{zyzzzzxyz{zzyz{zyzyzzyzyz{zzzz{zyzzyyyzzzzzzz{zzyyyzyyzyyz{zyzzzzzyyxyzzzzyzzz{{zyyyyzzyzyzz{{{zzyyzzzyz{{zz{z{{{zzzzyyz{zz{{zzz{yzzzzyyz{zzz{z{zzz{yyzzzyz{{{zzzyyzzyzxzzyzzzzyzzzyyzyyzzzzzzzzzyy{yxyyzzzzyyxxyxyyywywyzyyzyzzxwyxxxyxyyzyzzyzyzyzyyxyzzyyyzyzyyyyyxxxyyzzxyyyyyyyyyyyzyzzzzzzyyxyxxyxyzzyyzzyzxxxwzyxyzzyyzyyyy{yyyyyzyxyyyyzxxyxzyxyyzyzzyzyyyyyyxyyxyzxyzyyyzyyyyyyyzzyyzzyyxyyxxyxzyyyz{yyyzyxxyzxyyyxzzzzxxyyyyyxyzzzzzyzxxyxyzyyyzyyyyyzyyyyxyzx{z{zy{yzyzyyyyxyzzzyyyzyxzyzyxyy{zzzzyzzyyyyyyyxyzy{yzzy{xzzyyyyzzzzz{yyzyyxzyzyzz{zzyy{yzyxzzzy{zzyz{zzyyz{zzyyz{zzz{z{yyyzzyzyzzzzzzzzyyzzy{zyzzzz{zz{{yzzy{yyzzzz{{y{{zzzzzzy{zz{{{zzyyyzzyyzzzzyzzz{zyyzzxyzzz{{yzzzzyyyzzzyyzzzzzz{zzyyyyxxzzzyzzzzzzyyxyzyzyzzxyyzwxxxxyyxyzzyyyyyyxyyyxxxyzyyyyzzyyxyyzyxxyyzz{yzxxxxyxyyyzzyyyyzyyyxxxzxyyyzzyxyzyyyyxxyyyyyyz{zyyyyyxxxzyyy{yzyyxxxxxyyyzxzyyyyyyxwyxxxyyzzyyzyyxxxyyxyyxyzyyyxxyzxxxxyyzyyyyyzyyxyxxxyyzzyxyyyyxyyyxyxyxyzyz{zxyxyzywxzyyyzzzyzwxyyxyyzzyzzyyyyyyxxyzyzyyzzyzyyzywxyyyyzyxyzzzyyyyxxzyy{z|yzyyyyyzyyyxyyzzyzzyyyyyyzxxyyzzyzzzyyyyyyyyyzyzzzzzzzyyyzyzyzyzzzzzzyyyxyyyz{z{zzz{zyyyzzzy{z{z{{zzzyyyyzzyzzzyzzyzzyzzyzyyyzzyz{{{zzyyyyxyyzz{zzzzzyzzyzzyyyzzzyzzzyzxyyyzzyyzzzzy{zyyzyyzyyzzz{zyyxyxyyyx{zzyyzzzyyyyzyyyyyzzyzzyyzwywxyxyzyzxyxzyyyyxwyyzyyyzyzyyzyxxxyxyyyyyyy{yxxyyyxxxyzyyyyzyyxxxxxxyxzyyzzzxzyyyyxxxyyzxzyyyxyxxxxyyzyyyzyyxywxyyywyxyzyyyzyxyyyyxyyyzxxyzyyyxyxxxyzyzxyzyzyxxxxvyxxyyzyyzyxxxyxxyyxyzxyyyyxxyxxyxyxyyyyyyzyyyyzzyyzyzxzx{z{xyyyxzxyzzxzzyzxxyyxyyzyyxyxzyzxxyyyxyyzyyyz{z{yyzyywyyyzzzyzyyyxyzyyyzyyzyzyzzyxyyyxyyyyyy{zyyzxzyyyyyyxz{yyzzxzyyzyzzzyyzyyz{zyyyyyxyyy{{yz{yzyyzyyyy{zyzyz{{yzzyyzzyzyzzz{zz{yxyyyzzyzz{zzzzzyzzyzyyzzzzyz{yzzzyzyyz{zyzz{z{zzyyyyyzyzyzzzzzzyyxzyyzz{zxzzzzzyyyyzyxyzyyzzzyyzyyyyyxyzzyz{yywyyxyxxxzzzyxzzzzyyxyxxxyyyyyzzzzyxxxyxxyxyyzzzzyyyyxwxxyyzzzzzzxyywyxyxyyyyyzyzyxxyyyxyyzzzyyyyxxxyyxyxzyzyxzyzyyxxxxyxyxzyxzzyyxxyyyxyxxyxyyzyzyxywxyyxzyyyyyxyxyxwyxyxyyzxyzyzxyyyxyxyzzywyyyyxyyyyxxxzxyyyzzyyyxyyyyzzzyyyyzyxyxxxxxzyzyzzyzyyyyyxyzzyzyzyzzyyyxxyywyzzzyyz{xyxyyxxyyyzyyyzyyxzyyyxyzyyzyz{yzyxzzzyxzzzyzzyzzyyzyyxyzyy{z{yzyyyxzzzyzzyzzzzzyyyyzyyyz{z{zzzzzyxyzzyyzzzzzzzzyyzzyzzzyzzz{zzz{{yyyzyyzzzyzy{zzyzzyzyyzzzzy{z{zxyxzzyyyyzzyzy{zz{yzyyz{y{z{{z{zyzxyxzyzzzzzz{{xyyyyzyyzzzzyxyzzxzyyyxyyzyzyyyyyxywxxyyyzyyyyzyyyyxyyzxzzyzzzz{yyyxyyyxyzyyzzzzyxzxxyxyyyzxyzzyyxyyxxyyzy{yyyzzyyzyyyxxy{xyzyyzyyyyyxxyyyzyyzxyyyyxyyyyzyy{yy{zxxyyyxyxyyzzyyzyyyyyxyxyxyxyzxyyxyzzyxyyyyyzyyzzyyyyxyyyyyyyxzzzyyzxyyxxxzyyxzzzyxxxyyxyyzyyyzzzzyxyzwzyzzzyzyxzyyy{yyzzyyzzzzzzyyzyzyzyzzzzzyzyyyyyyxzyzyyzzyzyyxzyyyyyzyyzyzzzyyyzxyzxzzzyzzzyyyzyyyzyzzzzzzz{zyzxyzzyzzzzy{zzyyzxyyxzy{{|zzzzyyyyzzzzzzzz{zzzzzzzy{zyzzzzz{{z|zzzzyyyz{{z{z{{zyzzzyyzzzzy{{zzyyyz{zyyyzyzzzz|zzzyyyyzzyyz{z{{zyyyyyzxyyzzzz{{yzyzzzyxzyz{zzzzyzyyyyzwzzyzzyyyzxyxyxyxyyzxxyzzxxyyxxxyyyyyzyyzyxyxyyyyyzyxzzyzyyyyyxxxyyyyyyzzxzxyxxywyx{zxzzzywxxyxyxxyzyyyyzxyyyxxyzyyzyxzyyyyyxyxyyzzyzyyyzxxyxxyxyyzyyyzyxyxyxxywyzyzyzyzyyyxxxyxyyyyyyyyyxxyxxxyyyyyyxyzzyyywzyyxxyyzzzzzyyzyxyyxyxyxzzzzyyyyzyyxyzzyyzz{yzyyxxyyzyy{yyzzxyyywxxxyyzzyzyyyxyyyxyyxzzyzyzyyyyyyxxyxzzzyzyy{zxyzyzzzzzzzz{{yzyyyyzyyzzzzzyzyzzyyyyyy{zzzzzz{xyyzxyyz{zz{yzz{xzyxzyyz{zzz{zzzy{yyzzzzzzzy{z{{zzzyzzy{{zyy{zyzxzzzyzyzzyyzz{yzyyyzyyzyzzzzz{zzzzyyyyyyzzzzz{{yyyyyyyyzzzzz{zyxyyyyzyyzzyzzyzyyyyxywyyxzzzzzyzxyyxyyxyyyywzyzzyyxxyyyyyzyyzyy{xyyzyxyxyyzzzyyyxyyyyxxyyyyzxyyyyyyywyyyyyzzxzyzyyyyxyxxyyxyyyyzyyyyxyyxyyxxyyyyyxyxxxyyyyyyyyyyyxyyyxyxzxzyyyzyyyyxxywyzzyzyzyzzxzxxyyxxyzyzyyyyyxxzyyyyyxyyyyyzxyyxyyxzzyyyyzyxxyxyxxxyzyzy{yzyyyyyyyyyyyyy{zzyyyyxyxxzyyzzzzyyzzyyxyyyzzzzyz{yxyzzyyyyyzyzyz{yyyxyxyxzyyyyy{zzzyyxyyxzzzyyyzyzyyzxxyyzzzzzyzzyyzy{zzzzyyzzzzzyyzyyxyyz{zz{zzz{yyzyyyzzyzzzz|{zyzyyyyxz{{zz{z{z{yzzzzyy{z{zz{zzzzyyyyyzzz{{{zz{zzyyyzzzyz{z{{{zyz{zyy{{z{zzyzzyzzyzyzzyzzzz{{z{yyyyzyxyzzzzyzyyxzyyxzyyzzyzzzyyxyxxxyxyzyyzzyyyxzz{yyxzyzyyzz{zzyxyxyyyyzzyzyzzxyyyzwyy{yzxyzyyxyxxyxxxxyyyyyzyxyyxyyxyyzyyzzxyyyyyxyyzyzyxzzyyyyxyzyyyyyzyyzzyyxyyxxyyyzyyz{yxxyyxyxxyyyyyzzyyyyxyyyyyzyyyyzzxxyxxxxyyzyyxzy{yyxyzxxyyyyxzzzyyyyyzyyxyyzyyyzzyyxyyxyyzyzyyzy{yyyyxxyz{zyzyzzyyyyzyyzyyyyyzyyyyyzxzyyyzzyzzzzzyyzxyyyyzzyzzz{yzyzyyyxyzzzzyzyzyyyzyyzzyzzz{{{zyyyzzzyy{zzzzzz{zyyxzxyyz{z{zzzzzxyzzy{yzz{yz{{{zzzyz{yzzzzzzzzyzyzyy{xxz{zzz{zzzzzzzyzyzzzzz{zzzyxyyzyzzyzzzzzzzzzyyzyyzzy{zzy{yyzyyyzxyz{|z{{zzyzzyyyzyzyzyz{zyxzxyyyxzzyzyzxyxyyyyxyxzzyxxyzyzxxxyyxxyyzzxyyyyyyxyyxyxyyyzzzyyxzxyxyyyzyyyzxyzyyyyxyzyyzzyzzyyyzyyyyxyzyyzyzyyyyyyxxxxyyyzyzzzyyyxyyyzxyyyzzyzyxyxyxyyyzzyyyyyxyyyxxxyzzyzyzzyyxyxyxywzyzzyzzxxyyxyyyyyzyyyyzyxyyxwyxyyzxyyzzzxyyxyzxyzyzzzzzzxyyyxyzzzzzyzzzyxxyyyyyyzzyyyyzyzyzyyzyzyzzyz{zyyyzyyzxzyzyy{zyyyyyyyyyyy{zyz{zyyyzzyxyyzzzyzzzzyyxzyzzyy{z{z{zyyyyxxyyzzzzzzzzyzzzzzyyzz{z{{{zzyyyzzyyz{zz{{{zzyz{zyzzz{zz{zzzzyyzyzyyy{zzzzzz{yzyzyzzz{zzyzzyzzyzyyzzzzzzz{{{{yyzzzzzzz{zy{{zzzzyyyyyyzzzy{z{yzyyzyyzyzzzzy{{zzyxywyxyyzyzyzyyyyxyyyxx{yyyyyzyyxyyyyx{zzyxyyzzxyxyxxxyyzyzzyzxyyxyyyyyzyzyyzyyyxxxyxxyyzzxyzzyyyxwwyyyyyyxz{yyyyyxyyyyy|yyyyyyyyxxyyxxxyyzzzyyyyyyyyyyzyzyzyyyxxxxxzyyzzyyyzzyyyyyyyxyyyxzyzzzyyxyyyyzyyyyzzyyxzyxyxxyzyzyyyzyyzyyyyxyzzzyyzzzyyyxxyyy{yyzzzzyyyxxyyyy{zzzzzzyxyyxyyyxzyyyzzyyyyyzyxyyyzzzzzzxyyyyyyzyz{yyyzyyyxyyzyyzzzzzzzzzyyyzzyyzzyzzyzzyyyxzzzzyzzzzz{zyyzyzyyyz{{{yyyyzyyzzyzyzzzzzzyzy{zzzzz{yyzz{zzzzyzyzyyxz{{zyz{zzzyzzyyyz{zzy{zzyzyzzyzyz{zzz{{{{yyzyzyzzzyz{{{zzzyyyzyzyzzz{zy{zyyzzyyxyz{zz{zzyzyyxyzyzyzzyzyyxxyxyxwxxyzyyzzzzxxyxyyyxzzyyyzzyxxxwxyxyxyzyxzzyyyxxyxzyyyyyyzzyxywxxxxyyzyyzyyyxyyyxxyyzxzxzyyyxyyxyyxyxzxxyyyyyyxxxxyyzzzxyyyxxyxxxyyyyyxzyzxyyyxyxxyyzyxzzzyzxxyxxzxxxyzyy{yxxxzyxyyxyzyyzyyyyxxyyyyxzyyyyzzyyyyyyyzyyyyyzyzyyzyyxyyyzyyyxyyyyxxxxyyzzzzyyyyxyyxwxyzz{zzzyzzyyxzzxxxyyzyyzzzyyyyyxxyyzzzy{yzzyyyxyyyzyyzy{z{zyyyyyyyyyzzyzyyyzyzyxzyzzzzyzz{yzyzxxyyyzzzzz{zzzyyzzyz{zz{zzzyzyyyyzzy{zz{z{z{{zzyyyyyzzzzzzzzzzyzzzzyzzz{{{zzyyzyyyzzzzzy{{z{zyyx{yyyzzyzzzy{yzzzyyxzyyzzyzzzzyyyyyyyyzzzyxzzzyzyyyxyzzzyyzxyxyxxyyxxyyxyyyyzxzyxywyyyzzyyz{zyyyyyyyxyyzyyxyyxxyyyxxyyyyyyxzyzyywwxyxyzzzxyzyzyxyyxywyzzyyzyyyxyxxxxxxxyxyyyyxyyxyywyxyyzxxyyxyyyxxxxyyyxyyyyyyyxxxyyxyyyyyyxwxzxxyyxyyyyxyyyzyyyyyyyyxzyyzyyyxyxyyyxxyyyyyzxyyxxyyxxzyzzzxzyyyyxyxzzzzyyyyzyzxyyyxyxyzyzyyyzzxxyxyxxyyyzyzyyxyxyzyyxzzyyyzyzzyxxyyyxzzzyzz{yzyxyxyyyyzyzzzzzyyxyyyyxyyzzzzyzyzyyyyzyyyyzyzyzzzyyyyyyyzzzyyzyzxyyyyyyyzzyzzz{yzyzyyzzzyzy{z{zzyzzyxyyzzyzy{z{yyyzyyyyzzzyy{zyyyyzyyyyzyyzz{z{{zyzzzyzzzz{yzzzyyxyyyzyyzyzz{zzyyzyxyyyyz{zzzyzzyzxyxwyzzzyyy{yyxxxxxyyyyzyyyyyxxyyywwxzzzyyzyzzyxxyyyyyyyzzyzzyxyywxxyxxyyxyyzyyxxxxxxyyyzyyyzyzyyyyxxxyyyyzzxyxxyxwyxxyyyyyzyxxxxxxyyyyyyxyzxyyxxyxyzxxxyxyzyxyxywyxxzyyxzzyxyyyyyxxyxyyyyyyyyyxyyyyyyyywyyzyzxyxxyxxyyyyyzyyyyywyyyyyzzzyyzyxxyxyyxyyzyzxzyzxyyxyxyyxzyzxyyzyxyxyyyyyzzyyyyzyzyyyxyxy{zzzzzyxyyyyxyxyzzzyzzyyyxzyyxyzzyzyzyzyyzyyyzyzzzzzzyzyzzyzyzyzyyzzzyzxyyyyxxxyyzyzyzzyyyyzzyyzyzy{zz{zzyxzyzyzzzyzyzzyxyyyyyzz{zzz{zzzyzzyyyxzzz{z{zyyyyyyyyzyzzzz{zzzzxzzzyyz{zzz{zzyyzyxyyzyyyyzzyzyyyyyxyxyzy{zyyyxyzxyyyxzyzyxzyzxxzxwxxwyzyxxyzzyyxxwxxyyyzxzzz{xyyxyxyyzyyxyyy{zyyxxyxyzyyyxxyzyxyxxyxxxxzzyyyzyyyxyzxyyxzyyzyxyyyyyyyxywyxyyyxyzzxyyxyyxxzyyyyxyyxyyxyxyxyxzzyyxxwyyxyxyzyzyzzyyyyyxxxxzzzyyzxxyyxzxxxwyyxxyyyyxyyxyyyyyzy{zzxyyxxxxxxyyyyyyzzyzyyyyyyyzyyyyzyyyyyyxyzyyzyzzzzyyyyyyyxzzyyzyyzyxzyyyzyyyyzzzzzzyyyyxyyyyzzzyzzyxyzyyxy{yyxzzyzyyyyyzyyzzz{yzzzxyyxyyyyyzz{zzzzzyyyxyyyzyzzzzzzzyzyyyzxzzzzz{zzyxyyyzzzz{yz{zzzzyzyyyzzzzzzzz{{zzyyyyzyyzzzz{z{zyyyyyyzzyzzzz{{zyyyyzy{zzz{z{zyyzzyxzyyyzyy{zzzyyyzyyzyzzyzzzzzyy{yzyxyzyzzyyyzzxwyyyxxxyyyxzyzxyxxyyyxyzyyyzyzzyxxxzxyyxzxxyyzxxyxyzxyyzzyxyyzxyxxxxzxyyzyyyyzyxxxyyywyzyxzyzyywyyxxyxyxzxxyyyyyxxyyxyyyyzxxxxyxxxxyxxywxyxxyzyxxywyxwyxyyyxyzyxyxxxxxyzyyyyyyyyxxxxyxyyyyzyxxxyxxyxxyyyzyyzyxwyyyyyxxzzyyyyzxyxyxyyxyzzxzzzyyyyxyyyyyzzyzzyyyyxyxxyxyyzzyyyzzyyyyyxzxxyyyzzyzyyxyxyyyyyzyzyzxzxxzyxyyz{yzyzzyyyyyzxyzxzzyzzzyyyyzyzyzzyzz{zz{yzzyyxxzz{yz{yzyzyxzz{yyyzzz{zzzyzzyyyyzzzxyyzzyzyzyyyyxzzyzyzzzyyyyyyzyzzzyyyyzyzxzyyyyyzyzzzzz{xyyzyyyzzy{yzzzyyyyzyyyy{yzzzz{zyyyxzxxzzyzyzzyyzyyyyyxyzzyzzyxxxxxxxxxyyzyyyzzyxyxxxxxyyzyzyzyyyyyyyxyyyyzzzyyyxxyxyxxyyzyyyyzxyxxywyxyyxyzzzyzyyyxwyxxyzxyyyyyyyzyxxyyyzxyyyzyyyxxyyyyxy{yyyzxyxxxyxyzyyyyzyyyyxyyyxyzyywzzzyyyyyyxxxyyzyyyzxxxxxxyxxyyyyyyyyyyyyzyxxxzyyyyzyxxyyyyxxyyzyzyz{xyyyyyyzyyzyzzyzzyyxyyyzyyyyyzyyyyyxxxyyyzyyzz{zzzyyyxzyyzyyyzyyzyyyyyywyzzyyyyzzxyyzyyyzzyyyzyzzyyzyyzyzzzzzzz{yzzyyxzyyzy{zyzyyyyzyyzyzzyzzzzyzyxyyzyyzzzzyz{zzx{yyyyzzyzzz{zz{yyyyzzzz{zzzz{{yzyyzyyz{{zzy{zzyzzyzyzyz{zyzz{yzzyyzyyyz{yyz{z{yyyzyyxyyzy{zyz{yyyzyyyyyzyzyy{yzxyyyyyyzzyyzyyxyyyxyxxxyzzzyzyyyywxxxyxyzxyz{zzyxyyyyyyyxyxzzz{yxxxxyyyyyyzyx{yyyyxxyywyyyyyzyyzyzxyyyyyyxyyzzyyxyxyyyyyyyyxyzzyyxxyyyxyyzyyxyyxxxxyxyyxyzyyyyyyyxxyyyxyzyyyzzyyyxxxxyxzyzyyzzzyxyyyxxyxyzyyzyyyyxxyyxyyzyyyz{yyzzxxyxyxyz{zxzzyyyxyxyyyzyzyyyzyxyyyy{xzzyyyzzzyyyxzyyzzz{yzzzzyzzyyyxxzzyzzzyyzyyyyyyzzzyzzzzzyyyyyyyyzyyyyzzzzzyxyyyyzyz{zzzzxzzyyxyyzzyzzz{{zyzyyyyyz{z{zzzyzyyzyyzyzy{zzy{zyxzyxyy{zzyz{{{zzyyyyyyzzyzzz{z{yzyzyyzxzzzyzzzzzyyzyyyzyzzyzz{{yyyyz{zyzzz{zz{zyyyyyyyyxzz{y{z{zz{zyyyyyzyyyzzyyyyyyxyyzyyzz|yzzxxyxyxyyyyyzzxzyyzzyxxxyyyzyzzzzyxxyyyxyyyzyzzzyxyxzxyxyzzzyzz{yyyxyyyxyyyzzzzzyyxyyxyxyxzyyzyxyzxxxyyxyyyyxzzzzyxzxyyyyxyxxzyzzyyxyyyyxzyyzzyyyxzyxyyyyyzyyyzzyyyxyyyxyzyzyyzzyxyyxxyxxzyyyzyyyyzyyyyyxzyyzzyyyzzyyyyyyzy{xzzzyzyxyxyxyyyxyyyzyzxyyyzyzzyzyyyyzyzyxxyxyyzzzzzzzyyyzyyyxyyyz{zzyyyyyyzyyzz{zzz{zyzyyyxzzzzyzyzzyzyzzyzyyzzz{zzyyyyyyzzz{{z{z{z{yzzzzzyyz{zy{zzyzzyzzz{yz{zzz{{zzzzyzzzyz{{zz{zzzyyzz|zxz{|zzzz{{yzyyyyy{zzzzzz{{yzz{xzyyz{z{zzzzz{zyyyzzzzzzzz{yyzzyzzzy{zzz{zzzzyzyyyyyzyzyyzzz{zyxyxyyzzzzyyyxzwyyxzxyyyzyzyyyyyyyxwyyyyzyyzyyyywxyyxyyzx{yzzyxyxxxxyyyyzyzzzyyyyxxxxxyyyyyyzyxxxyxyyxyzzyyzzyyzxyyyyzzyyyzzyxyyxwyyxyyzyxzxyyyxwyxxxyyzyyzyzyxxyxywxyzzyzyzzxxyxxxxwxxy{yyzyxyxyxxyvxyyyyyxzyywyxxyyyyyyyzzyyyxyxxxxyzxyzxyzyyyyyxxxyyyyzzz{zzzxxyzzzyzzyz{{xyyxyxyyyyzyy{zzyyyyyxxxyyyzy{zzzyyyyyyyy{yzzzzyyxyzyxxyzzyzyyzyyzyyyzyyyzz{zzzxyzyzyyyyy{z{z{{zyyyzyyxyzzy{{{zzzyyyzyyyzzz{yyzyzyyyzzzyy{zyzzz{zyzyyzyzzzzzzz{zzyzzzyyzy{zzz{zzyyyyyyyxyzzy{zzzz{yzzyyzzzyzzz{zzyzyzyyyzzzzzzzzzzzyyzyyzyzzzzzzyyyyyyxxyyzyzzzzyxxyzxxxzyyzyyyzyyxyyyxyyxzyyyyzyyyxxxyxyyyzzyzzzxxyxwyyyyyzxyyyyyyyyxyxyyyzyyyzyyyxyxxyyyxxyyyxyxxxyxxxyyyyzyyyxyyxzyxyyyyyyzyzxxxxyyxyzyyyxyzzzxyxwxxyyyzyyyzyyyxxxxxyzyxzxyyyxyyyxxxwxxxyyyyyxyyyxyzyxyyyyzy{yyxzyyyxyyzzzzz{zyzxxyyyzyzyzyz{{yyxyxyyyzzzyzzzzxyxxxyyyyzyzzzzyyxyyxyyyzyzzzyzzyzyyzxyy{{yyzzzyzzzyyxyyzzyyyxzzyyyzzyy{y{zzyyzxzzyyyyyy{yzz{z{zyyyyxzyzzzyzz{zzzyyyzzz{z{zz{yzyyyzzyyzzzzyzzz{zzyzyyyyyzzzzz{zzyyyyzzyzz{zzzzzzzyzyzyzy{yzzy{{{zxyzyyzzz{zzy{zyzzyyyyyzzyzyzz{yzzxxyyyyz{zyzzzyxyyyyyyy{{yzyyzxxxyxzwyzyyyyyzzyxxyyyxxyzzyzyzzzyyyxyyxyxzzzyyzzxyx{xyyyyzzxxyyxxyxwxxyzxzyyzz{yxxxyzzxxxwzy{yzyyyyyxyxyxyyyyyxyyyyxxyxxyyyzzyzyyxxyxyyyxyyyyyxyxxwwyxyyyzzyzzyyxyxyyxxyyyyzzzyyzwxyxyxyyyyyzywyxxxyxyxxzyzyyzyyxyxxyyxzyyyyz{zyyxyyyyyyzzxyzyzyxyyyxyyyxyyyzyzyyyyxyyzzyzzzzyyzzyzyxyxxyyyzzyyzyzyxzyyzzzyyyzyyyyyyzyyy{yzyzyzzyyyyzzyyx{zz{zzyyzyyyxzyzyy{zzzyyyyyzyxyzzz{yzzyyxzyzzzz{zyzzzzyyyyzyzzyzzyz{z|{zyzyyyyy{{{z{zyzyyzzzyzzzyy{|zy{zyxyyzyzzzz{zz{zzyyzyyyzzzzz{z{yzzyyzyy{zz{z{zzzzzyzyyzyzzzzzyzyyyxyyywzzzyyyyyyxyxywyyyyyyyyyxyyxxxwwyxzyyyyzzzyyxyyxyyyyyyyzzxyxyyyxyyyyyxyzyzyyxxyyyyyxxxyzyyxxxwyyxyzyyxzzyxyyxxxwwyyyyyzyyyyxxxyzxzyyyyxyzyxyxxxyxyzyyzyzyyxyxyyyyyyyyyyyyyxyyyxywxyyzzyyzyxwxxxxxyyyyyyyzzxxxyxyyyzxyyyyyyxxxyxyxyyyyzyzzyxyxyyyyyyyyyzzzyxyyzxyyyyzyyyyzzyzzyyyyzyyzzyyyzxyxzyxyyxyyyyzzyxyyxxyyyzzzyyzzyyzyyyxzyyxzz{yyzyyyzyyyzzzzyy{yyzyyxyzyyzzzxy{{yyyyxyyyz{zzyzzyyyxyzyyyzzyyzz{{yyyyzyyyyzzzyzzz{yyyxyyzy{z{{zzzyyyzxyxxzyzzzzzzyyxyzyyyyzzzyz{{zzyyzzyyzzzzzzyzyzyyzyyxyzyzzzzy{zxxyxyxzzxzyz{yzzzyzxyxyyzyzzyyzxwxyyxxyzzyyyzyzxyxyyyxzxyzyzzyyyyyxzyxzxyzzzzzxyxzzxxwzyyyyyzyxyyxxxyxyzyyyyyzyyyxxxxxyyyxxzzyyyyxyyxxyyyxxyyxyyyxyywxyyxyyyzyyyxxvxyyyzyyyzzzxxyywzyyyyzyyyyzyyyyxxyyyyxyzyzyxyyxyyxxyxxxyyyyxyxyyxzyxyyzzzz{yzywxyyyyyyyyz{yyyyxyyzzyyyyyzyzyxyxyyyyyzxyyzzyxyyxyyxyyzyzzzyzzxyxzxyyyyyyzyyzxyyxxyyyyzyzxz{yxyyxyyyyxz{yzyxzzyzyxyyyyyzzyz{zyzyxzyyyyzyzyyz{yyyxzyxxyzzz{zzxzyyyzyzyz{zzz{{zyyzzyz{zyyz{y{zyzyyzyyyyz|yyyy{{zzzyyzyyzyy{zz{{zzyyyyyzzzz{zzzzyzyyzzyxz{z{yyz{xyzxyyxxyzyzyz{zyyyyxxyyyzzzyyz{zyzyyyyyyzyzyzyxxxxyyyyxyyyyyyyyxxyxxyxxyyyyzzyyyyywyxyxyxxxyyyzyyyyxyyxxyyyyxzyyyxxyyyyyyxxyzzzxzxxyxxyxzyyyzyxyyyxwxxxxyyyyyyzyxyywxyxyxyyyyxyxyxxxxxxyzzyxyzyyxyxxyxyyyyyzyyyyxyxxyxxxyzxyyzzxxxyxwyxxyyyyyyyyyxxywwyyyzyyyyzyyxyyyxxzyyyzzyyzyyzxyyyyyzyyyyyyxyyywyxxwyzzzzzyxyyyyyyyzzzyzzzzyyyxwxyyzyzzzzzyzyxyxyxzzyyyzzyzxzyxyxyyzzyzyyyyzxzyyyyzzzzzz{yyyyyzxzyzzy{yzz{yzxy{xyyzzzyyzz|yxzyzyyy{z{yzy{zyzyyyyzyzzy{{zzzzyyyzzyzy{{zz{zzyyzyzzyzzyz{{yzyyyyzzyyzyyz{zzz|zyzz{zyzzzy{zyz{yzyxyyyyyyzyzy{zzyyyyxyyzzyzyxzyyxyyyyyyyzyyzFx8a"z{z{{{{|||}||~|||||{{{|{||{||||||{{{|{z}||}|||||{|{{z{{{{|z{{{|{|z{{{{{|{{{{{||{{|{z{{{{|z{||{{{{|{{{z{{{||{{||z{{{{{{|{{{|{|||z{{zy{zz{{{{z{|{{z{|{zyz||{{||{{|{{zzyz{{{{|{{{|{}z{z{{{{{{{{|{|{z{zzzz{{{{|{|}|zz{z|{{{{{{|{||{{{z{zzz{|{{{||}||z{{{{{z|z||z{||{z{|z{z{{|||{|||z{{{{z{z{}{{|||}{{{|{z{||||||{|||{{||z{{}|||{}{||{z{{{|{||}|{||}{|||z|{||}{||}}||{z|z{|z||||}}{{||{|{{{||}|{|||}{||zz}{|||||}||{|{z{{|||{}|||||||{{{z||z|}||{||||{{{||||{|{{|{|||{|{||{z||{|{|||{{{{{|{|{}||{{|{|{z|{{{{{|{|{{{||{{z{z{{{z|{|||}|||||{{{||~}||{|{|{||{{{{{|{{}}}||{{{{{{|}|}{|{{|{{{|z|{|{|}|{{|{{{{zzz{||{{|~{|{|{|{||{||||||||{{{|{zz{{|||}{{|{{{{{|{{|{{{{|{{{{{{zz|{{{{||{|{|{{{{{{{{||{|{|||{zz{zz{|z{|{||{{{{{{y{z||{{{|{{z{{z{zzz{|{{||{{{{{z|{z{{{||{||{|{{z{z{{{{|{{|}|{{|{{{|{|{{|{||{{{{|zz{z||||}||{||{z|zz|{|{|{{|||{z|{{{||||}|{||{{{{{||{||||z{|}{{|{|z|z}|}}|}{}||{{{||{||||{|}}{{|{{{z|||}}||}|}{|||||z|}|}||}||{{|z|{||||}}}}}|}||||{||}~|||}}|z|||{}|||}}}}||}{{||{{{|}}|}}|||||||{|}|||||}}|||{{|{||{|{||{{}||{{z{{z|||||{||{{|{{{{z}||{{{{}|{z||{|{||}}|||~{{|{{{z{}{|{}{}}|{{{{{z{{{|{|{||{z{|{z{|z|{}||||{{|zzz|{||}||{{||{{{zzz||||{|{}{{{|{z{{zz{|{{|}{|zzz{{z{{{{{}{|{|z{z{{z|{{{{|{z{{{{z{{y{{|{{|{||{{{z{z{||{{{{|||{{z{z{{{{||{z|||{|{zz{{{{{{|{||{{{{{{{z{||||{{{|{{{{|z{{{}}|||{{{{||{{|{}||{||}||{{{{z{{|||{{|}|{z{{z{|{|}{|||{{{z|{{|z{{|}{|{||{{z|{{{||{|{|}{}||{{{z{{{||}|||||{{||z{||}|}||{||z|{||{||||{{|}|}{|{{||{{}{|}}||{{|{|{|{||{||||}}{{z|{{{|~||}|||}z{|{{||}~|}}}||{{|{|{||||||||}||{{|||{||{|{|}}}||{{||{|{{z||||||{{|{{{{||z}||}z||{{{{{||||||{||||{{|{{|{||||||}{||||{z{{|||{}}}z{{{||{|{||||||{}zz|{|z{{|||{z}{|{{{{{|z|{}{{{{}{{|z{{{{{|{{{|||{{|zzz{{|{}{{{{z{{{{z{{{{{z|||||z{z{{{{{{|{z{{|{|{zzz{{z{|{|{|{|z{{|zz{{{|z|{{|{{{|y{{{{{|{{|{{{z{{z{z{{{||{{{{|z{z{{{{z{|{|{{|{{|{y{z{{|{|{{{||{{{z{{|{||||||||{{{{z{{z{|||{{|{{{|{{{{z{|}||{||{{|{{{zz{{{{{{}{{{{{|{{{|{||{||||{{{|{z{{||{||||{{{|{||{{|{||{}|{{{{{z{{|||{|||||{{{|{|{|}|||{}}{{{{{||||||||}||}{|{|{||{}|}}}|||{||{{|{||{||}||{|z|||{{{{{|}|||||{{{||{|||||||}{z{{z|{{||{}{||}{|{{|{{{{|{|{|{{{{{{{{{{|{{{{||}|}{|{z|{{}}{{|}||{{{z{{{{||||||}|{{z{{{{{|{{|||}{|{z{{{|||}}{||}|{{{z{{{{{}{{|{{{{{zz{{{{||{{||||{{{|z|{||}{||{{{{{{{{{z{{{|{|{|{{z{{{zy{|||{{{{{z{zz{zz{{|z|||z{{zzz|zz{{{{{{}|{z{zzz|{|{|z{||z{z{z{{zz{|||{{{||z{{{{{z||{||{|{{{|{{{{|||||{{{}{z{{z{{{{{||||{{z}{{z{{z||}{{{{||{{{{{{{{{|{{|{{{{{|{zz{|{|{{{||z{{{{{z{|{|||{{{{z|{z{|z{{|}{}||{z||{{|{{{{}|||{{{|{{z{{{||{||||{{{z{{{{||{{|||}{{||{}|{||||}}|}|||{{|{{{|||||}}|||{{{|{||||{||}}{||{{{|{|{|||}||{{{||{|}{}||{|||{}{z{{{}|||}|}|}{|{{{{|{{{|||||||{z{z|z{{|{{}||{{{|{{{{||}|{||||{|{|{{|||}{|||||{{{{|{{||{{|}|}|{|{{{{z{||}{{||{{{z{|zz||||{|||z{|z{zzz{|{{{}|{{zz{{{zz|||{{|{{|{z|z{{z{z{||{z}{{zz{z{{z{{{{{||z{{zz{{{z{|{{|||z{zzz{{{{||{|}|}{zz{{|{zz{{{||{{z{{{{|{{z|{{{|{|zz|zz{{z{{{{{|{|{z{z{{{{{{||{|{|{{{{{zz|{|{{|||}z{{z{z|{||{||||{z{{||z|{{|||||{||{{z|{zz}}||{||{{{z{|{{{{||{|{|{{{{z{|{{{|}|||||{|{|{||{||{|{{{||{{{{{{{|||{||}}|{{|{{{{}||{}||}|{|{{|{|||||}||}|{||{|{|{|{}|}||||||{{{|}|}|}|}|||{{{{{||{{|}||{|||{||{{{|{{}|{|{{{{|||z||{||~|||{z{{zz{|}||||{{{{{{{{{{{|{{{{|}{|z{{z{|{||{||}|{||z|{{{z}|||}||{{zz{z|{{{||{{}||{{{{z{z{{||z{|z{{{{{{{z|{||||||z{{z{z{{{{{|||{|{{{{z{z{||{{z|{|zz{z{{z{|zz{{{||zz{{z{zzz{|z{{{{zzz{z{yzz{{{|{||{y{{zy{z{|{{||||{{{{z{{{y{{{|z{z{zz{{yzz{{z{z{|{y{{{|{{{{{|{|{}||{z{{zz{z{{|{{{|{||{{{||{{{z{{|}z|{{z{{{{}|z|||{{{z{|z{zz{{|{{||z{|{{z{{||||{{||{z{{{|{|{||||{{{{{|{{{{z{|||{}{|||{{|{z{{{|}||||{|z{zz{z{||{||}||{||{{{{||{{{{}|{{|{{{|{|{{{{}}{||{{{||{|{{||}||{{|||z|{||||{}||{{{|{|{z{||{{|}|{||{{|{{{||}|{|}{|{z{{{|{}{|{||{z{{z{{{{|||{{{{|{{{zzz|{z{{{z}|}{{||||{{|}||||||}{{||z{|{|}{|}|||z{|{{{{|||{|||||{|{{{z{{{|||{}z||}z{z{|{|{{||||{{{|{{{z{|z{|||z}{{{|zzz{{|{{{|||{{{{{{z{{z{}{||z{{{{z{z{{||{{|{z{z{{{zz|z|||||{zz{zz{z|{{|{{|{|{{z{zy{{{{{{{|{|{|{zz|{zz{{{{|{{zz{zz{z{|{||||}|{{{{zz{{{{|{{|{}{{|z{z{{z|{{||||{|{{|{{z{||{{|{}{{|{{zz|{{{}|{|z{{{|{z|{|||{|||{||zz{zz{{||{||{{||z{{|{{}|{|||{|{{{{||{z||{{||||{{{|{z{|{|||||}|{{{{{{}{|}||{|}||{|{{|||||{||||}|{{{|{||{}|{||}|||||{{{{{|{|{|}}|{{{|||||{{|||}}z||z{{{|}{{}|||}{|||||{z|{{|||}|||||{z{{z|{|||||z|{|{z{zz{||{~|}|{|{{{z{}}}|{{||||{||||{|}||}{}|||{{{||{||}||{|}|{{{|z|{|{{|{||{{{{z{z|y|||||{|}z{{{zz{{z||{|}|{{{{|{{{z{|{{{}|||{z{z{||{z{{|{|}{{z{{{{{{{||}||z{{zzzz{{{||z|{}|{z{z{{z{|||||z||{{{{|{z{{{|{{{|{{{{{{{{z{{{|{|||z{{|{|zy|z{{|||{{z{{{{{{{||{}|}|{{{||{||{|||{|{|zz{{{{{{{|}y|}|{{{z{|{{{{|}|{||{{{{{{zz{||||{||{|zz{{|{{|{||{||||{|{|{{||||}}}|||{{{|||{|||{{|||}{||{||{||{|}|||||{|||||||||{||}|||{|}{|||{|}||}||||{||{{}||}}|}}|{{{|}|||{||}}}|{|{{{{||}}|||~}||{||z{{}|}}|}}~||{{{{{{|{|||{}||{{{{{|yz{{||{||{{{{|z{{|}{{{}}|{|{|}|||{{||{}||||{{z{{{|{||}||}||zzz|{{|||{}{||{{{z{z{{|||{{||}|{||{{z{{{||z|{|{{z{{{{z{||{{|{{|{{{{{{{{{|{|}{|{{{|{{z{||{|{{||{z{z{zz{{{{||||z{{{z{|z|{{{{{{|||{{zzzz{{|{|{{|{{{{{{|{{|{z{|{{{{{|z{z{{{{{{||{|{z{|{{{z|{{|{{||{zz|{{z{{{|{{{|||z|z{{|{|{{{||||{z|{{{{z{||{|}{|{{{|{{z{{|{{{|||{{|{zz{{{||||||{}|{{|{{{|{{{{{}|{z|{z{{{||||{}||{|{{{{{{|{{|||}|{{{|{{{|{}|}|||||{|{{{{{}||{{||}|||{{|{|}}|||}}}||{|{{|{|}|}|}}|}{z}{|||||}|}||}|z{{{{{||||||}}|}|{{|{{||{||||||{z{z{{{|{|{||}||{{{|{|{{{||}}|||{|{{{{{z{|||{}||{|{}||{{||}}}{||}||{|{{||||{|}||||{{{||{||{||}}|{y||{{{{{{|}{{|{|||zz{{{{|{|||||z|{z{{{z{||{|{|||||z{{{{{{||||{{{yz{zz{z{{{|{{{{{{z{zzzz|{|{|||||{{zzz{{{z{{{|}z|z|{z{zzz{|{{{||zz{|zz{z{{|{|{{{|{{{{{z{z{{{{|{|{{{{{{{{{||{||{||{{{{{{{|{|||{|||z{z{|z|{|{}z{||z{|{zzz{|{}|{|{}|{{z{{{{||||||{{{{{{{|{{{|{|{{}||{{{|{z|{|{|||{}{||z{|||z{||}|||{|{{|{|{{||}}|{||{|{z{|{|||||||||{{||{||}|}{|||}{{{|}}||}|}}|}|||{{{||z|z||||}|}|||||{{|||}||}|||{z{{|{{|{|{||~|}||{{|{||||||}|}|{{{{|{{||||{{|}{{{|{{{{{||{|}|||{|z{{|{{{|z||}|{}{{}{|{|}|~|||{|||{{{{{|||||}}||{|{{{{{||||{|}{|{|{zz{{||||||||{{{{{{z{{|||{{{|{{{{{{|{{|||||||||{{{z{{{{|{|{|{z{zzz{{z|{{{z|||{{zzzz{z{{{{{z|{{{z{z{zz{{{{{{|{{{{{z{{{{{{{z{|}{{{|z{zzz|{z{{{{}{z{z{{{{{{{{{{{z{{{|{zz{||{z|{{{zz{{{{{{}|{|||||{|zz{|{{{{{z|||{{{{|{z{||z{{{{|{{z{|{{z{{{{||||{z|z{{{z{|||{|||{{z{{{{{||{{|||||{z{{z{{{|{|{||}{{{{{{{{{{{|}|||{{{{z{{{{|}{|||{}{{{{|z{}}{||}|||{|z|{{|||||||}||{{z|{{{{}||||}||{|{{|{{||{||}||}|z{{{{{||||{}}|||||{|{{}{{}||}|}{{{{|{{{}|||||{{{{{{{{{}|||{{||{z{{|{zz{||z{{{|||{||||{|}||||||{|{||{|{{||||{||}{{{{z{{||{|}|{{{{{{{{z||{|{||||{|{zz{zz{{{}{{|{{z{zz{{{|{{{{|||{{{zzzzz|{}z|{|{z{{z{{zz|z{|||||{z{z{z{{z{{|{||{{{{z{{{{z|{{||{{zzzzzzyyz{}{{|{|||z{zz{zz{{{{{{{|{{zzzz{z{{{|{}{z{zyz{{zz{{{|{}{{{{{{{{z{{|{|{{|{{|{zz{{{|{{{||}z{z{{{|z{|{{{}{|zz{{{z{z|{|}||||{z{z{z{z{||{{{||||{{{{{{{||{{|||{{|{{{{{{|{||{|}{{|{z||{|||||}{}{|{{{|{{{||||{}||z{{|||{|||{|}|}|{{{{{||||||||{||||{{{z|||}}}}|||{|{{{{{|||||{|||{|||{|{|||{}{||||{{||{|}{{|}}}|{||{|{{|{||{{||{z||{{z{z|{{}|{|{z{zz{|{z{{{{{}}|||||}{||{}}||||}||z|{z{{|{|{}|{}|{{{{||||||{|||||{{{{z{|||{|{{|{|{{{{{{z{{{||{{|{z{{|{{zz{|{z|||{{zyz{z{{|{{{||{z{{{zz{z{zz{z||{|{{zyzzz{{{{||{{{{{zzzy{{{{{|{}|{{{{{{z{{||{||||{z{z{z{{{||{|{{|{|{zz{z{{{{|{{|{{z{z{{{{|{{{||{z{{zz{z{zz||{{{|}{{{{|z|||{{{||{|{||{{|zz{|{|||{{zz{{{z{{{{{|||{{{{{{{{{{||||{{||{z|{{z|{{||{{}|{|{z{{z{|{||}||}|{{{{||z{|}|||{||{{{{{{{{{||||||{|zz{{{{{|}{||{}||{{{{||||||||~}}|{{{{{|{|||}|||||{{|{{{||{}|||||{{|}|{|||||||{|}||{|{{{|}|||{|||{{{z{{{{||||||}{{|z|{{{{{|{|{||}|z|{{{z{{z|{||}}{||z|{|||}|{||||{|}{{{{z{|}|}}}||{{|{{|{||{||{}|{z|{{{{{{{|||{|{{{|{{{{||z{|{{|||{|{z}{z{||{{{|{{{{{{{|zz|{{{z|{{{{zz{{z|{|{{{|{{zz{zy{z{|{|z{}zzz{{zzzzz{{{|{{|z{|{zz{z{{{||{{{{zzyzzzz{{{{{z{{{{{zzzz{{{{z{|{{{{{z{{{z{|||{|{}|{{z{z{{{||{z|||z{z{{{{{{|{|{|{{{|{{{{{||||{||{|{{{z{zz{{||z{{{{z{zzzz{|{|||{{}zz{{{{{{z{|{{||}{{z{{z{z||{||||{}|{{z|{{z{||||{|||z|{{z{z|||||{|||{{{{{{{|||{||||{z{{z{{|}||}|}|||{{|{||||}|||}}||{{{|{|{||{|{||{|{{{{|{|{}|||||~{{{{|{{||||||||||{zz{zz{{|{|{||{{{z{{zzz||||{{||{{{z{z{{{|{{{|}}}||{|{}|{|||{|}}||{|{||{||}|}}}}~|{{{{{z}{||||{{{{{{{{{{{|{|{{}{}{zz{z{z{|{{|{||{{{z|z{{{{z{{|||{{{{{{{{{||{{{|{{z{y{{{{||{{{|{{{{zz{z{{{{{{|{|{z{|{z|{{{{{{{{||{{{|z{z{{||{{{||{z{{z{{{{{z{{z{{{{zz{|z{||z|{|{{z|{zz{z{{{{|{||{{{{z{z{{{{{{{||{|{{zzz{||{{{|||}{{z{z{z{{||}{|{|{{{{{z{{{{||||||z{{z{z{z|||||{}||{{{z{{{|||||||{{{{|{{z{{|{|||||{{|{z{|{{|{|z|||{{{{zz{{|||{|{|||{{{{z|{|||||}|}{{{|{{||{|{|{}}||{{{{|z{|}{||}{||{||{{{{|||{||||{|{z|z||{|{|}|}||{|{|{{z|||||}|}{{{{{|{{|||||}{{{|zz|{{|{|||{{|z{z{zz{{zz{|{{|}}}{|{{{}|}}}|}|||{|||{{{{{}}{|}|}{{{{{||{||{{||{||z||{{{{|{{{{{|{||{{zyzz||||||{}{z|{{z{zz|{|{|{z{{{{|y{z|{{{{|{{z{{{z{{z{z{|{|zz{y{{yyz{{{{{{|{z|{zzzz{{z{{{|z||{zz{zzzz{{||||{{{{{{{{{z{{{{z{|{{zz{z{|z{{{z|}||y{{z{{zz{|{{{{|{{|{{{yz|{{{{{{{|{{}|zz{{z{{z{|{|{zz{{{z{{{|||{{|{z{{z{{z{|{|{|{{z{|z{z|{{{{{z{}||z{zz{z||{z|{||{{{{{{{{{||||{|{|{||{|{{{||{{|}|{{{|{z{{{{{|||||{|{{|{|||{||{{{||||||{{{z{|{|{}||{|{{{{{|{}||||||{{{|{z{z||{|||~}|z{{|{|{||{{|}|{|{{{}{|{{|||{{}|{|{{z{{{{|{||{||{{{{{{{z|{||{||||{{zzyzz{|{||||}}}||}|}||}|}}}~}}{|||{{}{|{}|}||{z|zz|||{{||||||{{{{{{{z|||||{|{|{{{{{{z||||||{}{{{z{{|z||{{{|||{{|z{zzz{{{|{{||{{{{{{{{{{z|||||z{{z{{{z{{|{{{|{|{{{zzz{{{{{|{||{z{{z|{{{z{{}{||z{{z{{{zzz{z{{{zzzz{{z{{||{{{{}{{{{{z{{z{{|{{|{|{{{{{zz{{{|{{|}{{{{{{z{{{{|{{|||{{{{{{{{{|}{{{|||{{{{z{zz{{|||{|{{|{{{{z{{{|||}{{{{{{zz|{{|{|{|{{{{z{|{|||}}|}|}{|||{{|{|{{|{{|||{{{z|{{||||z|}||{{z{{{|}{}|{|}{{{|{{||{||{|||{}||{|{{|{|}||||}|||{{{{|{|||||||||{||{{{{{}||||}|{{{{||{{||}|}||||{{{zz|{{|||||||{}{|{{{z{{|||||{|{{|{|{{{|{{|}~}}}|||||{}||||||}||{|{{{||{|||||}|{{|{{z{|{|{{||}{{z{{{y{{{||{||{{{{{{z{z{{|{||{}z{{{z|{{{||{{|{{{{z{{{{y{{|{z{{}z{z{{zzz{{|{{{z|z|z{{z{{zz{{z||{{{z{{{zzz{{z{{{|{|{{{z{z{{{|{|{{{{{zzz{{{{|{{{{|{{|zz{{{z|{|{|{|{|{z{{z{{{{z{{{{{zzz|{{{{||z||}|{z|{{||z|{|||{{|{z{{{{{{|{{{{z||{{z{|{z{{{|{||{{{{{{{z|{||{{||}{{z{|z{{{||||||{{{{{{{z{{{}|||{}||{{z{{||z{{|{|}|{||{{|z{|||{|}|{}{{|{{{||||{|}|z|{|{{|||{{}||}||||{||{|{|}{||||||{{{{|{{|||{}|||{{{|{|{{||||||{|}{{{|{{||}{{|||}|z|z{{|{z|||{||||{z{{{z{{{{||{|{{{zz{z{z{||z||~}||{}|{||||}|}|}||{|{|{||{|{|{}}}||{|{{zz|||||}|||{{zz{z{||||{|{{|{{{zz{z|||{||{}{{|{z{|{{||{{z|{{{zzz{{{||{z|||{||{{{zz{zz|{{|z|z{{z{zzz{{{|{{||{{z{y{{{{|{||{{{||{{z{{{y{z{{|||{{zz{z{z{{{|{{z{{z{z{z{z{{{{{||{|zz{z{zy{|||{|{{|{zz{zy{|{|{|{||{{z{z{{z{||||{{{{{{z{{{{{|{|{|||{||z{{{z{||{||{|{zz{z{{{|{|||z}||{zz|z{{{{||{|{|{{}|z{{z{{|||||}{{{{{{z||{{{{|||||{{{{z{{{|||||||{{{{{{{}{|{|}|{{{{{||||}{|||}}|||{||{|||}|}||||{|||||{{||||z||}|{{||{{|}|||}}|||{z{|}{{|{||{|}|{{{z{z{||{||||}|}{{z{{{{|}{|{||{|z{{{{zzz{|z{}~~||||}}|}|||}{|}~||{|{|||||}}|}|||{{{|||{|||{||||{{{{||{{|z||{{|||{{{z|{z{{|{|{|{|{{z{z|{{|{|{||{|{{z{{z{{{}{{{{|{{{{{z{z{{z{{{{|zz{|{zz{{{{z{{|{{z{z{{{{z{{{{{{{|{{zz{{{z{||{{{{|{z{{zyzz{{z{{{|{{z|{zzzz{{{{|{|{{{z{{{zz|z||||{|{{z{{|{z||{z|||z{|{{z{zz{{|||||{{|{{{{{{|{||}}{|{{{|z{{z{{{}{{|{{z{z{z{{|||{||{{z{{{{zz{||{{|||{|{{{z{{{||}||{|{|{{{{||{||{|}}||z{||{{{}||{|}|{|{|{{{|{{{}||||||{||||||{|{}}}|||{|{}{}|}}|}||}|{{{|{{{}|||||||||{{{{{{|{}||||||{{{{{|{{|{{{|{}}{{|z{{{|||{{||}}||{{{z|z||{{{{{{{z|{|zz{|{{{|}~~|}{||}||}}|||}||}|{{|z{|||||||}}{|{z{{||{||{}|||{||{{{{{{|||{{|}{{{{{{{z{{|||||||zz{{{|{{|z{|{||{{|zzz{{{{|{z|{{|z{{z{{{z|{{{{{{zzzyz{y{zzz|{{||z{zzzzz{|||{|{{{{z{{z{y{|{||{||{|{{{|{{z{{{{{||{|{{z|{{z{|{{|{{{{{z{z{{{{|{||{{|{zz{{z{{{{{{{|||{{{{{{{{{|{z{||{|{{{{{{{||{||{}||{|z{{zz{||{|||{{z|{{}{{|||{|||{{{{{{{{{|{|z|||{|{{|{{z{{||||{||{{|{{z|{||{||{||{z|||{{{||{}{{|||zz{|{{{{}|{{|}|{z{{{{{{||{{{||{|{{{{{{|||{|{||||{{{{{||}|||||{|z|{|{{{||||}{|}}{{{||{{{|{|{}||}||{zz{{{{|{{{|||{|{{zz{||{|||{{|{{z{|{{{|{|{|}|}|~}}{||{||}}}}|||{{}||{|}}|}|}|}|{z|{||{||{|||||{z|{{z{{{|||z{|||{|z{{{y||{{|{|}{{{{{zzz{|||{{{{{z|z{{z{{{|{{{z||y{{{z{z{|{{|{|{z{{z{zz{{|{{{{|z{zzz{zzz{z{{{{||{{{{zz{{{|{{|{{zz{{zz{{zz{{z|{{|{{zz{|{z{{{|||||zz{{{z{{{{|{{||{{z{{y{{{{||{{|{}{|z{z{{||{|{{||||zzz{{zz||{{{|}|{z{{{zz{{||{{|||{{{z{{{{|{|{|{}|z||{{z{{{||{{||{{{{{{z{{z|{|z{||{|{{|{|{|{||||||{|{{z{{z{||}{}}{|{{{|{|{|||||}}}{|||||{{{{||{}{|}{||{{||{}{}{}||}{|||z{||}{|||}}{{{{|{{{|{|||{||{z{{|{z{|{||{|{|{|{{{|{{||{|{}|||{z||{{{{|{|{{{{z{{{z{{z||||||~}~}|{}||||}|}|{|}}||}{||||||}}|}{{||{z{z|{z{{{|}||{{{|{z{{{{||{{|{{zyz{{z{||{{||||{||{z{z{{{|{{{{{{{yzyzy||{z{{{{{|{{{zz|||||{|{{zzzz{z{z|z|z{||{z{{zz|z{|||{{|{{|z{{{zzz||{{||||{{zz{z{yz{{{|{||{{|zz{zz{{z{{{|{{{{zz{{z{{{||||{{{z{{zz{{{{z{{||{{{{{{{|{{{{{}{|{{{z{{{{{{||{{||{{{{{{{zz||{{{||{{{z{z{{{{|{{{|{{{{{{|z{{{||{|{|{{{{{z{z{||||}||{|{{{{||{|||{{|{z{{{{{{z{}{|||||~{|{z|{{|}|||||||{|{{{|{{||||||||zz{|{{{||{{|||{|{|}{{{|{||}{||||{|{{||{||||{}||{{{{|{{{||z{|||||{{{{{{{z|{|||||{z|{z{|{{|{}{||z{{{{{{z{{{{|{}}}~}}||}{}}}||}}}{||}}||{{}||}|}}|{}{{|{{||}{|||{|{{{|zz|{|{|{|||zzz{z{|{{|{{|||{||{z{z{{{|{{|{{{{{{{{z{z|{{z{{|{{z{z{zzz{{{{{|{|z{z{z{{{{z||{|z{{{|z{z{zzz{z|{{{z{{zzzz{{{{{|{||{{{z{z{zz|{{{{{|{{|zz{{{z|{{{|||{{z{}{zy|{|{||||{{{{{z{z{|{{{||{{{{{{{{z{|{||{{|{{{{{z{z{||{{|||{{|{{z{z|{{{~|{{{{|{{{{{{|{{{{|{{{{{{zz{|{|z{|||{{z{z{{z|{{||{||{{{|{|{{|{{{|||||z{{|{|{{|{||{|{}{{|{{{{||||||}|{{zz||{{|}{||||||{|{{|{{{}|||||}|{{|y{|{|}}||}|||{{{z|{}|||||||||{|{|{z|}|||{|{|{z{{{z|{|||||{||{{{{{{|{|{|}{{|}{{{{|z{z|||{|~|~}}}}}}||}}}}|||}}{{||{{{||}||||||{{{{{|z||}{|||{||}|{|{}{||}{|{||{z{{z{z|{}{{|||{{z{{{z{{{|{{|{{|z{|z{zz{|{{{{||{zz{{|z{{{{{{||{{{{{zz{{z{|z{{|{{{z{{|{z{|{{||{z{zz{z{{zz{{{{{|{{z{{zy{z{|{{{{{z|{{{z{{zz{|{{|{{{{zzz{{{z{|z|||{{{{z{{y{|||{{{||{|{{zz{|{{|{{|{{{{{|{z{z{{{{||||{{{z{|z{{{|{||{||{{{|z{{{{}{|{}{{{{|{z{{|}{|{{{{{{|||{{|||{|||||z{{{{{{{|{}|{|}{||||{{{z{|}||}|{||z{z{z{{}|{|||}{{{|{|{{{||{|}|||{{{{|{z|||{||||{{{|{{{{{||||{|}|{{{{{{{||{|{{}|{|{||{{|||||{z}|||{{|{{|{{{{||||{{{{{z{{{|}|{{|||{{{z{{{z{{||}~~}}||~}|||}|}~}|~|{||||{{}}}||}|||{|{{|{{}||{{||||{{{{{{{||{|{||}{|{|{{|zz{{|{{{{{|{{{zzyz{|{{z|{{z|zz{zz{{{{|{{{z{{z{{z{{z|{z{z{{zz{{{zz{{{{{{|{{{{{z{{{{z{||{||{|{{|{{zz{z|{||{{|{zzzz{|{{{{||{{{{{{{{{z|{{|||{{z{z{z{{{{{|{}z|{z{{{z{{{|{{|||{|||{zy{{|{|{{{{{{zz{{z|z|{{{{|||{{{{{z{{{{||{|{{{zz{{z{y{{{|||||{{{{|{{{{|{z{{{||{{z|{{{{{|||{|}{{{z{{{{{||}||}}{{}||{z{{{{|{|{{|z|{{z{{{|{|||}|{||||{|{{}||{|{||{|||{|{||||||||||||z|z||{||||}||{{{{{{{||{|||||{{||||{||}|||}}||{{{{{{{{||||{||}z{{{z|{|{{{|z{|z{|z{{zzz|{{{~~~|}~}}}||}}}}~}}~|{||{{{{}|}||||}}||z|{}{}{|{}{|||{{{{||{{||}{||{|{{{z|{{}||{|~{|{{{{z|{z|{{{|{|{{{{{z{z{|||{{|{||z{{{|{z|zz{{{{{{|zy{z{z||z|{|{{z{{{z{z{||||||{|zz|{z{{{{|{{{{||{zzz{z{z{||{{{{{{{{{{{z{{{z{|||{{{|{|zzz{|{|||||{{zzz{{{{|||{{{||{|{{{{{||||||{|{{|{zz{{{|{|||{{{{{{{{z{{{||{||{{|{{|{{{||{||{|{{{{{{{{{{|{|{{{|{|||{{||}|||||{}|{{{{{|z{{{|||||{{{|{{{|{{|}{|}|{{|||{{{|{||{|{|||{{|{||{}|}|||||{{{{|}{|}|||}||||{|{{{|||{||}||{{|{|{{{{||}||||}||{|{{|}|{||||}|{|{{||{{{{|||}}|{{{{z{{{{||}||||||z{{|z{z|||~~}}}}|}~}~~~}}}}|}}}}|{{|}{|||}}|||z{|||{||||}|}}||{z{{||{|||{|||z{{{{zzz{|}{{{z|{{{{z{|{z{|||{{||{{zz{{zz{|{z{{||{zz{z{{{{z{z|{{{{{zzzzz{{|{{{|{{z{z{{z{{{{z|{{|z|{zzz{zz||{|{|{{{{{zz{z{{|{z{||{{{y{{{{{{{z|{|{{z{{zz{zz{|{{{{||{z{{z{|{||{z{|||{|{{z{|||{|{|||{{|{{{{{}||{}{||{{|||{|z{|}|}||{{{{{zz{z|||||{}{|zz|{{z{{|{|{||{{|{{{|z{{{{|{}|{{z{|||{{{}|{|{|}|{|||z{{||{||}{|z|{{{z|{{}|||}|}{z|{{||{{{||}}||}|{{{{{|{}|{|||}|{|{{{{{|||{|}||{{{||{||{||}|{}||{{|{|{}|}z|||||{|{{{|{{{|{|{|}|{|z{{{|{{{|||||{{{yz{{z|{{{|{~~}}}~|}||}}}~}}|}}}{}|||{||}|||}}|||{|{|{{|||||{|||{z{z|{{{{|||}{||{{z{{{|{||{{{|z{|zz||y{|{{{}{{{{z{zz{{||{{z{|{{{{{y{z{{|z{{{|{{z{{zzy{{{{{{|{{{{{{z|zz{{|||z{|z{{{zz{y{{{{{{{|{{z{{z{{{z{z{||||{{z{{z{{||{|}{|{zz{|{{{|{{{}||{{{{z{z{{{{{|{{|}{{{{{{{{{{{|{|||||{zz{z|{{|{|{{|{{|{{z|{{|||{||||z{z|{{{||||{||||{{{{{{z{{{|{|||{{{|{z{{|||||}||{{||{|{|{|z{||||||{||{{z{||||{|{|{{|{{{{|{||{||{||||z|{{{||||}|||||{||{{{}|||}||{{{||{{{||~||}|||{{{|{||{{||||||||{{|{{{{|}|||}}||z{|{||{|{||}|{||{z{z|{{{}{|{{||{{{{{{{{{{{|~}~~~|}}||~~~}}}}|||||||||{}~}|||}||{{{|{||}{|{}}|{z{||{}|||||{}|{{{{{{{z|{||{|||{|{{{{{z{{{{{}|{{{{{{{{|{{|{{{{|{z|{{z{{|{|{{{|{zz{z{{z{z{{|{{||{z{{{{z{||||{{{||{|zy{{{{||{{{{{|{{{{z|zy{{{||{|{|{{yz|z{|||{{|{|||{{{z{{{{|{{||z|{{{{zz{|}|{{||{{{{z{{z{||{|{||{z{{{{z{||||{|||z{|{|{{{||}{z{||{{{{z{|{{{{|||}{|{{|{{{{||}{{|{||{||{{{|{{||{}|||}|{|z|{{{{|{}||{{{{{{{{{|||||{{|{{{|{{{||||}||||{{z{|{||||||||{|||{|{|{|||}|||}|{|||{||||}||{|||{{{{{{{|{{{|}}}|z{{{{|{|{||||}||{z{||z{||{|{|||||{|{z|z{|{|{{}{|{{z|{{z{{{||~|}~~}}}|~}|~~}}}}||z||}||}|}}}}|{||{||}|||}{}}||{|||{z|}|||{{}{{{|{{zzz{{{|{|{|z{z{z|{{|}{{|||{{||z{y{{z{{||||{|{z{zz{{{{{|{|||zz{{{{zz|{{{{|{{{z{{z{z{|{|{|{||{|{zz{z{{|||{||{|{{{{{{{{{{{||{|{{z{{{{z{||{{|{|zz{{{{{z|{z|{{||{{{{{{{z{|{|{||{|{{{z{z{{|{|{{{|{{{|{z{z|{|{|{||{{{{{{{{{{||z|||{{z{|{{z|{||{|}{|{{{{{|{{{{{{{||}|{||{|||{||}|||{{{{|{{||||||||{|{{{{|{{||}{|||||z{}|{{{||{{}||||||{||||{|}|||||{{|{{}|{{}}}|}|||{{}|{|{{||||||||{||{{{{{{{||}||{{{{{{{{}|{|||}}z{{{{{{{{||||{}||{|{{{|{{{{|||||{{|z{{|{|{{|z~~}}~~}}~}}}~}}~}||||{|{||}}||}}}{|{{|{|}|||||}}|{||z{{|{||||{|{|{{{{{{{{|||||||{{{||{z{{|{|{|{{|{zz{{z{{z{{|{|{{z{zz{z{{{{{||{{{{{zz{{z||{{{{{|{{{{z{z{{{|{{{|z{{{{{{z{|{|||||{|{|z{z{{{{{{{|{{{{{{{z{{{{{{{{||{{|{z|z{{|{||{|||{z{|z{z{{{|{|{|{z{{|{}z{||{|{||{z{{{zz{||{{|||{{z|{{z|{{|{|{|{||z{{{{{||{{|{|}{{{|{||{{|{|{|{||{zz{{z{{{||}|}}|{|{{|{|{{|{||||||{{|{|{{{|}}|||z}z|{{{}{|}||}||||{z|{|||{{{||||}|{{|{{{|{||{|||}|{|{{|{{||||{|}||z{||{z{||||||}||z{{||{||}}}||}|||{z{{{|{||{{|}|{|{|zz{{{}|||{||{|{{z{{y|{|||~}~~~~~~|}}|}}~~}}~{{|}{}{|||}||||{|{{{{|||{|{|{{{{{|z{{|{|{{{||{z|z{|{z{{|{{{{|{{{{{z{z{||{{|{{{z{{{zz{{{|{{{{{{{{{{z{zzz{{{{||zz{{z{{y{{{{{{|{{zzzz{z{{{{{|{||z{{{z|zz{z{||{|{{zz{z{z{|{{z{{{{|{{zz{z{{{{{{|{{zz||z{zzz{{|z|{{{z{{|z{|z{|{{|||{{{{z{{z|z{{z|{|{z{zz{z{{{|}||{|{{{|{z{z{{|{{|{{{z{{{zz{{|{|{{{||{{|{{{{{{{{{|{|{{{z{z|{||||{||{{{{{{{|{{|||{{|||z{{{{{{|||||{{||z{z{zz{|}||}||||||{{||{{|{||}}|{|z||{|{{|||}}}|{{{{{z|z{{||{{|{{z{{|{{{|{|{{{||{{{|{{{|{|||||{}|{{{{{{{|}{|{{}||{{zy{{{{||{z{||{z{{zzz{||{|{~~|~}~~}~~}~}}~|}|{||}}}||~}|}||{||{|{z|||}||{|||{{{{{||{}{|||z|z{z{z{{{{|{|}{{{{{z{z{|{{z{{||z|z{{{z{{|z{{z|z{{z{{{z{{{{{{{{zz{{zzz{{{{{|{|{y{{{z{y|{{{z|{z{{zzzzzzz{{|{{{}{{|{{z{z{{{{{{{{{|{{{{zz{z|{|||{zzy{z{{z{{{{{}{|{{{{{|z|z||{{{{|{{{{z{z{|{z{z{||{{{{zz{z|{{||{|z|{z{{{z{{{|{||{{{|{{{|{{{|{|||||{{z{{{{z{{|{|{|||{{{z{zz{{|||}}{{{|{{|{|{|{{||||}|{|{{|z{{|}{|{|}|{||{{{||||||{|}||{{{|{||||||{||||{{{{|||}|||||}||||{{{|||||{|{}|{{{zz{{{|||||}|{||{|{{||||||{{}|{{{zz{|{}|}|{{|{{{|{{{z{}{{{|}|{{{{{z{z{|{{{~~~~}|}}~}}}~~}|{|||||||||}{|}{|{{{{{{||{|}}||{z{{{{{{{z|{{{|||{|{zz|z{|{|{{{{{z{zzz{zz{{{{{|{zz{{zz{z{{{{||{|{{zzz{{z{{{{z{|{zy{{zzz{{z||zz{z{{zzzz{z{{|{|{{{{zzz{{zz{{z|z{|{{z{{zy{z{{{{z{|{{{{z{z{z{|{|{|{{{z|{zzzz{{|{{{|||zz{{y{{z|{{||{|{{{{{{z{||{||{{|zzzzz{zz{{|{z|||{{{{{{|z{{}|||{{{zz{z{z{{{{zz||||{zzzzz{{|{{{|{|{{{|{zz{{{||{|{|z{z|zz{|||{}{{{||{{{{{z||||{{|{||{{z{{{z||{z{{||{{{{{|||{|||{||{|{{{z|{{{}||{{||}{{|{{{{}||{|||z|{|{||{{{||{|{||||{{{{z{|||||||}{|{{z{z{||{|{{||{zz{z{{|{||{{{{|{{{z{z{z{{|{{~~}~}}}~}~~}~~||}}||{|}|||~|}}|z{||{{{{||||||{{}|z{{|{||{|{{||{z{z{zz{|||{|||{{{z{{{z{}{{||{|{z{{{zyz{{|{z|||{{{{{|zz||{||||zzzzzzzz{{{{{{||{{{z|{{y|z{{z||{|{|{{z{{z{{|{{{||{z{|zzzy{{{|z{{|{{{{{{{zz{{{{}{z{{{{{{{{{{{|||{|{{{{{{{z{||{{}{||{{zzz{{{{|||{}|{zzz{{|{|{||{||||z|{{{{{{|||{{|{{{{||{{yz|{{{{||{z|{|{z{{||{|{||{|{|{||{{}|||}||{{{{{z|{||{{|||||||{{{{z|||{||||{{{{||{z|||||{|{{{|{{{{{{|||||}|{{||{{{{{|||{||||{{|{{{||{||{}|{|{{{{{{|{{|{|}|}{|{||{z|{||{{|{}|{{{{{z{{|{{||||{{|{{{{y{||||||{{z{z{{zz{{}||~~~~}~}}~~~}}~}}||{{{}}}}|}|}}||{{|{{||{{|||}|{|{{{y{|{|{{{z||{z{zzz{{{}{{{{|}zz{{|{{z{|{{{|{{{z{{{zz{{||{{{{{{z{{zz{{{{{{{|{|{zzzz{z{z|{{|{{{{zz{{{yz{||{|||{{|zzzz{{{{|{{{|{{{z{{{zzz{{zz{||{z{z{zzz{|{|{||}{z{{{{{z{{{{{{||{zz{z{{{{z||{|}||{{z|zz|{|{|||{{z{{{{{z||{|||||{{||{{|{|{{||{|}||{|z{{{y{||{{|{|{{|{z{{{|||{|||{{{{{{{{{|{|||{|||{|{{||{{||z||||||{{{{{z|||||||}|{{{|{{{{||{{}{|{{|||{{||{|||||||{{{{{{{{||||}|}|{||z{{{|}||{|||{z{|{{{||}{|||}|}|{||{z{|{|||{|}|{zzz|zz{}|||{}||{{{zz{z{||{|{{{|{{{z|z{{{|||}~~}~}~}~}~~|}|}}}||~}}}}}~}|{||||z|||}||||{z|{z||{{{||{{|||{}zz{z{{|{z{|||{{{z{{{zz{|{{{{|{z{{{zz{{{|{{|{{{{{{yzzz{{{|{|{|{{{z{z{{{|||{z|{{{z{z{{z|z{{}|{{{|{{z{{z{{||{z|{{z{{{{{|{{{{{{|{{{{z{{|{z|z{{||{{{{|{{{z{{||{|||{z{{{z{|{||{z{|}||{z{z{z{{{{||{}z{{z{{{{{{{{|{||{z{{{{|{{}{{{}||{z{z{{{{{||||||{|{z{{{{{}|||{{{{|||{{{{{||||{|||{{{{{|{{|||{}||||z{{{{{{|||||||{}{|{z{z{||{|{}|}|z|{||{|{|||{||{|{{|{{|||}}}|}~}{|{||{{{}}||{}}||{{{{|{|{||||||}|{{{{|{{||||{|}||{{z{{z{z|{z|||{{{z|{{|{{||{{|||{|{|{{{|||||z~~~~~~~}}|||}}z{}|}}|}}|}|||{{{{{{|{{|||||{{z|{{z{|}{|{|{{{|zzz{{|{{|{|{}z{{z{|{z{{{zz{{|{|{z{{z{{{{{{{|{{|{z{{{z|{zz{||{{{{zz{z|{{{{{||{{z{zz{z{{z{z|{{{{{zz{{zz{{{|{||||zzzz{zz{{{{{{{{{|zz{{{z{{z|z|{}{z{z{z{z{{||{{||{{{z{y{{||{|{|||{{|{z{{{{|{{||{|{z{{z{{{{{{||}||||{z{zz{z||{{|}{{|{{{z{z|||{z|{||{|{z{{|{|{{{{{{|{{{{{{z||||||}{{|{{{{{{|{{|{||}|{z{{{{{{||}{|||{{||{{{{|}||{|}|{{|{z{||{|||{}}|||{{{{{|{}||||}|}{|{|{{{||{|}}|||{{{{z{{{||||z|||{{|z|{{{}|||{|{|{{zz|z{||{||{}{|{{z{z{z{{|}{|||{{{{zzzz{{|{z|~~~}~~}~~~|}}{}||||}}}|}}|{{|{{|{}|}}}}|}{|z{{{z||{{|{|z{{{z{{{{||{|||{|{{{{{{{{||z{{{|{{z{z{z{z{z|{{{{|{{z{zzzz|{{{{{{zzzz{{{{{|{|{|z||{{{{z{{{z{{{|{{{{z|{zzzz{{||{|}|z{{{|{{z{{|z{{{{}{{zzzzzz|{{{}|{z{{z{z|{{||{{{|||{{{{{z{||{{|{||z{{{zz{z{{{{|{{|z{|z{z{{{{{{}|||||{|zz||{||||}|||{{|{z{z{|{{|||{{{{|zz{{{|{{||||{|{{z|{{||||||||||{{z{{{{|{||||{|{z|zz|z|||||||||{|||{{||}|||}|}|{|{|{{{||{||||{||z||{|{{}|}|||||{{{{{{{}}||||{||{z||{{{{|||||}}|||{{{{{}||{}{||{|{{{z{|{|{||||||{{|z{{z{||}||||{{{{z{{{z|{|{}~}~}~~~}|}||}{}|}}|}|||z||{{|||||{{}|||{|{z{{{|{|{{|}{|{z{z{zz{||||}{|{{{{{{zz{||z{{|z{z{{|{{z{{{{|||{{{{{z{zz|{{{||{{z{{{zzzzz{{{||{|zz{z{{z{{{{{}|||{{{|z{{zz|||{|}{|{{zz{{z||{z{|}{z{{{{z{{{|{|{}{|{z{{{{zz{|||||||{{zz{{|{{{{{{|||{{{{{{|{{{{||{|{{{{{{z|{||||{|{|{z{{zzzz{{{{{|{|{{{{|{|||{||{||{{||{{{{{{||{{||||{|z{{{{{||}{}||{{|{{{{{{|{|||}}{z}{{yz{{||||{||{{|||{{z|{|{||||||{{{{}|||{|}{|||||||}{{||{|{||||{||{{{||||||||||{{||{||{{||||}}|}||{{{{{|}}{}|}{{{||{{{{|}||{}|||{{{{|z{|||{||||z|z{z{||||||~~~~~~}~~}}||}{{{}}}|}|}}}{|||z{{|||{|{|||{{{{z{|{}{{z||||{{{|{{{{|{|{||{z{zz{{{{{{|{{{|{{{{{zzzz|z{{{{||{{|zzz{z|{z{{{|{z{{z{{{{z|{{z||{zzz{zzz{z|{{||{|{{|zyzzz{{{||||{{z{{zzz{{{{z{|{{{{zzzz{{{{{{{{||z{{{{|zzzz{{{|{|z|{|z{z{{|{|{|{{{{{|z{{{{{{||||{{||{{{{z{{{|{{{|{z|{{z{{|||{|||{zzz{z{{z{|{{{||||{{z{{{{{{{{{|{|||zz|{zz|||{|}|{z{{{|{|{|{{|{{|||{{{{{|z{}||||}{{{{{{{z{}{}{{|||{{|{|||||}|{||||||{{{|{{||z}||||}{|{||{||{|}{}|{||{|||{{|||||{}}{|{{z|{{||||||{|||{z{{{{|}z|}{||z{{|z{|{||{||{}|{{|{{z|{|{{{{~}~}}||}|||{}}}}||||}{|{{{||}|{{{||||{{|{zz{z|}}{{|||{{zzz|{|{{}{|{|{{{{z|{{{||{{{|{{{{zzzzz{|z|{|{|{{{{z{z{z{|{||{}zzzy{zz{zz{{{{{z{z{{z{z{{||{{{{{{{{zz{z{z|{|z{|{{z|{{z{{{|{{z{|||zz{{|z{{{{{{|z{{z{z{z|zz{|{{||{{{{z{z{{{|{{||{||z{{{|z{||{||{||{{{{z{z{{{|{{|||z|}{|{{z{|{{|}|||{{z{{z{{|{||z||{|{{{{z{{|{|{|{|{z{{z{|{{{{|||||z{|{{z|{{|{|{||||{|{|zz|{|||||}{|{{{{z{{{|||}||{|{|z{{|{|||{||||}{{{||{|{}|}|}|{||{||||{|||||{}||{{{{{{|||||}||}}{{{||{{|{{|{}|}{|{{{{{{{||{{|}|||zz{{z{{|{||{|||{{{{z{{|{||{}~~~}}|}||||}}|}|}|}}|{z||{|||||{}|{||{|{{zz{||{}||{{{z{{{|{{|{{z||||z{|{zz{zz{|z{z|{{{{zzzzz|{|{|||{z{{{{z{zz{{{{{{{{z{z{{zz{|{{z||{{z{{{{z{{{|{{z{z{{z{zz{{{|{{{|{|{{{z{z{zy{|{z||{z{{z{{{zz|{{z{|{zy{z{|z{{|||||}{{{{{{{{zz{||||{{{{{{zz{{|{|{||||{{{{z{{|||{{{|{|||{|{z{z{{||{|{{{{{z{z{z{{{{|||{|{{{{{{{|||{|||{|{{{{{{{{|||||||{{z|{{{{|{|}{||||{{{{{z{{|}|z|||{z{{|{zz{||||{}|{|||{z{|||||||{||{{|{{|{|}|{{|{|{{||{{{{||{|||}||{|z{{{|{{|||}}}|{||{{{{|||}|{||{{{{{z{{{{{{{|||{{z{z||z||||{|{|zz{{{{z{{{|{|}}~~~|}~||||{~|}~|}}|{|{{|{|{{|{|}}|{{|{|z{|{|}|{|||{{{z{z|z{{||{||}{{{{{{{{{{|{{|{{{z{zz{{z{{{|{{||{{z{zzz{{z{{{{||z{z{{{{z{{{|{z|||z{{z{z{|{|{{{{{{{{{{{z{{||||{}||{zzz{{{z{|{{|}|{{{{{z{{|z{{{|{|{y{{{{zz||{{{||||z|z|z{z{|{{{{|}|{{{z{{z{|{|{{{|{{|{z{{{{|{||||{{{{{{{{z{|||||{{|{{{|{{{{{|||||||{{{{{z{|{|{{||}{{{zz{{{{|{}|}||z|{|{{}|{|{}{|||{{{|{||||{}||||||{{{|{{|{|{{|||||z|z|z{{||{|||||}||{{||{{{|}||}|{{z||z{|||||||||}{{{{{{{||{||{||||{{||{{|{z||||||z{{|{{{{|{|||||{{{{|{{{{{{{||||{z|z{{{{{{|{|~~}}~~~}|||||||}}|}|~}||{|{|{{}|||}||||{}{{z{|{{{}{{}{{|{{{z{{{|||{{{|z{{z{z{|{{{{{|{|z{{{z{z{|{|{z{|{z{{{z{z{{{z|{{{{{zy{zz{zz{{{{||{zzzzz{{{{{{|{|{|z{z|z{{z{z|||{|{{{{zz{{{|{zz{{{z{{{zzzzzz|{|{{{zzzzz{{{z{|{|{|{{{{{z{{z{{{{{}{|||z|{{{{z{{z|{{||{z{{{zz|{|||{|{|{z|{{z{z{|||||{||{{{{{{z|{|{{{||{z{{z{{{{{{{{||||{z|{z{{|{|{|||z{{z{{z{{z{{|||{||{{{{{{|||||||||{{z{{{zz|||}{}}}{{{}|{|||||||}||||{{{|||{|||}{}||z|zz{||||||||{|{{{z{|z||{{z||}||{{{{{{|||||{||||{{z{{{{{{||{{|}{z{{|{{{{|||{|{{|{{y{z{zz|||z~~~~~~}}|}}||{|}}~}}}|~||||{|{|{{}}||}|||{z|z{{|||{{||{{{{||z{||{{{|||{{{|||{{{|{{{{}{{{zz{{{{|{|{{||z{z{{{{zz{{z|{|||{{{{|zz{z{|z|||{{z|z{{z|{{{{||{{{{{{z{{{zz||{{{|{z{{z{zz{{|{|||{{{{{zz{{{{||{|{|{{{{{{z|{{|{{{|{{{{{{{{{{||{|{}{{|{|{z{{{{{||{|||z||{{{z|{|{||}|{z{{|{|{{||||}{|{{{{{{|{{||{||}|{{{|{|{{{|{|{|||{}{{{|{{{||}{}||z{{{{z|z|||||{}||{{|{{{{||||||}|||{{{|{|||||}}||{{{|{|{{{{|||}|}|{{|{{|{{|{}|||}|{z{{{{{{|}}}|}|||}||{{|z{||||}~||{|{{||||{}{|||{{{|{|{z{}{||}||{{{{z|{{||{|||||||{{{z|{|{||{~}~}}}||||||}}}}}|}}{}{{{{||{||{{|{|{z{{z{{{|}||{}{{z{z|{{{{{{z{|{{z{zz{z{{{{|z{{|{|z{{zz{z{{}{{{z{{{zz{{z{{{|{|{{{{z||{zz{{{{{|{||{{{{zz{{z{|{{{{{zz|zz{zz{{{z{||{{{z{{{{{{{|z{|{||{zz{{z{{|{{||||zzzz{{z{||{|{|{|{zz{{zz{{|{{z}{|{z|{zz{{{|{{{||{{{{{zy|z{|{{|{||{||{{z{z{{}|{||{{z{|{|{{{{|{{{|{{{{|z{||||||{}||zz{zz||{|{{}|}||{{{{{|{|}}{|{{|}|{|{{{zz||||{|||{{{{{{{{|{{|||}|{||{{|{{||{||}}}|{|{{{|{|~||||}||{|{{{|z||{||||{|{{|{{{{||}|{||}||{{{{{|{{|{{|}}|{{{||{||{|{||}|{|{{{z|{|}||{{|z|{{{{{z{{{}}|~~~~~}}||||}}|}|}}}|||{|||z{|||}|}||||{|{{{{{{{z|}||{{{{{|z|||||{{|zz{{z{{{z{{{z||{{z{z{{{{{{|{{|{{zz{z{|z{z{{|{||{z{{{{{z{{{{{{{{|{{{{{{z{{z{{|{|{{{z{zz{{z{{z{||z|{z{{{|{zzz{{|{{{{z{z{{{z{||{{{{z{{{{|zz{||{z|||{{{z|zz{||{|||{{{{|z{z{|{||||||~{|{{z{|{||}|||||{{{{{z|{{|{||}||{{{{{{{z{||{|||||{{{{{z{{{{{{|||{{z{{|{|{|{|{|||{|{|{|{{|{|}||||{|{|{{{{z|||}||||{z{{||{}||{{||}{{|{{z||||||{|}}}{||{{{{|}}}|}|}|{{{{{|{{{}|||}|{|{|{|||||||{}}||{{|{{{{{{||}}||{{{{{{z{|}{}|||z{{{{{z{{|||||||}{{{{|{|{{||{{}~~~}}}|||}|}}}||}||||{||{|{||||}||||z|{{{{{|{{{{{}}{{{{{z{{|{||{|}}{{yzzzz{{{|z{|{{{{zz{{z{{{{{{|{|{{z{zz{{}{|z{{{|{{{zz{{{z{|{|||{{{z{zzzz{{{{|{{|{||zzzzz{{{{{|||zzz{zz{{z{{{{{|||{zz{{z{{{{z{|{{yz|z{|{{}{{{z{|{|{{z|z{{|z|{{{|{{{{{z{{z|{{||{{|{{|z{{|{|}|{{}|{{z{{z{{z|{{{|||{{{{zzz{z|{|{{|}{{zz{|{z||||{{|{{}{{z{{{{{{{}|}||{{zz{{{{|}{|||{{|zz|{|zz{|{|}{}{|z|{{{|{|||||}}||{|{|{|{|||||{{{||{z{{{{{}}|}|{|{{{|{z{{||||{||||{{{{z{||{{||||}||{{|{z{{||}}|{|{{|{z{|{|{{{|||}|{{{{|{zy|{|{{}{{{{{{{z{|{{{{~~~~}}}|}}|}||}}}}|}~}{||{|{z|||||||}{{z|{{z||||||{|{{{{z{{{y{{|{|{||{{{{z{zzzz{{{{{|zz{{{z{z{||{{{{{{zz{{z{z|{{|{{{{{z{z{zz{{{{|{{zz{{{{z{z{z{|z{|||{zzzyz{z{|{{{||{{zzz{z|z{|z{{{{|{{{z{z{{{|z{|{{|{z{z{{zz{|{{|{|||z{{z{{z{{{{|{|{{zz{|z{{|{|||{||{zz|{{{{{||||{|{{{zz{z{zz|||||{|{{{z{zz{||{|||||{{{{zz{||||{{|||zz{z||{z{||||}|{zz{{{{{z{{{|{{||{z{{{{z{{{||||||zz{|{{{{||||||||{{{{{||{{{|{}}{{|{|{{|{{|||||||||{{|{{{{|{|||{|}||{{{z{|{z{{||||{{{|||z{}||||||}{|z{{z|{{||{|{|z|{z|{{{z{{||{{|{|zz{{{{{{{{|}~~}~}||}|~}}}|}|}|||{|{}{{|{}|||{{z||{{{{|{|}||}{{||z{z{z{||{|{{{{z{{zz{{{z{{z{{{{{zz{{zz{z{{{||zy{{zzz{{{{||{{{{{z{{{zzz{{{{{{{||z{{{z{|{z{z{{|||{{{yzzzz|{|||{|{zz{zz{{{{{|z{z|{{{{z{{{|{|{{{|{{|{{{{{{{{{{}|||{{{{{{{{{{{zz{{{{z|z{z{{{{{{{{|{{{{{{|{{{{{{{{|z{{zzzz{{{|z{|||{{z{{{{{{{|||{||{{{{{{{{{|{|{{|{{|zz{{{z{||||||{|{{{zy{|{z|{|z|||{|{z{z{z{||{|||||{{{{{{|{{|||{}|{{||{||||}{||||||{z|{||{{|||{}}|{{{}{{{||{{{{{}||{{{{{{{||||}}}|||{{{{{{||{|{|}||||{{|{|{{{||{||{{z{{{z|{|{{||}{{{{zz{{{{}}||~~}}~|}|||}|}}}}|||{{{|{{|||z{}}}|{{{z{{{||{||z|||{{{|{|z{{{{z||{z{{z{z{z{{{z{{|{{z{zz{zz{{|zz|{z|{{y{{zz{z{{{{{{zy{z{{z{|{|zz|{z{zz{{{yzz|{{{|{|{z{zzzzz{{{|{{|{zz{z{zzzz{{{{|{z|z|z{z{{{{{{{{{|{z{{{{zz{{{|{{||{{z{y{{z{{{{{{{|}zz{{z{{{z|{{|{|{{{zz{{z||{|{|||{{{{zz{z{||{{||{{{{{{z{{{|{|{{|{{{{{{{{{{{{{{|||{{||{{{{|{}||{|}{|{{|{{{{{{||{||{{{z{zz{|{||||||{{{y{z|{|}|{||||{|{}{{|{||||{{}|||{{{{{{|{{{|||{}z{}|{{{z}||{|{{|zz{{{{{||{{{|||{{{z{{z|||{|{|{||{{{{|{{|||||||}{{{{z{|{||{{||{|{{{y{z{z{{{|z}~~}}}}|{||{~|}||~|||{|{||{{||||||{{{{{{|{}z|{{{{|||{|{{{{z{|{||{{{{{zzzzzz{{|{z{|{{{{{{{zz{{|{{||{z{zz{{{z{{z{|{z{{{{zy{{z||{{{{{{{{z{zzzz{|{{{|||{{{zzzzz{{|{|{{{{z{{{z{{zz{{z{{|{zz{{zzzzz{{z|{{{zz{|{{z{{{{{{|}{z{zzzzz{|||{{|||z|{{{{{||{|{||{{{{{{z{z{{||{{||{{z{zy||{{{{{|{|{{|zz{z{||{{{{|}{{z{|{{z{|z{|||{{{{{{zz{{{||{|{|{z{{|z|z{{{||{|}|{{|{{{{{|{||{{{{{{z{zz{}|||||{}{{{{{z||{{{{}||||{z{{|z{{}|||||||{{|{z{z|||{{|{||z{{{|z||{{||||{||{{{|{{{{{}|||}{|{{z|{z{||{{|}|{{|{{{{{|{}||||||{{z{{{{|{||z~~~}|}|}|~|}||~}||~}|{||||{|||||||||z{{|{{{|z||{{{{{{|{z{{{|z|{|{|{z|zz{{{{z|zz{||{{zzz{z{z|{||{|{z{{z{z{{{{z{{{{{|{{{yz{zzz{|{{{|}{{{zz{zzz|{{|{{{z{{{z{{{{{|{{z{{z{{{zz{zzz{{z|{{|{z{{{{{z|{z{{{{z{{zz|zz{z||{{{{{{{z{z{{|{{|{{{{{{||{zzz{z{|{{||{zz|{{{{|{|||{||{|{{{z{|{{{|{|{|{{{zz{z{{||{{||{||{{|{{z{{||{|{|||{{{{|||||{}|||{|{{||}{{{}|{|||}{{{{{{{||||}||}|{{{|{|||||}}||{{{|{{{||||||||}}|{||{{{{||||}}|}|{|{z{{{}||||||||{|||{|{z|}{}|}|{|z{{{{{||{{||||{|{{|{z{{||||||||{z{{{{{{||{|||||{|{{z{z|{{{{~}|}}}}||}|}}|}}~|||{{||{||{|||~}{|{{||{||{|||{|||{|{z{{{{{||{{|{|{{{{{{{z{|{{||||{{{z{{z{{{{||{|z{||z{{{||{z{{{{{zz{{{z{{{{|{|{|{zz{{{zz{|{{{|{{|{{{{zzz{{|{z{|z{{{zzzzzz{{{{{{{z{z{{z{z{{{z{|{|{z{|{|{{{{z{|{|{{{zz{z{{|{{||{{|{{z{z{{z{{{|||{||{{{{{z{z}{||{||{z{{{z{{{||||{|||{{{{{|y{||{z||{{zzz{{{{|{{{{{|||{{{{{z{{|{|}}{|z{{{{{z{{|{|}|||{{{|zzzy||||{||{|z|||z|{|}||{||}|{{{{|{|{|{|}|{{||{{{||{|||||}}|{{||{{||}{|}{||{{{{|{{|{{|||||}}|{{{{z|{||z}|||||{{{{|{z{|{|{{|||{{{|{|{{||{{|}|z{{z{{{z{{{||~~~}}}~}|}}|}~}||~}}|{|}|}{||||}}~||{{|{{{{{|{||||{{{{{z{{{z{|||{||{z{{{{{{{|||{{||{{{{z{zz{{||{{|{{{z{z|{z||{{{{|{{{{z{z{z{|{|{{|{{z{zz||{{||{{||{{{|z{{zz{{{{{{|{z{|{{{{z{{{{||{z|{zz{|{{{|z{{|{|{zz|{{{{{{{|{|}|{{{z{{|z|||{{||}z{{{z{|{|{|{{|}}z{zz{{{z{|{{{||||{{|z{{{||||{{{|{{{{{{{{{{{|||{|||{{|{{{|||{||{{{z|z|{{{{{||||{||{||{{{||||}z|}|{{{{{{{{{|||{||||{{|}{{{||{||||{{{{{|{{{{|}||}|||{{|{|{|}||||{}|}{{||{{z|}||}}}||{{{{{{{||{}||}||{{{{{{|{||||||}||{z{{z{||||||~||z|{z{|{|}|{{|||{{zz|z{z|z|{{~~}}~||{||}~|}}}}|||{|{|||{|||{|||{{{{{{{}}|{{||~{{z{{{{z||{{{{||{z{{{z|z|||{zz||{{{{z{z{{{{z{||{{z{z{{zz|zz{{||{{zz{{zz|{||z{|{{{{z{{{{{{{{{{{|{{{{z{{{z{|z{{{{{z{{{z{z{{z{{{{{}|z{z{{{{{{{{{{|{{z{{{|zz{z|{z||{{{z{{z{z{|{{|||}{{{zzz{{{{{||{||{{{z{z{{{{|{{{|||{||{{{{z{|{{{|{||}zzzz{{|{||{|{{{z{{{{{{{||{}{||||{z|{|{{|{||{{z{{{||{{z}{}|{|||{{{{{{{|{|{{||{|z{{{{{||}|{||}||{z}{||{{||||}|}||z|{|||{|{}||}}|||{{{{||||{|{}|{{{{||{{{||{|}}}||{{}{{{{|||{|{{{||{{z{{{}{|||}}||{{{z{{z|||{{|{{{{|{z{z|{{{{~}~}|}}|~}}|}}~|}}|{{}|{||||||||||{||{|{{||||{{|{}|{{{{{z{|{{||||{z}zzz{z{{{{{{|{|{{{zzzz{{|{{|z|{{z{{{z{{{{{{{|{{z{z{zz{{|{zz|||{z{{z{z{{||{{z{|{{{z{{z{{{{}|{{{z{z{{zzzz{{|{{{z{{{z{z{z{|{|{|{|{zz|{|{z{|{||{|{|zz{{z{{{{{z{||||{|{z{z{{{{|{|{|{{{{{{{z{{||{|{|{{zz{z{{{||{{|{|{|{zzzz{{{|||||{{{z|{{{{{{|z{|{{{z||{z||||}|{|||{{{{|{||{|{|||{|{z|{{z|{{|||{|}}{|{{z{||||{{|}||}{{z{|{|{|||||{{|{{{{||{{}{}|||||{|{{|{|||{}{||||z{{||{{{||{{||}|{z{}|{{|{{|{}|||{|z|{{{|{||||}{|{{{{{{{{|||{{|}|{{{zz|{|z|{{~}}}}|~}}}~}||}}}|||{|||||}|||||}|}{|{|{||}{{{{{||{zz||z|{|||||{{{z{z{zz{{{|{{{{{{{{zz{y|{{|{}|{{{{zz{z{{{{|{{{{z|zz{z{z{{|{{{|{{{z{{z{|z{||||{{|{{zz{{{{{|||{|{z{{z|zzyz||{{{|{{{{{zzz{z{{{{|z{z{{{{{zz{{|{{{}||{z{{z{|{||{||||z{z{{{{{{|{{||||y{{{{{|{{||{{{{||{|{z|{z{|{{z|||{{{{|{{{{{|{{|}|{z{{{|{|{|{|{||||{||{{{{|||||}||{{{}{}{z||{|||}}|zz{z{{{}|{{|{|{{{{{|{{{{{||{}}|||{|{|{|{|||||||||{{y{||{||}{||||{{{{z{{z}||}||||{{z|{{{||||}|}}||{{||{||}|{||}||||z|zzz|{{|{|||{z{{{z{{{{|}||{|{z|{z{{z{{|{{~~~|}~~}}||||}}}}}|||{{|z|}}||||||{z|{{z{{|{|{{||||{zz|{z{{|{{}{|{{|{{{{|{||{z{{|{{{zz{z{||{{{||||{|z{{{|{{|{{{{{{{{{{z{z{{{|{|{{{zz|z{z{{{{{{|}|z{|{{{{z|{{{z{||{{{z{z{{{|zz{|{|{{{z{z{z{|{z{|{||{{{{|{z{{{|{{||||{{|{{z{|||{}|{{z||{zz|{{|||{{|z{{|{|z|{{{||}||{{{|{z{{{|}}{|||{{|{{{{{{|}||||{{{{{{{{{{{{|{||{|||{{|{{{{}{{||||{{{{||{||{|||}|{{{{{z|{|{|{||}{|z{|{{{{}}||||}{{{{{{||{z{{{|||||{{{{|{{||{}}}|||{{|z|||}{|||}|}{z{{{{|{|{||{||}|||{{|{|{|{|||||{{{z|{{{{||{}}}}|{{z{{{{{|{}||{}|z{{{{{{{{|||~~~}~~~|||}||}|}}}}||{{||{{||{||}}|{{z{{{{{{{{{{z{|{z{zz{zz||||{{{{||{{{z{zz{{{{{|{{{{{{zzz{|{z{{{|{z{zz{zz{{{{z|||z{zz{zz{{{{{||z{{zy{z|{z{{|{{|{|{{zzzzzzz{{{{{||{zzzzzz{zz{z{|{||{{{{{|zz{{{{|{|{{|z{{z{z{{||{||{{{|{{{{|{|{z{{{|z|{{{{{{{|z{{{|{{{zz{{z|{{{||{{{{{{{z{z{||{||{{|{{{z{{{z|{|||||{{z{z{|{{{||||||{z|{{{{|||{{||{|||{|{{|z}{|{|}|}}{{|{||{||{|||}{{z|{{|{{{}||||||z{{{||{||{{||}{}|{{{{{|||}||}}|{|{{|{z||{{|||{|}|z{{|{{{z|}}|{}}|{z{{{|{|||||||||{{{{{|{{|{||{|||{{{{z{{{{|{{||{|{{{{{z{|{{{{~}~}|}||}||}||}}|}|}|{||{{{}{}}{{}|{||{{|z{{||{{|||{{z{{z{z{||{z|||{{{zz|{z{{{{{{|z{|{zzzz{{{{{{|{z{zz{{zzz{z|{zz{|z{z{{{z{{z{{{{|{z{zz{{zz{{{z|{{|{{{{{zzz{|{|{z{|{{{{z{{{z{{{{{{{{{z{{{zz{{z{{|{|zy{z{|{z{z|{{|||{{zz{z{{{{{{{|{{{z{z{z{{{{|z{|}}z{{zz{{{{||{||{|{{{z{z{{{z{{{|||{z{{z|z{|||||{|{{|{|{{z{{||{{|z{{|{{{{{{{|{}||||zz{{{z|z{{{}{|||{{{{z{z{|||}|||||{{{|{{{||||||{{|{|z{{|{{}||{}|||{{|{{|{||{||{}||{{|{{{{{|||{{{|||{{{{{{||}||||||{{{|{|||{|{|{|||{{{z||{{{{|{||||||{{{z{{{|{|||{{z{zzz{{{{|||}~~~}}}}|||}|}|}}}~||{z||{{}|{{|||{}{{|{{{{{|{|{|{||||{{z{{y{{{|||z|{{{zz{zz{{{z{|{||{{y{zzz{z|zz{{{{zzz|zz{{{{{{{|{zyz{zzzzz{|{{{|z{{z{zz{z{{z{{{{{|z{{y{{z{z{{|{||{zz{zz{z{{zz{{|{|{zz{{zzyz{{{{{{{{z{{{z{|{||{|{{{{{|{z{z{{z{{{{|{{z{{zz{||{{||||zz{{{{z{|{|{{{|||{z{z|{{{|}{{{||{z{{|{{{{||{{{|{{z{{{z{{{||{||{{|z{{{zz{{{||{|{|{|{{{{{z{|||{|{|z{{{z{{{{|{|||{||z{{{{{{||}|||}|{{{{{{{{{|{{||||{||{z{{{|{||||||||{{|{{{|{}}{|||{}{{|{{|{|{z|}}}|{{{|{{||||||}{|z{{{{{{|{||||||||z{|z{z{{}{|{{|{{{|{{z{{{||{{~}~}{}~||}|~~|~}}~|||{||}|||{|}}|||{|{{|z|{|||{{||{|zzz{{z{{{{{|||{{{zzz{{{|{{||{|{{|z{zz{{{|{{||{{{z{{{y{{{z{{{{{{z{{zz{{{|{|{{|{|z{{zyzz{z|{||{{zz{{zzzz|||{{|||{zzz{{zzz|{|{||||{{z{{z{z{{{{||{{z|{{zyzz|{{{{{{{{zz{z{{{{|z{{||z{{{{z{z|{|}{|||{{|{{{z{{|{}|{{||{{{{z{z{{{{|}{z{{{z{{{z|{|{{}{{{z{{|z{{|||{||{|{z{|{{z|{|||{{|}{{{{{||{{{||}}{|z{z{z|z{{|{}|||||{zz{z{{|||{|}|}{{||{{||{}z}{}|||{{|||{||}|||}||||{{{||z|{|}|||||{|z{z{{{{|{|{||||{{|{{z{|||{|||{||z{{|{|{{|||}|{||{{{|{{|{{||{{{{{{|z{{{{{{{~}}||||}|}}||}}}|||||{{{{}|}{{|}}|z{{{{{{{{{|{{|{|{{{{{{{|{|||{|||{{|{{zzz||{{|{{|{{z|{z|{{{{{{|z{{{{zz{{{z{|z|{|{z{{z{{zz{||{||{{{{zy{{z{{{{}|||zz{zz{{{{|{{{{||{{{{zy{z{|{{{||{{z{z{zz||{{{z{||{{{{{{zz{|{|{||{|z{{{{|{|{||{||||z{{{z{{{{{{||||{z{{z{{z|||{|||}{{{{|{{{{|{{{||||{|{{{{z||||||}|}||{|{{z||||||}{|{{{{||{{}||||{||{{z{z{{|{{|||}|{{{{|{z{||||||{||{{{|{{{{|||||}||{|||}|{|||||||||{{{z|{|{}|}||}{|{{{z{||||||||{|}{{{{{||{||}|||}|{||{z{{|{|{||||{{|{{{z{|||{{||||{{|{{{{|||{|{}{{z{yz{{{{||{{~}~}~|}}}|}}}}|~||||{|{{||||||{|||}}{||{z{z||||{||||{|z{z{z|{||{|{|z{{{{{{zz{{z{{{z|{z{{zzz|{|{{{|{{{{y{{{{z{{|y{||{z{{{{{z|z{{}||||zz{{{z{{{{z|{||zz{{{zzz{{|{{|}{{{zzzz{zz{{{{{|{{{z{z{zz{{{|{|{}{{{z|{{{{||||{{|{z|z{{z{{}|{|{||{{{z{zz{{{{{{{|||zz{z{z{z||{|||||||{{{{zz||{{|{|{{{{|z{{{{}z|{{|}{z|{z{{|{|{{|{{{{|{{z{{{||||{|||||{{{{{||{||{||}|z|{{{z||||||||{z{{{{zz{||{||}|{|{{{||{||||||{}|||{{{|{||{|{}||||{|z{{|}|}{}||||{{|{|{|{|}{{|{}||{{}{|||||||}|}{{{{|{z{{{{|}{||||{{{{|zz|||{}||z|{{z{{z||}{{~~~~}{||||}|}}}~|~{|}{{}||{}||||||{|z{|{{{{|||{{}||{|z{{{{|{||||}|{z{zzzzzzz|{{{|{|{{{{{{{{|{{{{{z|zz{{z{{zz{{||{{{{{zz{z{||zz{|||{{{z{|z{{{{{{|{|{{|z{{{{{{{{|{||{z{{{{{z{{{{|{|||{zz{z{{{{{{{|||{{{z{{{z{{||{{|{{{{z{{z{z||{||{|{{{{{z|{{{{|{||}{{{{{{zz{{{||{||{{{z{{{z{||{|{||z{{{z|{{||||{|}z{{{{{zz{{|||||||{|z||{{|{{}||||{||{{|{{{{}|}|}{||{|{z{z{{}||{{{||{{|{{{||}||||||{{|{{||z||}||||||{{|{|||{}|||}{~{{|}{{{|||{{}||||{z{{{{||{|||{}||{{||{{{}||}|}||{||{|{{{|||||{||{{{{{{z{{|{|||||{{{z{{{z||}||~~}~}}}}{{}}}|}}}}|||{|}|{|{|}|||||{{{{{{{{{{||||||||z{{{{|{{{{||}{z{{z{z{{{|{{|{{{zz{{z{{{||{|{|{{{{{{z{z{z{|{{{{{{zzz{zz{{{{{{{z{zy{zzzz{{{z|||{{{{z{{yz{|{||{|||y{{{z{z{|{{{|{|z{{{z{{z{{{|||||z{{|z{{{|{{{|{{|{{{z|{{{{|{{{|||{z{zz{{{|{|{{{{|{z|z{|{z{{{{{|}{{{||{{{{{{|{{{||{z{||zz{{{|||{|{{|{|z{z{{{|{|||z|z{|{{zz|{|}||||{z{|{{|{|z||{||{{|z|{|z|{||{||}||{{{{{{{|}~{{|}||{|{{z||||||{{|{}{|{{|{|}|}|||}||{{|{z{||||}}|}|{{{{|{{|||{|||||||{}|||{|{}|}||}z|{z|{{{{||||}{|{{{|{{z{|}|{{|||{{{z{{z{|{|{{~~~~~}|}}|{||}|}|}}}{|z{|{{{||{|||||{{{{z|{zz|||{||||{{z{{|z{{{{||||{{|zz{{{{{|{{{{|{{{{{{{zz{{{z|{{{{z|z{zz{{{{{{{{{zzz{z{{|{|||{zz{z{zz{y{{{||{{{|{zzz{{|z{{{{{|||{z{z|zz{z{{{{|z{|{zz{z{z{{{{z|{{{{{{zzz{{|{|}zz{{{z{{|{{{|{|{{|||z{{{{{|{z{{{|||{{{|z{{{z{{{{|||{{|{{{{|||{|||{{{{{{{{{z|||{|{||{z{{{|{{}{|{{{}|{{z|z|{{|{||{|}|{{{{|{{{{|{|}||{{{{|{{z{{||||||||{{{|{{{|||{||||{||zz||{||||||{{|{z|{|{{||||{||}|{||z|{|}|{||{|||{{{{zz}|{|{|||||{z{|{{|{}{|{|||{||{{{{{||{{{||{{|z{{|{z{{||{|{|{{{{z{z{||{|{}~~~}}|}}}||}|}|}}}}}|{z{z{|}||{{||||{{{{{{z|z||{{||{z{zz{{{{||{|{{{{{{{z{zz{{||{{{|zz{zzz{z{{||{{{{{{zzzz{z|{z{|||z{z{z{zz{{{z{||||{zz{z{z{{{{z{{||{{{zzz{y{{{|{{{{|z{{yz{zz{{{z{|z|zzz{z{{z|{{{||{zzz{{{{z|{{{{||{{{{{{z{{{||||{|{{{{z{{|{|{{|{||||{{|{z{{z{{||{||{{{z{z{{{|}{|||z{z|{{zz{{{{{{{|||{{{{z{{||{{{||{{{{{{{{{{|{|||||{|{{{{z{{}{|{{||z{{z{{zz||{|{|{||{z|{|{{}}}||||}{{{{z|{{{||}|||}|{{|z{{|{}|||||}|{|{{{{{{|}|||{|||{|zz||{{||||||{|z{{|{{||||}|{}|{{z{{{{||{||||{|{{z{{{{{|{{{{||{z{{{z{{{{||{~~~~~}}|}}}}|}}}||}}{|{{{z{||}||{{|{{{{{{{zz{||{{|||{{{z{{zz||{|{{{}|{z{{{{zz|{{z}||{z{z{{{{|{{|{|{{{z{zzz{z|{{{{{{{{{{zzzz{{{{{{{|{|{z{z{{{{{|{{|{||{{{zz{zz{{|{{}|{{{zzzz{{z{{{{{zz{{zzzzz{|{|{|{{z{{zzz{{||{{z{||{{{z{{z{{||{{|{}|{||z{{{{{{{z{|{z||{{{{{{||z{{|{{{{||{{{{|{{||{{{{{z{{zy{{|{}z|{{zz{{{{{{|{{{z||{{|{z{z{{|}{|{|{{|z||z||{{{|{{||{{{{{{{{{||{{|}||z{|z{{{|||{|}||{{|||{{|{||}|}||}z{|{|{{{||{}{}|{||{{{|||{}{}|||{{{{z{{||{|{||{|||{{{{{{|{{|||||{{|z{{{{{|||||||{|{{{{{{z{|{{|{|z{{{{zzz{|{|{~~|~}}~}|}}|{||}|||}}||||{{{{{|||}{}||||{{{{{{{{{|{{||{|{zzz{zz{{{{{|z{{{{{z|{zz{{|z||{{z{{z{|{{{{{{{{{z{z{z{z{{{{{{|||zz|zzz{{{{{{|||{{{z{zz{{zz{|{{|{{{zz{zzzz{{z{|||z{zzzzzz{z{z{{{{z{{zzz{zz|{{{{z{{{z{z{{z{{{{{{|||{|z{{{{{|{{{|||{{{{{zz{{{|{|{{|zz{{zzzz|{{{|z{|{{{zyz|zz|{{|||{{{{{{{zz{{{|z{||z{{{{{{{{|{||{{|{{{|{{{{|{|{{|{{{{{z{{{y{|z||||{{{{{{zz|{||{|||{|{{{|z{|{|{|||||{{{{{{}{||{{|||{|{z{{{||{}||{|||{{||{{{{|||{||{||{{{{{|{{{||{||{{{{{{{{|||{}{|{||{{z{{|z|{{{|{|||{{{|{{{{|{{||{{zz{{{z{z{{}{z~~~~~~~~}||}|}}|}||}}~}||{|{{|{z|{{||}}||{z{{||{|{}}||||{{{{{{|{{|{{||{|{zz{z{{z|{z|{|}{{z{{|zz{||{{{{{z|{z{z{z{{|{z|{{|{{z{{zzzz|{}{||{{z{{y{{zz|}{|{||{{z{{zz{z{{{{{{|{{zzz{{z{{{{||{{{{zz{{{{{|{{||{{{zzzz{{y|{z{{{|{z{|{{{{{{||{{|{||z{{{{{{{z{{|{{}{|{zzz{z{{|{|||||z{{{{{z||{{{||{{{{{z{|{z||||z||{{{|{{{{}}{|{z{|{{{z{|{z{|||}||{{|z{{{{{{||||}||{{{|{z{z|||{||}{|z{{{{|{||{|||||{{|{z|}|{|||}||||z{{z{{{|||}{|||z||{{||z|{|{|}{|{{{{{{{}||||{||}}{z}z|{|||||||||}}{{{{{{{||{|||{|{|{{|{{||{{||}||{{{{{{{|||{{~~~~~~~|}|~}||}}|}~}~}||||{{z{{|||||}||||{|z{{||{|{{|||{{{{{{z|||{||{|{{{{{{{{z||{{|||{|z{{{{|z{|{{{{{{{|{{{z{z{|{{{|{{{zz|{{zz|z{{{{|{{{{z{z||||{{||{z{z{zzz{{{{{|{|||{{{z{{{{{{{{{{{{{zz{{{{{{{{z|||{{{z{{{{|{|{|{|||{{{{{{{|{{{|z{||{{{{|{|{{}|{{||{{|{{{z{{{{|||||{z{{{zz{|{{||||{{{{zzz{z{{}{||}{}z{|{|{z|||z{|||{{{z|{{{|||}{}{{{|{|{{||{||{||||||{}{z{{}|{{||}{|{||{||{|}|{{|}||{{{{{|{|{|}|}|||z{|{{{|{}||{}|}|{{|||{|{||}|}|{|z{|{|{||||{|||||{z{|{|{|{|||||}{{|{{{{|}|}||||}{{{z{{|z||||||||{{{y{z{{|{|||~~~~~}~~~}}|}|||}}|}}|~}}|{{|z|{||{{||||{{|{|{{{||{|||||{||zzzzz|{{|{||{{z|{zz{{{||{{{{z|{{{z{{{{|||{|{|zz{zz{z|{{{|z{|{zz{zzzzz{|{{{{{{z{{{z{z{{{|{{{|{{{|{z{{z{{{|{{{{{{{zzz|{{{{{{{{{|{{z|zzzz{{{{|||zy{{z{{{|z{{{|||{{z{{|{{z|{{{||{{z{z{z{z{{{{|{{|{||{z{zzz|z|{|||z{{{{{{{|}||{{|{|z{{z{{{{{}{{{{{{{z|{z{|||{{|{{{{{{{{{{{{{||{||{{z{{{{|{{{{||||}{{{{{{{{||{|{||{{z{{{|{{|{||{||{|zz|{|||||||{||}|||{{{{|{{|}}||||{{{{z|||}|{}}|{{|{{{{|{}|{|||}|{||||{{||{}|}|{|{{{z{{{{||{{{|}||{{|{{{z{|{{}{||{{{{{{zzz{{{|}~~~~~~~~|}}}|||}|~}|}}}}||{{{{z|}z||}|}|{{|{{z{|{|{{z{|}{|zz{z{z{{|{{|||{{|{{{{{{||{{|||zz{zz{{{z||zz{|{{{{zy{z{|||{{{||y{z{zzz{{|{{|{{{{zz{zzzz{||z{{}||z{{zz{|{{|z{{{z{z{{{{zz{{{{{{{|{zzzzz{{{{z{{{{|{z{z{zz{{{||z{||{{z{{y{{z{{|{||{{||{z{|{{{{{{|{}{{{{{zz{|||{||||z{{{{z{{{|{|||{{{{{{{z{{|||{{||{{|z{{{{z||}|{|{{|{{zz{{{|||||||}{{z{{{{||{|{{|||||{{z{{{||{{{||||{|{{||{}|{{|||||{|z||||{{|{|}|}}{{|{|{{||||{}|}{{{{||{{{|}||}}|{{{{|z{{{{{||}{||{{||{{z|||{|||||{}z{{{|||||||}|}{{|{z{|{|||{|||{{z{zz|{{|{|z~~}~~~~~~~||~}|||{}}}{}||}|{|{{||{|||{|}||{||{{{zz{{}{||{||{z|zz{z{{{||{|}{z|z{{|z{{{|{|{|{z{{{{{||{{y{{|{|z{{{{zz{zz{{|{{{{y{zzzz|{{{{|{|{zzz{{zz{z||{|{{{{{{zzzz{{{{z{||{z{zz{z{z{{z{{||z{zzzz{zz{z{{|||{{{{{{{z{{{{||||{{zz{z{{{|{{{|||{zzz{zz{|{{{||||{{{{{zzz{||}{{|{{{|{zz{{{{|||{|{{{{{{{z{||}{z|||{||{{{{{||||{|z{{{||{{|{|{|}{|{|{{|z{{{{|}|{|}|}{z{|}{{{{}||||}|{{|||{{|||{{|{}}|{{||||{|{|{|||}|{||{||{||}|||||}{||{{||{|{||{|{{{|||{|{{{{||{}||||{|{{|{||{||}||||{{|{|||}|||}||||{|{{{{{||||{|{{{z{{zz{|{|{~~}~~~}~|~}}}|||||~}||~}|}|{|z{||{|{||{|||{z|z{zz{{{{}|{|{|z{{zz|{|{{|z|||z{{{zzzzz|z|{|{{{zzz{{z{{{{{{z{{zzzzzzyz{zz{{{{{zz{{zzzzzz{{{||z{{yzzz{zz{{{{|{{{z{|zz{zzz{z{{|{{zzzzzz{|{{{z|{{{|{z{{{z{|{{|||{z{zz|z{{z{{{{{{{{{z{}zzyz|{{|{{|zz{zz{{{{{{{|{|{{z{{{{{{{{|{{{|{{{{||{{z{|}{{{||{{{{{z{z|{{|||}|{{{{{{z{{|{|{|||}z{{|||z{{{||{|||z{z{z{{}{||{|||||z{z{z{||{{||{}{{z{|{{z|{||{}|{|||{|{{{|{{|{{}|}z{{|||{{}{}}||{|{}{|{{{|||}{{|{||{{{{|{{{||{||||z{|{|{{|||}}||}{|{{{|{{{}|{{{|}|{z|z{{z{|{||{||{{{z{{z{|||{|~~~~~~|~~~|}|{||}}~||}||}}||{{||{{{|{{{||{{|{{||{|||{|{||{{{{{{{{{{{|{{{||z{{z|{z{|{z{{zz{{{z{{zzz{z|z{{|z{|{z{zz{z{|{{z{zz{{zz{z||{{{z}z{z{{zzzz{{{{{|{|{{|{z{zzz{||{{}|{{{z{{zzy{{z{{{|{{{z{{{z{|{{z}}{z{{{{{z{{{{|{{||z||{{{{{{|{|{||{|zz{{z{z{{{{|}||{z{{{{zz{{|{{||{{{{{|z{|{|z|{||{{{{{{{{{|{|{{|||{{{|{|z{||||{{{{||{||{|z||||||}|{|{|{{{||z|{{|}|z|z{{{{z|{||{||{|z{|{{{z{|||||||{{{z{||z{{{||||}}{|{{|{||||||||}|||{}||{|||||{}{|z{{z{{{{{|||}|}||{}|||{{|{{|||||{{{{{{{||{{|||{|{z{{{{{z|{|{||||{{z{{{{|{|||~~~}~~}}}}}}|||{|}}|}|}}}|}{{|{|{||}{{|{|{|{{{z{||{|{|||{{{|z{z{z|{{{{{{|{z{{zz{z{z{{{{|{{{{{{zz{{z{{|{|{z|{{{{{||{{|{|{{{zz{zz{y{|{||{|z{z{{zzz{{z||{{{||z{zz{{{{{{|{{||z{{{{z|{{{{{{||{z{|{{z{{{{|||{|{{z{{|{{z{|{|||}||{{{{z{{||{{||||z|{{{{zz||{{|{{{{z{{{{{{{{{|{{|{|z{{|{{z{||{{|||{{{|{z|{{|{|{{|{{{{{|{{{{||{|}|||||z{{{{{||||}|{{|{||{{{||{||||}{{|{|z{{{||{|||||{{{{{{{{|{{|{||||{{|{|{|||||||||{{{|{|||}||}|||||{{{{{||||||}|||{|{{{y{{||{||}|{{z{{{{{|||||}|{||zz{||{||{}}}|{|{{z{|z{|}||{{}|{|{z|z{{||||{~~}~~|||~||}}}}||}||||}}|{||{z|||||{{|}{{{z|{z{z|{{|{{{{{{z{y{z{|{{||{||}{{{{{|zz{{|{|{{{{{z{{z{{{{{{|}{zz{zzzz{{z||{{|||{z{{{zzz{|{|{{{{z{{{{{z{{z{{{{zz{{{z{z{{{{z{{{{|{{{z{zz{{{{{{{||{zz{z{z{{|{|{|{{zzz{{z{zz{z|{{|{{{{z{{z{{|{{{{{|{z{zz{|z|{{z|{{{zz|{{{zz|{{|{|||{{{z{{{{{|}{||{|{z|{{{z{{}||{{|{{{{{{{{{|}}|z|{|||{{{{{{|{|||}}{{|{{{z{{{||}||}|{}{{{{|||||{||||{{{|{{zz||||||}|||{z||{z||{{|{|||{{|||{|{|||}||}{{|{{{|||{}|{||{|{{{{|{{|||||||||}{|z{{||{{|~|||{|{{{{{|{{{{|{|||{z|{{{{|{|{||}{|{|zzzzz|||{|~~~~~}~}}}~}~}~~}{{|{{|}||||||}|{|{{|||||{|}|}}||z{{z{{z{|}{{|{|{{{zz|{{{{{z|{z{zz{{{zzz|{{z{{{|{{z{{zz{zzz{{{{z{z{{{z{{{{zz{{{{z{{z{z{z{{{{z|{|{zzzzzz{|{||{{|{{|{zzy{{{{{{|{z{y{zzz{z{z|{{|{{|{{zz{{z{z|{{|{{z{{z{z{z{{{{z{||{{z{zz|z||{{||{}{{{{zz{zz||{{|||yzz{{{{y|{|{{|||{{{{{z{{z{|{{|||{{{{{z{z|{}{{|}{{{z{{|z{|{{{{|{{{{z{|{{{|{{{|||{{{||z{{{||z||}}||{{{z{z{{{{||{||{{|{|{z{{||{|{}{{{{{|{|{{{{|{||||{{|{{{{|{||z}|||{{{z{{||||{||{|{{{{{{z{||{{|||}|{{{{z{z||{||}||{z{{|{z|||{{||{}{z{{z{{{{{{{{|||zzzzzzzz{||{{~}~~~~~~|}}~}||||{|{|}|}}||||z|{{||{|{||{||}{{{zz{{{{{{{{||{{z{z{z|z|z{|z{{||z{{{z{{{||{{}|z{|{{zzz{z{{{|}{zz{zzz{zz{{{{{{{||z{{|z{{{{{{{{{{{{y{zzy{{{{{|{|{z{z{zz{{{||{{{{}|zzz{{{z{{|z{{z|z{zyz{{z{{{|{{{{{z{{z{{z{|||{z{{{zz{{z{{{{{{{|{|{{{{zzz{z|{|||{|{|{{{{z{{{|{{{{{{{{||{zzz||||}}{|{z{{z{{|{||{||{{{z{z{{{||{{{||{{{z{{{|z|||{||||z{{{|{||{||||{||{{{{z{z{|||{||}|{{{{|{{{|||{|||{{{{{|{{{{||{|{|}{{{{{||||}|}||}}{{|{|z{||{||{{|||{{{{|{||||}{|{|{|}{{{z||{|||||||z{{{|{{{{|{|||{{{{{{z{{|||~|||{{{{{{{zz|{||{~~}~}~}~~~~~}|}}{}||||}}|}}|}||{{|||z|{|}||{}{|{z{{{z{}{|{{||||{{{{{{|{{{|||{{{{z{{{{{{|{{|||{{{{{{{{{{|zz{{{{{{zzzzz{{|{{||||z{z{|{{{{{{z{|z{{z{z{{{||{{{|||}{z{{{zz|{{||{||{z{z{{{z{{||{{{{|{zzz{z{{|z|{{{{{z{{{|{z||{{|{||z{{{z{{{|||z}|}|{||{{z{z||{{||{|zzz{z{{{{{{{|||||{{{{z|{{||{{|||{{|{|{{{{|}||||{{{{{{{{z|||{||{|||||{z{{|{}}{|||{{{z|{{|||{{|||}|{{|{{z{{||{|||z|||z|||{|}||{|||{|{{|||||{||{}|||{{{{|||}}|||||}|z||{{{{|||||{||||||{{||||{||{|}{{|{||{||||{||||{|{{z{{{|||{{||{|{{|z{{{||||{|{|{{{{{{z{{|{|{~~}~~|~|}}~}~~|||||z|||}|}}}}{}{|||{{||{}|}||}{{|{{{{zz{{|{}{|||z{{z{z{||{||}|{{|zz{{{{{{{{|{|{{|z{{z{{|{z{{{{{{zz{{z{z{{|z{{{{z{{{{{{|||||{||{{{z{{zz|{{z{{|{{z|{zz{{{{{|{||{|zzz{{|{z{||{z|{{|{zzz{{z{{{{||{{z{{{{{{{{||{{||{{{{{{{{{{{|{||}|{{|{{zz||{{{{{|{|{zz{{z{|{|{|{|{{{{{z|{{||{|{|{|{{{{{{z|{{{{||{|{{{|{{{|||||}||{{{{|z{|{{||{{||{|{{{z|{|{|||}|}{{{{{|{{{}}||{|}{{{||z{{{}{{|||{{{|{|{{{|}{||}|{|{||||{{|}|}|||||{{|z{{{||||{||||{{{||{z{||{||||{{|{|{{{|||||}||{{zz{{{|z|}||||{{|{z{{z{{|}||{|{|{{z{z{z{||||~~~}}~}~~~~~~~~}{{{{||||||}||~||{{|{|{}}||||}}|{z{{{{||z|{{{|{}||{{z{{z}|{|||||{{{z{{z{{|{z{|{{|z|{|zz{{{}{{{{{{{{z{{zz{|{|{{{}z{{{z{{z{{|{||{z{|{{{z{{{z{|{|{||z{z{{zz||{{{|||zzzz{|zz{{{{{|{{{{{{{{{z|}{{|{{|{{{|{{{{|{{|||{{|{z{|{{{{{{{{|||{{{{{{{z{{|{{{{|{{{{{{{z|||||{|{z{{{{{{{|||{||{|{{{{{{{{{|{||{|||{{|{{{|{}||{||||z{z{{}{||||||||{{{{z{|||{{}{||}|{|{z{|{|}||||}||{{{{{z{}}{||}}||{{{|{{|||{|}|{||{||||{{{}|||}}|{|{}{{{{|||}}|~||{{|{||||}|||||}||{{||{||{{}||{||{{z{{{{{||||||{{{{{||{{{|{|{}||{|{z{{{{|{||{~~~~~~~}~}|~~}}|||||||}|||}}}|{|z{|{z||||||}}|{||{z{{||||{|{||{|{z{{z{|{|{|{|{{|{z{{{{{z{{||||{{z{{{z{z|{|{{z{zyz{zzz{{{{{||{|{zz{{z{z{{{{{{{|{{{{z{{{|{|{{||z{{z{{{z{||{{||}{z{{{z{zz{|{z{|{{{{{{{{z{{{{{{{||z{{|{{{{|{|{|}|{{{{z{{||{{{{||}{{{{{{{{z|{|{{{|z{z{z{y{{|{{|}}{{{{||z{{{||{{{{{{{z{{{{{{{|{|||{|{z{{z{z||}{{|{|{{z{{{|z{|||}|||{{z{z{{{|||}{||}}|{|{{z{||{}|||||{{|{{{{|}|{|{||{{{{|{||}||||}|||{{|z{{|{|||}|}}|{{|{{|{|||||}|||{{{|{{{||{||}}{|{|{{{y|}||||}|}{{{{{{|{{|z|{||}{{{|{{{{}|{{||||z{{z{{{{{|{|{~~~~~}}}|~~~}|}|||||||||{|}|||||}{|||z{|{}||}|{|{{{z{{{{{|{|||||{z{z{z{{{||{|{|{{z{|z|z{|{|||||zz{zzzz{|{zz{{{{|z{zzzz{zz{{{{{|{z{{{{{{{|{{{{{zz{|{zz{z|{{}||z|{z{{{{{zz|{{z}{||zz{zzz{|zz{z{|{|{zz{z{{{{{{{|{|z{{zz{{y{{|||{|{{{|{{z{|{{{{|z|{{{z|{{{|zz{{|||{z{{{|{{z||||||{|z|{{{|{z{|||{|||{z{zz{{z{||||}{{{z||{{z{|{{{|{||{{{{{{{{}{}|{|||{|{{{{{{}||{{|||{{{{{{{|{|{||||{|{z{{{{{||{||}~||{{z{{{|||||||||{{{{|{{{{||}{{|{|{{{z{{z|}|{|{|||{{z{z{{|}}||{||}{|{||{{{|||z||}|{{{|{{{{|||||||{{|{{{{{{|{|z||||z{z|{z{||{||~~}}~~}||}}}}}~}~||}||{||||{|||{}|{{{zz{|{|{{||{{{{{{{{|z{}|{{z{|{{{{z{{{z|{{{{{|{{|{{{zz|{{{z|||{z{zz{zz|{|{z{|{|zz{{z{z{{{{|{|zz{{{{{z{{{|{z|{|z{{{z{zz{|{{z{{{{{{{zz{z|{{{z{||{z{{{y{{zz{{{{{{z{zzz{zzz|{||{|{zz{z{z{{{||{{{{|zz{{{zz|{{{||||||{|z{z|{|{||{|{||{z|zz{{|||{||||||{{{{{{{{||{|{{{|{{{{zz{|||{||{{{{z{{{{{{{{|{||{{{|{{{|}{|||||{{{{{{{{{{|{||||||{|{{{{{||}{|{|{}z|||zzz|{|||||{|{{{{||{{|{|}|}}{|z{z{|{{|||}}|||{{{z{|{|{{}|||{||{{{|{{{{|{{||||||{{|{||{|||{||{{{{{{{||}||}|||{|{{{|{z|{{||{||zz{{{z{{z{||z~~~}}~}}~}}~~}}}}|}|{||||{}||||}||}{{{{{{{||{||{|||{{{z{{z{{{{|||{{{{zz{z{}{{|{|z|{z{{{{{z{|{{{{{z|zzzz{{z{z|{{||{{z{z{{z{{{{{{{||{{{{{z{{{z{|||{z{zz{z|{z{{|{{z|||{{zz{zz{{||{{||z{{{{zz{{{{{{|||zzz{z{zzz{{{|{{{z{{z{{{{||{{z|||zz{{zzz{z|z{{{{|{{{{{{{{|y||{{|{{{{{{{{{{||{{{|{{z{|{z{{{|{{|}||{{z{zz{zz|||{|{|{{{{{z{{{{{{||{||{{|{{{{|{|{|{}||{{{|z{z|{{{{|||}{{z{{{{}z|{||||{|z{{{{{|}|{|}{}{{|{{{{|{{|||||}}{|||z|{{}||||}||{|||z|{|}||||}|}{{|{{{||||z|{||{{z{|{z||{|{|||{{z{z{z|{{||{{}}|||{{z{{z{{{||||{z{|{{zzz{|||{}}~}~}||}|~~}}}}|||||{|||||}||{}}|{z{{|z{{{|{||||{{{{{{{|z|{||{{|{{{{{|zz|{{{|}z|{{{y{{{|{{{z{|||{{{{|{{{{{|{{{{{|{zy{z{z{{|{{|{{{z{{{{zzz{}{z{|{|{|{y{z{{{|{||||zz{|z{zz{|{|z{|z{{{|{{zzz{{z{|||{y{z{z{zz|{{z|||z{{z{|{z{{{|{|}{z{{{z|{{{||{||||{z{{{{{{{{{{|}{{{z{{z{z{|{{z{|{zz{{{{{z{{|||||||{{z{{{{{|z{||||{|{z{{{{{{|{{{{{|{{{|{|{z{|||}||{{}z{{|{{|{{}{{~|{z{|{{{{|}|{||{{|{|{|{{{|||}{|}||z{zz||||}|||||}|||{{||{{|{|{||||{{{{{{{{||||{|||{{||{{|||||{{|||{{{||{{|||{|||{|||{{{{{{|{{||||{{{{z{zz{|||||||z{||{{z{||||{}~~}~}}}}{{|||}}|}|||{{{|}||}||{}}}{|{{z{{z|{{{{}||{{|{z{{z{{{|}|||{{|zzzz{{{||||{|{{{z{{{{{zz{{{|{|{{z{zzz{z|z{|{{|z{zz{{{{z{{{{|{z{{z{z{{{{{{{{{{z{{zzyyzzz{{|{{{{{{{zzz{{z{{z{{z{zyzzz{zzz{{{{{{{zzz{z{{{{z{{|z|{{{{z{yz{|||{{||{zzzzz{z|{{{z{|{{z{zyz{z|{{{|{{|{z{{{z{{z{|{{|||{{{z{{z{{|{|{{||{{{{z{zz|{||{{}{{{z{|{zz{{|{{|{{{{{|{{{|{{|||}|{{{{z{{||||{}|}|||{{{{{{{|||{{}{{{z{z{{|{|||||{|}{{|{z{|{{{|||}{||{{{{{{|{|}|||}|}{||{z{{||}|}||{{z{||{||{{{||{|}|{{||{{{{|{|||}{{{|{z||z|||{|{}}||z{z{z{z|{|{{|||z{{zzz{{z{{|~}~|}}}}}}|}}}}~}}||||||z{|}|||}}|||{||{{|{||||{|}|{|{z{{zz{|{{zz|{{{{zz{{z{{{|{|{|{z{{{{{z|{|zz{|{z{z{zzyz{{||{||{{z{{{zz{{{z{{{{{{{zz{{{zz|||{|{{|z{{zz{{{{|z{{|{{{|zz{{z{||{{|{{zzzy|z{zz{|{{{{|{{{zz{{z{{z{{|||z{zzz{{z{{{|{{{{{{{{zz|z{z|{{{|||yzz{z{{||{}{{}}{zzz{{{{{|{z|||||zzz{zz{{|{{{{||{|{{{zz{{|||{|||{{{{{{zz{|{|z||{{z{z{{{{{|||||||{{{||z{{{|{|{|||{|{{{{{{{{||{|{|{z{z{|{|{||{|||{{{{{{|||{|{{|}{}{{|{{{{|{}|}|}|||{||{{{{{}||{}}||{{{{|{{|{|{{||||{||{{{{|||}|}|}|{{{|{{{{||{{||}|{|z{{|{{}||}||{{z{zzzz{||{{{}~~}|}}|}||~}~||}}}|||{||||{||{{||||{|{{{{{{{|||}{|{z|{|{z||||}{{||{{|z{z{z|{|{{}{|{{{z{{{{z|{{{{|{z{y{{{z{{{|{{{{{|z{z{{z{{{z{|{|{{{z{zzzz{{{{{{|{{{zzzzzz|||{|{{{zz{zzz{zz|{{{{{|z{z|zzz{{{{z||{{{|{zzz{z{{{{{||{zzzz{{{z{{{{{{{{{z{{{zz{|{{z{{||{z{zz{{{{{z{|}{|zzz{z{{{|{{|{|{{{|{||{{{{{{|{|{|{{{{||{{{|{{{|||{|{{{{z{{{{{{|{||{||{{z{{||||{|{{|{{{{{||{||||}{{{{|{zz{{{||}}}z|{{{z{{z{||||}|}|{{{{|{{||{{||||}{{|}{|||||{||||{{{|{{{{||||||{{}{z{{{{{||||}||}{|{{|||{||}|||{}{{{{{{|{{|}||{||{|{{|{{z{{|||||{z{|{{{{z|||||}~~}}}}}|}|}}}||||}{||{|{{z|||}{|{{|{z{{{|{{{||}|{|{{{z||zz|{||zz|||{{{zzzy{{||{{{{{zzzz{zz{{{{{|{{{z{z{{yz{z{{{||z{z{z{z{z{{{z{{{{zzzyzyzz{z{{{{z{zz{{yz{z{{{z|{{{{zz{z{zz{z{||{|z{{z{zzzz{z{{z{{|{{{zzzzy{{z{z{{|{zzzzzzz{|{z{||{zzzz{z{zz|{{{{|{{{zzzz{z|{z{{{{}{{{y{z{z{{{{{|{|z{{z{z{z{{{{|{{{{z{{{{{{{{|z|{|{{{{{{{{z{{{z{{{{{{{{z{{|z{{|{|||{z{z{{{{{|||{|||{|{{{z{{{|{{||||{{{{|{z{|}{z|{z{|{||||{|||||{||||z{z{z{{{|{||{|{|{|{{{|{|{||||}||{|{{z{}{{{|||||{{{{|{{{|{{|{||{z|{z{{{|}{{|{||{{{{{z{{{{{{|{{{z|{{z{{zz{|{|{|}~}~|~||{|}|||}||||{|{z{|||}|{|||||{{{{|z|||{{|{|{{{|{|{{{{||{{{|{|{{zz{{{z{||{{{{zz{{{z|{{{||{||{{zzzzz{{z{{zzz{{z{z{{zz{{{{z{{{{z{{zzzz{{|{{{{|{{{zzzzzzz|z|{|z|z{{{zz{z{z|{{{{{zzz{z{{zz{|z{{|{z{zzz{{{{zz|{{{{{{{z{{zz|{{{{||z{{zz{z{{{|{z{|{|{zzz{{{{{{{||{{|{{zzzzy{{||{|{{{{y{{{z{z|||||{{|{{|{{z{{{|{{{z|{{{z{z{|z|||{{|{{{z{z{z{{{|||||{|zz|{{{{{{{|{|{|{{zz||zz{{||{||{{{z{{{zz{}||{|{||{{|{{{|{{{|{|{{|||{{z|{{||{||||}{{{{|{{{|{|{|{{{{{{z|{{|{{{|{|||{{z|{{zz{{{|z||||{{z||{{{{|{{||||{zz{z{{|{||{|}|zzzzzz{{{{{{{}}}|}||}{}||}{{||}{||{{{{z||{||{}}|{{{z{{|{{{|z{{|{{z|zzzzz{{|||{{}{zzyzy{z|{{|{{||z{z{{{{{{{|z{||{{{{{{z{z{|{|z|{{{{z{z{zz{{{|{{|{z|{{{zzzz{|z||{|zz{{z{yzz||{|{{|{zz{zzzzz{z{{{|{{zzz{zzz{{{z{|{{{z{z{{zzzz{{{|{{{z{zz{|zz{{|{{|{|{zz{z{z{{{{z{{|z{zz{{{z{{{{{{||{{{{z{{z{z|{{|z||{{{{zzz|{|{{||{z{{{{{z{{{|{|{|{{{z{zz{{{|{|{{{|{{{{{z{{|||{{{{|{{|{{|{z||{|{||{{{{{{{{z{{||||{|{z{{{{{{{|||{|{{|{{{{{{z|{||}|||{{{{{|{{{|||{|{}|{|{{z|{{{|||||{|z{{{z|{{{|{||||{{|{{{|z{{||||{|{z{{{{z{{|{{|{|{||{{{{{{{}{|||{|{{|{{z{z|{|{{}|}~}}||{}|{}}||}}|{|{|{z||||}||||||{{{{|{{{|{{||||{{|z{|zz||||{||{{{{z{z{z{|{z{{||{z{{{{zz{|zz{{|{{{{{{z{z{{|{z{{{z|{zz{{{{{{{z{{{|z{{zzzz{{{{{{{{{{z{zzzzz{||{{{{zz{{z{z{{{{|||{{{{{z{{{zzz{{{|zz{{{{{z|{|{{|{|{{z{{zzzzz{|{{z{}}{{{z{{|{{{{{{{|{z{{z{yz{{|{|{{{{{{{{z{{{{||{|{||{z{zz{{z{{{||{{{z{{{{z{z{|||{||{{{{{{{|{||||{|{zz{{{{{|{|||}{}{{{{z{{{||{{{{|}|||{z{{z{z||}{z|}||{{|{|z{{||||||||{{|{{{{{{||||||}{{{{|{{||||||||{{{{z{{{}|}||{~{{{z{{{|{|{|{|{|}|{{{|||{{||||||{{z{{{zz|z{{|||}|{{{|{{{z}||||{|{{||{{z{z}{||{}~}|}|}|{|{|}}|||}||{{||{|}|{{|{|}|{|zzz{{{{{{|{{||{z{z{zz{{|||z{{||{zz{z{{||{|{|{|z{{z{y{z{{z{z{|{{zzyzzzzz{{{z|z{{z{zzzzz{{|{{{||zzzz{zzzz|{z{{{{{zz{{zzz|{|{{{||z{zyzzzy|{z{{|{|{zz{zzzz{{{{{{{{|{zz{zz{z{{{{{{{z{{z{zzz||{{{|||{z{zzz{z{{{{{|{{zz{{{z{{{z{{{{||{zzzzz{{z||{{z||z{zzz{{z{{||z{{|{{z{{{zz|||{{{{{{{{{{{{|z{|{z{{|{{zz|{{{{||{}|||{|z{{{{{{}{{|||||z{|{zzz{|{||||{{{{|{{z{{|{{|||{z{{|{|{{||{{||||}{{{{||{{|{|||||{{||{z{{{|{|||}{{{{|{{{|{{|{{{}||{{{{{|{{||}|{|{{{zz{{||z|||||{|{{{{{{{z{||{{{|{{{{z{{zzz|{|{}|}}|{{|||{{||||{||{||{|zz{|{|{}|{|{{z|z{|z|{{{{}||z|z{{zz{z{{{{{|||{zzz{zz{{{}{{{|z{zzzzzz{{{{{{{{zz{z{zz{zz|zz{z{{zzzzy{{{z{{{|{{zyz{{z{yz{{{z{|{{{{zz{zzz||z|z{{{zzzzzzy{{{{z{{{{{zzz{zy{{|{{y{|{{{zzzzyzzz{{{{{zy{z{zzy{zz{z{{|{z{zzzz{z{|{z{{|zz|z{zz{{z{|{z{{{zz{zzzy{z{{{{{|{{z{z{{{{|{{{||{{{{z{|z{{{{{{{{{z{{{z{zz||{{|{{|{{{{|{{{z{z|||||{{{{{z{{|{{||||{{{{{{|z{{{{|{{|||z{{{{z{{|{{{||{{{{{z{{{{{|{}|{}|z{{{{{z|}{|{{||{{{{z{{{{|||{||||z{zzz{{{||{{{|{{{{{{{{z|{{|{|||{{{z{z{z||{|{{{|{{z{z{{z{|{{||{{zy{{zz{z{z{{{~||}{{||||z||}|||||||{|{{{{{|{|{}}||{{z||z{|{|{||}{{z{{zz{{{{|{{|||{{{{zzzy{{|{z{|{{{{z{zzz{{{{{{|{{|{z{zzz{z{{{||{zzzz{{z{{{{{{{{{{zzzz{yzzzz{z{{zzzzyz{zz{{{z{||zz{{zz{{z{{{{{{||{{{y{z{zz{z{{{{{zzzz{zzzz|z{|{{|zz{{{{zzz{{{z{{{{yy{{zzzz{|{{{{{zzz{{zzz|{z{{{||zyzzz{{{{{zz|{{|{{{{zzyz{{z{{{|{|z{{{zzz{|||{{{{{{{|{{z{|{|zz{{{{{zz{{{{{z||{|{}y{{{{z|{{z{{{||||{{{{{zz||{{z|{{{{{z{{{{{|||{{|}{z{{z|{|{{||{|{||{z{z|{{z|||{||||{z|{z{{{||||||||z|z{{{{{|{{{{|||{z|{{||{|{|||{{{zzz{{{z{{|||{{|{{z{z{{z||{zz{|{zzzz{{zz{{z|{~~}||{{{{|||||}}}|||||{{{z{|||||{|||{{{{{{z{{|{{{||{z{{{z{{{|{|{|||{{{{zzzz{{{|{{{|{z{{{{{zz{|{z{{{zzz{zyzz{{{{{{{z{{{zzzzy{{z{{{|{z{zzzzz{{z{{{{{z{{{{zzzz{{|z|{{|z{zzyz{yy{{{{{{{z{zzz{{{z{zz|{{{{{{yzzz{z{{{{|{{z{{{{{zz{|z|{||{{zzzzy{{{{|{{{{{zzzzzzz{{{{{{{{|{{{zzz{z||{{{{|{{z{zz{{z{{{{{||{{z{{{{zz{|{{{{||{{{z{{{{{|z{{{|z|z{{{zz{{|{||{{{{{z{{{{{{{{}|{|||z{z{zz|z|{{||{{|{{{{{{{{|{|||||{{{{{{{|{|{|||{||z{z{{{{{|||{|{}|z{{{{{{}{|{{||||{|z|{z{{{{{{{}||{{{|{zz|{{{{{|||{{z{zz{|{{|{{||{{zz{z{{{||{|{{|{z{z{z{z|{{{{}~}|}}{||{{||||{||||{|z|z{{{|{{||}|{{{z{{zz|{|{{||}{y{{zz{{{|{{{{{{|{zzyz{zz{z{zz{{zz{z{z{zz{{{z{{{zz{z{zy{z{|zz{{|{y{z{zyz{z{{{z{{zzz{zyzz{{|zz{{{{{zzzzzzz{{{|z||{yzz{{zzz{z{{z{|zzy{zz{zz{{yz|{zzzyzz{zz{|{zy{{|{{z{{{{z{{{||{z|{zzzzzzzz{{{z{||{z{zzyz{{z{{{z{|z{{z{z{z{{{z{|||{{{zzzz{z{|||||{zzz|{zzz{|{{{{{{z{{{{{z{||z{z||{{zz|{z{{{{|||||{z{zz{z{{|{{{|||}{{{z{z{{{{{{||{|{zz{zz{z{{|{{}||{zz{{{{{|||{{|||{{|{{{zz{~||||||{{{{{z{z{{||{|||{{zz{z{{|{{{|{|||{{{{z{{{{{z{{||{{zzzzzz{{||{{{|{|z{zz{|{{{}{{{{|z{zzzz{{z{|z}|}|}|||z|{{}}||{}||{{||z|{||||{{|}|{{{||{z|{{{{||}z{z{zz{zz{||{{||}{{{{y{{|{{||{{|{z|{zz{{z{z{{||{|z{zzz{zzz{z{|{{{{{zzzz{|z{zz{{{z{z{{zzzz{||{||z{{zzzzzz{z|{{z{{z{|yzzzzz{{{z{|{z{{zzzzzz{{{{|{z|{{zz{{{zzzz{{{|z{z{z{{zz{{{{{{{zz{{zz{{{|zz{{||{z{{{y{{||||||||z{{z{zzz{{{{|{{{{{{zzzz{{||{{{{{{{{{zzzz{|{|{{{{{{{{{zzz|||{{{||{{z{z{{{z|{{{|{{{|{{|{{||||{{||{{{{||{z{{|{||{}{{||z|{{z{|}z{}||{{{{{{|{||{{}}|}|{z{|{{{{||||{|||{|{|{|{|{|||{{|{{{{{|z|||{{|||||{{{{{{{||{|{||||{{{{{{{{{{{{}{|{|{{z{z{z{{||{||{{{{{z{z||{|{}|~|{|||{{z{}||~|||||{|}{{z{|z{|||}}|zz{|{{{z|||{|||{z|z{|{|{|{||||{z{{{z{y|{{|||{{|{{{{z{zzz{{{|{{{zzz{{zy|{{{{||{{z{zz{zzzzz{|{z|{{{{{zz{{{{|{}{{{zzzz{z{z{|{{{|{|{{zz{|zz|{|{{z|{z{zzzzz{{z{z{{{|zzzzzzzz{{{{{z|{{{zz{zz{{{|{||{{{{{zzz|{{{z||{{{{{zzzzz{|{{{{{|{zz{zzz|{||{{|||{{z{{{{{{|{{{{|{zz{zz{{{{|{|z{|{{{{{|zz{|||z||{{{{{{{||{z{||{|{|z{|z{{{{{||{|{|{{{z|z{{{|{{||{}|{{z{{|z|{|{|{|}|{{|{{{|{|{{||||||{{{{{{{{|{||||||{||{z{z||||||}||{{{{{{{||{{|||}||{{z{{{|{|{|{{}|{z{z|z{|||{{|{||{{{{{{z{|{|{|{{{z{{{z{z{{||{|}}|||{|||z{}|{}}||{{{{|{{z{|{z|~|||z{z{{{z|z|||||{|z{{{z{{z{{|{}}||{z{zz{zz|{{{|{|z{{z{zzz{z{{{{{z{{{zzzz|{z{zz|{z{z{z{zzz||z{z{{{zzzz{z{{z{{{{zzz{{|{z|yz{{{z{|{{{{z{{zy{z{{|{{{|{{z{zzzyzz{{{{{z{zzz{zzzz{z{{{|{{z|{{{z|z{z|{||{|z{zz{z{{z{z{|||{z{{zz{z{|{{{|{|zz{zz{{||{{{|{|{{{z|{{{z{{|{||{|zz{{|zz{{{|z{{{||zzzyz{z{|{|{{|{{z{{z|{{z|}||}|}{|{z{{{{{|||||{|{{{{{{zz|{{{{||{||{{{|{{{||{|{||{{{|{{|{||{|||{z|{|{z{{|{}{||||||{{{{{z{}{||{||{{z{{{zz{{|{||||}{{|{{{z{|z{|{{||{|zz{z{{|{||{||{{|{{{zzz{{{|z{{{{{{z{zz{{|{||||}z|{{{|{|||||||{{{{{{|{{{{|||{|||z{{z{{{z{||{|||{|{{z{{zzz{||{{{{{{{{zzzzzz||{{{|{{zy|z{z{zz{{{{{{{{zzzyy{{{|z{{{z{zzzz{{{|||{{{{zzzz{yzyzz|{{{|{{zzz{zz{z{{{{z{|||zzyzzzz{z|{{|{{z{{{{|z{zzzz{{z{zzzyzzz{|{{z{{{{yzzz{zz{{{{{{|{{z{zzzzz{{{{{|{{zzzzzzz{zz{|z{|{yz{z{{{z|{{{||{||y{{zz{zz{{|{{{{{y{{z{zzz||{{|{{zzz{|z{z||{{{|||{zzz{{z{{|||{|||{{{{z{|{||{|{|z|{{|{zzzzz{{|||{{|zz||{{{|||{{|{|{z{{{{{{|{{|{{|{{z{{{{{{{{zz{||{{z{{{z{|||||||{{|z{{{z{z{|||{{||{{{z|{{z{z||{{{{{zz{z{{{{{{|z{||{|z{{zz{{|{|{|{{{{{yzzz{z{|{{~|}{|||{{|{|||||}||{{{{|{|{{|{{{{|||{{{{|zz||{{{||{{{{{{{z{{{||{{{|z{|zz{{{z{|{{|{{{zz{{z{{{{{{{z{|{{{z{y{z{{{{{z{z{{zzzzz{{{z||{z{z{z{{zzz{{{{z{{{{z{{yzzzz{|z{z{|{{{zzz{y{{|{{{{{|zzz{z{zz|{z||{{|{zz{z{{{{zzz||{zz{{{{zzz{{|{{|{z{zzzz{{z|{{{{{|{z|{{{zz{{{z|{{|zz{{z{{y{{{{|{{|{zz{zz{z{|{|{|{{z{|{{{{y{{{{{{|{{zy|zz{{{{{{z||{|{zz{{{{{z|||{|{{{z||{|{||||||{||{{z{z{z{|||{{{{|z{{|{{{|{{|{|||z{{z{{{{z{|{{|{{}{|{y{{|{z|||||}||{z|z||{{{|{|||{{{{{|{z{{||||{}|{{{{|{{}|{{{|{|{z{zzz{{{{{||{||{{{{{z|{{{{{|}|{{{||{{z{{{{{{}}|}|{{||{{{{}}{||{|{zz||zz{{||{|{}{{{z{|{{{|{{{|}|{zzz{zz{{{|{{|{|{z{{zzzy{z|{z|{{zzzzzy{z||z{{|{{{{zyzzz{{{{{zzzz{zyzzzz{{{|{{zz{{{zzzzz{z{||zz{{{yz{z{zz{z{{|||{{{{{zzzzz{z{{{||{zz{{zzyzz{{{{{{z|z{{zzz{{zzz{|{zzzz{zyzz|{{|{{{{|{{y{zz{{{{||{|{z{{zzzz{{{{{{{{zz{zz{{z{{|{|{|{{zz{zz{{z{{{|{{{{z|{z{{z{{z{{{{{||z{z|z{{||{|{{|{z{z{{{{||z{|}|{zz{z{{z{|{{{{}||{{{z{{{z{||}|{|||{z{|{{z||{{||||{{{z{{{{{||{|||||||{{zzz{|{|}|}{|{{|{zz{{{|{z|{}{{|z{{{|{{{{||||z{{{{z{z||||}{|{|z|zz{{{{{|{|{}|{{z|{{{z|z|{|{{{|z{zz{|z||{{z}|||{{{{{{{|}{{|||}|z{{|{|{{{|{||}||{{{|{{z{z{|{|||{{z{{zz{{{{{{z{{{zzzzzzz{|{|{z{{{z{zzzzzz|{{{|{zzz{y{yz{{{{{{{zzzz{yz{zz{zz{{zz{y{zzzzz{y{{{{{|{{zzzy{{{{{|{|z{{zy{zzzzzz{{zz{{zz{z{zyzzz{{zz{z{zzzz{zzzz{{z{{{{{{z{z{zzzz{|{{{{{zzzzzy{zz{{{{{|{z{zzz{{{z{|z{{|{{zyzz{{{{zz{|{z{y{{zzzzz{|{{|{{{z{yz{zzz{{|{|{z{z{|z{{{{{{{{||z|z{{{{{{{|||{}||{{z{|z{{zzz{{|||{{{|{z{z|z{yz{{{{{{{|||z||{{{{|{{{zz{z|{|{{{||||{z{{z{{{{|{|{{{|||{{{{{{|{{|{||{{{z{z{{z|{{||{||z{{z{{z{{{|{|{||{zzzz{{{{z{|{|||{{{zz{z{z{{|{{{|zz{z{zzzz{}{{|}{|||{|{{|{|{|||||zz{|{z{z{{{{||||{{{zz{{{|{{{{|||zzzy|zz{{{{z{||{{{zzzz{{z{{z{||{{{zzy{{z{|{{{{{{{zz{{zz{zz|z{|zz{zzz{zzz{zz{{z{|{z{zzz{{y|{z{{{{z{{zyzy{z{{{{|||zz{zzzzy{{{{{z||{zz{zy{{z{{z|{{{{z{{zz{zz{{z{z{{zyzzzzzz|z{{{|{z{{yyzz{zz{{z{{zz{|z{z{{{{{{{{|{|zzzz{zz|{z{z{{|{z{z{{z{z{|z||{{|{{{zzzzz{z{|z{{{{z{{z{z{{{{|{{{{z{zz|{{zz{||{|||z{{{zz{z{{z|{|||{{|{{{zz{|{||||{{{{zz{{{z|{|{{|{{z|{z{{{z{|z|||||{{{z{{{{|||{|||z{{{{z{z|{|||{{||z{{{{{z||{{|z||{|zz{|z{{{{||{}|{{|{z{zz|{||{{||{{z{zz|{{{|{{||{{zz{{{{{{|{{{||}|||}{{{{{}}||{{||zz{{z{{}{|{{{{}{{z{{{z{|z|{{{z|{z{z{{z{|{||{{{{{yz{yz{{|{{|{{z|{z{{zz{y{|{z{{{{|z{zzzyzz{{z{{{{zzz{zzz{{{z{z{{{{zzzz{z{z{z|{{zzzz{zzyz{z{|{|{||{zzz{{{zz|zzz||z{{zz|{{z{z{{{z|{z{{zz{{zz{z{{||zzz{zzzz{{|{{z|{{|y{zzzz{{{{{{|{||z{{z{{{{{{{{{{{zzzz{{{{{z{zz{|{{z{z{z{zz{{{{{{{{y{z{zzz{{{{{{|||zz{z{z{||{{{|}{|{z{{{{{{|{|{|{{z{}z|||{{{z|||}|||{{z{z{|||{{|{|{{{|z{{z{}{{{||}{{{{{{|{{{{|{}||{{{|{{z{z|||{|{|{{z|{{|{|||{{|||||{{z{z{{|{|||||{|{||zz{{|{{z||||{{y{{zz|||{|{||||{z{zzz{{|{{||{{y{yz{{z{{{z{{|}{{||z{||z||||{||||z{z{{{{|{||||}{|{z{zz{{{{{{{{{{z{z{{{z{{z|zz||z{yyz{{z{{{}{{|{{zz{yyz{z|{z{{|{{zz{zy{zzz|zz{|{{z{zzzzz|{{{y{{{{{zzzz{zz{{{{{|{{zzz{{y{z|{z{{|{{zz{z{{{{{|z{|{z{z{zzy{z{{{z{{|z{z{zzzz{{{{{{||{z{z{{{yz|{z{{{{{{{{z{{zzz{{{{{{{{z{z{zz{{{|z{{|}{{{z{yzz|{{{{|{{{{{{zz{{{z{|{{|{{zzzzzz{{{{|}{|{{{{{{z{{{|{{{||{{{{{z{z|{{||{{}{{{{{{{{{|{{|{}}|zz{{{{z{{||{{||{{{z{{{{z|||||{{|{|z{{z|{{{|{|{|||{{{{{{{|||||{||{z{|{{|{{||{{|{{|z{{{zz{|{{{{||{{{{{{{{{{{{{{{|{{{z{{{{||{|{z|||{z{|{{zz{|{|||||{z{yzz{{{{{{{||{|||{{zz|{|||}||}{|zz{z{{|{|||{{|{{{z{|{z|{{{}||{{{{z{{z{{|{{{{|{|y|{zz{{{z||{|{zz|zzzz{zzz|{{{{{{{z{{z{z|{{zz{z{{{zzzzy{|z|{{|{{{{{zzyz{{{z{{z{{z{zyzz{z{{{z{{|{{z{zzz{z{zz{z|{|z{{{{zzzzzzyz{{|{zz{zz{zz{{{{|{|{z{{{y{{z{{{{{||zz{{{zzz{||z{|||{{{zzz{z{z{|{{{|z{{zzz{{{{{{{|{||{{|zz{{{{{{|{{|{zzz{{{{||{{{||{{zz{{{|{{|{{{|{{zzzzz|z{|{{|{|||zz{z{{{{{{z||{|}{z{|{{{z{{{{z||||z{{|{{{{{|{||}|{||{{{|{{|{z|{|||{{zz{{{{||||||{{{|{z{|{||||{{||{zz||{{{|||||}|{|{z{{|z}{z{{{{}|{}z{{{{z{{{}|||{{|{{z{{zz|||z{}z|{z{{{{{{{|{|}||{|{z{|{{||{||{|}{|z{{{zz||{{|{}|||{z{z{z{{{{{{}|zz{{{z{z|{|{{z{{|{{zzzzzz{|{{|{}{{{zzz{{{{|z{}{|{{{{y{{z{{|{{|{|{zzzzzz{{{{{{{{{|zyzzyzz{{{{{z{{{{{z{{z{{{{{z{{{{z{{zz{y|{|zz{{|{{zz{zzz{{{{z{{{{{{zz{z{||{{{||{{z{{{y|zz||{{|{|{{{z{{|{{|{{z|{|{{zz{{z|{{{|z|{|z{{{z{zz{{|{{{z{{z{z{z{z{|{{{||{{z{{zzy{{|{{|{||{z{{{z{{{||{{{{z|{{{z{z{{z{||{{}{y|{{{|{{{{||}|||{|||{{{{{{|{}||||z{{{{{||}|{{|||{{zz{{{|{||}|}||{{{z|{{z|||{|}|{{|{z{z{{{}|||}||{{|z{{{|||{||||{{z{{{{{||{||||}{{{z|z{z{{{|{{}||{zz{zz{{||||{}{{z{zz{{{{{{{{{||{{{{{{z||}|{|||||{{{{{z{|{|{{|||{{{z{{|z||{|{|{{{z{z{zzz{|||{z{|{{zzzzzz{{|{{|{|{yz{z{{zz|zz{{{z{zzzy{z{|{{{z{{z{zzzyzzz{{z{{|{{zz{z{yz{z{{zz{{{{z{zz{yz{{{{{{{{z{{{yzz{{{{{{z{z{{zz{z{z{zz{{{{zz{z{zz{zz|zz{|{{{zz{zz{{{{{{|{{|{zzz|zz{z{{{z{{{{{{{zz{z{{{{|{z|{{{z{{{{||{|{{{|{y{zyz{{{{{{{z{{{{{z{z{z|{|{z{{{{z{{|zz{{|{{|||{{{{{z{{{|{|{|{{|{{{|zz{{|}{||{|{|{{{{{z{{|{{z|}{|{{{zz{{|{|{{|{|{|{z{|{{z||{{{||{{{z{|{{{|}{{|||{{||{z{z{{|{{||||zz{{{{{{|{{}{||{|{{{z{{|{|{|{||{{{{z{zz{{{{|||{{{{{||{{{{{|{{}}{{{z{z{{z{{{|}||{|{|{{{z{||||||}{{{{zz{{|{|||{}{{{{|{zzz{{|{{{||{z{{{yz{{{||z{}|z{zzzzzzz{|{{{{|{{zzzyzy{z|{{{{{|zzzzzzz|{|z{|{yz{{zzzz{{|{{{{{{{{{zzzzz{{{{{{|{zz{{zzzz{||zz{||{z{{zzzzz{{{{{|}{yzz{zzyz{{{{z{{zzzz{{yzz{{|z{{{zzzzz{zzz{zz{||{{{zz{{z{z{{{{{{{zz{{|zzz{|{||{|{{{{{z{{z{{{z{|||{zzz{zzz{|{|{{|{{{zz{|z{|||{{{{{{z{{{zz{{||{{|{{{z{|{{{{{{|||{|||{{z{z{z{{|{{|{|{{z|{{z|{|}|}{|||{{{{|{{{{{{{{|{{{{|{|{|{|{|||{||{|{{z{{|||||{|||{{z{{|{|{||{||||{{z|{zz{{||{|{|{{z{{||{{|z{||||}{{z{{{z{|{||||{{|{|zz{{{||||{||z{{z{{zz|{{|{|{}||{{|{{z||||{|}|{{z{{{zz{|{{{|{||{zz{|zz|||||z{z{|{{z{z{{{}{z{}{{{{z{{zz{{{{{{||{z{z{{{z{|{{{|{{{z{{zz{zz{|zz{{zzz{yzz{{{z{{||{|{zzzzz{zz{|{|{{|z{zzy{{z{{||{{{||z{zz{z{z{{{{|{z{zzzz{zyz{{zz{{{{{zzzzzyz{{z|{{|zz{z{z{{{z{|{||{{z{{{zzz{z{{{||||zzz{z{{{{{{{|{|{z{{{{{{z{|{{{{|{z|{{z{{{|{{{|||{{z{z{zz{{|{{{|{{z{z{{{{{|{{||{|}{{{{z{{{|{||||{z{zz{{|{{|{||z||{{{{{z{{||{{|||{|{{{{{{{|||||{||{z{z{||z{{{|}{|||{|{{|z{z{|}{||||z{|{z{{{|||||||{{{z|z{|{{|}||{|{{|{{|{{z}|||{||{||z{{{{{||{{||||{z{{{{{{}}|{{||{z|z{{{{||{zz|}|{{|z{{{{|{{{{|}||{zzzzz{|{|{{{{||{y{{{{z{{|{|{{|{{zz|zzz{|z{{{||{y{zzzzz{{z{{{{|{{{{zz{z{|zz||zzzz{{z{yz{{{zz{{{zz{zyzzz{{zz{{{|{z{yyzzz{z{|{{|{zz|zzzzz{z{{{{z{z{z{zz{z{z{|z{||yyzzzzz{{z{z{|z{{z{yzyyz{{z{{{{{zzzz{{zzz{{|zz|{{zzz{z{{z{|z{|{{zz{{zzzz{z{{|{||{zz{zy{z{{{|{|||{zz{yz|{z|z{{{{|{z{{zz{{|{|{z||z{{zzz{z|{{||{{{{{{zzz{z{|{|{}||||{|z{{zz||{|{{}|zz{{|{z{}z|||{|||z{{{zzz{|{{{}||z{{z{{{z{|z{|||||z{{{{{{{}||z|||{{||{zy{{{{{|||{{zzz|z{{zz{{}|||{{{zzz{z{{{|||||{{z{{{z{z|}{{||{{z{z{zz{{||{{|{{z{{z{z{z{z{zz{}|{{{z||zz||{{{{|||{{|{zz{{{{{{||{|{z|{{{z{{{|{{|{{z{{{{{y{{||{z|{{z{{z{zz{{{{|{{|zz{{{{zz{{{{{{|zzyz{{{{z{{{{{|zz{{z{z|y{|{{{z{{z{zzzyzzz{z{{{|{{zzzzz{zz||z{|{{|{zzyzyzz{{{{{{{{{zzzzyzz{{{z{|{{{{zzzz{{{{z|z||{{zzzzyz{{{{{zz{{|zzzzz{z{{{z{|{|{zz|{zz{{{{|{{|{z{{zzzz{zz|{||||{{zzzz{zz{{{{}{|z{z{z{yz{{|{{||||zz{{{{{|}{z{{|||zzzz{zz{{|||{{|{{|{{{|{||{{|{||{z{z{|z{{}z||{|{{{zzz{z|{{|||{{|{zz{{{|z||{|}}{|{{{{z{{{{{||{|||{z|zzz{{{|{}{||{{{z{{z{{{{z|{|||{{{{|{{{{|z|{||}|{zz{{z{{{|{|||{{zzzz{{z{{||{|{|z{{{{{zz{{||{|||{{{{z{{y{{{z||||{|z{{|z{{{{{|{{|{{|z{|{z{{{{{z||{{{z{zzz{zz{zzz{z|yzzz{y|z{{{{z{{z|z{zz{z{{{z|{|{zz{zzzz{{|z{{z{{zz{{{{z{{z|z{{|y{z{{z{z{z{{zz|{|z{zy{{zz|{{{{{{{{zzzzzz{|{z{z{{{zzz{{zz{{{z{{|{{{{zzzzzz{{{z}{{{{{{{{zzz{|{{z{{{{{y{z|z|{{z{z{{zz{zzzzz{|z{{z{{zz{zzz{{||{{{{{{{z|{{z{zz{{z{{{{{zz{{zzz{|{|{{}{z{z{zzz{{{{zz||{{zz{{{z|{{{|{|{|{z{{{z|z|{z|{|{}{{|{|{zzz{|{{{{|{z{z|zz{{{{|{|{||{{y{{|{{|{z{|{||{{{{z{|z|||{|||{z{|{{{||{{|{|||{{{z|{{{|{{{{||}{{zzzz{{{|{{}{||z{{z{{{z{{|{{{}|{{{zz{zz|{{{{{|{{{zzzzzz{{|{{|{{|{z{y{{{{|{{{|||{|{{{zzz{{||{|}|{z{{{{{{{{{{||{{{{{{z{z{{{{|z{{{z{zzzz{zz{{{{{{{z{|{zzzy{{{{z|{{|{{zz{z{{{{z{zz|{zzzz{{zzz{{{|{|{z{zzzzz{{{{{z{|{{zzzzy{z|{|{{|{{zyz{zzz{{{{{z|{{zzz{zz{zz{|z{|zzzz{zy{z{{zz{|{{{zzz{|zz|z{{{{|{zz{{{zzz{{{{{|||zy{{yzzz|{{z{{{z{{|z{yzz{{{{|||{{{{{{z{{z|||||z|{z|{{zzz{{{{{z||{{|z{{z{{{|{{|{{{{z{|{zz{{|{|||{{|{{{{|{{|||{}|||{{{{{{{{|}{{|||{yzz{z{z{||{{{}||{||{|{{|||{||{{|{z{{{|{{||||{|{{{||zzz{{|||||{|{z{{|{{z{{{{{{||{{{z|{{{{{{||}{|{{{{z{zz{{{||{|{{{{{z{zzz{{||{z{{z{{{{zz{{|{zz{{{|{{{z|z{{{{z||}{{z{{{z{|{}|{{||{|z{{{z{{{{{{{{{{zzz{z{zz{||z{{{{{{zz{{z{{|{z{z{{zzz{z{{{{{{z|{{|{{zzz{{{{|{zz{{z{yzzzzz{|{|{{{{zz{zzz{{{{{{{{{zzz{zz{{{{zz{{{|{|{zzzzzzz{{|z{z{zzz{z{{{zz{{{{{{{{zz{z{yz{{{||{|{zzy{{z{{{{{{{}{{z{zz{z{z{{{z{{{zz{zz{zz|{z|{{|{zzzyzzz{{||{|{|{{{|{{{{{{|{|{z|{{{z{{z{z||{{{|z{{{z{z||{|||{{{{{{{{{{{{{|||{||||{{{zz{{{{{{|z|}}|{{{{{{z{{|{{{||z{z{{{{z{|{{|{|{||{{{{{{{|{||}|{}{{{|{{{z}{}{||}|{|{{z{{|{{|z|{{{{{zz{{{|{|||{|||{z{{zzz|{{|{{||z|{z{{{z{{{{|||{{{{{{{zy{}||{{||{z{{{z{zz|{|{{||z{{{{||{|{{{|}{|{{{|{{{{|{|{{}||{zzz{{|{|{|{|{{|{{{{{z{{{{z|{||{{{{zzz{{|{{{|{{|z{{zzz{z{z|zz|{{|{{{z{{z||{z{{{{{{zz{z{|{{{|{{{{zyz{zzz{{{{||{{{{{{z{zzz{{||z{{{z{{zzz{zz{{|{{|||z{z{y{z{zzz{z|{|{{zz{{{z{{{{|{{zzzzzz{{{{|{|{{{|{z{{z{{|||z|{{{{{{zzz{zzzz|{|{{{{{{z{{{{{z{{{|||z||{{{{{{|{||||{{{{|z{{{{{|||{|{z{{{{{z{{{{{|}{{{{{{{{{{|{|||{|{{|{{||{{||||}|}{{}|{{{{|||{|||||{{z{{{{|||||{{|||{|{{{{||{|||||||{{{|z{|{{}|||||z{{{|z{|||{|||}|{|{|{{|||{|}||{|{{|{{|z{|{|}||}|{|{{{zz{{|{|||{||z{{{{{{{{|{|{|{z|{zzz{|{{y|{{|||z{z{|||||{|{|}|{|{{{zz{||||}|||{{|z{{z|||z{{|{{z|{{z{{{|||{{||{{{z{{zz{||{{{{{|{{zzzzzz{{{{|{{{z{z{{zz{{{z{|{{{{{{z{{z{{{|{|{{{{{z{z{z{|{{|{|{{{{{{zz{z{|{|||{{z{{z{{z|{{z{{|z{z{zzzyzz|{{{z{|zz{yzzz{{{|{{|{|{{|z{{{{{{||z||{{zy{z{{z{{{||||{{z{zzz{zz|{{{||{{{{{zz{|{}{zz{||zzz{{{{{{{{{|||{|{z{{{{{{{||{{|{{z{|{z{||||{|}{}z{z{{{{{|{||}||||{{{{{|{||{|||{||{||z{{{{|||||}|{{{{|{{||||}|{}|{{z{{||{{||}||}}{{{{|z|{||{}||~||{{||{{{}{||}}|||{{{{||{{|{{|||||{{{z{|{{||}|{||{{z{{{{{||{{{{{||{|{zz{{{|||{{|||{{{{z|z{|{|{}}|{{|{z{|{||||{{||{{{{{{|{{||{}{|{{|{{zz{z{|{|||{{zz{zz{z{{{|{z{{{|zzyz{zz|{|{||||{zz{zz{z{|{z{|{{|z{{{zzz{{z{{{{z{zzzy{{{zz{||{{{{zzz{zyz{|{{{{{{zz{z{zz{{{|z|z{{{{{{zzz{{|{{|{{{{zzzz{{zz{{z{{|{{{zy{zz{{zz|z{|{{{{z{{{z|{|zz{{{{{zz{{{{z{{{z|{|{zz{zz{z{{{{|{{|zz{|{{{z||{z{z|{{z|{{zz{{}|{||{{z{{{{z{z{||{z||{{z{{{|{{||{{{{{{{{{z{{zz}{|{||{|zz|{z{z|||||{{|}|{{{{z{z{{||{|||{z{z}{{{||||||||{{{{{{{{{|{|{||||{{|{{{{{||||{||{{{{{{|{||{|{}|||{{|z|z{||{||{|||{{{{{z{||{|}||{{{|zz|||{|{{{{|{||{{z{{zz||||{}{{{{{{{{{{{||{|{{zz{|{{{z{{||{z{|{{}{{{{{{|{|{||{z{zz{{{z|{{|{||{zzzzzz{z|{z{{{|z{{|z{zzzz{|{{||{zy{zz{{{{z||{{{{{{zzzzz{{{|{{|{{{z{zzzy{{z{{z{z|{zzz{zzzz{z{{{|zzzz{yzzz{{z{{{{zzz{zzzyy{z{{z{{|zz{zzyzyz{{{z{{z{zzz{z{{z{{z|{{{zy{zzz{zz{{{{{|{z|zzzzzzz{{|{{||{{{z{z{z{z{z{{{|z{z{z{zy{{{z|{{{{|{{{z{zz{{{{|{{{z{zzz{{{{|{{||{{zz{{zzz|{||{{{|{{{{{z{{{|{|}|z||{z{{{{{|{{|||||{z{{|z{{{}|{||{{|z{{|{z{{||{|{{|{{|z{{{{|{z{|{||}{{zz|{{|}{|||||||{z||{{{||{{|{|{{{z{|{z||{|{{||{{{{{{|z{zz{{|||{z{{{{z{{|||{|{{{z{{z{|{{||{|{|||z{zzz{{{{{{|||{{|{{{{zz{z{|{{||{{zzz|zz|z{{{{{{{{|{zzz{{{{{{z||zzzz{{z{z|zzz{|{|z{{{yz{z{|{{{{|{{z{z{{{|zz{{{|{z{|{zzzz{{{{{{{{{z{zy{z{zzz{{{|{y{zyy{zz{{{{{{|{zz{{zyyz{z{|{{{{{yzzy{zzz{z|z{|{|yz{{zz{z{{yz{{{zzzz{z{zz{{{{{|{zz{{zzzzyz{z{{zz{zz{{zzz{{|z{{|{{zz{zzzz{{|{|z|{{z{zzy{z{|||{{|{z{{z{z{z{{{|||{{{{{{{{zz{||z{{||zzz{{{{z{{{{{{z{|{z{{z{{|{||{{|}{{{z{{{{|||z{|||{yzzz{{y}{|||{||{{{z|z{z||}|||||{{{{||{|{|{{|||||{{{{{{{||{|||}{{{{{z{{z|{|{{|{|{{{{{zz{{{z||{{||{|zz{z{||{{|{{}{{{z{{z{{|{{{||||zz{zz{{{{{|{|||{{{{{z{zz{{{||||y{{z{z|zz||z{{{||z{{{z{z|{{||{||{{zzzzz{{{{{{{||{z{{{zz|{{z{{{{|{{{y{{zy{{{{z{{{{zzzzzzzz|{{{{|z{z{{{{{zyz|y{{z{{{zzz{{{{{z{{{{{{zyzzy{z{{{{{{z|yzzzzzz{{|z{{{{{z{zzy{zz{|||z{{{z{{z{y{yz||zz{{{|yz{zzzzz{z{z|{{zz{zz{{{{{{{z|{{z{{{z{z{z{{{{{{|z{z{{zz{||{{|{{{zy{z{zz{z{{{z|{{zzz{{zzz{|{|{|{{zzzzzz{z{|{{{{|{|z{z{{{z{z{{{{{{|{z{{{{{{{||{|{}{{{{{{{{{|z|||{|{zz|{{zz|{{}}||{|{{{zz{z{|{|||}|{zz{||{{{{||{|||{|{{{z{{{}|{|}}{|{{{z{{{{|||||{||{z{{{|{{{|{||||||{|z{z|{}{|||{}{|{z{z{z{{|zz|||{}{{zz{{{|{|{{|{z{|zz{|{{|{{{{{{{{{{zzz{z||{||{|{{{{{{yz|{{{}{{|{{z{{{z{{{z{{{|{{{{{|z{z{{{|y{{|{{{{zyzz{{|{||||{z{zy{yyz{{{{{{{{zzzyzz{{{{zz{{{z{{zz{z{zzzz{z{zzzzzzzyz|z{{{{{{{z{zz{yz{z{{{|{zzz{zz{zz{z{{{{{z|{zzzzzyzz{{{|{{{{{zzzzyz{zzz{{|zzzzz{zyz{{{{{|{zyy{zz{{|z{{{{{{{z{{zz{yz{{zz{z{zzz{{zzy{{{{{z{{{z|z{zzz{||{{{{{zzzzz{zz{{z{{z||{zz{{{z{{|{{{{{z{z{{{{z{{|{|{||{z{z{{{{{|{{|{{{{{{z{{{zz{|}{|{|{}zz{{{z{{{{{{|z|z{{{|||{{|{|{|{||{{{{{|z{|||{|{}{|{{zz{{|{{{|}|{|{zz|z{{|||{{||||{zz{z{z{{{||{{|z{|z{}z|{{{{{{{{|{{zz{{z{|{|z{{{zz{{{y{z{|z{y{{||{{{{z{z{||{|{||{|z{{{{z|{|{{{{{z{{zz{zz{|z{||{{|{z{z{{{{{{{z{||{{zzz{{{{{|{{{{z{{{{{zzz{|{z{|{z{{{z{zzz{{{z{{{{zzz{{{zz{z{z|{{{yzzz{{{z|z{z{z|{{{{zy{zy{{z{{{{{{zz{{{zzz|}|{{{{zzzzzzzz{{|z{{||{{zz{zzzz{{zz{{{zzzzz{{y{zz{|{{|zyyzzzzz{{{z{{{{zzz{zz{{|z{{zz|zzzzzz{zz{{|z{{|{{{zz{z{yz{{||{|{{z{z{z{y{z|{{{{||zz{zzz{{|{{|}{{||z{z{{{{|{|{{{{{zz{{z{{|{|||{|{{{{{z{{zz{|||{}{}{|{{{{{{}|{||||{|{z{{|{|{{{|{|||{|{z{z{{||||{||{{||{z{|{|{|{||{|z{{{{|z|{{{{{||{zz{||z{|{{|||||{|{{{{{{|}||{||}|{{{zz{{{|||{||{{zz{zz{{|{{{{{{|{{{z{{{z{{||{{}|zzzz{z{z|z{{{{||{{{zzzz{|{|{|{|{{zz{{z{z{{{}{{||{{zzz{{{{{{|{|z{zz{y{zzz{{z{|{{{{z{{{{{{{|{z|{{{zz|z{{zzzz{z{{{{z{{zyzz|z{{{{{|{{y{{z{zz{{|{{zz|{{{zzzzz{{|{{{{|{z{zzzzz{{{{{{{{{zz{z{zzz{{z{|{{{zz{zzzz{{{{{||{|zzz{yzz{{{{{{|{{{{yzz{{{||{||{|z{{{{{zzz{|{|z||zz{{{z{z{|{{{{{{|zzzzzzz|{{z{|}|{{{{z{{{{|}{{||{z{{{{{{{{||{||||{{z{{{{{{{{}{||||{{|z{{z{||}|{}|{{z{{|{{|||{|||||{||z{{{||{||||||z||z||{{||{|{|||{z|{{{{||{||||||{{{{{{{{||{|||||{z{{{z|||{|{||||{{{{{zz{{|{|{|{|{|z{{||{||{|}z{{{{z{z{{z{{{{|{||{{zz{yy{||{||||z{{|z{{{|{|{|{|||{y{z{{{{{z{{|{|{y|{z{z{{||||{{{z{{{z{{z{|{{{|{{z{|zz{zz{{{z{{|{{{{zzzzz{z|{z{|zzz|yzz{z{{{{{{||{{{zzzzz{{{{z||zz{{{zz{{{{{{{{{|{{{zyzzz{|{|z{|z{zz{z{zzz{z{{{{|{z|yzz{z{{{{||{zzz{{{{{y{z|{{{{{{{zyzzzzz{{{{|{z{z{{|zz{|z{{|{{|{{{{zy{z{|{{{{{{|{{zzz{zz|{{{{{{{{zzz{{{{|z{{{|{{{z|}{{{|{|{||}{{z{z{{{{{||||||{{{{{z{{|||{{{{}}{{z{{{{{{|{|||{|{z{{{z}{}}{{|{{}|{|{{{{|{|{|{}}|{{{{{|{z||||}||||{{{z{{{|z|||}{|{{zz{{{{||{|||{|{{{|{{{{{|||{|{}||{{|{z||||||{}|{{{{{zzz{{{{{|||{z{z{{{z{{|{||{||{zz{zzy{||{{||}{zz{{{zz|z|z{|}{{{|zz{zz{{||{|{|{{z{{{{zzz{{{{{|{{{zz{zz{|{{{{{|zz{z{z{yz{{{{{{{z{z{zz{{{{z{{{||zzzz{{zz{{{{{z|{{zz{zzzz{{|||{|{{zz{z{zzz{{{{{||{z{{z{zz{{{{{{{|z{z|zyzyz{{yz{|z{{{y{z{z{z{z{||{{{{z{zy{z{{||||{z{{z{{{z{{{{{{{|{{{zzzz{{z|{|{{|z{{{z{zz{{|{{{|{z{{{{y{{zz|}|{|||z{{z{zzz{{{{|}|{z{z{zzz{||{{{{{{{zzz{{{||{|{{||{{{{{{||{|{{|}{|{{{{{zzz{{{{}||{{{z{{zz{|}{{{}||}|zz{||z{||{||||{{{{{{{||}|||}}}{z|{z{{{||||{|}|||{z|{z|{{{{|{|||{z{{{{z{||}||{|{zz|{{z{y|||{|{{{{{z{{z{z{{||||{|{{{{z{|z{~{|{z{{{zz{{z{y|}{{{{{{{{{{z{{{{{{{{||{zzz{{{y{{{{{|{|{{zz{{z{{|{|{{{|{{{yzzzz{{{{z|{{z{{{z{{z{{|{{{{{{{{z{{{{|{z{z||zz{zz{yyz{z{{z|{{z{{z{zyz{{{{zz{{{zzzy{z{zz|{{{{{{z|zyzzzz{{|{{|{zzz{zzz{zz{{{{||{{zzz{{z{{z{{|{{{zzzy{z{z{{z{||z{zzz{{z{{{{z{{{|zz{{{z|zz{||{z{|yz{zzz{z{{{{{{{||{{{z{{{{{{|{|||{z{z{z{{{{{{{{|{{z{{{z{{{{{z{{{z{z{z{{{|{{{{|||{z{z{z{}{||z|||{|{{{{{{zz{{|{{|||{{{{z{{{||}z||||{{|{{|{{||{{{}|||{{{z{|{|||}|{|||y|{{z{{{|{{|{||{zz{z{{|{|{||}||{{{{{{{{{{{|}|{|{{{z{{{{||{{|||{{{{zz{{{||||{{{{z{zz{{{{z{||{{{|{z{z{{{y|{z|||||{zzz|zzz|y|{{{|{|{z{zz|z{{{{{||{{z{z{zzz{|{{zz|||{zzz{zy{{{{{|{{zzzzzzzyz{{{{|{{{{{{z{y{{{{z{|z{zz{zzz{y|{z{z{z{zzzzzzzz|{{z{{{{{zz{z|z{{{{{{{|{z{z{z{zy{|{{{{z{{{{{zz{z{{z{z{|{zz{zzzz{{{z{z|zz{zz{{zzz{{{{{||{{zzzzzz{{{{{z{|{z|{zzzz{{{{{{{|{z{zzz{zz{{|{||||{{{{{z{yz{z|||{{{zz{zz{z{{zzzz|{|{zzz|{z{|{{{|{{|{{{zz|{|{{}|{{|{{{z|z{{{{|||{|{z{{{|{{{{z|{{||{|yzz{{z|{}||{||}{{{|z{|{{||||}|||z{{|||z{}{{|{|{{{{|{{{{{{{{{{{{|{{||z{}{|z|{|||{{{{{{{z{|{{z|{{{|{{{{{{{{|{{{||{{zzz{{{{|||{{{{{z|z|{|z{{|{{|{{zzz|{z{{{{|{{{|{z{zzzzz{{||{{{||z{zz|z{z{{|z|{{{|{z{{{{z{{{|{z{|{z{zzz{zz{||{{{{{{zyz{z{{|{z{{|{{{zyyzzz{zz{{|{{{z{zzzzzz{{{{z{zz{{zzzz{{{{{{{|{{z{y{z{z{z{{zz{|{zz{zz{zz{{{z|{|{zz{zz{zyz{yz{{zzzzzz{y{z{zzz|{|zzzz{{zzz{{|{|{{{z{{zz{{{{{|{|{{zz{z{z{{|||z{|{|{{zzz{{{{|{z{|||z|z{{{{y{zz{|{||zz{{y{zz{{{{|{|{{zz{{{z{{|z{z{|{|{{z{{{z||||{{|{{{{z{{{|{|{{||||{z{{{zz{{|||{}|{{{{z{z{{|{{}{}|}|{{{{{||{{{||||{|z{{{|{{{}||{|}{{{|{{{{{||{{{|}|{z{{|z{{{|||{||||{{{z{y{||{{{|}|{||z{{|{z|{|{{||{{{{zz{z{{{{{||z{{{{zzzz{{|{z{|||{y{{zzz{{{{|{{|{{{z{{{{{{|||{||{{zzzzzz||||||{|{{y{z{z{{||{{{|{{zzzzz{{zzz{{{{{zy{z{z{{{{zz{{{{zzz{zzz{{{|yz{|{z{{z{z{{{{z{{{{{{{|{z{z{{|{{{|||zz{{yzzz{z{{{{{{{zzzzzyzzzz{z{{}{zzz{zzzy{zz{zz{{zzz{z{zzz{{{|{{zz{z{zzy{|{{z{{{{{zz{y{z{{{{|{|{{{zzzz{z{{{{{{|{z{z{z{zz{|{|{z{|z{|{{zzz{{{|{{{{{z{zz{zz|{{{{z|z|z{{{{y}z|{{z|{{{{{zzz{{z{||{{||z{{{z|{{{|{{{{{|{z{|{z{{|{|{||{|{{{z|z{z|}{{}|||z{{{{z{{|{{{||{{{{|z{|z{{{z|||||{{{{{{{z{||||{|{|{{{{{{||{{|||}||{{|{{y{}|{|}|||{{{z{{{z{{|{||||z{zzzz{z{|{{{||{{z{zz{{z|{{{{|{{{zz{{zz{{|{{{{{{{{|{{{{{||{||{||{{{{z{yz|||{{|z{zy{z{{zz{|{{{z{{{{zyzz{z{z|z{{{|{zz{{zz{{{{zz{{{{zz{zzz{z{{{{|{{zz{{zzz{z|||z{|{{z{zzz{zz|z{{{}{{z{zz{zz{z{{z{|{{{z{zzz{{{{zy{zz{{{zzzz{|{{{{z{z{zzzzzzzz{{{|||{{{zz{{z{z{|{{{|z|z{zz{{{{{{{{{{{{z{z{{zz{|{|{||}z{{{z{{z{{{{{|{|{{|{{z{{{|{{{{{|{{{{{{z{{|{{||||z{z{|{{|{||{{{{{|z|{zz{{|{{{|||}zy|{{{{{{{{{|||||{{{z{{z{|}||||||{{{{{{{||{|{{{|{||{{{||{|{{|||{|z|{z{{z|}|||{}}|{{|{zz{|{}{||||{{{zz{z{|||}|||{|{{{{{{y||||||||{{{z{z{{{{|{{|{||{z{{y{{||{|{|}{{{{z{{z{|||||{{{{z{zzzzz{{{{|{||{{{{z{{z|{{z{{{{y{zzz{zz{|zz{{{|{zzyzy{z{{{{z{{{{z{zzzyy{{|{{{{{{zz{zzzzz{zzyz{z{zzz{{yz{{|z{{zzz{zzy{zyzz{{zz{{zzyzzzzyz{{z{{{{zzzz{zz|{z{{z{{zzzz{yzyzz|{|{{{{zzzzzy{zzz{{{{{zz{zyzzzy{|{z{|{zyyzzzzzy{{{{{{||zyzzzz{{{{{{z|{{{zzy{zzz{z{{{|{{zzzz{z{zzz{{{{{{z|{{zz{{z{{{z||{{{zz{zzzz{{{{{|{{{z{z{{z{{{{{{{{{{z{{z{{{{{|{|{|{{zzz{{{{{||{{||{{z{z{{z{{{{|}{{|zz{|z{{||{{|{|||zz{z{{{{|z||||||z{zz{{{{{}{||||||{{{z{{{{|||{|||{{{zz{{}|{{{{|}|{{{{{z{{|{{||{{||{{{{z{{{{{||{|{{{{zz{z|{{z{{|{{z{z{z{z{{{{{{z{z{z{z{z{{{{z{|z{zz{{{zyz{{z{{|{|z{zz{{{z{{zz|{{{{zz{zzy{zz{{{{{{z{{zzzzz{z{{|{z{{zzz{zzzzzzz{{{{z{zzyzyzy{{{zz{{{zzzzz{y{zy|{zz{z{{yzyzzzz{z{{{{{zzzyzz{zz{z{{{z{yzzzzzyzzzzz{|{zz{yzy{yz{zzz{{z{zzzzzyyz{yzz{z{zz{{zzzyz{zz{{{{{zzzzzz{z{zzz{{{zzzzzzz{{z{{{{{|zzyz{zyzz{{{{{{z|yzzzyz{{z|{{{{{{z{zzzzy{{|||||{{{zzzzz{{{{z{{{{{zzz{{z{{{|{||{|y{{z{z|{{{{||{}{|{{{{{z{z|{{{{|{{{z{zz{{||{{{{|||{{zz{|{{{|{{|{{|z{{{z|{|||||{|||z{z|yz{|{|{{{{{|{z{{{{{z||{|{{||{{{{{z{{||}{{{{zz{z{zzz{{z|{|{{z{{{{zzz{{z{{}{z{z{zzz{zzz{{{||{{{z{z{{{z{{z{z{|{{{zzzz{{z||{{{{{zzzz{z{|{||{{|{{{{yzzz{{{{z{z{{{zzzzzyz{{{z|{||{zzz{z{{{{z{{|{{{{{{zzzz{{{{z|{{zzzz{{y{{{z{zzz{{zzz{z{z{z{{{{{zzz{zzzz{{z{{||zz|yy{z{z{z{zz{|{|y{{{{zzzyz{z{{{{{{{z{zz{z{{{z{||{zz{z{zz{{|{{||{{zzz{zz{z{{{{|||{z{{zzzz{{{{{||{z{{zz{{z{{{}{z|{z{{|{zz{z{|{{{|{{{{z{{{{{{{{{{{{{{{{z{z{||z{z{|{|{}zz{{{{|{{||{{{{{{{{|{||{}||}|z{z{{{z{{{{||||{|z{{{z|{||{||||||{{|||{{{{||||{|{zz{|{{{||{||{|}{{{|{{{{{}|||||||{{{|zz{{|||||{|{zzz{{{||{{|{{||z{{zz{z{{|{{{{{|{{{z{{{z||z|zz|{z{{zzzz{{}{z{{{}{{{zzz{zz||{{{{|{{z{z{{{{z|{{|{|zz{{zz{z{{z{|{{|z{{{{{{z{{|{{|{{{{zzzz{z{{{{{|||zz{zzz{z{z|{{|{{{{{z{{zzyz{{z|{{{{zzy{y{zz{{{{z|{{zyzzzzzz{{z|z{{z{{z{{{zz{z|{zzzz{zzz{{{{{|{|{{zz{{zzzz{zz{z|{{{{zzyyz{{|{zz{{{zzz{{zz{{|{{{{{{z{z{{z{{{z{{{{|{{z|zzzzy{{{{{|{{{{{z{{{{{{{z{{{{{z{z{z{z{}{{{||{|{{{z{{z|||z{||{{zz{{zz{{{|{{{{{z{{{{|{{{{{{|||{{{|{{{{{|||}{{||{{{{{{{{{||}|}{{{{{{{{{{|}{{|||||z{z{z{{||{|{}|||{{|{{{{{|||}|}||{|{{{{{||||{||||z{{{{{{z|{||{}{|{{{{{{|{{{|{{||{{{zz{{z|{{{{{||{{{z{{{z{|{z{|||{{{zzzzz{z{{|{|{{{{zzzzzz{zz|{{|z{{{zz{z{{|{{{{|{{{z{zzz|{z{{{|{z{{{zzzzz{|{z{{||{z{{zzz{{{{z|z|zz{zz{z{{{z{{z|{zz{z{z{z{{{zz{z{zzz{zy{zz|{{z{{{z{zzzzzzz||{z{{{{{zzzzyzzyzz{{{zzyz{z{zz{z{{{z{{zzz{{{zz{{{zzzz{{z{zzz{yz{{{y{{zzyzy{zzz{z{{{{{{{{zzzz{z{{{z{yz{zz{zzyy{z{{{|{{|zz{zzyz{{{|{z|{|zz{z{y{{z|{{{{z|{|z{{z{{|{{{{{|{|yz{z{{{{|{z{|{{zzz{{zz{z{{|z|{{z{zz{|{z{{{{{{|{{{{{{z{{||{}||{{}zz{{{}z||{{{{{|{{{{{z{{{}{|||||{{{{{|z{||{}{{|{|{{{{{{{|{{{{|{{{{{{{{{z||{{||||zzz{z{z{z{{}|||}{{zz{{zz{{{{{{{||{z{zz{z|{{{{z{{zzz{|yz{{{{{y|{{{|zz{zzyz{{{{{{|{{{{{z{z{{z{{|{|{z{zzz{z|{{{|{{{{{z{{z{{z{|||{{{{{{zzz{z{{{{{|{}zzyzz{{{z{{{{z|z{{z{zzzz|{{{z{zz{zz{zz{z{zz{z{z{zzzzzzzy{{{{{z{z|z{{zyyy{|{z|z{|{{zzz{zzzzz{{z{|zzzzz{zyz{zz{{z{{z{zzyzy{{z|y{z{{z{zz{{zz|{{{{{z{z{z{{{zz{z{{{{z|z{{zz{zz{{{{{||{z{{z{z{{{z{{{{{{{{{z{{zzz{{{{{{{zz{zzyz||{{{z|{{zz{{z{{{{|z{|{{z{{{zz{z{|{|||||zz{z|{{{||z{||||{{{z{{zz{|||{||{|{{|{{{{||{{|}||{z{{z{{|{{{{|||||{{{{{{|||{||{||{{{z{z{{|z{|{|{|z{{{{{{{|z||{|{{{zzzz{|{|{{{|{|{{{{zzzzz{|{|z{}{{{y|z{zz||{||{{{{zzz{{zyz{{{{|{{z{yz{{zz{z{{z{{{z{zzzzyz{{||{||{zzzzzz{z{{{{{{{{|zzyzz{z{z{|zz{{{{zzz{zz{|{{{{z|zz|zzzzzz{{z{|{{{{{z{zzz{{{{z|z{{{z{z{zzzz{z{{{{yzzy{yzzz|{z{z{zzzzz{zzz{{{{{|zz{z{zzyyz{z{z{z{z{zzzzzzyy{{{{z{{{{zzyzzzy|{{z{z{yzzyz{zzzz{{{{z{{zz{zyz{z{z{z{{|zzzzzzzz{z{{z{{{{{zzyzyzzz{|{{||{{zz{{zzz{{{{{|{{yzz{zzzz{|{{{{{zz{{{|zzz|{{z{{|{zzz{{{{{{|||{|{z{{{{{{{{{{{{{||{z{z{{z{z||{|{|{{{{{z{{z{{|{||}}{z{zz{{|z||{|||||{{{{|{{{|{|{|||{{{{{{{{}|{|||{{|z{|z{{{{{||||{|{{{z{{z||z{{|{{|{{{yzzz{|{{{{{{{{|{{{yzz{{|{{{||z||{z{{z{z{|{{|{{zz{{{{{zz|||{||{{zz{zz{{||{{z||z{{z{{z{{{{{{{{|{z{yzzz{y{{{z{{|z{{zyzzz|{{{{{|||zzyzz{z{|{{|{z{z|{zzzzz{{{yzz{{{zy{zzzz{zz{{{{|{zzyzzzz{{||{{{{{zyzyzzz{{{{{|||{z{{z{zzz{zzzz{|{zz{{z{zy{|{{{{{{{zzzzzyz{zzz{{{zz{{zz{z{{{{{{|{{z{zzzy|z{{{|||{yz{zz{{z|{|{|z{|{zzz{{{z{{{z{zz|{{z{{{zz{{|{|{{{z{{z{zz{{|{|{{|z{{|z{zz{{{z{z|{||{z||{z{{{{{{{|z{|zz{{|{{|z{{{|{|{z{{zzz|||{z{{{|{zz|z{z||{z||||{{{|{|{|}|{{||{|{{{|{{{{z|||{}{|{{||{{{{{{{{z||}|{{{|{z|{{|{{{|}z{{{{{{|{|{{{}{||{zz{{{z{{|||||}{{z{{z{{z{{{|{z|{y{{{{{z{|{{{{|{{zz{{zzzz|{{{{||{{z{zzz{{{{|{{||zzzy{zzz{{z|{|{{{{z{{{{z{z{{zz{{{{zzzzzz|{{{|{||{{z{zzzz{{{{z}{{{z{zzzzyz{|zy{{{{zzzzzzz|{{{{{{|z{zzyzzz{{zz|{|zzzyyzzzz{{{zz{{|{z{yzzzz{{z{{{{z{z{zzyzzz{z{{{{|{zyzzz{{{zz{{|{zz{{zzzzy{{{{|z{zzzyzzzzz{{{{{||{{{zzzzzz{{|{{|{|z|{zz{z|z{{|{{{{{z{zzz{z|{|z{|{{{{{{{{{z{z{{{{{||{z{{y{z{{{z||{{{{{{z{{z{{||{|{{z|zz{{{{{{{|{{{|{z{{{z{|{{{{{{z{{{z{{{{{||{{|{|}{{{{{z{{{|{{|{{||{{{{z{{z|{||||||{{{z{{z||||z{{|{{{{{{{}{|{|||||{{{zz{{{{||{||{{{{{zzzz{z|||||}{{{zz{{{{{{|{{{|{|{{z{{z|{{|{z{{zzzyzz{{zz{z{{{|{{zzzz{z{{|{||{|zzzzzz{zz{z{{{zz{zz{{z{{{z{{|{z|{zz{z{zzy{{{{||z|{zzzzz{yz{{zz|{{|z{zzzzzz{{{z{z{zz{zz{zzyz{{{{{{zyzzzzzzzzz{z{|zzzz{zzzz{{{zz{zz{z{zyzyzz{{zy{{{zyzzzyzzzzzzzz{zzzzy{zzzz{z{z{{{zzz{{zzyzz{{{|{{{z{zzzzzz{{{{{{{z{y{{y{y|z{z|{{|zzzzzzzzz{{z|{|{zz{z{zzz|{z{{|{{z{{zzzzz{|{{{z|{{z{z{{{z||{z{||{|{zzz{{z{{|{{{|{y||{{{{{z{{{|{|{{{{{z{{z{{|||||{|{{z|z{{{z{|||{{{{{zy|{{{|{{||{||{{{{|{{{{{|{|||{{{z{{{{{{|}|{{|{|{{{{zz{{{{{|{|{{{{{{{{{|||||z{{{{zz{{z{{{{{||{{{{zz{zz|{|z{{z{zz{zzz{z{{{z{{|{z{{zz{{{z{|{{||{{z{zz{{y{z{{|{|||z{zz{{z{{{z{z||z{zzz{zzz{{{zz|z{{zzzzzy{z|z{|{|{{zz{{{{z{{{zz{{{zzz{zzy{z{z{{{{zzzzzzzz{|{{z{{|zzyzzz{zz{||{{{zzzzzzzyz{{{{{zz|zzzzz{zyzz{|z{{{{z{z{z{zz{z{{z{{zzzy{yzzz{z{z{|{zzz{{zz{z{{z|{{|{{zyzyzz{{|{z{z|zz{zz{{{zz{{|{{{zyzzyzy{|||{{z{{{z{{{{{z{{|{}{|{zz{z{{yz|{|{|{{{{z{{{{z{|{zzz{{z{{{z{|{{{||{|{{{{{zz{z{z{|{{z||{{z{{z{z||}z{|||z|zz{{z{{{{||||||{{{{{{|{z{|{||}z|{z{{|{{{|{{}|{||{{{{z{{||{{|{|||{z{z{{{{{|{{{|||{{{{|{{{{{|{|{|{{z{z{{{z{{{{||{|{{zzz{z{{{{|{{|{{z{z{zz{{|||{{{z{{zzzzz{z|zz{{|{zz{zyzy{||{{|{{{zyzy{{y{{|{{{{{zy{zzyz{zz{{z|||{{zz{zzz{{|z{{{{{z{zzy{yz{{zz{{{{{zzzyzz{zz{zzzzzzzzzyzzzyz{z{z{zyyyzz{zz{{z{{|{{zyzzzzz{{|z{z{{zzzzzzzyz{{{zz{{zyz{yzzzzzzyzz{{zzzz{zzzyz{y{||{|z{zz{zzz{{{{{{{zzzzzz{yzyz{{{zzz{zzzyz{{|{z{{|{zz{zz{zz{||z{{{{{z{z{zzyy{{{{{}zzzzz{{{{{{{|{z{{{{z{{{zy{{{{z{z{{z{zzzzzz{||{{{|{zzz{z{{|{{||{{|{z{{zzz{{|{||{|z{z{z{{z{{|||{{|{{||{{{{z{|{{|||||{{{{|{z{||||||{zz{{z{{{{{|{{{|{{{{z{{zz{{{{{|{|{{{|}z{{{{||{|{{{{{|{{{z{{{z{{|{|z|z{z{zz{{|{{{z{{{zzzzz{|z{|{|z{|{{z{{zz||{z{|{{zzzzzzzz{{|||{{{zzzzz{z|z{z{{{{z|zz{zz{{{{|{z{{zz{zzz{y{{z|{{{{yzzzz{{zzzzzz{{zzzzzzzy{{{{zzz|{z{zz{zzzzz{{{zz{zzzy{zz{{z{z{{{{z{{y{{zz{z{z{|z{zz{zyyxy{{{{{|{{zzzzzyzzy{zz{{zzzzzyzzzzz{{y{{{z{zzzzzzz{{{{z{{z{{{z{yz{z{{{|{{|{{zzzyzzz{{{{{||{{{yzz{z{||{{{{|{{{y{z|zz||{{|z{z{{zzzz{{|{{z{|z{{{{{{z{{{{{z{{{{{zzzz{{|{{|{|||{z{z|{{{zz{||{||{{z{{{{z{{z{{{|{{z{{|{{{|{z||z|}{|z{{{{{{|{||{{{{{{{|{z{|||{|{{{|z{|{z{|}|{|{|||{{z{{{{{{{|{|{||{zzz|z{z|{{||{{{{{{z{|z{{||{{{|{{{z{zz{{{||{z{{{{z{z{zzzz||z|{{{{zz{y{{{z{|{{{|{zzzzzzzz{{{{{{{|{z{zzzzz{{{{|{|{{{{{{{z{{{|{zz{|{{zzz{zy{{{{z|{||{zzz{|zz|{{z||zzz{yzzzz{{{z{{{z{z{zz{zz{{{{{{{{zzzzzz{{z|z{z{{z{zzzzzyzz{{{{{{{{{zzzzzzy|{|{|{{zzzzzzzzz{zz{{z{zz{zz{{zz{z{{{z{{zzzz{y{z{{{z{|{{zzzzzz{z|{{z{||{z{zzzzz{{zz|{{|y{zz{y{{z{{{|{{{{{{{{zzz{|{|{{{{{z{{{zy{{{|{|{|||{zzz{z{{{|{{|{{{z{z{{{{{{|||{||{|{z{{{{z|{|{|||{{{{zz{z||{|||{|{{zz{z{{||||{|||||{z{|{{{||||{|{|{{{{{z|{}||{{||{z{|{{|{||{{|{||{{{z{{{{{z{|{|{|{{{{{|z{{{{|{|||{{|z{{zz{|{|{{~{{{||{zz|{{z{|{||{zz{{{zzz{|{{{{{{z{{{zzy{|||yz||{{z{zzyz{{{{{{z{{{{z{{zz{zz{{{|{{{{z{{zzz{{{zz|{{zz{zzzz{{|{|||{zz{zzz{zz{{{{{|zz{z{{{z{{||z|{{{{z{zzzzzz|z{z{{zzzz{zz{zzz{{{|{zzzzzzzzzzz{z{z{{z{{zy{yzz{{{{{|{{zzzzzzzy{{z{{z{zzzz{{zzy{z{z|{{{yzzzzz{z{z|{z|{{zzzzyzz{{|{{z|}zz{{yz{z{zz{{{{{z{zzz{zzz{|z|y{{{{|{|z{z{{{{{||{{{{{zzz{z{||{z}{|zz{{{z{{{|{{|{|{{{{z{z{{{{{||{{z{z{{|{{|{||{||{{|z{z{z{|{|{{{{|||{z{|{{|||||||{{{{zz{{{||{{|||{|zz{{|{{|{||{{||{z{{||||{|||}||{{zz{{{z|{|{{|{|||z{{|{{{|{z||{|{{|{zz{{{|{z|{{{{{{zzz{{z|z||{{||{z{z{z{z{|{{{zzzzz{zzzzyy{{{{{||{{z{z{yzz{{{{|{{{zzz{zzzz{zzz{z{{zzyzz|{zz{{zz{{zzzzzzzy{z{{{{{{{zz{{z{y{{zzzz|{z{zzzzzyzzz{{zz{zzyzyzyzzz{z{zz{zzzz{z{y{{{{z{{{z{zzzzzzz{z{zz{z{z{yzyzz{{z{{{|{zzz{zzzy{z{zzz{{{zzz{zzzz{z{{{|{{zyzz{zzzz{{|{z{zzzy{{zz{{{zzz{{yzz{{zzz{{z{{{{{zzzz{zzyz{|{{{{||zzz{yz{zzz{{||{|z{zzzzzzz||{{||z{{{zz{z{{{{{{{z{{z{{{{{{{{||{{{{{{{zz{{{{{|{||}{zyz{zz{{{|{{|{||z{zzz{{||{{{{|{{z{z{{z{{{{|||||{{zz{{{{|||||{}|{{{z{z{z|{||||}|{z{z{{z{{{{z{|{|{{zz|{y{{|{{{{||z{{zz{{z{{|{{||{|{zzz{zz{{z|{{{|z{zzz{zzzz{z{{z{z{{zz{zz{{||{|{|{zzzyy{zy{{{{z{{z{zzzz{{{{z{{{{{zz{zz{z{{{{{{z{{z|{zzzzzy{{z{{{{{{{yz{yz{{{z{{|{{zzyzzzzzz{{||zzz{yzzzzzzz{z{{y{zyzzzzyz{{{z{{{zzzzzy{yzzz|z|{{|zzzzzzz{{{|{z{{{zzzz{zyyz{zzzzz{zzzzzy{zzzz{z{{{zzzzz{{y{{{{|z}{{zzz{zyz{{{zz{z{{{{yzzzzz{{{{{||{zzzzyyzzz{z|{z{{zzzzz{z{{{z{|{{{z|z{{zz{{||{{{zzz{z{y{{|||{{{{{z{{yz{{z||{{{{{}z{{z{{{{z{z|{{|{|z{{{{{{{||{{|{}|{z{z{{{||{{{||{{z{z{{{{{{{|{|{||{zz{|z{{|{{|{}|{z|z{{{{z{{|{{|||zz{z{{{|{z{|{|}{{{{{|z{{{||{{{|{zz{zz{z{{{{{{|{{z{{zz{{{|{|{{||{y{zzz{{{{{{{{{{z{z{z{{z{||{z{{|{z{{zz{zz|{{{|}z{zz{z{zz|zz{|{|{{z{zzzzzzz{z{{z|{zzyz{zzzz{|z{{{zzzzzy{{z{|zzz{|zzzzzzyyy{{z{{zz{zzzz{zz{z{{{{{{zzzz{z{z{{{zzzzzyz{zzyyz{{{{|z|{zz{yzzzzz{{{z||{zyzzzzzzzz{zzy{{z{yzzyzzzzz{z{{zzz{zzzyz{z{z{z{{zzzz{zzzzz|{z{z|zzyz{z{{{{z{zz{{z{yz{zzz{{z{{z|{zz{{{zzz{{{{z{|{{{{zz{{z{|z{|{|{zz{zz{z{|{{{{|{{zz{zzzzz{{{|{{{{{{{{{{{z|{{|{{||{{zz{zz{|{{||||{|z{{|{z{||{{{|{{{{{{z{z{{|{{{|||{{{z{{z{z}{{||{{|z{zz{{z{{{||z|{{zzz{{yz||{zz|||{{{{{{zz||{{|||{{z{yz{zz{|{{z|||z{zzzz{{{{{z{{{z{{zzzz{z{z{{{{z{zzzz{zzz{{{|z{{|{{zzzzzzz|{{z|||{{{zzzzz{{{{{{{{{{zz{z{zz{{{{z|z{z{zyzyzzzy{|{{|{{zz{zz{z{{z{{{{{{zzzzz{z{zz{{{zzyzzyyz{{zzzzzz{zzzzzzzzzz{z{z{{zzzzzzz{{{{z{{{{z{z{zzyyz{zzzz{zzzzz{{zz{zzzzzz{zyyyyzzy{{{zz{zz{z{yy{{yz{{{{{zzzzzzzzyzz{{zz|{{zzzzz{{{zzz{{{{|yz{zz|zz{{|{{{{|{zzzzz{{{zz{{{{{{zyz{yyzyz{{{z{zz{{{{zz{|||{{{{z{{z{zz{zyz{|{z{{z{zz{{{zz{|{{{|}{|{z{{{z{{{{{|||{z{z{{{{z|{{{}|{z{{zz{{{{||||{|{{{zzz{{{||{z||{|{|zz|zzzz{||{|||{{{z|zzz{{|{|{||{|{{{{{{z{{{|{{|{zzzzzzzz{||{{||{{{zzzzz{|{z|{{zzzzzzzzz{{zz|{{|z{y{z{{y{{|{{{z{{zzyzzyz{|{z{{{|zz{z|zzz{z{|{{{|{zz{{z{{{|{{|{{|z{z{{{{z|zzz{z{{{zzzzzzz{{{{{|{{zzz|zzzzzz{{{z{|{{{z{z{z{zz{{{{{zzyzzzzyz{|zz{|z{zzz{yzzz{{{{{zz{z{{zzz{z{{{z{{{zz{{zz{y{{zyz{{{zzyzzyy{z{z{z{z{z{z{{zzzz{{{{||z{zzz{{yz{{{{z{|{{z{zzzz{{z{z{{{{{zzz{zzz{||{{{{{zzz{{z|z{{{{||{{zz{{{z{z{{|{|{|{z{z{{{{z{{{|{z{{{{{zz{{{{||||{{|y{y{|{{z{{{|{|{|{{{z{zz{{||{{{{{|zzzzz{{||{|{{{{zyzz{{{{z{|{}|{||{{{z|{{{}{{|{{||z|{|z{{|{{||}|{{{{{{|{z{|{|{{|}|{z{{z{|||{||||z{zzzz{yz{{z||||{{{z{{{{z{|{{{||{{{zz{z{{{{z{{{||{zzz{zz{{z{z{z{|{zz{zzzz{{{{|{z{{{{{z{zz{z|{{{{z{{z{zz{{z{{|{|{{{z{yzz{z{z{|{{{|z{z{z{zyz{z{{{|{z{zzzzy{{{{zz{{{{z{zy{{{zzz{{{{|zzzzzyzzz{{zz{{{{zzzzzyz{{{{z{{{{{zyzyzz{{z|{||y{{zzzzzz{{|{{{zzyzzz{zzyzzz{{z{{zzzzzzzy{{zzz{z|{z{zz{{zz|{{z{{{{{{zz{z{{{{|z{||z{{z{zyz{|{{{{{|{z{y{z{z{{{{|{|{{z{zzzz{{{z{{||{z{}{{{{{{||{{{{{{z{{{{{{{||||{|{{{{{zzzz{{{||{{{{{{|zzzz{{|{|{{{{zz|{||z{|{{|||{{|{{z||{{||{||}|{{z{|z{{{|{{||||{{{{{z|{|{|||{|||{{{{z{{|{z|{|}|{|{zz|{{||||{{||z{{{{{{{|{|||||{||{{zzzz{{{{{{{{{z{zzzzzz{{{{{||{{z{|zzzz|{z{{{{zz|z|zzy{{|z|{||{{z{zzz{{zz|{|{|{{zz{zzzz|{z{z{{{z|{z{{zzz{{{|{{zzzz{{zzz{{{{|{z{{{z{zzz{{{{{|z|{zzyz{zzz{z{{|{|{zyyzzzz{{|||{{{{|z{zzzzz{{z{z{|zz{zzzzzz{z{z{||zzzzy{zzy{z{{{{y||zzzzzzz{z{{{{{zzzz{{z{{zzz{{|{{{{z{z{{z{{{|{{|z{zz{zz{{{{{zz{|y{{zz{{z{z|{z{}{zzy{zzzz{{||{|{|{{zz{z{z{z{z{|||{{{|z{{{{{|{z||{{y{z{{{z{{||{|||{z{{|zz{{|{{{{{|{{{{{{{{|||{|{|{{|{{{z{{{||||{{|||{{{{{|{{{|{|{{|{{{|{z|{||||{{|{z||z{{{||{|{||{|{|{zz|{{{{{z|||{{{z|z{{|{{|{|||{{{{{{{{{{||{{|{{{z|{{{z||{|{{{{{z{{yzz{{z||{}{z{{{{zyyzz{|{z{|{zz|zz{{{|{{{{z{|{{{z{zzz|{z{{{{{{z|{{z{{z{}{z|{{zz{{zyzy{{{|{{{|{z{z{zzzz{{{{{}{{{|{zzzz{{{zz{{z{zz{zzz{{z{{{{{{zy{yzzyzz{{{|{{{z{zzzzzz{{z{|{{{z{zyzzzz{{z{{{z{zzz{zzzz{{{{z{{zzzz{z{{yz{{{{{{{{zz{yzzz{z{{{|{{zy{y{z{zzz{{|{{|zz{{zzzz{z|{{{{{{y{zz{zz|{|{|{{|z|{{zzz{{{{|||z|zz{z{zzz{|{{z{|{{{z{{z{{{|{z{{{|{{{{zz{{{{z{|{||{{{z{{z{|{{|{|{{|||z{{{z{{||{|{|{{{{{zzz{|{{{||{{{|z{{{{{|||{|}|}zz{{z{{{}|{}{}{|{{|{|{{||{|||{|{z{|z{||{{|{|||{|{zz{{zz{|{{{{{||{{z{{{{{|{{||{||{zzz{{z{|{|{||{{zz{{{z{|||{{|z|zz{{{zzyz{{{{{|z{{{{{zz{{{|{{|{|{{{z{{{zzzz{{{{|{z{{{{{{{|{|{{{|{z{zz{zz{{{{|{{|{zzz{z{z{{|{{{{{zz{yzz{z{{{zz{{z{{z{zyzz{zz{{z{{zzzz{{{z{zzz{|zz{zzz{zz{z|{{|{|{{{{{yzyzz{{|{zzzzzzz{zzz{{{z{|{{zzzzzzzzz{zz{{|{{z{zzz{zzz{{z{z{{{z{zz{z{{{zz{{|zz{yzzzz{z{{{{|{z{zz{{zzz{{{|z}|{{z|z{|z{|{{{|z{{z{{{{z{{{z|{|||{z{|zzz{{|||z|{{{zz||{{{|{{|{|||{{z{{{{{{|{||{|||{{{zz{z{{||{||{{{{zz|{||||{{{{|{{{{z{{{{{||||||{{{{{|zz{{|||||||z|{z{{{|}{|{{|{|{|{{zz|{{{|||||{{{||{{z||{|{|||{{{z{z{{{{{{{||{zz{{zzy{{|||{{|{{{|{z|zz||z{|{{{{zy{{z{zz{{{{||{{{z{{zzz{|{{|{|{{zzzy{z{{|{z{{|{{yy{zz{zzz{{z{{zzzzyy{zyz{{{{{{|zz{zz{zyz|z{{}|{{z{zzzz{{{|zzz|zzzzz{zzz{{{{z{|{zz{yzz{zzz{|{{{{z{zzz{yz{{z{{{{{zz{zzz{{{{z|{{{{{zzzzzzyz{{z{z{{{zyzzzzyz{zz{|{{yzzzzzzy{z{{{z|{yzzz{y{z{{{{{z|{{z{{{z{{{{z{z{{{{{{zzz{z{z{z{z{}{z{{zz{z{|{z{{|{{zz{z|z{{{{z{|{{{zz{zz{z||{{{{{|z{{z{{|z{{||{{z}z{{{{z{{{{{|{{z|{z|zzzz{{{{{{|||{{{z|z{{{}|{|{||{{|zzz|{{||{}}}||{z{{{{{{{|{{|{|{{|{{{{{{|{{{|{{{z{z|{{z{|||||{|{{zz{{{{|{||||||{{{z{{{z{|{{{||||z{zzz{{{{{{||{{zz{{z{{z|{{{{|{{{zz{z{{z{z{{{|z|zzzz{z{zz{{{{{||{zzzzzz{{zz{z|}{zzzzz{{{{{|{z{{{{{{yz{zy{{{|y||{{zzzzz{z{{{z{{{{{|{{zzzz|z{zzz{{{zz{zzz{z{{{{{{{zz{z{z{{z{z|{z{{zzyzz{z{z{z{|{{{{zz{zzyzz{{|{zz{{{zyzyzzzz{z{{{{zyyzzzzz{|z{{|{zzzyzzz{zz{{z{{|{zyzzzzz{{z{{{||{zz{{zz{z{{{{|{{zz|{{yzz{{{{||{{{z{zzzzzzz|{{{{z{{zzz{zz{|||{{{|{{z{{{{zz{z|{{{{{{{|z{||{|{{|||{|{{zz|{{{{{{|{{||{{z{z{{z{|{z{|{{|z{{{{{z|{|{{{{||{|{{{{{{{{|{||||{|{{|{{{||{||||{zz{{{z{|||{|{|{{zz{{{z{|{{{{|||zz{{{zz{|{|||}}|{{{{|z{{{}{|{z{}z|z{{{{{z{||{||||||z{z{z{{{z{{z|{zz|zz{z{{|z{{{|{zz{{z{z{{{{{||{{{yzz{{{{{{|{{|{|zy{{{y{z{{{zz|{zz{zz{zz|z{{{{{|zz{zz{zzz{z{{{{{z{zzz{yy|{{z{z{{z{z{z{zz{{{zz{z{zzyzzyzzz{{{{z{{zz{zyzz{{{{{|{{z{z{zz{zy{{{z{z{{zzz{{zz{yyzyz{{{zzzzzzzyz{{{z{{zz{{zz{zyzzz{{{{{{zzzz{yz{z{{z{{{|zzzyzzz{y{|z{{|{{{{yyz{z{|z{||{{z{z{y{{z{{{{|{||z{z{zzz{{{{{||{{{z{{{z|{z{z{{{{{{{{z{{z{{{||{|{z{|{|{{z{|{{{|}||{z{{z{z{|{{{|{|{{zz{{{z{|{{|}{|{z{zzz{zz||{{||||{z{z{z|{|||{||}|z|z{{{||{{{||||{{{{{{z{{{{{|{{||z{{{{|{{|{|{{||{{{{z{{|{{{|{{||{{{{|z|z{{{|{{|{{z|{zz{z{||z{|{|{zz{{{zzzz{{{|{{{z{zz{z{||{{{|||{zzzz{zzz{{{|||{{{z{{{{z{{{{{{||zzzzz{zzz{{{{{z|{yz{{zz{zz{zz{{{zzzzzzzy{z{z{{{zzz{zz{z{{zzzz{{{{z{zzzzzz{z{{{|{zzz{zzz{z{{{{{z{{z{zz{zz{z{z{z|{zzz{yzyzzyzy{{{zz{{zzzyzzzz|{|}|z{{zz{zz{z{{{{{{{z{z{{z|{{{z{|{|{y|{{{zz{z{z{{{|{zz{{zz{{{|{{{|{{|z{{{{{{|{z{||{{{{z{{{{|{{|{{||{z|{zz|z||{|{{{|{{{z{{yz{{|{|{z|z{zz{{{{{{{||{|{{|{{zzz|||{{|{|{|y|z{{z{|}|||}||{{|{{{}|{{{{z}||}{{zz|{|{||||||{{{{{|{{{|{{|||{{{{zz{zzz{||{{||{{|{{{zz{{{||{{{}|{zzz|z{z|{{{{{|{{|{zz{{|{|{|{{{{{{{y{{{{|{{{|{|zz{yz{zzz{|{{|{|z{{zzyzzz{{{{{{{z{{z{{zzz|{z|{|{zyzz{{{{{{z{zz{z{zzz{z{{{{|{{{{{{zyzzz{z{{{{{{|{z{{{{z{{|{zz{y{{{zyz{zzz{zz{z{{zzzzzzz{y{{{{z{{zzz{zz{yy{{|{{{z{zzzzzzzzzz{{{zz{zzz{zzzzzzzz{{{{zzzzyzzzz{z{zz{{yzzz{zzzzz{{z|{{{zzy{{z{zz{{|{{{{z{y{y{y{zz{{{z{zzzzz{zz{{zz{{|{{zzz{yzz{{z||{|{{z{zzzzz{||z{{{{{{{{{{{{{{z||{{z{{z{{z{{|{|{{|||z{z{{z{z{|{{{{||{z{{{zy|{{||{}|{|zz{{|{{{||{|||{{{{{{|{||{{||{|||{{zzz|{{{||{||||zz{{{zz{{{|{z|{{{z{zz{z{{{{{{||z{{{{{|{{|{|}|||{{{z{zzz{|{{{{|{{{z{z{{{{{{{z{{{{z{y{{zz{z|{{{||zzzzzzzzzz{{{{{|z{{zzyz{z{{{z{{{z{zzzz{z|{z{{{z{{{zzzzzz|{{{y{{{zz{yz{{y{{||{|{{{{{{zz{yzzz{{{{{{z{z{zyy{{{zy{{zzzzzzzzzzzzz{{{{zyzzzzz{z{z{{z|{zzzzyyz{zz|y{{{{{zzyy{yz{{{z{{z|zzz{yzzyz{{z{{z{{zzyxzyyyz{z{{{zzz{zzzzzz{{{{{{{{z{zzyzzz{{{{z{{{zz{zzzz{{{z{|{|{z{yz{y{{{z{z||{{{{zzzzz{{|z{{{{{z{zzzz{z|{z{|{z{zz{zzz{|{|z{{z{{zzzzz{z{{{|{||{zzzz{z|{z|{{{{|{{{z{{{z{{||||{|{{{{{{{{zz|{{|||||{{{{{|{{{{|||||}z{{{|z{||||||||{{{{|{z{|||||{||{z{z|{z{||{{{{|{z{z{{{{|{{{|{|{|{{{{z|{{{|z{|{{{|zzy{z{y|{{{{z|||z|z{z|{||{|{|{|zz{zzz{yz|{{zz{{{yz{zzzzz{{{z{{{zzzzzzzz{{{{{z{{{y{zzzyz{{{{{y|{zzzzzzzz{{{{z{{{zzzzzzzyzz{z{{{|zzzzyz{zz{{z{z{{zy{zyzzz{zzzzz{{yzzyzyzz{|z{|{{zzy{zz{zz{z{{{|z{zzz{zz{y{{zyz{{{zzy{zyzyzz{zzzzzzzzzzzzzyzzy{{z{zyzzzzzy|z{z{{||{yz{yzz{{{{{{{{|zzz{zzzzzz{{{{z|zzzzyzzzzz|z{{{{{zzz{y{yz{{{{{{zz{{yzzyz{|{{{|{{z{{zz{z{z|{y{{{z{zz{{|zz{{{|z{{{yyzzz{{{||{|{|{{{zz{zz{z|{||{{|{{z{zzzzz|||{|||{{{z{z|{z{|{{{||{|zz{{{z|{|||{||{{z{z{{zz{|}{{|{|{z{{{yzz|{|{{{{||{z{|{{{{{{||{{|{z{zz|z{{|{{{{|{{{zz{zz{{{{|{{{{z{z{zzzz{{{{{|z{z{z{zzzyzz{{z|{z{y{zzzzz{z{{{{{{z{z{z{{{{{{{{z||{z{zzzzz{{|{z{||{z{zzz{z|z{{zz|{zzyy{zzzz{|{z{|{{zzz{z{z{|{z{z{{z{zzzzzy{{z{y{{{{{{{zyzzz{{z{{|{{z{zzyzzzz{{z{{{z{z{y{zyzz{{{{{|{zzz{zzyz{z{{z{{{zzzyzzyzzz{{|{{yzzz{yyy{{{|{{{{{zzzzzzzz{{{{|{{|z|zyz{{{|z||{{{{zzzzzy{{{z{{{|{|zzz{{zyz{{{{{{{zzz{z{zz{{|{z{{{{z{z|{zz|z{{{|{|zz{{|{y{{{{||{|||z{{{{{{{{z}{{{{{{{{zzzz{||{{{|{|zzz{{{z|{|{{|||z{{{z|{{{|{{{||{|zz{{{z{{{|{||||{z{{{{z{|{{z{{{|{{{zzz{|||{{{{|z|{|{{zz{{{z{{|||zy{z{{z{{{{{{{{{{{zzyyzz{|||{{{{{{{zzz{{|{{|{{{{z{zz{z{y{z|{{{|{{{y{zzz{{{{{{|{{{zz{z{zzz{|{z{|{{|{zz{z{z||{{|{{{zzzzzz{{|{z{|{|{{zyz{zzz{{{{{{|{y{zz{{{z{|y{z{{{{zzz{{{zz{{{{{{zzzzyzzyz{|{{z|{zz{{yzzzz{{z{zz|zyzzzzzz{{{{{{{{zzy{zzzzz{{{{zz{zzzzzz{z{{{{z|{{{yz{zzyzzz{zz{{{{zz|{z{z|{{z{{{}z{zzzz{zz{{z{{{z{zzzzzz{{|{|{||{{{z{{{zz{z{{{|{{|yz{zzzzz|{{{{}{|z|{z{z{{{{|{||{{{zzz{{z{{{{|{|{z{z{{{|{{|||{|||{zz|{{zz{|}{{||z|z|{{{z{{|{{{|||{{{zz|{{zz{|{{{{|{{{{z{z|}||{|{||z{{{{{|}{{{{}{{{{{{|{z{|{{||{|||{{{{zz{|{||||{|{{{{{z{{{|{z{|||{{{{{{{{{{{{{{{{|{z{{zz{{|{{|z{zz{z{zyyzy|||{||z{{{zz{zz{{{|||||z{{zzz{z{{{{{z|{{zz{zzyzz{z{{{|{z{{zzz{z{{z{z{z|{{z{zz{z{{|zz{{{{{z{{zzzzz|z{|{{zzz{{zzz{zz{z{{{y{z{zzzzz{{{{{|{{zzzz{{zz{|z{|z{zzzzzzzzz{{{{{|z{{z{{yzz{|zyz{zz{yzzzzzyz|z{{{{|z{{{yz{z{zz{z|{zz{{{{z{zz{{zz{{{{{{yzzz{{{{zz||{zzz{zz{zz{{z{{{|z{z{zz{z{|{|{|{{{{{zz{zz|{||z||{{{{{|{z|z|{{{|z{{{z{z{{{{{|}{|||yz{zz{{y{{|}|}{|{{{||zzyz||||||{{zz{{{{{|||{{|||{{{{|{{{{|||{{}|}{z|z{z{{|{|{|{|{z{{{z{{{|}||||||{{{{{{{|{{{{||}{{z{{z{{{{|||{{{{z{{{zzz{{z{||{{{|{{z{zyz|{||{{{z{{z{zz{|||{||{{y|zzzz{z{{{z|{{{{zy{zzz{z{|{{|{{{{z{{{zz{z{{{{{{{z{zzz{z|{|{{z{{{z{z{zyy{{|{{{|{zzzzz{zz{{{zz||zz{{yzzy{{z{{{{|{{{zy{zz{{zz{z{z{{{z{zzzyz{{{{z{{zyz{zz{y{z{z{{{{z{zzxzzzz{z{z{{|{yzz{z{{z{z{{z{{zzzzyzzzzz{zz|z{zzzz{{zz{{{|{{z{|{zzzz{{{{zz|{||{z{zzzzzzz|z|{{|{{{z{{{z{{{{{|{|z{|{z{{{{{|{{{|{zz{{{{{|{{||{z||{zz{{{{{{||{z|{z{zzz{{y{{{|||||{|z{z{z|{{{{|y|||{{{{{zzzz|||{{|{{{{{z{{{|||{||}{zz{z{|{z{{{||||{{|z{{{{|{||||{|}{{{|{{{{{||{|||||z{{{{{||{{||{}|{{{z{{zz{||||{||{z{z{z{{{{z{{{|||{z{{z{z{{|{{{||{{{z{y{{z|||{{z{z{{{z{zz{|z{{z|{z{zz{yzz|{{|{{{{{zzz{zzz{{{{{{{{{y{zzzz{{{{{z|z{{z{zzzzy{{{{{{z{{{{zy{{zzz{{{|}{z{{y{zzz|z{zzz|{{z{zzzzz{|z|{{{{zzz{{zzzyzzz{{|z{zzz{zy{z{{z{|{zzz{yzzyy{{{{{{{|zzzzzy{yzz{z{{{z{{zyz{zzz{{z{{{zzzzzzz{zz{z|{||{zz{yzzz{zz{|{{{|{yzzz{{z{{{{{z{{zzz{zzz{{|{z|{{{{{z{{z{z{{{{{{{{{{{zzzzz{{{{zz|{{{{{z{|{||z{z{{|{{{z{zz{{{{||{|{{z{|{{{{||{{|||{|{{{{z{{{|{}{{||{{{z|z{{{||{|||||{{{{{|z|||{{{||||{{{{{{{|{z|||{||{{{z{|||{{{||{{z{|{z{z{}||||{|{{|{{{{z{{z||}||{{{z{zz{{{{||||||{|z{{{z{{{{{{{|||{{{z{{|}{{{{{z{zyz{y{zz{{zzz{|{zzzy{zz|{|{|z{{{zzyzz{{{{{{|{z{|z{zzyz{z{|{{|{{|{zzzzzy{{{{{|{|zz{zy{zz{{zzz{{{{{z|zzz{{z{zz{{y{{zzzzzzzzz{{z{{yzzzyyzzzz{zzz{{{zzzzzyz{{|{{|{{{zzyzzz{zz{{{{{{z{{yyy{zz{zz{z{zz{zy{zyzz{z{{{|{zzzz{zzzy{{z{|{|zzzz{{zz{{{{z{{{{zzz{{zz{{{{{{{|z{zzzzz{z{{{|{{{{{{zz{zzz{|{z{|{z{z{{zz{{{||{{{{zzzz{{z{{{|{{{|||zzzz{{{{{|{|{|{{{{{{z{{{{z{{||||{zz{zz{{|{|{{|{{zzzzz|{|{|{{||||{{{{|||||{{{|{|{{z{{{{z}|}{{{|||{{{{{{{{{|||z{{|{zz{z{z{{{{|{{{{{zz|{z{{{|{{||||{{z{zz{|{{{{||z{{{zzyzzz|{{{{|{{{{{{{{{|{||}{{|z|zzyzzz{{|z{{{{{|zyz{zz|{{{{||{zz{yzzzy{z{{{{{{z{|zyzyzzz{{z|z{zzzzzyzz{{{zz{z|{zzz{z{zz{{{zz{zz{zz{zzz{z{zz{z{{{zyzzzz{z{z{{z|zzzyyzzzz{z{zzz{zz{{zzyzz{|z|{{zzzyyzyzzzz{y{{{{zz{zz{zyz{{zz{z{zzzzzz{{z{zzzzz{yz{yyzzz{{{{{{|{{zzz{yzzz{|{{|{{{z|zzz{z{{{{z|{{zz{zyz{z{{{{{|{}{{zzzzz{{{{{{|{{{zz{{{z{{{{||{|{|zyz{{y{z{{{{{{z{{{{zzyz{{}{z||{{|{{{{||{{{|{}|{zz{{{{z{{|{{{z|{{{{|{{z{{||{|||{{z{z{|z||{|{||}{{{z{{{z{||||{{|{|{{{|{{{|{}{{|{{{{{{{{z{z|{{|||{|z{y{{zz|||}|{|{z{{|{z{z{{|{{{{||{{|{z{zz{{{{{|{{z{zzz{z|{}}}{|z{{{{{{zz{z{{{{{|zz{zzzzz{z{{{{{||zzyzz{z{zzz{{z{{yzz{zzzz{{{{{{|z{|zzzz{{{z{{z|{z{z{z{zzz{{z{{|{{z{zz{z{z{{{z{{z{z{zzz{zzzz|y{z{zzzzzz{yz{z{y{|z{zy{{yzz{zzz{zz{z{zzyyzz{z{|zz{{zzzzzyzyz{{zzz{{zz{zzyzzy{yz{{{{yz{zzzzyzz{{{z|{{zzz{zyzz{{{z{{|{zz{z{{z{z{z{z{|{{zz{{z{|{{{{{|{{{z{zz{zz{{{{{{{{zzz{zz{z{{{{{|{{{z{{{|zz|{{{{{z{z{{{z{z{{|{|{||z{z{{z{{{{{{{|||||{{z{z{{|{{{||{|{{{zz|{|||{{{{|{{{z{{{|||{{|{|{|{z{y|{{{|||{{||||{|z{{{{{{{{|{||zzzz{{z|{{{{||{{{{{{{z{|}{{{{z|{z{zy{z{|z{{||{z{{z{{z{z{z|{||||{{{{zz{z|}|}}{z{zzzyzz{{z{{zz{z{{{{zz{zzz|{|z{{zzzzzzzz{{zz{{{{|zyz{zyyzz{|{z{{{zz{yzyzzzzz{z|{{zzyzz{zyz{|zz|{{zz{zzzzy{{{zz{zz{{zzz{zzzzz{{{{{z{zz{zzyz{{{zz{{zyzyyyzzy{{z{{{{zz{zyyzyz{|{{z{{zz{{zyyzz{z{{{zzzzyzzyzyz{yzz|{zzzzzyzyzyz{{{{|z{yzzzz{zz{|{{{|{zzzz{{{zzz|{z{{{zzzzzzyz{zz{{{{{z{zz{zzz{|{{{||z{y{z{z{zz{|{|{|{zzz{z{z|{z{{z{|{{z{z{{z{{|{{{|{{zz{{z{{zz{{{{|{{z{zz{{{z{{}|{{{{|z{z{{{{|||{|{||{{zzz{{{{|{{{{|{|{zzzy{|{|||{||z{z{z{{{|||{||{{{|z{{|{{{{{{{|{{{{{{{{{{{||||{{|{z{z{{z{z{{||z{{{{zz{z{zz{|{||{||y{{z{zzz|{|}|zz{zzzz{z{z{||{{{{{zz{zz{z{{{{{{{{{zzzz{z{z{z{{z{{|{{z{z{{z{{{{z||{{z{yzz{z{{{{{{{|{|z{{zzzz{{zzz{{{zzzzzzz|{{zzz{zzzzzzzzzzz{{z{{{zzzzy{zz{{{zz{{{{{zzzzzz{zy{|{z{zz{yyyzyz{z{z{{{{zzzz{zzzz{{{z{zzzzzzzzyz{{{{{z{{zzzz{yy{|{z{z{{zzyy{y{{{{{{{{||{zzz{z{{{{z{{|{|{y|zyzzz|{|{{{|zzzzz{zz{z{{{{{|{{z{{zz{zz|||{{{||{z{{z{{{{|z{|{{z{{|{|{{{{{|{|{|{|{{{z{{{|{|{}}|{z{{{{{{{|{{{||{{{{{z{z||{|||{}|{|{z|{z{z{{|{{|{|{||zz{{{|{|{{|{|z{{{zz{||z||z{{{z{{{{z{{||||{|{|{z{{{zz{|{|}{{|yz{zz{{{z{{{{|{{{zz{|zzz{{{{{|||{|{{z{z{|{}}}|{{{zz{zzzy{||{|{|zz{zzzz{z|z{{{z{|{z{zzzzy{z{{{{{{{zz{zzzz{{{{z{z|{{{zz{{zz{{{{{{|z{{zy{{zz{z{{{{{{{zzyzzz{{z{zz{zzz{zz{zzzzz{z{zzzz{zzzz{y{{{{{|z{{zyz{{zz{{{{{{{{z{zyzyyz{{{{z{|zzzzzyzzz{{z{{{{{zzzzzy{zzzzz|{{zz{{zz{z{{{{{{||zz{{{zzz{{{{z{|{{z{zzzzz||{{{{{|zz{{z{zz{{{{{|{{{z{{|{{z{{{z||{{{{{{z{z{z|{{|{{{{{z{{z{y{{{{{{|{{zz{{{{{|{|{|||{z{{{{|{{{|{||{||{{z{{{z{{|{{|{|{{{{z|{|z|||{|{{{{{{||{{{{}{|}|{|z|{{{{|{{||||{||{{z{|z{z||{{||{{{{z{{{{{|{||{{{{{zz{{{z{||{|{|||{{{{zz{{{|{{||{}{zzzzzzzz|{{||{{{|{zz{zz{|}}}|z|z{{z{zzzz{{{{zz|{z{{{{yz{{{|{{z{{{{zz{zz{{{{{{{{zz{z{zyzz{{{{zz{{{{{zzzz{{{{{zz|{zzzz{z{{||{{{{{{z{y{zyz{{{{{zzzy{zzy{zz{z{{{{z{{zy{zzzz|{z{z{{{{zz{zzyz{z{{z{{|zzz{yzzz{{|{z{z{{zyzzzzzz{zz{{z{zzzy{zzy{z{z{|{{{zz{zz{z{zz{z{|{{z{zzzzy{{zz{{z|{{{{{z|{zz{{{z{{{z{yzzz{{z{{z{{|z{{{{zzz{{{{{|{{{zzzz{z{{{|{z{|{z{{{zz{{|||{{|{|{{{zzz{z|||{|{|{{{|{{{{{{{{|{||{{z{|{{{z{{{{|{|{{{{zz{|{{{|{{{||z{{{{{|{|||{{{{||z|{z{zz{{{{|||{||y{{z{|{{{|{}|{|z{z{z{|}z{{{|}|z{{{{{zz|{{{{||{{{{{yzzz{|{{{{}{||{{zz|z||{|{|{|{{{zzz||||}}}|{z{{{zzyzy{{{zz{|{{zzz{zz{z{z{{{{|zzzzzyzz|{{{|{{|{zzz{zz{{|{{z{||{z{yzzzz{z{z{{{|zz{zzz|zz{{zz{|{{zzzz{{z{{{zz{{{zzzyzzz{{{z{{{{{z{zyzzzz{{{{{{|y{zz{zzzzz{{y||z{{{zzzzz{z{{{z{{{zzzzzyzyzzzzz{z{{zzz{zz{z{{{z|{{zz{{{zyzy{{{z{{{{zzz{zy{{{{{{{{{zz{zyy{{{|{{{|{{{{z{zz{z{|{{{z|{zzzzz{zzz|{{z{{{{yzzz{z{{{{{{||{zzzyz{z{z|{|{{z{{{{{{{{{|{|{|{{{zz|{{z{{||{|||{||z{{{{{z{{{|||||{{{{|{zz{|{{{||||{{{z{|z{}{|{||}|{{||{{{{|{|||}{|{{{{{{|{{|{|{||{z{{{z{|{|||z{|{{{z{||{{|{{}|{{|{{{z{z{|{{{|{{{|{{{zz{{z{{|{{{{{{{{{{z|{||||||zzz{zz{zzz{||{{{||zz{zy{{zz{{{{{{{zzz{yz|z{z{zz{{{{{z{{{y{|{{|{{{{{{zyzzzyz{{{y{{{{zzz{zzz{{{zz{|zz{zzzzzzz{zzz{|{zzyz{{zz{{{zz{{zyzyzzyz{yzzzz|{z{yzzz{y{yz{{{{z{z{{zyy{zz{zzz{{{z{zzzzzyzzzzy|{{yzyzzzzzzzzz{|{|{zzzz{zz{{z|{{{z{zzz{zzz{}{{z|{|z{{{zzzz{{z{{|{{z{{zzyzzz{{{{|{{|z|z{z{z{{{{{{{{z{{{{{zz|z{{{{|{{z{{zzy{|{{{{{z{{{{z{{z{z{|{{|||z{z{zzz|{{z{{||{{z|zz{zz{|{||{|{{{{z{{{{}{|{|{||{z{{{z|{{|||{|}|z{{{z|z|{|||}}|{{{{{{zz||{||{|{{{{z{{{{{|{|{{||{{{|{{zz{|{||{{||{{{z{zz{{{{{{||{{|zz{{z{z{|{{{|{|z{z{{z{|{|||{{z{{{z{zzzz{{z{{z{z{z{zzyzy{|{z|||{{{{zzyzz|{|z{|z{y|z{zzz{zz{{{{{zz{z|zzz|z{{{{{{z{yzyzzy{|z{z{|{{{zzzxyz{z{{z{{{zzy|zzzyzz{{zz{z{z{{yzzzz{{{z{{{{y{zyyyz{{{{{{{{zzz{zzzzy{{z{{{{zzzz{z{zyzz|z{{{z{zzz{z{y{z{{{{{{zz|zyzz{{{|{{{{{{zz{zzz{{zz{{{{{z{zz{zyz|z|{z||z{{zzzz{{||z{|z{z{zz{zzz{{|{{|{|{z{zzy{z{{{z{||{|{z{{zz{z{{|z{{{{{zz{{{z{{||{|{|{z|{{{{{{z{|{{{|{{{{{z{z|{|{|{||{{{z{z{{|}{{{||{|{{z{{{{{z{|{||{{{{z{z{{{}{{|{{|{z{{z{{|{{|{|{{|{{{{{{zz|{{{{||||{z{|{{{{|{|}{{|{z|{z|z{z{{{{{{|z{{{{z{z{{{|z{|z{z{z|y{{||{{{{|{y{zz{z{yz{zz{{{|{{zzzzzzz{{z{z{|{{z{z{yz{z{{z{{{zz{zzz{z{z{{y{{{{{{zzyzy{{{{z{||z{{z{{zz{{{z|{z{zz{yzzzz{z{{z{{z{{{zzzyzz{{{z{{{z{zzzzzzz{z{{{{|zz{zzzzzzz{z{{||zzyyyzzy{z{{{{{{{zyyzyzyzzzzy{zz|zzzzyy{zzz{z{{zzz{{zzzz{z{z{z{|{{zz{zzzz{{z{z{|{z{{zz{z|z{z{{z{zz{zy{{{zz{z{{|{z{zz{z{{{z{|{|{{{{{z{z{zz|{{{z|{{|z{zz{z|{{{|{||{|zzz{{z}}{{{||{z{{zz{{z{||{{|{|z{{zzzzz||{||{{||z{z{z{{{|}{z{|}{z{|{{{{{|{{{{|{|{{{{|{{{|{{|{||{z{{{{{{{{||{{{|{z{{{zzz|{z{{||||{{{{{zz|{{{|{|{{{zyz{{{z{{{{{{{{{|{{{{zz|{{|z|{{z{{{{{|{{}}|{{zzyz{{zzyz{{{{z|{{{{zy{zy|{{{{{{{zzzzzzzz{{zz{{{{zzzzz{yzzz{{{{z{z{{z{z{{|{{{{y{{{yz{zzzy{|{z{{zzzyzz{yzzz{{{{{{{zzzzzzzyzz{||{zz{{zz{yzzz{{zz{{{zzzzy{z{z{{z{zz{zzz{y{z{{z{{{z{{zz{zyzzzz{{zz{z{{yyyzzzzzz{{{|z{zzzyz{{z{zzz{{zz{zzz{z{z{|{{{z{{{zz{zz{{zz|{{{{{{z{{zzzzzz{{{|{zzz{z{z{{z|{{{||{{z{{zzzz{{{z{{|{zz{{z{{|{{||{{{zz|{zz{{z{{{{{||{z{z{{||z{{|{{{{|{{{{{zzz{{|{{{{{{z{z|z{z{||z||{{{{zz{z{{{|{{|{}|{{{{{{{z{|{}{||{{{{{{z{z||{|||{|{{zzz|z{{{{{{||}{{{{{{{{{{{{|{||{|{zz||z{{{|{{||{{zz{{{{z{{|{{||z{|yzz{{{||z|z{z{|y{zzy{zz{{|{{{{{zzzzzyzz{{z|{zz{zy{zzyz{{{{{|{{zzzzyzzzz{z{{zz{yzzzyzzzzzzz|z{{zzyzy{yzzz{z{z{zyzyzzzz{z{zzz{zzzyzzzzyzz{z{zz{{zyyyzyyz{{zz{{zzzzyzzzyzzzz{z{|{zzzxzyy{zz{{z{{zzzyyyzyz{{{zzy{z{xyzzzzz{zz{{{{zzzzy{zzzz{z{{|zzzzzzzz{{{{z{{{{zzzzzzzz{zz{{{{{zzzzyz{{{{z{{{{{zy|{{zzzz|z|{{|{{{zzzzzz{{{z{|||{zzzzzz{zz{{{{||{{{{{z{z||{|{{z|zzz{{{|z||{|{|z|{zz{{{zz{{{|{||{zz{z{zzz{|{|{{{{{{zz{|{{{{z{{|||{{|{{{{z{{{|{|{|z{{{z{{{{{|{z|{|z{zz{{z{||{{{{{|{z{{{{z{{|{{|||{{zzzz{yz{{|{{|||{zz{z{zz{{{{{{{zz{{zz{{z{||z|zz{y{y{zzzyz{|{zzz{{yzyz{{z{{zz{{{|{zzzzyzyzz{zzz|{zyyzzzy{{{{{zz|{z{{yzyyz{z{{{{z|zy{zzzzyz{z{{{{{{z{zz{zzzz{zzz{z{zyzyz{zzzzz{zz{zzzzzyzy{{zzz{zz{yzzyyyzy{{z{{z{zy{zzzyy{z{{z{{z{zzzzyzzzzzzz{z{{y{yzzyzy{z{{zz{{zzyz{yyz{y{zz{{zzyzzyzzz{{{zz|{{z{yzy{z{z{z{{{{{{zzyy{y{{|zz{{|zzzzzzzz{{{{{{{{{zz{y{yz{z{{z{{{{yzzzz{z{|zzz{{z{{{{z{z{{|||{|{{yzzzz{{{{|z{{{|{|z{z{{{z{}{|{||{{zz{zzzz{||{{{{|z{z{zz{{||{{|{|{{{{z{{{{{|{|{|{{z{{|{{z|{{{{{{|{zz{{{z{{{{{{||{|z{zzz{z{{z{|||{|{z{z{zz{z{|{z{|{{zz{zz{zz{|{z{z{z{yz{zzy{{||{zz{zzyzzzy{zz{{{{{zzzzzyzy{{zz|{z|{{zyzzz{z{{zz{{{z{zzyzyzz{z{{z{{zzzzyzyyz{zzz{{{zzz{{{yzzz{{zz{{{zyzyzzyzzz{{z{{{yz{zy{yzzzy{zz{{zyyzzzyyzzzz{{{zzzzzyyyzzz|z{z{z{zzzyzzz{{z{zy{zz{z{y{zzz{z{zzz{zzyyzzzyzzzzz{z{zy{z{zzzz{{zz{{zzzyz{zzzz{{{{{{{z{{zzyzyzz||z{|{z{{y{zzy{{zzz{{{zzzzzzzz{{z{z{{{zz{yzzzz{z{{{{|{{{zzz{zzzz{y|||z{{z{z{z{z||{|{|{{{zzzzzz|z{{{|{|{zzzzzz{{{{{z|||{z{z{{z{{||{{{{{zz{zz|||{{{z|{|{{z{{y{{z{|{||{|{z{{zz||{{{z||{|||z{{{{z||z{{{|{{{{z{|zzzz{{{||{{{z{zz{{{{{z{{|||{{z{yzz{{{|{{||{{z{zz{{zz|{{z{||{{zz{zzzz{z|{||{z{z{{z{{}{||{|z{{{{zz{z{{z{{{|{{{z{zzzzzz{|{|{||{z{yz{zz{|||{{|||{zzz{{z{}|{{{{zz{{zz{zz{z{|{{|{{{z{{{z{{z{|z{|{z{{{zz{{{{{|{{|{{{zz{{zz{|{{{{||{{z{z{zz|zz|{|||{{{{{zzzz{{{z{{{{z|y{zzz{{zz{|{{{z{z{{{z{zz{{{||{{{{{z{{{|z{|{{{{{}{{{{z{{{{{|{{{{z{z{{{{{|{{||{{zz|{{z{|}|{{|{zz{|{{zz{{{{|{{|||zz|{zz{|||{|{{{|z{z|{z|{{||{|||{{{|{{z|||{z|}}{||{|zz{{||}||||{|{{z{z{{{|}||||||{{{{||{|{|||}|}{{{|{{{{||||||}||{{|{z{z|{{|||||{zz{{|{{{{{{|}||||{{|{{||{|||}|}|{{{{z{{{{{|{||||{{{z{{{{||{||||{{{{z{{{||z|||{{{{zzzz{{z{|{{{{|{{z{{z{z{}{|{|||{zz{z{{{|{{{|}|{{z{{|zzz{{{||{||{|{y{{{z{{|{{|{|{{{zzzzy{{{z{|||{z{|z{{{{{|z|{z|{{{{{{z{{{{{z|{{{zz{{z{z|{{{z{{{{{z|{{z{{{|z{|{{{|{zzzzz|{{|{{|{{{zz{yzzz{z{|{|{z|{z{{{z{z|{{|{{{{zzz{{z|{{|z{{{{{{{{{zz{|{|z|||{{{{z{{z{{z||{}{z{{{{|{{{z{{|{{||{{{{{{z{{z|{{{}{|zz{{z{{|||{|}{|{{{{|{z{||{{{|{{{{{{{{|{||||{|}{{|{{{|{||{}|}{{{{|{{{{{{||{}}}||{|{|{|z}}{|{|||{{{z|}{{|||||||}|{||{z{{||}}|}||{{{|{z||{|{||||}{z{{||{{|}{||||}{|{|||{{}|{|}|}|{}|{{{{z{|||||||}z{|{{{{{|||{|{{{{{{{{{{||||{||{z{z{{{|z{{|{{{|||{z{|z{z{{{{|||{{z{{z{|{|z|{{|||}zzzz{zz|{{{z{{|{{{zzzzz}z{{|{|{{z{{{zzz{{|zz{|{{{z{|{zz{|{{z{{{|z|{zzz{{{{z{|{{z{z{zz{z{{{{{{{{{z|z{{z{z{|{{|{{zz|zzzyzz|{{|{{}{{zz{z{{z{z{{||{z{{z{zzzz{{z{|{{zz{{{|zz{z{{|{{|zzz{{{z{{{|{z{{|{{z{zz{z{{{|{{{{{{{z{{{|||||z|||{|z|{{z{{{|{||{}{{|{z{{z{||{|{}|{z{{{{{{|{|{}||{{{{{{|{||||||}{{{{{z{{|}||{{{{}{|{|{{{{z|}{||{{|{z{||{|{{|||{||}{{{{{{||{}|||{|||{{{{{{{z}||||||}|||{{{{{||{||}}{{{{|z||||{{|{}||{zz{{z{{||||}||{|{z{|{{{||{|||||{z{z{z{{{{{{|{||z|{{zz{z||{{}{{{|z{{{{z{{|{{z||{z|{zyz{{|}{{{{||{zzz{{z{{{|{|{|zz{{z{z{|||{{{||{{zy{{{y|{{{{|{|{{{z{{zzz{zz{{|{{zz{z{zz{{|{{z{{{zzzzzzz{{|{|{|{zzzzzzzzzz{{z{{{{z{zzzz{{{{z}{z{z{zzzz{z{{z{z{||z{z|zzz{{z{{{{{{{zz{zzy{y{{{z{{{{{{{{zzzz{{|{{{|{{zz{z{{|{{||z|||{{{y{{{{{|{{{||{z{z{zzz{{{|||{|{|{zzzz{||{{{|{{|{{{zz|{|{||{{||zzz{z{{{||}z||{{{{{{z{{{|||||}{|{zz{zz{{|{{|||||||yz{{{{|}}|{}{||{{|{{{{}|}|{||||{{{|{|{{{{||||||{{|z{{|{~|}{|{|{{|z{{{{|||}||}||{{{{|z{|||}|{|||z{z|{{||||||}||||{z{{{{{|{|||{||{z{{{z{{||{|{|{{{{{{{{{{||{{{z{{{z{{zzy{||{{|||{zz{zy{z|{|||||z{{zz{|{{{{|{{{|||{zz{zzz{{z{z{{z|z{z{z{z{z||{|{{{z{zz{zzz{{{|{|{{zzzzzz{z|{z{{{|{{z{|z{zz{{{{{z{{{{{{z{z{{{z{{|{{zz{z{z{||{z{|z{zy{{z{z{{z{{{||{zz{{zyzz{{{z{{{|zzzzz{{{{{z{{{||{z{zzzy{z{|{{|{{{z{z{zzzz|z{{|{{z{zz{z{z{{z|{{{|z{{zyzzz{{|}{{|{|z{{y{{z{|{{{{{{{{{zzz{{{{||{||}|zzz|{zz|{|{{|{{|{{{{{{{z||||{||{|{z{{{z||{|}|||{{{{|z{z{{|{{{|||{{{{z{{||||||}||{{|{{{{{||}{||||z{z{|{{||||||||{{{||{|{{{{|||{|{{||{{{{{}|||}}{|{{{|{{{|{||{|||{{{{{{{{|{{{{||}|z{{{{{{{|||{||{|z{z{||z||{|z|{{{{yz{|{y{{|||{|{{z{zz{{z{{|{{{{{|zzzz{{z{{{|{|||{{|{{{y{{{{|{|{{|{zzy{zz{{{|{{{|{z{{{{zzz|y{{{||{{{{z{{z{{{{||||{zzz{z{{{z{{{{|{{z{{{z{zz||{z{|{zzzzy{zzz{{z|{{|{{zzzz{zz{{{{|{{z{zz{{zz{{{{{{{|{z{{z{zz{|z{{{||{z{{zzz{|{z{{{{{{{zz|z{{{{{{{{{|{{z|{{{{{{|{{{{{{{{|zzy{|||{{||{|{z{{{|{{z{|}}|{{{z{{{{{}|||{||||{{{{{{{|||{||z|{{{z|{||{}{||}{|{||{{z{|||{|||}|{{|{{z{{||}||||{|{{{z|{z{||{|}}||z||{||{|{{{|||||{|{{{|||||}{||}|{{{z{{{||}}|||||{{z{|{{|}|{||}|}|z{{{{z|||}|{|||{{z{{{{||{{||}{{|{{{{{z|{{|{|}{{{z{{z{z||||{{{z{z{z{zz{{{|{|{{|{{{|{y{{z{{||{{||{{{{{{{{{{|{{{||z||zzz{z{|{{{|{|{z{zz{{{{{{{{{{z{{zzzz{{{{{{}|{{{zz{{{z{z{{{|{{{{zzz{{{{{z{{{{|z{{{zz{zz{{{{||{{|zzyzzz{|{{||{{{z{zzz{z{||{{{z{z{z{{{z{z{{{z|z{zz|zzzz{z|{z|{{{{{{z{z{{{{{|{{{|{{zy|zz{{|{{{{}}{z|{|{z{{{}|||||{{{{yz{{|{{{{|||z|{{{z{z{|{||{|||{{{{{{|{|||||||{{|{z|{z{|{{||}|{|{zzz{|}||}}}|||{|{|z||||||{|||{||{{{{z{}|||{||{{{{|{|||||{|}{|{{|{z||{|||||||}|{{{{||{|}||{|||||{{{{||{|{|}|||||{|{{{||{|||||}{{|{|||{||{|||}}|{{{{{{{{{{||||{|{{{z|{z{|||||{||{|zz{{z{||||{|{{|{{z{{{|||{{{|{{{{{|zz|{|{{{{|{z|z{zzzz{{{||{|{{{|{|z{{{{|{|{{||{|zzz{z{|||{||{{{{{{|{z{{{|{}|{zz{zzyz{{|||z||{{{z{{{z{{{{{z{{{z{z{{{zz{{{{|{{z{z{{zzzzz{{{{|||{{zzz|z{{{{zz{||{{yzz{zz{{{{{{|{z{{{z{zz{{{{||||zz{zz{{z|{{z{{{{{{z{zz{z{|{{{{{|{{{{{z{{|||{|||{{{{z|{{z{||{||{||{{{{{z{{{z|||{||{|{{{z{{|||{{||{{{{{{{{{|{{|{|{{{|{{{{z}|}|{{{}{|{z{{|{{{{|||}|{z{|{||{||}|{}}{|{{|{z{{||}{|}{|{{{{{|{||}{{}{|||||{{|{{{}||||||{{{|{|||{|||{}||||z{||||||||{}|}{{|{z{{|{{{|}|{}|{{zz{{{||||{||||{z{{{|{z||{|{||{{|{z{z{|}}{|||{|z{y{{zz{|{{{||{||zz{zzz{{{{||}}zz{zz{zz|{||{{|||{zz{z{{{{|{{{{{{z|{z{zz|{}|||{{{{{{{z{z{{{{{||{{{{z{{{{z{|{{{|{|z{zzy{{{||{{|{{zz{z{{{z{{{||{{{zz{{z{z{z{{}{{{|{{{zz{y{z{z|{{|{{{{{zzz{z{{{{{{z{{{z{zzzz{{{{||{{z|zzzz{{{{{|{}|{|{z{{{{|||{|||||{{|z{{z{{|{{||{|{z{zz|{|{|{{{{{|{|{{{|{z{{||}{{{{{{{{|{{|{|{|{{{|{{{{{z|||{||{|{{|{{{{{{|||||||{{{|{{|{|{z|||}}{{||{{{{}|{|{{|z}{||||{{}||||}||{|{{y|{{|}{{|}|}|{||{||{{}{|||}||{|{{{{{{||||{|{|{{|{{{|||{{||||z|z{|{{{|{||||}{{{{{|{|{||||{{|{|{|{{{{{||z|{||{|{{z{{{|}|||{{{{zzzzzzz{{z|{{|}{{zz{{{{{{{{{{{{|z{zzzzzy|{|z{|z{{{{zzzz{{{{{{z{|{{{zzz{z{y{{{|{|{zz{z{zzy{z{|{z{{z{z{zzz{{{zz{{{z{zzy{z{{{z{{{{|z{zz{z{z{|{{{{|{{zy{z{yzz{|z{{{|zz{zzz{{{{{|z{{|zzzzzyzyzzzzz{|z{{z{zzzyz{{{|||zz{{zzzzz{{{z{{{{{{{{{z{z{{{z{{{||{|{{z{zz{{z{|||{{zzz{z{{||z{|{|z{z{{z{{{|{{{||{|{{zzzzzz|{||{{{{z{{{{{{z|}{{||{z|{z{{zz{{{||z{|||z{{{|z{||||||}{{{|{|{{|}|}}||||z{z|z||{||{{{{|{z{{{||{{{|||}z|{{||z{{{{|{|{|{|{{|{{{{{{{|||}|}{{{{{{{z|{{{||}|}||{|{{{{|{||{|}{|z{{z{{|{{{{}{|{{{z{{{z{|||z{|{{{{zzzzz{{{}|z{{{{zzzzz{{|}{||{{{z{{z|z{{|{{}{{{|z{zz{{z{{z|{|{||z{{zz{zz{{|{{|{z{z{zz{{{{{{{{{{{{|{zz{y|{z{||{||{z{{{{z{{{z{|{|{z{{{{{{{{{{{|{|{zzzzzzz||{z{{{{z{zzyzz{{{|{{{}|{{z{y{z{z{{z{|{{{{{{z{z{{{zzz{{{{z{zzyzy{{z{|{z|{z{{{{{zz{|||{{|{{z{zzz{{|{{|{{|zz{{zz{{{{{{{|||{{{{{{z|||}||||{{{z{{z{zz||||{{{{zz{z{{{z{||{{|{|{{{{{{{||z{|}{||{{{{{{{{|{|||||{{{zzz|{{|{{||}|{|||z|{{}|{||{|}|{||{z{{||||||}|z{|{{||{{|||||||}{{|||{|{{|||||}|{}{|z{{}|}|{||||{{{{{{|{||||||||||{||{{{|||}|}|{{{{|{{|{{||||{{{{zz{z{z|}|||{||{z{y{{z{|||||{{{{zz{zz{|{|{{||}{{{{|{{z{{{|||||}{zy{zz{z{z{{{{}{|||{{|{z{{{|{{{|}{|zzyz{{|}|{{|{{{{z{{|z{{{|{{|{{z{zzz{zz{|{z|||{z{z{{{{|{||z{{{{yz{{z{z{{{{{{{{|z{z|{zzz|{{|{{|z{{z{zz{{||{z{{|{zz{zzzzz{z|{{z|{z{z{z{{z|||{||{{{{{{zzz|{||{{{||{{{{{{z{|{{{||||{{{{z{{{{|{|{{|{{|z{{{{{{z{|||{|{{{}{{{{|{|{||{{{{z{{{z{||||||}{{zz{z{{{|{|{|||{{|{|{{{||}}|||{{{{{{||{||{}}{}||||{zz{{{}||||}||{{|||{{|||||||||||{{{{||||}||||||{|zz|{{||||}}|{{||{{{{||{|}}||{|{||{{{|{{}||}}z{{||{{{||||}}|}{|{{z{{{z||||{{||{{z{{{z|||{||||{|{{{{{||||{}|||z{zz{zzz{|zz|{{|{z{z{z{{{|{{{|||{z{{{{z{|z{{{|{|{z{{{z{{z|{z|||z|{{z{{{z|{{{z|{|{z{{{{{{{|{{{{|{|{{{{{z{{z{{||||z{zzzzzz{{{|{{||{yz{{z{{z{{zz|z{{{{zz{zzz{|{{|||z{yz{{{y{{|{z||}zz{zzyyzz{{{{{{z{zz{{z{{{{zzz|{|{z{{zzzy{|{|{{|{|{zz{{z{|{|{|{{|{|{{zz{|{{{{{||{|{zz{|{{{{{{{{||{z{{{{{{{{||||{|{{z{zzy{{{|{{{|z{{{{{{{{||{{{||||{{{z{{|z{}||{{|z}|z{z||z{||{{|}|{z{z|z|{{|{}||{|{{|{|{{|{{||}|||{{z{{||{{|||}{||{{{{{z{|}|||}|{|{{{{{{{|||||}|||{z|{z{{}{|{{}|||{{{{{{{||}||}|{|z{z|zzz{|{||{{|}{{{{z{{|||{{{||{z{{{z|z}{{|||{{z{zzzz{zz{{z{{{{{{{{{z{z{{{{{|{|{z{{z{zz|{{|{{{|{{{{z{{z{{{|{{|{|{{yy{zz{z|{z{|{{{z{{z{z{z{zz|{|z{y{z{zz{{|z{{{{{zz{zz{{{{zzz{z{zz{z{zzzz|{y|{{{{z{zz{z{z|zzz{|{zy{{z{zyz{{|z{|{{zy{zyz{zzz{{zz{{z{{z{z{{{zz{|{{z{zyzzzy{z{{{{{|{{zy{zzz{|||{{{|{{{zzz{{{z{|||{{{{z{zz{{||{{|||||{{z{{z{{{|{|||{{{{{{zzzz|{|||||{{z{{{z{}|{z{|}{{{{{{{{{|||{||||{{z{zz|z{z||||}||z||{z{{|{||||{}|||{{{{{||||||||{{{{{{{{|}||}}{|||{z{|{{{||||||||{{{{z{{{{||||}{|{{{z{{z{||{|||||{{{{{{{{|{|||{{z{{z{{|{{|{{{{}|{{{{{||z|{{{{{||zz|{{{zz{{||{zz{z{z{zz{z{{|z{|}{{{{zzzz{{z|{{||{{z{zy|{zz{z|{|||{z|zzzz{{zz|{{|{{{z{yzzzz{|{{|{{zz{z{{z{{|{|{{{z||{{{{{z{z|{zz{{{{z{z{z{{{y|{{{{zzzz{{{{zz{zz{{{zzzzz{zz{{{{{{{{zz{{z{{z|{z|{{{{{z{{{yzzz{{{z{{|{{zzzz{zz{{{{z{{{zzzzzyy{|{|z{{{{{zyzzz{z{|{{{|{|{{{z{{z|{{{{{|{{{{z{{{{{{|{z{{{|{z{{z{zz||{{|{zzz{z{{z{z{|{{{|{|{{{zz{z|{|{|{{{{|{{{z{{{{||{|{|{{z{{z|{||{{|||}{{{{{|{z{{||{{{{||z{|z{{||{{|{{|{{{{{{{z{||{}|}||{{{{{z{{}}|{||||{||{{{{|{||{|{|}{{{{{|{|{{|{{|}z|{{{z{|{|{|{|||{|{{z{|z{z{{{|{|z{{{{|zz{{{|{{||{z|z{{z{{|||}|}{{{yzzzzz{{{z}z{|{zzzzz{{{{{z{|{|{{{zzz{z{{{{{{{{{zzzzzz{|z{|z{{{|{yzz{zz{{{zz|{{{zz{z{zz{{{{z{{|{yz{zzz{{{|{|||z{zzzzzyz{{{{z{z{{yyzz{zzz{{zz|{{zz{{z{zzz{{{{{{zzz{zzzyzz{{{|{|zzzzz|z{zz{{{|{{|zzz{zzzzzz{{{||{z{z{zz{z{{{{z{{{zz{{z{z{{{{|{{|z{{{z{zzz{{{||{{{{{{z{{{y{z{{{{|{zz{z{z{{||{{|{{|z|zz|z{{{{|{{||||{z{{yzz{{}z{|||{{{{|{z{{{{{|{|||z{{|{z{||{{||||{zz{{{|{|{{|{|{||{zz{{{{{|{|||||}{{{|{{{{{{||}|{{zz{{|{z|||{|{|||{{{{z|{|{{|{|||||{{{{|{{|{|||{{|{{|{|{{||{{|{|{|{{{{{{{z{{{||||{{z{z{{{{z{||{||zz{{{{{{{}|{|||{zzzz{zyz{{{{{{{{{{{|{z{{||{|||{||z{z{z{z||{|||{|{zz{|y{{{{||z{{|{{{zyzzz|z{z{|{{{z{zzz{z{{z{{{|{{{{z{zz{{{|{{{{|{|z{yzz{{{{|{|{|zzzz{{z{{|{{{|{{{{zzzzyz{z{z{{|{|{zyzzz{{|{z{{{|{{z{{z{y|zz{|{{{z{zyyz{z{{{{{{{|{zz{|zy{{{{{z{{|{{{z{z{z{|{{{{|||{z|zz{{|||{{|||zz|{zzz{{|{{|||{|{{|{z{zy||{||{{z{{{{{{{{{|||{|||{z{z|{{{}z{{{{{{{{{{{zz||{||{{|{{|z{{{||{|{|{{||{{|{{z{|||||{|{{{{z{{{{|||||}|}{{{{z|||||{{|||||{|{{{{{{|||{||}{|{{{{{z|||||||{{{|{|z{{{||{{}||}{{|{{{{{}{||||||{{{zz{||}|{|||}{{{z|{|z{||||||}{{{{{z{z{||{|{{|{{{{zzz{{|{{||{|{z|{zyzz{{|{{{|||z{zz{{{{z{|{|{||z{{zyz|{{{|{{||{{{{y{zz|{|{{{{{{zzzz{zz{|{{{|||zz|zz{{{{{{{{{|{{{||{zzzzz{||{{{{{{z{zzzz{{{{{{||z{yz{z{{{{{{{{{{|zzz{{z{{{|{{|zzz{{{zz{{{{{z|{|{{{{zzzz|{{{{{|{{zz{zzz{z{|{{||{{z{{{z{||{{z{}{|{|{{|{{z{z{{{|{|{{|{{zz{||{{|{{|{{|{{z{z{{{||{{||{{z|{z{{||{|||||{{z{{{|||{||{|{{{|z{{{{|}{}||}|{||{{{{{}|{|{|}|{{{{{{{{||{|{{||}zz{{{{{|~z||||}|{||{|{|{|}|||}||{{{||{||}||||}|}{||{|{{|{|{{|{{|||{{{z{||||{||}||||{z|{{||{|}||{|{z|{{|{{|{||{}|z{{{z{||}|{|||{|{|z|{|z|{}{||{{{yz{{|{z|{|{|}||{zz{z{z{{{{{|{||{{{{|{zz|{{||{||{z|zz{{{{{{|{|||{zzzzyzz{{{|{{{{z{{{z{z{{{{zz}|{{{{zz{{{z{|{{{{|{{zyzzy{{{{{{|{{{{{zz{zz{z|{{{{|z{zz{{{z{|{{{z|{z{z{zzz{z{{{{z{|z{{{{z{yzz{{{{{|z|zzz{zyz{{{||{{{{{{zz{z|z{{|{{|{|{{{{z{{{||||||{z{{{z{z{{{|||{{{{{{{z{{|||{||{{{{|{{{{{{{{{|}|{{{{|z{{z|{z|||||{{|{{z{||}|{{{||{||{|{{z{|z||||||{z{{|||||{}|||{{{{{|{z{{{|}||{||{{{{|zz|{|{~{}||{{{{|||}|}}}{|||{{{||{|{|~|}||||{{|{{|{|{|}|||{||||{|z||||{|{|{{{{||{z|||{||||}{z{z|{z{|{z|{{|{|{{{{{|{{||||{||{{{{{z{{{{{}{|{z{{{{z{{{z||{||{||zzzzz{z|||{{||~{zz{{{|y|{|{|{{{{{zz{{{{|{{{{|{{{{{z{z{z{{|{|{|{|z{z{{{z{{z||{{|{{{z{{z{|{{{{|{|zz{{{z{{{{{|z{{|zz{zz{{{z{{{{|{|zz{z{zzzz{{{{|{{{z{zz{{z{z{{{{|{{{{{{y{z{||{{||{zz{{{{{y{|{{z|{{y{{z{{{zz{||{{{|{zz{{zz{{z{{{|||{{{z{z|{|||{||{|{{{zz{{z|{{||{||{{{{{{z{{|{|||||{{|{{{z{{|{|z||{{{{{{z{{||{||{|{{{|{|{{z||}}||{}{{{|{{{|{|{}{||||{{z|{{||}||}{||{zz|||{|{}||}|||{{{{|||}|}|||||||{{{{||{{}||{{{{{{|{{{||}|{}|}|{|{{{|{{{{{|{|}}|}{{{||{{{{{||}||||{{||{{{|}{}{}|{|{{{{{{||||{|}|zz{{{{|z|{||{|||zzzz{yyzz{|{{{|{{z{{{{|{|{{{|||{|{{{zzz{|{{{{{{|{{{z{{{{{|{{{{{{{{z{z{{{{z{{{{{{{{{zz{|{z{|{{{{{{z{zz{z{{|{z|{{{{{{z{{z{{{z|{{{{{zzz{{z{z{{z{{|{{{z{z{zz{{|}|{{{|{{zz{{z{|{{{{{|z{{yzz{z{{{z{||||{{z{z{zz{{|{||{zz{y{{{z{{z|{||{{{z{{z{z|||{{{|||z{|z{{{{z|{||||{{{{{{{{{|{{{{|{|{|{{z{{{{|{||||{z{|z{{{{|||{{}{{z{{{{z{||z{{|{{{{{|{|z{{||||}|z{z{|{z{|||||{}}}{|{{{zz{{||||{|{|}{{{{{{|{|||{|||{{{{{|||{|}|}|||z{|{z{{|~}|}|}||{{{{||{}|{}||||}{{{{{{z||{|}}{}||{||{{{||||||}|{|{{{{{{|||{|||||{{{{{|z{||{|{||{||zzzz{{||}||{|{zzzz{zz|{{{z{{|z|zz{{zzz{{|{|||{z{z{{{{{z{{{||{{{zzzzz|z{{{{|z{{{{zyz{z{{{|{{{|z{{zz{zzz{z|{{{{{zzz{{yz{|{{{z{|{{yyz{{{|{z{{|z|{y{y{zzz{{{zz{|z{|zz{{z{{{{{z{{{yz|zz{zz{z{zz{{{zz{z|{z{{zz{{{z{zzz{zzzz{{{{|{{|z{zzz{yz{{|{{{{{{{z{{{z{{{{|z{|{{{{zz{{z{z{{{||{{zz{{{zz|z{{{|||{z{{{z{{{{{|{{{|{z{{zz{z{||||{|{{y||{{zz{|}{||{{{{{{|zzz||||{|||{|{{{z{{|{{|||}|{||{{{{z|||{||{|}{{{{{{{{|||{|||{{{|{{{{||{|}||||{{{z{{|z{|{||{||z}z|{|z|{||{||{{|z{z{{{|||{|||{{{{{{{{{z|{{|||{{{{z{zz{{{{{z}|{{{|{{z{z|{{{{{|{{z{z{zz{{|||{|{|{{zz{{zz{{{{||||{z{{{{z{{{||{{||{{{z{zy{{|{z{||{|{z{{{zz{||{{{z||{{z{z{zz|{|||{|{{{z{{{z{|y{{||z|z{zz{{z{{|{{{{|{z{yz{{{{{{{|{|{y{zzz{z{{{z|{|{{zz{{zzyz{{|{{|||z{{zz{{z{{z{{|||{zz{{{zzz{{z{|{|{{zz{{{z|{z|{|{|{{{{{zz|{{{|{||{||z{zz{{{}{{|{||{{z{{zz{|||{{|{|zz{{zzz{{|{{}|||{{{{{z{{z|{||||{{{{z{z{|{||||{|z{{{z{{z{{||{|{|{{{z{||{{|{{||||{|{|{|{z{{{||{|||{{|{{{{{z||||{{|}z{{|{{||{}{|{|||{{|z{|{|||{|||}|{{|{|{{||||||}||{{{{||||||}{|{|{{{|{{{z{||{{|}||{z{|{{|{|{|{|||{||zz|{{{{{|||||{{{{{z{z|||||{|z|{|{{{z|z{||{{{{{z{zzz{{z||{||||{{{z{{{z{{|z{|{|zzz{z{zz{{|{|{|{{{{{z{{{z{{{z{{|{{{{zy{zz{{{z|}|zzyzz{zz{{{{z{|{{z{{zz{z}{{z{{{{zyz{y{{zz{z{z{{zzzz{z{zzzz{{{{{zz{zz{zzz{{zz{{z|{y{{zzz{{{z{{z{{z{{{zz{yz|{{{|{z{{zzz{{z{{{|{|{{{yzzzz{z{{{{{{|{{zzzzz{{|{{{{{|{{z{{{y{z|{|z||{|zz{{{zzz{|{{|{||{{{{{z{{{}|{{{z{{{{{{{z{z||{{{||zzz{z{zz{{|{{|{|{z{{|zz{|{||{{||{{{{z{{|{|{|{|||{{{||z{{|||||||}{{{||{{{{||z||||{|{{{|{{{{||||||}{z{z|{z||||{|}{|{{{{{{{||{|{|{||{|{|z{{{|{{|||||{{{{|z|{||{|{||{|z{{{{{{{{}{|{||{{{{{{z{{|}{{||{{{{{{z|{||{{{zzz{yz{zzz{{|{{z{{zz{{{zzzz{{{z{z{|{zzzyzzz{{|{||||zzzzzzz{{{|z{|{z{zzz{yy{{|zz|{{yyzzzz{z{{z{z{{|{{zz{zzz{z{|z{{{{zzzyz{zyz{{zz||{y|z{yy{z{zz{z{z{{yzy{zz{z{{{{z{{z{{yy{{{{{{zz{{{zy{{yzzz{{{z{z{{{{zz{zyz{{zz{|{yz{{z{zz{zz{{|{{{{{z{zzzz{z{{z{|zzzz{{{y|{|{{{{{{z{zzz{{||{{{{|}z{{{zz{{z||{{|{|{{{z{{z{{{{|{{|{z{z{{{zz{{{{{|{{{|{{z{{|{|{}|||}{{{|z{||{{{|||||{{{{{{z{z||{}}{|{{{{|{|z{}{|{}||{{{z{{|z|||{{|{||{{z{{zz{}|{{|||{{{|z{{{|||||{|||{{{{{|{{||{{||{z||{{|{{{|{|{{|}{{{{{{{{{{{{{|||||z{{zzz{{|||||zz{{z{{zz{}||{{{{{{{z{zz{{{|{{{||zzz{{z{y{{{{{{|{zz|{z{z{{{{z|||||{z{{zz{{{{|{|||{{z{{{zy{|{|{{{|z{z{z{{z{{z{{z|{|z{z{zzz{{{zz{|{{{{zzyz{{zz{|{z{zz{zzzz{{{{|zz{{{zzzyzzz{{z{{{{|z{{zzzzy{{z{|{}z{{z{zz{{zz{{{||{{{z{z{zzz{{{{{{|zzzzz{zz{{z|{{}|{{z{{z{{{{|{{|||{zzz{z{{{|{{||{|{{{{z{{z{|{{{|||{{{{zy{z{{|{{{{{{{{{{{{z{||{|||{|z{z{|{{{|{|{}{{|{{{{{{{|{{|||{|{{{{|zz|{|{||}}|{z{|{{{{{||}{|||}{|||{{{|}||||}|{z{{{||{{||{{|}}{|||{{|{||||{||||{|z{{|{|{|||{|{|{{z|{||||{|}||||{{|{{zz|{||{|{}{{z{{{{{{{{|{||}{|{z{z|z||{{{{|{{{{z{||{{{|||}||{{{z{{{{{{||{{{{|{zz{zz{{z{{{{|{{z{z{{z{{{|{z{|{{{{{{z{yz{||z{||{{{z{{|z|z{|{||z{{|{|{|z|||{{{|{|{{z{zzz|{{|z|{{{zyzyz{{|z{{{||{z|zzzzz{|{{{{{|{{{z{{zzz{{|z|{{|{{{zzzz{z||{{{{{{{z{{zzzz{{|{{z{{{zzz|{{|{{{{|{{{z{z{{{y{{|{{||{{{z{|z{{{|{{|{{{{z{zzz{{{|{||{||z|{{zz{{{||{{{||{{z{{z|{{|{|{{|{{{{|||{{{{{{|||{|{{|{{{{||||{|{||z{{{z{{{{|||}}{{{|{||{{||{|{||}|{{z{|{{|||{{{|||{{|||{{|}||||{||{{{{{{{{|{|||{||{{|{|{{||}|{||||{{|{{{{||{|z||{{{{{{{zz||{|{}||||{{{|||||{||||||{{z{{{{|||||{||{{{{{{{{{z{|{{||{{{zzzz{{|{{|{||{|{z{z{{{|{|}{{|{|{zz{{z|{{{{{||{{{z{{z{{{||{}|{{{zz{{{{z||{|{||{z{z{{zz{|{z{{|{{{{{{{zz{z|||{{{{{{{{z{z{{{{{{{|{{{z{{{{|{{|z||{|{{zzy{z{{|{{|{{z{zzzz{{{{{{{{{{{{{{zz{z{{{{{{|{|zzzz|{z|{{{{{|{z{{z{y{zz|{|{{||{z{{{{z{|{{||{|{||{{z{z{{{{{|{|{{|{|{{{z{|{|{{{|y{{{{|{{{{|{|{}|||{{{{{{|{|||{||z{{z{z{{{|||{{|}{{||{{|z||{||||{||{{{||{{|||{||||{{{|{{z|}||||||{|{|{|{z|||}||}||{{|{{||{||||{|||{{|{{{{|{{}}|||}{}|{{{|{}{}{}}}}||}{{{||}||{}|||z{z{|z{{|||}{}}||||{{z||||||{|||{z{zzz{{|{{|}|}|{{{|z|{{|||{||z|z|{{{{{{z|{{|z|{{{zzzzz{{|z{z{{zz{z{z{{{z{z{|||{zzyzzz{{{z{|{|z{z{z{zzz{zz|z{|{{{{z{z{zz{z|{{||{{{{z{zz{{{|{||{{zzz{{{{||{{z{|{{z{yzzzz{z{{{|{|z|zzzz{z{{{{{{{{zzz{zzz{{z{{{z{{|{zz{{{z{{z|z{|{{zz{zz{y{{{z|{|{z|z{zzy{z{{z|z{{{{z{{{{z{|z|{||{{zz{zy{{{|{{{{{|{{z{zzz{|{{|{z||{{z{{{zz{{||||||{{{{|{|{{||{||||{z{{|zz{{||z{{|{{{z|{{{|{|{{{{{{|zzz|{z|||{|{||{{{{|{{{z||{|{|{}|{{|{y{{|||{||}{{{|z{{{{|}||{{||{|{{{{|{|{z{|{}||{{{{{{{{|}||||}{{{||{|{||{|{{|||{|{{{{{|{|}||}|{{{}{{{{{{|||{|{|{{{z{{z|{|{||}|{{{{zz{z{|{||{|{{{|{zzz{||{||{{|{{{{zzzz{z||z||{{{zz{y|z{{{{{{|{|{z{z{{zz||{z{{|{z{{{{y{{|{z{|{{|{{z{z{z{|{{{{{|{z{{|z{z{{z{|{{{|z{{yz{z{{{zz{{{{{{zz{zz{z{|{{z{zzzzzzzz{{{{{{{{{zzz{{zz{y{{{||{z{zzzzy{{{|||{{{{{zzzzzzy{|{{|zzz{{zy{zzz{{{{{{|zzz{z{y{{{{{z{{|{z{{{{{{||{{{{|||z{{z{z{{{{{{|{{{{zz{z{z{{|z{{|||{||zz|z|{{||{|{{z{zz{{{{{||{|}||z{|{{{{{{|{{|z{|{{z|z{{{{|z{||||||{|{|{{|||||||{||{z{{|||}}{||{}zz{|{{{|}|{{|||{{|{{z{|{|}{|||{|{{{{|{|||||||}|{|{{zz{||{|||||||{|{{{z{{{{{||}}||{|z|z{{{{}|||}|{{{z{z{||||{}{{}|{zz|{z||{|{{||{|{{{z{{}|{{{{{{z{zzzz{z{{{{z{|zz{{z{zzzz{|{{|||{zz{zz{{z{{{{|{|{zzzzzz{|{|{{||{z|{zzz{zz{z{{{|{yz{zzzzz{{{{z{|{{z{zyzzz{{{zz{{z{z{zyz{z{{{{{{z{zz{{{zz{{{z{zz|z{z{zzzz{z{{z{{{{{{zzzzzzz{{{z{|{{zz{zy{z{{zz{{{z{{{{{zzz{{{{{{{{z{{{|{zz{{{zz{{|{{zz{zzz{{|{{{{||z{zzzzz||{{{{{|{z{z{z{z{{|{{|||{z{{{|{{{{||{|{|z{z{{{z{{|||{|||{zz|zz{{||{{z|{|{{{|z{{z{{{|||{{{{{{{{{z{|{}{{|||z{{|{zz{|||||}||z{{}{{{||{{||||{{{{|{|{|||{}|{||zz{||{{{}{|}{}|{z{{{{{{|||||||||{{{{{{||||||||}|{{{{{{{{{|{||||{{{z{{{zz||{|{|}{|{{{{|z{{{{{{z|{z{{|y{z{|{|{|{{z{z{{y|{z{{{{{{{{{z{zzzz|z{|{|||{{z{zzzzz{{{{{{{|yzzy{{{|{{{z||{z{{zz{{z|{{{{{z|{z{zy{z{z{{zz{{{{{yz{zy{zz{{zzzzzzzzz{z{{{z{z{{|yzz{zzzz{{|zz{{{z{z{z{yz{{|z{{{zz{zzzzzzz{{z|{{{{{zyzzzyy{{z{{{|yzz{z{zz{{{{{{{{zz{{z{zz{z{|z{{}{zz{yzz{{{{{{{{{}z{zzz{z{{{{z{{|z{{zyzz{z{{{|{|{|z|{{z{z{|}|{|{|{zz{{{z{{{{|{{||{z{{{zz{{{{{{|{||{{{z|{{{||}|{|{z{|z{|{||{|||{|||{z|{|z|{}|||||{|{{{{{|{|||{||||{{{|{{|{{|||{|{||{{||{{{{|||{|}||{{|{{z{|{{{{}|{|{{{{z{{|{{|{{{{|{{{{|{{||||{|||{{{{{zz{{{|||{|{|{z{{{{{{{{{|{{{{z{zz{zz{{|{{}zzzzzz{z{y{{{||{{{{zz{z{z{{{{{||||{{z{z{{{z{{{|{{{{z{y{z{z{{{{{{|{|zzzzzzz{z{{{|{|{{zzzy{z{{{{z|{{{z{zzzz{{|{{z{|{{zyzzzzz{{{{zz|{zz{z{z{z|{|zzz{{{zzzzzzzz{{{|{z{zzzyzz{zzzz{{{{{{zzzzyzzz{{z{z{{{{z{zxzz{{z{{{z{{z{zzzzzz{{{{|{zz{z{z{z{{{{{zz{|{{z{y{{{{{{|||||{zz{{z{{z{{z{|||{||{{z{z{{{{||{{||z{{zzz{|||{{{{z{z|{{{{|{{{|{{{|zzz{{{|z{|{|{}|{{{{|z{{{{{{{|}|{{||zz{z{|||||||||{{|{{||||{|}||{z{{{|{{{{{{|{|||{{{z{|{|}}|z||{|{{|z{{{{||{|}}{|{{|{z{{{}{|{{|}{{z|{{{{z{||{|}||{{y{zzz{|{{{|||{{{{zz{{{||z{||{z{|z{z|z{|{{|{z|{{z{{zzzz{}{{z|{{zzyz{{y{{|{{z|{{{{{z{{|{||{{{{{z{{{{z{{{{{{{{|{zzzzzzzz{{{{{{||{{z{zz|{{z{{{{|{|y{zzzzz|{{{{{{{zzzzzzz{|{{z{{{{{zz{zyzzzzzz{{{{zzzzzzyzz{{z{{{zzzzzzyzz{{z{{|{{{zz{zy{zy{zy{|{|zzzz{zyz{|{{{|{z|{{z{z{z{zz{z{|{{{zz{z{z{|{z{{{{{{{zzzzz{zz||{|{{{{{{{{z{{|{{{{{{y{{{{{z||||{||{{z{{{z{{|||{|{||{{{{{zz{{||{{{{|{{{{z{{{{||{{|{{{{{{{|{{{{|{{{{|{z{zzz|{{||{{{|||z{{{{{z{{|{{{||{{{{{{|{||{|||}{|{z{z{{|{}{||||{{|{|z{{{||||{{{{|{|{{zz|{|||||{|{{{{|{z{|}{||{||{{}z{z{z|{||{||{|{zz{zz{|{||{|{{z{{{{z{{{{z{|{z|zzz{{zzz{{{z|{{{{z{z{zzz{{{{{{||{{zz{z{{{{{z|{||zz|zz{zz{{{|zz{{|{|zzzzzz{{{{|z{z{zzzzz{{{{{{z{z{zzz{{y{zz{z{|{{{{{{z{zy{{zzz{z{zzz{{yzzz{zz{{{{zzz{yyz{{{|{|{{{{zzzzzzyz{{zz{{{{zzzzy{zz{{z{{{{{{yzzzzzzz|{{|{{{{{z{{zyz{{{{{|{{zzz{y|z{{||{|{{zz{zzz{{zz|{{{{{z{{z{|{z{{z{{{{||{{yzzy{{|{{{|{{zzzz{{{z||{{|{|z{{|z{{zz{}|z{|{|{{{{z{z{{{{||}}{{z|{{|{{{{|z{||{|{{{z|{{|||{{||{|{{zz{{{|||{|{||{{|{{{|||{||{{}||{{{{{{z{||||{{|{|{{||||||{|{||||z{{{{{{z||{{||||{{{{||{{||||{||{|{z{zzz{{|{{|{{{{{|{|{{{|||{{{|{z{{zz{z{{{{|{{y|zyz{zzy{{{{{|{{z{{{yyz{{|{|{{{{{zz{zz{z|{z{{{{{{{{z|y{z{|{{{{{|{{{{zz{{{{{{|z{{zz{zy{{zz||{{{{|{zy{{{zzz{{z{{{{z{zzzzy{|{{{{{{{zzzzz|zz{{{{{{{{zz{zyzyz{{|{{{|{z{{{y{y{{{{z{{|{|{{{yyzyz{{zz|{{{zzzzzz{zz{{z{|{{y{zzzzz{{{{{z|{{{zyzyz{z{{{z|||{{{{z{{{{{{{{{{|{{z{zz{{{|{||{||{z{{{{{|{|z{{}{|{{{|{{z{{{||{{|{{z{|{z{{|||{|}||{{{{{{z{{||{{}|{z||{{|{{{|{{{{||{zz{{z{zz}||{||{|z{{{{{{|||||{|}{{{{{{||{||{{{|{}{z{{|{||}{||||{|z{{z{|{}||||||{{{|z{|{{{|{||||||{}z|z{||}{{z{{}{zzz{{z{{{z{|||z|z{{{z{{{{{{|||{{{{zz{{{{{{{|{{zz{yz{z{z{{{{z{{zzzz{zzzz|{z|{}{{|z{yy{{z|{z{|{|{||yzzzzz{{||z{{{z{|zzzzz{{{{z|{|{{zzz{{zzz{zy||{{{{{z{z{|{{{|{|{z{{z{z{{{zz{z{{{y{{z{z{z{{{{z{|{zzzzz{zz{{{{{{z{zz{{zz{|z{{{{{|{{zz{zzzy{{z{z{{{{{zy{zzz{|{|||{{|z{zz{{z|{{{|z|{{{{{{zzy{{{{{|{}{z{{{z{{{|||{{||{{|zz{|{|{||||{|{z{{|z|{{}{{{||{{z{{{{{z{{|{|z}{{{{{z{{{{||{{|{|{zz{z{{{{{{|{|{|z{{zz{|z|{||{{||{{{z{{{{{||||||{}{|{{{{|||||}|||{{|{|z{|||{{|||{||{{{|{{||||||||{|z|{{{{|||||}|{|{{{{{{|{{{|{|{||z{{{{z{{|}|{||}{{{{{{{{|||}|{|||{|{{z{{{{{{|{|{{z{zzz{{z{{{{{zz{{zy{z{z||{|{{|{{zzyzz{y{{{{{|{|{y{{{z{z{{z{||{|{z{z{|z{{{||{|{{{{{zzz{z{{zz{|{|zz{zzz{z{{|z{|||{zzzz{zz{z{zz{{|{{zzz{y{{{{{z{{{z{zzzyzzz|z{z|{{{z{{yyz{z{{{{{{{z{{{z{{zz{z{z{|{{{zy{{{zzzz{{{{{{y{z{zz{zz{z{||{|{zz{|{zz{{{{z||{z{z{{{y{||{|{{|||zzz{{z|{{|{z{||{{{{{{{{{z{{{|}{z|z{{|{{{{|{{{{{z{|{{zz|{||{||{z{z{z{z{{{{}{{{}{{{{{{|{{{{|{}{{{||{{{{{|||{|||{{|{{{{|{{|{||||||{{z{{|z|{{|||}||{}|z{{{|{||{{|}{|{{z|{{{{||{||||{{{|{{{||||||{}|{{||{{{z|||||}||{{|{{z{||||{}}}{{|{z{{z{{||{||{|zz{zz|z{{{|{|{|z{|{{zzz|{{|{z{{{{{{{zzzz|{{{{{|{zzz{{{y{{zz{|{||zz{{|{z{{|{{{{|{{z{zzz{{{|{zz|{{z{zzz{y{zz{||{|{{{zy{zz{|{{{|{{{z{{zyz{||{{z{{{z{zzz{{{zyz{z{{{{zzz{zz{z{{{z{{zzy{zy|zz|z|{{z{{{{{zy{zz{z||{{|{zz{z{y{yzz{y{{{|{|zzzz{yz|{{|{{{zyz{y{zz{{z|{{{|{{z|{z{zz{{{|{|{|z{{zz{z||{{{}||{{{{{{{z{||{{||{|{{|zz{{{|{|{}{|z{{|{zz{{{|{|{||{{z{z{{z{|{z|{z|{|{{{{{{{}{||||}||{{{{|{{|{||||{{|{{{{z{{|{{||{||{{{|{{{{|{{||}|z{{{{||{|{|{{|{||{z{{{z{{||||||{{{{|{{{{||||}{||}{{|{{{{|}|{|{|{|{||{|{|{||}{}||{z|{{{z{||{||||}{|z{z{{{z{{|{{||z{{z{z{{{{{{{{{z{z{yzz{z{|{{{{{zzzz{{zzz{{z|{|||z{{zz{zz{{{{z|{|{{{{{zzz{{|{z|{{{{zz{{{z|{|{||{{zz{zz{{{z|zz{{{{z{z{z{zzz{{z{{|{{z{|zz{zz{{|{{z{{{z{zz{{{{{{z{{|{yzzz|{{z{{|{{|{z{{{zz{z{|{|{{{|{{zzzzzzz{{yz{{{{z{zzz{z{|{{{||{{z{y{{zzz{{||{{|{z{z{zz{{{{{{|||{z{{|{{z{z||{|||{{{{{z{{{|{|{|}|{|{{z{{z||||{||{|zzy|zz{||}{}|{{{{|{{{{{{||{||{|{{{z{|{{{{{|{}||z{{{{{{{{|{|{{||{|||z{zz|||||||||{{{{{{{||{||}|}{|||{||{{|||||{||zzzz|{{{}||||||||{||{{{|{|||{}||z|{|z{{{|{{}||||{{{{{{{|{|||||{{|{z|{|{{|||{|||{{|z{{{{{{||{{|{{{{{||y{|||{z{{{zzzz{z{zz{|{{{z{zz{{zz{{|{|{{|{|{{zzzzz{{{z{{{}{{z{zzzzzz{||{{{|zzyzyz{z{{{{{{{{{{zzzzzzz{z{{{{z{{{zzz{zz{{z{{{z{|z{{{{{z{{{zzz{zzy{zzzzz|{z{{{{zz{z{zyz{{{{{zz{{z{zy{zzz{|{|z|{{z{zzz{y{{|z{|z{{{zz{zzzy{zz{{{{zz{zz{zy{{{{{{{|{{|zz{{{||{{{{{|z{z{{z{z|{{|{|||zzz{{{{z{{z|{{||{z{{|{z{{{|{{{{{zz|z{z{{{|{{{|}|{{{zz{z{|||{||||{{|{{{{z{|||z|||{|{{zz{|{||||{|||{|{{zz{|{|{||}{|z{{{{{z{||{|{|}z{{{{|{||{|{{||||{{|{||||||{{||}|{{{zz{{{{z||}|||{{{|{{{{{{{{{}|{{|{{z|{{{{{{|||{|{z{{{{{|||{|||||{|zz{z{{||{|||{{{{{{|zzz{{{{{{{{z{z{zz{{{{{{|{zz{zz{z|{{{{|{{|{zyyzzz{{y{}{|{|z{{z{{zz{{{{z|||{zz{z{{yz{|{||{{{{zzzz{zz|{{{{{z{zzz{zzy{{z{z||{{{{{{zzzz{z{{{||{zzz{zyz{{|{{||{zz{{zzz{z{{{||{zz{{{{zzy{{{z{{{{zzz{z{zzz{|{{{{{{|zzzy{z{z|{z{{{|y{{{zzz{{|{{{{{{z{z{z|{{{||zz||{{z{{{{zz{|{{||{{{{{z{{{{{||||}}{|z{{{z{{|||{{{{z{{{{{y{z{{|{|||zz{|{|zz{z}{z|}||zz{{{z{||||||||{z||{{{{||{||{||{|{{{z{{{{|||||{|z{{|{zz{||{|||{|z||z{|{|||{|}|{|{|{|{{{|}|}|||}}{|{{{{{||{|{||||{|{{{{{|{|{||}}||{||{{{|||}{{||{|{zz{{{{||{||}}{{{{z{{z{|||{|}||z{z{zzz|{||{{|{z{z{zzz{{|z{{|{{{{z{{zzz{|{{|{{z{z{{z{{z|z{{|{{{{zzy{{{z{{{{zz{{|zzzzz{{{{{{z{z|{{zzz{zz{{{zz|{{yz{{zzyz|{{z{{zz{{zzzzzyz{|z{|{{zzzzzyzz{{{{z{|{{z{zzzzz{z{z{{{{{{{zyyzzz{|{y{{{{zz{yz{yy{{z{{z{zyzzzzz{{{{{{{{|zz{{{yzz{{{{z{{|{z{zzz{{{|{{|z{{|zz{{z{y{z|{{{{{zzzzz{z{{z{|{|{{{z{{zzz{{{|{{|{|{{{zz{zz{{{{{||{{{z{{{{{{|{|{{|{{{{z{{{z{|{||{||{|{z{{z{{|{{{}||{{z{|z{{|{|{|}|{}z{z{|{{|||{|{|||||{{{{{{{|||}|||{{{{|{||||||{|||{{|{{{|||||{||||z{{|{{z{|{|{|||||z|{{{{|||{z|}}{{{z{{{{|{|}{{}|{{{|z{zz|||{{z|}z{z{zzzz{{{{z{z{{yzzz{z{z|{z{{z{yzzz{z{zz{|{{{{|{zzz{zz{z|z{zz|{{{{z{{{{{z{{z{|{{yzzyz{z{{{{{{z{zzzz{yyzz|zzz|{{z{{zzzzzz{{{{z{z{z{{zzzz{{z{{{{y{{zzzyzz{z{{{{{z{zzz{{yzz{zzz{{{{z|zzyzzz|{|zz{zz{{zz{{zz{{zyz{zzzzy{{zy{zzz{||zz{zz|zzz{{{{{{|{|zzy{{{{{{|z{{{}{z{z{{{y{{|z{|z{{{{zz{z{{{{|||||{{|{zzz{{{{|||{{zz{z{{{z{|{{{{|z{y{z{{z{z{{{{{{{|{{z{{{{{{||{|||{{|{{z|z|{{{{|||zz{|{|z{{|||{||{|zzz{{{{||{|}{|||{{|z{z|{||||||{{z{{{{{{z|||||{||z{{{{{{{{|{|||||z{{zz{{{{|||||{{{{{{{z|{{{||{||z{{{|z|{{{|{|{||{z{z{{{z{{||zz|{{{zzz{zz{{{{|{{zz{yzzzyzz|{{z|{{zz{z{z{zz{{{{||{z{zzzzzz{zz{{{||{zzzy{y{{zz{z{{{|z{zyzyz{{z|{{z|{z{zzz{z{{zzz{zz|z{{yzzzz{{zz||zz{zyyzzz{{{{z{{{{zzzzz{zz|{z{{{{{{zzzzzzy|{{{zz{{z{{z{y{{|{{z{{{{zzy{yzzzz{zzzz{{|zzzy{zy{{{{{{{yzzz{|{zz{{{||{{zz{zzy|y{{|{{{{|{{zz{zz{z{z{{{{{{z{{zz{{{{{z}|}{{{|{{zzy||{z{{{{{z{zzz{z{{|{{|||{zz{z{z{{||{{}{{{{zz{zzz{{|{|{{|zz{{|{{{{{{|z}||||{{{z{{{{|{|{{{{{{{{|{{{{||||||z{{{|{z|z|z|{||{{{z{z{zz|{|{{{}{|{{{z{{{{|{{|}|{|{{{{{z{z{|||z{}{{{{|{{{z{{{{{|{{|{{{{zz||||z|||{z|{z{{{{|{|z{{|{z|{zz{{{{{{{z|{{zy{{yyyz{z{{|z{{{{zzy{{|z{zz|||zzzz{zzz{{{z{{{{{zzzzzyz{z{zz{|{{zz{{zzzz{z|{|{{zz{zz{{z{|{{z{|{z{{zzz{zzz{zz{{{z{zyzyz{zzz{{{z{{zzyzzzzz{z{z{{z{zz{z{yz{z{z||{|{yy{y{zzzz{{zz{zzyzzzzzz{{{z{z{z{|{zzzzyy{z{|{{|z{{zzzzz{{{{{|{{{zz{zz{z{|z{{z{{zy{{{z{{{z{|z}||{z{{zz{z{{|{{|{||z{z{z{||{|{||{{{z{||{z{{{{{{{|{zz{{{zz{{|{||}|{{zzz{z|zz|{||{}{{{{z{zz{{|{|||||{zz{{{{{{{{{|}|{{z{z|{||{|{||{||{{{{z{{{{z|{{{{|{{{zz{z||}{|{||{z|{{{{{z{{||{{{|{{z{{z|{||{|{||}||z{{{{{|{z||{|{zz{z{{zzz{{{|{{{|{|z{{{{{{{||z{|{{zzzz{z{{|}z{{{{{zzzyzz{{|z{{{{zzzzzzzz{|{{|{{z{z{z{z|{{{|z{|{||z{y{{{zz{{|z|}{zz{z{z{z{z{|{|||{zz|{zzz{{{{{{{{|z{zzz||{{|{{{z{zz{z{{z|{{{z{{{|z{{{zz{y{{{{{{{{{{z{zzzz{{{{{{{|z{zzyz{z{z{{{{{|{z{zzzzzy{{{{zz{{zz{zzz{{{{z{{|||{zzz{zz{z{{|{{{z{{z{z{z{{{z{{{{zyzzzyzy|{{{{{{|{z{{{{zzz{|{|{{|{{{{{z{zz|{|{|{{{{z|z{{{||z|{{{|z{{z{|{{||{|z{|{{z{z|z|{{{|}{|}{zz{z{{{z|||}||||z{z{{{{{{{|{||{||z|{{z||||||}{||{{{{{{{{|{||{|z||{{|z{{|{|}}{|}|{|{|{{|{{|||{}|{{{{{{{{||}|||||||{{{{{|{||||}}||{|z|z{{{{|{||{||{{{{z{{{{||{}||{{{|zz{zzz|{{|{{zzzzz{{zzz}{|||{|{{z{zz{z{|{||{{|{|{z{zz{{{{{{{|{{z{z{zz{{{{{{{{{{z{y{zzz|{{z{{{|{z{|zzyz{|{{z{{||{{{{{{z{z{{|{|zz{{zzzzzzz{{{{|{zzyy{z|zz{||z{{{|{{zzzzz{{|y{{{|{{{{zzyz{{{{{{|{|zzzzzzzz|{{{{{{{{zz|zz{{zzzz{{{{zzyz{yy{|||{{|{{{{{{{{{|{{{|||{{{{{y{{z{{|{{{||{{{z{{{{{|{}{|||{{{{z{{z{||{{}{|{{|{{z{{{{|{|{|{|{{{z{z{||{||}|||{{{{{{{|{||{{|}|{z|{|{{|{}||}}|{{z|{{z|{{{}|{{||{zz{z{{|}|{||||{{||z{{{{{|||||||{{||{|{{}{||}|}{{{{{{{{|||{{|{||{{{{{{{{{|{|{|||||{|{{|{z{}||||{{|z|{{z|{{||{|{||{zz{{z{||{|||{{{zy{z|{z{z{{{{z{zz{{z{z{{|z||{|zz{{zzzz{{{{{|{|{{z|{zyz{{{{{z{{{{zyz{zz{{z{zzz|{{{zz{z{{|{|{{|{zz{z{{{{z||{{||}{zz{z{zz||{|z|{{z{zzzz{{z{{|{{{|zzzzz{zzz{{{{|{z{{z{y{z{{{|{z{{|zzzzzzz{{{||z{{{|zzzzzzzz|{{{|{{{z{zzzzz|z{{{}{|{zz{z{zz{{{{{{||{zz{{{zz{{{{{{{{z{z{|{{z{{|||z|||z{{{zz{|{{|{{|{|{|{{{{z{|z|{|{{{{{{{z{|}{{|{{|{{{{{|zz{|{{{{{|{{|||{z|{|}{|||||{{{{{||{|{|}|{|}|z{{{{{{{||||}||}z{z{{|{|{}|||||{{{z|{|{{{{|||{}|{{{z|{|{||}}||}||{{|z{{{||||{||||z{|{{{{{z{|{||||{{|{{{{{{}{{||{{|{{||z{|{|{||{{{{{{{{{{|{||z||{{{{{z{{{{{|{z{{|{zzzz|z{{{{|{{{{{{zzzz{|{{{{{|{{{zyzz{zz||{{{{{{z{zzzzzzz{{{{{{|{{{zyzz{zz{{{{{{{{z{zzzz{zzz{|z|zzz{zyz|{{{z{z{{zzzzz{z{{{|{{|{z{{z{z{z{z{y{{{|{{{{y{z{{|{{{||{{zzyzzzz{z{{z{{{zzz{{z{z{{{{zz{|z{y{z{{y{{z{z|}{zz{zzz{zz{||{||z{{{zzz|z{|{{{{{{zz|z|{{z{{|z{{||z{y{zz{z{{{|{|||{{{||z{z{{{{{{{{{zz{{{{z{|||{{|{|zzzzz{|{||{||{{|{{{{{{{{{{|{|{|{|{z{z||{{z{{|||{{{{{{z{||{|||{|}{{||{|{||{{|}{{{{|{}{{{{{|{|||{{z{|{|{|{}}|||||{{}{|{{{|||}{|||{zz{{z{|{|{{|||||{{{{{{{|{{}}|{{{z{z{{{{|{|{{|||{{z{z{{|{||{{|{{{z{{{zz{z|{{{{z{{zz{zz{yz{{{z{{{{zz{z{yz{{{z{|||zz|zzz{z|z{{{z}|{z{zz{z{{z{{z|{{z{zyz{{{{yz|{{{|z{{zzz{z{{z{z{{{{zzz{{zz{{zzz|{{zzzzzzz{y{{{z{{{zzz{zy{y{{zz{{{zzz{{zzz{{y{z||{z{{zzyzzz{{{|{z{|{{zzz{zzz{{zz{{{{{{zzzzz{{{z{|{{zzzzyzzy{z{{{{{|zzzyz{z{z{{{{{{|{zzzz{|{{z{{{{||zz{{zzz{{|{{{{|{{{{{{z{z{{{||{|{zzz{{z{z{|{|{{|{{zz{zz{{{{{{{{|z{{{z{z{{||{z|{||zz|{{{{{{{{||{||{z|{{zz{{|{||{|{|{|{|z|{||||||}|{{{{{{|{||{{{}}||{{{{{{{{|{||{|{|{{{z{{{|{||||||{{{z{{{{|{{}|{|}{{{{{{{{{{{|||{{{{{z{{{{{|{|||}||{z{z{zz|z{|{z|{{{z{{zzz{|{||||{yzyz{z{zzy{{zz{|zz{zzzyzy{{{{{{{{{z{z{zzz{{z{{{{{zzyzz{z{{z{{{{{{z{z{z{{{||{{{{{{z{yzz{{{{{{z||{{z{{zzzz{{{z{zz|{zzy{{{z{zz{z{{zzyzzzz{zz{{z{z{{{{zzz{zzzz{||{z{z{z{yyyzz|zz{{|{{yzz{z{z{{{zzzz|{{{zyzz{|{{{z|{{zzz{{zzz{{|{{{{{z{zz|{zz|{|{{}|{{y{zzz{{{|{z{z{|{z{zzzz{{z|{|{|}{{|{{zz{{{{{|{|{zz{z{{z{z{}{{|}{{{{{{{{{|{{|{|{}|{{{|zzz||}|||||{{{{{{{{{{{{{|}||{{{{{{|{||{||{|{z{{{{{{||}||{}{{{{|z{|{|||||{{||z{{{|{{{||{}||{{{{{zzz{{|||{|||z{|{{{z{{{{{{||||{z{{{z{{|||{|||{{{{z{{z{||{|{|{{|zzy|{z|{{|||{|z{{z{z{{{{{{{{z{zz{zz{zz{{|{{z{{{zzz{z{zz{{{||{|{{zzz{zzz{{{{{|z{zz{z{zzz{{{{{{{{z{z{{zz|z{{{{{|{zy{zz{z{{{{{{{zz{{zzzzz{yz{{{{zz{zzzzz{zz{{|z{{zzzxzzzz{{|zz{{{zzyzyzzzzz||{{{{{z{zzzzzz{z{|{{{{{z{yzzzzz{z{{|{{z{zz{yz{{{|{{{{zzz{{|{z{z{|z{|{{zzz{{zz|z{{|||z{zzz{{{z{{z{z|{{yz{{{{{{{{|{||{{{z{{{z{z{{||{{{{{}{{z{|{{{{{{{||{yz{{{{{{{{{{|{{{z{z{{z|||{{{{{{{{{{{{z{{|{|z|||{{|{|zz{|||{{{{||zz{{{{z{|{||{|{|{{{{{|||{{||||{|{z{z{{|||{|{||||{|{{{{{|||||{||{zzz{z{z|{z|||{||{z{|z{{|{||{|{|z{{{{{{{|{{|{||{{{|{z{{z{||{{{|z{{zz{zz{z{|{|{{|zz{z{zzy{z{z{{{{z{zz{zzz{z{{{{z|{zz{{zzz{{|{{{|{zyzzz{z{{{{|z{{{{zzzzz{zzzz{{{z{z{zzzy{zz{z{{{|y{z{zzzzzzz|{z|{zzyzy{{zzzz{{zzz{zzzz|zzz{{z{z{{{yzzzzzy{z|{z{{{|z{{yyyzzz{z{z{{{{zzzzy{{z{{z{{zzy{zz{zzzz{{{{{{{zzz{{zz{zz{{{{{zzzzzzy{{{||{z{{||{zzzzzzz{{z{{z|{z{{zzzz{zz{{{|{{|{z{y{zzz{|{{{{zz{{|zz{|{{{{{}{{{{{z{{{{{{|z{{{{{{{{{{z|{|{||||{z{{{z{{z|{|{{{||z{{{zzz||{||{{{|z{{{{z{|{{{{{||{z{{zz{z{||{||{}|z{{{|{{|||||||{|{|z{{{{|z||{||{{{{{{{zz{|{{{|{|}z{{|{{{{{{|{{{{{{{zzz{{|{{|{{||{{z{{zzz{{|{{z|{{z{zzzzz{{{{{{{{zz{zzz{zz|{z{z|zz{yzzzzyz{{{{||{{{{zz{y{{{z{{||{{z{z{zz{{z{|{||{zz|yzz{x|zz|z{{{{zzy{zzyz|{y{z{z{{zzzzzzzzzz{{z{{zzz{{zzzz{zz{{{zzyz{zyzz{{z{|{y{zz{zzy{{{|{z{{{zz{{zyzz|z|{{{zz{{zyz{zzzz|{{{z{zzzzzzzzz{zz{{{{zzz{{zzz{{z{{|{{zz{{z{z{{z{y{{|{{z{zzy{z|z{{{|z{{{{|zz|{{|||z|{{{zz{{zz{{{{{{{|{z{{{{zyz{{{{{{|||{{z{{zzz|{{{{z}{|{zz{z{{|||{{||{{z{{z|z{{{{{|||{{{{{z{{{|{|||{{{z{|{zzz||{|{{}||{{{{{{||{||{}{|}{{|{{{|{|||}|{{|{|z{{z{||{{{|{||{zz{{{{|{||{|{|z{zzz{{{{|{||{|{{{{{zz{z|{{{{||{|{{{zzzz{{{|{{{|{{zzz{zz{|{|{|{z|zz{zzzyz|{{|{{|{zz{z{zzz{{|{|{{{z{z{zzz{{{{{{{|zz|{{zz{z{{|{{{{{{zzz{zzz{{z{|{{{{zzy{zz{{||z{{{{z{zz{{y{{|{{{{{z{{zz{zz{|{|{zz{{zyzzzz{|z{|{z{{{z{zz{zz{z{z{||z{z{{zzzzz{{{{{{{z{zzzy{z|z{{zz{{z{{{{zzzzzzz{{{{z{{z{yzzz{|{{z{{{zz{{{{{{|{{{{{|{z{zz{zz{{{|{{{|{{{{z{{{{{{{|{||{{{{zz|z{{{{{}{{{z{{z{zz{{|||{|{{{{{{zz{{||{{zz|{{{z{z{{z{|||{{|{{{{z{|{||{}{||{zz{{{zzz|||{|{}{}{{{|{{{||{{|||}{{{{{{|||||||}|||||{||||{|{||{}||{{{z{{{{{{|{|||{{{{{{{|{|{|||||{||{|{|{{||||{||{{{zzz{{{|{{||}||{{||z|z{|{|{{{{{{{z{zz|{z{{{{|{zzzzzz{z||{|z{{|zzzzzz{yz{|{{{{{z{zyzzzz{{z{zz||{zzzzzzzz{{{{{{|z{zzzyzz{{|{z{{{{y{zzz{z{z{zz{|z{zzz{zzy{zzzz{{z|{zzzzzzz{{{z{{{yyzz{zzz{{{{{{{zzzzyzzz{z{{z{{{{zz{zyy{zz{zzz{{{zyz{zyy{zzz{z{{{zzzzzyzz{|{z{|{zzz{zzzy{{{{{{z|{|zz{{z{|{{{{{{|}zzyzz{{{{{{|z{||y{|z{{z{z{{{||{|{z{{yzz{{{{||{{{{{{zzzzz{{|{{|{{{{z{{zzz{|||{z{{{zz{z{z{{z{||{|{|{{{{z{||{|}|{|{{{{{{|zz{|{||{|||{{{{{|{{|||}}}||{z|{|||{|||}|{||{{{{{{{{||||||{{{{{z{{{z||||{|{|z{z{{{|{||||||}{|{{|zz{{{|||{||{|zzzz|{{|{{{{|z{{{{z{{z{|{||{|{zz{zz{z{{z|{z{{z|zzzz{{yz||{{|z|{z{{zzz{|{{{||{{{{{zz{zzzz{{{z{{{zz{z{yz{{|{|{}||z{zzzz{zz{{{{{|{{{zz{{z{{|{{||{{zz{z{z{|z{zz{z{{zzzzzzz{{{{{z{{{yz{zzzz|{{{{|{{{yz{yz{z{{{{{{{{z{zzzyzz{{|{||{{{zzzz{zyzz{z{|z{{z{{{z{yz{z{{{|{zz{zz{{{z{zz{{{{{z{z{zzzz{{{z{{{{{z{zzyz{{{{{}{{{y{{{{{{{{z||||{{{z|zz{zz{{|{||{{z{z{zz{{{|{{||{{zz{{zzz{{{{{||||z{{{{{{{{|{{{||{{|z|{{z{{|||||{|{{z{{{{{{||{|z{{{{{||{{||||{||{|{{{{{|{|||{|||||{{zz{z{{}|{|||||{|{{{||||}|||}{|{{{|{{{}{{|||}|{||{{{{{|||{}|{||{{{{z{{{|z|{{||{{{{{{{{{}{|{|}{{z{z{{z{|{||{{{|{zz{{z{z{|z{{{{{{z{{yzzy{{{{|{|{{{zzzz{{|z{{{|||{z{zzz{{z|z|{{{{zz{zzz{z{{{{{zz{zzzz{z{yz{{zz|{{|zzy|zzz{{z{{||z{z{yzzzz{{{|zz{{zz{z{{zz|{z{{{{{{z{zzzzzzz{|{{{{zz{{zz{{{{|{{z{{{z{z{zzz{z{z{{{{zz|zzzyzz{{{{||{{{zz{{yz{{zzz{z{{{{{|{{z{{{{z|{|{z{{z{zz|{|{{z||{z{{zz{z|{{{|{|{{z{z{z{{{{{||{{|{{zz{{{z|||{{||||{{{{{{||{{{{|||{zz{}{{z|||||{z|{{{||{{{||{~{{{||{{{{{{{{|||{||||z{{{{z{|||{|}|||{}{{{{|{{|||{||{{{{{{z{||{|||||{|{{{z|{|{|||{|}|z{|zzz{|{{|||}{||{{{{{{{||||||{{|{{{|||{|{||{|{{|{{z{zz|||{{{||{{{z{{zz{{|{z|{{zz|yz{|y{|z|{{|{|z{|{{zz{{{|{|||z{zzz{{zzz{{||||z{{z{zy{{z{zz{}{{z{z{zzz|{{{{{{{yz{{{{zz{{{zz{{||{{{{zzz{z|z{{{{{{zy{zzz{z{z{{{{{yz{|z{{z|{z{{{{{{z{z{yz{{{{|{|{{z{zzy{y{{z|{{{{{zz|zzzzz{{{z|{z{z{yzz{zz{|{z{z{zz{z{|zyz{{{{{|{z{zzzz{{z{{{{{||z{{{{z{{{{{{{|{{{zzzz{{{z|{{z||{||{{{z{{{|{|||{|{{zz{{{{{|{{||||z{|{z{{{{|||{|{{{zz{{{z{{{{||{||{z{z{{{|{|{|{{||{{{{z{y|{|{|{|}|{{{{{|{{{||{|}|}{||{{|z|||{|{}}||z|z{{{|||{{|{||{z{|{{{{{||||{|||{{{{{z{{||||||||z{{{{{{|||||{|}{{|z{{{{{}{|||{|{{z{{{{{{|{{{{|{{{z{zzzz{{{{|{z{zz{zzzyz{{{z|{{{{z{z{{{z{{z{{|{|{{zy{y{z{{{{{{{|{{z{{zy{{}{}z|||zzyzyzz{z{{{|zz{zz{zyz{{{{zzz|{zz{zzz{zz{z{{{{y{{z{zzzzzz{z{z{{{zzzyzy{zz{{{{{{{zyyzz{zzz{|{{{{{z{zzzz{zz{{{{{{{z{yz{yzy{z{{{{{{zzzz{{{y{{z{{{|{{z{{{{zz|{{{{|{|{{zzzzzz{|z{{{zz{{z{z{z{z{{{{|{|zzz{zz{z{{{{|{|{z{z||z{{{{{z{{{{{|{{{zyz||{{{z|{{{{{{z{{{{|{{{|||{{z|{{{z{||{{|{{{z{{{{{||||{|||{{{z{{{{{|||{|{|||{{{{{{||{{|{{|z{|z{{{{||{{{z|}{{{{zz|{|}|||{{{|{|{{{{||||{||}|||z{{z||{|{z{{|}||z{{{{{z|{|{|{|y{{{{{{z{{|{||||{{zzz{{zz{||{{{z{{{zzz{{|||zz{z{{yz{zzzz|z|{||{{{zzz{yzzz{z{{|{{{{zzzz{y{{{{{{z{z{{zz{zzz{{{z{{{z{{yz{zy{{{|{|z{z{{zzzy{{{|z{{z{zy{zz{zz{z{zz{z|zzzzzz{z|z{{zz{{zzzz{{z{{z{zz||{{zzzz{z{|{{{{{|{{z|zzzzy{z{{|z|{zzzzz{zzy{{z{{{{z{zz{z{z{{z{{{z{z{zzzzzz{{{{{{|{{zzz{z{{zz{z{z{|y{{zzzzy{z{{{|{|{zz{{z{||{z{{||{{zz{{zzz{|{|}|||{z{{{zz|{{{{|{{{{zz{zzzz{{{z{|{{|{zzz||{{||||||{z{{|{|{{|}{||{}|{{z{{{{z{||{|||{{z||{{|z|||{|}||{{|{{{|{|{|||||||{z|{|{|{|||{}}||{|zzz{{{||{{|}{{{{{{z{|{||{{z||}{z{|z{{||||||{||z{zz{{{{|{|||||{{{{|{{z{|||{{|{zz|z{{{y{zz{{z{{zzy{zzzyz{z{{z{{{zzzzzzz{{z{{|{{zzzy{zzz{{z{{{{{{y{zzz{{{z{zz{||{{zzy{zz{z|{{z{{{zzzzzzz{{y{zz{{zzz{zzyzz|{{z{zzzyzzzzyz{{{{|{z{zyzyzzzzzzzzz{{zzyzzyzyzy{{{z{z{zyzyzzzyz{y|{{|{z{zzzzzzzyzz{{{{z{zzyzz{{z{z{{{{zzy{zzzz{{{{{{{{|z{{zzzz{{z{{{{{zzzzyz{z{{||{|{{zzzzyy{z{{z{{|{{zzz{{zz{z{{{z{{zzzzzz{{z{{|z{{{{{z{{z{{z||{{{|||z{z{{|{y{{||{}|{z{{z{z{z{{{|{}{}{{{{|z{{|{{|||||{{{zzzz{||||||||z{{z{z|{{|{|{|||{zzzz{{{|}|||||{|zz|{{{{{|{|{|||{{{zz{|{|{|{{{|{|z{{{{y{{|{||{{||{{z{z{z{{|{|{|{{{z{zzzz{{{|z{|z{{{{zz{z{{|||{{{{zyy{zzz{||{{{{{{zzzzzzz{{{{{{|{{zzz{zzz{{z|{{||zzzzzzzzz{|{{{{|zzz{z{zz{{{|{{z}{{{zz{zyz{{{{{{|{yzzzyzz{||z|z{z{zzzz{z{{z{z{{|{zzz{zyzz{z{{z{{{z{zzzzyzz{{{z{z{{{zzyzzz{{z{{{{|zzzzzy{z{{{{zz{{z{{zzzzzzz{z{{|{|zz{{z{y{{|{{z{{{zzz{z{z{{{z{{{z{{y{{{y{{{{{z{||{{{zzy{z{|{{{|z{z{zz{zz{{z{|{{{|{{z{zz{{{{|{{|||{{zzzzzz{{{{{{|{z{z{{{{{{{||||||{{{|{z|z{|{|{|{}{{{{{{z{{{{{{||{{{{z{{z{{{{{|}||{{{{{z{{{|||||}}{{{{{|z{{|{{|{||{{{{|z|{||||{||{|y{{{zz{{|{z|||}|{{{{{z||||||{||{{zz{z{{{{{z{|{{{z{{zzzz{{{|z{|{{z{z{{z{z{{{{z{zz{zzzyzyzz|{|{{{z{y{z{zy{z{{{{{{{z{zz{zyzzzz|{{{zzzzzzzz{z{{z{z{zzzzyzzyzz{{z{{{zz{zz{{zz{z{z{{{zzzzyzzzzz{z{{{{zzzzyzz{{zzzz{|zz{yy{yzyz{zzzz{{{yzyzzzzz{{z{{{{zz{zzzzyz{zz{z{|zzz{zzzy{z{zz{z{zzzyzy{y{|{zz{z{zyzz{zzz{{|{{z}{zyz{{yz{zzz{{z{{{yzzz{zz{{z|z{|{zzzzzzzyz|{|||{{{z{{z{zz{{{{{{{{{{{z{zzy{{{{{{|{{zz{z{z{|{{{z||{||{zz{{z{{{|{|{{zz{{{{{{||{{{|{|{{{zz{{z{|{{|}|{{{z{{{{z|{{||{|{zz{|{{|{z||{|||{{z{{{{z{{z{{{||}{{z{z{zz||{|{|{||{{|zz{{{{{{|||}{{{{{|{{{z||{||||{|z{{{z{zz{|{{|{{z{{{zzz{z{z|{{zz|z{yz{{{{|{{|zzyz{zzzz{{{||{{}zzzzzxzz{z{z|{||{z{zz{{y{{zz|z{|{zz{zzz{{z{{z{|z{y{yzz{{zy|{{{{{zzzyz{{z{{{yz{{{{{{zzzzz{{{{{{{zz{{{zzyz{zz{{{{zz{{zzzzyz{{zz{z{|zzyz{zz{y|z|{{{{{{yzzzzzz{{|z|{{{z{{zzyzz{{|{||y{zz{{yzzz{{z{zz{zyz{z{zy|{{{{{{z{{{{z{z{z{{{{{|{z{z{zz{{{z{z|{|{z{zzz{zzz|{{{|{|{{z{{|zz{{||{|{{z{|z{z|{{{||{|{{{{{z{z{{{{z{{|{{||zz{{{{|||{{||{{{z{z{{{{{|{|||{|{{{z{{{{||{||{}zzz{{{z{|}||||}{{{{{{{{{|||||{{||{{{|{{z}|||||||{{{{{{{|{|{|||||{{{z{{{|{|{|||||{z{|{{||{||{|{|{|{z{{z{{z{{{|||{z{zz{z{z{{{||||{z{{z{{{{{{{{z{||zzyzzzzz{{|z{|{|zz{zzzy{{zz{|{|{y{zyz{y{z{{|z|{{{{{{zy{z|{{{{{z{zzy{|zz{z|{{z||{{z{{{{zz|{|{|{{{z|zzzzz{{{zz|zz{{{zzzzzz{{|z{{zzz{zyz{z{{|z{{|{zzzzzzy{z{{{{|{{{z{zz{zz{{||{{|{zzz{{zy{{z|{{|z{|zzy{zz{z|zzz|{{{y{{{z{z{{{{{{||z{zzz{z{|||{{|{{zzzzzzzz|{|{{{{|{{{{zz|z||{|{{||{z{{{zz{z{{|{|{{z{{{{{|z{z|z{||{{z{zz{{z{{z{{{|{{{{{|{{|z{||||||z{{z{{{{{|{||||||zz{{{z{||{||||{|zz{|{{{{||||||{|{|{{{|{{{{|{{{||{{z{{|{|||}|||||{{{{y{{||{|z}{{||{z{|{{{|}{{|||||z{|z{{{{{|||||{{zz||{zz{{{||||{{{{{z|{{}{|{{|{|{{y{zzz{{{{{{{z{zz{z{zy{{{z{|}{{{z{{zzz{|{{{{|{{zzzz{z{{{z{|z||{zz{zzz{{{{{{{{{z|z{zz|{{||{{|{|{zzzz{z{z|{{{{{{{{z{zzz{z{|{z{z{{{zzz{zz{{{{{{{{{yzz{z{z{|{z||{{z{{zzz{z|z{{z{{{{z{zz{zz{{||{{|}zzzz{z{z{|{{z{{z{z{{{{zzz{{{{||{{zzzz{y{{{z{zzzz{zz{{zz|{{{{||{|zzzzzzz{{{{|{{|{|z{{{{{y{{|{{{|{{{{z|z{y{|{{{|{{{{{{zzz{{{|{{||{{{{{|z{z|{{{{||{{zz{zzzz|{|{||||z{{{||{z{|{|{}||{{{{{{{{||||{||{|{|{|{z{||||||||{{|{|{|{|||{|||}|z{{{{y||}|||{}||{{{||{{|{|}{||{|{{{{z{z{{|{|||||{|{{{{{{|||||||{zz{|{|{|{|||||{{{z{{|{{z|{|{|{{{{{{{zzz||{{{{{|{zzyzyzz|{{z{z{{z{z{{{{{{{{{{{{|zzzy{{zz{{{{|{}{{{{zz{{zzz{{{{z{{{{z{z{z{{|{{{{{{zzyzzzzz{{{z{{z{z{y{{zz|{|z{{z{{zzzz{zzz{z{z{{|{yzz{zz{z{{{{{{z{y{zzzzz{z{{{{z{z{zzzy{zz{z{{{{|{{zzyyzzy{zzzz{{{yzzzyz{z{zz{|z{z{zzy|yyz{{{z{{{zz{zzzzz{z{|{{{|zzz{{z{z{{z{z{{|z{{zz{{z{z|z{|{{z{{{{{{zz||{{|z{z{{{{{z{{{|{{{|||{z{|{zz{{{z{|||z|{z{z{{|{{|{|{{{{{{{z{{{|{{||||{{{{{{{{{||{{{{{{{{z{{{z||{|{|||{{z{{{|{{||{{|{{|{{{{{{{{}|}{|{|{z{{z{{z||{{|}{|{{{z|z{{|||{||{|{{z{{{y|||||||||{{{{yyzz{{{|{}{{|{{{z{{z{{|z{{||{{{z{z{z{z{|zz{{zyzzzzzzz{z|{{{{{z{zz{{z{{{{{|{{{zzzz{zz{z{{{|{{{zzzzzyyz{{|zzz{{{{zzz{y{z{{{{{{zz{zzz{zzz{yz{z{zzzzzyzz{z{{y{{{zz{yzzzz{{z{z{{{yzyyzyzzzz{{{{{zzyz{zzzz{{{z{{{z{zz{z{zzz{z{z{{{{yzzyzy{yz{zz{{{{{yzzzzzz{{{{{{{zzzyzzzy{{{{|{|{{{zzz{zzz{|{{z{{zz|z{y{zz{{{{{{|zzy{{z{z{{|z{|{|{z{{zzzz{{{{z{{{z{z{zzz{z{{{{||{{{z{z{z{{||{z{|{{|{{{z{{{z|{{{{|z{{{{{|z{{|}{|{{{z{zzzzz{{{{|||{}zz{{z|{{{{|{{|{|{|{z{{{{|{{||{||z{{{{z|z|{|||||{z{{z{z{|{|{{|{||zzzz{{{{{{{|}|{{z{{{z{{|{{{{{{{{{{{{{z{{{{{{{|{{{{|{z{zz{{|{{{{{{zzzz{zz|{z{{zzzzzz{z{z{{{{{{{|{{zzz{zz{{{{z{{{zzz{z{zz{z{{{{||{zzzzzzz{{{z{{}zz{{zzy{z{z{z{{{{z{zyzzzzzz{{|{{|{zzzyzyzz{{{z{z{{z{{yyzzz{z{z{|z{zzzzzz{y{zzz{|z{yyzz{{zz{|{{{|zzz{yzzzz{|{{z{{|z{z{zzzzz{{zz{|{{zzz{zzzyzzy{{{{zzy{{{zz{zz{{||{{zy{zz{y{{{{{z{{{zz{{z{z{{z{z{z|{{y{zzz{||{z{{{{{{{{{z|z{{z{||{{{z{zz{{z{{|{|{|{{{{{z{z{{{{|{|||{{{z{z{{{||}z|||{{{|zy{{}{{{|}||{{{z{{{z|{|{{||{|{z{{z{{{|||{{||{{{{zz|{||{{|||||{{|{{{{{}||||||{z|{{{{z|{{|{||{||{||{z{{||{}|{|||{{{{{||{||{||}{{{{{zzz{|{{||||{z{{z{zz||z|{||{z|{{{zzzz{{{{{|{{z{{zz{{zzzzzzz{{z{z{zyz{{{{z|zzzzzyz{{z{yz{{{{{zzzzzyzz{{{{{{{|z{zyzzzz{z{zz{||zzyzzzzyz|y{{{{{{zz{zzz{z{{{yzz{zzzzzzzzz{z{z{zzyzzyzzzzzzzzzz|{z{z{zzzzzz{{{{{{zy{z{zyy{|zz{{{{z{z{zz{zzy{zz{{z{{{z{zzzzz{z{{{zzyzzzyzz|{z|{{{{zzzz{zyyzz{{{{|z{z|zzy{y{z{{|{{{{{zzzyzy{{{{z{{|{{{zzyz{z{{{|{{|{z{{z{z{{{{{{{|{{z{{{zz{{{|{z{|{zz{zy{zz|{{|||{{z{{zzzz{|{||{|||z|z{{z{z{{|{||{{|{{z{z{z|||{{z||zz{zz{{{{z{{{|{{|z{{zz{z{||{{{|||{{zz{{{||{{{{|z|{{|zz{z{|{{{}}|{|zz{{{{{{{{||{|{z{{{|{zz{{{{|||{{{zzz{z{|z{{{{{{{{{{zz{{{|{|{z{zz{z{yyzz{{{|z{{z{zzzzzzzzz{{{z{{zyzz{zy|zzz{{{|zz{{zzyzz{|{{z|{{{zyyz{z{{{{z|z{|zyzzz{zzzz{z{zz{zyzzzz{zz{yzz{|{z{zzyzzzzz{zzz{zzzzyyz{{{{zz{{z{{|yzzzzz{{z{z{zzzzz{yyzx{z{{|{{zyyzz{yy{{{z{{{{yz{y{zzzz{{{z{{zz{{zy{zy{{{|{{z|{{{zzyzy|{{z{{z{{yz{{z{z{{zzz{{{{{yzzzzz|{{{{{{|{{{{zy{zz{{{{|{|{zzz|{{y{z{{z{{|{{z|zz{y{|{{{||{{z{z{{{z{|{|{{{|z|z{{{{{|{{{|{||{z{|{{z{{{|||{{{{z{|{{{{||{}||||{{{{z{z|{|{{|{||{z{{z|{y{|||}||{{{z{z{|{|||{{|}|{{{z{zz{{|{{|||||z{|{zz{{|||||{|z{{{z{{{{{{{{|}{{{{{z{{z{{{zz{z{z{zzzzzzz{{z{{{{zzyzzyzy{z{z|{{{zzzzyzzy{{{{z{|{{{zzzzzz{z{{{{{{zzxzyzz{{{{{{zz{zyzzyz{z{{{{{zz{zzzzzzzzz{{{{{{zzzz{zzzy{z{z{zyzz{zzy{zz{y{z{{{{yz{zyzzyzzzz{{{zzzzzz{zzzz{z{z{{yz{zyz{zz{||z|{zzzyzzzzzy{zzz{z{|zzzzzzyzzzz{|{zzz{zyzzz{{{|z{|{zzyyyyzy{{{{{{{|zz{yzzy{{{{{z{{{{zz{zzz{{{|{{z{{{z{y{zy{{|{{{{z{{z{{z{zz{{|{{||{{zzz{{z{{{{{{{}{{|{z{y{{z{{|{||{{|{{{z{|{{z{{{{|{z{{zzzy{||{{||{{{{{{{{{||{{{{||{z|{z||{{{{{|{||{z{{|{{{|}|||{{{|{|{{z{{}}|{{|||{{zy{{{z{z{{{|{|zz{zz{z{{{{{|{{||{{z{|{zz{{{||||z{zzzz{{{{{{|||{|{zz{zz{{{{z{z{{{zzzzzzyy{{yz{{|zzz{{yz{z|z||{zz{z{zzyzz{zz{{|{{zz{z{zyzy{z{z|{{z{zzyzzyz{{{{{{{z{{yzzzyz{{{z|{{zzzz{yzzzz{{zzzzz{zyz{z{|zz{zz{{zzzyzyzzz{{{z{zy{zzzz{y{z{{{{{{{zz{zyy{zz{z{{{|{zz{z{zzyzz{z{|{{{zzzzzzz{z{zz|{{zzyzyzyzz|zz{z{{{{zzz{{z{{{{z{{{{zzz{y{z{{|{z{{|{{zzzy{zzz{|{z||{{zzzzzz{{z{{{{z{z{z{zzz||{{zz{z{zz{yzz{|{zzz{{|{{z{{{{{{{||||}{z{zz{{{{{{{||{{|z{z{z{|z|{|{|{{{|z{{|zy{|{{{|z|{|zz{{{{{|||||{{{|zz{|{zz{{{||||||{{|z{{{|||{|{|{|zzz|{{z{{|{||{{|{z{{{z{|{z{{|||{{|zz{zz{{{{z{|{|{{{zz{z{{{{z||{z{{zzzy{{{{|z{{{{zzzzzyz{z{z{z{{{y{z{zzzy{|{{{{{{z{yzzzyzz{z{{{z{zzzz{yz{{{{z|{{{zzy{z{y{z{{{{{{{{yzz{zzz{{zzz{{{yzy{zzzz{z{z{{zzzzyzzyyzzyz|{{{zzzyyzzzz{{z{|{zzzzzy{yyzzz{{z{{zz{{zz{y{{{|z{{{{zzzzzzzyzzzz|{z{{{{zyzzz{{zz{{{zzz{y{zz{zz{{{{|{zzzzzzzzzz{{{|{{zzzyy{z{{|{{{|{zz{y{z{z{z{|{{{{{{zzz{{z{{{{|{{{z{zzz{zz{{{|zz{{|zzzz{z{{{|{{|z|{{z{{z{z{{{{||||{{zz|{zz{{||{{{|z{{|{zz{z{}{|z{|{zz{z{{{||z{|{|||z{|{{{y{{|{{||||zz{{{z{||||{|{|{z||{z{{{|||{}||{zz{zzzz|{|{|{{{{{{{{z{{|z|{{|||{{{z{{{{{}{{||||{{{yzz{{{|{|||{{{{yzzzz{{{{{{{{{{zzzzz{z{{{{{{{{{z{zzzzz{z{z{|{{z{{zzzzz{{{z{|{{z{zzzz{z{{{{{{{|{zzzyz{{z{{{zz{{zzzz{zzz{{z{{{{z{yyzzzz{{{{{zz{z{z{yzzzzz{{{zz{{zzzzzyzz{{{{{{{{{zz{zzzyyz{z{|z{z{zzyyzzzz{{{z{zzzzzz{{z{{zzz{{{zzzzzzzyzzzzz{z{{zzzzzyzz{{|{{{{{zz{{zz{z{{z{{{{{zzz{{y{{{{{||{|yy{zzyz{||{{{||{{{{zzzz{{|{z{{z{{{zyz{zz{{{{z{|{{z{z{zzz{z|{{{z{{{{{{{{z{{{|{{{|{{{z{{{{|{||z{||zz{|{{y{||{|{||||{{|zzz{{||{{{|{{{z|{{{{{{{}z||{}z|{||{{{|||||{|{{{{{{z{{{|{{|{||zz{{zz{{|{{{||||z|z{{{{{}{{||||{||z{zzzz{{{{{|z{z|z{yzz{{{{{{{|{{{zz{zz{z{z{|z|z|yzzzzzz||{z{{{z{{yzzz{{{{z{|{|{zzzz{{z{z{{{||{{z{{zzzz{zz{zz{|{zzzyz{y{{|{z{{{zzzz{{z{z{{zz{{z{z{zzzzzzz{zz{z{zz{z{zzzzzzzz{{{{yzzyzzzz{{|z{{zzzyz{yz{z{{{{z{|zyz{{zyzz{{{{{||zzyy{yzzz|zz{{{{zz{{zyyz|z{zzz|{zzzzzzz{|{|zz{{{{zzz{{yyz|{{z|z{zz{yzy{{{{{z|{|{zzz{z{zz{|z|{{{{{{zz{{zz{{||{{|{zz{{z{{z{{{|z{{z{z{zz{z{|{{{{{{{{z{{|{{{{{{{{|||z{|{|{{{{{|||{|{{{zz{{{z{{|{{||{|zz{|{{{||||{|||{{|{{z|{{|{{|||||{|{z{|{{|||{||||{z{{z{z}{|||{|{|z{{{{{{{|{{|{||{{{|{z{{{{{|{|{}{{{{z{{{{|{{{||||{{{zz|{z||{{{{zz{{zzy{{{{{{{{{|zzzzyzzyz{{zz{{zzz{zzzzzz{{{z{{|zzzz{zzz{{|{{{{zz{{{{zz{z{z{|{||{{|z{{z{||{{{{{{|y{{zzzzz|z{{z{{{{z{zyzz{{zz{{{z{{yzz{z{z{zzz{{{zzyyzzzy{{{{{zz{zzz{yyzz{{{{{{{{z{{zy{y{z{{{|{{|{zzzz{zz{{{zz{{z|{z{zz{z{yz{{{||zzzz{zzy{{{|{{}|{{zz{zzz{|z{{{|{{zzzz{yz{{z{||z|z{{zz{zz{{{|{{{{z{z{{zz{{{{{||{{{y{z{zz{{{{z{{{{{{z{{zz{{|{{{||{{{||z{{z{{{|{|{{{{z|{||z{|{|{{||{{||z{{z|||{|||{{z{{{zz{||{|||||{{{z|{{{{}{{|||||{|{z{{{||||||||{{{}z|{|{||{|||||{{{{z{z|{{{||{|{||{{|{z|{|||{||{z{{{{z{{||{|{||{|z{z{{{||{{{{|zz{{{{{zz{{||zz{{{{zzzzyz{z{{z||{zzzzzzyy{{z{{{{|z{yzzz{z{{z{{{{{{{zzzyzzz{z{z{|z{z{zzzzy{{{{|{{|z{zyzzzyz{{z{{{{zzzzzyzzz{{zzz{{z{{zz{zzzzy{zzz|{zzz{zzzz{z{z{{{zyzzy{zz|z{{|{{zz{{zzzz{z}|z{{{{{{z{{z{zy{{{{zz{{{zzzzzyz|z{z{|{zy{zzz{z{|{{{{|{{zzyzzyzz{|zz{{{z{z{zz{{z{{{z{}|zzzzzz{zz{{{{{|{{zz{{{zzz{{{|{{||{{z{{z{{{z{{|{|z{zzz{{{|{|{{z{{z{||{{|{{|{|{{|}{{|{|{|{|{{|{|||{|{{{{{{|{{}{|}{|{{{{z|z||{{||}|{{{{||{|{||{|||{||{z{zz{{}{|||||zz{|{{{{{{}{|||{|z{{{zz{{{|{{|{||{z{{z{{{|||{{||{{{z{{z{{{{|}||{{{{{z{{{|{{{|{|{{{{z{zzz{{{|{{z{y{y{zzzzz{{{{{{zzzzzzzzz{{{{{{{{{zzyzzzzzy{z{{{z{zzz{yzz{{{{z{z{{{zyyzzz{z{{{{z{zzzzzzzyzzzy{|{{{zyzzyzz{z{zz{{zzzzzzyzz{zyz{{{|zzzyzzzzz{zz{z{{zyzyzyzzz|{zzz{z{zzzzzzzz{zzz{{{{zzzzzzz{z{zz{{z{{{y{y{zz{{zz{|{zy{zzz{zzz{z{{}{{z{z{yzz{{{z{zz{zzy{zzyz{|{{{{{{zz{zzz{{{{|{zz{{zz{{{zzzz{{|||{{zz{{{z{z{{{z{{|z{zz{zz{z{zz|z|z{{{z{{zzzz|{||{{|zzzz{z|{|{{|{{|||{{{{zzzz{{|{|||{zz{{z{{|}{|||||{{{{{{{z{{{{|{|||{{{{{|{{||||||{{{{{zz{{||||{|{{{z{{{{z{{|z{|{||{{{{{{{{z{{|{|||{z{z{z{{{{{{{{|{{z{zzzzz{{{|{{|z{z{zzz{y{{{{{|{{{{z{yx{z{z{zzzz{zzzz{yzy{{{z{{{|{z{z{{zz{z{zzz{{{z{yzzz{{{zz{z{{{zz{yzzz{{{{z{{{{zzzzzzzz{{{z{{{zz{zzzzzzz{zzyz{z{yyz{zzy{z{zz{|zzzzzzyzzz{{{z|zzy{zyzyz{z{z|{|z{zzzzzzyz{zz{{{{zzzzz{{zzz{zz{z{yzyzyzz{{{{z{{{{{z{zz{yzzz{||{{{zz{{{{zz{{z{|{{|zzz{zzz{{|z{{{{{zz{{zz{z|y{z{{{{{{zyzzzyzz|{z{z{{z{{zz{z{{{|{z|{zzz{{{z{{{||{||{||z{{{{{{{{|||||z{zzzz{{||{{{||||{{z{zz{|||{z{{{|z{{{{z{{|{|||{{{{|{z||{{z||{|}{|{{z{|{z{|{||||{{|{|{z{{{|||z|||{{{zz|{{{|||{||{{{{{|z{{{|{||||{{{z{zzz{|{||{|{{{{{{zz{z{|{|{|{{{{{{{z{z{{{{{{{zyyy{yz{zz{zz{z{zz{zzzz{z{zz{{{z{zyyzz{yy{{{zzz{{zy{{y{z|y{{zzz{z{{zzzyzz{{{{{{{|zy{yzzzzzzyzzzzzzzzzzyzzz{{zz{zzyzzzzzyz|{z{z{z{zz{zzzyzzz{{z{z{zyyzzzzzz{z{{{{{{zz{yyzz{{z{z{{{zzzzzy{{z|{z{{{{zzzzzzyzz{yzz|{{zzzzzzzzz{zz{{|{z{z{zyzzz|{{{{||{{|zzz{y{{{{{{{{y{{y{zy{|{{{{{zz{z{z{zzz{{z{{{{{zzzyyzy{{{{{{{{zz{{{{y{z|{{{z{{{{{{{{{z{||{{{||{zzzz{zz{|{{|{{|{{zz|z{zz{{{|{{|||{zz|zzz{{}{|{||{z{{{{zz{{{{||{||{{{z{zzz|{|{|||{{z{{{{{{{{{||||{{z{{zzz{z||{{|{{{{{{{{{{{|{|{}|zzzzzzzz{{{{{{|{{{z{{zzz{z{z{{|{z{{z{zzy{{|{|{{zzz{zyzzzz{{z{z{{zzzzzzyyz{{{|z{{{zzzzz{z{zzz{z{{zzzz{z{zyz|{zz{{zzzzzzzyz{{z{{{zyzzzyzzzy{zzz{{{zzzzyzyz{z{zzzzzyzzzyyzzzz{z{zzzyzzzz{zyzzzz|{|zz{zzy{yzz{{zz{|{{zzyyzyzz{zzzz{|zzzzzzyzzzzz{{{{zzzzzzzzz{zzzz{zz{zzz{zzzz{{z{{z{zyyzzzz{{{z{{{{zyyyzyzzzzz{{{{{zzzzzz{zz{{{z{{{zz{yzzz{{{{|{{{{{zz{{z{z{|z|{z|zzzz{zzz{{{{z{{{{{zz{{{{{{|{{{{{|{{z{{z{{|{||{|||{zzz{zzzz{|||{||{z{{{z{{{|{|}}||zz{zz{{{{{z{z||||zz{z|{{y|z{||||{z{z{{z{|{{{z|{|{zz{z{z{{z|{|{{{{{z{{zzz{|{|{{||{z{y{zzz{{z{{{{|{{z|yz{z{|{{{{||{z{y{y{z{z|{z|{z{zyzyzzyzz{{{z{{zz{zzzzz{|{z|{z|{zzzzzzzz{{{||{{{z{{yzzz{{z{z{{{zz{zzyzz{|zzzz{|z{zzzzzy{{{y{{{z{{zyzzzzzz{zyzzzzzzzzzz{{{zz{z{{{yzzzzzzzy{zzz|z{z{zyzyyzz{{{zzz{zyzzzyzz{{zz{{{{zzz{zzzzzzzz|{zz{{yzz{yzzz{{{|{zzzzzz{zzz{z{z{{{zzz{{zy{zzz{{{|zz{z{zyz{{{z{z{|zzzyyz{z{{{{{{{{zzz{{y{{{|{|||z|zz{zz{{z{{|{{{{{{zzz{{yy{||{|{z|{{{z{{zz{{{{|||{{{{z|zz||zz{|}{{|z{zzz{y{z|{{{|{{zz|{z{x{|{{{{{||{{{{{|{{|{{|||z|z{{yz||{|z{||}|{zz|{{{z{{|{|{}{|z{z|zzy{|{|{|{}{{zz|zzz{|||{|{{{{{zzz{z{z{z{{{{{{zzz{zz{{{|{{|{{{yzyzyz{{{z{{z{{{zz{{{z{y{z{{z{zzzzzzy{{z{{{{zyzzzz{zzz{{z{{{{z{z{zzz{yz{z|{zz{z{zzzzzzzz{{{{{zz{{xx{zyz{{zz{{z|{zz{zy{{{zzz{{z{zyzy{zz{zz{z{z|z{zyzzzz{{z{z{{y{zzyzz{zzz{|{{{{zzzzzzz{{{||z{{{{zzzzyzz{|{{z{{zzz{zzzzzz{{z{z{{z{zz{{zz{{{||{{{{zz{zz{z{z|{z{{{{{z{zzz{{{{{{|{|y{{{{{{zz|{|{{|{z{{{{x{z{{{|{{z{z{{z{z{{z{{{{{}{{zzzzzzz{|{{|||}zzzz{{{z|{{|||{{{{|{{z{{{{z{|||}{{z{z{{{{||||{|z|{{z{z{{||{{{{}||{{{zz{{|{{{{{{||{{{z|{{{|{|{{|{{z{|{zzzz|{{|{|{{{{z{{zz{{|{{{||{{{z{{z{{{||{|{|{{|zz{zz{{||{{{{{{zz{{{z|{{{z{{zzz{{{zzz{|{|{|z{z{zz{{zyz{{{zz{{zzzzzzyzz{{z{{{z{zzzz{yz|z{{{z{{zz{zyzzz{z{yzz|{{{{yzzzy{zz{zzzzz{zy{zzz{{zz{{{{{zzy{zzzz{{zzy{zzzzxzzzzzzzz{zz{zzyxzzyyz{{{zz{zyzzyz{yzzz{{|{{{{z{zyzzz{{z{z{z{zyzy|yzzzz{{{{{|zzzyzyzy{z|{z{{|{zzzzzz{zzzz{{{{zyzzzz{z{z{zz|z|{{zzzzzz{zz{{{||y{zzzzzz{{{z{z{{zz{z{zzz{{{{zzzz{z{{zz{z{z{|z||{{zz{{{zz{{{{{|{|z{z{{z{{{{||{{{{z{{z{z|{|{{|{|{{{z{{{{{z{||{{|{{{{{|{{zz{||||{|||{{|z{{{{|{{{||{|{z{{{{zz|{{{{}{|y{|{z{z|||{{|||{{{z{{{{{{||{{||{|{{|zz{{{{{{{||{{{zz|{{{{|{{||{{{zz{{{z|{|{{{{z|zyzzzzz{{{{{{{{{zz{zz{zzz{zzz{||z{yzz{zz{{z{{{|z{yzyzzz{zz{|{{zzy{{zyyzz{{{{zz{zzzzyyzz|{|zy|z{{zz{zzzzz{{zz||{{zz{yzyzzzz{{{z{{z{zyzz{{{{z{z{{zzzyzz{zz{{z{{{zzzzzz{z{{z{z{{{{yzzzyyy{{z{zz{{{{{zz{zzyzzz{z{{|yzzy{zzzz{{{{zzz{zz{zy{{{z{z{{{{z{zzzz{z{|{|{{z{zz{{zz{{{zz{{{{{zzyzzyzz{{{{{{{z{{zz{z{{{{{{{{|{|z{{z{{z{|{z|||{{{zz{{z{{{{zz{{{{{{z{zz{{z|{{|{|{{{zz{zzz|{|z||{|{{{{{zz|{|{|{}{{zzz|{{{{|{{{}{{{z|{{{{|{{|{{{|||{{{{{z{{}||{|}{{z{{{z{z|{|{{{|||{{z{{{{{|{z|{||{{zz{{{{{|{{{|||{z{z{z{{{{||{{|{{zzz{zzzz||||{|{{{{z{yzz|{z{{{{|zzzz{yzy{{|{z||{{zzyzzyyzz{z{{{z{{zzzzzy{|z{{{|{{{z{{zyz{{|{{zz{z{zzyz{zzz{{z|z{z{zzzy{zzz{z{z{z{zzy{yz{|{{z|{zzzz{zz{{zzzzzz{zzzzyyyzyzzz{zzz{{zz{zzzyy{zzyz{{zyzzzzzxxz{{{{||zzzyz{zzzzzzz{{z{z{{{zzz|z{z{z{z{zzzz{{zz{{{|{{{z{zyz{{{z{zzz{{{|zz{{zzzz{z{{{z|{{zzzz{z{zz|z{{|{z{z{{yz{{{{||{|{zy{{z{yzz{||z{{z{z{{|{zz{{{|{{}{{{{zzzzz{{||{|{{{{{{{zz|{{{|{|||{zzz{zzz{||{{{}{|{{zzz{z{{|{{{{{{{{|{{|{z{|{||||{{z|{{|{{z|z||{|{z{{|z{{|{|||{|{|z{{{zz{|{||{z||}|{{{{{{||{{||||z{{yz{{{z{{|{{|{{{zzyzzz{}||{{|{zz{zzy{z{|zz{{zz{zyzzzyz{{{{zzz{{zzzzzzzz{z{z{{{z{{z{{yzz{{{{{z{zz{zzzyz{y{{zz{|z{zzyyzz{z{{{{{{{zyzyzy{z{{z{{{{{zyz{zzzz|{y{{z{{zzzzzzzzzz{z{{{{zzzyyzzzz{{{z{yz{y{z{zzzz{z{{{{{zzzyzzzz{|zz{{{{z{zzzyzzz{y{|z|{{{zyz{{{{z{z{z{{yzzzzzy{z{{z{{zyy{{zzz{{{{{z{{{z{zzzzzz{{{{z|{{{zzzzz{z{{{{z{z{z{|{zz{zz|{||{{{{{{zzzzz|{{|{{zz{{{{{{z{z|{|{{|{{zzzz|{|||{|{|{{z{|{{{{{{|{|{{{|{zz{{zzz{|||{||{{zz||z{z{{||||{||{{{z{{{|{||{{|{{z{|{|{{z}|||||||z{{{{{{{{||z{{|{{zz{{z{{||{|{{|{{{{{{z{|{{{{{{{z{{{z{{{z|{{|{||{zz{{{z{{|{{{{{|z{yzzzzz{{{|{{|z{yzyzyzzz{{zz|{{{{zzyy{z{{{||{{{{zzyyzzy{yz{{|z{{zzyyzzzz{{zy{|zz{zyzzzzz{||{{{|zyzzzzy{{zzz{|{{zyzyzzzzzz{zyzzzzzzzyzzzzzz{z{z{y{zyzzzzyz{{{z{{zzyyyyyyz{{z{zzy{{{zzyzyz{z{z{zz{yyyzyzyzz{z{{{{{zzzzzzyzyyzy{{{zyzyzz{z{z{yz{|z{z{z{y{{z{{z{{{{{z{zzzz{zzzz{|{{{zzz{{zz{z{{{{{{{zzzzzz{zz{{{zzz{zzz{zzz{{{{{{{zzzzzz{z{z{z{{{{{{yz{zzy{{{|{|{|{{{zz{z{{{{||{{{{|zz{zz{{{|{{|{{{|{zz{{z{||{{{{{|zzz{z{{z{{{z{||||z{{{{zzz{{}{{||{z{|{{{z{|||{{{{{zy{z{z{{}z{||}||{{||{{{{{z|{{||{{{{{{z{z{{|{{||z{yz{zz{z{{{zz{z{z{z{zzzzz{{{z{{{zzzzyzzz{|z{{{{{zy{zzz{z{zzz{z|zzzz{{yz{{{zz{{{zzzzzzzz{zz|yzz{zzzyzz{zz{zz{z{zzzz{yzyzz{{z{{{{z{{zz{zz{{{{z{zzzzzyzzzzzzzzzz{zyzyzyzzzz{|zzz{z{{zyyzzzzy{zz{{zzzzzzzzzz{z{z{{{yzzzzyzzzzz{{{zzzzzyyyzz{zz|z{{{zyzyyzzz{{{z{{z{{yzzzzz{|{{zz|{{{{{zzzzz{z{z{{|{{z{zzzyzz{z||{{{{z{z{zzz{}||{zz{z{{z{|zz{{|{{{{{{z{{yyzzz{{zz{|z{z{zz{{z{{{{{{{{{{{z{{|{{{|{|zz|{{{{zz{z{{||{z{{{zzz{zzz|{||{||{|zz{{{{{{{{{|{||{{{{zz{{{{{z|||||z|{{{{{{{|{z{|z}y{z{{z{{zz{{{{|{z{z{{{{|{{|z||{{z{z{yzz{{z|{{{{{{||{{zzz{{|z{{|{{yz{zzz{{|{|{z{z{zzzzzy{zzyz{{{zzzzyyzzz{{{z{{|{zzyzzzz{z{{{z{{{y{zzyzzz{{{|{{{{{zzyzzz{z{z{{z|z{{yzzzzz{{{z{{{{z{zyyyyzzz{z{{zzzzzzyzzz{{zzz{{zzyzzyzzyz{{{zzzzzyzyyzzz{{{{z{|{z{zyyzzz{zzz{{{zzzzzz|zzzz{|{{|z{{zzzzz{{z{z{{{zzzz{zzzzzzzz{{{{z{zzy{z|{|z{zz{z{zz{yzz|{z{{z||zz{zyzzzz{{{{{{{zz{zzz|{z{{{{{|{zzz{z{zz{{|{{{|{{zz{zzy{{{{{z||{z{{z{{z{{{{{|{||z{zz{z|{{|{{{{|{|{{{{{z{|{||{{|{|zzzz{{z|||{|{}||z{{z{|{{{{{{{|{|z|z|{{{{{|{|{}||zz{{zz{{||||{{||{|z{z{{{{||{{|{|{z{{{{|{|{{{|||{|{{{z{{{|{|{{}|{{{{zzz{{z{{z|{{zz{zzzz{{|z|z{{{yzzzzyzy{zzyzzzz|{{yyzzyzzzzz{{{{zzyyzyz{{{{z{{{{z{zzzzzzzz{zz{z{zzzzyyz{z{zzz{{yzyyzyz{zzzzz{{z{zzy{yyy{z{z{{y{zyz{yzyyzzzzz{{zyzzzzzzzzzzzz{zzyzxzyyyz{{{{zzzzzyz{zzyzzz{{z{|{zzzzzyyz{{z{{{zzz{zyyzzzz{zz{|z{zzzz{zzyzzzzyzz|{zyzz{z{{{zz{{z{yz{zzzzz{{zz{||{yzz{yz{zz{z{{z{{{z{{zyzzz{zz{{|{z{zz{z{zz{{|{{zz|zz{zzzz{{zz{{{|{z{y|z{z{{{|{|{{{{z{|z{{{{z|{||{{{{{{{z{||{{|{{{{{zz{{z{|{|{|{{|{{{{{|{|{|}{{{||{yzz{{z{{}{z{z{{|z{{{{{|{{{|{{{|{zz{z{z{{{|{{{|{{{{{{{y{z{{|{|{{{zz{zzzy{{{{{{{|{zzz{{{z{{{{z{}{zzzzzz|y|zz{{{{{{zzzzzzz{|{{{{{{{zzzyyzz|z{{{{||zzyyyzy{{{z{z{zz{z{zzyzzz{zzzz{z{zzzyz{y{z{zz{{{{zzzzyyzy{z{y{{z{z{zzyz{z|zzz{z{{yzzzzyz{zzzz|z{zzyzzyzzz{{zzz{{zzz{zzyyzz{z{z{{zz{yzzy{yz{{y{{{z{zzzzyzz{{zzzzz{{z{zzzzz{zzz{{{{zzy{{z{z{{{{z|zzzzz{y{z{z{{{|{{z{yzzz{zz{zz||{{z{zz{zz{zz{{zz{{yzzzzzzzz|zz{{{{{y{zz{y{{{z{{{|{{{z{{{{{{{|{z|{{{{zz{{zz{{{||{{|z{{zz{{{{{|{{|||{zzz{zzz|z{||{|{{z{{zz{{{|{{|{{{|zz{{||{|{|{}||||zz{{|{{{|{{{{|{|y|{z{{{{{{|{||{{{{{{{{{||{{z|||{{zz{{z{{{{{||{{{z|zz|zz{{z|{|{z{{{{{zzz{||{{{z{yz{yz{{y{{{{{{|zzzz{zyzyy{{zzzz{{yzzzzyy{z{{z{|}zz{yzzzzz|{{z{{{zzzzzzyz{z{{z||zzzzy{{zz{{|{{|z|zzzzzzzyzzyzz{{z{z{yyzzzz{{yz|{zzzzzzzzyzzzzzz|z{zzzzyzzz{|yz{{{zzzzyzzzz{{{zzz{zzzyyzyz{zz{{{{zzyz{{y{yyzz{z{{z{{yy{zz{zzzz{zz{{{{zz{zzzz{{{z{{z{zzzzzzzz{{{{z{zz{zyzzyz{{zz{{z{zzyyzyyy{z{{{{|{zzz{y{zz{{z{z{{{zzzzzzz{|{{z|{yz{{{{zzz{{{{z{z{{{{{{z{z{{{{||{{{{zz{|{{z{{{z{|{{{zzzzzy{{}|{{{|{{{zzzz{|{|||{||{|z{z{{{{{{{{{z||{z{z{{z{{|{||||{z{{z{zz{{{z{{{{{{z{z{{z{{{{|{|{{{z{z{z{|{||z||{zz{{{zzzz{|{{{||{z{{{{zz|z{{{|{{{{zzz{yyzz{{{zyzzzzyyz{yz{zzzy{{{{zzyyyyz{z{{{{zyzyyyyzz{zzz{z{{{zyyyyyyyzz{{{{{{zzzyzzx{{z{{{z{yzzzyyyyzyz{z{zzzzz{zyyzzzzzzzzzzzzz{zyyzyzyzzzzyzyyyyzyzyzzy{{{zyyzzzyzz{zzzz{zzzzzyzzyz{{z{z{yzyzyzzzyzz{z{zzzyxyyyzzzzzzzz{z{zy{zzyyyz{zz{{{{{zzyzyyz{{zz{zz{yyzyyz{yzz{z{{z{zyzz{zzzz{zzz{{|{yzzzzzzz{z{{{|zzy{zz{yzzz{{{{{zzyzzzzzz{{z{{{{zzzzzz{zzz|{{|{{{zz{yz{z{|{zz{{{{zz{{zyy{{{{|{{{{zzz{{zzzz|{{|{}|zy{zzzz{{|{z{|||{zzz{{{{z|{|||{zz{zz{|zz{|{{{{{{{zzzzz{{{{{|{{{{{{zz{{z{z{{{{|{{z{|zzz{yz{{{z{{{{zz{y{zyz{z{{{zzzy{zzyzz{zzz{{z{zzzyzzyzz{{zzz{zzyyzyzyzz{{{z{{{{zyzzzzzzzz{zz{{{yzzyyzzzz{yzzz{z{yyzzzy{z{{{{{{{zzzyyzyzzy{zzzzzzzzzyyzzz{yy{zzyzzzyzyzzyzzyzz{yzzzzzzyzzz{{{{{zzzyyzzzzzzz{{{zzzyzzzzzz{{z{{{{zzzzzyyzzz{{z|z{zzzxzzyy{{zz{{|zzyzzzzyzz{{zzz{{zz{{zy{{zzzz{y|{zz{zzyzz{z{{z{{{z{zyzzyzz{zz{z|{{yz{yyzz{{zz{{{z|zzyzy{z{{|{z|{zzzyzyzzzz{z{z{z{z{zzzzy{z{|z{{{|z{{{{{z{zz{|{{|{zzzz{{zz{{|{|{{{|{zz{zzz{|{{{{|{{z{zz{{z{{|{{{|{{zz{{{{z{||{{{||{{zzzz{z{||{{||{{zz{zzz{||{{|{{{{{z{{zzz{{{|{{{{{z{{{{{z{{{{{{{{{zzzzzzz{{{{{{{zzzzzzzzzzz{{zzz{zzzyzyyy{zzzzz{zz{yzzzzzzz{{{z{{{zzzzzzzz{z{zz{z{zzzzzzzzz{{zz{{{zzyzzyy{{zzz{z{z{zzzyzyzzz{z{{yzz{zzzyy{zzzzzzz{z{zzzyz{zzz{{zzyzyzyyyzzz{{z|{{zz{zy{yzzz{z{{zz{{zyyyzzz{zzzz{zzzzzyzzzzzzzz{zy{zzyzz{zzzzzzz{{zy{{{yzyzz{zz{{{zzzzzzyzzzzz{{{zzzz{zyzyzzz{z|{{{zzyyzz{z{z{{{{zzy{zzy{zz|zzz{z{{zzzzzzz{z{{zz|{{{z{{{z{{{{z{|z{zz{z|z{z{z||{{{{z{z{yz{{{|{{{{{{{z{z{zzz{|{|{{{zz{{z|zz||{{z|{|{zz{{{z{{z{{{{}{z{z{{z{zz{{{{||||{{zzz{zz{{|{{{|{{zz{{{{z{{{{{z{}{|{{{zz{z{{|{|{{{z{zzzz{z{{{{|{|{zzzzzzyz{{{||{zzy{z{{{z{{{z{yzzzzzzzyzyzzzyzz|zz{zyzz{zz{zz{z|{zzyyyz{yzzzz{z{|yyyzzyzz{zz{zz{zzz{yyyyyzzyzyz{zyyzzzz{yz{yzzz{zzzzyyyzzzz{z{zzyzzzyyzyzyzzzzz|zzyzyzyzzyz{z{{{y{zyyxyyzyzz{{|zzzzzzyzzyz{zyzzz{zzzzzyzxyzzzyzzz{zyyzzzzx{zz{zy{yzz{zyzxz{{{{zzzyzzz{zzz{yz{zzz{zz{zyzzz{z{z{z{{zyzzzz{zzzzz{{z{{zzy{zyzz{zz{{z{z{{zzzzy{z{|zy{{{zz{zzy{{{{{{||{{yzz{zyzz{{{{|||z{z{{zz{z{{{|zz{|{z{zzzz{{{z{{|z|zz{yz{{{|{|z{{|{zzzzz{{z{{{{{{|{z{zzz{{z|zz{{{{|z{{{{z{{|{{{{{{|zz{{z{z{zzzz{|{z{{zz{{z||z{|{|{zz{zyyz{{{|{zz|{zzzzzyyz{|{{|{{zzzzzyyzzz{{{{zzzzyyzzzzzy{zzz{{z{{y{zzyyyz{zz{zzzzzxzzzzzz{z{z{{zyzz{zzzzzz{zz{|zyzzyzzy{{{zy{{zzyyzyzzyzzz{zzz{zzyyyyyz{{{z{zzzyzyzzyzyzzzzz{zzyyyyzyzzyzzzzzzzy{zyzyy{{zzyzz{{{z{yzyyyz{z|{{{{xzzzzyyzzyzzz{{zzyzzyyyzzzzzz{zzzzz{{zyzz{{{z{|{zz{y{y{zzz{{{z{{zzzzzy{zz{{{{{}{{zzzyzzy{{{{{z{{z{{zzzzzzz{z|{{zz{zzzzzz{{|z{|{|{z{{zz{zz{zzz{{zz{z{z{zz{|z{{|{|{yzz{zz{{{{{{|{|z{z{{zzz{zz|{{|{{z{{zy{z{{{{|||{z{{{zz|{{{{{||||{zzzz{z{{|{{}z{{{zzz{z{{|||{z||{{zz{{{z{{{|z{|{{z{zz{|z{{|{{{|{{{zzzzzyz{{{{{|{{{{{{{{{zz{zz{{z{{y{zzyzz{{z{zz{{zzyzzy{yyz{zzzz{zzzzyzyyzzzzzz{{yxzzyzzz{zzzzz{zzy{yzzyzz{{z{z{zyz{yyzyzzz{zzz{{zy{yzzyyz{zzzzzyzzzyzyyzyz{yzzzzzyzxzyyyzzyzzzzzyyzyzyyyzzzzzz{{zzzyzzzyzzzzz{z{zzzyzyyyzz{zyz{{{zzyyzyyzzzzzzz{yzyyzyyyz{zzz|{zz{{yyzyz{zz{z{zz{{yz{yzy{|{zzz{{zz{zzyyy{zzzy{z|zz{zzyyz{z{{z{{{{zzzzyzy{zz{y{z{zyzz{zzzz{zzzz{z{zzzzzzz{{zzz{{{{zz{{{zzz{{z{{z{zz{z{{z{{zz|{z|{z{z{{zy{{{zz||{z{zzz{z{{{{{|{{{{zzz{zz{{z{{{{||||{zzzzz{{{|{||||{z{zzyzz{|{z{||{zz{{y{z{{{{|{|{|{zz{{z{z{{{zz|{z{y{yzz{zzz{{z{|{{zyzzyzz{z{{{z{zzzzyzzyz{z{{zyzzzyzzyyzyy{zz{{z{zzzyyyzyzz{z{zz{yyyzyzyzzy{zzz{{yzzyzyyzzzz{zzzzzzyxxzyyz{z{zz{zzyzyyzzyzzzyz{z{z{yzyzyzzzzzz{{zyzzzyyyzzzzzy{{zzzzxyzyzzzzzzy{zzzzzyyzzzz{y{{{zyz{zxyyyzzzz{{{{yzzzyyzzzzz{{zz{zzzzzzyyzzzzzzyzzz{y{zyzzz{{z{{zzzzzzxyzzzzy{z{{zzz{zzzz{zzzz{zzzz{{zzyz{z{z{z{{yzzyzz{yz{{{{{zzzyzyzz{z{z{z{z{z{z{zzyzzz|zyz{zzzz{{zzzy{{||{{{zzzy{yzz{z{{{{|{{{{{{zzzzz{{z|{|z{{z{{zzz{|{{{{|zz{{{{z{zz{|{z{|||y{zz{y{{{{|{{||{zz{zzz{{{|{{{{{zzy{|{zzz{{{{{{{{{zzzzz{|{{{{{zzz{zzzyzy{{{z{{{{{z{zz{zz{{{{{z{zy{zz{yzyzzzz{{{zzzyzyyzyyz|z{zzzzzzzyyzzzz{{{zz{{zzyxzzzy{{zzz{z{yzzzzyz{z{zzzy{{{yyzzzxzzzz|z{zzzzzy{yzzzyy{yzzzzzyyx{zyzzzzzzzzzxzzyzzzzz{z{z{yzzyyzzzz{zzyzzz{yzyyyyzyyz{{zy{zzyyzyzzzz{z{{zz{zzyzyyyzzz{z{{z{yzzzyzzzy{{{{zzzzyzzzzzzz|z{z{{zzzzzzz{y{zz{|{{yy{yzy{z{z{{z{z{yzzzyzyz{{z{zzy{zz{yzz{{zzz{yzz{zz{zyzyzz{{{z{{{zz{zyzzz{|{zz{{{{zz{{zyzzzzz{z{zz{z{{zzz{{{{{{{{{z{{y{yy{{z{|{{z{zz{{zzzz{z{z{|z{{{{{{z{z{{{{{{{{zz|z{zz{|{{z{{{|z{zzy{z{{z|z{|{{zzzzyzz{{{{{{z|{z{{{zz{|{{{|{{{{{zzzzz|yz{z{{{{|{yyzzzy{{z{z{z|zz{zz{{z{{{{z{zzzxzyzzyyz{{yyz{{{yxzzyy{{z{zz{z{{zzzyyyyzzzz{{{z{zyyyyzyzz{yzzzzzzyxyzyyzz|zzyz{zzzyzzzzy{zyy{zzzzzyzyyyzz{zy{zyyyyzxzyxzzyyz{zzzyzyzyzyyzzyzzzyzyzyzyzzzzzzz{zzzyzzzzyyz{z|z{zzzzzzyzyyy{zzzz{{yzyzzzyzy{zyzz{{zyzyzzzy{zzzz|z{zyzzyyzzzzzzzz{{zyzzzz{y{z{{z{z{zzzzzyzy{z{zz{{zzyzzyz{y{{{z{{zzzzz{zzzzz{{z{{|zzzz{yyzzz{{{zz{{z{z{{zzzzzz{{{{{zy{{{{{z{{{z|{{{{z{zz{zz{{zz{{{{|{zz{z{z{|{{{{{|{zzzz{{z{{|{z|||{|{zzzz{{||z{{{|{{{{{z{{|{|{{z{z{{{zz{yzz{{{{z{|{{{z{zz{{{{{z{{|zzzzzzzz{{{z{{{|{zzzyyy{z|{{z{z{zzzzyyzz{|{zz{zzyzy{zyyxz{{yz{{zzz{yzzzyzzzyz|{{{yzzzzzyz{{zz{{{zzzz{yyyz{zzz{{{yzzyyzzx{z{zzzz{zzzzzz{yzzzzy{zzzyyxyyyyz{zzz{z{zxzyzyzyzzzz{{zzyzzyzzyyz{zz{z{zzyzyzyyyyy{{zzzzyzyyyzzzyzzz{zz{zyyyzyxzzzzzzz{zzz{yzzzyzz{{z{{zzzzyzzyyzzz{zzz{zzyyyyzzzzzy{z{{zzyzyyzyzz{z{zzz{zzzyzzyz{zzzz{|zzyzzyzyyzzzz{{z{zzzzzyzz{{zz{z{{zyyzzzzz{{{yz|zzz{z{{zzz{z|z{{{zz{{{zzz{zz{|z{zzzz{zzzz{|z{{{{z{z{{yz{y{|{|{{{z{{{zz{{zz{{z|{z{{z{zzz{zz{{|{{|{{{{{z{{z{{z{{{|z{zzz{{{z{{{{{{{}{z{y|zz{{zz{|{{|{z{z{{z{{z{{{{{{{zzzzzzyz|z{z{{{zyzyzzzzzzzzzzzzzzzzzxyzy{zzzz{zzzzzyzzy{z{{zzz{{zyzzyz{zyz{z{z{zyzyzyyyzz{zyz{z{yzzxzzyz{{z{{z{zyzxyz{y{zyzy{{zyyzyyzzyyz{zz{{{{zzzyy{z{zzz{{{{zzyzzxzyzzzzzzzzzzzzyzyzyz{{{z{zzyzzzyyzzz{{zz{zzyzzyzyyyzzzzzzz{xyyzxyyzzzzzz{{yzzzyzyyyzz{{{{{{zzyzyz{yz{{{{zzzz{zzz{z{zzz{z{{zzyzyzzz{{{zz{z{y{zzzyyxz{z{{{|z{{{zyyy{z{|{z||{{y{z{{yz{z{z{{{{{z{z{z{z||{{{|z{yzzz|z{z{{z|{|{{{z{z{zz{{|{zz|{{zz{{{zzy|{{{z{{{zzzzy{zz{z{|{{|{zz{z{zz{{{|||{{{z{z{zzz{{|{|{|{{{zz{{z{{z|||{{|{zzzzz{z{{{{|{z{|{z{z{zz{z{{{{|{||{{zy{zy{{z|{z{{zzzzzzzz{{{z{zzzzzzyzzzyz{{{z{{zzzyzyzyyzzzzy{z{z{zyzyzzy{z{{{{zyyzzzyzzz{zzzz{zzzzy{yyz{yz{zzz{y{{yyz|yy{z{y{{zz{zxzyzy{zzzz{zyzzyzyzyzzzzzzzy{yyzzyyzyzzy{zzzz{zzzyyzyzyyyz{{{zzzzyyzyzzzzzz{zzy{yyzzyzyzyz{{{yzzzyzyyzyzz{{z{yyyzzzzy{zzzzz{{zzzzzyzyyyzzz{z{zyzzzyy{z{z{{{zzzz{yxzzyz{zz{{zz{zzy{y{zy{{z{{{zzz{yzz{zz|{{z{{z{yzyzzzzz|{{{z{z{{z{zzzz{z{{{{{{z{{z{z|{|{z{z{||zz{zzzz{{{{{zz|z{yzz{zzz{|||{{|{{z{z{||z{{{|{{{{{{{zzz{{{{{{{|{{|z{|zz{{||{{|||{{y{z{{{zzz{|zz{{{z{{{{{{{z{{{{{{{|{zz{{z{z{{{{|{{{{{zzzzz|z|{z{zzzyz{z{y{|{zzz{{{zzzzzzzy{zz{zz{yzzzyyyzy{zz{{{{zzzzzyyzzz{{{{zz{yzyzz{zzz{z{zz{z{yyyyzz{yzzz{zzzz{yzzz{zzzzy|{zzzzxzyzz{{|zzzzzzyyyzzyyzzzyzzzzzyyzzzzyzzzzz{zzzzzzzzyzz{z{zzz{zyzyxyyyy{{{zz{{zzzyyzzyzzy{y{z|yzyyzyyyyy{zz{{{z{zzyzyy{{z{z{{{zzyzzzzy{zzzzz{|zz{yzyzzzzyzzz|{yz{zyzzy{z{{{{zyzzyz{x{zz{y{{|{zz{{zzzz{{{{{{{zzzz{zzz{z{zzzz{|z{zzz{zyzz{{{{|{}z{{{{yzz{zz|z||{z{z{zzzyz{{{{|z|{z{z{z{z{{|{|{|{{|zz{zz{z{{z|{|{{zzz{|zz{||{{z{{{zzzy{{y{{{{{|{{{z{{y{zz{z{|z|{|{{z{zz{z|{{{{|{{{{{zzz{{{{z|z{{|zzzz{zzzz{z{z{{{z{{{zyzz{{{{z{{{yzzzzzzyz{{y{{zzzyzyzyzyzzzz{{{{zzyyzzz{zzz{zzz{{zzyzzzz{yzz{zzzz{zyzzzyz{zzz{z{zyyyzyzzz{yzz{zzzyyyyxyzzz{zzzyzzzzz{zzzzzzzzzz{zyzyyyzzzzzzz{z{zzzyyyxzzzzz{zz{{zzzzzzyyyzz{{z{zzzyzzzyzzzzzz{{yzyxzyyyyzyzzzzzzzzyyyyz{zz{{z{{zy{yyyzyz{{{zzz{zz{zzz{zzzz{{{|zzy{zxzyz{{zzzz|{zzz{yy{yzz{z{|zzzzzyzzzyzz{{zz{{zzzzz{z{z{{{z{{{zyzzzzz{zzz{{{{zz{z{{z{z{{z||{{{{zz{zzzz{{zz{{||{{zz{z{zz{{{z|||{z{zz{{z{{z{{|{|{{{y{{{{y{|{{{{|{zz{zz{z{z{{{z{{{zzy{zz{{{{z{{{{zzz{{zzz{{|{{{{{{{zzzz{{{z{|{|{zz{zyzzz{z{{{{z{z{z{yzz{zz{zzz{|zzyyyzzyy{{{z{z|{{y{yzyzyz{z{zzz{zyxzzyzzzzzzy{|zzzzyzyzzzzy{yzzzzzyzxzyzzz{z{{{{{zzzyzzzyz{zyzzzzzzyyyyyzzzzy{z{{yyzyzyzzyzz{z{{zyyzyyzzz{zyz{{zzzyzzzyyyzzzzzz{zzyyzyzyz{{{zz{z{zyzzzyzzz{zzz{{zzzyzzyzz{{{z{{|yzyzzzzzzzzzz{|zzz{yzzzyzzzzzz{{zyzzz{{zz{z{{{{{z{{zzyzzyz{z{{z{zz{z{zzyz|{zz{{{{zyyy{zz{{z{z{|{{zzzzzzz|z|{{zz{{zzzzz{z{{{{{||{zzzy{{zz{|z{|||{{zz{yzyz{{|{|{||{z{{{{z{{{{{{|{z{{|z{|{zz{z{{{{{{zzz{{{z{{{{||{|{z{{zzzz{|{{z||{|zz|z{z{z{z|z{||{{{z{zz{|{{{{{{{zzzzzzzzz{{{{z|z{zzyzyz{||{z{{{{{zzzzy{zyz|{{{zzxyzzzy{zy{{zzzzzzzzyzzyzzzz{{z{z{{yzyzyy{zzzyyz|zzzzzzyz{{{zzz{{zzyzyyyy{zzyz{z{zxzyyzyyyzyzy{zzzyzyyzzy{y{zzzzzzyyyyyzyyyz{yz|zyzyxyzzyzzzzz{zzyzyyxxyyxzzyzz{zzyzyzzzyz{zz{{|{zyzyzyyzzzzzzzyzzzyyzzyyzzyzz{{zzzzyzzzyzzz{zz{{{y{{yyzzz{zzz{{{zyz{zzzz{zz|{{{zzzzzyz{zzz{yz{z{zzz{zyyxzz{{{{z{y{zzzzzz|z{z|{{zz{yzzzzyz{{zz|{z{zzz|{zz{{z{{z{{zzzz{z{z{|{{z{{{{zy{z{z{z{|{{{|{{z{z{z{z{{{z{{{|z{{yz{{z{|{z|{||{zzzz{zzz{|{{{z{{zzzzz{z|{{|{{{{zzz{zzzz{zz{z|{{{z{zzzzz{{{{{{|z{zzy{z{zz{z{z|{{zzzzzyzzzz{{{{{{{zzyzzzyz{{{{z{zyyzzyzzyzzzzzzzzyzzzyyzy{{yz{{z{zzzzyz{yzz{zzz{zz{zzzyzzzzz{zz{z{zzyzyyy{zzzzzzzyyzzzyyyyzzzz{zz{zyzyyzzzzzzz{{z{zzxyyyzyzzz{{zz{yyyyzzyzzzzzzzzzyzzzyyyzz{zyz{{zzzzyzzzz{zzzz{{zzzzyzzzyyzyz{z{zzyzyyz{zzyy{{zzz{zzyzyyzz{{z{{zzzzyzyzy{{{z{{z{zzyzyzzyz{z{{z{{yz{zyzyxzz{{zz{{z{zyyzzzy{zz{{z{zz{yzyzzz{{z{{{z{zyzzzz{{{{z{z{{{{zyzyzzz||{|{{{zz{{z{zz{{{|{{{|zzzz{{zz{||{{{{|{yz{{{{z{{{|{{|{|zzzz{zzz{z{{{{||zzzz{z{{|||||{{{{{{z{zz{z{{{{{{zz{y{{zz{}|{{{{|{zzz{zz{{|{{|z{zz{z{z{zzz{zz{{||{{zyyz{z{{|{zz{{zz{zyzzzz{zzzz{yyyxyzzyyyz{zzyzzyxyzyyyyz{{{z{z{zyyxyz{z{yyz{z{{zyzzzyyzzzzzyyzzzzzyyyyyyzzz{zz{zyyxzxzyzyz{y{{{zzyyyzyzy{yzy|zyzxzyyyyyzzz{yzzzyyyyzyzyy{zzzzzzzyyzxyyyzyz{{{{zzy{zyzyzzzzzzx{{yzyyyxyyz{zzy{zzyzyyyyyyyzz{yzzzzyyyzxyzz{yzy{{yzyzzzyyzyzzzzzzzzy{zzyzzzzzzzzzzzyyyzyzzzz{{z{{{zzyzyyzzz{z{{z{{zzzzyzzyz{z{z{|zzyzz{zzy{z{{zzz{yzzzzyzzz{z|{{{|zzz{z{{z{{z{z{{{zy{zzzzz{{{{{{{{zzyz{{yz{|{z{{{zzz{z{{z{{z{{{{z{|{{{zzz{z{{{{|z{zz{z{yz{{|{{{|{{{zz{zzz{{|{{{||{{yz{{zz{zz{{{{z{{{yz{{zz{{{z{{{{zzzzzzzzyzzzz{{zzyzxzyzzzz{zzzy{z{zzyyyyxzzz{zzzyzzyyzyzz{z{yz{{{zyzzzzyzzyz{z{zzyyyzyzzy{z{yzz{zzzzyyzxz{z{y{z{zyzzyyzzzz{zzzz{zyzzyyyy{yzzzzzzzzyxxyzzzzyzzzzzzyzzyyyyxzyzzzzzzzyzyzzzzzz{{{z{zyzxyzyzy{{{z{zzzyyyzyyxzz{zzzzzyzzyzyyyyyzxyzzzzzyzzzzzyz{{{z{{{zz{yyzzzzz{{zzzz{zzyyzz{{zzzy{{zzyzzzzyzz{zz{{{zz{{zzyz{{z|yzzzzzzyyzzyy{{zz{z{zz{{zzzz{z{z{{z{{y{y{zz{zz{{{{z{z{{{{{zz|zz{{{|{zzy{zzzzz{{{{{|{{yz{{zy{{{z{{{{{{y{{z{z{z{{zz{|z{{zzzzy{z|{|{z|{{z{zzzz|z{{{|{{{{yzzz{z{z||z{{{|{yzz{zzz{{{{{{z{{{{yzz{zz{{zy{{{zzzzzzz{z{{{{z{{yy{zzyyzzz{{{zzzyzyxyzyyxzzz{yzzzzyyyyzzzyzzzzzz{zyyyyzyzz{zzz{{zyzyyzyz{zzzzzz{{xyyyyyzzyzyzzzzzyyx{y{yzzzzy{zzyyyyzyzz{yzyyzy{zzyyyzyxzzzzy{z{yyzzxyyzzzz{yz{{zzzyyyyyyyzyz{zzzyyxyxzzzzzzy{zzzzzz{yyzzzyyyzz{zyzyyyzzyzzzzzz{zxzyzyzyyzzzzzz{yzxyzzzy{zzzzyz{yz{zzyyzz{zzz{{z{zzzzzzzzzz{{z{{zzz{zyzzzzzz{{{{zzzzyzyzzz||zz{zz{{zz{yyzz{{{{zzzyzyzzzz{z{|{{{z{zzzzzz{{{{{z{{|{z{z{zyz{{{z{zz{zyzyzzzy{|{z{{{{zz{{z{{{z|{{{{|{|zzz{{zz{|{{{{zz{zz{zz{{{{y{|z{{{zyy{zyzz{z{z{z|{zz{z{zz|{{{{{{{zzzyzzzzz{{zz{{{{zzyzzyzzzz{{{{z{zzyyzzxzz{zzz{|zzzzzyyyzzzzzzz{z{zzyzzyzzzzz{z{z{zyzyzyyzzz{{{{{yzyzyyyz{{zyzzzz{zyyzyyz{{{zzzzz{zyzyyzz{zzz{yzzyzyzzzyyz{z{z{yzzzyyyyzzzyzzzz{yzyzzzyzzzzzyz{{zyyzyyyzy{zzy{{zzz{zzyzyyz|{yz{zzyzzyyzzzzzzz{z{y{yyyyyyzzzzzzz{{z{{yzyzy{zz{{|zzzz{zyyy{zz{y{z{zz{yz{yz{zz{zz{zzyzzzzzz{zzzz{|{{zzyzzzzx{zz|{{{zzzyyzzzz{{z{z|{{zzzzzzz{{{zz{z{zzzz{zyzzz{{||{{z{yzzz{zy{z{z{||{z{zzzyy{|{|{{{{zy{z{zyy{{{|{||z{{zzz{{zz|{zzz|{{{{{z|yzz}{|z{||zz{{{{{zz{{zz||{{z|zzzzz{{z{{{{{z{{z{zzz{{z{{|zz{z{yzzzz{{z{z|{{{{{z{zzy{{z{zz{zzzzz{zzz{{{{z{{{{zyzzzzzzzz{z{{{yyzzyzzzzz{{zzz{zzyyyzzyzz{{zz{z|x{zzzzyz{{{zz|{zzyzyyyy{{zzz{z{zzzzyzzyzz{zz{{{zxzz{zyyzz{{zzzzyzyyzxyy{zz{{{{zyyzzzzzzz{zzzz{zzzzyzyyyy{z{zz{zz{zzzyyzzzz{{z{{zyyzyzyyzz{zzz{{zyzzz{yzz{yzzz|zyzzz{zyyzzzzz{|zzzzyzy{yz{zzzzz|zyz{zyzzz|{{z{z{yzzzyzzz{zzz{{z{zzyzzy{y{{{{z|z{zzzzzz{zzz{{{z{{z{{zzz{z{{zzzz{{zzz{z{{{{z|{{{||{{zzz{z{zz{{{{||{z{yzzz{{|{{{z{{zzz{zyzz{{{{z{{|{zzzzz{{{{{{{{{{{z{{z{z{z|||{{{{{{{{{zzz{{z{{{{|{y{{zzz{{{{{{{{||z{{{{{z|z{{z{{|z{yyz{yzz{z{{{||{{{zzzzz{||{{z{{{zzyzxy{{zzz{{{{zzzzzyyxyz{zy{{{zzzyyyyzz{z{zz{{{z{zzzyx{yzz{{{{{z{zzzyz{z{{{zz{zyzyzzyy{zzz{{z{zyzzyzzzzzyyz{z{{zzzzzzzzyzyz{zzyzzyzyyyzzzz{z{{zzzzzyzzz{zzy{zzzzyyzzzzz{{z{{|{zzyzyyzyy{z{z{{yzzz{yyzy{zzzz{{{zzyzyzzzz{zzz{{{zzz{{{zzy{{{{{z{{zyzzzz{z{{zzz{|zzzyyy{z{zzzz|{zzzzzzz{zz{{{{z{{{z{z{yz{{{|{{{z{{zzy{zzz{{{{z{{{{zyz{yyy{|z{{{z|z{{{z{zz{{{{{||{zzzzzzzz{{{{{{|{{zyzzz{{{{{{{{{{{zzz{{{y{|{|{{{{z{zz{{{{|{}{{{{{{{zz{{{{z|{{||||{{z{{zy{{{{{{{|{{z{zzz{|z{{{|{{|{{zz{{z|{{{{{{|{{{zz{{zz{{{{{|{{{{z{z{{y{|{{z{{{{{{{{{zz{{zzz|zzzyyyyyzxz{y{zz{zzzzzzzzyzz{z{{{zzyzzzzzzzzzz{zz{yyzzyyzzzzz{zz{|zyyzzzzyzyz{{z{{zyzyyzzzz{{zyz{zzzyzzzyyzz{yyzy{zz{xyzzyzzy{{z{zyzyzyz{zzyz{zyzzzy{zzzzyz|{yzzz|zz{yzzzyzzzzz{z{zzzzyxyyzz{{{z{zyzyyyzzzy{zzz{y{zyzyzzzzzzzzz{|zzzzyzzzxzzz{{z{|zyzzyzzzzzz{{{z|{yzyzzzzz{zzz{{z{y{zzyzzzzzz{{zzzzzzzz{{{|{z{{{{{{zzzy{{z|{z{|z{{zz{{{|{{{{|{{{|{z{|zzzy|{{{{{|{z{{zzzzy{{||z{{z{zzz{z{z{{{{{{{|z{z{{z{{|z|{{|zz{zzzz{zz{|{{{z|||z{|{zzz{{{{z{{{zz{zzzzz{z|{{{{{{{zzz{z{|{{{z{{{zzzzzzzz{{{{{{{{{zzzy{{zz{zzz{z{zz{yzy{z{{{{{zzzyzyzyzyyyzzzzzz{zzzzyyyz{z{{{{z{zzzzzyzxzzz{{{{{zzyzzzxyzyzzzy{zzyzyzz{yzy{{zzy{zzzyyzzyy{{zz{zz{zzzyzyyz{zzzzzyzzz{yzyyyy{z{{zyyzyyyyyyzzzzz{zz{yzzyzyz{zzzzzzyzyzyyyyzzzz{zy{{zzzzzyzzyyz{z{{{zyzyzyyyz{yzzz{zyyzyyyzzzzzzzz{{{zz{yzzyzz{zzz{|zyy{{yzy{z{y{{{{zz{yyzzz{zz{{|zz{{{z{z{yz{{zz{zzzyzyzyzzz{|{z{{{{zzz{yyz{{z{{{|zzzzz{zzx{z{|{{{|{{zzzzzz{zz{z{{{{zz{zzyy{{{|{{{{zyzzzz{zz|{zz{||z{zz{zzzz|z{{|{|zz{{{zzzz|{|z{z{zzz{z{{z{{z{{{z{{{zz{zz{z{{{|{{{zzzzz{zyz{|{{{z{z}{zzyzzz{{z{{{|{zzzz{zzz|{|z{{|{z{zzyzy{{{{zz{zyzzyzzzyz{|zzz{zyzzzyyyzz|z{{z{{z{zyyyzyzzzzz{{z{yzzyzzy{zz{{z{|zzyzzzzyzz{zyzz{zyzzzyzyzz{zz{z{zyyyyzyzzyzyzzz{zyxzyyz{yzz{zzzzyyzzyyyzz{zyzzz{zyzzzzy{yzzz{{zzzzyyxyyz{{zzz{{zzzzzyyzyx{zzzzzz{y{yyzyzyzx{z||zzzzzz{{z{{{zzz{{yzzyyz{yz{zzz{z{zzzyzyzzzzzz{{|{zzyyzz{yz{z{yz{{{z{zzzzzyzz{z{z{{zzyzyyyz{{{z{{{z{{{zzzzz{|zz||z{zzzz{z{{{z{zz{{zzzzz{|z{z{{|{{{{zz{zy{z{y{{{{{{{zzzzz{x{{{z{{z|zz|z{{z|{{z{|{|{{{z{y{z{z{z{}{{{{z{{z{zz{{z|||||{zz{yz{z{{z{{||{zzzzz{yz{z{{{{{{{{{yzzzzzz{{{z|{y{zz{z{z{{z{zzz{z{|yzzzzz{{zz{zzyzzzzyyyzzzy{zz{zzyyyxyz{z{z{zzzzzzzzzyyzzzz{zzzzyzzyzzzyz{zyz{zyzzyzxzzzyz{yz{{zyzyyyzyzyyyy{{zzxyzzyyzzz{yy{zzyzyyyzyyyzzzzzzzzxxyyzzyyzz{zzzzzzzzyzy{z{{zzzzzzzzyzzzzz{|zz{{{y{zzxyyxzyzzzzzzzz{y{zyzy{yzz{zzzzxzzzyyzzzz{zzzzzzyzzzzzzzzz{{{zzzyzyzyzz{{z{z{yz{zzzyyz{yz{z|{{yzzyyzyz{z{{|{zzzzyz{zy{z{{{{|{{zzyzyyzz{{z{{|z{zzyzzzzz{z{{{zzzzzyzz{yzzz{z{|zzy{{{z{{{{{zzz{|zzzzzz{zz{{{{{|{zzzz{{zzz{{{z{{z{zzzz{zzz|{|{|{{{zz{zz{{|{|{|{{{{yy{zzzz{{|{|{{{|{{zz{yz{zzz{{|{z{zyzzzz{{{{{||zzzzyzy{y{{{{zz{zzzzzzzzyyy{zzzyzzzyyyxzxzz{zy{zzyzzzyyyyzzzzzz{zzyzyyyzyz{zz{z{zzy{yyy{zzy{zyz{|zzzyyyyxzz{{yyz{yyzzzyyyzzzzz{yzzzzzzyyzzz{z{zzzyzyzyyzz{zyzzzz{zzzzzyzz{{zzzzzzzyzzzxyzzyzz{zzzyz{xzyzzzy{zzz{{zzzy{xyyzzzzzzz{zyyyzyyyy{{{zzz{zxyzyzyzz{zzz{zz{{zzyzzyzzzzz||{{yzyzyzzzzz{z{{|zzzyzyz{{{{z{{{{zzzzzzzzzz{|z{z{zz{z{yyy{z{zz{{yzz{z{yzz{{{{{z|{yzzzz{zz{z||z|{{zzzzzz{z{{{{{{{|{zy{{zzyz|{{{{{{{z|z{{zz{|zz{{{{{z{{{{zz{z{{{{{|{zz{z{zzz|{|{{z{{z{{{yzzz{|{{{{{{zz{z{yzzz{z{{|{{{{z{y{{z{z{{{{{{{{z{z{{z{{||z{||{yzzzyzz{z|{z{{zz{yzzyz{z{zzzyzyyyyzyzyzzz{{zzzzzzyyyyzzzzy{{zzzzzzyyyyzzzyz{zyyzzyzyyyzz{zzz{{zy{zyxyxzzzzz{|{yyzzyzyyzzzzz{zyzz{yzyzx{zzy{{zyzy{zzyyyzzzyzzzyyyxzzzxyzzy{zzzzzyyyyzyzzzz{{{zz{zzxyyyyzzz{z{{zzyyzyyyyyzyyyzzzzyxzzyzyy{zzzz{zyyyyzyyzzzzzzyyz{zzyzyzz{z{zzzzzzyz{zzyyzzz{{{{{yzzzyyy{zzz{zz{z{yzzzyz{zzz{{{zzzyzzzzyzzz{{zy{zzzzzz{zz{{{{zzz{zyzz{zzzzz{{z{{{zzzzzz{{{{z{z{{|{zz{z{yzz{{{z{zz{z{zzyyz{{{{{{{zz{{{{{zz{z{z{{||zz{{y{z{zz{{z{{z{z{{zz{{{{{{zz{||zzzzzz{z{{z|{z{zzzz{zz{{z{{|{{{zyzzzzzyz{{{{{{z{zyz{yzyz{{{z{|zzz{zzzyzzz{zz{zzzyyyy{zxy{{yzz{zzzyxyzzyzzzzz{{{yzzyzyyy{zz{z{{{zzzyzzyyyzz{z{zzyzzyyyxyzz{y{zzzzyyzzyzyzyz{zzzzzy{yzzz{zz{zz{zzyyyz{zyzzyyzyzy{yyzzzyyyyzyzz{{zzyyzx{xzyzzz{zzzzzy{yzyyzz{zzz{{zzzzzyzyyzy{{zzzzyzyzyzyz{yyzzz{zzzzz{yzyzz{{zzzzxyy{yzxz{zyyzzzzz{zyyyyzzz{zz{zzzzzzyzyz{{z|{{{{zyyzzzyzyzzz{{zzzzzzzzyzz{zzzzzzzy{zzyz{z{{{{|zzzzz{zyz{{|z{{||zzy{zzzz{z{{{{{{zzzzzz{z{{{{{{z{{y{{{zzz|{z|z{|{{zzzzz{z{{z{{{|{{y{{{{z{z|z{{{|{{zz{{zyz{|{|{z{{zzzzzzz{{|z{{{{|{{zzzzzz|z{{{{|{z{zzzzyzzz{{{{z{{zzzzzzyz{{{{z{{zz{z{{zzz{{zz{{z{zzy{xyyy{{zz{zzzzzzyyyx{z{z{{{zzz{xzyyz{{yz{z{zzzzzyyyzyzzzzzzzzyyyxyyyz{yz{{{yzzyzzzzyzzyzzz{zzzzyzzyzzyzyzz{zyyyyyzzzyzyyzzy{zzyyzyzyyzzyz{{z{yyzyzy{zzzzz{zzzyyzzzyyz{{{zzyzzyzzzy{yzyzz{z{|zzzxzyyzzzzzz{{{yzyzzzzyzz{z{zzzzzyzzzzzzzyz{zz{zzxyzyzyzz{zz{{{zyzzyyyzz{y{zz{{zzzy{zzzy{{{z{{zzy{zz{yzzz{|zzzzzzzyzzyzzz{z{z{z{zzzzzyz{z{{{{z{{zzzzyzz{zz{{z{{zzzzzzyzz|z{z||{{z{zz{zy{{{zz|{|{z{z{{{{z{{{{{{{|z{{z{zy{{{|zzz{z{{{zzzz{{z{{{|{zz{z{zzz{{zz{{z{zyy{{{zz{z{|{{{{{{{zzzzz{z{{z{{{{z{yy{zz{{{{z{z{zzyyyzyyzzzzzzz{zyyyyzyzzz{yzz{zzzyzyy{y{zzzy{{{{yyzzzyzz{{zzz{zzyyzzzzzz{z{{z{zyyzyyyyyyzzzz{zzzzyzzyyyz{zyz{{zzzyyzzyyzzzz{xyz{zzzzyyy{z{{yz{zzyyyzxzzyzzz{zzzzzzzyyyyyzz{zzzzzzyyzyyyzz{{zz{zzyyyyyzyzzzyyyzyz{zyyyyyz{{{z{zzz{yzzzyy{z{zzzzz{zzzyyzz{zzz{zz{zz{zzzzzzzzzz{z{zzzyzzzzz{zzzz{{zyz{zzy{{{z{{|z{zzzzyyzz||z{z{|{{z{zzzzz{{{{z{{{{yz{zzz{{{zz{z{{{zzzz{|z{{{{{z||{z{zz{zz{{{{z{{z{{z{{zzz{{{z{|||zz{zzz{{zzz{{z{|z{z{z{z{{{||||{|{zz{yz{{z{{{{{{{|zz{zzzzz{{{{{{{|{{{{zzz{z{{{{||zzzzz{zyz{{{{z|{{{{{zzzz{{z{z{{{zzz{zzyz{z{z{z{{zzzyyyzyz{zzzyz{yzzyzyzyzzz{z|{{z{zzyzzzz{z{zzz{zyzzxyyyzzzzyz{zyzyyyyzxyzyzz{{zzyzyzyzy{{z{z{zzzyzyy{y{yzzy{{zzyyyzyyzyzyzzzzyzyzzyyyzyz{yz{z{zyyzyyzyzyzz{z{zzyzyzyzyyyzzyz{zzzyzzzyzyzzyzzzz{zzzyzyzyz{zzzzz{zyzyyzzzzy{{{zz{zzzzyzzzy{{{{{z{zyzzzzzzz{z{zz{{zzzzyzzz{{z{{z{{{z{zzy{z{{{z{{{{zzzyzzyzz{{{{{|zyy{{zyzz{{zzzzz{zzy{{{{{z{|z{{{{zzzzz{z{{{y{|{|{zz{{z{{z{{|{{{{z{{yz{z{y{{zz|{{{zzzzz{{{{{{|{{{||zz|zz|{{|{{{{||{z{|{zz{|{{{{{{{{yzz{{zz{{z{{{{{{zzzzzy{z{{{{{{{{zzzzzz{z{{{{{{{zz{z{zzz{{{{{{z|{zz{zzxzzz{z{{zzzyyyzzzzzzzyz{zzyzzzzyzzz{zz{zz{zzyzzzzzzzzy{{{{y{yzzzzy|{z{zzzzzzzyzyz{zz{yzzy{zzyyzzzzz{zz{{zyzzzyzzyzyz{zz{zzyyzyzzzzzzzzz{yzzyyyyyyyzzzzzz{yzyzzyy{z{{{zz{z{{y{zxzyyzzyyzz{z{yzzyzzyyzy{zzz{{yz{zyzyy{zz{{zzzyzzzzzy{z{z{{|{{zyyzyz{z{|zzzzzzzyzzyzz{z{{zz{|zzyzyzzzy{zz{z{{zyzz{zzyzzzz{{{zzzzzzyyyz{{{{z{{zzzyy{zz{{z{{{|{zzzzzz{zz{|}|{{{{{zzz{{zz{z|{|{{zyzzzzzyzz{||{|{{zzzzzzzz{{{{{{|z{|zzz{zz|{||{{{{{{zzz{zz||{{{{{|{{{{zz{{z{{{z{{{zzzz{z{|{{{z{{{{{{{{zzz{z||z{z|{{zzzy{zy{{{{{{|{z{zzzzzzz{{{{{{{zzzyzzyz|{{y|z{yzzyzyzyzzzzzzzzzyzz{yzzyzzzzzz{zzyzxzyyzyyz{{{zzyzyzyzyzzyzzz{z{zyyyyyyzzyzzzz{zzzxyzyzzzyzzz{zzzzyzyyzy{zyz{zzy{zyzyzxzzyzzz{zyxzyzyyxzzzzzz{zzzzyyzyyzzzy{zz{yy{yxzyyzzzz{z{{yzzyzyyzzzzzz{y{zyzy{xzzxzz{z{zzzyzyzzyxzzzz{zz{yzyzzxyyzzzzzzz{zyyyyz{zzz{{z{{{zyyzyyzyz{z{z{{zyzzzzxzzz|{{z{z{zxzzz{zzyz{zzzz{zzzzzzyz{{{{{{z{{yz{zzzzz{z{{z{{zz{zzz{z|z{{||{{zzy{zzzz|zz{{{z{zz{zzzzy{|zz{{{|zy{{zz{z{{|z{{{|{|zzyzz{{{{{{{||{z{{zzzz|{{|{{z|{z{zzzzyz{zz{||{{z{zz{zz{|z{z{{{{{zzzzzz{{{{||z{{{zzzzyzz{z{|{{{zyyyzyzy{zz{yzz{zyyxyyyy{zzzzzzzzyyzzyzzyyzzz{zz{y{yzyyyyz{zzz{{zyzyzy{{zzy{zyzzzz{zxzyyzzz{z{zzyyyzzyyyyy{zzz{zzyyyzyzyzzzyzz{zyyxzyzyyyzzzyyzzzyyzzzyzyzzyzzzyzzzzzyxxy{zzzzzzzyyyyyzyzzzzzzzyzyyyyyyy{zzzzzzyyyzzyzyyzzyyz{zzzyyy{yyyz{{{yz{{{zyzzyzyz{zzzzyzzy{zyyzyzzzz{zzzzzzyyzzzz{zzzz|zzzzzyyzzyz{{z{z{yzzyyzzzz|zzzz{{zzyyyzzz{zzzzz{z{{zzzzzzz{{{{{{{zzyyzz{zz{z{{z{{yzzzy{zyz{z|{{{{{zzzzyzz{{|z{{z{y{zzyz{zz{{z{zz{{{{zy{{z{{|{{|||{zz{{zzyz{z{y|{{zz{{yzz{{zz{|{{|z{yz{zzz|{{|{{z{zzzzzzz{{{y|z|||zz{yzyy{z{{zzz{zzzzyyzzzy{zz{zzzzyyyyyzxz{{zzzyzzzyyzzzyzzzzzzyzzzyyyyzyzyz{{z{yzzyyyyyyzyy{zz{zzz{yyzyy{zzz{z{{yzzyyzzzyzzyzzzzzzzyyyzyzzzzyzz{yy{yzzyzzyzzz{zzyzzyzyxyzzzz{z{zzzyzyywzzz{y{{zyzyzyyzyzzz{{yy|{zzzyzyyyyzyzzzzzyyzyyxzyzz{yy{z{yzzzyyyz{{{yz{z{zyyyyyzyz{yzz{{{zzyzyzyzzzz{z{{{zzzzyyzzz{{{zzzzzzyyzzyzyz{zzzzzzzyzzzzxyz{{z{{zzyzzzz{{{{{{zz{yzz{zzyzzz{{{{{z{{zzyz{z{{{{{{{{|zzzzz{zz{{{{{zz{zyzzzzz{z|z{{{|{zzz{z{{z{{z{{{|{{yz{z{zzz{{|{||{zzzz{{{{{{{{{{{{{{zzzzz{{{zz{zz{{{zz{z{z{{z|z|||z{zyzz{{{|zz{{|{|zzzzzzzz{{{zz{zzyzyyzzy{yz{z{zzyyyyzzzzzz{zzyzz{yzyzyzzzzzy{yz{zzyyxzzzyzzzz{y{yyyyzzzyyzzzyzzzzzyyyzyyyzy{y{zzyyyyyyyyzzy{z|{{zzzyyyyyyzzzzzzyzzyyyyxzyzzzzzyzzzyyyxyyz{yzzyzzzyzzzzyzyzzz{{{yyzzzyyyyzzyzzz{{yyyyzyzyyzzzy{{{yyzyyyyyy{zyz{zzzzzzzzzzzyzz{zzxzyyy{yyyzzzzyzz{zyzyyxzyzy{z{zz{yzzzzyyz{z{z{{zzyzzyyzzyzzzzz{zzzyyyy{y{zz|zzz{zzzyzzyzzzzyzz{{{zyz{zzzzz{{z{|{{yzzyyzzy||z{{|{{zyz{zyyz{{{|{|{{{yzzyzyzzzzz|{{{zz{zyy{zz{zzz{{{{{zzzyz{z|{{z||z|z{{y{zyz{{{{{{{zzzz{y{zz{{zzz{||z{zzzzz{{{|{{{{z{{zyzzy{{{z{{|{{zyzzzyyz{{{{{|{zzzzzzyy{zzzz{zzxyyzyyyyzy{{{z{{zzyzzxyyyxzzz{{{zzyzyyyzzyzz{zzzzyzy{yyz{zz{z{zzyyyzzyyyyzzzzzz{zyzyzzyyz{yyy{{zzzzzyyyz{yzyz{{z{y{yyyyyzzzyzzz{yyyzzyyyz{yy{zzzzzyyxyyyyzyz{zzzzyyzyyxyxzzz{yzzzzxyyzzyzyy{zzzzxyzxyzyyzyyzz{{yzzyzzzyyzzzz{|{{zyyzzyzy{zz{{{{zzyyzzxzyzzzzz{zzyzyzyyzyzzz{z{{zyzzyyzzzz{z{z{{zyz{yyzzz{z{zz|{{z{z{yzzz{{z{{{zz{zzzy{yy{z{z{{{zzzzzzzzy{{{{{{{{zzyzzzz{z{{{{{{{{yzyzzy{{{{{{{z{{z{{z{{z{{{zz||z{zyzzzzzz{{{{{|{zz{zzzzz|{z|{|{|{{z{{z{z{{zzzz{z{z{{zzzzzz{{|{{{{{{zzzzz{{z{{z{z{zz{{{{yz{zzzzz{z{zyzzzyz{{zzzyz{zzyzyyyy{zz{yzzzyyyyyyyzyzyyz{zzxyxyzyyzyz{y{{zzyzyyyyyyzzzzz{zzyyxyzyyz{zz{zzzzyzxzyyyy{zyzz{zyyzyyxzxyz{xyz{yyyyyyyyyyyz{zy{zyyyyzyyyyy{yzz{zxyyzyzyyzzz{zz{zyyzyxzzzyzz{zz{yzyyzyyyzy{zzyzz{yzyxyyxyzzyyz{zzyzyyyyyxzyzyzzyz{zzyzyzzzzzyzzz{zyzz{yzy{zzzzz{zzxyzyzyzyz{{zzzyzzyyzyyzx{zyz{{z{zzyyyzyz{{zzz{{{yzyzz{zzzzzz{yz{yzyyzyz{{z{{{zzy{yzyyz{{{z{{{z{{y{{yyzyz{z{{z|zzyzyyyz{zzzzy{{{yyzzz{{zz{zzz|{y{yzzzzzzz|{zz|{zzz{zyz{z{z{{{{{{{zzzz{zzz{{zz{||zzz{zzzzz{z{z{{{yzzyyz{y{{z{zz|{yz{zyzyyz{{{zzzzz{yzyyyyyzyz{{yzzyzyyyyyzzz{zz{{yyyyzzzyzzy{zz{{{zxyzzyy{yzzz{zz{yzyzzyyyz{{zy{zzzxzzyyyyzzzzz{{zzyyzzzzzzzzy{zzzy{yyyyyzzzzzzyy{yzy{zzyzzz{z{zzyzzyyyyyxzzzzzzyyyyyzzzyzy{z{{zzzyzyzzzyzzz{{{y{zyyzzzyxyz{yzx{zyzyyyxxyy{yz{{z{yzz{yyyzyy{{yz{{zyyzyyzzz{z{{z{zyzzzzyzz{z{zz{{{yzzzyzzzz{{{yz{{{zzyyyzzyz{{{{{{zzyz{zzy|{{zzz{zzzzyzyzz{{yyz|{z{y{zzyzzz{{{{z{|z{zz{yz{z{z{{z{|{{zzzzyyz|{z{{{z{zz{{z{z|{|z||{z|{zzzz{{z{{{{{{{{zyzzz{{{|z{z|{|{{{zzzzz{z{{|{zz{y{z{z|{{zzz{{{|zyyz{zzz{{z{z{{{z{z{zy{z{zzzzz{z{zyzzzzzz{zz{zzz{zzz{{zyz{{{z{zzzzyzyyzyzzzzz{{{{zyyyzyyy{zz{{{{zzyyzzyy{{{{z{z{{xyzyzxz{z{zyzzz{zyyzzyyzzy{z{zzzyyyzyzzyzz|yzzzzyzy{zzz{yzzzyzzzzzyzyzz{zzzyz{zzyzyyyyzyzzzzzzyzyyyyyzzzyzz{zz{zy{zzzzzzz{{y{z{{zwzzyzyz{zzzz{z{zxyyyyyyzy{zzz{zyyzyyyyzz{{zz{zzyzyzyzzy{z{z{zzzzzzyyz{{zz{{z{{zz{zxzz{{{|zz{|zzyz{zyzzyzzzz{zy{zzzzyzz{{{{z{{zzzy{zzzz{|{zz{zz{zzzzzyz{{{{{{{{{zyz{z|yz{z{{|{{{z{zz{zz{{z{z{|{{z{z{{{{{{{{{||{zzzzz{{y{{{z{{{{zzz{zzz{{|{|{{{{|z{{zz{{{{||{{|{{zz{zzy{z{{{z|{{{zz{|zyy{|{{|{{{{{zzzzzy{{{{z{{{|zzz{zzz{|z{z{{zzz{xz{yyzzz{{{zzyzzyzyyyyzzzyzzzyyyyzzyzxz{zz{zzzyyyyzyzzyzzyyzzzzyzyyyyzyzyzyzzyzzzyyzyzz{{z{z{yyyyyyzxzzzzzzzzzzzyyzyyzz{yzyzzyzzyzyyzzyzzzzzzxyyyyyyyyzzyzz{yxzyyzyyzz{zyzz{zzzzyyyyyyzzzzz{{yyzyyyyyzz{yz{zzyyyyyzyyyzzzzz|zyzzzzzyz{y{zzz{{zyzyzyzyzyzzyz{{zyyzyyzzzzzzzz{z{zyzyyzyzz{zz{{{zyyyyzyzzy{yz{zzzyz{z{zy{{{zy{{zzyyzz{zz{{{zz|zzz{z{zzyzz{{{zz{yzzzz{zzzzz{{{}||zyz{zzzz{{z{{{z{zzy{{yzzy{{zz{{{zzz{z{z{z{z{{z{|{zz{z{zzz{zz}{{{{z{zzyzz{z{{{||zzzzzzzzzz{z{{{{{{z{zzzzzz{z{z{{{zzzzzyzzz{{zz{z{z{{zzzzz{{z{{z{{zz{zzyyzyzz{zz{zyzzzyzyz{zzzzz{{yyyzyyyyzzzzzzz{zzzyzyzyzz{yyzzzzzyyyzyyzz{{zz{|zzzyyzzzzy{yy{zyyyzyzzyyz{zzyz{{zzzyzyyyyzzzyyyyzyzyyyyyzzyy{{zzyyzyzxyxyzz{zy{zyyyzyyyzyz{{zzy{zyyzzzyzyzz{z{z{zzzyzyzyzzzyz{zzzyyzyyyzz{yzzzzzzyzzzzzyzz{z{{z{zzyyzzzz{zzyz{{zzyyyyyzzzzz|{z{{zyzyyzzzzz{{{zzzzzzyzyzyz{{z{zzzyy{zzzz{{{{z{{{{zyyzzyzzzz{{y{{zzzzzyzyz{z{{z{z{z{zz{zzzz{y{{{|{yyz{zzzzz{z{z|{{zzyzzzz{{{{{{z|{{{yzzz{{zz{{{{|{{z{z|z{z{{{{z{{{zz{zz{z{|{{z{{|zzzz|zzzzzz{{||||{zyz{zzz{zz{{{||{{zzzzz{zz{{z{{{z{zzyzyzzz{{{{{{{zyzzzzyz{z{zzzzzzxzyzyyyzz{z{zz{yzzzyyyzz{yzz{{yzyyzyyzz{{zyzz{yy{zyyx{{zzzyz{{zyzzyyzyzyyzy{zzzzzyyyzzzy{zz{{zzzzxyyyzzz|yzzzzzzxy{zxyyzzyzzzzyyzyyyzzzzzzyz{zxyyzyyyyyzzy{z{{zzyyyyyzz{{yyz{zzyyyyyyyyz{yzzz{zyzyzyzzyzzzzz{z{yz{zyyyzzzz{z{{zzzzzyzzzz{zzzzzyzzyyyzzy{y{yzzzyyzzzzzzzz{zzz{{yzzyzyzzy{z{{z{zzzzyxzzyz|{{z{{{zz{z{yzz{{{z{zz{zzyz{{zzzz{z{{{{{zzyzz{z{zz{{{{zzyzzzzyz{z{{z{z{zyz{{z{z{z{z{{||zzzy{z{z{z{{{{{{zyz{zz{zz}{{z{zzzyzzzyz{{{|{{z{{{zzzy{zzz{zz{|{{{{z{zzz{z{z{|{{|{{zzzz{zzzz{z{z|zzzzzzyz{{{{z{zzzzyy{zzzz{z{zzzyyzzyyyzyyz{{zz{{zzyyzyzyyyyzzz{z{yyyyzzzzzzzzz{zzyzzzyy{zzzyyzz{zyyxyxzxzzzzyzy{yz{yyzyxy{yzxz{zzyzzyyyyzz{zyz{zzyzyxyyy{zzzy{z{zyyyyzyyyyyz{zzzzyyzxzyyyz{zzzzz{yzzyyzzyyz{yzzzzyxyzyzyzzzzyz{{zzyyyyyyzyzzzyzzyzyyyzyzy{{{{z{zzzyzzyyzzz{zzz{{z{yzyy{z{z{zzzzzzzyyyyyzzz{{zz|{zzzyzz{zzz{zz{{{{zzzy{{zzzzz{{|{{{y{zzz{{zzz{{{{z{zyz{zzzz{{z{{{zzzzzzzz{{z{zz{{{y{z{zzyz|{zz{{{zz{z{z{z|{z{{{|{{z{zz{zz{|{zzz{{{zzzzz{zz|{{{{{{{z{zzz{zzz{|zz{zzyzzz{{{{yz{{{{{{zz{z{zz{{{{z{|{zyzyzyzy{|z{z||{zzzzzzzzz|zzzz{zzyzzyyzy{z{yzyyzyyzyyyyxxzzzyzxzzyzyyyzzyzyzyzzzyzyyyyyxz{zz{yzzzyyzzzyyzyzyzzzzzy{yxzzyzyyzyzzyzyyyzzzyz{zyyzzzyyzyyzxzyzzyy{zyyyzzxyyyyyzzzyzzzzzxzyyzz{yyzzzyzyyyxzyyyzzzyzz{zzyzyzzyyzzzzzzzyyyyyyxyyzzzy{z{yzyyyxzyzzyzzzzzzyzzzzyyzzzyzzzzzzxzyyyzyz{zz{z{yyzzzyz{zyyzzzz{{y{yzzyyzzzzzzz{zz{zyyzxyz{z{{{zyzzzyzzyzz{{zz{zyzzzzzyzzzz{z{{{zyz{yyzzzz{{zz{{zz{zyzzyz{z{{{z{yzyzzzyyzz{{z|{z{zzzyzy{{{{z{zz{zzyyz{zzz{zz{{z{|zzzzzz{zz{{z{{z|yzzyz{zz{|{{{{{zy{zzzzy{{|{{z{{{zyzzzzyz{{|{{{|{{{zyzzyy{zzz{{{zzzzzyz{z{z{{{{{yzzyzxyzzzzy{zzyy{zzyzxyzzzzzzz{yzzyzxyyzzzz{{|zyyyyzzyyzzyzz{{{{yzzzyyzzyzzyz{zzxzzxyyyyzz{yzyzzyyzyzzxzy{zz{{zzzyyzyxzzzzzz{zyyzyyyyyyzzz{yz{zyzyyyyzyzzzyyzzzyyyzzxxyz{zyzzz{zxzyyyyyzyz{zzzzyyyzzyyyyzzyyz{yzzzyyyzzzzyyzzz{yyzzzzyyzzzzyz{zzzyyyyyzzzzzy{{zyzyyzzyyzzzzz{z{yzzyyzzzzz{zz{{zyyzyzyyyz{z{zz{zzzzyzzyzyzzzz{{z{yzzyyyzz{z{zz{z{yz{zzzzz{z{{{{{zz{z{{z{zz|{|{{zzyzzzzzyz{{{{{{z|zzz{zzy{{{{{{zz{y{{zzzzyzzzz||{{z{z{zzyz{{zz{zz{z{zyyzz{{{yzz{{zyzzyzzzzzzzzz||zz{z{zzz{z{{{{{{{zzyzzzzz{zz{{z{{zzzyzy{z{{{{{z{yzzyzyzz{{zzz{yzzyzxyyyxzzzzzz{zyyyzzyyzzzy{zzzyzyyyzyyyzzzzzyz{zyyyyyzy{z{zyzzyzzyyyxyzyzzyzzzzyzzyyyzyzzyzzzzzzyzyzyyyzz{yz{zzzyyxzyzyzyy{zzzzyyzyyyyxyyzzyzzzyzyzxyxyz{zzzzz{yzzyyyyxz{zyzzzyxzyzyyzyyzyyzzzzyzzxyyyzzzyyzzzzyyyzyzyy{zyzz{{zzyzzzzzzyzyzzzz{zyzyyzzy{z{zz{z{yzzyzzyzz{zzzz{{yyzyzzyyzzyzzzyzzzzyzzzzzz{{zz|zzyyzzzzzyzzzzz{{zzzzz{zyzzzzzzz{xzzyzyzyzzzzyz{{zyy{y{zyz{{{{{{{{zzz{yzz{|{z{z{{zzzzzzz{zzzz{{{z{{yzyzzz{{{{{{{{{zzzzyyzz{z{zzzzzzzzyzz{zzz|{{{|{zzz{zzy{z{{|{{zyzzxzzyz{{zzz{{zzzyzyyzzzzz{{{{zyzzzyzzzzz{z{zzzyyyyzyzxzzyzz{zzzyzzyyzyzzzz{zz{zyyyyyyyyzzy{zzzzyzyyyxzzzz{zz{zyxxzzzyyzzzzz{zzzyyyyzyyy{yzy{{zzyzyyyzyzzyzzzz{zzyxzyyyzzzzzz{zyyzxzyyyyzzzyz{{zyyyxzyzzyzyzzz{yzxzyyyyyzz{zz{zyzzzyyyyyyyyyzyzyzzyyyyzyyyyyzzzzyzyyzyyyzzz{z{{zzzyyzzyz{yzzz{{zzzyzyyyzz{zzzz{xy{zzzxzz{yzz{{{zyzzzzyzzz{zz{z{zzzyyzz{z{{{zzyzzzzzyyzy{{{zyzzzzzy{zzzzz{{z{{|zzzzzzzzzz{{{{|z{zzzzzzyyz{{zzzz{zyz{{yzz{z{zz{{{zzzzzz{zz{{{z|{{z{zzz{{zy|zz{|{{zy{{zz{zzz{{{{{zz{zyzzzz{z{{z{z|{zz{zzz{{{z{z{zzyyyzy{yzz{z{{|{{{zzzz{zzz{{{zzz{z{yyyyzzz{zzyz{zzzyyzzzyzz{zy{zzxyxyzyzzzzzzzzzzz{yyyyyz{zzzyz{zzyzzyxzyyz{zzzy{yz{zyzzxzyzxzzz{zzyyyyyzzzzzzzyzzyyyzyyyyyzyyzyzyzzzzyyyzz{zzzz{yzzxzyyxzzzzzzzzyyyyz{yyzzzzzzzzzzzzyyyyyz{zzyzzyzzyyyxyyz{yzz{zzzyyzyyzyzzzz{zzzy{yz{yyzzy{{z{{zzzyzzzz{{zz{yyzzz{zyyzzzzz{zz|{zzzzzyzyz{zz{z|zzyz{zzzyz{{{zzzzzzzyzyyzyy{{{zzzzyzzzzyz{{z{z{{{{zzzzz{z{{z{z|zzyz{yzz{zy{{|z{{zz{zzzzzzzz{|zz{{{yz{zzzzz{{{{{|{yz{{zz{zz{{{{z{{{zzyzzz{z{z{{z{z|z{zzzzzz{z|{z{{zzzzzzzzz|z{zz||zz{zzzyz{{{z{{{{zz{zzzy{{{{{{{{{zz{zyzzy{z{{{zz{yzzzzyz{{{z{z{zzzyyyyzzyxz{yzzz{zzyyzyyyz{zz{z{zzzzyyzzyzzzz{zz{zzzzyyzyzzzzyz{zzzyzyyzzzyz{z{z{yzzyyzzyzz{z|yzyyzzzyyyy{z{{zzyzzyzyyzxxzyy{{{{zzyyyzyyzz{zzzz{yzzzzyzyzzx{zz{zz{z{yyyyyzz{zyy|zyyzxzyyyzzzz{{zzxyyyzzyyyzzyz{{{zzyzy{zzzz{zz{zzzzzzyyzy{{zzzzz{{yzzzyzz{z{zy{z{zyzzxzyzz{{|y{z{zzzyzzzzzzz{zzyzzy{{zyyzyzz{{{{zzzyzzzz{{z{zz{{z{zzy{{zzz{z{zz|{yzzz{y{z{{z{{|{{{zzz{yz{{{zz{{zzzzzy{zzzz|{{{{{{{z{{zzz{{{zz{{z{{zzzz{zzz{{|{{{{zz|zyzz{{{{z{{{z{{{zyzzzzzz||z{{{{zzzzzzz{{|z{z{zzzy{{yzz{{z{{z{{zzyzzzyz{zzzz{{zzzzyyzy{z{zz{zzzyyyyxzzyzyyzz{zzyyz{yyyzz|{zzz{zzzxyyzyyzzyz{zzzyyzyyzzz{z{zzzy{zyxzz{yzz{zyzzzzzyyyyzyyzzzzzzyyyzzyyyx{yzyzzyzyzzy{zyzyzzzyzzzz{yyyyyzzzz{zz{zzyzzzyzzzzzz{{z{yzzyxzyyzzzzzz{zyyzyyyyyy{zyz{z{yzyyyyyzyz{yyz{zzzz{{zyyzzyy{zzz{z{y{zzyyzz{z{zzzxyzzxzzzzzz{z{{zy{zyzyzzz|z{z{zzzzzzzzzzz{z{{zzzzzyzy{yzz{z{z{{{yyyyzzz{zz{zz|z{zzzzy{zz{{{z|{{zzyzzyz{z{{zz{{{{zz{zzzyz{{zy{{{{yzzyzz{{{z{z{{{zzzzyy{zz{{{{{{{zzz{zzz{z||{{{{{zzzz{zyz{{|{z{{|{yyzzzzz{{{{z{|{{zzzyzz{{{z|{zz{zz{yzzyzz{zz|z{{{zzyy{{yz{{{|zz{yz{zyyyyz{y{zzzzz{yyyzxyy{zz{{z{yyyyyzzyzz{zz{{{yyzyyzyyy{zzzzz{zyzyyzxxyz{zzzzzzzzxyyyyyzzzzzzzzzzyzyzyyzyzyzyyxzyyyxyyyzzyyzzzyzzyyyyzyyzzzzzzyzyyxzyzzzzzyzzzyyzzzyyyyzzzzzy{zzyyyyyzyzz{zz{yzz{zyxyzz{zyzzzzyzzyzyyyz{zzz{{zyyyyyzxyzyyyz{{{zzzzyyzyzzz{{z{{z{zzyzzyyzzzz{zzyyzxxzzzzz{zyz{zzzzyxzzyzzz{{z{zyzyyzzyzzz{{{{|zyzxzzyzyzzzzyzzzzzzzz{yyzzy{zzz{yzzzzyzzzzzzz{{{zyzzzyyzzz{|{{{y{zyzzzzz{z{{z|{|zzz{yz{z{z{zzz{{{yzz{zzzz{{{{{{|zzzz{y{z{z{{{{{{{yzzzzz{{{{{{{{|{zzzzzz{zzzzz|z{zzzyzz{zzzzz{z{{{yyzz{zzyzz{{z{zy{zyxxzyz{z{z{zzyzzyzzzxzzzzzy{zyyyyzzxyzz|y{zz{zzzyzzyyyzzzzzzzzyzxyzyxzzzzyzzy{zyyyxxyyyzyzzzzzyyxzxxxyyzzyzz{zzyyyyyzzy{zzzzyzzzzyyzzzyzzyxzzzyyzzzyyzzy{yz{zzyyyzyxzzzzyzzzzzyyyyyyyyzzzzzzzzzzyyzzyzzzzzzyyzyzyyzyzz{zz{zz|zzzyyzyxyzzzz{z{yzzyzyyyy{zyzz{{zzyyzyzzy{z{zzzzyzzzzyzzyzyyzz{zzzzzzxzzz{|zzz{zzzzyyyyyz{zzzz|{zyyyzzzz{{{zzzzz|zzyzzyyzzz{{zzzzzz{zzyz{{z{z{z{{zz{yyzz{{z{{z|zzyyz{zzzzz{{zz{{zz{zyzzz{zz{z}{{{yzzzy{zz{{{{{{{{z{{zzz{z|{z{{zzzz{zz{{z{{{|zz{{{zzz{zz{z{z{{|{{yzyzzzyzzz{zzz{{{z{zzzyzzzyz{{zzyzyz{yzyzzzz{zyzzyyxyyyy{zzyzzzzyyyxxxxyzyzzz{z{zzyyzzzzyzyy{zzzzzzzyxyyyzzzzz{yzzxyyxyzzyzzyz{zywyyxzzxyzzyyzyyzyzzzyxyzzzzyzzyyzyxzyyyy{yzyyz{yyyyyyyyyzzyyyzzyyxyxyyyzyz|yzzzyzyyyyyyzyyyzz{{yyyyyyzyyz{yzzxzyyzyzyzyyzzzz{zzyyyzyyyy{yzzzzzzzyyx{yzxz{zzzzz{z{zyyyz{zyzz{zz{yyyzyyyyzz{zzzzzyyzzzzyyz{z{yzzyzyzz{zyzzz{z{zzzzyyzzzzzzzzyz{zzzyyyzzzz{{{{y{|zzyzyyy{yzzzz{{{{zzzyyyyzzz{z{{{z{zzzyy{yz{zz|z{{{z{zz{zzyy{{z{z{{zzzz{zzz|{{{{{{zz{zzxzyzz{{{{zz{yzzyz{yzz|{{{{{{zzzzzzzz{{{{{{{zz{zyzzyy{zzyz{z{zyzzy{yzzz{zzzzzzzyyyzyzzz{z{zzyzyzyyyyyzzzzz{{zzzy{xyzzzz{yzzzzzyyyyyxzzyyzzzzyzzzyyywzz{zyz{yzzzyyxyyzyzzzyy{yyzxxyyyzzzzzy{zzyzyyxyzzzzzyzzyyyzyyzyyzzzzyzz{zxyyxyyyzzzyzz{zzy{yyzzyyzzyzzzzzzzyyzyyzzz{zz{zyyyxyyyyz{zyzzz{{yyyyyzyzzzzz{{zyyyzzzzyyzy{{yzzzzyyzyzyz{zzz{zzyzyyyxzyyzzzzy{zyyzzyyzzy{{y{{{zyzzyzyyzz{z{yzzzzzyzyzyzzzyzzyyzzyzy{zzz{z{zzzz{zzzzzzyz{z|{zz{{xzyz{zzz{zz{z{{{yzyzzzzzzzz{zz{zzzzzzzz{{|{z{{{{zzz{zzzzzz{z{{z{|yzzz{z{{|y{z|{z{yz{zzz{zz{{z{{z{zzzzz{zzz{{{{z{|zy{zzzz{z{z{{{{zzzzz{zy{{{z{zzz{zyzzyy{z{zz{{yzzyzyzyyyzz{zz{zyzzzzxyyyzzzyzzzzyxyyxyyxyzzzzzzzyzyyzyxyy{yyzzzzzxzxyyyyzzzzy{yzyzyyyyzyyy{zzzzzzxzyyyyyyzyzx{zyzyzyyyxzy{zzzzzzyyzyxyyyyyyzzzzyyyxyxyxx{zzzyzzzzyzxxyyyyzzyzyzzzyzzyyyxyzz{zy{yyyzzxyyzyxz{yz{zzxzzyzzyyzzyyzzzzyyzzzzy{zzzzzz{zzyzzyyxyzzyzz{{yyyzzyzy{yy{zz{{yyzzzyzyyzzzzz{zxyyzzxyxzzz{z{{zzyzyzyzzzz{{{y{z{yzyzzyyy{{yy{{zzzzyzyyzz{|{{{z{zzyzzzzz{|{{{|z{zzz{z{zyzz{{z{{zzyzyzzzz{{{zzz{z{zxzyz{zz{zzzzz{zzzzzzz{z{{z{{|{{z{zzy{z{{z{z{{zzyyyzyzzz{{z{{{{{zz{{zy{{{zz{{{{zzzyzzzzy|zzz{{|zzzzyzzyyzz{zzzzzzyyyzzy{z{zz{zz{zyzyxzyyz{zzyzz{yywyxyzzzzzzzzyyzzyyyyyzyzz{yzzzzyzyxzyyyzzzz{yzyzyxyyxzzzzzyyzyyzxyyyyyx{zyzz{zyyzyyyyzy{zyzyzyzzxyzzxzzy{zzzzyyxyyxyyyz{yyyzzyyyyxxyxyzz{{zyyyzzzyyyyyzzzzz{zxyyyzyxyyzyzzzzzx{yxyyyyyzyzzzzyyyyyzyzyz{zzzzzzzyyyzyzzzzzzyzzzyyzyyyzyz{{yzzzzy{zyyyzzzzzy{{z{zyzyzyzxz{z{zzyyzyyyyyzz{{z{zz{|zyxzzz{zzzzyzzz{yyyyyz{yzzz|{{{zzzzyzzzy{{z{zz{{z{zzz{zz{{{z{z{z{yyyzyzz{{{zz{{{zzzzy{zz{z{zzzz{zzyz{zzz{z{{z{{{{zz{yzzy{{z{{{zz{zyz{yzy{{zyzz{{{zzzzyy|z{z{z{{zzzz{zzzz{{zzz{zz{zzyyzzzzzzzzzz{zzzyyxzz{z{z{zzzyzyyyyzyzzz{zzzzzzyzyyyyzzz{zzzzzyyyyyzyzzzz{zz{zxyyzyzyyzzyzzzzzzzyzyzyzyzzzz{{yyyyyzxzyzyyzzzyzyyyyyxyzzzzyzzyzxyxyzyyzzyzyzzzyxzxyyyzzzyzzz{zzzzyxzyyz{zyzzzyzz{yxzyyyzzzzzz{yyzzyyyxyzzz{{y|{zyzzyyyyzxyy{yzzzzyzzzyyz{zyz{z{yzyzyyzz|{yy{{zzyzzyyzzyzzzzz{zyzzyyyyzzz{zz{|{zz{zyyyyz{zzz{z{yyyzyzy{z{{zz{{|zzyzzyzzzzzyz{{zz{yyyzyx{y{z{{{{zzzyzz{{zzyz{{{{zyzzzzyy{z{{{{{{{zzz{z{z|z{{{z{{zzzyyzzz{{z{{{z{{zzz{zzz{{{{{{{z{zzzyzy{{z{{{{||{zzzzzyz{zyzz{{{zzzzz{yz{zz{|{z{zzzzzzzz{|zz{{z{zzzyzyzyz{{{{{zzyyzzzzyyz{{z|zyyyyyz{zzyzz{yzzzzzzxzxyyzzyzzz{z{zzzzzzyy{zzzzz{{yzzy{yyzzzzzzy{{{yyxyxzyzzzzzzzzyzzyxyyxyzzzyz{z{yzyyzzxz{zyzzyzyyyyyyyzxz{zzz{zyzyy{zzyzzzzzyzzzyyyzyyyzyz{zyzzz{yyyzyyzzyzyz{|yyyyyyzzzzyzzzzzzzyyyzyzyzzzz{{|zyzyzyzyzzzyyzzzzzyy{yzz{zzzzy{{yyzzyzy{yyyz{zz{yzzzyyyzzzzyzz{z{z{zzyyzz{z{zzyzzz{zyzzyz{{{zz{{zzzzzzzzzzzzz{z{zzyy{z{y{z{{{zzzzz{zzyzz{{{{zzz|zzzzz{{z{{{z{{{zzyzzzzzzz{|{z{{{zzzzzzzz{{{{z||z{z|zyzz{z{{|z{{{{yy|{{{z{{zz{{{|{zz{zzzz{zz{z||{{{zzyz{zzz{{{{{{zzzyzzzzz{z{{z{|zyz{z{zyz{{{{zz{zzzyy{yyz{{zzzzzyzzyxyzyzz{yzy{zyyyyxyyyy{{zz{z{z{yyyzyxzzzzzz{zzyzzzyzyyz{zzz{zzzyyyyyy{zzz{zz{yyyyzyzyzzzyz{{yzzyzyzyyy{zyzzzzzyyyz{zyzzzyzzzzzyyzzzyyzzyzyzzzzzzyyyz{z{zzzzzzyzyyxyzyz{{{zz{{zzyyyyyyzz{zzzz{yyzzyzzzzzzzzz{{yzyzyzyyyzyzz{{zzzzzzyyzzz{{{zz{zyzzyyyz{{zzyzzzyyyx{zyyzzzzzyyzzyzyzyzyz{zz{zzzyyzz{zyzzz|{{z{zzyzyzzy{zz{zzz{{||z{zzyy{zz{{|{zz{zyzzz{{{z|z{||{zzzzyzzz{zz{{||zz{zyz{{z{{{{z{{{zyzzzzzz{{z|{||{zyzy{yzz|{{{|{{{z{z{zz{z{z{{||{{yzzzz{z|zz|y{{{{{y{zzzz{{z{z{{{zzzy{yzz{z{{z{z{zyyzzyzyz{{{{z{zyz{yyyyz{z{zzzz{zzzyzyzyy{zzyzzzzyyyyyxyzzz{yy{zzyyzzxyxzz{zzz{zzyyxyyyzzzz{z{zzzyyyyyyy{zz{zzzzzyyyyz{yzzyyzz{zyyyyxyyyzzzzyzzzyyzzyyzzzyzzzz{zyzyyyzyzy{yyzyzzzyzyzyyzyzyz{zz{yyyyxzzyzzz{zz{yzyzyyyyyyzzyyyz{zzyzyzyyzzzzzzzzzyzzyzyzyzzyzz{{zzyyyzzyzzzzzzz{zyzzzyzy{yz{zzz{yz{zyyyyzy{{{{{zzyzy{yzzyzz{zzz{zyzzyyyyzzz{z{z{{zy{yyyzzzzzzy{zzzzyzzyy{{{|zzzyyzzz{zzzzzzz{{z{zzy{zy{zz{z{{z{z|zyzzz{z{{{z|{zzzzzzzzzzz{{{z|z{z{z{yzzz{{z{zz|{zzz{zyzzz{z{{zzzz{zzzyz{{{{{zz{|z{zz{z{zzz{zz{{zzzzz|{yzzzzy{{{zzz{{z{zzz{{{z{z{zzzzzyxz{z{{zzz{zyxzyyzyy{{zz{zzyzyzzyzyzzzz{{z{{yzyyzyzzzzz{z{z{zyzzzyyz{{zyzz{zy{xxyyxyz{zzzzyzyyyzzzyzxyzzzzzyyzyzxyzz{zyz{zzyzzzzyyyy{z{z{yzzyyz{yzyz{yyy{zzzxzyyyzzzyyzz{zzzyyyyzyyz{zz{zzzzyzzyyyyzzzyzz{z{yyzyyzyyzyyz{{zyyzzyzyy{{{{yz{z{zzyzzyyzzyzzz{{zzxyyzzzz{z{z{{{zyzzzzyz{zzz{{z{z{zyzyyzz{z{z{{zzzzyyzzyzzz{zy|zzzzzyyzzzz{z{z{zzz{zz{z{y{{z{{z{zzz{zzzzz{y{{{|z{{zz{z{z{{{{{{|{zzzzz{yz{z{{{z{{yz{yz{y{{{{{|{{|{zzzz{zzz{z{z{z{{zzzzzzz{{{zz{|{zzzzzzzz{z{{{{{|zzz{z{zz{zz{{z{zzzzzzzz{z{|{z|{{zz{zyzzzz{{{{z{zzzzzzz{zzzzz{zz{yyyyyxzyzyzyz{z{xzzzzyyxzz{zzz{{{yzyyyzzzzzz{z{zzzyzzyxyzzzzzzzzzzzyyz{xzzzzyyz{zyzxzyyyzzzxzzzzzzzxxyzyzzzyzyyzyy{zyzyyzzzzzzzzyzzyyyxyzzy{zyyzzyyzyzyyyy{zz{z{zzzzzzyyz{yyy{{{zzyzyzyyy{zzyzzz{z{yzzzyzzyzzzyzzyyzxzzyz{zz{{{{zyyyyzzyzzz{z{{zyyzyyyzzzyzyzzzzyz{zyzyzyzz{z{{zzzzzzy{yzzzzzz{{zzzzyzzzzz{z{{{zzz{yzzy{{{zz{{{{zzyzzzyzzyz{{{z{zzzzz{z{z||{z{{{zzy{zzzz{|{{{z{{zzyyzzyz{z{z|||zzyzyzz{zz{z{{z{{z{zzz{y{{{z{z{|||{y{z{{z{{{{z{{{zyyzzzy{z{{{{zz{{{z{{zzz{z{{z{{{zz{yzzzzz{zz{{{{{yzzzzzzzzz|z{{{{zzzyzzzzzz{{yy{yyyyyzyyyyzyzzz{zzzyxyyyyyzzy{zzzyyzzyyzzyzyzz{zzyzyzzxxyzzzzzzzyyzxyyyyyzzzyzy{zzzyzyzyzzzyzz{yzzxyzxyxzzzzxzyyyyyyxyy{yzzzzzyzyzyyyyyyy{yzzz{yzyyyxyxyyzzzzyyyyyzyyyyyyyyyz{zyzxyzxxzyyzzyzzzzzyyxyxyyyzyyyz{zzzyyyyxyz{zzzzzzzyyzyzyz{zyy{z{z{zzyyyyy{zzyzzzzzyzyzyyzz|{zzzz{{yzyyyzzzzzyyyzzzy{yyzyyz{z{yz|zzyyzzzyyzzzz{{z{z{zzy{yzxzzzzzzzzyzzzyzzzzyzz{{|zzz{zz|zzzzz{{{z{zyyzy{zzy{zz{|zz{{yzzz{{z{{{{{{{zzzzyzy{{z{{{{zzzy|zzyz{zz{z{zzzyyzyzz{{zzz{{z{{{yyzzzyzzz{zzzzyzzzyzzyzy{z{{z{yyzzyzz{z{{zzzyzyyyzzyyyyy{zy{zyyzyyzxzyyzzzy{zyzx{yyyyzyzzzyzzzzzyyyzyyzyyzzy{yzy{zxyyyzzzzzyzzzzzyxxy{yyzyzyy{zzyzxyyyxzyzyzzyzyyzxxxxyzzzzzzzxzyy{yyyzzzzyzzzxyyzxxzyzzyzyzyz{zyyyyyzyzzyyzzzyyyyxyyxyzzyzy{{zyzyzyzyyzzzzyyyzyyzyxyyyzxz{{zzyxzzyxyxzzzyzz{{zyzyzyyzzzz{zzz{zyyyyxzyzzzzy{zzzzzzyzz{zzyz{zzzzyzzyyzyz{z{z{zzzxzyzyyyzz{{{zzzzzzzzyzzzzzzzzzzy{yzyzy{zz{zz{{{zzzzy{zy{{z{zzzzzyyzzyzz{zzz{{{{zyyyzzzz{{{zz{{{zzzzyzzzz{zzz{{z{zzzz{yyz{{{{{{{zyzzzyzyzz{{{{{{{zzyz{{zzzz{{zzzz{zzzzzzy{zz{z{{{zyyyzzz{{zzz{{zzzzzyyzz{zz{{{z|yzzzzyzyzy{{yzyzyzyxyyzyyyzzzzzzzzxyyyyxyyzyzyzzzyyyyzyyzz{yzzzzyyyyyzyzzzzyyzzz{yyyyzxyzzyyyzz{yzyyxyyyzzzzyzzyyzyzyzyyzzzyyy{yyyyzzzyy{yyzzzzzxzyyzyzyyyzzzzzyyzyyyyxyzzzzzzzzzyyzyyyyzyz{zz{zyyyyyyzyyyzzyz{zyyzxyzzyyzzzy{y{zzzzxzyyzzzzyzzzzyyyyyyyzzzzzz{{yzzyy{yy{{zzz{{zyzzyyyzyzzzzyzz{{yyxzzzzzz{zyzyyzzzyzyzyyyzyzz{zzzzyyyzyy{{zz{y{zyzzyzzy{{z{{{{zzyzyzzzyz{{|z{{{{yy{zzyzy|zz{{z{{zzyzzzz{zz{z{z{y{zyy{{zzzz{{{{z{yzzy{zy{{{{z|z{{yzyyyz{zzzz{|{{{yzzzyyzz{{z{z{{z{yzzyzzzzzz{z{|{z{zzyzyzz{zzz{z{{yyzzzz{{{|zy{zyyzzxyyxyz{zyzyyyy{yyyyyy{y{yzyyyxzyzyzyyzzyzzz{zzyyzyyzzyyzzzzzzxzzy{zzzy{zzz{zzxzyyxyxzz{zzzz{zzyxzyzzzzz{y{zyzzzyyxyyxy{y{zzyzzyyyxzyzyyzyz{zzyzzzyyyyzzzyyzzzyyyyyyyzy{{zzzzyzyxyyyyzzzzzzzzzzxzzyyxzyyyzzzzzzyyyzyzzzyzz{zzzzyzyzzx{zz{z{{{yyyyyyyxzzzyzzzzzzyzyxzyzzyzzy{{zyyzzzyyz{zzzzzzzyzzzzzzy{yzz{zzzyzyzzzz{{zzz{{z{zzzyyzzzzzzyzz{zzzy{{zz{{{{{{{{yy{yz{zzzz{|zz{{zyzzzzzyz{{{zzz{zzzyzzzy{{z{{{|{zyyy{{z{z|{z{{{zzzzzz{zzz{{{z{{yzyz{zyyz{z{{{{z{{zzzzzzzzz{{{{||{z{zzzyz{{z|{{{|{zzyzyzy{{zz{z{{zz{zzzyzzz{{z{{{{yzyzyyyzy{zyzzzzyyyyyzzz{zzzzzzyzyyyxyzyzzyzzzzzzzyyzzyzzz{{z{zzyzyzyyyzzzzyzyzyyyyxyzyzzyyyzzzyzyyyxyyz{zzyzzzzzyxyzyy{{z{yzzzzyxyyyzzzzzzyzzyxyyyyyxyyzz{zzzzzzxyyxyzyzz{yzzzyyzyyyyyzzz{z{zzyyzyyzxyyzzyyyzzyyzyyy{yzzyzzyy{zzzzzzyy{{{{{zz{zzyzzyyzzzzyy{zz{yyzzzyz{zzz{|z{yyzyyyyyzyzyyzz{yzzyzyyzzzz{zz{z{yzyzzzzz{z{zz|{zz{{zyzz{zzyyzzzzyyzyyyzz{{{|{{zyzzyzzzzzzy{z{{{zzzzyyyy{{{{{{z{zzzzz{zyz{z{{z{zzzzzz{z{z{{{{|{{|{zzyzz{z|{z{{{{{zzz{z{z{zz{{{{z{yzzy{z{z{{zzz|{{zzzzzy{y{z{z{{{|{zzz{zyz{z{{{{zzzzzyzzzz{zz{xz{yyzyyyyzz{z{zzzzyyyyzyzzyzzzyz{{zzzyzyyzyzzzz{{{zyyxyyxyzzy{zzzz{zzzzyyyyzzzyzzzyyzyxzyy{zzyz{zzyxzyzyyxzyzzzz{zyyzyyzyyzzzzyzzzzyzyyyyyyy{zzz{{zyyyyxzyyz{{yzzzzyyzyyzzyzz{{zz{{yyyyyyxzzzyzy{yzyyyzyyyy{zyzzyzzzyxyyzyyzzzzzzzyzyyzzyzzyzzzzz{zyzzyyzyyzzz{zz{zz{zzzzzzzz{zz{zzzyzz{yzz{z{z{{{zyzzzy{yzzzz{|{yzzzzyzyzzzzzz{{{zzyyzzzyzz{zz{zzzzzyzzzzzzzz{|{zyzzyy{{yz{{{{z{{zyzzyzzx{zzz{z{{zzy{zzzzz{z{{{{z{zz{zzzzz{z{{{|z{zzyzz{zz{{z{{y{{zzzzy{z{{z{{{{{{yz{zzzz{z{zz{|||zz{yz{zzz{z{{{|{zyyzzzzz{z{zz|{{zzzyzzz{{z{zz{z{y{yyxyzzz{zzzzyzyyzyyyyzzzzzzzzzz{zzyyzzyzz{y{{yyyzzyyyzzz{yz{z{zzyzyzxzzzzzzz{yzxyyxzyzzyyy{zyyyzyzzyyz{zyyzz{zyyyyyxyzz{yyy{yzyxzyzyzzyzzzzzzyxzyzyxyzzzyzzyzzyyyyzyzzz{yzzzzzyxzxyyyyzyzzz{|yyzyzyyxzyzz{yyyyyyyzzyyyzzzzz{zxyzzyzyyzzz{z{zzzyzyyyyzz{zzyzzzzzzzyyyzzzzzzz{{yyyzzxzzzzzyz{zzzzyyzyzyzz{{y{zzzyyzyyzyz{{{z{zzzzyz{zyzzz{zz{z{{yzzy{zzzz|z{{{zyzzy{zyyzy{{{{||{yyzzzyyz{{{{{zzzzzzzz{z{{{{z{{zzzzzzzy{{z{{{{{|{zzz{zz{{{{{{{|{{zzzyzz{{{{z{{z{{yzzzzzzz{z{{zz{{{zz{{z{{zz{y{{{zz{zyzzyz{{yy{{|zzy{zzyyyz{zz{{z{zyzyxzzzzz{{zzzzyyzyyzyyzzyzzzzyyyzzxxzyzzz{zz{yzyyyyyzzyyyz{z{zyzyzyzyyzzzy|zzzyzyxyyxzz{zzzz{yyyyyyyyz{yzzzzzzyzyyyzyzz{zz{z{zzxyyyyyzyzzzyzyxxyyzyyyzzzzzzzzyzxyyzxyyyzyzzy{zzzyyyyyz{y{zzzzyyzzyxyyzzxyzz{yzzyzzyyyzzzzzyzzyzzzzzzzyzz{zz{zzzzzzyzzzz{{zz{zzyzzzxyzzzy{yzzyzyyzyzz{zzzzzz{{{zz{yxzy{{{{z{zzzyzzyzyzyyzy{zz{zzyzy{{zyzzz{{|y{yzzyyzzzz{{{z{zzyzzyzz{z{{{{z{{zzyzzzzyz{{{z{{{zzzzzzzy{{{z{z{{zzyzzz{y{z{{zzz{{zz{zz{{z{z{{|z{{y{{{zzzzzz{{|{{{{zyzzzz{{{z{z{|{zyzzyzy{{{z|z{zzzyzyz{zzz{z{{z{{yzyzz{y{z|{zzz{zzzzzzzzzyzzzy{zzzzzyyyzz{zyzzzzyzzyyyyz{zzzyz{|zzzzzzyx{yz{z{{zzy{z{yyyzyzzy{z{zy{yyyzyyzzzz{zzyzzyyyyxyzzyx{zzzyyxyzyzyzzyzzzzzyyyyzyzzzz{zzz{xyyyyyzyyzzz{z{zzyzyxzzyzzzzzyzzzzzzyyyzz{{zzz{{{zzyyyyzzzzyzzzyz{yzzyyyy{zzyzz{zx{yyzzyy{zzzzzyzyyzzyzyyzzyzz{{y{zzzzyyz{zzz{zzzzzyyzzzzz{z{{zzyzzzzyzyzzzyz{{z{yzzzyz{{zzz|z{{zyzzyyzyy{{zz{{zzzzyzzz{{|{{{{{{{zyzzzzz{{zz{{z|{zzyzyyz{{{{{{{z{yxzyzyz{z{{{{|z{z{zzz{zz{z{|{{{{zzzz|z{{{{{{{{|{{zzzzzzz{z{{{{z{zzz{zz{{{z{z{{{|zzzz{zz{z{}z{{|{yyzzz{{{{z{{{{zzzz{zzzzzzz{zz{z{zzyyz{yzzzzyzzyzyyyyyyyzzzzzzzzyyzwyzyxyzzzzz{z{yzyyzzyzyyy{z{{zxzyyyyzy{zzzyyzzyyyyzyyzyzzz{zzzyyyyyyyzzzyyzzyzyyyyzyyzyyyzzzzzzzyyyxyzzxzzzzzyyyyyzxyyzzz{{{{zyzyyyyyyzzzz{zyzy{zxzzxyzyyzz{zyzyzyyyyyyzyyzzyz{yzyyzyzzyyzzzzzzyyyzyyzzzyzz{{zzzzzyyzz{zyy{z{zyzyzyyzy{zzz{y{yz{yyyyyzz{{zzzzzyzzzxyyz{z{z{{zzxzzzyzzzzzzz{{z{yzzzyzz{{zzzzz{zzzzzyzyzzz{{{{{{yzzyyyzz{y{zz{{{zzzzzyzzzz{{{{{{zzyzyzy{|zzz{||zzz{z{zzz{||{{{z{yzzz{zzz|z|z{{z{zz{zzzzz{{z{{{{yzyy{zzyz{z{{{{{{{zz{zz{zzzzz{zzyzz{yyzz{{zz{z{z{{yyyyyyz{{{{z{z{{yzzzzyzy{z{zzzyyyyyxzzxzzz{yzzyyyyyyyyzzzzzz{zzyyyyyxyzy{{{zzzzyzzyyyzyz{zyy|zzzxxxyzy{zzyzzzyyyyyzzyyy{yzzzzyzyyyzyyyyzyzzzzzyyzyyyyyzyzyz{y{yxzyzxzyzzz{yzyyzyzyzzyzyyzzzzzzzyzzyyyxyzy{{yzyzzyyyzyyxzyz{zz{zzzyzyyyzz{y|z{zzyzzzzyyzzyzyz{zzzyzzyzyz{{{z{z{yzzzyzzx{zz{zz{{zyyyyyyzy{zzzzyzzzzzyyyyzzzzz{zzzzyzzyyyzzy{z{{{z{zyzxyzzzzzyz{{zzyzzyzy{zz{{{z{zzzzzz{z{zzz{{{{zzzzzz{zz{{zz{{{zzy{z{zzz|{zz{{{{{zzz{z{z{z{{{{{zzz{z{yzz|{{z{z|{z{{yzzz{{zzy{z{{yzzyzyzzzz{{{{|z{{z{zz{zzyyzzz{yzyy{zyyz{zz{|{{z{yzzzyzzzzyzzzzyzzyzyyzzz{{zzyyyyyyyyyyyzzzy{zz{xxyyyyyyz{yz{z|zyyyyzzyzzzzyzz{yyzyyyyyzz{zzz{zzyzyxyyxyyyzzzyzzyyyzyzyyzzzy{xzzyzzyzyyzyzyz{zzzyyyyyxyzzyyzzzzyyyzxyyyzzy{z{zzzxzxzzyzzy{zzzz{yzzyyyyyzzyzyzzzzyyyyxyxzyzyzzyzzyzyzyyyy{zz{y{zyzzyyyyyzz{yzzzyyyyzzyyzyzzzzy{zzyzyyyzyzyzzzzzzy{zyyyzzy{zzz{zzzyzz{yzyzz{yzzzzzzzzzyzy{zzz{{{{{zyyyzzzy{z{zzzzzzyyzzyzzz{|{z{{zyyzzzzz{{z|{|z|zzzyyzyz{{{z{|zz{yyy{zzy{y{{z{{|{zzzyzzzz{zzzzy{{{zzzz{{{{{{{{{{z{y{zyyzzzz{{{{zzzzzzyy{yzzzz{{|zzzzzzyz{{{{z{z{{{{yzyzyzzzz{{z{yzyyzzzzz|{{{zzzzyzyzzzyyyzz{|yyxzxyyyyyxzzyzy{zyzyyyyyzz{zzy{{{zzyxyyzxy{yzzy{yyyyzyyyyzz{yzzz{yzyyyyyyzyzzzzzzyzyyyyyxx{yzy{yyzzyyzyyyyyzyyzzyyzzzyzyzyzyzyzz{zyzxywyyzzzyyzzyyyyyyyxyzyzzzyzzzxyzyyyxyyyzzz{zzyzxzzywyz{yyzzzzyzxzyzyyzyyyzzyyzzyyyzyzz{zzz{zzzyzyyzzyzzyzzz{zyyzyzzxzyzzyzyzzyyyzyzy{yzzzzzzyyzyyzzyyzz{zz{zzyy{yyyzyzz{zz{zzyzzzyy{yz{{{z{z{zzyzzyz{z{{z{{zzyyzzzzz{z{{{y{{yyyyyzyyz{zz{zzzzzyzzyzz{z{z{{{zzzzzz{{zy{zz{zz{{yzyzzz{{{|{z{{zzzzzz{zzz{z{z{zz|yzzzyyzzz|z{{{}zzzzzzzzz{z{{z{{yzyyz{zzz{z{{{{zzyzzyyyzy{{z{zzzyyzzyyzxzyzyy{y{yzyyy{yyz{zzyzz{zzyzzyyyzz|zz{zzzzyzyyyyyz{zzzzzyzzyyxyzz{zzzzz{zzzyxzzzyyz{zyzzyzzyxyyzyzxz{yzyz{zyzyyyyz{yyy{zyz{zyyyyzzxzzzzzzxzyyyyyy{zz{z{{yyyyyxyzzy|zzz{yyzxyxyzyyzzz{{z{yyzyzyzyyzzzyzz{yzyyyyyyz{zzz{{z{yyzxyyyzz{zz{{yzyzyyzyyz{{zy{zzyyyzzxzx{zyzz{z{yyyzzyyzz{{{zz{zyyzzyyyyyz{zzzzzzzz{yzyy{z{zzzzzzzyzzzyyz{z{z{zz{zyyyyzzzz{{z{zzyzzzzyzz{zzzz{{|zyzyyyyyz{{{{{{{{zyzzzz{{{z{{{{{zz{zz{{yz{z{|{{z|zyzz{z{zzz{{z|{{y{zyzzz{z{{z{|z{y{yyzzzz{z{{{|{{yyz{yz{{{{{{{{{z{zzzyz{{{zz{{zz{zyyzzzyzz{zzz{{{z{zyzyyzzzz{yzzyzzyyyyyyyzyz{z{zzzyyyzxzyzzyzz{{zzyyzyyzzz{{{{{zyzyyzyzzzzz{zzz{yyzyyzyyyzy{zzzyyyxyyzzyzyz{zzzzyzyzzxyzzzzzz{yzy{zx{yzz{z{y{zzyzyyzyyyzzzz{{{zzyzzxyzzyz{z{zyzzyzzxzyzzzzzz{zzzyzzyyzyz{yzzzzzzyzzzyyyzzzzy{zzzxyyyyzzzzzyz{{zzzzzzyzz{{z{zzzzyyzzyyyzz{z{z{yzzyzyyzzzz{zzz{|{zyzzzyzyz{{{{{zzzz{yzzyy{{|zz{zy{yzzzyyyzz{|z{{{{zzzzzz{{|{|{{{zyzzyzzzyzz{z{{z{zzy{zzyz{{z{{{{z{zz{zyzz{|z{{{|{{zz{zz{zz{{{{|z{|yzzzz{yz|z|{{|{{zz{zzz{{{z{z{z{zz{zzz{{z{{{|{{{{zzzzzzz{z{{{{{{{zyzzzzz{{{{z{{{{zzzzzzyz{{{{{zzzyzyzyzzz{{zzzyyy{xyxyyyyzzyzzzzzyzyyyxxzzzzzzz{{yyyyyyyzyzz{{z{zz{yyzyyzzzyyzzzzyyyxyxxyzzzyyy{yzyyzxzyzyzzzz{zyxyzzzyyx{zyyyz{xxzyyyyzyyyzz{zzxyyzxzyyyyzzyzzzzyyyxyxyyzyyyzzzyz{yxzyzzzy{yyzzzyzyzyyyzzzyzz{{zyyyyxzyzyyzy{zzyxzyyxyyz{zzzz{zzyyzzyzxzzyzzzzzzzzzyyzzzzzzzzz{zzzyyyyyy{zzzy{{{yzyxyyzzzyy{{z{yyzzzzzyzz{yzz{yzzzyzzyzzzz{zy{{{zzyzzzzzzy|zz{{zzyzzyzzz{yy{z{{{zzz{yyyz{{{{|{zzyzzz{{z{zz{zz{zz{|yzz{yy{zz{{{{{zyzyzyzz{z{z{{z{zzzyzzz{{|{|{{yzzz{yyzzz{zz{z{|{{zzzzzzz{zzz{{|{{yyyzyzzzzz{z{{{zzzyyzyzz{zzzz{zzxzzyyzy{zzz{yyzyzzyyyyzzzyzyyzyzyyzyyyyyzzyzzzzyxxyxyxyzzzzzzzyxzzzyzyyzzzyz{zzzzy{yyyyzzy{zyzzzyzzyzxzz{yyz{zzyyyzyyyyyzyzz{yzzyyyyyzzzyzyzz{yyzyzyzzzyzzzzzyzyyyxyyzyyzzyyzzzyzzyyyzzzyzzyz{yyyzzyzyyzzxyzz{yzyyyyxyyzyzyz{zyyyyzzzzzyzyz{{zyyzzzyzxyyzyzz{zyzzzzyzzzzzzy{zzyzzxyy{yz{zz{zz{zyzzyyzzy|zzz{zzzz{zzyyyy{zzz{{zzzyzzzyzz{{zzzzzzyzzzyyzyz{{z{||y{yyzy{z{{{{{{{{z{{z{zzzz{|zy{zzzzzyz{{zz{{{zz{{{zzy{zzzy{{{{{|{zzz{z{{zy|{{{{|z{zzzzzzz{zyz{{{{zz{zzyzyz{zz{{{|{zyzzyyz{{{z|||{z{zyzyzz{z{z{{{{zz{zzzzyz{z{{z{{zyyz{yzyz{{z{z{zyxxzyzzyzzyz{z{zzzzxyyzyzzzzzzzzzzzzzzyyzz{zzz{yzyzzzyyzy|yyyy{{zyyzyyzxzzzy{{{{yxyyyyzyyyzzzzzyyyzzyxzzzx{yzzzyyzyyyzzyyyyzzzzyzzxyyyzyyzz{z{{zzyzyyyxzyzzzyyzzyyzyxyyyyzzyyzzzyyyzzyyxyzyyzzzzyyzyyzyyzzzzyz{zzyyzzxyyzzyzzzzyzyyyyzzzy{zyz{zzyzyzyyzzzyzyyzz{zyyzzyyz{zz{{yzzzyyzyyzyzz{z{{{z{zzzzyyyz{{zz{{yzzyyyzyyzzzz{{zzzyyzyzzz{zz{zzz{zyzyzzz{{{z{z{{{z{yy{zyy|yz{zz{{zyzzzy{zz{{zzz{z{y{zzzzzy{{{{zz|{yy{zzz{z{{|{z{{{yz{yzz{z{{{{{{{zyzyyz{y{{{{{zz{{{y{zzzz{z{{{|{{{zzyzyyzzzzzzzzzzzy{zzyyz{{zz{zzyzzy{yzyyy{zzyyyyyyyyyyxzzyzyz{{zzyyyyyxyzzzyz{zy{xyzyxyzzyz{{zzyyzzyxyyzyy{zzz{{yzyyzyyyzz{y{yzzzzxzzyyyzyyzz{zyyzyyyxyzyzyyzz{zyyyyyyyyyzzyzyzyyyzyxyyyzyyzzzzzyyzyyyyyyyyz{zzyxzyyyyyxyzyyz{zzzzzyyzyzzyyzyzzyyyyyyyyzzzzzzzzzyzyzyyxyzzzyz{yyyzzyzyyyzzzyyzzyyzyyyzz{yzzz{{zyy{yyyyyzzzyzyzzzxzzyyzy{{zzzyzzzzzyyyyyzzz{zz{zzzzzzyyyzzzz{zz{zzzzzzyyzzz{{{{{yyyzyzz{zzz|{z{{zyzzzzzzzz{zzz{{zyzzzzzzz{z|{{|zyzz{{z{zz{{z{{{{zy{xzzzy{|{{z{|{zz{{yy{z{zz{z{{zzzz{y{zzzzyz{|{zzzzz{zzz{zz{{z{{{{zzz{yyzzzz{z{{{zzzy{zzyz{zyzzzzyzyyzyyy{zyz|xyxxyyyzzyzyzyz{zz{yzzyy{yzzzzzzz{zyyyzyzzzzzz{zzzzyzyzyzyxyzyzyzzzyzyzyzzzzzzzzyzyxzyyzyxyzyyy{zzyyyyzyyyyz{zyyzyzzyyyyzzyyyyyyyzyyyyzyyyzzyzzy{zzzyzyyyyzyzyzz{zyyzzyyzzzz{z{z{zyyyyzyyyy{zyzz{zzzzyyyyxzzzz{zyyxzyyzzyyzzyzz{zzzyzz{yyzyzz{yz{{zyzzyyzzyzzyzzz{zzyyyyyyzzzzzzzxzz{zzyzyzz{yz{zzy{zyzzzzzz{zzzzyyzzzzyyzzzzzz{{zzzzyyzzzzz{z{{zzzy{zzy{y{{{{{{z|zyzzzzzz{{{{zz{zzzy{zyz{{{{{{{{zyyz{zzzzz{z{{{|{{zy{z{zzz{{z{|{{zz{zzyzz{|zzy|zz{yzzzzyzyz{z{z|zzyzzzzyz{{{z{{{z{zzz{yzzzyzz{z|{zyzzzzzzz{z{zy|{zyzy{xzxzzzzzyzzyyyzxxzyy{zyyzz{yzyzyyyy{z{yyzz{yyyyzyxxzzyy{yzz{yyyyzyyz{z{yzzzyyyyxyyyzzz{zx{zyyyyyyyyzyyyyz{zyyyzyyyyyz{yxzz{yyxyyyzyzyyzyzyyyyyzxyyyyzyy{yz{yxzyxyxzzzzzz{zzzzzyxyyyyzyzyzy{zyyyzyyyyzyyyzzzyzyyxyyyyzyzz{zzzzyyyzzyyzzzzzzzzyyyyyzxyzzzz{z{yyyyzzzyzzzyzz{zyyzzyzxyyz{zzz{{yzzzzxzzzz{{{zz{zzyzxzxzzy{zzz{zzzyzyyyyzz{yzz{zzyzzzzyzzz{{{zz{yzyzzzzyzzzzzz{{zwzzzzyyz{z{zz|z{yzzzzzzzz{z{{{zzzzzzz{z{{zz{{{{zy{yyzz{{{zzz{{{{zzzzyzz{{{zzz{{zzzz{yzzzzzzzz{{|z{{zzzy{zz{{z{{yzyyzzyzzzzzz|{zzzzyzyyyz{{{{zyzy{zyyyzyzz{z{{zzzyxxywyyyyzzzyyzyyyyyyxyyzyyzz{zzyyyyyyyzz{yzzzzzxyyyzyyzzzzzzyzyyyyyyyxzzyzyyyzyyyxyxyyyzyyyzzzzzyyyyyyzzyzyz{zzyyzyxzzzyyyzzz{zyyyzyzyyzzzyyzyyzxyxzyzyxyyzzzzyyyyyzyxyyzzzyzzzyyyxxyxxzzzyzzyyzxyyzyyyzzzyz{{yyzyyzyyyyyzyzzzzyyyyyyyzyzyzz{{zxzzyyzyzyzzz{zzyyzzxyyzzyzzyz{zzzyyzyz{yzz{zzyzzyzzzzxyz{zzyzzzzyyzzyxyx{{yzz{zyzyzyyzzzz{z{z{zyzzzzzzzy{zz{{z{zyzzy{yx{zzzzzzzzyyzzzyzz|{z{{{zzzyyzzz{{{zz{{z}zy{zzzyzz|zzz{|zzz{zyzzzz{z{z{{{{zyyzzyzz{zz{z{{{zyyzzyz{{z{{{z{{zyzzzzzzzzz{zzzzzxzz{yzzz{{yzzzz{zzyyyzzzzzz{yzyyxyyyyyyzy{yzyzyzyzzyyyyzzz{z{zzyxyyyyyz{{yzzz{yzyxxyyyyzyyzzzy{yyxxxyxzzyzyzyzyyyyyyzwyzyyxzzzyyzyyxyyyzzyy{yzzzzyyzzyyyyzyyyzyxyyzyyyzyzzzzzyxzzyxzyyyyzyzz{zzyzyyyyyzzyzyzzzyyyzxzzxyzyzzzyxyzxyyyyyyzyzzzzzzyzyyyxyzyz{zz{yyyyyyyyyy{zyzzz{zyyyyyyyy{yz{{z{zyzyyyyzzzzzzzzyzyyywyzyyzzyzzyzzyzyzzzyz{zzzzzzzyyzyzxzyzzy{zyyyzzzzyyzz{zzyzzzzzyyyyzz{{{zz{{zzz{yyzyzz{z{{{{z{yzzzzyyzz{zz{{{zz{zz{zzz{{z{{{{zzzy{zzzy{{{zzzz{y{yzzzzzzz{{{{{zyzzzzzz{{z{zz|{z{zzzzyx{z{z{z{{zzyyzzzzzzzy{z{{{{zyyzzyzzzzzzz{zyyzzzyyyz{zz{zzyyyy{yyxyzyzzzzzzyyyzyyzzzzzzz{{yzyzzxzxzzzzzzzzzyyyyyyxzyzzyyzzzzzyxyxxzyzz{zzzzyzyyzyyzzyyy{zzzyxxyxyy{yyyzzzzxyyyyzzzyzyzyzz{xyywxxyyzzyzz{zzyyyyyyyzz{zzzzzzyxyyyzyyzzyzzzzzzzyyyzyyyzzyyyzyz{yyyyyzyzzyzyz{zzyzyzzyy{zzyyz{yyyyzyyyyzyz{zzyyyzyzyyzzzzzyyz{yxyxyzyzzzzzzzz{zyzyzyzzz{zzz{{z{zyzzyzyzzz{zy{zzyyzzyzyzyyzy{{yzyyyzzz{zzz{z{{{yzyz{zzy{{z{zz|{zzzz{yyy{{z{{z{yzy{zzzyy{{zzz{|z{zyyzzyzz{{z{{{z{{zzyyyzyz{|{z{{zzz{zzzyzz{{z{yzzzyyzyz{zzzz{{|{{zyzzyyy{{zzzz|{yzyzz{{yzzz{z{{{zzzyxyyyzzzzzz{{zzzyxyzyzzzzzzzyyyzyyzyxzyzzzzyzyyzzyyyyzzyzy{zz{zyyzyzzzyzyzzzzyyyyzyyy{zzzyyzzzyzyyyyyzzzzzzz{zyzyzyxyyzyyyzzyzzyzyzyyxzzzy{zyyzyyyzyyy{zzzyzzyyyyyzyyyyzyyzzzzxyzyyyyyyzyz{zzyyzzxyzyyyzyzzzzyyyyzxxyyyzyyzy{zyyyyyyyyyyzzzyyzxyzyzyyzz{zzzz{zyzzyxyyzzzzzzzzyyzzxzyzzyyzz{zzzyzyyyyz{{z{zzzzyy{yyyyyxz{{zzz{zyyyzzyyzzzz{z{y{yyzyyxyyzzy{z{zzzzyzyzzzzz{{z|zy{zyzyzy{|z{yz{zyzzzyyyzzz{z{{{zzyyyzzzy{{zzzz{{zyzzyzy{y{zzz{z{{zzzy{yzz{zz{{{{zyyzzzyz{{z{zzz{{zyzzzyz{|y{z{{{{zzzzzyz|{{{{{{|zzzyzyyyz{zz{{|{zzzyxyyyz|z{zzzyyyyyzyyxyz{z{zzzyyxyyzyyzyzyzz{zyyzzzxyzzzzyz{{zzyyyzyyyzzyzzyz{yyzzzyyxyy{zyz{zzyyyxxyxzzyyzzz{yxyyzyyyyzzzy{zyyy{xzyyxyzzyzz{zzzzzyxzxyzzzzz{{yyyzyyxyzyyyzzzzyzxyyyyzyyyyzz|zzyzzyyxyyzzzzzzzzyyyyyyyyzzzyzzzyzyyyyxyyzzyzzzyyyyyzyzzzyzzzz{{zzzyzyyyz{yyzzz{zzyyyxyzzzzzzz{zyzyzyyyzyz{{zz{{yyyyzyzyzz{zz{{zyyyzyyzz{zzy{yz{zzyzyzyzzz{zz{zzzzyyzyyzzz{zz|z{yy{zzy{z{z{{{{{{yyy{yyzy{z{{z{{zzz{zzzzz{{{{{|zz{zyzyzzzzz{zz{|z{yy{yzzz{zz{z{{{{zzzyyzy{zzzy{{z{yzzz{zzzzzz{z{{zzyzzzzz{zzz{z{{z{{yyyzzz{zzz{{zzzyyzyyx{zz{zy{yyyzyyyzyzyzz{zyzyyyyyyyzzzzzzz{{zyyyyyzxzy{zyzzzzyzzyyyzzyzyzzy|yyyzyzxzzz{zyz{{zzyyyzyyyyzzy{zzzyyzyyzyyzyzyzzyzyzyzyyyzz{yyzzzzyzzyyyyyzxzzyzzyyyyyyyxzzzzzzzyyxyyyyxxyyzzzzzyzzyyyzyyyzyzzxyzzxyxzyyyyzzyzzzyyyzyyyxyyzyy{yzzzzyyyzyyzz{zzzzzyyzyzyzzzzyyy{zzzyzyzyyyzyzzzzy{yzzyyyyyzzyzzz{zzzzyzyzzy{zz{zz{{yyzyyyz{{zzz{zzzyzzzzyzzzzz{zzzzyzzzyzzzz{{zz{zyzzzz{zzyzzzz{{{yzzzzyyyzzz{zz{{zzzyyyzzzzzzzz{{zz{zy{{zy{{z{{z|{zyzyyzzz|{{y{{zzyyzzyyyzz{zz{zz{yz{zzy{z|zz|{{|{z{z{zzzzzz{zz{{z{zzzyzz{zzz{{zz{yzzzyzyz{{{zzzzyyyxyyzz{z{zz{yzyzyyyzxyyy{zzyzzzyyyxyxyzzzyz{{zzzzyzyzyz{zzzz|{{zyyzyzyzy{zzzz{zyzyyyyzyzzyzzzzyyyyyyyx{{zzyzz{yzyzyzyyyz{zyzyzzzyyyyxyzyyzzzzyzxyyyyzxyzy{{{{zyzyzyzyyz{{y{zzzyyyyxwxzxzzzzzz{yzyxyyyxyzy{zzz{zyyyyxyyyzyyz{zzxyyyyzyyyz{zzzzzzyxyzyyzzzzyz{{{zzzyyyyzzyyzzzzzzzzyyzyzzz{zzzz{{yyzzxyyyz{zzzzzzyyzyzyzzyzzzy{zyyyyzxzzyzzzz{zzyyyyzzyyzzzzz{{{zz{{yyzzzzz{z{{zyy{zzzzyz{{zzzzz{zzzzzzz{{z{{{{{zzzzz{{zz{{{{{zz{yzzz{{zz{z{{z{{zyzzz{y{{{zz{zzzzz{z{zzz{zz{{{{{z{y{{zyyzzz{z{{{zzyyzzzzzzzzzz{{yzz{yyzzzzyzz{{zzzzzyzzyzz{z{{zyyzyxyzyxxzzyyzy{zyxyyxxyzzzxzzzzzyzxzyyyzzz{zyzzzyzyxyyzzyzyzyzyyyyyyyxyzyyzyzyzyzyyyyyyyyzyyz|zzzzyxyyyzy{yyzzyyyyyyyyyyyzzzyyzyyyyyxzxyzzzzz{zzzzyyyxz{zzy{zzyyyzyyyyzy{z{zzzyzyzyxyzxyz{yyzy{yyyyyzxzzzyyzzz{yyzzyzyzzzzzzy{zyyzyzyyzz{zzz{zzzyzyyxzy{zzyy{zzzyyzyyzyzzyzzz{yzyzyzxyyy|zz{z{z{zzyyxyzz{{zzz{yzyxyzzyyz{zzzzz{zyzyzyzz{y{{zz{zzzzzzzyz{zzzz{{{zyzzzzyz{{{{zz{z{z{yzyyy{{{zz{|{yy{{z{zz{zz{{{y{{zzzyzzzzz{z{z{|{zz{zzzy{{{{{{z{zyzz{zzzyz{z|{z|{zy{{{z{{{z{{{zzyzyyzzzy{{zzz{{{z{y{yyyyz{{{zzzz{zzyzyzyzz{yyzzyyyxxxyzyyzzyyzyzyyyzyzyzzzzzz{zzzzyyyyyzyyyyzz{zyyyyxyyxzzz{zzzzzxzywyyxyyzzyzyzyyyyyyyyyzyyzyyzzzyyxyyxyzzyyzyzzxyxzyxyyy{zyzzzyyyyyyyxyyzzyzzyyxyyzzxy{zzyzyzyzyyyyyyyy{zzyz{{zyyxyyyyyzzyzyyyyzyyzxyyyzzyzz{zyyyyyzyxyzzzz{zzyyyyzxyxzzzzzzzz{zyxyzyy{zzyzzz{yyzyxyyyzzzzzz{zzzzyyxyzzzzzzzzzzzzxyyyzyzyzzz{zzyy{yzyz{zyzz{z{yzyyzzyyzzzy{{{zzzyyzzzz{{{zz{zzyzzyzyzzzz{zz{{z{yzzzyzzzz{z{{{{yzzyzz{yz{z{{{zz{yyzz{z{z{zzzz{|zzzzyzzz{zyzy{z{zzyzzzxzyz{z{{{z{zy{y{z{zzz{zz{zzyzzzzzyzzyzyz{z{zzyzzzyzzz{y{{zzz{yyxyyzz{y{zzzyxyyyyyzxzzyyzzzxyxyyxyyyzzz{{z{yxyyyyyyzzyzyyz{yxzzyxyxyz{zyzz{zyyyxzzxzz{zyzyzyzyyy{xyzzyzzzzyzzyyyyxyz{yyyyzyyxzxzxyyzzzzzzyzxzxxyzyyy{yyz{{yyyyyxzxyzzyxzyz{yyyzxyxxyzz{zyyzyzyxyyyyxyzyzzyzyyxxyyxzyzyz{zzzyyzyyzzyyzzzz{{z{yzyyxzyzzzzyzz{yyyyzyzyz{zz{zz{yyzzzyy{zzzzzzzzz{yyzyzx{z{zzzz{yyyyzyyzyzy{yz{{{yyzzzzyzzzzzzzzyyzz{yyz|zz{{zzzzz{yyzzzzzzzz{zz{zzzzzxyz{zz{y{{zzzzzyzzz{{z{|z{zyzzzzz{{{{z{{{z{yzyz{zz{{{z{{z{{{zzzyzy{{{{z{{zzyyzz{zz{z{zz{{{{zyzzzzzz{{{z|{zzzyyzzzyy{{|zz{{zyzzzzzzy{{{{{{zzyzyyyyy{yzzzzzzzyyxyzyyyzzyyzz{yxyyzyyyyzy{zzzzyzzxyyyyzzzyzz{zyyzzyzyyyz{zzz{zzyxyzyyx{yzzzzzzzyyyyzyyyzyzyyzzzxyyzyyyzzzyyzy{yzzyyyxyyzyyzzy{yxzyyzzyyzzzzyzyzxyzxyyyzzz{yzyzzyyyyzyzzzyzzz{{zyyyyxyyxyzyz{zyzzxyyyyyyzzzzzz{yyyzzyxyzyyy{zzzzyzyzxxxyzzy{{{{yyzyyyyyzzzyzz{{yzyyyyyyz|{yzz{{yzzzzyyyyz{zzz{zzzyzzyzyzz{yz{zzzyyz{zyyyzzyzzzzyzyy{yz{zzy{{zzzyzzyzzzzz{y{{z|zzyzzyzzyz|{{{{z{{zzzzzzy{|{{z{z{{zzyzzzzz{z{zz|z{yz{zzzzz{{zy{{{zzzyyyyyzzzyzz{{zyzzzzz|{{zy{zzzzzy{{zz{zzz{{z|{zyzzzyzz{zzz{z{{z{yzzy{yz{yz{zz{zzzyyyyzzzzzzzyzyyyxyyxy{{zyzz{zyzyzyyyyzzzzz|{zyyyzzyzyzzzzz{{zyyyzyyyyyzy{xyzyzzzyxyyyzyyzzzz{yyzzyyyzzzyzzyzzyyyxzyyyyzz{z{{yyyzyzzyzyzzzzzzzzyyxyyyyyzzzyzzzyxyyxyyzzy{yzzzzzyxyyyyzyzzzyz{{zzyyyyyyzzzyzzyzyxyyyyzyyzzyyzzzzyzyy{zyzyzzzy{zyzzyzyyyyz{yzyz{zxzzxzzyzzzzz{z{yyyzyzyyzzzyzzzzzyyzzyyyy{{zzzzzzyyyzyzzzzzzz{{{zyzzzzyxz{z{y{zzzzzy{zyzz{{{{z{|zzyzzyyzz{z{z{z{{yxzyyyy{zzz{{{z{yzzzzyzz{{z{z{{zz{y{zz{{{{{{{{z{zzzzzzzy|zzz{{zzzyzz{zzz{{{z{zzzzzzzzzzz|zzz{{|{zzzzzz{z{z{{{z{z{{zzzzz{{|{{z{{zyz{zzzzz{{zz{|{zzzzzyzyzz{yzzx{yxyyxxyyzzzzyzz{zzzyyyyyzzzyzz{{zyzzzyyz{zzyzzz{yyzyzyyzzzz{y{z{zyzyyxyyyzz{{zzzyyyyyyyzzzzyzz{zzyzyyyzyz{zzzzzzzzzxyyyyzyzzzyz{yxyyzyzyzzzzyy{yzyxzyyyzyyzzzzzzxyyxyyyzzzzzyzz{{zzzyyyyyzzxzzzzzyxyzyyzzzzyz{zzzzzzyyzzyzzzz{zzzyzyyyyyzzzyz{z{yzz{yzxyzzzzyzz{xzyyzxyyzz{zzzzzyzzzzzyy{{zzyzzz{zyzzzzy{zz{{z{z{y{z{{zyyz{{{{zzzzzy{zzzz{{{yz{zzzzzzzzzzzz{{{{z{yyzzxyzz{{yz{{zzzzzz{zyz{z|{{{{z{yzzz|{{{{zzz|{{zzyzzz{{|{{{{{{{z{zyyy{{{z{z{{zzzzzz{zy{{z|z{z{{zzzzyzz{{z{|z{|z{{y{zzzz{{zzz{z{zzyyzzzz{z{zzzzzzzxyyyy{y{zzzzzzyyyxzyxyyyzzzzzzzzxzyyyy{{zy{{zyyyyzzyyzzzyzzzzyzzyzyzyzzzzzzzzzzyyxyzyzzzzzzzzzzyzyyyyyzzy{zz{zyyyyyyyzzzyzzz{zzyyyxyyyzz{zyyzyyyyzzxzyzzyzzyyzzyzyyxzzz{zz{z{zyyyyyxyyzzzz{zzyyzyyyzzyzzyyz{zzyzyyxyyzzzyz{zzyy{zzyxyyyyz{{zzzzyyzzzzz{{zz{{{zyzzyyyyzzzzz|{zyyzzyzzy{yzzyzzzyyzzyzzzzzzyy{zzyyyzzyzzzz{zzz{{yyz{zy{zy{{{zzzzzzyzzzzzzz{{z{{{yyyzzz{y|{z{{{{{zzzz{{zyzzz{{zz{{xzzzyzz{z{zzz{|zyzzzzzz{{zz{|z{zyyzz{z{{|z{{{|z{{{zzyzz{{|zzz{z|zz{zzzzzz{{zz|{{zyzz{z{zz{z{{{zz{yzyzyz{{zz{{{{{{zyyzzyz{z{zz{{zzzzyzzzzyzy{{yzyyyyzxyxy{zyzzzzzyzyyyyyyzyyzzzzyyyyzzzyzzzzyzz|zyzyzzyyzy{zyy{zzyyyy{yxzyz{zzz{yzyyyzzxzzzyz{zzyyyyzyzyzyzyzyyz{zyyzzyzyyyzyyzzy{zzzzyyyy{zyzzyyyxyyyx{yz{zyzzzzyyyyyyyyz{zzy{yyzxyyyzyyzzyzzyzyzyyyy{yxxyyz{zzzyzyyyzyzzzzyzzyzzzyzzyzzz{y{{zzzyyzzyzyzyz{zzz{zzyzyzxyzyzzz|{zyyyyyyz{y{yzyzzz{zyzzyyyyz{zzz{zzzy{{y{z{{zzz{zz{zzzzyzyzz{z{z{zzyzyzy{z{z{{zz{{zz{zzzzz{z{{zz{z{z{zyzyzz{{z{{{{z{yzz{{yzzz{{{zzzyzzyyzzz{{{{{zzz{zz{zz{{{z{z|{zzzzzy{zz{zz{{z{{zzzy{zy{{{z{{{{{y{zzzzzzz{{zz{|{z{zyzyzyy{z{z{z{zyzyyyzzzz{{zzyzyyzxyxxy{zyzzzy{yzyzyyyzzzzyzzyyyyyyzzzzz{zyzz{zyyxzzyyyyz{{yyz{yyyxzyyx{zzzzyz|yyzxyyxyzzyzyzzyzzzyzyyzzyzyzzzz{yyxzyxyzzyzzzy{yyzyyxyyzyzyyyzyyyzzyzyzzyzzzzzzyy{yyxyyyzyzzzz{zzzyyyyxyyzzyzzz{zyxxyyyyyzzzzz{xyzzzyzyyyzzyzzzyyyzzzyzzyzzz{z{zyyzyzyzzzzzzzz{yyzzzzyy{y{{zzzzzzyyzyzyy{zz{zz{zzzz{yzyzyy{zz|zzzzzzyzyyzzz{z{yzzzzzzyzyz{|{z{zz{zzzzzyzyz{{z{zzyzzyyyy{z{zzyzzzzzy{zzzzz{{|{{{z{zzzz{zz{|zz{z|{yzyz{{zz{z{{{z|{xzzzzyz{zzz{z{zzyzzzzz{y{zzzz{{{zzyzzzz{{{{z{{{zzyyzyzyyzz{z|{yzyyzzy{zzzzzzz{zzzyyyyxyyzzz{yyzyzxyyxxyyz{yzyzzyxyyyzyxzzzz{{zzyzyyzyzy{zzyzyzzzxzyyyyzy{zzzyzzyyzxyyyxzzzzz{z{yzzzyyyxzz{y{zz{zyyyyyyy{zzzzzyyzyzyyyxyzzzzyzzzyxyyzzzyyzyzy{{yxyyywyxzzyzyzyzzzyzyyyxzyzzzy{yzyyyyyyzyyzyzzzzzyzyyxxyzyyyzz{{yyzzxzyyzzyzyzz{zzyyyyzzyzzzz{z{zxzzyzzzyyzzzzzzz{yzzyyyyyzz{y{{zzyzzzyxyy{z{z{yzzyy{zyyyy{zzyyz{zzzzzyzzz{zzz{zzzzyzzzyyzzzzz{zzyzzzzzz{zzz{{{zz{z{zzyyzzzz{zyzz{z{zzz{z{{zzyy{{zzzzz{zz{z{z{z{{{yzz{zyzz{z{{|{zzzzzzyzz{{zzz{{z{zzyz{yy{{{z{{{z{{yz{yzz{z{{{{|{yyzyzyzz{yz{zzzzyzy{zzzzz{zyzzzzy{zyzyzy{zzzzyyzyyyzyyyyzzzzzyz{yzyzyyzzy|yzzy{zzyyyxzzyz{zzzzzzz{zyyzzzyzyzzy{{zzzzxzyzzzyz{zzzyyyzyyyyzzzzzzyzyzzyzyyz{{zzz{{zyyyyzyyzzzyzzzzzzyyyzyyyzzyzzzyzzyyyyzyzyz{zzzz{zzyzyyyx{zyzy{{zyyyyyyyzyzyzzy{zzyxyyyyyzzzyz{{zyzzyyz{yzzzzzyyzzxzzzzyz{z{yz|z{zyz{yxyyzzyzzz{{yyzzyyzyzz{yz{{zzzz{z{xy{zzz{z{z{yzzzzyzz{yzz{z{zyyz{zyzz{zyz|z{{zzzzzzzz{z{z{zzyyzzzz{z{|z|{{|{zz{yzyzxz{{{{{|zzyyzzzz{{|{{{zz{y{z{zz{zzz{zz|{{{zyzzzzzzz{zz{{{{z{zzzzzz{{zzz{{{z{zyzzz{z{{{z{|{{yzzzz{{z{{{zz|y{zyyyz{zz{zzz{{{yzzzzzz{{zzzzz{yzzyzyzzyzzzyzzyyyyyyyyyy{yyzzzzzzyyyxyyxyyzzzzz{yzyyzzxzzzz{zyzzzzzzzyzzzz{y{zzzzzyyyyxzyzzxzz{yzzyyyyyzzyyyyzyyxyyzxxxzz{yyyzzzyyxyyzyzyyzy{zzyyyxzxyyzyyzyzzzzyyzz{yyyzzyzy{yzzzyyzxyzyzzzzz{zyyzyyyyyzzyzzz{zzyyyyyyyzzzzzzzzxyzyyyy{yzyzzz{zxzxzyyyy{zz{z{{zyzyyyyzzyyzzyyzyzzyzyyzzzzzz{zzzzzzzxzzz{zz{zz{zyzyzyyzzzzzzz{zzyxzyzyzzzzyy{z{{yzyzzzzzz{zz{{{y{zzzyzz{zz|zy{{z{yzzzzy|z{z{{{zzzyyyzzzz{{z{z{{zz{{{yz{z{{{z{{{{yzzy{zyz{{|zz{|{{zzyyzzzzz{zzz{zyz{zzzz{{zz{{{{{zyzzzzz{y{z{{{{{zyz{zzzzzzzz{{{zzzzyz{yz{{{zzzzzzzyzyyzz{yzzyzzzxyxyyyzzzyzzzzzyyxzzyyz{yzyzzzzzyyyyyyzz{{y{zzzzzyyyzyyyyyzy|zzzyyzxxyyyy{z{zzzyxyxzxzyyz{zzzzzyyzyyyyyzzzzyzyyzxyxyzzzzzyyyxzzzyyyyxyyzzyzyzzyzyzyxyyyzyzzzzzzxyzywzyxzzwzzy{zyyyyyxyyyy{zzzzzzyyyxyyyyyyyz{zzyyyyzyyyzzzzzzzzyyzzzzyyzzzy{zz{yxzyyyyyyyyzyzzzzyyy{yzzzzzyzzzzzzyzzyzzz{{z{zzyzyzyyyyyzz{zzz|zzy{zyzyzzzzzz{zzzyyzyzzyz{{{z{{zyyz{zzzz{{{zz{|{zyz{zzyz{{z{zzz{zzzzzyyy{{{{{{z{{zyyzzzzzyz{{z{{z{{yx{{zz{z{{z|z{y{zyzzyzzzzz|zzzzz{yzyzz{zz{z{{zzzzzyyz{zz{{z{{yzzyzzzyy{zzz{|z{zzyyzzyyzyyz{{zzzzyyxzyzz{yzzzzzyyyyxyxyzyyyzz{zzyyyxxyyzyzzzyzzyyzzyxyzzzzz{z{yyzyxyxy{zzyyzzzzyyyyyxxyyyyzzz{zyyyyyyyxzyzzyyyzyzyzyyxyzyyyzyyzyzyxyxyyxyzyzzzxyzxyyyxyzzzz{yzyyyyxzyyyzzzzzzzyyyzxxyxyyzzy{z{zxyyyyzyxyyyzyzzzzyyzxyyyyyzy{yyyyyxyxyyzyyyzyzzzyyyyzzzzzzzyzz{yyyzyxzyzyy{yz{zyx{yyzyyyz{zzy{zzyyzyzyyyzz{yzzzzyyyyyyyyz{z{{{zzzzzyzyyzzzyzzyzzyyz{zyzz{{{zzzzyyyyyzyyy{yzzz{yzzzyyyzyyzz{{{zzzyyyzzzz{{z{{z{|z{zyzyzz|zzzz{{{{zz{x{zzz{zzz{{{{z{z{yz{z{{z{z{{{yyzzzzz{z{z{{{zzzzzzzyy{z{zz{zzzz{zyzzy{{z{zzzz{zyyyzzyz{{yzz{{yyzyyyyxzyzzy{z{yyyyxyyyyyzyzzzyzyyyyxyyzzzzz{z{zyyyyyyyzzzzzzzzyxzzyyyyzzz{yzzyyzyyyyyy{zzzzxz{zyyyxxyyyzzyyyyzyyyxzyyxxzz{yzyzzzxzyzyzyyzzyzzzyyyyxxyyyyzyzyzyyyxyyzxxzzzyzz{zzyyxyyyyzzzzyzzzzyyzyyzyyyyyyxzzyzxyyyyyyyzzy{zz{yzy{yyxzzzyzyzzyxyyyyyxzy{zzz{{yzyyyyyz{zyzz{zzzyzyyyxzzzzy{yy{zyzyzxyyy{zzzzyzzzzyzyzzzz{zzz{yyzzzxyyzzz{zyzzz{zzzyyzyzz{{{{{zyzzzzzzz{zz{{{z{yzyyzyzyz{{z{{z{zzyzz{zyz{zz{zz{zzzzzyzzz{zzzzz{{zzzz{{yyz{{{{{zzzz{yyzz{zz{{zz{zyzz{yz{z{{{{{{|yzzzzzzzzzy{z{z{{zzy{{zyz{zzz{{{{zyzzzzyy{zz{zzzzyzyyyyyzzzz{yzyxzxzzyyyyzzyyyzzzyyxyyxyzxzyyz{zyyyzzyyzyz{zzz{zzzyyxyyxyyz{zzyzyyzxyxyzyzzzzzz{yzzxxxyxyzzyyyzzyzyyyyyyzzzyyzzyzzyyyzy{zzzzzzzzyyzyyyxxyzz{zzzyyyzyxxyyzz{yyzzzyzxyyyyxyzzzzyzzxzxyyyyyzzzyyzzzyyyyzyzyzzyxzzz{yyyzyzyx{zzzzzzzzyyyyxyyyzyzz{zzzyyxyzxyzyzzyzz{yzyzyyzyzzzzz{z{zzyyyxyyy{z{zzz{zyyzyyyzzz{zzz{zyzzzyzzz{zzzzyzzzyzzzyzyzz{{|zz{zzzzyzzz{{zzz{z{zyyyzzzyzyzzy{{{{yzzzzzz{{{zz{{z{{zyzyzzz{z{{y{{{zyy{zzyy{{{{z{{yzzyzzyzzzz{zzz|yzzz{zzzzzzz{{{{z{{zzzyz{|{{{{{z{zzyzyyzzz{zzz|{zz{yyzzyzz{zzz{zyzzyyyzy{{zzzzyzyxzyyyyxyyzz|zzzyyzyzzyxzzzyzzyy{yyyyz{yzyyzzz{zyyyyyyzzyzz{zyzyzzxyyyyzzzzzzz{zzyyyyyyxzzyyy{{y{yyzyyyyyyzxyzz{zyyyxzyyyyyzzyzyyyyyyyyyzyyzxzzyzzzyzyyzzz{zzzzzyyyyyzyyyzyyzzzzyyyyxxyxzyyyyzyyzyyyzyyyyzzzyyz{yxyyyyzyzyzyzzzzyyyyyxyzyy{yyz{zzyz{zxyyyzz{z{zzzzyzzyzyz{zyzzz{yyzzyyyy{{z{z{zzzzyxzyzyzz{{zz{zzyzzyzyzyz{zzzz{zy{yzz{zyzz{{z{zzyzyzzzy{{zzz{|{zzzyzzxzz{z|z{zyzyzyz{zyzz{{z{{{{z{zzzzzzzzy{{{z|yyz{{yz{|{{zz{{z{zzzzz{{z{{{z{z{yzyzzyz{zz|zzz{{z{zzyzz{z{z{z{{{zzyzzzzz{zz{zz{z{yzzzzyzz{{zzzzyzzzyzzzzzyzzzzzzyyyzxyyzzzzzzz{xzyyxyyzzzz{zzyzzzzzyyzzyy{{z{zzyyzyyzzxzyzzzzzzzx{yyyzxyzzzyzzzzxzyyzzyyzyyzz{zzxyyyyyyyzzzyz{zzyzxyyyyyzzzzyyzyyyzyz{xyz{zy{{zyyyxyzxzyyyz{{{yyyyyxxxyzzzzzzzzzyyyzxzyzyzy{z{zyyyyyyyxx{yzyzyyyyzyyyxyzyyzz{z{{yzxxyyyyzzzz{{{zyzyzyzyzzzyzz{zzzyzyyyzyzzzzz{zyzzzzxzyz{{z{zzzyy{zzyzy{zz{{{{zzyzyyzyzyyzz{z{zzz{y{{yzz{{zz{z{zzzzzzzzz{{{zz{{zzzyyzzzyzyzzzzz{yyz{yzzz|{z{{{{{z{{yzzzz|zz{|zz{zyyzzzyz|{{{{{{{y{zyyzz{z{{z{{{{zz{zzyz{{{z{z{z{zzzyzyzz{{{{{|{z{zyzz{z{zz{{{{{zzy{yyzy{zzy{z{zzzyzzyxyzz{zzzzzyzyzyyxyyzzzzyyzzyyyzxxzz{yzzz{zzyzzxyyyzzyzzyzzyzyyzyyzzzz{zzy{zyzxxyyyyzzy{yzzzyyxzzxyz{zyzz{zyxzyzyxzzzzyzzzzzyyy{yyyzzzzzz{zxxyyxyzx{zyzyyzzyyyzyyxzyyzzy{{yyyzxyyzyxzzzz{{zyzyyzzzxz{zyzz|zyzyyyyyyyyyyzzyzzzzyzyyyzzyzzzzzzyyzzzyyz{zyyz{zyx{zzzzyz{z{yzz{zy{yyyyzzzzz{zzzzyzxyyyyy{z{z{|{{zzyyyzxzzyzz{{{yzyzzzyyzyz{z{zz{zzyz{yz{{{|{{{zzzzzzzzzzzzzz{z{yzzzyyzy{{{zz{{{zyzyyz{y{{{{{{{{zzzzzzzzzz{|{{{zzzzzyzz{z{{{z{{||{zzzz{z{|{{{{{zzzyz{{zyzzzzzz|{{yzzzzz{z|{{z{{{z{zzzyzzy{z{{{{{{|z{yyzzy{{zzz{{y{yyyzyz{zy{{yy{xyyyyzxyyzzzzyzzyyzyxxxyzzzy{zz{zzyyyyyyyy{yzz{zzxyyzyyyyyzyzzzzzzyyyxyxzzzyyzz{yzyyyzyzyyyy{zyzzyyyyxxyyy{yy{zzzyyxyyyyzyyyyzzzzyyyxyyyyzyzz{zyyzyyyyyyzyzzzzzyzyzyxyxyyzzzzyzzzyyyxyzxyyzzxzzzyzyxyyzyyyzzzzyzyyzyyyyxyzyzzz{zzyyyzyxyz{{yzzz{yyzzzy{yyzzzzzzyy{zzzzxy{{zzz{{{zy{zyzyzz{zzz{{zzzzzyyzxyyyz{|{zzzyzzyyyyyzzz{{zzzyy{{yyz{z{{{{{zzyzzz{z{zz{x{{{yzzzzzzzz{zzz{{{zyzzzyzzz|{zy{{{zzzzyzzzz{zz|{zzzz{zzzzzz{z{zz{{yzzzzz{zz{{y{{zz{zzzyzzy{{z{zz{z{{yzz{zzz{{z{z{|{{zzyzzzz{{z{{z{zyyyzzzyzzzzyzyzzy{yyyyzy{zzzzzyzyyxyxwzy{yyzzzzzzzxyxxyzzzzyzyzy{yzyyyxyyzzzzzzzyzyyzyyzyzyzyzyyzzxyyyyzyzzy{zzzxzzyyzyyyzz{zzzyyzyyyzxzxyzyzzzy{zyyyxzzzzyzzyzyyyzzxyzyzzyzz{yyzyyyxyyyzzzyzzzyyzyyzyxyzzzzyz{yy{yzwzzyzzxzyzyyyxxyzyyyyy{{zzyyyyyzzzxzyzzzzzzzxyyzyzzz{zzzzzzzzzyyxzyzyzzzz{zzyzyzzyyzzzzzzz{zzzxyyzyzzz{y{zzzyzzzzzyz{zzzz{{yyyzyyzzzyzzzzz{{yzyzzzy{z{{zzzzyzyyzzzyzz{{z{{|yyyzyyzzz{zzyzz{zyzyzzzy{zzzzz{z{zzzzzzzy{zzz{{{{yzzzyzzz|{{{{{{zzyzz{zzzz{z{{zzzzzyzzzz{yzzz{zzzzzzzyyzz{z{{z{{zzzyyyzzz{{{zz{zzyzzyzyzyzzzzyzzzzzyyxzzz{zyzyzyyyzyyyzyyzyyzyz{yyyyyxyyzyzzzz{zyzyyyyyxzzzzzzyzyyyzzzyzzyyzyzz{zyzzyyzxzzzzzzz{yyyzyzyyyzzyyyzzyyyzyyxyzy{zzzzzzyyyyyyxy{yzyyzyyxyyyyyyyzyz{yzzzyyyyyyyyz{zyyzyzzyzyzyyyyzzzyzyzyzzyyxxyyzzzzzzzyyxyxzzzzyyzzzzyyxzyyyyyyzzzzzz{zyzzyzzzz{zzzzyzyzyzyyzzyyyyzzzyyzyyxzyz{z{zzzzzyzyzy{z{zzz{zz{zzyzy{yzzzzzz{z{zzyyyyzz{{zy{zzzyzzyz{zzzz{|{z{{zzyzyyzyz{zzzz|zzz{yzyyz{|{{zz{{{zzyy{{y|{z{z{{{z{zzy{{z{{{z|zzzzzzzzzyzz{z{yz{{zyyzzyzzzy{z{z{{zzyz{zzzz{z{{|{{{zzzzzzz|zz{zzz{zzzzyzzzzzz{zz{zzzzzzz{yzzyzy{z{yyzyzyyyzzzzzyyzzyyxzxyzzzzyyzy{yyyzyyyzxz{zzzyzzzyyyzyxzyzyzy{yyyyzyyxyyyzyyz{zzyyyxyzyzyzzyzzzyyyyzzyyzyzyyyzzzyxzyyzyyyzzzyzyzyyyyyyyyzzzxzz{yyzyyxyxzzz{yz{zzyyyyzxyyyzzzzzyzyyyyywyz{yzy{zzyyyyyzyyyyzzyzy{zzyyyyxzyzyzzzzyyxyzyzzyzzyzzzz{yyzyyyzyzzzzzzzzzxzxyyyzz{zzy{{{yyyyyzyzzzzzyzzzzyyyyxzyz{zz{zzzzyzzzy{yy{z{zz{{zyyyyzzyzzzy{zzzyyzzzzzzz{{{yzz{zzy{yzzzzzzzzz{zzzzyyy{xz{z{{z|{zzzzzzzz{{{{{{{zzz{yyzzy{{zz{zz|zy{zzz{zz|zzzz|{zz{{zzzz{z|{{{zzzyzzzyyy{zzz{y{{zzzzz{{{{{z{z{z|zzzzyzyzz{zzz|z{{zyyzzzzzz{zzzzzz{zyyyyyyz{yyyzyyyxyzzyyzzyzyy{zyyyyxyxyzyzz{zzzyyzwyyzyzzyyy{zzzyyzyyyyyz{{xy{zyxyxxyzxyzyzyyzzyzyyyyzyyzyyzzzzyxyzyzyxyyzyzyzyzyyxyzxyyzyyzyzyyxyyyxyzzxyzzyzzzyyyxyxyyzzzyyyzxyyzyyyyyyzyy{zyxy{yzwyyxyyzyzzzyyyyzyzyzyyyyz{zyyzyz{yxyzxzzz{{yyyyyxyxz{zyzzzzyyxyyyyzzyzzzzzyyyzyxyzyyz{zz{zzyyzyyxyyyz{zzzzzyyzyyyyzz{{zyzz{zyyzyzzzzzzyy{y{zyyyzzyzzy|{{yzzyzzzzz{z{zzzzzzzzzyzzzyxz{{zz{{yzzyz{zyy{{zyz{zzzzzyzzzzz{z{z{z{{yzzyzzyz|zzz{{zzzzzzyzzzzz{{{zzzyyz{zz{z{zz{{zzyzzzzzy{zzyzzz{yzzyy{yyyz{zz{{{{zzyyyzzyz{zzyzyyyzzyyyyyzzzzy{xzzyxyxyyxzz{yyyzzyyyyzyyxzzyz{zyzyzyxyzxyzzz{zz{zyyzyyyyyz{zyzzz{zyzyxyyy{zzzzzyzzzyyzzyxyyyzy{yzzzyyyyyxzyzyzzyyyyyxyyyxyyyzyzzyxyyxyyxzyyzxyzyyyyyyyywzzyzyz{zzyyzyyyyxyzzzyyyzzxyyxxzyzyyzyyyyzyxzyxxzy{yzyz{yzyxyzzyyzyz{yz{{yzyyyyzyy{{yzzzzzzyyyyzyzzzyz{z{yxyyxzyx{zyzzzzzzyzyzy{zyyzz{zzzyzyyzzyyzzzyyz{zzzxyyzyy{{zyyzzyyzyyyzzzz{yz{zz{zzyzyzzzzzy{z{zzyyyyzyxzzzzz{z{{zzyzzyyyz{zzzz{zzz{yzzzz{zzy{z{yzyzyyyxzz{zzz{|z{yzzzyzzz{{{zzz{zyyy{yzzyzz{z{{zz{yzzyyyz{z{{zz|zzyyyyzy{zzzzzz{zyxzzyzyz{zz{zzyyyzyyxzyzzzzzzzzy{yyzxzyyzzzz{zzzyzxyzzyzzyzzzz{zyyxyzzyzzzz{zyyzzyzyyyzy{z{zzzzzzxzyyzyyzyzzzyzyzxyyyyx{zzzzz{yzzyyzyzyzzzzz{zzy{xyyzzyzzzzyzzyyyxyyzzyyzzzzzzyzyyzxyzzyyzzzy{zzzyzxzyzzzz{yzz{zyyzyyyyyzzzzz{zyyzzyyyzzyyzyzzzzzzyyzyyzz{zzzzzyyyzyzzzzzzyzzz{yzyyyzzy{zyzzzzzy{zyzzzyzz{zzz{{yyzyzyzyz{zzzzz{zzzyzzzyzzz{zz{zzyyyyyzzzzzzz{{zzzzzyzyyz{z{{z{z{z{{z{yyzz{{zzz{{zzzzzzyz{zz{{|{{yyzzyzy{{{{{{{{z{{zyzyzzz|z{zz{z{z{zyz|y{{{{{|{{z{{{zzy{z{z{z{{{zz{zzzz{{{|{{z|{zzyyzzz|{z{{z|{{z{zyyzyyzzzzzz|z{zzzyyzz{y{{zzzzzyyy{y{yzz{zzzz{yyyyy{xxzzzzyzzzyxyyxyy{zzzyzzzzxyyyyyyyzyzzzzyzyzxyyyzz{yzzzyzyzxyxyzy{zz{{{z{yyzzyyyyzzyyyz{yzyzyzyzyzyy{y{{yzzyyyyyyyyyzxyz{zyyyyxyyyz{yxz{yyzzyzyyyzzzzzzyzzyzyxyyxzzyzyy{zzyyyzyyyyyzzzyzzyyyxyyyyyyyzy{zzxyzxyxyyyzzyzz{zyzyxyyzzyzzzzz{zyyyzyyzyzzzzz{zzzyzyzzyzzzyy|z{z{xyzzzyyzzz{z{zzzzyyyzyyz{{{zz{zzyxzzyyyzzzzz{zzzzzzzyzy{zzzz{zzzzzzzzzzz{z{zz|{zzyyzzzyz{{yzzz{{yyzyzzyzzzz{{|zzzz{z{{zz|zzz{{{{zzzyzzzzz{z{zzzz{y{zzzz{zzz{{{zzyzyzy{zzzzzzz|{zzzzzzzz{{{z{y{{z{zzz{zz{{yzz{zzzzyzyzyzz{zz{{zzzyyyzzzzzzy{yzzyyzzyzyyyyyyzzzyzzzyyzyyyzyzzy|{zzy{xyyyxzxxzzz{{yzyyyyxzzzzzyz{{zzzyyyyyyzzyz{zzzyzyzyyxy{yyy{zyyyzxzyzyyzzyyyyyxyzyyyyzzzyzyzzzyyyyyzyzzyyyyz{yzxyxxyyyzyyzzzzzyzyxyyxyxzzzz{zzzyyyyxzyzyzzyzy{yzyyyzzyyzzyz{zzzyzyyzzyyyzzzzzzzxyyzyzzzzz{zzz{zzyyzxyzzyz{zz{zyzzzyyyy{z{zzzz{zyzyzyzzzzz{{{zzyzzyzzyyz{zzzzz{zzzyzyyyz{zz{{{{zzzzz{zz{zz{{{y{y{zyzzzz{zz|{z{z{yzz{zyy{z{z{{z{zyzzzyzz{{z{z{{z{{zzyz{zzzzzzz{{{zyzzyzzz{z{|{{zzyz{zzzzzz{{{{zz{yzzyz{zz{{{z{{{zzzz{yzz{zz{zz{{zzzzzzyyz{zz{z{{zz{zyyzyz|{zzz{{zzyzzxzyyzz{yzzyzy{zzyyxyyyyzzzyzyzzzyxyzzyyyy{zyzzyyyyyzyzz{{{zzyyyyyyzyzzzz{zzyzyyxyzyyzzzzzy{zyyzyxyxy{zyyyzzzyzyyxzzzzzyzzzzyzzyyyyzzzyzyz{{yxyzyyyyyzzzzzzzyxzyyyxyyzz{yzzzyzzyyyyyyzzyz{{{yyyzyyxyzyyzzyzyxyyxyyyxxz{yxz{zzxyyzyxz{zzzyzz{yyzzzzzyz|z{z{{zyzzzzyyyzzyzzzz{yyzyyzyyzzzz{z{zzyzzyxzyz{yzzz{{yzzyzzyzzzzz{z{zzzy{zyzzyz{zzzzzzzyzzzyyzz{z{{|{yzyzyzzzz{z{zzz{zzzzzzzyz{{z{z{{|{zzzzzz{z|{zz{{{yzzzz{{z{{{{{zz{zzz{zzzy|z{{{{{{zzzz{{z{z{{{{z{{zyzy{{zzzz{z{{{zz{zz{zzz{{{z{z|zzyy{yzzy{{{{{{{yzyzzzzy{z{zzzzzzy{yzyzzyy{{zzyyyyyxyzwyyzzzxy{zzyyyyxyyzzyzzzzyzzxyzxyyzyzyyzzzyzyyxyyyyz{zzzzzzzxxyyxyzzzyzzzzzyzyyyzxyzzyz{zzzyyyzyyyyzzxyzzyzyzxy{zxyyzzzzyyyyyyzzyyyyzz{zzyyzyyxzxyyyyyzzyzzyyyyyyyyzzzzzzz{zyyzyyxzzyyyzzyzyzyyyyyzzyz{{zzzyzyyyxxyzzyzzzzyyxyzyyzy{zyz{zzzy{zzyzyyzzyz{z{zzzyyyzyzzzyzzzzzxyyzyzyzzz{{zyzyyzyyxyzz{zzzzzyzyyyyzzz{{zz{z{{zz{zzzzz{{z{{|{{yzzzzy{zzzy{yyzzxyxzzyyzz{{zzzzzzyzyzyyz{{zz{{{zzzyyzyzzzzz{zz{z{zyzzzzy{{{{z{{{{z{zzzyz{{zz{{{{zzzzzzzyzzz{zz{|{zyyzzyz{z{{z{zzyzyz{zzyzz{{zzzzzzzyy{zyzzz{zzz{zxyyzyzyzzzzzzyyzyyyyyzxyyyyzyzyxyyyzyyyxzzyzzyzyyyzyyzxyyzzy{zzzyzyzyyzzzzyyyzyzzxxxyyxyzyzyzzzyzyyxxyyyz{xyzzyyxzyyyyyzyyxzyzyzyyyyyyyyyzyyzyyyxxyxyyyyzzyyzzyyxxxyyyyyyzzzzyyyyxyyyxxxzzyzyzzyyyyyxzyxyyzyzyzzyyxzyyyzzyyyzzyzyyyyyyyzyzzzzyyyzzyzyyyzzzyyzzzzyzyyzyzyzyzy{zzyyyyxyyyyzzzzy{zyz{yyzyyzy{zzyzzyzyyyyyyzzz{yzzzzy{zzzxzzz{zy{{yzyyyzzzzzzyzzzz|zzzzzyzzz{y{y{{{zzyzzzyyzzyz{|{yzzzzzyzzzz{x{y{zzzyyzz{yy{z{z{z|zyzyyzzzz{z{zzz{{yyyzzzzzzzzzzz{zyzzzyxz{zzz{z{{zzz{zyyy{zzzz{zzzzzyzzzzzzzzz{{{z{yyyyyyzz{zzzzyzzyxzzzyzy{z{yzyzyyyyyyzzzzyzzzzyyzzyyxzzyxyz{zzy{yyxyyyzyzzy{{zyxzyyzyyzzyyyyyzzzyyxyyyyzz{yzyyzxyyyyyyy{yzyyzzyzyzyyxyyzyyyzzzyyzyyyyxzyyzzzzzyyyxyyyyzzyx{zzyzyyyxxxyxyyzzzyzzyyyxyxzzzyyzyzzyyyxzyxxyzyyyyz{yyyyzyyyyyzyyzzzyzxzyzyzzzz{zzzyzyyyyyyyy{{yy{yz{zzyzyyyyz{zzz{{zyyxzyyzyzzzz{zz{zzzzzxz{zy{zz{zyzzzyyyyzzzzyyzzzzyzzyzyyz{z{{zzzyzyzzzyz{{zzzzzyxzyxzzyz{zzzzzzzyzzyyyy{zz{{{{zzzxzzyzyz{zz{zz{zz{yyz{yzzzzz{{{{{zyyyz{yzzzzz{zzzzyyzzz{zzzz{{z{yyzzzy{{{{z{{z{zzyzzzyzzzzz{|{zz{yyyyzzzzz{z{z{zzyyyzzyyzzzzyzz{yzyzyyyz{zzzyyzxyyyyzyyzzzzyzz{yyyyyxxyzyzyzzz{yyxxzzyyzyyyyzzz{yxyyyyyyzzyxzz{zzyxxyyyzyy{z{zzyxzxyxyyzyyyyyzyyzyyyyyyyyzyyzyzyyyxzyyyyyyzy{zzzyyxyxyyyzzyzyzyzyyzxyyzyzzyyzyzyyyzxyyyyzyyyy{zxyxyyyxyzyyyyzzzyywyyyxxy{yzzyzyyyzyyyzxzyz{y{{zxyzzyyzyyzzzyzz{yzyzxxyyzzyzzz{yxyzzxxyyzzzzzzzzzyyyyy{yxz{zzzzyyyyzyyyyzz{zzyzzy{yyzzzy{zyzzz{zyzz{yyyyzzzz{{zzyzzzyzzzzzzz{{z{zzzzyxyyz{z{zy{zzyyzyyzy{{{yz{{zzzzzzz{yzzy{z{zzzzyyyzyzzz{z|zz{zy{zyzzz{zz{{{{zz{zxzzzzyz{{{{{{z{zy{zzz{zz{z{{zyzzzzyzyzzzzyzzzzzyzzyzzyzzz{z{zyzzyyxyyyzzzyzyxxyxxyxyxzzzzyyyzyzyxyxyxxyzyz{z{zyyxxxyyxyyzzzzzyyyzyyyyzyzzzyz{zyyzxxyxyyzzyyzzyyzyyzxyyzzzzyyyyzzyyxyyyzyyyzzyyyyyyyxyyzzyzzzzyxyyzyxyyzyzzyzyyyyxxyyxyyyzzzzyyxyxyyxyyzzyzyzyxyyyzxxxyzyyzzyzzxxzyyyyzzxyyz{{yyyyyyzxyyzyzyzzyyyzzxyzzz{zyzz{yzyyyyzzzzzzzzzzyzyxxyyzyy{z{zz{yxyxyyxyzzzyzzzzzyyzyyyyxz{zyyzy{zyyzyzy{{zyz{{y{yzyzyyyzzz{zz{{yzzyzyyzz{zzyz{{{yzyzyyz|z{{zzzyzyzyyyyzzzz{zz{{xyyyyzyzzzzzz{z{zzy{zzy{y{y|{z{zyzzzzyzzzzzzzz{zzyzyzyyyz{zzz|z{zzyzyyyz{z{{z{z{zyyzyzyzzz{{z{{{yyxyzzyyzz{zyzzyyzyyzyyyzzyzyzyyyyyxzzyyyyyzyyzyxzyyyxyxyy{zzzzzzzyxyyywzyzyyzzzzxyyyzxyzyz{zzzzyzxxyzxyzzzzy{yyyyyxyyzyyzzyzy{zxyyxyxxxyzzzyzyzyzyyyyyyyyyyzzzyyyyxzyyxyzyzzyzyyxxyyyyyxy{xzyzzzyyyyyyyzyyyzyzzyyxyyyyyzyyyyzx{xyyyxxyyyyyyy{zzyyyyzxyxyyzzzyzyyyyyyyyyyzzyzz{zyyyyyyyzzzyzyzzzyzyyyxyzyzzyzy{zzyyyyyyyzzzyzzzzzyzyzyyyzz{zzzzzyyyyyyzyzzzz{zzzzzyyyyzzzyz{z{zzyyyzyy{zyzz{z{{zz{yyyxzxzz{z{yzzzxyyzzyyz{yzzzz{zyzzy{zyzyzz{{zz{zzzzyxyy{{zzz{zzyzzyyyz{zz{{{{z{yzyzzz{zzzzzz{{zzyyyyzz{zz{{{{{zyzxyyzyy{zzy{z{zyyyzyzzzy{zz{z{zyyzyxyy{{zyzzxzxyzxyxyyzzzzzyzzzyyyyxyy{zyzzyzzzyxxxxyyzyzyz{zzyyyyyxyyyy{{yyy{yyyxyxyyyyyyzzzyyyzyyyyyyyzzyyyyyyyyyxxxzzzzxzyzyyyxyyxyzyzyzzyzzyzyzyzyyzyzyzyyzyzzxyyxyzzzzzyzzzyyyyyyyzyzyzzzyyyyyxxxyzzzyzzyyzzyyxyxyyxzyyzzyyyyzxzyzzzzzzzyyyyzzxxyzzzyzzzzxyyyxyzzzzyzzyzzyyzyyyzzyyzyzzzzzzzzyxyxxzz{zzyzyzxyyyyyyzzzzzzzzzyyzyyyzzzzyzyxyyzzzyyyzyz{zzz{y{yzyyzy{{yzzzz{zyyzzyyzzzzz{zz{{yyzzzzz{{zz{z{{z{yzzz{zz{{{z{{{{yzyyzy{z{z{{z{{{yzyyyyzz{z|z{z{zzyzzzzyzzzzz{zzzyzz{zyy{{zzzz{{zyyyzzzyz{zz{{{z{yzzzxyzy{zzzyzyyyzyyyzyzxzyyzyyxyxyxyxxzzzyyy{zyzxyzyyxzzyzzzzzyyzxyyyxyyzyzyzyyzzyyyyyyzzzz{zzyxyxxyxyzzzzzyzzzyzyzyyzz{yyzzzyzxzxyyxy{{{yzzzyyyyxyyyyyyyzzzzzyxyyyzyyyzzyyzyyzzyyyyxyyz{zzxzzzyyyxyyyyzyzyzzyyyyxyxxyyzzyxz{zzzyyyxyyyzyyyzz{yxyyzzyxyzz{zzyzzxyyzyxzzzzzyyz{zyzyyxyyzzzzz{zz{yzxzyyyzyyyzzz{zyyxyzyyz{yzzz{zzyzyzyyzyz{zzzzzyyyzyyxyy{yzyzzzzzzyzyzyzzz{{{zzzz{zz{zz{zy{z{z{yyyzzyxy{z{z{z{{{yyz{zzyz{zz{{zz{z{zzz{zzzzzzz{{zyyzzzzzy{|z{{{zzyz{yzyz|zzz{|{zzzzzzzzz{{zzzz{{zzzzzzyzyzz{{yzzzzyyyzyzyzz{z{{zzyzzyyyyzzzzzz{zzyzzzyyyzyyzyzzyzyyyyyxyyzzyyzzzyzyzxxyyy{z{zz{zzzyzyyzyyxzzzzzzyzzyxyyzyzzyyzzzyyyyxyzzzyzyzzyzyyzyyxyyyzzzzyzzyzxyyzxzyzyzzyyzyyyzyyyyzyyzyz{zyyzxzyyyyyzzzyzyyyxxzyxyyyzyzzzyyxzyxzyyyzyyyyyzzyyyxxyzyzzxyzzzzxxxzyxyzzzyyzyyyyzyzzxxyyzzzz{{zyyzyxzyy{zzz{y{zyxzxxyyzzzyzzyzzyzyyyyy{{{yzzyz{yzzyxzzzzz{zyz{zxyzyyyzyzyyz{zy{yyzyxyzy|yyzzzzzzyy{yyyzz{{{zz{y{yzyyzz||zzzz{zzzyzzyzy{{z{zzzzzzzzzzyzzzz{zzz{z{zyzzzzzzyy{zzz{zzzzzzzz{z{{zzz{yzzzyzyz{{yz{|z{zyzyzzzzzzzzzz{{zxzyzz{zz{zzz{zzyzyxyyzzz{zz{|{yzyyyzzyzzz{zz{zyyyxyyyyzz{zyzyyzxyyxyxyxyyyyxzzzyyyyxxzyyzyzzz{yyyxyyyyyzyyzz{zxxzxyyyzzzzzyzzzyyzxyyyyyz{yzzyzzyyzyyxyzyxyzzzzzyyyyyyyyyzzzy{zzyyyyyxzzzxyyzyzxyyyyyyyyyyyzyyyyxyxyzxyzyyzyyzzyyyyxyyxyzyyzyzzzyxyzyyyxyzzzzzzzzyyyyyyyzyyz{zzzyzyxzzxzyyzzzzzzzzyzyzyzzzzyy{{yzyyxzzzzyzyyz{zyyyyzyzzyzyzzzzzzyzyzyyyyyzzzyzzyzzyyyyyy{zzz{{{yzzyxyyzzzz{y{zzyyyyyzzzz{z{z{{zyz{zyzzzzzzzz{{{yzzyyyyzz{{zzz{zzyzyzyyyzy{zzzz{yzyzzzzzzz{yz{|z{yy{z{zyy|zzz{{{{xzzzyzzzz{{z{{{zyyz{zzzzz{{{{{{zzzz{zzz{zzz{{z{zzyyyzyzyzz{{z{zzyzzyzzyz{z{z{zzyzzyyyyxyzzyz{yyxyyyyyyyzyyyyzyzxyyxzyyxzyzzzzzzzyyxxyzyyzzyzzzyyxyzyzyyzzzyyzzzyyyxxxyyyzyyzzz{yyxxyyzyyyyyyzz{zyyyzyyzzyzyyzzzyyyyxxxyyyyyyyyzyyyyxyyyyzyzzzyyyyz{xxyyyzyyyzzzzyyyyxyyyyzzyzyzzxzyzyxyyyyyyzzyyyzyxyyyyzzyzz{zyxyyyyyyzzyzzyz{zyyzzyyy{yzyyz{zyzzyxyyzzzyz{zzzyxzxyyyzzyyy{yzyyy{zyxzyyyzzzzzyzzzzzxyy{z{zzz{yyxzyyyyzzzzyz{{yzzzyzyzzz{zz{zzzy{zzzy{z{z{zz{z|yzzzyzyz{z|zzz{zzzyyzzzzzzzzz{{{zzyyz{zzz|zz|z{zzyzzyzyzz{{z{z{{zzzzzyzyz|{{yz{y{zzzzzzzzzzz{{z{zyyz{yyz{z{{z{|zy{zxzz{zyzy{{z{z{zyzzxyyy{{zzz{z{yzyyzzyy{zzzzzyxyxxyyyxxyzyyyzyyyyzywzxyzzyyzzzyyxyzyyyyyyyyzzyzyyyyzyyyzyyyyzzyyxyyyyyzyzyyyyyxyzxyzxyyzxyyyzz{xyzyyxzyyzzyzzyyzxyxyzyzzyzyyyzyyxyyxxyyyyyyyyyyxyxxxyyxy{zzyzzxyyxyyyxyyzyyyzyyxyxyyxyyyyxyzzzyyzxxxyyyzzz{zyzyyyzxyyxzyyyxzzzyyyzxxxxzzzyzzzzyyzyyyyxzzzzyzz{zzzzyzyyyyyzzzyzyyyzzyyyxzzzzzzzyyyxzxxyzzzzzz{zzyzzyyyyzz{zzzzzzyyzzyyyzzzz{zz{xyyyzyzyzzz{z|z{yyyyzxyzz{yz{{{zzxyyzxzzz{zyzz|{zyzyyzzzzzyzz|{zzyyzz{zzyz{z{{zzzyzzz{yzz{zz{zzzzzyzyyyyzyzz{{{{z{yyzzyzzzzzz{z{{zzyyxzyz{yz{z{zzyyyyzzxyzz{yzzzzzzyyyyyzyzyz{yzyyyyxyxxzzyx{zzzyyxxyyyyyxyzzzzyzyxxxyzxyyyzzyzzyzyzyzyxyyzyzyzzyyyxyyyyyzyxzyy{yyyxxyyyxzyyyyzyxyxyyyyxyzzyyyyyyyyxyyyxyyzyyz{yyyxyxyyyyyyzyyzyyxxxyyxxyyzzzzyzxyyyywxxzxzzzzzzyyyzxxywxyyxzzyxxyxyxyyxyyyzyyyzyyyyyzyxyzzzyzzyyyzxyxxyyzzyzzyzzyzzyyyyyyzzyzyzyyyxxyyyyzzyzzzz{yyyyyyzzzyyz{z{yzyxyzxyz{yyyyzz{xyzzyyyzzzyyzzzzzyzzzyzyzz{zz{zyyyyyz{yzzz{z{z{yzyyzyyzy{{zyz|{zxyyyz{zz{zz|zzzzyzz{yzyyzzzz{zz{zzzyzyyyzzzz{{{zyzzyzyzz{zzzz{{zz|zyzzzzzzy{{z{zyzyzyzzzy{zzz{{zzxyyyyzzzzyzz{zzzzyyyyyzzzzzzzzyyyyyyyyyyzzzzyyxxxyxxyxyzyyyyyzzyxyyxyyxyyzzzzzyyyxyyyyzyyzzzzzyyyyyxywzzzyyzyyyzyyxyxxyzyyyyzzyyxyzxyyyzyyyyzzyzyxyyyyzyyyyzyyxyyyyyxyyyzzyyzzyyyyyxxxyzxzzzzzzyyyyyxxyxzyyyyyyxyyxyywyzyyzyyzyzyxyxzxxyyyzzyyyyyyywyyyzzzzyyzyyyyyzyxyyyyzz{zzyyyxxxyyyyyyyzzzyyyyyzyyzzyyzzzyzyzyzxyzyzzyzzzzyyzyyyyz{zzz{zzzyzyyyxxy{zyyz{zyxyyzyzyz{zzyyzzyyzzzyyzyzzz{z{{zzzyzzyy{zyzyyz{zyyxzyzyzzz{zz{z{zzyzyzyzz{zy{zzzzzyzzzy{zzz{z{zyyyzzzyyz{y{zzzzzzyxyzyy{z{z{z{zzzyyyzzzzzzy{zzzzzyzzzyzz{zzz{z{zyzyyzyyzzzzzzzzzyyzyzzyzzzzzzzzyxyyzxyyy{zzzzyyxxxyyyyyxzzyzzxyzyyxzyyyyzyzzzzzyyzyyxyzzzyyz{yzyyyxyxxzyyyzyyyzyxyyxxyxxyzyyyzzxyyxxyxyyyzxyzyzzyxxyyyxyzzyyyyyxyyxyxyxxyzyyzzyyyyyyxyxyzyzxz{yyyyyyxxyyzzyzz{zzyxyxyyyzyyzyyyzyyyyyxyyzzyyyyzzyyyxxyyxyyzyy{zyyyzyxyyxyyzyzyzzzyyzyyyzxzzzzzzzyyyyyxyyyyyzzzz{yyxyyxyyyzzz{zzzzyzyzyyyyzzyyzyzyyzyxyxxyzzyzz{yzyyyxyyyzzzy{zzyzyyyzyyyzzz{zy{zzyzyyyzzyyzz{{zz{yzzyzyzzyzzz{{zzyyyyzyzzzzz{{z{{yyzyyy{y{zzz{{yzzzzyzzzyz{{{{zzzx{zzyyzz{zzzzzzzyyyyyyzzzzz{{z{yzzzzyzzyzzy{{{{zzzxzyzyyzzzz{}yzzyyyyyyyzzzy{z{zzzyyzyyzzzyyyyyyyywyyzxyyzyyzyzxyyyywxxyyyyyzyyzyywxxxxyxzzzzyzyyzyyyyyyyyyxyzzyyyyyxyxyyyxyzzyzxyxyyyxyzyyzzyzzyyxxyxyyyzyyyyxzxxxxxyyzyxyyyzzyxxxxyxxzyyyyyyyyyyyxyxyyyzyzzzzyyyyxyxyxyyzzyzzyyyxyxyxxyyxzzxzyxxxyyyxzyyyzzyzyxzxxxyxzzzzxzzyyxxyyyxyyyzzzzzzyyyyzyyyyyzyzyzyyyxyxzzyyyzyzyzzzyyyyxyyyyzyzzzzyyxyxyyyzzzzzz{yyyzyyyxyzzzzyz{zzzyzxzyyyz{zzz{zzyyzzzzzz{z{z|z{yyyzzyzyzyzzzy{yzyzzzyzz{zzzzyzzz{zyy{zyzyzzzzzzzyzyy{yzy{yzzz{{{zzzzzzyz{zzyzzzyyyzxxyzz{yzzz{{zyy{zyzzy{zzzz{zzzzyyyzxzzzzzzzyyyyzzyyxzzy{yzzyzyyyzyzxyzzyyyyyxywyyyyxxyzzzyzyyyxyyxxyyyzyzzzzyyyxzyyyyyzz{zzzyzzyyyyyyzyyyzyzyyxyyxzxyyzzyzyyxxxxyyxxxyyyyyyzyyyxxyyyzyyyyzzyyyyxyyyyyyzyyzyyxyxyyxyyzzyyyz{yyyyyyxyyyyyyxzzzyyzxyxyyyyxzyzzzzyxyyyyyyzyyxzy{yxxxyxyyyzyzyz{zzxyyyzxxx{yzyy{zyyyyxyyyy{zyyyzzyyzzxzzyyzzyzzzzzyyyyzzyyzyzz{zzzyyzyxyyyyzzz{zzzyxyxyzxyzzzzzzyzyyyyyyyzyzzyyyzzyyyzyzyzzzz{z{zyzyyyy{zz{z{yz{z{zzy{yyy{z{zzzzz{yzzzyzzz{zzz{zzzzzzzz{zzzzzz{z{{yyzyzzzz{z{{y{{zzzzxzzyz{z{{{zz{zxyzzzyzzzz{z{{{zyzzyyyz{z{{z{zzzzyzzyzyz{zzzz{zzyzyyzxzyzzyzz{zyzzyzyyzzyyzwzyyyyyyyyyxzzyzzyzyyyyxxyzzy{yzyzzzxxxyyyxzzzyzzzzzyyyyyyyxzyyxyzzzyyyxyyzzyzzyy{zyyyyyzyyxyyyyzzzxyyxyzyyyzyxyzzzyxyxyxyy{zzyzzyyyzyxyyyxzzyzyyzzyxyyyyxyyyzxyyzzzyyxxxxxzzzzzyzzyyxxyyxxyyzyxzzzzzzyyyyxyzzzzyzyyxyyyyxyzzyyzzzyyyyyzyyyzzzyyyzzyyyyzyyyzzyyy{zzzyyyxzyxy{yy{z{{zzyyyxyyy{{{z{zzyyyyzyyyzzzzyy{yzyxyyyzzzzzyzzyyzzyyxzyyzz{{z{yzzyzzzz{zy{yzyz{{zzyyzyzxz{zzzzzyzyyyyzzy{zzy{zz{zzzzyzzzzzzz{zz{{zyyyzzyz{{zz{{{zz{zyzzz{zz{z{{zzzzzzyzy{zz{{{{{yzzzzzyz{zz{z|z{{zzyzyyxyzyzzz{yzyyyxzyyzzz{z{{zyzyzyzyzz{yzyzyyyzyyxyyyyzyyzzz{yyyyyyyyzyzyyzy{yyyxyyyyyzzy{{yyzyyyyxyyyzyyzyzzzyyyzxyxyyyyxzy{xyyxyyzxy{yxzzzyyxyyyyyyyyzyyzzyyyyyxzyyyyyzyyzyxyxyyxyyzzyyzyzyzyxyyyyyyyzyyzzzyyxyyxxyyyyzyxyyzyyyyxyyyyyyyyzzzxyyxyxyyzzzxzyyyyyyyzxyzzyyyyyzzyyyxxyyyzzzz{z{yyzyyyz{zzzyyzzzxyzyyyy{zyyz{zz{zy{zyyyxyzzzyzzzzyyyzyyyyzyyyzzyzyzzyyyy{zyyzz{zyzyyzzyyzzz{{zzyxzyzyzyy{zzz{{{{zyyzyyzzzzzzz{zzzz{zzzzy{zyz{z{{zzyzz{{zz{zz{{zz{zzzyzyzy|z{{{|{zzzzyzzzy{zzz{zzzyzzyzxz{zzz{z{zzyyyxyz{xzz{{{yzzzyyyyyzyzzzzzzzyxzzyyyyyzz{z{zzzxzy{yzyz{zzzyzyxyxxyxzyyzyzxxzzzyxxyyxyyzzyzzzyzyxxyyyxyyyyy{{yyxyyyyyyyyzzyzzzyzyxxxyxyyyyyzzzyyyyxyxyyzzyyyzzyyyyyyxyyyzyzyzyyzyxxyyyyzxzyzzzxyyyyyyxxyzzyyzyyyyyyxxyxzzzzyyzyxyxxxyyyyxzyyzzyyxyxxxxxzyyyyzyxyyxyxxyyzyyyyyzzyxzxyxxyyxzyyzyyzzxxwxxyyzyyyzzzxyyxyyyzzyyzz{zyyyzyyzyyzyzzzzyzzzyyyyyzzyz{yzzzyzyyyxyy{yzy{{zzyyyxyxzyzzzzyzzzzzzyyyyyzzzzzz{yyzyyyyzyzy{z{{{zzyzyyzyyz{zz{z{yxyzzyzz{{zzzz{z{z{yyyzzzzzz{{{{zyzzyzzyz{z{zz{z{yzzzyyzz{{zz{{zzyzzyzxyy{zyzz{{{zyyzyyyzzz{zz{zzzyyxyzzz{y{zz|{yzz{yyyyyzzzzyzzzzyzzzyyzyzxyzyyyywxxxxxyzzzzyyzyzyyyxyxzzzzyyzzzyxyyyyyzyzyzzzyyxzyzyxyzyyzxxyzyyyyyxyxyzyzyzyzyxyxxyxwyzyyz{zzzyyzyyxyyyyzyzzyxyyyyyyxyxyzyyyzyxyxxyxyyyyyyyyyzyyyxyxyyzyyzyyzyyzzxyyyyzyyyy{yyxyyyxxyy{yzyzyxzzyyxyyxyzyyyzzyyyyzyyyxzzzzyzzzyzyyzyyxxzyyzzz{yxyxyyyzzzzyz{zzyyzyxyzxyzzzzzzyzyyyxyyxy{yzzzzyzyyyyxyxyzyyzzzyyxyyzxyyyz{zxz{zxyyzyzyzyzyzz{{zyzzyzyyyzyxzzz{{zyyyzyyyz{{y{{zzzyyyzyzy{z{z{{zzzyyyzy{z{zz{{z{{{zyzzzyzzzz|{zzzzyzzz{yz{zzzzz{z{yyzzyyzz{yz{zz{zzzyzzzzzz{z{{|zzzyyyzzyzzz{zz{z{zxyxyyyzzzz{zzzyzyyyyyzyyyzyyyyyyyyyzyyxzyyyzzzyzyxyyxyzzyzzzyzyxyxzzyxzyyxzyzzyyyxyyxyyxyzyyzzzyyyyxwyyyzzyyzzyxzyyzzxyyzzyzzzyyzyyxyyxyyyzzzzyzyyxzyyzyzzyyyyyyyxyyzyxzyyyyyyyyyxxyxxzxyyzzzyyyzyxyyxxzxyzzz{yyyyyyxxyyzzxyyyxzyxyyyyyzxyyzzzyyyyyyxyyyzzyzzzzyyyzyzyzzyzyzyzyyyyyyyyzxzyyy{yyyyzyyxyyzzzzzzzxxyyzxyyy{zzyzzzyyyyxyyyyzzyyy{zyzyzyyyyzzyyzzzzyyzyzyyz{zzzzz{{zyzzzyyyzyz{z{z{zxzyyzxyz{zzyzzzzyzyyzzzzzzz{z{zyyzy{{zzzz{zz|z{zyyyzyyyz{{{{z{{zyzz{yzz{{zz{z{z{zzzyyz{z{y{zz{{zzzzzyyy{zzzzzzzyyzyzzzzzyzzzz{z{zzyyzzyxzzz{yzzzyyxyxyyzzyzzyyzyyxxxxyxyyyyyyzyxyyyxxyyzyzzxyyyyxyyyyzyyzyzyzyzxxyyyxxyyzzzyzzzyyyxxyxxyzyzyzzzxyzyzxyyyyyzyzyxyyyyyyxxzzyyyzyzyyxxyyyxyyyyyzyyzxyyzyxwyzyxzyzyyyxyxyxyxyzyzzyyyyzxxyxyxyyyyzzyyzyzyyxyxzzyyyzzzxyxyxyyyzyyzyyzxzyxzyyyzzyyyyzzzyyzyxyyyzyyzy{y{yzyyyxxzzzyyzz{zxyyyyzyyzzzzyzyyyzzyyxyzzyzyzzzyxzyyyyyyzzyyzzzzzzyzyyzzzzyzz{zzyyzzzxyy{yz{zzzyxzzzyzzzzzzyz{zzyzzyyyyyzzy{z{zzyyzzyzy{{zzzzzz{yzzzyzyz{zz{z{{{zxyzzzzz|z{zz|zzyzzyyzyzz{zz|{{zxzyyyzxy{zzzzzzzzyxzyzzzyyz{{{zzyyyyzzyzyzyy{zz{yyzzzzzzzzyzyzzzyyyyyyxyzzyzzxyyyzyyyxxyxzzxxzyyyxyyyyxyz{zyyz{yyxxxyxyzyzyzzyzxxyyyyyzyzzzyyzzzyyyxzzyyyyyzzzzyyyxyyyyyyzzyyyyyxxyxwyyxyyyyyzzxzyxyxxyxzzzyzyzyyyxyxyxyxyyzxzzyyxxxyxzyxyzyzyzxyyyyyxyyyyyyy{yyyyyxwxxxzyzyzyzyyxyxxyyxyyxyz{yxxyxyzyyzyyzyyy{yyxyyyyyzyyzyyyzxyzyxyyyyzz{yy{zyxzyyyyyyzyzzzzyywyyxyyzyzyyzzzyzxyyyyyyyzzyzyyzyxyyzyzyz{zyzzyzzzyzzzxyzzzzzzzzyyyyyzzyz{zzzzz{zyzzzyxy{yzzzzzzzyyy{yzy{zzxzz{{yyyyyz{yzzzzy{zy{zyyzzyzzzz{{zz{zyzzzyyyyz{zyz{yzy{yzyzzzzzzzzzy{yyzzyyzyzzzzzz{yyzyzzzzzzzzy{{zzyxyxxyyzyzzy{yyyyyxyxyyzz{zzyzzxyxyyxwxyzyyyzyyyyyxyxxxyyyzyzzzyyxxyxxxzyzyxzyyyxxyzxyyyyyyyyzzyyyyxyyxzyyy{yzzyxyxxyxxxzyzyzzyyyyyxxyxyyyyyzyyyxwyyxyyyyyyyzyyxxyxyxyxzyyzzzzyyxxywyxyyxzxzxzyzxzyxxyyyxyyxzyyxxxxyxxxxyyyxyyyyyyyxxyyxzyyyzzzyyyyyxzyyzzyxyyzyxyyxyyyxzzzyzzzxxyyxxyzzzzyyyzzyxyyxxxyyyyzzyzzzzzyxxyyyzyyyyzyxxyxzyyyyyz{zzyzzxzyyzyyzzzyyzyyyyzyzzyyzz{zzzyzyyyyzzzz{{zyz{yzzzzzzxyz{z{zzzyzyyzzyyyy{{zzzz{zzyyyyzzyzzyzzzzzzyzzzzyzz|yzzzz{y{zyyyzyzzzzzz{yzyyzyyyz{yzz{zy{{yzzzyxyyzyzz{zy{yzyyyyzyzzzyz{zyyzyxyyxyzy{xyyzzyyxyyyyyzzzzzzzxyyyxyyyyzzzyyy{yyyyyxxyzzzyzyyzyyyxyyyyzyyyyzyyzyzyyyxyzzzzyyyzyyyxxyyxyyyyyzzyxxzxyxxxzzzyyyyzyyyyxxxyyyyzyyxxxxyyyyyyyxyyzzyyyxyyyxxyxzyyzzzyzyyyxyxyyzyzyzzzyxyyxzyyzzxzyzyyyzxxyxxyyzzyzzzyyzyxzxyyxzzyyzzyzxzzyyyxyzyyzzzz{yyzyxyzyyyyyzzzyxyxyyyxz{yz{zyzyzxxxxyyzzzyyyyyyyxzzyyyzyzzzzyzzyyxzyyyzyzyyy{yyxyxxyyyz{zxz{zz{yyzyyxzzzz{z{{zzzzyyyzyyzzyy{zz{yzyzyyzzz{zz{zzzyyzyyzzz{{{{yz{zzzzyzzyzz{{zzzy{zzyzzzyyzzzzz{zyyzyyyyyzyzzy{zzzzyzzyzzyzzyzz{{{zyyzzzzzzzzzzzzyzzyxyyyzyy{z|zzzyyyyyyxzzzyyyy{yxyyyyyyyyzzyyyyxxyyyxxxzzyyyyyyyyyyyxxxyzyzyyzzyxyxyxxyyyyyyz{|yzyyyyyyzzyzyzxzyyxxxxyyyzyzzyyyxwyxyyzwxzzxzzzzyyyyyywyyyyzzyyzyyxxyxxxyyyyyyzyyxxxxyxyyyzzyyyyxxyyxxyyxzyyzzyyyyyyyzyzyyzyyyzzzyyyyxyxyzxyyzyzyyxxyxyxyyxyyzzzyyzyxzyxyyzyy{yyzyxyxyyyzzyyzzzzyyzyyxxyyyzzyyzzxyyyyyxxzyzyzzz{zyyyyxyxyyyyy{zzzyyyyyxyyy{zzyzyzyyyyyyyzyzzyzyzzyzyzyyyzz{{z{zzyzzzyyzzyzz{yzzzyyzyzzzyz{zyzyyz{yzxzyzyzzzz{zyzzy{zyzyyzzzzzyzzzzzzyzyyz{yyyzzzzyzzyyyzzzzzz{zyzyzzyyzzyzz{z{zzzyyxzzzyz{{zzzzzyzzxzyzyy{z{zzzzzyyxyyxyzzzzyyz{yyzyyyzxzyxyzyyyyyxyyyyxyxyyzzzzyzzxxxyyxyzz{zzyzzyyyxxyyyyyzzzyyyyzyxyyxyzzyyzyzyxyyyyyyyzzyyy{zxxyyxzyyzzyzzyzxyyxyyxyxyyzyy{yyxyxyyxyzxzyzzyzzxyyxwyyyzzyyzzyyyxyxxxzxxyzzyzyyyyyyyyyyyyyyzzyywyzxyyxyyyyyzyyyxyxyxxyyyzzyzyzyyzyxyxxzzzyyzyzzxyyxyyyyzyyzzzzyyzyyyxyyyzzyyy{yzzyxyzyyzyzzzzzyyyyyyyzy{zzyz{zyyzyyyyyzzyyyyzzzzyzzyyx{z{yzzzy{zyyzzyyzy{zzzzzyyyzzyyyz{z{{zzzyyyyyxyyy{yz{z{{zzzzzyz{zzzz{{{{yyzzzzzyz{yzyzz{yyyyzzyz{zyz{zz{zzyyzzzzz{zzzz{{zyzzzzzzyyz{zzzzzzzyzzzyzyzz{z{{zyyyxzyyyzz{zz{yzyzxxyyyy{zyyzzyyyzxyzyxzyzzzyyzyyxyzxyxyz{zzyzzyxyyyxzyyzzzzzzzzyyyyxyxzyyzyyzyzxyzxyyzzzzyyyzzyyyxwxxxzyy{z{yzywyyyxyxy{zxyzzzyyzyyyyyyzzyyzyyyzyxxyxyzyyyyyzyxyyxyyxyzyyzzzyyyxyyyzyzyzzyzyyyxyxyyyxyyzyzyzzyzyyyzxxxyzxxyzzzyyyxyxzyzzyzyz{yxzzyyyxxyyyzzzyzzyyyxyzzzzyyzzzzyxyyxyzyzzyyyzzzyyyxyxyyzyzzzzzzzyyzzyyyyzyz{y{zzyzyxzyyyzzzyyzzzyzzyzzyz{{yyy{yzzyyzyyyy{zz|zyzyzyxyyzzz{yzzz{zzz{zzyzyy|zz{zyzzyyzyyzzz{zz{zz{zyyyzzzyz|zz{z{z{yyx{yzzz|{{zzz{{z{zyzzz{zzy{z{zzyzzyyzzz{z{z{{z{zyzy{y|yzzzzz{zyyyyyxz{zyz{z{{zzzyzyzyyy{{yzy{zzyzyyyzyyyzzz{yzyyxyyyyxyzyyyyzyyy{yyyyyyzzzzz{zzyyyyyxyzzzzzzzzzyzyyxyyyzyzyzyxyyyywyyyzyyyyyy{yzzxyyyxyzyxzzzyzxyzxyxyyyxyxyzyyyyxxyxyyyyzzyzzxyyyxxxzzyyyxyyxxyyxyyxyyzzyzyzzzyxyxyyyyyyzyyzzxxxyzxyxyyzyyyzyzyxxyyxyyxxzyyzzxyyxyyxzyxzzzzzzyyyy{yyzyzzzyzzzzxzyyyyxzyyzzzzzyyzyyyyyzyzzyzzzzyzyyxyyzy{z{zzzzxyzxyxyyzzzyy{zxyxyyzyxyy{{yzyzzzzxyzzyzzzzzzzzyzyyzyzyyzy{{z{zyxyzyyyyz{{zyzzzzyzyyyyy{|zzzzz{z{zx{zzzyz{z{{{zzyyzzzyz{|{{z{z|zy{zy{yyz{z{zz{z{zzyzzyz{zz{zz{yzyyyyxyyzz{zzzy{zzzyzxzy{zyz{zz{{zzyzxyyy{yzzyzzzyyyyyzyz{zzyyyyyyyyyyxxyzzzzx{{yyyxyxyzyyyyyyzzyyyxyxyxyyzy{zzyxyyyyxxyxxzyyxyzzyzxxyyxyyzyzzyyyzxxyyyxyyzyzyyxyxyyyxyyyzyyyzzyyyyyyzxyyyyyyzyywxxyyyxyyyyzyyyyyxyyyyxyyxyyzxyzyxyzxyxxyyxzzzxzxyyyyxyyyyzzyyzzyzxyxxyyyyyyyzzzxyzyyyxyyzyzyyyzxyzyzxyyzyyyzzyzzyyxyxyyzxyzxzyyyyyxyyyyzyzzyzyyzyyzyyyyyzyzyzz{yyzyyyxyy{y{zzzzyyzyyyyyzyzyzyyyyyyyxxyyzyz{yzzzyzyzyzyyzzzzzzz{zyyzyzyxzzzyyzz{{zyyzyzyz{zz{{zzzyzyzyzyzzzz{zz{z{yzxzzzz{{zz{{yzzzzxxyz{zyz{{yzzyyzyyxzyzzyzzz{yzyzzxzyzyyzzzzzyyzyxzzyyzzzz{zyzyzzyxyyyzy{yzzzzyzyyyyyyzzzxyxyyyyxyxyyyzzxzzzzyyzyxyyyyyzzyz{zzzyxxyyxzzzyyzzyzzyxxyyyz{zzyz{zyyxxxyyyyyzyyzyzzxzxyyyyyyyxyyzzzyzyyyyxyyzxxyyyzxzyyxyyyyyzyzxyyyywxxyyxzyxyyyzyxzxxxyyzyyzyyyzyyyxxyxxzyxzy{zzyyyxxxxyyyyyyzyxyzyyzxyyxyyzzyxzyxyyyzxyyzyyzzzyxzzxyxyyyyyzzzzzzyyyyxyxyyzz{zy{yxyyxzyyxzzyzy{yzyzxyxyxzzzz{zzyzyyyyxyzzzyzzz{zyyyyzzyyyzzyzzzzyyyzyyxzzzz{zzzyyzyyzzyyyyyzyz{zzzyyyzyyzzy{z{zzzzyzyyyy{zyzzzzzzzzyyyzzzzzzy{zzzzyyyzxzzzzz{zzz{zzzyzyyz{y{zz{zzyy{yyy{yzzzzz{{zxzyzzyz{{{z{z{zzyyxzzzyzzz{zzzzzyyxzyyyzzyzzyzzyyyxxxxy{yzzyzyyyyxxyyyyxyzyzzzyzxxyyxyyzyyzyzzzyyyyyxyyzzyyyzzzzzyxyyyyyzz{yzyzyyyyyyyyyyyzyyyzxyyxyxywyzyzyzzzzxyyxyxyzyzyyyzyyyxxxyxyyxyzyzzzxyyyyxzxzyzyyyyyxzyyxxwyzyyzyyyyzyxxyyxxyyyzyzzzyxyyxyzxyyyxxyyyyxyxyyyyyzyzz{z{yyyyyyxyzyyyyyzzzzyyyyyyyzzyzzz{yzyzyyyzyz{{zz{zzzyyyyxyz{zzyyzyyy{yyyyyyzzz{zyzzyzyyyyyzyzzzzzzzyyzyzyzyz{zzyzzyyzyzyyyz{zzz{zzzyzy{zzzz{z{zz{zyyzzyyyzzyz{y{zzzx{yzzyz{zzz{{zzzzzyyzzyzyzzyz{zzyzzy{{y{zz{{z{{zzzzzyyy{z{zzyzz{yyzyyyyzzzz{z{zyzyyzyyzyz{zzz{{zzzyyyzyyzzzzy{yzzyyyzyyyzzzyzzzzyyzyyzyzzzyzyyyyxxyxxxwxzzyzyzzyyyyxxyxxzyzzyzzyyyxyyyxyzyyzzzyyyxyyywyyyx{xyzzyzxzxxzyzxyzyxy{yxyyyxyyywxxyzzyyyxxyxxxyyzxyyyxyyyxxyxxxyyyyzyzxyyyyyxxyyzyyyyzyxyyyywxxx{xyyyzyxyxxxxyyyyzxzzyyxxyxyyyxyyyyzzyyzyyyxxxxzyyyyyyyyxyyyyxyzyyyzzzyyyyyxyxyzxyyzzzyyyxyxzzzyzyzzzzyxxyyyzyyyzzzzzyzyzyyxyyyyy{yzyyyyxyxyyyyy{yyyzzxyyyxyxyzzzyzzzxzyyyyyyyzzzzzyzzyyyyxzyyyzz{yzzzyyyzyzyyzzzyzy{yzyyyyyyyx{yzzzzzyzzyzzzzzzy{yzzzzzyyyyzyy{{{yzzzzyyzyyyzyzzyzzy{zyyxzyyzz{yz{z{{zzyyyzyyyzz{zy{zyyyxyyyzzzzyzzzyyxzyxzzyyyz{yy{yyxzyyxyyyyyzyyyxxxyyyyyxyzyyzyyyyxyzyxyyyzzyyz{yyyxxyxyyzyzyyzzyyyyyyyyxyyyzyyzzyyyyxxxxyyzyy{zyyyyxxyyyyyzyyyyyyyyyywxxyyyxxyzzyxyyyyxyyyyyxyzyxyyxyyzxyyyzyzyyyxyxzyxyyxyyyzyyyxyxxwxxyyyyzy{{yyyyzyyxyy{yyyyyxyzxxyxxyzzzyzzzyyyyzzyxyyzyzyzzyyyyyxyyzyyyyzzzzyyyywzyxyyzxyzzyyyyyyyyzzy{y{zzyyzyyyxxzzy{zz{yyyyyyyyzzz{zzy{yzzyzyxyyzzzyzzzzyzyyzyyzzyz{yz{{yyyzzyzyyyzyyzz{yyzyyyyzz{z{zzzzzyzyzyzyz{zzz{{yyzzyyzzyyzyyz{zzzyyyzzzyzzy{yz{z{yzzyyzzyzyzxz{{zyyzzyyzzzzzz{zzzzyyzzyyzzzzzzy{{zyzyyyyzyzyzzz{zzxyzyzyzzzzzzz{yxszyyyxyzzzzzyzyxxxyyxyyyyyzyzyxyyzzxyxxyzyyyzzxyyyyzyxzyyyyyyzyzyxyxyyyzyzyzyzyyzywyyxyyyyyzyyxyyxxzxxxyyyyzz{zxzyyyyxzyzyzyyyyyyyyxyyzyyyyyzzyyxxyyxyyyzyyzz{xyyyyxxyxyyxzzzyxyyxxyxxyyyzzyz{zyyyyyyxyxyyyzyyyyyyyyxyyzyyzzzzyxyxxyyzyyyyzzzyyyyyyyyyzzzzzzzzzzywyyzy{zyzzyzzxyyyxzxzyzzyzz{zzyyyzyzyyzyzzyzzyyyyyxzyzyzzzzzyzyxyyzxyzzzyzzyzzyyyyyyyz{zzzzzzyyzzyyzyzzz{{{zzyyyzyyyy{zzzyzzzzzyyyzzzz{z{z{{zzyzzzzzyyzz{{zzz{yzyyyxyz{{zyz{zyzyzyzyy{z{zyz{zzzzyzzzy{zzzyz{zzyzz{zyyz{zzzzzzzzyyy{yyzzzzzzzzzzyyyyzyyz{zzzyzzxyyyxyyzyzzyzyyyxxyyyyyyzyyzzzzyyyyyxxyyyyzyzz{yyxxyzyyyzyzzyzyzyyyxyyyyzzzzxzzyyxxyyzxyyyyz{yzyyxzzyyyyzzyyzzyyyyyxyyxxyyyyzyzzyyyyyxxyyzyzzyyxxyxyxyxzyyzy{zzyyxyxxyyxyyxyzyzyyzyxxxyyzyyyzzzzxyyyxxxyxyzzzzyzyzyyxzyyyzyzzzyzyyyyyzxyyyyzzzyyyyxyyyyyyyyzyy{zzzxxyyyz{zzzzzzyzzyyyxzzzzzzz{zyyyyzzzyy{{{yz{yyxyyzyxyy{y{zyzzyzzzyxyyzzzzzzzz{yzzyyzyzzzzzz{{zzzyyyyzzz{zz{{{zyyzyyyzz{zz{{zzyzyzyyy{z{z{{{zzz{zzzzyzz{zzz{zy{yzzyzzyz{zzzz||{z{zyyzyzzzzz{{zzzyz{zyzzzz{{{z|yyxzzyyy{yy{z{zzzzzyzyz{z{zzzzzzzzzyyyyyzyyzzz{zyz{yyyyyyyzzzzzzyxxzxyxxyyyyyyyzxyyyzwyxyyyyyzzzyyyxxyxwyyyxzzzyzyyyyyxxyyzyyyzyyyyxxyzxyyzzyyyzyyyzyxyyzyyyxz{y{zyxyxxxyzzyyxyyyyyyxxyyzyyyyyzyyxxyxxxyyyyyxzzyyyyyxxxyxyxyzyyyyxxyxyyxyyyyyyzzyxyyzxxxxzxzyzzyyzyyxyyxzzyzzyyzxyxxyyyyzzyxzyzyyyyxxyxyyyzzyyzzyxyzyyyyzzyzyzzzyyyyyyyxy{yzyzzzzyyyyzyyz{yzxzyzyyyyyyyxy{zzzzzyzyyxzyyzyz{yzzzzyyyyyyxyyyz{{zy{yyyyyzyyyzzzy{{zyyzyyyyyzz{zz{yzzyzy{y{yy{zz{zz{zyyzyzyzzzzzzzzz{yzyzzzzy{{z{z|z{yzzyzyz{zzz{zzzyyyyyzyz{{z{zz{zzyzxzzyyz{yzzzz{zyzyyyyzzyzzz{{zzzyyyyyyyzzzzzyzyyyyyyyyyyzzyyyyyyyyyyyyyzzxyz{zyxxzyyyzyzzyzzz{zyyyyzyyyyzzzzzyxyyyyyzxyzzyzyzyyyyxyyyyyyzzyyyyyyxyxxyyyyyxyzzyyzyyyyxyzyyyz{zzyyxyyyyxy{zyyzyzzyxyyyxyzyy{yzzyyyxyxyxyyzyzyyyzyyxxyyyxxyzyzzyzzyyyxyyxy{xz{zzzyyxyyyyyy{zyyyyzyxyyyzyyzyyxzzzzyzyyyxyyyyyzyzzzyyzyyyyyzzzzzyz{xzyyyyyyyzzzyzz{zxyyyyyyyz{zzzyzyyyyyzzyyz{zzyzzzyxzzyyyzzyzy{zzxyzyzyyzzzzzz{zyzzyzzzzzyy{{zz{|zzyzyyyxzzyz{z{yzzzyzzzzz{z{z{z{zzzzyy{{z{yyzzzzzzzzzy{yz{z{{{{z{zzyy{yx{zzzy{{z{zyzzxyzxyzzy{z{zyzyzzyzzy{z{zzzyzzyyzzzyy{yz|zzyzyyyzzzzzzzz{zyxyzzzyzyyzzzzzxyxyyxxxxxx{yyzyyzyyyyxxyyyyyzzyzzzyyxyxxxyxyzyz{zyyyyxxyyyyyyyyzzyyxyyyzxyyzyyyzzyyyyyyxyyyyyyzzyyxyyzxyxxyyyzyzzxyxyyyyzyyzyzzyzxyzxxyyxxyxzyyyzxyyyxyxyyyyyzzyzyyyyxyzxxzyyyzzyyyzxyyyxyxzyyyyzyyxxywxyyyzyy{zzyyyyyyxyyyyzy{yyzyzxzyyyzzzyzzzzzyyyyxyyzyyy{{zyzyyzyxxyyzzyyyzyyxzzzyyzyzyzy{yzxyyyyyyyyzzzyzzzyxzyyyzyzzzzzzzyyzzyyyyzzyzz{zzyzyyyyyzxzzyzzzz{zzzzzxyyzzzzz{{zzzzxyyzyzzzzzx|{zzyyyzzzz{zzz{zzzyzzy{zzzzzzzz{z{zzyzyyyy{zzzz{{{zxyzy{zyzy{z{{{zyzyzyyzyzzzz{{zyzyyyzzyzzzzzzz{zyyyyzyxyzzz{zzzzyzyyyzyyyzzyzyyyzyyxxyxyzzzzyzzyywzyyxyzyzzzzz{ywyyyzyxyzzzzzzyzyyzyyxyyzzzyzyzzyxyxxyyz{zyyyzyyyyxzxzxyzyxyyyzyyyyyyxyyyzzzzyzyyyxxxxyyyyyzzzzyxxxyxyyzzzyzzyzzxxyyyxyyxzyyzzyyyyyyyxyyyyyzzyyyzyyyyyyxyyyyzzyxzzxyyyyyzzyz{yzxyzyxzzyyxxzyzzzyxyyyyxyyzzyzyzzyyyyzyzyy{zzzzzzyyyyyxyzyzyzyzz{yxzxzzyyyzyz{zzzyyxzyyyyzxzyyz{zyzyzzyyyyzzzyzzzzzzy{zyzzyzzzzz{xyyyzzzzy{yzyz{zyz{zyyz{z{y{zyzzzyzyzyyy{zzzz{z{yzzyyz{zz{{{zzz{|zyzyyyzyzz{zz{zy{zzzyzyzz{zzzzz{yzzzyxyzzz{z{{yzyyzzzzzzz{zz{zzzxzxyyyyzzzyyzzzzzzyzzyxy{zzyz{yyyyyzyyxyzzyyzyyyyzyzyxyzyzyyzzzyyxxxyxyxzyyyzzzzxyxyxyyyyyzzz{yxxxyyxxyyyyzyyyyyyywxyyxzzyyyzy{yxyyyxyyxyzyyzzxyyzyyxyyyxyyxy{zxxxwyyzxyyyxyyyzzyxyyyyxyyzzzyyyyxyywyyyyyzzzxzzyyyyxyxxyzyzyyzyyyyyxwwyyzzyyyyzyyyyyxzxyyyzyzzzxyxxxxyyyzzyzyyzyzyyxzyyyzzyyyzzyyzyxyzyyyzzzyzzxyyzyyyzyyzyyy{yyyzyyyyxzzyzyzyyzyyyyxyyyyzzyz{yyyyyyyzxzzzzyzzyyyxyyzyyzz{zzyzzyzzyyzyzzzz{zzz{zzyzzzyxyz{z{zzzzyyzzzzyz|{{zzz{yyzyyz{zyzzz{zzzz{yzxyyzyz{zzzzzzzzyyyzyzzzyzz{{zzyzzyyzzzzzz{zzzzyzzyxzzzzzyy{{zzyxyzyyyyy{zzzzyzzyzzyxyzz{zzyyyzzzxyzxxzyyzyzyxxyyyyxyyzzyyzyxyyyyxxxxyzyyyzz{yyyxxxxyyzyyyzzzyyyyyxyyyxzzyyyzzyxxyyyzyzzyzzyzyxyxywyxyyyyyzzxyyxyxyyyzyzyyzyyyxyxyxyyyxyzyyyzxxxxxyyyyzyyyy{yzyyzwyxyzyyzzxyyzyxxxyxyxyyzzxzzzyyxzyxxyyyxxyzzxzxyyxxxyyyyyyzzyyxxyyyxyyyzzzzyzyyyyxyyxzyyyzyyzxzyyyxyyyyyzyzzyzyyxyxyzyzy{{zyzzyyyzyyzyy{zyyzyyyyyyyyzzzzzz|yyyzyyyxyzzyzzzzzyzzzyzyyzzzzzzz{yyyzyyyxzzzzz{zzzzzzyyyzyzy{zzzzzyyzzyzyz{{z{{z{yyyyyy{zzzzy{z{z{zzyzyzyzz{yz{{{{yzyyyyz{z{z|zzzzyzxyzz{zy{yz{z{zzzyzzzxzzyz{{z{yzzxyyxyyz{yyz{zyyyxyxyz{{zzzz{zzyzxyxyxzxzzzzyyyyyxxyxwxzyyyyzyyzxxyyxxzwzzzyyzyxyyxxxyxyyyyyyzxyyyyxyyzyyyyyzyxyyyxxyxy{yyyzyyxxyxwyyxxyyxyyzzzxyxyyxyyyzyzzzyyyyxyxxxyyyyyzyyyyxxyxxxzyyyzyxyyxyxxyyyyyzyyyzzxyyyxxxwyxyyyzzyyyyyxxyxyzyyyyyyyxyxyyxyyyyyyzyzyyzxxyxyzyyyzyzzzxxyyxyxyyzzyzzzyzyyyxyyyzzyyyzyyyxyxyxyxyyyyzyzzyzyyyxxyzyyxzxyyxxyyyxyyzzyyzzzyyxyyyyyyzzyzzzzzzyzyyyy{yz{{yzzyyyyyyyyzzy{yz{zyyyzyyyyzz{{yz{zzyzzzyzyzyzyz{z{{zyyzzzzyyyyyz{zzyzyzzyyy{zzz{z{yyzzyyyz{zzzzz{{zyyxyyyzzzyzzz{zyzyzyzyyzzzz{yyzxyzyyzyzyzzzyzzyzzzyyyyyyzzyzzzyyxyxyyyyzzzyyzyxyxxxzxxxxzyxyzxyyxyxxwxyxyzyyyyzyxyxyyyxzyyzzyzzzxyyxyyxyyyyyyyzzyxyywwxyyzyyzyzzwyxxyyxzzxyyzzyyzyxxyxyyyyyyzyyyxyxxyyxyyyyxzzyxyyyxzywyzyyyyyyyxyyxyxxyzzyzzxyyxzxxxyyxyxyyyyyyxxyxxxxyxyyzyxyyxxyxyxyxzyyzzyyxyyyyyyyzyzyzzzyzyxyzyxyyzzxyyyyyxyxxxyyyxzzzzyzyyzyxyyx{yyxyyyzyzyxyxzxxxyzyyyyyyzyxyxyyy{yyzzyzyyyxxxxzzzzyzyyyyzyzyyxzy{zzz{zzzzzyyyyzzzzy{{zyyyyxxyxz{z{z{z{zyzzzyyxzzz{z{z{zyzyzyyzz{{zz{{{{zzzyyyzzzzyz{{zzzyyyyyzzzy{zy{{yyzzzzyzz{zyyz{zzzyyzyyzyzzzzzzzyyxyyyxzyzz{zz{zzzxzxyxyyyzzzzzzyzyxyxxyzyzzzyyyxzxxzzyxyzzyyyyyyyxyxxxxyzyzzyyzyzyxyxyyyyyzyyyzyxyyxxyxxyzxyyyyzxyyxxxxxxyyyyyzyyzxyxxxyyyxyzzzyyxxxxyyyyzxxzyyyyzxyyyyxyyyyzzyxxyxxwyyyyzyyyzyyxyyyzxxxyzzzzzyyxxxxxwxyyzyyzyyxxyyxyxyyxyyzyxyyyywxxyxyyxyyzzyxyyzxzxxyyzyzzyzyyyxzyzxyzyzzz{zyyyyyxyyyxyzyxzzxyyyyxyyyzyzzzyyyyyzzxzyyyzyzzzyyyyxzxxxzzzzzyzyzzzyyyxxy{zzz{zyyyzyyyxyyyyz{zzzxzyzyyzzzzz{yzzyyyyzxyzyzyyzzzzyzxzyzyyzzzzz{z{{{yyzy{zzzyzz{{zz{z{zyzyzy{z{zz{{zyzzzyzzzzz{{yzz{zzyzyyzzyzyzzz{zyzzyyzzzzzzz{zzyyyzyyzyzzzzzzzzzzyyzyyyzzzyyyzzyyyzyyyxzzzyzzyyyxywxyxxyzzyzyzzyxyxyyyyzzyzzzzyyzyyyxyyyyzzyzzyyyyyyxyyzzyzyyzyxzxxyxyyzyzzzzyzyyzyyxyyyzyyyzyyyyxyxwyyyyzzzyzzyyyyzyxxzyyzyzyzxyzzxxyyyyyzyzzyzyyxyxxyyzzzzzzyzzyxyyyyyzzyzzzyyxyyxyyxyyyyzyyzyyxxxxzyyzyzzzz{yxzyyzyyzyyzzzzzxxzxyzyyyzyyyzz{yyyyzyyyzz{zyzyzzyzyyzzyz{yzzz{zzyyzyxyyzzzyzzyzzyyyyyyyzzz{xzzzzyyyzyyzzzzzzz{zzzzyyzyzyzz{z{z{yyyyyzzyz{z{zz{zyyyyyyxzz{{zzzzzzzzyzy{yzzz{z{{zzx{yzz{yzzyz{{z{{zzzz{zyy{z{z{{zzzzzyyzyzzzzz{{zzzyyyzzyzzz{{zz{zzzy{yzz{zz{z{z{y{yyyyxyz{zz{zz{{zyyzyxy{zz{zyzzyyyxyyyxzzzyyzzzyxxyyyyyyyzzxyyyyyyyyyyyyzzyzzzyyyxzyxxyzyyzzzzzyyxxxxyyyyyyxyy{yyyxyxyxzyyyyzzzywyxzzyxyzzyyzzzyyyxzyxxzxyyyzyyzyxyyyyxyyyzyyyzyyxyyyyxyyxzyyzyyyxyxyxzzyyyzyzyxyzyxyxyyyzyyyyzyxyyyxxxyyyyyxzzzzyyzxyyzxyyzzzyzyyyzyxyyzyzyzyxyxxxzxyyyzyzyzzzyyyyyyyyzyyzzzyzxxyyxyxy{zyzz{{zzyyzyxyyy{xyyzyyzxyyzyyyyyzzyyzyzyyyyzyzzz{zyzyzzzyzyzzyzzzzzzz{zz{yzyyyzzzz{{{zzyzyzyyyzzzzzy{zzyzyyxyzzzzz{{{zzyxyyzzyzzz{{{zz{zzzzzyyy{zz{{{zzzz{zzyyzy{{zzz{zxzzzzzzzzyzzzz{zyyxzzzzzz{yz{{{zzzyzzyyyzzzzzzzzzyzyyyzzzz{yzz{zxzyzxyyzy{zyyyyyyyxxyxxyyyyyyyyxyyyyxywzzyyzyzzyzzxyxyxyyyyyyyzyyyyzxyxyyzxzyzyyzxyxyyxyxyyzyzzxyyyxzyyyzyyyyzyyyyyxxxxyzyyyzzyyyzxyyyxyxyyyzyzyxxyzyyxyyyyyzzzyywzwxyyyyyyzzyyxxxyxxxxyyyzzyy{yyyxyxyyyyzxxzyyyyyxyyyyxyyyxyzzyyxxyxyyzyyyzz{zzxyxyyzyzyyyyy{{yyyyyxyzzzyyyzyyyyyxxyyxzyyzyyzzyyyyzwyxyzzzy{zyyyyyyyyyzyzzzyzzyyzyyxyxzzyzzzzyzyzzyzyyyyz{zzz{zyyyyyzzzzz{zzzzyzzxyyyxzzzzzyzyyyyzyyzyz{zy{{{zzzyxxz{yzyzz{zz{yy{zyzyyz{zzzz|zzyxyyzyy{zz{{{yyzyyyzyzyyyzz{{{{zyyyzyyzyzyzzzzzyzyxyyyyz{zyzzyzyyyzzzzyzzyzyyzzyyyyzxyxyyy{yzzyyyzxxwxxxyzxzyzyyzzyywyxzxyyzzzyzyxwwzxyzyzyzzzxzyyyxxywy{{yzyzyzyzyzxyxzzyyyyyzyyyyxyzyzyzyzyzzxxyyyyyxyyzyxyyyzyyyyyyxyyyzyyzyxxxyyyyxyyyxyyzyyyyxyyxyyzyyxzxxzxzxyzxyyyzyyyzzyxyyywxxyyyxyyzzzzxyyxyxxyyyxz{{yyzyyzyxzzyzzzzzzyyyxyyyzyyzzzzyyyzyyxyyzzyzyz{zyyyyxyxyyzzy{zzzzyzxyxyyxyzzyzzzyxxyyyzxzz{zyzzzzzz{zyzyyzyzzyyzzzyzyyyyzzxzzzzyyxyzyzzy{{y{y{y{zzyzyzyyzzzzzz{{zyyzyzzzz{zzzzzyzzyyzzzzz{zzz{z{zyyzzzxyz{zz{z{{zyzyyyyz{zz{zz{{zzzyzy{zzzz{zzzzzzyzyyzzzz{{|{z{zzyyyyzyz{zz{z{{{zzzxyxyyzy{{zzyyzzyyxyyyz{zzzyyyyxyxyyxxyyyzyyzyzyxyyyzyyyyzyyyzyyyxxyyyyyzyzyyzyzyyyyxyyyyyy{zyy{xyxxyyyyyyzyzyxyyxyyyyyxxyzzzzyyyyxwyyyyyxzyzyyyzxzyyyyyzyyzyxyyzxxyxyyzzyyyy{yyxzyxxyxyzzzxzyyxxxyyxyxxyyzzzzxzzyxyyzzzyyzyzyyyyyyyxxzzyz{zyyxyxxxxxxyyzzyzzzyyyyyyyyyzyzzzzyzzyyyzxzy{zzzzzzyzyyyzyxzzyzyyzzyxzyxyyzzzzzzzzzyyzxyzyzxyzyyzyzyyzxyzyyyyzzzzyzzzyyzxzyzzzzzz{zyyz{zz{zzyzzz{{zyyyzzyzyzz{zz{zzyyyyzzzzzzzz{yzzyzzzzzyz{zzzzz{{z{zyyyyy|zz{{z{{yyyyxzz{zyz{zzzzyyyzzzzyzz{z{z{{zzyzzzyyzz{zzz{zyzyzyzzzyyy{zz{zzzzxzzyzyz{zy{zzzyyzxyxz{zzzyyzyyyyyyyxyyyyyyyzzxyyxxxxyyxyzyyzxxxyyyzxyyxyyzyzxxxyxyxyyzyyyyyzyxyxxxxyyyzzzyyzxyyxyyxxyzyyyyxyyyyyxyyxyxyyyzyyyyyxxyxxzyzyyyyzxxyyyyyyyzyxzyzxyxxxyyxxyzyzzyzyxyywxxyxxyyyxzzzyyxxxxxxxyyyyyzyyyxxzyxxxyyyzzyzyyzyxyxyzyyxyyzyzxyyxzyyzzyyzzyzyxyyxwyyzyzyxyzzxyyzxxxyzyyyzz{yyyyzyxyyyzyyzzzyyyyxyxyyyzzzzyzzyyyyyzxxzzyzyyyzzyxyyyxyyyzzyzzzzyyyyyyyzzyyyzzzzyyyyxxyyz{yzyzzzzzyyyyzz{z{zzzzyyzyyzzy{zz{z{{zzyzzyyzzz{z{zz{{yyy{yyyyzzzyzzzzyzyzzyzzzz{{zzz{zzzyyyyzyzzzzyy{zzzyzyxyyxyzy{zyzyyyyyyyxzyzyzzyxyyxxxwzzzzzyxyyyyyxxxyxyzyyyzyzyyyywwyyxyyxzzzzyyxxyyyxyxyzzzzzyyxyyxxxzyyxyyyyxxxyyyxxyyyyyyyyyxyyyyyyxyyyyxyyyzyxyyyxyzzyyyyyyzxxyxxxyyxyyyzyxyyxxxyxyyzyyyyyyxyxxyyyyyyyzyyyyyzywxyxxyyzyxyyyyyyyyyyxzyxyyzzzxxyxxyyyzxyyyy{xxyyxyxyyyyzy{zzyxxxxwxxyzyyyyzyyyxyyxyxyzzzyyyyyyyyxyxyyxzyyyz{yyzyxyyxzzzyzyyzzyyyxyxyyzyyyxzyyyyzyxyxyzzxyzyzzyzyyzyyyz{zyzz{xyyyyzyy{zzzzzzyyyxyzyxyzzzzzx{zzyyzzzyzz{zz{{zzyzzzyyyyyzyzy{{{zyzyyyyzx{{zz{{{{yzyyzyyz{yzzyzzzyyzyyyyzzzz{zz{zyyyyzxzzz{z{zzzzxyxzzzyyy{zz{zzzyyyyyzx|z{zxy|zxzyyxyyxzyzzzyyyyxxxxxxxyyyyzyyyyxzyyxxxyzyxzy{zyyyxxyyyyyyzyzzyyyyxyxxyxy{yxzyzxyxxxwyxyzxzzzyzyxyzyyyxyyzyyzyxzxyxyxywyyzwxxyyyxxxxyxyyyzyyyyyxxxyyyxxzyxzxy{yyxxyxyxxxyyyyyzyyyyxxyyyyyzyyy{xyxyxxxxxxzzyyyyyxzyxyzxxxzyxyyyyxxxyyyyxyyzyyyyzyxyyyxyyyzzyyzyyyxyyyxzyyyy{yzzzyxyzyyyyyzyyyzyzyyyyyyyyyzyzzyyyxyzyzxxyzzzzyzzzyyyyyxyyz{yyyyzyzyyzzzyyzzz{zzyzyyxyzy{yyyzyzz{{xyyxzyyz{z{yzzzzzzyyyyzyy{{z{zzyzzyzxzzzzzzzzzzzzyzyyyzyz{zyzzzzzyzzzyyyzzz{y{zzzyxyyyzzzzyyyzyzyyzyyzyyyzzzzzzzzyyxyzyyyzyzyzzzyyxyzxzyzzyyyyzyzyywxyyyyzyyyywyxyxyxxyxxyzyyyzzyxyxyxxxyzzyyyyzyyyxyyxyyyxzyyzyyyyxyyzyyyxyyzy{zxyxywyyyyzzzyyyyxxxxxxxxyyxzyzyxyyxzxxyxyyxyyzxyyxxyyxxyyxyyyyyxxyxyyxzyzzyyyyyyyxxyyyxxyzyxyyxyxxxwxwyxyyyzxzzxxyxxxyxyyyxyyyzyyxxyxwxyyzzxxxzyyyyyxzyyzyxyyzyzyyxyzxxyzyxyzyzyyyyxxyyyzzz{yz{zyyyxxyyxyzyyyzzyyzzzyyxyzzyy{zzyzyzyyyyyzyzzz{yyyyyyyxyyzyzyzzyyzyyzyyy{yzyyzzzzzyywyyyyzzzyzz{yzyyyywxzyzzyzzzzyyzzyzzzzyyzz{zzy{yzy{zzzz{zzzz{zyyzzyyzzzz{z{zzzyyyyzy{yzzz{zzzyyzyyzyzzz{zyy{{zyzzyzz{zzzzz{{zyzyzyyzzzz{z{zzzyyyyyyyzzzzzyzyxzyzyxyyyyyyyyzyxyywyyxxyyyyyyyzyyxxwxxxyyzzzyzyzyyxyxxyyzzz{zyzyxyyxxyxyzyzyyyzxxyyxxxyzyyxyyzyyxyyxxxxyzyyyyxzxyyxxyyyyy{xxyyxyyyxyyyxyxyyyyzyyxwyxxxyxyzxyyzyyxywxyxxwxzzyyyyxyzyxyxyyxyyyyyyyyyxyxxxyxyxyzzzyxyyzxxwxyyxyzyyxyxyxyyxzyyyyzzzyyyxwxzyzzyzyyy{yxzyxyyyyzzzyyyzxyxyyyywzzyyzyzyyxzyyyyyyyzyzyzyyxxzyyxyyy{yyyzyyyxyyyxzzzyyyzzzzyxxyzyzzzzyzzz{zzyyyx{yzzzzzyz{yzyyyyxyzyzy{zzyzyyyzxzyzz{zyyyzzzzyyzzyzzzzzzzyzyzzzyyzzz{{zy{zzzzzyyyyzzzzzz{zyyyzyyyyzzyyz{zzzzzyzyzyzzzzz{{zyyyyyzxyzz{zzzz{yyyyyyxxyzz{yz{yyxzyxzxyxyzyyyyyzyyxxxxxxyyyzyzzzyxyyxyyyyyyyyzzxzyxzxyxyyyyxyyyzxzyxyyyxyzyyyyzxyyyyxxzyyyyy{yzyxyxxyyxxyyzyyzyxyyyyyyxzyyxxyyyxzxxyyyyzyyzyyyyxxxxxwyyxyzxyzyxyyxxxyxyxxyyyyzzxxyyxwyyyyyzyyzyzxxyxyyxxyyyyyyxyyxyxwxyxzxyyzzzyyyzxyxyzyyzzyzyzzyxzyyxy{yyzyzzyyxyyxyyyzyyzzyzyyyyyyyyyyzyzzzzzxyyyxyyyzyyzzyyzxyyxyyyyyyzyyzzzyyyyyyyzzzyyz{zzyyyzyyyzzzzzz{zxxyyzyzyzzyz{zz|xzyyyyyzy{{zzz{zyzyyyyyyzzzzz{{zzzzyyzzy{z{{zz{zzz{zyzyzzz{zzz{zzyzzyyzyyyzzz{{zyyzyyzyzzzzzz{z{{yzyzyyy{{yzz{zzzyyyyzyzyzzzy{zzzzyzyyyxyzzzyy{zyyzxyyyzzyyzyzyyzzyyyyxxyzyxyyyzyyxyyyxyzzyyyy{zyyyyxyyyzyzyyyzyzxxxyyxxyyyyyxzyyyywxxyyyzzyyzzzyxyxxyyxyyyyyzyyyxyyxyyyyxzxzzyyyyyyxzxxxyxyyzzzxxyxyxxyyyyyyzzxxyxxyyxzyyyzzyzyyyyxyyxyyyyzyyzzyyyxyyyyzxyyyzyzxyyxyyxyyzyxyzyyyyyyxyxxyzzyzzzyyzyxyyyyzzyzzyzzyxyzyyyyyzzyzzyyxyyyyyxxzyzxzzzzyyyxzyyyxzyxyzyzyxyyxxxyzz{yzyzzyyyzyxxyzzzyz{zyzyyxyyzyyzz{yz{{xyyyyyzyzyzz{zyz{yyzyyzzzzyyz{{z{yzyzyyz{zzzz{zzyzzyzzyzyyzzzz{zyyyzyyyzzyx{yzz{zxzyyyyz{{{{{{zzyyy{yyyz{zyzz{z{zxyy{yyzyyzzz{zzyyyyyzyyzyzzzzzzzzyyyzzyzyzzyzzyyyyyyyyyyyzzyyyzxyxxyyxyyyyzyyyyyyyxxxxxyyyzyzyzyxxxyyxxyyzyzyyzyxyxyxxyxxzzxyzyyyxyxxzyzyyyyzzzyyyyyyxyyzxxzzzyyyyxzywxyxyyyyyzyyyyyyzxyxyyxzzxyyxxyyyyyyzzyzzzxxzxyyxyyyyxyyyyxxzxyxxxxzyyyzyyyyyyyxxwzxzzzyzyyxyyyyyyxyyyzyyyyyxxyzyxyzzyyz{zzyywyxyxyyyyyzzzxyyyyyxxzzyyyz{zyyyyyyxzzyyyyzzzzxxxzwyzy{zzz{zzyyyxzyxyyzyyz{yyzzyzxyxyyzzzzzyyyxyxyyxyzzzyzzzzyyzyyyzy{zyzyzzzyzyyzyyyzzzzz{{{zyyy{yzyzyzzzzzzzyzyyyyzzy{y{zzzyzyyxyzzx|{zz{{zzyzzyzyxyy{zzz{zzyyzyzzzyyz{{z{{yyzyzzyz{zyy{yzzyzyyyxyyzzzyyzzzzzyyyyyyz{zzxzzyxzyyzyyxzyzzyyzyyyyyyyyxyyxyyzyzxyyyxxxyyyzzyz{zyzxyyzyxzyxzzzzyzyyxyxyxyyzzxxyyyzyyxxyyyyyzzxyzzyyxzyxxyzxyyyyyxxxyyxxxyxyyyyzyyyyxxyxyx{yzzzzyzywxxyxxyyzyyzyxxxyyxxyxyyyxyyyyyxxxxyyyyzxzyzyzxyyyyxyxwzyyzyzzzxyyyyxyyyyyz{yzxyyyyyyyyxyyyyzzyyyyxyxyyzzyyyzzyyyyzyyxyyzzz{zyyxyyyyyzyzzyzzzzyyzyyxyxyzz{yzyzzyxzyyyyyzzyyy{yyzyyyyyyzzzyzzzyyyxyyzyyyzzzzz{zyyzzyyzzzzz{zzzzzzyyyyyxzzzzyzyzzyyyz{zzz{z{zy{{yyzzxyzzy{yzz{{zzyy{zzyyzyzzz{{{zyyzyzzzzzzy{z{{zyzzzzyzzyzz{zzz{zyzzyzzzzz{yzzzzzzzzzzyzzyyzyzzyyyyyzyyy{yyzzzzyyzyzxzzzzzzzzzyyyyxyxyyyzyyxzzyzyxxyyyyzzyyyzzzxyxxyyyxyyxzyzyzyyyxxxyyyyzyzyzzzzyyyxyxzyzyyzzzyxyxyxyxzzyyy{yyyyyyyxxxzyzyyyyyyyzyxyxyzyyyyyyzxyxyxyyxyzz{xzzyzzyyxyxyyyyyz{zyyxyyxxyyyyyyzyyzyyxxyxyxyyzxyyzyyxyyxyyyyxyxyzzyzzyyxyyyzyyzyzzzzzyxzxxyyzyyzyyzzyyxyyyzyyzyzyyzyyyyxyyyzyzzyyzyxxyyyyzxyzyzzy{zxyyyyyyyyyzzzyyzzzyxyzxyzzzzzyzyzyzxyyyyzyzzzzzzyyzyzyyyzzyzzzzzzyz{zyyzyyzyzzzzzyzyyzyzzz{zz{zyyz{yzzyzzyzyzz{zz{zyzzzzz{zzy{{{yyyzyyyzz{z{z{{{zzyzyzzzzyz{zzz{zyyyy{yzzzzzzzy{zzxyyzzyz{yzyy{zzyyyy{zzzzyzyzzzyzyyyyzxyzzzzyxzyyxxxxxxx{zyyxyzzxxyxxyxzyyxyzyyyyxxwxyxyyyzyyyyxxxwxyxxyzzyyyyzzyyyxxyxxyyyyzyzxxxxxxxxyzxyyyyyzyyyyyxxxyyyyyyxyyxxyyxxyyxzyyxyyxxxxyyxyyyzyzxxyxyzwywxyyyxzzyzyxyxxxxxyxzxxyzxzyxyyyzyyyyzyzxyxyyxyxyyxzxyyzzyyxxxyyzyzyyyzxzyyzyyyxyzyzyxyyzzyyzyyzzyyyyyyyzzyyyxyyxyyyzzzyyzzxxyxxyxyzyzyzyyyyxwyyyxyyzzyz{yyxyyxyyyyzyyyzyzzyyyxyyyyyzyzzyzzyyyzyzzzzzzy{zzzxyyzxxxzzzzzy{yzzyyyzzzz{yzzzzzzyyyyyyyzyyzz{zyzyyyxzyyz{z{zzzzzxyyyyyxzyz{zz{z{yyyzxyzzzyzzz{{zyyxzyyzzxzz{yz{xyzxzyxzzz{yzz{yzyzyyzyyzzzyyy|yyyyyyyyyzzzyyyyyyyyxyxxxyyyyyzyyyyyxxyywzzyyyzyzxxxyxyyxxxyy{zzzyxyyyyxyyyyzxyyyyyyyxyxxzyzyzyzzyyxyyxxxxyyyxyzyzyxwyyxyyyyxyyy{xyyyyyyyyzzyyyyzyyxwxxyxyyyzzyyyyyyxyyxyyyzyzyyyyxywxxxxxyyxyyzzyxyxyyyyxxyyyyxzyyxxzyzyyzyzyyxyyzyyyxxxyyzzzyzzyxyyyyzxzzyyyyx{zxyyxy{yzzyyyzz{yxxxxyyyyzzyzzzyzyyxzxyyxzyyzzyyzxyyyywwzyz{yzzzyyxyzyyyzzzyzyzzzzyyyyyyyzzzzzzzxzxyzy{yzzzzz{zzzyyzyxyyz{{zzzzzzyyyyzzyz{zz{{zzzyzyy{y{yzzzzz{yzyyyyzxyz{z{zz{zzzyzyyyy{zzzzzy{yxzzyzzzxzzzzzzzyyyyzyyzzyz{zyz{yyyyyyxzyzzzzz{zyyyyyyzyyyzzzyzyzzyzzxzyyyyy{zyyxyyzyxyxyyyzzzzyyxxzxxyyyzyyyzyzyxxyyxyxyzyzyzzzyxyyyxxyyyyzxyyzyzyxxyxyyzyxyzz{zyyyxzyxyzyzzzzyyyyxyyxxyyyyyxzxyyxyxxyyxxzyzyyzyxyyyxyxxyxyyzzzyyyyxxyxzyyyzzyyyyyyxyyyyxyzyyzzyyyyyxxxxzyyyyyyzyzyxyxyxyzy{zyzyyyyyyyyyzyxyxyyyxyxyxxxyzzzyyzzzyyyyyzyyzz{zzzzyyyyxyxx{yyzzzzzyyyzyyxxyyxy{zzzzyyyyyxyyzzzyz{zyyxzyxyyzzyyzzzzzyyzyzyxyzz{zz{yyyyyzyyxzzz{y{z{yzyzyyyxyzzz{zzz{yyzyyyz{zzzzz{zzzyzy{yzyzzyzzzzzzyzy{yyzz{zy{{{yzzzyzyzzzzzz{{zzzyyyy{zyzyyz{{{zyzyzzzyzzzzzzzzzzyzzzyyzzzyz{{yzzyyzzyyyzyzyyzzyyyxyyyyzz{zyyyywzxxyyywyyzyyyzzzxxxxxxxyxxzyyxzyyyxxxyxzyyyy{yyyyxxxxxwxyyyxyyzyxyxwywwxxxxxyxzyyxxyxxx{yxyyzyyyyxxwxwyyyzyyyyzxzyxyyyxyyx{yywyyyxyxxxxyyxyyyzyxwxyxyxyxxyyyyyyxyxwxyyxyyyyyxzzxyyxxwyyxyxxyyxyyxxxxxyyyxyxzyyyywzyxywxxyzyxzz{yyyxyyyxyyzyyyyyyyyyxwyxzyyyyzzzxyxxyyxyzyzyzzzzyyyyxyyyyzyzxzyzyyyyyyxxyyzyzzyyyxyyyyyyzzyyzzyzyyxyyyyzyzyyzzzyyyxyxyzxzzzyyy{yzxyyyyyyzzzzzzyzzxyyzzyyzyzzzzyzyzyyyyzyzzz{z{z{z{xyyyyyzzzzyzzzyxyyyxyyzzzzzz{zzxyxyyyyzzyzyyzz{xzyyzxyzyyz{zzzyyyxxyyzyyzyyz{zyxxyyxyxzyyzyzzyzyzyzxyyyzyyyzyyyyywxxyxyyzyzyyyyyxyyxyyyyyyzyyzyxyxxxxxxzyyyzyzyxxyyyyxxyzyyzzyyxyxxxxxyyyyxyzzyyywyxyyxyyyyyyxyxxwxyxxxyzxyzxyyyyyxyxyyxyyyyyzyyxxxyyxxxyyyyzyyxxxxxyyyyzyyyyyyxxyxxyxxyyzyyyyxyxxxxyxxyxxzzyyyyyyyxyyzzyyyzzzyxyxyxwxyyyyzxyzyyxxyxyyyyzxyyzzyxxxyxxyyyyzyyzxzxxxyxyxzyzyyzyyyxzxyyyyyyzzzzxzzxyxxyyyyyzyxzzyyyzyyyyyyzyyzzzzxyyyyzyz{zyzzz{zyzzyyyxzy{zzzzzzzyyyyyyxzzyzzzzyzxyzzyxyzy{xyzz{zyxxyzzyyzzyz{y{zyyzzzzyxzzzyz|zzzzzzxyyzzz{zyzyzyxyyyyyzzzzyz{zyxyy{zyyzzz{zyzzzyzxzzxyzyzyyzzzzyyxyxxyzyzzyzzzy{yyyyyyyyzzyzzyxyxyxxxxxzzyzzzyyxwyxywyyyyyzyy{yyyxyyxwyyyyyyyzyxyxxyxxyyzzxyyzxxyxxxxxxyzyxzy{yyxxxyxxyyxyyzxyyyxyxyyxyyyzxyyyzyyxxxxyyzyyzzxyxxxxyxyyxyyyzyyyyyxywyyyxyzxyzyyxxyyxyxyxyyzyzyzyxyyxyyyyxxyzzyyyxyyxyyxyzyzyyyyyxyyxyxxyyzzyzyzzyyyzxyxyzyyzyzyyyzyxyxzxyyzyzz{xyyyxyxyzyyyzyzyzyzyyxyyxyyzyzyyyyyxxxywyyzzyzzzyyyxyyzyzzzzyzyzzyxxyyxzzyzzyzzzxzyyyzzzz{z{yzzzyzyyyxxyzzzyyyzyzyyzzyyyzz{zyz{yyyyyzzyyzyyzzzz{{zzzyyyyy{zzzzzzzyzzxzzzyzzzzyy{zyyyyyzyzyzzzz{zzyyyzyyzyyyzyz{{zyzyyyxzzzzzzzzzyzyyyyyxyzzyz{zzyxyxxxyyzyz{zzzyyyyyxxyxxyyyyzyyyyyxyyxxyyyyzzyzyzxyyyyxyyzzz{zzzyyyyxyy{yzzzyzyyyxxyyxxyxyxyxyyyxxyxyxxyyzyyyyyxzyxxyyxyzzyyyyyyyxxyyyxxzyyyyyzxxxyxyzxyyyyyzyyyyyxxyxyyzz{zxyyyyyyxxyxyyyzzyzzxyxyyxyxzyzxzyyzxyyxyxyzyyyyyzzyyxzyyywxyyyzzy{zxyxyxyyzzx{xyyzzyzyyyxxyyyzyz{yzyyzyyxyyzyzyyzzzyyyyyxyyyzzzzyzzyyyyxzyyxyzyyzyyyzxzyyyyy{zzy{z{zyyxzyzyzyz{z{zzxyzzyzyyz{{zy{yzxyyyzyzx{zy{yyzyyxzzzzzxy{zyzz{y{zyyyz{zyzyzz{z{z{yzzyyyy|zzzz{zzzz{yzyzzy{y{|{zyzzyyyyyz{{zzz{{zzyyzyxy{z{zzzzzzzyyyzzyzzzzyzzzyyyyyyzyyzyyzyzzyyyzyyyxyyyzzzyyxywyyyxxyyzxzyyyyyywyxyyzxzxzzzyxxyxxxyxyyyzyzzzyyxywyyxyyy{zxzyyxyxxyxxyzyyyyzyxyywyyyxyzyxyz{zyxyyyxxxyyzyxyzyyyyxxxyzyxxyyzyyyyxxyxxxyzyxyzzyyxyxxyxyyyzyzyyyzxyxyyyyyzyyyzyyyxyxxyywzzzyyzy{yxywyyzyyzyzyy{yyzyyzzyxzyyyyzzzyxyxyyyyzzyyyzzzyxzxyyyyyzzyzzyzyyyyyyxyzyzyzzzzyyzyzxyyzxzzyyzyyzzyxyyyyyzyyzzzzxxyxxzyzxzyzz{yzzyyyyzyyyzzzz{{xzzxzzzy{zyzzzzzzyyyzyyyz{z{zzzzzyxzyzzyzzzzyzz{zzzzzz{yyzzyzy{{{yzzyyyy{zzzzz{{zyzzz{yzzzzyz{|zyyzzyzxzz{{zz{zzzzyyzzxyzzzzz{zzzzzyyzyyzzzzzz{{{zyzyyyxzzzzzzzzzyzzyyxxzyzzyzyyxyyyyyzxzzyxyzyxxzyyyyxxxyzzyzyzyzzxyxxxzyzyzyzzyyyxyyyxxzzzy{zzyyyyxyyyyyyzzzzzyxxyxyxxyyyxyyyzzyyyywyyyyzzyyzzyyyyyxyzxyyyyyzzyyxyywyxyzyyzyzzyxxyyyxyxyzzzyyyyzyyyyyyxzyzzzzyyxyyyxzxxxyxyzyyzzxxxxyxxzyzyzzyxyyzxxyxzyyzzzzzzyyyyxzyzzzyzzyzyyxyyx{yzzzyyzzyyyyxxzyzzzzyyzzzxxyyyyyxyyzyzzyyyzyyyyyyyzzyyzyyzyyyyxzyz{yyz{yzzyzyzyyyzz{zz{z{yzyzzyyzzzzzzzzzyzzyyyyyzz{yzzy{zxyyzzzyzzzzzzzzyzyzyzzzzzzy{zzzzzzyzzzyy{zz{yz{{zzzzyzzzzz{zzz{zzzzzyzzyzzy{{z|zzyzyyyyzzzzzz{{y{yyyzyyy{yzzz{zzzzyyyxyyzzzzzyyyyyxxxyxyzyz{Fv37aSzzz{{{z{}|{{{|}||{{|{z||{|{}|||||{{{|{z|{{|||||{{|{{{{{|{{|{|}|{{{{{z{{|||{{{||{{|zzz{|{}{|{{}{|{|{{{{z|{|{|||{|{{{{{{|z{z|||{||{zzz{z{z{||{{|{zz{z{zz{{{|{{|{{{z{zyyz|z{{|{|}{|{{|{{zzz|{{{}{|{{{z{{z{z||{{}||{z{z{||y{|{|{|}{{|y|{z{|{{|{{||{{z{{{z|||{{||||{{{{z{{z{||{|{}|{{{{{|{|{{{{||||{|{{|{z{|{{{|{{||{{|{|z{|||{||}|}{|{z{{z|||}}|||{||{{|{{{|}|}|}|||{z{{z{z||}|}|}||{|{{z{{|}|}|||}|{z{{||{||||||}}||{{{||{||||}~|||{||{|{{|||||{|~{z{y{|||{{{{||||}||{|{z{||||||{||{|{z|z{{}{||||{{{zz{{z{|||||{|||{{z{z{{{{{|{}{|{{{{|{|z|{|||||}{{|{|||{{|||||}}|{{z{z|{||||||{|{{{{{{{{||{{||}|{{{|{{z{z||{{{{|{|{{|{{{{||{|||||{{{z{{{{|{z||{|{z{{{{|z{z|{{|||z|z{z{||{{{{{||{{z{{{{z|{{||{{{|z{z|z{zz{|{{|z||{yzzzzz{{{{{z|||{{zzzz{{{{z{{}|{{z{z{{z{||||||{{|{zz{{{|{{|{{{||z{{yz{z{||}{{}}|{z{{{zzz{{||}{}|||{{|z{z||{{|{}{}|{z{|{|||||{{}||{{{{|{{}{{|{|||{{{{{|{|}}|||||||{|z|{|||||}|||}{{{|{{{{z{}|{}||||{z{{{{|}|||}{||||{|||||||{}}}|}|{{||||{}{}}||||||}|||{||||}|}}|{|{{|{|}{{||{}{|||||{||{|||||{|||z|{|{||||{||}|{{{|{{{{||{{{{|{{{{{{yz{|{|||}||{{|{{|||{}||||{}|{{}{{z{|||}{|||}||{{{|{{||{|||{{{{{|{|z|}{}{{||{{{z{{{z|{|}|}{{|{{z{{{{{{|{{{}|z{{{{|z{{|||{||||{{{z{{{{{{|{|||z|zz{{{{{{|{z{{{z{z{{{z{|{{{||{|{z|{zzz{z{|{{|||{{|{{{{zz{{{{}{|{{z{{{{z{{z{{{|}{{{{|{{z{|{{|{|||z{z{{{z|}|{||{|{|{{|z|||{|{{|{|{{{{z{{||{|{|{|||{|{{{{{{|||{||||{{{{{{z{||{|{||{|{{{{{{|||{||}||{{||{|{||||||||{z{|||z}||||{||}{||||z{{|||||||}|z|||{{z|}||||||{|{{}|{|{||{||}}{{{{|{||{}|}}}}|}|{|{||{||||}}}|}{{{}|{|{|||}|}|||{{|{{||||{}||}{{|}}|{{{{{}||}{||{||{{{|||||||{{z||{z{{{||{||||{}{{|{{{||}|{|{}z}|{{|{{{|||||}}{{{{{{{{{{||||}||{{|{{{{|{||{{||{{}{{{|{{{|{|{||{z|z{z{z|{||{|{{{{{z{z{{||{{{{|{{{{{|{z{{|{{{z{}{{z{{zzz{{{{{||||{zz{zz{{|{{{||{{{{{z{{{{{{||{|{|{yzzzz{z|z{|{{{{{{{{{{z|}{{{|||{{zz{zz{{|{{|{|||{z{{z{{{||{{{|}{{|{|{{{{{{||{||{zz{{z{{{||{|}{|{{{{{{{z{|{|{{|{{{z{z{zz||}||{}|{{{{|z||||||||||{{||{|z{{{||||||{{{||{|{|{|||}}||z{{{{{{{|||{|||}{z|{{|{|}}{||}}{||{{}|||}}}|}||}{|{{|||||||}||||||{|{|{|||||||{|z{||{{{}{{}|||||{{{|{{{||{||{{}|{{{{{{z{{|||||{}|{z{{|{{||}||||{{{z{{{{|}{|{|{}|{{{{{}z|}|{{|}|{{||z{{{}{}||||}|zz{|{{{|{{{||||{{z{{{{{||{|{{||{z{{z{z{{{{|{{||z{z{z|{{||{{{{|{|{{{{{{z{||{{{{||{{z{{zz}z{|zz{{{{{y{{z{{{||{{{z|zz{yz{z{z|z{|{z{zzzyzzz{{{{z{{|{{y{zz{{{{{{z{|{|{zzz{zz{{z{{|z{z{{{z|zz{{{{z{|{|{z|{{{|{{|{{{{|||{{z{{{|{||{|{{z|{zz{zz{{|{{|{|{{{z{{{zz{{{{|{{|{{{z{{z|{}||{}{{z{{{{{{|||{{||{{{|{z{{zzz|||||}z{{{{{{{|{||}|{{|z{{{{{{|{{}|||{|{|{{z{{|}|{||||{{|{{|{{{|||{||||{|{{|{|{||}|}}}||{{{{{{|}{||}||z{{{{{z{||||||~{|{{{||{}|{{{||||{||{|{{{{|{|{||||{{{{{|{|{{|}|}{{||{z{{{|{||||}{{{}|{{{z|}}}{|{|{{|{|}{{||}||||||{{{z|{|{||{}}|}|{|{|{{z{{|||||{z{{z{|z{{{||||{|z{z{zz{z{{{z{{|}{{z{|zzy{{|{||{z{{zzzz{z{z{{{|z{z{zzzz{{{z{{z{|{yz{{z{{{{{{{||{|{zzy{z{z{||{{{||{zzz{{{z{|{|||{z{zzz{z{z{|{z{}||{z{{{|{z{{|{|z||{{z{{zz{{}}{{||||zz{{{z|||z{{{}|zz|z{{{{{||{||{||{{{|y{z|||||||||{{zz{zz||||{|{{{z{{{|z|zz{{|||{{{|{{{{{}|{|{||{||{|z|{{||||||||{z{{{z{{|||||}{}|||{{{{{||}||}|{{|{|||{|||||||}|||{{{{|||}||}|}|||||||{{|||||||||{|{z{{{{||{{|}||z|{||z{{{}|{{||{{{{|{{z{|{|||{||{|{{{zz{||{{{|{{|{{{z{z|}}{{|{|||zz{{|{|||||}|{}{|z{|{|{||{|}||||z{{{|{{|{||{{}|z{{|{{|{{|{z||||||{||{y|{{||{{{{{{{|{|{{{{{{||||{{zz{{{|{|||{{{z{{{{{{{{{z{z{|{zz{zzzyz{{|{{|z{{{{z{{yz|{{{{|||zz{{zz{{{|z||||{{{|z{|{{z{{{{{{{{zz{{zz{{{z{{|{|zz{{|{zy{|{{{||{{{{{{z{{|{z{||||{|{|{{{{{{z{|{{{|{|{{z{{{|||{{{{{{{{{{{z{|{}||{{{||z{|{z{||||{|{{{zz{{{|{||{}|||{z{z}{{{|{||||||{{{{{{|||}{}}||}{||{{|{z|{||}}|||{|{|||{|||{|||}z|||{|||||||{}}|||{{|{{|{|||}|}}{{{{|{|z|||{|}}{|{{|{|||{|||{|}|{|{{||||||{}||||{{{{{|{{{|||{{|||{zz{z|{{|~{{{{|{z{{{z{{{{|{{}|}{}{{||}|}}|||}}|}{{|{{{z|{}|}|||}{{{{{{|{|{{}||}{||{{{{{{{|{}{{|||{z{{{{|z{|{}}|{||{|{|z|||{||{z||{{{{{||{}|{|{||{{z{{{{{z|||||zz{{{{zz{||||{|||{{{{{{{{{{}{||}{{{{z{{zz{{{{||{{|{|{{y{{{z|{|||{{|{{{{|z{|{}|||{|{zz|{z{|{{}|||{{{{z|z{{{{{||||||{|{{z{{|||||||}|{{{|{{{{{||{|{||z{{|{{{{{}{{}|{z{{{||{{|||{|||||{|{|z|{|}|{{{|{}|{|{{|{||}||||{|{{{||{{|{||{{}||{|{|z{{|}|}||}|}{{{|{{{}|||}}}}|{{{||}|}|||||||||||{{{|||||}||}|||||{|{||{||||||{|}|{||}|}||}|}}||{|{{|}||}||}}|{|zz|||||||{||||{z||{{{{{|||{|{{||||z{z{{|{|}|}|||||{{{{|}||}}||{{{|z|z}|||{|}}|{{{{|||||}||||||z|{{{{||{|}||||{{{z{{{{}|}{||{}{{{{{|zz|||||||||{{{|{|{{|||{}{|{{{zz{{{{{||{|{|zz{z{{{{z{||}|{||zz{{{{|{||{{{{|{z{{{{z{{{|||||{|{{{z{{{{{{||{|}z{{||{{z{|{||}|{{{{{|||z|{{|{|||{zz{{{|||{||{{{|{{|{{z||{||{{{||z|||{{z{||~|||{|{|{z}{|{{|||}|||{{{z{{{{{||{|{}||{|{{{{|}{|{|}|{{{|{|{{{z}|}||||{{|{|||||||||{|}|z|{{{{|||||||}}{z{{{{{}||}||||||||||{}||}{}|||}}|{|{{}|{||||}||||{|{|{|||{~}|}}{{|{{}||||||}||~|{{{|z{|||}||}|}{{{{{{|{|{|||{}||{z{|||{{|{|||||{|{{{z{{|{{z{|||}{|{{{{{|||}{}{~|||||||||||||}|||{|{{|{{||||}|}{{|{{||{{{{||z|||||||{{{{{{|}{|z|{{z{z{{{{|{{||{|{{{{{{{{{|||}||{{|{{z|{|{{{{{{{|{{{z{zz{|{|||{|{{{{z{{z{z||||||{{{|{zzzzz|{||{|{|{{{{z{{z{{{{{|{z{zz{z{{{||{{|{|z{{|{{{{|{}|||||{z{{{z{{|||{{{|{|{|{{{{{{{||}|{|{{{zzz{|{{}|{}{||{|{{z{{{{|{{}|{{{{z{{{z{||||{}{|{{|||{{|}z{{{|{|{|{{{z{{}}|{}|{|{{{z{{{{|{||{||{|{||{{||{{}|{|{|{|{{{{{~}|||{}||{|{{|{|}|{||}}|{|||||{{|{|||||}|{{|{|{}}{}||}|||z{{|{||{|||}|}}|||||{|||||||||}{{{z|{{{z{|{}}||{z|{z{{z||{|{||{|{|z{{{z||||{||}{||{|||{|||}}||||{{{{z|{|{|||||||{{z{||{|{{{||}||{z{{|{{{{||{{|{}{|{|{{zz{{|{|{|z{{z{{{{{|{{{||{{{{{{{{{{{|{{|{z{z{z{z{z{{{{{{||{zz{zz{z{{zzzz|{{{{{{z{{{{|{{{|{|{|{z{{{{||{{{||{zz{{zzz{{|{|{||{{{{{z{{||{||{|{|{z{{{z{{{|{|||z{{{{{zz{{||{{|||{{z|z{z{|{{|{|||{z|{zz{{{{|{{|}|||{{{z|{{|{||{{||{{{{{{{{{{{|{|||{z{{z|{|||{{{}{{{{{{{{{||||{|{|{{z{|{{{{{z||{|||z{{{{|{{}{{||}||z}{{{|{{||{{~||{{{{{{||{|}|}||||{{|||{|{||}||}|}{||{|||{}{|}{|}|z{|{|{{{{|{||}}||{{|{{|||{||||}{||z{{{{|{{|{{}|{{z{z{{{||{|{|||{{|z{z||{{||{}||{|{{|{{{}}}}||}||z||{{|{||||{}|{{{{{{z{{||{}||}{{{{z{z{{{{|{{{||{z{zz{{z{||{{|{}{z{{{{{{z{{{{{||{|z{{{z{{||{||{|{z{{{{zz{|{{{{||z{|z{yz{z{z{|{|{zzz{{{{z{{{{|||zyz{{{zzzy{{{||{}zz{{{z{zz{|{{{{|{|zz{z{{{{{|{|{{{{{zz|{z{|{{{{{{|zzz{z{z{|{|||||{z{{z{{z{||{{||{z{|z{z{{||{z{||{{||{|z{zz{|{|{|}{{{{|z{z|{{|{||||{{z|{|{{{|{{{|}{{z{{{{z|}||||}}|{z{|{|{|{||{||}||{{{{{|{{|||||{{{{{z|{{||{|{{|{z|||{{|{{{{|}{}}|{{|{}{{|||||}}}||||{{{{|||}|||||z{{{{{{|||{}}|||{{|{{{{|{{|{||{|{|{|{{|{||}}|}||z{{{|{z|{}|{|||{{{{{z{{{{{{{{{}||||{|z|{}|}|{|||{|z|{{{||||}}}||{{{z}{{{{{|}}{|{{|||z{|{z}{{{||{{{zz{{{{|}|{||}{z{{|{yz{|{{{{}z{{{z{{zz{||{{{{|{|{z{{{{z{|{z|||{y{{{z{{z{{|{{|{{{{zz{z{{{{{|{}{{z{zz{zy{{{||{z{{zz{z{{z{{{{|z|{{{z{zz{zz|{z{{|{{{zz{{{{z|{{{|}|{{{{zz{{|||{|{|{z||{{z{{{{{{{|{|{||z{{{{{|{|{|{|zzzzzz{{|{{{|{|{|z{{{{{{|{|{{{}{||{{{z{{||||{|||{{|{{{{z{|||{{{|{z{{|{|{{{|}|}}}|{||zzz{{}{{|||||{{{}z{{||}{|||||||{|{{||{}{||||||{||||{}{||}||||z|{|||{{||||||}|||{|{|{{|{|}|{||}{{{{{{{{||||{||{{{{z{{{|{|{|||{{z{||{z|{|{{|}||{{{{z|z|{z{{}}||||||{{{}|}|z||}|{|{||{{|}||||{}||{{{z|z||{{||{|{|z{{z{{}|{{{{z||{{{{{{z{|{{|||{{|{{{zzzz{{{{||||{{{{|{z{|{{z|{{{{{zz{y{{{|{{{|z{{zz{y{z{{{{z{|z{{{{zz{z{|{{{||{|{{{{z{zz{|||||{{{z{{|zz{|||{||{{{{{{zz{{|z|z|{|{z{{||{z{|{{{{||{{{z{{{z{||{{}{|z|{{{{{|{{{{{|||{{{z|{{{{{{{||{|{z{{zz{z{||{||{{{{{{|{zz||{|{{|{|{{{z{|||||{{||{|{{{{{|{{||||||||{z{{{{{||||{||}{|{{{{{z|||||||||{|{{{|{|}|||{}||{{{{||||{}{{}|}{{{}{{{{{}}||}||||}{|{{|||}|}|}|||{}{{|{|||{|||}|z|{|{{z|||{||{|{{{z|{{{{{{{|{||||y{{z{{{||||||||{{zzzz{{||{{~|}}|}||{|{}}|{}}||{|{|{||{||||}}|}}}{{z{|{||{{|||{{z|||z|{{||||}{|}{{zz|{{{|{||||}{{{{z||y{}|||{|||z{z{z{{{{||{{||{z{{z|zz|{z{z||{{{zzzz{z{{|{{{{{|{{{z{y{z{{z|||{{z{{zz{zzz{{{z{{{{zz{zzz{z{{{|{{{{|{zz{{z|{{{{||{zzz|{z{{||}|{||{{zz{z{{{{||{{||{{z{zz{z{{|z{}{|{{{{{{z{||||{}||{|{{{z{{{||{|{||{z||{{{z{}||{{||{|z|z|{{{{{|{}}{|{{{{{{{|{|{{||}{{{{{{{{}||||||}|{|{|{{z|||}}|{{{{{||{{{|}}}||}||{|{|{|||{|}|||}{||{||{||}}|{}|||z{{{{{{|}||}||||{{z||{|}}|||}||{{||{|||{|{|}{|}|{{{{}|{{|{{{|}{|z{{{{zz|||{|||}{{|{z{{zz{{z{|~}|||{||||||{|||||{|{||z|z{|}||}||||{z||{z{||{}|}|{z{{{|{z{{}}{|{{|{|z{{{z|{|{||||{{{{{{{{z{}{||{|{z{{yzz{{|{{|{|{{z{{{z{z{{{{{{{{zzzz{z{z{|{{|{|{{{{zz{z{{z|{{|{|{{{z{|zz{|{|{{{{{z{{{{zz{{zz{{|{zzyzz{yzz{z|{{{{|{{zz{{z|{|{z|||{{{z{z{z{{|{{|||{{{|{z|z{{}{{{||{{{{{{|{{}||{||||{z|{z|z|{||{|{|{{{z{zz{{z}{{{}||{zz{{z{||{||{{|z{{|{|{||{|||}}|{{|{zz{{|||||{|||{{{{{{{|||}}|{{|zz{{{||{|||||}{{||{{||{||{|{{}||{z|{||{{||{}|||||||{z{{{||||||||{z{|{|||||}}}|}|{{||{{z|||{||}}{{{z{{z|{{||{||{|{{{{{{z|{||{{zz{{{{zz{{{z{||{|||}{|{z}{||}|}}}~{{{|z{{{||||}|}|||zz{{|{||||}||||z|{|z{{|{}{{||||{||z{{z{|||{{{}|{|{{z{z{|{{|{{{|{{{{z{z|||||||{{{{zz{{y{|{|{|z{|zzz{zz{}z{{|}|{zz{z{{{{{{|{{||{{{{zz{{z|{{{{}||{|{{{z{{|{|{{{{{{{{{{{{{z|{|{|||z|{{z|{{||{|{|}{|{{z{y{{{||{{||{{{{{{z{{{{|{|{|{{||zzz{{{{|{z|||{{|{{{{{|{{|{|{{{||{{{{z{{{|{z|{|{{{{z{{|{|{|}|}|{|{{zzz|{|}|||~{{|{{||{{|{}{||z{{|{||zz||||||{{|{}{{{{|{}|{}|}{{|{{{|{|{}{{|{}||||{||{{{}}|||}||{{|{{|z||}|}}|||z{{{z|{{|{{}|||{{{{{|||}|{}{||}{{|zz{}{{{||}|}|{{{{{{zz{{{{|||{|{{{{z{{z{|||}}}}|||}||||~}|~}}}}||{|||{|}}|~}|}||{{{||{|||{|}{}||{||{{{|{|{{|}{||{{{|{z}||{|||||{{{z{|||}{{{|{{{{{{|z{z{{{|||||{{{{z{{{|{{|{|||{zzyz{{zz{|{{{||{{z{y{{{||{{||||{{{z{{{y|||||z||{{zz|{{{zz{z{{|{{{{{|zz{{}{|{}|{|{{zz{{{{{|}z}|{{{{{|z{{|{|||||}{||z|{{||{{|{|{}z{|zz{|z|||||||||{{{z{|{{{|}{|||{{}{{{{|{||{|{||{{|{{{z||{}||}{}{{|||{z|{||||}{}{{{||{zz{||}{|}||z|{{{{z|||}{}||||{{|||||}{z|}|||{{{{||||||}||}||||}|{|{|~|||}}|}|}|{{{||}||}|}||{||{|{||}{}}}}}||{|||||||{}{{}|z|{|{{|{{|||}}|}{{||{{|z{{|||}|||{|{{{{z{|{||}}}}}|}||}|}}}}}|}|~}|{|{z{|||}}|}}}|{{{|z|{||||||||{|||||{|{||z}}{|{|{{|{z}||{|{|||{{{{{{{z||{|||{|{z{|zzz{{||{||{||zz{{zz{|{{||{{z{{{{zz{{|{|||{{{z{{{{{|{z{{{{{{{{{{z{{zz||{{|}|{{{{{{{{|{{{||||{z{zzz{{{{{|z|||{{|z{{zz{{|z||||{{{{|z{||{||{||||{{{{{|{||{||{{{{{{{{{|{|}}{{{||{{|z{{{{}{{|{|||{|z|{z{z||{{||}{|{z|{{{{||||{||}|z||z{{{|{|||{|}{{{zzz|{||}||||||{|||{z{{{|||||||{{{|{{{||||||}|{{||||}||}||||}|}{|}||{|{}|||||}}||||z{|||}||}||||{{||{|}{{|}|}||||{{|{{||{{||}|{|{{{{{{{|{|{}}|{{|{z{{|||{|{{||{{{z{{{z{|{||~}~}|||{}}|{|}|}}}~|||{{|{|}|||{|}~}||{||{{||~{||}||{}|{{{{|||}{{|{{||{{||z||{|{}}}{{|{{{{{||{|||||{{zz|{z{{{{||{}||{|{{z{{|z|{{{{{{|{z{{zz|{{{||{{{{{|z{zz{||{|{z{{{{{{{{|{{{|z|||{{{{{{{{z{|z|||||z{{z{{{{{|{{{|{|z{{{{zz{{}}|||||{{z{z{{{|{{||||{zz{zzz|||||z||{|{|{{{{|{||||||{|||{{z{z|}|}||{|{{{z{{{{{|{||||}|{z{{{{z{{||||{{|||{z{{{|||||~|{||{z{|{{|||||||||z{||{{{|{|}|||}||{||{{|{}|||||{|{{{|{|||||||}||||||{{|||||||||||||||{|z}}|}{{|}|||{{}|{||||}||||{{|||{|{||{|}|||{|||{{{||||||~|}|{{{z|{||{}{z||{{{{{{|z|{}{|}~}}|}|||{||}}}}~}|||||||{}||~}}|}|{{|{||{{||||{|||{{{{{||||||{}||{|{{z{{z{||{{{{}{zz{{z|{z}z|{|||{{z{{{{zz|{|{{z|{{{zz{z{{z{||{||{{zzzz{z{{{{{z||{{z{zzzz{||{}{{|{{{{z{|{|{{{||{|{{z{{z{z{{{{{{{{{{{{{z{{{{{{{|{|{z{{{{{{{{{|{|{{|{{||{{z||||||||zz|{{z|{|{|{{{||z{{{{{{z{|{{{{}|{z||{{{z{}{|||}|{{{{{{{|z|||{|{||{zz{{{{|{||{||{{|{|{{{{||}|{|{||||||{{{||{}|}|||{{{|{z{{{}|{|}{{{|{|||{|||{{}}|||{||}|z{|||}|||}{{}}||||}||}}}{{|{|{{|||||}|{|||{{{||{{|}{{|||||{{|||{}|||}{{}||||z{{{|{}{{{{||{{|{|z|{|{{{{|||{{{{z{zz{{{||~}}}}|||{|}|~||}|~}|||||{{{||||}{}}{|{z{{{z||||||||{{{{zz{z{{|||{|}{{{z{{{{||{{||{|z{{{{|{{{||{|{{|{{{{{{z{||{{{{z{{{{{{{{{z{|{{{|{{z{{z{{z|{{||z||y{{z{{z{{{|{||z{{{{{zzz{{||{|{|||{{{|{zz{{{z{||{|{{{z{z{{|{{{|{{{z{{{{{z{|{{{{|{{{{|{{z{|{z{{|||z{{{|{{{|{zz{|||z{{{{z{{|{z||{|}{{{{{{{|{{|{||}{{{|{z{{{{{|{|{|{{{{{{z{z||||{|||{|{{{{{z|{|||{||{{{{{{|{|{{||}}|{z|||{z{{{|}|||||z{z{{{{{}|}z|}|{{|{{{{{|{{{||~}|{{|{|{||}|}|||}{{{|{{{|||{||}{|{{{{{{{|||}||||}|{z||{|{{||{|}||z{{{|{{z{{||{}}{{{|zz{|{{|||{{{}z~{|{z{zz{{{|~{}}}||||}{}}~|||}}~||}||||{||}}}|}{{{z{{{z||z||||}{{|{{zz{||{||||}{{|z|{{{{{|{{|{||{|||{{|{|zz{|{{{z|{|{{z{{|{{|{{|{{z{{{{{{z{{{{|z|{{{z{z{{{z{{||zz{{z{{z|z|{{{|{{{z{y{{z{{z|z||{{{{{|z|z{{{{{}{{{|{z|{{{z|{{{||}{z{{{{{{{{|{|{||{z{zzz{{{|||{||{|{{{{{{|z{{{{|}{{z{{{{{{{}{|||||{{{|{{{{{|{{|{||{{{|{{{z|||||{}|{||{z{{{}{|||||{{{z{}{{}|}{|||}|{|{z|{{{{{{|||}}{{{{{|{{|}}||{|||{||{{|z{||||}}|{{{{|{|{{|{}||}|||{{{{{{{}||||}||{|{|{{{||||||}}|{{||{{{{}|||{}}|{{z||{|||||||||z{{{{{{{|||{||}{|||{{|{z{}|{{{|{{{{z{{|{|||{{|~||}}}|{|}}~}}|{|}||{{||||||||}}}}|{||{|{|{z|{}{}|{{{{zzz||}||||{|{||{z{{{||{{{{||{{|{{|{{{||z{{|{|{{z{z{{{{|{||{|{{|z{{zz{{{|z|{|z{zz{yzz{|{|{||z{zz{{|y{{{{||{{|{{{z{{{{|{z{{{|{{{{{z{{y|{{zz{|{{{{z{z{z{|{z{|{{{{{yz{{z{|{|{{||{{{{{z|{z{|{||||||{zzz{{|{{||{||{{{{|z{{{{|}||||{{{{{zz{{||||}{{z{|{|{{{{{||{{{{{z{{{||z|{{{{{||{{{{{{{||{}|||}|{{{|z{||}|{||}{||{z{z{{{|||{|{}{||{|z|{{|}{||}|}|{||{||{||{|}|||}{{|{|{z{||||}|{{{|||z{{|}|}{}|||{|{{|{|}{||{|||||{||{{{{{||||||{|{{{{z{|{}|{|||{zz|{z{{||{|||||{{|{|{zz{{{{|}}~|}}}{|}{}}}}|}}}||{||{|||||}}}|}|{{{{|{z|||{||||{{z{{zz{||{||}|}{z|{z|{z{}|{||{|||{{z{{z{{{{|||{{{{{{{z{{{z{{{{{zz{{zzzzzz{|{}||z{zzzzz{{zz|z||{{z{{{z{z{{{{{{{|z{|{y{{{{{{|{{{{zzzz{{z{{{{{|{{|{|{z{{|z{{{{{|{|z{|{{z{{{{{{{|{|{zz{zz{{||{|{{{||z|{{{|{{|||||{|{{{{{{{|{{|||||||{|{{{|z{|||{|{{{||||{z{|||{|||{{{{{|zz{||{|{||||{{{{{{|{{{||||}{|{||{||}||||{|}{{{{{z{{{|{{|{|||{{{{{{|}{|}{}}|{{{{{|{|{|z}|||||||{||{{{}||}||{{|||{{||||{|{||{|{{{|{||{{{|}||||||||{{{||{{||{||{{{|z{{{|||{}||||{|{z|{{}|||{||{{{{|z{{z||{{}}}}}}|}}|{|~}}}}}~~|||||{}||}|||||||{|{{}{|{|{|}|}}{|{{|{{||||{||||{|{|{{{{|||{|||{{{{{{{{{||{{||{|{{{zz{z{||{|}{{{{|{{|z{{zz{{|||zzz{{{{{z{|{{{{z{{z{{{{z{|{||{|{z{{|z|{z{|{|{||{{z{{z{{zz||{{{{|{zzz{|{{{{{{{}|{z{|z{{{{|{{|||{{{{{zz{{{|{|{|{||{{{{{z{|||{|{{}|{{{{{{{z{{||{|}{{{{{{{z|{{||}||||z|{|z{{||}{{{|{|{{|{{{z{{{||}|{||{{||{{|}~{||||{{{z|{{{|||}|}||{|{{|z{{|}}||}||{{{||{{{|||||{||{{{||{|{|{||||||}||{{|{{{}{}~|}}|{}|{{{{||||{{|}||||{z{|{||{|}}{}|}{||{{|||||||}{{{{|z{||{{|{|||{{{z{||z||||{|}||||{{{{z{||||~}~~~}}{{}|}~}~}|}}|{|||{|}}}|{}}||||||{|{}{|||{}}|{|{{|{{{}}{{}}}}{{{{{{{|||{{|||z{{{{{{z|||{{|{||{{{|z{{|{{{{{{{|{y{{z||{||{z|{|{zz{{zz{{{||{{|{{{z{z{{|{z{{{}{|{z|{zz{|||{||{||{{z{{z{zz{|z{{{||{{{{{{{{|{{||{{zz{{{{zz{|{{{|||{{{{{z{z{{{|{{{||{{|{{{||{{}|{||{{z|{{{z{||{||||{{|z|{{{||{||{|{|{{{z{{{||||||}{|{z{{{{{{{|{||{}|{|{|{{{{||}|}}|{{||||{{|||||}}}{||{|{z{|||||||{|{|{{{|{|||}}|{|{||{|{{||{|||~||}{{{{|||{||||}|||||{|{z|}|||||}|{{{}{{||||||{}|}||||}|||||}}|}||{||z{||||||}{|||}{{z{{|z|{{||{||{{{{{z{z{|{{|~}~}}}~~|}{}~}}}}}}|||||{{}|{|||}|~}{|z{||{{|{|}||||{{|{|{{{|||{||}{{{{z{|z||{||||}{{{z{|z{{{{z|{|{|{|{z{z{|{{{||{{zz{zzzz|{{{{||{{z{{{{zzzz|z{{{{|z{z{z{z|{{|{{{{|{{{zzz{|z{{|z||||zz{{{z{z{|{{||{{{{z{zzzz|{{|||{z{{zzzzz{{{{|{|{{{zzz|{z{{{{|{z|{{{{{{{{{{||{|{|zz{{z{{z{|||||||{{|{{z{{{}{|{|||{z{{{{{y{|||z|||||{{{zz|{|||{{}|{z{{|zz{{{||}{||{{{{{|{{}{{|{||}||{{z{{{||||||||{{|{{z|||||||{|||{{|z|||{||||{{|||{{{{{{{}||{||}}{{}|{|{|{||||}||{{{{{|{}|||{|||}{{|{|{|{|{}}}{}{||z{z{{|{}{{|}|||{{zz{{||{||{||{|{{|||{{|}||}~}}~}}~}~~~}}}}}}}}|{|}}|}}~|{~|{{|||{{}|||||}||||{{z||{|||{||}||{{{|{z||{{{{{|{{|z{{{{|||{{{{||z{{||{|{{|{|{|{{{{z{{{z{|{{{}||{z{zzz{zz||{||{z{z{z{{{z|{|z|{}|{{{z{{z{{{{|{|||{{zz{|{z{|{{zz{|{|{z{z{{{{{{|||{{{z{{}|{{|{|{{|||z|{{|{||}|{||||{{{|{{{|{{||{}}|{{|z|{|{|||z{{||{z||{{|{z||{|{||z{|{{z{{||}|{{}{|{zz{|{{|{{{{|||{{z{{||{|{{||}|}{z{{|||{|{{{{||}}||{|{{||{||}|{|{{{|||{{|||||||~||}{z}||z}{||}}}}|||{}|{|}}}|||||{|{{{||}{|}}}||{{{||{||||||||||||||}||}|}||}|||{{{{{||{||||||}{||{{{{{z|||||||{|{{{{z||{|}||~~~~~~~}}}}~~|}~|}}||{}||||}}||}}|||{{{|||{}||}||}|{|{||z{{|}||{||z||{{|{{||||{{|||z{z{{|{{|{||{{{{{|{{z{z|||{z{{|z{{{y{z{|{z{{{||z{{{{{{{z{{||||{{{{{{zzzz{|{}{{{||{{zz{z{|z{{{|{{z{{zz{z{{{{{|||y{{z{{z{{{{||||{|{{{|{{||{||||{|{{{||z{z{{|{{|||{{{{|{{{{||{{}||{{|zz{|{|||{|{|||{|z{z{{|{{||{{||{{||{z|||{||{||{{z{{{{{|{{{}}|||{{{{{{{|{||}{||{{{|{|||||{||}}}|{|{|{{{|{|||||{|{{{|{{|{}|{|||||{|{||{|{|}{||||}{|{{|{{}}}}|}||}|z|{{{{||}|{||{|{z{|{{||||||||}|{{{{{{{{|}||||||{|{zzz{|}|||||{z{{{{{{z|||{{|{|{zzz{{zz{{{{{}~~~}|}|~~~}}~|}}}{||{|||}|}}}~}|||{{{|{|||}||{}|{z{{{{||||{z{||||{|||{z{{{|||||{|{zz{{{{|{}{|{||z{z{zz{|||{{||||{|{{z{{{{|{|||{{zzz{zzz|z|||||{z{z{{{zz{z{{|{{||{{{{{|z|{|{{{|{{z{{{{{{z|||{||{{{{zz{{{y{{{{{{{{{{{{{zzzz||{{||{|{||z{{||{|||}|z{{{z{{z{{|{{|}|{|{{zzz||||||||||{{z{{{{|||{|}||z{|{{z|{{||{|{|}{{{{{{{{|||{|{}||{{z{{{{{|||||||{{||{|{{{{{||||||{{{{|{{{||{}{|||z|||{{{||}|}{|}|||{{{|{|||||}|||{{||}|{||||||||}{|{{{}z}||}|||}{{{}{{{{||||||}||{|{||{||||}|||}|{{z{}|{{{{||}}||{{{|{{||{|{{|||{|{{{{{{||{|{}}~~~}}}}~}~|~}}|}||}|}~}}}}|{~{{|zz{||||||||}|{z{z{|{||{{{|||{|{||{{|z{|||{}|}zz{zz{z{{}{{{||{|{|{{zzzz|~{z|{{{z{{{yzz{{{{{{|{z{z{|{zz||||||{{{z{{z{z{|{{{{||{{z|yz{z{{{{}|{||{|{{|{|{{|{{{{{{{{z{{z{z{{|z{{z|{z{z{|{{{{{||{||{{{{|z|{|{|{||{{{z{|{{|||{{{{{|}{{|{{z{{|{|z{{|}|z{{{z{z|{}{||||{{{||{{{|{|||{||{{{{{{{{|||{{||||{{{{{||||{}||{|{{|{|||{{||||}{||{{||||{||}|{||{||{{{{{{{|||}||||z{{z|{|{||{|}}|{{{{||{{|}||||}|{{||{{{{}|{{}||{{|{{|{{{||||}||}{|{{|{|||||}|||}{{{{{{{{|||{}{}|}{{{{|{{||{|{}|{z{{z{z|{{||{{~~}}~~}~~~~}~}|~|||||{|{}|}|||}}{|{{{{{{}}|{||}}|{|{z{|{|{||{{|||{{{{z{z{{{{||||{{{{{{{{{{{{{||{|{{|zzz{{{|{{{}{{zzzz{{{{|{{{||{{|{z{zz{{{{{{{{{|{{{{z{{z|{z{z{{{{|{z{z{z{|||{||{{y{{zzz{zz{{|z{{{z{zzz{{|z{{|{{{z{{{{{{|{{{{|{|{{{{{{{{|{{{{|{||{{z{{{z{|{{||{|z{{zzz{z|{|{||||{zz{{{{{z{|{{{{{{{|{{{{z|{{{z{|{{{||{{{{{{{z|{{{{{{z{z|{|{|{||}||{{{{z||{{{|{|||||{|{{{z{|{{||{||{{||{{{||||||}}{|{{|{||}||||||||{{{{{|{|}||||}|{{{{{{{{}}{|{|||{{{{|z{{|||||}||||{{|||{|{||||}|{{{{{{{z{||{||||{{}{{{{z{}{|{{||{{z{z{{{|{|{{~~}}|}}~~}}}~~}}|||||{{|||}}||}|||{|{{|{||||{||{{{{{{{{{{|{{{}|{{{{z{z{{||||{|{{{z{z{z|||{{||z{{{{z{zz{{{z{|||{{{{{zzz{{z{{{{|zz{zz{{y{||{{{{z{{{zzzzz{z{{||{{{z{{z{z{{{{|{{|{{{{{{{{{{{{{|{{|{z{zyzzzz{z{{{{|zz{{|{{z{{{|{|{||{z{{zz{{||{{{|||z|{{zz{{|{|||{}{z{{{{z{{|}|{|||{{{{zz{z{|{{||||{{{{{z{||||{{{|||{{{|zz{|{|z||{|{|{{{{z{|{||{|||{{|{{{|{{|{|||||{{|z{|{{|{{||||||{{{{}{{||{||||||{|{{{{|||||}||}z|{|||{{{|{||||||{{{{z{{|||{||||{{|{{{{{|}|z|}|~|{|{|{{{||||{|||{}{{{{{z{}{|{|~{{{z{{{zzzz|||{|{{{{|{zz{|}||{~}~~~}~~~}~~~}|}||}||||}|}}||~~{{|{{{}|{|}}|}|||||{|{||||||}||{{z{{{z{{|{|{||{{{zzz|zz|||{z||{{{z||zz{{{{z|||z{z{{z{z{{{{||{|z{{{zzzzz|{z{z{|zzz{{zzz{|}{|{{}{{zz{z|{{{{||{||{{zz{z{z{{{{|{{{{{|{{z{{z|{{{|z{|z{|{|{{|z{|{{|{|z{z{z{{{|{{{{{|{z{z{{{{{|{|{{|{zz{z{{{{||}|{{}|{z{{{z{z{{||||{{{{{{{{|{{||{|||||z{||{{|{|{{||}|{{{{{{{{|||||||{{|||{{{{|{|}{|||{{{{{{{{||{|{|}||{{{{|{{|{{{{{|}{{|{|{{{}}||}{}||{}||{{||}|}||}||{||{{{{||}|}|}|||{{z|{|{||{||~|{{{|{{z{||}}|{||||{{{|{{{||||{||||{|{{{z||{||||{z|||{{{z{|{{{}~}}~|}~}}~|}||||||{}|}~}|}{{{|z{{{|||{}}{}|z|z{{z{{|||{|{||z{{{{|z{{||{||{|{|{{{|{{{{{{||{{{{zzz{{{{|{z{{{|{{zzz{z{||{zz||z{{{{{z{{|{z{{{{z{{{y{zz|z|{}{|{{z{z{{zzz{{{z{||{{{{{yzyzzzz{{z|{{{zz{{{z|{{{|{|{{{{{z{{{|{{|{{{{{z{{y{{{||{{|||{{z{{z{{{{{||{||{{{{{{{z|{||||{{{{{z{z{{{||||{{||{|{z{{z{{}}{|}}|{{|{{zz{|||{}{|{{{{{zz|{||{|{||{{z|{{|||{{}||||{{{{{{{{{||||}||}{{{{{{|{|{{||}||{|{{{|{||||{||||{{{{{z|{}|{{||||{{}z{|||||||}{{|{{|{|||{||||||||{z|||{||||{}|||{|{{{|z{{}z|||||{{{||{z||||}{||||{{z{z{||||{{~}~}|~}~~~}}|}||||{||}}}~}|~||{z|||z|{|{||||}{|{{{{|{|||{||{|{{{{zzz|||{{|{||{{{{y|z{{{z||}||{|{z|{z{||zz|{{{{{{z{yz{{z}{|{{{{z{{{zzz|{|{|{{z{z{z{z{{{{{|||||z{{{zzzz|{z{{{{{z{{{z{yz{{z{{z|{z{{{z{{z{{z{|{{{z{z{{{z{{||{||}|{|{|{{{{||{||||z{{{{z{{{{|||{|{{{{{{{|{{|{{||{{{{{{{z{{{|{{|{{{{{{{|{{{{{|{{|~|{{|{|{z{|{|{{|{{{z{{|{{{{||||||{z||{{{{{|{{|{{||{{|{{{z{}||{|||||{{z|z{{|}|||||||{{{{{{{{|||||}||z|{{||{{}}||}}|||{|z{{|}|}}|||||{{{{{{{|{{||{|}|{{{{|||}{||{}{|}{{{{|{{{|}{||||{{y|{{{|||{}{{||{{|zzz{{{{}|{~~}}~~~~}~~|}{||}|}}}}}}}||||{{{{}|{{{}||{{|{|z||||}|}{|}{{|{{||z{||{{{}|{||{{||{||||{}{{{{{{{{zz||||||{|{{|z{z{{{{{|{|}|{{z{z{{z{{{||{|}{z{{{{z{{{||{|{{{{{{z{{{{{{zz{||zy{z{zzzz{{{z{|||{{{{{z{{|{{{|||{{{z{{z{{||{{}}|{zz{{{{{{||||||{{{|{{{{z{{||{|{|{{{{z{{{{{}{{{|{|z|{{||{{||{|z|||{{{{{zz{{||||||{{|{{{z{{|{|{|{{|{z||{{{||||}{}}{{|{{{}|{}|||}|||}|||{{z{}}|||||}{{{|{{{|}||{}||{{{|z|{|||{}|||}|{|{z|{|{}}}|}}}{|{|{{|{|}||||||{{{{{z{{||{||{|}|{{{|{|{}||{|{}}|{|{z{{{{|{|}}}{{{z|{{z{}}|||{|{|z{{{{z||z|{|~}~}~~~}}|}||}}~}}|}|||||||||{}|}||}{{||{|{{||}}{||}}{{z{{{{|{||||||zz|z{{{{{|{{{{{{|{{|{{{|||{{|}|{||{{{|z{||||||}{{{{z{{}z{{|{{{|||{{{{|{z{{{||{}|{{{{z{{||||{{||||z{z{{{{{{|{|}|||{{{{{{{||{|||{||z{||{{{{|{|{||}{{|{{{{||{|||||}{z{{{{{|{{{|{{||{{{{{z{{||{|}|||}z{{|{|{||}||||{{{{|{|{{|{||||||{|z{{{z|||||{||{|{{{|{|{||||}|||{{{{}||||{||||}}||{{{{|{|||||}{{|{{{{||{}|}}|||}|{{|||||{}||||||}||||||||}}}||}|||{||{|{|||}||}}|{|z||{|||{|||{}||{{{{{}|||}|}||||{{{z|{||||||||{||{|{{{{|}||}||{z||{{{{|{{{|~~}~}~~~|~|}}||}~}|}}}||||||{|{{||||||||}{{{||{{||}{{{|}{{|{z|{z}{|{||{|{{||{{{z|{{{z|||{||{{{{z{{||z|{{z|{{{|z{|{{|||{{z{z|{{{z{||{{{|{|zzzzzzz{|{{||||{{{{z|z{{{||{{{|zzzz{{zz{{{z{{{{{|z{z{{{{{{|{{{{zz{z{{{z{{|{{{|||z{z{{||{|{{{{|{|{|{{{{{{{{|{||}{{|{z{|{{{|{|}{||{||{{{z|}|{|{|{zz{{{{z{{|||{}{{zzz{z{|{|{|{{{{||{{{{|{{|||}|||||{{|z{{z{{{|||{|{z{{{{{z{|||||||{{{||||{|}||||}||{{|{|{}|{||}|||{|{{{|{|{}}|||}|}{|{|{{|}|{|~}||||{{|{z{{{||{||}|{{{z{|{||||||{}{|{{{zz{||z|||}}|{|{z{{z|{||{|}|z||{zzzz{{|{{~}~~~~~~~~~~~~}}||z}{~|}}|~}|{||{{|}||||{|{}|{{{{{{{||||{|||||{{{{{{{|{{{||{|z|{{{{zz{{}zz|{{{z{{{z{z{{|{{|{z{zz|zzz{{{{{{{{|zzzz{|zz{{|z{{||{z{{{yz|{{{{|{{z{z{zzzzz{{|{|{{{{{zz{zzz{{{z{{{|{{{zz{{{{|{{{|||zz{{|z{{z|{|z{|{|z{{z{{{{||{z|||{z{|zz{{{{{|{|||zz{{zz{{{z{{{||z{{|z{{{{||||}|{|{z{{z{{{|||{{|||{{{{{{{z{}|{|||{{{{{{{{z{{{|{}}|z{{z{{{{||{|{|{||{z{{{{z||||{{|||{{{z{z||{{|{|}|z||{{{{||{{||||||||{|{z{{}|{|{}|||{|{{{{||}}|{|||z{{{{{||{||||}|||||{|{{|{|}|}{|{{{{|{zz{{{}{|||{{{{{{{zz{|{|{||{|{zz{z{||{|{~~~~~}~~}|}|}|}||}}||}}||{|{|{|{}z|||||||{{{{{z|{|}|{|||{{{{{{{{|}|{{}{{{|{{{z{z{{|{||{{{{{z{{|{{{{z|{{{{z{z{zz{{|{|{|||z{zzzzyz{||{{|{|{|{z{zzz|{{{{||{zzzzy{zzz||{|{{{{|zyz{{{{z{{{{|{{{z{zzzz{||{||||{{z{{{zz{{{{|||{{{{zz{{zz|{{{z||{{{{{{{{{z{||{||{z{zz{{{{{||{}|{|zzzzz{{{||{|}||{{{{{z{z{|{{{||{|{z{{z{{{|{{|{{{{{{||{{||{|{}|||{{|{{z||{|{|{||~|z{{zzz|{||||||{{z|{{{{{|{|{|{|||}{{{|{{|}{|}}{|}||{{|{{||{{|||{}|{{{{{|||}}||{||{|{{|{{|{{|||||||{{|{{{|{||||{|{|{zz{{{||}|{|}||{{{{z{{{{||{{|{|{{z{yz{{|{z}~}~~}}|}|{|}}|}|}}}|}|||||{|||{||||||{{{{|{{|{{|}{||{{{|{||z{||{|||{z{{z{{{z{|{{|||{|{{{z|zz{{|{{{{{{z{z|{{{|z{}{{||{{zz{z{{z{|{||||{{zz{{zz|{{||||{{{{{zzz{z|||{|{{{{{|z{zz|{|{{{{|{zz{z{{z{|{{{|{}|z{{{{{y|{{|{{{{{{{z{z{z|}{{{{{|{z{{{z{{{{{|||{||||{{z{{|{{{||||{||{{{{{{||}|{{||{{{{{{{{{||{|||{{{{{{{{{||{{||{{{z||{|||}||||{{z{{{||||}}{|{|{|{{||{{{{{}|||||||{{{{{{{|||||{}}{||{|{|||||{||||{|||zz|{|}|}|}||}{{|||||||||}|{||{{{{{||||{|}|{}{{{{{{{|||||||{||}{z|{{{{|}||{|||{{{z{{{{{|}z||{{{{z|{{z|z|{{~~~~~~~~~{|~||}z~~~}}}}~}{|||||z||{|{|}}{{{{{{{||{{}|{{}{|{zz{{{{z|||{{{{{z{{z{zz{z{||{z{z{{z|zz{{||{}|{{{zzzzzz{{||{{z|z{z{zzzz{{{{|{{zzzzzzzzz{||{{{{{z{{{z{z{zz{|{{{|{z{z{zz{z{{{zz|zz{{{|zz{z{{{z{{zzz{z{{{z{{{{{||{|{{{{{{yz{{|{|{|{{{zzz{{{{{||||{z{{{zz{|{{|||||||{{zz{zz{|{{{}|{{{{zz{z{||||{{{|{zz{{{z|||{|{|}}{{{{{{{{{{{||{{|{{{{z{{||z{|||||{{{y{{z{{{|||||||{{|z{|{|{|||}|}{{|zz{{{|||{||||}{{|{|{|||||}|{{|{|||z{|||{|{||||{|{{{{{|{|||{||}{{||{{||||{|{|||{{{{z{z{||{{{||{z{{{{{{{||{|{|{{{{{{z{{{|||{~~~~~~}}}}}|||}~||}|}}~{{|{||{|{{{||{||{|{{{{{{||{{|||{{|{z{z{|z{|{{{{z{{z{{zzz{{{|||{{{zzz{z{{{|z{|{{z{zz{{{z{|{{{{|{{z{z|{z{{{{{{{|{{z{{{{z{{{{z|{|{{zzzz|{{{|||z{{||{{z{z{z{{z{{||||{zzz{{zz||{||z|zz{z{|{{|{{|{|{{|{|{{{z{z}|{|{||{{{{z{z{{{{|{{{||zz{{{{{{{|{||{|{{{{|z{{{{z{{|{{{{{{{z{z{|}{{|{|{z{{z{zz||{||||{|{|{|{{{||||{}||{{z{{{{z{{{|||||{{{|{{z{||{}||}{|z{||{{{{|||{|||{|||{|{{{|{{|{|}}{{{|||{{}{{{||}|||||{z{{|||||||{{{z{|z||{|{|}}|{{{{||{{|{{|||||||{{{z||{|||{||||{{{{|{{|||{{|||{z{{{z{{{|}|{~}~}~|~}||{|}|~|}}~|{|{{|{|{|||}||{{|}{{{{|z|{}{{||{{{{{z{z|{|{{{||{z|{z{{{|{|{z|{||{{{{|{{|{|z{{|{{{zzzyz|{{|z|{{{{z{zzz{z|{|{{{||{zz{z{z|{|{z{|{{{{{{z{zy{{{||{{|{{z{{yz{{|{||{{||{{{{{{y{{{{||{{z{|{{{zzzz||||||{{z{{zz|{|{{{{{{{z{zzz{zz|{|{|||{{{{z{{{{}|{|||{|{{{z{|{||{||||z|z{|z|{z{||{{|}|{{{{z{{{{{|{{|||{{{{}z|{|||{|}|}{{|{{{|{|{{|||}|{z{{{zzz|{|||||||{{z{{zz{||||||}{||{{||{{}|||||||{|{{z|{{}{}|}||}{{||{{||||||}}||{|{{z|{}||||||}|{|{|{{{}|{|||{||{zz{{{z{{|{{||{|{}z{{{z||{{|||||{{{|z{zzz||{~~}}}||}|}}}}|{|}}|||{|{z||||}|}|}{|{{{{{}{||{||{|{{|{|{{|{}{||||{{{{{{{{|||z|{||{{{z{{{{||{{z{{{{z{z{{z{{{z{|{||{zz{{{{{|{z{|{||{{z{{zzz{{|||}|{|{|z{z{{{z||{{|{|{{{{{{z{{{{{||{|{{{|zz{||{|{|{{|{{z{}zz|||z{||{|{{{{{{{{|{||||}{{{{|{|{{||{||||{z{{{|{{||{|||{||{{{{z{{{{||{|||{{{{{{{{{||{||||}{z{{{{|||}{{|||{{{|{{{{|||{|||}|{z{{|}|{}||{}|||{{||{{{||{{|}|||{{{{|{{|}|||}||{|{|{{|||}}{}}}||{||{|{{{}{}}{|}||||{|}|||}{|}||{z{{{||||{||}|||||z||{|{||||||}}|||z{{{{|{|}||||||{{{|||{|{|{|{{{{{{|{{z|}|{{~~~~}}|}|}||{||~|}~||||||}|||||{|||}}|||||{{{{|||{||||{{z{||z|{{|{{|{{{{{|{|{{{{|{||{|{|z||{{|{{|{|{|{|{z{{{|{{{{|{|{{{|z{z{z{|{{||{{{{z{z{z{{{|{|{{{{{|{z{{{|{{|{{|{{z{z{z{z{{|{|{{{{z{{|z{z{{z{||{|{{||{{z{||{||{|||{{{{{{{{||{||||{|{|{{{z|{{{||||{||{|{{z|{|{||}{{z||{{|{{|}|||{{{||zz|{z||||}|{{||{{{{{{{{}{|||}{|z{{|{{|||{|||}|{|{{{|{||||~||}{z{|{|{{||}{}|}{|{{|{{||||||}}|}{{|{{|||||{}||||}|z|{|{{|||||||}|{{|{{{{{}|}||||{|{{{|{||}|||{|||||||{|{||{{|||{|{{{|{{{{|||||}{||{|||{{|}}||||}{z{{||{|{{{||~~}}||}|||}|~~}||}}}{{{{{|{|{|{|}}|{{|{{z{||{||{{|{|{z{{z{{|||{}|||{{{{z{zz{{{z{{{{|{|{{yy{{{|{z|z|{{zz{z{{{|||||{|{{{{|zz{{||{|||{{{z|{zz{{}{{|{{|{{{z{zzz{{|{||||{|{{{zz{{|{||{{{|{{zz{{z|{{{|{{|z{{z{{{{||{{{|{|zz{{z{z{{{||{}{}{zz{{{{{{{||{|||{z|{zz{{{|{{{|{|{{|{|y|{|{|{{{|||{{||{{z{||{|||||{{{{{{{|{|||||||{{|z{{{{{||}}}|{{z{{||{|||}|||||{||{|{{}{{||||~{|||{{{{}}||||}||{{{|{}{}|{{|||}||{|z||{|}{}||}||{|}{z{|{||||}|||zz|{{{{||}{||{|{{{{|z{{|{|||||{{{|{|{{{{{||{|}||{{{{{|{|}{|{|||{{|zz{|{{|{|{~~~~}}}|{}|}}}}|}~}|{|{{||{{|{|}{|}{|{{|{|{{{||{||}{||{{{{z{|||||{|{{{{z{z{z|z{{|{{z{{{zz{z|{|{{{{{{{z{{{{{zzz{|{||z{{{z{{{{|{z{||z{z{zzz{{{{{z{z||z||zz{zz{{z{z{{{{{z{{{{{{{{z{}{|||{{zz{zz||{{|{{{{{{|{zzz{{{{|||{{{{|{{{{{|{{|{|{z{{|z{{||{{||||z{{{{{{z|{|{|}||{|{{{z|{{||{||{{|z{|||{{{{}{{||}|{{|{{{{|||{|}|{|{{{{|zz{||}|{||{|{z{{z{|||}|}|{{||z{{{z{||{|{|||{{{{{{{}}|}||}{{{|{|{||{||{|{|}|z|{{}{{{}|}|{||}{{|{{{|{|}}|}||z{|z{|||{|{|||}|}{|||z|{||{}{}|}{|z{|{z{||||}|{{{{{{{{{{|{{|||}}|{{{{{z{|{|{|~~~~}~~~|}}}||}||}||}}|{{{{|{|}||{|||}}{{{|{z{{||{z||{z|{z{yz{{|{{}|||{{{z{{|{{{{{z|{{{z{{|zzz|{|z{||{{{z{z{z{zzz{{{{{z{{zz{{z{{|{|{{{{{{{zz{{{|{{{{z{{{{zz{z{{{||{{{|{{z{z{{{{{{{{{{|{{z{zz{z||{{{{{|{z{{{z|z{|{|||{{|{{z{zz{{{|{{{{||{{{z{{{{{|{||||{{zz|{{{{|{|||{{{|||{{{{{|{{||{{{{{|z{{{|{||{{|{{|{{{{{{{{|{{||{{{{{z{|{{||||}||{|{{|z||||{||||||{||{z{y||}|||}{|{{{{{z{|}{||||}{{{z|{|{{||{{||||{{{{{{{{}||||{{|{{|{{{{||}|||{||{{{||z{{|||||{|{|{{||{|||||||{{z{{|{z|z|{||{|||{{{{{{|z||{||||||{{{zzz{{{|{|~~~~}~~|||}|}}}}}}}||{{{{{|||||}|}}|{|z|{z{|}|||||||{{{|{zz||{}|||||{{z|{{yz{{|{{{{{{{zz{zz{{}|{{{{{{z{z{|z|{{|z{{{z{z{zz{{{{{{|{{|{{z{z|zz{{|{z|||{{|{{{{zz||{{{||{zz{{z{{{{z{{||{{{{{{zz{{||{{|{||{{zz|z{{{|{}{||{{{{{{{{|{|{{{||}{{{{{{{{{{{|{||{{|{z{{{{|{{{}|{{{|{|||z{|}|||{||z{{{{z{|{|||{||{{|{{{{{|||{{{|z{z{z|{{|{|{}||||{|{{{|{{||{}{}|||{{|{{{{{|{}}|}|{z{{{||||||}||}}{|{{|{{{{|{||||||z|{||||}}|{|||}|{|{}|{{||||}|{|||{z{|{|||||{|||}{{||{|||||}{}||||z{{|{{|||{||}z{{zz{|zz{||||{||{{{{zzz{|{{{{~~}}}}}~}}}|~}|||||}|{z|{z}||{||||{|{|{{z{{|{{||||}{{z{zz{z|{{|{|||yz{{z|{{{|z{{|{{{zz{{{z{{|{{{|{{z{zzz{{{{{|{{{{|{zzz{z{{{|{z{{{zz{zz{{z{{{{{|||||z|{z{{z|{{|{|{{|{{z{{{zy{||z{{|z{zz{z{zz|{{{}{{|{|z{{z{{{{{{||}{{{zz{{{|{|||{{|{z{{z{|{z|||||{{z{{{z{zz||{|{{||{{{{{{{zz|{||{{{{{z{{{z{|{|{|{}|z{zz{zzz|{|{{{||z{|z{z|{{{{{{{||{{z{{{|{{|{|{||{{{{{{{zz{|||||||{{{{|||||}|||||{{{|{|{|||{{|{}||{{{|z|{{|~||{|||||{|z{{{{||||||{|z{{|{{{{|{||}||}{|{{|z{|{||||}|||{{{{{{{|||||{{|{{|{{{{{|{{||{{{{{{zz|{{{}{{~~~~~~~|{|}|~~}}}}}}|||{{}{{||{||}||{z|{{z{{||{|{{||{{||z{zz{z{|||{{zz|z{{zz||{{|{|{|{{{{{z{{||{z{|{{zz{{{z{}{{|{{{|{{z{y{z{{{{z{{|{{z{zz{z{{|||{|{{{{{{{z{{{|{|{{{{{{{{y{z{z{{z{|{{{{{zy{{{{{||{}{{{z{z{z|z{}{{|{{|{{{{zz{{{{{z|{||z|z{{z{{z{|{|||||{{{{z|{{{|{||{|{{{{{z{zz{{|{|||{{|{{z{{|{{|{{||{|zz{zy{||{{|}|{{{{|z{z{{|{||||||{zz{z|{{|{|{{}||{{|{z{{{||||||{{{{{|z{{|{|{{|}|{{|{{{||{|{|{|||||{|{{{|{}|||{}{|z{|{{{z{}{|||||{z{{|{|{|{||{||||{{||{{|{}}|||||||{{z|{{{}{|{}|||{|{z|}{||||||{|||{{{{{z{||||~}}|}{}||}||}}}}||{{{|{{{|||||}|{|{{{{|||{|}}{|{{z{{{{|z|{|{|{||z{{{{{{{{||{{{{||z{{{{{z{z{z{{|z{z{{z{z{{{{|{|||zz{zz{zz|{|z{{{{{z{{z{zz{{{{{||||z{{{{zz|{||{{{{z{zz{z|{{z{{z{z{{{{{{zzzy{{{{{{|{{{z{{{{|{{||||||z{{|zzz|||{{|{||{{z{{{{{{{|||{|{{{zzzz{{|{||{|{{{{{zz{z{{{{||{||zzz{{{{|||||{|{{zz|{|z{|}|{|||}|z{{{{{|{||{{|||{{|z{{|{|{||||||}{|z{{{{|}|{||{||{z{|z{{}||{|{|||||{{|{{{||{|||}}{{z{|z{{||}|{}}|{{|z{|{|}|{||{||{{|{{{{||{{}||{||z{|{|z|||}||{|{{|{{{{{z|{{|{||{{{{|{z{{{|||||||||{{z{z{{{{{~~~}}}}}}|}|}}}|}~}|||||}{||}|}|}|{{{|{{||{{{}{{}|{|{{{{{{{z|{||{|{{|{z{{{{{|{{|||{zzz{|{|||{{{{{{{{z{|{{{{z{{{|||{{{zz{{zz{||||{{{{{zz|z{{z{{||{{{{{zz{{{{|||{{{|zz{{{z{z|z{{|z||{{z{{|{{{||{|}||z{||{{{z{|{{{{|||{{z|{{{|||}{{{|{z|z|{|{|{{{{{||{{{{{{|{{{|{|{||{{{{{{|{||}{||{|{||{|{{{{|{|||||{{{|||{|||{{{}|{{||{{{{}{|{}{|||{{|{}{|{|}|||||||{{{{{{{|||||||{{{z{|z{{||}{}||||{|{|{|||{{{|}|}|{||||{}|~|||}||}|||{|{{||{|||}{|{||||||{}|{||}||{{||{|||||}}}||{{|{|{|||{||{|}|{|{{{{{{{}{||||||{{{{z|z{|{{|~~}~}}}}~|}}}~|}}~||||||{{}}|||}}||{|{{{{{|{}|{|||{|}z{{{{{||{{|{|{{{z{{zz{{|z|{|{z|{{{{z{{|{{||{z{{|zz{{{{{|{z||{{zz{zz{{z{|{||{{{z{{z{z{{{{{|{||{{{|{{z{z{|||z{{{z{{{{|zz{{{{||{{{zz{{{z{{{{{|{{{z{{{{|{{{|{|{{|{{{{{zz{|{{{|{||{{z{{z{{||{{z{|{{zz{|z{z{{|{||{{|{{z|z{z{{{||{{|{{{{z{z{{|||{||{|{{{|{z{{|||{{|{z{{{{z{{|{{|}{||{{{|{||{{{{|||{|{{{{{{{{|{||||||}{{{{|{{|}|{||}|{||{{|||{}|}|{}}|{|{||{{||{|}}|||{{{|{{|||||||||{||{||{z{|{}|}}}||{{{{{||||||||||}|z{{{{{|||{z|}|z{{z{{z|{|{||}|{z{{{{|{|{{{{}}~|}}}|}}}}||}|}||{|{|z|{}|{}|}|{|{{{z{{{||{|||{{{{{z|{{z{{{{{|{z{{{z{z{|{{{||z|{{z{{{{|{|{z|{|z{zz{|{{{{{{{|{{{zz{{zz{z{{{z|{|zz{zzzz{{{|{|||{{y{{{zzz{{{|{}|{{{{||z{z{|{||{{zz{z{z{{z{{{{{|||z{{{{|z{|{|{{|{|{{{z{zz|{{{{{|||z{|zz||{|{{|{{|}|z|z{{{zz|||{|}{|{{{{||z{|}|{{|{z{{{||{z{}|||||}|{{|{{{{{{{{||{|{z{{z|{||{||}||||{{{|{||{|{{||}|{|{{z{{{z{|||}|{{{{{|{|{|}|{||}}{z{z{|||{||||||||{{}|||{|}{||~|||{|{{|{{}|||{|{{|{{{|{{{{|||}|||||{{z{|{{{||||||||{{{|||||||{|||{{{{{z|z|||{{||{|{|zzzz{{z|z{~~~~}~||}{{|}}}}~}}}||}{|{||{||{}|{|{|{||z{{|}{|{{|||{{z{z{{|{{{||}|zz{{{|y{||{|z|{|zz{zz{{{{{{{||{z{z{z{z{{{|{{{{{{zz{|{y{{||{z|||{{zz|{z{{|{{{{{|{{{z{{z{{}{|{{{{{z{{zz{z{|{{{{{{z{{z{zz{{|{{{|{|z{zz{|{{|{||{|}{|z{z{{|z{{{{||{|{{|z{z{{{||{{{{{{z{{{{{z{{{|{||||{{{|{|{{{||{|||{{{{z{{{{|}{{{|||{z|{z{{{{|{{|{|{{|{||z|{{|||{{||{||{{{{|{|{{|||{{{{{z{{{}{||}|||{{{zz{{}{|||||}{z{|z|}|{|{||||||{{||{{{{}{}||{}{{||{|}|}||{||}}{{||||||z|||||||||{|||{{|{}|{}{|{{{{{{zz{}{||{}||{{}{{{z||{|||||{{|{{||z|{|||~}}}}}|}||}|}||}||}||{||{{|||}}}|}}|}|{{{|||||{}|||{|{z|{z{{|{||{}|{{|zz|{z{||{}|{{{{{z{{{{||{{z{|{{{zzz|{{{||{{{{|z{{{zz{{{{{{{||{{{{z{z{zz|{{z|{z{{{{{zz{|{||{|{{z{z{z{z{{|zz{|{{zz{zz|z{|z|{|{{{{{z{{|z|||{{{|{{{{z{{{{|||{{|||{{{z{z{||{{|{|{||{|{{{|{{|{{||{|{{{z|z{{||}{{{{{{{{zz{{{z|||{||{|{{{{{{{{|||{|||{{{{|z|{||||}{{{{{{{{{{{|}{|||||||{{{{{||||{{{|||{{|{||{}{{|||}|||{{{{|{|}{{||{{|{|}|||{{}|}}|}|}|||{|||||||{|}||z|{{|z{||{|{{}}|{z{||{{|||||}|}{{{{{{{{z|{|{||}{|z{{zzz||}|{|||{y{zzz{{|{|||~~}}~}|}|}}}~~}}}}||{{{|{|||{}||||{|||{{{|{||{||}|{|{z{{z{z|{|{{|{z{zzz{{|{{{z{{|{zzzzz{z{{{z{{||{z|z{{z|{{{{{{{{z{{zz{{zz{{{|{{{{{z{z{z{{{|{||{}{{|{z{zz||||{|||zz{{|{{zz||{{||||{{z|zzzz|{{|{{|{{{|{{{y{|{{|}{{{{{zz{|{{{{{}|||z{{{{y{{||{|{|{|zz|{zz{{{{|{{|{{{{{|{z|{{|{|{{||z{z{{{zzz{||||||{{|z{{{{{||{|{||z{{|{{{z{|||||||{|{||{|||{|||||}{{{{z{z{{|||||}||z{|{{z|}||{||||z|{{{}|||}|{|||}}{{{{{||||||{||||{|{|{|z|{}|||}|{{{{{||z|}|{||||{{z{}{z|{}|}||}|{{{z{{zz{|{{{|||{|{z{{{z{{{|{||||{{{|{{{{{{|{~~}||}}|}}}}}|}}}|||{{}|{|||||{||||{{{|z{|{{|{}||z{|{z|{z|{{{||{|{{{{{{|{{||{{|{{{z|zz{zz{{|{{{{{|z|{z{z{z{{|{{{|{{{z{z{z{{|{{{z{|zzz{{{z{{{{{{||{{{zz{{z{{{{z{||{zzz{z|z|{{{|{{{|zz{{z{{{|{{z||{{zz{|{z{z|{|{{|}{zzz{z|z{|{{||||{z{{zz{{|{{{}{{|{{{{z{z{{{{{||}{|{{{zz{{|{{|{{}|{z|{zz{z{}|{|||{{{|{{{z{{{{|{z||z{{{{{{z{{||||||{{{zz{|{{|{|{|||{{{{{|{z|{|{|}|{{{{{|{{{|}{|||||{{|{{z|{z}|||}|{|{||z{|{{}||{}|}|||||{{|||||||{|{{{{{{|{{|{{|||||z{{{{z|||}||{||z{{z{{{{||{{|{|{||z{{{z{{|}{{{{{{{z{zz{|{||{z~~~}~~}}|}~}}|||}}||{|{{|{}|||}}|}|||{{{{{{||||{{}{||{z{{{|{|{{{{|{{{{{z{{{{{}{||z{{{{{zz{|{|{{z{{z{{zz{zz{z{{{{{|zz}z{{zz{{{{{|{{{zz|{{z{{z{{|{|{{|z{{|zz{{{{|{|{zzz{{zz{z|{{{z|{{{{{{{{zz{|{z|{|{z{z{|z{{{||{{|{{{{{{z{{{||{{|{{|z{{{{{{{||{{{{}{{z{{zz{|z{{{||{|{{{{z{{||||{|{{{{|{z|z{{|{{||{|{{{{{{{{{{|z}|{|{{z{{{{{{|}}}{{|{{{{{z{|||z||}{||{|||{z{{||}|||||{||z{{{{}|{|}}|{{{z{|||||{||}|{|{|{{||||{|||}}||{|{{{{}{{||||||{{{{{{{{{|{||}|}|{{||{{|{||{|||}{|{{{{{{{|{|||||{z{{{z|z|||{{||{|z|{{z{z|{||{~~~~}}|}}|||||}}||}}||{{{{{||{|||{||{|{{{{|{||{}|}|{||z{z{{||{{{|||{{|{{{{z||{{{|||{{{z{{zz{{{{{{{|zzz{{{z{{|{{{{{zzz{|{{{{{{{{|{|{|zz{{{{z{{{|{|z{|{{|{zz{{{{||||||{{zz{zz{{{{{{{|{zzz{{{{{||{{|{|z{{{z{zz{{{{{z||{{zz{{|{||{||||{|{|{{z|{{{{{|{{{|{{z{zz{{|{|{|{{{{|{{{{|z{{||{||{z|{{{{{{|{{|||{|{z{z|{{{||{{{{|{|||{|{{{{|||{}|z{{{z|||{|||{|}}{{|{|{{{{}|{{|{|}{{||{{{|}{||}|||{{{{||||}|||}}||{{{{|{||~{||{|||{|{{{{z|||}|}|||z{{{{{||{|||||}}{{{{{|{{{}|{||{{|{zz{|z{{||{|||||{{{{|{{|{{{{||zz{{|{{{|{|{|~~}~~}~~}||}|}}}|~}}||||||{|||||||}|{||{{{{||{|{{|||||{zz{{y|||{||{|z{|z{{{z{|{{{|{z|{{z{{{z{{{{|{{{{{zz{zzz{{|z|{||zzz{{z{zz{{{{{|||{{{z{zz{{{{{{}{{{{zyz{{{z|{{{|{{z|zz{{yz{z{z|{||{z{z|{zz{{{||{|{z{{{{zzz|{{{||||{{z{z{{{}|{{||}{{{z{z{{{{{{{|{|z|{{y{{z|}|{|{||{|zz|{{{||{|{|{|}{{{{z{z{||{{|||{{|z|z|{|{{||||||{{{{{{||{|{||||{|z|{{|{{{{||||||{{|{{zz}||}}|}{|{{{|{z|||}z|{{|{{|{|{|||}|||||||{{|{|{{y||||}}|{{z{{|||{|||||}||{{{{z{{{{{||}||||{{{{{||||||||{{||{{z||||{{|||||{{{{{{{|{|||{|||||zz|{{||{|{~~}|~~}}||}~}}}|~~}|}||||{}{}}||}|{||{{{z{|{}{{||{|}{zz{zz}|||||||z{{z{{{{||{{{||{|z{{{zz{|{}|{|||{z{{z{{{|{z{{{{|{{{{z{{{||z{{||{|{{{zzz{|{|{||{{{{{{zz{z{|{|||}||{{|z{{y{{{|{||||{{z{{{{z{|{{|{|zz{zz{zz{|{|{|}|{|{{{{zz{|{{|{{|{{{z{z{{||||{{|}{{{{zz{{|||{|||||{{{{{|{{{{|{|}|{{{||zz{{|{{||{z|z{|||{{|}{|{{||z{{{{||{||}||||~{{||{{|z|{|||||||{|{{{{|{||||||||{{|{{{z|||{}||}||||{{||{|{|||}}||{{|{|||}||||||||{||{{||||}}|}|||{{{{{|{||||}}}|{||{{||||||}|{{|{|{{||{{|||||}||{{z|{|{|}|{||||{{{{{{{|||{|{~~~}}~}}|}}}|~}~~}||{{{{|||}|}|}|||{|{{{{|||||{}|}||z|{|z||}|{||}{{z{{||{{{{{{{|{|z{{|{y{|z{|||{{{|{z{{z|{{{|{{||z{{|{{{z{|{|{|{{{{{{{z{{{||{|}|{{z{zz{|{|||{{|}||{{{{{|{|{||{|{}{{{z{z{{{{|||||}|{{{||zz||z|||}|{{|{{{|{{{||{}}||{{{{{{||z|{{{{|{{{{z{{{||{||{|{||||{{{{||{|{}|}{{{{{{{zz{|||{}|{{||{|{{|}||{||||{{{|{{{|}||}|}}{|{{|{{z|}{|||||{{{|||{{{||}}|||}{{{{|{||}}|}|}||||||||||}{||}|}|{{}{||||||||}}|}{|{|{|||{|}|}|||{||}|{{z|}|}|}||{{||{{{|||{}|||}{|{{{{|{}|||||{||||{|{|{}{||}|}|{{{{|z{|||{{~~~~}}}|}{||}|~|}}}}}{||{{{{||}{{{|||{{z{{{{{|||{||||{{{{{zz{{{{||{|{{zzz{{{z{{z{||{||{z|{z{{||||{|||{{{{{{|z{|{|{|{|z{{{|{{{{{z{||{{{{{zz{z{|{{|{||{{|{zzz{{{{{z{z{|{{{zz{{{{{|{{|||zzz{{{{{|z||{||{{{{{|{z{{{{{{}|{|{||z{{|{|{}|||{{{{{{{z{|{{{|||{|{{|{{{|}|{||{{|{{}|{{|{{||||{{{{}{{{{{{|{||{|}|{{{{z{z|||{z||||{{z{{|{|||{}|||{{{{{{|{||||||||||{|{{|{||||||||||{z||{{|||||{}{{{{{{|}|{|||{}||||{zz||{||||||}|{{||{{z||}||||||{{{|{{{{|||{|||}}|{{|{{{{||||||~{{{{{|{{{|||{{}~}{{{{{{z{||}{||z{{{{{{z|{||||~~}~~~}}}|||}||}}~}||}||{{{{|{{}}|||{||{{{||}|}|{{}|{|{z{{|z|{|||{|{{{{{{{zz{{{{||}|{{||{{z|{{{{z|{{|z{{{z{{z{{{{||||z{|zz{{{{zz{{{{{{{z{{{{{z}|{z||{{|{{zz{|{{|z|||{{z{{z|{{{{z|{||z{{z{{{z{{{{{|{}|z{{{||{||{{{{||{|{z{z|{{||{{|||{{|{|z|{{{z{{||||z{{{z{{{{{{{|{|{{|{zz|{z|{|{|{||z{z{|{{{|}|{|||{{{{|{{{|}{|||||{{{||{{|||||{}|{{{{{|||{{{|}|}||{z{|{{{|{|||{||||{|{{{{{|}|||}|||{{{|||{||{|}|}|}{||}{{{{}||||{}|{|{{{|{||}|}}}}|{{{{|{|||{{}||}|{{||zz|{|{|{|}|{z{{{||z|{{|}|}|{{z||{|{||{|{{||{{|z{z{{||||{~~~}}}}{||}}}||}|}||{{{||{{}|}|{||||{||{{{z{||}{{}|||{{{{{z{{|||{|}{{{{{{{{{|{{z{||{{{z{{{|z{|{{{{|{{{{{|{{{{{{{||z|{zz{z{{{||{{{||{z{{zzzz|{|{{||{{z{zz{zz{}|{|{{|zz{{zz{z{{|{{||z||zzy{z{z{{{|{||{||{z{|{{|{{{{{|{{z{{{{||{|z{|{{|{|{{{{{||z{{|||{z{{{||{|{|{{|{|{{{{{z|{{|{||||||{|{{{z{{{||||{||{{|z{||{{}{|{|{{{{{{z|{|{}||}}|{{{{|{|{|||}||||{|{|{{{{{||{||}||z{{|{{{|}||}||}|z{|{||{|{{|||||}{{||{{{||}|||}||{{|{||{{|{||}|{{{{{|{y{||}{|||}{||{{{|||{|}|{|{{||{|{|{{}||}}{}|{{{|{|{{}{|||{|{{|{{{{{{{{||~~}~}||~~|||~}}}}}}}||{|{{|{{{{|||}}z}||{|{{||}|{|||{{{{{z{{|||||{|||{{z{|z{|{z{{|{|{|{{{{{|zz{{{{|{|z{{z{{{z|{|{{{|{|z{{y{z{{|{{z|z{{{zz{{z|{|{{|||{{{{{z{{{{{|{||{{z{{{zz{{{|{{{{z{{{z{z{{{|{{{{|{|||z{|{zz{{{|{{{{|z{{{{{{{||{|{|{z|{|{{{|{{{|{||{{{|{{{{|z|{{|||{|{{{z{{{{|{{|{{z{|{{{|{|||{|{}}|{{{{{{{||||||||{{{{{|{{{|||{||}{{{zz{|||||}{||||{z{z{{{{|||{}}{|||{|{{|{|{{||||{{{{{|}||||}|}|||{{{|{{||}||||}}{{{|z{{{||{|||{}}|||{{{{|{{|||}}||{|||{{|{|||{{|{z|{{{{{||{||||||{{|{{{{|}{|{{|||{{{{{{z|||{{~~~|}~|{||}}}|}||~}||{|{{z|{{{{|||{z{{{{{{|||{|{||||{{zzz{|{|{{{{|{z{{{z{{{||{{z|{{{{z{z{z|||{{z{{{z{zzzzz{z{|||{zz{{z{z{zz{{{{|{{z{z{z{{z{{|z||{{{{{{zz{{z{{z{{|{{zzzyzz{z|{{z||z{{{zzz{yy{{{z|}||{zz{{z{{||{{z{|{{z{{z{{{||{{{{{z{z{zz{{|{{{{{{|{{{{zz{z|{|{{{||z|{{{z{{{||{||{{|z{z{||{||}|{{|{z{{{|{y{z|||{{||||z|{{{{z{|{||}{{{{{{{{{{{|}|{}|{{{{{|z{|||||||||zz|{{|{{{||||}|{{|{z{{{|{|{{|{||{{{|{|{||}{{}|}||z{{{|{|||||||||{{{z{{{|z{|{|}||{{||{{{||}{}|||{z{z{z{zz{||{{}||zz{{z{z|{{|{||||{z{{{z{{||{{~~~~~}}}}}||||||}|~|}||}{{||{|}}|||||{{{{{{{{||{|{||{|{|{z|zz{{|{z}{|z{{{{{{{{|{{{||{{zzzz{{z|||{z{{{{zz{{{{zz{||{{||zz{z{{{{{|{{{|||{zz{z{z{{{{{|{||z{{{z{{{{y||{{{|{{{{{{zz{z{{{{{|{{{z{{z{{||{|{|{{z{{{{{z{{{zz{{|{z{{{{{{|{{{{|||{z{{{{{{{{{{{z||{{{z|zz|{{{||{}|{{{{|z{z||{{||||{{{zz{zz||||{{|{{{{{{{{z{{{{{|||{||{{{{z{|||}|}|{|{{{z}{|||}|{||{||{{|{{|||{|||{|z{{z|{{}}|{|||{|z|{|{|||||||||}|{{|z{{||~|||||||{{z|{{|}{}|}|}}|{{|{|{z{||{||{|{||{|{|{~||||}|{{{|{|{z{{{|{||{|{z{{zz{{{{|{|{|{{{{{zz{z{}{{|~~}~}}}}}|{||}~||}}}{{|{{{{{|{|{||{||{{|{|z|{{{}||||||{{{zz{|{|{{{{}z{{{{{{{{{{{{{{||{{zz{{z{{|z{}|{{z{{zz{{{z|{{||{{zzz{{zz{{z{{{|{{{{{zz{|{y{||{{{{zz{zz{z{||{|{{|{z{zzzzz{{zz{{{{|{{{{z{zy{{{|{{|{{z{{{{z|{{z{{{|{{|z{zzz||{|{|||z{{zzz{{{|{zz{||{z|zzz|{|||{{{}|{|{{{{{{{|z{|{|||z{{{{z{|z{{|{|{{z{{{{{|{{|{{{|||{{{{{{{{{|||}|||{{z{{|z{z{|{||||{z|{z{z|{|{{||||||z{{{{|{||}|}}{{{{z{||{|{||||}}{{{z||{||||||{}|z}{{{{{|||||||||{z{{|{{{{||{{}||{z||{|{|||}{{{||{|z||zz{|||{{}|{|{{z{{{||{{||{zz{|{{z{z|{||{~}~}}|}~}|}}}}~}|~}|||{{|z{|{z|}|||||||{z|{{||||{|||{{{zz|{|{}|}|||z|zz{{}||{{{{|||{{z{{|{{{z||{|||{{{{{z{{{|{{{|{{{z|{z{{z|{{{||{{|{z{z{zz{{|{|{|||{|{{{{{|{{}||{|{{{{|{{{{{{z{|{{{|{{z{z|z|{||{|{{{{{z{zz{{|||{{||z{{|{||{|{{{{|}{z{|{z||{{{|{|{|{{{{z{{{{|}{||}||z||||{{{||}}{||{{{{{{{{{||{|||{{{z{zz{||}||{{|{{{{{{{{{{}|}||||{{{{|{|||||}||}||{z{{{{{}|}||||{|{|||{z||}{|||||{|||{z|||{{||}}|}|{|}{||{}|||{|||{}{|{{z|{|||}}}|{{||{{||||||{|||{|{{{{{|||}||}}|||zz{|{||}{}|}||}{{{|{{||||{{}||{{{{{{{|}|{|~~}~~~}~}}~||}}}||~}}|}~}|}|{{||||||||{|{||{{{{|{||}|||{|{|{z{|z|||||{{{{{||{{{z{|||{{|{|{{z{zz{|{|{{|z||{{zz{z{|{{{{|{{z{zy{{z{z{{{|{|{{{{{z|{||{|{}{{|zz|{z{{{{||{|{||{{{{{{{{{|{{|{||{{{z{{{{{|{||}||{z|z{{{z{|{{||{|z{{{|{||{|{{{z|{{z{{{{{{|{||||||{|z{|z{{{{}{{|}||{|{{{{{|||{|||||{|{{{{z{|||{{|{{{{{{z{z|{|{{{|||{{z{{|||||||}{||||{{|{||||}||||{{||z{z{||}||}|||{{|{|{{}{}{{|}||{{{{{|||{|||||}||{{{|{{|}|}||||{{|{|||{{|{|{}}{|||{|}{|{|||||}||{{||{{||}{}||{|{{|||{|{|}||}}||{{z{{|}{|||}{||||{|{{z{{||{|{~~}~~~}}}}}|}|}~}}}|}}|{||||{|||{||}{|{{|{|{{{|||}||}|{{zz{z{||||{{||zz{{|{zz||||{{{{{{|{{|z{{z||{{{{{|zz{{z{{{{|z{|{yz{{{zz{{{{{{||{{zz{zz{{{|{{|{{{{|{z{z{z{{{{{||{|{{{{z{{{|z{z||{{{z{{{{z{{{{||||{z{{z{{{{|}|||||{|z{|{{z{|{{|{|{{{{{zz{{|z{|{{{}{{{y{{{{{{{|||}||{{{|{z{z{||{|{{{zz{{{{{{|{{{{||{||{|{{{|||{|{|||{|||{{{{|{||{|{z{{{{{|{|{||||||{|{|{|{|}{{|{{~{{z{z{{{||}||{|}}{||{|{{{{||{|||||{|{{|{z{|{}|||||||{{{{{|||{{|}||{{{|{z|{||{|}|}|{{{|{z|{||||||}{|{{{{{{{{|{}}}||{{}{{||{{}||{||{{||{{{{{|{||}~}}~~~~~~~|||||}~|~}}}}}{{||||{{|}}|}}||||||{{|||z{|{||{|{{z{{{{||}||{|{{{z{{{z{|{{z|||{{{zzz{{|{{{|{{|{|zzzz{{{|{{{{{{{zy{{{{{z{|{{z{{{{{zz{z{{{|||z||{zz{z{{{z||{{{|{|z{|{{{y{||zz{{{|{{{{|z{z|{z|{{|{z{z{zz{{{|{{|{|{{{z{{|{{{{{{||{{{{{zz{z|z}{||||{z{{z{{z|{{{{{|{|{{{{{{{{|{{{|{{{z|{{{||{{{{{|||{{{|{{yz||{{{}{|{{|{{{||||||||||{{z{{{|{}|||{||}|{{{|{{z||||||~{}{{{|{{|}~||||}|{{||{||||||}{}{|||{|{|{|{}|||||}|{||{{|{|||||||||{z}|{z||||{||}||{|{{|{|||||||}|}z|z{{{{|||{{}||{|{{{|z{{|{{{|}{|{{zz{{|{||{|~~}~|}}~~}}}}}}}||~}|}}}}||{{|||{}{|||}||{{||zzz{|||}{||{|{{{z{|z}{||}{{|{{{{zz{zz|{||{{{{z{{{{{{{{|z|||{{z|zy{zz{{{{{{{|{zz{z{zzz{|{|||}zzz{z|z{{{{{|{{|{{{{{{zz{{{||{|{{z{{{zzz{{{{z{{{{{{{{z{z{|{{{|{z{z{z|{{zz|{}|||{|{zz{{z{|{{{|zz|{|{{zy{{|z{{{|||{{{z{zzz{|||{|{|z{zz{{|{{|{|{{|{{{|{|{z{{||{{{|{|{{{{{{|{{{{{|{{{{{z|{{{|{||||||{{{z{{{{|}{|{|||{{{{{{{|{||}|||}|{{{||{{|}|{|||||{|{|{|{{{{|||}|}|{z{{{{}|||||}||{{{{{|{|}||||||{||{{{{{{{{|||||{z|{|{|{|{|}||{|||{{|{|{|{|{||||{{{{{|{z{{|||{{|{{{{{{{{z||||~~~~~~}~}}}}||{}}}|}}|}}|{|}|z||{}||}|{|z{z{|z{{{||{{{|{{zzzz{z|z|{{|{|z|{{zz{|{{|{{|{|{{{z{{{{|{|{{{{z{z|{z{{z|z{z{{|{zz{zz{{zz|{{{{{|{zz{zzyz{|{{||||{{{{zzz{|{{{{{||{z{{{{zz{|{|z{{|zz{z{zz{{{{|{|||{{z{|{{zz{|z{{||{{{z|{{{|{{z||||z{{{z{{{{z{|{{{|{{{{{{{{{{{{|{|{z||{{z|{{|{{{|{{{{zz{|{{{|{|{||{|{{zzz|{{|{|{}{|||{{|{|{|{{}|||{{{{||z{{||{|||||{z|{|{z{{|||||||{z{{|z{z|}|{|||{|{{{z|{|{|{}|}}|}||{|{z{|~{||||}{{{{|{{{|||||{|||{{{|{{||||||||{{{{}|{|{{{|||}|||{|{{{{{{|{|z{|{|{{{{{{{{||{||}||{|{{z{z{|{{|~}~}~}}}}~|}||}|}|}||||~|}}}|{{{{{||{|||||{{{{{{|{}{{{{||||{{zz{{z{{{|{|{||{{{zz{z{|{z{||z{{{{zzz{{{|z{{{|z|zz{{z{{{{{z|z{{{{{{z{{{|{{{{{{zz{{z{zz{{{{{|{||{z{zzzz{{z{{z}{|zzz{zzy{z{{{{{|{{{{{z{zz{{{{||zzz{z|{zz{{{|{{|}z{{|z{zzz{{{{{|{{z{{{z|{|{{{{|||z{||{{{z{|}z{|}||{{{{y{{{{|{|{{{z|{zy{{{|||{|{{{z{zz|zz{{{{{{||{{{|||{{|{{}||}{{z{z{{{{{{{|}z{}|{zz{{{z{z||{||}{{{{z|z{||}{||||||{{{{|{{{{{{|}}||z|{z{{{||{||}}|{|{{{|||{{|||||{{{{{|{{|{|||||||}{{{||{||}|||{|||{{z{||{|{|{||{{{{{|{||z|{||{{|{{{{z{{{{{{{|{~~|}~~}}~~|||}|||{}}~|}}}|||z|{{|{|{|{|||||{z|{z{z{{{{z{{|{z|z{{z{{{{|z|{|{{{z{zzz{{{{{{{|}z{{{z{z{{|{{{{{z|{{zzzz{{z{{{{{zz{{{{zz{zz{{z|{{zzz{|zzz{z{|{{{{{{zyz{z{|{|{|z||zzzzzzz{z{{|{{{z{{zzz{zz{{{{||{{z{z{zz|z||||||{{z{{{z{||{{|||{{{{|{{z{{|{{|{|||{z{|{{{{|{{{{{{|{{|{{z{{{|z{|{||{{{{|z{{|||{{{{{{{z{{{z{{|{{{{||{|{{{{{{|||||||{{|{{{{|{}||{{|||{{{|{z}z|{{|{||||{{{{{zy|}|{{||{|{{{z{{{{{|||}||}{|{{{{{{}{|||}||{{{zz{{|{}|{{||{{z|{{z{{{|{}|{}|||||{{{||{|{{}}{{{{{{{{{}||||||{|||z{{{{|{|||{|{{{z{{{{{|{{{~~}}}~~}}~~~~|~|||{{||}}}}}}}|{||{|z|{|}|}|{|{|{{{|{z{{|{|||{z|{z{zz{{||{{||{{{{yz{zz{|{{{{{{zy{|z{{{{{{{{{{{z{{z{zz{{{||{||{zz{z{{z{{{{{z||zz{{zzzz|{{{|{{|{{{{{{{z{||{{{{{{{{{zz{z{{zzz{|{{{{{z{{{z|{z|{{{{{zz{z{z{{{|{z||z{z{zz{yz|{{{|||{zzy{z{z{{{zz|{|z{{z{{{{{|{{{|}|zz{z{{{z|||||}{{{z{{{{|z{{{{|||||{y{z{z{|||{{{}{{{{{{{{z{|||{|{{{|{{{z|{|{||{{{||{{{{{z{|}||||||{|{||{{{{|{{||}{{{{{{|{|||{|}{}||{{{{|{z{}|||||}|{{{|{{{{|||||||||{{|z{{{{{}||{||{z|||{{||{||{}}{{{{{z||{|{z{{}{|{{{|{{{|{||{||{{{zz{zz{{|||{}}~~~}~~}|~}|}}||{|{~|}||}}}||{z|{|{{{{||||}{z|z{z{z{|}}|{|}{|{z{{{z{{{{{||{{{{z{{{{z{||{}|{|z{{{zy{{|{{|{{|y{{zzzzz{{{{{{{{{z{zzzz{{{{z{{|z{{z{{{y{{{{||||{|{|{{|z{{{{{|{|{|{{{{yz{{|{{{{{z{{zzz{{z|z{{||||{z|{zz{{|{{z{|||{{{{{{{{{{{{{{||{z|{z{{{{||{||||{{|{zz{z}{|{{||{{{{{|z|{|{{{||{|{|{|{{{{{||{{}}{|{{{|{{{|{{{|||{{{{{{zzz||{{{|||{{||{{{{{{{|{}}|{|{|{z|{||}}|||{|{{{{{zz{|{|||}}{{{|{{{{|||{|||||{{|||{{|}|}|}}|}z{|{{|{|{|||||||{|{}||||||}||~|{{{|{{{{||{z|||}{|{{|{{{{{|||{}{{||{{{{{||{|{{||{{{z{{{{|||||~~}~|~|}~}}~}~|||{}}{}|{z|}||}}{|{}|z{||||||}|{{{{{|z{{||{{||{|z{{{{|z|{{|{|z|{{{z{{{{{{{z|||z{{{|{{{z{{|zz{{z{{{zz{{z{{{|{{{|{yz{{{{z{{{|z{{{|zy{z{{{{{{{|{{|{zz|z{z{{{||z{||{{{z{{yzz{zz|{{{zz{z{|{z{|z{{|{{{z{zz{{z{}{|{{||{z{z{z{z|{|{{|{{zz|{{{{{{{{{|{||z{z{{{|z{|{|{{|{{|z{{z{z{{{|{}|||y{{{{z||{||{||{{{|{{{{{|{{{{}{|{{{|{{{{}|||}|{{{{{||{{{{{||||}|{{{{{{z{{|||||||{{{|{{{|{{|||||}||{{{{{{{}||}|{|{{{{{|{||~||}|}{|z{{{{{|{{||{|||{{{|{{{{||{}||||{{|||{{z{{|||}}}}{{{{|{{{|||}|||||z{{z{|||{|{|{{{{{z{zz{{|||{~|~}|~}}}~~|||||{|{~||}|||||{|{|{|{}|}{||}}{z|{|{{|||{|{{|||{{z{{|{{{||{|{{{{{z|z{zz|{{{{|}|{zzz{z|{z{z{{z{{{{zz{zz{z||{{{{{{{z{zz{{z|||{|{{z{{{{zz{{|{{||{{z{{z{z{{{{{{{|||{{zzzz{z|{{{|{||zzzz{zz{|{{{{{{{zzzz|{z|{|{|||}z{{zz{{{|||{|{||{{{{{{{{{|{|{|{{zzzzzz{{{{{{|{||{{{{{{{{{||{{}|||{{{|{|z}||||||{{{{{{{{z||{z{|||{z{{|{{{|{||{|}{{{{{|z{|||{|{|{|{{{{{z{{{|||{|{{|{|{|{{{||}||{||{{|{{z{||||}|||||{|{{}{{{}||||}||{{|{{{|}|||{|{|{z{{||{||{{||||}}{{z|{{|{}||||||{z{{{{{{{|{{|||||{{|{|{{|||{{||{{||zz{{{{|||z~~|~}}}|~~}|~}}||||}{||}}||}~}||||{{z{{}{|||{|||z|{z{{{{{{||||||{{zyz|{|{|{||||{{{zy{z{{|{z{|{{{z{{{z{{{{{{z{{{zz{yz|z{{z{{{{|{z{{{{z{{{{{{{zzz{{zzzzz{{{{{{|{{{{{{{z{{{{{|{{||{z{{|z{{z|{{{{|{{{|zz{z{{||{||{|{z{{z{{z{{{{|||{|{|z{zz{||{|{|||{{{z{z{{|{|||{{|{{{{z{z{{{|||{{|{{|{{{|z|{{{{{{|{{{{z{|z{{{{z{||{{|{{{|{|{{{{||{|{{z|{{|{||||||{z{|{{{{z||{|{||}{{{|{{{z||||}|{||{|{{z{{{|||||||{{|{||{z||}{|||||z{{{{{{{|{|||}||{{{|{{||}||{|}|{{|{|{z||}{{{||}{{zz|{{{|{||||||{{{{z{{{{||{|||{||zz|||{{|||{z}{|{{{{{z{z||{|~~~~}}}}~~~}~}~}}}|{{|}||||||||}|{{{{{{{|{||||||{{{{zz|{|{{|{{||{{{{{z{{|{{|{{|{{{{{zz{z{}|{{|{{zzz{{z{z{{|{{{{{{{{{z{{{|{{|{|z|zzz{{{{z{{{{||{{{{{{{{z{{{||{||{{{z{{{zz{{{{{||{z{zzz{{z{{{|{|{{z|z{z{zz{|{|{{{{zz{{{{{z{z{{{{{|{{|z|zzz{{||{{||z{{{{{{z{{|{{{{{z{|{z{{z{{|{|||||{{{{{{z|{|{||{|}{|{{|{{||{||||{{z{{{{zz|||{{|||{|z{{|{z{||}||||{z|{{{{{||{|||||{{{{|{{z|{{|||||{|{|{z|{|{{{||||{|{{{{{{|{{||{}||{{|{{|{||||{}{|{{{|{{{{||}z}|||{|{{{{{{||||{||{|{{{|{{||||||||{|{|{{{|{||{|{|}||{{{{z{{{||||||{{{{z|{{{|{|{|~~~}~}}~}~}}}}}}|}{|{|{}}{|||}}||{||{}{{{|{||}|{{z{|{{|{||||{|{{{{{zz{{z{|{{|{|zz{zz{{{z|{{{{{{{zz{zz{y|{|{|{{{zz{{z{zz|{{{{|{|z{zzzz{z{{z{|{|{z|{{zyz{|{{{{z{{z{{zz{{{{|{|{{|}{{zz|z{z{|{{z{{{zz{z{{{zz|{|{{|{|z{z{|{zz||{z|{||z{z{{z{|{{{{{{||{{z{{{{||{zz{||{|{zzzzz||{{|||z|{{{{z{{|{{|||{{z{{{z{{{{||{{{|{{{|{{{zz{|{z{}||{{z{{{zz||{}|}{|{|z{{{z{||{{{||{||}{zzz{{{|{|||{|{{|{|{{{|z|{{||||{z{{{{||{{||}||{{z{{{{{||}}|~||||{{{{{{||||}|||z{{{|{{|{||||||}{{{|{{{}{{|{|||{{{{z{zz{|{{{||||{z{{{z{}|{{{|{|zz|z{zzz{{{{{~~}~~~~}}}|}~}||}}||||{{{||}||}|}}|{{{{}|{}||||}||{z{{|{{{{|{|{|}|z{{zz{z{z{||{{||{{{zzzzz{{|{{|{|{{{{|{z{{{|{{z{{{{z{zzy{{{{{||z|{{{{{yz{z{{{{||{{z{{{|{{{{|{|||{{z{{z{zz||{{|{{{{{{{{zz{{z{{{|}|{{z{{{zz{{z{{|||{{{{||{{|{{{|{|{|{z{{z{{|{z|z{{|{{{{{z{{|{z}{||{{z{z{zz||||{|{|||{{{{||{{|{||{||{z{{z|{z{|{{|||||z{{{{{{{{|{||{{|{||{{z{|{|}||||{{{{}{{{}||}||{|{{{||{{{|||||{}||{{|{{{}{|z||||}{{||z||{{}|||||{{|{|{|zz|}||||}{{{|{||z{||}}{||||{{|{|||{}||||||{|{{||{{||}|{|}}|{{{{{{{{|{||||||||{{|{{||z{{||{{{|{{z{{{|{|{~~~~~~~}}|}~~~}}|||}|}{|{|{}||||||}{z{{{{||{||{|{z{{z{zzz{|{||{||{{{zzzzz{{{||{{|{z{{{{zz{{|{{{{|{z|{z{{{{{{{z|{{{zzzz{{z{z|{{|||z{z{{{{z{z|{||{zyz{{y{{{{{|}{|{{||{{z{zz{{z{{{||z{{z{yzzz|{z|{{|{{{z{{{zz{{{{||z{{|z{{zz{|}{{|||{z{{zz{{{{{{{{{}{{z{{z{{{{{z{{|}{{{{{{{z{{{||{{{|z{{{z|zz{{|{|||{{{{z{{z||||{|}|{{z|{{{|{{{{{{||||||{{{{}|||}|}{|||z||{|}|{{||}{||{{{{{{{{|{|||{{|{{|{z|}{|{||}||{{{{{|{|{{{|}|}||{{{|{||}|||{}}}z{|{{|{||||{{}|}{{{{|z|||{|||}}|{||{{{|{{||||}}|{{{{zzz||||||{{{|||{{z{|||{|||{{{{{{{{z{{|{z}}}|}}}}|}~}}}{{||{|{{}||||||}}|{{{{z{{||{}{|{|{{{{{{{{{{||{|{|z{zz{z{{|{|||{|z{{{|{{z{{{{{{||{zz{{zzz{{{|{|}{{{{z{{z{{{{|||{{{zz{z{z{z{|{{{|{{{{zzzz{{{|{{{{|zz{|zzzz{{|||{{}{z{{zzzy{{|z{{{{{{{z{{yz{|{{{|{|z{{z{zz{{{|{{|{{{z{zz{{{{|zz{{{||zz{{y{z|{{||{{|{z{z{{|{||{|{||{{z|zz{z|{|{{||{|{z{|{z{{{||z|{{z|z{z{{{{|||{{{|z{{{{|{|{|{|{|{{||{{||{|z||{|{||||{z|{zz{{{|||{||{{{{{{{||}}||{||{{{{{{|{|{|||||||{{|{|{|{||{||||}{|{{|{{||{||||{{{{{{|{{{{|{|||||{{|{{{|||{||}{|{|{z|{{{{{{|{}|||{|{z{{{{||{|{|{{{{zz{z{{{|{{~~~~}}~}||}}~||}}|{}}{|{}|||||||}||{|{{{z}{{||{|{|{|{{{{z{{{|{{{{{z{{z{{z|{{{{|{|z{{z{{{z|{z|{{{{{zzzz{zz|z{{{{|{{zzz{zy{{z|{{{{|{{{{zz{z{{{{{{{{{zz{yzz{{||{{{|{z{z{yz{y{z{|{|{z{|{z{z{zz{{z{{{{{{{{zz{{{|{|z{||z{{zz{z{{{{{{{|{}{{z{{{{{|{{{{|{{{z{z{{z{{{|||||{{{{y{{{{{{{|||{|{{z|z{z{{z|{|{{{|{{{zz{{||{|{|{|z{{zz{{{|{{|||||{|{{{|z||{{|{}{{{|z{|{{|{|{||{|{{{||z{{||||||}{|{{{{z{{|||{|||{|{{{{{|{||{|{}||}|{{z|{{z}||||||}{{z{{{z|||{||{||{{{{{{{}||{{||||{|zz{{{|{{||}||{{{z{z{{{|{{|||{{{{z{{{{{|{|{{}|{z|z|z{z{{|{|~~~}}~}}|||~}}}}~}||{|{{|{}}}{||}|{||{{|{z{{||}||||{{{|{{{{|||||{||||z{{zz|||{{{{|zz{z{{{z{|{{z|{z{z{z{{zz{{|zz|{{{{zz{{{z{{{{{|{{z{{zz{{{{{{|z||{{z{{z{z{{{{{||{{zz{{yzzzz{|{{{|{zz{{{{{z{{zzz|{{{zz{{{{z{|{{|||{{{{{||z{{{{|{|||{|{zzz{z{|{{{{}{|{z{z{{{|{|{{|{|{z{{{{{{{||||{{|{z{{|{zz{}{|{{{{z{{|{{{z|{|||{|{|{|{{z{{{{||||{{|z{{{z{|{{{|{|{|{|z}{{{|||}}{|||{{{}{zzz{{|{|||||{{|{||||||||||}{{|z{{||||{||||||{{{{{{|||}|{||{|{|{|{|{|{||||||||{z{{||||||||}|{{|{{{{z||{}|}||{||z{|{z{||{{{||||{{{z{{|{||{|{|{{|zzzz{||{||~~}~}~~}}|}}~}|}~}}||||{|||}{|}}~|||||{{|||}|{|{}||{|z|{zz{|{|{{}}|{|z{z{z||||{{||{{{{{{|{{||{|{|{{z{|{{yz|{||{|{{{z{{{{z{{{{|{{|||zz{z{zz|{||}{|{{z{zzzzz|z{{|{}{{{{{{{|z{|{{|{}||zz{zz{{z|z{|{{{{{zz{{{{{{zz{|{|{z|{{|{{|||||{||{{z{{|{|{|{|{{{{{z{zz{|{{|{|{||}{{{{{z{{{||{||||{{{{|z{{{{|||}|||{{{{{{{{{|{|{|||{{z|{{{|{||{{|{}||z{|||{{}|}|||{{{}{{|{|{{||}||{{|{||{{||||||}|{{{{{|{||}||||}|{{|{{{||{|{||}|}}|{|z{||{~|}||}||||}{{|||||}}|}|{|{{{|{{|{|||{}||{z||{}||||||}}|{z{{{z{{|||||||||||z||{{||||{{{|{|{z{|{{|}{||}~~}}|}{}}}~}}}|}}}||||}|{{||||{}}}|{|{{||{{{||||||{{||z|{{|{{|{|||{|{y{{|{|{||{{{|{{{z{{{{{{|{{{{||{z{z{z{{{|{{||z|{{zz{{{|{z|||||{{{{{{z{{{|{{||z{{zz{zz{{|{||{|||{{zzz{{{{{|{|{|{zz{{{{z{|{{{{{{{{{{zz|{z{{{{}||{z|{{{zz{{{{{||{{z{{{{{z{{|z{{||zz|{{{zz|{||{|||{{{z{{z|{{{|||{||{{{{z|{{|||{{|{{{{{{{{{|{{{{{}{|zzzz{{{{|{|{||{z{{{z{{{||||||{{z{|{{|{|||||{||}{{{{{z{|||||{}||}||{|{|{|||||||||{{|{|||||{{|}{||{{||{||{}|}|{{||{{|{|{{||}|||{||z{{{z{|||{||||}{||{||||||{{{|||{|{{{z{|{{{||||}|{z|{{{{{|||||||{||{z{{{{|||{~~~~}}}||||}~}|}}|}|||||}{{|||{{{|{|z{zz|{{|}{||{{{|z{{||{{||{|||{|{z{{|z|z{{{}||||{z{{{{{{{|}|{|{{|z{{z{{|{{{{{|{{{z{zz{{{{{{{{|{z{z{{{z{z{{{||z|{{{{{{{z{{{|{|{{|{|{{{{zy|{{{{||{{{zz{zzz{{{{{|||{{zzz{zz{{{z{|{{z{{{z{{z|{{{{{z{{{{{{z{zz{|{{|{{{|{zz{{z{{{{|z{|{{{z|zz{{{|{||{{|{{{{z{z{||{|||z|{{z|{|z{}|{|||{{{{z{{|{{}|{{|{{{{||{{{{{|||{{|}z{{{{z|{||}|{|||||{{{{{z||}|{{|||z{||{{{|||||||}|{{|{|{||||||}}||{{{{{{||}{}||}||{||{z{||||||}|{{{|{|{{|||||}||||z{|||z{|{|||{||{{{{{{{{|{}|{|}|{|z{|{{{{|||{||{|{{{{z{z||||{}}~~|}||||||~~|~}|~{|||{{||||~{|||}|{{z|{|{|}|{||{{{z{{{{{{{|||{|}{{{{{{z{{{{|{{{|{{y{{zzzz{{{{zz{||zz{z{zzz{{zz{|{zzy{z{z{|{{{{{|{{{zzzyz{{{{{z{z{z{{z{z{{{|{{{{|{|z|{{z{z|{{|z{{z{z{zz{zz{{zz{zz{{|z{z{zzz{{{{||{{{z{|{{z{{{{{{{{|{z{{y{{{{{{z|{{z{{{zz{{{{{||{||z{{yz{z{{{z{|||{{{{{{z{{{{|{||{|{{|zz{{{{||{{|{|{zz{|{{|||{{z|{{{|z{{y{z||{||{||{{|z{{|{{{|{{{|}{{{|{{{{|||{|||{{z{{{{{{|}{{{}}|{{{{{{||{|{||{{}}{{{{{|||}|||{|}{|{{{{z||{|||{|||{{|{||{{|||||||{||{{{|}|{{|{|{}{|zz{|{z{|||||}{||{{{|{z|{|||||{{{z{zzz|{{||{}}~}}}}}|}|}}~}|{}||||{{z{||{{||||||{{z{{{{||{{{|{|{|{{{{zz{|||{|{||z{z{z{z{{{{||||z{{z{{{z{{{z{{{z{{|z{zz{{{{{{{z|zz{zzz{{{{{{{{{|yz{z{z{z{{{{z|{{zzz{yzy{|{{{{{|{z{{{{z{{|{{||{{|z{z{zzzyzz{{{{{{{{zzzz{z{{{{z{{{{z{z{zzzz{{{{{|{|z{z{{{zz{||{|{|zyz{{zz{{|{z{|{}|{{z{{{{{{||{}||{{{z{z{zz|{z{|{|z{{{{{{{||{{{{|{{z{{{z{{{}|{{||||{{z{|{{|{|{|{{|{{{{{{{{{{{|{|}{{{{|{{{|||}{|{|{|z{{{zz{|||{||}{{{{{{z{||{||||{||z{{z|{{{|{||{|}|{{{|{{{{}{{}||||{{{|{|{{|||{|||{|{{||{||{|||{}||z{{z{{{||||{|}||{z{zz|z{|{}|||{{|{z{{{{{{{{z}}~}|||||}|}~|}|||||{{z{{{|}|{|||{||{{|{{{{||{{}||||{z{{{{z|z||{}}{|{{{|z{z{{|{{{||{{{z{zzz{{|{{z{{{{{zzzzz{{{{zzz{z{{{z{zz{{z|z{||z{{z{zzz{z{{{{{{{{z{z{zz{z{{{{|{{|{{z{zz{{{|||{|z{zzzz{zz|{zz{|{{{yzzzz{z{{{{{|{z{|z|zzzz{{{{{||{{{z{z|z{{|{{{|||{{{{zz{{|z|{|z{{{{z{z{{z{{|{{{{{{{{{zzz|{{|{|z{|{{{zz{{{||{{{{|{{{{{{zzz||{{||{|{yz{|{{{{{||}{|{{{{|{{{}|z{|||}||z{{zz{|{|z{||{|{{|{{zz||{||{}|{|{{{|{|||{}||}|{z{{{{{{||{}||}{{{{z{z{z{||{{{|||{z|{{{{{{{|{||||{{{{{{{{||||{||{|{z{{{{||{{{{}{{{{{{{{{{|{|{{{|{|{{z{{z||{{{}}}}}}}||}|}}||}}|||{z||{|{{{{|||}}{{{{z{{{|{{|||||{{{|{{z{{{}||{{|{zzz{{z{{|{{||{|{|{zzzz{{{z{{{{{|y{{{zzz{z{{{|{{|z{{z{{y{{{|{||z{zz{zz{{{|{{{|{{z{{{z{zzz{{{{{z{zzzzzy{{z{{{{{{|{yz{z{z{{z{{{{{{{{{z{z{zz{{zz|{{{{{z{{zyzz{{{|{{{{{{{zz|zz{z{{|{zz{{z|zzz{{{z{||z{zzz{z{|||||{}{{z{z{{{z{{||{|{||zz{zz|z|{|||{|{|{|{{{z{{{|{{||{{|{{|{{{||}|||{|{{{{{|{{||{}|||{|{{{|zz{{{|||||{|{{zzzz{|||{|}{|{{|{{{{{|{||||{}{}z{{{{z{||{|{}|{z{{{z{|||{|{||{|{{{|{{{{|||{|||{z{||{{{||{||||{{{{{{{|{{{|}|}}|{|{{{{z{{|{|{{}{{{{{{{z{{|{{{~}}|}{{}{|||}}||{}}{{{{{{z{|||||||{{{{{zz{{{{{|||||{z{|z{{{{{||{||{{{{z{{zz{|z{z{||{{zz{zzz{zzz{{{{{z{z{zz{{{{z{{{{z{{{{{zz{{{|z|||{{z{z{zz{{z|{{{{{{{{y{zzz{{{{|||{y{zz{zzz{{||{|{{{zzzzzzz{|{zz{{zzzzzz{z{{zz{{||zz{zz{{z{{{{{||{{{{z{z{{{|{{{z{||{zzzz{{{{{{{{{|{{{zzz{y{{|||{{{|{{{{z{{{{{|{}{{{|z{{zzz{{{{{{|{{{{{zz{{|{|{{{||{zz{zz{z{|||{|||zz{{{{z{||{|{{||{{{|{z{{{||||}{|{z{{{{z{||{{{||||{{{{{z{z||||}||{{{|||{{{}{|||}||{{{z{|{|{|{{{{{|z{{z|zz{{|{{}|||{{{z{{z{{{{|{||{|{z{z{{{|{}{{||{{zz{{|{{{||{{|{{z{{{{{yz{{{z~|||||}|{{||}}{}||||}{|{||||||{{|}|{|{{{{z{|||{}|||{{|z{z{|{{|{{{|{|{{zy{z{{{||z{|{{{{z{{{z{|{{{|{{|{{z{z{zz{{{{|{{{{{{{{zz{{z|zz{|{{z{z{{{{z{{{{{{{z{y{{zz{{|z|}|}z{zz{{{z{{z{z||||{{{z{zz{{{{z{z{|{zz{{zz{|{{||{|{{{zz{zz{{{|{{|||zzzzz{zz|{{{{||z{{{{|{z{||{{{{{{zz{z{{{{z{|||{|{{{{{yz{{|{{|}|{{{{{z|zz{||z{{||zzz{|{|{|||{{|{{{{z{{{{{{{{}|{||{|{{{{{{}{||{||||z|{{{{||{{{|||{|y{{{{|||||||||}|{{z{||{|{||}|{|||{|{|{{|||||}|}|z{|{{{{||||||}{|{{{{{{z|}{{|||||{||z{{{{}}|||||{z{{{{z}{{||{||{{{{{z{{{||{|{|{|z{|{{{{{{{{{{~}}}||{|}|||}|{|}|}|||{|{{{{||}||||{|{{z{|z|{||||||{{{zz{z{{{|{{|||{{{zzz{z||||{|{|{z{zz|{zz{{{{||{yzzz{{zzz{{{y{{{zzzz{{zz{{z{z{{|z{z{z{{{{|{{{{|{{zz{z{zy{|{z{|z{z{{zz{zzzz{|{{|{{{z{{y{z{z{z|||z{z{zzzz{z{{z{|{{{z{{{{yz{z{{{{{{{zz{{zz{z{|z{|{{|{{zz{{z{|{{{|{{z{{zz{{{||{{{{||{z{{{yzz{{|{{{{{|{{{{{z{{{{{z{}{{{z{{{{{{|z{|{|||{z||z{{|{||{||{{|{{{{{{{{{||||||{|{|zz{{|||}|{{|{{{zz{{|||{||{|{|||z|||||{||||{|z{|{{||}||||}|||zz{{{{||{}|{||{|{{z{{{{|||{{|}|{|{||{{{{|||{|}|z{{{{{{{{|{|{}|||z{{{{z{{|{{{||{{{{{{zy{{|{|{}|}||}}{{{|||{|||}|{{z|{{|{||||||||{{{z{{|y{|{||{||{zz{{{{{{||}{{|}{z|z{{{z{{{{|{||zz{z{z{zz{{{z{|{{zzz{{y{{{|{{|||{z{zzzzz{{{|{||{{zzzzz{z{{{{z{{|{{{{y{{{{{|{{{|zzzzzzz{{{{{{{{|{{zz{{z{z{{{z{{{{zzzzzzz{z{z{z|{{{|{z{zz{{{{|{{|{{{{zzz{z{{}|z{{||{{zzz{{{{{{|{||z{z{zzz{{{{|{||{||{{{z{{|{||||||{z{{{zz{{|}{|||{{{|{z{{{{{{{{|{|{{{{z{|{{|{}||||z{||{{}{||{{}|||{{{{{z{{{|}{{{|{|zz{{z{z|}|||||||{{{{|{z{{||||}||{{{{{{{{~|||||||z|{{z{{|||||||{{|{{{{{{||{||||}|z|{{{|{|||{|{||{{{z{{{{{{||{|}{||zz{zzz|{{|{{{|z{{zzz{{{|||{~}}|}{|{{|z||}}~|}|}||||{||{|||{||||{|{{{|{|{|{||||{{z{zyzz{{|{|{|{{{{{|z{z{{|z||{|z{|zzzz{{{z{{|{|{zz{{{z{{{{z|{{|z{zzzzz{{{{z|{{{{zz{{zzz{{{{{z{{{z{{z{zz{|{{{{{{z{{{z{yz{{{{{z|{{{{{{zzy{{{z{{{{zz{z|zz{z{zy{{{{{{z{{{{z{{{{{{|{{zz{{yz{{||{{{||{z{{{{{{{|{z|{{{zz{z{zz{{|{{{{|{{{{{{z{z{||{{|{|{zz{{{y{{|||{{|||z{|{{{{{}|{{{{|{z{|{z{{{||{{{||z{|zz{{{{|{||{||{{|{z{{{{||{|{}||{||{{{{||{{||||{z|{{||{{}|||}{{}|{{{{{{{||||||||z{{{{z{{|{||||||{{z{{z{{{|{||||{{{{{{|||{{||{|{{{{z{{{{||{{||||{{|{{{zzz||}{|{z|{{{{{z{{|{|z}}~}}|}}||||~||}}}|||||{{{z|}|{{||||{{zz|{z{{||{|||||{{z{{|{|{|||{|{{{|z{zzz{{|{|||{||{{{{zzz{{{||{|{{{z{{z{{|{z{|{{z{{{{zz{zz{{{{{{{{{{z{y{|{||{z||{z{z{z{{{{{{{{|{{z{{z{z{||z{{|{{{{|zz{z{{{{{|{{|{{{zzzzz{{{{|{|{z{{{zzzz|{|{{|{|zz{|{{{{{{|{||{{{{|{z{{|{{{{|{|{{{zz{z{{|{z{|{|z{{zz{{{||{||||}{{{{{{z{||||{{{|{{z{{zz{{{{{||{||{{{{{{z{{||||||{z{|{{{{|||z{{||{{z{{{{z{{||{{||{|{|{{z{|||||||{{|{{{||{||{{|||||{{{{{{{{~|||}}||z|{{{{|||}|}{|||{{z|{{{{||{||{}}|{|{{{{||||||||{|{{{{{{|||{|{{|{{{{{{{{{||||{|||||{{{z{{}z{z}|||}|||{{{|||}|{|||||||||{{{{||}||{{{{{{{{{|{}{{{|}{{{zz{{{z||{{{{z{z{{{zz{{||||{{{{{zzz{z{{{{z{||{{{{z{zzz{{{z|z{z{zz{{{{{{zz{{{|zzz{z{z{{{|{|{{z{{zzz{y{{|{{{{{|{z{{{{zzz|||z{{{{{{{zz{zz{{z{|z{{z{yz{z{z|{z||{{{{{{{{{{z|{{{{{}|{z{{z{{zz{||{||{z{zz{{{{z|{{||{zzz{zzz{{{|z{{{{{z{{z{{{||z{||z|zz{{{zz{{||{|{|{{{{{{{{z{{{{|||{|{z{z{{{{{||||||z{z{{z{|||{{}|{|{|{|z{{{|||{{||}|{z|{{{{|||{{|}|z{{{{{||{||||{|||{{{z{{{{}{{||{||z{{z{||}{||{}{||{{{|{{z|{{|{|||{|{{{{{{|{|||||{{z{z{zzz||}|||{|{{{|z{zy{|{{|{|z|z{{z{{{{{|{|}}}{|{{|{|||||||||{||{||{z{|||||}||{{{{{z{{{|z||{|{|{{zz{zz{|||{{|{{{{z{z{z{z|z{{{{{{zzzz{z{{z{z|{|{{{{{{{z{|{z{{|{zzzz{zzz{{{{{{{{{{zzz{zzzz{{{|{{{{z{zzzz{z|{}|{{|{{zz{{{{{{{z{|{{{{|z{zz{z{{{{{{z{{zzzzzz{{{{{{|{z{zy{zz{{{|||{{{zz{{z{{{|z|||{|{z|z|z{{{{{|{z||{{z{z{z{|{|{|{{{{{|z{{{zz{{|||{{{z{z|{{{z}|{{z||{{z{{{{{{||{|{{{|z{{{{{z{|||{{||{{{{||z{||{||}|||z{{{{z{|{{|||||||z||z{{|||||||{{{|{|{|{||||{||||{|{{{|{{|||||}|{||||z{{|{{|||||{{z{{z{{{||||||}{|{||{{{{|||||{|{{z{|{{{{{||{||{{|z{{zz{z||{|{|||z{z|zzz{{{|{}|||||{{{}||}|}}}||{|||{{{|{||{||}|}{{z{{{{|{|{{|}}z||{|{{{|{{|{{{|{z{zzzzz{|{|{{{|zzzzzz{z{|||z{{z{z{z{z{z{{|{{{||{zzz{{{z{{{{{{z|{zz{{{z{{|{z{z|{{y{zzzzy{{|{{{z|{{{zzzzy{{{|zz||{{{z{z{{z{{z{|{{zz{{zy{{{{{|z{{{|{{z{{z{{||{{||z{z{zz{{z{|{{{{||{{}zzzz{z{z{|{{|zzzzzz{z||{z{{|{z{{zz{{{{|{{{|{{{z{{{zz{{{{{{{}{|{{{{{{{{{{{{||||{{{{z{z{||}|{}{{{{z|||{|{||||||{{{{{{zz{|{{||}{|z|{z{{z|{|||||{{{{{||{{|||||}|{}{{{{{{{{|{|{||||{{{z{|||{|}||{||{{z{z{|}{|{||||{{|{{{{z|{{{{{||z|{{z{{z{{{z{{|}{|{z{{|zz|||{||{{z{{{|{{{{|||}|||||{|{||{}|||||{{{{{{|z{{||{}|||||{z{{{z{{||{{||{{z{{{{{{||{{{}|{{{z{z{z||||z|{||zz{{z{z{|{{|||z{zzzzzz|{{{z{{|z{{{zzzyz{{{{{{{|zzzzzyz{z{{{{||{{zz{z{z{{{{|{|{{{{{{z{{z|{{{{||{{z{{zzzzz{{{{|||{{{{{{zzz{{z~{||zz{zz{{z{{|{|{{|}{zzz{zz{{|zz|{|{z{z{z{{{{{{|{||{z|zzzz{||{{{||{|z{{zz{{z||||||{{|{{{{z{|||{|||{z{z{{{z{{|{{||}||{{z{{|{{|{{|{|{zz{{{|{{{|{|||}|{{|{{{{y{|{||{|{{z{{{z{z||{|||||z||z{{|}{{|||}{||{{{|{{{|{{|||||||{|{z|{||||{}}||{{{{{|{{|{|}{||{{{{|{{|{}||{|}|z{|zz{{z|{{||{|{{{z{z{{zz|{|{{||{z|z{{{zz|||{}}||{||||{{|}{||||||{|}|{|z|{{|}|||{{|{||{{{{|{{|||{{{{{{{{||{|{{}||{zzyzz{{{{{{||||{{z{{z{z|z{{||{{{{z|zzz{{|{{{{{{{|{{{{{z{z{|{{{{zz{z{{{z{||{||{{z{{yz{{|{|{}|z{zz{{zzzyz{{{{{||z|{{{z{{{z|{{{||{{zz{z{zz{{{z|{{z{{{zzz{z{{|||{|{{{z{zz{{|{|||||{zz|{z{{||{{{|{|z{{z{{{z{z|{{|{{{z{z|{z{{{}{{}{{zz{{z{z{{|||{{|{|{z|{{|}|||{{{|{{{{{{{|z{{||{|||{{|{|{{z{{|||}|||{z|{z{{|||{|||{|z{{{{{{|||{|||}{z|{{{|{{|{{}|{|{z|{{|||{|||||{{{|{{|{{||{{|{|{||{||{{z{|{{||||}||{{|{{|||{{||{||{z{{|{z{|{{|||{|{{{z{z{{{|{|||{zz{{zz|z|||{|||{|{||}{||}{||{|||{{|{z{{{||{|||||{||{{{z|{{{|{|||{z|{z{z{{{{{{{|{{zzzzz|zz{|{||{{{{{zzzzz{{{{{{|{zzzzz{zz{{{{z|{{{{zz{zz{z{{{{{|z{zzz{{z{z{zz|{|z{{{zz{yz{z{{{|{|zzz{zz{zz{|{zz{z{{z{z{{zzz{{{||{z{|{zzz{z{z{z{{{{{z{z{{{{{||{|{|{{yz{{{z{{z{{{{{{z{{zz{{{|{{z|||zzzz{{{{{{{{|{{|{{z{{z{{z|z{|{|||{{z{z{z{{||{{|{{{{{{zzz|{|{{}{|{{{{{{{|{|{|||}|{{{{{{{{||||||{|{{|{{{zz{{{||||||z{{|{{z{|{{{|||{{|zz|{{z|{{|}|||{{|z||{||{|{||{|{z|zz{z|{|{{{{{|{{||{{{}{|{|{||{{z{{{|{{|||{|{|z{{zz{{|{}{||||{{{{{{{{{{||{{||{{{|{zyz{|{{{||}}{|{{{z||{}{||{}|||{{{zz{}|||{|||{z{{{{zz{{{z{|||zz{zzzzz||{{{{{||zzzz{{z{{{{{{|{{{{zzzzzzz|{{{|||{{{zz{z{{{{{z{{z{zzz{{{z{{z{{|{z{{{{z{{z|{{{|{z{zy{z{zzz{{||{{{zz{{zz{z{{{{{{{|{{{z{z{z{{{{{{{{z{{{{z{z{{zz{{|{zzz{{z{{|{{z||{{z{yz{{z{z{{{{{{}{{{{zz|{{{{||{||zz{{{{z{{{{{{|{{|{{{|zzzz|}z|{{|{z{{{zz{{{|{{||z|z{zzzz{||{{{}{||{{{|{{z{|||{{|{z{|{|{|{|{z}{{{{{|{|z|{{{{|{|{}{||z{z{z{|||{|{}||{z{{|||{z||{}|{{{z{{||{||}|||{|{{z{{||{}{{}{||||{{{{{{||{|||||{{{{{{{z|{|{|z}}{{|{yz|{z{|||||}||{|{{{z{z|{|||{|{z{{{z{z|{{{|}||{{{|{{{{||||{{|||{{|{{{{{{{{{|||{{{z{z{z{{z{{|||zz{{zzz{{{{|z{{|{{z|y{{z{{{{{{{|zz{{z{zzz{{|{||{{z{zz{yz{{{zz{{{zz{zz{zz|z{|{{{{zzzzzzzz{{z{{{{{{zz{{zz{{{{{{|{{|{z{zzzzz|{{{{|{{yy{zz{y{z{y{{{{z{z{zz{zz{{{z|{{z{zzz{yz{{{zz{||{zzz{z{{{z{{{z{{|{|zzz{{{{|{{{{{zz{z{zzz||{{{{|{{|zzzz|z{{{||||{{{{z{{zz{|{||{||{{{zzz{z|||{{|{|{{z{{{{{z{{{}z||{{{{|||{{{{|{|{|{|{{{{{{{{|||||}{{{zzzzz|||{{{|}||{{{||{{{|{||{||{{|{|{z{||{}{}||z{|{{{{}|||{|{{|{|z}{{{{{|{{{{|{{y{{{z||z{{|{{|{{{z{{{{{{|{||{{||z{z{{{{|{|{{{|{{z{zz{{{|{{{||{|{{{{|{z||}|}||}{{{{{{{{{{|{|{|{{{|z{{{z{{{|{||{||{z{{{zz{|{{{||z|{y{{zz{|{|{|{{{zz{zzzz{{{{{|{|z{{zz{zz{{{{z{{|zz{{z{z{{{{|{{z|{{yz{zzz{{{|{{z{|{z{z{zzz{{z|||{zz{{zzz{z{{{{|}|{{zz{zz{z|{{z{||{z{{{{{z{{z{z}||{zz{{zzz{|{z||||{z{||z{z{{{z{|{{{|{{zzz{{z{z{|{|z{{z{z{{z|{{|}|{{z{zzz{z{|||{||{{z{z{zz{z{|{{|||{{{{{{|{{||{{{||||{{{{{{||{|{|{|{z{{|z{{|{{||{|}{{{{{{zz}|||||{||{|{{{{{|}|||{|}{{|{{|{{{||||{||}{{{{|{{z|||||}}|{{||{z||||||{|{{{{}z{{z{|||||{||{{||{z{{{|{||{|{{{{z{z{{|{{{|||{{{{{|{{{|||z|{||{{{{z{{z||{|{~|||||{{|{|{||{{{}z||{{z{{{{{||}}|{z{{|{zz{{{|{|||||{z{{{z{|||{||{{z{zzz{{{|{{{{{|{{|z{{{z{|{{{|||z{{zz{{{{|{|z|{|{z{{z{z{{{{{|{{{{|zz{zz{z{z{{|||{{{z{{{z{{||{|{{|{{zyzzz{|{{z||~{|zz{z{{{{{z{||{{{{zz|{{|{z{{{{{{{{{zzz{{{{|{{|{{{{y{z{{}{{{z{|{{{{{zz{{{|{{|{{|{z{{zzz{|{|z||{||{{{{z{||{|{{}{||{z{z{{z|}{||{|||{{|{{|{||||{{}|{z{{{{{{{{|||}}}|{{{{||{||||{}|}|{z{|{{{}|||||||||{{{{{z||||||}}{{|{|||{{|{|}{|}||{{{{{{||||}|||}{||{{{||||{{||}||{{|{||||{|{{|||{z||{{{||||{||||{{{{{z{{|{|{}|{}{{z{z{{{||}|z||{{{{{{z|{||{{|}{|{{{|||{{{|{||}||{{{{{{z||{|{}}{{{{{{{{z{|{}||{{{{z{{zzz|{{{{{||{zz{{z{{{z|{{{|{zz{zz{zyz|{z{||{{zz{zzz{y{{{{{z{{{z{{zzz{{z{z|z|zz{zzzzzz{{z{z|{z{{zyzy{{{z{{{{{{zz{zzzy{{{|{{{{{{zzzz{{{{{{z{{{zzzzyz{{z{z{{{|{{zz{z{{{{{{{z|{||{zz|z{{z|{{{{{|{z{{z{z{|z{|{{z{{{{z{z{z|}|{||{|z{zz{yz{{{|{{{{|z{|zz{z|z{|||z{{z{{{z{z{}|||{|||{{{zz|zz}{||{||||{{{z|{{{{{|{|||{z{{{{{{{||{|||{{{{{|{{{|{{{|}|{{{{y{{|{||{}|{|||{{{{||{|||||}|{{|{{{{{z||||||||||{{{{|{|{{|||}{}{{{{{{z||||z|||{{z{{{{|||{|{||||||{{{||{|{||||{{{{{{{zz{{||{|||{{|{{{z{|||{||||{{{{|{z{{{||{{||{{|{|{{z{|{{|}{{{{{||z{{{{||{{|{{{{zzz{{{{||{{z|{{z{{z{zz{{|{{|z|{{z{{{z{{|z{{{{z{{zz{yyz{|zz{{|z{z{z{{{|{z{|{{z{zzzz{zz|{{z|{{|{zzzz{{{{{{{{{{{{zzzzz{z{{||{{z{z{z{z{z{z{z{{{{{z{y{{{{zz{{{{||{z{{z{{{z{{{{z{{}zz{zzzz{{|{{{|{|{{{z{zzz{{{{{|||zz{{{z|z{{|{{|{|{{{{{{{{{}|{{{{z|{{{{z{z|||{{|||{{z{{{{{|{|{|{|||{{{{{{{|||}|}}{{{{|{z{|z{|||{|{}{{{{{z{}||||||}{{{z|{|||{|{||||{{{{z|z{|||{{{|{}||{{{|{{{|{|{||||{{|{z{|{|||{}}{zz{|{{{||{|||{|{{|z{z{z{|{{z{}|{zz{z{{{||{||||{{|z{z{zz{zzz|||||{{{{{{z}|}|{|~}{{}|zz{zz||||{|||{{z{|zz|{{{|{|{{{z{|z{{z|||{{|{|{{{z{{z{{{{{|{{{z{zzz{z|z{{|{{{{{{{{z{zz{|{y{{|{z{zzzz{{{{z{||{{z{yzz{{{{{{|z{|z{{{z{zy{|||{{{{zz{zzz{zz{{{|{|{{zzz{zzzz{{z{|{|{{{zy{{{y{{{{{{{{zz{z{{zzz|{{{{{{z{z{zzzz||z|{{{|{{zz{|{{{{{{{z|{{z{z{z{{{|{{{|{{{|zzz|{z|z|z|{{|{{{z{{{{||{|{||zz{|zz{{}|||{|||{{{{{{{{{{|{}|{|{{|{{z{{||{}|||}|{{|{z{{|{|{|{}|}{{z{z{{{||{{||||{|{z{|{{{|{|||||{{{{{{{|}|||{}||z{{{||{{{{||||{{{{z|{{{||||||{||zz{{{{{{||{||{}z{{z{{{|{||{{||{{{z|z{{{z|{{{{{|z|{z{z{z{{{{{}||{|{|{{zy||}|{{|}|{{{{z{|{{|z{{|||{z{{|z{{|||{||{|zz{{z{{||||{{||{{zzz{zz|||{||{|{z{{y{{zz|zz{|{z{z{{zzzz|{||z{{zzzzzz{{{|z{{|{{|z{{{z{z{{z||{{{{{z{zz{z{{{|{{|{{{y{yyz{z{z{|zz{|zzz{zz{z|{{{{|{{{{{z{z{zz{{zz{|{{{zz{{zzz|{{z{|{{{zz{z{{{||z{||{{{{{zz{{|{{{{{{{{{{{y{{z{||{{{{|{{{{{z{zz{{{}{|||{{{{{yz{||z|{|{{{{{{|{{|||{{||{|{{{{|{|||||||||{{|{{z{|||{|||{|{zzz{{{{|{||z||{|z|{z{zz||||{|}{{{{{|{|{{|||{||||{{{|{|z||||{||||{|{z{{{}|{|{||{{z{{{|{{|||{{||||{{{{z{{{|{}{}|{{{{{|z{{{}{{||{|{{{z{{z{{{{|{|{{{{{yzzz{{{|{{||||{||{{{|{||{{{|}{|z{{{{{|{}{{{||{|{z|{{{{|{||||{{z||zzz{{{{{{||||zzz|y{z|{{|{{z{{z{{{{{zz||{{{{z{z{{z{z{{z|{z||{zz{zzzy{{|{|{{{zzzz{z{{z|z|{{|z{{z{z{zz{{|{|{{{{z{{zzzzzz{{{{{||{zzz{yz{{{|{{|{|{{zz{zz{z||{{z||z{{{{z{z{||{{{{{{zz{{y{{{|{{|{|{{{z{zz|z|{|z|{{|{{{|{zz{{{{{|{|{{{{|z{{z{{{{{|{{|{{z{{{{{{|{|{||{z{||zzz||{{{{||{{{{{z{{{{|{||{|{|{{y{||{{||||{|{{{{z{{||{{|{{|{|{{{{{{{||{{||||{{|{{{{{{}{|{{{||||{z{|{{|||||}{|{|{{{|{|||}|||{{{z{{z{z{||{||}}|{{{|{{{||||{|{}{{{{{{{||{||{|||{z{|{{{{z{||{|||{z{z{{{z|{|{{|{{z|z{|z{z||{z|{||{{{z{{{z|{{|}}{}||{{|z{z{|{z{{|{|z{zz{z{{{{|z{{{{z{zzz{z{zz|{|z{zzz{|z|{{{{{{|{||{|{zzz{|z{{{|{{{z{z{{y{|{z{z{{{{zz{zz{z{z|zz{{{z{{{z{zz{{{{{{z{zzz{zzzz{|{{{{{|{{zzz{zz{|{zz{{{|zz{zz{z{{{z{||{z|z{{{zz{||{z{||{zzz{z{{{{{{{{||{z{{{z{{|z{z{|{{{{zz{{z{{{{{{{|{|z{z{zzz{|||{{{{{zz{{{z{{|{z{{||{z{{{zz{{{{{{|{||{|{{{{{z|{|}{{|{z{{{z{{|||||{{|{{{{{zzz{{|{|{{}{{{z{{z{{|||||||{|{|z{|{{|{{|}{||{z|{{z||}{|{}{}{{{z{z{z|{{|||}||{{|{{{}|{z|||}|{{{{|{{|{{{|||{|{{{{{{{{|{{|{|}{z{z{z{zz{|||z{|{z{{{{zz{{|{{{|||{|{{|z|z|}{|{{||{{{{zz{z{{|{|||||{{|z{z{|{{{{|}{|{|{|z{z{{{|{{||{{{{zz{{{{||{{||{z{z{{{{{{{{{{{z|z|{{zz{|{|{{{|{{{yzz{{z{{{{{{{|{zy{zzzz{{{{{||{{z{{zzz{z|{z||{|{{{{{zzz{{{||{{|{{z{z{zzzz{{{|{{zz{zzz{{z|{{z|{{{z{{zz{{{{{z{{||{y{|{{{|{{{{{||||zz{z{{{{{|{z{|{{{z{zzyz|{|{{|{||z{z{z{{{|{{||||{z{{|{z{{{|{|{|{|{{|{{{|{|z{||{{{{z{{|zz{|||||{|{zz{{{{{|{|||}}||{{{{z{z{}|||||{{{{z{{{y{{}|||}||{{{{{|{||{|{|{||{{|{||{|~{||||||{{{{{{{||{||{{||{{{{{{{{||{|||||{{{{|{{{{{{|}||z{{{{{|z||{|{|||{{{{z{{{{{{||{|{|{{z{zzz{{|{{|{|{{{{{{{{{||{||||{z|{z{|z{{|{{}|||{{zz{{y||{|}|{{||z{{zz{{||{{{||{{{{zzz{{z{{|||{|z{zzz{{{{{{z{|{{zzz{zz{{{|{{{{|{zzzy{zz{z{{{|{{zzz{{z{z{{zz{{zz{z{{zzz{z|{{{{|{{{{{zzz{{{zz{}{{{zzz{z{z{{{{{{{|{{zz{zzz{|z{{{{{{{{zz{{zz{{{{|{{{{{z{{z{{{|{z{{{zzzz{z|{{{{{||||{{{z{{{{{{{||{||{{{{{z{{{{||{{{{{z{{{{{z{|||z{|{{{{{{{{{{|||||||{{zz|{{z|||{|{|}{{|{{{{{{||{||}||{{{z{{z|||||||||z{zz{{{|}||{|||{{|{{{{|z{||{|||}{{{{|{{{||||||||z{{z{{{{|}|{||||zzzz{{{||{|{||||{{|{{{{|{{||{}{{|{zz|{{{{|{{|}|{|{{z{{zz||||{|||{{z{|z{{{|{{{{|{|{{{{{{{||||}|||{{{{{z{||{{{}|{{z{{{{{z|{{{||{{{{|{z{|{z||{{|||{{{zzz{z{{{{{{{|{{{zz{zz|{{{z{{{{zz{{yzz{{|zz{{z{{{{zz{zzz{|z|{{zzzzzzy{{z{||{||{z{{{{zz{{|||{{|{{{zy{z{{{|{{{{{|{zz{zzyz{{z{|{y|zz{zz{zz{zz{{{zy{{z{{zz{{z{|z||{z{{{{{{{|{{{z{{{{{z{{{z{z{{{{{}{z{zzzzz{{{{z{|{{{{{|z{{{|{{{{{{{|{z{zzz{|||{|{{|{z{{zzz{|{|{|||{{{z|{z{{|{||||}|{{{|{{{{}|{||||{{}{{{{{|||||{||{{{{{{{||||{||}||{{{{|||{{|{||||}z{z||{|{||}|||{{|{{|{{{|||||{||{{{{{{|||{|||{|}{{{{{{{z|{{|||{}|{{z|{z{{{{{|||{||{{{zz{{}{|{{{|{z{{zzzz{|{z|}{{{{|{{z|z|{{{||}{{{|z{zzz{||{{|||{{{{{{z{||{{|{|{{z{z{{{{{{{z|{z{{{{z{zzz{|{{{{|||{{z{zy{z{z{{|{{{zzzzzz{{{{zz{{|z{{zzzzz{{z|{z{|{z{{{zyz{z{|zz|zzz{zz{zzz{|z{{{|{z{zzzzzz{{z{||{{{{{zy{zz{z|zz||zz{zzzzyz{zzz{{{zzzz{zz{z{{{{{|z{{zzzzzz{|{|{|{|{{{{{zzzz{{|||||{{{z{{z{z{{{{{{|z{{{{zz{{|z{{|{{{z{z{|z|z|{|{|{|z{{{zz{zz{{{|{{|{{z{{|{{||{{||{{{z{|{z{{{|{}{|||{z{{z{{|{{}||||{|{{{|{{{{||{{|||{{{{{{{z{}||{|}{|zz||{{z{|{|||||}|{{{{{{}|{||{}|}{z{{{||{{z{||{||{{zz{{{}{{{{|||{z{zz{|||{{{{|{|||z{zzzz{{{{|||{z{{zzzzz{{|{|}{|{z{{{{|{|{|{|{{|{y{{{zyz|{{{{|||{|{z|{{z}{z{|||{{{{{z{zz{{{{{z|{z{{zy{zy|||{{{{{z{{{zz{{{{z{z||{{{zzz{zz{{{{z{{{{{{z{z{{{|z{{{{{{zzyzzzz{{{{{{{|yzyzzz{{{|{{z{{{{{z{z{zzz{zz{{||{yzzzyzz{{|{{|{|z{zz{yzzz|{{{{|{y{{z{zzz{{{{{{||{{{z{zzzzz{{z{||{zzzzz{zz{{{{{{z{{{{zzzzz||{{{{{|z{{{zzzz|{{z|{{{z{{zzz{{|{{z|||{{zz{{z{|||{{{{{{{z|{z{z|z|{{{{|{{z{{z{|{}{||||||{{{z|z{|{||{||{|{{{{{z{|||{{||{|{{{z{{{||||{{{||{{{{{{|{|{|||||{{{{{{{z{{|}|||{|{{{zz{{{{{||{|}}z{|{{{||{{|||||{{{z{{{z{|{{{||||{z|zz|z{{{|||||||{zz{{z{{|{{|{{{{{{{z|z||||{|{|{|{{{zz{||zz{||{{{z||{{{|zz||{|{|{{zz{{z{{{{{{{{|{{zzzzz{{{{{|{{{{{{z{zzz{|{z{{|{z{zyyz{{{{{|{{{{zz{z{zz{{{|{{z|zyzz{zzz{{{{z{|z{zzzzzyz{|{{{{{{{{zzzyyzz{{{{z}{{{zzzzyz{{z{z|zz{{zz{{z{z{z{{|{zyz{{{z{z{{z{{{|z{z{z{{z{{z|{{z{z{z{zzz{z{{|{{|{|zzz{{zyzz||{{{{{{{{{{z{z{|{|{{{{{{|zzzz{|{{{{|||{|{z|z{{{{|{{{{{{{{z|z{||}|||{||{{zz{z{{|{{{|||}{{{{{{z{{{|{}|||{{{||z{||{|{|{{||z|{{{{{{{{{||}|{z{{z{z{{}|||||}|{{{{{|z|{{}||}||{z{{{{{{{{{|{|||{z|||{|{|{|{}||||zzzz{z{||{{|{|{{{{{{{{{{{|{|{|{zzz{{{z{{{{||{{{{{zz{{z{{{|z{{||z{{{zzz{{|{{||{{|z{zzzz|{{{|{{{z{zy{zzzz|||{{|{{z{zz{zz{{{{z|{{{{{z{z{{{{{{{{{z{z{{zzz{{z{|z|{zzz{{z{{z{{{z{{{zzyzzzz{zz{zz{{{zz{zzz{zzzz{{{{{|{zzzyzyz{z{{zz{{zz{{zz{zz{{z|{{{{z{z{z{z{{z{|||zzzz{yz{z{z{yz{|{{z{z{zzy{{|{{{{{zz{yy{{{{{{{|{{|{z{{zz{{{||{{|{|{z|z{{zz{{{{|{{{{z{zzzzz|{|{{{{{{z{{zz{z{|z{{{{{|{{{zzz{{{|{{|||{{z{{z{{{||{{|||}z{|z{{y{|||{|||{zz{|{{{{||||||{|z{{z{{{{|{z{||||||z{{{z{}{}|}|{z{|{z{{y{|||{|{||{{{zzz{{||{|||||{{{|{z{z|z{{|{|z{{{{{z{|{|{{|}{}zz{{|{{z{{{{{|{{{|z{zz{{z|{z{{|{{{zz{{z{||{{{{{||{{{zz{{{||{|||{|{zzz{{{{{{z{{{{{{z|zz{{{|{{{||{{{z{{{{{{{{{{z{zzz{zzz{{{{{{|}z{zzzzzzzzz|{{|{{zzzzzz{{{zzz{{z{|zzzzzzzz{{z{|{|{{zzzzz{{{z{z{{{zz{zzzzz{{{{yz{{{zzzzz{zz{{zzz{{{zzyzz{zz{{{z|{{zz{zz{{zy{{{{{{|{z{zz{{z{{{|{{{|{{{z|zz{|{{{{z{{z|{z{{zz{{{{{{{zzz{z{y{zz||{{|{{z{{{{{{z{|{|{{{{|{|{{|z{{||{z{||||{z{{z{{|{{{z}{|{z{{z{{{|z|{|}|{{{{{zz{|{|}|{|||zz{zz{{{}{|||}|{z{{{z{z||||{||||{z{{{{{z||{|{|||{{{{{|{|{{|{|||{z{|{{{{{{{|{||{{{{{{{{{{{{|{{|{{{{zz{z{|{|{{{|{z|zz{{{{{{{{|{{|{{{z{y{z{{|{{|{{{{{{|{{{{|{{||{|{{z{{z{z{{|{|||||{z{z{{z{{{{|{{{{{{{{{{z{{{{{{||{{{zzzzz{z{{{|{|zzzzz{{zz{|{{||{z{{{z{{{z{{{z|{{{y{{z{{z{{z{{{|{{{yzzzzz{z{{{{|{{zzz{zzz|z{z{{{{zzzzzzzz{{|zz{|{{zzzz{zzz|zz{z|{{{zzz{{{zzz}z|z|zz{zz{zyz|z|{{{{z{{{{z{z|{{z{|{{{{{{zzzy{zzz{|{{{{{zzzz{{||{{|{{|z{{{z{z{{{|{|{{{z{|{z{||{{|{{|z{{{{|{z{z|{{{||{{z{|{zz{z|||||||{{z{{|{z||||{|||{z{{{{{z|{{||{|{|z{{{{{{{{|{{{|}{{{{{{|{{|{{||||}{{{z|zz{{{{{||}{{z{{{{{|{{|z|{|{{{z{{{{|||{|{|{{|{{zzz{z{||||{}{|{{{{{{z{{|{{|}{{{{{{{zz{||{{{{{{{z{{{z{|{{{||||{{z{{{z{|{{|||}z{{{z{z{{{z|{|||{{|z{{z{{{{{|{{|{z{zy{{z{{{{{{{{{{{zz{zz|{{z{{{{{z{z{z{z{|{{z{{{|{{z{zzz|{{{{{{{{{{zz{y{z{{{{{||yzzzzz{z{z{zz{{{z{{{z{y{z{{{{{{{{z{{zzzzz{{{{z{{{{{z{x{zz{{{{{{{{zzzzzzzz{z{z{{{{{{zz{zz{{z{{{{|z{z{{zzz{|{zz{{{|z{zzz{{{{z{|||{zz{zzz{z{{{z{z|{{|{{{z{zz{|||{{{{{{{{z{z{z|{|{{{{{{z{{{{||{{{{|||zzz{{{{{z||{|{{|z{|{z|{{{}{{|{|{z{|{{zz{||||{{{|{|||{zz{}||||{||{||z{{|{{{||{|{|{{{||{{{||{|{||{{{{{{{{||||||}||zz{z{{z{{{{{||||z{{|{{|{{||{|||{{z{zz{{{{{{z||{{z{{{zz|{|{|z||{{zzzzy{zz{|z{|{||{{z{{{zz{||{|||zzz{|{{{{{{{{{|}{||z{zyz{{{|{{{|zz{{{zz{z|z|{{|{|{{{{{{z{{{|||{|{{{yz{zyz{|{{||{|z{{{zzz{{z{||{{{zzz{{z{zz{{{{{{{{z{zzz{z{|{{{{{{z{{z{yz{{{{|z{{z{{{zzyzz{{{z|||{zzzzzzzy{{z{{{zzz{zzzzzz|z{z|{{zz{{z{zz||z{{{|{{{{{{{{{{{{{|{{|{{z{{{{z{||{z{{|z|z{z{{zz{{|{{|{{z{{{z{z{{{|{{{|{z{{{{zy{|{{z{{{z{{{{z{{{||{{|{|z{|z|{z{|||||||}{{{z{z}{||{|{{|||{{zzz{{|||||{{{{zz{{{{{|||{}||||z|{{{{{||}{{|||~z|{{{|{{}||z||{|{{{|{{{|{||||}||{{||{{{{{|||{|}|{{|{|z{|{|{|{||{|{z|{{{{{{{{|{{{z|{{{|z{{{|{||{{z{yzz{z{{{{|{{|{z{z{zzz|||{|{{||{{zz|{z{{{{{|||{|z{{|{{}{{|}||}{y{z{{zz{{{{{{{|z{z{zz{z|{{{{||{zz{zz|{z{|{|{||{{{{z{zzz{{{|{{{z{{{zzzzz{z{{{{|{{z{y{|zz{{|{{|{{{z{{zzzz|{{{{{||{|z{zzzz{z{{{|{zzzzzz{zzz{{{{{{{{z{z|zzzz|zz{|z{{zz{z{{{{{|||{|||z{{{z{z{|{{||||{z{{{{{z{{{{{|{{{z{z{zz{{|{{{~|{{{zz{zz{z|{|||||{{{zzz{{{{{{{||{|{z|{{|{||{{{||||{{{|{{z{||{}|{{z{|{{{{{||||{{{|{{{z{{z{||{{|{|||zz|{{{|||||{|{||{{{{|{|{|{||}|||{{{{{{{|}||{|||{{||{z{{||||{||||{{{{{{|{|{}{|||{{{{{{{|{|{}{{||{{|{{{{{|{|{{|{||z{||z{{{|z{{{|{{{{z{zzz{{|{{||{{{{{{{{zz{|{{|||{|{{zzz{|{{|{{{{{zz{z{{z{{|z{z{|z{{zz{{zzzz{z{{|z{{zy{zy{{{z||{|{zzzzy{{zzz{{{{zzz{zzyzz{|{z{{{{z{zz{{z{z{{{{{{|{zzzzzzzz{{{{{{{{zz{z{{zz{{z{{{|{z{{yyzy{{z{|{|{{{z{zz{zzz{{{z{{|zzzzz{{{{{z{{{{zz{{zzzz|{{{z{{{{{zz{{{z|{{|{z{{{{{z{z{{zy{{{{{|z{{{zy{z{z|{z{{{{{{z{{{{{|{|{|{z{zzyzzzz{{|{{||{zz{{z{|{|{{{{|{{{{{{{{z{{|}{||{|{{zy{||{{|{{{|{|{{{{z{{{zz|||{{{{z{{{z|z||{{{|{{|{{{{||zz{|||}|{}{|{{|{{z{{{}|||{{{|{{{{{|}{|||}|{{{{zz{{}{||{||{|{{{{{{{|{}||||{z{z{{{{{{{||||{{{{{|{zzz{|{{||{{zzz{z{z{{{{{|z|{zz{{zz{{|{{{z{|{|z{{{z{|{{|||||{{{{z{zz|{{{||{|{{{{{{y{{{||{{{|{z{zz{{z|z{{{{{{zz{{{z{{z|{zz{z{|zzzzyz{{zz{{|{{{zzz{zz{{{z|{{{{{zzzzzyz{{z{{|{{{zz{zzy{{{{{zz{z{{{{zzzzz{{|{{|{zzzyzz{z{{z{{{{|z{yz{{{zz{{{{{{{{{zzzzz{z|{{{z|{z{{z{{z{{z{{{z{|zzz{zyz{{{zz|{{|{{z{{z{z|{zz|{|{{{zz|{{z|{{|{|{|zz|{zz{{{|{{|{|{{zz{z{zzz{|{{{{{{{{z{z{{{|{|||{||{{{{{z{||||{|||{{{{{{{z{z||||}|z{{|{{|{||{z{||||{|{z|||}|||||||{z|{{{{{{}|{|||z{|{|{{{{|||||||z{{{{{{z||||||{|||{{{{{{{{|{|{||{{z{z{{{{{|{|{|||{{{zz{{{||{|{{{{z{z{zz|{z|{|{|{{{{{z{{|y{|{||z{|{z{{zzz{z{|{{{{{{z{{z{zzz{|{z|{|{z{zzzzzz|||{z{||z{{{{zz{{|{{{{|{z{zzz{zz{{{{{|{{zz{z{zzz{{{z{{z{{{{zyzz{{z{{{{{{zzyz{zzz{{{z{{{zzzzz|{zz{{{{|z{{z{{z{zy{|||{{{|{z{zzzzzz{z{{||{z{{z{zzzzzzzz{{|{{zz{zzz{{{{{{{|{z{{zz{z{{zz{{{|{z{{zzzzzz|{{{{|{{{{zzz{{{|{|{||{{{z{y|y{{{{{{{|{z{z|zz{{||{{{|{|{zz{zz{{{|{{{z{|{||{{zz|{||{|{{zz{{{{|z{{||{|}{|{{{{{{{{{||||{{{z|{|{{{||||{||}{{{{{{||{|||||{{|{{{{|{z{}|z{|||{z{{{{{{{{{{|||{|z{{{{z||{{||||{|{zz{zz{{{{|{|||{{{zz{z{||{||||||{{{{{{{{|{{{{||{{|z{z|{{{{{{||{{{zzzz{z{{{{||||z|z{z{zzz{{{z||}{{zzz|zz{{{{|{}{{{z{{z{zz|{{{{|{{{{zzzz{{{{||{{|{{{zyz{y{{|{{|{{|{|{zy{z{|{z{||{y{zzzzz{{zz{z{z|zz{z{zyz|{{{z{||zy{zzz{{|z{zz|{{{z{zzz{{zzz{z{||zzzz{zz{{zzz{|{|z{{z{zyzz{z{{|{{{zzz{{zz{{{{{{{{{{{zzz{z{{{{{{{|z{zz{zz{{{|{{{{|{zz{{z{z{{{{{{{{{{{{zzzzz{{{||{{{z{z{{{{{{|z{{{{{{zz{{z{|{{z{{|{zz||z{{{z{||{||{{{{z{{{{{|{|{|}|zzz|{{{z{{{z||{{|{z{|{{{}{||{{|}|{{{{{{|{|{{||||{{{{{z|{{|{{|||||{{{{{{|||||{}|||z{|zzz||{|{{||}{z{{{{z|{{{|{|||{|{{z{{y{||{{||{}{{{{{{{|{{{||{{{|{{{z{z||{z{{{{{zzz{z{zz|z{|z||{{z{z{{{{{{{{{{|{{|{yzzzz{{{{{|{{{{yzzyzz{||{{{{{z{{zzz{{{{z{|{{{zzzzzzyz{zy{{{{{z{z{zz{z|{zzz{{z{zzyzz{zz{{{{{{zzzz{zzzz{zz{{|{zzzzyzzz{|{{z{{{{{{zy{z{{z{{{{{{z{zz{zzzx{{y{z{|zzzzz{{zy{{{{zz|zz{y{{zz{zz{{zz|{zz{zyzz{{{{{z{|zzz|yyz{{{|z{z{|{{{{z|{z|{{{{{|{{z{z{yy{z{{|{{{z{{{{{{z{{{|{|{}{{{z{{{zz{{|{{|{||{z{{{zz|||}{{||{{|z{{|z||||{||{||{|{{{{|||{|{{{{z{z{{{{{}||{||}{|y|z{{|||{|{|}|{{{|{{{z{{|}||||{z{{{{|{{|{{{|{{{z{|{{{{{{{{{|}|{{{{{{{{z|z{{|||{|{z{{zz{{{{|{||z{z{{{{z{{|z{||{z{{zzz{z{{|z{|{{{|{zzzz{{|{{{{|{{{{z{{y{|{{{{{|{zz{zzzz{z{{{{{|{{z{zzzyz{{||z{{{{{zzzz{zzzz{{{|{{zzz{zz{{{z{z{{{{z{{zz{{z{{{z|{{{|zzzzzz{{{{{{{{zzzzzzzzz|z{{{{|z{{zzzz{zz{{{|{{zzyz{zzz{{{{{{{{{{{zzzz{z{|zz{{{zzyzz{zzy{{{{||{yzzzz{{zzz{{{{{z{z{zzzzz{{{z{|{{zz{{zzz{z{|{{{z{zz{zzz{z{|z{|{|{{z{{{z{{{{{{|{||{{{{z{zz|{|z|{||{z{{{{z{{||{{z{{|{z{{zz{{{{|||||{z{{zz{{{||||{||{{{z{zzz{||{|{|{{{|z{{{z{|{{}|||z{{{{z{z{{||{||{|z|{z{{z|}|{|{|}}{||{{{{{|{|{{||{{||{zz{{{||{{||||z{{{z{|{{|||}|{{{z{|z{|{{|{|{|{{{{{{{{z{{|{||{{{{zzzzz{||z{{||{{{z{{{z{{||{||{{{{{|zz{{|{z||||{{{{{{zz|z{y{{{{|{zz{{z{{|{z{{||{z{zy{{z{z{{{{{|{{zz|z{zz{{{y{{{{{{{{{{z|{{{z{{{z{zzzzz{zz{zz{|{zz{{{z{zz{z{z{}{{{{zzz{{{{{{{{{|z{{zzz{zz{z{{{{{{zzz{y{{z{{{{|{{zzzz{z{z{{zz||z{y{z{{{{z{|{{{{{{{zz{{z{{{{{{{|{{z{{{zz{{{{{{z|{{{{z{zz{zz{{||{{{zzzz{{{zz{|{|||{{{z{{z{{{{{z{{{{||{{z{z|{{{|||{{{z{z{zzz{z{{{{|{z{{{{{|{|{{{|{||{{{{{{{z|||}{{{||{|{z{|z{|{|{{|}{{{{{|||{{|{|{|{|{{{{|{|{~}|{||{}{{{{{z|||||||{|{{z{{{{{|||{{}|{|{{|{{y{||||{|||{z{{{{z{{{{{{|||{|{z{{{{z{zz{|||zz{zzz{z{{|||{{{{zz{{zz{{||||}}|{{{z|{zz{|{|{|||{zz{{{{zz{|||{{|{zz{{zz{{{||{{|{{{{{zz|z||{{{{z{z{{zy{zzz{{z{{{{{{{{zzzz{{|{{|z{{{{{zz{{{{{|{{{{z{y{{z{{z{{{{||z|{{z{zyzz{{z{|{{zzzzz{zz{|{{z{|{{z{z{{{zz{z{z|{{{{{zzzzzz|{|{|z{zzzzz{zz{{{|{{{|{{zz{{zz|{{{|{||{y{zzz{{||{|{{||{z{z{z{{{{{{{||||z|{z{z{{{|{{|{{|zz{z{{{{|||{||}{{zz{{{{|{||{|{}|{{|{z{{||||||}|{|{{{{|{|{{{|||||{{{|{{z|||{{|}||{z{z{{{||{{|||||{|z{{|{{{{|||{}|{{{{{|{{}{||}|}|{||{z|z{||{{||}{{{{||{{{||}||||{{{{{{{{}|{||||}{|{z{{zz{|{}{||{{{{{{z|z{{|||{|{z{{z{z|z{{|{{{z{z{z|z{{z{zz{{z{{{{{{|zyz{{{{{|{}|{{yzzzz{{z{||{{{zzyz{yz{{{{z{|{{|{z{zz{{{{{|{z|{zzzzz{z{|z|{||{{{{z|z{z{{{{z{z{{yz{y{y{{zz{{{{|{{zzzzzz{z{{|{{z{zzzz{zzz{|z{{z{{{zzy{zzz{{{{z||zzzzzzzzz{zz{|{|{{zyzzz{z{{{{{{{zy{{zzz|z{|{{{|{{z{zzz{zz{{z{|{|{{{{zz{z{{{{{{z{z|zzz{{{z|{{|{|{{zz{zz{z|{{z{{}z{z{{zzzz{|{{{|}{|{z{{zzz{}{{{|{|{z{{z{|{{{|{|{{|{{|{z{{{{|z{{|||{z|{{zzz{{{{{||z|z{{{{{{||{||{|{{{{{{{|{z{||||}||{{{{{{{{||||{{||{{{{{{||||{||{z|{{z{{z{|{{{|z|{{{{z{{{{|||||{|}z|{{z{{{{{}{{|{{z{{{{zzz{|{|{{|{|{{zz{zz{||{{{{|z{z{z{zzz|{||}{|{{y{{{yz{{{{{|||z{z{z{{{|z|{{|{{{z{z{zzz||||{{||{{zz{{zz||{{{|zz{z{z{{{{z{{{{||{zz{z|zz{z{z{{{z{{{zzy{zyz|{{{|{{zzzyz{zzz{{{{{|{zzzzz{z{z{{{|{{{{{zzzz{zz|{{z{{{|z{z{{{y{zzz{{{{|{{zzyzz{|{{{|||zz{{zzzz{z{z{{{{{z{{{z{||{|{{z{{{{z{zz{z{|{zz{|{{{{z{{zz{{{z|{|{{{{z{z{z|{{|}|{z{|zzz{zz{||{{||{{zzzzz{{||{{y|{{{{{z{{|{{{|{}}|{{{{{{{z{||||{|{|{{||{{z{||||{|{{{{zz{|{{|||z|||{{{|{||{||{|{|}|}||{{{|{z{}|||}|||{{z{|{{||{|{||{|z{{{{{z|{{||||{|{{{{{z{|{{{|||}{{|z{{{{||{||{}{{z{{{{|z|{|{|{|||z{z{{|z|||z|||{{{{z{{|{z{|{{{{{{{{{{zzzz{{z{|{|{{zzz{zz{z{{{||{z|{{zzzz{{{|{{||||zzzzyz{{|{{{{|{{z{{{zz{{{|{|{{zz{zzyz{z{|{{{{{zzzzzz{|{{{{z|{{zyz{z{z{{{{z{{|{z{{zz{yz{zzz{||{{{z{z{zz{{|{{{{{{z{zz{zz{z{z{{{z{{{{zz{{{z{{{{{|zy{zz{|zz{{|{{{{{zz{{y{zz|{{{{{{{{{z{z{{|{z{{{|{{z{zz{z{|z{{|{|{{{{{zz{|z{{{{{z{z{{z|{{z|||{{{||{zz{zzz{{{zzz|{{{{{zzz{{|{{}}||zz{{{{{zz{||{{|{{{{{{{zzzz|{||||||{{{|z{{|||{{|||{{|{z{{{|||{|||||{|{|{{{||||||||{z{{{z|{{||||{|{{z{{{{{}{{{|||||{{{{{{z{||{{{|{|{{{z{z{{{|zz{{||{{z{zzzz|{{||z|{zz{z{zzz{{{||||{{{{{{zzz{{{|{{|{zz{{z{z{{{{|||{|{{{{z{z{{{|{|||||z{y{{z{{|{{{{{{z{zz{{zz{{{{{{{{{{z{{{{z{{{{{z{z{{{{z{zz{z{{{{{{{{{y{|zz{yz{z{{{{zzzzzzz{z{{||{{{{{zz{z{{|{{{{{{zz{zz{z{y{|z{{||z{zzzz{yz{{zz{z{{zzzzz|z|zzz{|z{zz{y{zzyz{{z{{{z|z{z{{{zz{{|z|{{z{{{zz|zz{{z{{{{{z{zz{zz{{{{{{{|{{{z{{{z{{|{{}{z|{{{{y{z{{{{{{||{|{{{zz{{|||{{{||{zz|{{z{{|||{{|{{z{|zz{|{{|||||{{{z{zyz||||{|{{{{{{|{{{{|{||}|||{{{z{{|{|{||}}{}{{{{{{{{|{|{|||{{{|zz|{||||{||z{{{z{{{{|{{}|{|||{{{{|{{{|||{{|}{z|{z{{{{|{|{{{{|{zz|{{{{||{|{|{{{zz{zz{|{||{{|{z{z{{{zz{|{{z{||{{{z{zz{z{|{|||{{zzyz|{zz{{{|{{{{{z{zz{z{{{zz|z|{z{y{zyz{{{{{{{{|z{z{{zyz{{{z{{||z{{zzy{z{{{{{{{zzzzzz{{zy{z{{|{{z{yzy{zz{{z{{|{zzzzz{z{{{z{|{z{{{z{zzyz{zz{{{{{zz{{zyzy{zzz{{|z{{yzzzz{{{z|zz{|zz{z{z{z{z{{{{{{zzy{zzzzz{{{{{z{y{z{zz{zz{z{z{z{zzz{{zy{{{|{{{{{{{{z{yzz{{|{{||{{z|{yzzy{{{{{|||{z{{{zz{{{{{{{{|{|z{|z{{{z{{||||{{{z{{{|{|{|{}z|{{zy{{{z||{|{{|{{z|z{z{{|{z|}|||{{z{{|{{{{{||{|||{z|z{|{|}||{}{}{{{{{{{{{||{|||||{{{{z{z|{|{||{|{z|{{{|||{|{{|}|{z{z{{||{z{{{|{{z{{{z{{{{{||{{{|z{z{{zzz{{|{{{{{z{|zz{zz{{|{|{{{{zz{z{z{{{zz{|||{z{{z{{{{{||{{{{{zzzzz{{zz||{z{{{|z{{zzy{{|{{|z{{{zzzzzzz|zzz|{{{{zzz{zzz{{zz{{{z{z{zzz{zz|zz{{|{zyzyyzz{|{{{{|{zyzzzzyz{{{{|{{{{{zzzzzz{{z{{z{{{zz{zzzz{zz{{{{{z{{zzzzzzzzzz{|{{zzzzzzzz{{{{z|{{zzyz{zz{{{{{{|{zz{z{{{{|{{{{|{|zyyzz{zz{|{{{|||{{zz{z{z{{||{{{{{zzzzz{z{{||zz|z{z{{{zz{{||z{|||{{{z{{z{{{|||{||{{|{|{{{}{{||{||{z{{zz{{{||{|{|}||z{|{{{{|{{{||{{{|{{{|{{|{||{|||{{{{{z{{|{}|||||{{{z{{{|z|{{{|||z{z{{z{|{|||}|||{{|{{{{|{{{{|{|{{zz{{z|{z{||{|{||z{z{z{{||{{{|{zz|z{z{{|||{{{|{{{{z{{{{{{{{{|{{z{z{z|{{zz{{z{||{zzy{{{z{{{{{|{{zzz{{yzz{|||z{|{z{z{z{{z{z{{{||{zzzzz{z{{|{{z||{{zz{{zzz{{{{z{{zzzzzzzzyz{{{zz{{zz{zzzzyzz{{zz{zzz{zz{zz{{zz{|{{zzzzzzzyz{{|{{{{zyzzzzzzzzz|{{{|{{z{{{zyzzzz{{{{{z|z{zzyz{{{|{}{zz{{yzzz{{||{z{{{{z{zz|y{z{{|{{{zz{{{{z{{{{{{|{{{{|zzz{z{|{{{|{{{{{{{{{{|{{{|{{{{z{{{zzz{||{{zz{||{{}zzz|{|{||{zz{{z{{{{|{{|{|{|{z|||{{{{||{|||{{z{|{{{{||{{{z}{{{{{{||{z{{|}|{||{{{{{{{{}{{|{||{{{|{zz{|z|{{|||{{{z{z{{{|||||||{{{{|{{{|{|z{|||{z{{{z{z|{{||||{{||{{{{zz{z}zz|{|{{z{z{{{{{|{|{{{{z{zzz{z{{|{{{|{{zz{zz{{{z{{||{zzz{z{{y{{|z{{{{{z|{{zz{z{{{{|{z|zzzyzzz||{|{{{|{{{{zzzzz{{{{|{|{{{zzzz{|z{{z{|{z{zzz{zz{z{|z{{{zzz{z{z{{{{{z{{{{zzzzzzz{z{{{{{|{z{{zyzzz{||{{|{zzzz{{{yz{{zzz{{zzzzzz{zy{{{{{{{{z{{{zz{{{z{{z{{zz{z{z{z{|{z{{z|{z{{zzzz{{{{{|{{zy{zzzzz{{{{{|{|z{{z{z{z||{|{{{z{z{z{zzyz}{||z|{{z|z{zzz{|{{{{{{z{z{{{z{{|{|||{|z|{{|{{{{|z||{{{z{{{{|{z{|{|{|{{|{{{|z{||{{{||}||{{{{{{{z||||{||{{||{{{{{|{|{}}|{|{{{{{z{z|{{{{|zz{{z{{{||{{z|{|{{|{|{{{{{{|||{|{{{{z||{z||{{|{}{{{{z{{z{{|}{|{}{z{zzz{z|{{{{||{{z{{{{{{z}|z{{|{z{{{|{{{{|{|{|||}{{{{{|z|{|{{|{|{{{{zz{{{{{|{z{{{{{zzy{z{{|{z{z||zz{zzzz{|{{{{|z{zz{{{{z|{|{{{zz|{{zz{z{{|{{{{{|{zzz|z{{z{|{{z|{{{zzzzz{{{{{{{||{z{{z{{z{{{{{||{{zz|zyz{z{{{z{{{zz{z{{{z{{{|{{z{zz{zz{{z{|{{z||{{zz{zz{{{|{{{{}{zz{{{zz{z{|{||||z{{{{{z{|{}|{{|{{y{{{z{{{}||{|}|{z{{z{z{{{||{{|z|z{{{{{{{|{{{|{{{{|{|{{|||||}}{|{{|{{{|{|||||}||{{{|{{{|||||||}|{|zz{||{{|{{||}{||{z||}{}|{||||}|{|{{|{|{||||||{|{{{z||||||}||||{{|{{{z{||{}|{}|||||{{{{||{||}||{{zz{{{{{|{|{{|{|z{{zz|z||{}{{||{|{{{{{{{{{||}||{{{{yz{z{|{{|{|{{{{{zz{{|z||{{z{{zzzz{z{{{|z{{||z{{{{{{zz{z{z|{|{{{y{{{z{z||{{{||{zz{z{zy{zz{{{zz{{{zzz{{{{{|{{{zzzzzzz{{z{|{{{{zzzzzz{y{z|{|{{z{zzz{{zyz{|z|z{{z{z{zz{z{{z{{z{|z{z{yzzz{z{{{{z{{zzz{zzzzz{{{||{z{{y{{z{zz{|z{{|{{zz|{|{z{{z{{{{{{{{{y{{|{{{{{{{{{{{{zzz{{||{{||z{|{{zzz|||{{|||{zzz{{z{{{|{{{|z{{{|{{{{{|{{{|{|{|{z|{{{z||{}|||{zz{{{||{|}||}|||{|{{{zz|||}|||{|z|{{{{{}}||{|{z{{{{{{|{|{|||||||{|{{{{{|}|}||{{|{{{{{{{|||{{|}{|z{{z{{{{{||||||{{z|{||{}||{||||{{z{{z{z{{|{|||||{z|{z{z||{|{|{{{|{{{zzz{|{{|{{{{zzz{zz{{||{{{{{{zzz{z{z{{{{{{{|{{{z{zzz|{{{z|{|{{{zzz{z{{|{y{|{{{z{z{{y{z{|{{|{{{{z{{zyz|{{z||{zz{zzzzzz{{{{{z{{{z{z{zzzzz|z{|{zz{zzzz{{{{z{|{|{z{zz{zz{z{z{|{{{z{zzzyz|{z{{{z|{zzzzzzzzzzz{{{{{z{z{zzzz{{{z{{{zz{{z{z{{{z{{{{{zz{z{z{z{|{{{|{{zzz{yz{zz{{z{|||z{zz{z{{{z||z|{{{z{{{{zz{{|{{{{{|z{{zzz|||{{{z}z{{{{{zz{|{{|||||{{{z{z{z||{{|{{|{z{|z{{{{|{|{|}||{{{{{zz{{|||{|{|z{{{{{{{||{||}}{{{{{|{{||||{||}|z{{z|{{{|{}{|}||{||{{{|{||{{{||{{|z{{||{||{|||}{{z{{{{{{{{||}|{{|z{z{z{{{{|{{|{|{{|{{z{||{|{{{|{{{zz{zz{{{|{|{{{zzzz{{yz{{{{{|{{z{{zzx{{||{{|||{{{zzzz{|{{{{}{{|zz{z{{z|{{|{{{|{{{z{z{z{{{{{{z|z{zy{z{yz{{{zz{{zz{z{zz{{{{{{{||{z{{z{{{z{{{z{|{zz{zzz{z{{zzz{|zz{{zzzzzzz{{{{{|{zz{zzyzz{zz|{||{{zzzzzzz{zz{{{|zz{zzz{zz|z{||{{zz|z{zzz{{{zz{{{{zzz{zz{z|{z{{|||{zzzz{z|{||{||{z{z{zz{{{{{||{{||zz|{y|zz||||{{|{{{z{{{{{{{|{{|{{z{{{{{{{{{|{{{{{{{{{z{{||{{||{{z{{{{{|{{{{|{{||{{z{z{{z{||||||||zzz|{z{||}|{||{{{{{{|{{|z|{|||||{{{{|{{||{}|{|||{{|{|{{{{{||||||z{{{{z{{{|{|{||{{|z{{zz|{||{|||{{zzz{{{||||{{{|{{{{{{{{{{|||{{{{{{z{y{{{{|{{{z|{{{|{zzz{||{|{{}|{{{zzz{{z{{|||{{{z{z{{zz{||{|{{|{{{zz{{{{||{{|||{{|yy{zz{||{{{|{z{zzzzy{{{{{{|{{{z{{{zzz|{|{{|{{z{zz|{{{z|zz||{zzzzzzzz{{{{{{|{{{{zzzy{z{{z||{{{zzzy{{zz{{{{{|{yzz{{{{yz{{z{{{{{{zzz{{z{{{zz{|{{zzzz{z{{{{{|{|{{{z{{zz{{{{{{{|{zz{zz{{z{{{|{|{{{{{zzzz{|{|zz{|{|z{{{{zz{{{{{|{{{z{z{{z{{||{{{||{z{{{{y|{{|{|{{{{{{z{{{||{|{{|{{{|z{{z{z}{||{{{|{{{|{{{z{{||{||}|{{z|{{{|||||{||{|{z{|{|{|{|||{|{{{z||||{||{|{||}{||{|{{{{{{|}|{{z{zz{{{||}|}|}||{{{{{{||||||}{{|||z{{{{{|{{|{||{{{{z|{{z||||{{{||{{z{{z||{|{{|{zzzz{z{z{{|{{z}{{{{{zzzz{zz{z{{||z{zzyzz{{{{z{{||{z{zz{y{{{zz{{{{|{zzzzzz{{{{||}zzzz{{zzz{z{{z{{zy{{zzzz{{|z{{z{zzzz{zzzzz{|zzz}{z{zzzzz{zz{{{{{zzzzzzyz{|{z{{|{z{{zzz{zz{{{{||{zzzzzy{zz{z{{{{zzy{z{zzz{{zy{{{{zzz{z{zz{{{{{z|{z{y{zz{{{z{z{z{|zy{{zzzz{{{|zz{{zzyyyz{{{{z{{|{{{{zz{zzz{{z{{{{{{zzz{{zz{|{{{|{{{{z{{yz{{{{{{|{{{z{{{{zz|{{||{{|{{z{z{{{{{{{{|||{{{{{{{{{{||||{|{z{zz{{{{|{{|||{{{|{{{{||{{|{|||{z{{z{{{||||||||{{{{{{{{{||{{|||{{z{zzz{|z{{||z||{z|{z{{{{{|||}|{{{z{z{|z{|{{|}{{zz{z{zz{|{{||||{{|zz{{}z{{{||z{z{zz{z{z{||{|{||{{zz{zzz{{||||z{{{zzzz{{{{|||{{{{z{zz{zz{z{|{|{|z{{zy{{{zzz|z|}||{{zzzzz{|{{y|}{{z{zz{zz{{{{z{{{yzz{|{zz{z{{z{z|z{zzzzzz{{{{z{{{zzzz{zyz{{|z|{{z{z{zzzz{z{{z{|z{zzz{zzzy{zzz{{{zzzzzzy{{z{{{{{zzzz{zz{z{{|{{{{{{{y{z{{{y{|{{{{{|z{{zzzz{{{{|z{{|zzzz{{zz{{{|{||{{z{z{zz{|{{{{|z{{{z{{{{z|{{{|{{{{{|z|z{{{{|{{{{{|zzzz{z{{{|{|||{z||{{{|{{|{{||||{{|z{y{zz{|{|{{|{z{{{z{z}|{|{}}|{{{{z{{{||{{||||}z{{z{{|{||||||||{|{{z{|{{}{|{|{|{zz|z{{{{{z||{||{{z{|zzz||{||||{{{zzz{{z||{{{||z{{{zzzz{{z|{||{{{{{{z{||{{z{{{{{{{zz{{zz{{{{{||{{{{zyz{z{{{{||{{|zzz{zzz{z{{{{{{zz{z{zzz|{{z{{{z{{yzzzzz{{{z{z{zyzzzzzz{z{z{{{{{z{{z{zzzz{{{|{{zzzzz{{z{{{{z{{{{z{z{yzz|{{zz|z{zz{zzzz{zz{z{{|zz{zzz{zz{z{{{z{{{{{zy{zyz{zz{{{{z{zzzzzzz{zz{{z{zzz{y}{zz{{|zz{{zyyyzzz{z|{{|z{{z{{z{zzzz{z{zzz|z{{{{zz{{{{{z{|{zz{z{{yyz{{{||z{zz{zz{zz{z{z{{{|{{{{{zz{{||{{{{{{{{z{zz{{{{{z{|{{{{{{{{{|{{|||{||zz{{z{{z{{{z||{{zz{{{z{|||{|{||{z{z{{{|z||{|||{{|{{z{z{{|{||{z|{{z{z{{{|{{}|||||{zz{{z{|{|{{|{{{{z|{{{{{{{{||{|{{{{{{z{{{{{||{||{y{z{{{{|{{{{{{zz{z{zzz{{||{{|{yzzz{z{z{{{{z{{{{z|zzyzz{{z{z{{{z{zzz{zz{z{z|||zzzz{{zzz{{{{z{{|z{zzz{{z{z{{{{{|z{zzzzyzzz{{{{{{{{zz{zz{{z{z|{z{{zzzyyyz{zz{{{{{zyyzzyyzzz|{z{{{zzyzzzzyz{{{{{{{{zzzyzzzzz{z{{{{yzzzzzyzz{zzzz{{z{yzzzzzz{zz{{{zzy{zzz{{zzz{zz{{{zzzzzzzzzz{{{{{zy{zzzzzz{zz{{z|{z{zzzy{{||{{z{{zzz{{z{{z{|{||{{zyzzzzzz{{{{z{|{z{{{zzz|||{{{|z{|zz{|{{{{{|||{||{{{{{{{{|{{||{}|{z{zzzyzz||{||||{{zz{{|z||{{{|||{{|{{{zzz|{||{||||zz{z{{{|||||||{{|{{z{{{{|{||{|{zz{y{{z{{{{|{|||{|{{{{{z{{|{{{||{{{zzz|z{|{|{{||{{{{zzz{|{{||{{{{zzzzzz{||{z{{{{{{zy{{z{{{||{|{{z{z{y{z{{{|{{|}{{z{zzz{{{{{{{{{{z|{z{{{z{{{{{{|{{{zzzzz{{{|{{|zz{{{z{{z{|{{{{|{zz{zz{zz{|{{{{{zzzz{zzzz{{{{{{zzzz{zzyzy|{{z{{{y{z{zzyzz{|{z{{{zz{{{zz{{{{|{{{{||z{{{z{z{{{zzz|{{{zzzzz{z{{z{{{{zzzz{zzy{{{{{z{|{zzz{zyzz{{{|{{|zy{{zz{{{{{{{|{|{z|{z{zy{|{{{{||zz{{{{{z{{{|||{||zz{{{z|{||{{||{{zzz{{zz{|{z{||{{{{{zzzz{||}{||{{|{|{{{z|{|{{{{|{{z{{z{{{||{{|{||{{||z{||}|||}|||z{{{z|z{{|{|||||z{zz{z{z}{|{|{{|z{{{z{{{|{||||}|{{{{{zz{{|||||{||{{|{z|}{{{|||||{{{z{zz||{||||{|zzz{zzz{|{|{{{{|{{{{{{{{zz{{|z{z{{z{{{z{||||{||{{{{{{zz|{{||||{{{{{z{{{{{{{}{|{{{{{yzz{{{{{{{z{{z{{zz{yz{|{|{{|{{z{{{{z{{{z{|{|{{z{zzzz{{{{{{zz{{z{zz{zzzzzz|{|zyzz{yzzz{{{{{|{{zyzzzzz{{|{z{{{{zzzzzzz{{z{z||{{{zz{{{zz{{z||{{{z{|{zzy{{|z{|{{zz{|{{z{z{{{{||{{zzz{{yzz|{{z{||z{zzz{z{z|{{{}{|zz{z{zzz|{{z{{|}{{{y{z{{||{|{{{{{{z{zz{{{|{z||{{||z||{{y{||{{|{{|{{{|z{|{||{|{||{{{{z{{{|{{{|||}{|{{{{zy{{}||}|||{|{{{z|||}}{|||{{{{{|{{{|{|||}}}z{|{|{|{||||{||{{{{{z{{{|{{|||{}{{{{{{{{{{|{|||{{{{{|{||||{|{|||{{{{{z{||{|{|{{|||{{z|z{{{|||}|z{{{zzz{{{|z{|z{{{z{{z{zz|{z|{||{{z{{{zz{{}{{||{{{{zz{{{|zz|{{|{|yz{zzzz{{||z{|||{{zz{{z{|{z{|{||{zz{{{{{|{|{|{z|{z{{zz{{|{{z{{|{z{zz{zy{yz{{{{|{zz{zzz{z{{{{z|z{{{zzzyzz{{{{{||{{|{yzzz{{{|z||{{z{zzzz{{{{|z{|{{{{{{z{zz{{z{{{{zyzz{z{{{{{{|{|{z|zz{{{z{{|z{{{|{z{z{z{z{{{{{{{|zz{z{z{}{{{z{||{{{z|{y{z{{{|||{{z{{|{zz|{{||{{{{z{{{{{z{|{{}z}{|{|z{{{z{{{||{|||{{{{{{|{||{}{|||z{{}|z{z|||||||{{{|{|{{{{}}|{{{|z{|{{z{{|}||||{|||{|{{{|{}{|{||||{|{{z|{{||{||{{|{|{|{{{{|||{{|||{|||{{{|{{{{||||{{{{{{{}|{{||||{z{{{{{z|||||||{{z|{{yz{||||{||z{zz|zzzz{{{{{{{|{zzzzz{{{|zz{|{|{zzz{{z{{{{{|{{{{z{yzz{z{{||z{{{{{zz{{{z|y{{{{|{zzzz{zzzz{z{z|{{{z{{zzzz{{{{|{{{z{z{zz{z{{{{{{{zyyzzzzz{{|{|{{z{zyzyy{zzz|{z{{{{z{{z{zzzz{{{{z{{{zzzzxzzz{{zz{z{z{zzzzzzz{z{{z||zy{{y{z{zz{{{||{zzzz{z{zz{{z{{z{{zz{zyzz{|{{z{{|zzzzzzz{|{{{{{z|{z{z{{{yz{{||}||{z{{z{z{{||{{{|{{z{{{zzz{{|z{{|{{{{z{{zz{{||{{{{{{zz{{{z|{{||}{|{{{|{{z{z|{{|{{{{z{z|{zz||{{{|||z{{{z{{{{||{||||{{z{z|{{{|{||||{|{{{z{{z|{{|||{|{z{|{z{|{|{|{{|{|{{{{{{{|{{{{|{||{zzz{{z{|||{|||{{{|z{z{|{||{{{}{zz{{zz{|{{{||{|{{zzyz{z|z{{z{{zz{{z{zzz{z{{z{|{{{{{{{zz{|{z{{|{{zzz{zzzzz{{{{||{{{zzzz{{z|{{{{zz{z{{zzz{{{{{{{{zzy{zzy{{{{z{z{z{zzzyzyzz{{z{{{{{z{zz{zz{zz{{|{{zzz{yzyy{z|{{{{z{zzzzyzzy{{zz|{{{zzzzzzzy{{z{{{{zzzzzzzzz{z{{{{{zz|{z{{{{{{z{{{z{zzz{zzz|{{{{{{|zzzyzz{{{{{{|{{|{{{{yz{zz{{{{{{{{{z{zyyz{|{{|{{|{zz{y|{z{||{{{|||z{z{zz{z||{zz{}{zzz|z{{{||||{{{{|{zz{z{{||{{|}{z{{{{z{{z{|{||||{{zz{{{{{}{|{{}{{{{{zzz{{{{|{|}{{{{{{{{{{}{||{|||z|{{zz{|{{{{z|||{zz{{{{{||{{|||||z{{z{{{{|{{|{|z|zzz{{{{|{|z||{{{zzz{{z{{z{|{{{z{|{{{zz|{{{|||{z{z{zzzzz|{zz|{{{{{{{yzz{z{{{{{{{zz{zzz{{z{zz{|{{zzyzz{zz{{{{z{{zz{yzz{zz{z{{{{|z{zzyzzzz{{yz{|{|{z{{z{{{{|{{{|z{zyzzyy{zz{zz|z|z{zy{zzz{{z|z{|z{zz{z{yzz{|{{{{{{z{{z{zyz|zzy{{z{{zz{yzy{{zyz{z{zyzzyzyzz{zzz{z|{{zzzzyz|{{zz{{|z{zz{z{z{{{z{|{|{zz{zyz{|{{{z{{{{{zyyyzy{{{z{{{z{zzzzz{z{|z{{||z|zyz{zzz{{{{|{{{|zzz{z{{{{|z{|z|{z{z|z{y{{||{|{|zz{z|z{{{|{|{|{|zz{{{z{z|{{||{|{|z{{{{{{{{|{||||{{zz{{{{{||{|||||{{{z|{||}{||{||{z{{|{{z|{{||{|||z{z{zz{{|{{{{{|{{zzz{{{{{{{|{||z|{z{zz{{|{|{||{{{{zzz{y{{{{||}{zzzz{z|z{{{{||{|z|{zzzzzz{{z{z{|{{z{{z{z{{{|{{||{{zzzz|z|zz{{{{{{zzzzzz{z|{{z{{{{{{zzz{z{z|{z{{|{{zzz{z{zz{{{{{{zz|z{zzz{{{{{z{z{yzzzzy{{z{{{z{{yz{{{zzzz{zz{{{{zyz{yy{z{zz{{{{|{{zzzz{{zzzz{|{{z{zzzzzzz{{zz{{zyzz{{{zzy{{z{|{{{z{z{zzz{{{z{{z{{zzz{y{{{z{{{{{{z{{{zzz{{z|{{{{{zzzz{zzy{{{{{{{zzzz{{zzyz{|{{{{{{{z{{zzzz{{{z{|{z{zz|{zz{{|{{{{{|{{{{{|||{|{{{{|{{|{{z{{||{|||||{{|{{z{{{||{||||{{z{{{{||||{||{|{{|z{{{{{|{{|||||{{z{|{z{|{{|{||}{|{{{z{|{||{z|{{{{{{{{z}|{|||||{z{{|{z{{{{{|{||{z{z{{{{{|z{{{||{{z{{{zy{|||{{|{|{z{z{zy{|{z{|{{zzz{zy{zz{{z{{|{{z{{{zz{{{{{z|{|{{z{{{z{{{{{{{|{{{{{zzz{|{||y{{|z{z{z{{{{|||z|{{{z{{z{zy{{|{{{|z{zz{zzzzz|{z{z{z{{zz{{yz|{z{z{{{zzzzzzzzzz{zz|{{{z{zzzyz{{{z{z|{{z{zzzzz{{z|z{{|{z{z{zzzy{{z{{{{{yzzzzzy{{z{z{|{yzz{{zzz{{{{z{{z{zzz{zz{{zzz{|{{zz{z{zzz{z{zz{{|zz{zz{{{|{{z{{|{||{{{{{{z||{|||z{zzzzzzz|z|{z{}z{z{{{{{z{|{{{{|{{{{z{{z{|{{}|{{|z{{{{{zy|{{|{||||{z{{z{{{{{|{|{|{z|z{{{{{|}{{{||{{|z{|{{|{{{|}|{|{{{{z{zz~||||{||{|{{{{z|{{{||{{|{{|{{z{{{{|||{{{{{z{{z{z|{}||{|{{{{{zz{z{{|{}||{{{zz{z{{|{{z{{{{{{zz{{{|{|{{{{{|zz{zz{z{{{{|z{{{{zz{{zz|||{|{{|{{{yz{yz{z{{{{{{{zyzz{zz{{{{{{{zz{{z{zzy{{{{z{z{zzy{yz{{{{zz{{zz{zzzyzzz{{z{|{z{z{z{zzzzzz{z{{{{y{z{zzyyzzzzz{{{{{{{zyyzz{zz{{y{{{{zzzyzz|z{{z|{zzyz{zzz{z{zzz{{{zz{zz{zzzz{{{|{zzzzz{zz{{|{{{{{{zyz{zz{z{{{{{{{{{{zyyz{{z|{{z||z{zzzyzz{{{{{{||y{{zzz{zz{|{{|{|{zzzz|zz{{{z{{{{{{z{{{{y|{z{{|{{{{zz{{{z{{{{{{{|{{{{{z{{{{{|{{||{{z{zz{{|||{}||z{zz{{zzz|{{|{|{|{{|{|{{{|{{||||||{{{y{z{{||{|z|||zz{z{{{|{{{z{{{|{{{{{{{z{z||{{|{z{{{z{{zz||{|{|z{z{yzzz||z{{{{{|{zz{{{z{|{{{{|||{{{z{{z{z}{{{{{{yzy{z{z{{{|z{||{zyzzz{{zz{{{{z|{zz{{zzz{z{{{{{{zy{{{zz{{{{|{z||zzzzz{zz{|z{{{{{zy{{zz{zz{z{{||{zz{zzzz{{z{{{{{{{zzzzz{{zzz|zz{{z{zzzzzz{{z{zz|{{zzzzzz{{z|{{z{z{z{yzzzy{yy{{z{{{zyzzzz{z{{z{{{{z{zyzzzzz{{{{{{{zzz{zyzy{z{{{{{{{{zy{z{{z{{{y{|{{{{{zy{z{{{zy{z{{z{zzzzz{|{{|{{|{zz{zy{{{|{{{||{{z{zzz{z{{|{z{|{|{zzz{{|{|zzz{||{{{z{zzz|{{|{{{|z{yz{z{z|{{{{{||{{{{{{z{{|||{||||z{zzz{{{||{{|{{|{{{{}{{||{z||{|{{{|{|{|{|||z|||{{z{{{{{{||||{}{{{{{{{{{|||{{}|{zz{|{{zz{{{{||||{zzzzzz{{{{{{||{{{z{{zz{z{|{|{|{|{{zzz{z|{|{{|z{{z{z|yzz{{z{||{{{{{z{{zz{zz{{{||z{zy{{{y|z{{{{{z{zzy{zzz{{{{z|{{{{{zzzzz{z{z{|{{{zz{zz{z{{|zz{{{{z{{zzz{{{{{{{{{{z{zy{zzz{{|{{|{zzz{zyz{{{{z{||z{zzzzy{{zz{{z{z{zzzzzz{yz{{{|{{|{zz{{yzyz{z{{{zz{zzzy{zzz{{zz{|{{z{y{{yyyzy{{z{{{z{zzz{z{z{{{{{{zzzyzz{z{{{||{{|z{{y{zzzz{|z{{|{{{{z{{{{{||z{{|{{zzzzzy{|{||{{|{{{y|z{{{|{zzz|{{{{{|{{{z{{{|||||{{{{{{{|{|{|{{||{{{{z{{{|{|{{||{{zzz|z{{{|{{{||}{z{{{z{{{{|{||||{z{{z{z{||||z|||{{|{{{{z{{|{|}{|{{{{{{zy|{|{{||{{{{{z{{{{|{||{{||{{{{z{{||{{{|}{|{zzz{{z{{|{|{|{{{{{|z{{||||{{z|zz|yzzzz{z{{||{{{zzzzy{z|{z{z{{{{{zzzzzzz|zz{{{|{z{z{zz{{{zz{z{{zzzzyz{z{{|{{{|}zzzz{{zzz{zz{{{z{z{{z{z{zzz{|{{{{zzzz{zz{z{{z{{{{yzzzyz{{|{{{{{{{z{z{zzzz{{z{{{{zzzzzzzz{z{{z{{{zzzyzz{yzz{z{z{yz{zzyzz{zzzzz{{{{y{zzzzyy{z{zz|z{zzzzzz{z{{z{{{{{z{{{yzz{{{{{|{{y{z{{zzzz{{{{z|{zz{z{z{zz|{{{|{{{zzzz{yz|{{{|{|{zz{{y{{z{||z{{z{{z|zy|z{yz{||{{|{{{{{{{{||{||{}|{{|zz{{{{|||{{|{{{z{|{{{{{|{||||{z{{{{{{||{{{|||{{z|z|{z{||{||||{{{{zz{{||{|{|||{{{{{|{{|{z{|||{|{zz|{z{{|{|||{||{{zz{z{{{{{{||{||{{{zz{{|{{{{{{{z{z{z{{{||{{{{|zzzz{zzy{{{zz{{|z{{y{yzz{{{zz{{|z{z{zz{{|z{||z{{{y{zzz{yz{{{z{||{{{yzzzz{{z{z{zzzzzy{z{z{|{z{{{z{{{{zzzzzzzzz{{{{z{zyzyzzz{{z{{zz{zzzzyz{{{zz{{z{{zyzz{y{zz{zz{zzz{{yzzz{{|{{zz|zy{zzzzy{zzzzz{{zz{zyzzy{{z{{}z{{zyz{zzy{{|{{{|{z{zz{yzyz{z{|||{{zz{zz{zzzzz{{{{{{z{{zy{{{{{{z|{{{{zzz{zz|{z{|z{{y{{zzz{{||{{||{zz{{zz{z{|{{{|{|z{{{|{{{|{|{||z|{|z|{{{z{|{|z||{{{{{|{{z||{||||{|{{{|{|z||||{{{|{|{zz||{|{{||||{|{{{{{z{z|}{z||||z{{{{}{{{|{||{|{{z{zz{{}||{||{|{{z{{{zz{|{{|{||{{|z{{zzz|{{{{||z{{zzz{{{{||{|{{{{{z{{z{|{}{{{|{z{zy{z{z{{{{{}{|{{z{z{{z||||{|z{{z{yzz{z|{{{{{{{zzz{zzzz{{|{zzz{{{yz{zzzz{{{{|{||zzyyzzzz{{z{|{|zz{{z{z{{{{|z{|{{zz{zz|zz{z{{z{{zzzzy{zyz{{z{{|zzzz{zzz{y{{{{{|{zzyzz{zzy{{{{zz{zzy{zzyz{zzy{zz{{{{zzy{zzz{zz|{{{zzzzzyzzz{{{{|zzzz{zzzz|{|{{|{|{{zzzy{z{{{{{|{{|zzyzzyz{z{{{|||{{z{{yzzz{{{||{|{z{zzzzzzz{{{{}{{z{zzz{{{{{|{{{{{zzz{{{z|{|{|||{{{yz{z{{{|{||||{{z{{|z{z|{||{{|{|{|{{{zz{}|{{||{{{{{{|{z{{||{}|||{{{z{{{{|{{|{|||{{{{||{||||{|{||{z{{{zzz{|{|{|||{||{{zz{|{{{|{{|{z{{{{z||{{{|{|zzz{z{zz{|{{|{{{{z{{{{{z|{|||z|{{{zyzz{zz{|{{|{{zz{{z{z{{z{z{{|{{{zzzzz{{{{{{{{{{zzzyzy{{{{{z{{|z{zzzz{{y||{z|z|z{{zzz{z{{{zz{{zzz{{{z{{zz{zzz{{zz{zz{{{zzz|{|z{zzyyzz{yz{{zz{{{{zzyy{z{zz{{{|{z{{|yzzz{{{{{z{z{zyy{yzyy{{zz{z{{{zzzzzzyz{z{{{{|zyzz{z{z{zzzz||{{z{zz{z{z{{{z{{|{{|zzzz{{{{zz|{|zzzz{{yzz{z{{{{{{{{z{zz{z|{{||||{zz{z|{{{||{{||{{{{{z{z{zz{{{|||{|{{{{{{{{||{}{|{{{{|{{{|||{|{{{|{{{{{{{{{}{||||{z{z{z|z|||{||{}||zz{{{z{||{{{}{|{z{{{{{{}{{||{|{z}{z{{{||{|{{{|}z|{{z{{{{{{{{||{zz{{{{z{{{|||{|{{{zz{{z{|||||{|{}z{zz|{{|{|{{{{{z|zz{{{{|||{{z{{zz{{yzz{{{z{|{{{{zzyzzz{||{{||{zzzzzz{z{z{z{{|{zz{z{z{z{{z{{z{{|z{zzyzz|zz{{{{{{zz{z{zzz{{zz{z{{z{zzzzyz{{|{z|{{zzzy{zzz{{z{|{{{zzzz{zy{{zz{{{{{yyyy{yzzzzzz{{{{z{yyyzy{{{{z|{zzy{zyz{yyz{y{z{{{zzyzzy{{z{z||||{zzyzzzz{{{{z{{{{zzz{zzz{{{{z{{|zzyyyz{z{{{{{{||zzz{zzzz{{{{{|{}{z{{{{{{{|{{{{||z{{{z{{zz||z{{z{z{y|{zz{{||{{|||z{z{zzy{{{||{}|{|{z{{{|{||{{z|{|{{z{{|{|{}|z{{|z{{{{{{{z|||{|||z{{|zzz{z|||{|||}{{{{{|{{{}||{||}|{{{z{{{||{{|||||{z{{|{|{{{{|||{{{{{{z|z{||||||{|{{{zz{{{{|{{||{{|{{zz{{{||{|{||zz|z{zz{{|||{{z{zz{zy{yzz{|{{{{z{{{zyyzz{{{z|{|{{{{zz{yzz{{{{{|z{zzzzzzz{{{{z{||{zzy{z{zzz{zz{z|{y{z{zzz{{zz{{z{zz{zyzyz{z{{z{{z|yyzz{y{{{z{{|{zzz{zzzzzzzz{{{{z{y{{yzz{zz{z{{{{zzzzz{yzz{{{z{{z|zzyzyyyzz{{{z{{zzzzzzzyz{zyz{{zzzy{{zz{z{{|{z{|{zzzzzzz{{{{{|{{zz{zzz{z{zz{{|z{{z{{z{z{{{|{{||{{z{y{y{zz{{{{||{{{{{{z{z{{||z{{{z{{{z{zz||{{z{{|zz{zz{z{{}||{{|z{zzzzz{|{{{{{||||{{|{zz{|{{{{z{{{{{z{{{z||{{|{{|{{z{z{{z||{{{|}{|z{{z|{z{||{{}|{{{{{{{{{}{}|{}||{{{||{{z{|{{||{||zzz{y{z{z{{{}}{{zyzz{{z{{{{{{|{{{zzz{{z|{{|{{{{zz{z{{{{||{}{{{{{{zzzzzz{|zz{{{}{zyzyyzz{{{z{zz{{zzzyzzz{{zz{{{|{z{z{{zzz{|z{{{{z{zzz{{{{|{{{{z|{z{zzzzz{|zy{z{{{zzzzz{z{{{z{{z{{z{zzz{zzzz{z{z{yyyzzzzyzzz{{{{z{zz{zzzz{{{zz{z{z{{zzzzz{{z{{zz{zzyzzzzzz{{{z{zzzzzzzzzzz|z{{{z{z{{zzz{zx{{{{||{zz{z{zzzz{{z{{{|{y{z{z{y{{{z{{{|z{zzzz{z{{|zz{{{|{{{yz{{|{{{z||{{{z{{z{zz{{{{|||z{{z{z{z|||{{||{{{{{{{z{|{{|{|{{{{{z{zz{{||{{||{{{{{{zz{{||{{||{{z{{z{{{}{{{{|{|{{z{{{|{{{{{|{|{|{|{{{{z}|{{z||||{{{{{{{||||{|{{{{zzz{|{{{|{{|}}{{z{{{z{z{zzz{{{zzz{{{{z|z|z|{||{|zzz{{zz}{|{{{{||{{z{{z|{|||{{|{{zyzzzz{{|z|{z|{zzzzzzzz{z{{{{{{zzyz{zz{zzz{|z{zyzzzzz{z{{{z|z{z{{zzy{z{|{{{{z{zyzzzzzzz|y|{|{|z{zzzzz{zz|z{{{{zzzxzz{zz{{{z{z{zzzyzzzzzz{|{z{zzz{zzyyzzzzz{{{{zzzyy{zzzzz{zy{{zzzzzzzzy{{zy|zzzzyzzzzzz{yzz{{{{zzzzzzzz{zzz{zzzzzz{z{yzz{z{z{z{z|zzy{zz{{{z{|{zz{yyzz{zz{{y{||z{zzzzzy{{{{zzzz{z{zzzzzz{||{{||{zz{{yyz||{{{}{{{{{{zzz{zz{|z|{{{{{zz{{z{{{{{{{{{{{z{zz{{{|{z|{{{{|{z|z{|||{{{|{|z|zz{{{||{|{|{|{zz{{{{{{{{{{{||}z{{zz{z{||{{{|{{y{{{{z{{|{||{|{{|z{z{zz{|z{z{{{z{zzzyzzz{{{{{{|{|{z{{zzz{{|z|{{{{{z{y{z{{|{||||{z{y{{zyz||{z{|{zz{z{z{y{{z{{{|z{zzz{{zzy{{z{z{{{yzz{zzz{{{{{{{{zz{yy{{zz{{z{{{{z{{z{zzzz{{z{{|{{zzz{{yyz{{{{z|z{yzyyz{zzzz{{zz{zzzzzz{{{{{|zz{{{yzzy{zzzz{z{z{{y{{{yzzyzz{z{{{{z{{xzyzzyz{z{z{z{zzz{zzzz{z{zz{{{zzzyzyyzzzz{{|{zz{z{zzz{zz{{|{{{zzzz{zy{{{zz{|{{zz{yyz{{z{{{{{{{{y{{zz{{{{{{}{{{zzz{zxzz{{{{{|{{{yz{zzz||{z{{{{{{z{|{z{|{|||||{{zzz{z|{|{{{{{||{{{zzz{z{|||{{|{|{z{{{|{|{|{{|}|z{{{z{|{{{|||}|||{{{{{{{||{|{{|{|z{{{{{{{|||z|{{{{{{{{{{|{z|{|{||{z{{{z|{|{|||{{{{zzzz{{zzz{{{||||z{yz{z{{{{||{|{{{zz{|{|~{|}{{{zzzz{zyzz{{|z{{{{zz{{zzz{{{{z|||z{zz{zzzz{{{{{{{{{z{{zz{{{|{zz|{{{{zz{z{{{{{{z{{{{z{{zzz{z{{{|{zz{{z{zzz|{{zzz{{z{z{z{zz{{{z|{{{zz{zzzzzz{{{{{{z{{zzz{zzz{z{{{z{zzzzzz{z{{{{{{{zzzzz{z{z{{{zy{z|{zzz{zyzz|{z|{{{zzzzz{{y{{{z||{{{{{z{zz{z||{z{{||{z{zz{{{{{{{|{{{z{zyz{{|{|z|{|{{{zyzz{{{|{{{{{|{{{zz{zz{||{{{|{z{z|{{z{{||{{|||{zzz{{{{{{||{|{|z{{{z{{{|{{||||{{{{|zz{z{}|||{|||{{{{|{{||||{||{{{{{z{|{z|{{|||||{{{z{{z{}||||}|||{z{{{z||}|{}||}z{{|{{{{{|{}{|{{{z{{z{{{|{|||{|{zzzz{z{{{{|{{||{|{{{z{yz{{||||{z{{{|z{z||}}~{{{z{{zzzyz{{{{|{|{{zz{zzz{{{{z{{{{zzz{zz{z{{{{{y||zz{z{zzz{{{z{z|{{y{zzz{y{{{{z{{|{z{z{z{yz|z|{|{y{{zz{zzz|z|{{{{zz{z{zzzz{zz{z{{{zzzzz{zzz{zzz{z{{{{zyyy{{{z{|{{{zzzzz{zzz{{{z{{zz{zz{zzzz{{{{{{{zz{zzyzyzzzz{{{{yy{yzzyz{z{z{{{{{zzzzyzzz{zzzz{{{z{zzz{{z|{|z|||{zzzz{z{{{{z{{{|{{zz{yzzzz{{||{|{{{{{{{zz{||{{|||{zz{z{z{{{zz{z{{{z{z{{{{{||||||{{z{{{|z|{{|z|}|z{{|{{{{z{{{{}|{|z|{z{{{|||{{|||{{{z{{|{{|{{{{||}{{|{{{{{{|{{{||{{|{zz{{||{{{{|{{{z{{zzzz{{{|{|{|z|{{{y{{z||{{{{z{{{{{{{{{{{{{|||{z{|zzzz|{{{|}|{|zzzz{{{||}}|{{{{zz{zz{z{{{{zzzzz{zzzz{{{{{{{z{zz{zzzzyzz{z{{|z{z{zz{{y{{{{{z{{{{{{zzzz{{{|{|{{zz{{z{|y{z{z{|{|{{zzyzzz{{z|{{{{z{{yzzzy{z{zz|{{zzzzz{zzzz{z{{{{{zyzz{z{z{{z|{|{{zzyyzz{z{{{||{zzzzzz{zz{zzzz{zz{yzzzzzzz{zzz{{{zz{zzz{z{z|z{{|{zz{z{zyz{{{z{{{{zz{yzy{z{z{|{|y|zzzzzzzzz|{|z|{|{z{zz{y{{{{|{}{{{z{{z{z{{||z{{|{{{z{z|{{{{{{{{z{|z{z{{{z{{{}{{{{zz{{{{z{{{{{|{{|{{{{{{z{{|||{|{|{z|z{z{{||{{{|||{{{{{{{{{{{{|{|}{{{{z{{{{||{{{{||zz{{{{||{z{{{{{||{z{{z{||{}}|{{{{|{{z{{|}{{||{|{{{z{{{{{{||{|||{{z{{{{z{|{{{||{{||{zz{{|||}~|z{zzzzz{{yz{|{z{{{z{{z|zyz|{{{z||{{{zzz{zy{{zz{{{|{{{z{zzz{{{{{{z{z{{zyzzz{{{{{z|{{{{zz{zzz{{zz{z{{z{z{z{z{|{{z{{{zz{{{zyz{z|{zz{{zyzzzz{yzz{{{{{z{zz{zzyzzz{z{{{|z{{zz{zz{{{{z{{{zzzy{zzy{zzz|{z{{zzzzzzz{zzz{|{zzyzzz{zzz{zzzz|{{z{zzzyz{{zz{zz|{z{yzzzz{{{zz{{|y{{yzzz{{{{{y{|{zz{|zz{{z{zz{{z{{z{z{{z{z{|{z{}|{z{{zzzz{{{z|||{{{z{{y{z{{{|{|||y{z{{|{{{|{{{z|{{{{{z{zz}{{||{{{|{{z|{|z{{|{{|{|{{{{z{{{{|||{|||}z{{{{z{{}{{|}|{{zz{|{{z|||{|{||{z{{{{{{|zz{||||{{{||zzz|z|{||{{{{{zzz{{{{{|{|{{{{{|{zzz|{{{{{{|{{{{z{{{|}|{}{{{{{{{zzz{{|{{{z{{{{zz{zzz{z|z{{||{{zzzzz{{z{{|{|{{zzzy{zz{{{{z{|||z{zzy{z{{{zz{{|{{{zzz{z{{{z|{{{zyzy{zyy{{{yz{{|{yzzzz{zy{|z{{{{zzzzzz{zyz{{{z{{z{{{z{zz{z|z{|{{zzzzzzzy{zz{z|{{zy{y{zzyzz{{{z{zzyzzzz{{z{{{z|{zzzz{z{z{||{{{{{{zz{zzzzzz|{{z{{{{yzzzzyz{{{{{|||zz{{{{|z{{{{|{|{{z{z{zzy{{{|{{z{{y{z{{{{z{{{{{{{|{zzzzzy{{{{{|}{{{z{{zz{||{|{{||{{zz{{{{{{{|{|||z{{{{{z{|||||{||{{{|{z{{|{|zz|||{{{{z{|{{||{|{}|{{{{{{{{{}{||{||||{{{zz|}{|{||||{zz{{{{{{|||||{|{{z|{|z|{{{{|||{{{z{{{z{{|{|{|{|zz{{z|{{|{z|||{||{{z{|{{|||}}{{{{{{{zz{{{||{{z{{zz{zzzzz{{{{z{{{|zzzzzzz{{{{{|{{zzzzzzz|{z|{z{{|{z{zzzzz{|{{zz{|z{zyzz{z{z{{z{|{{{{{zyyzz{|zz{{{zz{z{zzzz{z{z{{{zz{zyzzzz{z{{{{{zzzzzzzzzz{{{{{|z{zyyyz{{{zz{z{|{yzzzzzyz{{{z{{{zzzzzz{yy{z{{{{{{zzzzyy{z{{|{{{|{{{z{zzz{{{|{{{{z{{zz{zz{z{zz{|{zzzzz{{{{{{{{{|{zz|{zzz{{|{{|{{|{{z{z|zz{{{z{{|{{z{{zz{{{{{{{|||{{{zz{z|{{|||||{z|{z{z{||{||{|||{{{{{{z{{{||||{{{{{z||z{z{{{{{}|{{{z{{{|{|{{||||z{|{{{|{||{{|}}{{{z{|z{{|{{{|||{{z{|{{{{{{|{|{|||{{||{{{z{{{||||z{zz{{z{{{{{||{|{{zz{{yz{|||{{{{z{{z{{z{{|||}|{z{{zzzzzzz{|{{{|{{zzzzzyzz{zz{|||{{{zzzzz{{{{{{|{{yzzzz{zy|{{yzz{{zzyzz{z{{{{z{{|zzzzzz{yzzz{{{{{{{zzzzzz{{{{zz{{|{zyzzyy{{{{{{{zzyzzyzyyzz{{{{{zzzzzyzzz{{z{{{{{{zzz{yzz{{z{zz|{z{{zzy{zzzzzzy{zz{zzzzzz{{{zz{z{zzzzzyzz{{{{z{z{{yzz{zzyzz|{{||{{yzzzz{z{z{{{|{{{z{{{z{{{{{{{|{{{{zzzzzz{z{|{{|{{{{z{zzz||{|{z{{{z{|zzz{z{|{{{{{{{{{{z{{{{||z|{|{{z|z{{{|{z{{|||{{z{{zz{{{}||{{{|z{z{{z{|{{{|{{||{z{zz{z{||{|||{{{z{z{{{{|||{|{|{{|z{{{{{{{|{|||{z{{|{zz|{z{||||{{z{{{zz{||{|||||{{zz{zz{|{{{{||{zz{{{{z{{{{{{|{{|{{z{{z||{||z{|z|z{z{{z{{{|{{{|zzzzzyzyz{{z{{|{zzz{{zzzzzzz{z{{z{{z{yz{{zz{zz{zzzzzzyz{zz|{z{{|zyzyzyz{{|{yz{|{zy{zzzz{{{{{z{{{{zzyz{zy{zyzzz{zzzz{zzzx{zz{zz{zz{zzyyzz{z{{|{{{zz{zzzzzz{{{{{{|zzzzzy{zz{zzzz{z{z{zzy{zzzy{z{{{{{zzzzzzzzz{z{{|{zzz{yz{zz{zz{{{{zzzy{{{{{{{{{{{zzzzyzz{zz|{{{{{{zzz{{{zzz|{{|{{zzzy{{zz{{|zz{|{{|zzzzz{{{zz|{{||z{z|{zz{||{{||{{z{{z{z{||{|{{|{{z{zzzzz{{|{{{|{zzzz{{{z{||||||||{{yz{z{{|{|||{||{{z|{z{{|}{{{{}{{{{zz|{{||{||{|{zzz{{{{{{{{||||{{{|{{{z{{{{{{{{{{{|{z{z{{{|{||{z{{{{{{{z{||z{|{|{{z{{{{|||||{zzzzzzzzyyz{zzzz{{yzyyyzzz{{{|{{{{zzzzzzzy|{z{z{{{z{{z{zzyy{{{{z{|{{zyzzzyz{{zzz||zx{zzzzz{zz{{|yz{z{zzyyz{z{|z{z|{yzz{zzz{{zz{zz{z{zyzyzzzz{{{{z{zzzzzyzzzz{{{{{{zzzzyzzzzzzzzzz{zzzyyx{zyzyyzz{{{zzyzyzyzz{{z{z{zzzyzyzzz{z{{z{|zzyzz{yzz{{zz{{z{yzzzz{z{z{zz{{zzz{zzz{zzz{{{z{|{y{z{{zzz{{{{{|{{z{z{zyzz{|{{{{{{{zz{{{z{{{{z{{{z{z{{{zy{{{|{|{|{zz|{{|z|{{{{{{}{z{{{zzz{{{{|{{|{z{z{{zz{{{{{{||{{{z{|{{{|{{|{|{{{z{{z{{{|||{|||{{|{{{{y}{{{{{{{{{{{{{{{{z{{{{{{{{{zz{z|{|{{|{{|zzzzzzzz{{{{{{{{|{{z{{{zy{{{zz|{{z{zzz{z{{||{z{{{zzz{{{z|{{{{{||{zzzzzzy{{{{{{|{y{{z{zyy{{|z{{{{{yz{zzzzy{{{{{{{{{zzzzzzzz{{z{{{z{zz{zzy{{||z{{{{z{zzzyyz{|z{{zzzzzyz{zyzzz{zz{{zzyyzz{zz{{{zy{zzzzzzzz{{zz{{{{{z{zzzzzzz{{{z{{{{zzyyy{y{z{y{{y{zzzzzzyz{{z{{{{{zzzzzzzz{{{{z{{{{{{zyz{z{{{{zz{|{{z{yzzz{{{z{|{}z{zzzz{{{{{|{{{{{z{{zyzz{{|{{{|{{z{zzzzy||{{{{{{{{zzz{z{{{z{z|{{{{z{{zzz|{{{{{|{{{{{z{zzz|z{{|||{{{z{{{{|{{|{{{||zyz{zz|||{{{{||{z{{{{{{{{{{|||{|{{{{|{{{}{|{{{|{z{z{{{{{||{{|{{{z{zz{z{||||{{|{{{{|{zz{|{{z{{{z{z{zz{z{{{|{{||{{{z{y{z{{z{|z|{{{{{z{{zz{|{{{|{{yzzzzzzz{{{{z{z{{zzz{z{{|{|z{{{{{{{z{zzz{{zz{z|{{z{{zzzzz{}|z{{{{{zzz{zz|z{{{{{{z{{zzzzz{{{{{{||{zzz{zyz{{{zz{{{zzz{zzzzz{z{{{z{y{{zyzz{{{{{{z{zz{zzz{y{z{zzz{{{zzzyzzyzz{z{{{|{{zy{zzzyz{zzz{z{yzzyzzyzz{z{{zy{zzzz{|zyz{{{{{{{{{zz|zzz{{{{{z{|{zzy{y{z|z{{||{{{{{{zz{z{|{{{|{|zzz{{z{z{{z|{|{{zz{{{z{{{z{{|{{{zy{{{zz{{||{z|{z{{{{{zz{{{{||}|{zz{{|{{{{{z}{||{{{{|{zz{{}|{{{|{{{z{z{|{|||||{||{{zz{|{{{|}|||}}{{{{{{{{|}|}|||}{|||z|{{{{{{{{{|{z{z{|{{{|{|{||{|{{{||{{|{{|||{|{|{z{zzzz|{|{{}{{{y|z{zz|||}||{|{zz{|z{z|||||{{zz{z{zzz{{{{{{{|{zz{{z{{{zzz{|{|{{{zyzzzz|{{z{{{{z{{zz{yzz|z{z|||{{{{z{{z{{|{{|{{zz{yz{{zz{{zz|zzzzzzzzz{z{|zz{{{{z{zz{zz{z{{z{{|z{zy{zyzzz{zz{{{{zz{zzz{z{z{{z|{{zzzyzz{z{z|zz{zz{{zzz{y{z{zy{z{z{zzzyzzz{zz|{z|{zyz{{zyzz{{|{{{{{|z{yzyz{||z{{{{{zzyzzz{z{{|{{|{{|zzzzy{{{{|||{zz{{{{{|z|{{z{|{z{{z{z{z{z|{z{|{{{{z{{zz||{{{{{|{{{{zz{{{z{{|||{{{{{zz{{{{{{|{||z{z|z{{{||||{|{{{{z{{z{{{|{|{|||z{{{{{{|{|{{|{|||z{{{z{{{|||||||||{{{{{{z{||{{||{z|{{z{|{{{||{}|{|{|{{z{|{{||||}{{{zzz{{z||{||}|{z{z{zz{{|}{||||z{zzz{{{{|{||{|{{|{{{zzz{|{{{||{{z{{{{{{|{{{{|{|{{|{{{{z{||{{|{{{{z{|{z{z|||{|{||{{zz{{z|{}|||||{{zz{z{z{{|{{{|||z{{{{zz|{{|z{||{{|{z|y{{{{|z{{{{z{z{zzz{{{|{{{|{{z{zzz{{||{{{||zz{z{z{z{{|{{z{|{z{z{zzz{z|{{{{|{{{z{{z{zz{{{|{{{y{{{z{z{|{|{{{|{{{{{z{{|{{{|{|{{{}{{z{z|{{|||||{{zz{|{{|}}{|{|}|z{|{z{z{|{{||}{|{{{{zz{{||{|{|||zz{{{{|{||{{|||}{||{{z{||{|||{|{|{{|{{|||||||}|{|||{{{{|{|||{|}}{{{||{{||{|||}|{{|{{{|||||||}|}}{|{{{{{|}|{}||||z|||{{{|{||||z}{z|{|{{||||||||||{{|||{|||}|}|||||{{{{{z{||||}|||{{{z{{{|{|{|}|||z{{{{{{{|||||||{{z{{{{zz{{|{|||{{{{z{z{{||{{{{||{{{zzz{{|{{|{{|{{{{{z{{{{|||{||{{z{{z{zz{|{z{|{{z{yzz{zz{{{{|{||z{z{z{z{z{z{{{|{{zz{{{z{{{{||{{{zz{zzz{z{{{{{{{{{z{zzz{{{{|{{||z{{{z{zzz{{|{}{{z{{{{zz{z|{z|{|{{zzzzz{{zz{{{|{{|z{{zzzz|||{{{}|{zzz{{{z||{||{{|{{{{zz|zz{{z||||{yz{{{{{{{{{{||{{{{{{z{z{||{|{{|{z{{{{{{|||{||{{{{{{{{{z{{|{{{|{|{|||z{z||}}||||{|z|{{{{||{|{|{|{{{{{{{{}||||||{||{{{{|{|}{{|}||{||{z||||{||||}}|{|{{{|{{}|}|||||{|}{z||||{{}|||{{{{{{{|z|{{||}}|{{zz|{{|||||||}{|{z{z{{z|||||||||zz{z{{{||{{{|{{{z{{{z{|||{||||{|{{{{{z{||{|||||{{z{{z|{z||{|||{{{|{|{{|{|{{|}}}{{{z{{{{{{}z|{|{{{{z{{{|{|{|||||y{{zz|z{|z{{{{{|z{{{zzz{{||{{{{{|{{{z{{|{{{||{|zz{{zz{{z{z{|{}|{z{{z{{{|{{z{{{}z{{{{z{{||{{{||{{{{z{{{{{{|{{||{{zz{{{yz{|{{|{{{{z|{{{yz{z{|||{|{{{{zz{{{||{{||{|{{{{z{{{|||{|{|{{{|{z{{|||{|||{}{|{{{z{||{{|||}{z||{{|z{}||||}{{|z{{{|{||||{|}{{|z|{{{{||||||}|{{{{|{||||{||||||{|{{{{{|}{|||||{{|{|{|||}|}||||||{{|||{{|}||}|~|{||{|{||}{}|}~}|{||{|||||}{|}|{||{||{{|||}{{||~||{|||{|{}}}}||}{||{||{{{|{||||}||{{z|z{||{|}||{|{{{{z||{}||||{|{|zz{z{{{{{{|{{|z{{y{z{{{{{{||}|{{{{{{z{{zz{z|z|{{|{{{zz{{||z{||zzz{{{{z|{{|{||}{|{{{{z{|{{||{|{zz{z{z{|{{|{{{{|{z{zz|z{{{|z{{|{z{{{zzzz{|z{z{{{{{{zy{z{{{{z{{z{|||{zz{{z|{|z||{{z{{{zz{zz{|z|{{|z{{zz{yzz{{{|{zzz{{{{zz{{{{{{|{{{z{z{{{{{{{|{||{{|{|z{{{{{{{||{{z{{zzz{{{|{|||{{z{{{z{{{|}{}{{{||{|{{{{{{|{|{|{{{z|zzz{|||{|{|{{{{{z{{{||||||||||{||{|{|{{|}}|||{{{{{{{{||{||||{|{{|{z{||{{|||}|||{{|{||||}|||||{{|{||||}|}||||}|{|{{{{}{{|{|{|||{{{|{{{|{|}{}|||zz{{|{}|||||}{{{{{z{{{{{|{{{|{{|{{{{{||||}|{|||{|zz{{{{||||{{{zz{{{{zz{|{{{{{|{z{z{zz{|{|{{|||{{{z{{{{{|z{{{|||z{{{{{{{{|{{{|{{{zzzz{z{{|}{|{|{{{y{{zy{{{{|}{z{z{z{{{{z{{{{||{z|zzzzz{{{{||zz{z{{zzz{{|{{{{{|{{yzz{{zz{|||{{|{zz{{z{zz{zz|z{|{{zy{zzzzz|{{{{{|{{z{{z{{{{{z{{{|z{{zz{z{z{|{{|||{{{{{{z{{{z{{{{||{z{zz{z{{{|z{{zzzz{{{{{z{||{||||{|zzz{{{{{||||{{z{zz{{z|{|{{{{}{zz{||{z|{z|{}{||{{{{{zz|||||||||{|z{{||{||||}|{|{{{{z{z|{{|||}{|{{|{{|{|}{{|{}||{{|{|{{{|||}|{|{{{{{}{{{}}|||}||{|{{|{||{||||||{{|{|{{{|||||||||{|{|{{{|z||}{|}|{z{{||{z||||{||{{{{{{{{|||||{}|{z{z{{{z|||z{{|z{{z{{z{{{{}{{{|||zzzz{{{|z{|{|{{zzy{z{{z{{{|{|||{{{z{z{{z{{{{{{|z|zzz|zy{{|{{{{|{{zz{{z{{{z{z{}{|{|{{z{z{{z{z{{{{z{z{y{z{{{{z{z|zzzz{yz{{|{{{{{z{zzzz{xz{{{{{|{{|{{zzzzz{{{{{|{{{z{{zzzz{{{z{|||{{{{{|zzz|{z{|{|{z|{zzzz|{{|{{{{{zzz|{{y||{{|{|||{z{{{{{|{{{{{{|{z{|{{z{{|||{{|{{{{z{z{|z|{|{{|{{|{{z{{{|{|||||{|{{|{{{{{|{||{|{{{|z|{|{{{|||{{}z|{z{{{|||{{}{|{{z|{{z{{|}|||}||{{{|{{{{|||{||~||{|{{||{{{|{|}|||z{|{{|{|}|{{||||{|{{{||||||||||}{{{{z{{{|{|||||{||z{{{{|||}{|||{{z{|{{{{|||{|||{{{{{z{|{||{||||z{{z{{{{{{||{{z{{{{{{zz{{z{{{{{|{zz{{z{zz|{{{{||{{zz{{zz{|{{|{|{{{z{z{z{{{{{z{|{|{{{{{zz{{|z|{{|zzzz{z{y{{{{||{{{{{zz{{z{{{{z{{{{z{zz{{z{z|{{z{{z{zzzzz{z|{{|{{{{z{zz{yz{{{{|{{{z{{y{{zzz|{{{{{{zzz{{zz{z|z{z|{{zzzz{zz|z{z{{|{{{z{{z{{{{{{{{|{{{{{z{{{{{||{{|{||z{z|z{{|||{{|||{{|{z{{{{{{{{||{{{|{{{{{||{||z||{{z{{{z{|||{|||{{|{{{|{z{{|||||||{{{{{{{{{{||}}|{||z{z{}{||{||||{|||{z{{{}}|||||{{z{||{{||{{|||||{|{{{|{{||}||{||{{{{{|{|}||}||||||zzz{{{}{{{|||||{{{{{|{{||~||||{{|{||||{|||||||{|zz{{{|{||{|||{{{z{{{{{||{|{{{|{{{{{{{{||{}{|{|{z{{||{{{|{|{|{|z{{{yz{{|{{{|{{zz{zzz{z{||{|{|||{|{|zz{{|{|{{{}zz{|{z{z{|{||{{{{z{z{{zzz{{{z{{|{{{|z{{{{||{{{|{z{z{{|{||{z|z{|{{zzz{z{{{{{z{{|{zz{zz{{{zz{{{{||{{{zzzz{{{{{z{|{{z{z{{zz{{{{z|{{|{{z{zzz{|{{{||{zzzz{z{z{{|{{{|{{|{zz{{y{{||{{||{{|{{z{{|{||||{{{{{{{{z{{{{{{|{{|||{z{{|{|{||||{|z{{{z{{|{||z{|||z|{{{{{{{|{{{||{{{{{{|{{{|||}}||{}{z|{{{||||}|{{|y|{|{{|}{}}||||z{{{{{{{|||||}|{{{{{||||}{|}|}}||||{|{{{|}|{||||||||{{|||{||||||{{||{{||||||}}|{{{|{|{|||||}}~}{{{{{|z{{{|{||}{{{z{{{{z|||{|{|{|{||{{{||{|||z|{{{{{{|zzz||{{z||z{y{{zz{{|{{|{}||z{|z{|z{{|{|||||{{zzz{{|{|{{{|{{z|zz{{{{{|{{|{|{{z{|{{z{{z{||{|{yy{{{zz{z{{{||{z{z{{y{{z{z{z|{{{{zy{z{{z{{{{{{|{zzz{zz{{{{z{|{{{z{{z{z{z{z||{{}{{{{zzzzz{{{{{{{{{z{z{yzz{{z{{{{{z{{{z{{{z}{{{|{zz{z{z|z{|||{z||z{|{{{{z|{{{||{||{{{{{{{|{||{|{|{{{|{{{z{|{|{|{{{{z{{|z{|}|||||{|{{z{{{||||{||}||z{|{{{|{|}||}}}{{z{{{|{|z|||}||z{{|{{zz}|||{||{|z{{{{{||||{||}|||{||||{{|{{}|||}{||z|zz|||||||||{||{{{||}||{}}||{z|{{{{|||{}{||}||{{{{{}{||||||{{|{|{{|||}{{|||}{{{{{{{|}{|{|||z{{{{{{z}||}{||{{zzz{{{z{||{{{{|{|{{{{{z{{{|{|{|{{{{{{{{|||z|||{z{|z|{zz{{{|{{||{{{{{{{z{||{||||{z{{{{{z{z{{z{{||{{z{z{{{{{{{{{{{{{zz{{|{{{{{z{|{zzz{{{|{{zz{{{{{{z{{{y{{{{||{{|zz{{zz|{z{{{||{{{z{zzz{z{|{{{|||{{z{zy{{{{{z{}{|z{{{{{zzz{{{{||{|{{z{z{{{|{{|||||{{{{{}z{z|{{{||{{{{|{z{{|{{}||}{|{{{{{{|{||||||{||{|{{{{|{{||||z{{z|{{|{|||||{|{{{{|{z|{|{||||}{||z{{{{||||||||{|{||{{{{||}||||{{|{|z{{{|||{{|||{||{||{|||||}{||{{{{||{|||}}||||||{{{|{||{}||}||{||{|z{|{{|||}}{{|{}{||{{{}|{}}{|{{{{|{{||{|||{{{{{{{|{{|||||}||z{z{{{|{}||||||{{{{zzz{{||{|||}{||{|{{z{||{|||||{|{{{zz||{{|{{|{{{{{zzz{||}{{||{||zz|{z{{||{|{{|{z{{{{z{|{|z|{{{{{{{zz{{{}{|||{{{{zz|{z{|{}{{|{{z{zzz{z{|{{|{{{z{z{{z{{{|||{|{{{z{{z{zz{||{{}||{{{|{y{{{|{{z{|{z|{{z{{{{{{{{{{|{{{|{{{z|}|{{{|}{{{{{|{{{|{{{|||{{{{{{|z{|{||||||z{z{z|{|||{|||||{{{{{{{{||||||{{{{||{z{||||||||{z}|{|{||}|{||||{{{{{z{{{}||}{||||{{|{|{{|||{|||{{{|{||{||||}{|}}{||{|{{|{||{|}}|{{{{||||{{||}|||||{{|||{|}}|||||||||{{|{}}}|||}|||{|{{{|||}|}}|||z{||{||||}|}}||{{|{{||{{}|}||}|{{{|z{z|{{}|{{{|{{{{z{{|||{}|{{{zz{{z{{|||||{|{|{{z{z{{{{z{{}|||{yzzz{{||{z{||{{{{z{{zz{||{{{z|{{{y{z{{{z{{{{{|{{zz{{zz{{{{{{}{{z{zz{zz{{|z{{{{{{{zzzzz{{{{z{{z{zz{{y{zz{z|{{{{{z{z{zzy|{{{{{{{z{z{z{zz{{{{{{{{zy{{zz{yy{z{{{{|{{zzzyzzz{{|{{|{{z{z{{zz{{{z{{{{{{zz{{zy{{|{z{{||{{z{z|{{{{{{|{|{{{|{{z{{||z||{{{{|{{z|z{z{|{||{{z{{|{zzz|||{||{{z{zz|{{{|{{{||{{{{{||{{{|{||||{z||z{{|{|{{}{}||||{|zz{z|{{|||||{{|{|{{{|}||{}~||}{{{{|{{|||||||{|{{{|{|||{|||}}{{{{{{{z||||{||||{|{{{||{{|||||}|{{|{{{{{{{|}|||{z{|{{y{{||{{|}|{{{||{|{{{{}|{{{{{{{|{|z}||{||{z{zz{zz{{{{{z{{{|{{{{zz{{|{|{{||{{|z{{{{z{|{{{{}|{zz{zz{{z|{{|{|{{{{{zy{z{{{|{{{{{zzz{zzz{|{|{|z{z{{{{zzzzz|{{{{{{z{zz{zyzz{{z{{{{zz{zyzzz||{z{||{{z{zzzz{{{{{{{{{z{{z{zzz{{|{{||{{{{z{{zy{{{{|{{{{z{zzz{z|z{z|{|{{{zz{zy{{{{{{||{{{z{{{zz|{{|{{{{z{{zz{|{|||{}||{{z{zzz{||{{|{||z{{zzzz{{{{|{||{|z|{{{{{|||{{{{{|{|{{{{z{||{{{{{{z{{{||{|{|}||||{|{{z{|{{{}|}}||{|{{{{{z|||{|||||{{{{{{{|||{||}|||{||{{|{{|||||}|{{{z{|{{}|||}||||{|||{{{|{}|||||{|{z{{{{||||{||{|{{||{z||{|{{||{{{z{{z{||{|{{|{}{{{zz{{{|{||{{{{{|{{y{z{|{{||{z{{{zzzzz{{{{{||{|{{{zzzz{{|{{|{|{{zzz{{{{z|{{{{|{zyz{zz{{{z|{{|{z{|{z{{z{{{{{|{{{{{{zz{z{{{{z{|{{{z{{{{{{{|z{{{|{z{zz{{z|{{{{{{zz{{z{{zz{{z{|{{|{z{{z{z{{{{{{z}z{{z{z{zzy{}|z{||{{{zz{{zz|{zz|{{{z{{z{zz{|{{z{{{{{zzz|zz{{{{{{{{{z{zzz|{|||||{z|z{{z{z{z{{{||||{{{{|{{{{{|{{|{||{z{{{{z{{|{{{}{|{{z{{zz{{{|}|{}{{z{zz{z{|||z||||{{{{z{{{|{|||||{{|{z{{{z|||||||{z|{|z|{||||||{}|{|{{{{|{|||||||{{|{||||{|}|}}||}|{{{|{|||||}||{{{{||{{{||||||{||z{{{{|{{|||{|||||{{{{|{||{|||{|{|{z|{{z{{{|}|||{z{{{{{{|||{{||{{|{{{zz{{{{|}{{|{z{zzzz{z|{{|{||{|{{z{z{|z{{{|{{{{{yz|{{{{{||}}||{{{zzz{{z{{||||{zzz{{{{|{||{|z|{{|{{{{{z|||z||{{{{{{zzz{z{|z{{|zy{{{zzz{zz{{{{{{z{y{z{{{{|{{|{{{zzzzzzy{|{{{|z|{|{{y{zz{{{{|{||{z{zzzz{{{{{{{{{{{{zzzz{z|z{{{{{{{|{z{{{{{{}|||{{{z{{{{zz|{z{{|||{zz{{{||z{|{|{|z{zzz{{{{{|{{{}|{{{{z{{{{|||{{||{z{{z{{{{{{||{|{{z{{{{{||{z{|}{}{{{{{{z{|||{}|{{{{|zz{|{|}{{|||}{{{{|{{{{{||z{|{|{{|{z{{{||}|{|{|{{|{||{{}||}{}}|{|{z{{{{~||}|}|||{|{zz{}|||{}||{z{{{{|{||||||}|{{{{|{|{||||{|||{|{z{||{{{{{||}|{|z|zz{{||{|}{||{{|{z{|{|||||{|{zzzzzzzz{|{{{z||{z{{z{{{{|{{||||||zz{z{{{{{{|{{|{{{{{zzz{{||{{{{|{{zz{zz{z{{z|{{zzzz{z{y{z{{{|{|{z{z{z{{{z|{{{z|zz|zz{zz{{zz{{{|z{zy{z{z{{{{|z{|{zzzzzyz{{{{{{{{zz{z{{z{z{{{{{{{zz{{{zyz{z{z{{{{z{zzz{zz{}{{{|{{z|{{zyzz|zz{|{||{z{{zzy{{{|||{z|{|{{{{z{|{{|{{{}{z{{{z{{{z|{{|{{{{z{{{{z{||{|}{{{{{z{{{z{||{{|||{{{|{zz{|||{z{}{{z||{{|z||||{|{|{{{{{||{|{{|{|||z{{||{z{||{{{|{{|z{|{{{|||}|||||||{{{|||{}||||}||{{{{{|{{|{{|{|}{{{{z||{{|}|{|}||{{|{{{|{{{|{||}|{|{|{{{{|||}|||{{{{|{{|||{{||}}{z{|z{zz{{||{{{|{{{z{{|{|||||{{{z{zz{z{zz|{z{|{|{zzz{zzy{{{z||{}{{zzzzzz{{zz||||{{zz{zzzz{{|{|{|{{z{zzzy{{{z{{||zz{zzz{{{||z{{{{{z{z{{zzzz|z{{zzz{zzz{z{{|{{{{|{zzzz{zz{z{|{|{{{z{zzyzz{z{|{{{{|{zzyz{zz{|{z{{{{{zzzzz{yz{{z{{z{z{zz{z{z{{{{||z|zz{z{{zz{{|{{{||{z{zzz{{z{{{{{||{z{|{zz{{{{|{|{|z{z{{z{{{|{{||{{{{{|{{{{{{|{{{{{{z{zz{z{{||{{{|||{{{{{{{|||{{{|{||zz|{{z|||||{||{{{{{{{{{{|{{{||{{{{{{zz||||{{{{|{{||{|||{||{||~{{{||||}|||}||||||{|{|{|{||||{|}|{{z{|{{||{|||||{{{{|z{{|{{{||||}|{{{{{{||||}|{|{{{||{{|{|||||||{||{{z|{z||{|{||{{{{{z{z|||{{||{zzz{z{z||{|{|{{|zz{{zz{{|{{{|{||{{{{{{zz{{{{|{|{{{zz|{{{{||{{{||{|{zzz{zz{{{{|{||z|{z{{z{||{{|{z{z|z|z{z{{|{{{{{{|{{z{y{|{z|{{{|z{{z{zz{{{{{{||{z{z{z{z|{{{{{|||{z{zzz{{{z{{{||{y{{{zzz{{{|z{{|{{zzzz{{z{{z{z||||y{z{{{zz{|{{{}{{{z|{{|{|||{{|{|{z|z{z{{||{{{|{|{{{{|{{{|{|{{|{|{|{{|{{zz|{|||{{{{{{{{|{{|}|}{|{|{{{zz{||{|{|}|||{|{{{{{||{||}|}{|z{{|{|||||||}|{z||z|z{{||}}{|}|z{{|{||||{||||}|{{{{{{{{||}}}||{||{|{{{{}|||}|}{{{|||{{}{}{|||}|{|{||{||}}|||}}|||||||||||||||||z{{{|z{||{||}|}{{||z{{{{||{|||}{z|z{{{{{|{|||{{|{{z{{{z{|{{{|||{{zz{{{z|||{|{|{{{{{zz|||{{{{{|z{{|zzzz{{||{z|||{z{z{z{{{|}|{{z|{z{zzzzz|z|z||z||{{{z|z{{{{{z{{{{{{{{z{{{{{|{{{{{zz{zzz{{{{{z{{{{z{{{zzz{z{{{{|z{z{{zzzzzz{z{{|{zzz{zz{z{{zzz{||zz{zz{zzz{{{{{}|{{{{{{{z{|{|{{{{{{{{zz{z{|{||{||{z}{{z{||||}{|{|{z{{{{{{||||{}{|{{{z{{{{{{||{|{|{{{{z{{{}{||{{|{}{{{|{{{|||z|||z{|{{|{{|||{||{||{|{{|{{|||{{||{|{{{{|{{{}|}{|{|{|{{{{z{||{{||{}||z{{||{{|||{}|||{{{{{{|{{||}|}|}|{{{{{{{}{|||||z{{{|{|{|||||||}|||{{{{{|{|{|||||{{z{z{{{{|z||{|{|}{|{{{||||||||{zz|{{z|{{|{|{{zz{{{zz{{{{{|{|{|{{{{{{z{{|{||{||}{z{z{{zz||{{{|{|{{{z{{yz{{{|{{{|{{{zzzzz{|{{{{||{z{z|zz{{{{|{{z{{{{zz{z{{z{{{z{|{{zzz|{{|zz{{{|||z{z{zz{{{{{|{|{zzz{zzyzz{{|{{{{zz{{yzz{{{{{{{{{{{zz{y|y{{{{z{{{{{{zz{zyzzz{{{{|yz|{z{{y{{{|{|||{{{{{z{zz{{{||{zz{{z{z{{|{{||{||zz{{{{{z{|||||||||z||{z{{|||{|{{|z{z{{{{{|{|||}|{{|{{{{|{{|{|||{{{|{|{|{||||||||{{{|{||{|{||}|}||{||||{{|||}{{|||{{z|{|||||{||||{z{|{|||}|||}||||{{{|{|{|||}|||||||{{{{{||||{||}|{{{{{{{||}{}||||{{||{||||||}|}|{{{{|{{z||{|||}|{||{{{{{||{}||||{{z||{{||}{|{|{||z{zzzzz{{||{{|{{{z{{z{z||{|||||{{|z{{{{||{{{||{{z|{{zz{{|||{{||{|zz{zzz{{{{{{{||z{zz{z{|||{{||{{z|{z{{z{{{{{|{{zz{z{{zz{{z{z{|zzz{{z|zz{{{{{{|{zzzz{{z{z{|{{|{|{{{{z{zz{{|{{{{{{{{{zz{y{|z{{{{||{{{{zzzz{z{{|{|{{{zz{|z{|{{{|{|{{{z{{{y{|{||z|||{{{{z|z{{{||{{{{{{|z{{{{{{{||{||{||{z{z{|{{{|{{{{|{z{{{||{}{|||{{|{|{{{|||{{~|{{{{{|{{{{|||||{{{{{{|{{||||||||}|{{||{z{|||}{||{}||{{|{{{|||||}|{||{{|{||}}|}}|||||{|||{|}||||{||{|{{{{{||||{||||{{{{{||||||||}||||{|||||||}z||}|{z{{{{{|{{|{||||{|{{{|z{|{}|}||{{{zz{|{|||||{{{|zz{{zyz{{{{{|||{z{z{zz{{{{{{|{||{zz{z{zz{{||z|{{z{{{yz{z{{{|{|{{{zzy{{z|{|{{{||{z{zzz{{||{{{{|{{{{zz{zz{{z{{|{|{{{y{z{{|{{{{}{{{zzzzz{z{{{{z{|z{{{{zzz|{|{{{|{|{{{{zz{{{{||{z|{{z{{{y{z{{{z{{|{{zz{{z{z{{{{{|{|{{|z{zzz{}||{||{{zzz{z{{z{||{{{|{{zz{zzz|{||{|{|z{{{{z{{|{{z{||{{z{{{{{{{{{{{||{{z{{z{{{{||||||{|{{|{{{|{||{{}|{{{{{|{zz{}{|||||{|{{{{|{{{|||}}||{|{|{{{|{}||||||{{{|{|{||||{|}|{|||{{||||||{{|||{{{z||{{}|||}|}|{{||{|{{{|}||}||{{|{{||}{||{||}||{|}{{{||||{||{|{{z{{{||{{|{}|||||z|{{z{{{||{||{z{{{z{{|{{|{z{z{{{{{{{{{{{{||||||{z{z{z{{||{||{{{z{{{{{{{|{{||{|{{{{zz{{|||{{|{{{}zz{{z{|{{{|||{{{{{{{z||{{{|{|{zzzz{{z{||z{|{|zz{z{zzz|{z||{{{{{z|{zz{z{{{{||{zzzzzzz{z{|{{{|{{{zzz{zz{|{{{{||z{zz{z{{{{{z{{{|{{{{{{z{{{{z{{{{{{{{{{z{{|{{{{|{{{{z{{{z||{{{{|{{{z{z{{{{|{{{|||{{{zz{z{|{|||||{|{{|z{|z{||}{|||{{z|{{{{{}|||{}||||{z{z|||{|{|}{z{zz{{{{||||||||{|{{|{z{{|||{|}|||{{{{{z}||{||{}|{{{|{{{|||z{|}{{|{{z{|{|{|{||{||z|{{|{{||||}}}{|{{|z{{{}||}|}|||z||{|{{{||||}}|||{|{{|{{|||{||}{{{{{|{{||||{|||}{|{{z{{|{||||}{|{|{{z{|{{||{||{|zz{|zzz{||{|{|{{{{z{{z{{|{{||{{{{{zzz{{z{{|{{|{|z{{{{zzz{{{{{}|{{{zzz{y{{||{{||{|{zz{{z{{{{z{|{|{|{{z{z{{{{{|{{zz{zz{|{{|{|z|{|{{{zzz{z{{|{{z{{{y{{{z{z{|{|{|{|{z{{yzz{{{|{{{|{{z{|{zzzz{{{|{|zzz{z{{{z{{{|{{{{z{z{{{{{|{{{{{|{|y{z{zz{{{|{{{||{{{{z{|{{{|{|{|{{z|{z{{z{{{z|{|||{{|{z{{{|||{|{||{|z{{||{||z|{}||z{{{{{{|}|{|{||z|{z{{{||{|}||{}{|{z{|{{|{{||}||{{zz{{|{|||||||{|z{{|{{{|}|z|}||{}|{{|}{|||}}}}}||{|||{{||||||}}}{|{{|{z||||||}|{{{{||{{{|||{{||}|||||{|{||||{|{||zz{{{{|{|}{||||{z{|{{{{|||{{|{z{|z|{z{||}|||{|{{{{zzzzz{{{|z|{zzz{{zzz{{{|||{||{{z{yzz{{{{{{{{{zzzz{zz{|{{{{||{{|z{{{z|{|{z{z|z{zzz{{z{|z{{||z{|zz{{zz{{{z{|{{z{{{zz{z{{{z{z{|{zzzzyz{zz{zz{{{|yz{y{zz{z{z|{{{{z{z{z{zz|||{|||{zzzzzz{{|{{{{z{{zz|{zzzz|{{{{{{{{{z{{z{{|{{{||{{{{zz{{z{||{{{z{{|{z|z|z{|||||||{{z{{{z{{{{{{{|{|{{{zz{{{|{|||||{{{{|{|{||{{{{{{z{{z{|zz{||{{}}{|{{{|||||||||||{{z|{{}|||||||||{|{{{z|{y{{{||||{|{z{}{{{|}|||||||{|{z||{||}||}|}{|{|{{{{{||{|}||{{{{|{|{||}}|||||{|{{{|{||||}{||||{{||z|||{|{|||{{z{{{|{{|{|{{|{|{{{{{{|{{{||{|{|z|zz{{{z|{{{z{{{{zz{|{{{z{{|{{{{{{{{z{z{{{{{|{{{z{z{{z{{|{|}{|{|{z{{{{z{{|{{{{{zz{zzzzz{||||{{{{z{zzzzz{{|y{{|{zz{zzy{z{z{zz{{|z{{{z{zzz{{z{{{{z{yzz{{z{z{{z{{{{zz{{z{z{z{zz{z{{z|zzzzz{{z{{{{|zzz{zy{z{z{{z|||{{zy{{zy{{|{{{|{zz{zz{zzz{{||{{||zz{{zzz{{{{{|{{{{{zyz{{{{{{{{|{zz{{z{{{|{{{{|{|{z||{z{z{}|{{|z{{{{z{{zz{||{{{|{{{z{{{z{{{|z{||{||{}{|{{{|{||}|{|{{{{{{{||{|{||{{z{{{{z{{}||{||||{{{{{|{|}|||}}|{z{{{|{|z|||{|||{{{{|{||{}|}{|}||{{|||z||{{|{|}{{{|z{|{{{{|{|||||{||{{{{||{}||||{{|{{{{z{{{{{}||{|{z{{{|||z{{|{{z{{zz{z{{|{||{z{zz{z{{{zz{|{{{|{z{yzz{zz{z{{{|{||{zzz{|z{{{|{||{|{{{zzzzz{||z|{{{{{z{{{zz{{{{|{{z{zzz{{z{|z{z{}|{z{{zzzz{{{{z|z{{z|zzz{{{z{{z{{{z{zzzz{zz{{z{|||{{z{{zz{z{{{|{{|zz{z{{zz{{{{|{{{z{z{{{zz{|{{{{y{{|{zzy{zz|{|{{{|{z{z{zzzzz{{{{||{z{z|yz{||{{||||{zzz{z}z|{{{|{||zz{{{{{z|{|z{{||{{zzz{|{|||{{{}{{{{{{{zz||{{|||{{|{{|{{z||{|{|||{{{|{{{||{|||{||{|{{{|{{{|{||||||{{|z{{{||||{}{||{{{{{{{|}|{|}||||{{{{|{|{|||}|}}|{{z{{{{|}||||}||}|{|{||{|{{||||{|{zz|z}|{|||}|{|{||{{||}{|||}||{{{{z{{{{||{|{|{|{{z{{{{}|}z|||{{|{{{z{||||{|||{{{zzz{{{|{{{{{z||zz{zzz{{{z{{{{{{zyz{{z{{z|{||{{y{{{{||z||z{{{{{|{{z{{z{{|z{{{{{z{{z{{{||||{|{|{{{zzzzzz{{{{|{{|{{zz{{{{{{{z{|{{z{z{y{z{z{{z{|{{{z{zzz{z{{|z{{|z|z{z{zz{{{|{{z||zz{z{z{{zz{z{{{{{{zz{yzz|{||{{{{z{{{z{z{{{|{{|{{y|zzz{{z{|{{{}}{{{{{z{|{{z{|{||{{|{{{{{|{{{}||||{|{|{z{||{{|{||{|zz|{{{|||{{|}||z{{{{{{||{{|||||{{{{{{|||{||}}}|{{{{{}z|||{|}}|{{|||{zz|{||}|||{||}{|{||}{}||||||{|{|{||||}}|||{|{|{{||{||||}}|}{{||{{}}||||}||}|{{{z{{|||||{{||{|||{{|||{|{{|||{{{{{{z{||{||||||{|{{zz{}|{|||{|{|{{{{{{|{}|}z|{|zz{zzzz{{{{{|{{z{z{z{{|{{|{|}||z{y|{{{{{{{{{{{{z{{{zzz{{{|{{||{{{{{{{zzz||{{z|{{{z{yz{{||{{{|{{{zz{z{z{{{zz{{{{zz{{{z{zzz|{{{|zz{{{{zz{|z{{||{{{yzz{zz{{|z|{{|{z|zzyzz{z{|{||||z{{zz{zz{{zz{{zzz{z{{{z{zz{{z|{{z{{{z{zy{||{{{{{z{{{z{{{|{{{||||zyz{z{||{|{{{{|{{{zzz{{|{|{{|{|{{{{{z|{{|{{||{{{|z{{{|{{|{||{}|{z{{|z{{{||{z|{{{{z{|{{{||{||{}{{{|{z{|||{{|{{|||{z|{{{{||||||{{}{{{{|{{{|{|{{||z{{{{||{}}|{{}|}}|z||||||}|||||||z{|{{{{|{|}|}|||{{{||{|{|||{|}|{{z|{{{|{{{|||}{|z{{{{|{{||||}}||{{{{zz{||||{{||{|{{zz{{|}z||{{{{{yz{{{{{||{{|{{{zz{{y{{|{|{|||}{{z{{z|z{{{{{||{|{{z{z{{{{{|{|}{{{{zzzz{z{{{|{{|zz{y{z{zz{{{|{{{{{{{|{zz|z{zz{{{{{|z{{{{|{{|{{{|zyz{{{zz{{{{z{||{{z{z{z{{z{z{{|{{z{zy{zzz{{{|||{{{z{{zzzz{{{{{{{{zzz{{{zzz{{{|{|{z|{z{{z{|||{{|||z{z{z{{{{{|{|{|{{{{z{{{{{{{||||{{{zzz{z{||{{|}||{|{zz{{|{|||}|{zz{z{|z{{{|||{||{{{|{{|{|{||{||{{{{{{{{|||{|||}}{{{|{{{{{||||||||{|{{{{{|||}|||||z{||z{|}}|{|}|||{||{{{||||{{}}{|||}||{|||||}}|||{|{{{||||}||}|||||{{{{|{|{{||}||{{{{{{{|||||}}|{z{{{{z{|{|||}}|{{{{{||z||{|{|||{{z{|{|{|||{|{{{z{zzz{{z{{|{{{|{|z{{{zzz|z||{{{|{{{|zz{{|{{{{{||{{{{|{{{|z{|{{||{z{zz{{z{{{{{|{|z{|zzzz{z|{{||{{{{zz{{{{{{|{z{|{{yzyzz{z{|{{{{{{{zz{{z{zz{{{{{|zzzyyzzzz{{{{||{{z{{{y{zz{z{{{|||{{{zzzzz{{z|z{{{z{z{zz{{{{{z{{zz{{{{|zzz{|{|{{|{{{{z{z{{{{{z{{||{z{zz{zz|{{{{{{|{{{z{z{{{||{{|||{|{|{{z{{|{{|||{|{{{z{zz{||{|{||{{{{z{{{{|{|||{{{|{{{{{{{||}|||{{{||{{{z{|{|||}{{{{|{{{{z{||}||{}{}{{{z{|}||||}{{{{{{||{{||{}{|||{{{{{|{{|||}|{|{{{|{||{|||}|{|||z{|{z{{|{||{||||{{|z{{{|{{|{||{{{{{{zz{||}{{}|||{||zz{z{{||{|{}{z{{{z{{|{|||{{zzz{{{{zzz{|{|{||{zz{{z{z{{{{||{}{zz{zzz{|{{{{{|{|z|{zz{y{{}|z{{|{|{zz{z{{{{||z||{{{zz{{zz|{{z{{z{z{zzz{z{{|{{{{{z{z{z{{z{{{{{|zz{zyzzzzzzz{{z{|{zz{zzzzz{{{z{||{z{{{y{zz{{{|{|||{{{{zzzz{{|{{{{|zz{{zz{{zz|{{|{{z{{{{{{zz{{||{||{{z{{z{{{{{{z||}{{z{{{z{|{{{{{|{z|z{z{|z{||||||||{z{{{{{{{{{||{||z{{{{z|{{|{{{|}{{|{{{z{|||{{||{|||{z|{z|{||||||{{||z|{||}|}|{}|{{{{{|{{{||{|||{|{{|{z|{||{|||||{{|{z|{||||||||}|||z{|{{{||||}}|||{|||{{|}||{}|||{||{{{|{|{{||||||{{|{{{|||{{|{|{{{{{{{{{|{||}|}{||{{{{z|{||{|||{{{z{|z{|{{{{}{{zz{z{y|zz|yz{{{|{zz{zz{z{{|||}||zz{z{|zz{{{{{|{|{{{zz{{{z|{|z{||{z{zzzzy{||{{|{||z{z{{z{{{{z|||{|{{z{z{{{{||z{|{{{zzz{zz{zz{{z{||zzz{{zzz{{{z{{{{z|{{zy{{{{{{|{|zz{{zzzz{{z{|{{{{{{{zy{z{{{zzy|{{zz{z{{zz{{{z{{{{{{zz{zzzz{{|{{|{{z{{z{z{|{{z{{{{z{{zz{{|{|z|}{|{z{{{z{{{|{{||{||{{{z{|{||{{{||{{{{{zzzz{|{{{{|{{{{|{{{z{{{{|{|{{{{|||{{||||}|{|{{{z{z{{|{{|}|}|z{{{zz{z{||{|||||{{{zz{|||||}{||{||z||{||||{|{|||{{|z}{{||||{{|}|z{{{|z{}||||{}{|{{{{{{{|{|{|||||{z|{{z{||{|||}|{{z{{{{z{||{{||||||{z{{y{{{|||{|z||{{{{z{||{z{{z{z|{{{zzz{|{{z{{{{z{{zzz{{|{{|{|{z{{z|{z{{{{{{|||z{{z{z{{{{{z{|{{zzzzz{y|{z{z{z{{z{zzz{{z{|z|{{|{z{zz{zz{{{{{{{{{{zzyzy{{z{|{{|z{z{zz{{z|{|{{{|{{z{{{zz{{{|{{|||zyzz{z{y{{{z{{{|zz{z{yyz{{{{{{{{|yzzzzz{y{{zzz|{zzzz{{zzz{|{z{||{{{{{{{{{{{{z|{{{{|{{{{z{{{{{{{{{z|z{{{z{{|{{{{{{z{{{z{zz}||z||z|z{z{{z{|{|{|||||{z||zz{{|{||||{{{|z{|{{{{|{{|||z{|z|{{{{||z|{{|{{{{{{{z{{|||{||}{{{}|z{{|||}||||{{|{{{||{{{}||||{{{{z{|{}|{|||||{{{z{{{|||||{{|}zz|{|||||{||{|}|{{|{||{}{|||{|{|||{{{|y|{|{|||||z{z{{{|{{||{||{|{{|zz{{{{{||{||yz{z{y{z{{z{{{{{{{zz{zzzz{{{{|||z|{zz{{{|z{|{{||{zzzzz{z{{{zz{|||{{{zz{z{z{|||{{{{{zzzzz{{z{z{{{{z{z{{z{{{{z{z{z{{{{{zzz{{{z{{{{{zz{zzz{z{{{{{{{{zz{zzzzz{{{{{{|{{zzzzyz{z{|{{{{zzz{zzzzz{{{{{||{zyz{zzzy{{{{{{{zz{zzzzz{z|{{{{{{{zzzzzz{{}{{{|{{y|zz{|{{z{z{{{{{{{z{{|{|{{{{z{{zz{{{z{z{|||{||{z{z{{{z{{{||{{|z{zzz{{zz{||{{|{|{zz{z{{{|{|}|||||{{{|||{|{{|{{}|z{{{|{z{z{{|||||{{{{||{{}}{|{|||{{{{{|z|{|||{|{||{{{{{|z{||||{|{{{{{|{{|{|||{|{||z{|{{{|{|{{{||||{{z{{{||{}|{|}{{{{{{{|{{|}{z{}{|||z{{z{z||{|||{{|||{z|{z{||||z{{z|z{z{z{{|{{|{z{zzyyz{z{|{{{{|||{{{|z{{z{|z||{z{{{z|z{{{{{{||{|z{z{{z{{{{{{{{{{z{{zzz{zz{{{{z|z|zz{zy{zzzz{z|z{{{zzzz{z{zz{z{{{zz{zzzzz{{{{|{{{{{z{zzzzz{{{{|{{z{zzy{z|{{{{|{|zzzzz{zz{zzz{z||{zz{zzzzzz{{{{{{|zz{{z{zz{{|{{{{{z{{z{zz{z{{{{{||{|{{{z{{{{z{{}{|{{{zzz{{{z{{{{{||{{{{z{{z{|{|}{{{{{{|{z{|{||||||{z{{{zz{|z{|||{|zz{{|{{{{|||}|}{{{{z{z{{{|{|{{||||z{|zz{z{{{{|{{||{{{{|{|{{}}|{}{{{|{z{{{|||||{||{{{{|{{{|{|||{{{zz{zz{{y||{{||{||{|{||{{||{||||{|{{|{||||{|{{|}|{{z{{z{{{{{}|||{{z{z{{z{{{{||z{{{{zz{{{z{{|{{{{{zzzzzzzz{{{{{{{{{zz{{zz|{{z|{{{{{zzz|z{z{{||{|{|{{{zzz{z{{{{|{|{{{zyz{z{{}{{|{|z{{z{{{z{{{zy{|{{{{{{{z{{{{{z{{{zz{{z{z{zz{{yz{{{z{z{zzzz{{{{{|{z{zzz|zz{{|{{|{|z{zzzz{zy{{z{{{z{z{zzz{{zz{z{||{{zz{z{z{{|z{||{{zz{{z{zz{{|z|{|{{{z{zz{{|||{{|{{{{{{zzz|{||{z|{|{{|zz{{{|||{{||||z{{|z{{{{{|{||{{{{z{{zz{|{{z||{{{{{zz{{{{|{z|{|{z{z{{{|{||||}|||{|{z{{{|||{|||}||{{{{{z||}|{||||{{|z{|{|{|{|||||{{|{{{{||{||||||{{|||{|{}|||||||{{|||{{|}{||}}|{{z||{z{||||||}|}{||{{||||{}{}}||{zz{{{|{|{|||}|{{{{z|{z{{{{{|||{{{zz{{{|||{{{{{z{zyz{zz{|{{{|||{z{zzzzz|z{{z{z{{{zzz{{z{{{{|{|{zzzzzz{{|z{{|{|z{|z{{z{{{{{z{|{|z{yzz{{yz{{{{z||zz{{zzy{{{|{zz{{z{z{zzzzzzz{z{{|zzz{z{z{{{{{y{|zzz{zz{z{z{||{{}{z{zzz{zz{{z{z||{zz{zzzz{{z{{{{{{z{{z{zzz{{{{{{|{zz{{|z{z{{|{z{|{{z{{{z{zz{|{||{|{|{|{{{{{{|||{||{{|{{zz{z{||{{||{{{{{{{{{|{|{||{z{|{zzz{{{{|z|}{|zz|{z{{{{{{|{{{|zz{{{|{{||{||{{{{{||z{{{}|{{||{{{|{|z{{{|||{|}{|{z}{{{z||{|{|}|{z|{{|{||}|||||}|{||{|{{{}||{|||{{{{{{|z{|}|{{|||{{{{{{z||{||{|}|{{z{||||{|{{|||{{{z||z{{||{{||||{{{zz{{{||{|{|{{{{{zzyy{{{{|{|zzy{{{zz{z}|{{z{{{zzz{yz{{|{z{z{{{{{{{{z{{{|z{||{{z{{zzzzzz{{z{|{{{zz{{{y|{|{z{{||{{zzzzz{{|{{{{{|{z{{y{z{z{{{{{{zzzyz{zz{z{z{{{{{zzzzyyz|{{z|{{{zz{zz{zz{{{|{{|z{{{zz{zz{{z{{y{{{zz{zzzz{{{{{zz|z{z{{{{{{{{{{{|zzz{z{{z{{{{{{{{{z{{zzzzzz{|{||||z{{{{y|z|{{{{|||{z{|{{|{{|{}|{|{|z{{{{{{{{||||}{{{z{zz{z|||{|{|{{zz{{{{z|{|||{|{|{{{{|zz{{{||{||{{zzz{||}z{}{|}|{{z{{{{{{|||{|{||{|{z}{{|||{|||||{{{{{{z}z||||{}|{{|{zz{{}|{}||||{||{{{z|{}{}||||{{z{z{{|||||{||{{{{|{{|||{{|||{{{{{z{{z||{z||{|||{zz{zzz|{|{{{|{z{{y{{z{{{{{z||zz{zzzz{z{|{{z{{{zzzyy{{||z|||{{z{z{z{y{{{{{|{{{z{{yyz{zz{|zz||{z{{yzz|y|{{{|{z{zzz{zz{z{{{{{{{{{{{zz{{zz{{{{{z{z{zzzzyzz{|{{|{z{z{yzzzz{{{{z{{|zzzzzzzzz{z{z{{{{{{{z{{zz{{{{{{|zzzzyzzzz{{zz{{{zzzz{z|{{{{zz{{{{z{z{zzzz{{{{{{{{yzz{z{z{{{{{|}|{{z{zz{z{{{|{|{|z{{zzzz{{{|{|||{{{{z{{{{{{|{}{||{z{yzzz{{{|{|||{{{{|{{{{{{{{{{|{{{{z{z{{{{||z|{|{{{z{{{z{||{|||||{{{{{z{{|{|}|}{|{{{z{{{{}||||||{z|{{{|{{|z|{|}||{{|z|{{{|{}|}|||||{zz{|}|{||||{{{{||{{z{||||}|{|{{{{{{z|{||}|||{{{z{z{|{|{|{z{||zy{z{z{{{|{{{|{|zz{zz{{|z{|{{{|y{zz{z{{{{{{{{|{z{z{zy{z|{{|{|{|{{{z{{|z{z{{{|||z{{zyzzz{z|{|{{|{z{yzz{z|{{|{{{{{{zzzzz{{|{|{|{z{zz{{z{zz{{{z{{{{{zyzzzz|z{zz|{{{{{z{{zzz{{{{|{{{z{{{zzz{{{{{{{{{{z{zzz{z{z{|{{{{zzzzz{zz{zzz{{{{{zzzz{z{|z{{{{{{zzzz{{{{{{{{z{}{{|{{z{{|{{{||{|{z|z{{|z{zz||{}||{{{{{z{|||{{|}|{{|{{{{z{|{|{|{{{{{{{}{zz{||{||}{{|z{{||{{{{{|||{{{z{|{{|||{||}{{|z{|{{|z|{||||||{z{{{zz{||||{{{|z{{{{{||||{|}}||{{|{{z{|||{|}|}|{{|{z{{{}|{|||||{{{{|{{{|||||}{{{{{|{{|{|||{{}||||z{{}z||{||||||{|{{{{z||{|{{|{|{{|{{z{|{||{||{{z{{{z{{|{|z{|{{{{z{{z{z{{{{{{{z{{zyzzz|{z{|{|{||z{{z{z{|{{{{|{{{z{|{z{{{{|{z{|||zz{y{zz{{{||{||{z{zz{{z{|{{{{|z{{z{zz{y{|{{z|{{z{z{z{zzz{z|z{{z{z{{zzzzz{z{{z||{{{{zzy{zz{{{{{{{z|zzzzzz{{|{{|{{z{{zzz{z{{{{{{{{{zzzz{z{{{|{{{{{z{z{{zz{{{{|{|{{z{z{z{{z||{{{{|z{{{zz{||{{{z||{{z{zz{zy{|||{||{||y{{z{{{||{|||{z{{z|z{z|||{{||{{{{{z|{z|{|{{{{|{z{{{{zz|{||{||{{||{{{{{|{{|{|}|{zz{{{{{|{|{||{{{z||{{z||{||{|||{{||z|{{||{|{||||{|{{{{{{|||}{}||z{}||{{|{}}|{|||{{{z{{{||z|{|{||{{{{{{|}||||{|{{z|z{{z{{{||}{|||z{{y{{{|{||{{{|{{{zzzz{|{|{{{{{yzz{{{{z{{{z{{z{|{zzz{yz{{{{|{{{z{z{{zzz{z{z{{{{{yzz{{zz{{z{z{||{{zzyzzyz{{zz|{|{z{z{{zyz|{{{|{{z{{zzzzz{{{|{{z{z{zzzzzz{{{{z{{{{z{{{xzyyz|{|{{|z{{yzzzz{{{{{{z{z{|zyzzzz|{{{{{z{zzz{zzz|{zzz||{zz{zzz|{{zz{{|||{zzz{{zz{{{{z{{{{{zz{zzzz{{{{{{{|{|{z{|z{{{zz{{{{z{|{{{{{{||{{{{{{{{{z{z{{||||{{{{{z{{{z|{|{{{|{{zzzz{{zz||{{|{|{zzz{zz|z||{{{{|z||y{{{z{|||{|{|{|{{{z{{{|||||{||{{{||{|{|z|||||{z{{{{{{|||||{{||{{{{{|{|||||||||||{z{{z|||{|||{{{|{|{{zz|{{|{|||{{||{z{||{{{|||{{{z{z{{{|{|{{{{{{{{{zzz{{|{{{{|{{{{{{zz{{||{z{{zz{{{{{z{{{z|{z|{|z{{z{z{{{|z{{{{{z{{{{{{zz{{{{{{|{zzy{{{{{{{|{|{z{zz{z{{{{{{z{|{z{zz{{z{{{{|{{{{z{y{zz{{z{z{{{{z{{{{zzz{zz{{|{|{y{zzzzz{{{z{{|z{{z{yzzzz{{z{{{{{{z{{{yz{{z{||{{z{zyzy{z{{|{z{{|{y{zz{{y{{zz||{{{{{{|{{z{{{|{||{{{z{{z{{{|||{{|}{{{zz{{{{{{{||{|z|{{z{{{{{||}|||{{z{z{zz{{||{{|{||{z{z{z{||{{{|{z{z{{{{{|{||{{|{|{z{{{{z|||{||{{|{{|{{|{{{{}}}||z{{||zzz{}|{||{||{{z{|{{||||{{|~|{{{z{{{{|{||{{|{|{|{|{{{}{|||}||{|{{{{{{{}||{{|}{{{{{{{{{{|{|{|}{{{zzz{|}z|{|{~{zz{{{z{{{{{||||{|{{{{{{|{{{z{|{{{{{{zz{{z|{{{{z{zyzzzzyy{{{z{z}{zz{zzzz{{{{{{{{|{{z{zzzzz|{||{|zz{zyy{z{|{{{||z{zzyzzzz{{|{z{{{z{{zz{{y{z{{z||{{z{zz{{{{{{zz|{{zz{yzzz{{{{{{{|{zyzzzyzzz{z{{{{{{z{zz{zzz{z{{{{{{{zzz{zz{{z{||{|z{yzy{zzz{{zz{z|{{zz{zzzzz{{z{z{{z{zz{zz|{{{{||{{zz{{z{|z{|{z{|{{z{{{zz{||{{{|{|{z{{{z{{{{{||||z{z{{z{{{{|{||||{{{z{{{{z|{||{{{z{z{{z|zz||{{{{|{{{|{{{z{{|||{{|{z|{{y{{z||||||||{{|{zz{|{{|{{|{|{{{{{{{{||||{|}|{{{z{|{{{{{{||{|}{{{z||{{|||{|||{{{{{z|z|{||||{{|{{{{{{||{{{{{{|{{{{|{z{||||{{}{{{{{|{{z{|{{||{|{{{|y{{{{|||{{|{{zz{zz{{|{|{{{{z|zy{zzyzz{z{y{||zz{zz{zz|zz|{{{|zzzzzz{z{z{{{{{{{{yz{zz{{z{{{{{{{{{z|zzy{zz{{{{{zy{zzzzzz{{z{z{z|{zzzzzz|z{z{z{{{zzzy{{zzzzz{{{{zzzzzzzzzzzzz{|z{{zzz{yzzz{z{{{{{zzyy{{zz{z{{y{|zz{{zzyz{zz{z{{|{zz{zzzzzzzy{{{zzz|z{{zyz{z{{{{{{zzz{z{{z{|{z{|{{zzz{z{{{|{|z{||zzzzz{z{{z{{{||{z{{z{z{z{|{z|{{{{z{{{{zz{||{{|||z{zz|{{{||{{|{{{{{{{zz{{{|{{{||z{{{{z|{{{z{||||||{z{{{{z|{{{|||||{z{|{{{{||||{||{{{{|{}{z|||{||||{{{z{{{{{|{|{|{z{|{zz{z|{}{|||||zz{{zz{||{{{{||{{zz{{z{{{||{{{|{zzz{{z{{{{{{{||{z{{{z{{|{{|{{|{{y{zzy{{{{{{|{z{z{{yzz{z{{||{{{{|zzzzzzz{{{{{{|{{{{y{z{{{|z{||{{{zz{z{y{z{z{{{|{|{{zyzz{z{|{{{{{z{{z{{zz{z{{{{|{{zzzzzz{{z{z{|{{{{zzz{zz{z{{z{{{z{{zy{zz{z{{{{|z{zz{yzzz{{zz|{{|zyzzzz{zzz{{zz{|{{zzz{zzz{z{{{{z{{z{zy{zz{zz{{|{{z{{zzzy{|{|{{{||z{z|{zz{{{z|{|{z{z{zz{{||{{{{{{{z{zz{{z{{||{||||{{{{{{{{||{||{{{z{{{{{{{{||z|||{z{{|{{{{{{|{}{||{z{{{{{{z{|||{z{{{{{{{{{{||}||||{{{{zzz{}||{|{|{z{z|{{{||||{|||{{{{{{{|{{{||||}z{{|{{||{|||||||{{}|z{{|}||{{}|||z|{{{{{||{||}|||{{{{{|{{|}||||}|{y{{{{{|}||{||{||{{{{{zz{{{||{{{{{z{zz{z||{{|z{{zz{zzzzz{{{|{{|{{z{zzz{{{{{{{{|{zzz{z{{{{{{z}}{|zz{{zzz{{||zz{{{zzz{z{z{{{|{|{|{z{z{{yz{{z{||{{|z{z{zz{z{z{{{{{{z{zz{zzzzz{{{|{{z|zzyzzz{z{|{{{{{{z{zyzz||{|||{{y{zzzzy{{{{{z{|{{{{{zzzz{{zz{|{{zzz{{zz{z{{{|{{{zzz{y|z{{|{|{|{{{zzzz{{{{zz{|{||{{{z{{{{{{{{{{{{zzz{{z{}||{{z||z{{z{z{z{{{{|||{zz{{{z{z{{|{{{|{{z{{{{z{{||{{||||{{{{zzz|{{|{|||{{{{{{{{|||||{||{zz{zz{{z||}||z{{{{{|z|||{{{||{||z{{|{{z{{|{{}}}{{|{{{|{z||||||{|z{{zz{|||||{|}|{{{{{{{z{{|||{{||{{{{|{{{{||||||{{|{{{{z||{{||{|{{{{{|{z{||{{||{{zzzz{zz{{{{{{{{zzzz{z{yz|{{||{{{{{z{z{{z{z||{|{{{{{zzz{|{z{z{{|zz{yz{{z|{{{{{|{{{{zz{zz{{|{{{{z{{|{{zzzz||{{{{{{z{zzzzz{zz{z|{{{|zy{z{{z{{y{||{zzzz{zzz{z{{z{{{{zzzzzzzzz{z{z{{zz{zzz{y{{z{{|{{{{zzzzz{z{z{{{{{{{{zzzz{z{zz{{{{zz{zz{z{{{z|{{||{{z{{zz{{{{z{|{{|{{z{{{{{||{z{{|{{z{{{{{|{{|{|||{z{{{z{z{|{}|||{{{|zz|{{{{{{{||{{{z{{|z{{|}z{}{{z{{{||{{{{|||{|{z|{{zz{z|}{|{}{|{{z{{{{|{||||||||{|{{{|{|||}{}|}{z|z{||{z|{||}||||{{|{{|{}{|{{||}{{{|{{{|||}|{|||{{{{{{{{{|||||||{|{|{|{|{{|{{{|{{zz{{{{z}{{{|||{{{|{{z|||{|{|}{zz{z|zz|{{{||{{|{{z{{zzzz{|{z||{z{{{{zzz{{|{{{|{{{{zz{{{{z{}|{{{zzz{zzz{{z{|{z|{{z{{y{zy{|{{{{z|{{zzzz{zz{zz{|||{{{yzyzz{{{|z{{{yzzzzzzz{{z{{|||zzzzzzzzz{{{zz|{{zz{zzy{zz{z||z{{{z{zz{{zz{z{{{{zzzzzz{z{z{zz{{|{{{{{{{zz{zz|{{|{zz{z|{{{{{|{{{{z{{{|z{{z||{{{|{{z{{z{|{{z|{|{{|z{z{{z{z{{{|||}|{{|{|z{y{{||||{z{z{y{{z{{||{|{{{{{{{|z{{{{z||}z|{{{{{|z||{{|{||||{{{{{|z|{{{{||{{{{{z|z{}{||{|{||z{|z|{{|}|{||||{{|z||{||{||||}|{{||{{{|{|}||||||{||{{{{|{||}{{||{{z{|{{{|{{{|{||{{{|z|{||||}|||||{{{{{{{|{|{{||{||{{{{{{|{|z||{{{|z{zzz{{{z|{{{z{zyz{zz{{{{{{{|{{z|{zzz{{z{{{z||zzyz{zz|{{{{{|{{z{z{{z{{zz{{|z{{{{yzz{z{z{z{{{{z{{{zz{zz{z{z{|{{z{z{zz{{{|z{{|z{{{zz{z{zz{{{z{|{z{zyz{z{{{zz{|{zzzzzz{zz{{z||{{z{yzz{zzz|{|{z{|{z{zzzzyz{z|z{|z{{zz{z{zz|{z{|{|{z{zz{zz|{z{{|{{zzz{{zzz{{{{{|||z{{{z{{z|{{|{||}z{{yz{z{|{|{z{||{{{z{{|{{{{{{{{{{{z|{z{{|{{{{|{|{z{{zz{{|{}{{|{z{{z{{{{|{||{||{|{{{{{{{{|{{{{|}|{||{{z{y||{|||||}{{{|{{{{|{||}||{{{|{|}|{|{|{}{{{|{|{{{z{||||{{|{{{||{|{||}{|||{|{{{|{{{|{||}||||{{|{{{|{{{{{||}{{|{z{|{||{{{|||z{{{z{{{|{{||{{|{{{{{z{z{|||||{{z{zz{z{z{z{{{{|{{zzzzzz{{{z{{||{{{zzzyzz{zzz{{{{{{zzzz{z{{|{{zz{|z{z{{zz{z{{z}{{zz{zyz{{{zzz{{|{{y{{{z{{{{|z{{{z{{zzz{yy{{{{{{{|z{zzyzzzzz{{zzz{zzzz{zz{z{{{{{z{z{{zyzzzz{{|{{{{z|{{{z{z{{y{{y{{{{{z{zzy{{{|{|{z{zz{{z{y{{|{{{|{{zzz{{{z{|{z{||{{z{z{z{{{|{{{|{|z{|{z{{{{{|{{{|{z{{z{z{z{|{}|{{{{{zzz{{{{{{|{{|{zzz{{{{{|{|z{|{{{{{zz{{{||{}||{{|{{{z{{{{{||z{|||z{{z{{z{||{||||{{{{{{z{{{||{||||{}{{{|{{|{|}}|||{{{{||{{|{{|||{{{{{|{{{|||||||||z{z|{z||{z|{|{|{zz|{{{{|{{{||||z{{{z{{{|}||{}}||z|zzzzz{|{{{|{|{{|{{z{||{||||{{{zz{{zzzz{{{{{z|{{{{{{{y{{{z{{||{zzzzzz{{{{{|{|{{{z{z{z{{z|{{z{||z{zy|{z{{{{z|{|z{{zzy{zz|{{{{{{zz{zz{{zz{|z{{{{{{z{y{z{{{z{{{{|zy{yzzzz{z{{{z|zzzzyzzz{{y{{{{{zz{z{zzzz{z{|{z{zzzzzzz{zz{{z{{{zy{z{{zzzz|z{{{z|{{zzz{{{{{{{{{{{z{{{{zzz{{{{{{||{z{z{z{z{{{|z{{{zz|{{{|{{|||{|||z{{zzzzz{|{{{|{z|{{{z{z{{|{{z{||{|{{z{|{|{{||{{|{{{z||{{|||||||}{{{z{{{{||||{{|{|{{zzzz{{|{||||{|{{{{{{{{{{{{|}||{{{{{}z{{|||}|}|{{{|{|{{||||||||{{|z{{{{{}{{{|||z{{{|z{{||||||{||{||{{|||{|{|{|{{{{{{{{{{||{||{{{{{{{{{{{|{{{|{{{{{zz{{{{||||{{|zzzzzy{{{{z{{z|z{{z{yzy{{z{{{{{z{zz{zz{{z{{{}{|{z{{zzzyz{{{z{{z{{{{z{z{z{{{{{z{z{z{z{z{z|{z{{z{{z{zzzz{|z{{z{{{zzzyz{y{{{zz{{z{{zzzzz{zz{{{{{z{zz{zz{yzzz{{{{||{zzyyz{z{{{{{z{{z{z{zz{yz{z{z|{|{zzy{zzzz{{{z}|{{zzzzzzzz{{||||{zzz{|z{{|{zz{|{|{{|{{yz{{{{|{{{|{z|{z{{{{{||{{{{z{{z{z{{{{{z{{{{zz{z{z{z|||||{|{zz{{|{{z{{|{{{{{{{{{z{{|{|||{|||z{{{{{{{{||{|||}{{{z{{{{|{|{{{|{|{{|{{||{|{{||}{{{z{{{|{|{||{|{||{|{{{z||{{|||||{{{{|z{z|{{||||{{zz|{{{{||{||||{|{z{{{{{{||{{{{||{zzz{{z{{z|{|{}{{{{{z|zz|{|{{|{{z|{{z{z{|{{|{|z{yzzyzzyz{{z{z{|z{y{zz{z{|{|{{|{zzzzz{{z{{{{{{{{{zz{{zyz{{z{z{{|{z{{zzzzzz{{{z||z{zzzz{y{{yzz|{{{{{y{zz{{{{{{{{z{zzzzz{z{z|{{z|{zzzzy{z{{{{zz{{z{{z{{zzz{{z{{||{zyz{{zzz{{{{{{{{zzzz{y{yzzz{{{{{{zzzzy{zz{{{z|z|{{zzzy{z{{z|{{{{{{zz{{z{{||{z{{{{|z{zz{{{{|}{{|{zz{|z{zzz{{{{{{|{z{zzz{y{z{{{{{|zz{{{{zz|{|z{{|{|z|{{{{|}||{{||{z{{z{|{z{{|{|||}{|{z{{|{{{{|{|||{{z{{{z{{||||||{|{z{{{{{{|{||||||{{|{{|{{{|||||||{{{z{{{{|{|||{||z{{{{{z|{||{||||{{{z|{{|{|{{{|||{{{{{z{|{{|||||{{{{z{{z{{||{||{{|{{{zzzz||{{||{{{z{zzzzz|{{{{|{z{zzz{{yz||z{{{{{{zzzy{zz{{{{{|{{y{yz{{zz|zzz{|{{zzzzy{zzz{{{{{|{z{yzz{z{z{{{{{|{z{zzz{{{{{{{{{|z{{zzzzz{{{|{z|zzz{{zzzz{{z{zz{|zzzzyzyy{{|zzz{{{zz{yzzz{|{{{|{z{zz{zzzzzz{{{{{{zz{{{zyz{{{z||{{zzzzzzzyz{zz{|{{{{zzzzyz{{|{{{{{{z{z{z{z{|{{z{z{z{z{zzz{{|{zz||{{{{{z{{zz{{{{{||{{zz{y{zz}{{{{{z{z|{{{zz|{|{|{|{{{{{zzyz{||{||{|{{{{||{|{|{|{||{|zz{{{{{{{{||}||{z{{|{{{{{|||||{{{z{{z{{||}|{}|{{|{|{{||{{{|}||||z{||{{{z||{|||||z{{{{|||||}z||{|z{|z{{z{{{|||||{{{{{z{{||}|}{{||{|z{{{{{||{|||{{{{{{zz{||{{{|{{{|{z{{|{|{||z{{|{zz{zz{z|{{||{{|{{{{zy{z{{{{z|{|{{zzzzzz{|{{|{{{{z{zzzzz{z{{z|{|{{z{zzzz{||zz{|{{zzz{z{zz{zzz||{|zz{z{{z{|{{{{{zz{zy{zzzz{zz{{{{zzzz{{zz{z{{{{|{zzzyzzzz{z|z|{{{{zz{y{{z{{zz|z{{{zz{zzzz{{{|z{{{|zz{zzzzzz{z||||y{{{z{zz{|{|{{|{{zzzzz{z{|{{{{{}{{|z{z|z{|{|{|{|{{{yz{{{zz{{{{|{{{{{zz{z{{{{{{{z{z{{zz{z{||{{{|{{{{{{zz{{||{{||{{{{{{zz|{|{|}|}}{{z|{{z{|||||{||{{|z{{z{{{||{||||z{{{z{{|}|{||}|{{{{{||{{|z|||{||z{{{{z{{|{||}}{{z|{z{{{{|||{||{|z{z{{|{{{{{{||}|z{z{{{{{|{|||{{{{{{{{|{{|{{{{|||{z{{{z{||z|{{||{z|zz{{{|{{{|{{{{zz{zy{yz|{z{{{{{z{zz{{{{{{{{{{{|{zzzz{z{{{zz{|{{{{zzzzz{{||{|{{|{z{{zzz{{{{{{||{{{zzzzzz{{z{{|{{z{z{zz{{{{{z{{{{zzzzzyzzzz{{{{{zzz{z{zz{{{{{{{{{zzz{{zzz{|{{z|{zz{zzzzyyz{{{{{{z{{zzzzy{{z{{{{zyzzzzzzzz{{zz{{z{zzz{{zz{{{{{{{}{{{zzz{z{{{{z|||{z|{z{z{{{|||z}{{z{{z{{z{{|{{z{{{|z{|z{zz|z||{{|{{{z|{z{{{|{{|{{{{{z{{zz{||{{|{{|{{{{{|z{z|z{|||{|{{{{{||}|||{||{{z{{zz{{|||||{{|{{{{|{{|}||||{}{{{{{{z{|{|{{||{{{{{z{{{{|{|{|}||{{{{{{{{|{}{}|||{{{|{|||}|{||||{{{||z{{|{||}||}{{{z{{{{{|{|{|}|{{{{z{{{||{{{||{{{{{{z{z{z{||{||{{z{z{{{{{z{z{{|{zz{{{|z{{z||z||{{z{|zzz|{|z|{|{{zz|zy{z{|{{z{{{|{zz{z{y{{|{{||}yz{zz{zz{{{z{{|{|z|zzzyzz{z{z||{{z{z{{z{z{z{{{z|zy{zz{{z{{z|z{{{zzzz{zzzzz|z{|||{{{zzzzzz{{{{{{{{zzzzz{zzz|z{{{{{{{zzzzzzz|{{{{{{{{zz{zz{{{{{{{{{{z{|{{y{{||{{{}z{{{{zz{z{||{z||{zz{zz{zz{{z{||||z{{{zz{{|||{|{{|{{z{{zy|{|{{|{|{{{{|z{{{z|{||||{{{{{{{{|{|{{{||{|{{|z||{|{|{||||{|{{{z{{|{||}|{{{|{{{{{||{{||||{{{{{|||{||{}||}{{{{{{z{|}||||{||{{{{{{{{||||||||{{{z{z|{|{||z|||{|||{|{|||||}|||{{{||{{|||||||}{{{z{z{{{{|}{{{|{z{{{{{{{|}{|{|{{|{z{{zz{{{{|{|{{zzzzzzz|{{|{|{|{{zz|zzz|zzz|{{{zzz{zz{z{{|{{{{|{{{y{z|z|||{{{{|{{{z{{zzy{|z{{{{{{z{{zzz{|{zz{z{{zzzzzzz{{zzz{{{zzzz{y{z|{{zz{{z{{zzzzyzy|{{{||{zzzzz{zz{{{|{{|zzzzzzz{z{{{{{z{{{{z{zzzzz|y{{|{{{z{z{zyz{{{|{|||zzyy{zz{{{|{{{{{|{{{{{z|{|{{{z|{{{{z{z|{{|{{|{|zz{{{|z{{{||{||{{{|{{|{{{{{{{|{||{|z{zz|z|{|{|{||{{{{|{{{{{{{}|||zzz{|{{|{|{{{{|z{{{{{|{z{{{|}|{{|{{z|zz{|}|}||||{z{{{{||{|{|{||||z{{{z{{{||||{|}|{|{z{{{||{}|{||{zz{{{{z|{|||||}|{{z{{{{|{||}||||{{{{{{{|{|{{{|||zzzz{{{{|{{{{||{{{|zz{{|z|zzzz{zzy{zz{z{{{z{z{{zzz{{zzyz{{{{{{|yzy{zz{z{{zzz{{{{yzzz{zyz{|{zz{|{zzzyzz{z{z|{z{{{zzz{zzzy{{{{{{zz{{zyzzzzz{z{{{{zyzzzzzzz{{{z{{{{z{y{zzyz|{|{{{z{{z{{zz{z{{{{{z{zzz{y{zzz{{zz{zzz{yzzzz{z{z{{zzzz{{z{z{zz{{{{{{|{yzzzzzy{{|{{{||{{yzzz{zz{{{{{|{{z{{zzzz{{{{|{||z|zz{{zy{{{{{|{{z{{{{z{zz|{|z{{{|y{{zzzz|{|{{{}|{z{z{zyz{|{{{{{{z{|{|{zz{{|||z{{z{{{|{{{{{{{|}||{{{{{zz{|{|{|||{|{{{{{{{{|||||||{{|{|{{|z|{{|{|{||z{z{z{||||{{}|{{z{{{{z|||{{{}|{{z{{{{|{|{{||{{|{{{{|{||||||}{|{{zz{zzz{{{{{{{{{{zzz{zz{{z|z{||z{{zzz{zz{|zz{||{zz{z{{z{{|{z{|z{zz{zz{{{{|{{{|{{{{zz{{zz{{z{{{||{z{zz{z{{{{{{|||{zz{zzz|{z{{}{{{{zzz{zz|{|{z|{|zzzz{zzz{{||z|{|{{zz{z{{{{z{{{{{zz{zzzzz|{{{z{{z{{z{{zzz{|{{z{{{{{{{zzyyz{||{{|{zz{{{z{zz{zzz{z}zzzz{{zz{{z{z{{|y{zz{{{z|{z{{z{{{{z{{z{z{|{{||||{zzzz{|{|{{{{|}|{{{z{{{{{{{|||||{|zz{{{{z{{{||{}{{{{zz{{{{|{{{|{{yzz{z{z{{|||{|{||z{z{{{{|||}{}|{{||{{{|{|{||}|{{{{{|z{{{|}{|}}||||{zz{{{||{|{|||{{|{|{{||||||||||{{{{{|{||}{|}||{{{{{{{|{|||||{|{{||{{|||||||}||||{{{{{{|||||||{|{zz{{{{{|||||}|{{{zz{zz|||||{|{z{{{zzzz{{{{{{{{zzzz{z{z|{|{{{|{z{yzzzz{{z{{{||zzz{{zz{z{z{{{{|{z{zzz{z{|{{z{{{{{{zy{zz{z|{{zz{zyzzzzzzz{{zz{{z{z{zzz{zz{{{{{z{{{zzzzzzz{{{{z{|zy{yzyzzz{{zzzz{z{zz{zzzz{{{||{z{z{zyyzz{{{{{{{{{zzzzzzzzz{{{|{{zzz{zyzy{{zzz{{|z{y{yzyy{{z{{|{z{z{{{zzz{{z|{{z{z|z{zzzz{z{{||{{{z{{y{{{{z{{{|{z{{{{{yzzz{{{|{|{z{{{{z{z|{||{|{{{z{{zzz{z|||{{|z{{{zz{{{{|{|{||{zz{z{z{z{{||{}||{{z||{zz{|{||||{|{{{{{|z{|{{|{{|{{{z{|{z{|{|}||{{{{{{{{|||||{|}||{{|z{{{||||||||||{zz{{{{|{{{|{||||{{zz{{{{{|{{|z{{{{z{{{|||{{|{|{{|{{z{{||{{{|zzzzz{z{z|{{{|zz{{zyzzz{z|{|{{{{{|zyy{z{y|{{|z{{|{{{{z{zy{zzz{{{{zyzzzzzz{{z{z{z|{zzzzzzy{{{{|{z{{yzyzyzzz{{{zz|z{{|z{zz{{zzyz{||zyz{z{{zzzz|z{zz{yzzzzzz{zz{{z{{yzz{zzzzzz{{{{z|zzzzzyzz{yz{|{{{zz{{zzzzz{{{z{z{{zzzzzzy{|{z{{z{zz{z{zzy{{{{z{|z{zz{zz{z{{|{{z{{{zzz{z{{{{z{z{|{zz{z{zzz|{}{z||z{z{{{y{z{|{{{|zz{{{zy|zz{|{{{{~{{z{{zzzz{{|{{||{{z{{{{z{|{|{{|||{{{|z{|z{||{{|||{{z{{{{{|{{{{||{{zz{{{zz{{{{{||||{z{{{{z{{z{|}|||{{{{{{{{|}||}{{{{{{z{{{{{|{|||{{z{zz{{z{|{z||{|{{zzz{{{|{{||{{|{{{zz{z{{{{|{|||{{{{{zz{{|{}zz|z{z{zzzzzzz|{|{{{{zz{{z{zy{z{zz{{{zzzz{{z{{z{{|{{|{zz{{{{z{{z{{{z{{z{zz{z{z{{z{{|zzz{zz{yzzz{{{{{{y{y{zzzy{{z|z{z{y{zzzyzzz{{{{{{zzzzzz{{{{z{{z{{yzzzyyzzz|{zzz{{{zzzzz{{{z|z{{{|{zzzyzzzz{z{zz{|{zz{zzzy{yz{z|{|{{z{zyzzz{zz{|{{zy{{zzyzz{zz{{||{zzz{z{zzz{|z{|{{z|zzz|{zz{|{{||zz{{{zzz|{{{||{{{{{{zz{zzz{|||{{{{|{z{zz{|zz{{|{|zzz{{z{|{{z{{{{{{{z{{zz{{{|{||{z{zz{z{{{{{|{|||{{{{z{y{{||{{|||{z{z{{{{{||||}}{{{{|{|{{{|}|{|||{{z{{{{z{|||{|{||{{|{z|z|{|{|{}|{z{{{z{|{{{|||||{|{z{{z|{{{|{|||{{{z{{{zz{|||||||{z{z{z{||{{{}|{{yzzz{{z{{{|{{|{z{z{z{{y{{{{{{{{{zz{zzyz{{zz{|{|{zzz{{z{{{{|{y|{{{zzzz{{zz||{{{{{zzzzzzzz{z|{zz{{zzzz{zzzz{zz{{|zzzz{zzz||zzz|{{{zzzzzzzz{z{{zz{zzyzzzzz{{{{{{{z{{zz{zzz{|{{{{{{{{{zyzyz{zz{z{|{{zzz{zyyzz{{|{{{z{zzzyzzz{{{z{{{zzzzz{{zz{{zz{{{{zz{{z{z{{{{{||{z{zzzzz{{z{{{{{{{z{{{z{{{{{{|{}{{z{{{z{{z|{z|||{{{z{{{{{||||{{|{{zz{z|{{|z{{{{|{z{|{{z{z{||{|||{{|z{zz{{{{||{{|||zz{{{{{|{{{||}||z{|{{{{{|||||||{{|z{||{{{|{|||||{{|{|z{{||||||}|||}{{{{|||{|||}{{{{{{{z|||{{|{}|{|{zz{{{{{{|{|z{{{z{{{{{|{{{z||{{z{{{{{{{{||{{||y{{{zzzz{zz{{{{{{z{z{zzzz{|z|{{{{{{z{yz{{{{z{{{{{{zzz{z|{{{|||{{z{zzyzzz{||z|{{{zzzz{zy{{|zz{|{zzzzz{zzz{z{{|{z{z{zzzyyz{|{zzz|{zzzzzzzyzz{{{|{{yyzzzzyzz{{z{|{{zzzzzzzz{{{{{|{{z{z{zzz{z{{{||{zz{zzz{z{{{{z{{{z|zz{{zz{{z{{|z{zz|z{{{zz{{z|z|{zzzz{z{{{||{{z||z{zzzzz{z{{{{{{{{z{{{{{{||{{{{{|{{{z{{{z|{{{||{|z{z{{{{{{{|{{{}{{z{{{|{z{{z{{||||{{{{zz{{{{{||{{{{{{{{{{||z{{{||{{{|{|zz|{{|{{||{{{{{{{{|||{||}|{{{{{{{{{{{{||||{zz{{{{{||}{{{{||{{{|{z||||z{|{{|{{z{{z{||{{{{||{{{{{{{{|{{||{||{z{z{{{{z{|{||}|||{|{z|{z{z{z|||{{|{zz{|{{{|{{{{{|{{zz{zzz|{{{|{{{zz{zzz||{{{z{|{{zy{z|z{z{{|{{{zz{zzzzy{{{{{|{|{{{{z|zz||{{z{{zzzzz{{y{{{{zz{|{{{{zzz{z{{{{|{z{{z{y{zzz{{z|{{{{{zzz{zzzz{{{z||{{{{z{zzz{{{z{z{{{z{{zzzy{{{{{|||{{|z{z{zz{zzz{zzzzzzz{{z{{{{{{|zzz{z{{zz|{z{zz|{z{zzzzz{||{{{{||{yzzz{zz{{{{z|{|{{{{{{{y{{{{{{|{{{{{{z{{||{{{|||{|{zz{{{{{|{{{{{|{|zzzz{|||{{||{{{{{{{{z{||}{|||z{{{{{||||}}{|||{{|{{{{z||||{|}|{{{z{{|z}|{|||}{{|zz||{{|{|{|||||{|{{{||||{{{|||{{z{{{{{|||}{|}{|{z{{zz|{{|||{}|{{{{{z{|{{{|||||{{{{||{{|{|{||}|{{|z{{{{z|{|{|z|||{{{zz{|z|{||{{{{z{z{{z{{|{{|{|{{z{|z{{|{{{z{{||{zy{{{{{{{{{{||{{{{{z{{{{|{z||{|{{{zzzyz{{{{|{|z{zzz{z{{{{{{||{{z{yy|{{z{{{z|||{zzyz|zz{{z{||z{{{z{{{zz{{{{{{|{{zz{y{y{{{|{|{{{{{{zzzzzz|z|{|||{z{zzzzy{{z{{{{{zzzz{{{{z|{|{|z|{zzzzzz{{{{{{|||{{{zz{{{{{|z{|||{{z{{{{{{{{{{{{|zz{z{{{z{||{{}|{{z{{{z{z{|{|{|{|{|z|z|{z||{||{|{||{{{{{{|{|z||||{|{{{{|z||{|||||{{|{{{|{{}|||{|||{{|{{{z{||||}|||{{{||{{|||{}|||{|{{{z}{{}{{||}}}{{|z|{{|~|}||}||{||{|||||||{|}||{||{|{}{||{|{||z|{|{{{{|||}{|||{{z|{{{{{}|{|||}|{|{z{{{{|||{{||{{{{{z{z{|||||z{zzzyz{{zzz{{z{z{{zzzzz{z{||{{{|{|{{zz{{z{z|{{|{{{yz{z{zyzy{{{{{{{zzzzzzz{{{{{z{{{yzy{zzz{z{y|{{{zz{z{zyzz{{{{{{{{{zzz{zzz|{z{{{{zyzzzyzz{z{z|{{zzzy{yzzz{z{{{{{{{{z{zzzzz|{{z{{|{y{zzzzyz{zz{{{{{zzzzzzzz{|{{{|{z{{{{{{z{{{{{{|{{zzz|z{z{{|{|{{{{{z{{{{{{{|{{{|z{y|z{{zz{{{{|{{{{z{z{zzz{|{|{{{|{{{{|{z|{{{{{||{zzz{{zz|{{{{{||{|z{z|{{{z{{|||{|z{{{{{|{{|{}||}{{|{{{{zz{|{{|||||zz{{{{{|||{|||||z{z{{|{||||}|{{|z{|z{{||}||}{}|||{{z|{{{|{||{|||{{{{||{{{{||{|||z{{{{z{||||||||{{{z{{{{{||{{{|{|{z{{{z{|{|{{{||{{{z{z{{{z{|{{{{{zzzzz|z{{|{{{{|zyzz{yzz{{|{z{||zzzzz{z{{{z{{{|zzz{yz{yy{{{{{{{|{{zzzy{z{{{{{|{{zzyzz{zzz{zz{{|{|zzyzzzzzyz{{{{zzzz{yzzy{{z{{z||zzz{zzzz|z{z{{{{zzzzzzzz{{{zzz{{z{zzzzz{{z{{zz{{zz{{zzzyzz{z{z{{{zzyzzzz{{z{{{{|zzzz{{{z{z{{{||{zz{z{z{zz{{{z{{{{zz{{z{{{{{{{||{z{z{{{{z{|{z{{{{{z{{{z|z{||{{{{{{z{{z||{|{|{|{|{{{|{zz|{|{||{{||{{{{{zzz{{|||{{|z{{z{z{z{|z{||{{{z{z{{{z||{{{||{{zzz|{{z|||{|}|}{|{{{{{{{}{||||||z{z{{{|{||{|{|{{{|{{{z{|{{{|||{|{{|{{{z{|{{}{|}{{{{|{{||||||{|{{{{z{z{{z|z||{}|{{zz{z{z{|{{{{{|z{{z{zzzz{{{{z{|{{z{zy|{z{{{{|{zz{zzzzzyz{{{z|{}z{zzzzzz{{{|{z|zz{zyzzzz{{{{z{{{z{{zz{zz{zzz{{{|zzzzzz{zz{{{{{||{{zzzyzz{z|{zzzz{zzz{zz{{z{z{zz{yyzx{zzz{{{|z{{z{zzzy{z{zz{{z{{{{z{{{zyzzz{z{|{{{zz{zzzz{{z{z{|{{z{zzzzzz|zzz{|{{z{z{z{yz{|{{{{z{z{z{zzz{{{{z{{{{zzzzz{y{z{{{{|{z{zz{zyy||{{{|{{z{{|zz{z{|{{|{|{z{{zz|{zz{{z{{||{zz|{z{z|||{z{{|{{{{{z{{{|{|||{|zz{z{|||||{}||||{{{{zz{{|{{{{{{{{z|z{{{|||{|{{|||z{{z{{{{{{{|||{}{|{{|{{{|||||{{{{||{{|{{{|{{||{|{{{{z{{{{|}|{||{z||{{zz|||||{|{{{{z{{{z{{{}|{|||{z{z{z{{{{{||||{{zzzz{z{{{z{{{zzzy{z{z{z{{{{{z|zzzzzz{z{z{z|{|{{{z{z{zy{{z{{{{|z|{{zzzzz{{|{{{{{zzyz{zz{zz{|{{{zz{yzzzyz{{zz{{{|zz{{y{{{z{{z{{{{{zzzzyzyzz{zz|{zzyzzzzyzz|{{{{z|{z{zzzyz{zz|z{{zz{{zzz|zz|z{||{zzzzyz{zz|{zz{z|zzzyzzzz{{{{z|{{{y{zzz{zz|{{{{||{zyz{zzy{z|{z{{{{yz{zzz{z{{{z{||{{yzz{{z|{|{{z{{z{|z{zzz{z||z|{z{{zz|{{zz{|{zz|{{{z{zz{{{|{z{|{|{{{{{{z||{|{|||{{{z||{{|{{|{||}|z{z|z{{z{{|{|||{|{{{{{{{||{{|{||z{|{{{{{z|{|{||||{z{{z{{z}z}|||||{{{{{{z{||{{{{|zz{{{{{zz{|{|||||z|{|{{||{{{{|{~{{{{z|z{{{{||{||{z{{z{{z{{z{{{|{{{|{zzzzz{{|{|{z{z{{yzzz{|{{{{z|{zzzzzzzzz{|{{|{|{yzz{z{{z{y{{|{{{zzzz{yzz|{z{{{z{zzzyz{{z|{{{{|z{z{zzzzz|{zz|{y{{{{{zzz||{{{{{z{zzzzzyyzz{z{{|}zzzyzzz{{zzz{{|{{z{yzzzzz{|z{{{|{z{zz{zzz{zzz{{{z{zyzy{yy{{zzzzzz{{z{zz{zzz{z{{z{z{zy{{z{z{{z||{zzzzzzz{z{{{{{{{zz{{{zzz||{zz{{{z{z{z{z{{|{{{{|||z{{{{{z{{|}z|z{zzzz{zz{{{|{{{{{{z{{|zzz|{z|{|||zz{{{z{{{}{||||{{{{|{{{{|||{||{|{{zz{{zz{}||||{||{{{{|z{|||||{||{||{{{{z{||{|{|||z{{{{{{z||{{{{{{||{z{{||{{|{|||{z{z{{{{||z|{{z||{{{{z{{{{|{{|{{{{yz{{z{{{{{z|}|{{{{zz{z|{{{{||{zz|{{{zzz{{{|z{{zzzzzzzz{{|z{{{{zz{zzyzzzz{{z{{{{z{z{{yz{z{{zz|{zz{zzzzz{{zzz{{{{z{zz{zy{{{z{z{{zzzzzzzzz{z{z{{{{zzz{zzzz{{zz{{{zzyyzzzzz{{z{{zzzzz{zyzz{z{{z{{zzyzzzzyzzz{z{zz{{z{zyzzyzz{{{{{zyzzzz{{yyzzzzzz{{{yzzyzyz|zzz{{{z{{yzzy{z{{z{{{{{{{zz{yz{{|{z{{|zz{zzzz{{z{{{|{{{zyzy{zzzz|{{{{{{zz{z{z{z{{{{{{z{z{z{{yz{|{{{z||{zzzz{{z{|{|||{|z{{||{|{z||||||{z{zz{|{z{{{||{{{{{{{z{z{||||{{||||{{{{{z{|||{{}||{z{{{{|{|{{||||{{{{z|z{{}||{{}|{z{{zz{{{{{|||{{|zz{{{{{{{{|||{{|z{{{{{{{|{{{||{|{{z{|{z|{{|{{||{{z{y{{z{||{{{{{z{{yzzzz{{{{|{{{|zzzzzzyzz{z{{|{zzzyzzy{{{{{{{{{zzzyzzyz{{{z{{{z{{{y{zzzz{|{{|{{{zzzzy{y{{{z{z{z{{yzzz{yz{z{{|{{zzyzzyzz{z|zz{{z{zzzzyy{|zz{{{z{zzzyyzyz{{{{{{{yzy{{zzy{{{{|z{{{zy{zzzzy{zzzzz{{z{zzzyzyzz{zz{{{z{zzyyzzy|z{{zz{{z{zzzzy{{zz{{{{{zzzzzz{{z{{{z{{zz{{zzz{{|{|z{{|z{{zzz{{zz{z{|{{{{zzzzz{z{{{{{||{{{z{zzz{{{{{||||z{{|zz{z|{z{|}|{{{{{zzz{}{|}||{{{{{z|{{{|{||||{{z{{z{{z{|{||{|||{{{{|z{|{{{{|{||{{z{|{{{{{{|||||{{{z{z{{}{{{{||{z|{zz{{|{||{{|{|zz{zzz|||{{|{{||{z|{{{{{{|{|{|{|{{z{{{z{{{{z{|||{yz{zzzz|||||{|z{|zzyzy|{|z{{{{|{zzz{yzz{{{zz|{{z|zzzz{{z{z{|{{{{{{{{{{|{{{{|{zzzzzzzzzzz{zz{z{{{zyz{zy{{{{z{z{{zzzzyzyz{{z{{{z{yy{z{{z{z{{{{{{z{z{zy{{|z{{z{{|zzz{z{yzzzz{{{|{{zzz{yzzzz{zz{{{{{{z{z{{z{{{z{{{{{{{zz{zz{{{z{{{{{zz{yyz{{{{z{{z{zzz{zyz{{{{z{{|{z{z{z{{z{{{{||||y{{zz{y{{{{||{{{z{z{{{z{{{|{{||{z|z{zz{{||z{{{z{{z{{{zz{|{|{{{{{{{{{|zz{{z{{|||zz{{{zz{{{|}|{{{{|{z{{{{z{{|{|}|{z{{zzz{{||||{|{|{z{{|z{}}|{{||{{{{{{{{{||{|{|{{|{|{{{{{{|{||}||{{{{{{{{{|{|{|||{|{{{{{{{{{{{}||{{z{{{{{||{|||{}{{{z{{{z{{{|{{{{|zz{{{{z{|{{{{|{{|{zz{{{|y|z{{{{{zz{z{z{z|{{{{z{{y{{zzy{z{{|{{{|z{zzyzzz{z{{{{{{zzzz{{zzzz{{z{{|{{zzyyzz{{{{{{|{{z{zy{yzz{|{z{{{{z{zzzzz{zz{z{{{{zzzzz{zz{z{zzz{zzzyzzzzz{|zzz{z{y{zzzzz{{{z{{zzzzzzzzzzzz|zz{|{{zzz{yzzyz{{z{{{{{zzzzzz{{{zz{{|yzzzzzz{{z{{z{{|z{{{zzz{{{{{{{{{z{{z{z{y{{z{|{{{z{{{zyzzz|z|{{{{{{|zzyzzz||z{{{{zzzzzzzy{|{{|{|{{{{|{{{z|{z{{{{|{{{zzz{{{{{|{|{{{{{{{{{z|||{|||}{z{{z{z{z|{||{||{{z{{{z{|{||{|||{z{{{{{{{|{{|{~||{{{{|{{{|||{{||{{||zzzz||||{|}|{{{{{z{zz{||||||{{{z{{{{{|{|||||{|z{{{{zz{|{{{{||{{{z{{{z{{||{{{{z{z{zzz{{{{}z{z{zzzzzzyy{{{z{{z{zz{{yz{z{{{z{{{{zzzzzzz{zzz{{{zzz{zzyzzz{{{|{{{z{zyzz{z{{z{zz{{{z{zzzzz{{zz{|{{zz{{zz{z{{|{{{zz{zz{yzzz{zzz{|z{zzzyzzzz{z{z{{{{{{zzzzy{z{{{{z{|zzz{y{zz{{{|{z|{|zzzzzzz{{{zz{zz{zzzzzzyz{{{z{||{zzzz{zzzz{z{{{{{z{zyzzz{z{{{|{{|zzzzz{z{|{{{|||z{z{{zzz{z{{||{|{{{z{zz{z{{z{|{{{{{z{z{y{||zz{{z{z{{zz{{{{{{{{{|zz{zz{{{{{{{|{{|{zz{{{{{{{{{{|{}{z{{zz{z{{{{||{|{{{{{z{{}||{|{}|{z{{{{|{{{{{||{{{z{{{||{z|||{|}{|{{|zz{{{{{|{{{|{{{z{{{z{{{{||{{z{{z|z{{{{|{|{{|{{{{{{{{z|{{|||{{{zz{z{z{{{|{||{{{{z{z{z{{{{{{z|{zz{yzzy{{{|z{z{{{{zzzyy{z{{{{|{{{{{{zyz{{{z{|{z{yz{{zzz{{{{z{}{{z{zzz{yzzz{{{{{zzzzzz{z{{{zz|{z{{zzz{yzz|{zz{z{{{z{zyyzz{y{zz{{zz{{zz{{z{|{z|{zzzzzyzzz{{{{|{{{z{{{zzy{{{{z|{||z{zz{yzz{zzzz{{{{zyzzz{zz{zz{{{{zy{z{zz{{{{{z{{|{zzzyzz|z{z{|{|{|{{zyzz{z{{{|{{{{z{zz{|z{z{|z{|{{z|{{z{{z{{{{||{{{{{{{z{|{{|{{||{{{zz{y{|{{{z{{|{{{{{zzz|{||||{{{{{{{{{z{{{|z|||||{|{{{{{{{}{{{{|{{zz{{{{|}|{{||{|{z||}|{|||||}||{z{{z{|{}|||||}|{{|{z{{|{|{|{||{z{{{zz{|{|{}{{||{zz{{{{{||{{}{|{{{{z{{z|{z{{||{{{{{z{{z{|{{{{{||z|{{zzz{z{{{|{{z{yzyzzzz{zz|{{{zzzzyzz{{|{{{|{{{zzzzzzz{{{{{{zzz{z{{{zzzz{{{{z||{zyz{zy{{{{z{z|z{z{z{zzz{|zz{{{{zz{zzzz{z|{z{{zz{zzyz{zyzzzz|{{z{zy{zyzy{{zzz|zzzyyz{yyzzz{{{{{zzyyzz{{{|{{{{{{z{{zzz{zzzz{{{{{z{zz{yzz{{z{{{{{{z{zz{zz{|{{{|{|z{{z{zz{{{|z{{{|{{{zzz{{z{{{{z{|zzz{zz{{z{{{{{{|{z{{{y{{{|{{||{{{{z{{zzz{{|{{{|z{zz{|{z{{{{{z|{||{|z{{{{{{{{|{z|{{{z{z{{{|{|{||{{{{{{{{{||||{z{}|{{{zz{{||{{|{|{{|{{z|{|{||||||}}{{|z|{{{}{{|{|||{|{{{{{||||{||{|{{{|{{{{|{{|||||{z{|{{z|||||{{|{{{z{{||{{{{|{||{zz|z{{z{{|{|||{z{{z{yzz{{{z{{{{z|zzz{yzz{zzzzz{zyzz{yyy{zz{{||{{zzzz{yz{{z{{{|{zz{{zzzzz{z{{zz{z{zzz{zy{z|zz{{z{zzzzyyzzz|{z{zz{z{zzzzzz{y{{{z{zzzzyzz{{z{{zz{{zzzzzzzy{zzz{z{zzyzzzyzz{z|{{{{{{z{zzzzzzz{y{{{{{zyz{zzzz{{z{zz{z{zzyzzzzzzz{{{z{z{{{{z{{z|z{z{zzyzz{zz{z{{{{{}|zz{{zz{z{zz{{z|{z{{zz{zz{{z{z{{|{{{y{yzzz|z{{{z{z{{y{z{{{{||{z||{{zz{{{{{z{{{z{{|{{{{z{|{{z||{{{z{{{z{{|||{|{||}{{|z{zzz{||{|{{{{{z{|z{{|}{|{{{|{z{{zz||{{||{{||{{z{{z{zz||{{}|{|zz|{z{{{{{|||||{{zzz{{{{{{{{||{|zz{{{{|{|{{{{||{{{{z{zzz|{z{{{{{|z{z{{z{{{|{z||{zzz{y{z|{{{{{{{zzyzzyzzz|{z{{{{zz{zyyz{z{z{z{{{{{zzz{yy{{z{{|{{yzzzz{zzz{{{z{{zz{zzyyyzz{{{zz{{zzy{z{zzzzzz{{{z{zzzzzyz{{{z{{{zz{yzzzyyzzz{z{{zzzyzzzyzzz{{z{{{zz{zzzy{zz{zz{zzzzzzyzyzzz{zz|{{{zzzzzzyz{|zz{{{zyzyzzzyz{zz{|{zyzzzz{{z{{{{|z{{{zzyyzz{|{{{{zzzzz{yzy{zz{zzzz{|y{zzzyyz{{|{{{{{zz{{{z{{{zzzz|{z{z{y{zzz{zz{{{{{zz{zzzzz{{{{z|{|{{{{{zz{{|{|{|||{zzz{z{{|||{{||{{{z{z{{{{|{{|||}{z{z{{{{{||}|{|{|z{{{{z{|{{z|||z|{{{z{{{{|||{{{{|{{{z{zz{{|{{|{||z{{{z{z{||{||||{{{{{{{{{{}||||{{{zz{{zz{{z{|{||{|z|zz{z{{||{{{{{z{zzz{z{{{{{{|z{zzzzz{zy{z{|z{{zzzzzzyz{z{{|{z{{{zzzy{z{z{{|{{{{{zzzzz{{{{{{z{{zzz{z{zz{y|zz{zz{{{z{{zz{{z{{{{|{{zzzyzyz{{z{{{{zz{zzzzzzzz{{z{zxzzzz{zzz{{zz{{zzzzzzzy{z{zz|z{z|z{z{zzzz{{|z{{{{zzz{zzzy{zz{{{{zzzzzzzzzz{{{{{{z|{z{{{{{{{{z{{{zzzz{z{z{{z{z{{|zzzzzzzz{{z{{{{{{z{zz{z{{z{{{|{{{z|z{zzyz{{{{|}|zz{zzzzz|{{{{{|{||z{z{yz{{{{{||{|{|{|{zzz{|}|{{}z|{{{{{z{{|||}}|{{{zzzz{|{|{{{|}|zz{|{{z{||{|}|{{z{{{|{{|{{{|||{{zz{{{{|{|{||{||{{z{{{z{|{|z{||||{{z{|z|{{|{{||||{{{{{zz|{{|{|||{{{z{z{{||{{{|||{z|{{z|y{|||z{|{{{{zzz{{zz{{|z{{z{zyzzzyzzzz{{{{z{{zzzzzzz{{|z|{{zzzz{zz{zz{|{z{zz{yzzzzz{{{{y{{zzzzzyzz{{z{{{{zzz{zzyzz{{z{z{{z{{zz{zzzzz|zz{z{zzzz{yyz{z{{zzz|{zzyzzzzzzzzz{{z{zzzzzzz{{{z{{{z{zzzy{zy{{{{{z{zzzzzzyyzyz{zz{{{{{{zzzzyzzy{{{|zzzzzz{zz{{{zz{{{{zzzz{z{{{{{{{{{{z{z{zz{{{zz{{z{zzz{zz{z{z|z{z|{{y{{zzz{z{|{||{{{z{{z{{{|{{z||{|{{zzz{yzz{|z{||{|z{z{zzz||||{|{{z{{{{{{z|{z|{{{||z{{{{yz||||{|{{|z{{{z{z{|{{{{|||z{|{{{{z{{z{{}{{{{{{z{|{|{{||{{|z{|zz{{{{}|{|||{z{{{zz{{{{{{|{{|{{{z{{z|{|||||{z{{z{z{z{{z{z{{{|{{zz{zzz{{|{{{{{{zz{zyz{{|{{{|zz{zzy{zz{z{{{zz{{z{{zyzzy{{{{z||{zyz{{zy{z{{|{{{zzz{zzyzzz{{yz{zyzyzzzz{{zz{{{{|{z{zyyzyz|{zzz{z{y{zzzy{{z{{z{{z{z{zz{{y{{z{{{{z{zzy{zzz{{{z{{{y{zzzyz{zz{{{{{z{{zzzyzzz{{{{z{{{z{{z{{yz{z{zz||z{zzzzyzzz||{z{z{{yzzzzzzz|{z{{{{z{{z{z{zz{{{{{{{{{{zz{zz{|zz|{{{z{z{z{{y{{|{|{{{{z{{zz{zz||{{z{{zzzy{{z{{|{|{{|{{z{z{zz{{|{z{{||{{{z|{zz{{|{{||zz{{{|z{{{|z|||||{{{{{z{{{|||z{||{z{z{{z{{|z{|{|||{z{{{|{{{{|{|||||{{zz{{||{{|}|||{{|z{z{|{}{||}||zz{{{z{{{||||}|{{|{{zz|{||{||||{||zzzzy{{|{{|||{{{z{{{z{{|{{{{{zz{{{{yz{{|{{{zzzzz{{zxy{z{yz{|{{zzzzyyz{{z{{z{{{zzz{{z{|{z{|{{{zz|zyzz{zz{{{{{{z{{zyzzzzz{z{{{z{zyzzy{z{z{{{zz{{zzzzzzyz{zzz{{{zzzz{zzzzzzzz{{zzzyyzyyzz{zzz{{{zzzzz{yzzz{z{|zyyy{zzzzzzz|z|z{{zyzz{zzzzzz{{{{{yzzzzzzzzzz{z{{{{yzzz{{yzzzz||{{{zy{zzzz{{z{{z|{{{zzzz{z{zzz{{{{yzzzzzzz{{|{{{{{{z{yz{zz{{zz{{{{{{{{zz{z{{{{{}|z{{z{|{z{{{{{{||{z{{{{{z{|{|||{{{z|{z{zz{}{{{{{{{{{z{{zzz{||{||{||z{z{{{{{}{{|}|{z|{|z|}||||||||||{{zz{{z{}||{|{{{{{|{{{z|{||{||z{{{z{{zz{|{{{{{{|{||{{y{{|{{}{{|{{z{{{{z{|{z{{||||{zzz{z{z{{{{{{{zz{z{z{{{{zz|{{{zz{z{yzz{|{|{{{|{z{zzzz{{{|{|{{{zzzz{{{{z{{|{{|zz{|zyzzz{|z{{|{{{{yzzzy|{{{|{{|zz{{{z{z{zz{z{{|{zz{z{{zz{z{{{z{{z{zzzzz{yz{z{{{z{{{zzzzz{|z{{|{{zzzy{zz{z|{z{{{{zz{zzz{{{{|z{{{{z{z{yzzz{{{{{{{z{zz{zz{zzzz|{{z{zz{zzzy{{zz|{{{{zzzzz{{{{{{|{{{{zz{zzz{{|{|{{{|zy{{y{y{{{{{{|z|{|{z{{{z{z{|{{|{{z{|{{{y{||{{|{|z{|{{{{{|{|{{}{|{{|z{z{{|||{|||{{{{{zz{{{|{}{|{|{zz|{{zz{{|{|{|||{{{{z{{|||||}}|{{{{{|{{|z{{{|}|}{{{{{{{|}|||||||zz{{z|{||{{{{|{{z{||z{{{||||||}{{{{{{|{|{|{||}|||{{|{{{{{|{|{{{{{{|zzz{{||{|{{{{{zz{zz{||{|z|{{zzzzzyzyz{{{zz{{zyz{zzzyzz{{{{{{zzzzzzz{z{{{{z|z{{zzzzzz{z{{{|{z{{zzyyzz{{{{z{{{zzzzzzzyy{|z{{{z{zzyzzz{{|{{{{{zzyzzzzyzzzzzz{{yzzyyzyzzz{z{zzzyzzzzy{z{z{zzzz{zzyzzzyzzz{z|{{{{{{{z{zzyz{zz{z{zzzzzzzzzz{z{{{z{zzyzzzzzz{z{{{|z{zyzzzzz{{{z{{||{yy{zyzzz|{{{{{|zzzzzzz{z{{{zzz{{yzz{z{zz{{|{{z{yzz{z{yz{z|{z{|{zyzzzzzz{{|{{{{z{z|{|z{{{|{{|{{|{z{{{{zz{|z|{|}|{{{{{z{z{{||{{|{{z{{{z{{{{||z{{||{|{z|{{{{||{||{{{z{{z{{{{{{|{|||z{{z{{|z{{|{||{|zz{z{z{{|||{|{|{{z{{{z{{{{{|{|}{z|{{{zz{{|||||||zzzz{z{{|{{{|{{{zz{{y{zz|{{z{z{{{zzz{{{z{{{{{z{zzy{zzzz{{{z{|{{{z{z{yzzz{z{{{{|{zzzz{y{z{{{{{|{{yzzyzzzz{z{z{{{{zzzyzzyzzz{{|zzz{zyz{zy{{zy{zzzzzz{z{yz{zzz{zz{{zzzzzzz{{{z{z{{{zzy{zz|{|{{{{{{z{zzzz{zzzzz{z{{|{zzzzzyz{{yz{{{zzzzzyzzz{zzz|{zzy{{{{{z{{{{{{|{{zzz{z{{{|{{z{|{z{{zzyzz{y{zz{{|zz{zyz{z{{{{{|{{z{{{{zzz{||||{{{|z{{yz{z{|{z{{{z{z{zz|zz{{|{{{{{z{z{{{{{|||||{{{z{|z{{zz{{{{{}{||{z{{{{z||||||{{{zz{{z{z{|}|{|||{{{{{{z{{{{|||}||{{zz{{{||{{{||{|{{|{z{{|{{|{}{|}z{z{{{{{{}{}{||{{zz{{{{{{|||||{{{{zz{z{{{{{{{}{z|{zzz{{z{{{{z{{z{zzzzzz{{{{z{{zzz{zzyzxz{{{z|zz{{yzyxzz{z{{{{|z{z{yzzzyzz{z{zzzzzzzzzzz|{{zzz|zzz{yzyzzzz{{{zz|zyyyyyzz{{{zz{{zzyzzzzyz{{{z{{{{zzzyyzzzzyyzz{{{zyyzyzzzzzz{zz{{zyzz{zzz{z{{{{z{yy{zzyzzz{z{z{{zz{zzzyzyz{zzz{{{|zzyzyzzzzzz{{zzy{zzzzzyz{{{{{|zzzy{zz{zzz{z{||{{zzz{zz{{zzzz|{{{{z{zz{zzz{{{{{|{z{{yyzzz||{{{{zzz{{zzyz{{{||{{{zz|zz{z{|{|{{{{{{zz{{z{{|{{{{|{{{{{z{{{zz{|{{{|{{z{{zz{{||{{|{|z|z{{}z{z|{|{|{}|{zzzz{{zz{{{{|{{|{zz{{{{z{{{|{{{{{{{{{z{|{||{|{{|z{{{z{{{z{z{{||{{{z{zz{{|{|{||{{zzzz{{z{{{{{z{|{{zzzzzz{z{{z{{{zzzz{yzyz{{|z{zzzz{yzy{zz{{z{y{{zzxzyzzzz{{{{zz{{|{zzzzy|z{zz{{{zzzzzz{z{z{{z{{{{yyyzzzzzz{zz{{{zyzyyzzyz{{|z{{{{zzzzyzz{zzz{{{z{z{yyzzz{zzyz{{{zyzzzy{yz{z{{z{z{z{yzzyzzz{z{zz{zyyzzz{z{z{|{{{{{zzz{zzzzzz{z{{|yy{zzyzyz{zz{{{zyyzzyz{z{{{{{{{{{zz{z{zyz{{z{{{{{z|y{zz{{{zzz{{{zzzzzyz{{{{z{{{{{y{{z{zz{z||{{{{z{{zz|z{{{{|z||{{zz{{z{{{{{{{|{{{y{z{z{z{{{|{||{zz{z{{{{{{{|{z{|{{z{{{zz{||||{{{|z{z{{{{{|||{{{{{z{|{{|{|{|{{{|||{{{z{y{{|{{}||}{zz{z{{||{||{|{||zz{z|{{|{|{{||||{{{{zz|{||{{{{|{zz{z{z{{{{{{z||z|zz{z{z{|{{z{|{{{zzzz{{z{{{{{{|zzzzz{zzz{z{{{{|{{zzyzyzz{{{zz{zzzzzzzz{z{{{{y|{|{yzz{y{{z{{{z{{{{zzzy{yzzzzz{{{{zzyzzzzzz{zz{{{zyzz{z{zzz{zz{zyzz{zzzzzzy{z{zzzzyzz{zzyz{z{{y{zzzzzzz{zzy{zzz{{zzzzyzyzzzz{{{{z{zzzzzzyzzzz{z{{zz{zy{z{yzzz{|{{zzyzz{{yzzzzz{{{{zz{{z{y{{z{{{{{zzzz{{z{{{|{||{|{y{yzzzzz{{{{{{{{z|zzz{yz{yz{{|{zz{z{zzz{{{z{{{{zzzzzzz{{{{{z{{{z{z{|{z{{{{{{{||y{z{z{{z||{{{{|}|zzzz{zz{{||{||{{z{{{zzz{{|{|{|||{|{{{z{|{||}{{{{z{{{|zz{||{{|||{{{{z{{{||{|{|{{{{{zzz{{z|{|{{||{z{{{{z{{|{{{|||{{z|z{zz||{{|||z{{z{zz{{zz{{{|{zz{zz{zz{{|z{{zzzzyy{{yyyy{zz{{{{zzz{yz{zz{{{z{||{zyzz{{yy{{{|zz|{{zyzzzzz|z|z|||zzzyzyz{{{{z||z{zz{zzzzz{|{z{z{zzzzzzyyy{{yz{|{yyzzzy{zzyzz{z{zzyyzzyyzz{z{zz{{zzyzzzyz{{z|z{z{{zzzzzyzzz{{|z{{{{z{zzzzy{zzzzz{{{zzzzzzzzzz{z{{zzyzyzz|zz{|{|{|{zz{zzzz{{{{{{{z|{y{yzz{zzz{{|{{{z{{z{{zyz|{z{z{{{{{{{zzzz{zz|{z{|zz{|yzz{{{|{{{{{zz{zz{z{|{{z{{|{zzzz{{zz|{|{|||z|z{|zz|{|{{{z|||{{{{{{z{|}{{{{{|y{{{{{{|{{{|{||{zz{{{|{{|{|{||{{{{z{{{{{|{||{|{{z{{zz{||{||{{|z{{z{|{{z{{{|{|{{{z{{{zz{{|{{{{{|{{z{{zz{zz{|{{{{{y{zz{z{z{{{z||{{z{z{y|z|{z{|{{zz{zzzzy{z{{{{{{}zz{z{yzz{zzz{{{{zzzzzzzzy{{{{z{{|z{z{zzzz{zz{|{zzzzyz{zy{z{{{z{{{yzyzzzzz{{zz{{{{z{yzz{zyz|zzzz{zyz{{{zz{zz|z{|{zzzzz{zz{{{|{{{|z{zz{zz{z{{z|{{z{{z{zzzzzzy{|z{{zzzzzyzyz{zzz{{{{yyzz{zzzzz{z{{|z|zz{{zy{{{{zz{{{{{z{zzz{{z{{|{|z{{zzz{{yz|{{{|{z{{zzz{z{{z{{{{|{z{{{{z{{|{zz{{{{zzyyzzz{||{{{{{|{z|{z{z{z|{z{||{{zzzzzz|{{||{{{{{z{{{{{{|{{|{|||{zzz{z{|{{|{|{{z{{{{{{z|||}{|{{z|{{z{|{{|{{}|{|{{z{z|{{{{{{||{{|{{{z{{{{{||{||{|{z{{{z{||{{|{|{|||{{{|{{{{|||{|{z{z{{{{{{|||{|||{z{{{{z{|{|||{{{{zzzzz{||{|{{|zzzyzzyzzzz{zz{{{z{zzzzzz{{z{z{{|{{zzzzzz{z{{z{|{zy{{zyz{z{{{{{|{z{{zzzyy{{{z{{z{zzzyzzzzzzzzzzz{{zzzzz{zz{{zz{{{z{zyyzyzzzz{z{z{zz{yzzzyz{zzzz{{zzz{zzz{z{{{z{{{z{{{zzzyzz|{|z{{|z{zyz{yz{{y{{{zzz{y{yzzzz{{{{z{{yzz{{zz{yz{z{{|z{zz{y{z{{z{{z{{zyzzzzz{{|z{{{{|{{{{{zyz{{{{{z}{z{zyzyz{{{{{z{{{zz{zzz{y{{|{{{{zz{z{{zzz{{{{{{{{z{{z{{zz{|||{{{{{z{{{{{z{{{|{{{{{z{{|z{yz|{{|{{|{{z{|z{{{|{z||||z{z{z|{{{{{z}|{|{{z{||z{{|{|{|}{{|{|z{{{|z{|{{||zzzzz|{{{{{{||{|{{{z{{z{{{|{{||{{{{{{z{zz|{|z|||{{{{zzz|{|{|{{||{z{zzz{z{{{{{{zzzzy{z{yyz|z{z{z{zzzyyzyzz{z{zz|{{zzzz{zzz{{{{z{{zzzzyzy{yz{{y{{{{zzyy{zxz{{z{{z|z{zzyzzzz{zzz{{yzzzzzyzyzzzy{{z{zzzzzzyzzzzzzzz{yzzzyyyzyzzzz{{{zzzzzzzzzz{{{{|{zz{zyzzzz{z{z{{z{zyyyyyzzy{zyyzzzz{y{z{yzzzzy{{{zzzz{zzx{{zzz{{{z{yzzyzyz|z{{{{{{zzzzyzzz{{z{{{{zz{zzyz{{{{{z|z{{{{{zzzzz{{{zz{{zy{zzzzz{zz|zz|z{zzz{yyzz{zz{{{|{{z{z{zzz|{{|{{{z{zz{{z{|{z{|{{|{z{{{zz{|{{{|{{{{{zz{z{{{{{{{{||z{{z{{{z{}z{|{||{z{zz{z{z||{|{{|{zz{{{zy|{|{{{{{{z{z{zzz{{z{{|{{|{zz{{z{|{{{{{|{{{{zzzzzz{{{{{{{{{z{zz{z{{{{{z{{{zzzzzzz|z{zzz{|zzzzxy{zz{{{z|{|zzzyzzzz{z{{{z{zzzyz{zzzzzz{z{{{yzyyyzzzzzzzzz{{{{zyyzzy{{z{zz{{zzyyzz{y{{zzy{|yzzzzzyzz{zzz{{{z{zzzyzzzy{|{z{{{yzy{yzzyz{zyy{{z{yyzzzyzzz{z{zzzzzyzzzzzzzz{z{{{zz{y{yzyzz{zzzzzyzzzy{zy{{z{z{z{zzzzyzyz{z{{{z{{zyz{{zzzz{{{{{{zzzzzzyzz{zz{{{|{zzzzyzzzz{{z|z|z{zzz{zz{{{{{{{{{{zzzzzz{z{|{{{{{z{{zzzz{z{{zz{{{{{z{zz{{{||{{|{|{{{{{z{z{{{|z{|{{{{{{z{z{|{{{{|{|{z{{{{z{||z{|||z{{{{{{z||{||{||{{z{{z{z{|{{{|||{{{{{{{{|{{|{||{{zzz|{{z|{{||{{{{{z{{{zz{{{{|{{|{{{z{{{z{{{{{|z{{{zz{zz{z{{|{{{{zzzzzyzzz{{{{zzz{{yyzyzzzzzyz{z{zzzzzyzzzy{zz{{zy{zyz{zzzzz{{{{z{zzzzzzzzzzzzz{|zzyzyzyzzz|z{z{{zz|zzyxz{{zz{zz{{xyyzzzzzy{z{z{zzzzzyzyzzz{zzz{zzz{zzyyzz|zz{{zyzy{yyyzzzz|z{z{zyzzzzzzzz|zyzzzzzzzzyyzzyz{zzzz{zzzyzyzzzzzzy{zz{zzy{zyz{z{{{z{{zzz{{y{z{{zzzzz{zzzzzy{z{{{{{{{|zzzyzzz{{{|z{{{{zzz{zz{zz{{{{z{{yz{zz|zz{|{{z{z{{{z{z{{{z|{zz{z{zz{zz{zz{{||{|{{zzzz{{{z{{{{z|{{{yzy|zzz{{{||{z{{{z{{zzz|{|{{{{{yy{{z{{{{{{||{{{{{{{z{zzz|{|{||{{{{{{zz|z{|z{{{{|zz|{zz{{z|{{|{|{{{{{z{{{|{{{{{{{z|zz{{z{{{{{{|{{zzzz{zzz{z}|{{z{z{z{z{z{z{{|{{{zy{yz{zy{{{{z{z{yzyyzyyzzzz{|z{{{zzyyz{zzy{{{{{|{zyzyzzzz{{yzz{zz{zyzzzyyz{zz{{{zyzyzzzyy{{yz{{zyz{yyzzyzz{{{y{zzzzzyzyz{zz{{z{{zzyzzzzzzz{zzz{zzzzyzzyzzzz|{{{zz{zzy{z{z{{zzz{zzyyzzzyyyzz{{{z{{zyyzzyzz{z{{{zz{zzyz{yy{{z{z{{{yzzzzz{z{z{zz{{{zz{zyy{zz{z{{{|{zzzzzy{zz{{{{{{{{zzzzzyz{{{{{zz{z{{{zzyz{z{{{{{|zz{z{zz{z|{{z{{{{zz{{zz{||{{|}||zzyy{zzy{{{{{||{{z{{{|{z{{|{|{{{{{z{{z{z{|{{|{{{|{{z{{{z{{{z{|{{|{zz{{z{z|{|{||{|{|{{zz{{{{|z{||{z{{{z{{{zz{{|}{{z{zz{zz|{{||{|}{z{zzyz{{{{|{{|{{z{zzz{{z{{{{{{z{{{yzzzz{z{z{z{{zz{yzzzzy{{zzzz{{zz{{zzyzz{zz{z{zzzyzzyzz{zz{{{z{{zyzzyzz{yzzz{zzzzyzyzyz{z{z{zzzzzzzy{yyzzzz{zzzz{zyyzzz{{zy{{{zyyyzyzyzyz{z{z{xxzzyzyyzz{zyzzzzzzyyyyyy{{{{zzz{zzzzyzxz{z{{{{zyzyyzxzyzzyyz{z{{zyzyyzzz{{zz{z{{zyzzzyyzz{z{z{zzy{{zzyzz{z{zz{{zzzyzzyy{{{z{{|{yzzyzzzzz|{z{{|z{zz{zzzyzzzz{{{{zyz{zzy{{{{z{{|{zzzzzzzyzz{{z{{zzz{z{{z{{{zz{|{|zz{z{z{z{{z|{||{zz{{yzzy{{{{{{|z|{{{zzzz{||{||{|{z{zzz{{{z{z||{{{{z{zzz{z{|{{{{|{|z{zz{|z{{z|{|{{{{yzz{{{{{{||{|{{zz|{z{{|{{z{|{{yzzzz{z{{{z{{{{{zy{z{{z{{{|{{z{zzzzzyzz{|zz{|{{{zyzzzzzzz{{zzz{{y{yzzyz{{{zz{zzzzzzzz{y{yz{z{{{zy{xyxyyz{zz{z{{zzzzyzzyzzy{{z|{zyzyzzzzz{{zz{zzzyzzyzzyzzzzz{zzz{{yzzyzzzz{{z{zyyzyzyyyzzzzzzzzzzzyyyyzz{{zzz{{zyzzyyzyz{zzz{{zzyzzyyzzz{zzz{z{zzyyzzzy{zyz{|{zyyz{z{zy{{zzz{z{z{yyzzzzz{z{{{{{zyzzyyzz{{{{z{{{zzzzzzz{{zz{{z{zzyzzzy{{{zzz{{zzzy{{{zz{{{z|zz{{zzzz{zy{{{{z{|z{zz{z{{{z{{{|{{{{{zzz{{z{|z|{{{||{yz{{z{yz{{{|||{{z{|zzz{{|{{{{|{{z{{z{{{{z{|{|{{|zz{|{z{z{{|{{|{{{{{zz{z|z{{{|{{{y{{z{z{z{{{|{{{{{zy{zz{{|{z{{{|{zzyz{z{{z{{{{{{{zzzzy{z{z{{zz{{zzzz{yyyzz{{{zz{zz{zzzzzz{z{{{{{zzzyzzzz{zz{z|{{yzyyz{zz{z{z{{z{zyzyzzzzzzzz{z{zyzzxyzyyz{zyzz{{zzyzzyzyz{z{{{{{zzyzyyzzzz{zzzzzyzzzxzyyy{xzzzzzyzzzyzzzz{yzzz{zzzzzzzy{zzzy{{{zyz{zyzzzzz{{z{{{z{zzzyyyz{{zy{z{zz{yzzzzzzzzz{{zzy{z|zzy{zzz{z{zzzzzzzzz{zzzz{{{zzz{yzz{zz{{zz{{zzzzyz{zz{{{zz|{zzzzzzzzz{zz{zzzzz{z{z{z{{{{{z{{zz{zzzzzz{{{zzzz{zyyz{{{|{|{{{{{{|{zz{{zz{z|z{{{{{yyzzzy|{{{{{|{{{z{z{{y{{z{||{|zzz{{z{zz{|{{{{{{zz{y{{{z{{{{{||{{z{zz{{{z{{{{{|z{z{{{z{|{|{{|||{{z{zzz{{{|{{{||{{{zyzz{{{{{{{||zyz{z{zz{{{{z{{{{zzzzy{xy{{{zzzzzzxzzzzyz{z{{{{{zzz{yxzzzzzzzzz|zzyz{zzz{{z{zzzzzyzzy{zyzzzzzz{{yyzyyzyyzy{z{{z{zzzzzzzzyyyzzz{zzyzzzyzxzz{yy{zzzzyyyyyzzzz{{zzzzyyyzzzyyyz{zzzzzyyzzzyyzy{zzzzzzyzzzy{yyzz{z{z{zzyyzyzxzzz{zz{{zy{yyyzzzzzzz{{{zyzzzzyzzzzzzz{zzyyyzzzzyz{{{{{z{yyzzzz{{{{z{z{{yyzzzzyyzzzz|z{|zzyyzyzzzz{{{{{{zzzyzzzyz{{yyz|{{zzzzyzz{{{{zzz{zyzzzzz{z{y|{|{{z{zz{{zyz{{||{{{z{yzz{zy{{z{{{{{{{z{{zz{z{{||{{{{z{{{zz{zzz{||{{|z{zz{zzz{{|{|{||zzz{zz{z{z{{||{{zy{z{z{|z{z{{|||{zzzzzzz{{z{{|{{zzzzzyzz{zy{|{{||zzz{{yz{z{{z{{zzzyzzzyz{z|z{{|{yzzzzzzz{zzz{{{zyyzyyyzz|zzzz{{{yzzzzyyz{zz{|{z{zzzzyz{z{{zz{{{{zzzz{{y{z{{{{z{yzzzzzyyy{{zzzzyzzyyyyyzz{{zzz{zzzy{zyzyzzzz{|z{zzyzyyzyy{{{zz{{yz{zyzzzz{zzz{z{{zyyzzyyz{z{{zz{zyyzzyyy{{y{zzz{yzzyzy{zz{zzz{zzzy{yyzyzzz{{{|zzzzzzzyzz{z{{{{y{{yyzzyzz{{z{z{{{{zxz{zzzz{{zz{{{{zzzzzzzz{{{{zz{zy{{zzzz{{{{z{{zzzz{zzzz{|{z{z{{zzz{zzz{zz{|{{{{{z{yzz{z|{z{{{{|{zz{z{y{|{{{{{{{{zzy{z{y{|{{{|{|{{y{{{{{{{{{||{|z{{zz{{|{|{{{|{|{z{{z{|{{{|{{|{{|zz{|{z{{{{|{|{|{zy{{{zz{|{{{{||{zzz{z{{z|{{{{|{{{zzyzzz{{{z{{{{{zzzyyz{z{{zzzyzzzz{zyzyy{zzz{|zzz{zyzzzzzzzz{{{zyzy{zzzyz{{{z{z{{{zzzzy{{{z{{{{{zz{yzyzzzzzzzz|zy{yyz{zzzzzz{{{yzzyzzyzzzzzz{z{zzyyyz{zzzyzz{{zxzyyyyyyzz{zzz|{z{{zyzxz{{{{z{z{zyzzzzyzyzz{{z|{yzzzyzyz{z{zz{zzz{yzzzyyz{zz{{z{z{zzzzyz{{zzz{{{{zzzzzyyzzzzzy{|{zzzzzz{{{zz{{z{zzz{yzzz{z{{{z{{{y{z{z{zzz{{{|zzzz{zz{zz{{{z{{||z{yyz{zz{{|{z|{{{{{z{zzz{{{|{{{{{zz||zyy{{z{{{{|{zz{zzzz{{{{{{{{{z{|z{{zz{{{{||{{z{zz{|zz{|{{{||{{{|{{{{{||{{|||z{|{{{{zzz|{|{{|{z{z{z{{{{{{{|z|{{{z{{y{{{z{|{|{zzz{{zz{z||{{{|{{z{{yzzz{{{{zz|{zz{zzzzz{{z{{zz{yzzzyyzz{zz{{z{{yzzzzyzz|{z{{{{{{zyzyzz{zzz{z{{zzyzzzyz{zz{z{z{{zyyzyzzyyz{zz{{{yzzyzyzzz{zzzz{zzzzyzyyzzz|zz{{{{zzyyzz{{yz{z|yzzyyzyyzzy{zz{zz{yyyyyzy{{{zzzzzz{z{zyzzz{zz{{z|zzy{{yzzyzz{{{{{{zzyzyyyz{{{zzz{{{zzzzzzy{{{|z{|{{zzzzzzyz{zzzz{{zyzzzzzzz{{z{{{{zyzzz{zzzz{zz{{z{zzzzz{y{{zz{{{{{{zyzzzzz{{zy{}{{zz{zzyy|{z|z{{|{y{{{{{zz{{{{{z{{{{zz{{{{zz{{|{|{zz{{yzzz{|{zz|z{zz{zzzz|{{{|{}|{zz{{{{zz{|{{{||{z{{z{{{{{{{||||z{{{{{zz{|{{{|{{{zz{{z{{{|{|{|{{zzzz{zzz{{|{{{||{{{zzz{{y{{{|{{|zzzz{{{z{{{|z{z{{zz{zz{z{{{{{yyzzzzzzyzzz{zzzz{zyzzyzyy{yzzz{{zzzzyzzyyz{{z{{{{zyzzyzxzzzzzzz{{{zzyxzzzyyz{zz{zzzzz{yzzzyzzyy{zzzzyyzyyyzz{z{z{yxy{zzyyyzzz|zzzzyzyzzzzzz{zzyz{z{zz{yzyzzzzzzzzzzzz{yzzyzzy{z{{zzyzyzz{yyz{yzzzyzyzyzzzzyzyzz{z{yyzzzyyyyzzyzz{z{zzzzzz{zzzyzz{{yyz{zzy{{{zz{z{{yyzzyyz{zz{z{{{{zzzzzy{z{{{zz|{z{zyyz{{{{{{zzz|{zzyzz{zz{{|z|{|{{{zzz{zzz{{z{{{{zz{z{{z{{{{{{{{{zyz{{{zz|z{{z{{{|zz{y{z{{|{{{{|{{{zzz{{{{{{{z{{{{z{zz{{z{|{{z|{{{{{{{{{z|{{{{{|{zyzz{z{z{{z|z{{|zzz||{zz{{z|{{{{{z{yzyz{{{{z{{{|zz{z{zzzz{{{{{{z{{{zzz{z{z{zzzz{zyzyzzyyzz{zzzz{zzyyyyzzzzyz{{{{{zyyzzyzyzyz{z{{zyyzzy{yyz{{z{{{zzzyxyyx{z{yzz{{zyzyy{zz{z{zy{{zyzzyzyyy{z{zy{z{zzyyzzxzyz{{zzz{zzyyzyzxzzzyz{{y{zzzyzzyz|{zzzzz{zzyyzyyy{z{z{{zzzzzyyyyz{y{zzz{zzyzzzyxyz{{z{{{zzzyyzyzzzzz{zzzzzyzz{zzzz{{zzzzzzyzzyzyzzz{z{{zzyzzyzzzzzzy{{zzzzzzzzzzz{||{z{{zzzz{z{yz{{z{z{z{yzzyyzz{{zzz{|zz{yz{{zzz|{z{{{{zz{z{z{z{{{{{{{{z{{z{zyy{z|}z{||{{{z{{zz{|{{|{||{{{zz{{z|{{{|{{{|{{zzzzz{{zz{|{{{{{{zz{{{{{{{|{{{{zzzy{{{{z{{|||{zzzz{z{zz{{{{z{{{zz{z{zzz|{{|{z{{yzz{zyzz{zzz{{yzzyzzzzzz|z{zz{yyyzzyyzz{{{zzzz{zyyyy{yy{{zzzyzzzyyzyzyyzy{zzz{yyzzzyyyzzzzzzz{zzyzzyzzzzzyz{zzzyzzzyyyz{yzzyzzzyzyyxzyzz{yyzzzzyyxzyzzyyzzyzy{yxzzyyzzzzzzzz{{zyyzyyyzzzzyz{{zzzzxzyzyzyzz{{{zzyzzzyyyzzzyzzz{yyzyzzzyzz{y{z{zzz{zzyzyzzzz{{zzzzzzyyzyzzzzy{{{{z|{zy{{zzzzzz{{zyyyzzy{{zz{|{{z{yz{{yzyy{zz{{z{z{{z{yy{{z|{z{|z{zzzzzyzz{|zzzz{|z|yz{zyz{{z{{||zzzz{{{z{z{{{{z{{zzz{zyz{{{{zz{|z{zz{zyz{{{z{{{{z{z{{z{{{{z{z{|{{zzzy{z{{|zz{|{|{z{zz{zz{{|{{z{{{z{z{z{z{{zz{|{{|zzz{{z{{{{{z{{{z{{yzzzzzz{|{{|{z{zz{{{y{{z{{{z{zzzzzyzzyz{{z|{zzyxzzzyx{zzzyz{zzyyzzy{yzyz{zzzzzyyxzxyxyy{{z{{zyyyzyzzyzz{zz{zzzzyyyzyy{zz{{z{zzzyyzzzyzz{zzz{zzxyyxzyyyzzzyzyzzyyzyyyyzzyy{yzzyyyyzxzxzz{zzy{z{zzzyyzzzzzz{z{{zyzyzzyzzzzzzzzzzxzzyzyyz{{zyzzzyyyyzzzzzzy|zz{{yyzz{zzyxzz{zyz|zzyyzzzzzz{zzzz{yzzzyzzzzzzz{{|{{yzzyzyzzz{zzzzz{yzzzzzzzzzz{{z{zyzyyzyy{{z{{z|zzy{z{zyz{{{{{|z{zz{z{zzz{{||{|{{zz{z{z{z{{{{{{{z{zzzzzy{{{{{{|{|{y{z{zzy{|{{{{{z{zzzz{zz{z{{{{||{y{z{zz{z|{{{{|{{{zzzzzz|{{zz{{{{{{zzzzz{{z{{z||z|z{|zz{{|{{z{{{zzyyzzzy{{{{|{{zzzyzxzzzz{z{{{{{zz{zzz{y{z|{|zz{{yzzyyzyyzzzzz{zzzyzzzzzyzzz|z{zzzyyzyzyyz{zzzz|yzzzyzzy{zz{zzzzzyzyyzyyzzz{{zz{zyzzzyyyzyzzz{zzzyzzyyyzz{zzzy{zzzzyyyyzy{yzxz{zyzyzyzzyzzyyy{zzzzyyyyx{yyzzzz{zzzzzzzzyz{{{zz{{zzzyzyzx{{zy{{z{zyzyzzzzz{zz{z{zyyyyyzzz{zzzzzzzzzzzyzy{zz{z{z{{zzz{yzz{{z{zzzzzzzzzyz{zzz{z{z{{z{zzzyzyy{{z{{{zzzzzzzzy{z{z{z{z{zzzzzzz{{{{z{{z{{yzzzzzz{{{{{{z{zz{{zzz{{{{z{{|zzzzzzzz{{|{{{{z{z{z{z{z|{{{z{{|zzzz{{{{{{{z{|{{||{zzzzzz{{{|z{{{z{{{z{z{|{z{z|{zzzzzz{{z{{zz{{{{zz{z{{{{{{{z{{{zzzzz{zz{|{{z{{|{{z{zzzzz{z|{z{{zzzyyyz{z{zzzz{yzzzyzz{yz{{z{z{zzzyyyzyy{z{zyz{{zzzyy{zxzzzzz{{{zy{zxzzzyz{{z{{{{{yyxyzyyz{zzyzzzyzzyyzyz{zyy{{zzzyzyyyzzzzzz{{zzzyyyyyyyzzyzzzzyzzyyzzyzzzzzzzyyxyyy{zzzzzzz{z{zzzyyzzzyyzzz{{{zyyzyzyyzzzz{zz{zyzyxyzyy{zz{{z{zzzyzyxy{{{zzz{{yzzzzyzyz{zz{zz|{zzzyyzyzzzz{{{{z{zzyzyz{z{{{z{zzzzzzyzzz{zz{{zz{yzzzzyz{yz{{{|z{yzzyzzz|{{zzzz{{|z{z{{z{z{{{|{{zz{{y{{z{zz{{{{zzzzzzzzzz{{z|{{{{zzz{zzy{{{{{{{|{z{zz{{zz{{|zz{{{zz{z{y{{|z{{|{|{{zz{zzz|z|{{{{{{zzzzyz{zzzz{z{z{{y{zzzzz{|z{{{{y{zz{zz{z{{{z{{|z{zzzz{zz|{{z{{{{yzzzz{zz{zz{{zyzzyzyyzzy|{zzz{{zyzyyzyz{zzz{zz{zzzyzzz{zzz{z{{{zyzyzzzzy{{{zy{z{zzzyzyzyzzzz{{{yyyyyzzyz{z{z{{zyzyzyzxzzz{zzz{{{y{zzyyzzzzzz{{{yyzzyzzzzzy{{z{{zzyzxzzzzz{z{{zzzyzyyzyzyzzzz{{{zyzyyyzyz{zzzzz{zyzzzyyzzz{{zzz{{zyzz{yyy{y{zzzzzzzzzz{z{{zzzz{{{{{zyyzyzz{zz{{{zzyyzyzz{z{{z{{{zzzzyzyz{{{zz|{{{zyzzyzy{z{zz{{{{zyz{zzz{|zzz{{{{yz{{{{z{zz{{|{{z{{zzz{z|{z{z{{{{zzzzzyz|{{z{z{z{zy{{zzy{|{{{{{{{z{{z{{z{z{{{z{{{zzzzyz{{|{|||{{{y{{z{z{|{||||{{{z{{zzz{{{z{||{|{z{{{{zz|{{|{{{|z{zzzzy{{{|z{{|{{z{zzz{z{z|{{{{z{zzz{zzy{|{z{zz{zzxzyzzyzz{{z{zzy{zzzzyzyz{zz{{{zyzxzzyzyzzz{{{z{zzzzzyzyy{{zz{{zyzyxzyyyzzzzzz{zzzyyzyxzzzzz{z{zyzzyyz{{{yzzz{zzyzyyyyzy{zzzzz{yzzzyzyyzzzzzyzzzyyzyyyz{zzzzz{z{{yzyzzyyz{{{z{z{yzyzyzyzz{xzz{{{zyyyzyy{{z{y{{{zy{zzzyzzzz|{{{{zyyzzyzzzz{{{z{{zzyzzzzzzz{z{|{{yyzyzz{yz{{zzzz|{{zy{zzzz{{{zz{{{z{zz{zy{{{{|z{{{yz{zzzz{{{{z{zz{z{zzz{{{{|||z{{{{zzz{{{{{|z{||{zyz{{zyy{z{{z|{{zz{z{{zy{{z{{|||z{zzz{{z{{{{{||||zzyy{{{{{{||{||{zz{z{{{{{{{z|{{{z{zzzz{z{{z{{{|{{z{{{{z{{z|{{|{{{zyzzzy{|z{|{{z{{zyzzzz{{z{{{{zzz{{yy{y{z{zzzz{yzyyzzyyzyzyzzz{zyzzzyyy{{{zz{zzzzyzyyzyzzzzzzz{{zzyyyzzz{{{zz{{{yyyzzyyy{{zzzyzzyyyyzyxz{zz{zzz{zzyzyyzzzzzz{zzyxyyyzzyzyzzz{{zzyyyzzzzzzyzz{zyzzzyyyyyzy{zzzz{yzzzyzyz{zz{zzz{zyzzzyzzzzzyzy{zyzzyyzzzzzz|{{z|yz{zyyyyzyzz{z{{yzyy{zyyyzzz{zz{zzzzzyzyzz{{zz{{zzyzzzzzzz{{{z{{zzz{zzyzy|z{|{z{zzz{zyzz{z|{{{|{zzz{zzzzz{{{{|zz{y{zzzzz{{{{{{z{{y{z{z{z{{{|||{|{{z{zzzz{|{{zz{z{yz{zz{z||zz{||zz{zz{z{zz{z{{{|z|z{{z{zz{|{{{{{{{zzz{{zzz|y{{z{{|y{zzzzz{{{{z{{|z{{zzzz{|{z{z{{{{{zzzzzyz{{{{{{{z|z{zzyz{z{{{z{z{{zz{zzyzz{{{zy{xzyzzzzz{{zzyz{{zyzyzzyzzzz{{zzzzzyzzzzy{zzzz{{{yzyzzyyy{zz{z{z{z{{yyyzzzzzzz{zzzzyy{yzzz{{{{yz{zz{yyyyyxz{z{{zyyzzy{yyyzy{zyzz{yzyyyyyzzzy{yzz{yyzzyyyzz{{{{zz{zyzzxzzzzzzzz{z{zzyyzz{yzzzzz{z{yzzzyyzz{|z{z{zzzy{zyzzyyyy{zzz{yzyyyyyzz{{zzz{{{zzxyyzz{z{z{{{{zz{zzzzz{zz{{z{{yyzzzzzzy|z{{zyz{yyzzzzz{z{{{{|z{yz{zzzzz{{zz{z|{zzz{{{{{{{|{{{{zz|{zzzzz{z{{|{|zz{{z{zzz|{z{||{zz{zzzzz}{{{{||{{z{yzz{z{{zz|{|{{z{{zzzz{|{{|{||zy{zzz{z{{{zzz|{{z{{zzzzz{{{{z||{{z{{zzz{{z{{|z{{zzzz{{z{{|zz||{{zz{zzzy{{zz{{{zzzzzzz{{{z{{{y{{zzzzzyyzyz{yzzz{zzyzzyzyz{zz{{z{{yzzyyzzz{{{z{{yzxzzyzzzz{z{z{|zyyzyyzyy{{zzzzz{yyzyyy{zz{zzz{{zzyzyyyzzzz{{zz{zzyzzyyyyzyzzzzzzyyyyzzzz{z{{{{{{zxy{xxyzy{{zz{zzzzyzyyzzz{zzzzzzzyzzzyzzzzzzzz{zzzzyyzyzyzz{zz{{zzzzyzyy{zzzzz{z{zzy{yyzz{z{zzz{yxzzzyzzzyzzz{z|zz{zy{zzz{{z{|z{z{zzzy{zzz{{{|z{z{z{zzzzzzz{z{||z{zzzzz{{z{zxzz{{yzz|{yz{{||z{|{zzzzz{zzz{z{{{{|z{zyy{yz{z{|{{{{{z{zzz{z{{{{{{{{z{{{{zz{{{|{|{{|{z{{{z{z{|z{{|{{{z{{zzz{{{{{||{{{{zz{zz{{|{{{{{|{{z{{z{z{{{{{{{{{zzy|zzzzzz|{{||{{{zzzzz{zz{{{{zzz{zzzzy{y{zzzzzyzyzyzyzz{z{yz{{yyyzzzyyzz{zzz{{zzyyzzzy{zy{zz{zzzzyzyyyzyzzz{z{{zyyyyzy{zyz{{z{{xzyzyzzz{zzz{z{yzzzzyzyzzzyzz{zyzzzyzzzzzyzzzzzzyzyzyyzzzzzz{{zzzyzyzy{z{zzy{z{yzyyzyzyzz{{zzzzzzzyzzzyzzzz{{{yyzyyzzzzzzzzzz{zyyz{z{zz{z{{yz{{{zyzzyzzz|{{{zz{{zzzzyzzz{zzz{{{{zyzz{zzzz|{{|{{z{zyzzzz{{{{z{z{z{zzzzzzz{{zzz|{{zzz{zz{z{{z{{{z{{z{y{z{{{{z{{{{zzyzzzz{{|{{z||{zz{{z{zzz{{z{{{{{z{z{z{z{{{{|{{{zz{z|z{{{{|{{zz{|zzzz{z{{{{{|{{|{{z{zz{{{{z{|{z{{{{{z{{z{{{{{{{{{zzz{z{{{|z{{zz{z{{zz{y{z|z{{{|{{zzzzzzy{{{{{{{{{{{zzz{z{{zzzzyzzyyyyyyyzz{yyz|zyzyyzyzyzzz{y{z{zzzzyyzz{zzyz{{{zzzzzyyyzyz{zz{{{zzzzzyxzzzz{y{zyzyyzzzxzzzzyyzzzzyzyyyyzzzyyzzzzyzyyzyyzzzzzzzzyyy{zyzyzzzzyzzzyzyzyzxyzz{zzzz{zy{zyzzyzzyzy{{{yzyzzyzxyy{z{{{yzzyyzyzzy{zz{zzzzyyzzzzyz{zzzz{zz{zzzyzy{z{yzz{|zyyzzzz{z{|{yzz{zzzz{{z{{z{z{zzzzzzzzzzzzzzzz{z{zyyzzyzzz{{z{{{{zzz{zzyz{{{{{{{{{z{z{zzz|{{|{{{{{zyz{zzy{{{z{{{{z{zzzzyzz|zz{{{z{zzz{zzz{{{z|{{{{z{zzzzz{{{{{z{|{zzyzzy{z{||{{{{zzz{zzzz{z{z{z|{{{zz{{z{{z{{{z{{zzzz{zyz{{{{{{{{zz{yz{{zzzz{{{{{{zzz{{{{z{{{z{{{yzzzzzzz{{{{y{{zzzz{zyzzz{{zzzz{yyzyyzzz{zzzzzz{zzzyyzzy{zz{{{|zzyzyyyyzyzzzzz{{zyy{zzzy{zzzzz{zzzzzyzzyyy{zy{{zzyzyyzyyz{{zz{zzzzzzzzyzzyzzzz{zyyzyz{z{zz{yz{zz{zyzzzxyzzzy{zyzzxzyyyzz{{z{z{{{zzyyzzzz{zzzzz{zzyyyzzyyzzyz{z{{zxyyzzyzyz{{{z{z{{zzzyzz{zzzz{{{zzzz{yzy{{z{{{{|{zzzzzzzzzzzy{{zzzzz{zzyz{z{z{zzzzzzxyzy{{{z{{{{zzzzzzzz{{|{{{{{{z{{{zzzz{{{{{z{zzz{|{zz{{z{zz{{z{z{{{zz{{{{{{{{{z{z{zz{{{{{{{{|{{zzz{zzz{zz{{{z{z{zz{{{z{{{{|{{|{z{z{yz{zz{{{{z{zyzz|z{z{{{{zz{{{{z{z{z{{z{{|{{{|}{{{{zz|z{z{|z|z{zzzzzz|{|zz|{y{zz{yzy{zzzzzzzyzzzzyzyzzzyyy{zyzz{zyzz{z{zz{{{zyyyyzyyzzzzzzz{{yzzzzyz{zzzzzzzzzyyyzyyyz{zyzy{zyzyzyzzz{{zzz{zzyyzyzyzzz{zyzzzzzzyxzxzyzzzyzzzyzzzyyxyzzyzzzzzzzzyyzyzzzzz{z{{zyzyyyzxy{yzz|{{zzzzyyzy{z{zyz{zzzyyzyyzzzyzy{z{yxzyy{yzzz{z{{z{zzzyyyyzyz{zzz{zyzzzyyzz{z{{z||{zyzzyzzyzzzyz{{zzzzzyyzyzzyz{{zyzyzzzzyyz{zyzz|{zz{zzyzzz{zz{{{z{{{zz{zzz|{{z|{{zz{{zzzzyzz{{|{{zzzyzyzz{z{{{z{{zzzzzzyy{{{{|{|{zzz{z{{z{|{{||{{|{z{{y{y||{{{{{|zz{{{zz{{{y|{{{}{zyz{zy{y{z|{|||{zz{zzz{{z{|{{{zz{zzz{zzzz{{zz{{{zyyzz{zz{{{zz{{zy{yzz{zz{{{zzzzzzyzzyyyzzz{yzz{{zyzyyyyzzzzzzzzyzzxzzzyzy{{z{zzzyyyzzyzz{{{z{z|yyyyyzyzzzzzz{z{zzzyzzzyyz{yz{zzyyxyyzyzzz{z{zzzzyzyyyyxzzz{y{zzzyxyzzyyzzzzz{{{yzyzzyxzzzz{zz{z{zzzzyyyy{{zzzzzzyyzyzyyyyyzzzz|{zyyzyyzy{yz{zzzyyyyyzyyz{{zzz{zzzyzzxzz{{zyz{{z{yzzyy{zz{{z{z{{zzzyyyzyz{{zzzzz|zzzz{yy{{zz{{{{zzyzyyyy|{{{z{{{{yzzzyyz{{z{{zzzzzzzzzzz{|{|{{{{zz{yz{zzz{z{z{{{{z{zzz{zz~|{{{{|zy{{{zzzz{{z{z{|zzzz{z{{z}{z{{{{{z{zzzy{z|{{{{z|{{{{zz{{{||z{{{{{yyz{zz{z{{{{{{{{zzy{{z{z{{|z{{{zzzzzz{zz{z|z{{z{zzzzyy{{{z{{{{{{z{zzyzyzz{zzzz{yzzyzy{z{y{{{zz{zzzyyzzyz{z{{{zzzzzzyzz{{yzzzzz{y{yzzzzzzz|zz{{z{zzyyy{yzy{zz{{{zz{{zyzyyz{{z{{{yyzzyyyz{z{zzyz{zzzzzzzyzzzzzz{{{yyzzw{z{{zzz{{{zzyyzzzyy{zzz{{{zyzzyyzyzzzz{{|{zyzzzyzzzzzzyz{|{zyzzzzyzzz{{{z{{yzzzyz{{zzzyz{{{z{zzyzzz{z{{|||{yzzzyzz{z{{{{z{zzzzzyz{{{|z{{{{zz{{zzz{z{z{{z{{{zzzzzzz{{zz{{|z{yz{zzy{z{{z{zz{zzyzz{{z{z{{{|z{zzz{zzzz{|{|z{{|{y|{{z{z{{{{{{{{{zz{zzz{|z{{{{||{z{z{{{{{{{{{{|{{zz{z{{z{}{|{{{{|{{zzz{yz|{{{{||{{{{{z{{{zz{{{{|{{{z|{{zz|{{{{{|z{zzz{zz{{z|z{{|{{z{zzzzz{{zz{{zzz{zyzzzz|zz{zzzzyzzz{zyz{{zzyz{zzzzzyzzzzzz|{{{{{zzzyzyzy{zz{z{zyzzzzzyzy{zzz{{{zzzyzzyzz{z{{z{zy{yy{yyzz{zzzzz|zzzyyzzzzzyz{{{zzyyzzzyyzz{z{zzyzyyzyyyzzzzzz{zzzyzyzyy{{z{zz{zyy{zxyzyz{{zzz{{{yzzzyyzyzzyzz{zzzzyyyzxz{zzz{zzyzzyzzzzz{{z{{z{zzyzyzz{zz{yy{zzzzzzzyzy{{yzz{{|{z{{zzyz{yzzzz{z{z{zzyzzzzz{z{{z{zz{zzzz{z{z{{|z{{zzzzzyz{{{{{{{{zzzzzz{zz{{{|{{zz{zz{{z{{z|z|{|{{zzzzyzz{{|{z{zzz{z{{zy{|zz{{|{zzzzzz|zzy{{{||||{z{{{{z{{{{{{{z{zz{zzy{{|z{z{{{{z{z{zy{{|z{||{||{{z{{z{{z{z{z{|{{z{yzzz{{{{{{z{{zyzzzzzz{}|{z{{zzzzzzzzzz{zz{zyyzyyyyzyzz{zzz{zzzyzzzyzz|z{zzzz{zzzyzzyzzzz{z{y{zyzyyzy{{z{z{{{zyyxyzxyzzyzy{zzyzyyzzxyyzyzyzzzzyyyzyxxz{zyz{{zzxyyyzyz{yzz{{z{yyyyyyyyyzzzzz{{yyzyxzyyzzzz{{{zyzzyyyyyzzy{y{{zzyyyyzyzyy{zzz{zy{yyzz{yzzyzz{zzzz{zzyyzzzz{zz{zzzzzzzxyzyyzzz{{{zzzzyzzzzz{{yz{zzzyzyzzzz{{zzzz{{yzzxzzy|y{z{|yyyyy{zzz{{z{z{zzzyz{zzyz{{zzz|{z{z{z{zzz{{z{{|{{z{y{zzz{z{{{{{{|{zz{yzzy{{{{{{|{zz{{{zzzz|zz{{{|zz{zzzzz{|zz{|{|zy{zyzz{||{z{{|{|{z{z{zz{{z{{{{zzzz{zzz{{{{{{{{{{{{z{zzyzzz|{{|{zzzyzzyzz{zzz{z{{zzzzzzzy|z|z|{zzyzzxzzyzzzz{{zz{zyzzxyyzzz{z{{zzzyyyzyy|zz{{{z{y{yzzyzyz{zzzz{zzzzzzyz{zz{zzz{zyzzyyzzyzz{zzz{{{zyzzzzyyzzzzz{{zzzzzyzyzz{{zyyzzyzzyyyyzzzz{yz{yyyyzyyyzzzzzzzz{yyzyxzzz{zzz{{z{zzzzzyy{y{{zz{{zyyzzyzzyzzz{{z{zzzyzyyyy{zyz{{z{zzzzzyyzzz{{{{z{zyy{yzzzz{z{{{{zzzzzyzyyz{yz{y{zzy{yzyzz{{zz{z{yyzzzzz{{{{{z{z{zz{zzzy{z{|{z{{{zzzzzzz{{z{zz{{z{z{zzz{y{z{{{|{{z{zzz{z{{{z{{{{|zzzz{zzz{|{{z{{{{{yz{zyz{|z|{{{|zzzz{{{{z{{{|{{{z{{{yzz{z|{|{|{{{{|zzyzy|{{{{{{{{z{{z{z{{{{{z||||yzz{zz{z{{z{{||zz{zzzyz{{z{{{{|z{yzyz{y{z{{z{{{{{{zyzzz{z{z{{{{yy{zzzyzzz{zzz{{zzyzyxzy{{zzzz{|{z{zyzzy{zzz{{{y{zzzzzzyz{z{y{z{zzzyyyzyzz{z{{||{yzzyzzyz{zyz{{zzzzzzyyy{z{{zzzzzzzyxyzxyyzz{{|zzyzzyxzyyz{{{z{zzzz{yyyy{zz{zzzzzyzzzzzy{{{z{y{{yyyyzyzyzzzzzzzzz|zyzxyzzzz{zz{zzzyyzyzz{zz{z{{zz{{yyzzyzzz{{{z|zzzyyzzyz{|zz{zzzzzyzzz{{{{z{{{{zzzy{yzz{{z{z{z{zzz{zzzyz{yzzz{z{yzzyz{z|{zzz{{{zzzz{y{z{z{{z|z{zzzzzzz{z{{{{{{|zzz{z{yz{z{{{|||{z{{{yz{{|z||||{zz|z{{{zz{z{{|{{{{yzz{{zz|z{{{||zyz{{zz{{{|{{|||{|z{{zzz{{{{{{|{{z{z{z{{|{|{|{|{{zzzz{zzz{z{z||{|z{zz{z{z|{{{{{{z{z{zy{y|{zz{z{{zzzz{yzyzzzzz{{zzzyyzyzzzz{{{y{|{zz{yzzzzzzzz{|{yyzzyyzzyzzzzzzzzyzyyy{y{zz{z{zzzzzyzzzzzzzyzzzzzyzyzzzz{zz{z{zzzyyzzyzyyzz{{{zzzyzyyyzyz{z{zzzzzyyzyzzyz|zz{{z{yyzyyzzzyz{zz{zzzyzzzyzyyzzzz{z{zzzyyzyzyz{zzzzzzzyzyz{zz{y{zzz{{yzy{z{zzzz{z{zzzzyzy{{yz{{{z{{{zyzyzy{z{zzzzzz{z{{{{z{{zzz{{{{z{zzz{zzzz{z{{{|{{z{{{zzz{{z{zz{{|z{zzz{z{{{{{{{|zz{{z{{z{{{{{{|{{{y{z{{y{{{{{{{z{zzzz{zz{{z{{{{{zzz{z{{zz|{y{{{z|zzzzz{z{{{{{{{{{z{{{zzz|{{{{|{{zzz{{zyyz|z{z{|{{{zzzzzz{{{||{{z{zzz{zyz{z{z{{|{zzzzyyz{{{{{{z{zyz{z{zzzzz{z{|z{zyyyzzyyzz{zz{zzzzzzyyyzzzz{{z{{zzyy{z{yzzzyz{zzzzyyyyzzy{z{{zz{yyzxzy{z{zyzyzzz{yzzyyzyzzzyz{zyyyzyzz{zzzzyz{{yzy{xyzyy{zzzz{z{yyzyzyyyyzzzz{zyzyyyyzzyy{zz{{z{yyzzyyyzzyzzzz{zzyyyyyzyz{zzz{zzzzzzzzzzyzzyyz{zzyzz{zyy{zz{zz|{{zzzzzzzzz{zzzz{{zzyyyyz{z{{z{z{yzyzyzzxz{{z{zzzz{yzzyzzz{{{z{z{zzzz{z{y{z{zz{{{z{yzzzzzzzz{{{||zzzzzzz{{{z{{{{{z{{zzz{z{{z{{{|{{yzz{zyzz|{|{||z{zzzyz{z{{{|z|||zzzzzzz{{{z{{{||{z{{z{z{{{|{{||{{z{{{zzz{{z{{z{z{zzzz{y{{{z{||{{{{{zzzzz||z{{{{||zyzzz{zz{z{{z||{yzzzzzz{{z{z{{zzzz{zy{y{{{zzzzzxyyyzzzyzzz{yz{{zyzz{yzz{zzzz{{{zzzyzyzyzzyzz{zzzyyzzzyzz{zzz{{{{zyyxyzy{zzy{z{{yzyyzzyyzzzz{{{yzzzzzyzzzz{zy{{zzzyyyyyzzyzzzyz{yyzyzyzzzzzzz{{zyyzyzyyzy{zz{{zzzy{yzzzyzzz{{y{zz{zyyyyzxzyyy{zzzzyy{yyzxzz{{{zzyzzzzzyyzy{zz{z{zzyyyyzzyzz{zz{{yzyyyyzyzzzz{{{zzzzyzzyyyz{{{{{{zyyzzzyzz{zz|z{zyzzyzzyz{{{zzzzzzyzyzzzz{{{{{{zzzzzyzz{z{z{|z{z{zzzyzz{z{zz{{{{{zzzz{zzy{z{zz{{{{yzzzy{{{{{{{{|{zzzzz{z{z{|{|{z{z{{{{{z{{|{z{z|z{{zzzzyz{{{{z{{{{yzzz{zzz{{z{{z{{{zzzzy{{{{zz{{{yz{zzy{{{{z{{{|{{{zzz{{zzzz{{zz|zz{yy{zy{{z{{{z{zzz{zzyy{z{yzz{{zzyyzyzyzzzzz{{zzzzyy{yy{yz{zz{y{yyyzyzzz{zzyz{z{zzzyzzyzzzz{{{{z{yzyyzyzzyzzzzzyzzzyyyzzzzzz{zz{yzyyyyyyzyzy{z{yyzyzyyzy{zzzz{zzzzzyzyy{zz{{{zzzzzyyzyyzzzzzz{{zyyzyyyyyz{zzz{{z{yyzzzzy{zzz{zzyyzzzz{zz{zzz{{{zzzyzzyyyzzz{z|{yyzxzzzz{zz{y{{{{zzzyzzyz{{yzz{{{z{y{zyzz{{z{z{{yzzzyzzzz{zz{{{z{zyzzyzz{|{z{{{{{zzz{zzz{{||{z{{zzyz{zz{|z{z|{|{{zzzzzyy{{{{{{{{{zz{{{z{{{{z{||{yzzzz{{{{{|{{|{||zzz{|zzz{||{{{{z{{{zzzz|z{{{z{{{{{|{{{zzzz{z{{|zzzz{zz{|{z{{|z{zzzyzz{zz{z|z{z{{zzyzzy{z{{zzz{{z{z{zzz{zz{z{zz{yyzzzyyy{{zzzzz{zzyzyzyyy{{zz{z{zzyyyyzzzzz{{{{z{zzyyyyyzz{{zz{{zzzzyzzyyz{zzz{{z{zyyzzyzzzz{z{zzzyyzzzz{zzzy{{zzyzxzzyyyzzzzz{zyyyxyzzzyzzyz{{zyzzzy{yzz{{z{zzzzyzzyzzzzzzzzz{zyzzzzyzz{zzzzz{zzzyzzzzzy{zzz{zzzzzzzzyzzz{zz|{zzyzyzy{yzzzzz{z{zz{yzzzzzzzzzz{zzzzyzzzzz{z{zz{zzz{zzyyzzz{{{{{zz{zyyzyyzz{{zz{zyz|zz{zz{{{zzzz{{yz{zzzzzz{{{{{{z{zy{{{{{z{|{z|{zz{yzzzz{{{{|{{{{yz{zzyzz||{|{||zz|zz|{zz{{{z|{|{z{zz{z{{|{|{{{zzz{yzzz{{{{{{{z{zzz{{z{z{{{|{z||{{z{|z{{{z{||{|{z{{y{zzzz{z{{{z{{zzz{{yzz{{{z{{{z{zzzzzyzz{{zzzyzy{yzzzzz{z{zzzzzzyzzxzzzzyz{{z{zyzzzzzzzzzzz{zzzzzxzzyzz{zyz{{{zzyyyxyzzz{zy{z{zyyyyyyyyzzzzz{{zzzzyyyyzz{z{{zzzy{yyzxyyzzz{{zzzyyyzyyyz{yzzy{yzyzzzzyyz{zzzzzyz{zzyyzy{zzzzz{{zyyzyzyyzzzz{z{{z{yyyyyyzzzzzz{zzyzzzzzxzzz{y{{{{yyzzyyzz{z{zzz{z{zyyzzzzzz{{{{{zzzzzzz{zz{zzzz{zyz{zyzyy{{{{zzzz{zzzzy{{{zz{z{zyyzzzyz{z{{zz{{{zyz{zzzzz{z{||{{y{z{{{zz{|z{{{{|{zz{zzzy{z{{|{|{{yzzzzzz{{|z{{{|yz{zzz{z{{{{{{{z{zzzz{{{z|{{{|{zzzzz{z{{{|{{{z|{zzzzzzz{zz{z{{{|{zzzz{{z{z{||z|{{|{y{zzzz{{yz{{{{{yyzzzz{{{z{{{|zzzzzzzz{zzzz{zzyzyyyyyyyyz|zz{z{yyzzyzzzzz{{{{z{yzyzzyy{zz{{{{{zyzyzyzzzzzzzz{{zyyzyyyyyzzz{{{{yy{yyzyzz|{yzz{yzy{yzyyz{yzzzzzzzzyzxyyzzzzz{zzzyyyzzzzxxzzz{z{zyyyyyyyzz{zz{zz{zyzyyzyyyzzz{z{{yzzyzxzzz{yzz{{{{zyzyy{yz{z{{zzzzzzzy{{zzzzz{{z}{yzzyyzyz{zzz{{z{z{yzxzzyz{{z|z{zzz{y{zzzz{{z{{zzyyyzzzzzzz{z{{{{zzzzzyzy{{z{{{z{zzzzyy{{{|z{z{zzzzzyzzz{z{{{||{{{z|{{{{{z{z{|{|z{zz{zyz{{{z{z{{{{yzzzz{{|{{{{z{{z{zzz{||{|{{{{{zzyzy{{z{{{{{z{{{z{{{zzz|{{{z{{{|zzzzzzz{{zz{{{{{{zzz{{zzy{{|{z{{z{yzzyzzz{{{|{{{zy|{{yzy{{{z{|{z{zyzzzzzzz{z{zyyyzxzzzyzz{{z{{{zzyzyyzyzzz{z{{{{{yzyzyyzz{zy{{zzzzyyzyzzzzzzz{{zyyyyyyzz{zz{{{{yzzyyzzyxzzzz{zyzyzxzxzyyz{yyzz{yyzyyzyyyyyzzzz{zyzzyzzyyyzzzzz{yzyzyzyyyzzzzzzzzzzzyyyzyz{z{z{zzzyyzyyyz{zzzz{{zzyyyyzz{zzzz{y{zzzyzzyzzyzzzz{{|zzzzyzy|zzy{{z{|zzz{z{{zzzzz|{zzy{zyy{zzzzy{{zzzzz{zzzz{z{zz{|zzzzzzzz{z{{zz{{z{zzzzzz{|zzz{{{zzzzz{zzy{{z{{{|zzyzzzz{{|{{{{{{|{yy{yzzzz{{{|{{{{zzz{zzz|{z{{z|{yzz|{z|zz{z{{{z{|yyzyzzzz|||{{{{{z{{yz{z{{{{|{{{{z{zz{{z|{|z|||{{{y{zzzz{}z{{{{{{zzy{{zz{{{}{{||zzz{{{z{z{zz{z|{{{yzyzzy{{{zyzzyzzzzzyyyzzzyzzy{zzzyzyyyz{zzz{{zzzyzzzz{zyzzzz{{zzzzyzzyz{z{{z{zzzzyyyyyzz{{z{{zzzyyyzzzy{zzyz{y{yzxyyyyzzzzyzzzyyyyyzzyzzzzzz{{yzzyzzyyy{zzzzzzzyzyzyyzz{{z{{z{zzzyyy{xyzzzz{zzzzzyzzyyyzyzzz{zzzyyzzzzxzzzz{z{zy{zyyyyyzzz{z{{zyzyyy{zzzzzzz{|zzzzyyzz|zzzzz{{zzzzzyyyzz{{zzz{zy{zyyzyz{z{zzzz{zzz{zyz|z{{{{|{{zz{z{{y{{{zzzz|z{zzyy{{zzz{{{z{z{zyzzzz{z{{z{z{{{z{z{zz{{{z{{|{|zzzzzz{{{{z{{{{{{zz{z|{{{{z{{|||z{zz{z{|{{{|{|z{zz{zzz{{{{{{{{zzz{zzzz{{{z|{{{{zzzzzzz{{{z{{{{{zzzz{{z{z{{z{{{{zzyzyzzzz{zz{z{{|zzyzyzzz{{{{{zzyzzyzyyzz{zzy{zzzyzzyyyyzzz{z{zz{zyx{zxyzzzzz{{{zzzzy{xyzy{zzyz{zzyyzyyxyzy{zz{zzy{yzyzzzzzzyz{{zyzyzzzzyyzzzy{zyzzzyyyyzyzzz{zzyzyyyyzzyyzzzzzzzzyyyyzzz{zzzzy{zzzyyzzyzz{zz|z{{yy{yyzyzzzzyzzyzzyzzzyzz{zyz{zzzyzzz{zyzz{{zzz{zyyy{zzyy{z{zzzz{yzyzzyyzzzz{{{zzyzyxxzy{zzzz{{z{yz{zzzy{{z{zz{y{yy{y{zzzzzzz{{{zyyzzzzyz{zyzzz{y{{zzzzzz{z{{{{zzzzy{y{z{|z|z{{zzzzzzzzy{z|{{{{{zzzz{zzyz{{{{{||{|zzzzzz{{zz{{||{zz{yyzz{|{{{{{z{{zzz{z{zz{{{||z{z{zzzzzzzz{|{{{{zz{{zy{{|z|{{z|zz{z{zzzz|{{{z{zzzzzzzyyzzz{{{{zzzzzzyzyz{{{{zzyyzzyzy{zzz|z{yzyzyyzyyyyz{zzz|zy{yyyzxyzzzzyzz{{zyyyzyyyzz{{z{{z{zzzzyyzyy{{{{z{zyyzzzzyyzzyyzzzzyyyyyzyzyzzz{{yyyzyxyyzyzy{zyz{xzyzxyzx{zyy{z{yzyyzyzyzzzzzz{zzzzzyyxzxzzy{zzz{zyzzzyzxyzzyzzy{zyyyyzyzyzzzzzz{yzzyzyzzzzzzyzz{zyzzzyzzz{z{zz{{zzyyzzyzzzzz{zz{zzzyyzzy{{{zz{{zzyzzzzyzz{{zzzzz{zyzyzzy{{{{z{{{zyyzzyz{y{z{{z{zzz{zyyz{y{{{{{{{zzzzzz{y|{{|z|{{zzy{zzyzz{zy{{{{{zzzzy|zz|z{{{z{{z{{{{{{{{z{zz{{{{zzzz{{{{{{{{{{zzzz{yzz{{{zz{|{{yz{zzyz{z{{{{z{{z{z{zzzz{{{{|{|zzzyyzyzz{{{z{|{zzzyzzzyzzz{z{{{zz{zzyzyzzz{{{{zzyzxzyzyzzzzyyyyyyyxzyyyyz{zzzz{zzyxyyyyyyzzz{{zzzyyyyyyyz{zyy{zzzzyyyyyzyzyz{yzzyyyzzzyzzzyyz{{yzyyyyyyzy{yzzyyzzyyxyzyzzzyzzzzyyyyxyzxyzz{zzzzzxyyyzyzyz{yzzz{zzzyzzxyyyzzz{{zzxyxyyzzyzyzyzzzzyzyzxzy{zzzyzzzzyyyzzzyzzz{y{z{zzyyyyzzzzz{{zzzzzy{zyyyzzz{yzz{zyyyyyyyzz{zz{{zzzzzzyz{yzz{zzzzzxzzyyzz{{z{{|{zzzyzzzzzzyzzzz{zzyzyzyzz{{{{{z{zy{yy{zzzzzz{{{{zzzz{zyzyy{{{{z{{{zz{zzz{z{z|{{|{zzzzy{{{z|z|{{{{{yzz{zzy{|{{{{{{z{zz{zzz{|{{z{{{yyyyzzzzz{{z{{|{{{zyz{z{z{y{z{{{zzzzyz{zz{z{z{{{{{zzzzzy{zzzzz{zzzzzyyzzz{zzz{zz{yyyyyyyyyyzz{{{{zzxzzyyzzzzzz{z{yzyzyyy{yz{z{{yzyyyxyzzyz{{zz|{zz{zyyzxzzzz{zz{{zyyyxzyzzyyzz{zzzzzzyyyzzzz{zzzyyxzyyzyyzzzzzz{zyyyzzyyyzyzzz{zzyyyyyyyz{zzzzz{yzzyyyyzzyzzz{z{{yzyyzyyzzzzzzz{yzyyyyyyyzzzzzz{yzzzyzyyyzyz{zz{zzyzyyzyzzzyz{z{zyzyzzzzzzz{zzzzzzzyzzzzzyz{zzz{yyyzzyzzz{{zz{zz{zxzzzzzz{{z{zzzzy{y{yzz|zzzz{zzzzyzz{zzz{{{{zz{{zzz{{{z{|{{zz{{zzz{zzyzz{{z|{zzzz{z{zzz{{|{{{|zzzzzzzzz{zz{z{{{{z{z{zzzz|||{z{{|zzzzzzz{|{|y{z{{yz{zz{{{{{{||{{{{zyz{zzzzz{{{{{{zzzzyzzzzz{||{{zyzzyz{zzzz{y{{zzzyzzzzzy{zzz{zzzzzzyzyyzy{zzy{{zzxyyyyzyzzzzzz{zyyyyyyyzzzy{{z{yzzzyyzyzzz{zyz{zzyyyxyxyzyzyzzzyy{yyzzyy{yzzz{y{yyyzxzyz{{z{zzzyyyyxzzzzzzz{{y{zyyyzyyzy{zzzzyzyyyzyzyzz{zzzzz{zy{{yzyzyzz{zz{{z{yzzyyyyzzzxzzz{xyyyyzyzyzzzzz{zyyyzzzyzz{z{z{yyyzyyyyzzzzyzz{zyyzyyyzyzzzzz{z{zzxzyyzzzzzzzzz{zzzzzyzzz{zz{yzzzzzxyzyz{{yyyzzzzzz{yyyzzzzz{|{{zzzzz{zyz{{{{{{{{zzzz{zz{{{{z{{{{{zzzyzy{{||{{}{zzz{zz{z{{{z{{{zzz{zz{z{{{z{{zz||zz{z{zyz{{zz{{{{z{z{z{{{z{|{{zzzyz{z{yzzz{{zz{{{{zzzzzz{z{{{{{{zz{yzyzy{zzy{z{{zz{zz{yyz{z|{{{{zzzyyyyzz{zzzyzzyyzyzyzyz{{zz{{zzyyzzzz{zyzzzz{zzzzyyzzzzz{zzzzzzyzzzyzzy{{zzz{zzzzyyyzy{{{{zzy{yyyzyyzyz{zzzzz{yy{yyyyzzy{yyz{yzzyzzzyyzzzz{zz{yz{yzzzzz{zzzzz{zyyyzzzzzzzz{{{{yzzzyzyyy{zzz{{{{zzzzzyyyzzz{zzzyzyzzzyyzzzzz{z{{yzzzzzy{z{y{{z{zzyyzyzzz{yz|{z{yzzzzyy{{{zz{{z{zzzzzzzzzzz{z{{{zz{zzyzy{zzz{|{{{zzzyzzz{zz{{zz{zzxzyyzz{{{zz{z{{{zzzzz{z{{{z|z{zzzz{{zz{|{{{{{|{zyzz{yyz{{{{z{{|yz{z{y{{{{zz{{|{zz{z{{{{z{z|{{{z{z{z{z{{{{{|z|{{{{{zz{{{{|z||{|{z{{{zzz{{{{z{{z{{z{zzz{{{z{{{z|{{zz{{y{z{z{{{{|{z{zz{{zz|{|{{z{zz{zzzz{z|{{{zz{xzzzyzyyz{zzzzz{zzzyyzzyy{z{{zzzzzyzzzzyz{zyz{zzzzzyzyzz{{zzzz|{zzyyzzyyy{{zyzzzzzzyyzyxyzyzzz{zzyzyzyyzzzzzyzzzzzzxzzzzzzzzzzzyy{zz{zzyzy{z{{zyzzyzyyzyz{z{z{{zzzyyzzyyz{zzzzyzzzyzyyzzyyyyzz{zzzzzyyyzy{zzz{{zzyyyyyzzzzzzz{z{zzyyzzyzz{{zz{{{zz{y{z{z{zz{zz{|{{zzzzzy{{z{{z{{zyz{yzz{z{{z{{z{{zzyzyzy{z{{{z{zzz{z{zzz{}zzz|{{zzzzz{{{z{z|{{z{zz{{zzzz{zzz{{|{{zzzzzz{{{{|z{|{{zzz{yyzz{{{{z{{zz{zz{{zz|zz{{|{{zzzzz{{{|{|{{|{{y{zzy{z{|{{{z{{zyzyzzzzzz{{{z{{{z{y{z{zz{{{{z|{zzzz{zzz{{{z{z{{{{z{z{zz{z||{z{{zzzyzy{z{z{{zzy{zzzyzyzyy{zzzzzzzzyz{yyxzzzzzzzzyy{yzyzy{zzzzz{{zzzzyzzzyyzzzz{{zyyyzyyyzz{zzzz|yzzzyyzyyz{yzz{{zyyzyyyyyzzzz{zzzyyyzzyzzyzzzzyzzyyyzyyxzzzzz{zzzzzzyyxxy{zz{z{{zzzyzyzzzz{zyzzzzzzy{yzyzzzyz{z{yzzy{yyzyzyz{{{{yyzyy{zzy{zz{{{zzyyzyzzy{z{yz{{z{zzzzzzzz{{zy{z{zzyzzyzzz{zz{z{zzzzzyzzzz{xzz{zzzzzxzz{zz{|{{z{zyy{{{yyzz{{z{z{zz{zz{zz{{{z{{z{{yz{zzyzyz{z{{{{{zzz{{zyy{{{|{z|{{yzzzzzz{{{{{z{|{zz{z|{{{z{z||{{{zz{z{z{z{{{|{{{zyzzzz{{{zz|{|{{zy{{{zz{z{{|{{{|{|zz{{z{{zz{{zz{zzzzzyzz{{z{{{|{{zzzzzzz{{z{z{{zz{{z{{zz{{{{{zzzzzyzzy{xyyzzyzy{yyzyzyzxz{zz{zz{zyzxzy{yzzz{{{zzzzzyzyyzzz{zy{z{zy{yzyyyz{zzz{zzzzyzyyyzzz{{yzz{zzzyyyzz{yzxzzzzzzzyyyyyzzz{zz{{zzyyyzzzyyzy{zyzyyzyxyyy{zzzzy{{zzyzy{yzz{{z{z{|zyyyzzyxzzzzzzyz{zyyzyzzyzzyzz{zzzyyzzyy{zz{zz{{zyzy{yyzzzzzzz{{zz{zzyzzy{{zz{{{zyzyyzzzzzzzz{{{zzzyyzzy{{zzz{z{zzzzxzzz{||z{zzz{{{zzzz{|z{{z{zzzzz{{zzzz{{{{{|{z{zyyyzzzzz{|z{{{zz{{yzy{{{{{{{{zzzy{zzz{|{{{{{{zzzzzzzzz{{{{{{{{zzzzzz{{|{|z{{|{zz{zz{{zz{z{{{z{zzzz{yz{{{{z{{|{zz{zz{{{{z|{|{{zyzyzzzzzz{z{|{{{{{{y{zzz{z|{zz{{zzyzyzz{{z{yzyzzzzyyzzxz{yyyz{zyzx{yyyyzzz{{{{{z{yyzyzyzzzzzzz{yyzzzyyzzz{{zz{{yzyyzyyzzzzzz{zzzzzyyyzyzzzzy{zyyyyyyzyzzz|zyzzzzz{yyzyz{zzzz{z{yyzyyyyzyzzz{z{{zyz{zzxzyzzzzzzzyxzyy{zyzzzzyzzzzyyyyzyzyzzzzzzzzyzyzxyzy{xzz{y{zzzyzzyyzzzz{{{z{zzzyyzz{{zzyzz{zzzzyyx{zzzz{z{z{zzyy{yzyzzz{zz{z{yzyzzyz|{z{{z{zzy{yzyyzzz{zz|zzy{zzzzyz{z{z{{{zzzy{z{zz{zz{|{zzz{y{zzzzz{|z{{{z{yyzzzz{||{z{z{{zyzzzzzz{{{{{|{zzzzzz{yz|{{{{{{zzzy{zzzz|z{{{{z|z{zzz{{zz{{||{{{zz|{yzz{z{{z{{{zz{{z{y{|{{{{{{{{{zzyz{z{{zzz||{z{zzyzz{zzz{{{zzyzzzyyzz{zz{{zzzzzyzyzzyzzzzzzzzzyxzyyy{zyy{z{z{zzzzyyyyzz{z{yz{zyyzzyyyzzzzzy{z{yyyxxyyyz{y{{y{zyyyyyzyy{zyzz{yyyzyyyzyzy{yyzzzzyyyxyyyzzy{{zyzzyyyyyzyzyzzzzzzzzyyzzzzyy{z{z{zzyzxyyyxzzzzzy{zzzyzzzyzyyzyzzzzzzyyzzyyy{{y{{y{yzzzyyzyz{zzzzzzzzzyzzzyyzz{yzzzzxzzzyyzzzzzzzz{yyzyyzyz{zzzzz{zzzzyyyzyzzzz{zzzzz{{zzzzz{z{z{{{{zzzyzx{z{{zzzzzzzzyzzzzyzz|{z{zzz{zzzz{{zz{{{z{zzzyyyzzz|{zzz{zz{zzzzzy{{{z{{{|yzz{zzzzzz{{z{{z{zz{zz{zz|{{{{{zzy{{yy{z{{{{{{zz{zz{y{{zz{z|{|{|{{y{zzz{{{z{{{z{zyzyzzzyzzzzz{{{zzzyz{zzzzzzz{{{yzzzzyzyz{z{yz{yzzzyyyzxy{yzzzzzzyyzyyzyy{zzz{z{yzzyyz{yzyzyz|zzyzyyyzzzzzzz{zzzzzzyxzyyzzzyzzyzzyyyyz{xy{yzyzzyzyyyyzyx{yzzyzyyzxxyyyyyzzyyy{z{yzzzyyyyzzz{y{yzzyyyyzyzy{zzzz{{{zyzxzyyy{zzzzzzyzzzzyxzyyzyyzz{zzzyyxyzy{zzy{{{zzzyzyyzzzzzyzz{yyzzyzzzzzzzzz{{yyyzzyyzyzz{z{z{zzyzyz{yy{{zzzz{zyyyyyzzz{z{z{{zzyzyyzzyzz{zz{{zyyyzyzy{z{zzz{{{zyzzz{yy{{zyzz{{z{zzyz{yz{zz{z{|z{z{zzyyzzzz{z{|zyzzzzy{z{{{{{{{zzz{y{{z{{zzzz{{{yz{zz{{y|{{z{{|{{zzzzyz{{{z{|{{{z{yzzzy{zzz{{{|{{{{z{y|{zz{z{{{zz{zzz{zy{{{{{{{{zzzzzzyzzz{zz{zzzzyzyzyy{z{zzzzzyzyzxyyzzzzzzzzyyyyxyyyzzyzzyz{zzyxxzyzzz{z{zz{yyyyyyyzzzzzzyzzz{yyxyyxzzzzzzzzzyzzyyyyz{zzyzzyzyzzyyyyyz{yyzzzzzyxyyzyzyzzzzzyyyyzyyzzzzz{zzzyxyyxyyxzzz{zz{y{zzyzyyyyzzyy{zzzzyzzzyyyyzzyzzz{zyyyyzyzzzz{z{zzyyyyzzyyyyzyzz{{zzzyyyyyzzzzyz{zzyzyxyyzyzyy{{{{zyzzyzyxzz{zzy{{zyzyz{zyy{zzz{zzzyzyzyzyzz{zzz{zzzyyzyzzz{zyzzzzyzzzzzyzzzz{z{zzz{zzzy{zz{z{zz{{{zzzz{yzzz{z{{{{|yzzzy{z|z{{z|{{zzyzzyzz{{zzzzzz{zz{{yzzzz{zz|{|{zzzzzzz|z{{z{{zzyz{zzzzyz{zz{{{{{zz{zzy{{{{{{{{{zzzzzzz{zz{z{|{{yzyzy{zyz{{zzzzzyzyyyyzzzzzzzzzyyyyzyyyy{yyzyzzzyzyxyyyyzzzzz{{zyzz{zzyzyz{{{z{zyzxzyyzzzyz{zyzyzzzzzyy{{{{zzz{zzzyyzzyy{zyzzzzzyyyzyyyxzzyzyzzyyzyyxyyyzyzzzzzyyyyzyzyyzzzzz{zzzzxxzyzyyyzzz{zyz{zyyyzyzzyyzzzyxyyyyzz{zzyz{zzzzyyyyzyxzzzyyz{zz{yyyyzzyz{{zzzyyzyyyyzzz{zzyzzzzzyyzzz{zzz{{zzzyzyyyyzzzzz{z{zyzzyzyzy{yzzz{z{zzzyyzzyzzz{z{{zzzyz{zyz{zzzzz{zzzzyzzzzzz{{|{{{zzyzzzzzz{z{z||z{y{yzzzyz{{{{z{yzxzzyz{yz{z{|z|{zzyzyzzzz{z{z|{{{{{y{yzz{{{z{{{{zyzzyzzz|{z{z{{{zzy{y{zz{{{{{z|{z{{y{z{{zzz{z{|{zzzzzxzzzz{{{{{{zzyy{zyzz{z{z{{zzz{{{yzy{z{yz{y{{zyzxyyzzzzz{zz{zyyzyxyzzzyzzzz{yzyyyzyyzzzzz{{zzyzyyzyyyyyyzyzyzzyyyyzx{z{zzzz|yzzyxyzxy{y{zz{yzyzyyyyyz{{{y{{yyzzy{zyyzzzyyyzzyxzxyyyyzyzzzz{zzyyyyxyzyyzyzzzzyyzzyyyyyzyzzz{zzxzyzyzyzyyyzzyzz{zyzyyxz{yzz{zzzyy{zzzyy{z{zz{zzyzyzyzxzzzzz{{yzyyzzyyzyzz{zz{yyzzzyzzz{{{{z{{yyyzzzyzyzzzz{{{{zzyyy{zyz{|z{{{zzz{zzzzzzzzzz{z{zzzzzzzz{z{|{{{zzzzzz{{z|zz{{|{{zzzyzzzzzzz{{{{z{zzzzyzz{{zz{z|{{zzzz{z{z{z{{{{{{zzzzzzzz|zzz{|{{zz{{y{z{{z{{zz{zyzzz{{z|{{{z{{{{zzy{{zz{{{{{z{|{zzzzy{zzzzz{z{{zy{zzzyzzzzy{zzzzzzxzyzzzzzyz{{z{{yzyyyyzzzyyzzzzyyyxyyzzzyz{yy{zyyyzyzyz{zyzzzzzyzzyyyyzz{zyzzy{zzzzyzyzzzzz{zzzzzxyyzzzzzzyz{zzyzzyzyyzzzyy{zzyzzyyyyyzzz{z{z{zzzzzyyyzzzzzz{yyzzz{zyy{zz{{zzzzzyzyyyyzzzzzzzzyyyzyyyxyyzzzzy{zzyzyyyyyzzzy{|{zzzzy{zyzzzzzz{{zzyyzyzzz{zzzzz|yzyyyyyzzzz{{z{{zyyyzzyzzzzz{{z{zzzzzyz{z{z{z{{zzzzzz{zzz{zz{z|zzyyz{yzzzzz{z{{{zyzyzzyz{{{|{{{{y{{z{zzz|{{{zz{{zzz{zzzz{z{z{z{{{zzzzzzz{|{{|{{{z{zz{zzzz{{{{{z{{zzyz{{zz|z|{{|z{zzzzzz{|z{{|{{z{zzzzzzzz{{zz{|{{z{zz{yzz{{{z{{|zzzyz{{zz{z{|{zz{{{z{zyyz{zz{y{{zzzzzzzzzzz{zzyzzzyzyzzyz{y{z{zzyzzyyxzxyz{z{zzzzyyzzzyzzzzzzyz{yzyzyzyyzzz{xzzzzyyyyzzyzyzzzzyzzyyyy{zyzy{yyz{yyzyzyzyyzz{yzz{zzzzyyyyxzz{zyyzzzzzyyyzxyzzzyzzzzyzxzzxzzz{z{zzzzzzzyyyyyzzzyz{zzyyzyxyyyzzyzz{{yzyy{yzyyzzyz{zzyyzyzzzzzyzzzzz{{yz{zxzyy{zzzzzyyyzzyzyzzzzzyz{{zzyzzzy{zz{z{z{zyyzy{yyzzzyzzzzzzyzzzzyzzz{z{{zzzzzyzzzzz{{zzz{zzyzy{yyzz{|{z{z{zzzzzzzzz{{z{{z{zzz{zyzy{zz{{{{z|yzz{yzz{|{z{z{{z{yz{zzzz{zyz{{|{zzzzzz{z|{zz{{{zyzzzz{z{{{{{{|{{zzzzzz{{z{z{{|{z{zzzzzyzz{|{z||zzzyz{zzz{{z{{zy{zy{yy{yyz{{{y{zyy{yyzyyz{zzz{zzzzyzyyyyz{{{z{zzzzyzzxzy{z{{z{zyzyyyyyyyyy{zz{{zzzyzyxyzzzzzyz{yzyyyxxyyzzzzyz{zyzzxyyyyy{zzzz{z{yzyyxyzzyzzyzzzzzzzyyzzzyyxzzzzyyyzyzyxzzzyzy{zzzyyyxxxyzy{{zzzzzyzyyzyzzzzyzzzzzyxyxyxyzyyzzyyzzyzxxyyz{zzzzzzyyzyzzzy{zzzy{{zyyyyzyz{yzzzzxz{yyzzzyzy{{{zzz{zzzyzyzyz{zzzz|z{yzzy{yzyy{zyz{{yzzzyzzyy{z{{{zzzzyyzzzzzzzzzz{{zzzzzzzzzzzz{z{{zzzzyzzz{z{z{|z{|zzyzzzzyz{{|{z{z{zzzzzzz{z{z{||{zz{zz{z{zyzz{{{{{z{z{z{{z|{{{|{z{zzzyxzz{z{{zz{{{y{zzzz{z{z{{{z{{yy{z{zzz{{|{{zzzyzzzzyy{{zz{{{{yzzyzzzzz{{{z{z{yyzzzzz{zzzyzzzyzyyyyyyyyz{z{zz{zzxzyyzyzz{yzz{{{zyyyzyyzzzyzz{zzz{zyzzyzyyzzzzzzzzzyyyzzzzzy{{zyzyyzzzzzzyzz{zzzyzyyyzyzzzzz{zzzyzyyzzxzzzzyyzzyzyzyzyz{{yzzzzzzyzzyzxzzz{zz{zzzxzyyyzyzzz{yzy{zzz{yyzyyzz{yz{{yzzyzyyzyzyzz{zzzyzzyzzyzzzz{z{zzzzzzzzzzz|zzy{{zzzzzy{zzzzz{zzzzzyyyzzzzz{{zzz{zyzzyzzz{{{zzzy{zzzyyzyzz{z{zzz{zzyyzyzz{{{{z{zzzzzzzzyy{{{{z{z{z{zz{z{{{{zz{{{zzzzyz{{z{|{{z{|zzy{z{zzzz{{zz|z{zzzzz{y{zz{y{{{{|{{{zzzz{{{{||{{{zzz{{zz{z{z{{{{{yzz{zzy{z{z{{{{zzzzzzzz|{z{{{z{{zzzzzzz{{z{zz{{{yzzzzyzz{z{{{z{{zzzzzzzzz|z{{zzzyyyyyyxyz{zzzzzyyyyyzyyzzzyzzzzzyyzyyyzz{yzzzzzzzzyyxyyzzzyzzz{zyzyzyyyzzzy{zz{yyzyxxyyzzzyzz{zzxyyzyyxzz{zz{{yyyyzyzyyzyzzyzz{yyyxyyyyyzzy{{zyy{yzyzyxyzzzzyzzzyyyyzzyzzxzzzy{zxyyyyyyyzyyy{zz{yyyyzyzzz{{zzzzzyyyzyzyyzz{zzzzzyyyzzxyzzyyzyzzzyzzyzxz{yzyz{zzzyyyzzyx{zzz{zz{z{zzyyzzz{zzz{z{zzzzxzzyy{z{zy|{zzyyzzyzz{zz|{{{zyzzzzzzz{{zz{zzyzzy{yz{zz{{{z{{yzzzyzz{zz{z{{{z{zzz{yzy{{{zz{{{{{z{z{{zy{zz{||zz{y{zzzzzz{{z{|z{zzz{z{z{{{{{zz{|zzzzzz{zz|{{{z{{zyzzzz{{zz{z{z{yz{zyyzzz{{zzz{{{zyyzyzzz{zzzz{{yyzyzxyyy{{{zzzzyyzyyyxyyz|zyzz{yzyzxyyzzyzzzzzzzzyxyyyxyyzyzz{zzyyyyyyzyzzzyzz{yzyyzyyyzxzz{yz{zyzyyzzxz{yzzz{zzxyzyzyyzzzzzzyzyzyyzzyyzzyzyzzzzyyyzxyyzzzyzzzz{yyyxzxzyzz{z{zyzyzyxzyyyzzzyyzzzzzyyyyyzxzzzz{{zzyyyyzzyzzzzzzzzyzyzzzyzzz{{zzzzzzyyyzyz{zy|yz{yzzzzyzzzz{zzz{zyz{zyzzzyz{yzz{zyzzzzyzzzzzzz{zzyzzzzyzz{{{{zz{zzyyy{zzy{{{zzz{{{yzyz{yzzyzz{z{{y{zy{zzzz{{|z{{{{yzzzyzzzzz{z{zzzz{zz{zz{{{{z{{z{{zyz{z{{{z|{{{{{zzzzzz{{{z{z{{{zzzzz{zz{z{{z{{{{zz{zyzzzzy{{{{{zyy{zzzz{z{}z{{{yz{yzz{zzzzz{{z{z{zzzzzyz{z{zzzzyyz{yzyy{z{zyyyyyxyzyzywzz{zz{zzzzzyyyyyyzz{y{{zyyzzyzzyzz{z{{zzyzyzzyzy{zyzz{z{zz{xyyxxyzyzz{yzyxyzyyzxzzyzzzzzzzyyzzxy{{{yzzz{yyzyz{yyzzzzyyy{yyyxyzyzzyyyzyzyzyzzyzyzyzzyzz{zzyyzxzyyzzz{zyzzzzxyzzyzyz{zy{zzyz{zzyyyzzzzzzzzyzzzyyyyzzy{zz{z{zxzzzyz{zzzzz{{yyzyyzzzyzz{yz{zzzzyzxzz{yz{z{{{zzyyzyyzz{zzz{{{yyzzzyzy{zzy{y{zzyzyzyyzz{{{{z{zzzzyzzzzz{zzz|zy{zyzzzzz{zzz{yzzzzzzzzzzz{{zz{{z{zyz{{yz{{zz{z{zzz{y{{{zz{{{z{{z{zyzzzzy{|{||{{{{zz{zy{z{{||z{{{zzzyzyyz{zzzzz{{{{yy{zzzz{z{z|{{zyzyz{yzz{{z{|z{{{zyzzzyz{{{z{{zyyzyyyzx{z{zyzyyzyyzyyyyx{zyyyzzyyyxyyyzzzzzzzyzyyzyyyxzzzz{yyzyzyyyyyyzyzz{z{zzzyzxyyyy{zzyy{zy{xyyzyzzyzyzy{z{zzzyyyyyzyyzyzzzzyxyzzyyyyyzz{zzyyyyyyzyz{yyzzzzyyyyyyyzzzzzzzzyzyyzxzxxz{zzzz{zzyyyyzxyyzyzyz{yxzyzzyyzyzyyzzzzxyzyxzyyzzyzzzzzzxyyyyyyzzzz{{{{zyzzyyzzz{zz{zzzxyzyyyzxz{zzzz{zz{yzzyzyzz|yzzz{{yyzzyyyzzzzzz{yzzzyyyyzzzzyyz{yzyy{zzzzzzz{z{zzyzzyz{zzz{z{{zz{zzxzzxzz{z{z{zzzzyzy{yzzzz{yzz{{zzzz{yyyzzz{zz{z{zzzy{zz{{z{{{{{zzzzzyzy{{zyz{{yzzy{zzy{zz{zzz{{zzzzz{zz{{z{{{{{{zzzyyzzz{z{z{zzzzz{yzyyy|zzzzz{zzzyyyyy{zzzzzzzyzyyzzzzz{zyzzz{yyzyyyyyzyz{zzzzzzzzyyyyyzzz{yz{zyzzzyyyz{{zyz{zzzzzyyyyzyz{yz|{yyzxyyyy{zzyzz{zyzzzyyxyyzzyzzyzyyyyyzxyyyyzyy{zxzzxyxxzyy{{yzzz{yzzyzyyyzzzzz{zyyzxzyyyzzz{y{{{zzzxzyzyyyzzzyz{zyyyzyyyx{zzzzzzzyz{zzzz{zzzzz{zzzyzzyyzy{{zzzzzyzzyyyyyzy{zyzz{yzzyzzzyz{z{zzzz{zzzzyzzzz{zyzz{yzyzzzzzzz{zz{{yyzzzzyz{z{{z|z{zzyyz{zzzzz{{y{{{y{{zyzzyzzz{|{z{zzzzzx{{{z{zz{{zzyz{zy{xzzzzz|{{{yyzzzz{z{{zz{|{{zy{zzzzz{{z{{{{{yz{zzz{z{{||{{{{zzz{yzz{{z{{zz{{{zy{zz{{|{{{{{|{zyyzzz{{{zz{{z{zzzz{zzzz{z{z{{{zzyzyzzyzz{zz{zzyyyyzzyyzzzzzzzyyzzyyyxy{zyyzzzzzyzxyyyyzz{y{{{zzxyyyzxyyy{zyzzzzzzzzyzxzzzzzzyyyyyyyxyyyzyzyzzyzyyyzyxwzzzzyzzyyzzzxyyy{zyzyzzzzyxzzxzyyyzzzz{yzzyyy{yyyyyz{yyzyyyyyyyyxzzzz{{yyxxyxyzy{yyyyzz{{yzyyxzzzzyzzz{zyyzyyyyxzyzzyy{{yzyyzyzyzzzyzzzzzyzyyzyyz{z{z{z{zzyzyzyzzzz{zzz{zyzyyzzzz{{{yzzz{yz{zzyyzzzzzz{zyz{{zyyzzz{z{{zzzzzzyzzzzz{z{z{{zyyzzz{zzz||{{z|yzzzyyyzy{z{z{z{zzzzyyzzzz{z{|{{zy{{yyz{z{{{z{{{{{zzzzzzz{|{z|{{{zy{z{yy{zz{{z{z{zyzy{yz{z{zz{z{{zz{z{yy{{{{z{z{zyyyzyyzz{z|{z{z{zzzzzyzzzyzz{z{yzyzy{zy{yy{z{yzyyzzyyzxzzzzzzzzzz{zzyzyzzzyzzzz{zzyzzyyzzzzyz{{zyzzyxyyzzzzzzzzyyzyxyyzyz{zzy{zzyyzzyzzzzyzzzzzzzzyyyxyzy{{z{zzzzzyyzy{yzy{zzz{yyzyyyzy{y{zyzyzzyzzzyyzzyyz{z{zyyzyzyyyyzzzz{z{yyzyxzyyzzzzyzzyzz{yzyyzxzzz{zz{yyzzzzyxz{y{zy{zzzyzyyzzz{{zy{z{zzzyzzyzzzz|y{zzzyyzyyzzzzzzz{{zz{zyzzzyy{{zz{z{zzzzyzzy{{z{z{{{zzzyy{x{{z{{{zz{{zx{zz{zzz{{z{{{yz{{zz{z{{{{{{{{{z{zzyyz{{zz{z{|zzz{{{{zz{{z{|{{zz{z{{{zzzzz{{{z{{zz{{zzz|z{|||{zz{zzzzz{{{{z{z{zyzz{zzzzz{{{z{{z{zz{yy{z{{{{{{{{yzzz{zzz{zz{z|{{{zyzz{zz{y|zz{{{yzzyzzzzz{zz{zzzyzyzzyyzzzyzy{zyyzyyyz{yzzz{{yzzyyyyzyx{zzzzzz{yyzzyxzyzzz{zz{z{yzzyyzyzzzz{{z{yyyyyzzyyzzzzzzzzyyyzyyyzyzyyz{zyyy{zyyzyzy{zzzzyzyyzyyyyzzzzzzzyyzyyzyyyz{z{zzzzzzzyyzyzyz{z{{zyzzzyxzyx{zzz{zzzyzzyzyyzzzzy{zzzzzzzzyyzzz{zzz{zzyzzzzyzzzzz{{{zyzzyyzzzyz{y{{{yzyyzyzzzzz{zyzzzyzzyyzz{z{z{{{zzyzzyyzzy{z{zzzzz{yz{yz{{{zz{{{zzyzyzzzz{z{{{zz{zzy{zzzz{zz{{{{{{zyzzzzz{{{z{{{z{zyzzzyzz{{zz{{|zzzz{{{{{{{{{{z{zyzzzzzy{{z{{|zz|zz|{z{zz{{zz{{{z{{{zyyzz{zz{{{{z{yzyzzy{zzz{{z{z{{zzz{xz{z{{{{{{yz{zzzzzzz{z{{zyy{zzyzzzz{{zz{{zzzzzyzyzzzzzzzzyzzzzyyzyzzzyzzzzyzyzyzy{zz{zzzyzyzzzzyyzyzzzz{zzyyzyyyxzyyzzz{zyyyzxyzyz{xyy{zzzzyzyzzzzzzzzzyyzyyyyxyyzzyzyzz{zxzyyyzyyyzzz{zzzyzyzzyzyzzz{z{yyzzyzxyyzzzzzz{zyzyzzyzyzyzyyyzzyzzxyyyzx{yzy{zzyyzzyzyxzzzz{{zy{zyxzyzxyzzz{zz{zzzyyyzyzzyz{zz{zyzyxz{yyz{zzzz{zyyyzy{yz{z{z{zzzzzzyzy{z{zzy{{zz{zzzzzzzz{z{z{z{zzyyyz|y{z{{{{{yz{zyzz{|zz{zz{z{zzzzyyyz{z{zz|{{zyyz{zyz{{{{z|{zz|y{yz{{z{z{|{{{zyzy{zzz|{{z{{{zzz{zzzz{{{zzzz{zz{y{zzzz{{zz{{|{zzz{yyz{{{{{z{zzzzyyzzz{zz{{{{{zzzy{zyyz{z{|{{|zy{yzyzzzy{zz{{yzyyyxyzxy{zzzz{yyzzzzyyy{zzy{{zz{yyyyyyzyzzzzzzzyyyyyzyxyzzz{zz{yyzyyyyyzz{zzzz{yyzxxyyyyyzy{zzzzyyyyzyzzzz{zzz{yyzzyyxyzzyzzzzzzyyyyyxy{zzzzzzzzyzyzzyyxzzzyzzzyzyyxyyyyyzyyy{{yyzyyyyyyyyyzyzzyyzyyyyyyzyzzzzzzzzyzzzzzzzzz{zzzxyyzyzyyyzzz{zzzzzz{yzzzzzz{zyzyzyz{yzxyzzz{{{{zzyyzyyyz{y{{{{z{zzzzyyzz{zzzz|zzy{yzzzz{{zzzy{{{z{zzzzzzzz|{z{zyyzyz{zzzzz{z{|{{{zy{z{{y{{{z{{|{zyyzzzy{{{{{|z|z{zzzzz{{{{{zzz{|{yzz{zz{{{|{{{{yzzz{zyz{{|z{{z{zzyzzy{zy{{z{z|{zzzzzzy{{{{|{{{zzz{yz{{zzzz{{z{{z{z{yzyyz{z{z{zzzz{zzzzzyz{{zzy{zyyxyyyxzzyzyyzzzzzyyzzyzzyzz{{zzzxyyyyxzzy{yyzzzyyyzyyyzzzzyyzzzzzyxyyzyzy{zz{zyzzzzyyyz{yyzzzzyzzyz{yzyzzyy{zzzyyyzyxxyz{{zzzzyzyxzxzyzzzzzzzyzyzyyyyy{zzzzzzzzzzxyzyyzzyzyzzyzxxyyyyzzzzyzzzyzyyyyyzzyzzzz{z{zzzzyyyzzz{{yzz{{{zyzyzzy{z{{zz{yzzyzyzyzzzzzz{zzzzyzyzzzz|{zz|{zzxy{zzyx{{zzz{zzzyyyzyzzzz{{zzzzzyzzzyy{zzzz{zzyyy{zyzzzz{{{y{yyz{zzz{z{{{{z{{{{zzzzzyyz{{{{{{zzzzzzyzz{|z{{{{|zzyyzzzzy{{{zz{|{z{zyzz{{|{{z{|z{z{{zzzzz{{{{{{{{yzz{yzzzyz{{{|{{{{z{zz{z{z{{z{zzz{yyzzzzz{zz{{{{yzyzzzz{{zzzz{{zyyyyxyyz{{zzzzzxxzyxyyxzzzyzy{zzzyyyyzyyy{zzzz{yxzyyzyyzzyzy{{zzzyyzyxzzzy{yz{zyzxyyyzxzzzzyzzzzy{yyyyyyzyyyzzyzyyyxzzyyzzyzzzzyyyyzzyzyzy{z{zzyzxyzyyzzzyzzzzzzyzyyyyyyz{yzzyzzyyxxyyyyzzzyz{{yyyyyxzxzyyyzzyzzyyyzzyyyzz{yzzzyyzyyzxxzzyzzzzzzyzyzzyyy{zzyz{zzyzyyyy{zz{zy{z{zzyzyyzzyzzzzzzyzyzyyzzzzzyz{z{{z{x{y{y{z{{z{{zzyzyyyyyyzzzzzz{z|z{zzyyyzzzz|yzzzzzy{zzz{zz{z|{zzzzzzzyyz{{z{z{z{zzzzzzy{z{z{z{{{zzzz{y{{|{{{{|z{zzzz{yz{|{z{z|{zzzzzzzz{{z{|z{zzyzzzyy{{zzzzz{{zzyzzzzzzzzz{{{|zzzzzzzyz{{z{{z{{yz{zzzzz{{{zzz{zyyzyyzyzzzyyzzzyzyyyyyzzyzzy{z{yyzyzyzzzz{zzzzzzzzxzzyyzyzzzzzzzyzyyyyzyzzzzyzzzzyyxxyyzyz{z{z{zyzyzyyyxyzzzz{zzyzyyxyyyyzyyzzyxyxyzyyyzzzzzzzzyxzyyyxyzzzzyzzzyyyyyyyzzyyzz{zzzzyzyxyyzzzzyy{{zxyxzxyyyzyyyyzz{zyyyyzzy{yzzzzzzzzyyyyxyzzzy{{{zyzyzyxzzzzzz{{yzzyzyyzzzzzyz{zzzyzzyzyzzzzzzzz{zzzzzyzyzzzzzz{{zyzzyyzyyzzyzz{{zzzzzyyyzzzyzz{y{zzzzzyzz{z{{{zyzzz{yz{z{{{{zz{zzyzzyyyzzz{zzzzzzyzzzyzzz{|{{z{{zzzyz{z{z{z{{|z{zz{zyyzzz{z{z{{|zyzzyzzzz{{{zz{{{y{z{zzyzzzzz{z|zzz{zxyzz{{{{{z{{zzyzzz{{|z{{z{z{zyyyz{yz{{|zyzzyzzyzzyyyzzzz{yzyzyyyzyyyzzzyzz{yyyzyzyyyz{zzz{{zzyyyyyyzyzyzzzzzyzzyyxx{zy{yy{{zyzxzzzyzzzyz{yyzyyxyzzyyzzzzzyzzzzyzyzxzzzzyzzyzyxzyzyyzyz{zz{zxyyyyyzyzz{z{zz{zzxxyyyzyzyz{zzzyzzyyyyzyzyyzzz{zyzyyzzyyzzzzz{zyzzyzxyzy{yzyzz{yy{yyyyzyzzzzyzzzzyzyzyyzzzzzzz{zyzyzyyzz{z{yzzzyy{zzyyzzz{z{zzzzy{zzyzzy{zzzz{zzzzzzzzzzz{zzz{zzzy{zyyzzz{zz{z{zzzyyzzz{z{z{zz{zzzzzzzy{zz{{{{{zzzzyyyz{{{zz{|z{yzzzz{zz{z{{|z{z{{yzz{z{|{{{|{|{y{zzzzyzz{{{{{z{zz{zyzz{{{{zz{{zzzzzz{{z{z{{{{{{zzy{zy{{y{{{{{{{yzyzzzyz{zz|z{{zzyzzzyyy{z{z{zzzzzyzzyzz{zz{{{zzyyxzxyzyzyzyzzzyyyyyyzyyzzyzz{{zyz{yzyyzyzyzzzzzyxyxyyzyzzzzx{yzzzyxyyxzzzyzzzzyxyyyyzyzzzzyzzyzzyyyyyyzzz{zzz{zyyyxzyyyzyzz{zzyyzyzyxyyz{zyy{zzyzyyzyxzzzzzz{zzzyzxyyyzyzzyy{zyy{yyyyyzzyyzyyzyyzyzyyyz{yzz{|zzyzyzyyzzzyz{zzzyyyyzyyyz{zzzz{{zzzyxyzyzzyy{z{{yy{zyyyy{z{z{z{zzzzzzyzzzy{{{{yzzyzyzyzzzzzzyz{{{zzzzzzy{zzzzz{zzzzyzzzzzzzzz{z{zy{zzyzz{zzzzz{{zzzzzzyzzz{|{{{z{yyy{yzz{{{zz{{zzz{yzz{z{z{{{z|{{zzyzzyz{|{{{{{|z{yzyyz{z{{{z{{{{{zzzzzz{{{{{{{{{zyyzzyz{{z{{{z{zy{yyzzyz{z{{z{z{{{yyyzzz{{{zzzzzzzy{zyzzy|zyyzzzyyyzyzyyz{z{z{zz{zyyyyyzyzzzz|{zyyyyzyzzz{{zzzzzyzyyzyzy{zzyz{|yzyyyzzxzzzzz{zzzy{yzzyyy{zyyzzzyyzyzzyyyzzzyyzz{zzyzyyzzyzyy{y{yyzzyyzxzzzzzzzzyyzyyzyyyzzzz{{zyzzyyyzyzzzzzzyyyzyyyyyzyyzzyyzzzyyyyyzzyzzyzzz{zyzyzzyzzyyzy{{z{yyyzyyxzzyzz{{{zy{zxzyzzzyyy{{zzyzyzyyyzzyy{y{zzyzyzxzyyzzz{{z|yzzzzzyy{zz{{y{{{zzzyyz{z{zzyz{zz{zzyyzz{zzz|{{zzyzzzz{z{zz{z{|{zyyyzzzzz{{zz|{{{zzz{zzzz{{z{{|zzzzyzz{{z{zz{{z{{z{zyzyzz{|{z|{z{{{zzy{yz{|{{{{{{zzzz{z{yzz{||z|{{zzzyz{{{z{{|{{{zyy{yyz{zz{z{{z{{zzz{zz{{y{z{z|{zyzzzzy{z{zzyyzzzyxzzyzyzzzz{zz{zzzyyyzzzzzzz{zzyyzyyyy{yzz{z{{zzzyzyyyyzzzzyy{zzyzyyyzzyzyzzzzyzyyyzyyzyyyzzz{zyyyzzxyyyzzzzzzzyzyxyzz{zzz{zzzy{yzzzzyyz{z{{zzyyzyyyyyy{{yzzy|zyzzyyyyzzz{yzyzxyzyyyzyyzzzyzyzxzyzyzzyyzyzzzzzzyyzzzyxyzzy{z{zyyzzzyyxzzzyzz{zz{yzzyyyzzz{zzzzyzyyzzzzzz|yz{{{zzzyzyzyz{zzz{zzzyyzzyzz{y{zz{{z{z{zzzz{{{z{zzz{zzzyyyyzz{{{{{z{zzzzzz{{z{z{{zz{zzzzzzzz{{z{{{{{zzzyzzzyzz{{{{|{zzzyyyzz{{zzz{z{zzyzy{zzz|z{z{{|zz{{zzzy{zz{{{|zzyz{|yzzz{zz{{zz{zy{{zz{{{|{{|zzzzzz{yzy{{zz|{{{yzyzzzzz{{{zzz{yyyzyzyyz{z{zzzzzyyyxyyyyzz{zzz{zzzyzyyyzzzzzzz{zzzzyxzzy{z{zzz{{zyyzyyyyyzzzy{z{yzzyzyzyzzyzzyzyyzyyzzyxzz{zzzzzzyyyyzyyz|zzzyzyyyzyyzxyzzyz{zzzzyyyyyyyzzyyyz{zzyxzyzzyyzyz{{yzyyzyzyzyzz{zzzzzyyzyzzzxyyzzzz{zyyyyzzzyyzzzzzzzzyyyyyzyzzz{zyz{z{yzzzzzzz{z{{z{yyyzy{{y{{yzz{z{zz{yzyyz|zzzzz{zyyzyyyzyzzzzz{z{yzzzzyyyy{{zzz{yzzyz{yzzy|{z{zz{zzzzz{zyzz{zz{{zyz{zyzzzz{z{zz{{{y{zzy{zz{{zz{{{zzzy{zzy{|{z{{{|zz{zzz{zz{{{{{{|{zzyz{zzzz{{zz{{zzz{zz{{z{z{{{{z|zzz{zzz{{zz{{{zzzzz{z{{{zz{{{{{zzzyzzzzy|zz{{{zzz{zyzzzz{zzz{z{z{zyzzyzzzzzzzz{yyyyxxyxzzyzzzzzzzyyyzyyzzzzy{{zzzyyyyyyzyzzzzzzzyyyyyyyyzzzzyy{zyzyxyxyz{z{z{zzzzzyyyxxyzzzzzzyzzzyyxzyzyyyyzz{zyyyyxyzzxyzzzzyzyyyzyzzzzzyzz{zyzzzwxxyzyzz{yzyyzyyyyyxyzzzzzzzyzzzyyyxyyzyyzzyzyxyzzyyzzzzy{zzyyzyxz{yyzzzy{zzzyyxzzyzz{zyzzzzzyzyzyzyzzz{zzzzyzzzyyzyzzzz{zzzzzzzzzzy{{zy{zzzzzzzyzzyyy|z{zz{zyyz{zzyzzzz{{{zyzzzyzzy{z{z{z|zzyzzyz{z{z{{{{{{zyzyzzyy{{zzz{zzzzzyyyzzz{zzzz{{{zzyzzzzz{zyz{{{{zzzzzzz{z{{||{{{z{zyzzz{{{zz{{z{yyzyzz{z{{|z{{{{z{z|yyyz{|{{{||{{zyzzzzzz{{{{{{zzyzzz{yzzzzz{{{zyzzyyzyzyzz{z{zzzyzzyyyzzzyy{{zzzyyyyzzzz{zzzz{yyyyzyyx{yyzzz{zzzzyyzy{zz{zzy{y{zxxxzzxzyzzzzyzyzzzyyyyzzyz{{{zzyyyyyyy{zzyzzzzyzzzzyyzzzz{zzy{yyxyyyyyzyyzzz{zyyyyyzyyz{zzy{yzzzyyyyyzzzz{z{zzyyx{yyzzzzzyzzzzzyzyzyyxzzyzzzzzzyyy{xyyzyz{zzzzzyzyyzzyzzzzzzzzzyzyyyzzyzz{zzyzzyzzyzzzzzz{{{{zzzzzzyzzzzz{{zyz{yyzzyyzzz{zyz{yzyyzyyzzz{z{zzzzzzzzzzy{z{{|{{{zyyzzzzzz{z{{y{{{zzyzyzyy{{zz{{{{zzz{zyzz{z{z{{{{zy{{y{zzz{{{{zz{{zz{yyzz{{z{{{|z{z{{yzzyzzzzz{zz{z{zzzzzz{zz|z{{zz{zyz{{{{{{{{||{zzzzzzzzzzzz{{zzzzzzyyyy{z|zzzzyyzyyyzyz{zzzyzzyyyyxzyyzzzzz{{zyyyyyyyyyzzy{{zzzyyzyzzxzyzzz{zzzzzyyyzyy{zzzzz{zyyyyxyyzz{{yzz{zzzyyyzyzy{yzz{{zzyyzyzyzyzzzzzzyyzyyyyzyyyzz{zzyyzzyyzyzz{{zzzzyyyzyyxyzzzzzyzzyzyyyyyzzzyzz{{{yyzzzyyyzzzzyzz{zyzyyyzyy{y{yz{zyzzzyyz{zzzzzy{{yy{zzy{yzzzzzz{{{y{zzy{z{{zzzy{zzzyzzyyyz{{z{{zyyyzzyzyzzzzz{zzz{zyz{z{zz{{zz{{zzzyzyzzz{zzzz{zzzzyzzz{z{zy{z{{{zzzzyzzz{{z{z|{{zz{zzzyy{{{z{z{zzzyyzzz{{{z{{z|{zy{zzz|{z{z{|||{{yzzz{zz{{z{{{{z{z{{yzz{{z{{z{{z{z{zzzzzzzz{{||{|z{zzzz{|zz{{z{|{{yzzz{yzz{zz{{{zyz{zyyyzz{{z{z{zyyyyzzyyzzzzyzzyzyyyyzyyzzzzzzzyzyzyyzyzyzzz{z|yzzyzyyyzzyz{zzyzyzyxyyy{zzzyzz|yzzyxxzyxzzzz{yzzyyyzzyyzzzzyzzzyyyyyzyyyzzyyzzyyyyyzyyzzyzzzzzzzzzyyyzyyzzz{zzyyxyyyxyxzy{yzzzzyyyyyyyzzyzyzy{zyyyzzzyyxyzzz{yyyyyzzyzyyzy{y{y{zyyyzyzxyzyzzyyyzzzzyyxyyyzzzzzyyyzyyyzzyzzzzzz{zzzzzzyzzz{{{z{yzzzyyy{yz|zzzzzzzxzzyyzyz{zzyz{zzzyzzyyzy{zzzz{{zzyzyzzyy{{zzzz{zzzyyz{{zzz{z{{{zzzzzzyy{{z{{{{zzzzzzyzyz{{z{{|zzzzyzzzzz{z{z{{{zzzzyzzy{{{{z{|zzzzz{zz{{z{{zz|{{yzzzyz{z{zz{{{|{zzzzyzy{zz{{z{{zzzzzzzz{z|zzz{|zzzyyzzzyzz{zz{zyzyyyy{y{z{yzzzzyzzw{yyyyyzyyzyzyy{yzzyy{zzzzz{zzyyyyzzy{yyyyz{yzyyzzyyyzzyzyzzzzyyyyyzxyzzzz{zzyzzyyzzzy{yxzzyzyyzzzyyyzzzzyzyzzzyyyyyzyyyzyzzzzyyzyyzyzyzzzzzzzxyzyzyzyzzyzzy{{yyyyzzyyy{yzyzzy{xzyxyyzyyzzyy{zzyyxyxzz{zyzzzz{yzzyyyxzzyy{y{zzy{yzyzzyzzz{{zzzzzzxy{zz{{zz{zzzzyzzyy{y{{yzzz{yyzyzyzyzz{zzzzzzyyyzyzzyz{zz{{zzzzzzzzy{zzzzz{zzzyzzzyz|zzz|{{{yzzzzyzzzz{|z{z{zzzzzzyzz{y{{{{zzzyzzzzz{{{{{{{{zz{zzz{{zz{{{z{{{zzzyzzzz|{{z{{{zzyyz{zy{{y{zz{{zyzzzzyz{{zz{{{{{{zzzzzzz{{{{{zz{zzyyzyzzzz{|z{{z{zzzzzyzzz{z{z{zyzyzyzzzzzzzzzzzyxzyyzyz{{zzzzzzzyzxyyyzyzyz{zzzzyzzxzy{z{z{yzzzxzyzyyyzyzzzz|zzyyyyyyyy{zzy{{zzzzxzyzzyz{yyy{yzyzzzzyzzy{zzzyzzyyzyzyzzzy{zzzzzyyyzzzyzzzyyz{zyyzyyyzyzyzzzzzzzyzyxyzyzyzzyy{zzyyxzyyzyzy{zzz{zzzyyyzyyzzzzzzz{yzzzzyyzzyz{z{zzzzyzx{yyz{zzzzzzyzyyzyzzyzyz{z{yxzzyyyz{zzzz{zzyzzyzyyzzzzzz{z{zzzzzzyzzz{{z{{yzzz{zyyzzzz{zzyz{zyzzzz{zzz|{{|{{zyzzz{zzz{|zzz|zzzzzyyz{{{z|z{z{yyzzzzz{{z{z{{|zyzyzz{z{z{{{{|{{yzyz|xzz{{{z{|z|yzzyzyz{{{{{{{zzzyzy{{zz{zz{{|{{zzz{{z{{{{{z{|{{zzzzzzzz{zzzzzz{{yzzzyyyzzz{{{{zyyyzyzyzz{z{zzzyxyyyyyyyy|{zzzz{yyyzzyz{z{zzzzzzyzyyyzzzzzzzzzzzy{yzzzyyy{zzzzyzzzyyxyyzyzzzzz{yyzyzzyyzyzyz{zzzzyxzzxzzy{yzz{yzxyyzzyyzyzzzyz|yzyyzyzyzzyyyy|{zyyxyzzzzzz{zzzzyyzyzzyyzz{zzyzzyzzzzyyxyzzyzzzzzyyyzzyxyzz{z{yz{yzy{zyyzyzz{{yzzyzzzyzyzzzzz{zzzyyzyyzzzzy{z{y{yzzzzyz{zzy{zz{z{zyyzy{yyz{z{{{zzzyzzy{yzzzzz{{zyzzzzzyz{{{zzzzz{zyzz{{yzy{{{|{{yyzzzz{zz{{{{z{zzzzzyzzzz{{{z{{zzzz|yyzz|{{z{{{{y{zzzzzzz{z{{{{{zyz{z{zz{z{{{{{{{z{zzyyz{{{{z{{zzzzzzzy{z{{z{{{|zz{zzzyzz{z|{|{{z{zyzzyzy|{{{z{|zzzyyzzz|{{{{z|{zyyyyyyyzzzyz{zzzxzzyyzzyzzyz{{zzyyyyyzy{zz{{z{{zyzyzyyzzyzy{z{zzzzzzzzyyz{zz{{zzzzyzyyyz{zz{{zzyzyyyzyyzyzzz{zzyyzyxyyzzz{yyz{z{{y{yzyzzyzzzzzzzyyyxyyyzzzzyzz{yyzzxzyzzzzzzyz{zzzzyzyy{zzz{zzzzyzyzyyzy{zyyzzyyzyyzyyzzz{yz{zzyyzyzzzy{yz{yz{zzyzy{yzyzyzz{{{{zzzyzyzyzzyzzz{{yzzyyzzzzz{yyz|{zyzzyy{zzz{yzzz{zyzzxyyzzz{{{{z{zzzzzyyyzz{zz{z{zyzyzzz{{{{{{{{{{zzzzz{z{zz{z{{zzy{zzzzy{|{z{{{z{zzz{y{z{z{{z{z|zz{yzz{zz{{{{{{{{{z{z{z{z{z{{||{{zz{z{zzz|{{{{{{{zyzzzzz{z{z{z{{{{zzzzyz{{z{{z|{zzzy{yyz{{{z{|{{{y{zzyzyzz{|z|zzyyzyyzyzz{zzz{z{yxyyzzyxzyzzzz{z{yzyyzyyzzzzy{zzyzyyyzzy{{zz{zz{yyzyzzyzzzz{z{zzzyyyyyyyzzyzz{z{zyyyyzyyz{{yzz{y{zyyyyyyyz{yzz{zzyzzzyzzzyy{zz{zyy{zyyyyzyyzzz{zzzyyyyyzzyzzzzzyzz{zxyyxzzz{zzzzyzzyzyzyzzyzzzzzyzyzyyzyy{yzzy{zyyzyzyzxz{zzzy{zzzyyzzyzz{zzzzz{{zzzzzzy{y{z{{{zzyzzyyy{{{{{{z|{zzz{zzzzzz{{z{z{{zzzzzyz{|{{{z{{zyyzzzyyz{{{z{{{zyzyzz{z{||zz{{{{zzzzzz{z|z{z{|zzz{yyyyz{{zzzz|{zzyzzzzz{{{{{|{{{zz{yz{{{{y{{z{{{{zzz{z{z|{{{{{{|z{{zzzyz{z{z{{{{zzy{{zyzzz{{{{|{{zzzzz{{{z||{z{zzyz{yzzz|zz{z{{zzyz{{yzzz{{z{{zzz{zzyyy{{{zzzyzzzyyzyxxyzzyyyzyyzzzyyyyyzzzzy{zzyzzzyzzzzzyyzzzzy{yyyy{zyzzyz{zzzzxzyyxyzz{zzz{zzzzyxzyy{zyyz{yzyzyyxx{xy{zzzzzzyyyyyyyzyyyyzyzxzyyxyyzzzzyyzzyzyyyyyyyyyyyy{zzyzzyyyyyzzzyzyzzzyzzyyzxzzzzyzyzzxyyzyzyyzyyz{zzzyyxyyzyzz{zzzzzzyzyyyyyy{zzzy{{zzyyyyyyy{yz{{z|zyyyzxyyyz{zzzzzyxzzzyyzy{zzzz{zyzyzyyyyzz{{z{{zzzzzzzyyzz{zzzzzzzzzzzzy{zz|z|zzyzyyyzzzz{y{{{z{zzzyzzzyzz|{{{{{{yz{zzyy{{zzzz{{{y{zzz{yz{{zz{{z{zzzz{zy{{{{zz||{z{zzzyz{{z{{|{{{zyzzzzyz{zzzz{{z{y{zyzyzz{{zzzzzzyyzzzzz{{{{{{{{z{zz{zyz{{{zz{{zzzx{yzyzy{zyzyzzzyyzyzyxzzyyzz{y{yyzyyzzzzzyz{zyyyzzzyyzzyzz{zzzzzyyyxyzzz{zzzzzzzyzyzyzyzzzzzzzyyyzyyzzzzzyzzyzzyyyzzzzzyzzyzyyzzxxyxyyzyzyzzzyyyyxyyxzzzz{y{zyyzxyyyyzyzz{yzyzzyzyzyxzzxzzyzzzyzzyzyxyyzzzyzzzyzzzyzyyy{zy{z{zzzyz{yyy{z{{zzzzyyzyyyzzzz{z{{zzy{zyyzzzzzzzzz{yxzyyzyzzz{z{zz{yzzyzyzzzzz{|{{yzyyzzzzy{zzzzzz{zzzy|{zzyzzzz{zzzzzyzzzz{z{{{|zzyzzy{zzzz{y{zz{{zzyz{zyy{z{z{{{zzzzz{zzzz{{{z|{|zzzzz{{zzz{{{{{{z|zzzzzzz|{zz|{{zz{{yzz{{y{z{z{{zzz{zzz{z{z{z{{{{z{z{zyyz{z{{zz{zzzyyz{y{zz{{z{|{yzzzzyzz{zz{zz{zz|yzzzzzzz{zzzyyzyyyyzyzzzyzzzzyzyzyxyzzxxzzzz{zyzzzyzyzzzzzzz{zyzyzzyyy{yzzyzzzzyzyyzyz{zzz{z{zzzyzyyyz{zzzz{yzyxyzyyyzzzxy{zzzyyyzyyzzyzzzzzzzyyyyyyy{{zyzzzzzzzzyzzzzyzz{zzzyyzzyyyyyz{{y{{zzyzzyyyxyyzyz{zyzyyyzyyyzyz{z{zzzyyzzzyyz{zzz{{zzzzzyyyz{z{zzzz{yzzzxzyzzzzyzz{zyzyzzxyzzzy{z{zzzyzyzzyzyy{{zzzy{yzzyzyzzzzzz{|{{zz{yyyzzz{{z{{zzz{yzzzz{{z{{{{|z{{zzzzz{z{zz{{{yzzzzyzyy{|z{z||zzzzzy{z|{{zz|{|zzz{zzzzz{{z{{z|zzzzz{zz{{|{{{{z{z{zzyzzz{z{{{z{{zyzzzyz{{zzz{{zzy{z{z{z{{{{zz{|yzyzyyzzz{z{zz|zz{yzyzzyz{{{{{{zzyzyzyyx{{z{yzyzzyyyyzzyzyzzzyyz{zyyyxyyxyzzzz{zyyyxzzyyzzzzzyz{yyyzxzzyzy{zzzz{zyyyyyyxzzzzz{{zzzyxzyyyzzzzzz{yzyyyxxyyzzyyzzzzzyyyyyyyyy{yyz{zyyyzyzyzzxzyyzzzzzxyyxxzzyzyyzzzzyyyyxyzzyzzzy{zyyyxyzyyyzzzzzyzzyzxzyyyxyyyzzzzyxzyzyyyzzzyzy{{zxzyyyyxzzyzz{{{yyyyyy{z{zzzyzzzyyzyyyxyzzzzzyzzzyzzyzzzzz{zzz{{yyzyyzyy{{z{yz{zzzyyyyyyzz{z{{y{zzyzzyyyz{z{z{{{zzyzzyyyzzz{{z{zzzzyzyxyzzz{zz{zzyz{zzzzy|{{zz{zzyzzzzzzz{zzzzz{{zzzz{z{z{{z{{{{{zz{zxzyz{zzzzzz|zzzyzzyy{{z{z{{{zzz{{{y{zzzz{{{z{{zzzyzzzzyz|zz{zzzyyzyz{{{z{{yyyzyzyyzzzzzzzyzyzyyzyyyyzzzzzzzzzxzyzzyz{{zzzzzyzzyyyzzyzzzzzzzzy{yyyyyzz{zzz{{yzzzzyyyzzzzyzz{yyzzyyyyyyzzzzzzzzzyyzyxzzzyz{zzzxzyyyzzyzzzyyzzzzyxxyyyyz{zz{{zyyxyyzyyzyzyzzzzzyyyyyyyzzzz{y{{zyyyzyyyzzzyzz{yyyyzyyzyyzyyyzzz{yzzyyyyyyzzzzzzyyzyzz{zyyzzzzz{zyyxzyyy{yzzz{z{{yzyyyyzzzzyzzzz{zzzzyzzzzz{zzz{zyzzzyzy{zzzzz{z{zzzyyzzy{zyy{z{yzyzzyzyzz{{z{zzyzz{z{zyz{z{y{{{zzyy{zzyzzzzz|z{{zzzyyzzz{zz{{|zzzzzy{zz{{zz{{{{{zzyz{zzz{{{{{{{zyzz{zzz{{{zz{z{zyz{yzzzzzz{{{{{{{zy{y{y|{{zz{z{z{zz{{zzz{{zz{{{zzz{{zyzz{{z{{{zyzyz{yyyzzzzyzyzzyyyzyyzxy{yzzyzzzyxxyyyzzzzz{zyzyzyyzyyyzzz{zzzzzyyyzyyzzzzyzzzyyzyyyyxzy{zz{yyzzzyyzyxyzyzyzzzzzzyyxyyyxzzzz{zyyyyyyxyzzzzzzzzxyyyyyyyyyyzzz{yyxyyxyxyz{z{zzz{zxxywyyzyyzzyyzyyyyyyzyxxzxxzz{yzyyyyyyyxzyyyzzzyyyyyyzyzyzzzzzzyyxyyyxyzyyyyyzzzzyyxyyyzzy{zzzzxzyzzyyyzy{zyzz{zy{{zyzy{{zzzzyzyyzyyyzyz{{zzz|{zzyzzzyz{y{yz{{yy{zyyyzzy{z{zzz{z{zzzy{zz{zzz{{{yzzzzzyzz{{zzzzzyyzzzyzz{z{z|z{{zyzzyz{yzzzz|{{zzyzyzzyzzz{z{{z{zyzyzzzz{{zz{|{{{zyyzy{zzzz{z{z{yzx{zzyzz{{zz{z{yyzy{yzyyzz|{{{zzyzyyzzyz{zzzzy{zzzzyyyyzzzzzzzzyyxyzzzxyzzzyzyzzzzzyyyyyz{yz{z{zzzxzyyyzzyzzyzzzyyyyyxyyyzzzzzzzy{zyyyyzyzzyyyzzyzyyzyxxzzzzz{zzzyyzyyzzzzzzzzzyyyyyyxxyyyzyzzzxyzyzxzzyyzyz{{zzyyzyzyyyyzzzzzyzyyzyyyzyzyzyzzzyyyzyyyxyz{yzzzzzzyzxzzyzyyyy{{zzzyzyyyyzzzyzzyzzyyyzyzyyzyzzz{zyyyyyyzyzzzzz{zzzyzzyzzyzzyyzy{zzzzyzyzyzzzzy{zz{zzyzzzz{z{z{{zzzyyyzzzyyzzzzzzzzzzzzyzzzz{|zz{{yzzzz{zzy{z|z{z{zyzyzzzzyz{{{{|zzzzzzyyy{|zzz{|{zz{yzyzzz|{{{{zz{yzyzyz{z{zz{{{|{zyzzyzyz{{{z{z{zyyzzzzzzz{{zz{z{yzzzzzzz{z{{z{{yyzyzyyz{zzz{{zzzzyzyzyzzz{y{{zzzzyyzyzyzyyz|{yyzzxyzxzyyz{zyzzzzyyzyzxyyzyzzzzzyyzyyyzzzyzzzz{zzyyyyxyxzzz{yzzzzyzyxyxy{yzzzzz{yyyyzzxyzzyyzzzzzyyxyyzyzzzzy{yzyyyyyzyy{yzzzzzzyyyxyyzzzzzyz{{zyyyyyzyyyz{y{zzzyyzzyzyyxzzzy{z{zxzyyyzxzzzyz{zyzzyyyzyzyzzyzzyyyxyzyzyy{yz{z{z{zyzyzyyyz{z{y{{{{zyzzzzzz{{{z{zzyyzxzz{yyz{zzz{zzzzzxyzz{zz{{{{{zz{yyyzzz{{zzz{zzzzz{yyzzzzzz{{{zzzzzzz{zz{{{z|{z{y{zyzz{{{{zz{{zyyzyzyz{z{{|{{zzyyz{yy{{|z{z||{zz{zyzzz{{{{{{{{{zzz{{{zz|{{zz{{z{z{zxzy{z{{{{{|z{zyzzzz{{zz{|z{{zz{z{yz{{{|{{{{yzzz{z{zz{{{{{{zzyz{zyzzzz{zz{z{zz{zzxyzz{zyz{y{zzyyyyyyyzzyzzz{xzyyyxyyyzz{zz{{zzyzxyyyz{zzz{zz{yyyzyyyzzzyzzz{zzyyyyyyyzzzyzzyyzyzzyxyyyzzy{zyzyzyzzyzz{{yy{zzxyzzxyyzyzyzzz{zyyyzzyyyyzyzzz{yzxzzyxyyzy{z{yzyzyyzyzzyyz{zyzzzzyyyzyyxzyzyzzyzzyyyzyyxyzzzyz{zyyzzyzzyzzz{{z{zyzzyyyyzyzz{yzz{yzzyyyzyyzyzz{zzyzyzxzzzzzzz{{z{zzzzyxyzzzzzzzzyyzzxyyzyz{z{z{{zzyyzyyzyz{zzzzzzzyzyyzzzz|{{{{{zzzzzzyzz{{z{z{|{{yzzyzzzzz{{z{{z{yyyzyz{{z{{{|z{zzzzyz{z{{{z{{{z{z{zy{{z{|{{{{|{{z{z{zzz{{{zz{{{zzzzzzy{zz{z|z|{{zzzz{z{{{{{{{z{zyyy{zzzz{{{{{{|{zzzzzzy{z{{y|{yzyyyzzzy{{{yyzyzyzyyyyyxz{zyyzzzzyzzyyzyyyzz{{z{yyyzyyyyzzz{yz{zyyzzzzzzzzz{zz{zyzyzyyyyyyzzzzz|{zyzyzyzy{zyz{zzzyzxzyyy{zzzyz{zyzzyy{yxyzz{z{zyyyzzyyyyzzz{yzzyzzzyyzyyzzzzy{zzzyzyyzxzxy{yz{{yzzzyyyzzyyzyzzz{zzxyzyyyy{yyzzy{zzyzyyyyzz{{{zzzzzyyzyyyyz{zz{zzyzzyzzyy{yzyzz{{yzyzyyzyzz{zz{{{zyzyzy{zy{zz{{{zyyyzyzzzz{{{zzzzzzz{{yyz{{zzz{z{yzzzyyzzz{z{{{zzzzzzzyy{{{z{{z|{zzzzz{zy{{{z{{{z|zzyzzzzz{{{{|zz{z{yzz{zzz{{{|{|zyzz{yzzz{{{z{z{zzz{zzy{{z{{z{|z{zzzzzz{{zzz{zz{{z{z{z{{|{z{z{}{zzzzz{zz{zzz{z{{{zzzzzzyzz{z{{{zzzzyzzzz{z{{zyy{xzzyzzyzyzzzzzzzzxyyzxyyzzzzzzzzzxyyyzyzzzyy{zz{zyzyxzxyzzzyzz{zzzyyyyyyyzyzzzzzyyzyzyyxzzzzzyzzyyyzzyyyyzzzyzzzyyyyzzxzzy{zzzyyyzyyyzyyy{zzzzyzyyyzyyxyzyyy{y{zyyxxyyxyyzzzy{{{zyyyzxyyyzzyzzy{yxxxxyyyxzyyyz{yzyzyyzyxzzz{z{zyzyzyyxyzxzzzzzz{zyyzzyyyyyyzzzy{xzzyzzyzzy|zz{zzyzzy{yzzy{zz{z{{yyyyzzyzzzzz{{zzzyzyzyyzzz{zzzzzzzyzzyzzz{{{{{zzyzyy{{zz{{yzzz{{{yzzzyy{{{z{{{|z{zzyyz{yz{zzz{{zzzzzzzzzzy{zz{{{{y{zz{z{z{{z{{|z{zzz{zzy{z{{zz{z{zzzzzzz{{{z{zz{yyzzyzyy{{zz{{zz{{yzzz{z{||zz{z{{zyyyzzzzzz|z{zz{zzzzzz{{zzz{zzzzyyxzyxyyyzyzzy{zzyyzwzyyyzzzz{{zyzyyyyzzyzzzzz{yyyyzxzyyzyzzzzzyyzzyxzxyyy{zyz{yyyyxyzxz{zyzzz{yxzxxyyzzzzyyyzzzyyyyxxzyyzyzyy|zyzxyyyyzzzzyxzzyyzzyyxyyyzyyyzzxyyxyyyyyzzyz{zy{yyyyyzyyyyzzzzyzzzyyyyyxzzzzzzzyyyyy{zyzzzzzzzzyyzzyzzzyzzzzzzzyzzzyyxyzyzzyzzzyzzzyzzzzzzzz{zzyyzzyzyzz{zzyzzzzzyzzyzzzzzyzz{zzyyzzzyyzzzzz{z{zy{yzzzzz{y{zz{{yzyzzz{yzzz{z{z|zyyzzyyzz|z{{{{zzyz{z{zyz|z{{zzzzzyyy{y{{{zz{{z{zzyzyzzzz|z{{z{{zzzzyzyz{zz|z{{zzzzzzzz{z{{{z{z|{zzzzzzz{{{zz{{|{{yyzzzyz{z{zz{|zzzyyyzyz{z{zy{zzzyzzyyyzyz{zzzzyyyyyyyxyzzzzzy{yyyxzyyxyyzzyz{{|zyyyzxxz|zyy{{zyzyyzzzxz{yzzyz{zzzxxyyxzzz{zzyzyyyyyzyyzz{z{zzzzyzzyzyyzzzyyzzzzzyxxyxyyyzzzzzzyyzzyyxyzzzyz{yy{zyzyyyyzzyzyyzzzzyzxzyzzzzzzy{zzzyzyyzxzyzyzz{{zzzyyyxyyzy{zzzzzyzzzyzzyyzz{yz{{yyyzyyzzyzzzzzyyyyyyyyzzyzzz{{{zzyyyzyy{z{zz{{z{yzyyyzzy{zzyzz{yyyzzzzzzz{z{zz{zzyzzzyyzzz{z{z{{zyxzzyyz{z{z{z{yyzzzyzz{{{zyzzzzzyzyzzyzz{{{{{{{yz{zyzy{{z{{z{{zy{zyzz{{zyz{{{z{zzzyzzzz|{{{{{{{zzzzyzzzz|{z{{z|zzzzzzz{z{{{{{{{zyzz{zz{z{zzz{zzz{zz{y{zz{{zzy{zzyyzyyzzzzzzz{{zyzyyzyzzz{y{zzzyyyxyyyyyzz{zzyyyyyzyyyyzzyzyzz{yzyyzzzyzyyzzz{{yyyyzyzzzy{z{yzzzzyxyyxyz{zzzzy{yyzxzyyyzzzyzzzzzzzzxyyyzyzzy{zzzzzxyyzyzzzzxzzyyyyzyyyyyzzzyz{{zyyyzyxyzzzyzyzzyyyyxyyyzzzzyz{zzyyyyyyyyy{zzzyzzyzyxxyyyzyzyzzzyxzzyzyyzzz{yzyzzyzyyyzyzzzzyzz{zzyyyyz{zyzzzzz{zzzzzyxzyzzzz{{zzyzyzyzyzzz{yzzzzyzzyyyyzz{zzyz{zzzzzzzz{zzzzzz{zzyzzzzz{z{zzz{zzyzzzzzy{y{zzz{{zzzzyyzz{{zz{{z{zzzzzzzzz{|{{zz{zzzzz{yy{{{{z{{z{z{yzyzz{{{{{z{{{{{zzzzz|z{{{z{z|y{zz{zz{{zzz{{|{zz{zy{z{z{{z{z{yzzyyyyzz{zz{{z{{z{yyyyyz{zz{{{{{zzyzzzy{z{zzzyyzyzyzyyxz{yy{yzzxyyzyyyyyzzyzy{zzyxyyyzzzyzzzy{{yzyzxxzzyyz{zyy{yzyyyxyz{y{zzzzzyyzyyyyxyzyyzzzzyyzyzxyyzyzyzzz{yzyyyyxyzyzyyzzzzxzyyyyxzzyyzyzzzyzyyyxyyyzzyzzzxyzyyyxyzz{{zzzzzyyxyyzyyzzyzzyxzzyxzyyyyyyzzzzzyz{yyzyxzzzzzyyzzzyyzxz{z{zyyzzzzyyzzy{yzyzyzzz{yzzyyzyyyzz{z{yzzzyyyyzzyz{zzzz{yz{yzxyyzz|yzyz{zyyzzzyyzz{zz{z{zzxyzyzyzz{{{z{zyyzyzzzyz{{z{{{{zyz{yzzyzz{{zzzzzzzz{zyzz{|{{z|z{yyyyzzz{zz{{{z{zyyzyzzyz{{z{{z{{zzyzyzzzz{z{{z{zyzz{zzzzz{z{{z|zzxyzzzz{z{zzz{{{zyzzzyzyzyyz{zzyzyzzyzz{{z{{z{zzzyyzzy{z{z{yzyzxzyyyyyxyzzyyy{zzyyyyyxyyzyyzzz{zyyyyyyyzzyzzyz{zzyxzyzyzzzyyz{{zzyyyyyxzyzzzzz{zyxyyyyyzyzzzzyzyzyyyxyyzyy{yzzyzyyzyyzyzzyzzyzyyxxyzzzyyzyzxzzyyyyzxyyyyyzzzyzyzzyzxyyyyyzyyzzyzyzyxyyzzyzyyz{zyyzxyxyzyzzyzzzzyyzzyyyyzyzzyz{{zyzyyyyzzzzzzzy{yyzyyyxzzzzzz{zzyzyyyyzyzz{zy{{zzyyyyyyzy{yyz{{zzzzzyzyzzz{z{zz{zyyzzyzz|zzzzz{yy{yzzzzyzzz{zzzzzzzyzzzzzzz{z{zzyz{yyzzyz{z{{{{zz{{zzyzz{{zzzz{{zzz{zzzzz{z{{z{{zzzyzyzy{|z{z|{{{yzzzzzy{z{{z{zz{yzz{zxz{zz{{{z{zzzzzzzz{{{{y{{zzzzzzzzzzz{zzz|{zzyyyyyzzz{z{yz{zzyyyy{yzy{{zzz{yzzyyyyxzyzyzzzzyyyyyxyy{zzzz{zzzzyyyyxxyz{zzzzzzzzyyzyzyzzzzy{zyzyxyyzyzzzyz{zzyyyzyyzyyyzyz{zyyyyyyyxz{zzzyzzzzyzyyyxyyzzzzzzzyyyxzyzyyzyzzyzyzyyyxyyzyzzyzyyzzyzyyzyxyz{z{y{yyyyyyzyzy{yzz{yzyyyyyyyyyzyzzzzzyyyyyyyyzzzzzzzzzyzyzzzyzzzy{{{{{zzyzyyzzzzzz{yzyyzyzzzyyzzzzz{zzzyy{zzzyzzz{z{zyzzzzyyyz{{z{zzzzyyzy{zzz{zyzz{{{{zzyyzzy{zzz{{zyzzyyz{z{z{{{{z{zyzz{yzyz{z{z{|{zyzzzzzyz{{z{{{{zz{zzz{z{{z{{{{z{z{zzzz{zz|{z{{{{z{z{z{z{{{{{z{{zyzzzzzzz{{{{z||{zyyzzz{z{z{z{{{yzzyzzzzzzzzzzz{{|zzzyzzzzzzzz{zyyzyyzyxzzzzzzzzyzxyxyzyzzyzzzz{yzyyyxyyzzzzz{zzzyyyyyyyzzzzzz{zzyyzyyyz{yzzyzz{{zzyyyzxzyz{zzz{yyyyxzyyzz{yyyzzzyzxyyyyyzzyyyz{zyzyzzzzyzyzz{yyyyxzyyy{zzy{zyyzzzyyyzzyzzyyzz{zzzzyxyyyyzzzzzzzyyyzyyyzzyzyzzzyyzyyyxz{yzzzzz{zzxyzzyy{z{zy{{{{zzxyzyyyzz{zz{{{{zzzzyzy{yzzzzyzyyzyy{z{z{{z{z{z{y{zzzzzzzzzzz{zzzyyzzzzz{{{z{{{{yyzy{zy{zzzz{zyyzzy{zyzzz{z{{{z{yz{zyzzzzz{{z{{zzzyzyyy{{zzz{{zzzzyyzzz{{zz{z{{{{zzzzzzzzy{z{{{z{zzz{z{z{{zz{{{zzz{zzyy{z{{{zz{{z{yy{zy{z{{z{{{{zyzz{{z{z|zz{{z{zzyzzzzzzz{z|{{zzz{zzzy{{z{{{zzzyz{zyzzzzzzzyzzyyzxyyyxzz{zyzzzyzyy{yyyzzzzzzzzzyyyyzzyzy{zzz{{{yyzyzzzyzzzyz{z{zzyyyyyzzzzzzz{yzyyzzzyzzzzyz{zzzzyzyzy{z{yzzzzzzzzzzyz{zzyyzzyyzy{zyzyzzzzzzzzyyyyyzyyzzzzz{zzyzzzxyyyz{zzzz{zyyyyzzyyzz|yzy{zzyyzyzzyzzzyz{zzzzzyyzzzzz{zzz{zyzyyzy{zzzy{{z{{zy{yyyyzzzzzyyzzzzzzyyzyzzzzyz{{zzzyzyyyz{zz{{{yzyzzzyzzzz{{{y{y{yzzzzzz{{zzzzzyzyzyzzz{z|{z{|{zyzzzz{{z{{{zz|{{zyyzyyyzz{zz{{{z{zz{zzzz{{{{{{{{zzzzz{|zzzz{{|{{{{zzzzzzz{{{{zz{{z{zyzyz{{{{{{{zzzyzzz{yz{zz{{{|{zzyzzz{z{{{}{{|zzzyzxzzz{{{{z{z{{zzzzzyzz{zz{{zz{zzyyyx{{zzzzyzzyzyyyxyyzyzyzz{xyyzyyzzzzzzz{z{zyyyyzyyzzzzzzzzzyzzyyxzz{zyzz{z{zyxyyyxzyzzyzzzyyzyyyzzzz{yy{yzzyzyzyyxyzzzzyzzyzyxyzyyzzy{yz{zyx{yzzzxyzyzzzzzzzyzyxyzyzz{zyzzyzzyyzzyyz{{x{zzyxyyyyxyzyyyzzzzz{yzyyzyyyzzzzzzzzzyzyyyzyyzyzzz{yyzyzyzyz{zz{zzzyzzzyzyzzzy{y|z{yzyyzyyzzzzzzy{zzzzzzzzzzz{z{|{zyzyzzzzzz{zzz{{zyzyzyz{yzzy{{yzyzzzzzzzz{z{{zz{{zz{z{zzzyz{zz|{zzzzyzyz{zyzz{{|{zzzzzzz{z{{{{z{{zyzzyzz{z{{z||z{zzzxzz{y|{{{{{{{z{zzzzzzz{{{z{{{zzzzzzz{zzzz{z{z{{{zzzzz{z{{{{zzzzzzzzz{{{zz{|z{zzz{zzyz{{{zz{{z{zyyzzy{y{{zz{zzyyyxxyyzyzzzzz{zzyyyxyy{zzzzz{|{zyyxyyyzzzz{zz{yyzzyzyzz{{zyzzzyyzyyxzyz{{{zzy|zyyyzyyyyyzzyzzzyzyyyzzyzzzyyyzyzzyyyzyyyzyzyy{zzyzyy{zyyyzyzxzzzyyyyyzzzzzyyyzzxzyzxzyyyyz{zy{zzzzzy{yzzyzzzzzzzzyzzyyxyzyyyzzzyyyzy{yyzyyzzz{zzy{yzyzzz{zzz{z{yzzzyyzyzzzy{zzzyyzzyyyy{z{yzzz{zzyzyyyzy{zzz|zzzzyyzzyyy{{zzyzzzyz{yyyyzz{{z{zz{{zzzzzzz{z{z{{{zzzyzyzzzzz{{{z{zyzyzzyzzz{{{zz{{{zzzzzzz|z{{{{|{{|zzy{zz{{z{{{{{zzzzz{z{{{{{{{{zzzzyyzz{z{z{{{{zzyzz{zz{z{{z{{{yzzzzzzz{zz|{{{{{zyzzz{y{{zyz{{z{zzyzzzzy{zzz{zzyyyyzyzyzyzyy{yzyzxzzzyyyzzyyyzyyxyyyyzx{zzzzyzzyyzyyyyzyzz{zzzzyyyyyzyyzzzzzzyzyyyxyxyyyyzzzzy{yyzxyzyyzzzzyzzzxyyyzyyyyyzyz{zzzzyzzyyyzzyzzy{zzyyyyyyyzyyzzz{zzxxyyyxyzzzyyzz{yzyyxxxyyzzyzzzyzzzyzyyyzyzyyyzyyyyyzyyxyyz{zzzzyyyyzyyyyyzzyzzyzzyyyyyyyzyzy{{{yyyyzyzz{z{zyzzzyzzzyyyzyz{y{zzzzyyzyyzyzzz{y{zzyyzyxyyzzzyzzz{zyzzzzzzy{z{{z{zzzyyzzzzzzz{zz{z{yyzzz{{z{yzz{{z{zyzyzyyyzzzz|{{{zyyyzyzzz{zzz{zz{zzyzzzzzzzz{z{{{zzzy{zxzz{||{{{{z{zzzz{z{{{z{{{{yzy{zz{zy{z{{|{z{{zzzzz{|z{{{{|{zyyz{zyzzz{{|{z{zzzyzzy{{z{zz{zyy{yyzzyzzzzyzyyyxzyzyyyyzzyzz{zzyyyyyyyzzzyzz{{zyzyyyzyzyzyz{{{zzyzzzyzzzzyzzzzzyyzyzyyyyzzzzzzzzyyxxyyyz{yzzzyzyzzyyzxyzzzyzzzzyyyyzyyyyyz{zyzzzyyzyxyzzzzzz{yyyyyyyyyzzzzzzzzyyxyyyyyyyxyyzzzzyyzyyzzzyyyyzzyyzzyyzyzyyzzyzz{yzzzyxyyy{zyzzz{{yzyzyzyzz{zy{{zzzyyyxyyyzzzzzzzzzyzzyzyyzzzz{zz{yzzzyyyzz{{{{zzzzzzyyxyyy{{zz{z{yyzyzyyzzzzz{{{yz{yzzzzz{zz{z{zzyzzyzzzzzy{z{{z{zx{zyzz{{z{{z{z{yyzzzzzz|{{{{{|zzzyzzz{z{zzz{{z{yzzz{zzz|z{{{{{{yzzz{{zz{{|z{{z{zzz{zzy{zy{z{|{{zzzyzzz{{z{z{{{{{yy{{zy{{zy{z{{z{yyzzzyy|z{yzz{yzzyyyzz{yyzyzyyyzyyzyzyyzzyzyyzzzyyyxxyzzzzzzz{zzyzyyyyyz{{{{{{yyzyyzyyzzzzyzzzyyzyzyyy{yzzy{z{zyyyzzyzzzyzz{zzyyyyzyzyyzzzyyyyzyzyxzzyzzyzzzz{yyyxzyyyy{{zzy{yyyzzzyy{yyzzzzzzzyyzzyxxzzzzzzz{yyyyyzyzzyzzz{zyyyzyyyzyyzzzz{z{yyzyzyyyzzzzzzyzzzyyzzzyzzzyzzz{zyyyyyyyzzzz{zzzzyyzyzyzzzzyyzzzzyzx{xyzz{zzz{zzzzzzxyyy{zz{zz{zzzzzyyyzzzzzz{|yzzyzzzzzz{{{z{z{yzzyyzzzz{{{zz{{zyyzzzzz{{{{{z{zzyyyzy{y{{zz{{{{zz{zzzzzz{{z{{{{zzzzzzzzz{{{z{{z{z{{zzzzz{{{{{{zzyzzzzz{z|{{{{{z{yzzz{z{zzzz{z}|{zzyzzzzz{z{zz{|zzzzy{zzzzy|yyzzzzzyyyyyzzzzzyzzxyxyyyxxzzzzyyyzyxxyyzyyyzzzzzz{zyyxyyzyyyyyzzzzzyyxzyxyzzyzyzzzyyyxxyzyyzxzyzzyyyxyyyyyyzzyyzzzzyyzyyxyzyyyyzzzyzyyyzxzzyzzyyyzyyyzyxyyyyzzzzyzzxyyxxxyyzyyzzzyyyzyyyxyyzzzzzzzyzyxxyyxyzzyzzz{yxzyyyyyyzzzzzyzzzzyyyxzyzzz{zyzzyzyzyzyyyyzzzzyyyyyyyyyzzzzyzyzyyzyyzyyzyzzyzzzzzzzyyzyyzzzzzzzzyzzxzxyzzyz{{zzyzyyyyyzyz{{{{z{{zzy{yyyyzz{zzzzzzzyzzzyzzz{z{z{zzyzzxyxzzz{z{{zzyyzyyzyz{zzz{{zyzyzzzzyzz{z{zzzyyzzyzyzy{{{z{z{zyyyzy{{zz|{zzzzzzzzz{yyz{zz{zzzzzzzzzzzzzz{{zzzzzzyzyyyzzzzz{{zzzzzyyzyzzz{zz{zyzzyyxyzzzzzzzzzyyxzxzyyyzzyzz{{zyzyyyxyz{zyzzzzzzyxyyyyzyzzzy{yzyzzyyyyyyzzyzzz{yyzxxzxyy{zzzyzyyyyxyyyyzzyzyzzzyxxyxyyyzyyzzzyyyyzyyyyzyyzzzzzxyyyyxxyzzzzzzzyyzyyyyyyzzzyz{zzyyyyyyyyyzyzzzzzyyyyxyyyyzyyyzzzyyyxyyyyyyyyz{zzxyyyyzyxyyzz{yzzzzyyyyyyyzzzyyyzyzzzzyyzzzzzzzzzzzyzyyyyzz{zzyzzyzyyzyyzyzyzz|{yzyzzyyzxzzzzz{{zyyyyzyxzzzzzz{zz{yzzzy{zzy{{zz{{yzzyyzzzy{zzzz{zzyyzzyyzz{zz{zz{zzyyzzzyz{zzz{|z{{zzz{zzz{{{{{zzzzyyzz{yz{y|{z{{zzzyyzyz{zz{{{{z{zyyzyyzz{{{z{{{{zzyzzy{z{{zz{{zz{zyyzyzz{z{z{||z{zyzzzzzzzzz{z{yzzzyxzyz{zzzyyzzzyyzyxyzzzzzyzzxzzyzyyzyzz{zzz{zyyxyzzyzyzy{zzzzyzyyzxy{y{zyyzyzzzyyyyx{z{{yz{z{yzzyyyxyzyz{z{yzzzxzyzyyyzzyzzyyyzyyyyyyyzyzzzzzxyyzyzyyzzz{zyzzzyyzyxxzzyzyyzzyxzyxyyxzzzzzzzzzyzyzxyyzzxyzz{yyyxyzxzxzzzzz{zzzz{yyzyyyzz{zzzzzyzzzyzyzzzzzzzzzyyyyxyyzzzzyzzzzyyzyyyzyzzzzz{{{z{zzyyyzz{{z{zz{yzzyzzyz{zzy{zzyzxzyzyzzz{zzz{zzyzzzzzzzy|{|z{zzzzzyzyzz{zz{|{{zyyzzzzyz{zzz{{{{zzzzz{yzz{{z{{zzyyzzyzzzzz{{{{{zzzzzyy{y{{{|{{{zzzzzz{zz{zz{{{|zyzzzz{{z{{z{zz{{yyzyyyz{zz{z{|zyzyzzzyzyz{|zz{zzz{zzyyyzzz{zzyzyzzzyyyy{zzzzz{{yyyzxzzyyzyzyyz{zzyyzyyxzzzyzyyzzxyyyzyzzzyzzzz{zyzzxzyyzyzzyyz{zzyyzyxyyy{z{zyzyzzyyzyyyyyyzz{zyzzyyxyyyyzzz{{zyyxyzzxzzzz{yyzzyyyyyxyyyzzzyyzzyyyyy{xzzzyz{{zzy{yzyyyzyzz{zyzyyyyzyyyxyyzzyzzyzzzxyyyzyzzzzz{zzzzzzyyzyy{zz{z{zzzyzyyzyy{y{{zz{yzzzyy{zzyzzz{yzyyzzyyz{zzzzzzy{yzzyyyyz{zz|{zyzzzyyzzy{z{zz{{zzyyzzyzz{{{zyz{yzzzzzzzzz{z{{{{{yzzzyzzyzzz{{{|z{z{zzzzyz{{z{{{{{zyzzzzz{{{z{{z{zyzzz{zzz{{{{{{z{zyz{zzz{{{{{{|{{{zzzz{yz{{{zzz{zyzyzzzyz{zz{{|z{zzzzzzz{{z{{|{{zyyyzzzyz{zzzz{z{zzyy{zy{yz{z{z{zzzyyyzy{zz{zzzzy{xxxxzzy{zzzzyzyyzyyzyyyyzz{{{zyyzzyyyy{z{zzyzz{zzzyyyyzyzzyz{{zzyzyyyxyz{yyzzzyzzyyxyyzzzzyzyzyzyzyyzzyz{zy{{zzyzyzyzyyz{yzyzzyyyxyyyzz{zzzyz{zxzyzzxyz{zzzz{zyzzzxzyyzyzzyz{zyyyyzzyyyzzzzzzyzzzyyyzzyzzzzy{zzxzyzzyyzzzzzzz{zz{zzzzyzzzzzzz{zzzzzyyyzz{zyzz{yyzzzyzyzzzz{z{{yzyzzzzzz{{{{{zzzzzzzyyz{{zzz{{{zzzzyzyy{{{zyz{{yyzyzz{yzz{{z{z{yyy{zzzz{{{{z{|{z{zz{zzyz{{{{z|{{zzz{zzy{{{{{{{|yzzzzz{{zz{z{{|{{yzzz{{z{{|{{{|{zzzzz{{z{{{{{{{{z{{yyz{zz{z{{{|{zzz{z{zz{{zz{{{{zzzzzyyzz{zzz{z{z{yzzzyzz{zzzz{zzzzzyzzzz{{zyyyzyxxyyyzxyyzzzzz{yzxyyyyyzzyy{yyzyyyxyzyy{zzzzyzz{yyyyyyyyyyzyzzzzyzyzyyxyzzyzyzzxyyzyyzxyyyyzzzzzyyxyzxyyzzzyzyyyxyxyyyyyzzyy{zzxxyyyxzyzy{yyzzyyyyxyyxyzyzzzyy{yyyyyyxyyyzzzzz{yzyzyyyyyyzyyyzzxyxyzyyxyyyxyy{zyxzyyzyyyz{zyz{{yyzyzyyyyzzyyzyzzyyzyyyyzzz{zzzzxxyzyzxxzz{zzy{zzyzzyxzyz{zzzz{yzzyyyyyxz{zzzyzz{yxyyyyyz{zzzzz{zzzxyzzyz{{{{{zyyzyzzyzzy{zzzz{zzzy{yzyz{{{{{{{zzzyyzzyyz{zzzz{zzzz{yzzyzzz{{|{{{yzyyyyz{{zz|{z{zzz{zzzyyz{y{{{z{zzy{yyzz{{zz{z{{zyz{zyz{zz{zz{{{zzxyyyzyzzzzz{{zyzyzzyxzzyzzzzzzyyzzyyyy{zzyyzzyxyyyxzwxzyyzyzyyyyyyzyyzyzzzzzzyyyyxyxyzyyz{y{{zyyzzyyyy{zzzyzyzyyyyxzy{zzzyzy{zyyxzzxxzzyyyyzzzx{zyyyxxyzxyzyyyyyxxyyxyyyyyzyzxzyyxyyxzyzyyyzzyzyyyyxx{xzyyzzzyzzyyywxzyzyyzyzyyyyyyzxyzzyyyyxyyyyzyxxyzyxyyzzzyyyyyyyzzyyyz{{zxyyzyzxyyzzzzzzyyzzyyyzyzyz{zz{zyzyxyyyzzzzzzzzzzyyyxyyyzz{zzzzz{yyzzxyzzzyz{zyzyyxyyzyzz{yzzzzzyyy{yyzzzzyzz|zzyzx{zzzz{{zzz{{zyzzzyyzzzzzzzzz{zyzzzzzyzzzzz{{z{yyz{z{zzzzz{{zzyyzxzyyz{{{{zzzzzzz{zzz{zz{z{{{zyyzzyz{z{z{{z{zzzyyzyyz{zy||{{{zyzyyzzzyzzzz{{zzzyzzyyyy{yzzy{zyzyyyyyyyz{{zzyzyyyyzxxyyzyyzz{{zyzyzxyzyzzzy{zzyyyxyyyy{zzzzz{zzyyyyyxxzzzzzyzzyyyxxxyyzzzzyzzzxyyyyyyyzzyzyzzyyyyyzyxxzyyyyzzyzzzyxzzyyyy{zzzzxyyxxxyyzyyzyzzyyyxxyyyxzzyzzzyzzzzyxyyyyzzz{zzzyyyyyyyxyzzyyzzyzxyyyyyzzzzzyzzy{yyzyyyyzyy{zzzyyyzyzyyzzz{{zzyzzyyzzyyyzzzzyzzzz{zyyzzzzzzzzzzzyzzyzyyzz{z{zz{zyyzyzzxzz{{zyz{zzxyzzyzyz{zz{{zzzzzxzz{y{z{{z{zzzzzyyyzz{{z{z{{{{zzyyyy{{zz{{z|z{yyzyyzy{{{{{zz{zzzyyzzzz{{{z{{zyzzzyzyzy{z{{{z{{zzzzzzzz{zz{{{z{yzzzy{{{{z{zz{|{z{yzzz{{{z{z{{{zzzzyxyz{zzzyz{{yzzyzyzyzzzzyzz{zyzyzzzzzz{zzzxxzxyxyxxyyyzzzyy{{yxzyyyyzyzyyyzzzyyxyyyyyzzzz{zz{yzyzyy{yxyzzy{zyyyyxyyyyzzzyyyyzxzyyzxyyzyyyzzyyyyxyyyyzzzyyyzzyyxyyzyyyxyzxzyyyyyyyyxyyyzz{yzyzyyxyzyxzyzzzzzzyzzywwyyyzzzyzz{zzyyyxyxyyyyzzyzzyyyzyyyzzyyzzz{yyyyyxyxzyzzyzyzyyyzyxyz{z{zyzzzyxyyyyzzzzz{zzzzyyyzzxzyzzzz{{zyzzyyyyzxzz{zzzzzyxzyy{yzzzzzyz{zzyyyzyxyyz{z{{zzzzz{yyzzzyzzz{{{yzyzzy|yyzyzyz{{zzzzyzxx{z{{{z{z{yz{yzyzzzzy{{zzyzzzzz{zz{zyzz{{z{zzyyzz{{zz{{zzzzzzzyzz{zzz{z{zzyyy{yyzyzzyzz{{{zzzz{zzz{zzz{{{zyzyyzzyy{zzz{{{zyyzxzyyzzzzyzzzzxzzzzyzy{yzyzzyyyyxzyxyy{yzzyzyxyyyyxyyyzzyz{zzyyzyyzyyzzyyzz{zzxyzyyyyzyzy{yzzxyzyyyzyzy{yzzyyyxzxzyzyyyyxyzzzzyyyyyyzxyyyxzzyyyyyxzxyyyyzzyzyzyzyyxyyyyzyzzzzyyyywyyyy{yzyzy{xyyyyyxyzzyyyzzyzyyyyyyyyyyzyyyzyyyyzyyyzyyyzzyzyyzyyzyyxzyzzzyzzzyyzyzzyyyzyzzzyzzyyzyzzzz{{z{{yyyzxyz{yzyzyyyzzzzyyyxzyzzzz{yzzyyyyzyzyz{zzzzzzzyzzzyzyz{zyzzzzzzyzzyzz{zzz{zzzzzzxzzzyy{{z{z{zyzyzzxzzzzz{z{{yyy{yzzzz{zzzz{zzzyzz{zzyzz{zz{|{zyzzzz{z|zz{z{zy{zyzzzz{{{{z{{|zyzzyzzzzzzz{z{{zyyyy{zzzzzzzz{{zyzyzzzyzyzz{{{{zzyyyyyzzyzzzz{zzyzyzyyyzzz{zzyxzyyyxyxyyzyyzy{{zyyyyyxyyyzyzzz{zzyzyyyyzzyz{zz{zyyzyxyyyzzzz{{{zyyyyyyyyzzzzzzzyyyyyyyxyzyyyyz{yzyyxxyyzzzzzzzz{y{yyyyzyzz{yzzzzxyyzyyyzyyyyyzzyyzzyyxyyzzyzzz{yzzyyxyyy{z{zy{{yyzzyyzxyyyzzzyyyzzyyxyyyyyyzzzzzyzyzyyyyyzzyz{zzzzyzzzyz{zzz{zzyzzzyyzy{{{zzzz{zzzyzzzzzz{zz{zzz{yzyxzx{{{{yzzzzzz{zyyzzzz{yz{zzzzyzzzz{{z{z{zz{zzzyzyzz{{{{z{{zzzzyzzyzzyzy{z{zz{yzyyzz{zzz{{zzyzzzyyz{{zzz{{z|zzzzzz{zzz{{z{z{zzzy{zzy{zyz{{zzzzzz{zz{z|zz{z{{yzz{y{{{{{yz{z{{zzz{{zz{z{{{{{{zyzyzy{yy|zzz|{{zzyyyzzyzz{{z{{{yy{zyzyxz{{{{zyyyyyyyxyxyx{yz{z{yzyyzyyyyzzzz{zzyyyyyzyy{{zyyz{zyxzzyyyxyzzyyzzzzyyyyyyxyy{zzzyzyyzyyyzyzzyyyzzzyyyyzzyzyyzyzzzyyyzyyxyzzxyzyzzzyxyyyyyyyyzzzyzz{yyyyzxyyyyzyyz{yzyyxyxzyzyz{zzzzyyyyyyxzyyzzzzzzyyyzyyzyzz{yzyzyyyyyzzyz{zzzz{{zyzyzyyzy{zzzzzzzyyzzzyzzz|yzzz{yyzzyyzyzzzzzzzzzzzzzyzyyzyzzzyzzzzyzzzzzz{{z{zy{yzzyyzzy|zzzzzzzzyzzzyz{zzz{{{zzyyzzz{zzzz{zz{{zyzzzyzyz{z{zz{z{yzzzyzyzzz{{{{zzzzyzzzzz{zzz{yz{yz{zzzzz{z{z{{z{z{yzzzyz{{zz{{{{yyyyyzz{{{z{z{{zzyyzzyzz|{z{{{{zzzyy{yyzzz{yz{|zzyyyyzzz{{zzzz{yyzyzyzyyzzzy{yzzzyyyyxxzzzzzyzzyyzyyyyyyzzyzzzzzyyyzzyyz{z{y{z{yzzzyyyyzyzzyzzzyy{yzxxyyyz{z{zzzzzyyxzyxzzxyzzyzzzx{yyyzzzyyz{zyyyyyzyzyyyzyzzzzyxyzxyyyyyyzy{yyyyyyyzzyzzzz{zzzyyyyyyzxzzzzzzzyyyzyxyxy{zzzyyy{zyyxyyyyzyzz{z{zzy{zzyyzy{zzzzzzzyyzyyyyzzyz{z{zyyzyyyzzzyyz{z{yzzzzzyz{yz{zzzzzyzzzyzzy{{zz{{zzyyzzyyy{{zzz{{{yyz{yzz{z{zzzzzzzyzzzyyyz{{{z{z{zzzyyy{{zzz{{{z{{zzzzzzyz{{{{{{zzzzzzzyzz|{z{z{{zzzyzzzzz{{{{zz{zzzz{{zz{{z{zzz{{yy{z{zzzz{{{z{{zyzzzzz{z{{{{{{{zzz{zzzz|{zz{{{|zzzz{zzz{z{{zz|{{zyzzzyzz{{{zz{zyzyyyzyyzyzzzyzzxyyyxyzyzzzyzzzzzyzyzzyyy{yzyyzyyzyyyzyyzyyz{zyzzyzyyyyyzzzyyyzzzzzyyzyyzyzzzyyzzyz{xyyyyzyy{z{{zzzyyyyyzzzyz{{zzzyyyzxxzzyzz{zyyyyxyyxyyyzzzzzzyyzyyyxyyzzzzzyzyyyyyyyyyzzzzy{yyyzyzxyxzyyyyzyzzzzy{yyyzzyzz{zzyyzyyyyyy{zz{zzzyzyyyyzzyzzyyzyzzyzzyyzzz{zzyzz{yyzyyyyzzzzzyzz{{zz{yyyyy{{yzzzzyzyzzzyy{{zz{z{{zyyzzyyy{zzz{{zz{zzyzzzz{z{{{zzzzzyyyz{zz|zz{{zzzyzzzyyyz{zzz{zzzyzzzzyyzzzzzz|{yzzzyy{zz{y{{z|{{z{yzzzzzz{{zzzzzzy{y{{z{{{{{{{z{yz{yzyz{{zz{z{{{{zzzyz{z{{{{z{{yzzzyzz{z{y{{z{zzzyyyyzyzz{zzz{zyzyzzzyyzyzzzzyzyyzxyxyxxz{yyyy{zzxyzxyyzzzyz{yzyyxyzzyyzyzzzz{zzyxzyyyyyyzzyzyzzzyyyyyxzzzyyzyzxyyyyzyxzzyzyyyyyyyxzxyyxyzyyz{yzyxxyyxyyyyyzyzyyyxxyxyxyzyzzy{xyzxyyzyyzyzyyzyyyxyxxyyxzzzyzyzzyxzyyzyxxzzyyzyzyxxxxyyxyzzyy{{zyyzyxxyyzzzzzzz{zyyyzxyyy{zzzz{{yyyyzyzyzyzzyzzzxzyzyyyyzyyy{{zzzyyyzyzzz|{zz{{yzyyzzyyxzzzzzz{zzyyyz{zxzzzyzzyzzzyyyyyzzz{z{{{zyzzz{yzwzzyzzz|{zzzzzyyyzz{zzzz{zyzyzyzyz{zz{zzzzz{zzz{zz{z{z{{z{{yzzyxyz{z{z{zz{zzzyzzz{zz{z{zz{zyzzzzzzyzz{z{{zzzzz{zz{zzzzzz{zzzyzzzzy{{zyzzzzzzzyyzz{{zz{zzzzyzzyyzxyz{yyyyyxyyyzyyxyzzyzyzzyyyyzxyxyyzzzz{{zyxxzyyyzzzyzzzzzyyyyzyyyzzzyyzzyzzyxyyyyz{{yzzyyzzyxyzyyzyyzzzyyxyyyyyyyzzzyyzzyyyyxzxyyyz{zzz{zxyyzzyyzzyzyz{zyyyyxyzyzzzz{yzzzyyyywyyzzzzyzzzyyyyzyxyzyyyzzzz{yzzyyxxyzyyyzzyzyzzyyyyzyyzz{{zyyyzzxyxy{zzz{z{zyyyyyzyzyzzzz{{yzzxxyyzyyzzzzz{zxyzxxzxzzyyzzzzzzzzyyyyyy{zzz{zyyzyzzzyy{zz{zzzzzzzzyzyzz{zz{zzzzyyzz{yzzyzzzz|zxyzyyyxzzzz{{zz{yyyzyyz{{{zzz|{zzzzz{z{{zz{{zzz{yzyy{yzz|{z{{{zzzyzzzzzz{{{{{z{zzz{zzyzzz{zz{z{zy{yzzzzz{|{z{zzzyzyyzyyzzy{z{{{z{yy{yyz{z{zyzzzzxyyyyzyzzzzyyzzyyyzxyyzzzzz{yzyyyyyzxyy{zzzzzyyzyxyyyyxzyyyzzzzzyzyyzyyz{{zzzzyyyxyxyxxyzzzzzzyyyzyyyzyyyyyzyzyyyyyyyxyzyzzyzzxyzyxyzyyyyzzyzzyyxxxxxzxyzyyzzzyyyyxyyyyzzz{yyzzxyyyyyyyxzzyyyzzzzyyxyyywyzzyyzyzyyxyxyxyyzy{zyyxyyzyyyyyzzzyz{zyxzyyxzyzzzyyzz{zyyyyyyyzzzzyzzzyzzyyyzyzyzzzzzz{yyxwyyyzzzzz|zzyyzxyyyyyzy{z{{zyyyyzyzzyzzzzyzzyzzzyzyyzz{zzzzzyzyyzy{yzzz{{{z{yyzzyyzyzzzzz{{{zyyyzzzy{zz{z{|{zzzzzzzzzz{zzz{{zzzyzzyyx{zz{yz{yyzzyzzy{zzzzzyzzyyyzzzzzzzz{{{{zzyzzzzzzzz|{zz{zzyyyzyyyz{zyzzz{zyyy{{zyz{zz{zyzzyyyzyy{zzzy{yzyzyyzxyxzzzzzzzzzzyyzxyyzzyzzzzzyxyyyyyyyzyzzz{zzyzxyyyyzzyzyy{zyyyyyyzyzzyzzz{zzxyxxzzyyx{yyzzzzzyyyyxyyzyxyzzyyyyyyyyxzzzzz{zyzyyyzzyxzzzyyz{yzyyyyyyzyzzyyyzyyyyyxyxxzzz{yzz{zyzyyyyyyzzyyz{{xzyxyyyyzzzzxyzzyyyzzzyxzzzzzz{{zyzyzyyyyzzz{yzzyxzzxyzyzzyzyzz{zzzzyxyyzzzzzz{zzzzyzxyyy{zzzz{zzyyyxyzxzy{zz{zz{zzyzyyzyzzzz{{{zyyzzzzzzzz{zzzzzzzyyyyzzzzzzz{{zyzzyzyyz{z{zzz|zyzzzzz{z{|z{{{{z{zzzzzyzzz{y{z{z{{zzzy|z{zzz{|zzy{y{z{zzz{{{{zz{zz{zyzz|yz{z{{{{zzz{zyzz{{{{y{zzyyzzyzyy{z{zz{zyyzzyzyyz{zz{z{{zy{yyyyzz{zzzyzyxyyyzyzyyyyyyyzzzyxzyxyxyzzyzzzzzyyyyxyyyzyzzyzzzyyzzyyyyzzzyzzzzyxyyyyx{zzzyzyzyyyyzzyy{yzzzzzzyyyyxyxyzyzzzzzzyzyxxxzyyyyzyyzzyyyyyyyyyzzzzzyyzyywyyyyzyzzyzzzyyyxxyyzy{z{zzz{xyyxyyyxyzyyyyzyzzyyyxyyyzzyzy{{zxzzzzzyyzyzzzz{zyyyzxyzzz{zzzzzzzzzyyzyzzzzzzzyyyyzyyzyzyzzz{zzy{yyyyyyyz{zyzzzzxyy{yyyz{zzzzzzzyzzzzx{z{{zzz{z{yzyzzzyz{z{zz{yyzzzzyz{yzz{zzz{zyzyzyyzzz{{{{|zzyzyzzzzz{{zzyz{{z{zzy{zzzzzz{{{{yzzz{zzz{zzz{{{zzzzzyzy{zz{z{zzzzyzyyyz{{zzz{zz{zzyzzzz{z{{zz{{zzzzyzyzz|yzz{{z{yzyzzyzyzyzzyzzyyyyyzzyzzyyzzyzyyyyxyyxyzzyyzyyyyxzyxxyzzzzyzzzzyyyzzyyzyyyzzzzyyxyxxyyyzzzyzzzyyyxyyyxyy{zyzz{yyyyyzyxzyxyyzyyzxyyyxyxzyyyzzzyxyyyxyyxzxzyyyyzyxyyyxyyyzyzzzzyyyxyyyyyyzzyzzzzyxzyyyyxyzyzyyzzyyyyzxyyyyzyxzzzyxyyzyyyyyzzxzzzzxyxzyyxzyzzyz{yyyyyyyzyyzzyxzyzzyzyyyyzzzzzy{yzyyzyyyyzzyzzzzzzzyzyyxxyyyyzy{z{zyyyzyzyzzzz{z|zzzzzyyzyz{yz{z{zzyzyyyxyzzzz{zzzzzyyzz{z{zzzzz{zxzyz{yyy{{{zzz{{{yz{xxzz{zzzz{{zzzz{zyzz{zyyz{zzyzz{yzzzz{yz{{{{zzzzyzzyy{{|zyz{{zzyzzzzz{{{{z|{yz{{zzyzzzzz{{z{zyzyzzzzzz{yz{|{z{yyyyyzzzz{yz{zzyyyyzzyyzzzyzxzzyxzxxxxyzyyyyz{yyyyxwzxyzzyx{y{xxyxyxyxzyzyzyyzzyyyyxyyzzyzzyz{yxyyyyyxzzzyyzzyyyyyyyyyx{zzz{zzyyyyxyyyyzyyzyyyxxxzyyxxyyyyzzzzxyzyyxxyyyzyzzyzyxyxzxxyyzzy{yzzzyyxyxyyzyzyzzz{yxyxyxyyxyyy{z{yyyxyyxyzyzyzy{zzyyxzyyxxzyzzzyzzzxyyzxyyyzy{yx{zzyzxyxyzzyyyzyzzyzzyyyyyzzyyzyzzzyyyyxzy{zyzzz{zyyyyyzyyy{yzz{zzzzzyyxyyzzzzzzzzyyzyyyyxzzz{zzz{yzzyzzzyy{z{y|{zzzzzyyzy{{{zz{{zzyzzzyzzz{{{{{zzyyzyyzzzyzzyzz{{zyyzzzy{y{zz{{z{{zzzzy{{{zz{z{{{{yyy{zyzzyz{zz{{zzz{zzyzzz{zz{zzyy{yzzyzy{z{{zyzzyzyyyzyyyzzzzyz{yyyyxzyyzyyzzzzzzxxyxxxyzyyzzzyyyyxyyxxyzyzzzzyzyyxyzyyywzx{zyzyxyzyyxyzzyzzy{zzxzyxyyxzyzzyzyzyyyyyyxxzyzzyzzzyyzyxxyyzyzzyzyyzxxyxzzzzyzyyyy{yyyxyyyxyyyyzyzyzzyyyyyyxzyzzyyyyyyyyyxyyyyzzyzyyyzxzyyxxyzyzzzzwyyxxxyyxzyzxzzzxyyzyzyyyz{zzzzzyyyyyxzzyz{zxzyz{zzyyyyyzzzzz{zzyyzyxxyyy{yyzzzzzyyyyyyyzzzyz{zzzyzyyxyyyzzzzz{zyyzyyzzzz{yyyzzzzzyyzzyyzzzzzz{{yyzzz{zz{zyzyz{{zyyzyyzy{z{zzz{z{yzzzy{y|{{zz{z{zyzzyz{zxz{zz{y{{yz{zzz{y{{zz{{{zz{{zzyzz{zzzz|{zyzzyzyz{zzz{{{{{zyzzzzy|zzzz{z{yzzyzzzyzzzyzzz{{{zyyyyyy{{z{zzzyyyyyzyxzzzzzyzzyyyyxyxyyzzyz{zyzxyyzxyyyzzzzyzzyyyxz{zxzyzyzzzzzzyzyyzyyzzzzzzzyyyyyyzwxzzyzzzzzyyyxywyzyzyyzzzyzyzyyyzzy{yyzyyzyyxyzxyyyzyzzyzzyzyzyyyyzzzzzyzzxxyx{yyyzzyzzzzzyxxxyyyyyz{zy{zyxyyyyxxyyzyzyyyyzyyyyzzz{zy{zzzzyzyyyyyyyzyzyyyyyyyyyzyyzzzy{{zzzyyyyyzzz{zzyz{yzzyyzzzzzzzzzy{yzyzyy{yz{yz{zyzzzyyzyyzyzzyzz{yzzyzzzyy{zzzzzyzzzyzzzyy{zy{zz{zyyzzzzyzzzzzy{z{zyzzyyzxz{z|zzz{zzzzz{zzzzy{zz{{zz{zz{zzzz{zz|z{{zyz{{{yy{{z{{z{z{{zz{zzz{{z{{{{{zzzzyzyzz{z{z{{z{zzzzy{{zzz{{z{{yzzyzyz{zzyzzzz{zzzzzyxy{z{zz{zzyzyyzyyzzz{yzxzyxyyzyyxyzyyzzzyyyyyyyyyyzzzzzz{zzzyyzyzzyzzzy{zyzzzzyyyyz{{yy{yyyyyyyxxyzyyzzzzyyyxyy{wyzzzyz{zyyyyyyyyyxzzxyyzzzyyyyyyyzzyzyzzyyyyyyyzyzyzy{{yzyyxyyxzy{z{{zz{xyyyyyyyyyyzyyzzzxyzyxzyxzyzzzzzzzyyyxyyyzyzz{yzxyyzyyzxzzzzz{zzzyzyyyzzy{yz{zzzzyzzyzzy{zzy{z{{zzzzyzyyyzyzzz{{{xyyyyyyz{zzyzz{yzyz{yyzzz{zzz{zzyyzyyzyz{zzy{yzzzzzzyzzyyzzzzzzxzz{zzzzzzz{{{z|yyz{zzyxz{{{zz{zzyz{yyzz{zzy{z{{z{{yyzzzzzzzzzz{|zyzyyzzz{{zzz{zzz{zzyzyz{{{z|{{{zzyy{zzzzz{{{{|zzz{yzzz{z{{{{z{zzyzyzzzzy{yy{|zzzz{zzyyzzzyzzz{zyzzzyyy{z{yzzzzzyyyyxzxy{{yyzzzzzxyzyyyyzyzzz{zzyyxzyzzzzyz{zzzzzyyzyyyyz{zyyzyzyyxyyyzzzzzyzzzyyyyyzzzyzyzz{zyzyyyyyyyzyxyzzzzyyzxyzyzyzzyzzzzyyzyyyyyyyyzzzzyyyyxyyyyyyzzzyzyyyxyyyyxyzyzzz{zyyzyzyyyyyxyzzzyzyxyyyyyyzyyz{zzzyzyzzyyxyzzz{zzzyxzyyyyy{zzzyy{zzzyyxyz{zyzzyy{yzzzyyyzzzzzz{{zyzz{zyyyz{yzzzzzzyzyzyyy{{zzy{z{yyyyy{zyzz{zzz{zzzzzzz{zy{z{zz{{zyzzyy{z{{y{{{{{zzyzzzyzy{zyzz{z{zzzzzzzzz{{z{{{zzzyzz{zz{y{{z{{zy{zzzzzz{z{{z|{zxzzzyzz{{{{{zz{zzyzzzzzz{z{z{{|{{z{{zyzzzz{{z{{yzzyzz{zzzz{zzz{yzyyyzzyzzzzy{zzzzyxyzzy{zzyz{yyyyxyyyyxyzyyyyyzzxyxyyyyzzyzzzzyyyyxyyxyzzyyyz{yzyzzyywyzyyzyyzzzxyxyzywzz{zy{zzyyzxyyyyyzzyyzzxyyyyyzyyzzyzyyzyyyyyyyyyyyyyyzyzxxyxyyxyyyyzzzzzyxxxyyxxzzzyyzzyzzyyxyyxzyzzzzyzyyxyxyyyz{yzzzyyyyyxyyxyxyzyy{yyzyyzzzyzyyyzzz{z{yzyyyzzzzyzzzzzyyyzyxyzyyyzz{y{y{yyxyz{zzzyzzzyzyyyyyzyyyyzz{zzyyyyyyxyzyzzzzzzzyyzyyxyzzzyzzzyzzyzzyzzzyzzzzz{yzzzz{zyyzzzzz{zzyzyyyyzzzz|{{zzzzzzzzxzz{zzzz{{zyyzzzzyy{zz{{{{{zzzyzz{y|{{{{z{zyzzyyzz|{{yz{{zzyzz{yyzzzzzzz{{{yzy{zzzzz{yz{{zzzyyyyzzyzzzz{{zzzyzyz{yyz{{zz{yyyzyy{xyxyzzyyyy{xyyyyyzyy{yy{zyyyzyyyyxzyyyzy{zzyyxyyxx{yyyyz{zzyyzyyyyyzyzyz{{yyyxyyyyyxyyyzxzyyyyyxxzyyyzyzy{yzyyyyyyyzzzyzyzxwyyxyyxyyyzzyz{yyyxyxxyyyyzyzyyzyxyxxxyyzzyzyzyyxyyxzxzyyyyzzzzyyyyyxyyyzyyzzz{{yyyyyyyzyyyzzyzyyzyyzzxyyzzzzzyzyyyyyyxzzzyyyzzyyzyyyyzzyzzyzyzyyyyyyyyyzzz{zzzzzyzyx{yyzyyzzzyzzyyyzxy{yz|{zzyyyzyyyyyz{yyzzyzzyyyy{yz{zz{zzzzzyyyyyzzz{z{zy{z{yzyzxyy{y{zzz|{zzyyyzyyz{z{zz{zzyzyzz{yzzzz{{{{zzzyzzzzyzz{{z|{zyzzzzzzz{yzy{zz{zyyzyyz{zzz{z{{zz{x{yyy{z{z{z{{yyzz{yyyy{zzz{{zz{yzyzyxyzy{yzyzzyzyyyyyyz{{yzzyyyxyxyzyyzyyyyzzzzxyyxxyxz{zzz{yzyyxyyyyyyyzzzzzyyyxyxyyyzzzy|zzyxyyyyyxyzzzyyyzxxzxyyyxzyyxzxyyyyyyyxyzyyzyzzzyyyzwxyxyyxyyzzzyyxxyyxyyy{yzy{{yyxyyxyyxyzyzzz{zzzxxxyyxxyyzyzzzyzyyyyyyxzzyyzyyyzzyzyzxyzyzzzzzzxyxyzyyyzyyzz|zyyyyyyxyyzzyy{yzzzzzyyz{yy{zyzzzyyyyyyyzyzz{zz{zzyzzzxzyzzyzzyzzyzyyyzzyzzzzzyzzyzzyyyyyzy{yyz{zzzxzzzyzzz{{z{y{zzzzyzzzzz{zy{{{{zzzzzyyzzzz{{{zzzzyzyzzz{z{z|z{zzzyyy{yyzzzz{zz{zyzzyzzz{z{{z{{zyzzyyzz{{{z{{zzzyyzzyzzzzzzzz{{zzyzzzz{z{{{{|{z{zzzzyyz{z{zz{{{{zyyyz{xyzzzzzz{zzyyzzzzzzzzyxyzyxyyxxyxyyzyzzy{yyxyxyyyyzz{yzzzyxxxxyxyyyyyzzz{yyxyyyyyzyzyyyz{yyyyyyyzyyzyyyzzxyyyxxwxyyyzxz{zyyxxxxxyxyyyyzyzyyxxyyyyzyxxyyzzxyyyyyyyyyyyyyzyyyxxyyxyzzzyzyy{yyzyxyxwzyzyxyzzyxyyyxxyyyyyyxyzyyxxxyyzxyyyzzzyyxzyxzxyzyyzyzyzyyyyyxyyyzzyzyyzzyyyyyzyzzzyyzzyzyyyyyyyzyzzzyyzyyyyyyyzyzyzy{zzyxyxyyyyzzzyzyzyzyyyyzyyzyzy{zzzzyyyyzzyzzzzzzz{zyyzzyyyz{{zzzzzzzzzyyyyz{zzz{zzzyz{zzzzy{|zyzz{zyyyyxyzzzz{zzzz{zyyxzyyy{z{y{{z{zzyzzyzzyzyyzzzyzyyzyzyzz{zzz{{zzzzyzzzzzzyzzz{zzyzyyyyzzzzzyzzyyzyyyzxzzzyyy{zzyyzzyyxxyxzyzyzy{xxxyyyyzyyyzzzzyyyzzyyzzyyzzzzzzyxxyyyzyzyzzzzyxzyyxxyyyzzyzzzyyyzyyzxyyyzyzyyyxyxyyzyzyyxyzyyyyxyyyyyyyyzxzyyyxyxyzyzzyyzyzzzxyyxyxyyyyzzzzyyxyyyxyyyyyzzzzzzyxyyyxxxyzyzzyzzzyyyyxyxyyzyyyzzzyyyyyyzxzzzzzzyyzyyyyxyyyyyzzzyyxyyzyzxzzzzyzzzzzzzzyzyyyyyzzzzzyyzxyzyzzzzzzz{zyzyyyzyyzyzyyyz{yyzyyzyz{zzyzzyzzyzzzyyyzzzzzy{zyzzyyzyyzz{{z{yzzyzxzzyzzzzy{z{zyy{zzyyzzzzzz{y{zyyzyzz{zzz{{{zyzzyy{zyzzzzz{zz{yyzyzzyz{zzzy{z{zzzyzzzz{{{z{{{zyyyyyyzyzy{z{{zzyzzzzyzzzz{z{zzyzyyzzzzz{zz{z{z{yzzzyzyz{z{zz{zyyyyxyyyzzzyyzzyyyxyyzxyzzzyyyzzyyyxxxyyzxyyzzzzyyxyxzyxzyyyz{yyzyyxyyyzyyzzyzyzzxyyyyyyyzzyyzyyxyyxxyxxxzzyyyyyyxxxxyxyyyzxzyzzzyzyxzxxyzyzzyyxxyxzyyxxyz{xyyyyzxyyxyxxyyyzzzzzyyzxyyyzyzyyxyyzxxyzyyyxyyyyzzyyzzyyyyyxyyyxyzzyyxyyyyyyzzyyyzzzzyyxyyyyzzyzyzzzyxyyyyzzzyzyzzz{zyzxxyzyzzyyzzzyyyyzyyyyzzzzz{z{yyyzyzyzyzzzzzzyyzxzyxyz{yzzyzzzzyyzzzyyyzzyzz{zy{yzyyyyzzzzz{z{zyy{zyyyz{z{{{yzyyzyyzyy{{{{y{{zzyyzyzzzzzz{zz{{{yzzy{zyy{z{zz{z{yz{zzyzz{zzzz{{zyzzzyxyzzz{{z{|zyyyzzyzyzz{{{{{{yzyyyy{yzz{zz{{zzyzyyzyxzzyyzzzzzzxxxyx{yyzyzzyyyyyyxxxzyyxzzzzyyyzyyyyzzy{yzzzxyyyzyyyzzxzzyzzyxyzyxxyzyyzzyzzxzyyxyyyyzyzyzyzyxyxxyzxzz{yyyzzyxyyyxyxyy{xyzzzyyyyzyxzyyyzyyyyyxxyzxyyyyzyyyyyyxyyyyzzyy{zzxz{zyyyxyyxyzzyzyzyzyzyyyyxyxyyzzyzzyyyyxxyyyxzyzz{yyzzyyyyyyzzzyzyzzxyyxyyyzzyyz{zyyyzyyz{zzyzy{zzzyxxxyyxyyzzzzzzzyzzzzyyzzzyyzzyyyzyzyyxzzzzz{yyzzzzyyyzzzzzzz{zz{yzyzyy{{zz{{zyy{yxzzzyzzzzz{{{yyyyyyzyz{z{z{{z{xzyyyyzzz{z{{yzzyzyyzz{zyzzzz{{yzzzzzz{zzzzzzz{{zzzzy{z{z{yzzzz{yyyyzyzzzz{{{z{zyzyyyyzzz{zzy{zzzyxzzyzz{yzz{|yzzyzzzyyz{{zzzzzzzyyxwyyzzzzzzyzyyxxyyxxyyzyyyzzyyyyzxxyyxzyzzyzzyzxzxyxzyyzzz{zyyxyyyyyzyyyyzzyyzyyyyyxyyyzyyy{yxyyyyyxyyyzyy{yzyzzzxyyyyzzyzzyyyyyxxyxyzyyyzzzzyyxxzzyyzyyzyzzxyyyxyxyzzzyzyyyxyyxyyxyyyzyzyzzyzyyyyxyzyyyyzzzyyyyyxyyyzxyzzyzyxxxyyyxyyyzzzzzxzyzzyyyyzzyyzz{zyyyyyyyzy{zzz{zyyyzzyyzyyz{zyzzyzzyyyyxzyzzzyzzyyyzyyyyyzyyyz{yzzyzyyzzzzzyz{zyzyyyzzyzyzzz{{zzzzzyyyz{zz{{zzz{{zyyzyxyzzzzz{zzzyzyyyyzz{zyz{{yzzzzzzzyz{z{zzz{zyzxyzzzz|zzzz{zzyzzyz{z{z{{{zz{{zzzz{zyzzyzz{{{zyyyzyz{y{zzz{zzzyzz{zzyzz{zy{zzzzyyzyyxyz{yzyzzyyzyzyyyyzzyzzyyyxyxxyyxyzzyzxzzyyxyyyyyyyzyyzzzzyyxxyxxyyyyzzzzyyyyyyyyzyzyyyzyyzzyyyyyzzzzzyyzyxyyzyxxyyzzzyzzyyzyyxyxyzzzyzzzyxyyxyxyyxzyyzyyyyyyyzyxyzzyzyzzyyxyxxyyxyyyzzzzzzyyyyyyyzyzzzz{yzyyyxyzzzzzyyyzzyyyzyyyyyyyzzzzyzyyy{yyyzzyzzzz{xyyzyzzzzzyzy{{zzzxyyyzzyzzzzyzzyyyxzyyzzyzyyzzzyyyxyyyy{zyzyz{yyyzyyyzzzyzyzzzzzzyyyzyzyzzyzzzyyyzzyzzzzyzz{{zzyyyzyyzyyzzyz{{zyzyyzyzy{zz{{{z{yzzzzyzy{{zzz{{yzzzzyzzz{zz{{{{zzzzzzzzz{z{|{{yzzyyzy{{{{z{z{|zzyy{zxzyyz{zzzyzzzyy{yyyyzyzzz{{{{zzzz{zzz{{zy{zzzzyzyzzzzzzzzzzzzzyyyyyzzzz{zyzyzzyxyyyxyzzzyzzzyyxyyyxyzyyzyz{zyzyyyxxyxzy{y{zzxyyxxyyxzzzyy{zyyyyyxyxyyzzyzyzyyxyzzyyyyyyyzzzzzxyyxyyyzzyyzzyzyyyyyyx{yzzxzyzyxyyyyyyyyzyzzzzyyyywxxyxyyzzzy{yzyxyzyyyzyzzy{yzyyy{xyxyzyzyzyzyyyyxxyxyyyyxzzyyyzxyyxy{zyyyzz{yzyxyyyyzyzzyzyzzyzyyzyxzzzzyz{{xxyzyyyxzyzz{zzzyyzyyyzyyyyzy{zyzyxyyyyyzzzzzzzzzyzyzzyzyzzyzzz{zyyzy{yzyzzyz{{zyyyyzy{yz{zzz{z{{yzzzyzy{zz{{zzzzyyyyzzzz{zyz{{{yz{yyyzzz{zz{z{z|zyzzzyzz{z{yy{{zzy{{yyzzzzzzzzyzyzy{yzyy{zy{z{{zzyzyyyz{{{{z{zzzzzyzzzzzzzzy{z{yzzyxzxyyzy{zz{yzzzyyxyyzyzyyyzyxyxyzyywxzzyzyzyyyyxxwyxzzyyyyzzzyxxxzyyyyy{yzxzyxxyxyyyyyzzyyzzyyywxxxxyyyzxzxyyxyyyyxxz{xzz{zyyyyxyxyyyzzzxzxzzxxyyxxxyyxzyyzyyxxyyxyxxyyzyy{yyxxxyyxxyzzzyzzxyyyyxyxyyyyyyzyyxxzxyxyxyyyzxyzxyyxyyyyyxzyzyzyzyxyzyyyyyyxyzzzzyzyyzxy{zyzyyyzzzxyyyxzyyyzzyzyzyyyyxxxxyyzyyyzyyyyyyxyyyzyzzzyzyyyxxyyxzyyzzzzzyyzyzzyyzyzzyyzzyzyyxzyyzyyzzzzzxzyyzzyyzzy{zzz{yzzyyyyyz{z{z{{zyyzzxxyyzzzzzz{{zyyxyyyyzzzzzz{z{z{yz{zzz{{{{{{zyyyyyzzyzzzzz{{z{yyyzyy{zyzy{z{zyzyz{yyzzzyzz{{{yzxyyxxyyzzzzzzyzzyyyyyyyyyzzzzyxyyyyxyyyzzzyyyzyxyyxyyyyzyzxzyzyyyxyxyxyyzyzzyzyyxyyyyyyyzyyzzzyxzyxxxxyyyyxyzyzzyxyyyyyxyyyyzzyyyyyyxxyzyyyzzyyyyyzyxyyyzyyzzxxxxyyxxyzyyyyyzyyyxyxyyxxyyxzyyxzxyxwyxxyyyyzzzyxxxyyyyxyzxyyyzzxxyyxxxywzyyzzzyxyxyyzxyxzyzzzzzzyyxxyxyzyzzyyzzzyyyyxyzyyzyyzzzyy{zxyyxyyzyyzyzyzzyyyyyyyyyzzzzzzyyyxyyyzyyzzzyyzyyzyyyzzzyzzzyyyyxyyxxzyzyyzzzxyyzxyxyzyzzzzzzyyzy{yyyz{zzz{{zzzzzzyzxzyyzyz{zzyyzzyyzy{zzzz{zzyzzyzzyz{zzz{{{zyzyyyzzzzz{{{{zzyzyzzyzyzz{z{{yzzzzzzzzzyzzzyyzzyyzzzzyzzzz{zzzzyyyxzxyyzzzz{{zyyxyyyzzzzzyzyzyzyyyzyyyyyzzzzzzyxzyxyxxyyzxzyyyyxyyzxzxzyyzzzyzzxyzyzyyyyzy{zy{yzyyyyyxzzzzyzzyyzxxxxyyzyy{yzzzxyzxxyzxyyyyyzyyyxyyyyyyzyzyzyz{yyzyxyxxyyxyyz{zxxyyyxxyyyyyzy{yyxyzxyxyxzyzyzzzyyyyxxyzzyzyyzzzyyxyyyxxzzyxyzyzzxxyyyyxyyyzyyzzxxxxxyyyyzzzyyzzyyyyzyzyzzzxyz{zyzzyyyyxyyzzyyy{zyyzzyyyzzyzzz{zyyyzxxzxyzyyy{yyyx{yyzyzyz{zyyzzyxyyyzzyzyz{zzz{zyyxzyyzz{y{zzzzyzzzzz{yzzyz{zy{zyyzzyyyyz{zzyzy{yzzzyzy{zzz{z{zzzzyzyyzz{z{{zz{zz{yyzzzz{yzzz|{zyzzzyz{zz{zz{{z{yzyyzzzzzyz{z{zyzyyzzyz{zzzzzz{yzzyyyzyyz{{z{z|zzzyzyzzzzzzzz{zyzyzyyzyzzzxyyyyyxwxzzxxyyyyzyyzyyyy{yyyyxzyz|yzzxyyyxwyyxxzxyxyyyyxyyxxyyzzyyzzzyzyxxxxxyzyxzxzyxyyxxyxyyyxyzzyxzxyyxxxyyyzzxyyyyxyyyyyyzxyzyyzxyxyxxxxyyyxzzzzxyxyxyxyyyzyzyyyyxyxxxywzyyxzzyzyyyyyxyxyxzxyyyyyyxxzxyyyyyxyzy{yyyyxyxwyzyzyyyzzyyyyyyyyzzyyzyyyyyxyyyyyyyzyz{{yxyyxyyxzzyyyzzzxzyyxxzyyzzyzzyzyyyyyzxyyyzyzzzzyyyyyxyxyzzyyzzyzzzxyyzyzzzzzyzzxyyyzyzyzzzzyz{{yyyyzyyzzzzy{zzzzzzzzyyyzzzzz{{zzzzzxzzyy{yzz{zzyyyyyyzyz{yzzzzy{yzzyzyzzz{{zz{z{yyyyyzyzyz{z{{{yy{y{yyzzyy{{yz{zzzyyyzzyzzz{zzzzyyyyzzyyzy{yyz{xzyxxyzyyzzzyxyzyyxyyyyyyxzyyz{zzyyyzxyxzzyxzyzzzxzyyxyxzxyyzyyyzxyxyyxyzzy{zz{yxxyxywwxyzzzyzyzxyyyxyxyyyyxyzzyzyyxyyxyzyyyxx{yyyyyxyxyyyyyzzyyyxxyzxxzzzyzyyyxyyyzxxyyyzyyzyzyzyyyyyxyyzyzyzzyzyyxyxyyyzyxzzzzyzzxyyyxyzyyzz{yyxzxyyxxyzyzzzzyyzyxyyzyyyyzzzyyyyyyyxyyyzyyyzzzxyxyyzyzzzzzzy{zyyyxzyyyyzz{yyxzyzzyzyxzyzzzzyzzyyyyxyzyyzzzzz{zzxyyzzzyz{zzzz{zyzyyzzz{z{{{{yz{zyyyzyxzzzz{zz{zyzyyzyyzzzzz{z{{yyyzyzzzy{{zz{|{zyyyyzyzyzyz{zz{yyzzyzzz{zzzyzzzzzzyzyzzzzzzzzz{yyyyzyzyzzzyzy{{yyzyyyyy{zzz{z{zzzzyyyzzzzzzzzzyyzzyyyzxyyzzyyyyyxxyxxwyzyyyzxyyyxyyxxyyyyzyz{zzzxxyyyyzzyyzyzzy{xxyyyyyzyyyyzzyzyyyxyyyyyyyzzxzzyzyxxywyyzxyy{zyzyzxwyxyyyyyzyzyxyxyyxyyyyzyzzzywyxyxyyyzyyzzzyxxzxxxyyyzyyzyxyyyyyxyxyzyzyzz{yzxyzzxyyxyyyyy{yyyywxyyxyzzzzzyzzyyzyxzx{zyzzzzzzxyyzxyyyzzyyzz{yxyyyyyyzy{yzzz{yzyxyyyxyyyyzy{zxzzyyxyyyyzyzzzzzzyzyxyyzzzzy{{yxyyyyzyyyzzyz{yyyzzzyxyxz{zzz{{zzzzyzyzzzzzz{zzzyyzzyyyzzzyz{{z{zxyyzyyy{{zzz{{zzyzzzzzzzzzyz{zz{yzzyzx{z|z{z{z{zyzzyyzy{zzzzzz{zyyzz{zzzzyzzz{zzyzyzzyz{{zzzz{{yzzzzyzyzzzzzz{{|zyyyyzyyz{zzzzzzzyzyyyyyzyzyzyyyyyyyyyzz{yyzy{{zyxyyyyyzzzyyzyzyyyxyyyxzyyyyz{yyyyyzyyzzyzyzxyyzyzzyyxxzyzzzzz{yyyyyzyxyzzyyzyx{yyzyyxyyyyyx{zyyzyyyzyzyzyzzyzzyyyyyyyyyyyzyzzzyyxyzyxyxzyzyzzzyyyyxyyxyzzzzyzzzyyxyxyy{zyzzzzzyzyyyyyzzzyzxzzyzyzyzyxxzzz{{yy{{yyyyyyyyzyzzzzzzyyyyyyyzyyzzzyzyyyxyzyzzz{yzz{zzxxyzyzyyzz{zzyyzyyyxyyyy{zzzxzzyzyyyyyzzyzz{zzzzyzyyyyzzzy{{z{zyzyyyzzz{{z{{z{{zyzzyzyy{zzzzz{z{zyyzyzyyz{{zzz{zyzyzzyzzzz{z{{{zzyzyzyyy{{zz|{{zyzzzyy{zyzzz{zzzzyzzyyy{{{z{zz{zyzzzzzz|zzz{z{zzyzyyzyyyz{zzz{{zzzyzyxyzzy{yz{zzzzzyxyyyzzzzzxzyyyxxyzyyyyyyzyzxyyyyyyyyyy{zzzzzzyyxyyzzyyyyzzyyyxxzyyxyzyyy{y{yyxxxxyxyzzyxzzzyyyyxxzzyyyxyyyyyyxyyxxxyzyyyyyyyxyxyyxyyzyzzzxzxzxyxxyxyzyxyyyyzxxyxyxyzxyzzyzzyyyyxxyxyzzzz{yzyyxyyxxxyyyxyyzzyyyyyyyyyzyyyzzyzxyxyyxyyzyyzzzzyzyyyyyyzyzzyzzz{yyyxzzxyzyyzzzyzyyxyyyyzyzzzyzzyyzyxyzyyyzzyzzzzzzyyyyzy{zzzy{yyxxyyzzyyyyzyzz{xzyyyyyzzzyzz{zzyzyyzzzxzzz|zzzzzyzyzyzyzzzzzzzzzyyzyzyx{yz{zz{yyyzyyzyzzzz{zyz{zzxyyyyyzz{z{z{zzyyyyyzz{{{yz{z{zyyyyxy{yzzy{y{zzyyyzzyzzz{{z|zzzzyyyyyyzzzyzzz{yzyzyyyyz{zzyz{zxzzyyyyxyz{zzyzzyxyyxyyyyyyyyzzzzyyxyyxyyyyzyzzzzzzzxyyyzzzyzyzyyxxyyxyyzyzzxzzzyxyxxxxwyyzyyzyzyxyxyxyxyzyzyzzzzyyyyxxyzxyxyzyyyyzyxyxyxyyyzzyzxyyzxxyxyzyyyyzzyyyyxyyyyyyyzy{zyyyxyyxyyzzzzxzzyyyyyyyxyzzyzxzyyyzxxxyyyzzyzzyzzyzyzyxyyyzyzzyyzxyyyyyyzyyzzzz{zxyyyyzyzz{zyzyzyyyyxyyxzzyzy{zzzyzyzyyzy{zzzzyzyyyyxzyxzzzyyzyyzyxzyyzyzzzzzzyyzzyyyzyyz{zzz{{{zyyyzzzyzy{zzzyzyxzzyyzzyyzzz{zz{zyxzyyzzzzz{zz{yyzyy{z{zzzyz{{{yzyyz{yzzzz{{z{zzyyyzzzzzzzz{{{zzyyzyzyzzzz{{{{zzyyzzzxzzzzzzzz{zzzzyyyyyzz{zz|zzyzyxzyyzzz{yzzzzyzyyyz{y{zyzzzyyyxxyxzwyyzz{xyzyyyyyyxxyyyyzyyzyyyxxyyyzzyyzz{yzyyyyyxyxzyzyyzzzyyyyyyyyyyzzyyzyyyxyyxxyyyyyzzyyxyyyxxxyxyyxzyyxyyxyyxyyyyyzyyzxxyxyxxyyyzzzzyyyyxyxxwyzyzyzxzyyxyyyyyxyyzzyzzzyyyxyyyxyyyzyzzzzyyyxxyxyzyzyyyzyxzyyzyyzzzyyyzzyyyyyyxyy{yyyzz{yyzyyxyxyyyzyy{yyyyxyzyzyzyzz{{zzyzyyyyyz{yzz{y{zyyzyyzyyzzzyz{yyyyzyzxzy{zyzzzzzzyyxxzyyzzzyzzzyzyyzzzzz{z{z{zzzyyyyzyyzzzzzy{{yzyzyyyyzzy{zzzzyzyyyyzzz{z{zzzzzzyzyzyzz{z{zz{zzy{yyzyzz{{{{{y|zzzyzxzyz{yz{zz{zyzyzxyzz{zzzzzzzzyyyyyyyzzzzz{z{zyzyzyyzzzzzzzyyxyyyyyyyxyy{zzyyxyyyyxxzzzyyxzyyyyyxyyyyyzzx{zyyxxxyxyyzyyzzzyzzywyyyyyy{zzyyzzyyxxyyyxyyzzzyy{zyyyyyyyyzzzyyzzzxyyyxyxxzyyxzzzyyyyyyyyyyyyyyyyyyyxwyyyyyzzyyzzzyxyyyyxyxzyyzyzzyzxyxyxyyyzzyz{yzyyzxyyyxxyyzzzyxxyyyxxxyzzyzzyyyyyzzxzzyzzzzzyyyyyzxyyyyzzyyzzyyyyyyyzyyyzzzy{zyyyzyyxyzyyzzzzyzzyyxzyzzy{zzzzyyyxyyxyxzyzyz{zzyx{yyxzzzyxyz{zyyyyyzyzzzzzzzzyyzxyyzzzzzz{zzzzyzyzzzxyz{{z{{{zzyyyyyyy{zzyz{|{zy{yzzzyy{zzz{{zzyzzzzyyz{zzzzzz{yyzyyyy{{{zzzzzzyzyyyzyzzzzz{zzzzyzzyzz{zyz{z{{zzyxzyxyzzzzzz{{zyyyzyyyyzzzzy{zzztyzyzyyzyz{zyzxyxxxxyyzyzzzyzyyyxyyxyxxy{yzyzyyxxxyyyyyzyzyyzzyxxxywxxyyyzyyz{yyyxxxyxyyyyyyyyyxyyxyyxxyyyzzyyzxyxyxyyyyyzyyyyzyxyyyxxzxyyxwyzyxyyyxxyyyzyyy{yyzzzxyxxyyyyyzzyyzyyyzxwyzyzyzy{yyxzxyyxyyzyyyyxzyyyyxyxxyyyy{z{yyzxyxzyyzyzzzzzyyyxzyyyzyzzyzzzzyxyzxzzzyyzzzyzzyyyxyxyzyyx{zzyyxzyzyzyy{yzyyzzywyyyyyyyzzzzzzzyyyyxzyyzzzyyzzzzzyyzyyyz{zz{zzzyxyzyzzyz{yzyz{{xyyzyxyzzzzzzzzzyzyzzzzzz{z{zz{zzyzzyzz{zzzzz{zzzyyyxyyzzz{zz{{{yyzzyyzx{zzzzyz{zyxyzyyyz{zzz{{yzyyyyzzzzzzzy{zzzzzyzzzzyzzzzyzzzzxyzyyyyzyyzzzzyyzyyxzyzyyyyzyyyxyxyyxyyzzyzyzyxxyyyyxyyzyyzzyzyyyxxyyyyzzzzzyzyyyyyyxyyzzyzyzyyyyyxxyyyyyyyzz{wyyyyyyxyyzyyzyyzyzzyxyyyy{yxyzyyy{xyyyyzxyyyyyyxxyyxyyx{zyzyx{yyyyyyxyxyyyyzzzyyxyxyyyyyyzzxzzyzxxxxyywzzyyyyyyyxzyxxyxzyzyyzzyyxxyzyzyyyyzyzyyyyxzywyyyzyzzzzyyxyyxyyyzzzyzzyzyzyyxxyyzzyyzyz{zyyyzxzyz{zzyzzyyyyzyyyxzzzzzyzyyzyyzyzxz{zzzz{zzyyxyyyz{zyzzzz{yzyyyyyyz{z{z{{zzzzyyzyy{zz{{z{{{zzy{zyz{zz{{zz{zzyzzyzzyzz{{{{{zyzzyzyzyz{zy{{{yyzzzzzyzzzzzz{{zzyzzzyyz{{yzzz{zzyz{yzx{zyz{{zzyyzy{zyyyyzz{zz{{zyzxzzzy{{yyzzzyyzxzyzyyzzyzyzyyyxyxxyxxyyyyyz{yyxyzxxxxyxyyzyzyyyxzyyyzyyyzyzzyyywxzyyyzyzyzzzyxywxxxwzzzzyzyyyzyyyxxyxyyxyzzyxxyyxxxxyzzyyyyyxxxyxxyxyyyyyzyzxwyxxyxyzyyxyxyyyyyyxyyyyzyxyzzzyxyyxxyyyyyyzzzxyyyyyyyxyyxyyyzxxyyxxyxxyzxyzzzyyyxyyyxyzyzzyyzyyyxxzyyxyzyyzzzzyxyyyxyyzyyyyzzzyyyxyxxyzyyzyzzzxyyyyxyyzzyyz{{yyyyyyzxxzzzzzyzxzyyzyyxyzzzyyyzyyzyyyzyzzyz{zzyzyzyzxzyxyzz{zz{|yyxzyxyyy{yzyzzzxzyyyxzzzzzzzzzzyzyyyzyyyzzyz{yz{zyyzyyyy{{zz{zyzyzyyyzyz{z{{{z{{yyyyyyyzzzy{yzzzzyzyzyzzyzzyyzzzyyyyyyyyzzzzzyzyyyxyyyyyyzy{z{zzyzyyyxyyzzyyyxzzyxxyyyyyyzy{yzxzzxzxyxzyzyzyzzzxzxyxzxyyzyzzzzzyyxxyxxyzzyyyzzzzyzxxyyxyyxzyzxzyyyyyyyxyzyyyzyyyyyxyyyxyzzzyzzzzyyyzywyzyyzyyyyyyyxxxyxzyzyzzzyxyyxxywyxyyzzzzzxyyyxzxxxyyyyyyyyyxyxxyyyzyzzyyyyyyyywxyyzzyzzyzyxxyzyyyyyzyyzzzyyyyxyxzzyyyy{zzyyyzxxyzzyyxzzzzyyyyyyyyyzzxyy{zyyyyyyyyyzyzy{yyzxzyyyyyyzzzzz{zyyyyyyyyzyyyyz{zzyyyyyyzz{z{z{zzyyyyxzzzyzz{zzy{zzzyyyyyyzz{zz{zyyyzzyzy{zyzzzzzzzzyzzyzzzzyyz{z{yyzzzzyz{zzyz{z{xzyzzxy{zz{y{zzzyyy{yyzzyz{z{z{zyzy{yzyz{zzzy{zyyyyzyyzzyz{{zzzzyyyxyzyyyzzzzzzyyyyzzxxyyzzyyyyxzxyyyxyyzyyyyyzyyyxyyyyyzzzzzz{yyzxxxyyyzyyyyzzyyzyyyyyzzzyxzzzz{zyyyyxzz{zyzzzyyyxyxyyyzyyyzzzyyyyyxzxzyyzyyyzyyzyyyyyyyyyyzzzyyyyyyyxyyyyzyyyzyzzyxxyyyzyyyyzzzzyxyyyyzzxyyzyyyyyyxyxxyyyyyyzyyyyyxzxyyzyzzzzyzzyyyyxyzyzzzyyyyzxyyyyzzzz{yz{zyyxxyzyyzzzzzzyxyzzzxxyzz{zyzzzyyzzzxyzzzzzzzzyzzzyyzxyz{zzzyzzzyyyyyyzzzzzzzzzzzyzzzyy{zyzzyyzyzyyyyzyyyy{{z{{zzyzyyxyzzzz{z{z{yzzzyzy{{{{{z{zzzyzzzz{zz{{z{zzzyzyyzyyy{y{z{{{zzyzzyxy{{{zz{z{zyyzyyyzzzzzz{{zzyzyzzyzzzzzzz{|zzyyyyzzzzzyz{{{y{yzyyzyzzzzzzzzzyyyzyyyyzzzzzxxyyyyyxyxyyyyyyyyxxzyxwxyzyzzzzzyyyyxxyxzzyyyyzzyzxxzyxxxy{yyzz{yyyxyxxyxzyyyyzzyxxyyzyzxyzyyyzzyyyyyyyyxyzzzzzyzzzyxyyyyzyyyz{zzyyyyywyxzyyyyzzyzxxzyyxyzzzzzzzyyyyxyxxxzzyzyzzzyyyyyyzyxzyzyxzyzyyzyyyyyzyzzzzzyxzyyzzyzxzyyzzzyyxxyxxyyyzyy{z{yyyxyxyyyzzzzzzzzyyyzyzzxzyzyzz{zzzyzyyyyz{zzzy{yzyyyxxyzyzzy{{zyyxzyyzyzzzzy{{zyxyzyzyzyzzzzzyzxzyyzzyz{zyzz{{zzzyzzzyyz{zzzz{zyyzzzyyzz{z{{zz{zzzyzzyz{z{{z{{{{zzyyz{zy{{z{zzzyyyzzyzzzzz{{{{zzxyzzyyzzzzyz|{yyzzzzzyyzz{zzzy{zzzy{yyzzz{zzzzzzzxzyyyyy{zzzzzzxyyyzyyyzz{y{zyyyyyzzxxxzyzyzyyywzxyyxxyx{zz{zyzzyyyyyyyyyyzzz{zyxyyxywyyyzzxyy{yyyxyxyyxyzzzzzzyyyxxzzyyyyzyzzyyyyyyyxyyyzyzzzyxxyyyyxyyyyzyyzzyyyyyyxxyyyzzyzyyxxxyxxyyyzyxzyyyzyyxyyxy{zzzzzzyyyyzxxxyzyyyxxyyzzyxxzxyyyyyyzyxzyyyyyyzzyzxyzzzyyyyzxyyyyzxzyzyyzxyyzyzyyzzzzzyz{zyyyyzzz{zzyzzyyyzxyyzzyyzzzzyyyyyyyyzz{zzz{yzxyyyyyzz{{zzy{zzzzyzzyzyzzzzzzzyyyzyzzzzzz{z{{{zyyyyyzyz|zy{zz{zxyyzzzy{{{zz{{zzzzzzzzyyz{z{{zzzzzzyzyyz|{{y{z{zzzzyyzy{{{{z{zzzyzzzyyzzzz{zzzzyzzyzzy{zzzzz{z{yyzyyzzyyyzzzz{zyzzzxyyyyzzzzzzzyyyyyyxyyy{yzyyyxxyxyxyxyyzzyyyxyyyyyxxyyyzyyzyzyyyyxyxyzyyzyzz{yyyxxyyyyzzzyyzzyxyyxyyyzzzzyzxyzxxwyxyxxyxyzzzzyyyxxyxzzyyzyyyyyxyyyyzzyzyyyyzzyyxyyzyyyyyyzz{yxxyyyxwyyzyxyzyzyyyyxyxxyyxyzyzzzyyyzywxzyyzxxyyzyxyxxxyxzyyzzyzzyyxyyxxyzy{zz|zyyyzzwyxzzyyyyzzyyyyyxyyzyzzyzzzzzyyyyyyyzzzzzzzyyyyyyyyyyyzzzzzzzyyxyxyyzzy{y{{yyyzzyyyzzyyyyzzyyzzyyzyzzyzzzzzzxzyyy{yzyyzzzz{xzzzyyxyy{zz{{z{zy{zzyzyzzzz{zz{zyyzyyyzyzzz{yz{zyyzyyzyz{zzz{zzzyzzyyy{y{{zzzzzzzzzy{yyzy{zzz{{yyyyzzzzzzyzyzzzzxyyyyyzz{zzyz{yzyzyyyzyx{{y{yyyyxyyyyzyy{zyyzyzyzxxxxzyxyyyzzyyyyxyyxyxzyzxzzzz{yxyyyxxzxzzzyzzyxxxyyxxyzzzyyzzzzyyxyxyyyyyyyyyxxyyxyxxyzyxyzyzyyxyyxxxyyzyyyyyxyyyyxyyyyyzzyzyxyyxyyxxyyzyyzyyyyyxyyxyyzzzyxzzyyzyxxwwyxyyyzyzyyyyxxxxyyyyzyzyzyyxxxyzyzyxyzzzxyyyyyyyyzyzzyyzyxyyyyyyyzyzzyy{zxyzxxzyzzzyzyzzyzxyyyxzxyyzzzzzyyyyyyyyz{{zzzzzyyyxyxxyzzzzz{z{yzxyyzzyyzzyyzy{yyyyzyyzzz{zz{yyyzzyyzyz{zy{{z{{yyyy{yyyz{zzzzzz{zzyzzyzzzzz{zz{yyyyzzyzyzzyzzzy{zzyzyzzzz{{zzzzyzyyyyyz{{zzz{{zzzzzzzyzz{z{zz{yyyzzzyyy{zzzzzzzzyyyyyyyyzzy{y{zyyyyyyzyyzzzzy{zzxyxzyyyzz{yz{yyyyxyyxyyyyzx{yzyyyyxxyyxyzzzzyyyzzyyyyyyzyzzzyyyyyxyyyxxyyzyyyyzzyyxxxxyzyyyyzyzzyyyzxyxyyyxxzzyyxyxyzyyyxzyyzyzyyyxxyyxyyyzxyyzyyyxyyyxyzyzyyzyyxzyyxxyyzyyzyyzzyyxxyxyyyzzyyzyyzxxyyxyyxyzyzzyzxxyyyxyyzyyzz{zyxzxyyzwzzyyzzzyyyyzyyyyzyzyyyzzyyyxxxyzyy{zy{zzzyyyxyyyzy{yzz{yzyxyzzyyyyzzzyyzyyzyyyxyyy{yyzzyzzxyxxyyzzzzzzzyyyzxxyzyyzzy{{zzyzy{zzyzzz{zzzzzyyyyyyyx{{z{yyzz{zzyyyyyzzzy{{z{zzzyyzzyy{zzz{{z{yzzzyzyz{z{y{zzzyxyy{zz|z{zyz{zzyzyzzzyyyyzzzzzzyzzzyyz{{z{zzzzzyzyyzyyy{zzzz{zzyzyyyxxyzy{{zyzyzxyyyyyyyyzzyyyyxxyyxxxyyyzyzzzyxyyxxxy{zzzzyzzxyyxxxxyyyy{zyyyyxyyxyyzyyyzyzzzyyyyyxxxyyyzyyyzyyyyyyxyyzxyyyyyyyyyyxyyyyzyyzyzxyyyyyyyyyzzyzyzyyyyyyyyyyzyxyzzyyxyyyyxyzzyzzyyxyzyxxxxyyyzyzzzyzwyyxyyyzyyyzzzzyzxyxyxxyyyyzyzyyyyxxxxyzzzyz{zzyyyzxyxzyyyzyzzzzyyyxxyyyyzzyzyyyyyyxxyzzzyzy{zyzyyyxyyzzzzzzzzzxyyzxxyzzzzzzzzyyyzz{yyzz{yyzzzzyzyyzzyzz{z{yzzzzyzyyzzzzzyyzz{yzzyyzyyzzz{yz{zzxyyyyyzz{{z{zz{zzzyzz{zyzzy{{z{{z{yzyyzz{{{zz{{zzzzzyzyzz{{z{zzzyzyzyyyzzzyzz{zzyyyyzzz{zzzyz{{yzzxyzzzyzz{{zzzzzxyzyyzzzzzzzzzzyyxyyzyyz{yzzyyyyxyyxyyxzyyyzyzyyyyxyxyyzzyz{zzzyyyyxxyzyzyyzyzyxyyyxyxyzzyyyyzxxyxyxyyyxyyzzyzyyxyxyxxyyxyyyzzyyyyyxwxzyzyyyzzyyyxyyxxyxyyzyyzxxyyyyxxyyyyyyzzxyxxyxxxyyzyyzz{zyyxyxyxyyyyzzzzyyxyyxyxyyzyyxyzxxxxxxyyxyzxyz{zyxyyxyxyyxyzyzzzyyzxzxyyzzxyyyzzyxyyxyyyzyyyzyzyzyyyzyyyyzzyzzz{yyyyyyyyzzyzyzyzxxyxyyzzyzyzzz|zyzyzzyxzzzy{yyzzyyxyyyyyzyz{zzz{yyzyzzzzzzzzyzyyyyyyyyyxz{zyzzzzzzyyzyzyzyzyz{{zzyzyyz{zzzzyz{{zzyzyyzyyz{{zzzz{zzz{zzyzzzz{yz{{{zyzyyyzzy{zzzzz{zyzzyxxzz{{zzy{yzyyzyzzyzzzzyzz{yyyyyyxyzxzzzzzzyyyyxyxyyzyyyzyyxyxyxxyzzyyyyyyzzxyzyxxyzyzyyz{yxxyyxyyzyzyzy{yyzyyyxxyyyzyyxz{yxxxyyyxyyyyyzxzyyyyyxyxyyzxyyzzzyyyyyxyyyyyyzyzyyyyxyxyxyxyxyzyxyyxyyxyxzyzyyyzyzxxxyxyyyzyy|yyxyyywxyyxyyyyzzzyyyyyxxxyzzyyzyyxxyxyyyyyyyzyzyzyzyyxzwyyyzyzyzzyxyxxxyyzzzyzyyzyyxyxxyyyyzyyzzzyyyzxyyyzyzyyzzzyyxyzyyyzzzzy{zzyyxzyyyxzzzzyyzyzyyyxyyzyzzyzzyzyyyyzyyyyzzzzzzzzzyyyzzyzzy{zz{{zy{yzyyxzzzzzzzzyyzyzyxyzzyzz{{zzyzyzyzzzzzyyz{z{yyzyzyyy{{zz{zz{yzyyyzzzyzz{y{zzyzzyzzzyzz{zyz{{{zyzyy{yzyyz{z{yy{x{yyzyzyzzz{y{yyzyyyxyzzzyyyyzxzxzxyzzyzzzzyyyyxxxyxyxzyyxyyzyyyyyxyxzzyyyz{{zyyxyxyxyzyzyzy{xyyxxyxxyyzyyzzyyxywxxxyxyzyyyzyyxyyyxxyyzzzyxxyxzyyyyzxxyyxyyzxyyzxyzxxyyyzxzyyyyxxzzxyyyyzyyzyyyxxxzwzyzzzyyyyyxyyxxxxxyzyzyzyyyyyxxxxyyyyyyyxyxyxyyxxxyzyyzzyyyyyyxyyyyyyzyyzyyxyzxyxyzzyzzzzxxyxyyyzyyyzyyzzyxxxxyyxzzyzzyzzzzyyyyyzyyyzyzzyyxyyxyyyzyzzyyzxxyyzyzyyz{zzyz{y{xzyyzxzyyy{zzzzyxyxyxzyzzzzzz{zzzyyyzyyyzz{zz{zyyzzzxyyzzzz{{{zzzzzyyzzzzzzzzz{zyyzyzzzzzz{zz{z{zyzzzyz{yzzyz{{zyyyzyyzz{z{zyz|zyzyzyyyzyyyzz{{yyyyyyyyy{zzz{zzzzyyyyyzyzyzzz{yzxyyxyyyyxyzyzzzyzyyyyywyzyzzzzzyyyyyxxyyzyzzzzzzyxxxxyyyyzzyz{zzyyyyyyyyzzzyyzzzyxxxxxxzyyyzzyzyyyxyyyyyzyzzzzzyyxyzyyyzzzyy{zzzyxyxxyyzyyyyyzyxyxyyxyyxyyyzzzzyyxxxyxyzyzyzzzzyxyxxxyyyzyzyz{zzxzyyyzyyzyyyzzzzyxxyyxyxzyyyzyyzyyyzyyxyzyzyzzzzyyyxyyyzzyyyzz{yzxxzxzy{zzzy{z{yzyxxyyyzzzzzzz{yyzyyxyyy{zyzzyzzxyyyyyyyzyyzzzyzzyxzzzzzyzy|zzzzyyzzzxy{zy{yyzzzyyy{zyz{zzzzz{{zyyzzyyxz{zzzz|z{yyyyzyzzzyzzz{zzzzyzzzzz{zy{{|zzyzyz{yyz{zy{z{zzzzyyyzyzzzzz{zz{yzyzyzyzzz{zzzyzzyyzzy{z{{{zz{{yyzyyxyyzyzzzzzzzzxyyyyzz{{{yzzzyyzyyyxyyyzzzzzzyyzyyyyxyzyzzy{zzyxyzxxyzzyy{yz{zyyyyyyxzzyyz{zzzyyyxyyzyxzzyyzyzyzxxyyxyyzzyyzzyyyyyyyxyyyzzzzyyyyxyyxyyzzyyzyyyyzxxyyyzzyzzzzyyyyyxxyyxyyzyyzyyzyyxxxyyxyyzyzzzyyyyyyyyzyzzzzzzxyyxyzyyzzyzy{zxyzxxyxyzzzzyyzyyyzzzzyyyzzzzzzzzyzxyyyyzzzzyzy{zzzzyyyzzzzyyzz{yzzyxyyzyzzyzzy{zzzyyyyxy{zz{zzzyyzyyyzxzz{yz{zzzzyzyyyyy{zzzzzzzyzzyyyyzzzz{|zzzyyyzyzzz{zzzzz{zyyyzzyz{zzzyz{z{yyyz{yzz{zzz{z{{zzyz{zz{zy{{z{z{zyyzyzzz|{{{z{|zzzzzzzy{z{z{{zyyyzyzyyzzyzzzzzzzzzzyyzyzyz{z{z{zzzzzzzyyzzzzz{{zzzzyzzy{zzyzy{zyzyyzyzy{zzzyzzyxyxxyxxxyyzxyzxzxxyyxxyyyzyyzzzyyyyxxyyyyyyyy{zyyxyxxxxyzyyyyyzzxyyyxyyxyyzyyyzzzxyxyyxxyyxyyzyyyzxyxxyyzyzzyyzyyywxxyyxyyzyyyyzxxyxyzyxzyyyyxzzyyxxxyyyyyyyzzzzxzyyxzxyxyyyyzzyyyxxxxyyyyyyyyzyyyyxyyxyxzzyzzzzyxyyyzxyzyzyy{zzzxzyxyyyyz|yy{y{yyyyyxyyyyzzyzyzxyyxyxxyxyzzy{yzyyxzzyyyyyz{zzyyzxzxzyyxyzzzyyzzzyxzzzyyzyzyyz{zyyyyyyyzxzzzzzzzzyyxzyzyz{zzzzzzzxzxyxyyzzzz{y{zzyyyyyzzz{z{{{{zzzy{{yyzyzzzzzz{zzxyzyyyzzyzzz{{zyzzyyzzzzzyz{zzzyzz{yyzzyz{yy{{zyyzyzzzxzzzzz{zyyyyyzyzzzzzy{{zyyxzxyzyzyyzyzzyyyyy{yyxzzzzzyyyyyxxzxyxyzyzyyyyyyyyyyyyyyyyyzzzzzyxyyyyyyyyzyzyyyyyxxyyyyzzyyzzyyyxyyyxzyyzxyxzyxxyyyyxyyyyyzyzyyzyyxyxyzyxyyzzyxyxxxyyyyyyyyzzxwxyxyyxyzyzxzzzyxxxxywyyxzxzzzyyyzyyyxyxzzzzyzzyyxyyxyxyyxyyyyyyxyyyyzxy{yyzzzzyxyyzyxxyyzzx{zzzzyyyyxwyzzyyzzyyyyyzyyyzzyyyyyyyyzyzyxxyyyyzyz{yzyzyyzxzyzy{zyzyzyyyyyxyzzzyy{zyyyzyyyyzzzyzz{zyzzzxyzxzzz{zzz{yyzyyyyyyzzzzzzzzzzyyzyy{z{zzz{yzyyyxyzzyzzzy{{zzzzxzzzyyzyz{{{{zzzzyzzzyzz{{zzz{yyzyzyyzzzz{zzzzyyzzzyzyyzz{zz{zyyzzyyzzz{zzyz{zzzxyz{yyz{{{{zz{zyyxzzyzyzzyzzyyyzyyyyyzyzzyzzzyyyxyxyyyzyyyyyzyxyzyxxyzyyyzzz{yzxyzyyxyyyzz{zyyxyyzyxyyzzzzzz{yyxxxyyxyyzyyzyzzyyxyzyyyyyyzz{yyyyyxxyyyxzzyzzyzzyxyyyyyzxzzzyzyxxyzyxxyxyyzzyzyxxyxyxzyzzyyzzzzyzxzxyyyzyyzyzyyyyyyzyyyzzyxyy{yyyyxyxyyzyzzzzyyyyyxyzxzzyyzzzzyyxyzxxyyyzyyzzyzyyyxyyyyzyzzyzyzyyxyyyzxyzyzz{yyyyyzzzxyzzzz{zyyyzzyzyzzzzzzy{yyyyzyyyyzzzzzzzzzyzzzyyy{zz{{z{zyzzzyzyyzzyyyz{{yyzzzyyyzz{yzzzzzyyzzzzz{z{zzz{zzzy{y{yz{zyzz{{|zyzzyyyz{{z{{z{zzyzyzzy{zzzzz{zzzzyyzyyzz{yzzzz{zyyyyzyyzzz{zzzzyzzyzyyyzzzyy{z{zzzzyyzyy{yyzyzzzyyxyyyyyzyyzyyyyzyxyxyyyzzyyzyzyxyyxxxyyyyzzyyzyyyxyyyyyxzzyzzyyxyyyxyyyzyzyyyzyyyxxxyxyyzyzzzyyyyxyyyxxyzyzzyyzyyyyxxxyyzyyzyyyzxyxyxxyyzywzyzzxyyzxxxyzzyzzzyyyyyyyyyyzzyyzzyxzyzxxxxxzyzzyzyyyyyyxyxyzyyxyyzyxyywyyyyyyyyzyyzyzyyzyxyzyyyyzzyyzxzyyzyzzyzzyyxyyyyyyyyzzzyzzzx{yzyyzy{yzyzzz{yyyyyyzyyyyyyz{z{yyyxyyyzzzyyz{zyyzyyyyyyz{zzyyzyzzyzzyyzzz{{zyz{zyyzyzyzzyzz{{zzzzzzxyyyzz{zz{zzyzyzzzyzz{zzz{zzzyzyzz{{{zzz{z{zzyzy{yyy|z{zz{{zzzyyyzyz{zzzzz{zzyyzyzy{zz{{yz{zzyz{xzz|{y{zz{{zzzyyyyzzzzzyy{zyzyyyzzyyzzzz{{zzyzzyxzzyzzz{zzzzxxyzyyxzyzyxxyzzxxxxxxyzzyyzz{zzyyxyyzyyyyyz{zyyyzzyyxyzzyzzzzzyyyyywyxyyyzyyyzxzyyxzyyxyyzyzzyzyyyxyyyyyzyyyzywzxxyyxyyyyyyzzyyyxyxxyxyzyxzyzyxxyxyxxzyyyyyzzxxxyxyyyxyyyyzyzzzyyyyyxxyzzyyyyyzxzzwxyxyzyyzyzyxxyyyzzxy{zzzz{yzzyyyyyxy{zyyzyzyzzyyyyzyzzzyzz{yyyyyxyyyzyyzyzzyyyxyxyyzzzzzzzzyxyzzyyzzyzzzzyzyyzyyyzyzzzyy{zzyyyyzyyzzzyz{yzzyzyyyyzzy{zzzzz{yyzyyzzzz{{z{zzzzzzyzyyyz{zz{y{zzyyzyzzzzzz{{z{{{yzzyyzz{{{{z{{zzzzz{xyyzzz{z{zyzyzzyyyzz{{zy{z{zyzzzyyzzz{{zz|zzzyyyzyzy{zz{z{zzyzzy{yyzzzzzzzzzyyxzyyyyzz|yyxyyzzxzyxyxzyxyzzzyyxyxyxxxyyyyzzzyyyyyyzxzzzyzzzzyyzyyyyzxzyyyzyxzyzxyyyxyyzxy{xyyxyyxyxxyyyzyzzyyyxyyyxxyyyxyyzyxyxwyyyyyzzzyxyzxyzxywyxxzyyyyyyyyxxxyxyyyyxzzyyyyyyyyyyyyyyyyyyzyyyxyywxzyyyzx{yxxyyxyywyyxzzzzxyxyyyyxzz{zyzzzzyyyzyyxyyyyzz{zzxyyyyyxyyzzzyzzyxxyyywyzzzyzzyzzyzyyxyxyzzy{{yyzyyyyyyyzzzzyzyyyxyyyyyyzz{yzzzyzyxyzzzyy{zzzz{zyyyyyyzyyzzzzz{{yzyzzxyyzz{zyz{zzzzzzyyyz{zyz{zzzyyyyzzzz{zz{{zzzzzyyzyz{{{zyzz{{yzzyyzy{zz{z{{zzyzyyzyyyz{zz{zzzyzyzyzx{{y{yzz{zzyyzzxzzyzzzzzzzyyyyyzzy{zyzz{y{yzyxyyyzyyzyzyzxzyxxxxxzzyyyyyyxzxxyxxyyyzxyzzyyyyxyyzxyyzyzyzyzyxxzyxyyyyzxyzxzyyxyyyyyzzyyyyzyyyyxyyxyyyxyyzyzxyyxxxxzzyxyzyyyyyxxyxyyzyzxzzzyyyyxyzyyyzxyzzyxyxyyxxyyxzyyzyxxyyyywxxzyyzxyyyyyyyxxyxyyyyy{yzxyyyzxyxyyxyzyzzyxzyyxxxyzzzyyzzyyxyyxyyyyzyyzyzyxxzywyyyyyyyyxyzyyxywyxzzzzyzz{yyyxzyyxyyyzz{yyzyxxyyyxzzzzzzyzyyyyzyxzz{{zyyyyyzxyzyxzzzz|zyzzxyxxzzzyzzyzyzz{yyyyzyyy{zz{yzz{zyyyzzz{{{z{z{zyzzyzzzzyz{zz{zyzzzyzyyzzz{x{z{|zyzyyzxxyyzyzy{zzyyyyzzxzzzyzzzzzzyyzzxyyzzz{zzzzyzzyyyzyyyzzz{zzzyyyyzyyyzzzzzyzyzzyywyyzyzyzxzyxxyxyyxyxxyzyxyxyyxyywxyyyzyyzyyyyyxxyxyzyyzyxzyxyyxxyxyxyzzyyzzyyyxywxxyyyzyxyxxyyyyxxyxzxyyyzyyyxxyzxwxzxzxyzyxxyyxxyzyyyyxyyyyxxyxyxxyxzyyyzyxxxxxywxyzzyzyyxyxyxxxxxyyyxxzzyyxyxyxyxxzy{yyyyxxyyyxxyxyxyyzzyyxxyyyyyyzzyyyyyyxyxyyxxy{yyyyzzxyzyzyxxyzyyzzyzyxyyyxxzyzzyyyzzzyzyyxyyyz{zzzzyyyyyyxxyyzzyzz{yyyyyyxyxyyzzzyzzzyyxxyyy{zzzzzyzyxyy{yyyy{zyzz{{yyyyyyyyzyzyz{{y{yxzyyyzyz{zzz{zyzzxyzyyyzzzzzzzzyyzzzyyzz{{zzz{zyyyyyyyz{{zyz{zyyyyzyyzxyzzzzzyyzzzzyzzzzyz{zzzyyyxzyxyzzyyz{zyzyyyyxyxyz{zyzyzyyyxzyyxzyzzyzzyyxyyyyxxyyyyyzzyxyzyxyxyyzyyzzzyxyyyxyyyzxyyyzzzyyxxyyxyyyyyyxzyyzyxxzyxyzyyzyzzyxyxxyyxyzzyyzzxyyyyyyyyzyyyyzzyyyyyxxxyyzy{yyyyyxxxyyyxzzyyzyzyyyyyxyyyyzyzxzyyyxyyxyxxxyyzzyyzxyxyyxyyxyyyyyz{yyzxxyyxyyyyyzyzyyyyyyxxzyzyzzzzxyzzyyyzzyyzyzyzyyzzyyyxzyyyzyzzzyyyzxyyyyzzzzyzyzzzzyyyyyzz{zyzyyyyxyxxyzzzzyzzyyzyyyxyz{zyyzzzyyyyyyzz{{zy{zzyzyzyyzzzyzzzzzz{zzzzyyyyy{zz{y{zzyzy{yxzz{yzz{{{{yzzzzzzzzzzz{z{{yzyyzzyzzzzzz{zzyzzyyyzyzz{zz{{zzyzzzzz{zzzzzz{zzzzzyyzyz{zz{zzzzzzzywy{yzzz{{zyyyyyzyyyz{zyzzzzzyyxzyyyzzzzyzyyxxxyxywxyzyxzy{yxyyyyxxyzyzyzyzyyxxyzyyyxxzzyzzyyyxxxxyyyzyxyzyyyyyyxyyyyzzxyyzyyzxzyyyzzxzzyzyyyyyyxyxxyzyzyyzyxwyyyyxyyyzxzyzyyxxxxxxyxzxxy{yyzxyyxxyyzyyyyyzzzxzyxxyyzz{yyyyzyxxxyxyyzyzzzyzxxyxyxyyxyzyyzyyyyzyyyyyzzyyyzzyyyxyyxzyxzy{z{{zxxxyxyyyz{yzzzzzyyyyxyzxyxzyzyzzzzxyyyyxxyyzyzzyyyyxyzyyyyzzzyzyzyzzyyyyyzyzyzzzyzyyzyyyyzzzzzzzyzzzyzzzzzz{zzzzzzyzyyyyzz{{{{{{zyyyzzyy{z{zzzzzzzzzyyzzyzy{{z{zzzzyyzxzzzzzz{{z{yyzzyyzzzzz{{z{yyyzzzzzyzzzzz{zzzxyzzyzz{{{z{zzyyzyxyyzzzyyyzzy{yyyyyyyzzyzzy{zyyzyyyyzzzzzyyzzxyyyyxyyyzyyyyzzzxwyyxyxzzzyyzyyzyxxyxxxyyxyzzxyyxyyxyxxyzyyxyy{yyyxxyyxyyyxyzyzyyyxxxyxyzyyyyzyyyyzyyxyxyzyyyzyyxxxwyyyyyyyzyxyxyzyzyyyzyyzxyzyyxyyyxxyyyyyyzyyyxyywyxxyzzyzyzxyyxxyyzyyyyyyyyzzyyxxxyyxyzzxyzzxyzzyyxxxyzyyzzzyyzyxxyyyzzyy{zzyyxzyyzxzyzzzzyyyxyyyyyxyyzyyyz{yxxxzxyxyzzyzzyyzyyxyyyxyyzz{y{xyyyzyyyyzyzzyyzzzyyyxyyyzzzyz{zzzzzzyxzyzyyzzzzzzyy{yxyzyyzz{z{zyxyyzzyyzzzzy{{{yyzyyyzzy|yzz{zzzyyyzyzzz{zzzz{zzyzyzyyz{zzzzzzzzy{zzyyzzzyzz{z{zzzyzyzy{zz{{{zyyyzyyxxyzzy{zzzzyyyzyzxyzzz{yy{zzxzzxyyxzzzyyyyzxyxxyyxxyzzyxyyxyxyyxxyxyyyzzyyzyxzxyyxyyyyx{zyzyyyyxyyyyzyzyyzzzyzyxxyxyyzyzyzzyyywyxyxzzyyyzyxyyyxyxxxzyzyyyyzxyyzyyxxxyyyyzyyzyxyzxyxyyyzyzyyyxyyyzxxyzyyyzyzyxyxyxyxxyyzzyzzzyxxyxyxzyyzyzzyyyxxyyxyxzyyyzyzzyzyxxyyyyyyzzzyzyzyyxzyzyyzyzz{yyyyyyyyxyzyy{y{yyyyyxxyzyzzzzzyzyyyyyyyyzyzyzzzzyxyyyxyyyzzyzzzyyxyyyyyyzzyzzyzyyzyyyyyyxz{zzzzxzyxyzyyzyy{zz{{zzxyzyyxyz{zzzzyzyyyyyyyzzzzz{zzyzzyzyzzyyyzz{zz{zyyyzyyz|z{zzzyyzzzyyyyz{yzzz{{yxzzzyyzzy{zz{z{{zyyzyzyyzzz{zz{yzzyyyyyyyzzyzzzzzyyxxyyyyyzyyzzyyzyyxzyyz{z{{yyyxxxzxywyyzyxzyzxyyxyxxxzyyzyzzzzxxxyyyyyyyyyyzyzyzxyxyyzyyyyyyzyyyxxyyxyyyzzyyzzyxxyxywyyyxyzyxxyyxyyxyxyzxyyzyyyxyxxxyyxyyxzzzyxxxyxyxxzxxzyzxyzywxyyxzyzyzyzyxyyyyxyyxyyzyyzzyxyxyxyxyyyyxyyyyyyyyyyxyyxyyyyyyyxyyyyxyzyyyyzyyxyyyxxxzzzyzyyzyzyyyyyyyyxzzyzzxyyyxyyyzzyzzzzyyyxyzxxxy{yzzzzyxyyyyyyyyy{zzzzzzyzzyyyzyz{yzzy{yzyzyyyyyzzz{zzzyxzyzzzzzzzzy{z{yyzyyyzyzzyzzyzzzzyzyxzx{zzzyz{z{zyyyzyyyzzyzzzyzyzzyzyzz{zzz{{zzzzzyzyzz{zzzz{zyyyzyyzyyzzyzy{zzzyyyyxyzzzzzzzzyyzxyyxyzzzzz{{yzyyyzzyzyzxzyy{zyyyzxzyxyyxzyzyzyyyxxxyyyzyyyzyyyyyywyxyzyyyyzzzyzxxxyzxzyyyzzyyzyxxyyyxyyzzyyyyyyzyxyyxxxyyy{yyzxyyxyzyzy{zy{zyyxzxxxyzyzyzxyyyxyxyyxyyyxyyyzxyxxyxxxyxyyyzyyzyxyyxxyxxyzzyzyzzxyyyxyyyyyyzyzzyxyyxzwxyyzyyyyyzxyyxxyyyyyzyyyzzyyzyyzyyxzyzyyzzzyxyyxyxzyyxzyzzyyzyzxyy{yzzyyzzyxxxxxxyzyyyyyzzyyzzyyyxzzyzzyy{zyyyyxxyzzzyyyzyzyyzxzxzzz{zyz{zyzyyyyyyz{yzzz{zzzzyzzzyyzzzzz{{yyzzyzyyz{zz{yzyzyzyyzzzyzz{yz{zzxzzyyyz{{zzzz{z{yzzzyzzz{zzz{yzzyzyyyx{{zz{zzzzzzzzyyzyzzyz{zzzzzyyzyzyzzzzz{zzzyyyzyzyyzyzy{{zzzyy{zyyy{zzzyzyyyzxyyzyyzz{yzyzxyyxxyywyyyyxyyzyxxyyxxxyyyyyyz{xyyxyyyxyyyxzyzyxyyxwxyxyyyyxyzyyyxwyxyxzzyyyyxzzxxxyxyxyyyyzyyyxyyyyxxxxyyzyzyyyxyyyxwxyyzzxyyyzxxyxyyxyyyyyyzyyyyxxyyyxyzyxzyyyyyxxxxyyyyzzyzyxyyxwxxxxyyyyyyyxyyyzyyxyxyxyzy{yxyyyxyyzyyzyyzzyxxxyyxyzyyyyyzzyyyyxxyzyyy{yzzzyxyyxxyyyzzzyy{zyyyyxxyyxzyzzyzzyyzxyyxxy{yzzyzzyyzyxxyyzy{yyyz{{yyyyzyyzxz{zy{yxyyxyzyxzzzzy{{zzyyzxyzzyzz{zz{zzxyzyyyzzzzzzy{zzzyyzyzyyzyyzzy{{zyyyyzzz{z{zzzzzyyyyyzyzyzzzz{zyxyyyyyzzzyzyzzzzyyyzzyy{{yzzzyzzyyyyyzyzzzzy{{yzyyxzyyyzzzzzzzyzyxxxyzyyzzyyyxyyyxxyyxyyyyyyyyzzyxyxxyyyyzyzyzyzyyxyxyxzxyyyzyyyyzyyyxxyyyyxyzzxxyxxyyyyyyyyyyzxxyxyyyxxyyzyzzzyyyyzyzxzyyyyyzyyyyzyxxxyyyyyyyyyyxxyyxxyyyyyzyxyyyxxwyyxyzyxzyzzyyxyxyzyyyyyzyyxxywxyyyxxyyyyzyyyxyyyxxxyyyzzyzyyxyyyxxzyyzyyyyyxyxzyzyyyyxyzzzyyyyxxzyxyz{{zyyyyyyyyxyzzzyyzzzzyyyyxyzyyzyy{yyyxyxyxxyzzyyyzzyyyxyyyyyyzyzyzyyyyyxyyzyzyzzz{{zyyzxyzzyzzz{zzzzyzyyzyyyzzzzz{z{zyyyzyzzz{zzzz{{zyyyyzzzzzzz{z{{zzyzyyzyyy{{zzz{{zyzyzyzzzzyzzzzzzyxzyyyzyzz|zzz{zyyyzxzzzyzz{zzyzzyyzyzz{yzyz{{yyyyyyyxxzyyyy{zxyzxyyyyzyyyzzzxyzxyyyxxyzzyyyyzyyyyyzyyzzyyzyzyyyyyyyyyyzyyyzyzywyyyxyyyzzzyyzyzyxyxyyxzxzyyyyyxyyxxyxyyyzyxyzzyxyxyxyxxzzyyyyyxxywxzxxyyyxxzyyxxyyyxyxyyyyyzzyyxxxyyxxyxyzyyyzxxyyxxxxxyyyyyzzyxxxyxwxyyyyyyzyyyyxyxxyyyxyzzyyxxyxyxyxzyyyyyzzyyyyyyyyyzzyyyzzyyyyyyzzzyzyzzyzyyyxyyyyzyzzyyyzzyxyyxyxzzzzzzzxyyyyxxzyzzyyyzzyyxyyyzyyyzyzzy{zzzyzyzyyyyz{yyz{yyzyxxyyyzzyzzyzyyyzyyzxz{zzzzzzzxyzzyxyzzzyzy{zzyzyyyzyyzy{zzz{zzyyyyyxz|zzzzzyyy{zyyxxzzzzzz{zzyyyzzxzzz{{zz{zzzyzzzxyzzzzzzz{yzzyxxyyzzyzzz{{zyyyyxxyzzzzzyzyxzyyyyyxyyyyzzyzyyyxyxxyyzyyzzyxzxxxzxyyzxzzyzyzyyyxxyxxyzyyzyzyyyyyxxxyyyzzzyzyxwywxxyxy{zyyyyzxyxxyzywyyyxyyyyzyyxxyyyyyzzxyxyyxxxxyxxyyxyyzyzyyyxxxxwyyyzxzzyyxyyyxyyxyyyzxyyyxxyyyxyyyzyyyzzyxyyxyxwzyyxxzyzzyxyyxxxxyzzyyzzyyyyxyyyyxxzyzzzyxyxyzzyzyyyzxyzyyyyyxyzyyyy{yyzyyyyyxxyyzyyzzzzzxzyyyzyxzyyyyy{yxyxxzxyyzzy{zzzxyzyzyyyzzzzyzzyzxyyyyyzyz{zzzzzyyzzyyzyzzzzyy{zzyyzzyyyyz{yzyzzzzyzzyzxzzzzzzzzyyzzyzyzzyzzzz|z{zzyyzyyz{yzyzzzzzzzzyyyzzzz{yzz{zzyzzyyzyzyzzyzzzyzzyzyzyzzzzz{yyyxzyyyyzzyzz{yzy{zyyzyyzyzyzzyyyzyzxyxzyzzzzyyzxxyyyzxyzzyzzyzyxyyyyyyyyyyzzzzyzxxyyyyyyyzzyyyyyyyyyyyyzzzyyyzyzyxxyxxyyyzzyyzzyzyyyyxyyyyzzyyyyyyyxxxzxzzxzyzyyyyxyyyzyyzyzyyyyyxyxyyxxzzxxzyxyxxxyxzxzyyzzz{yxyyxxyyzyzzyzzzyyxxyxyxyyyyyyzyyyyyyxxyxzyzyzzzyxyyzyyyzyzyyyzzyxxyyyzyyzyyyzzzyyyxxyzyyyxzyzzzyyzyyxxxyzzzzzzzyxyxyxyyyzzzz{yzzyxyyyyyyzyzzzzyyyyyxxzyyzzyzzyyzzyyzyyyzzzy{yz{zzyyzyyyzzz{zz{|zyyyzyxyy{{{zzyzzyzzzyzzzzz{zz{zyyyzyzzyzzz{{zz{zyzzzzyzzzz{{{{|zzz{yzxz{zz{z{yyzyzyyzyyzzzz{zzz{zyyzyyy{zz{{yz{zzzyyyyyzyzzzzyzzyyyzyzy{{yzyy{zyzyyyyyzyzzyzFw3$`zz|{z{z{{}{|{}|{{||{{y|||{z|||||||z{{|z|{{||{||{{{{|{z|{{{|{{||{z{z{z{{z{|{|{{{{{|{z{z{{|z{{{|{{zz{{zzzz||{|{|||zzzzz{{{{|{{{{{z{|z{{z{{z|{{{{{{z{z|{{z{z{{{|{}|zzz{zzzz|z{{||||z|{{z{z{|{z{||{|{{zz{zzz{{|{}{{{z{z{{|{{||z{{|{{z{|{z{{{{{}{||{z{{{{{|{{{|{z{{{{{z{z{z|||{||{|||{zz|z{{{|{||{{{{{{{{{z{{||{|{|{||{z|{{{|{||{}{}{{{{|{z{{|{||{}{{{z{{{{{{||||}}{|{{}{{{{{{|||||{z{{{{z|{{}||z{|}||{|{|||{}}|}|||{{{{|{|z|{}{{||||{{{||{z{||}{|{||{|z||{{{{{|}{{}||{{{|{{||||{||{z{{{{{{|{{||||}{|{z{z{z{{{|{{{{{{{{{{zzy{{{|{|{|{||{|{|{|{|||||}|||{{z||z||{{||||{{{{{{{|{|||}|{{|{{{{{{|{{||}{{{|{{{{z{|||{{{z|{{z{{{{z{|{{||{{z{{{z{z{{|{{||{{{z|{zzzz{{||{|||{{{{{z{{{{{|z|}{{{{zz{z|{||||{|{{{z{{{{z{{|{|zz{zyz{{{{y{z{zz|{|{{z{z{zz{{z{{||{|z{z{{z{||{{{{|{|{zzzz{{{{|||z|{{z{{{{z{|{{{||||z|z{z|{{||{||||{{|{z{z{||{{}{|}|{{z{zz|||||{|{{|{{{{{{{|{||{{|||{{{|{z|{z{||{}||{|{{{z|{{||{{||}z{z{{{z{|||}||||}{{z{z{{|||{||}||{{z{|{}z|{{}|}~|{{||{z||}|||||||{{||{|{{||}|||||z{|{{{{|}}|||}|{{|{||{{|||{||||||{z|{|{|}|||{|||{{{{z{{|{}z{||{|z{z{z{{||{z|{||{{{{{{|{|||||{||{{{|{{z{{||{|||||{z{{{|{|||{|||{|{|{{{{{z||||}{|||{{zz|{|{||{{{{{{{z{{{{{z{|{}}z{{{{z{|{|||z||||{{{z{z{{z{{}zz|{|{yzzzz{{{{|{z{{z|zzz{z{{{{{|{|||{{{z{{{z|{|{z}|{{{z{z{z{{|z{|{{{{{{{|zz{||{|{||{{z{zzz{||{{{{||{{z|{{{z||{{||{{{{z{|{{{{{{||{||{{z{{{z{|||{|{||{{|{zz{{z||{{||{{z|{{zz{{{|{|{|{{|{|z{|{{||{|||}|{{|{{{{|{|{{{|||{{{||{{|{{|{{||{{{{{{{z|}||||||{{||{{{|{|}{{|}}|{{|{||{||}}}}|||{{{|{|{|||}||||}{{|z|{{|{|}|}|}|{||||z|}{|||{|||{|{||{||||{|}{}{{{z{|{|z|{||||||{{||||{||||{|}||{{{{{{z{||{|||||||{{{{{{|{|{||}z|{{|{{||||||}}|{|z||{z||||||}|||z{||{{z|{|}{{||z{{{{||{|{||{|}||z||{{{z{||{|{|||{|{{{{{{{|{{|{{{{{|{{{z{||||{{{{{zz{{z{}{{{|{{|{{{zzz{zz{{|{|{{||{|z{|{{|||{|||{z{{|z{|{{{{{|{|{{|{{{{zz|{{{||||{{{{|{{|||}{|}||{z{{{|{{|{||{||}{|zz|{||}|}{|}|{||{{|{z||{{||{|{{{{{|{||||||||{|{|{|{{{|{||||||{{{{|{{|||{|||}|{{{{{|||{{|{}|||||||{||{||}}{|}|{|z{|{{{|||||}{|}{{{{{{|}}}}|{}||||{{{||{}||}||}}||{|||{{}|}}|}}}{|||{|{|||}||}|||{|{{|{}}|||||}|{||||}|{||{}|}}||{|{{|||}}}|||||||{{{|{|{|||{|}{{|y{z|{|{||{}{}||{||{|{|||||||}{|||{{{{}{}|}}|}{{{z{{z{||{{||{||}{{{z{{{|||{||||||{z{zz{{{}|{||{|{z{z|{{|{{{||{|{{{|z{z{|||{{||{{{{|{{{{{{{z{|{{{{zz{zz{{|{|{|{zz{{z{zz{{{{|||{{{zzz{{{{||||{|||{z{{{|{{{{{z{{{{|{{{z{{{{{{{|{|z{{{z{z{|{{|{{}||{{{{{{{||||{|{||{{z{{{|z{{|{{z}{{{{z{z||{|{z}||{{|{{z{z{{{|{|{{|z{{{{{z|{|{|{{{|{||{{{{||||{|}{{{{{z{|{{{}|||||{{|z{{{{|||||||{||{{{{{{|{||||}{|||{{{{{}{{{||||{|z||{||{|{||}}}||||{||||}|}||}||{||{|z{}|{|||{|||{||{{{{|||}{|}||{{|{{{}|{||{|}||{{{|{{||{{}|}||{|z{|{{{{{}|||z{{|{zz{{|||||{{|{|||{||z{||{{}|}{{||{z{{||||||{|{{{{{{{z|{|{|||}|{{zz{{z{||}{{}||{|z{{{{||{|||||zz{{{{{{{z{{{|{{{{z{z{zz|||{{|z{{{z{z{z{{z{{{{{{{z{zzzzz{{{{{{|{{{z{zz{z{z{|{|||z{zzz{z{{{|{{|z{z{z{y{{{|{{z{|z||{{zzz{zz|{{|}|{z{z{{||{{{|}|||||zzz{z{{|{{z{|{{zy{|z{z{{|{|||{|{z{{zz{z{{{{||||{{{||z||{|{{{|{|{{{{z{{{|{|{|||{{{{|z|{{{{{|{||||z|{|{{z||{|||}|{|z{{|{{|}{||{|||{|{|z{z{||{|{|{|{|z|{|{{||||{|}|{{{{{|{z{||}|||{{{|{{|||||}}~}}|{}||{{||}}}|{||||z{||{||||||}~||{{||{|{z}||||{|z{zzz{{z{||{|||||{z{{{zz{{{|{{||{z{{{{{{{||{||}|}{z|z{|{{|||{{}|||{z|z{|{}||}||||{|zz|{{||}|{{||{{{{{z{zz{||z||{||{{{{zz|{||{{||{{{{||zz{{{||{|{||||z{{{||{{||{||{zzz{{||{{{{{{{zz{z{{{{{{{{{{{|{{{{zzy{z||{{|||zz{{{z{{{{||}{|{zz{{zz{{{{}|{{{{{{z{z{z{||z{{||||z|{{|{z{||{{{||{{{{zz|{{z|{{{{{{|{{zz{||{{||{||z{|{{y{|{|{{||||{||{|{z|{|{|}|{{{{{{{|{z{{|{{||{{|{|{{|{{{|{{|{}{{|||{z{|||}{}{|{{|{{|{|||||}{|}|{z|z{{{|||}||{|||}{||{{|}|||{}}|||{z||||||||~}|||{{{|{{|||||||}|{|}|z{{|{{|}||||{|{{{zz|||{||{|{{{{z|{||||||||}{{zz{z{{{{|}{|||{{{{{{{{{{}|{|||{{|z{z{z|||{{||||||{}{{{{|{}||}{{{|{{zy||{|||}|{{{z|{{{z|{{|||{|||{|{{z{|||{|{{|{||{zz{{{{||{}{{zz||zz{{{|{z|||{{{{{|zzy{{|z{{|{|{z{z{{{}|{|{||{z{zzzz{y{{{|z{{{z{{{zzz{{{|z{||{z{{z{z{z{{zy{{{|{zz|zz{z{{{{{{z|z{{{zzzz{{{|{|{z{{{z{{z{{z|||{||{z{{zzz{z|{|{|{|{{z{{{z{||{}{|||{{{z{{{z|||{{|}||{{z{{{||||{{}{|z{{z|z|z|{{{|||{|{z|{z{zz||{||{{|{z{|{{||{||}{||{z{{|{|{||{|{{|}{||z{{{|||||||{|{{{{|{{||}|{|{|}|z{z{|||{||||||}|{{|{{}{z|}|||||{{z||{{{|}{{{}}|||{{{||{|||}}|||{{z||{{}{{{||||}{{{{z|{{{|{|{||}}|{{{{{z{{||{|||z{|{zzzz{|||{}|}}||{}z{||||}|}~}||{||{|||}|||||||{|zz{{{|{|{|{||{{|||z|{{{||||{{{|{z{{|z{{||||||{|{{|{{{{{z{{|||{z||||{y{|{{{{|{|z{{{|z{|{{{|{z|{{zyz{{{|{{{{{||z{z{z{{{{{|{||}{||{z{{z{{{{{{z||{{{{{z{{{z{{|{||{|{zz{{z{}{{{}{|{zzz{{{z{z{|{|{|||{{{{{{{||||{{|{{{|{{|{|{|{{|{{z{||{z{{{|}{|}||{|{{{|{z{}|}||}{|{{z{{{z|}|{|||||{{z{{{{{{|{{{{}|{{z{{{{{}||}||||{{{|{{||{||{||||{{{{{||||||||}|{{{{|{}||||{|||}||{|||||{|||||||||{|||||}}||||}|||{|{{{{}|||||~|{{{|{{z|{|{|{|~}{z||{{|||||||}}}||{{|z{{||||}|}|{{z{|{{{{|{|{}{|{{|zz{{{|{{{{{{||||{{|{z|||||}|}|{|z{|{{|{||||}|}|{|{|z{{||||||||{{||{{{{{|{{{{|{||{{|{z{{}{{{|||{{{|z{z{|{{||}{|z{{{{zz{|{{{{|{{{{{{{z{|{{{|{{|{z{z{zz|{{|{|{|{|{|{zz{zz||{|{|{|{{zz{zz{|{{{{{|{{{{zz{z{|z{{{||{{{z{zzz||{{{||{{|{{z{z{|{{{{{{{{{|{{z{{{|{{{{|{{{{{{z{z{{{{||||{{{{{z{z{|}|{|||||{{|{|{{{{|{|{|{z|{{{z{{}{||{|||z{{|{|z{|{|{||{|{{||{{{||||||||z|{z{|{z{|{|{{||{{||{{|}||{|||}|{{|{|{{{}|{|{|{|{{||{||{|}|}}|}|}|{{{{||{}||{}}~|{{|{||{|}}}|||z|z{{z{{{||{|}|||||{|||{|||||||||{{|{{{{{{{||}}{|{{{{|{zz{|{{|||{{{{{z{zz{|z{{||}|||{|{{|{|}}||}}{{{{{z|{}|||}||}||z{{|z{{{}}{||}{|{||{{||{|{{|}z||{z|{{zz|||||||{{{{zz|z||{{{||{{{{zzz{{z{{z{|{{zzz{zz{z{{|{{{{|zzz{{z|z{z|{{|{{{z{{{zz{z{{{|{}{{{|{{{z{{{z}{|{|z{{{{z{z{{z{{z||z{{z{{z{{{|||{||{{{{{z{z{{|{{{{|{{z{{z{{{{||{{}|{z{{{zz{|{||{|{{{{|z{yz{{|||{{|}z||{|z|z{|||||{{{z|{{|{{{|{{||||{{z{{z{{{|}{|{{|{{{y{|{{{{|}}|{{{}z{{{{{|||{}{{}{{{|{{{z{|{|||}|||{|{{{{|||{{|}||{{||{||{||||||}|{{{||{{{}||||||{||{{{{|}}{}|}|||y{|z||{|{}|}||}|{||{{z|}|{||{|||{{{z{{{||{|{{|}|{z{{{|{||||{}||{z{z{zzz{{||z}}}|}}{|||}{||||}|}|{||{{|{|{|||}}||{{{{{|{|{|{{|}||z{{{{{z{||{||{|{{|yzz{z{{|z||||z|{z|z}z{{{{{{}|{{{z|{{z{|||{|{|{{{{{|z{{{{|{||||{{{|z{z{{y{{{}|{{|{zzzy{{{{|{||z{{{{{z{{|{z|||{zz||z{z{|{{z{{{}{{zz{z{zz{||{|||{{{{|{{z{||{{|||{zz{|{z{{|||||{{|{{|{{{z{{{{|{}{zz{{{{z{|||{||||||||{{{{{{{{||{{{|{{{{|{{|{|{{}|{{{{{{z{||{{{||||{{{{{{|||||{||||{|{|{{||{|||{||||{|{{{|{{{|||}|{{{{{|{{}}||}||{{{{{|{|||||||}|||{{{||{{{}{}|||}|{||z|{{}||}{}||{||{{{|{}{||||}|||{|{||{|{{}{|}~|{{||{{{|}{{||}{{{{{{{|z||||{||{|zzz|{z{|}{{{||}||}|z|{||}||}||}}|{|z|{||||{||||{|{{{{{{|}||}~|||z|{|{|{|{|{|{{|{|{zz|z{{|{}|}}|{||{{{yz{|z{{{||{{{zzzzz{|}{{|||z{|{{{{{z{{|{|z}z|{{{z{{{{{{{|||{zz{{{{{{{|{|{|{{zz{z{z{{{|||{|{{|z{{z{{{{||||{{|zz{zzz{{{{||{||{{{z{z|zz{{{|{}|{z{z{{{{{||{|||||{{{{{|||{|{{{|}{z{{{{}|||{{||||{{{z{{{{{{||||||}{{{{{{{{||{|{}||{{{z{|{|{|||{{|{||{{{||{{{||}|||{|{|{{||||}|||}|||z{{{||{{{|||||{{{|z|||}|{|{|||{||{|{||}||}|}}}{{{|{{||{}}}|}}}{|}z||{|{}|||}}{{|||{{|{}|{}|}|}|{{||{|}||||}||{{{|{{{|{}|{{{}{{{|}{z{z|||{|{||{||{{{{z{{{{{~}}{|}|||||}}|}||}}||||{|||||{|}}|||||{{{{{{|||}||||{|||{{{||||{{z|{|{z{zz{{{{{{{|{{{|{|{|{{|{{{|{||{{{{{z{|{{{{{{z{|z{{|{{{{|z{|{{|{z{{zz{{{{{{{|{{zz{{zy{{|{||{||{{|{{z{zz|{||||{z|{{{{{{{|{{{z{{{|z{{z{{{{z|{{{{{{||{zz{{{{{z|||{{{{{{z{{||{||{|{||{{{{{{{{{||{|{||{{{{{||z||||{{{z{{z|{{}}||||{{||{z{{z{{|{{{|{|{{{{{{{|{|{{|}|{z{{|{|||}}||}|||||{|{|{{||||{}|z|{||{|{}}|{||~||z{{z{{{||}|}||}{|{{{{||||{{|}|}|{{{||{|{}}}|}}|||}}{{{{|||}|||||{{|}||}}{|}|||}|{{||{|{|{||||||||{{z{||||}|||~{{{{{zz|{{||||{|||{{z{zzz{{||||||{}}{||{{{|}||}|}|{||{||||||||||}{|{zz{{||||||}}|{|{zzz||{{||||}||||{{zz{|{||{|{{{{{|z{zz{{|{{|}{|{z{z{z{||{z{{}{z{{zz{zz{{{{{{{{{{{{z{{{{{|{{{|{{z{{{{zzz||{|{|{z{{zzzz{{{||{{{|{zzz{zzzz{|{{||||{z{{z|zz|{{|{z||y{{{{z{||{{||||{{{{{|{|{{|{z||{{|z{{z{{{||}{||{z{{z{{z|{{{{||||{z{{|{{z||{{||{}{{{zzz{{{||{|{||z{{{z{z{{|{|{||{|||{{|y{{{|{{|}}{z{||{{{||||{|||{{{{|{{z|}||{{|||{|{{{{{||||}||}|{{{{{|{|{|}|||||{{{||{{|}|}|}|{}{|z{|{|{{|}|}}||{{||{{{|||{||}|||{|||{{|||}{|}|{{{|{{{{{{|||}|{|{z{zz{{{|||{{||{z{zz{{{{{{|z||}||}||{{{{}||{}}|{{{|{{{z|{|{}||}{}|||{{{|||{{|}{{{{|{{{{{|{|{|||}{|yzz{z{{||||||{{zz{z{{{{|z{|||{{{{{{zz{|}z{z{{{z{z{{{{{{}{{||{zzzyyzzzz{{{{{||{z{{y{z{{{{z{{{|{z{zz{{{|z{{{{z{{{{|z||z{{z{{|||{{yz{z{z{|{|{||{{{{zz{y{{|||{{{|{|{z{{{{{{|||{{{{zzzzzz{{{{||{||{z{{{z{{{{|||||{{{z|{z{zz|z|z||{{z{z{z|{{{|{{z|{{z{{|{{z||{{|{||{{|{{{{||{{|}{|{{z{{{{|{{|||||{|{{||{{{{|{|||{|}}{zz{{|{|}{{||||zz|||||{|||{{|||{|{{|{||{{||}||||{{|{{z{{}{||{|{||{{|{{{{|{|||}||{|{{|{z{{|{{}||{{{{||{{{||||||{|{{{{{{{|||{{{{|{{{zzz|{{z|z{||}}{}||}{{|||}}}}||{}|{{|{}}}|||}|{|{{||{{{|{{|}||}||{|{{{{|}{{||||{||{z{{|{||z}|}{{z{|z|z{|{||||z{|{{{{{{{||{{|{|{{{{{{{z{|||{{{||{z{z{{z|{{{{}{{|zz{{z{zzz||{||{{|{{z{zz|||{{||}|z{z{zz{{{{|{{{|{|{z{{y{{{z{||||{{{|{||{{{{{{|}{{|{{{{|{|{||{|||{||{|{{{|||{||||z|{z{zz{{|{||{{|{{|z{{|{{|{|||{|||{{{{{z|{|{{|}|{{{{|{{{{|{||||||{{z|{{{||{||||||||{{{{{||{||||{z|||{{{{|{{||}|{|{||{{{{{|~z||}{{{|||}|||~|}|}|}|{|{||||{}}||||||z{||{{{}|||{}~}|{|{{z{{|{|}{}}|||||{||{|||||||}|z|{{z|{{||{{|}{{zz{|{|z|{||||{|{{|z{z{{{z{{{~}}|||{|{|{|}}|}}|~|{|z|{{|{}}}|||}{z{{||||{|{{|||}|{{|{{{|{}||{||{|z{y|{{{|{|||{{|{{|{{{{{{|z{||{{{{{zzzz{{zz{z||{{{{zzzz{{{{|{{{{z{zyz{z{z{|{z{{|{{{zzzz{{{zz|{{|{{{z|{{y{{{{||{{z{{{{{{zz{z{{z|{{{{{{{z{{{z|z|||{z{{{{{{{z{|{||||{z{{zz{{{|{{||}{{{{|{{{{|||{|{||{{zz{{{||{{{{||z{{|zz|z{|{{||{{{z|{{{{|{{|{{{}|z{{{|{||{{|{{|||{{{z{{|{|{|||||}|zz|{|{{|}|}|}}||{{{{|{z{|}|{{|||{{{{{|{||{{||~|{||{z{|||||||||||||{{|z{{}|||||}{||z{{|{}|||}|||{{{{|{{|{||z}||}{|z{{|z{|{{||||}|||{{z{z{|z|||||{|{{{{{z{|}{{||{{z{{zz{z{|{z{|~|}{}}|||{|}|}{{~}|||{|{{|~||{||}}~{|{|z{||{||||{}||z{z{z{{|||{|||{|{{z{|y{z{}|{||z{||{|{{z|||{{{||z{{{{z{z{{{{||{|{y{{{z{{z{|{z{{|{z{|zzzz||{{{|{{{z{zz{z|{{{|z{|{{{{z{{z{||||z||{z|{zz{|{{|{{|{{{z{z{z{{z|{{{||}{{{z{{{z{{{{{{|{{zzz{y{{|{}{{|||{z{|z{|z{|{|{|{||z|{zz{{|||{{{|||z{z{{{{|||{||{{{z{{{{{{||||}{||{z{{{z{{|||{|{||{{{z{|{|{|}|||||{{{z{{{{{{{{|||||{{|{{{{{||{|||||{{}{{{|}|||{}}||z{{{|}|{||||}}||{|{|{|||}}z|||}|{{|{|}{|}|{|||}|{{||{{{||||}||||{{{{|{{|{{|~|{|{{{z{{{{|{|{||}||{{{{{{z|{{{{{|{|{{{{z{{z|{{{}}}||||||||}|}|||}}|{}{{z}{|{|{||}}}{||}{{{{||{||||||{z{{{{|{|}{{||{{{zz{{{{{|{||||{{{zz{{z{|z{|{||{{zz{zz{|{{|{{|||{{{{{z{{z{|{{{{z{{{{{{z{{{{{{{{{zyzz{z|{|{|||||{{{zzzz{{{{}{}{|{{{{{z{z{{{{z{{|{{{{{{z{z|{|{{||{z{{z|zz{|{{z{{||{zz{y{{{{{|||{|{{{{{z{{||{{{{|{z{{zz{z{z|{|{z}{{z{{|{{{||||{{{|zz|z{{zz{{|||{|||{{||z|z{{|{{|{{z{{{z{{z}{{|}|}|{{{{{{z{{||{{}|}{|{|{zz||||}{|}||{||{{{{||}|{|{|{{||{||||}||||||{{|}|{z}{}|}|||}|{{||{{{{|||{|{|{|{{{{|{{|||}}z||{||{|{|||||}}|}{z{z{z{{|}||||}||z|{{{{z||z||{|{||{{{zzz{{|{|}}}}||||}|||~}}}|}}}|{{|{|{|{{||||||{{{{}|{{|||||}{|{|{|{{{{{{|{|||||{{zz{z{{{|||{}{{{z{{{z|||{{||{{z{{{zzz{|}|||{{{z{zzz{zz|z{{|z{{{{z{yzz{{||{{||{{{zz{{z{{|{{|{|{zz{z{{{{{|{|{{{{zz{{z|z{{{{{{{|{{{{{zz{{{{{{|||{|{z|{{{|{z{|z|{|{{z{{{z||{{|||||{{z{z|{|{{{{{||{z|{{{|{{||||{|}|{{{zz|{{|{|||{}{{zzz||{{|{{{{|{{{{{{|{{{|||{|||{|{|z{{|||{|||||{{{{{{{{||{|{|||{{{{{{z{|||{|||||{{{||{{|||||{||{|||{|||{{||||}||{{|{||{{}}|{{}{}|{{{||||}|{}|||{z|{{{{{|||||}}||{|{{{||}z|||||||{{z{{{{||{{{|||{{|{|{{{|||{{|||{{{yz{{{|||{|~}~}}{|||||}~|}|}~}||||{{{||{}||}|}|{{y{{{|{||}}}||{{|{|{z|{|||{{|}{{z{{zzz{{|}||{||{{|{{z{{{{z}{|{{z{z{|z{|{{{{|{{|{{{{||{{{|{|||{{z|zz{z{z{{{{{{|{z{z{{zz{{{z|{|{z{{z{{zz{||{||{{{zz{{{zz{{{{{||{|{{{{zzz||{{{||{{z{{z{{{|{|{||||{{z{{{{{{|{{|{||{{|{|{|||{|{{||{{{zz{{{{{|{{|||||{{z{{z|{||z{||{z{|{{{{|{{{{|{{|{z{{{z{{{|||z||||{{|||{{}|}}}|||{{{{{||{||{}{||{{{|{|zz{||||||||{{zz{|{||}{{||}{{{|{{|{{{||||}||||z|{||{}|}}}|{}||{|{||{}|||||}|{z{|{{|||||||{||{}z||z{{{}{}||{|{{{{{{{z{|||{}||||{{{{|{|{|{|{|{|{{{z{z{{{{||~|~|}}||}}|}}~~}}}}|||~|||}}}|||}}}|{|{{|{{||||{|||||||{{{||||{|{|{|{{{{{{{{{}{{|||z||{z||z{{{{{|{{{z{{{{{{z||{||{|{{z{{{{z{z|{|{{{{{zz{{{{{{{{|{|{{{|{{{{{{{||{{|||{z{z{{|{|{{{|||{{z{|z{zzz|{{|||z{{{zzz{z|{|z{||zz|z{z{{{{||{|}||{|z{{||||{{|{|}|{z{z{{z{{||{||{{{|z|zz{{|||}||{{{{{{{{{{}||||{}{{{{{{{{||{{||||{||{{|{{{{{{{|{|{{z{{z{{{|{|{|}|{{||{||{{|||}{|{{|{{{{{z|}|}|}}}|{|{{{{{||}|{}||{}{{{||{||{}|}}|||{|{||||}|}||}||{||||||{|{}||}||z{{{{z|{}||}||}|z{z|{{|||||||}|{||{{{{z{}||||}||||||{{{||{||{}z{{{{{z|{||{{}}~~}~|}{|||}}|}|{}}||{{||}|||}}||}}{{|z{|{|{||{|}}}|{|{{{{{||{|||||{|{{z{{||||{}||}|{{{{{{{{|z|{|||{{|zz{z{|{|{{{|{{z{{{{z{{{{||{{|{z{z{{{{{{{{{{|{{z{{{{z{{||{{||{{zz{zz{z{|{{{{|{{{{{zz{{z|{z|||{{|{z{{|z{{{{{{{||{zzz{{z{{||{|}|{|{|{{|{|{|||{{||z{{{{{z|{{|{|||{{|{|z{||||{|{}|{{|{{{{{{}|}|||{{z|z|{{{{{||||||{{{{{|{{{||{{||{|{|{{z{{||}||}|}{|}|{{{||{|}|}}|{{zz{{z{||{|{|}{||{|{{|{}}||||||{z{{{||||||{}||}}|{|}||{|}|}|||||{||{{{|}||}|}}}|{}||{|{|}|}||}}|}|{{{{||||||}||{{{{|{{{{{|{{|}|{{|||z}{{|{|{||{{|{z{{z|z{|{|}~|}}}}|}{|~}|||~}|||}{}|||||}|||~|{|{{{{||||||}}||{{{{{{{|{|}{{||{z{zz{{{{|{|}|{|{z|{{|z{{|{{{||{{{{{{{z{|||{{|{|{{{{z{{z|{|{{|{|z{yz|{{{{{{|{{{{{{{|{{{z{{|||||{{z{{z{{z{|{{{||{{{zz{{{z{{{||{{}{{|z{z|{{{{z{{{{|{{{{{{z{|{{{{|}{z{z{{{z||{||||{{{|{zz|{{|{{||{||{{{{{z|{||{z||||{{{|{{z{{{|||||z{{{|{{{|||{{}|{|z|{{|{{}}|{|||{}{{{{z{z{}||||||z{z||{{|}||{||{||{z{{{|{||{{}{|{|z{z{z|{{}|{|||{{||{{|||{|{}}}}|||{{|{{{{~|{}||}||||z{|||}{}||||{{||{{{|{|z{||}||||||{{{||}{|}|}|{{||{|{{|||||||{{{{z{|z|{|||{|{{{{{{z{{{}|{{}}}}|}}}}|||}}||}}|~|}||||}|||}}||||{|{{{{{}|}|{||}{{|z{{{{{|||{}{}|{|{{{z{|{||{{||{{|z|z|z{||{{||||z|{z{z{{|{{{|{|{z{{z{{{{{{{{|{{{|{z{{|{{z{zz{|z{z{|{yzz{{|{{{{{{{{zz{zz{{{{|{{{|{||{{zz{|{z{{{{{zz{{{{{{{{|{|{}{{{z{{{{z|{{|||{{{|{{zz{z|||{{}{|z{{zz{|{|{{{{|||{{{{{{z|{||||}||{{{|{z{|{{}|||{|z{{{{{z||||{||{|{{{z{{{{|{{{|{{{{{|{{{|{||{|}}|{{{|{{|{{|||{|}|{|||||{{||||}||||{|||{|{{|||}{||z|{|{}|{||||}}{|||{|{|{|{}||||||{{|{{z{{{||}|||||{z{z||{{|}{|||{|{{||{{|{||{}|}||{{{|z|{{{{|{|}}||{{|{{{{|||{|||{{|z{{zzz{|{{~}~~~}}|||}~~}~}}~}||{||||}{|}}||}}|}{{{{||}{{{|||}|{{{{{||{|{{||{|{{{{z|z|{|{z||{{{|{{{{z{{||z||||z{z{|z{|{|{|z|||zz{{z|{||{|{|||{{{{zz{{|{{{z{{{{{{z{{{|{{{z||||{{{{z{zz{{|{z{|{{z{zzz{z{{z{{|{|{zz{zz{z{|{|{|{{{{{z{{{y{{zzz|{{{z{z{z{{|{|{{|{|{z|{{{{{|{{|{{||zz{||z{{{{|{{{{{{{|{{{{z|z}|{|{{{{{{{{{{|{{|{||{{{{{|{{|||||{|||{|{{{{{|z}}|}}}|{{{{|{|{|{||{}|||{{||{{{|}|}|||{|{|z{z{{||||{||}{|{|{|{{z||||~|||{|{{||{{|||||||||{{{{{|||}|}{|||{{{{{{|{{||{{||{|{||||{||||||{{{|{z|{{{{{{|{|{{{{{{zz|z||{||{|{{{{zyzz{|}|{|~~~}}~~}|~}|}~|}}~~|}||}{{|}||||}|}}||||{|{||||||}|||{{{|{{||||{|}|{{{{{z{{|{||||||{{z|{|{z{{{{|{{{{{{zz{{{{|{{{|}{{z{{{z{{|{|||{z{z{|{zz{z{{{{{||{{zzzz{zz|||{|{{{{{{{z{z{{|z|{||{{z{z{{{zz|{{|{{|{|{z{{z{{{{||||{{z{||z{z|{{{||||{{zz{{{{{|{{|{{||{|{{z{z{{||{|||{{{{yzzz||{|||||}{{{z{zzz|||{|{{{{{{{{{{{{|||||{z{{z{z{|||{{{|}|{{|{|{{{{||||{|}|{|{{{{{||{|{|}}{|{{{{{{|||||||{{z|||y|{|}|||{|||{{{||{|{|{{||||z|{|{||{||}{{}|}}|{{{{{|}|{||}||{{{||{{|||{||{||||{||{{{||||}}|}{{{{z{{{||{|{||}|{{{{{|{{||||{|{||z{{{{||{|{{~~~~}~}}}~}~~}||~~~{||{||{||||||~||{||{{{|z|||{{|}|{{|{{{{{z||{{{}||{{z{{{z|{|{|||}{{|z||z{{|{{{||||{zy{|{{|{||{{{|zz{z{{{zz{{z{|{{{{{zzz{zz{|{{{||{z{{{zzz||{{{{||{{{{{|zzz|{|{{{{|zy{{{{{{{{{z{{|{{z{{{{|{z{|{|{|{zz{{{z{|||{{{|{|z{{{z{z{{{|{|}{{{{{{{z|{{{|{}}|zz{{z{z{|{{{||}|z{|{|{{{{|{|||{|{{{{{{|z{{||{||{{{{{{{z{|||{{|||{|{{zz{|||||||||{{{{|||{{|||||}}}z||{zzz||||}|||{{{|{{{{||||}}}}{|||{}{{{|{||}|||{{{|||{|}}||||}|{|{|z{||{}|}|}|{{{{{z{{||||{||}||{|{{{|||{}||{}||{{{{|{|{|}||}|{|{{{z|{||{{{||{{|{zz{|z|||||~~}}}}~||}~}}~}~||{||{||||}|||}|}|{z{||{||{||}{{{{{z|{{{{|||{{||{{{{|{{{|{||{|{|{{{{zz{z{|{{{{{|{{{|zzz{{|{z{{{{{z|zzzz{zzz{z{{{{zz{zz{zz|{z|||z{{zz{zyzzz{z{{|{{z{{zz{y{{{|||{{{{zzzzzz{zzz{{{{z{zzz{{z|{{{{{||{yzz{{z{{z|{z|{{{{{{{z{z{|z{{{||{{{{zy|{{}|{{{||{z{zz{||{||{||||{{{{{z{{{||{{{}}{{{{{|z{{}{{{|}{{{{{z{z{{||{{{{{{{{{z{{{{{{{}|{{{{{||{{|{{{{|}}|{z{|||{{|||{|{|{|zz{{{|{||{|{||{|{{{{|{{{{|{||}|||{{{{{||}z|||{|}{{{|z{|||{{}|{|}{z{{{|{{|{{{}|}{{{{{|z{{}|{||}|{|{{{|{|{|{|}{|{{{z{|z|z{|||{{|{{{|{{zz{|z|{{~~~~~}}|~}{~}}}}~}~}{|||||{|||}||~|{{{||{{||{|}|}|||{|{{z|{{||{{{{{{{|{{{z||||{|||{z{{{{{z{{{{||{{{{{{{zzz||||{{||{z{{{y{z{|z{{z|{zz{zzzz{|{{{{{|||{z|z{zz{z|z|{{|{z{zz{{{{{||{{||{{z{|{{z{z{{{{{||{zz{{zzz|{{{|{{|{|{{|yz|z||{|||{zzz{z{z{||{||}|{{{z{{{{{{{{{{}|||{{z{{{{|{|||{}{{{z{{{{|||{{|||{{{{{{z{{|||{{}||{{{{{z{{||{{{|{{z|{{z{{{{|||}|{{{zz{|{z||{{{||||{{}{{zz||||{||||{{{{{{||}|{}|{|zz|z{{{||{|{|||||{{{|||{{||}||}||{{{|||{|||||||}||{{||{{{|{|||}|{z{{{{z|||||}{}}|{{{{{{{|{{{{{||{{{|{z{z{|||{{||{|{{{{{y{||{{~~~}}~}}}||}~}}~|}}|}}}||}|}}}}~}{||{{{|||}|}||~|{{|z{{{{|{}|{|{|{||{{{{{|{||{|{|zzz{z{{|{|{{||{|{{{{{zz{{{}{{{{|z{{{{{z{zzz|{{{{{{zz{zzzy{||||{{||zzzzz{{{|{|{{|y{{z|{zzz{{{|{|{|z{{zz{z{|{z||||{{{z{{|zz{{{z{||{{{z{{{{||{{|{|||{|{z{|{{{||{|||{{|z{z{{{{{|||z|{{{{z|{z{{}{{{}||{zzzzz{{|{||||{z{{{z{{z||||{||{|{{{{z{z|||||||||{z}zz{{{{|}||{|{{{{|{|{{|||||{|||{{|{|{|||{{|{{|{{|{||{}||{||}{{z{{|{{{|||||}|}||{|{{|||}||||||{{||{{|{|{||}||{|{{|{{{{||{}||}}{|z{|{||}{|||}|}{{{z{|zz|}||||||||{{{z|z{||||}|{{||{z{|{{{{|{~~~~}}~~~}}}}}}~~|||}}|}||||}}}~}{|{{{{||}|}}|}|||||{{|{|||||{|||{{|{{{{||}|{|||{{{{{{{z{|{{z|{|{{|{z{z{|{{{{||{{|{z{{z{{z{{{|{|{{{zz{{y|{{{{{{||{{{{{z{{{|{{{|{{{|zzzzz{|{|z|{||{{{|{{z{{{{{|{|z{{{zzz{{{z{{z{||z{{{{{z|||}||||{{{z{z{z{|||{|||{{zz{{{z||{||{|}{{|z{zz{|{||{|}|{{{z|{{|{{{|}|{{{||{{{{{{|||{||{{{{|{{z||||{{{||||{{{{||{||||}||{|{{{{||||{||}||{{||{{{{{|{|}||{}{{{}||||}}|{}||{|{{{|||||}||}}||{||{{|||}~||||}|{{||{{|}}||||}||{||||{|{||{|{||}{||||{{|}|}{|||{{z{{|{||||{||||||{|{{|z||{||||}|{{z|z{{|{|||~~~~}}~}}~}~~|~~~}|}}||}}}|}~}|}||{|{|||||||}|}}}{||{z{z|{||||}||||{{{{z||||{||}{z{{|z|{{{|{|||{||{{z{z{}|||{|||{{{z{{{{{z{{{{||z{{{{z|y|{|z|{|{{||z{{{{|{{{|||{{{{{z|{{{{{|{|||y{{{z{{z{|{{|||{|{|z{{{{z|{{{|{{{z{{{{{{|{z||||{|z|{|{{||{|{{{||{{{{z{z{|{{|{{|~{{{{{{z{{|||||}||{|{{z{z||{|||||||{z{z{||{|{{{|{{{z{{|zz{|||||{|||{||{{{||||||||||{|{{|{{|{}}|}}|{|||z{{{|||||||}{|{|{{{|||}||}|{{|{{||||}|{}|||||{z}|||{}{|||}||||||{{{|}|{||||{{{}|||{||}{}|}||{{{|{|{|||||}|||||{{|{{{||||{}}||{{z{{|||||{}||{{|{zz|z{{||{~~~}}}|~}~~~}}~}}~}}|||}}|}||}}}|||z{|{{{{||}}}|}||{{|{{||}{{}{{|{|z{{z{|{|{{{{}z{|{{{{z{|||{{||{{|{{{{{{|{{{{{|z{{{z{zz{{{|{{||{{{zzzz{{{{{{{||z|z{{zy|{{{z{{|{{{z{z{{{{|||{|||{{zz|{{z{{|{|{||{{{{{z{{z{{|||{{z{z{{zz|{|{{{{{{|z{z{{{z{|{z{||{{{{{|{{||{|||{|{{{{|{z{||||||||||{{{{{{z{||||||{|{z{|{{{|||{||||{{{{{{{{||{|{}|{}{|{{{{{|||}||||{||{{{|{}|{|||||{{|{{zz{||}||}|{|{|{{{{{|||||||{{||}||{|}|~}}||}}{{|{{|{|}|||||}|{{{{z|{{||||}|}}{{z{{{|{{{|||}}|{|||{{{||||}|||}{{z|||{{|{|||||||{|{z{{{}{|{||{|||{|{|{|||}{~}~~~~}}~}}~|~}}|||}|}|||}}~|{}{||{{{{|||}|||}|{{{{{|{z{{{|{{||{{{{{z|z||{{{}||{{{zz{{z{|{{{||z{{{{y{zz{{{{{|||zz{{{{{{{z||z{||z{{{{{z{z{{{{||{|zz{z{{z|{|{{z{||{z{z{{z{||{{{||{{zz{{{z{{{z{{{{{{{{z{z{{|{{{{|||z{{{zzz{|{|{{|{{zz{{z{{{{|{||{{||{{{{{{||{|||||{z{{{{{z|{|||{|{|z|{{{{z{{{|||{||{{{{zz{|{||{|}{{|{{z{z{|||{{{{||{{|{zz|||||{|{|{{|{|{|{{|{|||||{z|{|{z{{|||||{|{{{{|{{|}||||{||{{||{||{|}|||||||{{|{||{{}}}|||~|{{}{{|{|}||||}{}||z||{{||{||||}|{{||z||}}|||||}||{z{||{|{z{|||}|{{{{{{{|{||{|}}{|{{{z{{||{{|}~~~}~~~~~}}}}|||{}||}|~|}}|{z{|{{}|||||||{{||{{|{{|{|{||||||{zz{z|||||{||{{{{zz|{{}{||{|{{{{z{{z{|{|{{{}|{z{{|zzz{{z{|||{y{z{{{{{{{||{||{zz{{zz{{{{{||{||z{z{z{zzy|{z|||{{{|{{{{zz{{z{{|{{zz{{z{y{||z{}{{{{{{{{z{{{|{{||{{{{z|z{z{||{{|{|{{|z{{{{{|{{||||{{{{y{{{|||{|||{zz|z{{|{{}||}|{|{{{{{{{{{{|{{z}|{z{|{{{|||}{{||||{|{{{{|{{}|||}|{|z||{{z||||||||{{{}{{|z||||}{}||{zz|{z{}||||{||{{||{||||||||}}|||{|||{{}}|}|||||{}|{|{{{|||}|{||{|{z{z|{||||||~|{{{|{{|||{|||||{{{{{|{{{{||{|||{z{{{|{{|||||||{z{{{{yz{||}||~~}~}|}~}~}}}|||||~||}|}}|~||{{{{{{}{|}||}|{{|{{{z|{|{|{{{|{{{{z{|{{{{||{||{{{z{{{z{{{{|{||z{|z{|zz{||z{|{|z{{{{z{z{{{|{{{{{{{{y{{{{z{{{|{{{z{z{{z{{{||{||{{{z{z{z{||{{|{|{{{{{{{zz{{zz{|{{{{zy{{zz{|z{{||}zzz{{{{z|{|{{||{{{{{{z|z{{}{{|{||{{{zz{{{|||z|{{z{z{zzz{{|{{{{||{{{{{{z{{{|{{{{{|{{|{{{{|z{|{|||{z{{{z{{|{|{{}}{{{z{zz{{{z|{}z|||{{z||{{{|{||||||{{{{|{z||{||{{||z|{z{|{|}||{}|}{z{|{{{|{||}|{|}{|z{{|z|{}|}{|}{|{|}{{{||||||||||{{|{{|{{{||}|}||{|{{|{{}{|||{|{{{|{{{|z|||}{||{||{|{z{{{}{|{|||{{|{{{{{|{{||~~~~}~~~~}~~~}}|{}|}|}{}|}~|}}||{{{{{||{|{{||{{||{{{{|||||{|}{{{zz{{{{{{{{{{|z{{zz{{{z{z{{{{|{z{{zzzz{{{{z{{{|{{zz{zzz{{{||{z{zz{{zzzz|{{{{{|{{{{zzz{{{{||||{{z{zz{z{{{{{|{|{{{{zzzzzz{|z{|{}{{{zzz{{{|{{{}z|{{z{{{{z{{{{{|{|z{z|{z|{{|{{|{||z{{yzz{{{{|{{{||{{{zzz{zz{|{|{|{{{{{{z{z{}|{|{{{{{{|z{{{{z|z|||{|{{{|{z{||||z||{{|{|z{|{||{|||||{{|{{|{||||{{|||{z{|{zz{{{|{||{{|z{{{{|{|}|}||||{{{{{{}||||||{|||{{{{||{|}}}|||}||{{|{{||||||{||{||||{{||}{||||||{{{|{{|||||{}{|{{{z{z{{z|{||{{|z{|{{{{{{|{{||}|z{|z{z{z{|{{{~~~}~~~}}}~}}}{|||}}{}~|}{{||z{{{}|{||||||{|{z{z||||||{|||{{{|{{y|{{|||z}|{{{zzzz{||y{||{{{{{{zzz{{{zz|||z{zz{zzz|{{z||{|z{zz{{{z{{{{|||{{zzzz{zz{{{{||{|{{z{z{z{{|||{{{{{{zz{{{z{{z{{z{{{{zz{{{z{|{zz|{|z{{z{{zz{z{{{|||{z{{|{||{||{{z||{{{{{zz{|{{{{|{{zz{{z{z{{{{{|}|{{|{{|z{{||||||{|{{{z{{{{{{{|{}}{|z{{{|z|{{z{}|}{{|{{{{{|{{||||{{{{{{{{|{|||||||||z{{{|{z{|{{|||{{{{{{{z|{||||{||{{|{{{||{|||}||||{{{||z||}}|}|||}{|{|{|{||||}|{|{{||{{{{|||{|{{||{z{{{||}||{|||{{{|{{{{{||||||||{z|{{{{z{{|{{|||{{|{zz{z{|{{|~~~}~~}}~~|}|}}~}{}|}~||}}{{{{{{|}}{{{|||||{|{{zzz{|||{{|||||z{|{|}{||{||{zz|{{z{z|}{|{{|{|zz{{z{{{{|{{{{||z{zz{{{{{{|{{{{zzz{z{zz|||z{{{|{{{zz{y|{{|{||{|{||{zzzy{||}|||{{{{{{{{z{|{z{||{{{{{{z{z{{z{|||{{{{{{{{{||{|{{{{{{{{{{z{{{{|z{{{{z{{{z|z{{{{|{||z{|{{z{z|{|z|||{|{|{{zz{|{||||{{{z{|{|{z{|{|{||{{{{{{{{{{{{{||{|{{{{{{{{}|||{|||{{{{|{{{{{|~{}{||{z|{||{}||{|}|||{||{|{|}~|||}{||{{{||}|{|{|{}{}||{}{|||{|}|}||{{{{{|{{{}|}||||||{{||{{z{||||||}|||{{{|{|}|||||}||{y{{|{|}||{||||{{{z{z{{{{{{|}{{|{{z|zz|{|{}~~~~~~}~~}|}}||}}|}~~~}}|{}{|{{{|}||}}}}|{|{{{|{|{|||||||{{|{{|z||}|||{|{{z|zz{{{{|||||{{{{{{{zzzz|{{|{|{z{{{{yz|{||z|{|{{{{zz{{{{{{{{{zz{{z{{z{{z{|{|{||z{zz{z{z{{{{{{{|{{z{z{{{z{z||||{{{{{{z{{|{{{||{{{{z||{{|{||||{|{|z{|||{{||{{|{|{{{{{{{{{z|}{|||zz{{z|{{|||||||{z{|{{{{y{{|}||{||{{|{{{{{{|||{||{{{{{{{|||||{|||{{{|{{zz{||||}|||{|{|{{{{|{}{|{}|{{|{{{{|}||}{}}|{{z|{|{}||{||}||{{|{{{{||||}|}||||{{||||}||{||||{}||{{||||{|||||z{||{{|{|{|||}}|||{|z|{{{}||||{|{{{{{{{||{|{||{||z{||{{{{|||{}{|{|{{{{{|||{{~~~~~~~|}}||{|}|~|}}}}|||||{{|||||||}||{z|{{{{{||||{|{{{{{{{z|{|||{||{{{{{{{|{{|||z||||z{{zz{{|{|zz}{{z|{{{{{{|{{{z|{|{{z{{{{{{{}|||||{{|{y{{{{||{||||zy|z{{{z{||{|||{{{{{{{{{z{{{{||{{{{z{{z{{||{|||{|z{|{|zz{|||{|||{{{{{{|{{{{||}z{{{||{{|z{{{|{|||{{{{{{{||{|||~{{z{|{{{{{z||||~|||{{{{{{{|||{}|||{|{{z{{{|||{|{{{||{{{{|{{|}{||}|{{{{{{{|||||{||||{|{{{{{{}|{}||}{{{{||{z}}||{|}}|||{|||||}||}|{||{{{z{{{{|}|}}||}{||{|{{}|||||||}|{|{{{{|||||||}{||||{{||}|||||||||z{|||}{|||}~{{|{|z|{{||||{|}}|||{|z{{}{||{~}~~}~}~~}}|}|||}}}}}}}}}{|{|||{||||}|}||z{{||z{{|||{{|||||zz{{{||||{{|||{{{{|{|{|||{{|{{z{z{{{z|}||{{{{{zzz{{{{{z{|{{{|{z{{{z{z{{||{||{z{zz{{{{z{{{|{{|{{{{z{{{{{|{{|{|{z{{{z|{|{{{{{{|z{{zz{{{||zzz{{|{{{{{{{{{{||{{}|{{{{z{{z|{{{|{{||{||{z{{|||||||}{{{|z{z||{|{||||{{}{{z|{{||{{}|{|{{{zz{{|||||{|z{{{{z{{{{|{{{{{|{z||{{{{{|{|}{|}{{|{{{{{||{|||}|{{{{{{||{||{|||||{{|{{{{{|||}}}|{||{{||||||}||||||{|{|{{|~||}|}||{|||{{{{|||||||||{|{{||{|{}||}{}|{|||||{|||}||||{{{|z|{|||{||}}|{{{z{||{||||{||{z|{{z{{|{|{{~~~}~|}}}|{{}}|||}}~|{{|{|{{|||||{{||{{{{{{|{{||{{|{{{{z{||{{{{{}||}{z{{z{{{z{{{|{|{|z{{zz{{{{|{z||{{{{z{z{z{|{{{{|{{{zz{zz{z|{z{|{|{{z{z{z{{|z{{|{{{{{{zzzz{{{{{|{|zz{z{zzz{{{{z||{{{|zz{{{z{{{{||{yz{z{|zz||z{{|{|{{{{{{z{z{{{|{{|{|z{{{{{|{{||{||{{|zz{z{z{|{|{{||{{{{{{z|{{|z{{{{{{zzz{z{}||z}{||yy}z{z{{|||||||{{||{{{z|{||||||{|{{z|{{|{|||||||{{|{{zz{|}}|{||{z{||{{z|{|||||}{|{{{|{|||||||}||{{|z|{{|}|{|}}||z|||{||{|{}||{|{z{z{{z{|{}||}|}|{{{|{{|{}{}|||||{{zz{|{{|||{}|||{{{|{zz{{||{||||{zzzz{z{|}{{~}}~~}}}~~||{||}|~|~}}{|{||{{||{|}{||{{|{|{{{{{||{|}}{{{{zz{z{|{{||||zz{{z{zz||{{{{|{||{{z{{{|{|{|{{{{{|y{{{{zz{{{|{|yz{|z{{{{{|z{{z{{zz{z{z{z{{|{{z|z{|{z{{z{{{|{{|{{{z|{{{{z{z{{{|||{{{{{{z{{{{{{{{{{{{{{zz{|{}{|||{|z{{zzz{||{{}|||{{|{z|z|{{||{|||z{|{{{{|||{{{||{z{{|z{z{||{|{{z{|{{{{z{|{||{||{{{z{zz{{{|{|{}|{{{{{|{|{|||||||{{{{|{z{{{{|{{||}{{|z||{z|||||||{|{|{{z{y||{{||||{{|z{z|{{||||}||}{||{z||{~{||}|}|{|{|{|{|||}}||||{{{||{{|}||{|||}{{{{{{{{{||||{|{{{z{{{{z|{|{{||{{{z{{|z||{{{{}|{{|z|z|{{{|{|~~~~~~~~}}}|}|}}}||~||}|||z||{}||{|{||{{{{{z{|{||||{}|z|{{y{{{|{{{{|{|{z{z{z{{z{{{{||{{{{|z{{z{{|{z{|{z{{z{{{z{{{{||{|{{zzzz{zz{{||{|{z{zzz{zzz{z{||{{z{{{{{z{|z}||{{{{zzz{zzzy{{{{||{|{{z|z{zz|{{{{{{{{{zz{{z{{{{{||{{{z{{{{{{{||{{z|{{{z{|zzz{|{{{||{{z|{{zz|{{|{{{|{{|z{z{{{||{||{{{z{{{|z{||{{{{}|{{{|{{{{{{{{{{{{|{{|{{{z{{|{||}|{{{{{{||{||||{{||||{|{{{||{||{||{{z{|z|z|}|{||}|{{{{{|{{{|{||||||{z|z{{{|||||{}|||||{z|{|||||||{|z{|{|||{{|{}{|{{{{{{{{{{||||||||||zz{z{{{|}|||}{{{{{{zz{|{{|{{|{{|z|z|z{{{{|~~~}~~~}}{|||||}|~||||{}|{{{||}|{}||}{{{zz{|{z{{|{{||||{|z|zzz{{{|{|{|{{{y|zzz{{|{{{}|z{{z{{{{z{{{z|{{{{|{z{z{|{{{{|||zz{||z{z{|{{{{{|z{yzzzz{{{|{|{{|{|{{zz{z{{zz|{||{z{|z{{zz|{{|{{|{y{z{zz{{{{{{|{{|{{{|zz|||||{{||z{zz|zz{z||{||}|{z{{{z{{|{||{|{|{z{z{z{z|{{{{{|{zz|{|{{z{||{{|||{{{{{z{z{{|{{|||{{z{|{{{{|{{{|||{{|{{{{{{}||{|{|z|{|{{{{{|{|{|{|{z|||{z{||{||{}||{{{zzzz{||{|||}{{{|{{{{|}{||}|}|{{{{{{||}|{||}||{z|{{{|||}{{{|||{|{|{|{|||||||}{{{{{{{||}{{{||{{|{z{{z{{{{|{|{|{|z{{|{|||||{|}|{{{{{{{z|{{{{~~}~}}}~}}|||~{}}}|||{{{|{|{{{|||{}||{|{z{{|||{|||||{{|zz{z{|{|{{|{|{{|{{{|zz{|z{{{z{{{{zz{zz{{{{|{|{{z{z|z{{{{{{{||{{|{z{z{{||{|{|{{zzzzzz{{|{{{{||{{{{{{zz{{{|||{{{zzzzz{z{{||{{{{{z{{{z{z|{{{|{|||zz{{{z{z|{||{||{zzz{{|{||{{{||}{{|{{z{z{{|{{{{|{{||{zz{{{{{|{{|{{{z{{z{|{|{{}}{{{y{z{{z{{|{||}|{{{|{{{{||||{||{{{{|z|z{{|}|}||||{|{{{{{||||{{|}{{|{{{{z|{{|||}|{{{{{{z{{||{||||{{{{z||z|||}|||}||{|{||||}||||||{{{z|z|{}{}{||}||z{{{{{{{||{|||}{|z{|z{{{||{}||||{|z|{{z|{{||||||z{|{z{|{||||{|||||z|{zzz||{{~~~~~}}|{{}}|||}|}}}|||{|||{|||||||||{{{{{|z{}{{{}||{z|z{{zz|{{||{||{{{zz{zz{|{{{{|{{{z{{{z{{z|{z{||z{z{{z{{zzz{{{{{zz{zz{zz{|{{{{{z|z{zzzz{{{|z|{{{|{z{z{zz{|{{z{z{{zz{zz|{z{{{z|{||{{z{zz{z||{{|{{{{{{{{{y{{{{{||{{z{{|{{z{||{{{z}{zz{{z{{|{{{{}{|{{{{zz{{{{{{{{||{z{{|z|{{|{{{}{z{z{{{{{z|||{||}|{{{z{z{{|{||{{{|{{{{{{z{|{|||{|{{{|{{z{|||{}|}||{{{zz{{{|{|}}{{||{z{|z{{|}{{{|}||{{{{{{{|{|{|||}{{{{{{z|{}{|||}||{||{z||||||{|}{z{{{{z{z{||{|||}|{|{{{{{{{||{||||{{{{z{{|||||||{|{{{{{||||{{||||||{z{{{{{||{{~~~~}}||}|}}}~}~~~}{|||||{||||}}|||{{{{{{||{|{{|{|{|}z{{|zz{||||||{{{{z{{{z{{{{{|{{{z{{{zz|{|{{|||{{zz{{{{|z||{{|{{zz{{z{{zz{z{||{zzyzzzz{|{{|||{z{{{{{{{{{{{{{{}||{zz{{{z{|{z{{|{z{{z{{z{{z{{{|||{z|{zzz{{|{{{||||z{{zz{{|{||{||||{{{{z{{|{|{{|{|{{{{{z{{||{{|||{|{|{{{{{z{|{|}{z|{{{z|z{||||{|~{|{{{{{{{{{}|{}|}|{{z{{{{{{||{|}|{|{{{z||||{||||||{|{{{z{|||||{}||{|{{z{|}||{|}|}||{{|||{{||||}}|}||{|{|||~}||}|}{{{|{|{{}||||}}{{{{{z{||}|{|||}|{|||{{{|{|{}||}|z{{z{{{{||{{|||||{z{||{{{|{{|{|}{|zzzz{{{{|{{~~|}~|}}||}}}}}~~|||{|{|||{|||}||}{||{{{{||{}|{|||||{{{{{|{{{|zz|{|{z{{zzz{{{{|{{{z|{|{z{{||{{|{{|z{||{{{|{{|{{{{{{{z{{{z{{}{{||{{z{{z{{{{|{{{{||{{|z{{{{{{{{{|||{{{z{{{{{|{{{|{|z{{zz{{z{|||{{||{{{z{|{z{{{{||||{{{|{{{{|{|{|||}|z{{{z|{{{{|{{{|{|{|z{z||}||||||{{{zz{z{{{|{||||{z{{{|{{{||{{|{|{|{{|{{{{|||{||{{{|{{{{{|||}||||{|{{{|||{{|}|}}|{z{|{{{{{|}||}|}|z|{||{{|||{||||{|{{||||{|{||}}}}{|{{|{{|}|{|}}}}{|||{||||}|{||||}|||{{|{||||}}}||{||{{|}|||}}|||{{{{{|{||||{||||{{z{z{{{|||{||||z{{{zzz{||||~~}}}|}}{|}}|}|}~}||}{}{{{||||}|||||{{|{{{||{}|{}|{{{{|{{{|{}|{|{|z{{z|{{z||z{{|{z|{z{{{z{|{|{z||{z{{zzz{{||||{}{{|z{z{{{{{|||{|{{{{{{{{{{{|{|{||||{|{{{{{||||{{}|||z{zz{z{|{{{{||{{zz{{{{|||{|}{||{{z{{{{{||{||||{|{{{{{{{{}{||||{{|{|{|z{}|||{{{{{{{{{{|{|{|{|{|{|{{|{{{|{|||||{{{{{z||{|||{{||||z{{|{|{}|||||{}{{z{{{{{||||||}{|{{|{|||||{}{}}|{{{{|{{{{}|||||}|{{{|{{|||}||}|||{}{|{|{{|{|}}|}|{||{|{{{}|}||}}||||{|{|}{|||}}||{{{{{{|||{{{|||}|{{||{{||||||}||||{{||z||||||}|{{{|{z{{{|{|{|||{{{{{{|{|{||{~~~}}}}||~~~}|}}||}{{zz|{{||{{|}}||{{|{{z{{|{|{{}}{{z{|||{{|{}{{|{{{{{{|{{z|{{{|{||{|{z{z{{{|{{{||{z|y{|z{{{{{{|{|{{{z{{{z{{|{{{|z{{{z{{z{{|{z{|||{{{zz{z{|||{z{||{{z{z{{z{|{{{|{|z|{{{{z{z{{||{||{{{{z{{{||{{{||||{{{{|{|{||{|{{{{{zz{{{z{{{|{||{{z{{{{{|z|{|||||{|z{|z|{{|||||||{{|{{|{{|||{{|{||{{{|{{{|||{{{|}|{|{|{z{||{}{||}{|{{{{{{{|{|}||||{{|{{{{|||||}||{{{{|{|{|{}{{|||||{{{{{|{{||||||}||{{{{|{|}}||}||}{{{{{{{|{|}||||z{|{{}|}{{||||}||{{{{{{{|{|||{||{|{||z||||||||||{{|z{{{{|||{|{||{|zz{{{|{{|{~~~~}}}}|{}}}}}|}}}}|{|{|}{|{|}|||{|{||{|{{|{{{||||{{{{{|z{{{{{|{{|{{{z{{z{|z{{|{|{{{{{{{{{{{{zz{|{z{z{z{z{{z{{||{{{{{{zz|z|{{{{{|{{{zzzzy{{{|{{{{||zzzzz{{|{{{{|{{|zz{zz{{zz{{{{{{z{{{zzz{z|{z{{{||{{{{|{z{{{{{|}|z{z{{{{z{|{{|{{||{{z{|{|||||{{{|{{{{{zz{||{|{|}|{{z|{z|y{z|{{{||{{{{{{{{{}{{{|||z{{{|{zz{|{|{{|{{{{{z{z{|{|}{|||z{{{zz{{|{{}|||}|{{|{{{{{||||{|||{{{{{{{||||||}}|{{{z|||||{|}|||}|{|{|{{|}|{|{|||{||{z|{}}|z||z|{{{{{{|{||}}{}||||z{|{{{{|{|}|||{||{{|{{z|{{{}}||{{{{{{z{|{|{{|{{{|{zz{z|{{{|~~}~}|}|||}|||}}}|||||||{{}{}}||}||{||{{{{{{{{{{|||{{{z{{{{{{{||{|y{|z{|{{||{{{{||{{z|{zzz||{{{{{|{{{{zz{||z|{{{|{z{zzzzz{{{|{{{|z|{{{{|zz|{|{||||{|{z{{{{|{{{{||{{{zzzz{z|{|{{|z||{{zz|{z{|{{|{|{{z{{{|{|{{{|{{|||{{z|y{{|{|||{{|{y{{zz{{|{{|{{|}{zz{{{{||z|{|||}{{z{{z|z||||||{|z{{{{{{|{}|{{|||z{{{{{{|||{{{{{{{|{{{||{|{||||||z{{{|{{{{|{||||~|z{||{{{|{||{||}|z{||{|{||||}}}|{{|{||}{|||||}|}{|{{|{|{{}{|~}||}{{|{||{|||{|{|{|||{{{|z{||||{}{|{|||{||||||{|{|{{|{{{{||{||||}|||z{{{zz|{|{{|{z{|{{{{{z{{|{{~~~~}~}}|}|}|{||}}||||z|||{|{|||||}||}{{{{{{{|{{{||{{{{z{|{|{|{z||{{|{zz{{z{|{{z||||z{{z{z{z{|{||{|{{{z{z{{{{{{{{{|zz{zzz{z{|{{{{{|{{{{z{{|{|{z{|{z{{|zy{{z|{zz{{{z{z{z|{{{{{{{{|||{|z{{{z{{{y{{|{|{{{{{{{z||{{|||{z|{y|{{{{{|{||||{|{{{z|z{|{|{{||{{{{z|z{{||{{|||{{|{{{{{z{||{||{||{{{{z{{||{{||{{{{{{{{{|}|{||||{|{{{{{{z{||||{}||{{|z{{||||||||||{|{{{z|{}{{{|{|{z{{{|{|||||||||{{{{|{{{|||||||||{||{|{|}|}}||||||{{|{|}{}}||||}z{{{{{{||{{||||{{{{|{{|{|{|{|{{|{{|{|{{{{||{|}||{{z|{{z{|{{||}{{{z{zz|{|{|{|~}~~~~}}~}}}{}|}}|}~|}{|||{{{{}}}||}}|||{zz{|{|{}{|||{z{{zz{{{{||{|{|z{z|z{{z{{{{||{{{{{zzzzz{||{{{{|z{{{y|{{z|{{{{{{zzz{z|z{{||{{{|{zz{zzzz{{{{z{|{{zz{{z{yz{{{{{|{|{zz{{z{{{{{{z|{{{zzz{{{zz{z{z{{{{z{{{|z|{|||||||{|zy{{z{|{{{|{||{{|{z{{{{z||{{|}z{{{z{z{|{}z|{|{|{{{z{{{z||{|}|{{z|{{{z{|{||{{{||{{|||{{{{{{{{{{{z{{{{{{|{||}||}{z|z{z|{|{||||}||{{{{{|{{|}|||||{{{{{{{{{}{||{|}{{z{z||{{||||}}|{{||{|{{||||{||||{||{{{|{|{||||||{{{{{zz|{||{|||{{{|~{{|{{||{|}||{{zz{{|{|||{|{||{{{{{z{{{{||{|{{{z{{z{|{||{|~~~}}}~|||{||}}~~}}}}||{|{||{||{{||||{{|{|{z{||||{{{|{{zz{zz{{|{{|||{z{z{{{z{{|z{{{{z{|{{{z{{{{z|}{{{|{z{|zzzz{{{|{{{{zz|zz{{|{{|{{{{{{yz{z{z|{z|{|{zzzy{z{zz|{|{{|{{z{{zzzzzz{{|{{{{z{z{{{z{|{{z{|{zzz{z{z{{{{{z{|{{{zz{z{z{{{{{}|{{{{{{{{zz{{|{{||{z{zz{{{{{{{{{{{{{z{{{|z{{{{{{|||z{{{zzz|{||{|||{{z{z{{{{||{z|{||zzz{||zz{{||}||z{|{{z|{||||{|||||z{{{{z|{||{}|{|{|{|z{|}}|{{|||{{{{{|||z}{||{|||{{|z{{{{}||}|}||{|{{{|{|||{{|{}|{|{{{{||{|{||||{{{{|||}{|||{||{{z{{{|z{{||||{}|{{z{{{zz{|{{|||{{z|{{{{z{||{{~}~}}}}|}|}}}}|}|||{{{||z||{|||}{{{{z{|{{{{|{z|||{||{z{{z{{|{|{{||{{{{y{{{{{{{||{z{z{{{z{z{{{{{z||{z{z{{{{{{{z{{|{{z{zzzz{{{{z{{|{{{zz{{z{{z{|z{{z{{zzzz{{|z|{{|{{|{{z{z{{|z{z{||{{yzzz{zy}z|{{||z{z{|{zz{{{|{|{|{{{z{{|z{|||{||{{z{zz{z{{||{{{||zz{{{z{{|}|{||{{{{{{{zz{{{|{{{|||{{{zz{z{|||||{{{{{{||z{}{{{{|||{{{|{z{{|{|||{{{z|{z{{{{{|{{}}||||{{{{{{||||{||||{{{{{{{}||{|}|{{{{z|{|{{||{{|{{|{||z|{{{}|{|{||{{|{|{|||{|}||{||z{{{{z{|}||{{||{|{||{{|}{||||}}{|{{z{{zz|{||{}{|{{{z{{{|}||z|||{z|{{z{zz{|{||~}~}}|||}~}|}}~~}||{{||{||||}}|||||{{{{|||||{}|}||{{{{{z{||{|||||{{{z{{{{|{|{||{|{{{zz{z|{{z{|{z|{{zz{{{{{}{{{||{{{{|{|z{{|z{{{{{|{{{{z{{{|||||||{{{{z|{|{||z{{|{{{|z|zz{|{{{{|{{|{z{{z{z{{{|{|{{{{{{z{{{||{||}{{{{z{{|{{{{{||||{{{{{z|{||{{{{|~{{{{{z{|{||{{|{}{{{{{{{{{|{{{|{|{{|{|{{z|{||{|}||{|{{|{||}||||{|{|{{{{{||{}|}|}|{{{|{{}{||||||}}z{{{zz{{}}||{||{{{{|{{|||||{{}}{{{{{{||{{|||}|}}||{{z{||||{}||}||{|{|{|{|||||}}||{{{{{{{|}}||}}}{{{|||{||{|}|||||||{{|{|||{||}||{{{{{{z|{||||||||{{{{{{z|||{|~~~~~~}}}~}}}}}|}}|~}}{{|{|{{}|}}}|||{{|{{{z|||~{||{{{z{z{{z{|{||{||{||y{|{z{{{|z{{|{z{z{{{{}|||||{|{{{{z{z|{{{{{{{{{{|z{{{zz{||{{{{{z{{{z{{{{{|{||{z{{|{{zz{|{|{{|{{z{{{z{{{{|z{|||{{zz{{|{{{{||{{{{{{{{{z{{|{|{||}{{z{|{{{||}|||{|{{{z{zz{{{{||{{}{{{{{{zz||{|{||||{|{{{{{|{{}||||{|||{{{z{|||||||{{{{{{{{{{||||z{|z{{{{{{{||||}|{|{||{{{{{|{||||}{{{{{|{{|{|{|||||{{{{{|{||||}||||{{|||{{}|||||}|{||{{{{||||||}||}|}|{{|{||||{}{}|{{}{{|{|||||||||||{{{{{|||}|}|||{{z{{{{{|{|||||||{|{{{||||{{||{{z{|{{{{|{}|}~~~~|}}||||}}}}}}}||}|{{{{|||||||||{{{{{{{|||{{||{{zz{z{zz|{|{|{{|{||zz{zzz{|{{{|{{{{zzzzz{{|{{||{zzzzy{zz{{{{||{zz{{{{{{{{|{|z||z{{{{zy{z{z{|{{|{|z{z{{z{|{|{|||{{{zz{z|{y{{{z{|{{{z{{z{zy{{|{|z{{{z{{|zzz|||{{||{{{z{{z{|{|{|{||{z{{zzz{{|{{{|{||{{|zz{{{||{|}|{|z{|zz{{{||{{||{{zz{z{zz{|||{||{{z{{{{z{||}{{|||||zz{z{{||||{|{}{{{z{|z{{{||{||}|{|{{{|{|||||{|{|z{|{||z|||{|}||{{{{{||{{{||||||{{{{{|{||||{}|}}{|{||{z}|}|||||||{z{|z{|{{z{{}||||{|{{{{||{|{||||z{{{{{{{|{||}}||z{|{{{z{{{|{||{{{{{|||z|{||{~}}}~}}}}}|}}}}}}~}||{|{|||}{||||||||}|{zz{||||{|||{{|{{z|z|||{||{||zz{{z{z{{{{{|{{||{z{{z{|{|{{{{{{z{zzz{{z{{|{|{{zz{{{z{{{z||{{|{{{{{z{z{|{|z||{|{z{{{{{y{|{|{|||{z{{{z{z{||{||{|{z{y{{{{{{{z{|{|{z{{{{zz{|z{{{||{z|zz{|{||{|{|{|{z{{{z||{|{||{}|{{{{{{{{{|{|{||||{|{}{{{{|{||||{{|{{z{z{|{|{|||{|{{{z{z{{|{{{||{|{z{|{{{{{}|{|||{z{{{z{{{|{|{{||zz{{{{|{}|{|{|||{{{{|{{||||||}}|}{{{||}|{{|||||||}||||{{{}||||||||||{|{z||}}|||{|z{||{{{|{|}||||}|{{||{{|||{|{||{|{{{|z{{|||{|}|{{||{{{{||||{z||{{{{z{{{{|{{|~}~}~|~~}}|}}}}}|}~}||||{|||}{||}|}{||{|{z|{||||{{|||{|z{{{z|{|{|{{|{{{{z{{z{|}{{||{{z{z{{{{{{{{z|{{{{{z{z{{z{{||{|{{zz{zz{z{{||{{|{{|{{zzz|{|{{{|{|{z|zz{{|{{||{|}|zz{{{z{y{{z|z{||{|{{zz{{z|{{{|{|{{{{{{{z{||{{|}{{z|{{z{{|{||{{{{{z{{zz{{{{{{|{||{{|{{{zz|}||{{||||{{|{{z||{|||{|{{{{z{{z{||{z{||{zz{{z{{|||{||{|}{|z|{|{|||||{|}{|||{{|{|||||{||{{{{z{{z|}{|}||||{{|{{{||}||}}}|{{|z{{{{{|||||}||{||{{{{{}}||||||{|||{|{{||}|||||{{{{|{{{|||||}}{|{{{||{||||||||{}||{|{||{{||||||zz{z|z{{{||||z|{{{z{z{z{{{z|~~}}||~|}||}~|}}|}{{||{{{{}||||{||}{z|||{{{|}}|||{{|{{y{{{{|{|||{|{{zz{|{z{{{{{|||{{{z{zzz{{|{{|{{|{z{zz{{{zz{z|{zzzzzzz|z{|{{z{{{{|{{zzz{{||{{|{{{{zz{{z{{|{{|{||{{{{|{{y{{{|{{{|{zzzzzzzz|{{||||z{{{z{zz{|{{{{{|{{z{{z{|{{{z{||{{{{{zz{{|{{|{|||{{{zzz{{{||{||{||zz{{z{{{||{{|||{z{{{{{{|||||||{{|{|{{{{||{{||{{{{z|{z{{|{}||{{|{|{{z{|{|{{|{|||{z{{{|z||{||||}}|{z{{{{{{|}|||}{{|||{{{{{|{||}|}|{{{{{{|{|{||}||{{|||||{||{||||{{{|{{|{{|{{||||||{{{{z|z{||||||||{{{|{|{||||||}{|{z{{{{z||{|||||{{|zzz{{{|{}|~~}}}}~}}|}|}|}~}||{{{z||{||||{|||{{|{{{{z{|{{|{|}|z{z|{zz{{|{{|{|{zzz{{zzzz|z{|{z|z{{|{zzzz{{{{{{z|{zzzzz|{{{{{{{z{z{z{zzzz{{{||{{{y{{zzzzz{{z{|{z{|zz{z{{z|z{|{{{{z{{{{z{{{|z|{|z{zz{z{yz{{{{{{{zz{{z{{z{{z|{||{{{{z{z{z{{{|{|||{{{z{z{{{z|{{|||{{{zzzzz{{||||{{|{{|{{{{z{{{{||||z{||{zz{{|{{{|}{z|zzz{{|||{||{||z{z{{|{|{|||{}|{{|{{|{{||{|{}{}z{{||zz{||{||||{|{{|{|{{|{||}|{|{||{{|{{{{{|||}{|{||||{{z}||}}|||{|{zz{|||{|{|||{{{z|z{{{{|||{{||{z|{{{{||{|||}{{||z{|{{{|{|{{|{||{{{{{z{|{|{{||{{|{{{{{||{{|~~~}~}}|}||{|~~}}|}}}|{|{{{|{|}|{|||{|||z{zz{{|||{|{|{{{{|zz{{{|{{{|{{{z{zzzz{|{{z||||{{{|yz{{{|{{{|{z{{{z{{z{z||{{|{{{{{zz{z{|{{{|{{z{z{zz{z{{{{|{{{{{{{zz{{{{|z{{|{{{z{zz{zz{{z{{|{{{z{zzz|{{{|{{|{{{{{{{zzz{{|{|{|z{{z{{{{{{|z|{|{|{{{z{{{{{{{z{{}z{|{z|z{{{{{|||{|{{|{{|{{|{|{|{|{zz||z{{|||{||{|||z|z{{z{{{z{|||{{{{{{{|{}||{}||z|zz{{{||||||||{|{z|{z{{}||{|{}{|{{{||{z||{|||||||||{|{{{|||{|{|}|{{{|{z|}}||}||{{||{{{{|}{{{|{||{z{|{{||{|}|}|||{{}{{{|{||||}|||{|z||{{{{{||||{|{{{{||{||z}||||{|{{{{{|{{{{{~~~}||}||||}|{~}||{}||{{|{|{|||||{{|{|{{{{z||||{||{{|z{{{z||{|{|{{{{{zz{zz{{zz{{}z{{{{{{z{|{{{z{{{{z|z{{y{{z{{{||{z{{{{{{{{{|{{{{|{{{y{|z{{{||{{||{z|{z{z{{z{|{{{|{{zz{z{zz{{{{{||{{z{{z{zz{|{{|z{{{{{z{{{{|{{{{}{|{{{{z|{z{|{{{|}{z{{{z{{{{{|z{{|{{{z{{{{z{|||{|{{|z{{z|z{{||}|||{{{{{{{{{|||{||{{{{{|{{z||}{{||{|{z{{{z|{{|||}}}{{{{|{{z||{|{}|||{{|z{{{{}}|||{{|||{{{z{||||}}}|{{{|{||z|{||||{|||{|{{|{{||||}||}{{{{{|{|||}|||||{{{|{{||||{|{}||{{{|{|{|{||{}||{||{z{{{{{{||{||{{{{{z|y{|||{|{||z|zz{{{{|||}~~}}||}|||}~}}}}~{|{|y{{{{}||{{||}{{|{|{{z|||{{|||{{{{z{{{|{|y{z||{{|{z{{z{{{y{|}|{z{z{|{{{{{{z{{{zz{z{{{zz{{{{|{{{{{{{zzy{{{{{{{{{z{zzzzz|z{{{{{||{{{z|z{{||||{|||{yzzz{y{{{{|{|z{{{{z{{y{{{||{{|{|{{zz{|{{{|||||||y{{{{|z|{|{{||{z{z{{{{|||z{|{{{{{{{{{{{{{{z|||{|z{{z{{{|{{z|||{||z|{{{{||{{||{|{z{{|{{{|{|{|}||{{{{|{z||||{}}|{|{z{||{{|||||||{{{zz{{|z{|{|{|||z{{|{z{|||{|||||{{{|||||||||||||{{|{{{{||||}|~{|{{|z{||||||}||}{|{|}|{{{|||||||||{{{z{{{|||{||}{|{{{{|{{||}{}{||{{||{{{{||{||||{{|z{{{{{|{{|~}~|~~}}{|{}}}}}|}}||{|{||{||}||||}|||{{{|{{||{{z}|{|{zz{|{{|{{{|{|{z{zzz{zz{{|{{||||z{{{{{{{{z{|{{{|{z{zz{z{{{{|z{z{z{{yzz{{{|z{{z{zzzz{zz{{|{{z||{{{{{{{{{||{{{{{{zzzzz{z{||{{||{{{zz{z{z{|{{{|{{|{|{|zz{{{{{{{||{{{zz{{{||{|{||||{{|z{{z{{|{|{{|{z{{z{{{|{{|{||{{{{z|{{{z{|{{||{{{{z{{{{|{{|{|}|{{{{{{{{}|}{{{||z{|z{{{{{||{{}||{{{{|{{{||||||{||{{{{zz{{|{}|||||{{{||{||||}|{|}{{|{{{||||{||||{|{{{z|{||}}}|}{}{{{{{{{{|}||||||{{{{{{z||{|||||}}{{{|{{|}|}}}}|}|{{z{{|{|||{|||}||{{{{{z||{{{|||{{|{{|{{||{||}~~~~|{|}||}~|}}|}||||{|||||{{|||}}{{||z|||||||{}{|{|zzz|z|{||||{|{{|{zz{{{||{{|||{{zz{{{z|{||{{||{{zzzz{{||z|||z||z{{{z{{{{|{||{|{{{{{{{z{{|{||{||zz{{{{{{|{}{||z{{{{zz{z{{{z{{|{{{z{{{|z{|{|z|||{{{{{{|{{{|{{|{{|{{{{z{{||||{{|||{|{zz{{|{{{{{||{z{{{|{|{{{|{||{|{{zzz{{{|||||{|{{|{z{{||{||{|}|{{{|{z{||{|||||{||{|{|{{{||{|||||||||{{{{||||||}|{|{{{{{||||{|{}|{{|{|{{||||{||~|{|zz{{{||||}|}|}{{|{|{}|}|||}}}|||||||{||}||||||{{|{{{|||{||}||||{{{|{||||{|}}||{{{{{|{{||}{{}||{z{{{zz|}||{{|||||z{{{{{{}|{~~~~~}}}~|}|}||}|}}|||{{{||{|}~|{||}|{z{{||z{|||{|||{{{|{|{z{|{|}|{|z{|z{z|{z|{|z|{}{z{z{{|{{{{|{{{|z{z{zzzz{z||z{{{z{{z{z{z{|{z|z{{z{z|{{{{{|{z{{{{{{z{{z{{|{{{z||||{z{{{{{zz{{{{{||z{z{{z{z|{{{{|{z{{z{x{{{{{||||||{z{{{|{||||||||||{{{z{{z{{{||{|{z|{{z{{|{||{|||{{{{{zz{{||{|}|||{{z{{{z}{|{{||{|{{{z{z{||{||}{||{{{{{|{{|}||}||{{|{|{|{|{||||||{{|{{{zz|||||||{|z{||{{z|}|{||{{|{|{{|{|{|{{{}{}|{|{{{{}{|}|}|{||z{{|{|{}|||||}|}||z|{{|{|||}|||}{{{{{{{|||{||||{|{{{{z{{{||{|||}|{{{{{z{||{{{|{{{{z{zz{|||{|~~~}}~}}}}|||}}~}|}}|||||{|z|{{||||}|{{{|{{{|||{||{||{{z{{z{|{|{||{|{{z{{{{{{{||z{|{|z{{{{{{z|{{{{|{{{z{{{{z|{|{z{{|{z{zzzz{z{{{{||{{z{{zzy{{zz{|||{{{{zyzzzz{{|{{{|{zz{{zzz{||{{||||{zz{z{zz||{{{{|{{{{{{{{|{{|z{{||{{{z{z|{|{{{||}{{{{z{{{{{z{{|{|z{{{z{z{|{{||{||{{|{{{{z{||{{|{|{{{{z{{z{{{|{{||||{||{||||{|{|||{{{|zz||{{|||||||{|z{{{{|{|}|||}|{z{{{|z|||||{}{{z{{|{{{{||||||}|||{{|{{||||}}|||{{{{{|{|}}|}{|||{||{|{}||||||||}{|{|{{{|{{|||||{{|||||||{{|{|||{|{{{{{{}{{|||}}|||{{{z{{{|{|||{{{{|zz{z{|{|{~~~~}~}|||}}|||}|~||}}|{|{|{|{}{||}||||{|zzz{z{|{||z{||{|zz{{{||{{||||{{{zz{{{z{z{{|{{{z{z{{z{{{{{{||{{{{{{z{{{{|{{{{|{{z{zz{z{{|{{{|{{{z{y{z{{{{{|{|||z{{{{{{|{}|{|z{{{z{z{{{|{{{{{{|{{{zz{{{z|{|{{|{{z{{zzzy{{||{z}|zzz{zzz{z{|{{||||z{{{{{{{{{|z{{}{{z{zz{{}{|||||{{|{z{{zz{{{{|{|{{z{{|{{{{||{|z|{|{z{{z{|{||{{{|{{{|{|{{{{{|{{|}{|{z{{{{{{|||||||{{z|{{{{}{|||||||{{{|{{||||{|}}||{{{{||{||||||{||{{{|{{{|}|{{|||{|||{|{{}|||}{|{|{z|{{{{{{|||||||{{||{}|||||||}||{{{z{{|{{{{||||{|{{{|{{{|{{{{|{{|{z{{zz{|z{{~}~~~~}|}}}}|||}|}}}}|{||{||{{|{{||||{{||z|{{{}|||{|{}{z{{z|{{{{{{{{||{{{{|y{{{|z{||}{{z{{{{z{|{{{{|{{{{zzzzzz{{{{{{{{{{zz{{{{z|{{|{|{z{z{z{z{{||{||{|zz{z{{z{{z|{{{{{{{z{zzz|{{{{{{{|{{zz{z{z{|{|{{|{{{{{z|zz|{||{{z|{z{{|z{{{||{z{{|zz{z{zz{{|{|{z||{{{|{{{{{||{{{||{z{z|{{{{|{|{{|{|zz{zzzz{|||{|||{{z|{z{|{||{|||}{{{z{|{|{|||{}{||z|{{{|{||{}{}||{{{{{zzz}|||}{|||{{{{||{||{{{|}}}|y{|{|{{|{||||||z|{|{|{{||||}}|{|{{{{{{|{||{|}}{{{|{|{{{||{|{||{{{||z{|||{|||||{{{||{||{|||{|{|{||{z{|z||||{}||{{|z|z|z|||||~~~~~~~}~~}|}}}{|}}}}|~}||{|||{|{|{||{}||{{|{{{{{{{|{z{{{|{{zz{z{|{{|{{||{{z{{z{y{{{{z{{{{{z{{z{z{{|{z|||{{|zz{{zz{{|z||{zy{zz{z{{{{{{|{z{z{{z{zz{{{||{{|{{{zzz{{{{{|{{|{|z|{{z{{{{{{{{{{|{z{|{{zz{{{{|||zz{{{{{z{}{{zz}{|z{{{|z{{|||{{|{{z{{{{{{|{{{z|||{{{{z{y{{{{||{}||{|{{{{{z{|{|||}{{z{{z{{{|{{{{|{{{{|z{z|{|{{|{z{{z{{{|z|{||||||{z{|z|z{{||||}}|}{{{{z{{{{|{{{|{||zz{{|{{||{|||}|||{{|{{{{|||{||||{{{||{{||||{||||{{||{zz|{||||{{{z{{|{|{||{{|}}||{{z||z{{{{|||}}|{|{{|{{|}|{|||||{z{{zzzz{{|z|||{{||zzz{{|{|{~~~~}~}}~}}||}~}{|}}}|||}}{|||{|z|||||||||{{{{z{{{|z{{||||{{{{{zz{{{|{|{|z{|z{{z|z|{z{}{{{{zzzz{z{{{|{{{{{z{z{{{z{{{{z|{{zzz{{zzz{||{{{{|{{zz{{{zzz{{|z{|z{{zz{z{z{{{z{|{{{zzzz{z{|zz||{zz{z{{{{zzzz{{|||zz{{{{{{{z{{z||{{z{{{y{{{z{|{{|{{z{z{{z|{{|{|||{z{{zz{{||{{zz{{{{{{{{z{{{|{||||z{z|{{zz{||||{|{{|{{{{z{{{{{|{}{|{{{|{|{{{{{{}|{{{{zz|{{z}{{{{||||{z|{{|z{|||{||{|zz{||z{|}|{||}||{{z{|{{}{|{{{|||{{|z|{{{}{}||||{{||{{{|}|}{||||{z{{{{{z{|{||||||||||{{{{|||||||{{{{||{{{|{||{}|{{z|z{z{{||{{|{}|z{{{z|{z{{|{~~~~}}|}|}|}}}}~}}}}||{{{|{{{|{|{|||}|z{{}{{{{|||{{|}|{z{zz{z|{{{|||||{|z{z|{z|||{|{{|{{{{zzz{{|y{||z|{zz{z{{{{{{|{||{z{zzz{z|{{}{|||{z{z{{zzz{{{{|{|{{{{zz{{{{{|{{|||{z{z{z{zz{|z{{|{{z|{z{{{{{z{|||{{{{zz{z{|{|{|||{{{z{{{z{||||}||{{{{z{{{{{|{||||{|{{{zz{{{{|{|||{{|{zz{{{{||z{|{{{{z{|zz||||{{|||z||z{{z|||{z|{||{{{{{{||||||}{|z{|{{|{|{|{||||}{{{{|{{|{}{|}||{{{{|{{{|||{{{|||||{{|{|{{|{||}||{||||{{{|}||}|}|{|{|{{{{||||}||||{|{{{{{{|||||}}{{{{||{{{||||{|}{{|||{{z{||||||||z{{{|{{{|||||||{{{{{{{z{{|||~~~~}~~}}}}}}|||||||}||}}}}}}{{z{|{z{{|{}|}{|{zz{{{|{|{||{{z}{{z{{{{{{||{|||z{z{{{{{{|{{{|z{|z{{{zz{z{{{{{{{|{{{{{z{{||{{{||z{{{{z{zz{{{{{{{{z{zz{z{{||{||{{{z{{z{{{{{{{{{{|{{{{z{z{||{{||{|{{z{{{zz{|{|z||z{{{y{{{{z|zz|{|{{zy{{z{z{||{|{{|{z{z{{|{|{{||||{{z{zz{zz{||{|{|||{{|z{zzz|{{||{|z{{{z||z{|||{}|{|{{{z{z|{||{||||z{{|{{|{|||}||}|{{{{{||{||z}{|||{{{{{{{{{}{{{||||{{|||{{|||{|{||{{{|{{||||{}|}}|||{{|{{|{||||||{z|{{{{z{|||||||||{z{{{||||{|{}||||{{|{{{|||}{|{|z{|{z{|{|{||{{|||{{{{zy{{|{||||{{|{|zz{{|||{{~~~~~~~}}~~~~}~||{|{}}|}~}|}|{||}{{{|{|||{|{|{{{|{{|{{{|{||}|{{{z|{z{|{|{}{{|{{{z{z{{{{{{{|{{{{{{{z{{z{|||{|{{{zz{{{{{|{{|||zz{z{z{{{|{{{{{{|{{z{{zz{{|||{{|{{{{z{{{{{{||{||{z{{{|{z{{{|{{{{{{z|{{{z{{{{|||{z{{{{{{z{{{|z{|||{|{zz{y|||||{||{z{{{z{{{|||{|{|{{z{{|z{{||z||}||{||z{{{{{{|||||{|{z{{{|{|||{|||{z{{{{{|||{|{}|{||{z|{{{|}{|||}{z{{{|{|||{|{|}||{{{{{{{{{|{||}}|{{|{{{{{||}|||||{||zz}|||||{|}}||{|{||z{{}{|}}}||{||||z|}|}|{{|}|{|{||{{|{||||}|}|||{{|||||||||}z||{{{|{{{|}|}{|}{{|{z|{|||||||||||{{{z{{{|||~~~|}~}~~~}~}|}{{||}}}||}}|{||||{{|{}|{|~||{{|{{{|{|}{{|}{{z|zz{z{{{{||||{{{{z{{{z{{{{{{|{z{{z{zz{{{|z||{{z{{{{{{{{zz|{{{|z{{z{{{z{{|{||{{z{{{{{z{z{||||{{|{|{{{z{{||{||||{{{z{{{z{z|{{{||{{{z{{{{{|{{||{{{z{z{zz{{}{{{|||{{{z{{z{{{{{{|}|{{{{{{{{|||z{||{{{{||{{{|||{{|||{{{{|{{{||{|||{|{{{{|{{{{|||{|}{{{{{{{{{{|{|{{|||{|{}{{{{||||~{{{{{{zz{{||}|{{||||||z|{z||{|{|||}{{{|{|z|}{{||}||{{{{{|||}|||}|||{{z|{||}|{|}||||{{{{{{{|}|||{}||{{{{{z||||}}||}|{{|||z{||{{{}{|||{{{{|{|}||{||||||z{{{{{{|{|{||zz|z{{{{{|{{{}~~}~~|}~~}|}}|}}{|{|}||}}}|{{{{||{|{{||}z{{{|{|{{{{{|{{|{|{z|{zz|z{z{|||{|{z{{{{{z{{z{{{}||{zz|z{{z||{|{{{{{{zz{{{{|{{{{{|{z{zz{{z{{|{{{{|{{{zz{zz{{{z|{{{{zz{{z{z{|z|{{{|{zz{|{{{z|||{}{|{|{zz{{{z|{{{{{|{{{zz{zz{{z{|z{|{{zzz{|zz|{{{{{}{{{{{{{z|{|z||{|{{{z{{{{|||{{||{{{|z{y{z{|{||{|||{{zz{{{{{|{{{{{{zz{{z{{{|{{|{|||{{{{||{|{{|{|}{{{{{{{{{{|{|||{{|z||{{{{|}|{||}}|{{{{{|{|}|{|}|||{{{{||||{|{|{|{|{|}{|||}}}|||}||{|z{{|{|}|}{|||{{{{||{|||{||||}||{|{|{||}|||}||{{|{{|{|{||||{~|||zz{{{z|||{{{||{{zz{z{{{{{{{~}~~}}}~~~}~}~||||}||{}}|||}|}{}|{||{{|{{||}}|{{{{{zz{{|{|{{|{|{z{{{z{{{|{{{|zz{|{{{{z{|{{|{{{{{{{zzz{{|{z|{||{{{{z{zz|{{|z{{{{{{{{{{{{|{{{{{|{{{{z{z{{{||||||{||{z{zz{{{z|||{|{z|{zzy{{{{{|{{{{zz{{{{z|{z||{|{{{{zzz{{{{|{||||{{{zz{{z{|{{||}{||{{z|{{{||{{||z{{{{|{z|{}{||||{{{{{z{{{{{|{|||{{{{{{{{||||{|~|||{{{{{{|z{z{{|||{{{|{{||||{||{{||||{{{{|||||}}||{{z|{z{||{|{|{||z||{||||}{||||||{{|||{{|{|||||||{{{|{{{||{}}}|}|{||{{|{{{|||}||{|||{}{||{||||||{{{|{{|z|{|}}|}|{z{{{{{|{||{||}||{z{{|{z{||||{{{||{{{{z{{z{|{~~~~}~}}~}~~}|}}||{|}}||{|||}{||{{{{{}|}{{}|||z{{{{z{||||||{|{{|z{{{{|{||z|{z{{zz{zz{z|{{{||{||zz{{{z{|{{z|{{zzz|z{zz|{|{{{{{|zzzzz{zz{{{{{{|{z{zz{z{|{{{{{|{{z{{{z{z{{|{{z{{{{{{y{z{|z{z{{{}{|{z{{{{z{{{{{{{{{{{zzzz|{|{z{||{{{zz{{z|{|{|{||{{{zzz{z|{z{{|{|z{z{{z|zz||{|{|{{z{{{{zz{{|||||{{{{{{{{{||{{{||{|z{{z{z|||{{{|||{{z|{{{{}|{|||{{zz{{{{|{|||||}}}z{{{z{{{{||||||{z{||{{|z||||||||{{{{|{{{{{{{|||{|{{{{{|{||}|}|}|{{|{{{{{|{}{}||||{{z|||{{{||{{}|{|{||{{{{{{|{|||{||{{{{|{|{{||||{|z{{{z{||{||z}{zz{z{z{z{{z|{}}~}~}}}{|~}}}||}|}||{}||}|||z{||{{{|{}{}|}}{{{z||{{{{||{z|{{{|zz{{{{|{{||{{|{{{{{{yz||{|||{{{|zzz{{{{{z|{{{{z{z{{zz{z{zz{{{zzzy{z{z{{|||z{{{zzzz{{z||{{{{{{{zzzz{{zz{{{|{}|{zz{{zz{z|{z{{{|{zz{zz{{{|z|{|{{z{{z{z{z{{{{{z|}z{{z{zz{|||{{|||{{{{{{zz{{||{|||z{z|{{{{{{{|{||||{|{|{|{{|{{|||{{{{{{{z{|{|{|{|||z{z{z{z{|{{||{{{{{|{z{{{{|}{|||{{zz|{zz|{{||||||{{{{{{{{||||||||z{{|{|{|||||{|||{{{||z{||{}|{{|{{{|||||{||||||}|{{{{z|||||}||||{{|{{||{{|{{|||}||{||{{{|z{|{|}{{{|z{zz{||{{|||{|{{{{zz{|{{{{{||z{|{{z{{{{|||~~~}~}}}}~~~}}~}}|}|{{||||}|}}||{||{|{{}||{||}||{{z{{{{{{{{{{|||{{zzy{z{{|{{||||z{zz{{{{{{z|{{{z{{z{z{{{z|{{|{{z{{z{{zz{z{|{{{{{{{{z{{z{{{{{{{z|{zzz{z{z{{|||{|z|{{zz{z{z{||{||{{{{{z{{|{zz{{|}{{zzzzzz{{z|{|{{{zzzzz{{z{{{z|||{zzz{{{{|{{|{|{|{z|{{{{{|{|{|{z{{|{|z{{{|{{{{|{|z{{{{z{{{|{{|{{|{z{z{z{{z{{{|{{{|{z{z{{{|{{{z|{z{z{{{{{}{|||||{{{{|z{{{{{|{{|{||{{z{{{zz{|{||{||{z{{|z{{}}|{|||||{{zz{||{||{|||}|z{z{{z{{}}|||}|{{{|{{{||||{||{}|{{z{{{{{{|||||||{{{{{{{||{}|}|||{{{{{{z{||{|{|{{|{z{|zz{|{{{{|{{{{zzzz{||{{|}~}~}}~|}}|}|{{|{|||}|||}}|{|{||{||}}{||}}{{{{{{{z{z||{||{|{{{{zz|{|{{{||{{{z{{zz{z{}{{{||{{z{z|{z{{{|{{|{{{{{{z{{{{{{|{{z{zz{z{{{z{{{{{|{{{{{{{{zz{{|{{{||{z{{z{{z{{|{{{|{{{z{z{{z{{{z{|{|{{z|{{{z{{{z{{{{{{{{z{{{}{{|{|||{z{zzz|z{||{{|{|{zzzz{{{{{{{{{{{{{{{zz{z{|||{}||||{{{z{z{|||{|{|{{{{{{{z{|{|{||z|zz{|{{{{}{{{||{{{{{{{{z{||||}}|{{|zz{|{{{||{{||{{|{{z{{{||||||||{{{{{{{}|{{}}}||||{{{{|{|||||}|}z||{{{|{||{|{}||{{{{|{|{{|}{}||{{{{|z{{{|{{||}||{|{{{{{{|||{|||{{|z{{{zz||||{}||{{{{{{|{|{|||||{|{{|{{z{{|{{}~~~~}}}}}}|~|}~}{|{|{}}{|}}|||}{{{|{{{|{|}|}|{{|{|{z{{||{{{|{{{{{{{{z|{||{|{}|z{{{|{{||{{||||{{{z{y{z|||z{{{z|zz{zz{{|{{{{}{||z{{z{{{z|{|z{|{{{{{{{z{{{{{{{||z|{{{z{{|||||||||z{{{{|z{|{zz{||z{{{{{{z{||{|{{|{y{{{{zz{|||{{||{z{zz{z{||{{|||||{z{{z|z||{|||{|{{zz{{{{{||||||{|{{z{z{{||{z{{{|{{z{|{{||||{||||{{{{z{|{||||||{|{{{{{{{{{||{{|{{{|||{z|{|{|}|{|||{{|{|zz{|{{|||{|{{{|{||{|{|||||{|{{|}{{|||{||||||{||{z{{}||||}|||}{{}{|||}||}|{|{{{{{z|{|||}||}{{|{|{{|{{|||{||{{{{{|{{|||}|{||{{{{{{{{{{{|{|||{{{{|zz{{|||{~~}~}||}~}}}~}~||||||{{|}}|}}~}}{{|}||{|{||||{|{|{|{|z||||{|{|{|{{|{{|z|{||{|||{{{zz{{{{{{|||{|{{{{{z{z|z{{{{|{{{{z{{|z{z{|{{z{|z{z{z{{{||||{|{zz{{{{{{{{|||{{|z{|{z{{z{|z|{{{{zzz{z|zz{{{|{|}{{z{{z{z{{|{{{|||z{z{|{{z{{||{||z{{{{{z{{{|{|{|||{{z{zz{{{{{|||{|{{{{{{{{|||||||{{{|{{{{{{||{||||{{{|y{{z|{|{{{|||{{{{|{||||z{|}{{{{{{{{{|||}{{|||{{{|{{{|{|||||||{{|z{|{{|||{{|||{zz|{{{|||}||}||z{|{|{{{||}|||{{|{{{{|{||}||||||{{|z|{|||}|}|}||{{|{{|{{||{|{|||||z||{|{}|{|||||{{{|{{z{|{||||}|||{{|{{{||||||}|}{{{{{{|{|{{~~}}}|}}~}~~~}}~|}}|||||z||{||}||||||{{||{{|||{{||zz{{{|{{|{{|{z{{{{{zz{{{{||{z||{{{{z{{{z|{|{{|{|{z{z{{{{||{z|}{{z{{{{{{{{{z{||{|z{z{{z{z{{{{{z|{{{{{y{{{{{|{{|{|{{{{zz{{z{{||{{z{z{z{zzzz{{z{{{{{|{{{|zzz{{{{{{|z{zzzzzz{|{{{{|||zz{{z{z{{{{{{{}|z{{{z{{{{{{{{{|||{zzz{||{{|{{|{|{|{{{{{z{||{}{|{{z{z{{{||||{|}{{{z{{z{{|{{{{{|||{{{{{{{|||}||}{{{{|{{|{|||{{|{}||{|{zz{||}|{||{|{|{{{{|||}|||||{{{{{{{{z{|||||}||z{||||{||||||}|{{|{||{}|{{|||{|{|{{{|||||||}}}||z{|{{|{||||||}{{{{{z{|{||{{}}{{||{{{{{{|{{{|{{zz|z{{|{{|||{~~}}}}|}|}~||~}}}|||||zz~|||}}|}}{|{{{|{||~|{|{{|z{{|{{{|||||||{{{|{z{{y{|z{}|z}{{{|{{{{{|{{z||{{{{z{zz{|z|{{|{{{z{{z{{z{zz{z|{{zz{zzz{z|{|{|{|{|zz{zzz{|{{{{{|||{{{y{z{|{|{{|{}{z|y{zyz{{{{{||{z{|zz{{{z|{{{|z{{{|z{{{zz{{{{|||{{zz{{{{{|{{{{||{z{{|z{z{{{|{|{|{{{{{{{|{{|{{|||{{z{{z{{{||||||}{{{{{z{{{|{{{||{|{z{{{{{|{|{||||{|{||{{{{{{||{||{{{{|{|{}{{||||}{zz|{{|{z||||}|{|{{{{|{{|||{|||||{{{{{|z|{|||}|||{{{||{|{}||}}|||{{{z|{{}||||||}|{{|{{|{{|{|||}||{{||{{|{||{}|{|{{|{|z|{||||{}|{{{{{{z{z{{{||{|{|{|{{{|{z{||{~~~~~}~}~||}}}~~}~{|||{|}||}||}}}}}{{{{{{{|{|{{||||{z|{{{|}|||z|{|{{{{z{{y{{||{|{{{{z{{{{z{{|||{{{{z{{{{{z|{|z{{|{zzzz{{{|{{{{z|{{zzy{zzzzz{{{z{|{zz{|{zzzz{{{|{|{{{{zz{zz{{|z{zz{{{{{z{{z{z{zz{{{|{{zz{{{{{{{z|{|{zz{{{z{{{{{{{|{{zz{{{zz{{{{{|z{{{z{z{{|{z{{{||{{{{{z{{z{{{{|{||z{|z{z{{{{{{{{|z{{{{zzz{|||||z{|{{|{{z{{|||{||||{{zz{{{{||||||}|z{||{{{{{{{{{||}{{{|{z||||||||{||{||{z{z|||||}|||z{{{||{z|{|{|||z{{|{{|||||||{}|{{||{{|{||||{}|{{{{z{|{{{{|{||}}}{||{|{{||{|||{||{{z{{{{{||||{||{{{{z{{{{|||{{||{{{z|{{{}|{{z}~}|||}}|{|||}}}}}|{|{|{{{{||||}|}|{|{{{{z{{{{||}|{zz|{{z{||||{||{|{{|{{z{{{|||{{|zz{z{{{z{|{{z{|{{{{zz{z{{z{{z{{{{{zz{{{{{|{|z|{{z{z{zy{{{{{{z{|{zzzzzzzz{{|||{{{{{z{zzz{z{{{{|||{{z{{{{z{{{{{||{{{{yz{zz{|z{{{||{{{z{{{{{{{{{|{|{{zz{{{z{{{|{{||zzz{z{{z{{|{{||||z{{{{{{{{{{|{{{{{{{|z{{{|||{{||{zz{{{|z|{{{|||{z{{{{{{{{||{{||||z|{}z{{||||||||{z{|{{{{|}||{|||{{z|{z{|||{{{||}|{}{z{{|||||{||}{||{{{||{|{|||||{z{{|{{{{}|||}}{}{||}||{{}}|||{||{z{{{{}||{||||||{{{|{{{{|||{|{||{|{{{|z||{||||||{z{{z{{{|z|{|||{{{z{z{{{|{||~~~}|}}}}}{}}~}~|}}|{}||{|{|}|}}||}{{{{{||{||{||{||{{|{{zz{{|||{{|{|{|{zz{{{{|{}z||{{zz|||z{z|{{|{{{zzzz{zz{z{|{{|{{z{{{zz|{{{{|{{|{z{zzzz{{{|{|{{{{zzzz{zz{||y{|{|{{{zz|{z|{{|{{||{{{{{zzzz{{{z{z|{{zzz{z{y{zz{{{|{{{z{{{{|{|||{||{{{{{z{{{||z||||z{z{zz|z{|z||{}|{{|{{z|{|}|{|{{{{{{{zz|z{{{|||}{{{{}{{{{{|{{{{{{{{{{z{z||z|{{|{{{{|z|{{{{|||{}|}{|{{|zz{{|{|{|||{{{{|{{{{{||{|}|||{{{{{{|{{{||{||{|z{|||{|}{|~{}|{{{|{{{|}|{|}}{}{}|{|{|{|||||}{|{{||{{{||{{||||{{|{|{{|{||{|}|}|{{z|{{||{||{||||{{||{{z{{z{|z{{z{{zz|{z||z{{}~~}~|}~|}|{|}}}||}}||}{{|z|}}||}||||{{{{z{|{|{{{||{{|||{z{}|||{{|||{zz{z{|||||{|{|{z{zz{z{zz{z{|{||{z{zzz{z{|zzz{{{{{{z{{{z{||zz{{z{{{z{{z{{{|z|{{zz{zzzzzz{zz{{{|{z|{y{zzz|{{{}}|{{y{|zz{{z{{{{|{zz{z{z{zz{{{{|{|z{{{z{zz{z|{{{{{{z{z{zz{{{{{{{{||zz{{z{z|||{{{{|zz{{{{{{{z{||{{|{{{z{z{{{{{{zz||{|{zz{{||{{{{{}{{{{{|{z{||{|{|{{{{{{z{z{z|}|{{{||{{z{{{||}||{|||{|{|{{{{{|{|||||{{{{{{z||}|||||}|{{z{{||{{|{{|}{}{{|{{{{{}{}|}||{z{|{{{z|{}|||{||{{{{zz{{||||}}{|{{{|{|{}||{||{}{{{{{{z{{|||||z||{{{{z{{||{{|||{{{z{{z{z{|{{{~}~|}}}|}{}||}||}|}{{{||{{z|||}|||||||{{{{zz|z{|||{{z|z|z{zz{{{|{||{zz{{y{z{z{{{|{|{zzzzzzz{{||{|{{{z{yz{zz{z|{{{{zzz{zz{zzy{{zz{{{z{z{{z{{zz{{{{{zzz{{zzyz{z{z{{z{{{{z{z{{{{z{||{|{{z{zy{zzzz{zz{{|{{yzz{z{{z{z{{|{z{{zzyz{{{{|{||{{{z{zzz{{{{{|{{|{{{zz{{{{|{|{{|z{{z{{z{z|{{|{{|z{z{{{zz{{{{|{{z{zzz{zz{{z{{{{{{{{z{z{{{{|{z{{{{z{z{{{{{z{{}{|{}{{{zz{{{{|{|{{|}{{z{zzz{z|||{{|{|z{||z{z{||||{||{{z{{{{{{{{{|{|||{{{{{{{|}}|||||{{|{{{z{{|{|||||{z{{|{z{}|{|}|{|{{|{{|{{|{|||{|}{|{z{{{{{{|{|z|{{{zzz{|{{||}{|}{zz{z{{{{{{{{z}}}}}}||||||}{}}|}|{|||{|||}||{{||||{{zz{z{{{{{||||{z{zzz|{{z|}{{|||{{zzz{y{{{|{y{{z{|{{{{z|{{{{{|z{zzyz{|{{{{zzz{zzzzz{{z|{{z{z|{{{zz{zyz{{{{{{{{zzy{zzz{zz|{{|{{|{{z{zzzy{{{{|{{{zzy{zz{z{{{zz{{zz{z{yzzyz{z{|{|zzz{{{{zzz{z|{{|{{{{z{zz{z{{{{{||{zz{zz{z{{|{{{||{z|z{zzz{{}{{|{|{{{z{zz{{|{{||{|{|{z{{{z{{z{|{{{zzz{|z{{{||{{z||{z{zz{{z{{z|||||zz|{{{|{{z{{{{||{{{{{{zy{{|z|||||{{z{{|{||||{|{|{{{zz{|{{z{|||{{|{z{{{{{||{|||}|{{{zzz{{{||{|{||||zz|z{{{{{|||{{{||{{{{|||||z|||||{z{z{z{|{{z{}{|{{{{z{z|{{{{{|{z{z{zzz{{{{{{}~}}~}{|||}|}|||}}}|{{{|{{{||||||}|}z{zz{{{{{{{{|{{|{zz{z{{|{{{{{|{{{zzzz|z{{{{{{z|{{{|{{{zz{z{z|{{{{zz{{z{{{||{{{{yzz{zzz{|{{{z||{zz|{{zzzz|{{z|z{{zz{zzy{|{{z|{{|{z{zz{{{{{|z||{|zzzy{zzzy|{{{{{{{zzzzzz{z{{{|{{{z{zzzzzyz{|{|{|||{zzzz{z{{{{{{{|z{{{{y{{z{|{{{{||{{zz{zz{{|{||{|{z{{{{{z{|{|}{|{{{{{z{{{|{{{|||{{|{{z{z{z||{||{|{z{{|{{{|z||||{|z{zz{{{{{{||{||{|{zz{{z{|{||{||{|z{zzz{{|}||||{{|{{{{||{||{{{|||{{{|{||{{||z|{|}|z{{{{{|||||||||||{{zzz{{z||||}}{{{{{|{||||||{|}{{z{z{{{{{|{|||||{z{{z{z{|{|{{{{z{{{{{{{{{{{{}|}|}||}|{||}|||{}||{|{{{{||}}|{{|{|zz{z{{{{{|||{||{z{{{z{{|z||{{|{|{{{{{zz{|{{||||{z{z{zzzz|{{{{|{{z{zzz{{{{|z{|{{{{z{z{zz{zy{{{{{zz{z|{zzz{{z{||{{{z{zzzz{z{{{{{|{{{{z{z{|{{{|{{|{{{z{z{zz{zz{{{{z{zz{z{z{{z|{{|{zzz{{{zz{{|{{{{{{{{zzz{{{{{{z{||{|{{{y{z{|{|||{{{{z|zzzz||||{|||z{{{zz{z{|||{|{||z|{{z{zz{||{||{{{{{{z{{{}|{{|{{{{{z{{|{{|{{}|{{{{{{|{{{|{|||||}|{{{{zz{{||{{{{{|{{{{{{||{{|||||{{|{{||{{{{{|||||{{{{{z{{||||}|{}{{{{{{z|||||}||{{z|{{{z{|{|}}||||{|{{|{||{|{|{|{{{{{{{{{{{|{|||{{z{{{zz||z|||{|{{{{zzzz{{|{{}}}}}||}|}{}}~}}}|}{||{|{{|||||||||{{{{z{{{{||||||}|z{{zz{{z|||{{{{{|z{zz{z{|{|||||{{{{zyz{z{{{{|{{{{{|zzyy|z|zz||{zz{zz{zz{{{{{z{{yzzz{z{z{{y{z||{{z{z{{z{z{{|{{|{z{z{zzzzz|||{{{||z{z{zzz{{{z{{{zyzzzzzzzz{{z{|z|{{{z{{zz{{z|{|||{zzz{y|z{||z|{{{|{{{yz{{{z{{z{{{{{{zz{{{{{{{{z{|{{{{zz{{{{{|z||z{z{z{|z{||{{{{|{{{z{{y{{{{|z{|}|{zz{{{|{{||||{||{{{{{{{{{{{{{||}|z{|{z{{{||{||||}z{{||{{||{{||{{{z{{||{{{{|z||}|}|{{{|{|{}{|||}|{|{{{{{{||||{||||{{|||z{z|||{{||}|{|{z{{{{{|{||{|{{z{{zz{{{||{{|{z{{{{z{{||{{{{|{{zz{z{{||{{|~}|}}}|||}}|||}|||}|}|||{z|||{|}|}{{z{{|{{{{{{|||||{{{zz{z{{|||||||{{{z{{{z{{|{z|||{|{z{zz{{||{{|||{zz{zz{{{|{{z|{|zzzz{z{z{z{|{{{|{{{zz{z{z{{|{||{{z{{zzzz{|{{{||{{{|{{{z{z|{|{||{{{{{{z{{{||{{||z{{z{zz{z{|{{|{{{{{{{{{z{z{{{||{{{z{{{z{z{{{{{|}|{{{{{z||{{{{{|||zzz{zz{{z{{|z{|{||z{z{z|z||}{||||{{{z|{zz||z{{|{{{{{{z{z|~{{{}|||{{||{{|{{|{|||}|{||{|{{|{|}{|}||{{{{z{{{|{||||{}z{{{{{{|||{||||{{{|{||{{||||||}|{||{z{||}|{|}}||z|{{{{{||||{|{||z{{{z{{|{|{{||||{{{{{{{||{||}}}{zzz{{{{{|{{{|||{{{{z{{zz||{{||{{{{z{zzz|{|{||}||z{|||{|||}{{|{{|{||{{{{||{|{{|{}{|{{zzz|{{||{||{z{z|{{{{{{{{|{{{{|{zz{z{{|{{z{z{{zz{z{|{{{{||{z{zzzzzzzz{{z{|{{{zzzz{zz{z{{{z|{{{{{{{y{z{zz{|{{{{zzzzzzz{{{||{{|z{{z{zy{{{{z{{|{z{yzz{zz|{{z{z|zzzyz{zz{{{{{{{{{{{zz|zzz|{z{{{{zz{z{{zz{{z{{||{zz{zz{z{|{{{z{{{z{zzz{{z{z{{|{|{{{{{{zyz{{{{{{{{{{|zzz{z{|{{{||{{z{{z{{z|{{{{|{{{{{zzzzz|z{|||{|z|{{z{|{||{|{||}|z{{z{{{|}||{{}z|z{z{{{{{||{{{{{{{|zz{{{{{{{||{||{{{{{{{{|{{|||}|{{{|z{{{|{|{||{{z{z{{{{|{|{|||||{{|z{z||{{{z||{|{{z|{{{|{|{{|{{|{z{z{{{||{{z{|{{{|{zzzz{{|{z}}}}{z|||||{}||{|{}{|{||{z{{||}||||{|zzz{|{{{||{{||{{z{zzz|z{{{{z|||{zz{z{yz|{{{|{|{{z{{{{z{|{{{{|{zzz{zzzz{z{{{|{{|z{zzzzz{z{{{z{|{zyyzzzz{z|{{|{{{z{z{{zz{z{z{{{{zzz{z{zz{|{{z{{zz{zzzzzzzy{z{{|z{zzzzz{zzz{{{|{{zz{{z|zzz{{{{{{{{zzzzz{z{||z{{{||zzzzzzz{z{{{{||{{{{y{{z|{{{|{||{z{z{zz{{{|{{|{|z{{z{zz{{{{|{||{zzzzz{z{{|{|{{||{{{{{zz{{||{||{||{zz{{{z{{{|{|{|{{{{z{z{{}|{||||{{{{z{|{|{|{{|||{|{{zz||{|{|{|{|{y||z|{{|||{|||{{{{|{{z||}||{{}{}|z{{{{{{{||||{|{{{{|{{{{||||||{|{z{zz{{{|{|{{||{|{{z{{z{{|{{{}{{{{z{zz{{||z{}}}||{|z{{||}|{{}|{z{{{{z{{|||{||||}{zy{{zz||{{||||{yz{zzzz|{||||||{{z{zyzz{{{{{{z|{{{z{z{z{z{zz{{{zzzz{yz{{z{zz{|{{yzzzzzz{zz{{{{{zzz{{z{zz{{z{{{{zzz{y{yzz||z{{{{zz{{yzzzz{{zz{{{{{zy{zzyz{zz{{{|zzzzzz{zy{{y{|z{{{zzz{{z{{{{{z|{{zz{zz{z{{{z{{{{|zzzyz{z{z{|{z{|{z{z{zzz{{z{|||{|y{{{zzy{{|{{|{|{zz{{zzz{{{{{{||zz{z{{{{{{z{{||{{{{{z{z{{|{||||{z|{zz{{{{{{{||{|{{z{{zzz||||||{{{{{{z{{z{|{{}{|||{{{{{{z{|{||||{}{{{z{{z{}||{{}{{{|z{z{z{||||||{{{zzz{{{|||{{{{{{{|{z{z{|{{{|{{{|zzzz{{z{{{{}{{{{{{z{z{|||||{|{{{zzzz{zzz{{{{}}}}|{|{||z{}}}||}|}{|{{zz{{{{|}{}}{{{zz{{z|||{{{||{{|{z{z{{{||{{{{|||{zzzy|{|{{|z|{{{zzz{{{|zz{|{|{{{z{{z{{{|{{{{{{z{{{zzz{z{z{{{{{zzz{zzzz{{|{{{zzzzzz{{zz{||{{|{{{{{z{|{zz|{{|{|{{z{zz{{|{{{{{|{{{zz{z{{zzzzz|z|{{{{zz{{{{{|{{|{{zzy{{z{{{||{{{{{{{{{{{|{{{||{}|zz{|z{zzz{{{|z|{{{|{zz{z||{{{{{{|{{{zzzz{|{}|{|z|{{{{{z{||z{|{{{zzz{z{{|{{|}{|}{{|{z{{{{{|{|{}||{{|{{{{z{|{||{{{{{{z||yz||||{|{||{{{|{|z{|{{{|||{{|{{{{|{||||||}|z{{{{|{{||||{}||{{|{{z|{{|{{|{||{{{{z||||{||}|}{z{z{{{{{{{|{||||{{{{{{{{|||{|{||{{z{z{{{{||z}|~||{{z|{{|}}|||{|{{{||{{{{{|||||||{{{{{zz|{{{{{||{{yz{{{zz{{{{|{{|{{z{{{z{{z{z|z|zzzz{zzz{z|zz{zzyz{zz{{{zz{{z{|z|zz|z{zzz{z{{{{{yz{z{y{z{{|{{{|{zz{zy{zz{||{|{{{z{zzyz{z{{{{{{||{zzz{zyzzzzz{{{{zz{zzzzzzzz{z{|{z{{zz{zy{|{{{{|{{zz{zzz|{|{{{{{{{z{{zy{{zz{{z{{{{z{{zzz{{{{{{{||{z{{{zz{{{{|{||{z{z{{zz{|{{|{|||{zzz{z{z{z{z{{{{{zzz{zzz{||{{||{{zz{{z{{{|{{|{||||{{{z|y||{{{{|{{{|{{z{{||{{|{{{|{{{{{{{|{z|{{|||{{|{{{{z}{{||||{|{{{{{{|{||{}||{z{z{z{{{{{z{||||zzz{z{z||z{{||{{zzz{z{zz{{{{|||{y{zzzzy{{z{z{||z{{z|zzz{{{|{}{||}|}|z{z{|||||{{{|{||{{z{|{|{|{{{{{{zzzz{{{{{{||{z{{z{z{{{z{z{||z{yz{xzz{{|{{|{|z|{{zzzz|z{{{{{{{|{zzzzz|{{zz|z{z{zzz{{z{z{z{z{{{zz|{zz{z{|z{{{z{zzzzzzz{{{{{z{{{{{yz{{z{|{|{{{{{zz{zy{z{z{z{{{z{{|zzz{{{z{{{{{{{zz{{{{{{{{{{|||{z{z{{zzzz{{{{{{z{{zzzzz{z{{z|{{{z{{z{z{|z{{{||{{{{zzzzzz|{|{|{|{z{z{zz{{{{{{{}zzz{{yzz{{|{{z{{|{z{z{{|z{{{|{}||{|z{{|{{||||||{|{{|{{|zz|{{{{|||{{{z{{{z||{||||{{z{z{{|{{{{{|||{|{{{{{{{{}||{{}|{z{{{{{{|{||{{|{{z{z{{{{|{{|||{||{z|{|{|{{||z|||||{yz|{z{{{|||{|{|zzz{{z{|{||||z{{|zz|z{{{{{{|||}{{|}{}{|{||}}}|{{{|{z{|{{||{{||zz{zz{|y{|{|||||{z{z{{zz{{|{{{}{{zz{zz{{z{{||{{{z{{zzz{{z|{z|{y{{zzzz{zyz{{{{{{z{zzzzy{z{|{z{{{{|z{zz{yyz|{{{{{{{z{{{zz{zz|z|{{{{zzzzzz{z|z{{|{{{{z{zzzz{{{{{{z{{z|zzzzzz{{|z|{{{z{{|z{z{|{|z{|{{z{{{zzz{{{{{|{|{z{{{{{{{z{z{{||z{zz|{{z{{{z|{{{{{|z{z{z|||{|{}|{zz{{{z{z{{{{|{z|{{|z{{{{||{{|{|{z{{{{zz{{{{{{}|z{|{{z|{{|||||}}{z{{zzz{|{{{|{{{|{{{zz{{|||}|||{{y{{{{{|}||||{||z{z{{||z{|z{|{||{{{|zz{||||{|||||{{{{{{|{|{|{||{{{{{{zz{|{|}|{||{{|{{z{z{|{{{|{|{{{{{z{{{{{{{|{|{||{z{z{{{|{z}}}||||||{{|}}}{}{|{{zz{|{{z|{{||||{zz{{{{z{|||{{}{{{{{{zzy|{}|{||{{{{zzz{{{{{{{{z{z{{z|{z{{||{{{||z{{zzzz{{{{zz{|{|{{zzzzz{{{{{{{{z{{zzzzz{|{{{{|{|zz{zzz{zz|{{{{{{{{zzz{z{|{|z{{{{zzz|z{y{{{{{{{|{z{z{{{{z{zz{{||{z{{{{{{{{|{{|{|{{z{y{{zzz{|{{||zz|{zyzz{{{|{|{|z{zz{{{z{{{|{{{|{{{|y{{z{|{z|{{{zz{{|zzz|{{{{||{{|{|{{z{|{{{|}|||{{{|zz{{|{||{|{|{{|{{|{||||{|||{{z|{{z{{||{|{}z|{|z|z{{{|||||||{{|{{{|z{|{{|||||z{{z|{{{|{}||||||||{{{{||||}||{||{z|{|{|||{{||{{z{{{{{|||{||}|}{{{{{{{{{|{{{||{{z{{{{{{|}{|{|{z{z{{{{{{{{{z{~{}|}{||{{{|}}}||{|{{{{{|z|{|{{}||}{{{{|{{{|{|{||}|{|{{{{{{{||{{{{|{{{zz{{z{||{{||{|z{{{zz{{|z{{|{{|{{zzzz{{{{{{{{{zzz{zzzz{{{{|||{{{{zzz{{z||{{{||{{z|{{z|{{{||{{{z{{{z{zz{{{{z{}{{z{{{z{z{{{{{{|z{{zzzzzyz|{z{{{|{zz{{{yzz{{{||{||{z{z{{{|||{||{|{z{zz{{z{|{||z||{z{zz{{{||{zz{{{{{z{{{{{{{{||||{{z{{|{{{||||{|||{|{{|{{z{||{{|{{{{|{{z|{||{||||||{{{z{{{||{|{{|||{{{{{{z|||||{|||{{{{{{{}|{|{|}{{{{{{{{|{||{|{}|||{|z{{{|||{||||||{{{{{z|}}|~||||{{||{z|{|{|}}|}{{{{{{|{{||}|||}{{{z{||{{}|||||||{{{{{{{||{{|{}{{{{|zz{z{{|z|}{||{{{{||z{~}|||~}{{|{z{{{||}||{}|{|{{{{{z|{|{||||{{z{{zz{{{{{{||{{{{{z{{z{|||{|{{|z{z{zz{{|z{{|{{{{{z{{{z{{|{{{{z{{{zzz{z|{{|{{{|z{z{{|z{{{{||{||{{z{z{z{{{|{|z|{{zz{z{{yz{{||||{{{{zzzzzzz|{|{{{{{{{{z{z{{{{{|{{{{{z{{|z{{{{{|{|{z{{{zz|{{{{{|{|{{{z|z{{{{{{{{||{{zzz{{z{||{|||||{z{{{{z{{|{{||z{z{{{{{{{||{{{}{{{{{{z{z|||z{{|{{{z{{{{{{||||{||{||{{{{{{{|}||}|{z{{z{{{|{{{|||||z{{{|{z|}{|{|}|zz{|{||{{|{||||||{|{{||{||||||||{{||zz{{||{{{{||{{{{{{{|||{}||}~|||z|{{||{{|{{|||{{z{{z{{{{|{{|}|z{z{{{z{||{|{{|zz|z{z|{{{|{|}}{}z{||{{{{{{|||||{{{|{{z{|{{{|}{{{{{{{zz{||{||||{{z{{zz{{|{{|{{{{{zz{zy{{{zz|{|{zzz{z{z{y{|{zz{{{{{{{zzzzz{{{{|{zz{zzzzy{z{{{{|z{z{{{zzzzz{{z|{{y{zzyz{zz{||{{|{{{zzzyzzz{{{z{{z{{zz{{z{{z{z{{{{{zz{zzzz{z{zzz{{{{zzzz{{z{{{z{{{|{{{z{{|z{z|z{{{{{y||zz{{{z{{{|{|{z{zzzzz{{z{{{{|{{zz{yzz{{{{{{z}{{zz{zzzz{|{{|{{{{z|{z{{{{||{}|{{z{{{{{{z|z}{||{z{zz{{{z|{{{{|{|{{{|{{z{{|{}{{|{|{zz{{{{|}{{{||||{|{z|{|{{|{{||{|z{{z{|{{}|||{|{|z{{{z{{}{{{{||{|{z{{{{{{{{z}{|}{{{{{|zz{{{||||z{zz{z{z{{{{|{||{{{{{|{|z{z}{{||{z|{zz{{{{{{{{}}}}|{{{{z||||{||||{{{zz{{{|{{{{{|{zz{z|z{z|{{|{z|{z{zzz{{{{{z||{{{{z{zz|z{|||}{|{zzz{z{z{z{|{{z{|zz{{{zzzz{{{y{z{{z{z|z{z{{{z{{z{{zzzzz{zy{{{{{{{{zzyzz{zy{{{{{{{{{zz{z{{zz{{{{{|{z{zz{zzzz{|{{{|{{zzzzzzzzzzzz{|{zz{zzzzzz|{{{|||{{zzz{yzz{z|z|{{z|{zzzzz{{{|{{z{|z{zz{{|{{{z{{|}{{{{{z{z{{{{z|}{|zzz{{z{{{{zz{{{{{{zz{{{{||{{{{}{|{{{{{zz{||{{}|{{{{{{{{{{{}|{||{|{{{{{{|{|||||{{zz|z|z|{|}|||||{z{|{|||{{|{|{||{{z|{|{{z|||||||{z{{{{{z|{||{}{{{zz{{{{z{{{||{|{{{z{{z{y|{{|{||||{zz|z{{{{||{|}}{{{{zz{zz||{{{{|{{{zzzzzz{|{||}|||{{{{|{{|{|||||{|{zz{{z|{{y{{{|zz{yz{z{{|{||||{{z{{{{zz{{|{z|{{{{{zzz{z{{{{||z{z{{zz{{zz|{z{{{z||{{{zz{zz{z{{{{{{zzz{z{{{z{{||{{yz{zyzz{{{{{{{{zzzzzzyzz{{{|||{{z{zz{zz{{{{z{{|zz{z{zzyzz{z{{{{{{{z{y{zz{{{{|{zz{{z{{zyz{{zz{{|{{z{zz{y{z{zz||{{{|zzzzz{{{{{{{{zz|z{zzz{z||{{|{z{z{|yz{{z||{{{{{z{{zzzz{{z{{{{{{z|{{{zz||||{||{|{{{{|{{{{{||{{{|zz{z{z{{|{{||{}{{{{||{{{{|{|}|||z|{{z|{{||{{{||{{{{{{{{{{{{|}|||{{{{{{{||{{}{|||{{|zz{{|{|||||{|{|{{{{{{{||{{|{{{z||{z{{{|{|{||{zzz{{{{{{{||{||{{{{{z{{{|{|{{{{z{zz{z{{{{{{{}}|z|||z{|{{||{||}}|{{{{zz{z||{||}|{{{z{{{z|z{{|{|{{zzz{{{{{{{|{z|{|z{z{z{z{{{{{{{|{zzzzzzz{{{zz{{{{zz{zyzz{{{z{{{{{{zz{zz{|z{{{|{|z{zzzz{z{z{{{{{{{{z{zzzy{z|{{{|{{{{yzz{zz{{{{{{|zzzz{zyzy{{z{{{{{{z{zzz{zz{{{|{zzzzzzzzz{{|{{{|{zyz{{zz{z|{{{{{{z{{zzz{{{z{zz|{|zz{zzy{{{{z{{{{|{{z{yz{{||{{{{|{{zzzz{|{z{{{z{|{{zzz{{{|||{{{|{{{{{y{{|{|{|{{|||z|{{{|{z|{{|{|{|{{{{{zzz|{{{||{{|y{{{z{{|{}{|||{{{|zz{{|||{{||{|{{z|y}{{z}|{||}||z{{z{{{|{}{{|||{{{{z{{{|{{|{|}|{{|{||{{{{{|{||{zz{{{{zz{{|}|{|z{{{{z{{y{{||{||{{{{{{zzz{{|{{{||{{|{{{{||{{{|{||{{|{{z{{||{||}||{{{z{z{z||{{{|||{{{{{{{{|}{|{{{|{{{yzz{z|{|{{|{|{zzz|z{z{{{{{||{zzzzzz{{z|{{{{|{{{{|{{zz{zz{{{{{z{{zzz{z{{|z{{{{{{z{{{y{{{{{{{{|z{zz{zzz{||z||{z{{z{{{{{{z{{{{{{{{{y{|z{|{z|z|zz{{{{zz{z{{|{{|||{{{z{z{{|{z|{z{{z{{zzzz|{{{{z{{|{z||{zy{|{{{|{{|{{{{{{z{z|{{{|{{zzz{{{zy|z|{{{|||{{{{z{{|{{{{{{{{z{{{{{{{{|||||||{zz{|{||{||{}{||{{{{{{z|||||{|||{{z|{{{{|{|{|||{{z{{{|z{||{}||}|z{{{{{zz|}||||||{|{z{z{{||||||||{z{z{z{{|{||{{|{{{{|{z{{|{{{||{{||z{zz{|{{||{||{|z{{z{{|||{{{{|{{{z{z{{{{|{{}||z|{{|{{{||{{|||||{{{{{|{|{|||||}||{z{|{{{||{||{{z{z{{zy{{|{|{{{|z|{{z{zzz{|{{|z|{z{z{z{zz|{z{{{z{z{zzzzzz{{{z{{{{{z{{zzz{{z|{{{z{yz{{y{z{z{{{{|z{{{zz{zz{{|{{{{|z{zzzzzz{{{{{{|{{{z{zz{z{{{z{{{|{{z{zz{zz{z{{{|{|z{zz{zzz|{{|{{{{{zz{{{{{|{{z{|{{{{{zzz{{{{{z{{|{{{|zzzz{||{{{{|{z{z{z{z{{||z||{{{z{z{z{|{{|z{|{|zzzzz{||{||{|{}||{{{{{{|z||{{||{{|{{{|{|}{|{|||{zz{{{z{{|}||{|||z{z{y{{{|}||||{{{z{{{{{{|{||{|||{{{{|{{{||{||}{{z{{{{||}{||{|||{z|{||{{|{}{|{||{{{{{{{{||||||||{{{{{{z|{|{||{|}{|{{{{{{{|||{{|{{{|z{{{{{{{{{}}}z|z||{|z{|}}|||||{z||{{{z||}|||{|{{{{{|{{}|{}||{{z{{zz{z{{||{|{|{|{{zz{z{{||{|{{z{z{z{{z{{{{z||{{{{{{z{z{|{|{|{{|{z{{{z{|{|{{|{|zzzz{z{z{z{|z{{{{{z{z{z{{||{|{{{||{{z{zz{|z{||{{|{{{zzzy{{{{{{{|{{{{z{z{{{{{{{{{{zzz|{{z{{{|||{{|{{y{{{{{{||{|{|{{{zzz{z{{{{||{{z|{{{zz{{{{{|||||{|z{{z{{|z{||{||{|z{{{|{||{{{}{|z{{{{{{|}{{{|{{{|{z{{z{{|||||||{|{z{|{z{||||{{||z{|{z{|||||||||}z{|{|||||{{|||||{|{{}{{{|||{|{}|{{zz{z{||||||}||{||{||{|}{||{||||{|{{{{|||}||{|||{{||{{}}{{|}|}{||{z{{{{|{{|{|{{{|{{|{z|||||{||{{{{zz{{{{{{z{{|||{|{{{z||{|{{}|{{{{{z{{{{{{||{|{{z{{{{{||||||}{{zz{{z{{z|{|{{}|{{zz{{{y{{{|{{{|{zzzz{z{z{|{{|{{{{{{|{zz{z{zz{{|z{{z{zz{zz{||{{{{z{zzzzzz{{{|z|{z{{zzyz{z{{|{{{|{z{{zzz{z{{|z|{|{zz{z{zzz{{z{}z{{{{zzzzz{{z{{{{{{z{z{{{z{{|{|{|{z{{{{z{zzz{z{{z{|zzz{z{z|{{|{|||{{{{z{z{{{{z{||||{{|zzz{{|{{{{{{{z{{z{{|||z{||||z{{z{zzz||{|||{{|{z{z{{{{||{||{{{{|{|{|{||{||||||z{|{z{{}|{||||||{z{|{{{||{{|||||{|{z{|{||{{|{{|{{|{{|{}{}{||{|||z{{|{{z{{|{{||{|z{z|{{{{||{}{{|{{{z|{{||{{||{{{{{{{{|{{{|{z|||{||{z{z{zz}|{{|{{{{yz||zz{{|{{}||{{|{{{{{||}|{|}}{{|{{z{{||{{|||}{{{{{{zz{z||{||||{{z|z{{{{|{{{}||{zzz{zzz{{|{|{|{{{{z{{{z{|{z|{{{z{{z{{{z{|{{|{||zz{z{{{{{{z{{{|{{zz{y{zz{{||{{{{zzz{zy{{{{{{|{|{z{{zz{{{{z||{||{z{z{zz{{{{{{{|{{|zzzzzzz{{z{|{{{{z{z|zz{{{|{{{{{{zz{{{{{{{{|||}zz{{{z{{{{{{||{|{zz{{z{z||{{{|{{|z{{y{{zz|{{{||{zz{{{{{z}|{{z}{|{{z{z|z{{||{{}{{{{|{{||z{|||||{{{{|{{{{||||}{{||{{{{{{{{|}{|||}}{z{{|{z{|||{{||}{{{|||{{{||{|||}|{{z{{{{|}||}|||{{{{|{{{}|||{|}||{{z|{{{{||{||{|{{{{{z{{|{||{}|||{zz{{|{||{|{{~|{{{{|{{z||||{{||z{{{zz|{{{|||{|}z{|{{z|{||}||||}||{|zz{{{{{|{||}{z{z{{|z|{{{{|||{z{|{zzzz{{|{{|||{{{zz{z{{|z{|||z{{{{{zz|||z{|{{{{z|{{zz{{|{zz{{{z{zz{z{{|{{z{|{{z{{zzzz{{{{{|{{{z{{{{{z{{{{z|z|{zz{{|{z{{|{|{{|zzzz{z{z{{{z{{{{|{{y{z{{zz{{{z|{{{{z{{{zz{{|{||{{{{zzz|{|{{z{{{{|z{{{zz{{{z{{{|{{z{zzz|zz{||||{|{{|{{{|z{{{{||{|{{z{{z{zz||{|{{||z{{{||z|||z{}{|{{{z|{{z{z|||{{|{z{z{{{{||{}||}|{||{|{z{|{z{{{|z{z{{{z{{||{||||}{{z{||{|||{||{|||{{{{|{{{||}{|||}{{|{{{||{}|||{{|{z{{||{{|{{|||}{|{||{{{||{|{|}|{|zz{z{{||{{{|||{{{|{{{{{||||||{{|{{{{zz{z|{{|{|{{{{|z{z{{|{{{|}{{{{z{{{{{{{{}}|{{zz{{{{||{{|{||z{z{{{z{{{{|z{{|{|zzz|zz|{{|z|z|{{z{{{{z{{{{{{{{|{{zzzzz{z|{{{{|{zz{{y{zz{z{z{||zzz{zy{{{{{z{z{{{z{zz{zz{z{{{{{{{z{{zy{{{|{z{{{{{z{zz{zyz{{{z{{|z{zzz{{zz|{zz|{|z{z{{zzz{{{{|{|{{zzz{{|{{{{{{{||{{{zzzzz||{{z|{zzz{z{zzz{{{||||||{{z{zz{{|{||{{z{z{zzzz{{|{{{{{||z{{yz{z{|||{|z||z{{z{{z{|{||||}{|{{{{{z|||||||}{|{{{zzy||||{{{{{z|z{{{{{|||||}{|{{{z|{{||z{{||{}{{{z|{|{|||}|{|{{||{{{{||{|{|{}|z{{z{{|{|{{{||{{|z{|{|{{|{||{{|{{|z{{{{|{{|{||}|{zzz{|{{|{{{|{|{{{z{{{{||{{{{|||{{||{zz||{|{|{}{|{{zzzzz{{|{||}{zzz{{{{{z|{||}{{||{{{z{{{{{{{}{{zz{z{{z{{{{z{{|{{zz{{zz{z{{z{|z|{{zzzz{{{|z{z{{{z{zz|zz{|{{{{{|zzzzzz{{{{z{{||||{y{yzzz{{|z|||{z{{{zzz{{{|{{{||{zz{|z|{y{z|{{{{{{zy{zz{{{{{z{||zzzzzz{{{{|z{{||{{{zzzzyz{{{{|{|zz{zzy{{{|{{{|{{z{{zzz{zz{|{|||{z|{z|{zz{||{||{{{{{{{{{{|{{||{||{zz{{z{{{||{{{{{{{{{{{{{{|||{|||{|{{{z|{z{||{{|||{z{{|z{z}|{}{||{|{z{{{z{|||||}{z{{|z|||{{{||||{{{z{{{{{}}||||}||z{|{{z{|}||}|{{{z{{{{{|{{{{{|}||{{y{{{{{{||{|{|{{z{{{|z{|{{|{|||{{zy{{{{|||}{{}{z{z{y{{z{{{{|||{|{||z|{|{|{{{z}|{z{{z|||{|{{|||{|{{zz{{{{{{|{{|{{z{{{{zz||zz|}}{{{z{{{{{|{{{|{|{{zyz{{{{{{{{{|{{zzz|yz{zz|{z|{{z{zzzz|zz{{{{{||zzz{zzzz{|{{z{z{z{{{zzz{{{{{{{{{{z{zzzzz{{{{z|{|{zz{zzzzz{zz{zz|{zzz{zzz{|{z{|{{zy{{{zzz{y{|{{|{zz{{zz{{{|zzz{{|{{zz{zzz{{{{{{|{zzzzz{{z{|{|{{|{|{{{{z{z{|{|{||{{z{{{{{z{|||{{|{|{{{{{y{{|{{{{|{|{{{{{z{{||{||||{{{z{{{{{|{|{{||{{z{|{z|{|{||{|{||{{{{|{|{|||||{{z{{{{|{|}{{{||||{|{{||{{||}{|||{{{|{{|{{{{{{||{{zz{|{z{||{|{{{|{zz{zz{{{|{|{}}|{||z{{{{{|{||{||}|z{{z{zz}{|{z{|{{{{z{{z||{||}|}{{z|{zz{z{}|||||zzz{zz{{{{|||}|{|z{{|{{{|{{|{|||z{zzzz{zz|z{z|{{{z{{z{zz|{{{z{{{{zz{z{{z{|{{y{{{{z{zzzz{{||z{{{{|z{zz{{zzzz{|z{|zzz{zyzzz{{{|z{{zzzz{{zz{||z{{{{{z{{{{zzz{zz{{|{zzzzzz{y{{{zz|{{{zzzz{yzzz{z{|{{{z{{yzz{z{{{|{{{zzzz{{zzz{|{{|{{{z|{z{{y{|{{{|{|{y{{zz{|z{|||{{{{{|{zz{zz{{|{z||{z{{{{z{{{|{{{|||z{{{{z{|{|{{|{|{{z{{{{{{{z||{|||{|{z{{z|||||||||{{{{{{{|{}||{|{||z{{{{{{{||{|{z|{{z{{||{{|{{|}||{zz|{z{{|||||{||zz{z{z{z{{|||{|{{{{z{{{{{||{|{{{{{{{|z{||{{|{{{|{{z|{{{zz|}{|||{|z{{|{{z|{{||||zzz{z{zz{z|{||{{{{{{|z|z|{{|{|{|||{{{{zzz|}|{{{|z{zzz{{z|{||{{}|{z|{{zz{z{{{{{{|{zzz{{zz{{{{{{{{{zzz{zzz|zzz{{|z{zz{{zzz{{{z{{{|{zzzzzz{z{{{z||{yzyzzz{{{{{{zz|{zzzzz{zz{z{{{{||z{zzzz{zz{zz{{{{zzy{zy{z{z{|z{{{zz{zzzzyzzz{{|z{{zz{zz{{z{{|z{{{{zzyz{{{{{{z||{|{{{zzz{zz{{z{{{{{{zzzz{z{{{{z||{{{{z{zz{{{{||z|{{z{zzzzz{}|{{{z|{zz{zz{{{{{{z|||z{z{z|z{{|{{|{{{{{|{z||{{{{|{|||{{z{zzz{{|{||{{||||{{{||{{|{{{}||{z{{{||{|{||{|{{zz|{{|{{|||||}|{{{||{|{||{|{{{||{{z|z|zz{{{{{||{|zzz{{|{z{{{{|{|z{zzz{{{{|||{{|{|z{z{zz{|{|z{|{{{{z{z{{{{{{{||{{{zz{{zzz{|z{{|{zz{{z{{{{|{{{||{{{{y{{z{{{zz|{{|{{z{zzzz{{{{zz{{{{{yz{zz{{{{|{|{{{{yz{zz{{{{z{|{{z{zzz{{{{{z{|{{{zzzz{zz{{z{{{z{zzzzzzzzz{{{{{{{{zz{zzy{z{{z{{z{{{{{zzzzz{{{{|{{{zzzzz{z{{zz{{{{{zzz{zzz{zz{z{{zz{{{zzzz{{{{{{{{zzzz{z{z{|{{{{{||{{z{z{z{z{z{{{|{zz{zzyzz{{z|{{{{z{{{{zy{|{{{|{z{zz{zzzz{{|{{{|{|{y{yzz{{{{|zz|{zz{{{{{{{|}|{||{{z{{{{{z||{||{|||{{{z{{z{{||||||{zz{{{{z|||z|||||{{z{{{{|{|||}|{{{z|z||{{|}{|||||z|{{|z|{|||{||||{z{{z{{{|{|||}|{{{{|{{{{{{{{|||{{{zzz{{||{{|{{||{{{y{zzz|{|{|{{{{|z{z{{zz|{{|{{{|z{z{zz{{{{||{|{{{z{zz{{z{{||||{|{z{{{z{z{||{{{{zzxz{{z|{{{z|{{{zzz{zzzy|{{z{||{{{{{{zzz{zz{|{{{{zzzy{z{{{zy|{{zzz{z{z{zzz{{z{|{zzy{{{{{{{}|{{z{zzzzzzz{||{{|{{zz|zzzyzz{{{{{|zzz{{zzzzz{zzz|z{{zz{zzz{{z{{{{|{{zzzz|zy{{z{|{||{z{z{zyz{{{{{{}|{z{zzz{{{{{z{{||{{{zz|z{{||{|{{{{|{{z{{{{{{{{{{{{zzzz{z{{{|{{{}{{{{{|{{{{|{{{{{|{zz{|{z|{|{||}||{{{{|{{{zzz{{||}{||{zzz|{||{{{||}z{|{{{{||}{|||}{{{{{{|{{|{{|||||{{z{|{{}||||||{|{{z{||{{{||||{|}{z|{{{{{{{|z{|||{{||{{{|{{{|}|{|{{z{{|{{{{{z|{|{z{z{z{{{{|}{|||z{{{z{{zz||{{}|{|{{z|{|y{||{{{{|{{{{{zz{{{{|||{}z{{{{{{{|{{{|{{|{zzz{zzz{|||zz|{{{|{z{zz{|||{{||{{{z{z{|z{|{{|{|{{{zzzzz{{{{z{{{{{zyz{z{{z|{{{||z{zzzzyz{{|{{||{{{zz{zz{{{||{{{{z{z{{{zz{{{{{{|zzzz{{yzzz{{{{|{{zz{zzy{{{|{{{{{z{z{{z{{zz{{y{{{{z{zz{zz{{{|{{{||zy{|{z|{{{{{{|{{{z{{z{zy{{|{{{||{{z{z{{{{|z|{{{|{{zz{zzz{{{{{{||{z{{z{{z{|||{|{||z{{{{{{||{|||}|{{{{|{{{{{|||{||zz{|zz{z}|{||{|||z{{|{|{{|{{}{|}{{{zz{{{{|{{||{{|{{{{|{{||{{}{|||{{|{z{{|{|{|||{{z|{{z{{{|{||}|||{{{{{{{{|{{|}|{{{{{{{||{|{|{|}||{z|{{{z{|||{{}}|z{z{{z{z||{|{{{{{|{{{zyz||z{{{|{|z{{zy{||{{{||{|{{zz{{{{{|{{{{|{zz{z{zz{z||{{||z{{zyzz{{|{z{{{{{{{zzz{z{|{z{{zz{{z{{z{{{{||{{z|{z{{y{{zzzz{{{{{{zyz{yzz{|{z{{{{zz{zzzz{z{{{{{{|yz{zyzzz{{zz{{||zz{yzz{zz{{{z|z{|zzzzzz{z{{{z|{{zzzz{z{z{zz|{z}|zz{z{zzz{{|||{z{zzzzz{zz{{{{{{|{z|z{|{{{z{{{{{}{z{{{{zz{{|{{|{|{{{z{{z{y|{{{{{{{{zz{{{z{{|{{z||{{{|z{z|{{{{||||{{{{|{z{{{{{|{}}||zz{{z{y{|{{|{|||z{{{zz{{|{|||||{{{z{{{{|{|||{|||{{{z{{{{{||{||}}{z{{{|{|||{z||}{{|{{{{{{|{|{|||{z{{{z{|z{||||{|{{{z{{{||{{{}||}{{{z{z{z|{{{{|{{z{zz{{{z|||{||{|{{z{{{z|{||{{{{{|{z{z{zz|{{{|{||{z{{zzz{{{{|{||||{{z{zz{{{|{zz|||{{{zz{zz{{z{{{{{z{zz|{z{{{{{{|{{{z{zzzzzz||{{{{{z{{z{zzz{z{{{{{zzz{zzz{|z|{{{|z{zzzzzz{{{{||{{{zz{zzzzz{{{|{{||z{{z{z{zz{{{{{{{|{{yzz{zz{{z{|z{z{{z{zyy{|{{{|{{zz{zzzz{{{{{{{{|z{z{zz{z{{{{z{|{{zz{{{{{{{{{|{{|{z{zzy{{z|{|{{|{{z|{zz{z|||{|{||{z{{{z{{{{{{|{|{||{z|{{{{{{|||}|{{{z{{{{{{{||{|||{||{{zz|||||||z|{z{{{{{}{|{|||||{{{{||{{{}{|}||}{{{|{{z|||{{||||{||{|{z{{|{|||{|{{||{||{|{}{{|{|{z{zz{z{{||}{|}{{|zz|z{{|{|{|||{{{zz{{z{{||{||{|{{zzzzzz{{{{|{||{{{{{zzz||z|{{{{{{z{zz{{z|{z|||z|{{z{z{{{{{{|{{{z|{zzzzz{z{{{{|{{{zyz{z{||z{z{|zz{zzz{z{{z{{{|{|{{{{zyy{{{{{{{zz{zzz{z{{zz{{{{|zzzzzzzz|z{z{{|zz{zzy{z{{{zz{{{{{{z{{zzzy{{|{{|{zz{zzz{y{z{zz{{|{{{{zyzzz|yz{|{{{zz{zzzy|{{|{|{{{zzz{z{y{{{{|{|{zzzzzz{{{{||{{{{{zzz{{{z{{|z{z{{|z|zzzzz{{{{|||{z{{{{{zz{{||{||{{zzz{{{{{|{{{{|{{{zz{{z{{{|{|{|{z{{{|{{z{||{{||||zz{|z{z{||||{|||{|{{{z{||{||||{{{{{{|{|{{{|{{||{z{{{|{{{}|{||||{{|{{{{{|{|{{|||{zz{{{{z|{z|||}||{{{{{{{|{|{{|||{{{z{{{{{|z|{||{|{z{z{{z{{{{{{{{{y{{zz{{{{{|{{{z{{{{{z{z{||{{z{|{{zzzz|{|z|{|{{|{z{{zzz{|{{{{{||{yzz{yzz{{{{zz{|z{{zy{{z{z{{{{{|zz{zzzz{z{{z{{{z{{zzzzyz{z{{{{zzzz{{y{zz{|z|{z|{zy{zzzzzz{{||{|z{z{zz{zz{{|z{{z{z{z{zzyz{{{{{{{{{zzz{yzzz{{{{{z{{z{zzzzz{{{{{|zz{yzzzzz{{{{{z||{{zyzzyzz{|{{{|{z{{zz{{{z{{{|{{||{yzzz{{z{||{z||{{z{{zz{zy|{{z||{{z{z{zzz{|{{{{{{{{z{{zz{z|{{{{|{z{zz{{z|z{||{{|{{{{y|z{z{{{}{{|{{z{{zz{z{|}|||{||zz{{z{{{{{{||}||zz{{|{{|{{{|||}|z{{z{{{z}{{|||{|z{|zz|{|{|{{|||{{{{{{{{{||{{||{{{|{{{{{z{{|||||{{zz{zzz{{{{|||{|z{{zz{{{{{{{{||{z|{{z{{|{|{||{|{|{z{z{z{{||||{zz{zzz{z{|{|{{|||{zzzzzz{z|{{{|||zyzyzzzz{|{{zz{{{|z{zzzz{{{zz|{}z{{yyz{z{{|{z{{{{y{{zzzz{z{{z{{{{{{{z{{{{zz{{||{{z{{{z{{z{z{z{{|zzz|zyyz{{z|z{||z{{zzzzzzz{z{{{{zzzzzzzzz{zz{{{|{{{y{{{{{{z{z{z{z{z{z{zzzz{|{{{{{zzz{zzz{{{{|{{{{z{{{zzz{zz{{zz|y{{{z{z{{{|{{z|{{{{z{yz{z{||{|z{z{zyzzzz{|z|z{{{{|{{{{{z|{{{{|||{{{z{z{{z||||{|zy{{{zz{{||||{{|{{z{{y{zz||{||||||{{zz{{||}|z||{|{{||z|{||||{{|||{{{|z{{z|||||||{{{{|{z{|{{}||||{z{{z{{{||{{{{|||{{{{{z{z||{|{||}z|z{}{{{{|{|||{|zz|{z{{z{{{{|{|||{{{{{{z{{{{{{{z{{zz{zzz{{{z{{||{zz{zzzz{{{z{{||{yzzz{z{{z{{z{{{{z{z{zz{z{{|{z|{{zzyzzzz{{{z{{|{{{zzzyzzzz{{z{{{zz{zzzzz{{zz{{{{z{zyzzz{{zz{{zz{zzzzzy{zz{{||{{{zzz{yyyzz{{z{z{{zyzzyzzyz{z{{{|{{zzzzzzzzzzz{{z{{{zy{yzzz{{{z{{z{zzzzzzy{{{{z{{|z{{y{z{z{{{{{{{{zzz{{z{{{z{{z{||z{z{zzzz{{|{{{|{zyz{{y{{{{{}{{z{{z{{zzzy|z{{||||{z{z{{{z{{{{{||{{zzz{{z{{{||{|||{{yz{z{{{{{||{|||z{|zyzy{{{|{|{{{zz{z{zz{{|{{|||{{{{{|{{{||{{||||{{|{z{{|{{||{{|{z{{z{{{|{{|{||||z{{{{z{{{z|||||{zz{{z{z|{{|{||||zzz{{{z{{{{||||{{{{{{z{{{||{{{{{zzz{zzzz{z{{|{{{{z{{{zz{||{{{|{|{{z{zz{|{{{{|{{{{zzzzzy|{z{||||{{{{{zz{{{{{z{||{z{zyz{z{|{{|{{|{zzzz{{zz{{zz{{|{z{z{z{z{{{{||{z{{zzz{z{z{z{{zz{{{zzz{zz{{{|z{{{zz{zy{z{{{|z{{z{{{zzz{yyz|{z{z{{z{zzzzzz{{{{{{z{{{zzz{zzz{z{{{|{{z{{zzz{zz{{{|{z{{{z{y{|{{{z|z|{zzz{zyzz{z{{{{{|z{{zzzzz{z{zz||z|zzz{zz{{{{{|{{{{z|{{{{{||{{}{||{{{zz{{{{{{{{{{{{{{z{y{||{|{|{{{z|{z{{|{{{{{{{}{{{{{z{{z{|}{|||{|{{{{z{z|{||{|||z{{{{z{{||||||{|{z{{{{||{|{{|||||z||{z{{|{{|{|||{z{|{z{|{|{|||{}|{{{{{{{{{{{||||z|z{{{z{{{{{|||{{{zzz{{{{{{|{{{{z{{zz{{z{||{{{||z{zz{z{y{|{z|{|||z{{{{{{||zz||{|{{z{z{zz{z|{{|||zz{{zzzz{|||{z{}{z{zyzzy{{{||{{|zz{{zzzzz{{z{z{z{{{{zzzz{{{{z|{|zzzzz{zz{{z{zzz{{zzyzzzz{{{{z{{z{z{{y{z{z{||{z|{zz{zz{zz{|{|{{{{{zz{zz{y{{z{{z|{{|{zzzz{zzz{{{{{zzz{{{yz{|{{{{{|{zyz{zzzz|{{|{{|{z{zzz|{z{{{{{{{zz{{zz{{|{{{{{|{{{|z{{|z{|z|z||{z{{zzz{{|}{z{{||{zz|{{zz||{|||{{|{{{{{|{{{{|{||{{{{z{{|zz}{|||}||{z{z{z{z{||{||||{{{|{{{{||||||{{|{|{{|{|||||{|||{{{z{{{{}{{{||||{||{{{{{{{|{|{{|z{{{{{|||{|||}||{z|{{{{|||||{||{|{{{{|{{|||||}{{{{{{{|{||{||{{|{z{{{|zz{|{{{z{|z{zzz{z{{|{z{|||{z{{{z|zz{{|{{{{|z{zzz{{{{{{}{{{|{{z{zzyz{||{{{{zz{zzzzz{{{{{{{{z{zzz{{z{{{{{|{z{{zz{{zz{z{{{{{z{z{zzyyz{z{|{{zzzzzz{zzz{{{{y{|{zzzzzzz{{{|{{{|{z{{{zzzz{z{{|{{{{zzzzzz{{{{zz{z|{zz{zzzzz{{z{|{{zzz{{{z{{|z{{{{{{zzzzy{z{{z{{{{|{y{zzz{{{{|{{|{|{{{{z{z{{z{{{}z|{{z{{zy{{{|{{|{{zzz{{yz{{|{{{{||{{z{{z{{|{{|{{{z{{z{|{zz|{|||{||{{{|{z|{||{||{{{{{z{zzzz{||||}|||z{{{{z{||{{|}}|{{{{{z{||{||||||||{{{{{{{}|{||||{{{||{{{{|{{|{|||zz{{yzz{{{|{|{{||{{{{{|{|z{{|}{{z{{{{{z{{{{|||{|{|z{{zz||{|{{{{{zzz{{z{{||{{|{z{{zz|z{z||{||{||{zzz{{y||{{{{{||{{{{{{zz|{z|{{||{{z{zzzzz{z|z|}{{{{{zzzz{z|z{{{|zz{{|z{z{{{z{{|{|z{z{z{zz{{{{{{{{|{yz{z{{z{|{|{{{zz{{zz{{{z{{|{|{{zzzzz{{z{{}{z||{{zyz{{z|||{|{|{{{{zzzzyz{|{z{{zz{z{{{{{{{z|{{{zz|z{zyy|{|{|{|{{{{{zz{{{{|||{||{{{z{z{{{{{{|{|{{z{zzz{zz|{{{|{|z{zz{z{{z|{{||{{z{{zzz{y{{|{{|~{|z{{{{z{{|{{{|{||{z{{{|z{||||||{{{{|z||{|{{|||}|{z{{{{{{{|||{|||{z{||{||||||}|||{|z{{{{||{|||{}||{|zz|{{{||{{{||{z{{z{|{|}{{|||}|{z{|{|{z{{{||||{{{{{{z{{|{}|{{{{|{{{z{y{|{|{|}{z{{{{{{{{||{|{||{z{{zz{{|{{|{{z{|{zzzz{{zz||{||{{|z{{z{z{{{|{|{z{{zz{z{z{|{{{{|{{zzz{yz{z{{{z|{|{{{{zzz{z{{{{{{{zy{zzzzz{{z{z{{{{zy{z{zz|y|zz{{|{zy{z{zzz{z{z|{{zz{{zzyyz{z{z{|{{{{{z{y{{z{{{{{{{{{zz{zzz{z{{{{{{{{zzzzzz|{{{{{|y{zzzzyzy{{z|{{{{{{y{{zzz{|z}{|z{zz{z{{z{{{{{{{|{{z{zzzz{{{z{|||{z{z{zz{z{{|{{{{{z{{|{{zz||{{|{{{z{z{{y{|{{{{||{{{{{{{z{|}z{{{{{{{zz{{{||{||||{}{{{z{z|{{||{{{||{{|zzz{{{|||{{{{{{{{{z{{{{||||||{z{{{{||z{{}|||||||{z{{z|}||{|}|{{{{{{{{{|{|{{|||{{~{{z{{{{||}||{{{{{z||z|{|{|{|z{{{{{{{{|z}{}||{|z{z{{{{{{||||||{{z{yzz{{|z{|{|{zzzz{{y{{{{z{||{y{z{z{{{{{{{{{{{z{zz{yz|{{{{{{{{{{y{{zzz{|{z{{z{zzzz{zy{{{|{{{|zzzzz{zz{{z{zz{{{{zzy{zzz{zy{z{z{zzzzz{zzzz{z{{{zzy{zzzz|{z{{z{{zzyzzzz{z{{{{|{{{{zzz{zzz{z{{{{{zzzz{yzz{zzzz{{{z{{yzzzz{{z{{{{zyzzz{zzz{{{{zz{{zyyzyz{z{{{{{z{{zyz{zzzzzz{|{|{{{{{{{zzzz{{z{zz{{zzz{zz{{{{|{{{{z{zz{{z{{{{{{{{{{z{zzz{z{|{z{{{zzzz{z{{{|{{|z||{z{zz|z{{{{z||{||{z{{zzzz||||{||||{{{{{z{||{||{{{{{|z{{{{{{|||||{|{{{{{{{{}||{{z||z{{z{{z|{||{|||{z{{|{{{{|{{|{{z{z{{{{zz{|{}{z{{z{z{{z{{|||z{{{{{{z{zy{z|{{{{{{{zz{zzy{{|{|{{|z|{{{z{zzzz|{{{|{{|yz{zzz{{{z|{|{{{{z{z{{z{zzz{{|{|{z{{{z{z{||{{{zzz{y{z{z{{{{{|{|{{zzzzzz{{zz{||{{{zzzzzzzz{{y|z{{{yyzzzzz{z{{zz{y{yzzzyzy{zzz{|{{yzzyyyz{{{zz||{{z{{z{zz{|z{{{{{{z{zzyzzy{{zzzz{zzzzzzy{z{z{z{zzzz{z{yzyz{z|{{{|zz{zyzzz{{zz|{|{{zzzzzz{{zz{{{{|zz{z{zzy{{z{{|{{{{{{zzzzz{{{{|{{|{{zz{zz{{|{|{|{zzz{{zz{|{|{z||{zzzz{z{{{|{}{|||z|{{{{{{{{{{{|{{{z{{{|{z|||{||{|{{{{{z{{|{{|{|||{zz{{|{z{|||{{{||{{{{z|{{||||{|{|{|{|z{{{{z{|{{{{z{{|{{{{{{{{z|||{{|{zzz{|||||{||z{y{zzz{{z|{|{|{{{z{{{z{{{{{|{{{zzz{y{z{z|{{|{{zz{{z{{y{{|z{{{|{{{{{{z{z{{{|{||{z{zyzzz{|{z{{||{zzzzzz{{|{{z|{{z{zzzy{z{{|z{{z{{z{zz{zz{{{|{{{|zzzzzyz{zzz{z{{{zyyzy{zzzzz|{{{|{yzyzyzz{{{z{{{{{y{{y{{z{{{{{|{{{zzzz{yzz{z{z{||zzzzzzzyz{{{{{{{{zzyzzz{{{z{{{{{{z{z|{z{{{{{{||{{zzyzyzz{{{{z{|{{{{{yzz{{{{z|{{zz{|{zzzz{{{{{{zz{zzzzx{z{{|{z{|{zz{{{zz{|{||||{{{zzz{zz{|{|{z||}zz|z{z|{{{|z||||z{|z{zzz|{|{z{{|{{|{{{{z{|{|{{|z{{z{z{{{|{|||{|||{{{|z|{{|||{{}||z{z{{z{|}{|||}{{{||z{{{|}{{|||{{{{|{z{||{|||{||{z{{{{|{{|{{{|{|{y{zz{z{{{{{|{|{{{{z{{zz||{{z{{{{z{{zzzz{|{{{{z|{{{z{{y{z|{{{{{z|{{{zyzzz{{{{{|{{{zzz{{{{z{|{{|{zz{z|zzz{{||{{{z{zzzz{{z{{{{{{{|{zz{zz{y{{|{z||z|zzzzzz{{{{{{|{z{{zzy{zz{z{{{|{{zzzz{zz{z{z{z{zzzz{{zz{zz{|y|z{z{y{{zzzz{{{|{{{|zz{zz{zyzzz{z{{{{{yzzz{z{z{{{{{zzz{{z{zyz{zz{{{|zzzzzzzz{|zz{{|{{{zz{z{zzzz|{{|{{{zzyz{z{|{{z{|{{z{z{z{zz{{{|{{{{zz{zzzz{||z{|{{{z|zz{z{|{|z{|||z{{{{{{z|{|{||||{{{{{{{{{|{}|}}||y{{{{{{{z|{|{|{{z{{{{z{{|{{||||zzz{zz{{{||{{}|}{|{{{{zz{||||||{|{|{z{{{||{{{}{{|z{{{z{{{{{{|||||{{z{z|{||}||{|{{z{y{{{|{}{{{{|{{zz{{{zzz{z{{{{{{{{z{{{z{{{z{|{|{{{{{zzzz{{|{{{{{{{{{z{z{{{{{z{|{{{zzzz{{{|{{|||{{zz{z{|{{{{{{{{{{zz{zzz{{{{{{{|{{zzzzzzz{{{z{z{{{{z{y{zzz{z{{zzzzzzz{zz{{{{z{z|zzzy{zzz{{{|zz{{z{zzyzyzz{zz{||{{zzzzzz{{{{{z|{{{zzyzzzyz{{{{{z|zzzz{zzz{{zzz{{{yzzzz{zzzzyz{{{|z{zz{zz{{{{{{|z{zzzz{z{{z{{{{{{|zzz{zy{z|z{{{{|{z{{z{z{zz{{{z{||{{{zzzyz|z{{{||{{zzz{{z{|{|{{{{{{z|zzzz|z{{{{||z{{{z{{z{{{||{|||{z{{{{yz||||||}|{{{z{{{{{{z{{|||{{{{{{{{{|{{|{|{|{|{{{{|||{||{|{{z{{{z||{|{|{|{{{{|zz{z{|{||{{|{|{{z|{z{|{{|||{|{|{z{|{{z|{{{{|||{{z{zzz{{|{{{{|{zzzzy{y{{|{||{{{z{zzzzz|{{||{|{{z{{z{{|{{{{{|{{|{{{z{zzzzz{{{|{|{z{zz{{{|{|z{|z{|{yyz{zzz|z|z{|{{z{zy{zz{{z{{{{z{{zzzyz{{|{z|{{{{zzzzzyzzz{y{||zyz{zz{y{{{{z{|{{{{{zzzz{{zz{{{|{zzzzzzz{{{{z{|{{zz{yyzy{{{z{{{|zzzyzz{z{z{{{{||z{{zz{{z{{{{{{|{{zzz{z{z{{{{{{|{{{zzzy{z{z{|{{{|z{{zzzz{{{{{{{{{zz{z{zz{z{{|{|{{{{zzz{z{{{|z{{|||{z{{{zz{{|{{||||{zz||zz|||{||{|{{z{{{{{{{|{{|||z{{{{{{z{{|{|{{|{z|z|{z{|{|{|{}||{|{{|{||||||||{{{{||{z|{{{||{|||{{|{{{{{|||{|{||z{z{{{|{|{|{|{|{|z{{{{{{||||}{}{{{zz{{z|}{||{||{{zzz{{z{||{{||{zzzz{{{{{{{{|||{zzy{{z{z{z{{{{{|{{z{z{zz{{{{z{{{|yyzzzzz{{{{{{{|{zzy{yzyz{|{z{z|zzzyzzzz{z{{|{{{{{{zzzzz{{{{zzz{{{zzzy{{{zzzz{{{{zzz{z{{zzzy{{{zzzzzxzyzy{{zz{{{{zzzzzz{z{{y{{{{z{zzyzzzz{{zz{{zzzz{zzzz{zz{zz{|{{{z{zzzy{z{z{{{zzzz{zz{zz{{z{{zzzyzzz{zz{|{z{{{{z{z{z{zz{z{{{{{{zyzz{zy{{{{{{||{{{{zz{z{{||{{{{{zzzzzzyz|{z{{|zzz{{{{{z{|{z{{z{{{zz{z{{|z{|{{{{{{{{{z{{{zz||{{|z{zz{z{z{{{|||{{{zzz{{{{{{{{|{||{{{z{|{|{|{|||||{{{zz{{zz|{}||{|{z{{{z{{{{{{|{{{{{{zzz{{{{||{|||{{|{{{{||{{{{{{}z{{zzzz{|{{z{{|{{{{{{zzzz|{{{{{|{{{z{{z{{{{{{|z{|{{{y{|{z{{|{z||z{{{z{zz|{|{{||||{{{|{{zz}{{{||{{zzzzzzz{{||{z{{{{{zzz{z|{{{{|{{zzzz{{{{{{|{z{{{{{{{{{zz|{{zz{{{z{{{zzzz{zz{{{||{zz{z{zy{|{|{z{zzzzzzzyz{{|{{{{|zz{zz{zy{{|z{{{{{z{zz{{zz{z{{{{{z{zz{z{zz{z{z{||zz{z{{zzzz{z{{}{{z{zz{{{{|{{{|{|zz{{zz{z|z|z{{{|{z{zz{zz{||{{{{|z{{{{zz{{|{{{{|{z{|z{{z{z||{|{|||{{z{{z{{||{z{{z||{z{{{|{|||{|||{z|zz{|{{|{{z||||{{{{zz{||}|{|||||{{|{{y{}|||}|}{{{|{|{|{{||{|||||{|||{{{||{{}}{|{{{{z{||||||||{{z{{|{|{{{{|{|{|{{{{{|{{{{||}||||{zz{{{z{|{{||}{{{zzz{z||{|{{||{{z{z{zzz{{{{{|{||||{z{zz{||{|{{{{{z{z{{{{{|{{{{{|{{{{{{z{|{|{{|}{z{{z{z{|{{{{y||{|z{z{{z{{|{{{z{{z{{zz{z{{z{z{{zzzyzz{z{{{{{z|{zzz{{{z{z|{{{{|z|z{yzzzz{zz|{{{zz|zz{z{z{{z{|{{{{{z{zz{z{{||{{{|{{zzzyyzzz{|{z{{{zz{z{{zzz|{|{{|{{z{zz{zzz{{z{z{|zzz{zy{yz{{{{{{{{{zzzz{z{{{{{||{zz{zzz{{{{|{{|{|z{|zzz{z{z|{|}{{z{{zz{{{|{|{{|}{{{{|{{{z{{{{{||{{{{z|z{{|{{|}|{|{{z{{{{{|||||{||{zz|{{z{|{{|{||||{||{z{{{||{{{{{{{{{{z|z{{{{{|||}z|{{{|{|}}||||{|{{{{z{||{||{|||{{z{{{{|||||||}||{{{{{{{{{||||{{{z{{{{{{{|{{||{|{{{z|{|{{|{}{{|{{z|{{z{{|{}{{||{z{{{{z{z{|{{{{{{{zz{{yzz{{{z{|||{{zzzz|zz{|||z{{{z{zz{zzz{{{{{{|{{zzy{z{{|{{||{|z{zz{zzz{{{{z{{z{z{zzz{zz{z{{{z|z{zz{zz|zz{{{{z{zyzzzzzz{z{z{{|z{{z{z{yzzz{z{{z{z{{zz{zzz{z{zz|{{zzyzyzz{z{zzz||zz{{z{{zz|zz{z{{{zzz{{zzz{{{z{{{zzzz{zyz{{zz{{{{zz{{yzzz{{{|{{{{{z{zzzzz{{{|||{{{z{zz{zz|{z{{|{{{z{{{z{zz{{{{{|{zz|{{{{{||{z{|{{|{z{|z|{{||||{}{{||zz{{z{{{||{||{z{{{{z{{|}{|{|{{z|zzz{z|{}{{{|}{{|z{{{z{||{|||{|{{{|{{{{||{{|||{{|{{{{{{{}|{|{||{{z{{{{|||{{{|{|{z{{{{{{{{|||{{{z{{z{{{{{||||{|{{zz{z{zz{z|{{||zz{zz{{{{{|{z|||zzzyzz{z{||{{|}{{|{zzz{{{{|||{{||{zzz{{{{{z{|||}|{|{z{{zz{|{z{|{z{{{y{{z{|{z{{z|{{{zz{{z{|{{{{{{{zzz{{zz{z{{{{{{{|{zz{{{{{{{z{{{{yzz{z|z{{|{{z|zzzyzz{yz{{{|{z|{{{zz{zzz{z|{{{{zz{z{zzzzzz{{z{z{{zzyzzy{{{{{z|{{zz{{z{zz{{z{||{{|{{z{{{z{{{|{|{|{zz{{{zz{{{z{||{{z{{{zz{{|{{|z|{{z|z{y{{z{||{{|z{|zz{{zz{|{|{{|{{{z|{{{z{|{{{|{{zz{z|{z|{|{{|{||{z{{{z{{{}z{{|{||z{{z{{{{||||{|{{{|z|{{z||}{{||{{|{{z{{{{||{||||}||{{{{{||||{{|||z{|{{{{{|{||||{|{{{{{{{|{{|||}|{{{|{|||{|{{{}{|{{{{{{{{|{{||{{{{z{{{z{z{||||{|{z|{{{z{{||{{{{|{{z{zzz{{{|{z|{{|{{{zzz{zz{{{|{{{z{{zzz{{{{|{z{{{{{{{zz{z{{{{{{||{{{zzzzz{|||{{{|{{zzzzzzy{z{z{{z{zz{zzzzz{zz{z{zzz{yzzzzz{{{z{{{z{zz{zzy{{{{z{|{z{zzzzyyz{{{{{{{zz{yzzzz{{{z{{z{zyzzzzzzzzz{{{z|zz{z{zzzz{zz{{{{{zz{z{{zzz|{{z{{zzzzzz{{{z{{{{{{{zz{z{zy||{{{{{|z{{zz{yz{{|{z{|{{{z{{zz{zz{{z{|{{{{zz{{y|||{{{|||zy{zzz||{{|z||{{z{{{{{{z{|||}{{{z{z{{|z|{z{{|}|{{{{{z{z{|{{{z|{{{{{{{{{{}|{{|}{z{{{z||z||{{|{|||{{z{{{|||||{{{{|{{{{{z{{{}|}{|||{{z{{{{{{{{|{}|{{{||{|{||{|{}||{z{{{|zz{|{z|{|{|zzz{zzz}|||{{{{{{{{{z{{{z{|{z{{{zz{{z{{z||z{{{|{zzzz{zz{{{{|{{|{{{{zy{z{{z{{{{{zz{{zzzzz{{|{{|{|{{zzzz{{}{|{{{zz{zzzy{zz{{z{{{zzz{yzzy{zz{{{{z{z{z{zzyyzzz{{{z{zzzyzyzzz{z{z{{{yzzzzzy{z{{z{||{zz{zyzzz{|{{{{{|{zzzzzzyz{zz{{{{z{{zzzzz{y{{{{|zzzzzzzzzzz{zz{|{zzzzzzzz{z{{{|z{zzzzzzzzy{{z{{{{{{zz{{zz{||{{|{{|zzzzzz{{z{{{|{{z{zzz{z{{{{{{{|{{{z{{{z{{zz|zz{|{{{{{{|{{{{{{{||z{{z{{{z{|z{}|||{{{{zz{z{{{|{{}{|z{|{{{|{|{{|{}}{{z{{{{|{{{{|||}|{{z{{{{{|z{|||||||{{{{{|||{z|||{z{{{{{{|z{|{{||{{{{z{{{{{||||{{{|{z{zz{{{|z{{|z{{{z{{zz{{||{{{{{zy{z{{{{|}{{{{{zzzz{zzz{|{|{z{|zz{z|yzz{z{{{{||{|{zz{zz{{z{|{||{{{z{{zz{{z{{z|{{zzzz{{z{z{z{||{zzz{zzzy{{{{{|{z{{zy{zz{{z{{{{{zzzzzzzy{{z{{{{{{zzzzzyy{{{z{{{{z{zz{zzz{zz{z{{{{{zz{zyz{z{z{{z{{zzzyzzzyz{zzz{{{z{zzzzyy{{z{z{{{yzzy{z{z{{zz{{||{{{zzzzzz{z{z{||{zz{zzzz{{{z|{||{{z{zzzzz{z{{{{{{|{zzz{z{|{{z|{|zz{z{zz{{{{|{{|{{zzz{zz{|z{{{{|{{z{{{{{{|{||{{|{z{zz{{{{{{{|{{||{{z{zz{{|{{{||}|{{{{z{{z||{{{{|{||zz|{{|{|||||||{{{{{{{{{|{||||||{{{{{{z|{{|z{||{z|{{{z{{{{|{|{{{{{z{{{zz|{|{|||||{{z{{{{|{|{|||{{{z{{z{{|||{{{{{{{zz{zz{{{{z{{{yz{zzzyx{|{{zz|{{{zzzz{{{{{{{{|{{zz{zzzz{{{{|{z{zz{zzzzz{{z{{{{zzz{zz{{z{{{z{{{|{{zz{zzzz{|z{{{zzzzzzyzyz{{{zz{{z{{zzzzzzz{zz{z{zzzz{{zzz{z{|{{z{z{zzzy{{z{z{{{{{zzzy{zzz{|{{{{zzz{z{yzzzzzz{{{{yzzzzzzzy{{zz{z{{y{zzzzzz{{zz{{|{z{zyy{z|{{zz{||zzzzzzzz{{{{{{|zzz{zzzzzz{{z{{{{{{{{{zyz{{{{z{{zzyzzzzzz{{|{{{{zzzy{{zy{z{|{z{{z{{zzzyy{z{{{{|{z{{{{{{zz{|{{|{}}z{{{z{z{z{|{{{|{|{{{{zz{{||{|{}{|{{zz{{{{|{z|{||{{{z{{{|{|{{{z|||{{{z{|{{{{|{|{||{{zz{z{z||{|||||zz{{{z{|{|{{{|{{{z{zzzz{{{{{|}{{{{{z{{zz{{|{{{{{z{{zzzz{|{{{|{{{z{{|z{zz{{{|z{{z{{zzyzz||{{{|}||zzz{{zz{{{{{{{|{zzy{{{z{|{{z{{{{{{zzz{zz{{{z{{|{{{{{zzzzzz{{z{{z{{zzzz{zz{z{{{{yzzzzzyzz{zz{{z|{zzz{yzy{{{{{{{z{zz{zzzz{{zzz{{{{zzzyyzz{{z{z|{{z{zzzz{yzzzzzz{zzzzyy{zzz{{{zz{{zyzzz{zz{{{z{zz{{{{z{yzz{{z{z{z{zz{{yzzz{{{{z{{|z{zzyz{{{zz{{z|{{{z{{z{z{{{|{z{|{{{{{zyz|{{{z{|{{{z{z{{z{{{z{{|{{{z{{{zz|z{|}{|{z{{zzzzz{{{||{||{{z{zzzz|||{{||{{{z{{{{|||z{||||{z|{||{{{zz{{||}{{|{{{z{|||||||{{{{|{z{z{{{{||||{z{{{zz{|{{z||||{{{{{zyz{{{{{{{z{zzz{z{z{|{{{|{{zz{{{{zz{z{|{|}zz{zzzzzx{z|z{||{{{yzz{z{{|{z||{{{zzzzzzzz{{{{{z{{z{zzzz{{{{z|{|{zzyzzzzz{{{|{||{z{zz{z{{|{{{{{{{zzzzzzz{{|z{{z{||{{yzzzz{z|{zz{{y{zzz{yy{zz{{z|{{zz{zzz{z{{{z{|{zzzzzzy{{{{{|{{{zz{zzz{yzz|{{|{|z{zzzyzzz{{z{{z{{yzzyz{{{{{{z|{{{z{zz{z{z{z{|{{{{zzzzzzzz{{{{{{{z{{zz{{{{|z|z{z{zz{zzzzz{{{{{{||zz{zzz{z{|z{{|{{z{{{{{{{{{{{}{{{{z{{z{{z{{{{|{|{{z{z|{{z{z|||{||z{{z{{{{{|{|{||{{z|z{{{z{{|}||}|{{{{{{{{{|{|{{|||{{{z{{{|{{{{|}{}{{{{{{|{||{{}||{{|{{{{{{|||{||{|zz{{{{|z{|{{|{{|{{{{{zz|{|{{|{}|{z{{yzz{|{||{||{z{{zzzzz||{{{{|zz{z{{yz{{{|{|{{z{{{z{zy{|{|{{|{z{{{{zzz{|{{||||{{zz{z{z{{z||{||{{{{yz{z|{||z{||z{zz{{{{z{{{{{z|{z{z{{{z{zz{{{{|{{{{{zzz{{{{{|{{z{{zy{z{{{z{{}z|zz{z{zzz{{|{{{{{{z{{zzy{{z{{|{{{zz{zyzz{z{{{{{|z{z{z{zzzz{zz{{{{{zzyzyz{{{{{z{z|zz{zzzzz{{{|z|{{zyzz{{{zz{{|{{{{{zz{z{z{{{{{{{{|{{{zzz{z||{{z{}|{z{{|zyyz{z{{|{|zz{zzyzz||||||{{{z{|zzz{||{{{{{{{z{{{{{{{{z}{|{|zz|{{{|{{|{{{||||{{{{z{{{||{{|||{{|{{{z{||{||||||{|{z{{{z|{|||}{{{{{{{{z{||||{z}|z|{z{z{|||{{|||z{z{{{z|{||z||}|{{zz{{||{{{{||}{{z{{{z{z{|{{{|{{|{{{{{z{{|{|{{|{{{{{z{zz|{|||{}{{z{z{{{z{{{{z{|}{{z{yz{z{{z{{{|{{{zz{zzz{{|{{}|z{{z{z{zz{{{{z{{}{z{{{{{z{z{{{{{|z{zz{{zzz{|z{{{{z{{zz{z{{{{{z{{{{{{z{zz{{z{{{{{|{zzz{z{zz|zz{{{{{zzzzzzyz{{z{{{z{{{zz{zzz{{{{zz{zzzz{zzzz|{y{zzz{z{zzzz{z{{{{{{{zz{z{{zzzz{{||{{{zzz{zzzz{|zz{{|z{|zzz{{{{{z{{{|{z|{{z{{z{{{{{||{{{{zz{{zz|{{{{|{z{z{{z{z{{{|{|z{{z{{zzz{{{|{{{{|z{{{{z{|||}|z{{{|{{|zz{|{|{{|||{{{|{{zz{|{|}{||{{{{{{{z{||{|{||z{{z|{{{||||{{|||{{|{{{{{||||}||||{{{{{{||{|||{||{z{{{|z|{{{{||{||z{{{z{z{|{z{||{z{{{{{z{{|{{|||{|z{{{|z{|||}{{{{{{zzz{z{|{{{{z{zzz{zzzzzz{{|{|{{zz{zyzzz{|{|{{|{|{zz{{y||z{{{{{|{z{{zzzz|{{{{{{|{{zz{{z{{{|{{{{zzzzz{zz{{||{|zzzy{{y{zy{{{{z{|{{{{zzz{yz{z{z|{{zzzyzz{{{{{z{{{{{y{{zy{zz{{{{{{{{{z{zz{z{{z{{{{z{zzzzy{y{z{zz{{zz{z{zy{zz{z{{{z{z{{zz{{y{z{|{{{{z{zz{zz{z{{{{{{|{z{{zz{z{z{{{|{{zz{{zz{z{{{z{z{{{{{{zzz|z{{{{|{|{{{z{zzzzz{z{{{|{z{{{zz{{{{{{||zz{z{z{{{|{{}||{|z{{{|{{z{{|{{|||zzz{|z{{{{{}{||{|z{|{z{z|}||{|||zz{{z{|{{{{|{{|||{z{{|{z{{{||||{{{|{{z{|{|{|||}{|{z|{{zz{|{{{|||{|{{{zz{|z{||||{z|{z{|zz{{{{|{|{{{z{{{z{{|{|{{|{zz|z{z|{|zz{{{z{{z{z{zzzz{|{{{{{{|{{zy{z{|{||z||{z{zzzzz{z|{||{{{z{zzxz{{{z{zz|{z{zzzzzzz{{||z{z{{zzzzzy{|{{|||{{{{zzzzy{{{{{|{{z{{yzz{z|{{{z{{|{{zzzzzzz{{z{|{{{zzzzzzy{|{|z|z{{yz{zzzz{{z{{{|{{{zz{zzyzz|z{{{{{zzzy{z{{{{z{{{|{{z{{{{zz{{{{{{|{zzy{{z{z{{{z|||zzzzzzzz{{{|||||zz{{{{yz{{zz{z|}{{|{{zz{z||||z{{{{{{{{zy{|{{{||{{{|{{{zz{|z{{{{{{|z{{|z|{|||||{{{z|{{|{{|||{|}||{zz{|{z||{||||}||z{z||{|{||{|}}||{{{{|{{{|{{{}|{|{{|{{{{{||{{|{{|{{{{{{{{||{|}|{|{{{{{{}|{|{|{||{{z|{|{{||{|||||{z{{{{z{||{||}{||{z{zz{z{{{{|}}|{{{z{zzzz|{{{{||{{yz|z{y{{|{|{|{zzz{zzzy{{|{|{{|zzzzzzzz{z{{{z{|{{{{{z{{z{|{z{|{{{{zz|zy{{{z|{z{{{zzzz{z{{zzz{{zzzz{zzzz{{{{{|{{{zzyyzzzz{{{{{|{zzzzzzzzz{zzzz|z{zzz{zzy{z{{{z|{z{{{z{y{z{zz{{z|zz{z{{yzz{{{z{{z{zzzzzzzy{z{{z{{zyzz{{zyzz{z{|{|{{zz{z{z{{{{{z{{zz|zz{{z{{{z{{{|zz|z{z{{{z{|||{{{zz{zyzzz{{{{|{zz{{zz{{zz{|{z{{{z{{{z{zz{}{|z|{{zz{z|z{{{{|{||{{z|{{{{{{||||{}||z{{z{z{{||{|}{|{{z{{|{|{{||{||}{{z{{z{{{{|{|||||||{{{{{{z|{{{|||{zz{z{{{|{{||{|{{{{{{|{{{{{{{{|}|{{z{z{{{|{{||||{{{zzzz{{|{{{|{{{{{{zz{{z|{|{{{{z{{z{zy{{{||z|z{{zzzz{z{z{{z{{z{zzzzy{zz{{zz{{{||zzz{{z{z{{{{{{{{zzzzz{zz|{{zzz|{z{{zz{z|{z{{{{{z{zz|zzzz{zzz|{{{z{{zzz{{{{{z{|z{zzzzzyz{{zz{{zz{{{yzzzzz{{|zz{{zzzyzzzz{{zz{{{z{{{zz|zzz{{{{z{|{zz{zzzzzz|zz{zzzyzzy{zyz{z{{{|{{zzzzzzz{z{{{z{{{zzzzzzz{{z{{|z{{yz{zyzz|zzz{{{{{zzzzzz{{z{zz{{z|z{zyz|z{{{{{|{|{z{{z{zy{{{|z|||{z{{{zz{||{z||{{{zyzzzzz{|{|z||{{z|zz|z{||{||}||{{{{{{zz{|{|{{|{|z{{{{{z{|{{{|{{{{{{{|{{{|{||{{||z{{{{{{{{{{{{|{{z||{|zz||||||{|{{{z{{{{{|{{|{{{{|{{{{{|{|{{}|{|{{|z{z{zz||{||{||{{zzyzz{|{{{{{{{z{{z{{z{{{{{z{{{{yz{zy{{{{{{|{{zz{zzz{{{{|{{{{{|{{z{z{z{{zz{|{|{z{{{zz{{{{|{{{{{zzyyyzzzzz{{{z|zy{z{zzz{{{z{z{z|zyzyzzz|{zzzzzzzzzzzzzzzz{z{{{{zyzyzy{{{z{z{|z{zzzzz{z{yzz{{{{{zz{zyzyzzz|{||{|zzyzyy{yzzzzzz{z{zzz{zzy{z{{{|{{zz{z{{zzz{{{{{z{zzzzzzzz{{z{z{{{{z{zzz{zz{{{{{{|zz{zzzzz{z{{{{|{{{z{zz|yz{{{{{{z{zz{z{z{{{z{z{|{{zz{|zzzz||{{{|{{|z{zzzz{{z{{||{z{{z{z{z|{|{|||{{z{zz{z|z{||{{{{{{{{z{{z{|{{{{|{{z{zz{|{{{|{|||||{{{{{{{|}{|{z{{|{|{zz{z|{||{{|{{{|z{z{{{|{{{|{||{zz{{{{{|{||||{{|zzz{{{{{{{{{|{{|{yz{zzz{{{{|{zzz{zzz{{{{{{{{{|{zyz{{{yz{{{{{{|zzzz{zzz{{|{|{{|{{{z{zzz|{{y{{|{{zzz{y{{{z{{z{||zy{zyzzz{z{|{||{{{zzzzzzzz{{{{{{{zzy{z{zz{|z{{{zzz{z{zy{z{z{z{{{z{zzzzzzzz{{z{|{zyzzzyzz{{{{zz{{zzzzyzzzzzzz{{{||zyzzzzz{{zzzzzzzy{zzzyzz{zz{{{|yzzzzzzz{z{z{z{{{{zzzz{{{{{z{{{{zz{zzz{{||{|z{{{z{{{{y{z{{{z{{{{{zz{{z{zz{{{{|z{zz|zz{{{||{{{{{{zzz{{zzz{{|z{{{|z{{{{{{z{|{|z|{|zz|z|{z{{|{|||{||z{||{z{{||{{||{|z{{{{{{{|}|||||{{{{{||z{{|{{z}|||{|z|{{{}|}||||{{{{{{{{{{{|{|||{z{z{{z{{{{{}||||{{{{zz{|{{{}|||{zz{{{{{{|{|{{}|{{zz{zz{{|{{|{{{{{{{{{{z||{|{{{{{{zzzzzyz{z{{{{|{{zz{yzz{{{|{{{|{{{{z{{{zzz{|{{|zz{z{zz{{{{{{z{{zz{yzz{y|z{{{z{{z|zz{{zzz{{yz{|{zz{zzzzz{z{zz{{z{{z{zzzz{z{{{z{{zy{z{zzzz{{{{{|{zzz{z{z{{{{{z||{{zyzzzzzz||{{{{{{{{{zzzzzz{z{z{zzzyyzzzzz|{{{z{{zzyzz{{z{{{{{{{{{z{yz{y{z{{|z||z|zz{yz{{{z{{{{{{z{z{zzz{{|{{||{{{y{zzzzz{{{{{{{{|z{{{{{z{|||z|||{{z{z{y||||{{{|{{{{{{z{{{{|{{||{z{z{{{{{{{z|{{||zz{{{{z{{}}|{|||{z{{{z{{||{{|{||z|{z{{|{{|{{|}||{{{z{|z{|||{{}{|{{{{{{{{|{|||||||{{{{z{{||{{||||{{{{|{z{||{{{||{zz|z{{{{||{{{{|{{{z{zz{z{{{{{{||{|{zzy{{{||{{|{|z{{{{z{{{{|{{|||{z{{zzz|{|{{|z|||{{zz{{{{z||{{||{{{{z{z{z|||z|||{{{{{zzz{{{|{{zzz{{{z{{y{{{{{{{{{{z{z{{{|{{{{{{||{{{z{zz|{{|{{{|z{z{{zz{{{{z{{|{{{z{z{z{{||z{z|{{z{z{{z{{{{{z{{|{{zzzyzzzz{zz{{{{{zzz{zz{{{{z|{{zzz{{|zz{|{{{|{zyzz{{{zzz{|{{|{||{{zzz{z{{z|{{{}{{{|{z{z{|{{{{}{z{{{{{{{z|{|{||||{{z{{{||{{|z|{|{zz{z|{{|||{|{|{{zzzz{|{{{{|||}|{{{{{|{{|||}{|}||{{{{z{z|||||||{{{{{{{z{|}|{|{|{||{{|{{|||{{}|||}{{{{{{|{||||||||||{{z{{{|||||}{|{{{{|{|{{|||||{|{z||z{z|z{}}||}{{{z{{{{|{{||||||{{z{{{{{}|}{{{{{{{{z{{{{{{{z{{|zzz{{{{zz{{|{{{|{zyz{{{{z{{{{|{|{zzz{zz{zz{{{|||{{{{{zzz{{||{{z|zy|zzz{yz{|{{{||zz{zzzzzz{{{z|}{{{zzz{zzzz{{|{{z{{zzzz{{{zzz{{{{zyzz{zzzzz{{zz{{{yzzzzz{z|{{|z{{{z{{zzyz{{z{{|{{zz{z{zzzzz{zz{z{{{zz{zzzzz{zz|{{zzzzzz{{{z{{z{{|{zzzzy{{{|{{{{{{{z{{zzzzz{|z{{|{{z{zzz{{{{{{z|}{{zz{{{{z{|{{|{{{{z{{zzz{{||{{{|{zz|z|{z{z|{{{{{|{{{z{z{z||{{||{|zz{{|zzz|{{{{|{}{{{{zz{{{{||||||{z|{{{{{||{|}|||{z{{{|||{{|{{||||{{{z{{|{}{|||{{{|{|z{|{||||{{|||z{{{zzz{{{|||}|{{{{{z{{z{z{|{||{{{zz{z{{{|||{{{{{z{{z{{{{z|z{|z{{|{{z{z|||{{|{{{{zz{z{{{{|{{{{{{|{zzz{{{{{|{}{{zzz{{zyz|||{}{|{{zz{|zz|z{{{{z{{{{{z{{zz{{{{z||{{z{z{zzzz||z{z{|{z{z{zzz{z{z{{|z{zzy{z{z{zz{|{|{zzzzz{zz{{{z{{{{{{{zz{yz{{{{{{{{|{z{y{zz{{z{{|{|{zzzzyzzz{{z{{{{{z{zzzzzz|zz{{|{zz{zz{z{{z{zz|||{zzzz{zz{zz|y|||{|zz{y{z{zz{{|{{{{{zz{{zz|{{{{|{{{{|{zz{{{z{|{{|{z{{zz{z{||z{{{{{{z{|{z{{{}{{{{z||{z{{{{{z{|||{{y{{{{{|z||{||}||{{z||{{{{{|{|{|{|zz{{{|{||{{|{|{|{{{|{{{{{{|||||{{|{{|{z{}{|{{|||{{|{{|{|}{{|{||{z{{{z{{|{}{||||{{{{{{{{{|{}{||||{{{{{zz{{|{||||{{||{{zz{}|{|{|{{{{{zz{{}||{{{||{zz{{z{z{{|{z{{{zzzzzzz{{{{{{{|{{|zzzzzz{zzz{{|z|zz{{{{{z{{{z{{{{{{zzz{z{{{{{{z{{{z{z{{zz{{{z||z{zzzz{zz|{|{z{{{z{{{z{zzzz{{z{|zzz{zzzzzz{{|{|{{|zzzyz{zz{zzzz{{zzzzzzz{{{z{{{{{{zzzzy{yz{|z|{{{{yyyzzzz{{{z{|{|zz{y{{yzy{{{{z{{{z{z{zz{{{|{{z|{z{zz{zzz|{{{|{{{zz{zzzz{{{|{z{{{{{{z{{{z{{{|{{{|{{zzzz{z{}{|z{|{{{zz{{z{{z{{{{{{{y{{{z{{{{||||}|{{{{z{{{{{{|{{|{{{{zzz{z||{{|||{{zz{{{{{|{|||||}{{{{|{{{{|{{{|}||z{{z|{{{||{||}{||{z{z{{|}|{|||||{{z{{{z{{{|{{||{{{{{{{{|{{|{||}|{{{{{z{{{{{||{{{|{z{{{z{{||{{|{{z{zzzzz{{{|{|{{z{{z|zzzz|{z{{|{zzz{zz{{{|{z{}|{zzz{{{{zz{z{|{|{{zz{zzzz{{{{z{||zzzyzzzz{z{|{{z{{z{zzy{z{{zz{{{z{z{|zzzz{{{zzzz{yzzz{zyzzzz{{{{{zzzz{z{zz{{{{z{{zz{{{{z{{z{{{zz|zyy{zzz{zz{|z{z{z{zz{{zyzz{{z{{{z{{z{zyyz{{y{|z{zyzzzz{y{zz{z{{{{zz{{y{zzy{{{z{|z{{z{{{z{{z{{|{{z{{zzz{{{{{z{{||{{{{zzzy{{z|{{|{{{{z{zz{{|{|{{|{zzzzzzz{{|{z{|{{{{{{z{{zz{|||{||{{{{{{{{||z|{}|}|{z{{{{zz{{||{{{{{z{{{z||||||}||{{{{{|{{{{{{|||{{{z{{z{{{{{|||||{{{{{{{{|{{||{|{|{{z{zz{{{z{|{||{{{{{{z|||{{||||{{{{{{z{{{{||||{|{z|zzyz{|{|{{{{{||y{z{{{{|{|{z{{zz{{zzxz{{{{{{{|{z{zzzz{{{{{{{|z|zz{z{{{{|{z{z{|zzzzz{{z{{|z{{{{{zzz{{z{{{|{{z{zzzy{zzzz{zz{||{{zz{z{y{{{{zz{{zzzzyyyy{z{{{y{{{z{zyzzz{zz{z{|{zzzzzyzz{zy{{{{{{{zzz{zzzz{{{{{{{{zzzyzzz{zzz{{{zzzzzzzz{zz{zz{{{zzzz{zzz{{{{{z{{zzzzzz{z{{|zz{{z{z{{z{{z{zz|{{{{zzzzz{z{{{{|{{{{{{{zzzzy{{{||{{{yzzzz{{z{{{{{{|{zzz{{z{z{|{{|||{{{{{{{z{{{|||{||{{{{{{{z{z{|{z|{{zz{{z{y{{{{|{|{}{{{|{{z|{{|z{||{z{{{{{z{|{|{}|{||{{|{z{{{{||{|||z|z{{{{||{|{|{|{zz{zz{{|{|{{{|||{z{|zz{|{{z{|}|{{{z{{{zz||{{|||{{zzzz{{{|{{||{{{z{{{y{z|{{|{{z{zzzz{zzy{{{z{{{{{zzzzz{{{{{{{{{{{z{zyzzyz|{zz{{{zz{zzzz{zzz{z{{|zzzz{zzz|{{{{{{|zzzzyzyzz{{z{z{{z{z{y{yy{{{zz{{z{zyzy{{z{z{{|{{{zzzzzzzy{{{{{z|zzzzzy{zzzz{|{z{{zzzzzzy{z{zz{z{z{zzz{z{zz{{z|{zzzzzzzyyyzzzzy{{|zz{z{zyzzzz|{{|y{zyzzzzxzz{z{z{{{z{zz{zzz{||{{{{{z{{yzzz{z{{{||{zzzzzy{{z{{{{{{{{z{zz{zz{{{z{{||{zz{z{z{||{z|z}zz{{{{{{{{||||||{zzy{zz{{{{{|||||z{z{{z{z{{{{{|||{{zz{{z{{|z{{||{z{{{{|{|{{||{}{||{{z{{{|{|{|{||||{{{{{z{{{{|{|{|{{{z|{zz|{{{||{{|{{|{{z{|{{{z{{{{{{z{{zz{{{{{{||{{{z{z{{{{{||{|{{z{{{zzz{{||{z{{zzzzzzzyy{{{{{|z{{yz{zyzz{{z{{{|zzz{zz{zz{{{|||{{zz{zzzz{{{|{z{{z{zzyz{z{|zz{{{|zz{zzz|zz{{|z{{{z{zz{zz{{y{y{z{{zyyzzzyzz{z{zz{{yzzzyyyzz{z{{{{{{zyzyzz{zz{{{{z{{zzyzy{y{z{|{{{zzzyy{{zz|{zz{{{{|zzzzyyyzzz{{yz{zzzyzzzzzzz{{{{{{zzzzz{{{y{zz{{{{{{zzzz{{z{{{|{|zzz{z{z{z{{{z{{{{{z{{y|{{{z{{{{{{z{zz{{zy{|{{{|{{z{z{z{z{|z{{|{|z{{z{{{|{||{}{{{{{{{{{zz|{{{{{|{zz{|{{{z{{|{|{|{zz{{|{{{{||{{|{{|{{{|z{z|||{{||||{z{z{zy{|{|||{||{{{z{{{|||||{}}{{z{{zz{{z||||{||{z{|{z{|{||||z{zz{zz{z{z|z{{{}|{yz{z|{z{|||||{{{{|{zz{{{{{}{|{{z{yz{z{z{z{z{{|{|{zzzyzz{zzz{|{{{zzyy{yz{z{z{{{|z|zzzzzz|{{{{z{||{zz{zzz{{{{{|{|zz{zzzzzz{{{z|{z{zzzzyx{zy|{{{{{zzzzy{z{{z{{z{{{z{{zzzzz{{{{{|z{zyyyzzzz{zzz{{{{zz{zyzzy{{z{z{{|zyzzzyzyz{zzzyzzz{zzyz{z{|{{{{{{z{yy{{zzz{z{z{{{zzzz{z{z{|z{z{{{zz{zzzzz||{{|{z{zz{{zz{{{{{{{|{{{zz{z{{{{{|{{||{{z{z{zz{{{|{z{{{{|z{{{zz{|{{{{{{{{{z{zz{{{z|{||zzz{z||{z{|{|{||}{z|{{y{{||{|{{{{{{y{{{z{|{{|||{|{{{y{{|{{|{{|{{{|{{|{{z{||z{{||||z{{z{z{|{{{|||{|{zzz{{{z{{{}|||{|zz{{|z{|{||||}|z{z{{{{|{{|{|||{{zzz{|zzz|{{z{{{zz|zy{z{{{}z{{{zzzzyzzzy|{{z{|zzzz{zzzz{{{{{{|{{zzz{{zz{{{{{||z{|{{{z{{|{{{z{||{{{z{{zz{{{|{{{|{zzzz{{z{|{{{{{{{z{{{{zz{z{z{{{{{{zzzzz{z{{|{{z{zzzz{zzz{z{z{|{{zzzzy{y{{{{{{z|{zzzzzzzz{{{{{{|{{zzzzyzz{{{z{{zzzzzz{zzz{{zz{{{{zz{{zz{z{{{{{{{{{zzyz{zz|{|{{|{{{zzzzzz{{{||z{|{zz{z{zz|{||{{||{{|zz{z{zz{{||{|{||{zzzy{{{|z{{|{{z{zzz{z||{z{{{}{{{{|{|z|{{|{|}{zz{|||{z|{{|||{|{{{|z{z{|{|||{{|{{z{{{{z||}{{|{||{{{{{{{|{|z|{{||{|{{|{||||||||{|{{{{{{z{{z{{|{||{z{|{{{{|{|{{||{{{z{|{{{|{}|}z||z{{{{{{{|{|{||{|{{zz{|{{|||{{{{z{{{z{{{|{}~|z{zz{{z{z{yz{zz{z||{zz{zzz{|{{z{{|{{zz{z{zzz{{{{{z{|z{z{zz{{|{|{z{|{{zyzz{y{{{z{{{|z{{zz{zz{z{{z|{z{zzz{yzzzz{{z|z|z{zzz{zzzzz|{{{|yzzzzz{yz{{zzz|zz{zzyzzzz}{z||{zz{{zy{zz{{z{{{{{zz{{zyzzz{{z{{zz{zzzzzzzy{{{{{|{yyz{z{zzz{{z{{{|{{{zzzzyz{{{{|z|{z{z{zzz|{{|zzz{z{{{zz{z{||z{{{|{{{zzz{{{{z{z||{z{{zzz{z{{{|{{||{{{z{z{{{{{{{||{|{{{z{{z|{}{|}{z{{{{{{{{||z{|||}{{{z{{zz{{{}{{||{{{{{z{||{|z||||{z{{{{z{{|{|||{||zy{{{{z||}}{||||{{{{}{{|{|{{|{{|{{zz{{{{|{{||||}{{z|{z|||{{{{{}{z{{{{{z|z|{||{{z|{zz{zzz|{{{{}{{{|{{|{{||}||{z|zzzyzzzzz{{{zz{|{zzz{zz{{{{{{|{{{yzy{yzz{{zz|{{{zz{{yzzz{{{{{z{{{zzzyzzzzzz{zzz{zzzzzzzzz{zzz{{{{zzzzz{yz{{zz|{{zz{z{zzzz{{{{zz{zzzyyzzz{{{{zz{zzzz{zzyzz{{z{z{{zzzzzyyzz{z{{{{|{zzy{zyyyzz{z{{z{zzzzzz{z{zz{{z{zz{{zyzz{{{{z{{{{yzzzyyyzzzz|{{{{{zzzyzz{{z|z{{{{y{zzzzz{{|{z{||zzz{zz{z|{zz{{{z{z{z{{z{z|{||{{|{zzz{{y{z|{z{{{{{{{zzzz{||||{}|{z{{{z{|{{{{|{|{|zzz{z{zz{{{{{y{|{z{{{{z{|{{{||{z{{|{{{z{{{{{{|{||{{{|{{{{||||||{|{{{zz{{|{{z{|{{{zz|z{{{|{{|||z|{{{z{z{{{z{{|{||{{z{zzz{{|{|{{||{z{z{{{z|{{{{|||{{{|{{{{{{|||{{|zyy{{z{z{{|{{{{{{z{{zzyz{{{zz{|{}zzyzz|z{z{{{|z{zy{zzz{{z{{{{|{|{{{zzzzy{{{{z{{{z{z{zz{z{{z{|{|z{zzz{|zz{{{zzz{{zz{zzy{zzzz{z{{{zyzzyyzyyy{{z{|{z{zzz{zz{{z{z{{zzzz{yzzzyz{zz{|{zzzyzz{yz{zzy{{{zzyy{zzzzzzzz{{{zzzzzzzzz{{{z{{zz{{zzzzzz{zz{{|{{zzzzz{z{{z{{|{{zzzzyyz{{{{{{{||{yz{{y{z{{{{{{|{{{zzz{yz{{{{{{|z{{{z{{zz|{{|{||z{z{{{z{{z{{||{||z{zyz{|{|{z|{|||{{z{z{z{||{{{|}{}{|z{zzz||{{{{|{{z|{{|{{{{{||}|||{{|{{{{||||{{|||{|{{{z{{{{{||{||{{{{{{{{{{{{||||z{{{{{z||z|||||{{z{{{z{|{{{{||{|{z{{{z{{{{{||{||{zz{zzz|}}}~|{{{{zzz{z{z{{{{|{|{{zz{zz{|z{{{z|{{z{{{z{{|{{{{||{|{{zz{z{z{{z{{{{zz{zzz{zz{{|{|{{{zz{z{{zyz{|z{{{{z{{yzzz|{{|zz{{zzz{y{z{z{|{z{{|zzz{{zzz{{{z{z|{{{zzzz{z{|{{{{{{zzzzz{yyz{z{{|{{{zzzzz{zzz{{{{z{{zzyzy{{z{zz{||{zzzzz{{z|{z{{z{z{zy{zy{{z{{{z{{|{z{zz{zz{{z{z{{{{zz{zzz|{{{{{{{{{z{y{|{z{|{|z||||{|zz{{{z{|||z||{z|{{{{zzz{{|{{{{{{{{z{{|{{{{|||{{|{z{{{||{|||||{{z{{{{z{{|{|{||||{{|z{{{}{{{||{|{{{{{|{|||{|{|||{{z{z{z{||||||{{{{zz{{{{{{z{{|{|z{z|{{z{{|{|{}{{z{{{{|{{{||{|||zz{y{z{{{z{{{|||{{{z{{{{|{{|{z{{{{{z{{{{|}|}}zz{z{zz{y{{z{{{z{{{z{zzzz|zz{{{|z{{{|{{z{{z{z|{{{{|{z{z{zz{{z{{{|{{{zz{{zzy{{|||{z{|zzz{zzyz{z{{|{zz{zzzzzzzz||zz{zzzz{z{zz{{z{z{{{{zz{zzzzz{{zz{{{{zyzz{zz{{{z{{{{zzzyzy{zz{{|{z{{z{zzzzyzzzz{z{|z{z{yzzyzz{{|{{{{yz{yzzzz{z{{{{{{z{zzz{{{z{{{{{{{z{{yz{zz{{{{{|{{{z{|zzzz{{{|{|{|{z{{yz{y{{|{{||{{zz{|{zzz{|{{{{{|{zz{z{{z{|{{z{z{{{{{{z{|{{{|{{|{{{z{{{z{{{{{|}|{{{|{{|{{}{{{||{|{|{{{{{||||{{{{|{|z{{z{z{{||{{||}{|{{{|{{|{|||{|{{|{{{{{|{{{{{|{z{{{{{|{|{|}||||{{|{{{z|}{||{||{{|z{z{z{{{|{|||{{{{z{zzz{}{{{|{{{{{z{{}|}|}}{z{zyy{z{zzz{{{{z{{zyzzzzz{zz{{{|{{zy{zzy{y{zzz{{|{zzyzzzzz{{z{{zz||zzzzzzyzzz{zz{zzzz{y{zzz{zz{{{|{zzz{{zz{{{zz{z{zzzyyzzz{{z{z{{zz{yzyyyzyzzzzz|zzzzyyzzzzz{zzz{{{zzyyzyzzzz{{{{{{z{zzzzyzy{z{{zzzzyyzyyzz{zzy{z{zy{yyz{yyz{zz{z{|yyyyyzz{{z{zy{zz{{zyyzz|{z{{{||yzz{zz{zz{{z{{{{{zzz{zyyz{zz|{{z{zz{y{zy{{|{|{}{zzz{{z{z{{|z{|{{{zzzz{zz{|{{||{{{{zzz{{{{{||{z{{{zz{zzz{{|{z{{|z{zzzzz{{|{{{||||{z{{zz{{{|{|{}|||{|zz{{{|}{{{}{|{{{{{z{z|{{||{||{{z{{{zy{z||{{|{{z{|z{zz{{{{{{|{{z|{z{{{z{{{|{|{{z{z{zzz{{zz{z{{{{{y{{{zz{}|~|{{zzzyzz{zz{z{|{{{zzzz{zyz{{{{{{{{z|{zy{zz|{z{}z{{{yzzyzz{{{z{z{|{z|zzzz{y{z{z{{z{zz{zyyzy{{{z{{{|{zzy|zzz{zzzz{zz{z{{zzyzzz{z{{z{zyyzzyzz{y{{zz{{{yzyyyzzzy{{{{z{zzzzyzzz{{{{z{{{zzzyzy{y{zzzz{{{zzzyz{zzzz{{z|{{{yyzzzzxz{{{{{|zyzzzzzzz{z{z{z{{z{{zzyzzzz{z{{|{yy{zzzyz|{z{{{{|{z{{{{{z{{{{z{{{z{{zz{zzz{|{z{{{{zzzz{{{||{zz|{|{{zz{z{z{{{{{{{{z{z{z{z{{|{{{{||{zz{{{{z{|{|{{{|{{{{|{|{|{|z|{|{{z{{{{{{|{|{|}|{{z{{z{zzz|||||{z{zz{{{|{{{{{{{|{{zz{{{{{{{{{{{|}{zz{{z{{|{z|z|{|{{{zz{z{{{{|{{|{{{{|{zzy||z{|{z|{{zz{zzz{{}|}z{{{{zz{zz{{{{{|zz|zzz{{z{zz{z{||{|z{zzzy|{{{z{{|{{{{z{{yzz{{{{{{||zzzzzyzz{{|{{}{{zzzzzzzzz{{zz{|z{zzzzyzy|z{z{|{z{zzzzzy{{z{{zz{{yy{zyzyzz{{{z{zzzz{zzzzzzzzzz{{{{{z{yy{zy{{{y{{{zz{zyyzzyzzzy{{{zyzzzzzzzz{z{||{yyz{zzzz{|z{y{{{zyzzzz{z{{{{{{z{{y{z{zyzzz{{z{z{zyz{zzzz{{{{{{|{zz{z{zzy{|z|z|{{{zzz{{zz{||z{{|{{{{zzzzz{|{{{{|z|{zz{zzz|{|{|{{|z{{{z{z{{{{|||{|zz{{zzzz{z|z{||{{{z{zzzz||{{{{||{z{{{||{z{||||||||z{z{z{{|{|||}{|z{|zzy{{{||{{{{z{z{{{{z{{|{{{|{}z{{{{{|{|||{|}|z{zy{z{{{|{z{{||zz{zz{|{{{{|{}|{{{{{z{z{}|}}|}zz{z{zzzzz{{~{{z{{yzzz{zyy{{{{{{|{{zzzzy{zz{{|{{{zz{{{zzz{z{||{{{{{yzzzzzyz|{{{zz{zyzyzz{{z{{{{z{{zz{zzzyzz{{zz|{zz{zy{{zzz{{{z{{{zzyzzzzzz{{z{{{zzyzz{zz{{z{zz{{|yzzzyzzz{zzz{z{{{zzyyzzyyzz{zz{|zzz{zz{yy{zz{{z{{zzzz{zyz{z{z{zzzzzzzyyz{z{yz{{|zzzzz{z{{{{{z{||{{zzzzzzz{{||{{|{zz{{zz{z|z{{{z{{z{{zzzy{{|{{{|{{{{zzzz{{{{{{{z{z{zzz{{|{z|||{{{zz|z{{{z{|{|{{{|{z{{zzz{{{}}z{{{{{{z{zz{|{{|{{{{z{{{{{{{{|z{||||{z{{z{{z|||||{{||{z{{zzz{|||{{|{{zz{{{{|{z{{|{{{{{zz|{z{{|||{|||z{zzz{{{{{{{{z||{|z{{{z{{|{|{z{||{{z{z{||{||}{{{zyz{zy{zz{|z{{{{zzz{zyzyz{{{|{|{{{zz{{{z{z{{z{{z{{zyzzz|z{{{z{{{{{{zzz{zz{zy{{{{zz{zyzz{{{{zz{{z{{zzzz{zzz{zz{{{{zzzy{zzz{{zz{{{zzzzyyzzzz{{z{zzzyzzyzz{{zzz{z{zz{{{zzzzzzy{z{{{z{zyzzyzzz{{z{z{yzzy{zz{z{z{z{{{zz{zzzyz{zz{{z{z{zzz{{zz{{{{{z{|zzz{zyzzz{z{{z{z{zz{{z{z{{{{{{{z{z{zzz{z{{|{{|{{zzz|zzz{||{{{{{||{z{{zz{{z{{{{z|{zz{{{zz{{{{z|{{{z{z|{|{|{{{{|||{{{zzzzz}{||{{||{{z{{z{{||z{{{|}{|{z{{{|||{{{{{{|{zz|{zz{||{{|{||{{{{|z{|z|{||{|{{{|{zzz{{||||||{{{z{yzzz|{{||||{{{zzzy{{{{{{z|{{z{z{z{zz{|{{{{{{{{z{zzz|{}||{z{z{yzz{{y{{{{{{{{z{yz{yzyz{{{{{|{{{zzz{z{{z{{{{{||zz|{zzz{z{{{{|{zzz{z{zy{{z{zz{|z{zzzzzzz{{z{{{{{zzz{{yz{{{{zz|{{{zzzzzz{{z{z|{{{zyzz{yz|{{{z{|z{{zzyzxyzz|{{z{{z{y{yzz{{zzzzz{{z{{y{yzyz{yzzzz{{{yzzzzzz{zz{zz{{zzzz{zz{{z{{z{{{{{zzyzz{|{z{{{{{zzyzz{z|{|z{{{{yzzz{z{{z{{z{||{z{zzzz{z{{|{{|z|zz{z{{zy{{{z{{|zz{zzzz{{{|{{{{||{|{z{{zz{{{{|{{{{{z{z{{{{{||{|{~{{zz{{zz}{{|{{{||{zz{zz{{{|{{||||{{|z{{{{|{{|||{|{{{{{{{z{||||||{z{z{{|{|{||{|{||{{{{{{z{z{||||||{{{{{{z{{{||||{|z{zzz{z{{|{z{||{{z{{{z{{|||{|{zzy|{zz{{{{|||{{z{zz{{{zzz{{|{z{z{{zzy{zz|{{z{{|{{z{z{{zz{{{z{{|{{z{{zzy{{{{{zz{{z{|zzzzz|{z{{z{{zzzzzz{zz{{z{{{{{zzzzzzzz{z{{|{{zzz{zzzz{z{{z{z|z{z|z{z{zz{z{z{z{zz{yyzy{z{{{{{{{zzzzzyzzzzz{z{{zzzzyzzyzz{zzzz{{zzzyzyzzz{{z{{{zz{{zzzy{z{{z{|{{zzzzzzzz{{z{{{{{{zzzy{zz{{{{{{{{{z{zz{{z|{zz{|{{z{z{{zz{{{|{{{{{zzz{{z{{{zz{{|{{{yz{{{{{{}{{|{{{|{z{zzz{{{{||}|z{{z{z{z|{z|{|||{{z{{{z{|{|||{{|{{z|{{zz|||{{{{{zzzzz||{{||{}{|||{{{z|{|z||||||||z{{{z{z{|{{{|z||{{z{zz{||{{}{|{{zz|z{{{|||{{|{|{zzz{{{zz|{||{}|{zz{|z{z{|z{{{{{z{|{y{{zz}{{{{{{zz{{{yz{z|{z{{{{zzzzz{{yz{zz{{{z{zzz{z{y{{zzz{{z{{y{zyzzz{||{{{{{z{zzz{z{{z{z{{{{y{zzz{zz{z{{z{{zzzyz{zz{{|z{{zzzzzzzzzzz{zz{z{zz{yy{zzyz{{{{zz{y{y{yzzy{{{z{z{|{{{zy{zzz{{{z{{|{z{zzzzyz{z{z{z|yzyy{zzyz{{z{{z{{z{yzz{zz{{{{{{zzzzzzzzz{{{{z{z{zzyzzzyzzz{|{||{zz{{z{z{|{{{{|{{z{{zzzzz{{|{{|{{{z{z{z{z{{{{z{{{{z{zzzz{{{{|{{{|zzz{zy{z}{{|||z{zz{z{{{{||y|{}{}{{{{zz{z{||||||{zzz{{z{z|||||{||{{|{{z{{{||||{z|{{{{|{{{|{{}|{{|{{{|z{{{|{||{{z|zzz{zzz|{|z{{|{{{{z||zz{{|||{||{{{|{{{zz{{{{{||{{{{{zz{zz{{|{|{z|{z{{{|{{{|{|{z{zzzzzzzz{{|{{{{{{z{y{{zz{z{z{|z{{{zzzzzz|{zz{z{{{zzzyz{z{{z{{{{z{z{zzz{zzy{z{{{|{{{zz{zzz{{{{|{{{zzz{{zz{z{zz{{z{{zyyzzzzz{z{|{{z{zyzzzzz{z{z{{zzzzzzzz{{z{{{{{{zz{zzzzzzzz{{{{{{z{y{zzzyzz{{{{z{z{z|zzzz{z{{{{{{zz{y{zyz{z{z{{{zzyzz{{{|{z{{{||zy{zzyz{{{|{z{{|{z{{zzzz{{{{{{{{z{{z{{zz{{{{{|{{{{zzzzzz||||{|{zyy{{zzzz{{{{||{{{{{{{{{z||||||{{y{{z{zz{{|{|{{||{{z|{{{{{||{||{||z{{{|{{|||{|||{{z|{z|{{{}{{{{}|{{{{{z|{{|{||{}||{{{zzz{{||||{|{||zz{{z|{|{|||||{{{{z|z{|{{||{|}{z{z{z{zzz|||{}{{{z{{zzz{|{{{z{{{{{zz{{z{|}||{{{yz{zzzzzz{{z{{{|z{{zyz{z{zz{{{{{z{z{z{{|{zz{|{{{{{zzy{{zzzzzz{|z{{{zzzzz|z{{{|{{{z{zzzzz{z{{{{|{{zzz{{zyz{{{z{{z{{{zzzy{zzzzz{{{zyyzyyzyzzzzz{|z{yyzzzzzyz{{{z{{zz{zyzz{{z{{{{{{zzzyyz{zzy{{zz{zzzzyyzzyzzy{z{{{zzyzz{yzzz{z{{|{zz{yyzzz{{z{{{{{{z{zzzzzz{{{z{{{z{zzzzzy{{{z{{{{{zzzzz{{z{z{{{{|zz{yzzzz{{{{{z|zz{zz{{y{{{{{z|{z{z{zzzz{|{||{{}{z{{{{{z|{{{{|{}|{z{{zzz{{||{z|{||z{z{{{z{|{{{|||z{|{{{z{{{{{||{||{{|zz{{||||{||||{{|zz{z{{z|||||{zz{{{z{{{{{{{}|{{z{zzz{{{z}|{||{{{z{{z{{{{{z||z{zzz{{z{zzz{z|{|zzzz{z|{{||{||{|{{{{{z{z{||{{{{||zz{{z{{{|{{{{{|{{{{z{{{{{{z|||{{z{{{z{{{{{|z|||z{z{z|{z{{|{{{{|zz{zz|zz{{|{z{||{{{z{{zz{{{z{{{|{{{{zz{z{{{{{{{{zz{z{zzzzzzz{|{|z{zzzzzz{{{z{{{{zzzzz{zz{|{{{{{|{z{zzz{z{{{{{{{{{z{y{zzz{{{{{{{{{z{zz|zzz{{{|{{{||zz{zz{z{{{|z|{{{{{z{zz{{{||{{|{{{{z{{{{|{{|||{{z{|{y{z{{{|{|{{{z{{{{{z||z||{|{{{{{{z{{{||{{||{|{{z{{{{|{||||{|z|{|{{{{|{|{|{||{{{{{{{{{}}|}|{{|z{{|{|{|}||}||}|{{{{||{|||||}{||{{|z{{z{||{|{||{{|{{{{{|{||{|{|{{{{||{{{|{{}}{|||||{{{{|{|{}}|}{|{z||{z{{|||||{||{{{{{{z||z|{{{{{|}z{|{{|{||{{{{{{{{z{{{|{{{|||{{zz{{{z{||z{|{{{{{{{{zz|{{||}{{|zz{z{z{{{{|{|{{{|{{{z{{{{|{{}||{{zzzz{{{{{{{{|{|{{{zzzz{{{{|{|{{{zz{{z{||{||{{{zyzz{{{z{{{{{{{z{{{zy{zz{zz|{{|{z{{{zzz{z{{{z{{z{zz{zzzyz{{z{|{|z{{zy{{zz{{{z|{{{{{{z{{z|z{{{{{|{{z{{{yz{{|{{{{||zz{zz{z{|||{||}{z{{{{{{{{{{|{|{|z{{{z{zz{|{|{|}{{|zz{{z|||{{||{{{|{|{z{{{|{z|{z|{{{{{{{{|}|||||z|{|}{{|z|{}{|{{{|{|{{{{||||}||{{{{{{{|{|||{{||{|{{{{{|||}~{||||}{{|{z{{{}|}|}}}|{{||{{|{|||}||}|{{{{{{{{||{}}}|||{|{{z{|||}|||||||z{{|{{||{|{|{{{{|{z{z||{|{||||{z{{{{z}|{{{|||z{{{z{{zz{{|z{{||{z{{y{{{{|||}|{|{{{{{{z{{|{|{||{{{{{{zz{{||z|{|z{{zzz{{{{|{{{{|{z{z{{|zz{|{|{|{{z{zz{{yz|{zz{|{z{|z{y{{z{{|zz{|{zzz{y{{{{z{z{{{{z{{{zzz{{|z{{{{{zzzzzzz{{||{{|{z{{zzz{y||{{z|{{z{z{zzzz{{z{|||{{z{{{{zy{{|{{{||{{{{z{{z{{{{|{{|{z{|z{|{{{{{|{|{{|{zzz{{{{}{||{{{z{{{{{z||||{|{|{z|{{{{z{||z|||{{|z{{{z{{{}||||{{{{{{|{{|||||}{|{|{{{|{{||||{{|{{{{|{{{z|}{||{}{|{{{{|{||{|{|}|}z|{{{|||{}|{|{|||{{{|{|{{}||||}|||||{|{|{|{||||{||{{{{z{|}{||||}||{{||{|||||}|}||{{z{{{{{||||||||{{{z{{zz{{||||||{{z|{{{z|}||{|{{{{{{z|{z|{z{zz{{|zyzy{{{|{{||||{zz{zzzz||{z|{{{{z|zzz{{|||{{{||{{z{zz{z|{{{|{{{{{{{z{y{{|z{z|{z{{{{zz{{z}{z{zzz{y{{{{z|{{z{{{{{{zzz{y|zz{{{{|{{{z{{zz{{{|z|{{{|{zzy{zz{z||{z{|{{{zzzzzzzyz{{{{|{zzzzzzzz|{{{{}z{z{{|{zzz{z|{{|{z{z{{{{{{||{{{{{{z{{{zzz{{{|z{}||zz|{z{{{{{{|{|{{{|{zz{{{|{{{{{|{{{{|{{z|||||||{z{z|{{z{{||{{||{z|z{z{{|||||{|||z{|{{{{{{{||||{}{{{|z{z{{{|}}||{|{{|{{z{||}||||}{|{{||||{|{{||||}{|{{z{{{}}|{{|||{{|{{{{|{{||}{|}zzz{{{||||||{|}|||z{{{{||}{|}||{{z{|||{{|||||}}{{{zzz{{{}|||{{{{{{{|z|z|||{{|{z{z|z{{z{{{{{{|{{|{{z{z{{|{{}{|{{|z{z{{z|||{|{|{|{z{{{zz{{|{|zz{|{{{{{z|z{{|z{{{|{{{zz{zyz|{{z{{z{{{{|{z{zz{{{z|{{|zzz{z{{zz{{{{{z{{z{z{{{{{{{|{}{z{zzz{{|||{|{|{z{{zzzzzz{{{{{|z{{z{zz{y{{{z{{|}{{z{{|{{z|{|||{|{{zz{{zz{{{{{|z|{{{z{{|{z{{|{|{{{{{{{z{z|{{{||{z|{z{{{{|{{{||{|{{zz|{z{z{{{{{|{{{{{zzz|z|z||{{~||{{|{z{z|||{{|||||{||{{|{{||}||{{|{z|{|{}||{|||}{{|{|{{{{||||||||{{{|{{||||||||}|{||{||{{}|||}{|}{||{{|{{}}|}{}||{||||{{{}||}|{||{|||{{|{||||||}|{{{|{{{{||||||||{{{z{|{{}|{|||}|{{{{||z{|{||{}|{|{{zz{{|{|{|||{|{z{{{{z{z||{{|{|z|z{{{{|{|{{|||{{zzy{zy{{{|||{||{|{{zz|{|{}|}|{z||zzzz{{{{||{|{{y{{{zz{{{{{|{{{|z{{{{{z{}|{z{|{{z{z{zy{{z{|{{{|z{z{z{zz{{|{z{|{{zzzz|zz{{|z{|||||{zyz{zz{{|{{|{{z{|zz{z|{{{{{z|{z{{z|z{z{{{z|{|{{{{{{z{{{{{{|{{{{z{|zz{{|{{{|{|{{{z{{|z}|}{}||}{{{|z{z|{{|{{|}||{{||{{|{{{|}{|{{{{{|z{|||{}||||||||{{|{|}{{{||}z||{{{{|{||}||||{{{{{{||||||}{}|||{|{{{{||{||||||{||{{||}|{{}}}}|{|{{{{{{{||}}||}{{{{|{|{}|}|}|||||||{|{{|}|||}}|||{||{||||{|}|}||z{|||}||{|}|}|{z{|{|z|{|{{{}{{{}{{{{{{|}{|||||||{{|{{{{{||||{{{{{{{zz{{{|{{{{{z{z{{{{z||{{{}{{{z{z{{z{{{{{{||{|zz{z{z{{{{{z{{|{{z{z{{z{{{{||{{z{{zz{|z{{|{{{|{|{zz{zz{{|||{{{|{z{zz{z{{|{{{{{|zzzzzz{{|{{{{|{{{{z{y{zzz{{{|{{{{zzzzzzy{||{|{{{z{{zzzzzz{{{z{{{zz{z{{{zy{z{{{{{zz{zz{zz{{{{{{|{{{{{{z{z||{||||}|{{z{{|{zz|{||||{{||{{{||z|{||||{{|{{z{{{||}{{||{{{{{{z{|{|{{|||{|z{zzz{{{|{{{{{{z{{|{{{|z||||||{{||{z|||{{{||||||{|{|{{|}||}}|||z{{{{|{||}|{}|||{|{||{|{|||{|||{{{|{{||{|||||{||{{||{{{||z|||||||{{|{{||{{|||||{||{|{{|{|||{}{||z|{{{{{{{|{{|||{{{{z{{{{|{|{|{||{z{{{|{||{|}z||{{|z{z{zz||z|{{|{|{zzzz{z{{{||{|{zz{{z{z|||{}|{{|{zz{zzy{{|{{{{|{{|{z{{{{{||||{{yzzz{z{{{|{{z|||{{{zzz{{{zz{{||{|zzzzzz{|{{|z|{{z{zz|zz{{|{{{{{{z{zzz{{z{|{|{||||zz{zzzz{{{z{{||{zzzzyzzy{{{z{{|{|{{{z{z{{y{{{{{{zzz{{zy||{|{|z{{{{zzzzz{{{|{{{|{{|{zy{zz{{{{{{|zyzzz{{z{||{{{|}{{{z{z{{{|{||{||{z|zz{{z|{|{z{{|{{{|z{{{{{{{|{|{{|{{{{{{{{|}{|{|{|{{z{{{{{||{}|||z{{{|{{|{||||||{{{{{{{{|||{||}|{{{{{||{{{|||{||}{|z{{z{|||{{{|}{||{z{|||||||||||{{|{{{{{{{||}}}|{{{{{{{{|||||}|{{{{{{|||{|{||}|{{{|zz{zz|{||||{{||z{||{|{||{||||z{{{zz{z{{{{{||{z{{{{{z{|{{|{}||{zzz{|zz{{|{z{{{{{{{yz{|||{{z|||z{z{zy{{{{|{|{{{{{{zzzy{|{{||||{z{{zzz{{||z{||{z{z{{z{{|{{|||{|z{zzzz{{{{||{z|{{{{{z{zz{{|{|{{{{z{{z{z{{||{{{||{zzz{z{{z{{{{{zz{z{z|{z{{{{{{{{|{{{z{{{{{{{{{{||{{zz{{{{|{{{z|||{{{|{{{{{{{{z|{|{{{|z{{{|{||{|{||{|{|{{{{}|{|{{|{z{{{{{{{|}|{{||{{z{{{z}z{|{{|||{z{{{{|||||}|||}|{z||||||}{|||||{{{{{{{{||}|{|}||{{||{}{|}|{|}|{{|{|{|{||{{|||}|}|||z|||{}|}|{}}||{|{z|{{|||{||||z{|{{{{{|{}{||{|{|{{{{|{{|}|}}}{{{{{|{|{||||||||zz{z{{{||{||||{|zzz|{{{|{|}}{|{{zzz{{{z{||z{{{{|{{{zzzz||z{z|{|{{zz{{{z{{{{|{{{{z{z{z{z{{{|{z{|{{z{{z{{{z||z|||zz{z{{{{{{|{{{{|{z{{{{zzzz{{{|{z{{zz{{{z{{z|{{{|zzzzzz{z{{{z{{{{{{z{z{y{z{|z|{{{zz{zzz{z{z|z{z|{{yzz{zzz{{{{|{{|{{zz{z{{y{z{{{|{zz{z{{zz{z{{{{||{z{|{z|{{{{{{|{|{zz{{{{|{{{{{|{|z{{{{{zz|{|{|||||{{|{zz{{||{||{|z{{{|{{{{|{{||{|z|zz|z{|{|{{{|{|z{{{{z{|{|{|}{}|{{{{{{{{|||||||{{{z|{{z{{|{|}|{||{{{|z{{||||{||{|{|{{||{{|||{||}}|{{{|{{|}||||||||{{{z{|{||||}|||{{|||{||{|||||||{z{{|{z|||||{||||z|{{{{{|||{||}{{{{{z{{||{{{|||{|{{{z|{{|||}{{|{zz{{{yz{{||{{|{{{|z{{zz{{|{|{{{|{zzz{{zz{{{z|{{{z{{{zzzz|{{{{z{{zz{y{z{|{{|{|{{{z{{zzzyz|{|{{|{|zz{z{{z{{{{z|{z{z{{zz{z{zz{{{{z{zzz{zyzz{{{z|{{z{zzz{zzz{|{{{{{zzzzzzzzz{{{z|z{{|zzzy{zzz{{{{{{{{{z{{y{{{{{{{||{z{{zz{z{{{{{{||zzz{{{z{{{{{{{|{z{{z{z{{||z|{||z{{{{{z{z|}|{{|||{{{z{z{{{{{|{|{{z{z{|{z{|||{||{|{|{{{{{{|||{{{{{{{zz{{yz{}||{{{{||zz{{|{||{|||}|{{|{{{{z{|||{{||{{{{{{|{|{{{{||}{z{{z||{{{|{|||}}{{{|||{|}}||}{|{||{{{{{||{||}|||z{z{{{z|{|{|}|||||{{{{{{}||{|}||{{{zy{|z{{{|{|{{{zz{{z{|{{|{{}{{{{z{z{{}|{|||zz{{{{z|{{{{{|{{||{{{z{zz{{|{|z|{||z{z{z{z{{|}|{||{{|{z{z{{{|{{||||{{{zz{z{{{{{z{||z{{{z{yz{{{|{||zz{zz{z{{|{{{}{|{z{zzzz{|{{z{{{{z{z{{z{{{|{z{{{z{zzz{{z{|{{{{{z{{{{{{{{{z{{{{{{|{z{z{z{zz|{z{|{{z{z{{z{{z|{{{{{{|{{z{{{{{{|{{|{|{zzz|z{{|}|||||||z{{z{|{z|{{||{|{{{zz{{|{{||||||||{{{{z{{{{|{||{{y|{{{z{z|{{||}|z{{z{{{{{|{{{{{{|{{{|{{{|z|||}|}|{{{|z|||{||}}}||{{|zz{{||||||||{||z|{{{||}{{||||{|{{{{}{|||}||||{{{{{{{|}|}{||||{||{{{{{|{|{|||{zz||{{{{||}||}}{{z||{{{|{{||{|{{z{{{{z||{{||||||||{{{|z{{}||{|}|{|{{{{{|{}||{{z{z{{{zz{z||z|{{|{{zzzzz{|||{{|{{|{{z{{{{{zz{|||{{{z{z{zzzz|{{{||{{{z{zzz|{|z{{z|{{{{z{zzzz|{{|{{{{zy{{{{z{{{{{||z{{yzzz{zz|{{|{{z{zzz{zz{{|{z{{{z{zzy{{{{z{{{{|{{z{{{{{z{{|{z|{{z{{{zzzzz{{{{|{{yzzz{{zz{|z{{|||zz{z{{zz{{z{z{||{{zzz{{{{|zz{{|||{|zzz{{{{|||{||||{{{zy|{|{{z{||{{{zzz{{{{z||{{{{{zz{z|{{{{}{z{{{{{{{{{{|{||{|{{{y{{zz{{|{||||{{{||{{{|{||||||||{{|{{|z{z{|||||{|z{{{{{{{|{||||}|{|{{{{{{|||}||{}{{{{|{||}||{}|||{{{{{{{|{|}||||{{{|{{z{|{|{||||{|{{|{{{|}{{}||||{|z{{{{{|z{|||{|{{|{{{{|}|{|{|}{{|{|z{z||{{{{z{|z{{zzzzz{|{{z|{{zz{zzyzz{{{{{||{{{z{{{{{{{{|||{{{{z{zz{zz{z{z||{{zzz{zzz{{{{{z{{{{{yyzzz{{{z{{{{{z{y|z{{{|z{{|{{|{zz{{{{{{{z{|{zyzyzzzz{||z{{||{z{{z{zzz{{{{{{{{z{{zzz{z{{|z{{|{{z{{{{zz{z{z{z|{{{z{z{z{{{{z{{{zz{{{{zz{{|{{|{{{zz{{z{{{{{|z{{|z{{zz|{{{{{|{|{{{z|{z{{{{|{|{||||{{{zzz{{z{{{{{|{{{zz{zz{{||{{}{{z{{{{z{{{|{{{|z{{||{|z{{{{}{||||{{{{|{{{z||||}|{|{{{zz{||||{|{{|{{z{{{{}}|{|||}{{|{||{{{|}{{}|||{{{|{{{{}{||||||{{{{{{{}{{}|}|{{z{{{zz{{||||}|||{{zzz|||}{{||}||{{z{{{z{|{|{||}{{{z{|{{||{|||||zz|{{zz{|{|}{{{{|{z{z{{z{{|{|{||{{{z{zz|{{||||||{{zz{z{{{{{||||}{y|{zz{{{z|{{z||z{{{zz{{|{||||z||{zz{{{z{{{|{{||{z{{zzzz{z{{z{||{z{z{{z{{{{{z||{{z{z{{zzz{{|{{|{{{z{z{zz{{{{{{|{{|{{z{z{z{{{{||{{z||{{zz{{{{{{{|{{{{{y{{{{{{{{{z|{{|{|{zz|{{|z{z{{|z{{{{{|||{}|}|z|{{{{{|{{{{{|}{{{z{{{z{|{{z{|{|{{{z{|{{{|{||||{{{z{{zz|||z|{}{{{{{{{{{}|{{|{{|{{{{|{{{|{||||}||{{|{{{||}{}{{||{{{{z{|{|{||{}|{|||{{|z|||||}{|}{{||{||||}|||||||{}|{|{{{}|||}|}|{|{{{{{|z|{|||}{{{||{z{}||{|{|{|{{{|{z|{|||||}|{|{{{{{z{{}|{{||||{{{{z{||||{{||{|{{{{|{|{}{}{{z{z{{z{{z{{|{{{|}{{yzy{{{{{{||||||zzyzz{{{{z|{|||{z{z{zz{|||}|{||{{{{{zzz|z{|{|{{zzz{{{zz{||{z{{{{{z{{{zz{{{zz{{z{{zzyzz{{{zzz{{||z{zzzzz{|{{z{{{{zzz{zz{zz{{||{{zzzz{zz{{{{{|{|{zzz{{z{z{|{{z{|||{{zz{{z{zz{{|{{z{{z{{{zz{|z{{|{{z{{{{{z{{|||{{z{|{{{z{{|{{||{{|{{{{z{{{{{{{{||||{{z{z|{||{{{||{|||{{{z{|{{z{{|{|{z{z{z{{{||{{||{{{{{{{z|{||||||{{{||{||{|{{|||}{{{{{{{|{{||}|}{|{{{|{{|{||}{|||}z{||}|{|}|||}}{|{|{{|{{|||{{||}|||{{{{{{|||||{||{{|{{{{||||||||{}{||{{{|||{|||}{{{{{|z{{{{{}|||{{{z{{{{||{||||{{{{z{z{{|{|{{|{{zy{zz{zzz{|z{|||z{{z{z{{{|{{}||}{zz|z{|zzzz{|||||{{{z{{{|{||z{||{{{z{{zz{{|{{{|||z|{yz{{||{{{|{{{zz{|{{{{z{{{{{{{|{{z{z|z{|{z{{{zz{{{z{{{{||{{{zz{{{z{z{z{{{z|{|{{z{zz{z{{z{{{||zzz{zzzz{{{{{|z{{{{zzz{zz{zz|{{{{z{{{zzz{{{{||{|{{zz{yzzz|{{{|{{{{{{{z{z||{{{}{|{{{{{{{{|{{|{|||{{|{{{{zz|{||||{{z|{{{zz{|||{{||{zz{{z{{{{{||{{{||{{{{|{|{{}||||{{{{{|{|{{{||{}|{{{{{zz{||}}|{|||z{{|{{|}||||||||{{{{||{|}|}||}||{||{{{|||}|}}}}|{{{{{z{{|||}|||{{z||{z{|{|{}|||||{||{{{|||||||||{{{|z{||{||||{|{{{|{z{{{||||||{{{|{{{|z|{{{|}{{{z{z{{z{{z|{|{||{z{zzzzz|{{{{{{{{{{zzzzz{{{{{|{{{z{{z{z{{{{|{z||z{{zyz{z{{{{{|{|{{z{{z{z{{z{{{{z{z{z{zzz{z{|{{{{{{{zzzz{z{{|{{{|z{zzzzz{{{|{|{{{{{zzzyzz{||{z|{{{{{{z{zy{{zz|||{zz{zzzzzy|{{{|{{zzzz{{{zz|{{{{||{z{z{z{zz{z|{{||zz{{zzz||{|{|||}{{|{{zz{{{z{||{|{{{{|zyz|{z{{||{{{{|zz{{{{||z{{{{zzz{{zz||{{{||z{{{{{{{{{}{||||{{{{z{z|{{|{{|{}|{|z{{|{{{|{||{}|{{|{{{|{|{{|{{||{{{{{{{z||{{{|||}{{z{{{{{{|{{}{|||{{{|{||}{||{{||{{|{|{|}||||||{|{||{{{|{|||||{}|{{{{z{|{{{||}||{|{{{{{{{||||{||{{{{zz{{{|||{{|{{{}yz{{z{||{{{{|{{{z{yz{{|{{z{||{z{zz{z{{{{{{|{|zz{zyz{z{{|z{|}|{z{{z{zzz{{{{{|{|{|{zzzz{{z{{||z{z{z{zz{{{zz{{{|z{{{{{{z{{|zz{{{|{{{z{zz{{{{|z{{z{zzyzzz{{{zz{{{z{zz{zz{z{z{{{{{zzzzzzz{z{{z{|z{zzzzzz{z{z|{z{{{{yzyyzzzz{{{z|{|z{z{{{|z{{|{{{{|{{{{zzzz|{{{{||{{zz{zz|z{|{|{{{}{z{z{{z{{{|{|||{{{{{zz{zz{{|z||{{z{{{{zz|{{{{|{||zzz{{z||{|z{{{||{{{|{{{{|z{|||{z{|{|{{z||{||{|{|{{|{{{{|{||||}{|{{{{{{||}||||||{{|{{||z|{{}||||{{z||{{{{||}|}||||{{z{{{{|||{||||z|{|{z{{|{|{||{{{z{{{|{{|z|{|z||{zz{{{{||{||{||{{|{{z{{z{{||||{{z{z{zz{{{|{|{{{{{zz{zz{z||{{{{|{{zz{yzz|{{{|{|||{zzz{y{|z{{{|{{{{z{z{zz{{|{{{{{|{{z{yzz{{|||{||{z{zzz|y{{{z{|{{zz{z{{zz{z{{{||zzzz{z{z{||{{z{{{{z{y{zzz{{{z{{{{zzzz{{zz{{z{{|{z{z{zyzz{{z{|{|||{z{z{zzzz{{|z{{{y{{z{{zzzzz{{|z{{z{z|{{z{{|{|{{}{z{{{zzz{{{{{{{{{{{zz{{{{{{{{{{{zzzz{{zz{{|{|||||{{|zz{{z{||||{{z{{{{{{z{{||{|}{{{{{{{{{|{|{{|{{z{||{|zz{||}||||{|{{{|{z{|{}||{|{{|{{{{{|{|}|{|{{{z}||{{{|}||{||{z{{{|}{||||}||||{|{{{{{|}{||}}{|{||{{|{}|}|{|||{{{{||{{{{|{|{||{{{||{{|||||||{|{{{{{{{{{|||{{||||{z{{z{{}{||{}|{{{{|z{{{{{|{{|{z{{{z{z{{|{{z{{{zzz{{z{z{{{{|{|{{{{zz{zz{{{z{|{|{z||zz{{{{||{{{{z{zzzzz{|{|{{{{|{{{z{{{{{||z{|zz{z{y{z{yz{zz{||zzzzyz{y{z{z{{||{zzzz{zz{{z|{{||{{zyzzz{z{{{{{{{{{{{zzzzz{{{|z{{}z{zz{{{zz{z{|z{|{{zzzyzzy|{|{||{zy{{z{{z|{{{|||{zz{zzz{y{{{{|{{{{z{{{z|z{{{{|{||{z{{{z{{z|z{z|||||z{{y{z{{{|{|{{{{{zzz{z{{|z{{||{z{{|{z{|{{zz|{{z{{{{z|z|{|}||||z{z||{{{|{||{|}|{{{{{zz{{{{{{||||{{||{{z||||||}||{{{z{{|||||}||}}{{|z||{{||{|}}{||||z{{{|}|||||}}{z{{{{||{|||}|||{{{{{{{{||{{|||{{zz{{|{{|||{||{{{{{{{{{{|{{{|}|{z{z{{{{{|}|{{{{{zzzzz{z|||{{{{{{{{{z|zz{{{{{{{{|{yz{zzzz{{|||{{{z{{z{z{{{{{{|{}z{|z{{{z|{{{|{{|{{zzz{{{{|{|{||{{zz{z{z{{{z{{{|{|z{zy{{{{zzz{{{{zzzz{zyz{{{{z|{{|zz{yzy{{{{{z{|{z{zz{zzzz{{{{{{{z{{{{zzz{{{{{{{zz{zz{{yz{|zz{||z{{{|{{{zz|{|{|{{z{{z{{{{z{{z{{{{|{zz{{zz{{{{|{{{{zzzzzzz{{{{{|{|zz{zz{{z{|{|||||{z|z{{zz{{|z{{||{z{{zzz{|{|{{||{{z{{{{{{{{|{|}|{z{{{{{|{||{||{||{{|z{|{||{||||}||{z{|z{{|}{||}}|{{{{{|{{}|{{|{|||{{{||}|{}{{||}|{{|{zz|{{|}||||{|{{{{|{{{{{|||}}}{z{{{{|||{}|{{|||zz|{{|{|{|{|||{{||{{|{{|{{|{|||z|z{{z{{{z||||{{{zz{{{{{{{{{{{{{{zzzz{z{z|{|{|{z{{zzz{z{zz{{{{|{{z{zzzz{{{{z{{|{{z{zz|z{|||z{{{z{z{z{{{z{|{|{{{{{zzzz{z{{z{{{|{{{{{zzy{{|{{{{{{z{z{zzz{{{z|z|{|zz{{{{{{{{|{{|{{z{zzz|{z{||{z{|{{{zzyzzzzzzy{{{|{{{z{z{zz|{{{|{{{{zzz{z{||{||{|{z{{{{z{z{|{{{{||{z{{{{{{{{{{{{||zz|{z{z{{{{{|||{|{{{{zz{{||{{|{{{{{|zzzz{}{{{{||{{|{zzzz|{{|{{{{{{z{{{{{|{|{z~}|z{{{|{{{|||{{|}{|{{{{{z{{{{||||||z{{{zz{{|}{||||{|{{|{||{{||||}}}{{{{|||{}||{|}|||{{z|{||{|||}{}|{||{{{z{{|||}}|{{|{|{{|{{|}||}||{zzz{{{{{{||||||{{|{{{{|z}}|{|||{zz{zz||||||}{{{{zz{z{yz}|{{{{|z{{{{zz|{z|||||{zzzzz{{z{{{|{{{z{zzzzz{z{}z{{{|||{{{yz{z{{{|{{{{{z{yz|{z{{{{z|{|{z{{z{{z{{{{z{{{{{{{z|{zz{{z{{||zzyz{{z{{z{{{{{{zzz{z{z{{{||||{{{{zzz{zy{z{{{{z{z{z{zz{zz{zz{{{|y{{z{zzz{{z|z|z{{{{{{|zz{|{{|{|{z{{zzz{z{|{z{z|{|{{{{z{{{z||{||{z{{zz{{{{z{z{{{||zz{{z{{{{{{{{{||z|zz{{z|||{|{|{{z{{|{z{{||{{|{|z{zz|{{|{|||||{|z{{z{{{{{|||||{||{{{{|{{||||{||}{{{{||z{||{{{|{|{{z{{{{{z{|||}{}||z{{{|{||{|}}||||{{|||{}|{}{{||{{|{|{{{||{|z}||}{{{||z{z|}|||{|||zzz{{|||{||}||{z|{{{{zz||}{{|{{|{{{zz{||||{||{z{{{{zzz{z{{{{||zzzz{z{z{{|{||||{{{z{zzzzzz{z{|{{zzzz{zzz{{z{{||z{zyzzzy{{{{{{z|{z{{{z{z{{zz{||{{{{{{xzz{{{{{{{{{{z{{|zz{{z{zz{z{z{{zyzyz{{{{yz{{zzzzzz{zz{{{{||{z|zzzzz{{z||{||{{{z{zz{z{z{z{{|z{y{{{{z{{z{{{{|z|{zz{zy{|{{{{|{{{zzzzz{{|{||{{||{{{z{{{{|{{{||{{{z{{z{{{{{{{{||{{{{{z{{{{{|{|{{|{{{z{{{|{||{}|{{|{{z{{{||{{z}||{{|{{{|{||{|}|||z{{{|{|{|{||||}}||{{{{{z|||{|{{{|{|{|{{|{}{||||}{{{{{|{{{}|{|}|}}z|{{{{z||{{||}|}{{|{{{{||||||{||{{{{{z|{{|z|z|||{|{|||{||{|||||{{zz{{{z{{|{z{|{|{{{zz{{{{z||||{{z|zz{z{{{{{{{{{|zz{{{zz{||{{{|}{{{zz{zz{z{{z{{{{|{{zz{zz{{z||{{{{{{z{{{{{{{z{||zz{zzz{z|{|{{|{||z{z{{{z|{{{{|{|{z{z|zzz{z{{{z{{{z{z{z{{z{z{{{{{z{z{{zz{{{{{{{||zyz{zy{{z{{{|{{zz{{z{{{{{zz{{||{{zzz{z{{z{{z{|{|z{{z{z{z{{{z{{||z{{zz{zzz|{|{||{{{z{{{{z|{{{{|||{z{z{z{{{z{{||||{{{zz{z|{}{||||{{||||z{{{|{{{|z{{{{z{{{z|||||{{||{z{{{|{|z{{|{{{||||{|z|{|||||}|{|{{{{{|{}{|||}|{z{zz{{{}|}|{{|||z{|}|||}}|||}}|{{{{{|||{}|{|||}{|||{||{||{|{||||||{{z|{|{|}||}{|{|{{|||||{{|||||{{{{{{{{||||}||{{{{|{z{{{{|{}}||{z{{{{{|||||||{{{|{{{z{{|{|{{{{zz{{zzz{z{|{{||{{{{z{zz{|{{z{|||||zz{z{z{|{|{||||z|{z{zzz{|{z{{{|z{y{{zy{{{|z{|{{z{z{{zzz}|zz||{|z{z{{zz|z|{z{{|{z|zz{y{{z{{{|{{{{zzzy{z{{|{{||{|{zz{{zz|{|{{{{{{z{yzzz{z{z||{{{{zzz{zzzz{{{z||{{{{{zzzzz|z{z|zz{{{zz{{zz{{|{{|||{{{{z{{{||{{|{{{zzz{z{z{|{{{|{|{{{{{z|{||{{{||{{{z{zz{z{|{||{{{z{|z{z{{|{{{{{|{{{|z{{z|||{{{|{zz{{||{z|{{{||||{z{|{|{|{||||||||{{{{{{z{|||}|{||{{|||{{||||{||||||{{{|{|{|{||||||{z{|{}{||||{|{{||{|{|||{{|||{}{|||{{{{|||z|||||{{{{{|{|||||||}|||{{|{{{|{{{z{|||{|y{|{{{{||{{|{{|{z{{yz{}|{{|{{{zzzzz{zz{{{|{{{{{zzzzzz{zz{||{{{z{z{{z{z{{{{||{{{|z{z{z{{z|z{{{{{zzzz{{|{{{{{{{z{{zz{{{{{|||{{zzz{{{zzz{z{|zz{{{{zzz{{zzzz|z{|{{{zzzzzz{|||{{{{{z{yyzz{z{{z{{{{zz{{zzz{z{{|{{{{{zzzzzzzzz{zz|z|{zzzzz{z{{{z{|{{{z{{{zz{|{|z{{{{{{{{zz{{{z{{{{||{{z{{z{z|{{z{{{|z{{{{{{{{{|{{{{||{z{{zzz|{{|}{}{z{|{{zz|{|||{|{{{{{{{{{z{|{{|{{{z{{{{|{{{||||}||{{|{{{{{{}|{z}||{{{{z{zz|{{}}||{{{{{{{{{{||{|||}||{{{{{{{||||||{|{{|{{{{{|||||}}||{|{{{z|||{{|{|{z{{|{{|{||}}{|}||{{|{||{{||{|||{{{z|{z{|||||||}|{{{{{{{{||||{}|{zz{{{{{||{{|{z{z{zz{zzz{{|{{{|{z{{zzzyz{{z{{|{}{zzyzz{z{z|z|{||{{{zzzzyz}{{{|{{{z{y{{{z{z|{z{|{{z{yy{zz{{{|z|{{z{z{{{{{{z}zz{{{{{zzyzzzz{{|{{{|z{zzz{{z{|{z{{|{zzyzzzz{z{z{|{{{{z{zz{z{{{{|{{|z|{z{{z{yzzz{{{{{{{zz{zzzzz{z|{|{{zz{{z{zz|{z|{||{zzz{z{zz{{{{{{|{{zz{y{z{|z{{|||z{zz{{{{{{|{{|||{{{{{z{{z{{|{|||{{{{{{z{z||{||{z{{{{|{{z{|{z||z|{|{{{|{{|||{|||{x|zz{{{{|||||{||z{{{{{z{|||||||||{||{{z|{}|{||||||{{|||{{{|{|}|||{{{{|{|{}{||{|||{{||{{{}||||{||}{{{|{{{{|||{||||{{|{{z|z{{{||}|{||zz{|{{|{{{{|{{z{{z{{{{|{{{|||{{||z{{z{{z|{{{{zzzz{z{{z{|{|{{{|{z{{z{z|z{{{|{|{zz{{|{{{|{z{{|{{y{zyz{|{|{{{{|{{{{zzzzz{{{|{{||zzzzzzzz{|z{{||{{z{zzzzz{{{{{{{{z{{zzz{z|{{|{z{{zzyzzz{{{{{{|{{{{zzzzzz{{{{{{{{z{{{zy{z{z{{|{{{{z{z{z{yzz{zz{{{|{zz{|zzzz{{{{|z{{{zz{{{{{{{||||||z{{|{zz{|{{z{}|{z{z{{z{{{||z|||{{{z{{{{|{|{|{|||{|{{z{{|{|||{{{{z|zz|{z{||{||}||zz|{zz{|||{|||{z||{{zz|{{|{||||{{|{{{{{||{|{|}}{{|{{{{{{|}||||{|z{|{{{{||||||}|{{{{||{|{{|{|{|{{{{{{{{|||{|{|}}|{z{{z{{{||||{|||z{{{z{{|{}||||||{{{z|{{|{|||||{{{{{{{{z|||||||{||{{{{{z|{{|{{||{{{{|{{{|||{|{z{y{{z{zzz{z{zz{{|{|{zzzzz{{{z|z{{{{zz{zzz{{{{{|z|{z{{zzyz{z{{{|{{z{{{zzzzz{{{|||{{z{zzzz{z{{{zz{zzzzz{zzz{{z{z|{}zzzyzzzzzzz{z{{{{zzzyy{zz{{{zz{{zz{zyzzz{{|{||{{{zzyyzzzz{zz{{||z{{yzzzzz|{|{{{{{zzzz{{{zz{{{{z{{zzz{{zz{{{{{z|{{zz{zz{{{z{{{{{|{z{yzzy{{|||zz||zzz{{{z{z||{{{|{{{{|{y{{{z{{{|||{{zzz{zz{{{{{{|{{{y|{zz{{z|{{||{{zz{{{z{{{||{|||z{|{{{|{{|z|{}||{{|{{{{y{}{{||}|{z|{{|z{{|{||{||{{{{{{|{||{||||}{|{{{{|{{{}|}||}z{z|{z{{|}||{{||{zz{{{z{|{{||{{|}|{{|{{{||{|||}|{{{{{zz{{|{{{||{{{{|{z{z}{{{{{||{z|z{zz{{{{{{{{{zzz{{z{z{z{||z|{zyz{zzzz{{{|||{{{|z{zzz{{{z{|||{{y{{z{{z|z{{{{|{{zzzz{zz{{z{{{{|{{z{zz{zz|{{z{{z{zz{z{zzz{{{{{z{|zzyzzz{z{zzz{{{{zzzzz{z{z{{{{{{{yzzyzzz{{{{{|{z{{z{zzzy{{{{z||||yz{zzzy{z{{{z{{{{zyzzy{y|{yz{{z{zz{{{{zzz{{||||{zz{{zzz{{{{z{||{{{{zyz{{{|{|{||z{{zzz{z{{|{}{|}{y{z{{zz{|{|{}|{|yz{{{zz|{{{{{|{z{zz|{{|||{{{{|{{{z|{zz{|{|||||{z{{z{z{{||||{{{|{z{{{z{{||{|{|}||{{{{|{z||{{{|||{{z{|{{||{|||{||{{{{{|z|{|}}||{|}{{|{y{{|{|{{||||{{{{{z{|z{|{|{|{|{{|z{z{{||{|||{{{{{{{{{|z{|{||{{|z{y{{z|||z|}{{z{{{{zz{z{|{|z{{zzz{zzy{{{{z{|{{{{{zzz{{{{z{|{{zzzzzz{{{{{{{{{{{|z{{z{zz{{{z{{{|z{{zzzz{z{{{{{|{z{{zzzzz{z{z|{{{{{zzzyz{{|{{{{{zzzz{zzzz{{zzz{{z{{z{zzy{z{{z{{{{z{{z{yzz{{{z{{{z{zzz{zzz{{yz{{{zzzzzy{zz{{{zz{{{yzzzz{{z{z{{|z|zz|zzz{z{{{z{|{yz{z{zzz{z{{{z|{{zz{{z{{|||{|{{|{z{{zzzz{|{{{|{{{{{z{{{{z{{||{|{{|{zz{{zy{{|||z|||{y{{{{z|z{||{||{z{{{{{z{{{|{}|{{{{|{z{{{{{|{|{|{z{{z{zz{||||||z|{z{{{{z||{{|||{|{||{{|{{}{{||||{{{|z{z|}|}{||||z{||z|{||{|{{||||zz{{{{{{{{{||{||{{{{{|{{|||{{||{{{zzzz{{{}{||||{zzzz{zzz|{|{{|{zz{{{z{{z|{{{{{{zz{z|zzzz||{{z{{|zzz{{{zz{|{{{{{{{zy|{zz|||{{{|{{z{z{yzz{{||{{|{z{z{z{zz{{{{||{|{{{z{{{z{|{zz||{zz{z{zzzz{{{{{{{z{zz{zy{{{{{{z{{{z{z|z{{{z{|{z|{z{zzyzzzzz|{{{|{z{z{yzzz{{{{z{{|zzz{{zzzyzz{{{{{{zzzzzz{{|zzz|{{{z{z{z{z{|{{{{|{{z{zzzz{{{|{{|||z{}{{{zz|{||{{||{{{{zzz{{{{{}|{{{z|{z{{z||{{||{{{{|z{z{z|{|{||}|{{z{|z{{|{|{|{}{||{z|{zz{{{|||||z{{{{{|{{{{|{|||{{||||{z{{|{||}||z{{{{z{||||||||{{{|{|{|||{{{|||||{{zz{{{}|||||||{{{{{{{||||||{||{{{{|{||||||{|}{{{{|{{{|{||||||||z{zzz{z|{||||{||zz{{{{|}|{|{||{{{z{{{{|{{||{{{zzzy{{zz|{z{|{|||{yz{{z{zz|{{||{{|{{{{{{{{{|{|{|{zz{z{z{{{{{{{|{{z{z{zzz|{|{{|{{z{zzzzzzz{|{{||z{zz{{zzz{{{{{|zzzz{{yzzz{{|{{{{{zzzzzzzz{z{{z{|{{yzz{{y{z{{|{{{{zz{{zz{zz{{||{|{|zzz{z{{{{{{z{{{{zzz{{{zz{z{z|z{{{z{{{z{{zz|{{||z{{{{zz{{||{z{||{{{{zz{zz{z{{|{{{|{{z{z{{{{|||{|z{|{{{{{||{|||}{{{zz{z{z||{|{||{|{|{{{z{{|{z{{{|{{|{|{z{|||}|||}{{z{{{|{|{{|||}|z{{{zzz{{|{|{||{{{{{{{{{}|||||}|{{|{{|||{||{|{||{{{||{|{||{|}|{}|z{|{{{z{|{||||||{{{{{|{||{{||{|{{{{{|{{}{||||||{{|{{z{{{{||||{|{{z|z||z{|||||||{|}{yzz{z{{}{|{{{z{zzzzz|{|{y{{|z{{zzzzz||{z||||{z{{{zy{{z{z{||{|{{zzzzz{{{{{{{{zzzzzz{z|{{|{z{|{z{yz{|{z{{{{{{{{zzz{yyz{{{|{|{{{{{z{zz{{z{{zzz|zzz|zzzz{z{|{{{z{{zzzzz{zz{z|{{{{zzzzzz{z{z||{|{z{{{yyzzzz{z{|{{{|z{zz{{z|z{{||{z{{|{{zz{{{{zz|{{zzz{yz{{{{{|{|{z{{{zz{z|{{{|||{{{z{z{z{{{|{||{|{{{z{z{z{{{{{}|{|z{{{{z{|||z|{||{z{{{{{z{{{||||{|{zz{{z{|||}||{{{{|{{|{{|{{|||||{{{{zz{y{}|{|||{}z{{z{z{|||{|{||{{|{||{|{{|||{|||{{{{{{{{{{|{||}z{z|z{{{}{|{||}{|z{{{{z{{{||{|}||{{{||z||{{|{||}{z{{{{zz{{|z|{|{{{zzz{|{{{{|||||z{{{{zz|{{{{{z{{y{zz{{z{{{{z{{|{{z{{zzy{{{{z{|||{{zz{{|{|{{||{|||{{{{{{{{z{|z|{|{zz{z{zz{z|{z{|{{{|zz{zzz{{{zz|{{{zz{{z{{{{{{{{{yz{z{zzz{{z{{{{{{{zzzzzzz|z{{{{{{zzzy{zzz{{{|{z||{yzzzzz{{z{{{{{{{zyzz{zz{{{{{z{{{zzzzzzz|{{{|{z{{{zzz{z{{{{{{|||z{{z{{z{{{z{{||{z{{z{{|{{}{{{|||{z{z{{{{|||{|||zz|{{{{{{||z|}|{{{{{{|z{z{{{{{}{{{{|{z{{|||{z|{||{{{{{z{|{{}||{|||{|{{{||||{|}}}|{{|{z|{|||||{|}|{{{{{|{|||}}|{|||{{{{{{{||{{||||{{{|||{{}|{||||||{|{{zz|}|}{||||{{{{z{|{|||{|||{{{{|{|||{||||||{|z{{{{{{|||||||{{|{{{{z|{{z{{{|{z{{{z{{|{||{{{zzzz{{zzy{|{{z{|z{{zy{zy{{zz{z{{{{zzzzzzzz{zz{{|zzz{{{{zz|{{{z{{|zzzyzz{z{{z|{{{|z{zzzz{y{{{{{{{z{{zzzzyzz{|z{{{{{yzzz{yzzzzz{z{{{{zz{zzz{{z{zz|zzzz{zzzzz{{z{{|{{yzzz{zz{{{zz{{z{zyzz{z{zzz{{{{{{zzyzzzzz{{{{z{zzzzz{z{z{z{{{{{{{zz|{z{zz{{|{|z|{zzzzy{{{{{{{{||{z{zz{{{{{{{{{}|z{zz{zz{{|||{|z|{{{{{{y{{{{{{{|{{zz||{{z{{|{|{{{{{z{{z{z||||}{|{z{{{{{{{{{{{{||{zzz{{z|{||z||{{{|{{{{{{{||}||{|{{{{{z{|{{{{{{}||{{{{z{|{{||{{|||{{|{{{|{{{|{{{|||{{|{{{|{{|{||||{{{{{{z{|{{|||}|zz{{{zz{{{{{{|{|{{z{z{{{{|{|{{{{z{{{zz{z{{|{{{{{|{zz{z{{{|{{z{|{zz{y{yyz{|{{{{|{{z{{{z{{{{{{{{|{|y{zzz|zz{{{z{{z{{z{zz{z{{{{||{{{{{z{{z{{||{{|{{{{{{{y{zz{|{zzz{{{zzz{{{{{z{{z{{{zzz|zyz{{zz{{{zz{z{zzz{{{|{|||{zz{zz{zyz{|{{{||zzz{zzzzzzz{|z{{{{{zzy{y{{z{z|{{zzzzzz{z{{z{{{{{z{zz{z{{{{|{{{{{zzzzz{{z|{{z{|{{{{{{{{{{z|{{{{{{{{{{{{{{{{{|{{||{{{z{{zz|{|}{{|{{z{{z{zz{||{|}{{z{{zz{{{|}z|{|||zz{z{|{||{{{||||{{{{{{|{{||{||{||z||{||z|||{{|||{z{{{{|{|||{||{{{{{{{{{|{|{{{||||{{|{{|{|{||{||||z{z{z{{{{|}||{|{z{{{|z|}}|{|}||{|{{{{z{{|{{||||{{{{zz{{{{{|{{||{z{z{z{{|{z{zz{{z{zzzyzz{||{{{{{zz{{zy{z|{{{|{{|{z{zz{zy{{{z{|{|{zz{z{zz{z{{{z|{{z{{{{zz{{z{|{{{zzz{zz{z{z{y{z|{{{{zzzzzz{|{{{{{{{{{z{yz{{{{z{{{y{z{zzyzzz{{z{{{zzzyzzz{z|{|{z|{zz{zz{{{z{{{{{{|zzz|yyzyzzzz{|{|z{zz{{{zz{{z{{{{zyzz{{zzz{{{{{{{{{{z{zzzzz{|{{|{{{{{|z{z|{|z|{||z{zz{{{z||{|{{||z{z{z{{{{|{|{{|zzzzy|zz{{{|{|z{{{zz{{{z|{{|{{{|{{zzz{zz{|{|||{{|z{{{|||{{|||{|||{{{{{{{z|{}~|{|{{{z{z|{{||||{||||{{{{{|zz|{||}{{}|{{z|{{{}||{|{|||{|{{{{|{|||||{{{{z{|{{{{{||||||{z{z{{{|||{|||}z{{z{{z||{{{{||{{z{z{{{{{{|||{{|{{{z{{{z{{{{{{{{zzzzz{{{z{{{z{{{{z{{zzz{z{{{{|}{{{zzy{zz{z{zz{{{{zyz{zzzz{{z{{{{zzyyzz{y{{{{{{{|{zzy{y{{y{{{|{{{z{{yzz{z{|{{zz{{z{zzyz{y{zy|z{{{zzz{zz{zz|{z{||{zzz{{zzz{z|{{{z|zzzzzzzzz{{|z{|{{{{z{z{z{{{zz{{{{{zzzzzzz|zz{|{{zz{zz{zzz{{{{{|{|z{zy{{{{{z{{{{|{zzzzz{z|z{{{|{|zz|z{zzyz{{z{||{{{{{{{zzz|||{|{{{z{z{zzzz{||{||{{{{{{{{z|||{{|{{{zzz{{{z|{{|{{||{{{{yz{{|{}{|||{|z{{{{z{|{}|{|}||z|z{{{{{{|||||||z{z|{|{|{{{z|{||{{|{{{{{{{||{|}{{||{{|||{||||{{|{z{z{z{{{{{|{||{{{{z{{{{{{|||||{|{z{{{|{|{{|||||{{|{{zy{{||{{|{{{{zzz{zz{{{z{{|z{z{zz{z{|{|z{{{zz{{|y{{z|{{{{z{zz{z{{{zz{z{|}{|{zz{{zz{|z||z|{|{z{{zz{y{{|{{|{|{{{z{{{zz|{|{{|z{zz{{zz{{{{zz{{{{zzyzzz{z{z{z{{{{{zzzz{{{z{{{|{|zy|{yz{z{{{{{|{z{z{zzz{z{{{|{z{{|{z{{z{z{|z{z{{z{yz{{{zzzz{{z{|z{z{{{{zzz|{{|{|{{z{{zz{|{{|||{}|{{{{{zz{|z|{{{|{{{{z{z{z{{|{|||||{{z{{|z{|{|{|{|{{|{{{zy{{{{{{|{{{{{{{{{|{{{{|||{{{|{{{||}||{{||{|{{|{{{||{||{}}|z{|{z{{{|||}{||||z{{{{z|}|}{{|{{{|{{{z{||{{{|||{{{|{{{{{||||||{{|{|zz|{||{|}|}||z{|{|{||}|||}|}|{{|{|{|{|||{{}{|||z{{{{{|{{|{}|{|{z{{zz|||||z|{{z{zz{z{{{{z|{{|zz{{zy{z{{{{{{{|{z{{zzzz{||z|{{{{{{zyz{z|{{{{{{{{zzz{z{z{{{{{{|{|{z{z{zz{{{{z{{}z{{zzz{z{{zz{{{{zz{z{yzz{{||{{z{{z{z{zzz{zz{z{{{{{zz{yzz{|{{{|{{{z{zz{zzz{{z{|z{|{{zzz{{{|{{z{{|zzzzzz{zz{{zz{{{zy{y{zz{{|z{{{||{z{{{{zz{{{{{|{{{{{zyz|z{{{{{{||{{{{zz{z{{{|{||{{{{{{zz{{|{{{{||z{z{{y{zy|||{{{{|{{{{z{z||||{{||{z{z{{{z{{{{{{||z{zzz{{{{{|}|{||z{{{{{{z|}{{{|}{|z{{{zz{|{{||{||{z{{{|{|||{|{|}|{z{|{{||{{|{|||||z{z{{|{{|||||{{|{||{{||||{||}|}{{{{|{|{{{{|||}||{z{{{|z||{{{{||{|zz{z{z{|{|||||{z{{z{{{{|}|z{{{zz{{{z{z{{{{}z{{{z{zyz{zz{{{|{{{{{zzzz{{{{|{{{||{|zzz{{{{{{z{||{{{{zz{yz{||{z{{{{z{zz|{z{z{{{|{|yz{z{y{y{|zzzz|{z{zz{{{zzz{{z|{{{{zz{{{z{{{{z{{z{zzzzy{z{{{zz{|zyz{{z{z{{{z{{{{{{{zzz{{zz{z{{|{|{zzzz{{z{z{{{zz{z{{z{{zy{{z{{{||zzz{z{z{{{{{{{|{{zzzzz{z{{{{{{{{{{{zz{{{{{|{||||{{{y{z{{{|{|{{|{|z{zzz{{{{||{{{|{{|{{{|{|{|||{|||{|{z{z{{{{{|{|{{{{z{|{z{||}||{{{{{{{||{||{}|{|||{{|{|{{{||||||||z{{{z{{{{||{|}|{{{{{{|{{|{|{||||{{|{|z{{|||}}||{{{{{{{{|||||{|{|z{|{{{{{{|||||}|{{|{{{|{{{{}||}{{z{{{{}{{{{||{|{{{|z{{{z{|||{||{{{z{{{{{{|{|{{{{zz{{{zzy|{{{|{|zz{{zzzz{{{|{|{{zz{zzz{{|z{{|{|{|zz{zzzy{{{{{{|{zzzzzzzzz{{|z{{|zzzzz{{z{{{|z{{z{zz{yzzzz{{{z|{{{{{yzzzzz{{{{{{{z{zyzyzzz|{{{||{|z{{z{zz{z}{{z{{{{z{{zzzzz{{{{|{zzzzzzy{{{yz{zz{{{{zzzzzz{{z{|{{zz{{{z|{|z{{z{||zz{{{{{{z|{{{{{{{|{{{z{{|{{|{}|{{{|{{{zz{|{{{|{{zz{{|{{z|||{|{{{{z|{z{{{|{|{|||{{z{{{z{{{{{{{||{{{{{{{zz{{|{|||{||{|{{{z|{{}{||{{{|{{{{{|{||{{|||z|{{{{z|||}{|||{z{{{{||{|{{|}{|{{||{|{{|{|{|||||||||{{{||||||||}|{{{{||{||||{|||{||{z{{{|{||{||{{|{{{{{{|||{|||{{{{z{{{{|{|{||||{{{z{{z|{|{z{{{|{z{{{zz{|{{z{|{{{z{{{z{|{{{{|{{{z{z{{{z{z{{{||{{{z{z{zzz{{zz{|{zzzz{{zz{|{z{{z|zzzz{zz{{{{{z|{{{{{zz{z{{{{z{z{{zz{zzzzzz{{zz{|{{yzzzzz{z|{zz{|z{{yzz{yy{{{{|{||{z{zzzzyz{{|{z||zzz|zzyy{{z{{{{{{zzz{zzzz{{{{z{{z{{|{{zz{{{{|{z{{{zz{zzz|{}{{|||{z||zz{{|{{z{||{{zz{zz{{{{|{{{||{z{{{{{z||{{||{{{{{{z{zz|||{{|{{{{{z{{z{{||{{||{{z{{{{{|{||||z|||{{{{z|{{{{|{|}}|z{z|zzz{|{{{||||z{|z{{{||{||||||{|{{{{{|}{|}|{{}{|{z{z||||||||||{{}zz{{|{||{{||}z{{{{y|||||{|}|}|{z{|{z|{|{||||z{{{|{z|{{{{{{{|||{{{{|{{||{{|{|{z{{z{zz{{|z|zz|{z{z{{{{|{{{{{{|{z{zzz{z|{{z{|{|{{{y{z|{{z{|||z{|z{zz{zz{{|{{{|{{z{y{zzz{{{{{{{{{z{z{zzzz{{{{{|{{z{z{|z{{{|{z{|{{{{z{{{z{z{|{{{{yzzzzy{z{z{z{{{zz{z{zzzz{{{{|{||zzzzzz{zz{{{{zz{{zz{{zzzz|{{{z|{{{{z{z{zz|{{|{|{zzzz{{zzz|{{{|{{{zzz|zzyz{{{z{{{{{{{{zz{{{{{z|{|{{{{{zz{|{{{|{|{|z{{{z{{{}{|{|{|{{{{{{{z{|||{{||||z{{{{{|{{{{||{{{|{{{{z{{{|||}|{{{{{|{{||{||}|}|{{{{z|{{||||{{||{{z{{z|||{||||~|||{{|||{|{}||}}|{{|{{||{}|||}|}|z||z{|{|||||{||{z||{z{||}|||}|||{{{|{{{{|{|||}|{|z{{z{|{|{||||{{|{{z{{|{{{{{|{{{z{z{yzzz{{|{{|{{{{yzzz{{{z|{{{{{z{zzzz{|zz|{|{{{z{zzz{z{{{{{{|{{z{{z{{z{{{{zz{{z{{{z{{y{{{{{|{{{z{{{y{{{{{{{{{z|zzzz{{zz{{z{{{z{{z{zzzz{z{{|{{{y{{zzzzzz{{z{z{{{zzzzzyz|{{z}|{{{z{{y{yz{{{{{{|{{{{zzzz{z{zz{z{{{zzz{z{z{{{z{|{{{{zyz{zx|{{{|{|{{{zzzz{z|{{z{{||{{{{z{z{{{{|{|{{z{zzz{zz||{{{{}{{{{z{zzy{|{{||{zzz{{{{{z{{|{{{}{|zz{z{z{{{{{||{{{{z{|z{{|{{{{{|||z{{{{{{{z{|{|||{{{{{z{|{{||{|{{|{|{{z{{}{{{|{|{|{{{{{|{{|||{||{|{{{{{{{{|||{|{|{z{{zz{z|{|z{||{{{{{{{{||{||||}|}{{{{{z{|zz||||||z|{zz{{{|z{||||{{z{{{|z{{|{z{|{{z{zzz{{{{{z|{{{z{{z{zzz{|{{z{z{{|z{zz{z{|z{{{{|{zzy{z{{{z{|z{|{z{zz{zzz{{{{z{{{{{{zzzzzz{{|{{{{{zzzzzzzy{{{{z{{{zzzz{z{z{{{z}{{zzzz{z{z{{zzz{{|zz{yz{zyz{{zzz{z{{y{{{{yz|{{{{|{{{z{zy{z{{{|{{||{|z{z{zzz{z{|{||{yzyzzzz{z{{{{{{{{|yzzzzz{{{|||{y{yz{{{{z{||{|z|{zz{zz{{|{{|{{}|{{{{z{z{{{{{|||{{{{{{{{{{|{{{{{z|{{{{|{z{z{{z{||{z{{{z{{{{|{{|z{{{{{|{z{{|||||||{{{{|{{|||{||{}}{{{|{{z{{{||z|||zz|z{{z{|||}||{}{z{{||{z{{{{|||||{{{{{{{{|{|||||{z|{{|{{|{{||||{}{{{{|{{|{{{{||}{{{z|z{{|{{|||{}{{|z||{{z{{||{||z|yz{z{||||{{||{{{zzz{{|z{{}{{{|yyz{zz{zz{{|{{{zzz{zzz{z{{z{{{||zz{z{{{{z{{z|{|{{y{z{{{{z{|{zz{{z{zzzzzzzz{z{{{{zz{z{x|zz{z{z{{{|{z{zyyy{|{{zzz{z{zzzzzzz{{{{|{{yzzz{zzz{{{zzz{|z{z{zz{{z{|yz{{z{z{zzzzz{{{{{{||{zzzzzzz{|{{zzz{zz{{z{zz{{{{y|{{{z{z{{zz{{{{{||{{{|{zz{{{{z{z{z|zz{zz{{z{z{{||||zz{{zzz{{{{{|{|{{{{z{zzy{|{{|||z{{{zyzz{z|{|{z{|{z{{{z{z{||{||{|{{{{{z{{|{||{||}{|||{{{||{{|{|}|{{z|z{z{{{{{{|||{zzz|{|z{|||{||{{{{{{{|{|{|z}||||||{{{{|z|{||{|||{{|z{zz{|||{||{|z{|{z{{{|{{||||{{{{{|{{|{|{|||}{z{{z{{{{{|{z{{|{{{z{z|z{{{{{|||{{{yzzzz|{{{|{|{{z{z|{z{zz{|z{{||{z{zy{z{|{z{|{{yz{zzzz{{{|z|{}{{{z{{zz{{{||{{|{{zzyzzz{{z{{{|{z{z{{z{zzzzz{z{|z{z{z{zzz{{|zz{z{zzzzzyy{{y{{zz{{zz{zzyzzz{|{z{{z{{{{z{zzz{z{{|{{zz{{z{zyz{z{{z||zzzz|{zz|z{{z{{{zz{y{z{z{{{{{}{zzy{z{{zzz{{{{{{{zz{{{{zz{{{{{{{}{z{z{z{{{{{z{|{|{{{z{zz{{{{{{{|||{z|zy{z{{z{|{|{{{{{z{{z|z|{{|}{{{z{zyz{z{|{{|{||z{{{{z{{|{|{|||{{{||{{|{{{|{{|}{{|{{{z{|{{||{|||{{||{{{|||||{}||{{{{{{{{{{{|||||{{{z|{|{||{z|||{{{{||z|{{{{{{{|{{{{{{{{{{{|||{|{{{{|{{{{{{||||||{|{{|z|{{|{{|||{|{{z{{{{|||{{{|{z{{zz|z{{{{{||{z{{z{{|zzz{{{{|{{zz{zzzz{z|z{{||{{zyzzyz{z{{{{|{{zzzy{{zz{{{zz||{{zz{{zz|z{z{|{{{z{zz{{yz{{z{|{{zzzyz{{zz{z{z{{z{{zzzzzz{{z{z{{{{zz{yzzz{{{{zz{{{zzzzzz{{{{{{{{|zz{zz{z{zz{{{z{|{{z{{yzyzzz{z{z{{{zzzzzz{{z{z|{{{zzzy{z{{{{{|||{zz{z{{{z{{|{{{{{{z{z{zz{||{{{|{|{{z|{{z{{{{{{{|{{{zz{zzy{{{{{|{{{{{yz{z{{{|{||||{{{{zzz{{|{{{{||{z{{|z{|{|{||||{{z{{|z|{{{|}|{|||{{{zzz{|{|||{|{|{{{{{{{||{{||}{{{{{{{{{|}|}|||||z{{z{{z{||||||||{z{|{z{{{||{||||{|z{{|{|{}{{{|||z{{{{z{|{|{{}||{{{zz{{z{{{|{||{|{{{{z|{{||||{}|{{{zzz{{{z|z{{z{{{|zzy{z{|{{|{{{{{{z{y{z{{{{{||{|{{yz{zz{z{|{{|{{{|{{{y{z{||{{{||z|zz{|{{{{z{||{zz{{zz{y{{z{{|{z{{{zzz{z{z{{{||{{z{yzz{{{{{{{{{|{zz{zyz{z|{z{||{{{zzyzzy{||{{{{z{{zzy{{z{{z|{{|{{yz{zzzzz{|{{{{{zz{{{zzy{{z|{z{|{{{z{{zz{{{{{|||{z{{|{{{||{{|{|}{{{{zz{z{|z{z|}|{z{z{{{{|{{z|z{|{{|{{z{{{|{|{{|||{z{{{z{{|{|{{||{{{{{{{z{||||}|{{{{zz|{|||||}|||z{|{{{|{{||}{||}{z|{z{{{||{|}||}|z{{{|{{||||||}|{||{|{||{|}|{|{|||{z{|zz{|||}|}}{z|{z||{|}|{|||{{{|{||{|{{|||||}||{|{|z{|{{{}|||{|{{||{{}|{{{{|{{{|{{z|{|{|{|||{{{{{{{z{{{{{{|{{zzz{zz{z|{{{{{{|z{z{{{z{{{{|{{{|zzz|zz{y|{{{{{||{{{{z{zz{z||{|{{|{|{z{zz{{{{{|{|{{zz{{zz{|zz{|{{{{{zzzz{{z{z{{|{{z{z{{zz{{{|{|{{|yz{zz{zz{{{{{{zzzzz{{zz{{{{|{{{{{z{y{{y{|{{{{|{{{z{zzzy{{{z{|{{z{z{z{zzz{zz{|{{zz{z{zz{{{{|{{|{z{zz{z{zz||{{|{|{z|{zz{z{{{{{{||z{|{{z{{{|{||{||{{z{{z{z{||||||{{z{z||{{{}|||||{{z{{{{zz|{{|{{{|{{{{{{{{|{|{}||{{{|{z{||{|{|||||{{{{{{zz||||||||||z|{|{{|||{||}|{||{{|{z||||||}|||{{zz{{||}||||||{z{|{{{|||{|{}|{{{|{{|{{{{|||{|{{{{|{{{{||}||{}|{|z{{zz||{}|||}|{z{|{{z{|{||{|{{{z{zz{z{||{|{{zzz{zzyz{z{{z{{{{zz{z{zzyz{{zz{{{zzzzzzzz{|{{{|{{{zz{zy{zzz{{z{z|{z{zyzzy{{|z||{|z{{{yzzz{{z{z|{{zz{zzz{{|z|{{{|{zzzzy{z{z{{{{{{{zz{yzz{{{{|zz|{zzzzzzzy{zz{z|{{{zz{z{{{z{zz{zz{{zyz{zzzy{zzz{zz{zz{zzzzzz{z{{{{{z{{zzzzzz{z|z{|z{{zz{z{{{{|{{{{z{{{zzz{{zz|{{|||z|{|y|{z{z{{{|{{{{{{z|z{{|{{{|{|zz{z{zz||{|{z|{{{{{{{{{{{||{{{{|{{{{{zz|z{|||{||{{zz|{{|}|{|||||{z{{{{zz|||{||||{|{|{{{z{|{{|||||z|||{|{|||}{|{|{|{{z{{{|~}{||||{z{{{{|{|||||||||z{z{|{z{{||}{||{|zz|{{{{{|||}|||{{z||{{{|{|{|||{{{{|{{{z||{|{{{{|{zyzzzz{{{{{z{z{z{zz{zzz{|{{{|yzyz{z{{zz{{|{{{{z{zzzzzz{z{{||{{{{{{zzzz{{{|{{|zzz{z{z{||{{{{{{{zz{{z{z{z{{{{|{zzzzyzzz{{zz{{{{zz|zy{zz{{z{{{{{zzzzz{{z{zz{|{|z{zzy{zyz{z|z{||{|zz{yz{zzz{{{{|{zyzzzz{zzzz{z{zz|zzz{zzz|{{{{|z{zz|z{zz{{{|z{{|{{zz{{zz{{|{{{{||zyzz{zz{{{{{z|{{{z{zz{zz{{{|{{{|{{z{{z{z{{{|{{{{{z{z{{{z|||{{z{}z{{z{{z{||{{{|{{{z{z{z{{|||{{|||z{{{{{{{|}{{|{}{{z|{{z{z{|||{{}||z{{{z{{|~|{{||||{z{{{|{|{||||||||{|{{{zz|{{|{|{{{{{{{{{|{|{|||||{{z{{{{{|||||||{{z{|{{{{{z|{{{|{{|zzzzz{{|z{|}{{zzz{|{z{|z{|z||{y{{|zz{z{{{z{||{zz{z{z{{{{|{{{{{{z{{z{z{{{||||z{{zzy|zz{{{{||{{{z{{zyzzzz{{{{}{{{{zyzzy{{{{{{{|{{{zzzzzz|z{z||||{{zz{{{{|{z{{z{z{zzz{yzz{zzz{{|yz{zzzz{{z{{{{|zzzzyzzzz{{{z{{{{{{z{zzzy{z{{{{|{{z{zz{{y{|{{{z{{{z{zzz{y{|z{{{{{y{{zz{zz{{z|{{{{{{{{zzzz{{|{{|||{{{zzz{{{{{|{|{{z{{zz{z|z|{{|||{|{{{|zz||{{|||{{{{{z|{{z{{|{{{|{{z{{{zz{{||{{{}|||{{z{|{|{{||||}{{{{{{{{||{|||||{||{{z{{||||}|||{z}{{z{{||}{{|}||{{|{{|}||{{{|{||{{{{{z|{}||||}{{{{|zz{{}{|||||||{|zz|{{|{||{|||{{{|{|{{{{{||}||{{{{{z|{{|{{|{|{{{{{zz|z{{||{||{{z{z{{{{|{|{{{z{{y{{yz{zz{{{|z{{z{zzzzzz{{{{{|{{{{z{yz{{{{{|{{||yzz{z{zzzz{{z{{{zzzzzzyz{{|{{|{|z{zzzz|z{|z{{|{{|y{{{zzz{z{z{{{zz{zzzzzzz{zzz{{{zyzzzz{z{{z{{{{{{{zzzzyzz{{{{z{{z{{zzzzz{{{zzz||{{zzzzyz{{{{z{{{{z{zzyzzz|z{z{{{y{zz{{zy{{z{{||{{z{z{zzz||{{{{{{z{z|zzzz{{|{|{||{{z{zzz{|{|{{||{{zz{{zzz{{{|{||{{z||{z{{{{{{{{|{z{{{|{zz{zz{z|{||{{{{{{z{|||{|||{{{z{{{z|||}|}{|{{z{{{y|{{|||{|{{zz|{{|z||||{|||z|z{|{|{z|}{|||||z{{{{{{z|||{||||{{{zz{{|||||{||{{{{{{z||||{{||}{|{{{{{{||{|{|{}{{{z{{z|{|{{{{{||{{{{{zz{{{|||}{{z{z{yzy|{{{{z{{{yzzzz{yy|{z{{{{{{yzzz{yzz{{{{||zzz{{zzzz|{z{{{|zzz{zyzzz{|{{z||z{z{z{zy{|z{zz{{{y{zz{zzz{{{{{||zzzzzz{z{zzzz{|{z{{yy{zzz{zz{{{|zz{zzz{z{z{zz{{{zzyzzzzzz{{{{{{{{zzzyzyz{zz{{{{{zzzy{yzzzz{z{{z{|{zzyyzz{{zzzz{z{{z{|{z{|z{z{{{{{{z{{{zz{z{{|{{|{{z{zzz{{|{{z{|{{z{{{{zzz{{{{{||{z{{{{{z{{{{{{{{{y{z{{zz{{{{{{|{|z{{{{{{{{{|{{z{{{{z{{{z{{||z|{|z{{{{{{z{{z{||||zzz{|zy{{{||{z|{|z{{{z{||||{|{{{{z{{{||{{{|||||}{{{{{{{{z|z||{|{||{{|z{z{{||||{}{zz{z{z{{{|{|{||{{z{{{z{{{|{|{|}z{{z{z{{||z{{{|{zz{{{zz{z|{{|{|{z{{{zzz|zz{{{{{{zzzz{zzz{}z{{{{{zz{zyzyzz{{{{|{{y{|z{z{{{{z{{{||y{{zzz{{zz{zy{{||zzzzzzyz{{z{{{|{zzzzz{zz{{z{{{{{z{z{zz{{{zyzz{zz{yzzzzzzzz{z{{{zyzz{zyy{{{{zz|zzzyzyzyzzz{z{{z{z{zzyz{yz{z{{|zz{z{zzyzzzz{zz|{z{zzy{zzzz{zzz{{z{zzzzzzz{{{{{{{{{zyz{zz{zz{z{{z|{zz{zz{z{z{{{|{{{z{zzz{z{{{{{z|{{zzz{zzz{{{{{|z{|{{zzz{z{||{{|||{z{|z{zz{{|{z{{{{z{|{{{{{{{{{}|{{{{{{{|{{||{{{|{|{|zz{yz{{|{{||{{{{{{{{{{{|{{}||{{{{z{{{{{{{{||{{{z{{z{||}{{|{|||{|{z|z{{||}{{|{|z{zz{{|{|||{|{||{||zzz{|{{{|{|{z{zzzz{z{{{}{||{{z{{{|zzz{}{{{{{{{z{zz|z{{|z|{{{z{zyy{{zz{{{{z{{z{zzz{zzz{{{{|z|{z{z{yyz{yzz{{{{{y{zz{y{z{||{{||{{zzzz{z{{z{{|{{zyzz{zzz{zz{{{{zz{zz{{zzzz|{z{z{zz{{zzyzzzzzz|z{zz{{zyzzzz{zz{{zzxz{zz{z{z{z{{{{z{zz{zzzz{{{{{{{z{zyyzzz{{{{{{zzz{{zz{zz{{zzz|{{zzyy{{{y{{{{{{|{{{zzzz{z{{z{z{|{zz{yzzyz{z{|{{{|zzzzzzz{{|{z|{{|{{z{z{zzz{z{{|{{{z{|{{zz{|{|y{||{{{{{{{{||{{{||{y{z{zz{|{{|||{|{zzz{{z|z{{{|{{{}{{{{||{z{|{{{{|{|z{{{z|{|||||{|}{{{z|{{|||{{|}||{zz{{{{z|}|||}||}z|{|{|z|||{{{|{|{{{{z{{{|{||||}{{{z{{{{{|{{{{{|{{{z}{{{{||{z{{{{zz{{{{zz{{|z{||zy{zzz{yz{{{z{z{z{zzz{zz{{|{||{|z{{zzyzz{{{{{{|}{{zyz{{zz{|||{z{|zzz{zz{z{|{z{{{{z{yzz{z{{{|z{{{zzzzz{zz{{{{z{{zzz{z{zzzz{{{z{z{zyzzz{zzzzz{z{{z{zzzzzzz{z{{zz|zzzz{{zyz{zz{|{{{{z{{z{zy{{z{{{|{{yz{{yzzz{{z{{{{|{zz{y{zzzz|z{|{yzzz{{zz{|{{{{{{zzz{{z{z{z{|z{z|z{zzzz{z{{{|{|{|{zzz{{{{z|{|{{|{{{{{{z{{{|{{{||{{z{{zz{{|z|z|{{{{zz{z{{z{{|{{{{{{{{zzz{{{{{z{|}{{{{{{z{{{{{{{|{|{{{z{{{z{|{{||||{z{{{z{{{}}|{|}{{{{{|||{|{{||{{||{z{{}zzz|{{{|{|{z{|zz|z|{{||{||{z{{{{z{{{{|{}{{|{{{|{zzz{{{|{||{{{z|zz|z{|{{|||{{z{{zzz{|||{{{{{zzzz{{z{z{{zz{{z{zzzz{z{{{{|{||{z{zzzzy{{zz{z||{zzzzyzz{{{{{{{{|z|{{zzy{{{{z||{{zy{zz{zz{{|{{z{zz{z|zzzzz{z{{{{zzzzzzzz{|zz{{{z{z{zyzzzzzz{z{z{zzzyzzzzz{{z{{{{yyzz{zzzz{{{{zz{{{{zzz{y{{{|z{|zzz{zzz{zzz{{z{{{zzzzzyzyz{zz{{{}zz{{z{{yz|z{|{||{z{{zz{{z{zz{||{{{{z{z{zz|{{{||{z{z{z{zy{{{{|{|{{{{zzzzz{|{{z{|{{z|zz{{z{{{z{{|{{zzz{zz{||{{{{|{{{|z{{{{{|{{|{|{{{|{{|{{{{{|{|{||{{{{{zz{|{||{}{|z{|{{|{|||{|}||{z{{{z{{{|{|}|}{|{|{{|z{{|}|||||{||{z{z{|{{|{{{{|{{z{{{{z|{|{|||{{|{|z{|||||||{|{z{z{{{z{|{{||||{{yz{{{{z|{|{{{|{z{z{zzzz||{|}y{zzy{zyzy|{|{{{{{zzy|{zzzz{{{z{|{z{{zz{zz{{{z{{z|zzzzzzzz{{{|z{{{{{zzzz{z{{{{{{{{zzzzzzzzz{{{z{{zzzz{zzyzz{{{zz{|{zz{z{zzzz{|z|{|zzz{{yzy{{z{{{{{zzzzy{zzzy{{z||{zz{zzzzzz{y{{z{{z{{zzyzxz{{{{{{{zzzy{z{z{{{z{{z{{zz{{{zy{{|z{{|{zzzzzy{{{z{{{{|{{{zz{z{z|{{|{{{{z{zyz{{y||z{{{{zzz{z{z{{{{{{{|||{z|zz{{{|{|{{{|{{z{|zzz{{|{{|{{{{z|{{{{z{{{{{|{{{{{|{{{{{{{{|}|}|{||{{{{||||{z|z|z{{{zzz}|{{{|||z{{{{|{z|{{{||{|{|{z{z{{{|{{}|{||{{{{{{||{{}|{}||z{{z{{{{{{||{{}|{{{|{z{||{|{|||{z{zzzz{{{{z{|||{{z{{{{zz{{|{||{{{z{{{{zz{||z{{{z{zzz{z{{{|z{{{|{zzy{zzz{zz{||||z{zyzzzy{z{{{{||{y{{zzzz{{{{zz{{z{{z{yzzzz{{{zz{{zzyzzzzz{{{{{z{{{{yzzyy{{|{{{{{zy{zzzz{{z{{zz{{{zzzzy{z{{zzz{z{zzyzyy{{{{{z{{{zzz{zz{zz{{z{{z||{zyzzzzy{z{{z{{{{zzzzyz{z{z{{{{{zzzzz{zz{zzz{z||{zzz{zz{{z{{{z|{{zzzzz{z{{{|z|{{zzzzzz{{{z{z{{{{|{zz{{{z{z{z{{|{{|{zzzzzz{||{{|z{{{{{{z{|z{{z{{{{{{{z{|z||{|||||{{{z{z{{|{||{||{{{{{{zz{{|}{{{}||{|z{z{{{{|{||{{{{{{{|{{{{||{|{{{zz{{{{{z|}||{|{||{|{z{{|{|{|{||{{{|{{{|{{|||||{{{{z|{z{||z|||{{z{zz{{{z|{{{|{{{{{z{z{z{{{{|{||{{z{z{{{{{||z|{{{zzz{{y{z{{{{z||{{{{{zzyz{{|{{|{|zzz{z{zz{zz{{z|{{zy{{z{{{{{|{z{{{z{zzzzzz{{{zz{{{{zzz{zzz{{z{{|{zy{zzzyz{{{{z{z{{zy{zzyzzzz|{{{zzzz{{zzyz{{{z{{zzz{{zzyz|{|z|{|{|zzzzzzz{{{{zz}{{{zz{zzzyz{zz{|{{{yz{{zyz{{{z{{{zzz{z{zzz|{{{{{{zzz{{z{z{{|{{|{|{z{zzz{|{{{z{|{{{{{z{zy{{{|{{{|{{z{{zzz{{{|{{|{{{{{zz{{{z||{{{{{{{{{{z{|{{{{{{{{{z{{{{{{{{|||||{{|}{{z{{{{||||||{{{{{z{z||{{{{|{{zz{{{z{{|{{{|||{z{z{|||{|{}||{}|z{{{{{{|||||}|}|{|{{{|{{{|z|||{{z{{zz|{{{|||{||{{{z|{{{}{|{|{||z{zzz{z{{|{{|||{{z|{zzzzz{{{{{|{z|{{|{{{{{|z{|{{zzzz{yzzz{{{{{{|zzzzzzz{{{{{{{{{zzz{z{{zz{{{{{|z|{{zzyzzzz{{{{{{{zzyzzzz{{{{{{|{zzzyzzzzyz{{{{{{{z{z|zzz{||{zz{zzzzzy{zyy{{{y{{{zyzyyzzz{z{{{z{{{{zzzzyyz|{{{{{{{z{zzzyzzz{zz{|{zzz{{yzzzz|{z{{{zzzy{zz{zz{{{{{zzzzzz{zyz{{|{{{|zz{zzzzz{z|{zz{|z{{z{{z{{{{{{|{{zy{yzz{z{{{{{{|{{{zz{z{zz{{{{||{{z{{{|{z{{{zz||z{yz{z{z{{|{{{|{{{z{{{{{z{{|{||{|{{{z{{{{|{{|{|{{{zzz{{z{|{||{{|{{z{|{z{z|||{|}|{{{{zz{|z{{{|||{||{{zz{{{{||}|||||z{{z{z{||{{||{{{z{z|zz||{{||{|{{|{{{{z{|{{|{||||z{zyz|{{{{{{|{}{{{{z{|zz|{|z{|{|{{{{zzz{|{|z{{{{zzzzzz{{||{{{{{{{{zz{zz{{{{{||z{zzz{|{zzzz{{{{}{zzz{zzzz{|z{z{{z|z{zzzzzz{{{{{{{z{zz{{{z{{y{{{{z{z{{zzz{{{{{{{{{{zzyzz{zz{z{z{{{zzz{z{z{{zzz|{{zzyzyzzz{{{zz{{z{zzzyz{zz{{z{{||{{{z{z{zy{zzz|{{z{zz{yyz{z{z{{|{{{zz{{z{{z{z{{{{{{{{{yzz{{{{|{{{zyzz|z{{z{{{z|{{{{|{{z{{{{{{||{z{{z{{z{z{{{{{|{|{{z{zzzz{{{{{{{z|{{{zzy{z|{z{{||{{{zz{{z|{|||}{|{{{{{{{{|{||{||}{zz{z{{{{}{{|||z{{{z|{{{|||{|}|{z{{z{|{z{||||||{{{{{z{{{||}||{||}z{{|{z{|{||{{{{{{{{zzz{|{|{{||{|zz{||z{{|{|{|||{{{y|{{{|{{|||||{{{zz{{z{|{{{|{{{zz{zzzz{{{{{{zzzzz{zz{zzz{z{{{z{{zzyzz{zz{{z{{{||{{yzz{z{{{z{{{{zzzzy{{z{|{{{{z{{zzyyzyy{{z{{||{zzyzzzyz|{z{{z{{z{zz{zy{{{{z{{{zz{zz{zz{{{{{|{{{zyzzyz{z{{z{{|{zzzzzyzz{{|{{{{|z{{zz{zzz{|{z|{{{zzzzyzyz{zzzz{|{|yzzyyzz{{{{|z{zyzyz{zzz{|z{{{{|{zz{zzz{z{{{{{{zzz{yz{zz{{{z|z|zzz{zz{{{{{z{{{{{z{z{zz{{|{{{{{{{{{z{{{z|{{{{z|z|{z{z{z{z{{{{{{{{|{z{{|{{|{|||||{{z{{{|{||||{{|{|{{{{zz{|{|{|{|{|zzz{{{{||{{{|||{{{z{{{z{{|{||{}{{{{{{z{||||||||zz{{{{{z{|{{|}{{|{{{{{{|{||{|||||{z{{{z{{{{{{|||{{{{zz|z{{{{{||{{||zzzzz{{z{zz{{{zzz{zy{z{{{{z{{zz|zzyzzy{{{{z{zz{zz{zzz{{{{{{|{{zzyz{z{{{|{{{{z{z{{zzzzzz{{{z{{{{{zzz{z{{{{z{{{yz{yz{{zz{{zzz{z{yzzzyyyzz{zzz{{zzy{zyzzz{{z{{{zxzzzzyzz{z{z|z{{{y{zzz{zz{{z{{z{{zzzyzzy{{{{z{{{zyzzzz{{z{zzzz{|zyy{{z{{z{z{zzz|{{{zzzzz{{{{z{|{|z{{zzz{{{{{|{|{{z|zzy{{z{{{{|z{{z|{zzz{{{z{{{{{{z{{{z{zz{{{{{|{zzzz{zzz{|{|{{}{zzz|{zzz|{{|z||{{{{{{{{z{{{|{|{{z{{|{{{{{|{|||||{z{zzzz{z{{|}{{{|{{{zz{z{{{{{||||{{{zz|z{|{|||{||{z{{|{{{|{{|||}|{|{{{{{|{{z|{|{|zz{{zzz}{{||||{{{{{{{{{|{{z|{}|z{{z{{{z|{{{|||||{z{z{{z{|||{{|{{{z{zzzz|{{{{{{{zzzz{{zy{{{z{{{zzzzzzzz{{{{z{z||{zzzyzz{{{|z{{|{{z{zyyz{zz{z{z|{zzz{zz{z{{{{|{{|{{|zzzzz{zzzz{{{{yzzzy{z{z{{z{zz{yz{zyzzz{|{{{{{zzzzzzyyz{zz{z|z{yyzyzzz{{z{|{{{zzyzzzzz{z{{{||zz{zzzz{yz{{{zzz{zzz{zy{z{{z{{z{{yzz{zzzz{zzzz{|z{zzzzzzzz{{{z{z{{z{zzz{z||{{z{z|z{{{{zzz{{z{{{||y{{|zz{zy|z|{|{{{zzzz|{{{z{{zz{z{{z|zz{|{{{{{|{{zzz{z|z{{{{{{{{|z{{zz{||{{{|{{||{z{|{zz{{|{|||{{{{{z|{{{{{{|{{||{{{{z{z{{}{{||{||{zz{{||{|||{|||||||{{{z|{{{|{{||{z||zz{|{{{{{{||{zz{z{|||{{{|||zzzzzzzz{{{|{||{{zzz{z{zz{{|{|{|{{{zzzzzzz|{{z|{zz{zzzz{{|{{{{{|{zzzzzz{{z{{{{|{{{zzy{{zz{{{{z|{z{z{{zyzz{{|{z||{{zz{z{x{|zzz{{{zzzz{{zyyz|{{z|{z{zzzzzzz{{{{z{z{zzzzzz{|{|{z{{|zz{yzz{z{{|{|{{{{zz{zzzz{{|{{zz{zz|{zzzy{{{{{zz{z{yyzyz{z{{{{{{{{zzz{zzzz{{{{{{{zz{zzzzz{{{{|{||{z{{{yzz{{||{{{{{z|z{z{z|{{||{{|z{zz{z{zz|z{{||{{zzzzz|{{{{{{{{{z{{z{{z{{|{|{{||{{{{{z{{{{|{|{|||z{{{{zz{|{{|}|{z{z{{{{{|{||{|{}{{{{{{z{|{{|{||{|z{{z|{{{||||{||{z}{{z|{{|{||||{|z|{{{|{{||{{|||{{{z{z{|{}||{{|{|{z{{{{z||{|||{||z{{{{{{||||{|||{{zz{{{z||{{||}}{|{{zz{z|{{|{|{}z{{zz{z{{{|{{{{{zzzzz{zzz{{zzz{{{{{zzzzyz{{{{|{{zzyzz{{z{z{z{{{{z{zz{z{{z{z{{{{{{z{yz|{y{{{{z{{{{{zy{z{yz{{|z||{y{zzz{z{zz|zz{|{{z{yzyzyzzz{z{{|yzzzzyyyz{{{z{{z{{z{z{{z{z{{{{z{{zzyz{zzz{z{|{|{{{zyzzzzzzz{z{{{zzzzzzyyzz{{z{{|{zzzz{z{z{{|{{|{{zy{{yyzzz{z{{||zz{zzz{z|{{{z{z{zzzzzz{zz{||{{{{|{zz{zzzz{{|{{|{{{{z{{zzz{|{{{{|{{z{z{z{{{|{|{|{{z{z|{zz|||{||z}{||{{{|{|{{{|||||{y|zzzz||{||{|{{{{{|z|{||{{||||{{|{{{{{{|{|{|{|{z{{|{{{|}|{}}||{{{|{{{{|{|{{|||{z{{{zz{|{{{{{|||z|}{{z{{{{{{|{|{{{z{{{{{z{}{|{|{|z{{zzz{{{{{{|{z{{z{{zz{{{{{{{{zz{zzzzzz|{{z{{{zzzz{yzzz{{{zz{{{{zzzzzy{{zzz||{z{z{z{z{z|{{z|||{z{zzyzz|{{{{{{{{z{yz{z{z{y{{{{zz{zzzzyz{{|z{{z{zzzzzzyz{{{{{{|{zyzzzzz{z{zzzz|{zzzyzzzz{z{zy|z||{zzzzyz{{{|{{{{zz{z{{zyz{{zz{{{zz{{yzzz{{{{{{{zz{{{{zz{z{{{{{|{{zzzzzyz{{|{{{|{yzz{{{zzz{z{y{{{{|{yzzz|{||z{{||zz{z{yzz{{{{||}{zz{{z{{z{||{||{|{{{{y{z{|{{|{{|{{{{{{{{{{|||{|||z{z{{{{z||||{|{}{{z|{{zz{{|||{|{|{{{{{{{|}{|{{|||{}{|}||y|{||||}{z|{{{{|{}||||{{|{||{{||||||{|||{z{{{{|z{{{||{{|{||{{{{{||{{||||{{zz{{{{{z||||||{{|{{z{z{{{{|||{{{|z{zzz||{{|{{{z{zz{zzyzz{y{{|{zz{zz{yz{{{{{{{{{z{z{yz{{{z{{||{zzz{yzzzzz{zzzz{{z{yzyzzz{z|{z{{{y{{zzz{y{{{z|{z{z{zzz{z|z|zz{zzy{zyz{z{{zzzz{z{zzzzzzzzzz{z{{{{{{{zz{yzz{z{z{{{zz{zyyzzzz{{z{z{{z{z{yzyzz{z{z{z{{{{{y{zzz{{z||{z{zyzzzy{{zzz{{{{zz{z{z{{{{{z{|{{y{yzyzz{z{{z|{{{{{zzzzzz{{{z{|{{z{{|zz{{{||{{{{yz|zzzzz{{{{|{||{zzz{{{{|{{||{{{{zz|{{{{{||}{|{{zzzz{{{z{||||{{||{{|{|{{||{zz||}{zzz{z{{{}{{{|{|{{{{{{{{{{|z|{|{{zz|{{|{{}{||{|}{z{{z{|{|||||{|{|{{{{zz{||{||{||{{zz{{{{|{{{{|{|{zzz{{zz{{{|||||{|z{{{z{z|{{{{||{{|z{{y{{{{{{{|{{z{zyyzz{{{{{z{{z{zzzyyzy{{{{{{|zzzzzzz{zz{{{{{{{zzzzzzz{{{zzz{{{yzzyzzy{{z{z{{zz{zyz|zyy|{z{{zz|zzyzz{zzz{{{{|{{zzzz{zzz{zz{z{|zzzzzzzy{{{{{{{zzzz{z{{zz{{z{{{{{z{zzzzzz{{{z{|{z{z{zyzzy{{z{{|||{z{zz{y{|{z{{{{zzzzzzz{zzz{y{|zzzzyzzz{{{|{{{{{zy{{zyzz|{|{{z{{{z{zzzzz{z{z{{|{zz{z{zzz{z{|{||{{{{zzzzz{{{{z{{{|zz{|{z{{{{{{||{z{z{zz{{|||||}{{zzz{{z{{||||z{||z{{{{zz{{{{||{{|{z{|{{{{||z{||}{{{{{z||{|||{||{||zz{{{{z{|||{|||{z{{zz{{z{{}{{{{{z||{zz{{|zz{{{|{|{{}{z{{{{{||||{z|z{{{{{{{|{|||{{z{{z{z{{{{{{{z{{{{y{z{{{|{{{{|zzzzzzzzz{{{{zz|{z{zyzzzzz|{{|{{zz{zzzzz{{zz{{}{{zz{y{{z{z{{z{|{{{{y{zzzz{{{{{{{{{yzzzyy{{{z||{{zzyzzzzz{z{zz{zzzzyzyzzyzz{{{|zzz{zzzyzzzzzz{z{{{zyyzzzzzz|{{|{|{{zzzzzzz{z{z{{{{zyz{zzzy{y{z|{{z{zz{y{zyzzzz|{{{z{zyzzz{z{{z{{z{zzz{{{{z{{{z|{|z{zzzzzz{{{{|{{|zz{zzz{{{{z{zz{{{{{y|z{zz|{|{{{|{{{z{zzy{|{|z{{{z{zz{{z|{{{{{{{{{{{{zzzz{z||{||{{|{{{{{{{{}|{|{|{{z|zzz{{{|}{||{{{{z{{{{|{{{||{{z{{{{{{{z|{{{|{}|{{{||{{z{{||{|{{{|{{{{zz||{{{|{{z{z{zz{z|{|{{|}|{{z{z{|||{{|{||z{{zz{{z|{{{{{|{||{{{{zz{{z{z{|{{zzzz{zz{z{{{zzzz{yz{z{y{|z{{{{|zzzzzzzz{{{z{{|{z{zzzzzy{{zz{{{z{yy{{z{{{z{{z{{||zzzyyzyz{{|z|z{z{{zz{{zz{zzz{{z{z{zyzzz{{{z{{{|zz{zzyzyzzz{{z{{zyzzyzyyzz{{zz{zzzzzzzyy{z{z{{{{zyzzzzyyzz{zz{||{zzyyzyzy{{z|{zz{{zzz{zyz{{{z{{{yzy{z{zzz{{{zz|{zz{{zzzz{{zzz|{|zyzz{zzz{z{{{{{{z{zzzzz{|{{{{{||{{{{{zzzz{|{z|{{zz{{zzzz{z{{{{|{z{z{{{zz{z{||{{{{{{z{{{{{|{||{||zz{{{|{z{|{{{{||{{z{zz{{{||{{{|{{z|z|zz{{|||{|||{{|{{{{|{{{||||{|z{{{{y{{|||{||}{{{{{z{{||||{|||{{zz{z{{}|{{{z{||{{|{{{{{{{|||{|{{{{z{|y{||{{{|||z{zz{{zz{{{{{{zzy{{zzzz{{{{||{{{zz{zzzzz{|{{{{zzyzzyzzy{{{{z{{{zzyzzyzy{z||{z{{zz{z{zzzzz{{z{|{zzyzzzzy{z{{{{z|zzzzzyzx{zzzy{{zzz{zzzy{zz{zz{{{{zzzy{zzz{{{z|z{yyzxzzzzz{{z{z{zzzyzzzyz{z{{z{{{{{zzzzzyzz{{z{{|{zzzyzzyzzz{z{{{{{zyzyzzz{{zz{{{yzyz{|zy|{zz{{{z{zz{zy{zz|{{{{z|{zzzzxz{{|{{|{||{{{zzzyzz{{z{{{{zzz{zzzzz{|{|}|{{zzy{zz{{z{z|{||zzz{zzz{z||{{{|{{z{zz{z{{||{{}{{{{z{zz||{|{|z|{||{{{zz{{{{{{|{||{{{z{{zz||{|{|{|{z|zz{{{{||{}{||{z{{{|zz{||||||{|{z{{zz{{}z}{|{|{{zz{z{{}z{{{|{|{{zz|{{{|z{|||{|{{yy{{z{{|{{|{z{|{z{{z{zz{{{{{{{zzzzzy{y{{{z{zz{zz{zzzzyz|z{{z{{{zzzzzzy{z{{y|{{zz{zzzzy{{{yzz{{zzy{{yy{{|{zz{{{{zzyzyzzzz{zz{z|zzzyyz{yyz{zy{{z{zzzzzyyzzzzzzz{y{zzzzyzzyz{{{z{yxzzzzz{{zz{zz{{{yyzyzzzz{zz{{|z{zzyzzzz{zz{{z{{zyzzzzzzz{zy{{zz{zzz{zzyyzz{{||{zy{zz{zzz{{|zz|{{yzzyzzz{{{{{z{{{{zzzz{zzz{{z|z|zzzyzz{{{{{{{{{{y{z{{|z{z{{z{|||{zzz{zz{{{{{{{|{{{{{{{zz{z{zzz{|z{z{{z{{{{z|{||{|{{{{{zz{{{|{|||{{z{{{zz{|{|{||{}z{{|z{z{||{{z|{{{{z{{|{{||{|||{{{z||{{zz|{|{{|~{|{{{{{{{{|z{{|{|zz{{z{{{z{{||||{z{z{yzz{{}z{|{{{z{zz{zz{{|z{{{||{zyzz{z{||{{{{{{zzzzz{z{{|z{{{{z{zzzyzzz{{z{{{{|{{zzzyz{{{{{{{{{zzz{y{z{{{y{{{z{zzzzyz{{z{z{{{{{z{zzzzz{{{{{{{|zzzzzzzy{z{{{z|z{zzzzzyyz{{zzzz{z{zyy{{{z{{{{{{|zzy{zzzzzzzz{|{zzyz{zzzz{|{{{|{{{zzzyzz{{z{|{||{z{zz{{zyyzzzzz{zz{{zzz{yzzz{|{|zz{zzzz{z{{{{{z||{zzzzz{zz||{{{{|zz{{zzzz{|zz|{|{zz{zzzz{{{|{{{{{zzzzzy{zz{|{{{{{zzy|{y{z{|{{{{||{zz{|zzy|{{{{{zzz{zz{{z{{z{||{|{zz|z{{|zz{z|{|||{{{{{{{z{|z|{{}|{{{{{{{{{||{{{|{{z|{{{|{{{{|||{|{{{{{{{{{{|||||||{|{zz{{{||||}||}{z{{{zz{{{||{||{{{{|{{|{|{|{|||{{{{{|{z||{||{||z{{|z{|{{{|||{{{zz{{{zz|{|{|||{{|zz{{yzy{{{{{{{{{z|zzzzz{{|{{{{|{{{zz{{{{z{z{{{{zzzzzzzy{{z{{{{{{zzyy{zz{{{zz|{{{zzzzzzzz{zz{z{z{zzzzzzz{z{zz|z{{z{zz{{{{{yzzz|{zz{zzzz{z{{zzz||zzzzzzzzz|{{{{{zzzz{y{{yzz{z{{{{zzyz{zzz{zz{{{{{{{{yzzz{zz{z{||{{z{zz{{z{z{|{{{{{z{z{zz{z{{{{{|{{yz{zy{zzzzz{||{{zz{z{zz{{{{|{|||{{{{zz{{{z|{|z|z{{z{{{||{{{{{}{{{{zzzz{{{{{{|{{{z{{{{{{|{z||||{zz{zz{{z{{{{{||||z{{{z{{{|{{|||{|z{z{{|z|}||{{}|{z{|z||{{{{|||}||{{{z{|{{|||||{||z{||z{|{|{|{||||z{{z{{{||{{{|}{{{z{|{z{{{{|||{|{{{{{zz{{|{{|{|||{{zz|{{|{{{{|||zz{z{{{z{|{{{|z{{zyzyzzzz{{zz{{zz{{z{z{{{{{{{|z{{zzzzzzzz{z{|{||{z{{zzzz{{{{{{{{zzyzyzzy{zz{{{{{zzzzzzzzz{{zz{{{{zzzzzz{|{|zz{zzzyz{y{yy{zzzz|{{zzzzzzxzzz{zz{|{{zzzzzzzz{{{{{|z{yz{z{zyzz{{{{{|{z{zzzzzzz|z{{{{{{yz{zyzz{y{{|{{zy{zz{{zz{{{{{{{{zzz{z{{{z{{|z{{zz{z{z{{{{{{{{{|{y{zzzz{z{{{{{{{{z{z{z{zz|z{{||||y|{{z{{{{{|{{{zz{{zzz{z{{{|z|{|{{{{{y{z|{|{{||{zz{z{{{{{{{{{|{|{z|{zz{{z{{{||||{{z{{|{{{}|{|{||{{||{{|{||{|{{||}{{{z|{{{{||{{||{{{{{{{{{{{{z||||zz{z{{z|{{{{||||zzz{{{|{{||||{{|{zzz{z{{|{{{||{{{{z{{{{{||{{{||{z{{{zzz{|}{{{z{{{zzyzzy|{{{|z{|{zzyzzzy{{z{|{{{zzzzzz{yzz{{{{{{zzyyzz{zz{{|z{||{zzyyz{yzz{{{{zzy{zzz{zz{{{{{{{{{{z{zzz{{{{y{{zz{zzzzz{{{zz{{{{{y{yzzzzzzz{{{{{zy{zzz{zy{{{{{{||{{zzzzzz{{{{{{|z{yzzzyz{{{zzzz{zzzzz{yzzzz{{{{{{{zz{{{zz{zz{{|{{{zzz{yzz{{{{{{{|{zzz{y{zz{{z{|{|zzzz{{{{z{{z|{||zzz|zy{zz{|{{|{{{z{zz{zz{{||{{|{{{zzzzzz{|{{||{|{z{z|z{{|||||}{|{{{zzz|z}|{|{{}|{{z{{{z{||{{|||{{{zz{{{|{{|{{|{|{{{z{{||{{{{{||{}{{{{|{{|}{{{|||{y{{z{z{|{||{{{|{z{{z{{{{{|{{{{{|{|{{{z{||{|{|||z{{z{{{{||{{{||{{zz{z{|zz{{||{|{{z{{{{zz{|{{{z{|z{zzzzzz{{z{{z{|zzzzz{yz{z{z|{|{{zzzzzz{{{{{{{|{{yyy{zyz{z|{zz{zzzzzzzzz{yzzz{{zzz{zz{zz{zzzz{{zz{zzzzyz{z{z{{zzzzyzzzzzzzzz{z{{{zzzzz{zzy{zz{{zzyyzyzyz{{{{{{{|{zzyzzyz{{z{z{{{{z{zzzzyz{{zzzzzz{yzzzzz{{zz{{{zzz{{zzzz{|zz{|z{{z{zzzyz{{{zz{{|{z|z{{z{{{{z{z{|{{{{yzzz{{|{{{{|{z{{{zzz||{{{|z{{{zzz{zz|||z{|{|{yzzzzzz{{|{z{|{{z{{|{{zz{|{|||{{z{{|{{z||{||{|||z{zzz|{|{|||{{|{zz{{{{z|{{{||{|{{|{{|{{z|{|{||{{{{z{z{{{}|{|||}{{{{{{|{{{||||{|{z{{{{zz{|{||{||z{zz{{z{{|||{|{{z{zz{{{{z{zz{{{z{z{{{z{{{|{z{{{|{{{{yzzz|{{{{{{{zzzz{zzzyzzz{zz{zzzzyzzzz{{z{{{zz{zz{zz{{z{{|{{zzz{{zzzz{zzz{zz{zzzzyz{zz{z{{{{{zzyyzzzzz{{{zz{z{{zyzzyy{{{{zz{z{zzy{{zzzz{zz{||{zzzzzzyzz{z{{{{{yz{yzz{{zz{{{{{zz{{zyzy{z{|z{{{{{z{zyzz{{{z{{{{zzzy{zzzz{{z{{zzzz{zz{zy{zzzz{|{zzz{{z{{{z{{|{{z{{yzzzzzz{{z{{{|zz{{z{{{{{zz|z|{{{{z{yzy{{|{{{{{{{zz{{zz{{{{{||{zzyzzzzz{|{{{}{{{{{z{{zz|{||{{||{z{{||{{|{{||||}|{z{zzz{|{||{{{{||{{|z{{{{{{|{|{{z{{zz|{{{{||{||{{{{{{{{|}|{{|{||{{{{z{{||{{||{{{{{{z{{{z{|{|{||{{z|{{{|{{{{{||{{{{z{{{{z{{|{|||{{zz{{zz{|{||{{{{{{zz{|z{{{{{{{{z{zz{yzyz|{zz{{{{zz{zzyyzzz{z{{{|{zzz{z{{{z{{z{zzz{yzzzy{z{{z{{{{z{zz{zzzzzz{{z{{zzzzz{zz{{zz{{{{zzzzzyz{{{{zz{{yzzz{zz{{zzzz{{{zzzzzyzzzy{{z{zzzz{zzzzzzzz{{{{{zzzzzzzzzz{{{{{{{yz{zyz{{z{yz{{{zzzzz{zyzzzz{}{|{zzzyzzz{{{{{{{{{zzzzzzzzz{{|{|{z{zzzyz{{z{{{{{{zzzzyz{z{{{{{|{|zz{z{yyz{{z{{|zz|{{|zz{z{{|{{{{{{zy{z{zzz{|{z{{|{{{z{{z{|z{{{{||zy{z{{{{|{|||{|{{{z{{z{zz|{|{{||{{z{{|{z{|||{|||{|{{{{|{{{||{|{||{{z{|{{{||{|{|{{z{{{z{{{{{|z|||{{z{{{z|z{{||{|{||z{{zz{z{{{{}{|{z{{z|{{|{{|{{}{{|zz{z{y{{|{z{{{{yzzyzz{||{{|{{{z{zz{zzy|||{{zz}zzzz{zzzzz{{{{{|z{zzy{zyz|{{||{{zy{zz{zzy{{{{z{{zzzzzzzy|{{{z{{{zy{{zyzyz{zzz{|{zzzzzyzz{{{{{{{{zz{zzyzy{zz{zz{zzzz{yyzzz{{{{z{{{zzzyzzz{{{z{|{{zz{zz{zzz{z{zz|z{zzz{yzzzzz{z|z{z{{z{zzzzzzz|{{{zzzzz{yy{zz{{z{{zzzzzzzzz{{{z{z{zz{zzz{y{{z|z{{{yz{z{zz{z{{{z{|{zz{z{z|{{|{{{{|zzzzz{{{z{z|z{|}{{zzz{zyzz|{z{|z{|{{zz{z{|{{}{|z|{z{{z{{{{{{|{|||{zzz|z{y{{{|{||{|y{||{{|}{|{z||}{{|{{{|{{{{{||||{{{{z{{{{|{}{|||z{{{{z{{|{{{{|||{z|{{z{{||{{||||{zz{{{z{{{z|{||z{{{{{{{{{|{||{|zz{z|{{{z{|||z|{{{z{zzzzz{|{{{{{zzzzyzzzxz{z{{z|{{zzzzyzzzz{z{{{|zzyzzzzz{z{z{z|{{zyz{zzyz{{{zz{{zzzz{z{z{z{{z{z{zz{yzzzzz{{zzz{zzz{{yyzy{z{z{{{{zz{yyzzzzzy{z{zzzzyy{yzzz{{{zz|zz{z{zyyzz{zyz{z{zyzzyzzzz{z{z{{{zzyzzyyyzzzzz{|{zzzyz{{zz{{{{|{{zzzy{zzyzy{{zz|{z{zzz{zz|zzz|{|{{{z{zzzz{zz{z{||zzzy{zz{z{{{{{z{zz{zz{{zz{{{{{{{y{zz{zzy{{|z{{{zzy|{z{{{{{{{z|{{{{{{{zzz|||||{{|{{|z{z{{{|{|{||{|{zz{yz{{||{|{{{{z{z{z{{{}|{||{{{{{{z||{z{zz}||||z{{z{zz|}{{|||{|{{{|{{{{{{{|{{{|{{{{z{zz{||{{{|{{z{{z{{|{||{{|{zz{y{z{zz{{|{{|z{y{{{zyzz|{{{{|{{z{zzyzz{{{{{{z{zzzzzzzyz{{|z{zzzzzy{zz{{z{{{{{{{zzz{zz{z{|{{{{{{y{z{zzz|{{z{z{|zzzzyz{z{{z|{{{{z{zyy{z{zzzzz{zzzyyz{z{yz{zzz{zz{zzyzzz{zz{{{{{{{zzzzzzzz{{{zz|z{zyzzzzzzz{z{{{{zz{yz{{zzz{{z{{{{z{zzzzyzzzzyz{{{zzyzzzz{{z{z{{{{{z{{zy{{{{{{{|zzyzzzz{zz{z{{{|{zzzz{yz{|{{{|{z|{z{zyz{{{{{{z|{{{z{{|zzz{|z{{z{{{zz{{zz{{|{{{||{{{|{y{zzz||{{|{|{{z{{{z|{||}}|{{{{|{{{{z{{|{|{|{{z{{{{{{|||{{|{|{z{z|z{z|||{||||{{{{{|{{{{|||{{||{{zz{{|{}|||{|{{{|{zzz{|{{|{{|}{{zz{{{{z{{{|||{{{{{||{{{{{{{||}z{{{{{|zz{|{||{{{{{{yz{z{|{{z{{zzz{zzz{z{{|{{|{z{zz{{zzzz{zzz{{{zzzzzy{zzz{{|{{zzzzzz{{y{z{z{z{|z{z{{z{zz{{{{{|{{zzyyyzz{{{{z{{|zzzzyzzzzy{zz|{z{zzzzyy{{{zzz{{z{zzzzzyy|yz{z{|{zzzyzzyzyzz{zz|{{zzzyzyz{{z{zz{z{z{zzzzzz{z{{|{{{zzy{zzz{z{z{{{{zzz{zzyzz{zzz{{{zzzzyzyz{{z{zz|zz{zz{zzz{z{{{{{{zz{{{{{z{{|zz|||zzzyz{zz{{z{{{{{zzzzzzzzz|{{z{{|{y{{z{z{{|{{|{z|{z{{zz{{z|{|z|{{{z||{{{||{{{|||{{|{{{{z{{|{{{||||zzzz{zz{{{|{{{||{{z{{{{||{{{{||z{|{{{{z{{{{{|{{|z{{{z{|z{||{{|{{{{{z{{{{{|||{||{z{z||z{{|{{{{|}{{{|{{z{||z{|{|{{{{z{{zz{|{{{||{{z{|zz{{{|{{z||{{zzzzzzz{{{{{zz{{{zyzz{zz|{{{{|{zzzzzz{zz|{z{{{|{{zz{{zz|{{z{{{z{z{z{zyz{z{{z{|{{zzzzzzz{{|z{{z{{{{yzzzzz||{{{z{{{{y{{zzzz{z{{zzz{{zzzz{zz{zz{{{zzzzzz{z{{{{|z|{{zzyzzz{{z{y|{{{zz{zz{zzz{{{z{{{zz{{{zz{zz{{{{{|{zz{zzz{{{z||{{{zzzyzzzzzz|{{{{z{zzz{zz{{z{{z|{{z{|z{zz{{z{||{|{zzz{{{zz{{{|{{{{{y{|{z{zz|{{||||z{zz|{z{{||{{||z|{{{{{{{|z{|{|{{}{|{{z{{{||{||}|{z{{|{|{{{{{|{||{z{zz{y{|{|||{{{{{z{{{{y{||{||||{z{z{z}{|{|{}||{|{{{z{|z||{||||{|{||{{{z||{}z||||z{|{{z{|{{{|{|z{{{|{{{{|{}{{|||{{{zz{{z{|{{|||{{zz{{{|{{|{{{||{{{{z{zz{{}{{||{zzyzzzyz{z{|{{{{{z{y{zzzzz{|{z{{{{zy{zzzzzz{z{{{{{zzzyyzzz{{{{z{|{{{zzyzzz{{z{{z{zy{zzz{{z{{{z{|{zz{zzyyz{{zz{{{z{zzzzzz{{zzzz|{{xzzz{zzz{{{{zz{{{zzyz{zzzz{z|{{zzz{zyzyzz|{z{{{{z{yzyz{zzz{zzz{{zz{z{zyzz{{z{{{zzyzz{z{{{zz{zz{{{zzz{zzy{z{{zz{|zzzzzz{{{{{{zz{{{zzyz{{z{{{{{{z{|{{{{zzyz{{z{{||zz{zzzzz{{|{{||{{{z{zzz{{|{{z|{|{{{{{z{z{{|{|{{|{z{z{{{{{{{}|||{{{{z{{{z{|{|||{||zz{{z{{|{|}|{}{||{|y{{z{{z|{|}|{{{|zz{{z|||||}|{{{{z{z|||{{|{z||z{z{z{z{{{{{{{||{{{|zz{{{{|z|{|{||z{{{{|{{{{||{{{z{{z{zz{{{{|{{{{zzzz{z{z{{{{{|zzzyzyzzyz{{{{{|zzzzzyzzz{{z{z{{z{zzyzzz{{z{{{{{{zzzzzy{z{{|{y{z{{{zzzzy{z{{z{{{zzzyzzzz{zz{z{zzzz{zzzyz{{z{zz{{zz{yyzz{zzy{{{{{yzyyzzyy{zzzz{zzzyzzzzzzzz{{{z{{zzzyzzzzz|z{{{{{zzzyzyzzz{z{{z{{{zzzzzzzzzz{zzz{zzzz{zzyz{z|{|{{z{zyzzzz{{{z{zzzzz{zzz{zz{{{{{|{zzzzz{{yz{{{zz{z|{{{{zzz{zzzz{z{z{zzzyzz{{{{{{{z|zz|{zz{{z{z{|y{zzz{{z{z{{{{|||{{{z{{{z{{{z|{{{z{{z{{z{z||||{{{|{z{{{z{z{}|{|z{{z{{{z{{{||{{{{||{{z{z{zz{||||{|{{{{{{{zz|{|{}{|{|z{{z|{{{|{{{||{{{{{z|z|z|{{{{|{{zzz{zzy{{{{||{{{zz{{{zz{||{{{{zzz{z{z{zz{{|{{{{z{zzzzzzz|{{{zz{z{zz{{z{|{z{|{{|zz{zyzz{{|{{{{{z{z{yzzyzz{{{{{{{|{zzyz{z{{z{{{z{{y{zzyzyz{z{yz{z{{|zzzzzz{|zzz{{zzzzyzzz{{zzzz{{{{zyzzyzz{{z{{{{zzzzzzz{{{{z{{{{z{{zyzzzzzz{|{{|{{zz{zyzzzzzz{{z{zz{zz{yzzz{z{|{z{zy{{zz{zz{{{||zzzzzzzz{{{|{||{zzzzzz{{{y{{|{|zzzzzzz{{{{{|zz{|{y{{zz{z{|{{{{{{z{{{{{z{{{{{{{|||{z{z{{{|{{{{{|{|z{z{{z{|{}|{{||z{{||{{zz{||||{|{{{z{zy{||{{|{|{z{{{{{{z{|{||{||{{{{{{{z{|||||{|{zz{{{{zz{|{{|{|}z{||{{|{{}|{||||{{{{{{{z{|{{{|{|{{{z|{{|{|||||{{{{{z{zzz{z}{|||{{zz{{{zz{{{{{|zzz{zzz{z{{{{zzz|zzyzzzyyy{{y{{z{{{zzzyzz|zz{{{zz{{zzyzyzy{zzz{{{{zzzyzzzyz{{z{{zzzzyz{zzz{{{zzz{yzzzzzyzz|{zz{{z{zzyyzyyzzz{zz{yzzzzzzzzz{{{{z{zzyxzzzyyz{{{{{{{zzz{y{xy{z{{{{{{zzzzyzyyz{z{{zzz{zzz{yzy{{{zzz{z{z{zz{zz{zzzzzzzzzzzzyzy{z{{zz{z{zz{zzzz{z{{z{zzyzyzyyyzz{{zz{{|z{{z{{{z{zz{{{||{zzz{yz{z|||{|{{{zzzzy{zz{{{{z{zzzz{{zzz{|{{{{{{z{{{zz{y|{{||{|{z{{{|{z{{{||{|{|zy{|z{zy{{|{z{|{{{{{{{z|}{{z||||z{z{z{{{{{{z{{|||{zz|{{{z{{|{|}{{{{{zzz{{{{|{|{|{z{{{{{{|{{{{|{|{zz{zz{{{{{{|{|{zz{{{zzz{{{|{||{{{{y{zzzz{{{{{||z{zz{z{{z{|zz{zz{zzyzyzzy{zz{zz{zzzyyyyyz{y{{{|zz{zyzyyy{z{{{{zzzzzyyzyyzy{{zz{zzzzzzyzyy{z{{z{zyzzyzyyyzzzzzz{zzz{yzzzyzzzzy|zz{zzxyzyyzyzz{zzzzzyzyyyzyzzzzz{zzzzyzyyzzzzzz{|zzz{zzzzyyzz|z{|zzyyyyyzyyz{yzzzzzzzyyzzzy{zzzz{zzyzyzzzyyzzzz{z{{yzzzyyzz{z{{{z{{{{{zyzyzzz{{zz|zyzzzzz{zzz{{zz{zzzzzyyz{{{{{z{{{zzzyzzz{{{z{{|z{zzzzyzz{{zzz|z|{zzzz{z{zz{|{|z{y{{z{z{{{|{{{{{{{z{{{{zz{{{{||{||zzzz{{zz{{{{{{{z{zzz{{z|zz{{{{{{zz{{{{z{|{{|{{z{{y{zzzz{|{z{|{{{z{z{z{z{{zy|{{{{z{{z{y{z{{|{{{}z{zzzy{z{{z{{{|{|{{zyz{z{{||zz{{zy{z|z{{zzz{{zzzzzyzyzyzzy{zz{zzzyzzyzzzyzzz{{{zzzzyzyzyz{zzz{{z{zyzzzzyzzz{zz{{zzyyyzzy{zzzzz{{zzzzzzzyy{zzzz{zzy{zyzyy{{{zz{zz{yyyz{yyyy{z{{{zyzyzzyzxzzz{yzyyzyyzy{y{{zzzz{zzzz{yzzzyy{y{{y{{zzzzyzzyzzyzz{z{zz{zzzyx{{zzzzzzzyzz{zzyz{zzz{zzyz{y{yzz{{{z{{|{z{zzzzzz{zz{z{{{{zz{zzz{{zz{{zy{{{zzzz{z{|zz{|{zzzzzzzy{z{z{{z{{{zzzzzz{z{zzz{{{zzzzz{zz{{{{{{{{zy{zzy{z|{z|z{{{z{zz{zz{z{{{{{{{{zzzz{{z{|z{z|{{zzzzz{{{{|{z{{||{z{{{zz{{||{||||z{z{zyz{}{{|z{|z{z{z{{zz{{{{{{|{{zz{zzz{|{{{|{{|z{{z{zz{{{{{{{|{{{z{zzzy{z{|{{|{zz{yzzzzzz{{z{zzzzzzzzzyz{|z{{{{zzyy{zzyzyzzz{z{z{zyzz{zzy{zz{{{zyyzzyyyzz{{yzz{zyyyyyzzy{zyzzzzzzzzyyzyy{{z{|zzzz{yyyyzzz{yyzyzyyzyyyyyzzy{z{{zzzzzzyyzy{zzzz|zzzzzyyy{{zzz{zz{yz{yzyyy{yzzzz{zzyz{zzyyzzz{zzz{zyyyzxyz{{zzz{zzzyzyyzyyz{{zz{{{zzzz{zz{{{zz{{z{zyzzzyzzzzzz{{z{zzzzyzzzz{{|{{{{{zzzzyyzz{{z{|{{z{yzzyzy{{{zz{|{yzyz{zzz{{{zz{z{{zzz{zzzz{z{z{{{{yy{yz{{z{{z{{zzz{zzzzzy{{{{{z{{{{z{{z{z{{{z|{{zzzzzz{{{z|z|{{|{|z{{zz{zz{{{{{z{{y{{{zzz{z{z{{{{zzz{{{zz{{z{{{|{z{z|{{zy{zz{{{z{z{zyzzzyzz{{z{{{{zzz{yzy{{{{zz{zzz{zyzzzzz{{{{zzz{zyzzzyzz{zyz|{zzzyyzzyyzzz|{z{{zzyyzzz{z{zzz{{zzzzyzzyzzzzz{{{yzzzyzyzzzzz{{{{yyzyzzyyy{y{zz{{zz{yyzyy{z{zyzzyzzyyyyzzzyz{{z{|zzyxz{zyz{{z{z{zzyyzzzy{zzz{{z{zzzzzxyxyy{z{zzz{{zyzyzzxyz{{zzzzzzzyzyzyzz{{{{z{zy{z{zyz{{{{zz{{zyyzzz{{y{{zzz{zz{{zyzzyzzzzz{{{zz{zyzzzy{zzz|{|{zzyzyzz{{z{{{{{zzz{z{zz{{{{z{{z{zzy{yz{{{{zz{z{{z{yz{z|{{{{{|{{z{zy{{{z{{{|{||{{zzzzzzy{{{{{z|z|z{{zzz{z{|{{{{{{zz|zz{{z{|||{{{{zzzz|{z{|{{{{|{{{z{zzzzz{{{{{{{{zzz{{{{{z{{{{{{{{zz{{z{{{{{{{{|{{z{{{zz|{{|{{|{{zz{zzzz{{z{{z{{y{zzyzzy{y|{{{zzzzzyzyzzzy{yz{{{{{zzyyyy{zzz{{{{{{zzzzyzz{{{{{{yzzzzzyyzz{{|zyz{yz{yzyzyz{zzzzzzzzzzzyyyzzyzz{z{zzzyzyyyzzzzzzzzzzzzzzzy{zzz{zz{zyzyzzzzz{{zzz{{zzzzzyyzzzzz{{|zy{zzzzz{yz{z{{|{zzzzzyyzzz{yz{{zzzzyzzzzy{zzz{{{zzzzzzyyz|{{zz{{yyzz{zyzz|zz{z{{y{zy{yzz{z{{y{z{zz{zzyzzz{zzz{|{{zzzzzz{zy{{{{z{{{{z{z{yz{z{{z{{zyz{{z{zz{{zzz{{z{{z{{y{{|{{z|{{zzzz{{zz{z{|{||{z{{{zzz{{{z{|{|{{{z{{{z{{{{{|{|{zz{z{{{{|z{|||{|{{{{{|z{||||{{|{z{{{|zzz{||{{{{||z{z{|z{{|{{{{{{|{{{{{{z{{{z{|{{{zzzz{z|z{{{|z{{|{zz{z{zz{{{{zz{{zzzzz{y{{zzz{{zzz{zzzzy{zz{{zzzz{zyzyzzzz|{{z{z{zyy{{zzzzzz{{{{{yzz{{y{z{{{y{{{{zzzyzzzzz{{{{{{zzzyzzyzzzzzzz{zzz{zz{yzzzzzy{{{yzzz{zyy{zzzzz{{zzzzzyzyzz{zz{z{zzzyzzyz{z{y{{{{zyz{zyzy{{{zz{zzyy{zyzyzyz{z{z{{zzzyzzzyz{{{z|z{{yzyz{zy{{{{z{{|{zzz{{{yz{z{zz{zzz{zzzzz{z|{{|{|z{zyzzz{{{z{{||{zzz{{zz{z{||{{z{z{z{z{{zz{{z{z|{{zz{{|zz{{z{{{{{z{z{z{z{|{{{|{|{|{{z{{|z|{{{{|{||z{{{z{{{{|{zz{|{{|{{{z|z{{{{{|{zz{{z{|{|{{||{||{{z{{|{|{|||||||{{{{{{{z{{z||{{{zz{{|{z{{{|{{{{||{zzz{{{{{|z||{|{{zyzzz{z{||{{{{zzz}zz{z{{{{{{{{{zzz{zyzzz{{zz{zzzyzzyzzz{{zz{{{z{yzzyzy{z{{{{{|zz{yyzzz{{zz{{z{zyzyzyzzz{z{z{{zz{zxzyzzzz{{y{zzzyzyyyzyyz{z{{{yzyzyzzyzz{zzz{{zyzyzy{yzz{zzyzzzzz{zyzzzz{{z{z{{zzzzz{zzz{zzz{z{yzzzyzzzzz{zzz{{yz{zzxzzz{zzzzz{zzz{zzzyy{zzz{{zzzz{z{zyzz{{z{{{{{z{zz{z{zzzz{|{zzz{zz{z{{{zz{{{zz{zyzzzzz{{{z||z{zzzzzzz{{{z|zz{zzz{{zz{z|{{{|{{{zzzzz{z{{|{{{zzz{zzz{y{{|{{||{z{zzz{{z{{{{z|{}|{z{z{z{{{{{|{{{{{zzzyzz{{{{{||{zz{{z{{{{{{{{z|{{zzz{{zz{z|{||{||{{{zzz{{{|z|{{|{{z{{{{{{|{{{{||{{{z{zz{{{{{|||{z{{yz{y{{zz|{||{{{z{zzzz{{{zz{|{z{zzzyyzzz{{{{zyyzyzyxzyyz{zz{zzzyyzzyzy{zz{yzz{zzzzzzzyzzz{zz{zzyzyzzzyyz{zzz{{{zyzzzyy{z{zz|y{zzyzzzzyyzyzz{zzzzzzyyxzy{zyy{yyzzzyyyxy{zyzzzzzyyzzzyyzy{zzzzz{zyzyzzyzzz{zzzzzzz{yyyzyzzy{zzyyzyyyyyyyzzz{{zzzzyzyyyyyz{zzx{z{zyzy{yz{zzz{{z{zzzzz{{yzy{{{z{z{zzzzzzzy{z{{{zz{zzzzzzz{z{{z{z|{{zyzzzz{{|z{z{zzzzzzzyzzz|{{z|{z{{zz{zyyz{{{z{{|{yz{zzzz{z{z|{|{y{yz{z{zz|y{{{|{{zzzz{zyz{{y{{{{{zzz{z{z{{|{{{{zz{{{z|z{zzz{{{{{{z{zzzzz{}||{|{{|z|zzz{{{{{|{{zz{zyzzz{{{z{z{{z|{|zz|zz{{{{{{|z{zzzzzzzzzz{{zz{{{{zyzzzz{{z{z{{{zzzz{z{zzz{{z{{{yzzyzyzyzz{zz{zzzyyyyyzzzz{{{{zzzzzzzzyyzzy{zzzzzzzyyyzyzz{{z{{{{yzyyxyy{z{yyzz{yzyzyzzyy{yzy{{zzyyyyyzy{zzzyzzzzyzzyzyxzyyzzz{zyyyzzyyy{zyzzzz{yyzzyyyy{zzzzzz{zzz{yzyyyz{{{yz{{yzzzzyyz{zzzyz{zzzyzzzz{{zz{{zzzzzzzzyzzz{{{{zy{zzzyzzzzzz{{{zzzyyy{yzz{zz{{z{|zzzzy{zzzz{zzz{zyy{zyyzz{{|{{{z{{zzzzzyy{{{{z{|zzyzzyyzzz{z{{{{zzyy{{zzy{{{{{{{{zzyzzzz{{{{{z{{{{zyzyzzz{{{|{{|{zz{y{zzzz|{|||{zz{zzyz{{{{zz|{{z|zzzz{z{z{{{{|{|zz{{{zzz{{{{{z{{{z{zzzy{{zz{|{{|zz{{{zzz{{z{{{{{z{zzzz{zz{{|{{||zzyzzzyzzz{z{{zzzzzzyzzzzz{{z{zzyyyzzyyyy{{zzyzzz{zzzyzyz{{zz{z{zzzyzxzyz{{zzz{{zzzyzyzzz{z{{zzzzzzyyzzy{{zzzzz{zy{zzzzz{zyzzzz{zzzyzyyzzzzzz{z{zyzyzzyzz{zzzzz{zzyzzyyzzy{zzzzzzyyyzyyzzyzzzz{zzzzzz{yzy{{zzzz{yyzzyyyzzzzz{zzzzyzyyy{zy{z{y{zzzzzzz{yzz{zz{{z{zzzz{yzy{z{z{zz{{yzzyzyz{z{{{{{{zz{zyyzzyz{{zzz{z{y{{zzy{zz{{{{|{yzz{zzz{{{{z{|z{zyyz{zzz{z{z{{|{zz{z{zz{z{||{{|{zz{{z{{{zz|{|||zz{{z{yzz{z{y{|{{zz{zz{z{|{||||z{z{yzz{{{|{{{|{||z|{{z{{{{{||{{|{{{{|zy{z{{|{{{|{zzzz{z{z{z{{{{|z{yzzz{z{|{z{{|{z{{z{z{{z{{|{|{|{zz{yyzzz{{|z{|{{{zy{zzz|{{z{z{zy{yzzzy{z{{z{zzzzyyzyzyyz{zy{{z|{zyzzzzz{zzz|z{zz{z{yzzz{z|zyzz|{zzyzyzzzzzz{{{{zz{yyyzyy{zyzz{z{zyyzyy{zz|zz{zzzzyyzzzz{{z{zzz{zzyzzyzyz{{zzz{zyzyzzzxzz{zzzz{z{zzyyyzzyzz{zzz{z{zzyyzxzz{zz{zzzyyyzyzzyzzyzy{|zyzyz{zzz{z{z{{{zzyzzzzzzz{zz{{{{zzzzy{z{{z{zz{{zyyzzzzz{{|{{{{z{{zzzyyz{{z{{|{zzz{zy{yz{{{{zz{{{z{{zzzz{z{{z{{{{{zzzzzz{{{{{|{{zzz{{z{z{{{z|{{}{z{zzzzzz{{|{z|{{z{zzyz{{z{{{{||{z{{z{|z{{z{{|{{{{z{{{{{{|{|{|{{{{||{zzz{{||z{{{{yzzzz{|{{{{|}{|zzz{{z{yz{{}{{{{|{zzzzz{{{{{{|{|zz{zz{z{{{{{{z{{zzz{|yzyz{{{{{z{yyyyzyyyzzzzzzz{yyzyzzyz{{y{{{zzzyyyzzyyzz{zz{{zyzyyyxzzzzz{z{{{zyzy{yzxzzzzy{z{zzyzzz{yyyxzy{zyzzzyzzyy{yzyz{{zyyzyyyzz{z{{zz{{y{yzyyzyzzzzz{zzzyyzxzzz{zzz{z{zzzzyzzyzz{{zzz{{yyzyyzyzzyzzz|zy{zzyzzyyyzz{z{zzyzzyzzzy{zzz{{{z|zzzzyzzzyzzz{{{{z{{zyzzz{zz{z{{zz{zzzzzzz{zz{{zzz{{zzyzzz{z{{|zzyzz{zz{z{zzzz{{zyyzzyz{z{z{zz{{{zzzzzzy|{z{{|{{zzzyz{{{{{{{z{{|{{z{zzzyz||{{{{{zz{{{{{{{{{z{{{{{zzzz{{z||{{{{{{{{y{zz{{z|{{{{z|{zz{{zyz|{{{{{{{{z{zzzz{z{||{||{zzz{zzzz{{{{{{z{z{zz{zzzz{{z|{|{{{{zz{zz{{z|{|{z{zzzzy{y{z|{z{zz{yxyyzzwyzyzzz{zyzyyzxyzzzyz{{|{zzyyzzyzz{yz{{zzzyzyyzyzy{z{zzyz{zzyxzzyzz{z{{z{zzyzzzyyz{{z{z{zyzyyzyzyzzzzz{{zz{zzzyyyzzz{zzzzzyzzzyyyzzzz{zzzy{zyyyyzzzz{{zzzzzyzzzzyzzz{zz}|zzzzzzyzyzz{{z{{zzyzzzzyyzzzz{zyzzzzzyyyz{yzzz{zzyyyzyzz{z|zy{z{z{zzzxzyzzz{{zy{zz{zyzzzzzzzz{z{{yyzzyyzz{{z{{z{zzzyzz{{{||z{{{{{yy{zyzz{{yzy{zz{zzz{zzz{{z{{{|{zzzzzz{z{{{{z||{{zzz{zyzz{{|z|{{|z{{{zz{{{|{{{z|{zzzyz{{z||z||z{{zzzzy{z||{{{{{{{zz{zzz{{z{{{{{{{{zzzzzz{{z{{{{|{zzz{yzz{{z{{|{{z{zyzz{{{{z|z{|{{{z{z{zzz|{{z|{{zyzzzzzz{{{zzzzzzzzzzxzyz{zz{zzzzz{yzzzy{zz{yzz{zyyxzzzzzzy{{zz{zz{zzyyz{zz|{zz{{{yyzyzyzz{z{z{{yzyzzyyyz{{{zzzyzzzyzyzx{zzyz{z{zzyzzyzzzzzzzyyyyzzyyzyz{{zzzz{{zyyyyzzzyz{z{{{zyzzzzyzyyyzzzz{z{yzyyyzyzzyzz{{{{zzzzzyyy{z{|{{zyzzzzzzyz{z{zz{{zzzzyzzyzz{zz{z{{zzyyyz{zz{z{z{zzz{zz{zyzz{{{{{|{{z{zzzz{{z{|{{zzz{zzzyzzz{zz{{z{{zzzz{y{{{z{{|z{z{zzzzy{{{|||z{yz{{z{{zz{{{{{{|{{z{{zyzz{{{{|{z{{{z{zzz{{{{{|||{z{z{zzz{|z|z{{{{{z{z{{{{||z{}||{{z{z{zz{{{||z{{|yzyzzyzzz{{{{|||zzzz{{{{{{|{{{|{{{z{zzz{z{|{{{zz{zzzzzzzzy|{z|{yzzyyy{zzzzzzz{zzyyyyzxy{|{zzz|{{zzzzzzz{yyzz{z{zzzzyyzzzzz{z{zz{zzzzzzzyz{{{{{{zz{zyyzx{{{{|zz{{zyzyzzxzzzzz{zzzzzzzyxzy{{yyz{{zyzyyyyzzzzz{zz{zzxzzzzzyz{z{{{{zyyzzzyyy{zz{z{{{zzzy{xzz{yz{z{zzzyyyzyyyz{{{zz{{yzzzzzzz{zzz{z{{yyzzyzzzyzzyz{{zzzyyyzzzzz|z{z|zzzzzz{y{zzzz{||zzzzyzy{zz{{{zzzzy{zz{zz{{{{{{{{{zzzzzzz|{{z{z{{zzzy{zz{{z{|{|{zzzz{{zz{{{{|||z{{zz{{zzy{{{{||{{{zz{zzyz{{|{|{|{{z{zz{zz{||{{{{|zz{zzzz{{zz|{{||{zzzz{z{y||||{{|{{z{zzz{|{{{z{||{yz{z{z{{{z|z{{{zzz{z{z{z{{z{z{{z{{zzzzz{z{{{|{zz{{yzy{zz{{{zz{{{zzy{zzyyzzz|zzzzyzzzzzyyzzzz{zzyzzzzyzzzz{zzzz{{zzzyzyz{zyz{z{{zzzyyzzzzzzzy{{|zzzzzzzyy{{zyz{{yz{y{zzyy{zzyz{zzyzyzzzzzz{yzz{yzzyyzyyzyzyzyzz{yyzyzyzyzzzzz{zzzyyyyzyzy{{zyz{zyzyzzzzyzzzz{z{{z{zzzzzy{{zzy{z{{yyz{{yzzzzz{{{{zzz{zzz{zz{zzz{{zyzzzyzzzz{{zz{{z{zzyzyzz{{{z{{{yzzzz{zzzy{z}z{z{z{zzyzyz{z{z{{{{z{zzzzy{zz{zz|{z{yzzz{{{{{{z{z|{z{z{{zz{{|{||{{zzz{{{{z{{z{z||{{{z|{zz{{|{{{z{{|zz{z{yz{{{z{{{{{z{{z|z{|{{{{|{{|zz{{{{{z{|{{{{{{{z{{{{z{z{|{{{{zzz{{zz|z{z{|{{z{{{{z{{{|{{{{{||z{{z{{{z{zz{{{{|zz{{zzzz{{z{|{|{zyz{yzyzzz{zzzzzy{yzyzzyzzz{{zz{zzyyxzzzyz{z{z{{{zzzyzzzzz{{|{z{zyzzyyyyyz{{z{{{{y{yyyyy|y{zzz{yyzyyzzyy{{zyz{{zzzzyyzzzzy{zx{zzzzyxyyy{zzzzzz{|yzyy{yyyzzzzz{zzzzxyxzyyzzzzzzzzzyzzxzzyyz{zzz|{{zzzzzzyyzzzz{y{zzyzyzzyy{zy{{z{yx{zyyyyzzz{zzz{zyzzzyzzzzzzzz{{zz{{z{zzz{yzz{{{zyzzzzyyzzzz|zz{zzzzzz{{y{{{{|{zzzzz{zzz{z{{{{{{{zzzzzz{|{{{z{{z{{zzzzy{{{|{{|{zzzz{{z{z{z{z{{|{{{y{{zzyz{{z{z{{{zz{{z{zzz|{{{{{{zzzz|{z{|{{z{{{{zzzz{{z{{{||{{{{|{{z{zz|z{|{{{zzzz{{yz{{{zz{{|{{z{{{zz{{{{z{z||yzzzzzz{zz{{|{{|{{zyzzzz{{{|{{zzzy{zz{zz{|{z{zzzz{zzzzyyzzzzzz{|{yzyzzzx{zz{{{{z{z{yyyyyzz{{{z|zzzzzzyyy{{{{{z{zzzzyzzzy{{zzzzzzzyyzyzyyzz{zyz{{zzyzyyzyzzz{z{{zzxzyzzzzzzy{zzz{yzyzyzzyz{zzz{z{zzyyyzzz{z{z{{zzzyzyzzzzzzz{{|{zzzyyzx{zyzyzyzz{zyyzzyyzzzz{z{{{zzzyy{xyzzzzz{z{{zzzzyzzy{z{{z{zzzzyzyyzz{{z{{{|{y{z{yzyz{{{zzz|zyzzzyzyz{zz{z{{{{{zzzzz{{z{zz|{{zz{z{{z{zz{z{{{{{z{zz{z{{{{z|{zzz{zy{{{{{{z{||{{zz{{zzz|{z{{{{{zzzz{z{z{|{z{{|{{{zzz{{z{{|{|{||{z{{z{z{{|{|{{{{{zzzz{{{||{{{{|||z{{zzzz{{z}{{|{{{y{{{z{z{||{|{{z{yz{zz{z{{{|z|{z{z|z{{zz{{{{zzz|zzzzz{zzzzzzzzzzzyzyzzyyz{zzzz{yzzyzzzzzzz{{{z|{zzzyzzzzzzzz|{{zzzzzzyzzzz{{z{zzzzyyzzyz{zzzzz|zzzzyyzz{{{zz{zzzzzzyyyz{zzzzyzzyyzy{zzzzzy{zzzz{yzyzyyzzzz{zzzzyzyzyyzz{{{y{{zz{yyyyzyyz{zz{{zz{zzyyzzzyzzy{{zzzyzzyyzxzzz{z{zzzzyyz{zz{yzzz{{{{zzzzyyzzz{zz{{{{yyzzyzzzz{z{z{{zyzyzzzz{z{{zz{{zz{z{zzz{{z{{zyzzzzzyyyyz{{{zzz{zzz{zzzz{{{zz{{{{y{y{{{{{{{||{{{z{zz{zz{{{y{{|{{{yz{zzzzz{{{{{{{z{z{{zzy{{{{|{{{zz{zzz{zz{{{{{|{{z{z{{{y{|||{{||zz|z{{z{{{|z{{{{zz{z{{z{{{{{{{{{{z{z{zy{{|{|{{{zzzzyzzz{{|z{{|{{{{zzzzzz{{z{{z{{zy{zyzzz{{{{z|z{yzyxzzyyz{{{zzzzzyzzyzyzzyzz{zz{zzzyzyzy{z|{z{|{zzyzyyyzz{{{zyzzzzzyyyzyzzzzz{zzzzyzyyzyzz{{z{{{yyyyz{yzzzzzyzzzyyyyyyzzzyzzy{{|y{yzzyzzzzz{zz{zzz{yyzyzzzzy{{{zyyyzzzx{zz{yzz{y{yyzyyyy{zzzzzzzzzyzzzyzyzz{z}z{zy{xyzyxzyzzzyzzzzyyzyyy{{zz{z{zzzyxzyzyz{{zz{{zy{zzzzyzzz{{z|zzzz{{zyzyz{z{|{|zzzzzyyz{z{{{y{|zz{zzz{zzz{{y{|{zzzzzzz{z{{{{||{{{zzzz{zz{{{|{{{{{zzz{zzyz{{{{z{|{z{z{{{z{{|{{|||zyzz{z{{{{z{{|{|{zz{zz{z{||||{|{{{|{{|{{{{{{|{|{{zzz{zz{{{{{{z{{z{z{{z{{{{{{{{||zzzzzyzz{{{{{|{z{{zzzzz{z{{zyzzzzyzyzy{yyzzz{zz{zyxzzyzxz{z{zzzzzyyyyyyzz|{yz{zzzyyyzzzy{zz{z{{{zzzyzzzzzy|zzz{{{yyyzyzy{{zzzzz{zzyyyyyyz{zzyyzzzzzyzyyyyzzzyzzzzzyxzyzz{y{{yz{zyyyyyyzyyyzzyzz{yzzyzyyzz{{z{z{z{yzzyzyy{zz{yy{zzzyyzyyyyzzyyzyyzyzyyyyyy{z{zzz{yzzyxyyyyzy{z{{zyzzz|yyyz{{{{{z{zy{zyzzzzy{{{{{{zzzyy{{yz{{zzz{zzyzyyyz{y{z{z{{zzyzzzyz{{z{{{z}zyyy{zzy{{z{z{{{z{zzzzzzzz{{{{{z{yz{z{{z{{zz{zz{|z{z{zz{y{{z{zz|zzz{zzzz{||{{{|{|{{zz{{{{zz{{{{{{zz{z{|{zz{{zz{{{zz{{zz{z{{zzz{{{zzzzz{z{{{{{{{}|{{zzzzzzz{{{{|z{zzzzzzzzz{{{z{{{{zzzz{yz{{{|{z{zzz{zzyz{{{z{zzzzz{zzzzyyyz|y{yy{yzzzzyyyzz{{{{{{zz{zyyz{yz{z{z{zzyzzyzzzyzz{z{{{zy{zyyzy{{zzz{{zyyyyzyyyyzzyzz{zzyzzzzzyzz{zz{zzyyzyzzyzyzzzyzz{yzzxzzzzzzzzzzzzzzzzzyxyyz{yzyz{zzzzzzzy{{zzz{z{zyz{yzyzzzzz{{zzzzzzzzzxz{y{{{{zzyzzyyyyzzzz{{{zzyzyzyzyx{zz{yz|zyzyzyyzzzzzz{z{zzzyyzzzzz{y{{z{zzzzzyzzzzz{zzzzz{zz{zzz{{{zzz{z{zzz{zzz{z{zz{{{{zzzzz{zz{{{{|{{y{{z{yzz{|||{{{{zzz{zzzy{z{{{z|{{yzz{z{{{{|z|z{{zz{zzz{zz{z{{{z|{{{{{zzzz{{|{{{|{{{{{yz{{{{{{{zzzzzzzz{{{z{{{{z|z{{{z{z{{{zy{{{{{zzyz{zz{zzzzz{{{z{zyzzyz{{zz{{zz{zyyy{z{z{zzzzzyzzzyzyzy{{zzzzzz{zyzyyyzzzzz{{{{zyyyzyyyz{zy{z{zyzzyzzzzz{{zz{{{zzzyzyxzzz{{{{zyzzxyyzzzyzyz{z{{yzzzyyzzz{zzy{{zyzyyzxzzzzzzzz{zzyzzyzyz{{zzzz{zyzyyzyzyzzzz{zzzzzzyyzzzz{{zzzzyzy{zzzyyyzzz{{z{yzzzzyz{zyyz{{zzzzyz{zz{zz{zz{{{zxzzzzzy{{zzz{{zz{yzz{z{z{z{{{z{{z{y{zzzzz{{zzzzyzz{yyzzz{z{{{z{{zzzzzzz{{z{z{zyzyyyzyzz{z{z{z{{zzy{zzz{z|{{||{z{{{{zzz{{z|z{|{{zzz{{y{{{|{{{z{{zzzzz{yz|{z|{z|z{{z{z{{{z{{|{{z|zz{{{z{z{{{{|{|zzzz{z{z|{{|{{{zz{zzz{z{z{{{{{||{z{z{zy{z{{zz{z{zz{z{zzzz{{z{{{{{{yzy{{yz|{{z{{|{z{zzzzy{{{z{{z{yzzyyyzxz{{zzz|zzzyy{yzyzzzzz{{{{yzzyyzyzzzzz{y{zzzzzzyyzzz{zzz{zz{zyzzyyzz{zzz|zzyxyyzyzzzzy{z{z{yxyyyyyzzzyzz{{zyzyzyzzzy{zzzzzyzzyyzzyz{{z{z{zyzyyyyzz{{z{{z{{zyzyyzyzzy{z{y{yyyyyyzxzy{zy{{yyzzzzzyzzzyzz{z{zzyzyzzyz{zz{{z{zyzzzzzzzz{{zz{{zzzzyyzz{zz{zzz{zzyz{zzzz{zz{{zz{z{z{zyy{z{z{{z{{z{zzzyz{zzzz{z{yz{zz{zyz{{{{z{{zzyz{y{zzz{{z{{|{z{{zzzy{{{{{{{{zzzzz{zz{{{{{{|{{zzzzz{z{{{{|{{{zz|{zz{z{{{{{{zzzzzzz{z{z{||{|{{{{{{yzzz|{|{{{|{{{z{{z{z{z{{z{{{{{z{{z{{{{{{{|{|z{z{zz{zzzz|z{{{{zzzzzz{z|{{{{{{zz{zzzzz{{{{zz{zzzyyyzyzz{z|zzz{zyyyyyyzz{zzz{zzz{zzzzzzzzzz{zz{zyzz{zyyzyzzzz{{{zyyyyzyz{{zz{z{{yyzyy{zz{zzzzz{zzzzyyyzxzzzy{zz{zzzyyy{yyzyz{z{zyyzyyyzz{{z{z{y{zzyxyyyz|zzzz{zzyzyyyyyzzzzz{{{{zyzyyzz{z{{{z{zzyzyzzzyy{zzz{{{zzzzzzzz{zz{z{|zzz{zzz{z{{zz{{{{zz{yzy{zzz{z{{{{zzzzxz{zzz{{z{{zzzzz{zzz{{z{{{zz{y{zyzzy{z{{zzz{zzy{yzzz|zz{z{{zzzzzz{zz{{{|{zz{{z{{{zz{{{{{{{{{z{{z{{zy{{|{|{{|{y{{zz{{{|{z{|{{{z{zz{{z{{{{{|{||z{zy{zz{|{|||{}{z{zzz{z{z{{zz||{zzz{{z|z{}z{{||{{z{{zzz{{|{{|{{{{||z{z{{{{{z{||{{zyyz{zz{{{z{|{{zz{zzzy{zzzz{{zyyz{zzzy{zzyyz{zyzyyyzyzzzzzz{{{zzzzzzyy|zzyy{zzzyyzzyyzzz{zyy{{y{zzyzyyzzzzzz{{zyzyzzzyz{{yzzy{zzy{zyyyzzzzy{zzzyzyzzyzyz{z{z{{yyyzzzyzzzzzzzz{zzzzyyyzz{zz{{{{{yzyyzyyz{zzz{{zzyzzyzzyy{zzz{zzzyzzyzyyy{zzz{z{zzyyy{zyzzzz{z{zzz{y{zzyyzz{z{{{zzz{yzzz{z{{{{{{zzzzzzyzzz{zzy|zz{{zzz{zy{zz{{z{zyzyzyzy{{zz{z{|zz{zyz{z{|{{{{|{zzzyzzz{{{{{{{{z{z{{zz{z|{{{{z{{zzyzyzzzz{{|{z{zz{zz{zzz|{{{{||{{z{{z{zz{{zz{zz{{{yzzyzz{|z||z|{{{{{y{{zz{{{{{{{|zz{zy{z{zzz{|{{{{zz{zzz{{{{{{z{{zzz{zzyz{z{z{{{{zzz{{zzy{{{{{{{zzzyzzz{z{{zzyz{z{yyzzzzyz{{zz{zzzyyzzyzzzzz{{zzzzzyyzzz{zzzz{zzzyz{yzzxyz{{zz{zzzzxyxzyzz|{zz{z{zzzz{zzy{xzz{zz{zyyzyzyzz{zyzzzzzzzyzz{yzzzzz{zzyzyzzzyzzz|{{{zz{yzyzzzzzz{z{zz{zyzy{yzzzzzz{||yzyzyyzyzzzyzyzz{zyzzyyzy{yzzz{zyyyzzyzyyzzz{z{{zzzz{yzzzz{zz{y{zzzzzz{zz{{zz|z{zyzyzzzy{zzz{z{{yyzzzzzxz{{{{zzzzzzzzzzz{z|{{{{{{{z{{zzz{|zzy{{{{zzz{zzzz{{{{{{{zzzyz{zy{{{{||{|zzz{yzzyz{{z{{{{{zz{{z{zz|zz{{{{{{zzzzzzzzzzz{|{{zzzz{|zz{{{{{|||z{z{{{{{{z|{||zzzyzz{z{{{{{|z|z{zzz{{y{z{{z{|{{z{yzzyzz{{z{{{{{yzzzzzzzz|y{zz{{z{zzzyzz{z{yz{yzyzzzyyyyyz{y{zz{yzyy{zyzzz{z{{{zzzyyyzyyzyzy{y{zzxyyyyyyzzzzyz{zyzyyyyzyyzzzzzzzzyzyyzzyy|z{yz{zzzyzzyzy{zz{zy{zyzyyyzzyzzzzzyzzyyyyyzyyyzz{{zz{yzyzzxzzy{zz{zyz{yzxyzyyzyzzyz{{zzyyzyzxyyzzzyz{yzyyzzyzzzzzzzzzyyzzyzyy{zzzz{zy{zyzzyzyz{z{z{{{zzyzzyzzz{{{z{z{zzzzyyzz|z{{z{{zy{zz{yzzz{|zzz{zzyzzzyzyzzz{zz{yzzz{{yzzzz{{z{z{z{yzzz|{{z{|zzzzyzzzzz{z{{{{{{||{{yz{zzzz{|z{{|z{zzzzyzy{{{z{{||{z{zz{|{{zz{{{{{{zz{zz{zz|z{{z|{{{zzzz{z{{{{{{{{{zzz{{{{{z{zzz{{zzzz{{z{{z{{{|{{zzzzyzzyz{{{{z{{{zzzzyzz{|zzz|{zzzzyzyzzz{zzz{zzyzyyyzyyyzzzzzy{zyzyyzzz{z{{{z|{yzzzzyyyzzzz{zzzzzzyyyyzz{zzzzzzzzzyyyzyzzzz{{{{zyzzyzzyzzzy{z{yzyyyzyyxyzzyzyyzzzzxyzyyyzzzzzzzyyyzyyyzzzyy{zzzzyyzyzyzzzzy{z{zzyzyyyyyzz{zyz{zzyzzyzyyyyyyz{zzzzyzzyyyzzzyzzzzyzyyzyzy{z{z{z{yzzyyyyzyyyzzz{yz{zz{zyzzzyzzzz{{zzzzzyyy{zzz{z{z{zz{zxzzyz{{z{{z{zzyzzzy{z{zz{{zzyyzzzyzz{{zz{|{yyzz{zzz{z{|{|{{zzzzzz{y{{{{z{{|zy{{{{yz{{z{{z{{zyzzzyyz|z|{|z|{z{{zz|{{zzz{z{{{|{{{z{zzz{|{{||{{{z{y{zz{{{{z{|{{zzzzz{{{z{{{{{|{{zzzz{{{zzz|{{{zyz{zzzyz{{{z{{{zzyzzzzz{{{{z|z{yz{zzzyyz{{z{{zzyxyzyyyyy{{zzzyzyzyzyzzyyzzzzzzzzzzxzyyyzzzzzzzyzzzyyyzyzzzzy{{zyyzyyyzyyzzz{z{zzxyyzyyyzzxzyzzzzyyyyzyxyzzzy{zzzxxzzyzzyyyzzzz{yyzyzzyxyzyzz{zzyxyzyzyyzzzzzzz{zyzyyzyyzzzzzzzzzyyyzyyyzyzzyzz{zyyyyyzxzzzyzz{zyyzxzzyyzyzzzz{z{yzzzyyyzzyzy{{z{y{zzyzzzzzzz{z{zzzzyyzyzzz{zzz{zyyzyyzyy{z{{{{zy{yyz{zzz{{{z{{zyyzyyzzzzzyy{{{yzyzz{zzzzz{{z{z{zz{{zz{zz{{z{{{|zzzz{yyzz{{zz{{{{zzzzyzz{z{{z{{{zzzzyzzz{{{{{{{z{z{{zz{z{{{{z{{|{zz{zzzyzz{{z{{|yyzz{zz{{{zzzz{|{z{yzzyz{zz{||{zyzzyyz{zyzz{z{z|zyzyzzzyz|z{{z{{zxzzzzzzzzzzz{zzyzyyyyxzyz{zyz{zzzzyyyzyzz{z{z{{zzyyzyyzzzzzzzzzzzzyyyyzyzzzyz{zyyyyzyyzzy{zzzz{{zzzzzzyz{z{yzz{zyzzyzzzzzzzyzyzzzzyyzyy{zyzzzyzzyyyyzzyzzzzzzzzyyyzzyx{zzzzz{{yyyzzzzyyz{zzzzzzzyzyzyzzyzzzzzz|{zyyyyyzyzzzz{zzzzyzzyxzyy{{{{zyzzzyzyzzy{zz{{z|{yyzzyzz{z{{zzzzyzzyzyyzz{zzzz{{zz{zzyzz{{{{z{z{zyzyyyyz{z{z{{zzyyy{zzzz{{{{{{{yzzzzzz{z{y{{{{zz{{zzy{zz{{z{{y{{{yzzzzzz{z{{{{{{{zzyzzzz{{{z{{z|{zzz{{{zzz{{|{{zzzzzzzyzz{||z{{{{zzzzy{z{{{{{zz{{zzzzz{{{z{z{{{|zzz{zzzzz{{{|{|zyzzzzz{y{{{{z{{{{{{zzzzzzz{{zz{zz{zzyyzyzy{z{zzzzzyyzyzyyz{{{zzzzzzyyyzz{zz{zyz{yyyyzz{yyz{z{z{zzyz{zyyyz{z{zzyzyyzzzyzyzzzzz{zzzxyzyzzzzzzyyz{zz{yzyzzyzzzyzzzzzzzxyyyy{zzyyzzzyyzzyxzyzzzzz{{zzyyzzzzzzzzyyzzzzyyzyyzzyzz{{y{{yzyyzyyyzzzzzyz{zzzzyzyzy{zzz{{zzyyzyy{yzzzz{{{yzzyzyzzy{zyz{zz|zy{zzyzyzz{zz{z{zy{yzzzzzzz{{{|zzzzy{zzzz{zz{z{{zzz{zyzy{z{{{{{{z{zzzy{y{|{zz{{{zzzy{z{z{{|{z{{{z{zzzz{z{zz{z{{|{{zz{z{zz{|{{{z{{{z{zyzzz{{{{{{{yzzzz{{z{z{|z{{{{zzzz{zz{{z{{|{{zyz{z{zy|{z{{{{{|zz{{zzz{{zz{{{{{zzzz{z{{{{{{zz|zzzy{zzzy{{z|{{{zzz{z{zz{|{|zz{{z{{yzyzz{yzz{{z{zzzzyyzzz{zzyzz{zzzyyxzzzzz{z{|{zzzzyzzyzyzz|z{{zzzyyyyz{{yzzz{zyyzyyyzyzzzz{{zzyyyyzyzz{zy{zz{{yy{yyzz{yzy{zz{{yyyxyyyyyzzzz{{zyzzyyz{yyz{zzzzzzyzyyyzyy{zzz{zzzz{yzyy{zzzz{z{|zzyzyyyyz{zzzzyzyzzyyzxyy{yzzzzzzzyzy{zzzzzzz{{zzzzy{yz{z{zzzzz{zyzyyyyzzzzz{z{{yzzyz{zz{{{z{{{{zz{zzyyzz{y{{zzyzz{zzy{zzzzzz{{{{z{{zzy{{{{z{{zzzz{y{zz{z||{{z{{zzzzzz{zy{{{z{{{{zzz{yzz{{{||{{zzzzzzzzz{{z{{{|zzzzyyz{{{{{zz|{{{yz{z{{zy{{|yz{||{zzzzz{|{|{{|{{|z{zzzzzz{{yzz{|zz{z{{yzzzz|{{{{{zzzzz{zzz{{zz{{{zz{{y{yzz{|zz{zzy{yzzzz{{zz{|zzyyyyzyzyyzyzzzz{zzyyyyzz{xzzzz{{zyzyzyzyzzzz{{{{zyzzyyyyzz{{z{{{zzzyzyyzzz{zzzz{zyyyyyzyzzyzz{zzzzyzyyzyzzzyyyzyzzzyyyyyyyzzz{{{zyyzyxzzyzzzz{{yzyyyyyyyzzzyz{z{zyzyyzyzyzzyz{{z{yzzyzyyzyzzy{{zzyyyzyyyy{{zzz{yzyzy{zyzzzz{{{{{zz{yzyxzzzz{zyz{zyyzyzyz{zzzz{z{yzzzzzzzz{yzz{{|zyzyzyyyzzz{{{{zzzzzzzzyz{{{zz{{zzzzyzzzz{{{zzz{{{zzzzz{{{|{{||{{z{yzz{{z{z{z{{|{yzzzzzzz{{{{{|{{zzyzzyyz|zz{{{{zz{{zz{{{|{|{{|{{yzz{yzzy|{|z{|{{z{{{z{zz{z{zz{{|zzzzzzz{{zz{{z||zzzz{{zzzz{{{|{{zzzy{zzz{{{z{z{zzyzzyzzz{{{z{{z{zzzzyzz{{{zyz{zzzyzzyzxyz{zz{zzyzy{zy{xz|zzz{{{zzyzzyzxzzz{{z{zzy{yzzzzzzzzz{{zzzzyxzzyz{zyzzz|zyzyzyz{zz{zzz{z{zyyzxzzzz{yzz{z{{{yzzzzzzzz{zz{yzzyyyyyzzzzzzzyyzyyyyyzzzz{{z{{zz{{xzyzzzzzzz{{zzyyzzzzz{yzyz{{z{yzzyyzyzyyz{zzz{z{{zyyzyz{zzz{zzzyzyzzzzzzyzz{z{{zzyzy{{zy{{{{zzzyzzyz{|{{|{{{{{zzzzzzz{z{zz|zzyzyz{zz{z{zz{{{{yyzzzzz{{{{z{{{{zzzz|zzzz{z{{|{z{{z{{{z{{zz{|{{z{z{zzy{{{zz{{{||{{{{zz{z{{{{{|{z{z{{{{|{{{{{|{{zz{{{{z{{|{{{z|{{zz{z{z{|{z{{{{{zzzzz{yzz{zz|{{{{z{{zzzzzzz{|{z|zzzyzzz{{zzy{{{{|{{zyyzz{z{{{{{{z{zyzzyzz{z{{zxzzzy{yzzyz{zzzz{{yzyyzyyzzzzzz{z|yzzzzzyyzzzz{{{zzzzyyzyxz{z{yzz{zyzzyyzxzz{{zz{zyzyzyzzzz{yzzzzzzzzzzyzyyzzzzz{zzzzyzzyxzzyy{zzyyyyzzyyzzzz{zz{{zzzyyyzyzz{{yzz{{zyxyyyzzyz{z{{{zyyzyyzxz{z{zz{zzzzyzzyxz{zzy{{zzz{zyzyzzzzz{{{{zzzyyzyyy{zz{z{{yzzzzzyyz{zz{zz{zyzzyzzz{{{zy{{z{zzzzyyzy{{|{{{{zy{zyzyz{zzzzzz{zzz{yzyz|{zzz{{{zz{zzzz{z{|{{{|zzzzz{z{z{{z|{z{{y{zzzzz{{{{{{{z{{z{zz{z{{{{{{{z{zyzzz{{z{{{{{z{|{zzz{{z{{|||z||{{yz{zz{z|z{{{{|{zzz{zzzz{{{z{z{{{zzzzzzz{{z|{{{zzzyzz{z{z{z{{{{||{zzyzyz{z{{|z{{z{zzz{zy{zzz{zy{yyzzxyyxz{z{zzzzzyyyyzyzzzz{z{y{yyyzyyyyzzzzzz{{{xzzyyzyzyz{zz{{zzzyyzyy{zzyzzyzzyyyyyyxzzzyyzzzzyzyzyyyzz{yyzz{yyzyyzzyzyyzyyz{yzzyzxzyy{zzzzz{zzyzyyxzyyzyzzz{zzyzxyzyzz{zzyzz{zzzxyyxyzzzz{z{zyzzyyzyyyzyzzy{zzyyy{yyzzzzzzz{yzyyzyzzzzzzy{{zzzzyyyyzzzzzzzz|zzyxyyyz{{z{{z{|yz{zzy{zzy{zzz{yzzz{zzyyyz{{z{{{zzzz{yzzz{{zz{zyzzzzzzzz{z{z{{{{{zzzzz{{z{{{|{{{{zzyzzzzz{z{{{{{{yz{zyzzz|z{{|||zzzzy{zzzzzz{{{{{zyzz{zzz{|{{zz{zz{zzz{{{{{{{z{{zzz{{zzzzzz{zz{z{zzy{yzyz{{{zz{|zzzyzzzz{zz{z{{{z{yzzzzyz{zzzzz{zyzzzyyy{{{zzzzzyyzyzzzyzz{zzzyzzzyyzyzzzzzzz{{zzzzxzyzyzzzzz{z{{zyzzzyzyz{yz{z{yzyyyyyyzz{zz{{{xyzyyzyyzyyz{{zzzzzzyyzyzzzzzzzyxzzzyyyyzyzz{zzyzyyzyxyyyzz{zzzzyyyyyyyzzzzzzyzz{y{zyzyzzzzzzz{{zzyzzxzzyzzzz{z{yzyyzzyyyzzzzyzyzyzzyzyy{{zzy{{zzyzyzyzzzz{zy{z{zyzzyzyzz{y{{{z{zzzyzzzzzzz{{z{{zyyyzz{yyz{zz{z{z{yyyzzzz{{z{{|{z{zzzzzzzz{y{{z{zzzzzzzz{{zz{{|{z{zz{z{{{{z{{{{{{zz{zzz{z{{z{{{{{yzy{zzzz{zz{{|{{z{zzz{z{{{{|{{{zz{zzz{{z{{{{z|z{{z{z{{z{{zz{{|{{y{{zyzz{z{{{{{|zzyz|{{y{{|{|z{{zzzzzzzzzzz{zz||{{{{zzzzx{z|z{{zzzzyyzyz{z{zzzzzyyzyyyyyyzzzz{zzzyyyyyxyyzzzzzzzz{yz{zyyzyzzzz{zzyzyzzzy{{yz{{{{zyzyzyyyzz{zzz{zzxzyyxyyzz{yz{{zzzzzxyyyzzzyzzzzzyyyyyyzyzyyzzzzyyzzyyyyzzzzzz{zyzxxyyzzz{zzzyzzzyzyxyyzzzyzz{zzyzzzyyzyzyyyzzyzzyyyyyzyyzy{{z{yyyxyzyzyyzz{{yz{yyyyzyzzz{yzzz{{z{yyxyyzyyzzzz{{zzzzzzzyz{zzzz{zzzzzyyyzzz{zyz{zzzzzyzyz{z{z{|zzzzzyzyzz{zzzzz{{{zzzz{yy{z{z{{{z{zzzzzzz{z{zz{z{y{yzzzzyzz{{{z{z{yzyzzzz{|{zz{{{zzzy{zz{z{{zz{|zzy{zzz{zz{z{{z{|{zzzz{zy{|zz{z{{{zz{zzzz{z{{{{z|{yz{zz{zz{{|{{{{z{zyzzz{y{z{{{{{{zyz{yyz{{{zzz{zzzzyyxzzyzzzz{{yyzzyyyzyy{zxzz{zzyzyyyyyzyzzy{{yzyyzyzyzzzzy{{{{{yzzyxzyyzzyzz{{|yyyyyyyzz{zyzz{zzzxyyzyy{{{{{zyzyzxzyzzyz{zzzzzyxyzzyyyyyyzyzzzzzyzxzzyz{{zz{z{yzzzyyxzzz{zzzzzyyzzyzzzzzy{{{{zyxzxzyzyzzyzzzzzzyzyyyyzy{{zzzzzzzz{zyyzzzzzzy{{zzyyzyzzzzzz{{zzz{zzyyyz|yzz{x{{zyzyyzyzzzzyz{zzzyzzzzyzz{{{y{zzzzzzzzzzzz{|{{{{|z{{zyyz{z{zz{{zz{zy{zzy{{zz{{{{zzz{zzz{{z{{z{{zzzzzzzyz{z{{{{{z{zzz{zzz|{z{{{{{zyzzz{{zz{{{z{{|{yzzzzzzz{{{{{{|{{zzyzy{{{{z{{z{|zzz{yzzzzzzzz{{z{zzzzy{z{z|{{|{yz{zz{zzz{{{{{{{{{z{zzz{z|zzzz{z{zzyzyzzz{{{zzzzzzzyzzzxy{{zz{zzzyyyzzzyz{z{zzzzyyyxzyyyzzzyz{zzyzyyy{yyy{{{zzyzzzyyyyyzzz{{zzzzzyzyzzzyyzyzy{zzzwzyyyyyzzyyy{zzyyyyyzyyzyzzzzzzyyyyzyzyzzzy{{zzzyzzyz{yzz{y{y{zzzzxyyzyyxz{yzzzyyxzyxyyxyyyzzzzzyzzzxyzxzzzz{{{zyzzzz{yyz{zzz{zzyzyzyyyzz{yzzy{zzzzzz{{{zzzz{|{yzzzyzzyzz{{{zz{zzyzzzzzyzzz{{zzzyy{zyzz|z{z{zyz{zyzzyzz{{{z{z{{yz{zz{yz{{{{zz{{z{zy{yzzz{z{zz{{{yz{zyzzz|{zz{|{{zy{{z{y{|{z{{{zzz{y{z{{z|z{z{z{{{zzy{zz{{|z{|{{{zzy{zz{|{|z{{|{{yzzy{{{{zz{{{|{{zzzz{zzz{zz{z{{zzz{z{{zz{z{{|{{z{zz{zzyzzz{zzzzzzzzzxyzzzyzzzz{zyyyyyzzz{zzzzz{{yzzzyyyzzzzzyzzzzxyzzyyzz{y{{z{zyyyyzyzz{z{zy{{zyzzxzyyzzyzzzy{yzyyzyyy{yz{y{zzzzzzzyxzzzyzzzzzzxyyyyyyzzzzzz{zzyyyyyyyzzyzz{zzzyyyyyyzz{yzzz{{{zzyyzz{yzyzzzz{yzyyzzyyzzzzzzzz{yzyyzyyzzzzzzzzzyyzy{yz{{{zzz{z{yyyyyzyzzz{z{{{{zyzyzzz{yz{{{{zyzzyzyzzzzzz{z{{{yyyzzzyzz{{zz{zzzzzzz{zz{{{z{{{zzyzzyzzzzzzy{{{zyyzzzyzz{{z{z{zz{zzzz{{z{{{z{{{{{yz{zyzz{{{{{{{zzzzzzzy{{{{z||{{{zzz|{{{{z{{z{{{z{zzzz{{{{{{{{z{zz{{zzzz{{z{z{{|zzzz{yzy{z{z{{|{yzyz{zz{z{{z|{{y{zzzyzyz{{{{{z{{{zz{zzzzzz|yzzzzzzy{yxyyyzzzzzzzyyyzzyyz{{yzyzyzzyyyzzzzyzzz{z{zyyxzzxyzzzyzzzzzzyyyyyyyyz{xx{{zyyzyxyy{yyyyzzzyyyzzyzyz{zzzz{zzyzyyyxyzzz{z{zzzyyywyyyz{zyzzzzyyyzxyyzyzzyzyyyyzzyyyyz{{zz{{zyzyyyyzyxzyyzyz{zzzzyyyzxyzyyzzzyzyyy{zzyyzyzz{yzyyzyzyyyzyzzzz{{zyzxzzzyzzzz{zz{zzz{yzzyzzzz{yz{yzyzyzzyzz{{y{{{zyzzyyzzzzz{y{|zyzzzz{yz{{zyyz{z{yyyzyyzzzzz{{{{yzyyzzyzzz{|zz{zyzzy{yzz{{{{z{z{{yyzz{zyz{z{{z|{{yzz{z{{z|{zz|{{zzzzzz{zy{{{z{z{zzyzy{zzz{{|{z|{zyz{z{yz{{zzz|{z{zzzzzzz{{z{{{{{zzzz{zy{zz{{{z|{zyzyzyzz{z{{z{{|{zzyzyyzz{{{{{zzyy{yyy{zzzzz{{zzzzzzzy{{y{zyzz{zzzyyyyyyzz{zz{zzzzzyzyzyyxzz{zzzzzyyxzyzz{z{zzzzyyzyyzyz{z{yzzzzyyzyyyyyzz{zzz{{zzzyyzyzzzzyzzzzyyzyyzzzz{zyzz{yyzzzyyzyz{yzzzzzyxyzyyyyz{{zzzzy{yyzyzyzzzz{zzzzzy{zyx{yzzzzzzz{yzzyyyy{z{yzzzz{zyzyzzzyzy{zzz{{yzzyzyzzz{yzzzy{zyzzzyz{{zz{{y{{yzzzyyzzz{z{zz{{zyyzzzyzz|{{{z{z{zzzzzyzzzzzz|{z{zzzzzz{zz|{z{{{{z{zzzzz{{{z{z{yz{zzzz{z{{{{z{z{zzz{{{zz{{||{z|{zyzzzzy{z{{{{{||{zz{z|{zz||{{|{{{z{zyzzzz{z{{|{{{z{{|zzz|{{{{{{{{yz{z{|z{{z{||z{{{z{{zyzz{z{z{|{zzz{yyyz{{{{{{|{{zy{zzzz{{{{{{{{zy{zzyzz{{zzzzyzyyyyyyzyz{zzzzz{{zzyyyyy{yzzzz{{{yzyzzyy{y{zyz{y{zzzxyzyz{{{yy{zzyyyxyzyz{yz{{zzzzzxyyyyyzzyzz{zyzzyzyyyzzzzzyzzzyzzzyyyzyz{zyz{zyyyzzyyyzzzzz{zyzzzyxyzyzzzyzzzzyzyy{zyyy{zzy{{yzzyyyyyzzzyzz{{zyyzyzyyyzzzyzzzzzzzzzzzz{zzzzz{yzyxzyzyzzzzz{{zyyzzyyzzzzzzz{{zzzzyyyyzzzzzzzyzyzzzzyzzz|z{zz{yzz{zyzzzz{{zz{{{zzyzz{zz{yzzyzzyzzzyzzzz{{z{zz{{zzzyz{zz{{z{{|{{zzzyzzyzz{{z{z|z{zyz{zzz{|{{{||{y{zyzzzz{|{z{{{||zz{{zzzz|{{{z|z{zzz{xzy{{{|{|zz{zz{zz{zzz{{{||}z{zz{z{z{zz{{{||z{zzzzzzz{z{z{zz{zzz{zzyz{{{{{{{zzzy{zzyz{{yyz{zzzzyyzzyyy{zyyz{yyyz{yyzzzzzzzzzzzyzz{zyzyzzz{{{z{zzyzyy{z{zz|{zzzzzyyzxzy{zyzzzzyzzzyyzyzzzy{zzz{zyzyyzzzzyzzyzzyyyyzyx{yyzy{z{yyyyzy{zzyz{zz{zzyyyzyyzzzzyzzzyzyzzyzzyzz{{{zz{zzzxzzzyyy{yzzzzzzyxyxxzyzz{{zz{zzzzyzzyz{yzz{{{{yzyzzzyzz{zzzzzzzz{zyzyzzz{z{{|zyzzzyzz{{zzzz{{z{zy{z{zzzzzz{{y{y{zzyzzz{{z{{zzyzz{yzzz{zz{{{{{zzyzzzz{{{{{{|z{zzzzyzz{{{{{z{{|{{y{zzzz{{zz{z{{{zzz{y{z|{{zz{{{zz{zz{{{{{{{{{z|{zzzz{z{z{{|{{{{{z{zzz{z{z{{z{{{{yyz|{zzzz{{{{{{zyz{{zz||z{{|{{|zyzzzzzzzzzzzz{z{zzzzxzyz{z{|{{{zyzz{yzz{{{zzzzzyyzyzyyxyzzzzzz{zxzyyzzyz{{zzzzzzyyzyzyyzzzz{z{zzyyyzyyzzzzzzyzzzyyyyyzy{z{zzzzzzzyyyzyx{zzyz{{zz{zyzzyy{{zy{{{zzzyyxyyyyz{zz{zzyyzyzzyzzzzyzzzzyyyzyzzzzzzzy{{zz{zyyzzyzz{{zz{{zyyyzyzyzzzzzyzzzzzyyyy{z{{yz{z{|zzzyyyyzz{{zzz{zzzzzzzyzz{z{zz{z{{zzyzyzzy{y{{zzyy{zzzzzz{zz{zzzzzyzyzy{{{z{{{zzzzyyyzzz{{{{z{zzzyzzyy{z{zz{zz{zz{zzzyz{z{{{{{{{z{{yzzz{{z{z{{|zzzzzzyz{z{{|{{z{yzzz{{z{{z{z{|{{zyy{zzzz|{z{{z|{zyzzz{{{{{{z{|||zzzyz{z{z{{{{{{z{y{{zy{z|{{zz{{|yzz{zzz|{z{z{{{{zzz{zzzz{{{||{{{zyzyz{yz{z{zz{{zz{zyyyz{{{{{yzz{yyyxyyzzzzzzz{|yyyzyzzyzzzzz{{zyzzyyzyyzzy{z{{zzzzzzyyzzzzzzyzzyyzyzyzyyz{zy{zzyyyyyxzx{{zyzzzzzzyyzzxzzzzyyyzzyzyyzyzzzzyzyz{zyyyyyzyyzzzzzy{yyyxzyyyyy{zzyz{zyyzxyxxyyyyzzzz{zyyyzxyyyzyyyzzyyzyxxyyyy{zyzzzzyy{zyzyyzzzzzz{z{yyzzyzz{zzzy{zzyzyyzyzzzz{zzzzzyzzzyyzz{z{zzz{zzyzyzyzzz{yzzzzzzzzyzzzy{zzzzz{zzzzzyzyz{zyzz{zzzzzzzzzz{zz{zz{|z{zzzzzz{{{zzz|{zzyzzzzyz{{zzz{{zyzz{zzz{{{zz{zzzzzzyzzzy{{{{z{|zzzzzzz{{{z{z{{{{z{zzz{zzz{{yz{y{zy{zzyzzzz{{{{{{yzzzzzz{{z{{zz{zy{yyzzzz{zzz{z{{zzzzzyy{|zz{z{{zyzyyyzyz{z{zyzzzyzyyzzyxzzzzzz{yzzzzyxyzz{z{{{z{yzyyyzzzz{yyzzzzyyyxyzyzz{zyy{{zyyyyxzy{zzzy{z{yyyzyyyyyzzzzzzzzyzyyzyyzz{zzzzzxzyyzzzzyzzzyz{zzyzxzzyyzzzzzzzzzzzyyyxyzzzzzyzyyyzyyyyzzzz{yzz{zyzyzyyzzzyzyzz{yzzyyyyzyyyzyz{{zzyzyzzyzzy{zz{yyyzzyyyzyzyzzz{zzyzyyyzyz{yzz{zzzzzyyyzyyzz{zz{{zzzz{zzzz{z{{|yzzzzyzyzzz{yz{z{zzzzzzyyyzzzzy{zzzzxzz{yzz{z{{z{zyzzz{zz{{{z{z{{zzzz{zzzzzy{{{z{z{yyy{zzz{{{zz{{zz{z{z{z{z{z{{{{{{zzzzz{zz|{|{{{|{zz{yzzz{{{{z|{{{zyyz{z{{zzzz{{z{zzz{zzzz{z{{zz{{{{{zyzzzz{{z{{zzz{zzzzzzz{{zz{{yzzy{yyyzz{z{{zyyyyyzyzyy{zyzyzzzyzzyzyyyzzy{{zzzyyyzzyyz{zz{{z{zzzyyzyyxzzz{zzzyzyzyyyzzz{yzzz{zzzyyyzyyzyzxzyzzzyyyzyzzz{yzzzzzzzyyzyyyzzzz{z{{xyyzxyyzzzxzzyyzzyzyzyyzz{z{zyzyzyzyzzzyz{{yz{{yyzzzyxy{zzz{zzzzyzz{yzzyzzy{zz{zzyzzzyyzzz{zz{z{yzyzzzyzyzzz{{zzyzyyyzy{zy{{{z{yzzyzyzyz{zz{{{zzzzzzzzzzzz{{zzzzyzzzzzzz{{{{zzzzyzy{zzy{z{{z{{zzzy{zzzzz{{{{|{zzzzz{y{z{z{{{z{zzzzzz{yzz{z{{{{{zzz{{zzz{{{z{{{{zzzyzzzz{{{{{{{z{{zzzz{zz{{{z{{{{y{{{yzzz{{|{{|{zzzzzzyzz{{{|{{|{zz{{{z{{{zzz||{{zzzzzyyy{zz{{{{zzzzzzzyz{{{{{{|{z{zzzzyz{z{{zyz{zyzyxyyz{yzyzzz{zyyyyyxzzzzzz{zzzzyyyyyzzz{yzz{yyzzzzzzyz{{yzzzyzxzyzyyzzz{zzzzzyyyyyyyyzzyy{zyzzyyzyzyzyzyyzzyyyyyyyyyzyz{yzz{yyyyyxyyyzzyy{zyzyzyyyxyzzyzz{yzxyyyyyyx{zzzzzzzyxyyzyyyzzzyyzzyzyyyzyyyyzzyzzz{zzzyzzzyyzzzzz{zyzyz{xyzzzzzzzzzzzyzyzyyyz{{zz{zzzzzzzyyyzzz{zz{zzzzyyzyy{{{zzzzzyyzyyzzzzzzzzzz{zzzyzzzy{{zyzzzz{yzzzzzz{z{{|{{zzzzzzzzzzzzzz{{zzzyzzyz{z{zzz{z{yzzzzzzz|{{{z{{{yzz{z{{yzz{{z{{z{zyzyzyz{z{zy|{{zzzzzzz{{z{z{{z{{zzz{zz{{{{{zz{z{zzzzyz{zy{z{{{zzzyzyzyz{z{yz{z{zzzzzzzz{{{{z{zz{zzzyyz{zzzzzz{zxyyzyyyyzyzzz{zzzyzyyyzzzz{{{{{z{yzyyyzzyzzz{zzzyzzyyyyyzz{yy{zyyzxyyzyzyzyy{zzzzzyzyyzyzzzzzz{zzyzzyyyzzzyzzzzzyzzyyyyzzz{{zz{xyyyzyzyyzzzzzzyzzzyzyxzzzzyz{zzzyzyyy{y{zzyzz{zzzzyyxyyyzyyz{{{zzyyyyzxyz{z{zzzyyzzyzyyzzzz{zzzzzzz{yzzz{z{yyzzzyzzzx{zzzz{z{z{yzyyyzyyz|zzzz{zzyzyzyzyzzzzz{z{{yzzzyzzz{{zz{zz{yzyzyyz{{z{yz{z{yzyzzzyzz|z{{z{yz{zzyzzz{z{z{{|{zzzyyyzz{{{zz{zzzy{zzzz{|{zz{{{{z|zz{zz{{z{zz{{{{z{yzzzz{{zz{{zzzz{zzzz|z{{z{z{zzzzyzyz{{z{{{|{z|zzzzzzz{{{{{{|zzzy{zyzz{{zz{zzzzzyzzyzz{zzz{{{zzyzzyyyz{zzy{z{yzyyyzyyzz{zz{y{zzzzyyyyz{zzz{z{yzzyxyyzzz{z{{{{zyzyyzyyz{yzzz{zzyzyxyzyyyz{zzy{yyzyyyzyyzzzzz{zyyzzyzyyyzzz{z{zzyyyzzyzzyyzz{zzzyyyyyyzxzzzyz{zyxyyyzxyz{zyzyzzyzyyyzyyyzzz{zz{yzzzzyyyyz{yz{{z{yyzzyyzyzzyyzy{zyz{yzyyzzzzz{{{zzzyzyyy{zzzyzzzyxyyzyzzz{z{zzz|zzzzzzzyz{zzz{{{zzy{zyzzyzzzz{{yzzzzzz{zyz{yz|{y{zzzzzzz{{z{zz{zzzzyzzzzzzz{{|{{{|zzzz{zzzyz{z{|zzzzzyzy{z{{{z{{{zy{zzyz{{z{z|{{{zzzz{{z{{{{{{{z{yzzz{z{z|{{z|{{{yz{zz{zz{{{zz{z{z{zzzz{{{y{||{|{{{{{zy{z{{|z{{|zzzyzzzzz{{{z|{|{zyyzzzyz{z{z{|zzzzzyzzz{{{z{y{{xzzyzyxyy|zxz{zzzzzyyxzyzzy{zz{zzyzyy{xxzzzzz|{{{yyzxyyyyzzyz{zzzzyyyzyzzzzzzzz{zyzyyzzyzzzzzzzzzzzyzyyyzz{zy{zzzyyyyyzyyzzzz{z{yzzyzyyyzzz{y{z{zyyyxyyzz{{zzzz{zyyzxyzyzzzy{z{zyzyzzyyyz{{zyzzyzzzyzyyzyzzz{{z{xyzzyzzzyyzzzz{zyzyyzyzyzzzz{z{{{yzzyzy{zz{{y{z{{yzyyyzzz{|z{zz{zz{yzzzzzzz{{|z{yz{yzyzzz{zz{{{{z{zyzzzzy{z{z|{z{y{y{zyz{y{|zz{z{zzz{zzzzzzz{z|{{zzzzzzzzz{{{z{{{zyzyzzzz||{|z{|zz{{zz{z{{z{z{{{{zzzzzz{z{{{{{{{{y{{zz{{{z{{{|{{{yy{zzzz{zz{{{z|zzzz{zzzzz{{{{z{z{zz{zzz{{zzz{{zzzzzz{xzz{{{z{zzyzz{zxyxyzyz{zzzyyzzyyyxyyzzz{z{zzzyyyyyzzzzzzz{yyzyzyzyzyzz{zzzyyzzyyzxz{z{yz{zyzyyyyyyyz{zyzz{zyzyzyzyzyzyyzzzzzzy{yyyzyyzzyyzyzzyyyyyzzyzxyzzzzyzyzyyzzzzzyzzyzzxyyyz{z{yzzz{zz{yyzyyyz{zzzzzyyzyxyxyzzyzz{zzzzyyzyxyzz{yzzzzyyzyz{zzyzyzzz{{yyzyyyzyz{{zz{{{zyzyzyzy{{{z{{{zzzzzyzyzzzzzz{zzzzzzyyxyzzzzzz{{zzzzzzyyz{zzzz{zzzzzzyzz{z{zz{{z{zzyzzy{zz{{{{{{zzzzzzzz{{{{zz|{zyz{zzzzzz{{|{{{|yyzyzzzz{{{z{{{zzzyz{y{{{y{{{{||z{{{{z{{|{||{z{{zzzzz{z{{{{{|{{{zzz{zz{zz{z{{{|{zzzzzzz{zz{z{{|zzzzzzz{{z{|{{{{{{zzzzyzz{zzzzz{yyz{{yzzzzzz{zyzzzzzxzzyzz{yy{z{zyzzzxxzzyzzz{{{yzyyzyzzzy{{{{{{zyyz{xzyzzz{z{|zzyyzxzzzzz{zzzzzzx{yyzxxz{zzz|z{zzzzzyyzzy{z{{zzzzzzzzzz{zzzyzzzyyzyyyyzzy{{yzzzzzyyxyyyy{z{zz{zzzzzzyyyyzzzz{|{zzzzzyyyzyzzz{{zzzyyzzyyz{zzzzz{zyzy{zzyz{{{{zz{zzzyzyyzzzzz{z{zzzzyyzyz{zzz{yz{zzzy{yyy{y{zz{zzzz{y{yzzz{zz{{zzz{yyz{z{zzz{zz{{zz{zzyyz{zz{z{{{z|zz{{zzz{{{{{|zzzzzzy{{{{z{||{{zyzzzzyyz|z{{{|z{zzz{yyz{||{{||{{{{{{zzzzz{{{{z|{zzzzz{zz{{{||{{{{z{zzzz|{{|{|z{{yyzz{{zz{{|{|{{{{zz{zy{{zz{{{{{z{zzzz{{{{{{z{|zzy{zyzzzz{{{z{zzzzyzzxzzz{{zzzzzzyyzzzyyyzzzzyzzyzyzzyxyzzz{zzzzzyyyyzyxyzzz{{{zzyzzzyyzzz{{{z{{zzyyyyyzzzz{yzy{{yzzzzzyzzzzzz{yzxzzzyzzyyzyx{zyyyyyyzyyzyzyyzzzzyyyzyzyyyzzzzzyyyzyyyxyz{{zzzz{yyzyyyyyzzyyzzzzzzyyzyzyyzzzzzyzyzyyyyzyzzz{yzzzyyyzyzxyyy{{zzzzyzzzyxzyyz{{{{z{zzzzyyyyyzzzz{{{yy{zzxzzzz{z{zzz{yyyzyzyzz{yyzzzzzzzzzzyz{zzzz|{zyzyzzyzzzzz{zzzzyzzzy{yzz{{{{{zyz{zzyzz{{zzzzz{zzzzzyzzzz{{z{{yzyzz{zzz{{{z{z{{{{zyzz{zzzz{{|{{|{zzzz{zz{z{|{{zzyyzzzzy|{{{{{{|{yzzyzyz{{{{{{{{z{yzzzzz{z{{{{{|yzzyzzzz{zz{|{z{zzyzyzz{z{zzzz{zzyzzyzzzzz{z{zz{yzzzyyyyzzzzzzy{yzyzyyyzzzyzzzz{zzzyzyzzzzz{{yz{yyzzyyzyzzzzyzzzyzzxzzzyzzzzzzz{zzzyzzzz{zzyz{zzzzzxzyyyyzzzyzzzzyyyxyyzyyzzzzzzzyzyxyyzxzy{yzyzzyzzyyzzyz{{{yzzyzyyyzyyzyz{zz{zyxzzyyyyz{zzz{zzz{zyzyxyyzzyz{zzzzyzzzyyzzzzzz{{zyyyzzyz{{zzzz{{{yyzyzzzzzzzz{{zyzyzyzzy{y|zzz|zyz{zzzzzz{{{{z|{zyzyyyyy{z{zzz{zzyzzyyzzz{zz{z{|zzy{yzzz{zz{{z{{z{zy|zz{{{zz{{z{zzzzzzzyz{{{{{z{|yzzzz{{{|{zz{{{zzz{{{{z{|zz{{zz{zzzzzzzz{{{{|{{zy{y{zz{z{|{{{|{{z{z{zyz|{zz{{|{{{{zzzzzz{{{z{|{zzzxzyzz{{z{{{z{{zz{zy{z{z{{{zzzzyzzzzzzzzz{z{y{yyyyyxyyzzy{zyz{zyyyyyyxz{yzyz{zzzzxxyzzzzz{z{{{zzyyxyyyzyzzzzzzyzwzxzzwzyz{y{{zyzzxzyzyyzzzyzyy{yzyzzzyyzyzz{zzyzyyyzxzyzzzzzyzyyyyzyyxzyyyyzzzzzyzxyyyyzz{z{zzzzzyyyyyyzzzyzzz{zyyzyzyyzyzzy{yxzyxyyyyzzyz{zyzzyyyyzzxyzzzzy{z{yyyzxyzzzzzz{z{zyzxyz{yzzz{{z{{zzyyyzxyzzzzzzz{zzyyzyzyzzzzz{{zzy{yzyzzzz{|z{{zzyyzzzzy{{zyxz{{zzyxzyyzz{{{{{z{zz{zzzy{zzz{{zz{zz{zzzzy{{{{zz{z{zzyzzzz{{{z{{z|zzzzz{zzzz{z{{{{{zzz{{yzzzz{{{{zzyzzyzyz{|{z{{z{zy{y{zzyz{z|{{zz{z{z{yz{zzzzz{{{zzzzz{zz{{{{{z{{z{yy{yyzzzzzz{{{zzzyzyyzzz{zz{{zyzyzzxyyzzzzyzzzzyyyxyzyzzzyyzzzzyyyzyyz{{zyzzzzyx{yyyxyyzyzzz{z{zyyyxzxzyzyyz{zyyzzyzxxyzzyyzzyzzyyyyyyy{zzyzzzzyyyyxyyyyzyyzzyyzyyyyyz{zzzyz{yzzyzyyyxyzzzzzzyyxzzyzyyzzxyzz{zzzyyxyyyyzyzzzy{zyzxzyzzyzzyyzyzyyyyy{zyyzzzz{{zyzzyzzyzzzzyzzz{zyzzyyzyzyyz{zzzz{yzyyzzz{yzzz{z{zzyzzyzz{zyzzz{zzzyyzzz{{{yy{{{zzzzyz{yzzzzz|{yzz{yyzyyyz{{{z{{yzz{zzzyzzz{{z{{zyzzzyzyz{{{zz{zzzyzzzyz{z{{z|z{zyyzz{zzz|zzz{{z{yzz{zzzz{{yz|zz{z{{zz{zzz{{{z{zzy{zzyyz{z{z{{{{{zzzzzzzz{{{{{z{zzzzy{yzz{zz{z{{{zzzzzzzz{{{z{{{zzzzzyyzzzzzz{zyyyyxyzxxyzzz{{zzzyyyzyyyzyzz{{z{zzzzzyzyzzzzz{{{zyyyyyyzyzz{zy{zzzzxyyzzzyzzzzz{yyyyxxyyy{zzz{{zzyzyyyzyzyzzyyzzzyzyyyzxzyzyyzzzyyyzzyyxzzzzzzzyzyyyyyyy{zyyzyzzzzyzyzyxzzyzzzz{zyzzzxzyzy{yzzzzyyzyzyyzx{zz{zzz{zyyyzyyzy{zy{{{{yyy{yzzzzzzy{{{{zzyzyyzzzzz{{{{zyyyzzyzzzzz|zzz{zz{zzyzz{zzz{zzyxzzzyzyy{{{z{{{zyyzyz{z{zzzz{zzzyzzzzyzz{{z{|z{zzzzzzzz{z{{zz{{z{{zzyy{zz|z{{{zzzzzzyzz{{|{z{{{z{zyz{zzzzzz{z{zzyz{zzzzz{{{{z{zzzzzzyzy{zzz{{{{z{zzzz{zzz{z{z{zz{zzzzz{{{z{z{{{zzzyzz{zz{{|z{{z{{zzzyzyzzz{zzzzzzzyzzyzzzz{zzyzyzzyzzyyzzzz{zzzzyy{xyzyzzzzzz{zzzyyyyzzzzzzzzzzyyyyyyzyyzzzyz{zzyyxxzyyz{y{zz{|yzzyyyzxzzyzz{{yzyzzzyyyzzzzzz{zzzyyzyyyyyyzy{zzzyyyyxyyzy{yz{{yzyyyyzz{zzzzzzzzyyzyxyxyzz{zzz{{zzzyyyyyxyzzz{zyzzyyyxzzzyyzzyzzyyzzy{yyy{z{zzzzzzzyzyyzzzzz{z|zyyzzzy{z{zzyz{{{yy{yyyzzyzzz{zz{zzzzzzzzz|y{z{{zzyzz{zyzzz{{{z{{zyzyyzyy{{{zz{{zyzz{zyzyzzz{z{{{zzyzzzzz|z{{z{{{zzzzzyyyz{{z{{{{{yz{yyzz{{{{|{|{{zzzz{{{z{|{|{z{zyzzzzzz{{z{{||{{yyzzzzzz{{{zz{{zzzzzzzz{zzz{{|{z{yzzzyzz{z|z{{{zz{zzz{z{zz{{{|{{yz{{zzzy{{{{z{zyz{zzyyzz{zzy{zzyzyyyyyyz{zzzzzzy|yyyyxyzyzzzz|{zzzyyxyy{zy{{yz{zyyyxyzzyy{{y{zz{zzxxxzyzz{zzzz{zyzzyyzyz{zzzz{zzyzxyzyzzzz{zyz{zzyyzyyxyzy{z{yzy{zxyzzzzz{zyz{{zyyyyyxzzzzzzzzzzzzzxzyzz{z{zy{zzyzyyxyz{zyyzzzz{zy{yyyyyzyzy{z{zzyzzyyyzzzzz{|zzyyxzzzyz{zz{{{{yyzzzz{zz{zzz{{{z{{yyxz{zzzzz{{{zzzyz{{zz{{z{{{{yyzzzzzy{{|zy{{{zzyzzzyzzz{zzzz{zzz{zyyz{z|{{z{{yzzy{zzz{zz{{z{{{yz{zyyzz|{z{{{z{zyzzz{z{{{{{{{zzzzz{zzzz{{|zz|{{zyzzyzy{|{{{|{|z{yzzz{z{{{{{{zz{yzyz{{z{{{zz{{{{zy{zzzz{{y{{{z{zzzyzzzzz{z{zz{{zz{zzz{y{{z{z{{{zzzzyzyyz{zzzzz{yxyzyzyyy{yz{zzzyzyyyyyzyzzzz{zzzyzyyyzyyzzz{z{zzyzzzyzyz{zz{zz{zy{yzzyyzzzzzzz{zzyzzzyxzzyzyzzzzzzyzyyz{z{zyzz{yzzyyzxzy{z{yzzzzzzzzyyyzzyzzz{zyyyyxyxz{zzyzzzy{zzyyyyzzzz{zz{zyyzzyyzzzzzyzzzzzzyzzyyxyzzy{{{zzyzzyzyzzz{{y{zz{yzyyyzyzz{zzz{zzzzyyzzzzzz{|{{{yyzyyzyy{{{zz{{zzzzzyyyzzz|z{{zzyzyyzzyyzzz{z{|zzzzzz{zyz{{{z{{zzzzzyzy{zz{y{{{{zzz{zz{z{{z{z{}{zzzzzzzy{{|z{{{z{zzz{zy{z{{z{{z{yzzz{{zzzzzy{{|{{z{{z{zzz{{{{{{{{zzzzzzy{z{{{{{z{{zzzzy{z{{{{z|{z{zzz{zz{{z{|{{{z{zzzzy{z{{{z{{zzyyzyyyy{z{{zz{{yzzyzyzyzz{yz{zzxyxyzyyyz{yy{zzyyzyyyxzyyyzy{zzzzy{zzzyz{zzzzz{{zyyzzyxyzzz{yz|zyyyzyyzyyzzzy{zzzy{yyzyyyzyyzzzzzyyyyyyyzzz{zzzyyyzzyzzyzzzzzzzzyyyyyyyyyyzzzzzzzyxzyyxzzzzzyy{{zzyyzyxyyzzy{zyzzz{yyyyy{{zyzzyzzzzyyzyyy{z{yzzzyyyzyzyxzzzz{zzyyzzzzyyzzzzyzz{zzyzzyxyyy{zz{{zzyzzzzyyyzzz{z{{zzzzzyyz{zzzzzzz{zzzyyzzyzz{z{{{zzzyzzyy{zz{{{z{{zzzyzzy{zzz{zzz{zzyzzyzz{{zz{{{{zzy{zyzyz{{z{z{{{zzyzz{zzz{z{z{{zyz{y{{z{{y{z{{{zzzyzz{z{{{y{{{{zzzz{zzzzz{zz{{{zzzyzzyzz{{{{z{|{{zzzzy{y{{{{|{{{zzyyzzzzz{zz{{{{zzyzyzz{zz{{z{z{yzzxzzy{z{zz{yzyyzzzzzyzzzzzzzzyzzzzyzyzzzzzz{zzzzyz|yyzyzz{z{zzyzzyzyyzzy{{zzzyyyyyyzyzzzzy{z{zyzxzxyxyzyzzz{yzzyyyyxyzzzz{{zzzyzyyzyy{y{yzz{zzzyyzzzzzyz{zzzyzyyyyyxyy{zy{zz{{zyzzyyxyzzzz{{{yyzyyyyzyzyyzzyzyyyzzyyzyzzzyzz{yyyzyyxyzzzzzy{zzyyyyyzyz{zz{zyzzzzyyyzy{{zy{{{zz{zyzyyyz{z{{z{z{y{{yzzzz{zz{zz{{z{yzzyyzzz{{{{{yzzzzyyzz{{zz{{{z{yzzzzz{z{y{{z{zzzzzzy{z{z{z{{{zzz{z{zzz{{z{{|{{zzzzz|{{{{{y{{{zyzzz{zzzz{{zz{zzz{yzzzzz{{{{|{{{zzzz{yz{zz{{z{z{zyzzzzz{z{zz{{{{zz{zzy{zzz|{{z{zzzyzzz{z{z{{{{z{{{yzzyzzzzzz{zzyz{zz{yzyyzz{zzzyyzyyxyzzzzyzzz{{zzyzyyzz{zzzzz{zzzxzzyzzzzzz{zz{yzyyyyyzzzyzzz{zzzyxzyzyzz{zzz{yyzyzyyyyyzzyzz{zzyyzyyz{z{yyzzzzyyxyzyxzyzzyzzzxxzyyxyyzzzyyzzzzyyyyzyyz{zy{{{yzzzzyzyyyzzzz{yzzzzyzy{yxzxy{zz{zzzzzyzyy{y{z{|zzzzzyyyyz{zzzz{zzyzzzy{zz{zzzyzzzzyzyyz{zzzzzz{zzzyzyzzzzz{zzzzz{zzy{yzzzyyz{z{zzz{yyzyzzz{{zzzzzzyzyyyy{z{zzz{z{zyzyyzyzz{z|{|{z{zzy{{y|{z|{{{{{yzz{yz{{{{{{{{zzyzz{zzyz{{zz{{{zy{yz{{{z{z{{{z|{yzy{{z{{|{z||{{{{zzyz|zz{|{{{{zzxzyzzz{{zz{{{|{{y{zzzy{z{{{{{{{{zzyzzz{z{zz{{|{{{zzyzzy{{{{zz{{{yzyzyzzzy{{yzyzyyzxxxzyxzzz{zzzzyyzyyzyzzzyzzzzzyzyyyyyzzzzzz{zyyyyyyyyyzzyyzzzzyyyyzzyyzzz{zy{yyyzyyyyzyzzy{{yyyzzyzyy{zzzzyzzyyyyzzyyzyzzz{zzyyyyyyzyzzyzzyzzyyzzxyzyy{zzzzzzzyyyyzzyyyzzzz{zzyyyyzyyxyyzyzzzyzzxyzzyyzyyyz{{yyzyyzxzzyyzzz{{zzzzyyyzzz{yzxzzyzzyyzzzzyzz{{zzyzzzyyyzzzzz{zzzzyyyzyzzz{{{zzz{zzzyyyyzzzz{zz{{zzzzzyyyzz{{{{z{zzyy{zzyzzzzzz|{yy{zzzzz{zz|z{{{zzyzzzyz{z{|z{{zzzzz{{zz{{{{zz{{z{zzzzzzyzzz|{{|{zz{z{zyz{z{{{|{{yzzzyzz|zz{{{z{{zzzzzy{{z{{{{z{{{y{{zyz{z{{z{{{y{zyyy{zz{z{z{{z{{yzyyz{{{zzzy{z{yz{yxzz{yzzzz{zyyzyyyyyyzzzzy{yyyyyyyyzzz{yzz{z{zyyyzzyzzyyzzzyzxzxzxyyzyzyzz{yzyyyxzyyyyzzzyz|yzyyyyzyyyzyzzyzyyzxyyzzzzyyyzzzyyzxxyyyyy{zyyzyzzyyyyxzzyzyyyzzyyyyyzyzzzzzzz{zyzzzyxyyyz{zzyzyyyyzzyzyyzzzzzyzzyzxzxyxzzyzz{z{{zzyzzyyzzz{zz{z{yyyyxyyyzz{zyzzyxyyxyyzz{zzzzzzzzyzyyzzy{|zz{{z{yyyyyyzyzzz{{zzzyyzyyyyz{zzy{{zzzyzyyyzz{|{zzzzzzyz{yyz{{{{{z{zyzyyzzyz{zzz{z{{zzyyxzyyz{{zz{{{zyz{z{zz{{zz{z{{zzzzzy{{z{{{z{{{zzzzz{zyz{zz{{{zzyz{z{z{z{z{{{zy{zzzyzzyz{zzy{{{z{yzzzzyy{z{zz{zzzzzzzzz{{zz{{{{y{yzzzyyyy{zzzzz{zyyyzzyyyz{y{zyyzyyyyzyz{zyyy{zyzyyyxzzzzzz{{zzzzzxyzyy{zyzzzz{zyyyyyyyzz{zyy{zyyyyyyzyzzzzzyzzyzzyxyzyz{yzyz{yyxyzyyyyyzyzzzz{zyzzzyzyyzzzyyzzyzxyyyyyyyz{zzzzyyyzxyzxyzy{zzzzyzy{yyzyyzyyzy{zyyzyyyyyy{zyzz{zzzyxyyyyyzyzy{zzyzzyzzzyzzz{z{{{yyyz{xyyzzz{zyyzzyyzyy{zzzzzzzzzyzzyzyyy{zzzzzz{yz{z{yzyzzz{zzzzyzzzyzzzzzzzzz{zzyzzzzzz{{zzz{{{zyz{zzzz{z{|{{{zyz{yz{z{z{{{y||{{zyzzzz{yz{zz|{{zyzy{{{{z{zzzz|{zzzyyz{z{z{z{{{||{zzzzzz{{|z{{{{{zzzzzzy{{{zz{{zzzzzz{{zz{{zz{{{{zzzzzzz{|z{zzzzzzzyz{yz{{{{z{z{z{yzyzzyzz{{zz{{zzzyyzyz|y{z{zy{y{yxxzzzyyzyyzzzzyyxyyyyzzzzz{zyyyyyyzyz{yyzzzzzzzzyyyyzyzzyyyzzyzyyxyyz{zzzzzzzyyzzzyyyyz{zyy{zzzzxyzzyzyyyyzzzyyzxyyyyyyzzzyyzyyxyzzyyyyzzzzzzyyyyyyyyz{zyyyzzyzzyyyzyzyzzzzzyzyyzyyyxz{yx{zyyyzyxzxzyyzzzyzz{zyzyzyyyzz|{yzz{zyzyyyyzy{z{{z{{zy{xyzzzzzzzz{z{yzzyzzzzzzyzz{{zzzzyyxzyyz{z{{zzyzyyzzyz{{{{zzzz{yyyzyzyz{{zy{y{zzyzzzzzzzzzz{zz{yyzz{zz{zz{yyz|zzzzz{yyz{zz{zz{zyzzzzzz{{{z{{{|zyzzz{zzzz{{{{y{zzyzzzyzz|{z{{{zzzzy{yzzz{z{{{{|zyzzzzzz{zz{z{z|zzzzyzz{{zzzz{{{zzzzzzz{yzzz{{z{zzyyzzzyyz{zzzzzz{yyyyyy{yzzzz{{xyzyyyzxyzzy{{zzzzyzyxyyzzyxzzzzzyyyyzyzzyyyyzzyyzyzzxzzzzzzzyz{yyzxyzyyyzzyzzz{zyyyyyzyyyzyyzzzzzyyyzyyzy{yy{zzyyzyyzyyzyzzyzzzyyxxyyyyzyyyyyzyyyzyxxzyzyzzz{yyyyyzyyyyzyyzzyz{zzxyyyyyyyzyy{yyzzyyyyyyz{z{yzyzyyzyyzzyyzzz{{z{zzxyyyzzzz{yzzzzyzzyzzzzzyzzzzz{yzzzyyzz{zyz{zzzzzyyzxzzyzzzz{zz{zzzzzzyzzzzzzzzyzzyzyzz{{zz{{{zzzzzzzzzzz{z{{zzzzxzz{z{{yz{zz{{zzzzzzyzzzz{{{{zzzyzxz{z{{{{{{{{z{zzzz{z{{zz{{z{zyz{z{zyz|{{{{{{{zzzzzzzzz{zz{{{zyyzzzzzz{zzz{{{{zzyz{z{{zz{z|{{z{zzzzyzzzzzzz{{zzzzyzyyy{zzz{{{{y{zyxzy{zzyzyyzyzyyyxyyzzyyzz{zyzzzzyyyz{{zz{{zyzzzyyzyzzzyz{{{zzzzzyzyyzzzyyz{{zyyyyyz{{zz{{z{zyzzzyyyzzyzzzzzzzzyyyyyzzyyyz|zzyyyyyzzzzzzzzzzyyyzyyzyzy{zyzzzyyyyxzyyzyzzzy{zyyzyxzyyzzyz{{zzzyyyzzxzyzyyzzyzzyzyyyyyzzzzzzzzzyyyzyyyzzz{zzz{zyzyzzzzzzzz{z{{zz{zxyyyzzzzz{z{{yzyzzyz{zzzz{{{zyyyyyzzyz{zz{|{yyzyyzzzzzzyz{zzzzz{zyzzzzzzzz{y{{{yzzyzzz{{{{{zzz{zz{zz{{z|{{z{z{{{{{yzz{zzzz|{zyzz{zyz{|{{{z{{zzz{zz{zz{zzz|{{{zz{yzzzz||{{{z|{zzzzyzzzz{{{{{{{y{z{zzy|zy|{z{{{{yzzzzy{{z{|{{{{zzy{zzy{{z{zz{zzyzzzzzyzz{z{{{{zzzzzzzyyyzzzzyzzyyzyzyyyzzz{zz{zyzzyzzyz{zz{{z{zzyzzyyyzzzzzz|zzzyyyzxxzzz{yzyzzzzyyyz{zzy{{{zyyzzxyyyyz{zyz{zyzzyzyyyzzzzzzzzyzyyyyzzzy{zzzzz{yzyzzyzyz{z{zyzzzzyyyyyyzzzz{zzzzzyz{yyyz{zyz{{{zzzxyzzy{zzyzzyzyzyzzy{yyzzzy|{zzyzzzzyyzzzzyz{zzyyzyzzyyzzzz{{{zzzyyzzzzzzzy{z{zy{yyzzyz{{z{{zzzzzzzyyzz{zzz{{yyzzzzzzzzy{z{z{{zyyzyyzz{z|yzz{zzzzzzzyzz{z{{{z{zz{zzzzzz{z{z|{{{zzzzyyy{{{{{z|z{yyzzzzy{z{{{|{{z{z{z{zzz{{{z{{{{z{z{zzzz|{{{{||zzy{zzz{z{z{{{{{{zyz{zz{{z{z{{{{{zzz{zzz{{{{{{{|zzzzzzzzz||zzz{{{yyyzyz{zz{{{{zzzzzyyyzzzzzzz{yz{xzyyyyyyzyyzzz{yyyyyyyxyyzzzz{zzyxyyzyyzzzyzyz{zxxzz{xyzzzzz{y{yyzyyyyyzzz{zz{{yyyyyyzyx{zzzzzyzyyyyzzz{yzyz{zzzyyyyyyyyyzyzzzzzxyyzyyyzzzzzzzzzyyyyyyyyzzzzyzyzyzzyyyyyyyzzz{zzzyyxyyxzzzyyyzzxyyyyyzyyzzzzzzzzyzyyzzyzyzzz{zzyzyyzyyxy{zzzzz{yzzzxyzzz{z{zzzzyyzyyzzzzyzz{zzzzzz{zyyy{yz{zzzzzxyyzzyzy{zzz{{zzyyyyzzzzz{zzzz{zzzyyzzzz{{z{{|{yzzzzy{z{z{z{z{{zyzzzzy{{z{{{{{zzzzzzzzz{{yzz{{{z{{yyzzzz{|zzz{{{zzzzzzzz{z{{z{{{zyzyzyz{z{zzz{{zzyz{zzz{{{z{z{{zzyz{yyzzzz{z{|{zzzzzyzzy{z{z{{zzyyyyz{{zzz|zzzzzzzzyzyy{zz{zzzzyzxyzxzyzzzyzzz{yyzyxyyyzyzzy{z{zyzyyxxyzzz{{zzzyyyyyyyyyz{zyz{{yzyyyyyyzzzzzzzzzyyyyzyyzyzxxzzzyzzyyyyxyzzzzz{yzz{yyzyzzyzyzzyzyzzyyyzyyzzyyzzzyzyyyzxzyzzzzyzzyzzyyyyyyzzzyzzyzzyyxxyyzzyyyzz{zyyxyyyyyyzyzz{zyyzzzyyyzzyzzz{{zyyyzxyxy{zyyzzzyyyzyzzyzyyy{{z{zzzyyyzyzzzzzzy{zxzzzxyyzzy{z{{zyzzzzyxzzzzz{z{{zyzzyxyyzyzzzzzz{zzyyyzy{yzzz{zzyzzzzz{z{zz{{{zzzzzzzyzz{zzzzz{z{zzz{{{yz|{{{{{{zzzz{{zzz{y{z{z{zzzzzzz{z|{|{{{zzz{zzyzz{|{zz{z{zzyzzzzyyzzz{{{{zzy{{zz{zz{yz{zz{yzzzz{zzzz{z{{zzzyz{yzzy{zzz{z{zyzyyyyz{zz{yzyyzzzyxxyzy{zz{zz{zzyyyyyzzzzyzzyzzyzzyyzyzyyzzzzzzy{yzyyyyz{zzxzzzzyyzyyyy{zzzzzzzyxyyyyxzyyxy{yzyzzzyzyyyyzyyz{yzyzyyyyyzyyzyzzyyyxzyyyyzzzy{yyzyyxyyyzyyzzzzyzzzxzzyzyyzyz{zzzzzzyyyyyyzyzzy{yzzyyxyzzyyzzz{yzzyyyyzyyxzy{zyzzzzzyyzyyxy{zyyyzzyyyyyyzyzyz{zz{zyzzyyzzzzz{zz{zzyyzzzxyzyzzzzzzzzyyzz{zz{{zzzy{zzyzzyzxzzzzzzz{zzzzyyyzzz{z{{{{zzyyzzz{zz|z{{{{zzyzzyyyy{{{zzzzzzyzzzzzz{{zzyz{z|zzzz{{zzz{{z{{{{zz{z{zzz{{zzz||{zzzyzzz{z{{{z{{{zz{zzzzzzyz{{|{zzzzzz{yzz{{zz{{{zyyzzzy{zy{yz{zyzzzzzyzyz{z{{{{zyzzyzzxzyzzzzzzzzyzyyyxy{zzzy{{zzzyxzyzzzyz{{{yyzzxzyzyzzyzz{zyzxyyyyyyyzyzzzzz{yzyxyzzzyyzzyzzyzzxyyyyyzzzyyzyzyyzyzxzzzzyyzyzyyzyzyyyyzzyzzzzyxzyyyyyz{zzz{{zyzyyyyzyyzzy{z{zyyzyyyzyyzyzzyzzyxyxzxywyzzzy{yz{yyyyyzxyzyzyzzzzzyyzyzyy{{{zz{zyyyyyyxyy{zzzz{zyyyyyyyyzzz{z{y{zzyzxyxy{zzzzz{zyyz{yyyxyzy{zzzzzxyzzyyzz{{{zz{{zzzz{zyzz|z{y{{z{zyzzyzz{zzzzzzzyz{yzyzzzzz{{{{|zzzzzzyyzz{z{z{{{zyzzzzzz{zz{{{zyzzyzyz{z{{z{{{|zzyyyz{z{{|{zy{{{zz{z{zz{{z{zz|zzzzyzzyzz{zz{z{{zzzzzz{{{{{{{{{{zzyzyzyzy{zz|{{{{zyzyyyyyz{zzzzzyyzzzzyyzz{{z{zyyyxyyyzyy{zyz{{zyzzzzyyyzzyyyzzzzzyxyzyyzy{yzyz{yyyyzyzyzzz{yzzzzzyyxyyyzzyzzzyzy{zzxyzyyyzzzz{yzyyyyyyzzzyyzzzyyzzyyxxyzzzzzyzyyxyzzyyxyy{yzzzzyyyyyyyyzyyzzyyzyyyyyyyxzyzzzzz{zyxzzyzyxzyyx{yzxzyyzyxyzzyzyzz{yyzzyyzyz{z{zzzzzyzyzyzyyz{zz{zyyzzzxxzyzzy{zzzzzzxyyyy{zz{z{z{{yyyzzyyyzzzzzz{{{yzzzzyyyyzzyzzzyxzyzyzyzz{yy{{zzzyy{{yyzzz{zzzzzzzyyyzyzzzz{{{{zzyzzyyz{z{z{{{zzzzyzyzyzyzxzz{|zxyzyzzz|{{zz{{{|zzzzzzyy|z{{z|{zzzzzzzyz{zz{{{{zxzyzzyzz{z{{|{{{zzz{yzz{z{{z{{|z{zzyzz{z{{z{z{{zzyyyyyyz{{{zzzzzzzzzyyyz{zzzzzzzxyzxyxxzzyzyz{zyzzyzyyy{zzzz{zzy{zzxzyxzyy{z{{{zxzyyzyzzzz{yyzz{zyxxxyyzzzyzzyzzyzxyyzxyzzzz{{zzzyyyzyyyzyzyzyzyzzyxzyyzzyyyzzzxyyyxyyyzzzyzzyyyyzyyyyzyyzyzz{zzzxzyyzyyzz{yyzyzyzyxxxzyyzzzzzzyxyyxyyzyyyzy{zyyyzyzyyyzzzz{yzzzzyyyyzzzzzzzzzzzyzzyyyzzzyzzzyzyzzxzzyyzz{{zzzzzyyyyyyzzzzyzzzyzyzyzyyzyy{{z{zz{zyzyzyzzy{zy{zyzzzzzy{zzzz{{{zzyyzyyyzyzzz{y{{{zyzzyxyyzzz{{z{z{{yzzzzzy{{{z{{|{zxzyzz{z{{z{z|{{zzzy{zzy{z{{{{z{zzyyyzz{{z{{{{{zzzzzz{zz{zz{{{|{yyzzzzz{y{zz{z{zyzyzzyzz{{z{z{zzyyzyzyzyzzzz{{{zyzyyyyyzzzyy{yzyyxyyzzyyzzyzzzyzyyzyyyyzyz{zy|zzyyyyzyx{yyzyzz{yyyzyyyyy{zzzzzzzyzz{yyxzzzyyzzzyyzyyzzyyzzzzz{yzyxyyxxyzzyyxyzzzyyyyyyyzzyzyz{zyyxzyxxyyzzzzzzzzyzyyyyyyzzyzzzzzzzyyxyyyzzzzyzyyyyzzyyyzyyzyyz{zyyyyyyyyzyyyzzzzyyzyyyyz{zzzzz{yyyyzyzyzzzyyzzyyyyzzyzyzz{zzz{zzzzyyyyzyzzzzz{yzyyzzyyyzzzyz{zyzzzyzyxyz{zzyz{zzzzyzzxzzzzzzzz{zyyyzzzy{zzzzz{{zzyzyyzz{zzz{{{{yyyzzyyyz{{zz{{y{zyzzy{z{zz{{z{{zzzyzy{{zz{z{{{{{zyzz{zzy{z{{{{{zyzzyzyy{yz{{zzzzyzyzzzzzz{z{z{|z{zzzzzzzzy|yz{{yzzyyzzyzzzz{{zzzzzyyzyyyzzzyzzzzzzzyyzyyz{zyyzyzyxzyxyyyyzyzyzzxxyyzyzzyyyzzzzyxyyxyyyyzyzz{z{zzyyxzyyyyzy{zyy{zyzzyyyyyzyzzzzyyyzyyyyyzzyzy{{yyxzyyyxyyyzzyzzzzzyyxyyyzzyzzyzzyxyxyyyzyyzyzzzyyxyyyyyy{yzzzyzyzyyzyxyyyz{zzz{yzyyyyyyxzyyyyzyzyzyyzzyyzzz{y{zzyyyyyyzyzyyzzzzzyy{yzyyxzzzyzzzzyzzyzzyyzzzyzz{zyyzzyyzxz{zzzz{zzzyyyyyyzzzzzzzyzyyzyyyzzz{yzz{zzzyzzyy{yzyyyz{zyyzzyyyyyzz{zzz{zzzzyyz{{{z|zzzzzzyzzyy{{zzzz{{{zyzzzyzzz|zzz{|zzzzzzy{zz{zzz{{zzzyzzzzz{|{z{{|{{zyzzzzz{z{zzzzz{zz{zzyy{{y{{zz{{yz{zyyy{z{z{{{z{z{yzyzzzz{{z{{{{{zyyzzyzzyzzz|zzyzyyxzyyzzyzzzyxyyyzzyyyzz{zzz{yzzyzyzyyzzyzzz{zzzyzyzyzzzzzzzz{yyyyyyzzzzzzzzzy{yyxyzyz{zzxzz{yzzxyyyyyzzzzzzzzyzzyyzyzyy{yzzzyzyxyyyyzyzyzzz{zyyyzzzyzyxzzz{{zzzyyyyywyzzzzyzyyyyyyyzzzzyyy{{zzzyzyzyzzzxzzz{yzyxxyyyy{zyzzz{zzzyzyzyzzzz{zz{zzyzyzyy{zzzz{{{zzzzzyzzz{{zzz{zzzyzyyyzz{{z{zzzzy{yzyzyyz{{z{{yzz{yzyyyzzz{{{{zzyzzyzzzzzzzz{z{zzzz{zzy{{{{{{|{yy{yyzz{zzz{yz{{zyzzzyy{z{{z{z|zzy{zyzzz{|{zz{z{z{{yzz|zyzzz}{{{{zzzzz{{y{{{{z|z{zzzyzzy{z|{{z{{zzzzzzzzzz|z{z{|{zzyzzy|z{z{{||{zzzzz{zzz{z{zz|zzzy{zzzy{{zzz{{zy{{yyzyy{z{zzzzyzyyzyyyyz{yzzyz{yzyyxyyyyz{zz{{{z{yyzyyz{z{zyzzzyzzyyzyyyzzzzz{{zyyxyyyxzyzzy{zyzyyxyyyyyzzyy{zyzzyyyxzyyyzzy{yyzzyyyxyxzyzzyyz{zzxyzyyyyyyyyzzzzyyyyyxzzzzyyzzyzyxyyyzyzyzzzzz{zyyyyyyzzzyzzzz{yzyxyyxyyzzzyzzzzyz{yyyyzzzzz{{zyyxyzzzzyzzzzzyzzzzyyyzyzzzyz{z{zyzyyzyzyzzzzz{{yyzzzyzyzzzzyz{{{zyyyyzyz{zzzz{zzzz{zzzzz{{zzz{{{zzyzyyzzzz{zz{{yyzzzzzz{z{zz{{{z{zzzzzz{{{{zz{{zyzzzzzzz{z{{{{{{zy{zyzzz{zz{z{|{y{yzzzzz}{{zz{zzy{{yyz{{{{z{z{z{zzzzzzzzzz{{{|{{zyzzyy{{{z{{z{{zzzzy{zzz{z{{{{{z{zzyzzyz{z{z{|zzyzzyyzzzzzzz{zyzyzzyyzyyzzzzyyzyyyyxzyyzzzzzz{{yyyxzzyyzyzyyzzzyyyxyyyyyy{yzzzz{z{yyyzyzzzz{zzzyyzxyyyyxzzyyzzzyyyyzyyzyz{zyzzzyyzzyyyzzzyy{yzzyyyyyzyyz{zzx{{yyyyyx{xy{zzzzzzzzyzyzyyyyzzzzzzz{yzyyyyyy{yyzzzzyzyyyzyyzzz{z{{zzyzyzzyyz{zzz{{zzyyzzzyyzzzzzzz{zyzzyyyz{zyzzzzzyyzyyzyzzzzzzz{yzzzyzz{yzz{{z{zz{yyyxzyz{{zzzz{zzzzyzxyz{y{zz{z{y{zzzz{zzz{{{|{zyzzzzzzyzzzzz|z{zzzzzzzzzz{{zz{{zzzzzyzz{zzzz{{{zzzzzzzzzz{zz{{{zzzzzzzyz{{{{z{z{zyz{{zz|{zzzz{{zzzzzzzzyzz{z{{{{zzzzzzz{zz|{z{{zzzzzzzz{zzzz{{|zzyyyzzyzz|zzy|zzzyzyyyyzzzyzy{{zzxyyxyyzzzzzz{yyyzyyyyxzz{zyzz{yyyyzyyyzyz{zzz{zyyzxyzyyzzyyzzzyyzyyyyyzzzz{{yyzzzyyzzxyzzyx{yyyyxyyxyyzz{yy{zyzxxxyyyyyz{zyzyzyyzyyyyyyyyyyzzzyyzyyzyyyzzzzyzzzyzyyyzyzyzz{zzzzyyyyzyyxyyzyyyyzzyzzyyyzyzzzzzzzyzyyzyyzyzyzz{yzxyyyyyzz{zzzzzzzyzyyyyyzyy{yzzzyyzzyzyyyz{zzy{{zyzzzxzyzzzz{zy{zzyzyyzz{y{yz{{|yyyyzyzyz{zzy{{z{yzyzyyzz{{zz{{zzzyzz{zyzzz{z{z{z{zy{zyyz{z{{zzyzxzy{zzz{zzzzz{{{z{zz{z{y{{z{{{{|yzzzzy{z|zz|{{z{y{z{zzzzz{{z{{z{yy{zzzzzz{zz{{{{zzzzyy{{z{z|{{zzzzyyzzzz{z{z{zzzzy{zyzyz{{zz{{zyzzzzzyyzzzzzzzzxxxyxyzxyyzyzyzyzyyyyyyzyy{z{z{zzzxyyyzyzyzyzz{{zyyyzyyz{zyzyzy{zzzyyyxyzzzxzzz{zyyyzyyxzzzzyzzzyyxxxxyy{y{zzzzz{yyyyyxyzyyzzyz{yyyxyyyyyyzyyzzyyzyyyyyyyyyzzz{zzyzyyyyxyzzzzzzzyyyyzyyxzzyzzzzzyyyyyxyyzzzyyzz{yxzzzzyyzyyzyzzzzyyzzxyyyzzzyzz{zzzzyy{yzyzzzzz{zyyzyyzzzzzzy{{z{zyyyxzzz{zzz{zzyyyyyyyyz{{zzz{zyyyzyyyzzz{{z{{zyyyzzyzyz{z{zz{{zz{yzzzyzz{{zzz{zyyxyxzz{z{zzz{z{yzzzzzy{{{zz{{z{{zyy|{{z{{{{z{z{yz{zzzzz{z{{{{|zzzzzyzz{{{{zz{{{yyzyzzzz{zz{z{|zzzzz{z{zzz|z{z{{zzz{yyzz{z{zzy{zzyzzyyxzyz{zyzzzzzyyxyyzy{zyzyzzyyyyyyyz{zzxzzzxyyyyyzzxz{zzzz{yxxyyyyzzzzzyzzzyyyyyyyyxzzzyyzzyyzyyzyxyzzzyzy{yyyxzz{xzzzyzzzyzzyyyyxyzzzzyzzyzzyxyzzzyyyzy{yzxzyzyxyyzzyzzzyzxxyxyzxyzzyzzzzzzyyzyyyyyzzzzzzzyzyyyyyxzxyzzyyyzyyyyyzzyzyzzzzzyyyyzzyxzyzzz{zzyyyzzyyyz{zzzzz{zy{zyyyyzzyzz{zyz{yy{zyyzzzyzzzyzzzzzyyyzy{yz{zzyyzyz{zy{z{zyzzzyyzzyzzyyzzzz{zzzzyyzzz{zz{zzz{{yzzzyyzz{zz{z{|{zzzyyzyyzzz{zy{zzyzzzzyy{{z{z{{{{zzzyz{z{z{yzzz{zzyzzzzzy{|{zz{{zz{zzzyz{zz{zzz{{zzyzzyz{{zz{{{{zzzzzzyyzz{{{zz{z{yyyxzzzz{zyz{{zzzzzzyzy{zzz{|{zyzyzzyyyz{yz{yzzyyyyyyxy{zyyy{zyyyyyyyyzyzyzzzzyxzyyzzzzzyzzyzzzzyyzyyyyyzzyzzzzyzyyzyyyzyzzzzzyyyzyyyxyzyyzzzyyyxyyyyyyzzzy{{yzyyzyyxyyzzyyzzzxyyyyyyyyzyyzzzyyyyyyyxyxzzzzy{yyyyyxyxxzzyzzzzyzxwyzzyyyyzyzzzzyyyyyyyyyyyyyzzzyyzyx{zyzzzyyzyzzyyyyyzyyzyzzzzzzzyzzyyzzzyzz{zzyyyxyzyyzzzzyzyzyzzyzyzzy{z{{{yzyyyzzzyyzzzzzz{zzyzyxyzyz{zzyzzzzyzyyzzzzzz{zz{yzzzzzzyy{zz{z{{{zyzz{zyzz|{{|{z{{yyzzzyzzz{{{z{zzzzzz{yzz{zzz{{{{zzzyzyzz|{{zz{{zzzzz{zz{zzz|zz{{zy{zyzzz{zzz{{zz{zz{zzzz{zzzzz{{{yzyyzzzzz{z{{z{zzyyz{yz|zzzzzzzzzzxzyzyz{zyyyzyzxyyyxxyyzzzz{{zzyzyyyyzzyyyzyzyyyyyyzyzzzyzzzzzyyyzzyxzzz{zz{{yyzyyyyyzzzzxzzzzzyzyyyxyyzyy{zzzxyyyyyxzzyyyzzyzxyyyyxyyyzzzzzzyyxxyyyxyz{yyyzzyxxyxxzyzzyyz{zzyxyyyyyyxzzyzzz{zyyzzxyxyyyzzyzzzyyxyyxxzyzyyzz{zyyyyyyyzzzzzzzzzyzyyxyzy{zyyzyzyyzzyxyzzyz{yzyyyxyyyxyyzyz{z{zzyzzyzyxyz{zz{{{zzzzzyzzyyzzzzz{y{yyyyyyyzzyyzzzyzyzzzyzz{{{zz{z{yzzzzyzyzzzzz{{{yyyyzzzzz{zzz{{{zyzzzyzzzzz{z{{zzzz{zzzzy{zz{zz{z{zzzzyzz|z{z{|{{zz{zzyz{zzzz{z{zyy{z{zzz{z{zz{{zzzzzzzzz{zz{{{{yyxyzyzzz{z{zz{zzzzyxyyyzz{{{zy{zyzyzyyxzzyzyzzzzxyyyyzyyyzyzyzyyyzyyyyxyzzzz{zzyzzyxyyxzz{zzy{zyzxzzxyyzzz{yzyzyyzzyyyyyyzzzzz|yyxyyyzzyzzzzz{yzzzzyyyyzyzxyzzyzyzxyxxzzyyyzy{zzyyyyyyyyy{yzzzyzyxyxyxyyzyyyzzyyyyyzyyxyzyyy{zyyxyyyyzyzzzzyzyzzyyxyyxyyyzzxzyzyyzyzzyzyzzz{z{{zyyxzyyyyzzyzzzzyyyxzyzyyzzyzzzzyyyyzyzyzzz{zzzzyzzyyzzyy{{{{{yzzxzyyzyzzz{zyz|{z{zzzyyz{{zyzzzzzyyyzzzzz{y{{{z{zyzxzyzyz{{zz{z{{yzyyzyy{{{{z{zz{yyzyyyy{{zz{{{zzzzyzz{zz{zy{{{z{yzzz{y{zz|{{|{zzyzzzy{{{yzzz{zz{zzy{zyzzzzz{{{{zzzy{yzy{zz{zzzz{zzzzz{zz{zz{{{zzzzyxyyy{{z{y{yzyzzxz{xyzyzz{zyzzzyzzzyyyyzzzyzzyzyzyyyyzy{{{zz{yzzzxyyzzzzzzzzzzzyzzzyz{z{zyyz{xzzzxyyyzz{zy{z{zyzyyyyxyzzxyzzzzyzyyyzyyzzzyzzzyxyyxzyyzyyzzz{zzyyyyyyy{yyzzzzyyyyyyzyxzzzzzzzzzyzyyyyyyzzz|y{{zyyyzyzyzyzyzzzzyzyyxxyyyzyzzzz{yzzyyyyyyzzzzz{zzzyyzyzzzyzyyz{{zy{yyyzzzzz{zzzzyzzzyzzyzz{zzz{zzzzyyyzyz{zzz{zzzzzzyyyy{zzzzz{z{yyyzyzzzzzzzz{|{zzzzzy{zz{z{{{zzzzzyzzzzz{{z|{yzzyyyzyzzz{{{{{z{y{yzzzz{z{z{{z{zz{zyz{zzzz{{z{{zyyzzzzzz{z{z{z{zzz{zzzzzz{{z{{{{y{{zyzzzzzz{{{{{{{z{zzzyzzzz{{{z{zzzzzzzzz{zz{{|{yyyzzzzz{zzz{z{zyzzy{zyzzzz{zzzyxy{xyyyzzzzyzzzzyyyyxzy{yxz{{zyzzzzzzyzzyzyz{{{zyyyyyzyzzyzzz{zzyzyzxz{y{{zzzzzzzyzyyyzzzzy{zzzzxyyyxxzzzzz{zyzyyyxzxy{zyzyzyzyxyzyyyxzzzzzzzyzyzyyyyyyy{yzzz{{yyzyyyyzzzyzzzzyzyxyzzyyzz{{yy{zxyxyyxyy{zyzxyyxzyyyzzxzyzzzzzzyyyzzyyzz{zzyzz{yyyyyyyy{zyzzzzzyyzyyzyyyz{yzz{zzzyzyyyyy{zyz|{{yyzyzzyy{zz{z{{zzy{zzzyzzzzzyzzyzzzyyyzzz{{{z|z{zyzz{y{y{zzz{z|{yzzyy{zyz{{zzzz{{yy{zy{z{{{{zzz{yz{zz{z{z{{{{z{z{zzzz{yzz{{z|{{{zzzz{yzzzzz{{{{{zzzzzzyyz{{{{z{{zzyzzyzyz{{{y{z{zyzyyyzyyz{z{z{zzyyyyzzyz{zz{{{{zzzyyzzxzz{zzzzzyyzyyzyyxzzyyzzzzzzyyxxyyzzyy{z{zzzyyyyzzyzzz{zzyzzyyyyyyyzzzz{zyyyyyxyxzzzzy{x{yyzyzyxxy{zzzz|zyyyzyyyyyzzyyzzyzzzyxzyyyzyyzzyzyyzyzxzyyz{yzyzyzzyyyyyzzzyzzyzyyyzzzyyzxzz{yzzyyyzzyxzxzzyzzzyzyyyzyzzyyzzyy{z{yyzyzzyy{zzzzzzzzyzyyyyyyzzzzzz{zyzyyxzzzzz{zz{zyyzyyyyyzzzzzz{zzyyzzyzyyzz{zzy{zzzyzzxyzz{zzy{zyyyzzzzzz{zzzzzzz{zzzz{z{zz{{{{zzzz{zzy{|{zz{{{{zyyz{zyyyyzz{z{zzzyzyzzz{{z{|{{{zzzzz|zz{{z{{{z{{zzzz{zzz{zyzy{z{zz{zzzz{{|z{|{{{yyzzyyzz{{z{{|{{zyzzzy{{z{{{z{{{zzzzzzz{{zzz{{{zzy{zzzzzy{zzyzzzzzzyyzy{zzzzzzzyyzzxzx{zz{zyzzyzyyzyzzyzzzz{yz{{zzzyyzyzzzzz{zzzyxyzzyyzyzzzzyzzyyyyyzyzyzyyyy{zz{xzzyyzzzyzzzzyzzzyyzyyzzzzyzzzyzyyzzzzyzzzzzyyzzyxxyyyz{zyz{zyyxyyxyyzzzz{zzyzyyyyyyyyzzzzzzzyxyyxzyyzyyxzzzxyyyyxyzxyzyzyyyzyyyyyzxy{z{{y{zzzzyyzyzyzzyzz{zzyxyyzxyyzzzzzzzzzyyxxzzzyzzz{{zzzyyzyyzyyz{zzzz{zyzyyyyxyz{{zyz{zyzzzyzz{{zzz{z{zzyzzyzzzzzzz{z|zzyy{zzzzzz{{{z{yzzzyzzzzz{{{|zzzzzyzzzz{z{{{{{zzz{y{zzzz{z{|{zz{yzzyzzz{{z{{z{|z{{zzyzz{z{zy{{{{yyzyzz{{{zzz{{|zyy{zzyz{{z|{{{z{zzyzyzzz{{z{|{zzzzz{zyzzzz{z{{zzz{yyyyzzyzzz{yzzyxzyyyyyxzzyyzzzzxzyxzyzzzzzzzyyzxyyzzyzz{zzyzzzzzyyyyzxzzzzz{zyyyyxyzyzzzzz{y{yyxyyzyyy{yxzzzyzyyyxyyyyz{yzzz{zyxzyyyyyyzzzyyzzyzyzzxyz{zyyyzyyyyzyzxyzxzzzzzzyyxyyyyyyzz{zzzyzyzxzyyzzyzy{zyzyzyy{yzyzzzyyzzzzyzzzyzx{yz{zzzzzyzyyyyzzzzzyzy{yyyyyxzzyzy{zzz{yzzyyzyyzz{zzzzzzyzyzyzzz{zzz{zzzyzyzzyxzzzzyzzzzxyzzyzyzzyzzzzzyzzyzzzzz{z{{{yzy{zzyzzz{zz{{{zz{yzzzzyzzz{zz{zzzzz{zzzz{{{zz{z{zz{zzzyzzyzz{{{zzyzzxzz{zy{{{z{yzz{zzzz{z{{zz{zzzzxzzzyyyzzz{{z{zyz{{{yy{zz{z{zzzyzyzzyyzz{zyzzzyzyyz{zyyz{zz{zzzyyzzyzy{zzz{zzyyzzzyyyxzzzzyzzzyxyyyyxyyyzyz{{zyyzxzyyyyzzzzyzyzyyzyyxyy{z{zzzzyzyzyyyx{yyzzzz{yyyxyyzyyy{yyyzzyzyyzyyxyzzxyzz{zzyyxzyzyzz{zyzzzxyyyyxyyyxzyzyyyxzzyzyyzzzzyzzzyyzyxzyyz{zz{z{{yyzyxyxzxzyyzzy{zzxyyyyyyzzzzzz{yyzzzyzxzzy{zzyzzzyzyxyzz{{yzzzzyzzyyxyzzzyzzz{zyzyyzxyy{z{z{y{{zzzzzyyyzz{y{{{yyzyy{xyzyz{zz{zzzzz{yyyyzyyzzy{zyzzyzyyz{zz{{{zzzyzyzyzz{{yzz{{{zzyzzyzyz{{z{{{{zz{zzzzzz{z{{{{zzzzzzz{zz|zzzz{z{zy{zy{zz{|{{{z{y{zzyzzz{z{zzzzzzyzzzyyzzzzz{{{{{{z{zzzz{{z{{{{{zzyyzzzzzz{zy{y|{zyxzyzyz{zzz|{y{yyyzyyy{zzyzyzzyyyxyxxxzzzzyy{zyyxyxxzyyzzzz{zzzxyyzyyyyzzzyz{zyyzzyyyxzzzzxzzz{yyxyxyyzzyyzzzzzyyzzyyyyzzyyzzzzyyyzxzzyzz{yzyzyyzzyyyyyzzyz{yzxyyyyzxyyz{zzzzyyyyyyyxzzzyzz{zzzzzyxyxyyzzzzyzzyyxyzyyxyyzyyyyzyzyzxyzxzzyyyyzzyyyzyzxxyzzzzz{{zzyyzyyy{{zyzz{zzyyzzyzyzzzzyy{zyzzyzyyzzzzzzzzz{zzzzyzyz{zzz{{zyyzyzyyzzz{zy{{z{zyzyyyyzzzzzz{zyzyzzyyzzz{{zzzzyyyyyzyzzzy{z{{zzzzzzzzyz{{{zz{yzzzzzzzzz{{{{{{{{yyyz{zz{{z{{z{{zzzyz{zzz|zz{{{zzyzzzyyz{z{{zzzzzyyyyzyz{zzz{zz{zzzz{zzz{{zzz{{{zzzy{zzzz{{z{{zz|yz{yzzy{zzyzzzzzz{y{yyzzyzzzzyyyyyyyyzxyyyzzzyyyyzyyyyyzyyzz{zzzyxyzzyzzyyzzz{zyy{zzyyzzzz{yzz{yyyyyyyxzzzyzzz{yzyyyyxzyzzzzz{zyyzyyyyyzzz{yzzzyzyyyzxyzyzzyzzyzyxyyxyyzzyzyz{yzyyzzyyzyyzzzzzzyzyyxzyyyzz{yyzyzzxyyyyyyzzyzzz{yyzzzzxzz{zzy{{zyzyyyyyy{yyyzyzzzzyxyyyyzyyyzyzzyzzyyyy{zzzyzyyzyyyyyyyzyzzzzzz{zyzyzyyzzzzzzzzzzzyzyzzyzzzzzzzzz{yzzzyyz{{zzzz{{yzzzzz{zyz{z{z{yzzzyyzyz{z{{{{zzyzzyyzyz{zyz{{zzzzzyx{z|z{{z{{zzzyyz{zz{{zz{{zz{zzzzyz{z|{{zy{{zyzyzyzz{z{{z{z|{zyyz{zzz{{{z{{{{zzyzzyzzz{{{{{|z{zzzyzyzz{{{|{{{{zzyzyzyzzzzzz|yyyyzyzy{zz{{zx{zzyzyyzxzyzyzzz{zyyy{yyyyz{z{z|{yyzyzyyyyzyz{zz{yyyyyzyzzz{{zzzzzzzzyyyyy{zzzzzzyyyyzxzyzzzyzy{yyyyyyyyxzy{yyyzyyyyxyyyyyyyzzzzzyzxzzyyyyz{yyzzyyyyzyzxxyzzzz{{zyyxzxyyyzzyzzyzzyzyzyxyzyyzxz{zyyyzxyyxzzzyyzzzzyzzzyyxyzyzz{zz{{zzyzyzyzyzzy{z{yzyyxy{yyzzzz{{zzy{yyzyzyyzzzz{zzz{yyzzzz{yzzzz{{yyzyyyyz{{yz{{zzzzzyzzzz{{zzz{z{zzzzzzy{z{zyz{|yzzzz{{zz{z{zz{{yzzzyzyzz{{z{{zz{y{{{zzz{{zz{{{{{{zyzzzzzzz{{{zz{{zzzzzzz{{{zz{{zzz{yzyz{{zzzz{z{yzzzzzzzz|{z{{|{zyz{zzz{zz{z{z{{zyyz{{zz{zz{zzzzzyzzzzz{zz{zz{{zz{zyyyyz{zz{zyyyzyyzyyyy{yz{zyzzyyyyyzzz{zyz{{zyyzyyzzyzzzzy{zzyxzyyzyzyyzzzzz{y{xyyyyyzyz{zzz{zzzyyyyyz{zzyz{zzzzzyxzzyzzyyzyzyyzyyyzzzzyzyzyzyyyxyzyxxyzzyz{zzyyyzyyzyyzyyzz|yzzyyyyxyzzzzy{yyzzyyyzyzzzyzzzzzzzxzyyyyzyyz{zzzyyyyzyyzzyzz{{zzyzyyzzyzz{{{zzz{zzzyzyz{z{zz{z{zzzyyyzzzzzzz{z{yyy{yyzzyzzzz{zzzzzzyzzyzz|{zyzzzzzzyzy{z{zzz{zzyzzzzzzzz{{{zz{{yzzz{zzy{zz{{{{|{zz{yzyy|zz{{{yz{zzyzzyz{{{y{z{{zzzz{{yzzz{z{zz{{z{zzzzy{{{{{{z{zzz|zzzz|zz{{{{zzyzz{zzzz{{{{z{{{{{{{{zz{z|z{{{{z{{yzz{z{{{zz{{{z{yyyzyzz{{{zz{zzzzyyyyz{zyyzzzyxzzyyzzy{{zzzzzzyyyzzyyy{zyz{z{zzzzyzyyyzzzyzz{zzyyyyzyyyzz{zzz{z{zxyzzy{{zzzzy{zzyy{zyyz{yz{z{{{yyzzyyyzz{{yzzzz{zzyyyzzzyyyyy{zyyyxyyzy{zz{zzzzyzyyyxyzzzzzzz{zyzyyywyzz{{zz{zzyzyyyzxy{zyz{zzzzyyzzzyyzyzzzz{zyzyyxzyzz{yz{zzyyyz{yzxzzzz{{{zzyzzzyyzzyyzz{z{yzy{zzzyzz{{y{{{zzzzzyzzzz{z{z{zzzzyyyzxzzyz{z{yyzz{{zzyyz{zzz{z{zyy{zz{{{{{{z{zyyzzzz{y|{z{z{{{z{z{zyyzz{{z{{z{{{zz{zzz{{{{{{{{{zzz{{zz|{{zz{{{{zzzz{zz{z{z{{{{zyzzzzzz{|{zz{{y|y{z{zzz{zz{{zz{z{zz{z{z{{|{|{|{zzzyzz{{{{{{z{{{{zyzz{{zzzz{zz{{zzzyzyyz{zz{zzyzxyzyyxyzxzzyzyyzyzyyyxyyzzzz{{zz{zyyzyzyzzzzz{{yyzzxzzzzzzzyyy{zzyzyyyyzyxz{zzyzyzyxyzxxyzzy{zzzzyyyyyxyzzzzzzzyzyyxyzyyzzyyzyyzxyzyyyyyyzyyzzzyyxyyxyyzyy{zzy{zyyzyxyxxzzzzzzyzzyzyyxxyyzzyyzzzzzxyzzxxzzzyz{zzzxzxyzzyzzzzzzzz{yzyzyyzyzzzzz{zyzzzyyzyzzz|zz{{zzyxzyyyzzzzz{z{yxyyyyzyzzzyzzzz{yyyyyyzzzzzzz{zzyyyyyzz{zzzz{y{zzzyzz{xz{z{{{{zzzzz{{z{{{z{zzz{z{zzzyyzzz{{z{{zzzzz{yy{{{{{zz{{zzzzyyyyz{{z{z{{{z{zzzyz{{z{{{{{zy{zzyzzz{zz{{{zz{zzzzzyzzz{{{{{{{zzz{zz{{{|z{{{zzzyzzzyzz{zyz|{zzyzyy{z{zzzzzz{zzzxyyzyyzy{zzzzzyyyyyyyz{zzyzzyy{yzzyyz{z{zz{{zzyzyyyy{zzz{z{z{zzzzyyyzzzzzyz{{zyyyxyzyyzz{z{zzyyyyy{yyzzzzzyzzyyyzyyyxzz{zzzzzyzxyyzyyzzyyzzy{zyyyyxyyyzzzy{zzzzyxxzxyzz{z{y{zyzyyyyxyzzz{zz{{zzzyzzyzyy{zzyz{zyyzyzzyyzzzzz{zzyyzzzyyzzzyzzzyzzzyzzyzzzzzy{z{zyz{zyyyzzz{zz{{zyzyzz{zzzzzz{z{zyzzzyyzzzz{zzzzzy{yyzyy{zzz{z{{zyzzyyzz{z{zzy{{{zyyyzzyz{z{{{{zyz{zz{{zz{{|yz{{zyzyzyzyz{{z|z|{zzxzzzy{z{{z{|{{yzzzzzzzzzz{z{{|zzzyzzz{y{zz{z{{|z{z{zzyzzz{{{{zzzy{zzyyz{{|{{z|{{zz{zzz|{{z{{{{z{yyzzzz{z{{{{{{{zyzyyzzyz{{z{{zzy{zzzzyyzz{zzx{zyyzxyyyz{zzyyz{zyyzxyxyyzy{zzyzzyyyyzyyzzzz{zzzzzyyzyyzzzz{zzz{zyzyyzyyyzzzyzzzyyzyxyzyzzyzz{zyyyyxyyzy{zzyyzy{zyyxyyyyyyyzyzzzyyzyyyyyyzzzyzyzyyyyzzxzzzzzzzzzzyzyyzzyz{zzzzyyyyzyzxzyzzyyzyyzzzzyyyyyyzyzyzzzzyzyzxyzzzzz{z{y{yxyzyyxyzzzzz{{zyzxyyyzzz{yzzzzyzzzzzyyzzzzz{z{zyzzzx{zzzzzzz{zyyyyyyyzzy{zy{z{zyzzyzyz{zzzzz{z{z{yzyzzzzz{{zzzzyzzyyzz{z{|zy|{zzzzzzzyz{z{z{{y{zzzzyzzzzzz{{z{zz{zzy{{{{zzz|{{zyzz{{yzz{{{{{z{{z{{zzzz{{z{z{{{zzzzzzzz{z{zzz{|z{zzzzz{{zz{zz{{{zy{zzyzz{z{{{{{{yzzyzzyz{yzz{{{zyzyzzyz{{zyz{zzzxzxxxyyzzzyzyy{yzyyyyyyzyz{z{{zzyyyyyyxyzzy{yz{zyzzyyyzzzyzzzzzyyyyxzyxzzyzy{{zzzzzyzzyyzz{yzzzzyxxyyyyz{zzyzzzyyyxyzzyz{zzyzyzyyyyyyxyy{zyyzyzyyyzyyzy{z{zzzzzyyyyxyzxyzyyzzzzyyyzxyzyyzyyzyzzzyyyxyyyzzzyz{yyzxzyzzyzyy{zyz{zzyzyzyzyyzzy{{{zyzzyyyzz{zz{zz{zzzyz{zyz{z{zzy{zzzyyzzzzz{z{zz{{yyzyyyzzzz{zz{{zzyzzyz{zzzz{z{zzzzyzyyyzz{{{z{|{zzzzzyyz{zzzz{|{zzz{zyzz{zzzzzzz{zzzyyzz{{zzz{{|zzzzzz{zzz{z{{z{{zzzz{yzzzz{{{z{{zzzzz{y{z{zz{zz{yyzzzzyz{zz{|{{{zzzyzyz{zz{|z{{zzzxzyyzzz{z{z|z{zyyyz{yyz{zzzzyzyzyzzyxz{z{zzz{yyyyyyyzzzzyzz{{xyyzyyzzzz{y{{z{zyyyzzyzzzzzz{z{zyzzyzxyz{zzzyz{{yyyyzzwzz{zyzz{yyzyyyzxyzzyzzzzyyyyzzyyzzzyzzz{zyyyzyyyzyyzyzzzyyyxzyzyzzz{yz{zzyyzxxyyyzyyzyzz{xzzyyyzzzzzzz{zzyzyyxyyyzzzzzz{y{yzyxyyzzzzyzzyyyyyzzxzz{zzyzzzzzyyyyzzyzzyz{zzzzzxzzyzzzzz{z{zzzyzzzyzyzzz{zy{zzyzzxyyzz{{zzz{yzyz{yyyzyzyzz|zzzyyzzyyz{{{z{zzzzzzyzz{zz{{z{z|zyzzyzzzzzz{z{z|{zzzzzyyz{z{{{{zzzyzzz{z{zy{{{z{zzzzzzzzz{{{z{{{zzzzzzz{y{{{zz{{zz{zyzzz{{{{z{{zzzzyyz{z{{zzz{{{zyzzzzzzz{z{z{z{zz{yz{yzz{z{zz{yzyzzyyzz{{{yzzz{yzyyzzzyzyzzzz{{yyyyzyzyyyzz{yz{yzyyxyyyyzyzzz{{yyyyyyzy{yzyz{zzzyzyzyzyzzyzzyzzyyyyyzyyzyyzzzzzyyyyyyzzyzzyyz{yzyzyxyyzyxzyzzzzyyyxyyyzyyzyxyyyyyzyyyzyyxyyzzzyzyyxxyxzzzzyyzzzyyyyxzyyyyyzzy{zyyyzyyyxyzzyyzzzzyyyxyzyzzyyzzzyyyyyzyxzz{y{yzzzyyyyzyyyz{yyzyz{zzyzxxyzzyyzy{{{yyzyyzyz{yzzzzzzzyyzyyyzzzyzyz{zzyyzzyzyzz{zzz{yzzzzyyzzz{{{zz{zzyzzyyzzzzz{{{z{zzzzzyyzzzz{y{zzzzzz{yzyzz{z{{{zzyyzzzyz|{zzzzzzzzz{zzyzz{{{z{{zzzzy{{zzzz{|z{{{{xyzzyzz{{{{{{|{zzyyz{zzz{zz{zz{zzzz{yz{z|z{zzz{zzzy{yzzzz{zy|{zzyzzyzzzy{yy{zzzzzyzyyyyz{zzyyyzyyxyzzyyyzzyzy{{zyyxxyzyzzyzzz{{yyzyyzyyzzzzzzzzzyyzyzyyzzz{yzzzyzzxyyyxyzyyzzy{zyyxyzzyyzzyzyzzyyzz{zyxzzyyzyzzyyzxyyyyzyyyzz{zyzyyzyyxyyyz{yzzzzxyxzyyzzzzzzzzzyyyyyyyxzyzxyzzyzyzxyzyzyzyyzzzzyxyzzxyyyzyyzzzxxyyzzyyyzzyyzzzyzyyyyxyy{zzzzz{zyyzyyyyzzyzyzz|yzyyzyzyyz{yzy{zyzyyyyyyyy{{zz{zzyyzyyzzy{{zzyz{y{yzxyzzzzzzzzzzzyzz{z{zzyz{zzzzzz{{zzz{{{y{zzz|zzzyyyzz{zzz{{{z{yzyz{zy{zzz|z{zzzzz{y{zz{|zz{zz{zzzyy{zy{zz{{{z{yzzz{zzz{{{zz{zzyzzzzyzzzzzz|z{|zzz|zz{{{{{z{zz{zzzz{zzz{z|z{z{{{zyzyzzzzz{z{{zyzzyyyyzzz{z{zzzzyyyzyyyyzzyz{zzzzyyzyxzzzzzyyz{{yyzyyyyzzzzz{zzzzyyzyyy{z{zyzz{zyzxyy{yzyzzzzz{zyyzzyzzzz{zy{{{yyzyzyyyyyzyzzzzyyyzyzzyzyzzzzz{zzzyyzyxyzzzxz{zzyyyzxyzyzzzzzzzyxzxyzyzzzzzyzzzyyyzyyyyyyzz{zzzyzyyzyzyyyyzzzz{yzzzyyyxzzz{z{z{yzyyzyzzzyzzyz{|zzyyyyzyzyz{zzzzzzzyzyzzzzzz{{zzzyzzzzzzz{{{z{{yzyyzzzzy{yzzzz{{zyz{yyyzz|{zzzz{zyzzyzyzzzz{z{z{zzzyzz{zz{z{z{{{zyzzzyyzzz{z{|z{{zzy{z{z{|{{z||{zz{z{{{zz{{z{zz{{zyz{zzzy{{{{{{z{z{{zz{z{zz{{|z{{z{zz{{z{{z{{{|{{{yzzzzz{{{{|{|{yzzxzzz{{{{z{{{{zzzzyzyyz{z{yzz{zyzzzyyz{{{zyzzzyyzyzyzyzzzzzzzyxyyzyyyyzyzzzzzz{zzyyzzyzzz{zz{{zzyzyzzyzzzzzz|zzzyyyyyxzz{zy{{{zyyzyzyyzyyyyz{zzyxyzyyyyz{yyyzxzzzxyyzyzzyzzyyzyyyyyzzyyyzzzzzzyzyzyzyzzzyz{zzzzyzyxzyxzz{xyzzzzyyyyyyyyzzz{zzzzyyyzyzzyyyyz{zzyyyyyzyy{zzzzz{{zyxyyyzyyzyzz{{{zzzyyyzyzzzyyzz{yzyzyzyyy{{zyzz{zyzyzyyyz{zzzzzzyyzyzyzyz{{zzz|zzxzzzzzyz{zzz{z{zz{z{zzzzzz{{zzzzzzyzzyyzzzzz{z{zzzzyzyyzz{zzz{zzzzz{zzz{z{zzz{{zzzzz{zz{zzzzz{{zzyzz{zz{|z{{{{z{yzyyzz{{{zz{z{{zzyz{zzzz{z{{|{{{z{zzzz{{zzz{||{zz{zzzzy{{z{{{{{zyzzyzzyz{z{zz{zyzzzyyyyzzzzyyzzyyyyzyxyyzzyyzzzyyyyyzxxxzz{zzzzzyyzyyyz{yyzzzzzzyyyzzyyyzzyyyzz{yzxzyzyyzzy{yzzyzzzyyyyzzzyyzzzzzzzyyyyzz{zz{zy{xyxyzyzzzzyzzy{xyyyxyxyyzzyyzzzyyxxyzxyy{yzzz{zyyyzzyyzzzyzyyyzzyyzzyzyyzyyzyzzyyzxyzyyyzzzyzz{zyzyzzyyyzyy{zz{{yzx{zzzy{zzy{zzzzzyzyzyz{zzzzz{zzzyyzzzyz{zz{{zzzyyyyzyzz{{yz{zzzzyyzyyzzz{zz{zzzxzyy{zy{{zz{zz{zyyzyyz{z{{z{{{yzzy{zzyzyz{y{z{zyy{zyyx{{z{zzzyzzzzzz{xz|z{zz{{zy{zzzz{z{z{{|{{zy{y{zzzzy{{|z{z{zz{zyyz{{||{|zzzyyzzzyzzz{{{{{{z{zzzzzz{zz{{|{{{zzyzyyzz{zzz{{{{{yzzzzy{{z{zzzzzy{yyzyyyzyzzyyyyyyzyyzyyyzyzzzyyxyyzyxyyz{yzzz{zzzxyzyzzyzzzzzzzyzyyxxzzzzyzz{zyyyyxyyyyzyyyyyzyyzyyyyxyyzzzzyyyyyyzyyyzzzyzzzzyzzzyyzyyyzzzzyzyxyyxyyxzyzzzzzyyzyyxyxyyzzzyzzyyyyyxyxzyyz{{zzzyyxyxyyxyzzyy{zyzyyyyyzyyyyyy{zyyzzyyzzyzyxzyz{zyyyxyzyyzz{zzzz{yyzzzzyyyyyy{z{{zzyyyyyxyzzzzyzzzyzyzzxyzzzzz{zyyyzyzzyyzzzzzz{zzyzzzyyyz{zzz{zzzyzyzzzy{zzzzzz{yzzzyyzyzz{zyz{{{zzzzyyzz{z{{{{z{yzyzy{zy{{zz{zzzzzyzz{{zzz{{{zz{z{yzzzz{{z{z{||zzzzzzzz{{y{{{{{zyzz{zz{|z{zyz{{zz{zzzzyy{|{{{z{zz{yyzzzzz|{{{|zzzzyyzzzzyzz{zzzzzzyyyzyzz|z{zyyzxyxzyyyxzzyyzzzxyyyyyxxyz{zyyyzzyyyyyyyzzzxzzyzzzzyyyyxzy{yyy{yzyzxxyyyyyzyyzzzyyyzyyyyyzyzyzzyyzyyyyxxzyzyyzzzyyyyyyyyyyyzzzyzywyyyxyyx{yzz{{yyyyyxyzxzyzyz{zzyxzyyyxxyyzzzzzzyyyyyxyxyzzyyyzzzyyzyxyyzzzyzyzyyyyyyxyxzzzzyzzyzxzzzyzyzz{zzzz{yyyzyyzxzzzyzzzzzyyyzzzzzzzyzzzzzyzzzyzyyzzz{{z{zyzzyyyyzzzzyzzyzyyyzzyzyzyzyz{zyyyyzzyyyzz{zzzzzz{yyyyz{{y{z{z{yyy{yyzy{z{{zz{zzzyzzz{zxzzyz{|{zzzyzzzzzzzz{z{{zz{yyzyzz{{{{{{{yz{zzyzyzzzzz{{zzyyzz{yyzzy{z{{zyzzzzyyzzz{z{{z{yy{yzzyyzzzzz{{zzzzyyzyzyzz{{yzzzzyzyyyyzzzzzzyyyyyyxyzxzzyzyzzzyzyzyxxyzzzyzz{zyyyxyzyyzyyzzzzzzyyzyyyy{zzzyzzzzzyyxyyxzzyzzyyzyyyyzyzxy{zyzz{zzyzyyyxyzy{yz{yzyyyzyyyyyzy{zy{{xyxyyyyyzzzxxy{yzyyzyyyzzyyy{z{zyzyyxyxyyyz{yzzzyyyyzxzyzyyyyy{xyzyxyyyyzzzzzzzzzyxyzyyzzyzzzz{{zyyyzyyyzzzzzzzyyyz{yyxyzyzzzyzyyyyzyyyz{{zyzyyzzyzyzyyyyzz{y{z{yzzyyzyyzz{zzz{zzzyyzzzzzzzyzzzy{zzzzzzz{zz{z{{{zzyz{yzzzzzz{z|{z{{{zyyyz{{{zzz{zyzzzzyz|{z{z{{{zzzyzzzzzz{{|z{z{yyzy{yzz{z{z{|z{zyzzz{z{yz{zz{zzzzz{{zzz{{{{|{{{z|zz{zz{{z{zz{{zyzyzzyyyzzyzz{{zzyyzyzyyzzzyzy{zzzxyxzyzz{yzzyzyzxxyyyyyyyyyy{zyzxyxyxyzzzz{{yzyyzzzyyyzz{yyzzyyyzzxyyyyzzzyzyzyzzyxyyyyy{zyzz{yyyyxyzyyyzzxzyzzyyyxyyyzyyyyzzyzyxwxxyyyyyyyxzzxxzxzyyxyzzzyyzzyyyyxyyyyyzyzzz{yyyzyzyzyzyzyzy{yxyyzzyyyyzyyzzzyzyyyyyzyzzzzzyxyyzyyyyyzzxyzyzyzyyyzzzxzzyzzzz{zyyyyyyzzzyyzzz{yzyzyyyyyzyyyy{zxyzyyxzxzzzzzzzyzyzyyyyzzzzzzz{{yxxyzzyzzzzxzy{{zyzyzzzy{z{|{{zzyyzzyzzz{zz{z{{zyzzzzyzzz{yzzz{z{yyyyzyyy{{z{z{z{z{z{zzz{{zzz{z{{yz{yyzzz{z{z{z{zz{zzz{y{zzz{{zzzzzzzyzzy{zzz{|zyzzzzzy{{zz{z{{{zyyxxyyyz{zz{zz{{yzzxzyzy{z{zyz{yzzzxyyyzy{yyzzzyxyyyzyyzzzy{zz{yxyyyxxzyxzzzzzzzzyyyyyy{yzzzzyzzzxyyyzyyzzzzy{zyyyyyyzxyyyyzzy{zyyyxxyyyzzxyzzzyyyyyyyyzzzxzzzyzzyyxyyzyzyzyzzzyxyyyxyyyzyzzzzzzyyyyyxyyzzy{zzxyzyxxyxzyzzzzyyzxyyyyyyyyyzyyyzzzyyyyzyxzyxyzz{zyyyyyyzzzzzzzz{zxzzyyyyyyzzzzzzzzyzyyzzyyyzzyzz{yzzzyzzyy{zzzy{zyyzyzyyzyzy{zz{zzyzzzyyzyz{zyzzzzyzyyz{y{zz{z{zzyzzyzzzyyyz{{zz{zzzzz{{zz|{{zz{{zzzxzzzx{{{zz{{zzzyz{zzyz{z{z{{zzyyzzz{yzz{{{|{z{yzzy{zz{z{{{zz{zzzzzzzzz{{zz{z{zzzzzyzzy{yyy{{|zzz{zzz{{zzz{{z{{zyyz{zzzzzz{{{{{yzzyyzyzzyzyzyzzyzzyzzyzzzzyzyzxyxyyxzx{zzyyzyyxzyyyxyyyyzzz{yzzyyxyzxzyzyzzyyz{xzyyyyyz{yyyzyzzzyxxzyxzyyzyzyyyy{yzyyyyzyyyzzyyyyyyxwyzzzzzzyzzxxyyzxyyyyzzyyzyzyxzyyxyzzzyzzzzyyyxyxzyzzyzyzzyyzyyyyyy{yzyzzzzxyyxzxyyzzyzzzyzzzyyxyyyyyzzyyzyyyyyyxyzzzyzy{zzyzyyxzyyyyzyzzzzyzzyyzyzyyzz{z{yyzyyyyyzyzyzyzz{yzyyyzzyzzzz{{{zyzzzzzyyz{zzzzzzyzyyzyzzzyzz{z{{yzyzzyz{{z{{yz{yzzyzy{{zzz{z{{{yyzzzyyyz{zz{zzzzy{y{zzyz{{yy{{zyzzyzzz{{{{z|{{zzzyzyzyzz|zz{z|z{y{{zzzz{zz|{{zzzyxy{zy{zzzzzzz{zzzz{zxz{z{{{{z{zzzzzyzzyzzzzz{z{zyzy{yz{{zzzy{{zzyzzyyzy{yzzyzzzyzy{yzyyyzyzyzzyyzyyxxyyzyzy{{zzyyxyyyyzzzyzyzzzzyzyyyyzzzyyxzzzyyyyyzy{zzzyyzzyyyyyyzxyzzyyz{{yyyyyyyzzyyyyzzyzxzyyyzxzzyyyz{zxyyxyyyzyzzzyyzzzzxyyyyzyyzyzyzzyzyxxyyyzyzyzz{{zyzzzyzxyzzyyzzzzyz{yxzzzzzzzzyzyxzyzyyzzzyzzzz{zyyyzyyyz{z{{{{yyyzzyyyzzzyzzzzzzzzyyyzyzzzzz{zyyyyzzyyyyzz{yzzz{yzyzyyyz{zyzz{{zyy{yzyyz{zyy{zz{zyyyzyyz{zz{{z{zyzyzyyzzzz{z{{{zzzzzzyzz{zzz{z{{yzzyyzz{|zzz{z{zzzzz{z{zz{y{z{z{zyzyzzzy{z{{{z{{zzzzzzz{z{{zz{{zyzzzyzz{zz{|z{{{y{zzzzz{zzz{{{{zzyzzzzzzyz{z{z|zzyzzyzzzzzzy{z{yyzyyyyyzzzzzzyzzyyxxyxyxzyyzyzzzyyyxyyyyzzzzyzzzyyyxxyxzyyyzzzzzxzyyyxyzzz{zz{zyyyyxxyyzxyyzzzzyyzyyzzyyzyyyzzyzxyxyxyyyyzzyyzyzzyzyzxxyzyyyzyzyyyyyyxyzyzyzz{yyxyyyyxyyzzzzyzyyxyzxxxxxyzzy{{zzyxyyyyyzyzzz{zzzyyyyyyyzyzzy{zzyyzyyyyxyzyzyy{zzyyyzzyyzzzyzzzzzyyyzyzzyzz{yzzzzzzzyyyyzzzyyzzzzzzzzyzyzzz{z{zyzyzyzyyy{zzzyz{yzzyzzzyyy{zzzz{zzzzzzyzz{z{zz{zzzzyyyy{zzz{z{{{{zzyyyzyzzzzz{{|z{zy{zzzyz{zzy{zzzyzzy{{yy{{{{{{{zyy{{zzzz{zzzz{zzz{zzyzz{zzz{zz{zzzzzyzy{yz{z{{{{zzy{zzz|zz{z{{{yyzyy{zy{{{z{{{zzzyzyzzzz{z{zyz{zzzzzyzzyzyzzz{yzyyyyzzyzzzzzzyzyyyzzxxyyyz{y{zzzyyyyzyyzzyyz{zzyyyyyzyzzyz{yz{zzyzzyyyxzyzzzzz{zxzzyyyzyz{yy{zzyxyyzyzzyzzyz{zzyyyyzzyyzyzzzyzzxyyxyyyyyzyyzzz{yyyyxyyzyz{yzzzzyzyzyzyzyzyyzzzzyzyyxyyz{yyyy{yyyyxyzyyxyzyzy{z{yzyxxyyyyzy{zz{zzyxyzxzyzzzy{{zzzy{yyyzyz{yz{{{{yxzzyyzzzzz{{{zzyyyzzxxzz{z{zzzzzyzyzzyyyz{zzzzyzyzzzzyzzzzzyy{zy{yyzyzzzz{{z{zzzzzzy{zzzz{zy{z{zzz{zyyy{zz{zzzzzyzzzyzy{{zz{{z{{{y{yzz{zzzzz{{{zzzzzzzzz{z{{y{{zzzzyyzzz{{{{{z{{zzzzzzzz{{z{{{{zzyzzzz{z{zzzz{{zyyyzy{yzzzzz{z|z{zzzyzzz{{{zz{zzzyyyzzzyy{zzzyyzzxyyyxyyzzzyyyzyzxyzyxyzyzy{z{zyzyyxyzy{y{yzzzyzzzzxyyzyzz{zzz{zyzxwzyxzzzzz{zzzyyyyyyxzzzyyzzzyxyyyxyzxy{yzz{yzyyyxyyyyzzzzz{yyxyyzzxy{{zyzyzyyyyyyyyzzzyzzz{z{yyyyyyyyz{zyzzzzyyyyzxzzyzzzzyzyzyyzyyxzyzzyz{yyyzz{yyyzzzzz{zyzzzyzyzzz{z{y{z{yyzzzyzyzz{zzyzzyyzzyzzzzzzyz{zzzzzzzzyyy{z{yzz{zyzzzzyzz{{zzzzz{zyz{y{zzzzyzzzzyyzyzzyyzz{{z{{{zzzyzyzzz{zzz{z{zzzzzyyy{z{{z||{zyzyzy{z{z{zz{zzy{{yyz{zz{z{{z{zzyzyzzzz{{z{{{|{{zy{zzz{|z{{z|zzzzzzzz{{{{{z|z{z{yzz{zzzzz{z{{z{z{zyzy{z{{zzz{{zzzyzzyzyz{zzz{zzyyz{zyyyzz{zzyyyxyyyzwzxyzzyyzzyyyzzyxxyyzyyzzzzyzyyxzyxzyzzz{{zxyyyxxzyyzzzyyzzyyyyxzyxyyzzyyzzyyyzzyyxyyyyyyzzzxzyyyxyyyyzyzyzyzyyyyyyyyyzxyzzyyzyxyyyxzzy{yzzyyyyyyxyyyyxyyzzzyyyxyxyyzzyz{{zyzyzzwzyyzzzzzyyyxzxyyzyzzyyz{zyyyzzzyyyyyzyzzyzyxyzzyyyyzzyzz{{zyzyyyyzyyyzzzz{yy{yyxzz{zzz{zz{yyyyzyyyzzzz{{yzzyzyyyyyzz{zzyzzxyyzzyzz{{yzyzzzyyyyyz{y{{zyz{{{zzzzz{zzzzy{yz{{zyxyyxyyzz{zzzzzzyz{z{zzyz{y|z{{yz{zyyzzy{zzzz{zzzzy{zz{z{zzzz{zzy{yyzyy{{zzzz{{yyzyyzzyz{zz{{{{zzyzzzzzz{z{{{{{zzyyzyzyzzzzyz{{z{zyyzyxz{z{{zz{zyyyyyzyyyzzyyyyyyxyyyyyxyyyyyzzyyyxyyzyyyzzzzyzzyyxyyzxzyyyyzzzyyzzzyyzzyzzyzyyyzzxxxyxzzyzzzzzyyzyyyyyxz{yyzzyzyxyzyxyzzzyyzyzyxxyxyyzzzyzyzyzzyyxyxyxyzzzzzzyxyyxxyxzzyyyzyzzyxzyxzxyyzzzzzzyyyyyxxyyxyyyz{yzzyzyyyyyzyyyxzzzyyzyzyyyzyzz{yzyyyyxzxyzzzyyyzzyyyyyyyzyyzyzzzzzzxzyyxzyzzz{zzzzzzyyzzyyzy{zzyyz{yzyyyzz{zzzz{zzyyyyyyyzyzy{z{zyzyzzzzzzz{zzz{z|zz{yzy{{zz{zz{{{zyzzzyxyz{zzzzzzzzzzzzzyz{{y{z{{{zzzyzz{z{zzzz{{zxz|{zzzz|{{zzz{yyyzzyzyzzzzz{zzz{zzzzzzz{z{{{z{zzyz{zzz{{zyz{|{zyyyzyyyzzz{{z{{zzzyzzyxy{z{zzzzyyzyxyyyyzzzzzzyyyyyxxyyyy{zzy{{xzyxyyxyzzzzzyzyzyyxyyyxyyyyzzzzzyyyyyyyyzyzyzyzzyyyyyyyzyzzx{zzzyyyxyyyyzzyyyzyyzyzyyxx{yyzy{zzzyyyxzxxzyyzz{yzyyyyyxyyzyyyyy{zyzyyxyyyzyzzzyzzyzzyyyyyyyzzy{zyxyxyxxyyyzzyyxzxzyyxxyzyyyzyzzzyyyyxyyyyyzy{{zzzyzyyyyzzyzyyzzyzzxyzzyyyzz{zyy{zyyzzzyzyzz{zzyzyzzyzzy{yy{zz{yzzxyzyzzyy{{zz{zzzzyyzzyxz{zzzz{y{zyzyzzyz{zy{zy{zyyyyyz{zyyzzzzz{zyzzzyyzzzz{zz{yzyzz{xzy{{zz{z{|yzyzzz{zz|zzz{{zzzzyy{yzz|{{zz{z{zzzyzzz{{{{zz{z{zy{{yyzzz{{|{{{zzyyzyzz|{yzz{{{{|yyzzyzzzzzz{z{zzzzyyzyzzzzzz{zzyzzyyyyzyzz{yzyyyywyxywyzzzyyyzzyyyyyyzyzzy{yyzyyyxzyxzzzzzzy{zyzyyyyyzzzzzzyzzzzyxyxyyzyz{yzyzyyzxxyyxzzzyyyzyyyyyyyyyyyzyxyzzzyzwyyxzyyyzyzzyxxxyyzyyx{zzy{zyyxyyzyxyyyzyyzyzzyzzxyxxzzyzyyz{yxyyyyxyyzyzyzyzzyxyzzyxyzzyz{zzyzyyyzyxyzzzyzzyyyyyyyyyyzzyzzzzyxzzyyzyyzy{zzzzxyyyyyxxzzxyzzzzzyzyyxyzy{zzzzzyyyzyyyyyzzyzzz{{zyyyy{yyzzz{{zyzzyyyzyyyzzyz{zzzzyz{yz{yyz{z{z{{yyyzyyyyzzzzzz{{zxzyyzzyzzzzzz{zzzyzzzzz{zzzzzz{zyy{zyyyz{{{{{{|yzz{xyyz{zz{yzzz{zyzzzzzzz{{y{{{zzzzzzzy{z{{{zzzzzzyyyyzyzzzz{{zz{yzyyzxy{yzy{{zzyyyyyyyzy{yyzyxxxxyyyxyzzxz{yzyxxyzyxxxxyzxzzz{yyyxyyyyzyyyzzyyzzyzxyyyy{zyxyz{yz{yyyyyyzyzyzyyyyyyxyyyyzyxxyzyyxyzxyyyyyzzyyyyyxyyyyxyzzyzyzzzywxyzyyxyyzyzyzyzyzxxxyzzzyzzzyyzxxywyyxyzyzzyzzyyyyxyyyyzzzy{yyzyyyyxyyyzyyyzzyyyyyzyzxzzzzzyzyzyxzyzyyy{{zzzzzzyyzyyyyzyzzzz{{zyyyxzyyzzzzz{zzzzy{zzyyyyzzzzzyzyyzzyyyxz{zyz{{zyyzzzyyz{zyzzyyyzyzyxyzz{z{zzzzzzzyzzyxz{yzzzz{{yyzyzzy{{{zzzyzzyyyzyyz{{{zzz{{zzzzyzzzy{z{{{z{{xyzy{y{z{y{zz{{zzzz{zyzzz{z{z{{{zzzzzyyzyz{zz{{zzzz{zyzz{|{zz{zyzzyzyyzzzyzz{{zzzyzyyzyzzyzz{{{zxyyzyzyyzzyy{yyyyzyxyzyyyyyx{zzyyyyyxyyzzyyzzzyzyyxyyzxyz{yzzzyyyyxyyyyyyyzzyzzyyyxyxyxyzyyyzzzxzxyyyyyyzyzzyzyyyyxxyyxyyyyyyzyyyxyxyyyzyyyzzyyyyxyzyyxyzxyyyzxyxyyxyxxyyzyyyzyzyxyyyxxyzyyzy{yyzyyyyyxyyyyyzxyxyyxyyyyzyyyzyz{yyxyyyyyyzzzyzzyyxyyzyzzz{zzyy{zzzyzyyyyyzyzz{zzzyyyzyyyyzz{{zyzzzyyyyyyyzzzzzyzzyyyzzyz{zzzyzzzyyxzzyyyzzzyzzzzzyzyyyyyzyyyzz{zzyyyyzzzyzz{zy{zzxyyzxzzzzzz{|z{{yyzyyyyzyz{{{{{zzzzxyzzyzz{{zz{zzyzzzzyz{zzzyzz{yyzzzyyzyyzzz{z{xzyz{yzzzzzz{z|yzzzyzyz{{zyzz{zyyyyyyyzzzyzz{zzzzy{zyyzy{{yyzzyzyzyyyyyzzz{zzyzyyyyyyxyxzyzyyzzxxxyyxyxyzzxzz{zyxyyyyyyyyyz{z{zzxzyxyxxzzyzzzyzzyyyyxyxyzxzzzyzyyyyyyyyzyzzyzzyyyzyzzyyzz{yxyz{yzyxyyyxzzzzzzyzzxyyxyyyzyzyyyzzzyyyyzxyzyzyzyz{zxzyxyyxyzzzyzzzzyyyxyyyyzzyyzy{xyyyxyyyzyyzzzyzzyyyyyyxzzzzzy{zyyyyzyyzyzyzzzz{yzzyyyzyzyzy{zyzyzyyyxyyyyzzy{yzyzyzyxyxy{zzzzzzzzyyzyyzyzzzzz{{zyzzyzyzzzzzyy{yzzzyzzyzyyz{zzzzzyzzz{zyzzy{zzzzzzzzyyyyzzzz{{{zzyzzzzzzz{zz{z|{zyzzzz{zzzzzz{{{{yzzzzzy{{z{z{z{zzzyzy{yz{{{{{zz{yz{zyyz{zz{{z{{{{y{yz{zzzzzzz{{{yyzzzyyyzz{zzzzzyyzyyzyz{z{zyzzzzzxzyzyyz{yxzzyyyyxyyzwyzyyzzzyyyxzzyzyzyzzyyzzzyyyyzyzzyzy{{zyzzyyyyxyz{{yyzzyzyxzyxyxzyzzzzz{yyyxyzyxyyzzz{yyxyyyyzxzzz{zzzzzxzzxxxyyzzz{zyzyxyzzyyxxzyzyyzzzyyyyxzxyyyzyyyzyzzzyyyyyzyzzyzzzyyzyzyyyyyzyzyzyzyxyxyyyyzzzzzzzyyyyyyxyxyyyzzzyzyyyyxyz{zyzyyyzzzzyyxzyyzyzzz{zyyyyyzyyy{zzzz{zzyyxyyyyzzz{z{zzzzyyzyyyzzzy{yzzzyyyzzyyzzzzyzzzyzyzyyyyz{zzz{zzyzzzyy{zzzyzz{{{z{yzzzyy{zz{{{{{{yyzzzyyz{z{{z{{{zzzyzzzzzz{{|z|zzzzyzzyz{|{{z{{zyzyzyyz{zz{z{{zzzzz{zyz{{z{{{zzzzzyzzyyzzz{{{z|zzzyyzx{zz{{z{{{{zzyyzyzzzyzy{z{zzyyyyxy{zzzzyyzyxzyyzxyyzzyyyzzyyxyyyyyzzyzyzzzyyzyyyyxzyzzyzzzzyzzyyxyzzzzyz{zzyyyyyzyzyzzzzzzyyyxyxyyyyy{zzzzyzxyyyyyyz{xyyyzyyyyyzyyzzzzyyzzyyyyzyyyyyyzyyzyyyyyyyyyyzz{zyzyyyzzxzyxyyzzyyzzyxzyyxzyyy{zyzyyzzxxyyyzzyzzyzzzyxyxzyzyzyzzzz{zzyzzxyyyzzyyy{yzzzz{ywzyz{zzz{{zzyzyyzzzz{z{zzzz{zzzyyyyyzzyz{{{zzyy{yzyz{{zzy{zzyyyyyyyz{zyzz{zzzzyzyzzzy{{{{{{zzyyzyzzz{yzzz{{yyzzyzzz{z{{{z|{yzz{zyzz{{z{{{z{zyzzyzzzzzzzzz{zzzz{yzzyz{zz{{z|zzzzzzzzz{{y{z{{zzzzzyz{{{zz{{|{zzyzzzy{zzz{z{zzyyyzyyyyz{{zzz|z{zyyyyzzy{zzzzzzzzyyyzzy{z{z{yxxyyxxyzxyx{zyyxzzyzyyyyyxzyzyyzyzzyyxxyzxzzzy{zzzyyyyxyyyyzyzyyyzyyyyyyzxyyzzyzzzyyyyyzyyyzzyyyzzyyyyyywzyzzzyyyyyyyyyyyyzzzyzyzyxyyxxxyyxz{zyzzzxyyxyyyyzxzy{zzzzyyywyyyyzz{{yzyyxyyzxxyxyyzyyzyyzyxyxyyzyyzy{yyzyzyxzyyyzzzyzyzxyyyyyyyyzyyzy{{yyyxyxzyzzzyzzzzyzzyyzyyzzyy{zzzzzzyyyyyyyzzzyzzyzzyzzyyz{yzzzzzyyyyzyxyyzz{zzzyyyzzzyyzzzz{zzzzxy{yyzzzzzzy{zzzzzyzzyyyz{{zz{{y{yyyyzzyzzz{{z{yzyzyz{zzzz{zy{{z{yyxzzzzzz{z{{{z{xzzzyzz{{z{zzz{zyyz{zy{zzy{{zz|zzzzzzzzzzzzz{zzzzyyzzyzz{z{z{zzzzyyzyzzzzyzzzzz{yyxxyyyxzzzz{yzyxyyyxyxyzxyyzyyyxyxyyzyyyzyyzzzyyxyxyyxyzyyzy{{yxyyyzyxwyzyyyzzyyzxxxyyyyzzzyzzyyyyyyyyzyzzzz{{yzzxyxyyyzzyyyyyzyyyzyyyzyyyzyyzyyxxyxxyyyyzzyxyxyyyxyyyyzxyyzyzyzxyxxyxxzxzzzyzzzyzxxyyxzzxyzyyyxyyxyyyyxyyyyzzyyyzyzxxzzzzyyzyyyyzxyyyyyzzyzzzzyyxxyyy{yyzzz{zyyyzxxyzyzzz{zzyyyyyyyzyyz{{zzy{zyzzyzyyzzzyyzyzyyzyzyyzzzyzzzzyzyzyzzyyzz{{zzzzzyzyzzyzz{{{zy{zzzzyzzyyz{zzzyzyzyzzzzyz{{zzzzzyzyyyzzzzz{zz{zz{zyy{yzzzy{zzzz{z{zz{zyzz{{{z{{{z{yz{zzy{z{zzz{{{zzzz{zyzzyz{z{z{yzzyzzzyz{{z{{|z{yxzzxxxy{yzzzyzyzzyyyzyzzzyzzzzyyyxyxyxxyzyzyyzyyyyyxyyyyzzzzzyyyxxyyyxyxzyzzzyyyzyzxyxxxzzyyyzyxyyxyyxyzzyyyyyyyyyyzxyyyyyyzzzzxzyyyyyzyzyxyzzyyyyxzyyyyyzyyyzxxyyyyyyzxyxyyyxyxxyxyxyyyzzyyyzzyyywyzyyyyyyzyzyxxyyyxyxzzyyzz{yyzxxxxzzyyyzyzzyyzzyzywyyzzyzzzzzxyyxyyzyyyyzzzyyyzyyzzyzyzzzyzzyzyyyzzzzy{zzyzyyzyyyxyxzyzyyyzzyyzzxyyzy{y{zzxyyzzzxzyyz{yyzzzzyzz{zyzzzzzy{{{yyyzzyzyzzzzz{z{yzzyyyyzy{zz{z{yzyyzyyyyz{yz{zz{{zyyyzzzyzzzz|z{{zyzzzyzzzzz{z{|zz{zyyzzzzzz{z{z{yzyzzzy{{yzz{zy{zzyzzyzz{zzzzz{yzzzzxyyzyz{z{zyzzzyxzyxyzy{z{y{yzzyyxyyzzzyzzyzzxyxyyyxyzzyzyyzyyxyyyxxyyyzzzzzyyyyzyyxyyzyzz{zzyyyzyyyzy{{yyz{zyxxyyyxzzyzzzzzyyzyyxyxyyyyyzzzyzxyyyyyyyzzxyyzyyyyyyyyxyyyyyz{xxyxzxxyyyzzzzzyyyxxyyyxxyyzzyzzwyyyyxyyyyzzzyzzzxyyzyxxyyyyyyzyyzyzyyxyyzyyyzzzyxzyyyyxyzyzzzzzzxzyzzyzyyzz{zz{zyyzyyyzyyzzz{{zyyzyyyxyyzzzyzzyzzyyyyzyz{y{z{yzzyzxyzyyxzzzyzzzzyyyzyyzz{zyzzy{yzzzzyyyzzz{z{zzzzyyzzzzzzz{z{z{yyyyzyy{zzzzzy{yzyzzzyzz{z{zzz{zzyyzzzzzzzzzzzz{{zzyyyyzz{zzzz|z{zyzyxyzzzzzz{{z{yyyyzyzy{{zz{z{{zz{yzz{zzzz{{{zyzyyzyzzzzzzzz|z{zzzyyyyz{zzzyzzzyzxyxxyyz{zzzzzxyyxxxzyyzyyyzyzzzyyyzyyxzzyyzzzzxyxyyzyyzyzzy{yzyyzzxyzzzyyzz{zyyyyxyyyyzzzy{zzzyyyyyzyyzy{y{zyyyyyzyyxyyzyz{yzyyyyyyxxyzyy{zz{yyzyyyxyzzzyzzzzyyzyyyxyzyzzzzzzxyxzyyyxzzz{yyzyyyyxyyxzyxzxz{zyyyzyyyzyyzyxyzyzyxyzzyzyzyzyzz{zzyyzyyzyyzzyyz{zzzyyyyzzyzz{yzz{yzzyyyzyyzzyzz{zzyzzzzyzzz{zyz{zzyyzzyyzzy{zzz{zyyyzzzzzzyzzyzyzzzzyzzyyzzzzzzz{yzzzyyyxzzzzzz{zzzyzzzyz{|zz{zz{{zzzzzyz{{zzz{{{zzzzzzzz{z{z{|{{zyyzyzyyz|{{{z|z{yzzzzzzzzzz{{{{{{{z{y{zzzz{y{{{zzzzzzyzyzz{z{{|{zzyyy{zz{zz{z{zzzzzyzzzz{zzyzzyzyyxzzzyzzzzzzxyxxzyyxyyyyzyzyyyzyzyxyzyyz{zzzy{yxyyxzyxyyxyxzzyzyyzyyyzxzyzzyz{zxyxxzyxzyxzyyzyxyyyyxyyyzyyyzyzyzyyxywyzyzyyyyyzyyyyxyyyyy{yyyzxxxxyyxyyxyyyyzxyzxyxyxxzyxyyzzyyyyyxxyyyzzzzyzzyxxxyyyxyzyxyyyxyxyyxyyzyyyyyyzzzyxxyyxxyyyyzzzxzyyyyxyyyyyyyzz{zxyxyyyyz{yzzz{zzzzywyyyyzxyz{yyyyyyyyzyyz{{yzzzzyyyyyyyyzzzzzzzxyyyyyyyyzyyyzz{yzyxyyyxz{zzzy{zyzxyyyzyyzzz{zzzyzzzyyzyyzzzzzzzzyyyzyzzzzzzz{yzyyyzyzyzy|yzzz{zzyyzyyzzz{{zzzzzzyz{yyyzzzzz{zz{zzyzzyzy{yzz{{zzzyzz{yzzy{zz{{z{zyzyxyzyxzzzzzzzzzyzyzzyzzyzxyzyzyzyyyxyyxzzxzyzyyyyyxzyyyzyyzzyzyyyyxyx{yyzyz{yzyyxyxxyyyyzzzzyzxyyyyyzyzyzyyzzyyxyyxyyyyzxyy{zxyxxyxyyyyzyyzyzyyxyxyxwzyzyzzyyxxxxyzxyzyxyyxzzyxxxyyxyyyzyzyyyyyxyxxxyyyzyzyzyyyxyxyyxyzzzyyzyywyxywwyyyxxyyzzzxwyyxyxyzyyyzzzyyyxxyyxzyyyzzyzyyyyyyyxzyyzyyyzyyyyxxyzyyzyzyyzyyyxyyzyzzyzyzzzzyzyyyzyyyyyyyzzyyzyxyzyyzz{yyzyyyzyzyyyz|zzzyzzyzyyzyy{yz{zzzzzzzzyzyzyzzz{zyzyyyyyzyzyz{{zz{zzzyxyyy{x{zzzzzzzyzzyyyyzyzzzz{{{zzzzyzyyy{zz{z{zzzzzyyyyz{zzzzzzzyyzyyyyzzzzzzyzzyy{yzzzz{yzz{{zyzyyzyyyzzzzyz{yzzyyyzyxyzy{yyzyzzyyyxyyzxzzyyxyyxxxyyyyyyyzzzzzzwyyzxyyyzzyzzyzyzxxyyyzzzzzzzzzzyxyyzxzxzzzzyzzzyyywxyyyzzyyzyzyzyyyyyyxyyyyzyyyyyxzyyyyzyyyzzzzyxxyyxyzyyyyyzyyxyyxyzx{yzzzyzyyyzyyxxyxzyyzyzyyyxyyyyyyyzyyzzzyyxxyxyyyzzzxzyzzzyxyyyyzzzyyzzzxyyyyyzyzzyzzz|{zyyyyzyzzzyzyzy{yy{yzyzzyyzzzzzzzzyzyyzyyyzzzzzzzzzyyxzyzzz{z{yzyyyxyyyyzzzzz{zyyyzyyyzyyz{yyyzyzzzyzzzyzy{{zzzyzyzzzzzyzzy{yzyyzyyzyzyxzz{{zzz{zyzzzzzy{zzz{{zzzyzzyzzzzzz{zzzzzxyyzzzzz{zz{zz{zzzxz{{z{{|z{zz{zzzzyy{yyz{yy{{z{zzy{yyzzz{{{{z{{zyyzzzyz{{zy{{z{{z{xy{xyyzzzz{{yyzxyzyzzzyzzyzyxyxxxxyxx{zzyyyzyyyxyyyxyzz{{zzzzyywyyyxyxzzyyyzzyyxyyyyzzyzyyzyyyyyyyyyzzzyy{yyyyyyyyxxyyxyyzzyzyyyzwwyyyzxyyzyxxywyxyyzyzyyyzyxyyyyyyyyyyzyzyyyxzyyxyyzyyyzyyzyyzzxxwxyyyzzzzzyyyyxyxyyx{zzzzyzyzxyyyyyyzzyzyyyxzyxyxyyyyzyzyzzyyxxyyyzyzyzzz{zyzyyxxyzyzzzzz{xxzyzyyy{yyyzz{{y{yzyxyyyzzzzzzzzyyyyyyxzzzzyy{{zzzyyzxzzzzzz{zyzyzyxzy{zzzzz{zzyxyyzzzyz{zzzzzzzzyzzyzxzzzyz{zzzyyzyzyyzzzzzzz{yzzyyyzzyzzzz{zzzzyyyzzyz{z{zz{zzyzzzzyz{{{zz{z{zzyzyyz{zyzzz{{{zzyyzzyzz{z{z{zzyzyyyyzzyzzzyz{zzzzzxzzy{zz{{zzyzyyyyyyxzzyzyzzyyzyxyxyxy{yzzyyzyxyxyyyyyyzy{zyyzyyyxyxyyzyxzzyzyyzyzyxzyzyyyyz{yyywzyyxzyyzyzzyyyxyyxyxyyzyyzzzyzxyyyxyyzzzyzzyzxyxxyyxyzzyxzzzxyyxyyyxyyyy{yzyyxyyyzxxyzzyzz{yyzyyyyyxzzzzyzzzyyyyyxyyxyzzyzyyyyyyzzyyyzyzyzz{zyzzyzxzzzzyyzzzzyxzzyyzzzyzzy{zzyzyyyyyz{y{z{zzzzyyyyzxzzzzzy{z{yzzzzyyzzyzzzzzzzyyyzyxy{zzz{zzyzyyyyzzyzzxz{yzzzx{zzyy{z{{zzzzyzyyy{zzzzz{z{{zzyxyzyyyzzzzz{zy{yz{zyzy{{zz{zzzzy{zz{yzz{y{{{z{{zzzzzzzy{zzzzz{zzzyzzzy{{zz{{zz{yyyzzzzzzzy{{{{zzy{yzzzy{{zz{{zzzyxzyyzzzzzz{{zzyyyzyyyz{y{yz{zzzyyzzzzzzzyyyyyyywyyyyyxyzyzyzzyyyxxxzzxyyzzyyzzzxyyyzyyzyzyyyzzyyyyxyzyyzzyzzyzzyxxxyyyyyyyyy{yyyyxxxzxz{yyyyzyxyxyyyyyyyzyyyxyyyxyyxyyyyzzyyzxyyxyyyxyxyyzzzzzyyxxzyxxyyyzzz{xxxyxyyyyyyyyyyzyxyyyyyyzzxyyyyyyyyxyyyxyyyyyzzzyxyyyyyyzzyzyyyyyyyyzxyyyyzyzzyzzyzzyyyyxyyyz{z{zzyyxyyyzyyyzzzzzyyzyyyzzyzzzzyzzzyzxzzzz{{zyyzyzyzzxyyzzyzyzyzzzyxyzxyyzyzzzzzzyzzzxyzy{{zzz|{zzyyzzyyxyzz{{{zz{xyzyzzzzzz{z|zzzyy{yy{zzz{{{{z{{z{yyzyzy{zzzz|z{yzzyyzy{zzzz{zzzzzz{yzzz{zzzzz|zzzzz{yzzyz{z{{z{zyxxyyz{z{yzz{{zyyzzyzyy{zzzzyzyyzxyxyyzzzzyzyzyyyywxxyzyyyzyyzyyxxyxxyyzyzyy{zyyxxyyyxyzyyzy{zyyyxyxyyyyyyzyzyyzyzxyyxyyzyzzyyyxyyyyyxyzxyzyzzyyxxyyyyyyyxyzyzyyxxxyxyyyyyyyyzyxxxyxxyxyzyyzyzyzyyxyxyyyzzyzzzxyzxxyyxzyxzzx{yyxxyyxywxyyyyzzyxyyyyyywyzyzzzzzyyyyyzxxzyzyyzzzzyzyyyyyyzzyzzzzzyyzxxzzyzyyyyy{yxyywyyyyzzyzz{zyyyyyyyzyzyzzz{z{zyyzxyyy{zyyyzzyxyyzzzyyzyyzyzzyzyyyzyzzyz{zzzzyzzyzzzy{yyzzz{{yzyyxxyy{{z{yz{zzyzzzyzy{|zzzz{{zzzzyyz{{{zzz{zzzyzyyzzzy{zz{zzzzyzzyzyyz{zzz{{z|xzzzyzz{{zz{zzzzyzzyyyzy{zzz{yzzyyxyzzzz{yyzz|yzyxyyzzyyzzzyzyzzyxyyzxyyzzzzzyzyyyxyyxyxzzyyz{zyyyyyyyyzzzzz{yyzyyyyyxyzyyzzy{zyxyxzyxyyyzzxxzzyzxyxyxyyy{zzyzyyxyyyyyxzyzyzzzyyyyyzyxzzxzyzzzyyyzyxyyyyzy{yzzyyyyxyyzzyyzyyyzzxyyyyyxyyyzyyzyyyy{yxyyyx{zyzyzzxyxyyyyyyzzzyzzzyyxyyxxyxyyyyz{yyxywxzyyyyyzzyzzyyzyzyyyyzzyzzy{zyzyyyzyzyzyzy{zyyzyyyyyzzzyzz{zyzyyyxyyy{z{zz{yyyzzyzyyyz{zyy{yyzyzyyzzz{yzzzyyzzyzzyzyy{z{yzzzyzyzyyyzzyy{zzz{zyyyzzyyzzz{zzzz{yzzyyzz{zzy{z{zzyy{zzyzyyzz{{{z{yyzzzzzz{zz{{{zzzz{yzzzz{z{{{zzzyzyzyyzzzzzzz{|zzzyzyzyzzz{z{z{zxzzzzyyzyzzz{{{zzyzyyyyyzz{yz{{yyzyyyyxzzzyzyyzyyxxyywxyzyyyyzzyyyyyxyyyyxzyyyyyxxyyyyyxyyyz{yzzyyxyyxxyyzxxzzzzyyyyyyxyxyyyyz{xxyyyyyxyyzzyzzyyxyyzzyyxyyyzyzyyxyyxyxyyyyyxyyyyxyxzxxzyyzyyyzxxyzyxyxyyyzyzyzzzyyyyxyxxyyzyzyzyxyzxyyyzzzzyyyyyyyxyyxxyzyzzzy{yzyxyzyyzyyyyyzzyyxyyyyyyzyyzxzzzyyyxyxyzyyyzzyzzyyxyyxyzyzzzzzzzyyxyyyyyzzzz{zz{xzyzzyxyyzyyyzzzzyzxyyyyyzzzz{yxyzzzyyyzzyzz{z{yyzzyzzzyzyyzzz{xzyzyyzxz{{zz{{y{yyyzyzzzzzzzz|{zyyy{yzzzzzzzz{{yyyyyzyyy|{{zzzzzyzyxzzzzzxz|{z{zyzyzzz{yzz{zz|zzzzyzzyz{zzz{{z{{yyxzyzyxyzzzyzzzzxyyxyyy{z{yzzzzzzzxyyxzyzzzyyyyyxxyxxxzyzyxxyzyxyyxxyyyyzyzyyzyyxxyyyyyyyyzzyyyxyxyzyzyzzyyyzzxzyxyyyyyyzzyzyyyzyyyyyyyxzyzyzzyyyyxxxyxyzyzzyyzyxxyyyxyyzzyyzzxyxyxxyxyyyyzyzyyxyyxxyzyyyxzzzyyzzxxyyyxyxzyzzyzyxxyyxyyyyzzzzyxyxxyxyyyzxyy{zyyyyxyyyxyzzxzy{zyyyyzyxyxzyyyxyzy{yzyxyyyzyzyy{zyxyyyyyyyy{z{zzzzxyxyyyyyzyzyzyzyyzzyzyxyyzzzyzzzxyzzxyzzyzzyzzzyyyyzzyzz{zzzzzzxyxzyzzyzzz{zz{{{yyzzyyxzz{zzz{yzyzzyyzz{{yy{{{{zzyxzyzzzyzzz{{{{xyzyzyzz{y{zz|zzyyzzyyzzzz{{{{yzyzyzyzyzzzzzzz{{zy{zyzz{z{{y{zzyzzyzyzz{{zyy{z{zyzyyyyzyzzzyyyzyyyyyyyyzyzzzyy{xxxyyyxxyzzzzzyzxyyyxxxyzzzyyyzyzzxyyxyxzyzyy{yzzyxyyxxyzyyyy{yyyyxyxxyyzyy{yyyzyyyyyxyxzzyxyzzyyyyxxyxyyyyyxzyyyyyyxxyyyyzxzzzyyyyyyyxyyyyzzzzyzxyzyxyyxzyyzyzxyzyxyyxyyyyzyyyzxxyyxwyyxyyxxyyzyyyyyyyyxyyyzzyyyxyyxyyyyyyzyyzzyyyzyyzyyyyzzyzzyyyyyxzyyyzyzyzyyyyxzxxxzzyyzzzyyzyyyxyyzzyzyzyyyyzxyyxxzyzzzzzyyzzyzyyzzzzzyzzzzyyyyyyyzzz{{zzzyyzyzzyzzzxz{{z{yyyyyyyz{z{{z{zzzyzzyzzyzyzz{z{zzyzzzz{yzzz{z{zzzzyzyyzzyzzzz{zzzyzzzyyy{zyz{z{zzzzzzzzzzzzzzzz{{yyzyyyyyyz{zzyzzzzyzyyzyzyzz{{z{yyyxyyyzzzzyzzzzyyyyxywy{yzyyxzyyzyyxyxyzzyyyzzzyyxxyxyzzyyzzz{zzyyzzyyzzzzzz|{{yzyyyyyzzzzzzyzzyyxyyyxzxzyxyzzyyyzxxxxyzyzyzyzzxyyyxyyzzzyyzzzxyyyxzyzyyyzyz{zyzyyzyyyyzzy{zzyyyyxwyyyyzyzzz{yyyyxxyxxyzyzz{yzyyxyyyyyyyzyyz{zxyyzyyyxyzzzz{zzyyyyyzyzyzyyyz{zyyyyyxzyyzyzzzzzyyzzyxzyzyyyzzyzyzyyyyyxy{yzzz{zzzyyzxyyyzz{zzzzzyyyzyyyzzzzzyzy{yyyzyyzzzzyz{yzzzzyyz{zz{zzz{{{yzyyzyzyzzz{z{|z{zyyyzzyyzzyzz{{{yyzzzy{z{zy{zz{zyzyzzzzzzzzzzzz{yzzy{zz{{{z{z{z{yzzzyyz{{{{{zyzzyzzzyy{{z{zyz{{zzzz{zyzz{z{zzz{zzyyzzzy{z{zzz{yzzzyxyzyyzzzzz{zxyyyzzyyzyzzzzzzxyyyxyyxyzzyyyzzzxyxyxyxyzzyzyyzzzyxyyyyzzyyzzzzxyywyyyyzzzyxzzzzyxyxyyyzzyzy{yzyxyyzyzyyzyyyzzyyxyyzyyyzzzzyyyzyyyyyyzyyyzyyyyyyxxyyxyyzyzyzyyzyyzyyyyyzzzy{yzyyyzyxzzyy{zyzzz{yyzyyyyyzzyzyzzzzxyyyyxxyzzyzzzzyxzzzyzyzyzzyzzyyyzyyxyyzzyzyzz{yyyxyxyyzzyzzzzzyyyyyyyzzyzzzzz{yyy{yxzyz{yzzzzyyyyyzyyyzzzyyzzzzzzyyyzyzz{{zzzyyyzyyyyyzzz{yz{zzyzyzzzz{zz{z{z{yyyyyzyyzzy{{z{z{yzyzyyzz{{zzz|{zzyyz{z{{{zz{zzzzzzzyyzzz{zzz{z{{xzzzzyzzzzyy|{z{xzzyzzzzzzz{z{z{zyz{{yz{{zzz{z{zzzyyyzyy{z{zzz{zzyzyzyyzyzzzy{zzzyyzxzxzzy{zyzyzyxxxyyxyyyyzyzyyyyyyyxy{yzyyy{zyxxxyywy{yzzyzzzyyyxyyxxzz{yyzyzzyyyyyyyzyzyyyyzyyxyyyyyyyyxzyzyyyzyxxyyyzzzzzzyzyxy{yxxxyzyzyyyzyyxxxyyyyzzyzzyyzyyyyxzyy{yzzzzyyyxxyxxzyyzyzzzyyyyyyyxyyyyzzyyzzxyyyyxxzyyzzzzxxyyxyyxzyyyzzzyyyxyyyyyzzzzzzzzyxyyyyyzzzzzzyz{zzyyyyyyyzzyyzzzzyzyyyxzyzyzy{{zyzzxyxyyzzzzzyzy{yyyyzyxzzzzzyzzzzzyzzyzzyzzz{zzyzzzyyzzzzyzz{zzzyyzyzyzyzz{zzzzzxzzzzzyz{{zz{{{zyyzzzzzyzzzzzzzzzzyyyyzzz{zz{zzzyzzyyzz{zzz{zzzzzyzzzxzyzyzzzz{zzzzy{yyz{z{zz{zyzzyxzzzyzyz{z{zzxzyyzzyxzy{zyz{yyyyxyzyy{{{zyzyyxxxyyyyyyzyzzyyzyyyywyxyyyzyyzyyxyyyxyxyzyyzyzxyxyxxxxyyzyyzyyyyxyxxyxyyyyzyzzzxyyxyxxxx{{yzzzyxyyxyxyyzyyyxyyyyxyxzzxyzyyyyyyxxyxyyxxzyzyyyxyyzyyyxyyyyxyyyyzyyyyxxyyyyzyyyzzyzyyyxxxyzyyxzzxzxyxyzxxzyzyyzzzzzyzxxyyyyyyxzyzzyyzyyyzwzyyyyzyzzyyyxyyyyyyzyzzzyyyyxyxxzyzzzyzyyyyyzyyyyzyzy{yzyxyyyxyyzyzyzzzzyyyyyyzyyz{xyzzyzzyyyzyyyzzzy{zzzyzyyzyzyzz{z{z{yyzxzyzyzzz{{zzzyyzyzyyyz{zz{z{{zyyzz{yzz{{zzzz{{yzzyzyyzzzzzzz{yyyyyzzyy{zz{zzzzyzzzyzyzzz{yzz{zyyzyzzzyzyzz{z{zzzyzzzyzzz{zz{z{zyyyyyyzzyx{yzzyyyyyxyxzzzzzyyzxwxxxyzxyyzyyyzyyyyyxxyxzyzzzzzzyyyyyzyyzzzyzzzyzyzyyyxyzxzyyyxyyzyxxxyxyyyyyz{zzyyxxyyxzzyxyzyyxyyyxyxxzyyyyyyyxyxyyyyyyxxzxyzyyxyyxyxxyzyyyyzyyxyvywxxzyyyyyzzyyxyxyxyyzx{yyyyzyxzzwyxyy{xzzzyyyxyyyyyyyyyy{zyyyzyyzyyzzzzyyzzyxyxxzzyyzyzxzzyyxzxyyyxzzzyyyyyxyzyxyyxyyyzyzzzxyyzzyzyyz{yyzyyyyzxxyxyzyzzzzzzzyxyyzxyzzzzyzzzyyzzzyzyzzzzzzzzyzyyzyzzzzz{zzzzzzzyyyyyzzzz{zzz{xyyzyyzz|zyz{yzyyzy{{z{zzzzyz|z{yyzy{yzz{{zzzzzzyzyyyzyzzzz{z{{zyyyzyyyyzz{{{zzzy{yzzyzz{y{zzyyy{yy{zyyy{zzzzzzzzyyyxyyyzy{zyzzzyyzyxyyy{zxyzxyxyzzxxyxyz{yyyzzxzyxyyyyzzzyzz{zyyyxxyyxyyzyzyzyyyyyzxwyyyyzyxz{zzyxxxxxxyzyzzzzyyyxyzyyyzzyzzyyyzzyyyxyzzzyzyyyyyyxyyxxyzzzyzyywyxyyyxyyyyzyyzzyxxyxyyyyzyyzzzxyyyyxyyyxxyyyzyzxyyyyxyyyyyyyyyzyxyxyxyyzyyzyzyzyxyzyxxxyzzz{zyyzyxyzyzzyzyzyy{zyyzyyyyy{yyzyyzzxyyyzyyzyyzz{zzzzyyyyxxxz{zzzzzzyyyyyyyzzzxzzyzzzzxyyyyzzzzyz{zzzyyyyyzyz{z{y{{zy{zzzzyzzzzzzzz{zzzzyyzy{zzzzz{z{yyyzyzyz{zy{{zzzzzyzyyyzzz{{{{{zyz{{zzzy{{zzz{{zyzzzzzzz{{{{{z{{zyzzyzzzz{zzz{{zzzzzzzyzzzz{z{{yyyyyyyyyzzzzz{{z{zyzyyy{yz|z{{zzzzxzzyyzy{yz{yzxyxwyxxxxyzyyzzzzyyzxyyyyyz{zzyzzyxxyyyyzyzxyzzyyyyyxyxxyzyzyyzzyxzxxyyyzzzyyyzzyzyxxxyzyyyyyzzyzxyxyyxxyzyzxzyyyxxxyyxyyyyzyyyyxyxyy{yyyyyyzzyzzxwyxyxyyxzyzzzyyzyxxyxyyzyzzyzzxyxyyxxxyxyxyzyyxzyxxzyyyzxyzyzzyxyxyyyyyzzyyy{yyyyyyyzzzyzzyzyzyyyyzyyxzzzyz{zyzxzxwyxzxzzyyyzzzxzyyyyyyzzzyz{yzzzyyzxxzzz{zyzzzyzxzzyzzzzzz{yzyyyzyyzyzzyzzzyzyxzyzyzyyzz{zzzzyzyzyxyzzzzzz{z{zyzzyxyzyzzzzz{{zyzyyyzyz{zzzzz{{zyyzyyzyzz{{z{z{yzzzyzz{{{zyzzzzyzyzyzzz{zy{y{zzyyyyyyyzzz{{{z{zyyxzyyyyzyz{{zzzzzyyyxyzzy{zzyzyxyyyxxyzz{{yxyzyyxzxwyxzx{yyyzzyzxxxxyyyz{yyzz{zxyzyzyzzzyyzyyyyxxxxxyxyzzzyyzzyxyyxxyxyyyzzyzyzyzxxyxxyyyyyzzyzyyyxxyyyxyyxyyyxyyxxyxzyyyyzyyzyyyyxywxyyyyxyzyyzyzyyyyyxzzzyyyzyyxxxxyyyxyyzzzyyxxyxyxyyzyyyyyxyyyxxyzyyyzy{zyxyyyyyxyzzzyzyzzxzyyzyyxzxzyzzy{zyyyyyzyzzyzyzyzzyyxyxyyyzzzyzzzzyzyyyyyyzzzzyyzzyyyyzyxzzzzzzzyyyyzyxzyyzzzyzzzzzxyyyyzyzzzzzzzyyyyzyzy{z{{z{zzyzzyyyyyyzzzzz{zzyzyyzyzzzzzzzzzzzzyyyyzzzzzzzzz{yzzzzyyzz{{{zzzzzyzyyzzz{zz{z{{{yyzzyyyy{zz{z{{xyzyzzyzyz{zzz{|yzyyyyzyyzzyzzyz{zxzyzyxy{z{xzzzzyyyxyyyzzyzzyxyyyxywxyxyzxzzyyzxyyxxxxxyyyyyzzzxyxxyyyxzyyz{zzyzyzyyyxxyyyyyzxzzzyxxxxxyyyzyzzzyxyyxxxyxxyyyzyyzxzyyyxyyyyxzzyyyxyyyyyyyyyyyyxyyyyxyxxxyyxzyzyyyxyxxyxyyzyzyyzxxxyyxxyxzyzxyzzxyxyxyxyxxyxyyyzzxyxwzyyxxzyyyyyyyxyxzyyxyyyyyyzzyxzyzyyyzyyyxz{zxxyyxxxyyyyyzzz{xyyxyyyyxzzyyzzyyzyyyxzyyyyz{yzzyyxxyyxyyyzzyy{yyyxzyzyyyzzyyzzyyxxyyyyyxy{zzz{zyyyyy{yzy{z{zzz{yyyzyyzzzyyz{z{z{yzzzyyz{{zz{{{{zzzzyyz{yzzzz{{{zzzzyyy{y{zz{zzzyyzzyzxyzyz{zzzz{yzyzyyzyzzz{z{z{yyzzyyyzy{zyz{{yyzyyyyyzzzzzzzzyyyzxzyyyzyzzzz{xyzyyxyyyy{zzyxyyxyyyxyxyzzyyxzzyxyyzyyyzyzyyyzyyywyyzyxyyzyzyzzxyzyxyxyzxyyyzyyyzyxxyxxyyzzyz{zxxyxyyzyyzzyyzyzyzyyyxyyyyzyxyzyyyyyxyxyyyyzzyzyyyyyxxyyxyyyyzyzyyyyxzxxzyyyyyyzyxyyxxyxyyyyzyzzyyyxyxyxyyyyyxzzyzyxxxzyyzyyzzyzyzyyzzyyzzzzzyzyzyyxyyzyyzzyyyzzyzyyxxyyzyyzzzyzzyxyyyyxyyzzzz{zyxzyyyyyzy{zzzyzzxzxyzxxyzzxxyzzyyy{zyyzzzyyy{zz{zyyyzzyxzz{zz{zzzyzyzzyyzyzyz{zyyyyyyyyyzzyzzzzzyzyzyzy{zzyzy|{zyzyz{zzzzzz{{{{{yyz{zyyy|{{{z{{zyzzyzzzzzzzzzzyzyyzzzz{zzzzyzzzzyzyzyyzzzz{z{zzzyxzyyyyzzzzzz|zzyyzzyzyyzz{zzy{zzuzyxyzzzyzyyyxyyzyyyxyyzyyzzy{yyxyxyyxyxyzxxyxyyyyxxyxzzyxzyzzyxyxyxxxyyy{yyzzyyyxxxyxxyyzzyyyxxzyyyxxyzzxzz{zyyyyxxyyyyyyzzyyxxyyyyxyzyyyyzyyxyyxxyyyyyzxyzzyyxyyxwxyyyyyzyzyyyzyxyyxyzyyx{yzzzyyyxxxyyyyyyyzzyxyyyyzyzyyyzzzyyxyyyxyxyyyyzzzyxyyyyxyzzyzy{{yyyyxyxyxyzyzyzzzyyyyxyzyzzy{zyzzzyyxyxyyyzyyyzzyyyzzxzyyyz{yzz{yyzyyyxxyyzzzyzyzyyzyzwyyyyzy{zyzxyzzyxzyzzyzyyzzyyyyyyzyzzzzyz{yzzyzzxzzx{{|zz{zzyyzz{zzzzzzzzzzzyyyyzyzzzzzzz{{zzzzyzyy{y{zzz{y{yyyzyyyzzzyzz{zzyyyzzxyzyz{z{z{zzyyyyyyz{zzzzzzyzxzyzzyx{zzz{zzzyyxyxzyzyzzzyzyyzzyyyyyxyyyzyyzzyyyxyxyzyyzy{z{xzyyxzzyyzzzzzzzyyyxxyyyyyzzyzzzyyyyyxxyyyzzzzz{yyyxyxyxyzyzyyzyzyzzyyyyyzzyyyzxyyzyzyxyyzzyzyxyyyyxyyxyzyxyzy{zyyyxxyyxyyzyzzyyyxyxwxyxyzzyzyzyyyyyyxxxxyyxzzyzzzxyzyyyyzzyzzyyxxyzxzxyyzyyyyz{yzyyyxzyyzzzzyzzzyyyyyzyz{zzyzzzzyzyzyyyyzzzyzyzzyzyyzyyy{yyz{zzyzyyzyyyzzzzzzzyzyyyyyzyzzzz{zzyzyyyyzzyzyyyy{zyyzzzyxzyzzzzzz{{yyyyzzyzz{z{zzzzzzzyyzzzz{{|{zz{zyyzyyzzy{{zz{zzzyzyyz{zz|z{zz{{yyzyyzzy{z{|{zzzzzyzyzyyz{{y{{{{yyxzzzzyzzyzz{zzyyzyzyzyyyz{zzyzzzzzyzzyyzyyzz{zzy{yyzzzz{{yzzzyxxyyxyxwzyyzyyz{yyyx{wyyyzzyy{yzzyxxyyyxzzzyzzzzzxyyzyyyyzyyyzyzyyxxyyyy{yxzy{y{zyxyyxxyyyyzzzyxyyyxxyyxyz{xzzzyyyyzyyxyzyyz{zzyxxxxyyyyxxzxyzyyyyyyzxyyyyyyyz{zyyyyxyxyyzyyzyzzyxxyyyyyyyyyyyzzyyyxyxyxyzzzzyzyzyyxyxxyyzzyzyyyyxyzyyxzyzzzzzzzyyyxxxzzzyzzx{yzyyyzyyxyzyzzzz{yzzyyyxyxz{yzy{zyy{yyzyyyz{zzzyzyyyzyyzxyzzzzzzy{yyzxyzyyyz{{{{zzyyyzyzyyzzz{z{z|yzyzxzzzzyzyz{zyzzzzyxyzz{zz{{{zzzyzzzyzyzz{{{y{{yyzzzyzz{z{zz{zzyzzzyyz{zzzz{{zzyzxyxyzzzzzz{{zz{yzyzyzzzyzzzzyzzxyyzyyzyz{zzzyzxzzzyyyyzzz{z{zzyyyzyxxzyzzxzzyxywxyyxxyyzyyyzyyyxxyyxzyyyzyzzzzzyyyxxyzyyzzzzzzyyyyxyxzzyzyy{yzyyxyywyyyzzyzyyyyzyxyxyyzyzyzzyyyxyyxxxyyyyyyyzyyxyyyxxxyyzyzyyyyyxyyyyzxyz{yzyyyyxxzxyyyyyzyzyyyzxyyyyzzzzzzzyyxyyxyyxzyzyyzzxzyyxyxyxzyyyyzy{ywyzyzyxyyzyzyyzyxyxyxyyzyzzyzzzyyyyyyzzzzzyyyzzzyyyzyyxzzzzzzzzyyy{zy{yzzzyy{yyzyzyxyyxyzzzzy{zzxyyyzyz{zzyyz{yyyxzyzzzzzzzz{zzyzzzyyzzyzyzz{{{zyzyzyyzz{z{z{zzzyyyyzzyy{zzzy{zyyyyzz{zzzzyz{{zzyyyzzzz{{y{{y{zzzzzzzyzzzzzz{{z{yzyzzzzz{zzy{{{zyyzyyyzz{{zzz{zzzyyxyyyzzzzzz{zyzyzyzyyzzzzz{zzyyzyzyxyyz{xzyyxyzyxyyxyyzy{zyyzyxyyyyyyyzyyzzyzxyywyyyxzwyzy{zyyyyyyyxxyyzyyyzyyzzyxxyyyyyyyzz{yyyxyyyxyzzzyzyyyyyyzyxxyyyyxzyzxxyxzxzzxxyyyyyyyyyyxyyxxyyyyyyzzxyyxywyzyzxzzzzyyzyxyyyzyyyzyzzyyyxyxzxxxyyxyzyyxxyxyyyyzyyzzyzxyzyyzxxyzzzzzyzxzyyyzyxzzyzzzzzzyyyyxyyzzzyyzyzzyzzzxzxzyzyzzzzzyzyyyyzyyyzy{yzyyyyyyyyyyzyyzz{yyyyyzyyzzyyzz{yzyzyzyyz{z{{y{zyzzyyzyxyzyx{zzzzyzzyzyyyzzzz{{{zzxxyzyzzzzy{{zzzyyyyyzzzyz{zzz{z{yyyzzzzy{zzz{z{y{zxyyyz{{zzyzzzzyy{zzyyz{zzzzzzyyyzyy{zy{zz{yzzzzxyyzyyzzz|yzyzzzzzyyzxyy{zyzzzyyyyyyzyyz{yzzxyxyxyxyxwyzyyzyzzyxyyxyyxyyzzyyzyyyyxxyyyyyzzzzzyyzyyyyyzyzyyyxyzyyyxxyxxzyyzzzyyxxzyyyyxyzyzyzyzyyyyyxyxxyyyzzzyyyyxwyxzzxyyxyyzyyyyyxyxyyyyyzx{yxyyxyxyyyzyzzyyzyyyxxxyyyxxyyyzzyyzyxyxxyzyxyyzyxyxyxyyyyzyzzyyyyyyyzyyyyzzyyzzyxxxyyyzzzzyxzz{yzzxyyxyzzzzzzzzyyzyyzyyyyzzyzzzzyzyyyzyyzyyzzyzzzyzyzzxzzyyzyzyyyyyyyyyzzz{yzzzyyyzzzyzzzzz{zzzyzxyyyyzzzy{{z{zzyzyzyyxz{zyzzzzyzzyzyxyzzzzzzzzzzyyz{zzzzz{zz{{zyyzyyzzz{zz{y{{{yzzzyyz{{{zzzz{{yxyyyyyyzz{z{{zzzzzzzyzzyz{zzyzyz{zzyxyyz{zzzyzy{xzyyyyzyzyzy{zyyzyyyyxyzyyyyxyxxyyyxyxyyyxyyzzxwyyyxxyxyyzyyzzyxxxxyxyyzyyzyzzzyyyxxyyyxyzyyyyxyxxxyxyyxyzyzyzyxyxyzxxxyyyyyzyzxyxyxxxzyyyyzyzxyyywyyyyyxzyyyzxyxyzyyxyyyyyyzyxyxxxxwyyyzyxy{zxxxxyzyyxyyyyzzzxxyyxxyxyzyzyxyzxxxyxzyxxzzyyyzyyxxxyyxyyyyzyyzzyyyyyyyyyyzyyyzyzxyxyxyyzyzzzzzzxyyxyyzxzyzzyyzyyyzxyxyyyyzyzzzzzyyxyyzyyzzyyz{zyzxyyzzyzzzzyzz{xyzxzyxyzzz{{zy{zyyyzyzyzyy{{zzzyyzyyzxxzzzzyzyzzyyyzzzyzzzyz{z{yyzzzyzyx|yzzzzyzyzyyzz{y|zzz{{zyyzyyyyz{zzzz{{zyyzyzyy{zzzyy{zzyyyyzyxzzzzz{z{zyzxxxzyy{zz{zzzzzzyyyyyyyyyzzy{zzyyyyyzyyzyzyzzzxyxxyxxzyxyyyzzxzzxyxwwyyxyxyzzyxxyyxyxyzzyyzzzzyyyyxxyyyyyzyyzzyyxxxxyyzyzyyzz{yyyxxxxxxxyyyzyyyyyxyxyxyyyyyyyyyyyyxyxyyyxyzyzzxxxyyyyyyyzzyzzyyxyxxxxyyzzxzzyzyyywxxxxyyyzzyyyyzyxyxxyxyxzxyyyxyxyywxyzzyyzyyzyyyyxzxxyzxzzzyzyyzyyyyyzyzyzzzyzzzxxxyyyyzyzzzzzyxxxzyyzyzz{yzyyxyyyyyxyzyz{zyzzzyyzzyxyyzzzzzzyxxyyyxyyyzyyzyzyzyyzyzzzzzz{yzzyzzyyyyyz{zzzzzzxzzyyyyyzzz{{zzzzzzyyyyyzyzyzy{zzzzzxzzy{yzyzzz{zyzzxyyz{zzzzz{zzyyzzyzyzzzzzzzzzyyxyzyyzzz{y{zz{yyxyyzyy{zyzyzzzzyyyyyzy{z{z{zzyyyyyzzyyzzzyzzzyyzxyxyyzzzzzyyzxywxxyyxyzyyyyyzyyxxxxyxyyyyyzzzyxyzyzyxzzyyzyz{xyyyzxyyyyxyzz{yzyxyxzyxxzyyyyyyyxyyyyxyxyyxyzyzzyyyyyyzyyzyyyxyzyyxyxyxxxyzzyzzyyyxyxyxyyzyzzyxyxxywyxyyz{xzzzzyyyzyyxxyyyzzyy{yyyyxxxxxyzyzyxyyyyxyyzyyzyzxzyyyyzxyxyyyyzxzyzyyyyyyyyyzzyzzyzyyxzzxyyyyzyzyxzzxyyyxyyyxzyyzzyzzxyyyyyzxyzz{yyzxxzyyxyyyzzzzzyyzyyyyyyy{zzxyzzzzzyzyyyzzzzzyyzzzyzxyzzyzzzzzz|zyyyyyyyyzzzz{zzyzyyyzzzyz{zzzz{{zyyzyyzzzyzzz{zz{zzzzzyyyzz{{z{zzyzyzyyxzzz|zz{{zyzyyzy{z{zzzzz{zyyzzyzzz{zz{yzzzyzxyzyzy{zyyyzzzyzyyzyyyzyyzzzzyyyyyxyyyyzyyzyzyyyxyyxzyzzyyyzzyyyyxxyzyyyzzx{zyyyxywyyzyyyyyzzyyyxyxxyyzyyxyyyzzyyxwxxzyyzyzyzxwzyxyywyyxxxzyyzyxxyxzyyx{yy{yyyyyyxyyxyyxzyyy{yyyxyxyxyyyyyyzyyxyzxyyyyyyyzzxxyyzyxyyxxzyyzyyxxyyxyxxxyzyyzzyzzyxxxyxyyzyxyzyyxxyxyyyyyyzyzzzzxxzyyxzyzzzyyyyyyyyyyxzyyzyyzzzzyyzzyyyyyzyzzzzzyyyywyyzxxzz{zyzyyyyyyxyyzzyyyzyzyxyyyyx{yzyy{xzyyzyyyyyzy{{zzyzyzyxyyzyzzz{zzz{yzxzyxyyzyzzzzz{yyzzyxyxzzzz{{{|zzyzyyzzz{zzz{z{zyy{yyxyyy{zz{zzzxyyxzzz{zzzyyy{zyyzyzzyy{zxzzz{{zyzzyyzyzzzzzzzwyxxyyzyyyzzzy{yyyyyyyyyzzyzzyzzyyyyxxyyyzzyyyxyxyyyxyxxy{zxzyzzyyyyyyxyyyyyzzzzyyxxxyzyyyyzzzzyywyyxyyyyyyyxyyyzyyyxxywxyxzx{yzyxxyzyyxyzxzxyzyzyyxxxxyyyzyyyy{xyyxyxwyyxzzzzyyxyxxxxyyzyyxyzyzyyyyxxxxyzyyzyyzyyxyxxxyxxzyyyzzyyyzyxyxyzzyyzyzzyyxxxxyyyyxzyzzyyyyyyyxyyyyzyz{yzywzyyyyyyzyzzyyyyyxyyyyyyzyzzyyyyyyyzyzzzyzzzzyyzyzwyyzzzz{zzzyxzyyyxzxyzzyxyyyyyyzyyyz{zzzzzzzyyyyzyyz{{zyzyzzyzzyyyzzzy{z{{zzyyzyzzyy{yzyzy{zzzyzyzzzzyyz{{zzzzxyzzzyy{yz{zzzzyyyyyzz{{z{zzzz{zzzyyyzzz{zzzyyzzyzzyzz{zzzz{zzyyzyyyyyzzzzz{zyyzyyzzxzzzzzzzyyyyyzxzzz{y{zzzzyxzyzxyyyzzzzzyyzyxxxxxyyyzyzyzzyyyxyxyyyyzzzzyyyyyyyyyzzyzyyzzyyyzyyxxyxzy{yyyyxyyyyzxxzzzzzzz{xyzxyyxyyzzzyzzyzyyyyyzyyyzyz{yyyyzxyywxzxyzzzzyyxxyyyyxzyyzyyzzzyyxyxxyyzyyyzzyzyyyyyyzzyyyzzzyyyxyyyyxyzyzyzyyyyyxxyyyyyxzz{zyyxyzyyyyyzyyzy{zyyzyzxyzzzzyzzzzyyzyzyyxzyzzyzzzzyyyyyyyzy{zzy{{zyzyyyyyyyzzyzzzxyzxzxyxyzzz{y{zyyyzzyyyzzzyyzz{zxyyzyyyzz{{z{{{yyzyyzzzzzzzzzz{zzz{xyyyzzz{zzzzzz{yzyzyzyzz{z{z{yzzyz{yyzzzzz{{zyzzyzzzy{{zz{z{{zzzzyzy{{yzz{{zzzxyzzzzzyzyzzzzzzzzz{zy{yz{yzzzzzzxzyyzzzzzzzz{zzyyzyxzzzzyz{{zyyyyyyyyzzzzzzyyxyyxyxwyyzzxyzzyyyyzyyxyyzyyzyy{yyyzxxywyyzyzzzyyyyxxyxxyzzyyzzyzxyxxxyxzzyyzzyzyyxxyyyxyyyyyyzyzyxyyyxxyyyyzzyyzxxxxyyxyzxzzyxyyyyxyyyyyzyyyyyyzzyxxxxyxyyzzyyzxyyywyxyyyyzyyzzyxywzyxxyyzyyzzzyyyyyzyxyyyyyyzyyxxxxyxzyzyyyzzzyyyxyxyyyzyzzxzzyyxxyxyxyzyzyzyxyzyyyxyzyzyzzzzzzyyyzxyxy{xyyzzyyyyyyyyxzzyzyzzzzzyyxzyyyz{yzyyyzzxyzyzyyzyzzz{zzyzyyzyzzzy{{z{zzzzyyyyzzzzzzy{zzyzyzzzz{zzz{z{zzyyxyyzzz{z{{zzzzyzzzzyzy{{yzzzz{xzyyyyyyzzzzyz{zz{zzzxy{zz|zz{{zzyyzxzyyz{{{{{zz{yxzzyyy{zzzzzyzyyyyyyxyzzyyzzyyyzxzyyyzyzyzzyyyxxyxxxxxyzzyxxzxyxyywxyxyyyzzzyyxyxzxyxyyyzyyyyyxxxxxxyyyzxzzyyyyyxxwyxxyyzyzyyxxyxxyxyyxzyyyzyyyxyxxxyyyyxyyyyxxyxxyxxyxyyxxyyyxyxyxyxyyyyzyyyyywyxyyyyyyyyyzyzxyyxxxxyyyyzyyyyxyyxxxzxyyxyyyyyyyxxxxxxyxyyyzyyxyxyyyyyyyyzyyyyxyxyxyxxyyzyy{yzxyxyxxyyyyxyyzyyzyyyxxyzzzyzzzzyyyxyxyyyzzyyzyyyxxyyzxyzyzzyyzyyywxyyxyyzyzyyzyzyzzyyyyyyzzyzzzyyyxyyyyzzxzyzyzyzyyyzyyzz{yzz{zyxyyyzyzzzzzz{z{zyzyyzzyzyzzyzzzzzyzxz{yy|zzz{zz{xyyxzzy{yzzy{zyzyxxyyyyzzyyzzzzzyzyzzyzyzzzzyyzyzzxyyyzyzzxzzzzyyyyyyyzxyzz{zzyyyxyyyyxyxyyyzzzyyzxyxzyyzzyyyzzyzyxyyxyzzyyyzzyzyyxyyzyyyyyyzzyyxyzxwxxz{yzzyzzyyyxyzxwyyyzyzzyyxzxyxyyyzyzzzzzxxzxyyyyzyyyyzyzxyyxyxwyyxyyyzzzxyxxxxyxyzyxz{zzyyyyxyyyyyzzyzzzyxzyyzxyyzzyzyzxzxyyyxyyxyxyyzzzyyxyyyyyxzzyzzyzyyzyyyyyyzzyzyzzyyyxywzyzyzzzyzzyxyyyyzx{zzzzyy{yzyyyyyyyy{zyyyz{yyxzxyyyzzzzz{yyxyxyzzxzyzzzyzyzzyzzyzz{zyzyzzzyyyyzzyz{yx{z{{yyyxyzzzzzzyzzzzzyzz{zyxxyzzz{zzzzzxyzzyyz{zzyz{zzzzzzz{zz{zzz{{zzzyyzyyxy{{{zz{zzxyyzxzzzzzz{zzz{xyyzyzzzzzzzzzzzzxzzyyz{y{zzzz{yyyyzyyyzzzz{zy{zzyyzyzzz{yzyyzyzyyyzyyyyzzyzyzyyyyyxxyyxzyyyyzzyzyyzyxyyyyyzzzyzxyxyyxxyxyyzzzzzyxyxyyyyyyzxy{yyyzxyzxxyyyzzyzzyxyxxwyxyyx{yyzyyyxyxxyzyyzyxyzzyyyyzyxyyxyyyzyyyxxyxyyyxx{zzyzyyxyyyyyxyyyyxzyyyyzxyxyxxxyzyyzzyyyxxxyyyxyyxxyzzxyxxxyxxyyyyyzyyxyxxyyxzxyzyyyyyyyxyxyzyzyyzxy{yyyyxyyyzzzzyyzzyzzyxyyzyz{yzy{zzyzxyxzyyyyzy{zzyyzyyzyyzzzzzz{yz{xxyyyyzzyxz{zyzyyyzxyxyzzzzz{zzyyy{zyzz{zzzzzzyyyyyxyz{z{zzyzzzxyzzzzzz{zz{{zzyyzzxzzyzyz{zzz{{yyyzzzyzzzz|zzzzyz{zyyyzzzzz{{yzyzxzzyyyzz{zz{yz{{yzyzyyzz{zz{{zxzxyxyyzzzyzz|zzzzyyzyyzyzzzzzzyyyxyxzxzzzyzyyyyxxyxxxxxyyyzyyyyyyywwyxyyyzyzy{yxxxxyyyzyyxzzzzyxzyyyxxyyyyxyz{yxyyxxxyyyzyyyzzxxyxyxxxyyyxxyyzyxyxxyxzxxzyzyxzyyyyxyyxzyxyxyyzxxxyxyxxyyzxyzyyyxzyxywxyxzyzxzyxyxyxxwxxyzyyyzywxxyxwyxyzyyyyz{yyxyyywxyzyyzyyyyxzyxyyyxyzzyzzyyyzxxyyyyzzzyyzzyyxyyyyxzyzyxzyzyyyxzxyyyyyxyzyzyyyxyyxxyzzzzyyzxxxxyxyyyyzyzzzyyyyyxxyxzzyyyzyyyxxxyzyyyzy{zzy{yyyyxyyyzzy{yz{{zyzyyyyyyzzy{zzyzyyyyzzzyzzzzzzyzyzzyzyyzyzzzyzy{zyxz{zyzzzyzyzzzz{zyyyyzyyzzzyyyyyyzyyzyzzzyzzzzyyzyyzyyyzyz{zzzzyxyyyyyyyzzzzz{yxxyxyyyyzzzzzyxzzxyyxxyyyzyyyyxyxyyyyyyzyyyyzyxxyyxxyxxzzyyyyzyyyyxyxyyyyyzzzyxyyyywyyyyyyyyzyyyyxyxxxyyyxyyzzyzxyyyxxyzyxzyyyzyxyyxyxyyyxxyyzyzxyxxxxzyyyy{yyxyyxzxyyyyxzzyyxyxxxxxwxyyyyzyzzyzyywyxxyyyyyzzxxyyyyxyxyyyyyyyyzyxxxxyxyzyzyzyzyxyxyyxyzyyyyy{zyyzyxxxyyyzyyzyyyyyxyxyyyzyxyyzzxyyyyxxyyyzzzyzzyxyyyxzyyyyzzyyyyxyyyxxyzzzyyz{yyyyyzyxyzzzzyzyyyzyyzyyyzyzzz{{{xyy{yzyzzzzzyzzzyyzxyzxzzz{zyz{y{yyyyzyyzzyz{zzzzyzyyyyyyyzzzz{zzyzzyyyyxzz|{zz{zyz{yyyyz{yy{yyzzyyzzyz{zzy{zz{zyzyzzxyzzzzy{zz{z{zyzzyyzzzyzz{{zyyyyyzxyyz{yyzyxzzyxyyzyzyy{yyyzxyxxwxyyyyyyyyyyxyyxwyxyzyyzyz{yzyyyyxxyyyzzzy{yyyxzxxxxxy{y{{yyyxxxxyxyzyyyyyzyxxxxyyxyyxyyyyyyyyxwyxyyyyyyyzzxyzxxyxyxyyyzzxzxxxxywyyyyyyxyyyyyxwyyxyyyzyzyzyzyxxxyzxyyzyzyzyyxzyzyxxyxyxyyyyyzxyyyyxyzyyyzyywyxyxyxxyyzyzy{yyyxyyxyzyzyyyyzzzyzyyxyyyzxzyzzzyyyyyxxyxzzyzyzzzzyyxyyxyzzyz{xzzyyxxwyy{yzyyy{yyxyyyyyyzzyzyzyzzyyyzyyxz{z{zz{{yzzyxyxyyyzyzz{{zzyxzzyyzzzyzzzzzyyyzz{yzzyzzz{z{yzyyyyzzzyyzyzz{yyyyzxy{|zzz{{zzyzyyyyy{zzyyzz{yyyyyyxzzyzzzzy{zyyzzyyyzzzzyzzzzyzxyyyyyzzzzzzyyzyyzyzyyzy{yyzzzyyxxxyxyzy{zzyyyxyxxxyyyyzxyzyzxxxyyxxzyyyyyyyyyyxxyyyyzyxyzzxxyxyxyxxyyyyyxyyyyzyxxxyyyyzyyyyzyxyyzxywxyyyyyyyyxyxxxxyyyzyxzzyxxyyxxyyyxyyxzyyxyxxyyxxxyyyyyyyxyxxzywxyyzyzyyyzyyyxxxxyyyyzyzyyyxxxxyyyyxyyzxyxxyxxyxyxyyyzyzyyyxyyyyxyzyyxyzyyzzyxyyyyzzyyyyzyzyyyxyyyzyyxzyyyyyyxyyzyyzyzzyzzxyyyyzyyzzzyzyyxyyyyyyxyyzzzyzzyyyyyyyyzzyyz{yxyzyyyyzzz{z{z{yzyyzzxyyyyzyzz{z{yzyzzyyyz{zyzzzzzyxz{yzyzzzz{z{{zyzzyyzzyzzzz{{z{yy{z{yyy{z{|{{{zyzzyxzyzzyzzzz|{zyzyyyy{zyz{yz|zyzzyyxzzzz|zyz{zzyyyyyyy{zyyz{zyzzzzzyyzyyz{yzzzz{yyyyyxz{zzyxzxyyyyxyyxyzyyyyyyzxyyxwyyyzxyzzzzyxwxxxyzxzxyzzzyxyyyzxyzyyzyzyyxxxxxxyyyyzyyxzyxyyyxxyxxyxyyyyzyyyyxyyxyzzyxyyyyyyyyyyyxyyzyyzyxyxyyxyyyzxyyyyyyyxyxxyyxzzyyyyyyxyyxxyyyyyyyyzyxyyxzwyyxzyyyyyzyxxyyxxxxyyyyyyzxyyyyxyyyzyyyyzzyzxyxxzyz{yzyyzzzyyyyyxyzzzzyyyzzxxyxyyyyzzyzzzyzyyxzyxyyzyzyzzzyyyzyyxyyyzzyyyzzyyyzxyxzzzzyzyyzyyxyxyyzzy{zz{{yzzyyyzzzzzzzyz{yyzzyzyyyzzzy{{yzyyyyyyyzzyy{zyzzyzyyz{z{{yzz{zz{yzyxzyyz{{zzzzzz{zyxxyyzyzzzzzzzzyzyyyyzzzyz{{z{zyyzyyzzzz{{zz{y{yxyyyyzzzz{{z{yyyyyyzxzzzz{z{yxyyyxyyyzxzzzxyzyzzxyyyyxyzzzzyyyyxyyyxyxzyzzzzyyzyyyzzxyyyyyyzyyyyyyyxyyzyyyyyyyxzxyyyxyyyzy{yzyyyzxxzxyzyxyzzzyyyyyyxxyyyzyzzyxyyyxyxyzyzzyyyzyyyxywxyyzzzyy{yyzxxyyyyyyzyyyzyyyzyxyxyyyzyzyzyxxyyxyxwyzyyyzxzyyxxyyyxxzyyzyyzyyzxyzyzyzyyzz{yzyyyyxyyyzzyyzzzyzyyyxyy{yzzzzyzyzyyyxyyzyzyzzz{zy{zzyyxy{yyyzyzzyyzyyxyzyzyyyzzzzyyyxzy{zyyzzzyyzyyzzzzzzzyzz{{yzyyyzzyyyz{z{z{yzzyyyyz{zzzzzzzzyzzzyyz{zzz{z{y{zzyyzyzzzzz{zzzzy{zzyyzz{z{z{{zzzzzzzyzzzzyy|{{yyzzzyzyzzzyz{{{zzyyzzyy{zyzz{{zzyzyyzxzzzz{zzzzzyzzyzzzyzz{yyzzzy{yyzzyzyyyyzzyxwyxxyyyzzyyyyzzxyyyyxxzyzyyzyzyyyyyzxyyzyyyzyzzyyxxxyyyyyyzxyyzyxyxwyxxxyyzx{zzyxxyyxxxxzyxz{zyzxxzxyyyyyyxyyyyyxyyyyxyxyzzyzyzyyxyxyyxywyyzyzyzyyyxyxyyxzz{zzyzyxxxyywyyyyyyyzyyyyyyyxyyxyxyyyyzyxyyyyyzyzyzyyyyzyyxxxyyzzyyzzzyyxyxyzzzyyyz{yyxyyyxyyyyzzzxyzzyzyyxyxzyyzzzyzzxyyzyxxzyxyyzyyzxxzyyxxzy{yyy{zyyzzyyyy{{{yzyzyzyyxyxyyy{z{yzzzwyzxzyzxzyzzzz{{zyyyyzyyzzzz{yzyzxyyzyzxz{{zzz{zy{zyzz{yyz{{z{z{zzzzzzzyz{zzyz{{yyzzzxzzzzzzy{zzzxzzzyzzyzzz{{z{zyyyzzzyz{zyyzzzzzzyyyyzz{z{zzyzzyzyyyyxz{zzyzyzyyxyzyyyyyzyzzzzyyyxzyyyzyyzzyzzxxyxyxxy{yzyyzzyzyyxxyyyzyyyzyzzyxyyyxxyyyz{zzzyzyyxxxxxyyzzzyzzyyyyyyyyyzyyyzzyyxyyxxyxyyzyxzzzyyyyxyxyyyyyyyyzyxxyyxyxzzyyyzzzxyxyxyxxyyyyyyyywxxyxyxxyyzyyzyyzyyxyyxxyyyyyzzyzyxxyxyyyzyzyzzyxxxyyyxxyzzyyz{yxxyyyyyxy{yzzzzzzyyyzyyyyzyzyy{zyyyyyyyzzxyyyyyzyyzyyxyyzzzzy{y{xyzyyzyxyzzyzzzy{yyyyyyzzyyyz{zyyyyyxzyyyzzzzzzzyzzyzzyxyzyzzz{zzyxzzyxzzzzzzy{zyxyz{yyzz{z{{{{{zzzyzzyz{zzyz{{zzyzzzzy{y{{y{{zzzyyzyzzz{zz{z{zzzyzzyzyyyy{{zz{zzzzzzzzz{zzz{zyzyyzzyyyzzzzzzz{{{zyyyyyzyyyzyyzyyyyyzyyyzyzzyyxyyxxyxxxxyyyxyzyzyyyxxzxxxyyyzzz{zyyyyyyxyyzyzzyyyyyyyxyxzyyzyxzzyyyxxyxyyzxzzyxzzyzyyyxxyxyyyzzyyyxxzxyyyxzyyyzxyyxxxxxxyyz{yyzyyxzyyyxyyyyyzyyyyyxyxywzyyzzzyy{yyyxyxxyyyzzzzzzyxyyyyxywyyyxxyyyyyxxyyyyzyzyzyzxxyxyyyxzyzzzyzzzzyyxxyyzzyyzzzyyyyzyxyzzyzzzyyzxyxyxxxyzyzzzyzzyzzyyxyyzzzzzzzzyxyyyyyxzyzzzz{yyyyzyyyyzzzyzzyzyxyzzyyyzzzzzz{yyzyzzyyyyyzzzzzzyyyyyyyxxzyzzzz{{zzyzzzyz{zzy{z{yzzzyyzxzzzzz{z{zxzyzzzyzzzzz{{{yxyzyyyyyzzz{{{{zyyzzzyzzzzzzz{{zyyzzzyz{zz{z{zzyzyyyyyyz{yzzz{z{yyyyzzzyyz{y{zzzzzyyyyyzzzyyzyyyxxxyyyyyxyyyyyzyyxxyxyyyyyzzzyzyyyxyxxyyyyzyzzzyyyyyyyyzyyyyyyzyyyyywxwzxzyyyy{yyyxxxxyxyzyyzzzyxyyyyxxyyyyxyzzyyyxxzyxzyyzyzzyyxxxyyyyyyyyyzyzxxyyxxxxyzzyyyxyyyyxxyxyyzyzyzyyxyyyyyyxzyzzzyyyyyyxyyyxyxzxzzyyyyyyyyyyzxzyzy{yyyyyyxzxzzyzyyyzzyxyyyyxyyzyyyyyyyyxxzyyyzyzzyzzzyyxyxyxyzyyyzzzzyyyxzyyyyyzyzzyzyzzyyxyzzzzyzzzzyyyyyyyy{zzzzzzyyzyzyzyyyz{{zzzyyyyzzyzzy{z{z{{{yyyzyyzy{zyz{zzyyzyyyyzzzzzyzz{zzyyzxzzz{{zxzyzzzyzyxzzz{{zzz{zxyyzzyzzzzzzyyzzzyyyyyzxzz{{zzzzyyzzyyyyx{zzzz{z{yyyxxyyzzyzz{{zyyyx{yyyz{yyzzyzxxxxywyyzyyyzxxzyxxyxwxyzyyyyzyzyyxwyyyxxyyyyzyyyyxxyxxyyyyyyyyzzxyxyxyxyyyzyzxzzyyxyxxxxyyyyyzyywyxyyxyxyyxyyyxyyxyxxxyzyyyyyxyyxxyyxyyyzyyyyzyyyyyyywyyyzyzyxzxyyxxyxyyyxyyyzzzxyxzxyxyyyyyzxyxzyxzxxyyzyyxyzyxxyyxyyxyzzyzyzzyxyxywyyyyyyyzyzzyzyyyyyyyzyyyy{yyyxyxzyyyzzyzzzyxyzzxzwzyxyyyyyzyyyyyyxzzzzzyzzyxyzyxyyzyyyzyyzyxzyyyyyyyzzz{zzyzzyyxzyyyy{zyzzzyxzyxyyyyzyzx{yzyxzyyyxz{zyz{zz{zzzyyyy{zzz{zyyzxzzzzzyzzy{z{zzzzzzyyyyzzz{z{zzyzyyzzyyyzyzzyz{yzzyzyyyzzyzzzzzyyyyyzxzyzzz{zzzzyyyyyyxzyzzyy{yyyyxyxyyzzyzyyyywyyxxxyxxzxyyyyyyyxxyxxxzyzyzyyzyyxxxyxyzyyxzzzzyxyxxyyyyyyyyy{yzyyywxxyxyyyzyyyzyyyyxxwxzzyyyyzyxyxyxxyywzxxzyyyyyxxyyyxzyyyyyyyxzxyyyyyzyzxzzzyxxyxyxxyyyyzzzzyyyxyxxyxyzyyxzyyyxxywxxyyyyyyyyxxxyzwxyyzywy{yyxyzyxxxwxzyzzzzxyyyxyxyxzyyzxzyzyyyxwyyyxyyyyzxzyxyxxyxxyzyyzzzzxzxxxyxyzyyxzzyyzxxyyxwwyzzzyxzzyyxyzzzyzzzyyzyyzyyyzzyzzyzz{zyzxyxzyyyxzzyzy{y{zyyyzyyyyz{zzzzzzxyyyzyyyz{zyzz{zzyzzyyyyzzyzy{{zyyyxzyzyzz{zyzzzyzzyxyyzyzzz{z{zxyzzyyzyz{zzzyzyzyzyxyzzyyzz{zzyyyyyyyxzzzzzzz{yzyyzyzxyyyzyzzyzyzyyyxyzzyzz{yyyxxxyxyxzyxyyyyzyxyyyxwxyxyzzzy{zxxxzxyyzyyzzyzyzyyyyxxyyyzyxyzy{xyywyywyyyzxyyyyyxyyyyyyyyyzyyxxxywyyxyyyyyxyyyxyyxyxxxyxyyyyyzyxxyyyyxxzyyyzzzyxyyxxyyxyyyyzyzyyyxyxxxxyyyyyyzyxyxxxxxxyyxyyy{yyyyxyxyyyyyyzxzxyyxxyxxzzyyzy{zyyzyyxxxyyyyyyzzzzyyxyxyyzzyzzz{zxyyyyxxzyyyyzzzyyyxzyxyyyzyzzzzyyyyyyxyyyyyzzzzzxxyyxxyyzzyyzyyyyzyyzyzy{z{zzzzyyyyyzyy{zyzyzz{yyyzzzzyyzz{zyzzzzxzxyyzzzyzzzzyzzzyyz{zzzzzz{zzzzz{zzzyyzzzy{z{zzzzxyzyy{zzz{zz{xyyzyzyzzzz{z{zy{zzyyzyz{yzz{y{yyzyyyyyz{yyyzzzzyyyyzyyzyyyzzzyyzyyzzyyyyyzzyxzyyxxyxxyyyzyyzyyxxyyxyzxywyzyzzzzyyyxyyyzyyzzzzyyxzyxxyyxzyyxzzzzzyzxxyyyxyzyyyzxyxyyyyxzyyyyyyzzyyxyyxxyyzxyzyyzyxyxyxxzwzzxywzyxxyyxyxxzyxzyzyxwyyxywyxzzyyyy{zyyyxxxxyyyyyyzyxyyxxxywyyyyzzyyyyyyxyyyzxyzzyyzxyyyxyyxyyyyzyzyxyyyyxyyyzzyyzzzzzxyyxyyzzzyy{{{yxyyyxxy{zzzyyz{yzyyyxyyzyyzxzz{zyyyyyyxzyzzz{zyyxzyyzyyyzyzyy{zyzxyzyyyyzzzz{z{yyxyyyzyzzz{zzz{yyyzyyyyzz{z{yz{yyzyzy{yzzz{zz{zzyzyzzyzzzyzzzzzyyyyyzyzz|{yzzzzzyyzyyz{zz{zy{zzzyzzyyyyyy{yzy{zzyyz{yyzzzy{zzz{zzyyxyyyzzyyyz{zzzyyyyxzzyzyyyzzyyzyyyxyzzzzzyyzyxxyxxxyyzyyzyyzyxxyywyyyzzyzyzyyyxxyxxyyyyyzyzzxyxyyyyyyyzyyyyyzzyxxxyxyzzyyzzzxyyxyxxxyyyyyzzyyxyyxyxxyxyyyyyyyyxyzxxyyyyzyzzywyxyyxyxyyyxyyzyxxzyyxyyzzzyxyyxyyyxxyyxyyyyzxyzyyyywxxwzyxxxzzyyyyyyyyyxyyyyzyyxxxyxyxxyzyzzxzyzyxxyzxyyzzyyzzyyyxyywxyzyyyzzyyyxyyxxyyzzzyyzyzyzxyywyyxzzzzzyzyz{xyyyzyzyzyzyzzxzyyzzyyzzyyyzzyyyyyyyzzyz{z{zzxyyxzxyyzzz{z{z{zzzyzyyxzyzzzzzyzyyyyyzyz{{yzzyzzyyyyzzzyzzzzzzzzzyyzyyyzzzzzz{{{yzzyyzyzzzz{z{zzzzzyzyzyzzz{zzzzyxzyyyy{z{{zy{zzyyyyzzzyyy{yz{yyzzyyzzzyyzyyzzzyyyxyzyyyz{yyzyzyyxyxxyxxzzyzzzzyzyyxxxyxzyyyzzzzyyxxyyyzyyyyzzz{xxxyxxyyyzyyyzyyyxyxxyyzyzyyyyzyxxxyxxxyyyyyzzzzyyxxyxyxyyxyyzyxyyxyxxxyyyyyzxyxxxxxyxyxyyxyyyyyxyxxyxyxyzyxyzyxxyxxyyxxzyyyzzzyxyyyxyxxyxxyzyyxyyyyyyxxzyyyyyzyxyyxyyxyyyzyyzyyyxxyyyyzyyyyyy{yxzyxwyyyzzz{zz{xyzyyyyyyyyyzzzzzzzxzzyyyyzyzzxzyyzyxyxxz{yzzzzyzyyzyyyxzz{yyzyyzyyxyzyyzyzyyy{zyzxyzyyyzzyyzzzzyzxzyzyzzyzyzyzzyyzzyyyyzzzzz{y{yyxyzzz{zz{yyz{{{zzzyyxyyzzzz{{zzzyzxzyyzz{{{zzyyyyyyyyz{zz{{zzz{yyzzyyz{yyzy{zyyzyyyyzxzyzyz{{zyzzyyxyyzzyz{yzzyzyxyyyyyzzyzzxyyxxxyyyxyzyxyyyzxyyxyyyyzyyyyzzzyyxyzyyxyzyzyzzyyyxyyxyzyzzyzxzyyyxxyxyxxxyyyyzzzywyxyyyxyxyyzzyxyyxyxyyyyzyyzyywxywxyyxxyyyyyyyxyxxywyxxyzyyyyzyyyxyyyyyyzyxyyzyyxyxyyxxyxyyyzzxxxxyxyxyyzyyyxyxxxxxwyxxyzyzyzyyxyyxyyxyzyzyz{zyxyyyyyxyyzyyyzzyyyxyxzzyzzyzz{zyyzyyyyyyzyzyzyyzyyxyxyxzzzzyzzzyyyyyxyxy{zzzzzyzyyyyyyyyyyzyzyzzyyyyyzzyzz{zyzzzyzyyyyyz{y{yzz{yzyzzyyy{zz{zy|zzyyz{yyyz|yzzyzzzzzyzyzyz{xzzz{{{zyzzyyzzzz{{z{z{yzzyzyxzzzz{|{z{yyzzyxzzyzy{zz{{xyzyzyy{zyzzzz{yyyzyyyyzzzzz{{{zyzzyyyxz{yzyz{zyyyzyyxyyzyyyzxyzyxxyxxxyzzzzxyzxyxyxyxxzyyzzzyzyxzyxyyxzyzyyyzzzxyzyxyxyy{zzyzzyyyxyxyxyyzzzyyzyyzxyyxxyzyyyzzzzyyyyxxxyyzyyyzyyxyxyyxyyyyzzzzzyxyxxyxxxzxyyzyyxxyzxyyyzyzyzyzzyyyyxxxywyzyyyzyyyxx{yywxyyxyyyzyyyxyyyyyzzyyyz{xyyzyzzxxyyzyyyyyyyyxyyyzzyzzzyzzxyyxyyyyzzzzzyzzyyyyxyxzzzyzzzzyyzxyzyyyzzyzyzzxyxyyyyyyzzzy{zyzyxzyyzzyzyzzzyzyxzzxxzzyyzzzz{zyzzyyyyy{yzzzzy{zzzyyxxyzzyy{zzzzxyyxyyyz{{z{z{{zzzzyzzzz{z{{{zz{yzzyzyyzzy{zzz{zyy{zzzy{zyzzz{{zyzyzzz{{zzy{z{yz{zyyzyzzz{zyyz{zzyxyzxyyzzzzz|yzxyyyyzyzzz{zyzzzyzyzyyy{yzyzyyyxwxxyyxwyzyxzyzzzyyyxxywyyzzyzyyyxyxxyzwxyxzyxzyxyxyxzxxxzzzxzyzxxxxyxyxyzyzyzzzxxyyyzyxyzzxyyxwyxyyywxyyyzzzzyzyyxxyyxyyyzyyzyywyyyyxyxyyzyxyzyxxwyxxyxyyzzxzxyyyyxxxyyyyyzzyzxyxxxxxywxyyyzyzyyyxxyxxxxxyyyyzzxyyxyyxxzyzzyyyzzxyyxxyxyzyxyyyzzzyyyyyyyzzzyzzyzyyxxyxyyy{zyyzzywyxxxyxyyyzzyzzzyzxxwxyyyzzyyzyyxyzxwyyy{zyzyzyyyyxyyyyzyzzy{zzxyyyzxyzyzzzy{|{zyyzyyyzy{{zzzzzzyyyyyyxzzzzyzz{yzxzyzzyyzyzz{z{{yzzzzyzzzz{zz{{zyyzzzyzzz{{zzzy{yyyyyxyz{{zyz{|zzxyzyyzzzzzzz{zzyzyyyyxyzzyzz{yzzyyyyyyzz{zy{zyxzyyyzyxyyz{zFx7gb{|||z|z|||}}}}|||{{{{z||||||{|}||{{|{{z|||||||}|||{{{z{z{}{{{|||||zz|{z|||{{{||{|z{z{{z{|{|{||{{{|{{{{{y|{{{|||{{{{z{{{{}{{{{{|{zz{{z{{z{{{{|{{{{|{z{z{{{{{|{{{{{{{z{z{{||{{|}||{{{{{z{{|{{z|{||{{zzz|{{|{||}{|{{{z|{{{||{|{||{{|{{|zz{{}{|}|||{{||{z|{|}{{{{}{||{{z{{{||{|{||{|{{{{{{{{}|||}|{|{{{{{{|{|||}{}{{{{{|{{{|||}{|{||{{z{z{|{||}||||||{{||{}{||~|}|{||{|{{{{|}}}}||||{{|{z||{}||}}|||{{{||||||||}||{||{{|}z||}||}}||{{|{{||{|}{|||{}|{{||||{||||}|||}||||}{|||{||}|||||z|{{{|||||{|}{|z{{{{z|||{|{{|{{|{{{{z||{|||{|||{z|{{{|||{||{|||{|{{|{{|}|}|}}||{{{y{{}{|||}||{{z{|{{|}z|||||{{{|{{{{z||||||||{|{{{z{{{||{{|{}{|{{z{{z{|{|{|{{{{z{y{|{{{|{z}z|zz{{{{{z|{{{|{{{{{|zz{z{|{|{||{|{{z{{{{{{{{|{{{{{{zzzz{zz{{|z|{{|{{{z{z{z{{|{|{{{zzz{{z{{{{|||}{|{zz{zz{|||{z|{|{{|{{|{{|{{|{||}{{{|{{{{}|||||||{||{{z{z|||{{{|{|{{{|z{{{||{}||{{{{||{{{||||{|{{{{{|{||{{{||||||{|{z|{{|||{||}}}{z{{|{{{|||{|}{|||z{{{{{{}|{||}|{{|{}{{|||}|{||||{{|z{{{|~}}}}|{|{|{|{|{}|||}}||}z|{{{{{|||{}}|||{{|||{{|||||}}{|||z||{{{{{|{}}|||{{{z{{{{|||||||{{|{{z{{{||{|}{{||z||}z{}|{|}{}|{|z{{z{}{}|{|{{|{{{|{|{|{}{{||{|z||{z{{{{|||||{z{{{{{{z|{|{||{||||zz|{{{{{|{|}|{z{{z{|z{{|{{||||{{z{zz{{{|{{{||{zz{{zy{z{|{z{}}{{{z{zzz|}{{{|||{z{{z{{{||{|{{|{{{{{{{zz{|z{{|{{z{z{||{z{||{{{{{{{z{{{{{{||{{{|{|{z{{z{{z}{|{|{||{{{{{|{|{{{|||{{{{{{{{{{|}{|{|||{|{{{{{z|z|{||{|{|{z{{z|||z}{{|||{||{{||{}z{|{|{|{{|{{{||||||{}|{{{{z{{||||||}|{{{{{{{{||||}|}{{{{{{|{{|}|||}}}{{{|{z||||{|||}||||{{{}|{}||~||}}|{|||{|}}}|||}|||{{{|{||{|||||~{|||}|{}{{}|}~|||}{{||{|||{||}||}|z{z{{{|}{|{|}|{{{{|z{|z|||{|||{|{{|{||{|{||{|}z|}{{|{||}|}|}}|||{z||{{||{|{{|{|{|{zz{{{{}|||||{{|{{{{{||||{|||{{{{|{{|{|{||}|z{{|{z|{|{{{|z||{{{{{{{{{{{{|{{||z{z{{||z{z{zz{||{{z{{{z{|{{{{|{{|{|{z{zz{{||}{{{z{{{{{{{{{{{{{||{{{z{zz{{||{{|}|{|{{{{{|{|||{|}{|zz{|{|{||||||||{{|{|zz{|z|||{||{z{{{{{{|{||||||z{{z|{|{|{||{||{|z|{{{{{{|{|||||{{{{|z{{|{{}|{|||{{{{{{|}|}|}{||{|{{||{{|{}}{|}||z{}{z{{|}||~{|||{{{|||||}|||||||{|{{||||||}{{||||{||||{z|}|}||}||{||{|||||}||}||{|||{{|{||||}|||{{|||||}|}}||{||{|{{z{{|}|{||||{|z{{{z{||{{||{|{{|zz{{{||{{|||}|{{z{|}{|}|{||}||{{{|{{{||||}|}||{{{{z{{|{{{|}|||{z{{{{{{|}{{||||{|{zzzz|{||{|{{z{{{{z{{||{{|}}{{{z||{{{{||{{||{|{|{{|{z{z{|{{{|z{{|{z{zz{|{{{{{|zz{zz{{|||{{{{{z{{z{{|z{{{|{|{{{{{z{{z{z|{{{|z||z{zzz{{{{{z{{{|zz|{{|{{{{{{{{}|{{{{{{{||{}{{||}{{{{{{{z{{|||{{|{{{{z{}{{{|{{|{{|{{|{{z{{||{|||{||{{z{z{{{}{{|||{{{||{y{|{||{||{{{|{{|{{{|||{}||{{|{{|}|||{||||{|z{{||z{}|||||}||{|{|{z||||{|{|||{||{||||||}}||}{|||||{z{}}|||}}|||||z{||}||||}||{{|{{{{||||}}||||z{|{|}|{{||{}}|||z|{{{z|{||||||{{|{|{{z{{|{{||{|{{{{|{{||z||}||{|{{{{{{||||z{|{{|z{zy{|||||||||z{{{||z{|{{||||{{{z{{|{{{||{{}|z{z{z{{z{|{|||||zz|zz{{z{|{{z{{{{zz{{{yz{||{{|{|{zzz{{{z{z{|{{|{z{zz{zzz{{{{z{||{{|{zzz{{{|{|{||{{yz{z{{{{|{z{|{{zzzz{{{{zyz{z{{zz{zzz{z{|z{y||{{z{{zzzz|{||{{|{{{z{|z{{|{{||{}{{{{{z{{{{|z{{|{||{{{|{{{|||{|{{{|{z{{z{{{z|{{||{{{{z{z{{}|{|z{||{z{z{zz{{||||{||{{|{{|z{||{|}||{{|{{|{|{||{||{|}|{{{{z{{}|{||{|||{|{|z|{|||{||}}|{{|{{{|{|||}|}}|{|{||{{|}}|||||||||{{{|{||||||{|{{z||{{||{||||||{{|{{{{{{{}|}||z{z{z{{{{|z{{||{|{{{{{zz{|{||{||{{{z{{{{z|{|{||}{|{{{{|||}}}||{|{{|{|||{{{|{||{|||{z{{{{||{{{|||{{{{|z{{{|||{{|{||{{{{{{|{{{|{||||{{{{{{||||||||{{{{zz{z||{{{{{}|zz{|{{{{{{{{{|{z{z{zzzz{{|{|{{|{z{{z{yy{{{|{{|}{z{{z{zz{{{}{{|{{zzz{z{zz{|{{{|{{{{{zzzz{{{{{|{|z|{z|{{y{|{|z{|{|{{{{z{{{||{|||||{||{{|z{|{{{|{|z{{{{{{|z{|{||||{{{{{{{z||||{{{|z}||{{|{{{|{|{||{z{{|{{{|}|{{|||||{|{{z|{{|}||||{{{{{{{{}||}}|}|}{{z{{{{||||{||||||{{|{{|}|||{||z{|{{|||{{{|{}|}}{|||{|{|||||}|}{{|}{z{z{{|{|||}|{{{{}{z|||{{{||{|{z{|{||||}||||{|{{{{|{||{{{{}|{{{{z{|{{|{|{{||{{{z{zz{{{{{{~|}||{{|{{{|||{|}||{{{{|{z{{|~|}|}||{z|{{|z|{||{{|||{|{||{{|{{{|{{z|{|{{{zz|{{{{|{|{z{{{z{{||{{{||{{|{{{z{{|||{{|{||zz{{{{{{|{|{|||{{{zz|zz{{|{{|||{{{|{zzz{{{{{}{||{{{{{z{z{{{|{|}{{{|zz{z{{{{{|{|{{{{zzz{z{z|{||{{{{z{{z{||{{}{{|{{zz{z{z|{{z|{{||{{{{{{|{{{|{}|}|||{{zzz{|{z{||}|{{{|{{{||||||{{z}z{{{{{||||{||||zz{{z|z{|||{{|}{{{{{{{{|||}|}|}{z|{|||{||{}|||||{{{|{{{||||||}|{{{z{{{|||||{{}|{|{{{|}{{|{|}|}||{|{{|{|{}~||}}}{{||{z|{{|}||}}|{{{{|{|{|{|||}}}|{{||{{||||||}}}{||{|{{|{||{|||||{{|{|z{{|||||}|{|{{zz{zz|z{|}|~{{{{{{{{|}}||||}{||{}{|||}|}{{~|||{{{||z||||{||||{|z|z{{{||}||}|{{{z{{{{|||{}||}{{{{{{{z{|}{{|~|{{||{{{{{{|{{~|{{{zzz{{z}{|{||||{z{{{{z|{z||{z|{|z{{z{z{{||{|{{}|{z{{{zz{||||{||zz||{y{{z{{|{|{|{{z{{{{zz|{|{|{|z{{z|{|z{|{{{{|{{z{{{|{z{|{{|||||{{z{{{||||{|{}|z|{|z{{{||}{{|}||{||{z|{{||||{|||zz{{z{z||||||}|{zz{z{{{||{{{{|||||z{{{|{}{}}{}|{{{{}|{||{{||||||{{||{{{{||{||}||{{}|{|}|||}||}||{{|{||{|||||}||||{||{||||}||}}||||z|{|{}|||{|||{{{{{{{|||}}|||}||{||{|||||}}~}}|{{{||{{|}||}|}{|{|{|{{{{||||{|||z|z{{zz{||{{|}||{|{|||{{}{|{||}||{z{|{{|{{|||||}{{z|{z{{{{{||{}{{{{{z{z{|{|{||||}{{|{{{{z}|{|{}{|{{|{{{{{{{{||{{{{{{z|z{{{{{||{{{z|{{{{|{{{{{{zzz{z{z{{{||{|}|{{|{z{zz{{{{{|||z{|{z{{{{{{{{|||{{{{{z{{{||{{z{{|z{|{{{z|z}{{{|{|{z{|||zz{{{{{||||zz{{zz|{{{{{{|{{{z{{{zz|{|{{{||{{{{z{{{{{}|||{|{{{{|{zzz{|{{||}{{z{{z{{{}}||||{{{{|zz{||{{||||||z{|{{|{{|{|}||{|||{{|{{z{{}||||{{{|{{{{}|{|}{|{|||{|{{{}{{{|}|||{||{||{||||}}||}{|{{||{|}}{||}||z||{|z}||}|}|}||{{{zz|||{|||}||||{|{{{||||||||||{|z|{{{|||{||||{{{z{|{{{||||{{||{{{zzzz{||||}{|{}{{||{{|||}{}{}||{{||{|}{{|||||{|zzz||{|||{||}|{|{|{{|{|}}{{{}{|{{z{{zz{{{}{||{{|{{z{{|{||{||{|{{{{{{{{|{{|{{{{zz{|{{zz|{z|{|z}{y{{zz{{{z{{{||{{z{{zzz{{zz{|{{{{{|zy{{z{{{{z|{{{{{||zz{{{{{|||}{{zz{z{{{{z{{{{|{z{{{{{z{|{z{{{|{{|z{z{{||}{{{|}{|z{{{zz{z||{|{|{{||z{|z{|||{|{{||{{{{{|{}{{{}{{{{{||{{{{{||||{|||z{|{z{||||||{{{{{|{{{{{||}|}|||{||{|{z{||{||||{{{|z{|y{}|{||}{}{{|{{{{{||||||{{z|{{{{|{}|{{|}||||{|{||{}}||||||{{|{|{{}}||}||||{zz{{{||||}||}}}|{|}{{||||||||}{{|{{{||||||{|}}|{{{z|{||||{||||{z|{{{{z|{|||}|}{|{|{|||{|}||{}|||{|{z{{{||{}||}{{|z{{{{|{{||}}||{|{z{z{||}{z{{|zz{{{{z|{{|{|{|||z{{z{{{z{{||||{|{{{{{{zz{|{|{{|{|{{{{zz|{{|{{||{{|{zz|{||z|z|||{z{{{zz{{|{||{|{{{{zzz{zz{{z||{{|z|{{z{{{{{{{{{}|zz{{zzzz{{||||{zz{z{{yz{|{{|{||||zz{{{{z{{|}|||{|{{|{{{{{{{{{|{z{{{{{{{||{{{||z{|||{|{{{{{{||||{z|{|{|{|{{|{||||z{{{z{|{{{{|{}|{|{{{{|{{}|||}||{{{{|}{{|{||}|||{{||z{|{{||||||||z{z{{{{|}{|||{|{{|{{|{||||}|}|||{{{||{{|||}||}||{{|{|{z}}|}||}|}|z|{{{{|{|||}|||||||{||{|{}||}}{{{{|{{{{}|||{||}{{|zz{|{|{|{{|{|{{z|zzz|{z{{|{}z{z{{||{{}||}|||{{{|{|z||||}|{}~{|{{{|{{{}z|}||||{{{{z{||||||{||||{{zz{z{{{|{{||zz{z{{y{{||{{{}z{{{z{{{z{|}{{|||z{{zz{{{{{{|||{|{{{{{yzz{{{|{{|{{{{{z{{{{{{|||}{{{{{z{z{{{{||{{|{z{{z{{zy{|{|{|||{|{{{{{{{{{{||}{{{{zz{z{{||{{}|{{{z{z{{{|{{||{{{zz{{{{{{{{|{{{|{{{z{{|z||{{|||{z{{z{{{{{|{||}|||z{z{z{{z|{{{{||{{z{{{z{|{||zz|{{{{{||{|{|||||||{||z||{|{||}||||{{|{{{{{|||{}}|}}z{{|{{z|||{{|}{|{z{|}|||||||}}||{|||{||||||||}|}|{||{{{}|}|||||{||||{{{{}||}||{}{{{|{{|}|}|||}|{|{{{|{{{|||{|||{|{{{{{{{|||{{|{{{{z{{z{{{|{{}|||||{{|{{|||}|||~|{|||||z}|||}{|||{|z|{{{|}|{||{||{z{{{{||||{{{|}|{z{{|{z{{||{}|||{z{{{{z{|{{{{{{|{{z{{zz{{{{{{{{|{{zzzz{z{{{{}||{{{{zzz{{|{{{|{|{z{{z{{{{{{{|{{{{z{zzz{{{|{||{||{z{zzz{y{{{{z||{|{z{zzz{{{z{{{|||z{{{{z{{|{{|z|||||z{{{z|{{{|{{}{|{{{z{{|{{{||z{{z{{{z|{z{{|{{|||z{z{z{{{|||{|{{{|z{|z{{{|{||||{{{{{{{{{|||{{|}|}{{{{z{|{}||{}|||{||{||{|{}{{|{{z{{|{{z||||}{{|||z{{{|{{|{{{||}|{z{{{||{||{|||}}|{{{|z||{|}{||||{{}{|{||{||||}|}|{||z{{|||{{|||}{|{}|zz{|||||||}z|z{|z||{||{{{||{|{{{{{{{|{||||{z{{{{yz{{{{|z}{}||{{|||{{|}{}|}||{||||{{}}||}||}||{{{{{{|{{|||||z{{z|z{{z{||{||{{|{z{zz{{{|||{{|{{{|z{{y{{}|{||{{{{{{{zz{{||zz|{{{{zz{zz{{||{{z{{zzzzzz{z{|{{|}{z{{{y{{zy{{z|{{{{zz{yzzz{{{|{z|{{{zz{zzzz{{{{{{{||zzzzzzz|{{{{{{|{{{{{{z||{{|{|||{{z{z{{{|{{||||{z|{z{|{||{}{{||z{|{{zz{|||{{{{|{z{{|z{{z|}{|{{|{z|{{{{{{{{{|{|{z{{||{{{|{|{|||{{{z{{{{|{{|{||{|{{{{z{{{|{||{|{}|{{{|{z{|{||{{||{{z{{|{{|||{||{||{|{{|{{|}{||}|||{|{||{{||}||||||{|z|{{|||{|{|}}|{z{{{z|{||{|{||{|{|z|z||{{||||||{{{{{{{{|||||}{{z{{z{{{{|{||{{|{z{{{{{z{{||{||{||{||{{||||||}}|{{z{{{z{}|||}||||{{{{zz{{z|{{||{zz{{z{{{{{|{{|}{{|{zzz|z|{{{||{|{z{{{{|{{|{{{||{|z{z{z{{|{{{{{{{zzz{{zzz{{z{{{{{{z{{zzz{z|{z{{{{|z|zz{zz{z{y{{{|z{{{z{z{{||{|{{{{{{z{{{z{z{|z{|z{{zzz{zz{{{|{|||z{zzzz{z{{{|{{{|{{{z{z{{|{||{{|{|{{z{z{z{{{{|{{|z{{zz{{{||}|||||z{z{{z{{{{{{{{|{{{z{{z{z|z|{{{|{{{z||z{{{||{{|{|{{{{{{{{{|{{|||{{{|{{z|{{|{|{|||{{|{{z{{{|}{||{|}zz|{||{|||||}||{z{|{{{{{|{|{||||{|{{{{|}|{||}||{{{{zz{z||{{{||{{z{||{{{|||||||||{{{{|{z|}|||}}}{zzz||zz{|||{||{|{{{|z{{|||{{{{{z{|{zz{z{z{{|}|}}}|||{}}{|||||}|||{|{|{||||{}|||{|{z{|{{}|||}}|{|z|{{{{{|{||{||||{{|{{{z|{|||||{{z{z{z{z{|}||{|||{{{{z{z{|{{{||||z{yz{{{{z{|{|{|zz{{zz{z{{|{|z|{{zzzzzzzz{|{|||}{{zzz{z{|{{|{{{{{{{{{z{{{{|{{|{|{{|{{{{zz{{{{|{|{z{{{zz{{{{{{{}|{|{z{{{z{{{|{|{{z{z{zzz|{{{||}{||{{{{{zz|{|{{|||{|{{{{{{||{|||{|{{|{{{{{||||{{}{||{{z{|{{||{{|{|{{{{zz|{{|{||{{|{{|{|{|{|}|}||}|{{{|{{zz{||{|}||{{|{{{|{}}|{|}|||{||{{|{|{||||{||{|{||{{{~|}}|}||{|{{z|{||||}{}||{{{{{|{|||{|}}|||||{|{{|||||}{}{|{z{{|{{||||}||{{{|{z{{|||||||}{{{z{{{{{{|{{}|~|}|}|{|{{}}|||}}|{||||{|||}}||}|{|z{{z{{||{{||{{|{{{{{{{{|{{{|||{{z{|{{{{|||{||{|z{z{{{zz||||{{{{{{{{z{z|{{{z|{{{{{{z{{{{{{{{{{{{z{zzz{zz{|{z{|||{z{z{z{{{{z{|{{|z{zz|{{{|{{|{||y{z{|z{z{{{{z{|{zzz{{|z{{zz|z|||{z{{{zzz{{{|{|{|{z{{{z{|{{{{{{|}{{{{{z{{|{{|{{||{zz{z|{z|{|{{||||{{{{z{{{{{|||||{z|z{{{z{{{|{{|{z{z|{{{|{{}{{||{|{z{{z||||{||~|}{{{||{{z{{{{||}|}|z|zz{{|}||{{}|}{{z|{{{||{{|||||{|||{{|||{|||}{|{{{{|{{||{|||||{|z||{|{}|||{|||}||{|{{}||{|{|}}{|{||{z|{||}|}||||{{zz|{{{{|{||}|{|{{z{{{|||{||{{|{z{z{z{||{|}~}|}{|}|{{}}}}||~}||{{{|{}}||}|}||||{|z{|{|||}||}||{zz{{zz|||{{|{|{z{z{zzz{||{|{{{z{|z{{{z{|{|{{|{|zz{{{{{{{||z{z{|{z{{{|z{{{z{{{{zz{{{zy{z{{{z{{{{{{{{{zz|{|{|||{{|{{y{zz{||}{{|{{{|zzz{zz{|{z|||{z{zzz{z{{z{{|||z{{z{zzz|{{z|{{{z{{y{{y{|{{{{{|}{{{|{{{{|}{||{{{{{{{{{{{|{|{||{{|{{{||{z|{{|{|||{z{||z{{{||{}|||{||{z{{{||{|{{{{|z{z{{{|||{}||}|{{|{{{{{{|{||||||{{{|{zz||{{}||||||{||{{||||{|}}||||||}}{|}{|}|||{||{||}|}}||}}}{{||{{{||}|||||||{{{{{{{}|{||}|}|{{{{|{|{{}|}|||||{{{{{|{|{{||}||{{{{{{|{|{|{|{{{{|zz{z{{z{|||}|}}||||}|||}|~|}~}|||{{|{{|||{||}|||{{z{{|{|{}|||||||{{{{|{|}{{}|||||zz{{{||{{|{|{|{{{z{{|{|{{||{{z{z{{{{|{|{z{||{{{{{{{{|zz{|{||{{{{{zz{{|||{||||z{{z{zz|||||||{{{{zz{{zz|{|{{|{{{{{{{{{{{{{{{|{{|zz}{{{|{{}{||{{z|z{{z{z|||{|||{{zz{{{z|||||{}{||yz{z|{|}{{{|||{|{{{|{{{|{||||{{{}{{{|{{|}}|}||{{|z{{{{|||{}{|||{|{{{{z{}{|||{||||z{{{{{||||}|||{|{{{{{{|{|{||}{|{{|{{{|{{{||||}|{}|{|||||||}}{|||||{||}|{||}|||}||{|{}|||||||}}|{|{{|{||||{|||}|}{{|{}|}|||}|}|{{|{|||{|||||}|{||z|z{{{|||||}||{{z|{{||}{}|{|||{{{|{{{|{{|{|}}}|||}{||||}|||}}{|{{z{|{|{|{|{}{}||{{|{||||||||||{{{{{{{{||}{{|{{||{z{zz|{||{{z|{{zzzz{{{{||{||{{{|{z|{z{{|{{|{{{z{z{zzzz{{|{|z|z|{{{z{z|z{||z|{{z{z{{zzz{|{{|{|{z{zz{|{|{z{{|{{{{{|{z{z{{|{{{||{{{{{zz{z{{{{{{{|z{z|z{zz{z{|{|||{z{{{{{{{{|}{||{{{z|z{z|z|{{{|}{{{{{z{z{|||{|}}{{zz{z{{{||z||||{{{{zz{|{{|{z|||{{{z{z{{{|{|z|{{{{{{{z{||}{|}{{z|{{z|{{{{|||{{}||z{{{z{z{||{|}|{|z{{{{{{{{|||||{{||{{||{{{{|}||||{{{||{{}|||||{||{|{|{||{{}}|{{||{{{|{{{{||{{|}{|{{|{{{{}|||{{{|{|{z{{|{{||{|||||}|{z{z{{{{|||||{z{{|z{{{|z{z~}}||{}||{||}||}}}|}|}{||{|}|}||||}||zz{{{{{{|||}}|{{|z|{{{{}|||||}|{{{||{{{||}{|{{{{{{z|zy{||{{|{{{|{{{zz|{{}z{|{|}{{{{{z{{{{{{{{{zz{z{{z{{{{{|{{{{{zzzzz{|{||||{{{z||zzz{{{|||{||{zz{{{{z{{{z|{{|{{{zzzzz{zz|z|||{{{zz{{z{{{{}{|{|{{{z{z{z|{{{}{|{{{{z|{{{||zz{||{{{{{{{{|}|||{||{|{{|{z{z||{|{|||z{{z{{{{{|{||{{{z{|{{{{||{|{|{{||z|{{{{|{{{||||||{{z{{{|{{}||||{{{}{{|{{||}|||||z{||{{||}{}||}|{{{{{|{{{{|{|}|}|{||{{{||}||||}}|z{{{|||}||}|z||{|{{|{{{}}||{|{||{z|||{{||||{|||{{|{{{{|{|||{}|||z{{{{{{|||{|{{|{{z{{{z{|{{{|}}}|}|{}||{}|{}|}|}||{}|{{||||}|}|}|zz{{{{z}{{{{|{{|{|{{{{{{||{|{||{z{{{{{{{{|z|{{|{z{||{{{{{z|{|{z|z{yz{z{zzzzz{|z{zzzz{{{{{|{{{{{{zz{zzzz{z{{{{{{{z{zzzzz{{{{{z{{{{zzyz{{||{{{{{{{zz{z{{zz{{z{|{{z{{zzzz{z{z{{{{{{zz{zzzz{{{z{||{{z{zyz{y{{{{|{{|{|zz{{z{z|{{{|||zz{zzzzz{z{{|{|{{{{{z{zzz|{|{||{}{{zzzy{|{|{{|{|z|{zzzz{|{{{{|{z|z{z{z{{{|{|{{|{{zz{{{{{|{z|{|||{{z{z{{{||{||||{|{{{{{{z||}{{||}z|{||{|{{|||{|||{{{{{{{|||||{||||{{{|{{{|{|{|{||{zz{z{{{{{{{{||}|{{{|||{{|{|{|||{{{z{|{{{|||{||{|{{|{{z{{{}{{{{|{{{zzz{{{{{{{}~~}||}||}|}|{}}{}|{|{|{{|||}}||}|~||}{||{}{{{{||}||{|zz|z{{|{}|{{|{{z{z{{z|{{{{|{{|||zz{{z{|{||{{{{z{z{yzz{{|{{{{{z{{|{z{z{{|{{{{{z{z{{z{z{{{{{{||{zz|z|{zz{z{{|{{|z{{{z{z{{{{{{|{z{{z{zzz{|{{{||z{{{z{zzy{{{z{{|}|{zz|z{{z{{{|{||{|zz{zz{{{}{|{||||z{zz{z{{||{||{{zz}{{{{|||}|{|{{|z{{|zz||{|{||{{{{z{z{z|||{z|{{|{{{z|{{{|{|{||{}{{z{{z{{|||||||{||{{{||{|{||{{||{z||{zz{|{|{{||{zz{z{|{|}|{|||||{|{{||{||{||}|||z{{|}|z|}|||||||{z|{z{{{{||{{}||z{{{{z{|{{|z}||z|{{|{{|{{|}|}|||{{{{{||{{||||}|zz{{{z{zz|{|{|}{{{{{{{{z{|{{{~}}|}}}}|}||}~}||||||{|{||{{|{||}}||{|{{z{{|||{z||{{{{|{{z{{|{|{{||{zz{{|{{z|{||}{|{z{z{{{{z{{z{{{{|{{{zzz{z|{{{|{|{z{zz{zz{{{zz|{|y{z{zzzz{{{{{{|{z{{zzz{{{||||{{{{{z{{{{{{{{{||{|zzzz{zzy{|z{|{||z{{zzz{{{{|{{{{{{z{{zzzz|z{{{{|{z{{{zz{{{{||{||{{z|{{z|zz{|{|{}{{|{{{z{{{{|{z|||z{|z{z{z{{{{}{{{{|{z{{|{|||{{{|||{{{{zz||}{z{|{{z{{||{|z|{{}||||{{||z{{{|||{|||||zz{|{{{{|{|{{|||{{{{{z|||{||||||{{{{|{{{{{{||}|}|z{{{{{{}|{|{|||{||{{{{{|}|}}|{|{|{{{||}{{||{|}|||zz{{{||{|{|{|{{{{{{|{{{|||{{||{zzz{|||}|{{{|||{{z{{{z{{|||}~~}}|}|~||}|}}|}}}|{|||{|||||}{}|{||{|{|{|||||||{{{{z{z||{|||z}||{{|{{{{z{{{{||{{{||z{{{{z|||z{{{|z{|z{zz{||{||{{zz{z{{zz{zz{{|}{{{{{zzzz|zz{{|{{{{z{zz{z{|{{|||{zzz{z{{{z|{{{{{|{{{{{zzz{{{{z{{{zzz{zzzz{{{{|||{zz{{{|{z{{|{z|z{{{{z{zzz{|||{{{{{{{{{z|z{{{{{{||{{{z{z{{{{|{|||{|{{{{{|{z||}}|||{{z{{zz{||||{||{|z{|{zz{{}{{|}|||{{{{{{{|}||||||{{zzzz|{|}|{||}|{{|{z{{{{||{}||}|{{|{|{{||||}|}}{{|{{||{|{{||||||{{{{||{z|{|||||{{||{z{{|||}{|}}|{z|{{z{|||||||}}{||{{{|{||||}}}{{{{{{z|{|{|{|||{{{{z{{{{{{}|{||z{|y{{{z{||{|~}~}|}}}|||}}}|||~||||||{{|}|||||||||{{{|{||{z{|}{{z|{{{z{{|||{{|}{{{{{{{z||z{{|||{{|z{{{z|{{{{|{{{z{{{{{{{|}z|||||{zzz{zz{|{|{{{|{zzz{z{||{{{{|{{z{zz{{{{z{|{{{{{{|{z{|zzz|{|{{{|{zz|{{{z{z{zz|{{{z{{{{z{{{{z{||{z{{z{{{z{{{{{{|{{z{{zz{{}{|{{|}|{z{{{z{{{|{||||{zz{{{{{z{{|{||||{{{{|zz{{{{{|||{{zz{{zzz||||{|{{|{z{|{{{||{||}|||{z{|{z|{||||||{{{|{{{|{||{{{}{||{|{{{z{|{|}|{|||z||||{{z{||||||{{{||{{{{||}|||||{{|||z{||||{||||{{|{{{||{|}|{}|||{{{{{{{|{{{|}||{|||{{{||{|{|}|{{{{{|||||{}{|||}{{{z{{{{{||}{||{z{zz{{zz|{||~~~~}~}}}~}|~}~}||}|||||{|}~|}}||}}|{|{{{|{}{||||}|}||{{||{{{|}|{||{|{z{z{{{{{||||}{{{{{{{{{|{{{||{{{z|z{{{{{}{{|{{{z|{z{z{|{|{||{|{{{yzz{z{{{|{||||{{{{{{{{{{|}{}|{z{zzzzzz|{{{|{{{zz{z|{{z{||{|{{|{|{z{z{z{{{||||zz{{{{|{{|{||{||{z{y{|{{{}{||{|}|{{{z{|{||{||{|{z{{zz{|{||{||{{||{|{{z{z|||{}|{||{{{{{{z{|{|{|}{|{{|{{{{z||{||||{{{|z{|{|||}{|||{{{z{{|{||{|{||}|{{||{z{|{|{|||||{|{{{||}|||{||~||{{{{}|{|{||||}{{||z{{{|}||||||||z{{|||}{|~}}}{||{||{||}}|{{}}}|{{||{z|}||}|}|}{{{|{{{{||||{{}|{|{{{{{{|||{||||{{{{{z{z{{||{~}}~}}}}}}~~~~}|}|~}{|}{|||}||}}||}{{|{|{{{}|{{|}||{{{|{||{||||||||{||{{zz}{|{||{|{{{{{{{{{{z{{|||{{{{z{{{z|{{{|}{|z{{|{|{||{{|||{{z{zzz{z{z{z{{|{|{{{z{y{{{{{|{|{{{{{{z{{{|{|{{||{{{{{{z{{|{{|{{|{{{zz{{{{{{|{|{{{zz{{{zz{|{{{{{|{{{{|{{{{|||{||||{{z{{{{|{{|||{||{|{|{z{|||{|||||{||{z{{{|||}|}}{{|z{{z{||}|{||{{z{{{{{{{|z{{|||{{|z{|{{||||}}|||{{{|||{|||{|{{||{|||{{z|||||||{||{z{|{{|}}||}|||{{|||||{|||}}}}}|{||}{{|~}||||||{|{{{{{|||||}||||{{{||||||||||}||{{|{{{}||}|||}{||z{{{|{{{|||{||{{{{{{{|}|{|||{{z|{z{{{{{|{|~~~}}}~}~}}~}}}}~||||||||||||{}}}{{{z{{{{z{{{{{|}{z{{zz{{z}||{z||||{y{{{|||{|z{|}{{{z{{|{{{z{{|{{{{{z{zz{{|{{{{||zz{{zzz{{z{{{{{{{z{z{{zz{{|z|z}{{{z{zzzzz{{z{{{|{{z{zz{y{{{|{{{||{{{{{{{z{{{|||{{{z{|{y{{{{z|{{||{zz{{{z{z{{{||{{{z{{z{z|{||{|{|{{{|zz{{|||{{|||{||{z{|||{{{||{|{{|{zz{{{||{|}|}|{{{{z{{|||{{|||{z{{{{z{{{||{|{{{{z|{{{|||||}|{{z{{{{{|{{{{||}||{{|{|{|{{{{{||{||z{{{{{z|}||||}|{{|{{|{{|||{|{|||{{{{}|{}}|{|{|||{{{{||{{|||||||{{{{|{|||{{|{||}{z|{|{z|{}||||||||z{{z|||||{}|{|{{{{{z|{||{{{{z||z{{z{z{{{{{{~~~~~}}}}}~}}}|~~||{|||||||}}}||}|||{{|{{|{}}}||||{|{|{z|{|{|{{{|{{{zz{|{{z{||{z|{||zz{{{{|z{{{{{{{{z{zzz|{{{{|{{|{{{{{{{{{z{|{|{z{{{{zzz{|{|{||{zz{{{zy{{{{{|{{||{|{{{zz|{{{{{||z{{{zz{zzz{{{{|}{{{{{{zzz{|{{|{{{{|{z{zz{z|{|{{|{{{z{zz{{{{{{{||{{{z{z{z{{{{{{||{z{zzz{||{{{||{|{{{{|{{{{||{z|||{z|zzzz{{||||||{{{z{{{{{|||{{{{{|{z{{{{{{|||||||z{|{|{{|{|||{{||{{|}|{zz|{|{||{||{{{|{z{{}||}|||}{{{|{{|{}|{||}|||{{{{|{|}|{}}}||{|||{|{||}}{|||{{{{{z{|||{||||}}{{{{{{||{||||{|{{z{{{z{||{{||}|{{{{z{{{z{|{|{{{{{{z{z{z|{{||~}~}~}}}~|~||~||}|||||{{|||}||}|}|||{{{|}}|}}{}}|{{{{{{{{{||}{||{|{{{{z{{||||{{||{z{{{|{{|||{{|{zz{{{z{{{z{||z{{z{{{zz{zz{{{{{{{{{zzz{{zz{{{{{z{{zz{{z{y{|||z|{{|{{{z|zzz{|{{{|||{zz{zy{{z{|{||{{z{zz{{zz{{{|{{|{{{{z{{{{{|{||{{|||{{{{{{{|}|{{|||{{z{{{{{||{{|{|{{{|{yz{{||{||{|{y{z{z{{{|{{{|||{{{{{{{z||||||}{{{{{{z{{|{|{{|{|{{{{{z{||{{}|{{|{|{{{{{{{||||}|||{|{|z{{|}}|{||||{z{{{{{||||{}|{|||{{{}||||||}}}|{|{{|{{{|||{|}|||{|z|{|}||{|{||}{||{{{|{}||||||||{z|z||}||{{|}}{{|{z|{z{|{{|||||{||{{{z||{||||{|{|z{z{z{|{{{}|~}}|~}~|}||}|{||}||||}||}}||{{{z{{{}{}}||{|{{||{{{z|}|{{z}|}{{{|z|{z{||||{{{{{{{{{|{{{{{|{{{z|zzz{{{{{{|{|{{{{{z{{|{{{{{|{|z|{zz{{{{{z{{{{{{{z{z{zy{|zz{{|{{{|{z{yz{{z|{|{{|{{zzz{z{{{z{|{{zzzz{z|{{|z{{|}{zz{z{z{{|{{|{{{|{z|{{{{{z{|{{|{{{z{z{{{{{{{{{{}||{{{z{z{|{|{||{{{{{|{{{{{{|{{|{{||{z{z{{{{{{{|z{{{{{|{{z|{{z{{{{{{{{{||{{{|||{||{|{|{{}{||{{|}||{{z{z{zz{|{||||{|z{{{{{|}|}{||}|{{||{{}{|{z}}{|||z{|{|{{|||||}||{{||{{{{{{||{||||{{|||z{||||{||}|{{{}|{{|||||||}{{{{z{{{{||{|{|{{{{|{{{z|}|||||{|{|z{|{z|{{{|~~}~~~~}}}}}~~~}~|||{}||}}}|}}|}||||{|{{|||{||||{{|{{zz|{{||{|{{{{|zz{{z{||||{{|z{|||{{zz{{{{}|{{|{z{{z{{|{{{|{{{{{{||zz{{{{{{{|zzzz{z{z|{{{|{|{{z{zzzz{{{|{{}{||{zzz|z{z|{{|{||z{z{{{zzz{{{{|||{z{{{{{{z{z|{{z{{z{{{{{{z{z{{|{z{{z{{{|{{{|{{|{|{{{{zz{{{{{|{{||{{{zz{{{{{{{{|}{{{{{{{zzz{{{|||{z}z{{|{{|{|z{{|{z{{{}zz|{|{{{|{{{|{{{{{||{|||}|||{z{{{{{{|{|{|{}{{|||{{{|}|}{||{{z{z{{z||||{|||}{{{|{|{{{||{||||{||{{{{{{{||||}|{{{||z{{|{||{|||||{||{{{|||||}|||||{|{|||||||||||{{z{|z{||||{|}}{{z{z{{{{|||{|||{z{{{{z|{{||{~~}}~}~~~~~~~~}|}}|z{|||||}|}}}||z||{{||{{|}||{{{{{{|{{{|{|{|||{{{z{zz|{||{{||{zzzz{|z{{||{{{|{|{{|zz{|||{||z|y{{yz{{{|{z|{||{{zzzz{z{{{{z|{{{z{z{zzz{z{{{|{{z{{{z{zzzz{|||{{|zz{{{zzz{{{{{|||{{{{{yz{z{{{{{z|{z|{{{zz{{{{{{|{{{zzz{{zz|{{}|{}{z{z|zz{z{{{{z|{}{|z|zz{z{{{{{}||{z{zz{z{|{{|||{{{z{z|{{{{|{|||{|z||{{{z{||{|{{{{{|{{z{|||||||{|z|||{{|{||{||||}{|||{{{|{{}|||||{{|{|||||}|||{}{|{{{||||{{|{||{|}{{{|}|||}}||}|}|{{|z||{|||||}{|{{z|z|z|{|{{||}}}|{|{|{{}||||||||{|{{{{{{{||{|||{|z|{{{{{||||{{{{{|z{zzz||{||~~~~}}}~}}}}|~}}|{|}||{||||||{||{||||{{|{|{{}|||{z{{{{z{|||{{{{|zz{{z{{{{|{{{}{||{|z{z{{{{||z{|{{{|{{zz{{{|{{||{{{{{z{z{{z|{{|{|zzzz{{{zz{{z{{{{{{{{{z{{{}|{{{|{{{z{{{{y{{{|{z{|z{z{{{{zz{|zz{|{zzz{{{{y{|{{{{{|{{|{{{zz{{{}||{||{{{zz{{z|{z{{||{z{{{z{||{{|{{||z{{{{z{z{{{|}|||{y{{{{{z{|||||{{|{{{{{z{{|{{zz}|{||{z{{{{{{|{||||{{zz{{{{|||||{{{{{{|z{|{|z|{|{{{{||{{{{|{|{{|{{{|{|{{{{|{{{||{|{{||{||{|{|{|||}|{|{{z|z{||||||||{|{z{||}{|||||{|{{{z{z{{|{||||}|z{|{{{{{|{|}||}||{z{z{{{{{{||{}|{z|zzzz||{{||{|{{|{||{{{|{{|~~~}~}~~~~~}~{|z}|z}~|}}}|}||{{|||{||}}||}{|{|{|{{{|||{|{||||{z{{zz{}|||||}{{{z{z|{||{|{|||zz{z{{z{z{{{{{z{{{{z{zzz{|{|{||{{z{{{z{z{{||{{z|{{{{zzz{{z{{|{|{{|{{z{z{{}|{||{{{z{{{zzz|||{z{||{z{z{{zzz{{{{|{{{z|{|z{{{{{||||{{z|{{z{{|{|{|{{||z{|z{{z{|{{|{{|{{|{{{z{{{|{|{|{{{{{{zz{{|{{|{|}{{{{{{{{{||{{|}|{|{}{|z{|}{|{{z|{{z{|{{|{||||{||{{{{|{|{{{||||}|{||{z{{|}|||}||||{{{|{zz|||}{|}|{{|{z{{{{||||{|||{|{{||||}{||}|||{||{{{z}||}|}|||{{{{||{{||||}|}{{{||{|{|{||{||{}z{{z{{{{|||{|}||z{|{{|z{||||{|z{{|z{z{zz||{{~}|}|~}}}~~~~|}}}|z|}}|~||}|}}|||{{{{}||||}}||||{||{{{|{|{{{||z|zz{{{{{z{||||{{z|{{{{||z{{|{{z{{z{{|z{{||{|{|{{{z{{{{|{{|z|||{{z{{zzzz{{{|{{|{{z{{{z{z{{{z{{{z{{{zz{z{|{|{{||{{{{yzzz{{{{{{|{|y{z{{{z{{z{{|||{z|{z{{z{{{}{{||{|z{zz{z{{|{{|{|{z{{{{{|{{{{{|{|z|zz{{z|{z|{|{||{z|{{z{{|||{|{|{{{z|{{{{|{||{{{||{{{z{z{|{{|{||{{{|z{{{||{||{|}}{{z{z{|{z|{}{|{|{z{{{{{z|||||{{||{{{{{{{||{}{{||{{|{{{|||{|||{{||{|{{{|}{|||||}||{||{z|{||{}|||}{{{{{z|{}{{||||}|||{{{|z}||{{{|{|z|z{{|z{|{||}|}||{{{|{z|||}|{{{{|{{{zz|{{{|}~~}~~~}~~~}|~{|}||~|}}}||}|{||||{||||}|}||{|{{{{|{{|}{{||{{|zz{{{{{{|{{|}|{|z{{z{z|{{|{{|{{{|{z{{{{|||z{{{z{{z{zz{{{{{||{{{{y{zz{{{{{{{{{{z{zz{zz{{{{{|||{{zzzz{{{{|{|{}{{{{{{z{{z{{z{|{{{{zz{{{{z{{{{}z{{{{z|{{{{|{{{{||{{{{{{{{|||{|{|||{{{{z|{{{|{|{||z{{|{zzz||{{||{{|z{z{|||z}{||}|{{{{zz{{{|{|z{|{||{{{zzz{||||{|{||{{{{{|z{||}|}||{{|{{{{{{{|{|||}|{z{{{{{{|||||||}z{{{{|{|||||}|}z{|{{{|||{|}{|}||{{|z{{{|}|||}|{{{{||{{{|{}|||||{{{{{{{||||{|{|||{|{{{z|||||||}||{|z{{{{{|{{|{||{{|{z{|{|||||{|{{{{{{{|{{{|{{~~~}~}~~~}|||}||{||}|}}}|}|{{{{{{{|{|{||||{{{{}z{{{{|{|{{||{z{z{{{|{{{{||}{{|z{z{{{z|zz{{{{{{{{{z{{{{{z{|{{z{zzzz{{z{{z{{|{zz|{{{z|{|{z{|{z{zz{{{{{{{{z||{zzzzz{{{{z{|{{|{{z{zy{yzzzz{{{{{yz{zzzzzz{{|z{||{yz{|{zz{{{{{{{|{{{z{z{{{|{|{|{{{{{{y{{{{}|{||{|zz{{zzz{z{{{|||||{|{{{{{{{{||||{z{zz{|{|{{|{|||z{{{{{{{{{{{{{|{{|{{{{z|{{|{|||||{|{|{{|{}{|{|||||{{{|{{{{|{||}||{{z{||{{|}||||}||{|{{||{|||}||}||{{{{{{||||}||}|||{|{{}|||}||||||z{{|{z||{{|}{||||{{|{{{||||||||{|{zz|{{{|{{||||{{z{{{zz{|||}{||{{{{zyz{{|{{{~~|~}}~~}}|}}|||||}}}}}}|}{||{||||||}|~||{||{{{{||{{|{||{|{{||zz||||{|{|z{{z{{{|||{|{{|||{{{z{|z|{|{z|{{{{z{z{{{|{{{z{{{{{{z{{z{z|{{|||z{z|{{z{{{{{|{{{|z{{zz{z{{|||{{{|{{{z|{{{{{{{{||{||{z{z{z{|{{{{{{{{|{{{{z{{{|{{||{{z{|{{{{|{||{{|{z{{zz{z{|||{|{{z{{z{{{z||{{|{}|{{{{{z{{|{|{{|{||{{{{{{{{|||{|}|{{{{{{{{|||||}{||{|{z{{|{|||}{}|z|z{|z|{||{||}|||z{|z{|z{||{|||{|z{||{zz{|||z|}}||||{|}|{|{|}|||}{{|||{|{}|||||}{{{|{|{{|~|}||{{|z{||{z{|{}||}|}||{|z{{||}||}||}{|{z{{|{{}|}|||||{|{z{{||||||||{{{{{z|z{|{{||~~~}~}~~}}}|}|}}|}}}~}||||}z{|}{}|{}|||||{{{z{{||||||||{{{{{{z|||||}{}|{{{{z|{z|||{||{|{{z{{{{{|{{{{{|{{{zz{z{|{{|{|||zz{{zz{{||{{|||z{z|zzzzz|{||{||{{{{zz{{z{{{|{||{{{zz{z{{{z{z{||{{{z{{zz{z|{{{|||{{{{{{{z|||{{{||{|{z|z{z|{{|{{{||z|{{z|{{{|{|||}{{{{{{{{|{||{||||{{{{{{y{|||||{||{{{|z{{{||{|{}||||{{{{{||}{||||{|}{{|{{z|{|}||}|{z{|zz{|{|}{||}{{{|{|{|{||}||||{{{z|{{{|||||||||{|z|{|{{|{|||||}|{{{|{}|||||}|||{{|{{{{||{|||}{||{{{{|{{||}}{}|||{|{{{z|||{|||||{{|{{{z{||{|}||{{{{|{{||{|||{|{{{}zzz{{{|{{|~}~~~~}}|}|{{|}||}|||}{||z{||{|{{|||{||{{{{z{{{|||||{{{{{{{{{|z{{|||{{{z{{y|z{{z|{z{||||{{{{{{z|z|{{{{|{{|z{{z{{{{zz{{{z{z{{{zz{{{z{|{z{{{zz{z{{{|{{|||z{{{y{zzz|{|{||z{{{{z{{{{{{{{{{{zzyzz{zz{{{z|{|}zzz{z{zz{{{|z|{|{{z{{{{z{|{{{{{{|z{|{z{{{{{{z||}{{|{{z{{z{{|{|{{{{{zzz{{{|||||||{z{{{{z{{{{{|{||{{z{{{{z{||{{||{|z|{{z|{|||}|||{{|z{|{|{}{{|z{{|{{{{{{{z{||||{|||||{|zzz}|}|||||{||z|||{{|||}|}{|{||{{|{{||||}{|}{{|{{|{}{|{{|||}{{{{{|{|{{{|{|}{|{{{|{||||||||||{|z|{{{{{|{||}}{{{{z{{{||{|{z{|{{{z{z|{{z{|{~~~~~~~~}~}}}||{|{}}|}|}|||||||{{{|}}}|{}{|{z{{{z{{||{{{{|{{{zzz{z|{||{|{|{z|{y{{{{{|zz||{{{z{{{{{{{{{{{|{{{zzz{zzzz{{zz{{{{{{{{z{{|z{{{{z{{zz|{yz|{{{{|{{{{zzz{zzz{{|{|{{|z|{{yzz{|{zz{{|{{{{z{z{z{zzz{{{zz{z|{zz{{{|||||{{{{z{{{{{|{{z{{{{z{|y{{{z{|{{|{{z{{{z{{{{{{{|}}{{|zzz{{{||{|||{{{{|z{{{{|{|{z||{zz{z{{||||{{|{{{z{{z{{{{{{||{{{y{||{{{{|||}{|}|{{{{{{{{{{||{|||}z{{{{{z|||||}{|{{{{{{{{||{|{|{{|{{|{{{{|||||}|{||{||z{{||||||{||{{{{{{{{|{{||||||{|{|{|{||}|{z|||{{{{z{||||||}||{|{{{zy||||{z|{{z{{{{zz{{{||~~}~~}}|}}|~{|}}|}}}}||{{|{{z|{{{}|{{{|{z{|z{{|{{||{{{z{{z|{y{{|{|||{z{|{z{{{z|{zz|{|{|{{{zz{{||{z{{|zzzz{z{z{{z{{|{|{{zy{zzz{{{{|{|{{{{zz{zz{{{{|z{{z{{{{z{y{|{{{|{|{{z{{zzz|{{{{||{{{|zzyzz{{{|{|{{zz{z{|z{{{{{{{{{{{{{{z{z{||{||{{{|{{{{{{{z{|||{|{{{{{|z{|||{||{|}{{z{z{z{{||{{|{{{{{zzz{{||{{||{|{{|{zz{|||{{}|||z|{{{|{{{||||||{{{{{|{z{||||{}}{|{z{{z{|{|}||{{{z{{{{{{|{|{{|}}{{z{{{|{|{||}{}}||{z{||{{}||}|}}|z{|{{{{}|||{}||{{}{{|z|z|{|}||||{{||{|{||||{||{|{{|z{{|||||{|||||zz{{{{{}{|{|{{z{{{{{|z{|||{~}~}}{}{|}|}}}}}{|}||{z{{z{}|||}{|{{|{z|{|{{{|{||}||{{{{z|z{z{{{{}|{z{{{{{z{|{{z{{{|{z{z{{{|{{z|z{||{{{zz{{z{{|z|{|z{{{zzz{{{{z||{{{{z{z{yz{|{{{|{{{{|{{{{z||{|z{|{{{{{zz{z{{{{{|{||{|z{{{z{{{{{|{|z{{{z{z{z{||{{{|{{{z{{zz||{|||||{{{{{z{{{{|{{z{{{{z{{{z{|{|{{{|{||{{{z{z|{{|{||{{zz{{z{{|{|{|{~|{{{{zzz{{{{{|||{|{z{|z{z||||||||{|||{{{{{||}{|||{{{{{{{{|||||{}|{|{|{{{z{|{|||||{z|{{{z{|}|{|||}{{{|{{|{}}}|||}||z{||{{{||||}}|||{{|z{{{||{|||||||{||{{{{|||}{|||{{{{|{{z|{|{}|}|||zzz{{|||{{|||{{{|{{|z||{{|~~~~~~}~}}||}|~}|}}}|}}||{{}{{|||}||}}|}|{|{{{{}|||{}{{{{{{{{{{{{|{{{|{{|zz{{{{{{z{||||zzzz{{z{{{{z{{{zzz{{{{|{{z|{|{{{{{{{zz{{{{{{{|{z{z|z{zzz{{{{|{|z{zzz{z{|{|{|{||{zzzz{zy{{{{{{{{{z{{z{zzz|{{z{z|zz{zz{z{{{{|{||||{{{z|{{{{{|{|||{z{z{{{z{{{{||{|z{{{{z{|{{|{{|{||{|{z{{{{||{{|{{{{|{{{{{{|||{|{{|{|{{{z{{{||{|{{|{z{{{{||||||||{{{{{z{|||{|{||||||{{{{{z||{|||}|{{z{{z{z||{|||||{{{{{{{|||{}||}}|{{{{|{{|||||}}||{||{{{|||{|{||}{{||{{{{{|{|}{}||{{|{|{{|}||{||{{{|z{{||}{{|||||{|{|{z{{{|{{{{{|{|{{{z{z{{|{{~}~}|}}{}}||}}}}}}||}|{{{|||{{|}~}}{{{{{{|{}||{||{{{z{{z{z|{|{||||||{z|{|{{{|{{{|{{{{|{{{{|||{z{{|zz{z{{{|||z{|||{{{{{{zz{|{|{|||{{{z{{{zz{{|{|{|{{{|{z{z{z|{{{||{{zzz{{|z||||{|{||zz{{{{z{{{}{||{{{{|{|{z{{||{|||{{z{|z{{|||{{||||z{z{{{{{{{{{{}|{z|{||{z|{{{{|||{{|{{{{{{||{||||{|{z{{zz{|||||||{zz{z{{z{||{{|{|{{{|}|{{{||||||}{{|{{{||{|{|{|}}{{{{{{{{|||{|||||{||{||||{|{|||||{{{{{{|||}|}|||}{|{{|{|{|||{|}}{{{|{{|{||}||}|||{{||{|{||{|||}}|||||||{|{||||}|||{{{|{z||{||}||||{|{|z{||}||{||{{{{z{|z{{{{|~~~}|}||||||}}|}~}|}}|{|{|||{||}{||}||||{zz{||||{{|{|{|zz{{{|||{{{{||{|{{{|z|{|{z||{|z{|zzz{z{|{{}{||{zz{{z{|{|{||{{{z{{z{{z{{|{{{||{|{zz|{{z||{{{|||zz{zz{z||{{|||}{{{z{{{{|z{{{|{|{{z{|{z{{{{|{|||{z{{{{{z{}|{{|{|{|{z{{{{{{|{z|{||{|{{{{{{|{|||||{z|{{z{z{|||||||{{{{{z|||{{{{}}{{z{z{{{{{||{{{|{|{z{z{{|{{{|{|}{||{|||{{|||}|||{{{{z{{{{|||||||||{{{{{{|}||||||}|{{|{z{{||||{}}|{{|z{||{|{|{|||}|{{|{{{{{}|}||||{{||{||{}|||||||{{{|}{|||{|{||}}}{{{||{||{|{{||||{|z|{|{{{{|{|}|{|{{|{||||{|{||||z{z{{{{{||||~}~}~~|~~||}|}}|}|~}}|||{{||{|{{|{|~||{z{{{{{{||{{}||{{{z{{|z|{{{|{{{|{{{z|zzz|{z{{|{{{{{{{{|{{||z{{{z{{{zzz{{{z{{|z{zz{{{{zzz{{|{{{{{z{zz{{{{{|{|{|{{{|zzz{{{|{{{{{{{zz{zzzz{{{{{|{|{{{zzz{z{{{{{}{|{zzz{{zz||{{|{|{{z{{|zz{{|}{||{{z{{{{z{{|{|{{{||{{{{{{{{|{{{|{{|{z{{|z{{{{{{||||{z{{{zzz|||||||{{|z{z{{{{{|{{||||{{{|{z{{|}}||{|{||{{{|{{|{|||||{{{{{{zz||}{|{|{|{{{|{{{}}||{||}{|||||{||{|||||}|z|||{|{|}}|}|||||{|z{{{{||{{||{|{{{|{||{|||{|}}|{|{|{|{|||}||||{|{z|{{{{||||}}|||z{zz{{|||{{||}|{{{{{{{z{{{{~~~~~}~}||}}||{}||}}}||||{|{{}|}|}||}|{{z{{z||{|||{{|{z|{{z{{{{}{{{{|{{{z{{{{{{|{{||{{{{z{{yz{{{{{{{|{{zz{z{z|{{{|{{|z{{{{{{zz{{{{||{{z{{{zzz{|zz|{||{{zzz|{{|{{z{{|{{z{{z{zz{|{{{{|{{{z{z{{z{{z{z|{{{{|z{{{z{|{{{{|{|z{{zz{{{|{{z}{|{{{|z{|z{z{{|||||{zy{{{{{{{{|||{||{{{z{|z|{z|||{{z|z{{{z{{|{{}}{{{z{{{z{|{|||{||{{{|{||{|{{|{|}|{|{{{{{{{|{|||||{{z{{{{{{|}|}{}||{{{|zzz{|||||}|{{zz{||{|||{{}}}|{{{{{{||~}||}}|z{{{z{{{||||{}|||{||{{{||{{|{~}}|{{||{{|{{||||||z|{z{z{{{|||{|||{z{{{{{z{|{{||||zz{z{{z{|{||z~~~~~|}||}}|}|}}||}~|||||{{{{{}{}{|||{{{{{{z||{{{{|||z|{z{{z|{{{{{|{zz{{{{{zz{{z{{{{z{{z{zz{{||zz|z{{zz{{{z{|{{{|{zzzzz{zz{z{{|z{{{{{|zzz|{{{||{||{{|z{zzyzzz{{{|{|{zy{zzz{z{{{{{{{{{zz{z{zz|{}z{|{|{z{{yzzz{{{|||{|z{{z|z{z{{{z{{{{{zz{z{{{|{{{|{{|{|z|{{zz{||{{{{|{{{z{z{|z{{{|||{|{{z|zz{{{||||{{{{|{{{|z{|{{z{{z{z{z{|{{{||}{||{z{{{z{{z{|{{|{|{{z{{{zz|{{{|||||{z{{|{{{{|||}{|}{||{{{{||z|}|}}}}{{{|{{|||||{||||z{{{|{{|||{||}}|{{{{{z|{{|{{||||{{{|{|z||||{||{{{{{{{|{||{{|||||{{{z|{z{||||{|||{{{{zz{z{{|{~~}|}~}}}||}|}}|}|}||z{{z{{{||}||}|||{|{{zz{|{}|{{|{{{{{z{z{||{{||{{z{{z{{z{{{{z{|{{{{{{{{z|{{{{{|{{|{yz{zz{{{|{|{{zzzy{z{{z{{z{{|{zz{{z{z|{z|z{|{{z{z{{{{{{z{z{|}|{zz{zzzz{|{{z{{{{{zz|zzz{{|{{|{{{{{z{zzz{{{{||{||z{{z{{{{{|{{z{{{zz{{{{{{{||{{{{{{{zz{{z{|{z|{}{|{{z{{{z|}{{{||{{{{{{zzz{||{z||{{{{{zz{{|{|{{|{|{z{{|{{{{z||}z{|{z{{{{{{{|z|{{|||{{{|zzz{|||{{|||zz{{{{||||{|}|||{|{{|z{|{z{{|{}|{{{z{{{|}|||}|{||{|{{|{{|{||{}}||{{{{{{{{z|{|||{{|{z||{|{|||{}|{{{{{|z{||{|z|{||z{{zz{{{|{{|{|{{z{{{z{{z{{{|~~~~~~|}}{}|}|}||}}||||||{||{{}}}|{{{{{|{{{}{||{}||z{z{|{{|{{|||{|{{|{z{{zz{|{||{||z{{{{{{z{|{{{{z{{z{{z{z|{{{{{{{zz{{z{zz|z{|{{{{{z{{z{z{z||{|||{{{{{z{{zz|{|{{||{{{{{{{zz{{z{{{|z{z{{{{{{|{||{|{{z{{{z{z||||{|}|{{z{zz||{|{|{||{{z{zzz{{||{|{|}{{{{{{{{{|||{|{||{|{z{z{{{||||{|{{{|{{{{{||{||{}|||y{{{{{||{{{{|{z{{{|{{{{{||||}|{{{{{{||||{|||{|{{z{zz{{{{||||||{|{{|{{z{|}||}||z||{|{{|||||||}||{{{{||{{}||}|}}}{|}{{{{|||||{|{}{z{{{{|{{{|{||}{|{{{{{{||{||}||{{{z|{{|||{||}|}{}{|{z|{{||{{||{{{{{{|z{|||{{~}~}}~}}}||}}}}|~|}|{{{zz|{|||}{{}{|{||{{z|{{|{{{|||{|{{{{{|||{||z|{z{z{{zz{{|z{{|z{|{{{{{z{{|{{|{|{{zz{zz{{{|{{{{{{zzz{{{z{{|{z{{{{z{{z{yzzz{{{{{{{z{{{zzzz|{{{|{{{{zz{zzz{{{z{{{|{{{z{{zz{{{|{||||zz{{{{z{{{{{{{|z|{{|z{{{|{{{|{|{z{z{z{{|{{||{{|{{{{{z{z{|}{|{|{{{{{|z{{{{{|}|{||{{{{y{{|}{{{{|{|{z{{|z{||||}||||{|{{||{{{||}{}{{{|{|||z|{{|||{||{|{{{{{{}|}|}}||{z{{{{{{|}|||||||{z{{{{{|||||{|||{||{{{{}|}||}}{{||{{{{|||||}{{{{|{{{{{{|}||}{||{{{{|{{}{|}}||}||{{|{{{{}{{|||{{{zz{{{z}|{|{{|{{{{{{{{z{{||{~~~~}}~}}}}}|}}}}|}}|||{{|{}{{||{||{||{{{z{{{}{|{||{{{{{{{z|z{|||{}{{{{{{{{|||z{{||zz{{{zz{{{{{{z{|{{z|{z{{{zz|{{|{z{z{z{z{{|{{|||z{{{zz{{{z{|{||{{{z|zz{{z{||{{{||{zzz{zzz{z{|{{|{{|zz{{zzz|z{|{{{{{{{|{{z|z{}{|}|{{{{|{}|z|{{||||{{{{z{|{{{{{z|||{{{{z{{{|||{||||z{{{|{|{z|||{||{|||{{{{{||||{|||{{||||z{|||{{|{|{{|z{{z{|{||||||{|{{||{|||}||||||{{|{{{{|{||{|||{{{{{{{z|}|{|{}|{||{{|{{{|}}|}|||{|{{}|||}||}}|||{||{|zz|{||{}}||{{|{|{|{|}}}}}|||{|{{{|{|||{||{|||{||{|||}{|{}{{{{{|{{{{|{{|}|zz{{{|{{{{{||{~~~}~}}}||||}|}|}}}}|||{{{{||||||}{|z||{{z{{{}}||||{{||{||{|{{|{|z|{z{zz{zz{z{{{{|||z|{{{|z{{{|{|{|{{|z{{{z{{{{z||{zzzz{{{|{{{{{{{{|z{{{{{{{{{||{{|{{{{{zzzz{||{{|{|z|z{{zzz{z{|{|z{{z{zz{{|{z{{|{{{z{|{{{z{{{{{{{|{||z{{z{|{|z||||{{{z{{|z{z{|{|||{{{{{{{|{||{||}||{{{{z{z{||{||{{|{{{{z{{{|{{{{|||{{{|{{|}|{{{||}{{|{{{{|{{|{||||{{{{{{{|||{||}||z{{{|zz{|||{}|}{{{{|{{|{||||}{|}||{{||{}z|{}}||||{|}{{|{{|}|||||}{{{||{{|||}}{||||{z{|{{||||}||}|{|{|{{||{{|{|}}{|{{|{|{{}||}|||{{{{{||z||||{}}{z{|{{{{{|{|{|~~}}}}}|||}}}}|~}}{{z|}||{||}}|||||{|{||{|z|{|{||||{|{y{{{{{|{{|||z{z{{{|zz{{{|{{{{{{|{{{z|{|{|{||z{zzz{z{{z{{{{{{{z|{{z{{|{|z||{|{zzyz{z{{z|{{||{{z{{zzzz{{{{{|{|{z{{{z{zz|z{|{|{|z{{{{{z{|{{{|{{{z{|{{{{|{{|||||{z{z|z{|{|{|{|||{{{{z{{{|{{{||{}z{|{z{{{{|{|{||||{{|z{{{||{{{|{{{{{{{{{|{{|||{}|{{{z|{z{{}{{{||||{{{|z{{|||}||{|||{{{{|{||}}z}|||{|z|||{||||||||{{{{{z|{{|||{}||{{{{{||{{{{|}{}}|z{{||{{||||||||{{{|{{{{}}|{||||||{{{|z{|{||||}|||{|{|{||{||}{|}|{|{{{{{||{|{}||{{{{z{|{{{{{|{|{{{{z{{{{|{||{}~~~~}}|||||}}}}|}}|{||{{|}{||||||}}|{}{{|z|{|||||}}|{{zz{z{{{{{||||{{{{z{{z|{{{zz||{z{{{y{{{{{z{{|{zzzzz{zzzz{{y{||{zyzzyzz{{{|{{{{{z{zzzz{z{{{{{|{{{{{{zzzz|{{z|{{{{z{{{zy{{{z{{|{|{{z{{zzz|{{{{|{zz{{{|zy|z|{{||{{zzz{z{y|{||{|{{{z{{z{{zzz{{{|||{zzzzz{z{|{{z{|||z{||zz{{{{{|{{|{{{zz{{{{||}|{|{{zz{zz{{z||{{|{|{{|z{{z||{|{||{{{{|zz{{{||{{{|{|{z{{{{{{z}{{|||{}|||{z{|}|||{|||{{{{{|{{{{{||}{}}{{|z{|{{||}{|}|{||{{z{{|{||{|||{|{|{{{|{||{|}|}|||{|{z{{|{|{|{|{z{{{{z{{|||||||{{{{{zz{{|{{{{{{|z{z{z{z{|{|{~~}~}||}|}|}}}||}|}||{{||{}|{}}}||}|{{z{{{||}|{{|{|{z{{{zz|||{{}{|{{|{zz|z{{{{||{||{z{z{|{z||{{{z{{{{z{{{{{z{{z{{||zz{{z{z{{{{{||{z{{zzzzz{z{{{{||{|{z{{z{z|z|{|{{z{|{{z{z{{{{zz{|{{{z{{{{y{|{z|{{{z{{{{{{||{{|||{|{{{zz{z{||{|}{||||zz{{{{{{|||||{{z{zz{{{|{{||{{{z{z{{z{{|{z{||||{|{|{{{{|||{{|{{{z{{{{z||{{|||{{z{|{{{z{||||{|{{{|z{|{{|}z}|||||{{{z{{{|{||}|}{{{{{{{|z|{|||||||{{z{{{{|||||{}||{}{{{{{|}||}{|||}||{|{||}||||{||z{z||}|||{||||}{{{|||z{{{}|{||||{{{z{||{|z|{||}{{z|zz{{z||z{{||{|{zzz{{{{|||~~~~~~~~|}|||}}|}||}}}||{||{|}|||}}{{||{{{{{{{}||z|{||{|{{|zz|{{|{|{|z{{{z{{z|||{{{|{|zzzz{zz{{{z|||{{z{z{{z{{{|{{z||zz{{{zzzz||z{||{{zz{zz{|{{|{{|{|{{{z{{z{{{{|}{||{{{{{zzyz}{z{|||{{zyz{z{z|{{|{{{z{z|{{{z||{|{||{z{{{z{{|{|{{{{|{zz{{{z|{{{{{{{{{z{{{{z{z{|{{{{|{|{{{|{{{z{{|{||{{z|{zzz{|||{||||{||{z{|{{|{|{||{||{{|{{{|{}}}||}{{{||{|{||{|||}}{{{|{{z{|||{{||||z{{{{{{{||}||||||{{{||{{{|{|||}~|||{{|||||||||}|{|{{{{{|}|}{|}||{|z{{{z}}{||||}{|{{{|{}|}||||||{|{z|{z{{|{||||}||{{{z{z|{{{{||||z{{||zz|{{{{~~~}}~{~||{}}|~}~||{{{|{{|}||}||||{z{{|{{|{{|||{{{|z|{{{{{{{{{|||{z}{z{{{{{{{z{z|{{{{zzyz{{{{{{{}zz{zz{z{z{{{{|z{{{zzzz{z{z|{{{|{z{{{z{{{{{{z{|{|{{|z{zzzz|{|{z||{{zz{zz{{|zz{{{|{{zz{zz{{{z{z|{{|{|{{{zy|{{{||{{{z{z|{|{|{||||{{{z{z{z{{{z{|||{|zz{{yzz{|}{{{||{{|{zzz{z{||{{{{||{|{{{{{{||{{{{{{{{{{{z|||{||{{{|{{{{{|{{{{|{|{{{{y{{{|{||{|z||||{{{{{{{||{{{||{{{|z{{{z{|||{{||{|{z{{|{{{{{|||{{|||z|{{{||||||||{{{{{{{}|||||{{|{{{{{|{{{{||{|||z|{{z{{|{{|||||{{{z{z{{{{||{{|{{{{{{{{z|{||||{}zz{{|{zz|{{|{~~||}}|{|}|}}||}}}|{{{|{{||{|||||{z{{zz{z{|{||||{{z{zzz{z{{{||{{|{{{{{{zzzz{{{||{{{yzzzzzz|{zz{{|{z{zzz{{{yz{||{{{z{{zzzzz||{{z|zz{zz{zz{{{{|||{{{{{{z{zyz{z|{{{{{z{zyz{zz{{{{{{{{{{{zzzzz{{{||{|z{y{{{zz{{{{{|{{|{{zzz{{{{|{{{{||z{zzz{{{{{{{{{|z{{{zz{{{{{z{|{{|{{z{yz{{|||{|{|{{{{{{z{{|{{{{|{{{|{{{{{{z|{|}{{|{{{z{{|{{{|{|{|z{z{{{zz|{|||||}{{{{{{{{|}|||{|z|z{{{{|{|||{|}||{{{|z{|{{||{{||}{|{{{{|{{||{||||{{{{z{{||{{|||{||{zz|{{|{|}|{|}}|{{{{{{||||}{||{{{{z{{{z{|{|{||||z{{{{}z{||{{|}{{{{{{z{z{{{{{~~~~~}|||}{}{}}~}}|}|{|{|{|{{|||||}{{|||||{|{|||||||{{{z{z|z{||{||z|z{{{{zzz{|z{z{{{|{zz{{z{z{|{z{{|{z{{{{z{{{{{{{|{{zz{{{z{{{{|{||{{{z{z{{{{{zz||{|zz{z{{{{z|z{{||{{z{zzz{{z|z{{{{|z{z{{{z|{{|{|}|{{z{{z|{z{z{||{||{{{zz{{z|{{{||{|{{|{{z|{{|{{{}|{{{}{{zz{||{|{||{|{{{{z{z{|||{|||zz|{|{z{{||||{|{{{{{{{{{{{|{|{{{{{{{{{|{|{|{|}}{|{{z{z|z{{||{|{||z{z{{z{|{||||}|||{||{{{|}}{{}|{{|{{{{||{||||||{||{{{{{{{|{|}{}}{{|||{{{|{||{|||{{{{{z{|||||{|||||{z{|||||}{||||{{z|{{{|z{{{||}{{{{{{{{{|||{{||{{{{zz{|zz||{|~~~}}}||{}}}|||}}~}{||{{{|||||}|}{||z|{z{{|{||{||}{{zz{{{z{{}{|{||{{z{z{{{z{{z{{{|{{|{{z{z{{{{{{{|z{{zz{z|{|z{|{{zzyzzzz{{{{{|{||{z{{{{|z{{{{{{|{|{{{{zz{z|{{{zz}{{zzz{z{{z{|z{{{||{{zzz|z{{{{{|{|{z{z{{{{{||z{|{|{{{|{zzz|{|{|{z|{{{{z{{{{{|{||{|{{{{{zzz|{|||{||{{{{{z|{{|||{|{||z{{zzz{{{|{z||||z{z{{zz||{{{{|{{{z{{{{{{{{}||||{{{|z||{{|{}|||{|z{{{{{z|{||}|||{z{{{|{{|||{|||}{{{{{|||{}|{{||||{{|z{{{{}{|||}{{|{|{{|{|}||{|||{{{{{{z||}{{|||}|{|||{{||{|}}|||{{{{{{{{|{||{||{|}{{z{{{|{||{{}|{{{{{{{{|zzz{~~~~~|}~}}|}}~}}|}}||~||{|{|||||}||{z{{{{z|{|}|{}}||{{zzz|z{|||{{{||{zz{|z{{{z{|{{||{{z{z{z{|||{|{z{{{{y{z{{|{{z{|{z{z{{z{{|{{{{{{{{z{{{zz{{{{{{{|z|{zz{z{z|{|}{|{|zzzz{zz{z|{{{{|||z{z{z{{z{{z{}{{zz{{zyz{{|z||{||{{{{|z{{{|{{{}{}{z|z{zzz}||{{|{||z{{zzzz{|{{}|{|{z{{{z{{{|{|{||{|{{{{{{{|{{z|}|{{{z|{{{{|{{{|{||{{{|{z|{|||{|{}{|z{|z{{{|{||{}||{{{{{{z{|||{z|}||z{{{{|{|||{|||~|{||z}||||{|||~||{{|{{{|{}|}|||||{||{|{{{|}||||{|{{{{{{||{{|{|||}||{{{{{||||||||{|{z||z{{||{|||}||{zz{{{{|{||{|||{{{zz{z{{{{{~~~}}}|}|}||}|}}}~}}|{{{|{|||{}|||||{||{|z{|{||{{||{|{{{{{z|{||||{}|z{z{||{z|{z{|{{|{{z{{z{{{{{z||{{zz{{zzz{{{|z{||zzzzzzzz{|{{{|{|{{z{z{zz{{{{{|||{{{{z{zz{||z{{||{{z{{zz{z{{{z|{{z{{{{y{z{{{|{|||zz{{{{z{|{{}{{||{{|{{{{||||{|{}|{{{{{{{z|{||{{}|{{{{z{zz{||{|}|||{||{{{{{|{{||{{|z{{{z{{|{||||||{{||{zz{{{|{{{|||{|{{{{{|||{||}|{|{||{|||{||{{}|{{{||{z{{|}|}|}||{{{{||{|||}|||||||||||z||{|{}|{|{{|{|{|{}|}|||}|{|{{{|{|||||||||z{{||{{{{|||}}|||||{z{{{{{{}||}{{z{||z|{|{{||||||{|{}{{{||||{||{z{z{y{z|{{{{~~~~~~~}}}|}|}~~}|||}|{}|||{|{||{|}|}{|{{{{{z|~}|||{}{{{zzz{z{{|{{{{|zzzzzz{{{|{{z||z{|{z{{zz|z|{{zz{z{{{{z{z{z{{z{{{{z{z{zz{z||{{{{{{{z|{zz{{|{z{z{{|{{{{zzzz{{|{{|{{{{{z{{z{|{{{{{|{{zzz{{|{|{|{||{{z{{{{{{{{|}{|}|{{{{{z{{|||{{||{|z{{zz{{||{{{|{|z{{{z{{{|||z{|||zz{|{{{{||z|{|{|{{}{{{zz||{{{|}|{z{|z{z{|{|{{||z{{|{{{z{{|||||||{{{{{{||||{|}|}|||{{{z{{|{{|{||||z{{z|{{||{{|{|||||{{|{|||{{|||||{|{{|{{}||}|||||{||{{{{|||{}||{}{{{{{{|||{z|||}||{||{|||||||}|}|{|{|{|z{||{||||||{|{{|{{|{|{|||{{{{{z{{{|{{{~~||}}}||{{}}||~|}}||{{|||{|||}{|{{{{||{{{||{||{}|||{z{z{z|{{|||{{{{zz{zzz{|{{|||z|{|{z{{z{{{z{|{{{{{z{z{zzz{|z{|{{zzzzz{|z|{{{{||{zzzy{z{zz{{|{||{{|{z{{zz|{|{{||{{{z{{{{{{z{|z{|y{z{{z{{{{{{{||{zzz{zz{{{{{{{z|z{{|z{z{{{{|{{|||{{{z{z{{{{{|{|||{{|zz{{z{{{{|z|}|{|z{z|{{|||{||{{{z|{{z{{|{|{|}{{|{{{{{{|||||{}||{|{|{{{|{{|}}{|||{{{{{{||{||}{|{{{|z{{{{||||}|{|{{{{{{{|}||||}||{|z{}|{{}{{||||}{||{|{{{}|||}|||{}{|||||||{|||||{|{|{{{|||||{|||{{|{{|{|{|{||{|{{||{{{{|{|||||}{|z{{{{z|||{|{||{{|{zz|z|||||~~~}}}}}}|||}}|}}}}||{z{||{|{{|||||{z{{{{z{{{||z{{{|z{{z{zz{|{{|||}{z{z{zzzz{|{z{|{zz{z|{{{{{||{{{|{{{zz{{z{z{zz{{{{zzzz{yz{{||{||{{zzzz{z{{z|{{|{{{{{z{zzz{{{{{z||{zz{zzz{|{{|{{{{{{||zzz{{z{{||{|zz|{z{{z{{|{||z|{{zz{zz{{|}{{{|{{{{{{z{{{{{z{{}|zz|{z{z{|{{{{|||z{z{{z{z{{{{{|||{{{{z{{z{||{|{||{{z{{{{{{z{{||{{{{{{{{|{{{{|||}||{|{{{{{}|||z{|||{{{{{z{{||||{|||{{{|{{{|{|{{{||{{|z|{||{{}}||||}{{z|||{{||{||~|{{{{z{{{|||{||||{{{{|{z{{{{{}|}}{{{|{|{|{{|||}{||{|{{z{{|{{{||{||{z{{|{{{}|||{||{{{{{{{z|{{{z~~|}|}}|{|}}||}}|{||{{{{{|}||}{}}}|{{|z|{{||{|||{||{{y{{zz{{{|{}|{{{{{{||{z|{|{|{{{{z{{zz{z{{{{|{|zy{{zz{{{||||{||{{zz{{{z{||{{{|{z{zz{zz{{{||{{|{|{{zz{{z{{z{{|{{|zz{{z{{{{{{{||{|{z{{zzz{{{z{|||{{{{z{{{{{{{{|{{{{{zy{{{|{{|||{}{z{{{{|z|z|z|{{|{{{{yz{{{{|}{{||{{zz{z{{z{||||||{z|{||{{z{|||{}|z|{|{{{{}|{{{||||{|{{{{{|{{|||{|{{{{{|}|||{|||{|{{{||z{{{z|||{|{|{{{|{|{|}||||}|{|{{{{|||}|||||{|{{|{z{{{|||||}|}{||z{{|||{|||||}{{{{{{|{{|{||||}|{{{{|||||||}|}{|{zz{{{{|{|||||{|{|{{{{{{|||||||{{|z{zz|}{|{~~~~~|}}|||{|||}}}||{{||{{{|||{{||||{|{z{{|{|{{||}|{{{z{zz{{|{{{|{|{{{z{{z{{|{{{{|{{z{z{{z{{|{{z{{{zzzzzzz{{z{{{|{{{z{zzz{{{{z{|{{|{{z{z{zz|||{{z{{|{zz{{{z{{{|{z||{z{{yzz{{|{|{{|{{{zzz{{z{|{|{|||{{{{{{z{z{{|{{{{{zz{{z{z{{{{{{{{||{{{z|{{{|z{{{|z{{{z{{zz||||{||{{{z{{{{||{{|||{{{|{{{{{{||{{{|||z{{{{{{||}|{||{{{z{|{{|{|{}|}|{z|z|{{{{|{{|||||z||{{{{{{|{|{{{}||zz{|{z{}{||||}{|{|{{{{{|||}||}|{{{{||{{|||{||||{{|{|{|{|||||||{{{{{z{{|{||||||{{{{{{z|}||||}|||{{{{{{{|{{|{{|}{{{{z{|{{|{|{}{{|||{zz{{|{}||}~~~}}}}|||{}|}}}}}}||{|{{|{|||||}||{zz{{z{{{|||{|||||{{{|{z{{|z{}{|{{{{z|{zz|||{||{|z{{{{z{z{{{z||{{z|{{{z{zz{|{{z|zz{zzz{z{|z{{{||z{z|{z{{{z{{{||{{{{|zz{{{z{{{{|{{zzz{{zzzz{{z|{{{{{{{z{{{{|{z|{{zz{z{z{z{zz|{|||z{zz{{{|{|{{{|{||zz{zzz{{{{{{{{{{|{zz{{{{{|{{||{{{{{{z{{|{{{{||{{z{zz{zz|||{|{{{{{|{||{z{|{{{|{|{{|{|z{z{|||{|||{{z{{z{{|{|}|{|}z||{{{zz|||||||||zz{||zz|}||{}||{{{|{{|{{|{|{}|||z{{{{|{{||||||||{{z}{{{|{{|||||{{{{||{{{|{|||||{{{{{{{{|||||||{{{z{{{z{|{|{{||}||{zzz{{{|||{{|{{{{{{y{{{{{{{~~~}}|~|}}||}|}}}}}||z{|{|{|{}}|||{{|{{{|{z{{|}{||}{{{{zz{{{{||||{|zz{{z{zz{{|zz{|{{|{{{z{z{{{{|{{{{{{zz{z{{zz{{{|{zyzzzz{{|{{{|{{{{zzz{zz{z{{{{z|{{{{zzz{zz{{{{{||{z{{zz{z{z{{{|||{{z{zzz{z{{z{|{|{{z{|{z{z|{|{|{|{z{z{zz{|{{{{|{{{z{z{{z{|z{|{{{|{{|{y{|{||{{{{||z|{{{{{{{|{{|{|{{{{z{{{{|||{{||{{{{{z{{{|{|{{|||{{|{|{|||{||{|||{|{{{{{{}{{|{|||{{{{|{z{|z|}}|}||{z{{|{{{{{}||||z|{{{{|z|}||||||||{|{z|{{}|||{{||{|}|||{|{|{}|||{z{{{{|{||{{{||}z|{|{{||||{||{|}|{|{{{{{{|||||}|||{|{{|{{|}|{{||{{{z{z{{{||{|~~}~~~~}}}}}||}||}}}}}{{|z{||{{{{z||||{{|{{{z{{|||{{|}{|{{z{{z{{{|||{|{{|z{{{{{{{{{|{|{{{{|{z{{z|{{|||{{{z{{z{{{{||||{zz{z{{{z{{z||{|{{{{{y{zz{{|||||{zz|{{{{{{|{||||{{zz{{z{zz|{z{|{|{{{zzz{{{|{{{{||{{{||{{z{{{|{{||{{{{{{{{z{|{|{|{|z{{{z|{z{||z{|}{{{zz{{||||||{{{|{{{}zz{||||{||{{{{{{{{z{{|{{||{{{z{{{z{||{|{{|{{||{|||{{|{|||||{{{{|{|{{{{||||}{{{{{z{{{||{|||{}z{{|{|{|{|{|}|}{|||{{}|}||}|}}{|||{{{|{{}|||||||{{{{|{z|||}|||}||{}{{{||||||{|{||{{{{||{|||||}|{||{{{{{{|||{z||z{z|z{{{{|{|{|||{{{z{{{z{}|||~~~~}}|}{}||}}}|}|}}|{{{{|{{||||{|||{|{{{{{|||||{{{}||{{z{{z{|||{{||z{{z{z{z{{{{{||||{zzyzzz||{{z|{|||zz{{{{{|{{{|{|{{{zz|zz{|{{{{|{z{z{zzz{|||{||||{zz{{{zy{|{{{{||{zzzz{zz{|{{{|{|{{zzzz{{{{{{{{||zz{{{{{zz{|||{{|{zz{{{{z|||zzz||{{{{{{{{{|{|{{||{{|{{{z{{{|{{|||{{{z{z{{{|{|{|{{{z{z{{{{{||z{{~{|{{{{z{{|||{{|||{||z{{{{{|{|||||z||{{z{{|||||||||{{z{{{z}{}||}|||||||z{{{||||||||{{{{{|{|}}||||}|{{{{|{{{}|||{|||||{|{{{{|{|{||||zz{|{{z||||{}|{||z{|{{{|||||||||{||{{||{|||{||||{{z{{{{|}||{{|||{{{{{zz|{|||~~}~~~|}|}}||||~|}~||}|||||||}}{{||}|{{{{{z{|{|{|z{|||{{{{{z{|{{||||{{zz{{{zz{{{}z{|{{|{{z{{{{z}{{{{{{z{zzzz|{|{|z{}|zz{{zz{z{z{z{{|z{zz{{{z{{{{{z{|{|{{z{z{zz{{||||||{{z{z{z{{{}z||||{{{{{z{{{{{{|{|{{{|{{z{{|{{||{|{{zzz{||z|{|||||{z{{{{{|{{{|{||||{{{{zz{||{|{|}|{z{{|z{z{|}|||{|{zz{{{{z{|{{{{|{{z{|{{{{{{{|{|||{z{z|{{{{}||||||{|{{{z{{|||||||}{|{{{||{||{|}|}|{{z{{{{|||{|||}}{{{|{{|||}{{|||||{|||||{{||}{}||{{{|{{{|{||{}}|||z{{{{z|||{|||}||||{|{{|||||||{||{{z{z{|{||}{|}||{{|zz{{{}||||{|{|{{{z{{||{||~~~~~}~}}|}|}||}}|~}||}||{{{{{{|||||}}}|{{{{y{z||{|{|}{|{{{{{{{||||{{||{{{{{{{zz|{z||{{{{{z{|{z||{{z{|||{{zzz|{z|{{z||{{{zz{zz{{{{{|z|{{zz{{{{{|{|}|||{z{z|zzz{{{{||||||zz{{{{z{{{{{|{{|{zzzz{{{{z{{|{{|z{z{z{z{{{|{|||{{z{|z{{{{{{{|||{zz{zzz{{{|{{|{{{{|z|{{{{z|{{|||{{{|{z{z{|{|||{|{{{z{z||{|{{|{}{{{{z{|zz|||{|{z{z|{{{{}{|{{{}||||{{{{{||{{|||||||{{|{z{z{|||{||}|{{{|z{{||||||}{|{|||{}||||||}|||{{{{}{{{}|||}|}{{{|{{{{||||||}{{|{|{{{{{}|{|||||{{}{{{{|||||{}}{{|{{{|{{|{{{|{{||{||{|{||{{|{}|{{{{{z{{{||||~~~~~}~~}}||}}}|}}||}}}|||{|||{{|||||}|}||{{{{zz{||{{||||{z{{{{{|||||{|}{z||{{{yz||{{{|{|{{{{z{{{|{{||{|{{{z{{z{{z{{|{}|{zz{{zzz{{{{{|{y{z{{z|{z{{{{{|{{|||{{zzz{{{{{||}|{{{{zz{{{{{{{{{{{{{zy{z{{{{|}||{{z{{|{z|{}{||||}{{z|{z|{||{|{||{{{{zz{{|{|||{|{|z|z{{{{||||{|{{{}|{{{{z{||{|||||z|{{{{{||}|{{||{{z|{{z{{||{||{z{{{{|||{||{||}|}{|{{{{{{|}z{|}|}|{{|{|{{||{{|||{{{||||{{||||||~|}{|||{|{||||{||||{{}{{|{|}{{}||}|{||{{{{|{||||}||{|{{|{{|||}||}}{{|{||{{{||}}|||{|{{{|{{|||{|{}}||z{{{}{{|{|{{|{z{|z||{{|{{{{~}~~~~~}~}}}}|}|}|}|~|}|}|}||{||{z|{{{}|||{|{{{{{{{{|{||||{z|{zzzz|z{{z|{|{{{||z{zz|{|{z{||z{{{{{{{{|{|{|{{yz{z{{{|{{z{{zzzzzzzz{z{{{{{{{{|{{zyzzzz|{{{{|{{z{{zzzz{|{|{||{z|{{{{zz{|||{|{{{{{z{z{z{}{{{||{{{zz{{{z|{{{{{|{{{{{{z{z|{{{|{{{{{zz{{{{|{||||||z{{zzz{z{||{||||{z{|{{{{{||||{|{{{{{{{z{||{||||{|z{{{z{{{{|{{|||{{z{|z{{||||||||{{{||{{{}{|||||||{{{|{{{||{||}|||{{{{|{{||||||}|{{{{{{||{|{}{||}||{z{{||{|}}|}{|{{|{{||}|}}||{|{{{|{|{{{||||||}{{|{}|{{|||}}{||{}||{{{{{}|||||}|{z{|{{|{{|{||}|{z{z|{{{|}{{{~~}}}~~~}~~~}}}|||{|||||}|{}|{|{~}{{|{||{{||{|{|{{z{z||{{{{|{|zzz{z{{{zz{{{{{z{zz{zz{|{{||{{|{z{z{{z{z|{{|{{zz{{{{z{|{{z{|{{zz{{{z{z{{{{{z}{|{z{{zzz|{|{{{||{|z{zzzzz{||{z{{{z{{zyyz{z{z{|{{{yzz{zzzz{{{{}{{{z{{{zz{|{{{{{|{{{{{zz{z{{|{|{{|{{{z{zz{{{{{z|{|z{{{{{z{{|{z|||{{{{{{z{{{|{{||{|{|{{z{{{|||{{{|{{z{zy{{z|||{{{{{|{|{{{z{{{}|||}|{||z{{{||{|}{{}{{z{z{{{{|||||{||{z|{{{{{|{|||{|||{{z{{|{{|{|||}||{{zz{|{}||{}|}||{{{{{z{{||{{||{{{{{{|{{{{|||||}|{{{|{z{|||||}||{{{{{z{z{{||||z{|{{{{{zz{|z|{{||{{|z{{z{{{{{{~~~~~|}~}}~~~~||{{}|{|}}||}}}}{{|{{|{|{}|{|||}{|||z{z{{|{|{|{{z{{z{{z{{z|{}{|{z{z{{zz{{{{||||{{{z{{zz{{{z{{{z{z{zzzz{{{{{{{||zzzz{z{zz{|{{{||yzz{{z{z|{{z{{||{|{zzy{z{z{{{{{|{{{zzz{z{{{{z|{zz{{z{{z{z|{|||{{{{{z{z{y|{|{{{{|{z{z{{|{{{||{{|{z|{z{zz{{|{|{{|||z{{{z{z{{|{||||{{{z{z{{{|{|||{|{{|z{{zz{{{{|||{{z{}{{|{||{|{|z||{|{{{{{|}||||{|{{{zz{{|{|{|{||}zz{|{{z{}|||}||||{{z{z{z|{{}{}||{{|{{z||{||{|}{||{{|z|{{|}{||||}|{|||{{|||{|{}{|||{{{|{{{{{{|||||{{{z{||{{||{|||{|{{{{{z{|{|{|}|{{{{{z{{{|||}||||z{{{z{{{|{|{}}~}~~~~~~}}}|}|||||||||}}}||{{{||{||||}|{|{{{|{z{{{{||{{|||{{z{z|{{z|{{|||{{{zz|zzz|{z{{{|zzzzz{zz||{{{z{z{|z{z{zz{{{{{|{{{{z{z{{z{{{{{{z{zz{{zzyz{{{z{{{|{zzz{z{{{{{{z||{{z{z{zzz{{|{z{z|{z{|z{{z{{{{z|||{{{{{{zzz{{|{||||{{{{z{{{{|{{{{}|{{{{{|z|z{{{|||{{{|{zz{{{|{{{||{{|{{{{{{|{|{|{|{z{{{z{{||{{|{||{{y{{{{{||||||{|{|z{{{{{||{}{||{{{|||z|{||{{||{|{{{z|{z{|||{||}|{||{{{{{|{}{|||||{{{{{|{{|{{|{||||{|||{{{||{||}}{{|{}z{|||||{{|||{||{{{{{|{|{|||}|||{|{|||{|||||{|{{{{|{{}{|||{|{{{{{{{{{||}|||||{|{{z{y{{{{{~~~~~}}~}~}}}~}}|{|||||~|}{|}}}||{|{{{{{{{|}|||||{zz{z{||||||{{{{{z{{z{{{{{|||{{{z{{{z{{{{{{z{{{{{zzz{{{{{z{{|{z|{{zzz{|{|{{{{zy{zz{{{{{{{{{|{{{{z{zz{z{{{{{||{|{{{{{z{{{|||{z|{{{{zzy{||zz{{{{{y{{zz{z{{{|{||zz|z{{{z{{{|{|||zz{{{zz{{{|{|{|}{{{{zz{{||{||{|{|{{{z{{{{||||||||z{|{z{{z{{{|||{|{{{{{{||{|{|{}{|{{|z{z{{{{{{||||{{{{{z{{|||{}|{{{|{|{|{|}|}|~||{{{{{{{||}}|||}||{{|{{|{|}|{|||||{|||z{||{}{|{|{}{{|{{{|{|}||}||}{{{{|{{}||}||}}{{{{{z{{{|||||}|||{{|z{|||{||{|{{z|{{|{{{|}|{|||||{{{{{z||{||||{|{{{zzz{{||{{~}~}~~}}|}~}~}}}|{}}z||}||}}}}|{{{|{|{||{{|}{}{y|{{{z{||{||{|{|{|z{{{|{{||{{{|{|{z{z{{{{{{{{|{{{|{z{z{{||{z{|{|{z{z{y{z|{||z{||z{{{zz{{{{{{{{z|z{{{z{{|{{{|{|}zzzzz{{{z|z{|{{|{{|{zyzzz{{z{{{{|{{y{{{z{|{|{|||{zz{{{zz{{||z{{|{z{{z{zz{||{{{|}{zzz{z{||{{{{{{|{{{{|{{z{{|{{{||{z{{zzz{{||{|}}{|{{|zz{|{|||{|{{|{z|{{z{||{{{{|{{{z{{{{z{||}||}{{{{{{{|{{{{||{||z{{|{{{{{||||}||{z{||{|z|}|||||{|{|z|{|{{{{{||||}{{{z|{||}|||{}}{|{{zz{|}{|||{|||z|{|{{{{|{{{||{|||||{z{{{{||||||{|{z{{z{{|||||||{z{zz{z{|||{{|z{z{{zz{z{||||~~~~}}}|}~|}|~}|{|}{|{}{||}||}}{|{{|{||{{||||}|z{z{{{{||z{{{|{{{{zz{|{{{{{{{|{z{{{|{|z{{{{{{||{{{{zz{{{{|{z|{{zy{zz{z{{{{z{z{|{z{y{z{zzz|{zz{zzz{z{|zz{{{{{|{|{z{zzz{z|{z{{{|{{zzzzzzy{{{{{|{{z{z{{{{{|{{{{|{{z{zz{z{z{{{{{{||z{z{{z{{{||{||||{{|z{{{{|{||{|||zzz{zz|{{||{{z{{z{{z{z{{{|||{|||{{{{{z{|{|||{|||{{{{{{z{{||z|}{|{{|{{|{z{{||{|{|{{{y{{{{|{|||||{|y|{|{z{{|||{|{{z{{{|||z||||||||{{{{{|{||{|||||||{{{{{{{{{|}|||}|{|{{{|{||||{||{|{{||{{|{{{{|{}}{|{{{|{{|{|{{{||{{{{{{{{|||{{|}||{{{{z{z{|||{|||{{|{{{{z{|||{}~~~~}}}~~}~~~}}|||{{|}|||||}|}{|{||z||z|{}||{|{{{{z{{||{|{{||{|{zzz|z{|||z||}|{zz{{|{z|{{{{{{{{{{|z{{|{|z{{{|{z{{|{z{z{{|{{{z{{z{zzzzz{|{|{|{{{{{z{z{{{z{||||{{{zzz{z{|{{{{|{z{{{{yz{z{{zz{|||z{{{{z{||{|{||||z{{{{zz{|{{{|}||{{z{{|{|{{|{|||{zz{{z{{{|{{|}{|{{|{{z{{{{{|{{|{{{{{|{{{{{{|{{|||{{{z{z{{|||{|||{|{{{z{z{|{{{|||{{{z|{z|||}}|{|{z{{{{{{{|||{|{}|{{{{{z{{|||||||}|{{{|{{{{||||{}||{|{{|{z{||{|}}||{{{{{{{{}|||}}|{{{{{{z{|}{||}{{|{|{}|{{{||||{}|{|{{}{{{||{|||||{{{{{{{{{|}||{||{|{{{y{z{{}{|{||z{{{{z{{|{{{|}}~~|~}~}}|}}|||||}}|||}}||}|{{{|z{{|||||{}|{{{{{{z{{{|{|||{|{{|{zz{{||{}{|{{|z{zz{{zz{{|{|{{{z{{{{{{{{}|{|z{{z{zzz{{|{||{{{{{{z{|{{z{z{{{{{{|{z|z{zzz{}|z|{|{zzzz{{z{{z|{z|{zz{{zz{{{z{{{{{z{{zz{{{z{{{z|||{{{{z{{z{|{{||}{|{{{{z{{z{|{{{{{|{zz{|{|{|{{{{{{|{{{{zzzz|{||{{||{{|{{z{{|||{{|||{z|{{{{||{||{||z|z{z{{{{|{|{{{}|{z{{|zzz{||||}{|{||z{z{|{|{||{{||{{{{{{{|||||{||{z{{{{{{|{|{{|}|{{{{{||||||}||||||{{{}{{|||}|}||||{}{|{{|||{||}||{z|{{{|{|{|||}}|{||{|{{|{{}|||}{{|z{{z{{{|{||}|{|{{{z|{{|{|{||{|{{z{{{{|z|z|~}}~}}}}}}}}}}~}|}}|}{||||{}|{||||zz|{|{{{{{||}||{{z{zz{|{{|{||||{{z{{{{{{{|{||}zz{{zz{z|{{{z|{}{z{z{{zz{{|zz{zzzzzzz{zzzz|{{{{||z{zzzz{z{{|||{{{{{{z{{z{{|{{z||{zzzz|y{{|z{|{{|{{{zz{{{z{|z{{{{zz{{{|{z{zz{||||{z{zzz{{{{{{{{|}{zzz{z{||{{{{|||{{{z{z{{|{{{{|||{{{{z{z{{{||||{{{{{{{{zz||z{||{{{zz{{{{{{||||||{z|{{{{{{{|{{{||}{{z{z{{{||{{|{|}{{zz{{z{{{{}||||{{{{|{{y||||{{}||{{||{{{{|{{|{||{z{{|||||}||||||}|{{||z|{||||||||{||{||||{|{}|}{|z||{{|||{{|||}|{{{{{{{{}|{||||}{{{|{{{{||{||||{{{{{{{z{{|{|||||{{{zz{{{{{}{|~~}}}}}|~~~}}}~}}}||{{{}|||}}}||{{{||{z||||{|{{|{{{{|{{{|{|{||{{{|{z{{{{{{|{|{{{{{zz{{zz|{{{|||{{{z{z{z{{{{{z{{{{zz{zzz{{{{{|||{{|z{zz{{|{z{||zz{{zz{zz{{{{{{|{{|{{y{{z{|{|||{|{{z{zz{{z{|{{{||zzzz{z|z{{|{{|{||z{{z|{z{|{|{{|{{{{{{z|{{|{z||{|{zz{{z{|{{{|||||{{zz{{{z{||||||||{{{{|{z{||||}|{{|z{z{{{|{||{|||{z{{z{{{}||{|{|{|{|z{{z||{|}||{|{|{z{{{{|}{|||{{|z{{{{y|{||}|{||{{{{zz{{||||}{||{{|{z{|{{||||||{{{{z{z{|||||||||{|{|z{{{||{|{|}||{{{{{{|{{|{|}||||||}{{{{|}}||}}{{z{|z{{||||||{}{|{{{||{{|{|{||||z{zzz{{|||{||}~~}}~{~~~}|}|}{{|||{||{|}{|}||||{zz{{{{|{||{{|z{|{{{z{{{{||z||{{{zzz{z{|{{{|{}|{{z{{zz|{{z{|{{|z{z{z{z{zz{z{{{{{{{{zzz{{||{{{{z{{zzzzyzz{|{{{{{{{zzz{z{{{||||{{{zzzz{y{{z|{|}zzzzz{zzzz{{{z|{{{{{{{|zz{{{{{{{z{{{{z{{z{{{{{||z|{z{{zz{{{|{{|{||{z{{z{z{|{{{{{}{{{{zz{z{||{{{{{{{|{{{{zz{||z|||{z{{{z{{{|{|{{||z{{|{{|z{|{{{{|{{|z{zz{z{{|||||{{{|zz|{{{|{{}}||{z{{{{{{|||z|||{{z{z{{{{|{{{||||{{{{|{|{{|{||}|}||z|z{{{{}{|||||{z{|{{{{||{|}|{|||z{||{|{{|{|{||{|{{|{{{||||||||{{{z|{{{|{||{||{{{{{{{|z||{{{||{{{{y{{{z|z{|{~~~}~}}}}|}|}}~~}}}}||}{{{||}|||{}|{}{{|z{{|{{||||{zz{{{{zz|||{{|{{{{z{{{z{{{|{{z|{z{{|{{|{z{{{|{z{z{z{z{z{{zzz{{{zzzz{z{z{{{|{{|{{zzzzzzz|{|{{{{{{zzzz{z{{z{{{{{|{{{zzzzzz{|{|z{{{{z{{zzy{{{{{{{{z{zzz{zz{{{z{|{{{{zzz{{z{{||{{z|{z{z{{zz{}{{{{{|{|z{{y{{||{|{||{{{{{{{z{{{{|{{{|{{|{{z{{{|{{|{{|zzzzzzzz|}|{{{|{{{zzzz{{{{{{|z|{|{{{{{{|{{{||||||{{{{{|z||{{{|{|{{{{{z{{|{||||{|{{{{{|{{{|||||||{{{{{|{z{|z{|}|||z|{{|{|{}|}||}||z{|z{{{{||{|||||{{{{z{z{{|||||}|zz|{{z||z{{|{|{{{zz{z{zz}|{{||}|{|{z{|{{{{|{{|{{{{{zz{z{|{z|~~~}|~}}|}}~|}||||}||{||||||{{||}|}|{{{|z{{||||||||{}|{z{|{{|||{|{{{z{{zzz{{|{|{{|{{{zz{zzz|{|{||{{{zzz{{z{{{{z{{{|{zzz{z{|z{||{{|{{{{z{{{{{|{|{||{{{zzzzzz|{{{|{{{{{{{{zzz{|{{{{{{z{z{z{z{|{{{|{{{{{z{{{zz{{|z|{{{{{{{{zz|{{{|{|{|{zz{{zz{{|{|z{{{zz{zzz|{{{||||{{{{{{{{z{||{{{||{{|z{{{{{{{{||{{{{z{{zzz|{||{{{|zz{{{{z{{{{|{{{{{{{{{|z{{{|{||}|{|{{{|z{||{{||~||{z||{{{{}|||{}{{{{|{{|{|}||||||{|{{{|||||||}||||{}zz|{{||{|{}||{z|{{{|{{z}||}{}|{|||{{||||{|||{||{{z{{{{|{}|{{|{|{{{{{{{{|||{||}||{{{|z{|}|{{{{{z{z{{{{{|||{~~}}}}~~}|}}~~}}}}|{{|{}|||}|}~}||||{z{{|{|{|{{}||{z{z{|{{||||||{||z{{{|{{{|{|{|{||||{{{{z{|{|{{{{{{{z{{{zz{{{||{{{{{z|{{{{{{{{{|{z|{|zzz|{{{{{{|{{{{{z{z{}{|||||{|{|{{{zz{||{{{|{|z{{{{{zz{|z{|{|z{zzz{{{{|{{{|{}|z{{||{z{zz||}|{|{z{{z{{|{{|{{|{{{{{z{}{}{|{{{|}z{{{{y{|z|{|{{|{|{{{{zz{{||||||{|{{|{{{|{{|{||}||{{{{z{{{{|{{|||{||{{z{{|||||}||{{{{{{|||}|}|||||{|||zz{{||||}}||{|||{|{|}}|||}}||{{{{{|{}||}}|||{{{|||}|}|}|}|||||||||{|{{}||||||{|{|{{|}||||}}{{{{|{|{||{{||{|{||z{|{{||||}}||}|{z|{{{|{|||{|||||{{zz{z||||~~~}~~~}||}~~~}~|}}||||{|{||}|}}}~}|||||{{|||||||||{|{||z{||}{{{}||{{{zzz{{{{||{|}{{{z|{|z{{|{{{||{{{|{{zy{{|{{||{|{{{z{{{{{z{{{||{{z{{zzz{|{{|z||zzz{z{zz{{{{{|||{{{z{{{{{{||||{|{z{|z{{zz{{{{{{|{{{zzz{z{{z{{|||z{{{z{|{|{||{z|{{{|{{{{{{{|{{{|||z{{zz||{|z{{||}{{|{z{{{{{}|||||||{{|{{{z|}{|||||{{z|{z{|||{{{|{{{z{|{||||||{|||{{{{{|z|{|{}||||||z{{{{||{|}|||}{|{|||{{{||||||z|{{{{|{{{||||{}|||{{z||{{||{}}}}}||{{|{|{|{||}|||{|{{{||z||||}|||{{z|{|{{|||}{}||{{{{{z}}||||}}||{{{|{{{{||||{}||{{z|{{z{||||{|{|||z{|{{||{|{~}~}}}}|}}||~~}|}}}|{|}{z{{{||||{||{{{{{{z{|{{{|}|{|{|{|z{|||{{{{||{{{zzy{z{|||z{{{{{{{z{{zz|{{{{{{{{z{{zz{{z|zz{{{z{{zz|{{{{|{{{{{{{zz{zzz{{|{{{{z{z{{{zzz{{|{|||||z{{zzy{{{{|{||{{z{{{zzz{{{{{{{||{{{{z{{z{{{|||{z{zzz{{z{{{{{{{{{{zz{yyz{{{|{{|{{z{{z{|{{{{{{{{{|{zzz{z{{|{|||{{{{zzzz{{{{|{{z{{{zzz{{{{{{{|z{|{{{z|{|{{{|{|z{|{{{|{{z{|{{|}{}{|z{z{|{{{|||}|||}{{|{{{{{||||{|}{{{{{z{{{{}|||{|||{{{||{|{{|{{||||{||{|{||}|}||||}{{{|z{{|{||{||||{{{|z{{|{|{{||{||{|{|{|{||{||{|z|{{||zy{|{||{||}{{{{z{{{|||||||{{{zzzz{{|||{}}|}}}|~||~}}}}}}|||}|{|{|||||{|||{z|{|{{{|{||||{{{|{{{z{|{|{z{}{{{|zzzzz{{{}{{{{{{z{zzz{z||{{|||{zzyzzzz{z{{z{{{z{z|zz{z{zz{|{|{z{{{zz{z{{{{{z||{zzzz{zz{||{{{{{{zz{{zzz{|{|{{{{zz{zzz{zz{{{{|{{{z{z{{{z{{{{z{||zz{{{zzz{{{{||{|{{zzzy{z{{{|{|{zz{|zzz{y|z{{{|||zz{yzyz{{{|{||{{|{{z{{{z|{|||{|||zzz{{{{{||{{{|{z{z{{{{{{{{{{|{{|{zz{|z{{{||}{{|z{{{{{{{||{|{||}|{{z{z{{{||{{||{|{{zz{|{|||{||{|{{||{{{|{||||{}}{{{{{{{|||{||{|}|z|{|{{{|{||||}||{{|{z{|||z|||{{|{{{|{{|{{{|{{||{|z{{{{{{{||||{|{{{z{{{{{|||{|{{|z{yz{{z{{{{}}}|||}|}||{|}}|||||{|{{z|{||||{{}{}||{y{z{{{{||{||{{zz{{{z{{|||{{{||{{{y{|{z{{{{{z|zz|zzzz{z{z{zz|{|z{zzz{zzz|{{{|z{zz{{zyz|{{{z{{{{{zzz{z{{z|{{{{{zzz{yzz{z|{z{{{{{{{zz{zzz{{{|{{{{{{{{{z{{z{z{{{{z{{{z{{{{{z|{{{|zzz{{{zz{{|{{{{|{zz{{zz{z{|{z|{||z{{{z{z|{{{{{{|{{{zz{{z|z|{{{{|{zzz{z{zz|{|{{|{z{{{{{{{{||{{{{|{{z|z{z||||{z{|{|{z{|{{{{||{{||||{|{{{z|{{{||{|||{{{|{z{||{{||{}{{{{z{{{|{{|{{|||{{{{{||||{|{{|{|{|{{{{{||{|||||||{|{{{z{|{||{|{||{{z{z{|{|{|||}{{{{{{{{{||||}|}|{{{{{zz|{{{||}|{{{{{z{z|{||{{||{zzy{z{z{{|{{|~~~|||||{|}||}~~}{||z|{{|{{{||}{}{||zz{{{||{{z{|||z{{{{zz{|||{|}||zzzz{|{{zz|{|{|{z|z{z{zz{{{z|{{||{z{{zz{|{{{|||z{zzzy{{{{|z{{||{z{z{{zy{{{{{{{z|zz{zzz{|||{{||{{{{{{z{z{{{{{{{{{{zz{zzyz{{z{{{{z|zzzzzz{{z{z{{{{z{{zz{z{{{||||||zzzzzz{{z{|z|{|{{{{{z{{{{{{{|||{z{{z{zz{{{{|||{{{{{z{{{{|{{z{|{{{z{z|zzz||{|||{{{{|zz{{{{|{|{{{{z{z{{{{{{{|||{|z{{{{{|{||{|{|||{{z||{{{|{{{|||||{{|{{{{|||{}}|||{{{{z{{|{|||{}|{{{{{{{{|{||||||}{{{{{{|||||{|||||z{{{{{{||||{||||{{{{{{{|{|{}}|{{{{{{{z{||||||||{{{{z{{{|{{{||}{{z{zz{z{{|z{}}}}}}{}}|||}}|}||}||{{{|{z{{{|}||||{{{{{{z{||{{}|{z{{{|{z{{{||{{{{|{{{{{zzzz{{{{z|{z{zzzyz{{{|{|{{{y{zz{|{{z|{{{{{{{{zzz{{{{{{{{{zz{z{z{zz{{{{||{{{zzzzyzzzz{|zz{{|{z{zzzz{|z{{{{|zzzz{z{zzz{z{{z{{{{z{{{{{{{{{}|{zzzz{zzzz{z|{{{|z{z{|z{{{|{{{z{{|z{{{zz{{|||{{{{{z{{zz{{||||{{{{z{|{z{{zz{|||{|{{|zz{zzz{|{{{{{{{{{{{z{z{|{z{|z|{|{zz|{{{{{|||||{{{{{{||{{{{||{}|{{{|z|{|{{{{||{|{{{{{z{{||{|{|||z{{z{{{|{|{{||||{{|{z{{{{{}||{{|{{|{{{z||||{}||}{{{|{{z{{{|||||{{{{{{||{{{{}|||{z|z{z{z|{{|{{||{{z{z{|{{{||{{|{{{{z{zzz{{z{{~}}|}}|{|{{}|{||{|||{{{{{||{|{|{|||{{z{z{{{{{{|||}{|{{z{{{{{|{{{{|{{|z{{yzz{z{{|{{|z{{zz{z{{{zz{{{{{z{{{zzz{z|z{z{zzzzzzzzy{z{|{{{{zzzzzz{zz{z{|{{{zzy{{zz{z{z|{{{{z{zzzzzzz{{{{{{||zzzzzyzzz{{z{{y{zzz{zzyz{{{{{{{{{{z{{zzz|{{{{{{zz{zzz{{{{|{z|{{zzzzz{{zzz{{z{{{{zz{{z{|{z|||||{{zz{{zz{{{{|{{{|zzzz{{yy{z||{z|{z{{|{{{z|||{z|{|{{|{{{{|{||||{{{z{|{{{z{z|{|{}||{z{{{z{{{|{{|{|||{z{|z{{}||{|{||{{{{|{{{z{{z|||||{z|{{{{{||{|||{{{{{{z|z||||{||{{{{|{|z{{{{{{|}|{{{{{{z{{||}||||{|{z{|{{z|{||{||{{|{{{{z{{z|{{|{z{{z{z{{|{{{{}|}}||{{{}||}|||}}|{}z{{{{{|{||||||{{{{y{{{zz|{|||{{{{{{zyy{{{{{|{|{zzzy{{z{{{|{{||{zz{{zzz{{{{z||z{zz{zzzzzz{z{{{z{zz{{zzz|z{{z{z{{z{zzzyzz{|{{z{{{zz{zzz{{{{{{{{{zzz{zy{z{z{|{{{{{{{zz{zzz{{{z{|zzzzzzzzzz|{{{|{{{zz{z{zz|{{{{z|{{z{{zy{{{{|{{{{{zzzy{{{zz{{|{{{{zyzzz{{{z{{z{{||{{{{y{|z{{||z{{z{{{zz{z{{{||{{}{z{z{{{zz|||{{{{|{{{{|{z||{{|||||z{{z{z{{||{||||{{zz|z{z{{}{|{|||}zz{{{zz{{{{{{{|{z{{z{{z{{{||||||{{{||{z{|{{z|}|{z{{{{{{|||{|{||{{z{{z{{{{{{|{{{|z{{{{{{{|||||||{{{{zz{{{{||{z{}{{|{z{{z{{|{{|{{{z{zzy{z{{{{{}~}|||}||{|||}{||}}}|z|{||{|}{|}}}|}|{z{{|||{|{|}{|zz{{{z{{{{|}{{|}||{z{zz{z{|||||{{z{{{{zz{||{{|z|{{|{{z{zzz{|{|{{{{{z{{{{|{|{{{||{{z{{z{{{z{z{{|z{{zz{{zz{|{{{|||{{zyz{{z{|{{{{{|{z{{yy|zz{{z{{{{{{{{{{{z{z{|||{{z|{zz{{{z{{||{}{{zzz{{{{z|{{{|{}yz{{z{|{{|{{||{|{{{zzz{z|{|{{|||{{{|{{z{|}{{{{{|{{z{{z{z{{|{{{|{|zy|{{{{|{||{|||{{{|{z|{|{|||{{}{|{{{{{z{{|{{|{}{{|{z{{{{{||{{|{|{|{{z{{{|||{}|||{|{|||{|{{||||}{{|{z|{{{}||{||||{{{{{|{||{|{{|||{{{|{||{||||{|}}|{{{|z{{z||{||||z{{{{{|{||{|||{|{|{{{{{||{}{{{{{{{{{z{{||{|{~}~|{{||||||}|||||}{||{|{{z||{|{{||}|{{z{{z{{||}|}|{{{z|z{{{{{|z|}|z{{z{zzz{{z{{|{|{z{z{{{zz{{zz||{{{zzzzzzz{{{{{{{{{{zz{zz{zzz|{{|{{{z{{z{{{|{{|{|{zzzz{zz{|{|{{|zz{{{{{zyz{z|||{{{{z{z{{y{{{z{{{z|{{z{{{{{{{z{||{zz|z{{z{zz|{z|{z{zz{z{{z{{{z|{|{{z{zz{|z{{{{z|{|{{z{{{z{{{{{{{|{{z{z{z{{{{|{z}||||{z}|{z{{{|{{|{{{{z{{{{{|z{{|||{zzz{{{||{|||||{{{{z||{z|{{|{{{|z{{{zzz{{{|{|{{||z{{z{z{|||||}}|{{{{{{||||||{||{|z|{{{zz{}{||}}|{{{{{{{{|{}||||||{|{|{z{{||{}}}}{|{{|z{{|{{{{|||{{zy{z{{{{{|{|{||{{{{y{{|{z|{||||{{{{y{{{|{{{~{~|{}|||{{z}|{||||{||{{{}{{{{||||{{{{z{{{y{{{z{{|{{z{{z{z{z{{{z{||{{zzzz{y|{z|{{{{zz{{{z{y{||z{|}z{{{z{{z{zz{{{|{z{z{zz{{z{|{{z||{z{zz{yz{z{{{{|||zzzzzzzz{{|{|z{||zz{z{z{{{z{{{}|{zz{{zzz{{zzz|z|zz{zzzzzy{{z||{|zzz{{zzz|y{{{||{{{zy{yy{zz{{{{|}z{{zzy{{{{{{{{{|zz{zzz{{{z|{{||{zz|{{z{{{||||{|{{zz{zzzz{|{{|{}{{{|{{z{{||{{z||||z|{{{||{|||{{{{{{z{{{{{{{{||{|||z{{zzzz|||{{||{|{z{{{{z{|{|}|||{{{{{{{{|}||{|||||{|{{{{{}|{}||{{{{|{{{{|{|||{|{{{{{{{{{{{{z{{|{||{{{{{{{{{||{||{{{{zz{z{{|||}|{|{{{y{{{|{||z{{{{{zzyz{{|{{{{~}~|}|}{z{|||~|||}{||{{|{{{{|||{|||{|{{{{z|{{|{{{||{z{{zz{{{{|||{||{{{{zzzz{|{{|{z|{|{{z{{{{|z{{{||z{{{zzzz{{{{{}|z|z{{z{z{{{{{{{|{{{zz{zzz{{{{{{|z{{{zzzzz||{{||{|{z{zzz|z{z|}{{||{{zzyz{z{{{{{{{zzz{zzzzzy{z{z{||{{z{z{zz{{{{{|{|{zz{{z{z{{{{z{|{{{|z{z{{{{|{|{||{{|{zzz{{|{{{|{{{z{z{z{z{||||{||{zzz{zz{|||{{{|{{|{{{{{{{|{|||{}z{zy{{{{{||||||{z|{||z{||||{{{}{{{{}|zz{||{{}||{|{z{|{{{{||{|||}{|{{{{{|{}|{||||||{{z|{||}|}|{|}|{{|{{{{|{||}||||z{z{{z{|{|{}}|||{{{{||{|||||{||{{||{|z{||z{{||||{{{{{zz{|{||||||{{zzzz{{{{|{~}~|||||{|{|~||}|{|{{{{{{y{{{|{|}}|{|{zz{{|{|{{||||{z{{{{z{{{z||{|{|{{z{{{z{z{|{|{{zz{z{{zz|z{z{{|{{z{{{zzz{{{zz{|{{{{zz|zzz{|{{{{|z{z{z{{z{{{{{|||{{zzz{z{{||{|zz|{z|z{zzz{{{{|{{||zzzzyzz{{{{{{{z{{zzzzz{z|z{z|{{{{{{{{zz{{{|z{|{z{{{{{z{{|{{{{{|{z{{z{{z{{z{{|{|{{zzzz{{z{{{{{{|z{|z|z{z{|||z}{{z{{zz|z{{|||z||{{{z{{{{{{{|}|||{|{{{|z{z{|{|{|{|{{{{{{{z||{|{|}|{{{|z|zz||||{{|||{|{{{{{|||||}|{{{|{{{{|||{{{|||}z{{{{{|{}{||}}{|{|{|{{{|||}||}|{{zzz{z{{{{{{|||||{{|{{{z|{{|{||{{z{z{|{|{{{{|||{{{zz|{{{|{{|||{{{{z|{{{{{{|{}}||}{|{{|{|{}||||{|{{{||{{{||{|}||{{{z|{|z{{{|{|}|{{{{{{{{{{z|{{||z{z{z{{z{||{{{||{{{z{z{zz{zz{|{|{{{{z{z{{{|{{|{{{{{zzzzz|{{{{{{{z{{z{{z{{z{{z{{{{zzzz{zz{{{||{{{{zzz{zzzz{|{{{{{{{z{{{|zzz{z{|z{|{z{{zzz{z{{{{{{{z{{{{z|{|{{{|{{{zzz{zz{y{{zz{{{z{zzzy{z{z{{{{{|zz{zy{z{{{{{z||{{zz{zz{{{|{|||{|zz{{z{{zz{{|{||z{{z{|{zz{|{{{||||z{z{{{z{{||}|}|{|{{|z|{{||||||{{z{{||{|||}{|||{|z{z{{{{|}{{{||||{{{{{|{{{{|{}|||{{{{{{z{}||}|{}{{z|{{{|||}||{|||{{{|{{{{{{{{{|||z|{{{z||z|{|{}||{{z{{z{z{||{|{|{{z{z{z{{||{{{||{{{{{z{{{|{{|}||{||{|{{{z|}||||}|{|{{{{{{}|{|{||{z{{{z|z{{{||{||{z{{{zzz|{{{|z}{z{{zzz{z|{|z{{{}z{|zzzzz{{z{{{{z{{zzzz{zy{{z{|{|zz{{zz{zzz{z{{{{{zzyz{{yz{z{|{{{{zz{{zz{{z{{{{{{{{zzzz{{{|{|{{|||zz|zz{zz{{z{{{zzzzyzzz{{|z{zz|{{z{z{{z{zz{||{{|{y{{zyz{{{{|z{|{{{zz|{z{{z{|{z{|z{zzzz{z|{|z}{{|{z{{z{{z{||{z|{{{z{{{{{{z{|{z{|{{z{{z{{{{|{{|||{{{{{{z{z{{||{{|{{|{z|{|{{|{|{|{{|z{{{{{z{|z{{|{|||{{|z{||{{{|{{{{zzz{{{{{|{|{}}{|{{{{||{{}{|{||||{{{|z{{{||||{|||{{z{{|{{{||{||~{{{{{z{{|{|||{||{{{{|{{{z|{{{||}|z{z{zzz{{{{{{{{zz{{zz{{{z{{{}}}{{|{|{{z|||{||{|{{{||{{z||z{||||{{zz{{{z{{||{|{|{{{|{{{{{{{|{{|{{{zzz{zz{{{|{{{|{z{zzz{z{{zz{{{{zzzzzzzzz{{z{{{{{zzzzzy{{{z{z{{{z{zzzzzz{{{z{{|{zyyzzyxzzz|z{{{{{{{zz{{zzzz{{z{{{z{zzz{y{{zz{{z{{{{{{yzzz{zz{|{{{z{z{{z{{z{{{{|{zzzy{{zzz{{{{z{{zz|{{{z{zzzzz{{}zz{zzzyz{{{{{{{{zzz|z{z{{||{{}|{{{{{{yzzz{|{|||z{{{|z{z{|{|{|{{{{{z{{zz{|{{{{||{{{z{{{{z|{{|||||{{z{z{z{|||{{{|{|z|{{{{{{{||{{|{|{z{{|{{{|{{|}|{{{{{{||{{{{|||z{{{{{zz{{{{{}|||||{z{{zz{||||||{}|{{z|{{{{{{z{||||{zzzz{{|||{z{{z|z{z{{{z{{|{{|{{|{zz{z{z{{{|{||}|||{|{|{{|||}||||{{{{y{{|||{}|||||{{|{{z|z{{|{{||zzz{{{{{{{|z|{|{z{zz{zz|{{{z{{{zzz{{yzz{|{{z||{{z{zzzzzz{{{z{{{zz{zzzzzz{{|{{{{zzz{zzz{z{|{{{{zzz{{y{zz{z{zz{{{{z{z{zzy{{{{|{|{{{{zzz{zz{{zz{|{z{{{zzzz{|z|{{|{zzz{{zzz{{z{{|{|{z{zzz{{{|{{{|z{zy{z{{{{{z{||{|{{z{yz{z{{{|z{|{|{{{{{{{{{{|||{{{{z{{{{zz{{{{{{|{zz{{{{{{|{{{{||{{{zz|zz{|{||{{|{{zz{{{{{{||{{||{{zz{{{zz{||||||||{{{{{{z{|{{{||{z|{|||||{{|{|{|||{{|{{{{{}{||}{|{{z{zz{{|{|{{||{{{{{{{z{{{{{{{}|{{{{{{{{{{{|{{{|{{{z{{{z{{{{|||{|{{{zz{z{|||{{|{{{{{{zzz{|{||}}}|{z{{{|z{}{|{||}|{{||z{z|{||{{}|||{zz{{{{|{{{|||{zz{{{zzz{|{z{||{{{{zy|{z{{{z||{zzzzz{{zz{{zzz{z|zzz{z{zz|{{{||{{{{zz{{{|{{{{{{{yzzzz{yz|{{|z{|{{zzzz{z{|z|{|{{}{z{{zzy{zzz|{|||{z{{{zzzzz{{{{z{{zzz{z{zz{{{{{{{{zy{{{zy{z{z{|{{{zzzz{z{z{{{z|{|zz{z{z|{zzz{{{||{{zz{{{{z{z{{{z{|{z{|zz{{{|{{|{{z{{{z{{{{{{{|||{|{{{{y{{{{{{z{|{{{{z{{{z{{||{}|{{{{z|{||{{{||}{|{{{{{{z{{||{{{|{{z{{{z{{{|{{{{||{{{{z{{{{|{{|}{||{{{z{{{{|||||}||z{z{z{{|{{{{||{{{{{|{{{{{{||||}|{|{zz{|z||{||||{{zz{{{{{{||{||||z{{{z|{z||{|{|{{z{{|{zz{||{|}}||{{z||{||||{||||{zz|{{{{{|{{||{||{{yz{|z{{|{|{{{{zz{zzzz|{{{{||{{{yzz{zy{z|{|{{{{z{z{z{z{{{{zz{{{{{{{zzzz{z{{{z{zz{z{{yz{{{{{{{z{z{zz{{z{|z{{{|zzz{{zzz{z{{{|{{{zy{zz|zz{{{y{z{{zzzz{z{zz{{z||{|zzzz{{zzzzzz{{{{{zzzz{zy{{{{|{||{zyzzz{z{{{{z{{{|zzzz{z{|{{{{|{|{{zzzz{{{|{{{|{|{{zz{z{z{{z|{|z|{{{{{z{{|z|{{{{{|{{{{{{{{|{{z|{{{{{{|z{z{|||{||{zzz|{z|z||{{{|{{z{{{{|z{{{|{||{||z{{z{{y{||||{{|{{zz{|z{{||{|||{|{{|z{{{{||}{|||{{{|zz{|||||||{{|z{|{{z{|{{|||||{{z{||{{|{{|{{{|{z|z{z{z{|{|{{{|{z{|{{{{{z{|{||{{{z{{{{z{{|{{||||||{|{{|{||||||||z{{{{{{{{|z||}|{{z{{zzz|{{{|z{|{z{zzzz{|{{{{{{{{{{{yz{z|{z{{||{zz{z{z{zz{{z{{{{{|{{zzz{|{{zz{{{zzz{{{zzz{z{z{{|{zzz{zz{{{{{{{{{zzz{{{z{{{{z|{{z{{z{yzzzz{zz{||{{{{{{y{z{{zz{{{{{{{zzz{zz{yzz|{|{zzzzzzz|||{{||{|zz{{zz{{zzz|{{{{zz{zy{{{{{|{{||{yzz{|z{{||z{|{{{{z{|zzz{||{{{{{|z|y{z{{z{|{{{||{zz{{{z{{|{{{|{{|{{{z{{z{{||{z}{{|{{{{{{{{{|{{|{{|{{z{{z{|||{z|{{{{z{{{{||{{{||}{{{{{{|{{{{{{||{{{z|z{{z{|||||}|||{{z{zz{||{||{{{z{|{{{{||z|}{}{{|z{{{{y||{{|{||{{{z{z{z{{|{{{|{{{{|zzzz{||{{{{{|z{zzz{zz{|z|||}||{||{{z{}||||}|{|{{{z{{{|{{|{{{zz|{{{z|{{z|{{{|{z{{zz{zz{{|{z|{{zzzzzz{{|{{{|||{{z{z{{yz{|{{{{{zzzzz{z{{zz{{{|z{z|z{{zz{{{{{{{{{zz{yzzz{{z{{||{{{{z{{zz{{|z{{{{zzzzz{{zz{{{|{{z{zzz{zzzz{{{{{{{{{{zzzy{z{|{{|{{{{{{{{{zzz|{z{{|{zzzzz{y{{{z{{{{{zzzzy{{|{{z{||z{{{z{z{|{{{{{{{{{zz{zzz{{{|{{{{{{{{z{zz{{{{|{{|{{zz{|{{{{||{{{||{|zz{{z{{{||||||z{zz{|{{{{{|{||}z{{z{{z|{||||||||{z{z{{{||||{|||{{z{z{|{{{|||||||z{{{{{z{{|}|{||{{|{{z{||{||{|{||z{{|zz{{{{{||{||{{{{{z{|{{{|||{{{{{{z{|{|{{{||{{zz{z{z{z|{{{z|{|{zyz{{{{{|{{|}||{{{{{{z{{||{||||{{zz{zzz{|||{||z{{{z{zz{zz{{|}{{{z{zz{z{z{{z||z{zzyy{{z|{{{{|{|z{{zzyzyz{zz{{{z{{zzzz{z{{{yz{{{zy{zzzzz|{z{z{z{zzyzzzzzz{{|{{{zzzzzzyzzz{z{z{{{zz{zzzzyz|{z|||{{zzzzzzz{{{{{{||z{z{zzzzz{{{{||{{zzz{z{z{{{{{||{zy{{{{zz{{{{{{{{{{|zzz{zz{{{{{{{zzzz{z{z{{{{{{||zz{|{{{z||{{||||z{z{z{{z{z{{{||{{z{z{{zz{{|{{|{{{zz{{{z|{{|{|{{|{{zz{z{{|{{|||{{z{{{{zzz{||{{|{{|{zz{z{{{||{{{|}z{{z{{{{{|{|{z|||{z{z{{{{|{||||}}{{{z{{{{{{|{||{{{z{{{y{{|{{{{||{z{z||z||{{{||{|z{{zy{{{{||{|{|z{{{{zzz{{|{|{{|{{{{{zz{{|{{{||||z{{|z{|z{{||z{}|{{|{||||}{||{{||{z|{{{zz{|z{{|||{{{zzz{z{{{|{{||{z{zz{zy|{{{z{||{z{z{{z{{|{{{|{{{zz{z{zzz|{zzz{|{zz{{{zy|{z{z{{{{{zzzx{z{{zz{{|{{{zzz{zz{||z{{{{{zzyzzzzz|z{{{{||{z{zz{z{zzz|{|{z{{yzzzz{{{{|{{{z{zz{{zzz|||{{{{{zzzzyz{{{|{{{||zz{z{zy{z{z{{|{|{z{zz{z{z{|{|{{|||{{{zz{{{{{z|{{{z{{{{{{{{|{{{{{{{{|{z{{|{{{{{{{{zzz{z{{{|}|{||{zz{z||{||{{||||}{z|{{{zz|{|{|}|||{{||z|{|||||{}|{{{zz||{z|{||||||z{zz{{{{|{|||{|||{{{{{{{|{{|}{|{{zz{{z|{{|||{{||||||{zz|{{{|}||z{{z{{zz{|{|{|}||{{{{zzz|||}{{|{{z{{zy{{{{{{{}{||{{|{{|z||||||||{z{{{z{z{{|{|}||{{zz{{{z||{{|{{{{{z{z{z{|z||{{|{z{{zz{z{{z|{|{{|{z{{zzzyz{{{{{{zz{zz{zzzz{zz{{{{{zz{yzzz{{{{z{{|{zzz{zz{{{|z{{|{z{{z|{zz{{{{||{{{zzzzzyzz{{||||{{{{z{z{z{z{zz{{{zz{z{zzzz{z{{{{zz{yzz{{z{{{z{{{z{z{z{{{zz{{z{{{{{{zzzyyz|{{{{{z{{z{{z{{{{{{||{{{{{{zzz{z{||{|||||z{z{z{{{{{{{{}|{{{{{{zz|{{|{{{{{|{{z{z{|{|||{{|{|{{|{{{{z{|{{||{zz|{{{{{|||{||{{yz{|z{{||{{|||{|{{y{|{{{|{|}}||{{{{z{{{|}|||{{{{z}{{z{{{|||z{}|{{{z{{{{|{|{|{||{{|{z{{{||{{{|||z{{{{{{{||||{||||{{{z{{zz|{{{||{{{|z{z{{{|{{|~|}|{{{{{{{{|||}{}}|{z{zz{|{{|{||{|||{{zzz{{{{z|||||zzzzz{{{{||{{|{z{{yz{yzz||z{|{{{z{z{{zzz{{{{|{{|{zz{zzy{y|{{{|zzzzz{zzz{z{{{|{{{z{z{y{z{{{{z|{{z{z{z{z{{{||{{{{zzzzzzz{z{{{{||||zz{{z{z{{|z{{z{{zzzz{z{zz{{z{{z{zzz{{zz{{z{{||{{{zzzz{z{z{{{{{|{zz{zz{y{{{{{||{{{{{{|z{|{{z{{{|{{{zzz{z{|{|{{|||{{{{{{{{{|{z{{{{{{{z|{|{z||{{||{z{{{{{{||||}||{{{{{{{{z{{||||||{{{|{{z{{|||{{|{|zz|{z{{|{{|{||{{{{{z|{{{|{||||||{z{{{{z|{||{{|||{{{{z{{}||{{{|||{{{{{z{|{}||||{|{{{|{z||{|{{||{{|{zzz{|{{|{{||{|{zz{|{{{||}|{{|{{{{zy{{|{|z{{|{{|{{{z{{||}|z{|||||z{{{z|{{{{{|{|{yz{|z{|||{|{{{{{z|y{{z{z{{z{|||{{{{zz{{{{{{{{{zzyzzz{zz|{{{{||{{zz{{{z{||z{{{{{z{zzz{{{{{z{{{{zzzyzzzz{|{{{{{|z{z{y{zzz{{{{z|{{zzzzzzz{{{{{{z{{z{zzyzyz{z{{z{{z{{zz{zy{{z{{|{{zzzyzzzzz{||{||{z{{z{zzz{z{z{z{{{{{zzz{z{{{||{{|zz{{zz{z|{{{|{{|z{{{{zzz|{|{{z{{{{{zzz{z{{{{zz{|{zzzzzzz{||{{||||{{z{zz{{{{||{||{||z{{z{{{||||||{{{{{z{{{{{||{{{{{{{|{{{||{||||{{{{zzz|z{{{{|{}||{{z{||{{|{|{{{|{z{{{z{{|{||{{|{|{{z{zz{{{{||{{{{{{|{{z{{{{|||{|z|{z{{zz{{{{|||{{{{{{{z{{|{|{{|{z{{{zy{{|z{|{||{{{{z{{{{||||{{{|{{|{{z{{|{{|{|{|{zzzz{|z{||||||{{{{z|{z{z{{|{|{||{{zz{z{z{z{||{||{{{zz{z{{{{|{{{{{{{z{{z{{{{{{{zzzz{{z{{z{z}||{|zz{zzzzz{{{{{{{{{zzyz{z{z|{{{{{z{{z{z{{z{z{|z|{|{zzzzyz{y{{{{{{{{z{yzzzyzzz{{|{{{z{{z{zzz{{{{{{|{z{z{{zz{{{{{|||zz{{zzzz{zz{{{|{z{{zz{zz|{{z{||{{z{z{yz{{{{{|{{{|{{{z{z{{{{{{{{|{zz|z{zz|{{{{|{{z{{{{{{{{|{|{|}|{z|{{{{{{{{|{{||{{z{{z|z{{||{{}|{z{{{z{{{||{}|||y{|{{|{{z|||||{||z{{|||{{}|{{{|||{{{{{|{|||{{||{{zzz{{{{z{{z||{{{{|{{zz{{|||||{{{{z{{z{{{{{|{{||{{zz{z{zz|{|{|{|{z{z{z{z{{|{{{||{|{{{{{{||}{||||||{{{zzz|{||{|||{{{{{{|{{{z{{{|||z{z{{{{{z}{|||{{|z{z{{z{{|{{||||{{{{{{{z{z{{{||{{{z{{zz{|{{z{{{{z{z{{{{{|{|z{{{z{{z{zzzz{{|{{|{z{{{z{z{{{{{||{{z{{zz{{|{{}{{z{{{{zzzz{zz{{{||{|{{{{zz{z{{{{{{||{{{z{{zz|{{{{||{|{{zzz{{|{|z||||{{{{{z{z|{{|{||}{{zz{{zzzz{||{||zz{{zzz{{{}{|}{z{{z{z{{{{{||{{{{{{z{|{z{{||}|{|{{{{{{zzz|{}||{||z{{{{{{{||{||}||{z|{{{{{{|||{||{{|{{{z{{|}||||||{{{{|{{|{|{|}|}}|{{{{{|{||{|{||||{|{{{{{|{|{|||||{{{|{{|{}{{|}|}||{{|{{{{{||||||{{{z{{{{{||||{}{{{z{z{{z{{||{{||{{{{|zzz{}||{}|{{|{{{{{{{|||{{||{{{{zz{{{{||||{||{|zzz|z||{z|z|{zz|{z{z|{{{|{|{|{|{zzz{z{{{|{zz|{z{{{z|z{{{||{{{{z{{{z{z{|{{z|{{{{{{{{z{z{{{z|||{zzz{z{{{{{{|{|{{zzyz|yzz|{{||||{z{{zyzzz|{{|{{|{{{{z{z{z{{z{{{||zzz{{{z{{{{||{{z{zz{{zz|{{|{{|{{z{{z{zz|{|{{{{{zz{zz{|{{{{{z{{|zzzzzzz{{||{|{{|{z{z{zzz{|{|||z|{z{{{{z{{|||{{||{z{zz{z{{||{{{|{{{|{{{{{|{|}{|}|z|{z|{{{|{y|{|{||{|{{{{{{||{|{}|{{|{|{zz{{}||||{||{{zz|{|||{z|{|}{{{z{{|||||||||{|{||{{||{{|||{|{{|{z{{|{|||{|||{{{{|{{{{{||}||}{{{z{{{z|{{|{||{{{{{zz{z{{{|z{|{{{{z{zzz{{|{||}z{|z{{|{z{{|||{{}{{{{z|{y{{{|{{|||{{zz{{{||{z|{||{z{{zzzz{z{{{{||{z{{yzzz{z{|z||{{z|z{zzy{|{{{{{{|{{{zzz{{|zz{{{{zzyzz{zz{{{|{{{|zzz{yzzz{|{{z{|{{zzzyzzzz{|{{{||{zz{zz{{{||{|{{||zzz{z{z{{{{z{zz{zz{yzyz{{{zz{{{zzz{{zz{|{{{{z|{{{{{{{{{{{{{{z||{z{{{z{{{{|{{|{{z{{y{|z{{|{|{|{{{|{{|z{{{{{{|}|{{{{z{z{{{{|{{z||{{zz{{z|{{|{{{||{{{z|{{{|{||||||{{{z{|{{|{{{{||||{{{{z{z{}{|{||{{z{{zz{z{{}{|||{{{|{{{{{|}{||}||{{{{{{|{{|||{|}||{{|{|z{|{||||{||{{{{|{{{|{{|{{|||z|{{{|{|{||{||{{{zz{{{{}{{|{|}|{{|z{|{{{{||{|{{{{{{zz||{{{{}|{{z{{{{||||{{|{{|{z{{zzz{|z|{|{||z||{z{{z||{||||{{{zz{z{z{{|{zz||{{{{zzz{{{y{{|{|{{z{z{{z{||zz||{{zzz{{z{{{||{|z|{zzzy{z{{{{{{{{|z{{zzzzz{{{{{{{|{{{z{{zzz{zz{{{{zz{zz{zz{{{|{{{|{{z{zzzzz{zz{{{|z{{zzz{z{z{{||{{z{{{{|zzz{{z||}{|z|{{yz{{{{{{{{{|zzz{y{z{{{{|||{{{{{z{z{|{|{{{|{{z{z{z{{z{{||{{{|z{{{z{{{{{}z||{||z{{{{{||}{||{|{{{{z|{{||{{||{{{|{{z{{{{{|||||}{|{{{{{z||{|{||}|{z{{|{{||{|}}||{{|zz{{{z|||}||||{{{{|{z{}||{|{|{{{{{z{||{|{z|||{{|{{z|{|{{{|{||||{|{{{{|{|}|{{|{{{z{{{{|{{}{{|{z{{{z{z|z{{|{{{{{{{|zzz{{{{{||||{{|{{{{|{}||{{|zz{{{|z{z|{|{{|{||z|{z{{{|z|{{{|{{|{zzz|z{{{|{{||{{{{y{{z{{{{{{{{{z{zyz{zz{{{z{|{{zzz{{{z{z{{z{{{{zzyzz{z{{{zz{{|{{zzzyzzz{{z|{{{z{{zzzzz{{{{{|{|{z{z{z{{{{z{zz{{{z{{{zzzzz{zz{{|{{zy{{{zz{z{{|{{z{zzz{zzz{{|{{{|zyzzzzzz|{|{z{{zz{{{zy{z{zzz{|{|{yz{{zzzzz{{{{|{z{{{{yz{{{{|{{|{|{{{zz{z{|||{{|{{{{||zz{|||{{||{|{{{|{z{|{{|||||{{{{z{{{{{|||||||{{|{{{{z||{|||{{{{{z|{{{|||||{|{{{{{{{z|}|{||||}zz|{|z{{||}{}|||{|{{zz{||{|||||{{z{{{{}||{||{||{|{|{|{{||{{|{||{z{y{{{{{{{{{||{||z{{{zz{{{{{||{|z{zz{{z{{{{{}{|{{{|z{{{|{|{{{|{|{z{{{{{{{|{{|{|{{z{zzz|{{{{{|{{z{zzzzz{{{||{{||z{{zz{{zz{{||{||z{zz{zy{z|{{{{{z{zzzzzzz{{{z{|{z{{zzz{zz{{z{z{|{zz{zzyz{{z{|z{{zzzzzzzy{{z{{{{{{{zzzzzzzz{{z{{{|{{{|z{zz{z{{zz|{{{zyzzzzzz{zz{{{zz{zz{z{z{z{{{|{{zz{{z{{{{|z{{{{zz{zzz{{{|{{|{||zz{z{{{{{||{{|{|zzz{{zyz{{{{{{|{{{|{{z{{|{{{{|{{{{{|{z{z{}{|{|{zz{{{{z{{z||{||{|zz{{{{{{||{}{||{|z{|{zz{{|{||||||{|{{z|{|||{||||{{z{{{{{{|{{||{{{z{{{{{zz|{{||}|{|{|{{z{{{||{{|{{{{{{zz{{||{}|||{|zz{{{{{{|{|{|{{{{z{z{{{{{{{|{{|{{{zzzzz{{{{||{{{zzy{{z{|{z{{{|y{{{{{|z{{|{{{|{{z{{zzzz|{{{{|{{|zzz{{{{||zy{{|{{{zzzzzy{|z|z{{|zzzz{zzy{|{{{|{}{zy{zzzy{{{|z{||{z{{z{z{{{{y{z{z|{{yzy{zz{{|{{{{{zzzz{zz|{z{|z{zz{zzzyyz{{{z{|{{{|{zzzzyz{z{{{{{{z{zzzzzzz{z{{z{z{yzzyzz{{z{{{{{z{{z{{{z|{{{z{|{zzzy|zz|z{{{z{{{{{{zzzzz{z|{z{{|{z{{y{zz|{{{||||{{{z{zzz{|{{{|{{zz{{{yzz{||{{z|{{{{{zz{|{{{{{{}{z{zzzzz{|{}{{|{}z{{|zz|{||{|{|||{{{zzzz{{{||{{|}|{{{{{|{|||||||{|z|z{{{{{{{|||||{{zz||z{{{{||||{{z{||zz{|{||{||||zz{{{z}{{z{}z|{|{{{z{{z|{|z{|{{{z{z{{{{{{{{z{|{}z{{{z{z{{z|zz|{{{{zzzz{{{|{{|{{{{{|z{{z{||{|{|}{{|{{zz{||||{|{{{z{{{{z{|z{|{||{{{{zzzzz|{|z{{|{{{zzzzzz{{{|{|{{{zz{z{{zz{|{z{{z{zz{zyy{{{{{{|{{{zzzz{zzz{{z{|z|zzzyz{zzzz{z{{{z{zz{zzzzzz{{{{||{z{zzz{zzz{z{{|{{{zy{{{zzz{{z{{z|{{z{z{{z{z{{|{|zzz{{{zz{{{z{|{{{zzz{zy{{{{|{{|{z{{{{zzz{{{z|{|{zz{{z|zyz{|||{|{{z|{{zz{{{{{{|{{{z{zzzz{{z{{z{|{z{zz{zzz{{{||{|{{z{z{{{|{{||{{|||{z{{z{{|{{{|{}|{{z{z{z{{{|||{|||{{{{{{|{{{{|{||{z|z{{{z{|z{||||{{{z{{{{{}||{|}|{{|{|{{z|{|{{}{{{{z{{{zz||{{{{||{z{{{zzz{{|{{}{|{{{{{{{z{|{{{|||{z{{{{{y{||||{{{z{z{y{zyz{{{{}{|{z{{{{{z{|{{||{|{{{zz{z{{{{{|||{{{zz{z{{{{{{{{||zy{zzzyz{{|{z|{{|{z{zy{zz{{{{}|{{{zz{z{zz{{{{||z{zzzzz{zzz{{{{{{zzzzz{zz{zz{z{{zz{zzzz{z{{{|{{{{z{yzyzyzzz||{{{|zzz{zzzy{{|{z{{{{y{{zz{{z{{{z{|{{z{z{zzz{{|||||zzzzzz{{zzzz{|{{|{{z{{zz{{{{{z{{{{z{zyz{z{{||{z{|z{z{zyz{|{{{z{|{{zz{{z{y|{{{||{{{{z{z{zz{{{|zz{|{zz{{{{{{{|{{|{|{{{z{|{{{|||}||{zz{zzz{z|{|||{|||zz|{{zz||{|{|{{|{{{|z{z|||{||}|{z{{{zzz{|{{{{|||{{{{{|z{|{|||||{{{|{z{z{|{{|||}{{{{z{z{|{{{{{{||{{|{z{{{}|{{||{{{{{{{|{{|{|{|{|{zz{|{{{||{|{|||{{{z{z{z{{{{{{||{{{{{z{z{{|{{{||{{zzz{z{{{{{|||{{|{z{{zz{|||{|{{{z{{{{z{{{|{zz||z{zzzzzzz{z{{|{|{{z{{z{{z{|{y{|z{{z{zzzz|z}z{|{|{z{zyzzz{z{{{z{{|{zz{zzzz{{z{{{{z{z{zyy{{{{{{|{|{{zzy{z{{z{{zz|{z{{zyz{z{{{z{{{|{{zz{{zzz{{{{}{{{z{zz{{{{{{z{{{{{z{{{z{{|||{{z{|{{z{{zz{{{{|{|{{z{{z{{z{z{|{{{||{z{{z{z{|||{{|{|{z|zz{{z{{{{{||||z|{z{{z|{{|z{{{{{{z{{{z|{{}||||{z{{|{{||{{|{|}{{zz{{{zz||||||||{{{|{z{{{|{|||||{{{zz{|{{{||{|||z{{||{{{|}||{|{||{{|{z|{{||{{}|{{{{{{{{{z|{|||||{{{{{{{{|{{|{||}{{zz{{{z{{||{{||y{{{{z{zz{|{{{|{{{{zzy{z{{||{|||{{{{{|zz|{{|{|{{{{{{|{z{|{||{{|||{{{{{{{||{{||{{zzzz{zz{{{{{{{z}{{z{z{{{{||{|}{|z{z{z{zz{{{{{z{{{zzzz|zz{{|{{|{{|zz{{{z{{{z|{{{{{zz{y{zzzz{z{{|{{{zzz{{{z{{|{{|z{{|{{zz{{{z|{|||{zzzzzzzz{{{{{{{{|zz{z{zzz{{z|z{{{z{{{zz{|z{{{|{{{zzz{|{|{{{z{{|{{{{{z{{{{{{{||{{{{{{z{{z{{{|{{|{z{{zz{zz|{|{{|{z{{{z{{{|{|{{||{{{|{{zzz{||||||{zzzz{{{{{{{|||||{{{{{{{{}{|{|{||||{|{{|{}|{||||||{{{|{zz||{||||}{|{{{||{||{{{}|||{{|{{{{||||{}}|{|{{{{{{||{|{||||{{z{z|{||{{{{|{|{zz{{{||{|{{|||z{|{z{{{{|{|z{|||{{{{{|z{|||{{|{||{{zz{zz||{z||}{{{zzz{z|||{|{||||{z{zz{{{{|{}||z|{{zz{z{|{{|{||{zzzzz|z{{{z{{|||{{zy{{z{{|{{|{|z{z{{{zz||{{|{{z{z{zzzzz{{{{{|z{z{|{z{zzz{z{{{{{zz{{{{zzzz{{{{|{|z{{z{z{{{{{|{|{{z{zz{{{{{{{{{{{zz{{{y{yz{zz{{{|{{zz{zz{{{z{{{z{{zz{z{zy{z{|{||{{zy|{{{z{{{z||{{|z{|{z|{{{{{|||{|zzz{{{z{{{{{|{{{{{{zz{z{{{|{|||{{{z|{{z|z|z|||z|{zz{z{|{|{|{|{|z{{z|{||{|{}|{|{{{{{{z{||}}|||||{{z|{{{|{||{{|{{|{{{{z|{|}|||||||{{z{{{|{{|}||}|}{|z{|{z{||{|}||{{|{{{|{|{|{|}|}|{{{{{|{|{{{||}||{z{{{||}{{{||}|{{{{|{{{{|{|{||{|{{z{z{z{|z||{{|{{{zz{zzz{{{{{{|{|{{{{{{z||}{{||{|{{{z{{|{|{||{}{z{|{zyz|z|{{|||{z{{|zz{{{{|{{{|{{z{zzz{{{{|{{{|zz{zz{z{z{{{{{{|z{zyzzzz{{{{{{{{zyzz{zzz{z{{{{{{zzzzz{{zz{{|z{|{{z{{yzzz{z{{|{{|{{{{yzzzz{{|{{{|{z{zz{{yz{{{{{{{{zz{zzzz{|z{z|{|{yz{z{zz{{|z{||{|z{zzz{z{{{|{|{{{{{{zzzz{{{{z{{{zz|{{{{z{{|{|z|{{z|||z{{{{{{{|{{{z{{|{{z|||||{|{|{{{{zz{{{|{z||z{{{zz{z|{{}|||||{z|{{|{{{|{|{||||{{||z{{|}{{|{|z|z{{{{{{|||{}|||||{zz{{{|||||||||{{{{{{{{|{||{{{|{{{{{z{{|{{|||||{{{{{{{z|{{|{}|{|{{{{{|||||}|||{{{z{{z{|{|{{|||{{zz{z{{{||||{{{{{{zzzzzz{{{}zz||{zz{|z|{{|z||||{{{{z{{{|{{|{{||{{z{z{{{{{{{|{||{zz{zz{z{|{{z|{{{{{{{{{z{{z{z{{|z{{{{|zzzz|{{{|{zz{{{zz{z{{{{|{z{zzz{{zz{zz{{{|{{z{zzzzz{{{|{{{{z{{{zzzz{{z{{{{|{{{{zzz{{{z{{{|z{zzzz{zyzz{z{{{{{{{z{{zzy{{{{|||{z{{|{zz{{{|}{||{z{zzzzz{|{{{|||{z{y{z{{{{{{{|||zz{{y{{z{{{{|||{||{{yzzzz|{{{|{{zz{{{y{{{}|{|{|{{{z{z{z{|{{{{|{|{{zz||{{{|{||{|{{|{{{{|z||z|{||}z{{||{{z||{|||||{z|z{z|||||{}|||z{|{{{|}|{{|{||||z{{y{{{}}||}|}|{{{||z{|{||||||{{||z{z{|{{{}|||||{{||zz|||{|||||{{{{{{{{z{{||{||{z{{zzz|{|||{{{|z{{{{z{{{{{{{{}{{|z{zz{zz{||{{{{{{z{zy{z{z{{{||||{{z|{{{{{{{|{{{{{z{z{zz{{{{z|{|{{{zz{zz{|{{{{z}{z{{|z{zz{{{z{{y{zzzzzyz{z|z{{{{zz{zz{z{|||{z{{{{zz{zyz{{{{zzz{z{zz{yyzz{{{{{{{zyy{zyz{z{||{{|z{z{z{zzzzz{{{{{{|{{{zzzzzyz{z{{|z{{{{zzzz{|z{{|{|z{{zzz{{z{{|z{{{{{{zzz{z|z{{|{{{zz|zzzzz{{|{{z|{{zz{zzz{{{|{||z{z{{{{{zz{|{{{{|{{z{zz{z{{{{{{|{z{{z{{{zz|{||{||{{|{{|{{z||{|{||}{{{|{{zz|{{{{|||{z{z|{{{|||{|||||{|{{{|z|||{||{||z|{z{{{{}{|{|||{{}{{{{{{|||{|||{{{|{{z||{||{{||{|z{{{y{||{{|||{{z{y|{{z{}z|{{||{{{{{{zzz{z{{{|{{zzz{{zz|||{{{{{{{zz|{z{|{||{|{{{{{{z{z{||{{{{{|{{{z{z{{{{|{{|||{{zzzzzzz{||{{{{{z{zyzzz|{z{{{{|{zz{zz{zz|z{z{||{{{z{z{z{{z{z{{{{{zzzzy{z{z{{{{{zzzzz{zyz{|z{{|{{{{zzzzz{{{{{zz{{{{zz|z{zz{{{{||zzzzzzzzzzz{{{{{z{zz{{zzz{z{z|{{{{{{zz{{{{{{{{|{y{zzz{{|z{zz{{{|z{{{zz{z{|{{{|{|zzzzz{zz{{{zz{z{{{zz{{zz{|z{|||{{z{{z{z{z{z{{{}zz{{{{{z{{{{{z{|z{{{{{z{{{{{|||{{zzz|z{{z|{|||{||z{z{{{{{||}{|}{|{{z{{{{z|{|{||}|{}|{{||z||{||}{{|{{|{z{{||{|{|||{zz|z{{{{{|||||{|{{{z{z|||{|||{|{{{{{z{z{{||}|{{zz{{{{{{{{z{{{||{z{zz{{z{z{{|{|{z{z{zzzz|{|{{|{|{{zzzz{y{{|{zz||{zz||zz{{|{{{{|{z{zzzz{z{z{{{{|{zzz{zzzzzz{{z{{{{{{zzz{zz{{{{{{{|zz{zzzz{{zz{zzz{{zyz{zzz{zzz{{|z{zzzzzz{|z{{zzz{zzyzzzz{z{z{{{zz{z{zzz|{z{z|{{{zzzzyzzzz{z|{{z{{{{zzy{zz{zz|{|{{z{yzzzzzzzz{{|{{zzz{{zz{z{{{{{z{zzzzzz{zz|||zz|{zz{zz{z{yz{z{{|{{{zzzzzzz{z{{|{{{z{zz{z{z|{{{{|{zzzzzzz{||yz|{{{{{zzzz{{{z{{{z{{{z{zy{{|{{||{||z{{{z{{{{|{|{|||{{zzzzzy{{{{{||{|{zz{{{{{|{|{{|||{|{z{|z{|||{||||{{||{{y|}|{||{{|{{{zzz{{{|{|}|{z{z{{z{{|{{|||{{{{z{{z{z{|{{{{|{{|{{{{|{z{{{{{||{{zzz{|zz{{||{{{zz{{{y{zz|{z{{z{{{zzzy{z{{{z{{{{{{yz{z{{{{{{{{|{{z{z{{{z{{z{{|{{zy{zy{{zz{{{{|{{{z{zz{zzz|||{{{{z{zzzzzzz{{zz{{{{{{{zzzz{{zzz|{zzz{zzy{zz{z{zz{{zz{zzzzzz{zzz{{zzz{zzzzz{{{{z{zz{{zzzzzz{{z{{{{z{zzzzz{z{zzz{|{{zzzyyz{zy{{{{{{{z{zzy{zzzz{zzz{{{zz{yzzz{{{zz{{{{z{z{yz{z|{|z|{|{z{zy{zz{{{{{||{{z{zzzzz{|{{{{{{zz{zz{zz{|{{z{|{{z{{{|{z{{|{z{{|{z{z{{z{z{{|{{z|z{zz{z{{{{{{|{|{{{{{z{zz{|{{{|{{{{yz{{{{{|{|{|z|{{z{{{{{{{{||||||y|z{zz{{|z|}}|{{z{{z|{{|{{{|{|{|zz{{z{{|{{|{|{|{zz{{{y{{{{{{|{|{{{{{z{{z{|{{{|{{zzzz{{z{|z|{|{{||{{zzz{{z{{z|{z|{yz{zzz{{{{|{{|{{{{{z{|{{}{{{{|{z{z{z{{|z|{{{||{{{{{zz{z{|{{|{zzzzzyzzy|{{|z|{|zzzzzz{{{{{{z||{|zz{zz{z{{|zyz{{z{zzyzz{{zz{z{{{zyzzzzzzz{z{z{|{zzzzy{yz{{{{z{z{zz{zy{{zz{{{{{{{{zz{zz{yy{{{z{{{{zz{zz{zzz{{|{z|zzzzzz{z{z{z{|{zzzzy{y{z{{{{|zz|{zzyyy{zzz{{{{{|zz{{{z{{{|zzz|{{zz{z{y{z{{{zzz{{{{{zzz{y{{{{{|}{{{{{{zy{{{{|{|{|{{{z{zz{{}{{|z|{{{{{|z|{{||||{|{{{{zz{zz{|{z||{||z{{{{|{|||{{||{||z{z{{zz|{|{{||||{{{{{|z|{|||||{{{{z{z{|{{{{|{{{zz{z{{{{{{{{|||{|z|{|{{||||{{||{z{zz{{zz{{|{}|{{{{z|z|{{|{z{{|{{{{yzz|z||||{{{{{{{z{zz{{{{{{{||{yz{{z{z{{{{||{{z{{z{zz{{|{{{{{|{z{z{yyz{{{{zy{{{zz{zz{z|{zzz{{{zz{zzz{{{{z{z{{{{y{{zzyy{z{zz{}{{z{zy{zz{{z{z}||zzzzzzzzz{z{zz|{{zzzz{yz{{{||z{{{zz{{zzzz{{{zz{{{{zyzzzyz{z|{{z{zzzzzxzzzzz{z|{|zz{zzzzz{zz{{{{{{zzyzzzz{z||z||zzz{z{zzzz{{{{|{|z{zzzzz{{{{{|{{{{{zz{z{zz{{z|{{{zz{{{{zz{zz{{{|{z{{{{{{z{||{{{||{zzz|{z{{{{{|{{|z{{{z{{{{||||{{{|{z{z{{z{|{|{|{|{z{z|||y|{{{|{{{{{{{{{{{z}{|{{{{|{|{{|{{{}{|}{||{z{{{z{{{|{|{z{||{||z{zz{|{|}}|{|{{{{{{{{{||||||{{{{{{{{z{||||{|{|y{{z{z{|{||{|{{{z{zyzz{{{{{{|{zz|z{{{z{|{{z||z{{{{{z|z{||{|{{{zzz{z{yyz{{|{{{||zzzzz{{{{{{{|{||zy{z{{y{z{|{{z|zz{{{{z{z{{{{z{z|z{{{zzzz{{{{{{{z{zz{{zzzz{zz{z|z{zz{z{zzz{zz{{{|z{z{{zzzz{{{|{{zz{zz{z{z{z{{{|{{{{{zzzyyz{zz{|{z{zz{zzzz|{|||||zzz{{zzz{{|{{z|{{yz{{z{z|{zz{{{zzz{{zzz{{z{{z|z{z{{z{z{{{{{z{{{|{{{{{zz{{|{{z|{{{z{z{zy{z|{{z{{{|z{{{{zz{{{{{|{|{z{{{{{z{{{|{||{zz{{{{|zz{{{||{|{z{{z|z{||{{}{{{|{{{|{{{|||||{{|{z{{{z|{{{|{|||||{{{{{{{{}|||{||}z{z{||{|||{|||}|z{{{z{{|{{{|{||{z|{{|z{|{{|{||{{{|z{{zz{|{{{{|{{{z{{{{z{{{{{{|{{{z{{y{{{|z{|{z{{{zzzz{z{z|{{||}{z{zz{zz{{{{{{|{|{{z{{{{{{{z{{{|z{zy{{z{z{|{|z{{zyz{{{{z|z{|zz{|y{{{yyzzzz{{{{{{{{zzz{zy{{{zzz{zzz{yzzz{zzz{zz{{z{yy{zzyzz{z{{z{zzzzz{z{{{{{{{|z{z{{y{z{{{z|z{{{{{{zzzzzyzz{z{{{{z{zzzzzz{z{z{{{{zzzzzzyz{zz||{{zz{z{zzz{z{z{z|z{z{zyzzz{{{z|{{{zzz{zzz{{{z{{{{{{zzzyzzz|{{{|{z{z{{zz{{z{{{{{|{{zzzz{zz{|{{{{{{{{z{{zz{{{{{{|||{{{zz{{|{{{{{|{|||{{{z{{{{||{{{|{{zzzz{{{{|||||}|{z|{{{{{z{{z{||{{zzzz{z{|||}{|||{z{{{z{{z||{||{}|zz{{|{{{{|||{||{{{{|{zz{{||}{|{{{{z{zz{{{z|z|{|{{{{{{{z{|{||{{|zzz{zzzz{{|{{{{z{z|{z{z|{|z{|z||{{{{{y{{{{|{{{|{{{{yzz{z{{{{{{|{|z{{z{y{{{|{z|z||z{{zyzz|z{{{{{|{yzzzzzz{{{{{{|{{z{{{{zz{{z{z{z{yzzzz{zzzzz{{{z{z{zzyzzzz{{z{{|{zzz{zzz{{z{z{{{{{zzzyz{{z{{{{{{{{{{{zzyz{{z|{{{{{zzxzz{z{|{{{{{{{zz{z{z{zz{|{{||{{{{zyzz{{{{{{{|zz{{zzzz{{}{{|{{{{{z{z{y{|{|{{{|{{{zzzz{|||{{|{|{z{z{zy{{|{{{{|{{{zz{{z{{}|{z{||z{{{z{z{|{{{|{{{zz|z{{|z||z{{}|}{{{{{|{{|{{|{||{|z{{{{{|||{||}}|{|{{|{{{{|{|||{||{z|{|{z{|||}|{{|{{{z{z{}|{{|}|||zz|z{{{||{{||{||z|z|{{{|{{z||||{|{{{{|z{{{||||||{zz||{z{{{|{{|{{{{zzzzzz|{{{|z|z{z{{zzzz{{{{{|{{z{zz{yy{z|{|{{|{{zzzzzz{{{{{z{{{y{{{yxzz{{{{{{{{{zz{zzz{{{{zzz{yzz{zzz{z{{{{||zzz{z{zyzz{{z{{zzzz{zyzy{z{||{{z{z{{z{zzzz{z{{{{{z{zzz{{zz{{z|{{{{z{zzzzzzz|{{{|{zy{zzzzz{{z{{{z{{{yyy{{z{{z|z{{z{zzzz{zz{{z{{{{{{zzz{y{{{z{z{{{z{{{{zzzzz{{z{{{{{zzz{z{{z{zz{z{|zz{{{zzzz{z{}{{{{zzzz{zz{||{z{{{{y{|{{z{{||{z|||z{{z{zz{{{|{||{{{{zz{{{z{||{|||||zz{{{zz{{{{|||{{{{|{{{z{|z{{|{|{{|z{{{|{{|{|||}||{{z||{{{|z|||||{{{{{{{{|{{{||{|zz{z{{{{{{{{||{{{z{|{{{{{{{{|||{z|yz{|{|{{{z{|z||{{z{|z{{{|{|{{z{{{z{|y{{{zz{|{|z{y{z{zz{{{{z|{{{yz{zz{zz|{{|z|{|zzzzzy{z{{|||{{{z{{z{{z{|{z{|{{{zyzzzz{{z|z{{{{zzz{{zyz{z{{|{{{z{zzyzzz{{{z|{{|zzyzzz{zzzzz|{{{zzzzy{z{{{zz{{{|{zzzzzz{{{{{{{{{z{zzzyyy{{{{z{{{z{zyz{y{{{z{{{z{{z{zy{yz{zzzz{{zz{z{{zzz{{{{{{{{zy{{zzzz{{{{{{|zzz{zy{{{{{{{{|{{y{zzyzz{z{{{|{{{|zzzzz{{{{{{{{{{z{z|z|z|{{{{{{|{y{{z|z{{z{{{|{{z{{{{x{{z{{{z{||zz{zzz{z{{{|{||}{zz{{zz{||z|{{{{{z{z|z{{||{{{|}{{||z{|||z||{{||{{z|{zz{{{||{{|{|{{{{{{{{{|||{|{{{z{z{{||{{{{{|{||{z{{zz{|{{|{||||{{|{{{z{{{z{||}|zzz{z{z|{{|{{||{{{z{zzz{{|{|{{zz{zzzzzy{{{{{|||{{zzzz{{z|{|{{|{|{yz{zzz{{zz|||{{zzzzzz{{|{|z{|{{zzy{z{yz{{{{{{|z{{zzz{zz{{zz{{{{{z{|z{z{z{z{{z{{zzzzzzz{{{{zz{{zzzzzzzz{{{z{{{{{yzzyyz{zz{zz{{{zz{z{zz{{{||zz{{zzzz{zyz{{{zz{{zzzzz{z{zzzy{z|{|zzzy{zzz{{{{{{{{{zzz{z{{z|z|z{{{{zzz{z{z{z{{|{{{{z{z{zz{{{{z{{{{|y{zz{zzz|||{|{{{{z|{{zz|{{{{{{||z{{{zz{z{{{{|||z|{z{{{z{|{{|z||y{{{{{{{{|{|z|{{{z|{{{zz{{||{{{|{{{z{{{{{||{{||}z{{z{|{{{{{{|{{|||z{z|{{{|{|||||{|{{{{{{{||}||{|{{{{{{z{|{{{|||}{{z{{{{{{{|||{|}{{zz|{{{{|{|{||||{zz{{{z{|{{{{|{zzz{{{zzz||{{{{|{|zyz{zz{{{{z|{{y{{zzzzz{{{{{||{{zzzyzzz|{{z{{{{zzzz{zzz{{|zz{{|zz{yzzyy{z{{{{{{{{zzzz{y{{z{zz{{|zzyzzz{zz|zz{{zzzzzzz{z{zz{{{|{zy{zzzzz{{{zy{{z{zzyyyyzz{{z{z{{{z{zzzzz{z{}zz{{{z{yzzzy{zzz{{{|{zz{zzzzy{{{y{{{zzzzyzy{{{{{{{{z{zzzyyzzz{{z{{z{zz{zzz{{zzzz|{{{{zz{zzzz{z|{{{||{{{{{z{z|{|{||{{{z|{z{zzzz{{|{|{zzz{{zz{{||{z{{|{{z{{z{{{{||{{|{z{z{{{z{|{|z{{{}{{z{{{z{z|{{{||{{y|{{z{y{||||{|{{{|z{|{{z{{|||{||{{{{|{|||||}|{||{|{{zz{|{||{||z|{{{{z{{|{|}{{||{{{z{z{||{|{{{{{{zzz{{z{{{|{{||{z{{{z|{z{{{{{{{|{|{{{z{{{|||{|{{z{zzzz{z{{{{{{|{zzz{zzz{{{{{{{{{zzyzz{zz{|{{{{|{zy{{z{zz{{||zz{{z{{zyzzz{{{zz{{|yz{yz{zzzz{z{|{{z{{zyzzzz{{zz{{{z{zzyzzz{{{{{{{{zyzz{zzz{z{{{z{{zyzzyz{y{{z{zz{|zzz{zzzz{{{{zz{{zzz{yy{yzz{{z{{{zzzzzy{zz{zzz{{{{z{zzz{y{{{{{|{{{{zzzzy{{{{{zz{{zzzz{zzz|{{z||||zy{zy{z{|{|z{z{{zz|zzzzz{{|{z{z{{zzzz{yz{|{{{{||{zzzz{z{z|{{{{{{}{{zzz{{||{{{{|{z{z{|z{{||{{||{|{{zzzzyz{{{{|||{|{|{{{{y{|{{||{}{z{{z|{z{{|{{}||{{{{{zzy{}{|{||{{{{{{{z{z|{{{||{zz{{{|z{{{{{{{{}{z{z||{{{{{{|{{|zz{{{{zz{{z{{|||{{z{{zz{{{|{{||{{y{{{{zz||{{{||{{{{{{z{{||{{z{{{{zz{|{{{{{{{{{||{z{z{{zz{{{|{|||{{z|{zzz{{|{z{{{|{{zyzzyz{{{{|{{{zzz{{zz{}z{{{{z{zz{zz{{{{{{z{{{{zzz{zzz{{z{z{{|zzzzzzz{z{{yz{{{{z{{y{z{{zz|{|{{zz{zzzy{zz||{|{{{zz{yz{z{{z{{{{{zzzz{zzz{z{{z{{{{z{{{zzzz{{{{{{{zzzz{z{z|z{{|{{{{z{zzz{{{|{{|{{{zz{zzz{{{{|{{|{|z{{z{z{z{{{z{{{{|{{{z{{z{{{z{||{zz{{z{{{||{{z{{|{{{{z{{{||}||||{z|{{{{z{{{||||{|{{z{z|z{{||||{{{{{{{{{{{|}|{{{||{z{|{{{{|z}{{}{}|{{{{|{{z|||||||{{{{z{|{|||{||||{{{{{{{||{{|{||{{{{|{z{||{|{{{||{{{z{{{{{{{|||{||{|z{zzz|{||{{||{{|{{{{{{{{||{||{zz{{{{z|{{{{{{{|{{{{{{{{{{{||{|zzzz{z|z{{|{{{{|{z{{{{y{z|}{{z||{z{zzzzy{{{{{{z|z{{{zz{{{|{z{{{{{z{zzyzz{{{{{|{{z{{{z{{z{{{{z{z{yzz{{zzy{{|{z{{{zzz{zzzz{{{{{|z{{zz{zzzzz|z{z{{|{z{y{zzxyz{z{z{|{z{y{zzzzz{{z{|z{zzz{zzzz{|{{{|zzzz{{zz{{{z{|z{|{zz|z{zz{{{z{{{{zzzzzz{z{{{{{|{{zzzzzzzz{{||{{{{{z{z{zz{{}z{|{|{{{{zzzz{{|{{z{{{{{zz{{{{|||{|{{|{{{{z|{z||{{|||{{{{{{{{z{||{||{{|z{z|{|||{|{|||}||{z|{{{{|{{{{|{|{{|z|zz{|{|{{|{{{|z{z{{||}|||{{|{{{z{{||}|{{}{|||{{{z|{{|{|||{{{{{{zz{{{{||{|}{{|{{{{{{{z|||{{{{|zz{zzz{{{{{|{|{zzzz{{{z||z{{|{{{{zz{z{{{|{{|{|{zzzzzzz{{{{z|{{|{z{zzzy{{||{{|z{{{{zzz{{{{{{{{{{zz{zzzz{z{z{{|{{z{zz{y{|z|{{|{z{zzzzzz{{{{{{{{{zzzzz{{{z{|zz{{{{zy{yzzz{z{{{z{|z{{zzzzy{{{|{{|zzz{zzzzzzz{{z|{{{zzyzzzzz{z{{{{{y{{{z{zzz{||{{{{zy{zzy{{{|{z{{|{z{zz{{{{{{{{z|{{yy{{{zz|{|{{{z|{{z{{{zzzz|{|{{{{{zzzzzzz{|{{zz||{zzzz{zz{{{{z{{{{{z{{zz{{{{{||{|{zz{{z{{||{|{}{{{z{z{{|z|||||||||{z{||{{|||{{{|||{{z{{|{||z{|||||{{{z{|{|{|||||||{{{{{{{{{{||{{||{{{{{{|{{{||{|{{{{{{{{{{z{{{{||{{z{{{{z{{|{{{|z{zz{zzz{{{{|{{||z||z{y{z{{|{{||{{{z{{z{{{|{{z|{{|z{{{zy|{{z|{|{{{{{{y{zyzz{{{|{{|zzzz|z{z{{{{{||{{|zzz{z{{{{|{{{{z{z{{zy|{{z{|{{{{zzzzyzz{|{z{{{zzyz{{{z{z{{|{{{{z{z{zzyz{{zzz|z{zyzy{zzzzz{{{z{z{zzz{yzz{{{|{{|{yzzzyzzz{{{{{|{z{{zzzy{zyzzz|{{{yzzz|{y{{{{{{{||z{z{z{zz{{{{{{{{zzz{zzz{{|{{{{{yz{{{zz{||{{{{{|{{{{{zzzz{{{{||{zy{zyz{z{{{{|{{{|zz{|zzz|{{||{|{{{{z{z{zz{|{|}{|z{y{{{|{{|{||{{|z{{{|{{{|{|{|||{|z{{|z{{|||{|{||z{zz{{}{|||{|||}{{{{z{{z||}{{{{||{{{z{z{|||{|{|{{z{{z{{z{{{||||||{{{{{{{||{|{||{{{{{{zz{{{||{{{||{{{zz{z{|{|{|{z{{{zzz{z|{|{{z{{{{{zz{{{{{||{{{|{{y{{zzzz{{{|{{|{{z{{{zz|z||{{|{{zz{zzzz{z{{{z|{zzzzz{zz||{|{{|}{{z{|zz{{{{zz{|{zzzyzzzz{z{{z{z{z{{yz{zz{zz{zzz{zyz{yzzz|zzzzz{{zzzzyzz{{z|{{{{{zy{y{yzzz{{{{{{|zzzz{zzyzz{z{{{{xyzy{yy{|z||z{{{{yzy{zzz{zz{z{|{{z{zzyz{z{{{|{{|zzzyzzzy{{{z|{{{{zzz{{zz{{{z{{{zzz{{zzzyz|{{||{{{z{z{zzz{{}{z{|{{{zz{{zz{zz{{|{{{{{{{z{z{||{|{|{z{{zz|z{{|{|{|}}{{{{{{zz|{{||||||zz{|{{{||{{|{||{yz|{{|{{}{||{|}|{|{{|{{{}{|||{||z{{{{z{||||{{|{{{{z{z{{{z|{z|{{|z{z{{yz{|{{{|{|{z{z{z{{{{z{|{|{{zzzy{{|{{{{{|z{{{z{zzzz{z|{{{{{z{zz{zzz{{|{|{{{{zyz{zzy|{{{z{{||{zzzz{z|{{{||{{{{z{zzzz{{z|{{{{|zzzz{{{{{{{z{{|{{zzz{{zz{{{y||{z{zz{yz{{z{{|{{{z{zzz{zz{{{{z{{zzzzyyzzz{{{z{z|zzzz{zzy{{z|zz{{{zz{{zyyzzzz{{{{{{zzzzyyyz{z{{{{|{{zzz{{z{zz{{{{{zzz{z{zyz{{{{{{{zzzzzy{z{{{z{z{|{{z{yz{y{zz{{z{{z{zz{yzzz{{{{|{{z{{zzy{zy{{|{{{{{{{z{z{{{{|{{{|{z{{{{{zz{z{{{{|}{z{|{{{z{{|}{{{{z{{{z{{{|{{|{||||{zz{{z{||}{|{|{{{z{zz{{|||{{{|z|{{z|{{{z|{|||||{{{z{|{|{}{{|{||{{{{{{{z{||{{|||{z|z{zz{|{|||||{{{z||{zz|{z||{||{{{z{zz|{|{{z{|z|z{{{{{z{{{|{{|{{{{z{yz{zz||z{{|{{{zzzzyz{|{|z{{{{{zzy{{zz{{{{{{{{zz{zzy{{{{{|{{zzz{{zzz{z{zz{z{{{{{z{z{{{{|{{{{{z{y{zzzz{{{{{{z{{|zzyyz{z{{{|{{{yzzzzzyzzz{{|{{{yzy{zzy{z{{|{{{z{z{zzzzz{zzzz{{{zz{{z{zy{{{z{{{{{{z{{zzzzzy{{z{{z{z{zzyy{{{z{{{{z{zzzyz{{{{{{||zzzz{yz{{z|zz{{{z{z{zz{z{|{z{{|z{zzzyzzz{{{z{zzz{z{zzz{z{z{{{|z{|z{zy{zz{z{{{z{{{{{{{zzyz{||{||{{z{z{z{{{{|{{|{{z{{{{{{{{||{{|{|{{z{{{yy{{|||{|||{{{{z{z{{|{{{|{{{{{z{{{{{{||||||{{z||z{{}{{{{{|{z{|{{|{{{}|||{|{{{zz{z{{|{{{|{|{z{{{zz{{{{{{{{{{{{{z{{z{{{{{{{|{{{z{{zz{{|{{z{z{{{{{|z{|{{{{{y{{zzz{y{zy|{{{z||{{zzzzz{{{z{{{{z{zzz{{zz{z{{{|{{{{zzzz{y{||{z{zz{z{zzz{z{||{{{||{{z{{z{y{{{y{{{{zz{z{zyzzz{z{{zz{{z{yzzzzz{zz{{{zz{z{z{y{{{{|{{{{zzzzzzzz{{{{{{{{{zzyzzzzz{z{z{zzzzyzzzyzzz{z{{zzyzzzz{yzz{{z{{{zyzz{zzz{z{||z{z{{yyzz{z{|{{zz{{{z{zzzzy{{|{zzz|{z{z{{{zz{{z{{{{zzz{zz{z{{{||{|{{{{z{{zz{{{{z{{|{{{{{{z{{{||{{{{z{z||{{{{{{||{|{{{zz{{{{{{{|z{{|{zz{z{z{{||{{||||{{{z{{{|{|||{{|{{{{|{{{{{{{|{{|{z{{{{{{|{||{{||{z{{zz{{||{|{|{|{{{{{{zz{|{z{|||{{z{{{z{|{{|{|||{z{z{{zz{|{{|||{|{z{{zz{{{{|z||{{{{y{{{{zz{z{|zzz{z{zzzzz|{z{{{zz{zzzyzy{{{{{{{{{zzyyz{||{{{zz{z{zzzz{zz{z||{{{{{z{zzyzzz||{|{z|{{zz{zz{z{{{z{{{{z{y{zzzy{{zz{{{z{zzyyzzyz{{{z{{zzyyzzyz{z{zz{z|zzzzzzzzzz{z{{{zzyzzyyy{z{z{{{{zzzzzzyzyyz{{{{z|zzzzzyyy{{zzz{z{zz{{zyzz{z{yz{{{zzzzzyzz{z{{{z{z{zzzz{z{{{{{|{{|{z{{zzyz{zz{z{|{z{{z{{zz{{{{{|y{{z{{zzzz{|{{z||z{z{z{zzz{{|{{{{{|z{z{{{{{{{{|{||zzzz{{{{{{z{{|||{{{{{z{zz|{|z|{{|z{{z{{{||{|z}||{{z{{{{{{{|{{{||{z{z{{{z{||{{|||{z{{{z{{|{{{{{|{{zz{z{z{{|{{{{|{z{{{{{z{{||||{||{|{{{z{{{{||z{||{{{zz{z{{|z{{{||{z{zzzyz{z{y{{z{z|zyyz{zz{{{z{{{z{{{zyyz{{{z{{{{zzzz{{zzz{z{{{{{{zz{zzz{z{{{zz|{z{zzzzzzz{{z{{{{zzzzz{{xyzzzz|{{{z{zzzzzz{z{z{{{zzyyz|z{{z{{{{z{zyzyzz{z{{y{{{{z{zzzzzyz{{{z{{|{zz{{yyzzz|zzy{{zzzzz{zzz{zzzyzz{{yzyzzzzz{zzz{{{zzzyzzzzzzzz{z{zzyyyzzzz{{|{z{z|zz{zz{{zz{z{z{{{zzyzzyzzz{|z{{{{{zzzzzzzz{zz{{|{zz{z{{{z{{z{z{{|{{{{zzz{|{{{|zz{z{z{zz|{{{{{{{{|zzzz{|zz|{{{{{||{{zz{{zzz{|{{z||{zz{{{zz{}z|{{|||{{zz{{zz|{{|{||{{{{{{z{{{{{|}z|{z{z{z|{{|{z{{{{{{z{{zz{{|{|{|}{{{zz{{{z|z{{||{{{z|z{{{{{{{|{|||{{zzz{|z|||{{{{{{{{zzzzz|{{{{{{zz{|z{{{z{{{{{{|||{z{z{zz|{{{{{||{{{zzz{z{|{{{||{z{zzz{{zz{{|{{{|{z{zz{zz{z{{{{z|z{{z{zz{z{{{z||{z{{z|yz{{|z{{{z{{{{zz{z{{{zy{{{|{z{z{y{z|{{{{{{|zzyzzzzz{{{z|{{{zz{{zzyz{{zz|{{{zz{{zzzz{{zzzzz{zy{{zzzzzzzz{{{{zz{z{zzzz{{{|{{{{z{z{yz{{{{{|z|{{z{z{z{z{{{{{{{{zz{{z{{z{{|{|{{|{{|z{z{z|{{{{{||z{z{{{zzz{{{{{|{{{z{{{z{{|{{zz{{|{{z{{{{z{|{{{|{{{z{{zz{||||{{{|z{{{{z{z{|{{}||{}{|{{{{{{||||{|||{{{{{{{z||{|||||{{{zz|}{}{{|||{|{{{{{{z|{z|{|{|{{{{{zz{{{{{||{|{{{{zz{||{|{|z||{{{{{z{{{{z|||{|{zz|{{{zz}||||{||{|{zz{z{{|{{zz{{zzzz{{zz{|{{{{{{z|{{{{y{{|z{{{|{{zz{{zy|{|||{{{{z{z{zzz{z||{|{{{z{zzzz{{{{{z{{{{zzzz{zy{{{{z||{{z{zz{zz|{{|{|{{zz{z{{yz|zz{{|{{zzzzzzzz{|{{z{|{{z{zzzzz{{|{{{yy{{zzzz{zzz{{{{z|{y|zzz{y{{{{{|{zzzz{zzz{z{zz{{{{{zz{zz{zz{|{|{{{{zzzz{{{z{{{{zz|{zz{zzzzz{{{{|{|zz{zz{{{{{{z{{{{{z{z{yzz{{||{{|{z{{{{{zzz||{z{{{{{{z|{z{|{|{z{{{{{{z{|y{{}||{||{{|{{|{{{|{||{|||{{{zzz{z|{||{}|{|z{|z{|{||{{{|||{{z{{{|{{|{z{|{{}z{z{|{{{|||{{|||{{{zz{{|{{||}||{{{{|{{z|{{{{|}||{{{|zz{{{{|{|{|{{{z{zyz{|{{|{||{|{{zz{zz{|{z{{{{{|z{yz{{{{{{{||{{zz{{{{{|{{|{{|{{{{{{z{|{z|{{|{|{{zz{zz{|{||||z{yzzzzz{{{z{{{{||z{z{{{yz{||z{{{{z{z{z{{{{z{z{{{{|{{zy{z{{||{{{{z|zyzz{z|{{{{{{{zzzzzzzz{{z{{z{{zzzzzyzz|z{{{{z|{z{zyzzy{z{{{{||zzyyzzzzz{|z{{z{zzzz{z{y{z{z{|{{{z{z{z{zz{z{|{{|{z{z{zz{{{z|z{{|zzzzzz{zz|z{z||{zz{{zz{{{{{z{{{|{{{y{y{{|{|{|{zzz{|{z{z{{|{{|{||{z{{{z{z{||{{{{z{{{{{{{{|{{||}}|{{{{z{{zz{{|{|{zz{{{{{z{{{{||||{|{{{|{z|{||||}||{{{z{|{|{||z||}||{|||{{z{||{||||{|{|{{|{|||{|||{|{{{{{{{{{z|||{{|{||{||{{||{|{|{{|{{{{z|{|{|{|{|{{{|z{zz{{||{|{{|{zzz{z|{{|z{{{{zzzzzz{{z{{{{{|{{{z|{{zz{{|{|{{{{{z{zz{z{{|{{{|||zy{{{y{z{{|z{||{{|z{zzzz{|{{|{|{{{{{{zz{{zzzz|{z{{{z{{z{|{zz|{{{z{yyz{z{z{{z{|{zz{zzzzzz{z{zz{{|{zz{zyz{{{z{{|{y{zzy{{y{{{{{|{{{z{yzzzzz{{{{z{{zz{zzzzzz{z{{{{{zy{{zzzy{z{z|{|||zzyzzzz{{{z{z{|zzy{z{|zz{{{zz{{zzzzz{{{{{|z{||{z{z{zzzz{|z|{|{|{y{{zz{zyz|{z|{{{{{{z{{z{|||z|{|{zzz{{z{{||{{{||{{|{|z{{||||{||{{z{|z{{{|||{}{{||{{z|{{{}{{|||{|{{{|{|{{||{{||{{|{{{{|{{{|{{z|||{{|{z{{{|||}{||{{z{{|{{{||{}{{|||{|{|{{{z{{{{||}|{{z{z{{{|{{||z{{{z{{z{{|}|}{{||{zzz{zz{{{|{zz{zzz{zz{zyz{{{|z{{{z{{zz{{{zz{zz|{{zzzzzzzz{{||{{{{{{z{{zzz|{{z{{{{zzyzzyy|{|{{z{{z{y{{zz{zzz{z{|{{z{zzzzy{{{{z{|{y{z{zzzz{{zz|{{zzyzz{zz{z{z|z{{{zzzyz{zzz{z{{{{{zzzzzzzzz{z{{zz{{zyzzzyzzzzyz{{zzzzy{zzyy{zzz{{{zzzzz{zz{{z||{{{{zzz{zzyz{{z{{{|zzz{zyz{{{{{{{zzzzzzyzyz{{|z{|{|{zzz{z{zz{z{||{{{z{{y{z{{{|{{{{|{{z{yzz{||{{z{|{{zzz{{zz{|||||{{z{z{{z|{{{{{{|z|zzz{z{{{|{||{{{{{{{z{{zz{||{{{||{{{{{{{zz|{{{{{{{zzzz{z{{||{{{|{|z|{{{{z|{{||||{{z{z|zz{|z{z}{{|{{z{{{z{{|{{{{||{{{z{y{zz||{{{{|{{{yzzz{zz{{{||{z{{{{z{z{{{}{{|{y{{{zzzzz{{{{{{{z{{zzzzz{{z{||||z{zz{{z{{{{{|{|{{z{{zz{z{{z|z{{{{z{zyzzz{z|{{{{{zzzz{{{zz{zz{{{y{yyzzzz{z{{{z{{{zzzyy{zz{{{{z{{{|{zz|zyy{zz|z|{{{zz{zzz{z{{z{{|{zz{zzzz{z{|{{{{z{y{zzyzyz{{zy{{{zy{{zzzzz{z{{{{{{yz{z{{z{z{zzz{{zzzzzyzz||zz{{{|{z{z{z{z{{{{z{z|z{{zz{{{z{|{{{|{{zz{zx{z{{{{||{z{{z{{{z{z{{{{{|{|z{{zz|{|||{||{{|z{|z{{z|{z|{{{{{{{{{{{z{{{{||{{{zz{zzz{z{||{||{{zz{|{{{{}{|{{||zzz{{{{zz{{|{}|{}{{{{|{|{|{||{|||{{|{z{|}||{{||{|{|z{z{{{||{{{|}|{z{{z{|z|{|{|||{|z{{z{{{|{{{|{{{{{zz|z{{{||z{z{{z{zzz{{{{{{{{z{{zz{zz{{{{{{{{{|{{{z{yzz|{||{{{{|{{{z{zz|{{z{{{{{z{z{zz{z{{|{{zz{z{{{{zz|z{{{{{|y{{zzzyz{{z{{{|{{{{zzzzz{z||z{|{{{zz|zz{{z{{{{z{{zzyzzzzzz{{z{zzzz|zyzyz{{|{z{{|{{{zyzzzz{{{z{{{{zzzzyzz{z{z{{{{z{{zy{zyz{z{z}{|zyzzzz{zz{{{z|{|z{zz{{{{z{{{{{|{zzz{z{{{{{{z{|{{{{zzzz{z|{zz{{|{{{{{{zzz{|{{{{{|{z{zz{z{z{{z{{|{|z{z{|z{z|{{{{{|{z{z{{{{{||}|{{}z{{{{z{{{|z{||{|{{{{{{{{{||{{|||{zzz{{{{{|||{}|}{{{{{z{{{||||||||{z{{||{||{|||||{{{{{{|{|||||||}|y{z{z{{{||{|{|{{{zz{{{{||{{|{|||{{z{{zz{|{|||{{|{{zzz{{{|{|{|||z{{zzzz{|{|{{|z{{{z{|zzy{z{z{{{{{zzzzyz{{z{{{z{{{{z{zz{z|zz{{||{z{{zzzz{z{|zzy{{{zzzz{zz{z{{|{{{{{yz{{yzz{z{z{z{{zzzy{y{zzz{z{|z{zzzzzzz{zz{{{{zyzzz{zz{{{z{{z|{zz{zzzyzz{zz{{{z{{zzzzzzz{{|zzz{zy{zzzzzzzzzzzz{zzyz|zzy{{z{{|{{zzyzzzyz{{{{z{{|zz{yzzzzz{z|{{{{{z{zzzzz|zz{zz|{{zzzz{{{{{{{{{{{{{{{{z{z{{z{z{z{{z{{{zzz{{{{{|{{{z{{zzy|{{||z{{{|z{{{zz{{{{||{||z{zz{{{{{|{|{|||{{{zz|z{|||z{{||{z{zz{z{{z|{{{||{z{{{{{{{|{{{||}|{{z||{{{}{|{{||{z|{{{{{{|{{{|||{z{z{zz{{{|{|||{|{z{|z{{{{z||}{z{{zy{{z|{{{{{{|{z{z{zz{z{|z||{|{|zzzzzz{{{{z{|{|{zz{z{{z{z{{{z{|zz{|zzy{{{{{{{|{z{zzz{zz{z{{|z{|{y{zz{z{{|{|z{{z{{zzzzzz{{{|{{{|zzzz{zyyz{{zz{{{zzzyzzzz{{{zz{zzz{zzzzyy|zzzz|{{zzzzzyz{z{z{{{yz{zzzzzz{z{{y{{{{zzzzzzz{{{zzzz{|zyzzyzzz{{{z{{z{|zzyzz{yz{z{z{{{zz{{z{zz{{{z{{{{zzz{zzz{{{{{z{{{{{{yzzzz{zz{z{{|zz{z{{{{|{{z{{{{{{{zzy{zz{|z{|{{z|zz{zyz{z}|z{|{|{zzzzz{|{|{z{||z{zzzzzz{{z}{|{|z{{{z{{{{{z||{|||{{{{y{z{{{z|{{|{{zz{|{{|||||||{{{zzz{|{{{{{|}{{|{{{{{{{{|{{{|||{{{{{zzz{|||{||{{z{{{{{{{{z{{|{||zz{|{{|{{{{z|{{{|{{{{{zz{|{{||||{{zz{{z{{|||{{{{{{zzy{z|||{{z{{zzz{z{{{{{{z||{|z{z{zz{z{{{{{{||{{{z{yzy{z{{{{|{{z{{zz{y{{{{zz{{|zz{{zzzz|{{{|{|zzz{z{zzy{z{|{z{{y{zyzzz{z{{{{z{zzyzzzzz{zzz{z{{{zzz{zzzy{{{{{{z{zzzzzzz{{{{{zz{{zzzzyzyzz{z{z{|zz{zyzyzzyzz{{zzzz{z{zzzzzz{{{{{z{zz{z|z{zz{{{{{{zz{{|{{{{{zz{{|zz{{zz|zzy{{|{{{zz{{y{z{{||{{||{{z{zzy{y{|{{||{|{{{zz{z{{{|{{{|{{{{z{yzz||{|{{{|{{zxz{{{{{|{|{{|z{{z{{z{{{{{||||{{{{{{{z|||{|{{z{z{{{z{{{|{{|||||{{{{z{{{{{{{||{||{{z{z{{}|{|||||{{|z{{||{|||z|{|zz{{{z{{|{{|||}{{{{{z{{{{||{{||{{zyz|z{{|{|||{{||{{{{{{{|||{{{|{zzzz{zz{||{{{{{{z{y{{{z{{|{|{{|y{zzzzyz{{{z{|{{{z{zz{yy{z{z|{||{zzz{zz{z{z|zz|{{zyzzzzzz{{{{|{{{z{{z{zzz{{{{|{z{{zzzzzzzzzz{{{{z{{z{yz{z{z{{|{zyzzzzzzzz{{{z{z{{{zzyzyz{zzz|{{{{zzyyzzzzz{{zz|{zzzyzzzz{zzzz{z{{yyyyzz{zzzz{{{{yzz{{{zzzz{{{||{{zzzz{zz{z{{{zz|{yz{zzzzzz{{|{|{zzz{{zyz{|{zzzzzzyz{z{zzz|||{{z{{y{{z{y{{{{{{{|{{{zz{zzzz{{z|{{z{zzz{z{{{z{|{|z{z{{{z{z{|{{|{{{}{{{||{zz|||{{|{|{zz{{{{{||{{{{{||{z{{|z{{{|{{||||{{{{{{{{|||{||||{{|z||{{|z|{{{{|z{zz{z{{{{{|{||z{zz|z{{{{{{|}|{{zzz{{{{{{{{{||{z{z{{{zz{||z|{{{{z{{zzzzzy|{|{{{{z{z{zzzy{{{z{{zzz{zzy{{z{|z{{||{{yzzzzz{z{{{{|zz{zzz{{{z{{{z{{z{{zzzzzzz{{{{{{{{{zzzzzy{{z{|{{{{z{y{zzzz{{z{{{{{zyzz{zzzz{zzz|{zzz{yzzzz{zz{{zz{{{yzzzzzz{{|{z{zz{yzzz|z{zz{{z{{zzzzzzzz{zzz{z{{{zy{zzz{{zzz{{{{y{y{{zzz|z{{{{{{z{z{zzy{z{{{z||zz{zzzzy|z{z{{{{z{z{zz{z{{{z{{|{{{{z|z{{z||zz||{{{{z{{zz{|{zz||{{{zz{zzz{{{{{{{{{{z{z{{z{{|{||{|{{zz{z{{{|{|{|{|{{{{{zzz|||{}{|{{zzz{z|{z|||}|||{{zz{{{|z{{{{{{}|{{|z{{{{|{|{|||{{zz{{{{||{{|||{|z{{|{{{{{||{{|||{z{|{{{{{z|{|{{{{{z{|{{{{{{{|{|{{{z|{{z{}{{{}{{{{{{{y{z|||{{}zzz|{zzzzyz{{{{|||zyzz{{{z{{{zzz{{zzzz{zzy{{{|{{|{|z{{zzzzz{{zz{|{{z{zzz{zz{{}|||{{{|zyyzz|{{z{z{{{{{zz{zz{{{{{{{{{{zz{zzz{{z{z{{{z{z{zzzzy|z{{z|z{z{zz{z{z{{{{{{zzz{zzzyzzz{|{{{{{{z{zzzz{z{z{{{{{{zyzzz{{{zz{|z|{zzz{{{z{zzzz{{z{zz{{z{{zz{z{{{{y{z{zz|{{z{{z{z|{{{{zzzzz{|{|z{|{z{{zzzz{{{{}{{{{{{{{{zz|||{{{|{{{{{zz{||{{{|{|{{{|z{{{{z{{|{{|{{{z{{{|{{|{{{||{{{{{{z{z{|{|{{{|zz{{{z|{||{{|{||{{||{{{|{{{|{|}}|{{{{{z{|||{{}||{z{zz{{{|||||{{|{zz{|||{|z}||{||{zz|{{{|||{|||{|{z{y{{z{{{{|{||||{{|{z{z|{{{z{{{{{{zzzz{{{|{|||{{zzzz{zy{{{z{{|{{z{zzyzz{|zz{{||z{z{z{{z{zz||||{{zzz|{zzz{{{zz{{|z{yzzzzz{|{{{{{{{z{z{{zy{z{{{{|{{{zz{zyz{{z{{{zz{zyzyz{zzz{z{{{zz{zzzzzz{z{{{{zzzyzzzzzzz{|zz{|{z{zy{zzz{|{{{{z{z{zzy{yyz{|z{{zzzzzyzzzy{z{z|{{zzzz{zyzz|{{{z{{{zzzzxzz||{z{{{{{z|{{zz{{{z{z{{{{zzyz{z{z{{{|{|{{z{z{zzyzz{{||z{zyz{{|zz|{|{{|{{{zzzz{{zz{{{{{z{{{{{{{z{{||{{{{|z|z{zz||{z{|{{|||{{{{y{z{|||||}||z{{{{|z||||z||{{{{z{|{{{{{|{{{|{{{|{{{{{}||{|{||zz{{{{{|{{||{{{{z{z{z{{||{|{z{{{{{{{{|||{{{|{{|{z|z{zz{|{z{{{|{{{{{{zz{|{|{{|{{z{{zzz{{|||{{|{{{{{zzzzz{{{{{{{{{zzzzy{{|{{|{|||{z{zzyzzz{{{{{{|{yzz{zyz{{|{{z{|{zzz{zyz{{{{{{z|z{{zz{{z{{{zz{{{{z{{zzzz{{{z{{{{zzzzz{zz{z{z|{{{zzzzzyzz{{zzz{{{zz{{yzz{z{{z{{{{yzz{yzz{z{z{{||{{zy{{z{zzz{zy{{{{{zzyyzzz|{zz|{{{yzzz{yyz{zz{{{z{z{zz{zz{{z{{{z|{{zzzzz{|{z||{{|{zzzzz{{z{z|{{|{{z{z{z{z{{|{{{{{{z{{{{yz{{|{z{||{yzz{{{{{{{{{{{{|{z{|z{{{{|{|||{z{zz{{{{{|{{{|}|z{z{{{{z||||{||{|{{zzzz{|||{{{|||{{{{{{{{|{{{}|{{{{zz{{|{||||||{|{|{{|{{|{}{|||||{{{z{y{{{|{|{||{{{|{{zz|{||{}{|{{zz{{{{|{{|{|{|{{zz{zzzz{{{||{{{{z{z{{{{z|||{{{zzzzz|zzz|{{z{{|{zzzz{zz{z{z{|||zy{z{|zz{{zz{{{{{{{yzyzzz|{{{{|{{{zzyz{z{{{zz|{{{zzy{{{z{{}{{|{{z{z{zz{|zz|{z{{|zz{zz|{z{{z{z|z{z{zzzzzzz{{{{{z{zzzzzzy{z{{z{{zzzz{zzz{zz{{{{z{zzy{zzyzzz{{y{{{zz{{yzzzz{{z{zz{|{zzzz{yzz{|{z|{{{zzzz{{z{{{{z{{|z{{zy{{{z{z{z{{|{z{{zzy{{{|{{{{{z{{{zz{z{|{z{{{|{z{{{{{z|{{{|{|{{z||zz{z{{{}{|{{||{{{{{z{{}||{{{{z||{{{z{|||{z|||{{{z{|z||||{{|{{{z{{zzz{}|||{{{{{{z{{{{{|||{{{||{{{|{zz{{||||||{{|{z{{{|||{{{{|{z{z{{z{{{{{||||{|{|{{{{||{|{{}||z{zzzzz{{z{{{|||{{{z{z{{|{{|{{{{{|z{yzz}{{}|zz{y{yzzy{zz{{{z{{{{zz{zzzz{|{{{|{|{zzyzzzz{{z{{z|{{z{zzz{{{z{{{{{z{{zzyy{y{{{z{{{|zzzzzz{zz{{zz|z{{{{zzzyzzzzzzz{zzz{zzzzzzz{{{{{{z{{zy{zyz{{{{{z{{yzyzzzy{{{zz{z{{z{zyyyzyz||z{{{zyyzyz{yzzz{{{z{zzzzz{{y{zz{z{{{zz{z{{zzz{{{{{{{{zzz{z{zy{{{z{{z{y|zzzzz{{{{{{{{zzz{{zz{z{|z||||z{|zzzzzz{{|{|{{z{{z{{{z{{{{|{{{{{z{{{z{|{|z{{|z{{z{|zy{{{{|{{|{{{{{|{{{{|{{z|||zz{{|z{z||{{{|{||{{z|z|{}|{|||}{{||y{{{{z}|||{{{{{{{z|{|z}|||{{{|{z{{|{{{{{{{{{|{zzz{{{|{{{|{{||{|{z{{z{||{{{{{{{{{z{{{{{{zz{{||{zz|{z{z{|z||{{{{z|{{z{{{|||{{{{{z{zyzzzz{{z{{{{{{zzzzzz{{{z{{{{zyzyz{yz{{{|{||{{zz{zyzz{{{{z{{{{{zzzzyzz{{z{{{{zzyzyzzyzzz{{{{z{{z{y{z{{{{z{{z{{zzzzzzz{zz{{z{|zzzzzyzzzyzzz{{{{z{zz{yzzz{z{{{{z{zzzzzxz{{{{z{{{zzzzzzz{{zzzz{z{{{yzzzyz{zz{{{z{yzz{yyz|z{{{{{{{z{zzzzz{z{{{{{{{zzzzzzy{{{z{{{{z{z{zzzz{{{z{{|{{{zz{z{{z{{{z|zz{{z{{zzzz{|z{{|{{z{z|{zz{{z{z{{|z{{z{zz{{|{{|z{{|{{{zz{{{{z{{|||{zz{zzzz{z{{{|||{z{zzz|z|||{||||{{{{|{{{|{{{|{||{z{zz{z{{||}{|{||{|{{{{{|{|{{||{|zy{|z{{z|{{||||{z{{{{z{|{{|||{||{zzz{zz||{{z{|z{{zzzz{{z}|{||||z{{{{{z{{{||{zzz{z{z{zyyz{z{{{{{{zzzyzzy{{{{z{{||zzzz{zz{{{z|{{zzzzzzzz{{{|{zz{{{{{zzz{z{zz{z|{|zzzzzzzy{|{y|{{{{y{z{yzzy{{zz{{zz{z{{zzzzz{{{{z{yzzzzzzyzzz{{|z{zz{yz{zyzzzz{{|{zzzzy{zz{{{|z{{{zz{zzz{yy{{{{{z{{{zz{yzzzzzzz{z{zzz{{{{{z{{zzz|{y{zzz{z{{{{{|{{|zy{yyzzz{{{{{{{{{z{z{z{z{||{{{{|{z|{{z{z{{|{{{{z{{{yzzz{{{{|{{{zzzzy{{z{|{{z{|{|{{zzz{{z{{||{||{{{zz{z{{{|z||||||{zz{z{z|||{|{}{|z{{{{{{|{{{|||{{{{{{{{{{|{{{|{{|{z{{z{z||{{{{{||{{|{{{z{{||{||||{z{z{{{{{||{{|{|{||z{z{{{{{{|{|{{zzz{z{{|{{{{||{{zzz{{{{{|{{{{{{z{z{|z{|||{||{{z{zzzxyz{|{{{zz{{zzzzzz{{z{{z|{{{zzzzz{z{y{z{{|{{z{zzzzzzzz{z{{z{{{zzz{{{zz{{{z|z{{zzz{zz{{{{{|{zzzzzyzz{{{yz{{{{zyzzzzzzy{y{{{|yzzzzyzz{z{|{{|zzyzzzyzzzz{{{z{zy{zy{yzyyz{zzz{|zzzzzzzzzz{|{{z{{yzzzzzzz{z{zzz{z{z{{yzzzzz{z{{{{{zz{xzzzz|{|zz{zzz{zyzz{{{{{{z|zz{zzzzz{{{{{{z|{zzzzz|z{{z{{{zz{z{zz{zz{{{{{{{{|{{z{{y{{|z{{|{{{z{{{|yz{{||{|{{z|z{{{{{{|{|{||||zz{{{z{{|{||z|{{yz{z{zz|{|||||{{{{{z{{{{{{{|{{|{z{{{{{z{|{||||}{{{{{{{z{|{{||{|{zz{{z{{{{{|||||{{z{|{zz{||{{{|{{{{{z{z{{{{{{||{|{{zzz{y{{{{{{||z{{z{{z{{|||}{||z{z{{{zz{z|{{|{|{{{{zzz{{z{{{{{{{z{zzz{z{{zz{|{{zz{zzzzz{z{{z{{|{z|yyzzzz{{z|{{|{{{z{{{z{{zz|{{{{zzz{{z{{{|{|z{y{zzz{zz{{zz{{{z{zz{zzzyz{{{{{{{{{{zzyzyz{{{z{{z{zz{y{z{y{z{zz|{{zz{z{{{zz{{{{{{{{{yzzz{z{zz{z{{{{{{zz{{z{{{{{{|zzzz{{zz{{{{{{{{{{{zzzz{yz{{{{{{|z{z{zz{z|{{{{{{|{z{zz{zzz{{{|{|{{zzzz{{z{||{|{|||{{zz{{zz|||{{{{|z{{{{{{|z{||{{|{{zz{{{{||z{{|||}{{|{{z{{|}||{|{|{{{|{|{||}|||}|z|{{{|{|z||{|}|{|{{{z|{{||||{{|||{{|{{|{{|{{||{{{{{zz{|{|{||{||{|{{{|{{|{|{|||{|{{{{|{{{{{|{{||{|{{zzz|{|z{|{|||{z|{z{{{{}|}~{{|{{{yz{zzz{||{{{{{z{zzzzzz{{{|{z{{zzz{z{{{{z{{{||{z{yz{z{{{|{z{{}{{{zzzzz|{zz{{{|{zzz{{{z{zzyz{zz{z{y{{{z{|{{z{||z{zzz{zzz{zz{zz{zzy{{zzz{{z{{{{{{zzzyzzzz{{{{z{{{zy{zyzzz{{|z{z|{zzz{zzz{{{z{|yzzyzz{yzzz|z{{|zzzyzzz{yz{zz{{{|z{zzz{y{{z{|{z{{{{zz{zz{{{z{zz{{{{{{{zzzz{{{{{||{{{{yzzzz{|{{{||{{{z{{{{z{{|{|{{{|zz|{{z{{{{{{{|{{{zz{z{{{|{||{{|{{{{{{{{{{{{{|{|{{z{z{z{|||{||||{y{z|{{z|||{{}}{{{{{{||zz|{{{|}{|z{{{{{{{|{||}|{{{|{z{{{|{||{{{||{{z{{{{|{{|{{}||{{{{{{{{{|||||}{{{z{{{{{{{|{||{{{|zzz{zz{|{{|||{{{z{z{z||}~|{{{{{zyzzyz{{{{|z{{zzz{{{yzz{|z{{{|z{zzzz{{z{{{|{|{zz{zz{zz{{{}{z|zzz{{zzzzz{{{z{{{{{{z{z{z{z|{z{|{{zzzz{zzzz{yz|{zz{{zz{zz{{z|zz{{{zzzzy{zzz|z{{z{zzzzzzzz||z{z{{zyyzzzzzyz{z{z{z|{zz{{{zzzz{z{{{zzzzzyz{yy{{z{{{|zzz{{zzzz{{z{{||zzzyzzz{{{z|z{{{{zzzzzzz{{{{{}z{{zzzzzzzz{{{z{||y{{zzyzz{z{{z|{{|z{{{z{zz{{|{{|{{zzz{{{{{{{{{{{{|{z{{{z{{{{{||{|{{{{{{{{|{z{{{|}zz{{||z{{|{{|{|{{{{{{z{{{||{|{||{{{zz{{z{z{|||{|{{z{{z{|{|{{{{|||{{{{{{{{|||{{|{|zzz{{{{||{||{{{{|z{{{{{{{||{{||{|{zz{{{{{{|{|{{{{{|{{{z{{||{{{|z{{zzz{z{|}|||{|z{{z{zzzzz{{|z{{zzzzzzzz|{z{{{|{zyzyzzzz|zz{{{|{{zzz{zzz{{z{zz{|{z{{{yzy{zzzz{{{zz{zz{{z{{z{{||{zzzzzyzy{|z{zz{{y{zyzz{y{zzz{zz{zzz{zzz{{z{z||{z{zyzy{z{zz{z{z{{{yzzyzyzz{z{{z{{{zzz{yzz{zz{{z{z{|y{zzyyzzzzz{z{zzyzzz{zzz{{z{{zzzzzzzzy|{{z{{{|zzzzzyzz|z{{{||{zzzzzz{{z{{{z{{{{y{zzzzz{{{|{|{{{|z{z{zz{|{{{{{z{{zzz{z{|{{z{{z{zz{zz{{{{{{|||||{z{zz{zz{|{{{{z|{{z{{{zzz||{{{||{zzz{z{{|||{{{}{|{{{{{|{|{{||{{|{z{{z|{{{{{|||{{|z{{{zz{||{||{}{|z{{{zzz{{{{|{|{{z{z{z{{{{{|{{|{z{{z{{zz{{{{{||||{yz{y{zz}|{|{{{{{{z{{{z{|}}}{z{{z{z{{zzz{{z{{z|zzz{zz{zz{|{{{z{{{zzzzzz{zz{{{{|{zz{zzzz{{{{{{{{z{{zyzzzz{{zzz{{y{{{zzzzz|{z{{z|{zzzzzzz{{{zzzzzyzzyz{zz{{|{z{{{zz{zzyzy{{zz{{|zzzzyzzxzzy{{{{z{zzzyzz{z{zzy{{{{zzzyzzzz{{y{{zz{{zzzy{zzzzz{z{z{zy{zz{zzz{{z{z{z{zz{zzzz{{z{{{{|z{zzz{z{{{zz{|{{zz{yzzz{{{{{z|{|{{{{{zzz{{{{z||zzzzy{zzy{{{zz{{zzz{{z{zz|{{{{|{|zzz{|zzz|{|||{|{z|{zz{z{{{||{||{{|{|{{{z{{{{||{{{{{{{{{{{{|{{{{{{z{{z{{{{{||{||||z{{z{{{{|{{{||||z{{{{z{{{{|{{|{{{{{{{{|{{{{{|||{zz{{zz|{z||z|{{{z{z{|z|{{{{{|{{{{{{zz{z{|{|{|{{{{{zzzz{|{}|}zz{{zz{{zzz{{{{z{z{zz{{{{yz{{{{{|{{{{zzzz{y{z{{{z|{z{{zzyz{{{z{{{{|zzz{zz{z{{z|{{{{zyzzyyzy{{{{zz{z{z{yz{zz{{{zzz{{zy{yyzz{y{z{zzz{zyyyyzzzz{zzz{{zzzz{zzzzzzzz{z{zyyzyzyzz{{z{z{{|zzzzzzzz{z{zz{{z{y{z{zz{zz{{z|{zzzzzzyzyz{z{{{{{yzzz{yzzz|z{z{z|{y{zyyzz{zz{z{{{zyzzzzy{z{|{{z{{{zz{yzzy{z{{yz|{zzzzzzzzz{{{{{|z{z{z{{zzz{z|{{{z{zzzzzzz{{{||{z{zz{y{{{{{{{|{|||{{{{zz{zz{{z||{{{{{{{z{z{|{{{{||{{{{z{{{{}{{{{|||z{{{{zz{||{{|||{{{{{zz{z{{||||||zzz{{z{{{||{|{|{{{{{{{{||{{{{||z{{zz{{zz|zz{{z{{{{zzzzz{{{{{||{|{{z{zz{{{|{}zz{|zyzz{{z{z{{z{z{yzyzz{yz{z{zz{z{zzz{zy{y{zz{{{{zz{{zyzyzz{||z|{|zy{zzzzx{z{zz{{{zzzzzyzz{zz{{{|{|z{zz{zzzzz{{{{{zzyz{yyz{{zzz{{{zzyzzzyy{{zzzz{{{zzzzyzz{{{z{{z|z{zyz{yy{{zz{{{zzzzzzzzzy{y{zz{zzzzz{zzzzzz{{z{{{zyzzzzy{zz{z{z{{zzzzzy{{{zzz{z|zzzzzzz{zzzzz|{|zz{z{z{zz{{z{{z{zz{zzzzzz|{|{z{{{zzzzzzz{{{{z{{{zz{zzzzz{{{|{|{{z{zz{{z{z{{{|z|{yzzz{z{{{z{|{||{|zz{{zz{z{|{|{{{z{|z{{{|{|{{{{|{{{{{z{{{{|{{||{||zz{{{{{{|{{||||{{zz{z{{|{|{|{{|{{|{{{{{{{{z|{||{z{{{{zz{{z{{{{{z{z{z{yz{{{{|{{{{{{yzzzz{{||{{{|{{|z{zzz{|||}{{{zzzzyyzyz{{{zzz{zzzzyzyzz{zz{||z{zzzzzzy{z{{z{{{{{zzz{zyz{z|y{{{zzzxyzzzz{z{z{z{zzzzz{yzz{zyz{{zzz{z{z{z{{zzyzzz{zzzyzzzzy{z{{zzz{zzzzzzz{{{z{{zzzzyyzzz{z{{{{{zzz{{zzzzy{zzz{{{zzz{zyzzy{zzz{z{zzyyzzzyzz{zz|{z{{z{yzzzzz{{zzz{z{zz{zzz{{{{{{|{zz{{z{z{{z{{z{{{{{z{zy{{{{|{|{|{{zzzzzz{z{{|z{z{{yzyzzzz||{{{{|{|z{z{{yz{||{z{{{{{z{{zz{{{||{{{|zz{z{{{z||z|{{{|{yz{{yzz{{|{||{{{z{{{z{z||{{{|{|z{{{z{{z{{{{z{||{{z{{{{z{|{|{||{|z{{{|z{{{{{{{{{{z{{{zz{|||{{{{||{z{{{{z{{{z{{{|zz{zz{z{{{{{{{|}{zzz{{zzzz}{z{{|{{zz{{{z|||{|||{{z{z{zzz{{{zzz{|z{{z{zyz{{{zzz{z{zz{zzz{zzzzzz{{{{z{zzzzz{{zz{{zz{zzyzzzz{z{{|{|{zyyz|zzz{{z{z|zzzzzzyxzz|{zz{z{{zzyy{zy{{z{{|z|zzz{zyzz{zy{z{{|{zzyzzzzzz|{zz{|{z{{zz{y{z{{{|{{zz{zzyzyz{{z{{{y{{zyzzzyzzy{{{{{zzz{z{z{yzz{|{|{z{zzzzzzz{z{{{{|z{zzzzzz{||{{{{zzzzzzz{z{z{{{{{{z{yz{zzzz{|{{{{{zz{yy{{z|{{z{{{{{{z{{y{{{{{{z|{{|{z{{zzz{{|{{{{{{z|z{{{z||{{{{{|{{{|z{{z{|||{z{|{z{{z{{z{|{{||||{{{{z{|{{{|{|{{{|{{z{{{{{|{{|{{|{z{|z{{{{{{||{{|{{{{{z{{{{{z{{|{{{{|{{{{{|{|{{||{{zzz{z{z{{{{{|{|zzyz{z{z{|{z|{|{z{z{z{z|{|||{{{{zyzzz{z{{{zzz{{zz{zz{zyz{|z||{{zzzzzzzz{{{zz{{zz{{y{zyzz{{z{z{{{zzzyz{z{{{zz{z|{z{z{zzyz{|{z{zzzz{zzxyzz|{{z|z{{z{yzzzzz{{zz{z{z{zzzy{zy{{z{{zzzz{zyzyzzyzz{{{{{z{yyzzy{{{{{z{{{zy{x{yzzzzz{{z{zzzzzzzzzz{zz|{{zzzzz{zzz{zzz{{|zzyzz{{zz{{{z{{{{zz{zzzz{{{z{{||zz{yzzz{z|{{{{{{{zzzzzz{{|z|{{|{{z{z{yzzz{z{{z|{{z{zz{|{{{z{{|{{{zzzzz{{{{||{||z{{zz{z{z{{{{z|{|{{z{{{{y{{{||{{|{z{{{{{{{|{{||||zz{z{z|{{{{|{{{||z{z{zz{{||{|{||{{{{{{{z{{||{{{|z{zz{|{{{{{{|z||{{zz{{z{|{{{|||{{{{z{z{{z{{{{{||{zzzz{{{z||{{{{{{z{{{{z{{|z}{{{z{{zzz{zz{{{{{|||{{zzz{zz{{|{{{{{zzyz{zzy{{{{{{{|{zzzz{zzz{|{{zzzzy{z{zzz{|{{{|{||{zz{z{zzzz{z{{{{{zz{z{y{{|{z{{z{zzz{zzz{zz{{z{{zzzy{y{z{{{{z{|{{yy{z{{y{{{z{{{zzz{{zzzz{{z{z{|{zzzyyz{zz{{zz{z{yzyyzzyz{zz{|{z{zzzz{zz{z{{{{{{|zz{zzz{zz{{{z{{{zz{{z{{{z{{{{{{|{{yz{{{{{{{{{{{{{z{{zz{{z|||z|{{{z{zzz{z{|{{z|{{{z{{zz{{|{z|{||{{zz{{z{{||{}|||{z{{{z||{||{|{|{|{z{z|z{z{{||}||{|{{{{z{{|}{{||{|{{|{{{{||{{{z|{||{{{|{{{||{|{|||z|{|{{z{{|||||||zz{z|{z{||{{|{||{{z{{zz{{||{||{|{z{zz|z{z{|{{{||{{{yyz{z|{{|zz{{{|{zz{{zz|||{{{{zzz|z{zzz||{{{{{z{yz|z{zz{|{{|{{|yyzyzzz{z{{z||{z{zzyyzz{{{{{{{{z{{zzzz{{{z{z{{{zz{zzzzyzzzzz{{z{z{zzzz{z{|yzz{zzzzzzz{z{{z{{{z{{zzzzz{zzz{{{{{z{zyz{zyzzz{{z{{{zzzzyzzyzzzzz{|{{zzz{x{yzz{z{{{{zzzzzzzyzz{z{|{{{zzz{{{zzz{{zz{{{zy{zy{z{{{{{{{|{z{zzy{z{z|{{z{{zzz{zzzzz|{|{{{{zzzzz{zz{{|{{{{{{{{z{{{zz{{{z{{{{z{zzz{{{{{z{{||{{{zz{z{{{|{{{|{z{{{{|{{|{{{{{|{{z{{{{z{{|{|{||{|zz{{{{z{||z|{||z{|{z{{{{|{|{|{|{z{{{z{z{{{}{|||z{{zz{{{|{||{|{{{z{z{zz{{||{{{|{{|z{{|{z|{|||{{{||{z{{{{{|{{{{||zzy{zz{z|||z{{{{{{{{{{zz||{{{{{z{{z{{zzzz{{{{{{|zzzzyzzz{{z{{z{z{{zyzzzz|z{z|||{z{zzzzz{zzz|z{{{z{zzzzzzzz{z{|{|zzzzzzy{zzzz{{{z{zzzzz{{{||y{{{z{z{zz{zzzzzz{z{{zzy{yzyy{{{{z{|{{zzzzzy{{z{{|z{{zzz{zz{{{zz{zz{zzz{zzzzyzz{zzzz{zzzyzzzzy{zz{{z{zzzzz{zy{|z{{{{{zz{{zz{z{{{{zz{|{{|yz{{z|{{|z{||zz{z|zzz{{z{{{{{z{{z{z{zz{{{{{{zzz{yzz{z{z|{z{|{{{{z{{zz|{|{z{{{{{{{|{{zz{{||{||{{zz{z{z|{|{||||{{z{zzzz{{}{{||{{zz|z{{z{|{{|}||z|z{{{|{|{|z{|{|{{{|yz{z{}||||{{|{{{{{zz|{{|||{{{zzz{{{|{{|{|{||{z{{{{z{|{{||{|{{{{{{z{{z||{{{{|z{z{z{{z{z{{{{{{{{{zz{yzz{||{{{|{{{zz{z{{{{{{z{{{{{{{z{{{|{{{{{}{{z{z|{z{z{|{||{z{|z{zz{{||{z{{||{z{yz{z{{||||||z{zz|{zy|z{{z{|z{zzy{{{{{{{{{{{{z{zz{{zz{{{{|{{zzz{yzyzz{{{{{{z|{{{zzzzzz{|||{{{zyzzz{z{{{{{{{{|{z{z{z{yzzzzz{{|zzzy{z{{zzzz{|{z{{|{z{z{{z{z{{|z|{{z{z{z{z|z|z|{{zz{zz{z||{{{{|{|{zzz{{|{{|{|{|{{{z{{z{{{{|{{{z|{{z{{zz{||{|{||||z{{{z{z{}{{||{{{z{{{{{{|||||||{z{{{|||||{||||}|{|{|{{zz{|||{{|||{{{|z{{z}||||||||{|{|{|||}|}}}|{{{{{{z{|}||}|}||zz|||{{||}|{}{||{z|{{{|{|{{||||||{{}{{{|||||||{{{z{y{{{{|{|{|{{{|{{{{{{||{{|{|{{{{{{{z{{{||{||{{z{z{{{zz{|z|{{|z{z{{{zz{|{z{||}|z{z{zz{|{{|||||zz{{{z{z{|}|z|||z{zz{{{{{{{|{|{|z{{{z{{{{{{{{|{{{{{{zzz{|||z||||{z{|z{{zzz{{{|{{{z{zzzzz|z{{{||||{z{{zz{{{|||{|{{{zzz|zz{{{{|{||{zz{{{zzz{{zz|{{z{{{z{{{{{{{|{||{{{{z{{yz{{|{{{{{{{{{zzzz{|{{{z|{{{{zz{z{{z{{}||z{{{{|{|{{{{{z||{{|{{z{z{z||{||}|{{{{{{z{{{{{||{|{{{|{{z{{||{|{{{{{{{{{{|{}||{||{{{{{z|{||{}{}||{{z{|z{{}||}|||||{{|{|{{||||{}||{|z|{|||}{}|{}}}|{|{|{|z|}}}}}|||{{}{|||{|||{||||{{{{{|{{}||{{}|||{{{z{|}}|||||||{{z{|{{|||{||||{{z{{{{z|{{|{{|{{{{{|{{{|||{{{|z{|zz{{{{{{|{{{|{{{{{{zzz{{||{||{z{z{z{zz{{||{||||{{{{{{{{{||{|||{|yz{z{z|{{z|{|}|z{{z||{{|{{{|||{{z{z{z{{z|{{{||zz{{{{{z{zz|{{{{{{{z{z{zz{zz{{|{{z{{{{z{|{|{{{|{{{{zz{{y{{|{}{{{y{zzzz{{z{{z{||{{zzzyzzz{{{zz|{{|z{z{z{z{{{{||{{|zzz{zz{{{{{{||{{{{{{y{{{{{{|{||z|{{z{{{|}}{{|||{z|{zz{z{|{z||||{{{|{{{z||}|{|{|{{{{{{{{|{||||||{|{z{|{{||{|}||||{zz{{{||{{}{{}||{{|{z{{|||||{|}{|{{{{|{||||||}}{{{{{||||||||||||{{{||{|}}||z|||{|||{|||{{|||||}{|{{|{|{}|}|||}}|||{||{|}|{|{|}|{{{{||{||}{|||}}{|{|{|{{{}{|||||{{{{z{{{z|||||{|{{{{zzz{{|z{{{{|{{{{{zz{|z|{||{}|z{{{zzz|{|z{|{{{z{{{z{{||{|{{{}{{{yzyzz{{{{{|{{{z{{{{{z{|{{z{{{{{{{zzy{{{|{{|{|z{{z{{z{{z{|{{{{{zzzzzy{{{||z|{{{zyzyz{z{{|||z{{{z{{zzyzz{{{z{|{zz{z{zzz{{{z{|{|{z{z{z{zz{z{{{{{zzy|zzz{{{z{{{{{{z{{{z|{{|{||{{{{z{{|z{{{|{{{{|{zz{{z{z{{{z|{|{||{{{{z{z{||{{|{{{{{{{{{z{{|z|}||{{{|{z{{{||z||||{{z{|{{z|||}{||{|{|||{{{{{|{|||||{|{|{z{|||{|{{|{{|||{{z{{{{|}|~{|{{{}{{{||{||}}|{{|{|||||||||||||{{{{z{{{|}{|{}|{{{|||{|}}{}{|}|{{{{{{{||{||}|{{{|z{|{{{{||{|}{{{{z{{{{{{{~{||||{{{{{{{||{|{{{{{z{z{zzz||{{|{{|{|z{zz{{||{{{||{|{|z||{{|{{{{|{{|zz{{{{{{{|{{||{|{z{zz|z{z|{z{}|{|{z{{{{{z||{|{{{z{z{{zz{{{{zzz{{{zz{{{zz|{{{{|{z{{z{z{{z{|z{{|{{z{{z{zz{|{|{|{|{z{{z{zz{{z{{{|{|{z{{z{zz|{{{|{|z{zzz{{zz{z{{}{|zz{{zz{{||{{{|||{{{z{{{|z{|{|z{|{{{{{z{z|{{{{{{{zz{{y|{|{|{|{z{|{z||{z{z|{|{}|z|{{{z{z{z||||{{|||{{zzz|{{{{|||{||{{{{{{{||||||||{{|{{{|{{||}{|{|{{{z|{z{{||||{|{|z||{|{{|}|{||}}|{|{{|{{z}|||||||||{{|{{|}||||}||||||{{{{|{|{|||{{|{{{|{{}|{||}||{{{{{{{||||}|||||{{|{{{||{|||||||z{{{{z{||||||{{z{zz{zz||||}{{{|z{z{||z{{|{{{{||{z{|{{{{{|{|{z|{zz{{{zz|{{{{{|||z{{{z{{{{|||{|}{|{{z{{{{{||{{||{z{z{|{z{{z{{{|{z{z{{{{{{{{{{|||{z{y{zz{{z{{{{z|{{zz{z{{{{{|{|z{{{z{zzy{{{{{{|{}z{{zz{{z{|{{{{{|{zz|{zzzz{{{{z{{{{z{zzz{{|z|z{{{zz{z{{zz|{z||{{{{zzz{zzz||{{{{{|y{||{{{||{{{}{||{{|{zz{{{{|{|||{{{{{{y{z{{|{{|||{{zzz{{{||||{{|{|z{|{{zz|||||}{|{||z{z{{{||||||}z|{{{{z|{|||}{|||{z{|z{{|}}||}|||{|{{|{{||||||}||{||{{|{||}}|}|||{||{z|{{||{|}}||||{z{{{|||}|||}|{z||{{{||{||}~}||{{|{|{|}||{|}|{z|{{|{|{||{{|||{z{{|{z{{|{|{z|{{{z{{{|zz}|{|zzzzzz{z{|zz{|{|{{|zzz{{z{{|{{|{|{||{{{z{{z{{{||{|{z{|{z{{y{{|{{z{{{{{{z|zz{{{{{|{}{zzzzzzz{{}{|||{zz{zz{zzz{zz{{{|{z{z{{zzz{z{{{z|z{{z{z{y{z|z{z{zzz{zyzz{z{{z{{{{{z{zzzzyz||{{{z{zzzz{{z{z{{{z|{{{z{zz{zzy{zz{{{{{zzz|{zz{{{{{||{{z{{{zzz{||{y||||z|z{z|{{{|{}||}{{{{{z{{|{|{{{|||||z{{z{z|{|{|||{{{|zz{{{|z{{|||{z|{{z{{|{{{|||{|{{{{{{{{|{||{{|z{|zz||{||{|{||}{z{||z{||||}||{||z{{{{|||{|||||||{|{z{{{{{||{|||{{{|{{{{|}}{{}{|{{{{{{{{{|{{||}|{{{{|||{{{|||||}|||||{z||{|||||}||{z{{{{||{{{||}|{z{{{|z{|||{||{{{{{{z{z{z||}{{|z{zz{|{{z|{{{||||{{z{zz{z{|{{|||{z{yz{|y{||{{|||zz{{zyz{{{||{|z}{{{{zzzz{{{{{{{|z{zz{z{z|||{z{|{z{{zzz{{{z{{{{{{zz{zzz{{|{z{z|{||{{zz{zz{{|{{{|{{{zzzzzz{{{{{{|{{zzzzzzz{z{{z{{|{zzzzzzzz{{zz{{|{{zzz{zzz{{{{|{|{zz{{zz{z{z{{{{z{{{{zzz{{{{{{z{{{{{|z{{{{||{||{|{zzzz{z{|{{{{{|}|{{{|{z{{{{{{||{{{{{{zz{z|||{{||{z{{{z{{|{{{{z|{|{{{zz|||}}|{|{|{{{|z{|||||||||||{{{{|{z||||{||||{{{{{{||||{||||{{|z{{||{|{||{}{{{{{{|{{||{|{}||{{||z{{||{||||}||z{{{{{{|{|||||}{||{||z{{|{{||||{{|{{{z{{|{|{}|{{{{{{zzy{||||||{{|{{z{{|}||||{{|{zz{zzzz{{|{{{||{{y|{zzy{|{z{{{{{yzz{{{z{{||{{{{{{|{zz{z|z|{{z|{{{zzz{zz{{|{{|{|zz{zz{{zz{zz{|{{{zz{z{zz{{|z{|{{z{z{{{{{{{{||{{|zzzzzzzz{z|{|{|{{z{{zzz{{|{{{{z{zz{zz{zz{{z{{z{z{zzzzz{yz{{{{{|zz{{zzzzzz{{{{{|{zz{zz{yz{{|{|{|{z{{{zzzz|||z{{{{{{z{{{{z{{|{{|{|zz{{{{{{{{{{{|{{{zzz{z{{{|{|{{{{{{{z{z{{z{{|||{{{{z{{{z{{|{{{{|{|{{{y{{|z|}||||}{z{z{{|{{{|}{|{}|{{{|{{{{|||{{|||{{z|z|{|}||{{|{{{{{{||{|{{||}}||{{{z{{{{}{{||}||{||{|{{|{|{}|}{|z{{{{{{|||||{|}{{z{{{{||{||{||||z{{{{{|||{|{{|||{z{{zzz{|{{{|{{|z|z{{{{{||||{{{{zzzzyyzz|{zz{{||{|{z{{{{|zz{{{{|{{zzzzz{{{{|{z{{{{{|zzz{{{|{z{{z{{z{z{z{y{{z|z|zzzy{z{z{zz|z{{{|z{{{zyz{{|{z|{{z{{zzzzzz{z{{{{{zz{z{{zz{{{{|{{|{{{zzzz{{{{{{|{|{y|zzzz{{z{z{{{{{zzy{yzzz{zz{{{{zzzzzyz{z{{z{{{{zz{z{zzyz{{z|{|||{zzzzzy{{{{{{{{{y{{z{z{z{{z{{{{zz{zz{{z{{|{{{|||z{zzz|{{||{|}{|{{{z{{z{{||||{|{{{{{{{{{z{|{{}{|z{{{{z{{{{{|||{{{|{{z{{|{|z||||}{{{{z{{{|{{|{|||{z{z|{|{|||||{}{{{{{|{}{z||||{|||{|{{{{{|}||}}|{{{|{{{{{|{||{|{}|z{{{|zz{|{||||{|{{|{{{|z{{|{{||z{{z{{{{{{|{{||{|{zzzz{{{||}|{||{{zzz{zy{|{{|||{{z{z{zz{y{{{|{|||{{zzzz{{{{{|{{{{{{zy{{z{{{{{||{{z{{zz{{zz|{{z|{{{{yz{{z{z{{{{{||{{{zz{y{{{z{{{z{z{{{{zz{z{{{{{z{zzyz{zz{zz{{|{{zzz{{{zzz|{{z{z{z{zz{z{z{{|{{{{|zzz{zzz{z{{{z|{{z{z|{yzyz{z{z{z{z{{z{zzz{{z{{{{{zz{z{{{zz{|z|{z|{z{{{zz{{{{{|{|{zz{zzz{z{{{{{{{|{z|z{{z{||{|z||{{{{z{z{{z{{||zz|{{z{{|{z{{|{{{|{|{{|{{|{||{{||||||{{{{z{{|||{|{|{z{{{z|{{|{|{{}|{{||{{|{|||||{|{{{{{{|z{{{||{|||{{{{z{||{{{{|{||||{{{||{{||{}}|||{|{{{||{|{{{}|{{{{|{z{z{|||||{|||{{||{{{|||{|||{{z{{{{{{{|{{}|{{{z{{{{z||{{{{|{{{{{zz{{{||{{{{{|z{zy{{z{|{|{}|{z{zzzzz{{{{||{|{zyzzz{zz{{|z{||||z{z{{zzz{{|{{||{{{z{{{z{|{||{z|{{zy{{zzz|{{{|{{{z{z{zz{z{{{{|{{{zzz{{zz{z{{z{z|z{zyzz{z{z{{z{{z{zz{{zy{z{{{|||{{{y{{|{{{z{|z{||zz{{zzzzz|{{{{{{{{zzzyz{z|{{z{|{zz{z{{zz{{{{|{{|{zz{{zz{z|||{|{||z{{z{{{{{|{|{||z{z{{{{z{{zz|{{|{{|{|{|yz{|{{{|{{z{zz|zz{{}|{|{||z{{{z|{z{{{|{||{{{{z{|z{{||{|{|{{{{{{{|{|{|||||||z{{z{{|||{|||{|{{{{{{{|}}|||}||||{z{{{{|{|}||{}{{{{||{{|||}}}}|{||{{{{}{|||{{||z|{|{{{{||||||}|z{{{|{|{{{|{}||}{{z|{z{{{{||||{{|{{z{{z{z||{||||{{{|{|{||{|||{{z{{z{z{z{|{z{{|{z{{{{zzzz{|||~{z{|z{{{z{{|||{{}|{zz{y{zzz|zz{{|{{{{zzzzy{{{{||{|}{{zzzzz{||{z{{{{{{zzzz{y{|z|{{|zz{y{{zz{{{{{|{{z{zz{{z{z{{{z}|{zz{|z{{z{{{|{||z{zz{{{zz{{{z{{||{{z{z{yz{zz|z{{z{{{zzy{{{{{{{|{{zzy{zzz{{|z{{z|{|{{{|{{z{|{{|{{|{|{zzz{{||{{{|||{{z{{z{{z{{{{{||z{{{{zz{{|{{{||{{{{{{{z{||{{{{{{{{{z|z{{{||{{|{|}yz{z{|{{{|}|}{|{|{|{{{|{|||}}}|||{|{zzz|{{|}||||{{{{{||{||||||||{|||||{||{{~{|}|{|{{{|{||{}||{|||{{|{{{{}||z}|{|{z|{{{{{||{{|||{{|{}|{||}|{{|||{{{z{{|{{}|||{|||{{||{{{{|{||{{|{|{{{z{{|||||{{{zz|{{z{zz{|{z|{{|{y{{yy{{{{{{|{|{zzz{{{z|zz|z|||{{z{zz{{{{{|{|{{z{|z{z{z|{|{{{{|{zzz{zz{{{|z{{|{{{zz{{zz{{{{{||{zzz{{z{z{{z{{{{{zzzz{zzzz{{yz{{{{z{zzzz{z{{z{{z{{z|{y{zyzz|{{{{|{zz{{{z{z|{{z{{|z{{{z{{{{|{|{||{zzz{z{{z{z{{{{|{{{{zzyzz{{{{{{{|z{{z{z{{{{{|z||{{z{{z{zz{|||{{||{z{z{{z|{{{{{|||{z{{{z{{z{|{{||{{|{z{z{{{{{{|{|{|z{{{zzz||{|{|||{{|{|{{{|{|}z|}|{|{{{z{{|||{z}|}{z{{{z{{{}|}|||}{{{|{{|{{||||}|||{||{{{|{|{{|||||{{||{z{}|{||}|{{{z{{{|{{{{|{|||||{{z{|{|{|{|{|{{{{z{z{{}|{|||||{|{{zz{z{|{|{{|{zz|{zzz{{{|}|{{|{zxzzz{{|{{{z{||z|{z{zzz{{|z{{|{{{{z{z{z{|{{{||||z|{z{{{{{{|{{||z{{{zz{z{{{{{|z|{{z{zzzzz{{{{{{{|zzzzzz|{{|{z{|zzzzzz{zzzz{{{||{zzzzzzzzz{{{z{{{z{{zz{z{{{{{|{{z{{{zyz{z{{{|z{z|{{zzzzz{{z{z{{{|{{{zzzzzz|{{z{|{{|{y{zzz{|{{|{{z{{{{|zz{z||{{|||{z|zz{{{{{{|{{{{|{{{z{{{||z{{{|{{{z{{z{z{{|{{|||{z|{z{z{|{|{|||||{z{z{z|{{z{{{{|{||{zz{|{{|||{||{|{{z{|{}|||{|{{{|{{{z|z||}|{{||}{|{|{z{{}{{{{|||{||{||||||{||{||{|{}{{{{}}|{|||{{|{{z{{}{||||||{z|{|||{}|{{|{{}{{{{|{{{||{|{|||{{{{{{{z{{{|{|||{{{{z{zz{|{|{|{|{z{z{z{{{|||||{{zzz{{z{y{{|{{zz|{zz{z{{{{|{{z||{{{zz{z{z{|||{|z}{{zz{{{z{z{|{{{{{|zyz{zz|z{||z{}zyzzz{{y{{}zzz|{{{zz{{z{{{{z{{z{{{zzz{{zz{zzz{{zzzyzzzyzz{z{z{{{zzz{z{yzzz{{{{{z|z{zzzzy{{{{{{||zzzzzz{y{yzzz|{{zzz{{|z{z{z{{{{{z{{z{zzy{z{{{|z{zz{z{zz{{{{{zz||{z|zz{{y|{{|{{||{z{zyzzz{||{{{||{{zz{z{{{{||||{|z{{{{z{z{{{|{{|z{zz{{{z{{{|{{{{{{{z{z{z{||}||||{{{{{z{{{|{{|{|||{{z{{{{z||||{}{|{{|{|{z{|||{|}|{{{z{z{{{{||}||{{|{z{||{{{|||||}{{z|{z{z{{|{||||||z|z{{{{{{z|{|||{{z|{{{z|}{|{{||{|{{|{{{{{{{|{|{{z{|z{{z|||{}||{{z{zzy{{|{|{{{{|zzyzz{yzz{|zzz{{{{zzzzzzz{{{|}{||zz{{{z{{{{z{{||{{{z{{zz{{||{z||zyz{z{{{{{z|{{{{zz{zzz{z{{z{|z{{z{zz{zzz{{|{{z{{{{{zzzzzz{{{{{{zzzzy{zz{{|{{{{|z{z{{yyz{zyz{{|{zzzzzzzyz{z{{{{{{{{y{zz|zz{z{{{z{zzzz{yz{{z{{{{{|zzz{{zzz{{|z{|{|{{z{{y{y{{{zz{{|{{{zzzzz|{z|{|{|{{{{{z{{{|{z|{|{z{{{zzzzz{{|||||{{|{{{zz{|{}{{{|{z{{z{{{{{{|{{||z{zz{{{{{||{|{|{{{{|z{zz||{{{|||{{{||z{{|}|{{{}{|{z{{{|z{{||||||{}{zz{|||||{||}|}{{{{{{{|||{{||||{{{{|{{|||{||}|{z{|{z{|{||}||}||{{{{{{{|{|{|{||{|{{{z{{{{|}||{{{zzz{{{z{{z|||||{{|{{z{{{{||z{{{zz{{yzz{z{|{z{{|{{zyz{{z}{z{{|||zz{zz{y{z{{{{{{{{{{{zz{{{{{|z{{{z{{{z{zz{{{z{zz{zz{zzz{yz|{{z|{{{{z{{zzz{z|{z|{{zz{{zzy{zz{{{{{{zzzzyzz{z|{{{{{|zyyzyzzz{{z{|z{{{{zzzz{yz{z|{{z{zzzzzzzzz{{yz{{{{zzz{zzzz{{|{{{{zz{zz{zzzz{zz||{{zzzzzz{{z{zz|{{{z{zz{zz{{{{{{{|{{{z|{zz{zz{{{}{{{z{zz{{{|{{{|{{{{{z{{yz{|{{|{|{{{yz{{z{z{|{z|{{z{|z{{{z{|{|{|{|{{{{{{{|{||}||{}{zz{{zz{{|{|{|{|{|{{{{{{{{{{|}|||{{z{|{{||{{||{|{{{{{{|{{|{}{|}{|{{{{{{{|{||{{|{|z{|zzz{{|{}|}||{{z|{{{|z|||||||{{|z{{{{||{{{{||{zz{zzzz{|{{z|||zz{z{{{{{{||{{|z{z{z{zy{|{{z{{{|{{{zzy{z{{z{z|{|z{zzzzy{|{{z|{||{z{z{zyzz{|{{{{{|z{zzzzy{{{{{|{|z{{zz{zz{{|z{{{{{zzz{zz{|y{z{{{|zz{zz{{zzzzzz|{{zzzzzzzz{z{|z{{{{zzzzzz{|{{zz{{|{z{zzz{zz{{{{z|{{zzzyzz{yzyz{{{{z{zz{z{y{{z{z|{|{{{z{{zzz|{z{{z{{zzzzz{z{{z||{||{{{zzy{{{{{{{{{|{zzz{z{{{|||||{{{{zzz{{{z|{||||{{{{{{{zz||{|}{|{{{z{|{{{||{{z{|{{{{{{|{z{{{|{|{{{{z{{z{{{}{{|||}{{{{{{{{|||{{}|{|zzzz|{|||{{|||||{|{z{|z{{{{|||||{||{|{{|||||}|||{{|{zz{}{|}{||||{||{|z{{||||{||{z|z{|{{|||{{|||{z{{{zz{{|||{{{{{{zzzzz{{{{{{|{|{{|z{z{{|{{{{{{z{{z{{z{z{{|{{{{{{{{zzzzz{z{|{{{|{{{yz{zz{{{{{{{{|{{zz{{{{{{|{{z{|{{z{z{zz|{{{{|{{y{zz{zz{{|{z{{{zzz{{zzz{{{z{{{{{{z{{{y{|{{{{{{{{{zzzz{z{{{{{{{|zzzzzzyz{{{{{{{|{z|{zzyzz{z|{{{{zzzzzyzzz|z{{{z{z{{{zzzzy{{z{|z{y{z{zz{y{{||{zz{{{{z{zz{|{z{z||{zz{z{{{{{{{{{||{zz{zz{{{||{{{{||{z{|z{zz{{||||||zz{{{{{y{{z{{{|{{zz{{z{{{{{{||{|{{{{{{|z||{}||||{|{|z{{{|{|||{|||z{|z{z{||{{|{||{{z{|{{{{||||||||{z{{{||||||{||||z{{{{{||}||{|}|{|{{||{{}||{|}}||{{{|{{||{||{|}||{{{|{{{{|z{|||||{{{{z{z{{{{||||||z{{{{z||{|{||{{{{{{{|z{|{|z|{{zzz{{zzzz{||{{{|{{zz{{{z{{|{}{|{|zzzz{zz|{{z{{|{{z{{{{{{{{{|{{|{{{zzz{{{zz|{{{{{{{zzz{{{{|{{{|z{zzzz{y{y{{|{{{{{z{zzzzzz{{{{{{{{{yz{zzzz{{{{{{{z{|zy{z{{z{{z{{{{zz{zz{zyz{{{|{||{zy{zzzyz{zz{{{{|{{z|z{{zzz{{{{{{{z{{zzz{{{z{{{{{{zzz{zy{||{z{||{z{{z{{{|{{||{|}{{{{{zzzz{|{||{{|{{{|y{{{{|{||{z{zz{z{{z{||{{|{|{{{z{{|{{{|{{||{{{{{z|{z|||}||||{{{{{z{{||{|{{|}|{{{{{{{||||{{|{|{{{{{{{{|{||}}}{{}{{{{|||||||||}|{|{||{{}|{|{|}|{{{z{|{||||||}}|{|{{{{{{{||{|}|||{{{z|||{||{|||{{{{{|{{{|||||}{{||{{z|z||{}{{||{{{z{z{{{|||{{{{zz{zz{{z{{{{z{|||{z{zzz{{{|z{|||z{z{z{{{{|{{{||z{{||{{{z{{{{z{z{{{{yzy{y{{{{{|z|{z{{{{zzz|{{{{{z{{zz{{yy{|||z{{|z{yz{{{{{{z|{{{{z{z{{y{z{|{{{|{{{z{zzzz{{{{{|||{zzzz{zzzzz|{|{{{{y{z{zz{z{{{{{{{z{{zzzz{z{z{{{{{zz{{zz{z{z{{|||z{{z{{{z{z{|{{|{{{{zz{z{{{{z|{{{|z{z{zz{z|{{{{|||z|{{{z{|||||{|{|{z{{{{{z|}|{{|||{zz{|z|{{|{{{||||z{{{{z{{|}||||}{{{{zz{|{}{|{|}{{|{z|{{{{||||||||{{{|{{{{||{{|||||{{||{z{{{|||||||{{{{|||}|||||||{{|{{|z|{{|||{||{{{{{|||{{||||}||{{{{z{||{|{|||{{zz{|{|||z{{|{||{|{{{{z|||{||||{z{{{z{{{|{|||{{|zzyz{z{{{|{{|{{{zz{zzzzz{|{{z{||{{zz{z{|{z{|{||{{z{zzzzz{{|z{{{z{{zz{{{{{{{{{{|z{zz{{z{z|{z{{{{{{{z{zzy{|zz{{{|{{{zzzzzzzz|{{{{zzz{{zzz{|{{{{|{z{{zzzy{{{|{{{{{yzz{{{y{{{|zz{{{zzyzzzzz{zzzz{{{|{{z|zzz{{z{z{{|{zz{{zzz{{z||{{|z{{z{z{z{|||{|||zzz{z{{zzz{{{|{}{{{zz{{z|{{{{||||{{{zy{zz{|{{{|{z{|zz{{{{|{|{||{{z{{{zz|{|{{|||{|{{z{{{{|{|||{|{{|||{z|{|{|||||||{{{{{z{{{|||}|||z{{{z{{{{{|{|}{{{{{{{{|||{{|{|||z|{{{|z{}|}|{}||{|{{{|{}|{|{|}|{z{{{{{{{|{{|}|||{z{|z{{|{|{}{|||{{z{{{{}{|{|||{{{{{{z{z{|{|||||{{{z{z{|{|}|||z{{{z{{z{z{||{|{|{{{{zz{{{{{|{{{||z{{zzzzz{{{|{{||{{|{{z{z{{|{{z|{{{{{zzzy{{{{{{|{{zzz{{{z{|||{|{{|||{{{{{{{{{z||{{zz{z{{{{{{zz|{|zzzzz{{z{|{{{{|{zy{z{{y{{{z{{{{{{z{zz{z{{{{|{{}{zzzzzzzz{|z{z{{{zzzzz{zzz{z{z{{{{{{{{z{z{{z{|{{{z{{z{{{{{{{{{{{{{z|zzz{z{z{{{|{|{{{{z{{{||{z{||{{{z{{z{{z{||||{|{{|z{|{{{|{{{|{||{{zz{zz{||{{|||z{|z{{z{|{|}||||{zz{|}{{|{{|||z|{|{z{{{{||||{||||z{z|{z||}{{|{}|{z{{z||||||{|}}||{z|{{z{|}|||||||z{|{z|{}|||{|||{{{{|z{{||{||{}|{|||{{z{||||{{||{{{{{{{z{{||{|}|{|{{|{|{{{}}{||||{{z{{{{{|||{{{|{{{|zzzzz{{|{{||zz{{zy{zzz{z||{|z{z{{{zz{{{||{|||z{zzzz{{{{{{{||{{{zz{yy{z||{{{|{|{y{z{{{{{{{{{{{z{{{z{{|{{zz{{{zz{zy{{z{{{z{{{{{zzzzzzzz{{{|{{{{z{zz{z{z{|z{|{{|zz{{zz{z{|{z{|{{{{zzz{z{|{{{{{|{z{yz{z{{z{z|{|{z{{z{{zz{{{|{{{{|zzz|{zz||{{{|||{{z{|{{||{{{||||{{{{{{{{|||{||{{{{{{{z{{{|{|{||{||{z{{||{{{{{}|{{{||z{{{|||{{||{{{{{||{|}|{|{|||z{|{{{|{|{|}|}}|{|z{{{{z||||}|||{{{||z{{{}}}{||}{{||{{}|{|{|{||}|||{{|{{|}||||{}{{||{|{||}|||}{|{|{z|{{|{||||||{{}{{|{|{|{{|||{||{{{{{{zz|{||||}|z{{{z{{{|{{|||{{{{zz{z{{{{|{{{{z{zz{zzzz{||zz||zz{zzz{z|}{{{{{}{{zzzzyz{|z{|z|{zz{{z{z{zz|{z{{{{{zzzz{z{{{{{{z{{{z{zzzy{{{zz{{z{{{{{{{z{{{{{{{{{zz{zz{zz{{zz{{{{zzzzyz{{|{{{z{{{zzzzzzz{{{{z{{{{z{zzzzyzzzz{{|{{zy{yyzzz{zz{{|{zz{zzzy{z{{{{|{|zz{{z{{z{{||{{}{{{zzzz{{{{{||{}|zz{{yz{{z{{{{{}||{|zz{{{|{{|{{{|{z{{{z{{z|{{{|{{{z{{{{z{|{{{{||{{|z{{{{{{z|z{{{||||{|zz{||||}|{{{|{{{{{{{|{{{}|{{z{{{{{z|||||{{{{{|{{|{|||}{{}}|{z{{{{}{{{{{{{|||{|zz{{z{||{{||||{{{{z{z}|||||||{zzz|{z{z}{{{||{||z{{{{{{{||||||{{z{z{z{|{||{{||{z{z{{zz||{}{{|{{z{{{z{{{{{{{{{{yzzzzz{zz{|zzz{z{{{zz{z{{{{|{{|{{|z{{zzz{{z{z{|{{zzzzzz{{z{|z|{z{{zyz{{z{z{{z{{{{zzz{z{zz{{zz{{{|z{{{zz{z{|z{{{z{{zzyzzz|{{{{{{z{{zyzz{zz{{z{{{{{{{zz{y{z{z{|y{|z{{zz{zzz{{|{z{{zzyz{zzz{{z{{{{|zzzy{z{zzz{{z{{{zz{{{zzz{{z||||{z{{zz{{z{{|{{|{zzzzzzz{zz{{{z{||{z{{z{zz{{{{z{||{{{{zz|y{|{|||{|{{{z{{{{{||{{{|{{{{{z{{{{|{|{|{{{{{zz{z{{|{|{|||{{|z{z{{||{|{}||{{{{z{{{{{{||{||z{{{{{||{|{{{||{{{{z{{{{{{|{|{|}|{{{{{}{{{|||||||{{{{z{{{{|||||}|z{{z|{||{z{{|}|||{z|{{z|{{{{||||{{{{{z{{{{|{{||{|zzz{z{{{{{{{{|{z{z{zz|{|{|{{z{z{zzzz{z{z|{{{{{{zz{zzzz{|{|z{||{z{z{{zzz{{{|||{{zz{zzz{z|{z{{|{{zzzyy{y{{|{{{z|{{{zz{zz{{{{z{|zzz{z{yy{zz|zz{{{{|zyz{zz{{{{zz{zzzz{zyzz{z{{{|{|zzz{zzzzz{{|{z{{{{{zzzzz{z{{{{{|{zz{{{zy{{zz|z{{z{{zzzzz{|{{{|{{zz{z|z{z{|{{|z{{{z{{zzzz{{{z{|||{{z{{z{{{z|z{{|{y{|{{{{z{{|{|}||{z|zz{zz{z|{{|{{{{{z{{{z{{{|{|||z{z|{{{{{||{{||{{{{{{{{{{{{|||||{|{z{||{{{||{|}{{{{|{{{z{{|||||{|{{{{z|z{{|{|||||{{z{{{{{{||||||z{{|{|{||}|||||||{{||{{z|||{{}|||z{{{{{{|{||||||{|{{{{{||||{{|}|{{{z{{y{{{{{{{||{{z|z{{{z|{{|||{{z{z{{{{{{{{|{zz{zz{{z{yz{|{{{||z{zzzyzz{{{{|||||zzzzzzz{{{{{{|{{zz|yzy{{{{{{{{|{|{zzz{z{{{{{{{}zz{{z{zzz|{zz{|zz{{zz{zz{{|z{{|{zy{zz{z{y{z|{{{{{z{{zzz{zz{{z{z{{zzzz{{{{|{{{{|{{z{zzzzzz|{{{{||z{zzzz{z{{zz|z|{{zz{{z{z{{z{{{{|z{z{{{zyz{{{{||{{{{z{{{{{{{{{|||z{z{zyz{z{{z{{{|{{{zy|zz|{|{||z{{|z{zz{{z{{|||{|{{zz{z{{z||||{||{{z{{{z|{|{{z|{|{|{{{zzz{||{|{}{||{{z{{{{|{||{|{|{{|{z{z|||{|||||{{z{{{{{}{||||{|{{{{{|{||{{||{||{{||{{{|}}{|{{||{|{{{{{|{|{||||||z{{{zz||{|{|||||{|{{{{{z{||{|{{{zzzz{{{{{{z||{||{{z{{z{|||z{||{{{zzzz{{|{{{|{{{{z{{yyz{|{{{||{{{z{zz{{{{{{|{||{z{{{z{{{zz|||||{{zz{{y{{{||z{{|{{{z{z{zz{{{{{z|{zzz{{zz{{||{|{{{{z{z{zz{{{{zz{{{{{zz{zz{z{{{{|{zzzzzzz|{{{y|z{{{zzz{{z{{{z||{{{{{{{zzzz{{z||{{{{zz{z{zzz{{{|{{{{{z{z{zz{z{{{{{{z{{zz{zz{{|{{{||{{|{{zz{||{{|{}|{z{{zz{|{{{z{{||{|{z{z{{{{{z{||{{{{|{zzz{|{{|{|{|{{z{{{{||||{||z{{{{{zz{}{}||{{{{{{{||z{|z{|||||{{{{{{|z||{||}|}{{{{{{z{{|}|{~|||{z||z{{||||{|||{|{{|{{|{}|{||}||{|{z{{|||{|{|||{{|{{{||{{{|||{||z{{{{{|||{{}||{|{{|{{{{{|{{||||{z{{z{z{|{|{{|||{z{{{{{z{|||{z||{z{{zz{{{||||{|zzzzz{z{z{{|{{{{{{{zz{zz|{z|{|{||{z{zz{z{||{{{{||{{|zz{y{{|{{{{|{{zzz{z{z{z{|z{{|zz{zzz{{{{{{{|{{z{zz{y{z{{|{{{|zz{{yzzzzz{{{{{{z{{{zzy{{{z{z|{|{zzzz{zyzz{{{|{{|{z{yzzzz{{{z{{{{{zz{zz{z{{zz|{||{|zzzz{zy{{|{{z||z{{{{z|||{{{{||{{z{{z{z{||{z|||{{{{{z|{{|{|z}|{{z|{zzz{|||z{||{{{{{{y|z{{{{{{{|{{z{|{{z{|}{{{|z|zz{zz{{{{|{||{|z{{{{zz{{|{||||{z{|{z{|{{{|||z|||{{{{{{z{|||}||||{{{{{z{|}||||}||{{|||{|}{{|}||}{z{{{|{{{}|{}|}|z{{{{{{|}|}|{{}||{{|{zz|{||||{|||{{{|{||||||||{||z{{{z{{|{|{||||{{{{{z{{}||{{{{|z{|z{z{z{{||||{|{{zz{z{zz{{|{{{|z{z{zzzyzz{|||{}z{z{{zy{{{{z{{{{|zz{{z|{{{|{{{{|{{zz{|{z||z|{||{{{z{z{{{z}zzz|{{{z{{{{{z{{|{z|zz{yz{z{zzzz{zz{{|z{zzzzzz{{|{{{{{{zy{zzzzz{|z{{{{{zz{z{zzz||{{{|{{zzzzz{zzz{{z{{{yzz{|yzzz{{z{{||{{{{z{{{{{{|{z{||{z{z{{z{{{{z|{|{{|z{zzz{|{|||{{{{|zz{|{{||{|z{||{z{{z{{{{{{{|{||{z{{z|{||||{||zz{{{{{z{{{{|}|{z{{{{z{z{|{{|{|}|z|{{zz||{{|||{||{{z||{{{{z{{|}|{|{|z{{|{||{{{||||{{|{{|||||{|||||{||{|{z{||||{||{|{{|{{{||{{{}{||z{{{{{||{{}{|||{{{{{z{{||{||||}{{{{{{{z|{{|{{|||{{{{{{{|}{|{||{{{{z{{{z{||{{||z{z{z{z{z{|{|{}{|z{{z{zzz{{|{|{|{{z{z{{z|{{{{{{{|{|zzzz{z{{|{{{|{|z{{zzzz{z|{{{{|z{{zzzzz{{z{z|{|||{zzzz{{{{{{{{{{{zzz{yz{zz|z{{|zz{{{z{zzz|{z{{|z{{{yzy{{{{{{{{{{{zyzzzz{{{z{{{{{zz{zz{zy{{z{z{z{zzzzy{zz|{{{{{{zz{z{{{z{{{{{{z|z{zzz{{z{{{{{|{||z{{zz{{|{{|{|{|{{{zzzz{{{{z{|{{|{{{{{{{z|||{{{{{{{z{{zz||{{|{||{{z{{{z{{|{{||{||z{|{{{|{{{|{}|{{{{{{{{z||{||}}|z{z{{zz{z||}||{{|{{z{{z{||||||}|{{|{{||{||{{||}||{{{{{|{||{|z||}}{{}z{z||||||||||{{{||{|z|{|||}|{{z{{{{{{|{{|{||{{{z{z{z{|||{{}}{{{z{{{{{||{|||{{{|{|z{z|||{|{|z{z{z{z{{{{{{||{|zzzzz{{z{{{{z||z{|{zzz{z|{z|{|{{{zzzzy|{z{{{zz|{|{zz{{{z{{{{{|||{{zzz{{z{{{{{|{{z{{{{zzz{z|{{||{z{zzzzz{|z{|{|{{z{{z{zzzzz{z{{|{{yz{zzzz{z|z{{{{z|{zzyzy{zz{{|{{z{z{yzzzz{z{{{{{{zzz{{z{y{{{{z{{z{|z{{{{{{{{{z|{{{{{|z{{}{{{{||||zz{z{zz|{{|{{|}z{|zzzz{||{{|{|{{{{{|z|z|||{|||{|{{z{{{z{{}{{{|{|{z||zz{{||{{{{{{zzz{{z|{{{|{|||{||{|{{{|||{}{{||{|{||{z|}|||||{|z{{|{z{{||{||}|{{{{{||{|{|{|}|}||{{{{|{{~||}|||z{{|{{{{{||}|}{}|{|z{|z{|||{{{|{{{z|{{{||{|{|||||{|{z{{{||||}|||z{z{z|{{z{||{{||z{{zy{{z|{||||{{z{zzzz{z{{|z{{{{{zz{zzz{z{|{|{||{{z{{{z{{{{{{||{|z{yzz{{{{{|{|{z{{z{{zzz||{|{|{{{zzz{{zzz{|{{{|{zz{z{zzzz{{zz|{z{z{zz{{zz{{{|{{|{{z{yzz{{z{{z{|{zzz{zzzzzz{|{|{|zy{{y{{zz{{z{{{{{{{zz{zzz{{z{{{{zzzz{zzzz{z{{{{|z{z|z{{{{zz{{{{{|{z{{z{{z{|{{|{|{zzz{{{z{{{{|{|{{{{zz{{zz{{|{|||z{{{zzz{|{{{||{|{{z{{{zz{|||{||{|{|{z{{{|||{||||{|{z|{{{{z|||}||{z{{{||{}|{|||||{{{z{{z{{{|{|||||{|{{{{{||{{||||{z{{{|{{{{|||||||{{|z{{z{{{{||~|{{||{{||{{{|}||||z{{|z{|{|{{|||{||{{||{{{||}|{{|{{|{{z{|{|||z||||{z|{{{{z{{{{||{z{|z{z{y{{||{{{{|{zz{zz{{{{|{{z{{{z{z|zz{z{|{|{||{{{{z{{{{|z{{|{{z{{{{{{{{{{{{||{{{zzzyz{{{{|{{|zz{zz{|{y{{z{{{{|z{z{zz{{z{{{z{{zz{z{zzz|{{{{{{|{z{{{{{{{{{z{|{z{{z{{{z{{{{{{{{|{z{{zzzy{|{|{{{|z{zzzzz{zz{{{{{{zzz{zzz{z{|{z||{zzz{z{zz{{{||{{{{zzzzy{{{{{{|{||zz{{{{{{|z{{{|{|{{zz{{z{{|{{|{||{||{|{|{{|{|{}{|z{|{{|z{{|||||}{z{{|{{{{{{{{||{||{{{{{z{{|||{}|{{{|{|{|{{|{||||||{|{{z{z|||z|}{{|{|zz{{{|{|||{{||z{{|{||z||||||}}|{{|{{{{}|||{|||{{|{{{||{||{}|}|{{{{{{{{||||{|||{{z||{{{{|||||||{|{|{z{{|||{}{{{{{{zz{{{|||||{{{|z{{{{{{{{{{{{|z{zz{zzzz{||{||{{{{zzzz{|{zz{{{{|{|zzz{{|z{}|||{|{|zz{zzz{{{{{||{{zzz{zz{{|{z{{|{z{zz{{{{{z{z{|z{{{{zzz{|{{{z{{|yz{{{|z{{{z{z{{zzzzzzy{y{{z{{{{{{{zzzzz{{{{||{|{zzzz{y{y{{{|z|{zz{zyzz{{z{{{|{{{z{zzzz{zz{{{{|{{{{{z{{{z|{|||{{{{z{{{{{{{{zz{{||{zz{{z|z{|{|||{|{z||zzz{{||{{||{{z{z{{{{{{{|||{{{z{{{||z{{{{{||{{z{zz{|{{{|{{|{|{z|{{{{z{|||||{{{z{z{{{{|{|{{|}|z|z|{{{z{|{|||}|{{{{|z|z|||{|||||{|{|{{{||||}}|||{{{|{{{{}||||}||{|{{{zz|||||}||{{z{|||{{|||{{}||{{|{z{{{{{}{|||{{{{{z{{||||||||{{z{{{{z{||||||{{{|z{||{{}{{{{{{zz{zzz{zz|z|{{|{{zzzzzz{{{|{z|z{|{{{zzzz{}{||{}{{z{zzz{z{{|||z|{{|{zz{{z{|{{z{{|y{z{z{{y{{{z{|{z{z{{z{z{{{|{zz{{{{zzz{z{z{z{zy{|zzzzzz{z{{z{{z{{zzzzz{zzz{|{{z{{{zzzzzzz{|{z{{|{yyzzz{{zzzzzz{{|zzzz{zzzz{z{{z{{{z{z{yzz{{{{{{|{{zzz{{zz{{|z|{|{{z{{y{z{{z{{{{{{{{{zz{{{{{zz|z{|{{zzzzzzz|{{|{z{zz{zz{zz{||{{{||{yz{{{{{|{|{|{{|{z|{{{|{||||||||{||{|{|{|{|||{||{{{{{{{z{{|||||{|{{z{{|z{|{|{||}{|{{{{{|{{||||||{{{{z{||z|||{|||{{{{|{|{||}||{{|{{{{|{z{{}{|}|||{{|{{{{z{|{|||}|{{{z{{|z{{}|||{{{{{zz{{z{{|{{{|{z{|{zz{z{z{||{|{z{zzzzzzzz{{zzz{{zzz{zxy{{||zz{{{zzzzzz{{{{{{{{{{{z{zy{{z{|zzz{z{{zzyz|y|{{{{|{{{z{y{{yz{|{{z{{zzzzzzyzyzzzz{|{zy{zzy{{zzyzyzz{|{z{zzyz{zzzz|{{zz{zzzz{{zz{{z|zz{zz{yzzy{z{z{{{{z{{zyzzzzz{z{{{{{{z{zz{zz{z{z{{|yz{zzyzz{z{{{{|{z{zz{{zz{{{{|{|z{z{zzzz{|{zz{|{{{{{zzz{zz|{{{{|{|{{{{z|{{{{{|{|{zzzzzz{{{|{{{{{|zzx{zz{{{{{{{|{{{{{{zz{{{{z}{{|}{{{zz|{{|{{{|}|{{{{z{|{{{|{{{|||{{{{|{zz||{z|||||z|{z||{||{|||{||{{{zz|{{||{{{||{{{{{{{{{||}|||||{|z{zz{|{|{||||{{{{{|{{||{{|{{{{{zzz{z|{{||{||{|{|{yz{zz|{{{{||{z{{{z{z||{{{z{|{{{zz{{{z|{{{{{{{{zz{{{{||{||{{||zz{z{zz{|{{{||{{z|zz{{{{{|{{{{{{{{zzz{z{{{z||{{{zzyz{{z{{{{|{{{{{{{zz{{z{{{{|{{zz{{z{zz|zy{{|{{{{z{zy{z{{{|{{z|zy{zzzy{z{{{{z|{{{zzzzzz{{{{{{||z{zzzy{yz{{{{|{{zz{zzz{z{{{{z{{{zzzz{zz{z{||{{|{{zz{{z{zz{{z|{|{{{{{{{|z{|{{|{||{{{{zz|z|{|{||||||z{{{|z{|{|{|}|{z{{|z{z{|||{{|{{|z{{{z{||{{||{|{{{z{{{zz{||{||{z{{zz||{z|||}|}|||{{{zyz||{}|{~||{{||{z{|||{}{||{{|{{{{{{|||||||}|||{{|{{}|||||}{{{{{|z|||{{||}}|{|{{|{||{|{|}|}z{{|{|{{{|{{|{{}z{{{{{{{{||{|{|{||{{z|{zzz{|{|}|{z{z{z{{z{}{{{{{{zzy{zz{|{|{{|{{{{zz{zz{{{{|{{{{{{{z{zz{{{{{z{||z{{zyzz|{z|{{{z{zzzzzzzz{|{{z{{{z{{{zzzz{|{{{||{{{zzz{zzz{{{|z{z{zz|zz{z{{{{{{{{z{y{{z{z{|zz{{{{zzz{z{yz{|{z{|{|{{{{z{zzz{{{{{|zzzzz{y{z{z{{z{{z{{zzzzzzz{{z{{|{{{z{{zzz{|{{{{||{{{z{{{{{{{|{{|z{z{{zz{z|{{{z||{{{{zy{{{|{{|{|||z{zz{{{{{{{{{|{|z{{zzzzyz{||{{}|z{z{{{{{|{||||||{z{z{{{{{{||{|}|{|{{z{{{|{{|||||{{{{{zz{|{|||{}||z{|{{z|{{{||||||{z{|{|{|{|||}|{}{z{{{|{{}{{|{{|{{{{{{{{||||}||{{|z{{{{{{|{{{{|}{z{{zz|{{{||}||{||{{{{{{{|||{{||{{{|{z{z|{|||{|{{{{y{z{{{{|z{|{|{z{zzzz{z{z{{{|{zzzz{z{{z{|{{{|{{zzzy{yz{{{{{|{{{zzz{y{z|z{{|||{{zzzy{{z{z{{{{|{zy{zz{{{{{{z{{{{{zz{{zzz{{{{{{{|{z{z{{z{y{z{z{{zzz{z{zyzz||{|{{|{zzz{{z{{zz{{{|{zz{zzzzz{||z{||z{{y{{zzyz{{z{{{z{z{yzzzzz{{|z{||zz{{{{{zz|{|{{{{{{{zzzzzz{{|{{{|{zz{zz{{{||zz{|{z{{z{{{z{{|{||{|{{{z{{{{{|{{{|{{{{{|z{z{{{{|{||{|{{{z|{z||{{|{{||{|{{{{z|||||||{{z{{|{{{{{|||||||{{{|{z{|||{||||{z{{{{{{|}|{|{||z{{|{|{|||}{{|}||{|{{{z{{}||||||{{|{{{{{z||||{|||{{||{z|{{|||{||||||{z{|{{{||{|{|{{{z{{z{{{{{{||{z{z{zz{{|z||{{{|{|z{zyz{{|{|{{}{{{{{zzzz{z{{{{|{{z{zzy{z{{z{|{{{{z{z{{{{{{{{{{{|{zzzzz{{{{|{|{{{{{zy{{zz{{|z|||{z{y{{z{z{{{|{{|{{{z|{zz|z{|{{{{{{{zzzzz{{z{z{{{zzzzy{zz{z||{{{{{y{z{{zz{{{{{{{{zz{{yzzy{{|zz{|{{z{z{z{yz|{zz{{|{z|zzz{zz{{zz{||{zz{{z{z{{{z{{||{z{z{zzz{|{{|{{z{z{{{{{z{{|{{{|{zz{{{zz{{{||||||{{{{{z{z{{{|{||{{zzzz{z{{||{{|}{|z{{{|{|z{|{z|||{|{z{{z{{|{{{|||z{{{{{{{{|{{|{||{|z{{{z{}}|{||}||{{{{{|z||{{|{}|{{|{z{{{|||{||{||{{|{|{|}|||||{|{z||{{{{|}|{||}}|{{z|{{{{|{{{|||{{{||{z{|}|}{|}||}{{|{|{{}||{||{{{{{{{{{{|||||{}{|{z{z{y{{{{{{z|z{zzz{{z{|{z{{||z{zy{z{z{{{|{|{|{{z{|z{z||z{{||{|y{{{{zz{{{{{{{{|{{{z{{zz{{{z{{|zzz{{zzzz{{{{z{{zzz{zzzy{{|z{{{{zz|z{zzy{{zz{{{{zzzzzyzz{{{z{{{{{z{zzzyzz{{{{{|||z{zy{zz{{{|{{|{{{{zz{{{|{z{z{{{z{{zzzzz{{z{{{{|zzz{{{{yz{{|{{{|{z{z{z{zz{{{{{{{{{{{{z{zzz{|||{|z{{{{z{z{{{{|{|||z|{{zzz||{{{|{{|{z{{{{z{||{{{{{zz{{{{{{|||||{|{|{{{|{{{{{{{|{|{{|{{|{|z{{{|{||||{{{{{z{{||z{|{|{{z{{{{z|{|{{{||{|z|{{{{{|{|{{{|{|{|z{{{{|||||||{{{{{{{{{|z{|}|{|{{{|zz{{{||{||||{z{{z{{|{{||||||{{{{{{{{|{|{|{|{{{{{{zz||||{{|{{{{zz{zz{{{||{{{{zyz{zzz{{{zz{||z{zz{zz{{z{{{||{{|{zz{{zz{z{{{{{|zz{zy{{{{{{z{{{{{{zz{zz{{|{{{{{{z{zzz{z{{z{z{{z{{zzz{zzz{{{{{{{z{zyz{yy|{zz{{{{{zzxzz{zz{{{zz|{{zz{{{z{|{z{{{{{{{{zzz{y{{{{z{{|zzzz{z{zz{{z{|{{{z{zzzzzzz{{z|z|{zz{zz{z{{{{|||{{{|{{{z{||{{{|{|zzz{{z{z{{{|z{||{z{z{{zz|z{z|{|{{z{{{{{zz||{||z{{{{{{zzz{||{{{|{|z{{{{z{{|{||{|{{{z{{zzz{{|||}||{{{{{{|{|{||{||||{{{{{{{||}{|{{|{{{{{{{{{|{{|||}{{|{{{||{{{|{|{||{{|{{|{{|{|{{}||{{|z|z{{{||{|{|{{{|z{||{||z||||{{{||{{{{}z|{|||{z{z{|{{||||{||}{{{z{z{zz{||{{|z|zz{zzzz{z{{|{|{{zy{y{zyz{{{{{|{{{zzyzzz{z{{z|{||zyz{z{{{z{{{{|z{{zzz{zz{{{|{z{{z{zyz{zy{{{z{|{zz{{zz{{yzz{|{zzzzz{zzzzz{z|{z|{{{{y{zz{zzz{{{{{{zzzzzzzz{{{z{z{{{z{zzzz{{{{{{{{{{zzzzzzz{{{{z{{{{zz{yzzz{{{{{z{{z{yzzy{zy{{z{{{{z{{{z{z{||{{|{|{zz{z{z{z{{{{|{{|{z{{zzzz{{{{||||{{z{zz{{|{{{{||{{z{{zz{z{{{z{z||{z{z{{z|{|}{{{|{{{{{{zz{{|{{z{{{|{z{|z{{{||||{|{zz{{|{{{||{||{|}|{zz{{z{{{|{|}|z{{z{|{{{||||}{|{{{{{{||z|z{|||{{|{{{{{z{{|{|||}{{{z{{{|{{{{|}{|||{zz{{{|||z{{||}|{{{{{{{||{||{{|{{zz|{{{||||{{}{|{{{{{{z|{||||{|{{zz{{{{{{{zz{z|z{zy{zz{{z{z{{{z{z{y{yzz{{z|{{{{|zz{{z{{zz{{{{{||zzzzzz{{{||z{|{{zzzz{{z{{z{z|{{zz|z{{zyz{{{z{{{z{{zz{y{z{{z{z{{z{z{zzz{{zz{{{{{zzyzyy{z{{{{zz{z{{{zz{z{{{{{{|{{yyzzzzzz{z{|z{{|{{z{{zzyz{{{z{z{z{{zzz|zz|{{z|{{z{zzz|yzz{{z{{|{z{{y{{zz{||y{{{|{{yzzyz{{zz{z{{|zz{{z{{zz{{{{|{{{z|{{z{z{||z{|{{{{{{z{z{{{{|{||{{{zzzz{{{|{{{||{{{{{{|z|{{|||{{|z{|z{z}{|{{|{|||{{z{zzz{{{||||{|{z{{{{{{||{||||{|{{{{{|{|{{{{|||{{{z{z{{{|||}|}||{z{{{{z||||||{{{zz{{zz{{||{{||{|{z{z{{{|{|||{|}||z{{zy{{{{{{|||{zz{z{{z{{{||{{|{z{zzz{yz|{{||z{zzzzzzyz{{{|{{}{{zzyzzzz|{{{{{|{zzzzz{z{|{{z{|{{{z{{{{z|{{|{zz{{{z{zzzzzz{{zz|{{{{{{z{zzz{{|{|{|z{{z{zzz{{zzz{{{zzzz{zy{zz{{z{{{yzz{{yzzz{{z{{z{{zzzy{yzz{{z{{zz{y{zyzyzz{{{zz{|{yzz{zzzyz{zzz{{zyzzz{zz{zzzz{{{{zzzzzzz{{{z{{{{{z{zz{{zz{{|{{|z{zzz{zzz{z|{z{{|{{y{z{z{||{{z|{{{{|{z{{z{{|{{|z{zzz{{zz{{{|{{||{{{|{{yz{{|{{{{|{{{z{|{z{{z{}|{}{{{{{{z|{|{||{|||zz{{{zz{{||||||||{{{{|z{}|{||||||{{zz{{|{||||{|||z{{{||{}}||{{|{{{{{{z{{}z{|{}{|{z|z{{{{{{||{||}{{{{{{z|{|{|||||z|{z{|z{{|{{|||{{{{{{{z{{{|{{||{{zzzz{z{|{{|{{{{zz{zzyzzzy{{{{{zzzzzzzzz{{z{{|{}{{zzzz{y{{{{{|{|{z{{{z{z{|{z{{|{{z{zzzz{|{{{{{{|zzz{{zzz{{|{{{|{zzzzz{zzzzz{y|z{zzz{z{zzyz{z{z{{{zzzzzzzzz{z{{z{{zz{zzyzz{{z{{{{zz{yz{{z{y{{{{{{{zzzzyyzzz{{{z{{{z{y{zz{z{{{{|{{zzzz{{{zzz{{{{{{zzy{{yy{{{{z{{||{{{zzz{{{{|{zzz|{z{zy{zz|z{||{|{{y{z{zzzz|{|||{||z{z{}{z{|{{z{{{zz{z{{zz{{|{{z{|{{z{|{|z{{{{|{{{z{z{{{z{||{||{||{{{|zzzz{{|{|{|{|z{y{z|z{|{|{|||z{{{{{{{|{{{|||||{{{{{z{{||{|{|}|z{z{{{z{||{{{|{|z{{{{z{||||{{|||{{z|zzz{{{{{{{|{{zz{|{zz||{{{||{{zz{{{{{|{{|{|{{z{{{{{z|{{{{{||{z{{{zzz{{{{z{{{zzzy{yzz{{{{z{||{{{z{z{{{||{{|{z{z{{zzzzz{{{zz{|{{{{zz{zz{z{{{{|{zzyzz{y{{zzz|{{z{{yzyyz|{zz{z{{{zyzz{zzz{{z{{|{{z{z{y{yz{{z{|{{{zyz{zz{zz|z{{z{{zzzyzyy{{{{{z{{z{zz{yzzz{{zy{{{z{z{zz{{{{|{|{|{zy{zz{zzz|{{{{|{{zzz{z{|{{{{{z{|z{|z{zzz{|{{{{|{{z{{z{z{{{{{{{|{{z|{{zzzz{{|{{|z{zz{{zz{{||{{||{{z|{zzz{||{{||z|{z|{|z{{|{|||{|{{{zz{{{{{{{}{{||{{z|{zz{|z{{|{|||z{z{{|{{||||||{{{{zz||{|{|{|||}|{{{{{|{|}|}{}||{{{{{{{{}{{||z{|{yz{|{{{|}{|{{|{||{{{{zz{|{{{|{|{{{{{{{z|||{z{{|{z{|z{{{{|z|{{{{{{{zzyzz{|{{{|{{{{zz{{|z{{{zz{||{zz{{yzz{|z|{{||zzzz{{yz{{{{|z|{{zzzzzz{zz||z{{{zy{zzyzzzz{|{{||{zzzzzzzz{{z|||{{z{z{{{zzz{{z{{zzz{zz{zz{{{{z{{{zzzzzz{z{{{z|{{{{zzzzzz{{{zz{{{{{{{zz{yyz{|zzz{{zzz{z{zy{z{z{{||zzzzzz{zz|y{|||zyyz{{{zz{{z{{|{|{zzz{{zy{{{{{{|{{{{zzz{z{{{{{{{|zzzzzzz{{{{{z|{|{{{{z{{z{{{{{{|{{{|{|{{||{{{{{|{{zz{{z{{|{{z|||{{{zz|{zz{|{||||{{||{{{{{{{{|{|{|{{{zz|{{||{|}{}{|zz{{{zz|{{|}|||z{|z|{|{{{|{{}||}{{}{|{||}|{|||||{{z|z|{||{|{|{|||{{{{{{|{|||{|{{{{{{z{|{|||||||{{zz{{{{{{{{{||||{z{||{z{|{{|{{|z{{{zy{{{{{{||{|{zzz{y{{z||{{{{{{z{{zz{{{y||{{||||zz{zzx{{{{|||||zzzzzz{z{{{{z{|{{{{zzzzzz|{||{{{{{zz{zz{z{z{{||{z{zzzzzz|{z{z{||{z{z{zzzz{{{{{{zzzzzz{z{{z{||{{{yzzzzz|z{|{{{{{{{z{zz{{{{{{{{||{z{zzzzzzzz{{{{|y{{{zz{z{{{{{|{{{{zz{{{zz{{{z|||{{{{{{{z{{{{{|{{|{{z{z{{{{z{|{}{zz{{{z{||z{z|{{|||{z|{{{{|||{|{{{{{{{{z{{|||||}{z{z{{{{{|{|z|{||{{{|{{{z{}|{}||{{|zz{{||{{|||{|||z||{{{z{|||{{|{|{z{{{z|{||||}|{|{|{{{|||}||}{}|}{z|{{|||}||||||}{{{z{{{||{||}|{|z|{|{|{|{{}{|||||z{|{|{{|||||}|{{{{{{{{{}|{|{||}{{{{|{{|{{{|{{{{{{z{z{z{{|{{z{{zz{z{zzz{z{{{{{zz{z{{zzz{|{{{|z|{{{z{zzz{z{{{z||z{{zzzz{z{{{{z{{zz{yz{{z{{||y{{{{zyzz{{z{{zz{{|z|{{{zz{z{z|{{{{zzzzyzzzz{zzz{{z{zyzzzzzz|{zzz{|{{{z{zzzzz{{{{{{{{{zzzyzy{{{{{{{|z{zzz{zz{{{z{{|{z{zz{z{z{|z{{|z{z{{zzzzz{z{z{{{{{{{{{{zz{{z{z{||{{z{{zzz|{{{z|{{zz{{zzz{{|{z{{{|zz{|{z{zz|{{{{|z||{zzz{z{{|{z}||{{{{{zz{|{|{{||{|zz{z{{|||{{|||{{{{{{{{{{|||{|||z{{{z{zz{|{{|{|{|{{|{|{|{||||||||{{{{{|{{{|{|}|||{{{{{{|||||}||{|{{{{{{||||{|{|||{{z{{{{{{|||{|{z{{{{|{{{{{{||||{{{z{z{{{{{|{|||||{{{{{{{||}{{|{{{{{{zzz{{|z{{{{zzzzyzzz{z{{{|{{z{zzzyzy{{|z{|{{z{{zzzzy{z{{z{{|{zz{yzzy{{|{z|z{{|{yyz{{|{{{{{{{{{{{zz{{z{zzz{{zzz{zzzzz{z{z|z{|zzzzz{{{z{{{{zz{{yzzzyzz{{{|z|{{{zzzzzyzy{zz{|{{zzzzyzzzzz{|{{z{{{zzzy{zzz{{{{{{z{zz{yzzz{{{{{|{{yzzz{zz{zz{z||zzzz{zyzz{|z{{{{|{{{{zy{{|{||{{|{zzzzz{{{||{{{{{{z{{z{zzyz|{{z{{{{y{{{{z{{{{|{||{zzz{zz{z{|{z|{{{z{{z{{{{{|{{|||{{{{{{{{z||{|{{}||{{{{{z{{{|{||{||{z{zzz{||||{{|{{{{{{{||{{||{{|||z{{{{{{{|}|{{|{{{|z|{z|{|{{||||{{{z{z{z{{{{{{|{{zzz|{{z|||||{{|{{|z{z{|{|||{||}{{z{{z{z{{|{{{{{zz|{{{zz{|{{|||{z{zz{zz{{{{{{{|{y{{{{zzy{{{z{||z{{zzz{z{{{{|{{|{{z{{zzzz{{|}z{{{{z{zz{{z{{{{{z{{zzzzz{z{z|{z{|{{z{{y{{{zz{{|{{z{z{{zzzz{{z{{{|z{zz{zzz{zz{z{{{{z{zy{zzz{{{{z{|z{z{zzzzzz{{|{{{|{{zz{zzyyzz{{|z{||zzzz{z{{{{{{{{{{z{z{zzzz{{|z{{|{{{zz{{{{{|z{{{|{{{{zz{{{{{{{{{|z{{{z{z{{{|{||||zz{{{zzz{||{{{{{{zz{z{{{|||{{||{{z{{{z{{{|}{{}{|{{{{z{zz{{||||||||{{{{zz|{|}|{||}{{{{y{z|||{||{|}z{{{{{{|||{{}|||{{{|{||{||}||||{z{|{|||z}||}}}|{z}{{{|{|{|{{|{|{{{{{{z|{{||{|||||{z{|{{}{|||{}||{{z{z{{{|{{{{}|{{{zzz|{{|{|{|{{{{z{{{zz{{{|{{{zzzyzzzzz{{|{zzz|zyz{z{zzzz{{z{{z|{{zzzzy|{zzz{{{{zzzzyzzzz{{|{||{zzzyz{y{z{{{zzy{z{zzzz{{{zzz{{{zzzzzzzyzz{z{{z|zyz{zzzzzz{{zzz{zzyzyzzz{{{{z{{{{zzzy{zz{{{zz{{{zzzzzzzzz{{{z|z{{z{zzz{y{zz{z{z{zzzzyzzy{z{zz|{z{{{z{zzyz{{{zz{{zz{z{z|{|{{{{z||{zz{{zz{{{{{{{z{zz{zyzz{{z{{{{|{{|z{z{z{z|{z||{{{{{{z{z|{{|||{{|{{zzzzz{{{{{{|z{|{{{{zzz{z||{|||yzz||z|z{}{|{|{|{{{{{{zz{z|{|z}||z{{{{{{{}|{{||{{{{{|{{|{{{{|||{{{|{|{{{z{{{|{}|{z{{{{{{{||{{{|||z{{{{z{{||{{|{||{{{{z{z{{|||||{{z{yzz{z{|{||||||{{{zzz{{}z{|{||{z|{{zzz{{{z{|z{zyzzyzzzz{{{{{{|{zy{zzzz{{{{{{||{zzzzzzzz{{{{z{{z{zzz{zy{{z{z{{|zzz{zyzz{{{|{{{|zzzzz{zzz{zzz{{z{yzyz{zz{z{{{{z{zyzzzzzzz{{{zzz{zz{zzzzzz{{z{{{zyyzyyzyzzz{{{{{{{zzz{zzz{z{z{{{{{{{zzzzzz{zz{z{z{yzzyy{zz|zzz{{{z{zy{zyz|{{{zz{{{zzzzyz{{{{z{{{|zz{zzy{y{{{{z||{zzzyz{zz{z{{z|{{z{{zzyzz{}{z{{{{zzzz|z{{{{{||y{{zzz{{{zzz|{{z|{{{zz{z{{z||z||{{|{{{{{{z{{|{}{{|{{z{zzzz{{{{{{||{{{{z{{{{|{{{{{{{{{{{{{{{{|{{{{|||{zzz|{zz{|}{||{{{|{zzzz{{|{{||{{zzzz{z|z{{{{||||{{zzz{{z|{{||{||}z{{yzzz|{{{{{{{z{{z{{z{z{{{{|{zz{zzyzz{{{{z{z{{z{zyzzzz{{z{{{{{y{zzzzz{z{{|{{z|zzyz{zzzzz{zz{|{zzz{{{{|z||{|{|zzzz|z{z{z{|zz{{{{zzz{{yz{|z{{z{{zzz{zzz{z{z{zzz{{zyy{zz{{{zz{{{zzz{yz{z{{zz{{{{zyzzzzyzz|z{{{{{{zzzzzzz{{z{{{{{zxzzyzzyzzzz{{{|zyyyz{zzz{{{z{{{z{zz{{z{{{{{{{{{{zzzzyzz{{{z{{|zzz{{zzzz|{{{{|{{{{zzz{|{|{{{{{{{{|z{{yz{z{{{z{{zy{z{{zz{{}{{{|{{zz{z{{zyz{{|{|{||z|{{{{{{{|||}{|{{zz{z{{|{||{|{|zzz{{{zz{|||||{{{|z{|z{z||{z{||{|{{{{{|z|||{{||{{z{z{{{zz|}{{|{||{|{{z{y|||||{|||{{{{|{|||{|||}{|}{{{{{{{{{{||||{{{{{z{{{|{}{||{{z{{z{{{{|z|{||{{{{{zz{z{{{{|||{zzzzzz{z{{|y{{{{z{zzy{zz{z{{{|||{{z{{z{{{{{{{|{|zyzzzzzz{{{{z{{{{{z{zz{z{z|{z{{}{zzzz{zzzzz{{{{z{{{zzzzz{z{{{z|{zz{zzzzz{{{{{{|{{z{yzz{y{{z{|{|z{zz{z{{zz{{{z|y{zz{zz{z{{z{z{{{|z{z{{zzzz{{{{{{{z{{zz{z{z{{z{{{{zz{{{y{yz|zzz{{{|z{z{zz{{z{{{{{|{z{{{{z{{{{{{{|{{{y{z{z{z{{|{{||{{{z{z{{{{||{|{{|{zzz|zz|{|{||}|{z{{|z{{|{{{|{|{|z{z{|{{{{}{||||{{{{{z{{|}{{||}|{{{{{{|z{z|||}|||{{z{{{z{||z{{{||zz{{|||{|||||{||{{{z|{|{|{||||||{|{{z{{|z|||{{|{{z|{{z{{{{||{|||{z||{|{{||||||{|{zz{{{y{|{{{z||||z{{{{{{|||}|||z|z{zz{{{{|||{{{z{zzzz{z{{z{{|{{{{z{{zzzzz{{{|{{zz{yzzzz{zzz||{{{y{zzyz{{{{{{{{{{zzy{{{yz{|zz{{{zzzzz{{zzz{zz{{{{z{zzzzy{zzz{{z{zzzzzzzzzzzz{|{zyzzzzyzz{{{{{z{z{{{{yzy{{{{z{{|{{yzy{zzyz{z|{{{{{zzzzyz{{{|z{{{{{{zz{z{{z{|{z{{{{zzzz{zz|{{|{{|{{zyz{{{yz{|{{{{{{{{{zzz{{{{{{z|{{{{z{{z{{{|z{{z{{{{{{{{z|}{{{||z{{{z{{z{{|z|{||{z{{{zz{z{|{z{|{{|{{{{{y{{{|{||||zzz{z{{|{|{||||{|{{z{z{z{z|{|{}{|z{zz{{|{}|{|||{{z{z{|||||{|{||||{|{|{|{||||||}||{{{{|{{||||{{|{{{z{{{{||{||||{||z{z{{{{|{||||}|{{{y{z{{|{{|{|||{{zzz{zz{{{||{{z{{{z{{{{|{||{zz{{{yzyzzz{{{{|{{{zz{yyzzyz{z{{{||{{zzz{zz{{{z{{{z{zzzzz{{z{{{{{{{z{yzy{y{z{||{{{{{zzyz{{zz{zzz{|z{z{yzzzz{{{{z{{z{zyyzzzzzzz{zz{{{zzzzyz{z{zz{{zz{zzzz{zzzz{z{{||z{{zz{zz{{{{{|z|{zzzzzzz{z{zz{zzz{z{zzz{{{z{z|{|zzzz{|{z|{{z{|{{{{{z{zzz{{{{z{{{z{z{{z{z|{{|{{||z|z{z{zy{{{{{{{{z{|z{{{z{|{{{{|{|z{{z{yz{|||{{||{z{{{zz{||{{z{||{{{z|{zz{{||||{{{{z{z{{{{|{}{|{}{{z{|{z{||||{{{{{zz{|{{z{{{|}{||{||{|{{{{|{{|||{{{z{{{{{||{|}|||{z|||{z{||||{||||{{{{{{{{|{{|||}|{z{|{{{{{|{{|{|{z{zz{{zz|||{|||{{zzzz{z{{|{{{||{zzy{y{zz{|zz{{{{yzzz{y{|{|{{{{zzz{z{{{z{{{z|z{{{z{yz{yz{z{z{zz{{{z{zyz{z|{{{{{{{z{{z{z{{zz{{zz{|yzz{{zzz{{zz{{{{zzzzzz{zz|z{{z{zz{zzzzzyzz{zz{{zzzy{zzz|z{{{{z{{z{zzzyzz{{z|{{{z{{zzzzz{{{|{z{zz{{{zyzyz{zz{{{{z|z{{zzyz{z{{{{{{zzy{{{zz{{{{{{|{zyzz{{z{{{z{||{z{z{zz|z|z{{|{{|{{z{{z{z{{|z||{{{z{z{z|zz|{{|{|{{zzzzzz{||{{{{||zzz{zz{z{{|zz|{||{z{z{{z{{|{|{|{z{{z{{{{|{{|{||}zz{{{{{{{||{||}{|{|{{{{{}|{||{}|{{z{z|{{|||{}{|{|{z|{{|{{}||{}|{{{{|zz{||{|||{|||{z{{z{{{|||{{{}{{{{|{{{|||{{{||{{zzz{zzz{{{{{{|{||{{z{zz|||{{|{{{{z{zzz{||z{{{{{zz{{zzz{|{z||{z{zz{{zzz{{z{{{{}{{yz{{{z{z{z{{{|{zzzzz{z{|zz{{{{zz{zzzz{{{||{{{zz{yz{y{zz|z{{|z{{zzzy{{z{z{{zzz{zz{{yzzy{zz{{{z{zzzyzzy{{z{zzz{zzz{zzzyz{|zz{{{z{z{zyzzy{{z{{{|zzzzzzz{zzzz{{|{{z{z{zzzy{{zz{|{||{yzzzzz{z{{z{{{{z{{{zzzz{{z{zz|{zz{zzzz{z{{{|||{{{zyy{z{zz|{|{{{{{z|zzzz{{{z|{{z{{zz{{z|||{{{{zz{{z{zz{{{|{{{}{z{{{{|{{{{{|||{{{{{{{z{{|zz{{|{|||{z{z{z{|{||||{{{{{zz{{|||{{}{{z|||z{{|||{{|||}{{{{{{zz{||||}|||{{|zz{{{{{{{|{{|{|{z{{|{{{|z{{||{{{{{z{||{{||||{zyzz{{z{{|{{|{{|{{z{{{z{|||y{{{{{{{{zzz{|{{{|z|zzzzzy{yz{|{|{{{{z{zzz{yzz{{{{{|zzzzz{yz|{zz{{{{zxzz{zz{{{|z{|{{{z{zz{zyzz{|z|{|zzzyzzzzz{zzz|{zzz{z{yzyzz{y{{z{yzzz{{zz|z{zz{{{{yzz{yz{{{|{{{{zzzz{zzzz{{{{{{|{zz{zzzzyzz{{{z{{zzz{yz{zyz{{{zz{zz{yzyzzzzz{{|{{zzzz{zyy|{{|{z||{zzzzz{z{{||{{{{{zz{zzzz{{{|{{|zz{{zzy{z|{z{z{|{{{z{{{{{z{z|{{{z{{{{zz{z{{{{|{{{{{zzzzzz{{|zz||||{{{z{{{{{{{||||{{z{|{{{|{{|||{|{{{{{z{z|||{{|}{|{{{z{z{{{|{}||{{{{{{{{{|{|{{||{|{{zz{{{{||||{|}|{z|{z{z|||{{{|{{{{{{{{{|{{{|{|||{z{{{z{{||||||{|{{yzz{{{|z{{{|||zz{{{zz{|{{{{{{{{|{{z{z{{{{{zz|{zz{zzzzz{{z{{{{{{zzzzyz{{{{||||zzzyz{zyz{{{|{{{{{z{zzzzz{{{{z{{{zzyzz{zzz{}{|{{zz{zzzyyz{{zz|{zzzz{zzyz{{z|z{{|{yzzyzzz{z{|zz{zzzzz{yzzzz{zzz{{zzyzyzz{zz{z{{{zz{{zzzzzz|{{{{{|zz{zzzyy|z{{z|{{zzzz{zzzz{zz{{{{{z{{z{yz{{{{{z{{{zzz|yz{zzz{{{{{{z{zz|{z{z{{{{{{zz{yzz{z{|{{z{{|{{{zzz{zz|{|{{{{{{|z{yzz{{|{{{{{|{zzzzz{|{{{{|{{{z{z{{{z{{{|||{{z|{{|{{{{{z|{|||{{{{z{{{|{{|{|}{{{{{zzz{{||{{{}{{{z{z{{z||||{||{|{{{y|{{{{||}|}||{{{zz{z|{|{{||{{{z{{{z{{{{{{{{}z{z{{{z{{|z|{|||{zzz{{z{{{{|{{||{|z{zzzz||||{|{zzz{zzzzz|{|{|{y{z{y{zy{z{{{{z|{{{zzzzyyz{z{{{{{|{z{zz{zz{z{{{z{{{{zyzzzyz{{zz{{{{zzyzzzzz{{{{{z|yzzzz{yy{|zyy{{{{{zz{zyz{z{zzz{z{zzzzzz{zzz|{zy{z{zzzzzzzzz{z{z{zzz{{zzz{z{z{{{{zzzzzzyzz{{{zz|{{{yzzzzz{z{{z{{zz{zzy{zyz{{{z{z|{z{{z{zzz{{{{{{{{{zz{zz{y{{{{{{{{z{{{zz{{{{zz{{{zz{yzzzzz{{{|{|{{z{{{y{{{{{{{|{|zzzzzzz{{|{{{{{z{zz{{z{{|{|{{|{{{zz{{zzz{|{|z||{{{|{zz{{{{||{{|||{{{{z{y|||{|{|{zzz{{{{{{||z||}||{{zz|{{{{{{|}{{{{{z{|{{{||||{||{||}{{z{{{{{{{{||{{{|{{{{{{{||||{{zzzzz{|||||{{{{z{z{|{z{||{{{||{{{{zy{zz{||||{{z{{{{{{zz{{{z{{{{yzyzzz{{{{{{{z{{zzzzzyzz{z{{{z{{zzzzzzzzz|{||z{{y{zzzz{z{{{{{zzzzyyyzzz{z{z{{{zz{{zzyzz{{{{{{{zzzzzzzyz|{{zzz{z{zzzzzzyz{y{zzz{zzzyyzzy{zzzz{zz{zzzzyyzz{z|{{{{zzzzyzyz{z{{{{|z{zzz{zzyzz{{|{{{zzzzzzyyy{z{{{{{{z{yz{zz{{{{zz{{zz{zz{{z{{{{yz|}{zz{zzz{{z{{z{z{{z{zzyzz|{zz{{{|zzzz{z{y{{{{||z{z{{{{zzz{{{{{z{z{zzzz{{{{zz|{{|{{|{zz{zz{{{|{|||z{{yzz{z||{|{{{|{zz{zy{{|{{|z{|{{z{{{{{{||{||}z{zz{{{{|{{{{{{|{||{{{{{{z|}{|{|{||{{|{z{z{||{||{{{{{{{{{{{{{{{{|{{{{{{{{{{{{|{{}|{z{z{z{z{{{|{|||{{z{zz|{z|||{{|{{z{zz{zy{{{{z{{{zzzz{zzzz{{zz{{zz{zz{zzyz{zz{{|{zzzzzz{{{z{{{|{{{zz{yzz{z{{|{{{|{|zzzyzy{{{z{{zz{zzz{z{z{{{z|z{z{zzz{zzz{y{zz|zzzzzyzzyy{{z{{|z{zzzz{zzy{{{zz|z{z{z{z{zz{z{z{{|z{zzzzzzz{{|{{{||{{{z{zz{z{yzzz{{zzzz{zzz{zz{z{{{z{zyzzz{z{{{{{{{{z{z{y{z|z|{{{{zzz{{zzyz{{{{{{{|{{{{zyzz|{{z{{{{{|zz{{z{{{|{|{{{{{{zz{{z{{{{{|{{{z{zzz{z||{{z||{{|zzzz{{{{{{{|||z{{{{{{z|{||{}|||z|{{{{{||{{{{|{{{zz{{z{{|{{|{|{z{{{{||{{|{{||||{{{{zz{|{|{|||}|{{{{{z{{|{{{{{{||zz{{{z{{{{{|{}{|{z{{{{|{|{||{||z{{z{{{{|{{|{{}}{zzzzz{y{||||{|{{{|z{zzz{{{{|{|{{{yzzzzyz{|{{z{|zzyzzzz{{{z{{{{|{{zzzzzz{{{{{{{z{z{zz{zz{zzz{|{||{{zz{zy{||z{{{|zzzyzzzyzzz{{||{{z{z{zzy|{{z{{{zzzyzzz{z{{{zz{{{zzzzzzz{z{{{{|{zzzz{zzzz{{|{{{|{zzzzyzzzz{{zz{{{z{{{zz{zz{zzz{{z{z{z{zzz{{z||{{{{yzzz{zzz{{|{{|{{{zzzz{{{{|z{{{|zyz{zz{{zz{{z{z|zy{{{zzz{{{z|{{{{{{{zyzyz{{{|{{{{|{|z{zz{{z|{{|{{{z{{{{z{||z{|{||{{{{{z{{|{||||{z{{{zz{|{|{||{||{{{{{{{{||||}{{z|{{{{{z{|}{{|}|}{{{{y{|{z}|{{}}{|{{|z|{|{|{{|||}{z|{z{{z|||{|||||{{{{z{{{|||{||{{|z|z|z{||{|{{||{{{{z{|{{{{{{||{{{{{zzzzz{|{{{{{{z{z{{zy{{|{z{{z{yzyzzzzzzz{{z{{z{z{yzzz{|{{z{|{zyz{zz{zzz|{{|{{|zzyyzzzz{{{|z{{{z{yzz{z{{|{{|{{zzzyzz{z{{{zzz|{{zzzzzyz{z{{z{{{{z{{zzzzzzzzz{{{{zzz{zzz{zzz{{z{{zz{zzzz{{zz|{{{zz{zzzy{z{z{z{{{zzzzzzzzz{zzzz{|zzyxzz{zz{{{{{{{z{zy{z{zz{{|{{|{{zz|{z{{zz{{|{|{{yzz{z{z{{z|{|||{{{z{{zz{{|{{|{||zz{zzzzzz{z{z{|zz{{z{z{{z|{{{||z{{{{z{{|{{{z{{|z{{z|{{{{{||{|{|{{z{z||{|{||||{{{{|{{{{{{{|||||{|z{{{z|{{||{|||{{z||{{{|z{{|||||{{{{z|z{|{{|}||{{{{|z{{{{||||{|z|{{{{{z{|{|||||z{{z{{{{{||}{||{|{{{|z|{{{|{||||{|{z{{{{z{|{|z{|{{{{z{{zz{{{|{{{{z{zzzzzz|z{z{{|{zzzzyzzz{{zz{|{|{yzz{{z{{{z{{|{{zzzzzzzzz|z{{zz{{{zzzz{z{{{{{{{{yzzz{{zyz|{{{|{{{z{z{zz{{z{{z{{|{y{zzzyz{{z{{{{{zy{zzzzzz{{z{{{{zzzzy{z{z{zz{{z{zz{{zzyzz|z{z{|zz{z{zz{zz{{zzzz{{zzzzzyzz{z{{{{{z{zz{zzz{z{{z|{{{zzz{{{z{||{|{z|{zz{zz{z{z{|z{{{z{zz{{y{{|zz{{{{{{{z{z{{{{{{{|{{{z{{z{zz|{{{|{|{{{z{z{{{|{|{{{{{{{{{{|{{{{|{|||||{{{{{{z||{|||{|{{{{{{{{z||||||{{z{z{z{{|||{|{{|{{|{z{{z{|{||{||}{zz{|{|{||{}{||{z{zz{{|{z||}||{{{{|{{|{|||||||||{|||z{|{|{{|||||{zz{zzz{{|||||||z{z{{{yz{{{{{{|z{{{{z{z{{|{{{{{{{yzyz{zz{|z{{{{{yzzz{{zz{{|{|||{zzzyz{zz{z{{{{{{zzzzyyz{{{|{z{|{{zyzz{zz{{{{{z{zzzz{{zzz{zzz{{z{zzzzyz{yz{{{zz{zzzyz{zz{{{{z{z{{z{zzy{y{{{{{{{{zzz{z{yyz{|z{{{{zz{{zzyyz{{z{{zz{zyz{z{z{zzzz{{{z{{yzzzzz{z{{{{|zyzz{zyzyz{z{|z|{z{{yzyzz{{{{{{|{{{{zy{z{{|{{{{|z{{z{z{{|{z{{{{{zzz{z{{z{|{|{|{{{zzz{{z{z{{{{z{{|{{{z{{z{{{z||{|z{{zz{zz{||}||{{z{zz|{{{|{|{||{|{{{{zz{{{|{{{|||{zz{z{|z{}|{|{|||z{{{z{{{|{{|||||z{{{z{{|||||||{|{||zz{{{{}|{||{{{{{zz{{||||{||||z{{{{{|{{{||{|}}{{z{||yz{||zz|{|{{z{{{z{{{{{{{|{{z{{zz{{{{{z|{{{{zzzzzyz{{{{{z{{zzyzyzzz{{{{{{|{{zzz{zz|{{z|{{{zzz{{yzz|{z|z{|{zzzzz{zyzzzz{{z{{zzzzyzyzzz{z{{|zz{{zz{y{z|zz{{{zzzzzy{zzzz{z{{{zzyzzyzy{{{z{{zyzyzzy{yzzz{{{|{zzz{zz{zzz{z|{z{{zzz{{yzyy{{zzzz{{zzzzzzz{{z|{{|{{z{zz{{z{{{|z{|{{{yzzy{z|{{z{{{|zzy{{zzz{{{zz{{{z{zyzzzz{z{{z{{|zz{{yy{zz{{{{{{zzy{z{{{z{{|{zz||{zzz{zzz{{{z{||{{|{|z{{z{{|||}{|{{||{z{{|{{|||{}z{{{z{{{||||{{|{{zz{z{|{|||{||}{z{}{{{z{||{{||{|{z{{{{{{{||}||}|{{{z{|{{{{|{|||{{{{z{{{z{{{{{}|||{y{zz{{||||{{||z{zz{{z{{{{|{{||z{z{{zzz{{{|z{||{{|zz{z{{{|{{|zzzzzzzzzz{{|z{{z{{z{z{yzz{{{|{{{z{{zzz{z{z|{{{||{{yzzyzzz{{{{{{{{{zzzz{zy{{z{{{z{zz|zzzz{zz{zz{|{zzzzzzzz{{{{z{zzzzzz{zzzzz{{{|{{zyzzyzzz{{zz{{{zzzzzzzy{{{{{{{{z{z{zyzzzzzz{{{{{yzzzzzzzz{{{zzz|{zz{zzzzz{zz{|{zz{{{z{{zz{z{{{|{zzyyzyy{{{{{{{{zzz{zyz{z{|{{{||{z{zzzzzz{{|{z|{|zz{zz{zy{{{{{||{{{{{z{{z||{{{{{{{z{{zzz{|{{z|{|{{z{{{yz{z}|{{{}{{{{|{{{{||{|||||{{|{z{z{||{||||{{{{z{z{{||{||z{||{{{{{||{|{||{|}|z|{{{{|{|{||{|{||{|{z{|||{||}}{|{zz{{{{{|{|||||{{z{{z{{{|{{|{|||{{{{{z{{{||{||{|{zz{z{{{}{z{{{{|{{{zzzz{{|{{{zzzzzzyyyz{zzz{{{{zz{zyz{y{zz{{{{{{zz{{zzzzz{z{z{zzz{zzzyzzz{{z{zz{z{zzzzz{{|zz{z|yzzzzyzy{{{zz|{z{zzzzzzz{{z{z|{zzzzyzzzzzzz{z{{|zzyyzyzz{z{z{z{zzzzzy{zzz{zzz{z{zzz{{z{z{z|zz{{zz{yzzyyzyz{z{{{z{{yzzzyy{{zz{{|{zzyyzzzzz{{{z{{z{z{zzzzz{|{{{{{|{z{{{yzz{z{{z{{||z{{zzz{z{{{{{{{{{{{{y{{{z{{z{{{{z{{|zz{{|}{{{|{{zzzz{z{z{{{{|{{{yzz{{{{{||{||{|z{z{{{{z{{{{{{{||{z{{{{{|{{z{{|{{z{z{zzz||{{|||||z{{{|{{{{{{|{||{{z{{{{z{|{{{{||{z|zz{|{{{{{||{||z{z|{{{{{{|{|{||z{{{z{{|{{{{{|{{{zz{{z|z{||{{|||{zzzzz|{{{{{||z{|{{{yyz{{{{z{zzzzzzyx{yz{z{|{|zzzzzz{yzz{z{z{z{{yzyzz{y{|z{z{z{zz{zzzyz{z{{zz{{zyzyz{zz{z{{z||{{z{zyyzzz{zz{{|{{{zz{xz{z{zz{z{zzyzzyxyzzzzz{zz{zyzzzzzz{z{{z{zyzzyzyz{zz{{z|{zzzy{zy{zzy|{zz{{z{yzzzz{yz{zz{yz{{zzzzyzzz|{zz{{zyzzy{zyyz{z{{{|zz{zz{zzzzz{{{z{{zzzzzz{z{zz{{{{zzz{{yzz{{{zz{{{{{zzzz{zz{{{{z{|{|z{{zzzz{{{{{{|zzzy{zz{{|{|{z||{{z{{{zzzz{|{||}|{{{z{z{{{{{{|{||{z{|{{{{{|z|{|||{zz{{{z{||{{{{||{{{z{{{z{|{z{||||{{z{{z{z|{|{|||z{{{zzz{{{{{|{|{}zz|{|{{{|{z|{|{z{{{{{{{{{{||{|{{{{{z{z{{||{{{{|{{{{{z{{{{{||{z{|{zz{zz{|{{zz{{||z{yz{zzz{{{z{z|zz{{z{z{{z{{{{{{{zzzz{zz{zz{z{{{{zzzzyyzz||{{z{|zzy{zzzzz{{z{{{{zz{yz{z{{{zy{|{{{zyzzzyy{zz{zzz{zz{zzzzzzz{{z{{{zzzzyzyzzz{{zz|zzzzzyyz{zzzz{{{{zz{{zy{zy|zzzz{zzzz{zz{z{{|{z{{|z{zzzzzyzz{|z{{z{{{{zzyy{{{{{{{zzzzyzyzz{{{{{|{{|z{{zz{y{{{{{{{|z{z{y{{{||z|{{z|{zzzzzz{{||{z{{z|{{{{zzz{{{{{{{z{{z{{z{{|{z{{{{|{z{z{z{{{{{{|{}{z{|{{{{{||{|{|||{z{{zzz{{|||{{||z{{{{|z}|{|{{|}|z{z|{{{zz|||{{|||{z{{{|{{|||{{}|{{{{{z{{{{{|{|||{zy{z{z{{{{||{|{{|{{{z{{|{||{||{{z{z{{{{|{||{|{{|z{{z{yz|{{{z|{|{zzz{{zzz{{{{{{|y{zy{zyyz{{z|zz|zzzzzyzyz{{z{{||{z{z{zzzz{{{{||zzzz{{z{yzz{|zz{{{{zyyzyz{{{{z{{{{zzzyyz{z|{z{{{{z{{zzz{zz{|{zz{{zzzzy{yzz{z{yz|{yzzzyzyyz{{z{zz{{z{zzyzz{{{{{z{|{zzzzzyz{{{zz{{|z{{z{yzzy{zz{{{|{zyzzzzz{{|yz{{{zzzyyzzzzzzzz{{{{{zz{z{z{{{zy{|{y{zz{zz{{{{{{|||{zzzzzzz{{|{{|{||{{z{zz{z{|}z|{{{zzzz{zz{{{{{z|{{{z|{{z{z{{|{{{{{{{{z|z{{||{||{{{z|z|z{{|{{{||{||{{{zz{z|||{|{{{|z{{{z{{||{||{||y{{{|{{{{||||{{|{{{{{{{z|{|{||{|{|||{{{{{}||{|||{{{{{zz|z|{{|||}{{{{{{z{{{|||||{{{zzz|{{y|z{|{{||z|zz{{z{{{}|{{{zyzzzz{z{{{z|{{z{z{z{z{yyz{{{{{{zzz{zzzz{{||{{|{{zzzzzzz|{{z{||z{z|{zz{zz{{{{{{{zzzyz{zz{{{|z{{|z{zzzzzy{z{{z{{{{{{zzzzzz|{zz{{{z{{zy{yz{zzzzzz{zzzyyyzzz|{z{{|{zzzyzzy{z{{z{|{|{z{{{{zzzz{z{{{{{zyzyzyyz{{zzz{{{yzyzzyyy{z{z{{{{zzzz{{yz{{{{z{{{{zzzzzz{{{{z{{{{z{zzzzz{{{||{}|z{zzz{zzz|z{{||{{{zz{zzz{{{{{{{z{z{{{{z{z{{zz{}{{{z{z{{z{|}{z{|{{{{|z{{{{z{|{|{|{{{|zz|{{{{|||}|{z{|zzzy{{{{|||||{z{{{z{|||{|{||{{z{|{{{{|{{||{||z|{z}{{{|{{|}}z||{{z{{{{|{||||||{{z{zz{{{{|||{{{|{{|{{{{{{|{|{|{{zz{{{{z{{||{||{z{{z{{z{{{{{{{z{{{{z{{{{{{z{{z|z{{z|zzxzz{{{{{z{zzyzz{zz{{{z|{z{{zyyzz{zzz{{{{zzzyyyzzz{{||{{||z{zzzyzz{z{{{{{{y{zzzz{zz{{{z{|{{z{zzzyz{z{{z{z{zzzzzzzyzzz{{z{|yy{yzzz{z{zz{{{{{zy{z{zz{{{{|{{{{{z{yzzzz{|{{{{{zz{{zz{zz{{zz{{z{zz{{zzzzzzzz||{zyzz{{yz|{{{|{|{{{zz{zzz{{zz|{{{{zzzyy{{{{{{{{||zzz{zz{{|{|{{|{|zz{{zz{{{{|{z||{zz{{{{zz{z{{{{{{{z{|z{{{{{|{{{{{{{{||{{{{{{|{||{{{{z|{zz|{{{||||{z{{|{{{{|||{||{{{|z{{{z|||{||||zz{z{|{{{||||}|{{|{{|{{{|||||{||{zz{{{|{}{{||{{||{|{{z{z{{|{|{|||{z||yz{{{|{{{|{{{zzz{y{{|{{{|{|{{z{z{{z{{z|{{{{{zzzzzz{|z{{{|z{zzyzzzzzz{{zz{|{{zzz{zzz{{{{zzz{{z{z{{yz{{z{{{{z{zzz{zz{{{{zy{z{zz{zzzzz{{z|{{z{yzz{zzyyzz{z{||{{{yz{yzz{z{yz|{z{z{zyzzz{zz{z{z{zyzzzzzzz{{{{zz{zyzyzzyzz{{{{{|{zzzzyzzyz{{z{{{{{{zzz{zzzzzzzzzz{zzyzyzyz{zz|{{{yz{z{{zzz{{{{{{|z{zz{yzz{{{z{z{|zzzzzzzzz{{{z{{|z{{zzyzzz|{{{{{{{{{{{yz{z{{{z||{z{z{{z{{{z|z|{||{zy{{zzz{{{{z||{{{{{{{zzz{|{|{|{{{{{z{|{||{|{|||{{z{{{{zz{{|{{{|{{zz{z{{|||{{{|||{{{{{{|y{{|{|{}|{||z{z{{|{||||||{|{|z||||||{||{zz{z{{z{{{{z|{}|{{{|{{{{|||{{{{|{|{{z{z{{{{{{|{|||z{z{|z{{{{z{|{{{{zz{zz{{{{|z{{{{zzzzzy{zzz{zzzzz{yzzzzzz{|{{z{{zzzzzyy|z{{||||{yzzzzyzzz{zz{{{{zyyzzzy{{{zz{{{{zzz{zyzz{z{y|zz{{zy{zzzzz||zz{zzzzzzzzzyz{{z{|z{zzzzzyzzzz{{{|zzyzzzzyz{|{{{z{z{zzyzz{yz{z{{zz{yzzzzzz{zzzzz{{y{{zzyyzzzzzzz{{z{z{yz{zz{{{{{{z{zyzyzzzzz{|{yz{{{z{{zzzzzzz{||{{zz{{zzzz{zz{{{{{{zzzzzzzz{|{{|{{z{{{zzzz{{{{z|{{{{zz{zzz|{{{z|{{zz|{|zz{{|||{{{{zzz{{z{z{{||{{{}|z{z{zz{{{|{|{}{{{{{{{{||{|{{{|}{{{zz{{{{{{{{|{||zz{zz|{z{|||||{|{z}{{{||{|{{|||{{zz{zz{{{{{|{{||{y{{{{{z{|{{|{|{{{zzz{{z{zzz{||{{{{{{{z{{{{z{{{z{|{{z{{{{{{{|{{zyz{zyzy{y{{{{{{z|zy{{zz|z{{z{{|z{zzzzzzz{{|{{z{yzzzz{zzz{|zz{{{z{zzzzzzzz{{{{{|{yzz{{zz{zzz{{{{{{zyzzzz{z{z{{z{{zyzyzyz{zz{z{z{zz{z{zzzzz{{z{{|{zzzzzz{{zzz{z{{{z{zzyzyzzz{z{z{zzz{yy{yzz{z{{{{zzyyzzy{z{yzz{{zzzzzzzzzz{|{{{{{zzzzzzzz{z{{zz{zzz{zzz{{zzz{{{{}zyzzzzzz{z{{|{zz{yz|zz{zz{z{{{{{zz{zzzzz|{{z{{|zzz{{{zz{{{{{z{|{{|z{zzz{{||{{||{|{{z{zz{|{{|{|||{{z{z{{z{{|||{{{{{z{{{z{{}|{|||{{{{{zz{{{{|{{|{||{{{{{z{{{|{{{||zz{{z{{{|{|||{|{|{z{{{{{{{||{||}|{{{{{{{{z||||{|z{zzz{y{{{{||{{{{{{{z{{{{{|{{{|{{z{zzz{z{{{|{{{y{zyzy{zyz{{{{{||{{zzzzzyz{|z{{{|{zzzyz{zzz{{{z{z{zyz{y{zzy{zz{{{zz{yz{{z{{{{{{zzzzz{zz{zz{{|z{{zzzzzzyzy{z{{y{{zzz{zzzzyz{z{{{z{y{zzzzzz{z{{{|z{{zzzyzy{z{zy|{{z{zzyzzz{{{z{{z}z{zzzzyzz{zzz{{{{{zyzzyzzzz{|{z{{zz{z{zyzzz{{{z{{{zyz{yz{{{{{y{{{{zzzyy{{{{{z{|{z{y{zz{{{{{|z{{|{{zzzz{zzz{{{z||{zzz{{{z{{||{{{|{z{zzz{y{{{{{{{|{{{{z{zz{{{||{||{z|{{z{{{{{||{{{}z|z{{z{z{{||{z|||z{{z{z{||||{}|{{{{{{{|{|{{{z||{{{z{z|{{{}{{|{}}|y{{{|{{|{|{{||{|{{{{{{{|{{{{{|}|{{z{{{z||{|{|{{z{{{{z{{{|{{{||z||z{z{zz{{{{z{|{z{{z{z{y{z}|{z{{z{zyyy{y{{{z{z{|{z{y{yzz{zzz{{|||zzyzzzz{zz|zz{{zzzyzzzz{{{{zz{{z{zyzz{yzz{{{{{{zyzzzyzyzzzzzz{zzy{z{zyzz{{zz|{zz{{yyzzzzzz{zz{{{yz{zyzzzzzzzz{zzzzzzzyzzz{{{{|{{zzzyzyzzz{zz|||zzzzzzyy{{zzz{{{{{zyzzzzz{{|z{{{|yzzzz{{zz{{zzz{zzzz{zyzz{{zz{{|zyzzzzy{{{{{{{{|z{{zyzzzz{{z|{{zzy{zzyzz{{{|{{z{zz{{zz{{{{{|{{|{{{zzzzzzz{|{z{{{zz{{zzz{{{{{{|||z{{z|{z|{{{|z}}||z{{z{{{{{|||||z|z{{{{{z||{{{|{|{z|{z{z|z|{{{|}||z{zzz{{{}{{||}{||{{|z{z|{|{|||{|z{{{{z|{{z{{{{|{{{{{{{{{|{{{{|{{zzz{{z{z{|{{{||zz{zz{{z{{|{{z{|{yzzzzzz|{{{{z{{{z{yyzyzzz{{{z{zzzzzyzz|z{{{{z{z{zzzzzzz{{{{{|{zzyzzzzzyz{{{zyzzzzzzyyzz{{zz{{{zzzzzz{zzzz{{z{zzzzyzzyxy{z{{zz{z{yzyz{yyzz{{z{z{yzyxyz{y{{zz{{{z{yzzyzzzzz{z{{z{{y{zyzzzy{{{z{z{{zyz{yzyy{zzzzzzy{{zyzzyz{zzzz{{zz{zz{yz{{zz{{{zzz{zzzzzzz{zz{{{{zz{zyzzz{zz{z{{z{z{zzzzz{z{{z{{{z|z{yzyz{{|z{{{zzz{{zz{{{|{z{||{zzzzzzz|{z|z||{{{{{{{{{|{{|{|{{z{|{|{{{{{{{{|||{z{{{zzy{{|{|z{{{{z{|zz{|||||{||{{{{{z{{|{{|{|{||{{{zyz{|||{{{|{|{{{z{{{{||{{||{{zzz{zz{{{|{{{||{zz{z{{{{||{{{{|{{zyz{z{{z|{{{{{{{{{zz{z{{|{{z{{z{z{{zzz|z||{{z{z{zzzz{yzz{{z{|{{y{{{zyzzz{zz{zz|{{zzyzz{zzz{{|z{zz{zzzzzz|zz{{|{zzzyz{y{z{z{{{{{zzyyzzyzzzzz{{{z{z{{zzz{z{y{{{zzz{zzyzz{zzz{zz{yzyz{yzy{z{z{z{zzyzzz{xz{{{{{{zzzzz{yzyz{{z{{zzz{yz{{zzy{z{zzz|{{{zzyyzyz{z{{{{{zy{zy{zz{{z{z{{zzz{{{zzz{{z{{z||zzyz{yyzzz{{{|{{zz{zzz{zz{|{{{||zz{zzzzz{|{z{|z{{{{{zyzz{|{{|{|{{zz{{{z{z{{|z{||{zz{zzzz{{||{}{{z{{{{{{{{|{{{{{||{{z{{yz{{|{{|{z{{{{|zzz{}|||||{{zzz{{|{{{{{{{|{{{{{zzz{{||||{}{|z||{||z{{{|{|{|{{{z{{zz{{{z||||{{z{{{{{{{z{|{|}{{{{z{z{z{{|{{||{z|z{z{{{{{{z{{{{y{zzz{z{{|{{{{{zzzyz{zy{{|yz{||zyzzzyz{{{{zzz{|zzzyyzyz{{{z|{{z{y{zzyzy{{|{zz{{{zzzzzzy{{{{{{zzzzzz{y{z{{{zz{zzz{zz{zyzzz{zz{z{yzyzzzzzzzzzzz{{z{zzzzzz{z{zz{{zzzzzzzyzzz{zz{z|zzzzyzzzz{z|{{zzzzzz|yzyzzzzz{{{|zzzzzzyy{zz|{{z{zzzzzz{{z|{z{||{{zy{zz{{{|z{{|{{{zzzyzy{zz|{{|{zzzzz{y{{z{{z||{zz{{{y{z{{z{{{{{{z{z{zzz{{{z{||{{z{{{zy{zz{z{{{{z{zz{{z{{||{{||{z{zz{{{{|{||{{|{{{z{{{z{{||{||}{{{{{z{{z||{z{|||{{z{z{|{{{|{||||{{|{|{{z{}{}||}|{{{{zzz{{{|||}{{{zz{z{{{|{z{|{{{{|{z{{z|{{{{|||{{{z{{{z{z{z{|{||{{z{z{||z|{{|{{{{{{z{{{{|{{|{{z|{{zzzzzyzz{{{z|{zzyzzzzzz{{{{{{|{{zzyyzzz{zz|{{{|zzzzyzz{{z{zz{{z{zzzz{zz{{zz{z{zzzyzzzzz|{z{{yz{yzyzzzzz{{{|{{zzyzzz{zz{zz{z{z{yzzyzyzz{zzz{{{|zyzzzzyy{z{z{{|{zyzzyzyyz{z{{{|z{{{z{zzyz{zzz{zy{z{zzzy{z{{{z{{{{zy{{zzz{z{z{{{{zzzz{y|{{{{{{{{{zz{{zy|{|{|{{{{{z{{zz{{{{{{z{|{{{z{{zzz{z{z{{|{{{z{z{{zz{||{{y{zz{|zz{z|{{{|{{{{{{z{{{z{|{{||||{{{{{{{{{{|z|||||{{z{{yz{{z{{||{{|z{{{{z{{|{{{{|{{{{{|{|{{{}{|||}{z{{{|||{||||{{{{{||z{{{|||||{{{{{z{z{{{{{||{|{{{|{z{zzzz{|{{{{~z{{{z{|{{{{||{|{|z{{z{{z{|{{z{||{{zzzz{{{|{{{{{{{{zyz{y{|{{{zzz|{{yzyzz{{{yz{{{{zzzz{zzzz|{z{{|{{zzz{{z{{||{{z{|{z{yz{zz{{{|z{{|zzz{zz{zz{yzz{{{zzzzzzzzz{zz{{{zz{{zzzyz{{y|zz{{{zzz{z{z{zzzzz{{{zzzyzzz{{{z|{z{{{zzzz{y{{{zz{|{{{zz{{zzzz{z{z{|{zzy{zzy{{z{z{{{zz{{yzzz|{{{z{{zzzz{z{yzz{{zz{{zz{{{{zz{{{{{{|||zz|zzz{z{{{|{{||{{{{{zzzz{{{||{{{zzzz{z{{{|{z{{{{{{zz{z{{|{{|{|{{{z{{z{||{{|||{}{{z{{{{z{||||{||z{|z{z{z{}|||||{{z{{{z{z||||{{|{{{|{|{{z{{z|{}|||{{z{{{z||{{{|}{{zz{{{{z{{{}{||{{zz{{{z{{{{|||}|{{z|{{{{|{{{}||{{{{{zz{{{{{{|{|{{{{{z{{{{|{{{{{{{{z{y{{{{{{{{|{z{zz{zzzyz{{{z{{{{zyzzz{zzzz|{{{{zzzzzzzyzz{{|{{{zz{yzzzz{{z{z{{{zzzyzyzyzz{{y{z{zyzy{zyzzzzz{{{{zzzzzyz{|z{zy{z{zzzzyzzzzz{z{{z{{zzzzzzzzz{{z{{||yzzzzzzzz{z{z|{zzzz{{zzz{{|{|{{zyz{zy{yzz{z{{z|zzzzyzzzzzz|z{{{zzzzz{zzzz{{{{{{zzz{z{y{zz{{z|z}zy{zzzy{z{zzy|{{z{{{z{{z{z{{{{|{z{zzzzzzz{{{|{{z{z{z{zzz{{{{|{{{y{{zzzzzz|{{{|{{zzz||{z{{{|{|{{|{{zz{z|{|{|{{|{|{zzz{z|{||{{{||{{{{{{{{z{}{{{||}z{z|{{{z{{{{||z{|{{{{|{{z||{{{|{|z{{{z{{{{|{{{|||z{z{|{z{{{{{{||zz{|{{zz{|{{||||{{{{{{{z{{{|{||}{{{zzz{yz||{zz|{{y{zzzz{{z|{{{z{zzz{zyyz{z|zzzz{zzzzzzzz{|zz{{{{{zyzz{zzz{zz{{{zzzzyzzzzz{{zzz{{zzyz{zyzz{z{{{{{zzzzzz{{z{zz{z{yz{zzzyyzz{zyz{z{zzzzyzyzzzz{z{{{xzz{zy{z{{zzz{{zz{zyy{zz{zzz{{{{{yzzzz{zz{{{|{{|zzzzzyzzzzzz{z{zzzzzzzyzyzz{{{z{zzzyy{zz{zz{{{{{{z{{yzzz{{{{{{{{{y{z{zz{{y{z{{{{{zzzz{zz{{{{{|{|{z{zzzzzz{{{{{z{zzzz{{yz{{{{{{{|{{z{{z{z{{{||||{{zzz{zzz|{|||{|{z{{{{{{{|{{|z{||{z||zz{y{{{{|z||{zy{{z{z{|{{||{|{{|{{||{{|||{{|{{zzzz{zz{|{{{{||{{{{{{z{|{{{{{{|{yz{{zz{{z{{{|||{{{{{{{{|{|{{{{{{{zzzz|z{{||{{|{z|{{z{zzz{{{z|{{{{{z{{{{y{{{z{{{yzyzzzzy{z{z|{{z{{yzzzzzz{{{z{{zz{zzzzzz{zzz{z{{{y{zyzz{z{z{{z{{{zzzzyzy{{{{{{y|{zzyz{{yzz{{z{|z{yzzyzzz{zzz{z{zzzyyzzzzzzzzz{z{zyzzzzzyzz{y{{{zzyyzzyzzzyzz{zzzzyzzy{zzz{zz{z{{zzzyzyzyzzz{zzz{z{{yzzzz{{zz{{{z{yzzz{zy{zzzz{{{zzzyzzz{{{{{z{{{{{zz{zz{z{{|{{z{{z{y{zz{z{|{{{{{zz{z{zzzz{|{|{{{{{{{yzzz{z|{z{|zzzzz{zz{{{{{{|{{z{z{{zzz}{{{{||{z{z{{{{{{{z{||{||{z{zz{z{{{{{{|{{zzz{zzz{{|||{}{{{{{z{{{z{|{{{{|{|{{{{{{{|||{||}{{{{{zzz||z{{{||{z{{z{{{{{|||{{{{{{|{|z{||||{{|{{|{{{z{z{{{{{|}{{{{{zzzz{||z{{{z{z{zz{{z{zz{z{y{zyyz{yzy{{{zz{{{zzzzyyyzz{zz{||{{{zzzz{y{z{z{{{{{zzyzzzzzz{{{z{{{zzzyyzy{z{{zz{yzzzz{yyzzzz{zy{z{zzzzyyzzzzzz{{{y{zzyzzyz{yzzz{{zyyzz{{zz{{{zz{{yzyzzzyz{y{z{z{zzzzzy{zzz{zz|{{{{zzyyzyzz{z{{{{z{{zzzy{yzzzyz{{{zzzzz{zzz{{{{{{{zyzzzzzzz{{{z{{}{zzzzz{{zzz{{{{|{z{{y{{{z|{{{{{{z{z{yzzzz{z{z}{{z{z{{zz{z{{|{{|{{z{{yz{{{|z{{{z{{z{zzz{z{{||{{|{z{{z{{{z{z{{|z|}z{{{zz{z{}|{{{{{{z{z{z{{z|{|{{z{{{z{{z{{{{{{{|{|{{{{z|zzz{|{{{|{{z{{{{{{z|{{||{{|z{{{|{{{||{{{||{zz{|{{{{|{{{{|}z{zz{{zzz{z{{|z{|zz{z{{z{{{{{{|{zz{zzz{y{{{{z{zzzyyzzzzyz{z{{{z{y{zyzzzzzzzzzzz{z{zzyzyzzz{zz{{{{zzzzzz{zz{z{{{{zzzyyzzyzz{z{{z{{yz{z{zy{{{zzz{z{yzyzzyyz{zzy{yzzzzyzzzzyz{z{{z{zzzzxzzzz{{zz{{{zzzzyzyz{z{z|z{{{z{yyzzyyzzzzzz{zzzyyxzzyzzyzz{{{{zzzyzzz{zzzzzzy{zzzzz{zz{{zzz{{zzzzzyz{zz{{{{{{yzzyzzzzz{{{|{{z{zz{z{z{z{z{z{|{zzzzzzzz{{|{{{{zzzzz{z{{||{{{|{{z{{{zy{z{z{z|{{zzz{zyzz{z{{{{{{y{z{{{{{{{z{{{{|{z{zzzz{{{|{|z|{zzzz{z{{{|{|{||||{{{z{{z{{{{{z{{{z{{{z{zz{{{{|||{z{yz{{{{{||{|z{{|z{|{zz||{{{{{|{{z{{{z{{z{|{{{{{{zzzzzz{z{|z{|{{zz{z{{y{{{|{|zz{z{z{zzzz{{{{z{{yxy{zzzyy{{z{{{{z{yzyyyy{{z{{z{{yyyyy{zzzzyz{z{{zzzzzyzyzy{zz{|{zz{zyzzyz{zzzzz{yzzyy{zyz{{z{zzz{zzyyzzzzyzzz{zzzzzyzzzyz{{yzzz{zyyzyzzz{{{zzz{zz{xxzzxyz{zz{{zzzzzzyyyyz{z{zyz{zyzzzyzyyz{zz{z{zzyyzzyzzzyzzzz{zzzz{zyyzzzzz{{{{zz{{y{zzz{yz{z{{yz{yz{z{z{z{z{{z{zzyzzzzz{{{||{{zzyzy{zzz{z{z{{zyzz{{{z|{{z{{{yzzy{z{zzzz{{{|{zz{{zzz{z{{{{{{|{z{{{z{{{{{{{z|{|{{{{z{z{{{{{{{{|z{z{z{z{{|{{{{{|{zzzzz{zz{zzz{||{z{z{{zz{||z{{{|{zz{{z{{{{{{{|{|{z{zzz{{{{{{{{{{|z{z{zz{{{{{{{{{{{zzzzzz{{||{||{{{{zzzz{{{z{zzz{zzzz|z{y{{|{zzzzzzyzzzyyyzzzzzzzzzyzyyyzzzz{{{{zzzzzzzy{zzzzzzzzzzzzyyyyzzzzzzz{zzzyxyyxz{{zzzz{zz{xyyyyzz{zz|zzyzzyzyyyzz{zz{yzzzyyyzyyyyy{yzzzyyyyzyzzz{{zzy{zzzzyzzyyyzzzz{z{{zzzzzyyz{zzyz{zzyyyzyz{yzzzzzzzzzzyzyyzz{zzzz{zzyyzyzyyz{z{zyzzzyyzzyyzzzzz{zz{zzzyyyzzzzzzzzz{zz{zzzy{zz{zzz{{zyzzzyyyz{{{y{{yzyzyyz{z{z{zzz{zyzzzzyzzz{zzz{{{y{zz{zy{z{z|{|{|zzzzyz{z{{{{{{{{{zzyzyzzz{{z|z{z{zyz{{{y{{z{{||{z{zyz{{{z||{{zz{{zzz|{z{{|{{{z{{{zz|zz{z|zz{||{{{yzy{yzz{{{{z{|{{z{{{zzz{{{{{|{{z{zyz{zyz{{{{{|{{zzzy{zzzzz|{{{{zzzzyyzzz{{zzzzzzzzzyyzzz{z{zz{zzzzzzyyz{zzz{{|{zzzy{zzyzz{z{z{zzzz{zyzz{zy{zz|{{{zyzzzzzyz{zz{{zzzzzyyyz{{yyzzyzzyzyzyzz{zzzzzz{zzzz{yy{z{yz{zzyzyyzyzzy{zz{zzyzyzzzzyy{{{z{zz{yyyyyyyzy{zz{{{{{yzyyzzyyzzzzzzzzzzzzyzyzzzz{zzzzzzzyzzy{zzz{zzzzzzyzyzzzzz{zz{{{z{zyzyz{{{{{{z{zzzzyzy{z{z{zz|{zyzz{yzz{||{|z|zzzyzyyzzz{{{{z{{zzy{zzzy{{{z{{{{zzzyz{{{|{{{z{{{{{yzzzzz{{{|{{{|z{z{{zzz{{{{|{{|{{zzzzzyz{|z{{{|{zz{{{{{{{{{{|{{{zzy{zzzz}{{||{{{{zzz{zz{{{|z{|{{{zzzy{{{{{{{|{|{{yz{{z{zz{{|{{{zzzzz{zz{{{{{z{|{z{zzyzy{z{{zz{{zzzz{yz{z{{{{z{zzyzzzzyyzzzz{zzzzzzzzzzyyzzzzz{|zzzzzzzyzzz{yzyzzyyzyyyyzzz{yzz|{{yzyyzyzzz{yzyz{yzzzyyyyzzzz{zz{yxzyxyyzzzz{{{zzzyzzzzzyzy{z{{zyzzzzzxyzz{zzz{{zyzyyzyzzz{z{{{{{zzzyzyy{zyzzzyzzyyzyyyyzzzzyz{yzzyyyzyzz{yzzz{zzy{yz{yzzyzz{{{|{zyyzzzzzz{zzz{{zzyzyyz{{z{zz{zzyz{{yzyzz{{zz{{{z{{y{zyyz{z{zz{zzyzzzyzzz{{zzz{{zyzz{{{z{{{zz|yzzzy{{z{zzz{{{{{{{zz{yzzzz{zz{|z{zzzy{zzz{{{{{z{z{{zzzzzz{{{{{{||{yzz{{{zz{zz{|{z{zzzz{zyz{{|{{{{z{{zzz{{{y{{{z{{|{yz{zz{{|{{{{|{{|{zz{z{z|{z{{||{{zz{z{zz{z|yz{{zyzyzzzzzzz{zyz{zyzzyzzz{z{zzzzzzzzzz{zyz{zzzzzzyy{yzyzzzzzz{{{{zzyyzyyyyz{z{y{zyzzyyyzzz{zzy{zzzyzzzzzx{zz{y{{{xyzzz{yyzyyyzz|z{zyyyyxy{zzyzzzzyzzzy{yyzz{y{zz{zzyzyyzzzzz{{z{zzzzyxyzz{yz{zzz{zyzzxzzzy{{z{{z{zzzyyyyyzzyzyzzzzzzzyyzzzz{yzzz{zyzzy{yzzzyzz{{zy{zyzyzzy{z{z{zzz{zzyzzyyzzzz|{{zyzzxxzzzzzzz{z{{yzzzzzzz{{zz{{{zzzzzyzz{{zz{z|{zzyzyzz{{{{z|{{{yzzy{zzzzy{z{{{{z{z{zzzzz{z{{{{|{zy{zz{{{{{{{{{z|z{z{zzzz{|||{z|{z{{{{zz||{|{{|z|z{z{{{z{|{z{|||{{zzzz{{{{z|{z{{|{{{zzz{{zz{{{||{|{z{{{{|{{|z{{|z{zyzy{{{{{{{{{zz{{zzzzzz{{zz{{z{zzyyzxyzzzz{zzzyzyzzyyzzz{zzz{zz{yzzzyzzzzz{{z{zyzxyyzy{zzzz{zzzzz{zzyzy{zzyzzz{yzyyzzyzzz|zzzyyzyyyyyzzyyzzzzzzzzzyzyzyyzzz{zyzyzyyzyyyzzzy{z{yyyyyyyzzzzyzzzzzzzzzzyy{{yy{z{zzzzzyyyzzz{zzz{{zxyzyzzyyzzyz{{zzzzzyyzzzzzzzzz{zzzyzyyz{z{zzz{zzyzzzyzyzz{{{yzzzyzzzyzz{z{{zz{{z{zyzyz{z{z{z{{zzzz{zyyyzzz{z{zz{z{{zyzz{z{zzz{zzyzyyzz{z|{{z{z{z{yz{{zz{{{{{|{|zzzzzzz{{{z|{|{|{{zz{y{zz{{z{{|z{zz{{{z{z|{{|{||y{{z{z{z{zzz{{{{{{{zz{zyz{z|{{{{{{zzzz{{{{{zz{{{{zzzzzzz{{zz{|{{z{zzzzz{{z{z{{{{{zzyzzyzz{{{{{{{z{zz{z{zz{zz{zz|z{{zzyzzz|zy{zyzzzzzzzyzyzzz{{zz{zyyzyzzz{{z{zz{zzzyzzzyzz{z{{{{{yyzxzzyzz{zz|z{{{zyyzzyzzz{z{{{{zzzzzzyz{yyzz{zzyzyyzyz{zzzy{zzzzzzxzzyzzz{zz{{zyyzyyzzzzzzzzzzzz{yxyzzy{z{z{z{zzzzyyyyz{yzz{zzzzyyzyyz{zzz{{{yyzyzyzyyz{z{z|z{zyzzz{zzz{{yz{{{{{zzyzyyz{z{{z{zzyz{zzzzz{zz{{{{zyzy{zzzzz{{{{{{zyzzzzzyzz{|{|zzzz{z{zzz{zz{{z{{zzz{zyzz{zz{{|{z{zz{z{z{{{|{{{{{z{{z{zz{{{{z{|{|z{zz{z{y|{{z{||{|zz{z{z{{{{{z{{{{y|zz{{{{{{||{||{{yzz{z{z|{{{{|{{z{{z{z{{z{{{{{{{zzzz{z{{{z{{{{{{{zz{zyy{{{{{{{{zzyzzz{y{{{{{z{|{zzy{zzz{{{{z{{zzzzzzzy{z{{z{zzzzzyzzzyyy{{zzz{|yzzyzzy{{zz{{{{{yzzyyzzzzzz{zzzzzyzyyyyz{zzyz{{{zzzyzzyyzzyzz{zzzzzyy{zx{{z{zz{{z{yyzzzyzz{{z{z{zzzyz{yyzzyzy{{{zzzyzyzyzyzzz{{zzyyyz{yzz{{z{z|zyzzzyyzzz{zyz{{zzzzzzy{yy{zzz{z{zzzyzzzzz{zy{zz{yyz{{zzyzzz{{|{yzzzyzyzzzy{zzzz{yzz{zyyzzz{{z|{{zzzzz{zyz{z{zz|z{zzzzzz{z{{{{{yzzzzzzzzz{z|z{z{{{z{yyzzz{{{z{{zz|z{{z{{z{z|{{{{|{{{z{{{{z{z|{{|{{{{{{zz{||{{{{{{{zy{zzzz||{{{||{zz{z{{{y{{{{{z|{{zzz{{z{z|{{{||{{y|{zz{z{{z{{{z{{zzz{zz{z{{|{{{|{zy{zz{{{{{z{{{{z{{y{zyz{z{{|{{{{zzzzzzz|{z{z{{{zzyyzyyz{{{zz{zz{{zyzyyzz{{z{z{{zzzzyz{z{z{{zz{{yzzyyzzy{|z{z{zzzz{zyzyz{z{{{z{{zzzzyzzy{{{z{{z{yzzzyzyzy{zyzy{z{zzzyyzzzz{zzz{{{zzyzyzzzzxzzz{{zzzyyzyyy{zzzy{z{yyzyzzyzzzz{{{{zzzzyzzyzzy{y{{{zyyy{yzz{z{z{{z{zz{zyxzzyzz{z{{zzzzxz{yz|{z{{z{{zzzzzzyyz{{{{{z{zz{yyz{z{{{zz{{|zzzzy{zz{z{{{|z{zz{yzz{z{{{{zz{{y{yyzzyzz{|{{{|{zyyz{zzz{zzz{{{|z{z{{zzzz||{{{|zz|zy{zz{{{{||||{{zzzz{zzz{{{{z|{z{{z{zzz|||{{{{z{zy{{|{{{{{z{|{|{{{{z{z{{|{|||{{{z|zzz{{{{z{{|{{{y{{{{{z{{|z||{|||zz{{z{{{z{{|{{{{{z{{z{z{{{{{{{z{yzy{{zzz|{|z|zzz{yzy{zz{{{zz{|zzzyzz{yy{zy{zzzzzyyzyzyz{{z{{|zzzzyzzzzzzzz{|{{zzzyyzyzzz{{{z{{z{yzyzzyzzzzzz{|zyyzyyxyzzyzyz{zzzzyzzzz{{{z{z{zzyyzyxyyzyz{z{z{zyzzzyyy{zy{zzzzyyzzzzyzzyzz{{zyzzzzyyzyz{{zz{zzzzzzzyzyy{zyz{zzzzzzzyyxz{z{z{y{zzzyyyzzyy{{{{zzz{yyyyzy{z{z{{yzzzzyzz{z{{{zz{{{zzyzz{zz{z{zz{{zzzzzzzzzz{{{{zzzzyy{zz{z{{{{{z{z{zz{zzz{{{zz{{{{yzyz{zzz{z{|{{{{yz{zz{z{|{z{{{}|{z{{z{z{{{{z{||{|zzz{zzz{|{{{{|{zzzzzz{{{{{|{||{zz{zz{{z{{{{|{z|{z{zzzz{{{{{{{{{{zzyz{zzz{{{{z{{zz{{zzy{{||{z|||zzz{z{{{z{{{|{{{{{zzy{zz||z|z{{{{{zzyzyzy{{z{{xz{zzzzzyyz{{zzz{{yzzzzzyyzzzz{{{{zyzzzzyy{zzyyz{{zzzzyzzzzyzzzzzz{zyyyzyxzzz{yzz{zyzzyyzyzzzzzzz{zyzyyzzyzzzzy|zzyyzzyyzz{yyzz{z{yzzyzyyyzzz{{zz{zzxzyzyzyy{y{z{zzzzyyzxyyzzz{z{{zyzyzyyy{zy{{{z{zzzyzzz{zzzz{{zzzyzyz{yzzzz{{z{{zzyyyyyyzz{zy{{{zzyzzyzzzzz{{zz|zz{yyzzzz{{{z{{z{y{zzyzyzzy{yz{zzzzz{zz{z{|z{z{{|zzz{y{yz{y{yz{z|z{{z{{z{{{|{|{{z{z{{{{{{{{{z{{{{yzzzzzz{{{{{{{{zzz{z{zy{|{{{{|zzz{zz{z{{{|{|{{{|{zzzz{{{{{{|{{{|zz{{z{z|{z|{{{{{y{zzzz{{{{z|{{||z{{{{zz{{|{||{{z{{zz{zz{{{{{{||zzyzxzzzyzz{zz{{yyzy{yzz{{|{zzz{zzzyzyyzz{{zz{{{yzzyyzyyz{{{zz{|zyzyzyzzzzz{z{{{zyz{{yzzyz{z{z{{zzxxz{zy{yzz{{zzzzyyyzzyzzzzz{{yzx{yyzzyzzzzzzzz{zyzyyyzzzz{zzz{yyzyyyzzzzzzz{{{zyyzyzxz{zzz{zzz{yzyyyzyzyzzzz{zzzzyxyzyzz{zz{{z{zyyzyyyyzzz{{z{zyzzzzyyyz{{{z{{zzyz{zyzz{zy{zzzyyzzyz{zzzzy{zz{zyzzzzyzzz{zz{{{zzyzzyzzz{y{z|z{zz{zzzyz{{{zzz{{{zzzzzyz{{{z{zz{{zzzzz{z{|{|{{{zz{zzz{{z{{{{{|||{{{zzz{z{|{{z{{|{zzz{yzy|{{{{|}|{{zzy{{{{{{{z{{{{z{zz{z{{{||{{||zz|{zzz{{{|{{{||{zz{zz{{||z|||{|{zzz{{z{z{{{{||{|z{yzzyzzz{{{{||{zz{zzzy{{{{{{|zz{{{{yzz{{{z{y{{zyyz{xzyz{zyzzz{zzyzyzy{z{z{z{z{zyzzyyzzzyz{{{z{zzzyzyyz{z{{zzz{zzzyyyzyzzzzz{z{zzyzyzzzzzyzz|{{zyzyyyzy{yzzz{{zzzzzzyzyyzz{zz{zyzzzzyyyzzyzzz{zzzyzy{yz{z{zzzzzzz{yyzzyz{z{zz{zzz{zyz{yzz{yzzz{z{yzzzzzyzy{zzzzzzzzzzyyz{z{zz{{{zzzyyzzzzzzx{z{{{z{zz{zzzzzzz{zyzzzzzyyz{zzz{|zzzzzzzzz{zzzz{z{{z{zyz{zz{{z{{|z{yzzzzz{z{|z{{{{zz{{zzyzz{zz{{z{zzyzzz{z{{z|z|{{{{zzzzzz{{{{{{{z|zy{{z{{{||z{{|{{zz{z|{z{{|{{{{{|zzz{z{{{{{{{{{{{{z{zzz{{z{{{{{||zz{zzz{{{{{z{|{{zz{zyz{{z{|{|{{{{|zzzzzzzz|z{{{{z{{zz{z{{yz{|zzzzy{z{{yzz{{z{{{zyzyyzzyzzzzzzzzyzzzzzxz{zzyz{{zzzyzzyzxyyzzz{zzzxyz{yzyzyzzzzy{{zzzzyyy{zzzz{{{yyzyyz{yyzyzz{{yzzzxzzyyzzzzzzz{yyyyyyz{zzzyz{zzxzzzyyyyyzzzzzzz{yzyyy{zyzzzzzzzzyzzyyyyyzzzyzz|zyz{yyyzy{zzyzz{zzzyyxzyy{{zzzz{y{z{yzxyy{yzz{{{zyzzzzyy{{{zz{z{zyyzzz{z{z{{zz{{yz{zzz{z{{zz{{zz{yzyzy{yz{z{z{z|{yy{zz{{z{{zz{zzzyz{y|zz{{z{{{{z{{yzyz{z{{{{{|z{zz{zzzzz{z{{{{|{{zzzz{zzzz{|{z{z{z{y{{{z|z{{{{{|{z{zzz{z{{{{{|}{{{{{z{z{{|{{{{{{zz{{zz{z{{z{{|z{{z{zzz{{zzzz{z{|z{yz{zz{{{{{{{{|z{zzyzy{{{z{z{|{zzz{zzzzz{{{z{|zzyzyzzy{|{|zz{z{zyzzzyzxy{zz{zz{yzzyyyzy{{zzz|zzz{zyyyzz{yzz{zz{zzzzzyzyyyzzzz{zz{yyy{yyzyzzy{{zzzzyzyzyyzzz{zzyyyzyzyyz{{z{zzzzzzyzyzxyzyzzyyzzzyzyzyyzz{zz{{{{zzyzyyyzy{{z{zzzyzzyzyyyxyzzz{zzzzzy{yzxzy{zz{zzzzzzzzxyz{zy{{z{zzzyyzyyzy{{zz{|yzyyyzzzyzzzz{z{zz{yzy{y{y{zz{{{zzzzyzzyz{{zzz|{{zzz{zyyy{zzz{{{zzyzzz{yzz{{zz{zzzy{zzyy{z|zyz{{{y{z{zzyz{{{{z{{zzzzzz{zz{{|z{{{{{{zzzyzz{{|{{{{{zzz{zzz{|z||{|{z{zzzz{z|{z{{{z{z{{zzz{{z|z{{{{{zz{{zzzz|{z{{{{{{zzy{{zzz{|{{{|{{{z{{zzz{{z{{{{{{{{yzzy{{{z{{|{{{zzy{yzy{{z{zz{{z{yzzy{zyzz{z{{z{zyyzzyy{z{zzz{zzyzzyz{y{yzz{{{z{zyzzyzzzyz{zzz{zzyzyz{zz{zzzzzzzzzzyyzyz{z{zz{z{zyzzzzyzz{zyzzzzyzyzyxyzy{zz{{zzyzyyz{zzzzzzzzzyxzyz{yzzz{zzz{yzyyzzzyyz{zzzz{zzzzzzzyzzzz{z{zzz{yyyy{xyzyzz{{{zyzyyzyzz{zzzz{zyyzz{zyyzzzzz{|{zzyyzzzzzz{{z{z{zzz{yzzzzzzzz|{|zz|zyzz{zzz{y{{zyyzzzyzzz{zz{{y{zyyyzzyz{{{z{z{{{zzzzzzz{{zz{{z{zzzy{z{z{z|{{{{{zzyzz{{z{|z|{{|zz{z{{{y{{{{{{{||zzzzz{zzz{z{|{{{{z{zz{z{{{zz{||{{z{z{zyzy|{{|z||{zzz{zzz{{{{z{|z{{{zz|zy{{z{{{{{{zz{{{zz{|{z|{{{zzzy{{zy{{{zz{{{{zzyzzyz{{{{z{{{z{{z{zzz{{{z{zzyyzzyzzzyy{{{zzz{zyyzyyxzyzzzzzzzzy{yxyzyzzz{z{{{zz{yyzzz{zzzz{z{zzzyyzyzzzzzz{z{yzzzyx{yz{z{zzzzzzzzzxyyzzzzzy{yzzyyyxzzy{yzy{yyyzyzzzyzy{zz{zz{zzyzyyyyy{zzyz{zzyzyyzzyzzz{yz{z{yyz{yzyyzzzzy{{zzzyzzyyzzz{zz{zzyzzzzzy{z|{z{zz{z{zyzzzyzzz{z{zzy{{yzy{{zz{zzzzzzzzzzzz{{{z}z{yzzzzzyzyzzzzz{{{yzyzzyzy{z{{{zz|{zyzzzz{{{{zz{{{{yzyzzz{{z{{z{{|zzzzzz{||{z|{{{{{zz{z{z{{{{{{{{z{zyyzyzz|z{z{{||{z{zz{z{{{{z|{{||zzzzzz{|{{|{{z{{{z{z{zz{{{{{{{{{{{{zz{{{{{z{z|{zz{z{zzzz{zz{{|{{yzzzz{zy|zz{{{{zzzzyzzzzz{|{{|{zzyyzzzzz{{zz{zzzzyzzzyy{{{zz{zz{zzzzyzy{z{zz{z{{zzyyzyy{z{zz{zz{zzzyzyzzz{zzzzz{zzzyyzxzz{{{{z{yyzzyyyzzzzyz{z{zzzzzzzyzz{{z{zzz{zzzyyz{{zz{{z{y{yzzx{zzzz{zz{zzyxzyzyyzzzyz{zzzzzzxzz{zz{zz{z{zyyzzyzzyz{zz|zz|zzzzyzyyzzyzzz{yyz{z{zy{zzz{{{zzzzz{zyz{{{zzz{zzz{zzzz{{zzzzz{{{z{zzyzyz{|z{z{{zzzy{yzzz{z{z{{{zzzzz{yzzzz{{{|{{y{zzzz{{{|zzzzzzz{{zzzz{{{{{{{{zz{{y{{zz{{|{{||zzz{{{yz{{{{z{z{{yz{zz{z{|{|{{{{{{zyz{{zz{{{{{{||{z{{zzzz|{{{|{|{zz{z{y{{{{}{{{{{zz{{zzz{{{{{||{{zzz{zz{z{{{{||{{zz{{{zz{{zz{{|{{{zzyzz{{z{{zz{{zzzzzz{zz{zzz{zyzyyyzzzzzz|zzz{{zzzzyyyyzzz{zz{{{yzyzzzzzzzz{z{{yyzzzzyzz{{{yz{{zzzyyyzyzyzzzz{{yyyyyyzyz{xzz{{zzzyzyyyy{zzzz{zzyxzyzzzy{zx{zzzzzyzyyyzzzzzzz{zzzyyyyyzzzzzz{{{zyzzyyzyzy{z{zz{{zzyyyyzyz{{zzz{zyzyyyzyyzzz{{{|zzyzyz{yyz{{{{zzzzzzzzzyzzz{{z{z{zzzyyyyyz{{zz{{{{zzzzzz{zz{{{z{zzzzzyyz{zz{zz{zz{{zzzzyy{{z{{z|z{zzzzzzz{{z{z{{{zz{zzz{{{{{||{{{{z{zy{zz|{{{z|{{{y{zzz{z{|{z|{{{{zzzz{yz{{{z{z|{z{yz{{z{z{{||{{{|{yz{|{{{{{{{{z|{z{{zz{z{{{{{|{{{z{zz{zzz{{{{{|{{z{|{{zz{{||{z{|{{zz{zzz{{{z{z|{|zzzzzzzz{z{{{{zyzzz{zzzyzzz{{{{yzyyzzzzz{zzzz{zzzzzzyzyyzzzz{zzzzzyzyyzzzzzzy{z{zzzxzyzyz{zzz{{zzyyyyzzz{z{yzz{{yzzyyzyz{zx{zzzzyzyzyzyzzzzz{yzzyyzyzzyzzzz{zzzyzzzyyyzzzzzzzzzzzzzyyyzzz{yzz{zzyzyyyyz{|{}{zzz{zzyyyzyy{{yz{{yyzzzyyyyyzyzz{z{yyyzzyzz{z{{{{{{{z{zzyzzzyzz{z{{{yzzzzzy{{{zz{{{zyzzz{{zzz{z{{zzzzzzzzz{zz{{z|zzzzzzz{zyz{{zz{z{yzyzy{{y{{|z{{{{zzzzzzz{{|{{{{zz{{zzzzz{|{z{{|||{yzzyz{z{|z{{z{z{zzzzyzz|{{{{{{|{{{zzz{{z{z{{{{{|y{{yzz{{{z{||{{|zz{yzzz{{{{{{|{zzzzz{zz{{{z{{{||z{z{z{{{|{z{{{{zz{zzz{z{{{{{{|z{{z{{yzz{|{{y{{zzz{zyzyzzzz{z{zzz{yyyyzzyz{yzyy{yyzzzzyzzyzzz{{z{zyyzzzzzzzy{zz{{zyyzzzyzzzzy{z|zzyyyzzyzzzyz{{zzyzzyyyyz{yy{z{{zyzyyzyzzyzzyzzzyzzyzzzzzzzzz{{{zzzzzzzzyz{zyz{zzzzyyzzzy{z{zzzzzyxyyzyzzzz{z|{zzyzzyxyy{zzz{zz{{yzyzyyzyzzz{|{zzzzyzz{yzzzz{yzzzzyzzzzyy{yz{zz{zzy{zyyy{{{|z{{{zzz{zzzzzyz{z{z{zzyz{yyzz{{{{z{{zzzyz{zyz{{zzz|zzyyzzzzzzz{z{{{{zzzzzz{z|z{|z|z|zzzzzz{y{{z{{{z||{{zzz{yz{{{|{{{z{z{{{zz|}zz{{z{{zzzz{{{z|z{{|{|{{z{{{{zz{|{{|z{{z{zz{z{{{{{{|{|{zzyz{zz{{{{{{{|z{y{{{zz|{z|{{{{z{zzz{{{zz{{z{{{zzzyyyzyzz{{{{{{zzzzzzzzzzzzzz{zyzyzyzyyzzyz{yz{yzzzzzzz{zzyyz{{zyzyzzzyz{z{z|{|{yzyyzyyzzzzz{{{{zyyzyyyzz{zzz{yzyzyzyzyz{{zz{zy{zzzyzzyzz{zz{{zzzyzyzyzzy{yzz{{yyyyyyzyyy{zz{{{zzzzzyxz{zzzzz{y{zyzxzzyy{zzzz{{zyzzxyzyz{zyz{{{zzyzzzzxz{zzz{|{zzy{z{zzyzz{zz{zzz{zyxzyzz{{y{zzzzzyzyz{{zzz|{z{zzzz{{yzz{{{{{{zyzzzzy{zz{{{{{zz{yyzzzzyzz{{zz|zzzzzzyz{{{{zz|{z{zzz{{zy{z|||z{{z{{yz{zzzz{{z{|{{zzz{zzy|{|{zz{{zyzz{zzz|{|{z{{{{{{{z|{{z{{{{|{{{z{z{zzz{{{{{|{{{{{{zzzz{{{{{{{{{z{yzzz{zy{{{||{zzz{z{z|{{{{{||{zzzzzzz{z{{{{{{|{{z{zz{y{{{{|{|z{zz{zzz{{z{{{zzzzzyzzzyyy{{z{{yzyzzzzzzy{{z|zzzzzyzyzyzyzzzzz{{{zyyzyzzzzz{zyz{z{yzyzyzyzyzyzzyzzzzyzzzzzz{zzz{zyzzzyyzyzzz{z{zzzyyzzyzzyyz{yzzzzyzyyyzyzzzzz{{zyxzyyzzyyzz{zzzyzzzzzzzyyz{zzz{zzyzzyyzzzzzzzzz{zzzzz{zyzzy{z{zzzy{yyzzyzz{{{z{y{zzyzyzzz{z{zz{{z{zzzzzy{z{{z{z|yz{yzyyyz{|{z{|{yz{y{yzz{zz{{{z{zzyyzzzzz||zzz{yzzzzzzzz{z{zzz{{{zzzyzyz{zz|{{|{zzzzzzzz{z{{z|{{{{{{zzzz{{yz{{{{{zzz{z{z{||{{{{{zz{zzz{|z{{{|||{zzzz{zz{{{{{{{{{{z{zzzyzz{{{z{{{z{z{{{z{}{{{{{z|{z{{{zy{zz{z||{|zzzyzzy{z{{{{{|{z{zzzzzzz{{{z{|z{y{zzyzz{{|z{{{{{zyyzxyyxz{yzzz|zyzzzyyz{zzzzz{zzzzzxzyyzzzz{{z{{{zzzzzzy{zz{zz{zyzyyzzyzzyzzz{{yyyyzzyzyz{{z{z{yzyzyyzzzz{zyzz{zyzzyyyyyzzz{z{zyyzyzyyzz{yzzzzzyzzzyzxyyzzzz{{{yzyyyyzyyzzzyz{zyzzyzyzy{zzzzz{{y{zyzzyzyz{{z{zzzy|yyyzzz{z|zy{{{zyzzyyzz{{zzzz{zyzz{yzzzz{z{{{{z{zzzzzy{{{zz{||{zz{yzyy{|{zz|{{z{zyzz{z{{|{zz{{{zzzzzzyz{z{{{z{zz{yyy{z{|y|z|{{{{{zy{zz{{{|z||{{zz{{{zz{{{{{||{z{z{z{{y{{{{|{z{z{zzzz{{z{{{{{|{{zzz{{yzy|{|{z||{zz{{{z{{{{{{|{{{zzzzz{{{{{{{z||{z{z|yz{z{{{|{z|{z{yzyzzz{z{z{|z{z{{yzzz{{{{{z{{{zzzzyzzz{z{{zyzyzyyzyzyzzyzzz{zzyyzzyyzzyzy{{{zzzzzyzz{yzzyzzz{zyzzzyzyzz{zyzy{z{zyyzzy{zyzyyz{yzzyzyzyzzyzyyzzzzzyyzyz{{zyxzzzzyzzyzyyzzzzzy{yyyyzxzzzzzyzzz{yyyyzxyyzyz{y{z{zzy{zyyzzzzzzzzz{zyyzzyyyzzzy{z{yzyyzzyzzzzzyy{{{zyyzzzzzzzzz{y|{yy{yzyzyzz{{yzz{zyyzyyzz{z{{z{{{{zzzzyzzzz{z{y{{{{zz{yyzzz{{z{{zzy{zzyzy{{|{zz{{zzzy{zzyzz{zzz{{{y{zz{zyz{{{zz{{zz{zz{{zz{z{{{|{{zzzzyz{{z{zz{{{{zzz|zzz{{{{{{{|zzz|{y{{z{{z{{{|{zzzzzzz{|{z{|{|zzz{zz{{{{{z{{{{z{zz{zz{{{|{zz{{zzz{zzy{{{{{{{{{{zzz{zy{{{{z{{|{{{z{yzzzy{{{{{zzyzyzzzyy{z{{zzzyy{zyyzzzzzyzzzz{zyzzyzzzyz{zzzz{zzyyyzzyzyzzz{zzyyzzzzzzyy{zz{{{zyzyyyzyzy{{zzz{yyyzyzzxzzzzz{z{zyzzyyzzyzzzyz{{{z{zzzyzzyzzzz{{yzzzzyzy{z{zzzzzzyzyyyyyzzz{zz{zzzxyxzyz{z{zz{|{{yzy{zzyzzzzy{{zzyyyyxzzz{zzzzz{zzyyzzxy{z|{{z{z{yyzzzz{zz{zzz||zzzzzy{zzzzy{{{|{z{zyyy{zzzzzz{{y{zz{z{z{{{{{{{{zyzzzyyy{{{zz{zzzyy{zzzzzz{zz{zz{zzzzz{zz|{{{|{|zz{zzz{z{z{{{{{{z{z{{{zy{z|{{{{{zzz{{{z{{{{{|z|{y{{yzz{z{{zzz{{{{z{zzzzzz|{|{{{{z{zz{z{z{{z{{{{{{{zzz{{z{{{|{{{|{z{z|zzz{{{{{{{|{{{zz{{z{{z{{z{|{{z{zz{zz{z{z{{z{yzzzzyy{{{{{zzyyyzzzyyyyz{z{z{zzzyyyzyzyzzz{{z{{{zyzyyyzz{zzzzz{zzzzyzyy{{zzzz{zzzzyyyy{z{{zz{{yzzyzzzyzz{yzzzyzzyyzzyyzz{zzzyzzzzzzzyzzzzz{z{zzxyyzyzzyyyzyzzzzxzzzzzzzzz{{{zyzyyzyyyy{zzzz{{yzzyzz{zyzzzz{|{{zzzyyyyyz{z{z{yzzzzyz{yyz{{z{zzz{yzyzyzzzzzzz|{{yyyzyyyy{y{|z{{{{yzzzyyzy{{{{z{{zz{yzzzyzzzz{{zyyzzz{zzz{{|z{z{{{{zzzyzz{{|z{z{y{zzzz{z{{|{{|{{{zzzz{yz{{{{{{{{z{zzzyzzzz{{|{|{z{zz{zzyz|{{{{{{||{{zz{zz{{{z|{{|{{zzzzzzz{{{|z{|{z{{{zzzz{{{{{|{|yzzzyzzz|||{{z|zzzz{zzzz|{|{zz|{{zzy{zz{{z{z{{{{{z{z{{yzzz|{z{{z{zzzzz{{{zzz{{z{z{zzyyzz|{zzy{z{zyzyzzz{zyy{zz{z{zzyzyyzzz{z{{{{zyyyzyzz{{|z{|z{zxyyyyyyz{zz{zzzzyyzyyyyzz{{zzzzyyyzyy{yz{zz{z{{zyzyzzzz{z{y{{yzy{z{zyyzzzz{{{zz{yyyyzzzzz{z|{zzyzyzzyyzz{z{z{{yzyzzyzyzzz{z{z{{zz{zyzzy{zzzzzzzyyzyzyyz{zz{z{zzz{y{yzzzz{zyzz{zyzzzyzzzz{z{{z{zyzzzyyy{{{{{{{{|z{{zyzy|z{z{{{zzzzyzzyz{{|{{z{{{zzz{zzz{{|z{zz|{z{y{{z{{|z{z{z{z{z{{{{{{{{|z{{{zz{{{zzyz{|{{{{{{{zzzzzz{{{{{{{{|{zzz{{{{{{{|{{{{|{{z|z{z{|{{|{|{{{zz{{{{{{{{z{{zy{z{zz{z{{{{{{|{{zz{zz{z{{|z{|{{y{zyzz{z{z{z{{{zz{{yyzzz|z{{{{{zzzzz{zz{zz{zzyzyzyzyyzyy{zzy{y{zyyzzyyyzz{zz{{zzyzyyyzzzzzzzzzzzzzyzyzyz{{{zyz{z{zyzyzyzz{{y{z{zzzyyyyyzzyzzz|{y{zzzyyyyz{zzzzzyzyzyyzy{{yzzz{{zyyyzyzzyzz{zzyzzzzzxyyzz{{z{y{zzy{zxyzyzz{zyzzzzyzzzyzzyzzzzzz{zzzzzzzzyzzzzz{{zyzyzyzxz{{zzzzzzz{zzyzyz{zzz{{{zyz{zy{zz{{{{{zz{yzyzzz{z{{zzzzzzy{zzyzzy{{{{{{{{yyyzzzzzz{{{{{{{yz{zxzz{{{zzzz|{zzzzzz{z{{{|{{{yz{zz{{z{{zz{{{|zzz{{yz{{{|z{|{{{zz{zzzz{|{{{z{||zzzzz{{{{{{|{|{{zz{y{z{{|{{|z|{{z{z{zzz{{||{{{{{zzzzzzz{{{{{|{{|zyz{zz||{{|z{{z{{z{zzzzz|z{{z{{{zyzyzzzzz{{z{{{z{zyzyzy{{zy{{z{zyzyzzzyz{{zy{zzzyzzzyyzzzz{{zz{zzzzzzyz{zzzz{z{{zzy{yzzzyzzzz{{zzzzyyzxzzz{{zzzzyzyzzzyzzzzzzzz{zzzzzyy{zzyz{{zyzzzyyyyyzz{zzzzzzzzyxyzyzzyzzzzzzyzyzyzyz{z{z{zzzzyyyyzz{z{zzzzyyzzyyyyyzzz{{{{zzyyzyyzz{zzy{zz{zyy{zzzzz{{zzzzy{zyzyzz{z{zzzzzzy{zzzzyzz{z{{|{zy{zzyzy{z{{{{z{|yzyzzzzzzz{{{{zzzzzyzyzzzzzz{{{z{zyyzzyz{{zz{z{zzzz{zzzz{|{{{{{zz{yz{{{{{{|{{{|zzz{|{zzz|{{{{{{zz{zzz{z{{{z{{{z{{{{zz{{z{{{{|{|{zz{zzz{{{z{{{{{{z{zzz{z{|{{z{z{zzzzzz{{{{z{{{||{{{z{zzz{zz|zzz{z{{zzzzz{z{|{{{zzzzzzz{{z{{{zz{y{{z{zy{zzzzz{{{zyyxzzyzyz{{z{z{zzzzzxyzyz{{z{{z{{zzxzzzyzzzz{{zzz{zzzzyyz{zzyz{{zzyyxyyyzzz{z{{{yyzzyyyzy{yyyz{zzzzyy{yzzz{zz{zzzxyyyyzzyzzzyz{zyzyyzyzyyzzz{{z{yyzzyzxzyz{{{z{{zzz{zzzyzz|{{z{{yzyzyyyyyzzz{{zz{yzyzzzzzzzzz{zzzzzyzzyyz{{zzz{zzzzz{zzyz{yz{{z|zyzzyzyyzzzz{{zzzzzzz{zzz{{{{z{{zyzzzzyzz{y{{{|zyyyyzzzz{{z{{{zzzz{z{zzz{zzzz{zz{zzzzzyz{zz{z{{|zy{z{z{{zz|{z||{{yy{zyzz{z{{{z{z{yz{{zzz{{{{{{|{{z{zz|{{{|z{||{}zz{{zz{z{{{{{{|||z{{{{z{z|||z|{{{y{zzzz{{{{{{{||{{zzyzzz{zz{{{|{z{zzzzz{y{{{z{|z{zzyzzzyz{z|{zz|zzzzzyzyzz{z{|y{zzzyzyxyy{{z{z{{zzzzyzyyzz{z{|{{zzzzzyyx{zzyzz{zzyzyyyzyzzyz{z{{xzyyzyyy{zzzy{z{yzzzxzyyyzzzzz{z{zzyzyyz{z{z{zzzzzzyzzyyzzy{zz{{yyyzyzyzz{zzzz{zzyzzyzyzzzzz{{yzzz{zyzzzzz{zzzzyyzzzyyyyyzyyzz{{{yzyy{zy{zzzy{z{zyzzzz{zz{z{z{{zzzzyzzzz{{yz{zzzzzyzzyyzzzzzzz{{zzzyzyzz{{{{{{z{zyzz{yzz{{{{z{{{z{zzzzyzz{z{yzzz{zy{{zzzzzzy{z{zz{zy{zzzz{{{|{{{zzzzz{{yz{{{z{||{zy{z{z{zz{||{{{{yzz{zzz{|{z||{||z{{zzz{z{{z{|{|z{z{z{zzzz{{{|{{|z{zzzzz{{z{{{z|yzzzzz{{zz{{z{{{{zzzz{zzz{{|{|{zyz{zzzzzz{z{{z{|{{zzzzz{{{{{z{{{zy{x{z{y{z{z|zyzzyzzxyyyzz{{zyzyzyyzzzzz{zzz{z{{zyzyyyxzzzyzzz{{yyyzyyxyyzy{zzz{zyyyxyyzzzzzzz{{{yyyyzzyyzz{zyzzzzzyyyyyzz{yyyzyzzzyyyyyyyzzzyyzxyyyzyzzzzzzzyzzzyyyyzyzzzzzzzyz{yzyyzxxzzz{z{zzyzyyyxyzzyzyzyyyy{yyyyyyy{zzy{zzz|yzyyyyzz{zzz{zzzyxzz{y{zzzzy{{yzzzzzzzzzzz{zz{zyzyyyzyzzzz{z{zyyzzzyyzz|zz{{xzzzzyyzyy{{{{yz{zzyy{zxzyz{{z{{{{z{zzzy{y{z{{{z{{{zzzzzyyz{z{{{z{zyzzzzz{{z{{{{y{zzzz{zzz{|{{{{{|z{zzz{{yzz{{z{{{{{|zzzzzz{{z{{{{zyzzzzzy{{{{z{z{|zzzz{zz{z{{{{|{{zzz{{zz{|{{{{{{z{zxzy{zzz{{{z{{zzy{yzzyzzz{z{zzzzzzzzzyzy{{{zz{yzzyyyzyyzzz{zz{zyzyyyyzzzyzzz{zzzyzzzyyzzyz{z{{yyzzzyxyyzzzzzzzyzzyyyzx{yz{z{zzzyyyzyyz{zzyzz{yyyyyzzyyzzy{z{zzyyyyzyzzzyz{zz{zzyyxzzxzz{z{zyyyyyyyxyyxzzzzyz{zzyyyyzyyyzzzzzz{yzzxyyzyz{zzzzzyzzzyxxyyyzyyyyz{zyyyyzxyzzzzzz{{zzzzzzzyz{{{zzz{zzzzyzzzzzyzz{{{yyyyyyyyz{zzzz{zyzzzzzzz{{z{z{z{yzz{zzzyyz{z{{|zzyzyyzzzz{{zzz{{zyz{y{z{{{zz{{{zzz{zzzzzz{z|z{z|zzyzzzzzz|{{z{zz{zzz{zzz|{zzz{{{zy{y{{z{z|{{z{{zzz{{zzzzz{{{{{|{|{{{|yzz{z|z{{{{zzzz{yzz{{{z{z{|{zz{{zyzz{z{{{zzzzzyzzzz{{zz{zzzzzzzzyzzz{{{{z{{y{zzzzzzzyyz{{zzzyyxzzyzzy{zz{zzzzzyzzzyz{zz{{zzzzzyzzzxzzz{z{{{yzyzyzyyz{y{zzzzyyyyzyyyzzzyyzyzzyyyzxzyz{zyz{zzzzzyyzzzyzzyzzzyzyzzxyzzzzz{zz{zyyyzyyyyzz{zzzzy{zzzyyzyzz{z{zz{yyzyyzyyyyzzzz{{yxyyyzzyz{zzz{zzzyzyyyzzyzyyyzzzzyzzyyyy{zz{zy{zzy{yzyzy{{{zzzz{zyyyyzyyzyzzyzz|zyzyzzzzyz{y{z{zzyzz{zzzz{{{{{y{{zzyyzyzz{{{zz{{zzzyzzzyzzzz|{{{yzyzzzzz{{z{{|{zz{zzzz{z{|z{{||{zyzzz{zyzz{{z{{{zzyzzzy{{{{{{{|zzz{zzz{{{|z{{{|{|z{zyzzz{{||z{{{{z{{zyzz{zz{{zy{zzz{{zz{{{z{{{z|{z{zz{zz{{{{{{{{{zzz{{zzz{z{zz{{{zyzzz{zz{z{z{zzzzzzzyzy{{{z{zz{zyyzzzzy{zzz{z{zzzyyyyz{{{zzz{{zzzzxxyzzzzzz{z{{zzzzzzzyz{{z{zzzyzzzzyzyz{z{zz{{yzzyzzzyzzz{zzzzzzzzzyyzyzzyz{{yz{zzyzyzz{zz{{zzzz{yzyzy{zyzy{{yyzyyyyyzyz{yzz{{zzzzyzyzz{zz{z{{zzzyz{zyzzzyzz{{zzzyzzyzy{{zz{{zyz{yz{yzzz{zz{{zyzzzzy{zz{zzz{z{zzzzzzyz{zzz{{{zzzzzyyyyz{z{z{{z{yyzzzyzz{z{{|{zzzzzz{yz{{{zz{{zzzyz{zyz{{{{{{z{{zzzzzyz{{z{{z{zzzzzzz{{|zz{{{{{{zy{zzyy|{zz|{{|{z|yz{y{z|{{{{|{zzz{{{z{{{{{{|{|{zz{z{yz{{||{{{{{{z{{{z{{{z{{{|{z{z{zzz{{{zz{|}|{|zzzz{{{{|{{{{{zzz{zzz{{z{{|{|{z{zzzzzzz{{zz{{z{{zzyzzzzzz{zzzzzz{yzzyyzzzzz{zzzzzzzzzzzz{|z{{{zzyxyyzyz{zy|zzzzyzzyzyzzzz{yzz|{{yzyzyz{{{zy{yzzyzzzyzyzz{zzzzzzzyzyyyyyyzyzyz{zyzzxyyzzzzz{{zzyzzyzyyyzzzzyz{zzzzzzzyyzz{{zzzzyzyyyzzzyzzzz{z{zzzyyyyyzzzyz{z{z{zyzzyzy{yzz{zzzzzyyzyzx{{zzz{zzyzy{yzzz{|zzzz{zyzyyzyz{zz{yzz{zzz{yyzz{{{zz{{z{zzyyyyyzzz{{{{{{zz{z{yzzzzz{z{{{zzzy{yy{{z{{{z{zzz{z{{z{{{{{{{{z{zzz{z{z{{{zyz|zzzzzzzy|z{{{{{||zzzzyzz{||z{z{{{zzzzz{{{{{z{{z{{{z{zzzzz{|zz|{zzz{{{y{zzz{{{{{|{yzz{zzzz{y{z{||zzzz{y{z||{|{{{|zz{z{z{zz{zz{{{{{zzyzyzz{{{z{z{{zyyzyyzzzz{y{{z{yzyzzzxyz|zzzzzzzzz{yxyyzzzzzyy{zyyyyyyzz{zzz{zzzzyyyyyyyzzzzzz{yx{yyyzyzz{zzz{{zzzzyyzyyyzyz{zzyzyyyyyyzzzzy{zzzzyxyzyzzzzzz{z{yyyyxyyxzzzzzz{zzzzyyyyyz{{{{zzzzzzzyyyzzz{z{z{zyyyyyzzyz{{zzy{zyyyyyyzzyzyyz{zzzzzzyzyyzz{zzzzzyyyzyyyyzzzzyz{{zz{zyyzyzzzz{{{{{zzyzzzzzzzzzzzzzyzzzzzyy{z{zz{{zzyzzzyy{z{zz{|yzyzzzz{zzz{{z{z{zyzzz{zyz{z|{{{{zzzz{zzz{{{{z{{{{z{zyzzy{z{zz{zzyz{{zzzz{|{z{{{{{zzzz{{{{{|zz{{{{zz{{{z{z{{z|{{{zzzz{{zz{{z{z{||{{zzyy{z{{z{{{z|{{zz|yz{{|{{{{|{z{{yzyyzz{{{{{{{zzzzzyzzy{{{{z{z{zzzzzz{zz|{{yzzzyzzzzzxzz{z{z{zzzzyyxzyzzzz{{zz{yzyyzzyzzzy{{z{zzyyzzy{y{zzzxzy{yzyzy{yz{{{zzz{zzzy{yzzzzyzz{z{zz{yzzzyzz{{y{zzzyzzyyzzzyy{zzyy{zyzyzyyzz{{yz{{zyzzzzzzy{zz{{zzzzzzyzzzzzzz{z{zzzzyzzzzzzzzyzzyzyzzzyyzy{{zzzzzzzzzy{zyy{zzzzzz{yzzzy{zyz{yyz{{zyyzzyzyzz{{{zz|zyzzzy{yz{z|{zz{yzzzzyyzy{{zz{{{{zzzzzyzz{{zz{{{zzzzzy{{z{{{z{{z{zzzzyzz{{|z{{{{yzzz{z{{{{{{{{z{z{{zzzzz{z{{{||{zzzz{zzz|{{z{|{{zzz{z{{z{{z}zz{{{z{{{|zzz|{||z{|{zz{z{{zz{z{{{{{z{z{{zzz{{{{z{{{{z{{{zz{{||{{{{{z{zzzzzzz{{zz{{z{zyzzzyzz{y{{z|zzz{zyzyy{{{{yz{zyzyywyyyzyzzzz{z{yyzyyzyy{zzzzzzzzyyzzzzzzz{zyzyzyzyyzzzzzzyy{zz{yzxyyzyzzz{zz{z{zzyzzyyyz{zz{z{zyzzyyyy{zzzzzzzzzyxxxyyzzzzzzz{yyyyyyzyyzzzz{{yzzzyyzyyzzzy{{zzzzyyy{yzzzyzz{zyzyyyzyzyyzzz{zzz{yyyxzzzyzzzzzzzyzzyzzzyzzzzzyz|{yzyyyyzz{zz{zz|zzzzzyzyzz{yzzz{zzzzzyzzyzz{{{zz{zzzzzzzz{zzz{zz{xzyzzyyz|z{z|{{zzyzzx{{{zzzz{y{zz{yzzyz{{{z{{z{yzzzyz{z{z{{{{{{zzzyz{zyz{|{{z{{{zzz{yzz{|{|z{{|zz{zz{y{y|zz{{{{{zzyzzzyz|z{{z{{{z{{zz{{{{{{{z{{zzzzz{zzz{z{{{{{{zz{{zzz{{{{{|z{{{zyzzz{z{{zz{{zzzz{{zzyz{{{zz{zz{zzz{zzzzz{{yzzzzzyyzyyzz{z{{{{yyzzyyyyzyzzzz{{zyzxyzyzzzyzzz{{zyxzyxyzyz{{yzz{{yyyyyyyzzzzzzyzzyyyyyzxzzyzy{{zzzyyyxzyzzzxzz{zzyyyzyyzyzy{yzzyyxyyzyzyy{zyzz{zzyyzyzzyz{zzzzzzzzzyyzyz{{yzzz{y{zzzyzzyzz{zxzzzzzzyzyxyzzzyyzzzyzzzy{yzzy{zzz{zzyyyzyyyz{yzz{{{{yzzzyzz{z{zz|{yyyzzxyzy{{{zy{zzyz{yzz{zy{{z{z|zzyzyzyzzz{z{zz{z{y{zzyyy{z{{z{{{|{zzz{zzz{{z{{{{zzyyyzzzz{z|{|z{zz{zzyzzy{z{{{{yzzzzzz{z{{{{z{{zzz{z{{|z{{z{{{{z{zzz{zy{z{{{z{{{{zz{zzz{|{z||{{|{zzyzzzzzz{{|z{z{z{z{zzzy{z{{{{{zzyzz{yy{z{{{{|{zzy{{zzy{zzzz{zzzzyyyyyzzzz{zzzzzzyyyyzyzz{zzyz{yyyzyyyyyzz{{zzzyzyyzyyyy{zzzzz{zyzyzzyyzz{zzz{{zzxzzxzyyzz{yz{{yzyyzyyzy{{yy{zyzyzyyzyyz{zzzzzzzyzzzzzyzz{zzzzyyyyzyyywz{zyzz{zyyzxyzyzzzzy{zzyzyzyxzyzzzzzy{zzzyzyzyyyx{zzzzzzyyyxyzzzyzy{z{z{yzzzzzyyzzzzzz{{{xzzzzzyzz{{{zz{z{yyyzyzzzz{yzz{zy{{yzyzzzz{{zz{{zz{zyyzyzz{z{{zzzzyzzzz{z{zz{{z{zyz{zz{z{zzz{{{zzzz{zx{zz{{z||{{{{zzzz{{z{|{{z{zzzzyzyz{{{z{z{{zyzz{zzyz{{z||{zzz{zzz{zz|{|{{z|zzz{zzzz|{{{{{{{{{z{{zz{{z{{{{|{{zz{yz{yz{zz{{{{{{zzzzz{{{z{yz{{z{zzzzzy{z{z|{{|{zzyzzzxz{{z{{{zzzzzzyy{{{{z{yz{yyyxyyzzy{zy{{z{zyyyyxzyzyzzzzz{{zyyyyzzzzyyzzzyyzzyyyyzzzzzzzzzzzyxxyzxz{yzzzyzzxyyyyyxyzzzy{zzzxyyyxyyzzzy{{yzyyyyxyyxzzyyyzzyyyyyyxyxyzzzyzzyzzyyyyyyz{zzzyz{zyyyyzyyzzz{zz{yzzxyxyyyzzzxzzyzzzzyzzyyyyyzzzzzyyzzyzyzzz{zyzzzxyyyyyzzyzz{{zzzyzyyzzzyzz{zzz{zyyzzxyyz{zzz|{z{yyyzzyzzyzz{zzzzzyzyzzyzyz{zzzzzzy{zyyzy{{zzzz{zzzzzzzyz{zzzz{z{zzzzzzzzzzz{{{{|zz{zzzzyzzz{z{{{zyyyyzz{{|{y{{|{z{{zzzzzz{z{{z{{{zzzyzz{{|{z{{{{{zz{{zzzzz{{|z{z{zzzzzyzzz{{{{|{{z{yzzyz|{z{zzz{yyzyzzzzzzz{|z{{{zzzzzyzz{z|zz{zzy{yyzzyyzzzzz{yyyyzyyzyyzzzzzzz{yyyxyxy{z{yzzzzzyzxzxyzzyz{zzzzzyyyzyyyzz{zzy{zzyyxyzyyzy{zzzzzzzyyzyyxy{zyyyzzzyyyyyyyzzzyyzzyzyxyxyyyzyzzzzzzxzyzyyyyyzyzyzz{yyxyyyyyzyzyzxzyzzzyyzzyyyzzyy{zzzzyyyyxyzyyyyz{zyyyzzzzyyzzz{{{yzzyzzyz{yz{z{{zzyzx{yzyz{z{y{zzyzyzzyzzy{zyzz{zyzzyyyz{{zzzz{zzzyz{yyzzzzzz{{{zzz{zyyzyzzzy{z{{zzyzzzyzzzzzy|z|zzyy{zyzzz{{{{z{zzyyzzzzz{z{z{{{zyzz{zzzzz{z|z{zzzz{zzzz|{z|{zzzzz{yy{z{y{{{z{{{zz{zyzyz{||{{{|{{zzz{zzy{z{zz{z{zyzzzyzz{zzz{{{z{yzz{yz{z{{{{{{{zzyyyzzyz{{{z{{{zzzzyyyzz{zzy{zzyyyzyyzyzzz{zzzzzzyyyyyyy{zyz{z{xyxyyyyyzzyy{z{zzzyyzzzxyzzyz{zzyyxyyyyyzz{zyzzzyzzyxyzyzyyyyzyyyzyzzzyyyzyzyzyzyyzyyyyyzz{yz{zyyzyzxyyzzzzzzzzzyzyyyxzyzz{zzz{zzyyzyyzyzzzzzz{zzyyxyyyyyzzzzyz{zzzyyyzyzzyzyzyzzzzyzyyyzzzzyz{{yzyyzyzyyzzzzzzzzzyzzyzzyzyzz{z{{zyzzy{zzzyy{zzzyyzzzyyzzz{zzz{zzyzyzyzzyzzzzyzzzyzyzzyyz{|z{|z{zzy{yyzzyz{{zzy{zzzzzzzy{{{{{zz{zzyz{y{z{{{{{zzzzzyzzz{yyz{y{{{{zz{zzzzz{{z{||{|zzzzz||zz{zzz{{{{{zzz{zz{{{{{{||zzzzyzzz{{{{{{{{zzzyz{zz{{{{{{{{{{yy{zzz{{zz{{{zzzz{yzyz{{{{{{{{zz{zzzzzz{z{zz{zzzzzzyzxzzy{zzzzzzyyyyzyyzz{zzzyyzzyzyyyz{zzy{zzzyyyzzyyzyyyzzzzzyzzzyyzzzzyzz{yzzzyxyzz{zzzzz{zzzzyyy{zzzzzyzz{{zyyyzxyzzzyy{zzzyyyxzyzzzzzzy{zzyxyyzyyyzzyzz{zzyzzyzxzy{z{{{zzzzzzyzyzzzzzz{{z{xyyzyzyzzzzzyyzzzzyzyyzyzyzzzzzzyyzzzzyz{zzzzzzzyyzyxyyzzzzy{zzyyzyyyzz{yzzz{z{yzzyzyzz{zzy{{zzzzzzyzyzy{zy{z{zzz{zzyzy{z{zzzz{zzzyzzyz{{{{{{zzzyyzyzyz{{z{z{|{zzzzzzzzzzz{{z{{zzz{zzzyz|{{{{{{|y{z{zzz{|{zz{|{yzzzz{{z{|z{{{{|{{z{zzz{z||{{{z{{zzzyyzz{{{zzz{{zzyzzz{z{{{{{|{|{{zz{zzz{{{{{{{|z{yyzzzzz{zzz{zzzzzzzyyz{zz{zz{{zzyyz{yzz{zyz{{{yzyzzzxyzzzzzzz|zzyxzyzzzzyzzz{zyzzzyyyzzzzz|{{zyzzyzyzyzyzyzzzzzzzxzyzyz{zyzyy{zzyyzzyxzzyyy{zyzxyyxyyyy{{zzzzzyzzyxyzz{zzzy{yzzzyyzxzyyzz{zzyzyzxzyzyyzzzy{zzzzzzzxyyxz{zzzzzzzyzzzyzyzzzyz{z{zyyyzzyzzzyzzzzyzzzzyzyz{z{{{z{zzzyzzyyyz{zz{{{{zzy{zyzzzzzzy{{{zy{yyyyzzzz{{{|{z{yyzyzxy{{z{{zz{y{zy{zzz{zzy{{zzyyzzzzyz{yzzz{yyzzzzzyzz{{zz{{{zz{zzzzz{z{|{{{{{y{z{xzzz{{{{{||zzz{{y{z{{{{{{{{{zzzz{zzy{{zz{z{|zz{zz{zz{{z{|{{|z{zzz{z{{{{{z{{{zzzzzzzz{zz{{{{{zz{{yzz{z{{{{{{zyzyyz{z{z{{z{{z{xyzzyzz{{|{{{zzzyzyzzz{z{zz{zzzzyyyyzzxz{{yzzzyzyyyyyyzyzz{yzzzzyzyzyzy{z{z{{zzzyyyyzyzzzz{yz{zzzzx{yyyzzzzyyz{xyzzxzyyzzzy{{zzzyyyzyyyzzzyyzzzyzyzxyzz{zyzyzz{yxyyzxzzyzzz{yzzzzyyyzyyzzz{z{z{yzzzyzzyzzy{zzyzzyzzyzyyyyzyz{{zyyzyzyzzz{zz{{z{zy{yzzzzzzzzzzz{zzyyzzyyz{zzy{{{{zzyzyzz{zzzzzz{zzzzzzzzz{{zz{z{zyzzzyzyy{zzz{{{{y{zz{yzz{{{zy{zzzy{zy{yzzz{zzzy{yzz{zyzy{yz{|z{zzzzz{yzz{z{{zz|{zyzzzyyzz{{{{{z{yz{yzzy{|{z{{z{z|zzz{zy{zzz{{{{|zzz{y{{{{{|zz|{z|zz{zzy{{{{{{z|z{zyzzz{{{{{z{{{{zz{{zz|z{{{{{{{{zzyyzzzzz{z{{{{{yzzyz{zzz{{zzz{{yzyyyyzz|zzzzzzzyyyyxyzzzyzyy{{yzyyxyyyyzyzz|{{yyyzzyyyzzzzzz{z{yyzzyyzyzyzyyzyzyzyyyzyzyzyzzz{yyyzxyyyzzzyyzzyzyyyyyzyyzy{yzzyyzyyyyyzzzyzyyzyyyyyzzyyyyyzxzzzzyyyxyyyyzzzzzzzzyyxxxx{zzzz{zyyzyyyzxyzyyyzzzz{yyzyyyyyzzzyyz{{yzzzzzyyzz{yzzyzzyyzzzyyyzzzzzzzz{zyyyzzzzz{z{{{yzzzyyzyzz{zzzzzyyyzzyzzyzz{zz{zzyzyzzzy{{zzzz|{zz{zzyzzyzyzzzzzzyzzzzyzz{zzz{{{y{z{{zzy{zzzz{|zzzzzzzyz{{z{{{{{zyzzz{zy{z{{{{zz{zzzyzyyz{{y{zzzzyyzzzz{z{{|yz{z{zzyzyzz{z{zz{{{{zzzyzy{{{{zzz{{{zzzzzzz{z{{z{zz{zzyzzzzz{zzzz|z{{|zzzzzz|{{zz{{zyzyzxzz{zzzz{zzzyzzzyyyyzzzyz{zzzyzzyyyyzzz{{zyzyyyyzyz{yz{zzzzz{yyyyyyzz{zyyzzzyyyyxzyzzzzy{zzyzyzzyzzy{zz{{zzzyzyzyyzzy{zzzzyyzyyxzyy{zzzyzy{zzyyzzyyyzzzzzzzzyyzyyy{zzzyzzzzzyzyzzyzzzzz{zzzzzzzzzzyy{zzz{z{x{zyyzzxyzyzyzzzyzzyyyyyz{z{z{{zzyzzzyzzz{zyzzzzzzzzzyzz{zz{z{z{yzyyzyyzzzzyzz{zzz{zzzyzy{zz{{zzzyzyzzyzzz|{{z{zzyzzyzzzz{zzyzz{zzyz{zzz{{{{{z{{zzzyzyzz{{z{z{{{{z{zz{zxz{z{{||z{zzzzzzzz{{{{z{{yzzzzzzzz{{z{|{{z{zzz{zzy|{{{|{{|zzzzzz{z{z{z{{zzz{zzzzz|z{{{{{z{zyz{zz{{z{{{{z{z{{zz{zzy{z|{{{|zzz{yzzzz{z{{{zzzzz{zyzzz{{zzzzzyxyzyyzyyzyyzz{zzyzyyyyyzz{zz{z{zyyxyzxxzzzzzz{z{yzzyzyyy{zzzy{{zyxyyyyyzz{zzzz{zyyyyyyyzyyzzzzzyyyzxyzzzyzxzzzzzzyyyzyzzzzyzzz{yzyxyyyzzzzz{yyzzzyyzyyyzzzyzz|zy{yzyzyxzzzzz{{zyyyyzzyyzyzyyzzzzzzyyyzzyyzzyzzzzz{zzyzzz{{{zz{{zyyyzyyzzzzy{z{zzyzzzyzy{zz{z{zzyzzzyzzyzzz{zz{zzzyy{yxx{{zzz{{{zzyzyxzyz{|{zzz{{zzzyzzz{z{zz{{zyz{yzzzzzz{{{|{zz{zzzzyz|{y{z{{{{zy{{yzzzzzzz{{zyyzy{z{z{|{zz{|{z{zzz{{y{z{|{|{{z{yzzz{zz|{z{{z{{zzz{z{zzzz{{zz{zzzz{{{z{{z{|{{{{zy{z{zz{z|{{{{{zzzyzzzyz{z{zzzzz{zzzzyyy{z{zzyzzzzyyyzzz{{{zzzzzzyyyyxyzzzzzz{zzyyyyyyy|zzxyz{{zzzxyyyzz{z{{zyyyzzyzyyyyzz{zzzzyyzyyzyxzzzzyzyzzyyyyyyyyyzzy{zzzzyyyxyyyyzzyzyyzzyyyzyzyyzzyzzz{xyzyyxyyyyzzzzzyyyzyyyyzzzzzzyzyyzyxyyyzyz{zyzzyyzzyzyyyzzzz{z{yzzzzyzzyzzyzzzz{xzyzyzxy{{{{zzzyzzyxyxyz{zzzzz{zzyyzzyy{zz{y|z{yzzzxzzzzzzzz{zz{zzzzzyyzz{zzz{{zyyzyyzyzy{z{{{zzzzyyzy{z{zzz{yzz{zyzzzyz{{{{|{{yz{yyzzzzz|{zz{{zzzz{zzy{{zz{{z{zyzzzzzzz|{|zz{{zzzzyzz{{z{|{{{{{zzyzzzz{|z{{|{{{y{z{z{{z{{{{{zzzyz{zyzz{z{{z{{{zzz{zzyz{{{{z{{{zzzzzzzzzzzzz{|{zzzzzzzzzz{y{{{{y{zzyyyyzyzz{zzyzyyyzxxyxzzzzyzzzyyxzyyyyzyz{z{zyyzxyzyyzzyzzz{{zyzyzxyyyz{zyyzyzyyyyxyyyyzyz{yzzyxyyyzyyzzzyyzzzyxyyxyzzxzzzyyyyzyyyxyxzyyzzzz{zxyxyyyyyzxzz{zy{zxyzzxzzzzy{z{yyzyyzyyxzzzzyyyzzyyyzxyyzzyyz{zyy{yyyyyyyzzyzyyzyyyzyzzzz{zzzzz{z{zy{zzyzz{{zz{{yzyzyyzyzz{zzzz{yyzyxzyyyz{zzzz{zyzzzzzzzz{zz{zzzyzz{zxzzzzzzz{zzyzyzyzzz{zzy|{{zzzzzzyzyz{{{{{zyzzyzyzzz{{zz{|{yyzzyyzzzy{{{zz{yyyzzyzzz{{z|zz{zzy{yz{zzzzzz{{{{zyzy{zzz{{zz{{zzzzzzzzz{{{z{{{z{zzzzyzzzzy{|{z{zzzzz{zzz{{|zz{{zzzyzzyyz{z{{zzz{zzy{zyyz{zzyzzzzzzzyyyyzzzzyzzzyyxzzxzyyyzzzzzyzzzzzyzzzz{zzzzzzxzyzyyzzz{yzzyzyyz{yxyyzyzzyy|zzzyyyzzxzzzzzzz{zyzyzyyxyzyyy{zzyyzyyyzyz{zzyyzyyyyyyyyyzyyz{zyzyxzzzxyxzzyzyzzzyxxyxyyyzzzyzyzzzyyyyzyxy{xyzz{zxyzyyyyxzz{yyzzzzzyyzyxyxzzyz{z{zyz{zyyyzzzzzy{{yyyyyyyyzzzyyz{{yyzzzyzzzyzz{zz{yyzyyyyyx{zyzz{zyzyzzyzyzyyzz{zzzzyyyzzyyzzyz{{zzyzyyzyy{{zzz{{z{yyyzzzyzz{yz{{{zzzzzy{z{{zzz{z{z{yzzyzzzz{y{zz{{yz{zzzzzz{z{{|{zyzzyzzz{{zzz{{{{{zyyzzzz{{{{{|zzzyz{yzz{z|{z{{{{y{yzzyz{zyzz{z{zzz{z{z{{{{{{zz{{zzyzzzyzz{z{{{{{zzzzyzyz{z{zz{zyzzyyyzzz{z{zz{zzz{yzxxyy{{zyzz{yyzzyxyyzz{zz{{{yzyyyyyyyyzy{zzzzyzyzyxzzzyzzzzyzzyyyyyxyzy{z{zzyyyyyyzzyzzzzzzyzyyyxyyzzzzyzzzzyyyyzzzzyzyzz{zzyyyyzyzzzyzzzy{zyzzyxzxzz{{yzzzzzyzyyyyzzzz{z{{zzzzyzzzxzzzyzzzzzyyy{yyzyzzzzzz{yyzyyzxyzzzzzz{{yyyzyyyyzzzzzzz{zzzzyyzzyxyy{{zzzzyxxzyzzz{z{yzzz{zyyzzzzzzz{zzzzx{zzyzzy{zzzzzz{zzyzzyyz{yz{|{z|zzy{zz{z{{zz{{zzyzzzyzz{{z{z{z{zzzz{yzyzzz{{z{{|zyzzzyz{||{z{{|zzzyzzzzz{zz{{zz{zzz{zzzz{{{{{{{zzzzz{{z{{{{z{{{{zyzzy{{z{{{{{{{{zzzzz{zz{{{{{z{z{yzzzzzz{{zy{|{{z{zzzzyyzzzzzzzy{zzyxyzzy{|z{zzyzyzzyzyy{yyzzz{zyzzyyyyzz{zz{z{zyzyyyyyzz{z{{{zyyzyzyzzz{z{zz{zz{yyzyzz{zz{y{z{zyxyyyzzyzzzzzz{zyzzyyyyz{zzzzzzzyzxyyyz{{zzzyz{zyyyyzzyyzzyyy{zzz{zyzy{yzy{zzzyzyzyyyyyz{yzzzzz{yzyyyyzzzyyz{zz{yyzzzyyy{z{{zz{zyyzzzzyzzzzzzzzzyzzzyzyz{{zz{z{zyyyyyzzz{{{{zz{zzzyyzzzzz{z{{{z{zyzzyzyzzz{{{zzzzzyzyzyzz|{{z{{z{y{z|zz{{yzz|zzz{{yyzzy{{{{{{{zyzzz{{z{{{zz{{z{{zz{z{zyz{{{{{|z{zyz{zyzz{{{{{{{{z{zz{z{|{z|{|{|{z{zzz{zz{{{||{||{zyy{zz{{{|{{{{|zzzzzy{|zz{|{{{z{z{zz{{{{z{{{{|zyyzzzzzz|{{{{{{z{yzzzyzz{{|{y{{zz{zzzzyz{{{zzyzzyyyyzxz{zzzzyz{{yyyyyxzzzzzzzzzyyzyzzyzzyyz{zz{zzzzyyyyyzzzzz{zyzyzyyyyzzzzzyyzzzzyyzzxz|yzz{{z{yzzyxzzyzzyzzzzzyzxyzyyzzz{{{zzyzzyxyyyyzzzzyzzyzyyyyyyzy|zzzzzyyzzyyyzzzzzy{z{zxyyyzzxyyzzzzz{zyzxzyyyy{yzz{y{zzyzzzzyz{{z{zzz{zxyzzyyxzzzzzzz{yzyyzzyzzzzz{zzzzzyzyyyzz{{{z{zzzzyzzyyzzz{{{{{{zzzy{yzz{z{z{|zzy{zzzyy{z{zz{|{zyzzzzzzz{zz{{|zzzzy{z{z{z{zz||{z{z{yzyz{{{{{{|{{zzzzyzy{{{{{{{|zzzzz|zyz{{z{{{{{xz{zz{zz{{|{|{{zz{{zyyy{zz|{{{z|yzzzzzz|y|{{{{|{{zy|zzz{{{{{{{{{zzzzzyzz{{{{{{zzzzzzzzy{{zz{z{zzzzyzyyz{{{z{zzyyyyzzzyyzzzzz{{{zyzyyyyy{zzz{{yzzzzyyyyyzzzzzzz{yyzzyyyyz{|zyyzz{zzyyzyyzyzzzzyzzyzyyzyy{zzzyz{z{zzyzyyyzzzzz{zzzyzyxzyzzzyzzzzzzyzzyyyzzzzzyzz{yzzzyyzyyzzzyzz{zyyyyzxxyz{yzzzzzxzyyzzzy{zzzzzzyyyzyzyyzyyyzzzzyyz{zyzy{z{{yz{zzyzyyyz{zzzzz{zzzzzzzzyzzy{zzzz{zyzzyzzzz{z{{zz{{zzy{yzyz{zzy{zzzzzyzzyyz{{zz{{y{z{z{zzzzz|{zzzzzz{{yyzzz{|{{{{zy{z{zzzz{zz{z{{{{zz{zzyy{{z{zz{{{yz{yzzz{{{z{{{|{zzzzzzzzz{{{|z{{z{{zzzzz{z{{{|{{z{{zzz{{{{{{z|{{zyzyyz{zz{zz{{{{zyzzzzz{{{z{{z|y{zzy{{zz{zz{zz{|zz{zyzzz{zzzy|zzzzzzzzzzzyzzzzzzyz{zzyzzz{zzzyzyzyyzyxzzzzz{z{{zyyxyyyyyyzz{{z{zyyzyyzxz{z{zzz{zzxyzzzyzzz{zzyzzzyyyzzyyzzyy{zyzyyyyyxyzz{yzzyzzzyyyzzz{zy{yzzyyxyzyyyxzzzzxz{zzyyzyzyyzz{z{yz{yzyzyyyxy{{zzy{yzzyzyxyxzzzzzzzzyyyyyyyyyzzzyz{z{xyzz{yyzz{{zz{{zzzyyyyz{zz{z{{zzyyzzyzzzyz{zz{zyzzyyyyyz{{zz{{zzzzyzzzyzzzzz{{zzz{zyyzyz{|zzzz{yyzyzyzyzzzzzz{{zzzzzzzzzz{{{z{{zzz{{zzzz{{{z|{{yyy{zzzyz{zz{{{{zyzz{zzzz{{z{{{{{zz{zz|z{{zy{{{{|zzyz{{zz{{{z{{|{zzzyz{z{{z{|{{{{z{zzzyz|{{z{{z{{zzzzzz{{{z{zz{{zzzzyyzz{zz{{{{zzzyzzy{yzzz{{{zyyxyy{yyyz{zz{yyzzyyzxyyyyzzzz{z{zyyyyzzy{zzz{{zzzzzyyyzyyzyzy{{zzzyyzxyyyzzzzy{yyzyywyyyz{zzy{z{zyyyzzyzxyz{yzzzzzzyyyxyyz{zz{yzzyzyyzxxzzzzz{z{yyzyzyzxz{zxzyzzzyyzyyzy{zy{zz{zzyyyxyyyzzzyz{{zyyzyzxyyyyyzzzzzyyzxyxyzyzzzzzyzyyzyzyywzzzyyz{{zzyyzyzyz{zzzzzz{yzzyy{z{zz{z{y{zzzyzyzzyzzzz{{z{zzzzyzyyyzzz{{yzyzyyyzzz{{zz{zzzzxyyzzzzzyzy{{zzyzyyzzzzzz{z|{{zyz{zz{z{zz{{{{|zzzzzzzz{{z{yz{{zy{yzyzz{{{z{{{{zyz{z{zz{zyz{{{|zz{yz{{z{{{|{{|{zz{{zyzz{zzz{{{z|zzyzyzzzz{zz{{|zzz{{zzz{zzzz{z{yyzzz{yz{zz{{{{{zzyzzyzyzyz{z{zzzy{yzzzzzz{zzzzzzzyyyxyyyzzzz{z{yyxyyyyyzzzzzzzyzyyyyzyyyzzyzy|zyzzyzzyxyzyzyzzzyzyyxyxxzzzzyzyzxyzyyyzyz{zyzzzzzyyzzyxzy{zyy{yzzxzxz{yyyyzzy{zzyyzyyzyyzzzzzyzyzzyzyyyyyzyzz{zzzyzyzzzzzzzyzzz{yyyyyxyyyyyzyzzzyzyyyy{zyyzzzzyyzyzzyzyyyzzzyzzzzyyxyyzzz{zyzzzzzzzyzyzyzzz{zzzzzyzxzyzyzzzzzzz|{{zzzyyzz{{zz{z{yyyzyyyxzz{{zz{zzzyzyzzzz{yyyzzz{yyyzzyy{z|{zzz{zzzzyzzz{zz|z{y|zzyzzyyy{z{z{z|{{y{yzzyz{{{yz{{{y{zzy{{z{z{{z{{{{zzzyyz{zz{|{z{{zyzz{zzz{{{{{{z{zyzy{yzzzzzz{|{{{{{zyyyz{{z{z|zzz{yzzzzzz{z{{z{zzz{zzzzyz{{{z{{zzyzzzyyz{z{zzz{zyyyzzyyxzzzzyzyzzxzzyxxzzyzzz{z|zzzzzyzy{zzyzz{zzyyxyzyyzzzzzyz{yyzxzzyy{yzy{zzyzyzyyyyyyzyyzzzz{yzyzyyxzyzyz{yzxyzzwyxyzzzzyzzzyyyyyyyyzzzzzyzyzyyzzyxyzz{xzzyzyzyxxzzxyyzy{zzzyyyyyyzxyyyyzz{zzzyzyyyyxzzzyzzzzyyzzyyyyyzyzz{{{zyyzzzyzzyzyzz{zyzyzzyz{zzzzyz{zzzyyzyz{zzz{zzzzyyzzyzyyzz{z{zzzyzzyyyyzzzz{zzzzyy{zzyz{z{z{zz{{zyz{zzzzzz{{{z{zz{zyyzzzzzz{{z{zzyzyzzzz{zz{z{{zyzy{yzzz{{{zz|{zzzzz{{{z|zzz{{{zy{zzzz{z{{z{z{zyzzyzzzy{zz|z|z{{zzyzy{{{z{z{{|{zzzzyzzzzyz{zzz|zz{yz{zzz{{z{z|{zzyz{yyyz{zzyz{z{yzz{zzy{{z{zzyyyyyyyyyzzyzzzyz{zyyyyxxyy{zzzzz{zzyzyyyxzzzzz{zyzzyzyyyyyz{zzyzzzyzyyyyxzxz{{yzzyyyyyyzxyzzzyzzzzyyyyzyyyzyyzzzzyyzyzyzyzzzyy{z{zyyyyyyyzzyzz{zz{yyyxyyzzxzzzzzzyyzyxyyyzz{zzy{zyy{zzyyyzyzzz{z{zyzyzyyyyzzzz{zzzyyzyyyyzyzz{{zzzyzyzyyzzz{zzzzzyyzzyzzz{yyyz{{zyyzzzyzzzz|zzzzzyzyyzyyyzz{zy{zzzzzzzyyz{{{zzyzzzyzyzzyzz{{{z{z{zyz{zzyyz{zz{|z{y{{z{zz{{{z{{{|{zyy{zyzyz{z|{{{{{yzyzz{zz{{{z{{{zzzz{{z{{{z{{{{{zzzzzzyzz{{z{{zz{y{yz{zzz{{{z{{{zz{{yzz{{{z{{{{{z{z{zz{z{zy{{{z{{zzyzy|z{zz{z{{zzzzzyzyyzz{{zzzz{yyyyyyxzzzzyzzyyzyzzxyyyzz{zyz{zyyxzyyyzzzzyz{{zzyyyyyyzzzzzyzzyyzyyzyyzzzzzzzyzzzxxyzxzyzzyzzzzyzyzxzy{z{zzzzzzyzzzzyyzzyyyyz{yyzzzyzyxzyzyzzyxzzyxyzyzzzzzyzyyzyyyzyzzyzz{{{z{zzyyzyyz{z{zyzzzyyyzxyyy{{yzz{zzxzyyzyyyyzzzzzzyyzyzzzyyy{yzzzzzzyyzyzyzyzzzz{zyyzzzyzzzzzzzzz{yzzzzyyz{zz{z{{{zyzzzzyzy{{zz|{zyzzzzzxx|yzzzz{zzyyyzxxz{z{zz{{{{yzzzzyz{{{|{zz{zzzzzyz{zzzzzz{{zzzzzyzzz{{{{z{{{zz{zzzzz{{z{{zzzz{z{{zz{|z{{{{z{{zzzyyz{{{{{zz|z{z{zzzzzz{{{{zz{zzzzzyz{z{zz{|z{{{z{zyz{zz{{{zzzzzzzyzyzz{zz{zzzyzzz{zzz{z{{z{zzzyyzxyzzzzzz{zyyzzyzzzyx{{zzzzzzyyzyyzyy{zzz{zzzyzyyzzzzzz{{z{zz{yxyyzyyz|zzz{{{zzyyzzy{zzz{zz|zyyyyzzyxzzyyz{yzzzyzxyyzy{zz{{zzyyyyzyzy{z{zyyzyyyzzyyyzzyz{zzzyyyzyzyyzz{y{{zzzzyyyzyyyzz{zzz{zyyzzzyzzzyyzyzzzzzzyzyyzz{z{{zzzzzyzzxyyz{{zz{z{yzyzyyzyzzzy{z{{zzyyz{{zz{yyz{{{yyyyzzy{zzzzz|zzzzzyyzyyz{{{|{z{yzzzzzyz{yzyz}zzyz{zyzzz{{zzzz{{yzzzzzz{{{{{{{zzzzzz{{{z{zzz|{{zzzz{zzzzz{zz{{{zyzz{zzz{z{z{zz{zzzzy|zz{zzz{{|{{zz{z{{zz|{|{{z{{y{zzzzzz{{{{{|{{{zzz{zzzz{{{{|{z{zzzzzz{zz{z{}{z{zyzzyz{z{{{{{{{zzzyzzyz{z{z{z{zz{zzz{y{zz{zzzzyyyyzyzyz{zzz{{zzzyzzyyzzz{z{zz{yzyzzzzy{{z{{zz{zz{zyzzzy{{zy{{{{{zyyyyyz{zyzzz{zzyzyyzyzzzzzzzzyyzyyzyyzz{zzzyyzxzxyzyyzzyzzzzzzxyzyxyyyzzzyzzyzyyzzyxyxzz{zzzzzzzyxyyyzzzyy{z{zzyyzyyzzzzzyzzy{zzxzzxzyzzzy{yzyyzzzyyyzyzzz{||zzzyzyyyzzzzzzzzzyzzyyyy{zzzy{zz{yzzyyyzzzzzzz{z{yyzzy{zz{{{y|zzzzzyyzzy{{zy{z{zzyzz{{zzzz{{zzzz{zyzzyz{z{z{{z{z{zzzzzz{|{z{{{|{zyy{{zzz{z{{zz{{{zzzz{{z{{{z|z{|zyz{y{zyz{{{y{{{{zyzyz{zy{z{{z||{zz{zzzzzz{{z{{zz{yzzzzzz{z{|{{|zzy{{zzzz{{{{|z{{{zzzz{{z{{{{{{{{zzz{zyyzzzzzz{zzy{zyyzy{z{zzzzzyyyyyz{xy{zzzzzzzzz{yyyyy{zzzz{z{zyyyyyyzzzzzz|{zzzxzzyyz{zzy{y{zyzxzzyyzyzzy{zzzyzzyyyzy{zzzzzzzzzyzxyyzz{zyzzyxyyyyxzzzzzzyyz{yzyyzxzyzyzzzzzyyyzxzzyyyyzz{zzzzyzxxzzyy{zy{zzzzxyzyzyxyyyzzzy{zyyzyzyyz{zyyzzzzyyyz{yyzz{{zyzzzzyzyyzz{zzzzzz{zzzzzyzzz{zzyzz{{zzyyyyy{z{zz{{zzyzyzzz{zy{yzz{{zzzzyzzzz{zz{{|zzzz{{yyzzz{zz{zzzz{yzzzz{{zz|{{{{zzzzzzz{{z{{{{{zzz{zyzzzzz{z{{{{zzzzzzzz{{|z{z{zy{zzzzz|{{{{y{{{zzzzz{yz{{|z|{|zzz{z{yz{{z{zz{{zyzyzzzzz{{z{{{{{{z{{{zzz{z{z{z{yzzzyzz{z{{{{{{z{zy{yyzzzzz{z{{zyzzyzyzyzyzzz{yzyxyxzyzzyzzzyzzzzzyzzyyyz{zzzzzzzyyyxyxzzyzzz{{{zzyyyxzyzzzzzz{zzzzyyzzyyz{yzzzyzyzyyyyxzzzyyzzzzyzzzyyyyyzzyz{zyyzyzyzzzyyzyyz{xzzzyyyyyzzzyzyzzzyyyyzzzz{zzzzxyyyyzyyyyyzyzz{{zzyyyyzyzzzzyzyzyyzzyyyyyyz{{zz{yyyyyzyyz{yz{zzzyyyz{yyzzz{zzzz{zzzxxyzzzzz{zy{zyzzzyzyzzzyzz{{zz{zyyyzyz{zzz|zzyyzyzzzzzzzz{{{zzzzzzzyy{{zz{{{{{{zzzyzz{zz{{zzz{zz|yzzyzzzz{{{|zzzzzyyyz{z{z{z{{yzzyzyzz{{zzz{{zzyzz{zyzzzz{{{z{yyzz{yyz|{{z{|{zzz{z{zzz{z{z{|{zy{zzzzzzz{{{{|{zz{zzyyzz{z{{{{{zyzyyzz{{zzzz{{z{zyzzzzz{{yz{z{{zyzzzyzyzyzzyzzzzzyyyyzzzzyzzzyzzyyzyyzyyyzzzzzz{zzyyzyxz{zzzzzzzxyyyxx{zzyzyzyzyyzyyzyxzzyz{{zzyzxyxyyyyzzzyzzzyyzyyyxyyz{y{zzzyzzzyzyxz{zyzz{zyyyyyzzxzzyyzzz{yyyyyzzzyy{zyzzzzyzzyzyxzyyzyzzzzyyyyzyyyyzzzyzzzzzyyyxyy{zzzzz{yyyzyyyyzzzzzyzz{zyzyzzzzzzyzz{zyzzzyyzy{zz{zzyzyzyyyzyzz{zzzz{{yzyyzyyzzz{zy{zz{zzyzzyyzzzzzz{{yzz{zzyzzzz{{zz{zz{zzyzzz{{y{{{zzzzzzzzy{{z{{{{{zyz{zzyzz|{{{{zzzyzzzyyzz{{{z{{|zzzzzzzzy{z{|{z{|{zzz{z{z{{{{{{{zzzz{yz{{zz{{{zzzzyyzyz{{{y{z{{{{z{zzzyzzy{{z{{z{yzyyzyyz{{zz{{{zzzzzzyzzzz{{z{{{x{zyzyzzyzzz{zzyxyyyzzyz{zzzyzzyzyzzxzzyyzzz{zzzxyxzzzxz{zyzzz{zyyyyzyzzyzzzy{{zzyyzzyyzyzz{z{{yyzzyyzyyzyzyz{yzyzyxyzzyzzzzzzzyyzzyyyzzyyzyyz{{zzyyxyyzyzyzzzyyyyyy{yy{zyyyzzzzzzzyyyyyzzyzz{zzyyzzyzyyyzyzzz{yyyyyyyyy{zz{{z{yyzzzzyzz{{zyzzz{yyyzyxyyzzyyzz{zyzyxyyzzz{zzzzzzyzzxzyzz{zz{z|{z{{yzyzyz{z{z{yz{zzyz{yz{{zzyz}zzyzyzyyzzy{zzzz{{zzyzyy{z{{z{{{{yzyzzzzz{zz{{zz|zyzyzyyz{zz{{z{{zyyyyzzz{{{zz{{|zz{yzzzzz{z{z{{{zyzzyzzzzzz{z{{{zzzzzz{z{z|z{{{zzzzzzzy{z{{{z{|{{z{{zzzzzzzzz|{zzzzzyz{z{{zz{zz{zzzyyzzzzz|zz{{zzzzyyyzzzyz{zzzyyyyyyxzyzzzyyzz{yyyyyxyyzzyzzzzzyyyxyyzyyyyzzzzyyyyyyzyyyzzzzzzzzzyyyyyyzy{yyzyzyxzyyyxyyyyyyzzzzyyxzyyyzz{zyzzzyyyyzxyzzyzzyzyzyzzyyxyyy{yzzyyzxyyzyxyyzzyyzyyyyyyzxzxxyzzyzyz{yyyyyzzyyzzyyzzzz{zyzxzyyzyyxzzzyyyyzyzyyzz{yzz{zyzxyyyyyzyzzyzyzzzyzzzzzzzzyzzzyzzzyyzyyzzyzzz{yxyzzzyyyzyzz{{zzzzyzzyyzy{zzz|{yyzz{zzz{|zzzzzzzzzzzyzzzyz{zz{zyzzxzzzzzz{|z{{{zyyzzyyyyz{{{{z{z{zyzzzzz{z{{z{{zzzzzyz{yz|{zzz{{z{zyzzzy{z{{{|zzyzz{zzz{{{{{{{{{zzzyyzzzzzzzz{zz{zy{yzz{zz{{zz{z{zzzzzyzzyy|{{{{yzzxzyzz{z{zzzzyyzxyyxyzy{zzzzzyyyyyyyyyzyyzyzzzyzyyyyyzzyzy{{{zyzxyyxyzyzzzy{zzxzyzxz{yz{zxyzyzzyyyzyyzzyyz{zzzyyyyzyyzzzzy{zzzyzyyzyxzz{yyz{zzzzxxzyyzzzzzzzzzyyxzxyxx{zzzzzz{zyzyyyyxzzyyzzzzzzzyxyyzyzzzzzyyyyyyzyyz{yxz{yzyyyzyzyzz{yzyzz{zyyyy{xyz{yyzzz{zyzyzxzyzzz{{z{{y{zyzyyyz{zzzz{{zzyyzzyzzzzzz{z{z{zzzzyyyz{zz{{yyzzzyyzyyzzz{z{zzzyyzzyyzz{yzzzzzzzyzzzyz{{|zzzyyzzzzzz{{{zyz{{{zzy{zyzy{{{{{|{{{zzyyzzzz|{z{z{zzyzzyzzyy{{y{zz{zz{zzzyzz{{zz{{{zz{zzz{y|zz{{{{{{yzz{yzz{zz{z{{{z{zzzzzzyzzz|z{{zzzyyzzzz{|z{zz|zzzzyzzyz|{z{z{zzyyyyyyyy{{z{zz{yzyzzyzxyzzzyy{zyyxyyyzyzyzzyz{zzzzyyzyyyyzzyz{yzyyyzzzz{zzzz{{{yz{yyyyy{zz{yy{z{yzzzzzxy{zyyzz{zzzzwyyyzzzy{zyyyzyzyzyyyzyyy{{zyzyzzzyy{zy{y{yzyzyxyzyyzz{zyzzzyyyyxyzxzzz{zz{{zyzxzyzyyzzyz{z{zyyyyyyxyzzzyzz{zz{zzyyy{zzzzz{zzyzyzyyzzzyzzy{zzyzzyzyyzzzzy{zzzyyzyzyzzzzzz{zz{yyzyyzzy{z{z|zz{yz{z{zyzz{zzz{zzzyzzzzz{{zzzzyz{zz{yzyz{z{{{z{zzzyz{z{z{{{z{{|{zzzzzyzyz{{{|z{z|zyz{z{z{|{{z{z{{zyzz{z{z{{{{{{||zzzz{zz{|{{{{z{{zzzzzz{z|z{{{z{{y{{zzzzz{{{y{{||{zzzzyz{{z|{{{{zzzyzzzzzzzz{|{{zyzzyzzyy{zzz{{zzzyzzzzyz{{{y{{{yyx{zxyyzz{zzyzzyzzyyxxyyyyzz{{{yyzyzyyyzyzy{zz{zzyzyyzzyz{yyz{zzzzyxyyyy{zz{{zzzyyyyyzzzzyzyzz{yzzyzyzyzy{zzzzzyzyyzyyyzyzzzzzzyyyzyyyxzyzyzzzzzzyyyzyyzzzzzzz{z{zzxxxxzzzzzyzzyzzxyxyzyyyyyzzzzzyyyzyyzz{zyz{zzz{zzyxzzz{zyz{zzyzyyyzyz{zz{zz{zz{zzyyz{zzzz{z{yyyyyzzzzz{zz{{{zzzy{y{yzy{zzyy{zyzzyyyyzy{yz{{z{yz{zyyzz{{zzzzzzzzyyyzzzz{{|{{{zzzzz{z|{{zzz{{|zzzyzzzzz|{zzz{z{z{zzzzz{{{z{z{{zzz{zz{zz{zzzzz{{zzzzzz{{|z{{z{|yz{{zy{{zzz{z{{{zzzyzzzzzz{|z|{{{zzz{yzz{y{{{{{{zzyyz{zyz{z{{z{{{{y{z{yyz{z|zz{zzzzy{yzzzz{zzz{yzxyzyyxyzzyy{zyzyyzyzyzyyy{yzz{zyzyyyyyyzzzzyz{zzyyyyzzyyzzzzyzzyzzyzyzyyyzyz{{yyzzyyyyyyzzzzz{yzzyyyyyzzzzzzzzyyxyyyzyyyzyzzz{zyyyyyyzyzzyzzyz{yyyyzyxyzyzzyzyyyyyyyzyxzzzzy{zzzyyyzzzyxyzyzzyzyzyxyxxyzyzyyzzzyzzyzyyyzzyzyzzzzyyzyyyxzzzz{zzzyzzyyxyzyzzzz{zzzyzyzyyxz{{z{zyzzyzyzzyyy{zyzz{zyzyyyzzzzz{{{{{zzyzzyzzyzzzzz{zzyy{zzyzzzzzzz{{{zz{zy{zz{zzz{{z{zyz{yyyz{zzy{z{zzyyzyzyy{{z{{{{{yzzzzzzzz|zz{{{{zyzzzzzzz{zz{{{z|{yzyzzz{{{{z{{{zz{z{yzyzz{{{z|z{{yz{zzzz{z{z{z{zz{yyzzzzzzzz{{zzyyzyzzyzz{zzz{{zzzyzyyyzz{|zzzzyyyyzyzxyzzzyzz{zzxyxyzyzzz{z{z{zyxzyzzy{zyy{z{zzzyyyzyyyzzyzy{zzyyyyyxyzzzyzzzzzyzyzzyyz{zxz{zxzzyyzzyy{zzyyyz{{yyyzyyyzyzyyzyyyzyyzyzzzzzzzzzyyzyzyyyyyzzyzzzyzyzzxyyyz{zyyy{zyyzyxzxxyyzyzzzzyzyyyzyyz{yzzy{{zzzxzzzyzzyyyyy{zyyyyyzyz{z{zzzzz{yyzxzzy{zzy{zzzzzzyxzyzzzyz{{zyyzyzzzyyz{{z{zzzxzyzyzzz{z{zzzzzyzzzzzzzzzzzz{{zyyzyyzz{{{z{{zz{zzzzzzz{zz{zzz{{yzy{zyzz{z{|{{zzxyzzzzzz|{{z{|z{zz{zz{z{zzz{{z{zzzz{zzyz|{z{|zz{zz{zzz{z{{{{|zzzyz{{zzz{{{z{z{{|yzzzzyz{|z{z|{{yzzyyzyzzzz{|{{zz{zyyzyyzzz{z{{zz{zzyzyyyzzz{yzyzxzyyzyyy{zzzz{{yyyzyz{yyy{yzz{{{yyyyyxyzyzzzzz{yyzyyyyzzzzzzzzzyyyxyyyyyzzzzzzzzyyyyyyyzyyzyz{{yyyzyyyyyzzzzzzzyz{xyzyzyzyz{zz{yzyyzyzy{zzzyyzzyyzyyyyyyzzyzyzzzxzzxyyyyz{zz{zzyzyzyyxyzzzzzzzzzyyyyxyxyzzyyz{{zzz{{zzxyzyzyzzzzyzyzyyy{zzzz{{zzyz{yzyxzzyzz{zz{yzyyyyy{zzz{{zzzzzzzzyyzzz{zzzzzzyzzyyzzzzzzz|zzzz{zyzyz{zzzzz{zyzzzzzz{z{zz{{{z{zzzzzzzzzz{|{{zzzzyz{y{{{z{{{{{zzzzz{z{{{{{z{{zzzz{{z{z{z{{{{|{zyyzzyz{|{{z{{|{z{z{yzz{z{{z{z{{zzzz{{zyzz{{{|{{zy{{zz{{{{zzzzzy{{yzzyzzz{{{{{{zzyzzz{zz{zzzz{zzzzzzzyzz{{zzzyzyzyxyyyyyzzzzzz{zyyzyyyyzzz{z{zzyyzxzzzyzyyz{zzzzzzzzyyyyzz{{y{zzzxxxyzxyz{zzzzzyyyzyzyyzzzyzyyyzyzyyzxxzyzzzzzzzyyyyxyyzyyzzzyzzxxyxyyzzzzzzzyzyyyzyzxyzyyyzzzyyyzyyyyyyzyzyzzzyyyyyyyyxzyzxzzzzyzzzyyyyzzzz{zz{yy{y{yyzzzzyz{{yzzyzyyyzz{z{z{{zyz{yx{yyy{z{{{zyzzzyzzyzzzzy{z{zzyzzyzzzyz{y{zzzyyyyyyy{zzyzzzzzzzyyzzyzzz{z{yzyyyzzyzy{{zz{z{|zyyyzzy{z{z{z{z{zzzzyzyzzz{{zzz{zyyyzzzy{{zzz|{z{zzzyzyzzzz{{{z{{z{yy{{yzz{{z{{{{zzzzz{yzz{{z{{{{yyz{zz{zzyzz{{{{zzz{{y{{z{{zzz{zzzyzz{z{zz{{z{{zyyzzyzzz{{zzz{yzzzyyyzyyz{zz|zzzzzzyyyxy{zyzy{{zzzzyyyzyz{zz{z{zzyxyzzyzzyzzz|z{yzyyyzyy{zzzyzzxzxzyyyyzyyyzyz{yzyyyyzyy{zyy{{{zzzyyyzyzzzyzzzyzyzyzyyyzzz{{z{zzyyzyzyyzzxzzzz{zzyyxyyyy{zzzzzzyxyzyyyyzz{zzyz{zyzxyyyyyyzyyzzzyzyxzyyyyzzzz{yzxyyyyzyyzzzyzy{{zzyzzzzzyzyzyzzzyzzyzzzyzzzzz{z{zzyyzzzy{z{z{z{zzyyyyyxxz{z{z{{zyyzyzyxyzzzz{zzzyzzzzyzy{zyzz{{z{zzzzyy{y{{{z{zyyzyyyyyz{z{{{{{{zzzzyzzzzz|{{y{{zzyzzzzy||zz{z{{z{zzy{zz{{z{|{{{{zzz{zzzz{{{{z{{{zz{zz{z{zzz{||{{zz{zyz{{z{{z{zzz{z{{z{zz{{{{{{{zzzzy{zzyzz{{|{zzzzyyyyyy{{{{z{yzz{yyyzyzz{zyzyzxyyyyyxyyyyzyzy{xyyzyyyyzzzyyzzyzzyyxyyzzzyyzzzzyyyyzyxyyyzyzzy{yyyyxyyyyxyzzzzzzzzyyzyyyzyzzy{yzzyyyxyyyyzyxyzzyyyyyyyyyyzzyyzzyxyyxyyyyzyyzzzzzzyzyyyzyyzz{zy{yxyyyxxxyzzyzzzzyyyyzyyxyy{yzzyzxzxyzxzzz{zyxzzzxyzyyyyyy{y{zzzyyyyzyyxzzyzyyzzyyyyyyxyxyzy{yzz{yzyxyyyyyzzyzzyzzzzzyyyyzzyzzyz{zyyzzyyyyz{zyyzzyyyyyyyyy{zyzzzzyyy{yzyyzzz{zzzzyy{yyyyy{zy{z{{{zyyyzyyyy{{{{{zzyyxyyzzy{{z{zy{{yxzzz{zy{{yzzz{z{x{zyyzzz{{z{{|{z{zzyzyyzz{z{z{y{xzzzzzyz{y{{{{{zyzy{zyzy{{{z{{{zxzyyyzz{zzzzzzzzzzyyyzyyzz{z{{zzyzyyyzyzy{yzzzzyyxyyyyyy{{zzz{{zzzyyyzzzyyz{zzz{zyzxzyzzyzzzz{zzyzyyxyyz{zzzyzzzyyxyxzyyyzyzzzzyyyyyyyyyyyzyy{zzyzyzxxyzzzzyzzzyy{yyyxyzzzzyyzzyyyyyyxx{zzzy{zzyyyxxyyyzyzzyzzzyyyyyzzzzzzzzz{zzyyyxyyyzzxyyzyzzyzyzzzyy{zzz{zzzyzzzzzyzyzyz{z{zzyzzyzzzzzyzyzzyzyzyyyyyz{zzzzyzyyzyzyzzzzzzz{zyyzzyyzyyzz{zz{zyzzyyzyz{zz{y{z{zyzzyzzyz{zzyzzz{yzyzyzyzz{{z{zzyzzyzzyzzz|zz{z{zzzzyyzz{{z{{|{zzyz{{zzz{{{{zzz{zxyzy{{zz{{{{{{{{zzzyz{zz{z{z{{{z{zzz{zzy{{zz{{{zyzzzzz{{zz{{zz{zzz{zyyzzzzz{z{|zyzzzzzyz{{z{{zzzzzyyzyyyyzzyzzzzyzyzzyy{zzzyzzzyzzyxyyyzzzyyzz{zyyzyyxz{zz{z{zz{yzzyyyyzzzzy{zzyzzzxyyzyyzzzyzzzxzzyyyyz{zzyzz{yzyxyzyyyyzzyzzzyzyyyyyyyyzzyyzzyyyyyzyyyzzyyzzzxzyyyyxyyzy{yzyzyyyzxyyyzzzzzzzzyzzyyyxyyzyyzyz{zyyz{yyyyzyyzzz{{zyyyzzzzzzyz{zzyzzyzzyzzzzzz{|zyzzyyyzyzzzyz{{zzxyxzyzzzyzzyz{zzyzzzyzyzz{zzz{z{{zyyyzzzzzyzzyyzyyyyzzyzz{yy{{zzzyzyyzzzz{y{zzzzzyzzzzzz{z{z{{zzzzyzzzz{{yzzzzzzzzzzzzy{{z{{z{zzzyyyzzz{{z{{{{{zz{zzzz{z{zz{z{{{zzzyzz{z{z{{{{{zyzzyzz{{{{{{{z{y{zyxyy{zz{{{{z{{zzzzzyz{zzzz{{{z{yzzzzyzzz{{{|{{zyyzzyz{y{{z{zzzyyyyyzyyzz{{zyzyyyyyyxyyyzyyyyzyyyyyyyyzyzzzzyzzzyxyyxzzzzyzyyyyxzyyyyyyzzyyzzzzyzyxyzxzz{yyzzzzyyyyyyxy{zyyz{yyyyyxyyyyzyyzzzzyyyxyyxzyzyzzzzzyyzxyxyyyzzzyy{yyxyyyyxyzyzzy{zzyxzyyxxzyyzzyyzzzyyyzyzyyzyzyzzyyzyyyyxxy{zzyzz{yxyyyyyyzyzyzzzzzzyzzyyyzzzzz{zzyyyyyyyyz{zzzz{zyzzyyxyyyzzzzzzzzzyzyyzzyz{zzzzzzzzyzyzyy{zzzzzzzzyzzxyyzzzzzzz{zzz{zyyyzzzzz{{{zzzzyyzzz{zz{zz{zzyzzyzz{{zzz{zzzyzyzzzzz{{zz{|zyy{yzzzzzzzzzzz{{zzzy{zzz{z{{{|{zzyzzyx{zz{zzzz{zyzzzzyyz{z{{{{zzzyyzzzyzzzzzz|{zzyzzyyzzz{z{z{z{y{yzzyzz{zzzz{zzyyyzyyzzzzzyz{zyyzx{yzyzzy{zz{{zzyyyzxzzyzzy{{zzyyxyxyyzz{{zzzzyzyzzyyzzzzzyzzzzzyyyyyy{yzzzzz{yyyyxzzxyzyyz{zzyyyyyxxzzzyzyyyzyzzxyyyyzyzzyzy{zyyyyyyyxzzzz{zzzyxyyzwyyz{zyzzzzyzyyyyzyzzzz{yzzzyyyyyyzyzyzzyyzzyyyyyyy{zyyzzzzyzyyyyyyzzzzy{zzyyzyyyyzyzyzzzzzzzyyyzz{zz{zz{{zyzyyyyyzz{zzzy{zzyzyyzzyz{{z{{zzz{zzzyzy{z{{z{zzyxzz{yyz{zzzzzzz{yzzyyyzzz{{z{{zyzzyzzy{zzzz{z{{zzzzzzyz|zz{{{{zz{z{zyz{{{{z{{{yzzz{zzyzzz{{{{z{zzzz{zzz{zzzzz{{zzzzzzz{{{z{{y{zzyzzzzyzzz{{{{z{zzzzzzz{{{zz{z{{zzyzyzyzzzzzz{z{zz{yzzyzzzyz{z{zz{xyzzzzy{zzzyyyyxyyxyxyyzyzzzzzyyyyyyyzyyzz{z{zzyyyzyy{zzzzy{zzyyzyyzyzyzzzzz{{yzyyyyxyyzyy{z{zyyxzzzyzzyxz{zzzxzzzxyyyz{yyzzzzyyzyzzyzzzzyzzzyxyzyyyzzzyyyzzzzyyzyyyzzyyzzzzzzyyyxyyxzyyzzzzzyyyyzyyyzzyyzzzzyyyzzyzzyzzzz{z{zzyyzzzxyzzzzzzzyzyyyyzyyzz{yz{zyxyzzyzyzzzzzzz{zzz{zyyyzzzzzz{{zyzyzyzz{{zzzzz{zzzyyyxzzzz{z{{z{yzzyzyzz{zzz{zzzzzyzzzyzyz{z{{{zyzzzz{z{zz{zzz}y{z{zyz{zzzzz{z{{zzyzzzz{{z{{z{|yzz{zzzyzzzz{{{{zzzzz{yzz|z{z{z{|yz{zyzzzz{{{{{zzzyzyyzy{z{{z{{{{zzzzzzzzz{{{{{{zzzyzzy{z{z{{{z{zzzzz{zzzz{{zzzzzzzyyyzyzzzyzyzyyzyzyyyyzzzzzzzzyyzyyz{yzz{zyz{zzyyzyzyzzyzzz|{yyzyyzzyxyyzzzyzzyzzyzxzyyz{zzzy{xyyyyxzyzzzyzzzzzyyyzzyyzz{zzyyy{zzyyyyzyzzyyyzyyyyyzyzyzyzy{y{{zyyyyxyyzy{zzzzzzyzxyxyyzzzzzyzxyzyyzxyyzzzzzzz{zzyyzyyxxzzzz{zzxzzyzzyyzzyzz|z{zyyzzyzyyzzzz{yzzz{{yyzyzyzyz{zzyzzyyyzyzzyz{zzzzyzzzy{zzyzz{{zz{z{yyxyyxzzzyzzzzzzyzyyzzzzzz|z{{{y{zzyzz|{{{zzzyzyzzz{z{{{{z{{{yyz{zyyzz{z{y{zzzzz{yyz{z{zz{{{{zzy{z{{zzz{{z{y{zzyzy{zz{|{{z{{{{y{{yyxz{zz{{z{{{zzz{zzzzz{zz{{z{zyzzzzzzz{{z|{zzzzz{{zzz{zyzz{{zzzzyzzzzz{zzz{zzzzyzyzzzz{yyzzzzyyzzxyzz{zzzzzzyyyzyyyyzzzzz{z{zyyyzyxxzyzzzyzzy{xyzyyzzzzyzzzyyzxxyyyxyzzzz{y{xyyyyyyyyzzyzzyzzyyyyyyyzzzzz{yzzxyyyyzyzyyzzzzzyyyyyyxyyzyzzzz{yyyyxxyyyz{yyyyzzyzxxyyzy{zyzzzzyyyzzyzzyzzzzyzzyzyzzyyyzyzyzzzzzyzyz{yx{z{yyzzyyyzxyyyzzzz{{z{zzyzzzzzz{zzzyy{{zzzyzyxyzzyzzz{zyzzyzz{yy{zy{zyzzyyzxyzzzz{{zz|{zyxyzyzyz{zzyzzzzyzyzzzz{z{zz{{yyzzyzyzy{{{{{z{zzyzzz{zy{{zz{{{z{z{z{yzz{zzz{{{{zzzzz{zzz{{z{{{|{zy{z{zzz|zz{{z{{y{{zzzz{{{z{{{zzyyz{zzyzz{{zz{{{zzyz{zz{zzz{z{zzzzyzz{zzzzzz{{zzz{yzzzyz{z|z{zyyzzzzxz{z{{z{zz{zyyxxyyxyzzzyyyzzyyyyxyzyzyz{yzzzzzyyzzyyzzzzzz{zyyzxyyzz{y{zyy{yyzyyyzyzyzzyyzzyzyyzyzyzzyyzzzyyyyz{yyyzyyzyzz{yyyyzyyzzyyzyz{zyyyxzxyxyzy{zzzyyyxyyzyyzzzzzzz{zyzyyyyyy{z{yzzyyzyyyxyyxzzzzyzzyyyzyyxzyzzyyzzzzyzyzzyyy{zyzyzyzyyyyyyzz{zyy{{{zz{yyyzzzzyyzz{zyyyzxyzzzzzzz{{zzzyyzyzy{z{{|{y{zyzyzzxyzzyzz{zyzyyzyyyyz{{z{{{{yzyz{yzzy{{|{{{zyzzzzxzz{zy{{zzzzyzzzzyyzzzz{z{{zzz{zzyy{{{{z|{zzzzzzz{{zzzz{{zzzzyyy{zzz{{|{{|{zz{{zzzyzz{zz{{zzzzzyzz{{{{z{z{{zzzzz{zz|{z{{{{zzyzzzyzzz{z{zz{{zz{{zzzxyzz|{{{zzzzzyyzz{zzzzyzyzyxxzxyy{zzzzyzzzyyyyyyyzyzz{z{zyzyyzyxyz{zyzyzzyyyyxyyyyzz{zyzzyzxxyyzxzz{zyzxzzzzyxzzxzzyyz{zzyyyyyyyyyzzyyyzzzzyyyxyzzzyzyzyyxxyxyyyyyzzyyzyyyxyzyyyyzzzyzyyzzzzyyyyyxzyzzzz{xzyyyzzyyzyzyz{yzyyyyyyxzzyyyz{zyyyy{zyy{zz{{{{zyyzzzyzzz{yzzyz{yyzyyzzzzzy{zzz{zyyyyyyzzzzz{{zyyzyyzyzzzy{zzzzxzyzzxxz{zz{zyz{zzyyzzyyyzzzzz{zzzz{zz{yzzy{{z{{{yz{{yyzyz{{{z{{{{zyxyyzyzz{zz{{zzyzzzzzzzz{zzz{{zz{zz{zzzzz{{{{{{yzzyyzyz{z{{{{{{z{zyz{zz{z{{{{{zz{zzzzz{zzz{{{{{zyzzz{zyzzz{z{{zzyzzzzyzz{{{|{zzzzyzzzyyz{z{{z{yzyzzzyzyyzyyyyzyyxyyxyxyzyzyz{{yyyyyyyyyzzzzyz{zxyxyyzyzzyzz{zzyyyxxxyyzzyzzyzzyyzyyyyxyy{zyzzyzyyyyyzxyyzyyzzzzxxzyyxzzzzyyzyyzyyyyyyyyyyyyzyyxzyyzyxxyyyyzzzyyyzyxyxyyyzyyyzzyyyyxxxxyyzzzxzzzyxzxxyyyzzyxyywyyyxzyxyyyzzyz{zyyzzxzyyzzzzyyz{zxyzzyyxzyyzz{zzzxzzyxyzzzzzzzz{yyyyyyyzzzzzzzz{{zzyzxyyy{zzyyz{zyzzxxyyzzzyyz{{zyzzyzxyy{zzz{zzyzzzyzyzzzz|z{{{{zzz{zyzzzzzzz{zzyzzzzzyzzzzzz{z{yzyzzzyy{yz{z{zzyzzyzz{y{z{{z{{{z{yyzzzz{{{{z{{zz{zyzzzz{z{zzzzzzz{zzzz{{yz{zzz{zzzzyzy{{zz{{{zyzzyzzzyy{z{zz{yzzyzzyzyzz{yzz{zyyzyyxzzzyzzzyyyyyyyzzyxy{yzzzxzzyyzxyyxyyzyzyzzzxyyzyzyzzzzzz{zzyyyyzyyz{yzzzzzzzyyyyyxyzyzzz{zyyyyyyxyzzzzzzzyyxyzyyyyyzzzyyzzyyyxzzzyzyyzyzzzzyyyyzyxy{zzzyzzzyyyyyyyyzzzyzzzzyzzyyxyyzyzz{zzyzyyyyzyxyy{zzzyyyyyzyxyzzyzy{zzzyzyyzyyzzz{zzyzzzzyyxyzz{zyy{zzzyzyyzyzzxzzyyyzyzzyyxyyzzy{zzzzzyzyyyyyz{yzz{zzzyyzyzyxzzzzz{{zzzzyzyyzz{zzyzzyzyzyzyyz{zzz{{{{yzzyyyyyz{zzzz{{zzyzyzzzzz{{{{z{{xzzzyzyzzzzz{{zzzy{z{z{z{{{{z{zzzz{xyzyz{zzz{z{zz{zyyyzz{{{z{{zzyyzz{zy{zz{{{z{{z{zzzzzzz{{{{||zyzzzyyyz{yzx{{{yzyzxyyxz{z{yzz{yyzyyyxyz{yzzzyzzzyyzzzyzy{zyzzzzyyyyyzxyzzzzz{{zyzyyyyyzzzyzz{{zyyyxyzyyz{yyzzzzzzyyyyyzzzzzz{{yyxxyyzzyyzxyyzzzyzyyyzyzzzyzzyzyyzxyyyyzyzzzzz{yxxyzyyyzzzyzzzzzzyyyyxzyzzzzzzzyyyyyyyxyzzz{z{zyyyyyxzyxzzyyzzzzzzxyyxyyzzyzyzzyz{zyyyyzy{zzz{{yyyyzyyyzzzy{zy{yyyyyy{zzzzzzzzzzyyzyzyzyyyyzzz{yxyyzyzzy{zzz{{zyyyxyzzyz{{yyzz{zzzzxyyyzzzyz{{zzzzyzzyy{{zz{{z{zy{y{zzzyz{zz{z{zzz{zyzzz{zzyz|zzzzyzzyzz{z{{{{zzyzz{zyzz{zz{y{zzzyyy{zz{{{zz{{zzyzzzzzzzzz|z{zzzz{zyyyzz{zzzzzz{zzzzzyy{{{{{{z{{zyzzzzzz{{zz{|{zzzzyyzzz{z{yz{zyzzzyyyyzzzzzzyzzyyyyxyzzzy{zzzzzyxyyzyyzzzyyz{yzzzxzyyyyzzyyzz{zyzyzzzyzz{yzy{zyyzyyyyxzzzzzzzzyyyzzzyyyz{zyyzyzyyyyyxyzyzyzzyzyzzyxyyyzyzzzzzzzyyzyyyyzzz{yzzzyxyzyyyxzyzzz{{zyzyyxyxyzzyz{zzzyzyy{zyxzyzyy{z{yyzyyxyyyzyyzzyzzyyxyzzzzzzzzzzzxyyyzzyyyzzyyz{{yyzyyzzzyzzzyzz{zzzyzyyzz{z{zzy{{zzzzxzzyzzzzzzy{zyyyzyyzzzzzzzyzyzzyzzzyzzzzy{{zzyyz{yz{zzzzz{|zyz{z{z{yz{{zz{z{yy{zyyyzzyz{|z{{zyzzzyz{zzz{{{zy{{zz{z{z{z{{z{zzzyzzzzz{|z|z{{{zyzzyyyyz{|{{|{{zzy{zz{{z{z{|{{{{zzzzzz{zzz{z{{|z{zz{z{zzz{{{{zzzz{zyyyyzz{z{z{{yyzzyyzyz{{zz{yzyyyyyyyyyz{xzzzzyzzyzxyyzzzzz{zzzyyyyyyyzyzz{{zz{yxzzyyyz{yzyz{{zzzzyyyyzyzy{{yzyzyyyyxxzzzzy{zyzyyyyyyyzyzyyzz{yyzyyzyyzzzzy{zzyzyzzyyzxzyzyzzyzyxxyyyzzz{yzzyyzyyyyyyyyyzzzyzzzyyxyyyyyzzyzzzzyzzyyxyxy{yzyzzzyzyxyzyyzzzzz|{zzzyzzyxyzzzzz{{{yxzyyyyzzzzy{|{zzzzzyyzyyzzzy{zzyzzzzyzyz{zzz|zzyyyzyxzyzzz{z{zzzyzyyxzzz{{yz{zzyyyyzzzzz{zzz{{{zyzzzyz{{zz{|z{{zyzyy{xzz{{z{{{z|yzzzzzy{{z{z{|{zy{yz|zz{z{|{{|zzz{yzzzzz{|{{{{{zy{y{yzy{zz{{zz{zzz{zyzz{{{z{z{|zzz{zyz|y{zzzzz{zzzzyzyzyz{z{{{z{xzyzyzzz{z{{{{zzzzyyyyzzz{{yyzyzyxyyyyyyzy{zzz{xyyyyyxzyzzyx{z{zzzzyyzxzyyzyzzzyyxyyxyyyz{zyzzzyxzyyxyxyyzzyyzzyyzxxxxxyzzyy{z{yyyyzyyzyzzyyzzyyyzxxyxxyyxyyyzyyyzxyyxxyyzzzzzzyyxyyyxzyyyyyyzyxyyyyzy{yyyzyzzzzyyxxyzxyyyzyzzzyyyyyyzyzzxyyzzyzyyyyyzxzyzyyyzzzyyyzyyyyyyyzzzzzyzyxwzyzzyzyz{{zyyzxyzxyzzy{zzyyyyxyxxyx{zyzzzyzyyyzxyyz{zzzzzyzyzyyyyyzzz{zzzzz{z{zzzzzz{z{y{{yzyzzzyz{zz{{{{zzyzzzzzxy{zzz{{{zyzzzzzx{{z{{z|{yzzzzzzzz{zz{{{{{yzzyzzy{{{{{zzzzzzzzxzyzzzzzzzzyxzyzzyzzz{z{y|{zyyzzzzzzzz{{z{{zzzzyzyzzyyz{{{zzyxzyyyzy{zzz{zzyzzyyyyz{zzz{zzzyxyxyzyyyzzyzzzzzyzzyyyzyzyzzzzzz{zyyzyzzyyzzz{zyyyyyzxyyzy{zzzzzyyyxzyyzyzzzzyzzyzyyzyxyzyyyzzyzzyyyyyxzz{zyzzyzyzyyzyyzzy{yzzzyyyyyyyyzzyz{zzzyzyzyyxyyyzzzzyyyyyyxzxxyzyzzzzzzyyyzzyyyyyyz{{yzyyyyyxyyz{yzy{zyyzyyzyyzyzzz{zyzzyyyyyxzzzzzzzyyzyyyyzzzzzzzzzzzyyyzyzyyyzz{z{zzy{yyyzyzzyzzzzz{zyyyyyyz{zyzz{zyzzzzyyzz{zzzzz{yyzz{zyzzzzzz{{zyz{zzzzyz|{{{zzzzzzzyzyzzzz{z{{{zzzz{yzzz{zz{|{{yz{yzzzz{{zz{z{{zxyzyzyz{{{{{{{{zz{{zyyyzzzyz{{{zzyyzzzzzz{zzzzz{zzz{zy{{{{|{{{{zzzzyyzzzzzyzz{zzzyzzyyxzzz{zyzzzzzzyyzzzz{yzzzyzzyyyzyyyz{{zzy{zzxzyzyyyz{zz{zyyyyyyyxzzzzzyyzzzzzzxxxzzzz{zzz{yzyyyyzyzzzzyzzzyyzyyyyzyyzzyzyz{yzzyyyyy{{yzzy{zyzzyyzyyyyyyzy{yyxxyyyyyyzzyzzyyzzyxzyzzyz{zzy{yyzyxzyy{zzzzzzyzxyyyyyyyzzzyyzzyyzyyyyyzzzzzzz{yzzzzyzxyzzzzzz{yzyxyzyyzz{zzz{{yyzyzyzyyz{z{yz{yyyyyzzyy{|{z{zzzyzyyyzyyzzzy{{zzyzyzyzy{z{zz{{{{yyzzzyy{zzz{zz{yyzzzzzzz{|{{z{zz{{zzzzzzzy{z{z{zzyyzzz{{z{{zzz{{zzzzzzz{{{zzz{{zzzzyy{z{z{{{{|zzyz{yyzz{{{zzz{zzzzzzzzz{{{zz{{z{zy{zzzzzzzz{{{|{zz{zzy{{z{|z{|{zzyyzzzzzz{{zz{{yzyyyzzzz{zzz{{zzyzyzyzyzzz{{zyzzyyyyyyxyzzyzzzzzxyyyyzyzy{zz{zzzyyyyyxyyzzzz{zz{yy{yyyyzzzzzzz{zyyzyyyyzy{zyzz{yyyyyyyxyzyyxyzzzyxyyzyyyzzzy{zzzyzyxzzzyyyzzzz{yyyyyzyyyzyyzyzyyyyyzzyyyzyyyyzzzyyxyzyxzzyyyzzzzyzzyxxyyyzyyz{zzxxyyzyxyyzyz{yzyzzyzyzzzzz{zyyzyyyyyyzyyzz{y{zzyyzyxzyyzzyyzz{zyxzyyyzzzz{yz{{zyyzzyyyyzzzyz{{zzyyzxyyyy{zzzyzzzzy{zzzzzzzyzzyzzyzyyzzyzzy{{{zzzy{yzyyz|zy{{{zzzyzzzyzz{{{{|{|zzyzzyy{z{{{z{|{{zzzzzzzyz{zz{{z{|zzzzzzz{{z{{|{|{zzzyzzy{zzz{z{{zy{zzy{{z{zz{{{zz{zz{zz{{z{{{zz{zzzyzzyzzzz{{z{zzyyzyyzzyzzzz{zyzzyyyzyy{zyzyyyzzyyxyyyxyzzzzzzzyxyzyyzyzz{zz{{zzyyyyyzyz{yzzz{z{xyzyyzyzyzzzzzzyyyyxyyyyyyzzzyzxyyyyyyxyzyyxzyyyyyzyyxyyyzyzyzzyzyyzzyzzzzyyzzzyyzxyyyyyzyzxzzyzyyyyyxyzyyyz{zyzyyxxxxyyzzzyyzzyyyxyyyyyzzyyzyzyyzyxyyyyzzyyzz{zyyyzzxyzzzzzyzzzyyyzyyzyzzzzy{{zxzzyyyyyzzzzzzzyyzyzyyyyzz{zzzzzyyzzyyyy{zzzzzzyyyzyxyxzzzzz{z{zzzyyyzyzyzzxzzyyzyyyyz{z{{zzzz{zzyyzzzzzzz{z{{zzzzyyyzzz{z|zy{zzzyzzzyy{{z{zzz{zz{xz{yyz{z{z{|{{{zyyz{zyz{z|{{zzyyzzzzzzzzy{zzzzzzyyzyz{zz{zy{z{zzyzyzy{{{y{{{{z{zyzzzzyzzzy{{{{yzzzyzz{zzzy{zyzzzyyzyz{zzzzzyyyxxxxzyyxzyzzyy{zzyzyyzzyzzyyzzzzyzyzxzzyyyyyyy{yxyyyyyzyzz{yzzzyyyyyyyyyzzzzzz{yyzyzyyxyz{zzzzyzyyyyzyzyzyyy{yzzyzyyyyyzyzyzzzzyxxzzxyyzzzzyzyyyyyzyyyyyzzyzyzzyzyyyyxyyyzzzzzzyyyyyyyxyzyyzzyyzyyyyyxzyzzzz{yzyxyzyzyxyzyzzyz{zyxyyyyzzzzyzzzzzzzzyyyz{yzzzzzzxyzyzyyzzzzzzzzzyzzyzyzzy{yzzzzzzyz{yzyyzzy{zzzzzyz{yyyzz{{z{zzzyyzyzzyy{{z{z{zzyzyyzzzzz{z{{{z{zyyzzyyzz{z{{zzzzy{zzzzz{|{zzz{{zz{yzzzzzzzz{zzz{yzyzzzzz|z{zz{{z{{zzzxzzz{|{{{{{yzzyz{zz{z{{{z{{{zz{yz{zzz{{z{{z{zyyyzyzzzzz{|{{zyzz{yy{{zz{{{{zzzxyzzyzzz{zzyzyyyzyyzyzyzzzzzzzxxyyxyyy{{zz{zzzyyyzzzyzzzz{{zzyyyxzyyyyzzzzyzzzzzxyyyyzzyzy{yzzyyyzyyyyzzyzz{zzyzzyyyxyy{xyyzyyzyxzyyxyzzzyzzzyyyyzxzz{zzyyzzyyxzyyzyyyzzyyz{zyyyyyyyyyzzyy{zzyyyzxyzyyyzzyzzyzzzxyzyzyyzyzzzzzyzzzxyyzyzyzzzzzyxyyxyzzz{zy{{{zzzzyyyzzyzz{z{zyyzyyzyyzzzyyzzz{yzyyyyyzzyzyy{zzyyyzzxyzz{y{zz{zzzzzyzzy{zzzzzyyzyzyyyzz{z{zz|zzzzzz{{z{zzz{{{zzyzzzyyyz{{zzzz{{zzzzyyzz{z{{{{{{zyyzzzzy{zzz{{{zy|zzyzyz|{{{{{{|yzzzyyzzy{zz{z{zzyyzzy{zzz{zz{{|zzz{zzy{z{{{{{{{zzz{{yzz{z{{{z{yzyzyyyzz{yzzz|{zyyyyyyz{zzzzzyzyzzyyzzyyyyyzyzzzxyyzyyyyyzzzz{zyyzyyzzxzyyzzzzzzyzzzyyzyzy{yy{zzzzxyxyyz{yyyzy{yzyyyyyyzyzyzzzzzyyzzxyzyyzyzzy{yzyyzzzyzzzzyzyyzyyyxyyyyzyyz{{yyyxzyzxyzzzzzzzzyyyyxyyyz{yzzzzzyyxyyyzxzzzyzzzzyzyyyxyyyzz{z{zyyxyzyzzyzy{zyzzzzyzzyzyyyzzzzzz{zzzyyyyyzzzzzzz{zzyzyyyyyyyz{zzzzzzzyyyyzyzzyz{zzyyzzzyzyzzyz{{y{zyzzyxz{zzzz{z{{yz{zzzzzz{{zz{zzyzyzyyz{zz{z{{|{zzzyzzz{zz{z{z{{yzzzyzz{{z{zz{zz{{zz{{zz{z{zz{z{yzxzzzy{{{|z{zzzyz{zzy{{{zzz{zz|zzzzz{y{{{{z{{{{zzzzzzz{{{z{|{{yz{zzzzzz{{z{{{{z{{zyzyzz{{zzz{zzy{zyyyyzy{zzzyzzzzyzyzyzy{yyz{{yzyy{yzyz{{yyyzzzzzyzzyyyzyyzzzzyzyyz{yyzyzzyyzzzzzxyyzxzz{zzzzzyyzyzyzzzzyyzz{yyyzyyzyzzy{{z{z{yzzyyyxyzzyyzzy{yyzyzyyyzyzzzz{yyzzzyyyzzzy{zzzzyyzxxxyyzyzzyzz{zyzyzxyyzzzzzyzzzzyyzzzyz{zzzzz{zzyzzzyz{yzzz{z{yzyzzzzxzzzzzzzzzy{zyzzzzzzzzz{{yyzyzyzz{zyz{{{z{yzyyyzzzz{y{zzzzyzyyzyz|z{y{z|zzyyzyyyyzy{zzyzzzzz{zyyzz{{{{zzzzzy{yz{zzzzz{zz{yzz{zyyy{{{{|z{{zzzz{zyz{{zy|z|{yz{yzzzzz{{z{{{{{{yyy{zyzz{{{{z{zy{zzzz{{{zz{{z{{xzzyzzzyz{{z{{{zzyz{{{{{z{z{{{{zzzzzzzzyzz{{|{{z{zzyyzzzzyz{{zzyzzyyzxzy{zzzzzzyzyy{yzzxy{zzy{zyzxyyyyyz{z{zzzz{yzzzzzzzz{yz|{zzyzyyzzyzz{yzy{zyzzzyyzx{z{zzzyzzzyyyyyyyzyz{{zzzzzyzyyz{zyzz|zzyyzzzzyxy{zzzzz{zxyyyyxzxzzzyz{zzyyzyzxyzyzzy{zzyzzxyyyyyz{zzzzz{xzzyyyzzyzyzzzzzzyxzzzyz{zyzz{yzzyyzyyzzz{zzz{zzzzzzyyzzzzzz{|{{zyyzyzyzzy{z{zzyzzyyyyyz{{zz{{{zyyyy{yxz|z{{z{z{zyz{zzz{z{z{y|{{yz{yzzz|zz{z{z{{zz{z{zz{zz{y{z{zzyz{{zy{z{{z{{{zy{zzzyyzzz{z|{{{yzz{zzz{zy{|z{{zzzzy{{{z{||{{{|{zzzzz{z{|z{{{{{z{{zzzzz{zz{{{{z{y{zzz{{{{{zz{{|z{yzzzz{{z{{zz{{zz{zyz{zz{zz{z|{{zyzzyzy{{{zz{|{zzzyzyzyzz{zzzyzzyyyyyyyzzzzzzzzyzzyyzyyzzzzzzz{zwzyyzzxzzzzz{{{yyyyyyyzyzzzzy|{yzzywyyyzz{zz{zyyyyyyzzzyyyzyzzzyyzzyyyyzzzyyyzzyyyyxyxyyzzyz{z{zyyyyyyyzyzz{y{{zyzyyyyzzzyzzz{{yz{zyyyxyzz{zz{zzzyyy{yyy{yzyyzzyyxzzyyyy{yzzzzzyyzzzyyyyzzzzzzzzzzxzyyzzzzzzzzzzzy{zyyz{yy{z{{zyyzzyyzz{z{yy{z{zzzyzzyzz{{z{zzzzyzzyyzzz|yzzz{zzzyzzzzz{zzzzy{zzzyzzzyzz{z{{z{zyzzzyyzz{{z{{z{zzyzzyyyyz{zz{{zzzyyyyyzz{|{{{{{{zz{yzzzzzz{{{|{{{zzzzyzzzzy{z|z{{|z{zzzyz{z{{z{{yzzzyzyzzyz{|{{z{{yzzzz{{{{{|{{{zzzyzyz{z{zz|{{{{zyyzyzz{zz{z{{yzy{zyzzxyzzzyyzyyxyyzyyyzzzyzz{zzzx{yxyyyz{zz{zzzyxxyzxxzzyz{{zzyyzz{zyzyzzzyzzzzzyxyyyxzzzzzzzzyyyzzxzxzyzyzy{zyyzyyxyyzxzyzzzzyyzyyyxyzyyzzzzyyyyzyyxzyyzzyyzzyyyxyzyyzzzzyyzyyyzxyzyyyyzzzyz{yyyyyyyxzzyyz{{yyyyyyyyxyzzzzzzyzyzzyyzzzzzzyzzzyzyxzzzyyzzy{{z{{xzyyyyyyzzzzzzzzyyzzyyy{zzzzz{zzyzyyxzzzzzy{z{zzyyyyyyz{yz{{z{{zzxzyyyyzz{zyzzzzyzzzzzzzyz{z{{{zyzy{zzzzzz{{zz|{zz{zyzyz{z{{z{y{yyzzzzzzz|zz{{{zyzzzzz{zzz{zz{{{zzz{{zzz{z{{{{{{zzzzzzz{{{{{{z{zyzzyz{yz{zz{{{{{zyzz{zzzz{z{{zzzzyz{yzyzzz{y{|zzzzzzyzy{zz{{{z{{yzzyxyzzzyzzzzyzxyyxyyyzzzyzyyzyzyyyyzyyzyzzy{zzyxyyyzwyy{yyzz{yxyyzzyzzzzzzyzzyzzyzzzxyzzzyzyzzyzyyxyyzzzyzyzyzyyxyyyy{yzyyzyzzzzyyyyyzzyyzyz{zyyyyxyyyz{yzzzyyyy{yyyyzyzyzzyzzyyxwyyxyzyzzyz{zzyzyzyxyzzxyyy{zyyyyyyyyzyzz{zzzyyyyyyyzzzzzzzzzzyyzyyxzzzzy{z{yxzzyyzyzzyzyyzzyzzyzyy{zzz{{zzzzyzz{yyyyzzzz{zzyyyzyyyyzzzyzz{yzzzzyzzz{yyz{zzzzyyyzz{yz{{{z{{zzzzyzz{zzz{{z{{zyyy{zyzzzzzzzzzz{yzzzyz{{z{z{{{|zzzyz{{zzz{zzz{|z{zzyzzy{{{zz{{|{zzzy{zzz{zz{{zyzzzyyzzzz|z{{z{{{zyzzz{{zzz{{z{{zzyyyyyyzzz{yzzzyy{xyyzyz{zzzzzzz{zxyyyzz{z{zzzyyzzyyxzxy{zyxzzyyzxyyxyyyyz{{{z{zyyyyzyzzzzyzzzyyxyyxyxyz{zzzz{{yyyyyyyxzzzzyyzzyyzyyyyyyzyxzzyzzyzzyyyyyx{yyzyyzyyyzyyyzyzzyzyzyyyyyyyxzzzzzyzzyyyzxxyzyzyzzyzz{xzyyyzyyz{zyzzzyxyxzyywyyyyzzzyyzzyzyzzyzyzzzz{yyzxzzyxzzzzzzzzzyzyyyyzzzzzz{zyzyzzzyyzz{zyzz{zzzzzzyyzzy{yzz{zyzyzyyyyyz{{zz{zzyyzzyyyyy{zzz{zzzzyyzyzzzzzzzz{z{yz{yyzzzz{{z{{yzzzyz{zz{{zzz{|zyzzzyyyz{zzzz{zzyyzyzzy{{z{{{{{zzzyzzzzzzz{{{{{{zzzzy{yz|{z{{{{yzzzzzzyz{z{zz{z{{zzzzyzzz{z{zz|zyzzz{z{{|z{z{z|zzzzzzzzz{zzz{{yzzzzyzyzz|{z{zzyzyzyyyyyzzzyz{zyyyyzyyzzyzzzzzzzzyyyyxyzyzzzzz{{zyxzyxzxzzzy{{zzyxyzyyyyzyzzzzzzyzyyzzyyzyzzzzxyyyyyyyxyyzz{yzz{yzyzyzzyz{zyyyyzzyyyzyyzzzyzzyzzyyzxyyzzzyzxyy{yyyxzyyyyyyzyzz{zyyzxwzyyzyyz{z{zzyyyyzxxyyzyyzzzzyyzzzyzyzxyyzzzzyyyzzzyzzyz{yz{zzyyzyxz{zzzy{zzzyzyyxzyzzzyz{zzyyzyyyyyzzzzyz|zzyzyyyyyz{z{{zyzzzzxzzyz{zzyzzzz{zzyxyzz{zzz{zzzzzzyzyzzz{|z{{z{y{yyzzzz{{zzz{{{zzzzyyyz{zzzzz{zzzyzzzzz{{zzz{z|z{zzzy{zz{zz{zz{zzzzzzzzz{z{{{{{{yz{zyyz{zzz{{{zzyyy{zzz{y{{{{{|zzzzzzyy{zz{zz{zzz{y{{zy{zzzz{|{z{yzyyzyz{zzzzzzzzyzyxzyz{{z{zzyyzyzyyzxzzzzzyz{zyyxyxyxzzzzyzzzxxyyyyyyz{yzzz{|zzyzyyyyzzzzz{zzzzxxxyyyyzzzyzzzyyxyyzzyyyyyxz{zyyzyzyyyzyzyyzyyzzyyzyyyzzzyyzzzyyyyyyyyyzzyyzzzyyzyxyyyyy{yyzzzzyzzyxyyyzzyzyzyyyyzyyyyyyzzzzyzzyyxzxyyyyxzz{y{zyzyyyyxyzyyy{zzyzyyyyyyyzzyyzz{zyyzyyyyzzzy{yzzzyyzyzyyzz{x{yzzzzzzyxzyzzz{z{zzyyzzzyzyzzzzzz{zzzzzyzzz{|zzz{z{zzyzyyy{zzzzz{{zzzzzzyzz{zz{zz{{yzzzzzyz{z{y{{{z{z{{z{yyzzz{{{{zz{zzzz{yzzzzzz{{{yzzzzzyzzz{{z{{{zy{yy{zzzz{{{z{zzzzzzzzzz{z{{y|zzyz|zzz|{{{{{{|{{zyzyyzz{{{{{{z{zzzyy{yzzz{zz{zzzzyyyyyzzz{zzzzyzyyzyzyxyzyzzzzyyzyzxyyyzzzz{z{zyyzyzzx{zzzzzzyzyzzyyyzzz{yzy{zz{yyyyzyyzzzyzyzyzzyyyyyyzyyy{{yzxzyyzyyyzzyyzzzyyyyyyzyzyzyz{zyzyyxzyzyyyz{yzzyyzzyxyzyyyz{{zyzyyzyyyxxy{zyyyzzzyzzxyyyy{yyzzyzyzyyzzyzyyyyzyz{yzyyyyzxzzzzyzzzz{zyyyyzzz{yy{zzzy{yyyyzzzy{y{z{zzzzyyzzzyzz{{zzzyzzyyyyz{z{{{zzyyzyyyyxzz{{zz{zzyxzyyzyzzzz{{{{zzzyzyzzzzz{z{{{zzyyy{zy{z{z{z{yyzyy{zzz{{z{{{{{zzzzyy{z{{{{{{{{zzzzzz{zzyz{{zz{{yzzzz{z{{zzzz{zzz{{yzzz{z{{zz{{{yzyzzzz{{z{zzz{{{zy{zy{z{z{{zz{|zyyz{zy{zzz{{{zz{yzyyyyy{z{{zyzzyyzyyzyzzzzyzzzyyyyyxzyxz{zyzy{zyyzyyyyzzzzzzzzzzzyyyyyzzzzyz{zzyyyyyzzzzzzzyzzyyzyyyzzyzzzz{zyzxzyyzyyyzz{z{zyzyyyzyzyyzzzzzzzyyzzyyyyyyzzyzzzyyyyyzyyyzz{zz{zzyyyzyyyzzzy{zzzyzyyxyyzzzzzyzz{zyyzyyyyyzzzzz{yzyyyyyzyzzzzz{yzzzzxyyyxyz{zz{z{yyyyyyzy{z|zzzzzyzzyyyzz{z{z{z{zyyyyyzzyzzzzzzz{zzzzzxzzzz{y{{zzyzy{zyzz{{{{zzzyzyzzyzzyy{zzyzz{zzzy{yz{zz{z{{{{yzyzyzzzzzz{z{{zzzz{yzzz{|{z{{zzzyyzzyzzz{{z{{{{zz{yzz{{z{{{{{|{|zzzyzzzz|{{{z{z{yzzyzyzz{{{{{zz{yzzzz{z{zzzz{{{zzyzzyyzz{{z||{{zzzzyzzzzzzzz{{{zzzzzzzzz{{zzzy{yzzzyyyyzz{zzzzzyzyyzxyyyzyyy{zyzyyyyyxyzzyy{zzzxyyyxzxyzzyyzyz{zyyyzzyyxyzzyyzzzxyxxyyyyyyzzzzzyyyxyyxxzy{zyzzz|zyyyxxzzxzyyyzzzzyzyyzyzzzyzzy{zxyzyyyyyxyzyzxyyyyyxyyyyzyyzyzzyyzzyyyzyyzyz{zzzyyyzxyyyzyxyyzyxzyyyyzzzzzzzyyzzzyyzyyzyzzz{yzzzyzyyyyxzzzzzzzzzyzzyyyzzyzyyzyzyzzyxzxxzzzzzz{{zyzxzzyyyzz{zz{zzyzyxyyzz{z{z{{yzyyzyyxyz{yzz{zzzzzyyzzzzzz{{{{zyzyy{zzzzzzzzzz{zyyyyyyz|z{z{{zyzyzzyzzy{{zzz{{zzyzzz{zzzzz{{}z{zzzzyzzzz{{|{{|{{zyzyzzzz{{{z{{z{zzzyzzy{{z{z{{zzzz{{yzy{zz|{{{{zzyyzzzzyzyzzzz{{z{yzzzyzyzzyzzzzzyyzyyyzzzzzyyzyyyyyyyyyzzyzzzzyyyyzyxzz{{zyyzzzyyxyyyyzyzyyzzzyyzyyyyzzzz{yzy{zyyyxyxyyyyyyzz{yyzyyyyyyyyxzzyyyzzxyyzyzyzyyzzyzyyyxyyxyyy{zyzzyyyyyxzxyzzzzyzyyyzyyyyyyyzzy{{zyyzyyyxyyzyzzz{zyxyyxzyyzzzyyzyyzzyxyyyyyyyyyzyzyyyxyzyyzzzzzz{zzyyyyyyyzzzzyz{zzzzyyyyyzzyz{y{yzzzyyyyy{zzzzzzzyzyyyyzzzzzzzz{yyzyzyzzz{{zyz{zzzyyzyyxxz{zzyzyyzyyyzzzzzy{{{zz{yyzzyzzzzz{zyzzzzyzzyyzy{{{z{z{zzzzzzzzzzzzy{{z{zyzzzz{{zz{z{{z{zyzzxyzz{zz{z{|{zzzzzzz{|z{z{{{z{yzz{zyyzzy{y{zz{{{zzzzzy{z{||z|zzzyyyzy{z{{z{{{zz{zzzyzzy{zzzzyzyyyyyyyzzzzzzzywxxyzyxyzzzzzzzzyyyyxyyyyzzzzzz{zyzxzzy{{zyzzzz{zyzyyyyyyyz{yz{{yzzxyyzyzzyzzzz|xyyyzyyyyyyyzz{yzyyxyyxyyyzzyz{yzzyyyyyzzzyzyyzyyxyzxyyyyzzzzzzzyzxxyyxyzyyyzzyyyxzyxxyxzz{zzzzyzyzyyzyyyzyyyyyzzzyyyyyyzzyzz{zzyyzyyzyyyzzzz{z{zxzyzyzzzzzyzzz{yzyyyxyzyyzzzzz{yxyyzyyyyyzzzz{{zyzyyzzzyz{zzzyzzyzzyyzyzz{zyz{{zyy{yyzz{zz{zzzzyyzz{zzyzzz{zz{zzzzyzzzy{{z{{{|{zzyzyyyzzz{{zz{z{zzyzyzyzz{zzz|{zzzzyz{{zzz{{{{{zyzzzzzzz{{{|z{|zzyzzyzz{{y{{|{{zzy{z{zzzz{z{z{{zzzzzyyyz{z{{{z{yzzzzzyzz{zzz{z{yzzzyzzyzzz{zzzzyyzyxyyzz{zzzzyyyyywyyyyyyzyzzzzxyyyyxyyzyyyyzzzzyzzyxyyzyzyyyzzzyyyyyxyzy{{yzy{zyyyyyyyzz{zyyxzyyyyzyyxyzxxy{{yyyyyyyyyyzyzz{{yyxyxxyxyyyyyyzzzyxyyyxyyyyyzyxzzyyyyyyyxxzzyzyzyy{yxxyxwzyzzzzzzzyyyyyxxzyyzyz{yyzzyxyxyy{zyxzzzzxyxyyxyzzyzyzzzyzxyyyzy{zzyzzzyzyyzzxyyzzyz{zyzzyzyxxyyyzzzzz{zzyzyyyzyy{zzzz{zyyyyyzxyzzzzzz{zyzxzyyyzz{yyzzzzyyzyzzyzzzzzzz{zyzyxyy{yzzz{zy{zzyzzzyxxz{{zzzz{zzxzzzyz{{{zzzz{zzyyzyyzy{zzz{{zzyyzyzyzz{z|{{zz{zyzyy{zz{{zyzz{zzyyzzzz{zzzzzy{{{zyzzzzzzz{{zz{zz{yzyzzzzzzz{{{zzyzyyzzyzz{zzz{yzzyyxyyzz{zyzyzzyxxyxyyyyzzzyzyyyxyyzyyyzzzz{zzyzzyyyzxyzzzyyzyyyyxyyyzyyzzzzz{zyzyxyyyyyyyy{{zyyyyyzyyz{zzxyzzzyzyyxxyzzzyyzzzyxyyyyxyzxzxyyyyyyzxyyzyyyyyyyzyyyyyyyxzyyyzyzzyxyyyxzxyzzzzyyzzyyxyyxzyyzzyyzyzyyyyzyzyyyyzzyzyyzyyxzyyzyyzzzzzyyzyzyyzzzyzzy{y{xzzyyyyyzyzzzz{yyyzzyyyyzyzzyzzzxyyzyzy{zzzzzz{zzz{zyzyyz{zzz{zzzzyyzyyzy{yzzzzyyzyzyzz{z{|{{zzz{yyyzzz{z|zzz{zzzzzyzzyz{{{z{zzzyzzzyyyz{zy{{z{zzzzzzyy{zzzzz|{zyzzxyzzyz{z{{{zzy{yyzzzzzy{z|y{zyzzzyz{y{zy{{{|zyz{zzzz{zyz{{{{z{zyyyyz{zz{zz{{zzzyzyyyz{zzzzzzyy{yzxzyz{{zzyzzyxyyxyyxyyzzyzyzyyyyzxyyyzyzzyz{yxyyyzzxzyxyzzzzzyzyyxyyzzzzyzzzyyyyyxyxyyzzzzzzyyzzxyyyzzyyy{z{zyyyzzyyyxzyyzyzxyxyyzxxyyzyzzzyyxyyyyyzyxzyzzyyyxyxyxxyyyyyzzyzyyyyxyxyyyyyxyyzyzzyyxyyxxzzzyyzyyyyyxxxzyyyzzz{yxyyzyzyyzzzzz{zyyyyyxzzzzyyyzzzyzxzyyzyzzzzyz{{zyyyyyyyzzzzzzyyyxyyzxyyzzzzz{y{yyyyyyzzzzzzz{{zzyyyyyyzzzzyyzzzzzzyyyyzyz{{{{y{y{{y{zzz{{{zz{{zyyzyyyzyz{zzz{{{zyzzzzzzzzzzz{{{zzzyzzyyyyz{zzzzzzzyyyyzy|z{{zzzzzyzyzyy{zz{z{zz{yzxzyyz{zz{{z{{zzzyzzzyyz{z{zz{zzyyzzzyyyz{yzzzzzzzyyzyzzyzyzzyzyzyyxyxyzzzzzzyxyyyxxyxyzzzyyzzyzyxxyzxxyzyz{yzyyyyyxxyzzyzzzyzzzzzxzyyzz{yzyzzzxyyxxyyzyzzyzzzxyyyywyxxyyzzyzzyxyzyzxyzzzyyzzyyxxyxxxxzzyzyzzyxyxxyxyxzzzzyyyzyyyzywyyzyzyzz{zyxyyyyxxyzyyyyzzzyyyyyxyyyyzzyzyzyyxyyyyyyyyy{zzzyyyzyzyyzzyzzzzzxyyyyzyyyzyyzzzzy{yyzzzzzyyzzzzyzyyyyzzzzyxzz{yyyyzyyyyyzyzzzyzzzzyyyyzyzzzzzzzyyzyyzzyzzzzzzzzyyyzzzyzz{z{{z{zzyzyzzzy{zzzzz|zzzzyzyyy{{{z{zzz{yzzz{yzzzzzz{{{zy{yyzzzzzzz{{z{zzzzyzzzz{{{zz{z{yy{zzyyzzz{{z{{zzzzzyyzz{z{zz{zz{y{yzyzzzz{z{{{yyxyzzzyzzzz{zz{zzyzyyzxzzzz{y{zyyyyzyyyzzzzzzyzyyzyzyyxzzzy{{zzzyyyyxzxyyzzz{zzzyxxzzyyzyzzzz{zzzyyyzyxzzy{zyyzyzyzyyyyzzz{zzyzyzyyxyyxyzxyy{yyyyyxzyyy{yyzyzyzz{{yxyyxyzyzx{{zyyxxxyyyyyzzyzxyyyyyxyxyzyzyzzzzzyyyxzyzyzzyyzzzzyyxyyzyyzyzyyzyzzyyzxyyzyzzzzyzyzyyzyyxyzzzzzyzzzyyyyyzzzzyzyyz{yzzzyyyzzzzzzyzzzyyyyzzzy{zy{zzzzyyzxyzyz{zzzzzzyzzzzyyyz{zyzzz{yzyzyzzzzzyzzzzzyzyzzyzz{{zz{{z{zzzyyzzz{yz{{{{zyyyyzyzz{z{{zzzzzzzyyyz{{{z{{{{zyzzz{zzz{{zz{{zzzzyyzyzyzzz{{{z{{z{zy{zz{{{z{z{zzzz{yzzzzz{zzz{zzzzzzz{|zzzz||zzzyyyzyyzzz{z{{|zzyzxzzyzy{zz{zzzyyzy{zzzyy{zzyz{yyyyxxxxzzzyyzyzyyyyzyyzzzzzz{z{zyxyyyyyzyzy{zzyyyxyyyyzzzyzzzzyzyyxyyyzzzzzzyzyyzxyyzzzzzyzzzyyyzxzzyyzzzyyy{yzyzxzyyxyzyzyzzzzyyyyyxyyzyz{yzyyzyyyzyyzyzzzz{{yyyyyxyyyzyzyz{zyzzzyyxxyxzyyzzyyyyyxyyyyyzyy{zzyyyyyyyzyz{zzzz{zyxzyzyyx{{{{yzzzyzxyyzzzzz{zzz{yyyyyyyyzz{z{zz{zxzyzyzyz{zyz{yz{y{zyzyyyz{zzzzz{zyyzyzzz{zyzz{zzzyz{yyyzzzz{z{zzyzzzyz{zzzz{z{{yzzyzyyyzz{zz{{{zyzzzzzyz{{{{{{{{zzyyzzyy{{zzz{|z{yzzzzzzz{{{{{zzzzzzzzz|zzz{zz{zyyyzyyz{{z{z{z{{yyzzzzz{z{{zz{zzzyyy{yyyzzzz{{yzzzyyzyyzzzzzzzzyx{yyyyzzzzyy{zzxyzyyxyxyzz{y{y|zzzzzxxyzyzzzzyzyxzyyyyzzzyzzz{zyxyyyyyyyzzzy{z{zzzyyxzyyzzyzzzzyyyyyyxxzzzyyzz{zyyyzyyyyyzzyzzzyyzyyyxyyzzzzyzzxyzyyyzzzzzzzyzyyyyyxyxyyz{zzzzzzyyyxyxzyzzyyzzzzyyyyyzyzzzyzzz{yyyyzyyzyzyzz{zzyyyyyzxxyzzzzy{zzyxyyyyyzzzyzzzzyyzzyzzzzzzzzzzzyzzyyyyzz{zzy{zzzyzyzyzzzzzzz{zzyyzy{zyzzzzzz{z{{yyzzzyzzzzz{z{z{zzyzzzz{z{{y{{zzzyyyzyzzy{{yz{{zzzzzzyzz{zzzzzz{yzzyzzz{{{zz||zzzzzzz{z{{zzzz{{{zzz{{zzz{z{{{{zzzz{yz{zz{{{zzz|zzzzyzyzzzz{z{zz{zz{zzzz{{{{zzz{yyzyzzzz{{{z{{z{zzyzyyzzzzz{y{{zzyzyzzyyzz{{zyzyzyyyyyyyyzyyzzyzzyyyyyxxyzzzyyzzyyzyyyyyyyzyzzzzyzzzyyyzzz{zzzz{zzyxyyzyzyyzyzzzzxyyyzzyzzyzyzyzyxyyyyyzyyyyyzyzzzyxyxyyyyyyyzzzxyyyxxyyyzyzyyyzyzyzyyxyyzyzyyzzyzxxyyyxyyy{yzzyzyyzyyyxyxyyzyzzyyyyyyyxyzyyyz{yyxzyyzyzzzzyyy{z{yzxyyzzz{z{yzzzyyzyyzzzzzzzyy{zyzyyyyyyzz{yzzzzyyzyyxzyyzzzzzyyzyzzyzxyzzzzzzzzyzyzzzy{{zzzzzzz{yyyyzyzz{z{zz{zyzyyzzzyz{zzz{zzzzzyzyyzzz{zzzzz{yyzzyzyzz{{z{{zz{zzyzzyyz{z{{z{{zzyy{yzz{{z{{{{zzyzyzzyzz{{yz{{y{zzzzzz{{yz{{{{{zzzzzzzzzz|{{{{zyyzzy{zz{zz{zzzyzzzyzzzzzzzy{zzzyzyyxyy{z{zyyxyyyyyyyyyyzzzzyyyzyzzyxxzyzzyz{zzyyxxyyyyyyzzyyzzzyyzyyzyyyzzzzyzzyzxyyyyyz{yzzzzyzyyzxyxyyyyyzzzzyzyzyyyyyzyyz{yxxyyyyyyyyyzyzzzyyyyxyyyyyzyyzzzxxyyyzxyyyzyzyzzxyyyxyyzz{zzzzzyyyxzzyyx{zzyy{yzyyyxyxxyyzyyyzzzyyyyzyyyzzz{zzzzyxyyyyzyzzyxzzyzzxyzyyzyyzz{z{{zyyyzyyzyzyyyyz{zyxyzzyzyyzzzzzzzyyzyyyyy{{zzxzzzyyyyyzzz{z{zzz{z{zzy{yyyzy{z{{{z{yzyzzy{{zy{zzz{yzzzzyyzz{{{zzzz{yz{yyzzzyzz{{{z{yzzyyzz{{zzzz{z{yzy{{yz{{z{{zz{zzz{{zzyzz{{{zzzzzyzzzyyz{z{{zz{{zzzz{{{{z{z{z{{zzyzzyyyzzz{y{{zzzzyyyyy{zzyz{zzzyzzyz{zyzzzzyzyyxxyxyyxyzyyyyzyxyyyyyyxyyzzxzzzzyyyyyyxzy{yyzzzyyyzzyxyyyzyyyzzyyyyxxyxzzyyz{y{yzyxxx{xyzyzzyzzyyyxzxyy{zyyyzzyyyyywyxyyzyzzzzyyxxxxxyyyxyyzzzzyzyxyyxyyyzyyyzyzxxyxyyyzzzzyyzyyzyyxyyyxyyyyzyzzyxyyyyxxyyzzzzyyyyyzyyyzzzzzzzyyzyyzxyyzzzyy{yzyyzyyyzzzyy{yzyzyzyzyzyyzzyz{yzzyzxzyxzyzz|{z{{yyyyzzyzyzy{zyz{zyyy{yzyyyz{zz{zzyzyyzzzyzzzzzz{{zyzxzyyzyzzz{zz{zyzyyyzzzzz{{z{zzyzz{zxzz|zz{z{z{{{y{zzzzzyz{zz|{zy{{zyyzzzzzzyzzzyzzy{zzzz{{{{{zyzzzzxzzzzz{{{{zzzzyzzyzz{{zzz{yzyzzzyzzzz{yy|{zzyyyyzyzz{zy{zyzyzyyyyzzyzyzzyyyyyyxyyxyzzyzzzzyyzyyyxyyyzyxyyzzzyxx{yyxyzyy{zzzyzyyyyzzzy{zyz{{yxzyyyyyzzyz{zzzyyyxyyzy{y{zyzzyzzyyyyyzyzyyzzzyyyyyyyyyxxzyzzyyyxxyzyyzyzyzyzzyxyyyyxyyyyzzyzzyyyyxyyyzyzyzzzzyxyyyxxyyzzyyzyz{yxyyyyyzzzyy{zyyxyyzzyyyzyzzzzyyxyyyyyyyzyyzy{zyyzyyxyyzz{z{zz{yzzzzxzz{{zzyz|y{zzyzyyyyzzz{{zyyyyyyyzxz{z{zyzzyzyyyyzxzzyzzzyz{yzyyyyzzzzzzzz{zz{zzyzyzzzzzz{zzyzzzzyyz{zz{zzzzyzyzyzy{zyz|zzzzz{zy{zzz{y{{{{{|zzyzzyzy|z{{zzzzy{zzyzzz{zzzz{z{{zzzzyzz{z{{z{{{yyz{yz{zzzyz{{{yzyzzzyyy{yzzz{zzyzzy{zyy{z{zy{zyyzzxyyyyyzzzzyzyyxxxyyxyyzzyzyzzyxxywyyzxzz{z{zzyyyyyyyzyyzzzyyzxyyyyyzzz{zxzzzyyyxxyyxzyzzzzzyyzzxyyyxyzzyyzzzyxzxzyyxyzzyzyyyyxzxyyyyzyyyyzzzxxxxyxyyyyyxyzzyzxxyyyyzyyyyzyyzzyyyyxyzyzzzzyzzyyyzyywxyzyyyyyyyxyyzzzyyzyzzzzyzzyyzzyy{yyzy{{zzyyyzyyyzzzyyyzzyyzyyyyzzyyzzzzzyy{yyyzyzzzzz{zzyyzzyyyyyzzzzzyyzxzxyyyxyzzzyz{zzzyzyyyyyyzzzzzzyzyzyyx{{yzzz{zzyz{yyzyy{{z{z{{{zz{yyyyyzzzz{zzy{yzzyyzzzzzzzz{zzzzxzz{zzzyzz{yzzzyzzzzzy{zzzz{zzzz{yyzzzzz{zz{{{yxzzzz{zzzzz{{zzzzz{zzz{z{{zzzzyzzzzyyyzzyzyz{z{{zzzxzyzy{z{zzzyyzyxyyyyyzyyyzyyxxxxxyyzzzzzyzzxyzyyyyyyyzyzzzzyyyxyyyzzzyyzzzyzyyyxxyzyyzzxyzzyzxzyyyyyz{yyyz{yxxyyyyyzzyyyyzzzyxyxyyxzyyyyzzyyyyyyyxxzyyyyzzzxyyyyyxyyzyzzzzyzyxyyyxxyzyy{zyyzyyxxyxxzyyyzy|zyyyyyxywyyyyyzzzyzyyyyyzyxyyxzyyyyyyyyyyzzyzzzzzyxzyyyyyyyzzyzz{zzyyyyyyzyyyzzzzxyyyyyzyzyzzzyz{yxyyxyyyy{zyzz{zzyyyxzzyyz{zyz{zyyyzyzzyz{zyz{zzzzzyyyyzy{zzzzy{yzzzzzzyzzz{zzz{yxzyyyyx{y{zzzzzzzyyzyyzzz{zz{{z{yzzyzz{y{z{zz{{zzzzzyz{yz{{{z{zzyzyzzyyzzz{z{{{{yzyzzyzy{zzzz|{zzy{yzyz{{{{z{z{zzzyyyyzyzyzz{{{yzzzzzzyzz{zzzzzyyzzyyzyxzyyzzzyxyyxwyxyyzyzzyzzyyyyyxzzzzzzz{zzzyyyyyxxyyzzz{yzyyyxyzxyyy{zyz{zzzxywzyxyzyyy{zyyyyzyyyyyyyzyyzzyyxzxyxxzzzyz{zyxyzyyyzxyyyzyzyzxyxxyxxyxzyzx{zyyzxyyyyyyyyyzzzzyzyyxyyyyyzzyzzzyyzyyxyyyzyyyzyyzzyxzyyyy{zyy{yzyyxzyyyyyyz{zzzzyyyyzyyyyzzzzzz{zyyzyxzzzzyz{{{{zyyyzyzyzyzzzzzyyyzyyyyyyyzzz{yzzyzzyzyyyzz{z{y{zzyzzxyyz{zyz{yyy{yyyyzyyy{z{zzzyzyyy{zz{{z{z{zzyzyyyzyyzyzz{{{zzyzzzzzzzzzz{z{{zyzzy{zzyzzz{z{zzzzz{zzyy{{{z{z{{yzzzyzy{zzzz{yz{yzy{zzzyzzz{{z{zzzyzyyz{zzz{{{z{y{yyzzzyzzzz{{{zyyzyyyyxzzzzzyyyzzyxyyyyzzzzzy{yyyyyyxzz{zzyyzzyxyxyyxy{yzzzz{yyxyyyyxxyyzyzz|yzxyxyxxyyyzyzxz{zyxyyyyxzyyyz{yzzyyxxyyyzyzzzzyyzxyyyyxyzyzyyzzyyyzyyyxxyzyyyz{zzyyyyyyxyyyzyzzzyyxyxzxyyzyyzzyzyxyyyxxyyyzyyzzyyyyyyyyyyzyyyzzyxyxxyyyyyzyyyzzzxxyyzzyx{yzyzyzzyyyy{yxzzzzyzzzzyyyzxyzyyyyzzzyzyyzzyyzyyyzyz{zzxzzyyxyyyy{y{zzyzyzzzzzzzzy{zzzzzzzyyyxzyzzzyzzyzzzyyzzyzzzzzyzzyzzyyyzyz{zz{z{zzzy{zyyx{{{zzzz{zzyzzzzzz{zzzzz{{zzzyzzyz{y{zz{{{zzyz{zzz{{zzz|z{yz{yyzzzz{{z{{zzxzzyyzzzzzz{z{{zzyzyyyzz{zzzz{{zzzyzzzyzzzyz{{{zzyyyyyyzzy{zzzyzzzxyyyyzzz{yzyzyyzyyyywxzy{zzyzyxyxyxyyzzzzyzz{zzyyxyyxzzyz{yzzzzzyyyyyyyzzyzzzzyywzyyyzzyzyzzzxzyxyzyyzyyyzzzyyyxxyyyzzzyzyzyyyyzxyxyyyzzzyyzzyyxyyxyyyzyyxyyyzyyyyyyzyyyyzyyyzyzyxyyzz{zyzzyzyxzzzxyxyyyyxyyzyyxyyxyxyzyzzzzzzxyyyyyyzyzzzzzzxyyxyyzzzzzzyzzzzyzxyyyzzzyyyyzyyyyyzyyzzz{yzzy{zz{yyyyxzy{zy{zzzyyyzzyyyzzzzyyzzxzyzxxzz{zzyzzzzzyzzyzy{zzzzz{zyzzyz{{y{zyzyz{zzzxzyyxy{yzzzz{zzyyy{yzyz{{{zz{z{zyzy{yzz{{yz{{{zy{yy{zzz{{z{|{|{yzy{yzzz{{{z{zzyz{zz{{zz{{z{{z{zzyzzzx{zz{{{zz{z{yzzzyzz{zzz{z{z{zyyyyyz{yy{zzyzyxyyyyyyyzzzzyyyzyyyyyyzzzyzyz{yzzxyyyzyy{zy{yzzzzyzxyyzyyzzzzyyyyyyyy{yzzyyyyzyyxyyyyyyyzyzzyzxyyxyxyxwzxyyyyyxyxyyzxzyzzyyyyzyyyyzyyyzyy{yzyzyxyxyyyyyzzyyzzyyyxyyyyyxyzzzyyyyzzyxyxzyzyyzyyyyyyyyxyyxzyyzzyzyyzxyzxzyyzyyzzyyxywzz{yzyzzzzzyyyyxzxyzzzzzzyz{zzyyyxzyzzzyyzyzzyyyxxyyyzzyzzzzzyyzyxyyzzyz{zyzyzyzyzyyzzyzzyzyzzzyyyzyzzzzy{zyzyzz{yzzy{{zzzzzzyzzzyz{yzyzz{zzzyyzyzyz{z{z{zzzzyyzyzyy{{yyz{{{zzzyyzzz{zyzz{{{{zzyzzzy{{{{z{{z{z{zzyzyz{yzz{zzzzzzyzzyz{zzzz{{zz{zzyyz{zyz{{|{yyzzzzyyz{{zzz{zzzzyyyzyzzz{zz{zzzyyzyyyyzzyyzyyzxyxzxyyyzyyyyy{yxyyyxyyzzzzyz{zyyzxyxyyyyzzyzzyyyzyyyyyzzzzyzzzzxxxyyyxyyzyzyzzyyyyzyyyyz{yyzzzyyyyzyyyzzzyyzzzyyyzyyxyyzzzyzyzyyyyyyyyz{zxzzyyyyyyyyxyyzzyyyzzyyyyxxyxyyyyyzyzyxyyyxyxxzyzyyzyyyyxxyyzyzzyyz{zyxyxxyzyyzyyyzzyyxyyyyyzyzzzyyzzzyyyxyyzzy{zyzzzzzzzyyzzyzzzyzzzzzyyyyzxzzzzyzyzyyyyyyxyzyzzyz{zzzyyyyyyzzyzyyzzyzyyzyzyy{zzz{zyyzzzzyyyz{zzz{{zyy{zzzyzzzyzz{zzzzzyyyyyzzz{{z{zyy{yzzxzz{{yzzz{zyzyz{yzy{zz{{{{{zzz{zy{z{z{z{zzyyyz{zzyzy{z{{z{zz{zzzzyzzzy{z{{zzzzzzzyz{zzz{zzzzyzzyyzyzzzzzzzyzzyyyzy{zyyyyzyyyyyyxyxyzzyyzyzyzyyxzyyzzyzzzzzzyyxyxyyyyzyzzzyzxyzyyyyzzyzyyyzyxzyxyyyyzzzxzyzyxzxyyzxzyzyy{yzzyzxyyxyyzyyzyyyyxzxyyyyyzzyyyyyyxyyyyyxxyxzyzyzyyyyxyyxxzyyzzyzxyzzxzxxxyzzyyyzyxzyyyyyyyyyyyyyyyyyxyyyyzyzyzzzyzyyyzyx{zzzzzzzyyyyyxxzzzyyyzzyzzyyyyzyzyy{zyyzyyyyyyyyzzyx{z{z{yyyzxzyzzy{{{{zzyyzyyyyzz{yzyzzzyzyyyyyzzxyyzyzyzzyyyxzzzzz{z{{zzzzzyzyy{zzzz{{zzyyyzyyzyzzzzzzzyzyzyzz{|zz{zz{yzyyz{zzzz{{{zy{zyy{zy{yy{{{z{{{{zyxzyzzz{{{yz|zzyz{{zyzzzzy{|z{{yyy|zz{{{{{{z{zzzzz{zzyzzzzzz{zzyyyyyyxy{zzzz{yzyzyzxyyzyzyyzzxzzyxyyxyyyzzzzzyyyxxxyyyyyzyz{zzzzyxxyzyzxyzzzzzzyyyzyyxy{zyyyzzyyyyxyyxyyyzzzyzyyyxyyyyyyzyyzyyyyzxyyyzyxyyyzxzzyxxxyyyyyyzzzzzxyxzyzxyzzyyyzyyyxxyxyyzyzyyzyzyyzzxyyyxzyzxzzyzyzyyyyyyzyyyyzzyyyyyyyyyyyzyzzzzyxyyyyyyzyzzzzyzyyyyyyyzyyyzyzzzzyyyyyyy{yyzzyzzyyyyyyzzyyzzz{z{{yyyyyyyyzyzyzyzyzyyzzzyzzzz{{{zzyyyyyzyz{{zz{zzzzyzyyyzzyz{zz{{yyzyyyzyzzzz{{{{zyzyzyyx{{zzzzzzzyzzyzyzz{z{zz{{zyzzyyzyz{zz{{{zzzzzzzyyzz{z{z{{zyzzzzz{{zzzzzzzzzyzzyyyzzzz{{{{z{zzyzyz{z{z{{{{{yyyzzyy{zz{z{zzzzzyyyyxyzy{zzyyzzzyyyyxzzzz{yyzzzyyyzxxyzyyyyyzyyxxyyxxxzyyzzyyzyyxxxyyzyxzzyyyyyyyyyxxyz{yyzzzxxyxxyyxxyxyxzxzxxyxxzyxxzzxzy{yxzxyyxyxyyyyyyyyyzyyxyxyxyyyyyzzyyxzxxyyyzyy{yzzzyxyyyxxxzzzyyyyxyyxyxxyyyyyyyyzyxxzyxyyxzzyyzyyyyyyyxzyyzxzzzyzyyyxxxxyyzyy{yyzyyxxzyyxzzzzyzzz{yxyyyyyyyz{zyzzzyyyyzyyzzzzzzzyzxyyzxyyxyzyyzyzyzyyyyyyzzzyyzzzzyyyzyyzzz{zyzzyyyyzyyyz{z{zzyzzyzyyzzyyzzz{zzz{yzyyyzyyzyz{zzzzzxyzxzyyz{yzzyzzzyzzzzy{yyzzzzzzzzyzyzzzyzzzzzzzzyyyyzzzyzzz{{z{zzzxyzzyzz{z{z{z{zyzyzzyyzz{zz{{yyyy{yxxyzyzyzzzzyxyyzyyzzy{zyyyyyzxxyyyyyzyyzyzzzyxxxyxxzzyyyzyzzyyyyyyxyyzyzzzzyyyxxyyzz{zzzzxyyyyzyyyyzyzyzzyyzzxxxxxzzzyyzyzyyxyyxyzyzyyyzzzyyzyyyyyyyzzyyzyxyxyxyyyyyzzzyzzyzyyyxxyyzyyyyyyyzyzyzxyzxyxzyyxxyxyxyxyzzxyyyyyyxyxyyyxyzyxzzyyyyzyxxyxyyyzyzyzxxzxyzyxyyyzyyz{zxyyzyyzyyyyyzzzzzzxyzyxzyzzyzzzxyyxyzyyzyzyyzzyyyzzyxzxyzzzyyyyzyyyyyxyzzzyzz{zyyzyyyyy{{yzz{zyzzyzzyyzzzzzz{zzyyzyyyyyzzzyzy{{zyyxzyyyz{zzzyzzzz{yzyyzzzzzy{z{zyyyzyzz{{z{zz{zzzyzy{y{z|z{z{{zzyz{zyyyy{{z{z{zzyzyzzzz{yyzz{{{yzyyzyzzzzz{{zzzzyzxyyzzzzz{{zz{zzyzyzyyzzzzzzzzzyyyxyyxyyzyzzyzyyxxxyxwxyzzyzxyzxyxxxxxyzyzyyzzzyyyxyyyyyyyyzzyyyyyxxyxzyyzxyzzzxyyxyyxyzzzyzyzxyyyyyxyxzzxyzyzyyzyyyyxxyzxzzyzyxyyxyxxyyzzyyyyxyyxyxxxyyzyyzzyyyyxxyxyzyyyyyzyyyzyywyxyzyzzyzzyxxxzxyxzyyyxyyzyyxyyyyxxzyyyyyyxyzxyyxyyzzyzyzzyyzyyxyyzyzyyyyzxyzyyyxyyyy{zzyzzyyyyyyyyyyzzzz{yyyyyyyyyzzyyzzzyyyyyyyyyz{z{yzzyyyyyyyyyzzyzyzzzyxyyyzzyz{zzyyzyyzy{yyzxzz{{zzzyyzzzyyxzzz{zzzzzyxyzzyzz{zyzz{{zzyyxz{zz{{z{{zz{zzyxyzzx{zyzz{{{yzzzyyzzz{yz{{{{yxyyyyyyyyzzz{{yyzyzxzzzyzz{{zzzzyyyyzyyzyzyz{zzzxzyzyyyzzzzzzyzyyyyyyxzyzyyyzzzyyyyyyxxyzyyyzzxyzyyxxxzyyyy|zzyyxwyxyxzzzyz{yzzyyzxyyzyzyyzzzzxyxyyyxyyyzyyzyzyyyyyyyxyyyyzzyzyyxyyxxyyzzzxzyzyxyyyxxxyyzzxyzzyxxxxxxxyyzyxzyxxyxyxyxyyyyyzzyzyxzyxyxxyzzzzyzzyxxyyyxxxyyxyyyzyzyxyxyyyxyzyzyzxyyyzxyxyyyzzyzzyzyxyyyyzzzyyyzzyzyyyyyxyyyyzzzzzyzyyyyyzyzyzyzzyyyyyxyyyzyyyzyzzyxxyyzxzyz{zz{yyyyyzyxz{z{zyyzzzyxyyyyyzzzzzzzzyzyyyz{yzzz{zzzzyzzzyyyxzz{zzzzzzyyyyyzyz{z{{zzzzyzyyyzzzzz{z{|{zzyyzzzzz|zzz{z{yyzzyyyzz{z{zz{zzyz{yyzz{zz{zzy{zzyxzyyzzy{zyzz{z{yyzyyyzzzzzz|yzyzyyyyxyzyzyzzzyyyyyyzyyzzzyyyyyyxxyzxyyzzyzyyzzyyyxyyyyz{zzzzyyzxyyyyxzyyyyz{zyyyzzyxyyyyzyyyzzyyzxyyyyy{xyyyzxyyyyyxxxzzyyzyyzyyyyyyyzzzyyyzzxxyyzxyyyyzyyzyzyxxyyxxxz{yyzzz{yyyyyyxzyyzyzyyyyyxyyyyxyzyzyzyzyyyyxyyxyzzzxzyzyxzxyxyx{zyyzzzzxyzyyyyyyyzyyy{zyyyxyxyyzyyzyyyzyyzxyzzzyzyzyz{zyyyxyxyzzzzzzyz{yyyxzxzyzzyzz{y{zzzxyyyyyyzz{zzzyyyyyyzyzzyyyyyzzzyyzyzyxy{zz{{zyyyzzz{zzzzyz{z{zzyyzyyy{zzy{zzzyyz{zzzz{z{{zz{{zzyzzzz{z{zzz{{{zxzyz{zzz{{|{z{zzzzzzy{yzzzz|{zz{yzyzzzzzyzzyz{yzzyyzzy{{{z{z{zzzyzyyyzyyy{zyzzzzzyxyxyyyyyzzz{zyy{zyzyyzyzzzyy{yyyyxxyyxzzyzzyzyyxxyyyyzyxzzyzzyzxyxyzxzzyzzzz{zzyzyxxyy{zzyyzzyyxzyyzxyyyyy{yzyyzxxyyyxzyyyzzyyyyyyxyyzyzyxzyzyyyyxyzyzzyzyyyzzxyyyxyyyyyyyyzyzyyyyyxzyyzyz{{zxyzyyxyxzz{zyzzzyyyyxxyxyyzyyyyzzzyyyxyyzzyzzzzzyyzxyzyxzyyyzzzzyzzyzyzz{{zzyyy{yzzyy{zyzzzyyz{zyyyyyyzy{zzyzzzyzzyyyyyyxyzyz{zzzyzxyyyyz{zzyzzyzyyyxyyy{zzyz{zyzzzzyzzyz{{{zzy{yyyzzz{zz{{zzz{{zyzzyzyzzzzzzzzz{yyyzyzz{|zyzzz{zzyyxyzzzzz{z{z{zzzyyzzzy{{z{{{{{zzzyzzzzz{{z{z{{zzzzyyzz{zzzz{{z{yzyz{zzzzzz{{{yyyzzy{yyzzzzzzzyzyyyyyxyzyzzz{yyzyyyzxyzzzzyzyxyyyxyxyyxyyyzyzzyyyyyyyyyyyyyzzzyyyxyyxyyyzzzz{yzzyyyxxyzzy{yzzzyyzxyyyxyzyyzyzyyyyyyxyxzzyyzyyyzyyyxyxyyy{zyyzxyyyyxyyyyyyyyyzyxyxxyyyxyyyyyyyyzyyyxyxxxyyyzy{yyyyyyyyxyyyyyyzzyyyxyyyxxzyzzzyyzzzyyyyyyzyzyyyzyyyyyyxxyyzzzzzzyyyyzyyyyzyzzzz{zyzxyyzy{zyzzyzzzzyzxyyzzyyzzzyzzyyxyyzxyz{zzzzzzyzyyxyyzzzyzyzyzzyyyyyyyz{yyzz{zzyyzzyyzyzz|zyyzzyyyyzyzzzzzyzzzyyyzyyxzzzz{zyzzyyzzzzyzzyz{z{zzyzyzzz{zzzzz{y|{yzyxzyzzzzzz{{{|{z{xyzyzz|{{zzzzyyzzzzzz{zzzz{zzzzzyy{yyz{{z{z{zzzyzyyyyzzzzzz{zyyyzyzxz{zzzzz{zzyyyzyzzzzzyzzyxyyzyyxyzzyyyzzyyyyxyyxyzyyz{zyzyyyyyxzyyyxyy{zyzyyyyyyyzzzzzz{yxyyxyyyyyzyyy{zzzxyxzyxxyzzyyzyyyxyxxyyyyxzxyyzyyzyzyyyyzyy{yzyzyyxyxyxzyyzyzyzyyyyyyxyyyzyzyzyzyyyzyyzyyxxyyzzzyyyyxxxxyzyzzyyzxzyyxyyxxyxyyzzzyxyyxxxxyzyzyzzyyyxyyyyyzzzyyyzyyzzzxyzyyyzy{zzyyyzyxyyzyzzzyzz{yyzzyxyyyyyyyzzzyyyyyyyyzzyyzzzzzyyyxxzzzzzyzy{zzzy{yzxyzzz{zzz|yyzzyyyzzzzyy{z{zyxzzyzyzz{z{z{{zyyyz{zzzzz{z{{z{yyzyzzz{zyzz{{z{zzzyzyyz{yz{z{{{y{yyyzz{y{{z{zz{yyyzzyzzzzz{z{{yyzyzzzzzy{zzz{{zzzxyyyzzzzz{{{zyyyyyzzyzzzzyyzyzyyyyzyyzy{zyzzyyxzxxxzyyzzyzyyzyyxxxxxyyzzzzz{zxyyyyyyyzzxy{yzyyzyzxxxzzyyzzzzyyyzyxwyxyyzyy{yzxyyyxyyxyzyyzyyzyyxxyxyyyyzxzzyzyyyxxyyxyyzyyyyzzxyyxxxyxyzxzzyyzyxxyyxxzyyzzyyzyyyyxyyxzyzzy{zzyyxyxxxxyzyzyzzxyyyxxxxzyzzyyzyyyyyxyyxyzyyyyzyzyyyxyyxyyzyzzzzzyyzxzyyzyzyyzzyzyxzxyyxxzyzzzzzzzyyyzyzyyzy{zzzzzyzzyyyyyzzyyyzyyxyzyyyxz{{zzz{yzyyzzyyyyzzzzz{yzyyxzzzyzzyzzz{{yyzyyzyyzzy{zz{zzzyzyzzyzzzzz|zzzzzyyyzzzzy{z{z{{zzyyy{zz{zz{{{z{zz{yyyzzz{zzzzz{zyzzyzzz{zz{z|{yzyzzyy{zzzz|zzzzyyxzzyyzzzyyz{zzzyyxzyyzzz{yzzyyyxyyxyxyzzzzyyzyywyyxyxyyzyyz{zzyxyzyyyyyyzzzzzzyyxzyyzzzzzz{{zzzyyyxyyyyzzzzzzzyxyyyxxxyyzzyyzyxyyyzxyzyzzyyzyzyyyzyxyyyzyyzzzzyyyxyyyyyyzzzzzyyyxyyyyzyzyyzzyyxyyyzxyyyyyzzyyzyzyyzzyxzzzzyzzyzyyzyyyyzzzyzzxyyyxyxxyyzxz{yyzzyyyxyzyyy{zzyzyzyyyyyzyzzzyyzzzzzyyyzyyz{yzyz{zyzyzyyyyzzzzzzzzyzyyzyyzzzzzzzzzyzzzyxzzz{zyyzzzzzzyyyzz{zzyy{zzyzyzzyzyz{z{{zzzzzzzyzzzzyyz{z|zzyzzyxyyz{zz{z{y{zzzzyzyzz{z{z{yyyzzzzzyz{zzz{{zzzzyzzzyy{zz{{z|{y{zzyyzz{|{{z{zzzzzyzyzz|z{z{{{zzzzzzzyz{y{{{z{zzzyzzyyyzzzz{{{{{yyzzyxzzz{zzzzyzzyyyzyyzzzzzzyzyyxxyyyyzyyzyyyxxyxyyyxyyyyyzyzyyyyywyxyzyyzzzz{xxxxyxyxxzzyyz{yyyxxyzyyyyzzyyzyxyyyzyxyzyzyyzyzyzyxyyxyyzyyzzyyyyyxxxyyxyyyzyzyxxxyxyyyyzyzyyyyxyxxyxxyyyyzz{yyzyxyzyyxzyyzyzzyyyyyxyyyyzyxzyzxyxyyyyyxzzyzzyzyzzxxzxwyzyzzyzzyyxzzxyzzxzzyy{zyxyxyyyxyzzzyzxzyyyzyyyxzyy{zzz{zzyyyxyxyzzyzz{zyyyxyyyyzzzzzz{zzyyxzyyzy{zzz{yzzzyyzzyzzz{{{z{{zyzzzyzzzzzzzz{{yzzzxyzyzzzz{{zz{yyyzzyy{{zz{z{{yzzzz{zz{z{z{{{zzyy{yzzzz{zz{zz{{yzzyz{yzz{{zzz{zyzzyzzyz{zzzzzzzyyzzzyy{zyzzz{zyzzxzzyyzyzzzz{zzzzzzzzyzzyzzzyzyyyyzyyxzzzzzyzzyyxyxxzxxxyyyxzyyxyxxzyyyyyy{zzyxyxxxyyxzyzyzzyzyxyyyyzyyzzzxyxzyyyxxyyyyzzzyzyzyyyyyxxyyxxyyyzzyyxyxwyyzyyyyzyyyyyxxxyxzyyzyyyyyxyxxxxyyxzzyyyxyyxyxyxyyxyxyzyyxzyyxyyxxyyyyzzyxxyyzxyxyzyzxyyzyyxxxyyxyzyxyyzyzzyyyzxyyyyyyz{yyyxxyyxyyy{yyzzzyyyxyxyzzyyzyzzzxyyyyzyyyzzzyzzzzxzxyyzyxyzyzz{yyxyyyyyyyzzyyzzzyyxyyyyzz{zzy{yyzyyxyzyyyzzzzzyyzyyyzyyy{{zz{{z{zxyyyyyy{zzzyzz{zxyyzyzy{zzxyz|{zyyyzyzzyzzzzzzzyyyyzzyzz{yzyy{zzyy{zyyyzzzz{{zzzyzzzyyyzzyzyzz{zzzz{zyz{yz{zyz{yzzyzzyyyz{zyzzzyyyyyyxyyzzzz{{zyzyyxyxyzzzzzxyyxyyyyxyxyyzyy{zzxyxyxxxyyzyyzyzzyyyyyyyxyxyxzyzyyyyyzyxxyyzzyy{zxyxwwxywzyyyyzzyxyzwzyyxyyxyyyyxyyyyxyyxzxyzzzyyyxxxxyxxyzyyyzzyxxyyzxxxyzz{zyzyyyyyxyxxxzzyzxzxxyzzxyxyyyyzxzyzxxyxzxyxyxzyxzxzzyyxyyyyyyyyyzy{yyyyyzxyyzyzzzz{yyyyzxyzyzzzzyzzyyyzyxyzzyzyzzyzzyxyyyyyyzyyyzyyyyyyyxzyyzzyzzzyyyxxyyyxzzzzyzzzyyyyyyzyz{yzz{zyzzzyzyzyzzzyz{zzyyzyzy{yzzzz{{{{yz{yyyzzzzz{z{{zzyyzyzzz{zzzzzzzzyzzyzzzzz{zzzzzzzyzyzyyyzz{{{z{zxzzzzzyyy{z{zyzzyzzzyyy{y{z{z{{zyyzyyzzzzz{z{z{zyxyzzyzyxzzzyzzzyyyyzzxzyzzyzzzyzzxywxyzxzyyzzzxyyyyyyxyyyyyzzzzyyyyyzxz{yyyyzzzxxxyyxxzzyzzzyzzyzzyyxyzxzyyyzyyyzyyyyxyzyzyzzzxyyyyyyxzzyyx{zxzxyyxyyyzzzyzzzzyxzyzzzyzyzzyyyyyyxzxxyxyzyyzyzxyyyyxyxyyzyzzz{yyyyyyyyyyyyzzyzzzyyxyxxyxzyyzzyyzyyyyyyxyzzzyzzzzyyyyzxyyzzzzzzzzzyzyzyzzzzzyzzzyyzyyxyyzzzzy{yzyyzzyzzyzzyyzzyzzyyyyyzyy{{zz{yz{xyyyyyyyyzzzzzyyzyyyxyzzzzzz{zzzyzzyzzyzzzzz{zzzzzzzy{{{{zzz{zzzyzzzzyyzyzzzz{zzzyzzzzz{{zy{z{zzz{yy{zzz{zzyz{{{z{zzyzzzz{{zzzzzyzz{yyyzzz{{{zzzyzzzzyzzzz{{zzzzzyz{zzzzzz{{{{{zyyyyyyzz{zzzzzzyzyzyyyyzzzzzz{zyyyyxyyyzzzzzyzzxzyxxyxxyzyyyxyzyyyyzywyyzzyyzzzyyxxzyxyyyyyyzz{zxyyyzyxyzzzyzzyyyyyyyzxyzy{yzyzyyyxyyzyxyyxyyzxzwxxyzyyzxyzyzzzyxyyyyyxyyyyzzzyzxxyzyyyzyyyxyzzxyxzxyxxyyyyyyzzyyyyxyyxyzyyyyzzzxyyyyxyzyyyyzyzxxyyxyyxyyyyyzz{yyyzyzyxzyz{yzz{yxzyyyyyyzyyzz{{xyzyzxzyzxyzy{z{yyyyyyzyyzzzyzzyyyzyzyyyzzyyz{yxzxyy{yzxyzzzy{zyyyyzy{yyzyzzyzyzzzzyzyyyzzz{z{z{xzyzyyzyy{zzz{z{zyyyyyyyz{zz{zzy{zyyyzyzz{{z{{{{zzzyzzzyzzzzzzz{zyzzzzzzz|yzyzzyzzzzxyzz{zzz{{z{{zyyzyyzzzzyzz{zzzyyzyyzz{z{yzz{yzzyzyzzyzz{zz|z{zzyzzzzzzzzyz{zzyzzyyyyyyzzzzzyyyxxxyyyyyyyzyzzyxxyyywzyxz{{zzzyyyyyxyxzyz{yyzyyyzyyyyxyyzyxyyzyyyzyyyyzyzyyzzzxyyxxyzyyyyzyyzzyzyxxyyyyyzzzyzyyzzzyyyyyyzyzyyzyyyxyxyxzyyyyzyxyxxywxxyzyzyzzzyyzyyyxxyyyzzyzzyyyxyyyxxyzzyyzzyzzxxyxyyxyyyyzzzyyzyxzyxxyzyzzzyyyyyyxyyzzyyzz{zyyzzxyyyyyy{zzzzzyyyzy{yyzzzyz{{zyzyzzyyyzyzyzzzyyyyyyzyzzzzyz{yzyyyzyxxyzzzzzyyzyzyyyyzyyz{zzyzyzzzyyzyzyyyz{{zzzzzyyzzyzzzz{z{{yz{zyyyzz{zz{|zyyyzyzzzzz{x{zz{zyyyzzzzzzzzz{z{{zyzzyzzz{{zz{{{zzyzyzyzyzz{z{z{zzxyzzzy{zzzzy{zyyyyyxyzy{{{{y|yzyzyxyyyzzzzz{{{yyzyyxzx{yzyzzyyyxxxyxyyyzzzyyzyyxyzxxyxyyyyyyyzxyyyyyzxyzzyyyyyyxyyxyxzzyyyyzzyyxyxxywyyzzzxzzzzxyxyyxxyyyxyzzyyxyyxxyyzyyyzyyyxxyxxyyyyyyyzyxyyyyyzyyxzyyzyyyxyyyyyyxyyyyyzyzyyxyxyyyyyyyzzyzzzyxxzyyyxyyyzyzyxyyxyyyyzzyyyzzyyyzxxyxyzzyyz{zzyzyyyyyyyzzyzzyzzyyyxxzyyyzzyy{{yxzyxyxyzyzzyyyzzyyxyxxyyyzzyzyzyyzyyyyyyz{yxzzzyxyyyyzyz{{yyzyyzyyyyyzzzzzzz{yzyyzxz{zyz{zzy{{{zzzyzyxzzzzzzy{y{z{yzxzyzzyz{z{{zzyzy{{zzzzzzz{z{zzzxzzzz{z{{zz{y{yzzyyyzzzyz{zzyyyyzxzyzxz{z{z{yzzzz{zzz{z{yzz{yyyyyyzzzzzzzzzzzzzyyyzxz|y{yy{zyyzxxyyyyz{yyzyyzxxyywxyyyyzyyyyzyyyxxxyyyzyyxzzyyyyxzyzzzyzyyzzywzyxxyzyyyyyzyzyyyxxxxyzyyzyyzzyyyyxyyxyyyzzzyyzxyyyxxyzxzyzzyyxyxzxyyyyyyyxyyxxwxyyxyyyzyzzyzzyxyxwxyxyzyyzyyzyxyzyyxyyyyzzyzzzxxyywyxyzyyyyyzyzyxxyxyxyzzyzzyyzyyzxyxzyyzyyyyyxyyyxyxyyyyyzy{yxyyyyyzyzzzyyzzyxzzyyyyzz{yyz{zyxzyxxyz{zzyzzyyyyyxyyxxyyzyyz{zyzyxxyyyzyzzyzy{zyyxzyyyzzzzz{z{zyzyyxyz{zzz{zyzzyzyzyyyy{zyzzzzzxxzyyxzzzyz{{zzzyzyzzzzz{zz{z{zzzyyzzyyyzzzz{zz{yyzzyzyzzzzzzz{zyyzzyyzyzzz{{{zzzzyzzzz{{zzyzz|{yyyyyyy{zz{zz{yyyzyxyyyz{yzzyz|zyyzyyyyyzyzzyyywxyxyxywxy{yyyzzyxyyyxyyzzyyzzzzzyyyyyxxzzyyyzzzyxyyyxyyyyyyyxzzyxyyyyxyyyzzzzyzyxzxyyxxyzyyy{yyyyyzyyxyzyyyyyyyyxyxzyyyzyxyzyzzxxyyyyxyxyyxyzzzyyyyxyxyyzyxyyyzxyyywzxwyzyy{yzyyyzyywyxyyyzyzzzyyyxyxxyyyyxyzzzyyyzyyxyyyyzzzyzyyzxyxyyyzyyyzyzyyyyyxyyxyyyyyyyyyyxyzyyyyyzzyzyzyyzzxyxyzzzzzyyyyyyyyxyzzyyzzzzzyxyxyyyzzzyzzyz{yyyyyxyz{yzzz{zyyy{yzzxzzyzzzzzzxyyyxzyzzzzzz{z{yyyzyzy{{{z{zz{zyzyzyyzyzzzzz{{zyyyyzzyy{zz{z{{yyzzyyzzzy{zz|{{{yzyzzzyzz{zzzz{yzzyzyyzzzz{{zzzzzyxyzyxyyzzyz{zyyzyyyyyyzzzyz{yyzyyzxxyyyyzyxyyxyxxxxyxyzyyyyzzzyxyxyyxzyyzyyzyyyyyxyxyyyzyyzzzyxzxxyyxyyyyxyzyyyyxyyxxyyzyzzy{yyyxxxyyyzzyyzyyyyyxyxyxyyyyxzyyzxyyyyxzzyyyyzzyxxyyxyxxyzyyyyyyyyxyxxyyyxyyzyxyxzyyxwxxyyyzyzzzyyxxxxyyxxyyyyz{yyyyyxxxxzzzyzzyxxyyxyyxzyzy{y{yzyxyyxyyzzyy{zzzyyyyyyxyyyzzzzzyyxyyxxyyxyzyyyzyyyzxzxyyxzzzzzyzzzyyxyyxyyzzyyzzzxzzyyyyzyyyyzzyyyxyyyzxzyzzzzzzyyyzzyzzyyy{zzzzzyyyzxyyzzyzzz{zzxzzzyzxzzzy{zzzzyzyzy{zzzzz{{{{zzxyyyyyyyzz{z{zzyzzyzzy{{zzyz{{zyyyyyyzzzzzzz{zzxzyzyyyzzzzzzz{zyyyyxzyzzzzyzzzyyyx{yyxzzyzzzzyxxzywyyyzzzzyyyyxzxxxxxxyyyzyzzyxywxxxyxyyyyy{{yzxxyyxyyzxzxyyzzxyyzyxyxyzyzyyyzyzxyyxxxzxxyxzyzyxzxxxxxxyyzzzyyyxyxyxwxyx{yyyyyyxxyyyxyyyyzyyyyxxyyyxyxyxyxyyzxxzxyxxxxyyyzyxyyyyyyyyxxyyyyyzzyyyyyywywxzyyyyyyyyyxyxzxxzzxyyzyxyyyyzzxzyyxyzyxyyyzyzyyzxzzzyzyxyzzyyxyzxyzy{z{yyyyyxxxzzyyzyzzyzyyyxyyy{zzyyxzyxyyyyyyzzyyyzzyxyxyyyyyyyzzyyzyzzyyyyyyyzzzzzyzyyzyyyyzzyyyzzzzzyyyxyyxzzz{zzzzzxyyzzzz{zzzzz{{zzyyyz{yyyyzyzzzzzyzyzyyy{y{{zz{yyz{yyyy{yz{zzzzzyyyzzyzyyzyy{{zzxxxzzxzyyzzyzzzxzzxzyyxyzzyyz{zzyzyy{yxyzzzzz{yyxzyywzyzzzxzyzzyxwxxxxwyxyyzyyzxxxxxwxyyxyzzyzzxyxyyxywyzzyyzzyzyzyyyyxyyyzxyzyzxxxxyyxyyxyyyyyyxxxxxxxyyyyxzyzyyyxxyyxyyzyyyxxzyxxxyxzxxwxxyyzyxyyxxywyyxzxyyyyxxyyxwxzxzyzyyyzxzxyxxwyxxyyyzxywyxxxxyxxyxyyyyyyyxxyyxyyyyyxyzyxzxyyxxyzyxyyzyyyyyzwyxzyzyy{zzyzyyywyyyyy{zzzzywyxyyxxyyyzxzzyxzyyyxyyyzyyzzxzyyyxxxyyyyyyzzyxxyxzxzxyyzzzzzzzxyyyxzxyxyz{yzzzyyyyxzyzyzzzzzzzzyyyzyyyyyzz{zzzzxyzzyyyyzzyzz{zzzyyyzyyzzyzz{zyzyyyyyyyyzyzzyz{zyzzzyyyyzzz{zzz{yyxyxxyyzy{zyzzzyyyyyyy{{zz{zzzyyyyzyyyyyzzyyyy{yyyyzyyyzyzzzzzyyyyyyyyyzzyyyyzzxyzyxywzzyyyxzzyyyzzyzyyyyyzyzzyyzxyyyyzyyyyzyyzyyyyyxyzyzyyzzyyzxyyxyxyyzyzzzyxxxyxyyyyyyyxzyzyyyyyxxyyyyyxyzyyyyyyxyyyyyzyyzyxxxxxyxyyzzyzyzzyyyxyyxxyzyyyzyzyxzyxxzyyyyzyyz{yyxxyyyxxyzyyyzyyxxxxyyyyzyyz{zzyzzxzyyyyzzyzzzyyyyxyxxyyzzyzzzzyyyyyyyzzyzzyzyzyyyyxxxyyyzzzzzzyyzyxxyyz{yzzy{zyyxyyyyxyzzyyz{yyyyyxyyyzzyyyzzzzzyxzyzyyzz{{zz{xyyzyzzyzzyzyzz{zzzzyyyyz{zy{zzz{xzzzyzyzzzzz{zzzzzzz{yyy{yzz{z{{yzyyzzyz{zzzzz{{yzyyyzyzzz{z{{zyyyzzzzzzzzzzzzzzzzyzxyz{zzz{zz{zzzyzzyyzyzz{y{zzyzyzyxyzzyzzzyzyyuyyzyxzyzzyzyzyyyyxyxyyzzy{yyyyzyyyyyyzyzxy{zyzyxxxyyyyxyyzzzzzxyxyxyzyyzzyzzzyzyywyyyyyyyyyzxyyzxyyyyyzzyy{yyyzyyxxxxxzzzyyyzyzyyyyxxyzyzyzzyyxxyyxyyzzzxyzzyxyyyyxxyyyyyyzyzzy{xyyyxyzyzzzyyzyyzyyyxyyzxxzzyyzyxzzyyxyzyyzzzxyyyyyxyyyyyyzzyyyzyzyyyzyyzzzzzzyzyxxzyzzyyzyzzyyyzyyyyzz{y{z{{yyxyyyzyz{yzzzzzzyyyyzyxzzzyzy{yyyyzyyzz{zyzzzyzyzyzzyyyzyyyzzzzyyzzzyyyzzz{z|z{yyyyyxxzzzzzzz|z{yyy{zzzyzz{z{{{zyzzyzzzzzzyzzy{yzzyyyyzz{zyzz{zzzyy{zz{zzz|zz{zzzzyz{yzzzyzz{{zzyzyzyyyzzy{{yz{yzzyzzzyzzzy|zzz{yyzyzyzyzzzzzzxxxxyyyyyyyzzyyyyxyzyyyxyyyzzyyyzyxzyxyzyzxyyzzyzyzxxyzyyyzzyz{{zyyyxyxxyxyyzzz{yyyyyxyyxyyyyzzyyyyyyzyyxyzyzyzyyzxzyxyyyyz{yyzyyxzyxyzyxzyzyyzyzxyzyxyxxyyyyyyzzyxxyyyyyyyyzyyyzxyyxxyxxyyyzzyzyyxyxyyyxzzzyyyyzyyyyyyxxyzzyzyzyzyzyyzxyzzzzzyzyyyyxyyzzyyzyzyyz{yyxxxyyzyzzzzzzyyzzzxyyzyzyyzzyyyyzyyyyyzzzzzzzyxyzyyyz{{yy{yzzzyyzxyyxyzzzyyzzzyzzyzyyzzzzz{{zyzzzyyzzz{y{{zyzzyyyyyyyy{{z{zzzzzyzyzyz{{yzyy{|zzzyzzyyzzzzzzz{yzyzyyzzzzz{zzzzzyzzyy{zzzzzzy{zzzzyzzyyzz{y{yz{zzyzyzzyzyy{zzzyyyzyyyzxzzzzyzzz{yzzyz{yzzzyzzzzzzzyyxzyyzzzz{zzyxyyxxxxyzzzzyzyxyyyyyyxyxyzz{z{zyywyyyxzyyzzzzzyyxyyyyxzzxzyyzzyyyxyxyxzzyyzzx{yyxyyyyyxyyyyyzzyyyxyyxyyzyxyyzxyxyyyxyyzyyzyzz{yxxyxwyxyxyyyyzzyyyyyxxyzyzy{zzyyyyxxyxyyyyyzzyyyyyyyyyxxxzyyzyyzyyxyyxxyyyz{yyzyyzxyyxyyyzyyzyyzyyyxyxyzyyyzzyzzyzyywyyzy{yzzzyyyzyyyyyzyzzyzzzzyyyzyyyyz{zz{yzzyyyyyyyzyzzzz{yyzzyzzxyzzxyz{yyzyzxzzyyzz{zz{zyxzyzy{zyzzz{yz{{zyyyyyyyzzyzzzzyyzyyzyyzz{zz{zzz{yyzx{zzzyzz{{{{{yyyyzxyz{zyz{{zyy{yzyyyz{z{{{z{yyzyyyyyz{{{zzz{zzzzzzyzzzzzyz{{zzyzyyyyzzz{zzyyzyyyzyzxyz{{{z{zyyyyzzyzzzyzyyzyxyyyyxyyyyyyzyzyyxxxyyxyy{yyzzzzyyxxyyxxxyzyzy{zyyyyyyyyzzyzyyyyzzyxxyxyyzy{yzyyyyyyxxxyyyxyyzzyyyyyyyyyyyzyxxzxxyyxzyxxyxyzzyyyxyyxwyyxyyyzyyyyzxyxxyxyyyzyzzyzxxxxwxyxyyzzyyzyxxyyyyyxyyyzyzzzyzyxyxxxyyyzyzyzyxyyyyyyyzyyzzyyzzyyyyyzzyzzyzy{xxzyzzyxzyzzzyzzyxzxyyyyy{zzzzzzzyyzxyxxyzyzzzzzyzyzxyxxyz{xzyzzzyyyyyxyzzzyyyzzzyzyyzzzy{yzz{zzyzzyyzzyyzz{zz{{zyyzxyyxzzzyz{{zzyzzzyzy{y{zzzzyzyyzyzzzzzyzz{{z{yyyzzyzz{zzzz{{zyzzyzyyzzzzzzzyzyxzzzzyzzzzzzzzzyyzzyyzyyz{{z{zzy{yzzyyzyzzzzzzzzyyzyzyyzzzzzzxyyyyyyyyyzzyzyyyxyxxxwxxxyyyxxyyyyzyxyyxyzyzzzzzyyxxyyxxyxyyyzzyyyyxzyxyyyyyyyzzyyxyyxxxyzzzyzyzyyyyyxxyyxzyxyzzyyxyyxyyyxyyyzzyxzxxxxyxzyyzyzyzxyyxxyyyyyyyzxyyxxzyyyxyyxzzzzzzyyyyxwyzyyyyyyzyyyyxxxyyxyyyyyyyzyxxxxxxxyyxyzzyyyyxyyxyyzyyyyzyyxyyzxyyzzzxzyyzxzyyyyyzyzyzzy{zyxzyzxyyzxyyyz{zyxyyzxyyyyzzyzzzzzyzzyyxyzz{yzzzzyyyyyzyzzzzyyzyzyzyyyxz{yz{zzzzyyyzyyyzyyyzy{z{yxyzyyxz{{{{zzzzzxxyzzzyzyz{zzz{yzyyxzyzzzzyzz{zzyyyyzyzy{zzzzz{zyyzzyy{zzzzz{{y{yxyzyyzyyy{yzz{zyyzyyxyy{z{yzzzyzyyzyyyyyzx{zz{zzzyyxyyyyzyz{zzyyyxyxxyyyzyyyxyyxxxyxxxxyzxyyyzyyyyyxxyyzzz{yyyzyyyxxxwyyyzzyzyxxyyyxxxyyyyyyyzyyyxyxxxyzxyyzyyxyyxxzyxyzyyyzyyyxxzxxxzzxyyyzyyyyxyxxyyyzyyyyyzxyyywxyyyxzxyyyyyxyyxxxyxxzyzyyzxxyxyyyxyyyyyzyzyyyyyyxyxxyyyyyyyxyxyxxyxyyyyzyzyxyxyyyyyyzyzxzzyxyxyyyyzyyyxzyzzyyxyxyxyyyzyyyyyyxyyyxxyzzzxy{z{xzxyyyyxzzyzzzyyzyyxyzyzyzyyzzzxzyzyyyzzzzyyzy{yyzzyzyyyzyzzzzzzyyyzyyzzzzzzz{zzyyyyzzyyyzzzzzzzyxyzyxy{zzyzzzzyyyyzyyzzzzzzz{zzyzyzzzzzz{z{{zz{yzzyyyyzyzz{{{yzxyyyyyyzyyzz{yzzyyyzyzz{yzzyzz{yyzyzyxxzzyzyzyzyzzzxyyyzyzyxzzyyyyxyyyyyyzyzzzyzyyyyyyyyyxyyyzxyyxzyxxxyyxy{yyyzwxxxyyyyzyyyzzzyyxzxyxyzyzyyyyyyyyxxyyxyzxyy{z{yxyxxzyxyywzzyyyzxyxyxyxyyyyyzzyyyyxxyxxxyyzxzyyzyyyyyxxxxzyzzyyzyxyxyxyxyyyxzy{yxxywxxxyzxzxzzyyyxyxxyyyyxyyzy{xyxyyxyxyzxyyyyyxyyxyyyxyzyzzyzyzyyyyxxyyzyyyzzzzxzyyyyyzyzzzz{zyyywxxyyyyyzzz{zyyyyyxyyxzzyyyyzzyyxyyyyzzyyyz{zyyyzzyxyzzzzyzzyyyxyyzzzyyzyzzzzyzzyyyyzzyz{z{zzyyyzyyxxyyzzzyzzzyyzyzzzz{{{y{{{yzzyyyzyy{zyzzyz{zyyyyyyzzzzzz{z{y{zyzzyyzzzy{z|zyzzzxyyzzzzy{yzyyzyzyyyzzy{zy{zyzyyxxzxyzz{zz{yzxxyyzyyzxy{yzzzyyzyyxzxzyzzzyyyxxxxyxyxyyzyxyzyyyyyxxxyyzyyyzzzxyyxyyxxzyzyyzzyzxzyyxyyzyzxxyzzzyxxyyxyyyyyyzyzyxxxyyxxxyxyyzyzyxyxxyyyzyzxyyzyxyzyxyxyyxyyyyzzxxyyxxyxxyyzyzzzyxxxxxyxxzzxyzyzyyyyxyywxyyyyyyzyyyyyxxwyyzyyxyyyxyyxxxxyyxyyyzzyxyyyzyyyxyzyzzzzyzyyxxxzzyzzyyzzyyyyyyyzzyyyzzzzyyyyyyyzzyyzzyyzyyyzzxyyzyzzzyyyyzyyyyzyzyzyzzyyyxyzyxxzyyzyzyzzzzzzyxzzzzzzz{{yxyxzz{yzzyz{zzzyyyzyzzzy{yzzyzzzyzzyyxyyzzyzzzzzzz{yzzzzzzyzz{z{yyyy{yyyzzz{zzzzzzzyyyyzz{yzyyzzzyyyzyzzzzzzzzzyzyzyxzzz{zyyzzzyzyxyyyzy{yyyz{zzxyyyzxyz{zzy{zzyxyyyyzxyyzyyzxyyxzxxyxyzyyyyzzyyxxxxxxxzxyyzzzzxxyxxyyyyxzyzyzyxyxyyyxzyyzyyyzzyyyxwyyyyzyyyzyzyxyyyyxwxyyyzzyyxyyyyyyyzy{yyyyyyyyxxzyyyyyzzyzyxxyxxxxyyyyzzyyyxyyxxyyxyzzxyyyzyzyyyyzyyyzyyyzzxxyxyxyxyyxyxyyy{yyyxxyxxyyyyzyyyyyxxyyyxyxyzzzyzyyyyxyxxzzyyyzyzyyyxxzzyyzzyxyzyxyyzyyyyyzyyzyzxyyyyyzyyyzzzyzyxxyyyyyyyyz{zzz{zyxzxyyyz{yyyzyyzyyyyxyzzzzzz{zzyzxxyyyyzyy|zzz{zyyzyyzzzzyyyyz{zxyyzxyzyz{zzz{zzzzzyyyyz{{zyz{zzyyyzzyyy{zz{zz{zxzyzyyy{zz{zz{zzyyyyyyz{zy{yz{yzzzzzzxyzyz{{y{{yyzyzzyxzzyz{zzyzxzyxyzyyzyzyyzyyyyyyyzyyyzzz{yyxxxxzyxyxzzyyxyzyxxzxxyzyzzzzyzyyyxyxyyxyyzzzzzzxyyyyyxyyyzzyyzzyyyxxyyyyyyyzyzzzxyxyxyxzyxyyzyyyxxyxyxxxyyyyyzyzyzyyyyxxyyzyzzzyyyxxxyxxyyyyzzyyyyyxyxyxzyy{yzyxyyyxyyyyyxyzyyyyyxxzxyxyyyzyzzyyxyxyyxxyzyzyz{zyxyyzzyxzyzyyyzzyxyxxxyzzyzyzyzyyyzyyxyyyyy{zzzzyyyyxzxyyyzzyzz{xyyxyyyyyyzzyyyyyxyyyyxyzzzzyyzzyyyyxyyy{zzzzzyzyy{yzyyzyzyzzzzzyzyyyyzyzzzz{{zyyyzzyzyyy{zz{zzzzyzzzyzyy{zzzzzzzzzyyzzzzz{z{zz{{yzyzyyzz{z{zz{zzyyyyzyzzzyzyzy{yx{y{yyzzz{yzz{zzxyzzzyzzyyyzz{{zyyyzyyyzzzzyy{zzyzzyyyxyzzzzzzzyyxwyxyyzyzzyzzyyyxyyyyxyzyyzyzzyxyyyyxyzyzyzyzyyyyxyzyyyzzyzzzyyyyzyxxxxyzzyyzzyyyyyxyxyyxyyzyyxx{yyyyxyyxzyzzyyyxxzxyxyyzyyyzyyzzxyzxyyyzyzyxzxyyyzxxyyyyxyyyzzyyyyyyyyxyyzyzzxxzyxyxyyyzzzzyzyyxyyxyyyzyy{zyyzyxyyxxxyyyxyzzyxyzzyzxyyzzyxyzzyyyyzyyyyyyzyzz{zyyzxwyyxyzzyy{zxxxxxyyyzzyyyy{zyyyyzxyxzzyzzzzzzyzyyyyxyzzyzzzyyyzxyyyzz{{yzzzzyyyyyyyxzzzzzzzzxzyyyyyyzyzzxz{{zyxzzyzyyzz{yz{zzyzzzyyyz{zz{{{zyyyzyyzzyzzy{zy{zyzyzzy{zz{{{z|zzzzzzyzyyzz{zy{zzzzzzzzyzzzzz{zz{zyzzz{yzy{zz{zzyzyyyyzyzzyyzzzyyzyyzyyxy{zzzyzzzyyzyyzzyzyyzzyxyyxxxwyxy{zxzyyyyyxyxxyyyzyyyzyyzxyxxyyxyyyxz{zzzzyyyxyyyzyzyxyyyyyxxxyyyyzzyyyzyxxyyyyxxxxyyzzyywyyxxxyzyzxxzzzxyxxyxxyyyyyzyyyxyyyxywxxyyyxzzyzxxxyyyxyyyyyyyzzxyxyyyyyyzzyzzzyyyxwyyxyyyyxzyyyyxxxxyxxyxzyyzzxxzxyyyxxyyyzyzyxzyxxyxxyzyyyzzzyyxyxxzyxzyzyzzyxyyxyyxy{zzyyyyzzyyyyxyyyzzyyzxzyxyyyyyyzzyyxyzzzyyzzyzyyzzzyyzyyyzxyzyzzz{zzz{zzyyyyyzzyzzzy{zzyyzzyyyyyzyyzz{zyyyy{yzzzzy{zz{zzxzyyyzzzzy{{zz{{xzyyzzyz{zzzzz{yyzzyyzyzy{zzzzzzyzxyyyzz{{zzyzzzyyzzyyzyy{{zzzzyzzxzzyyyzzyyzyzzzyxyzyxyzz{zz{zyzyxyxyyzzyyyyzzxxyxxyyxyzzyyyyzyxyyzxxxxzyzzyyzyyyxyxyxzyzyyy{yyzxyyzyxzyzyyzyzyxzxyyxwyyyyzyyzyxyyyyyxxyyyyzzyyyyxyyyxyyyzzzyyyxxxyxyxyzyyyyyyyyxxyxxyw{yzyyzyyxxxyyxxyyzyyyyzyzzzxyyyyzyyzzzzyyyxyxyxyyyyyyyzzxyxyxyxxyyyyyyyyxyzyyxyyzzyyxyyzxxxyyyyzyzzyzyzyzzxyyyxyyzyy{yzyzyzyyyxyzz{zz{zyyyxzyyyzzzzzzyyzyyyzyyyzyzzzy{yyyyzyxxyz{zyy{yyzzyyyyyyyyz{z{zzzyyzyyzyz{zzzz{yzyzyzyzzzzz{zzzyzxzyyyyy{zzyyz{zyzyzyyzzyzzz{z{zyyzzzyyzz|z{zyzzzyzzyyyyyyzzy{z{zxzzyzyzyyzzzz{|zyzyzyyyzzyzyyzzzyzyzzyzzyzzyzzyzzyyyyyxzzyyzyzyyxyyyyyxzyyzyzyyyyxxxxxwyyyyyyxzyyyxxzyxyzxzyz{yzyyxyxyxyyyxzzyzyxxyyyyxyyzyzzzzyxxxxzzyyyzyyzyyxxywyxyxyzzyyyyyzyyyxzyyyyyyyyyyxyyxyyxyyyyyxyyzxxyyyyxyxyzyyyyyywyyxyyyyyzyzyyzyxzyxwxxxyxzzyzyyyyzxxwyyyzyyzyyyyxxyxxyxyyyyyyzyyzyyyyxzyzyyyyzyyyxyxyxyzyzyz{zyyyyxxyyzzyzyyzzyxyyyyyyyyyyzzyzzxyyyyxxyyzyyzzyyxyzxxyyzyzy{zzyyyyyyzyzzzzyzzyzzxyzyyyzyzyzzzzyzy{xyyzxzzz{zz{zxzzyzzyyz{zxzz{zyyy{yxzzz{yzz{{{yzzyyzzyzyz{z{zzzyzyyyyzy{{{zzzyzyzyyzyyzzzzz{z{{yyyyyzyzzzz{yz{zyyzzyzyzyyy{zzzyzyxzyxyyzzyz{{zyzyyyyyyyzxzz{yzyyxyxyyxyyzzz{xzyyxxxwxxyyyyxyyzyyyyyxyxzyzzyyzzzyyxyyxyxyyyzzzzzxxxyxyxyyyzyyyzzxyyyxyxyyyyyzzyyxxyxyyyyxyyyyyyyxyxxzxyyyyyyzyyxyyyxyxxzyzyyyzyxyxxyxxxyyyyzyzyyyxyyyxzzxzyyyyyyxyyxyzxyyzzyyyzzxzyywxyyzxyxyyzzyzyyxxyxzyxy{yyyzyyyxyxyzyyyzzzzxyyyxxxzyzyzyzyyzzxyyyyyzyyyzz{yyyyxyxyyzzyzyyzyzyzxxyyyzzzyzyyzxyyyyyyyzyzxyyzzyyzzxyyzyzyy{yzxyyzxzyzzyz{zyzzyxxyyy{yzzzzyzzzzyyyzyzyyz{zzzzzzyzzzzyzzzzzzz{yzxzyyz{zz{zyy{zz{zyxyzxzz|{zzz{|zyzzyzyy|{z{z{zzzyyyzzyyzzzy{zzyzxzzzyyy{yzzzz{{yyyyyyzyzzyzzzzzzzyzyxzyzzyzzzyzyyzyyxyyyzzyzyyzxxxxxxywyzyyzzzzyzyxxwxyyyyyxyyzzyyxxyxwyyxyyzyyyyxxyyyyyyyyxxyzzyyxxxxyxxzxxyzzxyyxyxywyyxyzyyyyxxyyyxxyyzyyyxyyyyyxyxxyyyyxyyxxyxxxxyxxxzyyyyyxyxyyxwwyxyyyyyyyyzyxxxxyxyzyyyyyxwywxywyxyyxxyzyxyxxxxxyzxyyyyyyyyyyyyyyyyzyyzyyyxxyxyzxzyyyyzyyyxyyyyxyyyyzzzzyxyzyyxyyyzy{yyzyyyxyxyyxyyzzzzzxyyyyyyyyzyyzyzyzyyzxxyxyyyyzzyyzyyyyyxyzzy{yzz{yyyxxyzyzyy{zzzzyyyyzyyyzzyzyz{zyyxyyyyyzyyzzzzzyyyyyzyzzyzzzzzzzzzzyyyy{z{{zzzyzyzzyyzzzyyzz{{zyyyxzzxzzzyzzyy{yzyyyzyyzyzzz{zzyyyyzyzzyzzxzy{zyyyyyxyyzxyzxzzzyxxyxyyxzyyzzyyyzyxxyyyxzzzyyyyzyxyxxxxxyzzxyzzzyyyxyyxxyyxyyzzzxxyyyyxxzyyyxyzyyyyxxxxxyyyyzzzyxxxzyyzxyzyyyzyyyyyzyyxxyyzyzyyyzzxxyzxyzyyyyzyyxxxyyyxxxzxzyzzyzxyxyxxxzyyy{yyyxyyyxxxxyyyyyzzzxxyyxyyxyyyyyyxzyyxxyxxyyyyyyz{zyyyxxyxxyyzyyz{zyyyyyyyyyy{yyzyyzyyyywyyzyzzyzyzyyyyyyyyzzzyzzzzyyyyyyyyzyzzy{xyzyzxxyyxyzyyyyzyzyxyyyyyzzyzyyyzyzzyzyzzzzz{yzz{yzyyyyyy{zzzzzyyyzyyyxyyyzzyzzzzzzzzzyyyzzz{z{zz{zyzxyyyzzzyzzyzzzzzyyzzzzzz|z{zzzyyyyzzzyz{zz{yzzzzzyyyz{z{yz{zzzzyzyzzy{{zzzz{zyyzyyyzzzy{zzzzzzwzyyzzzzyzyyzyyyzyyxxxyzyzyyyyyyyxyyxxxyyyywzyyyzyxyyxzyyzzzz{zyxyyxyxyyyyyyy{xxxxywyxyyyyyx{zyyyxxxxxyyyzzyzyyyyyxxyxzyzyyyxzzxyyyyxxyyyyyyyyyxyyyxyxxyyyyyyzyyxxyyyyyxyzyyzyyyyxxyxxyzzzyzyyyxyyxyxxxyzyzzzyyxyxyyyzyyyyzyyzyyxxyxyyyxxyxyyyxyyyzyxyyyzyxyzzyyyyywzyyzyzyyyzzyzxxxxyyyzzyy{zxzyxyxyyzyzzyyyzyyxyzxyxyzzyzzyyzyyxyxxxyzzzyy{yyyxyyzyzyy{xyyzyyyyyyzyyzzyzzzzzxyyzzyzzzzzzzzzzyyyyyzzyzzyyzz{yzyyyyzzy{zz{zz{zzyyzyyyzy{zyzzzz{zzyzzyzyz{zzzz{{yzyyyxyz{z{zzzzyyxzyxzzzzyz{zzz{yzyzzyyzzzzzzyzyyzxzyyzyzzzxz{z{xyyyxyyzzzzyyyzyy{yxyyzzyzyzyyyyxxyyxyxyzyyxyxzyxyyyyyxzzzyzzzzyyxyxyyxyzyyzzzzyxyxyyyxyzzyyzzyyyzyxxyxzyzyyyyzywzzyyyxyyyyyzzyyyxyyyxxyyzxyyzzyzxyyxyyyyzyzzyyxxxyyxyxyxzzxzzyyxyxxyxxyyyyyyzzyyyxyyxxzzxyzyzzyyyyxyxxzzzxyyyzxyxxyxyyyzyyyzyyyyyyxyyxzyzzzyzyyyxyxyyyzz{zy{yzyyyyyyzyyyyzyzyzzyzyxyxyz{yyyzzyzy{yzzzyy{{zzzyzyzzyyyzzyzzzyyzzyzyyyyyzzzzzy{zyyyyzzyyyzzzzz{zzzzyzy{zzyzzz{zz{zzzyzyxyy{zzzz{zyyxzyyzyzz{yz{{zzzzzzzzz{zz{z{zzzyzzyzyyy{zzz{{zyyyyzzyyzzzzz{z{yyyyyyyzyzz{{{z{zzzyzyzyyzyzzzzzyzzzyzzyzyzyzyzzzzyyyyzyyyyyzyzzyyyyyxzyyzyzyzyyyyyxxxxxyzyzyyyyxxyyxxwyyyzzyyyyzyyyyyyyzxyyzzzxyyyxxxxxyyyyyyyyyxxwxyxyzyyyzzyzzxyyyyyyxzyyyyzyyyyxyyxxxxyyyzzyyyxyxxyyyxyzyzzyxyxxyxxxyzy{zzzyyxyyxyxyzzyyyyyyyyyyxyxxxzyzzyzyyxyxxyxxzzyyxzzyzyyxyxxyyyyyyzxzyyzzyxzyzzyyzyzyyyxxyxyxyzzzzyzzyyyyyxwyyyzzyzyzyyyxxxyxyyzzyzzyyxyyyyzzzz{{yzzzyyxxxyzxyzyzyz{yzzyyyxyzyzzyy{{yzzyxzyxyzxzzzyzzzzzyxyzzyzzzzzz{yyzyyxxxzy{zyyzyz{yyzzyx{zzyzzzzzzyzy{zzz{yzzzzz{yzyy{yyy{z{{z{z{yyyyyyy{zzzy{zyzyyzyzyx{zz{zz{{zzyyyzyyz{zzzz{{zzyzyxyzyyzyyyz{yyyzyyyyyzzzyyzzyzxyxyxyyzzyyyyyyyxyyyzxxyyyzyyyyyxxxxxxyzzyyzzzyxxzyxxxyyzyyzyzyyyyyzyyyzyyyyzyyxxxxxxxyyzzyxzzyyyyyxyyxyxyyyyyyyzyxwxyyyzyyyxyxyyxyyyyxyxzyyzyzyxyxyxxyz{zyzxyxyxxxxxyxyyyyzyyywyyxzxyzyyyyyzzyzyyyyzxyxyyyyyyyxzyxxyywzzzzxzzyzyxyzyyzzyzzyyzyyxyxxyyzzzzyzyyzxzxxyyyzzyzy{zyyyxyyyyyzxxyzzzyyyzxyxyxyzyyzzzyyyyxzxyyzzyzzz{zyzyyxyyyzy{yy{{zzyyxzyyzyzy{{{zzxyzxxyyxzyy{zzzyyyyzyyzyyzzzyy{z{zyyzxyz{{yzyzz{yyzzyzzyzzz{z{zzzyzyz{yzyz{{zz{zzzzyzyzyz{yzzzz{zyyzzyxz{zyzyzz{zzxzzzzzzz{zzzz{yyzxyzyyzz{zz{zzzzyyyxyyzzz{yz{zyxyyyyyyzzzzzzzyxxxxyywyyyyxyy{zyxyxyyyxxy{zzyzyzzxxxyyxyyzzyzyyyyxxxyxyyzyxyyzyyyyxyyyxzxyzyzxzxyzyzxyyyzyyyyzyyzyyyyxyyyzxyzyyyyxxxyyyzzyyzzyyyyyyyxzyyyyyyyyyzyxyxyxyxyzyzzyyxxyyxyyxyzxzyyyzyyyyyyyxxzyxzzyyyxxxyxyxxzyyzzz{yyyyyyyyzyyzyyzzzyzyxyxyyzzyzyzzyyyxyxyxyyzyyyyzzyyxxyyyyyzyzzzyyyzyyyyxz{zyyzyzzyxyyyxyyzyzzy{zyyyyyyyzzzzzyy{yyyyyzzyzzzz{{zzzyyxxzzzzyzxzzz|{yzyzyyyyyyzzzzzzzyzxzzzy{{zzz{zzzzyyzzzyzzy{{yz{{yzzyzzzz{z{{zzzzyzzyzyyzzz{z{zzzzzyyzyzz{zz{zz{zyyzzzzyzzyzz{zyzyzzyyyzyyyzzz{z{zyzyzyyyzzzzz{zzzzxyzxyzxyyyyyyxyxyxyxxzyyyzyy{yxxxyxxyyzyyzyzzyzyyyyxxyxzzzyzyyxyyzxxyyzxxy{yyyxyxyxyxyyzyxzyyyyyyxxyxyzyyyzzzzyxyxxxyyyyxyzzyxyyyxyxyyxzzyzyzyxyxxxyyyyyyyyzywyyyxyxyyyzyyyzxyzyyyyyxyyzyxyzzyyyzxyyxyxzyyzyyxyyxyyyxxzyyzyzyyyzyxyxxyy{yyyzzyxxyxyzyyzzyzzzyyzyxyxyyxxyzzyyzyyywyxxyyyzzzzzyzxyzyyyyxzyzyzyzzzyyyxyyzzzyzz{yzyxzzxyzz{zyzyzzzzyyyyyyyyz{zzzyyyzyzyyyzxzzzz{zyyyzzzyyyz{zz{{y{xyxzzzxz{{yz{zzy{zzzzzyyzzzzzy{zyyyyyyyyzzzz{z{yyxzyyyyzzyyz{zzzzzyzyyyyzxz{z{|zzyz{yzzyyzzzzzzyzzyyzxzyyzzz{yzzzzyyyyyz{zzzzzzyyxyyxyxzyyyyyxyyyxxxyxyxyzyzxzzyxxxxxxxyzyyyyzyyyyxxyxxyyzzyyyyyyxyxxxyyyyyyyzzyyyyxyyxyyzyxyxzzwyyyyyxyyyxyyzzyyyyyyxwxyyzyyyyxxyxxyyyyyyyyzyyyyyyyxyyxxzyyy{yyxxxyyxyyyyxyyyyxxzyyxxxyyzyyzzyzxxyyyxxzyyyxyyyyxyyyyxxyyyxyzzyyyxxyyxxyyyyyyzzyyyxyyyyyzzzyzzzyyyxyxxyyzzyzzyyxxyyyxyzzyzyyyzyzxzyzxyxyzzzzzzzxxxyzyxyxyyyy{|zzyyzyyxyzzyxyyyyzyzyyyyx{yy{zzyyxyzxyzzyyzzzzzzzyyyyyyyyyzzy{yzzzyxyzyxyxzz{{{zzyyzxzzyzzzzz|yz{zyzzzzyzz{zzzzz{yyyzyyyyyzz{{y{yyyzyzxyyyyyzzz{zzyzyzyyyzyyzy{z{yyyyyyyzz{zy{yyzyyyyxyyxzzzzzzyzxzzxyyyxzzzzyyyyxxxxxyxxxyyyxyxzyyxyxxyyxxzyyyyyzyxxxyyxyzyyzzzzzxxyyxxyzyyzyyyyxyxxxxyxyyyzyyyyxxzyyyxxyyyyxyyyyyyyxxxxyyyxyzyyyxxwwyxyyyyxyzzyyyxxyyxyxyxyzzzyyxxxxxyxyyzyyyyzyxyxyxxwyzzyyzzyyxxyxyxywyxxyyyzyyzxxyyyxyyyyzyyzwyyxyxxzzyyxyyzyyyyyxyyzzzzzyzzyyzyyyyyzyzyyzyzyyyxxyyyzyyzyyyzyxzyzyxxxzzyz{zyyxyxyyxxyy{yy{zyzyyyxxyzyzzzy{zzyyyxyyxzzzzzzzzzxzzzzzyyzzz{zzzyzyyzzyzyyyzzyyyzyyyxzyyzzz{{z{zzzyzzyzzzzzyzzzz{zzyzyzyyz{{{zz{|yyzzyyzz{yyzz{y{zyyyzzzzzzzzzzz{zyyzzyyzzyzz{zyzyyzyyyxzyyyzzyzzzzzyyyyyzzyzzzzzyyzyxzyxyzzyyyyyyyxxyxywxyyyxyzzyyxyyxxxy{yyyzzyyxxwxyxyyyyyyyzyyyxxxxyyyzyyxyyyyxyxyyzxyyyyyyzzyxxxxxxyxzxyyyzyxyxxxxxyxy{xxzzzwyxxyxxxyyxyxyyywzyxyyyxyxzyyyzyyxyxxzyxxzyyyzyyyxyyxxxxxyzzyyyyxxyxxxxxyyyyyzyxyxyyyxxzzyyyyzyyyxyyxyxxzzyzxzzzyxxyyxywzyyzyzyzyxyyyyyyyyyyyzyzyzyyxyyyzyyyyyzzzyxxzxxxxzyzzzz{yzyyyyyyyyyzyyyyyyzyyxxyzzyyyzz{yyzyyyy{yyzyzyzzyyzyyyyyyzzzyzzyzyyyxzyyzzzz{yzzzyyyyyyyzyyyyzzzxzyyyyzyzzyzyz{{zyzyyyyzy{z{yzzzyyxyyxzzzzzzzzzzyyyyzyzzyzzzz{zzzyzzzyyzyzz{{zzzyyxzyzzzyzzzyz{zyzyzyyxxyzzzzzzyyxyxyyyxyzzzzzyyxxyyxxyxy{z{yyy{xyyyyyyxyyyyzzyyzyywxyyxyyyyyyyzxxxxwywyyzyzyyyyyzyxyyxyxzyyxzzzxyzyywxyyyzyyyzyywxyyyxxyyyxyxzyyxzxxyxxzxyxyyyyxyxwyzyxyyyxxyzyyyxyxyzyyyzxyzzzyxxyyyxxyzyyyzzyxyxxxyxxyzyyyzyyxxyxyyyyxzxyyzzzxxxxyyyxyyzyzx{yyyxyyxyzxxyzzzzzyyyyyyzyyyyxyzzzyyyxyyyyyzzzzyyzyxyyxyzxyzzyyzyzzzxxxxyyzyzyyyzyyyxyyyxyyyzyyzyzzxyyyyyyzyzy{zyzyyyxzyyxz{z{yzz{yyyzyyyzyzzxzyzzzxyzyyyzzzyzzzzz{zzyxyzyzzzzyzzzzzyyyzyzz{z{zzzzyz{zyyyyzyyzzzz{zzzyzxyzzzzyzy{{zyzyyyyyzzyz{zzyzzyyyzxyyzzzzzzzyyyyxyxyyzyzxyzyzyyyyyyzzzzyyxzyxyyyzyxxyzyzyzyzyxyyyxywyzzyyzyz{yyxyyyyzxyy{yzyzxyyzxxyyxyyyxzzzxyxxxywzyyyzzzzzyyxyxxxyzyyyzzyyyyxxxyyzyzyyzyyyyzxyyxyxyyyzyzxzxyxyxxxyzzxyz{zyxxxxyxyyyyzyz{zzyyxxxxxxzyzyyzzxyxyyxxxxyxyyzyzxyxxyxyyxzyzzzyzyyzxyyyxxzyzzzzyyyyyyyzyyzy{yzyyzyzxyxzyyxyzyzzzyyyyzxyyyyyyzzyzyzyyyyyxyyzy{zzyyyyyxzyxxzyz{zzzyxyyyyyyyzzzyyyzzyxyyzyyyzyzzzz{yyyzyyzzzzyzzzz{zyyyzzyyyzzzz{{yzyyzzyyy{{zzzzzzzyzzyyzzzzzyz{zzzyzyyyyyzzyzzzy{zyzzyyyzzzzzyz{zzyyzzyyyyyzzzzzzyyzzzyyy{zzzzyzzyzyxzywyx{y{{zzzyyxyxyzxyzyy{y{yyyyyyyyyzzzyzzzzyxxxyyxxzyyyyyz{yxyyxxxxyzyzzzyzyyyxyyzxyyzyyz{zyyzyyxyxyyzyyyzzyyyyxyyxyzzyxyz{yxyyyxxyyyyyyyzyzxyxxxyxyyzxxyyzyzxyxyyxyxxyxzyzxxyxyxyyyyxzzzzzyyyxxyyyyyzyzzzzyyyxxyyyxyzzyyzzzyyxxxxxyxzxzyzyzyzxyyxyxyxyy{zzyxyzxyxyyzyxyyzyyyyyyyyxyzzyyyzzyzzyyyyxyyzyzzzzxyzyxyxyzyzzyyzyyzyzzxyyzzzzzy{zzxyyzyyyyzyzzzz{zyzyzyxzzzzyyyzzzzyyzzyyzyzyzyzyyzyyyzzxzzzzzyz{yyyyzzyyzzzzzz|{{yzzyzyzz{zzzz{zyyyyyzyzzzyzzz{y{xzyyyyzz{z{zzz{zz{zyzyzyzzzzzzzzyyyzyz{yzzzzyz{yzyyyyyyz{zzz{z{yzyyzzyxz{zzyzzzzzyyyzxyyzzzzzzyyzyyy{yyyyyzyzzyxzyyyyyxzzzyyzyzyyyyyyyxyyyyyyzyxyzyxyzxz{xyzzyyzyyxxyyyxyzzyyzyxyxyxyyxxyyzyzy{yxxxyyyxyzyzzzzyzyzxxyyxzyzyzz{yzxyyzxxyzzyzyzyzyyzxyxxxxxxyyzyyxxyyyyxyyzzyyyxzyxyyyxyyyyyzzz{zxyyyyyxxyzyyzzzyyyyyxzxyyxyzzzyyxxyxyzxyyzzzyzzzyyyyyyzxzyyyzz{zyyyyyyzxzyyyy{yzyyxyyxyyyzyyyzyzyyyyyxyyzzz{z{y{zyyzyyyyyzzzzzzyyxyzxzyy{zzzzyyyxxyzyyyxyzz{zzzzyzzxy{{zzzzyyz{{zzzxyyyxzzz{{z{zzyyzyyzxzyzzzz{zzzzzzyxzz{zzz{{zyyyzz{zzz{{zzzz{{xzzzyyy{z{zzz{{zzzyyyyzyzyzzz{zzzzzzzyzz{z{{z{{zyzyzyyyyyzzzz{zzyzyyxzyyyzzyzzxzzyyzzzyyzzyyxy{zyyxxyyxxzzyyyyzxyyyyxxyzzyyzyyyxyyxyxyxyyxxyyzzyxxyyyyxyyzyxyyyyyxxxxyxzzxzyyzyyxxxyyyyyyxyzzzxxyyxxxyyzyzzyzzyyyxxxxxyyxxyyyyzyxyxywyxyxzzzyyyxyxxxxxxyzzyyyzxyyxxxxyyyxyzzzyzxxxxxwywyxyyzyyyxyxxxyxzyzxzxzzzyyyxxyyyyyzzyyzzyyyxxyyyyyzzyz{zyyyyxyxxyyyzyzzyyxyyyyyyzyyyzyyyzxyyzyyyyzzzyz{zyyyxxyzyyzzyyy{zxyyzyyyyyzzzxxzzyyyxzyyyzyzzz{{yyyyxzyyyz{yzzzy{{zzyzyzxzyzz{zzzzxyzzzyz{{x{zz{{zzyyzzzzyzzyz{zzzyyzyzyzy{{{zz{{zzyyzzzzyz{zz{zzyyzyyyyyzyzzz{z|zzyzyyyzz{yzzz{{zyyyxyyx{zzzzzzzyyzyxyyyyyzzyzzzzyyyyyyyxzzyzyyyyyyyzyyxxyyyzzzzyyyyyxxxyyyyzzxyyzyxxyyyzzyyzxzzzyyyyxwyyyzyyyzzyxyxyxxxyyzxzzzzyxxxyyyxyyyyxzyyxxyxyxyxyxxyxyyyxxyxxxxxyzyyz{yyxyxxyyyyxzyyxzzyyyxwxyyxxyzyyyzzyxxyxyxwxyyzzyzzxyxyxxxxyyxxyyyzyxyyyyxyyzzyyzzzxxxxyxxxzyyzyzzyyyyxzyyyz{yyxzyzyxzzxxzyyzzyzzzzzyyyyyyz{yzxzyyzzyyzyyxyxzyyz{zzzyzyyxyxyzzzyyzyzxyyxyyzzzzzxzzyyyyzyzxyzzzzz{{zyzyyyzyyzzyzzyzzzyy{yyyyzzzyz{yz{xzyzzyy{zzz{zyzzzyz{zyzzzzyyz{{yyyzyyyzzzz{{zzzzyzzyyyzzzzyzz{zzyyyzyyzzzzzzzz{{yxzzyyyzyyyx|z{zzyyyzzyzzzzyz{yzzyzzyyxzyyzyzzyzyyyxyxxzyzyzyyyyyyyzxxxyzyyzxyzyyyxyxwyyyyxyyyzyyxyyyyxyzyyxyzyzxyyzyxxzzyzzxzxyyxyyyyxyyzxyxzzyyyyxyxyyyxxxy{yyyyyyxyxyyzyyyyyzwyyyyyxyzyyyzzyzyywxwxxyyyyyz{zyyyyxxxxxzzyyyxxyyyzxwzxyyyyzyyzxyxxxxyxxyyyyyyyxxxxyxzyyxyxyz{zzxyxyzxyxxzzyy{zyyxyyyyyzyzyyzz{yyzyyxyxyyyyzyzzyyzyyxyyzyzyzyyyyxyyyyyyyyzyyzzyyxzyyyxyzzzyyzzzyyyyzyxyzzzyz{yyyyyyzyyyzyz{zzz{yzzyzyzyz{zzy{{zzxyyyzyyyzyzzy{zyyyzxyyyzzzzyzzzzyyzz{zyyzy{yz{{{yyzxzyyy{zz{z{zzz{{yyyyz{zzyz{yyyyzyyxyzzzzzy{z{zyyyzyyyyyzzyz{yzyyxxyzyzzzzz{{zyxyyxxwyzyzyzzzzzyyyyyyyyzzzyxyxxxxxxxwyzzyxzyzyyyxyyyyzxzyxzyzyyxxxyyyzzyxyyzzxyxyyxxxzyzyxxzyyyxxyxyxyyzzyxyzyzyxxyywyyyxyzzyzywxyxxxyyzxxzyyzyxxxxxyxyxyyzyxyxxxxywxxyxxyzzzyyzxyyxyyyyyyyyyyyxwxyxxyyxxzxzyyxyyxxxxzyzxyyyzyyyyxxyxyyzyyyzzxyxzyyyyxyzyyzzzyyyyxyxxzyyzzyzzyyyyyyyxzyy{zyyzyyyxyxzyyyzzzyyyzyxxyyyxyzzzyzyzyxxxyxwyzzzxzzzzyyyyyyyyyzyzxzzyyyyyyyyzxyzzzzz{yyzzyyyyzzyyyz{z{yzyyyyxzz{yz{zzzzyzxxxyz|zzyzzzyyyzzyzyzyyy{zz{zyzxyyyyzyz{zzzzzzzyyyzy{zzzzz{{yzyzyyyzzyzyzzzzzzyzyzxzzzyzzyz{yyyzyyxyyyyyzzzzzyzyyyyyyzzzyyzzzyzxyzyxyyyxzzyxxxxxyyyxyzyxyyyyyyyxyxyxzxzxzzyzyyxxyyyyyxyzzyzyyxxyxxyyxyzzyyyyyyxxxxyyyyyyyzyzyyxyyyxxyzyyxyyyyxyxyxxyyyzyzzzxyyxxxyyxyxyyyzxyxyyyyxxxxyyyyyzyyxxyyxwyxxzyzxyxxxyyxxwxxzzyzxyzzxyxyxyxxyyyyyyxyzxxyxyyyzyzxyyzyyxxxyywyyyyzzzyyyyxyyyyyyyzyzzyyxyyxxyyzzzyxyzyxyywxyyyyyyyzzzzyyyyyxxyy{yzzzzyzyyyyxxyxyyyyyzzzyyyxyyyyzyyyyyzzzzyyyyzzyzzzyzyxyyyzyyzzzzzyzzzzyyyxyyyzz{zyzzzzxyyzyyyzzzyyy{zzyyyzzzyzzzzzyzzzyyyzzyzy{z{z{{{zzyyyyyzyyzzz{zzzxyyyzyzyzzyz{z{zyyzzzzyzzy{zzz{yyyyyyyxyzyzzz{zzyyxzyzxyzyzzyyzxyxxyyyxyzzyy Fu7az{{{z{z||{{{{|{}{{z|{{{{{|{|{||{|{|{{{y||{|||||||z{{{{{|||{{{||{|{{|{|z{|{{||||{|z|{zzz{{{{|{|{zz{{{{z|{|||{{||{{yzz{{z{}{{|{|{{{{zzzzz{|{{||||{{{z{{zz|{|{|{{|{|{{y{y{z||{|||{{||{z{{{{|{|{{||{{z{{{z{z|{|{|{|z{{z{{{{{{{|{{{z|z{{zz{{{{{{|||||z|{{z|z||{|{||||{{{{{z{|{||||||||{{{{|{{|{|{|{||{{{z{{{{{|||{||{z{z{z{{|||||}|{||{{|{{{|||||||{|}zzz|{z|}{||||||{{|{{||{||||}||}{{{}z{|{}||{}|}|{z{|||||{}|}{}|||z{{{{||}|}||||}||||{}{|||{||{}{{{{{||{{|{}||||||{||{z{||{||}}|{{{{{{z|||{|||||||z{{{{{||||{{||{{{{{{{{|{|}{|||||{{{{|z||{{||{{||z{{{{||||{{||||{z{zz{{{{{{||||{{{||z{||{||||{{|{{{{z{z{{{{{|||{{zzz{|{{{{{{}||{{z|z{{{|{{{{{|{{{{zz{{z{{{{{|||zz{{zz{{z|{{{{|{{{z{zzzz||{{{{{|{{y{zzz{{zz||{{{{zz{zzzyzzy{z|||{z{zz{zz{z{{{||{{{{z{{{{||{||{}{{zz{{{z|{||{{|||zz|{z{zz{{{{||}|{{{|{{{z{|||}|||{{{{{{{z{||||z{{|{{z|{{|{|}|||{|{{{{z{{|||{|||{|{|||{|z{{|{}|}||{{{z{||{|{||{{{}{{{|{{{||||{}|}||z{|{{|{{}||}|||{{{{{{||{||||}}|||{{|{{{{|}|||{}|{|{{{{{|||}|||||{{||{{{|||||}|{|{{||}||||z||{||{{{{{{||{||||{}{||z|z|z{{|{|{{}{|{{zzzz{|z{{{|{z{{{z||}{{||||{|}|{{{|{{zz||{{|{|{z{{{{z{z{||{|||{{z|{{{z{{{{{{|{|||{z{{z|{||{{{{{||{{{|{{|{|{|}{{{{zz|z{z{{|{{|||{zz{{z{{{{{{z{|zz{{{{y{z{{{{{{{zzzzzzz{{|{{|||z{{zzzz{{{||{{|{{z{{{zz{z{|{{{|z{z{{zz{zzz||{z|{{{{zz|z{{||{{{{{}{{{{{z{{|||{{|{||{{{{{{{{{{{{|{|{{zz{z{{||{z|}|{{{{{{zz{z|z{{|z{z{{{{zzzz}}{||||{{{{||{{{{|z{z|}||{{{{{z{{||||{|{{z||{{||{||||||||{|{|{{||||{{||{z{{{{{|||||}{}|{{|z{{|{||}|{||||{{z{{|{{|||}|}{|{{{{{||}}|||||||{{{|zz{{||||{{}{{|||{{|{{|{||}|{{{|||{{z|{{|}||{zz{{z{{||{|||{{|||{zzzz{{{{{{||}|{{|{{{{|{|{|||{|{|||z{{|}|||}{{{{{|{{{||{{||||||z{|{{{{{}|||||z{{{z{{{{{{|{{||{{{{{{zzz|}{|{|{z{z{z{zz{{||{|{z|zz{{{{{{{{|{|z|{{zzzz{{||z{{{{||{zz{{zz{{|}{{{|{{{|y{{z{|{z{{{{{zzzzz{{{{{zz||{|{zzzz{z{{{{{{||{{z{z{z{{{||||||{{z{{{{{{{||{{||{|{{|z{{|{|z||||z{{{z{{{{{||{|{|{{{{{{{z{|{}|{|{zzz{{{z{|{|||||{{z||{{{z|{|{|}|||z{|{|{z{|||{|||{{{{z{{||||}|{||{{||{{z|}|||}||{|{{|{{{{|}||}||{{{|{z||{|||||||}}{|{{|{{||||||}{|||{{||{|||{||||{|{{{z{|||||||||{|}{|{{||||||||||{{{{{{|{|||{|}|||{|zy||{{||||{|z{|z{{z{{|{{||}|{{{z{{||{{|||||}{{|{{{{|||}|||||{{{|{||z|{{|{||}{{{{{{{z{||{{||||{}z{{{z{{||}|{|{||z{z|{{|{{|||{||{{{z{z{||z{|||z{{{z{{z|{{{{|{{{zzz{{{{{|{{|{{{{z{{y{zzz|{|{||{{{zzy{{z{{{|{|{|z{z{{z{{{{{{{{||z|{zzz{y{{z|{{{{y{{|||{z{{||{|||{z|{{{{z{|{z|{{{{{zz{zz{{{||{|{|{|{{{{|{|||{||{||{|{{{z{{{|z|{|{{{y{z{{{|{{{|{}|{|}||zzz{|{|{||{{{|{{{z{z||}{{||z|{{{{{|{|||||}|}||z{{{{||||}|}{|{|{|{z||{|}{|||{{{{||{|{||||}|}||{{||{}|}|}||}||||{|z{||}|}|}|}|{{|{{{{|||}}|}}{||{|||{}||{|||||||{z{{{|{{|{||}|{{z{z{z|||||||{|{{zz{zz{{|{}||||{||z{|{|}||||}{}|{|{|z{{|||||}{|{|z{||{|{|z}|||{{{{{{|z{|{|{|}||{{z{{z{{{{|z{{|z{{{zz{{{{|||{|{{{{{{zz{{||{{||{z{{{{{{z{{{|{|{{{{{{{yzz{z{|{||{{{{z{{{zz|{{||||||z{{{|z{{}{||||{{{{{zzz{{{{||{{z{z{|zzz{{{zz}{{zz{{{{|z||{|{||}{{zz{z{{|{{|||{|{z{z{y{|{|{|{|||zz{z{zz{|{||}{{||{{{{{{{||}|{|{|{{{z{{{z||{{{||{{{{||{zz{|}{|{{{{{||{|z{{{{{}||{{|{|{{}{||{|{||{{{{{|{{{|||||}|||||{{{{{}|}{{}{||{|{{{{|{}|}|}||}{|{{z|{||||}}}}}{|||{{||||||}|||||{||z{{|||}||||{|||||{{{|}||{||||{{|{{||{{{|}{|{{z{{z{||||}{|{{{{z{{{z{{{||||}|||{{{|{{}||{|{|||z{|{{{{{{{}|||{{{{{{|{||{||{}||||{{{{{{{||{}|{|{||z{{z{|||{{{|{{{z{{z{{||{{||z{{{{{{zz|{{{||{{|z{zz{z{|{z{{{{|{z|z{z{{{{|{||||zzz{z{zz{{{{||{|{{{{zzzz{{|}||||{{|z{zz{{{{{|{{{|{zz{zz{z|z{{{{|z{{z{{|{{||||{|{{|{{|{{|{|{{{|}||{z{{{|{|{{{|{|}{{{zz{{{{||{||{|}|{z|{{z{|}|||{{{{|{y{{{|||{|||{{|{{z{{{|||{{|{|{{|}||{|||}||||}{{{{|||{|{||||}}{}z{{{{{||||||{{||||z{{||}|{||}|{{{|{||||||||}|}}{||{z{{}}}|}~{}|{{|{{{{|{|{||{||{||{||{||{{{|}|{{|{||{{|||||||||{{z|||{|||{||||{{|{{{{{{}}{{{{{|zz{{z{{{|||{}|}|{{|{z|{||||||||}|{|{|y{||}|}|||{{z{{{{z}|{z||||{||{z||{|{{{|{{{{{{zyz{{{{{|{|||{{{{z{|{|{{z|{|||{{{|{zz{z|z|{{{{z{zz{{{{{z{{{{{z{|z{{yz{{{z|{|{z{{{{z{{{||{|{|{{{z|zzz{{{{{{|||{{{{zyz{{|{{{{{|z|{{{{|y{|{|z||{z{|{z{z{zzz||{|{{z{{{{{{{{{|{{{||{{z{z{{{|{|{|{|{{||{z{{|z||||||{|{{{{z{|{|}{|{{yz|{zz|z||{{||||{{z|zzz{{|||{z{|z{{{{{{{||}|||}|{{{{{||{||{}||}||z|{|{{{||{}||||{{|{{{|{|}{{{||}{|{{|{||{}z|}}{|}||z|{{{{|}|{||}|||||{{{z{{}{{||{{{|{{{{|||||{|{|{|{{|{{||{||||}{{{{z{{{z{{{{{}{||{{{|zz|{{|{{}|{{z{{{zzz{{{{}|||{|{{z{z|}}{|}{|}|{{{{||{|{|||}||{{|{{|}|||{{||{|{|||z{{{{|{z}|{{||z{{|{z{{{{|||z{{|{{{{{{{|{|||{z{{z|zz|{}z{{{{{{{{{{{{{{{{|{{|{zz{{zzz{{{{{{{|{{zzzzz{z{|||{{{{{z{zzz{{||{{|}{z{||{z{{{{||||{|{zz{zy{zz{{|{{|{zz{y|{{z{{|||{||{{{z{{{|{||{|||{{{{|z{{{|||{|{{|z|||{z{{{||{{{{{{|{{{z|zz|{||||{{zz{|{{z|||}{||{|{z{{z{{|{|{|||{{{{{{{{{{|}||}||{|{{{|{||{|{|||||{{|z{{||}|{{|~{|{{|{{{|{}|{||}|{{{|{{||||||{|{|||||{{||{||||}|||{|{|||{}||}|}}||{{z{||||||||||}{|{{|{{{|{|||||}{|{{|z|{|||{|||}||z{||{zz{|||{||{{{z{{{z{|{z{}}||}|{{{z{|||||||}}}|z{{{{|||{|{|}}{{z{zz{||||}|}|{{|z{z|{z{|{{{|}|||{{{|{{z|}{{{|{{{{{|{|{{||{||||{{{{{{{|{|{|||{{{{{{z{z{{{{{z{{{z{z{z{{{{|{}||{{{{{zy{z{{|}|||{{{|{z{z{{||{{{}|}{{{{{z{{{z{{{||{{{z{|{{{||{{|{{z{{{{{{{{{|||||{{{{{|{zz|{|{|{||{{|{z{{{{{|{||{}{{{{{{{{||{|{|{|||{{|{|z{|{||{|{{z|z{{{{||}}||}z{{{{{{|{||||{{|{|{{z|||{{|}{|}||{|{{{{{{|{||}|||{{|z{z{||}||||||{|||{{{{|||{|}|}{{|{{|{{|}||||||||{||{|{|}}|{||}|{{{|{}|}}|}||}||z{{|z||||{{||}||{|||z|}|{}|{}|||{|{|{{z{{|{||{{||{{{{{{|||||||{{{|zzz{z{}||||||||{|||}{|||||}|}||{|{z{{|{{||||||}{{{|{z||{{{||}z{{{{{z{{}{|{{|||{|z{{{z{{{{{|{{|{z{{zzz{{|{{}|||{|{|{z|{z{{|}z{zz{zz{{z|zz{{{{|{yz{yz{z{|{{{||{{{{{{zzzz{|y{{|{{z{{zz{zy{{{{{|z{z{{{z{y{{{{{{|{{{{{{yzz{|{{z{||{{{|{{zzz{{|{{||{zzz{zz{{||||||}{{{{zzz{{{|||{||z{|{zz{z||||{{}}{z{z|{|{{|{{|{{{{{{{z{{z|||||{|{{{{||{z{{|}|||}|{||{|{{z{z{||}|{{{{z{{{{||{||||{{{{{{{{z{|||{|}z{z|z{{|||||||}}}{||||{||{}||||||||{{{}{|{|||||||{|||{|{||||||||}|{z{{{{|{|||}|}|||z{|{z|}|}}||||{{{{{z{z{|||{||{{|{{{z{{|{|{{||{|z{z{z{{{||{{|||{{z|{{{{{}{|}}}|{z{{z{|{{||||}|||z{zzz{{{||{|{||{z{{z{z{{||{{{{||{{{{{{{{||{{{{{{{{z{{|{{|{||{||z{{{{zzy{{}z|}{{{z{{{z{{{zz{{z|{{z{{{{{zz{z{{{}|z{{{{{{zz{|{|{|{{z{{{yzz{{|{{z||{zzzz{{z{{z{{|||{{zzzz{{{{z{||{|{z{{|{{z{{{{z{|{|{{zzz{z{|{z||{|{{{{z|{{|{{|{|||{z{zz{{{|{|{|}{{{{{z{{{z{{{{{||{|z{{{z{z{||{{||{|{{{{{|{{||{{|||{{|zzzz|||{{||{{|z{|z{{{|||}|||{z{{|{{{z{{||{|}{{{zzz{z{}}|||||{{{|{||||{{||{|||{z{{|{z{{}||||}||{|||{|{||{|||||||{{{{{z|||||}|}{|{|z{{{}{{|{|{||{{{{|{{{}{{|{}{{{{{{z{z|}||{{|{{z|{|{{{{{{{{|}}}||{{z{|{|||||||}|{||{|{||}||{|}{z|{z{{{||}|}||||z}z|{zz{|{|{{|{{{{zz{zz|{|~|{|}{{{{z{z{{{|{{||{{{{z{z{z|{|{{||{z{{{z{{z{|{|{|{|yzz{{zz{{{||||{{{{{{z{z|z{{{|{{{zzzy{{zz{||{||{||zz{z{zz{|{{{{|{{{{{zzzz{zz{{||{zzzyz{{z{{|{{|||{{|{{z{z{|{||{{{z{{{{{{|{||{{{||z{{{{{{|||||{|{|{z{z{zz|{|{|{|z{|{{z|{{|{{}{|{|||{z|{z{{|{|{||{|{|{{{{z{||{|||{|{{|{{|}{|{|||{|}{|||{|{|{|||{|||{{{{|z{{||{{|{|{|{{{{{{{||||}|{|||{{{|{{}|||{{}|}{{|{{||}||||}|}|{||{{{|{|{||||{}||{|{{{{|{||}||{|{z||{|{|{|||}|{{z|{z{z||{|{{|{{{z{z}{zz{|{{~|}|{|z}||||}|~|}}}|}{|{z|z}{|}|||}|{{||{|z|||||{{}||{{{{|{{|{{{{z{||{{{{{{||{|{{|{|{{{{{zz{{|{{|}{{zz{{{{{{{{{||{{{{{zz{z{z{{{z||{z{{z{zz{{{|{{||{zz{{zzzz{||{|||{{{|{zz{z{||{{{||{zz{|{zz{{{|{{|{{zz{zzzz{{z{{{{|{y{{{{z{||{{{||{z|{{|{{{{{||{||||||{{{|{|{zz{|{}|{{z{{{{{|{{|||{{{{z{z{z{|||{|{|{|{zz{zz||{|{|{|{{z{{|{{{|{|{|}{||{{|{{|{||}||||{{{{|{{||{|}|{}|{z{{{{z{||}||{|||z|||{|{|||||||{|{{{{||||||||||}|||{{{{||}|}}|}||{|{{{{z{||||{}|{|{|{{|{|}|}{|}}||{{|{{{{{||{}|}|{{{{{{{{{|}||||{{z{{z{{{{{||{||{{{{zz{{{z{|{||~}{|{}{}{|}||||}}{{{{{|{||}|{}||~||{{{{|{||{{||}}{{{{{{|{{{||{|{}{{{{||{z|{}|{||||{{zz|z{z|||{{}z{{{zzz{y|||{{{{{{{{zz{{{{{||y{{{z|{{{z{{{{{z||}{{{z{{{z{{{|{|{||{{z{zzz{|{|{{{||{zzz{z{z{z{|||{|{{{z{z{{z|{{|{{|{{|{{{{{{|{|{{|{{{{{{z{{}{|{{|{|{{z{{z{{{{{{{|{|{{{{{{{{||||{|{|{|{{{z{zz|}|{||||{|{z{{z{{|{{{|{{{z{{|{||||{|}||||{{{{z{|{}||}||{{|}|z{z{||||||}{{{{{{{{{||}|{}}{||z||{{|||{||}}|{|{{{|{{}||}||}}z||{|{||||}|}|||||{|{{{||||||{||{{{||{||}||||||||{|}{{{||||}||}|{{{{{{{{|||||{|}{{{z{{z||}|||{|{{{zzz{{{|{||}}}~}||}{|}}{|}}}}}}|{|||{{}}}|}}}}{|{{{|}{||{|}|}||{{|z{{{{||{{{||||}z|{z|{||{{{|||{|{{{{{{}{{{|{{|z{{z{{|{{{{||{{{{||{{{{{{|}||{{z{{{{{|zz|{{z{{{{||{{{{{{{|{{{||{{{{z{{z{|{{{|||{{{{{{{{|||{{}||{{{yzz{{{|{}|}|{{|{{{z{{{|{|{|||{{{{{z{|||{{||}}|zz{zz|{}{{|}|}|z{|{|{|{{|}|}}|||{{{{z{{{|||{||{|{||{{{z|{}}|z}}|{{|z{{|||||{|||{{{{{{{|}{|}||}{{|{||{|||}||{|}|{{{{{{{|||}|||||}{{|{{|{|}}||}|||||{{|||||||||||||{|||{||||{|||||{|}{{||}|{|{|}{||{||{|||||{}|}~||{{|{{{{||||||}{z{|{|}{{}{~|{|{|||{{{{|||}|{||{{{z|{{{{{|{{|}}}||}|||}}}}}|||}}||{|{{{{|}|||||}}|{{|{{{|{||||||}{{||{{|{{||{|}|}{|{{z{{{|||{{|{|z{{{{{{{|{||{|{|{{{|z{{}||{|}{|{{|{{{zz||{}{|{|{{{zzzz{||{{{||||{{{zz{{z{|{|||{{{|{{zz{{{|{{|||{z{{z{z{|||{{{{|{{{{{z{z{||{||{|z{z{{||{{|{{{}}{{{{{{y{z|||{{|{|{{{{zz{{{|{|||||{{|z{{{{{{{{{{|}|{|{{{z{|{{|{|||{||{z|{z|{||{}{{{{{{{{{|||{|{||{|{{{{|{{|||||||||{{|{||{{|}||~||{z|{|{{z|||}~|||{|||{{||{}|{}{||||{{|||{{|{}|}}||{||||{{{}||}|~}|{zz{{{{||||||}||{{{||{||}||||}|{{{z{{z{|{||{}|}|{|{{{{{{}{|||||{{|{{{|{{|||||{}|{|zz{|{{||||~|}}||{|{|}}{}|{}|}|||{{{{{||||||}|||{|{{|{|z{|||{|{{{{|{{{{{{{{{||{z{{{{{z|{|||{{{{{{z{z{{{|{{|}{{{z{z{zzz|{{{z|{{|zz{z{z{{{{||z|{{{zz{z{{{|||{{|{{zz{z{{z{{{{||{{z{|zz|{{|z{z{z||z{{{|{{zz{{zz{|||zz{{z|z{|{{{||zzy{{z{zzyz{|{|{||{{{{{{{{|{{z{|}{{{{zz{{{|{{{{||{z{{z{{{{|{|{|||z{z|{z|z{|{}|{|{{z{z{z{zz{|{||||{{{{{{{{}{|||||{{|{{{{|||{|||{|}{{{{{{{z||{{|||}|{{{{{|{|}|}{|}{|{{|{{{z||{||}}{{z{{{||{{|{}{|}|||{{|{||{}|||||}|{z||z||||}||}|||z|{{z{|{|{{|}}|{{{z||{{|||}{{{|{{{{|{|{{|{||||{||{{{{zz{|{||}|||{{z{{{{|{{{{}}}}||}||||{|||}|}}}|||{{|||||||}}}}}||{{zz|||{||}}|{{{{{{{{}|||||}{||z{{{z{{|{{{z||{{{{{{z{||{|{||{zzzz{{z{{|{{{{{{{{{{{|{{|{||{|{z{{{{zzz{{{|{{{{{zz{{{z{{{|{{{{}{{z{zzz{|{|||{}{{z|{zyz{{{|z{|{{{{|{z{zz{|{{{|{{{{|y{{y{|{{{||{|{{{{|{z{|{||{}||{{{{{{{|{{{||||{{{|{{{z{|{||{{{{|{z{|z{{|||{{||{{{{{{z|{|{|{||||z{{{{{{{|||{{||{|z{{zz{{||||{{}|{{{{{|z|{||}|||}|{{||{z{|{|{{|||{{{{{|{{|||||||||{{|{|||||||}|||{{{||||||}}|||}}|{{|{{{{}}|{|{{|||{{{|{{|||}}||{{{{{{||{||{|||||{|{{{{z}|{|{|||}|z{{z|{||{|{||{{{|{z{z{{||{|{~}}|}}}||||}}}~}}}}|||{|z{{|||z|||}}{|z{|z{|||{}}}|{{{{{|{{||||{||||{{{z{{z{}||z}{{{{|{{{{{{{}{||}|{{{z{z{z|{{{{{{|{{zz{z{{{y{{{|{|{{{{{{zz{||{{{|{{zz{{{{z{{||||z|{{{{{{{z{{|||||||{{{{z{z{{|{{||{|{|z{z{zz{{}{||{{z{{{{|z|{{{|||||{zz{zy|{{||||||{{{z{z{{|{||{|{||{|z{{{||{||||{{|{{z{{z{{{||||{|{z{z{zz{{}||||||{z{z{{{{{{|||~|{|||{{|{{|{{|{}|||z||||{{{|}}{||}{|{|{{{{||||{{|||zz||{{{|}|||||{{}|{{{|||}|||}|}}{}|{||{|~|}||}||||}{{{|||||{{||{|||z{|{|||||}|}|{{|z|{{|||||}}|{||{{{|{|{||||}|{|zz{z{{{|}||{z||{{{{z{{|||{|}}}}}|}|}|||}|{|}||}|}{|||z|{{|}|}}{{|{|z{{|{|{|{}||||zz{{z{|||{z}{{{{{z{{z|{{|{{{|{z|z{{{{z{|{|||{zz{z{z{z{{|{z|z|{{{z{|{z{{z{zz||z{{zzz{zz{{{z||{z{{{zz{z{{{{{{{{{{|{zz{z{{{z{{|{{zyzzz{z{{{{{{{||z{{{zy{{{{z{|{{{z|z{{{{z{z||{|||{zz|zz{{{{{{}{{|z{{{y{y{z{{|{{|{z{{{z{{|{||{||{{{{{{z{z{|{||||}{z{z{|{{{||{{{}{zzz{{{{z{||{{||{{{zz|z{{|||}|}}|{|}{{{|{{||{{||{|{{{{{{{{||{{}|||{|{{{|{||}||{|{{}||{||{{{{|||}{}{z||{{{}|||}|||{|{{{z{|{|{|||{{|{z{{{{||{|{|{||}|{{|{{|||{|{|||z{{z{{{{|}{{{{}}|{{{|{{{z{||{||{|z{{{{zz{{{|{~}}||}{|||}}|}|~~}{{|||z{{||{~{{|}||{z{{{||{|{||}||}|{||{{{|||{{|||{{z{{{{{{|}|}{}{zz|{{z{{{{|{{||{{{{{{{z{{|{{{{{{zzzz{{{{||{z||{{z{zzzz{z{{{{{|zz{zz{zz{z{{z||{{{zzyz{zy{||||{||{{zz{z{z{{|z|{{|||{{{z{{{{{{{|||z{zz{{z{{{{{{|{{|{{z{{{z{{{{{||}{z{{|{|{{|{z{||}{{{|zz{zz}{||||||{{{|{{{{||{||{{{y||{|{{{|}||||{{{z|{{{||||{{|||{{{z{z{{{{|{}||{{z|{z{||||{{|{||{{|{{{{{{{{||{|||z{{{{|{|}||{||||{}|||{{{{|||}|}|}zz{{{{|}|}||||{||{{{{{|||}{|||{{|{z{z||}|||{{}}{|||{{{}{{{|{{|{}{z{z{{z}|{{||{{{{z|z{{|||z|{}|{|{{z{{{{{{||}||}~|||||||}}~}|}}|||}||{{{||}|}}}{z{{|{|z|{{|{||||z{{}{{{{{||{{{|{{|{z{|{{|{{{|{|{{{|{{{{|{{||}|{{{|z{z{{{|{|{{|{{{z|z{{z{|{{|||{{{{z{{{z{{|{|{|{z{{{zzzz||{{{{|{{{{{zz{|||{{{|{{{zz{{{{z{{|{{}|{{{{{{{{{{||{|{{|{y{|{zz{{{|{{{|{zz{z{{{z{{{{{{|}{{{{{{{|{|{{z|||zzzz{{yz||||||||{{{{{z{{{|{|||||{{|{z|{|||}{|{||{{|{{{{{{|{{{|{{|{{||{||{|{}||||{{z{{||{|{|}|{|||{z|z||{||||}{~|{{|{{{|z|||{|}}||{}|||{|||{|||}}||||{||||~}}||}||||{|{{||}||}||||z{{{{{{z|}|}{|||z|z{|{{|}||||{|{|||{{{{|||||}}||{{{{zz{}{{{||||{|{{{z{{||{{|~|}~|||||}}}~|}}||}|||{{}||||}}|}|}{|}|{{{||}|{||}||z{|{{z|||{|{{|||{z{z{|||{{|{||}|{{{|{{{{|z|{|{|{{|{{{{z{z{z|||{z{{{z{z{|{z|||||{zz{{zzz{||{{{{}z{{|{|z{{|{{||z||{{zz{{z||{{{|||{{{{{zzz{{{{{{{z{|{{zz|z{|{{{|{{{{{z{{{zz|{{{|||{{{{|zz{{|{||{|||{{|{{{{|{{||||}{{{{{{|{{{||{{||z{{|{{{{||{||||{|{{{|{{{{||{{|||{|{{{{zz|||{||||{{z{{{{{|}||{|||||{{{{z|}{{|{|}}{{{||{{{|||||}}||{z|||{{}|{||||}{{|{{||{{|||||}||{||||{{|}|||}|||z||zz|z{}{}{}|{|{|{{{|{||{|{|}||||{|z{|||}|{}}|{{{|{|{{{|||{|}||{{{{{{{{||||{||{{{{zz{{z{|{{~|~|}||}|~{}}~}}|}~|{{}|{|{|}||}||{|{{{||||||||||}|||{{{zz|||{|||||{{{{z{{z|}||{}{|{z{{{|{{{{||z||{z{{zzz{{{{{z{{{}{z{{{z{{{{|{||{}z{z{z{z{{{{{z|||{z{{zz{zz{{{||{|{{z{z{{{{{{{|{||zz{|z{z{z{{{{|{}{{{zz{{{{{z{{|{||{|{z{{z{{{{{{|{{zz{{y{z{{|{|}|}zzz{{{{{{{|{||||{zzz{zz{{|{{||{|{{|{|{{zz{z|||||{{||{zz{{|{{|{|||{{{{zy{|{|{{}|{|{{{{{{{|{|||{||{{{{{{|{||||||{|{|{{{{{{|{z}}z|{|z{|{||||||||||}{{{{||||z{|{||||||{{||||{}|{|||{|{{|{{}{|}||||}{|{{{{{|{||{|}{||||{||||||{|}|}{||{z{{{{{{|{||||||{{{{||z|{||||}|{z{z{z{z{||{{~~~}}}}|}|}|}}||}|||}||{{{{||~|{|{}|{z{z{|z||{||||}||{||||{|{||{||||{{z{{{{{|{||||{z{|z{{|z{||{|{{{|z{{z{{z|||{{{||{z{{{{zz{{{|{{{|{z{{{z{zz{{{{{|{{zz{y{{zz|{|{||{{{{zy{zz{{{{z||{{z{{{z{z{|z{{z{{{z{{{{z{{{||z}||{{|{{{z{{|{z{||{{{{{{{{|{|||{{|{{{|zzzz{|||||{||{||zz{{z{{{{||}}{{{{z{|zz||}|||{{{{|{{zz|||||||{{{|{{z{z{}{{{||{z{{{{{{|||{|{|{}{{{|{{|{|||{|{||{||||||z{|}}}}|{|{|{{{{{}{|~|||{{{{{{||{||{{||}|}{|{z|z{{}{|||||{{{|||{z||{||{}}|{{{{{{{{{{|{{|}{{||||||{}}|}|||{|{{|{|{{z{|{||{{{zz{{z{|||}{|||{{{y{z{zz|{{{~}~}}}}}}||}}}}||}}||||||{|}}|}|}|}}{|{{||z||{|{||{|{|z{z{z{||||||||||{{{|{{{{{z||{{{{{z{|z{{z{}||{{{{zz{z{|z|||{|{zzz{|{{z{{{|{{{|{zz{{zz{{|z{{|{{{z{{z{{|{z{{{{|{{z{{zzz{z{z|{{||{|{{{z{{{zz{z|||zy{{{{zz{||{|{{{z{{{{{z{|||{|{{|{{{{{z{{||{{||||{{{|{z{{||{{{|||zz{z{{{z|z{{{{}|||zz{z{{|{|{|||{{{{{{{{{|{||{{{|{|{{|{{z|}|{z|||{|{{{{{{||||||||{{{z|{|{}|{}{|||{{{{{{z|{||||{|{|z{|{{{{{|{z|}||{|{||||{{|z|{|{}|z|{{|{{|}||{|||}{{|{|{|}}}||||||{{{||{|{}|||{|}||{{}{{{||{|{|||{||{|||{{{||||||||{{{|{{|{{|{{|{{{{zzzzy{||{|~~~~~~}|}}|}~}}}}}||||~|||}|{|}||}~||z||{|||||}||{||||{{{|{{||{{|}}{{|{|zy|{|}{|{|{{{|{|zz{{|{||||{{{{{{z{|{|{{||{zz|{{{{z|{||||{|{{{z{z|z{|{|{|}{z{|{{|{{|||{|{||{{{{z{z{|||{||{|{zz{{{{{{{{|{{{||z|{{zz{|{{{||||{z{{{|{z{{|{||||{zzz{{{z{||{{{|||z{{{z|{|||||||}z{|{{{{{{{|||||||z{{|z{zz||}||}|{z{{{{{{{||||||||||||z{{|{}{{||z{|{||{z{||{}||||{{{{{{|{||{}|||~{{{{{z{{||}|}{|{|z|{|z{{|||{|}|~{|||{{||||||{||z}||{{|{{|}}{|~||}|{|{|{|||{|}||||{||{{{||||||||}}{|||z{||||{||||{|{{{{|{{{|||}}|}|{z{{{{{||||{||{|z{{|}{{||{z~~|}~|}||}}~~}|}~~z}{{||{{}|{|}}|}}||{|{|{||}||||}||{|{{{{|{||{{}{|{{{z{zz|||{{||||{{zz{{z{{{{{|z{|{z{{{{{||{{{}{|{{{z|{{{{|{{{{||{z|zzy{{{||{|{||{zz{z{{z{|||{{}|{{zzzz{{{{z{|{}{|z{zzz{z{|{{{{{{z{{{{{|{z{|{|{|{{{z{z|zz{||{{{{{{{{{{{{|{{|{{|{|z{zz{z{{{{|}|}{}{{|{{{{{{{|{||{||z{{{{}{{{||||||{{|{{{{{|{|{|||z{z{|{{{{{{{}||||{{z{{{z{||{|}}||{z{{{{{{{|{{|{|||{{|{{z{||||||||{{z{{{zz||||{||}{{|{{||{{|||}|{|}{{{|{{{|}}||{|{|{{{|{{|{{|}||||{{||{z|{|||||||}|}{{|z{|{{{|}}|}{|{z{{{{||||{|}||}zz{z{{{{}|{|||{|{{{z|{{{||}~~}}~}}|}|}}~~}~}}}}||{|||{{{}{|}}|||{z{||{{{{{}}}||{||{{{{{||{{{||z|{z{{z{{|||{{||{{{zz{{z{{|{{{{{{{{{{zz{|||{|{|{{z{zz{{{{z{{{{||zzz{{{{zzzz{|||{|zz{z{zzzz{{{z|{{{{{zzzz{|{{|}{{|{zz{zzyz{{{{|||z{{{{z{{{{}{{{{|{zz{{{z{{z{{{{||{{{z{z{{{{{|||{|{z{|{z{z{|{{||||{{|{{|{{{|{||||{|{{z{z|{|{{{{||}{{{z{{z||{{||||{zz{{z{z{{{}{{||{|{{z{|{z}{}|}|||{|{{{|{{||||{||}|{{||{{{|{|||{{||{||||{{||||{|||{||{{|{{{{|{|||||{||{{{{|}{}|||||{{{{|{{}}||||{|{z{{{{z{{|||}}||{{||{{{{{|||||||{|{{|{{{{{z|||{|||{{{{|{|||{|{|{{{{z{{z{{{|{{}~~}~~~|}~}}~|}}~|}{|}||||}}|}}}}}}||||||{}|{|}}}|{{|z{{|{|{{|||||{{{{z|z{{{}|}||z{|zzz|zz{{{|}|||{zzz|{|{||{z}||zzzz|{{{zz{{{{||zz{z{{z{{}{{{||{{{z{{zz{{{{{||{||z|zz{zz{|{zz|{{{z{z{z{z{z{{z|{{{{{{zz{yz|z|{||{{z{|{{zz|z{|||{}|z{{{{zz{||{||||{z{{{{{{{|{|||||{{{|zz{{{||{{|}||{{{|z{{|||{||||||{{z{{{{|{||||{z|{{{{{{{||{|||{|z{{{z{z|||||||}|{{{{{{{||{||{}|{|z{{{{z{||||}||{{||||z{{||||||}|{|{|{||||||||}|{{z{{|{{{}|||}|||{|{|{{{||||{|{{|{||{|{|{{||}|||}|{|{{{{|{|||{|{|{zz||{{|{{{||||{|{{z{|{||{||||{{{{{{{z{{{|{{~~~}}}}}}}|}}|}|}}}}|||{||}}}{{}|~||{|{{|{{|{|{|||{{{{{z{{{|||{||||{}z{zz{|||{{|||zzz{{z{{{|z{z{{{{|{{zzzz{{{zz{{{zz{zz{z{{{{{{|{|{{z{zzzzz{{|{{|{{zzzzzyz{{{z|{|{zz{{zzzz{{|{|{|{{z{z{z{zy{{{{|{{zz{z{{{z{{{{z{|{{z|zz{{{|{z{|||||z{z|z{z{|{{{|||{z{{{{{{{z|}{|{{z{||{{{{{||{{|}|{{z{{{{{{||{{||{{z{{{{{{{{|{|||z{|||{{|{|||{{|{||z|z{{|{|{||}|||{{|{|||{{{|||}{||{|{{{{z|{||{{{||{{{{{{|||||{|||||{{{{|{|}}{||{|{{{z{{{{|}{}||}|{{||{{{{|}}{||}{|{{||{z|||}}|||||||{|{{||{||{|||{{z||{{{{||||||}{{z{{{{{|{|||||{|yz{{{{{{|{{{~~}}~}~}~}~~}|}}}||||||||}}||}}}||||z||{}}{}~}{|{{{|{||{}||||||{{{||{{|z{z||||||{|{||{{z{{{{{|{{|{z{{z{||{{{{||z{{z{zzzz{{|{||{{{{zzz{{{{{|{|{{{z{{{z|yz{{{{{{|{{z{{{zzz{{{{||{|{{{y{{{z||z{{{{{{zz{zy{{z|{{|{{{z{{{{|z{{{{||{||{{z{{zzz{{{{{{|||z{z{{{z{|{{||||zz{zzzz{|{{|{|{|{{|{{{{|{|||{{|{{{{{{{{z|{{|z{||{{{|{{z|{{|{{{||{{{|}{||{{{|||||{|{{{{{z|{{|}}|}{|||{z{z{|{{||{{|{{{{{{{}||{{|||{{||{||{{}{|||}||{{|{{z|{|}||{}||z|{{|{{{|}|{|||}|{|{{z{||||{|}||{{|}|z|||||||||{{|z{{{{{{|{||{|{|{zz{{z{|{|{|||||{{|{{z{|||{}~~}~~}~~~~}|~|}~}||}||}|{}||}|}}{{{|{|||}|||}|||{{|{{{|{{{{||}|||z{z{{{|||||{||z|{z||{z{||}{|{|{|zy{zz{{}{||{zzz|{z{{z|{||{||{{z{zzz{z{{{||{{{{{{{z{{{z{|{|||{|{z|{|zz{|{|{{{|{{z{{zz{{|{|{|}|{{zz{{{{{|{{{{{|{{{{{{z{{{|}|||||{z{{z|{{||||{|||{{{{{{{{|{|{{{|{{{zz{{{{||{|{}|||{z{{{{{|||||||||{|{{{{|||{{{|{{{{|{{z{|{||}}|||{{|{{|||{||||||{|{{|{|{|||}||||}{{|{{{{{||||{}||{|{|{|{}|}|}|}}{||{|{|||||{|}|~|||||||{{}|||}}{|||||{{|{||{||}|}||{|{{{{|}|{}|}{{|{|{{{|||||}|||{{{{{{{{|||{|||||{{z|{{|||}|||}{{z{{||{|||{{~~~~}~}}~~~~~}~}{}|{|}}||}||}}||}{|||{||{|}}||}|{|{|{{||}|{}|||{{|{zzz||||{{|}{{{{{{{z|{|{|||||{{z{{{{|{|{{{{|yz{{z{|{{{|{z{||z{{{yzz{z|{{{{{{z{{z{{z|{{|{|{{|{z{z{{{{{|{|{{||{{zzyzz{{|{{|{|{{{{{{{z{{{z{||{{|{||z{zz{{{{{{|||z{{{{|z{{{{{z{{{{{{{z|{|{|{{{|{{{{{{z{{||||{||}|{{{|{{z{||}|{{z{{{{|{{{{}|{||||{z{|z{{z{|||||}|{||{{|{||}|||||{{{|{|{{|{{{||{||{{{{{|{{||||{}|||{|}|{{{}||{||}}{{||{|||}z}||}|}}{{|{|||{}|}}|{}||||z{||}||}||}|||{|{{{|||{|}|}||||{{{|{}|}||||{{{{{{||z||||}|||||z{{{{z|}|}||||{||{|z{||{{|{~~}~~~~}}~}~}~~}}|{{|||{{|}}|}}|{{|{|||{||{|||||zz{{{{z{{{||{{||{{{{||{z|{{{||{{{{{zz{{{{|||{{{{{{{{zz{{{|||{|{{z{{z{{{{{{{{{{||{{yzzz{{{{{{{{{z|zy|{zzz|{|||{||{{z{zzzz{|{{{z|{{{{{{z|{{{{{||{|z{{z{{{zz{{|{|||{{{{zzz{z{||{{||{{z{{z{{z{|{{||{{{{{{z{{{{{|||{|{{{|{{zz|{|{|{||{{|{{{|{{|||}|{||{{{{{zz||{|{||{{|{z{|{{||||||||{z{{{{{{|{||{{{|{{}z{{|||||||||||z{|{{{|||||{|{||{{{{|{{||{{||||{{{|{{{{}||}||}}}|{{z{||{||||}}}||{}{z{|||{||||{{{|{||||||||}||{{{|{||{{||{||||}|{{|{|z{||{{||}}||{{{{zz{|||{|{{{{{z|z{z{{||{~~~}}}~~~~}}}||}}}|{z|}}|}~}}|||{||{{|{{|}||||||||{{z|{}|{{|||{{{zzz{||||||{|z{{{{{{z{|{{{{|{{{{{|zz{z{{{z|||{{zzzzzz{|{{{{|{zzzz{z{yz{{{{{{{{z{{{zy{{z|{||||z{{{zzyyz{{{{|{{{zz{z{{zz|{{{|{}|yzz{{{z{|{|z}{{{{|z{|{z{{||{||{|{{{{z{{{{|{{{{}{{z|zz|z|{{{|||{zz{{zz{z|{{{{|{{{y|{{z{|{||{{{||yz{{|{{{{{{{{|}||{z|{{{z|||{{{{|{|{{|{{}{||||{||z{{{{z|{|||{|||{z{{|{{zz||||}||{{{{{{zz{||{{||||{{{|{{||{|||}{|||{{|||{{|||{|}}||{|}{{zz{{|||||||{z{{{{{{|{{}|}|{{|||{|||{||||||{{|{||{{|}|{{|||{{{{z{{z|||||{|{|{|{|{zz|||{{~}}~}~~}}~}}}||}|||}}|}~|}|}{||{{{{|||{||}}|{{|{{{{|{{{|{|{~{|{|{{{{|||{|{{}|{{{{{{z{|||||||z{{{z||{{|{{{{|||z{z{{z||{{{{||||{{{zzz{{|{{{{{z{z{zz{zz{{{{{||||{{zz{z{{|{z{{||{z{{{{zz{|z{{{{{{|{{{{{zz{{{{{|{{z{{{{zz{{|{{{{||zz{{{{z{{{{{}|{|z{{{{{{z{{|{|||{{{{zz{{}{|||||{|{{{|{|{{}{|{||{|{{}{{z{|{|||{{|{z{{{zz{|{{|{|{{{{|{|{{{||||}||}||{{{{|{{||{{}{||{{||{z{{|}{}{||{{{z|||{|}||||{|||||z||{{{|||||||{{{{|{{|}}|{||}|{||{{{{|||||}||{{{|{{|{}{|||||||||{{{|{}|||{}{|z|{{|{{z{|||||||||{|zz{z{|}|{{{|{|{{{{{{{|{|{}~}~~~~~}~}}|}}}}|{}|}}|~}|||z||{|{}{{||||||z{{{{{{{{||{|||{{|y{zz{{||{||{|zz{{{z{{{|{{{{||{{z{|z{z|{{{{}{{{{z{z{z{|{{|{{||zz{z{z|z{|{{{{{{{zz{zz{{{z{{{{||{{zzy{zzz{{{|{|{zz{zz{zzz{{{{{|{{{zz{{z{{}z{{|{|{{z{{{zz{|{{{{{{{{z{{{{z{{{{|{||{{{{zz{{{||{{|||{{|zz{z{{{|z|{||{z{|{z|{{{{|{||{{{|z{{{{{{|z{||{|{{{{z{{||z{{||{{|{{{||{{{{}||{|z{{|{|{{|||{|||||{{{{{{{|||{|{||{{z{{{{|||||{||~{{{|{{}|{|||||}{|||{{{{{{}||{|||{|z{{{z|{|||{||{|{{{||{{}||||||||{||{zz|~{{}{{|}{{{z{|{{{||{||{|{{{{{{|z|||{|{{|{{{zzzz{{|{z{~~~}~~~}}~~}||||{||}|}}|||}|{||{|{|{{|{|}|}}{||||zz{||||||{{{|z{{|z{{{{|{{}{{{{{y{y||{z{{|{|{{{{{zzz{{{{{{{{{{{{z{{{{z|{}{{{zz{{{{{{{|{{{zz{zzyyzzz{{|{{|{|{z{zz{{{{{{{}||{{z{z{zz{{{|z{{{{{{zzz{z{{{z{{||{{z|z{{zzz{{{{{{|{|{{{{{|{|{{{z{|{{{{zzz{|}|{{|{{{{|{{{{z{z{|||||{z{{|{{{z||||{{|{||z{z{z||||{}|{{|{{{{z|{|{|{|||{|{{{{z|{{|}{||{{{{||{{{||{{||{|{{|{{|{z||}||{{||{{{|{|}{{{}{}|}{z{|{|||||{}||}||||||{|{|||}}|||}|{||z|{||||||||{z{{|{{|||||||}{{|{||{|{||{||||}{{|z{}z{{|{||||{|{{{|{|{|||}{|}{{{{{{{{{{{{{{~~~~~~}~~}}~~|}|}{{{|}|}}|~|||||{{{||||{||||||{|{{{{z{{||{{{||z{{{|{z||{{z}{{{{zz{{{zz{{{|{|{{{z{{{yz{z}{{{{z{{z{{{{z{||{{{{zzzzy{{zz{|{{|||{z{{{zz{z{{|z{{|{{|zz{{zz{{||z|{|{z|{{z{zz{{{{{|{|{{{zz{{{|z{{|{|{z{zyz{z{{|{{{|{|{zz|{{|||{{{{{|z{{{zz{z{{{{{{||zz{z{{zz{|{{|||{{|{{|z{{{||{{|{||||z{{{{z|||{||{z{{{z{{z{||{{|{{{{{{zz{{|{||||||{{y{{{{|{|||||{||{{|{z{z|{|{|}|||z{{{{{{||{{{|}||{||{{{{{{||||||||zz|{{|{}||{|||}{{{{|z{|||||||{|{{{|z{{{||{||}||{{|{|z{||{}||{|z|{{z{{{{|{|{}||{|{z|{|z||{}{||{{|{{y|{{{{{{{~~~~~~~~~|}}||}}|}}}}}|||{|z{|{z||{{|||{{{{||z|{|{{}{{{|{{{{{z{z{{{{||{|{|{{{{{z|{{|{||{|{{z|z{zzz{z{|||z{zzz{zz|{{{||||{{zzzyzz{|z{{||{zzzzzzz{z{{{||{{zz{zz{{z{|{z{|{z{{{{{{{{|{zz{{|z{z{{zz{z{{{|{{{{z{z{{{{z{z|{||||{{{{{z{z|{{|{|||{z|{|z{{{{{|{|||{z{z{z{{{|{{{|{{{{|{{yzz|{||{{}|{z{{zz{{z{||{{|||z{{{{{{z{|}|||{{{|{{z{{|||{|||||{|{{z|{{{{|{|{||zz{|zz{{}{|{|||{{{||{{{|}|{{|}{{{{|{{||{|||{||}|{{{z{{{}}z{||}||{{|{{{z|{||}{||{{{|{{{{|||{|{||}{|{||{{|||||||}z{{{{z{||||||{}|{{{{{z{{{|{}z||{{{{z{z{|||||{~}~~~~~~~}}}}}}|}}}|}|}}|{|{||{||||{}{|{|{{}z{|z||||{||{{{|{{{zz{|{|||{{{{{z{{{z{{||{||{{{{|z{|z{|{{{|{|{{z{{z{{{{{|{{{|z{{|zzz{z|{{{{{{z{y{z{{z{{|{{{||{z{{{{{{z{{{|{|{{{{{{{{z{{z{zz{|z{zzzzz{{|{z{|||zz{{z{zy|{{{{{||{{|z{z{{|||{{|z|{zz{{z{{{{{|||{{z{{{{|{{|{|||}||zz{{{z{{{{{{{||{|{{|{{{z|{}|||{|||{{{{{{|||{z}|}|z|z|{|{||}|||||{{|{{{|z|{{}|{{}{{{{{{{{|}|||{}||{|{{{|{||{}|}||||{{{{{|||||||||}{{{z{|{|}||||}}|{||{{{}|{{|}||}|{{{{{{|{|||}|}~|||{|{{{{}||||||{|{{z||{{{|{|||{|{{{{z{{||{}{{{{{{{{{|zz{z{{|~~~~~~~~~||}||}|}}~||}|}|||{{|{||{||||}|{{||{{{{|{|{|||||{{z{{{|{||{||{|{{{{|{||{|{z|{||{z{|{{z}||{|||{{|{{{{{|{{{{{{{||{{z{{{z{||{||{z{z{{{|zz|||||}{{}|{z{{z{{|{{{{{|{z{{{{{{{{{z{{{||}{{z{{z{{{{||{{{z{z{|{{z|{||||{{z|z|zz|{{{{{|||{{|{z|{{z{{{|{|}{{z|{{{{{|}|||}|z{{{{|{{{|}||||}{{{{{{{{{||{{{}||{{{{{{|{||{{|{|{z{|{{|{|{||}||}|{{z{{||||{|{||}{{|{{{{{{{|}||}|{{|{{|{{|}|||}|}|||{{|{{||}}||||}{|{{|z{|||}}}}{}|||{||||}}|}}}}{{{|{||{{}|||||||||||||{{|||}{}|||{{|{|{{|}}|}}||||z|{|{|}|||z}{|z|{{{{{{|||{~~~~~~~~}}}}|}|~}}|}|}~|{z{|{{{|||{||||{{|{{{|{{|||{{||{{{zz{{z{z|{||{{z{|{z{{z{{{{||{{{{{z{zzz{{{|{z{zz{z{{{z{z{{|{||{{{{z{z{zz||{|{}|{{{zy{zz{{|{|z|{|{{zz{z{{{|{z{{|z{{{{z{zz{||z||{z{{{{z{z{|{|{|{{{z{{{{{z|||{||{{{{z{{{{{{{{||{|{{{z|{{{{{{|{|{|||z{z{{{{||||||{||{{{|{{{{{||||||}|{z|{zz||||{||||{z|{{z{||{|{}{{{||{{{z{||{|{}}|z{{{{|{{{|{|{{|}|z{{{{z{||||{|{||z{||{{z}{|{{|||{||{{|{{{|{||{{|}{|{{{|{||}{|}}||{{||{{|||||||||}z|{{{{{||||||}}|||||{{|||||{||||{|{|{{{{{||{||||{{|{{{{|}||||{|zz|{|z{z{||||~~}}~}~|{~|}||}}||}|~}||{|{|||{{|||}||{{{{{{zz|}{|{{|{{{{{{y{{|z|{{|||zz{{{z{z||z{z{{{{{z{zz{{{{|{{{{{|{zzzzz{{{{|{{{{z{zzzz{z{{{{|{{{{{yz{{y{z{{{|{|{{z{{z{{z{{{{z{||z{{z{{{zz{|zz||}{{z{{{{{{{{{{|{{{{z{{{z{z{{|{{|{z{z{|zzzz|z{{{{|{z{{z{z{{{||{|{||yz{z{{{{}{{{{{||{|{zz{z{|{||||{{z{{{{zz|||{{||{zzy|{{{z|||{{||{|{{|{z{{{}{{}||{{z{{{{{{{|||{|{{|z|{z{{z||}{||}{{{{{{|{|{|{|||{}{{{{{{|{||{|||{}||{|zz{{{||||||||{{{{z{|||{|{{|{|{{|||{|||{|{|{}|{{|z|{{{|{|{{{|{zzz{{||{{{|{{|{{||zz{{{{|{|{|||{{{{{z{z{{|{{~~~~~~~|}~}~{}||}|}}~}}||||{}{{|||{||}{||{|{zz{{|}||{|{|{||{|{{|{||{{|}{{{zzz{{{|{{{{|{|{z{z{{{||{{{{|{{{zz{{{z|{z|{|z{zzz|z{z{||{{{||{{z{z{zzz{{||{|{{{z{z{{z{z{|||||{{zzzzzzzz{{{{{||{{{z{z|{{{z{||{|{z{z{|{{{{|z{|{{|{{z{{{{{{|||{|{z{{{z{{{{||{|{{}{{{{{z{{|{||{{|||{|{z||{{|||{{|z{{|{{{z{{}|{{{|{|{{z{{{{|||{{|{{{{{|{{{{|{|}|||{{|{{z|{|||||{}}|{{{{{{{z|||{{}|{|{zz|{{{{||{||||{|||{{||{{|||}{|}{{{{||z||||||||}{{{{{||{|{{}||}{z{|{{z|{{{{|||{||{{|{|{|||||{|||z|z{{z{|||}|}|}||{|{z{{{|{|{{{|{{{{{{zz|{{{{~~~|||||||}|~}}}}}|||||{|{}|||||}|}{|{{z{{||||{{{{|{{{{{{{||{{{{{|{{|z{z|{||{z{||{{|{{{{{{{{|{z{{zz|{{y{{||z{{z{{|{{{{{z{z{{{|{|{{|zz{z{z|{{||{{z|{z{{{zz{{{||{{|||z{zz{z{|{{zz{{|{zz{{z{{z|{{||{{{{zz{{|{{{{|{{||{{y{|z{||{|{{|}|{z||{z|z{{|{|{|}{{|{{{z{||}{|{|{{{{{|{{{{{{|{||{{|{{z{zz{|}||||||{{{{{{|{||{{}|}{{|z{|z{{||}||{|{{{{{z|{|{||{||||{{|{{{{|||{||}{}{{{|{{||||||||}{|{{{|{|||{||{}|||z|{|||||||}|}}|{{{{z|{{|||}|||}|{{z|{|||||}||||}|{{{{{|||}||}|{||{{|z{{{{||||{{{z|z|{{|||{||}|{{|zzz{{|{{|{~}}~~|}||||{|||}}|||}|||||{{|{|{{{|}{{{{|{zy{||}|{||{{z{zz{{{|{{{|||{{|{{{zz{z{{{{{zz{{z{zzyzz{{{{{{|z{{z{{{{{{{{{{z{zz|{zyzz{{{{||{{{{{|z{yzz|{z||{{zzz{|{z{{|zz{{}|{{zz{z{{z{|{{{z{{zzz{{z{{{{{{||}zzzzzz{zz{{||{{z{{z{{z{z{|{{{|{||z{z{z{z{{{{z{{}{z{{{z{zz|{||{{|zz{{{{{{{{||{{|{{z|z{zz{{|{{{z}{{zz|{{{z|}|{{{{{{z{{zz{{{|||||||{zz{z|z{{{||{||{|zz{{|z{||{|{||{z{{z{{|{}|{{{|||{{{{{||{{{|||}||z{{{{{{|||{||{|||z{||{{{||{||{||{{z{z{|z{||{{{||{{{{|z{{}||{{|||z{{{{{{{}||{{|}||{{{{z{{{|{{{{{{{z{{{{{zz{{||~~~~~|}||{||~||}}~|}|||{|{}{|||||{||{||{|{z{||{{z|||{|z{{{{{{|{|{{{|{{|{z{z{{{{z{||z{z{{{z{{||{{{|{|{{zz{{zz{z{{{{{|{z{z{{{z{{{|z|{{|zzzzzzz{{|{|{{|{{{zz{zz{{{{z{||z{z{z{z{{{{{z{{||{{{zz{z{{||z{{{{zyz{{zy{{{{{{|{{|zz|{zz|{{{||{||{{{{{z||{{{{z|}{{{zz{{{{|||{{||{{|{zz{{|{|{|}{|{z{{{z{{||||z{|{|{{{{zz{|{||{|||{{{{|z{{|{|}{|||{|{{{{z|||{|||||{{{{{{{z|||{{|{|}{{{|z{{||{|{}{|{{|z|{|{{{|||{|}|||{|{{{|~|}|||{|{{|{|}{{||}{{||{|y|{}|||}|{|}|||}|}|{{{{||||{||{||z|{{z|||||||||{{|{{{{{|||z{{|{{|zzz{{{|{z|~~~}~~}||}}}{}}}}||}}||||{|{|}}{{|||}|{|{{{{{{{{|{{}|{{{{{z{z{{|{{|{}{||z{{{{z|{{{|||{zzz{{yz|z|y|}|{{{{z{{z{{z{{{|{{{z|zz|{{{{z{{{{{|{zzzzzz{{{{|{|{{z{|zz{zz{||{{z|{z{{zyzzz{{|{{|{z{{z|{{z{{{{z{{{|{|zzzz{z{||{|{{|z{{{{{{z{{{|{{||{{{{zzz|{||{{{{{{{{{{|{{{|{{||{z{|z{{{{{{{{|||z|{zzz{{{|{{|||||{{{{z{{z||{{||{{{{z{{{|{{{|}||{|{{{{{z|{{|{|||{||{{{{{{z{{|{|{}||{||{{{||}||{|}||{{z|{|{{||||||||{|z{{{{{|}{||||{z{{{{{{||}||}||{{{{{{z||||||}||{{{{||{|{|||||{||{|z{z{{{|{{|||{{|z{{{{{||{|{{|{{{z{z{|{|{||{}}}~~}|}|}|~|}}}}}~|||{|{|||}{{{|||}||{{{{{{|z|||||{||z{{{z{{||{{{}{z{z{|{zz|{{{|{{{z{{zz{{{||z|{|||{{{{{{z{{{|{{{{zz{zzz{{{{|{|{|{z{{{z{y{{{}{{|{||z{zzzzzz{{|{{|{{{{z{{|z{{{{{{{||z{z{z{zz|{{||||zz|{{{{{{{||}|}|{z{{|{{{|{}{|{||{z{{{{{{{||{{||{{{z{{{{{|{||||||{{{{{z{z{|{{{{|}{{{{|zz{{|{|{|{|{{z{|{{{{|{{{|{zz{z{|z{{{|}}|||{{{{|{|}{{|{}|}}||z{|{{z{{||{|{||{{{{{{|{||||||||{{|{{{{|||{{|||}|{{|{|||{||||||}{{|{{{|{}{}||}{}|{|{{|{{{{||}||||{{|{{{{||{|{||||{{z|{|z||{|||{}{{z{{{{|||||{{||{{{{zz{{{|{z|~~~~}}}}}}|||~}~|}|}||{||{{|||||}}||{{|{{z{z{||||||||{z{{{{{|{{{{|{}{{{zz{{z{{||{{{{|{{{|z{z{|{{{{}z{{zz{z{||{|{||{{z{{z{{{{||{|||{|z{{{{{z{{{{||{||{|{|{{{{z{{{{||||{z{zz{z{{{|{{{|{{{{z{z{{{|{{||{z{{{{{{{|{{{|||{{{{{|{|{{|{{{|||z{{{zz||{||{|||{z{{{{{{{|{{{{||{|{{{{{{{{{{|}{||{z{|{{z{|||{|||{{z}|{z{|||{{{|{|{|{{{||{{{|||{}|{{z{{{{{|}{}{|}||||{|{|{{|}|||{}{|{||{|{||||}|}|{{{|{||||||||||}|{|{{{|{||||||}}|{|||{|{||||||||}{{|{||||{|||}||||{|{{||{||}|||{|{|z{{{{|||{{{||{zz|z{{|||{||{||{|{z{{{{{}{|{~~~}}}}}}~|}}~}}}||||{{|}|{|}|{{|||{z||||{{|{{|{{||{{{{|z{{||{{z||}|{{z|{{{{|{|{||{{{|zzzzz{{{|z|{zz{{{z{{z|{z{{{||{z{{{z{z|||{{z{{{z{zzzz{|z{{{||{z{z{zz{z{{{|z{{|{z{{{{|{z||zz|z}{{{{{{z{{{{{|||{z{{{{{{z{|{{{|}|{{z{{{{{{{{{{{{|{z||z{{{z{||||{||{{|{z{{|||||||{z{{z{z{{{|||{{{{{|{||{{{{|{|{|||{|{z{|{{||{{{}{}|{|||{zz|{{}||}|{|{{z|{{||{||{|}{{{{{{|{{||||}|||{{z{z{||{||||||||{{{|{{|{{||}}|||{{{}||||{|}{}||{||{{zz||{}}||||z{{{{{|{{|||||}||{|z{z|||||||||{{{z{{{||||}||||||{{{{|{{|{||}{|{{{{{{{{|{|{{~~}}}|||||}}}}||}}||||||{{|||||}|||z|{{{{{|||{|{||{{|{z{{z|{{{|{|~{z{{{zzz|{||{z}{z{zz{{z{{{|{{|{{{{{zzzz{{y{{{|{{{zzz|z{{{{{{{|{||zz{yzzzz{{|{|||{{z{{zz{{|{zz{{|{{z{z{|{{{{{|{{{{{{{{{zzz{{{{|{{{{z{{{zz{{{{{{{{{{{|{zzz{{{|||{|zz|zz{{{|z|}{|{{|{{zz{z{{|||{||||{{{{z|z{{{{{|{{||{{{{{{|{{{{|||{{z{{{z|||{||{{||z{{{{{{{{|}||||{{{{|{|{{z||||}||{{|{|z{||||}{|||{{{|z{{|||{||||{{{{{|{|{{||||||{{|{{{{||}|}}||||{{|{z|{||||||||{{{{||{|||{}|||||||z|z{|||||}|{}||zz{{|z{{{|||||{|z{{{{z{|||||||{{{z{z|z|{{{{~~}}}}}}|{~~~|}}}}}|||{{||}}{||}|}|||{{|||{{{|{{|{{{||zzzz{{|{|{{|||{{{{z|{|{{{||{{z{z|{z{|{{zy{{|{{{{z{z{|{{||{||{zzz{{zz{{|{{{|{{zzzz{zz{{|{||{z{{zz{z{z{|z{{{||{{z{{|zz|{{{{{{{z{{{z|{{{|{z{{{|{z{{{{z{z{|||{{|{{zy{z{{|{|{||{|z{{z{z{{|z{|{{{|{zzz{{{{|{|{{{{|{{{{{{|z{|{|{{|{|{{{|{{{{||{|{|{{{{{|{z{{{||{|{|{z{{{{|{{|||||||z|z{{{|{{||||}{}|z{|{z{{{||{|||}|{{{{{|{||||}||}{{{{|{}||{|||}|}|{{||{||}}{|}|||}||{z{|||{||{{}}|{{{|{{{{{{|||}||{{||{{}||{|{}{|{{{{||z}|{|||||{{|{{{z{z{|z{||||{z{z|z{{{{{{{~~}~~}}|}}{}||}|~|~~||||{|||||}|{||}||{|{|{{||{|{||}|{{||{z{{|{}{||{|{{|{{{y{{{{{|{|{|{{{|zzy{{{{|{{|{z{{zzz{{|{{{|z{{{{{{zz{|}|{{||{{zz{z{z{z||{{{{{{{|{{zy{z|{{{{|{zz{{|{|zzz||||{|{{{zzz{z{|z{{|||{z{z{{{zz{{{|||{z{|z{z{{{||{|{||{{z{{z{{{{|{{|||{{{{{z{z{|{||{|}{z{{|z{{|||||{|{{{{{z{{{{|{|{}|{{z{{{{z{{||||{{{{{|{{{{{|||}}|{{|{{z|{{{||{||||}{{z|{{{{{|||||}{}{{|{{{|||}||}}}||zz{||{|||}|||}|{{|||{||}|{|||{||{{{z{{|{|||{}||{{||||||{|{||}||{{{{{{{||||}}||z|{z{{{|{}|||}}}|{{{{{{z||||}|||{{{{zz{{z|{{|~}}}}}|}}|||}~}|}{{|||{||}||}}~|{||{||{{{||}|||}{{}|{{{{z{{|{|||{{z{{{z{{|{{||||{{{zz{zz{||{{|{{{|{|{{z{{|z{{{||{z{{z{z{{{{|{{{|{z{{{z{z{{||{{{|z{{z{{{zz{|{{||{{z{{{z|zz{{{{||z{z{z|{{{{{z{{{||{z{{z{{{{|z{{||}{{{z|{z{|z{{|{{}|{{zz{{||{{{{|{|{{{{zz{z{{||||||||{{{{|{{|{|||{||z{|{{{z|{|}|||||{z||z{{|}{{{|{|{z|{{||{|{|{||||z{{{{z|{||}}{|}|{z{{{z|||||}||||{{{|{{{{}|||{|||{{{{{||{|||||{}{|{|||{|z|}}}||}}{||||{|{||{|||}||{{z{|{{||}|||}}}{{{{|{{|||{|||}}|{{{{|{{|||||}||{{|zz{{||||{|||{z{zzz{{{z{|{~~~|}||}{|}}}|}}}~|{{{||||||||||||}{{z|{{{{|{{{{|}||{{{{{{|{||{{|}{{zz{zzy{zz{|{|{{{{{{{{{|{|yz|z|z{{zz{z{{z{z{|{|zzzz|zzz||{||{{|{{z{zzz{{|z{||{{zz{z{{zz{|{{{||zz|z{zz{zzz{{z||{{zzz|{{{{{|{z{}|{{z{z{z{{{{zz{|z|zzz{{{z{|{|z|{{z{{{zz{{|{|{||{|z{{z{{{z||{{{{|||zzz{z{{{||{{{|{{|{{{{zz||{|{||{|{z|zzz{|{{{|}{{||{{{{{{{||||||{z{{{z{|{}{|||||||{{{{z{z{|||{{|||{{{{{{{}|||{|||{{{{{||{||{|{|||}|{|||{{|}|}|||}||||{{{{|{|{||||{{{{{{{||{|{{|}||{{{|{{{|||}{|||z{z{{{{{|}|}|{|}|{{{zz{z{||||{|z|{|{z{{{|||{{~~~}}}|||||}}}}|}}}||{{{|{{}|{{|||{{z{{{|{{{|{|z{|||{{z{|{|{{{|{{||{{z|z{|z{{z{|{}||{{{{zz{|||z|{{{z{zz|{z{{zz{{z{z{zz{zzzz{{|z{z{{z{{{z{{{{z|{{z{{{{zyz{|{{{{||{}{z{{{{{zzz{{{{|{|{{zz{{{y{{z{|||{zzz{|{{{|{{{{z||||{{{z{y{|{{{|{|{{|zzz{{{{||||||{{z{z{{{{|||{|{||{{{|{{{{||z|{{|{z{zzz{{{z{{{|||{zz{{{zz{{|{||||zz{|{{|z|||{{|{{{{z{|||{|}{|{|{}{{{{z{{{{|{z|||{{{{|z{{{}{{{{{||||{z{{{{{}||{|{{|{{|{{{|{}|||{||{{|{{{||{|||||{{|{{{|{{{{{{||||~|{|{|{{{|||||||}|z{z{z{{{|{|{|}|{z{|z{{{{{||{|{{{{{{z{{||{|{|}}~}||}}|}}}}}~}}~|}||{|}{||}|}|{||{{{|{{{z||{|{{||{zzz|{z{{{||||}|{{zz{{{{|{||z{|{{z{{{{{zzz{{|{{|{zz{zzz{{{{{{||z{{z{z{z{{{z}||{{{{{{{z{{{{{z|{|{{|{z{zz{|||{{{{zz|{{zzz{{{{|{|}{{zz{zzz||{{{{{{zz|{{z{z|{|{|{||{z{z|z{z||{|{||{{{{{{z|z{|{z{|{|yz{{{{{{{{{{||||{z{{{|z{{|{|{||{{{{{{{z{{||{||||{z{{z{{{|}|{{{||{||{||{|{|{|||||z{{{{{||||{||{||{{|{{|zz}{{}|||||z|||{{{||||{{}||{{{|||{{{|{||}}|{||{{|||}|||{|||{{{{{|{||}|{||{|{{z{{{{|{{|{|||||{{|{{|{{{|}||}{{{z|{z{||{{{|||||{{{{{{||||{|}|{z{{{{{{|||{{~~}~}}||}||}}|}}~}||{{{|{{||||}}}|}{|{{{{{}|}||{}}{|{{z|{{{{{||}{||z{z{{{z|}|{z||||{|{{{zz|{|{{|{{|{{{z{z{{{{|{{|{{z{z{{zz|{{||{|{{zz{z{z{{|{{{}{||{{z{{{z{}{||{||{|{{{zz{{z{z{|{{{{{z{z{zz{{{|||{{z{{|{{z{{|{{||||z{z{{|z{||z||{|{z|{|{{z|{{|{{{|z{{{zzz{|||{||||{||{{{{{|{|{{{|||{{{{{z{{|{|{{||{{z{{|{{||{{|||||{{{|{{z|||{|||||{|{z{|z{}{||||{|{{||{{{||||||}|{z{{|||{|}}}{}}||{|{{{{{|{{||||{{{{|||{{{||||}|}}{{|{|{|}{|{||||{{||{{{{||{|{|||||||||||}|||||||z{{{z|{z|}||{||{||{{{{{{|{||||||z{||{{{{z||||~~}}{~}|||}}~||}}}|}{||||{}|{|{}}|||{|{{z{{{|||z|{{{z{z{{z|{|||{{||{{{{{{z{||{{{{{{z{{{{zz{{|||||{{{{zz{{{{{|||{{{z{z{|zz{{{{|{|{{{{{{{z{{{{{||{||{{|z{|{{{{{||||{|{{{z{zz{|{{{||{{{{{{{z{z|{|{|{|{{{{{|z{{{||||||}z|z{{|{||||z|}|{{|zz{{{|{{{{|{||{{|{{{z|||{{||{{|z{|z{{|||{{}||{{{|y|z{{|{|||}|{{{{{|{{|{|||{||{|{{|{{{{||}||{||{{{{|{z{}|||||||{|{{{{{{}||{|{{|z|{{{|{||{|||||{{{{{{|{|{|}}}|}||{{z{|{{|}||||||{||{{{||||{||||{z{|{{{{{{|||||}||{{{{|||||{}|}|zz{{{z{{{{{}{{}||{{{{{|{{||}|||{{{}z|z{||{|{|~~~~~}|~|||}||}}|}||}||}|||}||}||}||||{}{||||||{}}||{{{{{|{{{{|{|{|{||{z{{{{{|{{|||{{{z{{{z|{{|z|{|z|z{z{{zz{{|{z||{z{{|z{{{{{{|||{{|z{z{{{|{{z|{||{{{|{{{{{|{|{{{|{{{|{{z{{{{{{|{||{zz{{z{{}{|{|{{z{{{{{zz||{||{|{|{{{{{{{{|||||||{{{{{{|{||{|||||{{{|z{{{{}}||{|{{|{{{{|z{|||{{}||{{||{zz{||{||||{||{{{z{|||{|}|{{|||{|{{||}{|}{}{{|{{{|{|{{||}|||{{||{{{|}||||}{}{{{|{{{|||}|}}|{z{{{{|||{|||||||||{{|{||~|}||||{|||{|{{{||}|{}||{{|{z{|{}|{||}}}||{|||||{}|||}}{|{{{|{{||||{}~|}||{{{z{}|||{{||{{{{{z{||||{|~~~}~}}}||}~|}~}|}|||||||{{|{||||}{|{{||z{||{||{{}||{|z{{{z{|||{{||z|{{{{zz{||{{||{{{{{|{{{|{{|z|||{{{{zzy{z{{||||{zz{{{z{{{{{|{{|{{|{zz{z{{{{{{|||||{{z{{{|{{{{|||{{|{{{{z{{{{{{{|{{z{zz{z{z||{|{|zz|{{{z{{{{{{|||{{{{|z{{{|||||||{||{{{{|{{{|{||}}{{|z{{z|{|{{{||{{|{|{|{{|{|{|{||z{{{z{zz}}||{||zz{{{z{{}|{{|||{|{{{{{{{|{{{|}||{{{|{||{|||{{||||{|||{zz||||}||{|z{||{{||}||||||{||{{{|||||{|||||{{}{{|{{}{}}}}||{|||{|{||}|{|}||{{{{{{z|}|||||{|||||{{||||||||{|||z{|{||{{|||}||{|{{{{|||||{{||{{{{{{z{|}{{{}~~~}|{||}|}}}}}}}||||||{|{{}|||{|{|{{{z{zz{{|}|||{|{{{y{{y|{z|{||||{{zzzz|{{{zz{||{{{{zzz||{|{{||{{{{zz{{z{z{{{|{|zzzzzz|{z{{z{{|{{{zzz{zz|z{{{||{{{{{{{zz{|{{{{|{{z{z{z{{{{{{{||}|z{yzz{{z{{{{|{{zz{zz{zz{{|{|z||{|zz{zz{{|{|{{|}{z{z{{{z|}||{|||{{z{zyy{{|z|{{|{|{{{z{zz{|{{||{|{{{{{zz{|{{{{{{|{zz{{{{{|{|z{|}{{{{z{zz{||||||{|{{{{|z|z{{|||}||{z{zz{{{{{{||{|{|{z{|{{{{|||||{|{{{{{{{||}z|}|||}|{{{||{}|{|||}|{{|{{||{|{|||||{}{{{{{z|{|||||||}||||{{||||{{}||{{|z|{{z|{{}{}||{{|{z{{{{{{{|||{{{{z{yzz{{|{{~~~~}}~|}}}{}||{}}~}|||{{|{{|||||{|}|{z{{{z{|||{|{{|||{{zz{{z{z|{{||}{{z{{{zz{|{{|{{{{{{{{zy{{{{z{|{{{z{z{z{z{|{{{{{|zz{{{{z{{{|{|{|{{zzzzzz{{{|{|{{|zz|{zz{z{{||{|||{{z{{z{{{{{|z|||{{zz{{|{z|z|{{||{z{{{{{z{{||{{{|{z{z|{{y{|||{|||{{{{{{{{|{{{{|||{{zzzzzz|||{{|||{|{{{{{z{|{{||{{|{|{{{{z|{||{{{|{{{|{z{{||{{{{|{{{{{{{{{{|{||{{|z|{{{{{{{|{|||{|{{||||{|{||||{|{}{{z{{{{||{{||||{{|{{|{{{|{||{|||{z|{{{|{{||||}|{{{|{{{|{|||{|||}{{{{{{{|{{||||||{|{|{|{{|{|{||{|{{{{{|z{{|{||||||{{{{{{{|||{{||{z{zzzz{|{{{|~}~~}~|{||||}}}|||}}}{|{|||{|||{||}}||{{{{z{{|}}{{||z{{|{{zz{{{{{{||{zz{{z{z{{{z|{|{zz{z{zzy{|{z||{{{{{zz{zzzy{z{{{{{{{{{zzz{|{{{||{{z{{yzzzz{{{|||z{z{{z{z{{{{z{|||z{z{zz{zzzz{{{|{|yz{{zz{z|{zz{{{|z{z{|{z{}||{{||{{{{{z{{{{|{{}|{{{{{z{{z{||{|}{{{{zzyz{{||{{z|||{{|{|{z{||||{|{{{{z{|{{z|{||||{||z{{|z{{{|{{z|{|{|{{{{{z{||||{}|{|{{{{{{{}||||}||{z||{{{{||||||{|{||{z{{||||}||||{{{|{|||||||||{||z{{{{{|}|}{||||{{|z{{|}|}|}}{|||{z{|z{|}{{||||}z|{{{||||||||{||z{{||{{{{{||}|||{{{{|{{{{||||{|zz{z{zy{}{{|{~~~~}~~}}}}|}}|~|}}|}}}|||||||{{||{|||{z{||{z{||}}{{}|{{{zz{{{{{{|{|{|{z{z{|{z||{zz{|{z{|{{z{z{||{{|{{{{z{zz{{{{{|{{||zzz{zz{{|{{{|{{|{{{z{{{zz{{|{{{||z|z{{{{{{|{{z{{{z{{zz{{{{zz{{||{{{{{{{{{{z|{|{{{{z|z{zz{{|{{{|{{|{{{{{{{{}||{|{{z|z{{|{z{||{|{|{z{zz{{z{{{|{||||{{{{{{{z||{|}|{{{z{{{{{{|||{|}{{|zz{z{{{|{{|||{|z{{{|z{|||}}||}{{||{{{{{|{||||||{zz{{{{{||||}|||{{z|{{||||}||}||{|{|}|{{|{||}{||{|{{{{{|}|||||}|{|{{{{{{||}||||{|{||{{|{{||{|}||{{||{{{{||}|}}||{|{|{|{{{|||{||{|z{{{zz{|{|{||{z{|{{zzz{{{||~~}~}}{||}||||}|||}}||{z|{{z||{{||||{{|{zz{z||{|{{}||{{{{{{{|z{|{||}{{{z{{|{z|{{{||{{zz{zzz{z{{{{|{{{{zz{{zz{{z{{|{{{{{z{zzz||{z{{{{{zz{z{{z{{|zz{{{{{{zzzzzz{||{{{|{zz{zy{zz|{{{{|{|{{yzz{{{|z{||||z{{{zz{{{|{{{|{|{z{{{z{z||{|z{|{{{{zy{{{{||{z|{{{z{{{{z{{|{{|{|{z{z{z{{z{||{{|||{|{|{zzzz{|{{{|{{{{zz{{{|{|{{{{{{|{|{z{{{||{|{||{|zz|{|{}|}}{{}|{z{{|{z|{||||{|||{{{{z{{{|||||||{z{{{{{{|||||}{||{{z|{{{|}|{||}||{|{{{{{||{|}}|}}{{{{{{{{|||||{}{|{{|{|{{||}||||{|{z{{{{{||||||||z{{{z{{{|z|{|{{z{{|zz{{{|{|{~~~~~}}}|}}|{}}|}}|||||{{{z{|{|}||{}|||z{z{{z||{|{{|{{{{zzz{{{{|{|{|||z{zz{{y{z|{z|||z{zz{{{z|{{{{{{|{z{zz{{{z{{{z{z|{{z{{{z{{{z{z||{{{zz{zz{{|{|{{{|z{z{{z{zz|z||{|{zzzzzz{zz{{{z|{{{{|zzzz|z{{{{||{{z{{{{|{{z{{{{{{{{{z|{{z}|{{{||}{z{{{|z{{{|{|{||{z{{{z{|{{|{||}|{{{{{z|{{|{{{|||{z|||z{z|{|||{|{z{|{z{{{{{|{{|||{{|zz|{{|{|{{|||z{{zz{|||{{|{|||{z{|{|{|||||{|}|{{{{{z{{{|{||||}{{{z{||{{||||||||{||||{z{}||||}||{z{{||||{||{||||{{{{{{|{{{{{{}||{{{{{{{|{|||}|||{{z{{z{||||||{{{z{zzz{{{{||{|{{{{{zz|z{||{{{~~~~}~}}}}}}~}||}|||||{{||z{||}{|||||{|||{{|z|{|{}|z|{{zzz{{{||{||||{{{y{{{z{||{{|}|{{{z{zy{|{|{{{|{{{{zzzz{{|{|||{|{{{z{{{zz{{|{{||{{{{{zz{{||{|{{|z{{{{{{{{z|{{{|{{z{{{{{z{{{|{{{{z{{yz{{zz|{zz{{|{{{{{|{{{{||||{|{{{zz{{{{{{{{{|{{{{{zz{{{{{{{}|{|{|{{{{z{|}|{{||{|{{{z|{||||{|{|z||z{{{|}||{{|{|{z||{{z{{|}|{}|{{{z||{{{{{{|||||{|{zz{{{|{|||{{|z{|{{{z{{|||{}|||{z|{|{{||}||{}||||{z||z{|{||}|}|{||{||{|}}|||||{|{{{||||||}|||||{{|{{{||{{|{||}|||{||{{}{||{|||{{{{{{{{|}{|{|}|{{{{{zz{|||{{{{{|{{{|z{{{|{}|~~~~~~~~}}}}||}~~||||}~}}|}{{||{{}|}||}}{{|{{{zz{|||{|}}{|{{z{zy|{|z|||}{{|{{|{z||||{||{{{{{{{{{z||{|{{{|{{{{z{z{{|||{{|z{{z{{{{{|{{|||{|{{{{{z{{|||{{{||{|zzy{{{z{z{|||{zz{|zzz{{{{{{{||z{z{{z{z||{{||{{z{{|{{{|{{|{{{|{{{z{z{{||{{{}{||{{{{z{{{{{|||{|{{|z{{{{{{{|{|~|{{{{|{zz{{|{|}|||{{{|{z{{{}|||||{{{{{{{{|}{||||{{{|{{|{{||}}||||{|{{|z|{{||}|{{|{|{{||{{}{||}||}|z|{{{|{|}||||}||||||{||{|||{}|}}{||z|{||}{||}}}|}|{|{{{||}|}||||{|z{{z|{|}{|||}|||{{{||||{|||||{|{{{{{|||||{||||{{{{z{|{||||{|{{|{z{z{{{}|||~~~~}~~~}|{||||}}}}}}}|{{||||}}|}|||||{{|{{{{{||}{||||{{{z{{{|{||{|||{{|{z{{z{|{{{{|{{{{zz{z{{z|z{|{|{{zzz{{{{{{{z}||zz{z{zz{{{{{{|{{{{z{zz{z{{|{{{{{|zz{zz{zz{{{{||{{{{{{zzz{{{|z{||{{z{{{{{{|{y|{|{{z|{{{zz{{||{{|}{{zzzz{{{|{{{{||z{{|{{{z{{||||||{zzz{{z{|{{|||}|{{|z{{|z||{|||{{{|{{zz{{|{||||}|{{||{{{{{|{|{|{||{{{|zz|{{||}|||{{{{{{{z|{{}{|||{{z||z{{|{|{||}||z|z|{{{{||{||}||{{z{|||{|||||{}}{{{|||{{|||{||||||{{{|z{|||||{}{z}|z{|{{||}||}}||{{{{{{||{|||||}|{z{|{{||}|{{}}|{}{{{{{{|{{{||{|{{{{{{{{|{{|~}~}}}}}||}|}||||}|||y{{{}z{}{{}||||{{{{{{z{||}||{|||{{{z|{{{{{|||{||{zz{{{z{|{{{|||{{{{z{z{|{|||{||zz{{zz{{{z{{|{{{{{|{{z{{{z{|{{{{|{{zz{{yz{}{|{||{{{{z|z{{{{|||z{{{z|z|{z{{{{{|{|{{z{{{zzz{{{|{{|zz{z{{{{{|{|{{||{{{z{z{z{{|{{{|{{z{z{{|||{{|z{{|{{zzz{{z{{|||||||{{{|zz{{|||||{|{{{{z||{{|{{|{||||{{z{{z{|||{||{|{{{||{{{{||||}|z{|||{{{|{|}|||||{{{{{z{||{||}{|{{{|{{{|||{|||||||{{{}|{|||||||{|{|{|z|{{}|}{}~||{||{{|{}||{|}|||{{||{{}|{||{}|||||{{|{{{z{}||{|||{{{{{{{{|}{|||||{{{{z{{|{|{{}|{{{{{z{{||||{~~~}~|}|}}|{}{|~}}}|{|{||{{|{|{|||||{|z{}}{}{|}||{{{{{|z{|{{{||{|{|{z|{{z{{zz}{{{||{{z{zz{||{{{{{{{|{{{z{z{{zz{{||{{z{z|{zzz{z{{z{|{{{{{zzz{|{z{{{{{z{{{{zz|{{{{{{{{{z{{zzz{|{{{|||zz{zz{{y{{{|{|{|{{{z{{z{{|{{{{{|{z{z{{z{{{|z{{|{|{{z{z{{{z|{|{|{{{{z{{zz{{|{||}|{z{{{z{{|{{|||{y|z{{{{{z{||{||}{{{{|z{{{|{{{|||{{{{z||{{{||||||||{{{z{|{{||}{}|}z|{{{z{{{}}{|||||{{|{{||}||{{|}|||{{|{|||{|||||||{{{||{{{|z|}||||{|{{{|{{||}{|}||{{|||{|{{||{|||{{{{|{{{||z|||}||{|{{||{{||||}{}{{|z{|{z|{|}{||||{{z{{|z{{||{~~~~}~}}~}}|||}||||}}}}{|||{}{||||}}~{{{|{|{{{{{||z||||{{{zzz{|{|{{}||{z{||{zz{{|{z{|{{{zz{{zz{{{{{{||{|{{zz{|z{{|{||{zz{{zzz||{{{{|{{{zz{{z{{{|{z{||{{z{zz{{{z||||{{{{zz{{z|{{{z{{|{{{{z{|zzz{{|{|{||zz{{{{zz{||}||||{{{{{|{{{|||{|{z{z{z{{{{|{{{{||{zzz{zzz{{|z||{{{{{z|{zz{||{|||{|{{{{{{{{{||{{{|||{{{{z{|{{{z{|{|z{{{|{{{|{||||}{z{{{|{|{z{{||{||{|{||{z{|}{||||{{zz|z|{{{{|||||||{{{||{||||}{||}{{{z|||{{|{|||}}}{||{{{||{||{||{|{{{z|{{||{|||}|{{{{|{z|}|||}{|}|||z{z{{{||{|||||zz||z|{{{||||||{{{zz{{z{{|{z}~~~~~}}|}|}}}}|}|||}|}|{|{{{{||{{|}{||{{|{{{{{{{{{{|||z{{{zz{{{|{||{{|{{{{z{{z{|{z{{||{{{yzz|{{{|{{{|z{{{zzzz{{{{|{{{{zzyz{yy{{{{z{{{{{zy{z{z{|{|{{|{|{z{{z{|yz{|{|{||{zz{zy{z{zz{|{{{zyzzzzzz{{z{||||zz{{||{{{{{|z|{|{{{z{{{{{{||{||{{{{{y{|zzz||{|{|{{|zz{{{|z{{{z||{{z{{z{{{||z||{zz{|{{{{z||{{{||{{{{{{z{z||{{{|{{{{{z{{|{{{|{|||{{{{{{|{{||||{||||{{{{{|{||}{||}||z|{{{|{|}||||}{{{{{|{||||{{|}||||||{{{{{|{||}|||{||z{{{|{||{|||{{{{{{{{{{|||}}}|{{|{zz{|||{|||||{{{{{{{|{{|||}{||{{{{{z{}{|{{{{{{{{z{{z{{|{|~|~}~~|}||||{|}|||}{}{|{{{{{{|||||||{{|{{{zz{|z|{z||||{{{{z{z{|{{{{{|{z{{zz{{{z{{{|{{{{{{{{z{{{{z|{{{{z{zz{z{{{z{z{z{{zzz{z{{{z{{{|{z{zz{z|{{{{|{|{{{{{zzz{{{{|{{{{|{|{{{z{{zz{|{{||{{{{{|z{zz|{{||||{{{{{{zz{{{{{||{|{{z|zz{{|{z{|||z{|{z{z|{zz|{{||zz{z{{zz{{|{{|{{{{{|{{zz||{|{|}{{z{zz{{{|||}{||{|{{|{zz{z{{{||{{{{|z||{{|||{{|{|z{{zz{{{||{}|}}|{z{{{|{||||{|||}{{|{|z{|||||{{}|||}{{||{|}||{||||{{{{{{{|}{{}|}|{|{{{{|{{|||}{}{|{|{|||{{||||||~{{|{|{{{||{}{|{||{|{{z{{|{|{||||}{{{|{{{|{{||{||{{{{{z|{{{||{~~~~~~|}}~~}||||{||}{}|||}|z||{||{|{|{||{{|z|z{{{{{{|{{||{{{z{{||z|{{{z{||z{{{{{{z{|{{{|{|{z{y{zyz{{{{{{{{{zzzz{{z{{{{{|||z{zzz{zy|{z{{{{{{{zzzz{z{{z{{}{{{{{zzyzzy{{|zz{|{z{{zzzz|z{{zz{{{|zz{{{{z|{{{|{{{{{y|{y{z{z||{|{{{{z{zzz{|{{|{{|z{{zz{|{|{{{{{{|z{{zz{{{{{|{{{|{{||{{zzz||{|{||{{z{{{{zzz||{{|||{z{zz{{{{|||{||{{{z{{{{{}{||{|{{|z|{{z|z}{|}|}}|{{||{{{{||}{|}|{z{{{{{{{{||{|||||{|{{{{|{{{}||||}{|{z|{{{}{||||||z|{{{{{|}||{{{}{zz{|{{{|||{||{|{|{|{{{||{{||{|}{{{z|z{{{||{{|{|{{z{{{{{z{|||{|{{{{z{{{{}|{|{~~}~~~}~}~|}||}|{|||}}}}}|||{|{{|{{{|||}||z{z{{{z{|{|{{|||{{{z{{{|{{{{|{|{zzzz{z{{{{{{{|{{|z{z{z{{{{{{|||{{{{z{{{{z|{|{{|{{|{|z{{z{{{{{{{{z{zz{zz{z{{{{{||{{zzyzz{{|{|{||z{z{{z{z{{{{z{{|{{zzz{|zz{{z{||{zz{z{{zz{|z{{{{{{{{z{{{z{{{{{|{|{zz{|z{{{{|{|{||{zz{{zzz{||||||{{{{{{{{{||||{|{{z{{{{|{z}{|{{||{|{|{|zzz{|||{{|{{|{|{|{{||||}||{{|{|{||{{{||||{||{{|{{{{{|||||||{{{{|{|{{||}||}||{{|{|||{{|}|}||||{{{{{{|}}}||||{{|{{{z|{}}{|||||{|{|{{{||||||}}|{{{|{z||{}||||}||{{||{{||{{||{|{|{|{{{z{{||{{|||||z{{{{|||{|~~}~~~~~~~}~~}}z|{{|}{||}}}||{{{|z||}||||{|{|{{z{{|{|{||{z{||{{{{z||{{|}{||zz{zz{{{{{{{||{{{|{{zzz{{z{{|{{zz{{z{zz{zz{{{z{z{zz{{zz{|{{|{{||z{{z{zz||{|{|z|{{zz{z{{z{|{|{|}z{z{{{z{{||z||{{z{zz{{{{z{{|{|||{z{z{|{z{}|{{|}{{z{{{{{{{{||{{{|{z{{z{{{|{|{{||||{{{{z{{{{{|{|{{z{{{{z{{{{|||}||{{{{{z{z{||z|||{{{{z{{z{{|||z{|{{||{|{z{||||{{{||{{{{{{{||||{||||{||{{{z{{||~||||z{||{{z||z{|||||z|{{|||{~|||}||}{{|{|{{{}{||||}{{{{|{|}|||||{||||{{|{z|{||||{}}{|||{{{||{||||||||{{{|{|{||{|}{{{{|{{{{z|{|||{|||{{{{{{{{||{{~}~~}~}~}}|~{||||||||}||~~}{|||{}{{}{|{||{|{z{{|z|{|{||{|{}{{|zz{|z{{{|{{}|{z{{z{zz{{|{{|||{{{{|{{{z|{{{|{{z{zz{|{|{{{|{||||{{z{{{z{{||{z{|{z{{z{zz{|{{|{{{{z{|{{{{{{{|{{{|{{{{{{zz{||z|||{{{{z{z{zz{z{{|{{{|{{{{{{{{||{{|{|{{{{{{{{{{{|{{}z|{z{{z{|{{{{|||z{{{z{{{||{{|||}{||{{z{z{|{||||{{{|{{{|{|}||{|}||zz{{zz|{||||||||{{|{{{{||||{|||z{|{|{{{||{{|}|}{{z|{{{{||{}|||||z{|{{z{|}{||||{{{{{|||{|}||{||||{{|{|{{|}|}|||||z|z{{{{}||}{|{|||{||{z|{|||{|}|||z|{{|||{|{|||||{|z{||{{|{|||||}{{z{z{z{|{{|{|{|{{{{z{{||z{|~~|~~~~~}}|||{}|||}}}}||}}|||{||{{||||||}|{{{{|z{z||||||||{{|{z{{{||{|{|||{z{{{{zz||{z{||{{{{zzy{z|{{{{|||{z|zzzzz|{||{{{|z{z{{{{{{{{{z{{{{{|{zzzz{|||{|||{zz{{zzz{{{|{||{|{z{z{{z{{{{{|{{{{{z{z{z|{{{}{|{{y|z{z{{{{{|{|||{z{{{{{{{||{|{||{{|{zz{{||||{{||z{{{{z{z|{{|{{||{{|{|{{zz|{||{{|{z{{{{{{|{||{{}{||{|z{{z{||{||||{{|{{{{{{{{||~||{|{{|{z{{}{|||}||{{||{{z{||{{{|||z{|{{{{||||{|}}{|{z{{|{||}{}||||{{||{|{}{|}||{}|{{{{|{{||}|}|||||{{|z{||||}{|||{|{{{{{{|||{||}}|{{{|{{{|||{|{|}{{{{{|{{{|{||}|{{z|zz{{z|{}|{}~}}~|}~}}~}~}||{|{{{}}|{}|{|||z|||{|||{{{||}{{{{{z{{||{{{|{|{{{{{{|z||{|||z{z{zz{{z{{{|{|z{{{{{{{{{{{{{{z{{zz{zzy{{{{{{}{{|{{{zzzzz{|{{{{|{{{{{zyzzz{}{z}{|{{z{zzz{{{|{{{z|{|{z{yzzz{|z{|z{|{|{z{{|{{||{{{{{{zz{zz{z{{{|z{}||{zzzzzz{{|{{|}{{{{{{z{z{{{{||||z{z{{{{{{|||{{|{{z{{zz{z{{||{||{{z{{z{{{{}||||}{{{z|{{{{|||{{|{{z{|{|{{z||{|||||zz{{{{}{|{{{||{|{{{{{zz{z{{||||}|{|{{|{{|||{||||{z{{{||||||{||}{{{{{{||{{|||}||||{}|z{{{|||{{||{}{{z|{{|{{|{{}|||{|{|{z|||{||||}|{{{|{{{{{{{|||{|{z{z{z|{|z|{{|{zz{{z{z{{}|{{~~}~}~}}}~~}~|}||}||{||}}}|{}}|||{{|{||}||||}{{{{{z{{||{|{{}{|{{{|{{z{{{z|}{|{z{{{|{{{{|{{|{{|zzz{{{{z{{{z{z{{z{zz{z{z||{||{|{z{z{z{z{|||z{|||z{{{{z{{{{{{||{|zz{z{{{{|{{{|}{||{{zzzz{|{{{|{{z{z{{{|z{||{z{|z{{{{{z{z||{{{|{z{{zz{{{{z||z|{|||z|yz{{{|{{}{{{}zzz{z{{{{|||||{z{|z{{{{{{||{{|{{{{}|{{{{{{{{|{|{{{{{{zz||||{{|||{{{{{{{{||{}z~||{{{{z{{{||{{|||}{{{{z|z|{|||{||{{{z{||{{||||}|{|{{|{{{{{|{|||}|||{{||{{{{}}|}{|}|||{{z||||}|||}||z|{zz|{||{{{|{||{{{|{||||||{{||{{||{{{{{|{{|||||{{{z{{{{|{{|{}|{{|{z{|{{|{{z~~~~~|}~|~~~}}}}|||}|{}}}}|}|}}|{|{|{{{||||{{}||{}{zz|z|{||{{|||{{zzzzz{{{{{{{|z|{{{|{{{|{{||||{{|{{{z{||{{{{{{{{{y{zz{{z|{{{{{{z{{z{{z{{{{{{{{{z|{y{z{{{{{|{|{{z{{z{{z{{z{{{|{{z{{z{{z{{z{{z{{z|{zz{{z{|{|{|{|zzzz{{{{{|{|{{|{{{{{{|{{{{{|{||||z{{z{{{{||{||{|zz{{z{z{{{{||{||{{{{{zzz{{||||{|{{{{{{{{||{{{{{||{{{{{{{{{||{||{|{|{|{zz{{|||{{|{z||{z{||||}||||{z{{|{{z{|||{||{{{{z|{|{||{||||}{{{{z|||||||}||||{|{{|{{{}|}}}|||{{||{{|{|{||||}|{|{|{{{{{{{|||}{{{||{{z{||{}|{||{{{{|{z|}||||||{{{zz|{z{{|||{{||{{{{z{{{{|||~}~}}}|}}}}}}}|{{|}|{}|}|}~|}|{{{|{{||{||{|}|{{{{{{{|{}{|||||z{{{z{|z||{||||{{{z|{{{z{|{|{{|{|z{z{zz{{||{||{{{{{{z{zz|{{|z{|zz{z{zz{z{z{{|{{|{{{{{zz{z{|{{|||{{{{zz{y{{z{{|{{{{{zzzzz{{{{|{{z{{{{{z{{{{{{|{{|{z{{{zz{{{{|{{|{|{z{z{{{{z|{{|||{z{{{z{{|{|{{zz|z{{{{{z{{{|{|||{||{||z{z{|||{|{{{{|{z{{{{|z|{}{{|zz{{{{{|}|{{}||{||{{{{{{|}|||{{|{z{{z{z||||||}{{{{{{|{z|||}{{||{{{{{{z{||{|}||||{{{|{{||||}|||||{z||||{|}|||{}}{z{{{|{{|||{{|||{|{{{{{{{{||{||||||{{|{{||{|}|}|{{|{{|{{z||}|||{|{{z{{{{||{||||||{{z{{{z{{|{|~~~}~~}}~}||~}}}}~|}|||||||}||}}}}{{z|{{{z{{|{||{|~|{|||zy{||{{|{{{{|{{z{z{{{||{|{|z{|{{{zz{|{{{{{{{zz{{yzz|z{{{{{|{{{{z{{z{{{{{{||{{zy{{z{{|||{{{{{{{{{z{{{{{{{{|}z{|{z{zzz|{{{{||{z{zzz{z{{{{{{{{{{{{{zzzz{|{|{||{y{{{|zzz||{{{|{{{zz{{{{|{z{||||zz{{z{|{{{{{||{{{|zz{z{z{||{{{}{{{{{{z{{{||z{{{{{{{|{{z{{{||{||{{{{{{z{|{|{{|{||{|{{{zzzz||{||||{{{{{{{||{{}{||}{{|{{z{{|{{{|{|{|z|{{z{{z|{{{}||{{{{||{{}||||||{|{{z{{z{{||||{}}|{|{{{{{|||{{}||||z{|{{||{{||{||||{{{{z|{{|||{{|{{|{{{z{||||{|}{{{{|{{{{{{{{{||{{{{{z{{z{{{{{~~~~}}|||}}}}}}|}~|||||{z|||||}}}}|{|{{{{{|z|||{{|{{{z{|z|{z|||{|{{||z{{{{z{||{|z{{{zzz{zz{{z|||{|{z{{z|zz{{|{{z{{{{zzzz{z{{{{{{{|{{{zzzz{{{|{{z|||z{{zzzz{||{{{{{{{{{yzzyz|{{|||{{{z{zz{z{zz|{|||{z{{{z{zz{{{|}{{z{z{{z{z{{||{|||{{{{{zz{||||||||{{z{z{{zz{{||{||{z{{{{z{{{{||{|}|{{{{|{{{|{|}||{{{{{|{{zz||{{{|||{{z{{{{|{{||{|{{{|{{{z||||}{||}z{{{{{|{{|{|||||{|z{{{|{|}|{}|}||{{{{zz{{||}}||{{z|{{{{|||||{|||||{{z|{{{||{}||||{{||{{{|{||||}|}{{{{{{|{|}||{}||{{{|}zz{|}}|||}{{z{|{{|}{||||{|{{|z{{{z{|{||||||{{{{{|{{|{||~~~~}}~}}}}~~~}|}}|||||{||||}|}}}}}}|{{{{{|||{}{|||z{{{{{{||}||{{{|{|{{{{|{{{|{{{||z{{{{{z{||{z{||{z{{{{z{|||{{{||{z{zzz{z{|z|||||z{z{{{|{{{{zzz{{|{{{z{{z{{{||{|{|{{{{{zz{zz|{{||{z{y{zz{z{{{{zz{{{z{z{{{{zy{{{|{z{{{{{{z||{|{{|{|{{{z{{{{{|{{|{}{z{zzz|{||{}{}|{||{{z{{z{{{|{||{{z{{{z{{{|||{|}{{{}{{z{{{|||{{}|{z{{z{{{|{{{||||||{{{{|||{{||||{{|{{z{||||{}||}|||{{{{{{|||||||||||{|{{{|{}||||}{{{{z|{{|||||||}||||z|||{|{||}|}|{||{{|{||{|}|{{||{{|{{||{{{||||||{|{|{{|||{||}|{{{{{{{{|{{|||}{{{{||{{z{|{|{|||{{|{{{z{|{}{z~~}}}}~}}}}}~}~~}}||||{{||||{}|}|{{|}{{|{{z||}{}|{{z{z{{|{{|{|{|{{|y{{{{{|{|{|{|{z{|{z{{|{{{{{|{{{{{z{z{{{{{{{{|z{{{{{zz{{|{{|{}{z{zzz{{{{z||{||{yz{{{z{{{{{|{{|{{|{{zz{{|{{||{||z{{zzzz{|{z{{{|{{{{{yz{{||{{|{{{z{z{{{z{|{{{{||{zz{{{{z||{{{{{||{{{{z{|||||||{{{{{{{z{{||{{{|||zz{{{zz{|||{||{||{z{{{z{|||{{|||||{|{{{{||{|{|{|{{{{{{{|{||{}|}|{||{|{|{{|z{|}|}|{|{{{{z|{||{||||{{{{z{{|||{|}|{||{{{|{{{|||{}|||z|{{{{{z||||||}|{|||{{{}{{|{|{{{{{{{{|{{|||||||{{{||{{{{|{{||||{{{{|z||||||{||{|{|{z{|{{|||{|||z{{{{zz{{||{|~~|~}~}~~|~}}~}}~}|}|{||{||}|{|~||||{|{|{z|{}||{}}{{|{{|{|{{|}|{{||}{{{z{z{{||{|||{{{{{|{{{||z{{{|{{{z{{z{{{||z{{{|{{{{zz{{z{{{{{|zz|zzz{{{{||{|||{z{{{{y{{{{|||{|{{{zz{{{|{{{{{|{|{{{{{{zz{{{z{{|{{|zz{{{z|{{{|{{{{{{{{{{{||{{||{{{{z{{|z{||{{||{{{z{{y{||{z{|}|{{|||{{z{{|{||||{{|{{{{|z{{|||||||{z|{{{{|||{{{{|{{{|{{|{{|||{{{||{{{{{z{||||}|||{{{{{||{{{||||||{|{|{{{|{||||{||{{|{{{}{|}}||}}|{zz{{||||{}||}|||||{{|{|||||{||||{|{|{{||}|||}{||{{{{z{{}{||||||}{{|{|{{|||||||||{{{{{|{{|{|{|||{{{{{z{{z{|{||}}z{|zz{{{{||{|~~~|~}}}}{|}}~~}}}~|||{|{||||||||{}||zz|||z|||{|}||}||{{{{|{|{||||||{{{{{{{{||{{||{z{{z{{{z{{{{{||{{{{{z{zzz{{{{{|{{{{{{z{z{{{{{{{{{{|zzz{{{|{|z{||{{{zzzz{{{{{|||{{{||zz{z{{{{{|{{{{{z{{{{z|{{||||{z{zzz{z{|{{{{{|{{{z{{zz|{{{{|{|{{zz{{{{||{{{|}{{z|zz{{z{{{{{|{|{{{{{z{{z||{|{{{{{|z{{{{z|{|||{||{{|z{{z{||{|{||{z{{||{{{{|{{{}|z|{z{{{{|||}}|||z{zz{{{{{||}{|||{|{|z{|{|}|{|||}|{{z{||{{}|}||}|{{{{{{|{{|{{|}|||{{{|{{{{|}{||~||{||{||{|{|}{{{||{{{{{{|{|{||{|||{{{|{z{|{{|{|||{||{|{|{{|||||}|||{{{z{{|{||{|}{{|{{{zz{{|{{|~~~}~}}|}{}~}}}|}|}|}}|}|||}||}}|||||y{{{{{||||{|||||{{{z{{{||{|||{||z{{{z{|{{{{{}|z{{{{|zz{{z{}|{zzz{{z{z{{z|{{{{z{{zz{yz{z{{{|{{z{z{{z{zz{{{{|{{z{{{z{y{z{|z{{|{z{|zz{z{{{{{|{{|{zyzy{z{z{{{{{{|{{{zz{{z{|{{{|||{z|zz{z{|{|{|z|{|{{zz{z{|{{{|{{{{z{zzz|{||z{{||}{z{{{z{zz|{|||{|{zz{|zzzz{||{{}|{|{{{{z{{{}|{{}{|{|{{{{{{|{|}{{{{{{z|{{{{|}||||}{|}{{{|{|||||||}{{{{z{{{{|||}||{|{{{{|{{||||}|}{{|{{|{}|{|{{|}|}|{{{{{{||}||{|}|}{||{z|{||}}|}|||{|{{||z|||||||}||z|||{{|||||||||z{z|{{{{{{{|{}||{|{{{{{||||{||{{{|{{zz{{|z|{~~}~}|}||}||}{}}}}|}|{|||z|||||}}|||{|{{z{{{{||{||||{{|zz{{{{||{||{|{{zzz|z|{||{{{|{z{{{{{{|{{{z{{|{{yzz{z{z|{z{z{|zzz{{z{{{{{{|{|{{{zzzz{z{z{{{{{{z{z{z{{|{z|{{|{{|z{zz{z{zz{|{|{|{{z{|z{{{||{{|||z{|{{z{z{{|{{|{{{{z{{{{zz{|{{{}||z{{z{z{{{{{{z|{z{{z{z{{|{|{{||}z{|{z||{{{{|{|{{{{{{|z{{{{|{{{|{{z{{{{{{{{||{{}|z{{{{{{z{|{{{||{|||{|{yz|{{|}}||{||{{{{{||{}{|||z|{|{{{{{|||}|||{{{{{{{{|{||||||{{|{{|{|{|{|||||||z{||{||||}|||||{}|{{|{||||||{|}{{{|{{{{|}{||}|{|{{{{||||{|||||z||{|z{{z|{|{{||||{{{{{{{|{||{|{z|{{{{{{{{||{}|}}|||}|||}}}|}}{||||||{|z{}|||||}|zz{{{{{{z{{|{|||{{{{{z{{{||{{{{|z{z{z{zz{|{{||{zz{zzzzz{{||{|{|z{z{z{{z{z{z{|{z{z{zzz{zz{z{{{|{{z{zzy{zz{z{{z{zzz{{{zzz|{|||{{|z{{{zzzz{{z{{{{|zz{{zzzz{{z{{|}{{zzyz{{zz|{{z|{|z{{z{{zy{{zzz{{{z{z{{z{{z|{{{{{{zz{zzy{z{{z{{{|{{{{z{z{{|{{z{{{{|{{{{{z{{{|{{{{|{|zz{z{{{{{z{{||{{{{z{{z{{{{{{{|{{{{|z{z{{|||{||{{{z{{{{|{{|z|{}{{{{{{{{|{|{||{{{{{z|zzz||{{{{{|{{|{{{{z{||{||{||{z{z|z{{{|||{||{{||{{|{{||}}|||{z|{{z{{|{{{}||||{z{{{{{{{|{|z|{{z{{{{{z|{|{||||{{zzz{{{{{{||{{|{{z{{z{z|{{||~}}}}|||||{||||}||}|{}|{z{{|{{|||}|{|{z{{{zz{{||{|zz{{{{{z{z||{{{{{{{zz{{{zz{{{{{{|zz{zzz{yzzz{z|||{z{yzz{zz{|{z{zz{{zzyz{{{zz{{{{{zzyzzzzy|{{{{z{|zzzzzzz{{{{z{{{{z{{{zz{y{{{{{|{{{zzyzyzzz{{yz{{{{{z{yzzz{z{{z{{{{yz{{zzy{|{{{{|{{zz{{yzzz{{z{z{{{z{{zz{{|{{{{{{{z{{zz{{{z{{{zz{{zz{zzyz{z{|z{{{|{z{{z{{z{||z{{||{z{{{zz{{||{{{{|{zz{{zzz{|{{|{{|{z{z{{|{|{{|{{||{z|{{{z{{|{||{{|zzz{{{|z||z{{|{|{{{{z{{|z{{{{{{||{{{{{{{{|{|}||}||{|{z|z|{{|{||{z|{{{{|{{|{{||||{{z{{{z{{|{|{|{}z{zz{{{{|{||{|||{z{{{{{z{{{|z{}|{zzzz{zzz{{{{}}~|~~}}||{|}}|||||{||{{|{{{}{{||||{{|z{{|{|{{|{|||{{|z{zzz{||{z|||{zzzy{zz{{z{{|{|{{{z{{zzzzz{{{|{{{{z{{z{{{|{z{|{{{{{z{z{{{{{{{||z{zz{z{z{{{{{{{|{zzzzzy{z{{{||{|zz{{zz{z||z{{{{{zzz{{zzyzz{{z{{{{zz{{{{zz{{zz{{{{z{{z{{z{{|{{{{{|zyz{z{y|{{{z{|{zzzz{{zz{{{z{|{|{{|zz{z{z{|{|{{|{{z{zzz{{|{{|z{|z{{{{{z{{|{{|||{{{{{{z{z{||{||{zz{|{zzz{|{{}|{{{z{{{zz{{{|{|{|}|{z{{|{z{|{|||{|{{z{{{{{{|{|||||{|{||{{{{|{{{||}||{z{{{{{{{{}|||{|z{|{{{{|{{z{|{||{{{{{|{{|{|||}}{z||{{|z{|{|}|}|z{|{{z{{{|{||||{|{{z{z{{{|{|z||z{{|{{z{y{|{{{}}}}}|||z||{}}}|||}|{{||||z{{|||{||{z|{z{{{|{|{{{||{{{{|{z{|{|{{|{{|{{z{{{{z|||{{{|{z{{{{{zz||z{|{{|{{z{z{zz{|{{|zz{{zzz{z{{{z{{{{{zz{zzzzz{{{{{{{z{zz{zzzz{{z{z{{{{|||zz{{|{{|{|{|zzz{zzzzz{{{z{|{{z{z{{{z||{{{|{z{z{{z|zzz{{{{|||{{{y{z|{{{{{{{|{z{{|{{{{{{{{{|{{{{{{{z{{{|||{{|{{{|{{{{{{{{{{}{{{{{{{z{z{|{{{z|{z{zz{zzz{||{{|{{{{{|{z{|{{|{|}{{z{z|{{{{{|{{|{||{z{|z{zz|{{|{||||{|{{{{{|{|||||}z{{{z||{{{||||}|}{{{z{z{{||||||||{{{z{{{{|}||||{||z{{{{{{|||{|||{{||{{z{{||{}{||{{|{{{{{{{{{{{|}||{{z{{{{|z|||{{{{|z{zz{{z{|{}}|~||||{|}}}}}}}}}|{z{{||||||||||}|{z{|{{|||{{||||{{{|}zz{{{{{{{z|{|{{{z{{{{|z{}{|{z{zz{{z{{{{y{|||{zz{{zzz{|{z{|{zz{zz{zz{z{{{{{{{zz{{{zzz{{{{||{zzz{zzy{zz{z{{|{{{{{{z{y{{{||{{{{z{{yzzz{{{z{z{{{{zzz{zzz{{{{{{|{{{{{z{zz|{{{|||z{zzzzz{{{|z{{|{{z{zzzzzz{{|{{{|z|y{z{z{{{{|{{{{z{z{{z|z{{||{|{|z{{{{z{z{|||{{|{{{{zz{{z{||{{||{|{{{{{|{||||}|{|{{|{|{{{{{|}{}|||{{||z{{{||{|{|{|{{zz{{{|~|{||||{z{{{|{{z|{{|||||{{z{{|{||||{|||{{|{zz{{{||||{{{||{z{{z{{|{{{|}||{{z|{{|||{|||{|y{{{{{{{{{z|z|{{||{{{{{z}{{|{{|}{|z{{{zz{{{{{}~}||}||||~}|~}}|}~|||{|{{{||{{}|}|z{{{{{|z|{z{||||z{{{{{z{|{}|{{|{{{zzz{{z{|{{|}{|{{{z{{z{{{|{{{|{||{{zzzzz{|{{{{zz{{{z{zzzz{{{|z{|{z{{zzzz||{{z{{|{z{zz{{{{{{{{||z{|zz{zyz{{|{{||{{{z{{{yz|{{{{}{{z|{zz{{{|{z{|{|{zz{{zz{{z{|{|||{{{z{{{{|{|{{{{|{{zzzz{|{{|{|{{|{yzzz{|zz{{{{{|{|{{|zz|{{|{{{||{{zz|{{{z{{||{{||z{{{zzz{}||{|{||{{{{{{{{{||||||{{{{{{{{{|{{||||{{|{{{{{z|{{{||{||{{z{{z{|}}||{||{{{{{{|{{|{|||||{{|{{||{|}}|{{|}||z{z{{{|}||||}||{{{{{||{{|{||||{||{|z{{{|{|{|||{z{{|z{{z|{{{{||||{{z{{z{|||{||{{{{z{zzz{|{{{}}}}{{||||||}}}{|}||||{{{|||}|||||{|{{{{{{|{{{{||||{z|{{{{z{|||z|||{{}{{z{{{{{{{|{{z{{{zz{z{|{z{}{|{{{z{{yz{|{{{{|{|{{yz|{z{{|{z||{{z{zzzzz{{{z|{{{{zz{z{{{{{{{|{}{{|{zz{zz{|{{{{||{{{z{z{z{{{|{{{|{zyz{{z{{|{{{{{|z{{{{{{{{{{|z{|{{{{{{zzzz{{z{{{}{{{z{{|{|{{{|{{|{{zz{{yz||{{{|||{{{{{{{{|||{|{|{|z{{{{yz{{|{||}}{{{{z{{{|{{|{{{|{{z||z{|{{|||}|||{{z{|{{||||{|}}|z|z{{{|{{{|{||z{z{||{{z||||}{|||{{{|{{|{|{|}||{{|zz{|{{z}|}|||||{{|{{{{||}|{||{|{{||{|||||{|{}||{|{{{{{|||{{{{|{{{z{{{|{||{|}{{||{{z{{{{|{|{{|{{{{z{{z{|||{|~}}|}|}||}||}|}|||}|{{{{z{|{}|||{|{{z{z{{|{|z||{||{{z{{zzz{{|||||{|||zz{{{z|{{{{{|{{z{{z{{z{z{||{z|{zz{{zz{{||{{{{z{zzzzzz{{{|{{{{|z{{{|zz{|{{{{{{{{zzz{{zy{{{z|{{{{|{z{z{y{{{{{{||{{{z{z{{z{z{{{{{{{z{|zzzzz{z{|{|{{{z{{z{{{{{|||{{{zz{{z{{{{{|{{|{z{{z{{{{{{||{{|z{{zz{z{|}|{{{||{{{z{z{z{|{{{|{|{z{{|zz{{{{{{{|{{|z{{{z{{|{{|{||zz{z|{z{|{|||||{{{{{{{{|||{||||||{{|z{z{{||{|}|||{{{{{{{|}||||}||{{{{|{{{}{||||{||{{{||{{|}|{||{{{{|{{{{|{|{||||||{z||z||||{||||{{{{|zz{|{{||}||{{z{{{{{|{|||{{|{z|{{{{{{|{{|||{{{|{{yz{|||||}}}||||{|{|{|}||}}|}|{{|z|{|||z||||{||{{{zz||{{}{}{{z{{{zzz{{{{{{|{|z{yz{zz{{|{{{{{{zzz{zzz{{{zz{|{{{zz|{zy{{{z{z{{yzzzyzyz{{{{{|{{{zz{{zzzz{{{{||{{zz{zz{zz{|{{{{{{zz{zzzz{{{{zz{z{zzy}z{y{|{z{|{{z{zzz{{zz|zzz{{{yz{z{zzz{{{|{||{zz{zzzy{{{{{z{{}{z|{z{z{{{|{{|{|{{|{{{{z|{|{||{||{{{{z{{{||{{{{{{yz{{zz{{|{{z{}{{{|{zz{{{{{|z{{{{z|{|{z|{{|}||{|z{{z{{{z|{{||{}}|{{z{{zz{{{|{|{|{z{{{z{z|{|||||}|{{{{{{{|{|{||||}z{z{{{{{|}{|{}{{{{{{z|{|||||{{{|{z{z|{{|{{|||{|{{{{{z{|{||{|{|{{{{{z{zz|{|{|{||||{{{|{z||{{{{{z{zzzzzzz{|{|{||}||}}z{{|{}|||{|}|{{{{{|{{|||{{}||{{{{{{{{{|{{|||{{{{{{{zzz{{{|||{{|zzzzz|{{{{|z|{{|zzzzzz{{{{{{|{{z{zzz{{z{{z{{{{{{zzzzz|{{z|{{zz|zz{zz{{{{|{||z{zzzy{z{|{{|{{||z{|z|z{zz{z{{{{|{zz{zz{y{{{zz|zz{zyz{z{zzzzz{z{{z{{{{{{zz|z|{{|{zzzz{zz{{{{z{{{|{zzz{y{z{{z|{{{{zz{{{zzz{{{{{{}{{{{z{z{z{||{{{{{{{{{zz{|{{{{{{|{{{{{|zz{|{|{{{{||z{zz{z{{||}|||{z{{z{{{{{{|||{{{{z{{{z{{{|{{|{||zzz{z{|{{|}||}||z{|{{|{{{|{{||||{{{{{{{{{||||||{|z{{{|{z{|||{||{{{|{{z{{|{|{{||{{zz{{{z{||{||||||{{{{{z{{{z{|{|||{{zz{{{{{||{z|{{{{z{z|{{{{|z}}}||{||{}||}|{|||||{|||zzz{|{||}|}{z{{{zz{|{|{|{z|{zz{{{{{{z{|{|{}{{{{zz{y|{|{{|{{y{{z{z{{||{z{||zz{yzzzzz{|{zz{{{{z{|zz{zzz|{{|z|zzzzz{zy{{{{{{z{{{zzz{zz{{{|{{|{{z{{zzzz{{{{|{||zz{zzz{zz{{{{{|{{zyzzz{{z{{zz|{z{{{{{{yz{{{{{{||{z{zz{{{z{{z|{{{{z{|{z{z{z{{|{{|z{y{z{{z{{{{{{||{{{{{z{z{{{|{|{{|{{{{{zz{{||z{{{||{{{{{|{{z{{{||z|z{|zz{{{{|{|{{{{z{{{{{|{z{|||{{{{{{{{z||{{{{|||{{{||z{|{{|||||{{{z{|{{||{{{{}}}z{{{{{{{|{||}|{{{|{{{{{{{}||||{{z{|{{{z{{{z{{|||{{{{{z{{|||||||z{{z{z{{{{z{{{|{|z{{z{{z{|{|{{|}z{{{z{zz||{{{||}}||{||{z||||}|}}{}{{{||{|zz|{|{|{z{{{{zz{{{{{||{|{{zzz{zz{{{{z{{z|zz{z{z{{{{z|{{zz|zz{zz{y{z|{{{zzzz{{z{{z{zz{|{z{zyz{y{|{zz|{{{zz{{{{z{{{{{{{{zzzzzzzz{{{z|{{||z{{zzzz{{{{||{{|{zz{zy{zyz{{{|{{{zzz{y{z{{z{{{{{{z{z{zz{{z|{{{{|zz{zzz{zzz{{z{{z{{{zzzzz|{|z{{z{zz{yy{z|{{{z{{{{{{zz{z{zz{||{|{|{{z{z{xz{{{{{{|z{{zzzz{z{{z{{{{|{z{zz{z{{{{|{|||{|{z{{{{z{{{||{}{|zz{{z{|{|{|{{||{z}{{{z{|||{||{z{{{z{|{{|{{{|{|||{|z{z{{|||{{||||{|{|{{{|||{{{||z{{{zz{{{{{{{{{{{{{{{{{{{||{|||z{zzzz{{{|{||{||||{{zz{z{{{|z{{{z{zz{z{{{z{{{}||||}|}{{{z{~|||{||{{|{{zz{}{{}{{|{z{{{{{zz|{||{|z{{zzzzz{{|{|{||{{zz{{z{z{{|{|{{|{{{zzz{{z|{{{|{{{{{zzz{{{|{zz{{zzzzzzzzzzzz|{{{{z{zz{{{z{{{{{{|zz{{|{{z{{z{{{z{{{zz{zy{{z{z{{{{{{zz{{z{yzz{{zz{{z{z{yzy{{{{{{{z{zy{zzzzz{{z{{||{|{zzyzz{{{{{{{{{zzyz{{zz|{{{{{{|{{{zzz{z{|{{{|{|{{{{{{z{z|{|{{z{zz{{{z{z{||{z{|{{{z{zzzz{{{{z||{{{{z|||{{|||{||{z{|{{{{z||{}||{~|z{{z{zz{{{z}||{|z{{{{{{|||{||||{{{{{{|{{|{{|{||{{{{{|{{{|{|{||{|{{{{z{{|{|{||||{{{{{z|{z{{|{|||{{}{||{|||{{|{||{{{{{{{y{|{||||||{{{{{z{z{{{|{||{{{z{{{zz{z|{}}|}}|{|{{y||}|||||{||||zz{{{|||}{|{|{z{{{z||{{{|{{z|{{{z{z{{{{{{|{{zzzzzzyz{{z{|{|{z{zzz{{z{{|z{{{{{{y{z{z{||zz{z|{z{yzz{z{{{{||{{zzyzzzzz{{{{z{z{zzzz{zyz{{|z{z{{{z{{{{{y{z|z{{{{{{{z{yzyzzz{{{{{z{|y|zz{z{{zz{{{{z{z{{zzzz|{z{|{{zzzzzzzz|{{{{{{{z{zzzz{{{{{{{{|zzz{{z{z|{{{{{{|zz||{z{{{|{{||{{{zz{{zz{{{{{{|}{|zz{{{{{{{{{{{|{z{z{{{{{{z||||{|z{{{{{|{|z{||}{|{zy{{{zz|{|{{||{|z{{{{{z|||{{{{|{z{{{{|{||{{}}{{|z{{z|{|{}{|{|||{{|{z{{{|{|{{}|{{z{{z{{{|{||{|{|{{y{|z{{|{|||{{|{{{{z{z{{|{|{{||{{{{z{{{{{|{{||{zzzzz{{z{{||{~|||{||{{{||{|}||||{z|z{{{{{{{|||{}{{{{{{{{|{{|{{||{{|z{zz{{{|{{||||{z{{zzz{|{|{{{|{z{z{z|z{{{{z||{zz{zzzzz{{{{{z{{{{z{y{zz{{{{{{{{{zzzz{z{{||{zz}{z{z|z{z{z{{{|{{z{{{zzz{z{{{{{|{{|z{{z{{z{|zz{{{{zz{z{z{z{|{{{|{{zzz|z{zz{|{{{{|{{{zzzz{z|{{{||z|{y|zzzzz|{{{|{{|{{zz{{{{{|{{|{||{{z{zz{z|{|||{|zz{zzz{{{||{{||{{{z{|{{y{{}{|{|{|{|{{{{{{||||||||{{{z{{|{|{{|{|}|{{{{{{z{{{||{{|||{{z{{{{||{{{|||{{{{{{{||{{|||}{|{|{zz|{||{|||||{{|||z{{|{||{|}{{{{{{|z|{|{||}||{{{{|{z{|{{|{|{|{z{{{{{{{||||{|||{y{{{{{|{{|{{}{{|{{zz{|{{{{{||}||{|{|{{||{{|||}|{|{|z{{}|||{|||||{{z{z{|z{|||{||{{{{{{z{{{|{||{{{{yzz{z|{|{{||z{{zzz{z{{}{{|||{{{{z{z{z{{{{{{{{{{|z{z{{{{z|{|{{zzz{zzz{z{{{{||{zzz{z{{z{|{|{{{y{{{{yzzzz{{{{|||{{zzzz{z{||{{|{{{zzzz{z{z{{{{{|{{{{z{|z{z|{{{{{{{{{zzzz|{{{{{|||{z{{{z{{{{{{{|||{|{z{{z{{{{{|{|{|z{{{{{|{{|{{|{||z{{{{{{|{|{|{{{|{{{{|{{|{|{{{|{{{{z{||{|{||}{|{{{z{{{|{{}{{|}}|{{{{{|{{|{|z{||{{z|{{{{z||{{||||{{{{{||{{|{|||{||{{{|{{z{||||}|||{||{{{{}{||}||}|z|{||{{||{|||||{{|{z|{{|{{||}||{{{{||{{z{{}||||{z{zz{{z{{||{{||z{|{{{{{{{|{|}|||z}{{{{{|||||}|}{|{|{zz{{|{|}{{|{{{|{{z{|{|{|{|||z{|{z{{{{||{{{{|{{z{yzz{{{{||{{zz{{zzzy{|{{{|{{y{{{zzzz{z|z{{{{{zzzz{z{{{{{{|{{{{{zz{z{z|{{z|}{{z{zy{z{{{|{||{{{zz{{zzyz|z{{{|{{zz{{z{z{{{{{{{|{zz{zzzzz{{{||{{yz{{z{{y|{{{|{{|{{zz{zz{z{{{{|{|{{zzzzzz|{{{z||}|z{zz{zz{{{{{|||{{{z{z{{{{{|{|{{{z{{{z{{|{||{{|{{{z{{{{{{{{{{|{||{{{{{{{{|{|||||{z{zzz|{z||||{{{|{zz{|{{{{|||||{{{|{|{{z{}|{|||{{|{{{||{{||{|||{}|{{{||{{}||{||{|{z|{{{|}{{||||{{z|{|{{{{|z{}|||{z{z{|{zz{||}|||{z{{zz{{{{{}|{||{{z{z{{{|{||{||||{{{|{{z{{{|{{|}z{||||{{{|||{}}|{{z|{{{{}|}z{||}{{zz{{zz|{{{{{|{|z{{zz{{{{z|{{{|{z{zy{{z|z|{{{{{{zzzzz{{{{{{{{{{{{zz{zz{{{{{{{{{zzz{z{zzzzz{z{|{z{{{{zzy{{{|{{{{{z|{z{zzz{|z{{{{|zzzz{zyz|{z{{{|{{zz{z{y{z{{{{{{{z{zzy{z{{{z{{z{{zz{{zzz{|{{{|{|{z{z|{zz{|{{|}{{{{zz{z{z{z|{z|z|{{{zz{{|{z{{{|{|{z{{{z{z{|{z{{{{{{|{|zz{{||{z{{z{{z{z{z{{{{{{||{|{{{{{yz{|||{{}{{{{{|{z|{|{|||||{{z{{{{z{{{|}||||{z|z{z{}|}|{|||{||{{|{|{{{|{||||{z|{|zz{|{}|}{||{{{z{z{}||||||{{{z{|{|z{}|}||}{{|z{{{{{||{{{||}|{{{{zz{{{{{{}|||{{|{z{{{{||{{{{|{{{zzz{{|{{||||||{|{{|{{{|{|}||{|z|{{z{{{{{{|{|{{|z{{{|{{{{{{{|{z{zz{z|{{{|z||||{{y{{{zz{|||{{{z{{{z{{zz|{{{z{{|z{zzzzz{{{y{||{{z{yy{z{{{{{||z{zzyzzzz{z{{zz{{z{zzzy{zz|{{z{{||{zz{{{{{z{{{z{{{{{yz{zzzz{zzz|{{{z{zzzzzz{{{{|{zz{{{{{zz{{z{z{{{{{z{z{{{z{z{{{{{{z{z{z{{{{{{{{{|z{|zz{zz||{|{|||{{zz|zzzz{{{{{{{{{{{z{{{|||z{{|{|z{{{{{{|{|z{{||{{{{{zz{{{{||{}|{{{z{{{z{{{||{||z{z{{{z{{||z||||{{{{zz{z|||{{|}|{{{{{{{{{{||||||{{{{z|{{{||}{||||z||{{{{|{||{||||{|{{{zz{|||{{|{{{z{{{{|{{{{||||{|z{{zzz{|{|{|{{{{{{{z{z{|{|{|||{{z{zz{{{z|{|||}|{{z|{{|{{||{{|||{|{{{z{{{}||{||{{{zz{zz|{z{{||{|z{{zz{zz{{||z||zzzzzzzz{z|{z{|zzzzzz{{y{{z{{{{{{zzz{zyz{{{{zz{{zy{z{zzz{zz{{{{{{{yzzy{zz{{{{{{z{{yzyz{y{{{{{{{{zzz{zz{y{{{{||||zzz{zzzzz{zz{{{{{z{z{{z{z{z{{{{{z{zyzz{z{{z{{{{{{zz{{zz{{{|{{|z{{{{z{zzz{{{{{{|{z{|{zzz{z{z{{{{{zz{{zzzz{{{{{|{z|{zzz{{z{{{{{||{{zz{z|zz{|||{{z{{{zz{{z|{||{||{{zy{z{z{{|{z|{{{||{z{{{zz|{{{{||{|{z{{|{{||{||{{|{{{{{{{{zz||{{{||{z{z|{{{{|||{|{{{|{z{{|{|{{|{}}{{z{|{{{|{{{{{|||{{{{z||{{|{{||{{{{zz|zz{{|z|||||{{z{{z{z|{{{|{{{{{|{{{{{{|{{||{{|{{{{{{||{{||||{{z{{{{{{{||{||{{z{{{z{{{{{{||{|{z{{z{{{{{{|{{{||{z{z{zy{{{{{{{|zyzzz{zz{|{{y{{{z{{zz{zzzz|z{{{|zz{{z{z{|z{{z{{{{zzzzyz{{{{{{z{{{z|zzzzzzz|{z{|{z{z{yzz{{|{{{|||z{zzz{z{zz{z{{{||{{yzz{zz{{{{|{{{{{zz{{z{{{{|{{z|{zz{{{{{{|z{{{|y{{{zzz{z{{{{{{|zz{{z{z{z{{{{{{|{{zzzz{zz||z||{{z{{{{{{{z||{{{z|{{z||z{{{|{{z||{|{{z{z{{{{|{{|{|{{|zz{{{z{{|{|||{{{{{{z|{{|{}||}|{{||{{z{|}{|{|{{{z{z{||{|{|{{||||{{{{{{{|{}|{|{|{|{{zz{{|{|||||||z{{{{{{|{{{||}|{z|{{z{{{{|{|||z{{z{{zz{}||{||{{{{z{y{{z}{{|{|{{z{zzzy{{{||{{{z{|{{{{|{|||}{}{||{{{{zz{{{|{{|||{{{{|{zz|z|{||{{{zzzzzzz{{|{{z||{{{zzz{z|z|{||{{{{{z{z{zz}{z{{|{z{z|y{z{z{{{{{zz{{|z{{zz{zz{z{|{{{zzzzz{z{{{z||{{z{z{{zz{{zz{{{{{{z{z{z{z|{|{{{{{yz{zzzyzz{z{{{z|zzzzzzzy{z{{{|{zz{{{|z{|{|{{{|{{{z{|zz{z|{z{{{|zzzz{z{z|{|{{|{zz{|{z{{z{{|{{|||{z{z{zz{{|{{||||{{{z{z{z|{||{{||zzzz{zz{|||{||||z{{z{zzz{{|||{{{y{{z{|{|{|{{{|{|||{|{{z{||}{|}}{|zzz|{{{|||{z|||{z{z{{{{{{{|||{|{{|{{{{{{}|||{|||{{|{{|z|||||{||{{{{{|{{|{{|||{{{z{z{z{{{}|||{||{{{{{zz|{|{{{|||||{{{{{{z|{|{{{|{z|y|zz{|||{||||z|{zz|z|{|||{{}||{{{{{z{{||{||||{{{z{{|z|{{{{|||{z{{zzz{{{}{{z||{{zzzzzzz{{{{{{{zzzzz{{zzzz{{{|{|||z|zz{{z{z{|{z{{zzzzzz{z{{{{{{zzz{zz{z{{{{{{|{{z{zzzyz{z}{{{{z{zz{zzzz{|z|{{{z|zyz{zz{z{{{{|{{{{{{{yz{z{z{{{{{zz{zz|{z{{{z{||z{z{{{z{z{z{{z{{{{z{{z{z{{{{|{|||{{{{z{z{z{z{{{}{{{{z{zzy{{{z{||||zzz{zz{z{|{{{{z|zz{{y{z|{{{{}{}|{|{|{{{||||||||{{|z{{{{|{|}{|}|{{{{{{{z{|{{|||||z{{{z{{|{|{{{||z{{{|{{{{|{|}|||{{{{{{{z|{||{|}||{{|{z{{{|||{||{{|{{{|{{||{||}{|{{z{|{{{{|z|||{|||{z{zz|{|{{{||||{{{{y{z|||||{}|{{{zz{zz||{{{}||{}||{||z}{|}|{{}{{|{{z|{|{{{{|}{z{zz{||z||}{{{}{|z{y|{{{{{z|{{|z{{z{zyz{{|{{z{{|{z{zz{{zz{{{||{{{{z{|z{z{{{{{{||{z{zzz{zzz|{{z|{{zzyz{zzz{{{|{|{{zz{zzzz{|{{{||{{z{{zzzzz}{z|{{|{{yzzz{z{|{{{|{|yz{{zz{{z{{{{}{{zz{{z{zz{{{{{{{{zz{{{z{z{{{{{|{{|{zzzz{zz{{{z{{{zz{{{|{{{{{{{{{{{{{{|z{{{{{|{{|z|z{{{{zz{||{{||{zz|z{zzz||{{||{{{{{z{{{{||||||{{{|{{{{{{|{||{}}|{{{{{{{{|{|{|{{{|z{{|{|{{{||{|}{|{{{{||{}{{|}{{|{z|{||{}{||{{{|{|z{|{{z|{|||}{|||{zz{z{{{{{{|{||{|{{{{z{|{|{{||}{{|{{{{{||z{||||{{z{|z{z{|{{|||{{{{{zz{z{|{|{|||{|z{||zz|||{{{||{{{{{y{{{|{{{|||{{yz{{zz{z{{{{{|{|{|{{zz{{{{z||{{z{zzzz{{{|{{|{|{z{{z{zzzz{{{|{z{{z{y{zy{{{{z|{{z{{zz{zy{{{{{|{|z{z{z{zzz{{|{{{{{zz{z{z{{{{{{{{|{zzzzz{z{{{{|{||{zz{z{z{zz{{{{{{{{{zzzzz{z{{z|{{{zzzz{zz{z||z{{||zzzzzyz{{{{{{{{{z{{{z{{{{{{{||{{{{{z{z{|{|{{{|{zz{{{{{z{{|{|}|{{{|{z{{{{|{{{||{{z{{{{{{{{{{{}z|{{{{{{{|{{||||{|{{{{|{{|{{{|{{{{|{{{{{{{{{||{||{|z{{{{z{{{{||||{{{{{z|{z{|{{}||||z{{{{|z{z|||{}||{|{{{{{|{|{{||{|{{z|z{{{{|{}||}{{z{|z{{{{{|||{{{{{{{z{{z{{{{|||{|{{{{z{||{{{{|{{z{z{{z{{{|{{}{|||{{{{{|{||{{|||{||{{z{{{{}{{|{{{|{zz{|{||z|{|||{{zz{{{{{{|{{|{|{{{{zz{z{{{{{|{|{{{{{{{z{z|{zz|{{{{{{{{z{{|{z|{|{z{zz{zz{zz{{z{|{z|zz{z{zz|z||{|{zz{{zz{|{{{{||{|z{zzzzz||{{z{|{{{{zzz{zz{|{{{{{|{{z{zzz{{{{z{|{z{z|{{zz{|{|{{|{{{zz{yzy{{{|{|{|zzz|zz{{|{|{{{{}{{{{z{z{{||{|||{{z{{{{zzz|{|{{|{{z{z{{{{{{||{{{{|z|{{z|{|||{{|{||{{z|z{z|{||||||{||{{||{||{|}}|{{z{{{{{{|{{{{{|{{{zzzz{{||||||||z{y{|z{{z}|||||}|{{z{{{}||{|||||{{|{|{z{||||||||{{{{|{|{|||{||}|{|{{{{{zz{|||{|}{{{zy{z{{{{{{}|}{{{{zzz{{|||{{|{{z|z{{yz{{{{||{{{|{|{{|{{{|||||{z{{{z{zz{{|||||{{{zzzzzz{{{z{{{{{{{{{z{{{||{{{{|z{{zzzzy{{{|z{{|zz{z{{{zz|{{{|{{{{{zzzz{{{|{{{{|z{{zz{zy|{{|z{||{zz|{yzz{{{{{{{|zz{zzzzz{{|z{{{{{{||z{zz{{{z{{z{z{zzzzzy{z{z{{{{{{zzzzyz|{{zz{|{{zzz|zzz{{{{{{|{zz{zz{{z|zz|z{|{|{|z{z{{{{{{{{|zzz{z{z{z{{{{{|||{{{{|zzz{|{||||{z{|{{{z{{{|{z{}}{z|{{zz{{|||{||{{{{{zz{{{{{}||{|{{{{{{{{||{|{||||{{{{z{{|||{|{||{z}zz{zz{|{||}|||{{z{z|{{|||{{{zz{{{{{{|{|{||||||{{{{{{{{{}|{||}{{{|{|{{{{{{|||||{{z|{{{|{{{||||z|{z{{{|z{{|{||||z{zz{{z{|||{}|{{{{{{zzz{{||{{{||{|{{{{z{{|||{|||{{|zzzz{{{||||||{{{z{{z{{{{|{{{{{zz|zz{zz{|{{}|{z{{zzzz|{{|{|{{{zz{z{{z{{{{{|{|zz{{{zz{{{|{{{|{{zzz{{{{{{{{{{{{zzz{zz{{z{{z{||{{{zzy{zzz|}{{{z{{{z{{z{{|{|{{{||{{{{{z{{zzz{{{{{z{yzz{{zy|z{{{|{zz{z{zzz{{|{{z{||z{{{{zz{z{{{{|{{{{zzz{{{{{{{||{{{{z{{z{{{z|{||||{|zz|z{{{|||||{{{{{{{z{|{{|{{|{{{zz{z{z{|{{{|}{||{{||{{{|||{{{{{{{z{{|z{|||{}||{{{z{zzz{||}{}{{|z{{{z{{{||||||{z{{{||{{{|||||{{{{{|{{{{||}{{}|}|{{{|{{||||}||{{{{{|{{|z|{|{|||||{|{|{{||||{||{|{{|{{{|z{|z|{|||||{{z{{z{{{|{z}|{zzzz{|z|{{{{{|{{|z||{z{||{|{z{||{{{{{{{{{|{{|{|zz{{z{z{{{z{||{|||zz{z{{{{{{z{|{|{zzzy{z{{{}{{{|{zzz{zzz{{{|{{{|{y{zz{{{{z{{{zz{z{zzzzz{z{{{|z{{z{{{zz{z|{z{z|z{z{{{zz{{zz{{|{z|zz|yzyzy||{|z{{{{zzzyzzzz{{z{{{|z{{z{{{z{{{{{|{|zz{y{{zz|{|{{||{{zzzzz{{z{{z{{{|z{zzz{{{z{|{{{{{zz{zzz{z{{|{||{{{z{{{{zzz||{{{|{|{{zz|{z|{{{{|||{{{{{{{{{||{|z{{{z{{|{{{{{||||||{{z{{{|{{|{{||||{{{{zzz||{|{{|||{{{{{|{z{|{|{||}{||{|{|{{~|||||||{{{{{{{{{||||||{{||{z{|||||{|}|z{z{z{{{|{{{|{|}|{{{{{|{||{{|||{|{{zzz|{{{|{{|||{{z{zz{{{{{||z{|zz{zz||{{{{{{|{{{{{|{{{|{{{{{|{|{{|{{z{z|z{{||{{|{zzzz|{{{{}{{{{{z{z{zz{{||{{z{z{|zzzz{y{{{z{{{{z{{zz{{{{z{zz{{zz{{zzz{z|{{{z{|{zz{zz{zzz{z{{|{|z{z{zzy{z{z|z{{{zz{zzzzz{{{{{|z{|zzyyz{{zz{{z|||{{y{zyzyzzzz{|{{{{zzzzyzzzzy{{z{zzzz{zzy{zz{{{{|{{zzzz{z{z{z{{z{z{{{zzzzzzz{{{{{zz{zz{{|y{{|z{|{z{{{{{yz{{{|||{{|{|{zzyzz{{{{{||{zz{{{zz{|{{{{{|{{{z|{zz{|{{|}||{{{z{{{{|{{||{}|{|z{{z{{{{{{|||{|z{{{{z{{}|||}z|z{z{z{{{|{{|{{|{|{z{z{{{{|||||{}|{z{{{zz{{{{||||z{{{{{{{{z|||}||{{zzz{{{|{{{|{{||{{y{z{|{{{z|}{||{{|{{{{{|{|{{||zzzy{{zy{{{z{|||z|{{zzzz{{{{{{{{{{{zz{|z{{|{{|{|{{{{{{zz{{|{{|{{{z{{zzzz{{{|{{{{{zzzz|yz{{{{{{{{|zzzzzzzz|z{{zzz{zzz{|z{{{|z{{z{{{{zz{{zz{{|{|{{zzyzzyzzzz{{zz{{{zzzzzyzz{{{|z{|{z{zzzzzz{{z{|||{zzzzyzy{zz{{z|{{{zzy{z{zzz{{{{{zzz{{z{yzz{z{z{zz{yz{y{{{{{{z{{{zzz{{zz{{zz{{{{{{{zz{zzz||{{{z||zzz{{zy{{{{|{z{{yzzzzzz{z|||{z{{{z{{z{z{{|{|{|z|zz{{z{{{{||{|{z|{z{{z{z{{||{|{|||z{|z{z{{|{|{|{||{{zz{{|{|{|{{{{{{{z{{{{{{{}{|||||z{{{|{{||{{|||}{{{{z{{|{||{|{{||{z{z{{z{z{|||{{zzz{{z{{||||||{{{{zzzz{{{{{|{{|{|{{z{{{{|||{||{{{{y{zzz{|{{{|||{{{{z{{{{{|{||}|zz{{z|z{|{{|{{{{{{zyz{z{|z{|{{{z|{{{zzzz|{{{{{{|{zzyz{yy{y|{{{{|zy{z{z{z{{z{z||{{zzzzzzz{z{zz{{{{{zzzzzz{zz{z{{{zzzzzzzz|{{{{{{zzzz{zzzzz{||z{||z{{zzzzzy{{{{zz{zzzz{{z{z|{z{{|{{zzyzyz{{{z{{{|zzy{z{zzz{|{{{{z{zzzz{zz{z{{zz{{|{{z{zyzz{{{{|{{|{{{zzzzz{{{{|{|{{z{z{z{z{|{|{|{|{zz{{zz{|z|{{|{{zzzz{{z{{z{{{{|{{{{{{z{{{{||{{{{{z|z{{{{}}{|{|||{|{{z{zz{|||{{|||{z{z{|z|{|{|||{|{{{zz{{{|||{|||{|{{{|{{|{||||||{{|{{|{{|||}{||{|{{|z{z|{{{{{{}{|{{{{{{{{||{|{{{z{|zzz{{{{|{{|||{{zz{{{{z|z|z{|{{{|{zz{z|||{z||z{{{{{{{z|{{{|{||{|{{{zzz{|{{{{||{{zz{{zz{{{|{|{{{{{{{zyy{{{z{{{z{zzzz{zyz|{{{|{{z{{{{{z{{{{|{|{|{zz{zyz{zz{zz{{|{{y{z{yzzz{{zz{|{zyyzzz{{|{{{{{z{z{zz{yzz{{{{z|{zz{z{{zy{{{{{{||{{{zzzz{z{{zz{{z{{zyzzz{z{{||zzzzz{z{{zz{{{{|{{|z{zzzz{{{{|{z||{{{z{|z{{{|{{{|{{{{zzz|{zz{{{{z{{|zz{z{z{{{{{|z{{{{{zz{z{{{{{{{}{{{{{{{{z|||{{{{{|{z{{{z{|{|{{|||{{|{z{z{{{{|{|||{{{{|zz{|{{|z{|{{z{{{{z{{{{||{{{{{{{{{{{{{|{{|{||{{{{|{{|}||{|||{{{{z{{z||||{||{|{z|{z{z||||{{|{{{{z{{{|{|{{{|||{{|{z{{{z||||{|{{{{zzz{{{{{{{{{zz{{{zz{z{{{{|||||{{{{{{z{||{|{{|z{{{zzz{||{{|{||{{{z{{{z{{{{|{|{zzzz{zzz{|{{{{{|{z{z{zzz{{{|z{{|z{zz{{{{{{{{z{||{{{zzzzzz{{zy{zz{{{zz{zz{{z{{z{{yzzzzzz{{{{{{{{z{{y{{zzzzz{{{{{{zy{zyz{z{{|{zz|{{zyzzz{{z{{{|}|zzzz{zz{z{{{|z||{{z{zzz{z{{zy{z{|zzz{zzzz{|{|{{z{zz{{{yzz{{|{{{{|zzz{zz{z{{|{{|{|z{{{{z{{{{{{|{{{z{|{{z{{|{|||{|{z{z{{{z{{|z{{{||{{|{{{{{{|{{||||{{{{{|zz|{{{{||{{zz{{{|{|{{|{||||{{{|{{z||{|{|||{{{{z{{{{|{{|{|{|{|{||{z{}{||||||{{|{z{{{{|{{|{{{z|{zzz{|{z{{||}|{{{{{z{{||{|{{{|{{zz{}{||{{||{|{{z{{{{{{|||z{{|{{|{{{z{z{|{{|{{{{|{|z{zz}{{{z{{{|zzz{yz{z|{{{|}{{z{zz|{||{{|||{z{zz{{z{{z{{z{|{{{{zz{zz{{{{{{{||yzz{zzzzz{{z{|z{z{zz{{z{z{{{{z{{z{zyz{{z{zz{z{{{z{z{zzzz{{z{{{|zz{yzzyz{{{z{{z|z{z{zz{y{{{{{z|{z{zzyyzzz{{z{{{{{zzz{zz{y|{{{|{{{{{{zzzz{{{|z{|{|{z{{zzzz{||{{{|{zzyzz{{{{{{{|{|{{z{{zz{z{{{{{{|zz{z{z{zy{|{{{{{z{zz{{zz{|{{{|{|{{{zzz{{{z|{z||{|{{{z{z{z{{|{{{|{{z{{{{{{{{|||}{{z{}{zz{||{{||||{{zzzz{z||{|||}{z{{{{{|{{{||||||{{z{z{{|{|||{||||{{z{{{{{{|||{|}{{{{{{{{|{||{{|{{{{z|z{{{{||{|{}|{{{zz{{{{|{{|{|{{zzz{{z|{{|{{{|{{|{z{zz{||{{||{z{{{{{z{z{|{{|{}zz{{{zzz{|zz|{{|{{{{{{z{|{{|||}{{zz|{{{z{{{{{{{{{{y{{zzz{{{{{|{|{{zzz{zz{{zz{{{z{zzzzzyz{{{{z{{{|z{{z{zyz{{{{z{{{zzzzzzyz{{{|{}{zzz{yzz{{z{z{{{z{{zzyyzy|{{z{{{{{zzzz{{zz{{zz{{{{z{zzyzz{{{z{|{zz{z{zzzzz{{{|||{{z{z{z{z{|{{z|z{{z{{yz{zz{{zz|{{{zz{{zz{{{{{|{{{{{|{zzzz{{|{zz||{z{{{{zzz{{{{{{{{zz{{zzz{{|{z{|{{{{{|{{{{{{{||||{z{{|{{{|{|{||||{z{{{z{z|||{{{|||{z{{{{z{|{{{{||{z{{{|{z|{{|{|{|||z{|z{{{{{|{||{{{{{{z{z|{|{{|{||{z{{zz{{|{{{|||{{z{{{{z{{{}{|}|{{{z|{z||{|{{{{|{{{zz{|{||{{{|{|{{{z{zz{z{{z{|{{{z{{{z{{|{|z{||}{{{zz{{{{z{|||||{z{zzz{{|{{|{{{{{{{{{y{{z{{{{{{|{z{yzzzz|{{zz{{|{{zz{y{yz{{z|{|{{{{{{zz{{z{{{{|zy{z{{{y{{{{{z{{{zzz{zzzz{z{{{z{{{z{zzzzz{{{{{{{{{z{{zzzzz{{|{{z|zzzzzy{y{z|{z{z{z{{z{yzzz{z{{{{{zzzz{zzz{{z{{|z{{yzz{z{z{||{{{||{z{{zz{{{{{{z{|{zzz{{{{{|z{|{{|{zz{zz{zzz}{{{|z|{z{z{z{y|{{||{{||{{z{{{{{||z{|{{{{{{zzz{||{|{{|{z{z{{y{{{{{|{|}}{zz{z{{{{{{|{||{{{{{|{z{|{||{}||{{{{{|{||{{||{|}|{{{z{{z{}|{{|{}|{||z{{{{||{{{{||zzz{{zz|{{||{|||z{{{{{{{||||{||{zz{{{{{{|{{{|{{{{{{{{{{{|{|{|||{{{zz{{{{{{z{z|{{{{{{{{{z|{z{{|}|{z{zz{{{{{|{{|}{{{z{z{z|z{{|||||{{{zyyz{{{{zz{|{{{{yz{{{z{|{{{|{{zzzz|z{||{{||{z{{|zzyzz{{z{{{{{yz{z|z{z|zz|{{zz{yzzzz{{{|z{z{zz{zzyzzz{{{z|{{z{{z{zzzzz{{|{{|{{|zzzy{zz{|{{{{{zz{zzzyzzz{{z|{{|z{{{{zzz{|{{{||zzzz|zyz{{{{{|{{{|{{z{{z|{{{|{|{{z{{zz{z{{|{|{{{|{zzz{z{{{{{{{{{{{z{{{z{{{|{{|{{{{z{{{z{{|{{z{|{{{{{{z{{{{|{{||{|{{z{z{z||{|{{|}{{|z{|{z{{{|||||{{{{{}{{|{|{||||{zz{{{{z|}{|||||}{z{{{|{{{||{{{||{{{{z|{||{|||||{z{{{{{{{||{{||||{{{{{{{||{{||||{{{z{z{{{{|{{{|{{{{{{{{{{{||{||{{z|z{zzz{{|z{{{|{{{{{{zzz{{{{{|||{{{z{{z{{|{{||z{{zzz{z{{z|{|{{|{z{{{zzz{{{{{z{{{{z|zy{z{{{{{|{|z{|{z{z{{{z{{{|{zz{{z{zz{{z{z||{{y{zy{z{z{{{z{{{zz{yzzz{z{{{{|zz{{z{zzyzz{{{{{{{{{{z{{{|zzz{{{{{{zzzzzzzzzz|{{|{{{zz{zz{z{{{{{|}{zzzz|zzzz|{{||{{zz{zzzzz{{{{|{|{{{zzzz{{{{{{{|{y{{{z{z{{|{{{{|{{{{{{z{zz|{{{z|{{{{zzzzz{{|{z{|{{{{{{z{{|{{{|||{{{zz|{{|z|||||{zz|{{{z{{|||{{|z||{z|z{{{||||{{{||z{{{{{{||||{|{|{{{{z|{{{|{{{}|||{{{z{z{{}||||}|{{||{z{{|{{||||{|{{|{{{{z|{{||||{{z{{z{|{{||{{||{{{{{z{z{{{||{|||{}{{y||z|{|z{}|{{{z{zzz{{{{{|||{{zz{zzzz{}|{{{||{z{zz{z|{{{{{|{zzzzzzz{|{{|{{||{z|{{{z{{z{||{{|z{{yzzzz|z{{{|{{z{{{zzzz{z{z{zz{z{{{{{zz{|{z{z{|z{z{z{z{{z{{zzz{{z|zzyyz{{{{zzz{zzz{z{zz{z{{|{|{zz{zyz{z{z{{{{{|{{zzzz{zz{zz{{zzzz{zzyyyzz{{z{{|{z{{zzzz{|{{{{{{z{{zzy{z|{{{{{{{zz{z{yzzzz{|{|z|zzz{z{zy{{|{{{{{z{{z{y{{{{{{|z{{{z{zz{z{{{{{{|{{{{{{yzz{{|||{||{{z{zz{{z{{{|||||z{{z{{z{{|{{||||{z{z{z{{{{|{{}{||{{z|zz{{{z{||}{|z{{|z|{{|{{|{|||{z{z{{{||{|{||{||{{{{{||||{|{||||{{{{z|{{z|||||{{{z{zz{|||||}||{{z{{{{{|||||}|{|{{z{{zz{{z||||{{zzz{{{z{{|{{{z{{{z|{zz{z||{|{{{{{{yzzz{|{}|{{|{{{|{zzzzz{{z{|{}{zz{{zzz|{{{z{{}{{zyzzzz|{{||{|{z{z{{zzyz||{z{|{{{{yz{z{{{{zz{{{zz{zzzyy{{{{|{||{{zzz{yz{{zz{{}z{{{{zzyzz{|{{{z|y{z|z{yzz|{{{{||zzz{zzzz{{{{{{|{z{yz{z{{z{z{{{{{zz|zzzz{zzzz|{{|{{zy{zz|{{{{{{|{{z|{{y{zz{{{{{||zz{z{{{{{z|{{{||{|z{zz{z{|{{{|{{zz{zzzzz{{{{{{}{{{{zz{y{{||z{|{{{{{z|z{|||||{{z{|{{|zz{z{{{|||{|{{z{{{{z{|{}||{|{{{{{z{z||{|{||{{{{{{{{{{{|{||{||z{{z{{{|}||{}||{z{{{{{|{{{|||||{{{|{{{|zz||||{|{|{{|z{{{{||{|{{{{|{{z{{||z|{{||{|z{z{{{{|}{{||{zzzz{yzyz}|{{|{|zzz{{{{z{|{z{z|{{zzz{zyy{{{{{{z|{z{zz{{{z{|{{||{zzzz{zzzz||zzy{|{z{{zzzy{|{z{{{|{zzzzzzyz||{z{{{{zzyzzzzzz{{z{{{z{{z{z{{{{zzz{{zzz{yzzzzz{{z{{{zzzzzz{zzz|{{{{{{{{zzz|zz{{z|{z{|zzz{zz{zz{z{{{|{z{zzzyzyyzzz{|{{z{z{{zz{{z|{{z|{zzzzzzz{{{z{{{{|{z{{zy{z{{{{{{{}{{z{{zzz{{|{z{{{{{{zzz{{zz{{|z{|{zzzzz{z|{|{{z|{{z{z{{{|{|{{{}{{|{zz{z{{{{{{||{{{{{{z{|{{{|||||{|{{|zzz{||||{|{{|z{{{{|z{{|}{|||{{|{{{|{{|{|||||{z{{z{{z|}{{{|||{{{|z{{z|{||{|||{zz||{{}{{z|||{|{{{{|zz{{|{{z||{||{{z{{{|{{{|||{{z{{zzz{{|{{||{{{yzzz{z{{{{{{{{}{zz{{{{z{}||{z||}{{z{z{z||{{{{}}|z{{zzz{{{{{|{|}zz{{{zzz||{{{{{|{{zzzzy{{{z{{{{{{z{zz{zz{{{{{{|{{||{z{{z{|{{{|{zz{{zyz{{{y{{{{{{zz|yz{{zz{{{{{||{z{z{zz{{{|z{{|{{{z{{{{z{{{{{z||{zz{zzyz{{{|{|{{{z{y{zzzz{{z{|{{zzzzzzzz{|{{z{z|{{{z{z{z{{{|{z||zzzzzz{{{||z|{{|zzz{z|zz{|{{|{{{{z{{{{z{{{{{{{{|zz{{{}{z{{|{{||{{{{|{{{|{|{{{{{|{{{|{{z{{{|||||{{|z{{{{||||{z{|}{z{{zzzz|||||||{{{{{{{{{|}{{|||||{{{{{{{{{||||||z{|{{{z{{|}{}|||{z{{{|zz||{{{{|||zz{|z{|{{|{{{|||zz}{{{{|{||{{||{z{|{{{z{{|{{|}||{{{{{{z|{{{|{||{{{|z{{z|{{{{|{{|{zz|{{z{|{{|{{|z{z{{{{{{{|{{|||{{{z{zzz{{|{{{{|{{{{zz{zz{}{{{z{{{|yz{zz{{|z{|{{{{zz{zzz{{z{{|{|{{{zzz{z{yz{{{{{{zzzyzy{zzz|{z{{z{{zzzyz{{{zz{{{{z{{zzzzz{{|{{{{{z{{yz{{{z{|{{|{{{{zz{zzzzz{{{{{{z{zzzz{{|{|{|{z{{{{zz{z{{{{{{z|{z{{zz{z|{{{{{{|{{{yzzzz|{{{{{|{|{z{z{{z{|{||{{|z{zz{z{z{{{{{{z{z{z|{{zz{{|||{|{{{z{|z{{|||{{{|{{{{z{{z{z|{{|{{|{{zzz{{{|{{{||||{y{|{{zz|{}||}||{z{{{{|{{||{|z{|{z{{{{|{||{||||{|{||{|{{z|{|||}||{{{||{||{{z{||{{{{{{{{|{|{{||z|||||{{z{|{{|||{|{{{{{zyz{{{|||||z{|z{{{z{{{z{{|{|{|{y{{{{{||{{z{{{{z{{{{{{||{|||{{z{{z{{{|{{|||{{z{zzzz{{|{|{{{{{z{{{zzzz{{{{||{z{{zzyzz{{{{{{{{{z{z|{{{{|{z{{{|{z{zzzyz{z{{{z|{{zz{zz{{{z||z{{{zzyzzzzz{|{{|{|{z{{zzzz{z{|||{{|{{z|yy{z{{|{{{||{{zzzzzzz{z{z{{|{{zzzzzzz{zz|{{{{zzz|zz{{{z|{|{{{z{zzz{z{{{zzz{{{zzz|zz{{{{{||{{{{z{{{z||{{|{|||{{{z{z|z|{{{{{||zz{|z{zy{{{z{{{{zz{||{{{{{|{{z|{{{{{{z{{z{{|{||}{{|{|z{{|{|}|{||{{{|{z{z{|||{|||{z{{|{z{{||{{|{|{{||z{|{||{|||{{|{{{||{z|}{|||||{{{{zz|||{}|{|{{|{{{|{{{{|||{|{{{|{||{{{|{|}|{{|{|{{{z{{{{|}{{|}{{{{{{{{{|{}|{{|{|{z{{{z|{{{{z|{|{|{{{zzz{{|{z|{zz{{{zzz{|{{||||z{zzz{{z{||{{|{z|zzz{z{|{{|z{{|z{zzzy{zy{{{|{{z{{z{zzy{zz{z{z{z{z{{{{{z{{|{|z{{zz{zyz{zzzz{z{{|{zzz{zzz{z{|zz{|{z{zzzzz{{{|{{|{z|{zzz{z{z{{{|{{zyz{zyzy{zz{zy{z|z{z{zzzzz|z{{{{zzzzzzyzz{{{{y{{{zz{{{z{zz{z{{{{{{z{zzy{{zz{{{z{{{{{{zz{{{|{{{||{z|{z{zzzz{{{{|||{{|z{{{z|{{{{|{{{z{{z{{{{{{|{|{{zzzz|{|{{|{|{|{|{{{{z{||{|{{|{{|{{{z{zzz{||{||}}{{{|{{{{{|||{}|{{{{{{{|{{||||||||{{z{{{|{||{{{|||z{{z{{{{||{||||{{z{{{{{|{|{|}|||{{{{{{{||{}{|{{{{zz{{z{}}{{{{{{{{{zzz|y{{{{|{|{{zz{zzzz{|||||{z{z{{{z{z{{{z{{z{z{z{{zzz{{{{|||{{|z{z{{y{z{z|{{{{zzzzz{{z{|{{{{{{zz{{zzzz{{{z{{|z{{zzzzzz{z{z{|{{{{{zzz{z{z{zz|{zz{y{{z{{{{{{{{{zzzyzy{zz{{zz|{z{zzzz{yzz{{{zz{{{zz{yzy{{{z{z{||zzzzzyzzzz{{yz||zz{zzz{zz|z{{{{zzz|{z{yzzzz{{{{{{{zzzzzz{{{{{{|{{{y{zzz{{{{{z{z{{{{{z{zz{{{{z{{|{{{z|z{z{|{{{{{{{{zz{zyz{|}{|{|{{zz{|z{{{|{{{||{{z{z{zz{||||||{}z{{z{{|{{|{z|{||{{{{{zzz||{|{{|{|z{{{{|{{{{{{{||||{z{{||{|{{|||||zz{{z{{{|{||{|||z{{{{{{{|{{||||{{{{{{{{||{||{|{|{{{{zz{||{|{z||{{{{{y{{{|}{{{||z{{{{z{z{{{{{{|{zz{z{{{z{z{{z{|||zz{{{|z{{{zz{{|{{{z{z{{{{|{{{|{{z{{{{{z|{{{{{{|{{zzzzz|{||zz{{||{zzz{yz{{{{||z|zzzzzyy{z|{{|{||{{z{zzzz{{{{{{|z{zzz{{z|{{{{{{|{{z{yzz{z{{|z|z{{{yzyy{z{{{|{{|{{|{zzzz{{z{{{z{{}z{zzzzzzz{zz||{{{{zy{{zzz{{{{z|{z{z{{zyy{{{{{||{{z{zzyzz{{{zz{{|{{z{zz{{{{{z{|z{zz|{zzzzz|{{{{z{{{{{{zzz{}|{{{{{{z{z{z{|{{{|{||{{{{{|{{{||||{{|{zz|z{{{{{{{|{{}}zz{z|{z{||{|{|{|z|{{{{{{z||{||{{{{z{{|z{||{|{|{{{{z{z|{|{|{|}|{|||z{{{{{{||||||{{z{||{{{{||{{|}|{{{z{z|{|{||{{{}|{{z|z{{|||{{||}|{{{{z{{{{|{{{|{{z{{{{zz|{{|{{{{{{{{zzzz{{|{{{z{{{zz{z{zz|z{{{{z{z{z{z{z|z|z{{{|{{{z{z{{|z||z{{z{{{{zzy{{{|{z{{{{{y{zzz{{zz|{|z{{y{zz{zy{{{|{|{z{{{yzzzz{z{{{|z{{z{zy{zzzzz{{zz{zz{zz{z{z{{{{{{zz{zzyzz{yz|z{||{zzzzzzzz{z{|{|{{yz{yzzzz{zyz{{z|{z{zzzz{z{zzz{{zzz{{zzzz{|zy{|{|zz{z{zz{{{{{z{|{{zzyzz{zz{{zz|{|zz{z{zz{z{{{z{{{{z{zzzz{z{{{{|{||{z{z{zzz{{y{{{{{zz{z{yz{{{{z|{{{{{z{z{y{{{{|||{{{zzy|{{{{{{{|{{{{{{{zzz{{{{{{|{{zzz{{{z||{{{||||z{{{{{|z}{||||}{z{zzz{{z||{|||{{zz{{{{zz|z|{{||z{{{{{{{{{z{{{|{{|{{{zz{|{{{|{{|{{|y{{zzz{|{|{|{{{{zz{{zz{{{z||{{{{{{z{zz|{{z{{|{{|{{{zz{{||{z|{{{z{zz{{|{{|{{{|{|{z{zzz{z{{{{|{{z{zzz{z{{{{zz{z{{zzz{{zzz{{z|{|z{z{{{{zz|zz{|{{zy{z{yzz|{{{z{{z{zzzzz{z{zz{{{{{zz{zzz{{{{zz{|{|zz{{zzyz{}yz{|{zz{z{z{zzy{{{{|{{{z{zzzzz{z{{z{zzzyz{zz{zz{zzz{{{yyzyzzzyzz{z{{{|{z{z{z{{{{{{{|{{zz{{zyz{|{{{{{|{zz{{zyzz{{{{{}{|yz{z|y{zz{{{{{{{z{z{zzz{{||{{{{{{{{{zzzz{{z{{{{|{{z{z{z|{|{|{{|{{{{yzz{z{|{{|||}|zzzz{zz{||{{|{zzz{zz{{z{||{{{||z{{{z||{{||{{|||{{{{z|{|{||||{|{||{z{{{{|}||}|{|{{|z{{{{z{{|||||{{{{{{{{{{|{||{|{{z{{{{{{|{zz|{|{{{{zz{{{z{{{{|{zz|zzz{zz{{{{{{{z|zzz{{{|{|{{{{{{zz{{z{{{zzz{{{||y{zzz{z{{z{|||||{{z{z{{{z{{{{||z{zzzzzz{{{{z{{|z{zzzzzz{z{|z{zz{z{z|zy{{{z{{{zzz{zzzz{z{z{{zz{{{zy|yzyy{{{{zz|{{zzzzzyzzzzz{z{{zz{zz{zzzz{{{{{{{z{{yz{yzz{zyzz|zz{zzzzz{{z{{}{z{zzz{{{y{z{{{{{z{yz{zz{z{{{{{z{{zzz{zzzy{|{{|{|{{zzzyzyz{{{{|{{{{{{{{y{{{||{{{{{{z{{z{zz{{{|{{||{{z{{z{{{||{{{|{{{{{{|{z{|{|{{{|zz{z{{{{||{{|{|||{|y{{zz{||||{||zz{{{{{{{||{|||}{{{{{{||{|{{||{{|{{|{|{{{||||{||}z|z{{{{}{||{{|{{{{zzzzz{z|||||{{{{{|{{{{{}{{|||{{{z{zz{{{z{{{|{{{z{{{z{{{{{{{|{{zzzzzzzz{|{{{|{zz{{{{zzzz{{z{|{{{{{zyzz{{{|{{|{{{{z{{{z{z{{{|{|z{zzzz{zzz{z{{{|{{{y{{zz|zz||{{|{{{zzz|zz{zz{{{{{zzz{z{{z{{{{{zzzzzz{zzz{{zz{{{{z{zzzyzzz{{zzz|{{z{{zzzz{{|z{|{{{zzzy{zz{{z|zz|z{zz{zzzz{{{zz{{|{zzzzz{z{|z{{z{{zzzzzz{z{z|{z|{|z{y{zz{z{{{{zy{{zzzzz{z{yz{|{{{|zzz{zyyz{|{{{{||{{z{zz{z{{{{{{{{{z{zzz{{{|{{{|||zz{{zzzz{|{{{{{{{{{{{zz{{{|||{{{{z{{{{|{{|{{|{||{|zz|{{{{||{|{{|{z{z{{|{{|{{|{|{{{{zz{|{{{{{||{|}{{{{{{|||||||||{{|z{{{{z{{{{|{||{|{zz{{{{{|{|{|{{{{|{z|{|||{|{|{{zzz{{z{{{||{{|{{{{z{{{z{{{{{|{z{{{z{{z}z{{{|{|{|z{z{{{{||{{{|{|{z{zzz{{|{{z{||{{zz|z{{z|{}|||{{z{zz{|zz||z{z{{{{{zzz{y{{||z|{|yzzzz{{zz{{z{{{{{{zzzyzz{{{{{{|{{{zyzzyz{z{{|{||{zz{zzzz{|zz{{{{zzzzzzz{{|z{{{z{{{z{{{zz{{{z{{{z{{{y{z{yzz{{z{{{{{zz{z{{{{zz{{{{zz{yzzzy{{{{{z|{{zzzzzzz{{{{{{z{{z{{{yz{|{{{{{{|zz{z{zzz}{{{{|{{{z{{{{{{z{|{{{{{{{z{z{{{{||{{{||{|{{|{z{{|{{{|{{|{{{z{{{{|{{{{||{{|{{{}|||{{||{}{{{{{zzz||}|{{|||{|{{{{z||{{|||{{|{{|||{z|{{{|||}{{|{z{{{}|{||||{{{|{{z|||z{|||||{|{{{z{{||{{{{}{{{{{{{{{{{|}{|||{{z{{{{{|{|{{{||zz{zz{{z{z{|||{{y{z{zz{|z|{{||{{{{{zzzz{{{{z|{{z{z{zz|z{{{{{{|}{{zz{{zy{z{{{|{|{z{{{z{{{{{{zz{{{z{{zy{zz{|{{|||{zzzz{{y{||{{|z{{{z{zzzz{{{{z{{{|zz{{zzz{{{{{z{|yz{yz{zz{zz|z{zz{{{zy{z{{z{z{{{{{{{{zzy{{{{{{{|{{zzzzzzyz{z{z{{zzyzzz{{yz{{zz{z{zzzzz{zz{z{{{z|{zzzzzz{zz{{z{z{|z{{zyz{{z{{{{|{{zz{{{z{{{{{{{{{{{z{z{z{y{{|{||zzz{{{zzz{{z|z{|{||z{{z{{{|{{{{{{|{z{{||{{||||{|z{z{{{{{{{{{{|{}||zzz|{{z{{{|||{|{{z{z{{{{{||z|{|{{zz{{|{{|{|{||{||z{{{{{{{|{|{||{{{{{{zz{||||{}|||{{z{zz{||{||{|{zz{z{{{{{{||{|{|{{{z{zz{{{{|{{|||{z{{z{z{{{{{|}{{zzy{z{{|{{|{|{z{z{{{z{y{{z||{{z{{zz{zzz{{|||||}{z{{|{{{{{{{{{{|z|zzy{z{{z||z{{{z{{yzzzz{{z{{{{|zz{zzz{y|{{{{{{{{z{z{z{z{{{{z{{{{{{zzzzzzzz{{|{|zzz{zzzz{zz{z{{zzzzzz{z{{z{{{{z{zzzzyzyz{|{{{{{{{zzzzz{yz{{{z|z|{zzz{{zz{z{z{{{{z{{z{z{zzz{{z{{{zzzzz{yz|{{{{{{|{y{{yzzz{{z{{{||{{zzz{y{z{{{{|z|zy{zzz{zz{{|||{|z{{z{{z{{{|{{{|{{{z{z{z{||{{{{{|z{{zz||z{{{{{{{|z{|{{{{z|{{||z|||{z{{{y{||||{}{{|{|z|{{{||{{{{}{{{|{{{{{{|{|{{|{|{{|{{{{{{|||{}|{{{{{{{{{{}||{||||{{{{z{|{|{|{||{{{{{{{|{|{|||{{{{{z{|{{z{{|{}||{{z{zz{{{{||{{{{{z{zzzzz{|z{{|{|z{{z{{{z{{}{{{{|{z{z{{{z{{{{}||{|{zzz{zz{{|z{||{{{zz{{z{{{{{{z|zz{{zyz{z{z{z{z{||z{z{z{{{z{{zz{zzyzy{y{z{{{{|{{{{{{{zzzz{|z{|{{{zzzzz{z{{z{zz{|zz{{zyzzz{zzz{z{{|{{zz{zz{z|{{||{z{{{zz{zzz{{{{{{z{zzzyzzzzz{z|{{{{zzz{zz{{{{|||z{z{yzzzzz{{{{{|{zzz{{z|yzz{{{{||zzzz{zzz|{{{|{|{{y{z{z|y{z{|{||zz{z{z|{{{{{{{{{{{zz{{z{{{||{z{{{{{|{{{{z{{|||}{{zz{{zz{{}{z|{|{|{{{|{zz{}|{|||||{{{zzzz{{{|{|||{|||z{|z{{{{{||||{|{{{{{{{|||||}}|z{{{{{{|{|{|}{{}{zzzz{{{||{||||{{{{||z{{{{|{|{|z{{zz{{{{{|zz|||{{z{{z{z{{||{{||z{{zzz{{{{z{{|{{z|zzzzz{{{|{{{{|z{{{yzzzz{|{|{{{{zzzzzzz{z{{|{||zz{zzzz{{{{{z{||{z{yzz{zzz{zz{z{{{{{zzzy{{zyz{{{z{zzz{zzzzz{zzzzzz{zzzzz{{z{{|{zzzzzzzzy{{{zzz|{{yzzzzzzz{{z|z{{{yz{zzyy{z{zz{|{z{{zyz{zz{{zz{{{{zzy{zzzzzzzz{z{zzyz{zzy{{{{{{|{{yzz{zzzz{{{{{{{{{zzzzz{{{{{|{{|z{zz{zzz{z|{|{{{{{{{{zzz|{{{z{|{{zzzzzyz{{{{{{{{zzz{z{{y{{z{{{{{z{z{z{{zz{{{||{|{zy{|{{{}{{|{{{|{{{{{z{z{{{||{|z|z{z{z{z|||{{||{{{{z{z{{|{|{{{||{{{{z{{z||z|{||{|z{{|zzz{{{|{{{|{z{z{|{{{{{|||{z|z{{{z|{{|||{{||{|{z{{zz{||{{{{{{{{{{zzz{||{{{{{z{{zzyz{{{z||{{|{{{{|z{{z|{{|z|{||zzzzy{{z{||{{|{z{z{{{z{{{{{|{|zz{{z{zzz{}{z|{{z{zzyz{yz{{{{{{{{{|{zz{z{{{zz{{|{zzzzzyz{{z{{{zz{{zzyzzzz{z{{{{zzy{zzz{z|zzz|{z{{z{z{{z{{z{zz|{{zzz{zzzz{{z|{{{{zzzzzzyyzz{z{{z{z{zzyzzzz{{{z{{{{zzzzzzz{{{{z|||{zzyzzzz{{z{|{{{{zzzz{z{z{{{{{z{zzzz{z{z|z{{{|{|zzzz{{{{z|{||{{|{z{zz{{z{{{{{||z{{zz{zzz|{{{z{|{|{{|{|{{|||{{{{|z{{z{{|{{{{{|||{{{{{{z{{}{z|{||||z{{{{{{{|||{{|}{{{z{|{{|{{|{|{|{z|{{|z{|||{{}}||{{|{{{{||}{z||||{{|{z{|||{|{{{}|zz|{{z{||||||{||{zz{{{{{|{|{||{|{z{{{{zz||{z|{{{zzzzyzz{{|{{{{{{{zzzz{z{||{{{{|{{zz{zyz{{{{{{|{{zzzz{y{|zz{{|{{{{{z{y{z{{{{z{z{{{{zz{zz{{{zz{||{{zzzzzzz{zzz||{zz{yzyyz{{|z{|z{z{z{z{z{zzzzz{{{zzyzyzzzz|{z{z{zz{zzyz{{{{|z{{|{zz{zzyzz{{z{{{|{{{zz{zzz{{zz{{{{{zzzzzzz{|{{{{{|zyzyz{zzzz{{{{{{{{zzzzzz{{{z{z||z{{{zyzz{{{{{{{{{{z{|y{z{{{{{{{{zz{zzy{zz|{||{{|z{{zzyz{{{{{{{{z{{{zz|{{{z|{z{|{{zz{{{zz{|{|{{||{{|z{z{{{}z|{|||{{|{z{{z{{{||{|{{{{z{zz{}}|{{{|{{{{z{|{|{|{{|{||{z{z{{{z||{||||{|{||{z|{{{|{{|{|{z{{{{z{|{||{|{|{{{|{zz{{{{{z}{|z{|{{{zz{{{{{z||{{z{{{{{{|{||{|{{{|{zz{z{||{{{{z{zzzzz{{{{{z{z{|zz{yzzzz{{z{{|{z{{zzz{{z{zz{{{z{{{|z{zzyz|z{z{{{|{{zz{zy{{|||{{|{{{zzzzzz{{z{{{zzy{zzzy{y{{{z{{{zz{z{{zy{zzz{{|{{zzyzzzyzz{{zz{{{zz{zzzzzz{z|{{{{zzzzzzzy{zzzz{{{zyzzz{yzz{zz{z{z{zzzzyzzz{zz{z{zzzzyyzzzz{{{{{{zzzz{zzz{zz{{{{{zzzzy{zy{|z{{z{|z{zzzzzz{z{z{{{{z{zz{zzz{{{{{{{{{zz{zzzzz{{z{{|{z{zzzz{{{z{|{|{zzzz{{{z{z{{|{||{{{z{{{{z{{y}{{}|{{z{zzy{{||{{{{||{{{zz|{z||z{{|||z{zz||z}{{{|{|{{{{zz{{|{||{{|{||z{zz{z{{{|{{}||{{{{z{z{|||{{{||{{{zz{{z{||{|{|{{{z{{z{{{z{z{{{|{{{z{z{z|{{|z{|{zz{z{z{z{|{{z||{zz{zzyz{{|{{|{||{z{zyz{z{{|z{{||{z{zzz{z|{|{|z{{{{{y{z{{{{{zz{{{|{zyzzzzz{|{z{|{zz{z{zyzz{{{{{{zzz{z{zzz{{{{z{z{zzzzyzzy{z|{z{|{{zzz{yzzz{zz{{{z{zzzzzyzzz{{{{|{|zz{yzzz{{z|z|{{{zzzzzzy{zz{z{zz{zz{yzzyzz{zz|{{zzzzy{zyz{z{z{{{{{yz{z{z{{{zz{|{z{{z{{{z{{{{z|{{{{{yz{z{zz{{{{||{{{{|zzz{|{||{{|{z|zzzzz{{{|{{{|{{zzzzzz{{{z{{{|{{zz{z{z|{|{}{|{zz{{zz{{{{{{{|{|{{z{{yz{{{|{||{||z{{{{{{||{{||||{z{{{{{z{z{{|||{{{{zzz{z{{|{|}|{{{{{{{{{|||{{|||{z{z{|z{{{{{||||{|z{{{{{{z{}{{{|{{zzzzzz{|{||||{{{zzz{{{{{{{{{{{|{zz{zy{zz{{{|{z{{z{{{zyz{{z{{{{{{zzzy{y{||{{||{z{zzzz|z|{{{||{{z{z{zzyy{{{}{{{|zzzyzzzz|{|||{{{{{{yzzzzz{|{{{z{{y{z{zzz|{|{z{{{{{{z{zzzzzz{zz{{zz{zyzzzz{zz{{{{{zzz{zzz{z{y|{{{{zzzzyz{z{y{y{z{zzzzzyyz{z{z{{{|{zzy{zzyz{{{z{z{zy{zzz{zzz{{{z||zzzzyzyz{{z{z{{{{z|zz{yz{{{{zz{|zzzzyzz|{z{{{{z{zz{zzz{z{{{{{|{{{{{{{zzz{{|{{|{{{z{{zz{{{|{{{{z{{z{{y{z{{|{|{{{|zz{z{{{z{{z{|||{{zzz{{zzz{{{{|||{{{{z{{z{|z{{}|||{{zz{{|{{z{|{|||{zzz{{{{}|}||||{{||{{{z{|||{{{{{zz{{{{{{{{{{|||{z{z{{{z{{{||||{{z{z{z{{z{{{{{|z{zzzzzzz{{||{|{z{{{z{{zz|{|z{{z{{{z{{z{y{||{{{{|{{{{zzz{z{{z{{{{z{{zzzz{|{{{{{{{{{z{zzzz{{||z{{{{|{zyzzy{{{|z{{|z{{{zz{yzz|{{||{{z{zzzyz{{z{{yz|{{zzz{{{{{{{{|z|zzzyzzzz{{{{{|{|zz{zy{yzz{{{{|{{zz{zzzzzzz{{zz|{{yzzz{zzzz{zzz{{{z|zzyyzzzzz{{z{zz{yzyzzz|{{{{{zz{zzzzz{{{|{{{|{zzy{{z{{z{{{z{{|{{{{zzzy{|{{z{||{{{z{{zz{{z{{{{|{z{z{yzz{{z{{{{{zzzz{zyz{{z{{{|{{yzz{{|z{{|z{z||zz{{{{{{z{{{{|||{{{y{{{{z{|{{{|{{{{|{{zz|}{|{|{|{{{|zzz{{|{z|||{{|z{|{{{{}||||{||{{zz|{{}|{||||{{zz{{y{|{|{|{||||{{y|z{|{{z||{||zz{zzz{{}{{{z||{{{z{z{|{{z{{|{{{{{{zz{zz|||{{{{{zz{{{zzz{{|{{{{{{z{yzxzzz{{{{|{|{z{zzzz{|{{{{{{{zz|{z{zz{{|{{{{{{zzzz{{z{z|{|{|{zzz{z{zzz{{z{{{{{{{{{zz{z{{{{{|{{zzzz|yz{{{{z{{|z{{zzzzz|{{{{{{|{{yzzzzz{z{z{{{{z{{zzzzzz{|{{{z{zzzzyzzz{{{zzz{{z{z{{{zzz{z{{{{{yzzzz{zzz{z{{z{|{zz{{zz{{{{|{||{{z{zzz{{{{z|z|{{z{{z{z{{|{|||{||{z{{{z{{||{{||||{zzz{{zzz|{{{{|z|{zzzzzz{{{zz{{|{{{{{{{z{{{||{{{{{{||{|{{{|{{{|{{{{{{{{{{|{|{{|||z{{{z{{{|||||||{z{{{{{{||||||{||z{{{{|{|}{|||||{{|z|z{{{{||{|{|{z{{{{{z{|{z||{{z|{z{{z|{{{|{||{{{z{{{z{{|||{||{z{{{{{|z{{{{||{{|z||{{zz{z|{{{{{{zzzyzzz{z||{{z|{zzz{{{y{{{{{||{{zzy|{zzz{{{|{|z{{z{{{{zz{|{{zz{zz{yzzzz{{{{z{{|{zzzz{{z{||zz|{zzy{z{{zzzz{{z{{{{{{zzzzzz{{{z{|{zzz{z{zz{{{z{{}zzzz{y{zz{{{{{{{zz{z{zzzyz{{z{{{zzy{zzzzzzzzz{{{{{zy{zyzzy{{zz{{{{zzzzz{y{z{{z{||z{z{zzzz{{{{{|||zzz{zzzzz{|z|}{{z{{zzzzy{|{{z{{{z{{z{zz|z{{{|||z|{zz{{z{z||{{|{{|{{zzy|{{{{{{{{z{z{zzz{{{}{{{z{|{{z{{{{z||{{{||{|{{z{zzz{|||||||{{|z{{z|||{{||||{z{{{{{{{{|{|{||}zz{{|{{{|||{|{{|{{{{z|{{{{{}{||{{z{{zzz|{|{|||{||{{z{z{{z{|{{{{{{zzz{z{{{z|{{}{{z{{{zz{{{{|{{{{{{{z{{{{{{}{{{{|{zz{{{{z{||{{{|{{{{{{yyzy|{|z{|{|{{z{zzy{|{{|{{{{zzzyzz{{|z}{z{{{z{z|{{y{{{{{z{}{z{{{{{{{{{z{{{{{{zyy{{zz|{{z{{{{{z{yyzz{z{z{|{|yzz{{zzyzz{{z{z{zy{yzzzzz{{{{{z{zz{zz{z{{z|{{{|{{{{{zzzzz{{z{{{{|zyz{{{zzz|{|{z{zzzzzzzz{|zz{|{|{zz|{{z{{z{{{{{{{{zzyzz{|{{{{|{{zz{z{zz{z{{z|{||{{{z{zzzz||{|{{|{{zzzz{{{{||{|||{{z{z{{{z{|{||{|{{{z{{|z{{|||||{{z{z{{|z|z{{||{|z{{{zzzz||{|||||{{z|{}{{}|||||||{zz{{{{{{||{|{|||{{{|{{{z||{|{|||{{{z{{{|{|}{{}{|{{{{z{z{|{|{|{|{{{{z{{|{||{|||{z{|{z{z{||||{{}{|{z{zzzz{|{||{{|zz{{z{{{zz|z{{{{{zzzzzz|z{{{|{|{{{zz{zyz|z{{{{||{zzyzz{zz|z{z{||{z{zzz{z{{{{{{|{zz|yzzzz|{{{{{{{zzzz{z{z{{z{z{{zzz{zzz{{{{zzz{{{{z{zyzzzzz{{z{{{{zyzzzzy{{{{|y{zzzzzzzzzz{{z{z{{zz{zyz{zzz{{{zzzzzzzzzz{z{zzz{{zzzzzzzyzz{{zz{{{z{{zzz{zzz{{z{{{{{zz|z{z{{{zzz{|yzzzzz{z{z{{zz{|zzzzz{zz{{{{z{|{{{z|zz{z{{{{|z{z{zz{{{zz{{{{{{{{z{{{{zz{z{{|z|{{{zz{{{z{{|{||}|{{{zz{z{{{|{|z|||z{{z|{zz|}{{|{|{{{{{{{{{||||{||{z{{{{{{{||{{{|{{|{{{{{zzz|{{||||{zz{{{{{|{{|{{|||{|z{z{{|{z|z||||zz{|{z{{{{{{z||z{zz{{{zz{{{{{|{{|z{{zz{{||{{{{{{{{{zzzz{{||{{{|{zzyzz{zz{{{zz|{{zzzzzzzzzz{{|{||{yyz{zzz{{{|{{{{z{zz{{{{{||{z{{{{zz{z{z{{zz{{{{{{zzzzzzz{|{z|{z{{{{yzzz{{{zz{z{zzzyyzzzz|{z{zz{zz{zzzzzzzz{{|z{zzyzzzzzz{{{{{z{{z{z{{zzz{{{zz{{{zz{zz{zzz{zz{z{z{yzzz{zy{z{z{||zzyyzzzyz{|{{z{{{{zzzz{zz{{{{{{|zz{{zz{z{{{z{zz{zzzzzyzz}{{{{{{{{{zz{z{{z{{{|||{z{{zz{zz{{{{z{|{zzz{z{z{{{{{{{|{{{zz{{{{z{{{{y|z{z{{zz{z|z{|{}{|{{{{{{{z{||{|{|{|z{{{{{z||{|{|{||{{{|{{z{{}|||{}{zz{{{{|{}||||||{z{|{|{{||||{{{|{zzz{{{{||{{}{|||{z{z{{z{|{{{|{|{z{z{{zz{||{{{z|{{{z{zzz|{{{{{{{{z{|{zzz{z|{|z{|{zz{{yyz{{|{||z{{zzz{zzz{{|{{|{|zzzz{{zz{{{z{|{{{zz{{zy{{{{{zz||{z{zy{zz{z{|{z{{zz{z{{{zy{zz{{{{{{{yzzyzz{{{z{zz{{z{zzyy{{{||{{{{z{zzy{y{z{z{z{{z{{zzyz{yzzz{{{|{{zyzyzzz{{{zzzz{zzyyz|zzzzy{{|{{zz{z{zz{{z{{|z{zy{z{z{{zz{{{{{|{{zzzyz{{{{{{{{|zz{zyy{{z{zz{{{|{z{zzz{zyz|{{{|{|{{zzyzy{||{{{|{{z{zz{zz{{z{{{||{z{|yzzzz||{z{{{{|{|{{{z{|{{{{|{z|zz{{{{||z{||{{{zzz{{{{z{||{|{|{{{z{{{{{|||{{}|{zz{z||{z{||{||{|{{{|{z{{|{|||||{{{|{{z{||||{{{{|{{{{{|{{{{{{|||{zz{{{{{||{{|}}||{zy{z{z{|{|{{|{{{{{z{|z{{{{{||{{{{{{{zz{{{|{|{|zzy|{{{y{z{zz{{{{{zzzxz{{{z{zz{{{{zzyzzz{{{z{{{{{zz{z{zzz{{z{z{{{{zzzz{y{{{{{{{{z{zzy{zyz{{{z{{zzz{zyzyzz{{z{{|zzzz{{z{{zzz{{|{|zz{zzzzz{{z{{{{{{yz{zzzz{{{z{{{zzzz{yzzzz{{zy{|{zyzz{zzy{{zzz{z{{zyzzzzzz{z{{{{|zzyzz{yyzz{{{{{{yzzzzyz{y{{{z{{|zz{{zz{z|{{{z{|{zzz{zz{{zzzz{{|{zzz|{z{{zz{{{||{{zz{z{zz{|{{|{|{z{z{z{{z{|{z{{z{|z{z{zzz{||{{z{|{{yy{zz{{{{|}{{||{{{{zz{{{{{{{||{{{{{z{z{|{||{|{{z{z|{}z{|{||{{{}{zzz{{{||{|||||{z{||{{{{z{{{{{}|zzz{{{{{{{{|||{{z{z|{{{|{{||{||yzzzz{z{{|{{{|{{|{{zz{zz|z{{{{{{zz{z{yzy{{{{|{z{{{{{{{z{{{z{z{{|{zz{zyz{{{|{{{{|{zzzz|{z{{{|{{|{{zz{z{{zz{{{z{||}{{zzzzz{z|{{{{|{zz{z{zz{{{z{{z{zz{z{zzzz{|z{|{{{{zzzzyzz{z{|{{{zzzz{z{zz{{|{z{{zyz{y{{{zz{{{{{z{zzzzzzz{|{{{{{|{{zz{zzz{|zzzzz{z{zz{z{z{{|{{{z{y{zzz{z{|zz{z|{zzz{{z{z{{{z{{|{{{z{{zz{z{z{{{{||z{z{{{z{{z{||{{|z|zzzz{y{{{{{{|{{{zz{{z|{{{z{{|{z{{{{{z{||{{|||{{z{z}z{z{{{|{{||{{|z|zz{|{||||||{{z{z{{{|||{|{|{|z|{z{zz||{{|||||{zz{{|{|{{{{{}||{|{{{z|{}|{|||||{{{z|z|{||}|||||||{{{{{{{|{{|{|zz{{{{y{||{{|||{{{|z{|z{{|||z||{{{zzz{zz{|{|{||||{{zzz{{||{{{}|{{{zz{z{z{||{{{{|zzzz{zz{{|{|{{{}|{zz{z{z{{{{|{||{{z{zyz{{|{}{{{{{{{zz{zz{{{|{{{|z{zz{{{z{z{{||{{{{z{zz{{{{{{{{{{zzzzzzzz{zz|{{{{{zzzzz{yz{zz{{{{zzzzzzzz{{{z{{{|{zz{zzzz{{z{{{y|{{zz{zyzz|{z{{{|{zzzyzzzz{{z{{|z{z{zzzzz{{z{{{{zzzzzzzzz{z||z{{{|{{zz{zz{{{|z|{|z{{zzzz{{{z{{z|{{{{zzyzz{{{{|||{|zzz{{zz{|{|z{||{zz{{z{{{|{{|{||zz{zzzz|{{||||{|{|{{{z{{||{|{||}{{{{{z{{{|||{|{|{{z{|z{{|||{{||{{{{{z|{{{|{{|||||{||z|{{{|{{|||}|{|{z{{{{{|{{|||{{{{|||{{|||{||||{|||{|{||{|{{{}{{{{{{{{{|{|{|||{|{{{{{z{||{{{|{{{z{{z{zz||{{{{{{zy{z{zyzz{|{{z{{zzzz{zzz||{{|z}|z{{{{y{{z{z||{|z{{z{z{zzz|zz{{{zzzz{yzzz{|z{{{{{zz{z{{zz{z{{|{{{zzz{zy{{{{z{{z{{zzzz{{{{{{zz{z{z{zz{zzz{{{zz{{zzzzyzzzzzz{{{{z{{zz{zzzz{zzzzyz|{yzzzzzzzy{z{{z{zzzy{z{zz{zz{|{{|yy{z{|zzzz{z{{{{zzzzzz|{{{zz|{{{z{{zy{yzz{zz{||{zzzzzz{{||{{||{{{{z{z{zz||{z{{|z{zzz{zz{{|{{z|{{{zz{z{yz{{{{|{{{{{zzz{{{|||{{{|zzzz{zz{|{|{|{}{|{{zzz{{z{|{|{{{{z{zz{z{}|z{||||{{|z{{|{{{|||||||{{zz|{{||{{|{|{|{|{z{z{|z||{|||{{z{{{{zz|{{|{{|{z{{{z{{{{z|{|||{{zzz{{{{{{|{{z{|{{{{{{z{{|{{{{|{{zz{yz{{{{{|{{|{y{zz{z{z{{{{{||{zzzzyz|{zz||{{|zz{z{{zzzzz||{{||y{z{zz{{z||{{{{zzzzz{zz|{{{z{||{zzz{zz{z|{z{||zyz{zzz{{zz{{{z|zzzzzzzzz{zz{z{{{zzyyzzzy{{{zz{{{zzzzzzyz|{{{{{{{z{zyzyyzz{{{{z{{{zz{zzzzz{{zz|{|zzzzzzzz{{{z{{{{zzz{zzzzz{{{{{|{z|z{{zz{{{zz{{{{zzz{zx{zzz{{z{{{yyz{zzz{{|{z{|||{{z{{z{zz{{z{|{|{zzzzzzz|{|{z{|z|z{z{{{{{{{{{|{{|{{z{{y{{{|||{{}z{{z{|{{||z{{{{}|{z{{{{||||{||||{z{{{z{{{|{|{|{|z{z{{|z{{{{{|{||{{{{{z{{{}{|{|{{|{{{|{{{{}{{{z||{{zz|{{{||{{{{||{{{z{{{z{|{{{|||{{{{|{zz{|{{{|{|z{{{{||{|||{zz{{{z{zz{{z{{|{|{|||{z{zzy{z{{{z{||zzzzz{{z{z|zz{{{z{zzz{zzz{{{|{{{zz{zzzzzzz{zz{z|zzzzzzyyz{z{{{{|{{{zz{zzz{{yzz{zz{{zzyzz{{|zyzz{{zzz{{z{zz{z{{||zzzzzzzzz{{|{z|{{zz{z{yyz{zz{|{{zzzy{zz{z{z|{{z|{z{{zyyzzzzz{{zz{zzzz{zy|{{zz{{|zz{yzz{z{{z{{{{|{yzzzzzz{z{{zz{{zzy{zy{yz{{{{{{zzzz{z{zz{{{{z|{{zz{{{yzz{z{|||{{|{zz{z{{{|{z{{}{{z{{{z{z{z{{{{|{{{zz{{{{|{{{{{{|z{z{{z{{{{{{{|||{zz{|z{{{{{{|||{|zzz{z{z{}{||{|{{z{{{{{{{{z|{||{||z{{{z{|}|{|||||{{zz{{{{|||||{{{{{{|{z{{{||{|}}{|{{z{{{{|{{||{||z{z{{zz|{{{{{||{{zzzzzz{||||||{{{{{{{z{|{|{|{{{zzz{{zz{{{z{{{|}zzzz{z{z{{|{{{{{{{zz{{{{z{{{{{|{{{|{{{z{{|}{{{{{||zy{z{z|{|z{|{|{{{y{z{xz{{{{{{{{z{zzzzzz{z{zz{{yz{zzz{z{z{{z{{{zz{zzzyz{|{{{{{zzzzz{{z{{y{{|{z{{z{{zzzz{z{{{{{|{yyzzzzzz{{zz{z{{{zzzzzzz{{z|{{{{{{zzz{{{{{{z|||{{zzzz{z{z{|{|{{zzz{zz{z{z|{z|{{{{z{z{zzy{|{{{{{{z{{{z{z{{{{{{|{{zz{z{{z|z{{{{|{|{{zzzzz||{z{||{{{{{{{|{{{||{{{|zz{z{{{||{{{|{}|z{zz{{z{{{{|{{{{{z{{{zz||{||{||{{z{{{{|{{|{{z{||{|{{{z{|{z|||||}{zz{{zz{||||{}|||zz{{z{{|{{|||{|{{{{{{{{{|||}|{|{{{y{{z{{|z{{{}||{z{{{z{{|{{{{||{{{{z{{|{||{{{{|{{z|{z{y{{{{{|{{{{z{{{{y{{{{{|{{{{zzzzzz{{|{z||{z{{{{{zz{{||{{{{{{{zz{z{{{z{{{|{zzz{zz{{z{z{{||{{z{z{yzz{{{zz{{|zz{{z{zzz{{zyzz{zzz{{y{zzz{{{{{{{zzzyzyz{z{|{||{zzzzzzzzz{{{{{{z{z{zyy{y{{{|{{{{{z{zzz{y{z{{{|{{z{|z{zyyzz{z|{|{{{{{{zz{{z{{|{z|{z{z{{z{zz{|{{{|zzzz{zz{z|zz{{{{|{{{{zzy{{|{|{{zzz{{zz{{{{}|{||zzz{{z{{{z{{{||{{zz{{{{{{|{|{{|{|{|{{{{{{{{||{{|{{{{{{zzz{|{{{{}|{{zz{z{{||||{{||{{{{{|zz{{{{|{|||z{{{z|{{|}|||||{z|{{{{{{||||{|{{zz{z{{{|z{{{|||{{zz{{{{{{{{{|||{{{z{{{{{{{|{}||{{z{zz{{{||{|{{|{z{{{z{{|{|{|z{{zzzyzz{z{zzz{{{{{{z{zzz{{{{{{{|{{z{yzz{zzy{||{{|{{z{zzzz{{{|z{{|{z{{{zzzz{{{|z{{{{zyzzyzz{zz{|{{|yz{zzzzz{{|z{||{zzyy{zz{{zz{{{{{z{z{yzzz{{zzz|yyzzzyzzzz{{{|{{{{zzz{yzzz|{z{{{z{{zzzz{zz{{{z{{zz{z{zy{z{{{{zzz{{z{{{zzz{{zz{{{z{zzzzzzzz{z{{{{|{z{zz{{{y{|{{{{{{{zzzzzz{{{{z{{{{zz{zzzz{{{||{{{{y{{z{z{{|{z{||{{z{{z{zz{{{{{||{{|{{zz{z{|||||||{{{{z{|{z|{|{{{{{z{{z{{{{{|{{||||z{|{zz{{||{|{|{{{{z{z{{{||{|}|||{{z{{{{{}{||{|{|{|{{{{||{||{||||z|{{{zz{|{||||||{{{z{{{|{{|{||{|{zz{z{zz{{{{{{|{{{{zz{z{|{{||{|{{{|{{z{|||||z||zz{{zzz{{{||{|||z{y{{zzzz|{{{{|}z{z{zzzzz{{{||{{zz{z{zzzz{{{z{|{zz|{z{zz{{|{{{{{{zzz{zzz{{{{z|{{{zzz{zzyzz{zz{{{zz{{{{zzzz{{{z{|zyzzzz{z{{{|zz{{zzzzz{yzz{{{{z{{zz{zyz{zz|{{zz{{zz{zz{zzz{{{{{z|{z{y{zyzz{z{{{{{z{{yzzzzz|z|{{{{zzz{{z{{z{|z{|{|{zzzzz{{{{{z{{|{z{{zzzz{{{|{{{|{z{zz{zz{{|zz{|{|{zzzzzz{{||{{{||{{{{{{z{{z{|{||z|{z{zz||{{|||{{|z{{{{{{z|{|}{{{|{{{|{{{{{|||}{||{z{{{{z{||}{|||}{{|z{{|{|{||{|}|||{z{|{{{||||{||{{|{z{zz|||{|z}|{{{z{zz{{{|{{|||{{z{{z{{||{||{{}{z{{{yz{{{||{||||z{{{zzz{||{{{{|{{{z{z{z{|{}z|z{zzz{zz{zz}{z{{|{y{zzzzzzz{{{{{{{{{zyz{{zz{{{{|{zzyzz{zyz{{|{z{{|{|zzz{zz{{|{{{{{{z{z{{zz{{z{z|{zzzzzzyyz{z{z{{{{zzzzzyz{zz{{{|{{{z{zzz{z{{{{{z{zzzzzzzzzzz{{{{{zzz{zzyzz{zz{zz{zyz{zzz{zzzz{zzz|z{z{{yzzzz{{{|z|zzzz{{{zzzzz{{{{zzzz{zz{z|z{{{|{zzzzzzzzz{|{{{{{z{z{{zzzz{{{{|{{{{|zzz{{|{{{|{|{{zzz{zz{{{{zz||z|{zz{{zz{|{|{{{{|zz{{{zzz{{|{||{z{z{{{|{|{{|{|||{z{{{y{{{|{}{|{{{zz|{{{z|||||{|{{{|{z{{{{{|{||{{{|{{z{{z|}{|||{||z{||{{{||{|{|}{{zy{{{z{{|{{||||{|z||zzz{{|{|{|{zz{zzz{{{{{|{|||{zz{{{{zz{||z{{|zz|z|z{|||{{{{z|z{|zzzyxz{{z{{{{{{zzzzzz{{{{||{|zyzzzzzz{{{{{{{{{yzzyzz{{{{{z{{{{zz{y{zz|{{|{{{|zzzz{zzy{{zz{{|zz{z{{zzz{z{{{{{{{{{yzzzz{zz{z{z{zzz{{zzzzz{zz{zzzzzyyzyzz{{zz{{{{z{zyzz{z{zy{z{zz|zzzyyzyzz{z{{zzzyzzzzz{zzzz{{zzz{{yyy{{zz{z{{{zz{zzz{z{z{{z{{{{z{z{{{z{{z{{{{{z{{{z{{{z{{z||{{{{zz{zzzz{{{{|{{z|z{{zzzz{{z|{{{{z{{{zzz||{{z{z|{z{z|{z{{{{|||{{{{{{z{{{{{{{|||}{{||z{{{|||{{|{{|{z{zz{z{|||{||{{{{{{{zz|{{||||{{{{{z{{{z}|||}|||{{z{zz{|{|{||}{{{z{||z|{|{|{}|{|{{z{{y{{{{|||{|{{{{{zz{{{{|{{|{{zz{{zz{{|{|{{|{{z{{{{|z||{}|z{{z{{zz{zz{{{{{{{{{{{z{y{{{{{z{|{{{{zyzzzz{{{z|{||{z{{zzzz{||{zz||{|{zzz{z{{z{{{{|z{{{z{{zz{{z{||{{zzy{y{z|z{z{{{{{{z{{{z{zzzzz|{{{zzzzzyzz{{z{{{{z{z{zzzz{z{z{{{|{{{{zzyz{{{{{{{{z{zzzzzyyzyzz{zyy{zyzyzzz{{{{{{{zz{z{z{zzz{z{{{{zzz{zzzzz{{{{{{||zz{zz{z{z{z{z{|z{z{z{{z{||{{|z|{{|{z{{zz|{{{{{{z{{z{zz{{z{|z||{{{zzzy{z{|{{z||z|{{{{{zz|{}|{|{{z{zz{{|z||z}||}|{{z{{{zz||||||{{{z{z{{z{|{}||}{|{{z|z{{{{{|||{|||{{{z{{z|||{{{||{{{{{{{{{{|{|{|{{{{{{{}|{||||{||{|{{{{z{||{||{||{{{{{{{z||{|{|||{{zzz{{{{}{|{{||z{{{|z|z|||||{{}{{zzzyz{{|{{z{{{z{{z{zz{||{|{{z|{{{zzzzz||{{{{{|{{zzz{zzzz{{z{{{{zzzz{{y{{{{{{z{{zzzzzzzz{z{{{|z{zz{zzz{zz{z{{{{zzzyzzz{{{zy{z{|{zzzzyzz{{z||{{zzzzzzyyzz{{z{{{zzz{{zzzzy{{zz{{zzzyzzzzzy{{{{{|{zz{zzyzzz{y{z{{{{z{z{zzy{{z{z{{{|{yz{yzz{{z{z{|{{zzz{z|{{{|z{{{|zz{{z{z{z{{zz{{|{zz|zzzy{{z|{{{{|{{{{{zz{{{{{{{|{{zzz{zz{{|{z|{{{zzz{{z{||{|z|~{{|{{{z|{|||||{||{{zz|{z{{}{|{{||{z{{{|{z|||}{|||{{{z{{||{{{{{}|||{{z|{z{||||{||{|z{|z{{{|{{||||{|z{||{{|{|}|||{||{{{{zz{{{{{{||{{zz|z{z{|}{{{{||{{|{zzzz{{{{{|z{{z{z{{{{{||}|||{z{yz{{zzz{|{{z{{{z{{zzz{{{zz{||||zzzz{zzzz{{||{{zzzz{z{{{{{{{{{{{{zyzzzzz{{{|{{{zz{{z{zz{{{{{{|zz|z{zzzz{{{z{|{zzy{yzzzz{zz{{z{{zyzzzz{zzz{zz{{zzz{{y{zz{{{{|z{{{z{zzzzz{{z{z{|{zzyzz{{zzz{z{{z|{{zzzzzzz{{zyz{{yz{zzzzz{z{{|z{{{z{{{zzz{{{{{{zz{z{zzzzy|{z{{||{{{zzzzzz{z{{{{||{{{zyz{z{{{{||{|{zz{zzzz{{|{zz{|{zzz|{{{{|{{z|{{{z{z{z{z|{}{{||}{{{{{{|{|{{{z|||{{|{z{yz||||||||{{{z{z{z|||{|{||z{{{z{}{{|||{|||{{{{{{|{{}||||||{{{{{zz{{{|||||||{{{{{z{{z|||||{{{{{z{{{|{{||{z{{{|zz{{{{||{||}{{|{{yzz{{{{|{{{|{{{{{{{{||||~{|z{{zzyzzzzzz{zz{{{z{zyy{z{z{{{{{{{yzz{yz{{{z{{{{zyzz{yzy{{{{{z{{zz{yzyzzzzz{{z{z|{{zz{zzz{{{{{{{z{zyzzzyyzz|{z{zz{zzzzzyz{{{{z{z{{zyzz{zzzzz{{{{z{{zyyzzzy{{zzz{{zyzzzzzzz{z{zzz{{zzzzzzyzzzzz{z{{{zyzyzzzzz{z{{{{y{zz|{zzz{z{{||{yyzzz{z{{z{{{{z{zzzz{zz{zz{{{{{{yzzzzz{|{{{{{{|zzzz{z{z{|{{{{{{{{{{z{zz{z{{{|{{{zyzzzz{{{z{{{z|{{{z{z{{{|{|z{z|{{{{{{{{{{{{z{{{{{{{{{z{|{|{{{|||{{{{|{y{{|{{||{{z{zz{|{{}{|||}{|{z{{z{{|}{}|{|{{{{|{{|z{{||{|||{zzz{{z{||{||{||{{zz{zz{{{{{|{{||z{{z{zz{{{{{||{z{|z{{z{{{{|{{|{z{{{{z{z|{}}}{{{zzzz{zzz{z|{{z{{zzzzzzyzz{{{{z{|zzzz{zzzzz{z|z{{zyzz{zyzz{{{z{|zzyyzzz{zz{{|z{z{{{{yz{zy{{zz{{zzz{zzzzzy{z{zz|{zzyzzzzyzz{{zz{z{zzz{y{{zz{{{|{z{{zzzyzyzz{z{z{{{yzzyzyzyz{zz{|{{zzyzzyzzyy{zz{{|z{zxz{zzz{z{z{|zzzzz{zzz{{{zz{{|{zyzyyz{{{{z{{zz{yzz{zzz{zz{z{{{{y{{{zzzz{|{{{{zz{zzzy{zz{||||z|zzz{zzz{{{|{z{{{{zzyzz{zz|zz{{|{{{{z{zzz{z{|{{{{z{zz{{{z{{{||{||{{{{{z{z{{|{|||{{{{zzz{{||{|{{{}{{z{|zzz{|{{|||{{{z{z{{{{|{{{{{{|z{{{{z{||||||{{|{z|z{{{|{|{|{{||{{{{|z{{{{||{||{z{zz{{z{{z|z{|{{zz{z{{z{{{{{z{{z{{z{|||{{}~|{z{{yzyz{{zzz{z|{z{{yzz{yzz{{{{|{{{zzzzzzzz{{{{|{{|{zzzzz{zz{z|y{{{zz{zzyzzz{{{z{{|zzzzz{zy{|{zzy|z{z{{zzzz{|z{{{zzzz{zyzzz{z|{z{z{zzz{zzyzzzzz{{|zzzzyzz{zzz{zzz{|zzzyzzzzy{{{y{z{zyyzzyzyz{{zzz{{yzyz{{z{zzzzz{z{zzyzz{{zz|{z{{|z{zzz{{z{z{{{z||{yzzzzxy{|{{z{{{{zzzz{zzz{{{{{{{{{{zyzzyzz{z{{{{{{{zzzzz{{||zzz|{{{z{z{zz{z{{z{{{|zzzz{zz{{{|{|{{z{z{{{z{{{{{|{}|{zy{{{{{zz{{|{|{{{{z{{{{{{|{{{|||{{{z{|{{{{{|||{|{{{{{{{{|{{{|{|{{{||{{{||{{{|{{{z{zzz{z|||{{|{{|zzz{zz{|{{|{|||{z{zz{z{{||{||{|{{{{{z{{{|||z|{z{{{yzzz{{|||}|z{z{zyzzzzz{|{z{{{zz{{zzz{y{{{{{{{zyzzy{zz{yyz{{{{{zz{zzzz{zz{yz{z{zzyyyzzz{|z{{{|zz{zzz{z{{{zzz{{{y{yzzz{{{{zz{zzzzzz{{yz{{{{z{z{zz{zyyzz{z{z{{z{{z{zzzyzzz{zz{{{zz{zyzyzzzz{yz{zyzyzzyzzzz{{z|{{z{zz{zyzzzzz{{|{zzyyz{zy{{z|z{{zzz{zzz{zz{{zzz|{{{{{zz{{{{{{{{||y{{yzz{z{{|zz{{{zz{|zzzz{{{{{{{zzzzz{{zy{{|{z{{{{{z{yz{z{{{{||{{z{z{{z{{{{|||{||{{zz{||{z|{{{|{|{{{{{z{z{{{{||{z{{{z{z{{{{|z{z|{{{zz{{{z|z{z{|{{|{|{{{zz{}|{{{|{{{|{z{{{{||{{{|{|{z{{zz|{{{{{{{{|zz|{z{{{{{{|{{||{{zzzy{|{{{|{{{|zzz{z{z{|{{{|{}{{{zz{{{{|||}{{|zyzzzzzzz{{z{{zzzzzz{zzz{z{{{|{|{{zzzz{{|zzz{|z|{{zzzz{z{{{{z{{|{{{{zz{{{|{{z{zzzz{zzz{zz{zz{|z|{{{zzyzy{z|yz{zz{{zyyzy{{{z{z{{{yyyyzzzzzz{zzz{{zzzzz{zzzz{z{{{{zzzyyz{y{{{{zzz{zyzzzzzyzzzzz{{z{zzyzzzzy{zzz{z{{{yz{zzzz{{z{{{{zy{zzz{zzz{{{{{{{z{zyy{zz{z{{|{{{{z{{{zyz{{{{z|{z{zz{zzy{{{{{|{|zy{z|zyz{z||{z|{{{yzzy{z{{{{z{|{zz{{{zzz{}{{||{{z{{z{{{|{{{|{||{|{zz{zzz{{{}{||{{zz{{{{z{||{{{{|{z|{{{{{{|z{|||||{{{{|{z{|{||{}|{z{{{z{|z{{|{||{|{z|zz{{{{|{{|{|{{z{{{z{|{z|{|||{{zzzzzz||{{||{{{{{{z{{z{{{{|{{{{z|z{zz{{||||zz{zzyzz{{y{{|zz{{z|zzzz{yz{z{{{{{{{zzyzzzz{{{{{{|{{z{zzyzzz{z{{{{|{zzzz{{z{{{{z{z|z{{zzzzz{{z|{{|{zz{zzyzz{{zzz{{z{zzzzzzzz{{{z|{zzzzzzzzzz{zzz{{{{yz{zzyz{z|zz{|zzzzzzzzyz{zz{{|{zz{{{zyyyzz{|{{zzyzzzzzyz{z{{|{{zzyzzzyzzz{|zz{{zyzzzzz{z{{zzz{{z{{zz{zz|{z{{{{{yy{zzz|zzz{z{{|z{z{zzyzzz|z|{{{{zzz{z{yy{{{{z{|z{z|{|zzz{{{{{{z{{zzz{{zzzz||||{{z{zz|{{{{|{{{||{z{{zz|zzz||{{{|{{z{z{{{{{|{||{|||{{z{{zz||{|{|{{{y{zz{{zz|z|{|||{z{{zzzz{|||{|{||{{z{z{|{{{{{||{|{{{|{{{||{z||{|z{{{zzz{{|{{|{|||{{yzz{z{{{{{|{}{z{y{{{{{{}|||{z{z{z{z{z{{{z{z|{{z{z{zzzz{z{z|{{{z{zz{yz{z|{{{{|{z{z{zy{zz{|y{{{|{zzzz{y{z{z{|{{{{{zzzzzz{zz{{|zzz{{zz{z{{zzz{{z{{{{{zzzzzz{z|{zz{zzyyzzzy{{z{|zzz{yzzzy{z{{||{zz{z{y{zzzzzz{|{{zzzzzzz{y{z{z{{{z{{yzzzzz{z{z{{{z{{{zzzzzz{{z{{{zzz{{y{{{{{{{{{|zyz{y}z{{{z{z|{{zz{{{{{zz{{{{{|z{zz{z{{z{{|{{|{|z{zzzz{z{{{{z{|{{zzz{z{{{{{{{{{{{{z{{{{zz{||||{{{{{|{z|||zz|z{|||{|{{z{{{{||||{|{z{z{z{{||{||{}|{z{zz{|{z{|{|{|||{z{{{{{{||{{||{{{{{{{{z{||{||||{{{z{z{z|z{|{{|||{z{{{z{z||{|{{|z{{zz{z|z{{{||{{|z{zyz{zz{}{z{||{{zz|{{z|{|||{{{{zzz{{zz{{|{{{{{{{{{zzy{{{{z{{{{zzzzzzzz{{{{{{{{|{{{{zzzzz|zz|{y{{zzyzzzzz{{{{{{y{yz{{{z{{{z{{|{{yzzzz{{{zz{{z{{{y{zzzzy{{{{zz{|zzyzy{{zzzz{z|{{z{zzzzzz{{|zz{{zz{zzzyzzz{z{|{{|{zzzzyzyy{{{{{z{{{zzzz{zzzyzz{{{yzzz{{{z{{{z{z{|zzzyzyz{z{{{|{{{|z{zzzz{{{z{{z{{{z{zz{zzz{{{{{{|{z{zyy{z{{z{{{{{{{zz{zzz{{{{yz|zz{zz{z{{{{{{{{{|{{zz{{z{|{||{{{{{zzz{z{{{{|}|||}{z{z{zz{{z{|{||{zzz{{z{z|||||||||{{|{|||{|{{||{|{{{{{{{z{|{{|{{|{zzz{{{{{|}|{|{{{{{{{{z{{||{{||{{zz{{z{{||{|{{{{{z{zz{{{{{{{{|{|{z{z{z{{{{||z{|{{{{z{{{{{||||{{zzzyzzz{zz{{{zy{{{z{zzyy{{{{z|{|zz{zz{z{z|z{zzz{{{{zy{zzzzz|{{{{{zz{yyzzy{|{{{yz|{{zzzzzy{{zz{|{zzzzzzy{zz{{{z{z{{{{zz{zzzzz{z|zzzyzzzzzzz{{{{{{zzzzzz{{zz{{z{{zz{z{{{z{yzz{{{z{{{zyyyyzzzz{yz{{|yz{yzyyz{{{zz{{{{zyzz{{y{z{zz{{{yzzy{zz{z|{{{|{|zzz{yzzzz{{{z{|{{{{zzzzz{{zz{{|z{zz|{zyzz{||z{{z{z{{{zzz{|zz{{|{zz{{zzzzz{{{||{{y{{{{z{{{{{{{||z{{{z{z|z}{{{||{|{z{{zzz{|||{|{{|{{{{|zz{{||{z||}z{{{z{|{{{|{}|||{{{{{{z{{||{|{||{yz{z{|z{|{{||||{{zz{z{z{{zz{{{{{{z{{|zz|{{{||{||z{z{z{{||{||{}||{z{zz|zz|{{{{|{{z{zzz{z||{{|{z{{zz{zzzz{z|{{{{{{zyz{yyz{{zz{{{|zz{{z{zz{{{{{z{z{zzz{yzz{z{{z{{z{z{{zy{z{{|{{|{zzzzz{z{yzzzy{{{{yyzzzzzyz{zzz{{zz{zzzzzyzzz{zz{{zzzzzzzzzz{zzz{zzyyzz{zzz{zz{z{{{{zzyzzzyzz{z{|zzzzzzy{yz{{zz{z{zzzyzzzz{zzzzzzzzyzzzzzzz{{{z{{{{zzyzzyz{{{zzzz{zzzzy{{zzz{|z{{|{z{{zz{|{{{{{{{{{{{{{zzzzz{z{{|{{{zyyy{z{||{z{{|{{z{{zz{{{z{zz{{|zzz{zz{|{z{z{{{zz{z{{{{{|z{{|{|{zzzz{{z{|{|{|{|{z{z{{{z{|{{|{||{zz{{{{{|{{z|{|{|{{z{{{z{}|{|{{|{z{|z{{{|{||||{|{zz{z{{{{{|{|{{{{|{{zzz{z|z{{|||zz{{y{z{{z{{{|||{zz{y{{z{|{|z{{|z{zz{{{{|{{{|||{{zz{yzzz{|{{{z{{zzzyzzzz{{|{{|{{zzzzzzzz{{z|{z|z{zzzzzzzz|{|{{{zzz{{zzyyz{{zz{z{{zzzzzzyz{zzz{||zz{z|zzzz{{zzz{z{{zzyz{yzz{z{{{{zzyzzyyz{{{{{{{{zyzyz{yzzz{z{|{zz{{zzzy{{z{z{{|zzzzz{yzzz{zzz{z{yz{yzzyzzz{{{{yzzzzyz{zz{zz{{{{{zzzzzzyzz{{{{{|{zyzzzz|z{z|{|z{{{zzz{zz{z{|{z{|{z{{zzz{zzz{|{{{{{z{{zz{z{{||z{|{zz{z{y{{{||{{{{{{{{{{{z{|{{{|{{}z{|{{zzz|{z|z|{|{zz{z{zz{|||{||||{zz{{{z|{|{{||}{{{{{|{|{{|{|||||{{zz{{{{|||||{}{{{|z{zz||{|{{{{{|{{|{{{{|z|{||{||{{{{{{||{||{|{{{{z{{{z{{{{{{|{|z{|{|{{{{|{z{{|{{|z{z{{{{{{|{z{z{yzz{zzy{{z|{{|zzzz{y{z{zz|{|{{{{z{zz{y{{|z{|{|zz{zzzzzzz{|z{{{zzzzzzzz{{{{{{z{{z{z{{zzz{{z{{z{zzzzzzzzz{{zz{z{yz{zz{zz{{zzyz{{zy{zzzzy{{{{z||zyzyz{yyzzz{{|z{z{z{{zz{{zzz{z{|{z{zzzyzzy{{zz{{zy{zy{zzzyzy{{{{{z{zyz{zzz{zz{{|zzzzz{zyz{{{z{|z{{y{yzzyy{{{{{{{{{zzyzzzz{{{z{{|{zy{{{{{zzz|{{{{{{z{z{zzz{{{z{z{zzz{z{{zz{{{z{{{zz{z{{{z{{z{{{z{{{{z{|z{{{z{{||||z{{{y{zz||{|||||{{z{{{{{{{||{{||z{{{z{{{|||}}{{{|{{{z{{z{|{|{{|{|{{{z{|z{{{{{{{|{{z{zyz{{{{{||||{{z{{z|z|{{|{|||{{{zzzz{{z{{|{||{{{zz{z{z{{|{{{|zz{zz{{{{|||{{|}{{{{{{zy|z{{{||z{{{z{z{{z||{{|z|{|{z{{{{{{{z|||{{z{{z{{zz|||{{{|{{zzzz{z{|}{{|||zzz{z{zz}{}{{||{|{{{z{zz|{|z|{|{zz{zy{zz{z|{{{{{{z{yzzzz{z{{|z|{z{{{y{yzz{|{{{|{{z{zz{zz{|{{{{||zz{{zz{zz{|{{{|{{yzz{zzz{{{{{|{{{z{zz{{{{{|{{|{{{z{z{y{z{{{||{{z{{{{{{|{{||{||||{{{{{zz{{{{{||{{|{{{{{{{{{{{|{{{{{{{{z{z||||{{|||zz{z{zz{|{{{|{|{{{|{{{{z||{||||{|{{{z|{|zz{}|}|{{{|{y{|}||{||{{}{|{|{{||{|{|}|||z|{{{{||{||{|}{}{{|{|{{|~{}|z|}|{{|{{{{||||||||{z{{{{|}{|{|}|||{{||{{{{{|{||||{||{z{z{|{|{|{}{||{{{{{{z|{|{|{{||{{{zz|{z|||{|{{{{zz{{{{{||z{{{|{zz{{z{{z||{{{|{{{{y{z{{{||||{{{{|{z{{zzzz||{||{{z{{zz|y|{||||||zz{{z|zzz|{{{||{{{zz{y{{|{{{|z|{{z{z{zzz{{{|{|{|zz{{|z{{{||{{{{z|z{{{{{z{||{{{{{{{{zz{zz{{{{{|z|zzzzzzzzz{{{{{{zz{{zz{{{{{{|{{{{{z|zzz{z{{{{{{{{{z{zz|{{{{{{|zz{{{{{zz{z{|{{|{{{{z{{|{{{|{{{{|{{{{{{|{|{{|{|||{|{{{z{{|{z|{||{}||{z{{{{{{z||{|||{{{{|{{|{{|}||{{{{|{{{{{||{|{|{|z{{{||{z{|{||}|}|{|{{||{||{{|}|{{|{{||}|||||||}||{{{{{|{{}||||{||{{{z{||{|||{||||z{z{{{{|||z|{{|{|||{|z{|||{||{|{{{z{z{|{}{}{|}{{z{|{{{z{|z{|{|{{|{z|||z|||{{|{{{{z{zzzzz{|{{{{||{zyzzzy{{|{{||{{{{zzz{z{|{z|{||{{{{zz{{|||{z|{|{{{zz{|z|z{{||{|{z{z{z{{{{|{|{||{{{y|z{z{z{|z{||zz{zzz{z{{{{|{|z{{z{{zz|{{z{{{|{zz{{z{z{{{|{||{{z{zzzzzz{{|{{|{{z{zz{z{{zz{z{|{{|{{zzy{z{{{z|||{{{{{|{zz|zz{{|{{{{{z|z{{{{||{||{{|{{z{z{|{{|{{{|{{z{{y||z||||}{}|{{{{{|{|{|{{|||{zz{{{{{{||||||{{{zz|{{{{||||{|{{{z{|{{{|||}}|{|{|{z{{||}{|}|||||{|{{{zz{}|}||||zzz|{|{{{}|}{||{z{{{{{}{{{{||||||{{{{|{|{}||||}||{|{{{{z{||||}|||{z{{{{{|||||||}}|z{{{{}|{|{||||{{{{{{{{{|||||}{|{{{z{{|z|||{|}||{|{{{{{{}|||{z|{|{{{z|{{|z{|{{|{{{z{zz{{{||{||}z{{z{z{{{{{z{{{|{{{{z{zz{{|{|||{{{{y{{y{{|||||{||{{{{{zz{{{z{z}|z{{{|{{z{|{{{{{|{y{{z{{{{{{{{z|{|y{z{zzz{{zz{|{{{z{zz{z{{{z{{{||z{{zyy{zz}{{z{||{{{zz{z{z{{{z{{|{z{yzz{z{{z{{{{|{z{{|{yzz|{{{{|{{|{zzz|{{{||{{{{|{|{z{{{{{{|{|{|{z|{{zz{{|{{{{{{|{{{{y{{{{{|{|{|{{{z{{{{{|}|||||{{{|{{z{|||z||{|{{z|z{{|{|{||}||{{z{{|{{{|{|}|{||zz{{{{{|{|||||||z{|||{{}{||||||{{|{|{|{{|{|}|{}}|{{{{z{}}||||}|||{||{{{}||{|}||{z{|{{{{||{}||||||{{z|{{|{|{|}|{{|z{||{z{|}|{|||{{|{z|{}{||{}||{{|||{{|{||}{{|z{|{zz{zzz{|{{{}}|z||z{z{z|{{{||{|{{zzzz{z||{{||||{z{{zz{z|{{|{{}{{|{{zzz|{{|{|z||{{|z{|{{{||{{|{{{z{{{{yz{|{z{|{{{{|zyz{{{{{{|z|{{{{{zz{z|z{{{z||{z{{zz{z|{{|{{|{{z|zzzzz{{|{{z{{{{{{zz{yz{z{||{{zz{zz{|z{|{z{|||z{z{zz{{||{}{{|}{{{{{{{z{{{{{{|||{{{{z{|{z||{{|{{z{z{zz{{|||{{|{|{{{{{{z{{|{{|{|{{{{zzzz{||||{|}{{{{{{{{{|{{||||}{{||{z{|||||{||{|{{{{{{}|||{|{|||{|{{{{}{|}|||{{z|{{{{{|||{||}}|{||||{{||{||||||{{{{||{|}}{|}}|{||||{z||{||{{|||{{{{{{|{|{{}}|||{|{{|{{|{||||{}|{{|z{{{{||}||}||{{{{{{z|||||||z|{|{zzz{{||||{||{{zz{{{y{{|{|{|{|{|{z{{z{|{|{|{}|z{{z{zz|{{|{{|}|z{{{zz{|{{|{|||{{||zz{z{}z{|{{||{z{{{{z{|{{{|}|zz{{{y{z{||z{|{{{{|z{{zz||{|{{{}{zz{{{{{{||{{{|||{z{{zz{{z{z|{{||{{z{{{z{||{||||{z{{{z{z{z{z{|{||{{z{{{{z|{{{||{{zzz{{z{{|{||||{{zz{{{z|||{|||{|||{|{{{{||{{||{||{|{{|{|{{|{{|}||{z|{{|{{{}}{|{{{{{{{{{|||{{||}{{{{|{{{z{|{{z}||{|{{|{|{|||||}||||{{{|}||{{|}|}||||{{z{||}}|||{|}{{{{{{{|}|{|||||{{||z||z|||~}|}}{{{{{|}|}|||}}|{}|{||{||||}|}||||||{{{||||{|~}|}|{{{{|{}|||}|}}{{{{{{{{|}|{|||}z|{{{|{{|||{||{}|{|{{{|z{{|{{{z|{zz{{{{zz{|{{{{|{{{{|zzz|}|z||||||{{{z{{{{{{{|}{|{||{{zy{|{{|{}{{{zz{{{z{{{z|{{{{{{y{z{z|{{{{||||{{{{{zzz|{{{{{|{z{z{{z{{{{{||{{{z{{{z{{{{{{{{|{{z{zzz{z{{{{||z{{{{{zz{z{{|||{{|{z{z{{{{z|{{{||{{|zz{{{{{{{{|{||{{|z{{{z{{{|{{{{zz{{{{{z{{z{{{{|z{|{{z{{||{{|{||{{{z{zz{|{|||}||{{|{|{{{{}z|}z{}{{{{{{{{{{||{|{{{{{{{|{{{|{{||||||z{{{{{|{}||||{{|||{{}{||||{||}{{{{{{|{{}||}||}|{{|{{|||}|||||}{|||{{{||{{||~|}|{{|{|{z|}}|{||||{|{{|{||||}|||||{|{{{|||{|||}|}{||{|{{|{|{}|}}||{||{|||{{{{}|}||{{{{|{{{|||||{||{||{{{|{{|||{{|{{z{z}{{{|}{{|{{{z{z{zzz|{|||z|{|{{zz{zz{{||||||zz{z{zz{|||{{{{{|z{{zz{z{|{{||{{z{|z{{{{{{{{{{||{{{z{z{z{|{{{||{|y{z{{{{{{z{{|{{{zyyzzzz{|{{{{|{{{zzz{{{z{{{|z||{{{{{|zz{{{|z{{{{{zzzz{zz|{{y|{{y{zz{zz{z{y{{||{{zzz|z{z{{{{{|{{{{{{{{{z{|{{|{{}{{{{z{{{z{|||}{{{{{{{{|zz||{||{|{{{{{{{{z{{|{{|{|{{z{zz{{{|{{{{{zz{|{{|z{{|z|{|{|{|{{z{{{||}||||{{{{{{|{|}|||||||{{|{|{{||{{||}{z{{{{{{{|}|||}}|z{{{z{||{}||||}|}|{{|{{{{~{|}}|}|{{{{{||||}||}|||z{{{{{||}|||}}||{{{||z|{|{{|{||{{{z{{{{|{{|{||{{|zz|{|zz||||{}{{z|{z{z|||||{{{{|zz{{z{zz{||{{{|z{z{{{{y|{{{z{||{z{z{{|{{{||{{|{{{|{{{zz{{|{|{|{{{zzzzzz|{{z|||{z{{{z{{zz{{{{z||{{{z{z{z{{{z{{{|z{zz{z{{{{{z{||{z{zzzzzz{||z||{{{z{{zzy{{{{{|{{{zz{zz{{zz{{{z{||zy{z{yzzz{z{z{y{{z{yzzz{z|{{{z{|{y{zz{{zz{{{{|{{{{zz{zz{{{|{{{|{{{|zzzzz{{{{|{z{|{{{zz{{||{{{{{|{{{|{z{z{||{z||{zz|z{{{z{||{z{{|{{{{|{z{{||z{|{{{{{||{z{z|||{{||{{zzz{{{|{|{||||z{{|{{z{|z|||||||{{{|{{{||{{{||||||{{{{{|{{{||}|{{{{z{{{{~||||{}{{||{{{z||{{||||||{||{{|{|||{}{{{{|{{z{|{|}|{||||{{{{z{{|{||{{}{|{{{{{{{|}{|z||{{||z{z{z{{{||{{{z{z{{{z{z||z{{{||{{{{{zz{|{{|{{{{|z{zz{z|z|{{z{{{{|z{{{{{{{|z|{{{||z{{{z{{{|{{{{{{zzz{z{{z{||{{{{zz{{{yz{{|z{|{{{|{z{zz|{zz{{{|{{zzzz{zzz{{{z{{{{zz{y{z{|||{{{{|zz{{z{z{y{{|{||{z{zzzyzz{z{{{{|zzzzzz{{zz{{{z|{|{zz{|{zzz{{{{{|{{{z{z{{{{{|z{{{{{z{{zz{{zz{{{|||{|{zz{{z|||{{{||||z|{zzzz|{|||||z{{{|z{z{{||||{{z{zz{{{z{||{{|||{{{{{{{{z|{||}{{||{{|{||||||||{|z||{{{{{z|}|{||||z|{|{{{||{{|||||{{{{{|{{|||{}|||{{||z{z{}|{||||{{{{zz{{}|{|{||||{||{{{||||||||||{z{{{{{|{|}}|{}{{z{z{|{{|{||{||{|{{{{{z|{||{{|||{|{z|{z||{|}{||{{zz|zz{|{|||{{{|z{{{zzz{{{{||{||{z{z{zz{{{{z|{{{z{{{z{{{{{z{{z{{{{yz{{z{{{{|{{||{{{zz|y{{{{{{|{{{{{{{zz{{||{{{{zzzzx{z{{{z{{||{z{zzzzzz{|z{{{z{{{{z{zyzz||{||{|{{{{zz{zz{|{{{{|{z{{{yz{z{{|z{|{{{zzz{z{{||{||{{z{z{zzzz{{{{{{{{{zz{{z{{z||{{|{|{{zz{{{{{|z|{{||{{{zz{{{|{{|{{|{{{z{{{{{z{{|||{{{zz{z{{z|{||{||{|{|{z|{z{|{{|||z{{{||{z{|{{{{||{y{{z{{{{{||}{{||{{||{{z{{||||{}{{{{{{{z|}{}}|||}|{|{{}{|{{||{|||||}{{z||||||{||||||{|{{{|{||{||||{{||{{{{|{}|}}||{{z{{{{||{}|||||{zzz{{{z{||{|}{|{{{z{{z{|{|{}||{{{{zz{{||}}||{{{{z{z{{{{{{|{{|{{{{{{zz{|{{{{|}{zzz{{z|{{{{|z{||{z{z{zzz|{{{{z||{{{zz{z{{{||{z||{z{z{{zy{{{z{{{{|{z{{{zz{z|z{||{yz{y{{zz{{|zzz||{zzzzzzz{{{{{{|zzzz{z{{{z{z{{{{{zzz{zzz{z{{z{||{{z{{{zzz{{zz{{zzzzzz{zzzzz{z{{{{z{{z{{z{{{{z{z{|{{{z{{z{{|{{||{|{z|{zz|zz||{||{|{{zzzz{zz{{{||{z{{{{{z{z{z{|{{{{|z{z{{{z{{z{|||{{zz{{zz{z|{{{|{{|{{{|{{{|{|||{|{|{z||{|{{||{|}|}|{{{{{{{{||{|}|||z|{{z{{||{{|{|}{||zz}{{{|{{|}|||{{|z{{{{|{|}|{|||{|{{{||{{||||{{z{{|{{{|{||||}|z{z{|{z{{|{|||{{{{{zz{{{{{{{||{{{z{|z{{zz{{|||||||{z{y|{{{|{||||{z{zzzzz{{{|{{{|{z{z|y{{{z{{{{||zzz{z{{z{z{{{|||{z{{{zzzz||zz{{||{|zz{zy{{||{{{z{zz{{{{z{z{z{||{{{{zzz{{{{{z|{{{{z|zz{zy{zz{{{{{zzzzzzzz{zz{{{{{{yz{yzzzz{{z{{{{yzz{zz{{{{|{{z||{{zzzzy{zz{{z{{{{{{zz{z{z{zz{|||{z{{{|zy{z{{{||z{{zz||zz{|{z{{{{{{{zzzzz||z{{{||{{{{|{z{{{{{{{}|z{{zzz{|{{|{|||{{{{{{z{{||{{{{|{{z{z{{{z|{||z|||{z{{{{|z{{}|{{|{{{{{{{{{{{||{|||{|{{{{{{{{|{|{|z|z{{{{||{}|{||}{|{{{{{{||||||||||{{{{|{{{|||||||{{|{{z{{{|||{|||{{{{{{{||{{||||||{z{|{{{{|{||{{|z{{z{yz{{{{|{|{{{{z|{{{z{|{{{{|||{|{{z{z|{{|{|{{zz{zzz{{{{|z{{|}{{z{zzz{|{{z||{}z{z{zz{z|{|z{|{|{z{zzzz{{{z|z||||{zzzz{z{|{{{{{{{{|{{z|{z{|z{|||z{zz{zzzz{{z{{|{zz{{z{{y{{{{{{||zzzzzzzzz{{z{|{{{{{zz{z{{|{{{{{{z{{{y{zzz{{|{||{z{yz{z{{{{{{{{{{{{z{{zzzz{zz{|{{{{z{{{zz{z{|{|||{z{{zzz{z{||{{{|{zz{{{{{{|{{||{{{{z|z}{{{|{{|{|||z{z{{{{z{||{}||zz{z{z{{{|||{{}{|{z{{{{|{||{|{{z{{{{{{zz|{|||}{|{||{|z{{}{{}|}||z|{||{{{|}|||||||z|{{z{||}{|{||}{|{{{{|{{|}{|}|||{{{z{{{{|{{|||||||{z{|{{{z}||}{|{z|{{{{|||||}}}}{{{|z{{||{|{|{|z{{z|{|{{|{||{}{{{{zzz{{||{{{|||{{{z|{{{{||}||{zzzz{zy{{{||{||||z{{z{{z{{|||{|||{{zz{{{{||{{{|||{{|{{z{{{z{|{||||{{{{{{||z{||{z|z{{z{|{y{zzz|{{{|z{{{zz{z{||z{{|{zzzz{z|{{{{{{{||z{z{z{{zzz|z{{{{z{zz{{{z|{{||{{|{{{zzzz{{{{||{{{z{z{zzyzz{{z{||{{{z{{{zz|{|z||||{{{{{z{z|{{{{{}{{{{{|z{{{|{||{z{zzz||{z|{{|{|||zzzz|{z{{{|{{{{}{{{{zz{z{|{{|}||{z{{zz{z|{|z|||||{{{zzz{{{{{|{||{{{|{z{{||}{}{{|{{{|{|{|||||||||{||{{|{{|{|||{}||{|{{{{|{}|||{|||{|{{||{|||{|}|{|{||{|{{{}|}{{|||{||{z{|}|{||||}|{{{||z||}|{||||}|{{|{{{|||}{}||||{{{z|{||{}{}}||{{z{{{{z||{|{||{{z{{{{|{||{}||{|{z{{z{yz{|{{z|{{{{{zzz{{|{||{|}||{z{{zzz{{||{{{|z{zz{{{z{||{{{||||{zz{z{{||z{||{zzz{{{z|{{|{||{{z{z{{zz{||{{|{{{{z{{{{{{z{zz{{{zzzz{yyy{|{{|||{zz{zz{zzz{||{|{{zz{zzz{z{{|{||{|{z{z{yz{zz{{{{{|{zzzzzzzzz{{{|{|{|zzzz{z{{|{{|||{{|{{{zz|{|{{{{{{{|{zz{{{{{{|{||zz{zz{{y{|{|{{|{z{{z{{{{z|||{}|{{{z{zz{{{{|{|{}{{{z{{{{{|{||{||y|{{{|{{z|{|}|}||{{{|{||||{|||}|||{|{|{{z|||{|}|||{{{|{{{|{{{|}|||||z{|{{{|{{||}||{{{{|{|z}||||}{{{{{{{|{|}|||||}{{{|{{|{{|{|{}|||{{|{{{||{|||}||{{|{{{z{{|{||||{|{{{{{{z{|{||z||{{z{{yzz{|||{|{|z{zz{{{z{{z{z||{{{{{{{zz{|z{{|{|{z{{z{z{{{{{{|||{{{{{z{|{{{|{z}{|{{{z|{{{{{{z{{{z{{zz{z{{{{{{||{{{{{{{zz{{|z||{{zz{{{zzzzzzzz{{{zzzzzz{{{{z||{|{{{zzy{z{{{{z{|{|{{zz{zyz{|{{{|{{{yy{{z{y{{zz{|{{zzzy{z{zz|{{{|{{|z{z{zzz{z|{||{|{z{z{z{{{|{{{|{|{zz{{zzz|{{{||{{{{{z{z|{{{|{{{||{{{{{z|z{{{||{{{{{|{{{z{{|{|||{{{{z{{{{{{{{|{{||{z{{{{{{{{z|{{||z{{{{{{{{{|}|{|{{{|{{{{z{||{|||{|{{{{{|z|}{|{}}|{{{{{}|{{||{|||}|{|{{z|{{}}}|}|}|{|{{{z{||{}|{{|{{{{{{{|||{{|}}||{{|{{{{{{|||{{|||{{{{{{|{|||}|||{{{{{{{{{{|{|||{z|{{z{{||{|{|z{{z{{zzz{z||z{{{|{{{zzz{zy{{{{{|{{zz{{{{{|{{{{{{{{zzz{z{{{|{|{z||{z{zzz{z{{{{z{{{zy{{zzyz{|z{{|{zz{{z{{yz{z|{{|{{{z{{{|y{{{z|{z||zzzzzzz{{{|z|{{{{z{yyz{zzz{{z{|{z{{zzz{z{{{{{{|z{zz{zz{{z|||{{{{{{yzzzz{{|z{{{z|zz|{z{{z{|||{|{{|z{{z{{z{{{{|{{|{{{z{z{z|{{{}|{{z{{zzzz{{{z{z{||{{|z|z{|{z|||||||{{zzzz{|{|{{{{|{zz{{|{{{|z|{{|{{{{z{{{||}{|{}||{{{|{{|{}{{|}|{|{{{z{{{{|}|{|||||z{zz{{{{||{||{|{{z|{{{{|{{|||{{{z|z{|{z{|}|||||{|{|{{{{{{|||||||{|||{{{{||{|}|}|{z|{{{|{||{|}{|{{{zz{{{||{||||}z{{|{{{{{|{}{||{{{|{{z{{{|}{z||{{zzy{{{{{{{|{{}|z{{z{zz{z{{z||{|{zz{z{z{|z|{z|{{|z{{zzzz{{|{{|{|{{|zzz{z{{|{{{{|z{|z{z{zz|||{{{|{{y{z{{zz{{{z|{{{zz{{{z{{z{z{||{z{{yzzz{{{{z|zzz{zz{z{zz{{{z{{|z{{zzy{z{{|{|z{|{zzyz{z{{{zzzz{{{{{{z{zzz{|{z|{|{{z{zz{zz{|{{||z{{{{z{z{{{{{{|||{|zz{{{{z|z{{||{||z{{z{{{{{|z||z{{z|{zz{z{{{|{||{|zz{{|zz{||{|{|||{{{z|z{{{|{{{|{{z{{{{{|{|{|||||{{{{{{||||{|||{{{{{{|{{{|||{{||{|zz{|{|{||||}||||{|{{{|{|||}|{|||{||{{{{|||}{}}}|{{|{|{{{{{}{||}|{{{{{z||||||||||{|{{|{|}{{|{|{|{{|z{{{{{|{{{z|{{{{{{z{z{|{||||{{z|{|{z{z{{|{{{z{z{zzz{z{{{{{{|{z{z{yz{z{||{|{{{{zzyzzyz{{{{{|{{zz{yz{z{{{{|{{{|{z{zz|zz{||{|{{{{z{z{z{zz{{z{z{{zzzy{zz{{zz{z{{|z|zzz{z{{z{{zz{{{y|zzzzy{z{{|z{{{z{y{zzz{{{{{{|{zzzz{zyyz{z{{{{{{zzzz{{zzzzz{{{{z{zyz{zzz{z|{z{|zzzzz|{yzz{{|{{{{zz{z{z{{zz{{||{zzzzz{z{{{{||{{{z{{z{zzz{{{||{||z{{{zz{{z|||||{{z{z{{{z{{{{|{{}|{zz{z{z{|z|{||||{{|||{{z{||||||{{{z{{|{{|{{}||||{{||{zz{||||{{|{{z||{|{{|{|{{{|||z|{{{{{{||||||}|||{{|{{{{|}|{}||{|{{{|{||{}{|{{{{{{{{|{{|||||||{{{z|{|{||{{||||{|{z||{{{|z{{||||{{zz{{z{||||||{{z{{{z|z{{{{||{{{zzzzzz{zz|z}{{|{y{z{zz{{z||||||{{{{{{{z{{{{|{z{zz{{zzz{{{z{{||{{{zzz{zz|{|{{|{|zzz{z{{z{|{{{|{{{z{yz{zz{{|{{{|{{z{yz{{z{{{{{z{{zyz{zz{z{{{{{{|{{{zzzzzzz{{|||{|{zzzzzzz{{||{{{{{{zz{zzy{{{{{{{{{{{zzzyyzz{{{|{|z{|z{{zy{{z{||{{{{zzzz{z||z|{{||{{{zz{{{||{{{z{{{{{{{zzz{{{{{{{|{zz|zy{z|||{{||{{{z{z|z{{{|{||||{z{{{{zz|{|{{|{{{{{|zz{{||z|||||{{{{{{||}|{|||}}{{z{z{{{{||{||}||{{{{{|{|{|||}}|{{{{{{{{}|{||{||}{{|{|{{|}~|{|{}{z|{z{{{{|||}}{||{{{|{|{{{||||}{{{{{|{{{{|||||{|{{|zz{|{{|||{||{|zz{z{{z{{{||{{|{{|z{y{{{|||{{|{zx{y{|{z|{{zz|{|{{zzz{z{{{{z{{z{|{zz{{zz{|{z{z|{{|{zzyyz{{{{{{{{{{{zzzz{{{{{{z|}{zz{z{{z{{z|{{{{{{zzzyzz{{{z{{{{zz{yzz{{{z{{z{z|zz{zzzzz{{{z{{|{{zz{zzz{{{{{|{{{zz{{zzzzz|z{z{|z{zzy{x{z{{{|{{{|zzy{zzzyz|zz{||{z{zz|z{zz|{{|{{{z{{{{zz|z{{{{{{{z{{zzzy{{z{{|||{z{{zzy{z{{{z{{{|{zzz{z{{{{|{|||zzzz{{{{y{||{{{|{|z{{zzz{{|{{{||z|z|{{{{z|{|{||||z{{z{{{{{{||{|}|{z{||{{{||z||{||||{{|{{{|}|||}{|z{|{|{|zz|{{||{|{{{{{{{zz|{|{{{||z{{{{|{||||{||||{z{{{{||{{{||||||{{{{z|z||||{|{|{zz{{z{{{{|z}|{}z{z{z{y{{z||{{{{z{z{z{||{{{|{z|{{zz{{{z{{|{{{||zz{|{{z{{{|||{|{|{zyz{zz{{{{{{|{{{{{z{z{{|{{zz||z{{{z{|zz{|}{{z{z{zzz{zz{|z{{{{z|{zzzzzyzz|{{{{{z{zzz{z{zz{{zz{{zzzzzy{z{|{z{{|{zz{{{{zz{{|{z{||z{zzz{zz{||{{{{{zzz{{z{{{{z{z|{|z{z{zzzz{|{{z{z{zzzzzzz{|{{||{z{{|{|zzzz{||{{{|}zzzzzz{zz{{{{{{|{{{{zz{z||{||{{|{z{|{z{{{|{z||{{{z|{{{{{|{||{{|{{z{{z{z{{|z||||{z{{z{|{{{{||||||z||{{zz|{{||{|}|z{{{{{{||{}|{||||z{{{z{{{|}{|||}{{{|{|||z|}|}|{||z{{z{{{z}|}||||{|{|{{{{||{}{||||{{|{|{{||{{|||}{{{||{|{|{{||||}{{|{{|{|{{||||}|{{{{{{zz{|||||{{z{zz|zz{||||{|{{z{yz{zzz{{|{|{|{{z{|zzzzz{{||{{{{zzzz|zz{{zz|{{{{z{{z{zz{z{{z{|{{{zzzz{y{{{|{{{{zz{zz{{{{z{{y|{{{zz{z{zz{{zzz{|{{zzyzzzzzz{{z{{{zzzz{{{zz{||{z{z{zzzzzyz{z||{{||{zzzyz{z{{z{{{||z{{{yz{{{{{z{{{{y{zy{zz{{{{|z|{|yzzzz{{z{{{z{|||{{{yzz{z{|{z{{{{{z{zzzz{|{{z|{{|{zz{zzz{{z{{{{|{z{{{{z{{{{||z{{|{{{zz{zz{{|{||||zzz{zzz{|{}{{{{|z{zz|z|{{{|||{|{z|{{{|z{|{{||{{{{z{{{{z{|{{|||}{{z{z{{{||||{{{||{z{{{{{{{|{||}||}|z{{{{||{||}|||{{|{{{{{{{|||~|||{|{{{{{{|{{{{|}||{{|{{{||{}||{|{|{{{{z{|{||z||}{{|{{z{z{{{}{|{z{zzzz{{{|{|{{{|{z|z{{{z{{{|{||||{{zz{z{{{|{|||||{{z{{z{z{{{{{{{|{z|{z{zz{|}|{{}|z{z{z{zz|{|{{{{|{{{yz{{{{|{z|{|z{zz{z{zz{{z|{{{{{{zzz{{{{{{{{|{||{{z{{{zz{|{{{{{{zz{z{yz{{z||||{{{{{zzz{z{{|{{{z|{z{{z{z{{{{|{{|zzzzzz{zz{{{||{{{{{z{{z{z{{{||{{|zz{{{z{|||{{{{|{|z{{{{{||{||{||{{zzzz||{|{|{||||{z{zz{z{|{|||{{{{{{{{{{|||||||{{z{{{{{{{||{{||{{|z|{{{{||||||{|{{{{{{||}{}|||}|z{{{{|{{|||{{||||{{{|{|{||||||||}{{{{|||{|}|}||}|{|{{|||{||}|||}|{|{||{{|}|~|{|}{{{{{{{|{||{}{}}||{|{}{{|{||}||||{|z{|{{{|{{{||||{z{||{z{{{|{||{{{|{{|{|{|||{{|{|{{{z{z{{{{{{|z|{z|z{z{z{{|{{|z{{{{z{z{{{z{z{{z{z{z|{zzz{z|z{|{|{{|zzzzz{{||||{|{zzzz{zzz{{|{{{{{{{{|zzz{{{zy{{zz{{z|zz{z{{{{|{{|{zzzyz{{{|{{z|zzzz{z{z{{{z{{{{zz{{zz{z{{{z{{||{{{{{zz{z{{{|z{{{{{{zzyzzz{z{{{{{z{{z{{zz{{||{{}{{zz{z{{z{|{z{{||{z{{zz{zz||{|{||z{{|{||{{{{||{|{{z|{{z{{{}{|||{{{{{{||z{|{|||{||{|z{|{{{{|{{|||||z{|{{{||{{|||||{|z{{{||{{{|||||{{zz{{{{}||||{|||z{{{z{{{|||||}}{z{{{{|{{|{{{{}||||{{z{{{||{||}||{{{z{z|{||}{{|{|z{{|{{{{||{{|}|||{|{{{|{{{}|}||{{{z{{{{}z||{|||{{{{{{{{|||{{|||z{|z{z{{{|z{{|{|z{{zzyzz{{|{zz|z{|zzzz{{{|{z|{||{z{{z{zz{{{{{z||{zz{{{zz|z||{{|{|{{{{{z{{{{|z{||z{{{z{{z||||z{||z{zzzy{z|{{{{{{|{{|yzzzz{zz{{{{{zzzzzzzzz{{{{{{{{{zy{{z{z{|{|{{|{zzzz{z{{{{{{{{{{{{{{z{zz{{z{{{{|{{z{zz{{{{{z|{z{{{zzz{y{{{{{|||{{z{{z{z{{{z{{{{zzzzzzz{|{{{|{{|{{{{{z{z{|{|{{|~|zzz{z|z{|z{{|{|{{z{{{{z||{|{||{{|{|{{z{{|{|{|{||z{z{z{z{|||||||zz{{|{{{{|{|{||{{z{z{{{z{|||{{}|{{||{{|||}||{|||{{{z{|||{{||||{}||{{{{{{{|||||{{{{|{z{{z||{}{||{|z{||{{{||||{{||{|z{z||{|{|}}{|}|{{z|{{y{|||{{|||{{{{{{|z{{|{}{{{|{z{{{{{||||{{{z{zzz{{zy{{z|{{|{{zzz{zz{|{{z|||z{zz{{{zz{zz{{{{{z{zzzzz{}||{||{{|{zzz{yz{{{z{{z{{{{zzzz{{{z{{{}zzzz{zzzz{{{{{z{z{zy{zz{z{{{{{{yzzzz{yz{{{{{{{{{{{zzz{zzz{{{{{{zzz{zzz{z{{z{{|{{{zzzz{zz|z{{z{z{z{zzz{zzz|{z{{{|{z{zzz{z{|{z{{|{{{{{zzzz|{|{{{{{zzzzzyzz{{|||{||zz{z|z{{{z{{}|{{|{{yzz{{{||||{{|{{{z{{{{{{{{{}{{zz{{{zzz{{z{z|{{{z{{{|{{{|{||}||||z||{|{||{{|z||{zz{{z{{||{{||{{}{{{{{{{||||}|||||{{z{{{{|{||}||{{{|{{{z|}}|{}}|{|{{{z{|{|}{|}||{{{{|{z{{|{{|{}||{z|{{{|}||{{{||{{|zz{z{z{{{}|{|{{{{{zz{|||{|{|{z{{{{{{z|{{|||zzz{z{zzzzz{{{{z{|z{{{z{z{{{{|{}z}|zz{zz{z{{|||z|{zzzzzzzzy{|{{{z|{{zzz{{z{{{|{|{{{z{{z{zzz{{z{{|z{{zz{zz{{{|z{{{{{z{z{zzz{zz{{|{|{{z{zzz{{{{z{{{{zzzzy{z{{{|{{z{{{{{z{z{{{|{|z{{{{zz{{zzzzz{{{{{|{{{{{{z{z{{z{|{z{{{{{{zzz|{|{{{{zz{z{z{zz{{{{{{}{{{{zy{{||||{||{{z{zz{{{|{{{z|||{{|zzz|{{z{|z{{||{z{zz{z{||{||||{{{{{{{z|{{|z|z|{z|z{z{z|||{|||{{|{{{z{{|{||{|{}{{z{{z{{||{{||}{|{{z{z{||}||{{}|{{{{{||{|{{|||{{|{{}z{{|{}{|||}}|{|{|z{{||}||}|{|{z{|zz{{||||||}|{{||{{{|{{||{{}{|{{{{{{{|{{{|{||z{{{{{z{{{{|{{{{|{{{z{z{{{{|{{{{zz{{z{{{z{|{|{{zzyzzz{z{{{{||{||{zzz{|{z{|{{{|{{z{{{zz{{{{{z}|{{z{yzzz{{{{{z{z{{zz{{{{z|{|z{{{{{{z{z{zzzz{zz{{{{z{{{{{{||{{{{{|z{zzzzy{z{z{z|{z{zzz{{zz{z{z{{{zz{zzyzzzz{{{{|{{zz{{zzzzy{{{{{{{zz{{{{zz{{zz{{{{zz{{z{{z{{z{{{||{{{z{z{{|{|{|||{|{{{zz{z{{|{}{||zzzz{z{z{{{z|{{|{z{{zz|z{z||{||||y{zz{zz{{||{|||{{zz|{z{{|{{{{||{|{|{|{z{{{{||||{|{||{|{{|{|||}|{{{|z{{{|{|||||{|zzz{{|{|||{|||||{{{z{|{{|{||||}}{{{{z{{{||||}|||{{{{{{{|{||{}|{{zz{{{z{|||{|||}|{{|{{|z{{{|||{{{{{|z{{z|{||||{||{z{{{|{{|{|z{{|zz{{|{{{z{{{{zzzz{zz{{{zz|{{{z{{z{{zzz{{zz|{{{{{{{zzzzz{|{{{z{|||z{{z{yz|{{|{{{{z{zz{{{y{{{|{|{{z{{{{zz{{y{{z{{{z{zz{yz{|{{z{{|z{z{y{{{{{{zz|{{{zzyyz{zz{{{{{{|{z{zzzz|zzz|{||z{{{{{zz{y{{z{y{|zz{z{zzzzz{{{z{{{{zyzzz{zz{zz{|z{z{{z{{{yz{z{{{{{{zz{z{{{z||z{{|{{z{|z{z{{||{{|{|zzzz{zzz{||z{{}|}{{|{zzz{|{{|{|{{{z|{{zz{{|{||}|{{{{{{{||||{{|{{{{{{|z{{}|||{|{|{||{{{z|{|{|||}{|{z{}{z{z|||{|}{|{|{|{||{||{|{}}{{|{{{{||{|{||||}{{|{|||{}}||}|}{{{{|z{|{|}|{||}{|{{|z{{|}||}|}}||z|{{z|||||||||{|z{{{z{{{{|||}||{{{z{z{||{{{{|{|{{{z{z{{|{{|{{zzz{zzz{yzz||{{{|{{zy{zzzz{{{{{{|{{z{zzyyzzz{{{{{{zzzzzz{z|{{z{{|zzz{zz{z{{z{{z{}{z{zz{zyz{|{{|{zzzz{zzzyzz|{{z{{z{zzy{{z{{{z{z|{yzzzzzz{{{{z{z|yzzy{z{zzz{{{{{||z{zzzzzzzzz{{{{{zyzzzyzyz{zz|z{}zzzz{zyz{{{z{{z{{zz{z{zy{z|{{{{|{z{{{z{{{||zz{{{{{{zzz{z{{{{{{{{z{zzzz{z{{|{{{}{zz{{{z{z{{{{|{{||{z{|{{z|{|{|{||{{{{{{{{{{{{{{{{{{{|{{z{|{{}{|{{|{{{{{{{{|{{||||{{{{{zz{|{{{z|||{z{z{z{{||{{|||{{z{z|{||{|||}||{}z|{{{|{{|||||}|{{|{{{|{{|{{{||{{{{{|{z||{{||{|}|{{{|{{||{{|{|{||{{{{zz|{|{z{||{{|{{{{{z||{|||{{{{{yz{{z{{|{{{|{zzz{{y{z{{{{{{{|{zzzz{z{{z{z{{z|{{|z{{zz|{{{{{z|z{{zzzzz{|||||{|{{{{z{zy{z{{{{z|||{zzzzz{z|z{z{{zz{zz{{{{{|{zz{{zz{zzz{{z{{z{{{{{z{zzz{zzz||{{z|yz{zzzz{{{zz{{{{{z{zzzzzz{y{{{{{{{z{{zzzzz{zzy{{{z{y{zzyz{zzz{{|{{|zz|zz||{{{{|{{{{z{z{{{{{{{{}{{z{zzz{{||z{|||{z{{{z{z{zz||{{}||{{{{z{{z{|{{|{||{{{z{zz{{{|{{||{{z{{zzz{||{{{{{|{{{{|zzz{|}{{|{{z{{{{|||||||}||{z{{{zzz{||}|||{}{{{|{{{}|{|||}{{||{{z|{|{{{|||||{|{{|||||||{}||}{{{z{{{{|}z|}{{||{z{|{|||{{||}{|{{||{z{{|{}|}|{{z{y{|{zz|||{||||{{|||zzz||||{{|{{||{z|z{{{{{{{{zz{z{zzz{{|{{z{|{zzyz{{zzz{{{{{|{{{{{{z{||{{{z|}|{{zzzz{{{||{{{|{{{zzzzz{{{{{|||{zzzz{zy|{z{|{{|zzzz{zzz|{|zz{{z{{{zyzzz{{z{{{|{{{{yzzz{{{{{{zzz{zzzyzzz{{|{{||{zz{{zzzz{z{{{|||{z{z{z{{z{{|{|{zzzzz{zzz{|z{z{{{zzzz{{{z|{{z{||{zz|z{z{{{{{zz|||{{{{|z{y|{{|{|{{{{{yzz{{{{{||{|{{{{{|zz{{}}{{}|{{||z{zz{|{||{{}{{{|{{z|{{{||{||{{{{zz|{{|}{{}|{|{|{{{{{|{{|||{||{|{{|{{{{{|{|{|||z{{{{{{||||{|||{{|{z{|||{||~||||{{{{{{||}{||{||{{{{{{{{||{|{|||{{{|{{z{{|{|{||}||{|{{{{{{||||||{{{{{{|{{{|{}|{||{{{z{{|{{|{|{{{{{{{z{{{{{{{||{zz{zzz{{y{zz{|{{|{zz{z{zzz{{z{z|{{zzz{{zz{{{||{||{{zzz{z{{{|{{{{{{{z{zz{zz|||{||z{{{zzz{z{{|{{|{z{zzz{z{{z{{{z{{{{z{yzzzz{{{{z{{{z{zzzzz{{z{{z{|{z{zz{{yz{{z{z|z|zzzyzzzz{{|{{z{{{{zzzzzz{z{z{{z{{{z{{{z{z{|{z|z{zzz{z{{zz{{z{|{|{{zz{{{{{||}{||||z{|zz{{{{{||{{{z{{zz|zz{|{{{{{{z{{{{{z{{{||{{|{z{|{{{zz{{|}{{}z{{{{{{{z||{{{{{|{{{{{{z{{{{|{|||}{{z{|{{|{|||{}|{|{{{{zz||{|||||{{{z|{z{||{{|}|{{{||||{{{}{||||||z{|{{{{|}{{||{|{||{{z|{{{|}|}|||{{{{{{|{|||{|||||{{{|||{{{}{|}|z{{|{z{z{|~|{||{{|{{{{z{{|{||{{|{||{z{zz{||{{{z{{zz{zyzzz{{{y{zz{zz{{zzz{{{{{{{{{{z{{zz{{yz{|{|{{z{zzz{z{{z|{|{{{z{yzy{z|{{{{|{|zz{zzz|z{{{{z{{z{zz{zz{z{z{{zzz{{{zzyzz{zzz{zzz{zz{{{zzz{{zzy||zz{zzzzy{{{{z{{{z{zzzz{yzz{{{{{|{zzzzzzzzzz{{{{{|zz{z{z{z{z{z{||{zzz{{{zz{{{{z{|{{{{z{yz{{{{{|{{{zzz{yz|z{{|z{|{{{|{z{z{{|{|{||||{{{{{z{{{{{{{||{{{{{{{{z{||{{|{{{{|{{z{{|{{|{||||{{z|{{{{|||{||{{{{{{{{z|{|{||||||{|{{{z||}||||{|{{{{{{{||||}{{|{{z{|{{}{{||{|}{}|{{{{|{{|{|{||||{|z{z{{{|||{||||{{|{{z{{{|||{|}{||{|{{{{{{{{||||{{y{{{{{||{||{||z{{{z{z{|z{|||{zz{{zzz{{{|{|z{|{{zzzzzzz{{{z||{{{zyz{{{{{{{{|{||{{zz{zz{{{{{{||{z{zzzzz{{{{z|{|{{z{zzzz{z|z{|||{z{zz{{yz|{{z{|{{z{zy{{{{{z{z{{z{{yzzz{{{|{|zz{{z{zz{zzz{{{{{{|{yzz{y{{yzz|{{{{{z{zzzz{yz{{{{{{z{{{{zz{zz{{{{|{zz{zzzz{z{{z{{{{z{{zzz{{z{|||{{|{{|zz|{{{|{{{|{{|{{{zzz{z{|{||||{{z{zzzz||{||{|{|{z{{{{|{z|{{{{{{||z{{{zz{{}|{||{|{{{{{|{||||{||}||{{z|{{{||||{||{{{z{{|{||||||||{||{|{{{|||{{{||{|{{{{z{||||}{|||{zz{{|{{{||}}|{||{{{{|{{}|||||||{|{{zz{||{||}|||{{{||{|{|{|{|}||{{|}{{||||||}||{|{{|z|{|}|}||}{||{{|{zz{||{||||{{|z{z{{|||{{{{|z{{{|zzz{|{{|{|||{zz|{{z{{{|{||{{{zzyz{z{|zz|||z{zz{z{{z{||{{{{{|{|{{z{{{z{{z|{{{{{{{zz{|{{zz{|{{{z{zzzz{{}{z{{{{{zzz{{zzzzz{||{zzy|{zzz{{{{{z{{{z{|z{zzz{{{{{||{{{zz|z{{{{z{|{{{z{zzz{z{z{{z{|{{yzy{zzzz{{{{{{{zz{{{{zzzz{{z||{{z{{{y|z{|||||||{{{{{{|z||||{|{|{{z{|{{z{|{}|{|{|z{{|{{{{|{|{||{{{z{{zz{||{{|}|{{z{{{{{|{{|||{{||{{{{{|{{{{|||{{{{{{{z{{|||||}||||{||{|{}{|||||{|{{{zz{{||||{|}{{|||||z{{{||{}||||}{z{{{{|{|}|}|{{|{{z|{|||||{{|{{{{{{{{{|{|}|}|||z{|{z{{|||||{{{{{z{{{{{{{||}|{|{{{|z{{|{{||||{zz{{{zz{{{{|{{{|{{z{{zzy|{{{z{||{z{z{zzz{{|{{{{{{{{zz{z{z{{{{|{{{zzz{z{z{{{|zz|{{{{{{{{y{{||{{{{{zzzzz{{z{|z{{|{{z{{{z{z{{{z{{{{{{{{z{{{{{zzz{{{|{zz|zzyz{{{z{{{zz{zz{{z{y|z|{|z{{{{zzyz{{z{z{{{zzzz{zzzz{z{z{{{{{{zyzz{z|z{z|{|zzz{{{zz{{{{z{|{{{zz{z{{{{||z{{|{z{z{z{z{{|z{||{{{{z{{{{{{z{{||{{{{{{z{|{{{||||{zzz{zzz{{|{|{{|{{{z{z{{z{{|||zz{{{{zz{{z||{|}{||{{{{||z|{{{|{|||{|{{{|z{{|{||||||z{|{||{|||{||}|{{||z{|{|||{||{||{{{{|{||||||||||z{|{z||{|}}{|||}{{|{z{{}|{{{|}}{z{||{z{|{{||||{{{{z{zy{||{}|||{{{{|{z{{|||||{|{zz{{{z{z|{|{{{{{zz{zy{{z{{{{{zz{zzzz{{{y{{z{{{||{z{{zzz{zz|{||{z{z{zzz{z{{|z{z{z{{zzz{{z{{{z{|{{zy{z{{{{z{|zz{|{{{z{zzzz|zzzz|{|{z{zzzyz{zz{{|{{zzzzzzyz{z{{z{{|zyz{yzyz{{{{z{{|zz|{{z{{z{{z|{{{zzzzzyyzzzzz{{zz{z{zzz{{z{z{{{{|z{zyz{z{z{{{z|{{{z{zzz{zz{{{|z|{{{{{zyzz{{{|{{{{z{{z{{z{{|{z{|{{{z{{z{z{|{{||{{{{{zzzz{{|||{{{|{z{{{{zzz|{|{{|{|{{{zzzz|{{{|||{|zz{{{{{{{|||{|}|{|{{{zz{||{|{||{{zz{{{|{|}{|{|||{{{{{{||{|||{}||{{z{z{z{{|{{{|{||{{|{{{{||{{|{|||{{|{z{z|{{{|}||zz{{{{{{{{{|||||{z{z|{{|{|{{{z|||{{z{{{z{{||z{||{{{z{zzz|{|{|{{{z{zy{{zzz{{z{{{{{z{zzz{{{{|z{||{{{{yz{{z{{z{{{|z{z{yzzzz{z|{|{{{{{zzzz{z{{{{{|z|{{{y{zzzz{{{zz|z{{z{zz{zz{{{{z|{{zz{z{zzz{{z{z{{{{yzz{{zz{{zz{|{zz{{yzz{{{{z{|{{z{zzy{zzz{{z{{{{yzzz{zz{{zz{y{{|{{zyzzzzy{{{{{{{{z{zzzz{{{{|{{{{{{{zzz{z{{|{{{{{{{z{zy{z|{{{||||z{{z{zzz{{{{|{|z{z{{{{{{{{{{{{{zzzzzz{{y|{{|{||{{{z{z{{{{{{{|{{|{{{{{{{{{||{{{}|{||{z{{{{|||{||{{{{|{|{|{{{||||||{z{{{{{|}{{|}||{{{{{|{{{{|{|||{|{{||{{{{|{|||~||{{{{z|{|||||}}||{z{{{{{z{||{||{{{{|{|z{{{|{{|||{{zz||{z{|||{||||z{{{{y{|{|{{|{|z|{{|z|z{z{|{{{{z{zzz{{{z{{{||{{{z{zzy{{z{{|{{z||z{{z{z{{{z{{|z|{zzzzzzz{|{|{{|{{{zzzzzy{{z{{{{{z{zzzz|z{|{z{{|{zy{z{zz{{{{{z{|{zzz{{{zz{{z{{{|z{zzzzzzzz|{{{|{{z|{zy{zzz{{{{||zz{{{yzzyz|{z{z|z{zz{zzzyz{{zzz{zzzz{zzzz{{{|z|{{{zzyzz{z{z{zz{{|{z{zzzzz{z|{|{{|{{{z{z{z|{|{{{{|z{zz{{{{{{||{|{|{{{{{z{z{|{{{|{z|{zz{{{z|{{||{||zz|{{{zz{{}{{|||{{{{{{z{{}|||||{z{{z{{{{|{{|{||{{|{|{{z||{|{|||||z{{{|{z{|}||||{|{|{z}|||{{|{||}|{{|{{{{{|||}||||{{{{|{z{||||{|||z||{|{{{{{}{|{||z{{|{{{||{|{|||||{{{z{{{||||{{|{z|{z||z{||{|{{{{z{z{z{{{|||{||{y{z{zzyzz{|{{{{{{y{{zzz{{z{|{z{{z{{{{z{{|{z{{{{z{{z{z{{z{z{|{{|{{{{{{{zz{{zz{{{}|{{z{zzz{{{{z{{{{z{zz{z{{{|{{z{{{{{zzzzzz{{{{{{{{z{{zzzzz{{|{{|{z{zzz{zz|{{{z}{{{z{{{y{z{{|{{z{{{zz{zz{zz{{|{|{{zz{yz{{{z{z{{{{{{z{z{{zz{{|{{|{z{{{z{yz{z|{{{{||yzz{|z|{{||{{|{{z{z{{{{{|{||{{{}z{{{{z|z{{{||||{|{{z{z{{{{|{|{|{{z{{|z{{z|||{||{|{z{|{{{{|{|{{|||{{z|{|{{|{||||||z{|{{{{|||{{}}|{{z{{{{{|{|}|{}|{||{{||{{|||{||{{{{|{z{|{|{||}{||{{{|{|{{||||}||{{{z{{zz|{{|{|||}|{{|zz{|||||{}|||{{{{{|{|||||}||{{{z{|z{{{{{{{||{|{{z{y{{|{{{||{zzzzzz{z|{zz|{{{z|{zzzz{z{{{|{|z{{z{{z{{{{{|{|{{|{{zzzzz{{|z||{{{{z{z{z|{|z{{{{{{yzzzzy{|{{{{z{zz{z{yzzzz{z{||z{zzzzzzz{{{{{z{{{zzzzz{{{{{{{{{|{{{zzyyy{z{{|{{{{z{zz{{yz{{{||||z{{zzzz{{{{zz{{z{z{z|z{zz{|{|||{{zz{{zzy|{{{{{{{|z{zzz{z|{|{{||{{{zyz{z{zz{{{||{{{{zzz{z||{|{{||{{{{z{{{{|{||}|{{z{z{z{{|||{{|{{|z{{z{{|{{{|{{|{{|z{{z{{|||}||{|{{{{{{{{{{z||}||{z{{{{z{{||{|}}{|zz{{{{|||{||||||{{{{{|{{|{{||||{|{{{|{{||{}|}{|}|||{{{{{{}||||||{{{{{{z{{|{{{|||{{{|||||}{||||||{{z{{||{|{{|||||{{{{{{{{z||{|||{{z{{zz{{{|z{||z{zzz{{yy{{{zz|{|{{|{zzz{{{|{{{{{{{{zz{{z{z{{|{{{{{{z{zz{{{z{{||{zzzzzy{yzz||{z{{{z{zzzz{{|z{z|{{{z|zzzxz{{{{z{|{{zzy{{zz{z{{{{|{{zyyzyzzz{||{{{{{zz{zzz{z||{|||{||z{yzzz{z||{z{{zzz{zzzz{{zz{{{{{|zz|{{zz{z{{||{zzzzz{{y{{{{|{|z{yz{zz|{{{|{{{||{{z{{z{{|{{{|{|{{z{{{z{z{z{{||||{z|{{{{z{|{{{{|{{{{{|z{{|||{||{{|{|{zz{z{z{{||||{z{{|{{z{|||||{|{{|{|{{{}|{|{z|{|||||z|{{{}|||{{{{|z{|{{|}}|||||z{{{{{|{{{{{|||||{z{{|{|||||{{}|}{{{{z|||||}{||{{{{{|{|}zz}|||{|{{{{|{{|{|{||{|||{{{{{{{|||}{|||||{{z{{{{|{|{|||{{zzyz{y{{|z{{{z{{z{zzzz{{{z{z{|zzz{z{zzz{{{{||{{z{{{zzz{z{z{{||{z{zzzzzzz|zz{{{zzz{z{zy{{|z{{{|zz{zzz{zz{{zz{{zz|{zzzzz{z{z{{z{{z{zz{z{{z{{z{{{zzzyzzyzz{{{{{|zzzyzzzyz{{{{|{{|{{{zzyzyyzz{z{|{z{z{|zzyz{{|{{{{|zzz{yzzzz{{{{|{z{{z{{zz{|{{{{{|{zyz{z{z{{|{{{{{|z{y{y{z{{{|{{{|{zzzz{{z{z|{|||{{{{{|z{z|{|z|{{{|zzz{{zz||{{{{|{{{z{zz{{{||{|{z||{z|{z{{{|||{z}{{{||{{|{|{{|{||}|{{|{{zz||||||||{y{|{z{||}|{|{|{|{{{{{{{{{{|||||}|zz{{{{|}{||||||{z|{{|{|{|{{|}||{z{{zz|{||{|||{{{{|{|{z{|{||{||{z|z||z{{{|{|{|{{|{{{zzz||{||{|{z{|zzzz{{{|{{{{{{z{z{zz{|{|{{|z{{zz{z{zz{{zz{|{|{zzz{zz{{{z{{|{|zzyzz{z|{|{{|||{{{zyyzzzzz{{{{{{z{{{{z{yz{zzzz|{zz{{zz{{{{{{{{{{zzzzz{{z{{{{{{z{zz{zzzzz{{zz{{{{zzzzz{y{{z{{{z{|{{zzyzz{{z{z{{z{{zzzzzzyz{{{{{{{{zzzzzzy{{{{z|||zzzzy{zy{{{{{|{{z{{z{zzz{{{{||{{{zz{yzz{{{{{{|{{{z{{{z{z{{||{|{{|{|{{z{{{{|z{|{|{{{{z{{z{|{{{{|||{z{{||z|{{|{{|||{z{{{z|{{{{||{{{{|z{{}{|{|||{{|z{z{{zzz{{{{|||||z{{{|{{||||||||{z{{z{{||}}|||}|{{z{{z{{{}||}{||{{z|z{{{|{{|{|||{|zz{z{{{||{||}|||{z{{{{||{|{{||{{|zz{{|{|{{{{||z{{{z{{zz{|{{|{{{z|{{zz{{||z{{z{{zz{zzzyz{{|{{{||{{{{z{{{zz{{|{|{zzzz{{z|z{{{{|{{{{zz{zz{{||{z||{{{xzzz{{{{{||z|z{{z{{zzz{{|{|{zz{{{{zzz{{{{{{{z{zzzz{{zz{{|{{{zzzyzyzzy{{|{{{{z{z{yzyzzz{{{{{{z|z{|y{zzz{{{z||z{{{z{zzz{{{{z{}|z{{z{z{{zzzzzz{|z{zzz{zz{{{{|{||{z{{{z{z{{{z{{{|{z{{{{|{{{{{{|{{{{{{zzz{||{|||}|{z{zz{{y{|{z||{zz{z{zz{{{{}{{||{{{{{{z{{{|{||z|||{{||{{{||||{||{{{|{{z||||{||||||zz||{zz{{}|{|{{|{||{{{{||{|{|}{|{{z{{{{{|{||}|}|{z{z{{z{|}|{|{||{{{{z|{||{|||||{{{z|{{{{|{||{||{{{{}{{|{{{}}|{}{{{z{{{{{{|||{{{|{z{zz|zz|{{{{|{|zz{{z{{{||z{{{{{{zz{zzz{|{{{{|{{{z{{z{z{|{|{|||{z{z{{zz|{z|{{{{|zzzzzzz{zz{z{{{zz{zzzz{|{{zz{{|z{{z{zz{z{{{{z|{{zz{{zzzzz{z{|{|z{z{{{{zz{|{z{{|{{{zzzzzz{{zz{z{|{z{zzzz{{{z{z|{{{zzy{zz|{|z{{|{{z{|{{zzz{{z{{{z{{{z{z{z{||zzz|{{{zz{|zyz{z{{{||{zzz{zz{{||z{{{{{{{zzz{z{|{|{{{|{{z{zz{z|{|{{{}|{{{{|z{z|{{|{|{{{{|zz|{z{|}{z|||{|z{{z{{|||{{{{|{|zz{{zz{|{}|{{|z{{z{|{{|{{||{{}{{{{{{z{|{|||||||{{{z{{z{||{|{||{{|{|{{|}|{|||}}|{||{{||{|{}|||||{{{{{z{|z{||||||{{||{{|||{||{{}{{|{|{{||z{|{{||{|{z{{{{z||{{|}}{{z{{z{{{|{{|||{{z{z{{{z{|z{{{{{zz{z{{z{{{{{{{|{{zzzz{z{{{{{{{|||z{zzzzz{{{{||||{y{zz{{z{{||{{{|{{z{{z{zz{{{{{z|zz{z{zzyz{{{z{{{zz{zzzyz{{|zz{{{zzzz{zz{z{z|zz|{zzzzzyzzz{{{zz{{{z{yyz{{z{{z{{{{{yzzzzzzzzz{|{||zzy{{z{{{{{{zz{{zzzzzzzzz|z{z{|{{z{{z{{{{{|{{|{{{zzz{{z{{z{{{{{{{z{zzy|z{{{{{{{|{{z{zzz{{|{||z|z{z{{zzzz{|||{|{{|z{zzz{{{|{{{{}{{{|{z{z{|{{|{}z|z{z{{{{{{{{|{|||z||{|{{|{{{|{|}}{|{{{z{z|{|{{||}|z{{}{|{{|{|||||{|{z{{|{{{|{}{||{|{|{{{|z}|{||||{{|{{{|{{{|{|||{{z{z|z{|{|{{{||{{{{z|{z{{{{|{|||{{{{{{zz{||{{|||{{{{{{{{|{{|z{||{z{yzzzz{|{{{{z{zzzz{{|{z{zzzz{{{zz{zzzy{{{{{{||{{{yz{yy{z{z{{z{{z{zz{zz{{{|{z{|{zzzzzzzzzz|y{{|zz{zzz{zzz{{{{{{zz{zz{yz{|{yz{z{zzzz{zzyzzz|{{{{zzzzzzzz{zzz{{{zzzzzzyz{zz{z{{zzz{z{y{zyz{{{zz{z{z{yzz{z{{{{{{|z{{{zzzzyy{zz{|z{{{z|{{zz{{{z{||{{yz{{z{{{{zzz|{{{z{yzz{yz|{{{{{{zz|zy{z|z{{{{{||z{{z{z|z{{{{{{|{{{zzzzzz{{{z{||{|z{zzz{z{{|{{|||{z{z{{{z{{||||||z{{{{{{z{{|{{{|||z{{{z{z{{z|{|||{z|zz|zz{|{z{||{{zz{{}{{{{{z||{||{{|z|z{{|{||{{{{{{{{{{{|{{||{|||zy{|z{{|{{|||||{{{zz{|{||||||}}|{{{zz{{{{z{{{||{{zz{{zz{{{{{{{{{zzzzz{{{|{|{{{|{{z{{z{zzz|{zz||z{z{|y{z{{{{z||||{z{zzzz{{||{||{|{yzz{z{{z{{{z{|z{{z{zzy{z{|{{{{{{{{z{zz{{{{{||zzz{{zzy{{|{{{{{{{z{yz{zzzz{{{{zz{z{zzz{z{{z{|{{z{z{{z{zz{{{|{{{{{{{zz{zzzz{|zz{{|z{zzzyyy{{{z{{|{{z{zzzz{z{{z|z{{{zz{zzy{z{{z{|{{z{zzz|zz{||z|{{{z{z{zzz||{{{|{{{z{{zzy{{|{z{|||{{z{|z{{|{||{{|{{zzzzz{zz|{|{{||{|{{{{{{|{|{{{||{{{{{{{{|{{||}|{{{{z{{{{|||{|||||z{{{z{z||{||||||{|{{z{{}|{|}||}|{|{||||{|||{|||}z{{{|z{{||{|}||||{{|z{{{|{|{|{}{z|z{z||{{||||{|{{z{{{{|||{||{|||{{{{{{z{|{|{|}z||{z{{z{{{|{{{|{{{{{y{{z|{{{{|{|z{{zzzzy{|{z{{|{{z{zzz{z{{{{|}{|{{{x{z{zzz{{|{|{{{z{yz{z{{|{{{{{{z{z|z{|zz}zz|z|{z{{zz{yyzzz{{{{{{{zzz{{{{{{{{|z{zzyz{{{zzz{z{{{{yzzz{zz{{{z{|{{zz{zy{z{{{{{||{zz{z{zzyz{{{{{{{{{yz{zz{zy{|z|{{|z|zz{zzzz{zzzz{|{{{{z{zzz{{{{{||{{zzzz|z|{{{{{{{{z{z{z{zz{z{z|{{z{{z{{{{|{{{|{|{z{{{|z{zz{{|{|||{|{z{z{{{|||{||{{{{{{zz{{||{|{|{|{{{{{|{||{{||{{{|{{{||{|{{|{{||{{{{{z{{{|||{|{{|{{|{|{{}|{{{}|||{|{|{|{|{|}}}|||{{|{|z{{}{{|{|||{{|zz{{{||{|||||z|{z{zz{||{||}||{{||{z|{{|||||}|{{z{{{{z{||{}||{zz|zz{z||||{{}|{{{{{{zz{z|{|{{{zzzz{zyz{{{z{{{{z{z{{zzz{|{{{{{|z{z{zz{{{{{{z{z{{z{|zzy{z||{z{|{{{yzzz{y|z{{{{z|{{zz{{yz{{{z{{|{{{z{{{zz{z{zz|{z{z{y{|yz{zzz{{zzzzyzyzzzz{z|{z{z{z{{y{zzz{{{{{|{{{{zz{{z{{z|{{{zz{zzzz{zz{{{z{{|{yzz{z{zz{zz{{{{{z{zz{yzzz{{{{}{{{{{{z{{{{{{|||}{{{{zz|{z{|{z{{{{z{z{{{{{{{{{||{{{{z{{{{z{{||{{{|z{{{{zz||{||{||{{z{{zzz{|{{{|{|{{|{{{{|}|{}|||{z{{z{{{{||{|||||{{{|{{zz||||||}||z{{z{z{{||{{{|||||zz||{{{|||||}|{|{zz{{{|||{||||{{{{zz|{|{||{{{{{z{{{z{z{{{|}{|}{{|{{{||||||}{|{||{z{|{{{z|{}|||{{{{|{{{||{|{||{{zz|zzzz|{{{{{{yz{{{yz{z|{{{z{{z|zy{z{zz{{{z|{|z{zzz{zzz{z{{||z{{zz{yzz{z|{z|{zz{{z{zzz|z|{{|z{zyz{zy{yz|{z{{{y{|yz{zz{{{{{z{zzz{|zzz{z{z|{z{{{zzyzzzzz{z{z{z|z{zz{zzy{{z{{{{||{z{{zz{{{{{z{{|{{z{zzzzzz{zzz{{{{{{zz{zz{{{|{|{{zz|z||{{{{z|z||{{zzz{zz{{{{{{{||{{|zzzz{|{{|{{||{zz|zz{{{{|{{|{{{{{z{zz|{{|z{||{{{{{{{{{{{|||{{|{z|{{{{{{{|{|{||z{{z|{{{|{{||||{{{{z{z|{{|{|{|{|{{z{{|z{z{}{||{{|{{{{{|{{{|||||{{{{z{{|{||||||||{{{||{||{{}{||}}|z||{{{{||||||}|{z{{{{{|{{{|{{{||z{{|{||{{|{}||{{z{z{{{{{{{|||||{{z{z{{z{||{{{|{{{{zzzzz{{z|{{zzz{z{zzzzz||{{z{|z{{zzz{{zz{{{{||{zz{{zzz{{{z{{{{{z{{z{{zz{||{{{|{zz{zz{zz{{|{{{{zzzy{zzzz{{{z{z{{zzzzz{z{z{{z{|{zz{{zzzz{z{{z{{{zzzzyzzyzz{z{zz{{z{zzzzz{{zz{{{{{zzz{yz{z{|{z{z{zy{{zz{z{{{zz{z{{{zzzzz{{{y{{{{{zy{{zzzyz{{{{{{{{{|z{zz{|{||{z{{zzz{{{z{z{{{||{{{zz{yz{z|{|{zz|{{{zz{z|z{|||{||{z{|z{{{{|{|||z}|{z{|z{z{{{{{{|{{{||{{{{{{{|{|}{|zz{{{z{||{||||||z{{{{{{{|{{{||{|{{{{{z{{{}||{|||z|{{z{{{||{|||{|{{z|{|{|{||{|}||}z{{|{{z||||||||{{|{z{{{{|{{{|||{|{||{z||{{{||||z{z{{{{{{|{z|{}{|{z{{{{z{{z{{|{{{{{{|zzz{{{{z{{{zzyzz{{z{{z|{{{|{{z{{z{z|{{z{{}{{zzz{{{{||{{z{{{z{z{{zzz{zz|{z}|{{{zz{{{z{{{{{|{z{{zzyzz{{{|{{|{{z|{zzz{|{|z{{{{{z{zzzz{{{z{{{|{yzzzz{{{{z{{{{{zzzzzzzzz{z{{{{{zzzz{yzzz{{{{{z|{{zzzzzzz{{{{{zz{{{zzzz{zz{z{||{{{{zzz{zz{{z{{{{{|z{{{{z{{{|{{|{{{z{{{z{z|{||{|{|zz{z{z{{z|||{|{||{{{|zz{{|{{{|{{|z{{{{z{|||||{|{zzz{{{zz{}||{||{|{z{{|{|{{||{{{{{{|{|{{{|{||{}|{|{{z|{z{||||||{|{|{{{{|{}|}|||}||z|{{{{||{{|{}||}|{|||{{{{||{~~|{{|{|{z{|}||{}|{{{{z{|{{{{{||{|}|{|{{{{z{|{}||||{{{{zz{z|{z{{{|{|{{|z{{{{|{|{|{{{z{y{{{{|{||{|{z|zz{zzzzz{{{{{{{zzyzyz|{{{{|{z|{|zz{y{{{z{z{|{{|{zz{z{y{z{{{z|{{zz{y{zzz{|{{{{{|zz{{z{{y{{|zz{|{{y{z{{yz{z{{{{{z{zzzz{z{{{zz{|z{z{z{zyzz{zz|{{{{zzzyy{z{{{{{{{z{{{zzzzz{{{|{z{{{{zyzy{{z{{z{z{{z{z{{|{yzz{{zz{{zz{{zzzyz{{{zz{{{{{{zzz{z{{{{z||{z{z{z{zz|z||{{|{{{zzy{|z{{{{{{{{{{{z{zz{z{{{{{|{{zz{{zzz||{{z{|{{z{{{{zz{z{{{{||{z{{{{{zz|||{|||{{z{|||{{|||{||}{z{zz|z{{{}|{{{{|{{{z{|z|||{z||{{z{{{|{{{{||{{}{|z{{|{z{{|{{||||{{|z{z{z|||||||{{z{{zz{{{|z{{{}|{{{{{{{|{{z|{|||{{zzz{z{{{|{{|{{z{|{{{z{{{{|{{|{z{z{{z{z|z|z{z|{z{yz{z|yzz{{{z{|{yzzyzyzz{{{{{|||z{zzzzy{{zz{||z|zzz{yyz{z{{zz{{{zzzzz{z{{zzz{z{zzzzyzzyz{{zz|{z{zzzzzzzzz{zz{{|y{zyzzz|z{{{z{{}zy{zzzyy{zzzz{|{zzzzz{zz{zz{{{{{{{zzzzzzzz{{zz{{{zzzzzzyzz{z{{{{{{zzzyyz{{zz{|{{{z{yzzzyzz{{{{{{zzzyzzz{{z{zz{{|zzz{{yzz{{{{z{{{z{{{z{{zz|z|{{{|{z{z|z{{z{{{|{||{z{zz{yz{|{{{{||zz{zzzz{{z{{z{{z{{{z{{{{{{||{|{{z{{{{||{{|||{{{{|{z{zzzz{{||{||{|{{{z{{z|}|{{|||{zzz{|{||||||||||{{zz|z{{}{|{||{{{{{zz{{{{{|||||{z{zz{z{{|z{{{|||{z{{{z{{||{|{{{z{{zz{z{{|z|{{||{{z{zzz{{||{{|{|{zz{{{{zzzz{{|{|z{z{zz{zzzz{z{{{{zzz{zzzz{{z{{{{{{zz{zz{z{{z{z|{|zz{zzzyz|{|z{{{{zzyz{zz{{{|zz{zzz{zzz{z{z{{y{{{{zzzzzzz{z{z{{z{zzx{zzzz{{z{z|z{zzzzz{zz{{z{z{zzz{yz{zyzz{{z{{{z{zzzzzz{z{{{{{z{yzzyzyz{{z{zz{{|z{{yzzzzz{z|{z{{{z|yz{zz{zz{{{{{{zyy{yzz{{{{{{{{{{{z{{{{{{{{z{|{z{{zz{zzz{{|{{}{{{{z{{{zz{|{{z{{{z{{zz{z|{{{{|{|zz{zzzz{z{|{{{|{{zz{zz{{{{{{{}||zz{{z{{{{|{{||}{|{{{{{z{{||{|z|{|z{z{{{{{||{||}}{z{{{z|{{|||{||||z{{{z{{{}|||||||{{|{z{{|}z|{|{|{{{{{z{z|{||{|{}||{{{zz{{{z{||||{{zy{{{{z|{{|{{||{z{z{{zz||{{{|{{{z|z{z{{||{{{zyz{z|yzyz{|{z}{|{zzzzz{y{zz|{z|{|{zzzzzzzzzzzz{{{{yzzzzy{{z{{yz{|z{yzz{zy{{{{{{z|{zyzzz{z{{{z{{{{{zzzzzyzzz{{{{yzyyzzz{zzz{z{y{{{zzyzzxzzzzz{{{{{{zzzz{zz{{{z{z|{{zzzzzyyz{z{{y{{{zzz{yzz{z{z{{z{|{zzyzyy{{{{zz|{zz{zz{zy{z{{|{{{zzzzzz{zz{{{{{{z{{{zzzzz|{{||{|{z{yzzz{z{{{{{{{zzzzz{zzzz{z{{z||{{zz{{zz|{{|{{}{|zz{zyz{{|z{{||{zzzy{{{z{{|{|{|}zz{{{z|{{|||{|{}{{{{{{z{{{{{{||{{{{{|z{{||||||{|{{{z{{{|||{{{|{||{z{zz{{{}{}||}|{{{{zz{z{{{|{{||{{{{{zz{{{{|{|||z{z{|{z{{|{}||||{{zz{{{{{{|{{z|{|{{zz{zz{|{|{{|{{{{{{zz{{{{zz{{{zzy{z{yz{z||{{||{{zzzzzzz{{{z|{{{z{{y{zz{{{z{{{|{z{{z{zzz{|{zz{{{{{z{y{y{{|{{{{{z{zzz{{{{{|zz{|{{zzzzzzz{{{z|z{|z{z{{yzyzz{{{{z{zzzz{yzz|{{zzz|z{zz{zzyz{{|{z||{zz{zzzzyz{{{{{|{z{zyz{{z{{{z{{{zzzzyzzyzz{z{{{|{zzzzz{yy{{z|{|{z|zy{|yz{|{{{{{{|{zz{y{{{{{{|z|{|{y{zz{{z{{{|{||{||{{{z{{||{|{{|{zz{{{{z{{{{|{|{{{yzz|z{z{{|{z|||{{{{{{zz{{|{{{{|{{{||{z{||{|||||{{|{{{{z||||{{||{z{{zz{{z|{{|}||{|{zz{{{{{|||||}|{{|{|{{{}{}z|{{|z{|z{{|||||{}||{zz|{{{z|||{{|||{{{{|{{{}|||||z{{z{z{{{{{{{{|{||{z{zzzzz{{|{{{{|{{{zzzz{{z{{{{{{{zz{z{{y{{z{{{{{{{zzzzzz{{{{|{{|{zzzzzzz{{{{{{|{zy{zzzzz{|{|z{|{{zzzz{{zzz|{{z{{yzz{zzzzz{{z{{{{{zzzzzzz{z|{{{{z{z{zyzzyz{{z{z{{zzz{yz|z{z{{{{{zzzzzzzzz{{{z{{{zzz{{zzzz{{{{z{{z{{zzzzzzz}{z{{{|zzzzzzzzzzzz{|{|{zy{zzzz{{{{{{{{{y{zz{{z{{{z|{{{{{{zy{|{{{{{{||{{z{zzz{z|{{{{|{|zz{{zz{z{{{{{{|{{zzz{{zz{||z{|{z{z{zzzzz|}}{{{{{|{{{z{{{{{||{{{{{z{z|{|{{|{{{{|||{{{|{{z{{{|{{|||{{z{{{z{|{||||{zz|{zz{{||||}{|||{{|{||{||{||}|||{{{z{|{|z{||||||{{{{{{{{|{{{||||{{{{zz||{|{|{{|{z|{{{{z|{z{|||{|{{zz{{z{{||{{{{{{{{{{{z|z{{{|z{zy{z{{{{{|{{|{|{{{{zzzzy{{{|{{{{{{{z{z|z{y{z{{{{zz{zz{{z{z{{|{{{zz{zyzzz{{{{||{|{z{zyzzz{{z{|z{{zzz{{yyz{{{{zz{{zyz{z{z{{{{|{{{{{zzz{z{z{{yz{{{zzz{z{zyzz{zz{{{{{z{{z{zzz{{{{z{|{{z{{yzzz{{|{{{z{zzzzz{{z{{z{|{{zz{{z{zy{z{{{|||{yzz{{{z{{|{{{|{{{y{zy{z{{z{|||{z{|zzz{z||||{||{|{{{|{z{z{{|{|||{{{z{z{z|{|z|{|{{z{{zz{{{{|{|{|{|zz{{{{|{||{|}|{{{{{|{||{|}|{||}|||{|zz{{||{{||{|z{z{{{{|}{{|||{{|{{{{{{{|||||||{z|{{{{z{|||~||||{{{{{{{|{|||{|{|z{{{zz||{{||{{|{{{{{z{{{{||||z||z{z{{{{||z||{|{|{z{{{{{{|{{{{|zzzzzzzz{z{|{{|{{zzz|{y{{{{|{z{{{zzz{zz{zzz{z{|{|z{{zy{zy{{zz{{{|z{|zzy{zz{|{{|{z{{yz{yzyzz{{z|{|{z{zzzzzzzzzz{{{{{{zyyxyz{|z{{z{{zzyzzz{{{{{z{|zzzzyzy{z{{zzz{{zzyzzzzyzzz{z{{{{zz{zzyzyz{{z{z|{z{z{{zzy{{yzz|z{z{zyyy{zz{{{{{{{{z{yzzzyzzz{{z{{{zzy{yzz{{{|{z{{zyz{{zzz{{{{zz|{{{{zz{{z{{|{{|{{{zz{{z{zz{}{||||{{|zz{zy{{{{{{z{zzzz{zz{|{{{{|||{|{{{|{z{|{||{{|zzzzz{{|{||{{|||{zzz{{z{{{{{|||{|zzzz{{z|z{{|z|{z{{{{{{{{|{|{|||{{z{{{{{{}|||||||{{|{{zz||||{|{||{z{z{{{{|z{|{||{z{{{{{||{{|||||{{zzz{{{{{{|{{|||{{z{{z{{{{zz|||zz{zz{z{|{|{{{zz|zz{{zzy{|{z{|{|{zzzzyy{{{|{{|{{zzz{z{zz{|{zzz||zzyz{zzz{{{zz{{{zzzzzz{{zz{{{{||{{{z{zzzz{{zzz{{{{z{{yzyz|{{{|{{{zzz{zzz{z{y{{{{z{zzzzzz{{{{{{z{zz{{yzy{{{{{{|{{z{zzzzz{z{{{{z|{zzzz{zzyzz{{z{zzz{zz{yz{{|{{{{{|zzzz{{zz{{{{{z{|{{z{{z{zzz{{|{|{|{{zz{zzz{|{{||{{{{zzz{z{|z{{|{{{||{z{{{{{z|z|{z|{{{zz{z||{z{{{{{zz{{{{{|{|z{{{{|{z{z{{{{|{|||{{{z{z|{{{||{}{{|}}{z{{{{{||||{||{|zzz|{z{||}||{|{|{{{{|{{{}{{{||{{z{{{|z{{}|||{||}z{|{|z{{||{{{|||{{{{{{{|||{|{|||{{{{{{{|{{{|{{|{|{{|{{{{|{|||}|{{z{z{{{{|||{{|{z{zzz{z{|z|{{{{z{{z{zyz{z{{{z{z|{z{{zzzz{{{{{{{|z{{z{{zz{z|{{{{zzz{z{z{{{{|{{{{{z{zyzz{zzzzz{z||z{{zzzz{{{{zz{|{{{{{z{z{zz{z{{{{zyyzzz{zz{z{{{{{zzz{z{zzy{z|{z{{{zzzz{yzz{{{{{{z{{{zzzy{z{{{{|{{zzzzzzzyz{{{{{z{{zz{zzz{y{z{{{{|z{zzz{zz|{z{{{|{|{{z{zzy{||{{|{z{{{{yzyz|z{z|||{z{|{z{z{{{{|{{{{z{{{{y{zz|{|{{|{z|zz|{z{z{{{{z}{|z{{zz{{{|{{||z||{{{|{zz{z}|||||{{|z|{|||{||{||||z{|{{{y|{{|z{{{{{{z{{{z||}{|}{|{{{{{{{z||{{|||{|zz{z|z{{}|||}|}|{{|{{|{||||{|{{{{z|{|{{{{|{||||{{z{{|{|||{{{{||zz{z{z{{z{{|{|{{{{{z{{|z{{|{{{|{{z{zzz{z{{{{{{{}{zz{yzzzz{{{z{{{{zyz{zzz|{{{{{||{zzyy{zz{zz{{{{|zzzzzy{z{{{{{|{|{z{zz{zz{z{{{{z{{{{{z{yzz|{zz{z{z{zzzzzyzzz{zzzz{{{zzzzz{zz{z{z{{{z{zzzz{zz{{|{{zzzyz{yz{{z|{z{{zzz{yzzzzz|{z{{{{zz{|y{zz|z{z{zz{{zzzyzy{{z{{{{{zzzz{zzz{z{zz{{{|{{{{z{z{|{{{{z{zz{yzzy{z{z{zz{{{z|z{{|{{|z{z{{{{|zy{z{{{z{z{{{z{|{z{zz{{|||{{|z{z{z{zz{{{{zz{|{{{{|{{zz{{|{{|{|{{{{{z|{{|||{{{|{z|z{{{{{{{z{{|{{z{{{{{z|{|{||{|{{{{z||zz{|{|||||{{zz|{{||||{||{{{{{{{z{{||{||{{{{{{{zz{|{|{{|||{{z{{{{|z{{|||{|{{{z|{zz{|{|{{|{{{{{{z{{z|{{{{|z{{{z{zzz||{{|z{{z{zzyz{zz||{{z{zzzzy{zz{{{|{{z{|zz{z{{zzz|{{{z{{{yzzzz{yz{|{zz{{z{zzzzyz|z{{|{z{yzyyz{zzyzz{{{{{{yz{{zzz|{{zz{{{zzzzyyz{{{zz{{{{yzzzzzz{{{{{{{{zyz{zzzyzz{{{{{{{y{z{yyzzzz{|{z{{zyzy{yyzz{z{y{{{{zyz{z{zz{zzz{{{{y{z{{yzzzz{y{{{{zzzzz{z{zz{{{{|zzyzzyz{|{{{{|z|y{|{{z{{{{|z{{||z{{{{yzy{{{{{|{{z{{{{z{z{{{{{{|{{zz{z{z{{{{z{||{{{{{z{yz||{||{{{{{{{{{{{{{{{||||{{{{z{{{z|||{{{|{{zz{{{z|||{|{|||{{z{{{||||{{{||{{{z{{z{{|{|||{||{{{z{zz{{|{{|||{{zz{{z{z||}{{{|{z{{{|z{|{{{{}{{{|{{zz{{{{{{|||{{zzzz{zz{{{{{||{{{zz{z{z{{|{{{zz{z{{zzzzzz{{zz||z{zzzz{z|{{{{{{{{zzzzyzz{z{z{z{{{yzzzzz{{zz{z{{{zz{zzzyz{{{{{{{{{yzy{zzzzz{y{z|{{zzz{zyzzz{zy{z{{y{zzzzz{z{z{{|{zzzzzyzy{zzz{{zzyyyzzyzyz{{{{{{{{{zyzzyzz{zzyz{z{zzzz{yzyy{{z|{{{zzzzzzzzzz{{z|{zyzyzzzz{z{{|{{{{z{{zzz{z|{{z{{{{zz{zyz{{z{zz|{|z{{{{z{zz{{{z{{{{y{{{zzzzz{|z{{{zz{zzzz{{z|{{{}{{z{{{zz{{|{{{{{|{z{z|zz{{{{|z||{y|{{{{|{{|||{||{{|{z{{{{{|||||{{{y{z{{{||||{{|||{{{zz{|z{{{{|||||z{{{{z{||{||||{z{{{{z|{z|{||||{|{{{{|z{{|{{{||{|zz||{{{{{{{{{||{z{{z{z|{|{{|||||{z{zzzz{|z}{{{{{zzz{zzz{{{{z{z{zzz{zzzyz{{z{{|{zyz{zyzz{z|z{z{{{z{zzzzyz{|{{{|{{zyzzzzz{{{z{z{{zz{zzy{y{zzz{{{zzzz{y{{z{|zz{{zz{z{y|y{{z{{yzzz{{zzzzzzz{zz{zz{{{yzzyz{yyzz{{zz{yzyzzzyzz{{z{|{{{zzy{zzzzz{{{{{{z{z{zzyzzzz{zz{{z{{zz{zzy{z{z{{{{z{zz{{yz{zz{{{{zzzy{zz{z{z{|z{|{zzzzzy{{|{zz{{{{zzz{zzz{{z|{|{{{z|{zz{{{{{z{|z|zzz|z|zzz{{{z{|{{{{{zzzz|{{{{||{{{{{z{{{z{{{{}|{{{zzz{|{|{{|{|{{{z{{{|{z{|{||{{{{zzz{{z{|||z{{{{{{{zz{{|{||{|{|||{{{{{{{z{{||{|{{{{|{{{{{{{||}{|{{z{{{z{{{zz{{||{|{{|zz{z{{|||||{{z{zzz{{|{{{{{|{z{{z{{z{||{{{|{{{{z{{zzzz|z{{{{{{zyzz{{{{|{{z{{z{zzz{z{{{{z{|{{{zzzz{zz{{{z{{{{{{z{{yzz{|z|{{|{{zyzzzzzzz{{zz{|zzyzzzzzy{{zz{{||z{{z{{z{|{{{z{z{z{zz{z{{{|{z{{|zzzzzzzzzz{zz|{{{zz{z{yzy{{z|z{{zz{{z{z{z{{{z{{{z{z{{zzz{zz{{{|zzzzyzyzzz|{{{{{|yz{zzzzz{z{{{{{{{z{{z{{z{z{{{{|z|z{zzz{z{z|{{|{|z{{{zzzz{{{{{|{{|z{{|{z{{|{|||{{z{zzz{{z{{{{{{{{{|zz{{{z||||{|||{||{{{z{|{||||{|zz{{|{{z||{{{{{|zz{z|{{{{{||z|}{{zz{{{{z{}{||{||{z{{z{|{{|||||{|{z{{|{{{|{{|||||{{{|{z||{|{{{{{{{z{z{z{{{{|{{||}|{{|{{{{{|{{{{{|{{{zz{{z||zz{{||{|{zz{{{||{|{{||z{z{zzzzzz||{|{{z{zz{zzzy{{{z{{{{zzz{zzzz|{{{{{{|{zz{zzz{z{z|{{{z{zz{{yzz{{{zz{{{zzyzzzz{{z|{{z{zz{zz{zz{z{{{z{|{zzzzzzzz{|{{zzzz{{zz{zzzzyz{|{{{zzzzzy{{|{z{{{z{zzzz{z{zyz{{z{|zzzz{{z{{zyzz|{{zzzzzzzyz{zzz|z|z{zyzzzzzzz{{{|{{zzzzz{{{{|{z{{{{zz{{zzz{z{{{z{|zzz|zz{zz{{|{{{{{{zz{zz{{{{{{{{z{z{z{z{{z{{{{{{{zz{z{zzz{{||{z{{{z{zz{{{{|{z|{{{{z|{z|{{|{||||||{{z{{{|{||{||{|||{z{{z{z||}|{|{{{zz{zz{{|{{z{|||{{{|z{{|{{|}{}|{|{|{{{{|||||||||{{{{{{{|z}{|{|{||{{z{{{{|{{||z|}{{z|}{{|||{|||{||{zz{{y{z|{{||{|{{z{z{zz{|{|{{{|{|{zzzzz{{{|{{{{z{{zz{{zz{{{{{|{z{{zyz{yz{{{z{{{{zy{zzzz{{{{|{{|zzz{zz{z{z{zz{{{{{zyzzzz{z|z{{z{{zzzzz{{{|{z{|{zz{zz{{zzz{{z{{{{{{{zyzyz{yz{z{{{zzzzz{zz{{z{{z{z{z{zzzyz{z|zz{{{{{z{zz{zz{{z{{{{y{zz{yzy{zy{z|z|zy{zzzzyz{{{{{{zzyz{zzzz{{z{{{{|zz{z{zzz{{{{{||{z{z{zzzz{|{zz{{{z{{z{zzz{{{{{{{{{zzz{zz{{{||{{{|zz{z{zz|{{{{{{||{{z{{zzz|{{|{{{{{{{z{zz{{{}{|{}|z{{{||{{{|{|}|||{{|{z{{{{|||{{}{{{{{{{{{|||{{{||{|z{||{{{{||||||}{|{z{|{z}{||{{z{{{{zz{|z|{{||}{|{zz{{{z|{{||{||{|z{|{{||{|{{{{||{{zz{z{|{{|{{|||{zz{z{{{|z}{{{{|zzzzzz{{|{{{{{{{zy{zzzzz{{{{{{{{zz{{zzz{{z{{||{{z{z{zzz{{{|z{{{|z|{{{z{z{{{zzz{zy{zzz{y{{{{{{{{zzz{{z{zz{z{z{{z{z{zz{zzz{zz{|{{yzyyzzz{|{zz{z{{zzyzzyzzz{{{{{{{zzz{z{|yz{{{z|{{{z{{zzz{z{{z|{{{zzzzzzzy{{zz{{z{{{z{y{{y{{zz{{{{z{yzzzyz{{z{{z{{{{{{zzzz|{{zz{||{z{zzy{z{{||z}{|{zz{{z{{|{{zz{{{|zz{|zzz{{|{|||{|z{zz{{z{z|{{{{{{{zzzzz{|{{|z}{{{{{{|{{z{{{|{|{zzzz{|{{zz|{{{||||{{{zz{z||||||{||{{{{{{z||{||{||{{|{{{|{|{|{|{|||{z{{zz{||{|{|{||{}{{{{{{|||||||{{{{{{{{||{|{||||{{{{zz{}{}|||||{{zz{{{{{{{{|{||{{z{z{z{||{|{||{{||z{{zz{|||{z{yzzz{zyzzzz||{z{zz{zzzzyzz{{z{{{|{z{zz{{zz{{{|{z{{z{zzz{{z{z{z{{{{yz{z{zz{z{{zz{{z{zzzz{z{{{{zz{z|z{zzyzzz{{{z|z{zzzzzyzzz{y{{zz{zzzyzz{zy{{zz{|{{yzzyzzzz{z{{{{{{zzzzzy{|{{{z|{{{{zzyy{zz{zz{{z{{zz{zzzzz{|{|{zz{zzz{yyzy||z{{}|zyzzz{zz{z{z{{z{zzz{{z{z{{{{{|z{zz{zzz{z{{{{{{{{{{{zzzz|{|{{{{{|{{{y{{zz{|{{{{{{{z{{{z{{{||{{{{|{{{{{{{z{{{}||{|{{{{{{|z|{|{|{||{{{z{z{{{|{||{|||z{||{{{|||{|{||{{{{z|{{{|{{{}|||{{{{{{{{|||{|}|{{z{{|{{|||{||||}zzzz{z{|{|{{||||{|{{{{{{{|{||{{{{zzz{|{{|{|{{|{{{z{z{{z{{|{|{|{z{z{y{yz{|z{{zz|{z{zz{zzzz{{{{{|z{z{zzzyz{{z|{{|{{zz{{zz{|{{{{|{|z{z{zyz{z{{z|{|zzzyzzzzz{z{z{{{{zzzzz{zz|{{||{zzyz{zzzz{{{zzz{{zz{zz{{zzzz|{{{{{zzyzyy{{{|{{{{zzzyzzzyz{{{{{|{{{z{zzzzz{{z{{{{{zzzzz{zzzzzzzzzzz{zzzyzz{zz{z{|z{zzzz{yz{{{{z{|{{{zzzz{zz{{{{{{{zz{{zzz{|{{{|{{}z{{{|{{{|{{{{{||{z{zz{z{|{{{||{z{{yzzzzy{|{|{{{{|{z{zz{{{|{{{{{zz{|z{{{{{|{||{{|z{{z|{{{|{||{|||{{{|{{z{|||||z}||{{{{{{{||||{|{{z{{{{{{{{{||{||}}z{{{{|z{|{{}|||{{|{{{{z||{||||||z{{{{{{{{{|{|||{{{{|{{|||{{{}{|z{zz{{{{{||{{{||{{|z{{z{z{{{{|{|{zz{z{{{z||{{|z|y{zzzy{zz|z{zzz{z{{zzzzz{z{{{zz{z{zzzzzz{zz{{{{{zyzzzz{zzz{{zz{{{{{zyzzz{z{|z{z{{zzzyz{zz|zzz{{z{zzzzyzzzz{{z{z|{zzzzzzy{zz{z{{{zzzzyzzzz{{{z{{zz{zzzzzzz|{{{{|{{yzz{yzz{{{{{{{{|z{zzyzzz{z{z{{{{zzyzz{yz{{{z|{{yzz{{{{z{{zzz{{{z{z{zzyzz{{zz|{{zz{z{zzz{z{{{{||zz{yy{z{|z{{{{{{{{{yzzz{{{{|z{{zz{zyzz{y{{zz|{|{zzz{{zz{{{{|{{{{|z{z{|{{{{{{|{|{zz{{{{z{{|||{||{}|z{zz{zz|||{|||{z{{|{z{||{{{{|||z{z{{||||||{{|||{|{z{{{||||||||{{{{z{{{{{|{|{|||{{{{zzz{|{{|{}{{{{{{{{||{||||||{{zz|{{z{{|{{||||{z{{{zzz{{|{|{|{zyz{y{z|{|{{zz{zz{zzzzyz{{{z{yzzzzzzz{z{z{{{||{{zyyzzzy{{{z{|{{zzzzzyzzz{z{{{{|z{yyz{yy{zz{zz|{{zz{{zzy{z|{z{{z{z|z{{yz{yzz{yzzzzzzyzyzzz{{|{z{zzzz{zzzz{z{zz{zzy{zz{xz{z{{{z|z{zyzyzyz{{{{{z{{zzxyzzzz{z{zz{zzz{zyz{zy{yz{z{{{zzz{z{zz{{|zz||{|zzzzzzyz{zzz|z{{zy{zzz{{{z{{{{}yzz{zzzz{{{{{{|{{{{{{z{{{z|{||||zyzzzzzz{{|{{{}z{zz{zz{{{{{{{|y{|{z{zz{{zz{||||}{z||{{{{{|{|{{{|{z{{z{z{{{|{}|{||{z|}{{z|||{|{||{z{z{|{{{|{{|||||{zzz|{{{}{|{{|{|zz{z{{z{}{|{|{||{{zz{z{{{{{||{||{z{{{|zzz{||{{|{{zz{{{{{|{z{{|{z{zzzzzy{|{{z|{{zz{{{zz{z{{z{{{|{{{{{yyyz{z{z{{{y{z{zzyyz{zz{{{z{{zz{{{{z{zz{{||{zyzzyy{{{z{{{||z{zzzzzyyyz{{{{{{yyzz{zzz{zz{{{{y{{zzzz{{{zzz{z{z{zzx{zzzz{{{z{z{zzz{yzz{{{|z{{{{zyzz{y{zzzz||{zzzz{zzz{{z{{z{{z{zz|{zzzz{{z{|{z{zzz{zzzz{z{{|{{zyz{{{yz{{|{z|z||{zz{z{z{{{zzz{|zz{z{z{z{{y{{{||zz{zz{{z{{{{{{z{{zz{zzz{y{z{|{||z{{{{{{|{{{{{{|{{{|{{zz{{|{zz{{zzz{{{{|{{{||{|{{{{{{z||z|{{}{||||{z{{{{{{||{{||{{{z|{{{{||{||||{|{z{{{||z|{|}|||||{{{{{z{|{}{|||{zz||z|{{{{|||||}{{{z{zz{|{{|||}{{|{{{{{{{|{{{|||{{{{{zz{|{{|{||{{{|z{{z{{{{{|{{z{{{zz{z|{{|{|z{y{zz{y{{{{{{{{z{zzz{{{zzz{{{{{{|{{zz{zyz|z|z{{{y{zzz{yzzz{|{z{{z{{zyzzzz{zz{{|{{yzzzz{{zz|{z{|{{{z{{zzzz{{{zz|{{z{z{yzzz{{z|z{{{zzzzzzyzz{|z{{{z{z{yzzyz|{z{{|z{{zzy{zzyz{z{{{{{z{zz{yzzz{{z{{{z{{{zzzzzzzz{{{{|yy{y{{zz{{{{z||{{zz{{zyz{{{{{z{{{{zyzz|z{z{{{{{|{{|{{zzz|{{{{{{{{z{{{z{{z||{{{{|z{{{{{{{|{|{z{||{{{{{z{{{{z{{|||{{{z||z{||||{{|{z{{{|||{{|z||{|||{|{{{zz{{|{|{||||{{{z{{||{{{||{{{|{{|{{{{{|{|{||z{|z{{{{|{||{|||{|{{{z{|}{|{|{z|z{{{{{{{|{||}{|{z{{|{{{{|{{|{|{{{|z{|{z{|||{||{|{{|{{{z{|{|{|}{{{{z{zzz|{{{|{{{{{{zzy{zz{{z{z{{{zzzzyzy{{{z{|z{zzzzzzzy{z{{{|{{z{zzzyz{zzz{{zz{yzz{zzzy{z||z{{{zyzy{zyzz{{zz{|z{zzzzzzz{z{zz{|{zzzzx{zy{{{zz{{|zzzzzzzz{{z{{{|zy{zzyzzzz{{{{zz{zyzzzzzzzz{|z{z|zyz{{y{zz{{yzzzz{{z{{yzzzz{{z{{{z{{{{zyzzz{{{|{{zy{yyzzzz{z{z{|{{{{|zyzz{zzz{{{{{zz{zzzzzz{{{{{|{{{z{zzzz{{{{{|{{z{{zzyz{{{{{{|{z{z{zzz{{{{z||z{{zzzz{z{|{{{{{}|{{|{z|{z|{|{||||{zz{{z{{||{||{{{{zz{{z{{||||{{{||z{{{{|{|{{{{||||{{{{{zz{|||z||{{{{{{z{{|{{z{|z{zzzzz{z{{{{{||}|{{yz{{{{||{{||{{|{{zz{{|z{||{{}|{|zz{z{z{|{{{|{|{z{{zz{{{{z{|{{zzzzzzyzz{{|z||{zzzzzyz{z{z|{{|{{{{zzzzyyz{{{{{{|z{zzzzzzy{{{z{||{zz{zyzzz{{|z{{{zzyzz{yyzz|zz{z{{yzzzyz{{{{{{{z{zzzzy{yzzzz{z|{{{zzzzzzz{zzz{{{|zz{z{yz{{{{z{z{z{zyzyyzz{{{{z{|{yzyzzz{zz{{{{{{{{zyzzyyyz{zz{{{{{zzzzzzy{{{{z{{{{zzzz{{{{{{z{|{{z{{y{zzyzz{zz{{|zzzyzzz{|{{{z{{|{z{{{y{{z{{{{||{{zzzzz{z{z|z{{|{zz{{zzzz{|z{{|{z{|{{{{z|{{{{{{{{zzzz{{|{|||{z|||{{z{zz{{z{{{|{{{z{{z{z{{{{}|||||{{{z||zz{{{z||{{{{{{z{z{{|||{||||z{{z{zz{{{|{|{{{z{z{z{{|{{{|||||{{z|zz{|{|||{||z{zzz{zz{{{{|||||{zzz{zz{||}||{{{z|z{z{z{zz{{{{zzzz{zzzzz{z{|{{|{{zzzzzzz{zz{{{|{z{z{{zyzzz{{{{{{{zy{zz{zzz|y{{z{zzzyz{y{z{{zzz{zzzzzzzz{{{zz{z{zzz{yzy{{z{{{z{zz{z{yyzzz{{{zz{zzzzzzzzz|zzzz{{{z{|zzzzzz{{{{{{z{zz{yyzzz{|{zz||zzzzzzzzzzzzz{z{zzzz|y{zz{z{{|{|z{{z{zyz{zzz|{{z{{zzzzz{{{{{z{{|zz{y{zyz|z{{z|{{{y{zzzz{z|z{|||{{z{zzzz{z{{{{{{|zz{zzzzy{{{{{|{|{{zzzzzz{|{{z{{{{z{z{z{{z{|||{|{{{|z{{z{||{{||}|{{z{zzz{z{|{{{||{z{{z{{z{|{{||||{|{z{{{{{{|{{{|||{{|z{{{z}{||||{{z{{z{z{{{|{|||{{{{{z{{{{{{{|{|{{|{{{{z|||||{|||{{|z{z{{z|z{{|{|{{z{z{zy||||{|{|{zzzzz{z{{{|||{{{zzz{zzzz{{{{zz|{z{zzyyy{yz{{{{{zyzyz{zz{{zz|||{{yzz{zzzz{{|{{{{z{yyzyzzzz{z{z{{z{zzzzyz{{{zz{{z{{y{zzy{{z{z{{{z{zzzyyzzzyz{z{{z{yz{zyyyzz{z{{zzzyzzyzzyz{{z{{z{zzzzyz{zz{{{zz{{|zzzyyyy{{yz{{{{zz{zzzz{z{z{{z{|zy{z{{yzz{zz{{{{zz{y{{zzz{{{|{{||z{zzzzz{zz{{z{|zzz{z{{z{{{z{{z{z{{z{yz{z{z{{|{{{{{{{z{z{|{{|{{{z{{{zzz{z|{zz{|{{{{{{{zz{{|{|{||{zzz{{{z{{z|{||||z{z{zzz}{{}{|{||z{||z|z||{||{|||z{|{{{{{{{||||||z|{{|z{{||{|||{|{||{{{z|{|{|{|{{zzz{{{{{|{{{||||{{{{{{{{{|||{}|{z{zz{{{||{z{|z{|zz{{{{z|{||z{||{{zz{z{z{{{{{{{z{zz{zz{z{z{{{z||zzz{zzz{z{z{{zz{{{zzzz{z{z{z{{|z{z{zyzzzz||z{z{zz{zyzz{zzz{zz{||zy{yy{{zz||{z{{yzz{yzzzz{{{{z{{{zyzz{{yzzz{{zz{{zzzyzzzyz{|{zz{zzyzzzzzzzz{{{{{{{z{zzzyzy|{z{{z{{zz{{zzz{{{zz{{{{zzzzzzz{{zz{zz{{z{zz{zyz{|z{{{{zz{{{{zz{{{zz{{{{{{zzz{{{{{|z{{{zz{z{{{zz{z{{{|{zz{zzy{zz{{z{zz{{{{{{{zz{{||{{{{|z{{zzzz{|z{||{z|z{|{z{{|||{||||{zz{z{|{|{{||{||{zzz{zzy{||{{{{{|{z{{z{{{||z{|{|{{{{{{|{|z{|||{||{{{{{z{{~{{{|z{|{{{{{z{||{|{{{{|{{{{zz{{{z{{{|||z{{{{{z||{|{|{|{z{{{z{z{{{{{||{{|z|{z{zz{{|{{|{z{{{|{z{{{{{{{z{zzzz{{zzz{{{z{{z{z{{zzzz{yz{z{{{zzyzzzzz|zz{{z{{{z{zzzzzz{{zz{|{z{zzyzyzzz{y{{z{{zzzyzzzzz{z{{{{zzzyzz{z{z{{zz{zzy{zyyzz{zzzzzz{y{{zzyyzzz{yzz{{z{y{zzyzz{{y{{zyzz{zyzzz{zzzzz{{{zzzyyzz{{{{z|{|{zzyzzzzy{z{zz{{zz{zyzzz|zzz{{|{{yzz{zzz{z{{{|{{zzz{zyzz{z{{{{{|zz|zyzzz{{{{{{{|{y{zzzzz{{{{z{{{{z{{zzz{{{|{{{{z{zyz{{z{{{{{z{{{{{zz{{zz|{|{||||{||{{{{z{{{|{|{|{z{{{{{z{||{{{|{{{z{z{{z{|{z{}}|{zz{{{|zz|{{||{{{{{zz{{{{||{|z}||z{{zy{{{{|{||{{{{z{z{z|z{{||{||{{{{{{z{{{z{{|{{{z{zzz{{{{||z{{z{z{{zzzz{|{{{{|{{zzzyzzz{{{{z|z{z{yzyyzzz{|zzz{|{zzzzyyyzz{z{{{zz{zy{zzzz{{{{{{{zy{{zzzz{{z{{{{zz{{zyz{y{z{{{{z{zy{zzzzzzz{{z{z{zz{zzzy{zz{zzz{zzxx{yzzz{zz|{{{{zz{zzyzzzz{zzz{{zzzzzzz}{z|zzzz{zzz{zyzz{z||z{{{{{z{zzzyzzz{z|{{{zzz{zyyz{y{{{zzyy{zzzzzz{z{{z{{zzzzzz{z{{{z{zz{{yzzzzzz{z{|{{z{z{yzz{z{{{{|z{z|{{zz{z{z{{||{{z{{{|{{{z{{{{{{{}{{|{{{{z{z{{{z{zzzz{z{z{|{|{{{{{|z{{z{zz{z{|{z{}{||z|{zz{{|{||||||z{{|z{{|~||||||{{{|{|||||{{{||}|z{z{|{{{|{|||}|{{{{{z{z{{||{{{{{z{z{{{{{{{|{{||||{{{|{{{{|{{{||{{zz{zzz|{z{{{|{{{zzz{{{{{{|{{{{|zzyzzzz{{{|{{{zzzzy{yzzz{{z{z{|zzzzzyzyz{zz{{{}z{zyzzzzzzz{{z{|{zzzzz{z{z{{{z|{{zzz{z{z{z{{z{{{{yzzzyzzz{{z{{z{{zzyyzzz{{{|z{{z{zzzzzyzzy{{z{zzzzzyzzzzzzzzz{{zz{zzzyyy{z{zz{{zzzzzy{zy{{{{{{{{z|zzzzyyz{zz{{{yyzzzzzyzz{zz{{{{zzzy{{yzz||{{{|{{zzzzz{{{{{z{{z{{zz{zyz{{{{{z{{{{zzyzzzzzz{zz{{{zzzz{yzzz{{{{|{{{z|z{zzy{{{|{z{|zz{{{{z{}z|{|{{{{z{{{{|{z{|}{{{{{z{{{{{{||z{{{|{{{zz{{{z{{{{{||z{z{{z{{{{||{|{{{|{zz{{{{z{|||{||||{|{zz{|}{{{|||{z{{{{{{{||{{{|{|zz|z{z{|z{}{||||{z|z{zz||z|{|{|y{{yzz{{{{{}{|||{{z{{{{z{||z{{||{zyzzz{{{z|{{{zzzyzzyzzz|z{{z{z{{y{yzzzz{z{z{{|{{zzy{zyz{{{zz{{{zzyz{yy{z{|{{{{{zzzyzzzzz{{{z|z{{zzzyzzzzzzz{{{{zzzzzzzzzz{{zzyzzz{yzzzz{zz{{{{{z{yzz{zzzz{{zz{zzzyzyzzzz{{z{zz{z{zzy{{xzzz{z{{{{zzy{z{zzz{zyz{zzzzzzyyy{{zz{zzzzzzzzz{z{zzz{{|{{zzzyzzzy{zz{{z{zzzzyyzz{z{{{{{|{y{{{zz{{{|||{{zz{{z{zzz{{{{|{{|{z{z{zzz{{{{{{{{|{{zz{zz{|{|{{|{z{{|{|{z{z{|{{{|zz{zz{z{{{||{|{|{zzz{z{{{{|{|||{|z{z{yzz|{||||{|{{z{{{{zy|{{|||{|{{{z{{z{}|{|{|z{{{{{zzz{|{|{{|||zzz|{z{{{||{|{|{{z{{{{{{|||{|||{zzz{z{z{|{|{{{|{{{zzy{z{{z{{{{{{yzzzzzzz{{|z|{{z{{zz{zyz{{z{{{{yzzzzy{zy{|zz{{{z{{zzzzzzz{{{z{|zz{zzzyz{{{|z{|z{zzzyzzzz{z{zzz|zyzyzz{yz{{{z{{yzzzy{zzz{{|{y{{zyy{zyz{zz{{zz|{{zzzzyyzzzzz{zz|{{zzzyzzz{z{z{{z{{z{zyzyyy{z{y{{{{zzzzyzyzz{z{{z{{{zyyzy{z{{{z|{{{zzyzzyyz{{{zz}{zzz{zzz{zy{zz{{|z{zzzzzz{{z{{{{{{zzz{z{z{z{{{{|{{z{z{zzz{{{{|{{{zz{zzzy{{|{|{z{{{{{zyzzz|||{||{|{{z{{z{{{z|||{|{zz{{{z|{zz|{||{|{{{|z{{z{{{{|z|{{{zz{z{z{}||{}|{zy{z{{zz{{{{|||{|{{{{|{{{|{|{|}|{{|{z{{{{|}{|{}|{z{zz{z{{{{{|{|}{{z{{zz{|{{{{{||{{{|z{z|{{{{|{|{|zzz{zzz{|{{zz{{{{zy{{{z{{{{zzz{yzzzzz{zzz|{{z{{z{zz{zzyzzzzz|z{{zzzyzzz{zzz{{{{{yzz{{zz{z{{yz{{zzzzzzzy{{{{{{{{{{zzzzzyz{{{z{zzzzzzzzyz{z{zz{zz{zzzyzzzzzzzz{{{zzyz{zzzz{zyz{|z{{z{yzzyz{z{{{|zzzzzz{zzz{z|{{{{{{{{zzyz{zzz{{{zz{zzzzzz{{{{{{{{zzzzz{yz{{|{|{|{{y{zzzzy{|{{|||{z{zzzzzz{{{z{{{|{zz{{z{{{|{{{|{{z{{zz{{zzzzz{{|zzz{{{{{z|{{{z||zzz{zzz{{{|{{{|{{{{z{{z{zz{{z{|{{zz|y{{|{zz{{{{{}zz{{z{zz||{||{{||zzz|zz{||{|{|{|{z{{z{{{|{|{}{|{{{{z{|{|{}{{|{|{|{{{{z{{|z{|{||{{yz{{z{|{{{|{||||{{{{zz{{{|{z}||{{{{{{{z{{{|{{{|{{z{|{{z{|||z{{{||{z{yz{{{{{{|{{zzzzzzzy|zzzz{{{{zzzzy{zzz{{{{{{zzzzzz{{{zz{z{{z|z{zzyyz{yz|z{z|zz{yzz{yy{zz{{z|{{zyzzzyzzz{{z{{zzzzzzzzy{{zz{z{zzzyzzzyzyz{z{{{zzzyzzzzz{{{y{{z{zyzzzz{{zzzz{{zzz|zz{zzz{z{{{z|zzzzzy{yzzy{zzy|{zyzyyyzz{{z{z{{{yzz|{zyzzzz{{{{{zzy{zzz{{{{{{{|{zz{{z{{{{{{zz|{zz{{zzzz{{{{{{||{{{{zy{zz{{z{{|zz{{zzz{|{{|z|z|{{zzzzzz{{|{|z{{{{z{z{{{{{|{|{||z{{{zz{{{{||{|{|{{z{|{{{{{z||{|{{{y{z{z{y|{|{z{|{{{{zy{{{{{{{||{||{{{{{{z||||{{|||{{z{{zz||{|{||{{{z{z{{z{{{|{{|{|{|{|{z{{}{{||{{{|{z{{{{{{{{|{||{{zzzz{{z{z|{|{|z{{{z{zzzzz|{|z{zzyzzyyyz{{z{{z{z{zzzz{{{{{z{{|{z|{zzzzzz{{z{z{{{yz{{z{z{{{{{z{{z{zz{z{zz{{z{{zzzz{zz{zzz|z|{{{{{zzzzzzz||{z{{{{zzyzz{zzzzz{z{zzzz{z{{zzz{z{z{{zz{{zyzy{zz{z{z{{zzz{z{z{{z|{{||{{zzz{z{y{|z{{{z|{{zyzzy{z{z{{|{z{zzz|zzzz{{{{{{{{zzzy{zz{{{{{{{{{z|zzzy{||{{{|{{z|{|zz{z{||{{z{{|{||{z{z{z{{||{|{z{zzz{z{|{{{{{|{{zzzzz{{|zz{|{|{{{{{z{z{{{|{|{|{{{{{{{{||{|{|||{|{|z{{{{||{{{{{|{{{{{{{|{||{{||{{{|{{||{||{{|||{z{{{{{{{|{{{|||}z{{z{{{{{||{{{{{{{z{|{{|||{{||||{{{{{{||||{{{||{{zz{{{{{{{{||{||{{z{z{{|{{{{||{{{{y{z|z|{{{{|zzzzzzzzyz{z{zzz{|{zzzzzzy{zz{{{|{{zzzyzz{{z|z{zz{{z{zzyz{z{{yzz|{{{{yzz{{{z{{y{{{yz{zzzyz{{{zzz{zzzz{zzyz{{{y{{{zzzyzyzzzzzzzy|z{zzyzyzyyz{{{zzz{zzyzyyyy{zz{{z{z{{{zyzyzzz{{yz{{zzzzyzzzzz{{z{{zzzzzzzzzy{z{zzzzzzzy{zzzz{{{{{z{zzzz{zzz{{{{z{||zz{zzz{zzz{{{{|{z{{yyzzz{{zz{z{|{z{{zzzzz{{{{{{|{z{{z{{z{{z{{{|{zzyzz{zz|{|{z{|{{{{z{{zz{{}|{|||{{{z{{{{{|{{{{{|{{{zzzz{{{|||{{{|z{{zz{zz|{|||||{{{z{{{{|{{{|||{{{z{{{{{{{|{{|{||z|{{z|{{{{{{{{{|z{{{{{{{||{{|||{{{{z{{{{}{|{|{|{z{z{{{z{{{{z{||{{{{zz{z{{{{|{z{zz{zzz{z{{{{{{{{zyz{zz{yz{{yz|{{zyzzyyzzzz{z{zzzz{zzzzyzz{zz{{|zz{{zzyyzzy{zz{{{zzzyzzyzz{{zz|z{yyzzy{zxz{{{zy{z{zzzyyyyzzzy{|{{{yxzzzzz{zz{z{z{zyzzyyyyzz{zzz{zzyzzzyyzyzz{zzz{{yzyyzxyzzz{z{{zzzy{{yyyy{yz{{{z{zzyzzyyz{zzz{{zzyzzz{zy{{zzz{{{{zzzzzzzy{zz{{{{zzyzzzzz{z{zzz|{{{{z{zzyz{z|{{{|zyz{zzz{zzz{{zz{zz{zzyzz{|{|{{zz{{zz{y{z{{{zz|{z{z{{z{{z{z||{|{|{{{{{{{{|{{{{{|{z|z{zzzz{z{|z|{{|zz{z{z{|{|{{{}|zzyzz{{|z|{{{{{|z{zzy{|z{{{z|{{{{z{|{zzz{{{}{{||{{{{zzzz{{{{{{{{|{z{{zzz{{{{|{{{{zzzzz{z{|{{{{{{zzz{zy{{{z{{{{{zz{zz{z{zzzzz{|zzz{zzzzzyy{zzzz{{zzzzyzyy{{{{{|zzzzzyz{z{{y{zz{{{{yzzyzzyzyz{{{z{{z{yxzzz{{zz{|zzzzyzyyzyz{z{z{|{yzz{yzzyzyz{z{yzzzzzyyyzzyzzzzzzzyzyzyzy{z{{zzzzzzyzzzzyzz{zz{{zzyzzyzzyyz{{y{z{{yyzzyzzzy{zzzzz{yzxzyyz{z{zz|{{zyzz{zzyz{zz{z{{zzzzzyzz{zz{zz|{{yzzzy{z{{z{{z{{z{{y{zz|{{z{zzz{{zzzzzzzzz{|{{{{zyzzzz{{{{{{{z}{yzzzzyyz{{zzz{{zzzzz{zz{{{{|{z{|y{zzzz{{||{{|z{|zzz{{yy{{{z{{{{{|{{{{zz{{{{{{{}|zz{{{{z{{{zz|{|{|z{z{{{z{}|{|{{{|{{z{z{{|{{{|||{{z{z{y{{{{{z{{{|{z{{{{{{{z|||||{{{zy{zzzz{{|{{|z|{{{yzzzz{z{z{{{zz{z{y{z{|z{{yy{zzzyyzyyy|z{zzzzzzzyzzyzzyz{{{{{zzyyzzzz{zzzz{{z{zzyzy{zzz{zyzzzzzzyz{zyzzz{z{zzzzzyzzzzyzzzzz{zzzyzzzzz{z{{zzzz{{zzyzyzzzzz{zz{y{zzzyzyz{|zyz{zzxyzyzyzzz{z{{zz{zzyyzzz{z{z{z{{zzzzzyzyzzzz{{yzzyzy{yzxz{{zzz{zzyyyzzzyz{zz|z{zzzzz{yzzz{z{z{zzz{z{zyz{z{{zzz{{zzzzzyyzz{{{zz{{{z{zzyzzz{{{z{zz{z{z{zzzzz{{{z{{z{yyz{zz{{{z{{{{{zzz{zzz|z{{{{|{zzzy{zzz{|z||{{{{{{zz{zy{||{{{||{zyzzzz{{|{|{{|{{z{{z{{z{{|{{{|{|zzz{{zzz|{{{{||{|zzzz{z|{|{{|{{|z{{|z{{{{z{|||{{zy{{yzz|{{{{{{{z{y|{zz{{|||{{{{zzzz{z{z|z{|zz{|zz{y{yzzz{{{{zzzyyzy{zzyyzzz{zzzzzyyzzyyzyzzzz{{z{zyzyyyzzzzzz{{zyzyzyzyyzzzz{{{zyzyzyzy{zzyz{y{zz|zzyyyz{z{zyzzzyzyyyyyzzzyzzzzyzyzyzzzzzy{zz{zyzyyzzyyy{z{zzzyzy{yyyzzzzzyzzz|yzzyzyyyzzzyzz{zyyzzyyyyzzz{zyz{yyzyzyzyzz{zz{z{zyzzzzxz{zzzy{{{zzzy{yyz{z{zyz{zzyy{yxzzzzzzz{{zzyzzyzyzzzz{z{{z{zzzzyyzz|zz{{{{{zzzzyzyzz{z{{{zzyzzzyzz{{{zz{z{yz{z{zzz{{|{|z{{z{{{zzzzz|{{{{z{{zz{{zzz{{|{{{z{{zz{{yzz{{{z{{{|zzzz{{{{{zz{{{{{{z{zzzzy{{{{{zzz{z{{zz{z{z|z{{z{{y{{{{zz{{{{|{z{z{z{z|zz{z{{{|{{{{{z{z{zzy{{z{{{{zzz{zzzz{{{zzz{zzzyyzzzzz{{{zz{zzzzy{yyy{yzyz{{zzzyzzzzyzzzzz{z{zyzzyzy{z{zz{{{zzzyyyzz{zyz{y{|yzzzzzzy{yzz{{z{yy{yzz{yy{yzzz|yzzzyyyyzzz{zyzzzyzzyzzyyzzy{zzzzzzyzyyzyz{{{zzzz{z{yyzyzzzz{z{{zyzzyxzyyyzzz{z{zyzzzzyyzzzzzz{z{zzyxyzyzy{yzzzzzzzzyzyyyzzyzzz{{zzzyzzzyz{zzyzzz{{zzyzyzz{z{zz|{zyzzzy{yyzz{|{{{{yzzzzyzy{z{z{{{zz{{{zzzz{{{z{z{zzzyzzyzz{{{{z{{zzyzzz{z{z{{{{||z{{zzz{y|{{|z{{{{zzz{zzz{{{z{{{|zzz{zz{{|z|{{{{{{z{zzzz{z{{{{{{{{zz{{zzz{|{{{||{zz{{{z{{|z{{{{{{{{{y{y{z{{z|z{{|{z{zz|zz{{{|{{z{{z|zzzzzz|{{{{{{zzzyzz{yz{z{zz|yyz|{{z{zzy{{zz{{zzz{zyzzyz{z{|zzzzzyyxzyzz{{z{{{z{zzzzzzzz{{{{z{{zzzyzyz{{{{zz{{{z{yyy{yzy{{z{z{zzzyyzzzyzzzzzzzzzyyyzzzzzzyz|z{{yzyzzyyzzyz{zzzzyzzzyzzzzyz{{z{zzyzyzzzzzzz{{{{yzzyzyyyzzz{z{z{{yyzyzzzzz{yzzzzzyyzyz{yy|zz{{z{zzz{{yzzyz{|z{|{zzz{zzz{zzzzzz{zzyz{yxzz{z{|{{{zzzzzz{zzz{z{|z|{z{zzyyzz{{{y|{z{{z{zzzzzzz{z{z|zzzzzzzzz{{{zzz{{z{z{{z{z{z{{{|{|zz{z{z{{{{{{z{{{zzzzz{zz{{{{|{{z{zzz{z{{{{{|{||{{z{|{{{{{{{{|{{||z{z{{{zz{{{{{{{{z{zzz{{||{{{{{{}zzz{zz{z{{{z{{z{z{yz{z{||{{{z{{{z{zz{{{zzz{{{|{zzz{zzzzzzz{{{{z{z|zzyz{z|{{zz{zz{yyzz{z{z{{yzz{{yzyzzzz{{zz{{{|yzzzzzzz{zzz{z|{yzzzyyzyyzz{{{{{zzzyyzzzzzz{z{zzzyzyzzyy{{zzy{{z{yyzzyyzzyz{zzzzzzzzzzzzzzz{zz{{{{yzyyzz{zzz{{{zzzyyyzzzzzzzz{|{zyyzyzzz{zz{zz{{zzzzzzyyyyzz{z{z{zyzzyzyz{z{{{{zzzzzzzzz{z{{{zz{{z{z{zzy{{z{z{{{zy{zzzzzzzzzz{||zzzz{zzy{{zz{zz{zzzyzzyzzz{{{{z{{zzyzy{yz|zz{{|{zzzzzzz{{z{z{|{zy{{{{{{z{{|{||||yz{{{z{{{||{{{{|{z{{{{z{z{|z{{|{zz{{|{{z|{|||{{{z{{z{|z{{{|{||{|{{{{{{z{z}{|||{|{zz{zz|{|{|{{|{{|zz{{z{{{|{{{|{{{{{z{{z{{{{{{{||{{zyzyz{{{|z|{z{{{{zz{zzzz{z{z{{z{{x{zzzz{z{{zzzzyz{zzyyz{zzzz{zzyyzzyyz{y{zz{|{yzyzzzzyzzzz{{|zzyyxzyyyzzz{z{z|zyyyzyyyzzz{z{{zzzzyyyzyzzyzzz{{zz{xzzyzz{{z{{z{zzyyyzy{zzyzz{z{zyzzzzzyzzyzz{{zzzyyyzyzzzzyz{{yzyzzzzyzz{zy{zzzzzz{yxzzy{zzzzz{z{{z{xzy{zzzz{{{{zzzzzyyz{{{z{{{yyzzzzyyzzz{zzz{zyzzzyzyzz{{{{zzyzzzyz{{{{z{|{{{zzzzyz{yz{{|{{zzz{zzzzzz{z{{zz{{zy{zzzzz{{zy{{zz{zz{zzzy{{{{{{{zzzzzz{zz{{{|{|z|zzz{zzz{{{|{|{{{{z{z{{zz{{||{{|{z{{{zz{z{{{{|{{z{z{zz{z{{|||z{{{zz{{z{|z{|{z{z|{{zzy{zzzzz|{|}{|{zzz{zy{|{{{{{|{{zzzz{yz{{z{z{|z{{z{{{zz{{z|{{|zzzzzzzzzzy{yzy{zzzxzyyyyzzzy{{{zyyyzzzyzyz{zz{z{zzyzyzzy{zz{zzzzzy{yyyyz{zzzzyz{zzzyxzyxzzz{zzyz{yyzz{yzxzzzz{zzzyzyyyzyzz{yz{{zzzzzyyyy{{z{zzz{zyyzyyyyzyzyzzyzyyxyzzy{z{{z{z{{z{yzyzyyz{z{{zzy{zyyzzyxyzzz{zy{{yyzzyzzzzz|z{z{zyzyzzzzz{{z{z{{zzyzzzyzyz{{{z{{zz{{zyzzzz{{{{z{zzy{z{z{zzzz{zz{{{zzzzzz{y{zzzzzyzz{zzzz{z{yzz|z{zzzyzz{{{zz{{{{{{zz{{yzz{{z{{|{z{yzzzzz{|z{z|{|zzzzzzyy{{z{zz{zzz{{z{{z{z|{z{{{{zz{{{{z|{{{{|z{|y{zz{zz{{z|{|zzz{|{|yz{z{zzz{{{{zz{z{z{{{{||z{{|{zz{{y{{{z|z|{{zzzzz{yzz{{z{z|{z{zyz{zy{{{zzz{{zz{zyzzx{zzz{zzzzyzyyyyyz{{zzz{zzyyyyyyzzzz{z|{{zz{zzyzy{zz{zz|zzzzyzyyzz{yzzzz{zzzzxyzyzzzz{zz|yyzzzzyzz{zz{{zzzy{zzyzyyz{zy{z{yzyyyzzy{y{zz{{zyzyzzyyzyzzzz{yzzyzyyyzz{zzzz{yzzzzzyyyyz{y{yzz{{zzzzyxzyzzzzz{yzyzzz{zyzzzzzz{{zyyzzzzy{zzzz{zzyyyzzyzzz{zzzzzzzyyzzz{{{{z{{{z{zzzzyzzyz{z{z{{{yz{zzzzz{{{zzz{{zyzzyzyy{{{zz||zzyzy{y{zz{{{{z|{{{zz{zzzz{z{{{{|{zzzz{zz{z{{{z{z{zz{zzyz{{|z{z|{{{zz|zyz{|{{{|z{zzzzz{{|z{z{|{{{{{zzzzz{z{{{{{{|{{z{{z{z{||{z{|z{y{zzyz{{{z{{{|{{z{zz{zzz{z{zz{{{{zz{z{{z{{{|{|{{zyzzzzzz{{{||z{{z{zzyzz{z|{{zyyzzzzzyzzz{{zzz{{yzyzyzzyz{z{y{z{yyzzy{{yz{{zzz{z{zz{{yyz{z{{z{{zzzzzzyzzz{{{z|z{yyz{{yzzzzz{zzzzz{zyyyyyzzz{yy{zyyzyyzyyzzyzz{{zyyzyzzyyz{{z{zzzzzyzz{yzzzzzzzzzyzzzyyyzz{{{y{{|zyzzzyxy{zzz{{zzzzzyyzyzyzz{z{z{zzzzzyzzzzz{{z{zzyyyzzzzzz{z{{{{{{zyyzzzzz{{zz{{z{{yzzzzz{{{{z|{zz{zzyzzz{z{{z{z{yzy{{z{z{{{{|{{zzyyzzzz{{{zz{{{{|{yzz{zz|z{||{{zz{{{zz{{zz{{{{{zzzyzzy{z|{{{{{{{z{{zzz{z{{{{{{{{z{zyz{zz{{|||z||zzz{zzz{|{|{|{{|{{{{z{z|{z{z{{{{y{zz{z{{{{{{{|{z{zz{{y{z{{{|{|{z{zzz{zz{{{|{||{{zzzz{zzz{zz{z{{zy{yzyzz{z{z{zzzzzzzyzzzy{{z{zzzzyyzxyyy{{zz{z{{{yyyyzy{zyyz{{{{z{{zzzzzyzzzyy{zzzzzxzyzzzz{zzz|zzzyyz{zzzzzzz{zyyyxzzyyzz{yz{z{zxyxyzyyzzzzzz{zzyzzzyyyz{zyz{{zzyzzyzyzyy{zzzzzzyzzyzy{zzzzyz{zyzyyyzyyzzyzz{zzzzzzzyzyzzzz{{{zyzyzzyzyyzz{|z{zzzyx{yzyzzzz{zzzzzzyzzzzzz{{z{z{yzz{yyzy{{|zz{{zzzzz{zzz|{zz{z{zzzzzyyz{{z{{zz||zzz{zzzz{{{zz{{{zz{zz{{z{{{|{{|{{{{{{zzz{{z{zz{{{yzzyzzzz|{|{{{{zz{zzy{z{|{zz{||z{z{zzzx{{{z{{{{zzz{zzz{z|{||{||{{{zzzz{z{|{{|z{zzzyz{z{{{{{{|{|{zz{{zzz{{{|{{|{{{{zzzyzz|z{z{{{{zzz{zyyz{{{z{{zzyzzyzz{zz{z{zzzyzzy{zyyyzz{{{{zzyzzyyyyzzzyz{zzzzyyyyzzzyzzzzzzzyzyzyzzyyz{zzz{yzzyz{zyzyzzyzz{zzyzzzzyz{zzy{{zzzzyzzzyzzzzzzzyyyyyyyxzzyzzzzz|zyyyyxzyz{zz{yzz{zyzyyzyyz{z{zzzzyzzyzzyyzzzzz|{yyzyzy{zzzzz{zzyzzyxyzyyy{yzz{y{yyyzzzywyzzzz{z{{zyyyyyzzzzzz{z{zzyzzyzzzyzzzz{{yz{yzyzz{{zzz{{zzzzy{zyzz{zzz|{{zzzyzzzy{zz{{z{{{yzzzzz{{{{{{{{zz{zzzzzz{z{{{{z{zz{zzz{{zzz{{{{|{zz{yzzz{|{{{{{{zz{zz{y{{{{z||{{zz{zz{|z{{{z|{y{|zzz{z{z{|{z{|{|zz{{z{{{{z{{{|{{{yz{zy{z{{{z{{|{{{yzzzz{{zz|{|{zzz{zzzz{zzz{z{||{{zzzzz{zz{z{{{z{{zzzyzy{zz{z{yzzz{yzyzzz{{{zyzzyzyyyyyzz{z{{{{{zzzy{z{wzzyz{zz{zzzzzyzzzz{zzzz{zzyyyyyyzz{{{z{zzzyyyy{zzzzy{zzzzyzzzzzzzz{xyzz{zzyyzzzyzzz{y{{zyyyzyzyzzzzz{zzz{yzzzyyyzzz{{zzy{yzzyzyyy{z{{z||zzzyzz{yzzz{y{zzyzyyzzyyyzzzyz{{zzzyz{zyz{zzzzz{zzyzzzzz{z{zzz{{yzzyzy{zzyzzz{zzyzzzzzzzzz|{{{{{zzzyzzyzzzy||{{{zzyzz{yz{{{{zz|z{yzzz{z{{{z{z{{{z{y{z{zz{{{{{{{{{zzz{z{z{{z|{{{{z{{z{zzy{{z|z{{{{y{{{{zz|{|{{|{|{{{{zzzz{zz{||z{{zz{{{{zz|||{}|||z{{{{{z{{{{z}||{zzzzz{{{{|{|{||zzzz{zz{z{z{{|{|{{zz{{z{{{{|z{||{{zz{z{z{{|{z{{|z{z{zz{y{{|{z{{zzzzzzyzyzzzzz|{zzzyzyyzzy{zz{{z{zzzyzyzzyzzzz{{zy{{zyzzyzzzzzyy{zzz{zxzyz{zz{z{zzzzzzyzyz{{{{zz{zyyyzzzyzz{zzzzzz{zzxyyzzyz{y{z{yyzyyyzz{z{z{{{{zzyzyyyzzzzy{zzyzzzyz{zyzzy{zz{{zyzzyzyxy{{zyzzy{y{zzzyzy{zzz{zzzz{yzzzzzzz{{z{zz{z{zzyz{z{{y|z{yzzyzz{zzz{z{{|zzzzzyzzz{z{z{{{zzzzzzzzzzzz||{zz{zzzzzzz{z{{z{|{{zzzz{zz{z{z|{|{{zzzzzzzz{{||{||yz{{{zzz{z{z{z{|z{zzzzyz{{{{|{{{z{z{zzzz|{{{{z{{zzzz{{{z{{zzz{{{{{{{z|zz|{{{{{{|{{z{zz{y{{||z{{z{z{z{zz{{{{{{{{{{{zz{z{{z{|{{{|{z{{zzzzzz|{{{{{{zzzzy{zzz{{{zz{zzz{zzy{zzz{{z{{z{zzyzzyzz{zzzz{z{zzzzyzzzzz{zzzz{yyyyxyzzzzzz{{z{yzzzzz{z{{{y{{zyzyzzxzxzzzzzzz{zzyzzzzzzzyz{{|zzzzzzzyz{{{zz{{zzyzyyzzz{z{zz{z{yzzzyzxzzzzzz{zzzyyzzzyzzz{z{z{zzzzzzyyz{{zzz{zz{zyzzzzyyzzz{{{{zyyy{zzyz|z{z{z|z{zzzzyyyzz{zz{{zzzzzzzz{{zzy{{{zzzzzzzzz{{{{{{{zzzzyzyzz{{{{z{z{zzz{yzy{|{{{{zzzz{z{zzz{z|{{{|{zzzzzzzz{{|z{{|{z{zzzzzz|{|{{||{{z{z{{{{{zz|{||{{{z{zzy{{{{{{||{{z{z{zz{{{{{|||z{{{{z{{{{{|{{{|{|z{{zzz{z||{|{{{{zzy{zyz||{|z{|{{z{{zzz{{{{|z{{{{zzz{{z{|{|{|{{{z{y{zzzz{{{{{{{{z{zzzz{y{{{{{{{{{z{y{z{yzz{{{zzz{yzyzzzyz{zzzz{z{{yzyzzzzz{zzzz|z{zzzzzyz{{z{z{{{zyzyyz{zz{{{{{{z{yyzyzyz{{{{{{{zz{zyzzzzz|{yzyzzy{zzzxzyzzz{zzzzzyyzzzzyzz{yz{{zzzzzyzyz{zzyzz{yzzyyzyzyz{z{{z{zy{zzzzy{{z{zz{{zyzzzzzyz{yz{{zzzy{yzzzx{{z{z{{{zzzzzz{{z{{{{z{{zzzzzzzyz{zz{{{{zzzzyyzzzzy|z{{{zyz{zzzz{|{z{z{z{z{yzyzzz{{zz|{{zyz{{z{y{{{{{z{z{zyzzz{z||{{y{{{{z{yz{z{z{{|{|{{z{zzz{{zz{z{{{|{z{z{z{z{{z|z{{{{|zzzzz{z|{{z{{|z{{{zz{|{z|{z{|{{|z{zz{{z|{{{|{{{{{|{z{{z{|z{{z||{zz{z{z|{z{z{{{||{{{{zz{{{{|z{|{{{{zz{zzz|{{z{z{{zz{{zzzz{{{{z{{{{yzzyzzz||z|zz{zyyyyzzzz{{{z{{zzzzzzyzzz{zy{{{|{zyyyzyy{z{z{{{{{y{zzyzyyz{zyzzzzyyyzxyyzz{zzz{{zzzzzzyy{{zzzz|z{z{zyyxzzzyzz{{y{zzyyyyzzzzzzzz{zzyzyyzzzzzz{{z{{z{yyzzy{zzy{{{{{zzzzzyyz{zz{z{{zyz{zyzy{zy{z{z{zzyzxyyyy{{z{{{{yyzzz{zy{zzz{{{{zzzz{zzz{zzzzz|{zzzzzzzy{zz{{|{{zz{yyzzxzzzzz{{|zzzzzyzz{{{zz{{{zy{yzzzzzy{z{{{y{zzz{zzyz{zzz{{{zzz{z{zzzz|{{{z{zzzzz{{z|{{{{{{{yz{zz{yzz|{z{{{{{y{{{z{z{||{|{{|zzzzz{{z{}{z{{|{z{{zyzy{z{{{{{|{{z{z{{z{{{{|{{{|z{zzzz{z{{{z{{{{{{{{{zz{{{{{{{{{{{zzzy{z{{{{||{{zzz{zzzzz{z{zzz{zzzz{zzzzz{z{zzzyzyzzzyzzzz{zz{zzzzzzyyyzzz{z{{{zzzzzzzzzzzz{z{|zyzzzzxyyz{|zzz{zy{zyyzyy{y{zz{{yzyx{zyzzzzzz{{zyzzzyzz{z{zzz|zzzzzyzzxyz{z{yzz{yzyzzzyyzz{zz{zzzzyzxyzzyzzz{{zzyyzzzzyyzzz{z|{zzzzzyyyzy{zyy{{{zzzz{zzy{{z{z{zzzz{zzzyyzz{{z{zzzyzyzzzyzz{z{zz|zzzyyzzzzz{{zy|{zzzy{yyzzz{zz{z{zzzzzyz{zzz{{{|{z{zzzzyyz{zz{z|{{zzz{yzzz|{zzz{z{yzz{zz{{|{{{|{z{z{yz{{z{{{{{z|{{z{zzzzzzz{{{{{|{z{z{yz{||{z{||z{{{z{{z{z{z|{{|{|{zzz{z{{|{|{|{|{{{zz{z{{{{{||||zz{{{zzz|z|||{||{zz{{{z{|{{||{{{{{zz{z{zz{zz{{|{{zz{zz|{z{{{z{{{{{zyzzzz{z{zzzzzyyyyyzzyyz{z{z{{yyzzxyyzzzyzzzz{{zzyz{zzz{zz{zzz{zyxyyyyy{z{{z{zyzzyzyzyz{zyzzz{zyyzzyyyzzxzz{{{zzzzyzxzzzzzz{{{zyzxzzyyzzzzzzz{yyyzzzyz{zzzzzzzzyyyxyyyzzz{{zzzzyzxyzyzzz{{zz{{yyyzzyzyz{{zzzz{zzyyzzyyy{yzx{{zxzzzzyzyz{|{{z{{{yzzzyxy{zzzzz{{zz{zzyyyzzzz{z{zzzzyyzz{y|zzzz{zzzzzzzyzz{z{z{{zzzzzzzzzyz{{{zzz{zzzzyzz|{{z{{z{{y{zz{{yyz{{{{zy{zzy{zz{|{zzz|{|zz{{{|yyzz{|{{{zz{zzz{zzz|{|{|||{z{zz{{{{|zz|{{{|{zzzzzzz{{||{|{{y|zzzz{{zz{{{{{{zzzzzzzz||{{{{{|zz{z{zzz{z{{{{{{{zzzzzzzz{{{z{|{zz{yzzzz{{{{{{zz{zzyyzy{z{{{zzyz{zzzyzzyzyyzzzzyzzzzyyzzzy{zyzzzyzzyzzzzzzyzzzzzyzyzzyyzz{zzzz{zyyzzyzyz{zzyzzzzyzyyzyxzzy{y{zzzyzyzzyzyz{zzzzzyzzxyyyxzxyzz{zzyyyzzyyyzzzzzz{zzyzyyxzyzz{y{z|yzyyyxyzzzzzz|{{y{yzzxyyyzzz{z{{z{zyzyyyzzzy{yz{{yyzzzzzy{zzz{{{zzyxzz{yy{zzyzzz{zyzzyyzyy{z{z{{{zzyzz{yz{y{{{zz{z{z{zyzzz{zz{{{zzzzyzyzy{zz{{zzyzzzzzzyzz{{zz{z{{zyzzzz{z{{|{|zzzy{z{zz{z|{|{{{z{zyzzzzzz{{{{{{{zyzzzzzz{|{{||z{{{{z{zz{z{zy{{{{{{zzz{z{z{|{{{z{{z{{zz{{{zz|{z{{zzzzzzz{{{yz{{{zz{yz{{{{z{{{{{{{z{zz{{{y{z|z{{z{zzzzzzzz{{{{{{{{zz{yyzzyzzzzzzy{yzyyyzyxyzzzzzz{zzzzyzyy{zzzzzz{zyzyyy{yzyzzz{zzzyzyzyzyzzzzzzzzzzzxzyyyz{{{zz{{zzyyyxyzzzzyz{z{z{zyzzyyyyzzxz{zyzyyyyxzzyyzzyzzyyyyzxyzyyzzyz{yzzyzzzyyzz{yzzz{zyzzxyyxzzzzyzzzyyzyyyyzzzzyyz{yyzzyyyyyy{{zzz|{zzxzy{zyy{y{zzzzy{zy{yyyzzz{zzz|yz{xyyzz{zzz{z|{zzzyzzzzzzzzzz{zyyyyzyz{z{zz{zzz{yzz{yyz{{z{z{|zz{yzzz{{{zzz{{z{zzzzzzyzz{z{{z{{yy{z|zz{{{{|z{{|{zzzzzyxz{{{z|{{{zzzzzzz{{{{{||{z{zzz{zz{{{z|z{{{z{{{z{zz||{{z{z{zz{yzzz|{||y{|{{zzzzzz{z{z{{{{|zzzz{zzz{{z{{{z|zzyy{y{zz{zzy|{|zzzz{zz{{|{{z{{z{z{yzz{z{z{{zzzz{zzzyzyzx{zzzzzzzzzzyzyy{{{zzzzzyzzzzyyxz{{{z{{zzzzyyzyzzzz{z{z{zy{zyyyyzz{zzzz{yyyzzyyyz{z{z{z{zyzzyyzyzzzzyzyzzyzyyxyyz{zyzzzzyzyzzyyzzzzzzzzzzyyyyyzzy{zz|{zzzzzzyyzxzz{{{zz{{yyzzzyyzz{zz{zzzzyzyyyzy{zz{{z{yyyzyyzyzzzz{z{{zyzzyzzzzz{{zzzz{zyzzz{yzz{{z{zzzz{zzzzyz{{z{z{z{y{{{y|yzz{|z|{{z{zyzyzz{zzzz{{|z{zzzzy{zz|zz{{{zzz{{{{{{{{{|{zzzzzzzzzz{z{{z{{z{z{{zzzy{||{{{}|zzyz{zzz{|zz|{|{|zz{{z{z{z{{|{{z{{zz{{z{z|{{{{{|{{{zz{{zz{{zzz{zzzzzzzzzzzz|{|{|{{z{zzzz{z{{{{||{{zy{{yzy{z{z{||{zzz{zzz{{{zzy{z{yzzzzzzzz{{{{z|zzzy{zyxy{zyzz|{zzzzyzzyzzzz{z{{{zyyzzxzzyz{zzzz{yyzxyz{zzz{{z{{zyzzyyyzzyz{{{{{zzyyzyzyzzzzz{zzyzzyyyyzyyzyzzy{yyzyyzzzzz{z{zz{zyzyyzzyy{yz{{zzzzzzyyzzzzzzz{zzyyzzyyyyy{zzzzz{yzzz{yzyzzzzz{z{zz{zyzzzzzz{z{{zyyzyz{yy{{z{zz{{{zyzzzzyzz{zzz||zzzzxzzz{yzzy|y{{zzzzzzzz{{{{z{zzz{z|zy{{z{zz{{{zzzzzzzz|z{{z{{|{{zzzzzzzz{{z|{zz{{yzzz{z{{{{{|{zzzzz{zz{z{{zz{|{{z{z{yzzz{z{z{{{z{{z{z{z{{z{{{{{zz{{{{{{{|{{{{{z{zzzzzz{||||z{{{zzzzzz{{|{||{{z{{z{{z{{z{z{{{{|{zz{{z{{||{|z|z{{zz{{zzz{{zz|{{{{zz|yzzz|{{|z{{{{z{y{zzz|{zzz{{{zy{zzyyyyyz{z{zzyz{zzyyz{z{{zz{|zzzyzyzyz{zzz{zzzzzzzyzyz{z{{zz{zzzxzzzyyzzzzzz{zzzzyzzyyzyyyz{zyyzzyzyyzzzzz{zyzzyzyxyyzyzzyzz{yyzzyyzzzz{zy{{yzyyyyyyzzzzz{{z{zzzyyzyyzzzzzzz{zyzzyyzyzz{yzz{y{yyyzyy{z{zzz{z{yyyyyzzy{{zzzz{zyz{y{zzzzz{zzz{zzyzyzyzz{{|zzzzz{zyyzzyzzz{z{zz{yz{zzz{yzz{{z{z{zz{{zyyzz{|zz{z{zzzyzzzz{{{{zzzzz{{{zz{{{{{{|||{zzzyzzzz{{{{|z|{zzz{{yzy{{{{{z{{|{zz{{{zz|{z|z||zzzz{{z{zz{{{|z{{{zz{z{zz|{z{{{|{{zzzzz{{{{{{{{{zzzzz{zz|z{{{zz{|{zz{zz{{z|z{z{{{y{y{z{{{zz{z{|{{zzzzyyzz{|{{{|zzzzzzzzzz{{|z{zz{zzzzyzyyzzzzz{{yzyzyyzzzzzz{zzzzzyzzzyyzzzzz{{zzzyzzyyyzyz{zy{zyzyzyyzyz{zzz{z{zyzzyy{yyzy{z{zyzz{yzzzzyzz{zz{{zzzzyzzyzy{yzz{{zyyzzyyyzzzzz{{zzzzzxzzz{{zzzzz{zyzzxyyyzzzzzzz{zzyyyzyyzyz{zzzzzyzyzxyyyzzz{z{{yzzyzyzx{zz{{z|z{yzyzyyzzzzzzz|{yzzy{yyyz{{z{z|{{zzyyyy{zy{{z{{{z{zyyz{y{z{zz{z{zzzz{zzy{{|{zz{zzyzzzzzz|{{z{|zz{z{zzzz{z{{{z{{{zzz||zz{{{{{{{{|z{zy{{zy{{|{{{z{{yzzzzz{{{|z{{{|{{{{yz{{z{zz{{|{{z{zzzz{z|{|{{}|zz{zz{zz{z{z{{{{{yzzy{z{{|{{{z|{{zzz{zzyz{{{{{{{zz{{yzz{{|z{{zzz{zzyzzzzzzz{z{{{{yzzzz{yzz{{{zz{y{yzyyyzz{zzzz{{z{{yyzyzz{{yz{{|{zzzzyzy{{z{z{{{zyzzzzzyzzy{zz{zz{{yzyyyzzz{z{z{zzyzzzzyz{zzz{|{{xzzyzzzyzzzz{zzyyzyyzz{y{{zzz{|yzyxyzyzz{{yzzzzzzzyzzzzy{{zzzzzzz{yzyzyz{y{zz{zzyz{yzzzyzzyzzzzzyzzzzyzzzy{y{{zzyzzz{zzzz{{z{{{zyzzyzyzzz{z{{z{{zzzyzyz{z{{{{{{zzyz{zyz{{zz{{{{{{zzyz{zzz{{{|{{{y{y{yzz{{{zzz|{zzzzzzyz{{{z{{{z{zzz{z{z{{{|{|{zz{z{z{z{{{z{{{{{zzz{z{zz{{{{{|{{{zzzz{zz{{{{{{||{z{{yz{zz{z{|{|{|{{{{{{{{|{{|{{||z{{zz{z{{{{{{{{{zz{yzzz{z{{{{|||zz{{z{z{z{{z{{{z|zyz|zz{{{{zz{|{{z{zzzz{{z{{{|{{z{zzzzzz|{zzz{{{{yzzyyxy{zzyz{{zzzzyx{z{zzz{yz{zzzyzzyyzz{z{{zzzyzzzyyyzzzzy{zzz{yzzyzyzy{zz{{{zyzyzyzxzzzzz{zzzyzyyzyzzy{yzzz{zyzyyyyyyzz{z{zzzyyyyzyzz{z{z{z{zzzyyzyzzz{zz{z{zzzzzz{yz{{zzz{{yzyyzyyxzyzzzzz{zyzzzzzyyzzz{{{zzzzzzzzyzy{z{z{{{zzyzyzz{y|{{z{zz{{{yzzz|{z{z|{zzyzzyzzzz{{yzzzz{zz{{zzy{{{z{{|{yz{zyzyyz|{zz{{{{zy{zzzz{{{zz{z|{zzyzzzz{{{{z{{{zzzzzzz{{zz{{{{|zzzzzz{zz{{z{z{|{y{zyzz{{|{{{|{{{zy{zy{{z{{|{|{|{{zzzzzzz|{{|{{{{y{{z{{{z{z{{z|{{y{{zzz{zy{|||{{{zzyzzz{z{{{|{{{yzzyyzzzyz||{|{{{zzzzz{zz{zz{{|{zzzzyzzyzz{zz{z{yzyyyxzzzzzzyyz{zy{yyyyzzz{zzz{{{zzyzzzzyzzzyz{zzzzzyyyz{yzzyz{{{z{xzyzyyzzzzzzzyzzzzyzyzz{zz{{zyzz|yyyzz{{yzyzyz{zyzzyy{zz{z{zzyzzyyyyzzz{{zz{z{yzyyxyzyyzz{yz{zzz{zyyyyzzzzy{zyyzzzyyzzz{yzzzzyzzyyzzzyzzzz{zzzyyzzzzzz{{{zzzzzzzzyzzzz{zy{{z{{zzyzy{yz{{z{{{zz{zzzyyz{{z{z|{{z{{yzz{zzzz{{{{{zzz{zzz{{{z{zz{{zz{{{zyzzz{{{{z{zzzz{z{{z{z{z{{{yzyzzyzz{{{{{|||zz{z{z{y{{{z{{{zzzzz{zzz{||{|{{zzz{zz{{z{{{{{{|{{zzzzzzz{|{{{{|{{z{z{zzzz{|{z{z{{zzzz{zz|z{{|{{{{|z{zzz{z{{{||{{z{{zz{|z{{{{z{{{zzzzzyzzz{{{{z{zyz{yzyzz{{zz{yyyyz{xzyyyzz{z{zz{zzyzzzyy{zz{zzz{{zyyzzzyzz{zy{z{zzyyyyzzzyzyzz{zzzzzxzyyzzz{zzz{zzzyzyzyz{yxz{zzzyyyzyyzzzzzzz{yzzyzyzzzy{zzyzzzzyyyzyxzzzzz{zzzyzz{yzyzzxzz{zzzyzzyzyyyzzy{zzzzzzzyyyzyyyy{zzz{yzxy{xzzyzyyz{{zz{zzzzyy{{yzzzzyzzyyzyzz{z{zz{z{zzzzyzz{zyz{z{{zzzzzzzzy|zzy{{|{{zz{yyyyz{zz{z{zzzzzzzyy{{z{z{{zzzz{zzz{zzzzzz{{{z{z{zzzzzz{||{{z{yyyz{y{{z|z{|{zzzz{{zzz{|{{{{{zy{zzzzz{{{z{z{{{{zzyz{z{z{z|{{{z{z{z{z{z{{{{|{{{{{{zzz{{z{{{{{{{yzyzy||{z{{{{||z{zzzz{z{z{{z{{|zzzzyzzzz{{{||{{{zzzzzzz{zz{z{z{zz{{zzyz{z{zzzzzyzyzyyzyy|zyyzz{zyyzyzzyzzzy{zzzzzyxyyxy{zzy{zzz{zzyyyyyyzzzyz{{yzyyzyyy{zzy{{zzyzyyyzxyzyz{zzzyyzyyzzyzz{{zyzzzzyyyyzyyzzzzzzzzyyzyyyyyyzyzzy{zyyyyxzxyzzzyz{{{yzyyyyyyzzzyzzzzyzyyyyxxyzzzz{yzyzyyyyyy{{xy{z{z{zzyyzzyyyzzyz{zzyzyzyzzzzzyz{z{zzzzyzz{zzy{{z{{yzzzzyzz{{{z{zz{z{zzyyyzz{zzz{{{zyzyzzzzzzz{zzzzzzz{zzzz|{{zz|{zzyzz{{yz{{{{{{z|y{zzz{{{{zz{z{{{{yzzzy{z{{{{{{zzzy{zzz{{{{{zz{|{{z{zzzzzz{z{{{||zzzzz{{{zz{{{{{{{y{{z{z{{{{{z|{zyzzy{{y{{z{{{z|z{zzzzzzz|{{{z|{{zzzzz{zzzz{{z{{{{zzzzzzz{z{{{z{z{z{yzyzyzzz{{{zzzyy{yzzzzzzz{zzz{yyzzyyyzzyzy|{{zzzzzyzyzzyzz{{{{zyyyzyzzzz{zz{yzzyyyzyxz{yzz{{z{zyzzzzzy{yzy{zzzzzyyzzyzyz{z{zy{yyyyzyyzzzzzzzzyyyyzyzyzz{zzz{zyyy{yyyzzzzy{z{{zzzzyzyxzzzyzz{zyzzzzy{zyzzyzzz{zzyyzzzyy{zzz{z|zyyzzzzy{zzzz{zzzzyzzzzzyzzzz{zzyyyzyyzzyzzzyzz{zzzyyzyzzz{z{z{{zyyz{zzyz|{{zzz{zyz{zyyy{{{z{{{{zzyyzyz{zzzzzzzyzzzz{zzz{{{|{{z{zz{yyzzzz{z{{{{{yzyzz{zyzzz}{z{{|z{z{zzzz|zz{{{{{z{zzz{z{{z{|{{{{zzz{{zzz|{|{z{{{yz{{yzy{{{{{{{{|zz{{zz{{{{z{{{{zzzzz{z{z{{|{{{zzzzz{zyzz{{{{z{{zzz{zzzyz{y{z{z{zyzyyyzyzy{zzyyyyyzzyzyyy{z{yz{zzyyzyyzyyz{zzz{{zyyzyyzxzzzz{{zz{zzyyyyzyz{zzz{zzzzyyyzyz{z{z{z{{zzzxxzyyzzyyzzzzyzyxyzyyyzzyyyzzzyzxyzyzyyzzzzzzyyzyxyzyz{yzz{zzyyzyyxyzzzzyyzzzzyzyyyyzzz{{zzyyyyyzyyzyzzyyzzzzzzxyzyyzyzzyzz{yyyyyzyxzzyzyyzyzzyyyyzyzzyz{{y|zyzzzyzyzzzzz{zzyzyyyyyzyzzzz{{{zzzyzyyyz{zyz{z{z{zzyyyyz{{{y{zzzzzzzzzyz{{{{zz{zzyzzyz{zzz{|zz{yzzzy{{z{{z|z{|{zzyzzzyzz{z{{{|{zzzzzyzzz{|{{{|{{z{zzz{zz{{{{z{z{zzzzz{{z{{|{{z{zzzzzzzz{{|{{{z{{zzzz{zzzz{{z{{|{{z{zz{z{{{|{{zzzzzzzz{zyzz{{z{{zzz{y{zyz{z{|{z{yzzzyyyyzz{{zzz{z{zzzzzyy{zzzz{{yyyyzyzyz{zz{{{{{zzyyzzzzzz{zz{zzyzzyyzz{zz{yzyz{yzyyyzyzzzzzzzzzyzyyyzyyzz{zzzyzzyzyzyzzy{yz{{zzzzyzyzyyyzzz{yzzz{yyzyzzzyzzyzzyyzyyyyz{zzzz{zzyzzyzyyyyzzy{zz{zyzyzy{yzyzzz{zzyzyzyzyyzyzyzz{{yzzzzzyxzzz{zzz{zyzzzyyyy{z{{z{zz{yzzzzz{zz{{z{{zzyyzzzy{yz{{zzzzzzzzzzz{z{{{{z{yyzzzyzzz{{{{{{{zzyz{yzz{{zz{|{zzzzzzz{zy{|z|{{{{y{z{{{{{{z|{{{|{zz{zzzy{{{|{|z|{zyz{{{z{{z{{z||{z{zzz{zz{{{{|{|{zz{z{{z{{{{{{{{{{{{{z{{{{z|z{{{{z{zzzzz{|{{{{{||{{{zzz{{{zz{{{z{{yzzzyz{{z{{{{{|z{zzzzzz{{{|{{z{z{zzzzzzz{{{{zzyyyxzyyyzyzzzzzzyyyyzxyyyzzzz{zzyzzy{zzyy{zz{zz{yzzzyyyyzzzzz{{zyzzyyzzy{yzzyz{{yzzyzzyyyzzzzzzzyzzzyzzyzzzzzzzzzzyxyyzyz{zzz{{yzyyyzyyyyz{{z{{yzzzzxyyyzz{zz{yzyzzzzzy{yzzyzzzzzyyyyyzy{zzyz{{z{yyyxzzyyzzzzzz{zyzyzzyx{zz{z{|zzzzyyyz{zzz{{y{yzzzyzzzzzzz{{{{{zzzzzyzzzz|yz{{{zyzzz{zzyz{z{{zzzzzyyyzy{|zzzz{zz{zzzyyz{z{z{zzz|zzzzzz{{{{{z|{{zzzzzz{z{{z{{||{zyzzz{yz{{zz{{|{|zyzzzzz{{{z{{{{{z{zzz{zz{{{|z|{{yz{{{yz{{{z|{{|{{{{z{zz{{zzz|{{|zz{zyzz{{z{{z{{{zzzz{z{|z{{z|{{z{zzz{zzyzz{zz||{zzzyzzzz{zzz{{zzyzzzzzz{{{zzzzzzyzyyyzyy{zz{zzzzzzyzyyyzzzzz{{zz{zyxzyyz{zy{z{zzzyyzyyzzzzzzzz{zzzyzyyyzz{zz{z{yzyyyxzzzy{{z{yyzzzyyyzyyzzyyz{{{zzyyzyzyzz{zzz{yyzyzzyy{zzz{yzyyzzyyyyyzzz{zzzzyzx{yzzxzzy{{z{{{zzzyyyxzzyyzzy{y{zyzyzyyzz{{{{{zy{yzzyyzzzzzz{zz{{zyxyyzzz{zzz{zyzzzyzz{zyzzzz{{z{zyzyzz{zz{{{z{zzyzy{yzz{{z{{zzyzzzzzzz{{{yz{zzyzzzyzyz{{{z{z{zyzzz{zzz{{|{z{{yz{zzyyz{zz|{{z|zz{zzzzyz{zz{|z{{z{z|z{z{{|y{{{{zz{{z{{{{{z{z|{zz{zzz{zz{|{z{z||{zzz{z{{{|{{{{{{{zy{zzz{{{z{{{{{{{{z|zzz{{{{{|{|zzzz{zzzz{{{{{{{{{zyyzzzzz{|zzzz{zzzzzzz{{{{z{y{zzyyyzyzz{{zyz{{yzzyyyzyzzzz{{{{zyzzyzyyzzyz{z{zzzzyzzzzzzz{yzz{yyyzyyzyzzzzz{{{zzyzzzzyzzzzz{{zyyyyzyyyzy{zzy{zyzyyy{yyyyzz{{zzyyzyzyyyzz{{zz{zzyz{yzyyzz{zzzzz{yyzyzyzzzz{z{z{yyyzyyyyy{yzzz{zyzyyyzyzzzyzzzz{{yyzzzzyyz{zzz{zzzzy{zzy{zzzzz{{zzzyzzzzzzzz{z{{yzzyyyzzyzz{z{{zzzyzyyzzz{z{{{{zzzzzzyzy{z{{zz|zzyzzzzyz{{{{zz{{z{z{zzz{z{{|{z{zz{zzzzyz|{z{{{{||z{zz{zy{z{{{zz|{zz{{zz{{{|{|{|{zz{zzz|{{zzz{{z{{z{{z{{{y{{{zz{{{z{{z{{zz{z|{z|||{z|{z{{{{z{z{{{{zzzzz{z{{{{{{{{{{z{z{z{{{{{zz{|z{zzzzyz{{{||{{{zyzzyyzzzz{zzzyzyzzyyz{zy{zzzz{{zyzzyzyyyzzz{zz{zyyzzyzzzzzz{{{zyzzzzzyzzy{{yzz{zzzyyzyyz{{{yzzzzzyyzyzyzyzyzzzzzyyyyyyyz{{yz{zzyzyyyzzyzzyzzzzzyzyxyzxyyzyzzzzz{yzzyyyyzz{z{zyzzyyzyzyyz{zzzy{zzzzzyxz{y{yzzz{{{yyzxzyyyzzzy{zzyzzzyyzzzzz{z{zzzyyz{yz{{zzz{{{{zzyyyyzzyzzzz{{z{zzzzzyzz|z{z{{zyyzzzyzyyzz{z{{zzzzyzzyyzz{y{yzzzzzzzzz{{z{z{z{{zzz{{zyz{z{|z{z{y{z{zz{zz{zz{z|{{z{yyzyy{|{z{|{{{z{{{zzzz{{{|{||{z{z{z{zz{{{{{{{{zz{{{z{y|{{|z{{|z{{{z{{|{{{{{{{|z{{zy{{zz{{{z{{zyy{zz{zz{{{{{z{{{zyzz{z{{z{z{{||zzz{zzyz|{{zz||{y{zzz{yz{{{{zzzzyyyyz{yy{zzzy{zzyyyzzzyzzzzz{zz{zzyyzyzyzz{z|{{zyzyzyz{zz{yz{zzzzzyyyzyyy{{z{zzzyzzyzyyzzzyzzzyz|{yyzzz{yz{zzyzz{yyz{yyzz{zzzzzzzzyzyyzyz{yzzzyzyzyzzyyyzzz{zzzz{z{yxyyzz{zzzz{zyzxyyyzyzyzzzz{zyyzzyzyz{yzzzzzzzyzzz{y{zzzz{z{|zzy{xzzzz{{{{{{zyyyzzzyzyzz{zz{yzzyyyzyzzzz{{z{zzzzzzzyzzz{{{{{{{zyz{zzz{zz{z{zzyz{{yzz{{{z{{z{zzz{z{z{{{{z|{|{yzz{zzzz{{{|{z{{zzz{zyz{{{{{|zzz|zzz{{{z|||z{{{{zyzzzy{{|{{zz|z{{zzzzz{z{||{{{{{{zz{{{zz{{{{|z{{zzzzzz{{{{{zz{{{|zz{z{{{{z{{{{{{{{{y{yzz{|{z{{{|{zzzzzz{zz{z{z{|{z{{zzyy{{z{z{yzyzyyyzzxyz{{z{{zzyyzy{yzzzzzzzzzzzzyyzyyzyy{{zzzzzzxzzyzzzyyzzyzzyxyzzyyzyyz{z{{yyzyzzyzzzzyy{{zyyzyzzyz{z{zz{zzxyzzxyyyy{z{zz{zzyyyyyzyyz{yzz{yzyzzyyxyyyz{{z{zzzxyyxyzyzzyzzzzyzzzyyyyz{zzzyy{zyyyzyzyyzzzz{z{yyzyyzzy{yzz{{z{zzyyzzyyz{{{zz{{z{zyzyzzzyzzz{zz{yzzzyyzzzz|{{z{{zyzzyzzzzzzy{zz{yzyzzyz{z{z{{{z{zzzzzyz{zzy{z{{zyzzyzy{z{{{z{z{yyyzzzz{{y{{{{{|zz{{z{yzz{{{{z{{zyzz{z{z{{zzzz{{{zzzzz{{{{{z{{{{{{y{zyzzz{{{{{|{|yz{zzyy{{{{{{z{zzy{zz{z{zz{{{zzzz{{{{z{zz{{{{{zzzzzyyyzzz{{{z{z|zzy{zz{z{z{{z{{zzzyyzzz{zz{{y{zzyzyyyxyz{{zzzz{zzyyzyzzyyzzzzzz{yyyzzzy{{zyzzz{{zzzzzyyyz{zzzzzyyzzyxyyz{{zy{z{yyxyzyzzx{{xzzzzzzzzyyzyzzyzy{{zzyyyyzyzyyzzzzz{zzyyyyzyy{zyzzz{yyyzzyyyz{zzzz{zzzyzyzyzzz{zzz{yyyyzzxyyyzzzzyz{yzzyyyzyy{zzz{zzyzzyzzyy{z{zzzz{zzzyzzzyzzzz{zzzyzzzzyyzzyzzzy{zyyzzzzzzy{{z{zzz{zzzzzzzy{{zzz{z{{zyzyzyz{{{{{z{zzzy{zyz{z{z{|zz{zzyz{yzzzz|{{zzyzyz{zzz{z{|{{{{zzzyzyzyz{zzzz{zzyzzzzz{{}{{zz{|{zy{z{{zz{{{z{{{{y{zzzzyy|{{z|{z{zz{zzz{{z{{{{z{{zzzz{z{{{{z|{z{z{{zz{z{{{{{z{{|zzzzz{z{z{{{z{{{{zzzzzzzz|zzzz|{zzyyzzyyzzzy{zyzzyxxzyzxzz{{zz{yxzzzyyzy{zz{{zz{z{xyzzzzzzzyyyzz{zzy{yzxzzz{{z|zyzzyyyyzyzz{z|z{yzzyyyzzzzzzyz{z{yyyyzxzyzzzzz{zyyzyyyzz{yz{yzz{yyzyyyyyyzzzzzzxyxyyxyyyz{{z{zz{zyzzzyzyyzzzzzzzzyzzyzyyyzyzzzzzyyyyzyzzz{z{z|zzyzzzzzyyz{{z{z{{zzyyyy{yzzyzzzz{zyzzyyzy{z{zy{{|zyzyzzyyyz{zzzz{zzzzyzyzyzz{z{{z{yyzzzyyz{{{{{zzzzyyzzzzzz{z{zz{{zzzzzz{zz{{{{{{zzyyzzz{y{{|zz{{{yzzz{yzz||{{zz{zzzzy{zy|{{z{{||z{{zzzz{z{z{{zz{z{{zzz{z{{|{{{{z|z{z{zzz{z{{z}{zzyzzzz{z{z{{{{z{zyz{zyz{{{z{z{z{y{y{zzz{z{{z{z|{{{yzzzyyzzzz{z{zzzzzyzyz{yzz{yzyzzyyyyzyz{zzyz{{zyyyyyyyyz{zz{z|zyyzzyyyy{{z{zz{zyzzzyyzz{{{zzzzzzyxyyzxzz{{{zzzzyyzzzyyzzzy{zzz{yzzzyyzzy{zz{yyzyzyyzzyyzzzzz{yyzzyzyyzzyzzzzzzzzzzzyzyyzzy{yyzzyzzyyyyyzzzyz{zzyyzzyzxz{zyzzz{zyzzyzyzzzz{zyzzzzyzyzyzzzzzzz{yzyyy{zzzz{{zyzzz{y{zzzzzzzz{{z{z{zzyzyzz{z{{{{{{zyyzzzzzzzzzz{{zzyzyzzyzz{{zz{{z{zy{zzyzz{{zzy{zzz{|zzyy{{z{zzzyzyzyyzzy{{z{z{z{{zz{zyzz|{{z{|{{zz{zz{||{{{z{z{{zzzzy{zz{zzzz{z{{zzzz{|z{{z|{z|{|zz{z{zz{z{{{|{{{y{{yzzzz{{z|{{{{{{z{yyz{{{{||{{zzzyzzzzzz{{{{{{z{zzz{zyz{{{{zzzzzzzzzyzyy{{zzzzyzyyyyzyzz{yzzzzzyzyzyzyz{{z{zz{zzzyzzyzzzzyzz{zzyzzyyzyzzzyyz{{zzyyyzzyzz{yzzz{zzyzyzzzyy{zzzz{zzyyyyzyz{zzzz{zyzyzxyyyzyzzyzzzxzyyyyyyzzz{z{{zzyyyyyz{yz{zz{{yzz{yyxyyzzzzzz|zzyy{y{zyzz{yyzzy{zyzyzzzy{zzz{{zyyzyzzzyzzzz{{{zyzzyzzzzz{zzz{{{zzzyyzzyyz{{{{{{yzyzyzzz{zzzz{|{zyzzzyzzzzz{z{zzzzz{yyyz{{{{zz{{{yy{{zyz{z{{{{{zzzz{zzyzz{{{|{{zz{zzzzyz{{{z{{{|zz{zz{zz{{{{{{{{{yz{zz{z{|{{{{{{zz{{y{{{{{{z{{{||zz{zzzy{|{z{z|z{z{{z{zz{{{y|{{{{zyzyz{{{z{{{|{|{z{zzz{z{zz{{{||{{zx{zzzz|{{{{{{{{z{zzyzz{z{{zzzz{zz{zzyzyz{||zzzzzy{yzyz{zzzzyzzzyzzyyyzzz{{yzzzyzxzyyxzzzzz{{zzyyzyyyzzzz{zz{{zzzyzyyyy{zz{{z{zyzzzyyy{zzzzz{{zy{zyyyx{yzyzzzzzzzyyyyy{zzzzzzzzyzzyyzwy{|zzzzzzwzzyzzzy{{zz{zzzyzzyyyzzzz{z{{zzzzzzzzyyzzzzzyzzyyyyzyzzzxzz{zzyzzyzyzyzzz{zz{zzzzzzyzz{{zzzz{{zyz{zy{zzzzz{z{|zzzzzyyzy{{z{{{zzzzzyyzyz{{{zz{zzyzzzyyzz{{{{{{{zyy{zzyzzzzz{{z{zzzzzyzy{{{|{z{zz{zzzz{yz{{{{{|{zyz{zyzzz{z{{{{z{zzzzzy{{{{{{{{|{zz{{{z|zz{{{|{{{{zz{{{zz|z|{{{{{zz{zzz{{{zzzz{{zzzzzzyz{{|{{z|{z{{zzzz{z{y{{{z{z{zzyzzy{zz|{{{{zzzzyzzz{{zy{||{{zz{zzzzzz{{{z{{zzxyyyzyz{{z{{{zzy{zzyyyzzzy{zz{{y{yyyyy{yzzzzzzzyyyzzzyyzz{yz{z{zzyyyzyyzzz{{{zzzz{xyzzyzzz{zyzzyzyyyzyzzzzyzzzzyzyyzzzxz{zz{z{zzyxyzzyzz{zyyzzyzzyyzxyzzzz{z{yyzzyyyyyzyzzzz{zyyzzzzyzyzzzz{zz{yzyyyyzy{{zyz{zzxzyzyzyzzz{zz{|yyyzzy{yzz{{z{z{zx{yzzyy{zzzzzzzzyzyzyzzzz{{z{{{zyzzzyzzz{{{{z{z{{zzyzyyzz{z{zzz{zyzyyzy{zz{z{{{zzzyzzzz{{z{z{{{z{z{zzzz{{{{{{||{yz{zzyz{{|{z{{{{yzyzz{y{|{z{{|{zz{zz{{{zz{{z{{||zzzzzzz{|{{z{{zzzyzzzzzzz{zzzz{{zz{zzzzzzz{{||{{zyz{{zzzz|{{||{zz{zzzzzzzzzz{{z{zzzzzzy{yz|{zz{yyzzzzzzzz{{zzyyzyyyyzyxyz|{zzz{zzyyyyzyzzzzzz{zzyyyyzyyyyyzz{{yyzyyyyyzzzzzzz{z{zzxyyyyzzyzx{{{yyzyyyyyxzz{zz{zzzyyyzyyzz{yyzzzyyzzyyzyzzzzzzyzzyyxyyzyzzz{zzzzzyyyxyyzzzzzzzzzyyzyxyyzz{z{{{{yzzzyyyzyyzzyzyzzyzyyzyzy{yzzzz{zzzzxzzzyz{zzz{zzyyzyyxyzzz{zz{zzyyyzyyyz{{zyyzz{zzzyyy{z{zz{{z{{yz{yzyzyzzzzz{zz{zzxzzzz{{zyz{zzzzy{yyzzz{zy{z{z{yzyyzzzzz{{{{zzzzzzz{zy{{{z{|{|z{{zzyzy{{|{{z|{zzz{{zzz{{z{{z{{zzzzyzzzzz{zzz{{{zzz{z{zz{{z{{z{{z{yzy|y{{|{|z{{{{{zyz{{zz{{{z{|z{zzzz{{zzzz|{{|z{zyzyzyzz{{zz|zzzy{yz{y{{z{{zz{zzzzzyyzzzzzzzzyxzyyzxyyyz{zzzyzyyzzzyyyz{yyzzzz{yyyyzzyz{zzzzzzzyzyzzxzzzzzzz{zzy{yyzyyzy{yz{z{yyzzyyzyz{{zzzzzzyzyyyzy{zzzyzzzy{zzyyzz{zzzyzzzyyyyzzyyyzzy{yzy{yzyxyyyzyz{{zz{yzzzyzzyz{yzyy{{zyyzyyzyzzzz{z{zzzyyzzzyzzzzzzzz{zyzyyyyzzzzzz{{zyy{yyyzy{{z{zy{zzz{yzzyz{yzzz{{zyzzyzzyzzzzz{{{zzyyzyzyz{zz{{{zzzzyzyzzz{z{z{{zzzyyzzzzyzz{{{{{zzzzzyzyzz{{{{{{zyzzyzzzz{{{{{||zzzz{zyy{z{{{z{zzzzzz{zz{{|zz|z|{zzz{{zzz{zyz{z|zyzyzzzz{{{|{{{{{{zz{zzz{z{z{{{|zzzy{yzz{zz{z{|{z{z{zzyz{{{{{|{{{|{zz{zyzzzz{|{{{{zzzzzyz{{{z{{{zzz{zxyyzz{{{zzzzyyyyzxyyzzzyy{{xyzzxyyzzzzzz{zzzyyxyzzzzyzz{z{zzzz{zzyyzzyzyzzzzyzyyyyyzz{zyzzzzyzyxzyyyy{zy{zyzyyxy{zyyzzzyzzzzzzyyzzyzyyzzzyzyyzyzyzzyzz{yyzyyyyyyxyyy{zzzzzzzzzxyyyyyzzzyyzzzyzyzyxyyyyyyzzyyzzyyyzzzzyyyzzzzzzxzyyyzzzzz{{zy{yyzzyzzzzzzzy{yyyzzyzyyy{yzzzzzyzzyzy{{{zyyzz{zyyzzz{zzz{z{{{{zyyyyzyyzzz{z{z{{zyyzzzyz{{z{zzz{yzz{zzz{y{|zz{{zyzzzy{z{zzzzzz{{{zzzzzzy{{{zzzzzzzzyy{z{{{z{{zz{z{zzyzzzz{{{{z{{yyzz{{{z|{{yz{{zy{zzz{{{{z{{{{zzyyzy{y{{{zzz{||zzzyyz{z{{{zzz{z{z{zzyzzz{{z{{|zzyz{yzz{z{z{{zz|zzzzzyzzzzzzzzzzxzyzyyxyzz{zxzzzz{yzzxyyyyzzz{{zzyzyyzzy{zzzzzzyzyyzyyyyzyzzzy{zzyxyyxzyzyz{zy{{yyzyyyyzzzzzzzzzzyzyxyzyzyzyz{zyyyzzyzyz|yzzyzz{yyyxyzyyzzz{yzzzyyzxyzyzyzzyzy{zyyyyyyyyzyzzzzzzyyzyzyyyyzzzzyzzyzyyzzyzxzyzzz|yzyzyxyzyyzzzz{zzyyzzzyzyzzzy{zzzzzzzzy{zz{zzzz{{yxzyyyyzzzzzzy{zzyzzyy{yz{zz{{zyzzzxyzzyyz{zz{zzzyyzyzz{y{{zy{|zzzzyzyyy{zz{{{{zzzy{z{{z{z{{z{z{zyz{yzyxz{{z{z{{{y{yzzy{z|z{{{{|yyzzzzzzyzz{{{{{{zz{{zyyzz{|z{{{{y{{yzzz{zz{{{{zzxz{zzzz|z{{zzz{{zz{zzzzzy{{{z{zzzzzzzyzz{zzz{{{{zzzzzyzzz{{z{zzzzyyzzzzz{{z{zzzyyyyyyzyyzyyzyzzzyyyyyzyy{zzz{z{zyyyyzzyyzzyzz{{yyzyyyyyzzz{zz|{zyyyyyyyzzyzy{zzyyzyyyyyzzzzz{zzyyyyzxyyyzzzyz{zzzxyxyyyyyzzzyz{yyyzyyzyzy{yzzzzzyzzyyyxzzzxzzyzzyyyxzzyz{zzzz{zzzyyyzzyyzzzyzzzzyzyzzyzzyzxzzyzzyzyzzyyzyz{zz|zzyyy{yzzzzzzzzy{zyzzzzzyzz{zzzz{zyyxyyzzzz{zzz{z{zzzzzyzy{{{z{yzyzzyyzzzz{{{z{z{{zzyxzzzzz{z{{{zzzyyzzzzz{{{{z{{z{zzyzzz|{z{{{{{zzzzzzyy{z{zyz{{{yzzzyzy{z{z{z{{zzzyzyzz{z{|{|{{z|z{zzzzz{{{z{z{{zzzzz{{{{zzz{{{zzyzzzzz{{zz{z{|{{yz{zy{{{{zy{{{zyyy{{zyz{{z{{{{zzzzzyzzy{{{zzz{zyzzzy{yz{z{z{z{yzyzyyyxzzzzz{zzzzzyyyyyzzzzzzzzzyyzyyzyzyzzyzz{yzzzzyz{{z{zz{{{zyzyyzyy{y{zzzy|zyzyzxxyz{zzzzzzyzxy{yyyyzzzyzzyzzyyzzzyzz{zzz{{yxzzzyyyyzzzzz{zyyzzzyzzzzzzzzy{yyyyyyyyzz{{yyz{xyyyzyyzyzzyzzzzzyzyyzzyxzzyz{{zzyzyzzzyyz{z{{{zzyzzzzz{yzz{zy|{zzzzzy{y{zzzzz{zzzzzyzzyzy{z{{zzzzzxyyyzzz{{{z{yyzyyzzzxzzzzzzzzzzzzyzz{{{zz{{zz{{zzzzzzz{{{{{{|zzzzzz{zzzz{zz{{z{yzzyzzzz|z{z{{{y{{zz{zz{|{z{{{{{zzzy{z{{|{{{|z{yzzzzzzz{{{{{z|{z{zz{y{z{z{|{{{{zz{zz{|zz{{z{z{zzzyyzz{{{{zzz{{zzy{z{zz{z{{z{|zyzz{yz{yy{z{{{zzy{zyzyyy{zz{zz{zyxzyzzzyyzzzzyz{zyzyyzyz|zzzz{z{yzyzzyzyzz{zzz{{zzzyyyyyzyzzyz{{zyzzzyyyzy{yzzzzyzyyyy{xz|zyzz{yzyzzyyyyzy{z{yzzzzzzyzxx{{zzzz{zxxzyyyzyzzzyzyzyzzzxyzyzzzzz{zzzyzyyxzzyyyzzyz{zzzyzyxzyyzzz{{{yxyyzyzzxz{zzz{{{zyyyzzyzzyzzz{zzzy{y{zzzzzz{yz{{{y{zyyzzz{yzyzz|yyzzyzyzz{{{zzzzzzzzzz{z{{z{z{{{yzzzzzz{{zzzz{{zzyzy{zyz{{z{yz{z{zyyzyzzyz{{{zz|{zzzzyzz{{{|z{{{zyzzyzz{{z{{{z{{|yzyzzzzz{{z{||{{z{{yyz{zz{{z{{{{{y{zzzz{||{{|{z{z{{zzy{{z|{{{{{{{z{zzz{z{z{z|{{zzz{{zzy{{{z{{{{{zyyzzzz{{{{{{{zzz{{{zyzz{zzz{{{y{yzzy{zz{z{zzz{zzxzyyzyz{zyzzzzzzzzyyyyzz{zz{{zzzyyyyzzz{zy{{{yzzyyzzyzzzz{zy{zzzzyyyyyyzzzyz{{zzzyzzyyzz{zz{{zzyyyyzzyzzzzzzyzzzzzzzzzzzzzz{yzzyyzzxzyyyzzzz{zzyyzzzzzyzyz{yz{zyzzyzyyy{zzzzzzyyzyyyzyyz{yzzzz{zyyyyzzzzzzzz{{zy{zy{yxyz{{zz{{yyzzzzyzzzzzyzz{zzzyyyzyzz{{{z{{zzzzxyzyyz{{{z{{zzzzzyzzz|zzz{zzzzzzzzzyz{{z{y|z{zzyyzzz{z{{{zzzzzyyzzzz{{{{{zz{z{zzzz{z{z{z{{{}zzzzzzyzz{{zz{z{{zzzyzzy{{zz{{{{{{{{{{zz{{{{{{{z{z{{zyzzz{{zz|{{z{zz{yzy|z{|{{{{{zzzzzzzzz{z{z||{{yzy{z{{z{{{{{{{zzyzzzzz{{{z|{|{z{z{{zzz{{{{{|{{z{zyzzz{zzzzzzzzzyyyzxxy{yyzzz{zzyzzyyyzzzz{y{{yxyyyyzyz{zzzz{{yyzzyxzzzz{zzzzz{zzyyyyy{zyzz{zzzyzzzyy{zzz{yz{y{yzzyyyzyzzzzz{yxzyxzzzyzyyzy{zzyyxzyyyz{zzz{z{{yyyyyyyyzzzyyzz{zzzzyyyzzz{zzz{zyyyyyyzyyzzxyzyzzyyzzyyyzzzzzzzzyzzzzzyyzyzzzz{{zy{yzzyyzz{{{z|zzz{zyyzzzz{zz{z{yzzzyzyzzzzzz{z{yyzyz{yyzzzzz{z{zzzyzzzyzzz{{z{{zzzzzzyzzyzy{{{yzzzzyz{yz{{{{z{z{z{zzzzz{z{|{{{{zzzzyzzz{z{{|{|{|zyzzzzy{{|zz{|{yzz{zyz{{{{z{{{||{yzzzzzz{z{{{{{|z{{{z{{{{{zzz{{zyzzzzyz{{z{{{{|{zz{{z{z{{{{{|zzzz{y{z{zz{{{zzzz{yyzzzzzz{zzz{{zz{z{yyzz{zz{zzyzxyyzzzzy{{zyyz{zzzzzyyyyzzzzz{z{zzxyzyxxzzzzz{z{zyzyzyyy{zyzyyzzzzyzzyyzyz{{{zzzzyzyzyzyzzzzyz{zzyzyzzzyzzzzzyzyzyyyyzyy{zzzyyzzzxzyyzyyzzzzzz{yyyzyyyyzzzy{{zzzzyzzzzzzyzz{zyz{zyzyyyzzzzyzyzz{yyyyzzxzy{z{yz{{zyzzzzzyzyyzz{|{zyzyyyyzzzzzzy{zzy{yzyzzzz|zz{z|z{zzyyzyzz{{{z{zzyzzzyzx{z{{z{z{zzyyzyyyzzz{z|zzzzzzzzyy{zy{{zyz{zzyzzzyzz{|{|{{zzzzz{zzzzz{z{{|{zz{zzzy{z{z{z|{{z{zzzzzyz{zz|{|{yzzyzzzz{z{{{{{{zzz{{zzz|{|zz{{{zzzzy{z{{{{z{{zzz|z{zz{zz{{{y{{{z{{{{{zz{{{{z{zz{zyyzzzzz{zz{{|zzyzzzyzzy{{{{zz{z{zzy{zzzyz{z{{zyzyzyyzyzzzzzzzyyzyzxyzyzyzzzzzzzyyyyzyzzyyzz{zzzzzzyyzzzzzzyzyyyzyxyzzzyzz{{z{zyzxyyyyyzzzz{zyyyyyzyyyyzzyzzzzzzyyzzyzzy{zzz{zzyyyyyyyyyzz{zzyzyxyxyyzz{zyzzzzzyzyzyyxyzyzz{zzzyyzyyyxyzzzzz{zzzyzyyyxzzyzz{{{zyzzzzzzz{zz{zzzyzyy{zzzzzzy{zz{yzyyyxx{{zzzzz{z{yyyyyzyz{{z{z{yzx{zzyzzz{zzzzzzzyyzzzzzz{z{z{zz{zzyyzyyzzzzz{zz{zzy{zzyz{{{{{{{yzyzyzzyz{zz{{||{zzyyzyz{{z{z{{z{zzyzzzz{{{z{{{{{{yzzzzzzzz{{|{{{{zzy{zzz|z{{{{{|zzz{zz{{{z{z{{z{zzzzz{{{{{{{{|{{zyyzzzzz{y{{{{{zzzzzzzyz|{zz{|{{zzzzzz{z{zzz{{zzzzzzyyzz{zyzzzzzzxzzxyyzzz{{z{zzyzyzzxyzzzzz{z{zzzzyzyyyyz{{{zzzyzzyyxzzz{zzzzzzzyyzyyyzzz{zz{yzzyyyy{yy{zzyz{{zyyzyyyzzz{zzyyzyzzyyyzyzy{zz{zzyyxyzzyyzz{zz{{zzyzyy{xzzz{zz{zzyyyyzyyyzyyzzzzzzzyyyyyyyyyzzzyzyyyzyzyyzyzzz{zzyyzyzzzyyzz{{z{zyyyyzyyyyyzzzzz{{zyzyzyyzz{zz{{{|zzzxzzzyz{{zzzzzzzyzzzzy{{zzzzzzzyyyzyzzy{z{z{zyzzy{zzzzz{zz{zzzzzzzzyy{{{{{{{{zzyz{y{zz{z{z|{{zzzz{zyy{zz{{z{z{yzzzzzz{{z{{|{{{z{{z{zzz{{z{|{{{zzz{zz{z|{{z{{zzzz{zzyzz{zz{z{{zyzz{y{z{z{{|{{||zz{{zzz{|{{{{z|zzzyzz{z{zz{{z{|{zy{{yzzz{{zzz{zyyzzzyzz{z{z{|{zzzyzyzzyy|{{zyyzyyyzyyyyzyzz{zz{zyy{zzy{zzzzzz{{yzyyyyzyz{{{zyzz{zyyyyzyzyzzz{{zzyzyyyzyyy{yyyz{yzzyzzzyzzzyyzzyzyyyyzzyyzz{zzzzyzyyxyyxzzzzyz{zzzzyyyyzyz{yzzzzzzzyy{yyzzyz{{z{zyzzzyyyzz{{yzz{zzzzyzyyzzzyzzz{zzzzzzyzzy|zzz{zyzzzyyzzz{zzz{zzzyz{zxzyz{{{yz{zyyzzzyzzzz{zz{{zzyzzzyyzzz{zz{{zzzzz{{zyz{{zzz{{{zzzzyyxz{{zzz{{zzyzzyzzzz|{{|z{zzzzzzzzzzz{z{{{zy{yzyzyz{zzz{|z{{{{zyyz{{{z{{|{{{zzzz|z{{{y{{|{{zzzy{zzz|{{z{{{{zzzyyzz{{{{{{|{|{zzzzzz|{||{|{|{zz{{zzz{{z||{|{zzzzzzyz{{zz{{{{zzz|zzzzzzzz{z{z{yzyyzzzz{z{y{yy{yyzyzyxzzzzyzzzzyxyzzzy{zyzyzzzzzzyyyyyzzzyz{zzyyyyyyyyyzzyy{{zzzyzyyyyyyzyzyzzzyyyyyyxyzzzyzzzzzzyzyxzzyzzzzyzzzzzxzyyyzz{xzzyyzyyzyyyzzzzzzzyzyzzyxyzzyyy{yzzyzzyyyyyyzzzyy{zzyyzzyzxxzzyzz{zyzyyxxyyyzzyzyyzyyyyzyyyzzyyzzz{zyzyzyyzxz{zyz{z{yzyyzzy{zzzzz{{yyzxzzxzzz|zzzzzzzzyyyzyyz{{z{zzyyzzyyyyzzz{z{{{zyzyyzxy{zzzzz{{zyyzzzyzz{z{z{{{zy{zzzzz{z{{zz{{zzzzzzzyz{{zzz{z{zyyzzzz{{zzz{|{zzzzzzzyz{{z{{{{zzzzzyzzzz{zzz{{z{zz{zz{{{z{{z{{{yzzz{zyz{z{y{z{{zy{zzzyz{|zz{|zzyzyyzz{{zz{{zz{{y{zzyzyzzzzzz{zzzzyzyyyzzzzzzzzzyxyyyyyzzz{zyzzyzxyyyyyz{zy{{{zyyzzy{zx{zyxzzzzyyzzxyxxyzzyzzzyzyyyyyyyzzzzzzzzzxxyzyyyyzzzyz{zyzyyzyyyyzzzxzzyzyzzyyyxzyzyyzyzyxyyzyxyzzzyyzzyzyyyyzyxyz{yzyzzyyzzyyzyzyyzzzyzxyyyzyyyyzzyyzz{yyyyyyzzyzyyy{yzzyyxyzyxzyzyzz{zyyyyyyzzzz{xzzzzzzzyyyzyzzzzz{z{yzzyyzzyzz{zzzz{zyzyyyzyy{{zyz{zyzyyyyzzz{{yzzz{yyyzzyyyzzzz{{zzzzzzyyyyzz{{z{{{y{zzzzz{{z{{{{z{yzxzyzyy{{{{z{{zzyzyzzzy{{{{{z{{zz{yzz{zzzzz{z{z{zzzyy{z{{{{{|{z{z{zzzyz{{zz{{z{zzyzzzzzzzz{z|{{z{zyzzy{zzz{z{{zzzyyzzzzz{{{{z{zzzyzyy{yz|zz{z{{zzzz{yyz{{zzz{zyyyyyyyyxzy{yz{zzzxzzyyyyzzzzyzz{zyzyzyzyzzyyy{{zzyzxzzyyyyz{zz{{zzzyyxyzzzzzz{{{yyzzyyzyyzzyy{{zzyzxyyyyzzyzy{z{yyyyyzzyzyzzzz{{zzyxzyyxzzyzzz{yyyyzyyxyyz{{zyzzyyzyyyyyyy{zyzzzzyyzyxyxyyzzyzz{{yzxzyyzyzzy{{z{zyyz{zyx{yzzzzz{{zyyzxyzz{zzzzzz{yyzxzyzzz{zz{z{zyzxyyyz{zzyz{z{zzzyzyyzzzzzz{{zzzyzzyzzy{yzzz{zzyzzzyz{{zz{{z{z{zzyzzzzz{{{z{z{zzzzyzzz{|z{zz{{zzz{xzyyz{z{{{{zzzzyyzzzzz{|{{{|zzz{yzz{{z{{z{|{{{{{z{z{{|z{{{{zzzzzyzzzz{z{z{z|zzzzy{z{{{zz{|{}zzyzyzyzz|{zyz{zyz{yzy{zz{{zzz{{zzzzzyzyz{zzzz{{zyzy{zyyz{{zzzyyyyyyyyzyzzyyzzz{yyy{yyyyz{zz{zz{zyzyzyzxzyyyyzzyzzxyyyyyzzzzyy|zzyzyyxyyzyzzzyz{zzzyyzyxzzyyzzyyyzyzxyyyzy{yyzzzzyzxyzyzzyzzzzzzzxyyyyyyyzzzyyzyzyyyyzxyyz{{zy{yxyzzyxyyy{zyyz{yzzzyyyxzzyyzzzzzyzzzyyxzyzyz{{zzzyyzyzyyzyyzzz{{{zzzyyzzz{z{zz{zzyyzyzy{zz{yzz{{zzzyyyyzzz{zzzz{yzyzyyyy{z{zz{zzz{yzzyzyzzzz{{zzyzzzyyzyzz{z{z{|{zyzzyzy{z{{{{{{zyyzzyyz{{z{z{{{zyzzzxyzz{{|{{{zzz{{{zzz{|z{{{{|zz{{zzzzz{{y{{{|{zzzy{zz{{zzz{|{{{zzzzzz{{{z|{{zzz{{zzz{zyz{{{{{zzyzzzzz{zz{y|{{|z{yzy{z{zzz{{{z{zyzzzzyz{z{zz{zzyzyzyzz{z{zzzzyyzxzzyyyy{yzzz{zzzyyzyxyzz{{zz|{zyyzyyzyyzzz{zzzyyyyyzzy{y{{z{zzzyyyzyyyzzz{zzz{yyzyzyzyz{zyzzzzyzyzyzxxzzzzzz{zyzyzzzyyzzyzzyyzzzyyzyyzzzzzzzzzz{zzzyyyzzzzzz{zzxzyyzyzyzzzzz{zzyyzzzyyy{x{yz{z{yzzxzyzyzyzyzzzzzzyzzyyzz{{zz{zzzzyzz{zz{zyy{{{yyzzzyy{z{zzyy{zyzzzyyzzzzz{z{{zzzzzzzzzz{{{{{zzzzzzzyzzzz{z{zzz{zyzyzxz{z|z{y{{zzz{zzzz{{zz|{{zzzz{zz{z|zy{{z{|zzz{{yzzz|z{{{{{|zyzzzz{|{|z|{|{zz|z{zzzz{{{zzz{|zzzzzzzz|{{{{{{{{{{zz{zz{{|z{{z{yzyzz{z{{|{{{|{{{zz{zzzz{z{zz|{{z{yzzzyyz{z{{{{{z{zzyz{y|zzzz{zyzzyzyyzzzz{y{zzyzzzzzyyzz{zzzz{yzyzyyzyyyyz{z{{zz{yyzyzzyz{zy{{yzyzyyyzz{zyy{{|zzzxyyyyzyz{zzz{yyyxyyyyzzzz{{zzzzzyzyyzzzzzyzzzzyzzyyyzyzzzz|zzyzzyyyyz{z{z{yzyzxyyyzzyzyzyzy{zzzzzzyyyz{{zzzz{zyzzz{yz{zz{zzzzzzyzzyyyz{zzz{y{{y{zzzyyzzzzyzzzzyzyzyyzzzz|zzy{{z{zyzzzz{zzzz{{xy{zzzzyz{{z{z{{z{zyzzzzz{{{z{z{zzyy{zzy{zzzyz{{zzz{zyyzz{{yyz{{zyyy{zyz{{{{{zz{{zzzzy{z{{z{{{|{zzzyzyyz{{{y{|z{{yzz{zzz{{|{{{|{zzzzzz{zz{zzz||{{{{zzzzzz|{|z{{{{y{zzzzz{{{{z{{{zzyyzz|z{z{{{{|{{zzzzzzz{{z{{{{{zzzyzz{z{{|z{{{|zzzzyyyy{{{z{z{{zzzzyzzz{{{y{zzzxzxxzxxxzz{xzyz{zyyyyxyyzyzzzzz{zyzzzzzx{z{z{zzzzyzyzzwyzzzzyzzzzzyyyyyyzzz{yzyzzzzxyyyyz{zzzzzzyyyyyxyyzz{zzzzyyyzyyzyyyzyzz{yzyxyxxyyyxzyyzyyyyyyzyyxzyzzzzzzzyzyyzyyzyzyzzzz{{yyxyzzzyyzyz{zzzzyyyyyzxzyzz{y{zyyyzyzyzy{zzz{{yyyyzyzzyz{zyzzzyzyzzxzyzzzyyz{zyyzyyyzy{zzy{zzzzyzyyzzz{zz{{{yzzz{yyzzzzyzy{z{zzyzzyzzy{{{zz{{{yzzyzzyzzzz{z{|z{z{zyy{z{zz{z{|zzzyzzyyz{zz{zz{{{yzzzzzyz{z{{{zzyy{{z|zz{{zy{{{{z{yzyz{zz{{{{z{{{zz{z{{{zz{{{{{{{yzy{zyyzzz{{z{|{zzzzzzz{{zz||{{zzzzz{zz{zzzz{{|{zzzzyyz{{{{zzz|zz{zyy{zzzz{z{z{yzyyyyzxyyzyzyzyyzyyyyxyyz{yzzz{zzzxy{yyzyzy{zzzzyyzyyxzz{zzzz{{zyzyyyyyyzzzz{z{zzzyyxyxyzzzyzzzyzyyyyyx{z{zyzzzzyyzyzzzzyzzyzzzyyxyyyyyyyz{zzzzyy{yyzyyyzzz{zzyyyyyyzyyy{zzzz{zzxzxyyyyyzzzyzyzzzyyzyzyz{zxyyz|yyyzzzyyy{{zzzzzzzyyyyyz{zz{zzy{zzzyyyzz{zzzz{{{zyyzyxzzz{{zy{z{zxzzyyzzzz|zzz{zzyzyzyyz{{zzzz{zzzz{yyyzzzzy{zzzyzzzzzyyzzzzzz{zzzzzzzyzz|y|z{z|zyz{yyyy{{zyzz{z{yzzzzzz{{|zy{{{zy{zz{{{zz|{{{|zyzzy{zzzz{{{z{{z{{zyyzzy{{{{z{{zzzyzzyyzz{{zzzzz{zyz{zzyz{zzzzz|zzzz{zyz{zz{zz|{{{zxyxzzzzzz{{{zyzzyzzzzzzz{{{zyzzyxzyzyzzzzzyzy{{yyxyxzyzzzz{zzzyyyyyyyyzzzzy{zzyyyyzyzzzzzz{zzzzyxyyyyzzyzyy{{yyyyyyyyzzzzzzzzzzyyzyzzzzzzzzyzyzyyyyyzzzzzzyzzyzzyyyyyzzzzzzzzzyzzyxxyyzzzy{{z{zzyyyzyzzzzz{z{yyyzyzzxxyzzzzyzyyyyyyyyyzzzzzyzzyzzzzzzyzy{zz{zzzxz{yzyz{z{zyz{zyz{yxyz{zzzzz{{yzzzzzyzzzzzzzz{z{zyyzyyzz{{{{zzzz{yyzzxz{z{zzz{yyzzyyyzz{y{zzzy{zzz{zzzzz{{y{{{zzzzzzzz{{z{{z{|yyzz{yzy{{{z{{{{{zzzzzzz{{{zz{zy{yzyz{zzzz{{{{{z{zzyzzz{z{yz{{{z{zy{z{zzzzz{{{{z{zzyz{zz{{{{{z{zzz{zzzyzy{z{{|z{{zzyzzyzzz{{zz{zzzzzzyzyz{z{{|z|yzzzzyyzzzzzy{yzyzzyyzzzzzzzzzzzyzyyyxzzzyz{{{yzyzyyyzxx{zzzzzz{yyzzyxyzzzzzzz{yzyyzyzzzzyzzyzz{y{yzyzzyyzzzz{zyyyzzyyyz{zzyyzzzzyzyyzzyzzzyzyz{yyyyyyyyyzzyz{zzzxzzy{yyzz{zz{zzzzzyyyzyzzz{zy{{zzyyzyzyyyyyzzzzyzzzyyyyyzzzzzzzyyzzzzyyzz{zzyzzzzxzzyzyzy{zzz{zzy{zyzzzzzz{z{z{yzzyyyyzz{{zzz{zyyzyzyzyz{zzz{{zzzzyyz{yzz{{yz{zzzzzzyyzzz|{z{zzzzzzyzy{{{{{{{|zyzzyzyzy{zz{z{||zzzzzzzy{z{{{z{z{zyzyzzy{{{z{zz{{zz{{{zzz{z{{{{|z{{{y{z{{|{zzz|{|z{zzzz{{{{z{zz{{zzyz{zzz{zz{||{zzz{{{z{{zzzz{z{zz{zzyzyzzz{z|{{zzzzyzzz{{{z{z{yzyzyyzzzzz{zz{zzyyyyyzyxxzzzzzzyyyzyzyzyzyzzy{y{zzyyyyzzzyzzzzzzzyzyyyxyyyzzyzzzzzyyxyxxzz{zzzyzzzyzyzzxyzyzzzyyzyzzxyyyzzyyzzzzyyyyzzyyyxy{yzz{yxyyyzyxzyyzzzzz{yzyyzyyyzyzzz{zyyzyyyzyyzzyz{zyyyxyzyyyyyzy{z{zyzxyxzzyzzzzz{yzyzzzyzyy{zz{zzzzyyyxzzzyyz{zzzzzyyyyzzyzz{z{zzzzyzzyyyyyzzzy{z{yzzzyzzzzyzzyzzzyzyzzzzyy{zzzzzz{zzyzyyzy{z{z{zz{{yzyyzzz{{{{z{{zzyzyzzzzzzyzzzz{zzyzzyzzzzzzzz{{zy|z{zzz{|{{{z{{zyzyzy{zzz{{{{{{zzz{{zzyy|{{{z{{zzzzzzyzz{{{{{{zzzzyzzzzz|{{z|{{zzzyzzyy{{y{|{z{z{{zzzyyzzy{z|{{zzzyyyzyzzzzz{zzzxzzzyyyyyz{zyzyzzxyyzyxzzz{yzzyzyzxyxyyyyzz{zzzyyzyyyyyzyzyzzzzxyzzyyyyzzzyzz{zzzzyyyyxyzzzz{yzzyzyyxyyzzzyzzz{yzyzzyyyzyyzyyzzzyxzyzyzzzyyyyyzyyyyzyyyyzzzzzzzzxyyyzxyyyyzyzzzyzzyxyxyzzzzzy{{zzyzzyyzyyyyzzyzzyyyyyyyyzzzyzz{yzzyzzzyzyz{yz{{yyzyyyyyzz{zyzz{zz{zyzxzzzzzyzzzyzyzyyzyz{zzz{{{yyyzzxzyyzyz{{zyzzzyyyyzz{{{zz{zz{zz{yzzz{zzzzzzzyzyzyz{zz{{z{zzyzzyzzzyz{{{zz{zyzyzyzyyyz{z{{{{{yzyyzzy{z{{{z{{zzzzz{zzzz{zz{{{{zyzz{yzz|{{{{{{zz{zyzzz{{{z{|z{zzzzyzzzz{{{{z{{z{zy{{zzzy{z{{{|zzzyy{zyz{{zzz|zzzzyyyyz{{z{z{{zzzzyzzxzz{{{yzyzzzzyyzyyzzyy{yzzyzyxyyzyyz{z{{zzzzxzxyyy{zzzzz{{zzzyyyyyy{{{yzz{zzyyyzyxzzzyzzz{yzyzzzzyzzzzzzzzzzyyyxyyyyzzzz{yzzyyyzxzzzzzz{zzxzyyzxyyz{{{zyz{zyyyyyyzyzzzyzz{yyyyxxyyzzz{yz{{zyyyyyyyyzzyzzz{zyyyzyyyyz{zzzz{zyzyz{zyzy{{zzzzzyzyyyzzy{yzyzz{zyyyyzyyzzz{zzzyzzyzyyyyzzzyyzz{zyyzzyzyzz{y{{{yzzyyzyzyzz{z{z{z{zyz{yyyzzz{z{zzz{zyzzz{z{zzz{zzzzzzzzzy{{{zz{z{{yz{yyzzz{z{{|{{{yyyzzzzz|z{z{z|zyzy{zzzzz{z{{z{z{zzy{z{z{{{{{|{zyzzzz{z{zz{{z{zzzzz{zzzzz{{{{{{z{yzz{zzy{{||z{zzzyyzzzzzz{{z{z{z{zzyzzyz{zzy{{zzyzxzyzyzzzzy{z{yyzyxzzyzzzzzz{{zy{yyzyzyz{zzzz{zzzyzyzy{yzyz{{zyzzzyyzyyyzyz{{{zzyyyyyyzyyzzz{{zzzzyzyyzy{zy{{zzyzzxyyzzz{yz{{zyyzzzyyzy{zz{{zzyyyyzyyzz{zzyzzz{{yyyyyyyz{zz{z{{zyzyyyxyyz{zzz|zyzyyxyzyz{yyzyzzzzxzyyyzzyzyz{{yz{yzz{y{zzz{{z{yzyyzzzyzz{zz{{{zzzyyyzz{z{yz{z{zzzzyzzzz{zzzyzyyyzyzyzz{{{{{{{z{zzyyzzzz{{zzzzzzzzzzyzzzzzzz{z{{zyz{zzz|{{{{{{{{{z{z{zz{zz{z{}{{y{zzzzzzz{{||{{zzzzzy{z{{|z{{{{z|zzzzy{z{{{{{{|{zz{z{zz{z{{{|z|{{{yzz{{{{{z{{{{zz{{{zz{z{{{{|{||{zzzzz{zz{{{{z|{zzyzzz{z{y{{{{|zyzzzzzzz{z{{{z{{y{yzyzzzzzyzzzzxyyzyxyyyyyyzzzzzxyyzyyyyyzzz{z{zyyyyxyyyzyzzz{zyyzyyyyyyyzyy{{zzzyyxyyyyzzzyzzzyyyzxyyyzyyyz{zyyy{yxzzyzxzzyzzzyzyxzyyzzzzzzzzyyxzyyyzyzyzyzyzzyzxyyyyyyzzyyzzzyxzyyxyyzzyz{zzzyyyzzyyyz{yyyzzzyyyyyyyxyzzyzzy{zy{zyyyzzzzzzz{zyzyzzyzyzzzzzzzzzxyzyx{z{yyyyzz{zyzy{zyzz{zzz{zz{zyzzxzyzzz{yzzzzyzyyzzzzz{z{z{zzyz{yzzyzzzy{{zz{zzyzz{zzzzz{z{zzyzzy{zzz{z{{zzzzzz{zzyyzz{z{{{{zyzzzzzzz{zz{z{{zzzzzz{zzzzz{{z{zzz{zz{zy{z{z{z{zy{zyyy{z{{z{{{{{y{zzyzyzz{|z|{{zzyzzzy{{z{{{{{zzzzyzyzyz{z{zzzz{zyzyy{yy{{{{z{{{zzzzzzxyzzzzyzzzyyzx{zyyyzzyzyzyyzzzyzyyyzzzzzzzyzyzyyzyzzzzz{y{yyzyyyyzzzzyzzzzyyyyzyyzzz{zzz{zyyzzyyyzzyzz{zzzzyyyyxyzy{yzzzyyyyyyyzzyyzzyzzzyyxyyyyzz{zzzz{{zyyzyzxzzyzzzzyzyzyyyyyyyyzzy{z{zzyyyzxyyyyyzzyzy{yyzyyyyzzyz{y{yyyyxyzyyyzz{zzzzyyyzyyyzyz{zzzzyyzzyyyy{yz{zzz{yzzzyzyx{zzz{{z{zyyzzyyzyzzzz{{zzzzyyzzzzz{yyz|{yxzyzy{zyzzzzzzzzzzzzyzyz{{{{{z{yzzzzzzy{{|{{{{{{z{{zzz{{z{{z{{z{y{zzzzy{|{y{zz{zz{zyz|z{zzzz{{{{yz{{{zzz{{{z|{z|{z{zzzz{{z{zz{z{zyyzyzz{zz{z{{{{zzzzzy{zzz{z{|{zzz{zzyz{{z{{{{zzzyzzzzzzzz{{yyzzy{xyzzzz{z{zzzyyxxzzyzzxyyzyzzzyzyyzx{yyzzzzzz|yzyyyzyz{zyyzz{zyzyzzzzzyzzzy{{zzzyxyyzzzzzzyz{zyyzyyyyzyyy{z{zyzyyxzyyyzyzyz{y{zy{yy{zyzzzzyzyzzyxyzxyyyzzyzzzxyz{zyyxyyzzyzz{yzyzzwzyxyyzzzz|{yyyyyyzyyzyyy{zyyzyxzyyyyyxyzy{{zyyxzzzyzzyzzz{{zyyyyyyzyzzyzz{zyyzzyyzzzzyyy{zzzyzzyyxzzzz{z{zyyyzyzxzyz{{{zzzzzyzyyyyz{{{yz{{{zzyzzyyyzz{zzyzzz{yzzzz{zz{{zyz{zzzyyzzz{zz{zzz{zy{zzzyy{{{z|{zz{yzzzyyyz{{z{|z{yzyz{{zzz{{zy{{{{z{zzzzzz{z|{{z|{zz{zyy{zz{zz{zzzzzzzyzzz{zzz{|{zzyzzzzzzzz{z{z{z{{zz{zyz{zz{z{zzyyyyyyyzzz{zzz{zzzyyzzy{zzzzz{zzzyyyyzyzz{zyyzzyzyxyyyzzzzzz{y{yyyxxyyz{zzz{{zzyyyyyyyyzzzzz{{{zyyyyyyy{{zyzzy{yyyyyxyyx{zzy{zz{yzyzzyyyzzzyzzzzzzyyyyy{zyyy{yzyyzyzyzzzzzyyyyzyzyyyyyyyzzzyz{zyzzxyzyyyzz|{y{zyyyyyyzzzyzzyz{zzyyyzzzyzzzxyz{zzyzzzyyzz{y{zz{zzzzx{yzz{zzyzzzzzxzzzyzyzyzz{{zzzzzyyyyzzz{yz{zzzyzyyzyzyy{zzz{{zzyyzyzyzzzzzz{zzy{z{xzyy{zzz{{{z{zz{z{zz{{z{{z{y{{zzz{zzzz{{{{{yzzyyyyzzzz{zz{{{zyzzzyzz{{{{{{{{yzzzzz{y{y{{{{{zyzzyzyzz{{{{{{z{y{{yzzz{z{zz|{zzyzyzzyzzzz{{{{{{zzz{yy{{zzzz{z{{{yxzyz{{z{{z{{zzzyzzyzzzz{{zz{zyyzyzyyy{z{zzzyzzzyyyzyyz{zzzzyyzyyyxzyyzzzxzzzyzzyyyyzy{yzzzzzzzz{yyyyyy{z{yy{zzxzxzyyxyzzyyzzzyyxyzzzxzzzyzzzyyyyzzyyzzyzyzzzyyxyzyyyyzzzyzzzzyyyyxyyxyyzyzzyzyxyyyzxzyz{yyyyzyzzyyyzyzyyzzyzzyyzyyyyyyzyzxzyzzzyyyzyyyzzzzzzzzyzyyzzyzz{yz{zzyyyyzxyyzzzyzy{y{zzzyyzyzzzzy{y{zzzzzyzyzzzzz{{yzyzzzxzzzyzzz{zyzyzzyyzy{zzzz{zzzzzzyyyzz{zzzz|zzzzzzxyzz{zzz{z{zzzzzyzzz|z{{zy{{zzzyzyyz{{z{y{|zyzyzzz{|z{{y{z|zyyzzzzzzzzzz{z|zz{zy{yyz|{zz{z{zz{zyzyyzz|{yz{z{yzyyzz{zzz{{{{{zzzz{{zz{z{z{{{zzzzyzyzzz{zzz{{{zzyyzyyyz{z{{z{zzzyzyyzyyzzzzzzzyyzzyyyyyzzyzy|zyzyyyyzzyzzzy{z{zzzxxzyyzz{zzz{zzzyyzyyyyzyyz|zzzzyyxxyyyzyzzyyzzyyyyyzyxzzzyzyyzzyyyyzyzz{yy{zzyzyxzyyxyzz{zyzzyyyxyyyyyzyyzzzzzyxzyyyyyyzz{zzzyzyyxyyyyzyzzzzzzyyyyyzxxyyyy{{zyyyy{yzzyzzyyzzzyzzyyzzyzzzzzz{{zzxyzyyyyzzzzyzzzyyyyzyy{zyzzzzzyzzyyyzz{zzyzz{zzyzzy{zyz{zz{zzzzyyyzyyyz{z{yz{zzzzyyyyyz{{z{yyz{zxyzzyy{z{zz{zzzzzzzzzz{{{{{z{{zzz{yzzx{{{z{z{|{x{yzyzzzzzz{{||yz{zzzyz{{{z{zz|{yzzz{zz{{z{z{|zzy{{zz{z{z|{{z{{|zzz{yxzz{z{{{{|{zz{zzzzzz{{{z{{zzyxyzy{zzz{{|{{{zyzyyzzz{zzyy{z{zzyzyyyzzzzz{{zzzyyyxxyzzzzyzzzyzyyyyxxzyzz|zz{zyyyyzxxyzzzzzzzzyyyyyyxzyzzzzyzzyxzxyyxyzzzzzyzyyyyxyyxxzzzzzzyyyzyyxxyzzzyyzzzyyzzxzyyyyyyzyzyxxyxyyyyyzzzyzzzzxzyyxwzzz{z{{yzyyyzyyyyyzyzzzzzyyyyyyyyxyzzzzzzzyyyxzyyyzyzyz{zyyyyyyyzzzzzzyzyyzzyyyzyz{zzzzzzzyzyyyyzyzyzzy{zyyzzzyzyz{yy{z{{zyzyyyyyzzzz{yzzyyzyzyzz{yzzx{{zzyzyyxyzzzzzyzzzz{zzzzyzz{zz{z{zyyzyzyzy{zzzzzz{zzxyzyxy{{{{{{{z{zy{{yyyz{z{z{{{zy{zzzz{|zzzzz{{zzzz{z{zz{{{{{{{{yz{zyzzzzz{{{{{{yzzzzzzz{zz{z{z{zzzzzz{{zz{yz|{{zzyzyz{z|{{zzz{zyzzyzzyz{zz{z{zzyz{yyyyz{zzzzyyyxxyxxyxxzyzzzy{yyzzyyyyyzzzzzzzyzyyxyzyyyzzzyzzzzyyzzyzyzzzzzzzxzyyyyyxzyzzy{zzyyyxxyzyyzzxzzzy{zyyyyyyzyyzyyzzxyzyxyyzy{xzyzzzyyyyyyxyyzyzzzz{yyzxyyyzzyzy{y{zzzyyyyyzyyzzzyzzzxzxzyyxzzzzyzy{{yyyyyzyx{zzzyyzzyzzyyzxzyzzzzzzzyzxyyzyyzzyzz{zzzyyyxzz{{yyzzzzyyzyzz{yz{zzz{z{yxzzzxyyzzzz{zzy{yyyzxzzyz{zzzzzzyzzzyyyzzzzz{zzyzzzzzzyzzz{{zzzz{zyzzzyz|{{z{zz{yzzzzyzzz{{{z{yzzyzzzzzz|{zzz|{zzz{zz{zzzzz{{{{{z{zzyzzz|z{{{{{zzzzyyzzz{zz{zz{{z{zz{y{z{z{{{{|z{zzzyzzzzzz{zz{zyzzzzzzy{|zz{{zzzyzyyzyzzy{zz{zzzzyyyyyzzzyzzyzyyzzyyyyzz{yzyzzzyzyyyyyzzyyzzzz{yyzyzzyzyzzzzyzzyzzyyyyyzzzyzz{{yyxyyzxzzzzzyz{zzxxyzzyzzzzy{{{zzyyyyyzyzzyyzzzyyyyyzyyzzyzz{zzyyyzyyyyzzyzz{zyzxyyxyxyyyzzz{zzyzyyyyzyzzyyz{zyzzyyzyyxyyzyzzz{yzzyxyzyzzzzyzzzxyzyzyyzzzy{zz{{zzzyyyzyzzzyzzzzzyyzzyzzyz{{zz{yzzzyyyyyyz{zz{{{zzzyzy{zz{{zzzz{zyyyzzzxzz{zzz{zzyyyzzyzzz{zy{zz{zyzyzzz{zzz{z|{zyyzzzzzz{z{zz{{yx{zzyyzz{{z{{{{|zzzyzzz{{z{z{{{zzzyzz{zzzzz{{|{{yz{z{zzz}{z{{|{{yz{zzzzzz{{{{{zzyzzyy{z{{zz{{{{{zz{zzzzzzz{{{z|zzyxzzzzzzz{|{{{zzzzzyzzzz{zyzzzzyzyzyzyz{zz{zzzyyyyzyzyzy{zyyzzzzyyyxyzyzz{z{zzzzyyyyyzzzyz{zyy{zyyyyyyzzz{y{zzzzzyyyyyyyzzz{zzzyzyyyzxzzzzz{zyzzyxzyyzzzzxy{{zyyyyzyzyzzy{zzzzyzyyzxzyzyzzzzzzyxyyyxyyzyzzzyzzzyyyyyyz{zzz{z{{zzyyyzyxzzyzzzy{zzyyyyxzyzyzyzxzyyyyyxyyzyzzyzzzzzzyzyyyzyzzz{zzyyzzyx{yyzyy{zz{zzzyyyzyzy{zyy{{zzyyzyyzz{z{y|{yzyzzyzzyz|zz{z{{zyzzyyyzzzz{z{{{{zzzzyyzyz{z{z{{zzyz{y{zz{z{z{z{{zz{zyyzz{zzzz{z{yzy{zzy{z|{{{{zzyzyzyzzz|z{{z{|{zzzzzzz{|{{z{|{zyz{zzy{{{{zz{{{{zzzzzzz{{z{z{z{zzz{zzyy{{|zz{{{zzzzzz{zzzz{{zz{z{yzzyyzz|z{zz{zzyyxzyzyyy{zzzzxzzyzzyxyy{{zzyzzzyyyzyyzzzzzz{{zzzyyzyxy{zzzzzzzzzyzyzyyyzzzyzzzyyzyyyyyzzzzyzzzzzzzzyzzyyyyy{{{zyyyzzyy{z{yzzzzzyyxyzyyzyzzyzyzyzxyzyyzzzzzzz{zzzzyyyyyyyzzzzz{{yyxyyzzyzzyzzzzyzzyzxzxzzzzzzzyzzzzyyzxzzzzzzzzzzyyyyzxz{zzzz{zzyzzzyyzzzzzzzz{{yzzyyzzzzzzzzz{yz{yzyzzzzzzzz{zzzzy{yzyzz{z{yzzzzzyzyzyzz{{zzz{zy{zzyzzzz{{zz{{zyzzzzzzzzz{{{z{zzy{zzzyz{zzyz{{{zzzzyyzz{{{{z{zzzzzzy{z{z{{zz{{{z{zzz{{z{{z{{zz{zzz{zzyz|{{zz{{{zzzz{zz{{{{{{z{{zyzzzzz{{{z{{{{{zz{z{z{{{{z{{{{{{zyzzyyzzzzz{{{{{yzzzzyz{zzz{zzzyzyzyyzzz{zy{yzzxyzzyzyzzzyz{z{{yyyyzxyzzzzzzz{yzzzyyyyzzzzzy{{yyzzxyzy{yzzzz{{zyzyzyzxzyz{y{zzyzyyyzyyz{zzz|{yzzyyyxzyzzzyyzyyyzzyyzyyzyz{y{yzzyyyyxyyyzyyyzyzzzyyzyzy{yzy{z{zzyzzyzzyzz{yyz{{yzyyyyyyzzzzzzzzzzzyyyyyyyyyz{zzyyzzzyyyzy{zzz{zyzyyxyzyz{zz{zz{yyzyyyzz{zyzz{z{zyzzyzyy{z{{yz{zzyyyyzzzz{z{z{z{zyyyyyyzzz{zzy{{zzzzzzzyz{zzz{{{{zyyyzzyzzzzz{{|yzy{{{{zzz{|zzz{zy{zyzy{z{{z{{{{|zzzzzzzz{{{{{{{zzzzzzzz{zz{{zz{{yzzyzyzz{z{z{||zzzzzyzzzz{{{zzy{zyzzz{zzzz{{{|{{{zzzyzzz{z{{{{|{zzzzzy{zzzzz{{zz{zyzzzzzzzzz{zzzzzyxyzzy{zz{{zyyxzyyxxyyyzzzz{{yyyzxyyyzz{zzz{zzzzyyz{zyzz{yyzzzyzyyxzyzyzzzyzzzyyyyyyxzzzzzyz{zyyyzzzyyz{zz{yzzxyyyyxyyy{zzyzyzyyzyyyzyyzzyzyzyyzzxyyy{yzyzyzyyyzzyyxyzzzzzzyyyzzyyyzyzyzyyz{zyxzzzxxxzzyyyzzzzzyyyxyyyyz{z{|zzyyyyzyyzzyzz{{zyyyyzyyyx{zyz{z{zyzzyyzzyzzzyzy{z{yyyyzyzzzzz{zzzyzzzyzzyz{{z{zzyxyzyyyzyz{z{z{y{zzyyzyzzzzyz{{zzzzzzyzyzz{z{{z|zz{zyzzyz{{{{z{{zzyyyyzzz{z{z|zzzzzzzyyz{{zz{|{{yzyzzz{{{{z{{zz{|zzzyz{zz|{{{|z{{z{{zzzzz{y{zz{{{yyzzz{zzzz{{{{{{xyzzzzz{zz|{z{|{zzz{zzz{z{zz{{{zzzzzzzz{{z{z{{zzyzyzyyyz{|yz{zzzyzzxyyzz{zzz{zzzzyyxyyxz{zyzz{zyyyyzyyzzyzzzz{yzyyzyyyyzyzyzyzxyyyxxyyxz{zzzzzzyyzxyyyxzyyzzyzyyyyxxyyyzzzzzzzyyyyyzzzyyzzzyzzzxyyxxyxzyzzyzyzzzxzyxzzyzz{yyzzzzyzyxyxyyyyzzyzzzyyyzzyzyzzyyzzzyyyyyxyzzyyzzyyyzyyzyzzyzyyzzyzzyyyyzyyyyzz{zzz{yyzyyzyzzzzzyzzzzyyyyzzy{zz{zz{{zyyzzxzzzzy{zzy{yzyyyyyyyz{zzzz{zyxzzzzx{z{yy{z{{yyz{zyz{z{{z{{zyzyzyzzz{yzzzzz{zzzzzzyxzz{{{{{zzyzyzyzzzzzz{{z{{zz{z{{{z{{z{z{{{zyzyz{zz|{z{{zz|yzzyzz{{{{z{zz{{zyzzzz{zz{z{z{{zz{zzzy{zy{z|{{{z{zyzyyzz{zz{{zz{yzyzzzyzzz{zzzyyyzyyyyyzzzz{zzyyyzzyzyyyzzzzzzzyzyyyxyzzzzyy{zz{xyzzyzzzzzzyz{zyyxyyxzzzyyzzz{zyyzxyyyyzyzzzzz{yyyyzyzxzzyyyyzx{yyyyyxyyyzyy{zzzxxyyyxyzzyyzzzzyyyyyyyyyzyyzzzzzxyyxyxzzxzzyyzzxyyyxyxxyyzzzzz{yyyyyxyyyzyyyzyzyzzy{yyxyzzzyzzzyyzzzyyyzzyyzy{{zzyyyyyyyzyzxz{zyy{zyzyzzyzyzzyzzzyyxyyzzz{zzz{{zzyzzzzzzzzzzzyzyzzyzzyyzzzzzz{{yyyzzyyzzzzzz{z{zzzzzy{z{{{{{z{{zz{zy{y{z{zzz{{zyyzyyzyyzzz{{z{z{xzy{y{zz{{{{{{z{zzzyzzz{z{{z{{zzzyzy{yzz|{z{{{|zyzyzzzz{z{zzzy{{zzyyzz{{zzz{{{{zzzzzzzz{{z{{{{zzzzyzzyzz{z{zzz{zzyzzzyy{{z{z{{zyzzyzyzzzzzzzzyzzxxyyzzxzz{zzzzzzyyyyzyyyzy{zzz{yyyzyzyyy{zzyzyzyyyzyyzxyyz{zzzzzyyyyzzyy{zyyyzzxxyyyyyxyzzzzyzyzyzzyyyyzyzyyzyzzyyzyzxxzyzyyzyzyyyxzxyyzyzzzzzzyxxxzzyyzz{zyzyzzyyyyyyyy{z{zyz{yyzyyzyxyzyyyyyyyxzyyxzyzzzyz{zzyyyzyyzyzy{{{zzzyyzyyyyxz{zyz{z{zyzyyxzy{zyyzzy{zyzyyyxyzzz{zzz{zyzzzyyyzzzzy{zzzyyzyzzyzz{zz{zzzzy{zzxyzzzz{zzzzzzzzzzz{z{|zzzzyz{yzyzzz{zzz{{zzzzyzzyyz{{z{{z{zyzzzzzyz{{z{{{zz{{zy{{zzz{yzzyzzyzzzzyyy{zzz{zzzzzzzzzz{{zz{zzz{zzzzzzz{zzzz{{{zzyzz{zzz{z{zz{{{zzyyzzzz{{zzzz{{zzyzzzzz{{zz{{zzyyzzyzzzz{zz{zzxyyyzzyyyyzzy{yzyzzxyyyyyzzyzzzyzyyyyzyy{zyzz{zyzyzyzzxxyy{zyyyzyyzxyyyyzyzzyyy{zyyxyyxxzzyyzzzyzxyyxyzyyzyyzy{zxyxyyzxzzyyzyyyyyxyxyxxyzzzzzzyyyxyyyzyyyyyzzzzyxyzyxyxyyyzyzy{xyyyyxyyxy{yyyyzyyxyyyyyyyyyyzzzzyyyyyzxyyzzyzzzyyzyyzxyyyyyzzzzzyyyyzxzyzzz{zzzzyyzxyyyyzyzzzzzzzyyyzyyzzzzyyzzyzyzyzyyyzyzzyyzzzxyzzzyyyzzzzzz{zzyyyzzzzzyzz{zyzzyzzyzyzzzzzzz|yyzzzyyzz{z{{z{y{y{z{yzz{{zzz|{z{zzzzzzz{{{zz{{{{zyzyyzzzz{zz{{zzz{{zzyz{{zzzzzz{yzzzyzy{{z{{z{|{zzzzzzyz{zzzy{zzzyyzyzzyzzzz{{zzzyzzzzyzz{yzz{{yyzyzxyyyzzzzzzzyy{y{zyyzyzz{{z{zyyzyyzzyzyy{zz{zyyyz{yyzyzyzz{zzyyyzyyz{z{{zzz{zyyyyyzyzyzzzzzzyxyyzyzyyzyzzzzzzyzyzyyyyy{yyzyyzyyyyzyzzyzzzzzyyzzyyyyyyzzyyzzyyzzyyyxxzyzyzzz{yyzyyzyyyzzzzzzyzyzyyxyyyzzxyzzyzyyyyyzzzyyz{zz{yyzzyzxyyzzz{{zzzyzyyyyz{{zzzz{zyyzyyyyxzyzz{zz{zyzzyzyxzyzzzz{yzyzzzyzzyz{z{z{zzzyyzzzxyzz{zzzzzxyzyzyyz{zzzz{{zzyzzzzzzz{{{{{{zz{{yzzzzzz{zz{{zyzzzyyyzz{{{{z{{xzzzyzz{zz{{{{zzzzzz{{{{{zz{zz{{zzzzzz{z|{{z{{{{zz{zzyzz{{{y{{{{zzzyzzzz{z{{{{|zzzz{zyz{{{{{{{{zzzyzyzzz{zzy{{{zzzzyyzzy{z{z{zzzxzzzzyy{zzzzzzzyzyxzzyyzzzzzzzzzzyyzyyyxzzzzz{zzzyyyyyyzzyz{z{zzyyzzyyyzzz{yzz{zzzyzyzyzzzz{{z{zzxyyzyyzzzzzzzzzyyzzyyyyzzyzyzzzyyyyxxzzyzyzzz{yyyyyzyyzzzyzzzzzyyyyzyzzyzyzzzyyzyzyyywzzz{yyzzzyyzzyyyzzzzzzzzzyyzzyyzzzyzz{yzyyyyzzyyzzzzzz{zyzzyzyyyzyzz{zz{xzyyzyyzzzzzzzzzyzzzyzyyxzzzzzz{zyyz{yzzz{zzzzzzzzyy{yxyzzzzz{{{yzyzzyy{{zzzyzz{zzyzz{zz{{zz{{{{zzzzy{zz{z{{zz{|{zz{zzyy{{{z{zzzzz{zzzzzzzzz{zz{z{zyz{zzz{zz{{{z{zzzy{zyz{{z{|zzzzzzyzz{{{{{{z{{{zzyzzzz|zzz{z{|{zzz{zz{{zz{zzz{z{zyzzzyz{y{{{{zyzzz{yzyz{z{{zzzyzyyyzzyzzzzz{zyzyyzyxyyyzz{zzzzyzxyyzzzzz{zz{z{zzzyxzyzxzzz{zz{zyyyzzzz{zzzyyz{zzzyxyxyyzzzz{zzzzzyyzyxyz|zzzzzyzzyyyyyyyzzzzzzzyyyyyyyzyzyyzz{zyxyzyyzyyzzyzzyzxyyyywxy{zzzzzyyyzzyyyyyzzyzyzzzyyyyyyxzzzyzyzzxyyyyyzyzzyzzzz{yzzzyyzzzyzzzzzzyyyy{yyyyzzzyzz{zzzxyyyyzz{yz|zzzzyz{yyzz{z{zz{{{{zyzxzyzzzzy{zzyzzyyyyy{{{zyz|zzxzyzyzzzzzzyzzzyyzz{zzz{{z{{{{zzyyzz{zzz{z{y{{{zyyz{zyyy{zz{{{zzyzz{yzz{{{z{{{{zz{yz{{z{{{{{{{{zzyzyzz{z|zz{{z|{zzzyzzyzzz{{{y{zyz{yzzz{zz{{{{{{{yz{zzz{{{z{{{{z{zyzzzzzxzz{{{zzyzzyzyzzzz{yz{zyzyyzzzyzzzzzzzzyzyyyyyyyyzyzyyzyzyyyxzyzzzzzzzzzyzyyzyzzzzzz{{zzzyyzyyzyzzzzzz{zyzyxzzyyyzzzzzzyyyyyzzxy{zzx{{zyyyyyyyyyyzyz{zzzyzzyzyxzyzzzzzzyyyyyxyyyzz{zz{zzyyxyzxyyzzzzzzzzyzyyxyzyzzzz{yzzxyxzyyyyzzzz{zzzyzyzyyzy{y{z{z{xzyyyzyy{yz{yz{zzyyzzxzyz{zyyzy{yzzyzyzy{zzzz{{{zyzyyyzyzz{zzzzzzzyyzyzyz{zzz{|zyyzz{zzz{zzzzzz{zyzzyyyzzz{zzzz{zzzyyzzzzzzz{z{|zzz{zz{y{{z{z{{{zyzyzyyzz{{z{yzy{yzzzyzy{z{zz{|zzzzyz{zyz{z{{{{z{zzzzzzzz|z{{{z{{z{zzyyz{z{yzz{z{zz{zzzzz|z{{{{{zzzz{zy{{z{|yz{{zyzyzy{{zz{{{{{z{yzyyzzzz{{{z{{{zyzyzzyyzzz{{z{y{yyyyyyzwzzyyyzzzyyyyyxyzzzzy{zzzyyyyzzyzzy{zy{{zyzyzyyzzzzzzz{zyyzyyzyxzyyzzyzzyyzyyyzyyz{y{{zzzyyyzyyyzy{yzzzyyz{yyyyzyzyyzzyzyz{yyxyyzzz{zzzyzzyxyyxyxzz{zzzyzzyzzyyyzzzzzzzzyyyyyxyyyzzzzzzyzyyzyyyzyzyzy{zyyyyyyzyyzzzzyz{yzzzxzyzxzzyz{z{zzzyyyyyyz{zzy{{zyzyzyyzyy{zzzzz{zzzz{xzyzzzzz{{yzyzxyzzz{z{{yzzy{zzzyzyzzyzz{zz{zzyzzy{z{zzz{zzzyzz{yzyzz{z{z{{z{yzzzyyzzz{{{{{{zzzzzzzy{|{|{||zzy{{zyyzz{z{{zz{{yzzzzz{z{z}z||{zzyzzyzz|{{{{{z{zxzz{zzzzz{z{{zz{zz{zzz{zz{{z{{|zyzzzyzz{{{z{{{{{{y{yyzyz{zzzzz{zzyyyyyzzzzzz{yz{yyyxxyyz{{yzzyzzzyyzyzxyzzzzzzzyzxyyzyz{yzzy{{zyzxyxyyyzzzzzzzzyxyyxyyxzyzzyzyzyyzyyyzyyyzzyzzzyyzyyyyxzz{yz{z{yyyxyzyyyyyzyzyyxyyxyxyyyzyyzz{zyzyyyzxxyzzz{yzxzyzzyzyyyzz{yyzzzyzzyyyzzyyzzzzyyyyxyxyyyzyyzyzzyyyyyzyyyzzzyzzyyzyyzzzyzzzzzzzzzyzyzyzzyzzzzz{zyyyyzyyyzzyzzzzzyzzzyyzyzzzzzz{zzyyyzzyyzzzyzz{zyyyyzyyyz{zzyzzz{zyzyyzy{{zzzzzzzzzz{zzyzz{z|z{{yzzzzzyyzz{{z{{{zzyz{yzz{{{z{zz{{yzyzz{zz{z{zzz{{yzzyzzz{{z{{{{{yz{zzzyzz{zzz{z{zzzyzzy{{{{zz{{{zyz{zzz{{{z{zz{z{zzzzyzyzzzz{{|zzzyzzyyy{zz{{z{zyyzzzxyzyyyz{zyzyyxyzxzxyyzxyzz{xzwzxxxyyzzzyzyyyyyyyxyxzyzzzyzzyy{yzyyyyzz{zzz{zyyyxyyyyzzyyz{zxzxxyyxyyzzyyzzyyyyyyyxyyzzyyzzzyzyyyyyyyyyzyyyzyyyyyxyyyzyzzyzzyxyyyyyxzyzyzy{yyxyxwyxyyyyzzyzzyyzzyxxxyz{yyzyyyyyyzxzyyy{yyzyzyyyyyyyyyzzz{zz{zyyyzyyyyzzzzyz{yzyxyxyyzyyzzyz{zyyyyzzyzzzzzzy{zxyyyyyyyzz{y{yzyyyyzxyyzzzzyz{zyyyywyyyzzzzy{yzzzzzyzzyzz{{z{yzyzzxzyzyz{z{yz{zyyzyy{zzzz{z{y{zzyyzzyz{z{zz{{{{zzyyy{zzz{zz{z{zzyzyyzzyz{{{{|{{zyzzyzzz{{{{z{zz{yyzyzyyzzzzzzz{zzyyzyyzz{zzzzz{zyzzzyzzyz{zzzzzyzyyyzyyyzyz{z{zzyyyzzyy{zzzyzzzyyyyyzzxxyyzz{zzyxyzyyyzyyzz{{y{zyyyyzyyzyzzzzzyzzyzyzyyzzz{zzzzyyyzzxyxzzyzzyzzyyyyyyyzy{zzzz{yzyzxyyzxyyzyz{zzyyyyyzyzyzyzyzzzyyyyyxzyyzzzz{yyzyxyxyxyzyyzzzzzyzyyyzyyzzzzzyzzzyyyyyyzzyzzzyzzzyyxzyxyyzzyzzyzyyzzyzzyzz{{{zzzzyzyzyyxzzzzy{zzzzyyyyyyzz{zzz{zzyyzyyzzzz{z{{zz{zzzyzyyyy{z{z{zzzxzyxyzyz{zz{{zzzyzyyyz{zzyzzz{yzyzyyzzzzyz{{{zyzzzzzzz{{z{z{z{zz{zyyzz{{{{{{z{zzyz{zyz{|z{z{{z{zzzyzzz{{{{{{|zzzz{zzz{z{{{{{{z{zzzzyzzz{y|{{{zzzy{{yyz{yzz{{{{{zzx{z{{{|{{z{|{yzyz{zyyzz{zzz|zzzzzyyzyz{{zz|{zzzzxzyyyzzzyzzyzyzyyyzxxyzzzyyzzxyyzyyyxzz{zzzzz{yyyyyyzzyzzzz{zzyyyzyyyyzyzyyzyzz{xxyyyyz{zzyzzyyyzyzzxzzzyzzzzzyxyyyyyyy{yyyy{zzyyyzyyyyzxyzzyxyyyyyyyzyzyy{zzzyyyyyyyzzzyzzzzzzyxyyyyyyzzxzzzzyyyzyxyzzzyyzz{zzyxxyyyzzyzzzzyyzzyyyzyyzzzzz{{yzyxyyzy{{zyzzyzzyyyzz{yzzzzzyzzzyyyyyzzyz{z{{zzzzyzzzzzzzzz{zzzzzzyyyzzy{z{zzzz{y{zzzyz{z{zz{zzyzyyzyzyzz{z{zz{zzzy{zz{{{zzz{{{{zz{yyyx{zzzzz{z{yyzzyyy{{{{{{|z{xzyzzzyzz{{z{{{zzzzz{{zy{z{{{{z{yzzzzzy{zzz{{{zzyzzy{{z{{zzz{{{{zyzzzy{{{zz{zz{zzzyzzzz{zz{{{{{{zzzzzzzz{{{z{{zy{zyyyzz|{zzzzyzzzyzxyxyzzzzyzzzyzyyxyyyzzzxz{y{zyyxyxyyyyyyyz{zyxz{yzzyyzzzyzzzyxyxyxxxzzyzzyy{yyyxyzyxz{{yyzzzzyzyyyzxzyyyyzzzzzyyyzyyyyyzyyzzxxxyyzyxzyyzyzzyyyzyyyxzyyzyzz{yxyyyyyyyyzzzyzzzxyyyyxxxyyzyzzzzzyyyzyyyzzy{yyzzyyyyy{yyyzyzzzz{zzzyzyzzyzyzzzyzzzzyyxxyzyyyzzz{yzyzyyxzyzzzz{zzzyzzyzzyz{zy{{zyzyyyyzyxyzzzzz{{zyxxyyzyy{zzyyzzzyzzzzz{zz{{zz{{yzyy{zzyz{{yz{z{zyz{zxyyyzyzzzzzzyzyzzzzzzzzz{{{zzzyz{{zz{{zzzz{{zzzzzzz{{z{yzz{zy{zzzyz{{z{yz|{zzyzzzzy{z{{z|z{zz{zzyy{z{{{{z{{zzyyyzzyz{z{z{{{z{yyzyyyzz{zzy{yzyyxyyxy{y{zzzzyzzyyyyyxzzzyzzzzzyyyyyzyyz{zz{|zzxyyyyzyzzyzzzz{zyzyyyyyyzyz{{z{zzzxyyyyz{y{zzyyyzzyyyyyzzzyz{{yzyyyxxyyyz{yyyyzyxyyyyxyzyzyzzyzyyyyyyyyyzzyzzzyyyzzxyyyyzyzzzyzyyyxyzyyy{zzzzzzy{yyxxyyyzyzy{zyyzyxzyyyyzzzzz{zyyzxyyzyzzzzyzz{zyyyzyyzyyzzzzzzyyzyyyyyzyzzy{z{zyzyyyyyzzyzzzzzzxzzzyyzz{zyzzzyzxzzyzzyz{{zyz{zy{zyzyzzy{{z{zzz{zzzyz{zz{{zzz|zzzyzyyzzzzz{y{y{yzzz{yxzzz{{{z|z{zyzzyyzz{zz{z{{zz{yzz{zzz{{z|yzzz{zzyyzzz{{{{{{{yzz{yyz{z|zzyz{zzzzz{z{z{z{{{{z{zzz{zzz{{{{{{|zz{zzzzyzz{{zz{{{y{z{yzzzyzy{{z{{{yzyzzyzzzzyzzyzxyzyzxzxx{yyzz{yzzyyxyyzz{yyyz{zzyyxzyzxzzzzzz{zyyyzyzzyyyyzzyzzyyxyyyyxzyzzzzz{yyyyzzxyy{{zzzzzzyzzyxzyzxzzyzzzyyyxzyyyzyz{yyyzyyyyyyyyxzzzyzzzyyyxzyyyy{{yzyzzyzyzyyyyzzzzyyzzyzyyyy{yyzyyyzzzyyyxyxzyyzyzz{yyyyzyyzyyzyyzy{z{yzyxyxzyzz{zz{{zyzzyyyyyz{zz{{y{yyyzyzyzzzzzzzzzzyyzzxzzzzz{yzzzzzzxzyyyzyz{yz{zyyyzzzzyzzzzzz{{{zzzzxyzz{{z{{{zzyyyzzzy{{zyy{{{{zzzyzyy{zzz{{zzzzzzzyzzzz{yzz{{z{zzz{zyz{zzzz{z|zzz{zyzz{{y{zzz{z{zyyzy{z{{{{zzzyzzz{zz{{{zz{z|zzz{zy{z|zz{{{{{yyzyzzyyy{z{z{{zzzzyyyyyz{z{z{z{zzzyzyyzzz{z{zyzzyyyyzzyyzyyzzzzzzyzzyyzzzzyzz{{zzyyyzzzzzy{zz{zyyyzyzyyyz{zzzzzyzzyy{zxzzzzzzz{yyyzzzyxzyyyy{zz{xzyyyyyzzzzzz{yyzyzyyyyzzyzyzzyyyzyyyzxzzxzzzzzzyyyyyx{yzzzzzzzzyzyyzzyyy{{zz{{yzzyxzyyy{zzzzyyzzyyyyyyzzzyzzz|zy{yzzzyzzz{z{{zzyyyzzzzzz{{{zzzzyzzzxzzz{yzz{y{yyzzyyyy{zzyz{{{zzzzyy{zzyzzzzzz{y{yyyy{{{yyzy{z{yyyzzzzzz{z{zzzzyzyzyyy{|{{|{{{zzzzy{zy{zz{z{zzzz{zzzyyz{{{zz{{zzzzzz{z{|{y{z{z{{yzzz{zzz{zz{{|{zzzz{zzz{|z|{z{yyzzzzzz|{z{{{{z|zz{zz{{{|z{{z|{{zyyz{z{{{|{{{z|{{z{yz{z{zz{z{{z{zy{zyzz{zzz{y{{yyzyzzyzzzzz{zzzxzyxyyyyyz{yzyzyyzzyxxyzyz{zzzz{zyyyyyzzzzzzzy{zzzyyzyzyzy{zzz{{zyyyyyyxyzzzzzz{yzzyzyxxyzzyzzzzzzxyyyyyzzyyz{yyzyyyyzyyyzzzzyzzyyyzyyyyyzzyyzzyyzyywxyyyzzyzzzzyzyxyyyyy{{zyyyzzyzyzyyyzyzyzzzyzzyyyyyyzz{zyz{yzyzyzyxy{zy{zy{zzzyyzyyyzzzz{zzzyyzzyzyyzzzz{{z{yzzzyxzyzzzzz{zyzyyyyyzyzz{yzzzzyyzzzzyy{{zzzyzyzyzzyzyzzzzzz{z{zzzzzyyzzzz{y{zzyyzyzzzy{z{zz{z{zyzzyyz{zz{{zzzzzyzzzzyz|{{{zz{{{yyy{{zzz{{{{{z{{zzzzzyyy{zz{{z{{zzzzzyz{zzzzz{z{yzzzyyyzz{{{z{|{zzzzy{z{|{{{{{{zy{zzyyzzz{{{zzzz{yyyzzyz{zy{z{zzzyyzyzzzzzzzzzzzyzyyyyyzzyyyyzzzzyyyyyyyzzyy{z{zzzyyyyyyzzzzzzzzyzyyyzyyzzyyyzzzyzxxxyyzz{zz{yzyyyzyzzyyzzzzzzzzyyyzyyxzz{zzyzyyxzxyyzxyyzyyzzzyxyxzxyyyzzzzzzyzyzyxyxxzzzyzyyzz{zyxzyxyyy{yyzyzzyyyyyyyzyyzyzyyyyzyzyyzzyzz{{zyyyyzzyyzzzzz{{zzy{yzyzyyzzy{zz{zyyzyyyyyzzzzz{zyzxyzzzyzz{yz{{z{zzz{zyyz{zzz{zzyyzzzyyyy{zzz{z{zyyyyzyzzzzyzzzzzyzy{zyzz{{z{z{zyyzyyyz{z{z{zz{{{yzyzyzyzz{zzy{zzyzyzzzzz{{z|{{{{zzzyz{zzzz{zz{{zyzyzyyyz{z{{{{z{yzzzzz{zz{z{{{zzzyzzzz{{z{z{{z{zzyz{zzz{z{{zzz{yzzyzyzzzzzyzz{{{z{zzzzyyzz{{z{{yyzzyyzyy{zzyzzyzyxyyzyzyy{zyzyzzyxxxxxyyyyzz{zzzzyyyyyzyyzzzzzzzxyyyyxyzzz{yzzzzzyyyyxxzy{zy{z{zxyzyzzyzzzzyyzyzyyyzxyxyzyyzzzzzxzyyyyzyyzzzzzzzyyyzxyyzzzzzzyzyzyyyyyyzz{zzyyzzyzyyyyyzyzzzzzzzzzxyyyxyzyyzzzzyyyyyxzyxyyzyz{zyyzyyyyxz{zyzzzz{zxxyxyyyzyyzzzz{xzzzyzyzzzzyzzzzyyyxyxy{{zz{{zzzyz{yyzzz{zzzz{{zzzzyzyyzyz{zz{zzyxyz{zyzzzzzzzyzyzyzyzy{zzz{zzzyzzzyyzz{z{{zz{{zzzzyxyyzzz{zzzyzy{yzzyx{{z{{{zzzyzzzzzzzzz|{zz{zzzzzzzzz{{{zz{zzyzzyyyzz{z|zzz{zyzzzzzyzzzz{{{|{zzz{zzz{z{zzz{{{zzyzyyzzzz{zz{{{zzyyzyyzzz{{z{zyyzyzyzzz{zzzzzyzyzyxyyyzzzzyzyzyyyyyyyyzyyzzzzzyyyyyyyxzzzzzz{zzxyzzyyyyzzzyyyzzzyyyyzxyyzzzzz{yxyyyxyyzyzyy{zzzyzyyyyy{zzzyyyzyyyyyzyzyyyzz{zyyyyzyyyyyzzyzz{zyyyzyxxzyzzyyyz{yzyxwyyyzzzyzzzzyyyyyyyyxyzyzyzyzxzzxyxxyzyyzzyzyyzyzyzyzzzzz{{yzyyyyzzyyyyzzzzzxxyyyxzzzzyzzyzzyyzzyyyyyzzzzz{zzzzxzzyyyz{zzyzzyyzzyyzyzzzzzzzyxzyzzyzxzzzyz{zzzyzyyyyzz{zzyz{zzzy{zzyz{{{y{zzzyyyzyyyyzz{z|{z{zyzzyyy{zz{{{|z{zzzxyzzz{{z{z{{{{yzyzzzzz{zz{{z||yz{zzzy{{zz{{{z{zyzzyzzzzz{z{{{z{zzzyzz{{y{{{{{zyyyyyyz{zzzzzzzzyyyyyyyz{zzz{zzyzzyzyzyy{{y{zyyyxzyxxzzyzzzzzz{yyzyyyxyyzzzzz{zzyyyzyxyzyzyyzzyzyzyzzyzzzzyyz{zzyxxyyyxyyyzzzz{yyzyywyxyzzyzzyyyxzzxyyyyyyzyzzyyzzzyxyyzzzzyy{zxyzyyyyxyzzzyyyyyzyyyyyzxzyyzy{z{zyxxyyyyyyzzz{zzyyyyzyyxyyyyzzzzyyzyyyxyyyyy{zyzyyyzyyyzyzyzzz{zyyyyyyyzyzzzz{{zzyzxyy{zzyyzzzzzzzxyyyyzyzz{zzyyyxzyyyyzzz{zz{yzyyxyyyyyyzyzz{yzyzzyzyzzzzyzzzzzzyzyzyyz{z{zzy{yz{yyzzz{zz{yz|zyyzyzzyyz{yzz{{z{zzyzzzy{zz{{{zyzzzzzz{y{zzzzz{zzz{zyzyzz|zzz{{zzyzzyzy{{{{{z{{{{zzyzyzzz{{yz{z{zz{zzzz{z{z|z{z{yz{yyzzy{zzzz{{yzyyyzzzyy|zzzzzzzzzxyyyyzzzzyzzyzyyyxyxyyyyyzyzzyyyyyxyyzyzyzzzzyyxyxyzyxyzyzz{zyyyyyyxzyzzyzxyzyyyxxyxyyzyzzzxzyzyyyyyyzzyyzzyyywzyyyxyyzzzyzyzyzxyyyyyyyyyyyz{xyyyxyyyzyyyyzzzzxxyyyyxzzzzyzzyxzyxxyyyyzyzyzzzyzzzyyyxyyzyzwzzzxyyyxxxyzzzy{yyzyyyzzyyz{yyzzz{yyzyyyzyyz{zzzzzyyzzxyyzyyzyz{zzyyzyyyzxzyzxzy{yyyyzzyzyz{zzyzyzzzxxzyzyzyz{zz{yzyyxyxzzyz{zzz{zzzyzyzyyyzzzzy{zzzyyzyzz{{zzz{{{zzyyzxzzzz{{zzzz{yyyzyzy|zzzzzzzzyyyzzzzzzz{zzz{zzzzzy{yz{z{|z{{zxy{yy{yzz{z{zzzzyzz{yz{{{{{{{zzyzyz{zzz{zyzzzyzz{yy{zyzzzzzy{{{zzyyyyzyz{zzyzz{yzyxyyyzxyzzzz{zyzxyzyyyyyzyzy{zzyyyyyyyzyyzzzzzyyzyyyyyyzzzyy{|zyxzyyzzyzzzz{{yyzyxyxyyzyzzyyzzyyyyzyzxzzzyyy{yxyzyyxyxyyzzzzzy{zzyyxxyyyyzzyzzyzyyyxyyzzyyyz{yyyyzxzyyzyzyzzzzyyyzxxyyxyzzyyzyyzzzyyyyyx{yzz{z{yxxzxyyzyyzyzzzyzyyyyyyzyyzyzyzzzyyyyzyyzzzyzzzzyzyyyyy{zzy{zz{yyyzyyyzyz{yzz{zzyzyyyzzy{zz{{z{yzzyzxyzz{zzzxzzyyyzyzzz{{zzz{{{zzyzyzzzzz{|{zz{zzzzyzzz{zz{z{|{{zyyyzzzzz{z{zzy{zyzzy{zz{zyz{z{zyzzzz{yzz{z{z{zzyyyyzzzz{{{{{|z{yzzzzz{zz{{{{z{zyzzzzzzzzzzz{{|{yyzzzzzzzzz{{z{{zzzzzyzyzz{{z{zyyzzyyzxyzz{zz{zyzyxxzzyzyz{zzzyyzyxzyyyyzyzyyzzyzzzzyxyzzzyzzz{{yyyz{zxzzzzz{{{zyyzzxyzzy{zzz{zyzzzyxyxyzzz{yzzzyzyzyzyy{{yzzzyzyyyyyzzzyzyzzzyyyyyxzyyyzzzyzzzzzyxyyyyyzyzyzzyzzyzyzzyzzzzz{{zxyyyyyxyzzyyyyzzyyyyyyyyyzzzz{zzyzyyzyyyyzyyzyzzyyzyzzzxzzzzzz{zyzzyzxyyzyzzzz{{zyzzzzyzzyy{{{zzyyzyzzzzy{zzzz{z{yzzzzyzz{zyzz{zzzzzzzzy{z{zz{{zzyzzzzyzz{{z{{z{z{zzzzyzz{{{{z{zzzzyz{{zz{z{{{{{zzyzzzz{z{z{{{z{{y{zzy{zz|{z{z{{{z{{z{{zz{{z|{|{|yzz{zzzz{z{z{{{{zzzz{zz{zzz{{zz{zzz{zzzz{{{{z{z{zz{{xzz{{{z{|||z{zyzzzzzz{z{||{{zzyz{{zz{z{z{{zyyzzyxzyz{zyy{zyzzyzyxzzyzzzyz{zyyyyyyyy{y{yzzz{zyxyyzyzz{yzzz{yzyyyzyzzyzzzzz{zyyyyyyzyzzyzz{yzzyyyyxzyzzzzzzzzzyyyzzyxyzzzyzyyzzzyyyyyzzz{yzyzyyyyxyyyzzzzxz{zzzyyyyxyyyyzzzzzyyzyyyyxyzzzzyz{zyzyyzyyzyzyzzz{zzyyyyzyyzyzz{yyzyyzzzyyyyzzyzzzzzyxyyyyyz{zyzz{yzyyxyyzzzz{y{zyzyyyzyzyzzzzz{{{zyzyyyyy{z{zz{zzyzzy{zyzz{zzzz{{{yyzzzyzzzzz{y{{z{yz{zz{zz{zz{zzz|zzzzyzzzz|zz{{z{zzzzyz{yz{{{{z{yyzyzzy{z{{z{{|z{zzzzzz{{zz{|{{{zyyz{yzz{{{{{{{{z{zzzz{{zz|zz{{{zyz{zzzzzz{z{{{{zzzzzz{{{{z{{{|{z{{zzzy{zzz|{{{zzyyzzzyz{zz{z{{zyzyzzzyzyzzzyyzyyxyyzyyz{zzzyzzyxyyxxyyyzzyzzy{zzyyyyyy{xzzzzzzyyyyyzzyy{yzyzzzyyyxyyyzyzzzyyyzyzzyyyyxzzzyzzzzyyyyyyxyyyzyzzyzyyyyzzyyyzzyyzyzyxyzxyyyyyzzz{yyzxyyyyyyzzyyyz{zyyyyyyyxyyzyzzyzxyyyzzzyyyzyyzzzyzzyzyyyzzyz{zy{yyzyzyyyzzzy{z{zzzyyzxzxzyzzz{z{zyzyyyyzzzzzz{zzzzzyy{yzzyzyyzz{{y{zyyzyzyzzz{zzzyzzzyyyz{zzyz{{yzzyzzzzz{zzzzzzzzzzyyyz{zz{|{{zyzzzzyzyzz{z{{z{z{yzzxyxzzzz{zzzzyyzyyzyz{{z{{zzzzzyyz{zzzz{z{{zzzzyyzyz{{{z{z{{{yyyyyz{zz{|{||{zyyz{{zyyz{zz{{z{{zyzzzzz{{{{{{{zzzyzzz{zzzzzzzzzzyyyzzzyzyzz{zzzzzzyyyyyzzzzzyzyyyxyyyyy{zyzyzzzyyyyxyzyyzyzy{zzzyzyyzz{yzzzzzz{yyyzxyyzz{zz{z{zy{yyyyyyyzzzzyzyzzyyyzyyyzyzz{zzyxyzyyyzyzyzzzzyyyzxyyyzyyzyyzyyxzxxyxyyzzzz{zxyxyzxyzyzyzzzzz{zzyyyzyyzzzzzyzzzyxyyyyxzz{yyzzzzzyyyyyzzzyzyzzzyyyyzyyxyzzzy{{zzyzyyzyyzzz{zzzzzyzzyzzxzz{{yz{yyyzzzyyyz{zzzzz{zyyzzyyyzz{zzz{yzyyzxyzyzz{zzz{zzyzzyyyyz{zzz{zzzzzyzzzyzzz{{{{{yzyzy{zzzzzzzz{{zyy{zyzzz{zy{{zzzyzzzz{y{z{zzz{{{z{zzz{{zzzyzz{zzzzzz{zz{|zzzz{{{y{zzy{z{zz{z{{zzyzz{zyzzz{z{{{zz{zy{zzy{{{z|{{{zzyyzyyzzzzz{{{{yy{zzzzyzzzzzyzyzyzyyyzyzxzzzyyzzyxxxxyxyzyzyzz{xyxyyyzzyzzzyzz{zzzyyzyyyzyyzzzzzyzyyyzyz{zzzyzyzyyxyyyyyyyzyzzzzyyxyzyyzzyyzzzzzzzyzyyxyyzyyzzzyyyyyyyyzxzyyyy{yxyyyxyzzzzyyzzyyyzzxyyyyzzzyyzyzxzxxyyxyzyyyyzzzyyyyyyzyzzxyyzzyxyxyyyyyzzzz{z{yzzyyyxxzzzzzzzzyyzzzyyxzzzzy{zzzzyzxyzyyyzzzzzzyxyyyyyyzzzzzzz{yzzyyxzzzzyz{{{zzyzxzzzyzzzzyzzzzyzyyyzzzyzzz{zzzyzyyzzzzz{{zz{zyyyzzzyyzzz{z{{{yyy{zyyz{z{zz{z{z{zzzyyy{{zz{{{{yzzzzz{zz{zz{{{zzyzyzyzzz|{{{{{|zzzz{{zy{z{{{{{zzyzzzzzzzzzzz{{{zyzzzzzz{z{zz{|{zzzyyyyyz{{z{{{zyzyzyyyzzzyzz{{zyzzzyyyzz{zyzyyz{yyyyyyxxzzzzzzzyyyyyyyxzyzyzz{zzyyyzyyzzzzzz{{zzyzyyxyyzzz{yyzyzyyyxyyxz{zzzzyzyyzyyyzyyzyyyzzzyzyzzzyxzyzzz|{zyyyyyzyyyzyzyyzzyyyyyyzyyzzyzyz{yyyxxyyyyzzyz{zzyyzyyyxyzzzzzzzyxyyyyxxxzzz{yzzyyyyyxyyyzzzyzzzzzyzyzyyyzzzzzz{zzyzyyyyyzyzzz{{zyyzyzyzyyzzzz{y{zzyyyyzyz{z{{|z{zzzzyyyzzz{y{z{zyzzzzzyyzzzzzzzzzzzyyxzzzzzy{zz{zzyyzyyzzzzzzz{|yzzzzy{z{zzzz{{zzz{zyyyzz{{{zz{{{yyyy{zy{{zzz{z{{{{zyzzz{{{{{{{z{yzzyyzz{{z|z{|zz{zzyyz{{z{zzz{{zyyzzyzyz{z{z|{{{{zzz{yz{{|{{{z{{{zyzzzzzz{zzz{{z{yzyzzyz{zzzzyzyzzxyxzzy{zy{zyzzzyxyyyyzzzzz{zzyzyyyyyyzzzzz{{zzzzyyyyyzzzzzyzzyzyyzyyzyzzzxz{{zyyxyyyyzyzyzzz{yzzyyyzyzyzxyzzzzyyyyyyyyzzzyy{yyyzyxzyyzzzyzzzyyyzzyxxyzyzzzyzyzzzyzzyyz{yzzz{zyyzyyzyyyzzzzy{{zyyyyyyxyzzyzzz{yzzyzzxzyzyzzyzyyzyyyzyyzzzzz{zzzyzzzyyyzzzzyyz{zxzzzyyz{yzyyz{zzyxyyzyxzzzzzzzzyzzzzyyyyzyzz{zyzzzzyzyy{z{zzyzz{zzyyyzz{{zzzyz{yyzyzyzzz{{|z{{zzyzyzzzz{z{zzz|{zzzzy{yyzzz{zz{z{yzzzzzy{{{zz{zzzzzzzzzzz{{z{||{|xzzyyzz{|{|zz{{{z{zz{zy{{z{{{zzzzyzyyy{z{zy{{{zzzzzzzyzz{y{{{{{zzzzzyyzzzzzz{{zzzzyzzzzzzz{zyzzyzzyyyzzyzzyzyyzxyzyyyyyyyzzyyyzyyyyxyxzzzzzzzy{yyxxyzzxzxyzzzy{yyzxyyyyyz{zzy{zzyyyyxywyzzyzyxzyyyyyyyyzyzyzzzzzyxyyyyxyyzyyzzywyyyxyxzzyxyyyzzyxyyyxxyyyzyyzzxzyyxxxwyyzxzzyzzyxyyxyxyyyyzyzzzyyxxyzyyxxzyyzz{yyyyxyyyxyyyyzzzyyyyyyyyyzzyzy{zyyyxyxyyzyyyxyyzzyyyyyxzzyyzzzz{yzyyxzyyzzzyyz{zzyyyyyyxzzzyz{zzzzzyzyzxzz{zyzzzzyyyyzzyyyzyzyy{zyzxyzyzzyz{{{zzzzyzyzyyyyzzzz{zzzyzzyyyz{{{|{yy{zxxzyzyzzyyz{z{yzzzyyzzzzzzzzzzzyyyyyyz{zz{{{zzzzzyzyzzz{z{yz{zzzyyzyy{{{z{{{{{zzzyzzyy{zzz{yzz{zyy{yzyyzzzz{|zzzyyyyzyzzy{zzzzzyyyyyyyzzzyyyyyxyxyyyyyyzzyzz{zyyyxxxxxzyyyyzy{{zxyyyyyzyzy{z{zzx{yzyxzzz{zzyzzzyzxxxyxzzzzzzyzyzzyyyyxyyzzy{zxyxzzyyyxyz{zy{zyzyyyyzxyyyyyyyzzyzyyzyyxyzzzyzyyyyyxyyxyyyzzzy{zyxyyxxyyzzyzyyzyzyyzyyyxyy{zyzyyzyyyyyyzxzzyzzzzzyyyzyyxyzzyz{zzzyyyyxyyzzzzzz{zzyyyyyyyzzyz{{yzzyyyxyyyzyyyzz{zyyzyxxzzzzz{{|zzzzyyyyyyyz{zyyzyzyxxyzyyz{zzzzzzyzzyzzyzz{zz{zyzzyyyzxz{zzz{zz{{zzyyzzxz{{{{zz{{zzyzzyzzzz{z{zz|{{zyy{zzzzzzz{{yzyzzzzyzz{{zzzzz{z{zzyzz{z{z{zz{zyyzzzyzz|zzz{{zzzyzzzzz{yz||{{{yzzyyyzyz{zz{{{{{{yzzzxyz{z{zz{yzyzz{xxyyyzy{zzzzyyyyxyxzyzz{yyzzyyzyyyxyyzzzz{zyyyyyyyy{zzzyzzzyyzyywxyyyz{yzzzyyyyyyzyyyzzzyzzyyzzyyxyzyyyz{{yyyyyyyyyyzzzyzyzyyyxzzyzyzyyyyz{yxyyyyyyyzzyzzyzyyyyxyxyyzzzzyzzxzzxxyyxyyzyzyzzyyxyyyzyyzyyyzzz{yyyxxyyzyyzz{zzzzyzzyxzzyzzzz{{zyzzyyyyyzzzzzy{yzzyzyzyzzz{zyyzzz{yzyzzyyyzz{zzyxyyzzyyyz{zyz{z|yzyxzzyyzzzzz{zzyyyzyzyyz{zy{zzyzyzzzyzz{{z{{z{zzzyxyxzz{z{yzzz{zzzyyyyyzz{{z{z{yyyzzzzz|{{{{{z{yyyzzzzzzzz{{zzyzyyzzzzz{z{{zzzzzzzzyzyz{y{{{{{{yzyyyyzzzz{{zzzzyz{zzz{z{zzz{|{yzzzzzzyy{zzz{z{zzyzyyzzzzzzzzz{yyyyyyzzzzyzyyyyzyzyyyyyyyyyzyyzyyyyyyzyyzy{yzzzzyyyxyzyzyyz{zz{{zzyyyyzzyyzyyz{yyzyyyzyzzz{z{yzyxzyyyxxzz{yzzzyzxzyyxzzyz{zzzzyzyyxzyyyyzzzxzz{zyxzzyyxyy{zyyzyyyyzyyzzzzzzzzyzzzyyxyxyyzzyyzzyzyyyyyyyzyyzzyyyyyyyyyyyy{yzz{zzzzyxyzyyyzz{zzz{zyyyyyzyyz{zyzzzzyyyyyyzzzz|zy{zzzyzxzyzzz{z{{z{zzyzzzzxyzzz{zyzzxzyyyyyyz{{yz|{zzyzzzyzyzzy{{zz{zzyzzyzzz{{{zzzzzzzzyzzzzy{z{zzzy{yyyzy{{{zzz{{{yzzzzzz{{{z{|{zzzz{zzzzz{zzz{|{{zyz{z{yz{{z{{{z{xzzzyyz{zz{z{{{{zyzzyzzzzz{z{{|{zzz{z{{{{zzzz{{yzzyyzyzz{y{z{{y{zzzyzzz{zyzz{zzyzzyzzzzy{zzzzzzzzyyyzyyyyyzzz{{yyyzyyyyyyzzzzyzyyyyzyyy{zyyz{z{yxzzzzyx{zzzyzzzyyyxxyzzzyzzz{zzxyzyxyyxzzzzyzzzyyyxyxyyzzzyzyzyzzyzyyxyyyzzyz{zzyyyzyyzzzzzyz{z{zyyyyyzyzzzz{zzzyzxxyyyzzzyzzzzyyyxyyyyyyyyzyzzyyyyyxyyyzzzz{zzyxyyyyzyyzz{zz{zyyzzzyyzzzzzzzz{yxyzyyzyzz{{y{zzzxyyzzzzz{z{{{{zzyzyzyyzxzzzzzzzyyyzzzyzzzyzzz{yzzzzzzzzz{z{yz{{y{zyzyyz{zzz{zz{{zyzzzyzzzzzzzz{zzyzyyzz{{{{zzz{zyzzzzyyz{{{||{zz{zzz{z{z{z{{zz{{zzzzzzyz{{{|{{zzyy{yzzy{{{{{zzz{zzzy{zzzz{z{z{{zzyzzzzz{z{zz{|{yyzxz{yyzz{{z{{{zzyyyzzyzz{{yz{zzzyyzzyzzz{z{zyyzzyxxyxxyzyyzzzzyxzyyxyyyzyzzzzzzzzxxzxyzyzzzzzzzyzyxyzyy{zzzz{zzzzxwyyyzzz{zzyzyyzyyyyxyyyyzzzyyyzyxyyy{{zyyyzz{yyyyyyyyyzzyzzyyyyyyyyx{yyyyzzzyyyyyyyyyzzzzzz{zzyyyyyyyzz{zy{{zxxyyzxyyzyxzzyzzyyyyzwyyzyzyzyyzyyzyzyyzzzzzzz{zyyxyyyzzzzzyyy{yyzz{yyzyzzzyyyzyzzyzyyzyzzzzzzzzzyyzyzxyz{zyz{zyyzzyzyz{y{yz{{zyyyzyzzzyz{z{zz{{zyyzyzzz{{|{{z{zz{yzzzz{z{zz{z{zzzzzyyy{{zz{{z{{zzzzz{zzz{zz{{zzzzzzyz{{z{z{{{z{zzyyyyzz{zzzz{{{yyzzy{z{z{{{{{|{yzzzyz{z{z{{{|zzz{z{{yz{{yzzz{{zzzyzyzzyzz{zzz{{zyyyzyyz{|zyzzzzyzyyyzy{zz{{zxzyxxyyxyyxzzzyzzzxyzyzyxyzzzzy{zzzyzxxzyyzy{yyz{yyyzyyxxyzzzyzyzzzzyxyzyyzzzzyzy{yzzyzyzyyyyxyzzzzxyyyyxyyyzyyzzyyyzxyyyyyyyzyyzzyyxyyyxyyz{yzyzzxxzyyxxyyyzyzxzzzxyyyyyyyzzz{yz{zzxyyyyxzyyyyzxzzyzxxwxyzzxyy{yyyyyzzzzyy{yyyzzzzyyyyyxzyzzx{zyzzyyyyyyzyyzzz{z{zzzyyyyyzzzyzzz{zyxyyyzyzzz{z{zzzzxyyzyyzz{{zzzzyzzyzzyzzz{zzzzzzzyyyyyzz{zz{{z{zyzzyy{zzzyzy{zzzyyyzyzzz{zz{zz{{yz{{yzzzz{z{{{zzz{y{zzz{{zzz{{zzzyyzxzyz{z{zz{zzzz{yzzzzz{z{|{{yyyyzzzzzzz{{{z{zzxzzzyzzzzz{{{{zzzyzzzyzyzzzz{{z{zzzzyxz{zzy{zzzxyyyyzzyyzyyzzyyzxxyxyxyyzzzzzzyyzzzyxyzzyyzzzzzxyyyyywzzzyzzz{zyyyzxxy{z{yyyyyyzyyyxyyyzyzzz{zyyzyyxyyyzyzzzyzzyyyzyzxxzyxyzz{yzyyyyxyyzyyyyzzyxyxzxxyz{xyyyyzyyyyyxxzyyzyzzyzzyxyyyyxyz{xzyzzyzyyyyzxyzyyzyyyzyyyyyyyyyxyyzzzyxzxyyzyzz{zyzzzzzyxyyyyzyzyzzz{yyyyyxzxyyzzz{zzyxyyyyyyyyzzyz{zyyyzyzyyzzzzz{zyyzyyyyxyzzz{yz{yyyyzzyxzzz|zzzzzxyyz{yyyzzzzzzz{yzyyzyzzzzz{{z{z{yzzyyzyyzzzz{{zzzzzyyyzz{zy|z{{{{zyyzzzz{zyz{zz{yzzzyzyz{{{{z{z{yyyyzzyy{|{z{z|{yy{zzz{zzz{{yz{z{zz{zyz|zzz{{{{zzzyzzyzz{zzyz{zzyyyzyyyz{zzyzzzzzyyxyyyyzzzzzzyyxyyyyxxyy{yyyyzzzyyzxxyzzzyzzzzyyzxyyxyyyyyyzzzzyyzzxxxzzzzzyyzzyzzyyzyzzzzzzzzyxyxyzyyyzzyyzzzyzyzyyxxzzzyyzzzzyyxyyyyyyzzzzzyyzyyzyxyxzxzzy{yyzyzxyxyyyzzzyzy{zyxxyxyzyyzzzzzyxyyyyyyzyzyyyzyzyzxyxzzzzyyyzyzyyxzyzzyyyzyzzzzzyyyzyyzzzzyzzzzzzzyzyyyzyzzzyyzxyzyyyyyzzzzzzy{zzzzzyyzyzzzyz{z{yyyxyzy{{yyzz{yzyyzyyyzzzyzzzzz{zyyyzzzzzzzzzz{yzyyzz{z{zyzzzz{zzyzzzxy{zzz{zzzzyzy{yzyz{{z{z{zyzzzz{z{z{zz{{{yzzzyz{z{zzz{zzzzzzzyyyzzz{y{yz{{zyzyz{yzzz{|{zz{zzxy{zzz{zzz{{{{zyzyyzzzz{zzyz{{zxzzzzzzyzzzzz{{zyyyzyyyyzzzzyyzyxyyxxxxxzz{zzzzzzyyyyyzyzzzzzyzyxyxyyyyzyzzzzzz{xyyyzxw{yzzyyz{zyyyxyyy{yyzyyyzyyyyyyyyyzzyyyzzzyxyywxxzyzyxyzzyyzxyyyyzyyyyzzzyzxyzyyzyyxyzzzzyyxyyyyzxyyyzzyzyyyyxyxxyzy{zzzzyxyyyxxyyzyyzyy{yyyyxzyyxyzyy{yzyyyyyzzyzzzzyzzyyyyyzyyyy{{yyz|{xzyyyzzyzyyzzzzzyyyyyyyy{zzyzzz{zzyyzxyyyzzzz{z{yyyyyxyxzzy{yzzzzzyzyzzz{zzzz{yzzyyzyyyzzyzzzzzzzzyyyyyy{yzzzz{zzzzxyyyzyzzz|z{{zxyyzyzzyz{zz{zzyzzzzzzzzzzzz{{zzzyzzzyyy{{z{z{zzyy{zyyzzzz{z{zzzzzyyz{{zzz{{z{{zzzzzzyzzy{zzzzzyzzyzyyzzzzzyzz{zzyzzyzzxzzz{{{zyyyyyyyxyz{yyzyxyyyzxyxyzzzzyzzzyyxzyxyxzyz{zy{zyzyxxwyyzzzzzzzzyyyyyzyyyz{zyzy{zzyyxxzxzzy{zyzzyyyyxyyxzzyyzzzxyyyyyzxxxyyyyyzyzyyyxyyyyyzyzz{yyxyyxzyyyyyzzzzyzyyzyxyyyyyyzyyxzyyyyyyyzzzzyz{zyyyyzzxxzzyzy{yzzyyyyzxyyzyyyzz{yyzyyyyyyyz{zy{zzyyzzxzxzz{yzz{zzxxyyyyyzyz{{zzzyyzyxyyz{zzzzz{yzyyyyyyyzyzzzzzzzyyyz{zyyzz{yzzyzyyyyyyy{{{yy|yzyyzyzyyyyzyz{{zzzzyzz{yz{zz{yzz{zxzzzyyy{{{z{{{zzzzyyyzz{{zzz{{{z{zyzyzyzzzz{zz{zzzzz{yyz|z{{{{{zzzyzyzzzz{z{z{{zyyz{zz{z{zy{z{|zzzyyzzz{z|{z{{zzyyyzyzyzzzzzz|{zzzzzyzzy{{zyyzzzzyyxyzyyzzyzzyyxwxyxxyxzyzyzyyzyxyyzxyyzyyzyzzzyyyyxyyxyyzxzzyyzyyxxyyxzzzyzyyzzzyyxxxxyyyyzzzyzyyyyyyyzzyyyzzzyyyyyyxxzyzyyzzyzzyzyzyy{yzyyzzzyxyxzxyyxyyyyyzzyxxxyxxxyyzyzzyzxyyyyyyxxzyzzyyzxyyyyyyxyzyyyzzzyyyxxxyyyzyy{zzzzyyxzyyyzxzzz{|zxyzyyyyyzz{zzyzzzzyzzyyyyzzzzzz{yyyyyzzzyzyzzz{zzzzyxyzyyzzzz{zzyzzyzyyyzzzzz{{zzyxzzxyzzzzzzyzyzzyyyyyyzzzy{zzzzzyzyyzzyzy|z{z{zzzyyyzy{z{zzzzzzyyyzzzzz{{zz{{{{zyzyyzyyzzzz{zzzzyzzyzyyy{z{z{zzxzzzzzzzzz|{zzz{yyyzzzz{zz{{z{{zzzyzz{zzzz{{z{zzyzyyzyzzzz{{zzzzzyzzyyzyzzzyzzzyzzzyyyyyz{zyzyyxyyyyyyyy{zzyzzzyyyyzyxyzzyyyzzzyyyxyyxzzzzyzy{zzzyzyyyzzyz{zxyzyyzxywyzzyyzyzyzzyzxxyyyy{zzzzz{{yyyzxwyyyyxyyy{yzyyzyxyzzyyyzzzyyxyyxyyzzzzx{zzyzzyxyxyyyzyzz{{zyzzxxxyyzyyyzzzyyyyyxyyy{zyyyzzxxxyyyyyzzyzzyzzyxzyyzzyyyzzz{zzzyyxzyxyyzzzzyzzyxzyyyzzzyzzz{yzyyzzyyyyzyzyzzy{zyyzzxyyyyyzzzzzzzyxyzzzzz{zz{zzzyzyyzyzzz{zyz{{zyyzzzyzzzy{{zz{yyzzzzzyz{zzzz{zzyyzyyzyzzz{zz{{{yyzzyzz{{zzzz{{z{yyzzzzzz{|z{z|{zyzzzyzzzz{{z{zzyzyzyzyyz{z{|zzzyz{yyyzzz{{zy|{{zzzzyzzyzzz{{{zzzzxyz{yyzzzzz{yzyzzyyyyyzz{yzyzyzzyzxyyyz{yyzyyyzzyyxyxzzzzyzzzyyyzxyyxyyzzy{z{zzzyxxxzzyzzzzzzxyzzyyyyyzzyx{yzzyzyzxxyzzz{y{yzyyyyzyyyzyyyy{zyxyyyyyyyyyyzzzzzyyyxyxxyyyzyzzyzxzyzzxyyzzzyzyzzyyyxxyyyyzzzyyz{yyzyyyxyyzzyzz{zzyyyzxyyzyzzxyzyzyyyyyyyzzzzyz{zyxyyzxyyyzzyyzzzyyzyzyyzzzyyzyzyyzyyyyzyyzzyzz{yzyzyxyzzyzz{zz|zzzzzzyyyzzyzz{{yzyyzzzzzzy{zzzzzyyyzzzyyzzz{zz{zyzyyyxyyz{{{{zzzyzyyyzzzyzz{zz{zyzyzyyyyz{zz{z{zyzyzzzzzzzy{zz{yzzzyzz{zyz{z{z{{{zzzzzyz{zzzz{{{zzzzzyyz|{z{z{{{zzzz{yzyy{z{{{z{zzyzzzyzzz{z{{|zzzyyyzzyz{{{z{zzzyyzz{zyyz{yz{zzyxyyzzyyzzzyzzzzzyyyyywxxzzxzzzzyyxyyxyyyyzyz{zzzyyyyyxyyzzyzzzz{yzyxyxzzzyzyyzzyyzxyzyzzyyzyzzzyyyxzyyyzzzyzzzzzyyyzyyyyzzyzyyzyyyyyyxxzxzzyzyzyyxyyyyyyzyzyzzzzzxyyzyyzzy{zzyzyyzyxzywzxyzyyzyxyyyywyyyyyzyzzzyyxyyyxxyyyzyz{yyyyyyzyyxzzzzyzyyyyyzyyyzzzzyzzzzyzzyyyyzxyyzz{zyyyyyyxyzz{zzy{zyzyzyyzyzzyzz{zzzxzyzzyyz{{zyzzzyyyzzzxxz{{zzzzzyzyyzyzyzzzzzzz{yyyxzyyz{zyzz{{{yzzzzyyyzz{{{z{{zzxzyyyy|{zzz{z{zzzyzzzz{z{z{{{{zzzyy{zzy{{{{{zzzyzyzyzyz{{zz{{zzzyzzzyz{zyzz{|{zzyzzzy{zz{{{{{zzyzyzzyyzz{z{{{{{zzy{yzzzzy{zzz{yzzxyyyyzzzyz{yzzxyxyxyxyzyyyyzzxyyzxxyyzyzzyy{zzzyxyyyyz{zyzzzyzyyzyyyyyzzzxyzyyyyyxyxxyzzyyzzzyyzxyyyyyzyzzyz{zyzyyzyyyy{yyzzzxyyyxxyxyzzyzyyzyyyyxyyyxyyyzyyzyxyxxyxyyyyxyyzzyyyyxxxxy{zyzyzyyyyxyxxyxxyyyzzzyyxxzyxzyzyyyzzzyyyyyyyyzzyzzzzzzxzyyxxyzzzzzy{zyzzyyyzzyy{zyyz{yyyzyyyzzz{yzzz{zzyyxyzyzzzzzzzyyyyyzyzyyzzzzzzzyzyyyxyxzzzzxz{zyzxyzzyzyzz{z{yzxyzyzzzyyz{{zzz{yzz{yzyzyzzzz{{{zyyyzyyyz{zz{z{|zzyzzzzzz{yy{z{{zzyzyyyyy{z{{{{{{yzzzzzyz{y{y{z{yyyzzzyz{y{zzzz{z{zzzzxzz{zzyzzzzzyxzzzzz{zzzz{z{zzyzyyyzzzz{zy{zzyyyzzxyyzzzzyyxyxyyzyyyyzyy{yyyyyyyxyyzzxyy{yzzyxyyzyyzzzyzzyzxxyyyyyxx{yzzyyzzyyyyxxxyzzyzzyzxyxyyyyyzyzyyz{zyyxyyxxxzyzyyyyzyxxxxyyxyyyyyyzyyxxxyxyxyzxyzzyyzzxyyyyxzyzyxzyzyyxyyyyyxyyyzzzzzxyyyxyxyyyyyzz{yyyxyxyxyyzzyzzzxxxyxzyzzzzyzzzzyyyyzyzyyzyxzzyzyyzyxxyzzzz{{{y{yyzyxyyzyzzyzzyyyyzyyyyxy{yzyzyyzzzyzyyyzzzzyzzzyyxyyzzyzzzzz{zzzzyyyzzyzz{zzzzzyyzy{zzyzzzzzzzzzyzzzzzyzzz{yyzzyzzyzzyzzz{z{z{{yzyyy{{zz{zzzzz{yzzzyzyzz{{{{zzzzzy|yyz{z{{zzyzy{yy{zzy{{zzy{zz{zzyzzzzzz{{|yz{zyzzy{zyzzzzzzzzzzzyzzyyyy{zzz{zzyyzyxyxyzzxzzyzzzyyxxyxyxxzyyyyyyzyyxyywzyzzzyzzzyyyzyzzzyyyyzzzyxyyyzyyzzzyyyzyyyxyyyyyyzzyyyzzyxyxyxyxyyyyyzzzyyyyxyyyyxzyyyyzxxxzxyyxyyyyyyzyyxyyxxyyzzyzyzzzyxxyxyyyyzzyyyyyyyxyxxyyyyzyzzzzyyxyyxyyyyzyzyzzzyyxyyyxyzzyzzyyxzyyzyyxyyzyyyzyyzyyyyzyz{yyzzzzyxyyyyyyzzzzzzyzzzyxzyzyyzyyzzyyyzyyyyyyyyzzyz{zyyyzyywzyzzy{z{zzzzyyxzzzzzzzzzz{yyyyyyzzzyyz{{zzyzyzzyyzzz{zz{{yyzzzyyyz{{yzzzzyxxzyzzyzzz{zz|zzzzzyzzzzzzz{zz{zzzzzzzyz|yz|zz{zyzzyzzzyzz{z{{{zzzz{zyy{y{{zz{{z{yyyzzzy{zzz{z{{zyxzyyyz{yzz{{{y{zxyyyxy{zzyzzzyzzxyyxyyz{yzzyzzyyxxxyyyzzxzyzyxyxxyyxxxyyyzzzzyzxxxyxyyyyy{yyyyzyyxyxyyyzyyzzyyxyxxyyxxyyzxyxzyxzxxxzyyzyyyzzzzyxyyxyyyyzyxzyzyyyxyxyzyyyzyyyzyxxyzxxxyyxyzzzyyyyxxxyxyxzzzzyzyxyzyxxxyyzyyzyzzxyyyxxyxxyxyyzyzyxyyyyxyzyzzyzzyyyzxxyxyyyyzyzzyyyyyyyyzzzzzzzzyyxyyyyyyzzzxzzyzxyyxxyxxzyyyzzyzxyzzyyzzzyyzzzzxzzzzyxyxzzzyzzzyzzyzyyy{{zyz{zzzzyzyyyzyzzyzzzzyzzyyzzy{zyzyz{zzyzyzyxxzz{zzzzzyzzzyyzyzz{yzzzz{yzzzzzzyzzzzzzzzyzyyyzyy{z{zzzzzyzzyxyyyzzyz{{{yyzzyzzzzz{z{z{zzyzzzzyz{y{zyyzzzzzyzyyyz{{yy{zyzzzyyxyyz{zzyzyzyyxxyyxyyyzzzzzyyyyyyyyyyyzxzzzzzyyxyxxyyyyyzzzzzyxyyyzyzyyyzyzyzyyyzyyyzyzzxyzzyyzxxxyxyyzzyyyzzyyyyyxyyzyyyyzyzxyyyyyyzyzxyzzyyyzyxzxyyyyzxzzzyyyxyxxxyzzzyyyyzyzyxyxyzyyzyzzzyyyxyyyxyzyyyyyzyyyxyxyyyyyyyzzxyyyyzxyyyzyyzzyzyxyxyyy{yzyzz{zzyxyyyyyxyzyzzz{zzzyxxyzzyzzyyzyzyzyyzyyyyyzzyzzzyyzyzxyzyzzzzzyyzzyzyywyzzzyzzyzzxyzyyyzz{yzzyyyyyzyyyzyyyzyzzzzzyyzzy{yzyzz{y{{zyyzzyyzzzzzzy{{{yyzyyyyz{zzz{{zyzyzzzzzzzyzzzzz{{zzzzzzz{{z{zzzyyzzzzzzzz|zz{{zzzzzyy{zzyz{{z{{zzzz{yyz{zy{zzz{yzyxyzzyyyzzz{{{zzzyyyyyy|zzyzzzyxzyyzyy{yzyzzyzyxyxyyyyxyzyzzzyyyxyxxyxzzzzzyz{yyxyxyxxyyyzzzzzzyyyyyxyyyzzzz{zywyyyyyxzyzyyzyyyyxxxyyyzzzxzzyxyyyxxxxxyyzxyzzyyxyxxxxyzyzxyzzzxxyyyyyyyyxyxzyyyyyyyxyyyyyzxyzyyyxxxyyxyz{zzzzzxxxyyxxxyyyxyxyzxyyxxyyyyyyyyyzzyyzyyyxyyyzzzyyyyyyyyxzyyyzzzzyzyyyyyxyyzyzyzzzzyyywyyyyy{yyyzzzyyzzyzyyyzyyyzzzyxzyxyyyyzzzzz{{yyxyyzyy{yyxyzzzyzzxyzxyzz{{{zz{y{zzzzyxyzzz{{z{yzzyyyyzzzzyzzyzzyzxyxyy{zyzzzz{zyzzzzyyzzyyz{{z|yyyyzzzyzz{yz{{{zzzyzyy{z{{{{zzzyyzzyyzzy{z{{{{zz{yzyyzzy{z{{z{zzyyyyzxy{zzy{{yyyyyyzyyzzzzzyzyyzzyyyxxyyzyyzyzxxxyyyyyyz{yyyzyyyyxyxxxzyyzzzzzyyyxxxyx{xz{yzzyzyyyyzyyzyzzxzz{zyyxxxxxyyzzyyyzyyxxyxyxyyzyzzzzyyyxyyxyzzzyzzyyyyxxyyyxyyyyzzzzyyywxyyxyyzyyyyyyyxyyyxyyzzyyyzyyzyyxyyyyzzyyyzzyyxzyxxxyzyyyzyyzyxxyxxyyyyxzzyzxyyyyyxxxzyzyzyzyzyyyyyyyyzyxyzzzyyxyxyzyzzyy{{yyyyzyyyzzzyzzyzzzzyyzxzzxzyzzzyzzyyyyyyxyzzyzyzzzyyyyxxx{yzzzzyzyyyxyyzyzz{zzy{{yyyzzzzzzyyzzzz{zyzzyyyy{{zzzzzzzyzzzyyzz{zzzzzzyyzyyzzzyzzzz{{|zyzyzzyy{{zz{z{{zyyzyzyy{{zzzzzz{zzzzzyzyzz{{zzzzzyyyyyz{y{{zz{{zyzyyzyxzzyzz{zyyyzzyzzzy{zzyzzzzyzyyyyyz{zz{yyyxyyyyyyxxyz{{yyyyyyxxxyyyyzxyy{zyyxxyxyyzzzzzyzzyzxyzyxzyyy{xyzzzyxyxyyxyyzzyzz{yyyyyyyxyzyzyyyzyyzyxxyzzzzyzzzzyyzxyyxzyyyyyy{zyxyyyxyxyzzxyzzyzyyyxyyxyyzyyyyyzxyyyyyxyzyyxzzzyxxzxyyyyyyyxzyyzzxyyzyyyzzyyxzzyyzyyyyxxyzzzz|{yzyxyxzyy{zzyzzyzzyxyyzyyzzzzyzzyzyyyzxyzzzzz{zzzyyxzyyyzzz{zz{zzxyyyyzy{zyzy|zyzyzzzzzyzzzzzyyz{zzzzzzyyz{{{z|{yzzyzyxy{zyyyzzzzzyzz{yzyz{zzz{{zzzz{yyzzzzy{{{{zzzzzzzyz{yz{zz{zyyzzzzzz{zz{z{zzyzyyzyy{z{z{{z{{zyyzy{zzz{{z{|{{yzzzyyzzxz{{z{{zzzzyzyzyz{{y{zzz{yyyyyxzzy{yxzzyyzyzyxy{zzzyyzzxyyxyxyyyzzzzyzzyxxxyyzyyy{yyyzyyxyxxyyyyyzzyz{zyxyxyyx{yz{zyyzzzyxxyyywzxzyyzyzyxyyyyzxyzyxyzzyyyzyxyxyzzzyzyyyyyzyyxyzzyzzyyxzyyyyyxxyyzyyyzyzyxxxyyyyyyyxyzzzyzyxxyyxzyzzzyzzyyyyzyyxyyxyzyyzzzyyyzyyxzyyyyyzyyyyxywxzyyzyyyzzzyyxyyyz{{yzzy{yzzyzyyy{zzzxz{zyyyxyyyyzyzyzzzzzyzyyyzxxyzzzzzzzxzyxyxyz{yyzzz{zzxyyyyyyyzzyzzyyzyzzzyyyz{z|{zzxyyzzzzy{zz{yzz{zyzyyyyxzzz{zzzzzyyyzyzyyzz{zyz{yz{yzyz{zzzzzz{{{zyyyzzyy{z{z{{{yzzzyzz{{{{zz{zzzzyzzyzzzzyzzz{{zyyzyzyzz{{zzzzzzyyyzxzyz{yzyzzzzyyzyyyyz|zzyyzyyzyxyyyzzzyyyyyxxyywxzxxyzyyzzzzyxyxyyyxyzzzzzyzzyzxxywyyyzzyyyzyzyxzyxzyyzzyzz{zzyxzyxyzyzzzzz{yyyyyyyy{zzyyzzyyyyzyyxxxyzzzzyzyyyyyyyxzyyyyyyzzxzxxxyyyzzyyzzyyyyyzyyyzzyyyyyzyyyyyxyyyyz{yyzzyyyyxxzyzzyzyyz{{yyyyzzyyzyyyy{zyyyyyzxyzzyzzzyzyyyyzxyxyzzzyy{{zxyyyxyyyyzzyzyzyzyyyzyy{zzyzzzzyzyyyyyyyzyyzzzzzyyyyzyxy{zzyz{zzyzzyyyyzzzyyzzzyyyzyzyy{zz{zz{zyzyzzzyzzyz{zzzzzyxyyzzyzz{{zz{z{zyz{yzy{{zzzyzzzyyyz{zyzz{z{{z{zzzzyyzzzzzz|{{z{zzzzzzzzzz|y{{{zyzzzzyyzzzzzz{{zzzzzz{zz{z{{{{{zzzyyyyzzyzz{{zzzzyyzyyyzzz{zz{y{zyyyyyzyyzzzzzyyyxzzyxyxzyzzyyyyyxxyxxyyyzzyyyzzyywxyyxzyyyyzyxzyyyxyyyyyyyxzyzyyzxxxxxyyyzyzyyyxyywyxyxzzyyyyyyyyxyyxxxxyyyzyyzzxxxyxxyyyzyzyyxxxxyxxxzyyyxyzyzxyyxyxyyzyzyyzyxyyyxxyyyyxyzyzzxxxyxxxxxyyyyzyyxxyxxyxyyyywyzzzxyyyxxxxzzyyyyyyzyyyzxyxyzyyyyyzyyzyyyzyyxzzzzz{yxyyxyyyzzyyz{zyyyyyxyyyyzyyzzzyyyxzxzyyzzzzz{zzyyyy{xyzyyzyyyzzyxzyyyyyzyz{zzzzyyyyyyyyzzyz{zzzzyyzyxyyyzzzz{{zyyyyyzzyz{z{{z{yzyzzzzyzzzz{zz{{{yzyxzzzyzzzzz{z{xzzyyyzzzzzz{zzzzyyyzxyzzzzyzzzyzzxzyzzyzzzzzz{zzyyyyyzzzyz{{{{zyyyyyyxxyzyzzyyxxyxyzywyyzzyyyyyyyxxxyyzyyyzyzzyyxyyxxyyzzyyyzyyyxyzyyyyzyyzyzzyxyyyxyyyyyzyyxzyyyyyxyxzyyzyzxzxzyyyzyxyzzyyzzzzyyyyyxyzyzwxyzzyyxwxxyxyyyzyyzyyyxyxxyyyyyyyzyyyyyzyyywzyyxzyzzyxyxxyxxyzzzyyzyxyxxxxyxwyyzzyyyyyxyxyyxyzxyyzyzxyyyyyxxyzyyzyyzzxyyzwyxyzzyzyz{yyyxyyyzzyzyz{zzyxyyxyxxyyzyzzzzzzyyyyyyxzzyyzzzzyxxyyzxzzzyzz{yyxyyyyyxzz{zy{zxyyzz{yyzyzzzzy{yzyzxyyzzyzyzy{{{yxzzxyyy{zyzzzzz{zzzyxyzzzzzzzzzzyyyyy{{zzy{z{zzzyyzyzyzzzyzzzz{|zyzxyzyzy{z{z{{{yzyyyyz{z{{zz{{yyyyy{yzzzzz{zzzzyyyzyzyyzzyyzzzzzyyyyyyy{zzxx|zzyyxyyyxyzzyzzzzxyxyyyzyzzzxyzzyyyyyzxyxyzyyzzyyxzxxyyyyzyzzzyzzzyxyzyxxyyzyyzyyzyyxxyxyyyzyyzyzyxyyyzyxzzyzyyzyyyzyyzyxyyyyzyyyzyyxyyxyxyyzzyyyyxxyyxxyyyzyyyyyxyxyxyxyxyyyzyyzyyyxyyxyxyzyzyzzyyxyyyyxzzzyyyyyxzzwxxyyxyyyyyzyyxzyyzywxyyzzz{yyyyyyzyxzyzyyzzzy{yyyyyyzzyzzyzzyyzyyxyxzyzzyzzyyyy{zyzyzzz{zzzzyzzyyyyyz{zzzz{zzzyyyyy{zzzzzzzzzzyzzxzzzzzzzz{yzzzzyzzyzz{{z{z|zyyzzxyyzzyz{zzyzzzyyy{yz{{yzzzzzyzyyzzzy{zzz{{zzzzzzzzyy{{{|{{{zyzzzzzy{zzz{z{|yyyyz{zyz{zzzz|zzzyyyyyzzzzz{zz{yzzyzzzyzy{z{z{zzzxyxyyyyzzzz{z{zzyyyxzyz{zzzzyzxyxyxxyxxyzzzzzzyxyyzxyyxy{yxyzzzyyxyyyyyzxyz{z{yyyyxxyyyyzyxyyyyyzywyyxzyzzyzzzxyyzyxyyyzyyxzzxyxyxyxxwyzyyyyyyyyyyxyyxyyxyyyyyxxyxzxyxzxzyzyzyyyyyyxxyyzzz{yzzzyzyyyxyyyyzyzzyyyxyxyxxyyzyyzzyyzyzyyyyxzyyzyyyzzyyxzyxzzyzy{zzyxxyyyxzzzyyzxzzyyyyyyyyyyzyzzz{yzyzyyzzzyzzzzyyyyzyyxyxyzyyzzzzyxyyyzxyyzzzyzzy{yyyyzyxyzzzzzzzyyyz{zyzz{yyzzzzyyyyyyzxzz{zz{{zyyyzyyyyzyzzz{y{{yxzzyyyzz{zzzzzyyzxzyzy{yzzzy{zyyyyzzyyz{{{{z{zyyzzzzz{zzz{zzzzzxyzyzyzzzzzyz|zzyyyzzyyzzyyz{{yzzzyzzyyyzzyzz{z{yyyzyyzy{zzz{{zyyyyyyyyzzzyzxyyxzyyyyxzyyyzzyz{yxyxxxyxyzyzzzz{xyyxyyyxyyzyzyzzyxyyyyyyyyzzyzzzyyzyxzyxyyzzyyyzyyxyyyyxyyyyxyzyyxyyyyxyxyzxyyyzyyyyyyxyyyzzxyzyxxyxxxxwzzyxyzzyyxyyxyyyxxyyyzzzyyyyyyyxyzzzzz{zyyyxzxxxzyyzyyyyyyyxxxxxzzzzx{zyyxyyyxyxyyyzyzyzyyyyzyyxyzzzxyyyyxyyyyxyyzyyyzz{wyyyxzyyyyyyzzzyxyzyzyyyyzyzy{zyzyxyzyxxyzyyyzyzyyyxzyyyz{z{zzz{zzyxyyzyzzz{{{zyyyxyzzyzzzzzzzz|{zzyyyyz{yzzz{zz{yzzzyzy{zyz{z{{zyzzzzzzzzzz{zz{{zyzyyyyzzz{{z|zzyzzzzyyyyzzz{z{zzzzzzzyzyzzyzz{zyyzzyyzzyzz{zy{zyxy{yy{zzzyy{{zzyzyxyyzyzzz{yzzzzyyyxyyzzzzzyyyyyyzyyyxyzyzyyyzyxyyyyxyyzzyzzz{zyxyyxyxzyyyzzz{yyyyzxyxyyzzyyzzyyxxxxyxzzyyzzyzyxzyyyywxzyyyyzzyyzyxyyxyzzyxzxyyxyyxyxxyzyyyyxzxxyyyyyyxyyyzz{zyxyyxzyyzy{yzz{yzyyyyyyyxzzyyzyzxxyyyxxxxzxzxzyzyyyxyyyyxzyzyzyyyyyyzzyxyyyyzzzzyyyxyyyzxzzzyz{{yyzyyxyzzzyzyzyzyyyxwyyyzyzyyzzzyzxzyyyyzz{zzzyz{yyxyyyy{zzyyzzz{zyzzzzyz{zzyzzyyyzzyzyyzzzzz{yzyy{zzy{yzzyy{z{{zzzyyyzy{z{{{z{|{yzzzzyy{{zy{zz{{zzzzyzyzzzzzzyz{zzzzzyzzz{{{y{zzyzzzzyzz{zzz{zzyyzyzzzzzz{z{{zzzzyzzyzzz{zzz{zzzy{yzyyyyyzzzzzzzyyxyyyxz{yzyyyzzyyyyyyyyyy{yzyzyxyyxzyxyzyzyzyzyyxyzwxxzyxzyzyzyyxxyxyyzzyzyzzzzyyyyxxyzzyzyzzyzyxyyxyxxyyyyzzzyyzyyzywyyzyyzyzzyzyyyxzyzzzyzyyyyxxyyxyyyzyyyzzyyxyxyzyyyzyyyzyxxyxxyxxzyzzzzyyyxywxyxxyzyyyyzyyyyzxxxzxyzzyyzyzyyyywxxyyzyyzzzyyxyzxyyyyzyyz{zyyyxyyyy{yzyzzyzzyzyxyzyyzzyzzy{yyzxyyyyyzzyyzzyyyyyzyzxyyyyzzz{zxxyyyyyzyzxzzzzzyyyzxyyzzzzyyzyyyyzyzyzzzzzz{{zyyyyyyyyz{zzz{zzzzzyzzxyzzzz{z{{{zyyyzzy{{zzzzzzyzyyzyzzzz{yzz{{zyzyyyyyz{z{zzzzzyzzyyyzzzzzz{zzzzyz{zzzzzzz{zzzyyzzzzyzzz{z{zyzzzzyzzyyzz{zzz{zzzxzyyzyy{zzzzzzyyzxyxyyyzzzzzyzyxzyxxxyyzyyzyzyzyyyxyyxyyzyyzzzyyyxyzzxyzzyzzzzxyyyxyxzyzzzyzzzyyyxxyyxzzzzy{yzyxyxyxyxyzzyyzzyzyyxyzyzyzzyyzyzyzzyxxyyyyyzyy{y{yzyyxyyyyyyzyzzyyyywyxyzxzyzzzzxyzyxyyyxzyyyyzzyyyxxxxyzzxxzyyzyyyyxyzyyzyyxzyzyyyyyyyyzyzzzzzzzxyyzyyy{yyyy{zzyzzzxxxy{yyzzz{zzyyyyyxxy{{zz{zzyyzzzyyzyzzyzzzyyxyyyyyyz{zzzy{zzyyzyzzzz{z{yyzzzyzyyzzzzzzzz{{{yzyyzyzyzzyzyzz{zxyzzzzyy{{zzzzzzxyyzyyyyz{zzz{zzzzxzzyzzz{zz{{{zzyzyzyzzz{zzz{z{yzyyzzzzzzzz{zzzyyyyyyz{zy{{z{{{yyyyyyyzzzzz{{|zzzyyyzzyzzz{{{zzzyzyzyzzzyzyzzyzxzyyyyyyyzxzyzzyyyxyyyyyz{yzyyyyzyyzyxyyyzyzzz{zyyxyyxyzyzyzzzy{yyyzxyyzzzyxzzzzyyyxxyyyxzyzzyzxyyyxyyxzzyzzyzzyyyxyxyyyyyzzyyzxyyyyxyyyyyyyzzzzxyyzxyxyzyyzzzxyxyzyxxyyyzyzzzzzyyxyxzxzyyzxzzzxyyyyyzxxzzzyyyyzzxyzxxyyyyyxyyzyyxyyzyxyyyzyzzzyyyxyyxyzzzyzzzzyyzxyyxyyzzzzzyzyxyyyxzyyzzxzzzzzxyxyyyyyyzyz{yyzyyyyyzyyzzyzyzzyyyzzxxyyzzyzzzyzzyzyzzzzz{zzzzzzyzzzyyzzyyzzzy{zzyzzyyyz{zzzz{{zyzzzyzzyzzyz{{{yy{yzyzzy{{{zzz{{zzzyyzyz{zyzz{zzyyyyyyz{{{{z{{{{zzyyxzzzyzz{{{zzyyyzzzyzzz{zyyzzzyzxzzzy{z{z{zyzyyyzyyyz{zzzzzyyyyzyyyxzyzzzyzzyyyxyyxxyzzzyyzzyyyyywyzzzyyyy{zyxzxxyyxzzzyyz{{zyyyyxyyyzyyyyzzyyyyxxxwyzyyyzyzzyyyxyyxyzyxyzyyyxyyxyyyyyyyyyzyyyzxyyxyyyyyzyzzyxywzxxyzzyyyyyyyxyyyzxxzyyyzzzzyyyxxyxyxyyyzzyzxzyzyxxwyyyxzzzzyyyxxyyyyzzzzzzzxyyyxxxyzzzzzzzzyyyyyxyyyyzzzyzzzyyyyyzyzyyyyz{{yyyyyzyzzzyyz{{zyyyyzxxyyzzzz{z{yzzyyyyyyyyzyz{zyzyyzzzyzzzzzz{yyyyyzzyz{zzz{|zzzzyyyzzyz{{zz{zzzzzyzyxyzzzzyy{yzzzzzyyyz{zzzzzzzyzzyzzzy{zyy{zzzzyyyzyzy{{{{{{{yzyyzz{zzz{zzzzzzzzzzyzzzyzz{zz{zzyzzzz{zzzz{zz{yzzyyyyzzz{yzz{z{zyyzyzzzzyzzzzyyzyyxyzxzzzzzzzyxxyzxxyyyzzxzxzz{yyyxyzyyzzyzyzzyyyxxyxzzyyzyz{zzyzyyyxyyyyzyyzyyyyxyxyyyyyyy{{zyxzzyyyyyzyxx{zyzyyyxxyyyzzyyyzyyyyyxyyyyyyyyyzzyxzxyxyyzz{yzyzyyyxyyxyyzzzyzyzzyyyyyyxyzzzxzyzyzyyxyyyyyyzyz{zxzyyyyyxwxyzyy{zzxyzyyyyyzzzzzz{{zyyxyyyyz{zyyzz{zyyyxxzyzyzzzzzzyyzyyyyxyxzzyzzzyzyzyyyxzzyzzzzzyxzyyyyx{yzyy|zzyyyxyyyyyyzyyzzzyzzzzzzyyzzzzz{{zzzyzyzy{zzz{{{{zzzzyyyyz{zzz{{z{yyzyyzzzzzzz|{{zyzxyzzzy{zyz{{{{zyyyyyzz}zz{{{{{zzyzxyzyzyzzz{{{zyzz{zyz{z{{zz{zyzzzzyz{z{{zz{zyzyyzyyyzzz{z{{z{zyxyyzxxzzzzzzzzyzyyxyzzyyzzyyxxyyyxyyyyzyyyyyzzxxxxxxyyxzyy{yzzyyxyxyxzxyxyzzzyyxyyyxzyzzzyxzzzyyxxxxxxxyyzyyzyxyxyzxxyyyzzyyzyyyyyyyyzyzyxzyzyyyyxyzyyxyxyyxyxxyyywxyzxyyyyzxxyxxyyxyxyzzzyyyyxyzxyyyyyzyyzyzxyxyyyxxzzzyzyyyyxyyyxxxyyxyyzyzyxyyxyyyyzyyzzyzzyyxyyyxyyyyxyzyyyyyxxxxyyyzyz{zyyxyxyyyzyzzyyz{yyyzzyyxyyzzzzzyyyyyyzyyyzzzyzzzyyxzxxyyyzyzzyyzzyyxyyxyyzzzz{{yzzyzyyyxzzyzyzz{zyyyxxyxz{zz{zzyzxyyyzyy{yzz{zzzzyyyyyyyzzzyzz{zzyyzyyzxz{zzzz|zyyzyyyzyz{yzz{z{{zyzyyy{zzzz{yz{{zyzyyyzzyyzzyzzyzxyzzzxyyyzzzz{zyyzyyyyzzzzyzzzzyyyyxxxyyzyyzxyyyyxxyyxxzxzzyyyzyyxyyyzzyyxzzzyyxxxyyzxzyzyzzzzxyyyyyyxxyyyxzzzyyyxyyyxyyyyyzyzyyzxxzzxxyyzyyyyyyyyxyyxyyzyyyyzyyxyyyxxyyyyyzyyxzxyxwyxzzzyxyyxyywxxyxyyyxyzzzyxzyyxyxxyzzzyzyzyyyyyxyxyyzxzzzyyyyxyyyyyzyzyyyzyyyyyywyyzzy{yzyzzyyyxyxzzzyzyzyyyzxzxyzyzyyyzzzzyyxyyxyyz{zzyyyxzyyxyxzzzzzyzyyyyxyxywyzyyzzyyzzyyyzyxyzzyyzzzzyyxzyzyzzyz{z{zzyyyyzyzyzzzzz{z{zyyyyyxyzyzzzzzzzyyzzyzzzzz{yz{{yzyyzzzzzzy{z{zz{yyzyzxyzy{{{zzzzyyyzyz{{{z{zzzzzyzyzyxzzzzy{zzzyzyyyzz{z{zzy{zzzzxyyyzyzyzz{y{zzyzyzyxyyzyz{z{{zyzyxyyyyzzyzyyyxywywxyyyyzyyyyyyyyyyxxyyyyyyzzzyyyyxyyyzyzyzyyyyyyyyyyyyyzzyyyyyyxxxyyyyyyyzyzyyxyyxyywxyxzxyyyzxyyyxxxyyyyyzyyyxyxzyxyxyyyyzyyxxxzxyxyyyyyyyzyxyxxxyzyyyzzyyzzyyzyxyxyyzzyyyzzyyxxyxzyyyyyyzzzyyxyyxyzyzyyyyz{xyxyzzyyzyyyzyzzzyyyxxyyzyyyzyzzzzyxzyzyyyzzzzyyyyyyzyxyyzzyzzyzyyzyyyyyyyzz{zxzzyyyyyyxyyzzzyzyxyyzzyyzzzyzyzzzzzzxyzyyzzy{z{yzzxzyyzzzzyyyzz{}yyxzyzyxzyzzzz{zzyzyzyzy{z{y{{zzyyyyyyzy{zyzz{zz{y{yzyzzzzzz{zzzzyzzyyzzzzzzzzz{zyzzyyzzzz{zzz{zzyzxzzzyzz{zy{{zzzzyyzyyyzyzzy{zzzzzzyyxzzzzyyzyzxzyyxzzzyyyyyzyxyyxyxyxxyyyzzz{yyyyyxyxyzyyyyzyyyyyyxxxyyyzyyzzyyyyyyxxzzyyyzzzxzyyyyyyyzxzyzz{yxywyyyxyxyzyzzyzyzxyxxyyyyxxyzyyyxxxyyxyyyyxyyzxxxxyxxxyzzzyzyyyyxyyxxxyyzxyyyzzyzyxxyxzzzzyzzzxxxxywxxxyxxxzyzyyyxyyzxyzyyzyyzyxyyxzyxyzyyyzzyzxxyyzxxzzyyyzzzyyy{xwyzyyyyy{zzyyyxzyyyyy{yyzzyyyyyzxyyyyyzzzyzyxyyxyyyzyyzzz{yyzyzyyxyyzzyyzyzyyyyyyzyzzzzzz{zyzxyzzzyyzz{zzzzyyyyzzyzzz{zzzzzzyyzyyyyz{zz{zz{{yzyzzzz{zz{zyz{zzyyyzzzy|z{z|{zzyzyyyyyzzz{yzzz{yzxzzyyyz{{{z{zzzzyyzxzzzzzzz{zyzzyzyzyzzzzzy{z{yyyyyzyyyx{zzzzyyyxyxzyyyzyzyzzxxyyyyyxxyyzyyzyyxyyyxzxyyzxzyzyyyxyyxyyyyyyzzyzyyxyxyyyzzyyxyzzyzyxxxyyxzzzy{yzzyyxyyyyyyzxzyyyyyxyyyxw{zyxyyyzyyyyyyxxyyyyyzyzyyyywyxyxyzyzzxyyzyxyzwxyyyyyyyyxyyxwxxxzyyzxzzyyyzxxxxxxyzyyyyyyxyxyyyyyyyyyzyzzyyyyzxxyzyyzzzzyzzyywyyyzyyxzz{yyyyxwyyyyzyyzzzzyyyyyyxzzyzzz{yyyyzyzzyyzzzzyzyzxyxyyxxzy{yzzzyzyxzyxxxyzyxyyzz{yyyyzzyzzzzzzzzyyyzzyzzzzyzyz{{zyzzyzxyy{{zyzzzzyzzzyzx{zyyzzz{zzzzzzyyy{yzzz{zzzyzzzzxz{zzyz{zzyyzyzzzzy{zzzzzzyyz{zyzzzzzzzzzyyyyyyzzzyzzzz{{{zyyyyyzzz{zzzzzzxxyzyzyyzzzz{z{xysxyxyxzyzyzzyyyyyxyywyzyyyyzzyxxxyyyxxyzyyyyyyxyyxxyzxzzyyzyzzzxyxxyyxzzzyyyyzzyyywxxwxyzzzzyyxyxyyyyxxzyxyzyyzyxxyxyxyyzxyzyyyyyyyxxzzzxyyyyzyyxyyxyxyyzyyyyyzyxyxxwxyyzyzyzyzyyxxxywyyyyzzzzzxxyyxxyyyyyyyxxzyyxzxyyxyyyyzzzyxzxyyxxyyyzyyzyyxzyzyyyyzzzyzzzyzyyxxyyzzz{y{yzyzyyyyyyyyzyzzzyxxzyyyxyyzzzzzyzyyyyyyxyyzyyyzzyyzyzxyyyzyzzzzyzzyyyyyyyyzzyzzzzyyyzyyyyz{y{yy{zzyyzyyyyzzzzzz{yzyyyzxzyz{zzyzzzzzzzyzzzxzyzzzzyzyyzyzyyz{zzyz{zzzyzyyyyz{z{zz{zzyyyzzyy{zzzz{{{zzzyyzxyzzzzyzzzyzyxyyyyyyzzz{zzyyyzyyzxy{{yzzyyyyzyyyyyyyyzzyzyyyyyyxyyyyyyzzzyyyxzyyyyyxzyyzz{zzyyyzyyzy{yyzzzzyzxyyyyzzzyyyzyyxzxyxxxzyzzyy{zyyyyyyyyyzzyyzz{zyyzyxyxxzzyyyzxxxyxxyyyzy{zyzyzxxyxyxyxzyyzzyzyxyyyxxyyxyzyyzzzyz{yxyyyyyyyyyzzywyyyxxwyyxzzyzyzyyyyxyxyzyzy{zzyzyyyzxyyzyzzyzzyyyyxyyyzyzzyzzzzxyyyzzyzzzzzy{yyyzxyxxyzzyxyzyzyzzyxyyyyzzzyzzyyyxyyyxxyzzz{zzzzzyzyyyyzz{zzyz{zzyzzzyzz{{zzzz{yzzyyyyyzzzzz{{{zyyzzyyyz{zz{{zzzyzyzzzyz{{{z|z{zzzzzyzzy{{{zzzz{yyz{y{zz|z{zz{{yzz{yzzy{zzzzzz{{yzzzyyz{z{z{zzzzyyzzy{y{zyzzzzzzyzyzyzyz{z{zzyzzyy{yyxyzz{yy{zzxzyxyyyzzzzzzyyzyyxyyyxyyyyyyy{zyxyxzxyxyy{zyz{zzyyxyyyxzyyzyyzzyyyzxyxyyzzzyyzzzyywxyyyzyyzyzz{yzyxxyyxyzyyyzzzzyzyxxxyyzzxxyxzyyyyyyyyzyyzzzyzxwyyyxyyyyyyyzzyzywxyyxyzxzxzyzzyyyzxywxyyzzzy{yzxyzzyzyxyyzy{zzzxyyyyyyyzzzzyzzyxyyxyyyzyzyyzzzyyzyyxyxyzzyy{zzzwyyyxyxzyyzyzzzyxxyyxyxzzzzzzz{yyxyyyyxz{yyzzyzzyyxyyyyzzzzzz{yyzyy{zzyzy{yzyzyzzzyyyyyzzzzz{zzzzyxzyyzzzzzz{{{yyyyyyyyy{{zzz{zzyyxyyzyyzzzz{|{zzyzy{zzzzyz{{zzzyzyyyyz{{{z{{{zyyzyyyyz{{{{z{z{{zzyyzzzzzz{zz{z{yzzyyz{zyyzzyz|zyzyzzzzzz{zyyzyyzzxxyyxy{z{{zzzyzyyyyyzzzyyyzzzyyxyyyxyz{{zzzzyzyyyzyyzyzyzzzzyzyyzyzxyzyzyzyzzzyyzyxyyyzyzyyzzyyyyyyyyyz{zyyzzyxyyxxyxyzxyyzzzzzyyyyxyzyzyyzyzzyzxyyyxyxzzyzzyyyyxzxzzzzzyyy{zyyyxwxxyzyyzzzy{yyyyxyyxyzyzzzzyzyyyyxyyzzzzyyzzyyyyyyyyyzyyzyyzzxyyxzxwyyzyyzzzzyyyyzyyyyzzzz{zyyzzyzy{{zzzyy{zxzzxyzyzyzzyz{zyzyyyyzzyy{zzzzzzzyzzzzyzyzzzz{zzzyyyyyyyzzzzzy{zzyyyz{yzzzy{zzz{zzzzzyzzzzy{{zz{{zyzyyzyy{{z{{{z{zyzzzzyzzzz|{{{yzyzzzzzyyzz{{{zz{{yzyyzz{z{z{|z{yzzzzzyzz{zyzzy{yyzzyy{zzzyzz{zzzzz{zzyz{{zyzzzzyzyyzyzzzzz{{{zzzyyyzzyzzzzy{{zzyzzyyyyzyzz{zyyyyxywxxxyyyzyxyzyxxyyzxxyxyyyzzzyxyyxyyzyyyzzzzzyxzyxyxyxzyzyy{zzyyxxxyxxzzyyzz{xxyyxyxyyxyzyyzyyyyyyxyyyyzyyyyyxxyyxyxyyyyxyzy{xyyxxyxxyyzyyyyyxxxyxywxxyzyyyyzyyxzxxzxyyyzyzzzyyyyxxyxxxxyxyyyxxwxyxxyxyyyzzz{zxxyyxyyzyyyzzyyyyyyzyyyzz{xyzz{yyyyxxyyzyzzyzzzxyyzywyxyzzzzyzzyyzyxyzyyzyzzzzzzyyzyxyyyzy{yyzzyyyyyyzyyyzyyzzzyyzyzxyyzzz{zzyzyz{yxyyxzyyz{z|{yzyyyyyzzzzzyz{z{yyyyyzzzzy{zz{{yyyyyyyyz{{y{{z{zyzyzzzzyyz{z{{zzyyzzyyy{zz{zzz{{yyyzxyxzzzzzzzzzyzzyyyyyzzzzzzzyyyyyzzyzzyyz{zzyzyyyyyxy{yyzzzyyzzxyyyyyzyyzzxzyywyxxyxyyzyzzyzyyxyyxywyyzy{yyzyyyxyzxxyyzyzzzyzyyyxyxzxzyzxz{zyxyxxxxwyzyzyzyzxyxyzyxyyzyyyzzzzxyyyxxxzyxyz{yzxyyxyyxxyyyyyzzzyxyyxwyxzyyyyzyyxyzyyzxyyzzyzzyyyyyyyyxyyyyzyzxzyyyyyxxxyyxzxyy{zzyxyyxyyyyxzzyzxxyzz{yyxyzzzzzzzyyyyxyyzyyyyzzzyyyzyyxyzzzzzyzzzyyyyxywzzzzyzyyzyzyyxyzyyyzz{zyyzzxzzzyzzyzxzzzyzzzyyyyzzzzxyzzyxyzzzyzzyzzzyyzzzxyzyzy{zy{y{{zzzzyyzyzzzzz{z{y{yzzzzzzzzzzy{zzyzyyzzzzz{{zzz{{zzyyzyyzz{{{z|{zzyzzzyzyzzzzzz{zzxy{zzyzyzzzz{zzzzzzyzyyy{zzzzz{yzyzyyzzyz{zzzzzzyyzxxzyzzyzy{zzzyyzyyzyzzzzy{yyzwyyyyyyzzyxyyzzxxyyyxxxyyyyyzyyzyyyxyyxyyyyyzzzyyyyxxyxxzzzyyzyzyyxxyyxyzyyyzy{yyyxyyyxxzyyyzxyyxyyyxyxyzzyzyzyzyyyyyxyzyzyyyyyyyyyxxxyyyyzyzxyyzxyxyyyxyzyy{yzyyyyxzxyzzzyzzzzzyxxyxyxyyyyzxyyyyyxyxyyyyyyxzzyyxyyzyyyxzzyzyyzzyxyxyyyzzzzz{{zyyzxyy{yyyzzyyzzxyyyxyyzzzzyyzzzyyyyzxzzyzy{zzyzyyyyzyyyyzzyyy{yyyyzyyzyyz{zy{zzzyyxyyyyzyzz{zzzyzzyyzzzzzzzyz|{{zyyyzyyy{yz{zzzzxyyzyzyz{{zzz{zyyyyzyzyy{zzzzzzzzzyyzyyyzz{z{{zzyyy{zyzy{z{z{{{zyzyzzyyzzzzy{z{yzyyzxyzz{{{yy{zxzyzyz{yyyyz{zz{yyzyyzyyzzz{zyyyzyyyxyxxzz{zzyyyxxxxyxyxzyzzyzzzzzyyxwxyyyyyzyyyyyyxyyyxyyyxzzzzyyyxyxyyyyyyxyyyyyyyxyyyzyyyyzyzyyxxyxxxyyxyyzyyzxyyyyyyyyyxxzyzyyyxyyxyyxyzyxyzxxyyyxyyyzzyyyyzyyxxxxxyyzyxzyyzyyyxxxxxxyyyyyzzyzyxyxxxyzzyyyxyyyyyxxzxyzyxzzzzzzyxxyyyyyzyyyzzyyyyzxzyzzyyyzzyyxyyyxyyzzyzyzzzyyyyyyxzyzzyyz{yyyzxzyxxxzyzyzyyzyyxyzyyyzyyzyzzyyyzzyyxyyyxyzyzyyyzyyyyyyzzz{zzzyyyyyzyzzy{zz{{zyyzyzyyzzyzzyy{yyzyyyyyzzyzz{{{yzzyyzz{zzz{zzzzyyzyzzyz{{zzz{zz{xyyxyxy{{{z{zy{zyyzyyyyyzyyzzzzyyzyyyzzz{yzzzzzzyyy{yxyzzzzzz{zzyzyyzxyyzy{yzzzxyzyyxyxzzyzzzxyxxxxxyxxyzyyzzzzzyyyyxxxyyyzzzzyxxyxyyyxyyyzzzzzyxxxxyxyyzyyyzzxzyyywxxxx{yxzzyzyyyyyyyyxyyyyyzyyyyxyyxxyzzyzyyxyyyyzxxxyxzzyyyyyyyyyxxyxyyyzyxyxxxxyyxxyzzyzyzzyyyyxyyxyyzyyzzyxzyyxxyxyxyyyyyyyyyxxxyxyyyzxzyyyyyyxxyyyyyzyzyzyxzxyxyyyzyyzzyzzyyyxyyyzyyyyy{yyyyxxxzyyyzzzyyyyxzxyyyzzzzzyzzzyyyyyyyyyzzyyzzyzyxzyyyyzzyyzzyzyyyzyzzyzzzz{yzzzzxxyzyyzzyzyy{zyzyyyyyyzz{zzzz{{yyyyzyxzzzzzzzzzyyyzzzyxyzz{zz{{yzyzzyyy{{z{z{zzzzzzyyz{yyyzyzzyyyzzzyyyzzzzyz{yzyzzzyz{z{zzyzzyxzyyyyxz{yzzzzzzyzzxzzyyzyzyyzyyzzxyxyyyyyzzzyyyxyxywyyx{yyyyzzyxxxzxyyyyyyzyzzyyyyyyxyyyxy{zzyyyyxxxyyyyyzyyzzyyyxzyyxxxzyyzyzyxyxxyywyzyyyyyyyxyyyyxxyxyyzzyyyyxyxyyxyyxyyyyyxyxyxxzwxyyyyzyyxyxyxxxxyzyzzzyyyxzxxyxxyyyyyzyzyxxxyxyyxxyzyyyzyxxxyxxxyyyzyyzzyxyyyyyxyyzyyyzyyyxyxyxxyxyyyxyzzyyyxxyyyzyzzyzzyyyzyyyyyzzyyzzyzzyxyxzyxy{yzzzzyxyxyyxxyzzyzy{yyxzyyxyzyzzyz{zzzyzyyyyzzyzzzzzyzzzyzyzz{zyzyzzzyyyyyxxyz{zyzzzzyzzyzyyyyzz{y{{zzzzzyyz{zz{zz{zzzzzzyzzyy|zzz{zzzyyzyxyzz{yz{z{zyyzyzzzyzzzyyzz{zyyyzyzzzz{zzyz{zzyyyyyyzyzzzy|zyyzzxxxyyzzzzzzzyyyxyyyxzyzzyyyzyyyyyyyyyyyzzyzzyyyyxyxxyyyzzzzzxxyxwyyyyzyyyzzyyxxyyzyxxyzzy{yzyyyyxxyxxyyy{zzyyyzxxyyyyyyxyyzzyyyxyxyxyyzyyyyyyxyxyyxyyyyyyzyyxxxyzxxxyyzyyz{yzxyxyyxyxzzyy{yyyyyyyxyyxzyyyyyyxzyyxxxxyz{yyyyzyyyxxxzyxzxyyyzzxxyyxyxxyyzzyzzzyyyxzxyxyyzyyzyyyxzyxxxyzyyyzyz{yyzxzyxxxyzzyz{yyzxzzxyyyzzzzzzzyyyyyzxyzzyyyzzzzyzzyzyyyzyzzzzyzyzyyyyyzyzzzzzzxyyyyyzyzzzzyzz{zyyyzyzxzz{zzzzz{yyyyxzy{zzzz{zzzyyyyz{yyzzy{{{{{zyzzyxyz{{{zz{z{y{zzzzzzz{{|{z{xyzzyyzzzzzyz{z{zzyyzzzz{zzz{{yzzzyyyzzxyzzyy{|yzzyyzyyyzzyyzyzzzxyzyxyzzyzyzyzyyyxyyxxxyzzxyxy{yzyxxxyyz{zyzzyyzyyyzxxyzzzyz{zzzyyyzyyxyzyzzyzzyxyxyxyxzxzzzxz{yyyzyyxxxzyyx{zzyyxyyyxyzyzyyzzyyyyxxzyyyzzzyzxyxwxxyyxxyyyyzzyyyxyyyyyxzyyzxzzyyzzyyxyyzzzyy{yzyyyyxyzyyyyyyzyzxyywyyyzyzyyyzzzyxxxxzyyyzzyzzzyyxzyzxyzzzyyyyzzzzyxzyxyzyzyz{zyyzzxyyyxzyyyzyzzyzyzxyyyzzz{y{zzyyyyyyyyx{zzzzyzzyyyzyyyzzzzyzzzzyzx{{yyzzz{zzz{zyyyzyzzyz{zyzzzzyzzyzyyzzzz{{{zzyyy{zzy{{z{yzz{zzzzyy{zz{zy{z{{zzzzy{zzy{z{{{z|zyzzzzz{z{zz{{{{zzzyzzyzzzzzzyz{zyyyzyyy{z{zyzzzzzyxzyyy{{zy{zz{{zzxzzyyzzy{z{{zzyzyyyyyz{zyyzxyxyxxyyzxyz{zxzzyyyyxyxyxyzyyyxyyyzxyzxyxyzyzyzzyzxyxyxxxyzyzxyyzyyyyxxyxyyzyyyyyxxxxxyxyyyyyyyzyyzyxyxxyyyzyxyyxyxyyyxxxxzyyyyxzxyxyyyxxyzxyyyyyxyyyyyxyyyyxzzyzyxyxywyxyzyyyyy{xzxyyxxxyyzyyyzyyyxxyxyyyyyyzyyyyzyxyxwxxzyyyyyyzyxxyxzyzzzyyzzzyyyxxyyyyyyyyzzzxyyxyyyyyyzyyz{zyxyyzxyyzzzzzyzyyyyyyyxyzyz{yzzyzyyyyzyyyyzzyzzyzyyyzyyxzzzzyzyyzxzyyyzyz{zzyzz{yxyxyxyxzzzz{zzzzyyzyzyyyzyzzy{{yzzyyy{yzzzyzzzz{yzzxzyzyzzzzzyzzzzyzyyyzy{{zzzzzyzxyzyz{yzzyyzzzyyyzzyyyzyz{zyyzyyyyzxyzzz{zzz{zyyzyyzyyyzzyyzzyxzxyyzyyyyyyyyyxxyxxyxwxyyyzyzzyyxyyxyxyyyyyyyyyyyxyxyyzyyzyyzzyyyyyxyyyxzzyzyyyyzxxyyxyxyyzyzyyxyxxxzyyzyyxyzyyyxyyyyyyyyxzyyyyyxyxyyxyyzzyyzyyxxxzxyxxzzyyxz{zxyyxzyxzzzyzz{zxxxyyxyxyzxzyxzzyyyxxyyyyxyxyyyzzyyxyyyzxyzyyzyzyyyxyyxyzyzzzzzzzzxyyxzxyzzzzyyzyxyxyxyyzzyzyzyzywyyxyzzyyzyzz{zyyyyyxyyyyzzzzyyyxzxxyxxyyyzyzzyyxyyyzyzzzzyyzzzzyyxyyyz{yzzzzzzyyyxzyyxzyz{yz{zzyzyyzyyzzz{zy{zyyyyyyzzzzzyz{{{zyzyzzzzzzzzy{{zzyzyyzzzz{zz{{z{zxzyyzzzzzzzz{{z{yyyyyzzzzzyzzz{{zzxyyzyzzzyzzzzxyyyzyyyy{zyy{{zzzyyyyxyzzyzz{zzyyyyzxyyzyyzzyyzxyywxyzxyzyyyyzyyyxyxywyyyyxyzzzzxxxxyyyzyyzzxzyxxyywyxxyzyyyyz{yxzxwyyxxzyzyyyxxyyxxyxzxyyyyyzyyxyxyyyxzzyyxzyzzyxxxyxyyxzyyzyyyyxyxxxxyyywzyzyyzxyyxxzzyzyzzyyzxyyxyyyyyyxyyzzyxyyyxxyyyxxyyyyyyxyyyxyyzxzyyyzzyyyxyyxyyyzzyzzyyxyyxxyzyyzzyzzzyyyyxyyyzyzzzyyyyyyxyyyzzyzzyyzyzyzywxxzzyzyzyyyxzyzyyxzzzyzz{yzyyzzzyyzyzyzzzyyzyzyyyzyzzzzzzzyxyyyxzyzzyzzzyzyyyyzyyxyzzz{yzyzyyyzzyy{zy{z{{z{z{zyyyyz{zyz{zzyzyyzzzyy|zzzz||zyzyyyzzy{zzyy{z{yyzzyxyzzzzzzzyzzz{zyzyzzy{zzz{zyzyyyyxyzyyzzz{zzyzxzyxyzz{yz{zzyzxxxyxzzzzzzyzyyxxxyyxyzxyyyzzyyxxyxyzyyzyyzzzzyyyyyxwzyyzyyzyyyzxyxyyyyyyyyzzyxyyxyxxxyyyyyy{yxyyxxyyxzwyyyzzyzyxxxyxyzzyxzxyyyzwxxyxyyyyzzyyyyxzxxxyxyzzyyyyxyyzzyxyyxyyzyyyyxzyyxxyxyy{yzzyzxxxyyyyxyzyyyyxyyywxxyxxyxzzyyyxxzyyyyyxyyzyyzzyyyyxyyyzzzzyyyyxzyyyyzyyzzzyyzzxyyyyyyxzzyyzzz{yyyzzzzxyzyzzzyzyyyyyzyyzyzyyzzyzxyyyyyyyzyyz{zyzyxyyyyzzzyzzz{|yyzyyyyyzzyz{zzzyyyyyyyzzzz{zyzyzyzzyyyyyz{zzzzyzzyyyzzzyzyyz{zzzzzyyyyyz{{{{z{{{zzzzzzzzzzyz{zzzzzxzyzzyzzz{yyyzzyzzzyzzzyzzz{{zzzyyxyyzzzyyz{zzyyzyzzy{zyyzyz{zyyzxxyyyzyzzyxyxxvxyyxyyyzyyyyzyxyyyyxxxyzyyzzyyxxxxxxxyxzyxyzzxxzyyyxwyzzyyyyyyxyxyyxwzyyyyyyzyxxxxxxyyzyyyzzzyxyzxxyxyxzyxyyyxyyyxyywyyyyyyyzxyxyxxxxxyzxyyzyxxyyyyxxxyxyzyzxyxxyyyyyyxyzyyyzxyxwyyyyxyyyyyyyyyyxyyxxxyyxyyyyywxxxywxy{yyyyzzyyyyxyyyyyzzyzxzyyyxxyyyzyzzx{zzyyyxxyxyzyzyzzzzyyyzyyxyyzyyyzyxyxyyxyzyyyyzyzyzzxyzyxyxzzyzyyzzyyyyyyyyyzyzzyzzyzzxyyyyyzz{yz{zzyzyyxyyzzyzzzzyzzzzzyyyzzyyz{{yyyzyzzyzyz{yz{y{zyzyzyyy{yzzzz{{zyzyyyyz{y{zz{zyzyyy{yyzyyyzzzz{zzyzzzzyzzzzz{{{yyyxyyyyyyyzz{zyzyxyyyyzyzyyyzzxzyzxyywyzzyyzyxyzyyyxxxxyzzxyyzyxyxyxxyxxyyzyyzyyyyxxxxxyyzxyzzyyxyxyxyyzzyzyyyyzxyyxyxxyxyyzyyzxxxxyyxxyyzyyzyyyyyxxyyxxyyxyyyyyxyywxyxyyyyyzzyyyxxxyyyyyyzyyyyxxwxxyxxyzyyzyyyyxyywxxxyyxyxyzzyxyxyyyxyyxyyyyyzzxyyxxyzyxyxyyyyyyxyyxxzyyzyzzxyyxyxyyxyyzyyzyyyyyyyxxyyyyzyzyyxyyyywxyzyzzyyzzzzyyxxyyyyzyzzxyyyyxyyxyyyyzyyzzzyxzyyxxyzyyyyzyyyyzzyxyyzyzy{zzxzzzzy{zz{zzy{{zzyyyzyyyzyzzzyzyzxzyyyyzyz{{z{zz{yyzzzyyyy{zzz{z{yzyyzzzy{zzzzzzzyzyyyyyyzzzz{zz{yyyzyyyzzzyzzzzyxyyzzyzzzzyzzyzyyyyyyyzyz{zz{zyyzyyxyyyxzzzzzzzyzzyyxyyyyzyyyy{xxyxxxxxxzyyyyyxyxxyyyyxxyyyzzzzyyxxxyxyyzzzzzzyyyyxxyxyyyyyyyzzyyyxxyzxyyyxyyyzzyxyxyyxyyyyyzyzyxyyyyxxyxzyxxzyyzxwxyyyyyxyyyyyyyyyxxxxxxyyyyzxyyxzyyyyyzxyy{zyyyyyxyyxxyzyyyzyyxyxyzyxyyzwyyzzzyxyxyxxyzxzyzzyyxyxyyxxxyzzyyzzyxxyyxyyyyzyzzyzxyyyyyyyzzyyyyy{yxzyxyzyyzzyzyyzyyyxyxzyyyzyyyzzyyyyyyxyyyzzyzzzzyyyyyyyzzzz{zyyzyyyyyyyzz{{zzzyyzyxyyyyzyzyzzz{yyyxyxyyzzzzzzzzzyzyz{zyz{zzzzzzzxzyz{zzzyz{zz{zzyzxyzzzz{zzz{{zzzx{yyxzzzyzy{{{zyyyyzy{yyzzzzz{yyyyzzyyzzyyzzyzyyyxyxyzyzyyzzzzzzyyyyxyx{yyyyzzzyzxxyyxyzyyxzxzyxzxyyyyyzzzzx{yxxyyyxxyyzyzzzzzyxxxyxyxyzzyzyyzyyxxyyyxyzyyxyyyyyxxxxyxyyzyzzyyxxxyyyyxwzzxyzyyzyyyyxwyyyzzyzzyyxxyxxyxyyyzyyyzyxxxyyxyyzyyyyyyzyyyyxxzyzzyzzzyyxxyyyxyxzxzzxzzyyxxwyxyyzxyyzzyyyxxyxxxxzyyyyxyxyyyyyyxyyyyzyzzyzzxyxyyyzzyyyzyyzyyyxyyzyzyzzyzyzyyzyyyyx{zzzyzyyzyzyyyzzzyyzyyzyyxzyyyyzzzzzzzzyyxyyzyyzyzzzzzzzzyyyxzyzz{zzzzyyyyyyzyzzyyyyzzyyzyyyxxzyzzzzzzzyzyzyyzz{yyz{{zyyyzzzzzyzy{zy{z{yyzzzzzyzzzz{{zzzyxyyzyz{yzzzzzzyzzzyyyzzy{z{z|{zyzzyyzzzzzzz{zzzzyzxyzyzzzzzzzyyyzxyyxzz{zzyz{yyyzzwyyy{zyyzz{yyyxxyyxzzzyyxyzyyxyxxxyyzzzyzz{{yyyzxyxyzyyzzyzyxzyyzyxzzyzyyyzyxyxwyxyzyzzyxzzyyzyxxyyyyzxyzzyyxyyyxxzxyzxzzzyyxyxxxxyyyzzxzyyyxyyyxxyxyxzxzzyyyyxxyyyyzyyzzyzyxyyyxyyyzzyzyyzxyyyyyxyxyzyyzz{yxyyyzyxwzzyyyyzyxxzzyyxzzyzyyyzyxxyyyxyzzyyzzzzyxyxyxyyzzzyzzzzzxxxxyyyzzxyyyzzyzyxzyyxyzyzzzyzyyyyzxyyzyyzyzzyyzyyyyyy{zzyyzzzzyyyzyyyzz{{zy{zyzyzxyyzzzyzzz{zzyyzyzyyy{|zzy{zzyzx{yxyz{yz{{z|yzzyyyzzzzzz{z{z{yzyyzzzy{{zy{{z{yzyzyyyzzzzzzzzyyyyzxyyyzzzyz{{z{zzzzyy{yz{{zz{yyyyxzyxy{yzyyzzyzxyyyyyzzzzzz{zyyyyxxzyyz{zzyxyxxxxxywxxzzxyy{zzxxyxyyyyzyxyyxzyyyxxxywyyyzzyzzxyxyyyyxyzyyyyyyyyxxxxyxxyyyyyyzyyyyxyzyxzxyyzyxyyyxyyxxzxyyyyyyxxxxxyyyyxzyyyyyywxxwwyxyyyyxzyyyyxxxyyyyyzyyyzyyxyyxxxxxyzyxyzyxxxxxxyxxzyxyyyyyyxyywxyxzxxz{zyxxyxyxxxyyyyzzzzyyyyywxxyyyyyzxzzxyxyyxxzyyyyyy{xyyyyxyxyzzzyzzyyyyxyxxxyzzyyyzyyyyyyxyyzyyyzyyzyyyyyyyyyzzzyzzz{zyyy{yyzzzzy{zzzxyyzyzyzzyzzzzzyyyxyzyyzzzzyzzyzyzzzzzy{zzzzzzzzyyyxzyzz{yzzzzz{zyzy{yy{{{yzz{zz{zzyyyyzzzzy{zzyyyyyyyyzzzzz{z{zzzzzyzyzyzyyyz{yzzyyyyzyzzzzzzzzxyyyyyyyyzzzzzzzyyyxzyyyzzzzyyyzxyyxyxxyyyzyzyyyyxyyxxyyyyzyxzzzyyxyyzxzyyyyyzyywzxyyxxyyzyyyyyzyyxyxxxxyyzyyyzyyyyxwxwyzyxyzzyzxyxyyyyyyyyyzyyyyyxxyxxyyyzyzzzxxyyxxyxyxyyyxyxzyyyxzyzyyzyzyyxxyzxxyyxyyyyyyzyzzyxxxyyxyyzyzzzyxxxxxzyyyyzzzyzyyyyyxxxyzzyyyzyzyyxxzyzyzyyyz{zyyxyxxyyyzyzyyyyyyzyxyyyyzzzz{zzyyyzzxyyyxzyy{zzyzyzxyxz{yzzzyzyyyyzyyxzzzzzzzyyzzxyzzxzz{z{zzyzyyyxzyyzzzzyyzzzyyyzyzyx{zyzzzzzyxyxyyyyzzz{{{z{zzzzyyzzz{zyzzzz{y{yyzyyzzz{z{{{zyyyyyxyyxzzy{zzzzyzzzyzzzyzz{{{zyzyzyzyz{z{zzz{zzyyxxzzyyzzz{{zzyyzxzyyzzzzzzy{yxyyxxyyyyzz{yzyyxxxyxxxyyyz{yzzyxyyyxwyyxyzyyyyxxyxxyxxzyyzzyzyyyyyyxxxyzyyzy{zyxzxyxxyyyyyyzyzyyxyxyyyyzyyxzyzzxxxyxxxyyzyyyyyxxxyxyyxxyxyyyzzxyyzyxyxyzyyyyyyyxxyyyxxzyyxzyyyyxyxxxxxyyyxyzzyyyxxyxyxyyyzyyzyyxyyyxxzxyxzyyzyyyxxzyyyyyzyyyzzyyyxxxyxxzyzyzyzxyyxyyyyzzxzyy{zyxywyyxyzyzyzyzyyyyyyxxxyzyyzzzzyyyyyyxxyzzz{zzzyyyzxzyzzyyyzzzyyyzyxyxzxzzzyzyzyyyyyyzyzzzyzy{zyyyyzyy{zz{zyzzyzxxzzyzzzzzzzzz{xyyyzzyyzz{z|yz{zzyzyzyzzzz{zz{zyyzyyzzy{zz{zzzzzzyyyyzyyyzyyy{yyyyyzzzyzyzz{zz{zyywyyyzzzzzzzzzyyyyzyyyxyzzyyyyxyyyyxyyyyzyyyxzyxyxyxxxxyxyyyyyyxyyyxxyyyyzzyyzxxxxxyxxyyzyzzzzyxyyxxxyyy{yyyyzyyyxyyxxyyyyyyyzyyyyyyyxyyzyxyzyyxzxxyyxyyyyyyxzyyzxxyyxyyzzxyzyxywxyxyxzzxyyxzyyxyxxyyyyyyyxzyxxxyxxyxyxzzyxzyzyxyyyxyxwyzzyyzyzxzxyzyxyyyyyz{zyzyyyzyyyyyyyzzyyyxzyyyxxzzyyzzyyyyyyzyyyyzyzzyzyyyxyzyxzyzyyyzyzyyyyyzxxzzzy{yzyyyyzzyy{zz|zzzyyywzyyxxyzyyyzzyyzyyyyzzzzz{zzzzxzyyyyzyzyzyz{{zyyyyyxyyzzyz{zzzyxyyyyyyzzz{zzz{yyzzxyyzyzy{zzzz{zzyxyzyzzzyyz{zzyy{yxzzyzzz{{zy{yyyyzyzzzzz{{zz{zzyzyyzyzz{{zz{yyyxyyyxyzyyyzzzyyyyyyyzyzzz{yzzyyxyyyyzxzyyzzyyyyxxxyyxxzzyxyzzzzyyyxyxzzyzyzy{yxxyxyxwxxyyyyyyxyxxyyxyzzzzyyzyyxyyxxxxyxyzyyyzyxyxxyxxyyyxyzzzyyyyyxxyyzyxyyzyxxyyyyxzyyxyyzyyzyyxyyxxzxzyzyyzyyyzwyxyyyzzyyyyyxxxxxxxxzyyyzyyyyxxxyxxyyyxyyzzyyxxxyyyzzzyyzzyyyyyzyyxyyyyyzzyxzyyywyxz{yzzyzzzyyyxyyz{yzzzyzyxyyxyyyxyzyzyyyyyxxyzyyxyzzzzz{yyyyzxzzzyyyzyyzyzyyzyyxyzzzyy{zzyyzxyyyzyyzzyzzzyyyxyyyzyzzz{{zzzyxyyxyyyyzy{{zz{yyyyzzzzzzzz{{{zyzyyzzzzzzzzyzzz{yyyzxyy{z{z{z{zyyzzzyyyzz{z{z{zzxyyzzzzyzyz{{zzzyzzzyzz{zzz{z{zxyyyzzyzzzz{y{zzyyyyzyyzzz{yzyzzxyxyyyxy{zzzzyyxyyxywxyyyzxyyzzyyyyxxyxyzyyzyzzyyxxyyyxyyxyyyzzyyyyxyyxyzxzyyyyyxxyxyyxyyzyzzyyzyzyxxyxxyyyyzyyyyxyyxxyyzyzyyyyyyyxyywyyyxyyyyzyyyxyyyyyxyyyyyxyxxzyyxzzyzxzzzyyyyyyyxxyyxyyy{xyyyxxxyyyyyzyzzyzyyyyyyyyzyzxzyyxyyxyyxxyy{zyzyzyzyxzxxzxyzzyyzzzzzyyyyxyyyyyz{yxyxyzyyyyzzzzyzzyyxyyyxyy{y{zzxyyxyyyyyyyyzyzyzzzxyzyyyz{{yzzzyzyxxzyyyzy{zzz{zzxzyzxyyyyzy{y{yzzyxyyyxxyzzz{y|zzxyyyzyyz{zzzz{{zzzzzzyyzzzzz{z{zyyy{yyyy{zyzyzzyzzzyzzy{zzzz{zzyzzyyyzyzzyz{zz{zz{{zxzyzzzz{zz{zzyyyzxyzzyz{zz{zyyzyyyxyzzzyzzyzxyyyxxyzzyy{yxzxxyxyyyxxzyxx{yyxxxxyxxxyyyyzyyzyxxwyyyxxxyyzyyzyyyxxyxyyxyzyyzzyyzxxyyxyyyyyzyyyxyxxxxxyzyyxzzyyyyyyxxxyyyxxyyzxxyxyyxxxyzyyyyyyxxwyyywyzyyxyyyyyxyyyxyyyyzzyyzyxyyxwyxyyyyyyzyzyxyyxxxxyyyzzyyxzxxxyyxyyxzyyyyxxyyxxxxxyyyyzyzyyxxyxyxyyxzyyzzyyyyxyyxxyyyz{zzyzyxyyyyzyzyyzyyyzyyxxyxyz{zyzyxzyyxyxyxyyzzyzzyyxxzzyxzyyzyzyzyyzyyyyyyyy{zzyz{yzzyzyyyyyyzyzz{zzyyzzyxz{zz{zzzyyyyyxzyzzzyzz{zxyzyzyzyyzyzyzy{{yyyxyxyyzyzzyzzzzzzzyyyzyzzz{zzyyz{zyyzzzzzz{zzyzyyzyyy{zz{zzzzzyyyxyyzyzyzzzzzzxyzyyzyyzyzyyzzyyyxyyyyzzzzzzyzyyyxxyxyyzxxyyyzyxyyyxxyyyxzyz{zzxyxyyxwzyyyyyzyzyyxxwxyzyzyyzzzyyyxxxxx{yyyyyyzyyyxyyzwyyyyyzyyzyxxzxyxxyzxxyzyxyxxwyxxyyzxxyyzyxwxyxxxxyxzyy{yzyyxxyyxxyzxzxyyxxyxxyxzyyzzyyzyyyyyyxxxyyyxyxyzzyyyxxyxyyyxyzzzzyyyxzxyxyzyyyz{yyxxxyyxzzyyzyyzyyyyyyyxzzzyyyzyyyyyxyyxyyyyzz{{yyzyzyyyyyzzyzyzyxxxxyyyyzzzyyzzyyyyzyyzyzzyzzyyzyyyzzxyyzy{z{yyyzyyyzzyyzzzzzz{xzyzyzyyzzyz{yzyyyyyyyyxzzzyzz{zzzzzzz{zzzzzzzzzyzzyyyzyyz{zz{{zzzzyyyzyyz{y{zzzz{xyzxz{yzzyzz{zyyzzyyyyz{z{{z{{zzyyzzzyz{yzz|zzzyxyyyyyzzyzzzz{yyyyzyyyyyyzzzyyyyxyyyyx{yzyzyzzzyyyyxxyyyyzxzzzyyyxwyzxyzyy{zzzzyyxxyyxyyzyyzyzyyxywyxwzyzyyyxzwyxyyyxxyyyxyzzyzxxxxxxyzyyxyyzyxyyxyyxyyyyyyyxyyyxxxyyxyyxyyyzzyxyxxyxyxyzxyyyyyyyxxxxyyyxzyyzzxzzxxxxyxyyxyyyxyyxwyyyyyzxxyyxyxyyxxyxwxzyyyzzyyyyyyxzyyzyyyzyzyyywxxyyzxyyzzzzxxxxyyxyyzyyzzzzyxxyyyyxyyyyzzzzyyyyyyxyyz{zyz{xyyxxyzyyzzzyzz{yzyxyzxyyz{zyz{zzyyzz{zyxzzyzzzzzzyxxyxyzzzyyzzz{zxzyyzzyyzzyz{zzyzyxzzy{yzzyz{{zzyyyyyyyyz{zzz{zzyyzyzyz{yzzyzzyzzyyyyyyzy{yzzz{zzzy{yzyzzzzyzz{zzxyyyyzyyyyy{{{zzyyyyyyyzyzzyzyyzzxyyyy{z{yzzzyyxyyyyyyxzyyyyyzxyyyzxyxyzyyyyz{xyyxxyyyyzyxyyyyyyyyxxxzxxyzyzyzzyxxwxzwyzzyyyyyxyyxxxyyyzxxzzzyxxyxxyyyyyyyyyyyyxyyyxxzxxzyxzyzzyxxxxzxzyyxyyyyyxxywxyyyyyyxyyyzxxxxyyxyxyyzyzyxxyxxxyxyyyyyyyyxyzxyyyyyzyyzyyzyyyyxyxxxyyzyx{zyyyxyxxyyyyyyyzzyyyxyxyzzyzzyyzyyyxyyxyzyyzyzyyzxzyyyyyxxyzzyzyzyyzyxyyxyzzyyzzyzyyzyyyyzzzyyzzzzyyzyyyyzzyzzyzyyyzyyzyyz{yzyzz{zyyyyyyy{zyzzzzzzyyyyyyy{zzyzzz{yzzyzzyyyyyz{zz{zyyzzyyyzz{zyzz{zz{zyyyyyz{zy{zzzyzyzyzyzzyzzzzzyyxyzyyz{zz{yzyzzyzyyzyzzzzzzz{{zzzyzyyyyzyyy{zzyzzyyyyyyy{xzzyyyxzyywxxyyzzzyyzyzxyxxxyzyyy{yzzzyyxyzyxzyyyyyyy{yyyxxyyzzz{yxzyyyywxyyyyzzyzzyyyyyxyyyxxyyyy{yzyyyyxyyyyxxyyyzyzxxyxyyxyzyyyzxyyyxxyyyyzyyxyzyxyxyyxzyxx{zyxz{yzxyyxyyxyyxzzzyzyyxxxyyxxxzyyyyyyxxyyxyxyzyyyyyzxyyyyyzwzyzzyzzyzyyyzyyxy{yxyzzzzxzxzxzyzyzzy{z{xyxyxyyyzyyzzzzzyyyzyxyyxzyzzzzzxyyzyyxyyyyzyy{zzyyyyyyy{z{yyzyzyyzyyyyzzyzzyz{{zzzzyyyzzzyzyzz{zyyyyyyz{zzyz{{zzyzyyyyy{{z{zz{{yzzzyzzyzzzzzzz{zzzzyyyyz{zzzzz{{zz{yzzzzyz{z{z{z{zyyyxyzzzz{zzzzyyyyzyz{zyzzz{|zzyxyy{yyzzzy{{yzyyyyzyxyzzzz{{zzyyzyxzyzzzyyyyyyxxxyyyxyzzyzxzyyxyxyyxyyyzyzzzzyzxxyyyxyzzyyzzyzxyyyyxzyyzzyzyyzzyxyyyxyy{xyyyzyyyxxxzxyyyxzzyzyyyyyxxxzyzyzzyyzxyyyyzyyzxzxyyzyxxxxxyyyyz{yyzzyxyyyxxyxzzy{zzyyyyzxyywyyzzyyzzxyyyyyyxyxyyyxyyyxyxzxxyyyzzyyzyyyyyyzyxyyzzyyzzzyxyyyxyzzyyzyzzyyyzyxyyzzzxyyyzzxyyyyyyzzzzzyzzyyyxyyyyzzzzzyzyzyyyxyxxy{{zzyzzyyzzyyxyzzzyyzyz|yzyzyyy{zz{zyz{yzyzyzzyz{z{z{{{zyyzyyzx{zzzzz{zzzzz{zyy{{{z{z{zzz{zyzzzyzzz{z{{zyyzzzyyzzzzz{{z{zz{zyyy{zzzz{|zzzyzzyyyz{{z{{|zzzzyyyyzzzzz{{{{zzzzyzyyyzyzz{{zzyxyyyxxz{zzzzzxyyyzzxyyyyz{zzyzyywxyxxwyzyyzyzzzyxxxxyxyxzzzzzyyxyyxyxxyy{yzy{yzxyyyxxwyyzzyzyyyxyywwyxyyzyyzyyxzyxxyyxyzyxyzzz{xxyxyxxyxzyyyxyyxyxxxyyyxxyyzzyyyxxxyyxxyzyzzzyxyxyxyxxyyyxyyyzyxyxxywxyzyyyzzzxxzxxxxxyzyzzyzyyyyxyxyxyyzyz{zzyxyyyyyxzyzzyz{zyzxxyxyyyyyzyyzzzxxyxyyyzzy{yzzzyyyyyyyyzyzyzzzyyyzyyyyyyyzyzzzzyyyyyyyyzzzyyz{zyyyyzyyzzzz{z{yzy{yzyyzzzyzzzzzzyzzyzyyyzzzz{yz{yzxyzyyyz{{zz{yzzzxyzyyyz{y{z{zzzyyzxzyzxzz{zzzz{zyzyyyz{{z{zzzzzzyzzyzyzzz{zy{|{yzyyyyzzzzzzzzzzyyzyyyyzzzzzzyzyyyyyyyyzzzyzz{zzyzyyyyyzzz{y{zzyzzyyxxyzyzyyyyyyyyzxyyyxyzyzzzzyyyyxxyyzyyzyzyyyxyxyxyyyzxyyyzyxxyyyxxxyyzzxyzzyyyxxyxyyzzzyyyyxyyxyyzxxyzxyzyyyxyyyxyyyzyyyyzzyyyxxxyxyyyyyyyyyxxxywxxyzyyzzyzxyyzyxxyyx{yzyyyxxyxxxzyyzzzzyzyyxxxwxyyyxyyyzyzyzxxyxwyyzzy{z{zyyyyyyyxyyzzyzyyyyyxzyyzzyzyzyyzyzyyyyzzzyzzyzzyyxxzxyyy{zzzzy{{yxyyzxyxyzzz{yzzyyzyyxzyyyzzy{zzzxyzyyyxzyyzzzzzzzyyzyyxyz{yzzzzyyyyyyzzyz{zzy{{zyyzzyxyz{zz{{z{zyyyzyyyzzzzzy{zzyyzzyzzzyyzzzzzzyyzzzyzy{zz{z{zzyyzyyzy{z{zzzzzzzyyyyyyzyzz{zzzyzzzyzyzzzy{zz{zyyyyyxyyyzyyyy{yzyyxxzzyzzzzzyz{y{yyyyzyxyzzzFw5b+ zz{|z{{||||{z}|{|{{{{z{|{{|{}|}|{{z{{{y|{{{{|||{{|z|zz{{{{{|{|||{z{{z{|{{|{{{|{{{{z{z{{{|{{||}{|z{{|zz{z|{{{}|{{{{zyz{{{{{|{{{||{z{{yzz|{|z{{}{{{z{{{zz|z|{{{{{{{|{z{zzz{||{{{|{zz{zzz{z{{{{{||z{{zz{z{{{{{{|||{z{z{{|{{{|{{|||{{z{|z{{{{{{||||{z|{z{|||{{{{z||{{zz{{{{{{||{{||{{|{{{|{{|{||{|||{{{{{{{{{||{{}{{z{{||{|{|}||}{|{{{{|z{z|{|}|||{{{{|{{|{||{{|}}|{{z{z{{z|||||}||{|{{|{{{|||{}|||{|{{z|||{|||||||}zz{}|{{}|{}|}|~}{{{{{||{||||{{}}zz{{||||}||||||{{{|{|{{||||{|||{|{z{{{{||||||}|{|z{{z{z||{|{|{|{zz{||{{|{|z|}{|}{{{|{}z|{}|z{|}|{{}|z{z{{}{}|}||||}{z{||||{||||{{{z|zz||{{}||||{{{{{|z{{|z{{|||{z{z{|{|{|{{{||{z{{|{{{z{{|{|{{{{{zzz{{{{{{{z{{|{z{zzz|{{{|{{{{{{z{{zzz{{||{||}|{{{|{z|z{{{{{{|{{z{{{{{zz{{{z}|{{{{{{zz{{{{{|||{{{{{{{z|{z{||}|||{{z{zz{z{||{|{|{z{{{{{{{{{|{||{{{{{z{{{||||||{{{{{|{z|{{}{||{||{{z{{{{|~|||{|||{|{|{{{|||{{{||{zz||{{{z||{}||||{{|z||{{||{||||}z{|{{{{{|{||{}|||{{{{{{z}}{||||||{|z{|||{}|{}||}}||{{|{{|||}}|}|}z|{|{{z||{}||}||{{|{z}{{|||}||}||{{|{{{}|{|||||{{{z{|||{|{||{||{|{{{zz{||{{|{|{|{{{z{{{|{{{{|||{|{{{{|||}{{||{|{{|{|{z{{{|{|{|||{|z{{{}{{||{|}|zz||{{{z{{|||||{{{{z{{{z{{|{|{{||{|{zz{{{|{{{||{{||zz{{{{{{{{{{|{{zz{z{{{{{|{{}|z{z{{{|z{{{|z{|{{z{zzzy{|{||{{{z{z|{{{{{|{{|||{{z{zz{z{{{{{{{{{|{|{y{{{{{{{{z||{z{z{|zzz|{{|{{{|{{{z|z{z||{||||{{|{{{z|{{{|z{|{|{|zz{{{z|||{||||{z{{{z{|z||{|||{{{{{z{{z{}{z|z{z{{z{z{|||||z{{||{|{|{{{{{|||||||{{{{|z||||||||}|{{|{{z{{|{|||}||}{{{{||{|||{|{}}{{|{{{|||||||}}}|{{||{|{{||}}}}}}|{{{||{|}|}||}||{{{|{{||||}||||{{{|{{{{|{}||||}||{{{{{{{{}|{|~|{||{|z{{||{{{{}{||{z{z|z{|{|{{|{{{{{|{{{{|||||}|z{|{||{|{|}}|}~}{|{{|{{{{|||||}{}{{{{{z{|{|||{||{{{{||{z|{{|||||||{z{zz{z{|{|||{{{z{y{z{{|{|{||{|{{{z{{{{z{{{|{|{y{z{{{{{|{z{||{z{{y{{z{{|{{|||{{{{zzz{{{{|{z{|{{zzzzzz|{zz{|{||z{{zzz{z||{{|}{|{zz{z{{{{|{|{{|{{{{{|y{z||{||{|{|{|zz{{{|{|{|{{|{|{|zzz{{|{||{|{{{{z{z|{{||{|||{{{||{{z{||}|{||{|z|z{z{{|{|||||||{{{{{{|{|||}||{{|{{|{|{|||}{{||{z|{|{{{||}{|||||z|||{{{{}}|}}}}{{{||}|}||||||||}|||||||{|{}}||||||||{}{}|}||||||{|{||||||{|}|||||{|{|{||||}|||}|{z{|{{{{{|||{|||{{|{{|{|{||{|}{z{|z{z|z{{z{||{||{{{{{|{|~|{|}|}|{||{{{{|||}||}||{z{{{z{||{{{|||{|{{z|{|{{|}{||{{z{{{z{{|z||{|{|{z||y{z{{|{{|||{||z|{{{{{{|{|{|||zz{z{{{{{||{|||z{{zzz{z{|{{{{|{{|{{z{{{{{|{{{|z|{|zzz{{{{{{zz||{z{zz{|||{|{{{|{|{{z{{|y{{{|{{{{{{z{{{{{{{{||{}z|z{{{{{{||{{{{{}{{z{z{{|{|{|{|||{|z{y{{|||{}|||}|{{{{{{{|||{||||{{{z{{|||{|{||}{{|||{|{{||||{{}{z{{|{|{z|||||{||{{{{||}|}|}||||||{z{z{z{}{|}|}{|{{||{|{{||||}||||||||{||||||}|}||{|||}{||}}||||}|||{|{{|{}||}}{}|{|{{{{{||{{|||}}|{||{{}||{{{||}{{{{{{z{{|{|||||||{|z|{|z}||||{{{|{{{{|{|{}{||||||||{{|{|}||||}|{{|zz{z{{||{}{|~{{{z|{{{|||||}|}{z|z{{{y{|||{{||{{|{{zzzz|{|||{}z{z|z{{{{|{{{z{z|zz{{zz{{{{z||{{{z{zz{{z{z{{{|{{{z{{{zz{{|{{{||z{{zz{zzz{{|{|{|{zz{z{y{zz{|{z||{z{{yz{{zzz|{{|{z|z{{{{{{{{{z{}z{{zz{z{|y|{{{||{|{{z{|{{z{||{|{{{{{z{|{{{{{||z||}{zzz{{z{{|||{{|{{{z{{z{{{|{{{||{{z{zz{z{{||{|{{{|z{|{{z|{|{{|||{{{{{|{z{}||||{}{{{|{|z{||||{{{|}{{z{|z{{|||{}|{|||{{|{{{|}|||}|}||{|{{{{z||}}{||}||z{||||}|}||}|}{|||{{{||||}}||}{{z||{||||||||||{{|{{{{||{}{|||{z{{{{{{{|{{{|||}{{{{zz{{|{{|{|{{{{{{z{{|{{|||}}|{{{{||{|||}{|{||{{z{{{{{}|{}}}||z{z{|{z{{{{}{||{{{{{y{{{|}|{||{{||z{zz{{{||||{{{{zz|{zz{{|{{{|{z{z{z{zy|||{{|{{{{zz||z{z{{{{z{|{z{{{zzz{{{{{{{{zz{{{{zz{{{{}|{|zzz{{z{{z{{z|||{{{z{z{{|{{{{{||{}zzzzzy{{|{{{{{|zz{z{|zz{{||{|||{|zz|z{z|{|{{{|||{{{zz||{|{{{{{}{||z{{{|z|{{|{{}|{|zz{{{{|||||{{{|{{y{z{{|||{{{|{{{z{{{z|}{{}|||{{{|||{{||}||||{z{{{||{|||{|}{}||{{|{{{z||{|{||}}{{{{{{z{||{||}}{z{|{{||||{||}||}{{{|{{|{}}|||||}{|||zzz||{{{}|{|{{{{{{{{||{||~||{{{{|{{{|{||||}{|{y|{{{{|||{||{{{{{{{{{{}|{{{|{{{{zz{{{{{{{{|||{{||{|}|||{|||{|||{|{{z{|||{{}||}{{{z{|{||||}|}{{{{{{{{{{|{|{{|{z{zzzz{{|{||||||zz{z{z{{{{{{||||{{{{zz{z{{|z{|{||{{{{z{z{{{|{{|{zz{{zzzz{{{|{||{{{{{{{y{{{{{{||{{|{{zzzzz|{{{||{z{{{{yz{z{{{{z{|{{{{{z{zy||{{|{||{{zz{y{||{}||{|{{|{{zzz{{|z|{{{z{z|{{{{||{||{{|z{{{{z{{{{|{{{||}z{{{zz{{{||||{{z{||{yzz|{}||{||{{z{{zz||{|{|{}|{|{|{{||{|{||}{{{{{z{|{y}||}|{}|{|{{||{|}||{|||||{{{||{|{{||{{}}|{{{|{|{z||}{}|}|{{{|||{|{|||{}|||{|{{{{|{||{||}|z{{|{|{|||{}{}|||{{|{{{}|{{{||{{{|zz{{z{||{{{||{{{{{|{z{|{|{{|{zz{zzz{{{|{|{}{}|{|}{{}{|}}{|||}}y|||{|{||}|}{|}|{|z{|{{|{|||{|||{z{|y{{{|||{||{{|{{{{{z}{|{|{{{z{{{{{{z{{|||{|||{{|{{z{{{|{z||{{{z{{{z{{{{{{{{|{z{{{{{zz{|{|||{{z{{{{{{{{{z{{{||z|zz{y{{{||z||{{{{{zz{{||{{z{{|z{{{{{{{{|{|{{|{{{|{|{{z{{{|{}{{|{z{{{{|||{{|||||z{{zz{{|}{|{|{}{{|{{{|{{|~{{{z{{|{{{{{{z}|{{{}|{z|z||{z{{{{{{|{|zz{||{{|{{{||z|||{{{{{{{||}|}||}{||}|{{|||}{}||}z{|z{z{|||||{}}{{{|{|{||}|||}|}{|||{{|||||||{||}{|{|{|{{}|||}}||{{z{{{{||||{|||||{||{{|{{}}|}}}|||{|{{|||||}}}~|{{{|{{{||}|||}||{z{|z{z{{||{{}|{||zzz{z{{{{{|{}||{{||{{||{||}}|}{{{|{|{||||}||{}zz{{|{{{|{|||{||{{{{z{{z}||{||}|{{{{z|z|{{{}{{|{z{{|z|zz|z{{{{{{{{z{{{{{{{|{|{|{{zz{{z{|z{|{z{{zz{z{z{{{{|{|{|z|{{zz{zz{{{|{{}{|{|zz{zz{|{||z{|{{{{|y{{{{z{{{{{z{{{|{{{||{{{|{{{z{|zzzz{{{{{|{|{{{{{|{z{{|{{|||{z{z{{{|{{|{|||}z{{{{zz{{{||{||{|{{z{z{z{{|{||{|{z|{zz|{|||||{|{{{{||}{{{|{|{|||z{|{|{{{|}}|||||z{|{z{{{||{}{|||{z{}{z{{}||{|{~|{{{{{{{z|||||||||{|{{|{|{}||}||||{{|{||{{|||||}}{{{{{|{|||||||}|{z{|{{{{{{{{|}}||}{{|{z|}|{}||}|{{zz|z{{|||||{||||{{z{{{{|{{|{z{{{|yzzzy{{|{||||||{{||{|z|}|||{|}|{|{{{{|||{||}}||{{{||{|{{|}|}}{||||{|{{{||||}{}z{z{z|{{{{{|||{{{{{{|{{||{z{|||||{{{{{|{||{{||{{{{{{{zz|z{{{|{|{zzzzz{{{||{{||{zz{{{{{{|{{{|{|{|{|zz{{zz{||{{{{{{{{{yzz{{|{|||}{z|{{{|z{|{|{{{{{{{{z|{z}|{{|||}|z{z{{|{|{|{||{}{{{|z{{||{|||{{|{{|{z{{{{||{{{}||{{z{z{{{|||}{||{z{z{{{{|||{|{|||{|{{{z|{|||{||||{{|{{{{|||}||}|{{{{{|{{|}z|||||z|{{{|||{||{||}||z{{|||||||||~||||{{{{||{|{}|}{}|{{{|z{|{}|||||{||||}z{|||}|}||||{{{{{|{{{}{}{}}}|{||{z||||||}|||{{{{{{{}||{|{}||||zz{|{||||||||{{zz{z{{{{|{||||{}|z|{||{|||||}}{|{{{{|{{|}|||||{{{z{|{|||{||}||{zz{{{{{{|{|z||}}zz{{{{{{{|{|}|{{{{{{||{||{|{{|||{{{|{{{{{|{{{|{{{{|{zz{{{{|z|{|{{{z{z{{{{z{||{{{z{zyzzz{|{z|{{{zz{{y{{{{{{||||{zz{{{{{{{|{{{{{{{zz{z{{{z|z{{|||{{{|{{{z||{{|{{|{{yz{{{{{|||||{{||{{{|{{{{{|}{}{{{{{{{{z{{|{{||{{z|{|z{{{|{||{|{|{|{{{{{{|{{{{||{{{{{{{z{|{z{{|{|{z{{{{{{||}||{||{{|{||{{{||}||||{{|{{{{|{|{|||{|{{|{|{{}{||}|{{|||{|z|{|{||}||||{|||{|{{}}|||}{|{{{{{|{|{|}|||||{z|{{{||{}||||}|||}{{z{|||}|{}}{{|zz{{|{|||}|}|{{{|{z{z{||{{{}|{{|z{{z{|||{|||}{{||{{{{}|}|||{||{|{|{|||{}|}}|||{{z{{|{|||||}}||||{{z{{{{}}{||{{|{{z{{{{{{}{|{|{{{z{{zz|||{{{||z{{zzz{z{{||{|||z{|{z{{{{|{||{{|{zz{{zzz{|{|{|||{|z{z{z{z{{|||||z{|{{{zz{{{{{{{{{|z{z{{z{{z{{{|{{{{z{z|{z{{|{{|{{zzz{z{z|z{|{{}|zz{{{{z{{||{|}{||{{{{z|||||{{{|}|{{{{{|{{|{||{|{|{z|{z{{{|{{{|||{|{{{{{{{|||||||||z{{{||{{||{|{|{{{|{|{{||||{|||{{|{{|{{|{||||}}{z{{z{zz||{|{||||{|{|{||}{||||}|{|{{}}{||{{|}||{||{{||||||||}||}|{||{{|{|||{||||||{||{{||||||{||}|{||{||||}|||}||||{|{{{||{|{||{{{{z{{{z|{{|z|||{{{{{{{{||{z|}}~|{|||||{{}|||}}~||{|{{}|}|||}}||||{{|{{|||{||||||{{|z{|{|||{||{}|||{|{{{{|{||{|||{{{{{{{z|||{{|{|zzzz{zz{|{{||{{|z{zz|z{{{|{{||{|{z{zz|{{{|{z||{{y{z{{y{{}{|||{{{||{{z{{{{|{|{|{{z{{z{|z|{{{{||{{{{z|z{{|{{{z|{{{{{{|z{{|{||{|}{{{{{{{{{{||{||{}{{|zzz{{{{{{|}||{{{{{{{|{|{{||{||{{{{|{y|||{}||{{|{{{{{z{|{{{|||{{{{|{||z||||||}{{{||{{{|}|}|||||{|{|{||}||}{{}{{|}|z{{{|}}|||}{|{|{{{{|}|{}||||||{{{{{||||}|||}}{|{|||||}}|||}}|{||||{{{|}|||}}||z||{|z|{|||||}||{|||{{||}||||||{{{{{|||}|{{|||z{{z{{z||{{|{||||{{{zzz{z|}{|||||||{|{{{||}{|}|{{|{{{{{{|{|||||}{|z{{{{{||{|||||{|{{{{{{||{||||}{{{{{{z{|{{{{||||{{|z{{{z|||{{||{{{z{z{z{||{{{{||z|{z{zz|{{{{z{|{zzzz{{zzz||{{{{zz{z{{z{{||{||{{{{|{{{zzz|{|{{|{{zzz{{{z{{|}|{{{{{z{{{{zz{{{|{|{|zz{{{z{{||{{{||{|{{{{{||z||{||||{zz{{z{{{||{}||{z|{{{{{{||{{||}zz{{{zzz{}|}{|||{{|{{z{{{|||{||z|{{{{{{||{{{|}{|{{{z|zz{{z||{|}}{||{{zzz{|||{{}|{z|{|z{z|||}|{|||{|{|{z{{{||}||}|{{{}||z{}||}}}|{{|{{|{z{||}|{|{}{{{{{{||}|||||}|{z{{{{{{||||||}z{|{||{|||||||||}{{z{{|{{|{|{|}{{{|{{z{{{{{}{||||{{z{z{z{|||{|}}||}{||}||}|}||}}{{y||{{{|{{|}}|||}||{{|{|{{{|||}|{{{{{{|{{||{{|||{|{z{zz{|||||{|{{|z{z|{{|{{{{|{{zz{|z{{z||z{||{{{{zzz{z{z{|{||{zy{{zz|zz|{{{||{|z{{y|{z{{|zz{{|z{{{z{z{{{{{z{{{{{{{{{zz{{z{{{|{{{zz{{z{{|{|||||{z{{y{z|{|{{{{|{{{z{{{{|{|{{{{|||zz{{z{{|{|{{{{|z{{z{{{{||||||{|{{{z{{{{{||||||{{|{z{z{z|{|{|z|||{{{{zz{{}|{{|{||{|{{{{{|}{{|||{{{{{z{||||||{|||z{{{{{{{{||{|}|||{{{{{{{||z||||}{{{||{||}}|{|||}||z{{|{|{|{{|||||{|{{{{z{{||{|{{|{{{|y{||{||||||{z{{|{z|{}}|{||}{|{{|{{{{{||||{{{|||{|{{{|||{{|{|y{{zz{z{{||{||}||||||}{|}|}}||}|{|||}{{|}||{|||{{{zz|{{||{||{||{z{{{{{||{|{|||||z{{{z|y|{{|z||{|z{{{{{z|||{{||z{z{{{{{{|{{{{||{{z{z{|{z{zz{{{{{{zzzz{{{{{|{z}|{zzz{z{z{z{{|{|||{{{|zzzz{|||{||{z{{{{z{{z|{{|{{|{{{z{z{z{{zz||{|{{{{|{{z{{{{|{|}{{{z{{{{||{{{{{|{z|{|z{|{{|{|{||z{{z|{zz{{|{||||{|{{{{z{{|{||}{{z|{{z{{{|{||z|{|{{{{z{{{|{{|{||{|{z{z{{{{||{||||{|{{|||{|}{||||{{{|{||{{}{|}|||{}{|z|{{z{}}{||||||}||{}|||{{{}}||{||{z{{{|}|~||||{}{|{|{}}|{||}}|{{{{||{{{{||||{|{|{z||{|||}|||}{{|{zz{{{{{{|{||{z{{{{zz{|{{|{{||{{{{zz{{{{{{}}}{|}{|z|{|}}|||||||{{||{|||{||||}{{{z{{{z}{|{||{{{|{{{{{z||{|{|}{|{{z{{|z|||{|{{{{{{zzz{z{{{{{}{{{{{{{{{{{||{{{||{z{zz{{z{{{{{{{{zzzyzz{{|{|z|||{{{zzy{zz{{|{|{{z{z{zz{{zzz{{|z||{{zzz{zzz{|zz{{{{{z{|zzzz{z{{{|{{{z{zzzzy|{|z{{||{{{{yz{{{|{|{|}{{|{{z{{|{{{{z{{|{{{{z{{|||{{{||z{{{{{{{{|{{||}|{{{{{y{{z||||{}{{z{{{{{{|{|{{{|{{{z{|{{{{{}{|}||{|{{{{{{{|{|}||||z{{{z{{||||||}|{{{{{{|{|{{{}||{{{|{{{|{{|{||||||{{|{|{{{}|}||}|||{||z{{|}}|||||}{|{{z{{{|z{{|}|{{{|}{{{{||||{||{|{|||{{{|{}||||{{{||{z|{|{|||||{{{{z{{{{||{|}~~|{|||{|||}}}||}}}|||{{z||{||{||}|{|{{{{||z||{|{{|{|{|z{|{z||{|||{z{z{z{{{{{|{{|||{|{{{{zz{{z{|}{|zz{{zz|{z|{{|{{{{{z{{zzz{|z{|z|{{{{zz{zy|{|{{{{{zzz{zz{{{{{|{{{{{{zz{{z{{{|{{{{{zz{{z{{{{{z|{|{{{{z{{{{z|{|{||{zz|z{{zz{||{{{{|{{zz{{{{|{{{{|{|{z|{{z{{||||{|{{zz{{z{{z|{{{|z|{{{{||{{z|z{|{|{|{{{{{{{|{|{{|||{{{{{{{zz{|{|{||{|{{{{{z{{{|}|{}}{{{{{{{{{{{||||{{z{{|{{z|{|{|||}}z{{|{{{{|{|}|||{{|{z{|{{||{{||||{{|{z{|z}}||||||{|{|{|{{}|{||||{|z{|{|{|||||}||}{}||{{|||||}{||{{|z{{{{{{z{{{|||z{zz{{{||{|{{{{{{{{zzz{|{{|{}}~}||}|{||}|}}}}|||{|{|z|{|||}|}|||{{{{{z{|{{{|||}{{{||z{|{|||{||{{{|{zz{{{|{{{|{||{{{{{{|{{{{{|||{{zz{{{z{{|z{|||{{z{zzz{{{{{|{z{{{{z{{{zz{}{||{|{z{{zzz{{|{|||||{|{{{{{|{|z|{|{|{{zz{{z{{{{{{{{{{{zz|{{{z{{{{{{z{{{z|{zz{{||{||||{{z{zz{{}{{||}|{|{|zz|{|{||{{|{{{{{{{{|{|{{{|{{|z{z|{z{{|||{|{|zz{z|{z{|||}|{||{{z{{{{z{{{||}{{|{||z{z{||||||}{|{|{{|||{{|{|}||{{{{{{{{|||{{|||}{{{{}{|||||||||{{{{{|{|}||{|}|||||{|{{|z}|}||}|{|{||z|||}{|}||{}||{{|{{}||{|||||{|{||{||||{{|}|{{{{{z|{|{|}||}|{z|{|{{{{{||{{|}{{{{{y{{|{|{{|}~}}{|}}|{||||}}|}}|}||||||{||||}|||{|{|{{|{{|||||||{{|z{{}||{||||||{{z{{z{|{{{{|{{{{zzz{|z|}z{{|{{{{{{{{{||||{|{{{{zzz{zz{{{|z|{|{|zzzzzz{{|{{z|{{z{zz|z{|{{|||{|z{{{z{{{{|{{|||{{zzz{zzyy|{{{{{|}z{{{zzz{z{|{||{{zz{{{z{{{zz{{|{|{{{|zzz{|{{z|{|{|z||z{{{{{|{}{||{{{{{z{{|||{||||{{{{{{{{||{{||}{{{zz{{|||{{{|{|{{z{{{{{{{{{{}|{{{|{{z{{|{|}||||{|{{{{|{}}|{{|}||{{{z|{{{|}{||}||{|{{|{{|||||||{{{{|{|}|{}{|||}{|{|{|||||||{|}|||{z||{||||}|}|{||{z{z||{{|||{|||{{|||||{}||{z}}|}|{z{{{{{|{{{}|||{{{{zz{z{|||||{{{{{{zz{||{|{~}}}}||||}|}}}}|}}|}|}{{{|{}||}|{|}|{|{{{|{{{||}}}|{{|{||z{{|||}{|||z{z|{{{|}{|{||}{zz|z{{{{||{|z{|{{{{z{{{{{|{{{{||{z{{|{z{{|z{|{|z{zz{zz{{{||{||{zz{{z{z{{{{|{||{{{{{{{zz{{|}{{||{{z{{z{zz||{|{{{zz{{{zzz{{{|{||{{zz|{{zz||{{|||||{{{{{{z{||{||||{{||{{|{{|{{|{||{|{zzzz{|}{||{}||{|{|{z{{||{{{|{|{{{z{{{|||{||||{{{{{{{{|||{||}|{z{{{{z{|}}}||}||||{{z|{|{|}}|}{|z||{{{{|||}|||||{z||||{|}}|||}||||{{|{|}{|}||||}|z|{|{z}|}||}||{||||||{|}{}|||||{{|{|{{|||}|}|}}|{}|{{z{||||||||{|{{{{{|||{{|}}|z|{{z|{|}}{|z|}{{z{{z{|{|{||}}}}|}|z}|{|~~}}|}||}{}|}{|||}}}}|||{{||{zz||{|{{}|}z{z|zz{|||{{|}|{{|z{{{z{||{|{{}{|{{{{|{{|z{z|||{{{{{z{{{{{{{|{{|z{zzzz{{|z|{||{z{|{z{|z|{|z{||{{{z{{{{z{{|z{{{{{{z{z{{{{{|{|{{{{{{{{{{{{{{{{|{{{{{z{{{z{{{|z|{|zz{{{{z{{|{{|{|{|z|{zz{z{{|||{||{{{|{{{{|{{{{|}{|{{zzzzz|{z{||{{z{{|{{{{{{|}|}|||{||z{{{}{|z||||{|{|z{|{|||{||{||z{{{{z{{{||{|||{{{{{{||{|{|||}||{{{z{|{}||||}}||{{|{z{{||||||}}|{|||||{|||||}||}{{|||{{{}|}||}|}|{{{|{|{|||{{||}z{{|{{|{||}||}|{{{{{|||||~|{|{}{|{{{{||{|||{||{|{|{{{{{{{{|{||{|{{z{z{{{{{{{}}}}}}}~|||~}}}}||}}|{|}|||||}|{|}|{||{{|{{{||{||}{|{{{{|z||||||||||z{{zz{{{|{{|{||{{|{{{{z{|{{z{||{{{zzz{|{{|y{{{|{{{{{z{{{{|{{|{{z{z{{{{zz{{{{|||z{z{{zz|{{|||{{{{{{z{{zz||{||{}|{{{z{{{z{{{z{|{{z{{{{z{{z|{{{{{{{z|{{{z{{|{||||{{|{{{z{|{{}|{||}{{z|{z{z|||{{|||{{z{{z{{|||{|||}{z{{|{z{{{||{{}{{{|{{z{{{|||{||{{z{|{{{{{|{|z{||{{{{{{|{{{}|{|||{|{{{{{||{{}||}}{{{{{{{{|||{{}|z||{{|{{z|}}{{|||{{{{{|{{||{||||}||{|{}{{||||||||{|}|{{{{||}|}||{|{{|{{||{|||{}}|||{{|z{|||{||{||||{{{|||{}||{|||z{{|{z{||{|||{|}z{{{{{z{z{|||}}|~|}}||}|}~}|}}~|||}|{{|||||}|||}{|{{||z}{||}|||}}{{|{{|{{{}{||||||{{z|z|{{{|||~|z{z{{{z{{|{{|{{z{{{{{z{||{||{||{{|{zz{z{{|{}|{|{{zz{zz{{|{{{{{{{{{{zzzz|z||||{|{{|{zz{z{|{|{|}{{z{zz{{z{{{||{{|{{{{{z|z{{{|{|{{||{{{{{z|{||{{||{{z{zz{z|||}{|z}{z{z{{|{{||{|||||z{z|z|{|||||||||{|{|z|z|{||||{{{{{{{{{{{||{|||{{{{{{{{{|||{{|||||{||{{{|||}|}||{||{z||{||||||||{{z{|{|||||{|{}|||{}z|{||}||{}}|{{{|{|{{{|||}{||||{|{|{{{|{||||{{||||||{||}||||||{{||||{|}||||{|||{{{z{|||{||{|{||{{{{z||||{{|{|{{{z{{z{|||{|||{{{z{{zz{{|{{~~~}|~}||}}|}~||}}}||||{|{{}|}|}|~||{{{{|{z{||{{|{|{{{z||{{{|||{||}|{{{{{|z||||{||{{{}z{{{{{{{|{{|{{{|{z{z{{|{z{|||{{|y{{zzz{{|{||{{{{z{z{zz{|{|{}z|{z{z{z{z{{{{{{|z{{{z{zz{{{{z|{{{z{{{zzzz{|{{{|{{{{z{z{zz{|{|{|{{{z{z|{{{{{{|{{||{{{{zz|{||{{{|}{{{{{{{{|{{}||||{||{{{|{{{|{{||}|{{{{z|{|{||}{{||z{||zz{|||||||||z{|z{|z{|{{{{|{{|{{|{}|||{{{|{|{|{|{{{z|||||||{{z{||||{{}{{|}||||||{|{{||}}||}|{{|{{{|||}|||||}|||{{||||}||}{}|{|{||{{{||||{||||{{|{{{|||{{}||{{{z|{{{|{{|||||}{z{{{|{|{{{}{{{|{|{z{{{{{||}{{|{{z{z{zz{z{|z{}~~~}}}~}}}}}}|||}}||||}z|{||}||}}|||{|{{||||{|{{|||{z{||{|{{||z||}||{{{z{{|{|||{||{{{z{zzz{{|||||||z{zz{{{{{|{{||{{zy{{{z{{z{{{{|{{{z{zz{z{||{{||{{{yzz{{{{{|{{|||z{|{y{{{{{}{{|||{{z{zz{{{z{{z||{z{{z{{z{z{z{{{|{zz{{|{zz|{{z||||{z{{{zzz||{|{|||z{{|zzz|{{{|{|||z{z{{{{z{{|{||{|{|{{|{{{{{{|{||{{{{z{{{||{{{{|}{{|{{{z{z{|{{{||{{{|{z{{|||||||||{{{{z{|{{|{|||||{z|{{{{{{|||||{||z|{{{{|{{}||{~|{{z|{{{|||{||}||}{{{|z|{z|}|||||}||{|{{{||}||{|{|{{{{|{|||{||||}{{{|||{{||{{}}}|{|{|{{z|{{{|{|||||{z{{|{{||{{z|||{{{{{z{z{{{|~~}}}}|}}|}~~~~}}}|||{|{{||||}|{|}|z{{{{|{|||}||}{{{z{{{z|{||||{||}z{{{{{z}{|{{{||{z{z{{{z{{{{|z{|{{{{z{zz{|{z{|{{{{{z{zz{{{{|z||{{{zz{z{{{{{{z{}{{{zzzzz{z{{{{|{{{{{z{zzz|{z|{{{|{z{{{zzzz|{zz}{{{|{z{z{zz{z{||{|{z{{z{{z{{{{||{|{z{z{{{{{{{|{{{||{{z{{{{{{||z|||{|z{zz{{{|||{|{{|{|{{zzz{{}||||||{{{{{|{{{{|{{|{{{{{{|z{{{||z|{||{{{|{z{{|{}{{}|{{|{|{{z|{{}||||{{{{|{z{{|||{{||{{||{|{}{||{|{{}|{|{{|{{{||||||{{{{|z{|{{}||{}||}{{|{|{|||{|}|}{|{|{{{{{{|{|||{|||{|{{z|||||||{|z|{{{{{z{|}|{|||{|z{{zz{{|{|{{|{{{{z{z{z{{||z~~~|}}}||}}~}}~}|}|}||}|{|}||||}}||{{|{|}{|||{|}|||{|{{zzz|{|{{||{{{{{z|{{{{|{|{{||z{zz||{{|{{{||{z{z{z{{zz{|{z{{{{y{{{|{z{|{z{|{{{z|zz{{y{{|{|{{{{{z{z{zz{{{{{{||{{{|{{{{|{{||{{{|{{{{z{{{|{{{zz{z{zzz{{z{|{{{{{{{{{{{{{{z||{{{|{|{zz{{{{|||{{|||z|{z{{{z{{{|||||{z{{|z{|{|{{|}|||{{||z{z{|||||{{{z{|{{{|{|{{|{{|{z{{zz{z||||{{||{|{{{{{{|||}|||}zz{{|||{|||{|{|}{{{|{{{{{|{|||||{|{{{z{{}}}{||}}{z|{{{|{z{|}}}|}|{{{{{{z{||||||}{{|{{{|{|{|||||}{{{{{{||{||||||}||{|{{z|{|{}||}}|||{|z{{|{||{||{||z{{{|z{z{|{{||{{{{{{z{|{{||~~~~~}}}~}}}}~|}}}||||}}}||||}}||}}||{{|||{|||||}|{}|||{{z{{{||}z|||{{{z{{{||||{|||{z{z{{zz{{{|{{||||{{{zzz{{{{{{{{{z{zz|{{{{||{|{{{{{{{zz{zz{z|{}|{{zzz{z{{{{{{{{|{{{{{{{z|{{|||}{{{{{{zzyz{{{||||{{z{z{z{{{||{|z||{{{|{z{}{||||||zz{{{z|{{{{|{{|}{{{|{z{{{{{||||{{{{|{{{|{||{|{|||{|z{{{||{{|||{||z{{{{{{|||||{|||{z|{{{z{|||{|{|{z{{{|{{|||{||||{{{||{{|}{||||||{{{||{|||}}||}|||{{|{|{||}{|{|||||||{{{{{||||}|{}{{||{{{{}|||}}}|{{|{{|||||}|}|||{z{|zz|{}|{|||}|{{{|{|{||}}||||||{z|{{{{|||}||}{|{{|z|{z|||{{|{|{{{{|{z|z{{|~}}|}}~~}}|}~~}}|||z{||}|}}}}|}|{{|{|{||{{|||||{{{{{z|{{||{{||{{{{zzzz{zz|||{}{{|{{z{{{|{{{||{|z{{{zz{{{|{z{||{z{z{zz{{zz||{{{zz{{zzyz{{{z{{||z{{{z{yz{{||{{{|{{{zz{{{{{{|z||{{{{z{{{{z|{{{{|||{{y{{{yz|{{||{{{{|z{|z{z{{|{{|{zz{{{zzz||{{z|||{zz{{z{{{{{{{|{{{|z{z{{||{|{{|{|{z{{{z{{{|{z{||{zz{{{z{{{{|{|{}z{{z{{{{z|||{{{||{{zzzzz{||{|||||{{{{{{{|{||{{|}|{{{{{{{{{{|||{}||{|{|z{|||{|||||{{|z||||{}||{||}|||{||{{{}~||||||z|||{|{|||}{|{||||{z{{{{|{{|{|||{z|{{|{||{||{}||{{{{{{{|{{|{{|||{{{{z{{{|{||||||z{{{z{{{|{|{~~}}~|}}}~}}~}}|}}|||{}|||}|}|}}|{|{{{|||{}{{}{}{{|||{z|{||}{|||{|{{{{|z{{{{{|{}z{zz{{{z|||{|||z{{|{{{{{{|{{{{|{{z{{zz{{{z{{{|||{{z{|zzz{{|||{{{{{z{zz{{|{{{|{||{{|{zzy{{|{||{{||z{zzz{yz|{{|{{|{{{zz{|z{{{{{{||y{{{{{|{{||||{||{{z{{{{z||||{|{|{{{{z{{{{|{||}{|{{|{{{zz{||{{|}|{{{{{{|{{|}|{|||{|{{|{{{|{|||{}{{{{||{{{|{||{{{{||{|{{{||||}|{|}{|{z|{|{{||}||||{|||{|z{{|}|{|||{|{}{{{{{}||{|||{{|{{{|{||{{||{|{||{{{{{}}}}}|}|{z|{{z||{||{|}}||z{{{{{|||}||||||{{{}{{||{{|||}|{|{{{|{{|}|||}|||{{{{||{||{|||||{{|{{z{{{{{|z~}~~~}}}~~~}||}}|}}|{|}|||||}~}}|{|||{||||||}}||{{{|z{{||{{|||{||{|z|{{zz||}{|||z{z{{zzz||}{{|{{|{{{{{{{{{|{|}{zz{{{zz{z||}|{||{{|{z{z|{{|{{|{{||{{z{{z{z{{{|{{|zz}{{{{{{|{{{||||{z{{{{{z{{|z|{{{{{{zz{|{{{{{|{{{z{{|{{z{||{{|{||{{{z{z|{{|{{|{||{|z{{{{|||z|{{|{z{zz{z|||{{|||{{{||{z{{z{||{|||{{|{{{{z|}||{{}|{|{|{{{{||z{{|{||{{{{zz{||{|||||{||{|||{|{{||||||||{|{{{{|{|||}{}{|{||{{||||||||{{{{|{|{{||}||||}z{{{||{{|}}|||||{{{|{{||||{||||{{{|||{{{{||{|}}}{{|||{||}||||}|{|{{{{{{|}}{{{||{||{{||z{|||{|||{z|{{y{z||||z}}}}~|}}}~~~}}|}}~||{||{}|||||}||}|{|{{z|||{|{{|||z{z{{z{z{{zz||{z{zzz{z{z||||{|{{{{z{{z{{{{{|{|{{{z|z{{{{|{{{{{zzzzzz{{{z{{z{{{z{{zz{z{z{|z{{{|{zzz{{z|{{{{{{{{z{{z{{z{z{{{z|||{{{{z{{{|{{{{|{zzz{zz|z{zzz{{{{{zz{zz{{z{z||{|{|{{{{zz{{{{{{{{{|zz{zzzz{{{{{{{|{{z{zzzz{{{{|{{||{|{{{z{z{{{|{|{{{|{{{zzz|{{{z|{{{z{{z{z{|{||{|{{{{|z{{z{|{}|||{|{zz{|{{{{|{|{|||{{{{{{{{{|{}{{}}|{{{|{|z||{||||||z{{{|{{{|{{||{||||{{{zz{||{}|||{|{{zz{z{{}{|||{|{{{||{|{|{||}}{|{|{||{{{||||{||z{{{{|{{||{|{||||{z{{{{z||||{{|{{z{z{{{{{|||{}~|~}}~}~|}~}|}|||{{{}}}|||}}|}z|{{z|||{{||||||{{|{{{{||{|{||{{{z{zzz{{|{|{||{z|zzz{zz{{|{{|{{z{z{{{{|{|{{{{|z{{zzzzzz|{|||{|zzz{zzz{z{{{{{|{{zz{{{z{{z|{{{{{|{{z{{{z{{{|{||{{{{{{z{zz{||{{{{|{zzzy{{{{{{||{{{z{{{{zz{|{{{{|{{z{{{{{zz|{{{{||{zzz{{{{{|z{{{|{{{{zzy{{{{|{{{||{{{{{{{{{{{|||{{{{{z{|{{{{|{||||||z|z{z{{{z{{|{{|{|{zz{{{||||}||z{{z{{|{{|{|{||}{{|{{{{{||||{{|{{{{{{z{z|||{}|||{{{|{|{}|{|||||}|{{|{{|{{}}|||{|||{|{{||||||{}|||{{|{{{|{||{|{}}{|||{{{|{{||||||{{|zz|{z{}||||}|{|{{{{{z||{|{{{|{{}{{{{{{{|||~}}~}||}|}~~||||||}|||}}||}}}|{|z{||{|{{{}|{||{{|{z{{{|||{|||{{|{{z|z{{{{{}{{{{|{{{zz|{{{{|}{{{{{{z{zz|{{{|{{{|{zz{{{{{{{z{{{{z{{{{{z{{{{{{{{|zzzzz{{{{{{|{{{{{{{z{{z{{{|{{|zz{|{z{{z|{{z|z|{{{|{zz{{{||{{}||{{{{{zz|{||{|{{||z{{{{z{{{{|||}{{{{{|{{{{||{|z|}{z{{zz{{|{|{|||||{{{z{{z{{}||{{{|{|{|{{|||||z{||{|{{z{z|||{{|||||z|{{{{{|{}}{|z|z{{{{z{{||{{|||}|{{{{zz{{||||{||}{}{{{|{{|||{||}{|{{|{|{|{|{{||{{{{{{{{{{||||||||{z|{{z{||||}|}{|{{{|{|}|||{||||{{{||z{|||{{||}||{{z{{{z||||{{}||{z{{{{{{|||{|{{{{{{|yz{{{|{{~~~}~~}}~}}}}~}~|}|{|{|}|||~}|}|{z||{z||{{{|}|{{{{{{{z|{||{{{{||}{{zzz{{{|{{|{{{{z{z{yz|{{{||z{z{z{|yz{{{{{{{|{zzzz{zy{{z{z}|{z{zzzzz|{{{{{{{{{zzz{zz{{z{{{|||{|zzzzzzz|{zz{|{{zzz{zzxz{{z{{{|zzzz{z{zz|{{{{{{{{{{{{zzz{{|{|{{{z{{{z{z|{|{{{{}zz{{z{{z{|{{{||{{{{{z{{{{{|{{|z|{{|z|{{{z{{{{{|{zzz{{z{{{{|{z{}|{{z{{{z{|{{{{|{|{z||{{|{{{{||||{z|z{{{{{|{|{{|{||||{{{zz{||||{|||z{z{|{z{|{{{}|}{|{|{|{|{{|{|{{|{{{{z{|{||}||}||{{{{{{{{|{|{||{||{{{{|{{{{||||||{z{{{{{|{z||{|||{{{zy{{{{{{{{{{|{z{{{{zz|||{{||z{{{{zz{{{}|z{~~}}|}|~||}}~}}}|}z{|}|}}|||}{{|z|{{{|{{{||}|{{{{{{{{{|||{{{|{{|zy{z{{z||{|}||zz{z{{zz{|{{|{|z{{zz{z{{{{{{{z{{{{zzzz{{{{z{|||z{z{zzzzzzz{{{{{{{z{{{zz{{{z||{{{{{{zzzzzz{{{{|{{z{zzzz{z{zzz{|{{{yy{z{{{||{{{|{{z{{{{{z{{{|z||{z{zz{z{zz{{{{{||{{{|{z|{{{|||{{}zzzz{z{{{{{{{|{|{z||{{{z{{|{{{|{{zzz||{{{}{|z{|||{{z{z{{|{z|{{{{{{{{zz{{|{{{|{{|{z{{|||{z||{{|{|{z{{z{z{{||||{{}{{{{{{{z||{|{|||z|{{z{|{||||||{{|{{{{zz{{}|}|||||z||{{{{{|{|||||{{{{|z{{{{|{|{|||||z{z{{|{||{{||{{|zz{{{{|{|{|||}{{{z{{z{|||{{{{|{{zz{{{|{yzz~~~}~~|~}~}~|}{}}}||}||}}|~}}|{|{|||{||{|||{|||{||{{||}{{|{|{|{z{z{{{||||||z{{{|{z{z}{{{{||}{z{{{zz{|{{{{{{{{{{{{{{{{|z||{{{{z{{{{z{{||||||zz{|zz{{{|||{||{||z{{{{z{{|||{|{|{{{|z{z{{{{{|||{{{z{{{{{|{|{|{{|z{{{z{z|{{{||}|{{{{{z{{|||{{|||zz||{{z|{}|||}||{|{z{|{{z||||||||z{{||{{{||{{||{{{}||{{{{||{{{|{{{z{{{{{|{|{z|||||{{{z||||{|||{|{{{{||{{{{||}|}}|{{|{{{||{||||}||{||zz||}|||||||{{||{{||{|}||{}||{|{{{{{|}}~|||}}{{|{{{{|}|}|||||{{z|{|||}}{||||{{{}||{|}}|||}||{|{{{{{{{|||||}}||{|{z|{{|{|{|||{{{{{{|z{|{{|~~~}~~~~}}}||}|}~||}}}|||||{|{z{|||||{|{}||{{{z|z||{|{|{{{|{zzz||{{{{|{|{y{{|{|z{{{{|{{|{|{{zz{zzz||{{{|{z{z{{z{{{{||{|{{{{{{z{{{{{{|{{{{z{zz{{{{{{{|{{{{|{z{{z{{{z|{{{{{zzzz{zz{{|{{{{|z{z{{z{|{|{{{||{{z{z{{z{{{{|{{{{z{z{z{{{{|{{{{||{{{z{z{{{}{{|||{{z|{{{z{|{{|||{||{{zz{{z{{||{||{{zz{|{zz|||{{|}|{z{||z|{|{{|{|{|{z{z|z{||{{||||{{|||{|{{||{|{|}|z{{|{{{{|}|||}||{{z{{|{|||}|{|}||{{{{||}|}|{{}||||{{{|{|{}}|}||{|{||z{{{|||||||||{{||{z{|{||{||}||{|{{||||||||{||{{z{{{{{{|{{||||zzzzz{{{||{{{||{{{{{{{z|{{{{~~~}}~~}}}~}}}||||}{||||}}}}|{|{{||z|{||||}||||{{{{{||z|{{|||{{zz{{{{|{|{}{|{{zz{z{{{}{z{|{{{zz{{zzz{{{{{|{{{{zzzzz{{z|{{||{zy{z{y{z{{zz{{{{{|{z{yz{{||||{{{{z|zz{zz{|||{{|{z{{yzzzz{{|{{{{{|zzzz{{{{|z{{{{|{{{{{{{{|z{|{{{{z{{z{{{{{{{{{{|||zyz{z{{{{{{{|||{zzz{z{{z|{{{||||{{{|z{z{{||||{|{{|{z{{zz|{|{||{{zz{z|{|{||{{}|{||{{z{{{|||}|{||{{{|{z{|{|||||||{{{|{{|{|~|{|||||z|{{{{{||{|z|}}|||{z{|{{|{|{|}}|{{|{|{{||||}|||{z{{{|{{}|{{||{{{z{|{{||{z}||}||{|z{{{{{{|{{}|{}{|{z{z{{{|{|||}||{{z|{z{{|{|{|}{{{{{z{{z{{{{|~~~~}~~~~}|||{}|}|{||}}}{{|{|z|{}{|{{|||||{{{z{{{{||{{{|{z{{z{{z{||{||z{{{{z{z|z{{{|{|{{{z{z{|z{{||{{|{{|{zzzyy{{z{|z|||z{z{zzzzz{{z|{||{zz{{{{{{|{||{{{{z{zzzzz{{{{{{|{{z{z{z{z{{{z{{|{{{yz{{zz{{{|z{{|{{{z{}zz|}{y||{|{{z{{{{{{|{z|{|{{z{{|{|{{z{|{{}|zz|{{{{{|{{|{||{{{zzzz|z||{{||{|{{z{z{{{|}||{|}{{{{{{zz{{|||||||{{{z{{z{{{}}|{||{{{{|z|{|||}|||{{z|||z{{{}||{|{|{{{{{{z{|}||||||{{|{||{{z||{||{|}{{{||{{|}}|{{|||{||z{|{||||||||}{{|{{{|{||||||}|{{{{|zz|||}|||||{|{{{|{z||}||}||zz{zz{{|{|{{||{{{{z|zz{{|{{z~}~~~~~}~|}}|||||}|}}}||||{{|}||||{{|}{|||{{{{{||||{||||{{{{{{|{{{}{|{z{{{{|{{zz||{|{{|{{{{|{{{{{|{{||{{z{z{{z{|{{||||}{{{z{{{{z{||||{z{zzz{{y{z{|{{|}|{{{{zzz|{{{||{|{zz{|{{z{||{{{{{|{zz{{{zzz|{{{|{|{{{{{|zz{z{|{|||{{{{{{z{{|{|{}{{|{z{|{|{|{{|{|{||{||{z{{{{{{|{{|{{{|zz|{{}|||||{{|{|{{|z|||{{|||{||{{{{{{||{{|{||{{|{{|{||{{}||{z{{||{}||{{|{|||||{z{{{z||||||}|{{{{{{{|||}}{||{{|{{||||{|{|{|||}{z{{{{{{|{|{|||}{{|{|||||}|||||||{{{{{|||{||||}|{|{{|z{|}||||}|{{{{{{|{{{{|{||||{{{{{{{{{{{z||{{{|{{{{{{{|{{{}}~~~}~}}}|}|||}}}|}|||||{|||{{||||{||{{|{|{{{z|{{}{{|||zz{z{z|{{|||{}|{{{{{z{{||z{|{}{zz{{{{z|||{||{{{{|{z{zz{{{{z|{|{z{z{{{zz{z{{z{zzzzzz{{z||{{{{|{z{{zz{z{z{z||{{|{{{{{z{z{z|zz{{{{{{{{zzz{{{{{|{{{{{zzz{z{||{|{|{|z|{{{{{z{{{|{{||z|{{{{{|{|{{|{|{{{{zz{z{{|{||{|{|{z{{{{{||||||{|{zzz{z{|||||{|{{|{{z{{{{}{{||{|{z{{z{{{{|||}|}|{{{{|||{||{||||}{{{{z{{{{||}|{||}z{{{{{}}{||{|}{{{z{{||z{}|||}}||{{|{||{|}|}|||{|{{|{{||~|{}}||||{|{z}||}||||{||}|{{}{|{||{||}|}||{z{z|{||||{}}||||{z{{z{|||{{||{{|z{{{z|{{{|~~}~}}~||}}||||}}|}|}}~}{{|{{{||{||||||{{{{{{{|||||{|{z{{|{z{{{z|{{{}|{{{zz{{zy{|{|{|{|{{{zzzz|z|{{{z{|{zzzzz{{{{{{{|{zy{z{{zyz||{|||z{{{z{{z{zzz{{{|{z{{{{zz{{|{{{{||{zzz{y{z{{zz{{{{{{{zzz{z{{{{z||{z{{{{{{{|{{{{|{{{{{z{{{{|{||{{||{{{{{{||{{|||{{{{zz{{z{{{{{|{{||{{z{{{{z{{{|{|{{|{{{zzzz|||z{{|{z{{{|{{{||{{||||{z{{{z{{{{{|{}||{|z{{{|z|{|}{|{}|{||z|z|||{}{|{|}{{{{{{{|||{{}|||||{{{{{{|{|||||}{|{{|{{{||}||}||z}{{||{{|||{}|||{|{{|z{{{|{|{||{|{{|{|{||||{|{{|{{{{{{||||{{|{|{|{{{{{{{{|{{|{{{{{z{z{z{|||{~~~~~}}}{}}||z|}{}|{}}|||{{{|{||}|}|||{||z{||{{|||{{}{|{{z{yzz{{|{{|{|{y{zzz{{{{z{z{{{{zzzz{z||{{{{{{|{{{yzzzzzz|{{|z|{z{{zzz{{{{||{{{zzz{{{z{{{{{{|{{{z{{z{{z{{{|{{|{|{zz{zz{{z{{{{{{zz{zz|{z{z{{{|{{z{{{z{zz{{{|{||||z{{zzz|{{{||{||{z{{{y{||{{|{|||{z{{z{{{{||{||{{{{{z{z{zz{{||||{{{{{z|z{{{|{{|||z{z|{|z{|{|{|{{{{{|{|z{{||{}||||{{{{{{{{{{{}{{|{z{|{{{{{{{|||||{{{|{{z{{{|{|||||{{{{{{z{{||{|{{||{{{{{|{|~||{}|||{{||{|{|{|||{||{z{{|z{||||}{{|||{|{{{{{{{|{||||{{z{z{|{{|{|{|}|{{{{z{{z{}|||||{|{{z{{z{z|{z|~~~~~}}}~|||}|}}}|}}||{|{{{z||||}{}||{z||{{{||{||||{{{{z{{z||{|{{{{|z{{zz{z{{{{z{||{{{{{y{{z{|{zzz{{{zzzz{zz{zz{{{{{{z{{{zz{{{{{{{{z{{z{{zzz{{{{|{{{{{z{zz{{{z{|{{||zz{{zz{z{{{{{||{{{{{{z{{{{{{{|{|{z{zz{zz{zz{{z|{{zzz{{{z{{||{|{{{z{zz{|{|||{{||}{|{{|zz|{{|||||||{|{}z{{z|{|{|{{|z|{|zzz|{|{{}||{{{{z{z{{{{|{|{{||{{{z|{{|||||||{{z{{{{{|||{|||{{zz|{{{z||||||{|{{zz|zzzz}|{{{{|z{|{{{{|z|{||}}|||||{{{||}{|||}|{{{{z{{{|}{||{|}{{|{{|{|{|{{|{|{|{{{{{{{{|{{{|}{|z{z{|{{|{||{|||{{zz{{{{|{||{}z{{{{y{zz{|{{|{~~~~~|}|}|{||}}}|}~|}||{|{{{{}{|||{|}}{||{{{{{|||{||{z||{{||z{z{{z{{}{{|{{{{z{||{|{||{z{{zz{{{z{{{{|z{z{{{|zz{{{{||{{{z{{{zzz{{{{z|{|{{{z{{z{z{{{|||{zz|{zz{{||{|||{|{z{{{{{z{z{z|{{{{{z{{{{{{|{z{|{|z{|{{{z{|{|{|{||{{{{{z{z|{|{|z|}|{z{{zz{|{{{{{|}z{{{{{{{|{{{{|||{{{{||{|{|||{||{z|{z{{{z||||||{{|{{{z{|{|{|{||{|{{{{{{{{|||||{}{{{{{|{|{||{|||{|{{{{{z{||||||||{|{{{{{{{{{||||}}{|||{||{{}|||||}|z{{{{{{|}||||||{{{||{z{{}|||||||{{|{{||{{{|}||}{{{{|||||||{{|||z{|z|{z{{|{|z}}|{|z|{|{{||{}{|||{zz{z{{{||{||~~}{|}||{|}|||}}~||}{~{{z}z||||||}||{z|{{{{||}||{}{||{{{{|{{||{{{{|{{{{{zz{{|{{{{|{{{{{zzzz{||z{|{||zzz{z{{{{|z{{{{{zzz{z{z{{|||||{{{{{z{z{{{|{||{|{{{z{z{zz{{{||||{{{z{zzy{{{{{|{}{|z{zyz{{{zz|}||{z{{z{{{z{{{{{{|{{z{{{z{|{||||{|{{{{{{{{{{{|||||{{|zz{{z{{{|{|||{{{{{{z{{|{|{{{|{{{{{|z{{||{{}||{zz{{{{y|{{||{||{{{{z{{{{}|||{|||{z{|{|||{|}{{z}{{|||{{{{|{{||}{|{|z{{{{||||||||{{||{||{{||}{|}||z{|{|{{|~|}}}||{{|||{{{{}||{|}||{|{{{{||||||||}{{{|z{{||||{|||}||z{{{{z||}|{|}|{}{z{{|{||{||{|{{{{|{{zz{{|{|~~~~}|}}}{||}}|{|}||{|{{{||{{|||}||{{{{z||{|{}|{{|}|{{{{{{{z|z|{{{{|{{{zz{z{{|{{{{|{{{z{{{|{{z{{{zz{||zzz{|{{{{{{{{|{z{{{zy|||z|{{|{{|zzzz{z{||{|{{|{{{{z{z{z{{|{|{|z{{|{zzz|{{{{{||||{zz|{{{{{|{}|z|{{{{|zz{{{{{||{{{{{|{zz{||{{|{||y{z{z{{|{{{z|{|{{{z{z{z{||z||{|{{|{{y{{z|{|{|{{|zz{{{z{||}{|{||{{z{|{{z{||{{|{|{|z{|{z||{}||||{{{{{{{z{||||{{}{z{||{z{z{}|{}z|||{{z{||z|||||}}{|{{{{{|{{|{{{|{}}||{|{{|{}|||}||||{{{{{{{{|||{||||{{{{z||}{{}||||{{|{{|{||||{|}|{{{{{{{{{||||{{z{{{{{{{|||||{}}}{{{{z{{{z|z{{~~}~}}}||||}|}{}~~}}||||{{|}||||}|}|z{{|zz{||||{{||z|{{zz{z|||}}}||{|{zz|z|z{|{{||{{{z{{{z{{{|z||||{{zz{{z{{zz||{||zz{{z{{{{{|||||{z{zzzzzz{|||{|{|{{|z{zz{{{|{|{{|{zzz{{{zz{{{|{||{{{z{{z{{{z|{|||zz|{|zz{{{{{{{|||{{z{{{z{|{|||{||{z{{{|{{{{|{{|||{{zz{{{||}{}|||{{|{|{|{{|{|||||{{|{{|z{{||{||}||{{{|{z|||||{{|{{{{{{{{{{{}}||||{|z{{z|{{{{|{|||{{{{{{{z{|{||||||{|{z{z{}|{|}|}|||{{|{{|{|||{|}{|{{{{{z{{}}}|{||||||{{{{}|}}}||}{{|{|{||{|||}||{{{{{|{{|{||||}|||{{{{{{{|{||||}|{{|||{{z|{|||{{{{{{z{{{{{||{{~~~~~~||||}||}}|}}||||||{z|}|{|}}||{{{|{z{|{z|{{|||{{{{z{z{|{{|{{}z{{{|{{z{|{|{{{{{{{z{{zz{{|{{|||z{z{{{z{{z{|{|z{zz{{zz{{z|{{||{{{{{zzzz|{{{{||{|{z{z{zzz{|||{{{{|y{z{{{{{|{{{|{||{{zzz{z{{||{{|{{{{{{{z{{{|{|{}|{{{{{z{{|||{{|{|z{{{|{{z|{z{|||}z{{{{{{|{|{{|}|{|z|{|z{{{|{{}||{{{{{{zzz{{|{||}{|{{{{{|{||{|{||z{{{|{{|{{{}|{{||{{{{z{|{|{{|{|}||{{|{z|{{|||}||{{{z{|{{{{||||}}|{|{{{|{||{||||{|{{||{{z|{{|}||}}|z|||{{z}||}||||{{|{{|{||}||{||}|z{z{|{{||||}||{{{{{{{{{{|||}||||{|{{{{z|||{{{||{{{zz{{{{||{|~~~}}}}|}|}|}}}|}~}}{{{|z|{{|{||{}||{{{{{z{{{{|{{{|{{{z{z{z{{|{{|{|{z{z{{{z{{{{{{{{{z{{{{{{{{|{{{{{z{{yz{{z{|{|{|{{{zzy{zzz{z{{{|{{|zzzzzz{{|{{|{{|{z||y{{z{{{z{|{{|zyzzz{zz{{{{{z||{z{{{{z{{|{{|{{{{|{z{zz{{z{{|{{|{{z{z{zz{|{||{|{{zzy{{|{|{{|{|z{{|{{{zz{|z{{{{{{{{z{{{{{{z}|||{{{z{zz{{|{|{{{|{z{z{{z{{|{{{z|{|{{{z{z{{}{|{{{|{{{{{{{{{{|z|{|||{{z{|{{{{||{{|{||zzz{{{{{}|||}||||{{|{z}|||{{}|||{|{{{|{{}{|||}||{|{{{{{{||||||||{{{|{{{||{|{||||{{{{{z{||{|||}{{{z{{{{{||{|||{|{{{{{z{{z{z|{{||z{{zz{z{{|{{{~~~|~}}|{|}|~|}}}}|{{z{|{{}|{{{||||zz{{{z|{|{||{||{{{{z{zz|{{|{|{}{z|y{z{z{z|{||{{{z{{z{y{z{|{{|{{{{|{{{zz{{{{{{{{z{{z{z{z{z{{zzz|{z{zy{y{{{{|{||{{{z{zz{z{{{{{{{}{{z{{{{z{|{|{{{|z{zzzz{|z|{|{|{{zzzz{{{z{{{{{{{|{z{{z{{{z{{{||||{{{|{zzz{|||||||{{{{z{z||||{{|{{z|{z{z{zz{|{{||{|z|z{zz{||||{||{{{z|{{{z{||{{|{|{{{{{zz{||||||}|{{z{|||{{{||{|{{|zz||z{{|}|{|{|{{z|z|{{||}|{{||}{|{{{{{{{{|||{|||{{|{|{{|{}}||}{||{{{{z{{|{}|||{{{{{{{|{|||||||||{|{|{|{{|{||||}{{{{{|||{{||{{{}{{|{{{{{|z{||{||{{{{{{z{{{|{{}~~~~}~}|||}|}}}~~|}|||{{}{z{}{|{{}||{{{z{{{|||{{{{|{{{{{{{z||{{{{{{{{{z{zz{{{{z{||{z{zzz{{{|{{{{||{{z{z{{z{{{{||{{|{z|z{z|{{|{z{{{{{zz{z{zzz{{|{{|{{zz{{zzz||{{{||{|{z{{y{{{{{zz{z{{{z{z{z{z|{|{{{{{{{{{|zz{{{{{{{|{z{{zz{y{||{{{||{z|{{{|{{z||{|||zz{zz{zz{|z||}||{{{{{z{{{|{{{|z||z{{{z{{{||{{{|z{{{|{z{z|{{{{{|{|{|{{z{{||{{||||z|{{{{{{{{{}||}||{{{{|{{{||{}||||{{{{{{{{|{|{}||||{|z|||{{{|||||||{|||{{{||||||||z||{{{{|||{|{|{|{{|{{{|{}|{||{||{{{{{{|||||}}{|{|z{{|z{{|{z|||{{{z{{z{z||{|{{||z{zz{{{{{|{{z~}~||}}|||}|}}|}}|{||{{||}|{||{||||{|z{{||||{{{}|{{|{{z{z||{{||{|yz{{{{z{{{|z{|}{}{{{z{z{{{|{zz{{{{{|{{{{|z|{{{z{{zz{{z{z{|}{{|{{z{{zzz{{y|{{{{|{zz{zzz{z{{|{z|{|{{zzzz{z{{{{{{{{{z{z{{{{{}{{|||{zz|z{{z{|y{{{|{{{|{z{{{{|{{{||||zz{{{z{z{{{{{{{|{{z{z{{{|{||{{{|{{z{zz{{|{|{|{{{{{{|{{z{{{{{|||{{z{|{z{{{||{|||{{{{{{|z||{{|||||{{{|{{|{{||{{||}{zz|{{{{{||{|{{||{{{|{{|}|||||||z{|{|{|{|{||}|}|||||{|||{|{|}|}|}|{|{{{{||||{|}|{{{|{|{{z{|{|}|}|{|{|{{||||}|{|||}{z|{{{|}{||{||{{z{|z|{y{{|{|||{z{z{z{{{{{||~}~}}}}}|||}~~|~~}||{||{{z||{{{||{||{{z{{{{{||{{|{|{{{z{{{|z|{||{|z{{{{{zz|z{{z|||{{{{z{{zzz{z||{{z{{zzz{z{{{{{{{zzzzzzz{z{{||{{||{z{zz{y{z|{{{{{{{{{{yzz{z{{|{{|{{z{z{{zzz{{{{{{{y|{zz|{{{{{{{||{zzz{{{{z{zzz||}|z{{{z{{z|{z|{|{|||z{zz{{{{|{{|{{{{{{zz{{{{z{{{{{{{{{{zz{{||{|{{|{{z{{{{z{|||{{}{{{zz{|{{|||z{||{{{{{{{{{{{||}{||{{z{z{{z|{|||||}|{z{{{zz|{||{{}||{{||||{||||{|||{||{z|{{{||}|||||{{z{||||}|}}}{}{{{|{{{||{|}||{|{{z{{{{||{{||}||{{{{{||z||{|||||{{{y{{{|z|||{|}|{{zz{{{z{{|||||{z{{{{z{z||{{{~~~}~~|~}||{}|}}}||~~}|{z|{|{|||{||}|}{z{|{||||||{{|||{z{z{|{{{{{||{|||{{z{zy{{{{{{{{{{z{{{{z{{|{z{||{{zzzzzz{|{{{|{|{z{{z{{{{||{{{||zz{zzz{{{{|{z{|{{z{zz{z{{{{|{||{{{{zzzz{{z{{{|{z{{{{{{z{z{||z{{{|{{{{zz{|{|{{||{{{{z{z{{{||{{|{|{{{{z||{|{z{|{||{z|zzzzz||||{||{{{{z{{{{|{z}{||{{{|{{zzz{{|{{|||{||{{{{{{|z{|{{|z{{{{{{z||}|||||{z{z|{|||}{|{|}}|{|{{{{|{|||{||||{{{{{{{{|||||||{{{{{{|{||||}||}|{{||||{|{{}||}|{|||{{z{{|||{||||{{{{|z{|{{|||||||{|||{||{{|}|||{{{zz{z{|}|{{|}{{{{{{zz{{||z|{{||{{{{z{{|z{|z}~|~{||~}}|~}~~}|||||||||||||||{|{|{{{{{|||||{|||{{zz{zz|{}{{||}|{{{z{{{{||{{z{{{{|{zz|{|{|{{|{z{{{{{{z{{{z{{||{z{z{{{zz{{{{}||{|{{{{zzzz{|{{|{{{z|{{{{|z{{{|{|{{{{{{{{z{{{{{{{{|zz{{zz{||z{|{||{{z{z{{{{{||{{|{|z{{{z|{{|{|||||{{|z{{zz{|||{}|{{z{z{{|{||{{{{||{{{{{{{z{|{|{||||{{{{{{||||{|z|{{{z|{{{{|{||||||{{{{|{{{||z|||||{|z{{||{|||}|||}{{z{{|{{|||}|}|{{{{{{{|{|}|||{}}{{{{{|||{}{|}}||||{|{|{||~||}|}}|{||z{|||||||}|||{{|{{|{||{|}|}||||{|{{{||||||{|{{|{{||{{|{}|||||{{{{z{{{|{{{{{||||{{z{z|{||{~~~}}~}}{||{||}}}}}|{zz{|{{}}||}}|}{z}|{|{{||||{||||{|{zz{{{|||||||{{{{z{{{{||z{|||{{{{zz|{|||z{|{|{{{z{{z{zz{|{{{{{z{{{z{{{{|{{|||{{{{z{y{{{|{|{|{{{{{z{{zz{{{||||{|{z{zzzz{|{|{||{{yz{z{z{|{|{{|{{z{z{|z|{|{|{|||{{zz{{{z|||{||{|{{{z{z{||{||}||{{|{{zz{{|{|{{|||{{|{{y{{||||z{|{||{{{{{{{{{{|||{}{z|{{{{||}z{||||z{z{{{|||{||||z{||{|{|{|}|}||||||{{z{z|{|{{{{||{z{}{{{{|||{|||||{{{{{{{{}{|{}|||{{|z{|{|~|{||||||{{{|||||{{{|||{{{{|{{{|}|{{||}|{{||{{|||||||}}|z{z{|{{|{{|}||||{{{{{{{{{}{z|||{|{{zz{{|{|{|~~}}}}|}|~}}|}~}~|{|||||||}||}|||{{{z{{{{|||||{|}|{|{z{{z{{||||||{{{z{{zz{|{{y|{{{{z{zzz{{{{z||{|{|{{{|z{{|{{{z{|{z{{{z{z{{|{{{}zz{y{z{{{|{|||{{|{{{{zzzz{{{|{|||zz{|{{zzz||{{|||||{z{{zz{|||{{z{{{{{z{z{{{{|{}{{{z{z|z|{{z||{{{|{{z{{z|z{||||||{zz{{{{{{|||{||||{z{{{|{zz{|{{|{|z{{z{{|zz{|{{|||{{||{{{{||{|{||{||{{{|{z{{||}||||{{{{||{||||||}}{|{{{zz{||}}||}{||{z||{{|{||{}|||{{{{||z{{|||||}}{{{{{||{}||||}||z}|{{|{|{||}}}|||{z|{{{||||}|}||{{{||{|{{|}{||}|{|{|{{|{{{|||||||{{{{{{|{|||||}{{{{{z{{|{{|{~|~}~}}{}~}}|}}}|}|||{{||{||{}|||||{|{{{{{|{}|{|||{|zz{{z|{{|{|{{{{{z{{{z{z{{{|{|{{zzz{z{||{{z|{|{{{zz{{{z{{{{{{{|{|zzz{z|{{{{{|z{{z{y{zz{{z{{|||{z|{{zzz{{{{|z|||{z{{{zzz{{z{{|{|{zzzz{{|{{|{||{{z{|{|z{z||{{|||{{{z|{{{|{{||{{||z{{{z|{{{{|||{}{{{{z{{||{{{{|||{|{z{z{{{|{|||{{{{|{{z{{{||{|||{{z{{{|z|{|||{|{{|||{|{{z|{|||}}{{{|{|{{{||z||||}{z{{|{|{|||||}|{||{{{z|{||||}||||{{|{|||{|{{|}||{{{{{{{{{|||{||}|||||{{{}||{|||||{{|zz|{|||||||||{|||z{{|||||{||{{{z{z{z{{|{|||||{{{{{{z|||{{|{}{{{{{{{z||}|{~~~~~~|}|||}}}|}|{~}}|{{{||{|||{{{}|}|{z{{z{|||{|{{|{|{zz|{z|{||||{|{{{z{{{zz{{|{{{z{{{zzzz{{z|{||||{{{zzzzz|z|{{|{|z{{z{{zzz{{{{{{{z|zz{|z|{{{z|{{{{{{{z{zz{{|{{z||z{zz{{z{z|zz{z|}{z|{{z{{z|{{{{{{zz|{{{y{{{{{|{{|z{{zzz{{{{|{{{|{{z{zz{{{{{{{{{{|{z{z{{{|{||{{||z|}{z{z{{{||{{|{{{{{{{{z{|||{{||{{{{z{{z{{{{{||||z{{{{|{{||{|}||}{z{{|{{{|{|}|{}|{{{|{{{{{||||||{|{|{|{|{||}{|||{|{{{{|{{{||{{||}|{|{|{{{|{{|}||}|{{||{||}{{|||{||{{|{zz{{|||{|||||{{|{z{}||{||||{{{z{z{z{||{{}~{z{{{{|{{{|||{||{z{{z{z{{|z|{{}}~|}||~}|||}}|}~}||||{|{{{|||{}{}|{{{{{z|{{|||{|||{{{{{z{{{||{|||}{{{|z{{{{{|{{{{{|{zzzzzz|{{{{{{{{z{z{|z{z{z{|{|{{y|z{zzz{{{{{{||{{{{zzz{{|{{}|{||||{z|{y{z{|{{||{{|{zz{{{{{{|||{|{{{{{z{z{{{||{{{z{{{zyz{{|{{{||{{{{{z{{||{|{{||z{{z{{{{{{{|{{{{z|{{z{{{|{{{z{|{|{{{{{{{z{{{{|{{{{z{{{{y||||{||{|{{{{z{z{||{{{{{{{{{{{{{{z||||||{{{{|{{{{{|}||||{{{{{{{z{||||{|||{z||z|{|||||||{|{|}|{|{{{{||||{|{|{||{{{}{|||||{|||{|{{|{||||||{{|{{{{{{|{{{|}|}{{{|{||{||{{|||{||{{|{z|{{}||}{|{|{{{z{|{{{{{||{z{{zzzz{|||{~~~~~}~|}}||}}||~}~~|{|{{{|{|||||{|}{z{{{{{{{{{|{{|}|{{{yzz{z}{{|||||{{|{zzz{{|{{z{|{{zzzz{{z{{{{y{{{z{{z{{{{{{{{|{{{zzzz{zz|{{zz{{|{z|z{z{{zz{{||{}||zzzz{{{{{{|{{{|{zzzzzzz{{zz|{{{{|{yy{{z{{{|{|{|zz{{z{zzz|{{{|{|{{{{{{{{|{{{{{{|{{{{zzz{{{{||{||{{|{{z{{|||{|||{|{z{z{{z{|||{|{{|{{|{zz{z||||{{{{z{{{{{{|{|{{{||{{{z{{z|{z||{|{{z{{y{{{|{|{|{}||{z{||{z{{{|||||||z{|{{{{{{|{|||||z{{|{{|}|||{|}|{{{||{{{{|||||}{|{{|z||{{||{||}||{{{|z{{||{z|||||}{{{|z{{{||{|}|{{{{||||{||||}||{z{{{{{{|{{||{||{{|{{zz{|{{{{~~~~|~~~}}}}|||}~~|}}}}|{|||{{{|||||||{{z|{z{z{{||~{{|||{{{zz{z|{{|{|||{z|{{{zzz{{{{{z|zz{z{yzz{{|{{|z{{zz{zzz{{zzz{|{{zzz{zz{{{{{{{||{{z|{zzzz{z|{|{|{{{zzzzzz{{{{z{|}{{zz{z{{{|z{{|{{|zzz{z|zz{{zz{|{{z{zzz{zz{{|{||{|z{{zzzy{{|z|{{|z{{z{zz{|||{z|{|{z{z{{z{{||||{z{|{{|{{zz{|{|{|{{{zzzz{{zz{|||||{|zz{z{{z||{||{|z{z{{{{{z{{|||{{|{{{{{{{{{{|}|}{|{{{{zzz{{|{||||{|z{z{{{{|}|{}|{}|zz|z|{|{|{{||}|{|z{{z{{{|||{|||{{|z{{|{|{{||||||{z{{{{|{|}{|{}}||{||{{z|{{|{|||{|{{{|{{{{{|{|{|{{{{{z{{{|{{{|{{{{|{zz{{{{{{|~~~~~~~}}}}{|}}}|}}}}{{{{||{}|||}|}{{z||{{z{{{{||||}|{{{{||z|{|}|{||{z{{{{}z{{|{|{|{{{{{{{{{||{{z||{{z{{{zz{{{{|{{{|z|{{{{{z{{|{{|{{{zz{zzz{{{{{||||{z{{{{z{{{|{z||{z{{{{zz{{|{{z|||{|{zzzzz||{|{{|{zzz{|{{{{{{}{{}|{z{z{z{{{|{{{|{{|{zzz{{{||{{|||}z{{{{{{{||{|{|||||z|{{z{{{{{{||}||{{{{{z||||||||{{{{z{z{||{|z|||{{|{{{|{{{|||{||z|{{|{|{|||{|{||{{{||{z{||{||||}{{{|{{{{||}{}|||{{z||{|{|{|||}}|||{{{|{|{}|||||||{|{{{{|{|{||{|{|z{z{z{{||{||||}|{z|z{{|{|||||}||{{{{|{||||||}||{{{{{{{||}{|{|||{z{{{{{z||{{|~~}~}|}|}{|}}|~}}}{||{|{{{|}||}}|}{|{{{{{|||||{||||||{{{{zz{{{{{|{{{{{{{|z{{{z|||{{|z{{{z{{{|{{{||z{zzz{{|{{{{{||{{{{z|{{z{{{{{{{||z{{y{{z{}|||{{{{|{{zz{zzz{{||{{|{z{{z|{z{{{{z{{||{{{{{{{{z{z|||{z{{{{{z||{|{|||{|{z|z{z{{|{|}{|{{zz{{{{|{z|{|||z{|{{{|{{{{|||{|z{|{{{{|{{||{|{|}{{|{{{{|||}||{||{z{{z{{||{|{|||{{{{{{{|{||||{|}|{{|{{{||{{|||||{|{||zz{|||||}|||{{||{|{||||||}|}{{||{|{|||||{{|}||{z|||{|{||||{{z{{{{{{|}|{{}|||{{{||{|||{||||}||{{||||{{||||{||{{z{{|{{{{{{||{|{{{}{{z{|{|||||z||z{z{{||||{~~}}|~}|}||{||}}}|}~|||z|{|{||||{{|}{|{|||z||{|{{{||{{zzz{{{|||{{{{|{{{zz{zz{|{z{{|{{{|{yzz{||{{{|z{|{{|zzzz{{{{{z||{{{zyz{{{||{|{{{{z{z{{y{{{{z|{||{{zz{zzz{|||{|{|{z{{{{{z{{{{{{{{{{yz{{z{{{{|{{{{{z{|z{{z{|{{{{|{{{|{{z{zz{{{{|{{{{{{{z{z{|{|}||{{z{{{{{{{{|{|{}|{{{{{{zy{{{|{||{{{{{{{{{z|||||||{z{zz{{{{||||{|{{{{|{{{z||{{{}|{{z{{{|{{||{||}{|{{{{{z{{{|||||}{|{{{z{|{|{|||||||{{{|{|z|{|||||}}{{{|{z|{}}|}||}{z|{||{||}||||}||{|||{||{|{|}|}||{{{|{{|{|||{|{|{{{z{{{{{|||{}|{{|{{{{{z||||{|||z{{z{z{z{{|{{~~~}}{||||{|}}}~}|}{|{y|{|z|||||{|||||}{z{z|{||{{}{|z{{{{z{{{{z{{||{{{{{{{z{{{z{|{|{{{{z{z{{{{{z{|{{z{{{{{zz{{||{|{{zzz{zz{{z{|{{{z{{z{z{z{|{|{|{||{{z{zzy{{{{}|{|||z{{{z{{z|{{{{{{|{{zz{z{{|z{{{|{{z{z{{{z{||||{{|{z{z{{{{||||z||}{{{z{|{{{|{{{{||{{{z{{{|{{{|||}|{{|{zz{z||{|{}||{z|{{{zz{||{||||{zzz{{z{{|{z|||{|{z{z{{{|{||{}||{{{{{||{||||{|}|{z{{||{{{{|{||||{{{|{zz{|{|||||||{{|{|||{|||}|||}{{{|{{{}|||~||}}{{||{{||{||||}||{z|{{z|||{|||~||z{|{{|{{||}||||{|{{|{{{{|z||}|||{z{{{{{{}{{{|||{z{{{{{z{|{{|~}~}~}}|}||}~||}}~|||{||z|{|||}}}}||{{|{z|{|{{|{}||{|{z{z{z{{||{{||{z|{z{{z{{{z{|||{{{{z{{z{{{{z{{{{{{zz{zz{{{|z{{|{{z{{{{{{{{|{z{z{z{yzzz{{|||{z{{{zzzz{{zz||{{{{{{z{z{{{z||{z||{||z{{z{{{z|z{{|{||z{{{{{{{{z||{{|{z{{{{{z{||{{{|}{{z{{z{{{|{{{{{{|{z{z{{{zzz{{|||{{z{{z{{{||{|||{{z{{{{{{|||{{{}|{z{|{|{{|||{|{||{z{{z{{{{|}{|}{{{{z{y||{||||}|||{{{{{|{{|}||||}{|{{z{{z{||||||{|z|{{{{{{||{}||}||||{|{{{{}|{||||{|{{{{|{|||||||||{||{{z||{}{|}}}|{|{z|z||}|{||}|{{{{{{{{|{{||{}}{|{{{{{{{{{}{|{{{{|zz{{{||||{~~~~}~|||}}||}|}}}}~|}|{||||||{{|||}|z|{||{z{{{{{{}{{{{z{zz{|{{|{|{{{{{{|z{{|{{{{{{|{z{z{{{z||{{{{||{{z{zz{z{zz|{{z{z{{y{z{z||{{{{|{{{{{z{{z{{{{||{{{{zzz{{{{{{{{{|{{z{{z{z{|{{{z||{zz{z{{{zz{{{z|{{{{{{{z{{||{{|||{{zz{z{|z{|{{|{|{{|{{{z{{{{|{{|||{{{{{{{z||{||{{}|{{z{z{z{{||{}||{{{{{{zz|||{{{||{z|{zz{{{{|{{|||{{z{|{{{{{{{|||{z|{{{|{{{{{||{||z|{z{{{||{{{|}{||{z{{||{||{||||||{|z{{{|{||}|||||{{{|{{|{}{|}|||z{{{{|{{|{|||||{}{{{{z||||||||}}||z|||{|{|{}{||}z{{z{{{|{|{|{|~{|z{{||{{||{{{{{|{{{{{{{z{|{{|~~}~|~||}}||}}}|||~{}||{|{{{|}|}|{||z|{{z{{{{{|{{||{|{zzz{z{z{{{|{}{z{{{{{{{{{{{}|{{z{z{{z{||{{z{|{{zzzz{zz{y{|{{{{zz{{{{{zz|{{{z{|{{zzzz{{z{{{|{{|z{{{zzz{{{||{{}|z{{zzz{zz{|z{|{{{z{z|z{z{{z{{|{{{zzz{{{{{||{|{{|||{z{{z{z|{{}{||z{zz{{z{{{{|{z{{zz{z{{{z{{{{|{||||{{{z{z{|||{|{|z{{zz{{{|||{{|||{{{z{{{{|{{{z{|{{|{zz{z{||||||||{{z{{z|z{|{}|||{{{{{{{z{{|{||||{{z{z|{{z||||||||{{|{|{{|{|{||||||||{{{||{|{|||}||{{{|{{|}||{{||||{{|z{{{{{{{||{|{|{{|{{{|||||||||||z{{|{|||||{|}{{|{z{z{{{||{{{|{{|z{zz{{}{|{~~~~~}}}~|}|{}}}}|}}|}|{{{|{{|||||||}{{{{{z{{z|{{|{{|||{zy{y{{{z{{{|{{{{|z{z{z{{|{z{{|{z|{{zz{{z{{|z|{z{zzzz{{z{{|{{||zzzzz{zz{|z{|{|{{y{z{zz{{z{{{{|{{{{{zzz{{{{{{{{{{z{zyy{z{{z{{{{||{zzzz{{z|{zz{{|{z{z{{zz{{{{|{||{|{zz{{z{{{z{|}{zz{z{z{z|{{{z|{{{z{{{{z{|{||{{z|{{zz{z{zz|{{|{}{{z{z{zz{|{{{|{|{{{{{|zzz{{|{z{{{{{{{{||z{|{|}|||{|{z{{{z{{{}||{{{{{{{{{{|||{{{|||z{{{{{||{|}||||{{z|{z{{{|{|{||{}{{{|z|{|}||||{}|z{{{y{{|{|{{|{|||{{{{{{{{||||}||{{|z{{{{|{|{|{||{{zz{{z|{|{|{||{{|{z{{z{|{{{|{{{{z{{{{z|{||{~~~}}~}||}{}|}}|}}}}|}|{{{{{{z|{|{{}|||{{{{{{z{|||{{{|z{{{zz{z|||{{|}|zzzz{{{zz|{z{||{{zz{{{z{z{{{{||{zz{zz|z{z{{{{{z|zz{zzz{z{zz{{{{{{z{{y{zzz{|{|||{{z{{yzzz{|z{{|{{{{z{{{zz{|{{z{{{|zzyz|{{z{{{|{|{zz{zzzzzz}{{{|||{{zz|zzz{{|{{{||{z{{{{{z{{{{z{{|{{zzz{{{{z{|||{{{z{{{{zz||{|{|{|z{{|z{{z{|{{|{|z{{y{|{{{|||{{{||{{{{|z{{{||||{||z|{{{{|{{{||||||{{z{{{{{|||z||||{{{{{z|{|}||||||{|z|{{|{{{{{|||{|{{{|z{{||||{|||{{{{{{z{|{|||||||{{|{{{||{||||}||{{z{{{{{|||||||{z{{z||{{||||||{|{{|{{z{{|{{|z||{{|z{zz{{{{{{~~~~}~}~}||||}{{|||}}|||{{|{z}{{|{|{|{z|}{{{{z{|}|z|{z|||{{zy|{{{{||z{{z{{{z{z{z{{{z||{{{yzzzz{{{{{|{|{{{z{{z{{{z{{{{{|z{z{z{zz{{z{{{||{{zzzzz{z{z{|{|{{zzzz{zzzz{{{zz||{zzzz{zzz{{{{{{{{{z{{z|{zz{z{{{{zzz{z{zz{{z|{{z|z{{zzz{{{{|{z{{|z{z{{{{{|z{{z||{z{z{zzzz{{{z{{||{{|{z{{{{|{||||{{z{z{|{{{{{{{{||{z{{zz|{{|{{{|||z{{z{{|{||{{|||{{{{{{{{{z|z{||||{{z|{z{{{}|{||||{{{{{{|{|{{{{|}|{{z{{{|{z{{{|}}}{{{{{{z{{||||{{|{{{z{{{{{|||{|}||{{{||{{{{|{||||{{{{||{z||{|{{}|{{{{{{|{|{|{||||{{{z{{{z{{{|{{{{{z{{{z{{{{z{z~~~}}}|{|||||}}}}|}|}|{{{{|{||||{}{{|{{z|{{{|||}z{{{{{{{z{zz{{{|||{|zz{{z{zz{{{z{{|||{{zzz{z{{{{{{|{{{{zzz{zz{{{{{||z{z{zzz{|{||{|z|{zzzz{z{{{{|{{|{{zzz{{z{{{|z{{||{z{z{z{z{zz{z{{{|{zz{{zy{{zz{{||{z{|{{{z{{{{|||||{z{||{z{}{{{|||{{zzz{{{{{|{{{{|z{{z{{z{{|z||{|{{z{{{{z{{{{|{|||{z{{{{{{{{||{|{{{z{{|zz|z|{||{{||z|{{{z||||||{||{{{{{{{||{{{|}||{z{{z{|||{{{|||z{{z{{|z{||||{||}{{{{||||||{||}|||{{{{|{{{}{||}||}||{{{{{||{||{|||{{{{|{|||||||||{{||{{{|{|{|{|||{{{z{{|{{||{|}|{{{z{{{{{{{|}|{|{|{z|{{{{{||{{~~~~~~~}}||}|}||}|}}|}}|||{z{|{||}||||}|||{|{{{||{|||}|{{{{z{{{{{||{|||z{{{{{zz{||{{||{{{{z{{|z|{|{{{{z{{{{zz{{{{{|{z|{{{zz|z{z{}|{{{{{{zzzz{z{{}|{|{||{z{{z{{zz{{|{{||{{{z{zzz{{{{{z|{{{{{zzz{{{{|{|{z{{z{{{{{|{||{|{{{{zz{zz{{|{{{{||{z{{z{|{{{|{{|{|{{|zz{{z||{|{||}||{{{z{z{|{{|||{z{{z{z|{z||||||||{{|{{{z|}{{{||||{{{{z|{{||}|}{|{{{{{{||}|{|{|||{|z{||{z||{{}|}||{{{{{{{|~{|||}|||{|||||||{|||}}|z{|{{|{{}||}}|}||{|z{|||{|}|}}|z{|{|{z{{|{{{|}|{{{|||{{{|||}{|||{{{{{|z{|||||}|{|{|{{z{{|||{{}{{z|{z{{{{}{{|}}~~~~~~}~~}}~||||}}}}|~|}||z{|{}||{}|}}}|{|{z{z{{{{}{{|{||{{{yz{{{||{{}{}{{{z{zz|{{|{{|{{{{{{{{z{{{zz|||z{{{zz{z{{{{z{|}|{zyzz{z{{{||{{||{z{zz{yz{{||{{{|{{{zzzzz{{{{z|{|{{{{z{zz{{zz{{{|{{z{{{{{z{||{{||{{{|{{{{{z|||{||z{z{|{z{|||{{{{}|z|{{y{{||{{{|{|{{{{z{z{{|{|{{||{{{{{{{z{|{|{|||{|{z{|||||||{||{{{|{{z{{|{{{{|{z{{{{|{{{||}|||||{|{z{z|{|}||{|||{{{|{|{|{{|||}|{{{{{{z{{||||||||||z|{||{|||||}|||{{{|z{||}|||}}}{{{{z{|{|||||{|||z||{{{{{|||||}}{{|{|{{{{||}||||||z|{{z{|||{||||{z{z{{{{{||||{|{{{|{||{{|{{{{~}}}~~|~}~}}||||}|~}}}}|}|}|{{{||{{{|||||{}{{{{z{{{z{{{{||{{z{y{{{|{{|{|{|z{{{z{{{{||{z{{{|y{zz{zz{|{z{|{z{zzz{{|{|{{{|}||{z{yz{zzz{{|{|{{|{{{zzzz{{{{{{|{yzz{{{{z||z{{|{|{{{zzz{{{{{{{|{{{|zz|z{{{{|{z{|{{z{{{zz{{{|{{{||{{{z{{{{{{|{{|{|{{{{|{|{|{{z{{||{{{zzzz{{||{{||{{{z{{z{{{||||{{|{{{{{{{z{{||{{}||{|{{{z{{{|{||{|{{z{{z|z|{}|||||{{z{|z{{|||}{|{{|{{|{{{{|{|||||||z{||{|{|}|{{|||||{{|{{{||{||}|||{{{{|{{|}|||||||{|{{{{{|||}|{|}|{{|{{{{|{||||||{{||{|{|||{||}|{{{{{}|{{z{||{||||zz{zz{{{{||||}|{|{{{{{{||{|{~~~}}~~}~}~~~|||{|}|}}}}||}||}{|||{||{||||{|}|{{{z|z|{||z{{||{{{z|{z||{{{{{|{{{{zzz{{||{{|{{|z{zz{{z{{{{{|{|{|z{{{z{{{|||{{|{z{z{zzz{|{{{{|{{zz{z{zy{{{|{|{|{{zzzzzz{z|{z{||{{z{zzzz{{zz{z|||zz{zz{{z{{{z|{z{{{{{{z{|{{|{{|{{{z{|zzz{}{{{|{|{{zzz{{z{{{{{||{{{{z|zz{{{|z{|{{{|z{{z{{|{{|||||{{{{{{|z{|||{{||{{|||{z{|{{|{|{z}||||{{{{{|{|||{{|{{|{|{||{|||||{|{{{{{{|{{|||}{|z{{{{{{|||{|}||||{{{||{|{|}|||}|{|z{|{|{}|}|}||{||{{{|{||}|||||{{{z{{{{{||||}}}||{{{{|{||||||||{|{{{{z{|{{{||{||{{|zz|z|||{||||}|{{{{z{{{|||}~~~}}~|}}}||}|}{|{|}|}|||}||z{|{|{|}||||{||{{z|zzz||{{|{}||{{z{{{z{{z}{|{}|z{zz{zy|||{|||{{zz{{z{{{||z{{{{|z{{{z{z|{{{z|||{{{{zzzz{z{{{{|{z{zz{{{z{|{z{{{|z{{z{{zz{{{{{|||{{{{{z{z{z|{{|{{|z{zzzzzz{{{z|{{{z{{zzzz{|{{||{|{{{z{z{{|z{{|{|{{{{{z{{z{{{|{{{|{z|{{zzz|{{{{|||{||{zz{{{{||||{{||{{{{zz{|{{{||z{{{{{z{{|||{{{{{|{{{{z{{{||{||{|{{{{|{{{||{{{}}|{{{{{yz{||{||{|||{{{{{{{{|{||{|||{|{{|{{|}|{||}|}||z{{{{{||||||||{{|{y{{|||||||||{|{||{{{|||{|||{|{{{||||{{|{{|{||{{{{{{{|{{||||{{{{{{{{{||{{}||{{{{{{z{|{|{{~~~}~}~~~}}~~}||{}|||}||}}}}||{|{{{|{}z||||{{|z{z|zz{|{{|{{||{{{z{{{z{{{|{{||zz{|zzzzz{{z{{{{{{zz{{{z{|{zzz{|{{z{{zzzz{{{{{{{y{{{{zzz{|{{{{{|{zz{{zzz{{|{|{{{{zzzz{z{{|{|z{{{{zz{zzz{zz{{{|{{zz{yzzz{{{{{{|{zz{zz{{zz{{{{{z|{{zy{{z{z|{||{||{{{{zz{zz{{{z{|{|z|{{zzzzz{{{|{}||{|{|{{z{||{|||{|{|}{{|z|z{{z{|||{z{{zz|{||{{|{|z{|zzzz{{||||}}{{{|{y{|{{|{||{{|{|{z{{z{{|}||{{{{{{{{|zz{||{|{||{{{{|{{{{||{|{|{{{||{{{{{||||{}|{zz||{{||{||{|{{|{z|||{|||{||||||{{z|{{{{|||||||{{{{{{z{{|{|||{||{|{|{|{z||{{{|{{{{{zz{z{|{{{~~~}|}~}}~~~}}{|}|||}}|}}|}~{{{{|||{|{{{}}|}||{|{z{{z|}|{{||{{{{{|{z|{{|{{{z|{{{{z{z|{{{||{{{|y{{z|z{{{z{{||zz{{y|z{|{{{z|||zz{z{{{{{{|||{||{{{{{z{z{{{{||||z{{zzzz{z{{{{{{||z{{yy{{{{{|z||{{{{zz{{z{{z{{{{{z{|zz{z|z{||{{||{{z{zzz{{{{{{{|{z{{{zz{{{|z{{|||{{{{{z|z{{|{{{||{{{|{z{{{{|{||{{{{||{zzz|z||{|}{{|z{{{{||||z{|||{|{{{{zz}|{||}||{|{{|{{{||||{|||{{z|{z{z{|{|||}{|{{{{{|z|||{|||}z{|{||{{{|||||{|{zz}{{{{{||}{||||{{{||{{{{||}|}}||{{{|{{|||}|||||{{||z{|}|{|}||||z{{|{{{|}{|||{|{|z{{|z{||{|{{||{{{z|{{|{|||{~}~~~~~~~~~}~~~}||||{|}||{}}}||{|{||{{{{||}||}|{{{{||{{{|||{||{zzzz{{z|{||z|{{|{z{{z{zz{{{{||z{|{z{zz{|z{{z{|{z{z{zzz{{{{|z{{{{{zzzz{{z{{{{{|{{yz{{{z{{|z{{{{|z{{{zz{z{|{{z{{{|z{zzz{z{{{z{{{{{{{zz{|zz{{|{{{{{{{{{{zz{|{{{{|{{{zz{{{z{{|{{{||{z{{z{{{{{|{{{{{{{zzz{zzz{|{|{|z|z{{|zzzz{||z|||{{{{y{z{||||{{|{|zz}{{{{||{|{||{|{z{{{|||{{||{||z{{{|{|{{|{|{||}{{{|{z{z{|||||||{{{{{{{{||||}||{{|{{|||{{||{|{}{{z||{{|{}|||}||||{|{z{{{|||{{{|||{{||{{||{{|{|||{{{{{|z{{{||||||{|{{|||{|||{{|}{|{{z{{{zz{|{{||{{{{{{z{{z|{{|}~|~|~}~}}~}|||||{|}||||}||}||{{||||{||{}|{||{z{{{|{|{{|{{|{{{|z|{|{{{||{|{{{{{{{|{{|{|{{|{{{{{{{z{{z{{|{|z{zz{{z{z{{{{{{|{|z{{{{z{y{{|{{|{|{zzzz{z{|{zz|||{{{{zy{{{{{{{{{|{|{{z{y{zz|{{{|{|{{{z{z{{{|{z{|{|{{{{zz{z{||{{{||zzz{{{|{{{{{{||{{{{zz{{{z{{{{|{|zzz{zz{{{{||||z{{{{{|{{{{|{{{|{|{{{{|{zz{{|{{|||{{{{z{zz||{{||{|{|{||{{{|||}{}|{{{zz{{{|}|{||}|||{{|{{{{||}||}{||z{{{|{{|{||||}|{||{|{{{{||}||{}|{||||{{|}||}|}}}{{{{{{||||||{{||z||{{||{|{z|||}|{{{{{{||{|||{||{{|z{{{{|{||}{}||{{|{{z{|{{|{{|{{{|{{{{{{{{}{}~~~~}~}|}|}~~}||{|}{||}}|||||{|z|{||{||||||}||{{{{{{|z{|{{{{{{|{{{{z{z{{|{{{{}{z|yz{{{z{{z{{{{{{{z{{z{{{{z||{{{z{z{{z{{{{{{{{{{{{{{zz{{|{{|{|z|{{z{zyz{{{||{|{{{{zz{z{{z{{{|}{{zz{{z{zz|z|z|{{{{{{zz{z|{{{{|{|{{{{{{z{{z|{|||{{z{{{{{z|{{{{{||{{{{zzz|{|{{{|||{{zzzz{}||{{{{{|{{{|{z{{{||{|{{||zzzz|{z{||{{{}{|{{{{{|{{|||{|||{{{|{{|z|{|}}{{{z{{z|||{{||{|||~{{{{|{z{{||||||||z{{{{{{{}||||||{||{|||z{||{|{}|}{{{|{{|{||}|{}|{{{|{{z{}{}||{||{z|{{{|{{|||{|{}{|{|{{{z||{|||||{{|{{{{{{||||{|{|{{{zz{{||{|||{|||{z{z{{{{{z|}~~~~~}}~~~~|~~}|{|{{|{||||}}|}}|z{|{z{||{}||{||{{|{z|{{zz{||{||{{z{z{{{|{|{||{{{{z{zzz{||{{|{{|z{{{zzz{|{{|{{|{{{zy{{{|z{z{{{|{z{{z{{z{{{|{{|z{zz{{{zz|{{{{||{{{{{z{{z|{{||{|{{{z{zzzz{{{{|{{{{{z{z{{zz{{||{|zz{{{{{{{|{{|{||{{z{z|z{z{{{{{|{||{z|{{{z{{{|||{|z{||{zzz{{||||||{{{z|{{z{{{|{{||{z|{{{zz||{|{|}{{{{{{{{{|{|||{|||{{{{|{z|{{|||||||{{{{|{|{||{||}|{{{{{zz|{{{||||{z|{{{{{{{|{|}||{|{{z{{|{|{}||||||{|{||||||||||}{{{|{{{{|{||||}}{{{{|{z|||||||{}|{{{{|{{{{{{{||}z{{{{|z{{{|{||}|||{{{z{z{}||{|||}{{{{z{{|z|{|~~~~}}}}|~~~~}}}}}|||||}|}||}{|~}}|{{||z{z|||~|||||{{|{zz{{|||{|{{{{z{z{{{{{||{|{z{|{y{{{{||{|{{|{{{{{{{z{{|{{|{{zz{{z{z{{{|{{|{|{z{zzz|zz{{{{{{z{z{|{z{z|{{||{{|z{{zzz{y{{|{z{||zzz{{{{z|{{zz|}|{{{{{{{z{|{{|||{{zz{z{y{z{{|{|||{zzy|{{{{{||z||||{z{z{|{{{z|{|{|{{z{zz{{||||||}|{{|{{{|{|{{{{{{||{z{{{{{{{{|{y{zz{{|{|{z|{|z|||{{{{{|{{{{||z||{|{{z{{{||||{z{|{}{{|{{zz{|||{||}{|z{|z{{{|}|||||||{{|||{|}|||}}|{|{{{{||{|}{|}}|||{{{z{|||||||}|||{{{|{{|{}|||||||{{{{{y|}{|}{|{|{|{z||z|||{||{}||{{z|{{{||||{||{{{{z||{{}{||{~}||}|~~}}}}~}}}{||{{|||||~}}}{|{||||{|||{||{}{|z{{z{||{|{|{||{{zz{{{{{{{|{|||{z{{zz{z||}{|{{{{{{{{z{z|z|zz{{{{zz|{zzz|z{{{{|{{z{zzzzz{{|{z{|z{{{{{{zz|{{{|||{z{{zz{z{{|z{{|||{zz{zzzzz{{z{{{{|{{zz{zz{{{{|{{|zz|{{zzz{z{||{}{{{{{{z{z{{{|{{{|zzzzzz|{{{{{||}|zz{zzz{{{|{{{z|{{{{z{{z{{|{{|{{{{|{{z{z{|{|{|{{{{z{{{{z{|||z{{|{|{{z{{{{|{{|{|||{{{{|||{||||{|||{|z|{{|z||}||||{|{{{|y{{{}{|||||{{{{{}|{z{{|||||}{|{zz{{|{|}{|||{|{{{{{{||||{|||||{{{{{{{||{|{}||{{{|||{|}||{||}{{{{{{{|{|}||||||{{{{z{{||||{{||{{{|{{{{z|{||}}~}}}}}{~~}|~|~}}|}|||||||||}||}|{|z{|{{|||||||{{||{z|{{{||||||{{{{zyz|{{{||{|{||{|{z{{{{|{|{|}{{z{{zz{z{{{{z{{|{|zz{|{{z{{|{||{{|{{{{zy{{|{{|{{{{z{z{z{|{||{|{{{|{{{{{{||{|{|{|{{{z{{{{{{|{{{{|{{zzz{{z{{{{|{}{{{{{{{{{|{{|{||||{{z{z{{{|{|||{}{{z{{zz{||||||||{{{{zz{{{|{||{|{{{{{{{{{z||{z}|}{{{|z{{|{{|{|||{|zz|{{{{{||{||{||{{|{{|{}|||||{{|{{{{{|{}|{|||}}{{{{{{{{|||}}|}|{{{{||||||{{|}|}|{{{{{{{|||||||}||{|{|{{{}||||{||{}{{|{||{||}||||{z|||z{|}{|{|||}|{{|{{|{|||||}~{||{z{|||{|{||}|||{{{{{{|||||||{|{|{{zz{{{||{~~~~~}}~}}}}}~~}}~}}|}|z{|{|}|||}|||{{{||{{|||{|}||{{|z{zz{{|{{||}{{{{{zz{{{|{{{{{|{{z}|{{zz|{{{||{{{{{z{{z{{|{{|{{{z{z{{z{z{{|{{{{{{z{{|{z{{{{{|||{{zzy{y{{{{{|{|||{{{y{z{{{{{||{||z{{{{zz{{{{{{{{z{|{{zz{z|{{z|{{z{|{{{zz||||{{||{{{z{{{{{{z{{z|}|{{|{{{{|z{|{}{|{{z|{{{z||}||||||||{{z{{||||{|{{|z{{{{zz||{||{|{|{{{{{zz|{{|||{{{{|z|{|||{|||||{||{{||{{|{{{||}}|z{|{|{|{{{{||||{|{{|{{z|}|}|{}||||{{{|{|{{||||||z|{{|{{{||{||}||{{|{{{{||||}}|}|{{||{||||}|||||{{|{{{z|{{||}|}||{{{{z{{|||}{|}||||{{{{z|}{|||||{{{{{{{z{{|{{~~~}|~{}{|}~}~|~||{|{{{|}|}{{}|||{{{{{|{{|{{|{{}{|{{{|{{|z|{|{||||z{|z{zz||||{|}|zz{|z{{{{{{{{{{{|zz{{z{z{z|{{{|{|{z{zzzz{{{|{|{{{{|zz{z{{{{{{||{{zzzz{z{|{|{{{||{{{{{{z{{{|{{{|{|z{{z{{zz|z{{|{|{{{z{z{|z|{z{{{{{{{|yzz{|{||||||{{zzz{z{{||{||||{{{{zzz|{zz|{|||||{z{z{z{{||{|||{{|{|z{{{|||{||{{|zz{{{{||||{{{{|{z{{z{z{||{{{||z{z|z|z{{{||{||{{{{z||{||{{||||}{{{|{z{{{}||{|}{{{|{{||{|||||||||{{|{|||||{{|||{|{|{{{|||{|||{|||{|{{z|{{{{||||||{{{{{||||{||}}}{z{{{{{||{|{{||{{|{{{{|{{||{{{||{z|{z{z{{{|||{|{{{{{{z{{{||{{~~~}}|}}}||}}}}}}}}}{{|||z{}||||||||{{{z{|z|{{{{}|||{{|{zz{|{|{|{|{{zz{{{z{|{{{{{{{z|{z{z{z{|z{{{{|z{{y{{{{zz|{|{{{{{z{{zzz{{z|{{{|{{{zzzz{{{{|{||{{z{{{{{{|||{{{z{{{{{z{yz{{{{{||{{zzz{z{{||{zz{{{zzzyz{z{z|{{{{{|z{{{|{{z|{{{{{{|{{zz{{z{|{{{||||{{z{z{{z{z||||||{{{|z{{|z{|||{{{|{{z{{z|{|{||{|{{{|||{{{{{|{{{}{{z{|{{{{|||{{||{|{z{z{|||||||}||{{{{|{|{||||||||{{{|{{{{{||{}{||{{{|{{{||||||}}}{{|{{{||{|{||||}{{|{||{{{}}{|{|||{|{{{|{||||||{|{|z{{{|{{|{||{}}|{{{|{{{|{|}{|}{|||{|{{{{|{||{||{{||zz{{{{||{||{{{{{{z{z{{{|{~~}~}}~|~{|||}}}|}|}}||z{}||}}|}}|{{||{z{{|{||{{|||{{z{z{z{{||{{{|{{zzzzzz{{{|z{{|{z{z{{{{||{z{||{z{{zz{zzz{{{z|{|{z{zz{z{{{{z{{{zzzzzzz{z{{{{{{|{{z{zz{z{{{{z{{{{{zzzzzzz{{{}{{|{{{{zyzzz{{{zz{{{{{{z{zyzz{{{z{{|zz{zz{{z{z{{{{{{{{z{zzzz{{{||{z|{z{{{{{{|{z|{|||{{{zzz{z{{{{||{|{{z{{{{{{|{||{|zzz{{{zz{||{|{{{{{{{zz|{{{{{{{|{{|z|z{{{z{{||{||{|{{{{{{||{{|}|{|{{{{|{|{{{}|||}|{{|z{{{{}|||}{||{{{{{|{{{{{{|||}|{z|||{{{}|||||||{||{||{{|{|{|}{{z{{|{{{{{|{{|||||{|z{{||||}|||{{{{{{|{z{{{||}||{{{{z|{{|}{|{{{|{{{{{z{z|z{zz}~|~}}}|}|||}}}|||~||{|{||||{|||~}||{|{{{{{{{{|{||{|{{{{{{z||{{{{{{|{{{zz|zz{{|||{||{zzzzzz{||{z|{|{zz{zzz{z{{{{{{{{{{{y{zz{{z|{{|{{zy{zzzzz|{{{{{{z{{zzzzz{{|{z{|zzz{{z{z{{{{|{|{{{{z{{zz{{z{{{{{|zz{zzz|{zz{{||{|zz|{{zzz{{||z{|{|zzy{{{z{{{{{z|{{z|z{{y{{{|{{{|||{{{z{z{|{||{|{|{z{z|zzzz{|{z{{{{{|zz{z{{{{{{z|{|zz{{z{{{|{{{||{{{|{z{{z|{{||{||zz{{|z{{{{{}{}||{z{||zzz|{|}||{|z{{{{{{{{|}{{}}{|zz{{z{|{|||||}||{|{{|{{{|{}|{|||z{|{{|z||||{|{||{|z|zz|{{||||}|||{||{{{||||{|{|y{{z||{{z{{}{|{{||z|{zzz{{{||{|{{{|{{{{z|{|{{}~|}|}~|}{|}||}|}}|||{{|{{|}|||||||{{{|{{{{||{|||{|y{{{z{zz{|||{|{|{{zzz{z{|{{{|{|{|{zzz{z{{{z{{{|{z{zzzyz{{{z{z{z{z{zz{{{{{|{||||{z{zzz{z{{z{{{{|{{z{yzzzz{{{||{|{z{{z{zz{||{{{{z{{{{yz{zzz{{zz{z{zzyz{z{z{{{z|{|{z{{{zzy}||{||{|z{z{{z{z{z{{{|{{{z{{z{|{z{{{{{{|z{{z{z{{|{|{{{{{}{z{{z{z{{|{||||{{z{{zzz{{|{|{|{{{{|{{|{{||{{|||{zz|z{{||||}{}}|{{|{|{{{{{{|{|||{|{|z{{{{{|||||||z{z{{|||}{{}|{||{{|{|{|{|}{|||||{{|{{{{|||{|{}{{{{{{z{{{||||}||{z{|{{{{}|{|}|{}{|{||{{z{{|||{||{{|z{{{{{{{||||{{z{{z{{{{|||{|{|{{{z|{zz{{{{z}~~}}|~}||{|}}||}|}}}}||||{||||{|}}|{{z{|{{{||||{}}{{{{{z{{|{{{{||||{z{zz{{{{{||{|{{z{z{zzzz||{{|{z{{zy{zz|{{}{zz{z{z{{zzzz{yz{z{|{{{{z{{zz|||z{|||zzz{{z{{||{{|}{z|{{{zz{z{zz{{{||{{{zzzz{{|{{|{{{z{z{zz{z{|{{{|||{{z{{|zz{{|{{|{|{{{{{zz{{|{{{{}}{z{{zz{{{|||{{|{{{{yz|{|{{|{||{{z|z{|z{z{|{{{||{{{|{{{{{{||{{|{{zzz{{{z{{||{{|||{{z{{z{|{{{||}|}|{||{{||{{|}|{|{{{{|{z{{|{||||}}{z{{{{{{|||{|{||||{{{{||{{{||||||{{{{|{|{}|||||||{{{|{{|||||||}{|}z{|{{{{|||||}|{{z||||{||{|||||}{y{{||z{{|||||{{{{{|{{{|}|{{|}|{z{{{{{|{{|{z~}}~}|}||}}}}}||}{{{|z{||{{|{|{||{|{{{{{{z}|z||{|{z||{{{zz{{{|{{{|{{zz{{{zz|z|{|z}{{{{z{{zz{{zz{|{{|{zzzzzz|{{{||{zzz{{zz{{zz|{{{{zzzzzzzy{|zzzz{{{z{zzzz{{{{z{|||{z{z{zz{z|{z{{{{{zzz{z{yz|{{{{z{{zz{{z{z{{{z{{|{{zzz{{zz{{|{{{|{|{zz{{{z{zz{|||z{zzz{zz{z{|{{|||zz{zzzzz{z|z{|{|z{z{zy{{z|{{{{|z{{{{{{{z{z{|{||{z{{{zz{{|||{{|{{{{{{zzz{|{|||{|{z{z||{{{|{||{||{{{{{{{|{|{||||{{|z{|{{z{{||||||{|{{{z{|{|{|{|{{{|{{{{|{|{|{|~||||{{||{{{|{|||}{{{{{{|z{{{||{||||{{|{{|{{{|{{||||{z{{z{{|{{{{|||{||{z|{z{{|{|{{{{{{{z{{{{|}{z{}}}}{}}}||}}}}||}|{{{|{{{{|{}|||||{{{|z{{{|{{|||{|{|z|{z{z{{|{|{|z|zzzz{{z{{{{{{{||{{{z{{z{z{{{||{z{{zzzz{z{|{{{z|{{{zzz{{|{z{{{|{zzz{{z{{{{{z|||z{z{{zzzzz{{|{{{{{zzzz{{zz|{{|{{|zzz{{|{zz{{z{||z{{{z{z{z{{|{{{{{z{{{z{zzz{{{{{|{{z|zz{{z{{{{z{|||{z|{z{{z{y{{{{|z||{{{z{{z|{{{|||{zzzy{{{|{{{{{{|z|z{{z{{{{{{{{{{{zzzz{zz|{zz||{{z{{||{|||||||{{{z{{{z|z|||||}|}|z{|{z{{}|||{}|{|{z|{{{{{||{}{{}{{|{z{|{{|{{{{|||z{{{{|{{|{||{{||{{zz{zy|{||||{|{{{{|{{z{{{{{{||{z{||{{{{|{{|{{|{{{{{z{{|{{|{|||{{z{{{|{{|z{|{||{{|zz{{z{{{{{}}}~|||||{|}~||}||}|{z|||{||{|{|}|}|{z{{{{{{{{|}z}||z{{z{{{{||||{||||{y{{{{{zz|{|{|{{zzz{z{{{z{{z|{|{zzz|z{{{|{{|}z{zz{{{zy{{||||z{zz{yzz{z{|{{{{{{{{{y{{{||z{{{{|{z{zzzzzz{{{{{{|||zz|z{z{|z|{{z{{zzz{{{z{{{{z|{{{zzz{{{{yz|{{{|{|zz{z|{{{z||{{||||{zzzzz{{{{{{{||{{{{z{zz|{}{|||{z{z{|{|{{|{|{||{zz{{{|{{{|||{{|{{z{{{{{{|||{{|{{{{{|{{z{||{|||{|z{{|{{{{|||}{}||||z|{y{|{{{{|}{|||{{{{|{||{{|}|||{{}{||{{|{|||}||{{||{{{{}||}}}|{|||{{{{|||||||||{{{|z{{||||{|}|||{{{{{||{{|||||z|{|z{{{||{||{|||{|{|z{z{}{|{{|{{{{{{zzz|z||{|~|}|{{|{}||}}{|||}{{|{{{|{{{|{~|}}|{{{z{{{{{{{|}|{z{{z{zy{{{{||{|{|{zz|{z{{z{|||}|{{{z{{zzz{{z{||{|zz{z{zzz{|{{{z{yzz{{zzz{{{{||{{zz{{zz{{{z{{{|{z{{{{{zzzz{{z{||{zz{zzzzzzz{|{{{{{{{zzzy{{{{{z{{{{{{zzyzz{{z{{{|{{z{z{{{z{z{|{||{{z{{zzz{|{{{{||||{z{zz{{{{|{{||{|yz{zz{{{{{{{|||{{{{z{{{||{|{|{|{{z{zz{|{{|{zz||z|z|{{zz{|{{z||{|{{{{{{{{{{|||||{{{{{{z{||||||{|{{z{{{{{z|{{||}|{z{|{{{z{|{|||||{{{{{{{{{||{{|||{|{{{{||{|}{|||{|{{{{{{{{||{|{|{{{{{{{{{|{{{||}||z{{z{z|{{{||{|{{{{{{z{{{|||{|{}{{|{|{{{z|z|{{{{{{{{zzz{z||{{}}}}|{|{{|{|}}{|}|||{{|||{{||||||||{|z{|{{z{{|{{|||z{{z{zz{{z|{{|||{{{zzy{{{{||||{{{z{z{{{z{{{{{|{|{{{y{{zz{{{z{||{{z{zz{yy{{{{{{||{{z{{zzz{|{{{{{z{{{{{{z{|{|{{|z{{{{zz{zzz{z{{{{{{{{z{{{yz}{{zz{{z{zz{zzyz{z||{{}z{{z{{{zz{z{z{{|{z{zz{zz{{{{{|||{z{{z{{{{z||{|{}z{{z{zzz{{zz{|{||z{z{z{z||{{z{{|{z{zz{zz|{{{{|||{z{{{zzz{{{{{{{|{{zz|z{{zz{|{|||{{{{|{||{{{|{||{|z{{{{z{{{{{{{{{{zz{{z{{|{|{{{|||{z{{||{{|||{||{{{{{|{{{{}{|||}{{z{|{z{|{||{|||||z{y||{{{}|{|{|}{{{{{{z{||{|||||{{{{zz{{{{|{{|}{|{{|z{|z|{{|{||{{{{z{{zz{{|{{}}}|||{}}|{}}||{|{||z{{|{z|{|{||{|||{{{{{{z{{{|{||{{{zz{z{z{{||{z||{|{zzzyz{||{{{{|{{z{zyzz{|{z{{{{zz{z{{z{z|||{{zz{z{zzzz{{z{{{{{{zzz{z{{{{{{{{|{z{{zzy{zy{{|z{{{{{{zz{zzy{{z|{{{zz{zzzzzzz{zz{{||z{z{zz{zzzzz||{{z{{zz{zz{{{|{|{|{z{zzzzz|{{{{{|{{z{zzz{z{{{{{|{{z{z{{{{yz{{{{z{|z{{{{z{z{z||{|{{{z{z{zzz{{||{{|{{{{{zz{{{||{|{{{{{zz{|{{{|}|{||{z{|{{{{y{{{{|||{z{z|{z{|{{{{|{{{|z{z{z{{|||{|||}{{{z{{{{{{{z||{{|z{{{{z{||||||||{z{|{{{||z|||{|{|{z{{{{z{||{||||z{{|{{z{{{{z{|||{|{{z{z{|z{|{||{{z{{zz{{z|{|{{|{{z|zz{zz|{{{z~|}|||{|{{{{|}|||||{||z{z{{||||}|{|{{zzz{{{{}{{|{||{zz{{zz{|{|||{{||{{yz{{z{{|{{|{{{{z{zzzz{|{zz{|{{zz{{yzz{{{zzz{z{zzzzzzz{z{{z{{zzzzzzzzz{{{|{|{{zz{zzzz{zy|{|z{|{z{zz{zzz{z{{{|{{zzz{{zyz{{zz{{zzzzzz{{z|{zzz{{{{zzz{zyz{{|{|{{{{zzzzzyz{{{{{{||{|{zzz{z{z{{{{{{z{{zz{{z{{{{{{z{z{{||z{z{|{{{|{{{{zz{zzz{|{{{{{{{z{{z{{{{|{{|||{{z{z{{{{|{|}}{{{z|zz{|{{||{|{|||{z{{z{{{{||{{|{|{zzz{zz{|||{|{}||{|{{{{{{{|z|{}|}|{{{|{{{|||||||{{{{{{{z{|{|||||{z{{z{{{{{{||{||z|{|{{{{{{{||||||{|zzzzz|{||||||{{{z{{zz{{{|{{|{{{zzz{z{|z|||}}}|}{|{||z{}|||||||{|||{|{||}||||||{{z{{{z|z{||{|}{{|{{{zz|{|{{{|{|||z{z{z{{||{{{|{{{z{{zz{{z{{||{{zz{z{yz|{|{z{{z{z{zz{zz|z{{{{{z{{z{{z{z{{{{{{|{{{z{z{zz|{|{{{{{{{{z{z|z{{y{{{{}{{{{yzzzz{{{{|{{|z{zz{{z{{z{{{||{{{zz{{{z{{|z{{{{z{zzz{{{{{{{{z{{{z{{y{{{{{|{{||{z{{{z{z{{|z|{||{z{z{z|{{|{{{|{|zz{{z{{z{{|{{z|||{{{{zz{{||{{{||{{{|{z|{{|||{}|{{}{{{{{|||{|||||{{{{{{{z|||{||{{{{z{|{z{z||{{|||{|{|{{|{||{{|{||||{{{|{z{|||}}|||{||{{{|{{||{||||z{z{{{{{|||}||{|{{{{{z{|{{{|||||{{z{{|{|{||{{{|{{{zz{|{||{{|{|z{{{z{y{z|{{{{~|}|}z{||{{}~}{||||||{||{{|{||{{|}||{|z|{z{|{|{{{||{z{{{z{{z{{{z{{|{{{{z{|z{{{{{|{|{{{{{z{zz{{zz{|{{z{{zzyz{z|zz{{zzz{zz{z{zz{z{{{{{z|z{z{z{z{{{{{|{z{{yzzz{{|zz{z|{z{zy{zyz|{{|z{{|{y{zzz{z|{{{z{|{z{z{{{zz{z|z{z{{z{{z{zz|{||{{||{{z{zz|{z{{z||{|{{zz{yzz{{{{{|||{{{{zy{{z||{{{{{{z{zz{{z{{zzz{|{|{{z{z{{{{|{{{|z{zzz{{z{{|{|{{||{{{z{{|{{|{|||{{{|{zzz|z||{{{{{{{{z{{{|z{{{z|||{|{{{{{z{{}{||{{{|{|{{{|{||{||||||{{{{{{zz}{{{|{{|{{{{{{||{||||}||{{{|{{{{{||{||||zz{{{{{{{{{{{|||z|z{{{{{|z|{|{{{z||z{zz{{|{{{{{{z{zzz{z{|{|{}|||{{||{|{|||}||{{{|{{{{|z{|{||||||{zz{{z{|{{{{|||{{{z{{|z{{{{|{{|{{{z{zzz|{{|{|{}z{{zz{zz{{zz{|{{{z{z{zz{z{{{{|{{{zzzz{{z{{z{|{|z{zz{{{{{{{z{{{{{zz{{z{yz{|{{|{{|z{{zzzzzz||{{{{zzzz{zz{y{z{z{{{{{zzz{zzzz{{{{{|{{z{z{{y|z{z}{||{{z{zzz{z{{{z{{{{{z{z{yz{|z{{{{||{z{zzzzz{z|{z{||{{z{{{{|z{||||{{{{{{{z{z{||z{{|{{zzzz{z{{|{|{|{||{zz{{{{{{||}|}|{|{{{{{}{}||||{}{|{|z{zy|||{{||{}z{z{{{{|{}{||}|z{{{{{{{|||{||}|{{{z{{{{{}{||{|}{{{{{z{{|{}{|||||{{z{{{{|{{{||||{|{z|z{|||{|{|{{{{zz{{{{{{|||}|||{{{zz{z{||||{|{z{{zzzz|{{|{|~|}{|||{||}{{}|{||}|||{z{{|{||}|||||{{z|{|{z}{||||||{{{{{z{{{|z|{{{z{{z{zzz{{{|{{|{{z{{{z{z{|{|||||z{zz{{z}{{{{{{{{{z{z{z{z{{|{{{||{{{|{{{z{{|{|{{{{{z{z{zz{z|z||{z{{z{zy{zz|z{{{||{|{{{zyz{z{{{z{|zzzyz{zzz{{|{||{z{|z{{zz|{{{|{|{{{z{zzzz|{{{{{{{|{{{||{z|{{{zz||z|{{{{{z{{|{{||||{{|{{{z|{|{|||{{z{z{{z{{{|{{{||{z{{{{z{{}{|{|{{{{{{{{{{||||||||{{{{{|{{||{|{|{|{{{z|{|{{{{|||}||{|{{||{||}||}|{|{z{{{||||{||||{|{{{{|{|||||||||||{z{z{{||}{|{|}|{{{{{{|{{|||||||{{{{z{|||{{||{{|{{{{{|{{|||||||||z{{z{z{{{||||{{{{z{z{{{||{{~}}}{{{||||||||{}|~||{|{{{{{{|{|{}}}{{{zz{{|||{{{||{{{{{{{{{{|{{|{{{{{{zz{z{||{z{{|zzzz{z{zz|{zz|{zz{z{{zz{|{{z{{z{{{zzzzyzzz{{{|{}{zzzzzzz{{{z{{|{{zz{z{zzz{|z{{|{{{{{{z{{|{{{{{|{|{zzzyzzz{{z{{{z{{|z|z{zz{{{||{|zzz{{{zz{z|{z||{{z{z{z{z{{{{{{{{{{{yz{z{{{z{{|||z{{{{{zzz{{|{{|{{{{{{z{{{|{{|{z{zzz{zz{{|{||{|}{|{z{z{z{|{{{|{{|}{{{{z{{{{|||{||{|{||{|{|||||{||{zz{{{zz}||{|||{{{|{|{|{{|}{{{|{{{|{{{{{{{|||}|||{|{{{{z||{|{{||{{{z{{|{||{{||}{{z{z|z{|{{||||||||{z|{{{|||}{|||{zzz{{z{{|{||{{|{{{{{z{z{{||{{{{{{{z{z{z|{||{|}}|{z||{|{|{|{{{|{{||{zz{{{{{{|||}{{{|{{zzz{{|z{||{{{{{zz{{|{|{|{|{z{zzz{y{{{{y{{|zzzy{zzz{z|{z|{z{{zzz{yz{{{{{{|z{z{zyzzzzz{{{{{{{zzzzz{zz{{{z{{z{zzzzzyzzz{z{{{{{z{zz{zy{{{{{||{{{{{zzzzz{{z{{z|{z{z{z{zz{zzz{{{zzzzz{{zz{{{{|{|{{zzyz{y{{|{||||zy{zz{{{|{{{{z{|zzzz{zz{{|{{{{{|{{{|{{{z||{|{{|{z{{{zzz{}{||{||{{zz{{zz{{|z{||{}{|zz{{|{{||||{{|{{{{{z{|{|{|||{{|z{{{zzz{|||{{||zzzz{z{{||{|||||{{{z{{{{{{{{|||}|{{{{{{|{|||{||}|{{|{{{{{|{z{|{||{zzz{{||{|||}||{|{{{{{{||{|||{{{{|{{{{{z{|{||||{{y{z{zz{{{|{||{{zzz{z{|{{{|{}}}{{{||z|{|}|}{}||{{z{{{{{|||{{||{{{{z{{zzz{{||||{{{z{z{{zz{||{{|{{{zyzzzzz{{{{{{{z{zz{zzz{{z{zzz{zzzzzzzzz{|z{{z|{{{y{z{zzz{{{{{|{zz{z{zzz{z{{{{{z{z{z{zz{{{{{|{{zzz{z{zyz{{{z||{{zz{zz{zz{{{z{{zzzzzz{zzzzzzz|{{zz{zzzz{z|{{{{{{{zz{{zzy{{|{z{||yzzz{y{z{zz{|{||{{zzzz{{{{{z{{{|{z{z|zzzz{||{|{{{zzz{zz{{|z{{{{{{zz{{zz{{|{{||{|{z{{{z{{||{{{||{zz{z{{{{{|{||}|{{{z|{z{z{{{{|{|{|{zz{z{{{|{|{||{{z{{{{{{{{{{|||||z|{{{{z{{|||{|{|{{{{zzz}{|{{{|{{|{|{{zz{{{{|||}{{|zz{z{||{{{|{|{z{{{z{{{{z{{{|}|{zzz{{{z{{{z{|{z{zzzzzz|{{{{}{||{{z|z{{{{||{||{|z{{{{zzz}{{}|||{{{z{{z{{{{{{{|{|{{zzzz|{{{{{|||{zz{zz{z{{{{{|||{zz{zz{{{{{{{{zzz{{zz{z{{{{{z{{zz{z{{zzz{{{{{{{{zz{yzz{z{{{yzz|{{zzzz{{{zz{{{{{|{zzz{zzy{{|{{z{{zzz{{z{{zz{z{{{|zy{{zz{{z|z{z{|zzz|{z{zyz|{|{{{{{zzz{zz{z{{z{{{||{{{zzzz{z{{{{{|z{zz{y{||{{z|{{{{zzz{z{zz{z{z|{{{z{z{z{zz{{{{{}|{{zz{zzz{{{{{{{|{{z{{{{z|||||{{{z|z{z{{z{{|||||{{{{{{{{z{{|{||||{zzz{z{{{|{{{||{|z{zz{{{{|{{{||||{||{{{{|||{|||||{{{{z{{{{{||z|{|{|{|z{{z|{{{{||{{{z{{z{{{{|{{|{z{{{z{z{{{{{{{||{{{z{{{z{{||{|||{{zzzz{z{z{|{}||{{{{|||{{|}||{|}{{{{{z{z|{{|{{|{{{z{{{y{{{{z|{{{{{{{zz{{{{{{|}|{|z{{z{zy{{{{||{||{zzz{zzz{{z{|{{{yzz{zyzz{{{{z{{{zz{z{yzzz|zz{z{{zzzzz{zzzz{zz{{zzz{zzzzz|{{|{{{{z{{zzzzz{z{{{{{{{{{{z{y{{{z{{{{zzzzz{{zz{z{{|{{zzzzzyzz{z{{{|{{z{zz{{{zz{z{{{|{{y{{yzzz{{|{{{{{zzy{z{z{zz|z{|||z{zz|z{{{||{{|{{{z{{{zzz{{{z{|}z|{{{z{{{|{z{z||{{z{{{{{z{||}|z}|{{{z{{{z{|{|{{|{{{{{{z{{z||{{{|||zz{{{z{|}}|||}{{{{|z{{{||{||||||{{|{{{z{||}|||{{{{{{{{{{}{{{||{{{{{|{{z|~{|||}|{||{{y{{|{z|{||||z{zz{{{|{||||||||z|z{{z{|{{{|{{{z{z{{zz|{{{||{||{|||{{{{}|{{|||{{{{{{{{{|{|||{|{{{z{z{{|{{{{{||{{z{{{yz{{{{{{||{|zzzzzz{{{|{{|{z{{zy|zz{{{|{|{z|z{z{zz{{{|zz|{|zz{z{{{{{{{{{{{z{z{yyy{z{{z{{|{z{{{zzzy{{z{{{z|{{y{z{|{z{{{|{{|{z{{z{zzzzzz{z||{z{{z{{z{z{{{z{{{z{{z{{{zzz|{{{{|zzz{{{{{{|{{{{{{{{{{zz{z{{{{|{{|{z{zz{{z{|{{{{{||{{{|z{z{{||{|{{{{z{{{{{{{{{{{|{{{{{{{z{{||{z|||{{{z{{z{{|{||{~{{{{zz{|{{{|{{||}{{{{z{{|z{||||{||{{{{yz{|||{{{|{|{{{{{{{{|{{|{{{{z|{{{{{{||{{{|||{{|{{{{{|||{||{|{{z|{z{{|{|{{||{zy{{{{z{{z}{{||{{{zz{{|{||{{{|{{{{{{{{z{{{|{{{}{zzz{z|{{||{{}||{{{|{{|{z||{}{{||{{{z{z{{|}||{|{|{|{{{|z||z|{{|{{{{y{z{z{|{z{z||{{zzzy{{{z{z|{z{z{{zzz{z{{{{|{z|{{{z{{{{{||z{|{{zz{z{z{{{zz||||{{zzyzz{z{{{z|{|{|z{zzz{z|{{{{{{|zz|zzzz{{{{z{z|||zzz|{z{zz{{{{{{zzzz{zzz{z{z{{|z{z{zz{z{{{{{|z{{{z{zz{zz{{|z|z{{{{{zzy{{{z{{{|z{|{{z{z{{{||{{{{{{{{|zz{zz{{{{|{{{zzz{{{z{{{{{|}{z{{||{|{{|||{{{{{z|{{{|{|||{{||}|{zz{z{z||{||{|}{{zzz{{z|||||{{{|{{{{||{{}}{||{{{{{{{{{{{|z{{||{|{zz{||||||||~}|{{{{z|{{}||||{{{|{{{z{{{{{{{|||||z{|{{z{{{{{{|||{|z{z{z{{{{||||{|z{{z{{z||||{|{{|{{{{zzzz{|{{|}|{{z||{{{||{|}|||{{{{{{|{{{}|{{}{|z{{{{{{{{|{{|{{z{zzzzz{{{{}{{|{|{zzz{{z|{||{{|}zz|zzz{zz{{{{||zz{zzzz{{{{|{z{{{{{zz{{y{{{{{{{{|{zzzzz{{z{z{{{|zz{{zz{y|{{|{|{z}{{{zyz{z{{{{{{|{z{{z{zzzzz|z{z{|}{zz{{z{z{{{|{||{zz{z{zz{{|{{|{{{zz{{zzz{{{z{{|{z{{zz{z{{{|{{|{{zz|zzz{zz{|{|{||{{{{{{{{z|z{z|{{z{{{{{{zz}{{z{||z{|{zz{{|{}z{{{{|{z{|{{{{{|{|{{|{{{z{z|{{{{||||}|z{{{zz{|{|||||||{{{{{{z|||||||{{{zz{{{{{||{|{|~|{{{|{{{{||||||||{{|z{z{{{|{}|||{{{{{{||{|{|{|||||z|{|z{||{||||{{||z{z{{|||{|{}{|{z{{{z{||{|{{|{{z|z{zz{{||{{|{{{{|{{{|{z}|{{||{{z{{zz|{|||{{}|{||{z{{{z{||{||||{zy{{zzz|{z|zz||z|{zz{{z{|{z{|{{zz{zzzzzz{|{{z{{zzzzz{{z{z{z{{{{{z{z{z{z{zz|{{z|{z{z{z{|z{|zzz|{{zzzz{zz{{{{{{{{{{z{zzz{{{zz{z{{|{z{zy{z{{{|{{{{|zzz{z{zy{z{||z|{z{{{{{{|z{{|{z|{zzz{{zz{{{{{||{{zz{z{{{{{{{|{{{{zzzz{{y{{{|{{||z{zz{{{z||{{||{{{{{{{z{{{z|{{{||{z{z{z{|{||{{|{{|{|{z{{{{{{|}{|||{|{z{{{{|{|z||||{{{{zz{{|{{|{{{{z{y|{{z{}{{{|||{zzz{|{{{}{|{{|||{z{{{|z|}||{||{|{||{z{{|||{{||{{{{|{|{{{z|||{|||z{|z{zz||||{|{{{{z{{{{{|{|||||}|{{{{z{{{{{|{{{|{{{{{{{{{|||{|||{{{{{{}{{||||||}|z{{{{z{{{{|}|{{z|{{{z{{||{{||{{||{{zzzz{{{{{z|||zz{yzzz{{{{{{{|{z{z{{{zy|{{z||{{{{{zz{{z{|z{{|{{|{zzzzz{{{{{{{{zyzz{z{{{z{{{{{|{z{z{{zz{{|{{{{|zzzzzz{zz{{|z{{{{{{{zzzz{z{|{{z|z{{zzzzzz{{{{{{{zzzzzz{z{|{{||||{{zz{zzzz{{zz{z{zz{{{z{{{z{{{|{|{{{{z{z{{||{{z|{{z{z{{{{||||{}}{{{{{{zy{{{{{z{|z|z{{{{{{{|{zz|{||z{{|{|{{{|||||{{{|{{z{{{{|{|||||{z|{{z{{{||{{{|{z{z{{|{|||{{{||{{{{{{{||||||||||{{|z|{z{||||{{{{{|{z{||||||{{{z|{{{|{z{|||||{|}|{||{{|z}|{|{{||{{{{{{{{{|{{|{|||{{{z{{{{|{||{}{z{|z{{{{z{{|{|{{z{{z|{{{{|}{|{||{{|zz{zz{{{{{|||{zzzz|z{|{{|{|||{zz{y{zzz{|{zz|{{{{{zz{zz{{{{|{|{z{{yzzz{||{{{{z{{{z{zzy{z|zz{{{{z{{zz{z{z{{{|{|y{zz{zzz{{{{{z|{zzzzzzzz{{{{{z{{{z{{zzzz{{|{z{z{|z{zzzzzzz{{{{{{{{zyy{zyz{z{{|{{yy{z{zyzz{{{{||{zzzzzyz{{{z{{{{{{y{zyzyy|{{z|{{{{zz{z{z{{{{{{{{{|z{zzzz{z|{{{|||{{z{z{|z{|{{{|||zz{z{{{y||z|{|{|{{{{{|{z|{{|{|{|z{{{{{{{{{|}|{||{{{z{z{{{||||{{|}{{z{z{{{||{||||{{{{{{|z{{|z}{{}{{{{z{{|{|{{{||||z{|{{z{{{{{{|||{{{y{{{{{{{{{{|{{z{{|zz|{{{{{{{}{{zz{z{z{|z{|{||{{{zzz{z{||{{{|z{zz{{z{z{{{|z~|{|{{{z{{z{{}{|z}|z|{{|{{z{{{{z|||{{zz{{{z{||||||{{z{{{z{{{{|{zz{{{zzy{{zz{{{{{|{{{{zzzzzz{{|zz{{{{zzzzzzy{z|{z{{zzz{zy{z{{{z{{{z|{{zzyyz{{z{{{z{{{{y{z{zz{z{z{{{{{{zzzy{z{zz{{{{|{{zz{z{z{{zzz|{{z{{zzzzzzzz{z{{z{{zzzz{y{z|{z{|{{zzz|{zzz{{{{z{|{zzz{{{{{{z{||||z{{{{zzy{z{|z|{{zzz{zz{zz{{{{{{{{zzzz|{z{|{{{{{z{{zz{zz{{{|{||{||{{{{{zz{{}||{||{{z{{{{{{{{z|{|{|{{{{{{{{|{||||||zzzz{z{{|{{|{||z{{{|{{{{||{|{{|{{{{z{|{{||{{|}||z{|{|zz{{{{{||||{z{{{z{{|||||{{{|zz{z{{|z{|{||{|{{{{z{{{{{z{|||z{{{{z{z{}{|{z{|{z{zzzzz{z{{{{|z{|}{|{{zz|z{||}}|{z{{zzz{{{{{||{{{zz{{{{{|{{{|}{{z{|{zz{{z|{|||{{{z{zz{y{{{{z{||{{{{{{{y{{{{z{|{{z{{{{{z{z{{{|{{{zzzz{{{z{z{{{{{{{zzz{zz{{{{{{z{{{{{zz{{{{{{{{{|{z{z{zzyz{{|{z|{|z{z{zzzy{{z{{{{{z{z{{z{{z{{{|||zz{{{zzy{|{{{{{||z{{yz{{{{{z{|z||zz{{z{{{{{{{{{{z{{zzzzz{|{{|{|||zz|{y{zz{{z{||{{zz{{zzz|{{{|{|{zzzzzz{{{||z{{||{{{{{zz{||||||{{z{{{{z{{||}|{|{|{{|z{{{{|||{|{|{{zzz{{zz}||{||}}z{{{|{{{{||||{{{||{{z|{z||{{|}|||{{{|{z{|{{|||{|{|{{|{{{{{{|{{|{|z{{{{{{|{{||||{z{{zz{z|z|{{{|{||{{{{{zz{{{{{|{{{{{z{zyz|{{{{}{{{{{||{{z{|{{|{||z{{{{{{{||||||||{{zz|{{|{|{{||{{{z{{{{z{{{z{|{{{z{{{{z{y|{{{z|z|{zzz{zzz{||z{{{{{z|{{zz{|{|{{{z{{z{zzz{z|{{{{|{|{z{{zzzz{{z{{{|{zz{{yzz{z{{{|{||{z{{z{z{{{{{|{{{{{z{zz{z{{z{z{{|{zzz{z{yz{{{{||{{{z{{{zz{{{{{{{z{{zzzz{zzz{{z{z{{{{z{z{{{{{{{|{{{zzz{zzz{{{|||{|{z{{{{{{|{{{|{{{|z{z{{zz{|||{{|{{{{{zzy{{||z|{{{{{{{{z{{z|}|{{{|{{{{|{|{||{z||||z{{{{zzz{|}{{{|{{{|{zz{z{||||{}||{{z{||{||{{{||{||{{{{{|{|||{|{|{z|{{{{{{|||{{|||{||{{{|{{{{|||{|{{{||{{|||||{||{|{z{zzz{|{{||||{{|{z|{z{|||{{|{{z{{{z{z|z{{|{|||{{||z{{{||{{||{|||{zzy{|{{|||{||zzzzzzz{{{{|{|{{{{zzzzzz{|||{|{z{{zzzzz{{z|{{{{zzzzzz{y{|{z{|{{{{{z{zzz|{|{{{|{zy{zzzz{{{{{{{{|zzzzzz{z|zz||{{{zzzzzz{{{{{{{|z{{zzz{zyz{{z{zz||zzyzz{{zzzzz{{{zzyzzzzzzzzz{z||{z{zz{zzz{{z{z{|{|{{z{{zz{{|z|{{{z|{{yzz{z{{|{{{{|{{z{|{z{|{||{{{{zzy}zz{z|{{{||{{z{z{|z{|{{|{{|{{{zz{{z{{|{{{||{{{zz{{z{|{||{||{{z|z|{{{|{||{{}|{{{{{{{z{{}|{{|{{{{z|{{z|||{|{}||z{{{{{{|{||||{{}{{{{{{{{{||{|||{z{{{{{|||{||{|{{{{|{{{z|z{{{{|}||z{{{{|||{|{{z}|zz{{{|z||{||{{|{{{{zzz{{{}||||{{{z{{zz{{{{|{|||{{z{|{|{{|{{{{||{{zz{zz{|{}z{{{|{|zzz{{z{|z|||{|{{{z{{yzz{{|z{|{{{{{zz{z{{{z{{{{{{{z{z{zz{{{z||{{zzzzzyz{z|zz{{zz{zyzyzzzz|{{{z{zzzzzzz{{{{z{{{|zz{{zy{z{{{{{{{zz{{zzzzy|{{{{{||zz{zzyzzz{zzz{{{zzzyzzzz|z{{{{z|{zz|{{{z{z{{{z|z{{z{zzzz{{zz{{{zzz{zzzz{{|{z{|{|zz|zzz{{{{|{{||{{z{{zz{z{{{{{z||{{{z{z{{{{{{{{{{{{{{zzz{{{{{|{{{{{z|{{y{|{||||{|{|{zz{{{z|{{{{||{{z{{{zz{{{||{||{z{{{{{{{|{|{|}}{z{z{{|{{|{}||}}}{{{{{|z||{|||||{{{|z{{{|}{{z||{{zzzz{|z{|{z{{{|{{||{{{{{{{|{{||{|{z{{|z{|||{{|{z{zzzzzz{{{||{{|{|zz{{{z{||{{|{|{{z{{zz{||{{{}|{z{zzzzzz|{{{{|{{|zz{z{z{|{{{|||{{zz{zyzzz{|z{{{{{{zzyzzy{|{{{{{|zz{yzy{z{{{{z|{|z{zz{zz{|z|{{zz{{zzy{zzzzz{zz{{{zzzzzzy{{z{{{{{{zz{zzzz{{|{{{{{z|z{zz{zz{{{{|{{{zzzzzyzz{{{zz{z{{{z{zz{zz{z{{|{{yzz{z{zz{{{{{{{z{zz{zzz{{||zz{{{zzzzzz{z{{z|{{{{{yzzzz{z|z{{{||{{{{{|z{z{{{|{{{{{{{{zzz{{{|||||{{z|{{{z{|{{{{|{|{{{{{{z{{|{{||||{z{{{z{{|}{|{|{|{{{{{{z{{{{||||||z{{z{{{||||{}|||{{{{{{{||{||{{{{z{{{|{{{||}|||||y{{{{{{||{{|{{||{{{{z{{{|||||{{{{z{{{z{{|{|}{|{{|{zz{z{{{|{{||{{{{{{z{{{|{{{||{{{{z{{zy{z{z|}|{{{||{{{z{{||z|||{|{{{{{|{|z|{|}|{{z{{z{{|{{{{|{|{z{z|zz{{{z{{||||{{zyzzz{||{{||||{{z{zzz{zz{{{{{{zzz{zz{|{{zz{|{z{zzzz{zz{z{{|{z{z{z{yzzz{z{{{|{zy{zzzzz{||{|{{{zzz{{zzz{z{z{{||{{y{zzzzy{{z{{|{|zzzzzyz{{z{{{{{z{{zzzzz{{{{{{{||zzz{zzz{{{zz{{|{yz{{{zzz|{{|{{{{{zzy{zz{{|{{{|{zz{{|zz{{|{{{|{{{{{zzz{{{||{{{{{{zz|z{z{z{||{|||{{{z{zz{{{{||z|||z{z|{{{{|{{||||{{{{zz{{{y{||||||z{{{z{{{||||{||{|zz{z|{||{|{||||z{|zz{{{}{|{|}||{{{{{{|||{{}|||{{{{{z{{{{|{{|{|{{{z|{{{{{{{|||}{z{zz{zz{{{{{||{{|zz{{{{{|||{|{|{z{zz{{z||{|{|||{|{{{{{|{|}{{||}{{zzz{{{z{{|{}z||{{z{{{{|{||||{{{{{{{|{z|{{{z{||{{zz{{zyz|{{|{{|zz{zz|zz{{z{|{||{{{{{{zy|||{{{{{{{{zzzzz{{{{{{z{{{zz{yz{{{{{||{zzyz{zzz{{{{z{{{|{|zzz{zzzz{{{{|{{z{z{z{zzz{z{|{|z{zzzzzzz{{{{|{{z{{z||z{{|{{{{{{{{zz{z{{{{{{{|{||{{|z{{z{{{{{|{|{{|{{z{{||{{{{|{{{{{{zzzz}|{{|{|{z{{{zzz{{{{{z|{|z{{{z{{||{{z||||{{{{z{||{|{|}|{{z{{z{|{||||{||}{{{|{{zz|{|}{|}|{z{{{{|||{||z|||{{{{{{{{||||||||{{{{{|{z{}{|}|||{{|{{z{||{||||||{{{|{{{{{{{|||}{|{{{|{{||{|||{|||{{z{{{{{{|||{|{}{{{{{{{{{{|{{||||{z{z|z{{{{{|{{{z{{{{{zz{{{|{{|z{|{{z{{{{{|||}|{zzz{z{y|{z{{{{{{z|{zzz{{{zz{{|{zzyzzzzy{z|{{{{{{{{{z|zz{{|z{{{{{zzzzz{|{{{{{{z{zz{{yzyz{zz{zz{|{zzyzzyz{z{{zz|{zzzzyzzzy|{z{{{{{z{{zzyzz{{{zz|{zzz{zzzzz{zzzz{{z{{zzzzzz{z{{{z{yz{z{{zyz{|z|||z{z{z|{z{{{{{{z{zzyz{zyz{{{z{z{||z{z{zz{zz{|{{{|{{{z{z{{yz||{{{z{z{{y{zz{{{{{{||zzzz{{z{z{{{{z|{{{{{z{z{{{{{||||{{{{z|z|{{|{|{|||{z{zzz{{z||z}{}|{zz{{z{||}||z{{{{{{z{{{{{|z{{|{}{{{z|{{|{|||{|||{{{{z{{{|{z{{|{|{{z|z|zz{{||{{|{{yz{{z{{|{{{|}{|{{{yz{{{{z{|{{{{{{{z{z{{{{{{{z{|{{{zzz{z{{{{{|{{{{zz|z{{{{{|{{{|{{{{z{z{{|{|{{{{z{{zz{{{{{|{{|{{{z{{{zz{z{|{{z{|{zzzzzzz{y{|{|||{{|zzzzzz{zzy{{{{zzzz{zz{{{{z{{{zz{z{zzz{{{{{z{zz{zzy{{z{{{{z{{zzzz{z{yzz{|{{{|{zz{z{zzz{{|{z{|{zyz{zz{yz{zz{|{zzz|z|y{{{{z{z|{{zyzyzz{zzz{{z{|{zz{{zz{y|{{|{{{{zzzz{z{z{{{{{{|{{z{zzzzz{{|{|{|z{z{{zzzz{{{{{|z{{{z{{z{z{{}{|{{|{z{z{{{{{{{|z{{|{zzz{{{{{{|{||||zz{z{{zz{{{{|{{|{z{{z{{y|{|||{||{z|{{z|{||{{|{}{{{z{z|{{|{{z||{|}z{{{{z{||{|{||}z{|{{{{z{{|{||}|{z{|{{zz{{{|{|}|||zz{z{z|||{||{|{zz{|{{zz}{|{||{|{{z{{{{{{{{{{|{{z{{{{{{z{{zz{|{{{{{{{{{{{{{||{|{|z{{{{{z|||{||||{|z{|yz{|{{{|{||{{|{{z{z{||{{|{|{|zy{zz|{{{{{|{{{{zzzz{z{z{{{{z|zz{y{z{{{{{||{{|zzzz{{{z{{{{{{{z{yz{zzzz{{{{{{zzz{{zzz{{|{z{{{zz{{{yzzzz{|z{|{{{{zzzzzzz|{z{|{zzzzz{zz{z{|{{|{{z{z{{z{zz|{{{{{|{{{{zz{z{{|||{|{z{zz{{z{{z{{{{{}zz{zzzz{{z||{{|{{z{z{z{{{{{{|||{{z{z{z{z{|{||||{{{{{{{{z|{}{{{{|{{zzz{{{{{|{|||{{{{y{z{|{{{|{||||{|{{y{z||||||||{{{|{z{{||{||{|{{{{z{{{{{{|{{|{}{{{{{{{{{}{|{}|||{{|z{|{{||||{{||z{|z|{{|||{||{|||{{|zz{{{|{{{||{{z{{{{{{{|{{|}|{zz{{{{{{{||{{|{{{|{{{{z|||{{{|{z{{{{{zz{}{|{{{|{{{z{zz{|{{|{{|{{{zzz{z{{{{{|{{{{{z{{{z{z{{|z{z|{{{{{{zzz{||||{}{z{zzzzzz{{{{{{{{zz{{zzzz{{{{{z{{z{zz{zzz{{{{z{z{{zz{zzzy{|z{|{{zz{zyzyz|zz|z{{{zz{|zzy{{{{z{{|{zyzz{{{zz{{{{z{{z{zz{zz{{z{zz|{{zz{yzz{zz{z{|{z{{zz{z{{zz|{{z|{{{{{{zy{{{{z{{{{|z{z{zy{{{{zz{{{{|z|zzyz{{|{|{{{z{z{{zz{z{{|||{|zz{{z{{{{{{|{{{{|{z{{{z{{z||{||{{{{|{z{|{|{|{{{||{{{zz{z{{||||{|{{zz{zzz{{|{z{|{|{z{zz|{{{z||}||||{{z{{{{{{{{{{{|z{{{{{|{{||{{||{|zz{{{z|{||{|{}}{|{{{|z{{{||z|{|{{{{{{{{{{{{{||||{||{{{zz{|{{|||{{{yzz{z{{|{{{{{zzzz{{{zz||{z|||{{{{{zz{|{z{z{|{{{z{{zz{{{{z{||{{{zz{z{{z{{{z|{{{{zyz{zy{{|{z{|{{|zz{zzyy|{z{{|z{{{z{{z{{{{{z{zz{zzyyzz{zz{{{{|{zzzz{zzz{{z{|{{{z{|{z{z{{{{{{{{{zz{zz{{zz{||{{{{zz{zzz{y{zzzzz{|{{zzzz{{{{{zz{zzzz{{z{zy{{{z{|{{{zzzz{{y{{|{{{{{{zz{zz{zz{{|{|{{{y{{{z{z|{|{z|{|{{{{zzzz{{{|{||{{zzz{y{z{zz{{|{z|{z{{{z{z|{|{{{||{{{z{{{{|||{|{{z{{{{z|{{|{|{|||{zz{{{{z{|||}||{|{{{{{|z{{{|{{||{{{{{{|||}{{|{{}|{{|{|{z{||{||||{{{|{{|{|||||||{{z{{{{|z||z|||{|{z{{{z{{{{{|{{}}{{zzz{z{z{{{{{}{{{{{{zzz{{{{{|{{{zzz{z{zz{{{{{|z||{z{z{z{}{{||||z{z{{zyz|||{{|{|{z|zzy{{{{|{|||{{{z{zz{z{z{{{z}|{z{zzzz{{z{{{|||{zz{zz{y{z{z{{|{{z{{{{z{{{{zz|z{{z{{{z{z{{|y{{{{zz{zzz{{zz{{z{{z{zzzz{zzzz{z|{z|{z{{z|zzz{{{{{|{{{{zzzzzz{{zz{{|{zzzz{{zyzz{{{{{zzz{{zzz{{{zzz{{z{z{{zz{{{{|{{{|{{{{{z{{{{{|{{{|{{{{z{{yz{{{|z|{{{{zzzz{z|{{{{|{{z{yz{{{}{|{|{|{{zzz{{z{{|{{{|||{{{zz{z{{{||{|||{{{z|{{z|{{|{||||z{{{{{{|{|||{|{|{{z{|{{|{|{|||||z{{{{{{||{|{{|}}{{{{{{z{}{|{|{{|{{{{zz{|{|{{|||{{||{zz{{{{{||{||{{{{{{|{||{{||{{{{z{zz{z|{{|{{|z{{{{z{{{|}{{{|{zz{z|{{zz|}z{{|{{{{z{{{{z{|{{{{|{zz{z{zz{{{{||||{|yy{{zz{z|{{{|{{z{z{zzy{{{|{}{{{{{zz{{y|z{{{|{|z{{{{{{{z|{{{{|{{z{z{zz{{{{{{|{zz{z{{{{z{z{|{|{{{zzyzz{{{z{{zz{{z{{{zzyzz|||{{{|{z{zz{zz{{{{|{||{{{{z{{zz{{{{|{{z{{zzz{z{{zzz|{{{z{z{{zyz{|{{|{|{zzzzz{{{z{|z|z|{y|zzz{{{{{z{{{{{zzz{{z{{{}{{{}{{z{{z{{{{|{|z|z|z{{{{zzz{|{|{||{||z{|{{z{z{{||{|{zz{{{|{{}|{{||{{|{{{{{{}||||||||z{{zy{|{|{{|||||z{{{{|{|||{||||{{{{z||{||{}|||||{{{z|{{|||||||||{||zz{{||{|||||{{{{|{{{|{{|||{}|{{||z{{|{{}{|||z|{{|{|{{{{|{||}{z{{zz{{z|{{{{}{{z|{z{{y{||||||||z{{{z{z{{|{{|{|{|{{zz{z|{}{|{{{|z{zzz{zz{{|{{{zz{zz{{z{||z|{zz{{{{z{{zz{|{|||{{{zz|{{zz{{{z{|{{{{{{zz{|{{{zz{{z{|y{zzz{{z{{z{{{yzz{{z{z{z{|{{{z{zyzz{z{{z{{|{{|{zz{y{zyzz|z|}|z{{y{zz{y{{z{z{z|zzzz{{zz{z{z{{{{{{{{{z{y|{{{{{}{z{zzz{yy{{{}{{|{z{{zzz{{{z|||{|{{|{zzzzz{{{{{{|{{z{{{y|{{|{{|{|{{{|zzz{z{|||{||{|{{z{yz{|{{{{}{{{{z|||{{|{|||||{{{{z|z{{{|||||{|{|z{{z{{|||{|{||z{{||z{{|||{}}{||{z|||{{{|{{||}||{||{{{|||||{|}||{{|{{{{|||}|{}}|zz|{{{{{{{|{{}|{|{|{{{{{||||{{}{{|{zz|z{|{}||{||{{|z{zz{{||{|||{{zzzz{{{{{{|{{|{|zz{zz{z|{|{{{|{{{{zz{|{{|{||{|{z{zzzzz{|z{{{{|zz{z{{yz|z{{z{||{z{zz{{{{{{||{{{zz{zz{{y{zzzz{||{zz{{{{z{{z{{|{{z{{{z{zz{{{{{{|{{zzzz|zzz|{{z{|{{z{zzzzzzz{zz||z{{{zz{z{z{{|z{||zz{{zyz{z{{zz{z{zzz{{zzz{{z{z|z|zzz{zzzzz{{{{{{{{{zz{z{zz{{{{{z{{z{{zzz{{{{{{{{|z{{{z{z{{{{{{{{{|{z{|{{z|||{{||{{{zzzz{{{|{{|||}{y{{{zz{{|{{{{{}{{{z|{{{|{{||||{z|{{|{z{{|{|||}||{|{{{{{|}|||{}||{{{{z{z|{|{|||}|{{{{|{{||{{||{|{{|{z{{{|}{||||{{{||{{{{{{{|{|{{{{{{{{{|{||||||}}|{{{{{{{{{{{}|||{{{{{{{{|{{{||||{{z{z{z{}{}|{||{{{{zz{{zz|{|||{{{{z{z|z{|||{{{|z{{{{zz{{||{{|{{{{{{{{{{zz{||{{{|{|{{zyz{||{{{||{z{z{zzy{{|{{{{}{{z{zz{z{z|{{||{{{{zz{z{{{{{{{{{zzz{{z{{{{zz{zz{{{z{yz{zz{|{z{{{{zzzzz{{{{||{{{{{z{zz|{{{{{{{|||{{{zzyzz{{{z{{{{{{{z{zzzz{{z{{{|{zzz{{yz|{{z{{{||{{zzzzz|{{{{{{|zzz{zz{{{z{{{|{|z{{{z{{{{{|z|{||z{{{|{{{{{{{|{{{zz{{{z{z{|{z{z|{{|{zy{{||{||{||}{{{{{{z|{{{|{}|{y{{{z{||{|{||}}}{{{{z{z{{{|{|||{{z{{|z{{||{|||}||z|{{{{{{|{|}||{|{{|{{{{{|{{{||||{||z{{|}{{{||||{z{{|zz|{}{{||||{{{{||{{{||{||||||{z{{{||{|||||}{|{{{zz{z|||{|{||z{{zz{{{{|{{|||z{zz{zz{{{{{{z{|{zz{{zz{{{|{{{|}{z{z{{zx{|{{|{|{{{{{{{zz{{|{{|{{z{{zz{z{{{{|{{||z{{zz{z{{|{z{{|z|{{{z{{{{||z{|{{zz{{z{{z{z{zz{z{zzz{z{zz{{{{y{||{z{{z{{{{{{{{|{{zz{{yz{zz{{zz{{{zzzzzz{zzz{{z{{{{{{yzzzzy{{z{|{{{zzz{z|z{{zz{||{{z{z{{{{{{{{z{{{zzz{zy{{{{{{||{||{{zz{zzz|{{{{|{{zz|zzzy{{{z{{||{{{{{|{{{{|{zz||{z{|{{z{|{z{|{|{{{{{{{{{z|{|{|{|zz{{{{{|{|{{||{||{{{{z{{{|{|{|{{{zz{{{zz|||{{||{{{{z{{|{||{{{||}{{z{z|{{{~|{|||||{{||{{{|}||||{||z{|zz{{||{|{|{|{{{{{{z|||z{{}|{{{{{{{{z|{{|||||{{{z{z{z{||||||{{{{{{z{{{|{|{{{|{{y{{yzz{{|{{{{{{{{z{z{z{zz{z{||z{{{{{{z{{{{{|||{zz{zzzyzzz|z{z{zzzz{z{z{z{{z|{|{zzyzzzz{zy{{{|z{zzz{yzzz{{zz{{z{{z{z{z{z{{zz{{{{{zyzzzzz{{z{{|{zz{zyzzzzz{{zz{{zzz{yzzz{z{{z{z|{z{z{{zyyz{y{|{{{yzz{z{zzzz{{z{{zzzy{zzz{z{{{{{z{zzy{y{yzz{{z{{|zz{yzz{{z{z{{|{{{{{zz{{{{z{{{{|{{zz{{zzzz{z{z{{z{{z{z{zz{{{{{{{{z{zyzzzz{|{zz{{{|{{zz|zz{{{||{}|z{{{zz{z||{|{|{{zz{{z{z{{{||{||{zzzz{{{{{||||{||{{z{z{{|{||{|{{{{{{z{{{|{{{}|||{{z{{{{z{{||{|{{{|{z{{|z{{{{{{|{|{{{{{{{{{{{}{{{{|{{{{{{{{z{z||||{zzzz{{z{{|{{||zzzzzzy{z{{|{{|z|{{{{{zzz{{||{{{z{z{{zz{{|{{||||{{{{y{z{{{|z{{{{z{{{{{zy{{{z|{z{|{zz{yzzz{{{z{{||zz{yzz{zz{{z{{{{{zzzz{zz{z{{z{{z{zzzzzyz{z{{{{{{yz{zzzzz{{{z{z{|{z{zz{y|{{{{|{{{{zz{yzzzz{{{{{{{{{{zzzz{z|zz{{{{{{{yzyzzz{{{{{{{zz{yzzz{|{{{{{{zzy{{zz{z{{{zz{|{{z{{yz{{{z|{{z{{{zzzzzz{{z{{{{{|{z{z{y{z{|{{{|{|{zz{z{z{|{{{{{{|{{{{z{{{{|{z{{z{{{{z{{{z|{{{|{||{{{{{{{{||{|{{|{{{zz{zzz{|||{|{|{z{{{{z{{||{||||{{|{z{{{{{{||{||}{{z{|z{{}|{|{}|{z{z{{{z|{{{{|{|{z{{{{{{{{{{{|||{{z{{|z{{|||{|{{z|{{{z{{{||||||{{{z{zz{z|{{|{{||{{{{{zzz{}{|{|{{{y{zz{{{{{{{{|{{{zyzzz{z{|{{|{{|{{{zz{z{{{z{z{{{{{zzzzz{{{{{z{{{zzzzz{z{{{{{z{{|{{{z{{zzz{|zzz|z{z{y{|zz{z|z{zzzz{zzz{zyzz{{zz{{{zyzzyzz{{{{{{{zzzz{{zy{{z{{|{{z{{zzz{zyz{{{{{zzzyyzzyzzyz{zzzz|z{yy{zyzz|z{{|y|zz{z{zzz{{{{|z{|{zzzzzzy{{{z||{|zzz{zzzz{{z|{{{|{{{{zz{|z{{{{|z{{{{z{z{{zzz{|{|{z{zzyz{z{z{{z{{{z{z{{{{{z{{{{{{{zz{z{{z{{{{|{|{|zz{z|{{{{|{|{|||z{zz{z{{||||{||{|zz{{{{z{|{|||{{{{{{zz|{{{{{{{}{{z{{{{{{{||{|{|||{z{z{{z||||||||{{zz{{{{zzz{{{{{{{{zz{z{{|z|{{|{zzzz{yz{{{{{z{{z{{{{{{zz|{{{{||{z{{{{z{{{||||{{{{zz{{{{z{{{{{{{|zzz{{{zzz|{{{{{||yzzyz{z{{z{{{{||{zz{{y{z{{{z{{{{{y{zz{z{z{||z{|z{zzz{zzz{zzz{|{zzz{y{yzz{{z{{z{zzzyzzzz{y{|zzzzzzzzzzzz{{zzz{{y{zzzzzyzz|{zy{{{zzz{yz{z{{|{z{{zzzyzz{{zz{zzzz{{zzzyzzz{z{zz{|{z{zzzy{{yzz{{{{{{{{z{z{zz{{zzzz{{{zzzzzz{{{z{z{{{zz{zzzzz{|zzz{{{{z{{zzzzz{|{z{{{{z{z{zzz{{||{{|{{z{{{{z{z{{{{{{{{{z{{{zz{{{||||{zzzzzz|{{|{{{|{||{z{{{{y{||z|z|{{{{{z{{{|||{|{{|{{{{{{|{{{{|{{|}zz{{{{{{{|{|{|||{{{zzzz{{z|{|{{{{z{z{{zz{{|{|{|||{{{{{{{{{{|{|{{zz{zz{zzz{{{z{|||{{{zzzy{|{|{{|{zz{{z{zz|z{{{{{{z{z{zz{z{{{{{z{{{{z{zz{zzz{{{|{{{{{z{{{z{|{z{{{|z{{zz{zzz{{y{|{{|zyzzzzz|{{|{|{|zz{{zz{{z{z{z|{{{zzyyzzz{{{{z|{{zyxzz{zzzzz|{{{{zy{yzzzzz{{{{z{zzz{z{{y{|{zz{{|{{{zzyzzzz|{z{{{{{{{z{zzzz{|{{y{{{{yzzz{z{{zzz{{{zzzzzy{z{{{z{z|{zzzzzzzz{{{y{{{|{z{{zyzz{{{{{|{{z|{{{{{z{{{|{{{|z{z{zz{{{{{{{{|{{{{zzzz{{{{{{{|{{z{{{{zz{|{{{|{{{{{zz{z{|{{{|{{|z{|zz{{{{{||{|||zz{{{{{{zz||{||z|{{zz{{{}|||{|}{{{|{{{|{{|||||{}{{{{||{{{{{|{{}{|z{z{{|{{||{||{{|{{{{|{|{{{{|{{|{z{z|{{{||||}{||{z{zz{zz||{{{|{|{{z|{zzy|{{{{{||{{zz{|zzz{|{{|z|{zz{z{zz|{z{{|{|{{{zzzzz{||{{{{{zy{zz{{{|z{z{|{{{zz}{zzzz{||{{|zz{zzz{{z{{{|z{|||{zz{{zyz{|z{{{z{yz{{zyz{{{{{{{yzz|{z{zzz{{{{|{{zz{yyzz{{z|{||zzyzzzz{y{zy{{|{||zzzzzz{zz|{|{{{|{zzzz{zzz{z|{z{|{{{yyzzz{{zzzzz{zz{{z{zzz{{z{{{{{{{z{y{{z{{{{{{{{{{zzzz{{{{zz{{|z{{zz{z{{{{zz{{{{{{||{{z{{{|||{{|{{z{zzz|{{{{z{z{zzzz{yz|{|{{|{{{{{y{{{{||{{{{||{{{zzz{{{{z|||||{zz{{{zz|||||||{{{z{{{{z|}|z{||||{{{|z{|{|{{|{}}|z{{zz{zy|}{}||||{{|{{{z|}{|||{|{zz{{{{{||{|{|||{{z{{{{|{z|||||{|z{z{{{{{{|{{{{z{z{{{{zz{{{{{||{|z|zzzzz{||{||||z{zz{{{z{{{{{{{{{zz{zz{z{|{{z||{z{zzzzzz{{{z{||z{{{{zz{{{{||{z|z{{zzz{yzzz{|{|{|{{zzzzzyzz{{{z{{{yzz{z{yzz{{{|{|zzy{{{zz{{{{{{{{zyzz{{{{{|{{{{{{zzzzyzz{{{zz||z{{z{{z{zzz|{{z{|{{y{z{yzz{{z{z{zzzzzz{zzzz{{{{|{{yy{yzzzy{|zz{{{{z{zz{zzzz{{{{{{|zzzz{zzz{{{{{{z{zz{z{y{y|{|{{}||zz{{zz{{z{{{z|{|{{{z{zz{{{{{{{|||{{yzzz{{|{{{z{{zz{{zz|{|{{{||{{{{{zz{{{{|{|{||||z{|{{z|||{|{|{{{{{{{{z{|}{{{{|{{{|z{{{|||||||||{z{{z{z{||||{{}{|{{|{{{{{|||{|||zz{{{{|{{{{{{{||{{{z{yz{{{{{||{}{{z{zz{{{|{zz{}}{{{zz{{z{{{{|||{|z{{{z{z{{{{{{{{{z{{z|zz{||{{{||zzz{yz{{z{|||||{{zzyz{{z{|{{{|||{{zzzzz{{{{|z|{{{|{zz{{z{y{{{||}zzz{z{|zzz{{{{zz{zz{{zzz{z{z{{z{z{zzzzzz{zz{|{{{yzyzzyzz|{{{{{{{{z{zyyyzz{z{{z{{zzzzzz{yz{z{{{||zz{{{zzyzzzzz{{{zz{{zzzzz{{{z{{{zz{y{zzz{|{z{z{z{z{y{{{z{{{z{z{|zz{{zy{zz{||z|{|{zzz{{z{zz|{{{{{|{{zzz{z{{|{|{{{zzzzyz{z{{{{{|{{{{{{{{{z{|{z||{|{{{z{{{{{{{|{|{|{{z{{z{{|||{||{{{{{{zzzy|||||{|{z{|z|{{{}|{{||||{{{{{{{|{{{{||||{{{z{{{{{|{|||{{{{{{z{{z{{{|z{|z{z{{{{z{|{{{|||||{{z|z{{{{{{||{}z{{y{z{z{|{|{|||{{z{zz{z{}z{{{|{zz{zzz{zz|{|{{{|{{zyzzzzz{{{{{{|{{{z{y{{{{{{{|{{{zzy{{{z{|{{z{||{y{{zyz{zz|{z{{|{zzyz{z{{z{{z{||z{zz{{{z{{y{zz|{{z{z{zzz{{|zz{{zzz{zzzzz{{zz|{||{y{yzzzz{{{z{{|{{yzzzzy{{z{z{{{z|{z{zzzzz{{zz{|{zzzzzzzyz{z|z{{{z{yz{zz{z{{|{z{{zzz{{{{yz{{z{{{{{zyyzyzzzz|{{{z{{{zz{{z{{|{{{{z{{{zzzzzzz{{{{|{|{{zz|z{{{{{{||{{{z{{{{zz{|{|{{{{{z{{{{zzz{{{{z{{{{z{{{z{{z}||{||z{z{z{z{{}{{|{{|{{{{{{{{{|{{|z}||{{{{z{y|{z{|||z{z{zz{|{|{{{|{|{||{{{{{{{}||{}||{z{|{zz|||{|{||{{z{zz{{{|{{|{{{|{||{z{{|{|{{z|{|{{|y{z{{{{{|{|{{|zzyzz{zz{{|||{|{|zz{z|{{{|z{|{zz{z{z{zz{|{{{z|{zzy{zzzz{|{{{{{|{zzz{z{z{z{||{{{z{zzzz{zz{|{z{||z{{z{zzz|z{{{{{{{zzzzzzzz|zzz|{{{zzzy{zzz{zyzz{zzzzyz{zzy{{{zz||zzzy{zzz{z{{z{|z{zzzyzzzz{{{{{{{zzzzzzyz{{{zz{zzzzzzyyzyzzz{{z{|zzzzzyzzz{z{{z|{zzyzz{{yy{{z{{{zzzzzzzy{{{{{z{z{{z{{zyyz{|z{z{|{zzzz{{y{{{{z{|zzz{zzzzz{z|||{{|{z{{zzzzz|{|{z{{{z{{z{z|{{|{zz{{{zzzzz{z{|{{{|{|{z{zz{y{z||{z{{||{{{z{zzz{{{{{{{|{z{z{z{z{|{||||{|{{{z{{{{{{{||{||{{{{|zz{|{||||||z{{{z{||{|{{{|||{{zz{zz|{{{||{|{{{z{{{{{{{{||{|zz{z{z{zz{{}{{|{{{zzz{z{{{{{{z{{{z{zzz{z{{y{z{|{{|{z{{zzz|{z{{{|{|{{zyzzz{zz{{{|z{zz{{yz{z{{{||{z{z|zzz{{z{{{z|{{{zyyz{z{z{{{{|z|z{zzz{z{{zzz|{z{{zzzzzz{{z{{{z{{zz{z{z{{zz{z{|{zz{yzz{z{{{zzzy{{zzzz{y{zz{{{{{{z{{z{zzy{zz{z{|{zzzzzyzyz{{z{{{zz{yzzzzzz{zzz{{{z{{{|zyy|z{{{{|{{zzyzyzz{{{{{{{{{{zzzz{{z{|{{|{|z{{{zzzz{{|{z{{{{{{{y{{z{{{{z{z|z{z{{yz{{{|zz{{{zz{{{z{z{{|{z{{{{{{{{{{z{|{|{|{{{|z{{z|z||z|{{{{{{yz{|zz{{|{{{{{{z{{{{z{|{||z||{{{||{{{{|{{z{||||z{z{||{z|{{|||||{{{{{{||{|{{{|{{zz{{z{{{{{|{|||{{{z{z{{{|{{{||{{{{z{{z{{|{|{|{|{{z{{{{z{{||{{|{{zzzzz{{{z|{{|{{{zzz{{zz{{{z{{{zzz{z{zzz{{z{{||{zz{{z{|z{{{z{z||z{{{{zzzzz{{z{{z{{{zzy|y{{{{{{z|{zzzz{{z{{{zz{}z|y{zzzzz{z{z{|{{{{zzz{{zzz{|z{{{y{zzz{zz{zz{{{{{{zzzzzyz{|zz{{z{zzzzzzz{zzz{{z{{zzzzzzzzzz{{zz{|z{yyz{zyzz{{z{{{zz{z{z{zzzz{{zzz{zzzyz{z{{|{{||{zy{{zz{y{{{{{{{{z{{yzzzy{{{{{|||zzzy{z{y{{{|{|z{{{{yzzyz{{{{|{|{{zzz|{zz{||{z{z{zz{{z{{z{{||{{{|z{|{z{{{|{{||{||z{z{{{{{z||{{}{{{z{z{{{z|{|{|||{|{{{z|||zz||{{{||{{{{|z{{|{|{}|||{{{zz{{{{|z{{||{{{zz{{{||{{{{{|{{zzzz{{{|{|{|{|{{{{z{z{z{{{{{||z{zy{{yz{{{{{{||z{{zzy{{{{{|z||{{{{z{{{{y||{|{|{z{z{{zzz{{|z|{||{{{zzz{z{z|{{|{{|{z{z{z{{{{|{{{{{{{zzzzz{yz|{{{{{zzzzz{zz|{{{{zzzzzzz{zz|{|{{{{z{{{zzzzy{{|{{{{{zzyyzzzzzz{{{||zz{zzy{yz{z{{zz{{{zzyzzz{z{{{z|{{z{z{zyzyzzzzzz{{{{{zzz{z{z{{{{{|zzy{z|zz{|{z{{{zzz{yzzz{z{{{{{{|{z{z{z{z{{{{z{}{{z{{zyzz|{{{|z|{zzzz{z{zz{|{{{|{{{y{{{zz{{{{{{|{|z||z{{{{|z{{{|{{z{|{zz{{|||{}|{{z{z{{z{||{|{|||{{{z{zz{z||{{{|{|{{{z{{{{{}{{||{|{|{{zzz|||||||||z{zz{{{{||{}{||{|||||{{{{{||||{{z{{{zz{z|{{||}|z{|{{{|{{{{||{||{{|y{{{{{{{z{{{{{z{z{z{{{{||{{||||zzzyz{{{{{{{{{z{|zzz{z|z|{|{||{{zzyyzzz{|{{|||z{yzzz{z{z|{zz{{{|z{zzzz{{{{{{{|{{{yzzzzzz{{z{{{{{{zz{zy{|zy{z{zzyz{zzzzz{{{{z|zz{zzzzzzzzzzz{{{zzzyzyzzz{{zz{|zzy{{zzyzz{{{{zz{{{zzzzzzz{z{{z{{zzzzyzyyzzzz{{z{x{zyzyz{{zzz{z{{{y{{zzzz{{zz{|{{{y{z{zzzz{{{{{{zzzz{{yy{{{{{{||{{zzz{zzz{{{|z{{zz{{zzyzz{{{{z|zz|zz{{{zzzz{{{{|{{z{{{z{{zz{{{|{|{z{z{{zyz{||{|{{{{z|{{{{|{||{{|{{z{{z{{{|{{{{|{{{z|z{{{{{}|{{{{{{{{{{{{{{{{||||||{{{{{{z|{{{|||||z{{{zz||{|{|||}|z{{|z{{{{{{{{|{|z{{|{{{{||{{{{{{z{{{{z{z|z{{{||{z{{z{zzz{{{{|{{|z{{zzz{{{{|{||z|z{z{{z{z{|z{{||{zyzzzzz{{|{{{z|{{z{zz|{|{|{||||{{{{zzz{{{|{{{{{|z{{z{zz{{|{{{{||{{zzz{z{{z{{{||{z{yzzy{{{{{z{zzzz{{z{zz{{zz{{z{yy{zz{z{z{zz{|{zz{zzzzzz{z{{{{{zz{{zz{zy{zz|{{{{zzzzzz{zy{zz{{{zyzzzzz{z{z{{z{{|z{zyzzzy{{{{{{|zzz{zzz{{{{{{{{||{z{zzz{zz{{z{|{}zzzzzzz{z|{{{|{|{z{{{z{z{|{{||{{{zzzz{y{{{{{{{|{|zz{{{{z{{{{|||{|{|{{z|{{{{||{{|z{|z{{{{||{{z{||{{{{{{z{{|{|{{|{{{z{{{{{}|{{{||||{{{|{{|||{{{|}||z|z{|zz{{{{|||||{{{z{{|{{|{{|{||{|{{{{{{{{{|}||{{z{{{z||z{{{|{{zz{z{z{z{{{{{{{{{{{zzzzz{}|{{|{{{z{yzz{{{{{|{|||{{{{{zzz{|{{{z{z{{z{z{z{{|{{{z{{{{yz{yzz{{{z|||{|{{{z{zz{|z|{|{{{z{z{|{z{{{{{|{|{{{zz{{{z{{z{{zz{y{z{zzz{z{z{{{z{{zzzzz{{|z{{{{{z{{zzz{z{{z{{z{zz{{zyzy{{{|{|{{{{zzzzzyzz{{{{{{|{zz{zzy{yz{z{{{z{zzy{z{z{|zzz{{{zz{zz{zx{{{|{z||{zzy{z{zz|zzz{{|{zz{zz{zz{{{{{{|z{zzzzz|{{z|{{{|{{{{zz{|z{|{{{{{{{{z{{{z{||||{||z{{{z{zz{{{|z{{{zz{z{{{{z{|{{|{{{z{z{{{{{{z{||||{z|zzz{{||{{|{|}{{{{z{{{|}{{|{||{|{{z{{{{|{|{|||{{{{{|{{{}{{{{|||{{{{{z|{||{{||}{z{z{{y{|{}|{}||z{z{{z|{|{|||{|{z{{zzz{{{{{{||{{{z{|{{z||{z{{{{{{{{{zzzzz|{z{|{{zzz{{zzy{|{|z{|{|zz{zy{zz{|{{{z|{|z{{{z{|{{{|{{}{{{{{yzz{{z{zz{{{{zyy{zy{{|{{|{{z{{y{z{zz|zz{{|{{{{z{{zz{{{{z|{{{{{{z{zzz{{{{||yzzzz{zzzz{z{{{{{{{z{zyzz{z{z{{{{{{{{y{zz{|{{|{{{zz{y{yz{yz{z{{z|zz{{zzzyz{{zy{{{zzzz{zz{zz{{{||{z{zz{zzz{{{z|{{{zy{{zz|z{{zzz|||{zz{z{z{{|{z|{{||z{{{z{z{{||{{{}{z{{zzz{{{|{{{|{{{z|zzy{{|{|{{{z|{zz|{{|{{{|{||z{|zz{{z{{z{}|{{}{{{{{{zz|{|{|{|{|{|{{{{z|||{||}{||{zz{{|{{{|||{||{{{{z{|{||{|{||{{{{{||{|{{||||{|{{z||z|{{||{|}|}{{zz|{{|||{|||{{{z{{{{{{|{||{|{{z{|z{zz|{{|{|{{{z{{{z{z{{{z{{{{{z{{z{{z{{{z{z|{zz{z{{zz{{|{{{{{{zzz{zzz{{z{{{|{{zzz{{{{{{|z{{{{{{{z{zzz{{{{{{{|zz{zzz{z{{{z{z{{{{{zzzz{{y{z{{z{{{{zzyzzzz{{{{zzz{zy{zzz{{z{{{{{{zzzyzz{{{{{{{{|{{z{z{yz{{{z{{|{zzz{z{zzz{z{z{z{{yzzy{yz{{|{{{{{z{{zz{zzz{{z{z|{{{zz{z{zz{{{z{{{{z{zzz{z{{{{{|z|zz{zy{{zz{{|{{|{{zz{zzzzz{{{{{{{{z{zz{{z|{{{z|{z{{z{{zzz|{z{|z|zz{zz{{z{{{|{||||zz{{{{{{{|{|{}||z{{{zz{{|{}{{{{||z{{|{{|||{{{||{{{|z{||{{z{{|}{|{z{z{{|{{||||{|{zz|{|{{z{{{{|||{|zzz{{{{||{{{{{{|{z{{{{{{{{}{|||z{|zz{{zz{|z|||||{z|z{z|{{||zz{{{{zzzzz{{{{{||{{z{{yzzzzy{{|{{||{{{z{{|z{{z{{|||{{yyzz{z{{z{||{{z{zzyzz{|z|{{{}|{{{yzzzyz{z{{{z|z{{z{{y{{{{z{|{{zzzzzzzzz{{{z|{zy{z{zzyzzzz|{{{{z{zzz{{zzz{{z{|{{zyzz{yy{{{z{{{{zz{{yzzzz|z{{|{{zzzz{z{yz{zz{z{{{zzz{z{{zzzz{{z{zzz{{zyyz{z{{z{{|zzzzzzz{z{zz{{{zz{zz{zzz{z{{z{{zy{{yz{z{{{{{{z{z{z{y{{z{{{{{{{z{{{zz{z{{{{z{{|{{{|z{z{{{||{{z{|{{{z{yyz{{{|{{|{zz{{{{|z{{{{{||{{{{z{{{{{{|{|{||zz{zz{z|{|{{|||{{{{zz{{z{{{|}||{|z{{{{{{{}{|{{|||z{zz{{z{{{{{||{{{zz{{{{{{{{||||||z{{{{z{{{||||||{zz{z{{{{{{{|||{{{z{z{{{|{{{|{{{{|{z{zz{z|z{{z{z{{{{||zz{{{z{{|{{{{zyz{{{{{{{{{z{zz{|z{{|z{{{{{zz{{zz{{{{|z{{{{{{{zzzyzz|{|{{z|z{{zzzzz{{||{{{{{{zyzzzzz{{{z{{||{zzz{z{z{{{{{z|z{zzzzz{{{|{|{|z{z{zzzyy{z|{|{{|{zzzzzzzz{{{zz{{zzz{yz{{zz{zz{|z{z{{zzzz{{{zz{{{{z{zz{zzz{z{|{{{{yzy|{{{{{|{z{{{z{zzz{z{{{{z{{|{{zz{zzzzz{{zz{{{z{{z{zzz{|z{z|{{zz{zy{z{{|{{||}{zz|{z{z{{{{{{|{{{z{z{{z{{z{{{|||z{{z{|{{{{|{{{{{{{|zzz{{|{{|||}|{{|{{z{{|||{{{||{{zzz{{{z||{{||{{{{{{{{{z|{{||{||{{|zz{z|{||{{||}{z{z{{|||{{|||}{{{{|zzz{{{||{||z{zz{{{{{{{{{||{|{y{zzzz{{{|{{|z{z{zzzz{|{||{{|{{{{z|{zy{{|{{z{|{{zzzz{{{{{z|{{|{zzzy{{z{|{z{{{z{z{z{{{{{{{{z{||{{{zz{zzzz{{{{{|y{zz{zzz{}{{{{{z{{{zzzyz{{{{z{{{zz{zzzz{zz{z{z{{{{{zzz{{{{{z{z{{zzzzyzzz{{{z{z{{zyz{zyzzz{{{|{{{zz{zzzzy{{zzzz|zzz{yyzzzz{z{z{{z{z{zzz{y{{{{{{{|z{{z{{z{{{z{{{||{z{zzz{zzzz{{{{|zz{{{zz{|||{|{{|{z{z{{|{{{{z{{{{{{zz{{zz{{{{z{|{{{z|z{z{{{{{{{{{{zzz{z{{z{|{{z|{{|{{{z{{{{{{{{||{|{{zzz{{|||||||{z{{{{{z{|{z{{|||{{zz{{{{|||{||||{{{z{{{{|||}||||{{{{{{{{{||{}{||{z{{zz||{{{{{||{z|{{zz{{{|{{}{|{{z{{z{y|{|{{{||{{zz{{zz{{{{|{{z{z{{zzz{{{{{{{z{z{{z{{zy{{{{{{{{{zzz{zyzz{{z||{{{{zzz{zy{{{z{{{{z{{zz{{y{{{zz{|{{yzz{zzzz{{{{{z|zzzzyyzzz{{{z|{zyzzzzzzy{|{{z{z{{z{y{zz{{zzz{{z{zyzzzzzz{{{zz{|{{yzzyyyy{{{z{zzyz{zzzyzyzz{{{{z{zy{z{zyy{zzzzz{zzz{{zy{zz{{z{{{zzzzz{{zyzz{{{{{zzzzzzyyzz{{z{z{|{zzzzzzz{zz{{|{{zz{z{zzy{||zz{{{{yzz{zz{zz{zzzz{zzzyzzzz{{{{z|||{{{{{zzz{{|{zz{zzz{z{zzz{{||{{{{{{{z{{z{|{{{{|||zzz{zz{{{|{{{|{{{{z{zzz{z||z|{{|zz{{{z{y{{{{{{{|{zz|z{zzz{|}{|{|{{|z{z{{{{{|||||{{{{{zzz{{|{z{{||{z{{z{z||{{z|{{z{zz{zy{z|{{z{|{{{zz{{zz{{{{z{|{z{{zzzz{{{{zz|{|z{z{zz{{z{{{|{||zz{{{{zz{{{{}{|z||{zzz{{{{{|||{||{zzz{z{{z{{{{|{|{zzz{{z{z{{{{|{z{zzzzzzz|zz{{{{|z{zy{yzz{|{z||{{{z{y{z{{{{z{{z{{z{zyz{zzz{zz{|{{z{yzzzz|z|z{{{{{{{zz{zz{{{{{{{{{{zyzzzy{{{z{|z{{z{zz{zz{z{{{{{{yzz{{zzz{z{{{{{{{zzz{zz{zz{{z{{{{{{z{yzz{z{{z|{{z{{z{zzz||{{z{||z|z{zz{z{|{|||{{{zz{z{zz{{{{{}||{z{{yyzz{{{{{|{{{{{{z{{{{||{{{|{z||{{|{z||{{z{{}{{{{{{{{{||||||{{{{z{|{{{|{{}|||{z{z{{{|{|{{{|}{|{{z{|{{{{||||{|{{|{{z{{{{|{||}||z{{{{{{{{{|{{||{{{z{{z{|||{zz|{{{{z{{{{||{|{|||{{{zy{zz{|{|||||{{{zy{{z{zzzz|{{{zzz{{z|{{{{{||{zz{{zyyy{{|{{{{z{z{zzz{{zzz|{|{{{{{{yyz{zz{{{{|{{|zzzzzy|{|{{{z{{zzz{zzz{zzz{|{zzzz{|{zyzz|{y{{{z{{zz{zz{zz{{{{{yz{zyy{y{{z{zz{z{{zzx{zy{zzzzz{{zz{|yzzzz{{{{|{{{z{z{zzz{zzzz{{{{{zzzzzz{{z{{zz{{y{{z{zzzz{z{{{|{zzzzzzzz{{zz{{{zzzyzz{z{{{{{{{{zzzz{{z{{{{z{{|z{{zzzzzz{{{||{{{z{z{zz{zzz{z{{|{z{zz|z{{{{||{|{{{zz{zzz{{|{{||{|{{z{{{z{{|||{|{{{|z|zz{z{}|||z{{{{{z{zz{{}{{||||{{z|{{{{{{|{{{{{{{{{{{{{{|{|z{|}{z{{|{{{{{|||||{{{{{{z{z{{|{{|}|{{|z{{{{{{{{{|||zz|{{z{{{|{|{||{|{zzzy{{z|{|{|{{{z{|yzy{{|||{||{z{zzzzzy{z||{{{{|zzzz{zz{{{{z{|{||zzz{{z{{{{{{{{{{{zzz{z{|{{zz{|{{{zzzyy{{{z|z{{zzzz{yzz{z{{z||z{{{z{zzzz{{z{{{{zzzzzzy{z{{{z{z{zzzzzy{z{{{{z||z{{zyzzy{z{zz{{{{z{zzz{zyy{{z{{{zzzz{{zzzz{zyz|z{{zz{z{zzzzz|z{|{zzzzy{yzzzz|zz{{{zz{{y{zz{zz{{{{{zzzzz{z{{{z{{|{{{{zzzz{{{{{{{z{z{{{zz{{z{z{|||z{zzzz{zz|{{{{{}{|zz{zzz|{{{|{{{{{z{{|z{zz||{{|{|z|{z{zzz{|{|{|||{{{z{{{{|||{|{{{{z{z{{{{{|{{{{}{{{{{{|{{{{|{||||z{|y{{{{{|{||||||z|||{zz{{{{|{|{{{{{{{z{{{|{{||||{zz{{{||||{{{|{{z{z{{zz{|{{{{{|{z{{zz{z{{{{z|}||zzzyz{z{{|}{{zzz{z{{{z{|{{{{||{{{{z{z{{{||z||{|{{z{z{zy{{{{{{||zz{{z{{z{||{yz||{zz{y{{z{zz{{{{|zy{z{zzy{{{{{{{{{zzz{zyz{{{{{|z{{{zzzzzy{{z{{{{{z{zzzyzz|z{{{{z{{zzyzzy{{{zz{{{zzz|zy{zzzz{{{{{z{z{yzz{yzzz{z|{{{{zz{{zyz{z{z{|{{y{{zzzzz{{{z{z{zz{zzzyz{{{{z{||{z{zzzzzz{{{{{{{z{{{{zz{{{{{{{{{|zz{zzyz{|{{|||{{z{zz{{z||{{{|||z{{{{|{{{{|{{|{{{yz|{z{||{{|||{|z{z{{{{{||{{{|{{{{zz{{|{|{{|{{{{{zzz{z|z|||||{||{{{z{{{{|{|{|{|}|{z{{||{|||||||||{{{{zz{|||{{{{{{z{{|z{{|{|{|{{|{{{{|{{{{|{||||{{{z{z{{{|{{|{||||yz{z{{z{|||{{|{{{{{zzz{{|{|||{{zzzz{{zz{{|{{{{|zz{{zzyz{{|{{|{{zz{{z{zz{z{{{{|{|z{z{zzzz{zzz{|{zz{z{zzz{{{{{{{{y{zzzzzz{|{{z{{{z{{z{{zz{{|zz|{{{z{z{z{zyzzzz|{{yzzy{zz{z|{{{{|{zyzzzzxz{|{zz{{{{zzzyz{{y{{{|{|{{zyyzyzyz{{yz{{z{zzzzyyzy{zz{{{|zyzzzzyy{{zzz{{{zzz{zz{z{{{{{{{z{zz{zzz{|{{{{{|z{{zzz{{z{{{z{{|{{{z{{{{zz|{{{||zzz{{z{z{|{zz|{|{{z{|z{zy{{{{{z{||{|{{z|y{{{|||{|zzzz|y{{{{{|{|{|{z{{z{z{||{{|{|{|{{{{zzz{|{|{|{{zz{z|z|{|{z{|{|{||z{{z{{||{||||||{{|zz{z{|{|||||{zzz{{{{z|z}||||z|z{z{{{{{|{|{{{zz{{z{{{{{{}{|{|{zzzz{{{z{{z{|{{{{{zz{zz|{z|{|{{{zzz{zzzz{z{{z{{{zzzzy{z{{{|{{{|z{z{y{{zz{z{{||{|zzz{zzzz{|{zz{{|{{zz{zyzz{z{{{{{zzzz{zz{{{{{{z{{zz{zzzz{zzzz{{zzyzzzzz{{z{z{{||zyzzzzzz{zz{z{|{zzzzy{z{{{{z||{zz{yzzzyyz{{{{z|{{zz{zzzzz{zy{{{zz{zzzzzzz{{z{{{{z{z{z{zz{{{{z{{{zz{z{{z{zzz{{{{{{zzzzz{y{{{zz{}|{z{{{zzzz{{|{{{{{z{z{zzyzz|{{|{{{{{zzzz{{{{|{{|z||{{z{z|{|{{{{|{{{{{zz{{{|{z|{||z{z|{{z{{|{|{|{|{{{{z{{{{{}{{|}||z{{z{{{|||{|{||zz|{{{{{{||{||}{|{{{|{{{z||||||||{{{|{zz|{|{{z|{|z||{||{{{{{}{|{|{{{}{zz||{{|||{|z|z{|{{{{{{{z||z{{{zzzz{{{{|{|}|{|z{{{z{{|{|}{|{{{{z{|z|{|zz{|{zz{zzzz{z|{{{{||{{{{{zz{zz{|{||{{zzzzy{z{{z|z{|{{{{y{zzzz|{zz{{|{zzzzz{z{{{z{||zz{{{yzzz{{{zz{zzzzzzzzzz{{z{{{{z{z{zzzz{z{|zzz{{z{zzzzy{{z|{|{{z{z{zzyzy{z{|zz{{{{{zz{yzz{{zy{{{z{zzzzzzz{zz{{z{zz{{z{zz{z{{{{{zzzyy{yzz|{{z{{{|{z{zzz{{|z{{zz{|z{{z{{{{{{|{{{}{{{|z{y{{z}{{|{{z{z{{z{{{{{|{{{}{|{{{z{{z{{{{{{||zz{zz{z{|{{}{|{|{{{zzz{{{|{|||||{{{{{z{{}||||{|{{{{{{z{{|{|||{{{{|zz{{||{|{{|||}{{{{z{{{{|{{|||{||{{|z|z{{||{|||{zz{{{{|{{{|{||{{|{{{{{{{|{|{|{|{{{z{{{z{|{||{}{|{{z{{{{z{{{{|{{{{|{{{{{z{|{|{{z{zzzzzzy{zzzz{{{{zzzz{zz{{z{|||||{zz{zy{{{{z||{{{{z{{{z{{{|{z{{{z{zz{{zy{z{z{{{{{{z|zz{y{{{{y|{z{{zz{zzzz{{z{{|{zz{zz{zzzz{{{{{{z{zz{zzzz{z|z{{|zy{{z{yzz{z{{{z{{zz{zzyz{{{{{{|z{zzzz{z{y{zz{|{z{{{yzy{zz{z{{{{{zyyzzzzz|zz{z|{{z{zz{z{{{{|{{{{|zz{z{zzz{{|zz|||{zz{z{{zz{{|{{}|{{{zz{{z||{{||{{|z{{|{z{{|}||{{{{{{{{|zz{|{{{|{|{z{z{{{{{{{|}{||zz{z{z{{{{z|||||{zzz{zz{|||{|{|{{z{{z{z{|||{|||{{z|{|{|{|{{{{}{||{{{z{{{|{{||{{|{{{{{{|{{{|||||{|{{{{{{{z|{{|{|{{{{{{z|{{{{}||{|{{{zz|{{z|{{{{{{{zz{{z{{z|}|{|{|{{z{|y{|{|}z{{{{zz{z{zzz{z|{{|{{z{{zz{z{{{{z{{|{{{{zzz{y{{{z|||{|zz{{zzz{{{{{z{z{{zzzzzzz{{{{{z{{zzzzzz{z{{{z||z{{zzyz{z{{|{z{|{{zzz{{{y{{{zzz|{zzyzzzzzzz{zz{{{z{z{{|zz{z{{{{{{{zzyyzzz{{z{{z|{{{yz{y{z{z{z{{{|zzzzzzzz{{zz{|{{zzz{z{zyzz{z{|{{{zzz{{y{z{z{{{{{zzyzzz{zzz{z{{{|zz{{{zzz{{|z{{{{{zzz{zzy{{|{{||{zzzyzzzzzz|{z{|{{{z{y{z{{{{z{{z{{{zz|{{{{{|{||z|z{zz{{{{||||{|||{{{{{{z{{||}|||||z{z{{{z||{{|{|{{{|z{{{{}{|{{||}{{zzzzz{{|{||||||{{{{{{{{|||{|||{z{{{{{{{|{{{||{{{{||{{{{{{|||{|{{zz{{{z|||{{{|{{{z{z{{{{|z|{{|{zz{zyy{{||{{|{{|z{z{zz{zz{|z{{|{{zzzzzz{|{zz||{|{{z{zzzz{{zzz{|{{zzzzzyz{z|zz{|{{z{zy{zzz{{{{{{{zzzzyz|zzz|zz{{z{zzyzyzzz{|{{z{{{zz{{{z{{z{{z{{{{zzzyzzzz{{{{{{z{zzzzzz{zzzy{z{{{zzz{zzzz{|z|z|{zzyyzzzy{{{z{zz{{zzy{{yz{{zz{|{{z{{z{zyzy{||{z|{{zzzzzz{{{{z{z|{zzzz|yzz{{{{{{{{{{zzz{z{{{}zz{|{{{z{{z{zz|{{{{{{zzzz{zz{{{{|z{{{{{zzzz{{{{|{{{{}{{{{{z{z{{||{{}{{{{z|z{z||{|z{||{|{{{{z{|{{{|||{{{|{{z{z{|||{||}zz|zzz{z{||{{}{|{{{{z{z{{}||||||{{|zzzz{|{{|{|{{{{{{{|{{{{||{{||{{z{|{{z}|{||{{|{z{z{{{zz|{{{{{{{{{{yzzz{{||{{|{{{|{{{{{|{{{|{{{zzzzyzyzz{{{{|||zzzzzzzzz{z{{|{{|{zz{z{z{{{{z{|{{y{{zzz{zz{|{z|zzzzz{zz{{{{{z{{{{z{zzzzz{z|z{{{{|y{{z{zy{{zzz|{zzz{zz{yz{zz{zz{|zy{zzzzz|{zz||{z{yzzy{zzzz{{{zz{zzzzz{yyz{z|{{{{|zzz{z{yz{z{zz{z{zz{zy{zyz{z||z{z{zy{zzzzy{zz{{|z{zz{zz{y{|{{|{{z{zzzzzy{{{{y{{{{zz{zzzzz{{|{zz{{{|{{{{yz{{{|{{{zz{z{{z{{{{{z||{{{{{zzzz{|{zz{{{zz{{{{{{{{||||{{{{z{{{{{||{|||||{{|zz{{{|{{{{{|zzzz{{{zz{||z{||{z{{{{{{|{|{{{||||{{{{{zzz|{||||{{{{|z{z{{||}|||{{{z{{{z{|{|{|{|}{{{{|{z{|{|{|{{{{{zz{{z{{{{|{{|z|zzz{zy{{{{{{{{|zz{yzz{{{|{{{|{|zz{{zz|z{{|zz{|{{z{{zzz{{{{{z{|{|{zz{zzzzz{||{{{{{{zz{zyzz|{{||{|{{yz{zz{{{}}{|{z{{zz{zzz{{{{|{{{{z{{{zz{{{{{{|{z{zyzzzzz{z{z{zz{zz{zyz{{{{{{{{{{z{zyzyzz{{{z{{zzz{z{yzzz{yz{{{{{zzzzzzz{{{{{{zzzz{zzzzzz{z{{|{{z{{zzzzz{{{{{{|{{{{zzz{z|{{{{{{|{{{{zzzz{{{{{{|{{{zzzyy{{{z{{{{{{{{z{z{zzz||{{{{z{z{zzz{{{||z{}|{zz{{{{z{|||{||{{z{z{zz|||{|{|z{zz{{|z{z|z{}{|}{|{{{{zzz{|{|{||{|{{z{{|{|{||{{||||{z{{{{||{||||{|{{{z|{|{|{|{|}{{{{{{||{||{|{||{{zz{z{{{|{{|||{{|{|{{{{{{|{||||{{{{z{{|{{{{||{{|{{z{zz{{{|||{{|}{{z{{{{{||}{{{{{{zz{{z{z{{{{{|{{{{y{yzz{{{{{z|{|{z{zz{zy{z{{z||{zz{zzz{{{z{zzz{|zz{zzz|z|{{{|{{{zzzy{{{zz{{{{{{{{z{zy{zz{{{z{{{|{{zz{zzzz{{z{{{{zz{yz{zz{{{zz{|{zzz{zzz{zy{{|{|{zyzzyzzzz{|{{{{{z{zy{zy{{z{{z{{{z{zz{yz{{{z{{zz{{zzzzzxzz{z{|{|{{zzzzzzz{{zz{{{|{z{z{{{z{|{|{{|{{{{zzyzz|{{||{{{{z{{{z{{z|z{{{{{{{{z{{z{{||{z||||{z{zz{{{{{{{|||zzz{|z{z{{|{||{{{z{{z{|{{{{}{|||{z|{{|{{{|{||||||{|z||{|{}|||||{{{|{{{{|{{{|||||||{{{{{|}|{|{||||{|{{{{{||||{|||{z{{{{zzz{||}||{{{{{{{z{{{||{|{{}{{z{{z{|{{{{{|{||{z{z{{|z{||{||{zyz{{{z{{||{{|{z{{{{zzyz{{z{z|{z{yzzzzzzz{{{|{|z{zzz|{{zz{|{{|{{zzzz{z{{{{|z{|z{{{zy{{zzz{{zz|{{z{z{z{z{z{{z{{{zz{{yz{{zz|z{zz{{zzzzz{{z{z{z{{|zzzzz{zz{{z{{zz{{{yzzzy{z{|{{{{{{{{yz{zz{|z{yz|z{zzzzzzzyzzz{|{{{{{{zz{zzz{{zz{|zzzz{{z{z{z{{z{{|zzz{z{yz{{z{||{zz{yzzzz|{z{z{{{y{{zyzzz{zz{|{{{{z{{zz{{{||z{{{|{{{z{{{zz||{{|{{{{z{{{z{|||{{||{{zzz{yz{z{z{|{|{zzz{|z{{{{z|{|||{{{{zzzz{|{||{|{{{{zzz{{||{z||}|{z{{{||zz|{{{{~}|{z{{{z{{||{{|{{|{{{{{z{{{|{||||{{{{{{{{{|||{||}|{z{zz{||{||{||}{{{z{z{z{{{{{{|||{{|z{|zz||{|||{z{z{|zz|{{{}z|{{z{zzz{{y{{{{{|{|{zzzzzz{{{{{|{{z{z{zz{zz{{z{||{|{z{zz{zz{|{{{{{|{zzzzz{{{{{z{|{{{z{{{{zz{{z{{{|zzz{yzzyz{z{{{{z{{{zz{zy{{zzz{|{{zzzzzzz{|z{zy{{zzyzyzzyz{{z{{{{{{{zzy{{y{{{{{{{zzz{zzzzy{{{z{z{{z{zzyy{yzz{|{{{{zzyz{zzz{{{|{{{|{zz{{{{|{|{{{{{{zzz{{y{y{{{{{z{|{zz{zz{zz{{{|{{{|{{zzzz{{{|{{{z{{|{z{z{|{{{{{||{|{{{|z{{{|z{{||||{{zzzyz|{{{{||{{{{{{|zz{|{z{{|}{z{{|{{{{|{{|||{|z|{{{{z|||{||||z{{z{{{|z||z{}|||{{{{{{{||{{{|{||z{{{z{{{|{{{||{{{{zzz{||{}{|{|}|{z{{{z|{{{|}{|}z|{yzz{{{{{{{||||{z{{{{z|{||{{{{{z{z{z|z{|{{|{{zz{{zy{z{z{z{z{{{{{zzzxz{{{{{|z{{{z{{{zyz{{{{{{{||{{zzzzz{{{{zz|{{zzzyzz{{{{{{{{{zz{{zzzyz{{z{||{{zz{zzz{{z{zz|{z|zzzzzz{{zz{{{|{zzzyzzzz{z{zz{{|zzzzzzxyzzz{{z{{zzzzzzzyy{zy{{zzz{zzzyzy{z{z{z{|zzzz{zzyzzzz{{{{{yzzzzzzz{z|{{{{{zzzzyz{{{{{z{{{{z{zyz{{{{{{{{||z{{{{zzz{|||||||z{z{zz{{{{{{{}{{z{{{{zzz{||z{{|{{zz{{{z{{|z{|{||{zzzzz{z{{||{}{{{{{|{{{{||{|||}|{z{|z{{z}|{}|{|}{{z{zz{{{||||{z|{{{{{|{{{|{{||{{{z{{{zz{{|{|{}}||z{{z{{{|{|{{|{||zz{{zz{|}{{{{{|{z{z{{z{|{z{{}{|{zzzzzz{}{|{{{|{{zz{z{|{{|||{{|{{{z{zz{{}{{||{{{zzz{{yy{{{{{z{{{zz{z{y{zz{{{{||}{{z{z{{z|{{{{{{|{{zz|zyzz{}{{z{|{{{zzzzzz{{{{{{{{|{zz{z{{{zz{{{{z{zz{yzz{z{{y{{zz{{z{z{{{{z{{|z|zzzzyzyz{z{z{|z{zzz{y{yz{{{{{{{{{zz{z{zz{{{{{z|{{zzzzy{zz{{z{{zzzzzyzzzzz{{{{{{|zz{zz|{yz{z{{{|{{z{y{z{zz{{{|{{|zz{yzz{z|z{{z|{|z{zz{zzz{|{{{{z|{z{{{z{z{{{{{{{{{{{{zzz{|{{{{{|{{z{zzz|z{z{{z{|{{|{{{{{{{{||{{{|zz{{{z{z{{||{{||{zzz{zzz||||{||{{z{z{zz{|{||||{|z{{{{{|{{{|{{|{|}{{z{{{z|||{{{||{{|||z{{||||{{|{|{{{{z|{|{{|{|||}|{{{{{{||{{|||}{zz{z{{z|{|{{|}||{zz{z|z{|{||{|{{{||{z{{|||||{{{{{zzzzyyzz{z{{z{zzzzzzzz{{|{{|{{{z{{{zzy{z{{|{{|{zzz{{zy{{{{{{z{{|{yzzzyz{{|{zz{z{zzzzzzzzzzz{{{{{zy{zzzz{{z{{{z|z|y{zzz{{{{zy{{{zzyzzyzz{zzzz{z{zzzzzzzz{{z{{y{z{zyzzz{z{z{{z|{zzz{{yzyzzzzz{{{|zzzzy{zy{z{zzz{zzzzzzyyzz{{{{{{{z{yzzzz{{{z{z{{z{zzzz{{{{{{{{|{{z{z{z{z{z|{z{{|{{{z{yzz{|{z{{z{{zzzzzzzz{{{{{|{{{z{{zyz{{|{z|{z{z{zzzyz{{{{|}{|z{{zz{|{{{{{{||{{zz{z{z{{{{{{{|{{z|{{|{{||{|{||{{{|{z{{{{{{||}|{||{{{{|{||||{||{{{z{{{{{|||{||{{{z{z{z{{{||{|{{}|{z|{{|{|{{{{{|{z{zzzzzz{{{{z{|{{{{{{{{{{{{|z{z|zzzz|z}{{{|}}||{zzzz{zzzz{||z{|{{{{yzzyyz{{|z{|z|{zzyzzyy{zzzzzzzzzzzz{zz{{zzz{z{zzzzzzzz{{{z{zzzzzzzzzz{{z{{{|z{zzz{zzz{|{zz{{z{zzyzzzzzzz{z{{{zzzy{yzzzz{zz{{z{zxzyzyz{{{{{z|{zzzzyzzzz{z{yz|{zyzzzyyyzz{z{{{{zzyyzzzzzz{zzzzzz{zzyzzyz{{z{z|{zzzz{zzyzzz{zy{{{yy{z{{z{{z{{{{{zzzzzzzz{{|{|{|||{zzzz{zzz{{z{{z{{z{{zzzz{{{{{|{{zzy{z{z{{{{z{{{{z{zzzzz{{{{|{|{{{zzy{|{{z{|{{||z{{z{{zz{|{|{{|{|z{{y{{z|||{{{|{yz|{z{{{{{{|{{|{|{|{z{{z{|{{z||||z{{zz{||{{{{{{{{zzz{|{z{z|{{|z||{{{zzz{{|z|{{{{zzzzz{z{{z{z||zz{{{{y{zz{{{{|{|{{zz{z{zz{|||~|{{z{yyzzzz{z|{{{{|{zzz{{zz{z{zzz{|zzzzzzzz|z|zz{{{zz{{zyz{z{{{{z|{z{zzz{zz{zzzz|{|{zzzz{zzyz{yz{zz{y{{zzz{z{{zy{zzzzzzzzzzz{{zz{z|zzyzzzzzz{{zz|zz{{zyzzyzzzzz{y{zzzzzyzyyy{zz{zzzzzzzzyzzzzz{{zz{{zyyyzzzz{{zy|z{{{zzz{yy{z{z{{|z{{{{zz{zz|{{{{{{zz{zzzzz{{{{z{zz{{z{zzz{{z{{{{z{{z{{zz{{{|z|{|{{{zzzz{zz{zz{{{|zzz{zzz{z{||{{{z{z{{z{zzz{{{{z|{|z{{zzz{z{{zz{z{{z|z{zzzz{||||{|{|z{z{{{zz|{z{||{{z{{z{{{{|z{{{|{{{{{{zzz{|{|{{|{{{{{zz{{{||{{|{{{zy{z{{{z{{||{{{{{{{{{{z|{|||||{{{{z|zzz|{|z|{{{{{zz{zzz{{{{{z}zzz|zz{{z{|||}{zzzzyzzzzzy{{z{{{{{{{zzzz|z|{{{|{{{z{zzz{y{zz{{z{{z{zzz{yzzz|{z{|{zzzzzz{zz{|z{{z{z{zzzzzzz|{y{{zz{zzyzzzz{|{{{{zzzzzzzzzz{z{{{z{zzz|zz{zzz{z{{{{{{zyzzyzz{z{zzzzzyz{zzzzzzz{{z{{{zzzzyyzzzzz{z{{{yzzzzzzz{|{{{{z{zy{z{y{zyzzz{{{z{{yy{zzzz{{{{{{{{zz{{z{z{{z{z|{|z{zyzzzy{|z{{{{|z{z{{z{y{{{||{{{{{{{z{{z{{|{{||{{zyz{{yzz|{zz|z{{{z{{{{zz{{|{|{|z{{|z{|{|{z||||{{{y{z{z{{||{|{{{|z{{{{z{||{||{{||z{zz{z{{{z{{{||{{{{z{{{z|{|z||||{{{{{zz|{|{|||{{zzz{{{z{|{{|{||{{|||{z|||{|{|||z{zzzz{|{{{|{{|{{z{z{{{zz|{{|z{{{{{zz{{z{}|}}{{{|zz{{{{zz{{{{|{{z{zzzz{{{{|{{{z|zzzzzzyz{{{z{{{{{{zzz{{{{{{zzz{|z{z{z{{z|{{{{{|{{{zz{zzz{z{z{z{{{yyzzzzz{{{{{z{{zzzyz{zz{{{z{{|zzzzyzyz{{z{z{{{zzzzzy{z{z{{z{{{|{zzzy{zyz|{z{{{|z{yzzyzzz{zz{{{{z{zzzzy{z{z{z|{zzy{z{z{zy{|z{{{{|zyzzzz{{{{{z{{}z{zz{zz{{{{{{{{{{zz{zz{y{{{{{{{{{{{z{zzz{{z{}}z{{{{{zzzz{{{{{{|{{zzz{{{z{|{||{{|{z{{z||{{{|{{{|{{{{{{{{z{{|{|{|{|z||{{{zz|{||{|z{{zz{{{{{|z|{|}{{{||{{{{|{|{||}}|{{{{||{{|||||||{{{||{{{}{{|||{|}{z{|{{z|{|{|{{{|{{{|z{{|||}||{|{{{{{{{{{{||{{{|{{yz|zz{{{{{||||{|{|{{{{||}}~{{{{{zz{zy{{{|||z{{z{{{{zy{{{{||zz|{{zyz{zy{{{{|{{{{yzzz{{{z{|{z{{{{{{zy{{z{{{z{z{|zzz{{z{{{|{{{{|{zz|z{zyz{{{zz{zzzz{zz{zzz{z{zz{{zz{yzz{{{z{{z{{{zz{zyzzzzy{{|{{|{z|zzyzz{z|z{z{{zzzzzyzzz{{z{|zzzz{z{zz{zz{{z||{zz{zz{zz{|z{z{{z{{z{z|zzz{{{{{||zzzz{z{zz{z{{{|{{z{yzy{{{{{{z{{{zz{{{zzzz{{z{|{{|zzz{{zz|{|z{|{||{{{zz{{|{zz{|{|{z{{{{zz{||||||{|{z{{{{{{}{{{{||{zz{{z{{|{||{{|{{{{z{{{{{{|{{||}zz{{|{|z||||{}|||{{zz|{{{{|||{}{{{{|{{|{{|{||||{}{{{|{z||{{|||||{{{{|z{{|||||{|{|{|zz{z{{{{{{||{{{{{z{{z||{|||||z{{z{{{{||}}~{{|{zzz{y{z{|{{{|{{z{{{zyz{z||z{{{}z{zzzz{y{{{{||{|{{{{{{z{{{|{z{{||{{yzzzz{{{{{{{|yzzz{zzzz{{{{{|{zzz{zz{z{z{yz|{|zzzyy{zy{{z{{|{{{z{z{yzyzzz{{{{{z{zzzyzzzy{{{{||zz{zzz{yz{{{z{z{{zzy{y{yzz{{zzzzzzzzzzzzy{{{{{{{{zz{zzyyy{{{{z{{zzzz{zzzz|{{{{z|zz{zzz{z{{|{{|{{z{zzzzz{{{{{{z{{{z{{zzz{{{{|}{{{{z{zzzzy|{{zzz|{{{z{{z{y{|{||{{{{zz{{{z{{{|{{{|{{{|z{{{{{{{{{|{{{z{{{z{{{{|||{z|{{{|{{{{|}|{{{|{|{||z{|{{{{{{||}||{{|{{{||||}|}|||{|z{{{||||{{||{zz{zz{{{|||{|{|{z{||z{|||{|{{||{|zz{z{z{{z{{||{{{{z{{{z{{|||{{|{{{{{{{z|}}|}|{zzzyzzzz{zz|{{{z{{{{{{zzzz{|z{{{||zz{yzzzz{zz{{||{y{{zyy{y{{{z{{{{{{{zz{z|z{zz{{|zzzzzzzyz{z{{{{{zy{zzzzzz|{{{{z|{{zzz{zz{zzzz{{{zz{zzzyzzzyzz|{{zzzzzzzzzz{{z{{{{z{zzyzyz{{{{z|z{{zy{zzzzz{z{{{{zzzzzzzz{{zz{{{zzzy{zzzz{zz{zz{{{zzz{zyz{{{{{{{{{{zzyzzzzz{{z|{|{{{yz{z{z{|{{{{z{z{{|zzzz{{{{||{{zz{z{zz{||z{{{|{{{{zzy{||{{{{z|zzzz{zz{{||||{|{z{{z{{|{{{{{|{||{z{{z{zz{|{{{{{{zz|{|{|z{|||||}|{z|{{{{{{||{{||}|{|{z{{z{|||{||||{{|zz{{|{{||{{{z{z{{{{|{{{|{{{}|{z{{{{{{|{|{{{|{zzzz{{{z{{{{{{{{{{{zzzy{{|{{||{{{zz{{z{z||{~{zz{{yzz{zzz{{{{z{{{{zzzzzzz|{|{||{{z{yzzzz{z{zz{||{z|z{zyzz{{|y|zz{zzy{zzz{z{z{{{{zzzyzzzz{|{yz{{{{zzzzzzz{{{zz{{{zzz{zyzy{{zzz{{{z{z{zyzzzz{{{{{{{yz{zzzzzzz|z{z{zzz{y{z{{{{z{{{{zy{z{zzzyz{{zz{|{{zy{zzzz{z{{z{zz{{{y{zzz|{|{{|z{zz{{zzz{z{{{{{{z{{zzz{{{{z{{{{|zzzzzz{z{|{{{{{{{z{zzzzz{|{{{|{{z{zzzzz{|{|{{z|{{{z{{{z{z{||{|z|zz{z{{{|{|{|||{|z{{{zz{{}|{|{|{|{{{{{zz{{{|{|{||{z{{{|zz|||{|||{{{|{z{|{{z{z||{{|{{{{{{{{|||||||{z|{{{|{{|{|{}{||{|{|zz{{{|z{||{{{zz{{{z||{{||||zz{zz{y{{|z{{{|{{{zzz|{zz{{z{{|{|{{z{{zz|||||z{zzzzz{zzzz|{z{{{{zzzz{zyzzz{{{{{|z{{zzzyz|{z{{{{{zzz{zzyzzz{{{|zzyz{zyzzzz{|{{{{{{yzzzzzy{{|zz{z{{zzzzyyz{{{{zz{z{{z{zzyz{z{{z{|zzzzzzzzyzz{{{z{zzyzyz{yzz{{z{z{|zz{zyzzyz{{|{z{{yy{{zy{zzzzzz{z{{zyy{z{zzzz{{{{zy{zzzzzzzzzzz{{{{{zz{yzzz|{{{z{|zzz{zzz{z{{{{{{{zzz{y{{zzz|{z{{{zz{z{|zyz}|{{|{|{zzzzzzz{{|{z|}|{{{{{zz{{z||{{{{{{{y{{zz|{{{|{|{{{{{{{{{||{|{|{|z{|z{{zy|{|z|{{z|z{z{z{z{{{{|{||{{|{{{|z{{|{||z{|{{{z|{|{||||||}{{{{{z{z{|||{}{}|{{{z{z||{{{|{||{{{{z{z{{|{{{|{|{zz{{z{{{{|{{||{{{{{|z{{{{||{||{{{{zz{{z{||{|{{z{zzyzzzzz|{z{z{{zzzzzzzzz{{{{z|z{{z{zzzz{z{z{{{{{z{y|zy{z{|{{{{{z{zzyz{yzz{zz{z|zz{{zzzzz{|zz{zz{yzzzyzyz{{{{{{zzzz{y{zzz{z{zz{{zzyzzy{zzz{{{z{zzzz{zyzz{{{yy{z{z{zzzzzzzz{zz{{|{zyyzyyzyzz{z{z{{{zzzyyy{z{yz|{z{z{zzzzz{zzzz{{zzzzzzzzz{{{{{z|{zzzzyzzy{{{{{{|{zz{{zz{{{z{{{|z{zz{{zzzz{z||{{{z{z{y{yyy{{{{z{{{{z{zzzz{{{{{z{|{zz{z{{{zz{{{||{|{{{{{{zz|{z{z|{{{z{{|{zz|{{{|{z{{{z{|zz{z|{||{||{{{z{zz{{{{{|{}{{{{{{zz{{{{||{{{{z{{zz|z{{{{{|{|z|yz{{{z{{z{{{{|{zz{{zz{{{{{||z|{z{zzzz{{{{{z{{{{zz{{z{{{{{{{{||{{{zz{{{|{||{z{{{zy{zzzz{{{z|{z{{z{z{zzyz{zz{{|{z{zzzz{y{{{{{{{zzzz{zzzz{z|z{z{y{{zzzyzzzz|z{z{|zzyzzz{yz{zy{z{{{{zzzyzzzz|zy{zzz{{yzyzzzz{zzzzzzzzyzzzy{zzz{{{zzzyzyzzy{{{zzz{z{zzzyzzzz{zzz{z{zzzzzzzyzzz{zzz{yzzy{y{zzzzz{{z{zzzzzyzzzz{zzz{|{yzyzzyz{{z{{z{{zzz{yzz{zz{{z{{{zzzzzz{zz{z{z{z{{z{zzzzzz{{{y|{z{z{zzz{z{{{|z{{{{zzzzzzz{z{{{{||yzzz{zy{{{{||{{|zz{z{zzz{{{{{|{|{{{{zzzz{{{|{{|{{z{z{{zz{|{{{|{|{z{{{zzz{{||||{|{z{z{{|z{{|{{{{|{z{{z{{z{{|{{{||{zzz{{{{{{z{z{||{{z{{zzz{|{{z{{{{z{yzzzzzz{{zz{{{z{zz{zzz{z{z{{{{{z{z{{y{{{{|{{{zzzzzzzyz{{zz{{zz{zy{zzz{{{{{{{|{zz{zzzz{z{z{{{{|zzzyzzz{z{{{{|zzz{yyzzzzz{zz{|{zzzzzzzyzz{{z{{z{zzzzz{z{{{{z{|zzzzyyzzzz{{{{{z|zzzzzzy{z{zz{{{zzzzyyzyzz{{{z{z{zzzz{zyzzyzz{{{{zzzyzzyzz{zzz{{{yyzzzzyyz{z{{{{z{z{zz{zzz{zz{z|{{zzzzy{zz{{{{{|{{yzzzzz{zz{{{{{{{{z{zzzzz|{zz{|{{{{{zyzz|{{|{{{|{z{yzzyz|{{|{{|zzyzzzz{z{|{{{{{{{{z{zz{z|{||||{zzz{{{{{z{z{{{{{{zz{{{{z{{|{|{{|{{{{|{z{z}||z{{||{|{z{{{{{{z{{{|{{{{z{{|{{|||{{||z{z|{{{{|{{{|{|{{z{{{{{z{{|{||||{z{{z{{{{{{{{|{|{{{|zz{z{{{{{{{{|{y|zz{z{|{{zz||{zz{{{{z|||||{|{{yzzzz{{{{z{||{{{z{zyy{{z{{{|{{{z{zzzzz{{{zz|||{zz{yzzzz{{{{z{{{z{zyz{zz{z{{|{{|{{zzzzzyy|{z{|{{{z{zyz{{z{z{zz{{zyzyzz{zz{{{zzz{zzzzzz{z{|zzz{{zzzzzzzzzz{{{{z{zzzzzyzzyzzz{{{{z{{zzyz|z{zz{{{{z{zyz{{zzzzz{z||{zz{zzzzz{{z{{{{|zzzzz{zz{{{|{{|{zzzyz{zz{z{{{{z{zz{z{{z{{{{{{{{{|z{{{{zz{{zzz{{{{z{zz{zz|{{{{{|{{{yz|{zy{{|{{|{|z{z{{{{{{||||{|}z{|{{z{{|{{|{||}{{{|z{z{{{{{{{}{|z|{z{z{{{{{{}}|{|{{{|}{z|{z{|||{{{{{|{{|||{{||{||{{{{z{}|||{{}|{{z{{{{{|{{{|||{{|{{{z{{{{{{{{{{{{{z{zz{{{z{|{|||zz{{zz{{{{{{||{zz{z{{|z{|||{||}|z{zzz{z|z{{{{|{z{zzzzz{{{{{z|||{z|{z|{zzz{{||{{{{{z{zzz{{||{{{{z{{zz{{{{z{{z|{|{{{{z{{z||{z{|||{z|{{z{z{z|z|z{{z{||zzzz{{{{{{|{{zzz{zzzz{{|{{{zz{zzy{{z{{z{|{{{z{{{z|zz|{{|{z{|{zzz{zzzz|z{{|{{{z{y{zzy{{z{{{{z{zz{z{zz{z{{||{{{{{{zzz{{{{|{{{{{z{zzzz{z|{{||{|{{{{z{{{||z||}|||{{|{zzz||{{{|{|{z{{{{{{|{|{{{}{zz{{zzzz{|{{{||{|{||{{z{}|{|||||{|{|{z{{{||{{{}{{}{}{{z{{||||{|||z{{|{{|||||||}}{{{{{|{{||}||||}|{|{z|z{||{||||||z|}{{z{{||}|}|||{|{|{{{||{||||||{{{|{{||}|||}|||{{{||||{{{|||{{{||z{{|{{|{|{|{||{{|z{{z{{{{{|{||{{{{{{{{||{|{}{{{{{{zzzz|{{{{|{{{{z{{z|{{{|||{{|{{{{z{{{{|{{{{|{{zz{z{{{{|{{{{{z{{{{{{z{||{{||z{{z{{{{z{|{{{{{{{{zzzz{{{z||{|{{zz{{{zzz{{{{{{z{{zz{{{zz{{|{{{{|{{{zz{zz||||z|{|zzz{zz{{{|{{{{|{{z{z{y{{zz{{{|{{z{{{z{{z{||{|{||{{z{{{{{{|{{|{{|zz{{z{|z{{||{{{|z{{{z{{{|{{{{{|{||{{{{{{{|||||z||{|{{{{z{{{|{{{|{{{|z{{{||||{|||{{{{{{{{|{|}|{{{{|z||{{z||{||}}|{{|z|{{z||||{||||z{{{{{|{|}||}||{{{|{|{}|{|||}||}z{{{{{{|}}|}|}||z{|{{||{|||||}||{{{|{{z{{||||}|{|{}||{{|{|}||||{{{{{{{|z||||{{||{z{{{{|{{{||{||{{|{|{{{|{|{|{|{{{{|z|zz|||{{{{|{z{z{{z{}|{{{{|{{{{z{{zz|{{||{|}|z{zzzz{{|||z{|{{|{z{z{z{|{{{|||{y{z{{{{{{{{{||{{{yz{|z{{{||{||||{{{{z{||zz|{|}{{{{{zzz|z{{{{|{|{z{{zz{{{{{z|{{{{{{z{{zzz{|{|{|{{|{{zzz{{{|{{{{|{{{z{{zz{{z||{{{zz{{|{{z{{|||{|{|z{{{zz{|||{{|{{{{z||z{{|{{||{{{{{|{{z{{|||{{|||{z{{{z|{||||||||{{{{{|z{||||{{||{{z{{{{{}||}||{{{zz{|{{|{|||||||{z{|{{|{|{{|z|}}||{|{{zz||||{{}{{{|{||z{|||||}||{||{{||{{}||||}}|{|||{{||||}{|}}|{||{}|{{||}|}}|}zz{}z{|}||{||||~|{{||{||{||||||||{z{||{|||{|{}}{{{|z|{{|{{|{|||{{{{|zz||{{|||{||zz{zz{{{{{|{{{{|{z{{z|z{{{|{||}{{{z{{{|{z{z{||{z{{{{{z{{|{{|{||{{zz{{|{{{{{|{z{|z|z{{{z||{z{|{{{{{{{{{z{|{z{|{|zzz{{{z{|{{{|{{{{zz{zz{{z{z{{{{z{{{zz{z|{{|{|{|{{{{{zzzzz{{|{{||{{{{zyzz{z{{{{||{z{zz{zzz{{{z||{{z{{{zz{z|{{{{|{{z{{z{{{||{|{|{{{{||{z{{{|{{{||{{{{|{z{z{{||{||{||{{{z{{{{{{{||{|zzz{zzzz||||||{|{z{{{{{{}{|}|z|{|{{z{{{|}||||||{{{{{|{{{|{|}}}|||z|{|{{|||{}{||}{{{{|z{{||{|{||{||{|{||{}|{|||}}}{{{|||{}||{|||||{|{{{{|{|||{|}{{{{||z|||}||||}||{z|{{||{|}{|||||{|z{zz{{|{|{||||z|z{{{||}}||{||{|{z{|{{|{||{z{z{{{{{{{{{|{||{|{{z{|zzz{{{|{||||{z{{zz{|{|{{{|{{{zzz{y{z|{|z{}|{z{{zzz{{|||{{{|zz{z{{z{{||{{|z{zzz{z{z{|{{zz|{{{|zz{zzz{{{{{{{{{z{{{z{zz{{{{{{|z{z{z{{{|{{{{||{{z{{z{zzz{||z{{{zzz{{zyz{{zz{{{z{zzzzz{z{{{{||||{z{z{zz{{{z{z|||{{|{{z|{z{{{{{||y{{{zz|z{z{{{{{{{{z{zz{{z|{{{{||{z{{z{{{{{|{{||{{z|{{{{{z{{{{|{||z{{{{{z{{{{{||{|{{|{|z|||||{{{{{|{{z|||{{|||}}||{{||z{{{||}|||||{|{{z{{|}{|{{|||{|||||{||||{||{|{{{|||{{|||{|}{|{|{|}{||}||}||||{{|||z{|||{|||}|||{|z{{||}}||{|{|{zz|{{{{|||{|||z{{{|{{|{|}{|}|{z{{{{{{|}}{||{{{{zz{{zz{z||{{||z{z{{{|{|z{{{{{{|zz{zz{z{zz{{{{{{z{{{zz{{{|{{|{{{{{|z|zz{{|{z{{|{zzz{{{{{{{z|||{{{{{{{{{{{{{{|{{zz|z{zzz{{{{{{{{zz{z{{zz{{{{zz|{{zz{{zyz{{z{|{{||zz{yz{z{{{z{|{|{z{|{z{zzz{zz{|{{z{{{{zzz||{||{{z{{{{{{y{z{{{|}{|zzz{z|{{{z||{{}{{z{{z{z|{|yz{|||{|{{{{{{|{{{{|{{{z{{{{zz{z{{{}|{{zz{{z{{|{|{{}{{{{{{{{{{{|{{||{{{|{{z{{{|{|||}{{||{z{|{|||{|{|||||||{{{|{}||||||z}{z{z{||{{}{{||{{|{{{|{|{{}|}||z{{{|{|{}|{||}}|{{{{{{||||}{}|||{{{||{||||{|||}||zz{|{{||{|||||{{z{{{{||||{z||{{{{{||{{{|z{|{}|{{z{z{{z{|{||{z{zyzz{{zzzz{{{||{zz{zz{zz{{{z|||{{z{z{{z{{{{|{||{|z{{z{{z{{{|{{|{{{{{z{zy{|{{zzz{z{z{{z{z{{z|z{|z{zzzzzzz{{||z|{{zzzzyz{|{{{{{{y|{zzy{z{{{z{{{{z{{zz{{{yz{{{{{z{{{z{zz{yz{{{{{z{|{zz{{zzzyzz{z{{{z{{zzz{{y{zz{z{{{{{z{{{{zz{{|{|{{zzz{zzz||{|{{||{{zzzz{{|{|{||||zz{zzz{{{zz||{|{{zzz{{{{{||||{|{{{z{{{{{{{{{||{|{z{{{z|z{||{{{||{{{zzz{{{{{|||||{{|{{z{{{|{{{|||{{{{z{z{{{||{|||{z{z{{|{|||{{}|}{z|{{|{{{{{{||}||{{|{||{||{||{{|{|{{{{{{z|||||{{{{{{{{|{{{||}{{||{{{|{|||{{{{}{|{z{{{{{{{{|{{}|||zz{{{{z{{{{||{||{{{zz{z|{|{}{|{{{{z{|{z{{|{{{||{zz{{{z{{{|{{|{{|{zz{z{z{{{{{{||{}{z{z{{|{|{|{{|{{{{{z{{|||{|{{|z|{z{{{z{{{z{|{|z{zz{{z{{{{||{{}{zzzzy{{{z{{z||{zzz{{zzz{z{{{{||{z{zz{z{{z|{{{{{{{yzzzz{{{{{{{|{zzzzzz{zz||{{{|zz{zzz{z{{{{{{{|z{zzz{{zz{|{||{{{|z{z|{{z{{{{|z|{{z{{{{{z{{{z|{{}z{||zzz{z{{||{{|{{|z{z{{{}{{{||{{{{|{{z|{{{{{{{{zy|{zzy{|{{{{{|{{{{{{{||||}|{}||{{{{{||z|{{|{{|}{{z{{{{{||}||||{|{{{{{{{}||{||||||{{{||{{||{||}||{|{{|{{{|||}}|||{|{{z{{|{|||{|||{||{z{{{||}||}|{{{{||z{|{{||}||{{|{{|{{{{z|}|}|{|{{{{{{{}||{||{{{{{{{{{{||{{{{|{{zz{zz{{{|z{{{{z{{|zzzz{|{{{{|{{zz{zz{{|{{{{{{||{|{zzy{||{{{{|{|z{z{zzz{{|z{|{{z{{{zzz{||{{{|{|{z{zzzzz{|{|{|{z{{{{{z{{{z{{z|{|z{z{{{zz{{{{z{{|zz{{zzy{{zz{|{{zzyzzz|z{z{{{z{{{{z{zzz{zz|{{{{z{{{yzyzzzy|{{{{{{z{{zz{{zz|{{{z||{{z{{{{z{{{z{|||{z{{{{{{{|{{{{{|{zy{z{{z{|{|{{{|{{{{{z{{{|{{{|z|{z{z{{{{||||{||{|{{zzz{zz|{||{{{{{{z{{{||||{{|}|{{{z{{{{}z||{||{{{{{|{{|||||{||{|{{{}{{z|||{|||}{{||z|{{{||{|}||{{{{{|{{||{}||{}{{{|{{|{|||{|||||{{{|{|||||{{|||}{{{|{{{||||{{|}|z{|{{{||{|{{{|||z{|{{|{{{{{{||{|{{z{z{z{{}}{||{z{z{z{z{z}|z{{z{z{{zz{|z||z{{|{{|{{zz{{z{{{{{{{|{zzzz{zz{|{||{||z{{z{{{z{z{{|{|{{{{z{z{{z{|z{{|}{z{{z{z{z|{{{{{|{{z{{zz{|{{{zz|{z{{z{z|z{{z{{{|{{zyz{zz{{{|{{{{{{z{{zzz{{{{{{{z{{zzzzzzz{z{{{z{|{{{zzzz{{{{zz||z{{zzz|{zz{{{|{||{{{{{z{z{{||{{{{|{{{z{{|z{|{{|{}{{|{zzz{|{{{{|{{|z{{z{{{{|||||{{|{{{|{{{{{z||{|{{{{{zz{{{||{{|{{{{{z{z{{{|}||{||{{|z{||{||{}||||{{|{{{{z|||}|{|{|{{|{{{{||{{|}}||{||{||{}||||||||{||z{|{{~}{}|}{|||{z{{{{{|}|}|||{{|{|{{|{|}|||}||{{||{{|{{}|{||{{}z|z{{{|{|||||{{|{{z{z|{{|{|}|{{|{z{{{{|||}|{|z{{{|zzzz{}{{{||{z{{z{{z{||{{{|||{{||{{{{{||{{||{z{{zz|z{{{|{{~|{{{{z|{z|{{{{{{|{{{|{z|z{|{{{||{{zz{{{zz{{|{{|||{zzz{{{{{{{{{{|{z{z{{zz{{|z{{||{z{{zyzz{{{|{{{||{zyzzz{z{||{{|{{z{{z{y{{{z{{z|{|z{{{{zzz{{|{|z|||z{{|z{z{{{{{||{{{{{{z{{{{{{{||||z{z{z|{||{{{|{|z{|{{{{{||||{}||z{|z||{{{|||||||{{z{{{z{{{||{{||{{}{{{{{|{|{{{|{{{z{{{z{|}}|{}|{||{||{|{{{|||}}}{{{||{{z{|||{|||{{|z{{{{}||{|||}|{{{{{||{{||||}||{{z{|||{}|||}|||{|{{{{z||||||}||{{{{z{|{|{||{|}}|{{|{|{|}}||||||||{|z||{|||||}|||{{{{{{|}{}|{}}{z{z||z||}}|}{zz|{z{zz{zz{{|{||z{{zzyz{{{{{{|{|{{z{z{z{{{{{{{|||{{{z{{zz{{|{z{||{z{y{z{z{{{{{z|{{z{zz{{zy|zz{||{|z{z{{z{{{|{z|{{{{{{z{zz{{|{z{{zzz{y{zz{{z{{{{||{zzz{zz{{|{{{|z|{{z{zzz{{{{{{|||{z{z{z{zz{{|{{{{y{zyzzz{zz{z{|{|{zzzz{zz|{{{{{{|{z{{{z{z{{{|{||}{{{zyz|{z{{zz|{|z{|{z{{{{|{||||{{{||{{{{{{{{z{{{|z{{{{zy{{}{{|}|{z{{{{{z{|||{{{{{{|{||{z|||{|{||{{{{{{{|{|}}||{{|{||{{|{{}{||{|||{|z|{{{|}||{{|}{||z{|zz{|{||||}|zz{{z{{{||||||{{z{|{{{{||}||{{|{{{|{||{||{{||{||{|{{{{{{{{{|||||{|z{{{{{{{|{|||{{{{z{{{{{||||||{{{{{z{z{{{|{{{|{z{{{z{{{{||{}{{{{{zzz{{{{|||||{{{{{{|{z|{{{{{|{{{zzzzz|{||{{|{||{|zzz{z{{{zz{||{z|zzz{zz|}zz||{{{{{{{{{{{|{{{{{z{{zz{{z{{{{{|||z{{zz{|z{z|{{{|{{{|zz{z{zzz{{{{{{{z{{{{zzz{{{{||{{zz{{z{z{z{{{{zz{{{{z{z{{{|{||z{z{{{zzz{{|||{{{{{{{{z|z{{{{{{||{z|{{zz{{|||{||{{{zz|{z||||{{{{||{{z|{{{{|||||{|{z|z{z{{{{||{{}|{{{|{{z{||{{||{||{{z{{{{{{|||}{{{|{{{{||}|||{}}|{{{{{{{z}{{||||{|z{|{{{||||||}||z||{{{{{{{}||}|{|{|{{{|{{|{|||||{{||{{||{|||||||||{{{|{|{|||||{|||{|||{{|}|||}|||{|z{z{z{{{||||{|{{|{z|{{|z|{{|}{{}z{{{{|||||{{}{z{{yzzzz{{{{{|||zzyyzzz{{{z{|||{{{zzzz{{{z{{{{||||{{zzzz|z{{{|{{{{z{{|y{{{{{{z{{{{{|z{{{z{|z{{{{{{{{{{zz{{zz{{{{zzzz{zz{{{{{{{{zzzz{zz{z|{{{{|{{zzzzzyy{{{z{z{{{z{{zzz{y{z{z{{|{zy{zz{z{{z{z{{|{z{zzzzz{{{{{|z{z{z{{zzz{{{|z{{z{{{zz{z{{{}{{{{|zzzz{{{{{{{{{|{{{z{zz{{{{{{|{{{|{{|{{{{{|{|z{}{{{zzz|zz{{{|||{||{z{|{zzz{||{{{|{|{{z{{z{|{}|||{{z{{{z{{{|{|||||||{z{{{{{z{||{|{{|{{|{zz{|||||||}{|||{|{{|||{{|{||{{|{|{{{}{||||{|{{{{z{{}|{{||{||{{z{{{|{|{{{}||||z{z|{{{z{{||{|z{zz{z{z||||||||{{z{y{{z||}{{|{{{{{|{z{{{{}}{z{|zzzzzzz{|{{{|{{|{{{{{z{|{{|{||||zz{zz{{z|||{{|||{z{{{z{z{{|{{|||{z{|zzz{|{{|{{{||{z{{{{zzzz{{{{{{{{{{{yzzy{{z{z{zz{zz{zzzz{{|{{|zz{zzzz{{{z{z|{{{{zzz{zz|{{{||z{{{{{z{z{zz|||z{|{z{{{yzz{{|y{{{{{z|{zyzz{{{{{{|{z{{zz{{|{|{}{|{|{{{z{{zzz{||{{{{{z{{z{{{{{{|{{||{zz{{{{{{||{{|{|{z{z{z{{z{{||||{{{{{{zzz{{|{{{|||{z|{|z|{{|{|{{{{{{{|{{{{||{{|{{{{{|{z{{{{{|{|||{z{{{zz{||{{z|}||{{{{zz{|||{||||{|{{{||{{{}{||||}{{{{{{{{~{|||{|||{{{{z{}|{|{||}|{|||{{|{||{{{}|{}|{|z{||{{}{||}{||z{{{{{{||||}||{z{{{z{||{|{{||{{{{||{{{|{|||{|{{{{zz{z{{|{|{{z{{y{z{z{{|{|{||}{|zzzz{{{{|{||{||{{{{{{z{{||{z{|{{{yzz{z{|{|z{{|z{{zzz{{{{{z|{{{{zz{{{{{{{{z{||{|{z{z{zz{{|z{{{{z{zz{{{z{{{{{{{{{{z{z{zz{{{|||{z{{|z{{zzz{{{z{|{{zz{{{zz{{z{z|z|{{{zz{zzzzz{z{||{{zz{z{{{z||{|}|{z|{{zz{{{|{||{{{{{{{{{{{{{{||||{z{{yzzzz{{z|{}|{z{z{{{{{|||}||{{{{{z{zz|{{{|}|||{{|{{{{|{{{{}}|||{{{{{{||}{{{||{|{|{||{||{|{||||{{|||z{{|||||||{{z{||{||}|{||||||{|{||{{{}}||}||{z{{{{{|}}}}{|}|{{|{z{{|}}||||~{{||{z|{z|{||}{{{|{{||{{|||||{|}{{{{|{{{{{{|{|}|||z{z{{{{{||z||{{z|{|{|z|||}{|{}{z{zzz{y{{{z{z{{{z{{{{{zz{z{{|||{{zyz{zy{{zz{{|{|{{z{zz{{{|||||{{{z{zz{{{{{{{|{z{zzzz{z{|{{z{{|{z{{{||z{zz|y{{{{{zzzz{z{{{{{{{{zzzyz{z{z{|{{{{{z|zzzzzz{z{{{{|{{z{{z{{z{z{{{z{|z|zzzzzzyy{{{|{{{{{{z{{zy{{zz{{{{{z{{{{zz{z{z{|{{|z{z{yzz{}{{z|z{{{{{zz{z{{|||{{|{{{z{z{{{{{{|{||{|{{{z{zz{{||||{{{{{{{zz{||||{}{|z{{|z{{{z{|{|{{{{y{{{{z{|{{{{{|{|zz{{{{|{{|{|{||z{{|{{{||||{|||||{{{{|z{||{|||}{z{{{|||{|{|||}}}{{{{{|{{}}||||||{{{|{{|{{{|{||}|{{|{{|||||{|||||{zz|{|{||||||||||z{{{|{||||}{{{|z{{{{{{{||{{|||{{{|{zz{{|||{|{{zz{zzyz{zz{{|{{{{{{zzzzz{{z|||{{z{zzzzzzzz{{|{}z{zz{z{{{z{{{|{|{{{{yz{zzz{{z{{|}{{{|{zzz{|}{z|{z{z{yzzz{{z||{||{{{{zz|zz{{{{{{|z{zyy{zyzy{|{{{|{zzzz{{z{{zzz{{|z{{{zz{zz{{{{|{{z{zz{zzzzzz{{|z{{{z{z{{{zy|{{{{z{zz{{{zzzz{{|{{}{zz{zz{{{{|{{{|{{{{{{{zz{{{{|{{||{{{z{zz{{{zz{|{|{|{|zzz{{||{{|{||z{zzzz{|{|z||{{|{{z|{z{z{{{{{||{{|{|z{{{|{{|||{z|z{z{|z||{|{{|{{{{z{{z{{|{|{||{{{z{{{{z||{}|}{||{{zz|{{{|{{||{|{{{{{|{{||{|}{||{{||{{{{|{{|||{|{z{||{{{|{{{|||||{{{{{{{{||{||{{|{{z{zz{z|{{{|{|{{|}{{{{{||{{||z{{|z{{|{{||{z{|z{z{{|z{{{{{z{{{{{z{zzz{{|{z{|{|||zzz{zy{{{{{{||{{zz{z{{zz{||{|{|{z{zzz{{|{{{{|{{z{{z{zz{z{|{{{|{{z{z{zz|zz{z{{{{{zz{{{y{z{{{{{z{z{z{{{z{{{zzz{|{{{{yzzz{{{{|z{{{{zz{yzzz{{{|{z{|{zzyzzzyz{|{{{{{{{z{z|zzz|{{{{||{zzz{z{z{{{{{{{|{{{zz{{z|{||{|{|{z{|z{{z{|{|{|{|{{{{z{{{{{|z{|||{{|{zzz{{|{|{|{|{z{{{|zy{||{{{||||{{zz{{|||{{{}{{|{z{z{{{|{|||}|{z{z{{{z||{||{|{{{|{|zz{||{{{|||{{z{{{{{||||}{||z{{|{{||||{||{|}{{||{{{|||{||||||{|{{{{|||{|{||}|{{|{{z{||||{|}}|{{{{z{{|{{|{||||zz{|{{{|{{||{|{||{|{{zz|{|||{||z{|y{z{{{{|{{{{{{{zzz{{zz||||{{{{{{{z{zz{{|{{{|}{{zzz{{z|{{{{{{|{zzzzzz{{{{|{{||{{zzzy{z||||{{{{{z{zzzzyz||{{{{{y{zzzz{zz{{zz{z{z{z{zzz{|y{{z{z|z{{y{{{z{{z|{z|{{zz{z{zz{{{z||{|zz{{{{zz{{z{{{{{{zz{zyzz{|zz{||{zz{z{{zyz{z|{{|{zz{zz{{yz{{||{||{{{z{z{{{z{{{{{|zz{y{zz{|{{{||{|{z{{{{zz|{{{||}||z{{{{{z{|{{|||{{{{{z{{z||{{{|}{{{{{|{{||{{{{||{{|||||{z|{}|||||{{{{|{{{||{|{||||{|{{{z|{|||||||}{{||{|{{}{|{}||{{{|{||{}|{{}|||}z|{z{{{{}}~||||{{{{{|{{}|||||||}{{{||{{|{|}|||{|{|{{{{{||{||||}||{{{z{{|{||{|}|}|{|{|{{}|{|{||}|{z{{{||{z||||{|{zzz{zy{z{|{{{||z|zzz{{zz|{{{|z||{zz{{{z|{z{{{{{{||zz{z{|{|{{|{{{{zzz{zz|{{{|{{|{{{zz{{{z{{{{|{|{{zz{{{z{zz{{{|{{z{z{z{{z{{{z{{{z{{zzzz{{{|{{{|{{zzzz{z{z{{|z|{{{zzzzz{zzz{|{{{{zz{zzz{z{{{{{|{{{zz{|{yzz{z{{|{{z{zz{{{{{{{{{|{{{z{z{z{{||{{|z{|{z{{z|{{{{{{|{|}z{{{{{z{||{|{}|||{{{zy{y{|{{{{{||{z{z{{{{||{{{|||z{{{{{z||{{{{{{z{{|{{|{z}||{|{}zz|z|{{||{{}{|||z{{y{{{|{||{||}||{||{{|{||||||}}||{{{|{|{||||||}}{||{||{{}|}||}}{{||z{{{|{z}||{||{{|{{{{}|{|}|||||{||{||||||{|}||{{{{{{{{|||{{||{|{{{{{z{{||{|{|{z{z{{z{|{|||{|{{|z{y{{{{|||{{{|z{z{zz|z|{z{{|}||z{zz{{{|{{{|||{{z{z{zzz{|{{{||{{{{{yzzz|{|||{{}{z{{{{{z{{||{||{{{z{{|{z{|{{{|{{{z{yz{z{{{{{|z||{zzzz{{z{{{z{|{{|z{zzzzz{{z|{|{{z{|zz{{zz{z{z{{{{{|z{y{z{{{{z{{{|{{z{zzz{{z{z|{{z{{{zz{z{|{|{||{{{{{{{z{|{{{{|||{{{{{{{|{||{||{{{{{{{{{{|{{z|||{|{z{|{{z{||{}||{|{{{z{{{|||||||{{{{|{{||{||{{}|{{z{{|{{z{{|{|||{{|{{{{{{|{||||||{|{{|{{{||{{||}||{{{|{{||}|}|{||{|||{{|{|{||{|}}|{{{{|{{z||||~||}{{{{||{{|||||||||{{{{z{|{|}{|{|||{|}|{||}}||||}{{{{{{{{{||{{||||z{|{z|{{{|{|{||||{{{|z{||{}{{||{{zzzz{{z{{{{z||zz{zzz{z{{|{|||{|{{z{zz{z|{z|{|||z{{zzz{{{{{z|{{{z{z{zzz{z{{{{{z{{{z{{{z{{z{|{{{zzz{{zzz{{{{{|{{{zzzzz{z{{{{{z{{zzzzzz{z{{{z{{|{{{zzz{y{{{{zz{{|{{zzzzzz{|{{{{z{z{yzy{{{{{{y{|{z{{zz{yz{{{{{{{{|{z{zzz{z{|{{{{|{{{z{zz{z{{{{{{|{{zzzzz{z{|{{z|{|{z|zz{z{{{|{|{||{{z{{z{{|{{{{|||z{{|{{z{{{||{{|{{{{{z{z{||||{||{z{z{{{{{|||{||||{||{|{||{{|}||||{{{{|{zz||{{||{||{{{|z{{|{{|{{|||||{z|{|{|{||{||{{{{|{{|{}|}|||{}{|{z|}||}}}|{||||{z{{z{{{{|}||}|||{|{|{|{||{{||{{{{zz|{{{||{{{|{{{{|zz{{{{|{|{|{{|zy{{{{|{||{z{zzzz{zzz{|{{|{{{zzz{zzzzz||{|{||{{{zzz{z|{{{{{{{zz{zz{z{{{{zz{}|{{{{zz{z{{{|{{|{z{zzz{{{{{{zz{||{z{z{z{z||{z{||{z{{{{zz|z{{z{{z{zzzz{zzz{{{z|{{{{{z{zzxz{|{{z{z{{z{yy{zyz{{{|{}{z{zzzz{zz{{z{{{{z{{z{z{{{{z{{{|{{zz{{{|{{{{z{{{{{z{z{z{{{{{{{{|{zz{|{{zz|{|{{|{|{{|{z{zz{|zz{}{|{{|z|z{{||||{|z||{|{z{{{{z{{{{|{{z{{{{{z{|}{{|||{{zz|z{|{{|||||{{{{{{|{{{|||||{|{{{{{{|{{|||||||{{{z{{{{||||{}|||||{{|{{|||{|}|||{{{z|{{{|{||{}}|z{{{{{{|{{|{{|{|{{z{z{{{|{|}{|||{z{{{{|{||{|{||{|{zz{|{{{{|{{|{{{{{|{{{{{{{z{|{{{{yz{z{{{|||{{{{{z{zzzzz{{{z{|{{{{zzz{zzz|{{|{|{|zzzzzz{z{{{z{|{z{{zzyz{|{zzz{|{|{{zzzz{{|{{{{|{{zzzz|z{{{{{|||zz{zy{{z{{z{z{{{zzy{z{zz{zz{{{{{zzzzzyz{{||{{{{{{zzzzzzz|{{z|||{|z|{zzzy{zz|{||{{z{zzz|{z{{z{{{{{{{zzz{z{{{|{|{|zy{z{{{z|z{|{{|{|{{z|zzz{|z{{|{|z|z{z{{z|{{{|{|{{z{{{{z{}{{|{{}|{{z{zz{{{||{|{{{{{{z{{{z||||{{||{{{{{z{z{{{{{||{{{{z{|{|||||}|||{{|z{||||{{|||||||{{z{z{{}{||||{|z{||{|{||}|}|{}|{{{z{||||}{|||{|{|{{|{{{}{||||||{{|{{{z}|}}|||||z{z{{{|||||{{|}|{{{||{|{{{||||}|{z{z{{z{{{|{||||{zzz{|{{{{||{{{|z|{z{z{{{{|{{|||zzz{{y{z{||{|{{{{{{zzzz||{z{|||z{{{{{{{{{z{||{|{z{zzz{z{z{|{{{|{{{{zz{{{|{{|{{{|z{z{{zz|{z{z{{{{{{{{zzz{{{z{{{|{zzz{{{z{{{z{{||zz{z{yzzz{{z|{{{{zz{zzzyy{{{{{{{zzz{zzzz{{{{|{{{{z{z{yzzz|{{{|{{{{{{{z{zz|z{{||{{{zz{{zy{{{{{z{|{zz{{zzz{{{{{|{|{z{zzz{z{|{{{{|}{{{zz{{z{z{{{||{|{{|{z{z|||{{|{|{{{{|{{z{{|{{{|||{z{{{{z|{|{{|{{|{{{{{{|}||||{|||{z{|{{{||{|{}}||{{{{{{|}{|||{|{|{||{{{{{}}|}|}}|{|{z{|z|||{||}{|||{{|{|z||||}}||{{{{{{{|||||}||}|z{{|||||||{|||{{z||zz{||{{||||z{{z{|{z{{{{{|{||{|{|{|z{||{|||{{{{zz{{z{{{|{zz{{z{{zzz{{{|{{|{|{{{z{zz{zz|{|{{|||zz{z{z{{z{{{|{z{zz{zzz|z{{z{z{z{{zz{{z{{{{{{{{{z{zzzz{{{{zz{{{|y|{yy{z{|{zz{zz{{zzzzzzz{{{{||{zz{yzz{z{z{{{{{{{{{zz{zz{{{z{{{{{z{z{zz{z{{{|{z{{{zz{z{z{{{z{{zz{{z{{z|{{{{|z{{{{zz{{zzy{{{{{{{||z{|{z|{{{{{{{{{zzzz{z|z{{z|{{|{z|{{{y{{{{{{|||{{z{{{z{{{|{{{{{|{z{{{z{z|{|{{||{{{z{{{z|{|{|{|z|{z{{|{z{|{{|{{{|{{|z{{{{{{{}|||||{{{{{zz|||||||}{{{||{{||}{||||{{{{{z{||{||||||}|{z{{{|{{|||{{{|{{{{|{{|{||||||{|{||{{{|}{{|z{}||{z{z{|||{{{|||||{{z{{{{{||{{{}|{|{z{{{{z|{|z|||{{{{{zzz|{{{{{{{z{zzz{|zz{{{{|{zzzzzzzzz{{zzz|{{z{{yz{{zy{zz{{{{{{zzyzy{z{|{z{|{{{zzyzzy{{{z{{{{z{{zzzzzy{{{{{{z{z{{zzy{{z{{{{{{{{{{zzzz{{z{z{{{z{zzzyzyz{{{z|z{{zzzyzzyz{{{z{z{{zzz{z{z{z{{{{{{zzzz{zzyz{{z{{{|zzyzzz{zy|z{{|{z|y{z{zzz{{{z{z{{{{z{{z{{{{{{{{|{zzzz{z{{{{{z{z|{{{zz{z{z{z{z|{||{zzz{z{{{z|{|{{|{z{z{{zz{||{{||||zz{{zzzz{{{{z{|{zz{|{{{{|}{||{{z{{{{{{{|{{|z|}{{{{{z{zz{{|{|{||{{{|{z{{||{||{||{|{||{{{{||{|{||{{{{{{z{|}||||||{{{{{{{{{{{{{|{{|z{{{{z{{||{||{|{{{z|{z{{{{z{{|{{{{zz{z{{{{{{{|{|{{{{z{{z|{||{|{z{{{{{{zz{z||{zz{z{zzzzzz{{zz{{{z{{yzzzy{z{{||{||{zzzz{z{{zy{{|{{zz{{z{z{{zz{{z{{{{y{{{{{{{{{{|{{{zzzzzzz{{{z{{{zzy{{{zz|{|z{{|{{zzzy{zzy{{{||{{{{z{{zz{z{{{{{|{zzzzzzz{{{{{{|{{{zzzzz{zz|{z|||{{zzzzy{{zz{z|{|}{zz{z{zz{{{z{z{{zz{{z{zz{|{z{{{|{{{{{z{zz{{{{|{|{{{zzz|{{{{{{{{{z{{zz|zzz{|{z|{{{{|{{z{{{|{|{|||{{{{z{{{{|{{{z|{|{z{{zz{{|{{{|{{z{{{{{z|{|{{||{{z|{z|zz{|{{|{{||{z{|{{z{|||||||||{{|{{{z|||||||}{{{{|{|{||{{|||||{{{{z{{|}|||||}{{{{|z{|{{||{|}||z{{|{{z|||||||}{|z||{{|{|{||{||{{{|{{{|{{{||||{|{{z{{z{||{{{{{{{|{{zz{z{{{{|{{{{{z{{z{z{|{{z~|{{{{{zzz{{zz{{|||{zzz{z{{{{{{|{|{|{{{{z{{{{z{{||{|{{zzzzz{{{|{{||{z{z{{zz{{}|{||{{{{zzzz{z{{{z{z|{|{{z{z{{y|{{{{{zz{z{z{{{{{{{{|{{{{zz{z{{||{|{{{{z{{xzz{z{{{{{|{zy{{{{zy{z{|zzzz|{z{{zz{{{{z{{||zz{{{{{z{{||z|{||z{{{{{z|||{z{||{{{{z{z{{{{{{|||||{z{{|z{|{{{}||{{{{z{{|{|{|{{|||z{z{{|{|{|}|{}{|{z||z{{|{||{{|{|{{z{{{{|||{||||{z|{|{{|{||||||}{{{{{z{|||||||}||{{|{{{{|}}|}||||{|{{{{|{}|z{}|||}{|{|{{|{}{|||||{z{{{{{||{{|||}|z{||z{||||||{}||z||{{|{{{|{|||}z{{yz{{z{{{|||{|||{{{z{{{||{|||||{{z{z{z|{|{|{z{zzz{{{{z{{{{{{{|z{{{{{{z{{{|z{{{z{z{zz{|||{{{|{|{{{{{zzz{{{{{||{{zzz{z{z{z{{{|{|zz|{z{z{{{|{z{{{{|zzzzzz{{{{z{{{{{{zzzzyzz{{z{||zzzzz{{zz{|{{|}zzzzz{zyz{z|{{|||{{|{zzz{{{{|{z{{z{z|zzz{z|z{||{z{{zzzz{{zz{{{|z|z{{{z|{y{{{{{{{|{{zz{z{{{|{z{{{|{z}zz{y{{|{{{z|{|{||{{{{{{|{|||||{{{{y{{{||{{|||||{z{{{z|||{{{{|{z{{z{z{|||{|{{|{|{z|{z{|||{{}{{{|z{{{{{||{|{|}||{{{|z{{z{{||}}{|z{{|z{{{||{}|}|{{{{|||{{{{{}{}{|{zz{||||}||||||{{{{{{{|||{|||}||zz||{|||||||||||{z{{{{{{|||{|}|{{|{{zz{{{{{{|||{{z{{zz{||{{z{{|{z|z{z{{|}{{{|||{{zzz{zzz{{{|{|{{zz{z{zzz{{|{|z|{{{zzzzz{{{z{z|{{z{{{zzz{||{z|{{{zzzzzzyz{{{{{z{{{z{{{{zz{|z{{{{{{{{zz{zzz|zzz{{{zzzz{zzz{z{z{z{yzz{zz{zz{{|z{|{{zzzz{zz|zzz{z{|{|z{zzzzz{{{{||z{zzzzyzzz{{{{{{|{zzz{zzy{{||{{{{{{zz{{{zzz{{z|{{|y{|z{{z|{{{{{||{z{z{yzz{{{{{{{{{{{{z{{z{{|{|{|{{{{{|z{z{{{|{}{{{z||z{{{|{||{{{{{z{zzz{{||{zz||{{|{{{|{{{{{|{||||z{z{z{{{|||{|{{{{{||zz{{}{}{||}{{{z{{{|{}|{{|||{|{|{{{{{}|||||||zz|{{{{{|||||}}|||{{{{{|}|{{|{}|{|{{{{|{{|{{||||{|{|{zz{{|{{||{{|{{|{{|{{{|{|}|{{{|{{{{|}|{{{{|{z{z{{{y{{{{|{{{zy{{{z|z|{z{{{{|{{zz{zz{{z{{{{{|{zzzz{zz|{{z{{{{{z{zzz{{{|{|{z{{|{{z{{zz{|{|{{{|zz{zzz{z{{z{{{{{{z{zzz{zz{{|zz|{{{z{z{zz{z|z{{{{z{z{|{zzz{{{{{{{zzz{{zz{{|{|{{{{y{zzzz{y{|{z{{{{zz{{{yzz{{zzz{|{z{zzzzzyz{zz{{{|zz{zzzzzz{|{{{{z{z{z{z{|{z{{{{||{{{{{{{z{{{|{}{{|{zz{{zzz{{|{|{||z{z{z{{{||||{{|{{{{{z{z|{{|{z{||{z{zz{{{{||{{{z|{z{{{{{{{|}{|{|{{|z{{{|{{||||||{{z|{z{z{||{|||||{{{{{{z|||{}||}|||{{||{{|||{|{{|{{{{|{|{||||{||}{{|{{z||||{||}{}{|{{{z{{}|{{|{|{{{z{zz||||{{{}|{{|{{{{z{|{|{{||{{z{{{{{{|||{|{{{{{{{z{z|{{{{{{{{z{{zzyz{{|{|{{|z{zy{{zzz{{{{||{{{{z{{{||{{{{z{{zz{zz{{{zz{{{z|z|{{{zz{z{{||||{}zz{{z{zz{{|z{{{{{z{zzz{z{z{zz{|z{{zzzzz{z{{{z{{zzz{z{{zzz{{z{{{{z{zzz{{{{z{{{z{zzzzzz{zzz|{{{{|{{{zz{zzzy{|{{z{{{zzz{zz|{|{{zz{{zz{{{|{z{{zz|{{{{z{zz{{{|{{{{|}{zz{{|z{{||{||{|{{z{{{zz{{{{{||z{|{{z{|{z{|||{||{|{|{zz{{||{{|{|{{{{{{z{{{{{{{{{z{{{z{|{{|}|{||{|{|{{{{{{{{|{|z}}|{|{{||{|}|||||{|{{{{{|z||{|||}|{{{{zz|{{|{{}||{}{{{{{{|||||}{||{{{{{|{{|||||}{{{{||{{{|{|{|z|||||z|{{{|}|||||||z{{z{z{{{{||}|}||{{zz{|z{|||{||{{z{{z{{z{z{{|{|{z{{zzzzz{{z|||{{z{zz{z{{|z{{||||{{zz|zz{{z{{{{||{z{zzzz{{{{|{{|{{{zzzz{{{{|{{|{|{{{z{z{zzz{{z|{{z{z{{z{z{{{z||z{|{{zz{zz{{zz{z|{zz{zzz{z{z{{{{{{{zy{zzyz{{z{{|{|zz{{y{{z{{{{{{|{{{z{zz{zz{z{z{{||z{zz{zzz{{z{|{|{zzz{zzz{{{{{{{{{zz{|z|z{{|{||||{z|z{||{zz{||{|{z|{y{{|z|{{|{|{|z|{|z{{z{{{{|||{z{{{z{{z{{{{{{|{|{{|z{z{||{{{||{{{{{{{z{{|{||{{||{|{|{{z|{||{|||{{{{z{{{{||{{|{{{{{z||{{|}|{||{|{{|{{|||{{|||||||{{{{{|{|}{{|||||z{{{|{{|||{{{||{z|{|{z{||}|{|}}{{z|{{{{{||||||}z||||z{{z|{||{|z{{|{|{{{z{{{{|||||{{{{{z{{|{{{z|{{zzzy{y{{{||{{z{z{z{z{y{|{{{}{|{z{z{zzz{z{{{{{z{{zzzz{z{{{|{{{|z{{z{y{z|{z{{{{{zz|zz{{zy{{z{{|z{zz{{zzy{{||z|{{z{{yzzz{{{z{{{{|zyzzzzzz{{{zz{{zzz{{zzz{{|{{{z{{zz{{zzz{z{z{zz|{{{{y{zzzyzzz|{{z{zzzzz{{{z{|{|{{{z|{z{y{{{{|{{{{{zz{zzzz|{{{{{|}zz|{zz{{{{z{{}}|{|{{zzz{z{{||{z}{{{z|z{{|{||||{{{z{{{{{z|{{|{|}}{z{{{{{{|{{||{|{{{{{{{zz{{|||{||{{|{|{{|{|z|||{||{z{{zz|||||{{{{|{{{{z{{}{{|||{|{{{{}{}{{{{{||{|{{{{{{{{{||||||{{z{|{{{|{{||||}||{{{||{{{}|{||}|{{{{|{{{||{|||||{{{{{{|z|||{|{|{{z{z{z{{|{{{|{||{{{{zzzz{{{{{{|{z|zz{yzzzz{{z{{{{z{zzzzz{z{{|{{{|z{z{|{{{{{{{{{||zz{{zy{z{{|z{{|z{{z{zzy|z|z{|{{zzzz{z{zz{z{zz{{{z{zzz{z{{{{{{{{z{zzzzzzz{{zz{{{{zzzzzzyz{{{{|{{zzz{z{{zzz{z{{z|zz{{z{zyz{{|z{{z{zzz{yzz{|{z{{{z{{zz{zyz{|z{{{z{{z{zz{{zz{|{{{|{{z{{{z{z|{{{|{{|{z{zyz{z||{z{||{{{|{{z{z|{{||{||{{z|{z{|z|{|{|z{z{{|zz{z{{|{|{|{{{|zzz{{{{}{{||}{{zz{{{{|||||||{||{zz|{z{{z|{{|}||{|z{{{{{|||||{|{{|{|{{|||{{}||z{{{{{|{{|||||||{{{}{{{{{}{{||}|}{{||{z{||||||{{|zz{{{z|{{|{{}||}z{{|{{{|||{}||{{{zy{{{zz||||}}||||{zz{{{|}{{{||{z|z{{{{{|{|z{{z{zzzzz{z{{{z{{{{|yzzzy{{|{z{z{{{{zzzzz{z{z{||{{|zzyzzzz{|{||{{{{{}{zzz{z{{zz{{||{{z{zz{z{{{{z{zz{zzzzzz{{{|{z{{|zzzzz{z{{z{z{{{{yzzyzz{y{{{{|z{{zz{zy{zzy{|{{{z{{zz{{yzz{|{{zzzz{{{yzzzzz{zz{{z{zzzy{{{yz{{z{{{{{z{zzzzzz{{|{z{{{z{zzzzzy{{{{{{{zzz|{z|z{{{{|z{{z{{zzzz{z{{{{{{{{z{{{{{{||{|{|{{zz{{{zz{|{{{z{{{{z{{{z{z|{{{{{|{{{z{|z{{{{z|}{{|{|{{z{{{{|{|||||z{z{z{|zz{{||||{|{{{|{{{||{{||||{{|{z{{{{{{{|||||{{{{{|{{|{|||{{|{z{{{{{{||{{z{||{{{{{{{{{||||}|{|z{{|z{{{{|{|||{{|z{{z{{{{{{|{{|{{{{z{z|||{{{}{{{|{yzz{{{z||{zzzzzz|y{y{|{{{{||{zz{{{z{{{z{{{{{{z{zzz{{{z|{{{{|zz{{{z{{z{{{z{{{zzzzz{{y{z{{{|{{z{{zz{{z{{{zz|{z{{zzzz|zz{{{{z{{{zzzz{z{zzz{{z{{{{zzzyzzz{{z{z{z{z{{y{{zz{|{z|{{zzz{y{{zzz{{zz{zz{z{zz{z{zz{{{{{z|{z{{zyz|z{{{{{z{z{yzyz{{{|{{||{zz{zz{{{{{|{z|{{{{z{z{z{{{z{|{|{{{zz{{z{|{{{{|{{{{{{z|{{{|{{||{{{{{zzz{{{|{{||{{|z{{{{z{{|||{{{|{z{z{{z{||}|{|{z{{{{|||{|{|{|||{{z{{{z||||{|||||{{{z{|{|||{}|}{z{{{|{||{{{|||{|}{{z{{{{{|{{{||}|{{{{{{{|||||{|{{{{z{{{{{|{||}||{{||z{|{{{||||{|{{{{{|{{{{{|{|||{z{{{{zz{|||{{{|{{zzzz{{{{{{{{{|zz{zz{zz{{{{{{{|{zzz{zzzz|{{{{{{z{{zz{zz{zz{{{|{yz{zz{zzz{{|{|{z{{{{{y{z{z{{|{{|{z{{{|{z{zzz{z{{{zzzz{zz{z{{{{{{zzz{yzzz{{{{{{{zz{{{{yz{{zz{{{|{{y{{z{zzz{{{{{||{z{{zyz{z{{z|{{{zzy{{zyzzz{z{|{{{{zz{zz{z{{z{{{{zy{{zzzzz{{{{|{{{zzz{y{z{z|z{{|{{z{{zz{{|{{|{|||{{{z{{zz|{||||}|{{{{{{{z{{{|{{{{{{yz|{{z||||{{||{{|{{|z{{||{||{{{{z{{{{{{{|||}||{{{|{{{|{{{|||||{z|{{{{|||{||{|{|zz{{{{||||||{{|{{|{{||{{|{{{}{||{{{z|{z{||}{|{|{{|||z|{|{{{||||{z{z{||{{||{|{{|{|z{{{{{||{|||||{|zz{{{{{{z{{{{{{{|{z{{{{||{|{|||z{z{{z||{|{{|z{zzzzz{z{{|{{z{{|zz{{z{z{||{{{||{{zzzz{{z{{{{{{{{{z{z|z{yz{{{z{{|{zzzyzzy|{|zz{{{{zzz{yzz{|zz{|{z{{{{{zzz{{{{{{{zzzz{z{zyzz{z{{{|zyyz{zzz{{{{z{{|zzz{zzz{{{{{{{zzz{zzz{zzz{zz{{|{zz{zzzzy{zyzz{{{z{yz{y{{{{zz{{{{zzzzz{zz{{||{{z{{{zz{zz|{{|{||{|z{z{z{{{|{{|z{||{{{zz{{z||{{z|{|{z|z||{z{|{z{zz{|{zz|{{z{|{{z{|{{{{{z{{{||{{||||{{{|{{{{{{|{{|}|{|{{z{{|{|{{{||}{{{z{{z{|{{}|||{{z{{||{{||{|||{}{{|z{{||{{||{}{{|{||{|z|{|{||{|}{{{{|{{{|{{}||||{z{{{{zz{|{|||||{{z{|{{{|{{|{||||{{{{z||{{{|{|}{|{z||{{z{||}{{||{||z{zz{zz{{{{{{{z{{zz{{{{{|{{{|z{{{{z{zz|{{{{{|zzz{{z{z{z{{{|{{{{z{zy{{{{|{z|{{|{zzyz{y{{{{{|||z{zz{{zzz{|{}{{{{{z{z{zz{{{{{|{zzy{z{y{y{zzz{{{{z{zz{zzzz{{{{z{{{y{{y{zz{|{{{{|zzz|{yzz{{|{{{{|z{{{{zzz{yz{zz{{{{{{zzz{zzz|{zz|{{{zzz{zz{{{{{{|{{{{zz{{{z{{||{{{{{zzzzz{{{{{{|||z{{z{{{|{{{{{|{||{|z{zzz{|{{{|{{{|z{z{{z{||||||{z{{{{{{zz{}{z{{{{z|{{{z{{|{|}{||{{{z|z{{|{||{{}}|{{||z{|{||{|}||||{zzz{{|||||||{|{||{|{{{|}||||||{{{|{z{{||||}{{|{|{{{{{|{|||||||{{|{|{||{||||}|{{|{||{|{||||||{{||zz{{{|||||{|||{{{z{{z||||{{|||||z{z{z|{{{{{||zzz{{zz{z{{|{{||zz{zzz{zz{|{{z{{{{z|zz{{|{{{{{|{{{zz{{z{{||{z{|||zzzz{z{{{{|{{z|{zzzz{zy{{{zy{{{zz{z{zyz{|{{{|{{z{{{z{zz{{{z{{{{{z{zzyzzz{{z{{{zzz{z{z{z{{{{{|z{{z{{zzz{{{{{{||{{{{zzyzzy{{zz{{|zzzy{z{zz{z|z{{{{{z{z|zz|{{{{{{|{{{z{z{z{|z{|{{|{z{zzzzz{|z{|{||{y{{zz{z{||{{|{|z{|{{zz{{||{{{{}{{{|{z{z{{|{{{|z{{{{{z{zz|||{{|||z{{{{{z{||||{{|{|{{{{{{|||{||||{{{{{z|{{|{|||}||{{{{|{|{|{{|{}||{{{{|{{z|||||{}{{z{{{{{z|||||}|{{|z||{{|}|{{||||{|{|zz{{|{||||||{{{{{{{}||{||||{{{z{{||{{}|{}|{|z{|{{{z{{{|{|}{{{z|zzzz{{{|{{z{zz{z{{{zz{{z{{{{{z{zz{z{{{{{z{{|{zz{{z{{|{y{z{|z{z|zz{z{{{|zz{{{{z{zzz{z|{{z{z|{zzy{{{zyz|{z{{{{{{{zzy{zz{{zz|{{{zz{zzzz{{{z{{{|zyz{z{{zz{{{{z{zzz{zzzy{z{{||{{|{z{zz{zzy|{|{{{|{z{{zz{zz{{z{|{z{{zz{z{zz{{{{{{{zz{{{{zz{{{{{{}{zzz{z{z{|{|{{{}||z{z{{{zzz{{||{{z{|zy{{z{||{|{||{z|{{zz{{|{z|{{{{z{z{{{z||{z|{||{{z{{{z|{|{||{{{z||z{{{z|{{|{|||{{{z{{|{{|||{|||{z{}{zz{|{||}{|||{{{{{|{{|||{{|}{{z|{z||{|{|||}||{||{z{z{}}}||}|||{{{{z{{|{|{{{||{{|{{{{{{||||}{|{{|{{{{|{{|||||{|{z{{z{{{{{|{|{{{{{{{{{{{{||{|{{zzzz{{z|{||||{{{zzzz{zzz{{|{z||zzz{zz{y{{{{z||{z{{zzzzz{{|{z||{z{{z{z{z{{{{{{{{{{{yzz{zz{{{{z{{{z{{zz{{{{{{{|z{{zzzzzyzz{|z{{{{y{zzzz{{z{zzz{{zz{{yzzz{{{{{z{|{zy{zzzzzz{|z{{{|zzy{z{yz{z{{zz||zzz{zzzy{{{zzzz|zz{zzzz{{zzz{{z{{zz{{{zz|{z|{{|{{{z{zz{{{{{{{{{{z{|z{z{{}{|{|{|{{{{z{{zz|{{{{{|||z{z{yzz{|{|||{{{z{{{z{z{{|{|{|{{{{{z{{{{|{{{|z|{{|{{{{{{{|}||||z|{|{{{z{|||{{{|{{{{{{{{{|||||}|{z{{z{z{||||{|}|{z{{{{||||{|{|{|{z{|{||{{|||{|||}|z{{{{{{|{{{||{|{{{{{{|{{|{|{{|{{{{|z{{{|{|{{||{z||zz{z|{{|{|||{{{z{{{z{|{|z||{{z{zzz{{{{{{{z{{{{zz{{zzz{{zz{{|zz{zz{z{{{{|{{}|zz{zz{z{|{z{{{{{{{z{{zz{{{{{|{{{{{zz{zzy|{|{{}z{{{{zzzzz{{z{|{|{z{{yyzy{{{|z{{{{zzzzz{z{{{z|{{{zzzzz{y{zyz{{z{{{z{zyzzyz{{{z{{{|z{{zyzzz{{{|{z{{zz{{{zzz{z|z{zzz{{zzzy|zz{zz{|{{{{z{z{{{{||zz{||y{{{{{z{{{{{{{{{{{||{z{{|{{|{||}{{z{z{{zz{|{{{}{|{{{{{{z{||{{||{|zzz|zzz{|{||{{{{{{|{zzz{{|{{|{{||{z|{{{{||||{|{{{{|{|{{|{||{|||{{{{{{z{{||{|||{|zz|||{||||}|{|}{{{{z{{{|}|||}{||{{{{{{||}{}{{}||z|{{{{{z{{|{||||{{z{z{{{{{{{||}}{z|{{{{|{|}{{||z{{z{|zz{{|||||{|{{z{{{z{{}||{|{z{|z{{z{zz}|{{z{z{zz{z{z{{|{{{|{zzzzzzzz{z{{{{{|{z{{zzz|z{{{{{||{zzy{zzz{{{{{{{{{zzzz{|y{{{{{|{{zz{{z{{y{{{{{{{z{y{{zzzzz{{{{{{{{zz{z{z{zz{|z|{{zyyy{zyyyz{zzz||zzz{yzyzzz{z{||{z{z{zzzzzz{{{{{{{{z{zzzzz|{{{{{z{z{z{y{zz{z{{|{|yzz{z{{yz{{{{{{{{{{z{yzzz{zz{{{|{z{{zzzzzz{{z{|{z{{zz{zzz{|{{{|{z{{{{zz{{||{{|{|{{z|z{{{{}{{|{||{{{{zz|z||{|{|{|{z{{|{{{{{{{{||{zz{{|{|{|{|||||{{{{{z{{z|{|{{{|{{z{z{{{||||||||{zz|{z{{|{|{|||{|{{z{{{||z|||||}}{||{z{{z|||{||||{{{{{{{{{z{{{||||{{|{|{{||{|{{{|||{{{{z{{{{|z{||{{{{z{{z{||{{{{{|z{zzy{z{{{zz|z{yzzzz{yz{{{{{z||{{zzzyzz{{{{{|{{{zzzzzz{{{{{{|{{{z{zzzzz{{{{{{{|zz|{{z{yz{{|{{{|{z{{zzzz{z{{{|{{{{z{zzzzz{{{z{{z{z{yz{{zz{z{{z{z{{zzzzzzzz{{|{{}{{zyzzz{zz{z|{{z{z{{yyzz{{z{{{{{zzz{{z{z{{zzz{{|z{{zzyzz{z{{z|{{{zzz{{zz{z|{|{||{z{zzz{z}z{{{{{|{{z{zz{{z|{{{{{|z{{zzzz{{{{zz{~|zzzzz{{z{|}{{}{{zz{{zz{zz||z{{|{{|{{{{{{}{{{{||{zzzz{{z{{{||||||{|{z{{|{|{{|||{|{{z|{{zz{|{{|||{|{|||{{{|{||||||}{z{{z{{{|{{|{|}{{{{{|{{|~|{{{|{{yz{zz{z|||{|{||{z{{{{{|{{|||||{{{{{{z{|{{{|||{||{|z{z{{{|z{{|}{|{z{{z{zz{{{{|{{|zz{{{{{{{{{{{{zzzzy{y{y{|{{{||{{z{{yzzz{zz|{{|{{{zzzzyz|{{|{{{{{yyzzy{{{{{{{z{{zzzyz{{{|z{{{{{{zzzz{z{zz{{{z|{|z{z{zzzzz{zzz{{{z{zz{z{zz{{{zz|{zzzz{zzzz{{{{|{{z{z{zzyzz{{{{z{|zz{zzzzz{z{{{{|{|z{{zzzz{zz{{{|{z{zz{z{z||zzz}|{zzz{z|zz{{{{z|{{zz{{zzz{{{|{{{{||{{zzzzz|{|{|{{{{{|{z{{{|z{||||{{z{{{z{{{||{{|{{z{|{z{{zz{{{{||{{{{z|z{{{{}{{|{{{{{{|{{{|{{{||{|z{{{{zz{|{{|{{}{{{{z|{{{{{|{|||||{{z{{|z||||{|{}z{{{{{|{||}}|{||}{{|{{{{|}{|||||{{{{{{|{||{{|||{|{{{{{{{||||{{{||{{{}|{|{{{}{{{|{{{z{z{{{{|{{|}||{z|{{{|{|||{||{{y|{{z{zz{{{{{{{zzz{zz{z{z{z{|{{z{{yzyzz{{{|{{||{zzzzy{z{{||||||zzz{zzz{{{{|zz|z{{{yyyzz{zzz{z{{z{zz{zzzz|z{z{|{{z{zz{z{zz{{z|zz{{yzzz{{{{z|{|z{zzzz{zzz{z{z{{{{{{z{{zzzz{{{{{{{zz{zzzyz{zzz{{{{z{zzz{zzz{{zzz{{zzz{{zzzz{{{{{|z{z{z{|z{z{z{z{zz{zzzz{zz{z{{{{{|{z{z{z{z{{{{|{{|z{{{z{{{{|{{{{{|{{{{{z{{z{{||{|z{{z{z{{{z|||{{||{z{|{z{{{|{{|}{{{{{{|{{|{|z|{|||{{}||{{||{z|{|}}|z{{{{z{|z||{|{{{{{z|z|z{|}|||||{z{{{{|||||||||||{{{{|{{{|{|||}|{{|{z{z{||}|{|{||z{zzz{{||||{||}{{{{z|{{{{||{|||||{{{{|z{}{z{|||z{{{z{{|{{|{z|{{{z{zzzzy|{z{z{{|{zzz{z{zy{}z{zz|{zz{{yyz{{{{{{{{{z{zz{yz{z{z}z|{{z|zzzy{{{{{{{|{{zz{{y{z{{z{{{{|z{zzzzz{zz{{{z{||z{z{zzz{|{zz{{{|zzyzyzzz{{{y|z{zzzzzyz{{z{z{z{z{z{zzzyzz{z|{{{{{zz{z{z{z{z{{{{{zzz{{y{z{{{z{{{{z{{zzzzzy{z{||{{zyzzy{{z{{{|z{{{{zzy{zzz{z{|{z||{z|zz{{z{|{|{|||z{{{{{z{|||{{{||{{{{{y{z{{{{{{{{{z|{{{z{{|{{{|||{zzz{z{{{{{{|{|{{|{{|{{|{||{|{||{{{{|{{{{|{{{|||{||{z{z{||{}}|||zz{z{{z{||||{||||{z{{{||{{||{}{}}{{|zz|z|}||{|{||{|{z{{{{z|||{|{|{{{{{{|{|{{|{|}|{{{{z{{z|{||{|||{{{zz{{{|||{|}{|{z{z{{z{|{||||}{zz{{{zz{|{{|{{zy{z{{zzzzz{z{{||zz{zzz{{{z{{z{}|{{zzz{z{{z|{{||||zzz{zz{{{{z{z{|z{zzz{z{{z{{z||{{{zzzzzzzz{{{{{{{z{{yz|{z{z{z{{{zzzz{zzzzzzzz{{zzzzzzyzyz{zz{{{{{z{zzzyzz{{||{{{zz{zzzzzz{{{z{{{{yz{{zzzz{{{{z{{z{zzyzzzz{{{z{{zzz{{{zzz{{|z||{{zzz{|{zz{|{{{|{|{z{z{yzz{z{{{{|{{z{{zzzz{{{{}{{||{z{|y{z|{{|{{|z{zzz{{z|z{z|{{||{{|zzz{z{{|{{|{{{|{z{{{|{}{||||{{{{z|z|{{|{||||{{zz{{z|{{{|{{|{{{{{{{z{{||{{||{|z{z{{|{z||||}||{}{{{z{{{{|}{||}||{|{{{{{{|||{|{{{{{{{{zz{|{z{|||||zz|{{{{|||{||{z{{zz|{zz{{|{||{z{{zz{{{{|{|{{|z{z{{{zz{{|{{{z{zz{zzzyzzy{{{{{{{{{z{{zzz|{z{|||{z{{zz{zz{{{{|{{{{{{zzzz{{||{{{{{{yzz{z{{{z{z{z{|{{zzzzzzz{zz{{{{z{{|zzzz{z{{z{|z{zzz{{z{z{z{zz{{{z{{zzzy{{|{z{{zz{{{zzy{{z{zzz|zz|yzzzz|{{z{|{{{zyzzz{{zz|{zz{{{{{zz{{zzz{z{{|z{{{{{{zzzzz{{{{{z{{zz{z{z{{{|{zz||z{z{z{{z{{{{z{{zz|zz{{yz|{{{{||zz{{|zz{z|{|{|z{{{{{zzz{{||{{{||{|{{|{{||{|{{|{|{{|zz{{{{}{||||{|{{{|z{{||{}||||{z{{{{|{|{z|{||||{{z{||z{||{}|}{|{{{{|{{{{|{|{{||{||{|{{|||||||}|{|{{z||{{||||{{|z{z{zz{{{z{{{|{||||{{z{{||{|||{|{{zz{{|{{{|||}||z{{{{{{|||}{|||{{|z{zzz{|{{{z{{{{zyzyzzz{{{{{{|zzz{yzyzz{||{||}z{{zz{zyz{{{{{{|{zzzzzzyz{{{z{{{{{zzzzzz{z{{{{z{{{{zzyzz{|{{z{{zzz{y{{y{{{{z{{{{{zzzz{zzz{z{z{{y{yzz{yzz{zz{z||zzz{zyzyzz{z{{y{{zzzzzzzzz|zz{{{z{z{zzyzzz{{zz{{|zzzzzzzzzzz{{z{{zzz{{{zz{{z{z{{{zzzz|zzz{{z{z{{{z{|zzzyz{{{{{{{{zzzzzz{{{{{{{{|{|{{z{{{z{{{|{{{{zz{z{{{z{{||{{|{{zzz{zz{z{{{{|{|{{z{z{z{{{|{||||zz|z{{{{{|{|{}||{{z{z{{{|{{||||{{z{{|{{{{}{|||||{{|{zz{{{{{||||||z{{{{z{||||{|||{|{{{z{{{|{||||{|{{{{{zz{{|{||||{|z{{|{{{{{|{|z|{{{z{z{{|||{||||{{{z{zzzz{{|{{{|{|{z{zz{{}{|{z|{zy{zzzy{{{{z{{{|z{z{{zzy||z{{{{|{zzz{zzy{zz{|{|z{y{zzzyz{{{{z|{|zz{zzzzz|{{{{{z{{zzzz{z{{{zz|{{{{{zzzz{z{|z{z{{{{zzzy{zzzz{|z{{zzyzzzz{zzzzy{{{y{zzzzyz{{{z{{{{{{zzzzzyz{z{{{{|z{{z{zyzyz{zzz{z{{zzz{z{y{{{{z{{{{zzzzzzz{{{{{|{{|zzy{{zz{{{{{{{{{z{z{z{{{yz{{{{{zzz{yzzz{{{{||{{{{{{z{{zz{{{{|{{zz{{{zzz|z{|{{{{{{z{{{{z|z|{{{|{z{|z{|{z{|{{|{||{{{{{z{{||z|{||||{z|{zy{{||{|{||{z{|{z{z{{{{||||{{{{|{||||||{|}||{{{|{{z{}|{||}|{{|{z{{{|{|{{||||{{{{{||{{||||{||z{z{{{{|||}|{|||z{zzzz{z{{{z||{{{z{{{z{{|||{{||{{{z{z{{{z{|{{{z{|z{zz{zz{{{{{{{{z{zy{zzzz{{{|{|{y{zz{{z{{z{{{{{zy{z{zzyz{{|{{|{|z{zyz{y{{{z{{|z{z{zxyzz{{|{{{{{{zz{z{zz{{zzz|z{{zzzyzzzzzzzzzz{yzy{zzzzzz{{zz{{{{zzz{zz{z|z{{{{zz{z{{zzzzy{{{{{zz{zzz{y{{{{z{zz{{zzzz{{z{zz||{{zz{z{yzz{{{{{{z|{zyz{z{z{{{{{{{{{{{z{zz{zzz{{{||zy{{yzz{{{||{{{z{{{{{{zz{|{{{{{{{{zzz{z{|{|{{{{|{z{{{{z|z|||z{z|{{{|{z{||zz{||{|y{{{{{{|||{{{|{|{z{{{|z{{{|{{||{|z|{{z{z{}||{||{|{{{{{{||{||{|{||{{{{|{z{|||||}|{z{|{{{{||{|z{|||{{{z{{|z||{|{|{|{|{|zz{{{{||||}{z{z{zz{{{||{|{{{zz{{z{{{{{{{{|{zz{z{z{{{{|{{{{{{{zzzyzzz|z|z{{{yzz{zzzz{{{z{{{|zyzzzzzy{{z{{z{|{z{zzzzz{{z}z{|{zzzzyzzyz{z{z{{{zzz{zzzzz{zzz||zz{zzyz{zz{{zzz{z{zyzyzzzzzz{z{{{yzzzzy{zzz{{{z{zzzzz{{zy{z{{zzzzz{{zyyzyz{{zzz{{{zzzzz{{zz{z{z{zzzzyzy{zz{y{{{{{{z{yzzzz|z{{{{|{{zzz{yy{{z{{{{{|{y{|{{{z{{|{{{{{y{{zzzzzz{{{{{{{zyz{zx{z{{{{||{|{zzz{zz{zz{|||{{zzy{{{{zz{{{{|{{{z{{z{{{{|{||{||{z{z|{{{|{{z|||{{{{z{{z{{{{{{||{{z{{{{{z{||||||}{|{{z{|{{{|{{|{||z{{z||{{||||{||{{||{z{z{|{|{{|{{{|zz}{{|{{|||||{|{zz|{|{{{{{|{|{{{{zz{{{{{{{{{{{zzzz{{{{|{|{{}{zz{zzzz{{{zz{{z{{{z{yzzy{{{{{z{{{zz{zz{{|{{{{{{{zzzzz{{zzz{{|{{{{{{{z{z{{z{{{{{|z{{zzyzz{{{{{{z{zzzy{z{zz{|{{{{{zzzz{{z{zz{zyz{{{yz{{z{{z{z|{{{|zzzzyz{zzzz{{{{{zzzz{yzy{{|z|{|{{{{zz{yzzzz{z{{{zzzyzzzz{z{z{z{{{y{z{z{zzz|{z|{zzzz{zzzzzz{zz{z|{{yz{zyy{{{{z{{{{z{z{z{z{z{{z{|{zzz{z{{z{{|{{{{{{{{{{zy|z||{z||{{z{z{z{z{||{z||{{z{{{zzz{zz{{|{||{z{{{zz{|{|{{|{{{|{|{{{{|{|{||}{{{{|zz{|{}|{{|{{zz{z{{||}{|||{|{{{{{|||{{|{||||}{{z{{{{{}|{|{||{{{z{{|z{|||{|||{z{{{{z||{{||||}|{{z{{{{|{|||||{{{{z{|z{|{|{z||{{|||z{{{{|{|{{}{{z{z{zz{{{{|{{}z{z{zzz{z{|{z{{{{{zyzzzzz{{{{{{||z{{z{{{z{z{{{{|{{zz{zzzz{{{{zz{{{{zzyzy{{{{z{{||{yzzzy{z{{zz{{{{zz{z{zzz{{{zz{{{{{zyz{yzz{{{zzz|zzzzzzzzz{{{{|{z{zzyz{yz{z{z|{{{{z{zz{y{zzz{z{{{{{zzz{z{z|{zz{z{{{zzzzyyz{z{{{{{{zzzz{{zzz{{{{{{{z{{{zzz|{||{{{|{z{z{yz{{{{{{{|{{zzzzy{z{{{{|||zzz{{{z{{z{{{|{|{{zzzzzzz{|{{{z|||{{{zz{z{z{{{{|{{{z{{{{{z{{|{|{|{|{{{{{||{|||{|{|z{{{{z{|||{|||||{{{{{{{{|{{||||{{{{{{||{|{{||{||{{z{{z{|}{}}||{{{{{{z{{{|{|{{{||{|{{{{{|{||{z}}||{||z{{|{{{||||{{{z{{{z{{{{{{||{{{{zz{{{|{||{|{{z{{z{{z{{||{{z{z{zz{zzz{{|{{{z|y{zz{zyy{{z|z{||{z{z{{zz|zz{|{|{z{{zz{z{{{{z{{{{{z{z{{{y{{{|{{{|{z{{zzz{{{{{{|{{{z{{zzyz{z|y{{{{{{{zz{zz{zz{z{{{{z{z{z{z{z{{z{{z{zzz{zyzz{{{{|{{zz{zzy{y{{{{{{|z{zzz{zzzz{{{{{{zz{zy{{{{{{{{z{z{{zzzz{zz{{{|{||z{zz{zzz{zz{{z{{|{z{{z{{{{{||{||{zz{{zzzz{{}{|{|{{{{||zzzz|||{{{{z{zzz{zz{{{{|{||z{{{{zz{{||{{{{{{z{{{{z{{{{{|{|{z{z{|{{{|}{{{||{{|zz{zz{||{||||||{z{{{{{{|{{{{||{{{{{{||{|z||||}{{{{|{|{||||}}|{|{{{z{{{{}{}||{||{{|{|z{{|{||{}}{{|{{{{{|||{||||{z{z|{z{{|||{||||{z{zz|{{{|{|{{||{{zz{{z{{{{z{z{{{z{z{{z{z{y{z{||{{z{zzz{{{{{{{|{{zz{zzz{{{{{{{{zzzzzzz{z{{{zz{z{{z{yz{y{{{{z{{|{z{y{zzz{{{zz{{{zz{zz{zy{z|z{{zz{{z{yzzzzz{{{{z{{zzz{zz{{{{{|{{z{zzzzzzzzz{z{{||zz{zzzyy{{zz{{{{z{zzzz{zzz{zz{z{z{|zz{{z{{{z{{{zzzz{|{{z{{{z|{{|{{zz{z|yz{{{{z{{{{{{z{{z{|{|{|{|{z{{z{zzz{{{{||{{{zz{z{{{|{{{|{|{{{|zz{{|||z{{|||zzz{{z{{|{|{{{{{{{{{{z{||||{||||zy{|||z{|{|{|||||{|{|{{|{{||||{|z{{|{|{||}|}{||{{|{{{{{z||||}||||{{{{|zz||||{{|||{|{{{{{|||{}||{{{{{{{{|{{{{|||{{{{|z|{{|{{|}{{{z|z|{{{{|{{{{}|{{{z{{{{{|||{{{|{z{zzz{z|{|{{{z{{zz{{zzz{{{{zzz{zz{zzzzz{|{{{||{{{{y{zzzz{{{{{z||{{z{z{zz{{|{{{z{zz{zz{zz{z{{{{||z|z{zzz{{{zz{{{zz{{zzz{{z|{{|{|{z{zzzzz{{{|z{{{{zzzzyzzz{z{{|{zz{{z{{{zzz{z{{{|{zz{zzzyzz{{{{||zzzyy{{zz{{{{|{{zzzz{z{zz|z|{{{{zz{y{z{z{{|{zz|{zzyz{{{{z{{{{{|{z{|{z{{{{zz{{|||{{{z{z|y|||{{|{|{{z{{{z{{{{||||{|zz{z{z{||||{|{z{y{{{zz{||{{{}}{{{z{z{z{{||||||{z|{{{{{{{{{{|{|||{||zz{z{||{|||||{{{|{|{||||}|||{{{zz{|{|{|{|||{}{z{{|{{|}||||}||{{|z{{{|{||}||||z{|zz{{{|{||{|||{{{|{{|{|{|||{{{{{z{{{{z{||{{||||z{z{{z{||{||||{{{{zz{z{{{{{|{{{zzzz{{z{|{{|{|{z{zzzzzz{zzz{{|}{{zzzz{z{{zz{{{|{z{|zzz{{{{{z{{{{{zyz{zzzz||{zz{yzzzzyyzzzzz{{{{z{zzzz{z{{z{|{{{{zzz{zzzz{z{{{z{yzzyzyzzz{{{z{zzyyz{zzyz{{{|{{{zyz{zx{zxz{{|{{{{z{y{zzzzzzz{z{{{{zz{zyzzz|zz{{{|{zzy{zzy{{z{{z|{|zzzzzzzzz{{z{{{{zz{zzzz{|{{{|{|{{{zyz{z|{{|{|{{{z{{{zz{{{|z{|{{{{zzzz{z|||{{{{{{z|z{zzz{|{{z|{|{{{z{{{z{|{{z||{zz{z{z{{{{{{||||{{{{{zz{{||{|{|{|{z{{z{{||{|||{{|zzz{z{{{|{}|||{{{{{{|{|{}{||{|{{{{z{z{{|{{|{}{||{{{{z{{{{{{{||||{z{{zz{|{{|{{||{{z{{{{{z|{|{{|||{zzz{{{{{{|zz{{{{{zz{zz{{|{{{zz{zzz{{{zz{{{|{{|z{zzzyzzz{{{z{{|zzzz{|z{zzzz{{{{zz{z{zzzzz{|z{{|{z{zz{{z{{{|z{z{{{zzzz{z||{{{{|{zz{y{z{zz{{y{{{zzz{{z{zzz{zz{{{zzzzz{zzz{zzz{z{zzzz{zyy{zz{zz{{z{z|zyzzyz{{z{y{|z|z{zzzyzz{{z{z{{zzz{yzyzzzz{{|{{zzz{{yy{|{{z{{{{yy{|z{z{z{zz{{|zzz{zz{{{z{{z{|{zz|z{z{z{{z|{|{|{{{z{{zz{{{{{|{{{{{{{z{z{{{{{||zz{{{{z{{|||z{|{{{z{z{{{z{{|||}||{z{{{{{{{{{{|{|||{{{{{{z|{{{|||{|z{{{{{z|{{{{}|||{z{z||z|{{|||||{{z{{{{{z}{{{{}{{|{{{{|{|||{|||{{{{{{z{{{||{|{{||z{{{{z{||{|{|{||{zz|z{{{{z{{|{||{{{{y{z|{{|{z|{{z|zzz{{z{|{z|{{zz{zzzzzzz{{z{{{z{y|zzzz{{z{|||}{{zzz{zz{z{{{|{{zz{{z{zy{{{{{{{{zzzzz{zzzz{{{{z{yyzzz{yz{{|{{{{z{z{zzzzz|z{{{{|{{zzzzzz{{z{{z{{{yyyyzz{z{{{z|{{{zzzzyzyzz|{z|{z|{{{zzzzyz{|{{{{{zzyz{yzy|y{zz|{{zz{yzyzzz|{z{{{{zzzzzyyz{z{{{{|{{zz{{y{z{z{z{{{{{{z{zzzy{{{{z{|{zz{{z{{y{{|{{{{|{{{{z{zz{{{|{{|{|{{z{zzz|}||{{|{|z{zz{y{{{{z{{{|{{{z{{|{{|}|||{{z{{z{{|{|{{|||{|z{{{zzz{{|{{}|{{{zz{{{{z|{{||{{{{{{{{{{{{||{{||{{{{{{{|{z|}|||{|{{{z{{{{{{{{{||||zz{{{{{z{||{{{{{{{{{{{{|{{{|z{|z{zz{{{{{{{|{{{{{{{z{{zz{{{{{{|{z{{y{zz{{z|{{|{{z{y{zz{yz{{z{{{{{zz{zzyz{z|{zz{|z{z{zzzz{{{{{z{|{zzz{{zz{||{z{{|{zzyzz{zz{{zz{{|{z{y{zzy{{{zz{z{zz{zzzzzzz{zz{{|{z{zyzyzzzz{{{{zzzzz{yzz{{{z{{z{zzzzzzzyzz|zz{{{{z{yzyzzz{{{zz{{zzzzzzy{y{z{zz|{z{yz{yzyz{{zz{{{yzz{zzzzz{{zz{|{{zzz{zzzz{zz{|||zzzz{zz{{z{{z{{{{{zzy{|{{{{{{{{{{z{z{{{zzz{||{z{|z{zz{z{{||{{{|{{z{{{z{{{{|z{|{{zzz{{{{z{{|{{|{{{{{z{z{z{{{|{{|||z{{{z{z{{|{|{{||{z{z{{z{||{|||{{{{{{|{{{{{|||{{{z{z{{zz{|||{||||{{{zz{{{||z|{{{|z{{{{{{{|{{{||{{{{{|z{{|{|{||{{{{{{z{zz{|z{{||{zzzz{z{{z|{|{{{|{{z{zz{{z{{{{{{{zzzzz{{{{{{{{{{{zzzz{zzy{{z{z{z|{{z{zz{z{{zzz{{{{yyz{{z{z{z{{{{{zzyzz{zz{{{z{|{{z{zyzyzzzz{z{|{zzzzzzzzz{{{z{{{zzzzz{{yy{{{{z{z{{zyzyzyy{{|{{z{{{zzyz{zz{{{{|{{{{z{{y{zyzz{{z{{{zzzzz{zyz{z{{|{{{{zzzzzzz{zz{|{{zzz{{{zzzz{{zz|{z{{z{z{{{{{z|{{{{zz{{z{z{z|{{{{{zz{{zz{{|{{{{z{{|{{{{zz{{z{{|{{zz{z{{{{z{{|{z{|{{zzzz{{{|{z{{||{{{{{{zz{{{{|{|||{z}z{{{{{|{|||||{yzzzz{{{|||{{|{{z|{{{z{||{|||z|{{z{{|{z{}z|{{{}|zz{|{{z{||}{||||z}|{z{{{}|{|{{y|{{{{{z{{{{|||{{{|{|{{{{|{{|{{||z{{{zz{|z{z|z{{|{z{z{{zzz|{|{{|{{z{z|zzz{|{{z|{{z{zzzzzzy{{{{{{{{zzzzzzyz{{z{|z{|zzzz{yz{{{{{{|{{{z{{zz{z{{|{{{|zzzz{y{y{{{{zz{{zzzzzz{z{zzy{{|{zz{{zzz{|{{zz{zz{z{zyzzyz{z{{{|z{zzz|zzy{|zzz{{{zzzzz{{zz|zz{zz{|{z{zzzyyz|{{|{{zzzzzzzy{{{{{|{{{zzzzzzz{z{{{|z{{z{zz{zz{{z{{{{|{{z{zyz{{{{{z{|z{y{zzz{zz{{{{{|{{{{{{yz{{{{{{{{{{{{z{z{z{{zz|z{{{{{zz{{y|{{{|{{||z{{zy{{{||{z{|zzz{{zzz{|||{||{|z|{{{{{{||{|{|{{|{|{z{z{{{||||{||z|z{|{z||||{||{{{|y{{|{z||{{}||{{{{{z|{{|{{|{|||{{{|{|{||{{|||{{{{|{{z{||{z||{|zzz{|{{{{|{{}{{|{{{{z{z{{{|{{{||{{z{{{{z{|||{{|{{{zz{y{{{z{{{z||{{yzz{{y{|{z{z{|zzzz{z{{|{||{{{{{z{{z{zz|z{z|{{{{zzzzyz{|z{{{{{{||zz{zzz{|{{{{{|zyzzzzzzxz{zz|{{zz{zzzz{{{{{{{{{{z{zzyyy{{z{{zzzz{yy{zzz{z{{{{z{{zz{zzyz{{{{z|{|zz{yzyzz{{z{||{|zzzz{zzyz|{{z{{|zzzzzz{{z{{|{{{{zz{{z{z{{z{{z{||{z{zzz{yz||{{|{{zzyzzzzz{|y{{{{|z{z{zz{{{||z{{||yz{{{z{zz{z{{|{{{{{{{zzzz|{{|z{{{z{|zz{{{{|{{|||{z{z{zzz{{{|{|{|{{{{{|||{|||||||{z{{{{z{{|||z{|{|{{|{z{{|}|{|||{{{{z{{|{{|{{{||||{{{{z{{|}{}|{{|{{||z{{{{|{{{|{{|{{{{{z{{{}{{|}||zz|z{zz|{|{{|}|{{{{zz{{||||{||{{{{{z{{zz{|{|z|{{{{{{{{{z{|{{{z{{zzzzzzz{z{|{{|{zz{z{zzz{|{{{{{{{{{zzzzy{z{{|z{{{z{zz{{{yzz{{||{{z{zyz{z|z{{{{{{zzzyzzzzzz{{{{{{{zzz{z{y{{{{z{{z{{zzyzzzz{{z|z{z{zzy{{zz{{z{|zz{{z{zzzzyz{{{{z{{zz{yzz{zz{z{z{{{zzz{yzzzz{{{zz{{zzyz{zzyz{zzz|{zzzzzzz{{z{{{|{{{{z{zzz{z{{{|{{{|{{{{zzz{{zz{{{{|{{zzzzzz{{{{{|||{z{{{z{zz{||{{{|{{{zz{y{{{{|{{|{|zzz{{z{|{|{{||{{{{{{z{{z{|{||||z{{{{||{{|{|{|||{{{{{zzz|{{}|||{|{||{z|z||{{|||}|z{{{{|{{|}|||||{{{{z|{|{|{{|{}{z||{y|{{||||||||{zz|{{{z||{||||{|z{{|{{{{{|||{{|{{{z{{z{z{|||{}{}{z{zz|zz{{|{||z{z|{z{zz{{{|{{z{{zzyzyyz{{{z{{|zzz{{z{zzz|{z{{z{zz{z{z{z|z{|{{{{zz{zzzy{{z{|{z|{{{{zzzzy{{zz{{||zzyy{zzyzz{z{{{z{zzzz{{z{z|{zz{zzzzzzzyzz{{{z{|{zz{{z{zz{{z{{{{z{zyyzzzzz{|{zz{{yzzzzzz{{{{|{z|{{{yzzzyz{z|z{zzzzz{yzzzyy{z{{{z{{zzz{zzz{{{|{{|zzzzzzz{{{{|z|z{{{zzzz{z{{|z|z{{|{zzzzzzz{|z{z{{{{{|zzz{{{{{{|{{z{z{{z{z{{{}|||{z{z{{zz{|{{{|{{|{z{|z{{z{{{|||{|{{|{{z{{z{|{||||{{{{|{{|z|||{{|{{{{{{{{z{{|{{|{{{|zz{{{z{{|{||||||z{z{|{z{|{||||{{{||{{{z|{|{||}|||z{{{{{{||{{{||{{z{{zz||{{|||}|{{zz{z{z{{{{||||{z{{{{{y{|||{|{|{z{zyzzz{{{{|z{{zzy{zz{y{{{z{{{|zz{z{zzz{{{{{z|{z{yzy{zy{{zz{{{{zzzyz{zy{z{|zzz{z{yzzz{z{zz{z{z|zzyz{yzy{{{z{|{z{{zz{zz{zz{{{{{{zzzzzzzz{zz|zzz{{yzyzyzyz{{{yz{{zzzzzzyyz|{z{{{{{y{{z{yyz{z|{|{{yzzzzyz{{z{z{z{{{z{yzy{{z{z{z{{{z{zy{zzz{zz{|{z{zz{z{zzyz{{zz||zzz{y{zzz{{|{z{{|z{z{zzzy{||{{{z|{{z{zz{z{|z{|{|z{{zzzzz{{{{{{{{{z{zzzz{{z{{z||{{|y{{z{z|{{{{{{{|z{zz{{{{{|{|{{||zz{{zz{{|}{|z||{|{{{{z{{|}{{|{|}|z{z{{z{{{||||{{|z{{z{{{{|{||||||z{{{{{{|||{|||||{z{{z{{z|{|{}{|{{z|{{{{{{{||}||{|z{zz{z{{{|{{|{|{zz{z{|{{||{{{{{z{{{z{z{{{|{{z{zyzy{zzzz{{{zz{zzzzzzzy{y{{{{zz{{{z{zzyzz{zz{z{{z{{yzzz{z{{|{{{{zzzzzzzz{z{{{{{{zzyzzzzzzz{{z{{{{z{zz{zz{{|z{z{zy{{zzyyz{zz{zz{zzzzzzyzyz{{z{|z{{{zzy{zzzz{z{zz{z{{yzy{zy{{{z|{{zyz{z{yzz{zzz{z{zz{yzzzzz{{zz{|{zyzz{zzzz{{{{{{{{{zzzzzzzz|{z{{{zz{{zz{z{z{{|{{z{zzyz{zz{{{z{{{zzz{z{yzz{{||{{{{{z|{{z|z{{{{{{||{zz{{z|{{zzz|{{{{{{{zz{zz{|{||{}|{y{{{{{{{{|{|||{{z{zz{{|{||{|||{{{{z{{{|||{{{||z|{|z{{|{|{||}|||zz{{z{z{||{||}||{{{{z{{{||{|||{{z{|{zz{{|{{{{|||z{{{{{{|{z{|{{|{{{{z{{zz{{{{{||z{{{zz{{zz{{z{{{zz{zzzzz{||{{{{zzz{|zzzzz{{{|{{{zzy{{zzy{z|{z{|{{z{zzzz{zz{|||{{{{zzyzz{{{{zz{{zzzy{zzzy{z|zz{{|zzy{z{z{zzzzz{{zzzzz{zzy{{{zzz{{zzzzzzzz{zzzz{{z{z{zzzzzz{zz{{{|zzzzzzzzz{{{{z{zzz{zzzzzzz||{{{{zzzzz{zyzz{zz|{{zzz{zy{zy{z{{{z{zzzzz{y{{{{{{||{zzzzz{yz{|{|z{{z{y{{z{z{{zzz{|{{{{{{{{zz{{|z{{|zzzzz{{zzz{{|{{{{z{zz{{zz{|{{{||{{yy{{z{z{{{|{{z{{{{y{{{{{{|{|{{{{z{zz{{z{z{{{||}{|{{{zzz|{|{{{{|{{{|z{{{{{|{{{}{{{{zz{{{{||{|||||{{{{{z{{|{||||||z|{z{{{||{|||}{z{{z{{z{{{{{|{|{{{{z{{{{||||{{{|{|{z{{{z{|{{{|||{{||{z{yz}{|z|{|zz{{zz{z{{{{z{{{zzzzzzzzz{|z{{z{yzzz{zzzzzy{{z|zzzzz{zyz{zz{{z{{{yzzzzzz{{{yzzz{|zzy{zzyyz{z{{{{z{zzzyxz{|z{zz{z{zzy{yzyzz{zz{{zyzyyz{zy{zz|z{z{zzzyy{yzz{zz{{{zzzzzz{yy{zz{{{z{zzzy{z{zzzz{{{z{zzzz{zzyzz{z{{zzz{zzyyzyz{z{{{y{yyzzzzzy{|{{zz|{{zz{{zzz{{{yzz{{zzzy{z{{{{|{zz{z{zzzzz{{z{zz{{{|zz{z{yzz{{{{{{|{{z{z{zzzz{|{{{|{zzz{y{zz{{{{{{{}{z{{{{{z{{|{{{{zzz{{y|{z{{{|{z||z{{{{zzz{|{{z{{{{zzy{{z{{|{{||||{{zz{zz|{|{{{|||z{z{{|z|{}{{{{{|{{{{{z{{|{{{{z|||{{z{{z{{{{{{{{||zz{{{z{|{{||||{{z{z{{{{z{{{{{|{{{{zzzzz{{z|{{{|{z{zz{zzz{{zz|{{{yzzyzxyz{z{{z{z{zzzzzzzy{{{{z{{zz{yzzzzz{z{{{{{zzzzzzyz{{{zz{|{zyzyzzzzzzz{z|{zzzxzzzzyz{|z{z{zzzyzzzyy{{{{z{{zzz{zyyzz{yzz{z{{z{zyzzzzzzzzzz{zzyzzyyyy{{z{{zz{zzzzz{zzzzz{zz{{{{zzzxzyzyzzz{z|z{{yzyyzzzz{z|{|zz{zz{yz{{{{zz{{{zz{{z{zzz{{{{z{zzzz{{{z{|{|zzz{zzzz{zz|{{z{{{{zyz{zzz{zzz{{{{{zz{{z{{yz|zzz{{|{zz{{{{zz{{{z{z{z{{zz{z{z{||||||{zz{z{{zz|{{{{|{{zzzz{zzz{{{{|{|{{z{{z{{z|||{|{{|{{zz{z{{{z{z||{{{z{{z{{{{|{|||||{zz{z{{{{{||||{{|z{{z{z{|{{z|{{{z{z{{{{{{||{{|{|{z{{z{{z{{zzz{|{z{{z{y{zz|{{||{|zzzzzzzz{zzz{{{{yz{zy{zzz{{{{{{{{y{zzz{y{z{zz{|{{z{z{zzy{|{z{{|zzz{zzzzzz|{{{|{|z{{z{{zzz{z|{{{{{{{zzzz{z|zz|{{z{xzz{zy{{{z{z{z{{z{zyzzy{z{z{z{zzzzyzzy{zzz{z{|{{yyzzzzzz{{{z{{{zz{{yzzzz{{{{{z{{zz{{{z{z{{zz{{zzzzz{yzz{zyzz{z|{y{y{zyz{{{{{{{{{z{z{{zz{{{{|{|{|{zzz{{z{z|{{{|{{zz{zzzz{{|{||||{{{z{z{{{|{{|{{z{{zzzzyy|{{{zz|{|z{{yzz{{|z{{{{|z{{{{z{z||||||{{{z|z|{|{{}{||||{{{{{zzz{{|||{||{|zzzyz|{{||{|}||{zz|{{||{|{|{||{|{{{|{|z{|{||||{{{{zz{zz{{{{{|{|{{||z{{{{{{{{||{{{{{{{z{{|{|}|{|z{|{{{{z{{{{{|}{|z{yzzz{{{{z{||zz{{{{{zzz{{{|{z{zzyzzyzy{{{z{z|{z{zyzyzz{|{z{{{{{{zzzz{y{{z|{{{zzzzzz{zz{{||zz{{{zzzyyzzz{{{{z{{{zzyzzzzz|{zz|zzzz{{{zzz{{zzz|{{zzzzzyyzz{z{z{{{{z{zyzzyz{z{z{{{{zzzzzzz|z{{{{{zyyz{zzzzz{{zz{|{{zzzzz{zzzzz{{|{zzzyzy{z{{{z{z{{zz{{zzzz{z{{{|{{zzzz{y{zzzzz{{{{{z{z{{{z{{{{{{{|{{z{yzz{{{z{{{{{{{{y{zz{{{||{{z{zz{zz{zz{{{z{|||zzz{z{z{{{{{|{||z{{z{{{{{z|{{|{{zz{y{{zzz|{{{|{}{{y{{z{{{||{{|{||z{z{z{{|{{|{|||zz{{{z|{z|z||{|||zz{z|{{||{{|{||{zz{zz{z{||||||{{{zzzz{{{|{{{{{|{z{{zz{{{{|{||{{z{zz{{zz|{{{|{|||{{z{z{{{|||{{z{{zzzzy{z|z|{z{{{zz{{{zz{z{{{{{{{z{z{{zz{{{|{z||{{{{{zz{z{{z{{z{{zz{{zzzzzz{{z|{{{zzyzzzz{{{z{z||zz{{zzzzzz{{z{{z{{zz{{yz{{yzz{{{{zzyyzz{zzzz{zz|yzzzzzzzzz|z{zz|zzzzzzyz{z{{{{{z{yyzzzzzz{{{{z{|{zzzz{z{zz{{{{{{{zzzzzz{zzz{{{{zzy{y{z{yz{z||{{{{zzz{zzzz{z{{z||z{{|yzz{{{{z{{z|z{{{zyzz{{{|{z|{{z{{{zzz{{|z|z|{|{{{zz{z{||{||{z{z{{zz{{{||{z||{{{zzz|{{{{{|{|{|{{z{{|{{|{{{z|{{{z{|z{z{{|{{|{{{|{zz{{{{|}|{{{||{{{{{|{{|{{{||||{{{{z{{{{|{|{||{|{{|z{||{|{{|{{{{{{z{{|z||{||{{||||z||{{{|||||{|{{{z|{{{{{|{{{|||{{z{z{y{{|{|{{{z{{yzz{z{z{{{{{{zzzzzzz{{||{{{{z{{z{zzzz{{|{z{{{{{zz{yyz|zz{|{{{zz{y|zzz{{{zz{{{zzzzzzzz{{{{|{z|z{yy{z{zz|{z{{{|z{{z{yzzzzzz{{z{zzyzzzzz{{z{zz{{zz{{zyzzz{z{|{{z{zyzzzz{z{{{{||{{{{yz{zzzzzyz{|zz{{zzzz{{zzz|{{{{{yz{z{z{{zzz{{{zzzzz{zzz|{{z{{{zzzy{yz{{{zzz{|{|{z{{z{z{z{{||||{zzzy{|{{{{{{{{{zz{zzz{{z{{{{{{|{{|{|zz{{{{{{{||{{{{zzz{{||{z|{{{{{{{{{{{zz|{|{{{||z{{{{{{{{z||}{{{{{{{z{{{|{||||{|{{{{{{{|{{|}|{{{{z{|{{|z|||||{{{{{{zz{}|}|{||{{{{{z{{{|{||}||{|z{|{z{{{{|||{||{{{{{|{{{|{{{|||{{zz{{z{{|{{{||{{yz{z|{{{{|{||{z{{{{zzz{{||{|{{{{yyzzy{{|{z{{{{|zzzz{yz{{|z{{{{z{{z{zzz{z{{z{|zz{{zzzzz{{z{z{{{{z{z{zzy|{z||{{{{{zzz{zyy{zzz|{{z{z{{zzzz{z{z{z{zzzzzzzzz{z{z{{{zzzy{zzzz{z{z{{z{zzzzzzz{z{zz{{zy{{{yz{z{{z{z{{{{z{z{z{z{zzz{zz{z{{z{yzz{z{z|z{{{{zyz{zz{z{{{{||{zzz{zz{zz{{{zzz{{{zyz{{z|{{{{{|z{z{zz{{{|{{|z{{{zz{|z{z{{|{{{|{z{z|{{{z{{zz|{|{zzz{{zz{{{{z{{{{|{zzz|zz{{{z|||}{{{z{{{{{|{|{|{}|{{{|z{{{|||{{|{{{{{|{|{{}|{{{z{z|{{{{{{{|{{{||{|z{|z{|{{~{||{|{|{{z{z{{|||{{{|{{{{{|z{{{{{|||||||z{}z{{{|{|||||{{{{{{z{{{{}|||{{{{z{{{z{{{|{|||z{{y{z{{||{z{{zz{{z{zzzyzzzz{zz{z{yy{yyz{yz{z{z{{{zyyzzzz{{{{{|{zzyzyzzzzz{{{{{zzzz{yzzz{{z{z{zzzzyyzyyyzz{{zz{z{zzyzzzzz{{zzz{zzzzzz{zzyz{{{zzzyyyzz{zy{z{{{z{{yyzyzzz{|{{{zz{{zzzzzzzyzzz{zz{zzzzzyz{zz{{{{z{zz{zyzyzzz{{zz{{{z{{zzzy{zy{zzz{{{yzzz{zzz|z{zz||{z|{zz{z{{z{{|{z{z{{z{z{|{{zz{{|{{{zzz{z{{z{{{z{{{{{zzz{z||{|{||{zz{{z{{z}|{z{z|{{z{z{z{{{|{{|{{z{zz{{{{|{{{{}{|{zzz{zyz||{{{{{|{{{{z{z{|}{{{{||{{{{{z|{zz{{|||{{z{zz{{y{{||{{|{|{||{z{{||{|{|{{|z{{z{z{{{{{}||{{zz{{zzz{{{{z{|{{|{z{zz{{|{{z{||{|zz|z{z{z{|{z|zz{|z{zzy{{||{{zzzyzy{zzzz|{{z{{|zzzzzz{z{z|z{|{{{zzyzyzz{z{{z{z|z{zyyzyzzz{zz{{{{zy{yy{zz|{{z{z{zzzzzz{zz{{{{{{{yy{{zyzz{z{{{{{z{yyzzzyz{yy{z{{{zzzzzzzzzz{zz{z{{z{z{{y{{{zy{{|z{zzzyyyzz{{zz|{|yzzzzzzzz{{zz{{{{{zz{zzzz{z{{{{{yz{zzz{z|zz|{{z{zz{zzz{z{{{{{{{{{z{{zzz{{{zzz{z|zzyyzzzy{zz{|||{{zz{yz{zz{{z{{|{{z{zz{{z|{{zz{|{{{{|{yz{{{{zz{{|{z|zy{{{{{}{{|{|zz|{|{{{{{|{{|{|{z|{zzzy{|{{{{{|{z{z|{{{||{|{z||{{|{{{{{{|z{|{{|}|{{z{{{{{|{|{{|{{z|{|{|{{{{{||{|{z|{{{z||{z|{|{z{{{|{z{|{{{{|{|{{zz||zz{||{{{}|{{{{zz{z{{||{{|{{z{zzzzzzz|{{z{yzzz{z{{zzz{{{z{{z{zy{{zzz{{{{|{{zz{zz|{zz{z{|{{z{zzy{yyz{{{{z{{z{yzzz{zzz{z|z{{{{{zz{{zzzzzzz{z{zzzzzzyz{{{{z{{{zyzzzzzz{z|{z{zzz{zyzzzz{{zzz||zzzz{zzzzzz{z{zz{yz{yzzzzz{{zz{{z{zzzzzzyzzz{{{z{{yzz{z{zz|{{z{|{zz|z{yzz{{{z{z{zz{zz{zzzz{{zz{{{yzzzzy{z{{{{{|||zz{z{zz{{z{{|{{{zz{zzz{{{{|z{{{{|zzz{z{yz{|z|z|{|zzzzz{{{|{{z||{{z{zz{{{{|{|{|}{{{{{zz{|{|{||{}|{{z{z{{z|{{{{{|{{{z|{{{{|}}{|}}|{{{{zz|{{|{{{||{|{z{{|{z{|{|{|}{{z{{{{{{{{||}{{{zzz|z{{{{{{{z{||{{{{{{z|{{{{||{|{{yz{{{{{{{{||{{{{||{{{z{|{|{{{{{{zzyz{z{{{{{{y{{{yzzzzyz{{z{y{{zz{zzyzyzzz{{{zz{{{yzz{y{{z{{zz{{{zzzzyz{{{||{{{zzzyz{{z|zz{z{{{{zzzzyy{{{{zzz{zzzzzyzyy{{{zzz{z{zzzzzyz{zz{zy{{zzz{{zzzzz{zz{{zzyzyyyyzzzz{z{|z{z{yyzzzz{zz{{{{|zzzzzyy{{{z{{{{{{{yzzzy{zz{zz|{zy{yzzyzz{{zzz{{{z{zzzz{{{|z{z{{{z{zzzz{{z{{{zz{{{z{zzzz{|{{z{{{zz{{|zzzz{{|{|z{zzz{zz{z||{{{{{|{z{zy{z{{||{{{{|||{yzzzz{{|{|{{{z{{{{|{|{|z{{z{{|z{{{{zz|{|{{|{|{zz{zz{z{}{{{|||{zz{z||{{{{{{{||{{zz{{{zz}|||{|{|z{{z{{{||{|{{|{|y{{{zz{|z{||{{|{{{{{zz{{{{{||{{{z}{zz{{{{{{{|}zz{{zz{{z{{||{{z{{{zz{zz{{z{{z{z|zzzzzzyyz{{{{z|{zz{zzzz{{z{{z{{z{zzzyzz|zz{z{z{{zzyzz{zzz{z|zzz{zz{z{yyz{z{z{{z{{zzyyzzzz{{{z{{{{yyzyyzzzzzzz{zzz{zzyzyzzz{z{{{|zzzzzyy{{zzz|zzz{yzz{zyzzz{{{{{|{z{zzz{zz{zzzzz{{{yz{y{zz{{z{{{z{zzzzyzz{{{z{zz{z{zz{zy{{{{z{{{|{z{zzz{{z{{z{{{{yz{zyz{zzzzz{{{|{{z{zz{{z{{{zz{{zz{yz{zzz{{{z{{{{{z{{{zz{{{{{{}{{zy{{zz{{{{z||{{z|{{{{{{zz||{{|{zz{{{{{{||{|{{||{{{zz{zz|{{|{|{{{{zz|{{{{}|{{{{|{z{{{{{{z|{{{||{|z{{zz{{{|{{{{{{z{||{z{z|||||{|||{{{{{z{{|{{|{||{{zz{zz{{{{|{{{|{{{z{{z{{|{{|{|}{z{z{zz{{z{{{{{{zzz{zzzzz{|{{{z{zyzyzyyzy{z{z{{{zzzzzzzz{{zz{zzz{z{yzzzz{{{{{z{{{z{yyyzy{z|{zz{zz{{yzyyyyz|{z|z{zzzyyyyzz{{{{{{zz{zzzzzy|{{yz{{{zz{z{zzz{zzz{{{zzzyzzyyyzy{y{zz{yzzzyzzz{{{{{{zz{zzyz{zzz{|zzz{zzzzy{yzz{{{z{{{{zzzyyzzyzz{{{{z{zz{zzzzy{zzz{{|{{zzzzyzz|{{{{{{z{z{zyyzz{zz{{|{|zz{y{zzzz{{z{{||z{{{yzyz{z{|{|{{{{zz{zzz{{{{|{{{zz{z|z{zz{{{{|{|{{{{z{zz{z{|{|{|z||{{z{{{{{{{{||z{zz{{{{{|}}||||{z{z{|{{{}{{{{||{{{{{{{{{{z{{|}{{z{z|z{{z|||{{|{{{|{{z{y{||||||{{{{z{y{{|{{{|{{|{|{{|yy{z{|{|{{}{z{zz|z{{||zz||{|zzzzy{{{{|{{{{{{{{zz{z{{{|{z{{zzzzzzyzyz{{{zz{{{yzzzy{z{z|{{{{|{{zyzzyzzz|{|{|zzzz{zzzzzz{{{{{z{{{zyz{z{{{zz{{|zyzzzzyyz{{{zz|{z{z{zz{y{z|{{zz{zzy{zzzzzzzz{|zz{z{yzyzzz{{{z{{{zzzzyzyz{z{z{zz{zzzzzz{zz{{{zz{{zzyyzy{yz{zzz{{{yzzyzzzzzz{{zz{{zyzyzzzyz|{z{{{|zz{{{z{z{z{{z{z{{z{{zz{zz|y{{{|{{{zzz{yz{{{{{{||z{{{z{{{{{{{||{|zy{{zzzz{{||{||{{z{z{{z{{{zz{{z{{zzz{{zz|{{|||{|z{{{zzz{z{{|{{|||z{{{z{{|{||{|{|{z{{{{{{||{{{|||{z{{{|{|{z|||||||z{{z{z{||}}||||{{{{{z{{|{|{|{{|{z{|z{z{{|{|||{||{{|{{{|{{|{{|}|{{z{{{|{z|{{|{|{{|{zz{z{{{||{{|{|z{yzz{zz|{{{}{{{{{{yyzzz{|{zz|{yz{zy{zzzyzz{{{|z{{{{z{y{{zz{{|||{zzzzzz{z||z{{z{zz{zyzxzz{{z|z{zzzzy{{z|{{z{z{{{{zzzzzz{|zzz{|z{zzzzzzyzzzzz{z{zzyzzzzz{{{{z||{{zzzyzzy{{zzz{z{{z{zz{yzz{z{z{{zzzzzzzzy{{{{z{{{{{zzzzzzz|z{||{|{zz{{z{z{z{||{|zz{zzzz{{{{{{z{{|{z{zzzzz{{z{{{||z{{z{yz{{{{{{|{{z{z{{yz{{|{{||||{z{zzzz{z|{|{{{{|zzz{{z{|||{{{{{{zz{{{{{{{{{{{{{|{{|{{{{|{{||||}|{{{z{|z{|{{{{{{|z{{{{{z{{}|{|||{{{|{{{||||{}||{{z{{z{{z{|{{}{|}|{z|{z{|{||||{|}|{z{zzz{{{|}||||||{{|{z{|{{{|{||{z|{{z|{|{{{{}|{|{z{{{{{{|{z|{|{{zzz{z{z{{{z{zz{zzzzzzz{{{{{zz{|zzy{zz{{{{{{{{{|{{{yzyzz{{zz{{{{zyz{{zyyz{{{{{{{zzz{zzzz{{{{{{{{z{zzyyy{z{zzz|{{zz{zzzzyz{{z{zz{zzzyyzyz{zz{z{{zyzyz{zzzz{z{zy{zzzzzzzzz{{{{{{zz{zzzy{{zz{{{{zzz{z{yzzyzzz{zzz{{z{zyz{zzz{y{z|z{zzzzzzzz{{z{zz{{zzz{yyzz{{{{z{|{{z{{{z{z{{{{z|{|zzzyzz{{z{{{{||{{zzzzz{z{{{{{{z{{zz{{z{y{{{{{{|{z|z{{{zz{{{|{||{{{zzzzz|{{{|}}{|{{{z{z{z{{|{|}|{{z{z{z{z||{{{|||{z{|{z{z||||{||{{{|{{|{{{|||{}||{z{{z{{z{|||{||{{{|{|{z{||{||||{{{z{z{y{z{|}|{}|{|{{|{{z}{{|||||zzzz{z{{{|{|}z|{|zz{zzzz{{|{|{{{{z{z{z{zz{|{z||zz{yzzzzy{z{z{{{{zzzzzy{z{z{{{z|zzyzyzz{zzzz{z{||{zzz{zyyz{z{z{{{zz{xzzz{{z{z{zzzzyzyyyzzzz{zz|z{zzzzzyyz{||zz{{{zz{zzzzz{z{{{{zzzyy{zyyyy{{{zzz{{zzzzzyzzz{{{z|zz{zzyzzz{zzzz||{{zzyzzzyz{zz{|{zzzzzyyyzy{zzy{{{zyzzzzzy{z{z{{{{y{zzzyzz{{{{z{{|zz{{zzz{{{{zz{{z{z{zzzzz{{{z{{{z|zz{zzzz{{{z|{{{z{{zz{zz{{{{{z{z{zzzz{z{|{{{z|{|z{{{z{{z{{{{||{{z{zzz{{{{{z{{{||{{{z{z{z{|{|{{|{{zzz{{{z||z{|{||{z{z{{zz{|{{{||{|z{zz{{{{}{||{{||{{z{{{{|{{z|{{|{{zz{zyz{{|{{{{|{z|{{{zz{|{{{{|{z{{zz{{z{{{{{{}{{zzzzzzzz{|{z{{{zzzy{z|z{{zzz{{zy{zzzyzz{{{z{z{zz{yzz{z{{|zz{zz{{{z{zz{z{{zzz{{{zzzzyzzz{z{{{z|{{yyzzyzz|{zzzzz|zzzzzyzz{{z{z{zz{zz{zyzzzz{zz{z{z{{yzyz{yzzzz{{{yzzzzyzz{z{{zz{zzzzzy{zz{{{z{{zzzzzzzzzzz{{{{{{{zz{zzyy{{{{zz{{{zzzzyz{zz{{{{{{zyzzy{zzzz{{{{|{{zz{{z{zzyzzz{|{|{{|{zzzz{zz{{{{{z{zzz{zzz{{|{|z||zz{zz{y{{{{{{{{z{zz{{zz{{{|{{|{zz{{{{z{z|{{{{||{{{zzz{{||{||{{{z{{z{{{{z|{||{{|{z|z{{{{z|{||{{||z{{|zz{|}||||||{z{z{{{{|{{{{|||{{{zz|{{z|{{{|{{|z||{zz|{{|}{{{||z{|{zz{{{{{||||{z{||{{||{{{{{{|{{z{zz{{{{{{{z||{zz{{{{{y{||y|{{{{{zz{{z{{|z{{|{z{{yyzzyz{{{z|zzz{zzyyzzzzz{{{|{{zzz{z{z{zzzz|{{z{{{zyy{{{z|zz{zzz{zzzzzzzzz{{{|zzzzz{zzzz{{{z{z{yzzyzz{{{zzzy|{zz{yzzzz{z{{z|z{{yzy{y{yzzz{{z{{zyyzzzzzzz{{{z{{{zzzyzzyzz{z{{z{zzzyyyzzzzzz{{z|zz{yz{yzzz{zz{{{{zyz{{z{{z{{zz{z{z{y{zzz{{{{z{{{zzz{{zz{|z{z{{{{zzzzzzz{{{{{{{z{zz{{zzyzz{|{{|{{{{zzyy{z{z{{z{{zzzy{zzzz{{z{{{{{{{zz|{{z{|{{||||{{zz|{{z|{zz{{|||z{{{{{z{z{|y|{{{zzz{zzz|}|{{{||{{{z{z{|{{{{|z{{}z{{{{{z{{}{{{||{{{{{z{z||{|{{{{{{{{{z{{{{{||{||{|{{{{{{|{||{|{{z}zz{{z{{{{{z|}|{{z{{z{z{|||{{|{z{zz{{{zz{{{z|z{{zzzyzyyzz{zz{{{{zzzzy{zz{{{{{{||{zzyzz{zzz||||{{{z{z{z{{{{{z{{{{zz{z{zz{z{{{{{{zzzzzzzyz{{zz{zy{z{zzzzz{z{{z{y{z{yzzzzz{zy{z{|{yzzzz{zzz{{z{z{{zzyz{zzz{{{{{{{{zzz{zzyzz{{{|{|{z{zzz{{zzz{{{{zz{zzz{y{zz{{z{{|{{zz{{{zzz{{{|z|{{zzzyzyzz|{zzz{{{{{{{zzz{{{z{{{|zz{zzzzzz{z{{{{{{{{zzzzz{{z|{|{z{z{z{z{z{||{||{{{{{{{zz{{|{{{|{{zz{zz{{z{|||{z{|{{zz{{{z||{||||}|{{{{z{z{||{||{z{{{{zz{{|||{}|||{||{z||{{{{|{}|{}{|{{{{zz}|{{|}||{{|{z{{{|||{|{|{zz{{{{{{|||{|{|{{{z{{yz|||{||{|{z{{{z{zz{|{{{|{|z{{{{{z{{|{{||{{{{zzz{z{{{{{{{zzyyzzzzzzzzzz{{|zzzzzzzzzzzz{|{{{zzzyzzzzy{{zz{{{zz{zyyyz{{z{{{z{zzyyy{z{z{zz{z{zyzyzyyyyzz|zz{zzz{yzzzz{z{yzzyzzyzyy{zyzz{z{{{{zz{{yyyzz{{|{|{{zzzzzzyz{zzz{{|zzzzzy{{zyzz{zz{zyzzzyzyz{z{zz{zz{zzyzyzzy{zzz{z{z{zzzzzz{z{{zz{{zzzyz{z{{{{{z{{{{{zzzz{z{{z{z{{{y{zzzz{zz{{z{z{{zzzz{yz{z{z{z{z{{{zyz{zy|{z{{{{{|z{{y{zz{|z{{}{{{z{zz{zz|{{{{{{{{{{z{zzzz{|||{||{{zz{{zz{{{{{||{{{z{z{z{||{|{||{z{{zz{{{|{{{{{{|{zzzz{{z{{{|{{z|||{{z{{{{{|||{{{{{z{{zz{z{{{|z|{{|{{{{y{{{{{{{{{{z{yzzzz{z|{{|{|{{z{{{{y{|{|{{z{zz{zzzzzz{{{z{{{yyyzyz{zzz{zz{z{zzyyzyyyzzzyzzzzzzxzyzyzzz{z{{{{zzzyzxyzyz{{zz{zzzzyzzzzzz{{z{y{yzyyyzzyy{zzyz{zzzzyyyyzyzzzzzzzzxzyyzzyz{z{zzz{yzzyzyzyy{{zzz{zzzzzyyxyzzz{{y{zzyzzyyyyzzzzzz{z{zzzzzzyyzzzy{zz{zzyyyyzyzzzy{zzzzzzzzyyyz{z{{{{zzzy{yzy{{{zzz{zzyzzyzzy{zyz{{{|zzyzzzzzz{z|z|zzzy{{zyz{z{{zzzz{zzzz{zyzz{|z{z{{{z{{z{zz{{{{zz{{z{{{zzzyz{{||{{{y{{z{z{{{|z{{z{|zzz{{zzz|{{{{{{{z{yz{z{z{|{{|{{{{zzzz{{{{{{{|{{{{y{{z{{z{|{{||||zz{{z{z{|{z{{{{|{zzzz{zz{z{{{|{{{zzz{zz{{{zzz{{{zz{zz{zzz|{|z|{z{{zz{yz{y{{|{z|z{yyyyzzyz{{zzz{zyzyzz{zz{{{zyzz{zzyzyzyy{zz{{|z|{zzyyzzy{zzy{z{{zzzzzzzzzyzzz{{{{zyyyzzyz{y{z{{zyzzzzzzyyy{zzzzzzyzyzyzyz{z{zzzzy{yzzyyzyyzzy{z{yyyyzzyyyyzzzz{zzzzzzyyzy{zz{{|zzzzzy{zyzz{z|{{{zzy{zyzzyz{zyzzz{yzyzzyzyz{zyzzzz{{yy{zz{z{{zzz{{zzyzyzy{{|zz{{{{zzyzzzyzz{zzzz|z{{z{y{{z{{zz{{|z{zz{zzz{{{{{|{zzzzzzz{z{{{|zz|{zz{{{zyy{|zzz{{{{{zzz{z{{{{{{{z{{z{{zzzz{{{{{{{||{{{z{zzzzzz|z{{{zy{z{{{{|{{z{{{zz{zz{{{{|{{|{|{{z{{z{z{z|{|{{{|z{zzz{{{{{|{{{{{{z{z{y{z{zzz{{|{|zzz{z{{{{z{{{|{z{{yzz{z{{{zz{|{z{{{z{zz{{zzz{{{zy{zyz{{{{{zz{z{z{zzzyyz{{|zzzz{zzyzyyzzzzz{{|{z{zyzzzzz{{zz{z{{yz{zzy{zzz{{zz{{{zzyzz{zzzz{z{z|yyz{zzzyyzz{zz{y{zzyyzyz{z{y{zzz{zzyy{yyzzzyyzzzyzzyzyyyzzyz{{zzzzzzyzyzzz{zzzzz{zyyyzzyz{z{{{{{zzzzzzyyzy{z{{zzzyzyzzyz{{zzz{{zzyzzy{zy{{{{zz{{zz{{zyzz{zzzz{{{zz{zzz{z{{{{{{z{y{{zyzzz{zzz{zz{{{{zzyzz{z{z|{{{{{{zzzy{{|{z{{{{zzz{zz{z{{{{z{{|{{{{z{{{|{{|{|||zyzz{y{{{{{|z|{{{{{{zzz{{{{||z|z{z{{{{{{{|{{{{{{z{z{||{{{|{|{{{{{z{{{z{zz||{{{|{{{{{zz{{{||||{|{|zzzzz{{{|z|{{{|{{z{{zyz{{{{{{{{{|zz{y{{|{{{{{{|zzzzzzz{z{|{{y|{{y{zz{yzz{{z{z{{yzyzzyyyyzzz{zz{z{yzzzzzzzzz{{|{zzzzzzyy{z{zzzz{z{zy{yyyzzz{zz{{z{zyzyzyz{{yzzyzzz{zzyxyz|{{z{{yzyzyzyyyzz{zzz{z{zzzyzzyyy{{zz{zyz{zzzyzz{zzz{{zy{{y{zyyyzzz{z{{z{z{yzzyzzzz{{{{zyyzyzyyyzzz{zyz{zzyzzyzzz{{zz{z{z{yzzzzzzz{z{z{zzzzzz{zzzz{z{{{{y{zzyzzz{z{{{zzzzzzyzzz{|{zz{{zz|{zzzz{zzzzzz{zz{zzz{zz|{{{{{{zz{zz{zzz{{{z{{z|{zzzzz{{{{{|{z{{z{z{y{zz{{{{{{{{{{z{z{zz{|{{{z|{{{{{|{z{|{{z|z}{z{{zz{{{z{{{{|{{|{zz{{{{z|{{{{||zz{{{z|{|{{{{{{z|z{{zzzzz|z{z||{{{{{zzzz{|{|{}{{z{{zzz{zzzz{||{{zzzz{yzzzz{|{z{{zz|{zz{y{z|{{{{zzzyyzzzy{{{{{z{zzyzzzy{zz{{||{z|{zyyzyzy{zzz|{z{zzzzzzzzy{{{zy|z{zyzz{zzzz{zz{{{zyzyzzyzz{zy{||z{yzyzyyy{z{yzzz{zzzyyyyzzz{{{y{zzyyyyzzzz{z{{{{{yyz{yyyz{zzz{{zz{z{{x{yzz{{z|z|{yzzyzzyyzzz{yz{z{zzzzzyyyzzz{{z{{z{zzzyyz{z{z{|{zyyzyzzzzyzzyz{zzzzzzzzz{zzzz{z{zzzzzz{zz|z{z{{{{zzzzyzy{{{{z{z{zz{zzzyz{{{|{{{z{z{zzy{zz{{zzyz{{z{{{{z{z{{{{{z{z{zzzz{{{{{|||{|{{z{z{yz{{{{{{|{{z|{{{zz{{{|{{{{{z{{zzzz{{|{{{|{{zz{yzzzz||{{{{|{{{{{z{z{{{{z{{|}zz{{{{{zz{{{||{z{{z{{z{|{z{{{{{{{zzzzzzz{{z{{{|zz{zzyz{z{{{{{zzyzzyyzzy{z{zzy{{yzyz{zyyz{{yzzz{{zzzzzyzyzzz{{{{zyzzzzzzz{z{z{{zzzzz{yzyzz{{zz{zzyxzzyzxz{yzzz{{zzzzzzzyzzzzz{{zzzzzyzzzz{zy{{zzzzzzyzzzzzy{zzz{yyyz{zzzzzyzzzzz{yzyzzzzyyzz|{{zzzzyzzzzz{yzz{{{zzzzzzzzzz{yyy{{{{zzyzzzy{zzzz{zzzzyzyzzz{{{zz|{zy{{zzzzzzzz{z|{zzzzyyzz{{{zzz{{zzzzzzzz{zzzz{{|zzz{zzz{{z{{{{zzzz|{z{zzz{zz{zz{zzzz{z{zz{{z{{{{z{yz{{zzz{{|{|{{zzzz{{{|{z{{||{|{{zzzz{{{{{{{{{z{zyz{zzz{{||{{|{{{|{{{{{{{|{|||||{{{z{{z{||{{||{{zz{{{z{{{|{{||{{{z{z{z{zz{|{{{{zzz{zzz{{{{{|{||{zzzzy{z{{|{{zz|{{{{yzzzz{{{{{{{zzz{zzzyz{{{z{{{zzyyzzzyzz{zyzzzyzzyyyyzz{{{{{{zyzyxzz{yzzz{z{{z{yyyyyzyzz{{{zz{z{yyyyyy{zzzzzz{zzzyyyyy{{zzyz{z{yzy{zyzyzzyy|{zzzyyyzyzzz{{{z{{xyzyzyzy{z{zzz{zyzzxyzzyzz{z{|{{zzzyyyy{zzz{yzzzzyzyyyyzzzzy{zz|zyyyzyzyz{z{z|zzyzzyzzzy{{zzzz{z{zyzzzzy{{z{zy{zzyzzyz{{zz|z{{z{zzzzzzzz{{z|z{{{zyyzzy{{z{z|z{zzzzzz{zzz{z{zz{{zzy{|z{yy{zzzz{{{zz{zy{yz{{{{{{z{{zzz{{{{{|z|{{{{zz{{|{z{{{z{z|z|{yzz{{y{{||{{{|{{zz{{{{{zz|z||z||zz{{|z{z|{{{{{zzz{{{z{z{{{|z|{{{z{z{zzz{zzz{{|z{{zz{{{z{{z{{{{{{{zzz{zyzz{zz{{{|zyzz{z{{{{{{z{zzzzy{zzzzz{{{zz{zzzzzz{yzz{{zz{|zzyzyyyz|y{{yz|}yzzzy{{z{{z{{z|{zzzyzzyzzz{zz{{zyyzzyzyzzz{{{{{{zzyyzzzzzzzzzz{zzzy{zzzy|z{{z|zzzyzyyzyzzzzzz{z{xyzyyzyyy{zzz{z{zz{zyzy{zz{y{{z{zzzzyzzyyzzzz{{{yy{zzyzzyz{z|z{{zz{yyzyyyzzzz{{{zzzzz{zyzz{zzz{zyz{yzzzz{{z{zz{zzzzzyz{zzz{z{{z{z{z{yzz{{{y{z{|{{zyzzzzzzz{{zzzzzzzyzzzz{{{z{zz{{z{zyyzz{{z{{|zzz{{zz{{z{{{{|{{|z{{zz{{zz{{{{|{|z{{{{z{z{{{z|{|{{z{z{{{x{}{{{||z{{z{{{zz{{{{{{{{zz{zz{{{{{{{{{{{zz{zz{{z{{{{|||{z{z{|{zz|{{||{{|{{{{zz{{{|{{z{z{|zzzzzz{{{{z{{|{{zz{zz{{z{{{|{{{zz{{z{zzz{{{|zzzzzzyyxzyyzzyz{{{zzyyyyyzzzzzzz{{zzzyzzyy{zzzz{{{zzzzzy{zzzz{zzz{zzzyyyzxz{yzzzz{zyzzyyyzz{zyzz{{{yzyzyyz{y{zx{zzzyzyxyyyz{zzzzzzyzzyyyyyyyzyzzzzzyyzyyyzzyzz{zzzzzzzyyzxzyz{z{zzzyzzzyzyyzzzzzzz{yzyyyyzzzzzzy{{zzzyy{yy{zzzzz{zzz{yzzyzzzzy{{{zzzzzzyyy{zz{z{{{zyzz{yyy{zz{{zz{zzyxzyzz{{{yz|z{zyyzzzzyz{z{z{|{zyzz{zyzz{{z{{z|zzzzzzzz{{{{{{{{yyz{zzzyz{z|{|{{z{zy{zzz{{{{zz{{{y{zzyzz{|{{{z{|zzzz{zzz{{{{{{{{{zzzz{yz{|{{{{{zzzzzzyzz{|zzz{|{{zy|zzz{{{|z{{{{{zzzzzz{zzz{{{zz{zzzz{zyz|z{z{|{{{y{yzzyzzz{zz{|yzzyyzyzz||zy{zzzzzyyyyyz{zzzyzzzyyzyzyyyzzzy{{{zzzyzyzzzyzzz{{zzzyyyyzzzzz|zzzzzyyyyyzy{zzzzzz|zyyzzyyzyzzz{z{zzyzzzyyyzzzzyzzzzyzyyzyxzz{yzzzzyzyzzyyyzyyzyzzzzxzyyyyz{zzz{{zyzyzzyzyxy{zzzyyzzzyyzyyyyzzyyy{{yzyzzyzyzzzyz{{{yyzyzyzyzzz{z|zzzyyyyzyz{yzy{{{zzzzz{yyz{zzzzz{{zz{yzzzyzy|zz{{{zzyzzzzyzz|{z{{{zyyzzzzzz{{z{z{z{zzzz{{zzzz{{z{{zzyzz{zz{{z{{z{zz{zz{{{z{{{|{{{{zzz{xzz{{{{{zz{|{zzz{zzzz|{{{{|{{yzz{z{z{{{{{{||{zy{yz{{{|{{{|{{{z{z{z{z{{{{{|z{{{y{z{zzzyz{{{z|{{{yzzzz{{z{{{||z{zz{{z{z{z|zz{|zzzzzzzz{||{{z{{zzzzyy{zzz{z{{yzyyyyzyyxz{{{z|zzzzyzyzyzz{zzz|z{zyzyzzyyzzzy{{{{z{zyzyzzz{zzzzz{zyyyyzzy{zzzzzz{yyzzzyzzzzzzy{zyzzzyzyyy{zyzzzz{zyyyyyyzz{zzzz{zzzyzzyyzzyzz{{z{yzzyz|yzzyzy{zzzy{yzx{yzz{z{{z{{yyzzzyyyzzz{z{zzzzyzyxzzzz{zz{zzzzzz{zyyzyzzz{{zzzzxzzyyz{{zzzz{{zzyyzzy{{{zzzzz{zzzzzzzz{z{zz{{|zzzzzzzzzz{zz{zzy{yzzyz{z{z{{{{zzyy{zzz{{{{y{{{{zyz{z{z{{{{z{{{z{{|{zzz|{z{zz{{zzzyzzyz{{{{{{{{{zzzy{zz|{{{{{|z{z{z{z{{z{|{|{|{{z{{zz{z{|{{|{{{|y{{{zzz{{z|z|{|zz{zz{z{{z{{{{|||z{{|zz{{{z{||{|yz{yzzzy{|{{{{|{z{{zyzyzz|{{{zzzzzzyyyzz|{z{z{{yzzyzzyyyy{z{z{z{zyyzzzzz{{{zzz{{{zzyyzzzzz{zz{{{{yz{zzz{z{z{zzzz{zy{yzzy{z{{{{{{{zzyzzzyz{zzy{{z{zyzzzzzzzzyz{{zzyzyzyz{zzzz{{{{yzzzzyyzzzzy{z{{zzzz{zyzzz{zzzz{yz{zyzzzyyzz{{z{zzzzyzzzy{{{z{zzzyzyyyzzz{zyzz{yzyzzz{yyzz{{{z{{zz{zzzzzzzz{z{zzzzzzzzz{z{{zzz{zyzzzyyzzz{|{z{{{{zzzzzyzz|{{z{{{zzzzzzy{z{{{{{{{zz{zzyz{z{zz{z{{z{z{z{zz|{{{z{{zz{z{|{{z{{{{|{||z{{zz{z{z{{{{{|{|z{z{zzz{|{z{{||{{{zy{{zz||{|||{{z{{{z{{{{||{{{|{{{{{{{{|||||{{|{z{{{z{z{{|{{|||{zzzz|zzz{||{{||z{zy{zzz{{z{z|||zzzz{{zz{|{{{{{{zz{{{z{zz{{{{{z{zyyyzzxxy{{y{z{{yyzyzyyyzzzzz{z{zzzyzzyyzyz{z{{zzzyzzyyzyyzzy{z{zyyyzyzyzzzzyzz{zzyyyzzyzz{zzzzzzyzzyzyyyzzyzzzyzxzzy{zyzzyz{zzzyyyxzyyzzzyy|zz{yzzzxyyyzz{xz{zz{yyzyyyyzzzzzy{zzyzyyyzyyzzzy{zzzzyyyzyzz{yyy{{{yyzzzyyyz{z{z{zzzzzyyyyy{zzzyzz{{zyzyzzz{zzzz{z{y{zzzzzzzzzzz{{{yyzyzz{yz{{{{{{{{zyyx{zyz{{{{{|z{yy{zzzy{{{{{z{{zzzzzzzy{z|{{|||zz{yzz{zz{{{z|{|zzzzzzzyz{|{zz|{|{zz{{zz{{{{|{|{zz{zzzzz{{z{{|z{{{{zz{{{|{{z{{|{{z{zyzzzz{z{{{{{{y{zzzzzz{|{{{z{{{y{zzzzzz|{{|{{{zzzyz{z{z{{{{{{{{z{zy{{{{{{zz{z{zzz{yyy{{{zzzzzzy{yzzyyz{{{{{{{yzyzyyz{{zz{z{z{{zzyzyyy{z{{z{{{zzzzzzzz{z|zz{z{z{yzy{zyzz{{zzz{{yzzzzzzz{yyzz{zzzzzzyzyz{z{y{z{zyyyyzyyzzz{{{zzyyzyzzyy{zzzz{zz{yzzyzzxzyzz{{{z{zyy{yyyzz{{zz{{yyz{yzzyz{yzzz{{{yyyzzzzzz{{zzz{yzz{zzzzzzzzz{{{zyzzzxzz{z|zz{z{yzzzzzzyz{zzyz{z{yzzzyzzzzz{zz{zzzzzzzzzz{y{z{{{{z{{zzz{{||{{z{zzzzzzzyzz|{{z{{{{{{z{{zzz{{{{|z|zzzzzz{z{z{|{{{{z{z{zzzz{{}{z{z{{zy{{{z{{|{{{{{zz{|z{{{{{{||{|{|{zz{z{{z{|{{{{{|z{zzz{z{{zz{{{{{{{{{z{{{|zz|{{||zzz{{{z{{{{{{{{|{zyzyz{z|{zzz{{{z{z|zzzz{{z{{z{{zzzyzzzzz{{{z{{{zzyzyyyyzzz{zzz{{zzyyyzzz{zzyzzzzzzxzyyyzz{z{z{{{zyzyzzz{zz{z{{{zzzyyzzyzzzzz{{{{zyyzzzyy{z{zz{zzyzyzzyzzzzy{zz{zzyzyzyyzzy{z{z{yyzyzxyzyzzz{zzzzzzyzyyzzy{yzz{zzzzzyyyyyzzz{z{zzyyyzzyxzzzz{yzyzzy{yzzyyyzzz{{z{{{zyzyyzz{{zzz{z{yyzzzzzz{{z{z{{z{zzyzzzzz{{{{{yzzzzzzzz{zz{z{{z{zzzzzyz{zz{{{{zzzyzzyz{z{{z{|{{z{yyzzzz|z{{{|z{zzyzzzz{z{{{{{zzzzz{{{z{{z{{|||zzzzzzzz{{|{{{|{{{z{{z{z{{z{{{{{{{{zz{zz{{z{|{{|{zzzzzzzz|z{{||{z{z{z{zz{{{{{{|{zzzzz{z{{{{{{z||{zzz{{{z{|{{{z{{z{zz{zyz{z{{z{{z{{{y{{zz{z|{z{||zzzyyz{z{z{{zzzzzyxzzyyyzzzz{zz{zyyzyzyz{zz{{{zzzyy{zyxyz{y{{{{{{zyzzzyz{z{|zz{{zzyzzyyy|{|yzz{zzyzzz{yy{{yz{zzzz{zzzyyzzzzzz{z|zyzzyyzzzz{z{z{{zyzz{yzzz{{zz{{{{zyzyyz{z{zzzyz{yzyzz{zzz|{z{zz{zyzyzzzzzz{{zzz{yyzyzz{yyzz{y|{{zzzz{yyzz{z{z{{{zyzyyyzzz{zzz{z{zzzzzyyzzz{{{{{{zzz{yzzzz{zz{{z{{zz{{yy{z{{{{{z|{yzyzzzz{{{{z|{zz{z{{{{z{{{{{{{zzzzzyzzz{zz|{{{}z{{z|zz{|z{{{{{|{yz{{{y{|{|{{{{{{zzz{zz{||{{z{{{{z{z{{{z{{{{{{{{{zzzy{z{z{{z|||{|{z{zzyz|{{{{{{z{{{{{zyz{{|{z{{{{zz{z{zy||z{{}{|{zzzz{zyz{{{{z|{{zyzzy{z|{zz{z{{zzz{zz{y{z{zzzz{zyzzyzyzyzzzyzzzzzyzzyyzyzz{zzzzzzzyzzzyy{zzzzz{{zzyyzzzz{{zyzz{yzzzyzyzz{{z{zzzzyzyyyzxyzz{z{zyzyyyyyyzy{{yzyzy{zxyyzyyyzz{yz{zyyyyyyyyz{{zzyzzzyyyyyyzzzzz|z{{zzzz{zzyzzzz{z{{zyyzzzyyzzyzzzz{zyzyyzyyy{zz{zzzzyzzyz{zzzzzz{{{{zzyyyzyzzz{zzzzzzzzzyyyz{z{{zyzzzzzyzyzy{{zzz{zzzzyzyyzy{{zz{{{zyzzzzzyzzz{zz|{zzxyzzy{z{{{z{{{{z{yzyzzz{{|{{{|{z{z{zz{z{z{z{|zzzzzyzzz{{{|zz{{{zz{{zzz{|zz{|{{{{|zz{z{{{z{{{{{|z{z{{{zz|{{{{{z{z{{zzzzz{z{{{{{{zz{z{z{{z{z{{{zz{{z{y{z{{y{{{{{zzzzzzzzz{{{z{{|{zzzzzz{{{{{zz|{{{z{yyz{zz{z{|z{zyzyzyxyz{zz{z{zzyyzyzzyy{zz{z{{zyzyyzyxyzz{{z{z{yyzzzyyzzzzzz{{zzzyzzyyzyz{{z{zzzyyzyyyzzzyzz{yzzzzzyzzzz{zz{zzyyzxyyy{zz{yzz{zzzzzyyyyzzy{yz{yzyyyyzyyzz{zzzz{zyzyyzzyz{z{{{{|zyzyzyzyyz{zzz{{{zzyyyyyyzzz{zz{zyzzzzzyzzzzz{z{zzyzzyzz{{zz{{z{{yzzzzyyzzyzz{{{zyzzzzyzzy{|{||{{zyzyyzzz{yz{zz{{zyyzzzzzy{{{{{zzz{zzyyz{{{z{|z{zzzzz{z{z{|{{|{{zz{zzz{{{{z{z{|{zzz{zzyzz|{{{{z{{zz{z{{y||{{{|{z{y{zy{{{{{z{{{|{{{yzz{z{{{|z{{z{{{zz{zy{{{z{{{{|{z{z{zzz{zz{{|{{{{{z{{zz{{{{|{|zzzzzz{{z|z{{z|{|{z{zzzzz{||{{{z{{z{yyzzzz{{z{{yzzzxyy{{y{zzzzz{{zzyz{zyzy{z{zz{zzxyzzzzz{zzz{{{{zzzzzyzyzzzzzz{zzzzzxzzyzzzyzz{zzyyzzzyyz{{zzz{yzyzyyyyyzzyz{{{zzx{yzyyzzzy{zz{{yyzyzzzyzzzzyz{zzzyyyzzyzz{zzzyzxyzzyyy{zz{zzz{zzzzzyyyzx{zzyz{zzyyzzyyzzz{zyzzzyzzyy{{yz{zzzzz{yzzyyyzy{z{zzz|y{zyzzyzyyzzz{{z{yy{xzz{zzzzz|{{zyyzyzyzyz{zy{{{z{{zzyzyyzz|z{z{zzzzz{zzzz{{zz{z|zz{zzzz{z{{|{zz{zz{{{{{z{z{zz|{{{zzzz{zyz|{{|z{|zz{yzzyy{|{|{{{z{z{zzzz{{{{{{{{{{{z{z{z{z{{{{||z{z{{{z{z{{{{{{{|{zzz{zz{zzz|{{{{{yz{{zzz{z{|{{|{{zz{zzyz{{|{{{{|{zzyzzz{yz{{{z{zzzzzyzzzz{zz{{yzzzzyyzzyyz{yzzzzyyzyzxyyyz{zzz{zzzyxzzyyzy{y{{zzzyyzyyyxz{zzzyz{zyzxyxzy{zz{zzz{yyzyyzzzz{yyzz{yyzzyzyyyzzzzzzzzyyyyyyxzyyz{zzyzyxyyzyzzzzzzzyzzzzyzyzyzzzzyz{zzzzzyyyxzz{z{{zzzzyyzzyzyz{{yzzzzzyyzzyyzyzzyxz{{zzzyzzzyzzzzz{z{zzzzzyyyzy{zzzyzzzzzyyzzzyzzz{{zyy{yzzzzz{{{{{{z{zz{zzzz{zz{z{zzzyzzzzzyz{zz{z{zz{zz{z{{{{z{{{zzzzzzzzy{zzz{{zzzz{{z{zzz|{zz{||zzzyzz{zyz{|{z{{{{zzzzzyy{|z{zz{{zzz{{{zy{|z{|||z{yzz{zzz{{{|{{|{{z{zzzzzz{{{{{{{{y{z{zz{{{{z{z|{{{zz{zzz{|{{{{{yzzzyyyzz{{y{z{|{{zzzzz{zz{{{{z{zzyzyzzyyz{zzz{z{zzyyzyyzyzyyz{{{zyzyyyzzzzzyzz|{zy{yyy{y{zzy{z{zzzyyz{zzz{|z{z{{zyzzyzzyyz{zz{{zyzyyyyzyz{zz{zzy{xzyzzyzzz{yz|zzzyzzyzzzzyzzz{{{zzzxzyz{y{zzzz{{yyzyyyzzz{{z{{{z{yyyzzzzzzzzz{zzzyzyzyzzz{zzz{z{z{zzzyyzyzy{{{z{zzzyz{zyzzzz{{{{zzzz{yzyz{{zzzz|zyzzzyzzzzzz{{{{yzz{zzyz{zz{{{z{z{{zzzyz{{{{{{{{zz{zzzzzz{{zzz{{zzzzzzzz{{|zz{{zzz{zzz{{{{{|{||{{z|z{{zz{|{{{z{{{zzz{zzz{|{{|{{{zz{{zy{z||{{{{{z{zzzzzzz{|z{{{{||{zzz{{{{|z{{}{|{zzz{y{z{zz{||y{{z{yzz{zz{{{{{{|{{z{zz{z|{{{{{|{{{{y{z{{z{{{{{{{{{|{zyz{z|{{{{{{{{zyzzzzzz{z{{z{yzyyzyzzz{{z{zz{{zzzzxzyzzzz{{{z{zzxzyyzyzzz{{{{yzzzzzyz{z{z{y{{{{zyzxzy{z{zzzzzzzzz{zzyy{{yz{zzzzzzzyzzz{{zz{zzzzzzzzyyzzz{z{{{zzyzyzzzzyzzz{{zzyzyyyyyz{{z{{{zyyz{yyyzz{{zz{{zzyzz{yzzyyz{z{zzyzzzzz{yzzzzz|{|zzzzzzzyyzz{z{zz{z{zyzyz{{{zz{zz{yzxzzzy{{{{zz{{z{{z{yz{zz{{z{{{zzz{yzzzyzz{z|{{zzz{yzzz|z{{zz|z{zy{zz{yz{|{z{z{{{z{{{{z{{{z|{{{zzzz{{z{z|{{z|{{{{zzzy{yz||z{||{{zzz{z{z{{{{{{}{{z{z{|{z{{|{{{{{|{{{{z{zz{|{{{||{{{{zz{{{|{z{{{{{{zzzzzz{{{{{z{|{{z{{zz{{z{{{{{{zzyzz{{{y{zzz{{{|{{{zzz{z|z{{z{{z{{zzyz{z{{z{zzyyyyzyzyyzz{yzzz{zyzzzyyyyzzzzz{{zzyzzzyzyzz{{{{z{zzzyyyyy{{{zz{zzzyyyxzyyzzzzzzzzz{yyzzyzzzzzyzzzxyzzyzyyz{{{zzyzyzyyyyyzzy{yzzyyyyyyyyzyy{zzz{zyzzyyxyzzzzz{z{y{zzzzyyyzz{{{zz{zzzzzyzzzz{zy{z{zzyzzzzyzzyz{z{zzxyyzzzyzzzzzy|y{zzzzxzy{{zz{yz{{yzzzzzyzzzzy{{{zzzzz{zy{z{y{{z|zyzyzy{z{z{{{{z{zzzz{zzzz{{zz{{zzzzzzyz{{zzzz{{zyz{{{{zzz{|{{{|{yy{z{z{z{{z{y{{|{z|zzzzz{{{{z{||zzzzzzzz|{{{{{|{zzz{zzzzz{{{{|{{z{zzz{{zz{{|{y{{{zzz{zz{{{zzz{{{zzzzzzyz{z{{{{{|{zzz{zyz{{z|zz{{{{zz{z{zz{z{{{||{z{zzzzzzz{{y{{z{yzzyzzzz{{{z{{zyzzyzyyxyz{z{zz{zzzyzyzzzzzzy{zz{zzzyzzx{zyzzzz{zzyyyzzzyz{{{z{zzyyyyyyyzzyzz{zzyyyyzyyyy{zzz{{z{yzzzzyyzzzyzyz{zyzzyyyzzyzzzzzzzyyyzyyzzzzzyz{zzzzyzzyyzzzz{{zz{{zyyyzyyzzzzzy{yyzzzyzyzzz{z{{z{yzyzzyzyzzzz{zzyyzzyzyyz{{zzy|{{zyyzzzyz{{z{zzzz{{yyyzz|z{zzzz{{zz{z{yy{z{z{{{{zzzzzzzz{z{z{{zzzzzyzzzzz{z{{{{{zzzzz{zz{{{{{|{{{|zzz{zz{{z{{{{zzz{zzz{z{{z{z||{zz{{zzyz{{{{{|{{{yz{{zzy{{{|{{||zzzz{z{{z{{{{{z{{{{zzzy{{||{{|{{|z{{{{{{{|zzz{zz|zx{zzz{z{z{{z{|zzz{{zzzz{{{{|{{z{zzzzzzz{{z{{|{{z{{yzzyz{{|z{|{zzzzzzzz{{{z{{z{zyyxyyzyyzz{zzzzzzyyzzyzz{{zzz|{zzzzzyzzz{zzz{zzyzzzzyzzzy{{zzzzzyzyzzzyzzz{z{z{zyzzxyyz{{zzzzzz{yzyyzyz{z{yzzzyzyzyyzyzyzyz{z{yzyyzzyzyz{y{y{{yyzzzyzyzz{zz{{z{zz{zyyzz{zzzzzy{yyyzyyzzz{zzz{{zyzyyyyyzyzzzz{z{zzzyzzyzzz{z{z{{yzzzzzyyz{zzzz{{zzzyyz{z{{z{zz{zzzzzzzyzzz{{zzz{zz{y{zyz{z{z{{{z{z{zzzy{{{{{{{z|yyzzz{{y{zz{|zz{|{zzz{z{|{{|{|z{zz{{{zzz{{z{{{||zzzzz{zy|{{{z{{{{zzzzz{zz|{{|{{{{{{{z{{{z{{z{{|{|{z{z{y{z|{{{{z{|{z{z{zz{{{z{|{{{z{z{z{z{z{{||{{z{{z{{zz{{{{{{|{zz{zyzz{z{{{z{|{{{{{{z{{z{{|{{{{{zyzzyzz{||{z{{z{z{zyzzyz{zyzzy{yzzzyyyz{z{{zz{{zzyzzyyzzzzz{zzzzzz{yzzzzzzzzz{zzzzzyyzxzyzz{zz|zxzyyzzx{zy{z{z{zzzyyzzyyzz{yz{zyyzyyzyy{zzzyzz{yyyzzyyyyz{zyz{{zyyyyyxyzyzyzz{z{y{zyzzzzz{zz{zzzzyy{zzzzyz{zzzz{yzyyyyzyzzzz{|{yzzzzzzyzz{{{y{zzzyzzyzzz{zzz{z{z{yyyyzzzz{z{|{zzy{zzzyz{zz{zy{zy{zz{y{yzzzzz{zz{yzz{yyzz{{{z{{{zyyzzzzz{z{zz{{{zzzzzyz{zz{|{{{{|zz{zzyz|{{{z{z|z{{zzzzz|z{{z{zzzyzzzzz{{|zz{{{{{{{zzzzzz{zz||{{{zz{zzy{z}||z|||{{{z{{z{z{z{{{|{{zz{z|zzy{z{{{||{{z{zzz{z{{{z{{|{z|zy{zz{z{z{z{zz{zzyzz{{{{{z||{zzyyzyzyzz{zz{zyyzzzzzyyz{zzzz|{yzzyzzyzzz{zzzz{zzzyxyyyz{zz{{z{zzzzyzyyzzy|zy{zzzyzzzyxzzzz{{z{zzyzzzyzzzzzz{zzzzzzzzzzzy{zz{zzzzyyyzyzzzzzzzz{zyyyyyyyy{zyzz{zzyzzyzyyzzzz{zzzzyyxyyyyzzz{z{zzzzzyyzyzyz{zz{z{zyzyzyyyzzyzy{{{zzzzyzzyzz{z{z{zyzzyyzzzz{zzy{zzzzzzzyyzzz{zzz{{z{yyzzzzzz|zzz{{zzzzzy{yyzz{{{z{zzzzz{zyz{{{zyz{zzzzzyyy{{{z{z{z{zz{z{z{z{{{{{z{z{{yzzz{|{{{{z{{zzzyyxzz{yz{{z{zzzz{{{zy{|z{|z{|{zzzz{{{z{z{{{z|z{zz{{zzz{z{{|{{{z{{zzzy{{{|{{{{|yy{zzz{{{z{{z{{{zzz{z{{{{{{zz{|zz{zz{yzzz{{zz{{{{y{zzzyz|z{{z{{zz{zyzzzz{{{{zzzzyyyyxzyy{zzz{zyyzyzyxzzzzzzz{z{yzyzyyz{zzzzzzz{yyyyyyxyyz{zyz{yzyyyyxyyyzzzy{z{zzzyzyzyyzyzz{zzzyzyzyyzzz{zz{zzxyyxyzyzzyz{zzz{zzyzyzyyz{zzyz{zzyyyyzxzyzzz{zzzzyzzzzyyz{{zzzzzzyyzzxxxyzyzzzzzzyzzyyzyy{zyy{zzzzyyzyxyzyzz{z{{zzzyzyzyyz{{z{{zzyyyyyzy{zz{z{zzzzyyyzyyz{{zyzzz{zzyzzyyz{{z{{zzzzzzyzyy{zz{zy{{zz{{zyzz{{zyzz{{zyzzzyzzz{{z{{z{zz{yzzzz|{{{{{{{zyzzzyzz{{|z{z|{zyzz{yzzz{{{{{{{zz{yzz{{z{zz{z{{{z{zy{zzz|{{{{|{zz{zzzzz|{{|z|{z{yzz{{zzz{yz{{{{zz{y{{{{{z{{z{{z{zzzyz{zz{{{z{{{{zz|yzzyz{{zzz{zyzzzzzzzz{{zz{z{zzzzzyyzyz{yzzzzzyyzyxzyyzzzzz{zzyzyyzyzzzzyzz{zzzzyzxyzzzzzzz{zzzzyyyzyyxy{zzyzyzzzyyzyyzzzyz{zyzyzzyyyzzzzzzzzzyzyzyzxzzzzzzzzyxyyyyyyzyz{zz{zzyzyzyyyzz{z{yz{zy{zyyyyzz{yzy|zzyyzzxyyzy{{zzy{yyyzzzyyyzzzz{zyzyyzyyyzzy{z{zzzzzzzyyyyzzyzz{z{{zyyzxzzzzzz{zz{zzzyyyzz{z{{z{{zzzzzzz{yzz{zzzz{zzzzzyyzzz{{z{{zzy{z{yzz{z{z{{z{zzzzzzzz{zz|{z{{zzyyzz{{{|{{{|||{zzz{zzyzz|z{{{z{zzzzyzy{y{{{{|{{{{{z{{z{|z{{{|{{zzzyzzzz|{}{{{|zzz{zz{z|{{{z{|{{y{zz{z{{zzzz{||{{{zz{zzzzz{{{{z{zzzzzzzz{z{z{zy{zy{zxzz{{{{{{z{yz{yzyzzzzzzzyz{yzyxzzzzzzzyzz{zzyyyzzyzzzzz{y{zzzyxyzxyzyzy{yzzzyzyyyyzyz{{zz{zzyzxxzzyzyzzzzy{zyyzyzzyzzzyzz{zyyyyzyyyzz{zzz{yyyyyzyyyyzy{zzz{yyyyyyxzzzzz{zz{yyyzyzzy{yz{zzzzyyyzyyzxzzz{zz{{{yyyzyyyyzzzz{{zzyyyyxyyyzzzz{zyyzzyz{yyzzzzzzzzzzzyzyzyzzzzz{z{zyyzzyzy{y{{zz|zyzzyzyyyz{zz{z{{{y{zyzzyyz{{y{zyzyzy{yyyzzzzzz{zzyzzzzyz{zzzz{{{zz{zzyzz{z{{{{||yzzz{y{z{z{{z{{|zz{zzzzy{{{{{{{{{zz{yz{zz{{zzz|{z{zzz{{zzz|z|{z|{zz{zzzzz{z|{|{{|zzzzzz{{{z{z{z{{yz{zzz{{{zz{{{{{{{z{zzyzzz|yzz{{zzzzzzzzzz|z{{{{zzzzz{zz|{{{{{{z{{zzzyzz{zzz{{yyzyyzzzzz{zzzzzzzzzzzyzyzzz{{{zz{zyyyyzzzzzz{z{z{y{zzyzzzz{zzz{{zzyyyzzz{y{zz|{{zzzz{zyyzz{{z{z{zyzyzyzy{{zz{{{zzzyzzyzyzyyzzz{{yyzyyzzyzzzzzzzyzyzyyzyyyz{zzz{|{zz{yyxyz{{zzz{{zzzyyyyzyyz{z{zyzzzzyyzzyzzzz{{{yyzzzz{zz{z{zz|yzzzzzz{zz{{{yzy{{zzzzyyzzzzzzz{{zzzyzzyzz{|z{{{zzzz{zyzzz{{{z|{z{z{zzzyyz{z{z{{zzz{zzzzyz{z{{||zzzzzyzz{{{z||{{{yz{{{z}{{{{{{{|{|zz{z{zz{{{{{z|{{{{{{z{{{{zz{{{|{{zzzzzz{{{{|{||{z{{y{zz{|{|{|||{z{z{{{{|{{{{{{zyyz{{zzz{{{{{{|{|zzzz{{{{{{|{{{|{zzzzz{z{{||z||{|zz{zzzzz{z|z{{{zzzz|zzyz{{{zyzzyzyzyyzy{z{zz{z{zzzyyzxzzzzzz{z{zzzyyzzxzzyyz{z{zyzyyyzyzzz{zzz{zzyyyzzz{yz{z{zzzzyzz{zyyzyzzz{z{zyyzyzzz{{yy{zyzyzyyzzx{zy{{zzzzzyyzzyzz{z{{z{{zyy{zyyzzzzzy{zzyyyzyzyzz{{zz{y{zzyyyzzyy{{z{zz{zzzzzyyyzzzzz|z{zzzyzyzyz{{zz{zzz{zyzyzyz{{{zz{{z{yzyyzz{zyz{z{{zz{z{zzzz{{zz{{zzzzzzyyz{{{{zz{{zyzzyzyzz{{{{zzzzzzzzzzz{{z{z{z{{z|zzyyz|z{{{|{zz{z|z{zz{zz{{{{|{zyzzzzz{z{{{|z{{zyzz{zy|{{{{|{|{zzz{zzz{{z{{zzzzzz{z|zzz{{{{{{|{{{{{z{z{|{{zzz{zz{zzz{z|z{{{||{{yz{{zyz{|z|{{z{z{zy{{yz{{{{{|{{{yzzyz{zz{|z{{{{{zzyzzzz{zz{zyyzzzyzzyzyzzz{yz{zzzzzzyyzzyy{{z{zzzyzzyzzzyzy{{{{zzzzzy{yz{zzyzzzzzyyyzzyz{{z{{{{zzyzyyzyy{zzzz{z{yyyyzzy{zyzyzzy{zyyzzyzzyz{zzz|yyzzzyyzzzzyzzz{{yyzyzyyzyzz{y{zzzyzyyyyy{z{{zzzyzyyyz{yyzzy{zzzzyyyyyyyy{z{zzz{zyyyzyyyzyz{{z{{zzyyyyzy{{zzzyy{yzzzzzyyz{{yz{z{zzzyyzzzzz{zz{{zyzzzzzyyz{{{z{z{zz{zzz{x{{{{z{{{zzyzzyzz{{zzzz{zzz{zzy{{{zz{|{{|yz{zzy{{{{z|{{{|zzzzzzyzz{{{{{{z{zzzzyzz{|z|z{{|{zzzzz{yz{zz{|{|z{z{zz{zz{{{|{z|z{z{zzz{{{|{z|{z{zzzzz{yz|z{{{||{{{zy{{{|{z{||{{zzzy{{{zz{{z{{{{zzzzzzxz{{{{z{{{zz{zzzyy{zzz{zz{zz{zzzyzy{zyzz{{yzzyzyzyzzzz{{{zzzyyzzyyzyzz|zzzzzzzyzzyzz{zzyzzzzyyzzzyz{zzz{z{yzzyzyzzz{zzzz{zzyzyyzyyzzzzzz{{zzzz{zyzzyz{z{z{zzyzyzxyyzz{zzzzyzzzyzyzzzzz{z{{yzzzyzzyyz{{{z{|zyzzyyyyzyzyyzzzz{zzyyzyz|zy{{{{zzyyyzyyzzzzzz{zzzzy{xyyy{z{{zyzzyyyzzzy{zyz{{{{zyzzzzzz{z{zzz{{{z{zyyzzzz|{z{z{zyzyyzyyz|{|{{{z{yyzzxzz{{z{z{y{zzzyz{zz{{|z{|{{zz{zzzzzzz{zz{{{zzy{zyzz{{{{|{{|zyzzz{{z{{z{{z|{z{{zz{{{{{{{{{{{{{{zz{zz{{{{z{||zzz{z{{z|{{{{|{|{zz{z{zzz{zz{{{}{zzz{zy{{|z{{{zz{zzz{z{{z{{{{{||zz{z{zzy{{{{zz{{yzzzzzzyy{yzzzzyzzyyzy{z{{zyzz{{z{zzzyyx{zyz{zzz{zyzzzzyz{zzzz{{zyyzyyyzzzz{zz{{zzyzzzyyzz{zyzz{zyzyyzyyz{zyzzzzzzzyyzyz{z{zyzzyzxyxzzyyz{{{z{zzyzzzzzyz{z{zz{{z{zyzzzyy{z{z{z{{yyzyzzzzyzyzzyzzzzyyxyyyzyzzzz{{zzzz{yyzz{{z{z{zzzzzzzxy{zz{z{{{zyzzzzzzy{{{{z{zzzzzzzyz{{{zz{{|zzzzzyyy{zzz{{{{zz{zzzzyyzzzz{z{{zzyz{zz{{{zz{{{zyzzzzzzz{zzz{z{z{{{zzz{{|{|{{{{z{zyzz{z{{z{{{{{zyy{zzyyz{{{{{{{|zz{yz|z{{{{{|{{{zzzzz{zz|{{{{{{{z{z{zzzzz|z{|{|{z{{zzz{{{zzz{{{{z{zzyz{|{z{{{{|{z{z{{zz{z{zz|{{{{{zzzz{z|z|{{{{zzyzzzzy{{{|{{zzyyz{zzzz{{zzyzz{yyzxyyzzzzz{zyz{zyyyyyyzyyyyzz{zzzyyyzyyyyzy{{zzyyzxzyzyzzyyzzzzzzzzyyyxzyzyyzz{yyyyyyyyy{y{{zzzzyyyyxyxyzzzzz{zzzzyzyzyzyzzz{zyyxyyyxyyzz{zzzzyyyyzyzyzyy{z{zyzyyzzyxyyz{yzzy{{z{zyyzyyzyyzyzy{yzzyzyzyyzzyy{zzyyzyzzxzzzyzzzzzyyzyyxyyz{zzzzzzy{yzyyzyzzzzz{{zz{xyzzzzy{{z{z{zzyyzyzzzy{zzz{zzzyyzzzyyzz{zzz{{{yyzzzzyzzz{z{zzzyyzzyzz{zz{{{{{z{zzyzzz{zyzzz{{zzz{zzyy{z{z{{{{zy{zzzzz{{{{z|||zzzzzz{{z{{{z{|{{zz{z|{z{|zz|z|{z{{{zzz{{{z{{{{{zzzyzyzz{{{zz{{|{zz{z{zzzz{{{{z|z{{z{zzy{{zz|{{{zzzzyyzzzz{{{z{zzzzzyzyy{{zzzzxzzzzyyyyyzzzyz{zzyyyzzyyzyzzz{{{{zzzyyyzzzzzzzz{zzyzy{yzyyzzzy{{{zzzyyyyyz{zyzzz{yzyyyzzyyzzyz{zy{yzzyzyyzy{zzz{zyyzxzyyyzzzzzzzzyyyzyzyzzz{{z{zzzyzyyzyzzz{{zzzzyzyyyyxyzzzzy{{zyzyy{zzyzzzzzz{zzzyzzzzxx{zzzzz{{yzyzzzzzz|zzzz{zyzzyyzyy{{yzz{{yzyzyzzzyzzz{{z{zyyzyyyzy{{{zz{zzyzzzyyyyzy{zzz{zzzzyz{y{z{zzz{|zzzzz{yy{{zzz{{zz{{zyzzzzz{{z{{{{zzzz{z{{{{{z{||{zy{yyzyz{{z{{z{zz{y{zzz{{z{|{|{yz{zzz{z{{|y{{z{{z{zzzzz{|{z{{{{zzy{{{{{{{{{{z{{{zz{{zzz{zz{z{{|z{zzz{zz{{{{z{z{z{{yyzzzy|y{z{{{{zzzzzyz{{{zzz{{zzyyzyzzz{zyzzz{{yyzzyzxzzzzyzyzzzzzzyyzz{{{yzz{yzzzzyyyzzzzzzzzzzzzzyzyyyz{zzzzzyzzyyyy{zzz{{zzyyzzyyzxyzzyzzzzzyzxzyyyyz{yyzzzxyzyyyyzzyyzzzzzxyyyzzyyy{zyzz{zyzyzyzzyzyzzzzzz{zyyyxyzz{{{zyz|zyyzzxyyyzyyz{{zzzyzzzyyzyzyzzz{yzzzzzyyz{zz{zyz{xyzzyzzz{zzz{{{{zzyzyyzzz{{z{z|{yzyyyzz{{zz{z{yzzzzyyzxz{{zzzz{zzzzzyyyy{{{y{{zzzzzzzyzzz{zzzz{{zzzz{zz{zz{{{{{zyzzzzzz{{{{{{{zzzzyz{{z{z{|{{|z{zzzzz{{z{{{{{|{zz{zy{{zz{y{{{|{{zyz{zzzz{|{{|{{zzzzzzzz{{zz{{{{{zzyzzz{|zz{{z{|{z{z{zzz{{{|{{{|{z{yzzzy{zzz{{{{{{{zzzzzy{z{zz|{zy{yzzzyz{z{{zzzzyyxxyzyzy{{z{yzyzzy{xzz{zzzzz{zzyzzyzyyyzz{z{{{zzxyyzzzzzzzz{{{zzyyyyzyz{z{z{z{yyzyyzyyyzzzzz{yy{zyyzzyy{zzzzyzyzyyyzxxyz{{{z{zzyyyyyyyz{zyzz{zyyyxzzxyzzzy{zzyzyyzyyyyzzzyz{{zzyzxyyywyzzyzyzzzzzyzyzyzzy{zzyyzz{yyyzyzy{{y{{{zyyzzyyzyzzzz{{{{yyzyyyyzyz{{zz{zzyyzyzzz{yz{zzzyzzzzyzzyz{zzz{zzzzyzyzyyz{{yz{{z{zzzzyyz{{z{{{{zzyyzzyzz{z{|{z{yzyyyyzzz{z{{{|z{zyzyyxzz{zz{{{{{yyzzyzy{{{z{{{{zzzzy{z{zz{zz{{z{{y{zzyyz|{{{{{{{yz{{z{{z{z{zz{zzzyz{yzz{{z{{{z{z{z{{zz{z{{|z{{zzzzyzzzyzz{z{{{{{{zz{zzzz|zzz{{zzz{yzyyyzz{zz{yzzzyyyyyyy{{{zzz{zzyyyyyzyzzz{{yzzzyyzzzyzzzz{z{zzyzyzzzyyyyzzyz{zyyxyyxzyzzzzyzzyxzyy{xyyz{zyzzzyyzzyzzzzyzyzzzzzzyyxzxyyyzzyzzzzyzyzyzyzzz{zz{{zzxyyxyzzzzzzzzzzzyyxzyxzz{yzzzzzzyyyzzxyyzzy{zzyyzyyyyyyyzyzzzzyyyyzyyyzzz{zzz{zyzyyyzzzzz{z{{|zzzzyyz{zzzyzzz{zzzzzyzyzzzz{{{{zyzyzzyzzzz{{|zzzzzzzzzzzz{zzz|zzzzyzy{{{{z{{{|z{zzz{yzyzzz{{{{z{zz{{yyz{{y{{|{{zzz{zzzzz{z{z{zz{z{zz{yzz{{z{{{{zyyzzz{{{{z{{{{z{{zzzzzyz{z|{{{{zz{zyzzz{{y{{{{z{z{zy{y{{zzzz{{{{zz{zzzyzzz{{||{zzzzyzz{zzz{{z{{{zz{yzyzzzzzyzz{zz{zzzzyzz{{y{{zyz{yzzyyz{zzzyzzyzzz{yyyzzzzz{zzyyyyzzyyzzz{{{{z{yzzyyzyyyzzzzz{zy{yyyyyzzzz{zz{yyzzzzzyy{{{zzzzzy{xyyyzzzzyz{zyzyyyzyyzyyzyzy{zzyzzzyzzy{zzzz{zyyyzzyyxz{yzzz{zyyxyyyyxyzz{yz{{{zzzzyzyyzzyzzzzzyzyzyyzy{{zzzyzyzyzy{xyzyzz{y{zzzyyzyzzyzzzy{z{{zyyzyzzzy{{zz{zzzyzyzzyzzz{{{zzzyzzz{zzzz{{{zzz{yyzzyyz{{zz{z{z{{zzzzz{{|{z{z{zzz{yzzyzzz{{{z{{z{zz{z{zzzz{{{{{{y{zyy{z{zz{{z|{zy{{yz{{||{{{{{{zyzzzz{{zz{{|{{{{x{z{y{{y|{z{{{zzz{zzz{{{{|{{{{{zzzzz{{z{{{z|{|{z{zz{zz{z{z{||{{{z{y{zzzyzz{{z{{zzz{z{{{z|{{zz{{zyyzxzyyzzzzzzzyz{{yxyzy{z{{{zz{yzzzzyzzz{{zzzz{zyyzzzzzzz{yz{{zzzzzyzzxzzz{zz{{zzzyyyyzzzzzz{{zyzzy{yzzyzzzyz|zzyzyzzyyzzzyyzz{yyyyyyzyzyzzzzzzzyyxzyxyyzzz{z{zyyyyyyzz{{zz{zzyzyyyzyzz{z{{y{z{zyyzzyyzyz{zzzzzyyyzzyyzy{zzyz{{yyzzzyyyyzzzzz{y{yyzzyyyz{{zzzz{zzzzzyzz{zzyz{{zyzzyyzzyy{{{{z{zz{{zyyzzzzz{zzy{{zz{zyyzzz{zzzzz{zyyzzzz{z{zz{{{zzzyzzy{{{{{{{z{z{zzzz{{{z{{{{{{{zy{y{zyz{|z{zzz|zzzzzzz|{{z{||{{zzz{{z{{{z{z|{{|z{yyz{{z{{|z{{z{zzzzyz{{z{{{{{{{yzzzz{zzy{zzz{|{zzzzz{{{{z{{{{|zzz{zy{{z{z{{{z||{zzyzzy{{z{{{|{{zzzzzyyyz{z{{{yz{{yyyzzzzzzz{zz|zzzyyyyyz{z{zz{{yyyyyzyzz{{zzy{zzzzyyyyzz{{zzzz{y{yyyxyz{zz{z{{zyyzzyzyzyzzz{z{{xyyzyzzzz{zyzzzyzzyxzyy{zyzzzzzyzyyyzzyzyzzzzzyzyyxyyyyz{{z{zzz{yzyyzzyyzzzyz|zzyxyzyyxzzzzzz{zzyyyyzyyzzzzzzzzzyyzyzzzzzzz{z{{zyzyzyyzzzz{{zzzzyyzyzzz{z{|z{z{zzzzyyzzz{z{z{{zyyzzzzzzz{zzz{{zzzz{{zyy{{zzz{zz{zyyzzyy{{zzz{{zz{zzzzyzxz{{{{z{{zzy{z{z{{z{zz{|z{zzzzzy{{{|z||{zz{zzyzz{||z|{||{y{zz{zz{zz|{{z{zzz{z{zzz|{{z{||{{zzyz{z||{{{{z{zyzzzzzzzzz{z{{{{zzz{{zzz{{{{|z{{zzzzy|yz{{z{{{|{{zzzzzz{{z|zz{{yzzyyzyzzzzyzzzzzyzyyyyyyzzz{z{yzzyxyyyyzzzz{zz{zyyxzzxzzzzzyzzyyyzzyyyzzyzzzyzyyyyxyzzyzyzzzzzzzzzyyyzyz{zyyzzzzzzyzyyyyzzzzzyzzyyyxyyzyyyzzzzzxyxyzyyyyzzzzzzyyyyxyyyzzz{z{yzyyzzyyzyxzy{{zzzzyyyzyyyyyyzyzz{yzyyzzzzyyzzzz{{zyyyzzzyx{yzyyz{z{zzzzy{yz{z{zzz{zyyzyyz{yzz{{zzzzzyzzyzz{{{zzzzz{yzzzyzzzzzzy{zzyyzzyzzzz{{z{{|{zzy{zzzzzyzz{zzzzzyzzzy{z{{z{{z{zyzzzz{zzz{{{{{{zyzzyzyz{{{z{{{{zyzz|zzzz{{{z{z|zz{zz{z{z|z{z{{{{zzzzzzzz{{z{{{{{zz{zyzzzz|z{{{zyyyz{zyz{zz{z{|{{yzzz{zzz{z{{zz{zyzyzy{{y{{{{{{z{{{zzzyy{zzzzz{zyz{zzzzzzzzzz{{zzyzyyyyzzzzzyzzzyyyyyzyyzzzzzz{zzzxxyyzzyzyzz{zzzyyzyyyyzzz{zz{zz{yyyyxy{yzzzzyzzyyyzyyyy{{zzyz{yyzyzzyzzy{yzzyyzyyxzzyyzyz{zyzzyyyxyyyyyyzy{z{{zyyyyyzyyyzzyzzzzyzzyzyyyzzzzzzzzzzzzxyxyzyyyzzzyzzyyyzzy{xz{{zzyyyzzzzxyyz{yzz{yzyzzyzzzzzyzz{z{yzzyzzzzzzzzzz{zyyyyyyzzz{zy{z{zzzyzyyzz{zzz{zzyyzyyzxz{{{zzzz{yzzz{zyzzz{zzzz{yz{zzzyy{z{{{{{{zzzyyzzzz{z{zz|zzzyzzyzyz{zz{{{z{yz{zzz{z{z{|{{|zzzzz{{{z{z{{z{{zz{z{z{y{|{{|{}|zzzzzzzz{{{z{{{{{yzyz{{{{{{z{{||{{z{{zyz{zy{zz{{{zzzzzzz{{{zz{{{{{zzz{zz{{z{zz|{zzz{zyzzzzzyzzzzzzzyyzyyzyzzzz{zzzzzzyyzyzz{{y{{{yyyzyyz{zzyy{zzyz{zxzzzzz{yy|zzzyzyzzzy{zzzzzzzyyyyyyzyz{yy{z{yyyzzyzyyz{zyyy{{zyyyzyyzzzzzz{y{zyyyzyyyyzzzyz{zzyyyxyyyzzzzzz{{zyyzyzyy{{y{yzz{zyzzyzzzz{zzz{{z{yzyzyzzzzyzzzzzyyzzzyyxz{z{z{{zzyzzyyzzzzzzy{z{zyzyzzzz{{yzz{z{zzzzzzzzyz{zzzz{zzzzyzzzy{{{zz{zz{zzzyzz{{zzzz{{z{zzzzyzzz|zz{{zzzzzz{yz{{{{z{{{zzzzzz{{z{{{{{{{zyz{zzzyz{{{|z{z{yzzzzzyzz{{z{{{{zzzzz{z{z{z{{z{{zyzzzz{{{{z{{|{{z{z{yz{|z{{z{{{zzz{z{z{z{{{{|{{zzzzzzzz{{z{|{|{{{yzzz{yz{{{{|{{yzzzzzzyz{{z{zz{zyzz{z{zzz{yzz{zzzyyzzyyyzzzzzy{yzyyyyzyyzzz{z{zyyzzyyzzyz{z{zzzyzzyyzxyyy{{yzzzzzyyyyyyzzyzy{z{zzzxzzzyyzzzx{zzzyzzyyyyzz{zy{z{yxyxyyyxzzyzy{zzzxzyzyz{yzzyzzzzzyyzzzxyzz{y{zzyzyzzyyyzyz{{y{zzzzyyyxzyzyzy{z{zyyyyzxyzyyzzzzz{yyz{zyzyzzzzzz{{yzzzzzzzyy{yz{{{z{yzzyyzzzzzz{{{zzz{yyyzzzz{zz{{zyzy{y{zzyzzz{zzzyzyyzzzz{{zy{{zzzzzyzzz{zzzy{zz{zzyy{yzz{{{{{{|zyz{zyz{{zz{z{{|zzyzyxzyz|{{{{{{{zzz{zzy{{z{{zz{zz{zz{z{z{{{{{{|{zzzzzzz{{{z{{{{{z|y{zzz{z{zzz|z{yz{zz{{{{z{{z|{zz{zzzz{z{||{{z|zzzzzyzz{{z{{zzzzzzzyz{y{{z{{z{yzzzzzxzzz{zzzyzzyyzzyyyzzzzyzzzzzzzyyyzyzzzzzzzzzyzyyzzyzzzzzzzzzzyyyxyyzzzzzzzzzzxyxyyy{zzzz{zzyyyyyyyy{yyzzzzzzyyzzyyyzyzyzzzzyzyzxxyyzzzzyz{zyy{xzyzzyzzyzzyzyyzyyyyzyzzzzx{zzzzyyyxyzyzzy{zzzxzyzzyxyzzyzyzzzyyzyyxzzzzzzzzzzyzyyzyxyyzzzz{zyyyzzyyyyzzzz{y{zzzzyxzyyzzzz{zzyzzyzyzyz|zzz{z{{z{zzyzyzzzyz{{zzzzyxzyxz{|zzzzzzyy{yzyzz{zzz{zz{yz{zyzyz{{{{{zz{yzzzzzz{{zzz|z{zzzyzzyx{{z{|{zz{yyzyzzz{|{z{{{}zyzz{zz{z{{z{{z{{yyyzz|{z|z{zz{{|z{zzzyz{z{z{{{{zy{{yyzz{|{{{z{|{{z{zyzzzz{z{{{|zzyy{zy{z{zz{z{{{yzzzyzz{{zzyz{zzyzzzyyzz{{z{yzzzyxyyxyyyyzzy{zzzyyyyyyzzyzzz{zzyzxzyyyy{zzzzz{{zzzyzzyzzz{zz{z{zyyyzyxyzyzzzz{zzyyzyyyyyz{yyzzyzyzyyzyz{{zzzzzyyzzxxyyyzxyyzzzzyzyyyyzzyyzzzzzzzzyyyxyyxzzzzz{yyz{yxyzzyzz{zzz{yzyyzzyzyyyyzy{zz{yyzyzyyzyyz{zzzy{zzzzyzzzzyzz{{{yzyzzyzzzzzzzzzyzzzyzyz{y{y{z{zyzyyzzyzz{zzz{{yyzzzzyzyz{zzz{z{zzyzyyyzyz{yz{zzzyz{yzz{zyzzz{z|yyzyzzyz{{{{{{{zzzz{{z{zzzzzz|{zzzzzzyz{z{{{zy{zzzz{z{z{{{|{|{{zy{zzz{zz{{z{zzzzzzzz{zzz{z|{{|{{z{{zzz{z|{zz{{zzzzzyzyz{{zz|{|z{z{zz{zz{zz{{z{{{yzyzz{z{{zz{{{|z{{zzzyzzzyz{y{{xyzyzzzzz{{zy{y{{yyzyzyxy{z{z{{{zzzy{yzxzzzz{{{yzzzzzyzyzz{{z{zyzzyzyzzzzz{{zz{{zyzyxyzyyyzzz{{{zzzzzyyyzz{y{{{zzxzyyyzyzzzzz{zzyzzyyyyzyzyzzyzzyzzyzxxyyzzzyzz{zzzyyzyzzzzzzzzzyyyyyzyyzzz{z{{{zzyzyyyzzzy{zzy{z{zyyzyyzzzzyz{{zyyyzxyyyzz{z{{zzzxzyyyzy{z{z{{zzzyzyzyzzzzzz{{{zyzyzyzzzzyzz{{zyzzz{zyyy{y{{{zzyyyyzzzzz{{zz{{{{yyz{zzzz{zzzz{{{zzz{zzz{{z{|z{|zzzzzzzy{{{z{{{{{zzzzzzy{{{{{{{z{zyzzxzz{{{z{{{{zy{zz{{{z{z{{{||{zzy{z{zy|{|{{z{{z{{z{z{{z{|{{{z{{z{{zy{zzzz{{{{{z{{z{zz{{{{|{z{z{yzzzzzz{{{{{{{z{{zzz{zzzz{{z{zz{zzzzz{z{{{z{zzyyzzyyyzzz{zyzzzy{zyyyyy{zzyzzzyzzzyxyzyz{z{yzzzzyzy{yxyzz{zz{z{zyzyzyzzzzyzzzzzyzyzyyzyz{zzz{zyzzyyzyyzzz{y{y{zzzzyyzyy{zzzzzz{yyzyyyyyzyzzy{zzzyzzyyxyyzz{zz{z{z{zy{yzzzzzzz{{zyyyyyzy{yzzy{y{zyzzzzyyzzzyzzz{yyyzzyyy{z{zzz{{zzyz{zzyz{zzzzz{zzzzzyzy|zz{{{{zzyzz{yzxzz{zy{zzzzzzzzzzz{{{{z{{zz{yzzz{zz{{{{zzzzyzzyyz{zz{z{|yzz{{{zzzz{|{|{z{z{zyzy{zz{{z{{{{{zzz{yzzz{{{zz|z{yz|zzzy{{{{{|{{zzzyzzz{{{{{z|{{zzzzzz{z{{{{z|z|{{z{{yz{{z{{{z{{zzzzz{zz{{{{{{{|{zz{z{{z{{z{{{{{zyzzz{zyz{z{z{|{zzz{zzyyz{z{{zz{zzyy{yyz{{z{{z{{zyyzyxzy{{zzyzz{zzyzyzzyzzyyzz{{zyzzyyzy{zzz{zzzzzzyyyyz{z{yy{{zzzzyxxzyz{zz{zzzzyzyzyzyyzzz{zzyzyyyzyzyyzz|yzzzzy{yyyzyzy{zzzz{zyzzyyyzy{zzzzz{zzzyyzyyzzyzz{zzxyzzyyyyzyz{yz{zzzzyyyyyyzzz||{{zzzy{zyzzz{z{{{{zyyyzyzyyz{zzz|zz{zzyzyzzzy{{{z|{zyzzzzzyzzzz{{zzzzzyzzyzz{z{{{zyz{zzzyzz{{zzz{{{zzzzzzzz{{{{{{zzy{zzyzz{z{zzzzz{zz{z{{z{|z{{{{{z|yy{{y{{{z{z{{z{zyzyz{z|{{{z|||{zz{{zzz{{{{{{{|{z{zzzzzz{{|z{{|{z{zzzzy{|zz{z{{{z{{yy{z{{|{{{|{{zz{{{z{{{{|{||{{zzz|zz{z{{{{{|{{{zzzy{zz{{{{{{|yz{zzzz{{{{{{{{zzzzzzzzy{zzy{zzzyzyyzyyxzzyzz{{zzyxyyyyyzyzzz{{{{zzyzyyz{zzz{zzzzyzzzzyzy|{zyz{zzzyyxzyyyz{zz{zzzyzyzyzyz{zyyzzzzzzyyyzyyy{zyzzzzyyyyyyyyzyzzzyzzzxxzyyyzyy{zz{zzzyyzyzyzz{zzz{z{zzyyzyxzyzzyzzzyzzzyyzyyzzzz{yyzzxzzxzyy{zyyzz{yzyyyzzyzzzz{zzzzzyxzyzyyzz{zzyzzyzzyyyz{z{zzzz{z{zyyzyyz{zzyzz{{yzyzyzyz{zzzzzzzyzzzyyzz{zyz{zz{z{zyxyz{{{zzzzzzyyzzzz{zz{{{{z{yzzzzyzy{|{{{{{{zyzzzyyzzz{z{zz{z{z{zzzyz{{{{|{|{z{zy{{z{zz{zz{{|{yzz{{yz|z{zz{{{y{zzz{y{z{{{{z{{yzzzzzz{{z}{{z|{{zzzz{zy{{{z{z{zyzzzxz{z|{zz|{z{{zzz{yyz{zzz{{zz{zzyyz{zzzzz{yzzyzzyyyyy{zyz{zzyzyzzxzzzzzzzzzzzyyzyyzzzz{z{zy{yzyzzyyyzzy{zyzzzyyyzyyyzz{{yzzzzyzzyyzyyzzyyzzzzyzyyyyyzyzy{zyyzyyzzyyyzyzzz{yzyzzxyxyyzzyzzzzzyyxzyzyzzzzzzyzzyyyyzyzyzzzyzy{zyyzyzyyyy{yyyz{zzyzyzxyxyzzyx{{{yyzyyzzx{yzz{{{{zzzyzzzyzz{z{{z{{zzyzyyzzyz{zz{{zzzz{yzyyy{zzz{{{{yzzyzzzzzzzz{zzzyy{yzyz|{z{z{zyyzyyzzzzzzzz{zzyzzyzzz{{zz{z{{zzyzzzz{z{|z{zz||zyz{zyzy{z{{{{z{{yzzzzzyz|yzz{{{|zzzz{{zz{{{z{{z{z{{zzz{y|{{y{|{z{zzzzzyzz{{{zz{{yz{yyyy{{y{{{{{{{z{z{yzzz{|{{{{zzzyyzzzyz{z{{{{z{{yzzzy{{{{z{{{yzzzyyyzzzzzyzzzyyyzyzxyy{zzzzyzzzyyyyyyzy{z{{{|yzyyyzyxyzzyzzzzzy{yyyyyzyzzzyz{zzyyyzzyzzyzz{y{zzzzyyzyyzzzyz{yyzzzyyxyyzzzyyzzzzyyzyyzyzzzzzzzxyyyyyzyzyzzzz|zyyyzxxyz{z{zzzz{z{zyzyzyz{zyzz{zzyyzyyyyy{zzyzyyzzzyyyyzyzzzz{z{yzzyzyyy{z{zyzzzzxzyzyzyzzzzyz|zzyzyyyzzzz{zy{yzzyzzyyyzyz{zz{{zzzzy{zzzyz{z{zzzyyzyyyyyzzz|yz{zzyyzyzyzzzz{zzz{{yzzzzyzzz{{{z{{yz{zzy{z{{{{zz|zzzzzyyyzzz{zz{|{{yzyzzzz{|{{{{{zz{zyzz{{z{yzz{{{{z{zzzzzy{||{zz{{zzz{zzz{z|{z|{{{yzzyzzz{{zz{{{{{{zzzz{zz{zzzzz{z{zyzzzzy{zz{{{z{yyzzzyzz{z{{zzzy{zzyxy{{zzzz{zzxyyzzyxyzyzzzzzzzzyyyxxyzzzzy{z{y{zyyzyzyy{y|y{zyxzyyzyyz{zzzzzzyzzyzyzyyz{z{zz{yzzyyyyyzzzzyzzzzxyxzyyyyzzyyzzzzzzwxyyy{zzzzzzzyyyyxzyyyyzyyy{y{zyxzyyyzz{zz{{zyzyyzzyxz{{zzzzzzyyyyyzzzyzzzzzz{yyyyzyyz{zyzzzzyzzy{zyyzzzz{z{{zyzzyyyyzzzyy{{zzzzzyyzzz{zz{z{{yzzyyzzzzzzzz{zzyzzzzzzy{z{zz{zzzyyxzyzyz{{yzz{{zyzyzyzyz{zzzzzz{zzyyyyz{y{||z{{{zzzyzzzzzzzz{{{zyzzyyzy{{||{z{{{zzz{zz{{{{z{{{{zzzzy{z{z{{{{|{{{zzzyzzy{|{{z{{{{z{zyzzz{{{z{zz{{yzzyzz{{z{zzzz|{zz{{z{zzzz{{{{{{zzzy{{zz|{{{{|{{zyzzzyyzzzz{z{zzyz{{z{zzzzzz{yyyyyyyyyyyzzxzzzzzzyyywyzzyzzy{z{yzzy{yzyzxzzzyzzzyzyyzzyzzzzzzzyyyxxzyzyyyzzzzy{zyzyyyyxyzzzy{{zzzzyyyyyzyyyyzzzyyzzzzyyyzzzyyz{zxzxxyzyxyzyy{zyxzyzyyyyyzzyz{y{yyzzyyyxyzyzzzz{yyyyyzyxyyzyzzz{zyyyyyxzy{yzz|z{zyyyzzzxzz{{{zzzzyyyzyzzyzzzzz{{zzzyzyyyzzzzzzz{yzzxyzzzyzzzzz{{zyzzzyyzz{{{z{z{yzzzyzzyz{{|zy{{zyyzyzxz{zzzzz{zzyzzzzx{y{{zz{zzzzzz{yzzz{{z{z{|zyzzzyyzz{{{zzzz{yzyzyzz{{{zzz{{zzzzzz{zz{z{{{{{zzzzzzzyz|z{z{{{zz{zzyzy{|{z{{{{zzzzzzz{z{|z{{{zy{zzzzyzz{y{{|{{{{{xyxyyyz{zzz{zzzyzyzzyzzz{z{{yz{zyzzzzzzyzzz{yzzyyzzzyyzzzzzz{yyzzyyzyzzzyzzzzzyyyxyyzz{y{{zzz{zzzyxyz{z{{zzzzzyzxyzyyzzzzzyzzyzzyxyyyzzzzzzzzyyzyzyzyzz{yyzzzzyzyyzyyzzyzyzz{{yyyzyyzzz{{yzzyzyzzzyyyyz{y{yyzzzzyyxzyyzzzyz{zyyyzzyyxyz{{zzyzzzxzzzyxzzyyz|zzyzzyyzyyyzzzz{z{zyyyzzzy{yzzzzz{zzyyyyyzzy{y{z{zzyzyyzzyz{zzzy{{zzzyyyzz{z{zz{zzzzzyyzzzzz{zzy{zy{zzzzzz{z|zzzz{zyy{yz{z{z{|z||zzzzzzzzy{|z{{{{{zzzzzyz{{{{{zzzz{yzzzzyz{{zz{{}{zz{zzzzy{z|{z{{{|y{zzzz{z|z{{|{zzy{zzzyz{{z{{z{{zzz{zyzzzzzz{z{zz{yzzzzz{{{z{z{{|zzyz{yz{{zz{zz{{zy{zzzzz|{z{{{zzyzzxyyzyzzzy{zzzx{zyyyyy{zzzzz{yyzyyyxyzyzzz{{{zy{yyyxyz{yzzzzzyyzyyyzzyzzzyzzzzzyyyzzx{z{{zzzzyyzyyzzzzzzzyzy{zyzyzyxyzz{yzyzzyyyyyyyyyyzzyzyyzyyzyxyyzzz{yzzzzzzyyyyyzzzz{yz{zyzzyzyyyzzzzzzzzzyyyyyyyzz{zzzzzzyyyyyzzyzzzz{zyyyzzzzyyzzzzzzzzyyzzyyzzzzzz{zzzyzzyyzy{{z{zzyzzzyyyz{yzy{zzz{zyyyzzzzy{{zz{{{yzyyzzyyy{z{yz{{{zyyyzyyy{zzzzz{z{{zz{x{yz{{z{z{{zzz{zz{y{zz{z{{z{{{zzyzyz{zzz{|{{yy{{xzz{z{{{{{{zzzyzz{z{{zz{{z{{zzyzz|z{{{{{{{|z{{zzyy{{{{{{{{z{{{zzyz{z{{z{{z|{zz{zzzz{{{{{{{{{{zyzzz{{{{z{{|z{zyzzzzzyzzzzzzzzyyyyyyzz{yzz{zz{zyyyyyyz{yzz{z|{zyyyzyyzz{zz{zzzz{zyzzzzyz{zz{{z{yzzyz{y|zzz{{z{yzyyyzx{{zz{zy{y{zyyzyyyyzzzzzzzyyzzyyzzz{z{zzzzzzzyyyyyyzyz{z{yyyxzyzxz{zzzz{{zyzzxyyyzzzzzzzzzzzzzzyy{zyyzz{{{z{zzxzyzzzzz{{z{{yzzyyzz{zy{{zzyz{yzyzxz{zzzz{{zyzyzzzyzz{{zz{{zyyz{yzzz{{{zz{zyzzxyzzyzzyy{{{{zzzyyyyzzz{zz{zzzz{z{yyzzz|{{{{{y{y{zyzz{{zyz{{z{zzzzzzy{{{|{{{{zzzzz{{z{{z{|z{|{zzz{zzyz{|{z{{z{z{y{z{z{{{||{{|{{{zz{{{{{{{{||{{zzzz{zzy|{{{{{{z{zzzy{z|{|{{{zz{yzz{{zzz{z{{{zz{zz{{z{zzz{{z{{{{zzzzzz{{z{{{{{{zzzzy{{y{zz{z{zzy{zy{zzzz{zzzyzyzyzzzzyyyzz{{zz{yzxyyyzz{yz{zzz{zyzzyzzy{z{yzz{y{yyzyxzyzzyzzyzzyzzzyyyxz{zzzz{{zyzzzyyxyzyzz{z{yzyyzyxzyzyzy{yzzyzyyyyzzzzzyzy{zyyzzyyy{zyzzyzzzyzyyyyyzzyzzzzzzzzzyyzyzz{zzzz{yyyzxyzyyzzzz{zyzzyzyyyzyzzyz{zzyyzyzzzzyzz{{{{zz{yyzyzyzz{zzz{z{yzyyxzyzz{{{zzzy{zyyzzz{yzzzzy|zzyyzzyz{zz{{{y{zyyyyzzy{z{z{{{zzzyyzzyzz{z{z{z{zzyzzzyzz{{|zz{{zzzzzz{{zzz{{{z{zzzyzzzy|{{z{z{{{y{z{zzz|z{{{{{{{yzzz{zz{{{z{|{|zzz{z{zzz{{z{{{{{yzzzzzz{{{z{z|{{zz{{zz{zzz{z{{{{zzzz{zz{{z{|{z{zzzyzz{zz{{z{z{{{zzzzyzyz{{{z{zzzyzzzy{zz{{zzzyyzzyzzyzxyzzy{zzzyyyzzyxyzz{zz{y|zyyyyyyyz{zzzz{y{yyzzyzyzzzzzy{zzzzxyyyyzzzyz{z{yyyyyyyyz{zzy{zzzzzzyzzxzyzzyzzzzyzzyyz{xyzzyz{zyxyyyxyyyzy{yzyzzyzyyyxyyzzz{zyzzyzyyzzzyyxyzz{{zyyyzyzyz{zzzzzzzyyzzzyyy{yzyzz{yyzzyzzyz{{zy{zzzzyy{zzzy{yz{{z{y{zzzzyzzz{{{z{{zzzyzyzy{{zzzzz|zz{zzzyzy{z{zzzzzz{yzzzyz|y{z{{z{zzzzzzzz{zz{|zzzyzzzz{zzz{{{{{|z{zzzzzzzyz{{z|{zzy{zzz{z{{{z{{zzzzzzz{z{{{{z{{z{zzzzz|{z{zz{{{{{zzzyzzzy|{{z||z{z{zzz{z{{z{{{{{{zyzzyy{zz{zzz{|zz{yzzzz{zz{{z{{|{zzzzzzz{|{{z{|zzzyzyzz{{z{{z{zzzzzzzyxz{{zzz{zyyyzyyzy{z{{zy{{zyyzyyyzzzy{zz{{zyyyyzyyzyy{yzzyyyyyzyzyzzzzyzz{zxzyyzzxzzzzyzzzzzyyzyyyyzzyyz{yzyzzyzyyyz{xzz{zyzyzyzzyzz{zzzzyyxzyzyyzzz{{yyzz{yyzyzzyzzzzzyzzyyyyyyyyyzyyzz{{zyzzzzyyyzzzzzzzyzyyyzyyyzzyz{zzyyzyyzyy{zzz{z{zz{zyyyyyzyzz{yz{zzzzyz{zzzyzzyz{yzzyzyzz{{{{{zzzzzzzyxyz{{yzz{{zzzyyzzzy{{zz{z{zzzzyzyzzzzzzzz|{z{zz{zzzzz{zz{z{y{zzz{z{|z{zzz{|{zzzzyzyz{z{z{{{zy{zzy{zz{z{{{||{zzzz{{zz{{{{||{zzzzzzzz{{{z{||{zyzzzyz{z{z{|{{{zzzzzzz{zzzy{{{{{zzz{z{{{z{|z{|{{{{yyz{zz{{zz{zz{{yzzzzyz{z|{{{zzyzzyxyy{z{{z{yzyyyzzyyyy{yzzy{zzzyyxyyy{{zyz{{z{z{yyxzyzyzzzzzzyzyyyyzxzzz{z{yyzyyyyzyxyzyzyzz{zyyyzyzxzzzz{z{yz{zxzyyyzzzyy{zzyzyyyzyxzyyzyyzzyyyyyzyyzzzyyz{yzyyyyxxyzzzyyyzzyyzyx{yzzz{{zyzzyyyyzyyyyyzyyz{zyzyzzyyxyzzyzz{{zyyyzyyzyzz{{z{{{zyyzyzzzzzzzzz{zzyzyyzzzzzzyz{zyzzxzyyyzzzz{{{zz{zzyzzzyz{zzz{{yyz{yzzyz{{z{{{zzyyzzzyz{zzz{z{zzzzyzyzyzz{{{{{zzy{yzz{z{zzz{z{{yy{zzzyzzz{z|{{z{zzzzzzz|z|{zz|{zz{{zzzzz|yz{z{z{{zzzyyyz|{{{{||{zz|zzzz|{{{|{{{{yyz{zz{zzzz{z{{z{zzzzzzzzzzz{{{z{y{yyyyzzz{zz|{zzzzyzzz{{z{{z{yyzzyyzxzzzzzzzyzzyyyzyyxy{{zzyz{xzzyyyyyyzzz{zzz{zyzzzzy{z{z{zzzzzzyzyyyzzz{yzz{{zyyy{yxz{yyyzyzzzyyyyyyyz{zyzz{yyzzyxxzyz{zzz{zyzyyyyyzzzzzzzzzyyzyzyyyzzyzzzzyzxzzyyzyyz{y{zzyzzyyyyyyzzz{zyz{zy{yzyyzzz{yyz{zzzzzxyyy{{yzz{zzyz|zz{zxyz{zyz{{zzyzzyyzzzzzzyz{{yzzzzyzzzz{zzz{xyyyzzyy{{{z{z{zyzzyzyzzyy{z{{z{yz{yzyzyzzz{zzz{{zzzzyyz{{{yzz{z{yzz{zxz{{{|{{{{zz{zzzz{y{{{{{{{zzz{yyyyy{|{{z|{{zyz{zzz{{{zzzz{zz{zz{{{{zzz{{{|zzyzzzzz{|z{z{{z{zzz{zz{{zzz{{z|zzyyzzy{{zz{|{|{{{{{zzzz{z{{{z{zzzzzzyz{zz{{y{{|{{{yyyzyz{zzzz{zzzzzyyzzzzzzz{y{yzyyyxyxzzzy{z{yyyyyyyyxyyzyzzzzyyyzzzyyzzxz{yyzzyxyzyyxxzzzzzz{yzzyyzzxyzy{zzyzyzyyyyxxzzyyzzzyzzzyzzzyzzzzyzyyxyyzyzyxzzyyy{{zyxyyyyyyyzyzzz{yzzyyyzxyyyyzzzzzyyzxyyxyyzyzzyzzyyyyzzyyyzyxyyzzyzyxyyyzzzzyzyzzyyyzyzyyzyzyzzyzzyyzzyyzy{yzz{{{zyzyzyyyyzzzzyzzyyyyyzyxzzyzzz{zzzzyyy{zzzyzzzzyzyyzyzzyzzzzzz{yzyyyzyyzz{z{zzzzzzyzyzyzyz{zz{z{xzyzzyzzzz{z{z|zzyy{zyyzz{zzz{zzzyyyzyzz{z{{{{{zzyzzzz{z{zzzz{{zzzz{yz{zz|zz{z{{{yzzzzzzz{z{z{zz{yyyzyyzzzz{z{z{zzzyzyyzzzz{{z{{{yzyzzzzz{zyzz{zz{yzzzxzzzzzz{zzzzyyzzyy{y{zzyy{yyzyzzyxyzzyyzz{yzyxyyxxyzzyzzzzzzzyyyyyyyzzzzzyzyzyzzyyyzzzyzzzyzyxyyyyzyy{zzyzyyyzyyyyyyzyy{{yzyzyzxyxzzyzyzzyzzyyyyyzzzzzzzyzxyzxyyyyyzyzyyzxxyyyzyxzyzzzzzzzyyyzyyyyyzyyzzzyzyyyzyzzzzyyzzyzyxzyyyyxzyzzzzz|yxxyzyxy{yzzzyzyzzyzyyzzzzzy{zy{zzzyzyzxzzy{zzz{zyzzzyyzzzzyz{{zyzzzzyzyyz{zzzzy{yyzyyyyzzyzzz{zzzzyzyyyzzzyz|zzzy{yy{xzz{zy{{zzzzzz{zyzy{z{zzzyyyzzzzyzzzzzz{zz{yzyzyzzz{zzz{|z{zzzyzz{{{{{zzzz{yzzyzzzz{z|{{{z{zzzyzyzz{{{{{zzyzyzyzyzz{zz{{{{zzzyzzxy{zz{zz{{zzzyyyyzzzz{{z{{z{zyyzyyzzzzzz{zyzyxyyyyzy{zyzzyzyzxyzzyyzzyzzzzzyyzzxyyy{zzzzz{zzzzyyyzzzzzzzzzzzyzyyyyyzzyzz{zzyzxyzyyyzzzzyz{yxzzyyyyyzz{zzzzyyzzyzxzyyzzz{yzyzzxzyyyzzyzzzzzy{yxxyyyyyzyyzyzzyzyyyyzzzzyzz{yzzyzxyyzyzyzz{zzzzyz{zyyyyzz{zzzzyzzyxzyy{y{{zzzyyzyy{yyzyz{{zzzzyyzyyzzzz{zzz{|zyzzyzyzzy{zzzzzzzzyzzyzzzzyzzyyyzzzyyzyzyzzz{z{zzzzyzyy{z{{zz{zzzyzzyyy{{{z{z{y{{yyzzyzzz{zzz{{z{zzy{{z{z{{z{z{{zz{zyyy{zz{zz{{zzyzyyzy{{zy{{|{{z{yzz{zzzzzz{{z{yzyz{zyz{{{||{|zyy{zzzzzz|{{{|zzxzzz{z{{zz{{{{{zz{{zzzzxz{y{z{|zzzzzzzzzzz{z|{{zzzzzzyyyzz{y{{{zzzyzxzyzz{{y{yzyzyyzyzyyyzzzyz{zzyzzxyyzyzzyzyzyzyyy{zyzzzyyz{zzyyyzyyyzzyzzzzzz{zyxzzxzyzzyzy{{zzyxyzyyzzyy{zzyyyzyyxyzy{zyyzzyzyxyzyyyzz{y{zzyyxyyyyyyyyyyzzzzxxzyyyyzzyy{{zzzyzyxyzxzzzzyzzzzyzyyxxyyzyyzz{{zzyyzyyyzzzzyzyzyyyyyyyyzzzzzzzzzzzzyxzyzz{zzzyzzyzyyzzx{zz{y{zzyzyzyyyy{{zz{z{z{zyzzzyzy{yzz{zzzzzyzyzyyzzyzy|zzzzzyyzzzz{{zz{{zzzzzzyyzy{yz{zzyyyzzy{y|zz{{z{{{zyyzyyy{zz{{{z{zyyzzyzzzzz{{{|{{zyzzz{zz{{{{{{{{yzzyzyzzzzz{{|{{yzzzzz{{z{{z{zz{yzzzzyzzzzzzz{{zzz{yzzyzzy{{zzz{zyyyzzzz|z{z{{{{zzyzzzyyzzzz{zzzyzyyyyy{{{zz|zyzzz{yxyyy{zz{zz{zyzyzyy{yzyzz{z{zzyyyzzy{zz{zzz{zzzyzzzzzz{z{zz{zyyxxzzyzz{zyzzzyzzyyz{yz{zzz{zzzyzzzyyzzyzzzz{zxyzyyyzzyyzyyzzzzyyyyyyyyyzz{z{zzyyzyyyzz{{yyzz{yy{yzyzyzzzyz{{zzyyyzyyyzyzzzzzzzyyxyz{yz{zz{{z{zyzyz{yyzz{zzz{zzyyyyy{zzzzzyzy{yzzzyyyyz{zzzzzzzzzy{yz{z{zzzz{zzzzyzyzyzz{z{{yzzzzzyzyz{{{zz{|{zzzzzyzzzz{z{{z{{{zy{zzzzzz{{|z{z{z{zzzy{z{{z{{zzzz{zyzzzzzzz{{{{zzyzzzyz|{{|{|{zz{zz{z{zz{{{{{{{zz{zzzz{{{{{{{{zzyyzzz{{|z{zz{{{zzzxy{zzz{{z{{|{zyz{zyyzzz{zz{{yzyyzzzy{{zzzz{{{yzyzzyyzz{|zzz{{yyyyyzyzy{{zz{zyzzyyyyzzzzzzzzzyyyzzyzy{zzy|{{zzyyxzzyyzyyzzzzzzxzzyyzyzzz{zzz{yyzyyyzyz{zzzzz{yzzyyzzyzzzzy{zzzyzyyyyyzz{zzyzzzyzyzzyzzzzzz{{{yzyyzyzyzzz{zzzzzxzzyzyzzzzzz{z{yzzyxzzzzzyz{zzzxyyyzyyyy{zyzzzzzzzyyzyzz{yzzzz{zyzz{zzy{{z{z{{z{yzyyxzyzz{{yzz{zzyzzzzzzzzzy{z{zzzyzz{x{{{zzz{{zzyyzxyzyz{yz{{zzzzyzyyzzzzzzz|z{zzzzyzz{{z{zz{{{zzzzz{z{{{{zz{|y{{yy{zz{{z{y|{zzyzzzzzyy{{{z{z{{yzz{zzzz{{{|{{{zzzzzzzz{z|{|{{{{zzzz{zzz|{z{|z{|zzzzzzy{{{z{z{z|yzzyyzzz{{{zz|{z{zz{zzz{z{{zz{{z{z{zzzz{{{{zz{zzzyzzyzyz{z{zzz{zyyz{yzyz{{zzzyzy{yyzxyyz{zy{zzzzyyzyxyyzzzzz{{zzy{yyxzyzzzzyz{zzyzyyyyzyzzyyyzyzzzyzyxy{zyzyzz{zyyyyyyxyzzzyz{zzyzyyyyyyzzyyzzzzzzyxzyy{yzzzyzzzyyyyzxyzzzyzzzyzyzyyzyzzyzzyzzyzzzyxxxyzzz{yzzyzyyzyyyyyzzyz{zzyzyyyyyyzyzyz{zzzyzzzzyzzzyzzy{zyyzyzxyzyzzzzzz{zyzyyyyyzzz{{zzzyzzyzyyy{zzzz{y{zzyyzxyzyzzz{{z{zyzyyzyx{{zz{{{{zzyzzyxz{{{zyzyzzzyzzzzyzy{{{zzzzzzzyzzyzzzzzzz{zyyzyyzyzy{z{{{{{zzzzzzz{{z{{{{{zzzzzzzzy{{zzz{zzyzzz{z{{|zzzz{{{y{{zz{zz{{{zz{{{z{{zzzz{yzzz{{{{zzzzyzzz{{{z{{yz{zyyyzzzz{z{{{{{yyzyzzyz{zzz{{z{zzzzyyyzzz{y{zzyzzyzyxyy{zzzz{yzyyyxyyy{y{zzy{zyxzyyyyxz{zzyz{z{yyzzyyzzzyyzzz{y{zyyyyxzz{zy{zzzzzyyyzxzyzzzzyzyyzyxzxyy{zyzzzzyzyyyzyzzyz{zzzzzyyzyyyyyzyzzzzyzyzzzyxyyz{y{zzyyzyyyzyyzzzyzzzzzxyyyyyxzyyyz{yzzzyxyyyyzy{zyzyzyzzzzzzyzz{zzz{zyzzyzyyzzzzy{zz{yyzyyyxzz{zzz{z{yxzyyyzzzzz{z{z{zzyyyzzzz{z{{zzzzzyzzzzz{zzzzzzzyyyzzzyzz{zzyz{{zzyzzyyz{z{zz{{{zyzzz{zyz{z{zzzzzzy{yyzzzz{z{{{z{{zy{yz{{{|y{{zzyzyzyzzzzz{{z{|{z{z{y{z{zz{z{{{{zz{z{zzz{{{zz{zz{{{zzzyzzzz{zz{|{zz{zzz{z{z{{{||{zzzzyzzz{{{{z{{{zzzzyzyz{yzzzzz{z{yyyzzzzzyz{yyyzyzyyxyzyzyzyzzzzyyyyyyyy{zzz{{zyyxyxxxzyzzzzzzzyzyyyzyyzyyyyz{zyyyyyzy{yzzzzyzyyzyyyzzzyxzzzzzyxyyyyxyzy{zz{z{zyxxxyxzzyyzzyzzzxyyyxyyyzyzxzzzzyyzyzyzyyzzzz{zyyzxyyzyz{{zyzzyyzyyyzyyyzyyzz{yzyzzzzyyyzzyzzzzzyzyyzyyz{zzy{{yzyyzzyyzy{zzz{yyzzzyyyzzzzzzzzz{zyzyzyzzzzzyyz{z{zzyzzyyzyzzz{zzzzzzzzzzzz{y{z{zzzzzyyzzz{zyz{{zzzzyzz{z{z{zz{zzzzzzyz{z{{{{z{{{zzzzzzyzz{{{z{{z{yzzzzzy{{{{z{z{yz{zzzzz{z{zz{{{{yzzzzz{y{zz{{{|zzzzzyyz{{z{z{{|{yzyzzyyz{{{{|{|zzzzyzzz{{{{{{{{zzyy{zyzz{zzz{zzz{zz{z{yzz{{z||zzz{zzyzzzz{zy{zzyzzzyyyyyzyyzzyzyyzyyxxyzy{yz{z{zyyyyyzy{zzyzz{yzyzyzzxyyzzzyzzyzzzzxyyyyyzzzzzzyyyyzyzyzzzyyyzyzyzyyyyyzzzyzz{zzxyzyyyzzyzzyzzyyyyyyyyxzzyzzzzzzyxyyyxzzzzzyyzyyyzyyzyyzzzzyzzzzzzyzxyzzyyzz{zzyzyyyyyyzzzyzzzzzxzyzyyyyzzzzzzzyyyyyyzyyzzyyz{zzyzyzyyyyzz{z{yyyy{yyyyyzzzz|zzzzzzzzxzyz{zyz|zyyyyyzyyyzzzz{z|{{yyyzyyzzzzyz{yzyyzzyzyzz{{z{zz{zzyz{{zyz{z|z{zz{zyzyzyy{{zz{z{zzxyzyyzy{{z{{z{zz{{yzzz{z{{z{{{{zyzz{zzz{{z{{|{z{xz{zz{zz{z|zzzz{yzy{zzz{z{{z{z{zzyzzzzzzz{{{|{{zzzzzzzzz{{z{{zz{zzzyzzzz{{zz{{{z{zyzyyzz{zzzzzzzxyyyyyxyzy{zzzzyyyyyxzzyy|yz{zzzyyxyzyyzzyyz{zzyyyyyyxyyyzzzyy{yyyxyyyyzyzy{yzzyyxyzzxyzyz{zzzzzxzyyyxxzzzzyyz{zyxyyyyyyzyyzyyzyyyxyyyyyyz{yzzyyyyyyyxzzzzyzzzzzyyyyyyzyzyzzyzyyyzyyyxxyyyyzzyyyyyyyzyxyzyzzz{zzyzyyyzxzzzzyzzzzyyyzzyyyzzzz{z{zzzyyzyzz{zzzzzzyyzyyyyzzzz{z{{zyyzzzzyyzyz|y{zyzzzyzyyyzyyzzzzzzyyzzyxyzz{zzz{z{zyyyyyzzzzz{z{yzzzyyyyy{zz{{z{{yyz{yzyz{z{{z|{{zyyzzzyyz{zzzz{{yzzyz{z{z{{zz{z{{zzzzzzzz{zzz{{{{yyzzyzy{zzzz{{{zzzzzzzzzzzzz{{|zyzzzyyz{{z{y{{zyzzyyz{zz|z{{{y{z{zzzzyzzzzz{zzyzzyzzyyzyyzyyyzyyxxyxyzyzzzzzzzzyyyxyxyxyzzzzzzzzxyyyyyyzzyyyzyzzyyxyyyyyzzzyyzyzyxzxyyxzyzzz{zyzyyxzzyyyzyyyzyzzyyyzzwxzzyyzyzzzyzyyyxyzzyyz{yyxxzxzxyzzzzzyzyyzyyyxxxzyyzyyzzyzyyyxyyyzyz{zyyyyyxyzxyxxyxzyzyzzyyyyyyyyzyyyzzzzyzyyyyyzzyzzyzzyyyyyyyyyzzzy{zzzyyzyzyzzyzyzz{zyyzyzyyy{yzyzzzzzyzyzzyxzyy{{z{zyxyyzzyyz{{zzzzzzzzyzyyzzzz{zzyz{zzzyyzy{z{zy{zzyyzzzyzzzzz{zz{{yzzyyzyzzy{{z{|zzyy{zyyzz{{z{z{{zzzyzz{zy{z{{zz{zyzzyzzzzz{{{z{zzyz{zyzzzz{zz{{y{yxzz{{zzyyz{{z{zzzz{zzzzzzz{{{zzz{z{yyzzzzzz{zzyyy{zyyzzzyzzz{y{yzyyyyzzy{yz{y{yyyyyxyyyzzzz{zzyzyzyyyyzyyzzzz{zyyyyyzyzyy{zzz{zyxyyyxyzyzzzzzzzzzxyxywzzzzzzzzyyzyzyzxz{yzzzzzzyyxzzyzzzyzzzzzyxyyyxyyzzzzzy{zyyyyyxzyz{z{zyyzzyyyyzyyzz{zzyz{yyzyyxyxyzzzzyzzyyyyyyyyzzzzyzxzyzyyzyyyzzy{zzzzyyzyyyxyzyzzyz{yzyyyzyzzy{zzzz{zzyzyyzzzzyy{yz{yzzzzzyzyzz{z{zzzzzzyzyzx{{y{yz{zzyzzzyzyz{zzzzz{{zyzzyzzzzzzzzzzyyxyyyyyzz{{{{{{zzzyzzzzz{{{{zz{zzzyzzzz{{{{z{zzzzzyzzz{zzz{z{{{{zz{yzzz{{z{z{{{{zz{y{z{zz{{{{{{zzzzz{zzzz{z{{{{{xz{{{zzzzz{z{{yzzyzzyzzzz{z{{{z{y{yzzyzz{zzz{{{zzyyyyz{zz{zz{{yzyzyzzzyzzzzz{yzzzyyxzzxyzzyzy{{yyxyyyzzyzzzyz{{yzyxyzyyz{z{y{{zzyzyyxyzz{zzzzzzzzyyzyyyzxzzyyy{yyxyzzzyyyzzzyyzyyyyyyyyyzzzzzzzyzyxzzzyzzyzz{zyyxyyyyyxyzyzyz{zyzyyyyzzzzzzyz{zzyzyyyyyzzyzz{zzzxzxzxyxzzzzzzzyyyyxzz{xzzzyzyz{zyyxzyzyzzzzzz{{zyzyyyyzz{zzzz{{yyyyyzzyzyzzzzz{zyzyzzyz{yzzzz|{yyzzyzyy{{z{{zzzzyzzyxyyzy{{zyzzzzyyzyyy{{{{z{z{yzyzyzz{zzzzz{{zyzzzyzyzzzz|{{{{zyzzyzyyzzzz{{|{{zz{zzzyzz{z{{{{zz{z{zzzz{{z{{{{{zyyyzzz{|{zzzzzzz{|z{yz{{{{{z|z{y{zzyy{{zzzz{{{{zzzzz{z{zz{{{{{z{{yzzzzy{zz{{{{zyzzyyzyz{z{zz{{zyzyyyz{zy{{{{y{yyxyyxyyzzz{{y{zzyyyzzyzzzzyz{{zzzxyyyyyzzz{zzzzyyzzzyyyzzzzzzzzzzxyxyzxzzyzyzzzzzyyyyzxzyzzzz{zyzyzxyyyzzzyyzzyyyzyzyzyzzxzyyzyyyyyyyyzyzzyzzzzzyyyxyyzzyz{zzzzzyyyyyyyyzyzzzzzyyzxzyyyzz{zzzzzyzyyyyzyy{zzy{zyzyyzzyxyyzzyz{{yyyzyyyzz{{z{zzzzyzzzzx{zzzyzyzzzzyyyyyy{z{zzzzzz{yzzyyzx{zzzzz{zzyyyzzyyyz{yz{zzyyyzzxzzy{zzy{{z{zzzyzzz{{z|zzzzyy{yzz{z{z{{{{|{{yyzyyyy{{|z{z{z{zzy{z{zzzzzzz{zzzzzz{yz{{{{{zz{|yzzzzzz{{{{{{{z{zz|y{yz{zzz{{{{zzzyzzzz{zzz{{{{{zzy{zzzz{z{{{{{zzzxzyz{z{{{z|zzzzzzzzyyyzx{zy{{zz{zyyyzzz{{zzzzyyxyyyzyyzzzyzzzzzzyyyzy{{{z{z{{zzyyxyyzzzzzz{z{{zzxzyxzz{z{zzzzzyyyzyyxzyzzz{yyyyyyyyyyyzzzzzzzzyyzzyyyyzzzzzyzzzyyyyyzzzzyzzyzyyyyxyyyzyzzz{zyyyyyyzyzzy{y{zzzzy{zyzyyyzz|xyzzyyzzyyyyz{zyyyzzzyzxyyyzyzzzyzzzzxyzyzzxzyz{yz{zzyyyzxyzyzzyzzzzyyzzyy{{{zyyz{zzzzyyzyyzy{{zzzz{yyzzzyyzz{zzz{zzzzzzzyyyz{{zzz{zzzzyyzzzz{zzzzzz{yyy{yzyz{z{{{{zzyzyz{z{yz{{z|z{z{{zzyzz{|zz{{|yyz{zzyzzz{{{{{{|{zzzz{zz{{{{z{{{{zzz{zzzzzzzz{{{zyz{yzyz{{zzzz{{zzyzzzzz{{{z{z|{z{z{|zzzzzz{zz{{{yzyzzzzzzzz{z{{{zzyzyzzzzz{zzyzzzzyyzyyzz{zyz{yyzyyyxzyyzzzyzzzyzyyzyyyzzy{zzzzyxyyyxyzzzzz{zzzzyyxyxyyzz{zzzz{zzzzyyzyzyzyy{zyyyzyzyyxyyzyyz{zzyzyyyyyzzzzzzzzzyzzyxyyzzzzyzzzyyzyyyyyzzzzzzyzyzxzyyyzyzyyzzzzy{zyyyyyyyzzxy{zyyyyyzyyzyyxzz{zzzyyyxyyyzyyy{z{zy{zzzzzyyzzz{{{yyxzyx{xyzzzzzzzzyyzzzzyzz{y{{zyyzzyyzyyyz{{{{zzzzzyzyyzyzzzz{yzyy{xzyxyzzzyz{{zzzyzyyyzzzzzz{zz{yyzzzzy|zz{{z{zyyzyzz{z{{{zzz{zzyzzzyzz{zzzz{|z{zzzzyyy{{zz|y{zyzzz{y{{yyyz{{{z{yz{xzzzy{zz{{|{zyz{yyzz{{z{zz{{{zzz{zyz{z{{{z{{{z{zzzzy{zyzzzz{zyyzyzyyzzzz{z|{zz{zzxyz{zzzz{{yz{yyzyzyyy{zzzyxzxzzzyzyy{zzyzzyyyyxyyyyyyzzzz{yyzyxyyyxyzyz{zzyzyyyyyxzyyyzyzy{zzzyxyyyyyzzzzzzzxyyxyzyzyzzzzzyyyyxzyyxyy{zy{zzyyyzxyyyyzyzzzzzyyzyyyyyyzzzzyzxzxyxyzyyzyzzzyzyzyzyyyyyzz{zzz{zyyyzyyzyzzzyzy{{yyzxyyzyyzy{zzzzyyzyyyxyzyyzyzzzyyzyyzyzzx{yzz{{zyzyyxzzxzzzzzz{zyzyzzyyzzzz{zz{zyzzzyzyz{zzz|zyyyzyyyyzy{{zz{z{zzyzzzy{y{{zz{{zzzz{zzyzzzzzz{{{yzyzyz{y{|z{zzz{{zzzyzy{zzzz{z{z{zyzzzyzzz{{{{z{zyzzyzzzz{z|zz{{{zzzzzzz{|zzyz{z{zzyzzy{{zz{z{{{zzzzzzyzzz{zz{{{zzzzzzyy{{z{{{{zzyzzzzzzz{y{z{z{{z{yyzyz{{y{{z{{zzzyzyzyzy{zzyzzyyzzyyyxyzz{zzzzzzyyyyxzzzzz{zzzzzyyyyyzzzzyzzyzyyyzyyxyyzzzyz{{zzxyyyzxyzyzy{zzzyzyyzzxyzzyzzzzyyyzyyyyyzzzyzzyzzyyyyyyzxxyy{z{yyxyyzyyzzyzyzzzyyzzyyyzyyzzzzzz{yzzxyyxyzzyzzyzyzyzyxyzyzyyzyzyzyzyyyyyyzzyzz{zzzyzzyyyzyyzxzz|{yzxyyzzyzzy{zzzzzyzxzyz{{{zzz{{zyzzzyyzyz{yzzz{z{zzzy{yy{z{{z{zzyyyyzzzzzzyzzz{{zzzyzzzz{zzzzzzyz{zyzyyz{{{{zz{zzzzyz{zyzzz{zz{zzzzz{zy{{zzzzzzzzxyzy{zz{|{zz|zyz{zzzzz{{{z{z{{|yzzzzzzy|z{z{{z{|yzzzzy{{z{{{{{zyyzyzyzzz{z{{{z{{yzz{z{|zzzz{|z{zyyzzzzz{{zz{|z{{zzyyyy{zzzz{zzzzzyyyzyyzzzzzyzzyyxxyyyzzzzzzzzyxxyyyzyyzz{zy{zyyyyzyyyzyyyyyzyyx{yzyyyyyyyzyzzyzyzxzzxy{zyyzzyyyyyzyzyyyyxyzz{zyzyyxxxzy{yx{zzyyzyyzyyzyzzxyz{yyxzyyzyzzyzyyzyzyyzyyxyzyyyzyzxyyyyyzzyyzzyyzz{zyxxzxyxzzyyy{z{yzyxyyzyzzyzyzyyxzyzzyzxzzyyzzyzzyxyyxyyzzzzzzy{zyzyyyyzzyzzz{zzyyyyxzyzz{zzzzz{yyyyyz{zx{zyyzy{yyzyyyxyyzz{yz{zzyzzzyyzzzzzzzzzyzzy{yzz{y{z{{{zyzz{z{zyzzzzzzz{zyzzyzzzzz{yy{zzzyyyzyyzz{zz{z{{zyz{yzzzz{zz{{z{zzyyzzyyy{zzz{{zzyzyzyzyz{{{|{zzzyyzzz{{zzzy{z{|zz{y{zyz{zz{{{{{zzzzyzyzzzzzz{z{zzz{yzzyzzzzyzzzzyzyxyyyyzzzyzxyxxyxyyxyyz{yzzzzyyyyyzzxzyzz{zzyzzyyyyyxzzzzzzzzzyzxyyzxyyzzzyz{yyywyxyyyyzz{{zzyyyzzzyyzzzyy{xzyzyxyyyyyyzxyyzyyzyxyyyyzx{yzyzyyyyyzxyy{yzyyz{zzxyxyyxzyyzz{zzyzzzyyzyyzyzyzzyzzzz{xyyyyyyyzzzzzyyyzyyzzzyzzzzzyyyxzzyyxzyzz{z{zyyyyyzyzzyyzzzzzyzzyyxzzzzyzzz{zzyyyyyzz{zzzzzyyzzyzyzyzz{zzz{zzyzxxyyyzy{zzz{zzyzyzyyyzzzzz{{{yzyzzz{zzyzzz{{zyz{zzz{z{{z{z{{{zzzyzzzy{{{{z{z{zzz{zyzz|{z{z{{zzz{zzz{z{z{{z{{|{zyzy{zzzz{{z{{{zzzzzzzyz{{zyz{{{zyzyzyzz{zz{{|{{zzzzzzy{zz{{{zz{zzz{zzz{{zy{{zz{zzzzyzzz{z{{z{zyyzyyyyyzzzyyz{zzyyyzyyyzzzzzzzzyzyyyyyxyzzzzzzzzzyyyzyyzyzzzz{{zyyyxyyyzzz{xzzzzzzyyyyxzy{zzyzzxyxyzzyxxyzyz{yyzzyyyyzxzzzyyzyyyxxyyyyyy{zzyzyzyyyyyyyyyyzyzy{yyyyyyzyyz{{yyyzzyzzyyzzyzzzzzzzyzyxyyyyzxyyyzyzyyzzyyyyxzzzyzzyzzyyyyyzyzyzzzzzzyyyxzyyyyzyyzzzzzyzyyyzyzzzzzzyzyyyzzzyy{zyz{y{zyyyzzxzyz{{{zzzzzyyyyyyyzz{zzz{zyyxyzyyzzzzzzzz{zyzyzzzz{zz{yzzzzzzzyzzz{{zz{{{{{xyzzzyyzz{zzz{z{yyz{yzzz{z{{{{{z{{zyyzzz{{{{z|{{zzzzzzyy{zzz{{z{zzzzzy{{{{{zz{{{yz{zzzzzzzzz|{{zz{zyyzz{zzz{z{{zzzyzzzzzy{zz{{{zyzz{zzyzy{{zyyzyyzzyyzyzzzyzzzzzyyyyzyxzy{zzyzzzyyyyyzzzzzyzzzzzyyyyxyz{zzzzz{{yxzzzyzzzzzzzyyzyzyyyyyxyz{zy{z{yyzyyyyxzz{zzzzxyyyxyzyxyyzxyzz{yxyyyyxzyyyzzyzzyxyxyyyzyzyzzz{zyyzzyyxyzxzyzyzzzy{yyyxxzzz{zyyzyxyyxxzxyzzzy{zzzzyyzyxyzzyzzz{yyyyxyzxzzzzyzy{zzyyyzyyzyyyzyzz{zxzyzxzyzyyzzzyzyzyzyyyzz{{zz{zzzyzzzzzyzzzzzzzzzyzyzyyy{zzzz{z{zzyzzzxyz{zyzzzyzzzyyzzzyz{{{z{zzzzzyyzzyzz{{{{zzzzzyzzxzz{yzzzzzzyz{zzzz{{z{{|z{zyyz{zz{z{{zz{{{yyzzyzzy{{{z{|{zzzzy{zz|{z{y{{{{xzzzzzz{zzz{{{z{z{zzzzzzz{{{zz{{zzyzzzzz{z{{zzzz{yzzyxyy|z{zzzzyyzxzyzz{zzyy{yzyzxyzyyxz{y{zzzyzyyzyyyzy{zyzzzzzyxyzxyy{zzzzzzyyy{zxzyzzzyyzyz{zzyyzzzxyz{{zzzzyzzyxzyyzzzyyz{yzzyzxxzyyzzzyzzzyyyzxyyyzzzzzzzzxyyyxyyyyzzyzzzzzzyyzzxyzzyyy{zzyyyzyyyyyyy{zz{zzyyyyyzxyyzyzzyyzyxzyyzzyzyzyzzzyy{zzzyyzzzzz{z{yyyzzy{yzzzyzzz{zyzyyyzy{{{{{zzzzzzzyzyzzz{zzz{yzy{yzyzzyzzyzzz{zzzyzzzzyz{{z{{zzyyyzzyzzzzzzz{zyzzyyzzy{{zzzz{zzz{yzzyz{{z{{|{{zyzzzzyz{{{z{{|zzyzzzyyy{z{{{z{|z{{zz{|yz{{{z{{{{yzzyyzyz{{{{z{{{yz{yzzzzz{{zz{z{zzyzzzz{zz{z{z|{{zzz{z{{zz{zz{{yzzyzz{zz{z{z{{|zzyyzyyyy{{{{{zzzyzzz{yzyzzyzyzzyyyzyyyyzyyzzzzzzyyz{yxyzyzzz{zyyzyyzzzyzyyzz{zzzzyyzyxzz{{zyzzzzyzxyyyxzyzzzy{zyyyyyyzyyzzzy{zy{zyyyyyyyzyzzzyzxyyyyyzyyzzyy{zzyyyyyxyyzzyzyzyzyzyyyyyyyyzzzzzzyyyyxyxxyzyzyzzzzyyzyyyyyyyzzyzzzzxzyyzyzzy{zzzyzzzyyyyyyzzz{z{yzzyyzyyyyz{zzzzzyyzzyyyzzzzyz{z{zyzyyzzxyzzzz{zzyzyzzyyyzz{z{zzzzyzzyyyyzz{{zz|yyyzzzyyyz{zzy{{zzyzyyzzy{z{z{{z{zyyzyzzzz{z{zy|{zzyzyzyy{{{{zz{yzyzz{zyyz{zyz{||{z{z{zyz{{{{{{{{zzzyzzzzz|{|z{|{zz{zzzzyzz{z{zzzyyz{z{yyy|{zz{|z{zyyzzyz|{{{zz{{yz{yzz{zz{zz{z{z{zz{yyzzzzzzyzz{zzzxyyyzzzzzyzyzzzzyyyyzzyzzyyzz{yyzyyzyyzzy{zzz{xyyzzyy{yzzyy{{zyyyzzyyy{zzz{z{yzzzyyxyz{{yyzzyzzyyyyyyzz{yyzzyyyyxyzyyzz{zy{zzyyyyyyyxzyzyyzzzyyyyyxyzzyyzyz{zzyyxyzyzzyzyzzzzzyzzxyyyx{yyyzzyyxyyyyyyyyzyz{yz{zxyyyyzyyzzzzzzzyyxy{yyzzzzzz{zzzzyyyzyzz{{y{zyyyzyyxzzyyzy{{z{zzyyyyyyyzz{zz{zzy{yzzyyy{zyz{{zzzzzzzyyz{{yzz{z{yzzyzzz{{zyz{zzzzyzzyxzz{{z{zz|zz{zzzzz{{y{zy{zzyyzzzzz{{zz{|{{{xyyz{{z{{zzz{z{zzyxz{zyz{zz|z{z|zzzyyzzy{|z{zz{z{{zzzzyz{z{z{yz{zy{{zzy{{z{zzz{{zzy{zzzz{z{z{{{{zxyzyzzzzz{y{|{{yzyyzzyy{zzzzzyzyyzzyyyyz{z{zzzzzyxzyyxxyzyzzz{yyyyyyxyyzzy{yz{zzyxyzyxzyyzyyzzyzyzzyyyz{z{yz|zzyyyxyyyzzzzzzz{yyxxzyyyyzzzyzzzzzyyyxzwyyzzzzzzzyyyyyyzyzyzzzzzyzyyzyzxzzzy{z{z{yyxzyzzyyzyzzzzzzyyyyzyyyzyyzzzyyxzzyyyzyzzzz{{yyzyyyyyyzyyzzyyyy{zzyyzzzzy{z{zyzxyyyzz{zz{{zz{zzyyxyyyz{zzzz{{yyyyyzyzzzzzz{{zzzyyzyyzyzzzzzzzyyzyzyxyyzzyzzzz{{yyyzyzz{{yz{zzzzyzzzz{yzz{z{zzzzzzzzzzz{{{{z{zzyzyyzzy{{zzz{zzyyzyzzyzzz{z{{{z{zyyz{zzz{yz{|{z{zz{y{zzzzzz{{|z{zzzzzzz{{{{zz{z{yzzz{zzzz{zzz{|{zzxzzz{|z{{z{z|{{zzzzzzz{zz{{zzzzyzyyzy|zzzz{z{yzzzzzyzyz{zzzyyyyxyyyxyyzyzzzz|yzyyyzyyzzzzzzzzyzyyyyzyyzzzy{zzzzzyzyzxzyzzzzzzzy{yyyxyzzzzzzz{zxyzxxyxyzzy{{{zyyyyyzzyxzzzzzzzz{zyyyyzzy{zy{zzyzyyyyxyzyyz{yzzyxyyyzxxzzzyyzzzyyyzxyyyyzzzzyzzzyyyyyyyzyzyzzzzyyzyyyxzyyyzzzzzyyyyyyyy{zzyyz{zyyyyzzzyzyyzzzz{yyyzyyzyzz{zzzzzzyzzzyyzzzzzzyzzzyzyzxyzyzz{zzzzzzzyzyyy{zzzzz{zzxzzyyyyzzzzzz{zzzyyyzyzyz{{zz{{{zzzzyzz{z{zz{{{zyzyyzzz{zz{z{z{{{yzzyyzz{zzz{{{zzzzzyzzzzzz|{{|zzzzy{zzz{{|{{{{z{yzzzzy{{zyz{zzzzyzzzzzz{zz{z{{{zzzzyzzzz{zzy{{z{zzyzzyy{yzz{z{zyzzzyzzz{{{z{{|zyyyyyzzyzzz{{zzzzyyyyzyyzzyzyyzyyzyyxyyzyzz{zzzzzyzyyzzyzyzyzz{zxxyzzyyxzzzzzzzzyzzyzyyyyzzzzy{yyyyxzxyyzyyzzz{yyyyyyzzxyzyzzyzyyyyxyxyzyy{{z{zyxyzyyxyyzzzyyzyyzyzyyyzyzzzyyz{zyyyyywxyyzzzz{zyyzyyyyxyzyzz{zzzzyxyxxyyzyzz{zzyyyzyzzyzyzyzyzzyyyzzyyyyzzzzz{zzyzyyyyxzzzzyzz{zzyyxzzyzyz{z{{zyyzzyzzyyzyzzzzzzyyzzyzz{y{zyzzzzyzyyzyyz{{yz{zyzzzyzzyzy{{|{z{yyzzzzyzzz{z{{z{zzyzyyzzyz{{{{{{zzyzzzyzzz{zz{{{z{yzyz{{zz{z{{{{z{y{zz{zzz{z{{{{{zy{yzyz{|zzz{y{{{zzzzzzzzz{{{{zz{{yzzyyzz{z{zz{{zyzzzyzzyzz{z{{{zzyyyzzzz{z{zz{z{zzzyzzyzzzzyzz{yyyyxyyyyzzzyzyyyzxyyzyyyzzzyzy{zyzzyyzyzzz{zyzzyyzyyzyyyyzzzzz{yyzyxyzxzyzzyyzzyyzxzyyyyzzzyzzzyyyyyyzyzyzzzzzzyyzyyzyyyyyyzzzzyyyyyyzxyy{zzyzzzyyyyyyyyyzyyzzyyyyyxxyzyyz{yzzyxyyzyyyxyyyyzzzzzyxzzzyyzzzzyz{zzyyyzyyyy{z{yzzzyyzxyyyzyzzz|zzzzyyyxyzyzzzzz{zzzzyzyyzzyzzzzz{yyzzzzyyyyzyzy{yzzzzzzyyy{{{zyzzy{yyz{zyzzz{zzyzyz{zyzyxz{z{z{{{{yzzyzzzz{zz|z|z{yyyy{zzyz{z{zz{yzyzzzyyz{|{z{{|zzyzzz{yyzz{z|{z{{zzyz{zzz{{{zz{{{zyyzyzz|{zzz{z{zzzzzyy{{zzz{z{{{zyz{{z{z{z{zzz{zzzyzyzz{zzz{|{zzzy{yzzzzzz{z{{{zzzzzyzxzy{zz{zyzyxyzyxyzzzyzyyzzyxzzyyyzzzzz{{zyzzxyzxyzzzzy{z{zxyzyyzzzzzzyy{{zyyyxyzyyyyyyyyzyyyyyzxyyyyyyyzzzyyzyyyzzzzzyzyyzxyzyyz{yzyzzy{zyyyyyyyyzyyzzzzzyyyyzyyyz{yyzzyzzyzyyyyyyzzzzzzzyyxyyyyyyyyyyzzyzyyzyyyyyzyxy{zzzzzyyyyxzzz{zzzyzyyzzyzyzz{zy{z{xyyzyyyyzzzzzzzzyyzxyyzzz{zzzzyzzyzyyzyxzz{{zzzzzzzyyzzxz{zzyz{zzzyyzzzzzzyz{zz{zzyzzzzzzz{z{{{{zzyyzy{{zz{z{{z{zzzzzzzz{zzz{zz{zzz{zzzzzzz{zzzzzz{yz{zzz{zz{{{{zyzyzzz{z|zz{{{{zzz{yzzzzzz{z{zzzzzz{yy{yz{{{{{{{zzz{zzzz{{|{{|zzz{zyyzyz{zy{||zzyzzzxzzzzzzzy{zzzzyyyzyzzyz{zyyyyyyyxyzzzzzyzzzyyzzyyxyyyzyzzzyyyyxyzzyzzzzzzzyyxyyyyyxzzz{zyzzzzyyxyyyyzzzy{zzyyyyyyyyyzzyzzzyzyyyyyyzz{zzyz{yxyyyyxyyyyzzzzzzyyxxyzxyyzyzzyzyyyyyyyyyyyzz{yyyyyzyxxyyyyzzzzy{yyyxzyyxyzxyyyyyzxyyzxyyyyzzyz{zyyyyzyyxyzzyzy{{yzzyyyyyyzzzzzz{yyzyzxyzzzyzzzz{yyyzyzzyz{zyz{y{{yzyzyzzyz{zyzyzzxyyzyyyzz{zzz{{yyyzyzyy{{zzzzyyzyyyyzyyzzz{{{zzzzzzyzzyzzz{z{z{zyzzzzyyz{{|zz{{yyzzzyzzz{z{{|{zzyzyxzzzzz{z{{zzzzyyyzzzzz{yz{z{{zzzzzzz{zzzzzzzzzzzyyyzyzzzzz{{{{{zzzyyz{z{z|{{zyzzzzyzz{{zz{|{zzyyyzyzz{zz{z{zzyzxzxzy{zzzzzyyyyyyyzzxyyzzzzzzyyyyyzyzyy{zzzz{zyzyxyyxzzzz{{z{zzyyxyyzy{z{y{{zzyyyyyzxzzzzzyz{zzyyyyyyzzyzyzzzyyzzzyyyyzzzzzzzzzyxyzyzzy{zzy{{yzyyyyyyz{zzyzzxzxzzyyyzyyzzzyzzyyyxyzzyy{zzyzz{zzyzzxyyzzyz{zz{zyzxyyyyy{yy{{zzyxzyyzzzzyz{zyz{yzyyyyyzyyzy{z{{yzzyyzyy{z{zzzzzyzyyxzyzz{zzzz{zyzzyzyzyzzzz{z|zzzyyzyzy{{{{zz{{zzy{zzzz{zzzzzz{zy{zyyzz{z{{{{{{yy{zzzzz{{z{{{{{zxyz{zzz{{z{|z{zzzzyyyzy{{{z{{|{{z{zzz{zz{z{{{z|yyzz{zz{z{zz{{{|zzyzzyzzz{{{{{|{{zyyyzzz{{zzz|z{zzz{yzzzz{|{|zz{yzzzyyzz{z{z|{z{zzyyzzzzz{zy{z{zzz{zyyz{zzzzy{zyyyxzzzyyyzz|{zzzyxyyzyz{zz{z{{zz{yxyyzyy{{zz{zzzzzyyzxyzzzyzxzzzzyyyyyyyzz{zz{z{yzzzzyyyyz{y{z{zyyzz{xxyyyzyyz{zyzzyzzzzzzyzzzzzyyxxyzzyzzyzzyzzzyyzyxyyzzzzzzz{{zzyyyyzzzzzzzzzzzyyzyzzz{zyz{y{yxzxxzzyzy{zzzz{zyzz{zyyzzyzzz{z{zyyzyyzz{zzzzz{zyzzzzzzyzzzzzzzy{zy{zyy{{zz{{{{{yzzzzzzzz{{{z{zzzzyyzzzz{z{{{{{zzzzyyzyzy{{z{{z{zzzzz{zzz|{zz{{yz{z{zzzzzz{z{{{zzz{zzzzz{|z{{|{{z{zzyzz{{{{{{{{zzz{z{{z{{{{{{|{{zyzy{z{z{{{z{{{{z{zzzy{{{{{{z|{zz{yyzz{{{{zzz{{zzzzzzz{{{{{z{{{{{zzzzzy{|{z{z|z|{{zzzzy{{z{{{{zzzzzzxyz{zzz{{yzyzxyzyx{xzzzzzzzzzyyyyyzzzzzy{z{{yyzzyzz{zyzz{zzz{{zyxzyz{{{zzz{yyyyxyzyyzzzzzz{zyyxxzzyzzyyzyzyzyzyzyxyzyzzzyzzyzzyzyyyzyyyyyz{zxxzzyyzyzzzzzzyzyzyyyyyyzzx{yzzyyzyyyyyzzzyzyzzzyyyzyzyyzzyyzzzzyyyyzyyz{xyzyzzzzyyzzyyyyzzyz{{zzyxzyyz{zz{zyz{yzzzzzyyzyzyz{{{zzyzyyy{zzz{z{{zzy{yzyzzy{{zzzzzyyz{xzxy{zz{{zzyzyzyzyyzzzzzzzzz{zz{{y{yz{z{{{z{z{yz{{yyzz{{z|{{zzzzzzzzz{z{{{{{{yzyzzyy{{{z{|{zyzzyzyzzzz{zz{z|{y{{{zzyz||zz{{{{yzyz{yz{{z{z{{{zzyzzy{z{{{{{{{{{zz{{{zzz{zz{{{{zzzy|zz{zz{{zz||{yyzzzzyz{{{z{|{yzyxyzyz{{{zzzz{yyyyxyzxyzzyzzz{zyyyyyzxyzz{{z{zzyyyxyzyzzzyz{{zyyzyyyyzzzzzzzyzyy{yyyyyz{xzy{z{zyyyyxyyyz{zzzzzyyyzxyzyzy{xyyzzxyzyzzyzzyzyzzz{yxyyyxyyyyyyyzzyyyyzyyyxzzyzzzzzzyyyxyyzzzyzz{zzzyzzxxyyyyzyzz{yzyzyxzyxxz{zzzzyyzzyxyyyyzyz{{zzzyzzzxzyyzzyz{z{yzzzyyyz{{zzzzzzzyz{yyyyzzzyzz|z{y{xzzzz{{{y{{zzyy{zyzyzzz{{{z{zzzyzyyy{zzzyyzzzxzzzyzyz{{{{z{{zyzzzzy{z{{z{z{zzzzyzzzy{{{{{z{|zzzz{z{zy{{{{{z{z{z{yzyzzz{zz{|z{zzyzzzz{z|{{{z{z{z{zyzzz{{|z{{{{{yzzzzzzz{z{{y{{{{y|{z{y{z{z{{{{zzzzz{yz{{{{{{{|zzy{z{yyz{zzz{z{zzzyzxyzz{z{{{z{zyyyyyzyyzyyyzzzyzyyxyxyzyzzzz{{yzzyzyzyzz{zzz{|zyzzyyzyzzzzyz{zzzzyyyyzzyz{zzyzzyzyz{yyyzzyz{z{zyzyyz{y{z{yzyzzyzyyzyyzzzzzzzy{xyzzyxyxyyyzyzy{zyxyzzyzz{{zzy{zyyzyyyyyzzzzzy{zyyyyzyzzyy{yzzzz{{yyzyyyyzzyz{yzzyzzyzyyzzyzzzyz{yzyzzzyzzz{zzzzzyzzzzyyzz{zz{z{zzyzyzyyzyzzz{zz{zzyzxzyy{{zz{{zzz{z{zzzzz|{z{{zzzyzzzyzzzyzzzz{zz{zz{yy{{{{{z{{yyzyzzzx{z{zz{{zzyzzzyyy{{{{{z{zzy{z{zzy{{{{|{{{zzzzy{{z{{zz{{{{{zz{{zzz{{{{{zz{{zz{z{zz{{yz{{{z{zz{{{zzz{{z{{{{{{{y{zzz{{{{z|{{yy{yzzzzy|{zz{z{zz{zzzzzz|{{zzzz{zzyyzzzzz{{z{zzyyyxyzyyzzyyzzzzyyyyyyyyzzzyz{z{zyxzzzzzzzyyzz{zzzyyzyyxyzzyyxzzzyyyyyzyzzzzyzzzyzzyyz{yzzyyyzzzzxzyzzyzzzzzzzzzzyzyxyxyyzyzzzzyyyyzyyzyy{zzyyzyyyzyyzyyy{zzzzzzzyzyzyyyzyyzzzzzzxzyzyyyy{yyzzzzyzxxzyzyyyyzzzz|yzzzxzyyyzzzz{{{zzyyyyzyzzzzzzz{yyzyyy{yzzyzz{{{zyzyzzzzz{zy{yzzzzyyyxyzzzzz{zz{y{{yzyyyz{|zzz{zzzyzy{yzzy{z{zz{zyzzzzz{z{{z{z{zzzzyyz{y{{z{z{{zyzz{zyzz{z{zzyzzz{zyzyzy{|{{{{{zz{zyyz{zz{z{z{z{{zyzzyzzz{zzzz{|{yzzzz{z{z{z{z{y{zzzzzyzzzzz{{z|{{xzzyyzz{{zz{z{zzzyzzzyz{z{z{|zzzyyz{zyz{{z{zz|zzzyyzyyzzzzyz{zyzyyzyyyxzzz{z{zzyxyyxyyz{yzzzzyyzyzzyyyzzzzzzzzzzyyyyyyzyyyzzzzzzyyzyyxzxz{yzzzyyyyzyyyyzzzzyyyzzyyyyyyy{zzzzzzyyyxzzyyyyzzzyzyyyyyyyxyyyzzyzzzyyyyyxzzyyzyzzzzzyyyxyyyyz{zzzyzzyyyywyzyzyzyzzyyzyyzyyyxzyyzz{yyyyzxyyxyyyyyz{{yyzy{yyzyzzz{y{{yyyxzyzyz{z{zzy{y{yyyyyyzz{zz{zzzyyy{yzzyzzzzzzzzyzzyyzzzzzz{z{zzzyzzyxzzzzzyzyz{zyzzzyyzzy{{z{zzzyzyyyz|{zzz{y{zyzyzzyzzzzzz{{z{yyz{zzy{{z{zzz{zzzzyzzzz{{{z{z{{yyz{zzyz{y{{|zzzyzzzzyz{zzzzzzzzyzzzz{z{z{z{{z{z{{yzyyzz{y{{{{{zzzzzyzyz{zzzy{{z{yyyyzyz{zzz{|zzzzxyx{yyzzzzyzz{yxzyyyyzzzzz{y{yzyyyyxxzzzzzxzzzxzyyyxxzzzzz{zyzyyzzzxzyzyzzzzzzzzxxyzxzx{{zzzyyyyyyyyyyzyzzzzzyzyxyzyyzyyzyzz{yyyyyyxxzyzyyy{zyyyyzyzxyzzyyzyyzzyzyyxzzzyzzzyzzzyyzyyyyzzzzzzzzyzzyxyyyzzzzzzzyyxyyxyyz{zyzzyzxxzyzzzyyzzxzzzyyyyxyzzyyzzyz{z{{yyzyyzzxyyzzzzzyyzyzyyyzzzzz{zzzyyzzyyzy{zy{{{yzyyyzyyyy{zz{z{z{yyyzzzzzzzzzzzzzzyzyyy{z{{{zz{zyzzyzzzyz{{{y{{{yyzzzxzyzz{zzz{zzyyy{yzyz{{z{zz{{zyzyz{yz{{{z{z{zyzzyzzzy{zzz{{zzzzzyzzyyz{{{{{zyzzyx{zzz{{{z{{|zzyz{zzz|zzz{{{zy{zzzzzyzzzzzz{zzzyyyzzyz{z{zzzzyzzzyyyyy{zzzyzyyywyxxzyz{zyyyz{yyxxxxyyyzyzzzzzzzyyyzyz{zz{{{y{zyyzyzyzzzz{yzzzzzxyzyzxzyzzzzzzyzzzyxyyzzyzzzzxyyyyzyxxyzzzzxzzyyyxyzyyzzyzzzzzxyyyyxzzzyzzzyzzyzxxyyxzzyzzzyyzzzyyyxxzyyzyzz{zyyyyyxzyyyzyzyyzyyyxzzyzxzz{zzyzyxyyyyyxzzzzzz{zzzzyyyyxyzz{zzzzzyyxyyzyzyzyzzzzyyyyzyyyzzzzyz{{{zzzzyzyzzyy{zzzyyzyzyyyyyzzyz{yzzyyyzyzzz{zz{zz{y{yzyyzzz{zz{zzyzzzzyzzzz{{zz|{yz{zyyzyzzzzzz{zzyyz{yzzzz{z{{{{yzzzzzzzzz{{z{z{zyzzzzzzy{zz{{{{{zzzzyzzzzzzzzz{zzzzzzzyzzz{zz{z{zz{{zzz{z{zz{{{yzzzzzyz{zz{zz{{z{{zzzzyzzz{yzz{zzzzyyzz{yyzzyzzzyyyyyyx{zzzy{zzzzyyyxzyzzzz{{zzyyyyzyyxyz{xzz{zzyzzyyyyyyzzyz{zzyzyyzyyzzzyyyyyzyyyxyyyzyzzz{zyzyyyxyyx{{zyyzyzzyyyyzyxyyzzz{zzzyzxzyzyzz{zyzzzyzzyyyyzzyyyzzyzyzyxxyxxzyzzzzyzzyyyxzyxxzyzzyzzzxyyyyyxzzyzz{zzyyzyzyzzz{zzyz{zzyyyzyyyzzyz{zzzyyzyyyzyzzyyzzz{zzzzyzxzzyzyzzzz{yyyzyyyyzzzzz{zyyzyzzyyy{zzzz{zzzzzzyyz{zyzz{z{yzyyyzyzz|z{{z{zy{zzzzzy{{{zz{{{zzzzyyyzzyzz{z{z{y{z{yy{{{{{z{z{yzzzz{{zz{z{{z{{{z{zzzzzyzz{{{{z|zzzyzy{yz{zz{{z{zyyzzzz{zzz{{z{zyyzzzy{{{zz{z|{{zzyyyzyz{y{z{zzzzzyzyxyz{zz{{zzzzyyyyyxzzzzzzzzyyzyzxyzyzzzy{zzyzyyyxyyzzzzzz|z{yxxzxyzzzzzzz{zyyzzyzzyz{{zzy{zzyyxxzxxzzzzy{zzzzzyyyyyyzzxyzzyyyzyyyxyzyzyyyzyzyzzyyyyyyy{zyzzxyyxxyzyyzzzzzzzyzyzyzyyyyyyyzzzyzyyyxyyzzz{zzz{yyyyzyyyyyzxy{zzz{yzyzyyyzyzy{zzzyzyyyyz{zzzyy{{zzyxzzyyzzzy{z{{zzyzyyyxzz{yzy{zzyyzzzyyzzzyzz{{yyyzzyyzyyz{{zzzzzzyzyzyzzzzzz{zzzyy{yzzz{zzz{zzyzyyzyyyzz{{yz{{zyzyyzzy{{z{yzzzzzyzyyzyz{zz{zzzzzzzzz{y{z{z{{z{zzzyzzyz{z{|{{|{{{zzy{{zz{{zzz{zz{zz{yyz{{{{{{{zzzzy{zzzzzz{|z{{{zzzzyz{{{zz{{{{yzzxyzyyz{zzz{zzyzzyzyzyz{{zz{zzzyzyyyyz{zy{z{zzzyyzyzyyyyzzyzyz{zyyyyyyzy{{z{{{zyyyyzyyzzzzz{{{zyzzyyzyzzzyzy{zyzyxyyyyzz{zyzzzzyzyyyzyy{zzy{z{yyzyyzzzyzzyzzzyzzzyyzxyyzzzyzzyzyyzzyzyyzzyzyzyyyxyyyyyzy{zy{{{zyyyyzzzzzzzzzz{yyyxzyyyzyzyzyyyzyxyzyyzyyyzyzyzzyyyzxyyz{zzz{zzzzyx{yzyzzzyyzz{yzzzyyzyzyzzz{zyyzyyyyyyzyzzzz{zzz{zyyzyz{{{zzzy{yzxzzyy{|{zz{{zzzzzyzzzzz{{z{{zzzzzzzyz{z{{{{{{zzzzzz{y{{{{z{z{zzzzzzyzzz{{zzzzzzzzz{{y{{z{z{{{zzzyzzyzz{z|{{z{zzzzzzzzz{{{{z{{zy{zxyzz{{{{{{|z{y{zzzzzz{zz{{z{yzzy{zzz{{{{z{z{{zzzzz{{z{z{y{z{yzyxyy{zzzzz{{zzzz{yzyzyzy{{{zzyyyyxyyyxy{yzyyzyyyyyyzxyzzzzz{zzyxzyyzyzyzz{yzzzzzzyxyyyzzz{zzz{zzyyyyzzyzzzzzzzzyyyyxzyzyyzyyzzyyyyzyyyzzz{z{yzzyxwzyzyzyyzzzzzyyzxyyyyyzyyzzzzxyyyxzxzzyyyzyzyzyyyxwyyzyzyzy{zzyyyyyzyyyyyyzyzzyyxzxyyy{yzzzzzzzyyyyyxz{yzzzzz{yyzzyyyzzz{z{yzzyzzzyzzzzzxyz{{zzzzyzzzzzzzzz{zyyzyyyzzyzzzz{{zzyzzzyzzzzzzzyyzyzyyyy{y{|zzzzyzyyyzzzzzzz{{{z{zzyzzyzzyzz{z{zz{zzzzzzyz{zzz{z{{{yyyyyzz{zzyzz{{{z{zz{{yzzz{zz{{{yzzyyyzz{{z{{{{zzzzz{yz{zz{{{z{zzyzzzz{{zzz{{|z{y{y{z{z{{z|{{{zzzzzzzzyzz{zz|{{zyzyzz{yy{zzzz{{yzyyyzzzyzzyzzzyyyzy{xyxyz{yxzzzyyxzzzzyyzzzz{zzzzyyyzyyzyzyz{zzzyzyyyxy{zzzzyzzzzyzyyxyyzzzzzz{zyzyyz{yyzzyzzzzzxzyyyzyyzzyyzzzyyzyxyyyzyzzzzyyzyyyyyzyyzyyyz{yzzyyzxxyyzzyz{yzyzyyzxxyy{yyyzzzyyyyxxyxyzzxyzyzy{yzyzzyxyyyzzz{yyzyz{yxyzzzyzz{zzyyyyzyzz{xyz{zzzyyzyzz{zy{zz{zy{yzzzyzzzz{zz{zyzzzzzyyzzzzzz{zzyzy{zyz{{{zzz{{{yzzyzyz{{zz{{z{zzyzzzyyy{{yy{{{zzzyyzzzzzz|zz{{{zzzzyzy{{zz{{z|{xzzzzzy{z{zz{{|yzzzz{zzzzzz{{z{{yxz{zzzz{zz{{{{zz{zy{yz{{{{{z|{{yzzz{zzyzz{{{{{{zzyzxzzzzzz{z{{{zzyyzzzy{{{z{|{zzzyzzzyz{{zzz{zyyzyzyzz{z{zyy{yxxyyzyzyzzzzyzz{xyzyzzyyy{zzzzzzzzyyyyzyzzzzzzzyzyzzyyyyzzz{zzzzyzyzxzzy{zzzyyzzyxyyzyyyyzyyzzzyzzxyzxyzyzzyyyyxzyzxyzyyyzyzzyzzyyxyyyyzyzyzyyzzyyyzxyxyyzzyzy{zyyxyxyyyyzzzzzzyyyzzyxyxyyyzzzzyyxyyyxzzzz{yy{zzyxzyzyyyzzxz{zz{zzyyyxzy{yzyy{zzzzzyyzyxzzyzyy{zyyyyyyyzzyy{zzzzyyyyzxyzz{zzyzzyzz{yzzzyzz{zzz{zzyzyzzzyzzzzyz{{{zyyzzyy{zz{zzz{zzyzyyzzyzy{zz{{zyzzyzzyzzzz{{{yzzzzzyyy{{z{{{|{yz{zzz{zzzyzz{{yzzzyzzyzzzzzz{z{{x{zy{yz{{zzz{{zzyyzyzzyyzzzz{{{{zz{zyzz{zz{{{z{zyzyzy{yz{{zz{{{zzzzzzzzz{zzz{yzyyyzzzyyzz{yyzzyyzyyyzyyyzyyy{z{ywzyzyyyz{zzzzzzyyxyyyyxzy{zzzzzzzyyzzyzzyyzyzy{yyzyyyxyzzz{yyz{yyyyyyyyyyyyy{{yxzyyzxyyyzzyyzzyzyyyyyyyzyzzyyyzxwyyzzyyzxzzzzzyyyyyyyxzyzyyz{zzzyyyyxyyyzzyy{yzyyxzxyyxyyyzyzzyxyyyyxyyyzyyzyz{zzyyyyzyyzzzzyy{yyyxzxyyzyzyyzz{zyzyyyzzzzzzyzzzzxyyyyzyyzzzzzzzzyzyyyyzzyyyyyzyzyzzzyyyyzzyyzzzzyzyzyyz{zz{z{z{zz{yyzzzzzy{z{{{zzzzzyyyyyz{z{z{zyzyyxyyzzz{zzzyzy{yyzzy{{{z{{{{zzz{zzzz{z{{{{{zy{zzyzyzz|zzz{|{{zzzzzzz{y{z{z|zzzz{z{yyz{{z{z{{zzzz{zzzzzy{zz{{z{zyyzz{yzz{z{{z{zyzyy{yy{xzzzz{z{yzzyzyzyzz{yyyyyyyyyyyyyzzzyzzwxzxyyxyyzyyy{z{zzyyzyzyzzzzzzzzyzzzyyyyzyyzzyzzzyyyxzyxzz{zyzz{yyyyxxyyyzyyzzzyzyyyyyxxzyyzyzzyyyyxxyzyyyyyyzzzyxzyyyxyyyzyyyzyzyyyzxyxyyyyzzyzzyzyxyyyzzzzzyz{yxyzzyyyxyyyyyyzzyxxyxyxyyy{zzy{xyyyyzyxyzzyzzzzyyxxzxzyz{zzzyzzzzzzyzzzzzzzz{zz{zyzzzyyz{zz{z{zzyzxyyyyyzzz{z{yyyzzzzyyzz{zz{{zzzyzyzzy{zzzyzzz{yzyz{zxz{z{zzz{yzzzzyzzzzzzzz{{yyzyzxzyz{zzz{z{{yzzz{{zzz{z{{|{zzz{yz{zzzzz{{zz|zyzyzyz{{z{z{|zzyzzyy{zzzzy{zzzzxzzzzyzzz{{zz{{zzyyzzzy{zz{z{zz{zzyyyzy{z{z{{{zzyyzzzzy{zzzzyzyyyyyyyzyyyzz{yzzyzzxyxxzyzzyyyzzxyzzyyyyyzzyzzyzyzyzyyyyz{zzzzzzzzzyxyyyzxz{yyzyzzyxxyyyzzzzzyzyyyyyxzyyyzyyzzzyzzyyyyyyyyzyzzzzyzyxxyzyzyyzyyzyyxyyyyyyyyyyzzzyyyxxyyxyzyzzyzyyyyyyyyyxyyzzyyzzzzxzyzyyyzyyzyyyxyxyxyzyyzxzzzzzyyzzyyxy{yzzzyzyzyzyzyxzz{zzyzz{yyyzyxyyzzyzzzyzyyzyzyzyz{zzzz{zzz{yzyzyx{{zz{zzyyzyyzxxyzy{yz|{yzyzzzyyzzzzyz{{zzyyyyzyyzzzzz{zy{yyzzzyzyz{{z{{yyyzyzzyzz{{zz{zyzzzyzyyyzzz{{{z{yzzzy{zz{zz|{z{{zx{zzzzz{{{z|{{{zzzzzyyzz{{{z{z{yzzz{yzzz{{{zz{zzyyzzyyzz{zz{{{zzzzyyxyz{{|z{|zzzy{yzyzzyz{yyzzyyzzzyzzzzzzzy{yyyyyzyzwzzyyyzyzyxyyyxyy{zyxyz{zzxyzyyyyzyyyyyzzyzzyyyxyyyzzzzzz{zzyxyxyyyyzzyzzzxzyyyzxyzyzyzzzyyzyyxyzyyzzyzzzzyxzxyyyyyyyyyzxxxzyyyzyyzyyzzzyzxyzyyxyzyzyzzyzyyyyxyyxyzzyzzzyxzyyzyyxyzyyyzyyyyyxxyyyyzyzyzzyyyyyzzyxzyxyzzzzyzxxyyzyz{zyy{yzyyyzyyyyzzyy{zzzzzyyyxyzyyyzzzzy{yyyyyzyzzzzzzzzzyyyxzxyzzzyz{yzyyyzyyzzz{zyzzzzzzzzzzzzzzz{z{{{zyyyzyzyzyy{z{|{zx{yyzzyz|zzzzzzzyxyzzzyzzyz{{{z{yyzyzzyz{z{zzzz{zyzyyyzz{z{z{{yzzyzyyzyzzz{zzz{yzxyzyyyy{z{z{z{zzyzzyzzz{y{zyzzzyzxzzzzy{zz{z{zzyyzzzzyzyzzzzzyzzyxyxyxz{zzzzzzzzyyzwyyzzzyzyz{yzxyyzyyzzyzyzzzzyzyzyxxzzz{zzzyyzzyyzzzzyzzyzyzyzyyyzyy{z{yyzzzyyzzxxzyzzyyyyzzzyyzxyyyyy{zzz{zyyyxyyyyyyzxyyzzxyzxyyzxyzzyzyyzzyxyyyyyzzyzzzyyxyzyxyyyyzyyyyz{yyyzyyyxyyzyyzyzyzyyyxyzzzzyyzzyyzyzyyzyzzyzy{zzzzyzyyyyyy{zzzzzzxzxyyyzzzzzzzzzyyyyxyzyz{z{zz{zyyyyzzzyyzyzzzzzzyzyyzzzzy{{yz{yzzyz{zyz{z{z{{{zxxzy{yzy|zz{{{zzzzyyzyzz{{yzzz{{yzyzzzyx{{{{zzzzzyzzzzzyzz{zzz{{y{{zzzzz{zzz{z{{zzzz{zzzz{z{z{{{zzz{yyzz{zz{{z{zzzyzyyyzzzzzzz{{zyzz{{zzzzz{||{{zyzyyzzzz{z{yz{z{{zyyzzzy{z{zzzzzyzyyyz{z{z{zy{zxyyyyzyyyzyzyzzzyyyzyyxzyyz{zyzzxyyxyyzx{yy{z{y{zzyyyyyyyzyzyzyzyzxyyyyyyzzyzzy{yzzzzyyyzyyyyzzzzzyyyyyyzzzyyzzyyyyyyyyzxzyyzzzzyyyxxxyxyyyyyzyzyyxyyyyyyxyzzzzyxyyyyxyzzzyzzyzzyyyyzyxyyzzzz{{zyzxzzyyyzyyzzyzyzyzxzzyyzzx{zyzyyyzyyyzyy{zzzyzzzyyyxzyzzyyzzzzyy{yyzyyyzzzzzz{zyzzyzyzzz{zzyzyzzyzyzyxyzzzzyzzzzzyyyzzx{z{zyzzyyzzyzyzyz{{{yzz{zzzzyyyz{{{zz{z{zyzzyzyyz{{zzzyz{yzzzyzzz|yz{{{zyzzzzy|z{y{z{{{{{z{zyzzzz|{zz{{zzzzzzzzzzzz{|{zz{zzzz{y{z{{zz{{z{{z{{zyz|{z{{z{{zzyyyz{yy{{{z{{zz{yxzzzyz{zzzzzzyzyzzyzy{zz{yz{zyzxyyyzwxzzzyzzzxyxyyyzzzzyzz{zyzzyyyzyy{zzz{zzzzyzyzyxxyzyyzyzzyxyxxyyxzzxzzyyyyzzyyyxxyzzzzzzzyzyyyzyx{zzyzzzzyzzxyyzyyyzyzzz{yzyyyyxxyyzyyzzyyyzyyxyyzy{yyyzzxyzyyyyxyzzzzzyyzyyzyzyzyyyyzyyyzyzzyyxyzzyyzzzyzyyyzzzyyyzzyz{zzzyyzyyyy{zy{zzzyzyzzyyyzyzzzyz{zyzzyyyyz{zzzzzzzzzxyyzyz{zzz{zzyzyzzzy{yzzzzzzzzzyyyyyzzz{{z{z{zyzyzzzzzzz{z{|zyzzzzyzz{{zz{{{zyyyyzzyzz{{z{zzzzzzzzzzz{{zz{z{{{zzyyzz{{{yz{|{zzyzzzzyzz{zz{z{{{y{zy{zz{{z|zz{{zyyzzzyzzzz{z{{{zyzy{zyy{{zz{{{{zzzyxzyzzzz{z{{{zyyyzyyx{zz{zz{y{zzyzyyyyzyz{{z{yyyyyxyyyzzzzzzyyyyyyyyxyz{zzz{{yyywyyzzyzzzzzzzyzyyyzyyzyzzzzz{zyyyyzyz{yyyzyzzyyyzyxyxzyzzzz{yyyyxyyxyyy{yyyyzyyyyyyzyzyzyzyzzyyyyxyyyyyzzzzyzyyzzyyxyzyzzzyzyyyyxxzyyzzzzzyzzyyxyxxyxyzyzyzzzzyzzyxzzzxyyzzyzyzzyzyyy{zyzyzzzyyzyywzyzzzzzyzzzyzyyzzyzzy{zyzyyzxyyyyyzz{z{zz{yzyyzxyzz{zyz{{zzyzzzyzzz{zyzzz{yyz{zxyyy{zzzz{{yyzzzyyzzyzz{zy{yzz{zyyzzzy{zzz|{yzz{yzzzz{{{z{zyzzzyzyzz{{zz{zz{zzzyyyzz{zz{{zy{zzzyzzzy{{{z{{zzzzzzz{z{{zzzz{{zzzzyzyzz{{zz{{{{yzzzzz{{z{{zzz{yzyzzyzyzy{zzzz{{zzyyyyyzzzz{z{zzyzyyxzzyzz{yyyzyxxyyyyxyzzzyyzyzyyyyyzzyyzzyzzzyyxxyyzyyyyzzzzzzxzyyxyzz{zzyyzzyyyxxyzyyzyzzzzzyzyyyyzyyzyyy{zyzyyxyxyyzyzzyy{yzyyzxyxyyxzyy{zzyyyyzyyyyyyzyzzyyyxyyyzyyzzyzzzyyyyyxxyyyzyzyy{zzxyxyzyyyzzyzz{{yyzyyyyxyzzzyzz{zyyyyzyzyyzyyzzzzyyxyyyyzzy{zzzzyyzyyyyzzzzzzzzyzzyyyzzyzyzzzzz|zyyyyyzyyzzyz{y{zyyzyyxyzzzzzzzzzyyyzyyzy{{yzzzzzzzyzzyyyyz{zzzzzzyyzzzzy{y{z{{{{zzzzyyyz{z{{zzzzyyzyzx{z{zzz{zzzzyzyzzyzzz{zzzzzzz{yzzyz{{{z|{zzyzzzzzzz{zzz{|{yyzz{y{zzzy{z{{|zzzz{yzzz{{zzzz{yzyyyyzzz{yzz{{zzzyyyzyzz{zzzz{zyzzzyy{zzzyzyzzyyzxxzyxyzzzzyzy{yzyzxwxyyyzzzzzzzzyxxyxx{yyyyzz{zxzzyyyyzyzzzz{yyxyyyzzyzyzzzzyzxyyyyyzxzzzyyzz{zyyxyyyyyyzzyzyyyxyyyyyyzzzzyxy{yyyyyyyxxyzyzzzyxxyyxxxxyyyyzzz{yyyxxyxyz{yzzyzyyyyyyyzxzyyyyzzyyzyxyxzyzyyyzzzyzxyyyyzyyyzzzzzyzyyyzxyzzzzyyz{zzyzyyyxyyz{zzyzzzyz{yxyzzyzzz{y{zyzxyzzyy{zy{zzzyyyyyzyyzy{zzzzzyyyzzzzyzyzyy{y{zzzzzzzzzzzyzzzzzzzyyzyzzzz{{zz{yzyzyxyyz{zyzzz{{yyzzzzz{|{{zz{z{yzyzz{{{zyzzzz{zyz{yyzyz{zyz{zzzzyzzxzy{{z{{{z{{yzzyyzzy{{{z|zzyzyzz{zzzz{zyz{{yzyyz{yyyz{{{zzzzzxzzyzyz{yyz{{zyyyzzzyyyyyzyyyyyyyyxxxyyzyxyzyzyzxyyyyyyzyyyzyzyyyxyyzyzyz{zzzzzyyyxyyyyyzyz{zzyyyyyyyyyzzzzzzyxxyxyyyxyyzyyyyzzxyzxxxyyzyyyyzyyyyxyxxxyyyxzyzyxxyxyxxxxyyyyzzyyyyzyyxxyyzyzyy{yyyyxxyyyyzyyzzzyxyyyyyyyyzyyzyzyyxxyyxyyyzyzzzyzyyzxyzxzyyyyzzzzyxxzyxyzzzyzzzzyyzzyxywyzz{yyzzyyzyyzyzyzzyzzz{yzzyyyyxxzyyzzzzyyzzyzxyzz{zyyzyyzzyzxyyz{{zzzzzzzyyyyyyzy{{zzz{zzyz{yzyzzz{z{yzzzyyzxzy{z{zz{{yzzyzzyzzz{zzyz{zzyzzzy{yz{{zzz{z{zzzyyzyz{yz{z{{zzy{yyzyz{z{{y|{zzyzzyz{zzyz{zz{zzzzz{zzz{zz{{z{zzzyzxyzzzzz{z{zzyzzyzzz{zzzxzzz{zyyzxyyyzzyzyxyyxyyyyyxxyyxyyzzyyzyxxyxyzzyyzzyzyyxyyywzyyzyzyzyxyzyxyyzyzzzzzzzzyyyyyyzyzzzyyzyzyxxzyxyyzxyzyyyzxyxyxyyzzxyzyzzyyyyyxyxzyyyzzzyxxxxyyxxyzyzyyyyyzyyzyyyyyyzyzyxyyyxyxyyzyzzzyzyzxyyxyxxzyyyzzyyxyyyxyxzyzyzzzyyxyxyyzyyyzyy{zzyxyxzyyxyzzyzzyzxyzyyxzy{yzzzzz{yxzyxyyyyzzzyzyzyyzyyzyxyz{zz{zyzyyyyyyyzz{y{zzzzyyyzyyyyzzzyz{zzzxyzyyyzzyzz{{zz{zzzzyyzzy{zz{z{zyzzyxxzzzzyyy{zzzz{yyy{z{z{zzzzzyyyzzyz{zzzzzzzyzz{zzzy{zz{zzzzyzzyzyyzzzzzzzzzyyyzzzyz{z{zzz|zzzyzyyzzzz{{{z{zzyyzyyy{yzzz{{{zzzyyyyxz{y{zzz{zyyzyxyyzyzzyzyyyyxxxxyyxzyyyzyyxyxyzxxyyyzyzyzzzxywyyyxzyzzyzyzyxyzyzxyyyzyyy{{z{zyxxyxzyyzyzzyxyzxyxyxzzyyzz{yyyyyyyxyyzzyyzyyyyyyyyyyzyyyzzzzyxyyxyyyyzyyyz{zyyyxyyxyxzzzzzzyyyyyxyyyzyzyz{zyyyyyyxzxxzyxyzyzyzxyxzxyy{yyxzz{yyzyzyxy{yzzzyyzyyzyzyyyzzyyyz{yyxzyxxzyzyzzzyzzyxzzzyxyz{{yzzyzzzyyyyyxzzzzzzzyzyyxyyyzz{yzzy{zyyyzzyyzyzzzzyzzyyyz{yzz{zzzzzy{yzzxyxzzz{z{z{|{zyzyzz{yyzz{zzzzzzzyzxyy{{{yzz{{yzyyxy{{z{{y{{{zyzzyy{zzz{|z{zz{{zzzzyzyz{z{zzzz{{{yyzzzzzzzzzz{{{yzzzzyz{zzz{zzyzxzyzyzzzz{yy{yzzyyzyyyzzzzy{{yzzyyyyyyzyzzz{yzyyyzyyyxyzzyzy{zyzyyyxyyzzzy{yzyyyzxzyyyyyyzzz{zyyzxyyyyyz{yyyzzzyzyxyyxy{zyyzzzxyyyyyyyyyyzzy{yyzzyyzxxzzzzyz{z{yzyxyyyzzyyzzzyyyxyzyyxyyzyzz{x{yyyyyxzyyzzzzzzzyxyyzxyyzzyyzzzyyzyxxxxyyyyyyxzyzyyxyyyzzyyzzzyxxyzzzyxyzzzzy{zyzyzzyzxyzzzzzzzzyyyzyzyyyzzzzyzyyyyxyyzzz{y{z{yzyyyyyyyx{yyz{zzzyyzyyzy{{{zzzzzzzyzyyxzzzzzzzy{yzzyzyzy{z{z{zz{zyzyzyzyz{z{{z{{zyyzzyyyyz{z|{{yzyyzyyyy{z{zz{{zzzzzzzzy{z{{{z{zzyzzyzzzz{{zz{{z{zyzyy{z{{z{{{zz{zzzzzzzz{z{zzz{{zx{zyzzz{z{{|{zzzzyzzzzz{zy{zzz{zzyy{yyzz{{zzzzzzyyyyyzyzzzzzyyxyxyxyxxzzzzyyzzyyxzzyyyyzyy{xzzyyyxyyyyzyzzzzzyzyyyyxxyyyzzyzyyzyxxxxyy{yyyyzyzxxzyyyzyyzzyzyyyyyzxzyzyyzyyxyzzzyxxyxxyzzyzzyzzyzxyyyxyyyyyyyzyyxxyzzyzyyyyzzzzzxyxxxxxyzzyzzz{yxyyyyxxyzyyzyyzzyyyzyyyxyyyzzyyyzyyyyyyyzyzyyzzyzzzzxxyzyzyzyzzzyzyxyyzyzyzz{y{yzzyyyyzzyyzzyzzyyyyzxzyyzyy{{zzzzyyzzyyxzzyy{zzzzyyyyyyzzyzzzz{zyyyyyyyyy{zz{z{zzzzyzyz{z{zz{{{yyyzyzzzz{zyy{zyzyzyzzzyz{y{z{{zzzzyzzzzz{zzzz{zzzzzzzyzz{{zzz{{zzy{zyzz{{yz{{z{zzx{yzyzz{zzz{{zzzyzz{zz{zzzz{zzyyyzyzzzz{zz{z{{yzyyzx{xz{zy{{{zyzzzyyyyzyyyzzzzzyyxyyzyyzz{zzzzzzzyzyzyyyzzzz{{yzxxyyzyzzzz{zzyyyzzxyzyyyzyzz|{zzxyxyzxyzzzyzyzzyyyyyzyzzyyyzzzyxyyyzyyyzzzyzyzyzyyxyxyyzyyzzz{yyyyyxzyz{zzzxyzxyyxxyyzy{yyzzyyyyzyyxzyyyyyzy{yyyyzzyyyzyyzy{zz{zxyyyxyyyyzy{zzzzyz{zyyzzzy{zyzxyzxyzxxzzzzyz{zzyyzyyyyzy{z{zz{yyzyyyzzzzzzzzz{zzyxzyzyz{zz{|{zzzyyyyzzzz{zy{zzzyyzyzyyz{zz{{{zzzyzzzzyz{|{zzzzzzyyzy{zz{z{zzz{zyyyzyyyzz{z{zzzzyzyzzzzz{|zz{{z{y{zzyz{z{z{zzz{{zzzyzzyy{{{{z{{{z{{zz{zzzz{{z{z{zzzzzyzzy{{zy{{{zzyzzzyz{zzy{{{zzzzyzzyzzz{z{{zyzyz{zzzyz|{zy{zyyyzyyzxz{yzzzyxyxyzxyyxxzyzzyzyzyyzzyxxyzzzyzzyzyyyyyxyyyyyyzzyzyyyxyyyyzzzyyzzzzzxyyyxyyzyyzyyyyzyyyyzzyxyyy{zxyyxxyyyyyzyyzzyzyyyxyzyzzyzyyzyyyyxzyyyyzyzzzzyyzyzxxxyyz{yzy{zzyzyzyyxzzzzyyzzzyxyyyyxyyzyyzyyyzwyyyyzyyyyyzz{yzyxyzzxzyyyzzzyyyyyyyxyz{zy{zzz{zyzxzyyyzzzz{zyyzzzzyyyzyzz{zzzyzyyzzzyzyzz{{yyzyzyzyyxzzzzzzzzyzyyzyyzzzzz{{zzyzxzyyzzzzzz{{{zyzzzzzyyyyy{z{zzyzzzzyzy{{{zzzz{{zyyzxzz{{{{zz{{zzz{xzzzyzyz{zz{{y{zzzzzy|zz{z{{zzz{zy{yzzy{z{zz{zzzyzzzzzzy{zz{zzzzzyyy{{{{zz{{zzzyzzzzzzzyz{{zzyyzyzyyz{zzzzzzyyzzyyyyyyzzyyyzyyyxyyxyzyyyyy{yyyyxyxxyzyyyyzyzzyxxywyyzyzyzzzzzxyxyzxzzyyzzzyzzyyyxyxxzzyzyzzyxyyxyyyyyzyyyyyyyyyxxyyxzzyyx{yyyyzyyyyxyyyxyzyzyyxyyyyyyzyyyzzzzyzyxxwxyzyyzzyyyxyzyyyyyzyzzzzzyyyyxxxzzzyyyyzyxyyxyyxyyzxyyyzzyxyyyyyyyyy{y{zzzyyxzxyyx{yyzzz{zxyyyyyyyyzyzzyzzzzzxyyzyzzyzzzzyzzyyxyxyz{zyzzzyzyyyyyyyzzyzzzzzzzyyzz{zzzzxzy{yzyzyyxyz{zzz{zzzzyyzzzzz{y{zzyzzyyzzyzyzzzzzzz{zyyxzxzz{zzz{z{z{zzzy{z{zzzzzz{{zzzyyzzyz|z{z{{{zy{z{z{zzzz{z|zzzyzzzyyz{{zzzzz{{zz{zzzyzzy{z{zzyzyyyzzxzzzzzz{zzzzyzyyyz{zzzzzyyyzx{yxyzzzyyyzzxxxxyyywyyyzzzyyyyxyxxyyyyyzxyyzzzxyxyyxzyzyz{z{zzyyyzyxyyyzxzyxzyxxxxxyzzzzyzzyxzyyyxyyzyyyyzzyyyzyyzxyyzyyzzzyyzyxzyyyyyyzzzzzxyyyxxxyyyyyyzzyyyyyxyxyyyzyzzzyyyyyxyyyzyyxyzzzywyxyyyxyxzyxyyyyyyzywxyzyzyzzzzyyyyzyyxyyzyyzyzyyxyyxxyyzzyzzzzzxyzyxyyzyyzyzzxyyyyzyyyyyzzzzzzxzzyyzzyzzzy{zzyyyyyyzyyzzzzzyzyzxyzyyyzzzzzyzzzyyyzzzyyzzzzzzzzyyzyzzzzz{z{y{z{yyyzyzyxzzzzzzz{zyyyz{zyzzzz{zzzzzzzzz{zy{{zyzzz{zzzyzzy{zz{{zzzyyzz{yzyz{zzzzzz{yyyz{zzy{{zzzzzzzyyzzy{z{{{{z{zzzzyyyzyz{z{zz{yzyzxyy{zyzzz{zzzyyyyyyyzzyzy{zzyzyyyyyxyyzzzzzzzxyyyyyyyzzzzy{zyyyyyyxyyzxzy{zz{zyzzyxyxyzyyyzyyyyyyyxyyzxyzzzyzxyxyyyyxyzzzzzzzyyzzyyxyxyzyyyyzzyyyxyxxzzyzyyzzzyyyyyyxyzyyzzzyzzxxyyxyyzyyyyzzyzzxyyyyzyyzyyzzzyxzyyyxwzyy{yyzyyxxyyyxyzzzyzzzyxxyyzzyyyzz{y{zzxyzxyyzzzyzzzzzyyzzyyyzyzzyzzyzzyyyxzyyzzz{z{{zzyzzyyyxzzzzzzz{zzyyyyxyyzzzzyzzzzyzyxzx{zzzyzz{zyyyyyyzzy{{{{yzyyyzzz{yzzzz{zzzzzzzzyyxzy{z{{zzzz{zyzyzzz{{z{{yzyyzzzzzz{zz{zz{{zzzy{zzz{yz{z{{{zzzyzyzz{zzzz{{{zzzz{yyyz{{zz}{z{zzzzzz{yz{{{{{zzyyy{zzzzzy{zzzzzzyzyyyzzzzy{zzzyyxyzyyyyzyzzxxxzxyyyxxyyzyyyzzyyyxyxyyzyzyzyzyzyyxyyyyzyzyzz{zyyyxyyyyz{yzyyyzyzyxyzxyyzzy{zzzywyyxyyxy{yzyz{zyxzzyyyxyzzyyzyyyyzzyyyy{yzzzzzzxyzzxyyyz{yzyyyyxyyxxzxyzyyyzzzyyyyxxyxxxyzyzyzyyyxxxzyxyyzyyzzyxzxyyxyyyzyyyzzyyyzxxyzxyzyyzyyzyxyyxxyzzzzyzy{{yyyyyyyyyzzzy{{zyzyyyxyxyzzzzz{zyyzzyyzzyyzzzyzzzyyxyyyyzzzyzyz|yyzyyyyzzzyyzzz|zyzyzzyzzzzzzyzzyyyyzzzzyyz{z{z{zzyyzzzzyy{zz{{zzyyyzzzzzzz{zz{{yzzyyzzzzzzzz|{zzzz{y{zzz{zz{{{zzyz{zzzzzzz{y|{{zyyy{yzzzzzz{z{|yzy{yzzy{{{zz{zzzzyyzzyy{zzyzzzzzzyyzyzyyz{zzyzzzyzyyyyyzyyyzzzyyyxyxxxxyyyyyzyzxyxxyxyyyzzyzzzzyyyzyyzyzyyyzzzzyyyzxzyyyzzzyyzzyxyxyxxxyyzzyyzzxyzxxyxxyyzzyyzzzxzyyyyyzzzyyyzyxyyxzyxyyyyzzyzyyxyxyyyyyyyzzyyyyyyzyxxxxyyyyzzyxyxxxzyyyzyzyyyyyxzyyzyxyxyyyyzyyyxyyxyyxyy{zzzzyyyyyzyyzyyzzyzyyxyyyyyyyzzzy{zzyzzyyxzyxzzyzzzzyxyyxyzyzzzzzz{zyyyyzzyxyzyzzzyyzyzyxxyyzzzzyzzzxyyzyzzyyzyyzzzyyzyyzzzyzzz{zzz{z{zzzzzyy{zzz{z{{yyzzzyzzz{y{zzzzyzyyzyyz{z{zzz{z{yyzzzyyz{y{yz{zzzzxzzyy{zz{z{zzzyyyzxz{{yzyzzzzxzzzzxzz{zzy{{{yzyyyzzzz{zzxzzzzzyxzyyyzzz{zy{z{zzzyyzyyzyyyzzzyzzxzyyy{yyzzzyyzyxyxxyyxzyy{{yyzyxzxyyyzyzyz{|zzyyxyyzxyxyxyzzzzyyyyzyyyyzzyzyzyyyxyyxyzyxzy{yyzzyyywyyyyzyyyzzyyyxwyxyyxzxyzyzzzyxxyyxzxxyyzzyxyxyyxyyyzyyyyyyyxxywyyyyyyzyzzzzzyyxyyyyyyzyyyzyyyzyyxzyyyyyyyyyyyxyyzyxzyyzyzzyyyxxyyyyzyyy{zyzyxyyyzyyzzyzzz{zxzyxyyy{yyzzzz{yxyyzyyyzyzzyzyzzzxzzyxxzyzzyzzyyyyyyyzzyy{zzzzzzyzzzyyyzz{zzyzyzyyzyzyzyzz{yzzzyyzyzyzyzzzzz{z{zyzyzyzzz{zzzz{yzyzzyzzzzzyzzz{zzz{yzzzzzzzzz{{zzz{zzzzy{{{z{{{z{yzzzzzz{zzzzz{zzzzzzzzzzyz{{{{{{zyzz{yzzzyzzz{{zyyyzyzzzzzzz{{yy{zzyzyyxyz{yzzzzyzzyzxzyzzzxzyyzyzxyyyyyzzxzxzyyyyyzzyyyyyzyzzzzyyxyzzxyzyyzy{yzyyyyyyyxzz{yzyzyyyxyyyxyyyzyzzzzyyxyyyzyzzyzz{zzyyyyyyxyzyyyzzzxzzxyyyxyzyyzyzzyxyyyxyyyyyyyzzzyyyxyyxyyxzzzy{zxyyyxyyxzyyzyyzzyxyyyxzxyyyyyyzyzzyyyyxyyyyzz{yzyxyyyxxyyzyyzy{zzyx{yyyzyzzzyzz{zyyzyzyyyyyzzzy{zyyyxzxyzzz{zz{zyyyyyyyyyzzzyzzzyzzyzzyyyzzzy{zzzzyzzzyzzy{zzzzzyyyzzyyzyz{zz{{yyyzzyyzz{z{{{{z{zzyzzzzyz{z{zz{zzyz{{z{yzzzz{{{zzzzyzyyzyzyzz{zzzzzyyyzzy{z{z{{{{yzzzzzzzzz{z{z{{yyzzzz{{z{{|{z{zyzzz{zzzz{zz{z{zzzyzy{yz{zzzzzz{{yyyy{yz{z{yyzyzyzxyzyzzy{yxzyzyyzyyzzyzzzyzyzzzzyyyyyzyyyz{zz{zyxxyyyzyzzyzzzz{yzyzxyz{zzzzy{zzxxxyyyyyy{zyyyzyyxyzyzyyzzzz{{zzyyyyyzyyyzyyzzyyyzyyyyyyzzzz{{zyyyyzxyxyzy{zyyzzxzyyyyzyyzyzzxyyyxyyyyyyzyzyyzzyxyxyxzyzy{y{{yzzyzzyyyxyzyyy{z{zzyyzyyxzzz{z{zyzzyzyyyyyzyzzzz{zzyyyyzzz{zzyzz{zyyyzyyyyzy{z{zyzyzzyyzyz{z{{zzzzzzzzzyyyzzzzzzyzzyyy{zzzzzz{zzzzzyzzxyzyz{{z{{{zzzyzz{yzzz{{y{|zzzyz{zyyzzzyy|z{zyzzyzy{{{yz{{{{{zyzzzz{zzzzz{|zzzzzyyzz{z{z{|zzyzyzzyx{{zzz{{z{yzxz{z{zyz{zz||{zz{{z{zzzy{z{yzzyzyzyyxyzz{zz{{zzzzyyzy{{{{zzz{zxyxzy{x{{{yzzyzxxyyyyzyyzzyyzz{zyyyzxyyxzzyzzyzzyyxyxzyyyyzzzyzzzzzyyyyyzzzzyzzyyxyywyyyyzzyyzzyzzyyyyyyyyxzyyzyyyxyyyxzyzyyyyzzyyxyyyxyzyzzyyzyxyyyyyxyzyzzzzyyyyxyzxyyzzyyyzzyxyxxzyyyyzz{yzyyyyyyyxyy{yyyyzzyzyxyyxyyyyzyyzyyyzyxxxyzzyzzyzyyxyzyyzw{zyyyyyzyyyyyxzzyzzzzzzzzyzyxyyyz{yzyz{{zyzxyxyyzzzyzz{zyzzxxxxzzz{yyz{zyzzyyxyy{yyyyzzzzzzy{yxzzzzz{yz{zzzzyzzzyzy{z{z{yyyyzyyyzz{{{{yzzzzyyxzyz{zz{zz{zxzzzz{zy|zzzzzzzzzzyyzzy{z{{z{zzzyyyyyyz{{{zz{zzyyyzyz{zzzzz{z{zzyzzzzyz{z{{{z{z{yyzyzzyzzz{z{zyyyzyzzxzzzzzy{zyzzyxzyyyzzzyyyyyxxxyxyyxzyzzzzzyyyyyxyyyzyyyzzzyyzxyyyxzyyzyzzyzxxzyzyyxyyzzyzzzyyxxxxyyzyyzzzzxyyxzyyxz{xzyzzyyyyyyyxyyyzyyyzyyxyxxyyyyyzyyzzzxyzxxxyxzzyzzyzy{yzyxxxyyzzzzzyzzyyzyyyyxzyzzyyyyyxxxyzxxzyzyzyzzyxxxyzyyzzzzyzzyyyxxzyyyyzzzzzzyzxyyxyyxzzzyyz{zyyyyxyyyzzzzyzzzyzyxyxzzzzyzzzzzzyzyxyyyzyzyzy{zzyyyyxyzz{zzzzzyyyyzyyyzyzzyzzzzzyyzzyyz{zzzzz{yyzyxzyzyzy{z|zzzxyzyyyyzzzyzzzzzzyzyyzzz{z{z{{{yzzyzzzyzyzzz{|z{xyyy|zzzzyzzz{{zyyzzzyz{{yzz{zzzyyzzxyzzz{{zzz{zzzyzyzx{z{{zz{zyzyzzzzzyzz{zzzzzzyyyzyxyzyzyzzyyyxyyyyxyz{xzzxzyyxyyyzyzyyzyzzzyxyyyxyyyyzyzzzyyyyyyzzyyyyy{zzzzyyyzzxyyzzzzyzzyyyxxyywyyzyzyz{yxzyyyyyzyzyxyzyyyyzyyyzyzyzzzyyyxyyyyyyyxyyzzzyyzzyzxyyzzyzzzzyyyxyyxyxyzyxzzyzyyyxyyyyzzyzzzz{yyxyyyyyyyzzyyyzyxxxyyyxyzyzyzzyyyyyyzyyzzyyyz|zyzyxyzxxzzzyzyyzyzyyyyzyzyz{zyyzyyzzyzzzy{yyzzzzzyzxzxzyyzzzzzz{yyzxxyzyyyzyyyzyzzyzyyyzzzzyyzzy{zzzzyzyy{z{y{z{zzzzzz{y{zzzy{zzzzyzy{zzyzz{zz{{zzzyzyzzz{z{zzz{zz{yyyzzzzzz{{{{yyyyz{y{z{zz{z{{z{zzyyzyzz{z|{z{zzzzzzzzzz{zz{zz|{zzzzzzzzz{zy{zzz{yyyyzyzzyzz{zzyxzzyyyzy{{zz{yyyzyyzyzzzzzzyy{yyyyxyyxzzzyyzyzyyxxxyxyyy{yzzzyzyyxyxxyzyyyzyzzyxyxyyxyzzyyyyy{zyywxxyyyyzyyyzyxyyxyyyxxzzyyzzyyzyyyyyyyzyyyxyyyyxxyyyyzyzxzzyyyyyyxyyyyyzyyyyzzyzyyyxyzyzy{yzzyyxyxxxxzyzyyyzzyxyyxxyxxxyyyyzzyzzxyxyxyzyyyyy{yyxyzzxyzzzyyyzzyyyyyxyyzyyzyyy{yyzyyyyx{zxyzzz{yyyyywyxyzyzzyzzyyyyzyyzzzyzz{zzzyyyyyyyz{yzzz{zyzxzxyyyzyyzyzzzzzyyzzyyyz{z{{z{yxyyyzzxyzz{y{z{zxyyzyxyzzzzz{{z{xyzzzzzz{yzz{z{{zzyyy{yyyz{z{{{{zyyzzyyy|z{z{{z{yzzyzyzzz{{z{zz{yyyyzyzzz{z{z{{y{y{zzzzzzzzzzzzzzyzzyzyyzzzyzzzzyzzyyzyzz{zy{z{yzzyxxyyzyzzyzxzxyyyyyyyx{yzzzzzyyzyxxyxzyyzzzyyyyyxyzyyzy{yyzyzyyyyyzyyzzzyzy{yzxxyyxzxyyyyzzyzyyyxyyyxzzyzxzzyyyyxyyxyyyzyzyzyyyyxxzyyyyyxxzyyzyyxyxyxyyyyyzzyyyyyzxxxyyyyyzzzyxxyyxxxyyzzyyzzyyyyyzyxxyyyyyyyyzyxyyzzy{yyzzzyyyyxyyyyyxyyyyyzyxyyyyyyyzzzzz{zyyyzyyyyyzyyzyzzzyzyxyyzyyzzyzy{zyzxzyzxyyzy{yz{yyyyzyyyyzzzzyzyzyyzyzy{yzyzyzyzyyzyzyxzzzzzz{zzyzxyyyzzyzzzz|zzzzyyyxyyzz{z{zzzzyyzy{zyz{zzzy{zzyzyxz{yy{yzz{z{zzzyyyy{y{yzy{zz|zyzzyzyyzzzz{{z{yyzzzyzzyz{{zz{zzyzyyxzzzz{{zz{yzyyyyyyyy{zzy|z|yzzyyyzz{yzy{zzzzzyyxzyzyyzzyzzyyyyyyxyyyzyzyzyyxyxxxyyyzxyzyyzzzxxyyyxyyyyyzzyzxyyxxyyzyyyyyyyzyyyxyyxzzyyyzzzyxyyyxxyyyzyyyyyyxyxxyxyyzyxyyyyyyyxxzywyyyzyzyyxxyxxyxyzzyyyzzzyxxyyyxxxyyzz{zzyyyxxyyzzzyyyzzzxyyyyxxwyyyxyyyzyzyxyyxyxzyzxzyzyxxyxxzxzyzzyyyyzyxyyxxyyyyyzzzyzxyyyyyyyzzyyz{{yyyyxxyyyzyzzzzyzyyxxzyxzzzyyzyyyyyyxyzy{zyzy{yzzzzyzyxyzzyyz{zzzyyzyxyyy{zzzzzzyzyzyxzyzyyzz{zzyyyyzxxxyz{zyzzz{zzzyyzyy{yzyz{z{yzyzyzyyyy{z{zz{yzyyzyyzzzz{z{z{yzzzyzz{z{zz{zzzyzzzyyyyyzz{z{{yyyzzzzyzzz{z{zzzzzyyzzzzzyzzzz{yyyzyzyyyzyzxzzzyyyyyyyyzy{zyyyyyxyxxxywyyyyzyzyyyxyxxyxyzzyxzyyyyyyyyzyzyzxzzyzyyyyxyxyyyyz{xyzyzyyyxxwzzyzyyyzyyyyyyyyxzzwxzzyyxyyxxxzyx{xyyzzyyyxyyyxyzyyxyyyyyyyxxxyyyyyzzzzzyyyxxyyzyyzzyyzxxxyyxxxyyyzzxzyyyzyyxxxxzyyyyyyxyyxyyyxxzyzzzzyyxzxyzxxyzyzzyzzyyyyyyyyxxzyzyyzxxzzxxxyzyzyxyzzyyyyxxyxyyzzyyzyyyzzyyyyyzzzzzzyzyy{yxxyyyyzzz{yxyyxyyyyyzyyzzzyxyzxyzyyzzzzzz{zyzyyyyzzyzyzzzz{zyyyyyzzzzz{{{{yzxyyzy{yzzzyz{zzzxzyzyzzzzyzz{z{zy{yyyyzzyzzzzz{zyzzxyzyz{{yzzzzzzzzzyyzyzzzzzzzzzzyzzyzzzzzzzzz{yyyzyyyy{xzzy{zyzxyyzzyyzz{zyzzyyyyyxyyyyyzzyyyyyyxyyxxxzzyy{yzyyxyyyxxzyzzzzzzyyzyyzyyyzyyzz{zyyzyyyxyyzzzyyzzzyxxyxxxyyzzyzyzyxzxyxyxyzyzyxzxyyzzyyyy{yyyzzzyyzyxzyzyyyzzzzyyyyyyyyxyyzzzyyzzyyxyx{xyyzzyzzyyzyyyxyyxyyzzzyyzzyyyyyyxyyyyxzzyyyyyyxyyyyyzzzzzyyyyyzyyzyzyzzzzyyyyyxyzyyzyzyz{zyzxyyyyyyyzyzyzyyyzzxyyzzzz{y{zzzyzzyyyyzzz{z{zyyyyxyyyz{{{yyzzzzzyyyyyzz{yz{yyyzyzyzzzzzz{{zzzyxzzyzzzzyzzz{|{zzy{zyzzz{z{{z{z{zyyyyz{zz{yz{zzyyyzyzyyzz{z{{z{{yzzyyzyy{zz{{{zzzyz{yzzz{{zzz{{{yzyyzzzzy{{zzz|zzyyzy{y{zz{{{zzyyyxzyzyzzzzzzz{zzy{zzxzzz{{yz{zzxyyzyyzzzzyyzyzyyyxxyxxzzyy{yzzyxyyxxxxxyzzxzzzyyzyyyzzzyyzzzz{yzyzxyxyxyzyyzzzyyyxxxyxzzyy{zzzyyyyzyxxyyzyyzzzyzyxyxyxzzzyzyzyyxyyxzxxxyyzxyxyyxyyyyyxyzxxzyzxyyxyyyyyyzzyz{zyzy{yxyyxyyyzyyzzzyyyyyzxyyyyxyyyyyyyxxyxyzyzzzzzzzyyzyxyzzzyzxzzzyxxyyzyzzzxzyy{yyzxyyyyyzzzzyyzy{yxxzyxzzyyzzz{yyzyzyxyyzzzyzzzzxyyyzyyyzzzzz{zzyxxzzyyzzyzz{{yyyy{zyxz{{zz{z{{yxz{zzzzzzy{{z{zyyyyzyzzz{zz{{{yyyyzzyyz{{z{y{{zzzzzyyzyzzzy{{zzzzyzyzy{z{{z|zzzzzzzy{{yzzzz{{{zzyzzyzzyzzz{zzzz{zyy{zzyzzzzz{{{zyzyyzyyzzzzzz{zzzyyyyzyzzzyzzzzzyzyzyyy{z{zzyzzyyxyyyzxyyzyzyzzyyyxyyyyyyzzzyzzzyyyxyyxzyzyzxzzyxyxyxzyyz{zyzzyyyzyxyzyyz{zzyzzyxxyxyyxxzzyzzzyzyyyyxyyyxzyzyzzyyxyyyyzzzzzyyzzyyyxyxyxzzzzyyzyyyyyyyzzyyzyzzzyyyyxyyyxyyyzzy{zzyzzyxyxxyzzzzyzyyxxzyzxyzyyz{zyzyxyyyyxyzzzyyzzyyyyyzyyyzyzzzz{yzyxyyzz{yyzzzz{xyyzyyyyzyyzzzzzyyzzyyzzyzy{zy{zzyzyyyyyzzzzzy{{yyyxxyzxzzzzzzzzzzzyzzzyyyzzzzzzyy{zyzzz{zzyzzy{zyyzyyyy{zzyz{{z{yzyzyzz{{zyzz{{yyzyzzzyzyz{{zz{zzyzzzz{{{{z{z{{zzzzzzyy{{zz{z{z|yzzzyzzzzzz{{z{zyzz{yyz{zyzz{z{zzyyyyyzy{yzyzz{zyz{zyyyy{zzzzzzzzyyyxyzzy{zyzyyxyyyyyxxyzyzzzyzyxxzyxxyyyzzzzzzyyxyyxxyzyyyzzzzyyxyyyyyzyzzzyzzyxzyxyyxyxyyyxzzyxyyyxyyyyyxyy{xyyyyxxyyzz{yyyyyxxxxxxxyyyzyyyzyyxyxyxxyzyyzyzzzywyyxxxyyzzyyyzyzyyyxxyyyzyzyzyyxzxxyxyyxzxyyzyxyzyxyyyyxzzzyyyyyxzzyyyyyzxzzzzzyyzyyyxzz{zzzzzzyyyyyxzyzyzyxyyyyyzzxyxyyzzzyzz{yyyxxyyyyzyzzyzyyyyyyyyxzzyzyzz{yzzzyxzyyzz{zzzzzyyzyyyzzzz{{zyzzyzyzzzyyyzzzzz{zzyzzyyy{{zzz{z{yyyyzzyyz{zzzz{zzyzzyyzyzzzzz{{zzzzzz{zzzzzz{z{{zyyzyyzzyyz{zz{zzyyzyyyyzz{zy{zz{zz{zyzyzzzzzz{zzzyyyyyyyzyyzz{yzzyyyyyxzzy{yzyzyyzyyyyyzzzzyyzyyyxxxyyxxyzyyyyzyxyzxwzxyyyyzyyzyywyyyxzzyzyyzzzzyyyyyxxzxyyyyyyyyzxyxxxyyyzyzy{yyyyzyxxxyyzxz{yyxyxyywyyyzzzzzxxyyzwxyyyyxzxzzzyyyyyxyyxyzyzyzxyxyyyyxyxzyyzzzyxyxxyyyxyyyzzyyzyyyyxyxyx{yyyyzzzyxxyyxxxzyyzzzyzxyyyyzyyzzyyzzyzxyyxyyyyzyyyzyzyxyxxxzxyyzzzzyyyyyzyyyyzyyzyzzyyyyxyyyxyyyzyzz{yyyxyyyzzzzzzzzzyyxyyyyy{{zzz{z{zxzyyyx{zy{{zz{zzzyyzyzzz{zzz{{zzyzyzzyyy{yzzz{z{xzyyyzzzzzzyyz{yyzyxzzz{z{{zz{{zzzyxzyzyzzzzzzzzzyzyzzzzzz{{zzzzyzyzyyzyzyy|zz{{yz{yyzyzzz{{zz{yzyxyxyyy{zyyzzzzzyzyyzzzzyzz{zzyyzyzxyyzyz{yzzyzyxxxyxxyyzyyyyyyyyxxxxxyzzzyzyzyzyyyyyyzyzzyzzyyyzyzyyyzyyyxzyzyyyyxxywyzyyxzzyyyyyyyyxyzzyyzzy{xyxxxyxzyyyxz{yyxxyxyyyyyzyyz{yxyyxyyyyzzzxxyyyyyyyxyxyyyzyyxyzyxyyxyyxy{yxxzyzyxxyyyxyzzyyzzxyxxyyyyyxyzxyyzzzyxyyyyxxyyzzyyzzyyyyyxyyyzyxzzzzxyyyywyyyyyzy{zyxyyyyyxyyy{yzyzzyxyyyyyyyzzzy{zyzxyyyyxyzzzzyyzzyzyzzzyyzzz{zyzyzyyyzyzzz{yzz{z{yzyzyzzyzzyzzzzzyzyzyyyyzzzzzyzzzxyyyyyz{z{{{{{zzzzzzyzyzz{yz{zzzzzyzyzyzzzzzzz{zyzzyzyzz{yzz{|zzyzzzyzzzyzzzzyzyyyxzzyy{{zzz{{zyzzyyzyyyyzyzzz{{yyyyyyyyzz{yzzyyyzzyxzxzyyyzzzyyyxyxxyxxzyyzxzyyyyxxyxyyyyyzyzzzzxyyyxyyxyzyzzyyzyyyyyxyyyxyyyyzyzyyxyyyyyxyzyzyxyyxyyxyyzyyzyzxxxyyxyyxxxyyyzyyyxyxyyyyyxyyyzyyyyyyxxxyyyzzyzyyxxyyyxxyxzzyyyyyyyyxyxyxyzzxzyzzyxxxyyxyyzyzxxzzyyyyxxxyyyyyyzxyxzxxzywyyyyyzyy{yyyxxyyyyyzzzyzyxyxzxyyzzyzzyyzxyyyxyyyyzxyzzzzyxzyyyyyyzyzyzzzzyyyyyyyzzyyxzzzyxxyyzyxzzzyzyzzzzyzyyyzzzy{{zzzyyzzyyyxzyzzz{zzzyyzyyyxzzzzzy{zzyyyyyyzzz{yz{{{yzzzyyyyyy{y{yzzzzzyyyzyyzzzzyz{z{zzzyyz{zzzzz{{zzyzyzzyyzy{yyz|z{zyyzyyzzyzzz{{z{yxxzyyzzzzz{{zzyyyyyyyyzyzyzzzxyyyyyyyzxyyxyyzyxyyywyxyzzyyzzyyxxyzxxxzyyxyyx{yyyyyyzxyyzyzyzzyxxxxxyyy{yzyxzyzyyxxxxxyzzyyy{zyyyxyyxxyzyyyzzzyyxyyxyxzyzxyyzyyyyxxyyzyyyyyyyyyxyxxyxxzyyzyyzxzyxxxyyyxyyyzzzzxxyyxyxxxyyyzyyyyxxxyyyyyyxyzzyyyzxxxxyzyzzzzyzyzyyxyyxxyyzyyzzyyxyyxyyzyyzyzzzzzyyyxyyyyzyzy{yzyyyyyyyzyzzzyy{zyzyyzxyyxyzyyyzzyyyyyyxxyzzyyzyzyxyzyyyyyzzyzzyzzyyzyyyyzzyzz{zzyzzzzzzzzzyzzz{zzz{zyzyzzzz{zy{y{zzyzyzzz{zyz{{{yzzzyzzyzzzz{zzz{yyyyzzyyyzzzz{zzyyyyyyy{zzyzyzzzzyzyzyzzzzz{{{{zzzyyzyzzzyzzzz{zyzyzyyyzyyzyz{zzzyyyyyxz{zzyzzzyyyyyxyzyzzzzyzzxxwxyyxxyyxzyyzyyxwyyyyxxzyyyyzyyyyxxyxxyyyyyzzyzxyxyyyyzyxzyyyxyzxxwyywzzzyzzzzyyyxywyyyzyyyyzyyxxxyxwxyxyyzyzyyyyxxxxxxxyyyyzzxyyxxxyxyzzzyyzyyxxxxwxxyzyyzzyzyxyxxxxxyyyzyxyxyxyxxwxyxyyxzzyyyyxyxxyxyyyyyyzyyxxyyxxyyzzyzyzzxxyxzxyxyzyyyyzzyyxyyxyzzyzyyzzyyyzxxyyyzyzyyzzzyxyxxxyyxzyzyzzzzxzyxyxyyzzyxz{zxyxyxyxxzyyzyzyzzzyzyxyyzz{zzz{zyyzyzyzyzyzz{z{zyyyyyyxzzzzzzzzz{xyyzyzy{{yz{zzzxzzyyyyzy{yzz{zzzyyyzyyyx{zzy{{yzyyyyyyyyzzz{yzzzyyyyyzzz{zzzzzyzyzzzxzz{|yzzzyzzzzyzyzzzzyzyzzzyzzxxyyzxzzzyyzyzyxyzxyyyzzyzyxyyxyyxxyxxyyyyyy{yyyyxxxxzzyyzzzzyyxyxxyx{xyyzzzyyyzyyxyzyzzyyxyzyyxyxyyxzyyyzyy{yzyyyyyyyyyyzyyyyyyxyxyyzyyzyyzyyyyxxzyyyxyzyyyywxyxyxxxyyyzyzzzxyxywyxyyyyy{zzzyyxywzyzxyxxzyyyyyyyyxyyxyyzyzzzzyyxyyyzxyyyyzyzxyyxyxxyyzyzzzy{yxyxyxxyxzwzyzy{xyxyyyzyyyyyyzyzyyyyyyyxyyzyyzyzyxxzyxyyyyy{{{yz{yyzzzyyyyyzyyzyyzyyxyxzyzzzyzzzzxxxyzyzzz{{yzzzyzzyyyyyzxyzyzz{zxyyyxyxz{zzzzzyzyyyzzyyz{zzzyzzyyyzzyxyzyzzz{z{zzyzzzxyz{zzz{zyyyyyzxyzz{zzz{{{zyxyzzxzyzzz{zy{zyyyzyyzzzy{zyzzzzyxyzxyzyy{yzz{zzyyyyzy{zz{xzzzyyzyzyyyyyzyyyzyyyzyxyyyyyzyyyyzxyyyxyyyxyyzyyzzyyyxyyxxyyyyyzzzyyyxyyxxyyxzyyzzxzzyxxyxyzzzxyzyyyyxxyyyyyyyyy{yyxyxzzxyzzyyyyyyyxxxyyxzyyxyyyyywyyyxxyxxyyxyyzyzyyyxyyyzyzxxyyzyzyyxyyyyyzyyzzyyxwyxxyyxxyyxzyzyyyyyyxyyxyyyzzyyyzxyzyxyyxy{yyyyxyyyxxyyzzyz{yzyxyxzyyxyyyzzyzyzyxyxyxxyy{zzzzyzyyzyyyxzzyxzzzxyyzyyyxyyyzzyyz{yyy{zyxzyzzzxzyzyyzzxyyyzz{zzzzyyyzxyzzxzzy{z{yzyyyyzyyzz{{zz{zyzxzyyyyyyyzz{z{zyyyyyzyzzzzzz{z{zzyzzyyyy{{zz|{zyyyzzyzy|zyzzzz{zyyyzxyzyzzz{{z{zyzzyyyxzzyzzzzzzyyxyyyyyzzz{zzyzyyyzyzxyz{zz{yyyzyzxyyxyz{yzyyyyyxywwyxyyzzyzzyyyxxxxxyyyzyyyzyzyxyyxyyzzyyzyzzzyyxyyzzzyzzzyyzyyyxyxyyzyz{yyyzzxzyyyyyyzyzzzzyzxzyxyyxyxyyyzzzxyyxyzxyxyyzzzyzxxyyyyyyyzzyyy{yyyyyxyyxxzyxyyyxyzyzyyxxyzzyyz{zyyyyyyyzxyyxyzzyzyzyxyxyyzyyyzyyzxxyyyyy{yyyzzzzzyyyyyyyyzyyzzzzzyzzyyyyyzzyyzzzyxyxyyyyyzzyyzzzyyzyzyyyyyzzzzy{zyzyyzzyzzzzzzzyzyyzyyzzyzz{zzzzyyyyyzyyzzzz{{{zyyzyyyyyzyzzzz{zzyzzyyxyzyzzzyz{{yzxzyyzzzzy{z{zyyyyzzzz{zzzzz{{zzzzzzyzzzyzz{{{y{yzzxy{{zz{zz{zzyzyzzyyyzz{zz{{zyzyyzzyyz{{z{zzzyzzzzyyyzzzyy{zyzyyyzxyzzz{zy{{yzzyzyyzzz{z{yzzyxxyxxyxxyyzzyyzyyyywwxxxzyzzzzzxyyxxyyyyzzyzzzyyxyyyzxzyzyzyyzzzzyxxxyxyyxzyzyzyxzyyyyxyyyyy{yyyyyxyyyyyzyyxzyyyxyxzyxyxzyyyyyyxyywyxxxyzyyyzyyyxxyxyxxyyzyyzzxzxyyxwyxyzyzyzzzyyyyxxyyyyzyxyzyxxxxyyyxyyyyyzyzyyyyyzyxyzzzyyzyyyzyyyxxyzzxyzzyyzzzxxyxzzxzzzz{zyyxxxyyyy{zzzyzzzzyyy{yyyxzz{yzzyyy{yxyzyzzzzzyyyxyyyyzzzyzyzzzyyyyyzyxyzz{zzzzyzyyyzyyzyzzzzz{zyzzzyzyz{zy{z{yzyyzzzyzzzzz{{{{zyyyyyy{zzzzzzz{{yyyzyzzz{y{z{{yzyxzzzyyzzzzzzz{zzyxzzyyzzzzzzzz{zzzyzyzz{{zyz{{yyzyyyyyzzzzzz{zzyyyzyyyzzz{zzzzyyyyyxxxyyzzzyyzyxyyyxyxyyyyzy{zyyyyzxyxyyzxyyzyyxxxxyyxyyzyyzzzzyyyzzyx{zzyyyzzzyxyxzyxyzzzyyyyxyyyxyyyyyyyxyyzyyyyyyxyyyzyyyyxxzyxyzyzyyyyyxzyyyyxxyxyxzyyxzyzyyxxyzwyyyyyxzyxyxzzyxyyyzzzyyzzyyyyzyyxyxyyyzzyyzyxxxxyxyzyzzy{yyyyyyyyyzzzzyzyzyxyxyyxyzzzxzyyyyzxyyzyyyyzyzy{yyyyyyyyzzzyzzzzzyzyyyyxyyyzz{yyzyyyzzyyzzzzyz{yzxzzyyxyzzzyz{zyzyyyyyyyyz{zzzzzzyyyyzzyz{zzyzz{yyyyyzyzyz{zz{{{zyyzzyzzz{zyzz{{zzzyyz{zzzyyz{zy{zzzyzzyzzz{zz{zzxyzyyyyzzz{zz{zzyzzzyz{zyzyz{zzyzzyzzyzzyzzzzyzzyyyxyyyzyzz{{zzzyyxzzzyxzzzzzyzyztyyyyyzyyzzzyyyzyxyyxxxzyxzyzyxzyyyxyxyyzyyyyyyyyxyyyyyzzzzyzzyxyxywxyyyzzyyzzzyxxwxyxyyyzyyzxyxzyxyxxxy{yyzyyzyyxxyyxzyyyyyyyyyyyyxyyzyyyyyyyyzxyxyyxyyxzzyzzzyyyyxxyxyyyyzzzyxzxxyywyyyyy{yyyyyyyyzyyyyyxzyyzyyyyyxyxzzzzzyyxxzzyyyyzyyyzzyzyyzyyyyyzyzyyzzzyyyyyxyzyzyzyzzyxyyyyxyyzzyz{yzzyyyzyxxxyzyzzz{yyzyyyyyyzzzzyy{zyzyyzyyyzzzzzzzyyyyzyyzyzzzz{zzzyyy{yyzy{yzyzz{zzyyyyxzyzzz{yzzyzzzzzxzzzzzzz{|zzzzyzzzzyyzzzzz{zz{yyzyzz{{zzyz{zxzzzzxyzz{zzz{zyyyyzzyzz{zyzz{zzzyz{zzzz{zyyz{{zzyyyyy{zyyzzzz{{zzzzyzyyz{yzzzzzzzxyzyxzyzzyyzyyzyxyyzxyyyyzzzyxxyyyyxxzxxzyzy{yyyyzyywyz{yyzzyzyyyyyyxyyzzyzzyzyyxyyyyyyzyzyzzxyywyxyxyyyzyyzzyyxxxyyyyzzyxyyyyyzxxzxyyyzzyzyyzxyyyxyxyyyzxyzzxzyzxyyyyyyzyyzzyyzyyyyxyyyyyzzxyyxyyyxwyyzyzyzxyyyxxyyxyxyyzzyyyyxxyxyzzzyyyyzyxxxxyyyyyzzyzyzzzyyyyxyyzzyzzzzzyxyyyxyzzzyzyzzyxyzyyyyzzyyyyzzyyyxyyyyyzyyzzzzyyyyyyyyxzzyyzyyyzyzyyyyxzzzyz{{zyzzyyyzzz{zzz{{{zxyyyyxyyzy{zzzzzyzyzzyy{zzyzz{{zzzzzzyzzzyz{{yz|xyzyyzyy{zz{zzzyyyzyyzyzzz{zzzzyzyzzyyzzy{z{zzzyyyzzyzx{zz{yzyzzyzyyxzzyzzzyzz{zzyzyyzxy{zyyzyzyyyyzxyyyyzxyyzzxyyyyxxyxyyyzyzzxyxxyxxyyyzyzzyyyyyxyxxxzyyxyzzzzxyyzyxyzyyyyyzzyyyxwyyxzxyyyyyyxyyxyyyyxyxyzzyyxyxxxyxxyyyxxyxyywxxyyyxyyxzyzyyyxxxxxwxxyyxyyxyywxyyyxxzxyxyyzzxyyywxxxzyyxyyzyxyxyyxyxyyxyyyyxywyxyxxxyzyyyyzyyxyxyxwyyyxzyzyzyyxyyxxyzyyzyyzzyxxxzxyyzyzyyzyzyyxyxyxyyyyyyy{yyxyyyxyxzzzz{zzzzzyyxxyxyyzzxz{yyxyyzxyyyz{yzyyzyyyyyyyxzyzyzzyzyyxzyyzyzyzyzzzzxxyyyyxxyzzzzyzxyyyyyxzyyzyzz{z|zyyxzyzyyzyzz{zz{yyyyzyyz{{zzyzzzyzzyyyzzzzzzzzyyyzyxyyzyzzz{y{{zz{yzyxzzyzzzy{zyyyyxyyzyxzzxz{{zxyyzxxzyyz{zzzyyyyyyyxxzzzyyzyyyyxxyyxxyzyxzyzzyxyyyxwyyyyyyzzzyyxxyyxyyxzyxzzzxzxxyyxxy{zxxxzyyyyxxyxyyzyyzyxyyyxyxxxxxyzyxzzyzxyyyywxxyyyyzxyzxyxyxyxyyyxzzyyyxywxyyxyyyyyyyxyyxyxyxyyzyzzyzyxyxyxxxyyyzyyyyyyyyyxyyxyyzyzzyyyyyxxyxxzzzxyzz{yxzyxyyyyzyzyyzzzxxyyxyyyyzzxzzyyyzzyyzxzzyyyzyzyzyxyyxyyzzzyzzyyxyyxxyyyzzyy{zyyyyyxyyyyyzyyzzzzyyyxyyxzzyyyyyzyyyyzyyyyzzzzzzzyzyyyyyx{yzyyzz{yyyyyyxyyzyzzz{zyyyzzxzzz{zy{zzzyyxyyyzz{zyz{z{z{yyzzzyyyzzzzyzzzyyyyzyx{yyyzy|z{yyxzxzyzzzzyy{{zxyyyyyzzyz{zyz{zzzyyzzyzzy{z{yzzyyxyyzyxzz{zyzyxyyyxxzxyyzyyzxyxyyyxxxxxzyyzxyzyyyyxxyxyyzzyyzyxyxxxxxyyyyzyzzyyyyyyxxzyyyyyy{zyyyyxxyxxyzyxyyyyxyxyxxwyzxxyzyzyyyyyyyxyxxyxyyywywxxxyyyxyyyyyzxyyxwxxxxy{xyzxyywyyyxxyyxyyxzzyxxyywwzyyzyyyyyxxyyyyyyyyyxyxyyzxxyxyxxyyyyxyzyzxxxyyyxyzyyzzzzyzyyxzxyyzzyyyzzzyxzxyyxyzyyyzyyzyxyyzxxxyyzzzyzyzxyxyyyxyzzyzzzzyyxyxzyxyxzzyyzyyyyyyyyxzzzzzzzzzyzyyyyyzzz{yyz{yyyyyyzxzyzzz{y|yyzyyxxzzzzzzzzyyyyyyyyyz{yzzzzzzzzyyzzzzyzyzzyz{yyxzzyyxzzyzz{{zyyyyyzyy{zzzzzy{xzyyyyzzzz{zz{zzyzzyyxyyzzz{zzyyzyxyzxyz{yyzz{zzyyyzyyyyyzy{zzyzzzxxyyyyzzyzyyyxyyxyyzy{yyyzyyzzxzxxxyyyyzzzzzyyyxxxyxxyxyyzyzyyyxzxyyyy{yyyyzzzxyxxxxxyyyyyyyyxxyxyyyxyzyzzyyzyyyyxyxyyyzyzyyxxyyyxyyyzyyyyzzyzyxyxyxxzxyyyzyzyyzyxyxyxyzzyxzzyyyxxxyzyyyzyz{yzyyyxwxzyzxzyyy{yyyyyyyxyyyyyzzzyyyyxyyxxyyzyzyyyyxxyyyxyyzyzzzzxyyxyyzyzzzyyzyzyzzxxyxyxyyzyzyzzyyyxyyyyyyyzzzzyyyyyyyyzzyzyy{zyzyyyxxyz{zzyzzzyxyyyyyzyzz{{zzzyzzyzyyxyzzzyyzzzzyzyzyyz{zz{zzyzyyyzzyyzzz{zzzzzyzyyzyyzzz{zyz{zxyyyyzyz{z{zz{y{zyyyxzyzz{{zzzzzyyyzzyyyyzzzzzxzyyzzyyzyzz{zyyzyzzyzyzyzzzyzzyzzyyzyzyxyzzyyzzzxyyzyyyyzzzyzyyzxxzyyxxzyzyyzyzxzzxyxyxxzzzyzzzzyxxyxyyyyyyyyzzzyyxyxwyyyyzzyzyyxyxxyxxyyzyyyzyzyzyxyyxyyyyyyyzyzxyyyyxwxyyyyzyyyxyyyyxxxzzzzyyzxyzxyxxxyyyyyzyyyyzywxyyzzzyzzyyyyxyyyyyyyzzyyyyyzxyyxyyxzzxyyzyyxyxxyyxyyyyyxzzxyyzxyxxzzzyzzzzzzyyxxzxyyyzyzzyyxzyxzzzzzzyzyzzyyyyyzxyyyzyyz{zyyzyxxyxyzyzzyyzzyxzyzxyyzyyyy{zyyzzyyyyz{y{yz{zzyzyyzzyyyzz{yzzzzyyzyzzzyzzzz{zyzyzyyxxzzzzz{zzzxzyzyyyz{{zz{zzyyzyzyzyyzyz{zzyzyzyyyzzy{z{{{z{{yzzxyzyz{zzz{z{zyzzzzyyyzyzz{zzzzzzzyy{zzyz{z{zzyzyzzyyyzzzzz{zyyyyyxxyzzzzzzzzzyyzyyyxy{zzzzyzxxyzxyyyxyzyxxyyzyxyyxxxyyyzzzzyyyywxyyxzzzzzzzzzyzxyyyzyyzyxzzzyxxyxyyyzyzyzzyyyyzyyyyxyzyyyzyyyyyxxxyyyzyyxyyzyxzyxzwyzyyzyyzyxyxyyyyxyzyxzyzyzzyxxyyxyyzyzyzyyyxxxxywxyyyzyyzzzxyyyxxyyyyyyyyyzxyyxxyzyyyy{zzyxyxxxwxzyzxxzyzxxyyxxyzyzyyyyyyyyyyyxyy{zzyyzzyyzyywyyyyyzzzzzzyzyyyyyyzzyzzzyzzyyxyzyyyzyyzyzzyyyyyyxyzyzzyxyzyyyyzyyyyyzz{zzzyyyyyyzyyyzzyz{{yyyzxzxyzzz{{z{zzxyzyzyyyzzzzzzzyyyyxyy{z{zz{yzzzyyzzzyzz{{zzz{z{zzyyzyyyzy{{zzzzyyyyyx{zzz{zzzzzyzyzyyyzzzzzzz{zzyyyyyyyzzyzz{zzyzzzyzyz{zzzz{zzyyzyyzyyyzyzzxzyxwxxyyxxyyyzyzzyyyyyxxxyyyxyzzyzxyyxyyxzyzxzzyyyxxxxzxyzyzzyzzzyyyyyyyxxzzyzyyzxyyyyyxxxyyyzzzzyyxyyyxyxzzyyyyyywywxyyxzyyzzyzyxyyxyyyyxyzzzzzyyyyxxywzzxyyyyzyyyxzyyxyyyzyyyzzyyyyxxxxyyyyyyxyyxyyyyyxyyzyxzzyyyyzyxyyyyzxyyzyzyxyyxyyxzzyyzy{xyyxyyyzzyzzzyyzwyyyxyyyxzzyyyz{yyyyzyyyxzzyyzzzxxyxyyyyyyzzzyz{yyxzzxzyzzzyyzzzzxzzyyyzzzyzzzzzxzzzzzzyzyzzz{{zzyzyzyzy{zzzz{yz{yyyzyzz{zzz{zzzyyz{zz{zy{{z{z{zzzzzyyzyy{z{zzz{{zyzzyyzz{{zzzzz{yyzyyy{zyz{zyzz{zyzyyzyzzzzyyz{yyzxyyzyz{zz{zzzyzxzzzyyzzzzzz{zyyyyyzyyyyyyzzxxyyxyyxyxyyyyzyyyyyxyyxyyyyzzzyzzyyyyyxzyzxyzzzzzyxxxxyxxyyzyzz{zzzxxyyxxyzyzyzyzxxyyxyyxyyyyyzzyzyyyyyzyyyzxzzyyyxyyyyxxyzyyxyyyyyxxyyywyyyzyzyxyyxyyyxyxxzyzzyzyyzyxxxxyzzzyzyxyyyxyyzxyyxzyyzyyxxyyxxyxzzzyyzzyyzxzzyyyzyzyzzzyxxyyxyzyzyyzz{zzxyzzxyyyyzzyzzzyyyyyyzxzyyyzyzzyyyyyxyyyzzyyzyyyxzyyyxyxz{yzxzz{xzyzyyyyzzzzz{zzyzywyyzzyzyz{y{zyzzyyyyzzyyzyzzyxyzyxyxz{zzzz{z|yyyyxzyzzzz{{yzzzyzyzzyy{zzzzz{{zzzyyyzyz{z{z{zzzyyyzxy{{zzzzzzzy{zyzyy{yyyzz{yz{yyyyyzzzz{zzzzyzyyyzyyyzz{zy{zyzyzyyyyzyzzzzzzyyzxxyxyyzzzzyyywyyyxyyyy{yzzyzzyzxzyyyyzyzyyzzzyzxxxzzyzyyzyyzyzxxyxyyxyyyyyzyzzxyyxxywyxyz{yzzxyyyxyyxyzyzyzyzxyxyyxyyyyzyyyyyyxzyyyxyxxzyzzxyyxxyxxxxyxyxxyyyyxxyxzxxwyzyyzzzyyyywxxzxzyzyyyyyyyyyxyxxyxyyzyzyyyxyyyyxyxyyzzzyxxyxzxyyzyyyyzzyyyxxyyyyzyxyyyzzyyyyxxyyzyyzy{zyzyxyxxyzzyyyzzzxzzyzxyyy{zzyzzz{zyxyzzyyyzzyzzzyyzyyzyyy{yyyyzzzyyyyyzyyyzzy{zyyzyxzyyzzzyzzz{{zyzzyxyyzzyzyzyzzyyzzxyyz{yzz{zzyyyyzxyzyzzyzz{{zyzzzyyy{{{zzzzzzyyzyyzyyy{{zzzy{zzzzyyz{{zyzzzzzyyyyyzyz{yzy{zzzyyxzzyxzzyzzzzzzzxyzxyxyyyzzxzzxyyxxyyyyzzyyyyxyxxwxxywyzyyyyyzyxyxwxyxyzzxyyzyxyxxyxyxzyyyyzzyyxxxywxyyxyzzxzyyyywxxxxyyzzyyy{yyxxyxyxyyyzyyyyzxxxyxxyyyzyxzyzxxyxyxxxyyxyyyyyxxxxyywxyxyzyxyyxxwxxxxwxyzyyyyyyzywyyxyyxyyyzzyyyxyxyyxyyyyxzxyyzxxyyyxwyyyyzyyyyyyyyyxzyzyyyzyyyyxxyyyyzyyyyzzyxyyxyzyyzzzzyyzxyxyyyxxzyzyzz{zyxxyyxyxzyyzyzyzyxyxyyyxzyyzyzzyyyyyyxzzyyzyyzzzyxyyzyyyzzzzzzyyxzxzyyyyzzzzyzzzyxzyzyyyzzzyzzzyyyyyyxyzzzzyy{zzzyyyyyyzzyyz{yz{{yyyy{zzz{zzz{{{zyzzzzzyzzyyz{{z{zxyzyyzzyzzzyzzzyyyzzyyzyz{{yyzyyyyyyzyzyy{zzyyzzyxyyxyz{yyyzzzyyywxxyyzyyyyyzzxyyxxyxyyy{yyyzyyyyxyxxyzyyyyyyzyyxzxyyyzyzyxyzyyyyxyxxyyzzzxyzyyyyxxxyxzyyyyzyzyxyxyyyxyyzyzyyyyyxyyyyxyzyyyzxyyyxxxxyyyyxzyyzyzyxxxxyxxyyzxzyyyyyxxxxyxyzy{zyyyyyyyxyyyzyyzzyyyyyxyxxxyyxxyyyzzxxxxyyxxzxyyyyzxyyzyyxxxyxyyzzyyyxxxyyzzzyzyzzzxyxyxyyyyzyyzzzyyxzzyxyxy{yyzyzzzxxyyyyxy{y{zzzzzyyzzyyxyz{zzyzyyxzyyzy{yyzzyyzzzzxyz{zzzz{{yzyyyzyyxzyyyzyzz{{yzyyxyyyzzzz{zy{yzxzxzyyzy{zzz{zzzyzzyzzyyzz{zyz{zzyyyzyzz{{yz{zz{yzzyyzyzzzyz{{zzyyzyyyz{zz{yz{{zzzxzyzzzzyzz{{zzzzyyyzyyzzzzzzzzyyzyyzy{yzzyzzzyzzxyyyyzyzzyzyzxxyxxxxxxzyyyyyyzyxxxxyxzyyyyyyzyyyxyxyxyyyxyzzzxwxyxyyxyyyyyzyzzyxxyyxxyyzzyyyyyxxxxyyxzzyxxzyyyyyyyxxyyyyxxyyyyxywxxxxyxyyxzyyyxyxxyxxyyzzyyzyyywxxxxyxyyyzyyyzyyxxxxxyzzyyyzzyyxyywxxyyyyyyyzxxyxxxyyxyzyyyyyzxyzyxyxyyyzzzzzzxyxyxyyyzzyzyzzyzyyxyzyzyyzyyzyyxyyyxzyyzzzyzyzzyyyyxyyyzzyy{zyyyxxxxyyzzzyyyzyyxyyyyxzyzzzzzyzzyxyyyzyyyzzyzzyyyyyyyyyzzzzy{|zyzyyyxyzy{z{yz{zyxyxzyyzzzzyzzzzzzzzxz{yyzyzy{{zzzyyzy{yyzzzzzzz{xyzyzyzzy{zy{zyzyzyzyyyzzzzzyzzzyzxyyyyzzzzzzyzyzyxyyyyzzzzz{zzzyyzyyyyyzyzyzzyyyxyxxzxzzzxyzyyxyyxzwzxyzyzyyzzyyyyyxyxyxzyzyyzzxyyxyyyyyyx{z{zywxyyxyxzyzzzy{{zyyyxyyxyyzyyyyyyxxxxxyyxyxyyzyyyxyyxxxxzyyzyzyzxyyyyxxzxyxyyyzyyyyxxyzxyyxzyzzyyyyyxyxyzzyyzyzyyxzxyyzyyxyyyyzyzxyyyxyyzzyxyyyzxyxyyxxyyzyyyzzyxyyyyyxyzzzyyzz{zyyxxyyyzyzyzyzzyyyzyxyzyyzzz{zzyyyyxyzyzyzzzzyzzyyyzxyyxz{zzyzzywyyyxxyzzzzzzz{zyxyzyzy{zyxzzzzzyyzyyzyyz{{zzzyyyyyzyzz{yzzzz{zzyzyzzzyzz{zzzz{yzyyzyyzzzzzzzzzyyyyyyzzzzyyz{zz{zzxyyyyzz{zy{{|zzyyzyzzzz{zz{z{zyyzzyzzyzzzzzz{{zzzzyzzzzzz|yzzzzyyxyyyzzyzyz{{yzxyzzzyyzz{zyzzyyzxzxyxzyzyzyyyyyxzxyyyyzzyyzzzyyxxyxyzyyzxyyzzyyyxyyywzyyzz{zzyxyxyyxxxyzyyyzzzxyxyxzxzyyzyzzzxyyxxyyxz{xyzyzzyyxyzxwxxyzyyzyyyyyyxzyyyxyzyzzzyxyyyxzyyzzyxyzyxyyxyxxxxyyyzyyzxyyyxyywyyyyxyyyzyyyxxywxyyyyyzyyxxxxyxxxyyzxyzyyxxyyzyyxyzyxzzzzyyyzwyyyy{zyzz{yzyxyxzyzzzyyzzzyyzyyyyzzzzz{yyyzzyzyyxxyyyzyyyyzyyyzyyyyzyy{zzyyyyyyyzzyzyyzzzzyxyyyzyyzz{{zzzyxyzyzzyyzzzzyzz{zyzzzyyyzzz{{z{zzzyzyyyyzzzzzzyzzyzyy{zz{z{{z{{z{y{yzzzyz{zz|{{z|yyzzzy{{yzyy{zyzyyxzyyzzyz{{zzzz{zzzyzzzzzzzzz{yyyyyyyyyyzy{z{zzzzzyzzxzzzzyyzzyyzyxyyxyz{zyyyyxxyxxyyxyyzyyyyyyxxxyxxyyzyyzzyzxyyxyyxxyyyyzzzzyxyyxxyxyzyyyxxzyyyyzyyxyy{zyyyzyxyyxxyywyxyxyxyyyxxxyyyyyzxxyyzzyxxyyxyyyzyyyyzyxxyzyyyyyyzyzzyyyyxxyyxyyyyyzyyyyxxxyxxy{xyyyzyyxxxyxzyyyyzyyyyzyxyyyxyxyyyzzyyzxzxzyxyyyyyyzzzyzyxyyyzxzzzyzyzzzyyyyyyz{zzyzyyyyzxyyxxyyzyyzyyyxyyyyyyyzyzzzzxyyyyxyyxyzzzyyzzzyyxzzyxzzzyyzyzyyyyyzzzyyz{zzz{yzzyyyzyzzyyyzz{yyyyyxyzzzyzzz{yyyyyzyzzzz{zzzzzzzyy{zz{z{zz{z{z{yyzzyyyzzzzz{zz{yzzyyzzzzzz{{zzzyzyyyyyyzzzzzy|z{zyzzzzyzz{yz{{{yyyzyyzzzzz{{zyzyxyyyyz{zyzzzyyzyyxyzxxyzzz{yzzyyxyxyyxyzzzxxzyyyyxxyyyyyyzyzyzzyyyyzyxyxz{zzyzxxyyxxyyzzyzxyzyxyyyxxyxzyyyxyyzyxyyyyyxxyyyxzyzyxyxyzyxyyzyyyyyyyyyyywzyyxyyyyzyyyxyyyyyyyyyyzyyyyyxxwyyyyyzzzzyxxywyxyxzyyzzyyyyyyyxyxxyyyyxz{zyyyxxxy{yyyyzyyywyyzyyxyzyzyyz{yyxzxyxxyzzyzzzyxxyyzxyxyyyyyzyyyzyzxxyyyzyzyxzzzzyzyxzyyzzzzzyyyyyyyxyyyzyzyyzyyyyyyzzyzyzyyyyzzyyyyzxyyyz{zzzyyyyyyyyzzzzzzzzzyyzzzzyyzyz{yzzyzzzzyyyzzzz{zz{zzyzyzzzyyz{z{{zzyzyzzzzyzzzzz{{z{yzzyzyxyzzzzyzzzxxzzxyyzzzyzzzyyyzzzzyzzz{zzzz{zzzyyyzzyyzzzzzzzyyyzyyyz{zzxzzzxyzzyyyyyyzyzyzyyyyxxyyxyyyyyyzyyxzyyyyyyyyyyyzzzyyyyyyyyzyzyzzyyyyyzxyyyyyyyyyyzyxyxyyyyyyyzyyyyyyxxxyxyyxyyyyyyxxyxxxyyyzyyxyyyyywzzyxxyyyyyzyxyxyzxxxyyzzxzzzyyzxwyxyyyyzzy{yyxxxxwxxyyzyzxz{yyzxyxxyxzzyxyyzyyyyyxxxzyy{yy{yyxxyyyxxyyzzzyzyyyyyyyyyyyzyyzyyyxyyyxyyyzyzyyzzzxyyyxyzyyzzyzzyyzyyzyzyyzzz{yzzyyyyzyyzzzzzyzzzzyyzzzyyzzzyzyyzzyzzyyyy{zyzzyyzyzzzyzzzzzzzz{{zzzzxzxyyyzzy{zzzzyzyzyzz{|{zzzzzyyzzzzzyzzyzyz{z{xzyyzyyy{zzzz|xzyyzyxyyzzzzyzzzzyzyyzzz{{zz{zzzzzyyyxzx{y{z{zz{yyyyyyyzzzzyyzz{z{yzzyzzyzzzzyyzyxyyxyxyyzz{zzyzyxyxyyxwyyzyyzzyyyyyyyxyyy{{yzyyzyyyxyzyyyyyyzyyyxzyyyzyzyzyyyzzyyyxxxxyyyzzzyyzxxyxyyxxxyyxyzzyzyyyxyyyyyzyyzzyyyxxyxyxyyzyxzzyzzyyyyxyzyzzxyzzyyyyyxxwyzzzyyyzyyxyxzxyyyzyzzz{yxyxyxyyyyxxyzz{xxyyyyyxxyxyyzzzyyyyyyzxzzyyyyyzyyyyzxyyyzzzyyzyyyzyyyzxyzzzyzyzyyyyxyyyyyzzzzyyyyzxyyzyyzzzzzzyyzxyyyyxzzyzzy{zyyyyyxyyzzyzyzzzzyyz{yyzyyzzzyzzyyzyxyzzzzzzz{{zyzzyzyxyyyzyyzzzzzzzzyzyzzzz{z{zyzyyyzzz{zzz{zzz{zzzyzyzyzzz{{{{zyzyyxzx{{yzzzzzzyyzyzyyzy{z{zy{{yxyzzyyzzyzz{zz{yzzyyzzzyy{yz{zzzzzyyyyzzzzyz{zyyzxyyyyzyzzzyzzyxxyyxyxyyyxyzzyyyxyxyxxzzzyy{y{yyyxxxxxzzyyzzyyxxyyyywyzyyyzyyyyyxyyxxyyyzyyyzzyxyxxxyxyyyyyyyyyxxyyxxzzyzyyzzxxyyxxyyyxxyzyyzyxyxxxxyyzyyyyy{yyyzyxxyyyyyzzyyzyxxxxxyyyxyzzyyyyyyxyxyxxxyyyzyzyxxyxxyxxxyyyyyyyyyyxzxwzzzyzyzzyzyyxyyyyzyzyyxzyzzyxxyzzyzyyzyyyyywxyyyyyzxyzyyyyyxyyyyxyzyyzzyyxxyxyzyzyzzyzyyzyyzxyyxyzzxyzzyzyyyzyyyzzzzzzz{yzzxyyyzzyxzyzz{xxzzzyyyy|z{zzyyzzyyzyzzzzzyyzz{zzyyyzzyzyz{z{zzyyzyxzzyzzzz{zz{yzzzxyzz{yz{{zzzzzyyzxzzzzyzzzz{zyyzyyxzzyzzzz{zzzyyyyyyzyz{zz{zyzzyyyxyzz{zzzzzyyzyyxyyyzzzyzzzyyyyyyxxxyyyzzzyxyyyyyyyyyzzzzzyzyzyyyyxyyyxzyzzyyyxyxyxyzzyyyzyyxxxyyyyyyzyyzyzyyxxyyyyyzxyyzyyyyyxyxxyyyyyxzyxxzyxxxyzzyyyyyzzyyyyxxyyzyzxy{yyyyzxxyyyzyzxzzyyyxyyxyyyzyzyyzzzyyxyxzxxxzyy{zyyxzyyyxyyxzyxzzzyyyzyyyyyyyzzyyyzyyzy{wzyzzzz{yyzxyzzyxyxxyzxzzzyyyyyyzzyzzzzyzzzyyzxzyyyyyyyyzyyzyxxyxzyyyzzzyzyzyyzxyxyzzzzyzzzzyyyzxyyzzzzz{{zyzyyzyzz{zz{zz{{yzzzzyyyy{zz{{{zzyzzyzyzz{zyz{{zzyzyzyyzz{{zz{{zzyzzyzzzz{{zz{zz{zzzzzzyzzz{zz{zyz{yyzyzzzzyzzz{zzyzzzyyzzzz{zzzyyyyyzyzzzzzyzz{zyyzyyyyyzyyzyzzyzzyyyxzzzyzzyyyzyywxxxxyzyzyyyyyxxxyxxyyyy{yyzzyxyyyxxwyyyyyyzyyxyyywyyyxyyyxyzxyxxxxyyzyzyxzyzyxyxyxxxxxyyyzzzzyzyxxxyyzyxxyyyyyywxyyxyxxxxyyyxxyyxxyyyxyyyyyyyxyyyyxxxyyyyyzzzyxyxxywyyyyyyxzyyyyyxyxyyyyyzyyyzxyxxyyyyyyyyyyyyzyzxxxyyzyyzzzyxyyyxyyyyyyyyyzyxyyxxxxzyyyyzyzxxyyyxxxyzzzzzzzyyyzyxyzyyyyyzzyyxyxyyyyyzzzyzzyzzyzyxyzzyzzzzzzyyyxyzyxyzzzzz{zyyyyyyyyzzzyzyz{yyzyzyzyzzzzzzy{{yyyyzxyz{zzyz{zyzzyzyxzyzzzzzzzzzyxzyzyzzzz{zzyyy{yyyyzzy{zzz{{yyxzzxzzyyyzzz{{zyyzzzyzzzzzzzzyxyyyxyyyzyzyy{yzzyzyxyyyyzz{yzyyxyyxzyzyzzyyzzzzxxxwyxxxxxyyyxzyyxyxyxyxzzyyyzyzzyxxxyyyyyzzyyyzyxyyyyxyxzyzzzyyyyxxywyxyzyyxyyzxyyyxyyxxyxxyyzyyyyyxzyxyyzxxyzzxyyxwyyyxyxyxzyyyxwzxxxxyxzyyzyyxyxxyxwyyyyxyyxyyxxyxxxyyyyyyzyyyxyyyzwxyyyyyyzxyzxzxyxyxxyyzzzzyxxyyyxxy{yyyyzzyyyxyxxxyzzzyzzzyyyyyyxyxyyyyyyzxxzyyyxzyyyyzyzzyyxyzxxxxzzzzzzxyyxyxyyzyzzyyzzyyxyzyyxyy{yyzyzzzyzyyyyzzzzyyzzzyyyyyzyyzzzyz{{{zzyyzxxyyyzxyy{z{xyzzyzyzyzy{zz{yyyyyyyzz{zy{z{zzyzzyzzyy{z{zzzzzyyyyzyy{yz{z{{zzzyxxzyzyzzyzz{yxyyzzzyz{zzyzyz{zzzxxyxyyzzzzz{{yxyxyyyywzzyz{yyyxyyzwyyzyzyyyxyxxwxwyxxxyxyyxyzxyxxxxxyxyyyyzyzyxyzyyxyyxzyzzzyzyyyyxyyyyyzwxzyzzxyxxyyyxxyyyyyxzyywyyxyxyyyzyyzyxxxxxyyyzyzyzzyxxxyxyyyzyzyyyyxxyyyxxxyyxyzyyxyyyyxxyxxxyyxyyyyyyyxyywxxyyyyzyyxxxyyxxwzxzyyyzyxyxyxyxxyyxyzyyyyyyyzxyyyzyzxzzzyyyxyxxyzzyzzzzyyyzyxyyyyzyyzzyyxxxyxyzyyyyzyzzxzyyzyyxxzyzzzzzyxyyyyxxyzzyxzzyyxyzxxxxy{{xyzzzyxyxzyxyyzzzzy{yxyyxzzyyzyzzyyzzyzyyyyzyy{zy{zyzzyyyyxyz{zzzzzz{zzzzyyyzyzy{zzz{zxyyzzzyy{y{{yzzyyzzyyyyyzyyzzz{zyyzzyyyyyzyzyyzyzyzyyyyyzz{zzzzzyyyxxyyyzxyyyzzzzzyxyzyyzzzyzyzzyzxyzxzyzzzyyyyyxyxyyyyyzyywyzzzyxyyxxyyzyyyzyzzyxxyyyzzyzzyyyyxxxyyxyxyyzzyzzxyyxxxxxyyxyzyzy{yxyyxyyyyzzxzzyzxxyxyyyyyzzxyyyyxyyyyyyyyxyyyzyyxyxxyyxyyyyzyzyzyyyyyyxxyyyyyyzyzyxxxyxyyzy{yxzyzyyyyxxxyzzyyzyyyyyyyyyyzy{yyzzyyyzxyxxxyzz{zzzyyxyyyxxzzyzzyzzyyyxyzyyyyyzzyyzyzyyyzzxyzxzz{zzzyyyyzyxxyzyzyzzyzyyyyyzzyzzzzyzzzyxzyyzyzyzzyzzyzyzyyyzyyyzzzzzzzzzyyyyyzy{{zzzzyyz{zzyzyyz{{zzy{yzzzzyyz{zzz{{zzyyyzzzz{zzzz{{{zyyyyyy{z{zzyz{zzzyzzyzz{z{zzz|zyzyzzzzzzyyzzzzzzyzyyzyyzzzzzzz{zyxyzyyxzzzyyzz{yzzyyyyyzyyzzzyzyzyxyyyxyzyz{zyyxxyxxzyxxzyyzzzzyyyxyyxyxyyzzzzzyyxxxzyyyzyzxzyzxzyyyxxxyzzyyyyyxxzxwxxxzyzyyzzzyyyyxxxxyyyyyyyzzyyyzxxyxxyyyyzzyzyyxyyyzzx{yyxzzyyxyxxyyyyyyzzyxxyzyzxyyyzxzzzyyxyyxzyxyyzyyyzyyxyyyxxxyyzyyzyzyxyxxxxyxyyyxyyzyyyyxxzxxyzzzz{zxyyyyxzyxzzyzzz{zxyyxyzyyyzzzzzyyyyyyyzyzzzyzyyzxyzyxxyzxzzyyzzzxyyxyyxyyyzzzyzzy{xyzxyyzzyzzzzzyyyyyzzyy{yzz{z{yyzyyyyyzzz|yzz{zzyyzyyyyzzy{z{yzyyzyzzy{{y{yz{zzyzzyyzyzz{zz{zzzyyyzzyzz{{z{z|{yzzzzzxyzzzzzzzz{zzyzzzzz{zz{zz{zzyy{yyzzyzz{y{zzyzzyyxzz|zyzzzzzzyzyyxzz{zzyzzz{xyyzxyyyyzzyzyzxxyxyyyxyyyyyyyzxxxyxxyxyzxzyzyzyxyxxyxxxyyyzzzyyyyxyyyzyzzyyyzzxyzxxxyyzzyy{yyzzxyxyyxxyyyxyzyyyyyxyyyyzyyxyyyzxyzyyyxyyxzyzyzxyxyxyyyxyzyyyzzyyyxyyyxyyyzxyzyyyxyxyxxyxyzyyzzzxyxxyyxxyyyyyzxzxzyxxxyxxzzyyzyyyyzyxxyxyzyyzyzzzyxyzyxyxyzyyyyzyxxyxyyxyzyzzzzzxyxyyyyyxyzyz{zzyyyyyxxyzzzzzzzyzxxyyyxxzy{zyyzyyyxyyyzyyyyzzzyzywzyzzyyyyz{zyzzyzzyyzzzzyyzzzyzzyyyzyxyyz{zz{zzzyyyyzyyyzzzzzyz{zzyyzzy{zzz{zy{yyzyyzxzyz{z{zzzzzyzyyyyyzzzyz{zyyzyzzyzyyz{zzzzzzyyzyyzzyzz{zzzyzyyyyxzxzzzzzzzzzz{yyzyyzyzyzzyzyyxyyyyzzzzzzzzyxxwyxxxyyzyyzzyzyxyxxxxyyyzzzyyzyxzyyyxyyyyyyzzyxzwxxyxzyyyyyzzzyzxxyyxzzzyyyyyyyyyyxxxyyyyyyzyxyyxyxyxyxzyxyyyzxxyxyyyywyzyyyyyxyyyxyxyyyyyyzyzxyyxxyyyyyxzxyxyyyxxwxxyxyyxzz{yyyyyxxxwzzyzyyyzyyyyxwxzyxyyzyzzyyzxxyxzzyzyyyzzxxyywyxzzyxyzyz{yzyyxyyyyyyzyyyxxyxyyyyzyzzyzzzzyxyzzxxyyyyyyzyyyyxyyyxyzzzzy{yyyyxzyyyyzzzyyzzxyzxyzyyzzzz{{zzyyzxxzzyyzzzz{z{yyyzzzyyyyz{zzyzzyzyxyyyzzzy{yzy{zyzyzzzxzyy{zzzzyyyzzzyy{zzyzz{yyzzyyzzyzzzzzy{zyxyzyzxyzzyzzzzzzyyzyyy{zzzzzzzyzyy{yxyzzyzzzyzzzxyzyyyyzzzyzzyzyxxyyyxyzyyzzyyyzxxxyxyzyzyzyyzzyyyyxyxyyxzzzyzzzyyw{xyzyyz{zyzzyyxxxyyyzzyzyzzzyxyxyywxyzzzzyzxxyxyxywyyyzxyzx{xywxyyyzyzxzyyyyyyxyyxyyxyyyzyyzyywxxyxyyyyxyyyxyzyxyvxyzzyzzzyxxywwyyxyyxyz{yyyyxyyxyyyyyzyyyyyyyxyyxyyyyyzyzzxyyxxzyxyzzyzyyzyyzxzyxyzzzyy{zzyxyyyxzyzxzyz{yzyyyyyxyyzzyyyzy{yxyyyyxzxz{zzzxzyyxxzyyzyzzzyzzyyyzzyyyxzyzyzyzyzyxyyyyyzyzzz{yzyyyyxyzyzzy{zzz{zxyyyyyyyzzzzzzzzyzzyyyxz{zzzzzyzyyzyzzzyzzy{zzzyzyyyyzyy{{zyz{zzyyyyyxx{zzzy{{zzyyzyxxzzzzz{z{zzyzyzyyzzzzzzzzzyyyyyyyy{zzy{z{zz{yzyxyyyzyyzz{yyyzxywyzzyzyyzyzzyyxyyxxzyzzyzzzyyxyxzxyxzxyyyzyyyyxyyyxxyyxyyyzzyyyxxxyxyzzxzyyyyywxyxxyzyzzzzyyyyxyyyxyyyzyyyyxyxxyyxxyxyyyzxyxyyyyyxxyxyyxyyyxzxyxyyyyyyyyxzzzxzywxyxxzyyxyyyzxxxxxywyyyzzyyyxyyxywywyyyxyzzyxyyyyyyyyyyxzzyzyxxyyxyxzzzzyzzzzyyzyyyyxyyyyzy|yyxxxwyyzyyzyz{zyyxyxxzyyyzx{yzyyyxyyxyyyyzzzzzzyyyywyyxzzzyyz{yyyxyxxxyzz{yxyzyyyzyzzyzzzyzz{zzzxyyyyyzzzzzyzz{zyzzyyyyyzzzz{zzzyyzyyxyz{zzzzzzyyyyyyyzz{zzzzzzzzzzyyyyy{zzzz{zzzzyyzzzzzzzzzzzyyzyyyyyyzzzzzzz{zxzxyyy{zzzzyzzyyzyzyyyzyyzyzzzzzyyzyxzyzyzzz|zyyzzyxyyyyyyzyyyxyxxyyxyyyyyzyzyyzxxxxyyxzyyzyyyyyxxyyxxzyyzyyyz{xyxxyxxyyyyxyzyyyxxxxyxzyyxzyzzyxxxxyyyyyxxxzyzyyyyxyxwxxyyyyxyyxyxxyyxyyxyyyyyyyxxyxyxyyzyyyyyyyxxxxxyxyyyzyzzyxyxxyywxzyyzyzzyyyxyxxxyxyyxyyxyxyyyxyyxxyzzyzzyxxyyxwxxzz{yyzzzwyxyyyxzyyyxyzzyyyyxwyxzzzyyyyzyxxyxyxyyyyyyyyyyyyxyxxzzzyyyzyyxxyxxxyxzzyyzzzzzzxyyyyzyyyyzzyyzyxyyxyzyyzzzzyzyyyyyyyxzzzzzzz{zzyyyyywz{zzyyzzzxzyzyzyzz{yy{zyxzyyzzzzzz{zzyz{zyyyxzyzyzzzzzzzyzzyyyyy{zzyzzzyzyyyxzyyyzzyzzzzyzz{yyyyyzxyyz{zzzzyyyzyzyyzzzzzzzyyyyyyyyyzzyzyzzyxyyxwzyzzyzyxyxxxyxyxxyyyyxyzyyxxxyxyyzyyzxzzyyxyyyyyxyyzyyzzyyzyyxwxyyyyzyyyxyxxyxyxyxyzxyyyyzyyyxxyzyxyyzyyzxyxyywyyyxxzyxxyxxxxyyxyyyzyyyzxyyxxxywyyzyyyzzxyxyyxxxyyyxxyyywzyyxyxxyxyyyyxzyyyxyyxyxxyyxyyzyyxwyyyxxxzyyyzyyyyyyxxyywzyzy{zzyxyxyyyyyzyyzz{zyzyxxyzzyzyyyyyyzyyyyyxzyzzzyyzzyywyzyyxzzyyzyyyyyyyxyxzzyzyyzyxyyzyxyxyxyzz{yyzzxyzyzyy{{{xzyzyyyyyyyzzzzzyzzzyzxyxxyyy{zzzz{yyyzxzyyzzzzzzzz{zyzyyzzzzzyyzzz{zyyyyzyyy{zzz{zz{zyzyyyyz{zzzzzyyxyzzyxyyzyzzzz{zzzzzzy{zzzzzzyyyzyzyyyzyzzzzzzzzzyyyxzyyzzyzxzzyyyxyyyyyxzyzyyyxwyxxyxxyyyxyyy{yyxxxxxyzyzzzyyyzyxxxyxyyyxyyyzzxyxxyyywxyyzyyyxxxyxwxxxyxyxyyyzxyyyxyywxyyxyzyyyyyyxxxxxyxyxyxyxxyxxxyxyzxyyyyyxxyxwwxxxyyyxzyyyyyxxxxxxzyxxyyzyxyxxxwxyyyzyyzzywwyxyxxxyxzxyyzxyxxxxywxyyyyzzzxxyyyzxxyyyyyyzyxyyxwyyyyyyyzzzyxxxyyyyxyyyzyyxyxxxyyyxxyyyyyyyzyxzxyyyxxyzyyzzyyxxyxywzyyzzyzzyxyyzyxzyyyyyyyzzyyyyyxyyyyzzzyzyyyxxyyzzzzyyzy{zzyxxzyyyzyzyzzyzzxyyyyyzz{zzyz{zyyyyyyzyzyzyzz{{zzyzyzyyzzzz{zzzzzzzyyyzzyy{zzz{zzyyyzyyyzyzzyyyxyzyyyxzzzy{zzzzyyxzyyxyzzxyzzy{zyzyywzyzyyzyzzzyzzxxzxyzyyyzzxzzyxyxyyxyyzyyxyzxyyyywyyzyyyzzyyyyxyxxywyyxzzy{yzyyxyyxxyyzyyzzyyyyxxyxxyzyzyyyxyyyxxyyxyyyyyyzzzxyyxxwxyyyyyyzyxyyyyxxyxyyyxyyyyyyxxxxxyzyyyyzyzwyywxxxyxyyyyyzyyyyyxxxyzyzzyzyzxyyxyxxyxyxyyzzxzxxyxxyxyyyyzyyyyyxyyxwyyzzyzzyzzyyxxyxyzzyyzzyyxyzyxyxzyyzyyzzzyyyxxyyzyyzyyzzzxxyxxxyyzzzzzyyxzxyxvyyyzzyyyyyzyyzxxzyyzyzzzzzyyyyzyyxyyzzz{yyyyyyyyzyzyzyzyzz{yxyyyxxz{zzz{zzzyyyyyzy{zzzzzzzzzyyyyyy{{yz{zzzzyyyzyyyz{yzzyz{zzyzyxyz{zzz{zzyzzzzzzzyyzzzzzy{zyyyyyzzyyz{zyzzzzyyyyyyzzzzyyzzzyzxzzyxzzzzzyzzyyyzyyyyyyzyy,Fu4a[ {z{|zz{||{z{|||{|z{{{z{{|z{||{|{{{z|{|z{{{}|||||{zzzzzz{{|{|{|{{zz{{zzz||{{{{{{{|{{z{zz{{{{{{||{z{zz{zz{{{z{z{|zz{zz{z{{zz{z|{}zz{zzzzzzzzzz{|{{{{{zzzz{{||{{{{z{{z{yz{z{{{|{{|{z{{y{z{z{{{y{|{z{zy{{zzz|{{z{{{zzzz{{zz{{z{z|||{z{z{z{{{{{{|||{z{{{{z{z|{|{{|||{{{{z{z{{|||{|{{yzz{{{{{{|{{{}||{{z{{{{{{|{{{||||{{z|{z{|{|{{|||zz{z{{|{||||||{{||{{z|{{{|{|||}|z{{|{{{{{||{{||{{{{{{{|{{|{||}||{{{{{{|{}|{||||{{{{{{||{}||{|}|}|z|{{{{{{|||{{|}}{{{{z|{{{{|{{|||{{{|{z{{|{|{{||z{{z{{{{{||||||{|{zzzz|{|{{{|||{{z{zzz{z{{z{|||||{{z{z|z{|||{|||||}||zz{{||}||}}|{{{|{|{||{|{|||{{{{{{z||z{|{||{z{z{zzzz|}{{}|{|z{z{{{{z{|z||{}|{{{{z{z{{{|{|{}{{|{{zz{z{{|{{|z{{z{{zz{z||z|z{|{{{|{z{z{{{{{{{||{z{{{{}z|{z}{||{{zz{{z{z{{z{{|{|y{zy{zz{{{z{{{|{|z{{z{|{{{|{||||{{{{{{{{{{}|z|{z{z{{{{{{|z{{{||}z{{{|zz{z|{{{|||{{{z|{z{{{{{z{}|{{{|{{{{{|||{|{|||{zz{{{{|{|{{|}{{{z{}{{{|{|||||{{zz{|{|||||{|}}{{{z|||{||}|{||||{|{|||{||{{|}}|{z{|{z|}{||{|}}}}{{}{||{|}|||||||{|{{{{{|}||}{{||{{{{{{{||||}|||||||{{z|{||{||}||{{z{z||{{{|}{}}{{{|z{{{|||||||{|{{{zz{{|{{{|{{}{{|{{{|z{}}{|||}{{|z{{z||||{|||{{|{z|z{{{|{||||||||||{{{{{|}{{|{|{|yz{{{|{||{{{{|{{yzz{{||||||||z{{zy{|z{{|{{|{|{{zz{{zz|{{|{{|{z{z{zzz{{{{|{{||{y{z{{y{{{{{{||{|{{{z{z{|{z|{{|{{zzz{{{{{z{{||{{{{zz{|{{z{|{|||||z{z{{{z{||{|{{{{zz{{z{z}{{||{||{{{{|z{z|{{|||{{{{z{{z|{||||||||{{{{|z|{z|{{||{z{z{{{|zz{{|{}{|||{z{|{{{{||{{{|}||{{|{|z|}|||{|||{{|zz{{z||||}|||{|{||{{{{|{|{|||{z|{{||{}{||{}|{{|{|{|}||}|||}}||z{|||{|}|}}||||{{|z||{||||}{~|}{{{|{||{||}|{{}z||z|{{||{}|{}|||{{{{|{|{||{{|||{{{{|{{{|||||z||{{|{zz{zz{{{{|||||{{|{||||}{{}|}{||{|{z|||}{|}}|{|||{{z{{{|{||}}}{z||{|{{}||{||||{{{zz{z{||||{|}{{{{{z{{z{{||}|{||z{{{{|||}|{||{{{{{{{z{{{|{z|{|{{zz{z{y|{{||||{{{{{{{zz{{{|{|||{{{|zz{{{{{|||}{|z{z{z{{{|{{{{||{{{{|zz{{{|{{|{|z|{|{zz{|{||{{{|{{z{|{{{{{{|{{|||{{z{z|||{||||}{{{{{z{{{|||{|{|{{{{z{{{{||||{|||z{{{{{{{|||{||}||{|||{||}|||||{|}{{{{|{|{{|{{|||{|{|{{{|{|{|{}{|{z{|{{z{|||{}|}|{z{{{|{{{}}|||}||{|{|||{|||}}||||{|||||{||||}|}|{|{{|{|{|||||||}|{||||{{~|}|||}}|||||{{{|{}{}}|~|{{{{{{|{{|{||}{|||{{{|{||{|{|||{z|{{{{{|}{||||}{|{{|{}z|~|{}}}}|{{{{z|{{||{|||}|{{{{{|{|{|{{}}|{{{zz|{{{{{|{|||{{{{z|zz|||{||{|{{{{{{{{||||{{}z{z{||{z{|z|{z|{{z{|{zz|{|{|{{{{{||{z{z{z{{|{|{|{{z{{z|zz{||{||{{|{z{z{zz|||||{||{z{{zz{z{{|{{|||{|{{{zzzz||{|||{z{{{|{{|{{{{{{}{|{{{{z{{{||{|}{||{{{zz{z|z{{|}{|{|{{z{z{|{|||||}|{zz{{{z{||||}{||z|{zz{|{|{{{{||{|||||z{|||{{|{{{{|{|{||{|{||||{z{|{|{|{|{||}||||{{{|||z{||||||{|{{{||{{}|||{||{{|{{{|||}}||}}||{|||{||||}}|{}}|||{||{|||||}|}||{|{{{{{||{}{|}}||{{}||{|}|{|||||{{|z{{{{{{|{|||||{{{{{|{{|z||{{{|{|zyz|{{{{{||}||{||}{{{}}|||}|{|{{{|{|{|||{{||||{{{{{}{|||{|{}||{|{z{{y{{|{||}|{z{{{{z{|{{||{|}{{{{|{{{{|{|||{|{z{{zzzy{||{|}|{{z{{{{{z{{|{|{{{{{{{{{z{||{{{|{{|{{z{{{{{{|{{{|{{{{{|{{z{||{|||{{z{{z{{{{|{{|{{|z{{{{{{zz||{|}{}{{z{{||{{{{{{{|{{y{z{z{{{||{{{}|{{z{z{|{|z{{||||{{|z|{{{{|}|||{||z{{{{{{{||{{|||{{|y{{{z|||z{{|{{{{{||{{z{|{||{z{||{{|{z||{{|||}|{|{{{{{||{||||}||{{{{{z||}||||{|y{{|{{||||||}}}}{{{||z||}|}}||~||||{{||{}}|}|}{~{{||{|{||||||||||{{{{{{}||}}}|||{{|||{{|||~|}}}{{|{z|{z{}{{||}}|{{{{zz{{|{|}{{{{{{|{|{{|{{}{|}|{|{|{{{{{||}||}|||{{{{{}{|||||||||{{{{{{{||||{{|||{{{{zz|||{z|{{|{|{zz{z{{{}{{|||{z{{{yz{{{{||}{{z{z{{zz|{{|{|}|{zzz{{z{{{|{{{|{{z{{{zzz|{{{z{|zzy{{{{yz{{|{|||{{z{zzz{yz|{|{{|{{{zz{{{{{{{{{{{{|{yzzz{z{zzz{{||{{{z{{zz{|{{z||||z{zzz|{y|{{z{{|{|{{{{|{{|||||||zz{zzz{z{{|{{{|{{{{|{|zzz{{|{|{{{{{z{{{{|z|{|{||{z{|{{z|z|||{{{{{{|{|zz{{||}||{|z{{{{z||||||||||||{{z{{{|{|||{|{|{|{}{{z|}|{|{}}{{{|{||{{||{{|}||{{{{|{||||{{||}|{|||{{z}|||||||{{{|{{{{{|||{{{|{|{{{z|{|}||||||{{{{{{{{{|{{|||{{{|{{z{{|||||||{{{{zzy||{{|{{||}}|{{{||{{}|{{|||||{|{{{{|{}||}|}|{|{{|{{}{}|||{{||{{{|{z{{z{|{{|z{{{{{{z{{|{{{||{{|{{{{{{z{{||{{{{{{zzzzz{|{{|||z{{{{{{|||{{{z{{zzzz|zzz{{{{{|{|z{z{{{zz{{{|{|||{{z{z{{|{{{{{|{|{{z{yz{{z{z|{{|{{{{{{{{zzz{{z}|{{z{z{|{{}{||||||{{z{{z{{zz{|{|{{{|{{{zz{z|{{||||{{z{{z{{||{||{|||z|z{{z{z{||||{zz{z{{z{{|{|||||{|{{{{{z{z||{||{|{{|{{|{{{||}{|{|{{z{{||{}}||{|||{|{|{{{{|{||}||||{{{{{{{||||}}||{{||||}{||||{|}{|{{|{}|{{|}|{||}{|{|{|{{{{||||||||{{z|{{{|{|}||}|{{{{{|z|{{||||}{{|{zz{{z|{{||||}|z{{{{{||{||||{{{|z{z{z{|{|{|{}|{|{{zz{|{||{{~|{{z{|{{{||{{||||||{{{{{{||{|{{|{|z|{{z{{{||{{{|{{{{yz{{z||{{|{{|{{{{z{z{|z}{||{{{z|zzzz{z{|{{|z|{{z{z|zz|{z{{|||{zzzz{{z{{z{{|{|{{{zz{yzz{{{{||{{{{{zzz{{|{{|{||{z{{zzzy{{z{{{{|zz{z{{{zz{{|{|||zzz{{|{z{{{{z{{{|{{z{{{||{{z{{{{{{{{{z{|||{{{{||z{||{z{{{{|{{{{|zz{{z{|{{{|{{|{{|z|zz{{z|{|||z|{|z{z|zz{|{{{||{|z{{{{{{{{|||}|||{{{{|{|||{{{{}|||{|{{z{{{|||{{|{{{{||||{|||||||||||{||{{|||{|}|{|z{||||{{}{}{}}{|||{|{{{||{|||||z||z{||{{|{|{||||{{{{z{|{}||||}|{|z{{z{{{|{{||}|{{{{{{zz{{|{|{|||{z{yz|{{{z{{}}}{{{||||{{|}|||~|~|{{}|{{{}|||||}}zzz{||{|}|||||}|{{{{{z{{}{z{{}||{|{z{{|z|{{|||}{{{zz{{z{|||z}{{|z{{{|{z{{||{|{||z{{{{z{{{|||{{{{z{{{z{{{{{|||{{{{{zz{z|{{{{{||{z|{zz{z{{|||{{||{z{{{{|{}|z{{{|{{{|z{{{{{|z|{}||{{{|{{z{|{z|||||{z{{|{|{{||{{|}||{{||{{{|{|}|{|{{{{z{{{z{{{{{|||{{{{{{{zz{{|||{|z{||{{{{{|||||}{||||{{|{||{|z|{|{{{{|z||||}||}||{|{{{z{{}{{}||||{|{|{{{{|||}}|||{|||{|{{}|}||||}{||{{||{|}{|||}}|{{|}||{|}|||{|}|{{|z{|||}|||||{|z{|{{{|{||||~}|||{{{|{|}|}||||||{|z|{{{{{|{|}|{|{zz{{{{{}{||{|||{|{zz{z{{{|{}|||||z}}|{{||{||||||{{|{z|{{{|||}|}|{{{|{|{|{}||}|{|{{|zz{{|{{{{}||{|z{{zz{|{|{|||z|{{{{{{|{{{{|||{{|{{{{}{||{{||{{{{z{{{y|{z|{|||z{{|zz|{z{{{{||{{z{zz{zz{{{|{{|z|{{z{zzzz{{|||{{{{{z{z{y|{{{{{|{{{{z{zz{y|{|{|||{{{|{zzz{||{{{||{{{z|{|{{||||{|}{z|{{z{{|{||{||||{{{{z{{{||{{{|}{|{{|{{{z|}{|||{{z|z{{{{{{{{|{}}|{z{{{z||||{{||{|{{{{{{z{{|}||}|{|{||{{{{||||||}||{{{{|{z|{{|{}{|z{{|{{{|||}|||||{|{|{{{{|||||}}|{|{{{{||~||}||{||}{|{{|||||||}|{{{zz{{{}|}}|||}}{{|||{{|||}{}}}|{{{{{{{||{||{{|{{{{{{|{}||||}||{{|{{z{{{||z{}|{{|{{{{|{{}|||{||{{z{{{|{|{|||}}}{z{z{{zz{{|||{}||{|{zzz{{|||||||{|{z{{{{{{}{|{||{{z{zz{z{{{{{{||{z{{{zz{{{|{|}{|{{|{{zz{z{{|{||{|{z{{z{z{{{{{{}z{z{{z{y{z{{z{{|z{{{z{{zz|{{|{|{|{z{{|{|zz{{{{{|||{z{zzzzz{{{{|{zz{{{{{zy|{{{{}{|{zzz{{{z||{|||||{{{{z{}{{{|{{||{{z{z{{{{z|{{{||{{{|z{z{zz{{{}{{{{{{{{{{z{|{|{||{{{{{{z{{{{{{{{{{|{z{{{{z||||{{|{|{||{{{{{|{|{|||zz|{zz{|{||{||}{z|{z{{z{||||{|}|{{{{{|||{||}{|{|}{{||{|{|}}{|{}|||{}{{{z|{||{}||{{{{{z{{|||{||}}|||||{|{|{z||{|z|{zz||{|{||{||}||{{{zz{{{{||{{||{z{{zz{{{{{{{|||{{||{|||{|~{||||}|z{{z||{{{}|||}{{|{{|{{|||}}}||{{z||{{{||}{||{{{||{{{zz||||{||{{z{z{z{{|{{{{{{{z{{zz{{{z||{||{{z{{z{{zz{|{|||{|z{z{{z{z{{{{{{}{{{y{{{z|{|{||||{|{{{{{{{{{|{{|{{{|zz{z{{{|{{|{{|{{z{z{{z{{z{{||{{{zz|{zzz||{|{|{{{{{z{|{{|{z{|{{z{z{{z{{||{{||{}{{{zz{{|||||||{{{{{|{{{{{|{||||{|{{{{{|z|||{|{||||{{{{{{{{|{z|{|{{|||{{|{{{|||||{{|{{{z{||{|{}|}||z||{{{||||{||}{{{{||{{}|}||{}||{|{{}{{||{{}||||{{|{|{|||}|}|}{{|||{z|{}|||||}||||||{{||||{{|||}||||||{||||}}}|||{z{{{{{|{{{|}|||{|{{{z|||||{||{{{{{{{||{||{|||}||{||{{{}}|}||}{|{||z{{|{{}}{|}{|{{{{||||{|{{|}{{{||{{z|}||{||{||{{{z{{|||{{}{|zz{{{z{z{|{{{|}||y{{|{zz{{|{{|}{{{|z{{{{|{{{|{|{zz{z{{|z{|{{{{{|zzz{zzz{{||{|{|{|{{{z{{zz||{{{}|z{z{{zz{{{{|z||{{z{{{{{{{|{{|{{{{zz{{{{z||{{{{||{{{{{{|{{{{{{||||{{{{z||||{{||{|{|{{z|z{{|{|||||{z|{{{{{{|{|||{|{{zz{{{{{|{|{|{{z{||z{|||||{||||}{{{{{{{|}||{|||{{{{{||{||{||{}}{{{{{{{{}||||||{|{|{{{{{|||{||}|||{{||{}}|}}|}||}{{{|{|{{}||||}|{z}{|||{||||}|||||{|{{|||||||||}||{||{|{|{||{}{|{|{{{{{{|{|{{|}|{|z{{zz|{|{|{{|{|z|z{yz{{{{{|}|}|||{|{||{}}}|}}}z|{{{{|{|{|||}||||z{z{{{}{|||{}}|z||{|{{z|{|{||}|{|{|{{||z||||||{{{z{{{z{{|{|{{}|{{{{z{z{|{{{|||{{{{{{zz{{{z{{{{{{zz{z{{z{||{{|{{{{{{{{zz|{{{||{{zz{{y{{{{{||||{{z{y|{{zz|{{{|{||z{z{zz{{{|{{|{|{z{{{z{{{|{||{{}|{zz{z{|{{||z}|||{{{{{zz{||z{z{|z{{{{zzz||{|{{{{{{|{{{}{z}|{|||}|{{{zz|{|}|||{||{{z|{{{{|}|{|||{|{{z{|{|{|||||}||{{||{|{||||||}}|z}{}{{{|||||{|{||||{{{{||||||}}|||{|{|||||}|}}||{{|}{|{|||||{|}|{{{{{{{{|}}|}|||{|{{||||||||||}{{{{|{{|||||||||}{|{{{{|||{{|}|{|{{{{{z{||||{{{||{{{{{|z|{{}z||}||{|{|||{|}||}~|||z|{{|z|||||||}||{{{{|{|{{||{|||{{{{|{{z{}{{|}|{{|zz{zz|||z|{|}{|{{z|z{|{|{z||{{z|{z{{{{||y{{|{{{{{{{z{|{|z{{{{z{{zzz{zz{z{{{|{|{{zz{z|{z|{{{|{{|{zzz{|{|z||{||z{{z|{{z{{z||{||{y{zz|zz{z{{||||{{zz{{zz{|{{{}|{{{{z{{{{||||||{||z{{{z|{|{|||||{z{{{z{{|{|||||}|{{{{}{{|{{||{||||{{|zz{z|{|}|{}{{{{||z{{{|||{{|{{{|{{{z{{|{}|||{{{{|{{{{||||z|||{{{{{{{{{|}|}|{|||z{{{{||{{||}}|{{|{{|{|}|}{{}|||{{{}||||{{{|||||z||{{{{||{}|||{||{{|{{{{||{|{}|{{|{|z|{{||{{}}}z|{{{{{{{|{|{{{||{{|{{|{|{||z{|{{{{z{z{{{{|||}}}}||{||}{}}||}|}||{{|z|{|||{}|}}||yz{{{{{{|{|}{|}}zz{{{z{{z||{||{|||{{{{z{|||||{|{{|z{z{z{|{{{{|z|{z{{z{{|{{{{||{zz{zy{{z{z{|{|z{{zzzzz{{|{{{{z{{{{z||{{zz|||{{||{z{{zyy{||||{|{}{z{z{{{{{|{{z|||{{z{{z{y{{{{|}{||z{{z{|z{|{{{{|{|{{z{yz{z{||{{|{|{y{{z{{{{|||{{|{z{zz{{{|{|{{{||{|{{{z{z{{|{{|||{{{z{{{{||{|{y||{|{{{{{|{|{z||||{{{{|{{{{|{{|{{|z{|{{{{{{|{|{|||{z{{{|zz||}{||{{{{||{|{{||}{}||{{{|{{{{|{}|}||}{||{|{|{zz}{|}||}|z{{zz{{|}}|{|||{z{|{|{z|{|{||||{{{|{{|{|{|{||||{|{{{|{{z||{||||{{{{{{zy{||||{||{{{zzz{{{{z||}}||||||{|}}}}}||}}|{{|{{z{||||}|{|{{z|{{|{{z{|||||{{{{{||{|{|{{}}||{z{|{{{}|{||{{|zz{|{{{z{{{z{{|{|z{{{{zzz{{||||{zz{{z{zzz{||{{|{{{zz{{{{{|{{|{|{{zzzz{{{z||{||{|{{{z{{{{{z}|{{||{{{z{y{z{{{zz||{{z{{|zyzz|{{{|}|zzzz{{zz{{{|{||{|{{z{zz|{{|||{{|z{{{{{{{|{||{|{||{{z{{{{{{{{|{{|{z{{{{{{{|{{{{|{{z|z{{zz{{|{|{|z{{{|{z{{|{|{{||||{{|{{{{}|||||{}{{z|{{{{{||||{{||{{{{|{{|||||{|||{|{{||{||||{{|{{||{z||{|||||}|||||||{|{|}||}|}||{{|{{|{{}||}||}|{{{{|{|{||{{|{|{{{{|{{}|z}|||}|{||{{{|{||{||{|||{z{{{{{{{||{|||{{{|{{{z{{{{{}~~}||||{|{}}|}||}}{{{{|{|{|||||}|}|{{{{|z|{|||||{|{{{z|z{{{{||{}||z||{{z|y{}||||||z{{z{{{z{||{{||{|z{{zz{{{z||{|{||{zzz{zz{{{||{{{{{{{{z{zz{{{|||{|z{{zzzz{{{{}{|{{{{|z{{zz{|{{{|||z{{zz{z}{|z|z|{{yz{zz{z{{{{{|{{{{{zz{zz|{{z{}{{{{{z|{zz{{{|{{|}|{{z|z||{||||{|{|z{{{{{z|{|{|{|{|{{{|{{{{{{||||||{{{{|{{|||{{{||||{{{{{|{|{{{{{||{z|{{{{{||||||~|{|{{{||||z|{||||{z|{{z{}||{}}|{|{{{|zz||||{|}}|{|z{{||||||||}{||{|||||||}}|||||{{{|{|{||{{|{}||||{{{||{|||}|}||||{{||z|{|||}{||{{|{{{{|{||{}{|}{{z{{z{{{{{{|||||zzz{z{z{z{|{~|}}|}|}{|{|~}||}~}||{{{{{|}||||||}||||{||z|||{|}|{{|}{|{z{|{}|{||{{{|{zzzz{|{z{|{|{{{zz{|{{{{{{|||{{zy{z{{{z||z{||z{{z{z{{{z{{{{|{z{{{{zyz{{{{{{|{{{z{yzz{{{{{{|{{{z{zzz{z{z{|z{|{{z{zzz{z{{|{{|{{zz{{z{zz{{{{z{{||{{{{{zyz{{{z|{||{{{zz{||{{{|{|{{z{{{{z{z{{||{{{{|{{z{{|{{}||{{||{{{z{{z{|||}{||{z{{z|{z{{|{{{|{{zzz{zz{{{{{{|{|{{|{z{{{{{|{|||||{{{{{{||}||||||{{{|{{z{|||{{{|||{{{{{{{|{|||||{{|{{{{|{{||}|}|}{{|||{{z|~}|}||{|{{|{|{|||}||||||{|{{{{||{{{|}{}{{|{{||{|||{{|}|{z{z{z{{{{||{|}{|z{{{z{z{|{|{{|{|{{{z{z{|{{{|~}|}{|}}|{{||}||||||}}{{|{{|||||}||{{{{{{{||{}{|{{||{|z{{{{{{{{|||{{{{{z|{z|{{{||{|{{|z{{{{{}{|{{|{{z{z|{zz{||{{{z|{{z{zz{zz{{{{{{|z{z|zzzzz{{|z{|{{{zzz{z{{{{{{||{z{|{zz{z{{{{{|z{{{zz{z{y{{zz|{{|z|{{zz{{z{z{{}z||z{z{{{z{{{{{{||{{{z{z{{|{|{{|{||{{z|y{z{z{|{{||{{{{{{{{{{{{{{|}{{{{{z{zz{{{{|||{zz{z{z{{{|zz{|{{{|z|z{{{{||{{{{|{{{{z{{{||{||||{{|{{{{{z}|||{}|{{{{{{zzz|{{}{|{{{{z{{|{{|||}|||{|{{{{|z{}{||||}{|{|{{{|{}||||}||{{|{z{||||}||{{|{{{|{{|{{|||{|||{|{|{||{z||{|}|{{{{z{{{}|z{{||}|{{{{{{{{|||||{{z{|{zzz{|{z{|}~}}}{{||{|}}|||}}~||||{{z||{|}|||}||{{{{{{{{}|}}|||{|{||{||||{|{|||{|{{{{z{||{||||{|{|{{{{{{||}{|||z{{{{yz|{|{{|{|yz{{{{z{{{{|{{|{z{zz{{zzz{{{{||{zzz{{zzz{|{||{|{{{{{zzz{{{|}{{}{|z|zz{|{{{|y{{|{|{{z{{{{|{z{{|||{z{z{{z{|z|{{{{|{|z{|{z{{{|{{|{}z{{{{{{|{|{{{||{|{z{{z|{|{{{|{|}{{|{{z{|||||||{|zz|{{{{{{||||{|||{{{{z{{||{{{{}||z{|{{z{|{||||{|{||{{|||||{||||||{|{|{{z||{|||}||{{{||z{{}|}|}}||{|{{|{{{|}||}|||{||{||||||}|||}}{{{{{|{|||}||||{{{|{{|||||{||||{{{||{{{|||||}||{{{{{{{{{||{z|}||{{z{|{||||{|{|||{{|{{{||{|{|~}~}}|{|}||}}||||}|||{}||{||}||||}|}|{{{{{z||{|||{|{{|{{{{{||{{||{|z{z{{z{z{|}|||{|{{{{{z{z{||{|}{{{z{{{{{{z{|{{{||{{z|{{zz{{z{|{||{z{z{{zz||{{||}{{{{zzz{z|z{{{z|{{{{{z{{z{{{{{{{{z{{{{z{{{{{{{{{{z{{z{{{{{{{{z|{|zz{zz{{{{|{|{||{{z{zz{{z{{{|||{}|{z{{z|{z{{|||||z{{z{|{z{{{||||{{z|{{{{|{||||}||{{{{{z{{}|{{{||{{|{{{{{||{{{{}{|{z{{|{|{{|||||||{{{|{z{{|}{|||||{|{{z{|z|}||||}}}{{||{{||{||{|||{{{|{|{{|||||}|}|{{{{{{z{}|}|}}||||z{{z||{{{}|{}}{{{{{{|||||||}}||{{|{{||||}{||}|{{{{{|{{}}|{||{|{|{{{{{|{|{|{|{{{|{{z{{{{{|{~|~|}|}}|}|}|}}|}|}~|||||}||}}}||~}|||{{|{{{{|{||{|{{{{{{{{{||}{{{||{zz{|{{|||||{{{|{{z{zz{{{z|z{{|{|{z{{{{{{{{|{{{{{|{zz{{{{{}{|{{{zz{{z{z|{{{{||{{{{{z{z{|||{||{{{{z{z{{{||{{z|}{{zz{zzzz{{zz|{||{{{zzz{z|}z{{|{|{z{yz{{{{{{|{{|{{|{zz{z|{{|{|||||{{zzzz{|{|||{||{{{{{{{{{|||||||{|||zzz{|||||{|{{{{{|zz{{{||{{{{{{|{{{{|||{|{{{|||{{{{{|}{|{||}|{{|{{{{{|{{}||||{z{{z{zz||||{|}{{{|||||z}|||||{{{||{{{{{{{{{||||}{{|||{|{}||{|{{|{|{|{|z|||{}||||||||{|||{|{{}}}{{{z|{|{||{||}||{{z{z{{{{||{{|}|{{{{zz|{{||}{{||{{{{{{z{{|||{~~|}|}|||||~|}|}~}}|}|{|||}|||}|}||{||}{{}{}{||||{|{|{zz{||{|z{}|}z{{{{{{{|{|}}{|{{{{{{|z{{{{z|}{{z{{z{y{{|{{||{{{{{{z{zz||z{{}{|{{zz{z{z|{|{{|{|{{{{zz{{{{||}|{|{{z{{{{{{{|{|{|}{{{zz{{{z{|{{|{}|{{{zz{{{|{z{|{|{{{{{{z{|{{||{||{z{{zz{{|||}{|||{{{{{z|{{{|{|||{|{|{z{{{||{{|{{}||{|z{|{{||||{|{{|{{{{{{{}||||}{|{{z{zz{|||z|}|z{{{{||{{{{|}||||{{zz{|||{||||||}{||{{{{{|}}||||{|{|{{{||}|||||}|{|{||||{||{|{||||{{{{|z{|||||{||}||{{{|||||||}}||z{|{{||||{}{{|}|||{||{{}||{z|{|{{{z|{|{|||||||}{{{{{||{{{||||}{{{{z|z{z||{{|~~~}~}||}|~|~}|}}~|{{{{|z|}|~}|}|}||z{|{{{{||||{|}|{{{{{{|{{|}{||}|{|{{{{z{{|}{||||{{{{|zz{{{|{||{{{{zz{zz{||{z||{zz{{z{z{{{{{|{{|{{{{{z{z{{|z{|{{zzzzz{{z{{{{{|{{{{z{z{zz|{{{{{|{{z{|z{{{{|z{{z{z|{{z{z{{z||}{||{{{{{z{z{|{|{{{{||{{{z{{z|{|z|{|{|z|z{z{|||{}{{||{{zy{{{{|{{{|{}|{{{z|{{z{{||{}{z{{||{{z{{{{{|{}||{{{{z{{{{{||{|{||{{{{z{||||}||||{{||{{{{}|{{|}|{{|{{{{{{{|}|||{|{|z||{{{|{||{}|{{{{{||{|}|||}|||{{{{|{|{}|||}|{{{||{{{|{||||||}|{{|{{{||||{}||{||{|{{{||{||||}}{{{zz{{{{|{}{{|||||zz|{{{}{||{|}z{{z{{y{{||{z~}~~}}}||}}~}|}}}}|||{|}|{|}|}|}|}|{{|z{{|||{{{{||}{|{{{{{|}|{{||||{{{zz{z{{||{{|}{{{{{{{{{{}{y{{{{z{{y{yy{||{|{{{{{{{z{{{{{|{z{{{zzzz{z{z|{{{{||{{{y{zz{{{{|{||{{{{{|{z{{z{{{|{{{{{{{{y{{{{{{{||{{|{z{z{zz|{{|{||{{|z{|{{|||{{{|||y{zzz{{|}|{|{|}{|{{z{z{{{{{{|||{zzz{z{{{{{{{|{}|{{{||{z{z|}|||{|z{{|z{{|||||{|{|{zz{{{{|{|{{|||{|{|z{|{{|{}}|~{z{{z{{|||||{||{}|{{{|{|||||||{||}{{{{{{{{|||||||{{|{z{{{|||||{||}{{|{|||z}|}|}||}{{|{{z{|||||{|{||{{|{||{|{||}|}|||||||{{||}{}||{||{{{{|{|||||{{|{{{{z|{||{|{{|{{{z{z{{{{{{{{~~}~}}}||||~}|}}~}|||z|{{{||}||||||||{|{|||||||||{|{|{|{{|||||z|z||{{{{z{z||||{{||{{z{{{{{{{{{||{{|z{|z{z{{{|z{{{{{zzz{{{{|{{|{|{{{{z{{z{z{|{|{|||{{{z{z{{{|{{|||{{{{zzz{z{|{{||}{{z{{{|zz{{{{{|{||{{z{{{{{|{|||{{{{|{{{z{{{{|{||||zz{z{{z{|{||{|||z{{{z{||{{|||||z{{zzz{{{|{||{{|{{{{{z{{{{{|{||||z{{|{|{||{{{|}z{{{{|{z||||}|z||{||{|{z|{||||}}|{{{{{||{}{{||}|}{|{}{{{{{||||{}||{|z{{z{{{}|{}{||||{{{|{{{|||}|{{{{|{{|{|}}||}}||{||{}|{|{|}}~||||{|{{|{|||||{|}|{{{|{{||{{||{||{|z{z{|{{|{||{}|||{{z{{z||||||||{{{{{{|z{|||{~~~|}~}}}}}}}}|}}}|}}||||||||}}|}|}||{|||{{||{|}}||}{|{{z|||{{|{||||{|z{{{z}{||{{{}|{{z{|{{{{{{{|{|z{{{z{{{z{|z||{{|z{{zzzz{{{{{|{}zzzzz{|{}||z|{|{z{{{{z{zz{|||{||{{|zz{zz{|{{|{||{zz{{{{{{{{{{{{{|{{{{{{{{z{{|{{{{z{{|{zzz||{z|{}|{{{|{{{{||{{|}{zz{{{z{{|z{|{}||{z|{{{{{||{{|{{{|z{|{z{z{{||||{{{z|{{z{{{{{{|||||{{{{{{{{}|{{|{||{|zz|{{|{|||}|||z{{|z|{{|{||||||{{||zzz||}{}}||{{{|{{z||}}}}}~~{{||{|{|{||||}|||{{{|||{{~|||||||{{{{{{{|{|||}||||{{|{|}||{||{}|||||{{z||}|}|}}|{|||{{{{{|||{|||}|z{{{|{|{|||{|{|||{|z{{{z|||}~}}}}~}|}~~}~}~~~||}|{|{|}|||}}}|{{{|{|||}{|||||{{{||{zz{{||||||{{{{{{{{{|~{{|{{{||z|{z{z|{z{{{{{z{{|zzz{{||{{{{z{{{z{{z{{{{|}{{z{{{z{{{z{z|{||{{{z{z{{z{|{||{|{{{{{zz{{{{{||{{{z|{zyzzzz{{{||||{|zzzz|y{{{{||||{{z{{{z||{}|{{|||{{{{{{{z{|{|{|{z||{{z|{||{{{||||{{{{{{|{|||}|||{||z{zz{{{{|}||||{{{||z{}||||||||{{{{{|{|||{{{||{||z|{|{||||}||{|{{{|{||||z||||}|{{||{z{{||||~|{|{|{{|{{{||{{{|}|{|{{|{{{{||}}||}{|||{z||~|||~|||||{{}{||~|{}||}|{{{||z{{||{||||}||{{{|{||||||||{|{z|{{{{{}{||}|{{{{{{{{{|}|{|{{{{|z{{x{{|{z{~}}~}}||}~}}}}}}}|||||{z||}|}|{}{|}{|{|||||{||}}{z{{z|{||{{|{|{||{z{zzz{||{{{|{|{{z{zz{z{{{||||{|{|{{|{{|{{{z|{{z{|z{zz{{{{{z{||{z{z|{z{}{z||{|{{{{{z|zzzz|{|{{|{{{zzzz{{{{|{{|{z{{z{yzyz{{{z{|{{zzz{{zzy{|{|{|{{z|{|{z{{{{|{z}|z{zz{{z{{|{{{{|{{{{|zz{{{{|{{|}{{{{{{z{z|{||{{||{{{{{{{|{|{{|{|}{{|{z{z{|{|{||}|{{{{{{{{{||{z{|||z{z{z{{|||}{}{|{{{{{z{{|{{{{||||{{z|{z{{{{|||}||z|||{{||{|{|}{|}z{{{{{{{|}||{}||{{{{|{{}}|}||{}}{{|{{|{||||{||||{|{|z{{{|{||||||z{{|{{{|{{{}|||||{|{{z{{|||{|}|||z{zz|z{{z{{{|}{|{z{z{z{}{{{~~~~}~}}}~}}}~}}}|}||||{|}|}}{||}|{||z|{|{|{{{|{|{{z{{{{{|{|{{{z|{||{zzz{||{|{|{{z{z{z{{z{|z{||{{z{zzzzz{z{|{{{{|{z|zzzz{{z{{{{{|{zz{zzzzz{{{|z{{{zzzzzz{|{|{{{{|{zz{{yzz{{{||{{{{{z{z{|y{{{{{||{zzzz{{{{z{{|z{{{{z{z{{{z|{z|{{|}|zz{{z|{z||{{{{|{{{{z{{{|{{{{||{z{{z{zz{|{{{z|}}|{{z{z{{z|{{{||{|z{{|{{z{||{{|||{{{z{zz{{{||{|{|||zz{|{{||{||{||{{{z{{|{{|}}z||{{{{{{{{{{{||{}||{|{{{z{{|||{|}|{{{{{||z{||||||{||{|{{z}{}}}|}|}}||{|{{{|||{|}|}||{{||{{|}|{}||}|{z{{{{|{|{{{||||{{{{{|{{||{}||||{{z{{{|{||{|{||{|{{zz{{z|{|{{~}~}}~}}}~}|~}}}}|||}|{|||||}|}}|{||{|{{}|{|||||{|||{{|z{{{|{|||{{||{{{{{|{|{|||{{{{{zz{{|{{||{{|{z{z{z{{||{|||{{{z|z{{z|{|{{|{{{{{{z{|z{|{{{{|{z{{zz|z{{|{{|{|{{{|{z{{z{{{||z|{|{z{{z{zz{{|{|{{z{z{z{|{{|z|{|{|{z{z{{{{||{{{{||{{{{{{yz{|{{{{|}{|z{{{{z{{{|{|||z{{z{{{{||||{||{{z{{{{{zz|}||{{{{{{|{{{||{|{|{|{|{|||{{z|}|{{{|{|{{{{{{|z{||||}{|{{|{{||{|{{{|||{||{{{{{{||||}{{}{{z||{|{||{|}}|||{{|{|{{|{|||{}|{||{||||||||||||{|||{{{|{{|||||{|{||||{||}{{{|||||{|{{{~||||{||{{{{{}{{{||{{|||||{{z||{{|||||{||{{z{{{z|||||~~~}~}~}}}}}}~~}}}|||||||||||}||||{{z|z{{||{{{|}{{{{|{{z|{}{{{|}||{zz{zz{|}{||{|{z{{zz{zz{{|{||z{{zz{zz{{|{z{{|{z{{{{{{{{{||{{{{zz{z{zzz{{{{{{|zz{{{zzzzz{|{|{|{z{{{{zz{{{{{||||{{z{{zz{{{{{z{{|{{{z{zz{{{z{{{|{{z{{{{{{{z{{{||{{{{z|z{{|{|z{|{}{z|{z{{{{{{{{|||{{|zzzz{{{{{|||{{z{{{z{{{}{{||{||{{{|zz{||{|{{||{{|{{{z{||{|{{{|z{|{|{{{{|||{|||{z||{{|z|{|||||||{{||{z{{||}||}|{z{{|{{{}|||}}||{{|{{|||||{|}||||z{{{|{|{|{{}{}||{||{z|{|||{|||{|{{{|{|{{|{||||}{|{{|{||||||}||}{|{y|{{z{}||||}|}{z{z{{z||{||||{{{{{z{{{|{}{{~~~}~}~}}~}~}}~|}|}|||}|}|}||}||{}|{{{||}|~|||{||{{{||||||}||{{{z|{{{||||{{||{{{{{{|z{||{z{||{{|z{{{z{{|{{{{|z{{{{{z{{{|||||{{zz{{{z{|{{{{|||z{z{z{z{z{|z|||{{z|{z{{z{||{z||{|{{{{{{{{{{{{{{}{z{z|{{{{||{|||{{{|{z|{{{{{||}|{|z|z{z{{{{|{{{{|{{zz{{{{{{{}|{||{{|z{z{|||}{{||||{{{|{{z{{|{}|||{{{{{{||{||}{||||z{|{z{{|{|{||}|}{{{{|{|{|}|}}||{|||||{{|||||||}|{{}z|z|||}||}|||{|{{{{{||||||}}|{{{||||||~|}{||}{{|{{|{|}}}}||}||{|{{|{||}|}||{}|{|{|{||||}}|}}|{{|{{|{|{|}}}|||{{{|{|{|{||{||||{{||||z{|{{||}|z{|{{|{z||}|{}}~~}~~}~}~~}}}||}}}||{}}|}}}}{|{{|||{{|{{|}}|}|{{|{{z||{||}}{{{|{{{|z|{||{||{{{{{|{{{{{|{{{|{||{{z{z{z||{z||{|{{z{|{{{z}|{|}|{{{{{{zz{{|{{{|{|{{{{{|z|}|||||{{{{z{|{z{|{{{||{{|{{{zzzz{{z{z|{{{{zz{{{z||{z|||{{{{{{{{{|||{||||{{{{z{{{{z{|}|}{{{z{{{|||{{{{||{{z{{y{{|{z||{||{{{{{{|{{{{||}|||{{{{z{{{||||}||||{{{{{|{|||{||||{|{{}|{||}}{{|}{{|{{z{{{|{||||||{{|{{{||||||{|{|z{{{{{{|}{{|||}{|||{|||{}|||}}||{{{{|{{{}}||||}|{||{|{{}}{||||||{|||{|{|}|{|||||{{|{{||||{|}|}}{{{z|{{|{||||{|||{{{{||||}|}{|||{{|{{|{z|||{{~~~~~~}}~~~}}||}|||||}}||}|||{|z||{|}|{|||||{{|{{{{{|||||{|||||{z{{z|{||||{{{{}{{{{z|||||{|{{z{||{z{|||||||{z{|{z{zz{{z{{|||z{z{zzz{{{{{{{{{|{{{{zz{{{|{{{|{{|{{z{{|{|{{|||{|{zz{{zz{{{{|{{{{z{{yz{zz{z{z|{{{{{|{{|zz||{{|{{{z{z|z{z{{{|{{|||{{{{{|z{|{|{||||z{|{{{z|{{||}|{{z}{{{{{z||z{{{{z{{|{z{z{||{{|||{{z{{{{|||{{{{|{{z|{|||{|||}|}|{z|{|z{|z|||{{{}|{{}{{{{z||}}|||{{{{{{|y{}||{||}|{|{{{|{{{{||}||||{{|{||z{|}|{||}|{{|{{{{|||||||||{|{{{{{|{{|||}}|{{{|{{||{{{{||||{{{{{{|||||}||||{{{{{z{{|||{}}|{{{{{{z{|{|{{~~}~}}}~~}}}~~~{||}|}|}|||}}}|||{{}|{|{|||||}{{|{{{z|{{||{||||{{{yz{z|{{{{|||{z{{z{zz{{{{z||{{{||z{zzz{|{z|{{{z{zzz{z{|{||{|{{{z{zz{z{|{z{{|{{zz{{{z{z||{|{|{{z{{z{z{|{{{|{{z{{{zzzz{z{z|zz{{|zzy{{{z{|{{{{{{{{{z{z{{z||{{||||{z{{{|z{|{{{|{||{{{{y{{{{{{||{{{|{{z{{|||{{{|{{|{|{{{||||{||{{|{{|{{{{{{}|{|{|{|z{|{{zz{z{|z{{{{|{{|{zz|{||||||{{z{{{|{{|{||}{|{{{{{{{{{}||{{||}|{{{z{{}|}|{||{{z{{zz||{|{{||||||{{z|z{{||}|}}{|{|||z{z{||||}|||zz{{{{{}{|||{|}|{{{{{{{}|||{||{{{|{{{{zz|{|{}}|{z}{{{{{{||}{{{{{|{z{z{{{{{{{~~~~~~~~}}}}~~|}{}|}|}|}}|}|{||{||||{{{|||}{z{|{{z{|}|}{|}||{{y{{{{{{|{{{|||{{{z{{{{{z{{|{{{{{{z{zz|{||{{|{zz{{z{{z{{{{{|{{zz{yzz{{zz{|{{|z{z{{{{zz{{{{{{||z{{{z{zz{||||{|}z{z{{z{zz{{z{{|||{{z{|{{{{z{{}{{z{{|{{{{{|{}{||||zz{|z{{{|}{||||{{{{{z{{{|{{{{||z{{{zz{z||{{||||{{zz{{|{{||{||{{{{{z{{{z|{|{{||{{{{{zz{{|{{|z|||||z{{{|z{{||{||{{{{|{{{{{{|||}|}|{{|{{z{{|{||}|{|z{{{{|{}|{|{|||{{||{{{|z|{|}||{|{{{|{{{z}||||}|||{{{{z{||||{|}||||}{{{||{{|||{||{{||{{{||{||{}||z{zz{{{{||||||}{{{}z|{{||{|z|{|{z{{{z{{{||{{~~}}~~}~}|}}|||||}}}}}||||{{{{{{|||{||||}{|z|{{{|{|{|{|{{|{z{{{z{{{|{|{|zz{{z|zy{{{z|z|{{{z{zz{{{z|{z|{{{z{z{{z{{{{{{{{{{zzz{{z{{{{{{||{{zzz{z|z{||z{{{{{z|{zzz{{{|{{{|||zz{z{zzz{{y|{||z|{z{{{{{{{z{{||zz|z{{{z{{{{|{{|||{z{z|z{{|{{{{|{{|{zzz{{|z{{{||zz{{zzzz||{{||{||{{{{{{|z}}{{||zzz{z|{{{{||{|||{{zz{{{{{{|z|{|{|{||{z{z{{|||{}|{z|z{{{{{||||{|||{z{{||{{z|{|{||{|{{{{{{}|||{|||{{{|{{{{|{||}{}}||{{{{{{||}||||||}z|{|{|{{{{|{}|}||{z}|{z{|||{|||{{{|{{|{|||{|}|||||zz|{{|}{|}}{|||{|zz|{|||||{|{zz{{zzzz{{|{{~~~~}||}}||}}}{z{||}}}}}||||{{||{|{{|{{|{{}{|{{{{{||{{{||{{z{{{z{||{}z{{{{z{z{{{z{{z{{{|{{{{{zzzz|{{|{{{{{zz{{{z{{{{{{{z{yyz{{z{z{}z{{|{z{{{{{zzzz{{{|{{{{{{{zzzz{|||{{{{zzz{z{zzz{{{{z{{|{{z{z{{{|z{{{|{{y{{{{zz|{|{{||{{{{z{{{{{||{{{||{zzzzzz{|z{|{{{|zy{z{z{z{||{{||||{|{|z{{{{|{||{{z{z{{{{{}|||{|{|{{{{z{{z|{}{|}||||{{{{{{{{{}}|||{{z{zzz||{{}{}|||{z{|{zz||||||||{{{{{|{z||{}{||||{|{{{|{|{{{{||{||{{{{{{{||||||||{||{{{{||{||||{|{z{{zz|||}||||{|{{{z{{|||||||{|z{||zz{z{{|{{||{{{{{z{{z{{{{{}|{z{z{{{zz{{{z{~~~~~~~~~}}||{{}}||||}}|}}{|{{|{z}{}|}|||||||{z{{}{||||{|{{zz{{{z{z{|{|{|{{zz{{|{{|{{{{|||{{{z{zz||{{{|{|{{z{{{zz{z||{{||y{z{zz{{{{{{{{|{z{z{zyz{z|{|||||zz{{z|{{z{z{|{|{{|zzzz{{z{{z{{||{z{zzzz{|||{{|{|{z{{{|zz{|||{|{|{{zz{{{{z||{{{|{|{{{{{{{|{||{{}|{{{{|z{z{{}|||||{{{{zz{{{{{|||z{{{zz|zzz{{|{|{|{|z|{{z{{|||{|{|{|{{{{{|{|||}}}|||{{{{{{|||{|{}{|{z{|{{z|{||||{|||{{{{{|{||||{{|}|{{{{{|{{{||{||||{|{||{{{|{|}||||{||{|{{||{||||||z{{|z{{{|}||{}}|{{{{{{{{|||{||||{z{{{{{|||{|}|||{{|{{{{{{|{||||||{{{z|z{{{{|~~~}~~~}||||}~|}}}|}}|{|{{||||}||}|||||{{z{|{{||||||||{{{{{zz||{{{||{{{|z{{|{{}{{{{|z|z{{{z{{{{{{{{||{{{{{{{z{{z{{|{|{{{{{z{{z{|{{{|zy{z{{|z{{{{{||||z{{z{zz{{{||||||{{{z{{zz||{{{||{{{{yz{z{{|{{{{}|{z{{{{{y{|{z|||}{{{z{z{{|z||{|{{|z{{|{{{{|{|{}}|{{{{{|{{||{|||||{{{||z{{{||{{|||}{{|{{{z|{{|z{|}{|{{{z||{}|{|||{{{|{{{{z{{}{||||z{|||{|{{|{|{}|||zz{z{{{{|||||||||||{{{{||{||||||{|{|||}|}||}|||}|{{{{{{{||}|}|}}{||{|{{{{|||}|{|||||{{{{}||||||||{|{|z{||{|||}|{{|z|{{z{|{||||{{|||zz{{{|||{z}{{z|{{z{z|{|||~~}~}~~~}}}}{}}~||}||}}||||||}|||{|||||{||{{{z|{||||{|||{{{{{{z|{{}{|{}||z{{{z{{||{|||||||{{{{z{z{{{|{{{zz{|zzz{{{|{|{|{{{{z{{{{|{{{{||{z{{{{z{{{z{{|{|{|z{y{zz{{{|{|{|zz{z{{zzz|{z{{{{{{{z{z{z{{{{{|{{zz{z{{{{{|{{{{|{{z{{{{zz|{|{||||{{||{{|{{z{|{{|||z{{z{z{{|{}}|}{{|{{{{{{{|||||}}{{{{z{zz|{|||||{|{{{z{z{{|||{|||{z{{{{{{||{|{|}{z||{z{|{||{|{|||{z|{{{{|||||}||||||{z{{{|||{|}|||{|||||{||||||}|}||{z{{||}||||}{{{|{}{|{||{|||||}z{{||{{|||||||}||{|{{{{|{|{{{|||{{{}z}{||||||||{|{{{{|z||{}{{{{|z|{{zz||{|||~~~~~~~}~~}}}||}|}|}~}~}}~}|{{z{|||||||}{||{{{|{{{{|||{||{{z{{{z{z{z{|{|{|{{{{z{z{{{{{{{}{{{{zzz{zzzz{{|{{{z{{{zzz{|{{|{||{{zzzz{z{|{z||||{{{z{{z{|{{{{|{z|{z{zzzz|||{{|||z{{{zz{z{{{{{{{||||zz{|z{||{{{{|zz|z{{{{{||z{|||{{{{{{{{{{|||{|}{{{{{{{z{{||||{{{{{zz{{z{{z{|}|||{z{|z{{z{||{|{{{|zzzzz{|||||{|||{{z{zzz{||{||{{{{{z{{{{||||{}{|{|z{{||{|}{{|{|||{{{z{zz{|||{||{|z{|z{{z{{{|{}||{{{{{||{{|}||{}|||{{{{{||||||}|}|{||{{z{||||||}|}||{||{{{{|||{}||}{|{{|}||{{{|||||{|{{{||||{{{|||{z{{{z{{|||{}{{{z{|{{{z{||||~~~}~~|}|}|||{|}|}|||~|||{||{||{|{|||{{{{{|{{|{||{z{||{{{zzzz{|||{|||z|z{z{{zz|{{|z{|{{{z{zzz{{{|{{{{||{zzzzzzz{{z|{{{z{zz{zz{{zz{{{{|z{{{y{z{{{{{|||{z{|z{|{{z{{|{{||{{zz{{{{{{{|{||z{{{z{{z{{|{{|}{|z{{{{{{{{{{|{||{{{{y{{zz{{{{||||{{z{{z{z||{{{z|||{|{z{{|{|{{{|||{|{z{z{{||||{|{{{z{{{{z{|{|{{||}{zz{{{{z|{|{{}|||{|{{y|{|{|{|||{{{{{{{{{{|{{{|}|{z{{z{{{|||||||||{{{{{{{{|{||{||{||{{{|||{||{}|}|{{|{|{{{|{|||}|{|{{|{||||{}{|||{z{{{{{{|||||||}|{{{|{{{|{{|}|{|{z{{{{{{{|{|||||{{{z|{{{{{{{||||{{{z{z{z{{{{{~~~~~~~~}}}|||}}|}~}|}}|{||{|}{||}}||}||}||{{|z{{{||{{}|{{{zz{{{{||{|{||z{|z{z{{{|{{{|||{{{z{{{z{{}zz{|{z{{z{|zz{{{{{{|{{zz{z{z|{z{{{|{{{z{{{{z{{|{{||{|{|z|{{{z|z|||{||{{{zz{z{zzz{{||{{{{{{{{z{|{{{||{{z{{{|z{{{{|{{}|||z{{{|y{{|||{||{zz{{z{{{{|||}|||{{z{z{z||||{|{||{|{{{{{{{{{|{{|{z|{{{zz{||||{}{{{{{z{{{{{|{||z{{{{{{z{{||{||||{{{{{z|{{||{{{}}||{|||{{{|||{||{{|{{||{|{|}|||}||||{|{{||z|}||}}|||{{z|||}|||||}|||||{z|z|}|{|{|}{{{}{{{||{|}|{|}|{{{{||{||||||||}{{{{{|{{{|}|{}||{|{|{{z|||||||{{{{|{{{z|{{{}~~~~~~~~}{|{}||}}}}~}}|{{|{{|||{{{|}|||{|{{{|{{{|{|{||z|zzz{{z{{{{{{|{{{{z|z{zz{{{||}{z{{{|zz{z{{{z|{{{{{{z{z{{z{{{{{{zz{zz{z{{{{{{{|{{{{zz{zz|{{z{{{{{{|{zz{{{{{|{{{{{z{{zz{z{{{{{{|{{{{{{{{{zzz{{||{z|z{zz{{|{|{{|{||{z{{{z{z{|{||{{{{{{{zz{{{|{|{|}zz|{{{{z|{|{|{{{{z{|{z{|z{||{|||z{{{z{{{{||{||||{zz|zz{{{|{{|{{|||{z{{z{z}|||||}zz{{{z|{{||}|{|}|z{{{{{z|{|||||{|{{{|{|{|}{|||{|{{{{{|{|||{||{|}{|{{|{{{||{|||{||{{{{z|{{|||{{|{|{{|{||z{{{|{||||{|||{z|{{{|{{|||z{{|{{{|{{||{||{|{{z||{{{|||{{{{{{{{{{{{{{||}~~}~}|{}z||{{|}|}||||{}z{{{{{{||{|||{{||{z{|{{|||{|{||{{{{{{{|{{|{||{z{{{z{z{||{|{{z|{{z{{{z{{|{{{{|{{zz{zz{|z{{{|{|z{|{zzz{|{{{||{{{{{z{{z{z|zz{{|{{{{zzz{y{{{{{{|||{{y|z{z{{{z{zz{||zzzzzz{{{{{{|{z{{z{{{z{|{{{{{|{{z{{{z{{z{{{{|}{z{z{zzz{|{{|{{{{{{zz{{zz|{{|||}z|{{zz{z|{|{|{|zz{z{z{{{{||||||{{zz{{{{z{{||{{|{{{{{{{z||||}}}}|{{{{{{z{|{{}|||}{{{|z{{{|z{{{{|{{{{z{{|{|}||||}|{{{z|||{{{{|}|{||{||{}{{{|{|||}|{z{}{|z{}{|||}}|{{z{{{||{{|{||{|{zz{{{{{{{{{|||}{zz{|{{{{{||||}{||z{{{|{|z{|{{{{zz{{{{{z{{{{{~~~}~}}|||}||}|}}}}~|{{{|{|{{|{|}{|||{|{||{{||{|{{|||{{{zz{z{|||z{{|{{{{{{z{z{{{{{|{{{zz{zz{{{{{{{{{zz{{z{{zz{{{{|{|zzz{z{{z|{zzz{{{{zzz{{zz{{|{{{|{zz{zyzzz{{{|zz||{yyz{zzz{z{{{{{{{{{z{{{zz{{{{|{{{z{{{|{{{{{|{{{|{z{z|{zz{{||{{{{z{{z{{{{|||{{{{}{{{{z|{{{|{{z|{|{|{z{z{{{{{z{|{{{z{z{{{z|||{|{|{{{{{{{z{z|{|{|||zz{z{|{{{|{}||{|{|z{{{z{|{|||}{|{{{z{z{{|}|{{{|||{{{z{zz||{|||||{|{{{|{{|}{{{||}|{||{|{{{}}||||||{{|{{z|{{|}{|||{|z{{{{|||||||}}|{{|{{{{{{|}|}}||{|{{{{{{|{|||||{{z|{{z{|}|||{|||z{zzz{{{{{|{~~}~~~{}|}||}|~||}|}||{|{{{{||}|||}{|{|{{{{{{||{|{||z{{{{zzz{{{{{{|{{{{{z{zz{{{zz|||{{z{{zzz|{|{|{|{{{{yz{{z{z{{{{{|{z{zz{{{z{{z{|{{z{zz{z{z{{{{||{{zz{{{{{{||{z{|||{z{z{{zzz{{||{|{{zz{z{{{zz{{z{||zz{{z{{zz{z|{{|{{{{y{z|{{||{{z{|{{{z{zzz{{|{||{||z{{{z{z{||{{{|{{|{||{{{{{{{|||{{z{zz{z{{{||{{}{|z{|z|z{|{{{{{{{z{{{zz|{|{|}||||{{z{|{{|||{|||||{{z{zzz{{|z|||{{|{{{{{{{|{||}|}}{{{y|{|{{||||||||||{{|{{{}||||||{z{|z{{{{|||{||{|{{zz{{{{|{|z}|||{{|{{|||{{|||||{{{z{{{{||}|{|}{{z{{zz{z|||z|{||{{{zz{{{{{{{{~~~~|}}|||}}|}|}|~}{}|z{|||}}||||}{|{|||{{{|||||{|||{{{{z{z||{{{|||{{|{{|{zz|{{z{{z{z{{{{z{z{|{{||{{zzzy{{z{{{{z{{{{{z{zy{{{{|z{{{{{zz{z{zz{z{{{{{{{{{{zz{{z{|{{{|{{{{z{zz{{{{{{{{{{{{z{{{zz|{{{{{|zz{z{{z{{{{{{{||z{|{{|z{}||{{}{{{z{{{{{|{{{||{{{{z{{{{z{z{|{{||{{|z{{{z{{|{{{||{{zzz{{{{|{||{|}||{{||{z{{||{{||||{zz{z{z{}|||||||{{z{{{z{||||||||z{|{{{{{|{||}|{{|{{||zz||||||||{{|{{|{{{||||}{|||{|{z{{|||}|}|||{}||{{|||}|||}}|{{{||{{|{{{{}||{|||{|z{|||{|||{{{|z{|{{{{|||{|||{{{z{{z||{|{}||{z{{{{{{||}{{}}~|{}|}~|~}|}}}|||||z|{{|}||}}|{{{{{{{{|{|}{{|{{{{{z{{{|||{||{|{{{zz{{z{||{{|{{{z{{|{z{{{|{{||{{{{{{{zz{|{{{|{|{{{z{{z{{{{|z|zz{{{z{{{|z{{z{|||{{z{z{{{{||{{|||{z{y{zzz{{{{{|z|{{zz|{{{{|{{{|z|{|{{|{z{|{{|{|||||{z{zzz|||{||{{{z|yzz{|{{|{|{{{{|{|z{zz|{{{|{||{{|z{z|{{|||{}||{{{{{{z{{||{{||||{z{{zz{{{||{|{||{y{{{|{||||{{||{{{{z{{{|||||{{|{{{{{{{z||}|{|}||{{{{||||}|||||{|{{{z||{||{|||{|||{{{{|||}{|}|}|{||||{||{}}{|||||{||{|{{|{{|{|}|||{z{{{|}|{||{}|}|{z{{{{{|||{}|||{z{|{{{{|{|{|||{{z{|{z{{{|{{~}}~||||{}}}|~|}}|}z{||||||{|||}||zz|{|z{||{}{{|{z|{zz|{{{{||{|{}|{{z{{{{{}{{{|{{{{zzz{{{{{|{{z|{{{{zz{zz|{{{{{z{{zzzz{zz{{{{{{z{{z{{{{zzz{{{{{|{{{{{{{{z|{{|z{{|z{{zz{{zz|{|{|{{z{{z{{zz{{{{{{||zzz{{{zz{{z{{{|||{{zz{{z||{{{||{{{zz{{|{{{|||{||{{|z{{{{{|{|||{|{{{{|{{{{{{{|z|{z{zz{|{{|||{{{{{|{z|{{{{{||{||{}{|{|{zz||{{}||||{{z||{|{{|z{|||{{z{||{{|{}||||||{{{{{{|{{|{{{}||{|{{||{{|{||||||{|||z||{|}|||||{{{|{{{|{|}||{||||{|{{{|{||{}}||}||{z{{{|{|{{||{||{{{|{{z{{||||||z||{z{|z|{|{||{}{{{{{{{{{|||{~}}~~}}~||||}}}}}}}}}|}|{||{{}||}||||{z{|z|{||||{|{}{{{{{{{|z|||{||{}{{{{{{{{{{{{{{|z{{{{{{z{{||{{{z|{{z{{{zz{|{|{{|{{zzz{z{{{{|{{||{{{zz{{{z{{||{||{|z{{{{{{{{|{{|{|{{{{zz{zz{{{{{{{{z{z{{z{{{{|||||{{{{{|zz||{|{{|}{z{{{{{{{|{{{|{{z{{z{{|{|{{|{}||||{{{{|{{||||||{||{{zz}{{||||{|||zz{{{{{{{{z{{{|{zz{|{z{|||{{{|{|{{{{{z{{|||||}||||{{|{{|{{}||{|||{|{{{|{|||}||{|{|{|{{{||||||||||{{{{}{{|{}|}||||z|{{|||}||||{||z||{{{{|}{{|}|||{{{|{z||||{}|||}|{||||{{}{|}{||{|zz||{{{{|z||||{{{{|{{{|{{}|{|{|z{{{z{z{|{|{~~~}}}}}}}}}{}~}||}{|||{{||||{||z|||z|{z{{{{{{|z||{{|{{z{z{||||{{{|{{|{zzzz{{{z{||{z{z{{zz{{{|{{{|{{z{{{{{z{z{|{{z{{z{zzz{zz||z{{{z{{{z{|zz{|{{|{|{{{|z{zz{{{|{{{|{z|z{zz{{{z{|z{{{{{zz{z{zz|{{{{{{{z{{z|{z{{z||{|||zzz{{{{{{{||{{{zzzzzz{{{{|{{{|}zz{|{z{{|{{{{{{||{zz{z{{z{{|{{{{{{{z{{zz|||{{{|{{{{{|{z{{|{{{|{}{{{z||{{{}{{}|||{{{{|{|{z||}{{{}|zz{{z{z||||}|||{zzz{{{z|||{{||}{{}{|{|{|{|||||}{{{|{{|{{||{|}|||{|zz{{{||||||||{{{{z{{z{||{||||{{{{|z{{|{{|{||{{{{{{{{{{|{|{|}{|{{{{{|{{|{||{||{z{z{z{z||{{{~~~~~|}}~||||}}||}}}|{{{{{{|}||{||{|{{{|{z|{|||{{|||{|{z{{{{{z{{|{|{{zz{z{z{{{z{{||{z|z{{{zz{{{|{{{{|{z{{zz{|z{z|{{|z{{{{{{{{|z{|{|{{z{{{z{{||{{|{{z{{|yzz{|{z|z{|z{{{{zzzzy|{z||{{{|{zz{z{{{|z{|{{{{z{z{{zz|{{{|||{|zzzzz{{{{|{{{|{|zz{{{{{{|{|||{|{{{{{|{{||||||{{z|{{{{y{{z|{|{{{{{{{{{{{||{{{}{{zzzz|{{{||{{{|{{{{{z{{|{||}||{|{{{{|{|{{|{||||||{{{{{{{|z}|{||||z{zz{|{|||||||}{||{||{||||}||{|{{{{{||{{||||}{}|{{||{||{||||||||{z{{{{{{|{|{||||{{{{|{{||{|||}{{|{z{z{|{|||}|||{{{z{{{{{{{{}|}{y{{{zzz{{|{{{~~~~}~}}|}}~~|}}}}}}|{{||{{|{|{|}||z{{|z{|{{{||{{{|{||zz{{{zz{{|||{{||z{{zz{||{{||||z{{{zz{{||{|{{|{{z{{{{zzz{{{|{{{z{z{zzy{|{{{{{{|zzzz{{zz{{{{|{{|zz{{{{{{z|||||{{z{zzz{{{{{{{|{{zz{zz{{z{{{{{{{{{{{{z|{|{{{|{|}{zz{z{{{{|||{{|{|{{|{{{{{{{{{{|{|{z{z{zzz||{{{||z{{{|{z|{{|||{|{{{{{|{{z{{{||{{||{{z{{zz{||{{{|{||{{{{{z{{|||{|||{||z{z{{||||||||||{{{z{{|||{{|||{{z{{{{{|||{{{~{|{z|z{{|{||||}|{|{||{|{z|}|}||}}{{||{{{{|||||||||{{z||{|{||||{|||||{{{{{|{{||}||{{{{{{z|||||||}}|{|z||{{{|{|||||{{{|{z{|z{|{{~~~}~}~||}}~}||~}}}|||}{}{||||{{|||{{|{|{z{|||{{||{{zzz{z{{|{|{}{|z{{{{z{zz|{{{{{{{{zz{{z{{z{{{|{|{{z{z{{z{z{|{|||{yz{zzz{{{|{z|{|{{z{y{{{{{{{|{|{{zzzz{zzz|{{z{|{zzz|{{zzz{|{{{|{{{zzzz{{{{{{{{||{{{{{{z{{|{|z{|z{{{{{z{z{|{{|{{|{{|{{z{{z{z{||{|{z{zzz{|{|{{{|||{{{{{z{z{{{{|}||{{{{{{{{{|{|||{|{zz{zzz{{{{|||{|||{{{z{z{{|{|||{z{{{{||z{||}{}||{|{{{{|{{||{|{|{|{{|{z{{{}{{|||||{|||{{z|}z|{}|}}{z|{|{{|}||{|}||||{|z{{{{|||{}||{{{||{||||||{||||z{{z{{||||||{|{z{y{{z{||{{|{||{z{{{{{{{{z{{|||{{|{{z{{{{{|z~~}}}}|}||}}}}~||}|{{|{{}}|||{}}||||z{z|{|{||{|||}{{{z{zz|||{{||{{{{{z{{z{|z{{}|{z|{{{z{zz{|{z{{|{{zz{{z{{{{{{|{|{y{z{z{z{|{{{{{{z|z{z{{{{|{||{{{|zz{zz{{{{{{|{{|{|z{zz{z{{||{{|{|{zzzz{{z|{||{{{{{{{{{{z{{{z{{||{{{{z{{z{|{{||{||z{z{{{{|{||{{|}{{{{{{z{{}{{|{{|{{{{|z{|z|{{{{{|{{|{|z{{{|}||{||{{{|{{zz|||{{|{||y{{|{{{{|{{|{||{{{{|{{{||{}|||||z{|{{z{|{|||||||{{{|{|{||{{|{}{||{z{||{|}||{|||{{{{|||{{|||||||{{|{||{|{{{|||}||z{|{{{{{{|||{}||{{|||z{||{||||}{z{z{z{zz{||{|}|{z{{z{{{||||z|}}{{{{zz{{|{||{~~~~~}}}~|}{}|}|}|}}|{|{{{|{|||{}||||||{{{{{{{|{|{||{||{z{zz{{{|{{{||{|{{{zzz|z{{|||{z{zz{zzzzz{{{|z{{{y{z{z{{{{|{{{{{zzz{{z{|{{}{{z{{z{{{z{||{{{{{|{z{zzzzz{{{{{{|{{z{|zzz{{{{{{{||||{{{zzz{{{{{|{{{{{{{{z{|||||{}z{{{z{z{{{||{{{{|z{z{z{|{z{z{|{||{{{|{{{z{{{{{{{{zz{{z{z{{{||z|{|z{{{{zz{{|||{{|||{z{{{|{|||{{{||z{{{{{{|{{}||||||{{{{{|{{|{||{}}||{|{{{z|}|{{||{{{z{{{z|{||||}}|||{||{|{{||{|{|||{{{{{|||~|}||||{{|{{{{z}|||{|}|{{{{{|{|{||||{||{{z{{|{||||}|||}{|{z{{z{{|{{||||{|{{{{zz{||{|{|||{{z{{|z|}{{{~~~~~}}}|}}}{|}|}}~|}}{{|{z|}}}}}}{{|z{{{zz|||}||||{{{zz|zy||{||{{||z{z{z{{{{||z||{{z{{z|{z{|{{z||||{z{z{{|{{{{{|{{zz{{{z{z{{||{{{{|{z{z{{z{{{|{{{{{z{z{{{z{{{{{{|{{{{zzzz{z{{z||{{|{z{zz{{{{z|{||{{{{|{{{z{|{{|{|{{z{z{z{z{{||{{{{{z{z{zz|||||{{{}{{|zz|{||{{{}||{{||{{{z{||||{{||{{{{{z{z{||{|z||{zzz{zz{{{{{{|{{|z{{{z{z{||||{||{{{|{{{|}{||||}}|z{{{{{{||{|||}|{{{{|z|{|{||{|||{{{|{{{{|{|||||||{{{{|z|{}{{|||}|{||{|{|}{||{||}{{{{{{{{|{{|||}||z{{{|z{||{|||{|{{{z|{{{z|{{}{|||{{{z{{{|||||||}{{{{zzz{z{}{{~~}}|}|}}|}}}}}|}||{}{{|||{{||}{|{{|{{{{{||{|||{z{{{z{{z|{||{{||{{{z{z{{{{{{{{{{|{{{{z{{|{|{{{{{{{zz{z{{{{{||||{z{{{{zzz|}{|{|{{{{{{z{z|{{|{||||{{z{|{{|{{{{|{{|zzz{{zzzz{{{z{{{|{{{{y{{y{|{{{{|{{z{||zz|{{{|{{||{{{{z{{|z||z|||{{{{z{{{|{{|{{{|{{{{zz{{|||{{|{{{{{z{zz{{||||}|z{z{{{|z{{{|{|||{{z{{{{{{{{{|}|||{{{{|{{{|{{|||{|{||{z{{z{|{}|{|||z||{zz{||}||||||{{{{||{|}|||}|}|{{{{|{{|z||}}}}||{|||{{|||||}}||||{z{{{{{||{{{|{{{{|{|{{||||||}}|{{|z||}{|{}|||{{{z{zz{{{{{|}|||z{{{{|z{{||{{{{{z{{{z{{|{||z~~~~~}}~||{|||~}~}~|}||{}|{{|}||||}{{{|zz||{||||||}{|{{{|{z||||{|}||{{{z{{{{{||{{|||{{{z{z{z{{{{z|{{{{{{z|{{{|{{{z{|zy{z{z{{{{{|{{|{{{z{{{z{|{{{||||{{|{z|{{{{{|{{|{{{{|{{{{{z{{{{{||{z{{{zz{|{|{|{{{{{{{{zz{{{|{|||zz{zz{{{{{{||{|||{z{{{|{||{{||{|{{{{{{{{|||||{{{{{{z{{{{z|||||||{{{{{{z{|||{||{{{{{{z{{{||||||||{{|||{{{{{||||{|z{|||{{{||{}|||||z{|{{{z{||{}|}|||zz||{||}}}|||||{{|{||{{{||||}|||{{{{{|||{||||}|{|{{{{{}{|||||{|{{{{|||||||||||}|{||{{|{|}{{|{||{{z{|{{{|{{||}||{{{{{{{|||{{{{{{{{{{z|z{||{{~~~~}}|}||}||}}}}||{{zz|{{{|}{||}||{{z|{|{|{|{{z|||{{zz{{z{{|{{||{|{|{z{{{|{{{{|{{{{{{{{z{{||{{|{|zz{z{{z{{{|{{||{{zzz{zzz{|{{{{|{{|{{z{zz{z{z{|{|{{{zz{{z{|{{|{||{z{{{{{zz{{{{|{{|{{yz{{{{{{|{||{|{{z{zzzz|{{{|{||{zz{yz|{|{{{{{|{z{{{{{{{zz{{{{|{{|{|zz{{|||||||{{{{{{|{||{|{|{{{z|{zz{{{||{{{|{{z{{zz{{|{|||||||{|{{{{{{|{}{{||{|z{{{{{||{||||}{{{{{{{{|{||}|}||{{{{{|||}|{{||||{|{{||{{{||{||||{{|{{|{{}|}|||||{}|{{{{||||||||||{{{z{|{|{{||}||{|z|{{||{|||}|||{|{{{|}{{|||||||{{{{{{{||{|{{|{{{{{{z{z|{|{{~}~}||||}~|||}|}|}~||||{{{|||||{}|||{{||{{|{|||{{||{{{{{|{z{|||||{||{{z{z{y{||{z}||{{{z{z{{{z{||{{z|{zzz{{z|{{{y|{|{zzz{zz{|{{|{{{{{{z{z{zz|{{{{||{{{{{{|zz{{{{z{|{{{z{{|{z{{{|{|{{||zz{{{{z{|{z||{|{{zz{zz{{{|{|{{{|{z}z{{{|{z|{|{z{z{zz{z|{{{z||||z{{z{zz|{{|{{|{|{{{{{{{{{||{|{|{{{z{zz{|||{{{||{{|{{|z{{||{{|||{z|{{z{{{{||||||{{{{|{|{|||{|}|{{{{{{{z{{|{||||{|{{{{{{{||||||||{|{{{||||{{}||~{|{|{z|||{}}||||}|{|{{{{{||||}}||{{||{{{{|{|||||||||||{{{||||||}|{{{{|{{z||||||}{{|{{z{{z{||||{||z{{z{y{{|z||{~~~}}~~}|}||}|~|}||{{}{|{{}}||{|}}|{{{||{z{}{||||||{{{z{|{||{{{|||{{{{{{zz{{|{{|{{|{z{|{y{{{|z{{{{z{{zzzz{{{{|z{|{z{z{{{{zz{z{{{{{{{z{zz{{z{|{|{||{z|{z{{z{||{z{{|{zz{{{{zz|{{{||{{{z{{z{z{{{{{|{|{zz{{{z{||{|{{}{{z{{{z|z|{|{z||||{{{{z|{z{||||}|{z|{zz{z||{|{|||{{{|{|{z{{{|{|{{||{z{{|{|||||{|{z{z{|{{{||{{|||||{{{|{{z|{{|}|||{{{z{{{{||{{||{|{{{{{{{z||}|}{|{|{|{|||{{||{|||||{{|||{{{|{|}|}||{{}z|||{|{||}|||{|{{{{|{||||||||{{|{{{{{||||||||{{||{{{}|||||}}{|{{|||{||{{||||{{{{{|{{||{|||{|{z{yz|z{||{{{~~~~}}|}}}{}|}}||}{}|{{{{{z{|||||||}{{{z|z{{{{|||||{{|{zz{{{|z{|{|{{|{{zy{{zz{z{{||{{z{{{{zz|{|z{{{{{{{yz{||{z{{z{{{{zz{{{{z{{zz{{|{{z{|z{zzz{|{|||{|{{{zz{zy{{z{{{{|{z|zz{z{{{|{{||{z{{zz{{{zzzz{{|{{{{||y{{|{|{{|||z{{{z{{{|||{}|{{||{z{{{{|{{{|{|z{{{{{{{{|{{|{}{{{{{{{{{||{|{|{|{z{{{{{{|{||||{||{z{{{z{{{|{{{{{{{|{{{{{{{|{|}|{{{{{{{{{|{|}||||}{z{||{|||{}|||||{{{{|{{||||{}||{|{{{||z{||{|}||}|{|||{z{}|{{|}|{{{{{{|{|{{||||{{z|{{{{{|z||{}|}}{{{{z{{|{||}||||{{z{{{|{}|{|||{|{z{{{{z{{{||{{{{{{z{{{|{||{{~~~}}}||}||}}~}}}}|}}}{{{|{|{|{|}|||{{{||{z{{{||{z|||{{z{z{z{z|{|{||{zzy{{{z{|zz{{{|||{{zzz{{{|{{{z{{{{z{zz{{{{{{{|zzz{{z{yz{|{{{{{{{zzyzzzz{{|{|z{|z{{zz|zz{{{{{{{|zzz{zyzz{{{z{{|{{|zzz{{z{z{{{|{|{|{{z|{zz{{{{||{{{{z{zz|z{|{{|{{|z{{{z{zz{{{{{||{{{zz{{{{{{{{{|z{{{z{zz{{||{{|{|z{z{{{|z{|{|{{|z|{{z{{{||}||z{{|{{{z{{{{|{{||||||{|{z{|{||||{}||{{{{|{{z||||||||||{{|{{{{||||||||z{z||{{|{|{|||||{{|||{{|||||~}{|{{|{{{{{{{|||}||z|{{{{|{{|{|{|}|{{{{{|{||||{|{}||zz{{{z||{{|{|}{|{z{{zz{|{{|{|{{{{z{{zz{||{{~~~~}}|}}{||}|}}}}}}|||{{{|{||{{|{{}{{|}{zz{|||{{{|z}{{{z{{{{{|{{{||{z{zzz{z{{{{{||{zzz{{{{{{{{z{||{{zzz{{zz{{{{||{{zzzzz{zz{{||{{{|{y{{zzz{{{{{{|{|{{{{zzzz{{|{{{{|{yz{zy{yz{{|{{|{z{{zzzz{|z{|{|||{z{{zz|z{|{|{|||{{y{{zzz{{||z{|}{z{{{z|{{{{z|{|{{z{{{{{{|{{{|}||{{{{{y{{{||{{{|{{{{z{zz{|{{{{{|{{{z|z{{{{{{{{{{z{{z{{{{||{|{}|}||z{{||{{|||{||}}{{||{|{z|{|{}||{|{{z{z{z|}|{z{}||z{{|{{{|||||||||{{{{{{{||||}|||{{{{{{{|||||||{||{z|{{z{|{|||{}||{{{|{{{z{||{{||{{{z{{{{|||{{||||{|{{{{{{|{{{{|||{{{z{{z|{|{{~}}}~|}{}}||||||}|}|{|{{||{{}|{}|||{|{z|{{{|||||||{|{zzz{{|||{||{|{{{{{{z{|{|{||{||{z{{zz{{|{{{z{{{z{z{z{{{{|z{{|z{zz{z{{{{{|{{|{|z{{{zzz{{{{{{{|{{zz|{{zz||{z{{{{{z{{zz{{{{{{|||{||{z{{z{{|{{|{|{{{{{{{{{{{{|{|{{{{z|z{{{||{z{|{|z{z{{{{{z{{|{{{{z{|{{{{z{|{{{|||z|zz{{{{||{{|{|z{{||{{{|||}{z||{{{zz|z|{{||{|||{{|z{{{{|{|{{|||{z{z{{|||{{|||||{z{|{{{z{{|||{}||z{{{{||{||}||||{|{{||{|{|||||||}{{{|{{z{}|}|~||||||{z|||||{{||||{|{{|{||{{{}{|}|{z{{{z{{{{{||{}|{{zzz{{|{|{{||||{z{z{{{|}|{{||{|z|{y{|{|||z{~~~~~|}|||}}}}}|}}||}|}{{{||||{|||{|{|{||{z|{|{{|{|{{|{{z{z|{{|||{{{|{{{{z{zz{}|{|||z{{zz{z{{}{||{{|{{{{z{z{{{z{|||{{zzzz{z{zzz{{{{||{zz{{{|{{{|{{{{{{{z{z|{{|{z{{{|{|z{{y{|{{{{{{|||z{z{{z{zz|{{z{|{z{{{|{{z|||||z{|{{z{|y|{{|{{{{{|{{{{zz|{{{|{{||{|{{|{{z{{{|}||||z|{{{{zz{||{|||{|{{{z{|{|||{{{||{z{{z{{{{{|{||||{{z{|z{z{|{{}|||{|{{z|{z{|{|{|||{|{{{{y|||{||{|||{{{{{|{|}}||||||{|{z{||{{|{||||||{{{||}{||{||||||{{{{||||{|{|}{|z{{z{|||{|{{|{|{z{z{|{{||}||||}|{{{{{{{{||{||||{zz{|{{{{|{|}|{{|z{{{z{{||}{{}~}}}}|||}}}|||}}~}||z{z|{|||{|{|{{z{{{{{{||}|{|||{|{{z{{{z{{{{|{|{|{{{|{zz||{{||{{{{{{z{{{{|z{{{{{z{{zz{z{z{{{{||y{{y{z{|{||{{{{{{z{{zz{{{{z{|{{|{{{zz{|z|{|{{{}|{z{{{{z{{{{||{{{{{{{z{z{z{{{{|{{{{{{{{{{||{z||||{z{{{{{{{||{||{{{{{{{{{{{{{{|{{|{{{{{{z||{|||{|{{{{{{{{z{||{|}|{z{{z{z{z|||}|{{{{{{{{{|{|||{|{||{||{{{|{|||}}||}{|{{{z{{||{}{|||z{{{{{{{|{||||{|}z{z|{|{|||{}|{|{{}{{||||||}{}|}|{|{{{{|||}||{|||z||{{{|||||||}||{{{{{{||{|{}||||{{||{{{{|{{{|||{{{{{{{{{{{|}|{|{|{{|{{{{||{{{{|{{{z{{{{{{}||~~~~~~}~|}||||}}}}}}}}||||{{{{|}{||}|||{{{|{{{|{||{||||{{zz{{{|{||{|{{{zz{{{|{{|||{{||{{{{{{z{{{{{z||{{{zz{{{{{{{{{{||zzz{{{{{{|{{||{{{{{|zyzz{{{||{{|{z{{{zzzz{{{{{}|zz{{zz{z|zz{|{||}|z|{{zzz|{||{|{|{{{{zz{|z||{|{|{{{y{{z{{||{{}||z{{{{{{|||{{|{||{z{|zzz{||{||{|}{z|{|{{|{{z{{||{{z{z{z{{|{||||||{{{{|z{z|{|z||{|{{{{}{{{||}||}||{{|{{{{{|{|}{|||{{z|{{{{|||||}||||z{{|{{{|||||||{||||||{{||{|||}{{{{||||{}}}|{{||{{|{{|{|||||||||{{{{{|{|||{||||||{||{|{}}|{{|{|{|{z{|{{{||{||||{{zz{{|{||{{{|{{{{|{zzz{{||{{~}~~~|}||}}|}}}}}}}}|{{|{|{{|{{{|||||{{{|{{|{||{{|||{{z{yz{z{{||{|{|{{{zz{{{{{zzz||{{{{{{{{{{{|{{{{|{{{zzzz{{{|{|{|{zz{{{yzz{{|{{z||{{{{z{y{{{||{|{}y{||zz{{|{||{|{{{|z{{zzz{{{{{z{{{z{zzz{z{|{|||||{z{{{{{z{{{||{||zz{{|y{{{|{{|||{{{{{{{{{|{|{|{{}z|{{z|{z{|{{||{||{{z{z{{||{|{|{|{|{{{{{||}{||{|{|{z{zzz{{|{|z||{{z{{{{{z{{{|{|{||{|{|{{{z{|||}|}|z{{{{{{}{||}{|||{{|{{{{{|||||}|||{{{||{|||||||}||{|{{|{{}|||}}}|{|{{{{|||||{|||{{{{||{|{||}|{|||zz{|z{||{||||||{|{{{{|{||||}|{||{{|z{{|{{{||{|}{z{z|{|z|||{|~~}~}~}|}{}||||}|~||}|{|{{{|{|||||||{|}{{{{{|{{|||{{|||{{|{|{{|{|{{{{|{zz{z{|{{|zz|{{|{{zz{{{{{|{{|{{{|z{z{z{{{{{|{|||{{zz{zz{y{{{{{|z{{z{z{z{{{{|{||{{{{{z{{{{{{|}z{|{{{{zy{{|{{{{|{|{|z{{|{z{{{{{|||{{{{{|zzz{{|{{{}|{{zz{zz{{|{{{{{{z|z{|{{|z||}z||z{{{{yzz|{|{{||||{zzzz{{{{||{||{{{zzzz{|{{||{||{{{z{{z{z|||{||||{z{{{{{{{||{||||{{{{{{{{||z|{||||{z{{{|z|||{||}{{z{|{{|{||{{{|}||{{{|{{{||{}|||{|{{z{|||{~|||||{{{|{{{{{|}|||||}|{{|{|{{|||}|||}||{||||{||||{|||z||{|{|z{{|{||||{|{z{{|z|{||||{||{{z{z|z{{{|{}~~~~}}}}}|}}{}||}}|}|}}{}{||{{{|{|{|{|{z{{z{{{{|{|{||{|{{z{yz{{{{|{{{|{{{{|z{{z{|zz{z{{{{z{z{{{z{z{}{|{zzz{{z{{{{{{||{zzz{zzzz{{{{{{{{{zz{{|z{z{{||{|zzz{{z{{{z|{{z|||{{{z{{zz{{zz{{{{z{{{zzzzzz{{|{|}z{{z{{{zz{{{{|{|{{{|z{{{{|z{{{{|{z{zzz|{{{{z{|{|{{zz{{{{{||{|{||{{|{{{{zz|{{{|||{zz{y{{z{{||{{{|{{zzzz{|z{{{{{{|{z{z{{z{{{|}||{{z{{{|{|||{|{||}|{{{|{|{|||{{{{}{zz{zz{{{{|{{{{}{z{z{{|{{{{|{|}||z{{z{|{{{||||||||{||{{{{z||||||||{{{z|{{|{z|{||}|{{|{{z{||||||||{{{z{z{{{|{{||}|z{z|{z{z{|||{{||{{{zzz{z{||{{~~~~~~~}}||}}|{}}|}}}~}||{{z|{{|{}|}{}|||{|{{{|{|{|||||{|{{{{{z|||{|{|||{||z{{{z||z||||{{{zz{{zz|{{z{|{{{{z{{|{{{z{{|{|{yz{{z{z{{|zz||z|zz{z{z{z{{|{{z{z{y|z{z{{{{|{{{|{{z|{{zz{{z{|||{{{{{zz{{{{{{|{z|{{zz{{{{{|{||{{}zz{z{z{{{{{{{{}{{{z{zz{{|{|{||{{z|zz|z{z{}{{{z{{{{|{zz{{|}{{{||{|{{{{{|{|||||||{{{{z{|{{|{|{{||||{|{{{|{{{}{|}{{{z{{|{|{||{|{|{|{{{z|{zz{}||{{}||z{{{{{|||z||}}|{|{{{{||{||{||}||{{{{{{{|||}}}|||{z|z{||{|||{|}{{{{{|{{z|||{|||||{||}{{|||}||{||{|{{{{||{|||||}{|{{|{{{{{|{|}{|}{{|{z{{{{||{{}~~~~~~~~}}|~}||||||}}}|||||{{|||||{|{||||{z{{z{zz{{||z{|{|{{zz{zz{{|{{{{|{z{z|{{{zz{{|{{{z{z{{zz{z{|{|{z|{{{zz{{{z{z{{|{}{{z{{zz{{{{{|{{}zyz{z{zz{{{z{{{{zz{zzz{z{{{{z{{{{{{zzz{zy{zz{z{{{zz{z{zzz|{zz{{{{{z{{{{{{{{|{|{{|zz{z{z{z{{{|{{|{zzz{zz{{{{{{|{{{{{{z{zz{||||{{{{z{{{zzz{|||{{{{{z{z{|z{|{}{{{|{z{{{z{z{|{|}{|{|{z{z||{|{|||||||z{{z|{{{{|||||{{{{{|{{z{{{{|}{}|{zz{z{z{}||z|{||||{{z{|{||||z|{|||{{|{{z||{{}|}|{||{{{z{||{||}}|}{|{{{{{||{{||}||{{{{{{{{{{|{{||{{{{{{{z{{{{{||||z{z{{|z{{||||{}{{{y|{{z|||{z~~~~~}~~}}|||{}|}}|||||||{|||}|z{{|z|{|{||z{{zz{{{{|||{{|zzzz{{{|{|{|{||{z{|zz|z{{|z{|{|{zz{{{z{z{|{{{{{|y{zzzzz|{{{{{z|{{zzzz{z{z{|{{{zzz{{zz{{z{{{{|{{zz|{z{z{{|{}{{{{z{{z{{zz{{{{{{{z{{zz{zz{z{{z{||{{zz{{|{zz|{{{|||{z{{|zzz||{{|||{z{{zz{zz{|{||{||{z{{{{{{{|{{{{}|z{z{zz{{{{|{||{{z{zz{{z{{||{{{|{z|{{{zzz{{{{{|{||{zz{{{z{{|||{|{z{{z{z|z{{{{{||||{{|{{{{|||{|{|{{{|{|{{{|{|{|||}|{|zz}|{{{{||||||||{|{{|{}|{{||{{{{{|{{{||}|||||}z{{{{{{||{|||||{|{{{{|||{|{||{}z{|{{|z{|||{{{||{{{{{{{{{||||{||{{|{|{{{{|{|{~~~~}~~~~|}~|||{||}|||~}|||||}|{{{|{}{{|{{|{{{{{{{{{|{{|}{{zy{{{z{||{|{|||zzz{y{{{{|{{|{{{{{z{{zz|||z{|{{{{z{zz{{z{z{||{|zz{zzzz{{{|z{{{z|z{zz{zy{{{{{{|{{{{{z{z{{{|||z|{{zzzzzzzzz{{{{||zz{z{z{zz{|zz|{{{y{y{zzz{{z|{{|z{{{{{{zz{z{z{|{{z{{z{y{z{z|{|{||{z{{{{{{|{{{{||{{{{{{z{{||{{||||{{|zzz{{{{{|{||{{{z{z{{z||{{{|{|{|{{{{||{|{|||||{{{{{{|{{{||||||{z{|{{zz}{{||{||{{zz{{{{||||{|{|{{|{{|{{|{{|||||{{{{zz{|||||}|}|{{{|{{{{|||{|||{{y|yz{|{{{{||||}|{{{{{z{{||||{}{|z{z{{{{{|{{|}||{|{{{z{{{{{|{{||{{{z{{{|{{{||~~~}~}}}}|~||{|}|||}||}~}}{{{z|{{{||{||{||{z{{{{{|{|{{|||{{{z{{z{{|z{||{{{z|zz{{z{{{|{{|{{z|z{y{y{{{z{{{{{{{{{z{z{z{z{{{{z{{zz{{z|z{{z{{{z{{yzzz{{{{{}|{|yz{z{z{z{z{{{|{|{z{|zzzz{{|z{|{{|{{{zzzzz|{|{|{{{z{{zz{{{||{{{||{{{z{zz{{{z{{|{|z{{{zzz{|{|{{{||{z{||{{z|||||{||{{{{{{{z{{{{||||{{{zz|{{{}||{{|{{{z{|{zz|{{{z{|{|{|{{{z{z|||{}{|z{|z{{{{||z{{{}|||{{{{z{||{{}{{{{{|z|{{z||{{{{||z{{|{|{{{|||||{|}{|{{{{{|~{||||||{{{{{{{{||||||||{|{{|z{z{{|||{||{{}{{{||{{}{{{|{|{{{{|{{{||z||||{{z|z|{||||{{{|{{{{|{zz{{||{}~~~~}~~}}}|||}{}|}|~}|}}}{|||z||||{|{{||{|{z{{z{{{{{||{{|{{{|zzzz{{{|{|{|zz{zzz{zy{{{{||{{{{{zz{z|{||{{{|zz{{{{zz{{{{{|{|{z{{zz{z{|||{{{{{{|{z{zz{{{{{{{{|zz{zz{{z|{||{||{{z{z{{{{||z{|||zz{{z{z{{{{{z|{{{zzz{z{z{z{|{{||{{{zzzzz||{{{|{}z{zz{zz{{{{{|}||z{|{z{zz|||{||||{{|{|z{z{{{{||{{|{{zz{{{{{|{{||{|{y{{z{{{||{{{{{{{{{z{{{{||}||{|{{{{{z{||}{{||{||{{|{{{{|{{{{}}||{{{|{z|{|||{}|||{{{|||{|{{|{{|||{{|z|{{||}}|}}||{|||{{{|||||}|||{{{||z|{{||||}|}|{{||{|||}||{|{{{|{{|{{{|||{||||{z{{{{{|||{|||{{{|{|y{z|||{|~~~~~~}}}~~|}||}|||~}|z}}}}|{|{{{{||||{|||||{{{zz|{|||}|{||{{{{{|z{{{{{z{|{zy{{{z{z{{{{zz|{|{{{{zz{{||{|||||{{{z{zz|{z{{{||{{zzzzzz|{|{{}|||z{z{yzz|{{{|{|}zz{{zyz{{{z|{{|y|{z{zz{z|{}z{||{{{{{zz{z|{z{{|{{{z{z{{z{{{{{{|{|{{{|{zz{z|{{||{}{{|{zz|{{{|{|||{{zz|{z{z{{||{{|{|{{{zz{|z|{|}|{{{zz{{zzz{{{{{}|z{{{|{{{{||{{{||{||{{{{z|||||{}|{|{|{{{z{||z|{|||{{|||{z{{||{||}|||{|{{|{||||{|||{{{z||{|||||}}|}|{{|{z}{|||}|||}|{|{{{|{||}}|{|||||{z{|{z}||||}|||{{{{{{||||||{|{{|{|{z|{||{{||}{|z{z||{|{{}{|}|{{{zz{z{||}}{}}}~}|~}}~}|}||}z{}|}|{||~}|{|{{}z{||}||}}}|{|{{z{{|{{|{||{|z{|{z{{|{{{{{z{{zz{z{z{{{|z|||{zz{z{{z{{{{{{{{{{{zz{{z{{{|||{{|{{{zzzz{{{z{{|{{{zzz{{zz|||z||||z{{z{{zz{||z{{{|{{{{{{zz{|z{{z{{{{{y{z{z{{{|{{{|{{z{z{z{{{||{{{|{z{z{z{z{|{{|}z{{z|{{{z||{||{{}|{z{{{{z{{{|{|||z{{{z{z{zz||{||{||zz{yz{{|||||{||{z{{{z{{|}||{||{|{{|{{{{||{|||}|{z{z||}z{|{||{||{{{{|{{{{||{||}{|{{{|{{|{||{||||{|{{{{}{{{|{||||}{{|{|{{{}||||||{{z{|{{{|||||{|{{{{{|{{{{{}|{|||{{|||{{{|||}}|||{{{{{{{z{|||||}|{{{{{{z{||||{{||{{{{{|{{{}|||~~}~|}|}~}}}||{||||{||||}||}|{|{{||{|{|{|}|}{z|{{zz{{{{}{{|{{|{z{{{{|{|{{{{{{{{{||{z{{||{|{||{{{{zz{{{{z{{{{{yzyzzzz{{{{{{{|{z{z{z{z{|{|z||{{{z{z{z{{{|{|||{{{{zzzz{||{|||||{z{{|{z{{|{z{{{{z{zzzz{{{|z{z{{{{{z{zz{{|{{{{{{|{{{zz{zz|{|{|{|{{{{zz{z{|{{|{|}|z{{|{z|{{{||{|{|{|{z{{{{{|{{{|||{{|zz{{{|{|{|{|{z{{||{zz||z{|{{{|z{{z{{|||||{}|}{{{{{||{||{}|||||{{{{|{z{{|||}|z|z{z|{{{{|{{||||{{{{{{{{{}||||{||{z{|||{{||||{|||{{{{z{|||||||{{|z}{z{{|{|{{|{}}|{{{{{{{||{|{}{||{{z{{{{{||||||||{{{|{zz||{{|||}{{|z{{{z{|{|{~~~}}|}|~}|}~}}|}{}|{||}|{}}}}}|{{z|{{|{||{||||{{{{{{z{{|||||{||{|{{z{z{||{{{{|z{{zzz{{{|zz{{{|{{z{z{{{|||{{{{{zzzzz{{{{z{|z{{{{{y{zz{{{{|{{{|{{|z{z{z{{|{|}{{{z{|z{{|{{|||z{{|{zzzz{{{z{{zz{{{{{zzz{{|z{{{{|||z{{{z{{{{{{{{{|||{z{{{{z{||{{|{|{z{{zz{{|{{|{{||{{|{{{{{{{||{{{|{{|{{z{{||||{|||{{zzz{{{|{|{{{{{{{{|{{{z|}|||||||{|{{{{{z{{|||{{z{{{{{z||{{{z{|}{{{|z{z{{||||||{}{{{{z|{}}{{|{|}{{z{||{{|||||||}{z{{{{{{z}}}||}|||{|{{{{{|{|{|||}{|{{z|{||z{||}|||{{{{{{|{{|||}|||{{z{{z{||||{|{|||z{{{z{{||{{|{{|{zzy{z{||||~}}}~}}~~~|}~||{|{{|{}|||}|}}{||{{{|||||{|}|{{{||{z||{|||{z{{|{{{{{z{{z|{{{{||{{z{z{{y{|{{||{{|{{{{z{{{{z{{{{|{{z|{{z|{{{{{{|z{{{z{zz{{{{{{{|z{|{z{{zz{|{|{{|{{{zz{zz|{{||{|{{z{{{{zzz{{{|z{|{{zz{z{zz|{{{{||zz{{{zz{{{{||{{|{z{z{z{{{{|{{{{|{{{{{|{{{{{{{|{|{|{{{z{z{{|{}{|}|{{|{z{z||{{|{||{z{{z|{z{{{|{|}|{z|z{{{{{||{{|||{{{{{|{z|||{{}||{z|z{{{{||||{{||{{{{{{z{{{|{}|||{{{z{z|{{}||||}||{{{{{{||}||||||||{{{||||||}||||{|{|{{{{{|||||||{{z{{{{{z}|||||||{{{{|{|||{{|||}{|{z{{{{{|{{{{|||{zzz{z{||z{{||{{{{{z|{{|||{|~~}~~}}~}}~}||}~|||z{}|{|}|}||}}|{{z{|zz||{{|{}||z||{zy{|{|||{{{|||zz{{z{|{|{|{|{z{|z{{z|{{{{{{|{{zzzz{{{z{{{{{{{z{zzz{z{{z|{||}{z{z{{{z|||{{{|{{{z{z{zz{{{{z{|{z{zy{{z|z{{{{{{{{{zz{zz{|{|{zz{{{{{{zz{z{|{{|{|{zzzy{{{{||{||||{|{{zz{{{{{||{{||{{zz{z|{z{zz|{||{{{{z{{z{{{{{|||z{{{|zzz|{{||}{{{z{{z{{z{{|{{{|z{|{{{{{{{||{{{{|{{z{{{{z{||{|{||{{{{{||||||||{}||{{||{z{{{{{{||{|z||{{{{{}|||{||{zz{|z{{|||{||{||{{{||z{{|}||{}}||{||{{{|||||}|{|{{|{{{{{|||{|||||{z{|{{|{|||}||{|{{{{{zz|{||||}{{{{{{|{||{|{||{{z{{|{{{|||{{~}}~~|}|||}}~}}||}||||z{{|||}{|}|~{|{{{|{{|||z{||{|{|{{{z{{{{{{{}{{{z{{z{zzz{|{{{{{{{zzzzz{{z{{|||z{{zzzzz{{{z{{{z{zzzzzzzzz{{z{z|{z{{zzz{z{{{{z|{zzz{{z{{{{{{{||{zz{zy{zzz|z{{|{|zzyzzzzy{{zz{{{{z{zz{z{y{{{{|{|{z{{z{{{{{{{{{|{{{zz{{z{{{{||{z{|zzz{zz{{{zz|{{{z{zz{{{zz|{|||||z{{{{|{{z{|{{{{{|zz{{y{z{|{||{||||{|{|{z{{|{{z}{{|{{|yzz|{||||{{{{{{{}z|{{{{|{||{{z{{{{zz|{{||{|{|z{{{z{{|||||||}{{{{z{||{||{{||||{{{{|{z|||{|||{|{{{z{{{{{|{{||{|zz{{z{z{||{|{||{{{{|{{{{|{|||||{{{z{z{{{||||||{{|z|{z{zz||}{{|{|{{{zzz|{{{{z~}~}~~}}~|}}~}~~}~}||||{{|}{||}|}|||{z{{{||{|{|{}|{{{{{{}{{{}{|{||{{zzzz{{{{z{{|||zz{z{z{y{}|{{||{{{{z{{zy{z{{{|{{z{{zz{zy{{{{{|{{z{{zz{{{{{{{|{|{{{z{z{zzz{{{{{{|{|zzy{{z|zz|{z||{{{{{z{zz|{z{|{||zyzz{{zz{z|{{||{{{z{z{y{|{|{|||{z{{{zz{z{|{{{{||{{{{{{||{{{{{|||z{z{z{{{{|{|||{{{zz|z{zz}||{|{|{z{{{{zz|{{|z||{{zz{{z{{|||{{||||z{|{{{{|||{|||{{{{{|{|{{|{|{||{{|{{{z{{|{|||{||{{{{{||{{{|{|}|}{|{{{|{{{|{|||}{||}|z{{{{|z|}}|||{{|{{{||{||||{{|{z{|{{|{{{|{|}||{{{{{||{{||||}|{{{{{{{{{{z{||}{||{{{{z{||||{||{{||zz{{{|{{|{~~~~|}||}~}|}|}|}|{|||{||}|}|||}||{{{|{{{||{{{||{{{{zzz{{{{|{||{{{|z{z{{z{{|{|{|{{{{|{z{z|{|z{|{{{{{{zz{z|{{{{{|zz{z{{{zzz{|{{{{z{{{{{{zz{{{{z{{zzz{z{z{{{{||{}|{z{{zzz{z{{z{||{{{{z{{zz{{|{{{{|z{z{y{zzzz{{{{{{{{{z{zz{{{|{z||||z{zzz{z|{z||{z||z{{{y{{{{{{{|||zzy|{zz{|{{|{{{|{{|{{y{{{{|{|||{{z{z{zz{z{{{{{||{{z{{{z{{{|{|{|z{{|{{zz||{||||||{|z|{{{{{{|||||}{{{{{zzz|||{}|||{zz{{{{{{{}{|{|}{{{|{||{|{{||||||{{{{{{|{||z|}|}|{|{{{|z||{||}||}z{|{{{{{{{||{|||{z|{{{{|{{{}|}{{{{{{{{{z{{{|{{|{{{{{{z{{|{{|||{zz{{{zzz{{{|{~}~~}}~}}~|}}}}}}}}|}}|{||}}{}}||||{||||{{{{|}|||||{|{|{{z||{||{{|{{{{{zzz|{|{||{|{{|{{{{{|{||||{||{z{||{{{||{{||{{zzz{zz{{{{{{|{|z{{z{zzz|{z||{||{{{zz{zz{||{|{{||{{|z{{z|{{{{{{{{{z{z{{z{||{z{{|{{|{z{{zz{{{{||{{|z{{{z{z{{{|{||{|{{yz{{|{||{{{|{z{{zz{{{{{{|||{{|{{{|{|{}||{{{|{z|{{z{z{||||{{{{{|{z{zz{{||{{||{|z|{{{z||||{||||||z{{z{||{||||{{{{{||{|||{||{||{{{{{z{||||||}|{{z{|{{{{{|}|||}||{{||||||||{|}{}|{||{|{|||||{|}}|{|{|z|{{|||{}}|}{|{{{||||||}||||{||{{z{}||{{|||{||{{{{z{|||||}{{zz{{{{{{{{|{{|{{z|zzz{z{{{{|~~}~~~|{}}|}}~~}}}||{{z{||}|}{}}{}|{|{z||{{{{{|}}|}{{|{{{z{|}||{|{{{z{{z{{{|||{|{|{z{{z{{{|{{{{{{{|{{{{{{{{{{{{|{{zzzy{|{{z|{|{|{{zzz{zz{{{|{|z{{{zzz{z{{{|||||||{{{z{{{z{{|z|{|||z{z{{z{zz{|zz{{|{z{yyzz{|{{{{|{|{{{{{{zz{{||{|||{{{z{zzz||||{|||z{{{zz|{|{}{|{{|{{{{{{{|z|{||{{|||{z{z{{{{||||{|{{|{z{{|{{{{|{|{{{{{{{{z{{|{{|{|{{{z{{{|{{{}}}{|{{z{|{{|||{|{{||{{|{{z{z||||||||{{{|{z||}}|}|{|||||{{||||||}}}|{{{{|{{{|{}||}}}|{{|{|||{}||||{|}{{{{|z{{|||{}|||}|{{|{{z|}||||||z{{z{||y|{{|||}||{{{{z{z{|||{{}{{{{{|{{z{{|||~~}}}~|||{|}~}}}}}||||||{|{}|||}|}|||z{{|{|{}||{|}|{{z{{zz{|||{{}{z{{z|z{z{{{||{||z{{{{z|{{{|{|{{{{{zzzzz{{{{{{{|{{z{z{zzz|{{{{{{{{{{{{{{{{|{{{{{{{z{{{{zz{{{{{|{{|{{zz{z{{{{|||{{{z{{zz{yy|{{{{z{z{{y{z{zz|z{z{|{zz{z{{{{{z{{{{}|{{{{{zzz{{{{||z|z{{z{z{{{|{{{|{|{z{z{zz{||{{||{|{{{z{{{{{{||z{{{||{||{zz|||{zz|{{{zz{{|{{|||{{||{{{z|{{{|||||||{{}{{{z{{{|{|||||{{{{{{{z{}|||||{|{{|z||{}}}{}|||||}z{||{|{{{{||}|{z{{{{{{}||{||{{{|{{{|{{{}}{|||{{{{{{{|z|{}}{||{|{{|{{|{|{||{||{{|{{|{{|{|{|{||||{zz|{z||~||{{{{{{zzzzz{|{||}~~}}|{|}}~|||}||}|}{}}|{{|{}{|}||||||{{{{|{|{|{|||z||{||z{{{||||{|{{z{{|{{||{z||||{{{z{zzz||z|{{{|{z{z|{{{z{{||{{||{z{{z{{{{}|||{{{{{z{{z{{z{{{|zz{{{{zz{{||{|||{|z{zz{{{z{{z{|{}{{z{|{z{{{{{{{{|{{{z{z{{z{{||||{{{z{z{zz{{{{{|{||zz{{z{{{{{{z{{{z{{z{z|z{|||{}{{{{{{z{{{|{||{||{{{{z|{{z{{{{{||{{{z{z{{{{||{{{|{{zz{{{{{{|{|{{|{}{{zz{{z{||{|||||zzz{{{{||{}||||zz{{{{{z~||||||{z{{{{{|z||||}|}|||{{{|{{||{|{|{}|{|{|{{{||{|||{|{{|{{z|{|||||||{|{{{{{|{||{{{}||{{|{|z|{{||||{|}||{{{{|z{|{|{|{||{{{|zzz{{||||}|{{}z{{zz{{|{|~~|}}|}}{{|}}|}}||}{||{{{{|||{|{|||{{{{{{{{|{|{|||{{{{{{{z{|{{{|{{|z{|zz{z{}{{{||{{zzzzzzz{|{{{|{|{{{zzyzy{{|{z{|{{z{{{z{zzz{{{{{|z{{{{z|yz{z{{z||{zzzzzy{{{{{{{|{z{z{z{zz{||{{{{|{{zzyyz{{zz{{|{|{{zy{{zzz{|zz||{zz{z{{zz{{{{{{{|{{|z{z{z{|{z|z{||z{{zz{z||{{{{{}z{zz{zz{z|z{{{||{{{z{zzz|{{|{|{{{zz{{z{{|{|z{{{z{z{|{{z{{{z|z|{|{{{{{{zz{||{{|{|{z{z{z{z{{z|{{||{{{{{zz{{|{{|{}{{z{{{{{z|{{{|{{|||{{{{{{{||{}|{}{{{|{|z{{}|||{~{{{}|z{|||||{||||||{{|{{|{|{|||{|||{{{|{{|{{||{{||{{z{{z{{{|||||{{zz{{{{|{|{|{{|{{z{z{z{{||{{||}}}||}}{|{|}~|}}}|{|z|{z{{||||{|}}|{{{{z{{|{||{{||{z{{{zzz{{|{{{||{{{zz{{z{{||{{{|{z{zz{{zz|z{{{|{zzzz{z{{{{{zz{{z{zzzz{zz{{z{{{{{{z{y{zzz{{z{z{{zz{zzzzzz{{z{{{|{{zzzyzzyz{{|{{{z|zz{z{zzz{{zzzz{|{{z{zyzzzz{{||{{z{{{zzy{{{{{||||{{{zzz{{{{{z{|{z{z{{z|{zz{{{||{{{z{{{z{{||z{z|{{{zz{zz{{|||{||{{z{z{|{z{|{|{{{{{{{{{{z{{||{{z{|{{{{{y{{z{|||{{|{{{z{z|{|{|||{||{z{|{z{z}||||||{{z{{{{z{{||{z{||{{{{{z}{{{{||||}|{z{{{{z||{{|||||{{{|{{{|||}{{{|{{{{|z{||z{|{|||{|{{|{{{{|{|{{||{{{z|{{{|{|{{||{{z{z{{|z{{|{z{||{{zzz{yz{{{{|}}~}}|||||}|}|}}||{||{|{{|{||||{}||{{z{{z{{{{||}|{{{{z{z{{{{||{||{|{{zz{zz{z{{{{{|{zzzzzz{{zzzz{{{{z{z{{{z{{{{{{z{z{{zzz{z{z{{{{{|zz{{zzzyz{{z{|{{zzzzyzzz{z|{|{||{z{{zzzz{{{||{{{zz{yzzzzz{zz{{||{{{{{{{zz{{{{|{{{z{z{{{{{z{||{|{{y{zzz{{zz{|z{{{z{zz{z|{{{||{|{{|z{{{{{{{z|{{{{{z{{yz{{z{||{z{{z{{{zz{zz{{|{zz||{{z{z|z{{|{{{{{||z{z{{{{|||{{{||{|{{{{zz{{{}{|||{{z{|{{{||{||{{{|{|{z{{{{||{{||{{{{{|{|{{||||||{|{z|z||z{||{||||{{{|{{{{|{|{||{{|{{{{z|{||||||{|{{z{z{{{{{z{||}}{zz{zz{{z{{{{{|{|{zz{z{{z{{{{|||{{zz{{{z|{z{{}|~}||||||}|~|}{||}{z|{{{|{{|{{||||||{{z|{{|{{|{{{{z{z|}{z{{{||{{||z{z{zzzzz|{{|}{|{{zz{{{{z{zz{|{{{z{zz{y{{{{z{{{{{{zzzz{{zzz{z{|{zzz{zzzzzz|zz{|{{zzzyzzzzzzzz{{{{z{z{yzy{{z{|{{|zzzzz{{z{z|{{{||{z{zzz{{zz{{{{{{z{|z{{z{{{||z{{{{{{y{z{z{{{|{z{|{{{{{z{{|{z{||z|z{|{{{{{{{{{{{|}|z|zzz{z{{|{{|{||zz{{zz|{{{|z{|||zz{{z{z||||{|{|{{z{{{{{{{{{|||{{zzz{|{{||||||{|{{{{{{zz{|{{z{{{|{{{||z{|||||{||{|{{z||{|{{{{|{||zz{z{{z}{{|{|||{z{|zz{{||{{{|{|{{{{zz{|{{{{|||||{|{z{{||{{{||{|{{{{{y{{|{{{|{}|z{z|z{{z{||||{||z{{{{z{z{{|{{}~}|}{||{|{}}~||}||{{{{|{{{|{{{|}}||{z{z{{{{{{{|||{|{z{z{y{{|{|{z{{{{{{{zz{{zz{|{{||zzyz{{{z{{{z{|{{z{{zzzz{z{{z{{{zyzzzzzy{{{{z{|{zy{zzyzz{{{{{{{z{z{zzzzz{{{{{{{{zz{z{zzz{{{{{{{|{{zzzz{y{{{{{{z{{{z{zzz{z{z{{{{{{z{{{z{z{|{z|{{{{{{{zzzz{{|{{{{|{{zzzzzz{z|z{z||z{{{zzz{|{||{|{{{{{zz{{{{{||{{|{{{zzz{{y|||z|{{{{{{{{{{z{|{{{{}{{{{{{z{{{||{||{|z|{{z{{{}|{{{}|{{{{{{{z{{|{{}{|{|{{{{zz{{||{||||{{z{||||z{|z{|||}{{{z{{{{|{|||}|{{{|{z{{|}|{|{|{{{{{{|{z|{|||||||{{{z{zz{|{|{{}|z{{{{{{{{{{|{|{||{z{{z{z|||{{||{{zz{{z{{{{{{||~}|}{|||||||}|||}||||{}{{{{|{{|}}|{z|z|{{yz{{|{|{|{{{z{{z{{{||{|{{||zzz{{zzz{{{|||{{{z{{zz{|zz{{||{z{{{zzzz||{{{{{|zz{zzzz|{{{{{{z{zz{zzzzy||{{{|{|{{{zyzzz{{z{{|{zz|zz{z{{zz{|{|{{z{zz{zz{zzzyz{|z{z{{yzzz{zz{{{|{zy{|{yz{{z{|||{{z{{{z{z{|{{|{{|||z{{z{z{{{{{{{{zz{{yy{{{{|||{||{{|{{z{{zz||||{z{{z{z{zz||{{{{||{{{{{{zz{{{{{{||{{{|z{{{{{{|||||{{{{{{|{{|||{||||{z|{{z{{{{|||{||{{|{{{{||{{|{|{{{|{z{{{z|||}|{||||{{{||{||{||}||{z{z{{{}|||||||{{z{{{z|{{{|||}|{{{{{|{|{{{|{|||{{{{{z{{z|{|{{|||{{{z{{z|{{||{|||{{zzz{z{{{|{}}~||z}{}{|}}}{}}||}}{{{{{||||}|}||z{{{{{{{|{|{||{|{z|{{{z{{{||{|||{{{z{z{zz{{|{{{{|zzz{{zzz{{{|{|{{{zyzz{{|z|{{{|{|zzzzzzz{{|{{z||{zz{{z{{|{{{|{|{||zz{{{{{{{||{{{{zzzz{z{||{{|{{z{{{{{zzz{{{{zz{{{{{z{zzzz{{{{{{|z{{z{zzzz||{{{|{zzz{{{{{{{{|{{|{z{{{{{{z|{|{{{{|{{{zzz{z|{z|||{|{||{{{z{{{|{{||{{||{{zzz{|{{{{|{{z{|{{{z{|||{{{{|{{{|{{{z{{}||{}z{{{{|{||{{|{|||{{{{{zzz{{{{||{|}{z{{{{{||{{{|{|{|z|{{{{{{|||||||z{|{{|{{}||{|||}{{||{{{||{|{{|||{|{{z|{||{|}||||{{{{|z{||z|||{|{{{{{{{|{{|||{}|{{{{z{{{{|{{{{|{{{|z|{z{{|||{~}}|||{}|||}~}||}}|{|{{|{z{|}|||||}{|{{{{|zz{|||||||{{{{zz{{{||{{{{{{{z{z{{{|z{{|{||z{{{{|z{{{z{{{{zzz{{zzz{z{|{z{{{zzzyy{{{{z{{{{|z{z{{z{{{{{{{{{{{z{{z{yy{{|{{{{{{{zzz{zz{{{{{{|{zz{yzyzzz{zz{z{{{{zz{{z{zz{z{||{{zz{{{{z{||{{{{|{z{{{{{{{{{{{{{{zz{{zz{z}{{|{{{|zz{zzzz{|{{{{{}{z{{{{z{{z|||{|{{{{{zz{{z{{||{|{{{{{{{{z{z|{||||{{{z{{|{||{||{{|{zz{{{{||{{|||{||{{z{{z{{{||{}||||z{{{zz{||||}}}|z{{{z{{{{|{{{||{{{|{{|{{|}}|}{|{|{{|{|{{}{||||}{|{{{{}{z{{|{z{|{{{||||{|{|{|||{|||{z{{{|{{{||||}|{|{{{{{{|||||}{zz{z{z{|{{|{{}|}||||||||~}|}||}}||}{{{{|{}|{{}}|||{{{{{{||{{{||{{zz{zzz|{{|{|||{||{z{z{z|{{{z{{zzz{z|z{yz|{{{{|{{zzz|{z{{z|{{|{z{z{zzz{y|z{zz{||zzzyzzz{{||{{|{|{z{|{{{{|{|{{|{{{{z{z{zzz|{{{{||z{z{{zzyz{{{z|z|{zz{z{{zzz{yz|||z{{z{zzz{{||{{{|{{zzzz{z{{{{{{|||z|{yz{{{{|{|{z|z|{y{{{zz{|{{|{||{{{{z{||||{{||{{zzz{{{zz|{||{||{{{{{z{{{|{{{|{{{{|}{{z{||{}||{|z{{z||{z||{}||||{z{z|zzz{|{|{||{{{z{z|{{|||{}{}|{{{z{|||{|||{{|{|{||{{{{{}}|||}|{{{{{{{{||}}{|||{z|z{{|{|||{|{|||{{{{zz||||{{{|||{{{|{zz{}||{{||{{{{{{{{{|{|{{|{{{zzzzz{{{{|{}}~}}|{|{{{|}}|}}||}{{{|z{{{{z|||~}|{|z{{|z{{{|{{{|{|{{z{{{{||{z|{||{{zz{{zz{|||{z|{{|z{||{{z{{{{|{{z{{zz{zz||{{{z{{{z{z{{z|z{{{z|{|zz{|zz{z{||z{{{{zz{z{zz{|{{{{{||{{zzzzz{|z|z{||z{{z{z{z{{{{{||{{{{zz{zzz{{{{{||zz{{zz{{{{{{z|||z{z{{z{{|{|{{||||z{zz{{z{|{{{||{{{z|zzz{{{{{{||||{{{{z{z{z|{{{{|{{{{zz{z{{||{||{||zz|{y||||{|{{{{||{zz{{|{{}|{||z{{{{{{{||{|{|}{{{{{{{z{||||||||{{z{{z{{{}}{{}||z{{{{{{|||{{||{}{{|{{|{||~}|}{}||z||{{{|||}|||}|{{{{{{{{|z|}}|}|{{{{{{{{}|||{||}|{{{{zz{{{{||||}}{{{{{{{|}|||||||{{zzzz{{{{|{}}|}{{}{{{{{}|||{||||{{{{{{{{{|z|{{|{z{z{{y{{{|{|{|{{zzzzy{zz{{{{{{{{zyyz{z{{|{{|z|{{{z{zzz{{{zz{{z{{{{{z{{{|{{{{zzzz|}z{zz{zzz{{z|zz|zz{{z{{{{z||{zzzzz{z{z{{{|z{{{z{{yzzzz{||{z|{{zzzzzz{zz{{z{{{y{zzyzz{{{zz{{z{zz{z{{zz{{{{{{|{{zzz{{{{z{zz{{{{{{zzzzzz{{{z{|{|z|z{zz{|{{z{{|{|zz{zzy{z{|z|{||{{{{zz{z{|||||{z{{{z{zzz{{{|{z|{{z{{z{z|{z{}|z|{|zzz{z{{{||{{{|{|{{|zz{{{{{z{{{||||{z{{z{||{||z||z{|{{||||{z{|||||{{z{{{z{|||{||{{z|{{zz{{||}{{|}{{{{{{{|z|{{{{|||z{{zy{{{|{{{|||{zzz{z{{{{{{{|||{|zz{{zz{{{|zz{{zz{zy|{z{{{{{}|~||{|||{{|{}|}|}|z|{||{{{||{{{~||{{|{{z|{|{{{|{{|{zz{zz{yz{z{{{||{{zzz{{{{|{{{{|{z{{z{yyz{{{z{{{|{{{z{z{{{|{zz|{z{{zz{{zz||{|{|{|{{z{z{z{z{{|{{{{{{{{zz{zzz{|||{|{{{zzzyz{{{{{{{}zy{zzzzy{{{zz|z{z{z{{{z{z{{{{z{{{z{yz{{z{{{{{z||zz{zz{{{{{{{|||{zzz{{z{{{|{|{|{|{z{zz{z||{{{{||{{z{|z|{z{|||||||zz{z{zz{{{|{{{{{|{{z{zz{{|{||{{{{{{{{{{z{|{|||||{{{z{{{{{|{|||z|{|{|{{z{{||{{||{|z{z{z{{||{|||}{{{z{{{|{|||||}|||{|{{||{||}{|||}{z{{{z||{{|{{{||{{{z{|{||{{{||{{{||{{{{{{{{{|||}|{{z{|{{{{{{|||}|{{|z{{{{{{|{{|z{z{{|zzz||{z{}}}{||{}||{|}|||||||{|{{|{{{||||||||{{z{{{z{{{|||||{z{{{{z{z{{|{{|{{zzzz{{z{{{{|{z|z{z{zz{{{{{{{{{{|{{{{{z{{{{z{{{{{{{zz{{{{{z}{{{|{zz{{zzzz|{{{{{{z{z{z{{z{{{{|{{{{{zzzyz{z|{{{{{{{z{{zzzyz{zz{{{|{{{zzzz{||{|{{{{z{{zz|zz|{z{{||{|{{{zzz{{{{{{|{{{{zzzz{z{|{{z{{|{{{{{{z{{||{{||{{{{{{{{{{{|{|||{{{{{z{zz{}{{zz|{{zz{zzz{{|||{|||{{|z{|{{||{|{||{{{{{{{|{{||{|{{||{|{{z{z{{|{|{|{|{z|{z{|||{{||||{z{|{{|{{|{{}|||{{{{z|{{|||||{{||{{|{z{z{|}|{}{||z{{z{{{{{||{|{|{{{{{z{z{{{{{|{||{{|z{zz{|{{{|||{{{{yz{z{|{|{|{{zz{z{y{{{{|{{}|}{||{{|z|||{||}}|z|{|{{z{{||||||}|{z{{{{{{||{z|{{{{{{{z{z|{{{{{{{zz{zzzzzz{||y{|{|{z{|z{z{z|z{{{z{z{zzz{z|z{z{{{{{{zzz{y{{{{{{{{|z{zzzzzy|{{z{{{{{{{{zzy{{{|{{{{{z{{yz{zz{{{{|{{{{{{z{z{zz{{{{|zz{{yz|z{{z{zz{{z{{z{{{z{z{z{{{{{|{zz{zz{zz{{z{{z|{z{{z{yz{{{{{|{|zyzzzzzz|{zzzz|z{{{{zyzz||{{{|{{{{yz{z{{|{|{{||{{|z|{{z{{{||{{{{{{{{{z{z{{|}{|{|{{{z{{|{|{{{|||{{{z{zzz{{{|z|||{|z{{{|{{|{{|{|}{z{{{|{|{{||||||{zz{{z|||{|||||z||{{{{|{{|||{|||||{zz{zz{{{||||{||{|{{{{{||{|{||||z{zz{zz||{z|{{|{|{z{{{z{}{{{{|{z{zz{{{{|{|{|~|{z|{{{{|{{}||{||{z{{zzzz{{z{||||{|{{zz{{{zz|||||{{z{z{{yz{z|{z{|{{{{zzzzy{{{{{{{|zzzz|y{z{zzz{|{{{z{z{yz{zzzz{{{{zzzzz{yy{{{z{{{{zzzzyz{zz{{|{{{{z{zzz{yzz{yz{|{{{z{{y{{z{{zz{{{{{zz{zz{zy{{z{z{|z{{zzzzz{{zz|{|{zzz{yzzz{{{z|{|{{zzzzz{z{{|z{{{{{{{zz{zz{{{|{|||zzzyzzzz|z{{{{{{{{z{yz{z{{z||{{{z{zz{{{z{z{|z{{|zzz{z{z{{{{{{{||{{{{zz{|{{|{{z{{{zz{{{{{{{{|{{||{{z{|z{z{|||{|{|{z{{{zz{||{{||}|{{|{{{z{{z||{|||{{{{{zz{{|{|{}{{|z|{z{{z{{|{||||{z{{{{z|z|||{{||{z{{{z{{{{{{{{{|{{|zz{{{{{z{|||{|zzz{{zz{{{{{||{z{{zzzz{{{{|{}||{{{{|{{{{|{|z}}}|{{{{zz{||{|{|{{|z{zy{zz{|z|{||{{{{z{zz{{{}|z{{|z|{zyzzz{{{{{{{{{z{{{z{z{{{{{|{z{zzz{{z{{z|zz{{zzzz{z|{zz|{{{{{{zz{{{zzz{{{{zz{{{zzzy{yz{z|{zz{{zz{{zzyzz{z{{{{{z{z{zz{z{z{{|{{|{{yzzzzz{zz|z{zz|zyzz{{zz{{{{{|{|z{{zzzzzz|{{{||z{zz{z|{{{{|{|{|z{{{{{{{z|{{z|z|{z{{{zz{{{|z{{{{{y{{{{z{{{|{{|{{|{{{z{{{{{{{|{{{|{{z{{z{{{||{{|{{{z{|{{|{|{|{|||{{{|{z{z{{||{{||{{{{|z{z{||{|{|||z{{{z{z{{||}||||zz{{{|{{|{|{}||{{{z{{{{|{|||||||{{{{{{{{{{{|{}|{{{{|{{|{|||{{{|{{zz{z{z{{{|||||zz{{zzzyz|{|z{|{zyz|{z{z{{{{{}}||z|{{{||}{|||||{|{{|{{{z{|{|||{}{|{{{|{z{|{|}||||{{{{{z{{{|{{||{{{zzz{zz{{{|{{{{{{{zzz{z{|{z{||{{z{zz{{{{z|{{{{{{{{yzz|{|z{{{{{|{{{{zz{{z|{||{|{{|{{z{y{{{{|{{{|{z{{{zzz{z{z{{}z{zzzzzz{z{{z{|||{{{zzz{{z{{{{{|{{{{z{{zz||{|z|||{{z{z{{{z{{{|{|||{{|{zz{|{{||z||{{zzz{{{{{{{|||{|{z{{z{{z{z{{|{{|{{z{zz|{{|{z|||z{z{{zz{{{||{{{{{z{{|z{{{{|}{{||{|{|{{|{z}{|{||}{{z|z|z{{{|||||||{{z{{{{{}{||{|{{z{{z|{{{||{|}|||{{{z{|{{}|{|||{|{{|{{{{{|{||{{}{z|{{{{|{||{|{|}||z{{{{{||{}}|}|{{{{z|{{|{||{|{{|{|{y{{{{||{{{{z{{{{{{{z{{{|||||{|{|{{{|||||||{}{{{|{z{||{||{|{|{{{{{z{y|{|{{{{{{|{{yzzz{{{{{{}|z{zzz{zz|{{{{zz|zz{zzz{{{z{{{{{{{{z{z{y{{z{z{{|{{{z{z{z{{{z|{{{zz{zzz{{z{|z{{{{zz{{{z{y{z{|y|{|{|z{{{{{z{|{{z{||{{z{{zzz{{z{{{|{zzzzz{zzz{{zz|{{{{{zz|zz{{{{|{|{z{zzz{z{{{z{{z||{{{zz{zz{{{{{{|{{zz{{{z|{z{z{{||{{zz{z{z{|{{z{{{{z{z|zz{{{{{z{|{{{zzz{z{|||z{||||{{{|{{{||{}|{||z{{{{{{{{|{|{|{{{{z{{{{z{{|||{||{{zz{{z|{|}|{|||z{{z{|z{|{|{|{|{|{z||{z{{{||{||||{{{{yz{|{|}|||||{{{{z{{||{{|||}{{z{|{z|{|{|{||||{{z{{{{{{|{|{||{zz|zzz{|{||{{{{{{{{{{{z{{{{{||}||||{zz{||||{|{|{{z|z{{z||{|{{|}zz|{{{z|{zz{||{|{{{{zz{{{{z|{{{|{|{zzzz{|{{{{{|{zz{{yz{{{|{{{||{zzz{z{{zzzzyz||{{{|zz{zy{{{|y{{|z{{{zz{z{{{{||{z{zzz{zzz{{{{{z||{{{z{{z{{|{z{|{||z{zzy{zz{{z{|z{yz{{zzzz{|{{{{|{{z{{z{z{{z{{{{{|{{yz{{zz{{{{{{{{{{{{zy{zz{{||{|{z{zzz{z{{z|{{|||z{yz{z{{z{{|{{{z{{z{z{z{{|{|||{|{z{zy{{{{{{{||||{{z{|{zz{{{|||}{{||{{{z|{||}{|||{{{z{{z|{||{{|{||{{z{{z{|{|{{{||{{{{zz{{{||{|{|||{{{{{{z|||}|||||{{|{zz||z|}|}|}|z{{|{{{|||{||||||z{|{{|{{{{{|{{{|zzz{{{{{{{{||||{{{z{{zz|||{{||{z|z{z{z|||{|||{||{{||{||||||||}||{{{{{z{}|}|{|}{{z{z{zz{{z{|||{{{z{{{{{z{{{{{{|z{{zz{zz{{{{z{{{z{{{{zz{{{{||{|{z{zzzz{z{{{|z||{{|zzz{zzzz{{z|{{{zzzzz{{{{{{z{}z{zzzy{{z{|zz{{{{zz{{zzzz{{{z{{||{zy{|z{{z|{z||{{{{|{{z{zz{z|z|{{{{{zzz{zz|{z{{{{zzzz{z{yz|{z{|||{{z{{z{{|{z{{{{{{z|{{{{z{|{{{|{|z{z{{z{z{{||{|{{{{{zzzz{{{{|z{|{{{z{{{{{|{||{|{{{{{z{{z{{{||||||{|{{{{{|{|||{||{{{{{{{{{{||{||{||z{{{{|z|||{{|{{{{{{{{{{|{|{|{|}|{{{z|{{{|||||}||{{{{{{{|||}|||||{{{||{{|||{|||{||{{|{{{|{|{{||z{{|{zz{{|{{|}{||{{z{z{{{{{{{|{||{{{{{{z{z||{|||{{|{{|z{{{||{{||{z{z{{{{{||{}||{|{z{{{y{z{|{{|{||{{{{zzzzz|{zz|}|{{{zzzzz|{||{|{|zz{z{{{z{{|z{||{z{z{{{z{{{{{{{{{{{{zz{z{|{{{{z{zz{zyzz{{{{{{{z{{zzyzz{zz{|z{{z{|z{zz{z|zz||z|zz{{z{z{y{z|z{z{{{|z{zzz{zz{{{{{{z{zz{zz{zz{{{{{{{|{{zz{{{zz|zz{{{|{{{{zz{z{{{{{{z{{z{{zz|{z{{||z{{z{{z{zz{{{|||}{|{{{zzz{{|z|{{{|z{zz{zz{{{{|{{{{|||{{{{zz{{{|{|{||{|{{{z|{|z|{|||{z|{|{{|{|{{{{|||z{z{{|z|}||||||{z{{{z{{||{{||||{{z{{z{z{||||}}{{{|{z|z{{{{||||||{{{{{{{{|{||{|{|{z{|z{z|z{|{{||{{{y{{y|{{{|{{|{|{z{zzzz{|{|{{||{z{yzzz{|{{{{}{|{{{{{{{{{|{||||{{{{|{z{{|{||}|||{{{y{{z{|||{|||{|{z{{{zzz{{{{z{{{{zzz{zz{{|{{}z{{zzz{z{{z|{{z{z|z{yz{zz{z{{{{||z{{{zz{{z{{{|{|z{{zzz{zz{{z{zz{{{{z{zz{zz{z|zz{{{|{z{{{z{{{z{{z{{{z{z{zzzz{z{{{{{{zzzyz{zz{z{{||{zzz{{zzz{{{{{{{}{{{z{|{z{{{{|{{|zz{z{{{z{{|||{|{{z{{zzzz{||{{{{{zz{z{{|{{|{{{{{}{{{{{{z{{{|{|{|{{{{z{z{z||z{{||{{zz{{{{{||||{{||{{{{{{{{|{{{{{|||z{|{{zz{|{|{{}{|{zz{z{z||||{||{{{z{{{||{|{}}|||{{{{z||{{}|||||||z|{zz{{{|}|{|{}{z{z{{|{{|{{|{}||{{{{{{{||{}{|{}{|{z{zz{{{{{|{|||{z|z{{{||{|{{|{{z{z{{{z|{||{|{|z{{{zz{{{||||{{||{{{zzz{|{|{{{|||{{zz{{z{|{|{{|{{{{{zzzz{z{{z{{{zzzzy{{{z{{z{{{{{{zzz|{z{{z{z{{z|{{zzzyy{{{{z{{{zzzzzzzz{{{{{{{{z{{z{z{z{|{{{{{{zz{{{{yz{zzz{|{{{yzzyyzyz{z{zz{{{z{zzzzzzz{{zz{|{z{zzzzz{zzzz{{zzzzz{{{z{{z{{{||zz{zzzzzyzzzy{{{{zz{zzz{z{zzz||{{zzzzzz{{{z{|{{{zz{z{zyy{{{{z{{||zzzzz{{{{{|{{|{{{z{{z{z|{{{{|}{{{{{{{{{{{||{{{|{z{z{z|z||{|{|}|z{z{{zy{{{|z|{{{{zzz{{z{|{|{||||{{{{z{{{{|{{{||||{z{z{z{{{|||{|{|{{{{zz{{{|z}||||{{{|z{z|{||{|{|{{{{z{zz{{{{|{{|{{{zz{{zz{{||||{{zz{zz{zz}{{{{{{z|zz{y{y{z{zz|{{||{{z{{{{}|{||||z{{|zz{{{{{z{||||{{zz{z|{{|{{||{z{z{|zzzz{|{y|{{z{{zzzzzz{{{{{z{{z{zzz{zz{|{{{{{{{z{{{zz{{{z{{{z{{{zzzzy{z{{{z{{zyzzzz{z{{{z|{{{zy{zz{y{z{|{{z{{zzz{zy{{{{{z{{{z{zyzzyzzz{{zy{{z{{{z{y{zzzzz{zz{{z{y{zzzzzz{z||{zzz{{yzz{z{z{{{|zzzzzz{z{{{z{z{{zzzzzzyz{z{z{{{{{z{z{{{z{{{z{{{z{zzzzzzz{|{{{{|{zz{zzzz{|{||{||{{{{{z{zy{|{{{{{|{{z{{{{{{{{||{||{{{z{zzz{{|{}{{||zz{{{{z{{{|||{||z{|z{{z|z|z|{|||{|zz|{{{||}{{{||z{{|z{{{{||{{}|{{zzzzz|{{{{{|{{{{{{{z{{{|{{|{{{{{zz{z|z{{{{{}|{{{{zzzzz{||{z|{{z{z{{y{{{z{|{||{{|{{{{{z|||{||}|{{{{|zzz||{{||{{{{z{{{{z{|{{{|{{{zzzzz{z{{||z{{{{zzzzyzy{{|{{{{{{z{{z{zzzz{{{z{z{y{z{zz{{{zz{||{y{zzzzzzz{z{|z{{{z{{zz{{zz{{{z{{zz{zzz{{z{{z{{|{zzzzzzzz{z{z{{||zyz{{z{{{{{{z|{{{{{y{z{{zzy{{{|{{zzz{zzzz{{{z{|z{{zz{{z{z{{{{z|{{zz{zyzz{{{{{{||{zzzzzzz{{{{z{zz{{{{zzzz{{z{{{{|{{z{|{zy{||{{{{{{{{{zzzz{{|{{{||{{{z{z{{{{|{{|||{z{{{{{{||{{{||}{{z|{z|z|{{||||||z{{zzz{||{|{{||z{{{zz{|z||{|||}|{z{{{{{z}|{|{|{|z{|{z{z{{|{{}||{{z{z{{{z{{{{|z{{|z{{{{{|{z||{{|{z{{|{z{{{{|{{{|{{z{zzz{z{{{{|{{z{{zzyz{{{{z{}{|{{{z{z{z|{|{|{||{{{{{{{z{{||{{|{{{{z{{|z||{{{{{|{{{{z{{|z{{{{z{{|z{zzy{z{{|{|{{|{z{z{{zzz{{{{||z|z{zzzz{{z{zz{{{{zzzzzzzzzzz{{{{zzz{{{zz{{{{{{{{{{z{z{z{z|{{{|z{{z{{z{zyz{{|{{|{{zzz{yzz{{{{{|{|{yzzzzzz{{{{{{{{zz{zz{zy{|{{{{|{{z{|{z{z|{zz|{{|z{z{z{{|{{z{{|||{zzz{{{{{{{z{{||zz{{{{z{{{{||{|{z{zzz{zz{||{{{|{|zzz{zzz{{{{{|{{z{{{{{zz|{|{||||{{{z{{|{||{|z|{{{z{{{{{{|{{||||{|{{{{{{{{|{{{|||z{{z{{|{{{{|{|||}{{z{|{{{|}{{|{{|{{{{{{{|||||{||{{{zz{{|{{{{{{}|{|z{{|z{{{{|||||z{{{zzz{{|{{|{||{{zz{z{z{}|{||||zz{z{zzz{{|{{}||z{{z{{||}{|{z{}}{{{{z{{|{|||{|{||{{{{zz{{{{||{{{zy{z{{z{{||{{{|{{zzzz{{y{{{{{{{|{z{z{z{zz{|{z{{||{{zzzzz{{{{z{{{{z{z{{zz|{{{{|{{{yzz{y{z{{{|{{|{zy{{zzz{{{{{{{{|zzz{zzzyz{{z{{{|{z{z{z{yz{{{{{||z{|yzzzyz|{{|{z{{zzz{{zz|||{{{||z{{zz{{z|{{{{{{{{{|{{z{{{{{z|{|{{{{z{{yzz{||z{{{{{{{zyz{{{{{{|{{{z{{z{z{{|{{{{{{|z{z{yz{{|{|{{|{{{{{z{{z{|||{{z|z|{{zz{{|{{{{|{}{{{{{z{z||||{{|{{{{{|{{y|||||{|}{{{z{{{{|{|{|||||{{|{zz{{}||{|||{z{{{{{{{||||{|{{{z|{{{{{{{|{||{|{{{}||{{{|||{||{{{{|zzz||{{z{{||z{z{{{{{|{|{|{|{{{z{z{z{||{{|||||||{{{{{|}{|{|}{|{{{zz{|||{|||{z{||z{{{|{{{{|{|{{{z{{{zz{{{{{||z{zz{{{z{{{{z||{|{{zz{{y{{{{{{{|}{{{zz|z|{|{{{{|{z{zz{{{{||{{{|{z{{|zz{{{{z{z{{{zzz{z{{|z{{{|{{||z{{zy{zz{|{|{||z{{{yzzz{z{{||z|{z{zzz{zz|z{z{{|{z{{{|{{||{|{{||}{{z|z{z{{{|{{||{{{{zzz{{{{{{|{{{{{{{zzz{{|||{|{{{{{{{{{|{{{|||{{{|{{{{{{{||{{|{{{{{z{{{{||||z{|{{{{|{{{||||{|{|{||z|{{{{{{||}|}|{{|{{z{||z|||}|{{|{{z{{||}{|}|||z{|{|{{|{{{|||}|{{||{{{}}||||||||||{{{{||||}{|}{{{z{{||{||||||||{{{{{{|{{|||{|}z{{{z{{{{|{||||}||{{{zz{{|{{}{{|zz{{{zz{||||z|{|{{z{{{{{||{{{{||{zz{{zz{{||{{|{|zz{zz{{z|{{{||{||{{z{zz{z{{{z{|{{zzzzz{z{z{{{{z{z{zy{z{{{z{{{{{{zz{zz{zz{{|zz{z{{{zzyzz{zzz|{{|{z{zzzzz{{{zzz{{{|{{zzzzz{{{{{{{z{{{{z{zzz|z{z|{|{z{z{zzzz{{y{{{{z{zzzz{|{{{{z|z{{z{{z{y{{{{||{|{{z{{{{z{z{{{{{{{y{{z{{z|z{|{{||{z{z{zy{z{{||{|{{{z|{{{{z{|{|{z{{|{|{{{{z{}||{{|{{z{zz{|{{|{{{|{|{{z{{{{{{{|{{||{{{{{{{|{{{|{||||{{z|{{{{z|{|||{{{{{y{{{{|{|{|{||{{{{{{{{||}||{|{}{{{{|{z{|{|{|||{{|{{z}{|}||{|{{|{{z{zz{{{|{|{|||{z{|{zz||{{{|{{{{{y{z|{{||{{{||z{{z{{{{z|{{{{{{z{{{{zzz{}{|||{||zz{{{{z{||{|||||{{{{{{{{|{{|||||{{{zz{{{{{||{|{zz{zz{{{||{{{{||{z{zzz{z|{{{|{z|zz{z{zzzz{{zz{z{z{{{z{{z{{{zzz{{{{{z{z{{z{{z|z{{zzzzzyz{zz{|{{{zzzzzzz{zz{{y{{{z|z{{y{{{|{z{{|{{{z{zzz{{{z{{z|z|zzyz{zzzz{{{{|{{zzz{z{z{{zz{{{|{zzz{zz{{z{z{{zz||z{z{y{{z{z{{{z|z{z{{{zz{y{{||||{z|z{z{{{{{{z||{{z{zz{{z{{||{{|{{zz{{{{|{|{{z{{{{z{z||{{||{|{z||zz{{{{|{{||||{|{{z{{{z{{{|||{|{{{{{{z{z{{|{{||{|{{{{z{{|{{{||{}|||z{{{z|z||}|||}{{{{{{z|{{|{||{||{z{{{z{{{{{{z{|||{{{z{{|{{||{{|{{{z{{|{{{{|{|{|{|{{{zz{||{{{{{|z{zzzzzz{{z{{}}||{|{zz{{z||{{{|{{||{{{{{{|{|||}|zz{{{zz{|z{||{|{{{|{{{z{z{|{{|{||z{{zz{zz||{|{{{{{zz{zyz{|{z{||{{z{z{zzz{{|z{||{{{z{|zz{zz{{{{{|{{{z{zz{|{z{z{|{zz{zz{zzzz|{{{{{zz{{z{{z{zz{|||{z{zzzzzzz{z{{z|{{{zyz{z{{{{{{|z{{{{zz{yz{{{||{{{{{zz{zz{z|z{{{z{{{{zzzzzz|{zz{}|{{{{|z{{{{|{|{{|z{{{{{{{{{{}|{|{{{{{{z{{{{||{z{|{{z{{{z{|{||{|||{|{{{zz{||||||||{{|{z{|{||{||||}||{{{z{{{||}|||||z{{{{{{{}|{||||{|z{{|{|{||{{{||{z{{|{{z|{{{|||||{{|{{z{|{|||||||{{{{{{|{||{|}||{{{{|{|{{{|{||{|{z|{z{{z|{{{{{{|||{{zz{{{|{|z}}{{{{z{z{zz{}{||||{{{z{{|{{|||{||{{z{{{{{z{{|{{{{||z{z{z{z|{{{{{{z{z{zz|{{|{z{{{||{{{zz{yz{{|{{|||z{{{{{zz{{{zz{}{{y{{zzzz{{|{{{{z{z{zzyzz{|{z{|{|zzzzzyz{{{{{{{|{zzzzzzyz{{{z|{{|{zzzz{{y{|{{|||{{zzy{zz{{{zz{{{{z{zzzzzz{{{zz||{zz{z{{zz{|{{{|{{{{zz|z{zz{{|{{z{zz{zz{{{{zzz{||{z{z{z|zz{{|||{|z{{{zz{{y{||{{||{{{z{zz{{{{{{|{|{{z{zz{zz{|{{{||{|{{z{{z{{{{{||{{{z{{{z|{{|{{{|||{|{|zzz{{|||z|||{z{{{|z{{{{{|{|{|z{{z{{|||||||{}{{z{z|{{|{|||||{|{z|{{{{|{|||}|||y{{{{{{{{{|||}||z{{{{{{|{|{{{|{{{{zzz{{|||||||{|zzzz{{z{{{||{|||{{{zz|{{{{{{|{{{z{{z{{z{{|{{z{|z{{z{yz{{z{{|{{{{zyzz{|{{{|{|{|{{{z{z{{z|{z{z{{|{z{zzzyzz{{{{{{{zz{yz{zzz|||{{{{{z{zzz{z{{|zz|{{{yzz{|zz{z{{zzz|zzz{{zyyz{{zz{|z{zz{zz{zz{{{{{|{zzzzzzyyz{{z{z|{{{{zzzz{z{{z{{z{{{zzzyz{z{{{z|{zzz{z{{zzz{z||||{|{zz{{zz{{{{z{}|{zzz{z{{{{{z{|{|{z{yz{zz{|{|{|{|{{{z{zzz{|{|{{{{{{|yzzz{{z{{{{{{yzyz{{z{{|{zz|}|{{zz||z|{|{{|{||{|zzz{{{|{{|{|||{{||{{zz{|{||{|{|z{|{{{{{||{{{{|{{{z{z{|{{z{||{{{{{zz{{{||{||||||{{{{{{{{|}|{|{{|z{{{{|{|{||{|}{{{{z{z{{{{||{{{{|{{zz{{{|}||||||{{{{z{{z{{{{|{{|z{{{zz{z{{{{|{{||{{{|z|{{{{|{{||z{{{{z{{{|z|{|||{{z{{z{{{||{||{{{yzz|z{z{{{{{{{{{z{zzz{zz{|{{|z{{{{zzy{{z{z{{|{{zz{z{zz{z{{{z{{z{{zzzz{yz{{{{{{{zzz{z{z{{{{{{{|{{{{z{z{{z{{|{|{|z{{zz{zz{{{{{z|{zz{{zzzzz{zzz{{{z{zy{zzyz{z{z{{{zz{yz{{z{{zzz{{{{z{z{zz{{{z|{{zzzzzzyz{{z{{|{{{{{z|zzz{z{{|{{{||zz{zzz{{{{{|{{{{z{z{z{{z|{{|{{{{{zz{{{z{{|{{{{{|z{{z{zz{{{{|||{{{z{{{{{z|{|{||{|{zz{zzzz{|{{{{||{z{{{z{z}||{{|||{z{{{{{{{||{||{||z{{{{{{|||{{{|||{{{z{|{{{||{||{{z{{{y{{{{||{{||{{|{|{z{{||{}{{{|z{zz{{{{{{{{{{|{zzzz{{{{{{|z{{{{{{z{zz{{z{{{{{|z|{{{{{z{{{z|{{|{{|z{zzz{{{{||{|{z{z{zz{{z{z|{{{{z{z{{z{{z|{{{{{{{z{zzzz|zz{{{z|zzzzzyzzy|{{{{{z|{zzy{{zzz{zz{zzzzzzzz{z{z{{{{{{{zzz{yz{{{{{z{{{zzz{zzzz{{{z|z{{z{{zzzzy{z{zz{{{z{zzyz{zz{{zz||zzzzzz{z{y{{{z|{zzz{zz{zz{z{z{{{{zzzzzzz{zz{z|{{|zz{{zz{{{{z|||{{{{{z{zzyz{|z{{|{{z{zzzzz{{{{z}{{{{zzz{zz{{{{{{||{zz{{{{z{{{{z||{|z{{z{z{{{{|{|{{{{zz{{{{{{z{{{|{zzz|{zz{{{{{||{z{{{{{zzz||{|}||{{{{z{{|{|{||{|||{{z{{|{z{|||{|{}{z{{{{{{|{|{|{{||zz{zzz{{{{{{{|{{{{{{{{{|{|{z|{}z|zzz{{z{||{{||{{{zzzz{{{{{{{{{z{z{{zzzz{|||{{{{z|{{{zyz{{||{{|{z{{{{zzz{{{{{|{}||{z{{{{|{|{{{{{{zzz{z{z{{{|{{{|{{{zz{{z{z{{z|z|{z{zz{zz{|zz{{{y{zzzyzzz{{{{zz{{zz{{y{{z{{{{{zz{z{{{zyzz{{{{{|{{zzzzyz{zzz|{{||{{z{zzzzzz{{{{{{{zzzzzzzyzz{{z{{{{{zzzz{{{{{{z{{zzz{{{z{z{|{{{{{{{zzz{zz{||{{|{z{{z{zz{{zz{{{{|z|{z{{{z{z{{{{|{{{{z{z{zz{{{{{z{{|{{{{{{{z{{{|{{|{zzz{z{{{|{{{||{z{z{z{{zzz{|{{|{|z{{|z{z{|{|{{{||||{{{{{{{}|{||{{|{{||{{{{|{|{|||{|{|z{{|{|{{|||{|{{z{|z{{{|{||{{|||{z{{{{|||{||{|z{{{{{|{||{{|||||{{|{{{|z{{{||{z{|{{zz{{{{{{{||{{{{z{{{{|z{z|||{{zzzz{z{|{{{{{{|{{{{zzz{||{{{|}|{{{{{{{||{|{||{{z{z{{{{|z|{||{{{{|{{z{zz{z{z{z||{{{zz{z|{{{{{z{z{{zzz{z{|{{{{|{{zzz{zzz|{{zz{|{z{zzzzzz{{z{zz{{{{z{zz{z{z{{zzz{{{{{zz{{|z{{z{|{|{{zzzzz{||{{||{{z{{zy{{{z{{{{{|{{zz{zzzz{{{zz{{zz{z{zzz{{{{z{{{zzz{{zzz{{{{{{{|{{z{zz{{{|{{{{{{|z{{z{|z{{|{{{{||{{zz{{z{{|{{|{{|{{{|z{z|{|{|{{||{yz|zzz{{{{|{|||{zz{{{{|||{{{|zz{{{|z||||{||{{{{z{{{zzz{|}||{|{{{{{|{|{{|||{{}{|{{{z}{{{||{|{{}|{{{{|{{|}|{|{||||{{|{{{{||{{|||}z{z{{{z||{{|{||{z{|{{{{||{}{}|{{|{{{|{{|{{{{|||{{{{zz{{||{{{{|||{|zz{{{{|{zz{|{||zz{{{{{|{|{{{{z{{{{{|z|{{{{|z{z{zz{{yz{{|{|{{||z{z{y{{{{{{z|{{{{{zzzz{{z|{{{z|zz{zz{{z{{{{{{{{|{zzzzzzzz{{{{{{{y{|{{{{{z{{{{{zzzzzzyy|{{{{z{|{{zzzy{zyzz{{{{{z{{{zzzy{{|z|{z{{z{{z{z{zz{|z{{z{{{{zzzzzz{z{z|{|{zz{zz{{{z|{{||{zzz{|zz{|{z|{z{|zz{zzy{z{|{|{{{{{{{zzz{{{{{z{{{{|z{z{zz{|{z{{{z|{{zzzzzz{{|z{||{{|{|{{zz|{{{z|{{z{{zz{{{{||||{|zz||{{{|{{{{|{|||{{|{{zz{{||||{||{{{z{{{{||{{|{{{{{|z{z{|||{{|||||{||z{{{{|}{|{}{{{{{{{{{||{{{|}|zz|{{{{{||{{{|||||z{z{{|{{|{|||{{{z{|{z{z{{|{||{{{{{{{{{z{{|{|||z{|yzz|z{||{||{{||{{{{{{{{||{{||{{{zz{zz{||{|||||{{{z{z{{|{{z{||{{{{zzz{z|{|{{{{{|{zyz{y{{{zz{{|{|zyz{zz{{{{{|{z{z{z{zz{|{z{{|{z{z{{z{zz{z{|{{{{zz{z{{{{{{{{{{{|{z{{zzz{{z{{{{{{{{{zzzz{z{z{{z{{{zz{zzzzy{{z{||{{{zz{{{zz{{{{{z|{zzz{{zz{{{|{{{{{{z{{z{{z{||||{|z{{{{z|z{||{{z{{z{zzzz{y{|{{{{{{|{{{{zz{z|{|||{|z{{{z{{z||{zz{{|{zz{{zz|{{{{|{{{z{{{{{{z{{|{|{|{{{{|{{{{||}||{||{{z{{{{{||{||||{|zz|{z||{|{||||}z{{z{{||||||{||||{|{z{{z{~||{{|{|{{|{z{{|{|}}||||{{{|{{|{{{|{{|}{{z{|z{{||{|{|||{{{{{{{|{{||{{||{{z{{z{|{|z{{{||{{{{{zzz{{{|{{{{{|{{{{{{{|}{{z||{{z{z{{z{{}{|{||{z{z{z|{{{|{{{|{{{{{z{zz{{{{{{||{z{zzyzy{{{z|{z||{z{{yzz{{{{z{{z{zzzzz{z|{z{z{{{zzzz{{z{{zz|{{{{{zyzzzzz{{{{{||{|z{{z{z{{{|{{{{{zz{{zzz{{{{||z{{{zzzzy{y|z{{{{{|z{zz{zz{{|{|z||{{zz{zzzzz{{{z{||{z{z|zzz{{{zz||{{{{z{{{{|{{{{|{|z{zzzzzz{||{{{|}{z{z{z{z{{{}{|{|{{z{{y{{{{|{{{|{{z{{zyz{{||{{|{|{z{{{{{{{}||{{||{{{{{|{{|{{|{|{}{{{{{{{{{{|||{||zz{||z|z{}|{|||||z{z{{{{|{{|{||||{{{{{{{{}{{|{}||{{{{{{{|{{|}||||z|{{z{{{|{|{||||{zz{{{{{{|}||||{{z{{{{{{{|||{|||{{z{zzzz|{|{{|||{{{{{{z{{{{{{z|zzz{{{{zz|||{{{{{{zzzz{{|{{{||{|{{{zzz|z|{{{z{|||{z|z{z{|{{{z|||{{{{z{z{|{{{{|||zzz{{{{zz{{{z{{{{z{y{zzzz{{|z|{{z{zy{{z{{z{|{{|{{zzzz{zyz|{z{{{{z{{zyzyz{{{{{{|{zz{{yzzzz|{{{|||z{{zzz{{zzz{{{z{{zzy{{{zz{{{{|{{|{{zzzzz{{{|{{|{{{zzzzz{{{{|{{|{{{z{zz{{{|{{{{{|{z{{zzz{{{{{{{||{zzz{z{{||{{||{|{{{{zz|z||{{{z}{{z||{{z{z|||{{}{{{|{{zz{{{|{{||{{|zz{{|{|{{|||||{z{{{||z|||{|||}{z|{{{{z{{}|{|}||{{{z||{|||z|{{}|{zzz{{{|}|||||}|{}|{z{|||{{{||||z{{{}{||{|z}|}}{|{{{z|{{{||||}|{z{{{|{{{{|{{||{|{{z{zz{{|||||||{zz{zz{z{{|{{|{{{{zz{{{y||{z{{|{{z{z{zy{{|}{{|{{{z{{zz{z{{|{{{{{{{{{zzzzz{|z{z|{{z{{zzzy{{{{z{||zz{{zzzzzz|{|{|{z{{z{zz{zzzz{{{{{zzzzzz{{{{{|z{{{z{z{z{z{z{{z{{{{z{zzzz{z{|{|{{{zz|yz{zz{{z{{{{|{z{{zz{z{zz{{{|{{z{zzzzzzzzz{{{{{{zzzzzz{{{{z{{{zzzz{zzzz{|{|{z|{z{z{zzzz{{|{|||{{|{zz{{{z{{{|{{{{z{{{{z{||{||{|z{{z{{{|{{{{{{|{{zzzz{z{||{{{zz{|z{z{z{{||{}{|{{{z{z{{{{z|||z||{{{{{{{{z|{|||{|{|z{||z{{|||{|{}}|{{{z{{{{|||{}{{|{{{{|{{|{{||}}{{{|{zzz{||z|{{|{|z{z{z{{{|{z||||{{{||{{{{|||{||{{{z{{{{{|{{{{{{|{{{{{{z{{{|{||{{|z{zzz{z|z|{{||{y{{{{zz{{{|{{{{{{{{z{z{{z{{{z|{{{z{z{{{zz{{z|{{|{z{{{{{z{{{z{{|{{zzzyzzz{{{{|{||{z{yzz{zz{{{z{{z{z{zz{{{{{{z{|zzzz{zzy{zz{{{{z{zyzzzz{zzz{{{z{{zzzz{yzzz{z{{{{{{{zzzzzzz{z{{{zz{zz{{{{z{z{{{z{z|zzzyzzyzz|{zz|{{{zzzzzyz{{{z{{{z{yzyzzy{{{{|z{z{{{zzzzz{{{|{{{{{{zz{{zzzz{{{{{|{{{{|zzzy{|{{|{{|zz|{{|zz{{{{{{{{{{z{{z{z{{{{z{|{y{z{{{{zz{|||{{|z{z{{{|zzz{{|||}|z{{zzzz{|{|||{{|{zz{{{{{{||{||}|zz|{{{|||{|||{||{|{{{|{{}{{|{|{{{||{z{||||{{{||{{{{|zz{}{{|||{{{zz{|{z{{{{{{|}|{{|{zz|z{{{|{{||{{{{z{{z{{||{{{|{zzz{zzzz{{{{{{{{{y{{y{z{{}{{{{{zz{{{{{{{{{|{{{|{{yzzzzz{{{{{{|{zzz{{zzz{{{{{{{|{z{zzzzy{z{zz{{{zzzzz{zy{{{{z|{{{zzzz{zzz|{|z{{zz{z{y{y{{{zzz|z{zzzz{yyz{{{zz{{{z{zzzzzzzz{zz{{{{z{zzzyzz{{{{{z{zz{{{yzzxzzz{z{{z{{zz{{{zz{z{{{{z{zyzzzyzz{z{{{{{zzyzzzz{{{{{{{{zz{zzy{yz{{{zz{{zzzzzzz{z{{{{{|{z{{zzz{zz{{{z{{z|{{zz{zz|{||{||{{{{{{zz{{|{{{{{{{{zz{z{{{z}{{{{|z{||z{{{}{|{{{||{zz{{{|{|{{{|z|{|{{{{{{{{|{{{|{|{{|{{{{{{|{|}|{z{{{{z{{z{|{|||||{{z{z{z{{|{{|{|{{{{{{z{z{{{{|{{|{{{{{{z{{{{||{{|{{{z{zz{{z{{{|||{{{{{z{{{|{{{{{{{zzzzzzzz{{|{{z{{{z{{{zz{{||{{z{{{{zzz{z|{{z{|{{z{z{{{z{z{z||{{{|{{y{zz{zz|{{{|{{z{z{zzz{{z|{{{|{z{zz{zzy{z{{{{{{{zzzzzzzz{z{{{{|z{{z{{z{|{{{{{{yzy{{zz{z|z{|{|{z{zz{{zz{z{{|{{|zzzzzzyyzzz{{{{{{zzz{zzz{{z{z{{{z|zzzyz{{zzz{|{z{z{z{zzzz{{z{z|{z{zzzz{zz{z|z|{{zzzz{z{{{{{{{|||z{zzzyz{{|{{{|{{{zz{{{z{{|{z|||{{{{{yzz{z{|{|{||{{zz{zzz{{{z{{{z{z{{{{z{{{{||||{z{{{{z{{{||||{|{{{z{{{zzz}|{|||{{z{{{|{{{{{{||||{{{z{{|{{|{{|}{{|z{z{{zy||||{{|||{|{{{|{{|{{{{|{|{}{{{z{|}{{|{||{{{z|{{{{{|||{}|{{{{|zzz{{{{||{{{{{zzz{{{|{{||||{z|zzzzz{|{{{|{{|{{{{{z{{{|{{z|{{{zzz{{z|{{z{{{|{zzzzzyy{|z{z{{{|z|zzyz{{{|{{{|{|{{{z{z{{{|{{{{|{{z{yzzzz{{z{||{{z{z{zyzz{{{{{{z{{{{{{zz{zz{z{{{z{z{zzzz{|{z{||{{zzyzyz{z{|z{|{{zzz{y{zzz{z{{{{{zzzyzyzzyz{{{z{{zzzy{zyzz{z|{{z{z{z{zyzz{{{{{{{{{zzzzzzy{{{{{{{{{{{{zyy{{zz{{{{|{z{{z{{|{{|{{{{{{{{z|{{zzz{{{|||{{{{z{zzz{{{|{{{|zzz{zz{{{{{{|{|{zz{z{{{{|{|{|{|{z{z{{{z{|{{|||{z{{{{{zz|{{{|{|||z{{{{{z||}|{|{|{{|{{{{{{|||{|z||{{{{{zz{{{}|{||}{{{{z{{{{|{|{||}{{zz{{||{{{{|{|{zz{{{z{|{{|{{{{{{{z{{{{{}z{{|{{|{{z{{z{{{{{{{{{z{z{{z{{|{|{{|{{{{{z{{{{{{{{{|||z|{{{z{zz{{|{||{{{{{{{{z{{{z{{|{{{{{z{{y{{|{{||{{{z{zz{z{{||{|{{{{{z{z{z{{z{{||{zz{{z{{zz{{{z{{zz{{{{zz{{z{{{|{{zzy{{zzzz{{z{z{z{zz{z{z{{{{{{{|{{zzzzz{z{{{{|z{z{z{zzzzz{zzz{{{|{zzzz{{zz{z{{|{z{zz{{{zz{{{{|{{{{zz{{zzz{{{z{{|{zzzz{zz{{|{{{{{|{z{zzzzz||{{z{|{{{{{zz{{{||{{{{|{z{zzzzz{{}{{||{{{z{{{z{||{{{|{{{{{{{{{|||{||||}{|zz{{|{z|{||||{|{|{{{{{|}|{{{}|{{|{zz{{||{||||{{||z|{|{|||||{|}{{{{{{|{{|{}||||{{{{{z{||{|{||{|||{z||{|{|{|{{{|{{{{|{{{||{}{|{|{{{{{{{{{|{{{{{{{z{|{z|{{|z|{||{z{z{{z{z{{|{{}|{z{zz{{{{|{|{z{||{|{zz{zz{|{{{|||{z{zzzz{|{{{{{{{{{{zz{z|{{|z{{{|z{z{z{zz{{|{{|{{z{{zzzzz{{{||z|}{{zz{zzz|{{{z{{{zzzzzzz{{{{||{z|zzzy{z{z{{|z|{|{{z{zz{z{{{|{{||zz{z{zzzz{|z|z{{{z{{z{y{yz{{{{{{|{|zzzzz{{{z{{{{{zy{z{zz{{{{{{||{{z{zyz{{{|{{z{{|zy{zzz{{{{{|||{|{{{zzy{{{{|{{|{{zz{{{z{z{{{{{|{|zz{z{{y{z||z{|{{{z{zz{zz||{z{}||{{{z{zz{{{{||||}zz{{{{{{||{|{||||{{z{z{{{|{|{|}|{{{{|{{{|||{|{{{|z{{{{{{{|{||}|}|{z{z{{{|{{||{|{|{||{{{{{||{|||zz{{{{{{{||{||{||{{z{z{|{{{|{|{|{z|{{{{{{{|{{{|||{{z{|{{z{{{{{||||{{{{z{{{||{{|{{{{zzzz{{{{{{|||||z{{{{zz|||{{{|||{{zz{{z|{|z{|{|{z{||zz{{{||{{{}{z{z{yzy{{{{{{||{z{zzyzzz{{{{||{{z{zzzzz{zz{{{{{{zzzz{zzz|{{z}yzz{zz{zzzz{|{{|{zyzzzzzzzzz|{|{{{zzzyzzz{{{||{zz{{{{z{{zz{zzz{{|z{{{z{z{{{{{z{{{{zz{{{{z{z{z{{{|{{zzy{y{zz{{{{{|zz{{z{z{{{{{{z|||{{z{{{z{{{zz|{{{|{|{|zz{{|z|{|{{|{{|z{zz{{{{{{|{{{{{zzzz|||{{|z{z{|z{{{{{{|{{{|{{{{{{{{zz||||||||{z{{|z{|||{|{{||{{{{{{z|||{{||{{{{{{{z{|||||}{|{{|{z{{|{}{|}}}|}{{{{{{z||z|{||||{|z{{{z|{{|{{{||{|{|z||{|||{||||{zy{{{{{|{{|||}{|{{{{{z{{{{{|||{z{zz{{zz{|z|{|{{{{{{z{zzz|{|{{z|{{z{{{z{{{|{{{{{zzzzzzz{{{{{{{{zz{{zzz{{||{z{{{z{zz{zz{{zz{||{{z{{zzyzzz{z{{{{{{z{z{z{{z{{z{{z{{z{zzzzz{z{{z{{{zz{zzz{{{{{z{{{zz{zzzzzz{{zz{|{{{{{zyzyz{zz{{{{zzzzzz{yz{{{{z{{{yzz{zzzzz{z{z{zzzzzzz{yz{{{{zz||{{y{{yzzz{{{{|{|{{z{{zz{{zz{z{{{z{{{zz{z{zz|{{|{z{{z{z{zz|{|{{|{{zzz{z{{{{||{{|{{{zzzz{{{{{{z{{{{z{z{{z{{{{z{{|{{||z{{{z{||||{|{|{{{{zz{|{{|{|{{|{z{{{{{||z{|{||zz{zz{{{{||{{|{||{|zz{{|{}|}{|{{|{{{|{{{{||||{||{z{{{{{{{{||{||{{z{{{yz||{|{||{|{{z{|{{|z{|{{{}{{{{{{{z{{z{{|{|{zz{{{yzzz{{{z||{{z{z|zzz{{{|{|{|{{z{{{{{{zz|z{{z{z{{z{yz|{z{{|{{{{z{zz{{z{||z{|{{{{yzyzz{{{{{z{|{yz{{z{zz{{{{{|{{zzz{{zz{{|{{{{z{zzzzzzz{z{{{z{{{zyzzzzz{{{zz|z{{zz{zzz{z{{yzz{{zzz{yyzz{{{{{{|{zzzz{zzyz{{{{{{zz{{zzyzzz{y{{|z{zz{z{zzy{z{z{{|z{z{z{zzzz{{|{|{{{z|{zyz{{{z||{{|z{z{zzzz{{z|{{{{zz{z{z{z{{{{|{{z{{zzzzzz|z{{{{|{z{{z|zy{z{{{||z|{{z{{|z{z|{|{{||{{{{{z{{{|||||||{|{z{{zz|{||{{|{{z{{{z|{z{}{{}||{z{z{{||||{|||{}|||{{{{z{}||{{|||{{{|{{{|{{|{|||{{zzz{z{{{{||{}|{{{{|z{z|{|{||||{z{y{{z{{|{{{{||{{z{zz{{{{{{{|||{z{z{z{y{|{{{{{{zz{z{{z{{{z{{z{|z{zz{{{z|z{||{|{|zz{z{{zz{{zz{||zzyzzzzz{{{zz{{|z{yzzzzz{{|{{{|{z{{{z{{zz{{{z{{|{zzzzzz{z{{zzz{|{{z{zzzz{z{z{|{{{zzyz{{y{{{{{{{{zzyzyzy{zz{z{{{{|{{z{zzzz{z{z{|{{y{z{zzzz|{zz{z{zzyzzzz{z{z{{zz{zyz{zz{yz{{{z|{{zzzzzyz{{{{{{{{|z{zyzz{z{{{{{||{{zzzz{z{{|{z{{|{{{{{{zz{{{{z{z|{|zzzzzzzz|{|{{}z{z|z{z{{{{{{{{{{{zzz{{{{z{{||||{{z{z{{{{||{{{{||{{{{zzzz{{{{{{||zz{{zz|z|{|{|{|{{z|z{|{{{{{{{|{|{{{{z|z{z}|{{||{|{{{{{{{||{{{{{{|z{{{{z{{{||{{||{{{{{{|||{{|{|||{{zzz{z{{{zz{{{{{|zz{zzz{{{z{{{{z{z{zz{z{{{{{{z{zzz{{zzz{{{{{z|{zzz{yzzz{{{{z{{|{{zz{zzz{{{{z||{zyzzzz{zz{||z{||z{z{y{zz{{|{z{{{{zzzz{zzz|z{z{{{z{z{zz{z{{{{z{z{{zz{zzz{z{z{{{{{{zzzzyyzz{{zzz{{|zyzzzyzz|{z{{z|zyz{z{xyz{z{z{z{{zzyzyzzzzzz{{zz{zz{yzzz{{zzz|z{{z{z{z{y{{zz{z{zzzzzzzzz{{{{{{z{z{{{zz{z{{{z{{{zzz{{yzzzz|{{zz{|zyzz{zz{z{|{{{|{|{yzz{z{z{|{z{|{z{zz{z{{{{|{{{{zz{{{{{z{z|z{{|{|z{z{|z{z{{{{{{{|{zzz{yzyz{z{{{|{{||z{{zzz|{||{||{{{{{{{z{{{{{|||{{|{{z{{{|{}{{{{{{{{{z{z|{{{z{{|{{{z{zz{{|{{|{{|{{{{{{{{|{{{|{|{{{zz{zzzz{{|||{|{zz{zzz{{{||z{|{zz{zz{{z{{zz{{|{z{{zzz|{{{{{{{{{{{{{zz{||{|z{{||{z{z{z{yz|{{{{|z|z{zzzzzz{{|zz{{|{{yz{{z{{|{z{{{{zz{zzzyzz{{{|{{{z{z{zzz|{z{z{z{{{zzzzzz{{{{z{{{zyzzz{z{zzzzz{{z{y{zz{zzz{{{z{{zzzz{z{z{z{z{|{|zzzzzzyzzy{{z{z{zzz{z{z{zz{zzz{{{z{z||zzzzz{{{z{|{{z{zzyz{{{{{||{{zzzzz{z{{|{||{|{{{{{zz{{{|z{{{{{{{z{yzz{{{{{||{z{zz{{{z{{{{z|||{y{z{z|{z{|{||{|{{{|z{zz{|||{|{{{|{{{{{{|{{|||||zz{{z{z{{|{{|{|{{{{{{z{{|||||{||{zz{{{{{{|}||||||{z|{{{{{}{{|||||zz{{{{z|{||{|||{{{{z{{||}{{z|||{{z{||z{{{||||}|{{{{z{{z{|||{||{{z{{zzz{{|||z{{|{z{zz{{z{{z{{{|z|z{{{z|zzz{z|{z{{{zz{z{{{|{{{|||{z{zzzzz{{|{{|{{zz{{zzz{y{{z{||{{zz{yzzz{{{{{|{{{{zz{{y{zz{zz{{{{z{zzz{zz{{zz{|{zzzzzzyzyzz{z{{{yzzzzz{zz{{{zz{z{x{zzzyz{{{yz{zz{{zzzzzzz{{{{{{{zzzzyzzyzzzz{z|{zyzzzzzzzz|zz|{{{z{zzzzyzz{z{{|{zzz{z{zz{{{{{z|{|zz{zz{zz{z{z{{{{z{zz{zzz{{|{|{{zzzz{z{zz{{z{{{{{zzzzz{z{|zz|{|{{zy{{z{zz{zz{|{||z{z{{{{{|{{||{{z{{{z{{{{{z|{{||{zz{{zz{z{{|{{z{|{{z{z{z{{{{|{|{{{{zzz{z{|||{{{{|{{{z|{{{||}{|{{{{|{{z|{{{{|{{|{{{zz{{z{{{|{z|||{{{z{z{{{{{{||{|z{z{{z{{z{{|{{{|{{z{yz{zz|{||||{zz{z{zzz{{{{{}||{{{yz{{{z{{{{{|{{{{zzz{z{||{|||}{{{zz{{z{{{{||{|zz||{|zz{{{{{||{{{zzyz{z|{{{{|z{{z{{zzzz{{{{{{|z{{{z{z{z{{|z{z{{z{{{z{zz{{{{{{{{zzzzzzzz{{{z{|{{zzzzzzyz{{|{|{{{{z{zz{zzz{|{z{{{z{z{zyzy{{{{{|{{zzyy{yz{z{{|zz|{zzz{zzyzz{||z{||{{zz{|zz{{{|{{{{{{z{z|{{z{{{z{||{z{zzzzz{|z{{{|{zz|{z{|z{{{{|{{|{{{zzz{{{z{{|{|{{{z{{{{{{{z{{{{{{{{z{{{zz|||}{{{z{{{{z{{{|{{{|{{{{{||{zz{||||{||{{{z|{|{{|||{|}{{{|z{{|{{|{||||{||{{{{{{{|}|||||{z|{z{{{||{|{{|{|{{{{{|{{|{{{{||{{{|||{{{{{{{|{|{{{zzz{{{{||||{|{zzz{z{z{{||{{||{{zz{zz{{{{{||{{z{{yz{{{{{|{{{||zz{{zzzz{{{{{{|{zz{yzy{{{z{z{{{{{{{{yzzzz{{{{||{zzzzyzzy|{|{{{z{|zzz{{zyz{{z{{{|{z{{{zz{{{{zz{|zy{zzzy{z{{{{{{{{zzzz{zzz{|{{|y|z{zzzz{zzzz|{|{z{{yy{{zzy{{z{{z{|zyzyyzzy{{|{|{{z{zyy{yzzzzzx{{{{zz{zzzz{{zz{{{{|z{zzzz{|zz{|{{{{{zzyzzzz{{|{|{z|z{zz{{{y{{{{|{{|{{z{{zzzzz{{{{{{|zzz{{zz{{|{z{{|{z{{{z{{|{|{z{|{{z{{|z{{z{|{||{|z{zz{z|z{|{|||{{{z{{{zzz{||{|{{{{z{z{zz{{||{|{|{{{|z{{{{{|{||||}{z{|{{{{|}}}{{{|{{||{z{|||||{{||{{{{z|{|{|{|{{}|{{{{{z{{||||z|||{{{z{{zz|{|{{|{|{{zzzz{z||{||{||{{{{zyz{z{||{{{{zzy{{z{|y{|{z{{|{z{z{{zzz{{|{{|{{{{zzzz{z{||{|{|{z{zzzzz{{{|zz{|zzy{{zzy{{z{{zz{{zzzz{z{z{{z{|{{{z{zzzzz{{{zz{{{yz{zzzzzz{z{{{z{zz{z{zzz|zzzz{{{zz{zzz{{{{{{{{||zz{zzzyzz|{||{{|{zzz{zzyz{zz{{{zz{zzzzzzz{{{{{{{zzz{z{zz{{z{{{|zz{{z{zzz{{{{{{{z{zzzyyz{{{{{{{|{z{zz{zzz{z{|{|{|zz{z{z{z{{{{{|{{{z{zzz{{{{|{{z||{{zz{{z{{|{{{|||{z{{z{z{{{{{|{{|zzz{z{{{|{{{{|}{{{{|{{{{{{{||{{{|z{{{{{|{{{{{{{|{{{{|{|{|||{||}|||{z{{z{|||||||||z||{zz{|{||z{{|{z{z|{z{{{{||{{|{zz{zyz{|z{{||{{{{zz{z{{{|z{|{|||zz{zz{z{{{{{|{{{zzzzyzz{{|{||{{{{xz{z{{z{{{{{{|{{zy{{{{{{|{{{z{{zzz{zy{z|z|{||{z{|z{{{z{{{{{{z|{yzzz{{{{z{{{{{|{{{zzz{zz{zz{{{{{zz{zyzz{{{{z{zzzzzzzz{{zz|{{|{zzyz{zyzzz{{z{zz{zz{zyzzz{z{z{{{{{zz{yzzz{{z{{|{{{zzzzz{y{y{y{{{{zzzyzzzzz{zzz{{|zzzzz{zz{{{{{{{{{z{yzz{y{|{{{{{|{zz{zzzz{{|{{{{|{zz{zz{z||{{{{{|{{{{zz{zz|{{{|{|z{zzz{{|zz|{{{|z{z{{zz{z{{{{{|{|{z{{{z{|{{||||||z{{z{z{{{{{||{|{{{{zzz{z{{|{|{|{||{{z{z{{}|{|{|{{{{zz{{{|{{|{|{{|z{{{{|{|}|{||{{{{|{z{{{|||{||}{{{z{{{{{{{|{{|||{z|{|{z{{{{|z{||{|{{z{yzz{{|{z{|{{zz{{{{z}{|||{{{{{zz{zz{zz{zz{zz{{{z{zxz||z{z{||z{zz{zy|{|{{{|z{{{z{z|z{z{z{{{{{yz{zzz{{{{|z{z|{{zzyzzzz{{z||{{zzzzzz|zz{{{{||z{zz{z{zzz|{{zzz|zz{yz{zz{z{zzz{{{z{y{yzzz{{|{zz{zz{zzzyzz{zz{{z||{zzzz{zzzzz|{{{zz{zzzzyz{zzz{z{zzzzzyzyzzzzz{{|zzzzz{zz{{|{{{{|z{zzzzz{|{{z|{||{{{{z{yz{{z{z{{{{{{zz{zz{{zz{|{|{{{zzzz{{z{|z|{{zy{{z{zz{{||{z|{{zzz{z{z{|{{z||z|{{yz{z{{{{{|||{{|z{z{{{{|{{||{}{|{z|zzz{{|{|{|{{zzz{{{{||{{{||{{{zzzz|{||{|{|{|||z{{|{||||||||||{{{{{z{{{{{|{{{{{z{{{z{{||{|{|||{{{{{{{{|{{|{{{{zzzz{{{{|zz{{||{{z{zz{z{|{|{{||{|{{z{z{{||{{{{{{z{zzzzz{zz{{z|{{{{zzzzz{zz{{|{|{y{zzyzz{zz{{{|{{z{z{zzz{{{{{z|{{{{yzz{z{{{|{|z{zyz{zzzzz{zzzz{zzz{zz{zy{z{zz{z{zzzzzzzz{zz{{z{{zzzzzzyz{z{|{{{{{z{{z{yzz{{{{z{{{zzzzzzzzz{zz{|{yzyzz{zy{z{zz{zz{y{z{zzyzz{{z{|zzzy{zz{zzzz{z{|z{zyz{zzy{z{{zz{{{zzzz{z{z{{{z{z{zz{{z{{zz{z{|{{{z{zz{y{{zz{{{|{{z{{{{zzzz{{{{||{z{{z{z{z{{{z{{{|{{{{z{z{{{{{|{|{{{{z{|{|{||{|||{{{{{zz{y{{{{|{|}|zzzz{{{{{{{{|{|{{{z{{||{{{{{|{|{{{z{{{z{}{{{}||{{z{{{z{|y{{{{}{|z{z{{{z{{{{|{{{{{z|{{{{|{{|{|{|{zzz{zzz{{{{{|{|{{{z{{zyz{z{z{{{z{{yzzzzzz|z{|{{zzz{y{yzz{{{{{||z{|zz{z{{|{|{{{{{|z{{y{z{{z{{{|{{{zzz{zz|{{{{{||zz{zzzzz{{{z{{{|{{|z{zzzz{z{z{{{|zzzy{zz{{{zz{zz{z{yzy{zzz{{{{{{zzz{{{zz{{{{z{{z{zy{{{yz{{zz{{{yzyz{zzzz{|{|z|{zzzz{zzyz{{{zzz{zzzyz{zzzz{zz{{{{{yzzz{zzz{{z{{{|zzzy{z{zzz{{{{|{z{{{zzzz{{z{{{z|{zzzyy{|{{{zz{{|{z{{zzzz{|{{{{{{{zz{{{zz{{|{||||zz{{{z{|{{|{{|{{{{{z|{zz|{{||{|}zz|zz{{|{|{{{}|{{zz{|{{{{|{{{{|}{z{{{z{||||{{{|{{{zzz|{|||{|{|||{{{z{{z{{{{|{||||{|zz{{{|{{{|{|||zzz{{{{z{{{|{|}{{|{|{{{{||{|||{||zz{zz{{|{{|{}{{{|zz|zz{{|||||{{yzz{zzz|z|{{{zzz{zyzzzzz{|{{{{|{{z{{zz{{{z{{{{zz{zz{{{z|{{|{{|{{{{zz{{z{{{zz{{{{{{zzzzyz{{|{zz|zzzzz{{z{|{{z{z{{z{z{{yy{{zz{{{{{zzzz{zz{zzz{|z{yzzyzzzz{{{zz{{{zz{zz{zzzz{{{{|{y{y{yzzyz{{{z{{{{z{zz{{zzzz{zz{{{{{zzyzy{zzz{|{{zzzzzzzzz{{zz{{{z{zz{zz{z{{{z{{|zz{z{z{{z|{{zz{|zz{zzzz{{{{{{{{{{{{zy{zzz{{{zzzz{z{zz{z{{{{z{||{{zzz{{yz{{{{z{z{z{{{{zzz{||{{{||zzz{{|zz||{||{{||{zzzzz{{||{||}||zz{zz{z|}||{{|{{z|{{|{|}{{{{{|{{{{{z{z|{{{|{|{|{{{z{z{z||||{|{|{zz{{z{|||{{{}{{{zzz{|zz{{{{|||{{{{y{{{zz{{|{|{}{{zz{z{{{|{{{{{{{{{z{{z{{{{{{{|{{{|z{{zzz|{{z{{{{{{zzzzz{z{z{|{|{zzz{{zzz{{{{||z{yz{zz{{z||{z{{|{z{zz{{z{z|{{{{{z{{zzzzzzz{{z{{z{{zz{y{{{{{{{{{zzz{zyzz{z{zz{{z|{zzz{z{z{{zzz{z{{{zzyzzzz{{{{{{{zz{zz{zz{z|{{|{{zyz{zzzz{{z{zz{{{{zz{zzyzzz{{{z{zz{zyzzz{{z{{{{{z{zz{zyzz{{{{{{}zz|zzzzz{{z{{{{{{{{z{zzz{|{{{{{{zzz{{z{zzz|{|{||{zzy{{z{{z{{{{|{{{y{{{zz|{{{{{z{z|z{{{{{|{|{{{{{z|{{{{zz{|{|{{||z{z{zzz{{|{{{{|z{z{{|{|zz|{{|{|{zz|z{z{z{{{z{||{||{{z{z{{|{||}|}{{{zz{{{|{{{{|{{{zz{zzz{{{|||||{|{{{{{z|{{{{|{{|{{{z{y{{z{{|{}|{|{zz{z{z{|z{|{|{|{{z{z{z{||{{z{{zzzzzzzz|z{zz{{{z{zz{z{z{z|y{{{{{{zy{z{yzz{{{{{{{{{{{zz{{{|{z{{{{zzzzzzz{{{{{{z{zz{{zzzz{z{{z{{{zz{zzzzy{z{{z{z{{z{yzzz{zyzzz{|{zzzzzzzz{zzyz{{zzzyzzzzzz{{{{zzzy{zzyzzyz{{{z{{{yy{zzzzyzz{{{z{zzzzz{zzzz{zzz{z{z{z{{{zzzz{z{{{{zzz{zzz{z{{z{{{{{z{zzz{z{z{{{|z{{zzzz|zyz{z{{z{{{z{yzzz{z{{|{|{||zzzzzyz{{|{z|{{{zz{{{z{{|{{{|{{{{{z{zzz||||{|{|{{{{|{|z{{{||}|{{{{z{{z{|||{{{|{|{{{{{z{|}{||||{zz{z{{|zz{{{{|{||{{z{|{{{}{|{||}{{{z{{{{}{{{||||{zz|{zzz{{|z{|{|{{{{{{z{{{{|{|{|{{{{zzyz{z|{|{|{{zz{{{z{{|{{{|}{{{{zz{{z|{{{z{{{{zz{{zz{{{{{{{{{{zz{zzyz{{z|{{z{{{{z{{{zz{{z{z|{{y{zzzz{z{{{|z{{{{zzyz{y{z{{{{{{z|{z{zyz{{z{{|{|zzzzzzzyz{{z{|{{{zzyzzzzz{{{zz{{zzy{zyz{z{{{{z{{{zzzzzyyz{z{{z{{zzzyyzxz{{{z{z|{z{zyzyzy{{{z{{{y{zzzzyy{{zz{z{{{zz{zz{zy{{{{|{{{{zzzz{z{zz{{z||{{zzzzz{z{zz|z{z{z{{{{zzzz{{{z{{|{{zz{yz{{{{{{{{{yz}{zzzzz{{|{||{{{zzzz{z{{{|||{{z{zz{{{{{{{{{|{|{{z|z{{{{|{{{||{{{z{{z{{{{{|{|}{|z{{|z{||||{{||{zz{{{{z{|||{|z||{{z{{{{|z{|{{|{|{{{{{z{{|||{|{|{|z{{|z{{{{||}||{{z{|{{{{{||||{|||{{z{{zzz}||{|{||{{{zzzz||{{{{|}{{zzyz{z{{|z{{||{{zz{{zy{|{{z|||z{{zzzzzz{{{{{{{{{zyzzzzzz{{|{|||{{z{{z{z{|z{{|zz|{zzzzz|{{{z{{{{z{z{z{{z{{yz{z{{{z{z{zzz{|{z{z{{zzyzzz{zzz{z{{{zy{yzzzz{{z{z{|{{zzzzzyyz{{z{z{{{zz{zzzz{{{{{{z{{zzzyyzzzzzzz{{{{{{zzz{zy{z{{|{|{zzz{{zz{z{{{||{{{zz{z{{{{zzz{{{z{zzzzzz{{{{{{{{zzzz{zzz|{{{z|{{{z{{{yzz{{{{{|z{{z{{zyzz{{|{{{|{yz{zz{{{{{{{{{{{{z{zz{{z||{{}}{{{{{{{|{|{{{}{|||{zz{y{zz|}{{{|||{{{z{z|{||||||||z{|{{{|{{{|{|{|{|{{{{{zz{||{||||{{{zz{z{{|{|||{||zz|zz{|{{{|{|}}{{{zzz{{|{{z{}}}{{{z|{{{{|{|z||{{z{|zz{|{|{|{|{{|z{zzzz{{z{{z|{zzz{zzzyyz{|zzz{|{zz{yzz{{z{{{{{{{zzzzzzy{{zz{|{|z{zyzz{z{{|{zz||{{{zzz{z{{zz{z{{zzzz{yzz{{{{z{|{{z{{zzz{{y{{{{{zzzzzz{zy{{zz{{z{zzzy{{zzzzz{{{z{zzzzyzzzz|{z{{|zz{zzy{zzz{y{z{{{{z{zyyzzz{{{z{zzzzz{zz{zz{{z{{z{zyzzz{z{zz|{{z|{zzzzzzzzzz{{z{{{{z{zzzzz{z{{{|{{{zzzyzzz|{{{{{{{{zzzzy{zz|{|{}{{z{zzzzzz{{{{zz|{{zz{zz{{{|{{z{||z{zzzzzzz{{{{{|{{{zz{{{||{{{{{{{{z{z{zzzz{{|{{{{|z|{{{{z|}||||||{{zz|{{z{z|{z||{z{{z{z{{z{{|{|{{{{{||{{z{|||{{{|{z{{{{{|{|z|{{|{|z{{{||{{{||z{{|{{{z{z{zz}|{z|{{{zz{z{zz{||||{{{{{{{zyzz{{|||{z|z{zzzzzz{z{{z{{z{z{{zzz{{{{{|{||{zzz{y{zz{|z{{|{{z{zzzzzz{{{z{|{|zzzzzzzzzzzz{{{{z{zzz{zz{{|z{{{zz{zzyzy{{{{z{{{{yzyy{zz{y{z{{{{{zzzzzzzz{{{z{z{{{zz{zyzzz{z{{{{zzzzzzzyz{{z{{zzzzzzzyzzz{{yzz{{z{zz{zzzz{zzz|{{zyzz{{{yz{z{z{zzz{z{z{z{{{{{{z{|zz{{zy{z{z|{{|z{z{{zz{{zzz{z{||{{z{{zy{y{|{z{{{{{zzz{{yz{{{z{{|{{{z{zzzz|||z{{}|zzzz{{|{z{{}{|{{z{{z{{{z{|{{{|{|{{zzy{{{{{|||{z|{z{z|{{{{{|{||||z{{zz{{{{{{{{||{{z{{{{z{{||{{{||{z{{zzz{|||z{||{{zzz{{{|{{{|||||{{{{z{{|{{{|{|{|{{{{zzz{{|{|{{{{{zzzz|zz{{||{{{{{z{|z|{{{{{|{|{{z{z|zz{zz|{{{{{}{{{zzyzzz{{|{{{{{{zz{{z{|{{z{|{{{z{zzz{{z{{z{{{{{z{yyz{zz{{|{{{}z{zzz|z{zzzzz{z{{zzz{zzz{{{{z{{zzz{zy{z{{{zz{|{zzz{yzyzyzz{{z{{z{z{zz{y{z{|zy{{{zzz{zzz{{{zzzz|{{zzzyyzy{{{zz{{{{zyyzzz{zzz{z{{|zzz{y{zzz{{{zz|{{zzz{zz{{{z{{z|||{{zz{zz{{{{{z{{{z{zzzzzz{{{{||z{zzz{z|z|}{{{z{{{{|zz{z{{{{{|{{{{zzz{{z{|{|{{||{{{{{zy{y{||{||||{{{z|z{{{{|}}|||{{|z{z{z{|{{{||{|z{z{z||||{|||}||{{{z{|{|||{{{|}|{{{z|{|||{|{{|}{z{{|{z||{||{|||}zz{{z|{{{{|||||{{zz{y{||{||{|{|{z{{{|z|{|{{|{{{{zzz{{{y{|z{{||{|{{y{z{z{{{{|{{{{{zy{y{zz{{{{z{||{zz{zzy{{|{{z{z{z{zy{{{{yz{{{|{z{{{zyz{z{{{y{{{{zzyz{{z{{{{|{{{z{zzz{{zzz{{{{|{zz{{zz{z|zz{{{{z{zzzzzzzz{{z{z{zzyy{zy{z{{{{zz{{zzzzyzz{{{|zz{|zz{z{zzzzz{z{{z{{{y{zyzz{zzzzz{zzzzzz{zyz{{zy{z{{z{yzz{zz{{{z{{{zzyzz{zzz{z{{z{{|zzzyyzzz{z{{z{{{zzz{z{z{z{{{{{{{{{zzzy{zz|z{z}{z{z{{zyzz|{{{{{|{zz|zzz{{|{{||{{{zz{{z{{z{|{{{z|z{z{{z{zz{zz|{|{||{zzz{zz{||{{{{|{z{z{{{{{||{{{{{{z{z{{|{{|z|{|}}|{z{z{z{z{||{{||{{|{z{z{||{|{{||{{{z{{z{{{|{z{|{|{z{|z{{{z{{{{{||z|z{{{{{|{{{{||{{zzz{zz{{{{|{{{|y|zzzzz||{{{|{z{zzz{zzzz{|z{{||zzzzzzy{{{{zz{|{z{z{{zzz{zz{{{{{z{zzyzzzz{{|{{{{{zzzzy{z{z{{{{{{zzyyzzzzz{y{{z{{zyzzy{zzzzzyz{yzzzzz{zzy{zzzz|z{zzyzzzzzzz{zzzzzzzyzzzz{zz{z{yzz{{zzzyyz{{z{{{{{zzzy{yzzy{zz{{{zzzzyzzzzz{z{zz|{zy{{zzyz{z{{{{{{zzzzzzzzz{z{zzz{{z{zzzzz{z{zz{{{yzz{z{z{{{|{{{}{z{zzzyzzz{{z{|{{{zz{zzzz{z{|z{|{{zzz{{{zz{{{{{|{{{{zzz{{{{{|{|||{zzzzzzz{{{{{{||{{{{|z{{{|||{||{{{z{z{{{{|{{|{}{{{{{z{{{z||{|||{|{zzz{{{{|z{|||||{{zzz{{{{|{{{|{{{{{{{z{|{{|{{|z{{z{{{{{{{|||{{|z{{z{z{{{|{z{|{|{{z{{z{{{|||zz|{{{zzzz{zz|{|{{||yz{yzyzzz{{{{{z{zy{z{zz{{{z{{{{{{{zz{zzz{zzz|{|{{zzzzz{z{{{z{{{|zz{zzzzy{z{{z|{|{zzzzzzzzz{{{|{z{zz{zyz{z{z{z{{{zzzzzyzy{z{zzz{zzzzy{zzzyz|z{{{z{{zzzyy{zz{{{zz{z{zzzyzzy{zz{z{zzy{z{zzz{zyz{zz{|zzy{zzzzzzzz{{{zyzzzzyzzz{{z{{zzzzzzy{zz{{zz{{{zy{zzyzzz{{{zz{z{z{zzzz{||{zz{|{{z{zy{{z{{{{|{{zzz{{zzzz{z|z{{|z{zz{{z{z{|z{z{{{{|{zz{zzz{{{||||zzzyzz{{|{z||{||z{zz{{z{{|{{|{{z|z{{{z{z|z|{{||{{{{{{z{z{{{|{|{||z{|{|zz{||{|{{|{{{{{{{|{{||{{|{{{{z{zz{z{{{|{|{{zzz{zz|{{{|{{||{{z{z{z{z|zz{|{|{{{|zzz{{{{{{z{{{z{zzzzz{z{{z{{zzz{yzzzz{{{||{{|y{z{zzyzz{{{|{||{{zyyzzz{{{z{{{|{zzy{zz{zz|{{z{{zyzyz{{{z{z{{z|{z{{zz{{y{|zz{{{{zz{{zyz{|{z{{z{zzzzyy{zz|zz{z{{{zzzzzyzzzzz{z|zz{yzzyyyz{{{|{{{z|{zzyzzzzzyz{z{{zyz{zy{zzz{z{{{|z{{yzzzzyz{z{{{zzyz{yzzzzzz{{z||zzzyzzzzz{{{y{{{{z{z{zzz{{{{{|{{{z{z{zzz{{{z{||z{zzzzzzz{{||{{z|{zzz{zzz{{|{zz{z{z{{zz{zz{{z|{{{{zz{|{zz{{{{|{||zz{zz{{{||{|{||{{zz|{{z{{|||{||{{{z{zz{z|||{|||{{{{{z|{{{|{{|||}|z{{z|{{{}{|{{||}{{{zz{z||{{{z{{{{{z{{z{{{{{{||{|{{z{zz{{{{{{{|{|{zyzz{y{{{{||{z{{z{{{z{{{{{{{{{zz|zy{{z{{{{{|{{{zzzzzzyz||zzz||{zzyzzzz{{{z{{{|{zz{yz{z|{|{{{|zzzz{zzz{{{{{z{{{zzzz{{{z{{z{{{z{{zzzzz{zzzz{z{{z{{zzzzzy{z{z{{{|zzzz{zyyzzz{{{{{{zzzzzzzzzzz{{{|zyzzyyyz{z{zz{{{zz{yzyzzz{{z{{|{{zz{zyzyyzzzzzz{{zzzzzzzz{yzz{{{zyzy{zzzz{z{zz|z{zzzzzzzz{{{{z{{zyyz{yz{{{z{{{{zz{{yzzzz{z{z{|{{z{{z{z{zz{|||{{{{z{zz{z{{{{{y{{{zzzz{z{z{||{{{{|z{{{{z{{{|{|{{|{{{y{{{z||{{|{||||{z{|z{{{{z{}||{{{{{{y{z{{|{{{||{|{{{{|{{|{z||||}{|{z|z{{|{||||||{|z|z{{|{{||||||z{{|{{{{{{{|{|{|{z|z{{z{{z{{|{{|{{{{{{{{{{{|{{|{{{z{{{{||{|{|{{{{{z|{zz||{z{|{{{zz{zzz{z{{{|{{{{zzz{zzzz{|{y|||{{{zz{zyz{{{|z{|{z{zzzz{z|{{{||{{zzzyzzz{{{{{{{{z{{{zzzy{{{{z{{zzy|{yzzz{{|z|{z{zz{zz{zz{{zzz{{zz{zyzzzz{{{z|||{zzzzyzyzzz{z{z{{{zzzzzz{{zzz{{{{{{zzzzzzzz{zz|{zz{zyzzyzzzyz{|{{z{yzyz{yzzz{zz|{{zz{zyzz{z{{z{z|zz{zyz{z{{{{{{{{{{z{zz{{z|{z|{{{{zz{zzzzz{{{||{|{zzzzzz{{}{|z{|{{{{z{{z{{{{{{{z{|{z{{{{{z|{{{|{{z|zz{{{|{{{|||||z{z{{{{{{{|||{|{{{{{z{{z}|{{|||||{{{{|||{|{{{|{{|{{{{{{{{||||{|{{z{|{{{z|{||{{|{{{z{{z|{|{|{||||{{{{{{zz|{|{{|{{{{zyzz{{{|{|{|||{z{z{zz{{{{{{{|{z{|{{y{z{||{|{{{{{zzzz{y{{z|{{|{{{zz{yyz|{{{{{{{|zzz{z{{|z{{|{|{{{{y{zzz{|{{{{{|{{{zz{z{{{zz{{{{{z{zzz{z{{{{{||z{zz{zzzzz{{{z{z{{zzzyzzz|{{z{{{{zzzzyzyyz{{z{{|zzzzz{zzzz{{zz{{zzz|zz{zyz{{{z{{{{zzzy{{y{z{{{{{{{z{yxz{yz{{{yz{{{z{zzzzzz{|{zz{{{z{zzz{{{{{{z{|{{z{zzz{{z{zz|{{|z{zz{{{{{{{|{||{|{|zzzzz|{{{{{{{zzz{zz{{{{{|{{{{{z{z{zz{{|{{{{{{{{{{|{|{||{{||||{{{{{{|||{{{{||{{zzz|{zy||z{{{||{zz{z|{z||||{{}{z{{{{||{{{||{{|}{{{{{{{|{|||{{||{{z{z{{{{{||||{|{|zzz{{{{|{{||||{{z{|{{{{{{|{{||{{{z{|z|{|{|{}{{{zz{z{z{z{{{|{{||{{z{{{z{{|}{{{{{{z{{{yz|{zzz{{{{{z{zzz{|{{{||{{{zzzzzzz{|{{z|||{z{z{z{z{|{{z{{|zzyzy{{zz{{{{{z{{{{zz{yyz{{z{{{{{zzz{zyz{{|{z|{{z{zz{{z{z{{{{{{|yzzyyzzz{zz{{z}z{zzzyzz{z{z{{{z|zzzzyzzzz|{{{{{zz{{zzzzzzz{zz{z|zzzzzy{zz{yzy{z{zzzzzzyzz{{{{{|{{{yzzzzz{|zz{{{|zzzzzzz{|{{{{{|z{{{zzzzzz||z{|{{{{|{{y{z{{{{{{|{{{{{z{z{{{{{{{||{|z{zzzz{{{|||{{{{zz||{{{{{|||{|{|z{{{{{|||z{||z{{{{zz{z|{{||{|{{zz|{zz|{||{{{}|{||{{|{|{|{||}||{{{z{{z{|||||{|||{}{{{{|||||{{{{|{{z{{zz{||{||}{||{{{{z{{{||{{{||{{{{zz{{{{{{{||{{{z{z{{z|||{{{||{{{{{zz||||{z||zz{{{zyz{{{|z{{{{zyy|z{z{{{{{|||{z{z{z{zz{z{{{||{z{{y{zz|{{{z{|{{{zzy{zz|{{zz{z||zzz{{yz{{{zz{|{{zzzzzzzzz{zz{{{zyz{zzzzzz{{zz{{zzzz{zzy{z{{{{{zz{zzyzzzy{|z{{|z{{{zyzzz{{|zz{{zyz{z{zzz{zz{zz{{zyzz{zzzz{z{z{{{zzz{{zzz{{y{{|{{{z{{{z{{|{|z{{{{yz{zy{{{z|{{z{||yz{z{zzz{{{{||{{zzzzzz{{z|{z{{{{{z{zzzyz{{{||{|{|z{{{zzz{{|{{z|{z|z|z{{{{{||||||zz{{z{|{|{||{{||{{z|{zzzz{|{{{|{zzz{{{zz{|{|{|||{{{zz{{||{|||||||{{{{zz{{|{|{{{}|{||z{{|z}{|{{|}{{{{{{{{z|{||{||zzy{z{|z||{{{{{|{{|z{z{z{{{{{{||{{{{z{y{{{{|{z{{||{{{z{||{{|{|{{{zyzzz{zz{{{{{|{z{{{z{zz|{z{{{{|{zzyz{{{|{z{{{|{z{{zz{zz{{{{z{{|{z{yzz{z{{{{{{{{zzz{zyzz{{|{{{{{{zzzy{zz{z{yz|{{zz{zz{z{z{{{{|{{zzzyz{{yz{z{zz{z{zz{zzzzzz{zz{{{{{{yyzzzz{{{{{|{zyz{zzz{y{{zzzz{z{zyzy{zz{{zz{z{zz{yzzz{{{z{{{{z{zzzzzzz{{z{{{||{z{{zz{z{|{{{{{|z{{z{{y{z{{|z|{{{zzyzz{{{{|{|{z{{z{|{zzz{{{{{||{|{zz{z{{{|zz}|zz{z{z{{z{{{{||||{{|zz{||{||||z{|}{zz|{{z{{|||{||{{{{{{{{z{|{{{{|{{{{y{{|{{{|{{{{||{{|{{{{{||{{{|{|{{{{{{{|||{||{|{{z{zz{y{{{{|||}{|z{zzzz{{{}{||{{{z{zz{{z{|{{}||{{{{{{zz{{{{|{||{z|z{{||{|||{{{{{z{zzzzy{{z{{z{z{{{{{z{z{{|{{{z{zzyz{{z{{z{{{||{{zyz{zzz{|{{z{{{z{yzzyzz{|{{{|{|zyyzzz{z{{zz{{|{z{z{zzzzzz{{z{z|{zzzzzzy{z|{{y{{{yz{zyyzzzzzzz{{zzzzz{zyz{{{zz|zzy{{zzyz{z{z{z{{zzzzzyzzz{zz{{z{{|zzzyzzzyzz{{zzzy{z{{z{{zy{{{{|zz{{zy{{z{{{z||{|z|zyz{{{z{{{|||z{z{zzyz{{{{||{{zz{{zy{zz{z|{||{{{y|{zzz{|}{{{{z{{{z{{zy{}{{{|{|{z{{|{z{{z||||{{|{z||{{{|{z|}|{|{{{{zz{zz{|{{{|{|{{z{z{{{|{{||{|{{{{z||z|{{{|||{|{{z{{{{z{{||||{|zzzz{{{||{|{|}z{{zz|z{zz|{{{|{{{{z{|zzz|{{{{{{{z{zzz{zz{|{|z{}||{{{zz{z||{|{|{{{{{{z{z{|{|||{{{{zzzzzzz{{{zz{{{{zzzzyzz{{{{{|||{zzzzzz{|z{z{{z{{z{{zzzzzz|{z{{|{zz{yyyz{{{z{{{|zz{zzzyyy{zz|{{zzzzzzzzyzy{zz{{{zz{z{zzyyyzzzzz{yyzzyzzzzz{{z{{{{{{zzyz{{{zz{{zz{zzy{{zzz{z{{z{{z{{z{z{yz{z{{zz{z{zzzzzzz{{{{{{{zyzy{{zyzz{z{|{|zzzzzzz{z{{{{|||zz{zzz{y|{{zzz{|z{z{zzz{z}{zz|{|{z{zzz{{{|{{z{|{zz{z{zzz{{{|z{{{zzzzz{zzz|{{z{{{{z{z{{z{{{{{z|{{{{z{zy|z{{|{{{|}{zzz{z{z{|{|{{||zz{zzz|{}{||{{|{zz{z{{{z{{{{||||{{|{|{{z{||{z{|{{z{{{{{{{{{{{||z{zz{z{{{{{|||{||{|z{{zz{|{{{{{{|z{zz{{zzz{{z{|{|{{{{{z{z{|||{|{{{{{zz|{|{||||{{|{z{z{yzz{{{zzzz|zzzzzzzz{{{{||z{{yyzzzzy{{{zzz{{{zzzzzzz{z{z{{{{{{{zzy{z{zzz{{{{{zzzzz{zz{zzz{{{{{zz{zyy{{|z{|z|zyzyz{zy{zzzz{z{zyz{zzyyzzzz{zzy{zzzz{xzzzzz{{z|zz{zzzzzzz{{z{{zzyzzyyyyy{{{z{|zzyzzzyyzz{zzy{{{zyzy{zzzz{{{z{{z{{yz{yzyz{|{{z{z{z{{{yzz{z{zz{{{zyzzzzzz{z{{y{||{{zz{z{zz|{|{|{{{{{z{{z{{{{{{|{{{yzy{{z|{{{{{|{{z{zzz{{z{{||{||{z{zz{{{{|{||{||||{{{{z{{{|{{|z|{zyz{{{{z||{{{||{{z{{z{{|{|{|{}{|{{{{{zz{{|||z{|||zz{{|z{{|{|||{|{z{{z{{{{||{|||{{{{{zyy{{|{{{||{|{z{zz{z{|{|{{{|{{{{zz{{z||{{{{{{{zzzz{{{{|{}{z{{zz{{zzyz{{{z{|z{yz{zyzy{zzz{{{{{zzzzzzzzz{{{{z{|zzzyyzyz|{zy{z{z{{zyyzz{{{zz|{{{z{zz{yz{{{zz{{{{zzzzyzy{{{{z|{zzyzzzzzzzyz|zzz{zyzzyyzzzz{z{z{{{{zzzzyzzz{{{{{zz{zzyzzzzzzzzz{|zy{yzyzyyzzzzz{{{yzzyzzy{zzzy{{{z{z{zzzzzzzz|zz{{zzzzzz{{zzz{{{{{zz{yy{zzzz{z|z{zyzzzz{{z{{{{z|{{{z{zz{zz{{{{{{zzzz{{{zz{{{|{{|z{zzz{{zz{|z{{|{{zz{z{zzz{{{{|||{y{{z{z|zz{{|{{z||z{|{zz{z||{{||||z{zzy{{{|{|{{{{z|zzzz{z{||{|||{z{z{{{|z{||{|{{}{z{z{z{{||{{|{|{{{z{|{{z{{{|||||{|{{{zz{{{{{{|z||{{zzzzz{{{{{{|{{{z{zyzzz|{|{{|z{z{zzz{{z|||}{zz{{zz{yyy{{{{{|z{{zzz{zz{{z{{z|{|z{zz{z{zzzz{{{{{{z{{yzyzz{{{z{}|{zzyyzzz{{z|{{{{{z{zy{zy{{{z{{{{zzz{yz{zz{{z{{z|{zzzz{zzz{{z{{{{zzyz{zzy{{{{{{{z{yzy{yyzzz{z{z{yzyyzyyzzzzzzz{zz|zzzzzzzz{{zz{z{zyzyzzzzz{zzz{{{zzzy{{yy{{{z{{|{{{{zzzzz|{||z{||{zzzz{zz{z|{{{z{zz{zzzz{{{||{|{{{{zzzzzz{{{{{{|{{z{z{zzz{{{|{{|{{zz{z{z|{{{{{z{|z{{z{{z{{|{{{|{{{{z{{{{{||z||{{zz|z{{{zz|{|}{||{|z{{|{{{|||{||{{{|{{{{|z{|{{{{|||{{z{z{zz||||||{{{{z{z|z|||{{{{{{zz{z{{z{z{||{||{zz{{{{{{{{|||||z{{{|{{{||{||{{|{z{zzzzz||{{{{|{z{{z{y{{{||||{{{{{zz{zzzz{|{{{z{{zzzz{zz{{{{{{||{{zzzz{z{{z{|{{{zzz{zzzz{{z{{{||yz{{zz{y{z|{{z{{z{z{yz{zzzyz{z{{{z{z{{zyzz|z{|{z{zzzzzzyz{z{{z{{zz{{yy{zz{{{{|{{{zz{y{z{{{{z||{{zzzzyz{yz{{{zz{{z{{{zzzzz{zz{{{{{{zzzzzyz{{{{{z{zzzy{zzzz{{{zz|{zzz{zz{yz{{z{{{{{{{{{{{y{z{zz{||zzzzzz{{{{{{{z{{z{z{{z{zzz|{{|{{{{{{z{zy{z{{{{|{|{{{{{z{{{{{|{||{z{{z{{{|{{{|{{{{{|{{{{{|}{|{}|||{z{zzz{{||{{|{{|z{{{{{z|||{|{|||{{z{{z{{{z||{|||z{{|{|{{{{{{{|||{||{{{z|{z||{|{{|{z{z{{|{|{||||{z|{{{z{{{||||{|z{{{{{{z{||{{{||{z{zz{{z{||{|{||{{{{{zz{|}}}~{{{{zzzz{zzy{{{z{{zzyzz{yz|zz|{{z{|{{zzz{zy{y|{{||{{z{z{z{zz{z{{z{{{{{zzyzy{z{{z{{|zz{z{{|yz{{{z{{{{zz{zzzzzz{{z{{zz{{yzzyz{{{z{{{{zyzzzzzyzz{z{|{zyzzzz{zz{{{z|{{z{zyyzzz{{z{z{{{{{yzyyyzy{z{z{{{yy{zz{y{zz{{{|{{{{zzz{zzz{z{{||{{|z{zzz{z|{{{{||{zzzzzzzz{|z{{{{{yzz{z{{z{{{{{|{{|zzzzz{y{{{{{|{{{{z{{{zz|{{{|{{{z{{{z{{z{|{|{|{|{{{{z{{{{|}{{|{{{|{{{zz{{{{|{||{{z{{|z{z||{||{|||z{y{{{z|{|{||||{|{{zz|{{|{{||||||{{{z{z|||{{|}|{z{{{{{z{|{||||||{{|{{{|{{{|{|||{{{{|{{{|{{|||}{{{{{y{{{z|{{||||{{zzzy{{||{|{{{|{{{yz{{z{|~}~{z|zy{{zzzz{|{{{{||{{zzzzz{z{|{z{{{zzz{y{zyz{{z{{||{yz{zzz{{zzz{y{{{zzzz{{z{{{z{|{|zz{{z{{{{{{z{z|{zzzz{zz{zz{y{{z|zz{zzzzzzzzzz|{{zyzzzy{z{z{{{{zz{zzyzyyz{z{{{{z|{zzyyyzzz{{zz{{|zzzzzyzz{{zz|z{{zz{yzzzzzz{{z|{{{{z{zzzzz{{z{{{z{zzzzzzz{z|y{zz{zzz{zyzz|{{{{|{}z{{yzzz{|z{{{|{{{{{{{{z{{{||{|z{{y{{{{zy|{{z{|{{{zz{{zz{{||z{{z|{{z{{zz{||{|{z||z{{{{{{z{|{|||{|{z{{{z{z{|||}{|||z{z{{z{{|{|{z|{z{|{|{{z{||{|||||{{z{{{z{}z{{}}||{z{{z{z{{{|{{|{{zz{{z{{|{|{z|{{{zz{{{z{z{}|z{||z{{{z{|z{z{{z{|}{z{{yy{z||{{{|{|{{{{{z{{{|{||z{|z{{zyzzz{|{{{{{zz|{{yz{zz{{{{{{{z{zy{zzz{z{|{{{{{zzzz{z{{z{{{{{z{{{zyyzy|{{{||z{zzzzz{zz{{{{{{{y{yz{zz{z|{{zz{{zzyyzzzyzz{z{{{{{zyyzzyzyz{{{{{{{yzzyyzzz{z{z{{{|zzz{zzzzy{z{{{{{zzzzzyyyz{zzy{{zzzzzzzzyz{zzz{{{zz{y|zzzyz{{{|{zz{{{zy{y{{z{{{{|zz{yzz{zz{z|{{{{{zzzzzzz{{z{z{||{zzz{{zz|{|{{{{{{z{{{zz{{{{{{{|{{z{{{{zz{{{|{|{zzz{{zz{{{||{{{||zz{{{{{|{{|{||{|{{{{{{z{{{{{|{{{{{z{|zz{{|{|||}{{{z{{{{{{|{{||{}|{{{{{zz||{{{|}{{z{zz{{{{|||{||{|{{{{{z{{|{{{{|{|zy|||z{|{{{|||{z{{z{z{yz{{|{{|{{z{zz{{z{{{{{z{{{z{z|{|z||}||{{{{zz{zz{z{{{zz{{{zzzz{y{y{z{z{{z{{zyzzz{{zz{z{{{{zyz{{yz{zz{|{{{|{zzyz{zz{{|{{z|{{z{z{{yz{zz{{{|{{z{zzzzzz{{z{{{zzzzy{yz{z{{zy{{{{yzz{zzzz{{z{{z{zzzyyzzzyz{{{{z{y{zzzzyzz{z{{{{{z{zzzzyzz{zy{{{{z{zzzy{zz{{yz||zzzyzy{zz{{z{{{{zz{{zzyy{{|{zz{z{{zz{z{z{zzz{z{|{zz{zz{{zz{{{zz|{{z{zzzzz{|{|||z{z{z{zzz{{{{z{{zz{{zz{zzzz|{{{|{|{{zz{{zz{{||{{|{zz{z{{{{{{{{|{{|zz{z{{z{{|||{{|{{{{{{{zz|}{||{||{{{{{{{z{{|{{|||{|{{{{{{{|z||||{{|z{{{z{||||{|{{{{{{z{{{|{||{{||{{{{|{{z{|{z{|{|{z{zz{z{{{{{{{||}|zzz{z{{||{y{{{z{{z{zzz|{||}z|{zz{zzyzzz{|z{z|{{zzzzzzzz|{{{{{{zzzzzzyzz{{|z{{{{z{y{yy{zz{|zzzz{zzzzzzz|z{{{{{|zzzyzz{zz{zzz{|{zy{{{y{z{{z{z{{zzzzzzyyy{{zzz||{y{zzyzzzzz{z{{{zzz{zyzzz{{zz{{{{zzzzzyzzz{{zzzz{{zzzzy{zz{{zz{{{{zyyyyzzz{z{{{{{zzz{zzyz{z{{{|z{{zzzzzyyzz{{zz{z{yz{zz{x{zz{{zz{z{zzz{{{|{{|z{z{{{{{{z{zz{{{z|{{zz{{zzzz{{{{|{|{{zzz|yz{{|{{{{|{{{{z|{{z{{||{{}{{z|{{{{{{{z}{|||{z{zz{{z{||{{||{{{{{{z{z||{{{{||{|{zz{{{{{{}|{{{{{{zz{z||||{{{|||z|z{zz{{{{|||||{{{{z{zz{{|z{{||{{zz{{{z{{{{||||{{{{z{zz{{z{{|z{{z{{{{zzz{|{z|{{{z{zzz{|{{|}|z{{{|{z{zzz{{{z{z{|{{z{zzyzzz{{{|{{{{zzzzzz{{zz{{{|{{{{yzzy{{{z{{{{zz{zyz{{z{{zz{||zyzy{yzxz{|z{{{{{yzzzzyzz{z{z{z{{{z{zzzz{zzyzz{{zzzzyyzzz{zz{z{|zyyzyzzzzz{z{zz{zzzzyyy{{{{{{{{|{zzzzz{yyzzz{zy|zzyzzzz{y{yz{{z{z{z{zz{z{{{{{z{|{{z{zzzzz{{|{|{zzz{zzzzz{{{z{{{{zzz{z{z{{{{{{{z{{{{zzzz{zzz{{}{{zzzzzz{z{{|{z{|{{{|{{zz{{z{{|{{{{{zz{{{z{{{{{|{zzz{{zz{{z|{|{{|||{{z{z{z{{{{{|{|{z{{{{{{{||{|{|{{{{zz{{{{{z||{{{{{{|{|{z{{{{z|{||z{{{z{{{|{|{||||{{{{zz{z{{{{{|}z{{zz{{{|{{||{|{zzzyz{{z{{z{{|||{{{zzzz{{|{{{{{{{{{{z{{{{{|||{{{{zzyz{zzz{{z{{{{zzzzzzzz{zzz{z{|{zyzzzzzzz{z{|{zzz{yzzyy{z{zz{{{zzzzzzzzz{{{z{{{{zz{{{zzz{zz{{{{{zzzzzzzzz{{zz{{zzzyzz{zzzz{zzz{zzzzzzzzz{zz{{z{{zz{zzzzz{zy{x{{zz{zzzzy{z{z{{z{zyzyyyzzy{{zzzz{zyzzzzzzzz{zz{{{{zzzzz{z{|zzzz{{zzyzzzz{zzzz|{|{{{z{zz{z{z{{z{|zzz{zzzz{{{{z{{{|zzzy{zz{{{z|{{{|{z{{{{zz{z{{zz{{|z{{{zzzz{{{z|{|z{y{yz{zz{||{||zz{zz{{{z|{z{z|{{{z|{zz{z{{||||z|{{{z{z{{z|{{{{||z{{z{|{{|{{{|{|{{{{z{{z{{{|{|{{||{{{{{zz{z{|{{|{zzzzzzzz{{{{{{{||zzz|{{{||{{||{|{zyzyzzzz||{{{|||{z{{z{z{{{||{{{zzzzzz{z|||||{{zz{zzzzzzz{{z{z{|z{zzzz{y{{{z{{{{zzzzzzzz{z{|{{{z{zzzzzzz{z{z{z{{zzzzzyzz{z{{{{{zzyzzyzzzyz{{z|{{zz{zzzzzzz{{z{{yyzzzyzz{zz{zzzz{{yzy{yzzz{zzz{{{zyzzz{yz{{z{{zzz{z{yyzzxz{{{z{{{zzzyzzzyyy{zy{z{zyyzyyyz{zz{{z{{yyy{z{y{z{{|zz|{zzyzyyzzz{z{z{{{zzzzy{{z{{{{z{|{zzzzyzz{{|{{z{{|zz{zzzzy{{{{zz|{{zzzzz{y{{{|{{{{{{z{z{z{|z|z{z{{{zz{zy{y||z||{{{z{{{z|{y{{{{{{|{{{zzz{{z{{|{}{|||zz{{z{{{|{{{{{{z{|zz{{{{{{{{{{|{{}{{z{z{|z|{{{|{zz|{{zz{{||{|{}{zzz{zz{{{{z{|{||{z|{zzz|||{{|{{{{{{y{z{z{{{{{|{{z{yy{zzz|{|z{{z{zz{{z{z{{{{|{{{{{z{zzzz{{{{{{|z{zzzzz{z|{{z{|z|z{zz{{{z{{z{{{|{|z{{zzzy{{{{z{|{{{yzzzzz|{|{{{z|zz{{yzzyz{z{y{{zzzzzz{z{zz|{z{{{zz{zyzyzz|zz{{z|zyzzz{zz{|z{{|{zzzyzzzy{{z{{z|{zzz{zz{zzzz{zz{{z{zzzzy{{z{{zz{{{zyzzzzzyy{{{z|{z{zzz{zyzzz{z{{{{{{zz{z{{{{|{{{{|zy{zzyz{{{{{|z|{{z{{z{zzz{{{||{{z{zzzz{yz{{zz|{{{{zzz{zz{z{{y{||{z{zzzz{{{{z{{|{z{{z{{{{{{{|||{{z{{{{|{{{{z||{}{{{{{{zz|{|||{z{{{{{z||z{}||{{||}{|{zz{{z{|z|{{|{{zz{|{|{|{||{|||{{{{{{{z|{|{|{||{{{{{{z|{{{||{||{{z{{{{{|{{|||z{|{{{{zzzz{{z|{||{{{{{z{z|{{{{{|{z{{{{z{|||||{|z{zzy{zzz{{{zz{{{{zz{zz{zz{zz{z{{{z{zzz{zz{z{z{{{{|z{z{zzz{{{{z{{|{zzzzzzz{{z{{{{{{z{{{z{y{{{{z||z{{{zz|zzz{{{z{{zzy{zzz{z{zz{{z|{{zzzzy{zzy{z{{{{zzz{{zyz{{{{|{|z{{z{zzzz{{{{{{{{z{zzzzyzz{{{{{z{zzyyzzyzz{z{{{{zzzzzz{zzzzz{{{||{{zzzy{yz|{z|{{{{zzzzzz{{z{|{{{|zz{z{{z{{{|z{{{|{{{{{z{{{|{|{|{zz{{{z{zy{{}{z{{zzzzz{{z{|{{z{||{{{z{z{{z{{z{|{|{z{{z{||z|{{{{{|}|{z{yzzz{{{|{|{{{{{||{{{{|{{|||}{{{{z|{{{|{{|{{||{{{{z|{|||{|||{{{|{{{|z||{|{{||{{{{{{{{{{z{|{|{z{z{{{{{z{{|{|{|{|{z{{z{{{|{|{}{{{zzz{zz{|z{{{z{{{{{{zzz{{{||||{{{|{z{{z|{{{{{{|{{z{{yzz{|{{|{|{{{z{{{{z{{{z|{|{{{z{|z{z{|||z{{z{{{zzz{z{{|z{}{{{{{z{{{z{{|{{{{{{{z{y{z{z{{{{z|{z{z{zz{{z{{{{{||{z{zzzz{z{{|{|{zz{|zzzz{z|{{|{|{{{z{zz{{{{z|z{{{z{{z{z{zz{{zz{{|zz{z{zzz{zzz{|{{{z{z{z{z{{{{z{{|{{z|{z{z{z|{|||||z|z{zzz{{{{{{{|zz{{{{{{|{|||{|||z{{{{z{{|{{{{{{{z||{{zz{{{{{{}|{z{{z{{{{|{{{||{|z{|z{{{{||||||{{{||{{|{||{{|||{|{{{z{zz||||{||||{{{|{{{{{||||||{{|{{{|z||{||}|}}{{{{{{|{}{||||||{{||{{{}||{|||}}z{{|{{|||{||}||{{{{|{{{{|{|||{|{{{{{{|{{|{||}{||{{{z{{z{{{||{}{|z|{zz{{|}||||{{{{|zzz{zz{|z{{{{zzz{{{zzz{{{{|||zz{yzzzz|{{{|{||{{{{{zzz{z|{|{||{{z{zz{z{|}z{{{{zz{zz{zz|{{z|{{{|z{|{zzzz{{z{z{{{{{yz{z{zzz{{{{|zzzz{y{{{|{{{z{{{{zzzzzz{zz{{{|{z{zzyzzzy{z{{{{|zzz{zyzyz{{{{|{{{{z{zzzzzzz||}{{|yzzzzzz{|{{{|{{{{zzz{zz{|z{{{z|{{zzyz|zz|{|{{{{z{{z{{{{z{{{{|||{z{{{{zzz|{|||{{{zzz{z{{{|{{{z|{{z{{{{{{{{{{{|{{{z{z{zzz|{{}|{|}{{z{|z{z||{|{{z}{|{|z{{{{|||||{{|{z{|{{{|{{|{||}|z{{{|{||||{|||||||{{{|{{|||||}||{{{{{|{{||||||||z{z{{{{{z{{||}|{{{||{zz|||z||{{{{{zz{{zz|{{{||{|{z{zzzy{{{|{|||{{{{zz{{|{||{{{{z{{{zzzz||{|{{{{{zzz{zzz{||{{{||zzzzzzzz{z{{{||{{{zyzz{z{{{|{{z{{{{z{z{{{{z{||||{z{zz{{z{{{|{{{z{{z{{{zz{{{{z{|{zz{z{zzz{z{z{{|{{z{{{zz{{z{{|{{{zzz{zzzz{{{{|{z{{|{zyyzzy||{{{||z{zzzzzyzz{{z{{{z{zz{zzzz{zz{{|{zzzz{zzz||z}{}||z{zzz{{|||{{{{{{{{{{{zzz{{{|{{{|z{{{zz{z||{{{{||{{{{{{{{{|{||||{zz{z{{{{{{{{{{{{{{zy{{z||{|||||{z{{{{{{{|{{|}{||z{|z{|{{|{{|||||{|{{{{zz||||||{{|{z|{{z{||{{|}|{{{{{{{|}{{||{{||||z{z{{{|{{|}||{||{{z|{{|}{{|{|{|{{{|{{{||||}|}}|{{z{{{{{{||}{||{{{{|||{{{{{|{|}{{z|{{z{{|{{|{||{z|z|zz{{|{{{|{|{{zz{z{{z|{{{{{|zz{yz{z{{{|||{{|{z{zzz{{{z{{{|{|{{{zzz{{z{{{|{||{{{y{{zz{|{{{|{{{z{z{{zz{|{{{{|{{|{{{{{z{|}{{|{{{zz{z{z{{{{{{{{{{{z{{{zzzzz|{{{{z{{zz{zzz||{{{{{z{z{{z{z{z|{{{{{{{|z{z{z{{|{{{z{zzzz{zz{{|{{{{{{{z{{{{yz{{z{|||{{{z{{z|{{|{|{{|z{z{|{{z{{|{{|||{{{{{{z{{{{{{{|||{{|||{{z{|{|{|{{z{zz{z{{{{||||}||{|{{z{{{||{{|{{{{{|{{z{||||||||{{{{|z{{|}{{||||{{{{{{{z{||||{{}{{{|{|z{||||||||{|{|{|||{}|||}||||{|{}{}{||||z{||{{{{|{{|||||{|||||{|{{||||{}||}{|{{{{|{}{|||}}{{{z{{{{|{|||{{}{{|{{{{{z{|{||{}{|||{z{{{{||||}{|{{|zzzzz{||{{{{{{{{{z{{{|{||{{||||zz{{{{{|||{{{|{z{{{{{{|{|{{z{zz{{z{z|z{||||{{||z{{z{zzz{{|{|{{{z|z|{z{{|{{{|{{z{z{|z{{{{{{{{{|{z{zzz{zzz{{{{|}{zzz{{z{||{{|{|{{z{{yzz{{{{{{{|{{z{{{zzxz{z{z{{{{{zyz{z{z{{{|}|{{z{z{{{{z{{{||||z{|z{{{{{|{{{||{{{|{{z{{{{{{}{|{{{z{{{|{{|{||{||{{{{|zz{{||||||||z{{{{{{|||{||||{{{{|{{{{|||z|{||{{||{{|||||}|||{{|{{{{{|||||||{{||{|{{{|||||{{{|{{||{{{|}|}||}|{{|{|||{{||}|}}{|{|{{||{{}||}|||{{{{{|{{||||{|{|{z{{{|{{{|{|||||}|{{{{||{||||{|}{|{{{{{{||||||}{||{{{{|{{|{|||{|{{|zz{{{{||{{||||zz{{z{yz{|{{{{{{|zz{z{z|{||{z||{{z{{zzz{||{|||{|{{z{{zzz{||zz{|z{|{zz{{{{|{{|{{zz{z|{{z{z{{{|||{z{{{{{{|{|{{{{{zz|zzzz{{z{{{|{|z{{zz{{z{{{{z|z|z{z{zyzz|{{{|{z{{{zzzzzz{{{{|{{{{zzz{z{{|{{{{|z{{{{{zz{zz|{zz{{{{{{|z{zz{z{{{{}{{z{{{{zz|||{{{{|{{z{|{{z|{z{z|{||z{||{{{||{{|||{|{{{{z{{|}|}|{||{z{z{{{z{{|||{}||{{|{{{{|||{||{|zz{||{{{{|||||||{{{{|z}{}||{|||}|z{|{{z{||||}||{|{{{{{z{{||{|}||{|{|{{||{{|||||{|{||z{{|{}|||||||{{{{{|||||||||||z{{{|{|||{|||}}|}{z|{||||||{|}|{{|{z{zz{|{|{||{{{{{{{{|{}||{|||{z{{zz{z{|{z{{{{{zz{zz{{{{|{|{|{z{z{{{{{{{|{||||||{{{{{z{{{{{{{{|{{zz{{z{{|{|{{{{{{{{{zz{{{{{|{{{{{zzzzzz{{{{{{|{{{{{z{{{{{{z|{|{z{{z{{{{z{{{{{{zzzz{zz{z{z{{{|{{{zzz{yz{{|{|{{{z{{{z{yz{{zz{{{|{zzz{zzz{|{{z|{{{{{zz{z{{|z{{{|{zy{{{{{z|{|{|{{|{{{z{z{z||z{{||||{|||z{{{{|||z|{{{||zz|z|{{||}|{z{|z{z{{{{{|}{{{|{|{{z{||||{{{z|{{|{z{{{{|{{{||||z{{{{{{{|||||}|{z|z{{|{{||{||||{{||{{|||||||}z||{|{|{{{}||||}}|z{{{{|||}||{||||}{{{{}|{|||||}|}||{|{{{{|||{||}}|{|{z{{|}|{|||}}|{{{{{{||||||}}}|||{z{{{|||||}|||{{{{|{z{}{|{|{{|{{{{|{{|{}|}zz{z{zz{{|zz||zz{||{z{{{{z{z{z{{|||{{zzzy{z{z{{|{{{{|z{z{zz{{|{zz{|{{{zzz{z|{{{{|z|z{{{z{{{z|{{z|{{|{zzzzzz{|{{z{{|z{{z{zyz{|z|z{{{z{{{|zyz{{z{{{|{z{{{zzzz{{{z{{{{{zzzzzzz{{|{{z||{zzzzzzz|{{z{{{|{zzz{{{y{{{{||{z{{zyz{{z{{{z{{{{{z{z|yz{{|{{{{{|z{|z{zzz|{|z{{{{{z{{z{zz{{{{{|{}{{{{{{{{{z{||}|{||{{{{z|||z{{{{||z{{zz{{|{|z{|{|{z{z{z|{{{|||||||{{{z|{{||{}{|{||{zz{{{z|{{|{||{|{{|{|{{|||||{{|{||z|{||{}{|{{|||{z|{{{|{}|}|}|||{{|{{||{{|||||{|{{|z{|{{{||}||||||||{{{{|}{}|||{{{z{|{{{{||||}|{{|{zzzz|{{|||}{{z{{zz{z{||}||{{{z{{{{zzz{||{{||z|z{zz|{|{{z{||{{{{zz{{{{{|{{{|{{|{z{zzz|{||{{{{z{{{z{zz{{zz{|z{z{{zz{zzz{{{||{|{{{{z{zz{{{z{{{zzzzzzz{|{z{|{|{{z{{z{zzzz{{z{{{|{zzz{zzzz{{z{z{|{z{{{zyz{|{{zz}|{yzz{{zz{{{{{z{z{yzzzz{{z{z{{{|{zz{{{z{{{{{z{{|{{|{z{z|z||{z{{||{{||{{{y{{{z||{}{{z{z{{z|{|{{{z|{z{zzz|{{|z|{{{{|z{z{{z{{|||{{{{{{{z{{{{z||{{|{|{{z{{{|{{|||{{||{z|{{{||{z||{||{z{z{|{z{|}~|{||||zz{{{{|}||{|}}}{{{|z|{|||{|||||}{{|z|{{{||{|||}{{{|{z|{z{{|z|}|{{{|{{|{{|{||}|{|{{{|{|{||||||||{{{z{{{{||{||{|{{{{z{{{{z}{{{{{{{{zz{z{{||{}|{{{{z{{{{{zz{|{{{{{zz{{{z{z{{z|{|z{|{zz{zz{{{{{|{z|{z{{{|y{{|{{{z{{{{{{{yzz{y{{{|{{|z{z{z{zz{{z{{z|{{zz{zzy{{{{z{{{zz{zz{{z{{z{{{{|z|zz{{z{z{{z{|{{z{{{zzzzz{{{{{|}zz{{zz{z{{{{{{|z{zzzzzzz{{{{|{{|z{zzzz{zz|zz|{{{zzzz{{zz{{{{{{||{{{{{{{{|{{z{{{{|z{zz{||zz|||||{|z{zzz{{{{|{|{{{{{zzz{{|{{{||{{|z{{{{{z{{||{|{|{z{{{z{{{{|{{{|{{z{|{{zz{z{|||}||{{{|{z|{|}{||||{|z{{{{{{{|||||}{{z|{|z{{{|{|||||{{z{{||{|{||{|{|{{{|z{{||}{||||{|{|{z{{{|{|{{|||{z{{{{{|||{}||{|{{{|{}|{{||||{}}{{{{z{{{{{{{{{{{|{z{{{z{{||{{{||{{{{z{{{{|{{{{||{{zzzzzzz{{|{{|{{zz{{{z{{{zz|{{{|{zz{{zz{|z{z{{|{yz{zy{z{{{|zz|{{|{{zzyy{{||{{{{{z{zzz{yz{{{{|{{{zzzz{zzzz{{{|{zzz{z{zz{{{z|{||{zz{zz{{z{{{{{{{zz{{zzzzzz{{{{{z{zzz{zz{{z|{z{{z|z{zzzz{yyzz{zzz|{zzz{{zzz{zz|{|zz{{{{{zzz{{{{{{{{zz{zyz{{|{{{{||z{{zz{{y|{z{|{|||{{{zzz{{|z{z||{{z{zzz{|z{{|z{{|{zz{{{{{z||||{{{{{{{{{{{{|{{z}|||{|{{{z{||||{||{zz{{{{z{{{{{{||||{{{|{|z{||{||{{{z{{|{{{|{{||{|}{{{{z{|||{{|{|||}{|z{|{{{|||||z||{{{|z{|}|{|{|{||{{{|{{{{||||||||{{{{{{{{|||}||}{{{{{z{zz{{|{}|{{||z|{{z|{{}{||{{{z{z{zz|{}{{|{z{zz{{{{z{{|{||{||z{zzz{z{{{{|z||{{z{zz{zz{{{{|{|{{{zz|{y{{{{{zz{{z{z{zzz{{{|{{{{z{zzzz{zz{{{{||{{zzz{yzyzz{zz{{{{zzzyz{z{{zzzz{{zzzzyy{{{{{{z{{{{z{z{zzz{zz|{|{{zz{zzz{z{z{|{|||zz{z{z{z{{zzz{{|z{{zzyyzy{z{z||{{y{zz{z{{z|{{{{|zyzzzz{z{|{{{{{|{z{z{zz{{{{{{{{|z{zyz{{|{|{z{{|{{{{z{z{{{z{{{|{z|{{{{{yy{|{{{||{|zz{z{z{{}{{||{||zz{{|z{{||{|||{z{|{{{|{||{|{{||{|z|{{{{{{|||||{{{{{|z{||||{||||{{|zz|{{{|||||{||{z{zz|{z||||}||{{{{{z{{|{}|||{{{{{z{{{{{{||{||{{|{{{{{zz|z|||||{{{z{zz{{|{|{|||{|{{zz{{{{|||{{|{{{z{z{z|{{|{|{{{{zz|{zzz{zz{|{|{{zzzzyzz{|||||z{{zz{{zy{{{{|{|{{{{{zzzyy{|{|{z|{|zzzz{{{||z{|{|zz{z{{zy{||{{{|{{zzzy|z{zz{z{{{{zzzz|zyzz|{{z{{{{zz{zy{zz{|{{{|{{zzzz{z{z{{{{{{zzzzzzz{zz{z{{{||{{{{zzzyz{{z{z{|z|{{{z{{y{z{z{{{{zzz{|zz{{zz{{|{{z{z{{zz{|{{{||z{{{yzzz{{|{|||||z{{{{zz{{{|{z{|{zzzz{zz{{{{|{|zz{z{z{z{{{|{z{||{|{{{z{{z||{{{{{|{{{{z{{{{{||{|}{{|{{|{{{||||{|||{z{{{{zz}z{{|{|{|z{{{{|}|}|||||||{{|{||{|{|{|||||{{|{{{z|{{{|||}{{{||||z}{{|{|||||{|z{zz|||{|||{{{{{|{{{||||{|||{{{{z{z{||{}{|||{{{{z{|z{|{{{||{{{{|{{{{{z{|||{zzz{{{z{z{{}{{||{|z{zzzz{{|{|||{|{zz{z{{{{{|{||{{|{{{{{zz{z||{z|||{|y{z{z{{||z{|{{z{{{{{zz{{{{{|{z{{z{zz{{{|z{||zz{{zz|z{z{{z{{|{|zzzzzzzzz{|{{{{{z{|y{z{{{{{|{{{{{{{y{zzzz{|||||{{z{|zzz{{z{z{{{{{{zz{{{z|{{{|{{z{z{z{yzz{||{||{|{z{{yz{{{{z{|{|z{{{{z{{{{{|{||{{|{{z|z{{{{{{{{|{{{{z|zz{}{{||{{{z{{{yz|{|||{||{|{z{{{z{{||z{{{|{z}z{|{z||{}||||{||z{{{|{||}{|||{{z{|{{z|}|{||{|{{{|{{{{|}|||{|}{{{{|||{|}|{{}||}|{{z|z||||||||}}{||{{{{{|||||||{{|{|{|{{{|||}}|{{zz{{{{||{|||||{z{z|{{{{|||}|}|{{{|z{|{{{||{|||||{{{{z{{|}|{zz{zzzzyyzz||{z{{||{{{zzy{{{z{{|{|{z{{z{{|z{{z{|{{|{{|zzzz|z{{{{{|{{{{|yzz{{{{{{||||z{{z|{z{{||{{{z{{{{{zzz{z|{{{{zz{{zzz{z{{{|{||{{{{yz{zzz{{{{{{{z{{yz{z{y||{{{z|{{z{zzzz{{{{{{|||{{zz{zz{{zz{|{{{{{zzyz{z{{{{{{||zzz{{zz{}z|{z{}{{z{zzz{{{{{{|}|{zz{{{zz{{||z{{|{{|{z|{{{{{||{|}|z{{{yz{{|||{{{|{z{{{{z{{{|z{||{}{|{{{{{||{{||{|{{{{{{|{|{||{|||{{||z|||}||||{|}{||{{z|z|{||{{|{||||{{{{|}|{||||{{{|z||{{~{{}||||{{{{{{{{}||||||{{|{zz{{|{{}|{|||{{{|z{|{{|{|||||{z{|{z{{{{}{{{{||{z{{{{{{{{{||||{{|{{{z{{{|{{||{|{{{z|z||}}||{|{|zz{{zz{{{||{||{zz{z{{z{|{|||||{zzy{{{zz{|{||{{{z{{{z{z{|{|{{|{{{{zz{zzzz{{{|||zz{{z{|z{|{{z|||{z{zzzz{zz|{{{z{{{zz{{z{{{{{z|{{zzyz{{zzz|{{||{{{z{z{{z{z|{{z{{z{z{zzz{z{{{{{{|{z{zzzzz{zz{{z{z{{{zzz{zz{{z{{|{|z{zzz{z{{|{{|{|{{z{zzzz{{{{{{{||{{{{{zzz{{||z|{|{{{{yz{z{||{{|{{{{z{z{{{||{{{|{||{{z{|zz{{||{|{{{z{{{zz{{||{{||{|{{{{{{{|||||{||{{{{{|{|{|{{{{||{{{{|zzz||}||}}||{z|{{{{|||}{||{{{{{||{{{{||||||{{{{{{{{|{|{|||||{{{{|zz||||{||||{{||{{|{{{||{|{|{{{{|{|}|{|||||{{{{|z{{{|{z|{}||{|{{{z{{{{||z{|{z{zzz{{|{|{|{||{zzz{{zz{||z{{{|z{{{yz{z{|{{||{{|z{z{zzzz{z{{{{{{z{zzz{{{{{{|{{{{{zzzz{z{z{{z{|{zzzzzzzzz{|{{|{|zz{zzzz{zz|{{{|{zzzzzzzz{{|{{{{{zz{yzz{{{{{{{z{z{{zzy{zzz{{zz||{{|zzzzzyz{{{{z{{{zzy{z{zz{zz{|{z{{zyzzzzz|{{{{{{zzz{zzzz{{|{{{|||z{z{yz|{{{{{||{{{z|zzz{{{{{|{{|{{zz{{{{{|{z{||{{{z{{z|z{{||{|}{zy{{{{zz{||||||{|{{{{zz{{{{|{|{{{{{{|{{z||{{||{|{z{z{{{{{{{|{{|||{{{{yzy{{|{|||||{{{||{{|}z|{|||{{|z|{{{|||{|{}||{{{{|z|{~{{||}}|||{{{{{{||{|{||zz{{{{z{{{{{||||||z{|{z{||||||{||{{{{{{{|{{|||{{|{z{{zzzz{|{|||{{{|{|zzzy|||{|{|{zz{{z{zz{{{{|{|z{z{zz{z|{|||{{{{{{zzz{{{{|{|{|{{{y{{zz{|{||{||{{{{zzz|z{{{{{{{|{{z{zzz{{{z{{|{|{{{z|zzyzz{{{{{|{z{{zzz{zzz|{z{|zzzzzzz{{{{{|{{{{zzzyz{zz|{{{{|{{z{zz{{z{|{{|{|{{zzzzzzzz{{{z{||{{zzz{{z{{{{{|{}{{z{z{{zzz|{{||{zz{{{{{|{{{{{{{|zz|z{{{z{{{{|{{|{|{{{z{z{{{z{|{{{{{{{{|zz|{|{{{{{|{{zz{{|{{z{{|{|z{y{z{{{{|{{{{|{z|z{{{{|||~{|}|{{z|{{{{|{|||{|||z{{{{{z{{{||||||{{{|{{y{||z|||}|z{|{|{|{|||}|}|||z{{{{{{|||}{{}|{|||{{{||||||}{}z{|z|{{||{||||}{{{|{z{|{{}|{|{|{z{{{{z{{|{||{{||{{|{z{{{|{{{|||{{|zzz{{{||{{{{zzzz{{zy{z{{{z||{{{{{z{zz{{{zz|{|{{{{{{z{{{zz{{{{|z{{zzzy{{z{{{|{{z{zz{{{{{|{{|z|z{{z{z{z{{{{{{|z{{yz{|z{z{||{{z{zzz{{{z{{z{{{|{{{yzzzz{z{|zz{{{{{zz{zzzzz{{z{{{{{{{zzyz{z{zz{{{{zzzz{yz{zz{{z|{{zyzzzzzzz{zz{{||{z{{{{{{{|{{{zz|{zzz{{zz|{{|z{||zzz{{z{{z{|{{{{|z{z{{z{{{|{|{|{{{{z{zz{z|{{|{}{{z{z|{|z{{{{z|{|||{zz{{zz|{z{{{{{{{{{{{{{|{{||{||{{{|{{|{|}|||||||{{{|{{{{}|||||{|{||z{{{||||{||{{{{{{{|{{||||}|{{{{{{||{{||{{||||{{{{{{{||{}z||||z{zzzz{{||||||{{{{{{z{||{||{|{|{{{{{z{|{{|}|{}{{|z{{{{{{|{||{|||{{{{zz{{{|{{|{zzy{{{z{zz|{{|{{{{{{zyxzz|{{{||{{z{zyz{{z{{z|{{{{{zzzzzy{{|{{{{z{{{{zzz{zz{z{{{|{{zz{{{{zz|{zz{{|zzyz{{zz|z|zz{{{{{{{zzzz{{|{{z{|{z{zzz{z{{{{{{|{{zz{z{y{{{{zz||{{zzz{yzz{{z{{{|zzzzzzz{zzz{{{{{{zzzy{z{yz{z{{z{zzzy{z{zyz{{||{||{yz{{yzzz{{{{{{{{{{zyy|{z{z{z||{zzzz{{{{{{{z||{|{{{|zz{z{|{{||{{{z{{{{{{{|z{{{}{{{z{|{{{{z{{|{{}{|{{{{{{{{||||{}{|z|||{{{{||}}||z{{{z{{|{}||{{||{{{|{{{{|}|{|||||{{||||{{{{|||||{{{||z{{{||||||||{{||{{|||{|{{||}z{{|{{{|{{|{|}||{{{||{{{|}||||||{zz|{z{{{{{|{|{{{z{{{z{{||}|}}|zz{{{{{{{|{|z{||zzzzzzzz{{{zz{{|z{{zz{{z{{z{|{|{{{{{zz{z||{z||{z{z|{{z{z{{|{|{{{{{z{{zzzz{{{z{||{{{{z{{zz{zz{|{|z{zzzz{zz{{z{{|{zz{zzzyzz{{{{z|{zzzzzzz{{|{zz{{{{{yzzz{{{{{{{{|{zzzyyzz{zz{|{|{zzzz{zzzzz{z{|z{z{{zzzzzzy{zz{||zz{{zz{{z{{z{{|{|zzz{zz{z{{{{{{{|{z{zz{{z{zz{{{{}zzz{{z{{{|{{{||{{{{{{y{z{{||{{{{zzz{|{{z||{|{{|z{zz{{{z{{{{{z|{|{zz|{{{{{{|{{||{{{z|{{zz||{|||||{{{zz{{{|||||||||{{{{zzz||||||||{{{{{|{{{{||{{|}|{{|{|{z{}{{|{||z{{|{{{z||||||}{{z{{|{|{{|{|{|{{|{|{{{{{|{|{{z{|{{{{{zz{|{{||{{{|z{z{{zz{{|||{||{{{zyzz{{||{|{||zzzzzzzz{{|{{{{||{zz{{yz{{zz|{||{{zz{{{{{||{|{}{{zz|z{z{|{{{{{||{{{yyzzz{z{z{|{|{z{zz{{{z{zz{{|{zzyz{zzzz|{y{|z{z{zzz{zz{{z{z{{{z{zyzz{z{{{{{{|{{zzzzzz{{{{{|{|{z{{zzzzz{{|{{||{{zzzzzz{z{{{{{z{{{zzzzzzz{z{|{{z{zz{z{zz{{{{{|||zz{y{y{z{||{{||{zz{z{z{{{{|{{|{|{z{zzzzz{|{{{||}{{{z{z{{{|{|z|{|{zz{z{{z||{|{{{{|{{|{z{{||{{z||{|{{{{{z{||{}|||}{{{{{z|{|{{{{|||{{|{|{|z||{||||{|{{{|{z{{|||z||}z|{{{{{{||||{|}||{{{{{{{{|}|{{|||{|{{{{{|||||||||{z{{{z{{{{||||||{|{{{{{{|{{|{||{{zy{{{{|{{|z}|{{{{{z{z{{{||{{{||zzz{z{|||{|{{{|{{{zzz{{{z{{{{{{{{zzz{{zz{|{|{{|{{{{{z{|{{{{{{|{{{{{zz{z{{|{z{z{{z{zzz{z{{{{{{{{z{z{{{zz{{{{z{{z{{zyzzzzyz{{{|z|zz{{{zz{{z{|{{z{yzyzzy{z{||z{|{zz{zzzzyzz{{|{{{|{z{zzzzzz{{{{{{{zz{y{z{zz{z{{{{{zyzzyyzz{{{{z{{{y{{zz{zz|{{|{{|{{{{z{zzzz|{|z|||zzz{{z{{zz{{{{{|{{z{{zz{{{{||{|{|z{z{y{zz|{z|{|{z{{{{zz{|{{{{{}|{{z{{zz{{}{{{{{|{{{{{{z{{||||{|{|{|{|{|{|{|}|{|||{{{|{{{|{|||{|||z{{{|z|{{||{{|||{{|zz{||z|{||}||{|{{|{{||||||}||zz{{{z{{|{|{||{|{zz{{{{|{{{{||||{{{{{{{|{{||{{|{|{{{{{{|z{||{||}|z|{zzz{|||||{|zz{z{zz{{{{{{|{{{{zz{{zz{{{{{{||{{{z{z|zz|{{{{{|{{zzyzzz{{{z{{||zz{{{{{z{||{|{{{{{z{zz{z{zz|{{{|zz|zy{{{z|z{{{{|{{{{z{zz{{{{z{{zz{{y{|z{z|{{{{|{{zz{zz{{{{{{{z{{zzzz{{yzzz{z{|{|zzzzzzzzz{{{{{||zzz{{z{{z{{{||{{{zzzz{zz{{{||||{zz{|{zzz{{{{}{|{{{zzzz{{{||{{{{|{z{{z{zz{{{z{{{|{{||zyzz{|{y{||}{|{{{z||{|{|{}{||{|zz|{{|{|{||{{z{z{z{y{{{|{||z||{{{{{{{{{}|||{|{{|z{|{{||{||||{{|{|{{{z|}||{||{|z{||z{{||||{||}{|{|{{{|{||||}}||{{|{{{{||{|||}|{{|{{|{{|||{|||||{|{{|{{{|{||{|}|{z{{{z{|{{|||{|||{z{|z{{{{{{|||{{zz{{{{z{|{{{||{z{z{zz|{{|{||{|z|zz{z{z{z|{|{|{{{zz{z{{{z{{{|{{zzzzzzzz{{{{|{||{z{zzzzz{|{z{z|{{|{zzzyz|{|{{|{{{{{yz{z{{|{{z}{|{zzz{{{y{{{{{{{{{{zz{{{zz{{{{{z|zz{zzzzz{z{{{{{{{zz{z{z{{{{{{|}{{z{{{zz{{{{{{{{|{{{{z{z{z{{|z{{{z{zzz{{z{{zz{{{|{z{y|{x{{{z{z{{{|zzz{zz{{||{z{||z{{{z{z{{|||{{}|{z{{{{{{|{|{{|||{{{zz{z{|||{{||||{{{{{zz|{z|{{|{zz|{z{z{|||{z}|{{{{|{{z||||||{{|{{{{{{{{|||{|||{|z|z{{zz|{||||{{|{{{{z{{{{||||}||{|{{{}|{|{|||}|{z{{{|{z{}|{{|||{{|{{{{z|{|||||{|{{z{|{{||{|{|{}{|{{{|{{{{{||}{}{|{z{{{z|{{{||||{zz{{z{{{{|{{}{|zz|{{{z|{{|{{{{{zzz{{{zzzz{{{z{|{{z{zz{{{{{{z|{{{zz{zzz{{{|z{||{{z{z{{{z{{||z|{|zzzzzzzy{|{||{{{{zzzz{{y{{{{{{{z{{z{{zyz{z|zz{{{z{y|zzzz{z{|{{||z{zzzzzz{{|{{z{{{z{zzzz{z{z{{{|{zz{zzz{zz{{{{|{|zzyzzzzzy{{{z||{{{{z{y{zzzz{{||{z{zzzzyz{{{{|{}{z{y{zz{z{{|{||||{zz{{z{{z{{{{{{|{z|zzz{{{{}|||{|{{{{{z{{|||{||z{{|zz{z{{|{|{{{{|{{z||{{{{|z{{{z|||{{{{z{{|{|||{|{{z|{z{{|{z{{|||z{{{{{z{{{||{{||||{{|z{{{|||{|||{{{{{{|{{|||{}||{||{{z{{{||{|||}|}{{{|{||||||||||{zz{{{|{||||}||||{{|{{{{|{{|{{{{{{z{|z{{|{{{{}{|z{{{z{{|}||{|||{{{{zz{{{|{{|{{{zz|zzz{zz{|{{{|{|{{zzz{z{|z{{{{|{{z{z{{y{{zz{z|{{{{zz{zz{y{{z{{{{z{zz{zz|z{{z{|{{{zzyyzz{|{{{z{{{z{zzz{y{{{{y{z|zzzzzzz{{{z{{{{{z{yzzz{yzz|{{|{{{zz{zzzz{{z{{{z|yz{{z{z{y{{{{z{{z{zzz|z{{{{z{{{{{z{{{zyz{{{{{|{||z{{z{{z{y{{{{|{|{zzzzz|{|{{{{||{{z{{yz{{{{{{{|{{{{{{zzz{{|{{|||{{{zzzz{{|{||{{{z{{{z{{z{|{z{||{{{z{zzz|{|z{z|||{{{{|{{{|{|{}|{|{{{z|{{{{|{||{|{|z{|z{{z|||{|{|{{{{||{|{{}{|{||{|{|{z{{|{{|}||||||{{{{{{|}}||||||{{{{{{z}||||}||{{|{{|z{{{{|{{||{{{{{{{{|{||||||||z{zz|z{|{{{z|||{{zzz{{{{{|{|}{{||z{z{{{{{}{{||zz{yzz{z{{{{|{|{{{{zz{zy{z{z{|}{{|{{{{zz{{{|{|||{z{{zy{z{||{{|{zzz{zyz{z|{{z{{z{zz{{z{zz{|{|z{{|{zz|zy{y|z|{z{{z{{zzz{{{{{z{{z{{{zzzzyz{z{{{{{{{{{{zzzzzz{{{{{{{zzzyyzzzz|{zz{{|{{{zz{zzz|zz{{{z|{z{{z{zy{{z{{|{{{{{{{z{{{|z|{{{{{{zzzzz{{{{|{{{{zz{|z{{{{{|z|||z{{{z{z{zz{{|||{{z{{{z{z{||{|{||{{{z{{{{|{{|{|||{{z{z{z{{{{|{|{{{|z{|{{{|{|||{|||{{z{z{{|||{||}|{{z{zz{{|||{|{{|}{z{{{{|{z||||{{||{|{{}{{|{|||}|||{|z{{{{}||||||||{|{z{{||{|||{}{z{{{{{{||{||||||{{||z{|z{|{||||{{zz{z{{{|{||{{||{{|{z|{{|{|{|||{{{{zz{z}{{|||z{{zzzzzzz{|{|{z|{{{z{zy{zzz{|{|{|{zzzzzzz{z{{{||{{{z{{zzz{{{{|{{{{{zy{{zz{{z|z{||{{zzy{z{{|{|z||zzzz{{zz{zz{y{{{{{zzzz{{z{z{|z{{|{{{zz{z{{{z{{{{{zzyz{{z{z{{{{{{{z{zzz{zzz{{|z{{{{z{{{z{yz{{z{{{{{{{z{zz{{{{{{{{{zy{zz{{zz||{{|{{z{z{{z{{{{{{{{{|z{zzz{{z|{{{{{{|{{{{{zz{{z|{{|{{|z{z{z|yz{|||{|{{{{z{{{z{|||{z|{}{z|||{{||}{{{{{|{z{{{{{{|{|{{|{z{{{{z{{{{{||{||||{{{z{z||{|||||}{|{|{z||}{{{|||{{z{{{{{||{|||{|{z||{{{{|}|}||{}||||{{{z|{||{|{|{{{{{{|||{{{{{|||{{{{z{|{{||{|||z{{|zz{z|{|z{{}{{{z|{zzz{|||{{{|z||{z{{zz{{z|{z{{{z{{z{z{{|z{{{|{zz{zzzz{{{{{{||{{z{{zzzz|z{{|{{|zzzzyz{{{|{{|{z{{{z{z{z{{z{zz{{z{z{{zzyz{|z{|{{{{{z{yyzz{{z{{{{{{{yzzzz{z{|z{{{zzzzyz{z{{{{{z{{{zzyzzzz|z{z{|{{{z{{zzz{{{z{|z|{z{z{zzzzzz{z{|{z{{z{zz{zz{z{|{z{zz{yz{zzy|{|z|{||{{z{z{zz{{{{{||{{zz{z{{{z|{|{{{zz{{{zz{z{|{|||{{{z{{z{|{{{|z|{{{{{zzz{{||{|{|||{zz|{z{{{|{{{{{|{z{zz{z{{{{z{|{|z{z{|{z{||z||{}|{{{{|z{z{{|{{|{{|{{{|{{|{||{{{|||{{|{||{|||{||}||{z{z||{{|{{{{||{{||{z{{}{{|{{{||{{{{{{{{|{||||{|{{{{{z||{{|{||}{{{{z{z{{z||{|{{{z{z{{{{{{|{{{||{{{zzzzz{{|||{{zz{zyz{{zz{|{{|{{z{zzzz{y{{z||{{||z{z{zz{|{{{{{{|{{{zzzzzzz{|{{|{z{yz{zzz{|{{z|{|zz{zz{y{zz{{{|{{z{{z{zyz{z|zz|zz{zzzzzzzzy{zzz{zzz{{zzyy{{{z{{{|{yzzzzzz{{|z{{|z{z{{zzzzz{{|{{{{{zz{zyz{z{{zz{{{|zzzzz{yz{{z{{{|{{z{{zzz{{z{{{{zz{zzzzy{{{zzz{{{{zzzzzz{z{|{{|{{z{{y{z{z{{{{z{{|{{{{{yz{{{||{||{z{zz|{{z{||{{{||{zz{z{z|{{|{|{{{{{zz{{z{{{|{{||z{{{{{{{z||{|{{||{{{{{{{{{{{||{|{{z{{|{{{{|||||||{{{{|||{{{{|{|}|{z{z{{{{{|{{|{|||z{{{{|{{|||{|}|{{{||{z{|}{{{{||{|z{{{zz||{{||}{z{{{{{{{|||{{{||{{{{z{zy|{{{z{{{zz{z{{{z{{|{{{{|{z{z{zz{z{{{|{|}{zzzzzzz{{||||{|z{{{{{zz|z{|{{{{{zz{z{zz|{|{y||{zzzzzz{z|{z||zz{{z{zzz{z{{{{{{{z{|zz{{yz{{{{{{{{{zzyz{yz{{{{{{|{z{{z{|{zz{{{z{|{zzzzyzzz{{{{{}{|z{zzz{zz{{z{z{||{zy{zzzzz{{{zzz|{zzz{zzzz{{z{{{z{zzzz{{y{{{|{|{|{{{{{{zy{|{{{{{{{z{z{y{z{{|{{|{{{{{{y{{{z{|||{||{{{|{zzy{|{{{|{{|{{{zzzz}{||{{||{{{zyz{{||{||{{{||{{{{{{|z|||{|{z|{{|{{{||{}|||}{{{{{zz{{{{{z|||{{{z{{{{}|{||{||{{|{{|{||}|{|||||{||{{{{{|||||}}|{||{{|{|||{|}|{|{|{{|{{|{{|{{{|||z{{{{{|{||||{|{{|z|{z{{{{{{|}|||{z{{{{{}||{|||{z{z{{{{{|{|{|{zzzzz{z{{z{{z{|z{{{z{zzy{|z{{{||||{{zz{zzz{{|z{{|{z{z{zzz{|||z{{|z{{yzzzy{{{|{{{{z{{zz{{z{||{|{{{|{{zz{z{{||{z{|{{{{{{{{y{zz{{|{|zz{{zzzz{{{|z{{|zzz{z{yz{z{z{{{{{{{zzz{z{{z{{||{z{z{{yzyz||z{{|z{{{z{z{zz|zz{|{{zz{z{{zz|{{{{{|{{{zzzz{{z{{{{{{{{{{z{|{z|{{||||{z||z{z{y}z{|{|{}{{|{|zzzz|{{{|z{{{|{|{z{|{{{|{|{|{{{{{{{|{{{|||||{z{|zzz{{|}||{{{z{{{z{{{{{||{}}{{{{{{z{|}||{{|||{|{{{{{|||{|||}|{{{z{}{||||{|||{{{{{{{{|}|||||}}|{{{|z||{{||~{||{{{{{{{{|{z{|}||{{{|{{|{||{|{||{{{zz|{{{||{|{||{{{{z{{z{||{|{{|z{|z{zzz{|{{{{{{zzz{z{zy{||z{z{{{z{zz{zz{|{{{||{zz{z{zz{|{{|{||{{{zz{zzz{{||{{{{z{yzzzzy{{|{{|{{{{z{z{{z||{{{{{{zzzzzzzzz{z{{||{yz{zz{{{{{{z{||{zz{yzzz{{{{{{{|{{zzzzzzzzz|z{|{{{{{{{z{{z{z{{{{{{{zzzzz{{{{{|z{{|{{z{zz{z{z{{{{{{{{zz{z{z{{{{{|{zz{z{{{z{||{{{}|{z|z{z{z{{{{|||{z{{{z{{{|{|{|{|{z{||{zz{{|}{{||z{{{z{z{{|||{{||||{{{|{{{|||{|{|||{|{|y{z{||}||||z|{{{{{z|{|{||}|{{{{{z{{|||||}|}{{|{|{{{|||{||}|{{{{z{{||{|||}||}{{|{{{{{}|}||}|{||{{{{{|||||||||{{{{|z|||||{||}{|{{|{|{|||||{|||{{zzz{z{{||z||{{zz{z{{|{{|{{{{{{|{|zzz{{{||{|z{zzy{zz{y{{{|{||{{z{{zzy{z{z{|||{zzzzz{z{||zz{||{{{{z{zzz{}{}z{{{z{zzzzzy{{|{z|{|z{{|zzzz{{{{z{{{{z{z{zz{{{zz||{{zzz{zzzz{{z{{{{{{{|{z{{z{z{{{|{{{zz{zzzz|{||z{zz{z{yzzz{z{{|{z{{{zzzzz{zz{z{{{|{z{z{{zzz{z{{{|{{{{zzz{{{{{{{{|{|{{z{|{z{{|||z{{z|{{zzz{{z{|{{||{{|{z{{{{{{{|{{||{{{|{z{z{|{{||||{{{{{{{z{|{|{{|{|{{zz{zz{{|z{}||{{{{{{z{{{{||||{{{{{|{{z|{{||||{z{|{z{{{|{||}{|{{{zz{|{{|{|||}}|{z|{|{{{z|||{|{||z{|||{{||{||{||{{{|{{{{||{||{|||z|{{{|{{||{|||}|{zz{{{|{{||||}}|{{{{zz{{|{{{||{{{z{|{z{{{|||{|{z{{{z{{z{{|{|{z|zzzz{{zz|{{|z|{{{{zz{{{z{}|{{{{{zz{{{z{{{{{{{|{|{{{z{zzz{{z{|{||z{z{zz{zz{z|{z{|{z{{zz{z{{z{{|{{{{{{{zz{{z{{{{{{{zzzz{{z{z{{z{z|{y{{zzzz{{{||{|{z{yz{zzz{{{{{|{{{z{z{zyzz{{{{{|z{zz{zyzz{{{{z{{{z{zz{{{z{{{{{{|{z{{|{{zz{{{{{z|{{zzyzzzz{{{{{{||z{{{zz{{||{|||||z{zzzz{z{||{|{|{z{{z{z{{|{||{||z{z{|{z{{||{||{||{{{{z{z||{{{||{|{{{{{z{|{|{}|{||{{{{z{{|||||||{||{{{{yz{|||{|||{{{{|{{{{~{{|||{{{{{{{{||||||||||}z{{{{{{|||{{|||{|{{{z||{|||||||{z{{{{{||{{{||||||{{|{{{|||{|}|||{{z{{{{||{{|||{|{z|{{{z|||{||}|{{{|zz{z{|{{|z{{y{z{{yz{{{{z{z|{{zzyzzz{|{{{|{{z{{z{zz{{{zz|{|{|{{{zz{z{z{|{z{{||yz{z{zz{z||{|||{{{{zz{z{{y{z{{z{{|{zzz{z{{{z|z{{zz{zzz{zz{{{z{{{zzz{zzzz|{{z{|{zzzzzz{z{{{{{z{{z{z{zzzz{{|z{{|{{zyxz{{z{{z{z{{{z{zzzz{{z{{{||{{{{{z|zzz{{|{{{{{{{{{z{{z{{{{{{|}z{z{zzzz|z{{{}|{{{|z{{z{{{{{z|||{z{z{z{{{|{z||||{z{z{{{{{{||{{{{{z|{y{z{{{}{z{z||z{|{{{z{z|}|||||}|{z{|{{{||z{}}{{|||{{{|{|}z||||||{{{z{||||||||{{{{{{{{||{|~|{||||{{|{{{|||||}|}{z|z{{{|||{||||{{{{|{{{{{|{||}||{|{||{||||}||||{zz{{{{z{{{}||{|{{{{{{|z{|{{||{}|{|z{{{{z||{||{{{{zzz{zz{{z{{{||z{yzzzzy{{|z{||{{{zzzyzz{{{{{{{{{z{z{{zzz{{{{|{{zzzzzz{z{{|{{|{{{yzzzzzyz{{{{||{zy{yzyzy{{{{zz{|{z{{zzz{zzzzz{{|{zzz{y{z{z{zz{zzz{{zzzy{{{|y{{|{{zzyz{y{{{|z|z|z{zyz{zzyzz{z{z{{z{{z{zyz{{z{{{|{zzzzz|zz{{{z|z|}{z{{z{{z{||{||{|{{{z|{z{{{{{{|{|{{{z{|{{{{z{{||{{z{z{z{|{|z|{||{zzz{zzz{{|{{z{|{|{{|{z{z{{{{{{{}{|{{|{{z|{}||{||{{z{{z|{{|{{|||{{{{{{{{{{|{||||{|z{{{zz{|}|||{|{{||{{{{|{|{|{|||{z|{z{z{|}{||{|||z{{{{z{{|}{{{|{{z{{{{z{{|||||{|{|{{z{{{|{|{|||{|{{zz{z{{{{{{|{||{{{{{{zz{z|{{{|{{|zzzzz{|z{{{|{z{z|zzzzz|{{{z||z{zzzzz{{{{{z{{z{z{zzzzz{z{z|z{{|z{zzz{zzz{{y{|z|{zyyz{z{z{y{{{|{y{zzz{yz{{{{{{{|zzz{zzy{{zz{{{{z{{zzzz{{{y{z{{{{|{z{{zz{z{z{{|zzzy{yzzzzz{|{{{zz{zzz{zz{z{{{y{|{yzzyzzzzzzz{{{z{{zz{yzyz{z{z{{{zzz{{zzzz{|{{z{{z{zzzzzz{{z||{|{{z{z|yzz{z|{{|||zz{|z{{z{{{|{z{z{|{yyz{|z{{{|||{z{{{zz{{{|{{|{{{zzz{{{{{{|{{{|z|{{{z{{{|{{{||||{z{z|{{{z|{{|{||||{{z{{z{{|{{z{{}{{|{{{|z{||||||{|z{z{{{{|zz|}||||{{{{{{z|}||{{|{{{||z{{{|{||}|||{{{{{{{}{|{{{{{|}{{{||{{|{{{||zz{{{z|{{{{|z{{{|{{{zz|{zz{{{|{|}|{zzzzzz{{|||z{{{{z{zzzzzz{{{{{{z{z{zzzz{{{{{||{{z{{zz{zz|{{{|||{{{{zz{zz{{|zz{|{z{{zz{{y}z{{|{z{zz{yzzzz{{{z|{{{{zzz{zz{z{{{{|{{zz{zz{z{{{z{{z{zz{{zz{z{{zz{{{{|zz{zy{zz{{z{z||z{z{zzz{zzz{z|z|{z{{{{zzzy|zz{{z{z{zz|zzz{|z{{{z{{yzzzz{zz|{{{{{{{zz{{zz{{{{{{|}|{{{yz{{z{{{|{{{|{zzz{z{z|{{{{{|{{{{zz{{{{}|{z||{{{{{{z{{{{|{{{|z{zz{{z{{|{|{{|{||{{z{{{{{{{|z}||{{{{z{|{{|{||{|||{|{z{{z{||{|{||{{{{{{{||||||{||{{{{||{|{{|{|||||z{{{|{{{|||||||{{{|{{z|{||||||||{|{|z{z{||{||||{{{|||{{|{|{||||{{|zzz{{{|{{{||{|{{{{{{{{{{{|{|{{{|{|{zz{z|{{{{{zyzzzyzzz{{{{{||zz{zzz{{{{{{{|{{|{{zzzzz{|z{z{{|{z{zzz{z{|{zz{{|zzzzyz{z|{zzz|{|{{{zzzyzzzz{{|{zzyz{{z{z{{{{{z{{zzzyz{zz{zzzz{{z{zz{{z{zzzzzz|{{yzzzzzz{z{{z{{{z{z{{y{z{z{zzz{|{zzzy{{{zzzzzz{{{{{{zzzzzz{{z{||zzzzz{{{zz{{{{{z{{z{zzzz{|{{{{{|{zyzzzy|{|z{{{{||zz{z{zy{{{{{{{}{{|zz|{{{||z{{||{z{z{z{zy{{{z{||{zz{{z{{y{{z|{{{|{z{{{z|z|{{|||{{z{{|zz|{|{{{{{{|{z{zzz{{{z{|||}||yz{{{z|{{|{{||}{{{|{|{{{{{||||{|{||{|z{{}|{z|{}{{{{{{{{|{{|{||||z{{{{{z{||{{{|{{|{z{z{||{|{{|||{{{z{{|{|{{|{||{{{{{{zzz{{||{||{{{{zz{{y{{{{{{{z{{{z{zzzz|{{{{|{z{{{|zz{{{{|z{{|{{{{{{{{{{{{{||{{{zz{{zzz{{{{{||{zzzzz{z{{|z{{{|zz{y{z{{{{{z{{{||z{zzzzz{|{z{|{{zzzz{{{z{{zzz{{{{z{{zzyzz{{{|{{{{z{zyzzz{{{z{|{{{{{yzzzzy{{{{{{z{zz{z{zy{{zz{{{{{z{{{z{z{{z{z{{{zzz{z{zz{|{||{|||zz{{z{{{{|{||z|{zz{z{z{{{{{{}||y{z|{{zz|||{{{{|{{|z{z|{{}|z{{z{z{{{{{{{{|{{|||||{{{z{{{{{|{{{{{|z{|{{{{{}|{|{{||{{z{|z{|{|||||||z{|{z{{{|||}|||{{{{{zz{|||||{}{}|{|z|{|{|||{|}|}{{{{{{{{}|{}|}|{{{{{||{||z|{|{||{{{{|{|{|{||{|||{{|}{{{||||||||{||zz{|{{{{|{|||{{{{{zz{|{{{|z||{z{{zz{{{{{||{{|{y{z{{zyz{z|{{{{{yzzzzzzz{{{{{{{zzzzzzz{{{{z{{|{{|z{zz{z||{{z{{{{{zz{z{zz{{z|{|{zzzzz{{zz{{zz{{{z{{z{zyz{z{{{{z{z{{z{zzy{zzz{{{{zzzzzz{z{{{{z|{{{z{z{{zy{{{z{{z|z{{zzyzz{{{|z{|{zz{z{zzyz{zzz{z{zz{x{z{{z|z{z|{{zzzz{{{{z{|{{{}{|{zzzz{z{{|z{{{|{zz{zz{{{{|z{|z|{{zzzz{{z{{|||{{{z{z{y{{z{||{{{{{{{{z{z{{{|{{{|{|zz{{{z{{|{|{||||zz{|z{|{|||{{||z{z{|{{{|{{{||||}{{{|z{z{|||{|{{|{{{|{{z||{{||{|{z{{z||{{|{{|||||{{{{zz{|}|{||||{{|z{{{{{||{|||||{z{|z{z{{{|{}|||{{{{|{{{|{{|{|||{{z|{{{{|{||{}|{{{{z{z{||{|{{{{{z{{{zzy{{{{{{|{zzzzzz{z{|{z|{z|{{{{yyzz{{||{|{|zzz{zz{y|{z{z{{{{z|zz{z{{{{{{{{{{{{{{z|z|zz{|{{{zzy{{z{zz{{z{{|{zz{yzzzy{z{zz{{{{zz{z{zz{|z{zz{|{zz{zzzz{{{zz|{|z{{zz{zz{{{|{{{{{{{zz{zzz|{{z{z|zzzzzzzz{z{z{{{{{z{yzz{z{z{{z{|{zzz{{{z{z{{{{{{|{zzz{{yz{|}{{z||z|{z{zz{z{{{|||{z{{zzzzzz|}{{|{{|z{{zz{z{{{{{|{{{zzy|{{{|{||z{|{{{{{{{{zz||{{{z{z{{z{|{{|{|{{}|z{{{{{{{z{z{{{||{{zz|{{{zz|||||{{{zz|{{{||{||z||}{{|{{z{{{|||{||}||{{{{{{|||{||{|{{|{|{|z|{|{{}{|{{{{{{{{|{|||||}{{|||{z||{{|||||{{{{{{|{z{{{}|{{{{{{{{{z{|{{|{z{{{|z{zzz{{|{{|{{{z{{{zzyz|{|{{{|{{{z{zzz{z{|{{{|{zzzzz{z{{{z|||||{y{z{{{{|{z{z{|{{zzy{zzz{{{{{z|zy{zz{z|z{{{{{|z{z{z{zy{{{{zz{{{|z{yzzzz{|zzz{|{zzzyzzzzzz{z{{{{{z{{z{y{z{{z{{{{{zzyzzzz{{{{z{|}{{{zzzzzzz{{{{{{{{{{zz{zz{z{z||{{{{z{{{{{{{{{|{{{{{{z{{zzz|{{{|||{{z{yzz{{{{|{|{{{{{{{zz{{{{{{|{|{}{|zzz{{||{|{{{{{|{{zz{{||{|{{{zz{z{{z{}{{{|||{{{{{{{z|||||{{{{{{|{{{{{{||{||{|{{{{z{{{|{|||}|{|{{{{z{||{|{||{{||{z{{|{|{||}|||z{{z}|{|}|||{||{{{|{{{{{|{{|}{}zz{{{{{{|{|{||{||{{|{{{{{{{{{||{{z{|{|{{{}|||{|~|{{z{z{z{|||{||{{z{zyz{z{{{|{{{z{zzzzzzzz|{{{z|{{{{z{zzz|z{{{{||{zzzzz{z|{|z{||{{{z{zzyz{zz{zz{{{{zyzzzz{z{{{}{{y{{z{{zzzzz{z{{{zzzyzz{{zz{z{{|{{zz{yz{yz{{{{{zzzz{zzzzzz|{{{{{{{zz{z{z|{{{{{z{{{{z{yyz{z{{{{z}zzyzzzzzyz{z{{z{|{zzzzz{yz{{z{|{|zz{{{{zy{{{{{{z{z{{{zz{{{z{{z{{{{z{|zz{{|{{{{{{}zz{{{{{{{{|{{{|{zz{{{z|z{{{||{{|{{{z{zy{{{||z{|z{{{z{zz{{|{{z{{{{{z{|{{{z|{{}{|{{{{|{{|{|{{||||{zz{{{{{z{{|{{|||{{z{{{{}|}{{|{||{{{{zz{{{{||||{|}{{{z{{{{|{||{}{|z|zz{{{|{||{{|}|z{{{{z{||{{{{||||{|{{z{}{{|{|||{{{z{{{{{|{|||{{|{{{{z{z{{{}{{{{{{{{zz{z{{|{|{{|{{zzz{{{|{{{{{{z{y{zzz{zz{{{{{|z{zz{{z{z{{{{|z{{{z{z{{yz{z||{|{|z{{yz{{{|z|{{{{{zz{{{z{zz{{{{{z{{yzzzzz{{{{z{{{{{{zyzzz{{z{{{{{{zzzzzz{zz{{{z{|zzzzzzyy{z{{{{||{yz{zz{zzz{{{{z{|{z{{{zzzz|{{z{zz|zzzzzz{z{{zz{{|{z{z{zzyz{{{|{{{|zzzzyz{{|{{{{{|{z{{yz{|{{{z|{||{{{{zzz{{{|{||||{z{z{z{{{{{z{{|{|{zzzz{{{{{||{z|z{{{z{{zz{{{|{}|{{{{{z{z{{{}|||{z{{z{{z{|{||||||{{{{{{{z{|}{|||||z{{{{z||}||}||{|z{{{|{z||{{{}{}|{{{{{{|{|{|}|||||{{{{z{||||{}||{||{z{{{{{|{|||||{{{{{{||{||{{||{{{{{z{|{|{|{{{|{{z{z{{{|{||{{{{{{{z{zzz|{{{{{z{z{zzzzy{z{{{{z||{{{z{z{z{z{{{{{|z{|z{zzz{{{z|{{{{{zzzzz{{z{|{{z{z{{zzzzyz{{z{|{{{z{zzzy{{{z{z{{zzz{y{z{zz{{z{|{{z{{yyzyy{{{{z{{|zz{zzyzz{{|z|{z{zzzzzzzz{z{{{{||{z{zzyzz{zz{z{||{z{z{zzzzzzzz{{{zyzz{zzz{z{zz{{{zzzzz{zyzz{|{|{z{{zzzz{z{zz{{{{|zzzzzz{zz{{{|||{{{{zz{{{{{{{{{|{{{|zzz{z{||{|}{{zzz{{{{z{{|{{{{|{{zz{{z{{|zz{{||{zzz{{z{}{{|{{|{{{|||z||{|{|||||{z{{{{{{{{{|{z||{y|{|{|||||{z{||||zzz{{{||{{||{||{{|{|{{{}{||{|||z{{z{|{{{|{||{}|{{{z{{{{{{|{{{|||{{|{{{{{|}||{|{z|{{|{z{{{|{||{{{{{yz{z{z{{{|{{|y{zzz{z{{{z{z{{{zz{zyzz{{zzz|zzz{{zzzz{{{{{{{z{z{zzzzyz{{{{{{{{zz{zzzzz{{z|z{{zz{{zyyzz{{{z{{{zz{zzzzyz{{zzz{{|{z{zzyzz{z{{z{{zzyzzzzzz{z{z{{{{zzzz{{zyyz{y{{{{{{yzzzyy{{{{{{{zz{zzyzyyzz{z{||{z{{zzz{z{{z{|{{z{{zzzzzyzz{{{|{|zzzzz{z{zzz{z|{{zzzz{z{{{{|{|{{|{{zzy{{z{{{{{{|{{{{zzz{{|{|||||{{z{z|z{{{|{|||{{{{{{{zz{|{{{z||{{zzz{zz{{{{{{{{{{{z{{{{z{{|||||{z{{z{{{||{{|}|}|zz|{{zzz{{|||||z|{{z{z{{{{|{|{||{z|y|z|{||{|||{||zz{{{{{{}{{|{|}{{{z{z|{{{z{|{{|{{|{{{zz{z{{|||||{z{|{z{|{{|{{{{z|zzz{{z{{{{{{|||{{|{{{{{|y|{z{zz{{zyzzz{|{||z{{z{{yzyzzzz{{}{{zzzz{{yy{zz|{{{{{{zzyyyzz{{z{{||{{{z{y{z{zz||z{{{|{{|yyzzy{zz{{{{z{zyz{zyy{{z{|{z{z{zzzyz{{{{{{{{zzzzyyzy{{zz{{{{z{{zzyz{z{{{zz|zzz{{{zyzz{{{{{{z{zzzzzzzz{{{{{{zz{zz{zzzzz{{z{{|zzzz{z{y{{zzz||z{yzz{{z{{|{{{{{{{{zzz{{z{{z{zz{{{z{zzz{{z{z{{{||zzzzz{{zz|{{|{||zzzzzz{zz{|{{{z{{z{zzzz{||{|{||{{{z{{zz{|{{z{{{{{{{{{zz{|||{{{{}{z|{z{{z{{{|{z|}{{z{{zzz{||{|{{|{zz{{{{zz{z{|||{zz{|{{{|{{{||{{|{{{{z|z{{||||||||{|{{{{{{{||||{|{{z{z{z{{|{{||{{{{{{{{{{|{{||||{{zzzz{{zz|{||{||{|z{z{{{{{{{z{{z{z{yzzzz{{zz{{zzzyzz{zzzz{{{z{{{zzyzzzyzz{{{{{{|{zzyzzzz{{{z{z{{zz{zzzz{z{{{{{{{zzz{{zzyzzzzz|{}{zzzzzzyzz{z{{{{{zzyzz{z{{zzz{{{yzyzyzzz{zz{y{z{zzz{yzzyz{zzz{{{zzzzzzzzzzzz|{{zzzzzyz{yz{{zz{{|{{zz{zzz{z{zz{|{{zzy{z{{{{{zz{{z{yz{zzzz{{{y{{{|{z{{zz{z{{{{z{z{zzzzzz{z{{z{{|{|{z|zzzzz{{z{z{||{z{{{z{z{z{{{{|{{{z{{{z{{{|{{{{|{z{{zz{{z{{z{{z|{{{zz{{{{{{||{{|zz{{z{{{{z{{|{||{z|y{{{{{|{{||}||y{{{{zz{||{{{|{{{zzz{|{{{|{{}|{{zz|z{{{{}{|{{||{z||zz{{|{{{{{{|}zzz{{{{|z{|}{||{{{{zz{{{{{{{|z|zz{zzzz{|{z{|||{{zz{zz{z{{z|zz{{{{zyz{{z{{z{|{{{zzz|{z{yzzzzzz{|zz{zzy{z{{{z{||{{{zzz{yz{z{z{|{z{{zzzzy{{{{z{{{z{zzz{{zz|{|{{{|{|zzz|{zzz|zzz{|zzzzz{zzzz{{z{zz{z{zzyzyzzzzz{{{{zzzzyzzy{{{{{{{{{zzyyzzz{z{{{zzz{zz{zyzzy{{{{{{||y{z{yyy{zzyz{{{z|zzzz{yz{z{z{{{z{zzzzzy{{{{{||zzzyz{{zzz{zz{{|{|zzzzzzz{{z{{|{{z{{{zz{z{z|{||{|{zzz{z{z}{{|{{{{{z{zzz{yz{||z{||zz{{z{{{{|}z{{|}{{{{{zz{{z||{|{zz{{{{{{{{{{||{||{z{{{z{{{||{|||{{{{{{{{{{|{{|{}}z{{{{{{{{{{{{}|||{{|{{{{|{|{{||||{||{{z{|{|||{|{{z{{|z{{{{|||}}||{{z{z{{{z|{|{||z{{|{z{z{|||{{|{{{z{z{z{{z{{{||zzz{zzz{{|{{{{|{|{z{{{{zy{{{{{{{|{{{zzz{{{{|{{|||{zzz{z{{{{{{{||{{{zzzz{{{||{{{{||zzzz{{{z{|{{{{|zz{{z{{z{|{z{{{zzzzzyzzz{{|z{{|{{{{{zz{{z{zzz|{{zz{zzzzz{{{z{{|{{yzzz{yz{z{{|{{z{{zzy{zz{{|{{{{{zzz{zz{zz{{{z{{z{zz{{zzzz|z|{|{{zz{{{{{zzzz{{{|{|zzzzz{{z|{{|{{{{z|{{{{z{{{{z{z{zz{{z{{z{|{{{{{|{{{z|z{z{|{|{{{{|{{zzzz{{{|{{||{|{{{{|{{|{{|||{|{zz{zz{{{|||||||{{z{{z|{{||{||||{|{zz{z{||}|z|||}{z{{|{{|||{|}}|{{{{{|}z|{z||||}|{{{{|z}||{}|||}|{||{{{|{{||{|||{zzz{{{{|||{|{||||{|{{{|||}|||{|||{yzz{{|{{|{||{{{{z{{{z{{||{||{z{|{|zz{|{|{{{{{zzz{zzzz{z{{z|{|{zz{{zzzzz|{z{||{zz{zzzzz|{|{{{{{zzz{{zz{{{{{{zzzz{zzz{z{z{{z|{{{{{z{{yz{|z{z{{z|{zzzzzz{z{{{{z{zzzy{z{z|z{{{{z{zzz{{yzzz{{{z|{zzzzzyzzzz{{z|z{{z{z{zzzzzz{z{{{{{zzz{zzyz{zz{z{{{{{zzzzzz{z{z{{{{z{zy{yzzz{|{|{{{zzzzz{zz|{{{{{|{{|zzz|z{{{{{{||{y|{{{{z{|{||{{{zz{z|z{{{{{{z|z{{z{z|{{z{{|{{{||zz{{|{{{{z{{|{{{{{{z{z{{{{{|||||{{zz{z|{{|{|||||{{z{z{z{{{{||}|{{z{{{{z{{|||{|||{{{{{{|{||||{|}}{{||z{{{{||}|||||{z{{{{z{{|||||{|{|{{zz{{{|||||{|{{}{{z{{|||{||{{{{z{z{z{|{{|||{{{|{zz{z{|||{{|{z{{{{{zz{||{{||{zzz{z{{z{{{zzz|{z{{z{y{z|zz|{||{zzz{z{yzzzz{{|{{|zzzyzy{z{|{{{|{zzzzzz{y{{{{y{z{{{{zz{{yz{z{z{zzz{zzzz{zz{{{{{{z{yyzzzzz{{{zz{{{{z{zzzzyz{|zz|{z{zzzzzzz{{z{{{{{y{{z{z{{{{{{{{{z{yzzzz{zzzz|{z{{z{z|z{{z{{z|{{z{{zzz{z{z{z{}{{|{{zzz{zz{z{{{z{{{z{|yzz{{{z{{{{||z{{{zz{z{{{{{{{{{z{{{z{{z{{{{|{|{z|{{zz{|{|z{{|}{{|{{{{||{|{|{{{{{z{{{z{{{||{|||z|z{{|{{{|{{{||||zz{{{z{{||{|{{{|z|{{{{zz|{{||{|{z{{|z||{{{{|||{|{{z{{{|{|{|}||||z|{{{{||{|||{|{|{{{z{{{{{{|{|||{{{{|{{||{||{{{{{{{{z{zz{{zz|{|}{zz{z{zz{{|{|{||z{{z{zyy{{||{{{{z{y{zzzz{{|{|z{|zzzz{z{zz{{{{{{{zz{yzzz{{z{{{{{||{zzzzzzz{z{{{||{z{zz{zz{z{{{{{{{z{z{yzzz{{{{{{z{{zzzzzzz{|zz{{{z{zzz|zz{{z{{{{{{zzzyzz{|{|{{{{{z{{zzzzz{z{{{{|{{zzyzzzy{{||{{{{zyzzzzzz{z{{{z{zz{z{zyzzz{{{||{{{zzzzzzz{{{{{{||zz{{|zz{z|{{|{|{{z{zzz{{{{{{z|{|{y{|y{z{{||{{{{{{zy{{z{{{|{||zzz{z{|z{z{|||{{{||{z{{{{{{|}{{{{{{{{{z|{{{{z|{}{|}{{{z{z|{||{|{|{|z{{|{{zz|{|{{|}{|z|{{y{{{}}||||{z{{z{|{{{|{|{||||z{{{|{{{||{|{|||{{z{z{{{{{|{|||{z{|{z||{z{||||{|z{{{{{{{{{|||||{{|z{z{z{|{{{{}{|{z{{{{{|||{|{|{zz|{{z{z|{|{z{|{zzz{zz{zz{{{||{{z{z{{z{{{{{z{||{zzzzzzzy|||z{z|{z{yzzyz{z{zzzzz{{{{zz{zz{{}{{{{{{z|zzz{zy{{{z{|{{z{|{zyy{{{{|{z|{z{zz{y{z{{{{{{{zzzy{zyz{z|{{{|zzzzzyzz{{z|{{{z{y{{zy{zzz{z|zz{{z{zzzzzyy{{{z{{|{zzzzy{zzz{z{|{|{{{y{{yzz{{{{z|{{{z{{{zz{{|{{{{{zz{zzz{{{||{{{||z{{z{z{z{{{|{|{{z{{zzy{z{z|{||{{{{{{|z{z{{z{{{|{z|{{{zz{|}}|{{{|{{{{{{z{{||{|{{|z{{{{z{{|{||{|||{{{{zz{{{|{|{|{||z|z{{|z{}|{{||{|{{{z{|{{|{{|||{}{{{z|z{{}{||||||{||{{{|z{|||||{||{z{|{||{{|{||||{z{{||{{|z|||||{|z{z{zz{|{{{|}{{{{{z{{z{{z|{{{|{z{y|{z{|{{|{{{z{zz{y{{z|{{zz|{|zzz{yzzz{{{z{{{{{zzzzz{{yzzzz{{{{zz{z{{zzz{|{{{{{zzzzzy{{z{{{{|{z{zzz{zzz{{{z{{{zz|{zzzz{z{zz{{{zzzzy{y{{zzz{{z{xyzzzyyzz|{{{{{zzzzz{zz{{z{{{{{z|y{{yyzzz{{z{z{{zyyzzzyy{{{z{z{{zzzzzzz{z{zzz{z{z{zzz{yyz{{{{{||{z{zzzzy{{{zzz{{{z{{zzz{{z{{{|{{{z{z{{zz{{|{{|{|z{zz{zz|z{{|{|{{{z{{zzzz{{{{z{|{{{z{{{zz{{|{{{{|{{zz{zz{{{{|{{|{{z{z{z{{{|||||{|{z{z{{z{{||{|z{||z{zz{zz{||{{|||{{y{z|z|{{|{|{}{|{z|z{z{z}||{|||{{{|z{{{||||}|}{|z{z|{z{|{{{{{||{z{{{zz{{|{{|{{||{z|{{|{{|{|{|{|zz{|{{{{zz||{{{{{{{zzz{zz{{{|z{{zz{{y{zyz|{z{{{{{zz{yzzz{{z{{|{{zzz{zzzz{z{zz{|{{z{{{yzz{{{{zz{|z{zzzzzy|{zz{{{|z{zzzz{z{z{z{{{{zzzzzyz{z{{{z{|z{z{yy{zzz{zz{{{{zz{yzzyz{z{{zz|zzzz{yyzzz{{{||{{zz{zzzzzzzz|zz{{zzyyzzzyyzzz{z{{zzzzzzzzz{zzz{{{z{zzz{z{z||{z{{{{{zz|{{zz|{{{{{{{{{{{{zzz|{{{z{{zzz{{zz{zz{{z{||{z{{{z{{z{||{||{{zzz|z{z||{{{|{{|{zyzz{{{{zz{{|{{y{{{{{z{{||{{||z{{{{{{{|{{{{||{{{zz{z{{||||{||{|{z{|y{z|||{{|{|{{z{{{{{{{|{{{|||{{{{zz{{|{|{|||{{{{{{{||{|{{|||{{z{{{z|{|z}{{}||z{}{zz|{{{||{||z|{zzz{{{{{||{{{{zz{y{z{{|{|{{|{zz{{{z|z{{{||{{{{zyzzzzy{|{|{z|{z{zzyzzz{z|{{z||zzzzzz{z{z{{{|{|{z{z{zzz{|{z|{|z|zzz{zzy|{{{{z{{zyzzzy{zz{{zz|{{z{z{{zzyz{{y{{{{z{zzzzzz{{z{zz{{zyzzzy{z{z{z{{{zz{zyz{yzz{{z{{|{{zzz{z{zz{{{{{{{zzy{{z{zzzzz{{{{{{yyz{z{zz{{zz{{zy{z{{zzz{{{|||{{zzzzz{z{{|z{{{{{zzzz{{{{z{|{{||{{z{{{{z{|{z|||{||{z{{{{{z{z|{{z{zzzz{zz{{|{{{||zz{{zzzz|||{{{|{{{{{{{z{{{{{||{{z{{||{{|||{||{{z{{z{zzzz{{|||{|{|zz{{{{{|{|||||||||{{{{{{|{|{}|||z{{{zz{{||{{|{{{{{|{{{{|||{zz{{|{z{{{{{|{{}{||{{{|{{{z{{||{{{||{{{z|{{{{|{{z{{|{{zz{z{z{|{|{{||{z{{{{{z{{|{{{zzzzzzzzzz{{{{{{{{z{zz{zyy{z{{{{z{{zzy{zzz{{{{z|{{|z{zzzzz{z{{z{z{zzzzyy{z{{{{{{z{zz{zz{yzz{zzz{{zz{zyzzzyzz|zz{|zzzzz{zzzz{{{z{{{zyzzyz{zzzz{z{{{{zyzyzz{{z{zz|{|{zzzzzzyz{{{z{{zzzyz{yzzz{z{zzz{zy{zzzy{z{z{{{{{{yyz{zyyzz{{{{|{zzzz{zzy{{zz|z{{{z{{zz{z|z{{{z|{zzzyzzzy{{|{{|{|zzzzz{zzz{{|{{{{zyz{zzzz{|{|{||{{zzzzzz{{|{{z{|{z{{{{{z{z{|{{{{|{{{{z|{{{{{|z|{}{{{{{{z{{|{{{{{{|{{{{{{{|||||{|{{z|z{z{{{|{{|{{{|zz{zz{z{}{|||{||z|{{{{{|{{{|{|||z|z{zz{{{{|{|{||zzz{{{{{{{}||{|z|{zzzzz{|||{z{{{zzz{{{zz{{|{z|{{zzyyz{yz{{|z{|{yzzzz{zyz{|z{{z{{zzz{z{z{{zz{{{{{{zz{{{zz{{{||{{{zz{zz{z{z{|{{|zz{zz{z{z{z{{z{z{zzzzz{yz{{zzz{{{{z{y{zzyz{{{{{{{z{zz{{zzz{{{{{{{zzzzzyz{{z|{{z{z{y{{z{yz{z{{z|{{{z{z{yzyzz|{{{{|zzz{zzzzz{zzz{{zyzzz{zzzz{z{{{{{yzz{z{yzz{{|{{|{zzzz{z{{{z||{{||{z{zyzzy{{z{|{||{{{yzzzzz{|||{{{|{{zzz|z{{{{{|{|{z{zzzzz|||{{|{{{zz{zz{z|||{{|{||{{{zz{{{||||||{{{|{zz{z{|||||||{{{{{{zz{|}{||}{|zz{{{{{|}||{{|{{|{{|{{{|{{{|{{}|{{{{{zz{|z||{{{|{{{{z{{}|||{{{||z{{{{{{{|{{}{||{{z{|{{{||{{|{|||{{{z{{z{{{{{|||{{{{{z{z{|{{{|{|zz|{{{{z{{{{z|{|{zzzz{yz||z{{{{{{z{z{{zy{{z|z{{|{zzzz{{y{{zzz|{zzzzzyyzzzz{{z{|zz{zz{zzzz{|{|z{|{{zyzzzyzzy{{{zz{{z{{zz{{z{zzz{zzzzyyyyyyz{{{z{{yy{zzz{zy{|z{{zz{yyzzzy{y{{z|{|zzz{zyyzzz{{{{{{zz{zzzzzzzz{{{|{|z{{zyzyy{{y{{{{{{zy{{zzy|{{||{|{zzyzzyzy{{z{{{{|{z{{{z{{{{{|{{{|zzzzzz{zzzz{{||z{zzzzy{z{{{|{{|{zz{{zz{y{{|{{z{z{z{{z{{{|{|{||||{{{{{{{||{||{||{{{{{{{zz|{{|{{||{|z{{{{z{{||||{{{{{{{z|{||{|{|{|z{{z{{{{{}{||||||{{{z|z{{}||{{||{{{{{{|{||{|{{{|{|{{{{|{|{|{|z{||z{{|{z|{|{{|{{}{z{yzz{z{|{{{{|}|{{{{z{{{{{|{{|{{{{{{zz{{{z{z{z{{yy{zzzzz{{{z{{{{zzyzz{z{|{zz{||z{z{{zzzz{{{{{{{{{zzzzzz{{z|z{||{y{zz{zz{z{|{{{{{zzzzz{zz{zzz|{{z{{zzy{zzy{z|{zzzzzzz{zzz{z|{{{{zzzzzzzzz{z{|{{z{yz{zzzzy{{zz{{zz{y{yzzy{{{{{{{|{z{{zzz{zz{{{{{{z{zz{yzzzzz{{||zzz{z{y{y{{}{{{{|{zzz{zzz{{{{zz|{|{z{zz{z{|{{||{{{z{z|z|{|}{{{|{{{{|z{zzz{{{{|{z{{zz{{{y{{{|{{{||{y{zzz{z|{|z{{|{{{z{z{|{|{||||}{||||{zzz{|{{||||{z{{{zzz|{||{{|||zzzzzzz|{{{||||{|{{{{{{{||{||||z{{{{{{|||}||{|{}{|z{{zz}|{{|{}|{{{z{{{|||{{|{|||{z|{{{||{{|{|||{{{z{{zz{{{{{|||{zzzzz{zz{z{{||z|z|z{zzz|{{{z{z{zzzzzzzz{{|z{{{|{zz{zzz{z{{|{{z|{{{zz{{{zz{{{{{|zzzz{zz|z{{|{{{|{zzzzyzz{z{{{|{{zzzz{zzz{{{z{{{{{zzy{zyz{zzz{z{{zzzyyz{{{z{{zz|{{zzz{yzz{{zz|{{{yzzzzzy{{z{z{{{{|z|{zzzyz||{z{{|{z|zzyzz{z{zz{{{{zzz{zzzy|zz{{{{|y{zz{z{{{{z{{}{{zzz{y{{{z{|{{||yz{{zzzz{{{{{{{{z|{zzz{{{{|z{{{|zz{{{{yz|{|{||{|z||{zzzy{{|{{{|z{z{z{zzz|z{{z}|{{{{{{{z{{|{|{|{{{{z{{{{{|{{{||{||{{{z{{z|{{{||||{{{{{z{{|{||||}{|z{z{{{{{||{|||||z{{{|{{{}||{{|||{{|{{{{|{{{{|||{{{{{{{|||{{|{||{|{{{{yz{|||z||{y|{z{{{zz||{|{||{{{{|{z{{{|{{|{{{{{y|z{{|{||{|{{z{zz{zzz{{{{{{{z{zz{z{yzzz{{{|z|{z{zzzz{{z{{{z{{zzzz{zzzz{{{|{{{{yzyzy{zzzz{z{{|zzzyz{zzz{{zz{{|z{{{{y{y{{{zz{{zz{z{yzzzzzz|z{zz{z{zzzzxz{{zz||zz{zz{zzz{z{{{z{|zzz{z{yzz{{{{z|{{zzzz{zzz|{zz|{{{z{zzzzzz|z{z{{zzz{zz{zz{{{{{z||{{{zzzzzzz|{{{{{zz{z{z{zz{{{{{{{zzzzz{{z{{{{{||{{{z{zz{z{{{|{|{{{{{{zz{{|{{{{{|{{{{{{z{{|{{|{|{{{z{{|{{z||{|{|{{z{{{zz{{||{||{||{{z{{z|{|{||{{{z{{z{|{|||||{|}||{zz{{{{|{{|{|||{}{{{{}{zz||||{{|{z|{z{z{{{{|||{||z{zzz{{{{|||{}|||{{{zz|{{||{|||{|zzz{z|{{z|{||{{{zz{z{z{{{|{|||{{z{{{zz{z{{z{{{zzz{zzzzzz{{|z{|{y{zzzzz{{{{{{{|{zz{zzzzz{zz{|{{zyzzzzzz{z|}z{{{{zzzzzzz{|{{{{{{z{zzzyzz{{zz{{{zzz{zzzzzz{{{zz{z{z{zz{zy{{{{z{{{zzx{yzzzz{{{z{{{zzzzy{z{{{{{y{|zzz|{zzzzzz{zz{{{{zz{zyzyy{zzzzz{yzzyzzyzy{zz{{{{z{{z|{zz{{{{{|||zzzzzz{zz{|||{{zz{zyzzyz{{{z{|{|z{zzzz{z|z{{{{{{{{zz{yzzz{{{{{|{{{{{{{zzz{z{{{|z{zzz{{{z{|zz{{||{{{{{{{{{{{||||{{|{{{z{{{}{{{{||{{{{{zz{{|{|{{{{{y{{|{{z|{{||||||{{{{{||{{{|{|{||{{{|{{{{{{|{||||z{{z{z{||{{|z|{{{{{{|{{{{{{{{||||{{{{z{{{{|{||{{z{z{{z{y{{|{{||{{{{{z{y{{z{z{||{{{zzzz{{{{{zz{zz{zzzzzyz{{zz{{{{zyzzzzz{{z{{{{{{z{zz{zz|z{{|{{|zzzzzyzz{{{{z{{{{{y{zyyz{y{zz{{{z{{{z{yzz{zyz{{{zzzzzzzz{z{{{{zz{zzyyzzzzzz{{{{zzzzzzzzy{{{z{{{z{zzzzzz{{zzz{z{{zz{zzzzz{zz{zz|{{z{zzyyyz{{zz{|{{zyzzzzzy{{yz{{z{z{y{zzzz{{{zz{z{zzzzzzz{|{{zzzyzz{zyyz{{{z{z|{{{z{z{z{z{z|{{z{{|{{zzz{z|||||zz{z{zzzz{z{{{{{{{{|{|{zzyz{|z{{{|{z{{{zzzy{{{|z|||z|{z|{|{|{{{{{||{{{{{{{{|{{{{||{|z{{|{{z{||||{|{{{{{{{{{{||{{|||{z{{z{z{{|{|||}|{zz{{|zz{|{{{|{|{z{z{y{|z{{{||}{|{z{{{{{|{{|{|{|{{{{{{{{{|{{{{|{z{{{zzz{{{||{z||{{{{{zz{{z{{{{{{zzzzzzz{y|{z{{z{{zzzyzzz{{{{{{|{{{{y{zz{z{yy{{{{{z{zzyz{{z{{{{{{{zzzzzzz{zz{z|||zzz{zzzzz{zzz{{z{z{{{zzz{{{zz{{{z{zyyyy{zz{{{{{|z{zzyzz{z{{z{{{|{yyzyzz{{zz{{{z{z{{zzzyzzzz{{{|z{zz{yzyzz{y{zz{{z{zz{z{{z{z{{{y{zzzzz{yz{z|{{z{||{zz|y{{|{{{z|{{|zz{z{z{z{{{y{{|zzzzzz{z|z|z|z|{{zzz{{{yz||z{|{{{{|{{z{z{{||{{}zzzz{{{z{{{|z|||{{{{z{{z{|{|}|z||{{zz|{z{{{{|{|{{|z{{zz{{|||{|||{{{{{{{{{||}z|||{{z{z{{{|{}|{{|||||{{z{{{z|{||||{{{{{{{{{{||{{||{{{{{{{{||}|||{|}{zz|z{z{||{|||{|{z{{zz{{||||{||||z{|z{zz{|{|z|{{{{{z{{zz{|{{|zz{zzz{zzzzz{{{{{{zz{yzzzzz{{{{{{|{{z{{zz{{zzzz{{{{zz{zz{zzz{{{zz{|{{{yzzyz{y{{zz{{zzzz{zzyzzzz{{|{zz{zzzz{{z{{z{z{{yzzzz{yyz{z{{z{yyyzzz{y{zzyzzz{zy{yzzzz{z{z{{{z{zzzyzyzz{zzz|{{zzzyzz{z{z{zzzz{{zzyzzzyz{z{{{{{zzzzzz{yzz{{|{z{{{{{zyzzz{{z{{|{{zz{yyzzz{{zz{||{y{zz{z{{z{{{{{{|z{{zy{y{z{{{{{|{{{z{{z{zz|{{{|{{{zz{zzz|{{{zz{z{{zz{zz{{{{{||{|y{{z{z|{{{{|{{{{{{{z{z{z{{{|{|{{{{z{z{{{|z{{|||{|z{{{{{{|{|{|}||{z{{y{z{{|{{{{|||{{zz{{{|||||||||{z{z{{{{{|{{||||{{{{{{||{{{||||{{|{zz{{{{|{{{{{|{{zzz{{z|{|{{|{{{{{yzzzzz{|{{z{zzzzz{{y{{|zz{{{zzzzyyy{{{z{{{{|{zzzyz{z{z{zzz|{zzzzz{y{z{z{zz|{z{zzzz{zzzzz{{{{zzzzzz{zzz{zz{{{{y{yy{z{zz{zz{|zz{zzy{zzz{zzz{{{zyyzyzz{{{{zzz{{{{zyy{zzzz|z{{{zzz{zyzzz{|zzz{{|z{zzzy{zzzzz{z{{zz{z{zyyz{z{|{{z{zzz{z{y{z{zz{|z{yzyz{zzz{{{{zz{{{zzy{z{{{{{zz||{{{zz{zz{|{{{|{{{z{z{z{z{{{z{{{|zzzzz{{{|z{{z{{||zzzy{z{{{{{|{||{{zz{{{{z{{{{|{|{{{{zz{{||{{||||{zz{z{zz{{{{{{{{{{{{y{z{|||{|{{{{{{zz|{{|{{|}||{{{{{zzzzz}|{|{|||{{{{{{{|z{{||{|{zz{{{{{|{|{|||||{{|{zzz|{{{|{||{{{zzzyz{{{|{{|{|y{zzz{z{|{{z{{|{{zyzzzzz{|{{{|{zzyz{zy{z{{z{{{{zzzyzzyzz{|z{{{|{{zzz{zz{|z{{{{{{zzzzzzz{{{{{{{{|{z{z|{z{{zz{{{|z{zzzzzzz{|zz|{z|zz{zyyzz{{{z{{{{yzz{{z{{zz{{|{{zzzzz{zy{{}{{z{{{zz{zzz{z{{{{z|{{{z{zzzyz{z{z{{|z{zz{zzz{zzy{z{|{zz{{zzyz{zz{|||{{zz{{z{{z{||{{{{z{zzz{z{{|{{{{||{{zzzzz{{{z|{{|{{{zzz{z{|zz{|{{{{{{{{z|{||{|{|{{zzz{{z{|{{{{{|{{{y{|{z{{{{{{||z{{{{{{zz||||||{{zz{z{{{|||||}|}||||{|{{{{||{{{|||{{z{z{|{|||{||||z{{{{{{|}|{||}{{{||{|zz|{|{|||{|{{{|{z{|{||{|}{{{{z|z{{{|{|{|{||{{{{z{|{|{||||||}{{|{{z{|{{{|||||{{{{{z{{{{||||zzz{zz{{{{|{{||z{zzzzzzz{{{|y{{zz{zyzyz{z{z{{||{zzxzzzzz{{{{|z||{zzzz{zzz{|{z{{{zzzzzzzz{{{zz{|{{zzzz{yyz{z{zzz{zzzz{zzzzzzzzz{{zz{zyyyy{zz{z{zzzyzzzyyz{{z{{{{zzzzzy{zzz{zz{{z{zyzzzyzzz|z{z{z|zzzzzzyzzzzz{{z{zz{yzy{y{zz{z{|{zy{zz{{z{{{{{{{{{{z{zzzzz|{{{{{{zzz{zz{{{{zz{{{{z{zzzz{zz{{{{{{|{z{z{zzzz{{|{{{{{{zz{zz{z{|z{{|{|yyzz{z{z{|{{{{z{{{zz{zz{{{{|{|{{{z{|{{{|{{|||||{{y{zzz{{|{}{{|||zz{{{{{{|||z|||{{{{z{{{|{{|{|{|{yz{{z{{||}}||}|{z{{{{{{{|{|{{{{{{zz{z{{{{{{|{||{{z{|{z{{{{{{{{{{|{z{zz{z{{{|{{||{z{zzzy{{{{{||{{z{z{zzz{{{{{{{{yyzzzzzz{{|{{{{{zzzzzyzz{z{{{{{}{{z{zzz{{{z{{||zzzzzyzz{{{{zz{|{{{z{{z{y|z{z|zz{zyzzzz{zz{z{{|zzzzzz{yzz{{{zzzz{{z{yzzyyzz{zz{|{zzzy{zzzzzzzz{{{{zzy{{yz{zzzzz{{zyyzyyzzz|{|{{{zzzzzyzyzzzzz{{z{{zyy{zzzz{{|{|{zzz{zz{zz{{{{z{||zzzyzzzz{{{{{{{{{yzz{z{{{z{{z{|{zz{zy{{{{|{||{|{zz{z{{zzz{{||||{{zz{{yzz{|{{{{|{{z{{{{z{{|{||{z{{{{z|zzz{|||{{|{{{{{{{{{|zzz{|||{zzzz{z{|z{|||{{{{{{{z{{|}|{|{||{{{z{z{{{{{{{{{|{|z{z{{{{|{|z{}|{|{{{{{{|{{|||}{zzzzz{{zz{{|{{{|{{{{|zz{{||{||{||z{zz{zz{{{{|}}|{{z{zz{z{||{{{{{|{{z{z{z{|{{{{{{z{z{zy{yz{|{{{{|{zzzz{z{{{z|{|{{{{z{{zzzz{z{{{|{{{zzy{yzzz|{{{{{{z|yzz{z|z{{{{{{{{zz{zzz{{{{z||{z{z{zz{{|y{{z|{zzzzyzzzz{{{{zzzzzz{zzzzz|{{{|{{zz{{zz{z{{|z{{|{|z{zzzzzz{{||{{{|{{zz{zzzz{{z{{{{{zzyzyzzz{zz{{{{{{zyyz{z{|{{z{|{|{{{{zzz|||{{{||{z{zzyzz{{{{{{{{{{{{{z{{z{z{{{{|{zzz{z{z{{{|{||{|z{z|{zz{{|{{{||{{z|{z|z|{|{||{|{{z|{{{{|{|}}}{|{|{{{{{{||{||{{|{{zz|{{z|||{{||{{{{z{{{{}|{||||||{}{{{{|{}{{|||||{{||{z{|}|}{}||{{{}z{|{{|||{||{{zz{{{{{|||{{{{{{{{{{||{||{{|||||{{z{{{{|{{{{|||{|{{{z{z|{{{{{{|{{{yyzz{z{{{|{|z{zyzzyz{{z|{{{{|zzzzzyxz{{|{{{z|{{{zz{{|{z{z{z{{|{zzzzz{{z{{yz{{{z{zzyzz{z{{{{{{z{{yz{{yz{{z{||{{z{zzz{{z|{z{{z{{{z{{yzzz{z{z{z|zy{zzzzzz{{{{{{zzzz{yz{yz{{{|{{|z{{zzzzz|{zzz{|z{zzzyyzz{zz{z{{{z{zz{yzy{||z{z{{zyzzzz{y{{{{{|{zzzzz{{{{zz|z|{|{|z{{{zz{|z{{{{z{z{{z|{{{{{|{{|{{{z|{zy{y{{||{{|zy{z{z{zz{{||{|||zzzz{{zz{|{{z|z|{{{{{{z{|||||}||{{{||{{{|{z||}||{{{{{z{{{|||{{{||z{|{{|{|||{{|||{z{{z|{{{{{{|}|{|{{{z|z{{}||{}||{z{{z{{{|{{|{||||{{|{zz{{z{{{{|}{{{{{{{{{{{{|{{|{{{{{{{|{{|{{{|{{{z{z{{z{|z|{{{{{z{zzz{z{{{|{{{{zzzzzzyz{z{{{{|zzz{zz{zxzz{zz{z{{zzzzzyz{{{z{|{|{{z{zzzz{{{|y{{{z{zzzz{y{{{{{{|||zy{zyzzz{zz{{{{zyyyzzyzzz{z{{{zzyzyzzzyzz{{{{zzzyzzzzyyz{{{z{|{{zzyzzzyz{z{z||z{zzzz{zyz{yzz{{zz{{{zzzyz{zzz{{{z{zz{z{zzzz{{{z{zz{zzzzzz||||z{z{{zz{z|z{z{zyz{|zyz{{zzz{{{{{{{{{{{zyz|{|z{{z{{{{{{y{yzzz|{{{{|{zzyz{zzzz||{z{}{{{{{{{z{|{z{z{{{y|{z{{zzz{z|{|{{z{|{|{{{|{||{|||{zz{{zzz{|{|||{{|z{{{{{z{{|{{||{z{{{|{{{{|{|{||||{{{z|{{{}{{{|||{{|{z|z{||||{|{{{zz|{z{{{|{|{||{{{{{{{|{{|{{||{|{||zz{z{{|{{z{|z}{zz{z{z{{||{{}|{{{zy{{zzzz|{{|{zzzzzyzzz{{z{{{{zzz{yzz{{{{z{{{z{z{zyzzy{z{{{{|z{y{z{zzz{z{{zz||zzzzzyzz{zz{{z{{{{zyzzzz{{zzz{{z{zzzyyy{y{{zz{{{zz{zzzzzzzzzz{z{{yyyzzzz{{z{z{{zzzz{{yzz{{zz{{{{zzyyyzzzz{{{zzz{{yzzzxzyx{zzzz{z{zzzyzzz{{zzzz{{{zzz{zzz{{{{|{|{{{z{{zzz{{{z{|{{zzzz{zzz{{{z|{{|yzz{yzzy{{{{{{|{zz{yzzyz{{{{y{z{zzzy{z{y{{{{{{{{zzz{{{y{|{{{{|{zzzzzy{{{{|{{{{|{y{{{|{zzz|{{|{|{{|{{zz{z{||{|{{{{z{z{{zz||{|{{||z{{{{{{{|{{||||||z|{{{{{{{|{{{|||{{{zz{{||{|{{{|{zzz|zz{{{|{{||{{{{{z{z|{|{{|||{{zzz{{{z{|{{{{|{{{y{zzz{{{{{{{zz{zzy|yzz{{{z|{{{zzzzzzzxz{{{{{{zzz{zzyz{zz{y{{{{{{zyzz{z{{{z{zzzz{{{zzzzzz{{z{{{zzzzzzzyz{y{{{{{zzzzzyyzz{z{{{zzzyzyzyzz{z{zyz{zzzzzyyyzzzzyzz{{yyzyy{zz{{{{z{{{zzzzz{zz{{{z{zzzzzzy{zyz{z{{z|{{zzy{zzzzy{{{z{|zzz{zzzzzyzzz{{z{yzyyyzzy{{{z{{zz{zzzzzzz{|{|{{z|zz{{{zzz{{{|{{{{z{|zzzzzz{{{{{{{{{z{{zzz{z{z{|||zz{zzzzz{||{{{|z{z{{{zzz{{{zz||zz{{{z{z{{{|{{|z|{{|{{{{z{{z{{|||{{{zzzz{{{{z|{{{{{zz{zz{|{|{{{||{{zz{|{{{|z{||{|{z{zzz|{|{|{{|{{|z{{z{{{{|{}{|||{z{|{{{z{||{{{{||z{{|{|z{{|{{|{{|z{zz|z{z{||{|}{z{zz{{{yzz{{{{{{z{{zzz{z{{z{zz{zzzzzzzzyz{z{zz{{{zzzz{zyzzz{{{{{zzyz{zzz{zzz{{{{{zyy{yyzz{{{z{{{{zzzyzzzz{{{z{z|zzzz{zzxz{{{z{z{zz{zzzzz{{{zz{{{{{zyyzzzzz{{zzy{zzzzzzzzzz{zzz{y{yyzz{zzz{{z{{{{zz{yyzzzzzzz{{|{zy{{zz{zzzzz{z{{{{yzzyzy{{z{z{{{zy{yzzy{{z{zy|{{z{zzzzzzz{{z{{{{{z{{zz{{{{z{{{{|{zzzz{zzz{{{{{{{zyz{{z{zx{|{{|{{zzz{zzz|z|{|z{{{zz{z{z{{{{{zzz{{{{{{{{{zzz{{||{{{z{{{{zz{{{{{|{|}{{{{{zz{|{{{{|||{{z{zz{{|{{z|}|{{zz{{{||{{||{|||{{{{{z{{||{|{{||{{{{z{z{z{{|{{|{{{z{zz{{{z{{{z{|{{{{z{{{{|{{||zzzz{{zz{{{|z|{|{{{{{{z{zz{{{{|{|z{z{zzzz{z{{{zzzzzzyyzzzzz{zz{||{zzz{yyz{z{z{{z{{zzzy{{yz{{z{{|y{zzzzyzzz{z{z{zzz{zzyzzy{{z|{zz{zzyzzz{yz{zzz{{{{zz{{yzyzz{{y{zz{{zzzzyz{zz{{{{{{zyzyzyzz{{{z{{{{zyzzyyzy|zzz{z{{{zzyyzz{|{{z{{{{zzzzzyzzzzzzzz{|yzzzzzzzz{z{{{{zzzzzyzz{z|{zz{{zzzzzzzy{{|{|{{|{zz{zzzzz{{{{{{{z{z{yzzz{{{{{z|{{{z{zz{zz|{|{{|{y{z{{{{{z{|{{{|{|zz{{{{z{z|zz|{{{{{z{{{{{z|{|{|{{z{z{{{z{|||{{|||z{|{z{{{{{||||{{zzzzz{{||{{||||{z|{{{{|z{{{z||||{||z{{z{|{|{|{{|{|{{{{z{|||{|{}|{{{|y{{z|{{||}|{zz{{{{{|||{|||{{{{{{{zz{{|{{{||{{{|z{{z{{{{{{|zzzz{{zzz{|{{{{|{{{zz{z{zzz{zzyz{zyzzzyzzzz|z{{{{{zyzz{zz{zz{{{{|zzzzz{y{z{zzzz{{z|zzzz{{{{{zzz{|z{zyz{yyzz{{z{{{zyzzz{zz{yz{zz{{{zz{yzyzz{{{{{{z{zzyzzz{z{{zzz|{zz{{zzzy{z{{{{z{zzz{zzzzz{zz{{z|zzz{zz{zz{{{zzzzzzyzzz{zz{zz{{|{{{{zzzzz{{{{{{{|{zzz{{yz{{{zy{{{zz{{yy{z{{y{{{z{zz{{z{z{zz{{|{||z{{zzzzz{{z{{{z{z{{zzzzzz{{{{z|{zz{z{zzzz|||{{{{{{z|{{z{{{{|{{|{z{zzzz{{{||{||||{|zz{z{{||||{{{{|z{z|z{{||}{{}||{y{{z{{{|{|{||{|{zzz{z{y{||{|{|||{{}{z{||{|{|||||{z{y{{{{{||{{{{|{zz|z{{{|||||{{|{{z{{z{{{|||z||{{{{z{z{z|{|z{{{{{|z{zzy{{|{{{z{zzzzzyyzz{|{{z|{{{zz{zzzz{zzz|{{{z{zzz{zyz{z{{{{z{zyzzzy{{{{{z{{zzzzzzzzzzy{{|{|zyz{zzzzz{zz{{z{{zzzzyyz{{{y{{{zz{zzyzzz{zz|{z{{zzyzzzzzzz{{{z{{zyz{zyy{{{{zzz{z{zz{zzzz{zz{{z|{zyz{{z{yyz{z{{z|{zzz{{zz{{yz{{{zyz{zzzzzzz|{z{{{{zzyzzz{{{{|{{||z{{zzyz{z|z{{z{{zzyzzzzzz|{{|{z{{zzzzz{z{|{{{{|{zzy{z{|z{z|{{z{z{{{{zzz{{{{{{|{|zz{{zz{z{{{{{{|{zz{zzz{z{{||{|{|{z{{{zz{{|||{{|{{{{{{{{z|{{|{{||{z{{|z{z{{{{|{z{|{z{z{{|{}||||||{{{{zz|z{{{{|{|{|{{{{{z{|{{{{{{{{z{z{{{{|{}{{||{{zzzzzz{||||{{|{|zzzz{{{{||z{{|{{{z{|{z{z{{{|{{zzzzyzzyz{z{y{{{{{{{zzzzyz{{{{|{{{{zz{{{zz{{{|{z{{{yz{z{zz{{{z{z{{zzyz{zzz{{z|{{zzzzzyzzzz{{zy{{{zzz{zyyzz{{zzz{{zz{zyzzzzzz{zzzzz{z{{zzzz{z{zz{{y{y{y{yzzz{{{{{{z{{z{{zzz|{{z{{{|{z{zzzyz{{zz{{{{{zz{{{zyz{{{|{{zz|{zzzzzz{z{{|{{{{z{zzzy{|z{{z|{zzz{yzz{z{z{{{{{z{zzz{{z|z{|z{{{yzyzy{{z{{{z||{zz{zzzzz{||||||{{zz{{{zz{{{{|{{{z{{{{zz{{|{}{{{{{|{{z{{{|{{{z{}|z{z{{{{|{{}||{{{{{z{{z{{{|{{|~}|{{{zzz{|{{z|||||}}z{|{{{{|{|||}}zz{{z{{|{{{z{||{|{{{{{{{{{{|{{|||z{{|{{|z||||||}{{{zz{{{{{{|||{{|z{{{{zz{||{{{{{z{{yz{z{{z|{{{{|{zzz{zyz{|{{{zz{{z{zzyz{zz{{{{{{{zzzzz{z{zz{{{{{{zzzz{yz{{{{z{|{z{zyyzzz{{{{{z{zzzz{yyzzz{zzzz{{zzzyzzyz{z{zz{z{zy{yzzyy{yz{{z{z{zzz{zzz{z{zzzzzzyzzzzzzz|zz{z{{zy{zyzyzzz|{z{{|zzzzz{zzzzzz{{{{{{{yzz{yz{{z{{||zzzzzz{y{z{z|{z{{z{zzzz{{{zy{{z{zzzzzzyz{{z{{|{|{{zz{z{z{{{{{{|zzz|yzz{z{z{{|{{{{zzzzz{y|{|{{{|{{{{z{{{{{{{{{zz{{z{{z{{z{{{|{{||zz{{{{z{{{zz{{{}|{{{z{zz|{|}{{{{|z{{{{{z||{{|{{{{{z{y{{{{|{{{||{{{{z{{{|z||{|||||{|{{{|{|{||{|{{|{{{{{zz}{{z|{|{|{{z{{z{{{{{{||{z{{{{|{{z|{z{{{|{zzz{{{z{|{{{zz{z{{zzz{y{{|{{{{zzyzzzzzyz{{{{z{{yyyzzzzz{zzz{{{{{zy{zyzy{z|{{{{zzz{zzzzy|z{{zz{{zz{yyyzz{{{{{{z{{zzzz{zzz|zz{zz{zzzyzzzz{zzzz{{z{yzzyzzzzzzzz{zzz{yzzz{{{{zzz{{{zzzzyyzz{y{|{z{{z{zzyzzzzzz{zz{z{{zzzyzzz{{z{{{zzzzzzy{zz{zzzzz{{{{{z{yz{z{{{{{z{z{zzx{{{{zz{z{{zzyyyy{{{z{zz{{|{{{zzzzzz{{{z{|{zzzzyyzzzz{z{{z{{{{{zzz{{|{||z}{{z{z{zzz{{{{z{{{{{{{zzzz{|||{{||{{{z{z|{{{{|||{|{{{{z{zz{z{{|{|||y{zz{{{{|{{||||{z{z{{{{{{{|{{{||{{{{{z{|{|{{|{||z{|zz{{|{|{{{{{{{{zzz{z{z{|{|||{zz{{{{z||{{{|{{zz{zz{z{z{{{{{{|{z{{zzzzzzz{{{|z{z{{zzzz{{{{z{z|{yz{{zyy{{{zz{z|zzzzzyyzz|{{{|zz{{z{z{{{{z{y{|{{zz{zzzzyzz|zzz{{{{zyyyyyzz{{z{z{{zzzz{{zzzzz{{{z{zzzzyzy{{{z{{z{{z{z{zzzzzzz{z{{yzyyzzyyzz{yzz{zzz{yzzy{z{|z{{zzyzzzyyyz{{zz{{z{zz{z{zzzyz{zz{z{{zzzyzzzyzz{{z{{zz{zzzzz{z{z{z|{zyzzzyyz{{{{z{|{{zy{y{zz{{z{z{{{zyzzzzyz{|{|{{|}zz{y{zzz{{{z{{{{{{{{zyz{{{{{z{|z{zz{z{z{{{{{{z{{|zz{{zzz{{|{{|{{z|zz|z{z{{{{{{||zz{z|{{z{z|{|{||{{y{|{{z|||{|||{{z{{{{{|{|{{|{|{|z{{z{{{z}||{{{{zz|{zz|{|{||{|||{zzz{|{{{{{||{{|{{z{|{z|z{{{{{{|{z{{z|{{z{{{{{{{z{z{zzzz{|{|{{{{{zz{zzz{|{{{z{{zz{zzyzzzz{{|{{{z{zyzz{z{zz{{zz{{zzyzz{xzz{z{|{|{{yz{{yyyzz{{z{{z{z{zz{zy{zzz{{z{zzyy{y{zz{y{zzzzzzz{yzzzzz{zzz{z{zzzyyzz{{zzz{{zz{zzyyzyz{{zz{{{zzyzxzzzzy{{{{z{z{zzyy{{z{{{zz{zz{zzzzzzy{z{{zz{{{yyzz{{zzzz{{{zz{zzzzzz{z{{{{{{z{z{zzz{{z{{zz{{zy{zyyyz{{{|{{zzyzzzyzzz{{|{z|{zzz{z{y{{{z{z|{z{zz{{z{zy{z{{{{|{{{zz{zy{z|{{{zz{z{z{zzz{{z|{{{{}z{{{{{{z|{{|y{|{|z{|{z{{{{||{{}{|{z{z{zz|||{{|{|{{{{{|z{z{|{||{|{z{{z|{z{||||{}|{{|{z{z{|{z|{|{|{zz{{{z{{{{{|{{|{z{{{{{z{||{{{{|{z{{zz{{{{z{|{|{{{{zz{{zz{{|{{z{{{zz{yz{|{{{{{{z{yyy{zzzzzz{zy{{zy{zyyyyzzz{{{||{zzzzy{zz{zz{{{z{{zz{zzyz{z{z{{yzzzzzzzy{zz|z{{zzzzyzyzyzz{y{{zz{y{zzz{z{zzz{{{yzyzyy{zyzzz{zzz{zyzzzzzyzzzzz{{zzz{zzyyzzzzzz{{zzyzyzzyyy{{|{{{zzzzzzzzz{{zzz|zyzzzzzyz{{|z{{{zzzzzzz{yzz{z{{z{z{{zzzzzz{z{zzz|{{yy{zyzz{zy{z{{|{y{zyzz{|z{z{z{z{zzz{zy{{{z{{{{{{z{zz{yzz{{{{z{|{yz{{z{z{{z{{{||{zzzz{{z{|{||z{{z{z{{{z|{{{|{{{}{zzzzzz{{{{z{{{{|z{{zz{z{||{{{{{{z{{{{|{{|{z||||{{{zz{{{z}|{||||{z{{{{z{{{{{{||{{z{{zz{{{|{{z|{|{{yz{z{zz{{{{{|{{{zz{{|{z{{|{z{{{{z{z{{z{{|{z|{z{zzz{z{zzz{{zz{{{zyzzyzzzzz|zzz{zzzyyz{zzzzz{{z{zzzy{zzzzzz{{{z{{yyzz{yy{z{{zz{zzzzzyzyy{{zzz{{{zzyzyyzyzzzz{{zzzzyyzyzzzz{zy{zyzzyzyzyz{zyzzzz{yzzyzzzz{{{y{z{zzzzyyzzzzz{zzzzzzzzzyzzy{zzzzz|{{zzzzyzzzzzzzzz{yzzyzyzz{z{{{zzzzzz{{zyyz{z{{z|{zy{{zzyz{{z{z{{{zz{zzz{z{{{{z{|{{{zyzz{zz{{{{{{{zz{zzy{zz{z{{{{z{{{zzzzy{z{zz{{zzyy{zzzy{|{z{{|zzzzyzzy{z|z|{|{}zzzzz{z{z|{||{{|{z{{{yyz|{||{{{|{yy{{z{z{|{|z||{{{|{{{zz{{||||||{z{z{z{{{|{|{||z|{{z{z{z{{{|{{{{zzz{z{{{z{|{{{|z{zz{{|{z{z{|{{{|{{{z{z{{{{z{{{||{{{zz{{zz{{{{{|{{{zz{zzz{{z{{{z{zzzzzzyyz{{{{{z{{zyyyz{zzz|{{{z{{zzzz{zzy{{z{z{{zzyzzzyzz{{{|z{{{zzyyzyzzy{{zzz{zyzyzzyz{{{zz{{zzy{yzyyzz{z{yzzzyy{zyzyzzzzzz{zzzyzzzzzzzzzzzz{zzyzzyyzzzz{zzzyzzy{zzzzz{{{{z{{z{zzyzyyyy{{z{zzzzzyzzzzzzzzz{z{{yyzzz{zy{z{{zz{{yzzzzzzyzz{zzzz|zz{zzz|zy{z{z{{|zzzzzzzz{{z{{z{|{z{z|y{zz{{{{{zzzz{{{yzy{{{{|zz{z{zzzzyz{|{{{{zzzzzz{{{{{zz||{{{zz{{{{zy{|{{z{{{zzz{{z{z{}{||||z{zzz|z|z|{|z{||{{{{{{z{{z{zz{|{||{|{{{{z{{||z{{||z{|z{{z|}|{z||{{zz{{{{|z{{z{z|{{z{{{{zz{|{{{{||{{{z{{{z{{{{{z||zzzzzzz{z|z{z{{{{z{yzzzz{z{zzz{{z{zzzy{yz|}z{z|{zzy{zz{zz{{{{{{{z{zy{zzz|z{{{z{{zz{zz{yz{{{{z{||{y{yz{{z|||{zz{{{zzzzzzz{{{zz{{{|{zzzyzz{{{z{{{z{zzyz{zzzzz{y|{zzyzzzzyz{z|z{{{zzz{zz{zy{z{z{{zzzz{zzz{zz|z{{z{|{y{{zzz{z{{{z{{{{zzzzzzy{{z{z{{{z{zzzz{z{z{{{||{{zz{{zz{{z{{{|{{zzzzyy{{{{z{z{{|yz{{z{{{{{|z{||{{zzz{z{y{{{|{|{zz{{z{zyzz|{||{|{{zz{{{{{{{{{{|{|{zzz{z{z||{|{||{{{|{{z|{||{|}|{|{y{zyz{z{|}||{|{{{{{{{{{||{|{||}z{{z{z||{{{{{|}{|{{|{|z{{|{|{|}{|{|{{{{z||||z|{||zz{{{{{{{{||||{}{z{{zz{|{|||{||{{{z{{{{{{|{z{|{{{zz{{{zz{{{z||{{{z{{z{{{{|zz{{{zzzzz{zz{|{|{y{{yzxzzyzzzz{z{{z{{yzyzzzz{zz{{z|{zyzzzyy{z{{|zz{{zzzzyzzy{{{{z{{{zzzzzyzzz{{zz{{{zz{zyzzyz{zy{{{{{zyzzzy{zz{{zz{zyzzzzyzz{{z{z{{{zzyzzyz{yzz{{zz{{z{zyzyyzzzz|{z{zzzy{zyyzzzzz{z{{z{zyzy{x{zz{z{{{zzz{zzz{{{{{{|{zz{y{zzz{z{zzz||z{zzzzz{{{{{z{z{{{{yzzzzz{{{{{{{{{{{{y{yz{zz{|{{{{{zz{{z{{||{y|{zzzzzyz{z|{{{{{{z{{zz{zz{{|{{|{{{zzzzz{{{{{|{|||}zz{{{{z{{{|{|||zz{{{z{z{{{}}z|}{||zz{{{{z{{{|{{||{{{{z{|{||{{|||z|{z{z{|{||||{{{|{{z{z{{{|{|{|}{{|{|{z|{{{||{{|{{z{{{z{{{{{{||{{{y|zz{y|{z|{{{{zz{{z{{{z{||{{z{zzzyzzyzz{|{z{z{zzzzz{zzz{{z{{{{|zzzzzzz{{z{{|zz{z|zzzz{{{{{zz{{zyzzyzzz{{{{z{{{zyzzzzzy{|{{zz{zzzzz{yzzz{{{z{zzyzz{zzzyzz{zzz{{zz{zzzzyzzz{z{|zzzz{zzyz{{{z{zz{zzzzzzzyz{zz{{{{zzz{zyzyz{yzz{zz{zzzz{yzzz{{z|{z{zzy{z{yzz{{{z{{zyz{yzy{{z{|{z{{zzz{zy{zz{z{{{{{{{{zz{zzz{{{{{{|{z|z{y{y|{{{{{{{z{{yz{{z{{{z{|{{{{{{{{{{{{{|z{|{{{{{{{zy{||{|||{{{zz{|z|{{{{{{{{{z{zzzyz{{{{}{|||zz{z{{{|{{{|z||{z{zz{|{{{{{{{{{{z{{z{{zz}{{||||}{{|{zz|{{{{{{{{{|zz{{{z||||{{|{{z{{zzz{|{{{|{{|{zz{{y{z{z{{z|{{|z{{{{zz{{{|z{{{zz{zzz{y{zzz{{z{z{zzzzyzz{{{{{{{zzz{zzzzz{zz{z{{{{zzyzzz{|z|{z{{{zzzzyzzyzzz{z{{{zzyzyzz{zzzzzz{{yyzzz|zz{{{z{{{zzzyzzzzzz{z|{z{yyzzz{zzzz{zzz{{{zzzyzzyz{{{{|{zzxzzzzyzzzz{{|{{zzzzzzzy{z{{zz{{yyyzyyzzz{zyz{{zzzzyzzzzz{zz{|{{z{{zzyzyzzz{zz{z{zzzyzyz{{{z{{{{{zzz{z{{zz{zz|{{yzzz{{{z{{z{{zz{{y{{zy{zz|z{||{{{zzzz{y{{{{{z{{z{{z{z{zz{{{{{||{{{{z{zz{{{{{{|{{{{zz{z{{|{{{{|||{zz{{{z{{zz{|{{|{z{z{{{z||z{{|{|{zz{zz{{{|{|{}||{{z{{{z{{|{z{||||z{{{{{{||||{|{|{z{{{{z{|{||{{|{{{{z{{{z{|{|{||{{z{z{{{{{{{|{|{{{{{z{z{{{|{|{{{{z{{zzz{zz{{{{z{{{zzzzyzyz{{zz{zzzzzzyyyzzzzy{{z{{zzzzzzz{{{yz{{|zx{yyyy{yz{zz{{{zz{yzzzy{{{{zzz|zyzzxyyzz{zyzz{z{{zzzzzzz|{zy{{zzzzzyyyyzzzzzz{zzyyzzyyyzzzyzz{zzz{zyzyzzz{{{{{{{zzzyyyyzzzzzz{{zzy{zyzyy{zzz{zz{{zxzzzyz{zzzz{{zz{zzzzyyz{{z{z{zzyyzyzy{zzz{|z{{zzzzyzzzz{z{z{{z{zyzzzzyz{{{{|{zzzzzyzzz{|{zz{zzz{{y{zzz{{zz{{{{zz|{zzz{{{{z{{{zz{z{|{z{{|{{{{{z{{zz|{z|{{|z|z{{{z{z{zz{z{{{{{{{{z{{z{{{|{{{{|}{zz{{{{{z{{z{{||{{zzzzyz{|{||{||{z{{z{zzz{z{z|{|{{{{zzzz{{z{{{{{zz{zz|z{||{{|z|{{{zy{yzzz{z{{{{{{{{{{z{{y{|{{{|zz{zyzz{zzz|{{z{yzzzyyzyyyz{zz{z{zzzzyyxzzzyz{{zyz{zyzzzz{zzzz{y{{zyyyzzyzz{{y{{{zzzyy{zy{{zzz{{{yzzyyyyy{{y{z{zzzyzyyzzyzzzzy{yzzzzzzyyyyyzzzzzzzzzyyzyyyyzzzz{zzyzyzyyzy{zz{zzzzz{zyzzyzzzzzzzyzyyzyyzyzzzzz{{{zyyyzzyzy{yzz{z{zzyyzzyzzzz{{{zz{zzyzyzz{zz{{{z{zz{yyyzyzzz{z{z{yzyyyzyzyzzz{z{{{yzzz|zyzzzzzz{{zz{zzz{z{zz{{z{{yzzzzyzzzzzzy|{{{z{{{zzzz{z{{|z{zz{zzyz{{{z{{{{z{zz{z{yx{z{z{{|z|zzz{yzz|{{|{{|||z{zz{{{{}{{{{|{{zzzzzzz{{{|{{|z{zz|zz{{{z{z|{{{|yzz{zz{{{zz|{||z{zzzzz{z{zz|{z|{zzyzyzz{{{{{{z{{z{zyz|z{z{{zy{{zzzyzy{z{{|zyzz{zzzyyzzzz|zyz{z{{zzzzyzzzyzz{|z{zyzyzzzzz{zzzzzzzzzyxyzzzz{{zz{{zzzzyz{zz{{zz|z|zy{yzzzzz{{zyy{z{yzzz{zy{zzzyyzzzyyyyzyyzzzz{z|{zzyzzyzyyzzzz{zzzyzyyzyzzz{y{zzyzzzyzzzzz{y{zz{{zyzzxyzy{zzzz{zz{zzyzyzyy{zzz{zzzzyyzzzy{{zzzzz{zz{zzyyzzzz{{z{{zz{zzy{z{z{{z{{|y{zzy{zz{{{{{z{{{{{zzxz{z{{{{|{zzy{{zy{y{|{{{z|{zzzzzyzz{zy{{z|{z{zz{{{{|z{{{|{{zzzzzz{{|{{{{z{|zz{zzzzz{{{{{{{|zzz{{zzz{{{{{{|{z{zzz{z{|{|{}{|{|{z{z{z{{{{{{{{{{z{zzz{z||{|{}|{{yz{yzzz|{{|{{{{{{zzz{z{|{{z{z{{zzzz{{{z{{{z{{{{zzzzzzzzyzz|z{{{zzz{yzzz{z{{{z{zzzzyzzzzzzzzz{{{yyzzzzyzyyzz{{{zzzzyyyzzzzzzy{{{y{zzzyyyzzzz{y{zzzyzzyyzzzzz{zyzzzzyzyyzzzzzz|{zzyzzxyyyzy{zz{z{zzzyyzzzyzzzz{zzy{zzyzyzz{z{zz{zzy{yzyyzzzzy{zzzzzzzzyzzz{zzz{zzzyyzxzyyzyzz{zyzzyyyzxzyzzy{zzz{zzyzzzyzz{zzzz{}zzz{zzzy{zzzyz|{yzzzzyzzz{z{{|{{{zzzzz{yz{z{z{{|{zzzzyzz{zzzz|{zzyzyzzzy{zz|{z|z{yy{zz{{{{{z{{zz{yzzzzzz{z{|{{zz{zz{zyzz{{z{{{{{zzzz{zyzy{|{{{{{zz{{{z{{z{zz{z|{zy{{z|{{z{{{{{{{}{z|z{{{z|{{{{||{{z{{{{zz{{z{{z|{{{z{zzz{z|{{{{{zzzzzzzz|{{{|{{{{z{{zzzz{zz{{|{||zzzzzzyz{z{z{{{zz{zzz{z{zzz{{{zzzzyzzyyyzzzzz{{y{yzyyzz|z{{|{{|zzzxzzzzz{zz{z|zzyyzyyyy{z{yzzzz{zzyzzzz{{{{z{{{zyyyyzzzzzzzz{{yzzzyyzzzzzzzzzz{yzzyyzyzzyz{zzzz{yyyzyzy{z{{yzzzzyzyxzyyzzzz{{zzzyyyyzxzyzzzzzz{zyyyyzyxzzz{zzzyzyyyzzzyy{z{zzz|zzzzzyyyy{zz{z{{zyyzzzzz{zyzzzz{zz{yyz{yzz{z{z{{zzzzzyzzzz{z{{{{zzyzzyz{z{{{y{{{{z{zyzyzzz{z{z{{{zz{zyyzz{zz{{{{{z{zzz{zz{z{{{|{zzz{|z{{{z{{{{{{{{y{{y{z{{{z{|{z{z{{{{{{{|z{{{{|{z{{zz{zz|{{z{{{{zz{zzzzz|{{{|{z{z{|y{zz{|{z||z|{y{z{z{z{{{{|||{{{zz{z{z{{{{{{{|zz{yzzzzz{z{{{|z{zzzzzzzz{zz{{{zyzzyzyyzy{{{z{zzzzzzzzzyyzzzzyy{z{yzzyyyzz{{z{zzzzyzy{zyzzz{{{zyzyzyzyxyyzzzzzz|{zyyyxzyzz{{y{z{zzyyzyzzzy{zzz|{yyzyyyyyzzzyzzzzyzyyyzyxyzz{z{z{yzyyzyzyyyzzzzzzzzzyxzyyyz{z{z{{zy{xyyyyzzz{z{zzzyzyyzzyyzzyz{{z{yzyyxzyz{{zz{{{y{zzyzyy{zzzz{{{z{zyzzzyzz{{zz{{y{zyyzzyzzzzz{{zz{zzyzzz{{zz{z||zzzzyzyzzz{{{{z{zzy{zzzzz{zz{{{{zzzzzzzyzz{z{z{{z{zy{{zyz{z{{|{{{z{{{{z{zzz{z{||z|z{z{zz{z{zz|{{{zzz{zzy{|{|{{|{zz{zzz{z{z{{{{|{{z{{{z{{z{{{z{{{{y{{{z{{{{|{z|z{|zzzzzz{{{{{{{||{z{yzz{{z{{{{{{|{z{yy{zz{{|{{zz|z{zyzzzzzzz{zzz{{{{zzyzyz{z{z{{{zzyzyyyzzz{{z{z{zyyyyzzzzzzzzz{{zy{zzzzyzyzzzz{zzyzzyzzzzy{zzy{{zzzzyzyzzzz{z{z{zz{yyxxzzzzyzz{z{yzzy{zzzz{zz|{zzzzzyyyy{zzzzz{zyyzzyyzyyzy{zz{zzzzzzyyzzz{y{{{{zyzzyxyzzzz{z{zzzzzzyzyzz{zzzzzzzzyzzyyxz{yzz{|{yzzzyz{yzz{{z{zzz{zz{yyzz{z{{zz{zyzz{zzzzzzz{zz{zzzzzyzzzz{{{{||zzzzzy{z{zz{{{{z{zz{zzzzy{{{{{|zzzz{{zzy{z{{z{{zz{z{zzzz{{z}|z{{{z{z{zz{|{{zz{{}{zz{|y{zz{{z{{{|{z{{{{z{{|||{z|{{z{{y{{|{{z|||{{{zzz{{zzz||{||||{{{{zy{z|z{{{{{{zyz{z{y{{{{z{|{|{z{z{yz{{{zz|{|{{zzzzy|{{z{z{z{{{{{|zzzyz{zz{z{z{z{zyyzzyz{{zz{zzzyz{zyyyz{z{z{{zzzzyyyzzzz{z{{{zzzyxzyy{|{z{z{zzzzzzyyzz{zzzz{zzzzyzzzzzzz{{{z{zz{yzyyyy{yz{zzzzzyyzyzzzzzzz{zzzzzyxzyzz|z{zz{zxzzyyyyyy{zzy{{zzzyyzzy{yzyy|{{zz{zyzyzy{zz{zz{{zzyzzyzzy{z{z{{zz{{z{zzzz{zz{zzzzzzz{zzy{z{z{{{z{zzz{zzzzyz{z{z{{zzyzz{zzz{z{{{{zzz{zzzzz{zz{z{{zzz{zz{y{{{{{zzzzz{zzzzyz{{z{zz{zzzyzyyzz|zzz{z{z{{zz{{z{{{z|{{|zzzz{{{z{{{{{|z{{zzzzz{zz{{{z{{{{zzzz{zz{{{{z{|{{zzz{{{{{|{{{|{||{{{zzzz{{{|{|{|{z{{yz{zz{|{{z|{|zz|{z{z{{{|{||{{z{yzzzz{zz{||{{{{{zzzyz{z{z{{||{zz{zzz{y|{zz{{{zzzzyzyzz{{{zzzyz{yzzzzzzzzyz{{zyzyyzzyzzz{{zzz{zyzyxzzy{yzz{{zzzzyyyyyzzz|zz{z{zzzyzzyy{z{z{zz{zyzyyyzzy{yz{yy{zzzyzyzy{zzyyzzyyyyyyzyyy{zzzzyzyzzyyyzyz{zzyyzzzyzzyzzzzzz{zz{{zzzyzyzyz{zzzyy{{z{z{zzzzzzyz{{{zzzxyxyyzz{|zz{zyyzyzzzy{z{zzz{{zzzyzzz{zz{zz{{zzyyzyy{y{zzzzzz{zzyzyzyy{zzz{zz|{yzyzyzzz{{zz{z{{{{zzzzz{{{{{{{zzzzzzzyz{zzzz{zzzyzz{zzzzz{{z{{zz{y{z{zzz{z{{{|{{yzyz{zxz{z{|{|zzy{zzzzz{{zz{{{{z{{zz{{z{{z{{{z|{zzzz{z{{|{|{{{|{z{zzzzz{zz{z|{{{zzz{z{{|{{{|{{{{{zzz{z{{{z{{{{{{{zzzzzzzz|{z{{{{zzyzzzzz|{{{{zz{zzzyzzyy{zz{zz{yzzzzzyzz|zzz{zzzzyyyzzzzz{zz{|zzzzzyxyyzz{zzzzzzzyzzyzzzyz|{{{zzzzzyz{yzzyzzzz|yyzzzzyzz{{zz{{yzzyyxxy{zz{yzyzzyyyyyzzyzy{zz{{{yzyyyyzzzzzzyzzzyzzzzzyzzzzzzzzzzz{yyzyyz{zzz{{{zyyzyzzyyzyzz{{{zzyzzyzzzyyz{{{{zyzzzzzz{z{{{{{zzzzyzzzzz{z{{z{z{yzzzzzzzy{zz{{{yzzzzzzzz{{z{zz{zyz{zyzy{{{{{{zz{zz{zzy{{{{z{{{z{{zzyz{{{{z{|{{{{z{z{zz{zz{||{{|{y{zz|{{{z{{zz|{zyz{z|yy|{{zz{{{{{zz{z{z{|{{|{|{zzzzz{{|z|z{||{z{{{{zzz{{{{{|{{{{{{z{{{{|z{|{{{{{zzz{zz{{zz{{{{|z{{z{zzzz{{{{{|{zz{z{{{zz{{{{{|{{zz{zyzyzz{{{{{zzzzzyzz{{{zzz{yzyzyzzzzyzzzz{zz{zyzzyyzzy{{{{{{{yzyyzz{yzz{zz{{z{zzzyyzzyzy{yz{{zyzzyyzy{zzzzzz{zyzzyzzyz{yzz{zzzzzyzzyyz{zzz{{zzzzzzzz{zzyzzzzzyyyyzzyyzzzz{zzzzzyzyzyyzy{zzzzzzzzzy{yzzzz|{z{{yz{zzyzzzz{z{z{{yzzyzzzzyz{{z{zyyzzzyzyyz{z{{z{zz{zzzyyyz{zzzz{zzyzzzzzz{zz{{zz{zz{zzzzzzzz{{{{{{zzz{zzyz{y{zz|zzyzz{{zzz{{z{{|{{{{zzzzz{z{{z{z{{zzzz{{zz{z{{|z{zz{{{zzz{z{{{{{|{zzyyzyz{{z{{{{|{z{{zzzx{||{{z|{zzz{y{|{z|{{{|{{{z{z{zzz{|{{|{{|{{{{{yz{{|{|{|{{|{{{z{z{zz{{||{|{{{yzzzz{{{|z{{{{z{{z{{zz{{{{||{{zzzz{zyz{{z{{z{zz{zyzzzz{zz{z{zzzyzyyyzzz{zz{z|zyyzzzyyz{{{{{{|{yzzzzyy{{|{z{{{zyzyzzzzyy{{{y{{{{zz{zzzzz|{z{{{zzzyzyyzzz{yz|{zzyyyyzzzzz{z{z{zzzyyzyzz{{z{y{z{yyyzyyyzyz{{{{{{zzzzyyyzzzzz{yz{{zzzyzyzz{zzy{{{zzzzzzzyyzzzy{z{{{y{zzzzyzzz{{|zzyzzy{zyyz{{{z{{zzyz{zzzz{zzz{{z{zzzzzzz{z{{{{{{zz{zz{y{{{|{z{{|z{{zyyzzzz{{z|{zzzyzyzzyz{{{zz|z{zzzzz{{z{{zz{{{{{z{{z{{{{z{{{|{z{{zz{{{z{{{||||{zz{{{zz{{{|{{||{z{zzzzz|{|{|{||{{{zz{|z|{|{{{||{z|z{z{{||{{{|||{z|{zzz{z{||||{{{zy|zzz{{{|{{|{{{zz{{z{{z{{{{{||{{zzzzzz{|z{{{||{{zzzzzz|z{{{{|z{z{{zzzz{{{{{{z{zyyyz{yzz{zzzz{zy{yyyyzzzzzzz{zzyzyzxzxyzz{zz|{{zyyyzyzyzzzz{zz{{zzyzzyzzz{z{zz{yzy{zzyzz{{{y{{y{zzzzzzyzz{yyz{z{zyzzyyyzy{{zzz{y{zyyzz{yzz{yzzz{yyzyxyzzz{{zzzzzzyyz{zy{{y{{{{{zyzyyzyzzzzzyzz{y{zyyzyzyzzzzz{z{yzz{zyyz{{{zy{{zzzyzzy{zz{z{{{{yzzzzzzzz{zzzzz{zzzyzyzy{z{zz||z{zzz{{{z{{z{zzzzzz{zzzzzz{{z{{|{zzyzzzzzz{{z{{|zz{{{zzzz{{{z{{{|zzz|zz{{{{{{{|z|z{z{{zzy|{{{z{{{|{{z|{yz{{|{{|{{z{zzz{|z{{{||{{{{zz{{z{{{|{{{|{{{{z{{z{z|{{||{{{{zz{{{{zz{{{{||{{zz{z{zz{z{|{{{{{zzz{{{{{|{|z{|{{z{{zzzz{{{{{{{{zz{zzzzyz{}{z{zyzzyzzzyyyzzzzzz{zzzzzyzyzzzyz|{{{{zyzzyyzzzyz{{{zyyzy{zzzzz{{zzzzz{yyyzyzz{{zz{{zz|yyy{zz{{zzz{zzyzyyyyx{z{{y{zzzzyyyyyzyz{y{{z{zzyyzzzyz{yzzzyzzzyzyzzzy{z{{zzyzzzyxyyzzzzzyzzzzzyzzzzyy{z{zzz{zzyy{zzyyzy{zzz{zz{yyzyyzzzyz{{zzzzzyyzzzz|zzz{{zzzzyzzzzzz{z{|{yyzzyy{zz{{{{zz{zzzzzyz{z{{{zz{{{z{z{zzy{|{zz{{z{zzzzzz{{{{z{{{zzzzzzzzzz|{|{{{{z{yz{zz{{z{{z{{z{{zzz{yz{{|{z{|z|zzz{zzz{|{{{||{{z{{{zzz{|{{{|{|{z{zyzzz{{zz{{||{z{zz{z{{{{{{||{{zyzzzz{{z{|{||{zzzz{yy{{zz{||{|{{zzyz{z{{{|z|{{zzyzz{zzz{{{{{{{zzzzyzzz{{z{zzzzzyy{yxzyy{z{{{{|yzyzzzzyy{yzz{zz{yzzzzzy{{yz{zz{zzzyzyzyzz{{{zzz{z{yz{zz{{zz{z{{zzzzzzyzzz{z{z{yzyzyzzzzzy{{yz{zzzzyzzzyzzzzzzzzzzyyyzzzzzzzzzz{zzzyzzzzy{{z{|yzzyz{yzzyzyz{z{{zzz{yzzyyyzz{{{zyzzzzyzxzzzzzzz{zzzzyzyzy{z{z{z{{zzzzyyzzy{z{z{z{zz{zyz{yzzz{{{zzyzzzy{zyz{zz{z{{yzzzzzzzz{{{{|{zzzzzzz{y{{{{z{|{zz{z{z{z{||zz{{{z{zzzzzz{{z{{z{{z{z{|z{z{|z|{{{{{zy{zzzz{{|{{{||zzz{zzz{z|{{{{|{z{{zzzzzz|{{{z{{|zzzz{{|z{{zz|{{{zz{z{zz{{{|{{{{{z{z{z{zz{{{{z||{z{z|zz{{{{|{{{{{{zz{zz{z{z{{|{zz{{yz{zy|{{{z{{{{zzyzy{zy{{{z{yyzzyzzzyzzz{z{{{zzzyzzyzyzzzz{zzz{yxzzyyyy{zzzz{zzyzzyzzyyz{zyzzzzzzyyzyx{{zz{zz{zxyzzyzyyzzy{zzzzzyzxyzyyz{zzz{zzzzyyyyyzz{yzzz{yzyyyzyzzzzyz{{yzyyzyyyyzzzyzz{zzyzzzyyzz{zz{yz{zyyyzzyzyz{zy{{zzyyyyyyyy{zzzzzzzyzzzyzyyzzzz{{{zzyzzzzzy{y{z{z{{z{zzyyzz{zy{{z{zyyzxzyzzzzzz{{zzzzyzzzz{{{zz{zzzxzyzzz{{{{{zz{zzz{zzzzz{{|zzy{{zzzyzzzz{z{{z{{|{zzzzzzz{zz{{{{{zyyzzzz{z{{{z{{|zz{z{{z{z|{{{|zzz{{yz{{z|z{{{{{z{yz{zzzz{{{{{{||{yz{{{zy|{|{z{{z{y|{zzz{z{{zz{z{zz{{{zzz{|zz{{z{zzzyzzyz{z{{{{{zz{zzyyyzz{{{z{||zzzzz{zyyzzz{{zz{yyyzyyxy{yzy{zzy{xzzyzzzz{z{zz{{yyxzyyyzyzyzz{{zz{yyzyz{zzzyz{{yzzyxzzyzzzyz{yzzzzyyzyyzzz{xzzzzyzyyyyyzz{zzz{zzzyxzyyyyyyzyzzzyzzyyyzxyzzyzz{zzzxyyxyzyyzy|{zzyzzzz{zxzz{zzzzzyyzzzzyyyzyzzzzzzyzyzyyyz{yyzzzzzyzyzzyxzzyzzz{zyyzyy{zzzzy{zzz{zyzzzyzzy{z{yyzzzzzzyz{yzz{zzzzzzzzzzzzz{{y{z{zzzyzzzzzyz{z{zz{{zzxyz{yy{zz{yz{zzzzyzyyz{{zz{{zz{zz{zz{zz|zzz|{{y{y{zyzzz||z{{zzz{{z{{yz{zz{{{{{zzzz{{zzz{{{{{{{|zyzzz{{z{{|{{{{{z{|z{zy{{{{|{{{yzzzzzz{z{{{{z{{{zzz{{{zzz{|z{{{zzzzzzzz{{z{{z{zzzz{zzzzz{z{z{|{zzyyzyyz{y{z{{{zzzyyzyzyyz{z{z{zzzzyzyyyzzzzz{zz{zyyyzyyzzzy{{{{{yzzyyzyz{{{yz{{zzzzyy{y{yzy{zz{zyyyxyyyzzzyz|{zzzyyyxzzzyzyy{zzyzzzyyyzz{zzz{z{zyyyyyyzzz{z{zzz{zyyyzyyzz{{zz{zzzyzxyzyzzz{zz{{zzzzyyyzyyzy{zzzzzzyyzyyzzzzz|zyzzzzzzzy{zz{{{{{zzyyzy{zzzz{z{{{zyzyzyzyz{yzz{{{zzzyzyyyzzzzz|zz{z{zyyzyzzz{z{z{zzzzzzzzzz{{{{{zzyzyzzzy{{z{yz{{yyyzzzzzz{{{{{{{z{{zz{zz{{{|z|{z{zy{zz{{{{z{{{{z{yz{zz{z||{{z{{{z{zzz{{z{{{{z{{{{zy{yz{{z|{{{{{{{z{zzzzz{{{{{{{{|{{{zz{{{{{{{z{|{{zz{zzz{{{z{|{zz{zzzz{{|z{{{{{{{z{zzzyyzzz{z|z{yzzz{zzz{{{zzzzzzzyyzyzyz{{yzzz{zzyyzzzyz{zz{{{{zzzyyzzz{{yz{{{zzzzyzzyyy{{{zy{zzzzzzyyyzz{{z|{{zyyxzyzyyzz{{zyzzzyyyyyzzz{zyzzzzyzzzyzzyzzzyy{zyyzzzzzyz{zzzz{zzyyzyzzzzz{{{zzzzyzzyyyzyzz{zyzzzzyyyzzyy{zyyyzzyyyzzyzzzz{{zzz{yyzzyzyzzz{zz{z|zzyyyyyzy{z{zz{{yzzzyzzzzyz{y{{|yzzzzyyzzz{{||{{zzzzzzzzz{{{{{{{{{{zyyyy{{{{zz|zzz{{zzzz{|{zzz{z{zy{zzzz{zz{{{{zzy{zz{|{{{{|{{z|{z{{z{zyz|{{{z{{zzz{{zzz{{z{z|{zz{{{z|{{z{{{{|{||{zzzzy{z{z|{|{zzy{zzz{{{|{{{{|{{z{zzz{{{{{z|||{zyz{zz{{{{{{z{{{{zzzyzyzz|{z{{}z{yzzzzyz{zz|{z{z{z{yzyzzzz{zzzz{zyyzzzzyx{{zzzz{z{zyyyyyzzz{zzzz{zyyyzzxzz{zzyzzzyxyzzyyz{{{zz{{zyyyyz{x{zzzzzz|zyzyzzyxzzyyzzzzzzzyyyzyzzzzzzzyzy{yyyyzyzy{zzzzyyzyzyyyzz{{zz{zzzzzyzyyzzzzzz{zzy{xyzzyzzz{zyzzzyzyyyzyzzzzyzzz{zzzyyzzzzz{z{zzyzyzyzyz{zzy{{{{zzzz{zxzzz{{{z{{zzzzzzzy{{zzzzzzzz{zyzzzz{{{{zz{zz{yzzyyz{{|{zzzzzzzzzzzzz{{{z{{zy{zzzzy{{{{|{{zzz{zz{{z{{{z{|{{zzzzzzzz{{zz|{{{zzzy{z{y{z|{{|{z{zz{{zzz{{{{{{{{{{{{zyzzz{z{{}{|{zzzz{z{z{z{{z{{{z{zy{z{{{|{|{{{{yyzzzzzz{z{{{{|{{{zzzz{z{z{{{{{{{{zyzzz{|z{{z|{z{{yzy{zz{z|{z{z{zzyyyyz{{z{zz|zz{xxzyzzyz{z{z{{zzzyzyyy{z{{zz{z{{{yyyzyzyzzzzz{zyzzzzyzz{zzzzz{yzyzzyzyzzzzzzz{yzzyzzzzz{z{{zz{{zzxzyy{zz{yyzz{yzzyzzzzzy{zy{z{zzzyzyzyzzy{zzzzzzzyyzyzzzzy{z{zzzzzyyzz{{y{z{zzzyzzzyyxz{zzz{{{zzzyzzyzzz{{z{{{zz{zzzzyz{{zzyzzz{yyzzyzz{zzzzz{yzzyzyzzz{|z{{z{zz{{z{zzzy{{{{{zyzz{{zyzz{z|||{{{yzzz{yz{{{z{|{{zz{{z{zz{|{z{{{z{zzy{{{z{{||||{{zz{{z{z{{}{{{z||{zzzzzzz{||{|z{{{{zz{z{z||{{{{|{zz{{z{{z{{{{|{|{{{z{z{z{{|||z{z{{z{zzz{{||y{||{{|{{zz{z{|{z{z{{{{zz{{{zz{{{z{{{z{{zz{zyzz{{{z{{{zz{zzzzz{zyzzz|{|z{zyzzy{z{zzzz{yzyzyyyyy{zzzz{{zyyzzzyzz|zzzz{zzyzzyzzzzzyy{y{zzyyyzyyy{y|{zz{{zyzyyz{x{y{zzzz{zzyyzyyyz{yy{{{z{zzzzyyyz{zzyz{zzx{yxzzy{yzy{{zyyzzyyzzyzzzyzzzz{yzyyzyzz{{zz{zzzyzzyzyyzzz{zz{{zzzzzyzyy{y{y{zzzzzxzzzyz{z{z{{zxyzzyzzzzz{zz{z{zzzzzzzzzz{{zzz{zzzyzyzzzzzzz{{zzzzzzzyyzz{z|z{{zyz{{zzzz{z{{{{{zzzzzzzz{{{{{z{{{yy{{z{{{{{{z|{{{z{zz{{z{{{z|{{{zz{zz{|{{z{|{{|{{z{{zzzz{|{{zz{||z{{{zzzz||{{{||{{zz{||{z||{|{{{|z{z{{z{z||{{|{{zz{zzz|z|||{{{|{{z{zz{y{{{{{{z|{{zz{zzzz{|{|{|{|zz{zzz{zz|z{z|{z{{z{{zzz{|{{y{{zzz{{zzz{z{{{zzzzyyyyzyyzyzyyzz{zzyyzzyyyy{yzz{zzzz{yzyyyyzzy{z{zzyzzyyyyzzyzyzzzzyzzyyzyzyzyzz{zyyxzyzzzyz{zzy{yzyzyyyyyzzzzzzzyyzzyzyyz{zyzyzzzyy{yyyyyzz{zyzzzzyzyxyyyzzzzz{z{yzyyyzyyyzz{yzz{yyyyyyzyy{{zzz{zyzzyyzyzyzy{z{z{zy{zyyzyz{yzzz{{zyzyzyyz{{zzz{z|yyzzyyyzzzz{zz{{yz{yyyyy{z{z{y{{|yzzzy{yyz{{z{zz{{yzyzyyz{{z{{{z{zzzzzzz{y{z{{{zz{zzzzzzz{{{|{{{zzyzz{z{zzz{{z{{zzzzy{zyz{{{zz{{{zyyzzzy|z{z{z{{{z{zy{{z{{{zz{{{{{zzz{zzz{z{z{|{zzzzzzz{{{{{{|{{yyzzzzy{|{{{{|{{zzyy{zz{{zz{{|z{{zzyyzzzz{{zzz{{|{zyzzzzz{{{z||zzz{yyyyzz{zz{z{{zyyzzxyyyzyz{{z{zzzzzzyyzzzzzz{z{zzyyy{y{yzzz{zzyzzyzzzzzz|{zzz{zzzyyzzyzyy{z{zzzyzxzyyzyzyy{{zzx{zzyzyyzyzyzzzzzzzzyyyyyy{zzzz{yzzzyzzzzzzzz{zzzzyyyzzzzzzzz{{zxzzzzzzxzzzzzzzzzzzzyyzyyz{zzy{{zzyyzzyzz{zyz{z{zzzzzz{y{z{{zz{zzzyzzz{zz{{zzz{{zzyyyy{z{{z{{zzzzzzz{zzzy{{{z{{zzyzzzyzz{{zzz{y{{{zzz{zzz{{{z{{{{{zzzzyy{{{{{|{{{{zzzz{z{{{{{{{{yzzzzzz{{z{{z||{{z{{zzz{z{{z{{|{{zzz{zzz{||z{{z|y{yzz{{{{{{||z{|{zzz{{{z|||{{{{||z{{zzz{{{{{{{{{{{z{{z{z{{|{{{{|{z{zzzzz{|{{{{||{z{z|zzz{z{{z{{{|zzzzy{z{{z{{{{zzzz{{z{z{{z{{zzzzzyzzyzz{z{{{zzyyzyz{zyyzzzzz{z{zy{zzzzyyzzz{z{zzyzzzyzyyzz{zzzzzyzzyzzyyyzzzzyzzyzxyyyyyzyyy{zzzxxyyzyyyzzzz{zz{yyzyyyzzzzzzz{{yxyzyxzyzzzzz{{z{z{yyzyzz{{y{zzzyyzyyzzyzyz{zz{{zzyyyyyzyzzzzzzyyzyyzzz{yzzz{{z{{zzyy{yyyzz{z{{zyyyyzyyzzz{zzzz|zyzyy{zyzzzyz{zzyyyzzzzzzz{zz{|zyyzyzzzyz{z{{{zzzzzzyzz{z{{z{{{zzzz{z{{zz{{|{{{{|zz{zz{z{{{{z{{{z{zzzzz{{{{{z{{{{{zyzzzy{|{zzz{zzz{z{z{zz{{{{{{|{z{zz{{zz{{{{|{{zzzzz|zzz{||{{|{|zz{z{zz{zz|zzz{{zyz{{{z{{{{z{{zzzzzzzyzz{{|{{{{zzzzzzy{{{{{{{{{{z{{yzzzz{{{z{{zzzzzzzx{z{z{{zzzzzyzyzyyz|zzyz{{yzzzyzyyzz{zzz{zzzxyzyyyzzzz{zzzzyyyyzwyyzzzzzz{{y{yyzzyzzz{{{y{yyzyyyzyzzzzz{{{zz{yyzyyzzzzzzzyzyzzyzzyzyz{zzzzzyyzyyyxyzzzzzzzyz{zyzyy{zyz{yz{{yzyzxyyz{z{z{{{zzyyzzzzzz{z{{{zyyyzzxyxyzzzzzz{yyzyyzyzy{zzzz{z{yyzzyyzz{zzz{|{zzzzzy{zzy{z{{{{zzzzyzyz{{z{{y{zyzzzzyzzzzzz{{{{{yzyzyzz|zz{{{|zzzzz{yzzz{z{zz{{{{zzzzzy{zz{||{{{{zz|{zz|zz{zz{{{zzzz{zzzz{{{{|{{yzyz{{y{|{{{{{{{zzzzzz{zzz{{{{z{z{zzz{y{{z|{|{{{yzzyzzz{{|{{{|zz{zz{zz{z{z||{{|z{{z{zzz{{z{|{z{yz{zzzzzz{z{{z{|{zyz{zz{z{z{{z{{{zzyyzyyzz{z{zyzxyyyyyxyyy{yzzz{yyyxzyyzzzzzzzz{zzyzyyyzzz{z|zyzzyzzzyyyzyz{zzzz{yyyyyyyyzz{z{z{yzyz{yyyyzzzz{{zyzyzzzxz{yzzzzzyyyyxzzyzzzyzyzzzyzzyzyyyzyzzzzz{yzzzzyxyyzzy{zzyyxyyyyyzz{yyzz{zyyyyyyzyyyyyy{zzzyzxyyyyy{zzy{zzzyzzzzyzzz{z{zzyyyyyyyzzy{yzzz{zzzzyzyyy{yzz{zzzzyzyzyzy{zzzz{{y{yzzyzzyyyzzzzzzzz{zzzyyz{{zzy|zzzzzyzzyz{|z{{{{{zyyz{yz{{{{{{{zz{z{z{zz|z{|{{{{{zzzz{yzz{{{z{{{zzyzzzyz{{z{{{z{zz{zz{zzz{z{{{{z{zzzzzzzz}{{{{{{{zy|zz{y||{{{{{{{yy{zzz{zz{{{{|{zzzz{yz{{z{|{{{z{zzzzzz{z{{z{z{{z{zzzzzz{{z{{zzz{zyzzzyz{zzzzyz{yzzyzyzzyzzzyz{zzyzzxzzzzzzyzyz{yzyyyzzxzzzzz{zzzxzxyyyxy{{{yzyzzzzyy{zyyz{zzzz{zyxyyyzyyzz{y{zzyyyyyyyx{zzyyyzzyzyxyyyyyyzyy|{zyyzyyzyzzzzzzy{yzzzzyzyyzzz{zzzzzy{yyyyzzzzzzzzzzzyzyyxyxzzzzzy{zyzyzyz{yzzy{{zzyyyyyxyyzzzz{y{zzzyyzyyyzzzzzzz{{zzyyyzyzzzzzz{zyyzzyyyzzzz{{{zzzzzzzyyzy{{zz{y{zzyzyyyzz{{zzz{zzyyzyzz{{z{z{z{|zz{zzzyzz{{{z{{{zzzyzzzyzzzz{{|{zyzzzyzz{{{{|{{{zyyzzzzz{{{|z{zzzzzzyz{zzzzz{{|{z{zzzz{zz{|{{{|z|yz{zz{{{{{z{{|{{yzzzz{zzzz{{{{{{zyz{{yy{zzz{{{|zz{yzzzzz{{|y{{{{zzzyzyzz|{|zy{zzzzz{zyyy{zyzzzzyzyyyxzyzz{zzzz{zzzyzyyzzz{{{{{{zyyzzzyyzzzzzz|zyyzzzyyzzzzzzz{{zzzyzyzzyz{{zyy{yzzzzyzzzzyzzz{zyzz{yyyzyzzz{z{zzyyyzzzzzzz{zzzzyzzxzyzy{zz{{yzzyyyzyyzzzyzzzz{|{y{zyzy{zzyzzzzzzzzy{yyyy{zzzzz{{zyzzyzyyzzzzzzz{zyzzzzy{z{{zz{yz{zyyy{yz{zzz{y|yzzzzzzzzz{{{{z|zzzyyyyzzz|z{{{{{zzzzzz{zz{zz{{{zzzzzzzzzz{zzz{zzz{zzzzy{{z{{{{{z{yzzzz{zz{|{{{|zz{z{zzz{{{{{{{{{zzy{zzzz{{z|{{zzzyz{zzz{{{zz{{{{z{zz{zzz{{zz{{{zyy{{z{zz{{}{|{{zz{yz{{z{{{{{z||{zzzz{zzz{{zz{{|{|z{{{zz{{z|{{|{z{{y{z{z|{zzz{{{{zz{zyzz{{{{yz{|{|zy{zzyz{z{{{z{zzyzzzzzzz{yzyz{zyzxyzyzyzz{{z{{zzyyyzzyyzzy{{{y{yyzzzzzzy{zyz{{zyzzxyzyy{y{z{z{{yzyyzzyzz{zzz{zzzzzzxyzzzzzzzzzzzyyxzyyz{z{yyyzyxyzzzyzyzyy{{{yzxyzzyyzzzzzz{z{yyzyyxyyzzzzzzz{yzyzzyyyyz{zz{zzzyyzyzyyy{zyyzz{yzzzz{yz{yzzzzzzz{zxyzzzzy{yzzz{yyyzzyyzzyz{zz|{{yzzzzyzz{{zz{{{zyzzzzzyzzz{z{{z{yzyzyxz{z{{z{{zzzyyzzyz{z{{{||{zzzz{z{z{z|{|{{|z{{zz{{y{zzzz{{|zzzz{{yy{{{{zz{{{zzzzz{{|{|{{z{{{z{zzz{yzzz{{||{{z{|zzzz{{|{{}{{{zz{z{z{z{{{z{{||zzy|zzz{zzz{{{|{z{zzz{{z{z|{{{zzzzzz{z{{{|{z|{{zzyzzyzzz{{{zz{zzzzyyy{zzz{zy{yzyzzzzyzyy{{zyyz{zzzzyyzyz{zzz{z{zzyxyyyyzzzz{z{zzzzyyzzzyz{zyz{{zzxyy{yxzzzzz{zzzyzyzyyyyyzzzyz{zyzx{yzzzzzzzzzzzzxyzyzyzyzz{zzzzxzyyxyyyyzxz{{{zzzzxzxyyzzzz{{zzy{zzyxyzz{{z{{zyzxzzyzyzzzzz{zzzzyxzyyzzzyzz{z{yzzzyzyyzyz{{zz{yyzzzz{yyz{zzzzzz{yzyzz{{zz{zy{z{zzzyyzyz{{z{z{zzyyzzyzzyzzz{{{zz{{y{zzzz{zzz{{z{zzzzzzzz{{zzz{{zzzzzzyz{{{{z{{zzyz{zy{{zzzzzz{z{zz{zzzz{zzyyz{{z{{{zzzz{{{{z|{zzzz{z{zz{{z|{{z{{zz{zzzzz|z{{{|{{{{{zzzz{{{{{|zz{zyzzz{z{{{{{{{|{z{zzzzz{{{{yz||zz{zzyz{z{{{z{||{zzyzzzyz{z{{{z|zyzyyzzy{z|zz{yzyzyyzyyyyzzz{zzz{zyyzzxyzzzz{{z{{zyzxzxyzzyzz{{{zyzzyyzyzz{zzz|z{yyxxyyy{zzzzzz{{zyzyyzyzzyzzzzzzzzyyyyyzyzzxyyzyyyyyzyyzzzyzzzzyyzyzyyx{zzzzz{zzxyyzzyzy{zzz{{zzzzyyyzxy{yyyz{zyyyzzyyyzzzzyzz{yyyzyyyyyzyzy{zzzyzzzyzyz{{yz{yzzzzzzyzzyzzz{{z{{zyyyyzzy{zyz{y|zyzzyyyz{zzzzz{{yzzzzyzyz|zzyzzzzyyzzyyzz{z{z{{zzzzyyyzyzzzzyzzz{zyzyzzzzz{{{{zzzyz{{zzz{z{{{{{|{{z{zzyyz{z{zz|z{zzzzyzz|{zz{{{zzzz{zzzzz{{z{{{zzzz{z{zzz|z{{zz{{{zzyz{{|{zy{z{{zyzzz{{zzz{{z{{|{zy{{zzzzz{|{{z{yzzyyzzzz{{{z|}{{{z{zz{zzz{z{{{{{zzyxzzzz{{{{zzzzzzzzyyxz{z{zz{zzyyyzyyzzzzzz{{zzyzyyyyzzzz{{z{zzyzzzzzzzzzzzz|{zzzyyzzzzzz{z{zzz{yyy{zzxzyzzz{zzzzyzzyyzz{zyzz{zzyyyyxyyzz{zyzzzyyyyxyzzzzzz{{zzzzzyyyzz{zz{{zzzzzyyzyyzz{{zz{zyyyyzyzzzzzyzzzzzyyyyyzyzzzzzzy{zzzzzzz{{{zz{zzzzzzyyyzzzzzzz{y{zyzz{zzy{yzzz{{{zyzzxzz{{zzz{{{zzzzz{xyzzz{z{zzzyyzyyz{z{|{z{{{|zzzzzzzz{z{zzz{{zz{yzzzz{|{{|{|{zzzz{z{z{{{{{z|{{zzzzzyzz{{{{{z{zz{yzz{z{{z{z{{|{z{z{zzzz{{{{{|{{zyz{{z{z||{{{{{zz{zzyyz|{}{{{|z{{z{zyyz{z|{{{{||{yzz{zz|z{{z{{{zz{zz{{zz{{{{z|{{{z{yzzz{{zz{z{{z{{yzy{yzzz{{{yyzyyxzyyyyzzzz{zzyyyyzzyz{z{z{zzzzyyyyyyz{zy{{z{zzyzyzyyyzyzzyz{zz{zzyyzyzzz{z{zzzyzxyyzyzz{yzz{zyzzyzzzy{yyzzzz{zyyyyyyyzyy{z{z{yyxyxzyyzzzzyzzyzyzzyyyy{zzzzz{zzzzyzzzyzzzzyz{{yyzyzyyyzzzyyzzzzzzyyyzyyzyzzzzzzzyzzzyyyyzyzz{{zzyxzzzzz{zz{yy{zzzzzyzyzzz{zz{zzyzzzyzy{zzzzzz{zzzz{zyyy{zzz{{z{y{zzyzz{z{z{y{zzyzzzz{{{yzz{{z{{zzz{z{zzz|{{{{{{zzz{yzzzzzzz|{{{zyzzzyzzz{{|{{z{zzzyz{yz{zz{{z{zzzzyzz{z{{{z{z{{zz{zz{zz{|{{{{{{{zzzz{z{z|{{|{z{zy{zz{z{z{z{{{|zz{{{zzzzzz{{{{{zzzz{{z{{{z{z{z{{{zzzy{z{z{zz{{zz{zzzyzyzzz{{zzyyyyyzyzy{{zyyzyzzyyzzxzyzzzzz{z{zyyzzzyzzz{z{z{{{y{zyyzxyz{zz{{{zzzzyyyyz{{zyzzzzzzyyzyzz{{zz{zyzzzzyyzzyy|{zz{yzyzyzyzyyyyz{z{zyyzyyyyyz{{zzz{zzzzzyzzzzzzy{zz{zzzyyyy{zzzzz{{zzyyzzxzyzzyzy{z{{yyzzyyyyzzzyz{zyyzyyzzzzzy{z{{z{zzzzzzzz{{zzz{zzyyyzyxzzzzzzz{{zzzzyyz{zzzy{{{zzzzyzz{yzz{z{{{{z{zy{zzy{{{{{{{|{{zzzzzzz{z{{{{{{{zzzzz{{{{{z{{{z{{yzz{z{{z{{{{{zz{{zzzzy{{z{{{z{zzzyyz{z{z{{z{{{z{zzz{{z{z{|{{{{zzzzzzz{{|z{{|{{z{{{z{{{{z{{{{{{{{{zzz|z{{z{{||{{{z{{zy{{{|{{{{zz{yz{zzz{{z{z{{{zzzzz{z{{z{{{{zzyyzzzzz{z|zyy{zyzyzyyzyyz{{y{zzyyyyyyyzzzzz{z{{yzyyyzyyzxyz{zz{zyyyzyzy{zzzzzzzyyyyxyyzyyzyyz{zyyzyyyxxz{zy{z{z{yzzyxyzzzzyzz{{zyzyyyyyzyyzzyzzyzyyyyyyzz{zzzyzyzyyxyyzzyzyyz{{zzyzyzxyz{zzzz{zyzyyyyzxzzzzzzzyyzyyzyyzz{yz{{zzzzzzzzzyzzzz{yz{zzyyzyyy{zz{zzy{zyyzzyzy{z{zz{{{{yyyyyyyzz{z{z{{yzyyzyzzz{z{{zzz{yyyzzyz{z{zz{{z{yzzzxyz{{{{yz{{{z{zzzzzzy{{{z|z{zzzzzzz|zz|{|z{zzzzz{yz|{{z{zzz{yzzzzz{{{z{{{|{zz{{{{{zz{z{z{{z{zz{y|zz{{{{{|{{{z{zzz{z{{z{{z{zzyyzzzy{z{{{{z|{z{zz|yzy{{z{||{{zzzzzzzzzz{{{{{{{zzyyyzzz{{{{{{z{zzzzyyxzzzyzzy{yzyzyyyyyy{yzz{{yyyyyxyzzyzzy{z{zzyyxyxy{zzzzzzzzzzzyyxzyzzzyz{zzzzyyyzzzyzzzzy{zzzyyyxxyzzzzzzz{zyzxyxzz{zyyz{zzxzyxzyzzzzzz{yzyyzyzyxyzz{zzzzyzyyyxyyyzz{zzzyz{yzyyzzyzzzzzy{yyyyyzyzyyzzyzyzzxzzyyzyyyzzzzzz{zyyxzzzyzyzzyzz{yyyyyzzzzzy{zz{{zyzxyyz{|zz{zyz{zzzzzzzzzz{z{zzzzyzzyyzz{|z{{zzzzyyyzyzyz{z{zz{zzyzzyzzz{{zz{zzzzy{{{zyzy{{{zz{{z{zz{zzzzz{{{z{{yzyzzzyz{yz{z{z{{z{z{zz{{{{z{|{{zz{yz{zzz{{{{{{{z{yyzzy{zz{{z{{}{zzz{zz{{{{{z|{{{{yzyzzzz{z{zz{|{zz{z{zz|{z{{{{|yzzzzyzzzzz{z{|{{yyyzzzzz{{zzz|z{zy{zzyz{z{z{zxzyyzyyyxyzz{zz{y{zzzyyyzyz{zzzzyzyzyyyyzyzzzz{z{zzyzyyyyyyy{zyz{{yyzyyyyxzzz{y{{|yzzzzyzzzyzzzzzzzzyzyzyzzz{zyzzzyyyyxzxyzyzz{zzzyyzyyyyyzzzzzyzzzzzyzzzyzzy{z{z{zzzzyzyzyzz{zz{{yyyyyyyyx{zzzzzzyyzyyzzxy{zyzzy{yzyzyzyy{zzy{zz{yyzyzzzyzyzzy{z{zzzzyzyyzzz{zz{zzyz{xy{z{zz{z{zzzzzzzyzzy{{z{{z{yzzzyyyx{{{z{zzzzyzzz{yzz{{{{{zz{yzy{zyz{{{z{zzzzyzzzz{zyz{{{{{{{zzy{zzzz{{{|{{{zyzz{zzz{{{{|{{{{zzzz{{z{{{z{{{|{{z{z{{zz{{{{{z{zzz{zzz{z{zz{{{{zzzzzyz{zzz{z{{{zzyzzyzz{z{{{{z{y{zyzzzz|{z{{|{zzzzzzzzzz{zyzz{{yyzyy{{yy{{z{zzzxzzyzy{y{zyz{zz{yzzyzyyyzzzz{zzz{zzyyyzyzzzyz{zzzyzyyzyzzz{{zz{yzyzxyxyyyyzzyzzz{zyyyzzyyzzyzz{{{zyzyyyy{z{{z{zzyzyyzzyyzyzyzzyzzzyxyyyzzzyzyzzzzy{yyyyzzz{z{{zzyzzyyzyyzzzzzz{zzzzyyyzyzzzzzy{zz{zyyyyyyzyzy{{zzzzyzzzzzyzzz{zzzzyzzyzyz{zzy|{{yzzyzzzzzzzzzz{{yzzzzyzzz{{zz{{{zz{zzyyyz{{zz{zz{zyyzyy{z{zz{z{{yyzzyxyy{{zzz{zzzzyz{{zz{zz{{|{{yzzz{{zzz{z{{{{{z{zzyzyzz{z{{z{z{zzzzzzz{{{zz{||yzz{zzzz{{{z{{{{{{z{z{zzz|{{{{|z{z{{z{{{zz{{zz{{zzz{{z{{z{z{{z||{zzz{{zz{{{{{{|{zzzz{zzz{{{{{{{{{z{yyzzzzz{|{{{{{zzyzyyyz{zzzzy{zyyzyzyxyy{z{z{{yyyyyzxyyzyzz{z{{zzzzyyyzzzzzyy{zyyzzyzzzzz{z{z{yyyyyywyzzz{z{z{zyzyzyyyz{{yzzzzyzzyzyyyzyzyyzz{zyzyzzyyzzzzzz{yzyzyzyyyzzzzyz{zyzzyyyyyz{zy{zyzzzzyyyyyzzzy{zzzyzxyzyyyyzyyzzyzzzyzyyyxyzyzzzzxzyyzyyzzyzzzzzzzyyyzzyzyz{zz{{{{zzyyzzyzzyzzz{zzyzzzyyzzzzzzzzz{z{zzzyzzyz{{{{z{zzzz{zyyy{{z{{{z{zz{zyyz{{{{{{|{{yz{y{yz{zz{z{{zzzzzz{{zzzz{{|{{{zzzzyzz{{{zzz{{{zzzzzzz{{|{{|{|y{zzzy{{{z{z{{{{{{yzzz{yz{|{|{{{{z{{zzz{{{{{{{{{zz{{{zzz|{{{z{{|zyzz{{zzz{{{{|{{{z{zz{zzz{z{z|{{z{z{zzzzz{{{zz{zyzzzyzyyzzzzzzz{yyzyyxzyzzzzzzzyzyzzzzyy{yz{y{{zzyyyyzzz{xzyzz{{zzyzzyzyyz{{{z{{{yzyzyyyz{zzz{{zzyyyz{zyyz{yzz{zzzyzyyyy{zzzzyzzzyyyyyyyyzzyzz{zyyzzzyzzzzyzz{zzyzyyxzwzzzz{{z{zzyyyyzyzz{zz{z{{{yyy{yyyzz{zy{{zzzyyyyyzyzzz{|y{zzzzzyyzzyz{z{{zzyzz{zzxyy{zz{z{{zzzzyyzz{zz{y{|y{{zyzzyzzz{zz{zzz{{z{yyyz{{{z{y{z{yyzz{zz{z{z{{zy{{zz{zz{{zz{{{z{{yzzzz{{{{z{{zz{zzyzz{z{{|{{{{zzy{zzyz{{{z{{zz{zzzzyzz{{|{{}|{zz{yzzzzz{z{{|{{|yyzzzzzz}|{{{{{|{{zzz{z|{|z{|{{{zzzz{zyz{{z|{{|{z{z|{zz{|z|{{{|yzzzzzzzz{{{{{{|zyzzzzyyz{z{{{{{zzy{zzzzz|zzz{yzzyzyxyyyyzzzzz{zzyzyyxzyz{y{{y{zyzxyzzy{yzyzzzz{zyyyzzyyyy{{zyzzzyyyxyyyyzz|y{zzzzzzyzyyzzyzyzzzzyzyxxyyyzyyz{yyzzyy{zyyzzzzyzyzyzyyyxyyyz{z{zzzzyyyxzzyzz{y{zyzzz{yyyzxy{yzzz{zyyyyyxyzxzyzzzz{yyzzzyzzx{z{{{zzyyzzyzyyyyz{zz{{{yyyzyzyyz{zzzzzzzzzyyzz{zz{z{z{yyzzyyyyzz{zz{{z{xzzyzyzzz{{zz{z{zyzyzyx{zz{zzzzzyzzzyz{{zzzzzzz{z{z{zzzz{{{zz{{zzzzzz{{{{z|zz{{{zzzyyyzz{{{{{{{zyzzzzzz{{{z{{{z{{zzzy{{y{{{{zz{{yzyz{{z{|{{{{{{zz{zzy{z{z{{{|zz|zzzzyzzzz{z|{{|z{zzzzzy{zz{z{{{{zzz{{zzzz{z{{zzzzzyzyyzzzz{{z|zzzzzzyzy{zzyzzzzyzzyyyyyzzzzz{zz{zyzzyzzyzzzzzz{zyyyzzzzzz{z{z{{zzyzzzyz{zz{z{zzzyzyzzzyzzzzz{{zzzzzyxxy{{z{{z{{{zyyyzzzzy{zy{yyyxyyyzyyzzzz{z{{yzyyyyyzxzzzz{{zzzyyyzzzz{{zz{z{{zzzzxyxz{z{zzzyzyxzzzzyy{zyzzyzzzyyyzyyy{z{z{z{zz{yzzyyzyz{|{{z{yyzzz{zyzz{z{{{zzzzzzzz{z{{{{{zzyzzyzzz{{{zz{{zyyzzzyzzz{yz{{zz{yzz{zzz{z{zz|{z{yyzz{zz{{{zzzz{{zz{z{zzz{{{{{{|zy{zyzyy|z{{z{{{{z{z{zzx{{|{{|{{zz{zzy{y|{|{||{{zzzyz{{z{{z{z{{{{zzzzzzz|{{|z{{{{{z{zzzz{{|{{{{{{z{{{zzzzz{zz{|{z{yz{zzz{{{{{{{{z{yy{yzzzz{zz{{{zzzzzz{zz{z|{{z|zzzzzzzyzzzzzz{yyyxzzyzyyzzy{{{yyyzzzyzyzz{z{zzzyzyyyzyzzyzz{zy{zyyzyyzxzzz{yz{zyzyxyyyzz{{zyz{{zyyzyyzyzz{zy{zzzyzyyyyyyyzyy{zzyzyzyzyzyyy{yzyzyyyzyyyxyyzzzz{yyyzyyzzyzzzzz{{zy{zyyzyyyzzzzzzzzzyzzyyxyzz{yzzzyxzzzzyzzzyy{{z{zyzyzyyzzz{zyy{{zzzzzyzz{{zzy{z{zyzyyyyyyzzyz{zzzyy{zyzyzz{zyz{{zyzzzyzzy{{zy{{zzz{zyzyy{zzzzz{{zzy{zyyzzzz{z{z{zzzyzzzzz{{||{{zzyzy{zzz{{zz{|{{zy{{{zzz{{z{{|{{{zzzzz{z{|{{{{{|zz{{y{z{{{y{{{{{{zzz{zzy||{{{z{z|zzzz{zz{{{zz{{zzyzz{zyzzzzz{{|{{{zy{z{z{{{{zz{{z{zyzzz{zz{{y|{{z{{zzzyy{zzz{{{zzyzz{yzzzz{zzzzyyzyzyz{zy{zzxzzyyzyxyyzy{zzzzzyzzzzyy{zyzyzy{{{z{zzyyyyyzzz{zz{zzyyzyyyyzzzz{{zzzyyyyzyzzzzyyyzzzyzyyyxzzzzz{zzyyyyyyzzzzyzyzzyzyzzzyyyyyz{yzzzyyyzyyzyyzzzzz{zzyyyyyyyxyzz{yz{zzzzyzzzzzzzzzzz{zyzyyyzyz{zzyzzzzzyyzzzxzz{zzzzzzzzyyzyz{zzz|zzzzyzzzyzz{zz{{{{{zzzzzzyzzz{zzzyzzzzzyzzyy{{zzz{y{zzyzzyyy{zzz{{zzzy{zyzzzz{zzz{z{{zzzzyzz{|z{{{zz{yyzzzz{{{{{z|{yzy{zzzzz{|{|{{{{yzzzyzz|{{||{{{zzyz{zzzz{z{{{{{{{{z{zzz{|{{{{{{zzzzzzy{{{{zz{|z{yzy{zyz|z{|{{}{{z{zzzz{{{z{{{{{{{yyzyy{{{{{{{{{{zzyzzzyy|zzzz|zzzzyzyzyz{zz{yzzzzyzzyzxyzzzzy{zyzzzyyxyzzzy{{{zyyyyzyyzzzzyy{{zzyyzyzyxz{{{yzzzzzyyyzzyzzz{z{zzzzzyyzyyzz{yz{{zyyzzzzyy{zzyzzz{zyyxyzxzyx{zzzz{zyzxyyzyyzz{z{{zyyzyyyyxzzzzzzz{yzzzyzyyyzzzzzz{yxzzyyzyy{zzz{{|zyzyyyzyzzyyzz{{yz{zzyyyz{zz{z{{zyzzyxyzyzzzy{z{zyzyzxzzzzzzzy{zzzzyyzzzzzzzy{zzzzyyyxyzy{z{{z{zzy{zzyzyz{{{z{{z{zyyzyyz{{zz{zz{zzyzyzyzz{{{z{{{zzz{{z{z{z{{{z{{yzzzzz{zz{|{{{yz{y{z{z{{{|{z{{|{zzzz{{{z{{z{z{z{{yzzz{z{z|{|{{{zz{zzzy{z{{z{z{{z{zzzz{z{{{{z{{{{{{zyyzzzz{{|{{{|{zzyzz{zzzy{z|{{zzzzzzzz{zz{{{{zzzzzz{zzz{z{zzyyzyzyyzzyy{{zzyy{zzyyzxyyzzzzzzzzzzyzyzyyzyzy{{|zyzyyxyzyyzzyzyzzzzzyyxyx{zyzyzzzzzzyyyyxyzz{y{yyz{yzzyyyyzzzyz{zyyyyyyyz{yzz{zzzyyzxzyyyyzzzz{zzy{yzyyyzyzzyz{zz{yzzyyyyzz{{zz{zzyzyyyzyyzzzz{yzyzzyyyzzyzy{zzzzyzyzzyzzyz{{{{{yzyyyzzyzzzyzy{zzy{yzzyyyzzzzzyz{zyyzyyzz{{zz{{{zzzz{zyzy{zzyz{zyzzzyzzzyz{{z{{{zz{yzzyyy{zzzzz{zzzyy{z{zyz{{{z{{yzzzzzzz{zy|z{{{zzzyzyyz{z{zzy{yzzz{zzyz|{{z{{{|{zzzyzz{zz{{{{{{{z{zy{{{{{{z{z{{{zzyzzzz{z{{{z{zzzyzzzy{{zz{{{{z{{z{zzyzzzz{{{z{yzzyzyzyy{z|{{zzzyzzyzzz{{{{zzzzzzzzyzyyzz{z{zyyyyyyxyyyzzzzzyyzyyzxyxyzy{zyzzyzzyyzyzzyzzzyz{{z{xyyyyyzzzzyzzz{zzzyyyzxyyzyyzyzzyzyzyxxzzzzzz{zzyzyyyyxyzzzy{zzyzyyyzzzzxzz{zzzyyxzyyyyyyzyzz{zyyyyyyxzzzzzzzz{yzzyyzzzyyzyyz{{zxzyxyyyzzzzzzzzzyyyzyyyzyxyzzzzzzzzyzyyzzzyzz{zzzyxzyyyzyzzzzy{z{zyyyzzyzzzz{zzyyzyy{yyzyyzy{zzzyyyzxyyzzzyzz{{zzzzzyyxz{z{{z{{yyzzyxzyz{z{zzzyzy{yzyy{{{{{zzz{yzzzyzyz{z{{z{{{yzyzz{yxzz{{{|zyzzz{zzzy{zzzz{|{{{zyz{yz{{z{z{y{{zzzzzz{{|{z{z||{{{zyyzyzz{{z{z{yzzzz{zzz{{{zz{zy{zzyzz{z{zzz||zz{yyzyyzz{{{{|{{{zzyzzzxzzzzzz{yyy{yyyzz{yyz{zzzzyyzxyyzzzyyyyz{yyxyyzyyy{zzz|{zzzyyyzyyzzyzzzz{{yyyyxzzzyzzyzzzyyyyxyyyyzz{z{zzyyzyyyyxzzzyyzzyzyyyzyzzyxzzzzyzyyzxxyyzyzyzy{{zxyyzyxzzzzzzzy{yzyyyyyyyxzyzzzyzyyyyxyzyyyzz{zzz{yyyzxxyyzyyyzzzzyyxyxzyyzzyyz|{yzzyzyzyyzy{yz{zyyxyzxzyzzzzzzyzzyzzyxzyzyzyzzyzzzzyyzzyzzzyzzz{{zyzzyzyzz{{z{yzyyyxzyzyzyzz{zzzzyyz{yzzzzz{zz|zzzzzzzzyz{{{zz{|yzzzzzzz{zz{zz{{zzyzzzzzz{{zy{zz{yzz{zzy{{zzz{{{zzzzyz{yz{{{{{{{zzyzz{zzzz{{z{zzz{{yzyzzy|{zz{{z{yyzyzz{zz{{{{{{zz{zzzyz{{{z{{{{{zzzzzyy{{zzzz{y{y{zzzyzzzzzz{{{y{zzxyzz{zy{zzyzzzyxyxzxyzzzyzz{zzyyyyyxzzz{z{yzzyzzyyyyzzzzzz{zzxyyyyzzyz{zyxz{{xyyzyzyzzz{y{z{zyzyyyyyzyzzz{{zyyzyyyyyzyzyzzzyzzzyzyyyzzyyz{yzyzzyzzxyzyzz{{{zzzyzyzzyz|zzyz{zzzyxyzyzzzzzzzz{zyyzyyzyzzxzzzy|yyzyyyyyyzyz{zz{yzzzzzyzz{yzz{{{yzzyzzzzyzzzz{{{zyyzzyyz{zzzy|z{yyzyyy{z{z{zzz|{zyzzz{y{y{zz{{yzyxzyzyzy{zzz{zz{zyzzzyzzzz{zzzzzzzzz{{yyz{{{|{{{x{zyzzzy{z{{yzzzyzzz{zzz{{{|{{|z{yzzzzzzzz{{{z{|zzy{z{zz{{{z{{{{{zzz{{{zy{{{z{{{{zzzzzz{z{zz{{{{zzz|{zzz{z{zz{{{{{z{{zyzzzz|{zy{zzzz{zzzzzz{z|{{{zz{zzzzzy{{zz{zzzzzzyyy{z{{{zyzyyzzzyzyyz{zzyzzyyzxyzzzzzzy{{{{zzzyxzyyz{yzz{zyzzyzzyyyy{zzz{z{zyyyyzzxzzzzz{z{zzyyyzxyzz{zz{zzzyyzyyxyzz{zy{zzyzyyxzyyzzyzzzz{yzzyxyyyzyzzzzzzxzyzyyxyzzzyzzzzzzzzxzyyzyzzyz{{zzyzyyxyzyzyzzy{yyyyyxzzz{yz{zy{zyyyzzyyyzyzzz{zyyyyzyzyzzzzz{z{{yzyzxzy{zzzzzz{zzyxyzy{zz{zyyz{zzzzzyzzyzzz{zzzyzzyyzyzz{zzz{{zzzyzz{zz{{{zzy{zzzyzzzzzz{zzz{{{y{zzzyzz{yz{|z{z{zyzzzzzz{{{{{{{{yyz{z{y{{{zy{{{zyyzz{zzzzz||{{{{zzzzzzz{{z{{|{{{z{zzzzz{z{{{{z{yy{{zz{zy{z{z{{|{{zzz{{z|{zz{{{{{zzzyzzzz{{z{{z{z{zzzzzzz{{zzz{{zzzyyzyz{{{{yz{{yzyyyyzzzzzzzyzzyzyyyyyy{z{zzz{zzzzyyyxyzyzzz{zzzzzzzzyy{z|zzzz{z{zzyzzxzzzzzyz{zyzzzyzzyzzzzzzy{yyyyyyyzz{yzzzzzyzyzzyyzz{{z{z{yyyzyyyzyyyzzy{zzyzz{yyzzzz{z{yzzyyyyzyyyzz{zz{{yyzzyxzyzyzzz{z{xzxyxyyyy{yyzzy{zyyzzzyxzzzz{{|{zzzyyyzzzz{z{zz{yzzyyzyyzzzzz|{z{zz{zyzzyyzz{{zzzz{yzyzyz{zzz{{zzyzyzyyyzz{{z{|zyzzzyzyzz{z{{{{z{zzyzzz{{z{{{|{{yzzzyzzz{z{{{{z{{zz{zyzz{|{{{{{{|z{z{z{z{{{{{{{z{z{yzzzzz{z{z{z{{zzzzzz{{|zz{{{||{zzzzzz|{z{{{{zzzz{z{zzz{{{{{{|{zz{y{{z{{|z|{|{z{zzz{zzzz|z{z{{yzzzyzz{zzz{z{{{zy{zzyyz{zy{yz{yyzyzzzyyyz{{zz{{yyxzzyyzzzzz{z{{zzzyyzyyzz{z{{{{zyzzyyyyzzzzzz{zyzyyyzyyyyzzzzz{yyyyyyzxzzzzzzzzzzzzyyyyzz{zzzzzyyzzyyyyzyy{zyyzyzxyyyzyzzyzzz{zzzzxyyyzzyzz{zzzzzzyxzzy{zzzyyyzzzyzyyyzzyz{z{{zzzyyzyyyyz{y{zz{zyzyzzzzzzzzz{zz{y{yzzyz{yzzyzzzzyzz{yzzzz{yz{{{zyzz{zzy{{zzzzzz|{yzzyzyz{{zz{{z{zzzzzzz{zzzzz|z{zyzzzzy{{z{z{zz{zzyzzzzzzz{{{z{yz{z{yz{{|zzz|{{zzyzzyzz{{{zzz{{zzzzzzzzz{{z{|{|{zz{zz{zz{z{{{{{{zz{zzzzy|{|z{{{z{{zzz{{{z{{{{{z{{zzzzzz{{zz{{{{{z{zz{zzz|{{z{z{z{zz{{zzz|zzz{{|zz{yyzzz{{{yz{z{zz{yyyzyz{z{zzyzzyyyyxxxy{{z{{z{zyyzyyzyzzzyz{zz{yzyz{zzz{{{{{zz{xyyyyyy{zz{{z{zz{zyzyzyzzzzyzz{yzyyyzyzyzy{z|z{yyzyyyyzyzzzzzzzyzzyyyzzzyy{zzz{zyzyzzyyzzzzz{{zzzzyzzyzzz{z{{{|zzyyyzyyz{yzzz{zyyyyzyzyy{zyzzz{{zyyyzyyyzzzz{{zyzzzzzzy{zzzy{{zyzzy{yzyzz{zy{{zzzzzzyzzz{|{{z{{zzzz{yyyzzzz{z{zyz{yzzzyy{{z{{{zyyyz{yz{z{{zzz{zz{zyzzyzzyzzz{{zzzyzzyzzzz{{{z{zy{zzz{{zz{{z{{z{zzz{{{{y{{{{{||{{z{{zyz{z{zz{{{{{z{z{{{z{{{{{{|z{yz{{y{zz{{{z||{zz{{zzzz|z{{{z{z|yzzzzz{{zz{|{z{{{{{yzz{{z{|{zz{z{zz{zzz{|{{{{{{{zzyz{zzz{{{zz|zz{{zyyyyzzyz{{zzxzyzyyxyyzzzzzzzzyxyyyyxyzzy{zzzyzyyyyyyzzzz{z{{yzzzyyyzyzz{zy{{zzyzxzyyz{yzz{z{{yzyyyzyyzyzyzzyzyzyzyyzzzyyxzzzyzyxzzzyzzy{yzyzxzyyzyzzzzzyzy{yyzxxyzxyzzzzzzyzyyyzyzxzyzzzz{{zzyzzzxyyzzzyzzzzyzzyyzyyzzzyzz{{yyzyzzyyyzzzz{{zyyyzzyzzz{{zzzz{{yzzzzzzzzzz{zz{zyzzyzzzyzz{z{{zzyzyzzzyzzzyzzz{zz{yyzyzz{{yy{{{y{zzzzyzyz{zzzz{zzzzzzy{z{z{{{z{zzzzzzyyz{z|zz{{zyz{yyzy{yz{{{{z{zz{{zzz|z|{zz{zzz{{zzz{zzz{z{{{{yzzzzzyz{||{|z|{zzzz{zz{{{{{|{zyzzz{{yy{{zz{{{zzzzzzyzzzzz{z{{{zzzzz{zzzzyzy{|z{zz{{{yzzzz{zzz{yyzzyyy{zzzzzzz{yyyyzzzyzzzyzzzz{yyzzxyyyz{z{{{zzzzyyzyyzzzz{yzzyyzyz{xxyzz{zyzzzyzyyzzzzzzzyzz{yyzyzyzyzyzzzzyzzyyyzzzyyy{zzzzzzyzzyyyzzzzzzyz{yzzzyyzzz{zxzzzyzzyyzyyzzz{z{zyzyyyyzzzyz{zzzzz{zzzyyyyzyzzzyzzzzyyyy{yyyzzzz|z{yzyxyyyyy{yz{{{zyz{zyyyzzzzyzzz{yyzyyyzyy{zzzz{z{z{yyyyyyzzzz{{{zyzzzyzzz{z{z{{zzzzzzyyzzz{zzzzzyzz{{zzz{zzzzzz{{zzzyzz{{{z{{{{{z{yzzzz{z{zzzz{{{{z{yyzyz{{{{z{zzyzyzzzy{{{zz{{{zyz{yz{{{{{zz|{|{zzzy{zy{{z{{|z{zzzzzzzz|z||{{{{zyyzzzz{zzzz{{{|zzz{zzzzzz{|{{zz{zyzzzyz{zzzzz{zzzzyzyzz{zz{zz{{y{zzzyzzzzzzzz{{zyzxyyyyzzzzyzyzzzyyyxyz{zzzy{{zyyyyyyzyzyzyzz{zzyz{yyzyyyz{zz{zyzyzyyzyy{yy{{{{zyyzyzyyzzzzzz{zzyzzyyyyzzzzz{zyyyyy{zyzyzzyzzzzyyyyyyyyyz{zyzzyyzyyyyyyzz{yzzzzzzzzyzzxzyyyzzzz{zzzyyyyyyzzy{z{yzzyyyyyz{yzzzz{zzyzzzzyz{zzzzzzyzyy{z{yzzzzz{{{zzzzyy{{zy{z{z{zyzzyyyyzzz{zzz{yzzzzzzzyy{zzzz{{zzzzzzyz{{zzz{z{zzzzzyyz{{zz{{z{zzzzyzzzz{|{zz{{y{zy{z{zzzzzz{z|zzzzzzyzz{z{{{{zzyzyyyyz|{zzz{{{zy{zz{zyzz{{{|zz{zzzz{zzz{{{{|{{{{zzzzy{{z}{|{{zzyzzzzzz{z|z{||{|zzz{yzzz{z{{{{z{z{zzzzz{z{{z{{zzyzzzzzzzzzz{zy{{z{yyyzyz{zzz{yzyzyyyzyyyyyzzzz{zyzzzxyyxyzyzzyzzzzxyzyzzzzz{zzzzzzzyxzyzyzzyzzz{yxxyyzyzzz{zz{zzxyyyyzxyyyyzz{xyyxyzzzxyyyyyzzzyzyyyxyyyzyzzzzzzyyzyyyyzyz{{zzzzyyzxyxxxzzzyz{zzzyyxyxyyyzzy{zyyyzyyyyyyzzzy{z{yxxzyzxyyzzzzzzzyyzyzzyyyzyzzz{zzyyyzyzyyz{zzzz{yzzyzzyzyz{zz{zzyyzxyyyzzz{y{{{zyzyx{yzzzzz{yzzz{zyyyyyzzy{zzz{{zyyyzzzyzzzyz{zyzyzyzzzy{{z{z{zzyzyzyz{y{zz{z{{{yyz{zzzyzzz{zz{{zzyzzzzz{{{z{{z{{z{zzyzzyz{z{|z{{yzzzzzz{{{{z{{{|zzzyzyz{zzz{{{{zzzzzyzzyz{zzzzzzzz{zzyy{zz{{z{{zyzyzzzzzzzzzz{{zzzzzyyzzz{z{x{zzz{zyxyzyzzy{zxyyyzzyyzyzzzzzyzzyzyzyxzyyzzzzzzzzzyyyxyzzzzy{yzzzyzyyxyyyy{{zzzzyzyyyzzyyzzyzzyz{yyyyyyyzyzyyyzzzyyyyyyyyzzyzyzzyyzxyzyyzyyyyzz{yzyyyyzxyzyzzy{zyyyyzzxyyyzzzz{yzyyxzyyyzyyyzyzzyzzyyyzyyy{zzzzzzyyyyxyzyyyzz{zzyyyzz{yzzzzz{z{{zzzyyyyzz{zzy{{zzxyzyyzyzyz{zz{zzyyyzyyzyz{{{zzzxzzyyyzzzz{zz{zzzyzzyzyz{{{z{yz{zyyzyyyyzz{{yzz{zzyzzxyzyz|zz{{{zzzzzzzyzzy|z|{|zzzzzzzzz{{{zz|yzz{z{y{zzz{|{{|{{zzzzz{{z{yz{{{zzz{{zzzz{|{{z{{{|yzy{zzzz|{{z|{{|zzzzzzz{z{{|{{|zz{z{zzzzzzz{zzzzzzyzzzzy{zzzz{z{zyzzyzx{{{|zz{zyyzyxyzyz{zzz{zz{zzzzyyzzzzzzzzzzyyyyyzy{yzz{{{zzzyxyzyyzz{zzzz{zyzyyyzzyzzzyz{zzzzyxyzxz{zzzyzzzzzyyyyxyzzzyzzyzyzyyyzzzzzzz{yzzzyyyxyyyyzyyzzzyyyzzyzxyyzzzz{zzyyyxyxxyyyzzz{zyzyyzzzzzyzzzz{{yyyyzxyyyzzzzzz{zzzyyyyyyzzzz{yzzzzyzyzyz{zzzzz{zyyyzzyzz{zzzz{zzyzzyyzyz{zzzz{{yyzzzyyyzzzyzzz{zyzzyyyyzz{z{z{zzzzyzzyx{zzz{zz{zzyzyzzzzzzzy{{zzzyzzzzz{zz{|{{{zzzyzzzz{zzz{z||{zzzyzz{z{zz{z|z{zzzzzzz{{{{{|{{zzz{{zzzz|{z{{|{{zz{{zzz{|{{{{{{{zz|{yzz{zzzzzz{{yzyzyy{z{{{z{z{zyyzzzzz{{{{z{{zzyz{{zzzz|{{z{z{zzzzzyzyyz{{{{{zyyzzzzzz{{zzz|zzyzzzxyzzyzz{zzy{yyzzxyyxz{zzzzzzzzzyyyzyzzyzzz{yxyyyyzyyzzyzz{zzzzzyyyzyzzzzyyzzzyzyzzyyzzzyzzzyyzyzzxyxy{zzy{zzzyzyyzzyyyzzyzzzxyyzyyyxzzyyzyzzzyyzyyxyzzzzyyyzyzzzxzyyz{zzzzyzyxyzxyzyzzzyzyzzzzzyyzzzyzzyyz{zzzzzz{zyzz{zz{zyyyzz{yzy{{zzz{{z{yzzzyyzyzzzz{z{zyyzzzyzzzyzyzz{zzzyyzyyz{{zzzz{yyzzyyyzzzzy{{{{zzyzyzzyz{z{{{zyzzzzzyzzz{{zz{z{z{zz{zzzz{z{{z{{yyzzzywzz{z{{{{|{z{{zyyy{{{zz{{{z{zy{{zz{{zz{{z{{z{zzz{{{{{z{z{|{{{zzzyz{|{z{z{zz{zzzyzy{{{zz{{z|{{yyzyzzzz{{{{yzzzzzz{zzz{z{{{zz{zzyz{yz{z{{{{zyyzyyyyz{{{z{zzzzyyyyyyxzz{zy{zyzyyzzyxyyzzzzzzzzzzyyyyyzzzzzzz{zzyyyyyyzzzzzzzzyzyyyzyxyz{z{zy{yyzzyyyyyy{zy{{yzyzyzyzzyyyyzzzzyyxzyxzyyyyzz{zzzzyzzyzyzzzyzyzyyyxzxzyyzyzyzyzzyyyyxyyxyyzzzzzzzxyzyyzyzyyzyz{z{yzyzzzyyzy{y{yzzyxzyyyzzzzzzzyzzyyzzyyyy{yzzzz{xyyzyxyzzz{yz{z{yzzyyyzyyzzz{z{{zzyyyyyy{z{z{{z{yzyzzyyyz{zzzz{{zyyyyzyyz{zz{{zzzyzzzzzzzz{z{{{zyyzzzyzzzz{{yy|{{z{{yzyzzzzzzz{zzzyyzyzz{|{{zz{zzzzyzz{zz{{{{z|zzzzzz{zyz{{{zz{{{yyz{yzz{zzz{{zz{zyz{zz{z{{{|{{{{zyzyzzzzy{{{{{{zyyyzyzz{{{|zzzz{{zyyyzyz{zzzz{zzzyxyyyyz{zzzzzzzzzyzzzyzy{zyzzzzyxzzzzyzy{zzzz{zzyxyy{yzzzzy{zyyzyyxyyzyy{zzzzzzyyxyzyx{zz|zzz|zzyzyzyyzzzz{zzyzzyzyyyyzzzzzzzyyzyzyzzyzyzyzzyzzyyyzyyxyzyzzzzzzzyyxyyzyzzz{zz{zyyzy{yzz{zzzzzzzzz{{zzz{zzyzzyzyyyzzzzyzzzz{zzzzyzyzzyyzzyzzz{{{zyz{yzyzzzzz{zzzyzzyzz{z{zzz{z{zzzzzyzxzzzzzz{zzyzy{zzzz{{{{{z{yyyzzyyy{z{zzyzz{yzyy{yyz{z{z{{zzzzyzzzyzz{{z{{{yzzzzzzz{{{{z|{zyy{{yyyyz{z{{|zz{zzzzzzy{{{|{z{{zzzyz{{zz|{|{{{{|z{zzzyyz{{z{{|y{y{{yzzz{z{{{{{{{zy{zzzzz{z{z{|{zzz{zzzz{{{|z{||z{{zzzzzzzz{{{{{|{yzzzzyzz{{z{zz{yzzyzyzyz{{yzzyyzyz{yxxyzzzzzz{zyyyzyxyyyyzzz{zzzzyyyyx{zzzzz{zyyzyyyyzzzzz{zy{zyyyxxzyz{yzzyzzzyxyyy|yyyyyyzzzyzyzzyyyyyzzzz{yyzzyyyyzyzyyyyyzxyzyyyyzzyzzzzzzzyzzzyyzyyzy{{yzzyzyyzyzzzzyyyzzzyyyyzyyyzyxzzzzyyxyyzyyyyzzz{zzyzz{yyyyz{{yz{yzzyzzzyyxyyzyyz{{yyzyyyzy{zzzyz{zzzzyzyyyzzzzzz{{zzzyyyzzz{zzzz{zzzzzyyyyzz{yzzzz{yyyzzyzy{z{zyz|zyzzzzyy{{{z{yzzzzzzxyzzzyzzz{{{zzzzzyzyyz{{zzz{{{yzyyzzz{{z|z{zzyzzz{zzyzzzz{{zzzzzyzzyz{{{{{|{{{zzyzzzz{{{z{{z{yyxzzzz{zzzzz|zzzzz{zyzz{y{zz{{zz{{zzzzzzzz{{zz{zzzzz{zzzz{zz{{zyyxzyyy{zzzz{zzzyyzzzyyzzzyyzzzzyyzzyyzzzyyzzzzzyyyyzzyzyzz{y{yyyyyyyyzzzzzzzz{{yyyyyyyzyzz{zyzzyyzxyyyzyzyzzzyyyyyzxzyyzz{z|y{yzyyyyzzzzyz{z{zzyyyzxzzzzzyzzzyzyzyyyyyzzzyzyyyyyxyyzxzyzzzzz{{zyyyzyyyyzzyyzz{yyyzyyxzyzzzy{{zzyyyzzyyzzzzzz{zzyyzzyzy{zzy{{z{zzzyyyzzy{z{{z{{zyyyyyyzzz{zz{{z{{zzzyzyy{{{z{zzzyzzzyyz{zyz{z{z{yyzzyzzz{{zzzz{yzzyyyyz{z{{zzz|zzzzzzzzz{{{z{{{zzzzzxyzz|{z{y|zzyzyzyy{{{{{{{{|zzyzz{z{z{yzz{{{|zzzyzzzz{|zz{|z|z{zzzzzzz{z{{{{{zy{zzzz{{{{{z{{zzyyz{zz{zzzz{z{zzyz{zzzzzz{z|{{zzyzyzyyz{z{z{zzyz{yyzzy{yzz{zzzzyyyyyyyzzzzzyzzzyxyyzyyzz{yzyz{zyyzyyzzzzzz{zzzzzyyyyyyyzz{zy{{zzyyyyyyyyyzzyy{yyyyyyyxyzzyzzzzzyzyyyyyyzzzzyzyywyyyzyyyyzyzy{zzzyyxxxxyyzzzyyzzyyyyyxxzy{zzzzyyz{yyyxxzzy{yzz{zyyzyyzxyyyyxyzzyzyyzyxyxzzzyyz{zyyzzyyyyy{zzzzzyyyyzyzzyyzzz{z{yyzzyxyzzzzzzy{{zyzzzyyz{{yzzz{zzzz{zzzzz{{zy{{yzzzyxyyyzz{zzyzzzyzzyzyyz{z{{zzz{yzyzyy{{zzzyz{{{z{yzz{zyzz{yzz|yzyzyzyyz{zzzy{y{zyy{zzx|zzz{{{{zzzyz{{z{z{z{{z{{zzzzyzz{{zz{z{{{{yzz{{{z{{{{{{{zzzzzzzzy{{z{|z|{{zzzzyzz{z{{{{{z{{zyzyyy{zzyz{{{zyzz{yzz{z{zz{z{yzzyzzzzz{zzzy{zyzxyyyyyyyyzzyzyzyyyyyyyzzzzzzzxzyxyyyyzyyzzz{zzx{yxzyyzzz{yzzyzzzyxyzyzzzzyzz{zyyzyyyyzzyyyzzzzyy{zyyxz{zzyzzzy{yyxzyyzy{yyzzyyyxyyyyyyyzyzzzzzyzyyzxyzzzyzzyyyzzyxyzxzyyzzyzzyyyyxyyyzyzyzzz{yyxxzyyzzzzyzzyzyxyyzzyyyzzzyy{zz{yzzxzyzzyzzyz{zzzzzxzyz{yzz{zzzzzzyxxzzzzz{{z{{yzzzyzyzz{zyzzz{x{yyyzxzzz{{{zzzzzzzzyyzz{y{zyzy{yzzyyzzzzzz{zzzyyyzzzzzzzzz{|{z{zzzyzz{zz{{z{z{zzzzyzzz{zzz|{{zyzyzzzzz{{z{{z{{zzzzzzzy{z{z{{{zyzzzzzyz{{{yz{{zzyzzzyzy{{{{z{{{zzzzyzyz{y|zz{{{zzz{zyzzzz{z{z{z{zyyzyyzy{z{{zzyzzzzzyzzzz|zzyyzyyyyxyxzyyzzz{zzzyzyyyyzzzzz{zzyyzyzyyyzyzzzy{{yyzyyyyyyzz{zzzyyzzyxyyzyz{yyzz{yxyzyyzxzyzzz{z{yzzzxxxzyyyyyzzyyyyzyyyyzzyzzy{yyzyyyzxzzzyyzzzzyyyyxxxyyzzz{yzzyyzzyyyyyzzyz{zzzyyyxyzyzyzzzzz{yzzzyxyyy{yzz{zzyxzzzzyyyyzzzzz{{zyyzyzzzzzzz{{|yzzzyxyyzzy{zzzzzzyyzzzzzzzzzzzzzyzyyyzzzz{zz{zzyzzzzzyzzz{yzzzzyzzzzyyyz{zzzzzz{yyzzzzyzz|{zzzzzzyzzz{zz{z|zz|{zyzzyyzz{{zz{{z{zyzz{yyy{z{{zz{{zzzyzzzzz{z{{{z{zyzz{zzzy{z{{{|z{zzzzz{zz{zzz{{{zzz{yzzz{zyzz{{zzzz{zzy{z{zz|z{{zz{yyy{zz{zz{|{{yzyzyzzyy{{{z{{zzyzyyyzy{y{{zyzzyyzxyzzyyzzzzzzzyyyyzzzyzz{zz{yzzyyyyyxyzyyyzz{zyyyyyyyyyyzzxyzzyyyyyyyyzyzzzzzzxzyyyzyyzzzyyzyyyyzyyyxyzzzyxzzzzxyyzyyyyyy{zzyzyyxxyyyyzyyyzxzyyyyzyyxxy{z{zzyyzyzyxyyxyyzzz{zzyzzyxxzyyzzzzzzzzyyxyzyyyzzzzzzzyzzzy{yyz{yzzzz{yzyyyyyyyz{y{zy{zyzzyyzzzzz{zzzzyyyzyyyzz{zzzzzzzzyzyyzyyyzy{{zzyyyyzyzyzzz{{z{zyzyzzyyzy{{zzzyzzyyyzyzyz{{z{{{zzzzyyz{z{zz{z{{|{zyzzzzzyzz{z{z{zyyzzzzz{|z{z{z{zzy{yz{zy|zz{{z{z{yzy{zyz|{{z{{{zyz{yz{{zz|{{|z{zyzyzzzzzz{z{{{{zzzzyzxzzz{zz{z{{zyyyyzzz{{{{{{{yyzzyyzy{||{{yzyyyzxyzyyz{zzyzzzxxyzyyyyzzzyzzzzyyzyzyyyyz{yz{z{yyyyyzyyyyyzz{zzzxzzyyyyyyzzzz{y{yyxzyyxzz{{zzz{yzzzyyyyzzzzy{zzzyzyyyzzzzzzyzzzyyyyyyyxzzzzzzzy{yyzyyyyzzy{zyyzzyyyyyzyyzyzzz{yyyzyyyyyyzyyyz{zyzyyzzyxyzyxyyy{zyyyzxzzyzyzyyzzzzy{yyzyzzz{zz{yzyyyzyyzzzzzzzz{zy{zzyyyzzzzz{{{zzyyyzyzzzzzzzz{zzzzyyyyzzzyz{zzyzyyyzxyz{zyz{zz{{zzzyyzzzzzzzz{zzyyzzyzzzz{{{z{zzzyzz{z{{z{zz{|zyzzzyzzz{zz{zz{zzzzzzzyz{{{{{{{zzzyzyzzz{zz{|z{zzz{yzzz{zzzz{{{{zzzzyzz{{{{{|zzyzzzzzzy{y{zz{|{{zyz{zyz{{{{{{z{zzzyz{zzz{{{{z{{z{zzzyyzzzzzz{{{zzyyzzzyzy{zzy{zzzyzyyyzz{zzzzz{yxzzyyyyzzzy{{{zzzzxyyyyzzz{zzzzzzyzyyyyzzzzzz{zz{zzzyzxyz{zzzzzz{yyyyxzzzzyzzyyzyyyyzzz{zzzzzz{yxyyyyzzzy{zzzzzzyyxyyyyyzzzzzzyzzyzyzyzxzzz{{zzzzzyyyyzzyz{zzzzyyyyyyyyyzzzzzzzzzyyxzyyy{y{yzz{yyzzyzzyyz{zzyz{{zyxzyzzzzzzzzz{zyyzyzyz{zyzzzzzzzyyyyzzyz{yzzz{zzyzzyyyzzy{zz{zzyyzyzyyz{z{z||{zyyyzzzy{{zzz{{{zyzzzzyyz{zz{z{zy{zzzz{zzz{zz{{{zzzzyzz{{z{{{{z{zzzyz{zy|{zz{{zzzz{yy{{{zz{z{{z{{{zzyzzz{|z{{|{{zzzy{zzz{|{{z{{{{zz{z{{{z{z{{z|{zzzzzzzzzzz{{{zzz{zzzzzy{{zz{{{{zzyyyzzyz{{zyzzzyyz{zzyzzz{zz{yzyyzyyyyyyzyz{z{zzyzyzyyyz{z{zz{zzyyx{yzz{zz{zyzzyyzyyyyz{zz{zzzyy{yxyzyy{zzyy{zzyyyyyyyyzzyzz{zzyyzzyzyz{zzzyzzzyyzxzzyyyyzzzz{zzyyxzzzyyzz{{yzzzyzyxyyy{zz{zyy{zzzzxyzyyzz{zz{zzyyyyyyyyzzyzz{zzzyyyyzyyzzzzzz{yyzyzyyzzzz{zz{{zyyzzzyzz{zzyz{{zzzyzyyyzzzzzy{zzzzyyzzzz{z{{{z{yzyzzyyyzyzz{{|z|zzyzzzy{z{{z{{z{zyzzzy{z{zzzzzz{zzzzzyyz{z{{zzzzzzzz{zy{zz{{zz|{{zzyzzzzzz{z{{zzzzyyzyz{|{{{{{{yzzzzzzzz{z{{{z{zzzzy{z{z{{z{{|zz{{zyzzyz{{{{z{zzzzzzzzzzzz{{{{{z{zzzzz{{z{{{{{zzy{z{zzzz{{y{{z{{yzzy{yz{zzz{z{{{{zyyyyzz{zz{zzzyyyyyxyyyz{zzyzzyyyyyyyyzy{zz{{z{zyyyzyzzyzyyz{zzzyyyyyxyzyzzzzzzzzyxxyxz{zzzzzzzyyyyyyyzzyzyzz{zyyxzyyyzyzyzzzzyxyyyyyzyzyzzzzyyyyyzzzyzzyzyzzyyyyyyyyyyzzyy{{yzyyzxxyyzzzzzyzzzyzzyyyxyyyzzzyzzzyxyyyyyzy{z{zzyxyzyzzyyzzzzyzzzyyyyyzzzzzyzyzzzzzyzy{zzzz{z{z{zyz{yyyzzzzzz{{yzyzyzxyzzyzy{{{z{zyzyyyzzz{zzzzzzzxzzyzz{z|yzzz{zzzz|{yz{z{zz{{{zz{zzzz{z{zzyz|z{zzzzyyyy{{z|zzz{yzyz{{z{{|z{z{|zzzzzzy{zzz{zz{{zzzzz{{yzzz{|zz{zyzzyyzz{zzzz{{yzzyyyzzz{{zzzzy{{zzzz{zzz{{|{|{{z{zyyzz{z{zz{{{|zzz{zzy{zy{{z{{zzzzzyyyyzz{zzyyzyyyyyy{yzzzyzyzzyxyzyyyyz{zzy{zzzyzzzyxx{zyzzz{zzzzzxyyyzzzzyzzzzzyyzzyy{zzz{y{zzzzzyxzyy{y{zzzzyyzzzxzxzzyzz{{yyyyxyyyyzyzz{zyzyzzyzyyyzyzyyz{zyzyyxzyyyyzyz{zzxzzyxzzyzz{zzyz{zxyxzyyyzzzyz{zzzyzzyzyzyzyzzz{zzzzyzyzyyz{zzzzzyyzyyyzyzzzzzzzz{yyzyyzyzyzzz{z{yzyzyyyz{zzzzzzzzzzyzyyzzzzzz{zzzzzzzzyyzzzzzz{{yzzzzyyyzzzzz{{zzzzyzzz{{z{z{{{|zyzzyzzzz{z{z{{yzz{zy{yz{z{{{zzyzyzzzyzyzz{{|{{{{zzz{z{zz{zzz{zzzzzzz{zzz{z{||z|{yzzzyy{{z{{{{{{{zz{{yzz{{|{{{{|z{zzzzzz{zz{{zz{zzyy{yzzz{|{z{{z|{yzzzyyz{{{zz{zzyzzzzzzzz{{zzzzzyzzyyyxzyyzzzzzyzyxyxyxyzzzzzzzzyyzyyyyyzzzz{zzzyyyxzyyyzz{yyzzzyzxyyzzyzy{zzyzzyyyyzyxyzzxzzyyzyyyyyyyyzzyzxzzzyyyyyxyzyzzz{zzzyyyyyyxz{zzyzzzzzyyyzxyzzzzzzzzyzyxyyyyzz{{yzyzzyxyzyxyyyyyyy{zzzyxzyyxyzzyzzzzyyzyyzyyyzzyzyz{zzyzyyyyzzyzzzzzyyyyyyzyyyyzzzzzzzyzyzyzzzzzyzz{yyzzzzzzz{zzz{y{zzzzzyzy{yzzzz{zzzzyyzzyzzzzyz{yzzzzzyzzyz{zzzz{yzyyyyzyzzzy{{|{zzzyzyyy{z{y{z{zzyyyzz{z{{z{{zzyzzzxzyzyzz{{{{{{zyyz{zyy{zz{zz{{{zz{zyzzz{{|y{{z{yzyzzzzz{z{zzz{{yzy{zzz{{z{z{{{zzzyzzzzz{zz{z{{zzzzzzyyzzz{yzzz{zzyyxyxyzzzzzxzzyxyzyyxyyzzyzzzzyyxywyyyzzyzzz{z{xxyzzyzzyyzzz{{zxyyyyyyzzzz{z{zyyyyyyyzy{zzyzzyyzyyyyx{xzyyzzyzxyyyyyyzyzyxzy{yzyxyyxxyyzyyzyzyyywyxxyyzzzyz{yzyyzyyxzyzyzzy{zyyyyxyyyyyzzzy{yyyyxyxyxyyzyy{zzyyyyyyyyyzyy{yzyzzyyyyyzyzyz{yz{yyzxyxxyzzzyyzzzyzyyyxyzyzzzzzzzyyyzzyxzyyzzzz{yzyzyyzyyyz{zzzzzzyzzzzyyz{{zzzzyzyyzzzzzz{{zz{{zyzyyzzzzzzzz{zzz{zzyzyzz{yzzzzzzzyzzzzyzz{{{z{zyzyzzzyyz{{{zz{{{zzzzz{z{z{{{zz{{zzyzxzyzz{z|zz{{{yyyzzzzz{{zzzz{yzzzzzzz{{zzz{z{{zzz{zyz{z{{z{z{{yyyzzzzz{zz{z{zzzzyyyzzz{z{zzzzzzzyzy{yzyzz{{zzzyzyxxyyyz{zyz{zyyyzyyzyyyz{yzz{zyyyyzzzzzyzzzzz{yyyxzyyyyzzyzzzyy{yzxzyzyzzyz{yzzyxxxyyy{zxy{yzzxzyyyyxyyzyyyzzyzzyxzxzyyzzyzy{yyyyyxyxzyzyxzyyyyzzzyxyyyzzzyzzzzyxyxxzy{yzzzzyxyzzyyyxyyyyzzz{zzyxyyyyyzzyy{zzzyyzzzzzyzyzyz{{zzzyzxyxzzzyzzz{zy{zzyzyzzyz{yz{yzzyzyyy{zzzzz{zzzzzyzyxz{{|zz{zyzzzzyyzz{zzzzzzzzzzxxyyyzzzzzzz{{yzzzzyzz{{zzzz{yzzzzzzz{z{{z{{zyzyzzzy{z{z{{zz{yzzzz{yy{z{z{{{zyzzzz{zyzz{z{{{{yzz{zyyz|{{zzz{zzzzyy{yzz{z{zz{zyyyzzy{y{z{{|{{zzzzzyz|z{{{{{y{{zzyzzzzzz{zz{{z{{yzzyyz{{zzzzzzyyz{zyyy{zzyzzyzzyzxyyyzxzzyzzzzzyyyxxyyyzxzzzzzzyxyyx{xzzyyzzzzyyzxyyzyzyzzyzzzyxyxxyxxyzzzyzyzzyxyyyzxzyyxzzz{yyyyyyyy{y{zz{zzyxzxxwyyzyyzzzzzxyyyyyyyzzzyzzyyyxyyyyxyyzyzzzzzzyyyxxxzyzyzyyzzyyyyzyyyyzyzzzyzyzzyzxyyz{yyzzzzyyzyyyyzyzzyyzzzyyyxzyyyzzzzzyz{zyzzzzyzzzzzyzzzyyzxzyyyyz{zyzz{zzyzzxyyzzz{yzzzyyzyzyyyzzzyy{zz{yyzzzyzzzzzyyzzyzzzzyzz{yz{z{|zzzyzzzyzz{zzz{{{zyzzy{zyz{{{z{zz{yzyzzzz{z{zz{zz{yzzzyz{z{z{{{z{{zz{zz{yz{z{{{{zzzzzyz{yzz{zy{{z|yzz{zz{{zyz{zz|zzzzzyy{{z{z{z{z{zzzzzyyzz{z{z{{{zyyzzyyz{{zzzzzyyyyyzzyzzzzzzzzzyyyyyyyyz{z{z{zyyyzyyyzzzzzz{zz{yyyyzzyzyzzzz{yzzyzyyyzyy{yzzz{yyyxzyzxzzyz{zzzyyyzyzyyz{zzyzyzzyyyyyzyyzzyzyxzyyyy{zyyzzzzzz{zyxyyzyyzzyzz{z{zyyxzyyzyyyyzzzzzyyyzyyyyzyzzzz{zyyzyzzxxzyzzy{z{{yyyyzyyyyyzz{{zzzyyyzyxy{zzzzz{zyyy{yyzx{zzy{z{zz{yy{yx{zzzz|{{zz{zzyzy{zzy{{{zzxyyyyyyzzy{zzyzzyyzyzzyyz{{yzzyzyzyzzzz{{{zy{{z{zzyzzzzzz{{zzyzzz{zzzzy{{{{{z{{zzzzzzzz{{zz{{{{z{zzzz{y{{{{z|{{zzzzzzz{z|{{y{z{zyzzzzz{|{{{{{zzz{zzz{zz{z{{z{zzzzz{zyzz{{z{z{{|zzzzzzz{z{zz{|{{{zyzz{{zz{z{{{{{{zz{yyzy{{zy|zzzzyzz{zzzzzzzzzyzyyzzyyyyyzz{z{zyxyyxyyyyy{yzyzz{yzzyyyyzzzzyyzz{yyzzyxyz{yzyxyzzzzyyyyzxx{yzyzzzyyzyzzyyyzyyzyzzzyyyyxxxyyzyyyzzyyzyxxyyzyyyzy{zyyyyyzyzzzzyzzzzyyyyyyyyzzzz{yz{{xyzyxyyyzyyyzz{yzxxyzyxyyzzy{z{yyyyyxyzy{zyyzz{zyzzyzzzzzzzyzzzyyyzyyyyzzyzzzzzyyyzzyzyyzzzy{z{zzzzzzyyyzzz{z{zzzzyzxyyzzzzzzz{zyzyyyyzzyz{zzyyzyyyyyyzzzz{zzzzzyzzyzyzzzz{zzzzyzzyyzzyz{z{{{z{zyyzzyyy{{{yzz{zzzzyzyzyzzz{{{{{zyz{yzzzy{{z{{zzzzyzyzzzz{z{{z{{zz{{{{yzzy{zz|{{zzyzzzzzzz{{{|{{zzyzzzzzz{z{{{{{zzzyzyyzzz{{{{z{{{zzyyzyzz{zyz{{{zyyyzzyyzzzzz{zzyyyzzzyyz{zzyzzyzyzzyzy{{{zzy{zyzyyyzyzzzyzz{{z{yzyzzyzyz{zzz{zzzyyyyyxzy{zzzzzyyzzzyyyzzz{z{{yyyzzzywyzzzyzzzzzyzyyyyyyzxzzz{{yxyyyxyzyyzzyz{zzxyyyzzyyyzy|zzzzyyyzyyyzzzzyzzzyyyzxyyyz{zyzzy{zzyzyzxxy{zyzzyzzxzyzyyz{zyyzz{zzzxyzyxzzz{zzz{zzyzyyyzzzzzzzzzzyyzzzyyzyzzyzz{zy{zzzyzyy{{{z{zzzzzzyyyyzzz{yzzz{zzzyzzz{z{zz{{zzyzzzzzzz{{{{zzzzyzzzzyzzz{zz{{{zzzz{yyz{{{||{{{zzzz{zzz|{{{{z{{zzz{z{{yz{zz{|{|{yz{zy{zz|{{{z|{zyz{yz{y{{{{{{{{zz{z{zzzzzzzzzz|{zz{z{z{{z{z{{{|zzzyzzzyzzzzzz{z{zzzzzzzz{zz{z{zzz{zzyzy{zzzyzzyyzyyyzzxyz{yzyzzyyzzyyyyzyy{yz{z{zzzzyzzzyzz{z{{zyzyxyzzxzzyzy{{zyzyyyyyzy{{z{zzzyzyyxzzzz{zzzyzzyyxyyyyzyzzyzzzyxzyyzzyyzzzzz{zyzyxyyyyz{yzz{zyyzyyyyyyzzzyzyyzzyyyxyyyy{yzzyz{zyyyzyyyyzzyzzzzyyyyyyzzyzzzzzzyzyzyzzzy{zzzyz{zzyyzyyyyz{zyyzz{zzzyzyzzzzzzzz{zzzzzyyyyzzzzyz{{zyyzzxzzy{{zz{yz{zyy{zzz{{{z{z{zyyzyyyz{zz{zz{z{zyzzzyzzzzz{{z{{z{zzy{zzz{zzzzz{zyzzyzzz{|z{zz{z{zzzyzzz{zz|z|{zzz{zy{{zzzz{{{{{zzzzyzyzy{z{{{{{{yz{zzzzz{|z{{z{{zzzzzzz{{{z{{{{{{z{{zzz{{{zzz{|{{zzzyzyzzz{zz|{zzzzzzzz{zz{zz{{z{yzzzzyzzzzzzzyzyyzzyzyzzzyzzzzyyyyyxxzzy{z{zz{zyyyyyyyzzz{z{zyzzyyzyyyyzzzyy{zzyyyxyyyyz{zz{zzzyzyxyzyz{zzzzzzzyzyzzyyzzyzzzzzyyyxzyyzzyzzyzzzyzzyzyyyzyzzzzzyzxzxyyyyyyyyzyzzyxyyxyxy{zzyyzyzzzyyzyyzz{zzzzyyzyyyyxyyxzy{zzxy{yyyyzxyzzzzzzzzyzzzzyyyyzzzz{zzyyxyyyyyzzzzz{{{yyzxyyzyzzy{zzz{yyzzyz{yz{zz{{y{zyzyyzzzz{{y{z{z{yzzzyxzz{zzyz{zyz{zzzzzy{{zz{{zy{{zzzzzz{yzz{z{zzzzzzyzz{{{z{{zzzzzzyzy{{z{{{{zzzzzz{zzz|{{{{{{{zzz{{zzz{{zzzz{{y{{zzzz{z{{z|z{zy{zzz{{{{zzz{{zzzzzzzzy{{{z{|{{zy{zzz{zzz{zz{z{zzzzyzzzz{y{y{{zyzzyzzyyzz{z{yyyxyyzyyyxzz|{{yzzyzyxzyyyzy{zyzzzzzyyyyyzyzyyzzyzyzyyzzyxzzzzzyz{zzyyzyyxz{zyyzy{yyyyyyzxyyzyyzzyzyyyyyyyzyzyzzzzyyyyyyyyyyzzy{z{zzyxyyyyyyzyyz{yyyyxyyyzyyzyzzyzzyzyyyyyzyzyzzzzyzzyyyyxzzzyz{yzzzyyyyyyyzzzzz{zzyyyyxyxzzyyz{z{yyyyyyxyy{zzzzzzzzzyyzzyzzzzz{z{yyyyyzy{yzzy{zz{yyzzyyyyy{{zzy{zzyyyyyzzyzzyzz{yzzyzyzzz{zzzzzz{zyyyzzyy{{z{{|{zzyzzz{zzyy{{zzz|zz{zzyzz{{zzzz{z{zzyyy{z{{z{{{z{zz{zzyzzy{zz{{{z{yzyz{zzz{{{zz{z{zzzz{zyz{{{zz{{zzzzyzzzzzzzz{{z{zz{{zzz{{{{{z{{{{yyzyzz{zz{zz{z{z{yzyyy{zzzz{zzzyyyzyzyyzz{yyy{yyyxyyyyzzzzy{zzxyyyxyyyzzzzzzzzzyyzyzyy{zzyyyzzy{zzxxxyyzzzzz{{zyyxyyzzz{zzyzzzzyzyyzzyxzzzxz{yyyyzyyxyyyzyy{zzzxzyxxyyzyzzyyy{yzzzyzyyzyyyyyyzzyyyzyxxzyzyzzzyzyzzxyyyzzzzyy{zzzyyyxyxy{zyz{{zzyyyzyyxzzyzyyzzyzyyyyyyyy{{z{zyyzyyxyyzzz{zzzyzyyzyyyyy{zyzyzzzyyzxyyyyyzz{{z{zzyzzzxyyzzzzz{zz{yzzzzyzzz{z{z{y{zz{yzyz{{zy{zz{{zyzzzzzyyz{{|zzzyzzz{{zzzz{{{{{zzzzzzzyz{{yzz{z|yzzzyzzz{zz{{{{zzz{zzz{y{z{z{z{zzzzyzz{z}{zz{{{{zzzyyzz{zz{{{{{zzyzy{zzyzz{z{zz{yyzzzzz{z{{z{|{{zzzzzz{zzz{{z{zzz{zyz{zy{{zyzzzzyzzyxyyx{z{zzzyyyyyxzyxzy{zzyzzyxyyyyyyyzz{zz{{yyzyy{zzzzzzzzzzyyzyyzyxyzzzzzzzzyzxzyyzyzzzzyzzyyyyyzyzzzzyy{zzzyzyyyxyzzzzzzzzzzyyzyyyzyyzyyzzyyyyyyzyzyzzzy{zzyzxxzyyzyzz{yyzyyzyyyyyyzyzzzzzxyyyyyyyyzzyzzzzzyyzyyyyzyxzzzzzzzyyzyyxzzyzzz{zzyyyzyzz{{yzzzy{yzyzyxyzyzzzzzzzyyzyyzyzzzzzz|zzzzzyzyzzzz{z{z{zzzzyyyyzyzz{zz{zzzzyzzyzyz|yz{zzzyzyzzzzzy{{{{{zzzyyzz{zz{{{zz{{zzy{zyyzzz{{z{z{{z{zyy{y{{zz{{{{zzyyzzzz{{z{{z{|{yzzzzzzz{|zz|||zzzzyzzy{zzzyz{zzyy{z{z{yzyzz{{|zzzzzyyy{{{|{{z{{{{zzzyyz{z{{z{{zzyyyzzy{z{zzy|{yzyyzyzyyz{zzyzzzxyyyyyyyzzyzzzzyyzzzyyyzzzzyzzzzyyxyyyyzzzyzz{yzyyyyyyyzzzzyyzzzyzyxyyyzzzyzzy{xyzyyyyxzyyyyyyzzzxyxyyyz{{xxzz{yyyyyyyyzzyyzzyzyyzyxyzyyzzzyyz{zyyzyyxyyzzyyy{zzyzyyyzxyzyy{z{zyxyyxyyyxz{zyyzyyzxyyxyyyzzzzzzzyzyzzyyyzy{zzzzyzyyzzyzyyzzzzzy{zyzzyzzyzzyzzzzzzyzyyyyxzz{zzz{zyyzz{yzyyz{z{z{zzyyzxzyxzzzzz{|zzxzzzyyzzzzz{{zzxxzzzyyzzzzz{z{{zzzxzyzyzzzzz{z{{zyyzzyy{{zz|z{zzyzzzzzy{{z{z|z{yzyzzz{{{z{zzz{|z{zzyy{yz{z{{{z{{yyzzyzz{{zz{{zz{yyz{zzz{zzzzz{{{z{yzyyz{{z{{z{zyzxxyyzz{zzzz{{zzzzzzzzyzzzz{{zzzyyzyyyyzyz{{{yyyyyyyzyxyz{zzyzzyyyxxxyyzzzzzzzzzyzxzzyyzzzzyy{{xyyxzyzyy{zzyyzzzzyxxyyzyyzzyyzzzyyxyyyxxyyzy{zzzzzzzyyyyy{zzzzzzxzyyzyyzyy{yy{zyyzxxyyyyyy{zzzzxyxyyyyyyxzzyyzzyzzywyxxyyz{zz{zzyyyxxzxxyzyzyzzyxyyzyyyy{yyyzzzyyzzyzyzyzyzzzzzyyyyyyxyzzyyyzz{zz{zyyzyzzzyzzz{zzzzyyyyzyzyzz{zzzz{yzyzyzy|z{zzyzyzyzyzzzz{{{{zyyzzzyyzz{zzyz{zzzz{zyyzzzzzz{zzyyzzyyzz{zzzz{{{zzzzyzyyyz{z{{{z{y{z{{zzz{{y{{{{z{|zzz{yzzz{|zzzzzzyyz{{zz{{{{|{{yz{zzzzz{z{{{zz{yzyyzyzzzzzzzz|{zy{{zzz{{z{{|{{zyyzyzzyzy{{{z{{{zzzzzyzz{{{zzzzyz{yzyyyzz{zzzyyzyxzyyyxzzzyzz{zzyyzzyyyyz{yyy{zzyxyyyyxzzzzyyzzzyyyxzyyyz{zzzzyzyzxzyzyzz{zyzzzzzyyyyyyyzzzzz{zzyyyyxyxyzz{z{zyxyyxyzyyyyy{yzy{yzyxyyyxzyyyzzzzyyzyzyyyzyyzzzzzzyzyyyyxzzzzzzy{zyzzxyzzyzyyyyyyyyyyyyxzyzyyyzz{yyzyzzyyzzz{zz{zyyzyyyzzyzyz{zz|yyzyyxzyy{yzzzzzzyzzyzyzzzzyzzzzyyzyyzyyzz{zz{{yz{yzzyyzzyzyyz{yyyzzyzyzz{z{yz{zzzzzzzzzz{{{{zz{yzzzyzzz{{zz{{{{{zzzyzzyz{{z{{zzzxzzy{yzzzz{{{|{zyzyyzzzzz{yz{{{{z{zyzzyy{{|z{{zzzzzzyzyzzzzz{z{zyzz{zyzzz{y{{z{zzxzzzyyzz{zzz{{zzyzzzzyzz{z{z{zzyyyz{zz{zzzyz{y{{zxzyzzzy{zyzzzxyyyzyzyyzzyz{{yy{xyzxxxzzyzz{zzzxyyzzzzzzzz{z{zzyzyyzxxxyzzzyzzyzzyyyyxzzzzzzzzzyyyyyzyz{zzz{zz{zyyyyyyzyzzzzyzyzyyxxyzyzyzyzzzyyyyyyyyzzzyyzzzyyxzyyyyyyzyzzyzzyzyxyxyyzyzzzz{yyzyyyyyxzyzyyzzz{yyzy{zyzz{zz{zyyyyy{yyyzzzzzyyzyyyyyyyyzyzzzz{yzzyzy{yzyzyzzzzyyyyzzy{y{{zzyz{zyzzzyzyzyzzzz{zzyzzzzyzzz{{zy{zzyz{yz{zy{{zzz{zzyzzzzy{z{z{{zzzzzzzzyyz{{{{zz{zzzy{zzyyz{{z{{{zzyzz{yy{zzzz{|{{{{{zzyzyz{{z{{{{{zzzzzzzzz{zzzz{{zzzzzzzzzzz{{z{zzyzzzzz|zzz{{{z{zz{zzyz{{zz{{{{z{yyzyzz{{z{{z{zzzyzzyzy{z{yz{z{yz{yzyzzyz{zzyyyyyzyzzxyz{zzzy{{{zz{yxyzzzyy{yz{yxzyyzyz{zzz{z{{zyyyzyyzyzzzyzzzzzzyyzyyzzyzyz{zzyzyyyzyz{zyyyz{yzzyxzyyzzzzzzzzyxyyzyxzzzzyzz{zyzyyzyyxzzzyzyzzz{yyyyyzyy{zzzzzzyzzyzyzyzzy{{zzyyzxzyzyyzzz{yz{zyzyyyyyzzzzyzz{yy{yz{yyy{zzzz{z{zzyyyzyz{yyzzz{zzzzyxyyzyzzzzzz{zzzxzyz{zzz{zzzyyzyzyyyzzzz{z{zzyzyyyzzzzzzzz{{{yyzzzzz{{{zz{{z{zyyzzzz{z{z{{{zzzzzzzyyz{zz{{{{yzz{yyyzzz{zz|{{{yzyzz{z{z{z{z|zzz{zzzzzzz{z{zy{zzzyz{zz{{{{{{{{{z{zzzzz{zzz{{{{{yyzzzyzz{z{z|{{{yzz{z{y{z{{{z|{yzyyyzzyz{{z{{{{yzzzz{yzz|{{zz{zzyzyzyzyzyzzzzzyyzxzyyzxyzzzy{yyzxyxzyyzzzzz{z{zzzxyyyxyzzzyzyzzzyyyzyyzzy{{zzzzzyyyyyyyzyyzyzz{zzyyyxyyzyzzzzzzzyzyyyyxyzzzyzzzzyyyyyzzzzzyzzzzyyyyzyyyzzzyzzyzyyyzyxxzzyzyzzzzyyyzyyzyxzzyzz{zyyyxyxyyyzzyyzzzyzzzyxyxy{yzyzzyyyyzyyzyzzzzzzzzzzyzzzzzz{zz{yzyzyzyzyyyyzzzz{{zyyzyyzyyz{z{zzzzzyzzyyyzyzz{zzy{yyzzyzzzzz{yyzz|zyyzzzy{y{zz{zzz{zzzzzyz{{{{{{zzzzz{zzzzz{z{{z{z{yzzyzzz{{{{z{z{zzzyyzzzzzzz{{zzzzzyzzzzz{{z{{z{z{y{zzzzy|{{{{|z{yzzzyyy{{{zy{{z{xyyzzzzzzz{{{{zzzzz{yzzzzz{z{zzz{zzy{{zzzz{{{{zzz{yyyyz{{zzzz{zyy{yyyzyzzzzzyyzzzxyyxyyzyzyzz{{yzyzyyyyyyzzzz{{yyzyyzzzzyyyz{z{zzzyyzyyzzzzzy{{zyzyzxyyyzzzzzy{y{zyyyyxy{yxzy{zzzzzyyyyzzzzyzzyzyyxyyyxzzzyyyzzyyyyyyyyzyzzyzzzzyyyyzyyyyyzz{zzyxzyyzyyzzzyyyzzzyyxzzyxyyzzz{zyyyyyxyyxzzyyyzzzyyzxyzxyzyyzzzzzyzxzzzzyzzyyzyzzzzzxyyzyzy{zzz{{zyzzzzyy{{z|z{{z{yyzzxyyyzzyzzz{zyzyyyyy{z{zzz{{zyzzxzyxzyzzzzz{yzyzzzzyyz{z{{{{y{x{zzzzzzz{{z{{{zzyzyyyzzzz{{{{|yzy{yzzz{zzz|{zzzz{yz{z{{z{|{{z{{zzz{zzz{{{z{{|{y{{zyyz{{|{{{zzzzz{yzzz{zz{{|{{{{{z{zzzz|{z|{zzz{zyzyzzz|{zz{{z|zz{zzyxy{z{zzz{yzyxzzzyz{{zz{yyyyyyyyyyyzzyyzyyzzyyyyxxzzzzyz{yyyzyyyyyzyz{{z{{zyyxyyyyyz{zz{z{zzyyyyyyyyzzyyyzyyyyyyyxyzyyyzzzzzxyzyyyzyzzy|yzyyyxyyxzyzyzzyzzyyyzyzyxzyyzyzzyzyyyxyxzzyzyzzzzzyyyxyyyyzzzyz{zzxyyxyyxxzzxzzzzzyyxzyyyy{yzzyzzyyyyyzywyyzzzyz{zyyyzyyyzzzzzzyzyzyyyyzyzyzzzzz{yyzyxyyyzzzy{z{zyyzzzyyyyzzz{z{zyyzzxyyyz{{{yz|zzyyzzyyyzz{zyzzzzzzyz{yyzzz{z{{zy{zzzzzz{{zzz{zz{zzyzyzyy{|yzzzz{yy{zzyzz{{{{z{z{zzyzzzzz{{{{{{zzyzyyz{|{zz{zz{{zyz{zyyzz{yz{{zzzzyz{{zzzyzzzzz{zzyzzyyzzz{z{|{{zzzzyzyyzzzz{y{{zy{z{zzzy|{z{{|zzz{zzyyyzz{zzzzyyzyzxyyyxzyyyzy{zwzyyyxyyzzzyz{zzzyyyyyyzzyyzyzzyzzzyyyyzzzyzzz{xy{yyyyxzzyzyyyzyyyyyzzyxzyzzyzzyyyyyyzyyzzxyzzyzzxxyyxyyyxyyyzzyyyyyyyyyy{zyzzyzyxyyzyzyzyy{y{zyxyyyyxzyz{zzyzzyxyyyyyyyyzyzyyyyxxyyyyyzyxyyzzzyyzzyzzyzzzyzyzyyyyyzyzyzzyzyzz{yyyyyyzzzyyzz{z{yyyyyyyyyyzzzzzzzyzyyxyzyzzzy{zy{yyyyyyyz{zyyzzyzyyzz{zzzzzzy{zzzyyyzyzzz{{{{z{zyzyyzzyxzyz{yz{z{zyzzyyzz{{|zz{z{yzzzyzyzzzzz{zzyyzzz{{zz{z{{{zz{zzyzz{zy{yz{z{{{{zz{yyzzz{yy{z{zyyyzzyzzyzz{{{|zzyyzzzzz{yz{zz{{zyzyyzzzzzzz{{z{zyzyyyyyz{yzz{zzzyyxyzyzzzzzyzyzzyyyzzyyz{yzzz{zyyzyyyxyzzzzyz{yzzyyyzyyyzzz{{zxzyyyyyyyz{{xzzzzyyzxzyyyyyyzzz{yzzxxzyyyzzyyzyzzxyzywyyyyzzyzzzzyyyyyyzzzzyyzzzzyyyyxzyyzyyzyzzyyyyyzyyzyzyzzzyzyyyyzxyzzzzyzzzyyyxxyyyyzzzyyzyyyyzyyyxyyzyyzzzyxyzzzyyy{zyzzzzzzyxzyyzzzzzzzzzzyyyzyzzz{zzz{yzyzzyyyyyzz{zzzzyyzzzyzzzyzyyzzzz{z{yzyyyzz|z{z{zyyyy{yyyz{yzzz{zzzzzzyyyzzzzzz{{yzzyzzyzz{z|z{{|yzzzzyyy{{zz{{|{zzyzyyzzzz{zzz{{{z{yzzzz{{z{{{y{zyyzyzzz{z{{z|{{zyzzzzzyzzzzzz{{zzzzyzz{yzz{{{{{zzyzzyy{z{z{zz|{zzzzzzzzzzzy{{zzzyyzzzzy{z{{yzzzzzzyxyyyyzzzzyzyyyyyyyxyyzzzyzzzzzxzyxzxyzz{zzyzyzyyyyyxzyzzzyzzzyzxzyyyzzzzyz{zyz{xxxyxzzzzyzyzyyzyxyxyxzzyzyyyyyyyyzxzzyzyzyzzyyxzyyyxyzzzyyyzyzxyyxxyyzzzzzzyyxxyxxxyzzzyzyzyyxzyxxyyzzyyyzzzzyzyyxyxyz|yz{yxyyyyxyyyyzyzyzzyxyyyzyyxyzyzyzzzyyyyzyzyz{zzzyzzyxzyxyzzz{yyzyz{yxzzxxyyzyzzzzy{zzyxyxyxz{zyzzzzxyzyzyxzzzyz{z|zzyzyyzyyzzzzz{zzzy{yzyzyy{zzzz{zyz{yyzyzzzz{zyzzzzyzzzyzyzzzzz{z{zzzzz{z{z{{z{z{zz{yzzzzzy{z{{z{{{zyyyyy{{{z{zz{yyzzzy{{z{zzz{zz{zyzzyyyzyzzzz{{zzyzzzzz{{z{z{z{zzyyzyzzy{zzzz{zzzyzyzyyzzy{zzzzyyyyzyxzzyzz{zzzyyyyyxyyyzzzy{yzyyxyyzyyzyzz{{z{zzxxzyyzyzzy{z{yzzyyzzyyy{z{yzz{z{yzyyxyzyzzy{zzyyyyyyzyyyyyyyyzzzyyzzyyzyzyy{zzyyyxxyyyyyz{zzy{yyyyzxyyzyzzzzzyyxyyxyyyzyzzzyyzyyyxyyyxyzyzzy|z{xyyyxzxyzzzyyyzyxyyzxzzyzyyzzzzyyzxzyyyzzyzzz{zzzzzyyzyzzzzyz{{yzyyyyxyzyzzyzz{yzyyyyyyy{yyzz{{zyzyzxzyy{z{z{{yyzzyyxzy{zz{zzzzzzz{zyyzzzzzzzzz{zyyzy{yzzy{{zz{yyyzzzzz{{{|{z{{{xyzyyzyy{zzzzz{zyzzzxzz{z{{{{{{zzzzyyzzz{{{z{{{zyyzzz{zz{z{z{{z{zzzzzzz{{zzy{{{{yzyyyzz{zzzz|z{{z{z{{zyz{{{z{z{zyyzzzyzyyzz{{{|{zyz{yzyy{yzzzz{yyzzyzyyzz{zzzzyyzyyzzyyyzzzzxzzyyzyyzyyyyzzz{zzzyxyzyyzy{zzzz{{yyzzyxyyzzyzyyzzyyzxyyyyzy{yzzz{yyyyzzzyyyzyzzzzzzzyzxyyzy{zyzyzyyyyyyyzyzzzzzyzyyxyzyyyyzzyyzz{yyyzyyyyyzzyzzzzxz{zyzxyxz{zyy{{zyyyyyzyzyzyzzzzzyzyyyzyzzyzyzzzyyyyzzyyzz{zzzz{zzzyyyzzz{{yzz{{yyzyzyzyzz{zz{zzxyzzyzzyyz{z{{{y{xyyzyz{yzzz{{zzzyzyzyzz{zzzz{z{zzzzzzzyz{z{yz{zzzzzyzzz{zz{{{z{zzyy{zzz{zz{yz{{zzzyzzyzzzz|zz{{{zzzzzyyy{{{{{{{zz{zzzzz{z{{z{{{{zzxyz{{y{z{z{z{{yyzzyzy{zz|{{{z{zzzy{yy{{zz{z{{{{zz{z{yz{{zz{{{yyzzzz{yzzzz{{zz{{zzyzzzz{z{yz{zzzzzzyzzz{z{yzzzyyzyyyyxyzzzyzzzyyzzyxyyzyzzzzz{|yzz{yzzyyyzyzyzyyzyzzxyyzz{yzzzzzzyxyxxzzzyzyzzyyyxxyyyzzzzzzzzzwzzxzyyyzyzzzzzyyzyyyyyzzyzyy{{xxyyzyyyyzyyyzzzzyyyyzzyyzzyzyzyyyyzxyyxyzzyzzyzyzyyyzyyzxzxy{zyzyyyyzyzy{zz{yzzyyyyyyxy{zzzyz{z{yyyyxyzzzyyzzzzyyyyyyyyzzzzz{zzyzyzyzyzzzzzz{{yyyzzyyzyzzzzz{y{yzyzyzzyzzzy{yz{{yyz{y{yy{z{zy{zzyyzzzyz{{z{{{{{zzyzz{zzzzz|zzz{zyzzzyzyz{|{z{zzzyzzzzyyz{z{{zzzz{yzyzzzz{zzz{{zzz|y{zyzz{z{zzz{{zzzyzzy{zzzz{z{zzzzyzyz{zzzzz{{{{z{yyyzz{z{{{{|{{zzzzzx{z{zzz|{zzzyzzzy{{zzzzzzyyyxzyzy{zzzzzzzzyy{zyzzzzyyz{zzzxyyzyyyyzzzz|{{zzyyzyyxzzzyz{{zyxyzyyyyzzz{zyz{zy{yxyyxz{zz{zy{yyyyyyyyxzyy{{zzzzzxyyyyzz{zyy{zzxzyyzyzzyzyzzzzxxyyyyyzyyzzzzzyzyzzyxyzz{zzzzz{zyyzyyyx{zzyzzzzyxyzyxzyyzzyzzzyzxyyxxyyyzyyzzzzyyyzyzzyzzzz{zzzzyyyzyyyzy{zyzzzzyzzxyy{yyzzz{{zyzzzzyyyzz{z{z{z{y{yyyyzy{yzz{{{zzzz{yzy{{{zzz{{zyzyzzzzzz{zzz{zzzyy{zzyzz{{zzzzxzyzzzzzzzzzzz{{{yyzzzyyz{{{{{z{zyzzzzyz{{{{|z{|yyzzz{zzz{z{{|z{{zzyzy{zz||{zzz{{zz{zzz{z{{{z{{{{z{zzzy{yzzzzz{{{{zz{zz{z{z{z{{zzzzzzzyzz{zzzz{{{zzyyzyyy{zzyz{zzzzyyyy{zz{yzzyzyzyyzyyyy{yzyzzzyyzyxyyyyzyzz{zzzzyyzyzyzyzyzz{{zyzzyxyyzzzzzzz{zyyxyyyyzzzy{{zzyzzxyyyyzyzzzzzzzyzyyxzzzyyxyzzzyyzyyyxzyyzzzxzzxxyyyyyyxyzyzzzz{yyyyyxyyyz{zy{yyyyyyzxxyzy{yyzzyyyyyyyyxyyzzzzzzxyyzxyyyzyzz{{zzyzyy{zyz{zzyzzzzzyyzz{zzzy{zzz{zzyzzyyzzz{zzz{{zyzzy{yzzzzzzzz{{zyzyyzzy{y{zzyzyzzyzzxz{{{zz|{yyzzzzyyz{zzz{zzzzzzzzyyyzzz{zz{zzzzyzyzy{z{{z{{{zzzzzyxzzzz{{{{zzzyyzzzzz{z{z{{|{yzyz{{zy{zzzz{{{z{zz{zzzz{z|{{z{zzzzzyzz{{{zz{z{y{z{{yyz{{zz|{|{{zzyzz{{{|z|{|{yzzzzzyyz{zz{z{{zzzyzzyyz{{{zz{zzyzyyy{yzzyz{zxyyyxxyxyxyzzyy{zzyyxyzyyyyzyyzzz{zzzxyzyyyzyz{yzzyyyyy{yyxzzzzzz{yzzyyyyyzzzzzzzzyyyyyyyyzyyyzz{yzzyzyyyz{yzyyyzzyzyzyyyzyzzyyyzzyxyyyyyyzzzzyzzzzyzyxyy{yyyzzyyzyzyyxyyyyyzzzzzzxyzyyxyxyzyzyzzzzzxyyyyyxy{{zzyyzyzzyzxyzzz{zz{zzzyyzzyyzyyzzz{zyyzyyy{zzzzz{yzzzyzzzzyzzzz{yz{zyzzyyyyyyz{yzzzzyyzyzyyzzzzzzy{zzyyyzyzzzz{zzzzzzyzyzyyzz{zz{z{zyzzyzzyzz{y{z{{zyy{zzzzzz|z{{zz{zzzy{zzz{{{zz{{{{zyzyzyzz{{{zzz{zzyzyzzzz{{zzz{{zyzyzzzzzzyz{{zz{zzzzzzz{zzz{{z{{zzzz{zz{{{{z{{{zz{yyyzzz{{|z{|{zyyzzyzyzzzzzz{zzzzyzzyyyzyzzzyzyzzzyyyyyyzyzz{zzyyyzyxy{{zzz{{zzyyyzzyyzyyyyzzzzyyyyzyzyzzzzzz{yyzyzzyyyzzyyzzyzxyxzyxyyzzyzyzyyyyyyyyy{yy{xzyzzyzyyyyyyzzzzyzzyxyyyyyyyyzzyzyyzzzzxzxyyyzyyyzzzzzyyzxyz{z{zzzyzxyzyxxzzzyzzzzzyyzyyyyzzzzyz{{zyyyyzyyyz{z{yz{{zyyyyxzzzz{zzz{zzyzyyyyzzzzzz{zzyzyyyyzzz{zzy{zz{zyzyzyzz{zzzzzzzzzyyyyzz{zzzzzyzyyzzzzzzzyzz{zzzzyzzz{zyzz{z{z{zzzyzyzz{zzzz{{|zzz{zyyzzzz{{{{{{{zzzy{y{{zz{zz{zyzzzz{zzz{zz{z|{yyzyzzzz{z{{{{|{yyyzyzz{{{zzz{zyyzzzz{zyzz{{z{|{{zzzz{z{{{{{z{{z{zyyy{zz{{yz{zz{zyyzzzyzzzy{z{zzzzyzzzzzyzzzzzzzzxyyyyyzyzzzzzzyzxyyyzyyzzzzz{zzyzyyzyyzz{zz{{{{yyyyzyzyzyyzx{z{yyxxy{yzyzzzzzzyyyyyyyzxzzyzzzzyyzzzyxxyy{yyy{zyyyyyz{zyxzyyzxzyyyzzyyyzzz{yyyzyzyyxxxxzyzyz{zzzz{yxzxxzzyzzy{zzzyyzyyyyyzyzyyxzyzyxyyyyzzzz{{zyyzyyyyyyzzzzyzzzyyyzyzyyzyz{{z{zzzzyyzyzyy{zz{zyzyyyy{yzyzzzzzzzyzzzyyyyy{zzzzzyyyyyyyz{{zzzzz{yzxzyyyz{yzzz{zz{zyzzzzzy{zz{z{|zz{zyy{zz{zzz{zzzyzzzzzyzzzzzz{z{yyyz{zzzzz{|{{{{zzzzz{zzzzzz|{{{yyzzzzzz{zz{|{{{zzzzzzzy{{|{{zzz{zzyzzy{z{{{{||z{zyzyzzzzz{{z|{zz{zzy{zyzz{zz{{zzzzzzyxz{z{z{zzyyzyzyyxz{zzzyxyzyyyyzyyyzyyyzzzyyyyyyyyyzyzyzzyyyyyyyyyzyyyzzzzyyzzyyyy{yzzxyzzyzyxxyyxyz{zyzzyzxyxxyxzyzyyyzzyzyyxyxxxzzzzyyzzzyyyzyyyyyyyz{yzyyyyxyyyzzzzzzzzyxyxyyxyyyzyyyzzyyyyxzxyyzz{yz{zzyyxyyyxzyyyzzyzyyyyyyyyyxxzzzzzyyyyyyyyzzyy{z{zzyywyyyxzz{yzzzzyyyxyyyyyzzzyzyzyyyyyyy{yy{zzzzzzyyyyyyyzyzzz{yzxyzyyyyzyzzzz{{zzyyzyzyxyzzzyz{zzyzyzzzzzy{yz{{zyyzyyzzyzzzz{zzzyzzzyyzzzz{{{|zz{yzzzzzzzzz{{zz{{yyzzzyz|yy{z{zz{yzyz|yyz{{z{|z{zz{zzyzyyzz|zz{{zyyzyzzy{z{zzz{{zzy{zzzz{z{z{{zzzyzzyzzy{zz{z{{{zzyzzzzyzyyz{zz{zzzyyxzzzzzzzyyyyyyyyxyyzzzzzzzzyyxyyxxyzyzz{yzyzyyyyxyy{zzyyzzzzyyyzyzxz{z{yzzzzz{yyzyyyzyyzyyzyyzyyzyyyzzxy{zzyyyyyzzxzy{yyzyzzxzyyzyyyzzyyyyyyyxxyyyyzzyzyyzyyyyyxyzzzyyzzzzzzzxxwyyxz{yxzz{zyzyyyyyyyyyyzzzyzyyyyyyxzzyyzzzzzxzyzyyyzzzyzyzzxyyyyyyyzzyzzzy{yyyxxyzzyyzzyz{zyxzyyyyzzzzz{yzzzyzyzyyyzzzzzz{{yyzyyyyyzzzzzy{zyyyzzyzy{{zzy{zyzyyzzzxzz{{z{{{{zyyz{yyyzzzzzz{zzzzzzzzzz{zzzz{{{yz{zxzy{zzz{|{{zzzyyyzzzzzzz{z{zyzzzzzzz|yz{{{{zyzzyyzzzzz{{{{z{zyzzzzzz{{{zz{zzzzyzyyzz{zzz{{{z{zyyyzzzzz|z{zzzzzyzyyzz{z{zyzz{yyyyzyyyz{zyzz{zzyyxxyyyyzzxzyzyzyyyxyyyzzy{z{zzyyyyxyyzzzzy{{yyyyyyyyyyzzyyzzzyyywzxxxzyzzyzzzyyyyyyyyyyyyyzzzzzyxyyxxyxzzyzzzyxyyxyyxzyzzxzzzyyzyyyyxzzzzzyzzyyyyyyyyyyzyyx{yyzzyxyyyy{{zyy{zyxyyyyxyyzyyz{yz{yyyxyyyy{zyz{yzyyyxyyzxzzzyzz{zzyyyyyyzyyzyy{zzzzyyzyyzzyzyzz{zyzzzzzyyyyzzzyzyyyzzyyyzzzz{zyzz{yyyzyyyyy{zzz{zzzyx{yxyyz{yz{zzyyzyzyy{z{z{zz{zyzzyxyzz{{z{z{yzzzzyyyzy{{zz{z{{zzyyyzzzzzzz{{y{zyzzzzzzzzzz{{{|{zzzyzyyz|{zzz{|{yzzzyz{{{zzzz{{{yyzzzyzzz|yz{z{zzzzzzz{yz{{zzz|z{{yyzzyz{yzz{zzzyzzyzyyz{zzyzzyyzyyyyyyzzz{zzzzyxyzyyxz{yzzzyyzzyyyyxyyzyzzzyz{zyyzxyzy{yyzyzzzyyyyy{yyyzzzyyz{zyzyyzyyzz{{zzz{zyzyyyzyxyzyzy{zzyzxyzyyyz{zyzzzyyyyxzz{zyzzzyzyyyyyyzyzzyzyyzzzzyyyxyyyzzzyyy{{yyxyyyyzyzyzzz{zzyyyyyxxyyyyzyzz{yyyyzyyzzzzy{zyzyyyzyyyzzxzzyzzzxyyzyzyzzzzyz{{zyyzxyzyzy{zzzzzyyzzyzyyzy{{zz{zzzzzzxzyz{z{z{zz{zyzzyyyzz{{zzzzyyzzzyzy{z{zzzzz{zzz{zzyy{{{zz{|zzyyyzzyzzzz{zz{zyzyyyyzy{zz{z{z{yyzzzzy|{z{{{z{zzzzz{{z{{z{{z{z{yzyzyzyz{{zzz{{zyz{zzzzz{z{|{{zzyyz{{{{z{zz{{{{yzz{zyzz{zz{{y{{{z{zzzzyzzzzyzzz{{{zyzzyy{zzzzzzyz{yyyyyzyzz{zzzzzzyzxyyyz{zyzzzzyzzyzyyzzyyyzzzzyyy{zzzzz{{{zzzzyz{zzxxzyzzzz{{yzyyxzyyyzzzzyyzzzyxyyyzyzz{yzzzzyyxyzyyzyzyz{{z{zzzyyyzyzzzzzzyzyyzzyyxyzyzzzzyyyyyyyxzzyzzzzzzyyzyzxyyyzzzyz{zzzyyyyzyyyyyzz{yzyyxyyyzzyyyzz{{zyzzzyyyy{zzz{z{zzyzzyyyz{yz{z{|{yzzyxzzz{{zzzzzzzyzyzzzyzzzz{z{zyzzzyyzz{{zz{z{yyzyzyzy{z{{zy{zzzzzyzzzz{{y{{{{zzzzzzzz{z{{{|z{z{zyyy{{|{y{{{{{zzzy{zyy{{{zzz{{zzzy{zzz{z{{|{{|z{z{zz{z{{zzzy{{|zzzz{zzzy||{z{zzz{z{{{z{z{z{{{|{z{yz{zzz{{{{{{{{zzz{{zzzz{{{{z{{{zzzzzzy{{{z{z{zzyzzxz{z|zzz{zzyzzyyyzzz{zzzyzzzzzzyyzxzzzzz{zyzxzyyyyyzyzyz{zzzzyyzzzyzzz{zz{{yyzzyyzzzz{yzzyzyzzzxyyxzyzyzzzzyzyyyyzyyzzyy{{xzyyyyzyyyzxyyzzzzyyyyzyxyzzyzzyzzzyyzyxyzzyzyz{yyyyyyzxxzz{zzzyzyyyyyyyyy{yyy{{zyyzyyxxyyzyyzzz{yzyyxzyyyyyyyzzzyyzzz{yyzzyzy{yzyzyzzyyzzz{zzz{zyzyzyzzyzyy{z{{{yzyyzyzyzz{{yzzzzzzzyyyzzz{zzzzzzyzyzyyyzz|zzz{yzyyzzzyxz{{z{yz{{yzzzzyz{z{{y{zzzyzzzz{z{{zzzz{{zzxyzzzy|{{z{z{z{y{z{zzyz{{{{zz{z{zzy{zzzzz{{{{z{zzzzzyy{|zzz{{{{yz{zz{zz{zz{{z{{zyzz{zzzzzzz{{{|zz{zyzzz{z{{{{{zzzyzzzzzz{z{z|zzyxzyyzzzzzzz{zzz{zyyyyyzy{zz{yyyzyyyxzyy{{zyzzzyyyyyxzyzyz{z{zz{zzyyxyyz{yyzz{yzyzzzyyzyzzzzzzzyy{yyyzy{zzyzyyzyxyyyzyzzzxzzyzzyyyyzxzyyzzyzyzyzzyzxyyyyyzyzzzzyyzy{yzyzzzyzzzzyyyyyyxxyzyx{{zzyyyyxzyxzzy{zy{zzzyzyxyxzzzyzzzzyyyzyy{yzzyy{{z{zzzxyzyxz{zyz{zzzzzyyyzyyzyzzzzzzyzyyyzyzzzz{yz{zzyyyzzzzzzzzzz{yzzyzxyyyzzzz{zzzzzzyyzzzz{{y{|zzzxyzzzyz{{{z{{{yyz{zyzz{z{zz{{{zzzzyzzz{zz{{{{|zzzzzzyz{{{z{{|z{yyzzyzz{{{z{{|{yzz{zzzz{{|zz{{{{yzyz{{zz{{{z{{{{zz{yzy{{zz{{{|{{yyzzz{z{zz{{{{{zzzzzzzy{{{{z{{{z{zzzyzyzzzz{zz{{zzzzzzyz{zzzz{zyzyzzxzzzzyzyyyzyyyzyxxyxyzyzzyzyxzxyxxxzzzzzzzzzyzzyy{yzyzyzz{{zzxzyzyyzyzzyyzzzyyyyyzzzzzzzyyzxyyyyzxyyyyyyzzzzyzy{yyyyxzzzz{yzzzxyyyyyyzyyzzzxxyyzyzxzzzzz{y{zyyyzyxyyy{yyz{zyxzxzyyyyyyyzzzyzyyyzyyzyzyyzzzzyzyzyxzyyzzyyzyzyzyzyzyyzzzzzyz{zzzzyyyzyzzxzzz{yyzyyxzzy{zzyzz{zzyyxyyzyzzzzz{zyyzyzyzyyyyzzz{{yyzyyzzzz{zzz{{zyzzzyyxyzzzzzzz{zzzyyzzzzzz{{{zzzzz{zzyzzzzzz{z{zyyzyyxxz|zzyz{z{yzyyyzyz{z{z|z{zzz{zzzzzzz{z{{{zzzzy{z{z{z{zzz{zyzzyzzzzz{{{{||zzyzzzyzyz{{zz{{{z{{z{zzzzz{{z{|zzyyzzyyzzyzzzz{z{zzyzzz{zyzz{zzzyyzyyyyzyzy{zyyxyxyyyyzzzyzzyz{xyzyyyzyzzzzz{z{zzyzyyyzzzzz{{{zzyzyyyzxyyyzxzzyzxxxyxyyzyzzyzz|zyyyyyxyyzyyyzyzzyyyyyxyzzzyzzzyyxzyzyzzyyxyyz{zyxyyxxyyxxzzzyzzxyxzyyyyyzzyzzyzzyzyxyyzyyzzy{y{zyxzyxzyyzyyyzzxzyyyyxyyyzzyzzzzxzyzyyyxzyz{z{zzyyyyzyyyzz{zyy{yyyyyzzzxzzzz{{zzyyzzyyyyz{zzzz{{zyzzyzzzyzz{y{zzzyzyzzyyyzyzz{{y{xyzzzzyzzyzy{z{{yzyyzyz{zz{z{z{yyzyyzzzzzz|zz{{{yzzyyzz{{zz{z{{{zzzy{zz{{z{z{{zzyz{zzz{z{zz{zzzzyz{yzzz{|{{zz{|{zzzzyzzz{}{{{{{{yzzzyz{{zzzz{{z{zzzz{zyz{zzzzz{zyzzy{zyzzzz{{{{yzyzzzyyzzzzzyzzzyzyyyzyyzy{zyzzyyzyzyxxyyyz{zzzyyyyyyyyyzyyyzyzzyzyyyyxzyzxzzzyyzzyxyyzy{zyzzyyzyzxxyyyyy{zyy{yyyzyyyyxxzyyzyzyzyyyxyyyyzyyyzzyzyyxxxyxzzyyyzyyxyyyyxxyxzyzzzzyzzyyxzxyyy{yyyzzyyzxxxywxyzxzzzz{yyyyyyyzyyyyz{zyyyxyxyyy{zyyz{zxyzyyzxxyzzyzzzyzxzyyxyyyyyzzzzzyyzxxzzyxyzyyzzyyyyyyyyxyz{zzz{zyyzyyxyxyyyz{zyz{yzzzyxzyzzzzz{zzzxyyzzyyzzzzy|{zyxzzyzyzz|{z{zzz{zyyyyyzzyzzy{{zyy{yyyyz{z{zz{y{yzzyzzyzzzz{z{{zyzyzz{y{zz{z{{zzyzzyzzzz{{{z{{|zzzzzzzz|zzz{zzzzzyz{zyz{z{z|{zzzyzyyzyyzz|zzz{zzyyyy{zyzzz{zz{{zyyz{yzyzzz{zyyyyxyzzxyyz{zxyzyyyyyxxyyxxyyyzyzzzyyyyxyzzzyyzzzzyyyxyyyzzyzyzyz{zyyyxyxyzyy{yyzzzyyyyyxyyyyyzzyzzxyyyyyyxzyyzyyyzzyyyxxzzz{yy{zyyyyyzyyzzzyyzyyyxxxyyyyyzyzzyyzyyyyzxywzzzzy{yzzyyyzxyyzyyy{yzzyyyyyyyyxyyzyyzy{yyywyxyyzzzzzzzzxyxyzyyyyzyyzzyzzzyyzzyyyzzyzzzzzyyzxyyyzyyy{{{zyyxyyyyyzzzyyzzyzyzyzyxyy{y{zzz{yzzxzyzyz{zyzzzzzyyyyyyyz{{zzzzyyzzzzyyzzzyzzz|{z{zz{zzz{zzzzz|{{z{zyzyyz{z{zzz{zyyzzyyy{{zz{{{{zyyzyzzzy{zz{{{zzyzzy{yyzzz{zz{zzyzzyyyzz{z{zzz{zzyyzzzyzz{z{z{{zzz{zzyz{{zz{zz{{y{yyyy{zzzzzz{zzzyyy{zyzzzzzzyzyzyyzyyyzyyzyzyyzxyyyxyyyyzzyzy{zyyxyyxyyzyyzy{zyyyyzxyyzzyzzz{zzzyyxyyyyyzzyyz{yzyyxyyyyzzzz{z{xyzyyyzyyyyyy{zzyyyxyxyzzyzyyzzzyyyxyzxyyyzzyyzyxxzxxxzyzzzyzyzzzxyzxxyyyyyzyzzzzyyyy|yyyzyzyzzzzyyyzyyyxzzyzzyzyzyxzxxyy{zzyzzxxyyyzzyyzyzzz{zzzz{yyyyyzyzzzzy{yyzyyyyyzzyxyzzzy{zzzzyxzzzzyzz{yyzzyyzyzzzzz{yzzzzyyzzyzzzzzz{zzzzzyzyzzyzzzy{zyzzyzzyzz{{{z{zzzyzzyzzzzzz{z{{{yyyz{yyzz{zz{z{zzzzyyyzz{zzyz{{zzzzyzzyzzzzzzz|yzxzy{yzzy{{{yzz{{zz{yz{zzzz|z{z{zzyyzyzzyzyz{z{{zzzy|{zzzzz{{z{zzyyzyzyz{z{z{z{{zzyzyyyzzzz{yzzzzyzyyyzyyzzyyxzzyyyyyyyyyyzxyyzzyyzyyxxzyzzz{zyzxyzyyyzy{yzyyyzzxyyyyxyyyy{{zyz{zxzxyyyxyyzzzzyzxyyzyyzyyzyyyyzzzyxyyyyxzzzyyyyyyyyxxyyyz{yzyzyzxyxyzxyyzyyyyyyzzyyyxywzyxzzzzzzyyzxxyyxzyyyzzyzyyyxyyyxyyyzzzzzzyyyzyxxy{yyyyyzyyxyyyzxzzzzyz{zyyyzyyzyzzzzyzzzzyxzzzyyzzzzzyzyyyyyxyyzzy{zzz{{ywzyzyyyy{{yz{zyzyzzzyxzzz{zzyz{zyyzxzyyy{z{zzyzyzyyyzzyzz{{z{zzzyzz{zzzyzzzzz{{{yzzyyzy{z{{z{zyyzzy{yzz{{y{{z{|zzzzzyyyzz{{{{zz|yyzyzzyz{|z{{{{zyzzzyzyz{{z{|{zzzyzz{yzz{zz{{z{{zzzzzzzzyz{{z{|yzyyz{yzy{z{yz{{zyzyyyzyzz{{zzzzyyzyzyyyzyzzy{{zyyyxxxyyzzzzzz{{yyxxyxyyzzzzyzzzzyzzzzxyzyyz{z{zzyzyzyyzzyzzzy{zzyyzyyzy{zyzzzzzzzzyyzxyyzzzyz{zyyzyyyyyzzyyxzzy{xyzzzxyyyyzzzyzyzzzyxyyyzzyzzzzzzyzyyyxzzzyyzzzyyzzxyxyyz{zyzzzzyzzyyzyyzzzzzzzyyzyzyyyz{zzzzy{{xyyzyzyzzzzyz{zzyyyyyyyyzyyzz{zzzzyyxzz{zzyyzzzyyyyyyxzzz{zyzzzyyzyzyyxz{{zzz{zzzyyzyzyz{{|zz{yzzzyzyyzzz{z{{{zzzzyy{yzzz{{z{z{yyzyzy{zz{z{z{{zyyzyzzyz{{{zz{{z{zyyzzy{z{zzz{{|zz{zzzzz{{zzz{{{{zyzzzzzz{{{z{{z{yzzzzzy{{{{|z{z{zyzzyz{{{z{{z{{zzzz{zzz{|z|{{{{zyzzzzzy{|{zyz{{zzzyyzyxzzzzzzz{yyyyxyyzyzz{zxzzxzzyzxyxyzzzzzyzyxzyzyzyyzzzzzz{zyyxyyxyzzyyz{|zzyzxxyyyyyzzyzz{yzyyyzzyzzzzzzz{yzzyzyxxzyzyzyzyzzyxyzyyyzzyyzzzzzyyzyyyyyyzzzzyyxzyyyyyzzyyyzzyyyzyxzyyyzzzzzyzyyzyxzyyy{zzyzzzyyzyyyyyyzzyzzzzyyyxyxzyyyzyy{zzzyzyzyyyzzzzyz{{zyyyyyyzz{{zzzz{yy{zzyyyzzyzzz{zzzyyyyyyzzzzyz{{yzyzyyyzz{{zzzzzzzyyzzyyy{{{yz{{zzy{zyyyy{zzzzzzzyzyy{zzzy{{z{zzyzy{zzzyz{{{z{{{zyzyyyzzz{{{z{{|zyz{zyzzz{{{{{zz{zzyzyzz{{zz{{{{zz{zzzzzz|z{zz{{|yzzyzzyz{z{{zzzzyzzzzzzzz{z{{{{zzzzzzzz{{z{z{{{{zyyzzzzzzzzzzz{{zzzyyyyzzzzy{{{zzzyyyyzzyzzyzyzzyyyyxyyy{zz{z{zyyyyyyyyyzy{yz{zzzyzyyyyyzzyzzzyzyyyxzxzzz{{yy{zyyzyyyzyyyy{z{z{yyyyzyyzzzyyyz{yzyzyzyyyzyzyyzyyyyyyzyyyzyyzyzy{yzyz{yyyzzzyyyzyzzyyyyyzyzzz{yyzyyxyyyyzzyzyy{z{zyzyyyyyzyzzzzzzzzyxyyyxyyzzzzyzzyzxyyzyyyzz{z{{yzyyyzyy{zzz{zz{zyzyzyzzzz{zzy{zyzyxyyzzyz{zz{zz{yzzyy{yz{{yy{{{{xzyyyzyz{zzy{zzzyzyzxzzz{{yzz{z{zzyz{zzzzz{{{{z{{yzzzzzzzz{z{{{{zzzzzzyzzzzzy{zzyzyyzzzz{zy{{{zz{zzz{zzy{z{{z{zzyz{{z{zz{z|z|{zy{zz{zzzzz{{{{z{{zzyzyzzzz{|{z{{{{yy{yz{{{z{z{{{yzzyzzyz{zzzz{{zzzzzyzyzzz{yzyyzzyzyzzzzzzyzzz{yyz{xxyyyx{zyyzzzyyyyyxyzyyzyy{yzyyzyyyzyzzzzz{{yyyyyxyzzzyzzyzzzzyxxxxyzzyyzzzyzzxzxyyyyzyzyyzzzyyyyzyxyyyzzyzzzyyxyzyyyyzzyzyzzzywzyyyyyzzxyzyyzyyzxxxzzzzyyyz{yyyxyyyzxyyyzyzyyzyyxyyyyyyzyzyzyyyxyyyxy{yzyzzzyyyxyzyxzzyzzyzyzzxyzyyyyyzzzzz{yyzyxxzxzzzzyyzzzyyyyzzyyyzyz{y{zyyyzxzzyzzzz{yzzyyyy{yyzzzyzz{z{yxzxyyxzzzzzzzzyzyzyyzzyzzz{z{yy{zyy{zzzyzzy{z{zyzzzyyzzz{zzzzzzyzyyz{z{{zz{{{zzz{{zz{yzzzzzzzz{yyyyzzz{{{z{{{zyyzzyz{z|zz{z{z{{yzzzzzzz{yzz||zzzz{zzyzzzzzz{{{z{yzzyzy{z{z{{z{zzzzz{zyz{zzyzzzyxzyyyyzyyzzzz{yzzyzxyyxzzzyzzyzzyyy{xyyyyyx{zzzyyyyxyzxyyzzzzzzyyyzxyyzzyzzzzzzyxzxyyyyzzzzz{yzyyzyyxyxyzyyyzyzyxyyyyzzyyzyyzzzxyxyxyyxyyyyzyzzyyyxyyyyyzyyzzzyzyyyyxyyyzyyzzzzyzyyyyyyyyz{zzyzyxzyyyyyzyyyyyzyyyyyzzxyyzyzyzzzyxzyzyzyzyzyzz{zyyyzzyyzy{zzy{z{zzyzzzzyyzyzyyz{zxzzyzzy{zz{zzz{zyyyzyzyxyyzyzz{zz{zyyyy{z{zyz{{yzyzzyzzz{zzzzz{zzzzyyzzy{{|zzz{yzzyyyzzy{zz{{{zzyzzyzyzz{zzz{zz{yzzzyzy{zzz{z{zzyzz{zz{z{z{z{{|{zyyzzzzy|{z|z{{zzyzzzzyzzzzy{z{{zzzzyyzz{{zz{{{zyzzzzyy{z{{zzzzyzyyzyzzz{{z{z{{yzzzzzzyzzzzzz{zyzzyyyyyzy{zzyyyyyyxyxzxyyzzyzzyyyyzxxxyyzyyyzzzzyyyyzxyzzzzyyzzzxzzyyyzyyzyz{zyzzxyxyyxyyyzyyzzyyyyxxzxyyyyyz{zzzzyyyzyyyzzzzzyyyyyxyyxyyyzzyzyyyyyxyzyyzzyyyyyyyzzyzxzyyzyyyz{yyyxxxyyyzzzyz{zzyzyyxyyyzyz{yzzyyyxywyxyyzzyzyyyyzyyyxxzzzzzzzzyyyyzxyyz{zyzy{zzyyyyy{zzzzzzzy{yyzyyyyzzzzyz{zzzyyzyyyyzzyyzzyzzyyxyyzyzz{zyz{zzzyyyyzyz{yzzz{{yyyz{yyyyzzz{zzzyzyyzzzy{{y{{z{{zzyzzyzz{{z|{{{z{yzzzxzz{{zz{z{zzzyyyzzzz{zzz{{zzzzzzzzzz{{z{zz{{zz{yzzyzz{z{z{{{yzzzzzyzzy{zz{{zzzzzzyzz{zz{{zzzzz{zzyy{zzzzz{zz{zyyzzyz{zzyzz{zzyyyzyyyyzzzzzyzyxyyxyyyzzyzzyyyzyxyxyxyzyzyzzzyxyzyxxxzyyzzzzyyyzyyyyzzyyzyzyyzzyxxyxyyyyyzzzzyxyyyyyyx{yyxzzzyyzyzyyyzzzxzz{yzyyyxyyyyzzyyzyzyyyxyxxzyzyyzzyzxyzxyzxyyyzy{zzyyzyyxzxyyyzyyzzyzyyyxyyyyyyyyzyyyyyyxyyyyzzyyzzzyyyyzyyxyyzyzzzzzyyyzyyzzzzzyzzzzyyzyyzzzzxzzzzzyzzyzyxyzzz{zzy{yzzyzyyyzzzz{zzzyyzzxyzyzyzzyyzzyyyzyyxzz{yz{{{{zyyyzyzy{zy|zz{{y{yzzzzzzzyz{{{{yyzzzyzyzzyzzz{yzzyzzxyyz{zzzz{zzzyyzzzzzzzzz{{z{zzzz{yy{zz{zyz{zzzzzyzy{{z{z{z{{zz{zzzzzzzz{z{{zzzzzzzz{{zz{{z{yyyyz{yz{zzzyz|{z{zzyzzyy{{zzzzzyzyzzyzyyy{{zzyzxyyyyyyxyzzyyxzyyzyyyxxyzyyzxzzzyzyxyyyyzxzyzzzyzyyyzyyyyyz{yyz{zyyyxyyyzyzz{zzzyxyxxyxxzyzyyy{zzyyyyyxy{zzzy{zzyzywyyyxyxzzzzzyyyyyyyzyyzzzzz{zyzyyyyxyyy{z{zzyyyxyyyyyzzyzzyyzxzyzyxyyzzyyyyzzyyyxzyzyyyyyzyyyyxyyxyyyyzyzzz{zyyyyyyxzy{zyzyyyzyyyyyyyzzzyzyzyyyzyyyzyzyzyzy{yzyyzzzyzyzy{zzyzyyyzzyzy{zzzzyzyyyzzyyyyzzzzzzz{zyyxyyyyzzz{z{zzzzzyzz{yz{yzzz{{zyyzzzyx{{{{zz{{{zxyzzzy{z{yzyzz{zyzzzzzy{zz{{{{{zzzzzyzz{{z{{{|{yzzzyzzzzz{z{{z{zyyzzzzzzy{z{{{{zxy{yzzzz{yzz{zzzzyzzzxz{yz{z{{zzzyyzzyzzz{zyz{yyyyyxxyyz{yzz{yxyyzyyyxyzzyzyzyyxzyyxyxzyyyzyzyyxxyyzyyyxzzzzyzyyxyyyxyyyzyzyyy{zzxxyyyyyyyzzyzxxxwyyxxzzzzzzzyzzyyyzyyxyzyyyyyzzzzyyyyyyyyyxzyxyyxyyyyyzyyzzzyzyyyyyyzyyyyyyzzyyyyxxxzyzyyzyzyyyyyyyxyxyyxzyyyyyyyyyyyxzzyyzzzyyyyyyzwzyyzzzyzyyyyyxxyyz{yyyz{zyyzyyzzzyzzyzz{yyyyyyyyzyyyzzyzyzzyzyyzyzzzzzzzyyyyyyyyzz{zzzz{yzzyyyxyzzyz{zyzzyyyzzyyx{z{zzzzzyzyzyyy{zyzz{{{zzyzyyyyzz{zz{yzzyyyzy{z{zzyz{{yy{zyyz{yzzyzzzzyy{yzzzzyzz{{{z{z{z{{yzzzz{z{{zz{{yzzzyyzy{{zz{zzzzyz{{zyzz{z{z{{zzzyzyyzz{zyz{{{zzyyyyyxzzzz{z{zyyyyyyyyyz{zyzzzxxyxyyxyyyzzzyyzzyzzyxxyyyzyzzz{zzxxyxyyzyyzzzzzyyyyxyzyzzzzyzzzzzyyyyyxyzzzzyyzyyzyzyyyzzzyxzyz{yyyyyyxyy{yyyyyzxxyyyyzzyzzz{yzxyxxyxxyyzyzy{yyyyyyyzyzyyzyzzyxyyyyyxyyzyzyyz{zyyyxyxyyyzzyzzzzyyyyyyyyyzyyyzzyzzyyzyzxyyzz{zzyyzyyzyyzzz{zy{{{zxyzyyyx{y{{{z{zyzzyyzyyyzzzyzzzzyyzyxyxz{zzzzzzzzyzyyzyyz{yyzzzzyxzzyyzzz{yz{zyzzzyy{yzzzz|{{z{yyyyzzzzzzzzzzzzzwyzzyyyzz{|z{z{zzzzzyyzzz{yz{|z{zzyyzz{zyzz{{{{zyz{yyzzz{z{z{{{{{z{yzzzyz{{zz{{{yyyzyzzz{zzzzz{zyzzzzzzz{zzy{{zzyyyzzyz{zzzz{{zzzyzzzyyy{zzy{{yzzzzyyzyyzyzyzzzyzyyyyxyzzyyzyzzyyyyzxyyyzzzzzzyzyyyyzyz{z{yyzz{yyzyxyxyyzzyyy{zzzyyxyxxzzzyyyzyyxyyyyzyyyyyzz{zyyyyxyyxxzzzyzzyzzyxyxyyzzyyzyzzyyxxzyyxyzzyz{zzzxxyxywxyyyzzyzzyyyywzxyzzzyyyzyyyyzyyyyxyxyzzyzyyxxyyxyyyyyzzzzyyyzyxyxzzzzyzzyyzyyyzyzz{zzzzzzyyzzzyyzzzy{zzz{y{yyyyzy{zzzz{zzzyzyzyzyyzyzzzzz{yzyzzyx{{zzzz{zyyyzzzzyyzyzy{zzzzyyzyyyzzyzzz{{zzyzxyzyz{y{zzz{zyzyyyzyzzzzz{zzzyzyzzyyzzz{{z{zzw{zyzzyyzzyzzzzzzzzzzzyz{z{zy{z{yz{zyzzzzz{zz{zzyzzy{zyzzz{z{{z{yzyyzzy{zz{{z{{zzyyzzyzyzzzz{{zzzzyyyzyy{zzz{zzyzzyxyyyyzz{zzzzxyzyyxyzyzzyzyzzyzxyyyxyzyyzzzzzzzyyzy{yyyzy{z{zzyyzyyyyzzzzzy{yzyyyyxyyzzz{yzz{zzyyyzyxyzzzzzzyzyyyzyyyzyzyzzyzzzyyyyxzzxzzyzzzzyyyyzzxzzy{zzzzzyzyyyxyyzzyz{yzzyzyyyyyyyzzzzzzyyxyyyyyyzzyyzyzyzzyyzyyyzyyzzzzzyzyzzyxyyyz{{{zzzyy{zyzy{zyzzz{yyzyzyzyzzzzzzzzzzzyyzzyzy{y{zz{yzzyzyzxy{{zzzzyzyyyzzyyzzzyzz{z{zyzyzyyzzzzz{zzz{zyzzyzzzz{{zz{zz{zyzzzz{zzzzz{zyyzyyzz{{zz{z{|zzzyxzzz|{zzz{{{zzyzzzzzz|{zz{{{zzzyzzzzz|{{{z{{zz{zz{zzyz{{{{z{zzyz{yzyzz{|zz{{{zy{zyzzz{{|{zz|zzyzzzzyyzzz{|{z{zzzzyzyy{z{zzzzzyzxyyzyzzzyyzyxyyyxyxxxyzyyyzy{yyyxxxzxzzyyz{zzyyyyzyyyzyyy{{{zyyzyyyy{zzyzyzzzzyyxyyzyxzyyyyz{xxyzyyyxyyyxyzzyyyyyxyyyzzzyzyz{x{yyyyyyzyyzzyzyxyyzxyyxxzyzyzzyyxyxxxyyy{zzzyyyzzzyyxxxyzzzzzzzyyyxyxyxxyyyzyyyyyyyxxxxzzzzzz{zyyyxyyxyzzy{zy{zzyxxyyyyyzzzyzz{zyzzzyzyzzzyy{zyyxzxzyxyzzzz{zzzzyzyyxyyyyzzzyzzzyzzyyyyzzzzzyzz{yyzzyxy{{{zzzzzzzzzzxyyz{{zzz{{yzyzzzzyz{z{zz{{yzzyyzyy{zz{z{{zzyyzzyyzz{zzzz{{zyzzzz{yzzzzz{{{{yzzzzz{zz{{z{{z{zyzzy{zz{z{{|{zzzzzzzzyz{zyzzz{{{zyzzyz{z{z{zz{zzzyyyyzz{{zzz{z{zzzyzyzyz{{zz{yyyyxzyzzzyzyzyzzyyxxyyyxzzzxyyyzyyxyyxyxyxzzzzz{zyyyyyzyyzzyyyzyyzzyxyyyyyzzyy{yyxyyyxzyyzzyyzyzyyxxyyyyxzyyzyzyyyyyyyyxzzyyyzzyzyyyyyyyyyyyzyyzyxyyyyyyyzyyyyzyyyyyxyyzxzzzzzyzyzyyxyyyyyyyzxzzyyxyyyxxzyyyyzzzyyyxyzyyyyyyy{yzyyzyyzxxxzzzzzzyyzzyyyyzzyyzyzyzyyyyyxyxzyzzyzzzzxzyxyyy{zzyzy{yyyyyzyzyzzzz{{zzyyyyyyzyzz{zzz|zzyzzyyyyy{yyyyz{zzzyyyyyzzzzz|{zyyyzzzzzzzy{zz{zzzyzzyyyzz{zzz{zzyyzzyy{z|zzz{zzy{{zzyzzyzzz{z{{z{zzzzyz{{{{zy{{zzzzyyzz{{|zzzzzzyyzyzzzzz{zzz{z{zzyzyyyzzz{z{zzzyyyzzyzyyzzz{{{zzyyyyyzzzzzyz{zyyyyyyyyzz{yz{yzyyyyyyxyyzzyzyzzyzyyyyyyzyzyyzzzzxyxyyyxyzzyx{z{zyyyzyxyzzzyzzy{xyyxyyyxyyzzyzy{yxzzyyyzyyzzzyzzzxyxzyyxyzyzz{zzyz{xyyyyyzyzzzyzyxzyxyyyyzzyyyzzyxyxzyyzyyzyzzyzzyzyyxyxyzzzyyyyzxyxzyyyxyyy{zyyyyyxxyzyyzyyyzzyyyzyyyyyzzyzzzzzzyzzyyyyzzzz{z{zyxzzxyzyzy|{z{{{zyzyyyzzy{zzzzzz{yyyyyyyzzzzyzyzyyzzyyyyzzz{yz{zzyyyzyyyz{zyyzzyyyyyzyyyy|{{z{z{zzzyxzzyz{z{zz{{yy{zzzyyzz{zzz{{zyzyyyyyzzzz{z{zyzzyyzz{z{z{{z{z{yz{y{zzz{zz{{{{{yz{zyzzz{zzzzz|zyyzzyzzzzzz{{z|zyzzzzzz{z{zz{y{zzyyy{zzz{z{z{{zz{zxyyyz{zz{{zzzyyyxxxyyzyzyzzzzyyyyxyyxyzyy{xyyyyxxyyyyzzzyyz{zyyyyyyyyyyyyzzzxxxyxyxyxyzzyyyzyyxzxyxywxzyzzyz{xxyxxxyxxyzyyzyzyyyxyyyyyzyyyy{zzwyzyyyxyyxyyyzyyyyyxyyyyyyyyzyzxyyyyyxzyzyzzyzyzyyyyxzxyyyzxyy{yyxxzxyywyzyyyzzyzyxxxyyyyyyyyzzxxzxyzyxzzyyzyyyyyyyyyyyyzyzzzyzyyzyxxyyzyy{zzz{yyzxxyyzzzyz{{zyyyyy{xzzxzzyzzyzzzy{yyyyzz{yyz{zyyyyyzyzzzyyyyzyzyyyyyzyzzz{z{zzzzzy{zzyzzzzzyzzzzzz{zxyyz{zzyzyzyzzyyyyzzzz{zz{yzyzzzzz{zzz{z{zzyz{zyyzz{{{{zzz{yyzyyyz{yzzzz{yzzyyzzzyzzzy{z{zzyyzzzyzzz{z{zzzzzyzzyyzyzz{{{zzzzzzzzyyy{zzzzzzyzyyyyyyzzyyyyyyyxxyyyxxyyzyzyyzyyyyxxyzyzzyyzzzyxxxyyyxyyyzyyzzzyxyyzxyyyzyyyzyyyyyxyyyzyyyzzyyxxzyxxyxzyyxyz{z{xyyyyyzyyzyyzyyzzyzxyyyyyyzzzzyyyzxyxyyy{xyyyzyyxxyxywyxzyyzyzyyxzxyxxyxyzzyyyyyyyyyxyxxyyyzyyyyyyyxyyyyzyyzyyzyxyyyxxyyyzyyzyzyyyxyxzzy{zyzzzzzxyzyyyyzzzzzzyzzzyzyyyzyzzyyzz{zyyzyyyyzzzyyzyyyyzxzyyyzzzzzzzzyyyyyxyzzzzzzzzzzzxzzzyyzzzzy{z{yyyzyyzyzz{zzz{|zzzzzyyyzzz{z{zyzyyzxzyyz|zz{{{zyzyzyzyyzzzzzyzzzyz{zz{yz{zzzz{zzyyzyzzyy{z{zz{zzzyyzzzyzy{{z{{{zzzy{zyzyzzz{{z{zyyyzyyyzzyzzz{z{z{yzxzyzzyz{x{zzyzyzxxxyyzyzzyzyxxxyxyxyyxyyyyzyyyyyxyxyyyyyyz{xyxxxzyyzyyyzyzyyyyyyyxzyyzzxyzzyywyxxxxyyyyzzyzxxxyxyyyzzyzyyzyyzyyzxyxyxyyxyyyyyxxxyxyyyxyxzzyyxxyyxyyyzzzyzzxxxxxyyxxy{zyzyzyxyyyyxxyzyyxyyzzyxyyxyxyyyyxyzywyyyxyxyyyyyzx{yzxxyyyxyyyzyyyzz{zyyxzyyyyzzzyyzyzyxyyzxyyyzzzzyzyyxyyyyzyzzzzzzyzxyxyzzyzyzyyzyyxyzzyyxxyzzzyy{yzyyyxyxzzzzzyzyzzzyzyzyyzzzz{zzzzyyyyyzy{yyzzzyzyyyyyzyyz{{{zzzzzyyzzyxzz{{z{y{zzzyyyyzzzzyyzzzzzzyyyyyyzy{zzz{{zyzzyyzzyzzzyzz{{zzyzyyzzzzzzy{zzyzzyzyzzz{zzz{zzzzzzyyxzzyzzzzzzyxzzyzyzzz{yzzzzyyyyyyyzzzyzzzzxyyyxzywyzzyyzyyzyyyxxyyyyxyzzyzyxyxxxyyyzyzyyzyzyyyyxyyxyzzyyyzyyxxxyyyyyzzyy{zyyyyyyyyyzyxyzyyyyyyxyxyyyyzxyyyyyzyyzxzxyzyyzyyxxyyyyxxyyzzyzyyyyyyxyxxzyzyzzyyyyxyyxxxzzxyzyyxxxxyyyyyyyzxyzyyzzxyxyzxyzxyyzyzyyzyxyyyxyxyyzyzyyyyyxyyyzzyxy{zyzzxxxxyxzyzyzyzyyyxyyxyzyyzzzzzzyyyyyyzz|zzyzzyzyyxyxyyzzzyyzzzyxyyzyyzyzyzzzyzzyyyzyxzyzzzzzz{yyyzyzzzzzzzzzz{zyyxzzyyzyzzzzzyzyzzyyyyzz{zzzz{zyzyzyzyz{zzzz{{{yyzyz{z{|zzz{z|zzzzyz{yzzzzz{zzzyyyyzyyzzyyzz{zyzyzyzzzyzy{{{z{{z{xyyyyyzzzzz{{yyzzyyyyzzzyyz{yzyxyyyxyyz{xzyyzxyxxyxxxxzyzy{yzyxxxyyzyyyzzzzzzyxzzyyyyyzyxyzzzyx{yyyxyyzyyyyyyzxyyxyyyyzyzxzyzyyyyxzyxyyzyyyzzzyyyyxxxyyzzyyxzyyyyxyxyyyzyyyyyyxyxyzyyxyyzyyzyxyyxxyxzyyyyyz{zyzxyxxyxzzzzyyy{wxyyyyxxzyxyzyzyyyyxyyxyyyyzyzzyyxzxyyyyyzyzyyzzyxyzywzyyyzzzyzzyyzyyyyyyzzyzzzzyzyyyyyy|yxyzzz{yyzyyxzxyyz{zyzzyyzzyyxzzz{zyzzzzyyyyyyxzyzyyzzzzzxyzzyzzzzzyzz{yzyzzyzzy{{{zz{zzzxzyzxy{yyzz{y{zyyyyyxyzz{zzz{zzzzyzzzy{{zz{{zyzzyyyzzzy|{z{zzzzz{zyyyyz{{zy{zzzyyyzyzyzzyz{{{{zzzzzyzyx{zzz{z{zzzyyyyyy{zzzy{zzyyyyyyyyyyzzzzyyzyxyywxyy{zzzyyyxyyxyzyyy{zyzzyzzzyyxxyzxyzy{yxyyxxxxyxzyyzyzzyyyyyzyyyyzzyzyzyzyzxyxxyyzyyyzzyzxzyyyyyyyxzyzzyyyxyxzxyyyzyxzyzxyyyxyxyzyyzyxzyyyxxxxyyyzyyyzzzyzxyyywxyz{xzzyzyyzyyyxxyzyzzzz{yyyxxxxyxzyyxzxzyzyyyyzxzzzxzzyyyyyyyyzyzyyyy{zyyxyyyyyyyzyzyzyzyyzzyyyyzyzzyz{{yyzyyyyyyzzzyzzyzyyyzxyyyz{zzzyzzyyyyzyxzyzzyy{zzzxyzxxzzyzyzz{{zyyyyyyyzzzzzz{zzzzyyzzyyzzzz{z{zyzzzzzzzzz{zyyzzyzzzyzy{zzz{{{{zyyyxzyy{yz{zzz{yyxyyzyyz|zy{y{zzyz{yyzyz{z{zz{zyzyzzyyzz{zzzzzzzyzzzyyy{zzzzyz{zzyyyzzyz{zzz{zyzyyyyyyyyzy{yzzyzyyxzyxyz{{zyzyyyyyyyzxyyyzzzxyyyyyxyxyyyyyzzzzzxyxyyyyyzyzzzzyzzyyxxxxyzzyzyyzzzyyzxyyyxyyyyzyzyxxxxyyxyyzxyxzyyxzyxyyyxyzyyzzyyyyxxyxyxyyyyzzyyyyyyxyxyzzyyyyyyyyyyxxwyyyyzyyyyyyywyyyyzyzyzzyxyxyyzyxyyyxyzy{xyyxyxzyzyyzzyzzyxzzyzyyxzyzyzzzxzxxxyyxzyyyyzzzyyyxxxzyyzzzzzyzxyyyxyyyxzyz{zzzzyxyzxzxzyyzzzzyyyyyyyxyzzzyzz{yyyyyyyyyzz{zyzzyzyxyyyyy{zz{zz{{yzxzzz{yyyzyyz{zzyzyzyyzzz{zzz{zzzzzzyyzz{zyzz{zzzzyyyzzzzzzx{zzzyyyz{yzz{zzz{{{zzzyyyzzzzz{{{yz{zyyyyzzyzzzzz{{zzxzzyyz{{{zz{{zzyyyzyyzyz{zyz{zy{xxxyzxzzyz{{zzyxyzyyyyzzyyyzyzyyyyyxyyy{zyyyzzxywyyzyyyyyyzyz|zxxxzxzyyzyyyzzyzyzyyzxyzzyzyyzzyyxyyxyxyzzzxzyyyyyxxyzyyyzxxzzyyzyyxxxyzyywxzzyyxzxyxyyzyyxyzyzyxyxyyyyyyyzyyzyyxxyxzxyxyyxzy{zyyyyyyxxyz{zyyzyzzxyyyyxyxzyyzyxyzyxxyyyyzzyyzzyyxyyzyyyyyzzxzyzyyyyyyyyyyzzy{zzzyzyyyyyzzyyy{zzyyyyyyyyzyyz{z{zzyzxyyyyyzzzyzzzzyyyzyyyzzyzzz{zzyyzyyyyzzzxzzzzzyyyzzyzyzz{zzzzyzyyyyzzyzz{zyzzzyyy{yyyzzzzy{zzzyyyzyyyz{{zzzzzyyzzyzz{y{{{{z{y{zyyyzzzz{{zz{zzzzzzzyzz{z{{y{{zzzzyzyzzzzz{{z{{zzzzy{yzz{z{y{z{yzyyzyyzzzyzyzzzzyzyyyyyz{zzzzzzyyxxzzyyzyyzzyyzyyxxxxyyx{yzzxyzyyyyyyyyyzzyyzzyyxzyxyzyyyzyzzy{yxyyyxxyyzyzzxyyyyywyxxyyyyyxyyzyyyxyyyxyyzxzzyyyyxxxyxyxy{yyyyyzyyyyzyxyyyyyyyzyxxxyxzxyzyyzyyyyyxyxyxyyyzyyyyzyyyyxyxyyyyzyyzyyyyxzzxxyyyzyyyzyyyxxyxyxzyyxzyzxyyyyzwxyyyzyzyzyyxzyxyyzyzzyzzyxyyyxxyyzzyzyyyzyyyyxyyyzzzyyyzyyyyzzxyyyyzzy{zyyyyyyzyyzzzyxyzzzzzxyyzyzzzyyzyzzzyxyzyxyzyzzyzxxzyyyyyzyzzzyz{zzyxyzyyyzzzy{zy{zyyy{zzz{{yzzy{zy{zyzzyyzzzyzzy{yyyzyyyzy{zzzy{{zzzyyyyyyzz{z{{zzyyzzyzyzzzz{z|zzyyyyyyzzzy{z{{zyzyyyyyzz{zzzz|zzyzyyyyxz{zzzz{yzyyyyyyzz{{yzzyyyxyxywyxyyzzyxyyyyyxyxyxyyyx{yzzyyxwyyyyyyyyz{yyyxyxyyzzyyzyyyyyzyxyxxxxyyyyzyxzyxyyyxxyyyzxyyzyyxyxyyyyyxyzyyzyzxyyxyyx{xyzzzzywxyzyywxxyyyzy{yyxyyyxxyyyyyzzzzyxzyxxyyyzzyzyyzyxyyzxxyzyyyzyyzxyyyyyxxxyyyx{yzyyxzyyxxyyyyyzyyxyyyzyyyyz{yyyzzyyyyxyzxzyyyyyzzxyzyyyyyy{yyyzzzyzxyzyyyyyyzzzzyyyzyyyyyyzz{yz{yzyyzyxxyyzzyzzzzzyyyzyxzzzz{zz{zyzzyyyyzzzz{z{zzzzyyyxyxyz{{z{{zyyyzyyzyy{zz{zzzzyyyyz{zy{zzz{z{{zzzyzzyy|z{z{{zzyzzzz{zz{zzz{{zzyzyyyxzzzzzzzz{zzyyzzzzzyzzy{zzzyyyzyzz{zz{z{z|zzyyxyyxz{zyzyzzyxzyyyzyyyzyyyyzyyyyxyyxxyyyzxz{yyxyywxxyyzyzzyzxyywyyxxyxzy{yzzyyyyyyxxyyzzzxyzxyyyyyyxzzyyy{z{xyyxyyzyyyyyyyzyyyyyyxxxzyyyxzz{xyyxxyxyyyyzyyyyyyyyyzxxxyxzyzyyyxxyxzxyzyzyzzzzyyyxyyxyzzyyzyzyyxxxyxyyxzzyyyyxyyyyyyyxyzyyxzzzyyyxxyyyyzyyzzzzyyxyzyyzyz{yyz{zyyzxyxyyyzyyzzyzyyyyyzxyyz{yyzzyzzyyyzxzyzz{zyzyzyyxyyzyyyzyyzzzyzyyyyzyzzzzyzyyyzyzyzyzzyz{zz{zxzzxzzzyyzzz{zz{zyyyyyyyz{zz{z{y{yyzyyzz{z{z{{zzzyyzxy{zzz{zz{zz{yzzzyyzz{zzz{{{zzzzzyyy|z{zzz{{zzyzyzyzzzzzzz{{zzyxzzzzzyzz{z{zyyyyzzyzzzyzyzzzzzyyxyyyy{zzyyzzyzyyzxzyyyzzyxy{yxxyyxyyxzzxxzzzzzyyyxxyyzzy{zzyzxxxzyyyyyzzzzz{yyyyyyxzzy{{yyzzzyxyyxxyyyyyyyyzzyzyxyyyxzyyyzzyzyyyzyyyyyzzyyzyyyxyxxxxyzzzzzyzxyyxxzyxyzyyzyzzyxyxyyxyyyzyzzyyyzyyyxyyyzyzzyzzyyyxyyyxyyzyxzyyyyyxyyyyzyyyzzyzyxyyyzyyxyzzz{{zyyyyyyyyyyzyzzyzyzyyzyyyzyy{yz{zyyzyyyyxyzyyzyzzxyzzzxyxzzzzyyzzyyzyxyxyyzzzyyzyyyzzyyzy{|zyy{yzyzyz{yzzy{yzy{{yyyzy{zyzzzy{zz{{zzzyzyxyz{|zzzyzzyyzyyyzzz{zyz{{zyyzy{{zzz{{z{{zzxz{yyzyyzz{{{zzzyzzyyyyz{{{{y{{zyyy{yyyy|zzzyz{zyyyyzzzzzxzz{zzyyzzzzyyzyzzz{zz{zzzzyyxzzyzyzzzyyyyyyyxy{zyzyzxxxyxxyyxxyzzzyyzywyyxxywxyyyyzyzyxyyyyxyyyyxzzzyzyyyyxxyyxyzxy{zyxyxxwxxzyyzyz{yxyxxyxyxyyyyxzzyyyyxxxyxxyyyyyzyyzyxxyyxyxyyyyyyxwyyyxyyyzyyzyyyyyyyyyxxxzyyzyyyzyyyxyyyxyyzyzzyzyyxyxyyyzzzy{yyxyxywyyyyzyyyyzxxzyyyzzxzzzyzyzyyyxyyyyyzzzyzyzyyyyyzxyyxyyyxzzzzyxyyyyxzyzzyyzzyxyyzxyyyzyyyyzzyxyyyyxyxzyyyzzyyyyyzyyyzyzzz{z{yyyzyyyzz{yzyzzyyxzyy{zyyzzzzz{zyxyyyyyy{zzzzz{zzzzyzzzyy{zzyzz{zzzzyz{y{yzzz{yz{yyzyzzzy{{{zy{zzzzyyyyyzzzz{{zzyyyyzzyyz{zz{yzzyz{y{yyyzzyzzzzzzzyyyyyyyzyyzy{z{zyyyyzyyzyzzyyzyyzyzxyyyyzzzyyzxyyxxyxxxyzyzxyzyyyyyyywyzyzzyyzyyzyyyxxzzyy{yzzyxzxxyxyxyzyzyzyxxyyxxyxyzzyyzyyyyyyyxyxyyxxyzzyyyyxxxxyyyyyzyyzyyxxwyyyzyyxyxzzxyxxxxyxxxyyyyzyzxxyxxxyzyyyyyxyzyyxyyxxyyzzyzzyyxxyzxxxyyyyzyyyyyxxyxyxyyxzyyzyyyzyyyyyzyyyzzzzyyyyxyxzyxz{yzyzyyyxzxyyzzyyx{zzyxyxxyxyyyzyzyyzyyyzyyyyyzyyzy{zyyyyyyyyyzyyyzzzyyzxyyzyyzyyzzyyzyyyzzyyyz{zzyzyzxyyyyzyz{zyzzz{zyyzyyyyzzz{zz{zzyyyyyzyzzzzzz{{yy{zyyzyyyzzzzyzzyyzzyyzzzz{yz|{zy{yyyyxyz{zzzyyzzyyy{xyzzyz{yzzyzzzyyzzzyzy{zzzzyyxzzz{yyzzyzzzyyzzyyyyyzzy{yxzyxzyyyyzzzyzzyyyxyxyyyyxyzz{yyxyxxyzxwxyzyyyyzzzxyyyyyzxyyxyyzyyyyyxxyywyzzyxyzzyxyyxxyyzyyyyyxzxxyxxxyxyyyyyzzxyzxxyxyyyzyyyzyyyxxxyyxxxyyzyyyyxzxyyxyyzyyyzyzyzxyyyyxzyxyyyzzyyyzyxxxyxyzzxyyzxyxzyxyxxzyyyyyyxxyyyyyxxzyyyzyyxyyyyyyxyzzzzyz{yxyyyxxxyz{zyz{{yzzyyyzyzzyyyzzzzyyxxxxxxyyyyzzyzyyzyyyyyyzzyyzyyyxyxyxyzzzyyzzzyzyzyzzyzzyzzzzzzzyyyyyzyzzzz{yyyyzxyzyzyyzyzz{zyyyzyyyyzz{yyz{zzyyzzzzy{zzzz{z{zyyyz{zzzzzz{zz{{zzzyyzzyzzz{z{zzyyzyyyxzz{zzz{yzyyzzyzzyzzzzzz{{yy{zyyzyzy{zzzz{yyzzzyzyyyzyzzzzyyzyxzxzyyzzzzzyyyyyxyxz{z{xzz{xzxyxzyzyzyzyyyzyyyyxxyxzzzyzzzzzyxyyyyyyzyz{zzzzyzyxxxyzzyzyyzz{zzyyyyyzyy{yy{zzyzyyyyyyyzxyzzzyxyxxyxyyyyzyzzzyyxxxxyxyyzyyzzyzyxyyyzyyz{xyzzyyyxyxyxyyzzzzzzzxyzyyxyyzzyzyzzzyzxyyxxyyzyyyzyzzyyyxyyxyzzyy{zzyxxzyzzxzyzyzz|{zzyyzxzyzyyyzzzzyyzyyyzyzzzzyzzzyyzyxxzyyzzyyy{zyyyyyxyyzzzyzyyzzyyyyyyyyyzyzyzzyyyyzyyyz{zzyzzz{yzyyyzzzzz{{{{zyyyyzzzz{zy{z{zzzyyzzzyy{yzyzzzy{zyyz{zzx{zyzzz{yyzzyzzzz{yzz{zzzzzzzzyzz{zzzzzzzzyzyyxyzy{z{zzz{zyyzzzzzzzz{yz{zzyyzzyyzzz{zzz{yyyyyyzyyy{|z{zzyzyzyyzyzzzyzzzzzyzwyyzyzzz{yzyyyyyzxxxyyzyxyyyyyzyyxyyyyzzyyyyzyyxxyxwyzyzyzzzzyyxxxyyyzyzzyyyzyyzyzyyyyzyyyzzzyyyyyyyxyzyxzzzzzxyyzxzyyzyyyyzyxxyyxyyyzxyyxyzzyyxyyyyxyyzyyzzyyxxywyyxzyyxyzyyxxzxxxyxz{zyyyz{yyxyxyyyyyxyyzzzyxyxzwyyyzyyzzzzyyzyyyyxzyzzzzz{yxxyzxyyyyzzzzzzyyzyyxxyzyzzyzz{zyyzxyxxzzyyy{zyyyyzyxzyzzzzzz{yywyyyxxyzyzzyzzzzyyyzyyzz{zyzzzyzzyyyyyzz{z{zzzzyz{zzyzyz{zzz{z{zxyzyyyyz{zz{zzyzyyyyzzz{{{{z{{{yxzzyzzyy{zzzzz{zyzyzzyyzz{zzy{zzyzzyy{{zzzzz{zzzyyyyxyzzzzzzy{z{zyx{{zzzzzzyzz{yzzzzyyzz{zzzzzzzzxyzyyyzzzzzzzzyzyzyyzyzzzzzzzzxyxxxyyxxz{yzyzyyzxxzyyzyxzzz{zzyyyxyyyxzzzzxyzy{zyyyyyyxz{yyyyzyyxyyyxyzxzzyzy{yxzxyzyyzzyyzzzzyyyxyxyxxzyyzzyyyyzyyyxyyyyyyyyyxyxyyxyyyzyzyyzyzxyxxyxyyyzzzyzyzxzyyyzyzzzzyzzyyyxzyyyxzyzyzyy{yyyxyxyyyzyyyzyyyxyyxxyxxyyzyzzzzxyyyxyyzyzyyzzyyxyxyxyyzyyyzy{zzyyyyyyyyyzyz{zzyyyyyyxzzyzzzzzzzyyyxxyxyyzyyzzzyxxyzyyzzz{yzy{xzzzyyzyzzzzz{zyzxzyyzyzyzzyz{zzzzyyyyyzyzyzzyyzzzzzzzyyzzz{zz{zzyz{zyz{zyyzzz{zzzzzyyzzyz{z{{zz{zy{yyzyz{zzz{zz{{yzyzzzzzyz{z{{z{zyyzzyz{zyz{z{{zyzyyxyyyzzzzzzzyyzxxyzzyzzzzyzzzzyzxyyyzzzyyxzywyxyxxyxzzzyyyzyzyyxywyyzyyxyy{zyxyxyyyxzzyyyzzzzyxxxxyyzyyyxyyzyyyxxxxxyyyzyzzzyxyxyyxxzzyyyzzyyxyxyyyyyyzyxzyyyyyxxyxyzzxyyyyzxyxyxyywxyyzzyyxyyyyyyxyxzyyzyzyxyyyxzxxyxyzyzyyyxyxyyyyyyxyzzzyyxyxyyxxzzyyzzzzyyyyxyyxyzzzzzyzzzyxyyyzyzzzyzzyyyyyxyyzyzyzyyz{yxyxzxxyzyyyzzzyyyzyzyyxy{{zyzyzyyyyzyyzyyzzzyy{xxyyyzyyy{zzzzzzyyyyzzyyyzzzzzyzyzyyzyzyz{zzy{z{yzzzyzxzzzzz{z{yzxyyyyzzy{zyzz{{yyyzyyzz{zzz{zzy{yyzyyzyxzzz{z{{{zyzzyyy{y{zzzzyzzyyyyzyzyzz{zzz{zyyzzyzzzyzzzz{zyyyyyyyz{y{zzzzzyzzyzyxz{zyzyzzyyzxywyxyz{zyyxzyxxyyyxxzzzyyyzyxxyyyxyyyyzyyyzzzyyxyzyyyyyyzz{yzxzyyxyxzyyzyyyzyyyyxyyyyxzxyyyyyzzxyxyyyyyyyzyyyyzyyyxxzyyyyyzyxyyyyzxyyyzyxxyzyyxxxxyxyxyyyzzyyxxxxxxyyyzzyzzyyxyyxyyyzyyyyyyyyxxyyyyxyyzyyyyyzyyxxyxyyyyyyzzzyyyyyxyyzzyzyyzzzxxyyxyyyzzzyzzzzyzyxxyyzxzzyzzzyyyyxyyxxyzzzz{zyyyyxxyzzzzxyzyzzyyyxyyyyzzzyzzzyyyyyyxxzzxzzzzyyxyyzyyzyzy{{zzzzzzyyyzyzzyzz{z|yyyyzzyyz{zzzzz{zxzyzyzz{{yyzz{{zyyyyz{zyzzzzzzz{zyyz{zzz{{zzz{{{xzzzyyy{zzzzzz|zzzzyzyzyzyz{yzzzyzy{yzz{zzzy{zyyzyyyzyzz{zzzzzzzzzzyzyyzzyzzz{z{zyyyyxyy|{zzzxzxyyzxyywzzyyyyyzyyyyxyyyzzyzzzzzzxxxxyyxyxyyzzzyyyyxyxyzzyxyyyzyyyxyyyxxyzyyyzy{yyyxyyzyyxyyzzyxyyyyyxxxyyyyxyzyxxyxyyyzyxyyyzzyxxyyxxxxzzyzzyyyyyyyyzxxy{yxzzyy{xyyxyyxxyzxzzyzyxyxxxxyyy{yzzzzzxyxyxyyxyyzxyzzyxyyyyyxyzzzz{zzyyxyzxyy{zyzzyzzyzxyyyyyzyzyz{zzyyzzzzxyzzzyyz{zyyyyyxyyzyyzzyyzyyxyyyyyyyzzyy{zyzyyyyyyzzzzyzzzzzyyyyyyz{zzzzyzxzyzzyzyzz{{z{{zzyyzyzyzzz{zz{{zzzyyyyyzz{{{|{zyzyyyyzzy{zzzzzzzzzyyyyzyz{z{zz{zyyzyyyyzzz{yz{{{zyzyzyyzz{zzzz{{{yzz{yyzzyzz{yzzyyyyyy{xzzz{yz{{z{yyyyzxy{z{y{zzyyyzzxyxyxzyz{xyzyxxxwxxyzxyyzzzxyyxyxyxyyz{zyyzyzxyxxyxyyyzyzzyyyyyxzyyyzyzxyzyyzxxxyyxyzyyyzzyyyyyxyyxzyyyyzzyzxyxyyxxxzzyyyyyzzyyyxyzyyyzyxyyxxyyyxwxyyyyyyzzyxxxxyyyyyyyyzyyxyzyxxwxxyxyyzzyyxxyyxxxyyyxyyyyyyyyyyyxyzy{yyyyyzyxyzyxyyyy{yzyyyyyzxyyzzzz{zyzyyyxxyxyyzz{zyyzzxyyxxyzzzzyzzzzzyyyxzyxyzyzy{zyzxyzxyyyy{zyyyyzyyyyyyyyzzzzzzzyxyyzxyyyyyzz{z{yyzyzyzzyzyz{zyzzyyzzyyyx{zzz{{z{zyyzzzzyz{zzy{{{zyyxyyzzzzzzz{z{zzyzzzxzyz{z{{{zzyzzyyyy{z{{z{{z{yzzzzyzzzyz{{zzzxyzyyzyz{{zzzzzzyxyzyzzyzyzzzzzzyyyyxyyyzy{zyzzzyzxxyyxyyyyzyxyyyxyxyxwzzyyyxyyzzxyxxyxyxzyyzyyyxyxxyyzyzyyz{zzxyxyxyxyzyzyyyy{xzyxxxyxzyzyyyy{yyyyxxyxyyyyzyyzzyyyyxxyyy{yyyyyyzxyyzxyyyzyyyxzxyyyyyyxyyzyyyyyyxxyxyxyzyzzzzyzxyyyyywyxzzzyzzyyyxywxyxxyyyyzzzxxxyyzyyyzyzyzzzyxyyyyyxzyyzzzzyyyxzyyyzyyyyyyzzyyzyyyyxzzyyyzyzyyzyyyyyyzzyzzz{zzzxzyyzyzzyzyyzzyyyyyxyyy{yy{zyyyyzxyyyzzy{yzzzyyyyyzyyyzzzy{{yyyzyzzzzzzz{|zz{zyzyyyyyzyzzzzz{zyyyzyyzzyzy{zzzzzzxyyzzzzzzzzz{{zzzzzzzz{z|{z{{yzzzzyzzzz{{z{zzzzzyzzyzz{zzz{z{yyzyyzyyyzz{zzz{zyyzyyzzzzzyzy{zzyyzxyxyzzz{yzzzzzyxxyzzzzzzzyyzyzxwwxxxyxyxyyy{xyzyyyxxyyyz{yzyzyxxxyxxzzyzzyyzzyzyyyxyyyzzxzzzzyxxyxxxyyyyyzzzzxyyxyyyyyyyzzyzyxyyyxxxyyzyyyzxyyxxxyyyyyxyyyx{xxyyyxyyyyzyyyzyzxyzyxxxyyyyzyyzzyxyxyxxyxzzyyzzyxxxyxxyyyxyyyzxxzxyxyxyyzyzyyyzyxyyyxyxyzzxyyzyyyyxzxyyyyzyyzy{yzyzyyyyzyzyy{{zyxyyyzyyyzzzyyyzyzyyzyyyzyyz{yzyzyyyyyxyyyzzyyzyzyyyyxxyzzzyzz{zzyyyxyzyyx{z{zy{yyyyyyzxzzzzzzzzyyzzzyyyzzzz{zzyzxzyyyzyzzzy{{yzyyz{yzzzzzzzz{zzzzyzyzzzy{y{z{{zzyzzzyyzyz{{zzzz{zzyywy{zzyz|yz{zx{zzzyzzz{{yyz{zyyyzyzzzzzzyz{zyzyxyzyyzzz{z{|zxyyyyyxzzyyyyyyxyyyyyxxwxzzyyzzyyyyyxyyyyzzxy{{zyyyxxyxyzyyyzzzyzxyyyyxxy{yyyyzzyzyyyyyyyyzzzzyzwyzyxyyyyyyzxyzzyyyyyyxxyyyxyyyyyyzyyyyyyyyyyzyyyxyxxyxyyyzyyyzyzxxyxzxyzyyxzzzyyyyxxxywxzzyyyzyyyyxyxyxxyyyyyzzyxyxxyxyxyyxyzzzyyzxyyyxxzyyyz{yzxyxyxyyyzzzyzy{yyxyyxyyyyyzyyzzzzyyyyxyzyyzzzzzzyzzxyyyyzyzzyzyzxzxyyyyyzzzxzzzyzzyzxxzzyyyy{yy{yzzyyyyyzzzzzzzxyzyzzzyzzy{yzzzyyzzyyyyz{|yz{y{zyyyzyzzzzyzzzzzyyzyz{yyy{zzzzzzz{yyyzzyyzz{z{{{zyyzyzzy{zzzzzzyzyyzyzyzzzzyzzzyyzzyzyyzzyzz{zzzyyyyxyyzzzzyz{{zzzxyyyyzz{zzzzzzyyuyyxxyzyyzyyyzyxxyyyxxxyyzzzz{yxyxyxxxyyyzyyzyyyyxyyxxzyyyzyy{yxyxyxyyxyzzyz{zyzyyxxyxxyxzzyyzxxxyxyyxxyyyyyyzzyyxzyyyyyyyyzzxyxyyxyxyzyzzyzyzyyyxzwyyyyyyzzzyzzyyyxxyyyzxyzzzyxyyxxxxyyyzyyzzyxyxyyxxxxyxyyyzyxxyyyxyyzyyyzyyxxyyxyyyyyyyzyzyzyzxzyyyyzzzzyzyzxzyxyzyyyyzyyzzyyyzxxyxyzzzzzzyyzyyxyyyxzzzyyzzzxyxyyyxyyzyzyzzxyxyyyyyzzzyyyxyyyzyzyyyyzzyz{zyzxyzz{zyzzy{{z{{zzyyxyyzz{{y{zz{zyyy{zzyyzzzz{z{yyyzyzzzx{yz{z{y{zzyyyyzz{yzz{zzzyzzzyzyzzz{z{{yzyzyzyyy{z{zzz{z{{zyyzyy{zzzzzz{yzyyyyzyyzzyzzy{zyyzzyyxzzzzzzzzzyyxyyyyzyzyyzzyyzxzyxxxyyxyyyyyyxyyyxyyzyzyzyy{yyyyxyyyzzzyzzzyyzzxyxxyzzzzyz{yyyyxxxzyyyyzyzz{xxxyzyyxyzxyzzzyzyyxyxxxxzzxyzyyyyyxxyxyzyzyyyyxyyyxywyyyxyyyz{zyyyyyxyyyyzxyzyzwyzyxxyyyyy{zyzzyxyyyxyxyyyyyzzzzzyxxxyyyyyyzzzyyyzyzyxyxzyzzxyzyyxyxxxyyyzyzyzzyyyyxyyyzzyyyzy{yxxyyyxyzzyyyzzzyzyzzyzyxzzzzzzzyyxyyyyy{zzyzy{zzyxzyzyyzzyzyzzzyyzzzzyyzzyzzzzzyyyyyy{yzzzzzzz{{yyz{yyyz{zzzzz{zyzzyzyz{{zzzyzzyzzzyzzzz{z{zzy{zyyyxzzzz{zzzz{{zyyzyxzy{zzzy{zzzyzzzyxyz{zyzyzzyzyyzzyyzyzzyzz{yyzxyzyyzy{zyzz{{zyyyzzyy{zzyzzzzy{xzxyxz{{zzzyzxyxxyxxxyzxzzzy{yxyyyxyxzyzyzz{{yyxxyxyxyyyyyzzzzyyxyyxyyzzzyzzzyyxxxyxyyyyyy{y{zyyxyxyxyxzyyzzxyyxyxywxyyyyyxyyyxyxyyxyxyyzzzyyxxyyyyxyyyyyzyyzyxxyyywxzyyyyyzyxxyxxyxxyyzyyyzzyxyzyyzyyyxxyzyzxyzyyxyyyyyyyyzyyxyyyzxyzyyyyzzzyyyxyyyyzyyyzzyyyyyyyyyzzyzzzzzzzzyyyxyzzyyzzzzzyxzyyzyzy{zzzzyyyyyyxzyxy{zzzz{yyyzyyyyxzzyyz{zyyyyxyyyxzyz{zzyzyyzyyzyyyzz{z{{{zzyyyxyyyzzzzzzz{yxzzyyzzzzz{{zzzzxzzz{yyyzzzzz{zyyyyzyzz{{{{||{zyzzyzyyzzzz{{yzzyzyyyzzzz{z{zzz{zzy{yyzzzyzz{z{zzyyzyyyzzzzzzzyzyyzyzyyzzzzzyzzyyyyzyyyzzyzxyyyxxyxzyxyyyyxzyzyzxyyyxyzyyzzyzzyyyyxyyxxzyzzzz{xyyyyxyyxxzyyyz{yyyyyyxxyyz{ywzzzyyxxyxxyxzyyyyzzyyxxyyyxxyzyyzyyyyxyxxyyyxyzyzyzzyxxyyyyyyyzyzzyyyyyxyyyyyyzzzzzyyyyxxxxyyyyyyzyyxyyyxxyyyyyyyzyxxyyyyxyyyyxyzzzxyyyyyxxyyyy{yzzyxxxyyyyyyyyy{yzyyyxxyzyzzzyzzy{yyyyyxyyzyzyzzzzyyxyyyyyyzzyzzyzyyxyyyyyyyzzzy{{yyyyyzyyzzzyyzzzzzyyzyyyz{zz{{y{zzyyzzzyzzy{zz{{zyyzyyyyy{y{{z{zzyzzzyzy{{zyy{z{zzyyzzzyy{zz{z{z{yyzzzzyzzz{zzzzzyzzyzzyzzzzzy{zzyyyzyy{{zyzzz{{zzyy{zyyz{{zzzzzzzyyyzyzzzzzzz{zyyxyyyzyzzzyzy{zyyzyzyyyzzzyyzxyxyyxyyxyyyyyxyyzyyyxyxyxyyyzyzz{yzyxyyyyyxyzyzzzyyyyyyyyyyyzxzzyzyyyxxzyyyyyzzy{yyyyxyxxxyyyyz{zyyxxyxyyzyzyyyzzxxyxyyyxyyyyyzyzxyyxxyyyxyyyyzzyyxxyyyyyzyyyyzyzzzyyxxzxzzyyyyzyzyyxxyyxzyyxyyyyyyyyxxxyyxzyyzzzyyyzzywxzzxyzzyyzyyzyyyyzyzyyyzzyxzxyyyyyyyyyyzzyxzyyxyxzzzyyzzyyyyzzyyyyzzzzzzzyyyyyxxyyzyzyzzzyyzzyzyzzyzzzzzyzyyyyyxyyzzzzzzyyzzyzzyzzyyz{{z{zzzzyzyyzzy{{{{zzyyyzzzy{{zzzz{{yzyyyzzzzy{zzzz{zyyyzzzyy{{{{{{zyyyzzzyy{zz{y{zz{yzzyzyzz{yzz{{zzxzyzzyyy{{zzz{{zzyy{zyzzyzzy{z{y{yzyyyxyzzzzyzyzzyxyxzyyzzzzzyzxzyxxyyyyzzxzzyzzyxyywwyyy{yyzzyzyxxxyyyxzzyyy{yzyyyyyxyzyzzyyyzyyyxyxxxzyyyzzzzwxyxyzyyyyyzz{zyzyyyxyxyzxyxzzyyyyxyyyxxzyzyyzzzyyyzxxxyzxzyyzyyxxyyxyxyyyzxzzyyyyyxxyyxyyyyzyzzyxzxyyxyyyyyxyyyyyyxyyyxzzyy{zzzyyyyyzyxzyyzyzyzzyyxzxyyyyyyzzzyxyyyyzyyzzzzzzyzyyyxyxyyyzz{xzzzyyyyzyzyyzzzzzzzyyzyxzxzyyyzyzzzzyyyyyxyzyzzyzyyzyyyzyyyyzz{{zzzyzyxzzyz{{yyy|zzzzyyyyxz{{zy{z{zzyyyzyxyzzyzzyz{{zzyzzyzzzz{{{|{zzyyyzz{z{{|{{zzzxyxzyyzz{{zz{z{zyzyzzzzzz{zzz{{zyzzzzyz{zzzzzzzyyzyyyyyz{zzz{{zyzxyyyyxzzzzzzzyyyzyyyyyzyzzzzyzxyyyyyxyyyzzyyzzxyyyyxyyyzzzzyzzyyyxxyxxyzyyyy{{yyyxxyxxyzzyyzyyyyyxxxxyyyyyyyxzyxxxyyzxyyyxyyzyyyyxxyxxyzyzxzyyyyyyxyxyxyxzxzyyyyxyyxyxxyyyyyzyzyyywyxyyyzyyzyzyyyxxzyxyxyyyy{zyyxyyxyxwyxyzyzyxyyyzxyxxyyzyyyyxxyxxxxyzz{yzzzzzyxzyyyyyy{zyyzzyxyyyyzzzzyyyzzyyyyyxyzzx{zzxz{zzxzyyxyzyzyzz{{zzzyxxyxzzzzzyy{yyxzyyyzyyzzzyzzzyzyyy{yzzyzyzzzyzzyyzzyyzzz{zy{zzyyzyyyxzzyy{z{yzxyyzzzy{z{yyzzzzzyyyxzzzzyz{|yzzyyyyzzyzzzzz{z{zyzyyyzyzzzzz{{{yyzy{yyzyzzz{zy{yzzyzyyzzyzzzy{zyyzyzzyyzyzzzzz{yyyzyzyyzyzzyz{zzyyxxyzxzzzxzyxyxxxyyyyyxyyyxyyxzyyyxwxxyzyyzyzyxxxxyzyxxzyyyyzyyyyxxxyyyyyyyyzzxxyxxxxyyzyyyzyyyxywywyyxxyyyzyyxxxxxxxxyyyxyyyyxxyxyyxyyxyyyxyzxxxxxxyxxyyyxyzyyyxxxxxzyzyzyyxzxyyyxyywxyyyyyzyxxxxyyyyxxyxxyyyyzyyyxyyyyyyyzyyyyxywxwxyyyyyyyzzyxxyxxyzyzyxyyyyxyyyxyyyzzyyyzyxzxyyxxyzyzyzzzyxyzyyyyyzzxy{yzzyyyxyyxxyzyzyyzyyyxzzyyxyyyzyzzzzyyyyyyyyyzzyyzzyyzyyyzy{zzzzyzzyyyzxyzxyzyzzzyz{yyyyzyxyzzyzyzzxzzzyyyyyzzzzzzzyxyyyzzyz{zzzz{yzxyyyyyyyzzzzzz{zyzyyyyyzzyzzzz{zyzyyzyyyzyyzzzyyzxxyxyyyzzzzzzzzyxxxyyyzzzzzyzzyxxyxyyxyyzzyyyzyxxxxzyxyyyxzyz{yxyyyxxxxyyyyyzyyyyxxzwyzyzyzyzzyxxwyxxzyxyyyy{zyyyyxyyyyzxyzzz{yxyxxzxxxzzxyzzyyyyyxxyyzzyyyyzzxxyyxyyxzyzzzyzyyxyxyxyxxyzzyyzywyxxxyxyzzyxzzzyyyyywyxxwxyyyyzzyzyxyvxxxyyxyyyzzyyyxwxxyzyxxzzyyxyyyxxxyyyzyxyz{zyyxyxxyzzyyzyzyxzyxxyyyyyyzyyzyyzyyzxyyyzzzyzyyyzyzxyyyzyyzzyyyyyyyzyyyyzyyzzyyyyyyxxyzzzyzzzyyyyyyyxyzzyzzzy{xzyyyyyyz{z{zz{zzyyxyxxzy{zyzzzz{yyyyz{zyzzz|{z{{zyzyyzyyyzzzzzz{yzyzyyyyzzz{{zzyzzzzyyyz{zzzz{zzzyyyyyzzzz{zz{zzzyzyyyz{zzz{yzzzyzzzzyxzzzy{yzzzyyyxyyxyzyzzzzzyyyxyyyyzzzzzzzxxxyxywyyyzyxyyyzyxwyyxxxyyyzyzzyyyxxyxyzyyyyyzyyyxxyxyxxyyyyyzyyyyyxyxxyyzyyzyzzyxyxyyxyyyyyxzyzzyyxyyyzyyzzxyyzxyyxxxyxyyxzyzyzyxzxyyyxwyyyyyzzyyyyxxyyy{yxyxxzxyzyyxxxyyzzyxzyyyxxyxxxyyyyyyzzyxyxyxyxyzzyxzyyyxyxzyyyxyzzzzzyyxyyxxzxzzzyzzyzyyyzxxyyxyxyyyyzyyyyyyyyzyzyyzz{zyyyzxzyzyzzyzyyyyzxyyyyyyyyyy{yzyyzxyyyyyzzzyyyyyyzzxyyzyz{zyyzyyyyyzzzyyzzz{{zxzxzzyzyzzzzyz{yzyzzzzzy{z{z{zzzzz{yyyzyy{z{zz{|{yyyzyzz{zz{zz{zyyyyyzyzzzy{yzzzyzzzzyzyzzzyyzz{yzyzzyzzzyyz{zzzyzzxyxyyyxz{{zzzzzxyyyxyyzy{yzyyyzzxyyxxyyzyzzzyxyxxxyyxxzzzyy{yzxxyyxyyyyyzzzzzyxxyxyyyyzzyzzzyzxyyxyxyyyzyyxyzzyzxyyxyyxyzzzzyzyxyyyyxyzyyxzzyyyyxxxyxxyyyxzyzyxzxyyxyzyyyyyyyxxyxyxyyyyyyzyzzyxyyxxxxxyzxzzzyyyyyxxxyyyyyyyzyxyxyxxyyy{yyyyyyyyywyyyxzyyxyzzzxyyyyyyxyyzxzyzzzyyx{xyyzyyzzxzzyyyyxxxzyzyzyyzyyxzyyyyyzyzzy{z{yyzyzxxxyzzzzzzyyyyyyyyzzzzyzyzzzxzzyzyzzz{zyzzyyzyzzyzyzz{zyzyzxzz{zzyyzzzzzz{{zyyxxyyyzzyyzyzzzxzzzyyzzzzxzz{{zyyyzyzyzzz{{zzzzzyyzzyzz|{z{z{|{zyzzzyzzz{{zzzzzyyzzyzyzzyyyzz{yzz{yzzz{zz{z{{zzxzzzzzyzzzyzzzzzyzyzyyxz{zyyyzyzxyyyxyyyzzzzyzyyxyxyxyxyzyzyyy{xxyyyyyyzyyyzzzzyyyxxyyzyyxzyzzyxxyyyxxyyzyzzyzyxxyxyxyyyzyyzyyzyxyxyyyxyyyyyzyyyyyyyxyyyxyyxzzyyyyxyyxxzxxyzzzyywyxyzxyzyyyyyyyyxxxxyxyyyzzyyzyzxyxyxyxzxyzy{zzyyyyxxyxxyxyyxyzyyxxxyyxxyzyyzyzyxyyxyyyxzzzzzzxyyyyyyzzyzyyyyzzyxyxyzyyzzyyzyzzzyyyxyyxzyyyyzzzyxzyyxyyzyzyyyyzzyzxyyyyyzyyzzzzzyyyyyyzzz{yyzzyzyzxzyzyzy{yzz{zyzzzyzyyyzz{y{{{yyyzyyyy{zzyzz{zyyxzzxyy{zzzzzzzyzzzyzzyzzzy{zz{zxzzyzzzyzz{z{zzzy{zyyzzzzy{{{z{zyyyzyyzz{zz{{zzzzyzzzzyyzz{zzyz{zzyzzyyzzzzz{{z{{yzyzxyz{zzyzzyyyyxyyyxyyyzyyzyyyyxyyxyyzzyyyzxxyxyxxywyyzyzyyyyyxyyzyyzxzyyzyyxyxyxyyxzyzyyyy{zyyxxxyyzyyyxzzyyxyxyyyxyyyyyyyyxxyyxyxyyyyyxzyyzyxyxyxyyyxyyxzyxxyyyyyyxyzyyyyxyyyxyyxyyzyyzzyzzyyyyyyyyyxzyyzyyyyxyyxyyzzyyzyzxxyyyyzyyyyyzyzzyyyyxzwxzzzzzzzyyyxyxyxxyzyzyyy{zyyxxyzyyzzyyzzzyyxyxyyyzzyzyzzzzyzyzyxyzzyzyyzyyy{zzyyxzyz{yzzyzyyxyzyzzzzyyzzyzyyyyyyyzzzzzz{{zzzyyzzzyzyzzzzzzzyyzyyy{zzzzzzzyyyyzyzzz{yzzzzzyyzzzzyzzzyzzzz{yzzzzzyzz{{{zzzzzyzzzyzyzyzyz{y{{yyyyzyzzzy{zzz{zyxyzyyz{{zzzz|zzxyzxyyyzzz{z{{yzzyxzyzyyzyzzzzzyx{yyxzyyzyzyyyyyxxyxxyywyyyyxxyyyxyxxyxy{yyzyzzyyywzxyxyyxzyyzyyxyyyyxxzyzyzyzyyyyxyxxxyyyyzyyzzxyyxyyxyyyxxyzyyxxyyyyxyyzxxzyyyyxxxyyxxyyzyzyyyxyyxxyxxzyyyyzzyxxyxyxxyyzzyzzzyxyyxxxyyzyzyyzzyxyyyxwyzyyyxyyyxxzyyxyyyzyyxyyyxxyyzyyyzyzyyyzzzyyxyyyyzzyyzzz{zyxywxzxyyyzxyzzxyzyxxyxzzzyzzzzyyyzyyyxyyzzzyzyzyzzyzyyyzzyzyzzzyyyxyyyyzyzzzyyzyyxxxxyzyzzzz{zyzzyyy{y{zzzyzzzyzyxxzxyzz{z{y{yzxyzzyyy{zyzz{{|zzyyyyzyzzyzz{{zzzzzyzzyz{zz{zzzzyyzyzyyzy{|y{{y{yyyzyyyzzyzzzzyyzyxzyzzzzyzzz{yzzzxxzzyzzyyzzzzzyzyyzyyyzzz{z{zzyyyyxyyyyzyzzyzxxyxxxyxyzzzyyzzyyyyywxyxyyzyzyzzyxxyyxyyyyyzzzzxxzyxyyxyy{{zyy{yyzyxxzxyyzyxzyyzyyyyyxyyyxzyzyzyxxyzyxxyzyyxzyyyxxyyxxzyyzzxyzyyyyyxyyxzyyyyyzyzyyyyxxyxyzyyzzyyyzxxyyyyzzyzxzyyyxyxxyyyyyyxyxzyyyxxxxxxyyyyzyzzxyyyyyxyzzzyzzzyxyxyyxyzyzyzyzyzyyyyxzyzyyzzzz{yyyyxyxyyz{zzyy{yxzzyyyyxzyy{zyyyyyyyyyxzzzzzzzzzyyyyyzyzzzyzzzxzyzyyzyyzyzzzzzzzyyzzyzz{zyzz{zyyyyyzyyzzzzzzzzzyyyyyzyyz{zzzz{yzzyzyzzy{y{z{{z{zzzyyyyyzz{{zz{{zyzzyzzz{{{zzz{zyyyxyyyzzyzz{z{{zzzyzzyy{yzzzyzzyyyyyyyyyy{y{zzzz{xxyyyxyzyzyzyzzyzyyyxyy{zzyzyyyyyyxxxxyzy{zzzyxyyxyyyyyzxyyzzzzzxyxyxxyzyyzzzxyyyxyxxyyyyzyyzzyxyxxyyxyxyyy{zyyxxxxxyxyzyxzyzyyyyxyxxxyyzyyyyyxxyxyyxyzyyyyyyxxyyxxxyyyyzyyyzyxyxyyyxxxyyzyyyzxyywxxyyxyyyyyyyzyxyxxxzyyyyxyyzzyxxxxxxyzyzyyyyyyxyyyxyyyzzyyzzyyzxyxyyyyzzyxz{yxzyxyyyzyzzyyzzxyzyyyyyyzyzzyzzyyzyyxzyyyzzyzzzyyzy{zxyz{zzzyzzyyyzyyyyzzzyz{zyzyzyyzyyzzzzzzzzyyyzzyzyzyy{zzz{yzzyzyyzzzzzzzzyyyzyxyyyzzzz{{zzzzyyy{{yz{zzzz{{{zzyzyzyy{z{{z{zzzzzzyyx|{zyzz{z{yzx{yyyzzz{yzzzzzyyz{zzzy{zz|{zzyyyyyzyyzyzz{|zzyzyyzyxzyzzyzzzyyyyzyxyzzzyzxzyyyxxyxywxyyyxyyyzwxyyyxyyzzxzzzyxxyyyyxyyyyxzyzyywzxxxxxyzzyyyyyyyyxxxywxyzzzyzyyyxyxxxxxyxyxyyyyyyxxxyyxxzzxzxyyyyyxyxyyyxyyyyywyxyyyxyzzxyyyyxyxyxxyxyyyyyyyyyxyyyxyxyyyyyzyzzyyxxyxxyxxxzyzyyxyyyyzxyxyyxyyzyyxyxxyxyyyyzxyyzyyyxyyzyyzzyyzy{yyyyxyyyzxzzxzzyyyxxwyyyxxzyyzzzyyyyyxxzxyyzxyzzyyyyxyyyyzzyzyzzyyyyyyyxyzxzyzzzzzxzyyyyyyyzzzzzyzyyzyyyzyzzyzyzyxzyyyyyzzzy{zzzzyyzzzyzz{zzzzzzyzzyyyyzy{zzzyzzzzyzyzyzyyzzzzzzzyyyyzyy{zzyz{zyzxyyzyyzyzzz{zzz{zzzyz{yyzzzy{z{yyyyzxzyyyyzyyzzzzyyyxyyyzyzyzzyzyyyyxxxzzzyzyxxyxxyyxxxxyyxyyzzxxyxxxyxyyyyyyyzzxxyyzxxyxyyyzyyywxxyxyxyyyyyyyyxyyxyyywyyzyyyyyyyxyxyxxyyyyyyxyyxxxyxxxyyzyyzyyzxxxxxxyzyyyyyyyxxyxxxywx{zxyzyyyyyxwyxxyyzyzyxyxxyyxxxwyyzyyyyyyyxwyxyxxyxxzyxzzyyyxyyxxyyyxxyyyxyxyxyyxxyyyyyzyyyyyxxxzyyyyzzzzyxyyxxxyzxyzzyyxxxyxxyyzyzzyyzzyyyyywyyxyyyzzyyyyyyxxyyxzyyzyzyyyyyyyyxyyyyyzzzzzyzxzyyzzyyzz{zyyzyzzyzzzzzzzy{zyyzyzyyzzzz{y{yzyyyyyzyyzzz{zz{zyyzyyyzxzzyzzzzzzzyyzyyy{{{zzzzzyzyyzyxzzzy{zzzzyzxyyyyyzyyzyz{zyxyyxyzzzzyz{zyyyzyzzzzzyzzzz{zzyyyyyzzyyzyyxz{yyyyyxyyyy{yyzyyxyxxxxyxxyyyyzyyyxyxyxxxyyzyyyyzxyyxyxxxxxxyyzyxzyyyyxxyxyzzyyyyyxyxwyxxzyxxyyyzwxxyyxxxyyyyxzyyyyxyzxxxyyzyxyxyyyyxxyyyyyyxyyxyxxyxyxwyyyyzxyzyzxyxwyxyxyxyzyzyzyyxxzywyz{yyyzyxyywxxxxyxzxxyyyyzxyxyyxxyyxyzyyyyxyxxyxyyzzzyzzzyxxzxyyyzzwyzyyxxyyxxyyyzxzyzzyyyzyxxyxyzzzzyyyxxyxyyyxyzyyzzzzzxyyyyyyxyzzzyyzyyyyyxxxxyzyyzzyyyyyyyyyyzzyyzz{yyzyyzyyzzzzyzzzyzyyyyxzyyzzyz{zyyyzyyyyzyyyzzzzyyz{y{zzyzyy{yyzzxzyyyxyz{zzzzzx{yyyyyzzzzzyzzyzzyxzyyyyyzy{zzyzyzyyyyyxzzzzyzzzyyyyxyyyx{zxyzz{zyyyyyxyz{yzyzzxyzyyxxyxyzyzyywyyxxyxxywyyyyzyzyyxyyyyyyyyyyzyzyyyxxyyyyyzyyzzzxyxyxyyyxxyyzywzyywyyxxxyzyzyyyyzyxyyxyyxyyyxyyzyyyyyxxyyzyzxyzyyyxxxxyxyyyxyxzyyxxxyxxxyyyyyyyzzzyxxwyxyyyyyzzyyyxwyyyxxxyzyxyzzyxywxxxxyyyyxyyzzyxxxyxyxyyxxyzyyyyyyzywyzzyyyzyyxyyxyyyyyzyyzyzzxyyzyxyxzyzyyyyyyyyyyyzyyyzyzyzyxyyyxzyzzyyzzyyyxxxyzxyyyzyzzzzyzxzyyyzyzyyyzzzzzyyzyzyzyzzy{zzyyxyyyzyyyyzzzzzyzyxyyyyyyzzzzzyyyyyyyyxzzzy{zzyzyzzy{zyyyzz{zzz{yzyy{yyz|zz{{{zzzzyyxyyzyzzyyz{yzyzzyyzzzzzzyz{zyyyy{zy{{y{z{zzzzzxyyyyyzyzyy{zzyyyzyyyyzyzzyzzyyzyywyyyyyzzyzyyyyyyyxxyzyzyzyzyyyyxyyxzzzzyyz{yyyxyxxyzyzyy{zyyyyxxyxyyzyyyyzyyzzyyzxyyyyzyz{zyxyyxyxxyyyyyyyyyyyyzyyyzy{yyyyyyxyyyyyyyyyxyzzxyyyyxxyxyyxzzzzzyyyxwyxzyyyyzzzyyyyxxyyyzyyyzyyzyyzyzyyxyzyzzzyyzyyyyyxxxyzyyyzzyxyyyzyyxzzzyyz{zyyyyyzxzzzyyzzzyxxxxyyyyyzzyy{zyyyzyyyyzzyzyzzzzxyyzyyxyzzyz{{zzyzzyyyzzyyzzzzzzyyzyyyy{zzyzzz{zxyyzzyz{zzzz{zzyzyyzx{yyzy{zz{zyyyzzyyyz{zz{zyzzzyzzy{yzzzzzz{{yzzyzzzyyzyz|z{zzyzyyyzzy{{zz{{{zyzyyyzzzzzzzyzzzyzyzxyzzzzzzz{zzzyyzyyzzy{z{y{{yzyyyyzyzy{zzzzzzzy{yyyyzzzzzz{xzxzxyyxyyzyyzyzzyyyxyxxyxyyxyyyzzyxyyyywxyzzz{yzzyyxyyyxyyyyyz{yyyyyyyyxyzzzzyzyyyyxyyyyzxzyy{zzxyzxxyyyyyyyyzyyyyxyyyyxyzyyyyyzyzyxyyxyyyzyzzyyyxyxxxyyzyzxyzyzyyyyxyyzxzyyyzyzyyyyxxyyyyyzyyzyyxyyxyyxyyyyzyyyxyxyxxyxxzzyzzzyyyyyzyxxzzyzzz{zzzyxzyyyyyyyyyz{zyyyyxyyzzzz{yyzyyyzyxxyyyyyz{zzzyzyyxyxyyzzzyzzzyyyyyyyyz{yyz{zzyyzyyyyzyzzzzzzyyyxyyyyyyzzzz{zyzyyzyzyyyz{zz{{zyzzzyyxy{{{zz{zzy{z{xyz{{{yzzzzy{zyyyzyzzy{{z{{{zzyzzyyz{zz{|{{zzzzyzyyz{{{x{z{yyyxyzyzzzzzzy{{{zyz{zzzyzyzzz{{zyzzzzyy{|zzzzz{zzyxyzzyzyzzy{{zyyzyyyyyyz{zzyyyyxxxxyxxzyxyyyzyyyxxyyyyyyxyyyzzyyyxzzzxzyyyyyzyyxyyxxxxxxyzyyzyyyywyxyyyyyyxzyyxyyyyxyxxzyxyzzzyxyyxxyyxyzzyyzyyxxxxxyzyyyyyyzyyxyxxwxyyyyyyzzyyyyxyxyyxyyyzyzxzy{ywxxyzyyyxyzzyzyyxxzxxyxxyzzyxyyxzxyyxzyzyzzzyyzxyxxyyyzzyyzzzyyyyyxyyyzyzyzzyyyyyxyyyyyzzzyyyyzyyyyyzyyzyzyzyyyyyyyyyzyzy{zyyxyzyyxxzyzzyyzyyyyzyyyyyzzyyzzyzyxyyyyyxyz{yyzzxyyyzyzyzzzyyzz{zxyzzyyy{zzzzyz{zyyyzyzyz{yzz{z{yzyyyyyzyyzzz|yzzzzyyzzzy{yz{z{{zzyyyyzzyzzzz{{zyzyzzyyyyyzzzzz{zzyyyyyzxzzyz{{yyzzyyyyy{zzzx{zzzyzyyzzyzzzzzzzyyyzxzyyyyyyxzyzyxxxyyxxwyyyyxxzyyxyyyxxxzyzxyzzyyyyxxxzxyxxyyyzyxxyyzxxxxxyyyzzyzyxyxxyxyyzyxyyzyxywyyyxyzwyyyyyyxyyyzxwxxzyyyzyyyyxxxxxxyxxxyyyyxxyyxyxyyzyxyzywwyxxxxxzxyyzzzxxxxyxxxyxzzyyzzxyxyxyyxxxxzxyzyyxyyywyyyxyyyxyyzxyxxzyyxyyzyyyzyyyyxyyyyxzzyzzyyzyzyxxyyyzyzyzzzyxyxyxyyzyyyzyyxyxyyyyyyyyzzyzyyyzxyyyxxxyzzyzzyzyyyyxxyyyyyzyzyzyyyyyyzxzyyzzzzyzyzyzzxzzzyzzzyyxyyzyyyzzzz{zzzzyyyzyyzzzyz{z{zzzzyyzyzzyzz{yzyyyxyyyxzy{z{{yzzyxyyzzzzzy{zzzzyzyyyyyyzyyyzzy{zyyyyzyyyzzyyyzz{yzyxyyyyzzyzyzzzzzxyyyyyxz{zzzzzxxzyyxyyzyyzyyyxxxyyxxxwyyxyyyxzyxyyxywyyyyyyyyzyyxxxyxxyxyyz{zzyyxxyxyyyzzzxyzyzyxwyzyxxxzyyyzyyyzyyyxyyzxyxzyyzxxyxyxxyxzxyyyzyzzxxyxxxyyyxyzyyxxwyxyxyyxxyzyyxxxyxxwyxyyyyyzyzyyyyxxxyyzyyyyyyxxyyxyxxyyxzyyyyyyxyyxxyyyzzzyyyyyyxxyyyzxzyyzyzyyyxzyzyyzyzzyzyxyzyyxzzyyyzyyzyyyxywxxzyzyzzyzyyzyyyzyzzyyzzyyzyyyyyxxzz{yzyzyzyyxyyyxzzzzzzzyzyywzxxyy{{y{{zyyzyyyy{yyyzzzz{{zzzzzyyyz{z{zzyyzyyzzyyzyzz{{yy{y{z{yyzzzzz{{zzzzyyyyyzyz{zzzzzzzyyzzyyxzzzzzz{{zyyzzyzyzzzyzyz{zzyyyyzzyzzzz{zzzzyyyyyyzyyyzy{zyyyyxyzyy{yzyzzzyyxxxyxyzzzzzyyyzxxxyxxxx{zyxzzyyyxyzwyxyzyxzyzzyyyyxyxxxyyyxzzzxyxxxxxyzyyzxxy{yyyxxyywyzyyyyzzxyyxyyyxzyxyyzzyyxxxxyxyzxzwxzzxxyyxyzxxyyxzyyyyxyyxxyxxyyyyyzzyzxyyxyxxzyyzzyyyyyyzxxxxyyzzyzyyyyxxxxyyyyyyzz{xzxxyxxyxyyzyyyyzyxxyyyxyyzxzzyzzyyyyxxyxyzyzyzyyyyyyxyyyzyyyyzyzxxyywzyyyyzyyzzzyzyyyxyxxzyyz{yzyxyxyzxyyyzzyz{yzyyyzyzyzzyyzzzyyyzxyyxyzzzzzyyyyzyyzzyyyz{{{zz{zyyzyyyyzzyz{zzz{xxyyyyzy{{zz{z{yzyyzzzyzyxzz{zyzxzyzzyzzzzzyzzzzyx{yyyyyzzzzz{zyyxyyzzyzyzzzz{zzyzyzyxzzzyzz{yzzyyyyzyxyzzzyy{zyzyzyzxyzz{{yyzzyzyxzzyxzzzzzzxyxxxxyxxxxyyyyyyyyyxxxxyyyyzzyyyzzxyxyyxwzyyzyyzzyyxxxyyyxyyzxyyzzyyxxxxwyyyyyzyyzxzyyyxxxyzxzyzyzxyzxxyyyyzyyyzxxyyxxyxyzxyyyyxzxxxxyxxyyyxyxzyxxxxyxzxxyyyxzyyyyxxxwyyxxzxxyyzyyxyxyyyxxyyyyyyxyyyxxyxxyyyxyyyyxxyxyxxxxyyxyyyyxxyyxxxyyzyyyzyzxyyzyyxxyyyyzzyzyyyyzyxxzyzyzzzzyxyyyxyyyzyxyzyyyyxyyyyyyzyz{zzyyxyxyyyzyy{yzyyyyyyyyyyyzyyzzzzyxyyyxyzyzzyzzzz{yyyyyxyxyyyzyzyzyyyyxzyyz{zyyz{zyzyyyyyyyzzzzzyzyyyyyyyzy{{zzy{zzyyzzyyx{zyzz{zzzzyyzyyyyzyzzyyz{yzyzyyzyyzzzzzzyyxyyzyzzzzzyyyzzzyyyyyyyyyzyzzyyyyxyyxyyzzyyyyyxxxxyyyyxzzxyyxzxxyxxxxyyyzzyzyzzxxxxywyyxyyyzyyyxywxxxxxyyyzxyzxyyyxyxwxyzxzzxyxyxxxyxyyyyxxyxyyyywyxxyyzyyxyyyxxyxxxxxyyyyyxxxxyxyxxxxyxyyxyzxyxywyxxyyyzyzyyyyxyxxxwxyyyyyyyzxyyyyxyyxzyxyxyywxyxxywyxyyxxzyyxxzyyxxxyyyxzzyyyxxxyyyyyyxzyzyzyyyyxyyyyyzxyzyyyzyxzxyyyyzyzz{zyyzyxxxxyyyyzzyyyxyxxxxxyzzyyzyzyxyyxxyyyyzyyzzyzyxxzzyyywy{xzyyyyyyyyyyzzzzzzyzzzyzzxyyzzz{zyzzzxxxyyzyyz{zzzyzzyzyyzzyxzzyzzzzzyzyyyyyy{zzyzzzyyzyyyyyyyzz{zz{yyxzyyzzy{zzzzzzzyxzzyyyzzzyzy{zzyyyyyyyyzyzyzzzzyyyyzyxyyyzyzzyzyyyyxxyyzyy{yyyyxxyxxxyyyzxyzyzzxyyxywyzyzzyzzyyyyxyyyyyzyyx{zyyxyxxxxyyzyyyyzyxyyxxxxxyzyzxyy{zxxxyxxwyyyyzyyyyywxyxyxyxzywyyyxyyxyyyxyxyyyyxzxyxxyxyyxzyyyzzyzzyyxyyyyyzyzyyyxxyxxxyxxyz{yyzzyxyyyxxxxyzyyyyzyyyxyzxyyyxyyzzzyxyxyyxxzzzyyyyyyyyyywyxxyyyyzzxzyyyyxyyzyyz{yzzxxyxwxxxyzyzzyzyyyyyzxxxyzyyzzzzzyyxyyxyxzzxzy{zyyyyyyxyzyyyyzyyyyyyyyyyzzyzzyzyyzzyyyzyyyz{yzz{yyyzyyzyzzzz{y{yzyyzzxyxz{yz{{zzzyyxyzzzxzyyyyzy{zyyyzxyyzyyz{z{{yzzyyyzyzyyzzzzzyyzzyyyzzzyzzzzyyxzyyxyyy{yz{zzzzzyyzyyzzyyyzzzzyyyyzxx{zyzyzyzzzxxyxxyyyyzzyyzxyyxyxyyzyzzyzyyyxyxxyyyzxzzzy{zyyyxyzyxyzyyzzzzyxxyxyyxyyyzyyz{yzwyxyxxyyyyyyy{yxxyxxyxxyzyyzzyzyywyyzyyyzxyyzxzyyyxyxxyxyzzzyzyyyxyxxyyzzzxzzyxyyyxzxyyzzyzyzzxyyxyyyyyzyyyzyzxyyyyyyyyxyyzzyzyyxxyyyyyyyy{zzzyxyyyzxxxyzyyzzzxxyyyyxxzzzyzzy{zyyyxxzxzxzyy{zyzxyyyxyyzyzzyzzzyyyyyxyyyzyyzzzy{yxzxyyxy{z{yz{yzyyzyyyz{{zzzzz{zyyzzyzzz{zyz{zyyyyyyyzzzzzzyz{|yyyyyyxyzzz{{zzyzzzzyzzy{{zzz{zy{zzyzzyzz{zzzz{{{yyyzzyzzzzz{zz{{yzyyyzz{z{{yz{zzyzzyyzyyzzzz{z{zzzyzzyzzzz{zz{{yzyyyzyyzzyyzz{{zzyxzyyyyyzzz{{yzyyyyyyyzz{{zyzzyyyywxxwyyyzxyyyzyxyxxxxyzyyzzzyxxyyxxxxyyzyyyzyyxxyxyyxyyxyxzyxyxyxxyxxyyzyyyyyyyyxxxxyyxxyzyyxyxxyyyyxyzzzyzyyxyxyxyxyyzyyyyyyxyxyyxyxzyyxxxzyyyxywxxyzyzyyzyyxxyxxxyyyyzyzyyyxyxxxwyyyyxxzyyyyyyxyyxyyyyyzzzzywyxyxxyyyyyyyzzyyyxxyyyzyzzyzyz{xxyyxyyyzyyzzzyyyxyxxyyzyzyyzyzyxyyyxyyyyyzzzyzyyzyxzzyyzzzyyzzyxyyxyxyyyyyyyzzzyzzyzzxzyzzzzzzyzyxyyyzyyyzy{yz{yyzxyyxyyzzzzzzyyyyyzyzz{zz{zzzzxxyyyyyyzzz{zz{zyyyyyyzzzz{yz{zzyzxyyyyzyyzzzzzyxyyyyzyzzzzyyzyzxyy{yxy{zz{zzyzyzzyyyyyyzzzyzzzzzyyyyyyyzyzyzzzzyyyyyyxyyzzzyyyyyxzxxxxxyzyzz{zyxxzzxyyyzyzy{y{yxxxxxyxyyyyzzzzzxyyyxxyyyxyxyzzyyxxxyyxyyzzyyyzyyxxyyyxyzzyyzyyzyyyxxxyyyzyxxyyyyxxzxxxzyyyyxyyxyyyyxyyxyyxxzyyyxxwxyxyxyzzyyzzyxyyxzyxyyyzzzyyyxyxyxwyyzxyyzyyyxyxxxyyxyyyxzzzyxyxyyxxzyyyyzzyzzzxzxyyyxyyyzyzyyyyxxxyxzyzyyzzxyyyxxwyzyyzzzyzzyyyyyyyyzyyzzzzzyyyxxyyyzzyxzzxyxyyyyzyz{zyzzzzyzxyzyyyzzzzzzzzyzzyzyxyyyy{yyz{yyxxyyyyyzzyzy{zzxyzyyzyzzyzzz{zyyyyzzy{yzzy{{{{{zzzzyy{zzzz{{{zzzzzyyzyzz{z{{zzzxyyxyzzzzzz{zzzzyyxzyyzzzxzzz{{yyzxyyyyxxz{zz{zzzyxyyyyyyzzz{zzxzyxxyzxzxzzyy{xxxwxyyxxxyxyxyzyzyxxxxxyyzxyzzzzxyxyyzyyyyyxyzyyyyyyxyyxzyyyyyyzzyxxyxyxyxzyxyyyyyzyxyxwyyzyyxyyxyyyyxyxyyxxyzyyywxxyyyxyyxyyyzzyyxxxxyxxxzyyyyzyyxxyxxyyyyyyyyxyyxxxyyxxyyyzyzyywxxywyxyyyxyyzyxxyxxxyyyxxzyyzzxxxyxxxxxzyyzz{yyyxzzxyyzxzyzzz{zyyyzxyyyzyzyzzzyxyyyxxxzzzyyzyzyxzxyxyxyyzyyzzzyyyyxyyxzyzzxyzyzzxyxyxxzzyyzzzyyyyyyyyxxzz{zzzzyyyyyyzyzzzzy{zzyyyyyyxyz{{{yyzz{xzyzyzyy{zzzz{{zy{yzzyzzzyz{zy{zyyzyzzzzzzz{z|zzzzzyzxyyyz{{zzzyyyzyyxzzzzzzz{{{zzyyyyyzyzzzyyzzyyzyzyyzzyzz{zzzzyzyyyyzzyzzyyyyyyyyyyyzyyyzyxyyxxxxxxxyzyyyyzzyyzxyxxyyzyyyzzzyyyxyyxyyyyzzzzyzyyyxxxwzy{yxyzzyxxxxxzxyyyyyyxyyyyxyyyyyyyxyzzyyyxxyyxxxyyyyyyyxyxxxyxyyyxyyyyyxyxxxxxxyxyxyyyyyxxyxyxyyyyxyyxyxxyxyyxyxyyyyyyyyxxyxyyxyyyxwyxzxyxwyxyyyyyyzzzzyyyxxyxxzyxyyzyyyyxyxxyxy{zyyyzyzyxyxxyxxyzyzzyyxyyyyyxyyzzyyyyzyxzyyxyyxzyzy{yyyxyxxxxyzyyyyzzyyxxzyxyzyyyzyyz{{zyxyzyyyyyy{z{yxyzzyzzyzzxzzz{zzzyxzyzxy{zyzzyzzxyzyyyxy{zzz{{{yyzzxzyzyyzzy{yzzyzyzyyz{{zzzz{{zyyzzyyxzzzzzzzzzyyzyyyzy{{yzzzzyyyyyyyyzzzzzyz{zyyyyxxyzzyyz{{zyzyyzyyyzyyzzyzzzzyxyyxyzzzzzzyyxxxyxyxyyzzxyxzyyyyxyyyyyzzyzzyzxxyyyyyxyyyzzyyzyxxxwxyxyyzyyyyzzzyxxyyyyzyyyzyzyxyyyyxxyzyyyzzzxyzyyxxyxyzxy{yyyzxxyxyxyyzyyyyzyyzyyxyyxyzyzzzyyxxxxyxyyyyyzxx{yyyyxxyyyzzyzzzyzxyyywyxxyyxyzyyyzyxyxxxxxyyyzzyyyyxyxyxyzzyzyzyxyyyyyyyyzzzyzzyzyzxyyzyzxzzzzzzyyxxxyyzzzyyyzzzzxyyxxyxzzzz{zzzyzyyxxxyzzzzyz{zyyyyyxyyzyzzyzyzyzzyzyyyzzzzzzzzzyzxyyzzzzyzzyzzyyx{yzyyzzzzz{z{{yzyzzyyy{y{yzzzyzyzyyyyzzzzzz{{{zyzzxyyzzzz{z{zzyzyzyzzzzz{zzzzzzyyzyyzyx{zzz{{yyzzyzzyzyzzzzzzzyzxyzyy{yy{zz{{zyzyyyzyyyzxzzyzyyzyyyzyyzzzy@Fu:?a{{{zz{|}||}|||{||{{|{z{z||{||}|{|{|{{zz{{||{|{{|{{z{{z{|||{{{||{{{{z{{z|||||{|{{{zzz{z|{{{{{{|{z{{z{{zz{|}{|{{|{zz{y{z{z{|{z|||{{{z{yzz{{|z{||{{|z{{{z{|{{{|{{|{z||zzz{|{|{|{|{{|z{zz{zz{{{{{|||z{zz{y{zzz{{|{|z{{z|{{{{{{|{}}{{{{{{z{z|{z{{}||{{|zzz{{||{|{{||{z{|{{{z{{||{|||{z{z|{{{||{|{||{{{{{{{z{{{|{{{}{|z|z|zz{|{{{|}||||{z|||{|||||}z{{|{||{{{{{||}||||{{|{{{{}|||||||{|{{{{|{|}|||||}{{{|{}||{|||}||}|{{z{{{|||}||||}|{{{|{{{|}|}|||}{{z{|||||{{|{{||||{|||{|||{{|||}{|{{||{z{||{||||||z{{z{{{|||{{|||{|{z{{{|{{|{|||{}||{{|{}|}||{||||{||{{{{|||||||}||{{{{{||||}~|}|||z{y{|{{|||||||{{|{{z{|||{{}|||{{{{{{{{|||||}}{|{|{{z{{||||}|{||{z{{{{{{|{{|}|zz{{{{{{{{||{{|{{{z{{{z{{||{||||{|{|z{{z|{{}|z{||{zz{z{z|{|{{|{|{||{{z|z{{{{{||||{{z|{{{|||{|{}|{{{||{{{z||{{|}|{{|{|y{z{{{{{}}|||||z{zz{|}{||}{{|{z|z{{||{}|||{{{|{}{{|||}||||{}{{|{z{{||||{||||||{|z|{}~||}|||||{{|}}{|||||}|}|{||{{|{||}|}}}|}{|z}||{|}{|}}}}{{|{{{||||||}}}}}{|{||{|{}|}}|}|||}|{{|{|||}}|}}||{||||||||||}}}||{|||{|||||}|||||{{|{||{}||||||||{{||{{|||}|||{||{||{{z|||{{|}|z||{{z}|{||||||}|{|}|{|{|{{|||||{{{{{{z{}}{{||}||z{{|{{{||{}|||{{{{{{{|z|{{|||{|{{{{{zz{||{{{|||{{||z{{{|}||||||{{z{{{|{{{{|{|}{z{z{zz|{{{||{{{{{zzz{{z{||{||{|{}z{zz{zz{{||{{|{zz{{zz{z{{zz||{}{||z|z{z|{z{{{||||zz{{{{{|||{|||||{z|z{z{|{z{||{{{|{||{z{{z|||||{{{{{{{|||{{{{{|{{||{{|{{|{||}|}z{{{{{{{|||{|{|{||{||{{||{{{{|{|||{{{|{{||}|}{|}{{{|{z{|{|||||||{|z||{{{||{||}|}|z{{z}|{}|}}||||}z{{||||||||}}||||{{||{|||||}}|~||z{{{|{|}}|{}}|}{{|||||}{}||||}}|{|||{|}{}{|}|}||{|||{{{{|}|||}|{{{{z{{||{{|}||{{{|{{|{{{||||{{{|z{{{{{{}||}|}}|||z{|{{{|||||}|{|{{|{{{|z{||}|||{{{zz{{{{|}{{||{{|{{|{{{|||{{||{{{z{{|{{||{{{}|||z{{{zz{{{|{|{{||zzzz{{{{|{{{{{{{zz{z{z|z{{{{{{{zzzz|z{||{{{|{|{||{z{z{z{z||{|{|{{zzzz{{{{z{{{|{zzz{zzz{{{{{{||{{z{|{{z{|||{{||{z{{{{{|{{|{|z}||z{{{{|z|||{{{|{z{|{z{{|{|||||{|z{{{{{{|{||||||{{{{{z{z{{||{{|}{{{{||{{{}|{}||{||{{{||{{{|||{||||{||{{{{{|{}|}}}{{z||z{{}|}{{|}}{{{|||z{||{|||}{|{{{{{||||{{}{}}~|{{|{{{z||}|{||||{{z{|{}|||||}||{{|||{||||{}{}}{{{}|{{|}{||{|{}|{{{{{|{{|{|{||}{{z{{{{|||||{||{|{{{{z{{|{{{|||||||{||{{|||{|}}||{{|{{{{}||||||||||{|z{{|||{{|}|{|z{{|{{|}|||}||}||{z{{z{{||||z{{{|{|{{{{|{{{||{{{{||{{{{||||{}|{{z{zz{{||||z}||{{{{{{{{|||{{||{{y{{z{z{{{|||||{|{{|z||{{|{{{z{{|zzz{{{{{{{{{||{{{z{{{{{{|{||}||{|{{{{{{{{{|||}||{{z{{{{{||||{|}{z|{{{{{{||{{|||{{|{z||{{{|||{{||z{{{{|{{||{||{{|{{{{{{z|||{{||}|||z|{z|z{|{|||{|{|{||zzz|||||~|z{{{{{||{}||{||||{{z{{{||}|||}|{{||{|{{{|||||{}}{|{||}|||||}|}|}|{|}{|{||}||{}}}|{||{{|{|}||||{}{{{{{|{|||||~{|}|{{z|||{||{{|}}}||{{|}{{~||{{|}|||{{{{|{{|{|{|{{{|{z|y|{|||{{}|{|{{|||{{}|||{|{}{{{{{|z{{}|{|{|}{{|{{|{{|||z}}|}||{{{z|z{{||{{}}|z{{{{zz{z{|{{{|z{{{{{|{{{|||{z{|zzz|{z{{{}{{||z{zzzz{z{|{{z||{{zzzz{zzzz{|{{|{{{{{z{{{zz{{z{{{{{{{{{{zzz|z{{|||zz{z{z|z{{z{{{{{z{{z{z{{{{{{||||{zz{|{|z{{|{}{|}|{{z{z{{{{|{|{{|{z{z{z|{{{{{z|}||z{{{{{{{{||||{{|{{|z{|{{|{{{|{|{{{z|{z{}}|{|{}|{{{{{{z{{||z||{{{{|||{z{||{|{|{{{{{{{{|{||{||{~||{z{||{{|||||{|}}|{{|{{{|||{{|}~}|||{{{{|{}|}||||z|{z|||||||}}}|}{|||{{|||||||||}{|{|{{|||{{|}|||z{|||{{||||}|{||||{{{{{{|{|{|}|||{{z{{}{{z}{z{{{z{{{{{z{{{{|{{|{{{{|{|{|||}|}}}{||z|{{|||||||||||{{{{|{{{{||}|}|{}z{{{{{{}|{{|{|{|{z{zz{{{|{{}|{{z{{{{{{|||{||{|||{{{{{|{|{{|{||{zzz||{{{{|z{||{z{{{{z{{{}{|||{{{{|z{zz{{||||{{zz{{{zz{z{|}|{|{{{|z{{{{z{|z{{{{{{y{{{zz{|{{||{{{{|{|{{z{|{{{{||||z{{{{{z||||{}|{||{z||||{}{{|}}{{|zzz||{{{||||||z|{{{{z|||{||{|{||{{{{z{{|||{{{{{||{|{{|}{{{|||zz|{|zz{||}}|}||{}|||{{||{||}||||{{{z{{{|{|||||||{{|||{z{}}||{}}|{{|{{|z||||}}{}|{||||{|||}||}}}|{|{|z{{||}|}}|||{{|||{}||{||}|||{|||{}{||||||||{{{z|{{{{|{{{|||{{{{{{{{}}{||{||{{|z{{{|{||z{}}||{||{||{{||||}|}}}|{|||{{||}}|||||{||||||{{{|||}{|{z{{{{{|{||{{||||{{{{z}{||{}|||z{z{{|{{|z|||}|||{{{{zz{{|{{}{||{{{{{{{{{{||{||z{{z{zzz|{{|||{|z{z{{|zz{{{|{||{{z{zz{z|{{{{{|||{{|{{z{{z{{{{|{{z{{zz{{zz|{|{|||{z{{z{z{|{{}|{}}|{{zzz{{|{{{||{||{{z{z{{{{||{|{|{{{{{{{z{{|}{||||{|z|{{{{|}}|||}z{{{{z|z|||||||||{{{z{{|z}|{|{{}{{z{|z|||||}{|||{{{{|||{||{|{|||{{{{{{{z}}|||}}{|{{{{{{}|}}{||}|}{|{|{|{|{{|||}~||||{}||{||||}|}||||||{{||{{|}|{|{{}{||{||{||||}|{{|||{{|{{||}}|{{{z{{|||{|{|||||{z{{{{{{||}|}|~{{|{{{{zz|{{{||||{|{||{{|||{|||||{{{|{{|}|{|||||}||{|{|{}||{}{|{||{{{{{{{|||z|||{|z{z{|z|{|{|||}{{{{{{{{|{{{|||{|{{{z|z{{{{{{||z{zz{zzz{{{z{{{{||{{{|{{z{{{||||{{{{{zzzz{||{{|{{{zzzzz{z{{||}{}{{{{|{z{{zz|{|{{|{{{zz{{z{|{{||||{{z{{{yzz{|||||}{{z{{{{{{{|{||{|{{z{{{|{{{{|{z||{|}|z|{{||}{||{|{|{{z{|{{|||||}|z{|z|{{z{|{|{||||||z{{z{|{|{|{|{|{|{{{|z|}|}|||}||{|{{{{||||}}||||||{{|{{}{|{|}|{{{|{{|{{}}{|{}~|{|||||||||}||}|||{|||}{}||}|}}||||{{||{{||}|}||{{|||||}||}||}}}|{{{{{||{|||{}}{{{z{|{z{|||||||||{{|{{|z{|||||{|{z|z|z{z|{{z{||||}{{{{zz|}|}{|}}|{|{{||{|}|||||{|{z{|z}{|}}{}||}|{z{|z{{{|{|z|}||{{{{{|{{|{|{{||||{{|{{{{}{{||{{|z{z{{z||{|{|||{z{{{z|{|{{{{{{||{z{z{y{{{{{{|{{||{{{{{zz{{|{{|}|{{{{z|{|{||||||||z{{{{{{{{{{{{|||{{z{{|{|{{{{{{{{z{{{{|z{z||{||}|{|{{z{z{{||zz|{|{z{{{{{|||||{||{{|{z{{z|{{{{||{|{|{{{{{{{|{{|||{{||{zz{{|}|||}|{{{{}{z|{{||{||{|{||{{{{{{|{{|}|{{|{{{|{||{}|||}{|||z{{{}|{||||||{{{{|{z|{{|{||}|{{{{||{|}{|}|}|||{||{|||}}||||}||z||{|z||}|{|}|}z{||{{{||||||}||{}{{{|||{{{{}}||{{{{{|{z}|{{||{|{{{{|{{||{{|}}||{{{{{|{|{|{{}{|{|||||}{{|||}}}||{|{|{|z{||||}|}{|z{{|z{{||}|}||{|z{{{{{||||{{|||{{z{{z{{{{|||||||zz|{{z{}|z{|||{{{{{{z{z|{z|{{{zzzzz{{{{|{{{|z{{yz{zz{{{{{{||}{zz{{z{z{{{{{|{|z{{{{zzz{{{|{{}{|{{zz|z{z{{|{{z{||{{{}z{z{zz{{|{|{{{{{z{{{|{{{|{|{{{{y{{{|{|{||||{{{|{{{{|{|{{|}|{{|z{{yz{{}|{{||}{|{{z{{|{||{||||{{{{{{{|{|{|{}|{{{{{|{{{||}{|||{z|{z{{|||{||}||z}{|||{z{|{{z|{|{||{{|{{|{{|{|}{||{|{{|{|||{y|||{{{{z{|{{{|||{||||z||{{z{|}{|||}|{{{{|{||}||||||}{{z|{{{|{}|||}|~zz|||||{||||||}{||{{{{||||{{|||{{{{z{{|||{|{||}|{{z{{zz{|}{{|}||||{{||{{}}||||||{{{{{{{{|||{}{|{z|{z{{{||||||}||z{z|{{{{||{{|||{{{{{{{{z|}{{}{|{{z{{|z{{{{|{|}|{{{{|z{{z{{{|||{|{zz{{{{{{{|{{|{{{{z{z{zz{{{{{||{{{zzzzz{{{{{{{||{||yz{{{{zz|{}{zzz{{{{z{{{|{{|{}{zz|z{{{|{{{|||{{{z{|{y{|{|{z}|{{{y{{{{{|{|||||{{}{zz{{{||{{{{|{{{zzz{{{|||{{||{z{{{z|zz|{{||||{{{z|z{{{{{|{||{{{|{{{{{{}{{{{|{{{{{{{|{|}|{{}|{{|{{{|{{|{{}|}|||z{|{{{{{{||{}}|{{{{{{{{}||||}||{||{|{|{z{{|||}}|{{|{||{{}||{}{||{{}|||{||}}{}||}|{{z{|||{||}}}}||||{{z{}|{}||||{{{z{{{|{||{{|{|{{{zz{|z||{{{{{{{{{{|z{z{{||{||~{||{{{{{|||}|||||||{{zz||{|||||}{||{{{{z{{||||||{z{{|y|{{||{{||{|{{zy|zz|{{|{|||{z|z{|yz|{{{{{{{z{{z{z{z|{|zz||{z{{{z{z{{{{||{{{{{{{{zy{{{z{z{{{{{{z{{z{{{{{{|||{zz{z{zz{{{{|{{}z{z{{zz{z{{{{||{{zz{{zy{{zz{{{{{{{|{{{|{{z{{{{}{{{|{zz{z{|{z{|||zzz{zz{{|{{z{|{|{{{zzz{|{|{{{{{{zz{{{z{{{{{{||{{{z{z{{|z|||{|{}}{{z{{z|{|{{|{{{{{{{}|{{{{{||||{|z{|{|{{{{|}}}|||{{|zz{{z||||||}{{z{{|{{{|||{|{|{{{z|{||{{||}||{|}{||{{|{{}}}||}|}{{{|{{{|{|{|||}{{{{|{{{|{|||{||}{|{|{{{||}|||}||{zz|{{{|{||||}|{|z{{zz{|{|{{{}{{||zzz{z{|{{|}}}||{|||}|||}|||}}|}{||z{|||||~||||{{{|{{||||{{{|}{{|||{|{||||||||||{z{{{{{|}{|{{}{{{{{z{z||z|{|||{{{{{{{{{||{|{|z{{{z{zyz{{{{{||{{{zz{zzz{{{{{||{{{{{z{{{{{{|{{{|{{z{{{{z{||z{||{z{z{{{{y|z{{zz||z{zz{{zz{{{{{{|}|z{{{{{{{|||{|||{{{{{{zz{|{{|||{{||{{z{{{{{{||{|{|{{{{z|{{|{||||{z||z{{z{|{||||{||{{|||{{|||{||{{{z{zz{|||{{{{|||{|{|z{||||||{}}|{}|{|{{}|{}{{}||z{|{{|{|||||{}{|{{{|{||}|{{|}}|||{{{|{|{|z|}|}||{{{{|{}{}|}||}||z|||z{{||||||||{{{||z|||}|||{{|{|||}{{|||||{}|}{|{z|{{||{}{|||}{{z{{||{||{||{|||||{{z{{z{||{||}|}|{|{||~|}{||}{{{||{{|}|||}||||{z{z{{{|||z|{||{{{z{{{{{{|{|||||{|{{{zz{{{|{|||{{z|z{z{{{{{||||{{{zzzz{{|{{{{||{z{z{{{z|{{|z{{{{z{{zz{z{{|{|{|{{z|z{{z{z||{{{{{z{{{zz{{||||z{|{|{zz{{zzzz|{||||{{{z{z{{{|{{{{|||{zzzz{z{||{{||{|{{{{{{z{||{{}||{{{{z{|{||||||{|{{{{z{{{{{|{|}{{{{{{zy{{z||z||{|zz{{{z{{{{|}{{}{z|z|z{zz|{{|{|{{|{{{{{{{|{|{||||{{|{{zy||||}||}||z{{|{{{|||{|{}{{{{z||{{|{}|||}{|{|{|{|{|||||}|{|{{{{}{{|||||}}|}{{{||{{|{||{||||{z{{{{{{||||}||{||{||{{{{{{}|||||{{{{{{{}{|{|}|||{{z{z{||||{||{{{|z{z{z{|{{{}}}}|}|{|{|||{|}|}}|{{|{||{{|{|}||{||{{{{|{||{{}|}|{z{||{{||||||||||{|{{z{z{||{|||||{{{{{z{zz{{{{|{{{{{zzz{z||{{||z{{{z{{{||{|||}|{|zz{z{z{{{{||{||{{z{z{z|z||{z|||{{{zz|{z{{{{|{||{{{z{{{z{{z{{{||{|zzzz{z{zz{{{|}{{{{|{z{{|||{|||||z{|z{{{|||{{|}|{{{{z{{|{{{z|{|{{{{{||{|}||||{|{{{{{{{z|||{||{|z{{{{z|{||||{{|{{|{|zz{{{}{{{{{|||{|{{{{}{{|||||{{{{{||||||}}{|||{}|{{z{{|}|||||||{{|{|{|||||}|||z||{}|{{||||~||{|{||{{{||}|}|||||{{|{{{||{|{}||}|{{|{{|{|||||}||{{{||z{{|||||}}{|{|{||{{||||{|{|{|z|z{{||}||{}{{{|{zz|z||{||}|||{}|{|||}}}|}}~}}|{||z{{|}|}{}|}|{zz{||{}||||||||{{|{{|||{|||||{{{{z{{{z|||{|}|||zz{{zz{{||||{{z|{|{|z{{{|{{z|z{|{{{z{{{{|{|{|{{|{{{yz{z{|{{|||{|{zzz{{{{{|||{||z{{{zyzz{||}{|||{{{|{z{z{{{|||{||z{z{z{{|{{{{}}|z{z{{z{{||{|{||{|||{{z{{{||||{||{{z{zz{{{{|||{||{{{{{{|{|||{{{|||{|{z{|{{}|{|}{}{{{{z{{{|{||{|}{{{{{{{z{||||{|}{||{{|{{{|||||{{|{|}{{z{||||||}}|{{|{|{z{}{|}{||{|{|{|{|||||{||||{|{{{{||{||{|||||{||||{|{}|~}||||{{{{{{z}}}{|||||{{|{{||||||||}}||{||{{{|{{||||}|{{{{{{|{|||||}|{{|{{zz|{|||{{|||{|zzz{{|{{|{~}}~|||||||}}}||}|}||{{||{{{||||}}~{|{{{|{{||||||||{{||{|{{{{|{{|}||zzz{|{{|{|{{{||{{|z{{{{{|{z{|||{{||{z|z{|{{|{}}|z{{z{z{{z{|{{{{|z{z{z{{{|{{{{|||z|zz{z{{z|{||||{{{z{|{z||{|}{||z{{{z{{zz{|{{{{|zzz{{{z{z|{|{}{{{zz{{{z{{||||||}{{{z{{|{{||{{{||z{|{{{z||{|{|||{{{{{z{{{{||{{{||{{{|z{||{|{{{|||{z{z{{|{{|{{{|}{{{z|{z|||{|{||{|{|{{{{z{{|||||{}{|{|||{{{||{|||||{{{|{{|||{}{||}|z||{{{{|{||||||{{|{{|||||||||||}{{{{|}||}|||||}|{z|{{|{||}||}}}|{{{{{{|{||||||||{{{{|{|||}||{||{||{|{{{|}||}|||z|||{{{{||{|||||{{{{zz{{{{|{{~~}||{|~{|{|~}}}|~}}|||{{{||}|}}||}||||||{|{|{||{}||||{{{{{z{||{}}|{|{{{{{z{|{|{||{{{|{{{{z{|}{{}|}|zz{{{{zz{}{{{||{|{{{{{|{|{{{{|{{{{{{{|z{|{{|{|||z{{{{z{|z{{z{{{{{{zz{{{{|||{|||{{{{z{z{{{{z|}|{|z{zzz{z|{|{{||{{{|{{|zz||{{{||{{{{{{z{{{{{|{|||{{{{{z{|{{{||||||{|{{{{z}{||||{|{y{{{{z{|{|{z|{|{{{{{{{{|{{||||||{{|{|{{|}|{{|{{{{|{z{{{{||}||||{z|{{{||{|{}{|}|{{{{|{z|{|}{|{|{}{z{{{{{|}{{||}||{||z||||{|||}||}z{|}{}||||}|}}|{{{|{{|z}|}|}}||||{{{{|{|||{|}|}}|{{||||}{{}}||}{z|{|z{{{{{{|||}|{{{|{{|{|{|{{{|{|{z|{{{|{|{{~}~{||}}|||}|~{}|}|||{{{{{{|}||{|}}}|{{z{|{|||{{}}|{||{{{{||{{||{||||{zz{{{{|||{}{}{{{{{{{{{{{{{||{{zzz{{{{{{{z{{{{{||zz{z{{y|{{|{{z{{z{{zzz{{{z||{z{z{z{zzz|{|{{z{{{{z{zz{{||z{||{{{{z{{zzz{|{|{z|zz{z{zzz{{{|{|{{{{{zz{{{{{{{{|||||zz{z{z|{{|||||z{z{{zz{{{{||{{{{{{{{z|{z{{}{|||{{{{|{|z{||{||{|{zz{|{zz{{|{{{||||{{{z{zz{{{{|{{|{|{z{zz{|{{||||{z{{||z{||||{||}|z{{{{z{||}{{||||{z|{{{{|}|}||}|{|{||{|||{||{||||{|{{|{{{}|}|||||{{|{{{z|}{|{|{||||{|{{{{||||}||||{|{{|{||{{||}|{{{z|{{|||{{{||}}{{z{{zz{||||{||{{z{zz{z{{{{{~}}||{||{||{||||{|}|{||||||{|||{}~||||{{{{||{|{|||}z{z{{{{{|{|{{z||||{{z{|z|{{||||}{zy{z{|{{}}{{||{z{|z{{{zz{|{{{{|{zz{z{{z{{z{{{||zzz{z{z{z{{}|{|{z{|z{{zz{{{{|{{{{|{{z{{{{{{|||{{{{{y{zzzz{zz{||{{{z{|{{{{{{{|}{{{z{{{|z{z{{{{{|{{zzz{z{{{|||{|{}{z{z{z{z}z{{{|{|z{{{{z{{|{{{{{{}{zz{{zz{z||{}|{~{{{zz{{{{|{|{|{|{z{z{{z{{|{{{}}{{{z{|zzz{{||||||{|{{{{z{||{|{||{|z{|{{{{|{|||}|{|zz{|{||||}|}{|}|{||||||||||||{}|{{{{|}|||}{||{|}{|||{|{}|}|}|||}z{{{{{|||{{||}||{{{||}{|{||{{{|{|{{{{{{|||{{z|||{{{|{{|{|{|{{{|{{{{y{{{||{{{~~}}|||||||~}}}||}}|||||{|{|||||}}}|{{zz{|{{||||}}|{{{|{z{{z|||{{}|z{|{{{{{{|||||{{{z{{zz{{{{}{|{||{||{{{zz|{{{{|{{{{{z|{{z{z}{{{{{z{{zzzzzz|{{{{||{z{y{{z{{||||{||{z{{z{yz{||}|{|{{zz{z{{z{{{{{|||{{zz{{yz||{{z|{|{z{zz{|z{|||||{|{{{{{{{{||z|{|{}|{{{{{{z||{{{||{{{{{{{{{{|{{|{|}z|zz|z{{{{}|||||{{|{z{{{{|||{{|{{z{}{|{{{|{{{|||{|{{{{|{|||||{|{{|{|{{|z|||||}}|{{||{{z{{||||||||{{{{{||}}|{|}|{{{|zz{{{{|||||||}{|{||{||}|||}|||{||{{|{||||||||z{{{|{|||||{||}|||z||{{|{||{||||{{{z|{|{{}||||}}{{|{z||{{{|{||||{|{{{{{z{{{{|~}~}}||{}}{}~|}||}|||{||}z{||}||||}}{|{|||z||{{|~|||{{z{{{z{|||{{{}|{{y|{{z{||{{|{|{{{{z{zz{{z{{|{{|z{z{zz{{{{{z{{{{{zzzzzz{{{{z{{|z{|z{{{z{{{{{|{{{{{z{zzz{||{{{{||{z{zzz{{{{{{{{|z{zz{z{{{z{z{||{z{z{{|zyz{z{{|{{zz{z{z{zz|{{{|||{{{{{{|z{{{|{|||{||{{{z{{{{z{||{{z{z{{{z{{{{{|{{z{|{{{|z||||{||||{{{zz{{|||z{|}|{z|z{{{||{{{{||{{{{{|zz{||{||{|||{{{{||{{{|||||{|{{|{|{{{||{}|||{{{{|{{z}|{{{|}|{{||{|||{|{|{}|||{||{{{|{}{||||||{|{|{{{||||||}{|z{{{{{|{||{|||||{{{|||{|||}|||}{|{|{{z{{||||}|{{{z{z{z{{||{|{|{{{z{zz|{{{|||~~}}}|{||{|}~|}{||}{{{|{|{z|||}}|}|||{{{|{{{||{}||{{{|z{{zz{||{}|{||||zy{zz|{{|{{{{{{{z|{{{||z{{{|{|{{z{{{{{{{z{{|{{zzz{z{z{|{|||{{zzzz{y{{zz|{{{|{z{z{zzz{{|{{|{{{z{z{zz{z{|{{{||zz{{{zzzy{{{{{{|{{{{z{{{{{{{{{|{|{{{zz{zzz{z{{{||{{zz{{{|{{||{|||||z{{{zz|{{|{}||z{{{{{{|{{|{|||{{{{{{{z{{|{{||{{z{{z{{zz{{|z{{|{{{{{z|{{{|{{{||{||z{{z{{|{}}||||z|{{{{{{||{}|}||{{{|{{|{|{|{{{}|{zz{{z{{}||{{|{|{{{{{{{{{|{|||}|{{z{|{{{|}{|{}|||{||{z{z|{||||||||||{{||{{||z{}||{{{|z||z{|}|||||{{{|{{{{|||||||{{{{{||{||{}{{}|{{|zz{y{{{|{z~~|}}}{}}|}}}|~}}}|{||{|||||}}}}}|z{{|||{||}|||||{|z{{{||||||{||}{|{{z{|z||{||}||{z{|{{{z{||{{{{{|z{{{{z{{|{{{|{{|z{z{{zz{{{{||||{{z{z{z{|{{||~{{{z{{z|{{{{{{||{||{|{y{{{z|{{||||{{{{{{z{{{{{{{{}z{{zz{zz{|{{{||{{{||{{{{{{||{|||{{zz{z{z{|{z||||{|{{zz{{{||{{{{|{{{zz{z{|||z{||||{|{{z|z|||{||||{|{{|z{z|}|{|{||{{{|z{{|{||{{}||||{}|{|{||||||{}{{{{{||{|{||{}|||z{z{{|{||{|}{|||{||{{{{|}|}|}|||z{{{||{||{|||}|}{||{|z|z}|}|}||||||{|||||||||}{{{{{|{||{|{|}{||}||{{|{|{|||{}{|{{||{{}{{|{|{{}|}{{{{{{{{{}}{|}|{||{{z{z{{|{{~}}}|}}}}}{|~}}}}|}|}}|||{|}|}}|}|{|||{{{z{|||}|}|}{{{{{|{{{|{|{||}}{{|{{{{{|{|{|{z{{{|{{{|{||{{|}{|{{{{{yz|||{||{|{z{{z|{z{{|{{||{|{{z{zzz{{{z{{|{{{{{{{{{{{{{||{{{zz{z{{z{||{||{{|{{{{zz{z|{{{{|{{{z{{{{{{|{|{||{z|{z{{{z||{|{|{{|{{{z{{{|||{|||||z{{{z|{{||{{{|||{{{|{|z{||{|||}{{{z{|{{{{||||||{{z|{{{{||||||}||{{{|z|z{|{||}{|{{{{{{||{||{|}||{|||{{||||{|{{}||z{|{|{z||}{|{|}|{|{{{||}|||}|~|{|{{{|}{}|||||}||{{{{||{{}{|||||}{|{|{{{||}{|||}||{{{{{|{{{|||||||{{||{|{}||{|}|{|{{{{z|||{|||||{z|yy{{||{|}{{||{{{{{{z{{{||{}~|~}}}|}~}~~~}{}|}{|{|{{|||}}|}}||}|z}{}|{|{{||}|{z{z{{{{{||{{{|||{{{z{|{|{{|{||}{z{{{|zz{}|{|||||{{||{z{|z|{{||{z{z{{{{zz{{|{|||{{z{zzz{||{{{{{{{z{{zz|{||{|||{|{{z{|{{{{|{|z||{|{{{{{z{{z{{{||{|{{z{{z{{|{||||{z{|{{|{{{{{{|{|{{z{z|{z{|||z{{{|||{zzz|{{{{{||}|{{{{|{{y|{|{{|{{{{z{{{{{{{|||||{{{z|{{z{||{||{|{{{z{{{z{{|||||{||{{{{|{{{||{}{|{{||{|{|{|{||{}|}|||{{{z||||||||}|{{{{{|{{}}|}|||{{{{z{{{|}|||||||{|{{{{{{|}}|}}}||{|{{{{|||{|}|||{|||{||{{|||||}|{||}{|{|{}|||||{{|{|{z{{|{|||||}{|{|{|z||||||||{{|{z|z{{|{{|~~}}~||}||~}~}~|}|}|||}z|}}|}|||}}}||{{||{|}{||||{}|}||{{{{|{|{{||}||{z{z{|}|}}|{}{{{||{zz|{|{{|}|{{|{z{{{{|||{|{{{z|zzz{{{{z{{{{{y|{z{z|z|{{|{|}|{z|{{{{|{||{|{|||y|{zz{|{{||{|||{z{{{{zzz||{{||{|{|{|{zz{{{|||||{{|{{{|{|{{||{}|{{{{{{{{{|||}{|||{{{zz{{|}|{||}|{{{|z{z|||||{|||{{{{{{{z|}{}{}||{{||{{{{||{|||||{||||zz|{}|||{|||{{{{{z{}|{|}|}}{{{{{{||||{||||}|{||{{|{{|}||||||{|{{{{{|||||{|}|{{|||||||{||||||{{|{{{{|}||||}||{{|{|{||{{|}|}|||{|{|||{||||||}||{{|{|{{|{||||}||{{|{|{{|||||}||{{{{{z|{|||||||{{{z{y{z{{{|{~}~|}}|}~}}~}|}}|{|{{{{{|}}}|}||||||{|||{{|||z|||}|{{{|{|{|||{|}|}{{{{{zz{{{||{{||{{{z||{|||{{||{{{{{z{{z{|{z{|{||{{{{z{z{|{{{{||{zzyzz{zz{{{{{{{{z{{{{z{|{|{|{|{{{{{{{{|{|{{{{|z|z{z{{{z{{{{{{{{{{zz{z{{{{{||||{zz{{z|z{z{|{{{|{|{{{|z{|{||||||{{z{{{z{zz{||{|{||{|{zz{|{|||||||{{{{{zz{{||z{||||z|{{{{z}{||{{|{{{|||{z{|{{{{||{{{|{{|{|||{||}{|{z{{{|{{||{{{|{|||||{{{{|}||||{||{{{{{|{|}}|}}|~|{{{|||{||||||{}}z{{{|{||}}|}||}|{{{{{{{|{}}}{||{|{{{||||}|}||}||}{{||{|{}{|}|{|||{{{{|{z|{|z|~}|{{{{|{{{|}|{||{|z{z{{{{|z|{|~~~~}}}|}}||}}}}}}|||}||{{}}||}||}{{|{|{|{{|||{|||{{{{{{z{{{|||{{}{z{zz{{{||{{z|{{{z{z{{{z{{|{{|{{{{z{{{zy{|{{z{||{z{zzz{z{{{{z||{{z{y{zz{{{{{{{{{{zz{zzz{z{{z|z{{{{{zzzzz{|zz{{{{{{z{{zzzz{{|{||{zzzyzz{zz{z||{{|{{z{|z{{{{{|}|}{|{zz{z{{{{z|{||{{{{{{z{{{||{{|||{{{zz|{{{||{|{|||z{zzz{{{|{|{||||z{{{{z|{||{}{|||{{z{z{{{{|{{|{{{{{{{{z{|{|}||{}z{{|{{{{{|z|{}|}|{{{{{{{{|{|||||{z{{|{{{||||||||||||z||z||||{|||}{{z{zz{|}{|}||||{{{|{{{|}}}|||||{{{{{{||||{{||}{{{{{{{{|}||||{}|{{z{{{|{||{|||{{|{{|zzzz|||{||{{zzzzz{{z|||{~~~~~~}}~}~~|}}}}}}||}|}||{|}}}|}}|||||||{||||}}||{z{{{{{|{||||{|{z||{{{{{|z|{{{{{{|z{{{zz|||{||{|{{{{{{{|{{|{{{{{z{{|z|||{z|||{{{z{{{zz{{{{z{|{|{|{{{{z{|{{{{|{||{}{zz{z|{{|z{{}{z{|z{{{zz{z{{{|{{{zzz|z{||{{{|{|z{z{{z{|z||{{}|z{{{{zz{{|||{{}|zz|{zz{{z|{{|||}||z{zz{{||{|{{{}{{{{{{{{{||{{}||{{|{z|{z{|{|||}{{{{z|{{{|||{||{{|{{{{{{{||}|{|||{{{{{}{{||||||||{{{|{{z{{{||{{|||{{|{{{||||||}}}|z{{{||{{||}|{|{|{{{{{{{|}|}}|}|}|||{{||{||||}{||{{|{{{|{||}|{}~|z||{|z{|{{|{||||{{z{{{{|{||{|}{}{{|{{{{{}||{{||{{{{{{{z{z{{{~}~~~}}}}}}~}}~~~||}||||||}||}}}||{{|{{{|{z}{||}{{{|{{z{{||||{|{{|{|{z||z}|{|{|{|z{{{{z{{{|{|{{{{|{{{zz{z{{{{{|{{{{{z{zz{z{|{{|{}{{y{{zzz{{{{{{|{{zz{zzzz{{{{|{|{zz{z{zzz{{{{{{{z{zz{z{{zz{{z|||{y{{z{z{zz|{{{{{{{{zzzzz{{{{|{||||{{{{{{{|{||{||{{{||{{{{|{|{||||{z{{{z{{{|||{{}|{z{{{z|{{{|{}|~|z{{{{{zz{{|||||z{{{|{zz{|{{|{|||{|{z{{z{{|||{||{{{{{{{z{|{|}||}{|{{{{{{z||||{{||{||||{|z{|}||||||{|{z|||{|z||{{|{{{{{{{{{}||}}||{{{|||{z{}|}|||{{{{{{{z{|{|||}}|{|z{|{{|}|||||||{{{z{z{{|||||||||{{{{{|z|{{||}|||{{zz{{{{{{|z~~}}~}}}}}~}~}}}}~|{||||||}}|}||}~{{|{|{|||}{|}||{{|{{{|{||{|{{|{}{{z||{z{||{|{||{{{{z{{z{{{{||{{{z{zz{{{{{|}{|{{{zz{{{z{z{||{||{{|{z{z{{{|{{|{{{{{{z{zz{{{|{z{{{{zz{{{{z{{}{{{z|{zy{{z|{{{{{{{{{{{zz{zz{{{{{z|{{{{{z|{{z{{|{|{||{z{{{z|{{|{{{{{{{z{z{{|{|{{{|{{{{{{zz{{z{{z|||{{{{{{{{{{{|||{||{{{{{{{z|{{||{{{{{z{|{{z{{z{||{|}{{{|{{{{{||{||||z|z{|z{{{||{{|}||||{{{{{{|||||}{|{|{|{|{}|}{{||}|||{||||{{{|}||||{|||{|{{||}|||||{}||{{{||{||||||{{|{||{{|||{{|||{{{|{|{}|{||}|{{{{{{{{z{||{{||||{{{{{{zz}{|{||}{{{{{{{z|z|{{~}~}|}~||~}~}~~}}}}|}{|||}||}||}{{|||{z}{{{|||{{{z{z{{{||{|{z}|{{}z{{{z{}|z{|{|z{{z{{|{{|{|{|{{|{{{z|z{|||{{|{{{{zz{{zz{{{{|{}|{zzzzz{{|{{{{{|{{{{z{{z{{{{{|{{{{zz{z|{{z|z{|||||{{{{{zz|{{{|z|{{{zzz{{{z{{|{|{{{z{|{{{zzz{|{|{|||{{|z{{||{|{{||zz{{{z{{||||{}{|{{{{{{z{{{|||||{|{{{|z{{{{{|{||{|z{{{z{{{{{{{{||{{||{{z|{|{{{|||{{{{{z{{{{|||||||{{{{{|{{{||{{||{{z{{{{||}|}|||}|{{{|zz{|}||||}||{|{{{|||}{|}|{}|{{{||{{{||||||{{|{{|{{{|||||||||{{||{{|{||{{||||||{|z{|{||||{||||{{z|{{{}|{}{||||{{{{{{{||}{||{{zz{z|{zz||{{~~~|}~~~}}~}}||}}||}}}}}}|}||{{}|{{{||||||}{{|{{z{|{{|||||}|{{z{{z{}{|{}{|}|{z{{{||{|||{||||{|{{{{{|||{z{{}z{z{{{|z{{{||{||{{{{{z{{|||||z}|z{{{zzz|{{|{|{|{{{{z|{{z{{|||||{|z{|z{{z{{|{|{}{{|{{{|z{z{{|{|{{|{||z{{{{{{|z{|}{{z{z{|{{}|{||||||{{{z{{{||{{|||{z{{|{{z{||||{||z||{{{{z{{|}}}{||{{{|||{|||{{|||{{{||{{{||{}|||||{|{{{{{}|||||}|{|{{|||{|{{||||||||{{|{{{|}{||}{|{|||{{{|}||}|{||||{|||||||}||~}}{{|z||||~||}}|}{|||{{||||}||||||{||{|{||||{||}}{{{{|{|{}{||}|}|{||z{{|{|}||||{|||{|z{{{{|{|{|}|{{|{{|{{|{|||~~~}}~}~~}}|}|}||}||}}}|{|}|||||{}{||}}}}}{|{|z|{{{{||}||||{{|||{{{|||{{|||{{{z{{{z|{|{{{||{{{z{{{|{{|{{|||{{{z{{{{{{|{|{||{{z|{{{{{|{|{{|||{{{z{z{{{|{|||{{{{zz{z{|{||{{}|{z{{{z{zz{{|||}{{z{{{z|z{|{|{{}|{{|{{z{||{{{||{|{z{{|{|{{}{||}|{{{|{{z{{|{|||{|||{{{{|z{||{|}|{||{{z|{||{|{||||{{{|{{|{{||||{{||{{{{z{{{||||||||{{{{{{z|||{|{|||{{{|{{|{{|}|{||}||||||{{{}|||}||}|{{{{{||}|{|||||||{{|{||}|||||||{|{{|||{}}||{|}|z{}{{|{~}|||}|}||{||{{||||{}||}|{{|||{z||||}||||{||{{|{|||||}|||||{{z|{|||}|}|z||{{|z{{|||{|~~~}}~}~~}}}|}||{|{}||}~}}}}||{{}{z|{}|}}||||||{{{|||||{{||||{|{zzz{{||{}{{{{{{{{z{{{{{{}{{{{{{{|zz{||{{|{{{z{{{zzzz{{|{|||{z{z{{zz{|{{{||{{zz{z{zz{{{{|||}{{{{{{z{z{{|{||z{z{{{{zy{|{{||||{z{{{zzyz|{{{|{{{{{z{{{{{|{|{|{{{z{{{{{z{{|{|{||{{{{zz{{||{}|{|}{{|{z{{z{|{{{}|{|{{{{{{|{{{||{||{{{z|{|z{|||{|}||{{{{|z{{||{{|{|{{{{{{{{{||{{}||z{|{{{|{|{{}||||}{||{{|{|||||{}||{{{||{{{}|||{|}||||{{|{{{|||{|}|||{{|{||||||||{|{|{||{{{}|}|||{|{{{{|{||||{|||}{{{{{{{||||||}z|{{{|{{{|{}{{|||}{|{{{{{{{|{|{||{|z|{{{{{{}{{z~~~~}~~{}|}~}|||||||}}}}|}}}{{||}|}{||{{|||}|||{{{{{{|}{{|{}{{zz{{{{{{||{{{}|z{{{||{{{z{{||{|{|{z{y{{||{{{{{{{{zzzyzz{{{{|{{{|zz{zzz{||{{{{{zz|{{zz{{|{{{|{{{{{{{z{zz{{{|{{{{{{zz{zzz{{zz{{{{{{zz{{y{|z{||{{|z{y{{{z{{|{{{|||{{|{zzz||{||||{{|{{{z{{{|{{||{|z{{zzzz{{{|{|{{|{{|{{z|{{{|{|{|{|{||{|{|{}|||||{{z|{{{zz{{{{{||{z{{{{{zz{{}}{|}}{{{{z{}{z}||{||||{{{{{{{{||}||{}|z{{{{{{}}|{}{{|{{|{{{||{|||||{||{{{{|{|{||||||||{{|{{{{||{}|}|||{{{{{{{{{||||}|||||{{{|||||z{||{{{{{{|{{{|}{|||||{{{{{{{|||{{|{{||{{z{{|{|{{}~~~~}~~}}~|}}{|}||}}}}}|z|{{}{|{{{||}}{{{|{{|{z{|||{}|{z|zz|{{|z||{|{|{{{{{zz{||{{||{{{{z{z|z{{z{|{|{{z{{{z{{z{{{|{{{{{zz{{z{z|{|{{{{|{zz{{|z{{{{z|{|{{{|{z{{z{{|||{|z{{zz{{|zz{{{{|{||{z{z{|{{|z|||||zz{{||{{{||{{{}|{{{{|z|{{||{|{||||{zzz|{{{{{||}|z{{z{{{{{||||||{{zzz{z|{{|{||||{{{|{{{{{{{||||{{{{|{{{{{|{{|{||{|{|{|||{||||||||z{|{{|{{|{||}{|||{{{{{{{|||{|||||{{|{{{|}|||||}||{{{{{{{|||}||||}{{{{{{{{}|{||||||{{|{{{|}|}|}}}||{|{|{||{|||||||||{|{{||||||{|{{{{z{z{{{|||||{|{{{{{{{z{|||||{{{|{{{zz{{{{|{~~~~~~}~~}~}}}}}{|}|{}}}}||}{|~}z{{|{||}||||{|{|{{{{||{{||{{|{|{{|z{|||{}{}{z{{{|{y{{{{{{{{{{{{{{zzz{|{{{{{{{{z{{zz|{{{||||{zz|{zz{z|{{{{|z|zz{{z{z|{{|||z{{{{{z{{{{|{|{|{||zz{{{zz{|{z{||{{{zz{{|{{||{{|||{{|y{{{z|{{{{{{||{{{z{}{|}|||{|}{{{{{{{z}|{{||}|{{||{{{{{{z||}||{{{{{{{{z||{{{|{{|{z|{{|{|||{|{{|{{|{{{{{{{{||||}|}z{{{{}|||}|}|{|{{{{||}|||||}||{{{{|z{{{{|{{|||{{||{{|||||||}}|{{|{{|||}|}||}|{|{{{|z||}}}||||}{{{|{||||}|||}}|{||{{zz|{{{||}}}{||{{{{||}||||{|||{{|zz{}|||}||{{{zz{z{z|||{|}|{z|{{zz{{~{{{}~}}}~~}}~||{|}||}}}}}{|||{||||||{}|||{{{{|||{||{|{||||{{z{z|||{|{||{|z{{{{{{{{}|z{{|{{{z{{{yyzz{{{|{|{zz{z{{z{{{|{{{|zzzz{zz{{{{{z||{{{|zzzz{{{{{{{{{{z|zz{{z{{{|{{}|{|{{{{zz{|{{{{{{{{{z{z{zz|{{|||{{{{{{{{z{{|||{}|{}{{|{{{{|{{{{||z{yzzy|{{{{{{|{|{zzzzz{z|{|{{||{||{z|{{{{|||||z|{|{{{{z{|{||{{|{{|{{{|z{||{{||||{{{|{{{|{|||||||{|{{{{{{||}}{{{|{{{{{{{{{||{|}{|||{{{|{{||{|}|}~|z{{{{|{|{{{|||{}{{|zz{{{}{}|||||z{|{{{{|}{||||{|{{{{|{|{||{||}||{|{{|{||||{||||{{|{{{{{||{||||||{{{{|{{|{||{||{{{{|z{|{{{z||~~~~~~~~~}}~|{{|~||~}~}}|||{{{|||}||}}||||||{{|{|{||{{||||z{{z{z{}{|{|{|{||z{z{z{|{{|{{z{{{{|zz{{{{{{|{|{zzzz{z||{{|{|{|{{y{{z{z{|{{|{|{|z{z{{z{|{{|||||{{{{z{{z{{|||||{|{{{zz{z{{{z{||{{zzzzz{y{|{{{}||{z{|{{{{||||{{}|{|{z{{|{{{||||||{{z{{{|{|{|||{{{{{{{{zz{||{{|||{|z|{{{{z{|{|{}{||{|{{z|{z{}{||}|{{{{{z{|{|||||}|||{|{{{{|{|}|}||{z{{|{||{||}||||{{{||{{{{|}{|{||}{{{|zzz{|{|||}||{{{||{{{|||||}|}|{{{}|{|}|}||}|||{}{{{||{}|||||}z{}z{||{||||{|}||}{|{{{|{|}||{|{{{{{{{||||{|||||{{{{{{{{{{||{|||z|yz|{{{|{||~~}~~~~~~}||||}|}}}|}~}}|{{}||{||{|{||||{{{|{{{{}||}|||}|{{{{{|z||||{}{{{{{{y{z{{}{z{{|||{z{{{{{|{{{z{{|{|{{{z{{}{z{{|{|z|{{{z|{z{{zz}{z{{zzzzz{{||{||}|{z{z{zzz{||{{|{{{{{z{{{z{|{{{}|{{{{z{{zz{|z{{|||{{z{{{{z{{{{{}{||||{{|{{{{||||{}}{{{{{|{{{|{|{||{{|{{z{{{|{|{|||{{|{|{{z{{{|{||{|{{{{{|z||||||{{{{{|{{{{{|{|||||{|{|{{{{{|{{||||{{z||{z||||}{||||{{{z|{z{}}{|{}||{|{}z{{}||||{|}|{|{||{|{}{}||||}|{|z|{{z||||}}||{||{|||{||||||||{{||{{|{||||||}{|{{|{{{||{|||||{{|{||{{|||{{}}z{|z|{{|{{|{}{{||||{{{{z{||}||}~~~~~~}||||{}}|}~|}|}}}}{||}|||||}||||||{|{{{{||{|{}|{|{zz{|{{||||{{||{z{{{{|{{{{z|{||{{|{{{{|}|z{}||z{{zz{{zzz{|{{{|{{{{{z{{{{|{{||{{{|z{|zz{{|{|{|{|{|{z{zz{||{z{||{{|{{{zz|{|{{{{|{{{|{zz{z{{z||{{{{{{{{{{{{{{{|}{{{{{{{{{||}||||||{|||{|{||{|{||}{{|{z{{{{{||||||{{{z{{{z{}||||}|{{{|{{zz{||||{}{|z{{z{{{|||||}}{|z||{{{{{}|}|{||z||{{{|{|{{|{||}|{|{|{z{|||{{|}||||{|||{||}|}}||||||{{|{|{{|{}||}}{{{||||}|||||{|||{{{{{|}{||||{|{{|{|{||||||}||}|{{||{||||}|||}{{||{z{{{}{|{}}{{{{{z|{{|}||{{||{zz{{{{{{{|{}~~~~}~~}}}}||||||}|}|}}|~~||{}|{|}|}|{||}||{|{{{{|||{||}{|{{zz{{{|z{|}}{}zz{z{z{{|||{z{||{{{z{z{{{{|{{|{z{{{|{z{z|{{z|{||zz{{{z{{{{|{|||{|{{z{{zz{{{{{{|{{{{z{{zz{|{||{{}zzzz{zzz{||{{|{{z{z{z|zz{|{{{|{{{z{{{{{z|||{|{||{{{|zz{|{||{||{}|{{{{{{|{{}|||||{{{zz{{{|{{|{}|||{|{{{{z{|{|z||{|{{{{z|{|||||||{|z{{|{{{|{|{{{|{{{z{{|{|||||z|{}{{{z{{z{{{|}||||{{{|{{z{{}|||{{|{{{{{{|{||||||}|}||{{|{{||||}|}|}{{|{{|{|}|{|||}||{{{{|||||||||||{||{|z{{}}|}}}||||||{{|||}|{||}{z{{|||z}|{|||}|{{{{{{z{|||}|{||||{{zz{{|||{|~~~~~~}}}}}|}}}|}~}}}||||{}{{{|{{}|}{{{{{{{{}{||{{{|}{{|{{z|z{|{|||||{z{zzz{{{|{{{{|{|{z{{{{z{|{z{{|||{{zzzz{z{{{{{{|z{zz{y{z{{{||z||{z{{zzz{{|{|||{|{zzzzzzzz||{|{|||{{{{z{{{{z{{{|{|{|z{zz{{{{{{{{{{{{|{|y{{|{|{||{|{{{z{z{{|{|{|||{|{{|z|{{{{{{{|||{{|{zz{{}|{{|}|{{{z{y{{{{|||}|{|{||z{zz{||{{||{|{{{{{{{|{{{{{||{{{{{{{{{|}|}}|}{||{|{{{|{|}{|}|{z||{{{{||||}|}{{|{{{z|{{|z{|||}{{|{{||{|||||||}{z{{{{||{}{}|||||{{||{|{|||||}|{{|{|{{{{|}||{{|||{{{{{z||{{{||||{{{z|{{z{|{{||{||{|{{{{{|{{|||{{|z{{{{{{{{{|{~}~~~}|||}|~}}|}}}}||{|{|{{|{|{||||||{{z|{|{{||{z|||{|{{{{{|{|{|{{|{{{zz{{{{||z|{{{{{{{z{{z|{{{{{{{{{{{z{{z{{{{{{{|{{{zzzzz|{{{{|||{|{z{z{{{{{{|{{{{zzz{{{z{z|{{|||{{{{zz{zzzz{{{{{{{{{zz{{{|{|{|{|{{{z{{{z||{{{|||{|zzyzzz{||{||{}{zzy{{|z|{|z{|{|||{|zy{|||||}{||{{}{{{{{{{{}{|{{{{|||z{{|{{{||{||{{|{z{{||{{|{|{|{|{|z|{{{|}|{|{{|{{{{{{||{{}||}{|z{{{{{||{{{}|{{{{{|{|z|||{{||}{|||{{||{|{|}|}|}{{{{|{|{}||{|||||{{{{|{{|{|{|}{|{{}{|{}{|{||}}||{{{{{z{|{||{|||{{{z{{{|{|||{|}}{{{z{{{{{{z{z{{|{{{{{z{z|{||{~~~}}|}||{|~|}~|}|||||}{{||}||||}}|||{|{|{{|}|{|{||{{|z{{{z||||{|||{{{{|{{{{|{{{{|z{{z|zz{{{{{|{||z{{{{z{z{{{{{{{{|{{{{z{{{|{z{|{{{{{z{yzz{z|{{|||{z{|zyz|{z{{{||||{{z{{{{zz{|{{||zz{{{zz{zz{zz{{{||z{z{{{{z{|{|}||{{{{|zz{z|{{{||||{{{{|{|{{||||{{{{{z{{{z||}|||{|{{{{|z{{z}z||}{{|{|{{{{{|||{}{{{|{|||||{||}{{||||{{{||{{{||||{||z{|z{{|{||||||||{{{{||{z|}|||}}{|{|{|{{{{}|{||{}{||{{|{||}{|}||||{|{||||{||||{}|||z||{{{{{}}|}|||{{{|{{|{|||||||{|{{|}|{||{|{|}}{{|{||{z{}{|{}}|||{|{{z{|{|||||||{||{{{{||{|{~~~~~~}}}}|{}||}}|}}}|}|{}{|{||||||{||||{{{z{{z{|||{|}|{{|z|{zz{{{{|}{{{{z{{{zz{||{{|{{{{{zzzz{{{z|{{{}|{{zz{z{{{z{zz|{{{{{{{zz{{|z{{{{z{z{{zzz|{{{{{|{{z{{z{zy|{|{|{||{}{z{{z{|{|z|{z{{zz{{zz{z{{{||{|{{zyzz{z||{{|{|||{zz{{{z{z{{z||}{{{{{{|z{{{{|{||z|{{{y{{{{{{{|{{{{|{{{z{{{||{{{{{{{{{{{z{{||{||{|{z{{|{||||{||{|{{z{{{{z|{|}}|}|{{{|{{{{||||{|{|{|{{{{{{|{|||{}{|{|{|{{{||{||||||{|||||{|{{|||}||{||{|{{||{|{{}||{{|||{z||||{||{|{{z{{{{{}{{|||||{{||{{{{|||{||}{z{{{|{{{|||{{}||{{{{{|{||{|{||{{{{{z{{{{z||{~~~~}~~}|}}{}|}|}}||}|{||||{||{|||}|{{{zz{{z||{|{}}|{{{{z{{{|z|{{||{{{|{z{{zz{|z{||{z{{{{z{{|||{|{{{{{zyz{{{z{{{{{z{z{zz{{z{{{{{{}{|{zzz{{{z{{|z|{|{{{z{{{zz{{{{{|||z{z{z{z{z{{y{|||z{{{{{{{{|{{|{|{{zzz{|zz{||{{|}{{{{z{z{z{||{|{{|zzz{{z{{|{{||}|{{z{{{|{z|{||{|||{|{{|z{{{{}|||||{{{{{{{z|}{|{||{{z{{{{{{|{||{|||{{{{{|{{{|{}|}|{{{{{{{|{|{||{}|}{{||{z{z{}|||||{|{z{|{{{||{|{|||{{{|{{{{|}|{{}|}||{||{{{|}||||||{{{|{{{||}|||{||{{{|{{|{{|{{{||}|{}{{{{{{|{}{|}|z{{zz{{{|{|{|||{{{z{z{{{{|||{|}{{{|{{{{{{}{{|}}~}}~||}{}|}||}}|||{|{|{|||||{||||{{z|z{{|{{{{|||z{|z{{{z|{}|{{||{{{z{{{z{{|{{{{||{zzzzz{{z{z{|{|{zzzzz{y{z{{z{z|{y{{z{{zz{zz|{{{z{{{yzzz|{|{}{|{{zz{z{z{{{|{{{{|zz{{zz{z{{z{{{||{{z{zzzz{||z{|{{z{{{zzzz|{{{z||{{{{zzz{z{||}||{|{zz{{z{{{{{{||{{{{{{{{{{{|{{|{{|{{{{{{{{{{{{|||{{z{{{{zz{{{{{{}{{zz{{{y{|||{|||{{{{z|{{{|{|}|{{}z|z||z{{|{|{|||||{{{{zzz{||||||{|{|{{{{{|||||}}||{z{{{|{{|{|||||{{{{|{|{{||||}{|{{||{|z{||||{||{{{{{{z{{|{{|||}|{|{|{{{|{|{||||{{{|z{|z{||||||{|||{{{{{zz{{{{{|{{{zzz{zz{{|{{~~}~~|}}}|||~}}}||}~|||{{{|{}}|||||||{{{{{z{||{|{{{|{||{{|{zz|{|{|{{{{{{z{z{z{{{{{{{{z{z{zzz||{{{{{{{{z{{{{z{z{|{{{{zzz{zy{z{{z{{{{z{zz{z|{|{{{z|{{{|{{{yzzz{{z|{{|{{z{{{z{|{|{z{{||{{{z{z{z{|{{{|{{z{{z{{zz{{{|{||{{{|{{z{{{||z||||{z{{zzz{{{z{|{||{{{{z{{z{||{||{{|z{{{{|{{|||}||{zz{{{zzz{{|||{{||{||{{zz{|{|{||{|{z{{{||{||{|||{z{{{z||z{|{|||}|{{{{{{{z{||}||||{zz|z{z{|{|{}|||{z|{{|{||||||}{||{{{||{|{}||||}}||{|z{|{|{|}|||}||{|||z|}{|{|}||||{{{{{z|{||{|}||{{z{{|z||||{|}{||{{|z{zz|{{{{|{|zz|{{{z{||{|}~~~}}}}|}}~}}}}}}|{|||{|||||}||}|{{{|{{{||}||{{|}|{{|{{{||{||{|z|{z{{{{{z{|||||{{|{{{{{zz{||||{|{{z{{z{{{{|{{|{{{zzzz{z{z{{{{{{|{{zzz{{{{z{|{|||{{{{{z{|z{|{{z||{{{z|{zzzz{|z{|{|||zz{{|z|{|{{||{{{{{{|{z|{{{|||{{z{z|{|{{{{{}{||{{{{z|||||{{{{||{{{{{|{y||{{{||{{|{{{{|{z{z|}}|{{{{{{{{{||||zz}|{{z{{z{{|{|{|||{{{{|z{{{|{|{||}||{z{||||||{|{|||||z{|||{||}||||||z|{|{{|||||}|||{{|{}{|||}{}|}}}|{}{z||{|||||||||{{}|{|||{||||}{}{{{{|{{{|||}||}||{|{|{||||||||}|||{{{||}||||}|||{{|{z{{||{{||}|{|z{z{{{|{||{~~}~|}{{||}|}}}}}}|{z||{{|{{{||}|{z{|{{{{z|{||||{{|{{{{{z|{||||{|{{{z{{{||{{{||{||z{z{{y{z{||{{{z{{z{yz{{{{{z{{{{zzz{z{zz{z{{{{{{{{{zz{z|{{|{{{{{{{{zz{z{zz||{|{{{z{zz{zz{{|z{{||{|{zzz{{{||{|{||{{z{z{{{z|z{|z||{{z{{z{{{|{{{{|||{{|zz{{{{||{|||||z{{{{{||||{|{{{{{zzz{z||{|}||{|{{z{{{{||||||||{|{{{{{{||{{|||{{{|{{{{z||||||}|{{z{|{|{{{{{|{||{z|{{{{{|}||}|{||z{z|{{{{}||{||}z{{{{|||{|{||{}||{{|{|||}}||{|}||{{||z||||{}||{||zz|z{|||{||||}{|{|||{{|||{||||||||{||{{{}||||||||zz{|{{{{{}{|||{{{{{{{{|{{||~~~~~~~}~|||}||||}||}}||||{||{||||}||}{|}{{z||{{|z{||||{|zz{{z{|{{|{{||z{{{zz{{{||{{}{{{zz{z{z{||{{{{|z{z{z{{zzy{{{{||zzzz{z{{z||z{{{{z{{{{zz{{{z{|{||{z{{zz{z{{|||{||{{z{{z{z{z{{{|||{{{zzzyz|||{{|{|{{{z{|{{{{|||{|}{{{{{{{zz{{{{{{|{{|z{z{{{{|{|||{z|{{zzz{||{{{|}|{{y{{y|{{|{|||{{{zz{{zz{{{{|{{|||{{{||{{{}|{|{|z|{{{z{z{{{|}||{|{{|{{{{{|z{|}|||||{|z{|{{{|{||}{{{{{{{{||||}{||}}{||{{|{{{||||{|||{{{{{{|}{}}}}}|{|||{|{}|}{||{|{z{{|{{{|||{||{|||{{|{z{{}{|}|}|{{{z{|{z{{{||}||{{zz{{{{||{||||||{{{z{{{||||{~~~~||}}}~}{}|}}}||}}z|{{{|||{|||{||{{||z{{{z|}|{{|||{z|y{zz{||||||}{{{{zz{{{{{{||}{{{z{{zz{{{{{{z{}{{z{{zz{zzz{{zz{{zz{{z{z{|{|{||z{{|{z{z{{{|z{{|{{|{z{z{{|{{{z|{{zy{zzz{yz{z{z{|{{{z{z{|zz|{{{|{||{|{z|zz{{{z{{|||zz{{{{{{{{{||{{zz{{{{zz{{{|{|{|{{{{{{|{|{{{{{|{|{z{{{{{{z|{{|{|{{{{z{|{z||{{z}{{|||{{{{||{{||{|{{z{{|z{{||||}||{|{{|{|||{|{||||{z{{{z|z{{}||||||{{z{{{{|}|{|||{{{}{{{|{|{||||}}||{{|{|{|}|||}}||{{|z{{{|}|||{||{{z{{z|{{{{{||{{|{{|{{|{||{|||||{||z|{z{{{{{||||||{{{{{{{|{||{|{{{{{{||{{{{||~}}}}}}}||}|}}}}~||{{|||||}||{|}||{|{{|{{{||{|z||||{zz{{{|{}{||{|{z{|z|zz{{{{{{|{{{{z{{{{{|zz{||{{{|{{zzz{{{{||{{{z{{z{{z{|{{{{||{{z{z{z{{{{z|||{|{{|{{{{{|{|{{{z{z{{z{z{z|{{{{{|{{{|{{z{{{{|{|||{{|{{|z{}z{{|{|{|{{z{{{|}|{{|{||||{{{z|z{{{{|||{|{{|z{z{{}{|{}|{|z{{|z{z{|{|||||z{{{{{z{{}||{|}|||z{{{{{|||{|||||{{{{{{{{||}{||}|{{|{{|{|||{||}||{|||{z{|{|||||||{{{{||{||}|||}|{|{{{{||{|{||}|||{{||{|||}||}|||{|{||{|{}||}||}||{|{{|{{||{|{|||||{||{{|||||{}||{|{|{{|{{||{|||}{{|{{{{z||||||||z{{{{z|z|||{{~~}~~}~}}}||}}}}|}}}}|||{}{|{{{|{|}}{||{{{{{{{{|{{|||z{|{y{{{{zz{{|||zz{z|{zz{{{{{{|{{{|z{{z{{{||{{{{z|{z{{zz|{zz{{z{z{zyzy{z{|{{{|{|{zzz{{{zzz|z{{{{zz{zzzyz{{{|{{||{{z{zz{z{{{z{{|{{zzz{{{zz{{|z|z{z{{{||{{{{z|{{|{{{{y|z{|}{|{z|{{{{|zz{{{{{|{|z||z{z{{zzz{{{{{||{{{{{z{{zz{|{{{{{|y{z{zzy|{|{||{{|{z{{{z{|{{{{{}||{{{|{|{}|{{||||{{|z|{z{{|{|||||{z{{{{{{{|}}{||{|{z{|{{{||{||}||{{{{{}|{{{{||||||{z{{{z{{}|||||||{||{|{{||{|}{|{|z|{{|{{}|||}{}{{{|{{{{{{{|{|}||{{{{{{{{{|||{||}{{{{{zzz{|{|{|||{z{{{{{z{{||{~~~}}||||}~|}}|}}||||||{||||}|||}}{|{{|{{{{|{{||{||{{{{{z{|{{|||||{z{{z|z{|{{{{|{{{{z{{{{{{{z{|{{{{{{z{{{{z{{{{|{{zz{|zy{{{|{{||{{{z{zzzzz{|{{|{{{{{zz{|{{{{{{{|{{{z{z{{{z{{{|||||{{z{{{z{|{z{{|{{{{{{|{z|||{{|{|{{zz|zz{{|{{||{{{{|z{z{|{|{||{||{zzz{z{z|{|{{|||{{{{zz{z{{||||{|{{{{{z{{||||||{|{{{{{{{{|||||{{||z||{|{{{|{|||||{|{|{{{{}|||{}||{{{|z{{z{{||{|{|}{z{|{{{||}|||||||{{{|{{z|||}||||{z{||{||}|}|{||}|||{{|{|||||}}||{||{{{{{|{{|||||{{||||{|}||{|z|{{{{{|{{{|||||}}{{{{z{{z|{|||||{|z|{{{{z{{|}{}~~}}}}~}|~}}|||~||}|{{||z{}{{||||}|{|z{z{{||||z|||||{{{{{zz|{||{||z|{zyz{{z|z{{||{{{{zzzzz|{|z|{{|zz|{{z{z{{{{z{{{{z{zzzzz{|{{{{{|{zz{{zzz{{||{{{|zzzz{{{{z{{}{{{||{{{yzzzz{{{zz{{{zzzzzzz{|{{{|{|zz{{{{zz{{||{{|{{{{{{z{z{||{{|{||z{z{z{{|z{{|||{{{{{zz|{z|{|{|||{{{zzzz{{{|{{}{|{y{z{{{{{{||{{||{zz{{{z{|{|{{|||zz|{{{{{|{|||{||{|{z||{{{|{}||{|||{{{{{{||||{|||{{{{z{}z|{||{|}|||{{{{{|{||{|||{{||{{{{z{~||||||||}|z{|{{{{|{||||{|{|z{||||||||}|{{{||{||||{{|{{{{{z|{{z{|{|||||{{z{z||{{|||{|{{{{|zz{{{||}{|}~~~~}}}}}}|}}}}~}~||}|{{{{{|}{|}}{|||}{|z{{|||||{||{|{{{|y{{|||}|{|||{{{{{z{|{{{{{|{z{z|zzz{{z{z|{|{z{{{|zzz{{{|{{|{{|z{zzz{|{{{{|{z{{{zzz|{|||{|{|{z|{z{zzz{{|{||{{{z|{{{y{}z{{{{|{{|z{{{z{{{|{|{|{{yz{{{{{{{{|||z|{{z|z{z{{{{{|{|{{{{z{{{{|{|{{|}{z|{z{{{{||{{|||{z{z{{z{{{{}||{|{{{z{{zz{|{z|}}{{{{{z{{{||{|z|||{{{z{|zz{z|||{||{|{{{{|{{|{||{}|{|{{{{z{{||||||{|y||{|{{|||{||}||{|{||{}|{||||{||{{{z||||}|}|{|||{|{{{|z|{|}|||{|{z{{{{{{||{||||||{{|{{{|z|||}|}{{{z{{{|{||{||||{}zz{{{{{|{|||||{z{{{{zzz||{{~~~}|~|}}~}||}}|}}|||||{|{||}|||~}|||{|{|{{{{||{|||{|{zz{zz||{||{{|{{|{{{{{z{||{{{{{{{{{|z{{{|}|{{{|{{zzzz{{{{{{{z||z|{{z{zz{|{z{z|{zz{y{z{{{{|{|{|{zz{{zzy{{z{{z{|{{{{{zzz{{{z{|{{|z{{z{{|{|z{||{|{{{{zz{{{{z|{{|||zz{{z{zz}||||{{{z{z|zz{{{{||{{}{z{{z{{z{|{|{|{||||{{{{{||{{|z|{{{|{{|{{||}||{||{|z{||z{|{|{{||{|{{|{{{{{|||}{{|{|{||{{{}{{|||}||{{{{||{|{||||{{|{{{|z{z|||{{}|||z{{z|||||{|||}|{{{|||{|{}{||||||}|||{|{|{|||{{|{y|{{||{||{|||}|{|{{{{{{|||}||||{|{{|{{{{|{{||||{|{{{{{{||{}{{|}{{{{{{{{|||||}~~}|}}|||}{~}}}}}}||{{|{{}||}||}||{{|z{{|{|{}{{|||||{z{{z{|||{{{||{{{{z{zz{{{{{{{|{{{{zy{||{{{{||{{{yy{z{{{{z|{{|zz{z{{zz{{{|{{{{{z{{{{z{{||z{|||||{{{{zz|{z{{{|{{{z{{zz{{{z{{|{||z{{zzzzz{{{{}|{{z{z{|{{z{{}{{||{{{{{{{{{|{||{|||{{{zz{|{|{{{|}}{{z{zz|{|||{||{|||{{{y{{z|{{{|{{{{z{z{{{{|{|{|{{{z{{zz{{{{|{{|{|{{{{|{{{||{|{{{{|{|{{|{{{||||}|{{z{{{{zz||{{}||||{{{{{{z}}||{{||{||{{||{{|{{|||||{{|{{|{{}|||||||{|{|{|{}|}|{}|||{{{{z|{{|||||||||{{|{{|||||{}||{||z{|{{{|{|{|}|{{{z{{|{{{{||||||{|{{z{{|{|{{~~}~~}~}~|||}}}{~}}}|||{{{{{}{{}||||{||{{{{||{|{{|||{z{{{{{z||}{||||{|{|{{{{{{|{|||{|{{z{|yz{|{{{|{|zz{{{{zz{{{{{{||zz{{{z{y{{{|{{|{{z{{{{zz{|{{|{|||z|zzz{y{{{{{{|{{z|z{{|z|{|z{{{|{{{{{z{z{{{{|||{zz{{{{z{||{{|{{|{zzz{{{z{|{{{{{{{z|{{z{z{{{{|||||{{{{z{{{||||{{||{{{{z|z{||||||{{{z|zz{{|||||{{{{{{|{{z{{||{{{|{{|{{{{|z{||{|{||{{{{{{{z|{{|||||{{{{{{{||||||||||{z{{{{{|}|||||||{{{|{|{{{||}}|||{{{{|{|{}z||}||{{{|{{{z||}||}{||{{|{{z{|||||||||}{z}{{|{|}}{|}||{|{{|z|{}|||}{||{|||{z|{}||{{||{{|{{{{z|||{{~~~}}~|}}~|}}|}|}}|{{{{{{|||}|}|}||||{{{{||{|||}|}|z|zz{{z||||||{|{{{z|{{z{{|{|}{|{{|z{z{{}{{||{||{{{{z{|{{{{{{||{z{z{zzz{z|{|{{{|{{z{{{{{{{|{{{||{|z{zz||{{{{{||{|z{|{z{z{{|{{||{{|{{{zzz{|{|z|{||||{z{{{z|{{{{||{z{{{z{{{|||||||{{z}{{{{{{||{||}{z{|{{{z|}|{||{|{{|{{{|{|{{|{}|||z{{zz{zz|||||}|{z{{{{{{||{{|||||{{||{{|}{}||||||||||||||}{|{|||||{{{{{z||{|||||{{||{{||{|||{}||{|{{|{|{{}|||{||||{|{|{||}|||||}|{||{z|{|}|}|}||||{||{{|{||{||||||{{|||{{{|}{|||||{{{|||{|||||}}|{{|{|{{|||||||}|||{{{{{{{|{{~~~|}|}||}|||}|{}}||||{{{{{||{||{|{{|z{{{{z|||{{||{{{zzz{z{|{{||{|{z{z{z{{z||{{{{{{{{zzz{{{|{{|||{z{z{z{{{{zz{{{{{{{{{zzz{z|{||{{{{{z{{z{z{|||{{|{|{{z{{z{{{{{{{{{|zz{{z{z{{{|{{{z|z{zzzy{z{{z{|||zyzzz{zz{{{{{{{{{{{{z{zz|{{z{{{|{{{{{z{z|{{z{{{}{z{{{zz{{{{|{|{{{z{z{zyz{|{||}||{{{{zz{z|{}{{||{|{{{{z{||{{|{{||{z{|z{||}|{{||{||{zz{{|{|{|||}{|{{{zzz{z{{|{{||{|{{{{{|{|}|||}||{|{{{|||||{|||~}{|{z{{{|{}}{||{||{{{|{||{{|}{{{|||{{{{{{|{{|{{{{|{}{{|{{|||{|||}{{|{{|{{{{{}||}{|{|{{{|{{|||{{}{{{{zzz{{|{{{z~~}}}}||}}}|}}}|}~||}{|{{{{||||||||z||{||{||{||z|{||zzz{{{{{|{|{||{{{z{zzz{{{{|{{||{|{{{z}{{|{{|}{{z|zzzz{|{{|z|||z{zz{{{zz{{{{{{z{{{zz{zz{{{{||||{{{{zz{z{||{|||{{z{{{{{{{{{{{|||{{{z{z{{{{{|||||{{{{|zz{{|||{{}|{|{{{z{z|z{{||}|{{{{{{|{|{{|||}}{{{{{{{z{{|{||{|{||{{{|{{||{||||{{{{z{{z{{||{{|{|{{||{{{{|{||||}|{{{{{|{|||}||||{|{{{{|{|||||||}{||{|{{{||}}|{|||z{{{{||}}||||}|{{||{||||||||}}||||{{{{|{|||||~||z|||{{|{}|||{|{{|||{{{|{|||}}}|||{{{{{{|||}|}{}{{{{|{{{|{||{|||{{{|{{{|z{{|{||||{{|{z{{|||z|~}~~~}}}}~{|}}{|~|}}|{||{||z{|||}||}{|{||{z{{|||{{|||{||z{{z{{{{z|||{||zyzz{z{{z{{|z{{{{|{z{{{||{{{{{{{zzz{z{{{z{z||{{{{zy{{{{{{{{{{{z{zzzzzz{|||{{|{{{{z{z{|{|{z||z|{{{z{{{z{{{|{|||zz{{zz{{{{{{{|{z{{{{|zz{|{|{|}}{{{zzz{{||||{||||z{{{{{{{{{{{|||z{{z{{{{{||{|||||{{{|z|{|}||{}|{|{{{{{{{{||{{{|}{{z{{|{{{{||{|||{|{{|{{{||{{|}||{|{{{{{{|}||||}{}|z{{{{{|||}{}}||{{|||{{|}|{{||{|z{{||{{|||||||||{|{{|{{}|||||}|||{{{{{|}}||{||{|z||{{{|{{{{{|}}{}{}|{{{{|||||}}{{{z{z{{{}{{||{{{|{{{{{z{|{|||||{z|{{{{{{{{z{~~}}}}||}|}~}~}|~|}|{{|{{|||||}||{||{z{{{||||{{||{||{{z{z{{}|||{|{{z{{{{z{|{{{{|{{z|{zzzz{{{z{{{{{zz{zz{{z{{|{{|{{z{{zz{{{||{z{||{{zyz{zz{{{{{{|{{{z{z{{z{||{{{|{{{{{{z{|z|z{|{}||{z{{zzy{||z||{{{zz{{{{{{|{{|{|{{{|z{{{|{||{{||||{{{{z{{||||{|||{{{{|{{{{{{|{|}{{{{z{{{{{{||{|{{{{{{z{z{{{{|{|}|{{{{|z{{|||{{|||{{{|{|||||||||||{{{{|{{|}}|||}|}|{{{{{{{{{}|{{||{{{{{{{{|}|||}}||{{{|{{{|{{||||}|{{|||{||}||{|}|{{{{{{{{{}{}}|||{{{|||{{{{|{|||{|{{||||{{|||||||{z{{|{{{|{{||{}|{{{{{z{{{||{||||{{{y{z|{|{||{~~~}~|||}||||}}}|}}|{{{|||{|{{}{|||{y||{{{{||{|{{|||{|{{{{{{{{|{{|{{{{{|{{{{|{{{|}z{{zyz|{|{{}||||{z{|{z{z{z{||{||{{y{{{{{{{{{{{{{{z{zzz{z{{{|zz}||{{{zz{{z{|{|{{||{{z{zz{z{{|{{z{|{{{zz|{zz{{{}|{|z{{{{{{z{{||{|{|{{z{{{{{{|||{|||{{|y{{|||{||{{{|{{|{z{z{{{|z|||{{{{{|z{{{|||{|{|{|z|}z{{{|{|{{|{{{{|{{{{||{{{|||{{{|z{|{|{|||}~|{{{{|{|{{}||||||{|{{|{|{{{|||{|{|{{{|zz{||||||}||z{|||||{||||||||{|{{{|{}}||}|||{{{{{{|{{||}|}{}|{{{{{|{{{{|{||{||{{{|{|||||||||{{||{{{{|}}|{||||z{|{{{{|||{{|||{{|{{{{z{|||{~~~|}|}||~}}}||}}||{|{{|z}||}}|~|{{||{z{z{{||{{|||{|z{{zz{{||||||{{{zz|{{{|{{z||}|{|{{{{z{{{|z|{{{z{{{z{{{{{{{||{{{{{{z{z|{{{{{|{z{{zzzzz{|{{{{{{zz{{{{{{z|{|{||}{{|z|{{z{{{z{|{|{z{zzz{{{{{{{||{|{z{{{{{{{{||{{|z{{{|{{{{}{{{|{}{{{{{z{{{{|{|{|{{{{|y{z{{z||{|||{{z{{{{{{||{||{|z{{{|{{{{{|}{|||{||z{|{z|||{{{||{{{{{z|{|{||||||{{zz{||{|||}|{|||{{{{{z{|||||||||{{|{|{||||}}||{{{{{{|{||||||}}||{{|{{{{{||||}||||{{{{{|}||||{|||{{{||{{{{|||||||{}{{|{{|{|||||}|{{|{{{{|}|||||||{{{|{|{z|{{{|{|{{{|{z{{{||{{~~~}}||||}}}||}}}}}||{{|||{}||||}}{{{{{{{{||{{{|{{{|z{z{{{||{||{{{|zy|{{{{||{{|||zz{{{{{z|z|{|{{|{{zz{z{{|{{{{{{{{z{{{z{{z|{{|{||{{{{z{{{{|{{{{{{|{{{{{|zz{{|{{||{z|{|z{{{|{{{|{|{{z{{{{|{{{{z{{||{||{|{{{|{|{||||{zz|z{{{||||{|}z||{zz{{||||||{|{{{{{{|{|{|||{|{{{{{{|{{{|||{|{|{{{{{|{{||{|||||{{{{{{{{||{|{}|}|}|||z{{|{||||||{|{{|{{{{|{||||}{||{{{{{|||{|||{|z{{{{{{}}{}||}}|||{{|||{||}{|}}|{||z{{||}||||||}|{z{||||||}|}|}}{|{|{{{{{{}{|||||{{||{{{{|||||}|||{{z{||}}|{|||||{|{{{{{|{|||{|{|{z{{|{{||||~~}~}}}|}}|}}{|}|}}}||||{{|{|||{||||{{|{{{{{{|{}|||||{{{{|{{{{{{||||{{{{z||{|}{|z|{{zz{{{{{{{|{{z|{{|{zzzz{zz{||{{|{z{{z{{z{{{|{z{|||z|{{{{{{{|||{{{z{{{zzzz{{|{{||{z{z{{{|z{{{{|{{{|{|zzz{z{{{{|||{{{{{{zz{{|{{{{{|{{{z{z{{|||||||||{{z{{{|{{|||{{||{{z{{{{{z{|||||{{{y|z{{{||{||{|zz|zz{{{|||||{|{{|{{{{{{{|{|}{|||{|{{||{{|||{|||{|z|{{|{{}}}}{||{|{||{zz{|||}||||{|{{{|{|}|||}}|{|||{{||{|{||||}|{||{|{|{}}||||}|||{||{||{|{}|||||{{z{{{|{||||||{{||||||||{||||}|{|{{{{{{{||}||{|{{{{{|{{|||{|||{{|{{z{||||{{~~~~}}~}}}|||||}|{}||}|{}|{|{||}||}|||{||{{{z{{||{|||}{{z{{{{||||{|||z{{z{{{z{|z{{{|{{{{zzzz{|||{||{|{{zz{{{z{z||{||||zzz{z{{z{{|{}|{{{{{zz{{{z{{|{|{{{zzzzzz{|{{{{||{{{{{{zz{{{{{{|||{{z{zzzz||{{|{|{{{{{{{z{{||||{||{{z{z{{|||||{||{{{zzz{{{{||{}||z{{{{zzz{||{||{|{{|{{{{{|{z|||{z{{{z{{zz{z|{||||{{{||{{{{|{||{|}|{{|{|z|||||}||}{|z{|{{{}|{}||{|{{{{{z{{{|{{{|}{}{{|{{{{{{|}||}}{{{|{||{|}}|}|}|||{|}{{|{}}|{}|{|{|{{{|{|}||}|}||||z{|{|||{{}|}}{{{|{{||||{}|{||||||{{|{|}|{{|||||z{|{{z|||{||{|{{{{{{{z{{|{{~~~~~~~}}}}}||}}|}}}|||}|}{{{}|z||||{}}}{{{z{{{|{||||{||{{{|z{{z{{|||{||{{{z{{|{{|{{{|{|{{z{|z{{{{|{{||{{{{z{|{{{{{{{||{{|{z{y{z{z{||{{|z{{{z{z{{{|{{||||{{{z|{z{{{||z{z|{z|{z|{{z{z{z|{{z{z{{{{{{{{{|{|{z{{{|{{{||{{|{|{}{z{zz{z|{|{{|}{{{{{z|z|{{{{|||{|{{{{z|||||||{||{{|{{{{z{|||||}{{{z{{|{|||||||{|{{{{z{{|}|{{|{|{{z||{{{{||{||||{|{z|{|||||||||||{{{{{{{{{|{|||{|z{|}{||||}|||||||{{{||{{|{|||||{|{{}{z{}|{|{}}|{|||{{{{}||{{|}|{{z{{{|||||||}||||{z{{{{|{}|||}}||{y{{{|{||||{|||{{{z|{{{|||||||{||{{zz{{||{{~~~~|}|}|}|}}}}|}~}}||{{|{{||{||}}||||{zz|{||{|{{{|{|{|z||{{|{{{|{|{z{{{{{{{|||{||{{z|{zyzz{{{{{|{{|{{z{|{{{|{{z||{{zz{{{{|{{{{{{|{{zz{zzz{{|{{{|{{{zzz{{zz{{{|{{{|{{z{{{z{{|{{z{{||zzz{z{{{{{{{}||{{{{{|zz|{{|||{|{zzzz{{{{{z{{{||{z{z{z{{{{||{z|{{{{{{zzzz|}{{||||{||{z{{||{}||{|{{{z|{||{{|{{{|||{{{{{{{||{z|{|||{{{{{|{{|}|||}||{{z|||{||{||||}{{{}{{{z|}||}{||{{|||{||{|}{{}}||{{{{||{{|{|||}{|{{{{{{{|}}|{}||{}{{{{{||}||||{}{{{|{{z|||}{||{||z{|{|{{||{|}||}{{{{|{{{|}||{||}{|{{z{{z|||||{||{z{z{z{{|{|||~~}~~~~}~|}||}|||}}}}}}~|{}{{{{{||||||}||{|{|{z|{|||{||||{{{{{z{|}{|{||{z{|{|{{z{||{{||{{{{{{{{z|{}z|z|}|{|zz{z|{{{|z{||z{{{{zzz{{{{|{|{{zz{zzz{|{{|{{{{{{{{{{{z{{{||||{|{{|z{{z{{{z{||}|{{z{{{z{z{{||||{z{{|zzz|{|{|||||z{{|{z|||{|{||{|{{z{zz{{{{{{{||{|{{{{||{|{|{|}|z{|{zz{{{{{|{|{|{z{{{{{{{}||{||{|{{{{{{{z||||{{||{{{|{{{|||||{||z{{{|{|{|{||}|}}{{{{{{{{{|||||||{z{{||{||||||}|}|{{|||{{{|||||}|}z|{||z||}|}}|}|{|{|||{|{}{||||||{{|{|{||||{{{}}{{{{|{{|}}}{|{|||||{{{z{||{||}}{{{{|{{{|{||{{|||{|{{{{{y{{z{|~~}}~~~}~~}~|}|||}~|}}}}|}|{{{{{{{{}{{{}{|{|{|{{{{||{{|}|{{|z{{{z{{{|||{}{{{{zzzzz|{z{|||{z{zzz{|{z{{{|{{}zzzz{{{{||{{{{{z{{z{z{{{{{{{{{{zz{{{{{{|{|{{{{|{{zzz{z{z{|{{||||{|{{{{y{{z{{{|{|{{zzzzzz{z|{{{|{{{z{|{z{{{{z|{|zz{z|zzz||||{{|{{{{{{{z{{{|{{}|{z{{z{|{{{{{{{|||{{{{z{{{{{{{|||{{{{{{{||z|}z|||{||{{|{{z{||{|||{z{{{{{{|{{{{|{||{|z{||||}||{{{{||{{{|||{|}|||||{|{{{z{{z|}||||}}||{|||||{|{|||||{{||{|{{|||||}}|{{|{||z{|||||}|{|{||{{{{|||||||}|{|{{{z||||{||{}|{{{{|{|{|||{|}||{{{|{y{|||{||}||z{|{z{{|{{|}}}~~~~~~~}||||||}|}|}}|}{{{||{{|}|}|}|{||{{{{z{{{||{{||}{{{zz{{y{{{{z|||{z{zz{{z{z{{{z|{{{{{{{{z{{{z{|{{|zz{z{{{{zz|{{{|{zz{zzzy{{{{z||{zzzzzz{{{{|z{|{{{{{{zzzzz{{z{||{{z{{zzy{y{{{{{z{{{{{{y{zz|{z{|||{{{z{{zy{{{|{{|{{{z{{{{{{{{{}{||{{z{zzz{|{z{z{|}{{{z{{zz{{||||||{{|{{z{{z{}||}||{||zz{z{||||{{|||{{{z{{{{|{{{{{{|{{{|{{||{||||||{{{zz{|{{||||}|}{{|{|{zz{|{|}|}{|z{{{{z{|}{|||{}{||{{{{{{{}|||}||{|||{zz{||{||}||{|{{z||{|}|||||{{{z{{{{||{||||}||||}{{z|||||||}{{{||||||}|{||}||{{z|{{{{{{}|||||z{{{z{z|z{{|~~~}}}}~}|||}}||}}}}}}|}||||{{{{|{|{||}{{{|zzz{{|{|||{{||{{{y{{{{|{{{{{{z{{zz{{{{{|{{|{{{{{zz{z{|z{{{{{{|z{{zz{{{{|{z||{zzz{zzzz{{{{{{{{{{{{z{{{{{{z{||{{{{{yzzzz|{{{|||z{z{z{zz{{{{z{|{{z{yz{{{{{|{{}}{|{{{{{{zy{{{{{|{zzz{zz{{{||{{{{||{{zzz|{|{{{||z|{yzz{z{{|||{{|}{{zz{{z{{{|{{{{{|{{{zz{z{{{||||{{{{z{{z{{{|||{|||{{z{{{{{{|{{|}}||||{{{{z|{{|||{||{{{|{{z|{|}{|}||{{{|z{{||{|{|}}{{{{z{{{|{||||||{|{z{{{{|}|}|{|}|{||{{{{||}|{||||||{{|{||{|{{}|||{{|||{{|{{{}|||{{{{|{z{{|{|{||||{{zz{{{{|||||{|{{|z{{|z}||{|~~~}~~}~~{}{|}|{}}||}}}|}|||||||}|{|{|}||zz{z|{{|{||{||||{{zzz{z{|z{}{{{|{{z{{{z{{{{{{}||{{{{z{{{{{|{|z|z{{{z{z{|z||z|{||zz{|{{z{|{|{{|z|{{{{{z{|z{|{{|{{{{{zz{z{||{||||{{{|zz{z{{z{{{{|{{{z{{zz{{{z{{|z{{{z{{z{z|{||{||{{|{{z{{{|||{||||zz{zz{z|{||{||{{{{{{{{{{||{{{}|zz{|{z{||{{||}{{}{{z{|{|{{{||{|{{{z{{{{|{||{|{|{{{||{{{|{|||{|}|{{|{{{|||{|{|}}{{z||{{{{{{|{{||{|{|{|{{{||||||}||z|{{}|{||||}|||}{|z{||{|}||||}||{{||||{|}}{{||{|{{|||{|{||||}|}{|{{|{{{|||}||||{|{{{{|{z|{||||||{{|z{{z||||{||{{{|{||{z|||||~~}~~|~}~~~|}~|}||}|}|}}}}{|{|{{|{{{}|{||||{|{{{{{{|{{|{|||{{{{{{{|z{|{||{|z{y|z{z{|{|{||{{z{z|zz{{z{{{|{z{{{z{z{{{{{{{{{{{zz{zzzz{}|{{{|{z{z{{{{{z{{|||||{|{{z{zz{|z{{z|{{{z{{z{{{{|z|||z{{{{z{{z{{{{z}||{|{{{{{z{||{||||{{{z{z{{}{|{||||{{{{z{{{{{z|{{||{{{z{{{z|{||{|}{{{{{|z|{||{}||||{{||{{{zz|{{{||||{{|{{{{{|z|{||||{{{||{{}{||||{}{{|{{{|||||{{{||{{{{{{z{|||}|||||{{{||zz{|{||{||{{z{{||{{|||}|{||{{|{{{{|}}|||}{|z{|{{{{}{||{||||{{||||{{||}||}||||{|{{|||||||{|{{|{|{{z{|{|{||||{{||{{{{||||||}{{|{{{{{|||{|~~~~}~}}~}}}}||}}||}||}}|}|}|{||{|{{|||}{||||{{{{z{{{{{|{|||{{{{z{zy{{{||||{{|{z{{{z{{|{{{{|{{{z{{|{{|{{|{{{|zz{||z{|{{{|{||{{{|z{{zz||||{||{{z{{{yz{{{z{{|{{z{{{z{{z{{{{|{|{zzz{z|{|{|{{{{|{{{{z{{|{z{|{||{||{{|z{z{z{{{{}{{{{zzz{z||{z|||}|{{{{{{z||{|{|{|z{{|zy|{||||{}|{{||{{z{z{{||{{|||{{|z{{{||{{z|}{|{{{{|||{||}{|||{{{{|{||{||{|||}|{{||z{{||||||{}|{{z{|{{}}||||{{|||{{{{{|||||{|{||z{{{{z|||||{||||{|{|{{|}||||}||{|{|{|{|}|}}||||{{|||{z|}||||}}|||{|||{{||||{||{{{{||{z{||{{|{|{z{{{{{{|||||}|{|{||{{|z|}{{|}~}}}~~~}}~|}||||||}}|}}~}|}|{{|{{{||||{||{|}|{|{{{|{|}|{|{{{{{{|{{{{|||||{{zz{{{zzz|{|{|{||{{{{z{{||{z{{{{{zz{z{z{}{z|{|{|{z{{{zz{|{|{{|{|{{zz|zzz{{|||||{{z{z{{z{z||{|{{{|z|{zz{{{{{{||{||zz{{{{z{{{|{|z{|{{{{{{z{{||{||{{z{{zz{{{{{{{{}}{z|{{z{{{|||{|{{{{zz{{zz{{|{||||{{|{{{z{{}{||}||{{{|{{{||{|{||||{|z{{{{{||{z{||{z{{{|{|{{|}{{|||{{|{|{{{{}|||}||{|{{{|y{|||||{|||{{{{{|||||{{|}|{|{{|{|{|||||}|~|{{|{{{{{}{}|}|{|{|{{{{{}{|||}||||{{{z{{|||||||{||z||{{|||{{|||}|{{{{|{||||{||{}||{{{|{|{|{}||||{||{{{{{{{{{|}~~}}~}|}~||}~}}}||{|||||||||}|{|z{{}{{|||z||||{{|{{z{{||{{{|}{{{z{z|{|{{{{{{{zzz{{z{{{{|{{{z{{z{{{{z{|{{{z{{{zz{{y{{zz{|||{z{{z{z{zz{z|{{{z{{{z{z{{zz{{{{{|{{zz{zy{zz||{{z{|{{zyz{z{z|{{{{{{zzz{yz{{z{||{{{{|z{z|{{{z{z{{zz{{|z{{{z{{{{|{{{{|z{z{{y{z|{{|||||z{z{z{{{{{{{{{}{|z{{z{{yz{{|z||z{z{{z{{{{{|{{{|{{yz{z{{z{||z{{|}z{{{{{z{||{|||||{z{{{{}{{|||||||{{{z{{{|{||||{z|{||{{{{|{||||}|{{{|y|{{z{{|{||||{y{{{{z{|}|{}||||{{{z{{{||||{{||{{{{|{{||{{|{||||{{{{{z{|{|}||||{|{{{{|{|{|||||{{{y{{z{{|||}{|{{zz{z{z{z|{{||}~}}~~~~}~}}~}}||{|||{||||}}}}}{|{{{{z||}|||||{{|zz|{z{||{{{|{{{{{z|{{||{{{{{||{{{|y{z{|{{z{{{|z{{{{{zz{{{{|z{yz{{z{z{z{{{{{{|||zz{zzz{|||{{|{{z{zz{zz{|||||{{{{{{zz{{|{{|{{{||{z{{z{{z||{{|{{{zz{{z{z{{{{|{z{z{zzzz{z{{{{|{||z{yz{z{z{}|z{|||z{|z{|z{{{{{{|||zzzzzz{{{|||||{|{{{{|z{{{|{{||{|{{|z{z|{{|{|{|||{{{|z{{z{{{{||||{{{|{{{{|{||{|||z{{z{{|{|{{||{|}|{|{{{{{{||}{|{||z{{{{{|||||}|}||{{{|{|{||||||||{|z{{{}{|{|||}|}|||{{z||}}||||||{{{|{|{|||{{|{|||{{{|{|{{|{|{}||{{{zz{|{|{z|||{{|{{||{{{{|{|{||{{{{zzz{|||{z{~~~|~}|~}~~||}}}}~||||||}||~}|}||||{|{{{|z|{|||||zz{{{{{{|{|z{{}{{{zz{{z{{{|{|{|z{{{{{z{{{|{{{{{|{|z{z{{{z|{{||z{z{zz{{{{z{{{{{{{{{{z{{{z{{{{|{{{z{{z|zz{{|z||{{{{|{{{{{{{||z{||{z{z{zzy{{{{{||z{{{{zzz{|{{{{|z|zz{zy{{{{{{}|{||{{{z{{||{z{|{{{{|{{z{zz{|{{{|||||{{zzz{{||||{|||{z{{{zzz||{{|||||{{z{{{z||z{{||{{{{z{{{{{||{{{||{{{|z{{{z{|{|||{{z{{{{{{|{|{~||}{|z{{{{z||}{||{||z{{{z{{}||||}||{{{{{}{{{{{|||||{{{|||{{{|{||{}}|{|{{|{{||||z||||{|{||z|||{{{||}{{|||{||{|{{|||{|{{{{{{{{||{|||{{{{zz{{{{}||{{}|z{z{{y{z{{{|{}~~|~}}}}}|}}|}z{{|{|{|}}|}|}||||||z{{{{{||{{{{z{{{{||zz|||||{||{z{{{{{|{{{{{|{z{{zz|zz|{{{{|{{{{z{y{z{{{z{|{{{{{zzzyz||{{{|z{{z{zzz{z{{{{|{{z{{{{y{z{{z{{{|||{z{zz{zyz{{{{{|zzzzzzz{z{{z{{|{{{z{zzz{z{|{{|{{{{z{z{{z{z|{|{{|{{z{z{zz{z|{{{{{|z{z{z{{{{{{{|zz|z{{{{{zz{{{{{|}|{{|{zz{{{|{{{|{}{{{|z{|z}{{{{|{{{z{z{{{{|{||{||{z{{{|{z{{}||||||{{{z{z}z|||{|||||{||{zzz{||{|||{{|{{{{z{||{|||}|{|{{{{|{{|||||{|{|{{{{{z{|}{||{||{{|{{{{{|||{|||{|{|{{{{||{|||}{|{{{{{|{{z{{|||{|{{z{{{{|||{|||}{{{{{{{|z{|||{|||{{{zz{{{{{z|~}}}}}}|}~}|}}}~|{|{||||||{||||||{{{z{{{||||||||{z|z{z{{{{{{{|{{|{{z{z{zz|{|{}{|{{{{z{{zz||{{{|{|{zzzz{z{{|{z|{{{zzzz{|zz{|{{{{{{z{zzz{zz|{{{z|{{{{{{zz{zz{z{{||zzzy{zz{{|{||||{zzz{|{|z{{{{{{{{{z{z{zz{z{{{{|{||{zzz{zz{|z{{{||{zzz{{zz|{{{|{{||z{z{zzzy{{{||{{{z{z{zz{z{z|||||||||{z{{{{{{{|{{{{{{{{{{{|{|{z{{{{z{z{zz{||z{{||{{{{{{{{|{|{|||{z{zz{{{|||z||||||{{{|zz{{||||||{|{z{z{{{||{{|||{{{{|{{{z|||{{|||{|{{|{{{{||||||||{{{{{{{{{|{{{|||zz{z{{{|}{{{{|||{{{{{{{{{|{{|{{|{{z{{{z||{|||||{zz{z{{{{|||{|}{zz{{|zzz{z|{z~~~~~|}}~~~|}~}|}~||}{|}{}}}}}}|{{||||{||}{||||||{|z{{{|||}|}|{{{{|z{{|z{||{|||{|{{{zz{{{{{||||{{{{zzzz|||{{{{{{{{zzzz{{{{{{{|||z{{{z{{{{{z{{||{{{z{{y{{{{{}{{|{{{{{zzz{||{{||||{z{zz{{z|{{z||{z{{zz{{{|||{|{{{{zz{|{{z{|{|{{||{{{z{zz|{|{|{{||{{z{{{{z{{{||{}|{{{|{|z{|||{||||{|{z{{|{{}|{|}{{|z{{||{{|}||||}||z|{{|{{{||||||z|{|y{{{|||}|||||{|||{{|{||{}{||{|{{|{{{||}|||{|||{{{{z{{|||~|{|||{{{{{{|{||{}||}|{z{{{|{{}|||}}||{z|{{{{|{|||{|~|{{|{{{||||||||||||{|{{{|{{|||}||{{{|||z|}||||||||{{|{{{{}{|{|}{{{{{{{zz}{|{{~~~~}~~|~|~}}}~}}|{|||}{{|{|||}|{||{{z{{|{|{{||||{{{{{z{{{|{{||{{{{zz{z{z|{||{||}{||{|{{z{}{{{{||{{{{{zz{|{|z{|{{{{zzz{z{{{{{z|{|z{{z|z{z{{{{{z{{{{{{{zz{{|||{|{{{{{zzzzz{{{}{|||{z{{{{zz{|{{{{{|z{z{z{z{{z{|{{||z|{{{{z{{{||{{||{{{{{{z{{{||{|{}|{|zzz{{||{|||{|{z{{{{{z{}||{{|{{z{{|{{zz{{|||||z{{{{{{{|||||||{{{||zz|{{||{{{|{|{{{{||||}||}|{|||zz|{{|}|{|{||||{{{{z{{||}{||}{}z{{{{{{|||||||||{{{{{||||||||}|||z|z|{{{~{}}}||||||||{|}}|{||{{|z{{||{z{}|||||}||{{{{{{||||||}~{{|z{{{{{|{{{||{{|{{{{{|{{|{||||{{{{z{z{|||{z~~}~~}~}}}~}~}}}~}}||}|}|{|||}|}|||{{{{{{{{}{{||{{||{|{{{|{|||{{|{{{|{{{{{}{{|z|{|{{|{{{zz|||{{||{{{|{{|z{{{||{{{||{{{z{z{{|{||{{{{zz{{{{{{{{{{||{{zz|zzy{{{||}{||}{{{z{z{{||{|{{|{{zzz{yy{{|z{|}|z{{z{{z{||{{||||{{{{{{{{{|||{||{{z{{{{{{{||{{{|||{{{zz|{{{|{||{{z{{z{{{|{|{|{|{|{{{||{{{{|||||{|{{{{{{{{||{|{||{|{{{{z|{{{|{|{|{|{{{|{{||||||||{{{{||{|z||{|{}}}|{{||{{z{{|||{|||{z{{{{}||{|}||}{||{|||{{|{|||}}|{{|{|{{{}{|{|}||||{|{{{{|{{|||{|{{{{z|{||||||}||{{{{|{||{{||||{{{{z{z{{||||{}|}}||{z{{{{|{|{||||{{{{z{{{{|{{~~~}~}}}~}}}}}~}}~}}|}|||||{|||}||}|{{|{{{{||{z|||{||{{{{{{{{{|{||{|{{{{z{y{|{|{{{}{{{z{{z{{|{|{{{{|zz{|z{{{z|{{z||{z{zz{zz{z|{{{||z{z{{{{y{||}||}{{z|{z{{{{{|z{{{{|{{{zz{zzz|{z{|{{{{{{{{z{|{{{{{||{|y{{{{||{{z{||{|{{z|{{z{z|{|||{|z{{{{||{|{{|||{{{{{y{||{z|{{||{{{z|{{{|z{{{|||{{{z|{|{|}|||||}|{{{{zzy|||{|{{{{{|z{|z{|||{|{||{{zz||{|||{|{|}|{|{z{{|{||z|{|{||{{{{{{{|||{|{}{{{|z{{{{||}|}|}|{{{|||{{|}||||{||{{{{{{||}||||}|{{|||||{|||||||||{{{{|||||{||~{||{{zz{{|||||||||{||z{z{{{||||}{{|{||{{{{|{||{{{|{zzzzz{{{}{||~~}}}}}}||}}}~}}}}|||||{|||||{|}}}{|{{{{{{{||{{||||z{|z|{|{|||{|{||{|{{{zz{{|||{||{z{yz|{{{}{{{||{|z{zz{{zz||{{{|{zzz{{{{z||{|{z|{zz{zz{{{{|{{{{|{|{{zz{zz|{{{|{{{|{{zz{{{z{|{{{{{{{z{{z{{{{{{z|{{{z{z{{z{{|z{{{||{{{{{{zz|{{{|{||{{{z{{{{{||{|{||zz{{{{{{{{{{|{z|z{{{{zz{{|{{{{{{{{{{|{|{{|||||{{{{z|{z{{|{}{{{}}{{{{{{{{|{|||{{{{{|{{|{{{{|||}|||{|z{{{||||}|}||||||{{|{||{||||{|{{{{{{{||{||||{{{{zzz{||{||{||||{{{{{{|{||||}}||{|{{||{}{|}||||||{|{{{{z{||}||||{z|{{|{||{||}|{{{|y|{|z||{|{{||{||{{{{{{|{||{||{{{z{y{{{|{||~~~}||}~}||}}}|}}}}~|}||{|{||}{}}|}||{{||zz{{|{|}}||z|{{zz{{}||z|{{|{{{{z{z{{{||{|||z{z{{{zz||zz|||{|z{z{zy{{{|{{|z{{zzyz{{|{{|{|{}zzz{{zzz{{|{|{{||zz{zzz{{z{{||||{{zz{{{z|z{}z|{|{{{{{{{{z{{|{{zz{z|zzz{z|{z|z{|{zz{z{|zzz{||{{||{{{{||{{{||{||{{|{{z{{{z{|{{{{||{z{{{{z{{{||||{{{{{|{zz{z{{|{|{||{|{{{{zz||{|{|{{{{{|z|{|||{{|||{|{z{{{|{|{||{||||{{|{|{||{{||||{{{{{{zzz|}{z||{|{z{|{{|}|{|}|||{{|{{{||z||{|||}|{{{{{{|z|||||}||{{|{{||{|}|{}|{|z{||{{|||{|{||||{{{|{{{|}{||{|||{|{z{{{||{|{|}|}{|{{{|z{||{}||{{{{z{z{{||||{~~~}}~}|{}|}}~}|||}||||{{{{||}||}}||{|{{{||{{|||{||||{{{z{{z|{|{{{|{{{z{z{{|{||z{{|{{{zyzz{z|{z{{{{{{zz{{z{z{{z{{{z{|{zz{z{|{{{|{|{{zz{z{{{z{{{{{{{zz{{{zzzz{{z{|{{{z{{{zz{{{z|||||z{zz{zzzz{|{{{||{|{z{{{z{{{|{||{z{{{zzzzz|z{{{{{|zz{{{{{{{|{{{||{{{z{z{{{{{{{{||{{{z{{z|{{|{{{||{{z{z{|{{||{{|{{{{{{z{{{||{|{|{{|{{||{{{||{{{||z||{|{{z{{|||}||{{{|zz{{||{{||}||{{||{zzz{|{{|{}|{{{{{{{{||{||||{{|{{{{{|{{{||||{|{|{{|z{||||}|||{{{}{{|z|{|||}}}|{{||{{{||{|}}|}{{|{{{||||{{|{|||{|{{{{z{{{|||{}|z{|{z|{{{{|||||{{{{zz{z{|{{|~}}}|}}|||{}}}}|||}||{||{|{|{{||{{}|{{{{{zzz|{|}{|{{z{||{zz|{{{{{}{|y|z{z{z{{{|z{|{{z{{zzz{{{{{z{{{{z{z{yzz{z{{z{zz{z{zzzzzz{zzz{z{{z{{zy{y{{{{{{|z{{y{{zyzz{|{||{{{{{{zzzz{|{|{{{{zzz{zzzz{zz{{{||z{zy{zzzz{{{{|z{zzzz{zzyz{z{|{{|z{z{{{{|{{{{zz{{|{z{zz{zz{|{z{{||{{yzz{{{{z{{||{zz{z{z{zz{{{|{{{{z{{{{z{{|{z{{|z{{{{z{{{|{{zz{{{{{z|{{{{{|{}||{{{{{{{{{{{|{{{{|}{{{zzz{{|||{|{|||z{z{{{{|}{{|{||{{{{{{{{||||||||{{{|{{{{{}|{||}||{}{{z{{{{||||||}z{|{{{{}||{|{{}{{{z{{{{{{|||{||{{|z{{z{z{{||||{{{z{zz{{{||{{{{|{{{z{zz{|{|{{}}}|}|||||{||}|||}|{{{|zz{{{|}{{}z||{|z{zz{||{|||||{z{{z{{z{{{{{{{|{{{{zz{y{{{{{{{|zz{{zyzzz|{{z}{{{zzzzzzz|z|yz{{zzzz{{zz{{zzz{{{|{{zzzzzz|zz{{|{|{{{zzzy{|{{z{{{z{zzzz{{z{|{z{{{{zzzzzzzy{{{{z{{{{zzzzz{zz{zz{|{{{zzz{{{z{zz{z{|{{zzz{z{z{{|{z|{{{z{{{z{{z{{{{{{{y{{zz{{{z{{{||{|{{z{{z{{{{||{|z{{zzz{{{{||||z{{{{zz{{{z{{|{{{{||{yz{{zzz||{{{{|{{z{{{{{{{||||{|}{{{{{zzz|||||||||z{{z{{z|{{|{{||{{{{{z{{{{|{|{|||{|{{{zz||{||{||{{{z{{{{|||||{|||{z{{{{{|{{{|||{||{{{{{{||{|{||||||{{{{{{{{|{||{{{z{z{{{|||{|{|{{yz{zzzy{{|{{~~}|}}|}|||{|~|{|}||{|{{{{||{|||||}|{|z{{{z||{|{||{z{{{z{zz|{{|{{|||{{{z{{z{|{{{{{|{z{zz{z{z{{zz{|{{{{z{{{z{{|{{{{{zzz{{z{z{{{{{{||zzzz{{zy{{|z{{{{{zz{y{z{|{|z|||zzz{{zzz{z{{{z{{{{{z{{yzz{{{z{{{{z{z{{z{zz{z{{{{zz{{|z{{z{z|{{||{{zzz{{z{{zz{{{}|{z{{{z{{z{|z{|{{|{zzz{zz{z|{{{{|{{{|{z{z{{{z{{|{z{{{{{{{{||||||z{zz{{{{{{|{{{|{|{{{zz{{{|{}||{{|z{{{z{{{{{|}z||||{z{{{{||{{||||{{{{{{{{||||{}||{|{{||||{|{}|||||}{{{{{|{{}|||{{||{|{{z{{|{|{{{|{{{{{{zz{{}|||}|||z{z||{{|{||}|||{z{z{|z||{{|{|{{|z{|{{{{{{{|z|||{z|{|{{zz{{z{|}}|}}}}{}|}}}}}{}}{|||||||}|||{}|||{|{{{{z}}|{}|||{{{{{zz||{|}||||{{{{{z{{{||{|}|}{{{z{|zz{{z{{|{{z{|{z{z{{z{z{{|{zz{{{zz{{{{{{{{{{{{{{zzz{|{{{|z|{zz{z{zzz{z{zz|{{{||zz{{{{z|{{{|z{{{zz{{z{||z{{{{{{{{{{{{{zz||||zzz||{zz{|z{{{{|{{{yzz{z{||{{|{|{zz{zy|{{|{|{|||{{{|{{{{||{||{|{|z{z{{{{{|{||{{{{{|{{{{{|||{{{|{z{{|{z{z{||z||{{{||{|||{||||||||{{||{{{{|{{||||}{{{{{zz||||}z|||{{{{||{{{|||}{|||{{{{|||||{{{||||{{{z{{{{}|}||}||{{{{z{z{|||}}|||{{|{{|{{||{||||||{{{}{|||{|||||{{z{{{{{{{{|{||{{|z||{{{|{{||||{{{{{{z{z{||{{|}||}}}|||{}}}}||||{{{{|{|{|}{|||}||{{z{{|{{{{|||||z||{{{{{{{||{{||{{{|{{{z{{{|||{|{z{{z{z{{z{|{|||z{{z{{zz{{|{{{|{|zzz{{zz{{{{{|{{zzzz{zz{{{{{z{{{{zzz{zzz{{{{z|{|zzz{{z{zz|{|||||{zzzzzz{zz{{{{{{{{{{zz{{z{{{||{{{{{z|{z{{|{{{|{{|{{z|z{{z{|z{{||z{{{z{{{{{{{{{{{zz{{{{z{|{||{{|{{{{z|z{{|||{{|{|{z{{z{{z{|||{{{{|{z{{{|{|||{{||{|z{{{{{{{|{||||}{|{{{{{{||{{|}||{{{|{z{{{|||||||||{{{{{{{|{z|{||{z{{{{{|||||||{|||{|z{|{{}|{|||}|{||{z|{||||||}{||{{|{z|{||||||}|{{{|z{|{|||{|||{||{|{z{{|{{||||||{{{{|{{||}{{|{{z{{zzz||{|{|~|}}||}|||}||}}}||||{{{||z||||||}||||{z{{{{{{{|{}|{z{{z{{{{z{z|{z|{|{z{{{{z{z|{||{|{{{{|zzzz{||{||{{z{{{z{{zz{{{{{{{y|zz{zz{{{{|{|{{{{zz{zz{{||z|{z{z{{zzzz{|{{{{{{zz|zzzz{z{{{{{{z{zzzz{z{z|{zz{{{{z{{zzy{{|z{{{|{{zzz{{z{{{{{|||{|z{{z{zz|{|zz{{|{{zz{z|{z{{{z{}|{{{zz{{{{{|{{{|||z{{z{{z{{|{|||{{{{{z{{z|{||{{{|{{{{zz{{{{|{z||{z{{{{{{{{{|||||}zzz{{{|{|||||{||{{{|{z{z{|{|{||||z{{|{{z{}{z{|||||{z{{|{{|{{|}||{||{{z|{|||{{||||{z{z|||{|}{|{{{|{|{{{{{|||{{||}|{{z{z|{{}{|||{}{{{{{z{{z|{{{{{|}{z{zzz{||{||{|z{z{zz{{z{{|{{}}~}||||}|{}}}|}||}|||{||||||{|{||}{{|z{|z{{{|{|||||z{{{{|z|{{|{|||{{z{{z{z{}{|{{{{{{{z{{zzz{{{{{{{{|{zz{z{{|{{{||z{{z{z{zz{{|{{{{|{{{z{zzz{{{{{z{{{{{zzz{{{{|||{{|zzz{z{{{{|{|{{}|z{zzzz{yz|{{z{z{{z{z{zz{{{{{{{{|{|{zzzzz{|{{{}|{zzzz{zzz{{{{|{{|zzz{{z{z|{{{{|{{{zzzzz{{{{|{{|{{|{{{{{z{{|z{{|{{{{{z{{z{|{{|{{|{|zz{zz{{{{{|z{{|{|{{{zz{{{||{|||{|{z{{{{{{{||||||{z{{{z{|{|{{|}{}{{z{{|{|||{{|||{{{|||z|{{{|}}}||{|{z|{{||{|||{}|z{|{|{{||||{{{||{|||{{{{{|{|{{||{{|{{{z||{|{{||{{{zz{{{{||{||}{|{z|z{{|||{{{||z{{{z{{zz{||{{}}}}||{|}||}}|~}|}~|}{{|{{|{{|||{|||{|{z|{{||{{{{}{||{{{zz|{|||{|{|{{{z{z{z||{{{|{|zz|z{{{zz{|{||{{{{z|{z|{z{{{{|||z{{{zzz{{{{{||{{{zzz{z{z{{{{{|{{{zz{{{zz{||z{{{|z|{{z{yzz{{}{{|{{{{z{{zz{{{{{|{z{zzz{{z{z{{{{|{{{z{{|{z||{{|{{{{{z{z{|{{{{|z{z{||z{|z{{z{{{|{|||zz{{zz{z|}{{|{|{z{{{zzz{{||||||{|{z{{{{{{{{{{{|{|{z{{{{zz|{{{||{z{{|{|{{|||{|||{|||z{{z{{|{|||}||z{}|{{|{}}{|||||z{{{{{z{|{||}||{|{|z{{|||{||||||{{|{||{{|}}}|}||{{}|{|{}{|||||{|||{{{|||||{{}|}{|z{{{{|{|||{|||||{z|zz{{{||{|{|{{{{{{{|{|z|||{{{{{{{{{|{|z{|}}~}|{{{|{||}||||{||||{{{||{}{{{}|||{{{z{{{||{{||||{z|{{z{{{{||{{||{|{zzz{z{{z{z{||zz{z{zz{z{{z{|{z{z{z{zyz{z|{{{{|{{{z{zzz{{{{{|{|zzzz{yz{zz{z{|{{zzz{z{{z{{|{|{|||{{{{{zzz{{{{{|{{zz{|z{zz{{yz|{{z{{{zzzzz{{{{z{{zz{z{zzy{{{|{{{{{zzz{zz{{{{{|{||{{z{z{zz{{{{{{{{|zz{{z{|z{{{{{{{{z{{{z{z{|{||{{{zzz{z{zzz{||{||{{{zz{z|{{|z|{|{{{{{z|{{{{{{}|||{{{|z{{|{}||}{|||{{{z{z{{{{|||{|{{z{{{{{y|{|||||}{z{{{{{{{{|{{|||}{|{{{{{{}||||}||{{|z{|z||||||}||{{{{|{|{|||}|}|||{{{{{z{||{|||}{{{zz{{z|{|{|||||{|{{z{{|{|}{||{{{|{zyzzzz{{|}|}}}}}|{|z|}}|{|{||{{{{{|{z{||{{}}||{z{{{{{{{|{{||{{{{zzzz{|{z{{{||z{{zzzz{z|z{{{{{{{zz{{zz{{zz{{{zzy{z{zz{{|z{|{z{{zyzzzzzzzz{{{{{{yzz{{z{z{|z{{{{zzzyz{z{z|{{{z{{zzzyzz{zz{{{{||{z{zyzzz{{{zz{{|zzzzzz{z{{{z{{}{{z{{zzzz{zz{{{}{z{z{{z{zz{{{{{||{z{{{z{{|{{{|z{{zz{{{z{zz{{{{{{{{z{zz{|z|z{z{|{||zz{zzy{{{{|{||{{{z{zzzz{|{{{|}{{{{{|{{{{{}{{||{{z{{{|{{{|{{{{||{zz{|z{z{{{{||{|z{|z{zzz{||{{|{|{{{{z{{{{|{{{|{|{{{z{{{{||}||||||{{{z{y{{{||{{{{{{{|{{z{{z|{||||}{{{{{{{||{{{|{|{z{z{{{z{|z|||{||{{{{|z{{|{|{{|z|z{zzz{zz{|{{}}|||{||{|{}}{||||}{{{|{|{|{{{{{{||{z{z{{{||{||||}|{{z{zz|{{{{|{{{}|z|zzzzz{{{{{|{|{{z{|zzz{z{{{{{{|{{z{{z{z{{{{{{{{z{zz{zz{y{z{{{{zzzzzz{z{|{{{||{{{{zzzy{{zz{{{z{zz{{yz{z{|{{{|||{yzzzz{zz{{{{{{z{zzzzz{{z{{z|{{{{z{{{z{z{{|{{{||z{{z{|{{z{{{{{{{{z{{zyzy{{{|{|{{zzz{zz{{|{{{{{{|{z{z{z{z|||{||{|{z{{zzz{|{{|{|{{{zz{{z{{|{{{{|{{{{{{{{{|z{{|||||z{zz{{{z{|||||{|{z{{{{{z||{|||}{|z{{{{{{{}|||||{{{|{{||{||{||||||{z{z{{{z}{||{||{{{{{{{{{||}{||}{{{{{{{|{|{{{}{|{|zz{z{{{|{||{||{|{{{{{z|{||{|||{z|{{|{{{|{{|||{|zzzzzzz{|{{z}||||{{{{{{|}|{|{||||{{{{|{|{}||}||{{y{{{{{}|{{|||{|{yz{{{zz{{{z{z|{{{{zz{z{{{z{{{|{{|z{{z{{{zz{{{{{zz{{zzz|{{z{|z|zz{{z{zzz|{{{{{|z{{z{zzzy{|z{{{{zzzzz{z{{{{z|{{{{{{{z{{z{|{z{{{|{z{zzzzyzz{zz|z|zzzzzy{{zz{{z|{{{{{zz{{{{{{|{|{|{z{{z{{z{z{{{{||{zzzzzzz{z{{z{{||{{zyzz{|{{{{{{{|{{zz{z{{{|{||{{{{{{zzzz{{{{{||{|{z|zz{z|{|{|||{{zz{{{{{z|||||{|||zz|z{|||{||||||z{|z{|{|{{|||}|{{z|z{|z}{{||{}|{{{{z{|{||||}}}}{{|{z{z{|}}{||||{{|{{{|{|||{||}{|z{{||{z||{}||||{{{{|}z||{||||{|{{{{{{{{{{|||||||{{{{{z{{||{{{|{{||{|{{z{{{{{|}}|||{|{{|{|~|||||||{{{{|{{||}|||||{}z{z{z{{{{{|||{{{zz{z{{{{|{||{{z{zzzzz{|{{|{||{{zzz{{{z{{z|{{|z{{{zz{{z|{{|{{zz{{zz{zz{{z{{|{{{z{z{zzyz{|z{||{zzz{{z{{{{{|{{{{{{{zzzz{{|{{z|}{{{{{z{{z{{{z{{||zz{{zzzzz|z|z{|{{z{{z|{{|{z{|||{{{{z|{z{{{{{{|{|{{{{{{{z{z{{{z||{{z{{|{z|{{z||{{|{{{{|{{{{|z{|{|zz{zz{{z{||{z{|{{zz{{{{z{|{{|||||{{{{{{{{|{|||||{{|{{{{||||||||||{{{{z|z{|{{|}||}{{|z{{{}|||{}|||{{{|||||||||||||{z|{{{{{|{|{{||{{{|{{{{|{|{{|||{||{{{|{{{{|{||}{{{{|{{{|{|{|||{{{|{{{|{{{||{{~|z|{{{y{{z|{|{{{{{|||{z{{{||{{||}}|||{||||}|||||}|||{|z{{{{|{||||{z{{{{{{}{}||{||{{z{{zzz|{||{|{{z{{zzzzz{{{{z{z|{z{z{{z{{{|{{||{{z{{{zzz{{{z{{{{|{{zz{z{{z{{|{{{{{zz{z{z{|{z{{|{{z{{zzz{{{|{{|{|z{{{zz{z{|zz{|||{z{zzz{z{z{{{{{{|z{yzzz{z|{z||z{z{{{{{{{{|{{z{}|{z{{z{{{{{{|{{||{z|zz{z{{{z{{||{y{z{{zzz{{|{z{|{{{{{zzzz||||{|{{{{{|{zzz{|||{{{{||{{{{z{{||{||||{z{{{|{{{{}||{{{{{{{{{{{|z|}||||{{z{{{zz|||{{|}z|{|{{{{{}||}{}||{{{{{{||{|}{|||{|z{|{{||z{{|}{{||{||z|{||||}||{||{{{{{{|{|||}|||||{{|{{{|||||{}||{{{{{|{{||||{}|{{{{{{{{||{z{|||z{|{{{{zz||{{}|}||}{||{{{}|~}{||{{|{{|{{{||{{||~||{{{|{{|{|{|{}|{z|{{|z{{|||{||||{{z{{{z{|{{{|{}{zz|{{zz|{|{{|}zz{zzz{z{|{{{{|z{zz{z{{z{{|{{{||{z{{{zz{z{{{|{{|{zzy{{zz{{{{{{|{|{{{{yzz{{z{{{{}|{{{zzz{{{|{{|{{|{{zz{zzzz|{{{||{zz{{|{z{{{|{|{|||zz{{zz{{|{z|{{{{{{{{|{{{{z{|{||{{|{zz{{{{|{{|{|{{{{{zzz{||||{|{|z{||{{{{{||{{|{|zz{z{z{||z{{{{||{{z|{{{{|{||||{{{{{{{{z{{||{{|||{{|{z{{}||}|{{}{z{||{|{|||{|}}|{||{||{|{|{}}|||||||z{zz{}|{}}}||{{||{{{||{|}}|||{z{|{{{|{{{|{|}{{{{||{z||{||}||{{|z{{|{{|||}||{{{z|z{{{{{{||{|{{{{{{{{z|z|||}}|z{{|||}{{{||{||||||z{{y{||{||}||}{{{{z|{|{{{{|||{{z{{{{z{||{{|{|z{{{z{{z{{{{{{{{{{zzz{{zz|{{{|{{{{z{zz{z|z{z{|{{{{{zzy{z{zz{{{{zzzz{z{zz{{{{{z{{{{zz{zyz{{|{{{{zzz{{zyzz{{{||{{|zzz|{zzzz{{{{z{{z{yzzzzz{{z{z||{{zz{zz{z{z{{|{{{{yzzzzz{z{{|{{{}zz{z{zz{{z{{z{{|z{{z{{z{z|{y{|{{{z{z{zyz{||{|||||{{|{{{{{{{z||{{{zz{{{{{{|{z|||{|z{{{{{|{{|||||}{|{z|{{z{{{|{|||{{|{{{z{{||||{||}z{||{{z{|{{}{||{z{zzz|{||{{|||||{{z|z{z{|{|{{|||{||{{{{}{|||{}||{|{{{{z|{{{|{}|{{{z{{{{{|{|||||{{{{{|z{||{|{||{|{zz{{zzz|{|{z{{z{{z{yzz|||{|}|{}{{{{||||||||}||{{{{z{zz||{|||{|{{{{{{z{|{|{z|{||{{zz{{||{|{|{{|{{z{{{{z{{{|{||{{|{{zy{z{{z{z{{{{zz{{zzz{z{{{{|{zzzzzzz{z{{{{z{{yz{zzzzzzz{|{{|{{{{{zzz{{||{{{{{{{zzzzzzz|{{|{{z{{z{z{{{z{{z{|{{zy|{zzyzz{{|{{{|{yzz{{z{{{{||{|{{zzzz{{{z{|{{|{{{{{zy{zz{|{{{||zzzzzzzz{zz|{{{{{zz{zzz||{z{|{|{|{z{zzzz{{{{{|z|{{{z{{{{{||{{{|{{|{|{{{{{{|{|z{||z{z{{{z{{|z|{{||{{{{{{z{{||{||||{{{z{{|{{|{||{}|{z|z{|{{||{{{||||{{{z{{z|~|{{||||{|z{z{{{{{|{|{||{{|{{z{||{{|{|||{{{{{{{|{{||{|{{z{zz{zz|{{||{{|{{{{{{{{{{|{{{}|{zz{zz{{{|{{||}}|{||zz{|||}{{{||||{{zz|{||{{}{||{{{{{{{z|{|{|{{{zz{z{{z|||{}{|{|{{{zzz{z|{||z{{|{z{z{z{z|{{|z{{z{{zzzzz{|z|{{{|{{{{{z{{{{{{{{||{{{z{zzz{{|{{zz{z{|{{z{y{z{|{{{|{|zz{zz{z{{{||||{{{zz{zzzzz{|{{{z{y{z{zzz{{{{|{{{{{{z{z{z{{|||||{|{zz{{y{{|{{{|||z{{{{z{{{z|{{{|||z{z{{z{{{|{{||||{{{{z{{{|}{{{|{{{{z{zz{{{{{{{}{|z|{{z{z{|{{{}|{|zz{|{zz{{{||||{{{{||{||||{|{||||{{{{{z{||{|||}|{{z{{{z{}}|{||}}{{|z|{{{|{{|||||||z|{z{|{||||{{|{{z{{{{{||}~||||}|{{{{{{|}{|||||{|{{||{z{|{||||||{zz{|{z{{||||||||{|{zz{{|{||{||zz{{{{|{||{{{|||||{|{{{{{||{{|}|{|z|zzz{{|||||||z{{z{z{z{{{{{{{}zzy{{z{{{{{|{z{{{{zzzz{z{{{|{||{{{{{yzz{{|{z{z{|zzzz{zz{{{|z{{{{{z{z{zzz{{zzz|{zz{zzz{{{{{{z{{{{{zzyzzzzz{|z|{{{|z|zz{{z{|z{z{|{{y{zzzzy{|{yz{{{{z{{{zzzz|z{{{{{zz{{{{{zz{{{{{{|{z{z{{{zz{{z{|{{{{{z{z{{{|{{{{{{{{{{zz{{{|z{|||{|{y{zzz{z{|{{|{|{z{{{zzz|{{|{||{{{{|zz{z{|{|{{||{{zzz{z{{|{{||||{{{{{{{{||{||}|}{|{z{{{z{|{|{||||{{{{z{{|||{{{|||{{|{z{{{z{{||}{{{{|{{{zz{{|{{||{{|{|zzz||||{||||z{{|{{||||{{{||{{{{{z{{{{{|{|||{{{{{{{{{{{|{~|{||{zz{{z}|{|{{{{|{{z{z{{{{{|{}}||{{{{||{{{|||{|}{zzz{|{{{|}z|{{||{{zzz{z|{{{{|||zz{{z{{zz{z{{{|{{zzz{z{z{z{{{{{{z{zzz{{zz{|{z{{{{{{{{zyz{{{{z{{|{{{zzzzz{{{{{{{|zzzzzy{z{{||{{{z{zzyzy{zz{{z{{{{{zz{y{zz{|{{{z||zzz{{yz{z{{{{{{|{{zz{zzzz{z{{{|{{{zzzz{zz|{{{z|{{z{zzyz{{{{z{{{{y{{{{zzzzz{{{||{zz{z{zzz{z{|{|{|zz{yzz{{|||||||{z{{zz{zz|{|{{{||{zz{{z{{{|||{{{z{{{z{|{{{{{||{{{{z|{{{{z{|{|{|{{{{{{{{zzz{|{||{|{zz{|{{{|||{{{}{{|{zz||z{{{{{|}|{{{|{{{{{}|{||}|{{{{z|{{|||{|||||{{{{z{{||{{|||{{|z{{|{{{{||{||{{{{zz{zzz|{||{|||{{{z{{{{z|{{|{{zzz{{zzz|{z{z{||{{{{{{{z{|||{{||{{{{{{{{||{{||}{{z{{{{zz|{{|{{{|z{{z{zz{{|{|z{{{{{z{{zzz{{{|{|{|{z{yy{{zz{z{z|{{{{{y{{z{{zz{z{{|{z{z{zzz{zzz{{{{{zzzzyy{{z{z{{|{{zzyzzz{{|{{{z{|{{{zyz{{{|z{{{|}z|{z{z{zz{{z{{||z{zzzzzy{{{{{{{z{zz{{{zz{{{{{|||{z{{{y{z{{{{{{{{z{{z{z{{{z{z{|{|zz{zzz{z{z|{{||{{z{{zz{z{|{|{||{{|{z{{z{{z{{{|{|{y{|zz{{|||{{{|||{z{|{|z||{|{{|{{z|{{{{||{{|{|{||{z{{zz{{|{||}{}|z{z{|{z||{||||{|{z{z{{{{{|{|{{z|{{z{|z{z||||{|{{|{{|yz{{{{|}}|{{|{{|{{z|{{||{|{{{z||{zz{|{{{|||{{{y{z{{z|{{{||{{{{z{y{z||{{{{|{{z{zz{zz|{{{{|||{{||{{|{{||{{{||{{{|{z{{{|{|{|{||{zzz{{z|{{{|}{|z|{{|z{{{z||{{|{{{{zz{{z{{{{{}{{{{{z{zzzz|{z{|{{z{{zz{{{z{{{|{z{{zzz{zz{{{z|z{{{zz{z{y{{{{|{{z|{{{zz{{{zz{{{{{{{z{z{z{zz{|{{z{|z{{{{{z{zzz{{{z}z{zzzzz{zzz{{{z|{{{{zzzz{zz{{|{{{zy{z{z{{{|{{{{{{{zz{zzzz|{{z{{z{{{{{z{z{z{{{{|{{{{zz{yz{{{|{|{||{{|z{{z{|z|{{{|{{{z{{z{{||{|{|{|{{{{{{{{|{|||{||{||{{z{{{|{{z{||{{z{{{{{{||{|{}||{z{{{{z||{{|}||{{zz{{{|||{||{||||{|{||z{}|}{|{|}{{{{{|{|{|||{|{|{{{||{|{{{{||{{{{{{{||z|{|}z{}|{||zz{z{{{{{||}||zzzz||{{{||||||{{|{{{{z{{{{z}||{|zz{||z{||||||||{|{z{{{{{||{|{||||{|{{z{|{{|{|}z|{{{z{{z{||z|||{zzzzzzzz{{{{|{|{|z{z{{z{{{{{{|{{|{zzzzz{z|zz||{{z{z{zz{{zz{{|{|{zz{{z{z{{{{{|{{{{{{{zzy{{|{{||{{z{zzzz{y{{|{|{|{z{zyzz{zz{{{{{{{zzzzzzz{{zz{{{{zzzz{{zz{{{{{z{{{{zzz{{zz{{|{{z{z{|{zz{z{|{{{{||{|{{{{y{{z{{|{||{zzz{z{z{{{|{|{|zz{z{{{z{{|{|{|{{y{{{z{z|{{{{|{|{{z{{{{{|{|||}||z{{{{{{z{{{||}|{{z|{{|z{|||{}{|||z{{{{{{{{{{{{{|z{|{{{|{||{|||{||{z{{|{{{|||||||{z{{|{|{{}||{||||{z|{{zz|{||{|||||{{{z{{{|}|}}||{|{zz{{{|{{{|{||{{{z{{{{|||||z{|z{{{z{zy{{{{{}{}{|{{{{{z|||||{{{|{{{zz{z||{||||{|z{{{{zz{||{|||{{{{{|{{{z{||zz{{{zzzzz{zzz|z|{{{{z{z{z{z{{{{{{z{zzzz{z{z{|{zz{|{{z{{zyz{{{{{{{{{zzzzzz{z{{{|{{|{{z{{zzzy{z|{|{{{{z{zyz{z{{{{{{|{{z{z{zzzzz{{{{z{z{{zzzzzz{z|{{{{zz{{{|yz{{{{{{||{z{z|{zzz{{|{{|||zzzzz{{|{z{{{|{z{zzzzzz|{|{{{|||zz{{z{{{|{{z{{{{z{{z{{y|z|{z|{|yz{z{|{{{||{{{|{|z{z|zz{|{}{{|||z|{z{|{{|{{|{|||{{{z{{{{|{{||{}{{zz{{z{{||{{|{|{{{|z{|{{|{{|||{{|{{{{|{|{|{{{}||{{{{{z{{|{{||}||{{{z|{{z{||||{||{{{{|{{z||{{{|{{||zz{{{{{{{{||}{{{z{{z{{{{{{{{|{z{zzzzz{{|{{|}}|z{{{{{zz|}}||||}|{z{|z{{z|||{|||{|z{z{z{|{{|{{{||z{y{zz{{{{{{{|{z{{z{{zz{{{|{|||{{{|z{zzzz{{{{{z{{{z{|z{{z{zz{{{zzz{zzz{{{z{{{{{z{{zzyz{z{{{{{{{{zzzz{yz{{{{z{{{z{z{zyzyz{{{{{||zzz{z{{z{z{{z|z|{zzz{zzzz{z{{|{{z{zz{z{z{z||{{{{{{{z{z{{z{{{{||{z{{{{zyz|{{{{{{{zz{{zz{z{{{{{|{{{{zzzz{{{{{{z{{{{z{z{{zz{{|z|{|{zzz{z{zz|{||{|{{{|{{{zz{|||}{|{{{|{z{{{z||{{||||{{{z{{{z||||z|{{{zz{{zyz{||{|||{z{z{{z|z{||{|||}|{z{{{|{{|{||||||z|{z{z{{{||{}}|{{z{{{{{{{{{{|||{{|{{{{|{|{|{|{|{{{{{z{zz|{{{{{|{{zz{z{z|||{{{|{{zzzzzzz{{|{|{|||{||z{{z{|z{{{|{|{{{{zz{z||z||}{{zz{{z{{|{{z{|{|{|{|{{{zz{|{{||{|zz{zy|{z{{{{z{|{{{z{{z{{{{{zz{z|z{z{{z{|{{zz|||{zzzz{z{zz|{{{{{{z{zzy{z{{|z{|{zz{z{{{z{{{{{|{{{|{{zzyzzz|{|{{{{zz{{zzzz{z|{{||{|z{y{zyz{z{{{{|zzzzyz{z{{{{{|{{{{z{zzz{z{z{{|{{|zzz{zzzz||{{{{|{{{zzy{{z{{z{{|||zzz{zz{zz{{{||{{z{{{{{{{z{{||||{|{zz{{z{|{{|{|{{{{{{{{z{|{}|||{{{{z{|{{{z|{}{||||{{z{{|z||||{|{{{z{zz{z|||{|||||z{|{|{{z||{|{|{|}{{{z|{{||{|||||{{{{{z{z}|{|{||{{{{{{{z{{{|{{{}}|{{|{{{{||{|{{|}{{{{||z{{||||||{{|z{z{{{{|{{{{||z{|y{{zz|{{z{{||{{|{|{|z|{|{{|{||{{|{{y{|{|}|{||{{{{{z{z{|z{|z|||{{z{{{{{{{|z{{|z{{zzz|z{{{{|{{{{zz{zz{zz{{zz{{{{{{{zyzz{{{z{{{{{z{z{z{z|{yz{||{z{z{{zz{{z{{{{{|{zz{{zyzz{{||{|{z{{{{zz{{{{{{z{{{zzzzzzz{{zzz{{{{{zzzz{yz|{{z|z{{zy{{|zzz||{{{{|zzzyzzzz{|{z{{|{{{{{{z{{{zzz{{{{{{zzzzzz{{{|{{{zz{{{{zzz{{|{{{z{{z{z{zzz{{|{z{{{{z{{{zzz|||||{{|z{{{{{{{{|}||{||{|{{{|{z{|{{{|{|||{{|{zz{||||{}|{{{z{{y{{{{||{|}|{{z{z{|z|{{{||||{{{z{{{|{|||{}|{{{{{{{{||{|{||{{{{|{{{|{{{{|||{|{z{{z{z{{{|||||{zz{|{{{z{{|{|||{{{|zz{z{{|||{|{{{{z{z{z{|{{z}{|{|{|{z{||{{|{{}{{{{|{zz{{{|{z{|||zzz{z{{{{{{|{|{{z{zz{zz{{{|z|||z{z{zz{z{{|{z|{|{z{{z{zy{|zz{|{{{{{{zz{|{{{{z{{zz{zz{{z{z{z{z{||{zz{zz{z{{z{{||{{{yy{zzz{{{{{|z{{y{{{z{{|{{{{{{{{{{zzyz{z{z{|z{{zzzzzyzyz{{{{{{{yzzzy{zz{z{z{{|{z{z{zzz{{{{{{{{|{{{{zz{{{{{{{{{{y{z{zzzz|{{{{{{|{{{z{z{z{||{|||{zz{z{{z{|{{{{{|{{zzz{{{z{|{{|{|{{{{z{{z{z|{|{{||z|{z{{{{{{{|{||}{{{{{{{z{|{||{||{z|z{||{z|{{{||}{{{{z{{|{||{|||{|z|{{z{{||{||||||{{|{{zz|{{|{|{|{zzz{{zz{{{{|}|||{{{{z{{{|||{|{|{{{{{{{{{{{|{{|||{||{zz{{{{||||{{z{zzz{{{{{|{|||{{z{{{{{{|{{{|}}|{|{z{{|{{|{||||{{{z{{{{|{{|{|{{{{{{z{{{{{{}z{||{{zzyz{{||{{{{{|{{zzzz{{{zz|z{|{|y{z{{z{{{||{z{{{z{{z{zz{{|z{{{{z{zyz{zz{{{{{z{{|{zzz{zz{{}{z{{{|z{zzzyz{|{{z|{|{{{zyz{zz|{zz{|{{{{zzz{{{|{{{|{{zz{zz|{{|{{{{{|z{z{zzz{|{{|{{{{|{{{{z{{{|{{{|{|{z{|zzzzz|{||{{||{{{{{{{{{|{|{{|{|{|{{z{{{||{z{|{|{z{z{z{{||{|||||{zz{zz{{{|}||||{{{{{{{{{{{|||||z{zz{{{{{||{|{}||{zz{{{{{|||||||{{{{{{||{|{{|{|||{{{{{|z{|{|||||{{{{{z{{{{||{{||{{z||{{||{{|||||{|z{{{zz||{|||{{{{{{{{|{|{{}{|||{|{{z{|z{{{|{{|{{|{zzz{{||{||||{|{{{|{z{{||{{||{{{zz{zzz|||z{|{z{{|{z{{{{{{{|{{}zz{z{y|z{{{{|{|{{|zzyz{z{{|z{{{|zz|zzz{z{|z{z|z|{zz{zzzz{{|z{z{{zz|z{{zzy{{|{{{{z{zzzyzzz{||{{{zz{z{{zzz{||{zz{|{{zzzzzz{{{{{{}{zzzzz{{y{z{{z||{z{{zz{{yz{zz{|{zzz{{z{zzz{z{{{{|{zy{z{zz{{{{{{{z{z{{zz{zzz{{||{{{yz{z{{{{{|{{{||{z{zzz{{{{{{{|{||{{z{zzz|{||{{{{|y{{z{zy{{{|{{{|{{{{{{zz{{{|{{|}{{{{{{{{|}||{{||{zz{{{z{{}{|{|||{z{{zz{{{||||{{{|{{{{||{|{{{{||{|{{{{{{{{|{}|{{}|{{{z{{{{|||{||{{{|{{|{|{{{||}||{|z{{{{z{|{||{{|{{|{z{z{{{|{|||{|{z{z{{{{z||{||{{|{zz{zz{z{{{|}|||{{z{{{{|||{{|||{{{{z{z{|||||{|{|zzz|zz{{|{{||{{||{{zz{|{{|{{|{{{{zz{{z{||z{||}{{{y|zz{z{{{{{|{{{yz|zzzz{{{z{|zz{{yz{{z{{{{{|{|zz{y{{zzz{{{{{||z{{zzzzz{{{{{{|{{zzzzzzz{|{zz{|zz{zzzzz{{{|{zz{{{{zzzzzzz{{{z{{{z{{|{zz{{{{|{|{|{zzzzz{{{{|z{|z{{y{zzz{{{{{z{{||{z{zz{{y{{{{{||||{{{z{{{z{{|{||z{z{{|z{z|{|{{||||zz{{{zz{|||{|{{{{z{z{z{|{{{|{{{{|{{|||{{{{{||||{|{|z{z{|{{||||{|{{{zz{{|{|||{||{{{z{{|||{}}|||{|{z|||{{{||||||}|{{||{{{||}|{}|{||{{{y{{{||{|{{||{{{{||{{|{|{||{|z{{zz{{{{{{{|||{|y{zz{{z|||{}|||{{zzz{{{|||{|||{zz{{{zzz|{{{{{}{{{zz{zz|{{{|{{|{{{z|z{z{|{{|{||{z{{{zzz{|{{z{{{|{zzzzzy|{{{{{{}zz{z{z{z|{{{{{|{{zz{z{{{z{|zz{{{{zzyyzzz{z{{||z{z{zz{zzz{{|{{|{{z{zzzz{{z{{|{{z||{z{z|zz{{zz{{{{{{z{zzzzzz{z{{{{{{zyzz{z{{{z{z{|z{zz{{{{{{||z{{{z{zz{z{{z|{{{{|{{zzzz{{{{{z{z{{{{z{zz|zzz||{{{|{{z{z{zz{z{{{{}|{|{zzzz{z{|||{||||z{z{{{{{{{{z{||{{z{{z{{{{||||{{{{|{{{{||||z{|||{{{{{z{z{|||z{|||z{{{{{{{|{||}}||{{{{|z||}||||||||z{{||{{|||}||||{|{{{|{}|||{||||{{|{{{|{{{|{|}||{{{|{{{{{{|{|{{{{{{|{{|{{{z|||||{{z{{|z{|{|{{||{z{{{{{{{}{z{{{{{|{z{{{z|{{{||||{{{z|zz{{{{{{|||{{{{|{{y{z{{{||{|z{{zzz{||{{|{{{{z{{zzzz{{{zz|z{{{{zz{{z{{|zzz{{{{z{zz{{zz{z{{{{{zzzzzyz{{y{z{z{z{zz{zzzz{{z{|{{{z|{{{yz{||{{{{{zy{zzzz{{z{z{z|{zzzzzzzz{{{{||{z{zzxzz{{z{{z|{z{zyz{{{{zz{|{{|||{z{zzz{{|{{{{{{{{{z{z{{z{|{{{|||{{zz{|z{z|{|{|{{{{z{{zz{z|{{z|||{z{yz{{z|{{|{{|{{{z{zzz{{||{{|{{|{{{{{{{z||||{||{{z{{{{{{{{{||||z{z{{zzz|{|||||z||{{z{{{|}||{|{|{{{{{{|{||{|{|{{||{z{|{{{|{|{||||{{|y{|{{|||||}||{z{{{{{||||{{|||{{{||z{||{|||||{{zz{{{{|{{||{}{{{{{z{{{{{z|{|{{{{{z{{{z|{{{{{||z{{{{z{{{{{|||{|{z{{{{zz{|}{{{|{{|{{z{z{z{{||z||z{{{z{{{{{|{{{{{|z|zzz{z{{||{|||zzzz{z{{z{{{{||{{{zz{zz{{{{{{|{{{zzyz{{{{z{{{{|{zzzzz{{z{{{|z{}zzzz{zzyzz{{{{{{{zzz{zzyzzz{{{z|{{y{{zz{z{{{z{|{||zzzzz{zz{|{z{{{zyzzz{zz{z|z{{{zzy{z{yzz{|{{z|{{zz{{z{{{{|{{|zz{{zzzzz{{z|{{{{|{{zz{{zzz|||z|{{{{{z{{{{|{|||zz|||z{zzz{zz|{|{|z{|{{z{z|{{{{||}||{{zz{|{{|{|{{|{|{{{{{{zz|{|||||{{{|{|z{z||{|||||{|{zz{z|{{{{|{}||z{|{|{{{||{{}{{{{{|{z{{{|{|||{{|{{{{z{{|{{||{|}|zz{{{z{{}{||{|{{{{{zz{{z{z{{|{|{{{z{{{{{{|{{||||{{{{y|{{{{{{|{|z{{zzz{{z|{z{{{||{{z{{zz{{{{{|{|{{{{{|{{{|{|{{|}{{{z{{z{{{{|{|{||{zzz{y{{z{{||z{{yzyzz{{y{z{y{|z{{z{{z{z{{{{{|z{{zz{zzzz{{{{{{|{{{zzzzzzz{{{z|{{yzzzzzz{{{|{{{{||{{zz{{y{{{||{||z{zz{y{zz{zzzzz|{{zz{{zzy|{zz|{{zzzz{z{z{{{{{{{{{{{zzz{zz{|{{z{{{zzz{yz{|{{{{{{{yz{{zzzz{{{{{||{zz{{zzzzz{{|{||{{z{z{zzy{{{{{{|||{{{{{{z{|{{y{|{{{z{{{{{{{||{{}|{||z{z||{{||||||{{{{{z{{||||||||{{{{{zz{{|{||{||{{{{{{{|{{|{{||||{{{{{{{{||||||||{z{z||{|||{{|{||z{{z||{{{{{{|||{{|z{{{{{|{}||{}z{{{z|{{|||{}{|{{zzz{{|z{z||{|{{z{|z{{zz{{{{{||{{{z{{|{{{}{{{|{}||z{{y{{{{{{{|{|{|{{z{zz|{{|{|||{z{{{{z{{z{{{{{{{{{y{yzz{{|{z{{|{z{{y{{yz|{zz|{|zzzzzyzz{z{{{{|{z{zzzzzz{{{{{z|{{zzzzz{z{|{{|{z{{zzzy{z{|{{{{{{z{z{{{z{z|{{{{{|z{zzz{{zzz{{y{{{{{{zyz{{zzzz{{{||{{{z{zyzz{{{|{{{{zzzz{{z{{{|{{z|{z{{zz{z{{{{{{{|z{z{zyzzz|{{{{{|}y{{zz{{{|{{{{z|{z{{z{z{|{{{{||{{{{zz{z{{|{|{||{|z{z{z{{{{{{{|||{{{{z{{z}{{{{z|||{z{z{{z{||{|{|||{{z|{|{|{{{||||{{z{{{|||{{||{||{{{|{{|z{|z||||||{{|{z{{{{||||{|{{{{{{z{{||{{{{||{z|{|{{z{|{||||{|zzz{{{{|{|{||||z{{{z{z{{{|{{}{{{{{{{{zz|{{{{{{{{z{{zz{{{|z|{|||{{{{zz{{{{|{{|{{z{z{z{{{{{{||||{{{{zzy{{z{z{{{{{{{zyy{z{{{{{{|{zzz{zzzy{{z{z|z{{z{zz{zy{z{{{{{z{{zzy{zzz{z{{z{{{zz{yzzz{{{z|z||{{zzyzz{{zz{{|{{{zz{zz{zz{{|{z{{{{zzzz{zy{{{{{z{{{zzzzzz{{{zz{{|{{zz{zzy{{|z{{|{|zz{zzz{z{{z{{{|{y{zzz{y{{{{{|{|{z{{{zzz{{{zz{|{zz{{zxzzz{z|z|{{{{zzzzzy{z{{||{|zzzz{{{z{{{z{{{{z{{{{{||{|||{|{|{z|{zz|{{}{{{|{|{{z{zz{zz{||{{{{{z{{||zz{}|{|{|{z{{{z{|{{{|}||||{z{|{{{{{~{{||||{z{{z{{{|||{{{||{z{{{{{z{{{{|{||{|{{{{{{{|{|{||{{{{z{{{z{{{{{{||{{{{{z{{{{z{{{{{{zzz{yzzz|z{{z{{||{z{zzz{|||{{{{{z{{|{{{{{{{{{||{zz{z{z{|{{{{|{|z{{{{{z{{{{|zz{|{{{zzz{{{{{z{z{|yzzzzzzzz{{z{|{{{zzzz{y{{|z{{{{{yzzz{{{zzz|{z{{{{{zzzzzzz{{{{{|{zz{zyzzz{z{{||z{{{{zz{yy{{{{z{||{{zyzz{z{zzzz|{{{z{zzzzz{{{{{{{|{y{{{zzz{{{{{|{{{{{{{{z{z{{|{z{{{{{|z{z{|{{{{{{|{z{zyz{z{{|{{{{{z{{{{z{{{|{{z{|{{{{{{{z{{{{z{{|{{{zz{zz{|{|{{||{zz{z{zy{z|||{|||{{|z{z{{|{{||||||{{{z{{{{|||||{|{{{{{{{{||{{|||||z|zz{{{{||{{{{||z{|{{{z{||{|||||{|z{z{{||{|{}||{|{{{|{{{||{||||{zz|{{{{||{|||{|{{{{{z{{{{|{{{||{z||{z{{{|||{{||{z{z{{{z|{{zz|{||{{{{{{z{z{||{{|{|{zz{z{{{{|||||{{zz{z{{{|z|z|||z|{z{zzz{{{|{{|{{{zzy{{z{{{{{|{|z{{z{|z{{{|{z{{z{{zz{z{{{{z{{|{z{zz{{{zz{zz{{{{|{yzyzyzz{z|{zz{{zz|{zzz{{z{{|{|{zz{zzzz{z{{{zz{{zzzzzzzzz{{yzz{{zz{z{zyzz{{z{{{{zzzz{{zz{{{{|{|{|zzzzz{z{{{|{{{{{{{zzz|{{{{{{{|{z{{zz{{{{{{|{{|{{{zz{z{{y||{{{{{{{{zzz{z{|{|{{|{||z{{z{{|{|{{{{{z{{z{|zz{{|{|{|{z{{{z{{z||{{{|||{zz{{{{z|{{{|{|{{z{{{{|{{|{||||||{{{z{|{||{|{|||{z{{{{{z{||}}|}{{{|{|zz{{|||||||{{{z{z{{{{{}{{{||zz{{z{z{|{|||||z|z{{{||{|{|{{|{{{z{{zz{z{{{{{|{zz{zz{z{z{{z{|{||z{{{z{{z{|{||}|{z{{zy{z||{{{{{{||{yzz{z|{||z{|||{{z{z{z{{{{{||{zz|{zzyz{{{{{|||{{{z{zzz{|||{|}{{{z{zzzz{{{{{{{{z{zzzzz{{z{{z{z{{z{zzz{{z|{{{|{z{zz{{{{zz{{{{{{{{z{{zzz{{|{{{||{{zz{zzz{zz{z{{{|z{zzzzzzz{{{{||{{{zz{zzz{{{{{{|{z{{{z{{z{{z{{{|{z|{z{z|{{{{{{{||{y|{{z{z|||z{{|{z{{{{z{{z|{{{|z{|{{zz{{{{{|z{{||z{zzz{{z|{|{{|{||{{z|z{|{|}||{||{|{{{{{{|{{|{{||{z|{{{{{|{||||||{z{{{z{|{|{|||{|{{{{|{|z|{{{|}|||{{{{||{{}|}|||||{{{{{{z|{{}|{|{|z{{{z{{{||||{|}|{{{|{z{|{|||{{|{|{zz{{{z}{{|{|||{z{{{zz{||{||{|{zzz{{{z|{{{{|{{|{y{{|{{{{|{{{{{z{{{{z{{||{{}z{{{zzz{z{y{{z|{|||{y{{zzz{{{zz{{{||z{yyzzz{|{|{{{{{zz{zz{{z{z{z{|z{zzzzyzzz{z{z{{zz{z{zzz{{z{{z|{{zzzyz{zzz{z{z{{{zz{zzzzz{{|{z{{{z{z{zz{z{{z|{z}{zzz{yy{y{{{{z|z{{zz{z{z{z{||{{{{{z{|yzyy{{{{{{||z{zzzz{zz{{{{{{{{zz{zz{z{|z{{{||{z{zy{zzz{{|{{{|{{zz{z{{{|{|||z|{{z{z{{{{{{{|{{{{{z{{{{{{{|{{{|{{{|z{{{{||{|{}{{z{{|{z|{|{{||{|||{y{|zzz{{|{|||||z{{{{{z|||{|||||||{{{{{||{||{|||zz{z|{{{}{||{||{z{|{z{{||||{{|{|{{z{{{{{{{|{|{||z{{{{{{z{{||||{{{{{|{{{{{{|{|||z|{z{{{z{||||z|{{z{{{z{z{|{}|{{|z{zz|{{z||z{z{{{{{zz{zzz|{{|z{|{{zz|zz{{z{|{|{{{{z{z{zzzz{{{{{{|{z{z{zzyzz{{{{||yzz{{z{zz{{z{{{zzz{zzz{{{{{z{{{{zzzzzzzz{{{|{|{{{yzzyz{z{{|{{{{{{zzzzzzz{{{{{||{{z{zy|yzz{{zz{{|{{zz{zzz{{{{{{{|{z{z{z{{{|zz{{z{{zz{{{zzz|{{z|||{{zzyz{z{{z{{z{{{zzz{zzz{z{{{||{z{{{zzzzz{|{{||{{{zz{{{{z{{{||{|zzzzz{{{{|{{{{||z{{z{zzz|{|{|{{{|{zz{zz{|{{~|{{||z{z|{|{{}{|{|||{{z{{{zzz|{|{||{|{{{{{|{|||}|{||||{{{{{|}||||{{||{{{{{{z{|}|||{{|{{|{zz{|{{||{{|{zzz{{{|||{|||{|{{{{{{zz|{{|{||{{|{{zzz{{{{{{}||{{{{y{{{zz{|{{||{z{zz{{{|{z{{{{|{{{{{{zz{{{|z{|{{{z{zzzz|{{{{{||{{{z{|z{{|{{{{|{{zz{z{zz|{{|{}{|{zzzyzz{{{|{{{{|{{{zz{{z{{{{{{{|{z{zzz{z{z|{z{{|zzzzz{z{{zz{zzz{{{{{z{zz{{{{z{{{{{{zzzzy{||{z{{{z{{zy{zz{{{z{{|{{{{zz{z{z{{{{{|{z{{zz{zyz||{{||{zzy{|{{zzz{{{{{|zzz{zzzz{|{{{{{|{z{{{z{zz|{{{|{{zz{{z{{{{{||z||{{{{{{zzzz|{{{|||{{{z{{{z|{}{{||z{{z{zz{{z|{|{{||{{{{{{z{{{||||{|{z{{|z|{{|||{|}}{{z|{{{{{||||}{z{z|{z{|z{|{|||||{{||{{|{{{|{|||||z{{{||{z|{|}||{{{{{|{{{|{|{{|||{{{||z{z||||}|||}{{{{{z|||{{||{}|z|y|{{zz|{{{{||||{{z{{z|{{{|{{{{z{{z{zz|{|{{|}||{zz|zzz{|{{|z{|z{{{z{{{{{z{{{{||{z{z|{y|z{{|{||{{y{zzzzz{{|z{|{{z{{zzzz|{{|{{{{{zzz{{{y|{z{{{{{{{{{z{zy{{{zzz|zz{zzy{z{{yz{z{{{zzz{zzzz{{{{{{{{z{zzz{z{{z{{{{{{{{{{zzzzzz{{{{||{zzyzz{y{{{{{{{|{z{zzz{zz{z||z{{{z{{z{z{z{{{{{{z{{zzzy{z|{{z{{z|{zzyzzz{zz{{{z{|z{z{zzz{{{{{{{{|{{z{{y{z{{{{{|{{{{zzz{{z{{||{{|{{{z{{{z{{|{{{{{|{||y{{{z{|{{{{||{{{|{z{{|{{{{|{{{z{{{zz{{||{{||{{{|{|z{z{||{||||{{{{z{z|{||{|{||{|{{z{{{{|{|}||||z{{z{|{||||{||{{{z{{{{{||{||{{{||{{{|z{{|{|{{|{{{zz{zzz{{||||||z{z|{{|{{|{{{||{z{{{{{zz{{|{{|z{{{{zzz{{{{||||||{zzz{z{{z||{{||{{{|z|{{{|z{{{{{|zz{{{{z{{z|{{z||{{{zz{z{{{{{{|{|zz{zzy{{{{{{z{{|z{{zzzzzz{{{{|{zzz|{{{z{z{z{{{{|zzzyz{zz{|z|{z|{z{{zz|zz|z{{{{|{{z{{{zy{z{z|{{{{{{{zzzz{||{{z{z{{{zzzy{zz{{{|{{{{zz{z{zz{zzz{{|{{{zzz{z{{{{|zz{|{{{zzzz{{||{{|{|z{{z{{{z{{z|{|{|{z{{zzzzz|{{{|||{zzz{{zz||{{{{|{{{|{{{z{z{|{{{{{{{{z{|{{{{|||{||{{z{{z{{{|||{|||{|zz{{{{{|||||}z{z|{{{z{||}{||||{{|{z{{|||||{||{|{{{{{|{|{|||{|}|{||{{{|||{||||||zz{{{z|{||||{{|{{{{|{{{||||||||{||{{|{z{|||||{||{{{{|{{{||||{{|{{|z{{zz{{||z{|{{z|{z{{{z|||{{||{{{{{zzzz{{|}|{|z{{{z{zz{{{{z{|{{z{zzyz{{{{|{||{{z{zz|{{{||{{|{|{{{{z{{{y{|{{||z|z{z{{zz{{{{{||zz{{{{|zz{z{{{||{zzzzzzzz{z{|{||{|z{z{yyz{|{|z{{{{{{zyz{zz{|{{{{{zyzzzz{zyzz{z{{{{{yzz{yz{{{{{{|{zz{z{{{z{|z{z{|{|z{z{z{{{{{zz{z{z{{zz{zz{zz{{z{{z{z{{{{{{{||z{|{||{{{z{zz|||||}|{z{{{zzz{{|{{{|{z{{|{zzz{|{{{|{{{{{{{{{|{|{|{|{{z{{z|{z{|{{||}||{{{{z{{z||{|||{{|{{|||{z|}{|{}|}{{{{z{{{{{||}}||{z|{z{|||}||||||{{||{{|{}|{||||{{z{z{{z{{{z{{{{||{|{|{y|||{|||{|{{{{{{z{{|{{{|}|z{z{zzzz{{{||||{yz{zzzz{{||{||{{{|{{{zzzz|{z{|z{zz{z{{zzz{{{{|{||{zzzz{yzz{{{{|{z{|zzzzz{{{{|{{{{z{zyz{z{z{{{{z{z|zzzzz{zyz|{{{{z{zzzzzz{{{zy{{zzz{zz{{{{zz|{{z{zzyzzzyzzz{{{||z{zz{zzy{{{{z{|{{zz{{zz{{z{zz{{{{zzzyyzzz{{z{zz{{{{zzzz{zzzz{{{zz{zz{z{zz{{z{{z{{{{z{{zz{{{zz{{{{{z{zz{{{|{{{{{{zz{{zyzz{{{{{{||||zzzzz{z{{{z{{{{zz|zzzzz{|||{|{{{zy{{{z{{{|zz{{{{z{z{z{{{{|{||||{{z{z{{{{|{||{{|z|z{|{zz{{|{|{{|{|{zzzz{|||||{|{{z{zz{|{{z{{|{|||z{{{z{{||{{{||{{z{{{y{{{|}|{||{{{zz{{{z{{{|z{||{{{z{{{z{||{{|{|{z{{{{{z|||{{||{{z{zzz{z{|{{{{{{{{z{{z{yz{z{{{{{z{|{{{zzy{{{{{{{|{{{{{y{z|{{||{{{z{z{zzz{zzz|{|{|{{zz{z{{{{z{{{{{zzzyyzz{||{{|{|zzzz{zzyzzzz{|{{{{zzzzz{{|{{{{{{{yz{zzzz{zz{{{{{zzzy{yyyzz{z{z{{zzzyz{{zz{{z{{{{z{{zy{zz{{z{z{{{{zzz{zzzz{{z{{|{{z{y{yzzy|{{{z{{zz|{y|{z{|{{{z||{zzz{z{zz|zzz|||{zz{z{{z{{{{{{||z{zyzzz|{{|{{|{{{z{zzy{{|{{{z{{{{z{{{zzz{{|z{z|{{|yz{z{z{{{z{|{|{{{{{{{z{{{||{{{{{|{zz{{|{{|{|||{{{{{{{zzz{|||{{{z{{{z{z||||{|{|{{z{zz{|{||||{|||{{{{{{{{|||}{|{|{z{|{z{{{{{{}|{|{{{{{{{{{|{{||}{{z{|{{{{||{{{|{{{{zz{zz{||{{|{{{{zz{zzy||{|{||zz{{zy{z{{|{{z|z|z{{{zz{zz{{{|{{{{{{zz|{z{}{{}|{|{{{{{{{{{z{{{|{|{{{{{zzz{|{{{|||{zz{{z{z|{z{{{||{zz{{zzz{|{{{||z{{{y{{{z{{{{{|{z{{zyz{z{{{{{{{{zz{zzzzzzy{{{{{{{{{z{z{z{zz{y{||z{zzzz{{|{{z{|{{|{zzzzzzz{|z{z{z{{{{yzzzz{{{{{{{z{{z{{zyy{{{y|{{|{zz{{z||{|{z{|{{{{|{z{{z{z{z{{z{{z{zyz{{{z{{{{{{{{{{{z{z{|{{{{{{{z{{{z{z{{{{{{||{zz{{{z{{{|{{|||{{{z{{{{{|{{||{{{{zzz{{{|||}{|||z{{|{{{z{|{|{|{||zzz{{{{{||{{|||{{{z{{{{{|{{||{}}{{{z{z|{}{|}||}{z{z||{{}}{|z{|{{z{{z{{{{{{|||||{{{{{z{|{z||||||{{{{{{{z|||{{{}{{|{{z{zz{{{{|||{{{{z|zzz{{{z|{||zz{z{{{z{{}{z||{{{zzzz{{{{{{|{|||zzz{z{z|{||||{{zzz{|z{zz{{|{{{{|{zzzz{z{z|{{|{{{{{zzzzz{|z{{|{z{{{{{z{z{{|zz{{{zyzz{z{z{{{|z{{{zzzz{z{{{{{{{{|{{{zzzzzy|{z{{||z|{{{{zyz{{{{z{{zzzzzzyzz{{{z{|{{zyzz{zzzz{z|z|{{zy{zzzzzz|{z|{{{{zzzzz{{z{{z{|{|{{zzz{z{{|{{{|z{{zzzzzz|z{|{{}{z{zz{{y{{{{{{{{{|{{|z{z{z{{{{{{{{{{z{z{z{{|{{{{||{{{{|z{{{{{|{}|{{{{z{{{{{||{||}|{{{{zz|{{{{||||{{{z{|{|z|}|{{{}|{{{zz|{||}|{{||||{|{z|{{{}|{{||{|z{|{|{{||{{|{|{|z{z{||{|{{{{{||{|{z{zy{|||{||||z|{{{{||z{{{|{||{{zz{{{z||||{z|{{z{zz{{zz{{z|||{{|{zz{zz{{{{{||||{zzz{{z{|||||||{{z{{z{y|{{{||||{zzzzz{|z|{|{z{{{{zzz{{z{z{{{{|{{yzz{{z{zz{{z|{z{{{z{zzyz{{{z{{{z{{{z{zzz{{{{{{|zzyzzzz{|{{{{{{{zz{{zzz{{{z|{|{{zzz{zzzz{{|z{z|{z|zzz{zyzz{zz|{{z{{zzzzz{{zz{|{|{{zzzzzzz||z{{|z{zzz{z{z{{|{z{|{{zzz{z{z{{||{{||{z{{z{zz{{|{{|{{{{{{{z{z{{|{||{z{{{{{zzz|{|z|z|z{{{{{{zz||{{||{|{{{|{{{{|z{{||{{z{z{{z{{|{|||||||{|{{{yy{{||{{|{|z{{{{{z{||||}}|{{z{y{|||{{|}||||{z{|{{{{}{|||}||{|{{z{{||||z|||{z{z|{{{{|{||||{||{{{{{{{{}{|{|||{{{{{z{{|||{{|{|zz{z{{{|{{zz{{}|{{z|{{zz{{{{|z|{{{{{{{{z||}{{||{{{z|zz{{{{|{|{{|zyyzzz{{{{z{|||zz{{|z{{{{{{z{{{{{{z{{z{{{{{{|{|z{{zz{zz{{{{y{{||{zzzzzz{{{z{|{{zz{zzz{{{{{z{|{{{z{{zzzzz{{{{{{|{zzzzzz{|zzz||{{{{{y{zzz|z|{|{|}zzzy{z{yz|{{z{{{{zz{zzzzzzz{z{||zz{{z{{z{{{{z|{{|{zzzzz{{|{|{{|{{{{z{z{{{{{{||{|{zzzzz{{{z|{||||zzz{{{{{z{z|{{{z{zz{{z{z{{||{{}zz{{{z|{{{{{{{{{|{{|z{z{z{{|||}|{{z|z{{{{z||{||}|{{{zz{{{{||{||||{z{zzz{z|{{|{{||{|{{{{{|{||{|||||z{{{|{{|||||||||{|{{{{z{|}||{||{{{{z{{|||{||{{}{{{{{{{{|||{{|||{{{z{z{{{{z{{||{|z{{{{{{z||{|{{{{{|{zzz{{{{{{|||{zz{{z{z{||{{{||{zz{zz{{{||{{|{{{zz{{z{{z|{{z{|{{z{{yz{{{{{{{{{||{{z{{{{|{|zz{{{zzzzzzzz{z{{z|{{z{zzzzzz{{{zz{{{{{zzy|zzzzz{{{{{zzzzzzzzz{{z{z{z{zyzzzzzz|{{{{{{zzzzzzz{{|z{{z{{z{{zyyyzzzy{{|{{zzzzzzzzz{zz{|{{{z{z{zzyz{z{{{|{z{zz{zz{{{{{{{{|{{zzyzz{||{{{{{|zz{z{{z{||{{z{|{z{zzyz{zz||{{{{|zz{zz{{{z{{{{{|zzz{{z{z{{|{{{|{{{{zz||{{{{||{|{{{{{{|z|{||zz|{||{{|{{z{z{{|{|{|{{{{{{z{{|{{{{}|}{{{{||{{|{{{{|||||||{{{z||||{{|{{{||{{y{||{||}|||z{|{{z{{{{{{{||{{z{{z{{{||{||{|{{{z{{{z{|{|z||{{{|zzz{{{{||{||{{z{{{{{{{{{z{|{{{{{{{zzzz{{zz{{{{zz{zy{z{{{{z{{|{{zyzzyz{{{{{{{}zzy{zzz{{{{|z{z||{{zzzzz{{{{z|z{zz{|{{{z{{{{{||{zzz|yzzz|{{{z{{z{yz{zzz{|{z{{{z|zz{{z{{y{z{{|{{zzzzy{zz{zz{z{|||{zz{zzzzzz{{z{{{zzzzyzzyzy{z{{{{z|zzzzzy{{{{z{z||{{z{zzxy{|{{||{{{zz{y{zz{{{{{{z{{{z{zz|{zz{z{{{z{{zzz{|{{|{{|{{|{zz{y{zzzz{{|{{{{|{{{{{{{{{{{{{{zz{{zzz{{{{{{z|{|{z{|z{{||||{{|zz{{zz|{||{|{|{{zz{{{zz{{{|{|{|{|{z{|{{||{|{{{||{{{{{|{{{}{{||||}z{{{{{{{||{{||{|{|{{{{|||{|{|||{z{z{z{{{{{|z||{||{z|{{{z{||{|{{zz{{{z{{{|||{{||{|z{yzzz{{||{{||zz{x{z{{{|{{{||{{zz{z{zz{z|{|{{|{|zzz{z{{|{|z|{|{zz{z|{{{|{{{{||{z{z{zz{{z|{z{{{|{zzz{zy{{{{{|{|{z{{{{{z{{{z{{{{{z{zyzzz{{{{z|z{z{{zz{|z{{{{{{|zzz{zz{zz{{{{z{{zzz{{z{yzz{{z{{{{{{{|zz{yz{|{{{||{z{zzzzzz{{z{{{{{z|z{{z{{z{{{|{{{zz{z{z{yz{z{{|{{zzz{zzy{{{{{{|{{zz{zzzz{{{{{{||{{{z{zzy{|{|{}{|{z{zzz{z{{z{||z|z{{z{zzz{|z{|{|{{{{{zz{{z|{z{||{|zzzz{{{{|}||{{{{{{{z{|{|{{||{{||{z{{z{{z{||||{||{z{{{{{|||{{{||||{{{{{{{|{||{|{|{{{z{{{{{{||||}{{|zz{z{{||{|||{||{{z{{{{{||{}||{{{{|||{{|||}|{|{{{{z{{{{{||{||{|{z{z{{{{|{|||||z{{{zzz{{|{{{{|{{{|{{zz{z{{||z|{{|{{zy{z|{{{|{|||zzzyz{z{{{{{{{|{{{zz{zz{{{{z{|{{zz{z{{{{z{{{|{|{z{{zz|{|{z{{z{{{z{zz{{z{{{{z{{{{zzz{{{z{{z{z{{{zzzzzzzz{{{{{{|{zz{zyzx{{zz{{z{|{zzzzzzz{{{{z{{{zzz{{z|zyz{{z{{|{zzzzzzzzz{{z{||z{{{z{zz{{z{{{|{zz{y{z{{{|{{{{{|{{z{zzzzzz|{|{{{{z{zz{zz||{z{{{{z{z{{z|z{{|{{|{z|zz{{zzzz{{{{{{{|{{{{z{z{{{||{{{{{{zz{z|{{||{|{|{{|{|z|{{{{|{||{{{{{{{z{|{||}{|{|{{z{z{{||{z||}|{{{{{{{{||{|{||{|{{{{{{|{|||{|{|{{|z{z|{|{{||{}{|{{{{{z{{|{||{|}{zz|{{|{{|{||}{{{{{z{{{{{{{{{{||{|{z{z{z{|{|{{|{{|{{zzz{z|{z{{z|zzzz{zzzz{{{{{{{{{z{zyz{{{{{{{|{z{zzzz{y{{{z{z{|z{zzzyyzz{{{{{{|{{{{zzzz{z{{{{{{{{{zzz{z|z{y{{{|zz{zzzyzz{{zzz{zz{{yyzz{zzz{z{zzzzzzzyzy{{{zzz{{zy{zz|z{zz{{{zzzz{zzzzzz{{zzz{{{z{zyyz{yyz{{{|{|{zzz{zyzyz{y{{z{zzzzz{{z{{z|zz{{zzzz{{zzzz{{{{{|{zz{zzzz|{{||z{|z|{z{{z{{{{z{{|{{{{{zzy{z{{{{||{{zzzzzy{z{|{{z|z{z{z{z{z||||{|{{|{{|zz{{{{||{|||{{zz|z|z{||||{||{{|{|{z{{{|{|||{{z|{{zz{{|||{|{{{|{{{|{||{{|{||||{{|{{z{{|||||{}{z{{{{|{|z|{{}|{z{{z{{z|||{||{||{z|{|{z{z|{|{|{|z{{{{|{z|{{{{||{{{z{z{zz||{||||{z|{zzzzz{{{|{{{{z{{zzzz{{{|y{z{{z{z{{zzzz{{{|{{|{{zz{{{z{|{z{{|zzz{z{zzzz{{z{{{|zzz{{z{y{||{zz|}z{{zz{zzz{{z{{{{z{{zz{z{{z{{{{{{z{zzzzzz{zz|{z{{z{z{zyzz{{{zz||{zzzy{{z{{{{{{{{{z{z{zzzz{||{{{{z{zzz{zz{z{{z}{{zzzz{yzz{{{zzz{{{{z{zzz{z{zz{{{{{{z{zzz{z{{z{{|{}|z{zzz{{{z{{z{{{{{zz{z{zz||{|{{|{{zzzz|{z{{{{|z{|z{z{{z{{{{|zz|{{{zz{{{z{{{z{{{||{{|{{{z|{{{||||{{zy{z{{z|{{z||||{{{zzzz{{{|{{{||z{{z{|{||{{||{|{z{{{{{{{|{{{|{||||{y|{|{||||{|{|{{|{{{{||z{||{|{{{z|z{{|{{{||{|{z{{zzz{|z|||||{|{zz{{z{||{{{{{{{z{zz{z|{||{|||{{{{y{z{{{z{{z{{||{zzzzz{z|{{{z{|z{{{{zzy{|{{{z{{{z{zy{zz{{{z|{{{{{|{zzz{z{{{|{{{{{{zzzzz{z{{z{{{z{{z{z{yz{{zz{|z{zzy{z{zzz{zz|z{zzzzyzzz{{{zz{{yzzy{zyzzzzz{{z{z{zzzz{zz{|{{{{{z{zyzzzzz{{{{{{{{z{z{zy{z{zzz{z{|{zzy{z{zz{z{{{{{zy{zz{zz{z{{{{|{{z{zzyzz{{{zz{{z{{{{z{|{{{z{{{{|z{yzzyzz{{z{{{|{{{{z{z{z{{{|{{{{{{|z{{{z{{{{{z|{z{{{{{zy{{{{|{{{z{z{z{{||{{|{{|z{z{{{{z|{|z{{||{{z{z{z{z|{{z||{|{{{z{{z|||{{{{|{{|{{|{{z|||||{{{|z{zz{{|||{{||||{z{{{{{{|{|||||{{z{{z{{{|{||||{||{{{{{z{z|{{{|{|z{|zz{zz{{{||||{|{{z{{z{{}{|{{|{{z|{zzzz{{{zz{{{|zzyz{{y|||{{{{|||y{{zz{{{{z{|z{{zzzzzzz{z{{z{{{{z|zz{z{zzz{z{|{zz{{{{zz{{|{{|{|zzzyzzzzz|{{{{|{{zzzzy{zz{|yz{{zzzz|z|zzzzz{{{{|{z{zzzzz{{{{{{|{zzzzzzyzzz{z{{{zzzz{yzzzz{{{{{{|{zzz{{yyz{zz{{{{yzzz{zzzzz{zz{{{{y{{z{yy{z{{z{|{{zz{{yz{{{{z{{||z{z{zz{{{z{{{{{{{z{z{zz{z{|{z{{{{{z{{zzz{{|{{|{{zzzzz{z{z{{{{{|{z{{{yzz{{{|{{{|{{zzz{zyz{{{{|{{{z{{{z{{{{{||{{||{{{{|zzy{{|z|z{{{{{z{z{{{|{|{|}|{{{{z{{{{|{{}|{{{zzz{zz{{||{{|{{|z{{{{{z|{{{|||{|{z{{{z{||{{{{{|{{{{{|{{{|{||{||{{{z{{{{|{{{{||}{{{zz{{z{{{|{||{{z{z{z{z{{{{{{{{{{z{zzzz{{{{{{|{{zz{yz{z{||{|||{{zzzz{zzzz{{{{{{{zzzzz{z{{|{{{||{z{zzz{zz{{{{{{{{{{zz{zz{{{z{{{{{z{{zz|{{z{z{{{{{zzzz{zz{z{{{{{{{{{zzzzz{{{{z{{{{|z{z{zy{z{{{|{{zz{zzzz{z{{{|{{{zyz{zy{y{{z{zz{{{zzzz{yzz{z{{{{zz{{{z{zz{{{|{{{{z{zz{z{zz|{z{z{{zz{zy{{{{{z{{|z{{{{{z{zzz{||{|{{z{{{{yz{z{{{|{||{z{{yyz{z|{|{{|{{{{{zzzz{{{||{||{zz|{{z{||{||z||{{{z{z{{{{{||||{{{zzzz{{|||{||||{{{{{{{{|}|z||{{{{|{|{|{z{{|||{||{{z{{z{{|{{||{|{||{z{{{z|{{|}|||{|{z|z{|{{{||{|{{{{{|z{|{||||||{{{z{z{{z||||}{{z{z|{zz{{|{{z{{{{{zzzzyz{z|{{{z|{|{{z{zz{{z{|z||z{zzzzzz{{{{||{zz{{yzz{z{{{{{|{{yzzy{{yz{{{{{{z|z{zz{zzz{|{{{|{{{{yzzzz{{{{{{{z{{y{z{{z{|z{zz{{{{{zzzzzzz{z|{{{|z{{z{yzy{z{{{{{|{zz{|zz{z{{z|{{zzzzzyyz{z|{{z{{zzz{zzzyy{{{z|{{{{zzz{y{y{{{{{z{{{z{z{zz{{{|{{{|{zz{zzy{{z{zzzz|{{{zzz{z{{{{z{|{{{{{zyzzy{{z{{{||{{{zzz{z{|{{{|{{z{z{{{z{{{{{{{|{{{{z{z{z{{|z{|{{{{{z{zz{|{{||{||zy{z{z|{{|{|{||{|{z{{zzy{{|{|{||{z{zzzz||}|{{{||{{{{z{{|{{{{{||}|zz{{{z{|}||{{||{z|{{{{{{||||{{{{{z{{z{z{||{{||{||{{{{{{{||{{|{|{{{{{zz{|{|{{{|{|{{z{{zz{|{}|{||z{{{{zz{{{{{{{z|z{zzzzzz{|{{z{{|{z{{{zzzz{{{{{{{z{{z{|zy{{z{||{{{yzyyzz{{||{{{{|{{{zyz{zy{{|{{{{z{{zz{zz{z{{{{|{{y{zz{yz{z{z{{z{{zyyzzy{{z{|{{{{zzzyzzzz{z{{z{}{{{zzzzzz{{{{{{|{{zzzyz{{{z{zz|{{{zzz{zzzz{zzz{|z{z{zzyzyz{{{z{{{z{zzzz{y{{{z{{z{zzzzz{z{{{z|{{{|zzzz{zzz{zz{|z{|zzz{zzzz{{{|z{|{{{{{{z{z{{{{{{{|{z{y{{{z{{|{{||{z{z{{zzz{||{{{{zzz{{{{z{{{||z{{{z{z{{z{z{|{|||{|{{{|{z{{z|{|{{||{{{{|{{{|}|{||}{{{|{{|{{{{{{|||||{z{{|zz{||||||||z{{{{|z||{||||z|{y{{zz||{||{|{|{{{{{{|{{{{}{{||zz{z{{zz|z{{{|{{{{{{z{z{z|{||{{{|{{zz{zz{{|{{{|{z{zzz{zz{{|z{{{|{zzzzz{zz{zz{||{|{{{y{zz{{z{{{{|zz{zzz{z{{{{{{|{{z{zz{{z{z{z{z{|z{zzz{{zz{{{{{{{{zz{{zzzz{{{z{{{{{zzz{zz{{z{{{{{zzzyz{{y{{{{zzzzzz{{z{zzz{|{{z{{zzz{yzzyz{|{{zzzzyzz{yyzz{z{zzz{zz{z{{zzz|{z{{{{zz{z{zyz{z{{z{{{z{zz{zz{z{{{zz|{zz{zzz{z{zzz{{{{{zzz{zzz{{{{{{|{{z{zzz{{z{|{{}|{{{z{{{yzzz{zz{{{{{zzz{{{{{|{{{{{|z{zzz{zz{{{||{|z{{{{{{z|{{{{{}|{|{{{{zz{}|{|{|{}z{{{{{z{|{||{|{|{{{{{{{{|{||{{{z{{{{z{{||{|||||||{{|z{{{{|{{|{{{z|zzz{{{z{{|{||{|zz{{z|{{{{{|||{{{{{{z|{z{|{{{|{{{{{{zz|}{|||{|{{{{{{{{{{{|{{z{{z|z{zzz{{|z|{|{{{zyzyyz{{{{{{{|{{z{z{zz{z{{z{{{{{{{zz{{{{z|zz{{|zz{zy{z{{z{{{z|z{zzz{{y{{{{z|{{zz{zz{zz{|{z{{{zzz{yz{z{zz{{zz{{yzz{yzzzz{|z{z|{zyzyzyzzzzz{|z{{{{{{zy{z|{{{{y{|zzzzyyzyzzzzzz{z{{z{{y{{z{{{z{z|{zzz{{zy{z{{{{{{{{zzzzzz{{z{{{z{zz{{zz{z{{{{z{{{zzzzz{zyz|{|z{z{{y{z{zz{z{{{|{{{{zzz{zzzz{|{{{|z||z{{z{z{zz{z{{{{z{{{z{{{|{{|{|{{|{{{{{z{||{{|||{zz{zz{{{|{{z||{|{{z{z{z||||{}{|{{{{|z|{{{|{|{{||{zz{{z{{|{{|{{|{{{z{{{{|{{||{||{{{{{yzz{{z|||{{{|{{{z{{{{|{|{||{|z{{zzz{{{{|{}|{z{{z|zz||{|z{|{zz{z{{{{|z{{{||{zzzz{z{zz{|{|z|{{{z{zzz{{{{|}{{|{{{z{{zyz|{{|{{z{{{z{yyzzz{|{{{{|{zzzy{y{{{{zz{|z|{zzz{z{{zz{{|zzz{zzz{z{{z{z{{z{{zzz{z{{z|z{{z|{zzzzzz{{{{z{{{{zzzyzzz{{z{zz{|{zz{zyzyy{{{{{||{{zzyzzzz{zz{{{z{zyzzzzyzyzz{zz{{zyzzyzzyz{{{{||{{zzz{{z{{{{{z{{{zzz{zz{zzz{{{|{|z{zz{{z{z{{{|{{|{z{{{z{zz{||{{{{{{{{z{{y|{{{{|{{z{z{{{{z{{{{||{|{{zz{zz{|{|{|||{{z{{{{{z{|{||{|||{{{{{{{{|||{|||{z{{{{{{{{||{{|{z{{{|{{{{{|{|{}|}zz{{|{{{}{{|{||{|{{z{{{|||||||{|zz{|{{{{{||||||{|{{zz{{|}|{{{||{|{{{{zz{|z||{|{{{{{z{zy{|{|{|{|{{zz{zzzz{|{z|{{{{zy{{z{z{{zz{{{{zz{{zyy{{{z{{{{z{zzz{{y{{z{{z||{{zzzzz{{{{{{{{||{zzzz{y|{{{|{{|{zz{{z{z{{z{{{{{zzz{{yzz{{{z{||zzyzzyzyz{zz{{|{z{zy{yzzzz{{z{z|z{zzzz{zzzz{z{z{zzzzzyyzyz|{z{{{{zz{zzyzzz{zzz{z{z{zzzyyyzzz{z{{{zyz{zzzz{{{zz{||z{zy{{z{{z{{{{z|z{zz{z{zzz{{{{z{zy{yzzz{{{|{z|{{zzy{{yzz{{||{{{{{z{z{z{{z{{z|{|zz{{z{z{{|{{|z|{{{{z{{{zz|{|{{|||{z{{z{{{{{{{|}{|{{{{zzz|{|{{|{{{{|z{{zz||{}}|||}{{{|{{{{{|{||{{{|{{z{{y{z||{{|{}{{|{{{{{{{{{{|{z{z{{z||{{|{|{{}{{z{z{{{|{|{{{{||zy{{{{{{{|{|||||{{z{{zzz{{{{|{{{|{{z{zzz{{{|{|{{{{zzzzzzz|{{z{||{y{{z{yz{{{{{{{|{{zz{zz{z{{{{|{{zz{zz{{{{{|{z{{{z{{zy{{x{z|{{{{{zzzz{z{{zz|{z{{{{{{{zyzz{{{zz{{z{zzz{zzz{z{z{|{{{zzy{zzz{|{|{{{{zzyyzzz{yz{{{{{|zzzzzz{yyzzzz{zzzy{{zzz{{{{{zz{{zzy{zzzyz{zzy{||z{zzz{zzzz{||{{|{z{zz{{z|{{{z{{|z{{{zyzy{{{{{|{|z{{zz{z{z{{{|{{{{z{{z{{zz{z{{|{{{z{zzzzz{{{|{{|z{{z{zyzz{|{zz{{{|{zz{{{z{||{{{{{z{{z|z{{{|{{z||}z{{{{{{z{||{{{||{z{|{{zz{||{{||{z{z{{{{z{||{||||||z{z{{{z||{|||{||{{{{yz{{||{||||zz{{z{{{{z{}}}||{{{{{zz||||{||||{{z{zzz{{{|{{{{||{{yz{{|{{{||{{{{|zzyz{{{|{{z{|{{z{zzz{|{{{{||{z|{zzz{z{{{{{|{|{{zz{{{{{{{z{|{|{{{{z{zzz{{{{z{{zzzzyz{z{z{{|{{zzz{zzz{zz||{|{|z{{zzzzyzz{{zz{{{{{zzzzzz{z{{{{{{yzzyyzzzz{z{z{z{{yz{zzz{{zz{{{|{{z{zzzzzz{{zz{|{{zz{zz{zzzzz{{{{yzzzz{zzz{z{{|{zzyz{{{zz{{z{z{{{{zz{yzzyz{{{{{{{|z{zzzz|{z{{z{||z{{zzzz{z|{zz||{z{z{yz{zz{{z|{{{{z{z{{{z{{{{|{|{z{{{{zz{{||z{{{z|{z{{{zz{{{{|{|{{z|{{{|{||{{||}|z{z{zyz|{{||{|||{{{{|z|{{|||{{}|{{{{|{{{{z{||||{{z{z{z{{{|{{||{|{{{{z{{{|{z|{|||{{|z{{z{||{|{|{|{zz||{{{{|{|{{{|{{{{{{{{{{|{|||{|{zz{{{z{{||{||zzz{{{{{z|{{{{{{{{{z{{zzyz{{{z{z{zzzzzz{z{{{z{|||{{zz{z|z{|{{{{|{{zyz{{{{z|{{{|{|{z{zzz{{z|{|{|{{z{zz{{{z{{{{{{{{{{{zzzz{{||z{||{zzzzz{yz{{z|z{{zzyz{zzzz{z{|z{|zzyzz{{zz{|{z|{z|{z{{zz{{z{{{{{{{{z{z{zzy{{{zz{||z{{zyzzzz{{{{{{{yzzy{|zzzz{{{|||y{zz{z{zz{{||z{{{y{{{z{{{{{{||{{{{z{yz{z{{{{{{|{{z{{zz{{{{||{|{{{zzz{{z{{{{z{{||{{z{{{{z{{{z|{z{{|{{{z{z{{|||{||z{{z{z{{|{||{|||z{{{{{z||{||||||{zz{{{{z|}|||||{{z|{z{{{{|||{|||||{|z|{|||{||||{{z{{{{{|{|{|{|{||{zz{{z{z{{|{|||||{|{{{{||{{{{|{{{{z{{{{|{|{||||{{{{{z{zz||||{{{{z{zz{{z{{|{{{z{|{z{{{{{z{{z{{|}|zz{zz{z{{|{|{|||zz{zz{{{{z{}{|{{{z{z{{{{{{|{{{||z{{{{{z{z{|||{|{zzzz{z{z{|z{{{|{z|zz{{z{{{{z||{|zzz{zyyz{{{{{{{z{zz{zz{z{{{{|{|{{{{yzzzz{{{{{{{{{zzyzy{zz{|z{|z{|zz{zyzz{zz{{{{{zzz{zy{{|{{{|{{zzzzzzzz{{{z|{{|{z{y{zz{{zz{|{{{{z|{zzz{{{{{{{{|{|{{z{z|{{{{{{|{{{zzzz{zz{{{|||{{z|{{{zz{||{{||{zz{{{{z|{{||{{{{{z{{|z{{||||||{{z{{z|{{{||{}{|{|z{|{z{{z||||}|{{}z{z{{{|||||||}{{{{{{{{{{|{{||}||{{{{|{|{||||}|}{{|{{{{||{||||||||{{{{{{{{|{||}||{|{|z{{{{{|}|{|{z{z{|z{{|{{|||||{{{{z{z{|{|{{|}|z{z{z|{||{{|{{zzzzzz|{zz{|{{{||{zzzzz{{{|{z|||||{zy{z{z|{{{||{|{zzz|yz{{{{|z{{{|{{{zz{{{z{|{{{{{{{z{zzzz{|{{{{{{y{zzzyzz{{z{z{z{yz{z{zy|{{{||{|{{zy{yzz{{{{z{|zzzzzzzy{zz|{{|{{z{{zzy{zz{z{zz{{zy{z{yzy{z{{z|{{{zzyzzyzz{{z{{{{{z{{||yy{{z{{{z{|{z{{{{z{z{{{z{z{z{zz{zz{z{{z|{{zz{zz{|{||{{{{|||{{{zz{z{{{z{||{{{|zz{z{|z{{{{{{{{{z{{{{{{{zz{{|{z{{{{z{|z|}{{{{{|{{zz|{||{|{|||zz{{{{z{{|||{||{|z{{{|{{}{{|||}{{{{{z{|||{{|}||||{{{{{z{{}{{|||||{|{z{zz|{{||}|||{|{{{{{{{{|{{|||{{{{{{{z{{|{||||{{{z{{{{|{||||{{{{z{{zz|{{{{|}|{{{z{z|z|{{||{{{zz{zzy{zzz{{{{{|{{{z{{yz{{{||{z{{z{zz{zz{{{z{{|{{{{zz{{yz{|{{{{{z{zzzz{zz{{{z{z|{zz{zzz{{{{{{{zz{y{z{zyz{{{z{{z{{{zzz{zz{z{{zzz|zzzzzzzzzz{{{{{{z{zzzzyy{z{z{{zzz{{zzzz{z{zz{z{|{z{zzxyyzz{z{{z{{{{zzz{zz{z{zz{{{{{z{{{y|z|zz{{{{zzzz{{z{z|{{{|{zz{zzz{{zz{{|{{{{z{z{z{z{{|{z{|||zz{{zzyz|z{{|{{{{{{y{zz{{|{{||{{y{z{{{z||{{{{z{{{zzzzz{{||{||{|z{{z{||{{|{|||||{{||z{{|{|{{{|{{|{{{{z{{||{{|||}{{|z{z{z{{{{|}z||{z{z|{{{||{|||||{{{z{{||{{|{|}||zz|{z{z|{{||||{{{{{zz{{{|{||{{|{{zzz{z{{{|{{|{{{|{{z{z{{||||{||||{{{z{z{z|{{|{{zzzz{zzzz{||{{|{zzz{{zz{z{{|{{{|{zzzzzzzzzzyz{|{{z{zzzz{z{|{{{{{{{{{zz{z{{z|z{z{{z{{{|{zz|{{{z{z{{z{zz{zz{{{z||{yz{z|{zz{z{{z{{{zyyzyz{zz{|zz{{z{z{zzzzzz{zz{{{zzzzzzyzz{{z{|{{{{zz{z{zzz{{{|{{|{z{z{yzz{{{zz|zzzzz{zzzzz{{{z{|{{zzy{{zzz{{z{{{{{{z{zz{{{{{{z{{{zz{zzzzz|{|z{|{{{{{{zz{{{z|{|{{{{yzz|zz{{z{{|{|{{zzz{{{|{{{z{|{z|{{{{zz{{z|}||||zz{z{{{{||{||||}{{{{{{{{{{|||}|{{z{|{{{{}|{{|}|||{{{||{{{|{{{{|||{{|z{|{{|{||{|}|{{|{{{{{||{{z|{{{{zz{{z||{{||{||{{{{z{|||{|{|{|{{zyz{{z{{{||{{{|{zz{{{{{{{{||{{z{{{z{{{|{{z{|{{{yyzzz{{z{|{z{|{zzyzzzzzz{{{{{{|{zzyzzzz{zz{{{||zz{zzzzzz{{|zz{yyzzzzyzzzzz{{{z{z{{z{z{z{|{zz{||zz{{zzzzz{{z{{zzzz{zy{zzz{z{z{{{zzzzzzzzzz{z{{{{{zzzzyy{zz{z|zz{zzzyzyyzy{{{{{|{z{{zyzzzx{zzz{z{z{zzzzzyy{{zz{{{yy{z{zyzz{z{|{{{{zzz|zz{zz{{{z{{{z{{zyzz{{z{{{{{zzzz{{{z{z{y{{{{{{{y{z{{{{{z{|{zz{{z{{zz|{{|{{|z{{{z{{zz{|{z{z{{z{z{z{zz|{||{|||{zy{{zz{{{z|{{}{{{{{{{zz{|{{|||z{z{{{{zz{{||}{||{{{z{{|{{|||{{||{z{{zzz{{}||{|||{{{z{zz{{|{||{|{|{{z{{z{{{z|{{|{{{z{{{z||{{{{{{{{{zz{|{{{{{||{|||z{z{z{z{|{{|z|{zz{{{z{{{{{{{{z{zzzyz{yzz{{{{{z{{zyzz{zz{{{{{{z{{{zy{{zzyz{{{|{z{z{z{zzz{{{|{z{|{{zzz{{y{{|{|{{{zz{yzzzzy{{{{{{z{z{{z{yzz{{z{z{{zz|{zzyzzz{z{{{{{{zyzzzzz{{|{{z{{z{zzzyz{z{z{|{z{zzzzzyy{{{z{z{{|zzzzzzzz{{zzzz{{{zzzz{z{{{z{{z{zzz{{zyzzzzz{{|z{zzz{y{{zz{{{z|{zz{yz{{zz{{{z{{{z{zz{zz{z|{{{z{zzz{{zzzzzz{{{z{|{{zzzzyz{{|{{{{{{{zzz{{z{|{z{|{{zz{{{{{{z{}|{{{{z{{z{zz{}{{|||||{{z{{zzz{|{{{{{{{{z{{z{{|||z||{{|zz{{{{{|||{{{||{{{|{zzz{|{|||{||{{{{|z{{|{{{}|{|{z{{zzz{{{{{{||{z{||{{{{z{|||{|z{{zz{{z{||{{|}|z{{{z{y{|{{{{{{|{z{{zzzzz{{{{z{{{zy{{zzz{{|{||{|zzzzzzyzz{{{{|{{zzzzzzzz{zz{z{{{{z{zzz{z{z|{{{{|{{z{yzzy{{{{{{{{zzzz{{{zz{z{z||{{{{zz{zy{{yzz{{zzzzzyzz{zz|zzzz{{zzyyz{zzz{z|z{{zzzyzzyzzz{{{{{{z{{{y{zyz{z{{{{{{zzyzyzz{z{{z{|zy{zzzzzyz|zzz{z{yz{z{zzzz{zz{{{{zz{zyy{z{{z{{{z|zz{zz{{{z{z{{{{{y{zzz{yzz|{{{{|{{{z{zzzzz||{{{z{{zzz{{{z{z{{{{|{{zzz{{zzz||z{{{{{{{{{{{{|||{||{{|{{{{z{{|{z|{{|{{{z{{zzz{|{|{|}{{zzz{|{z||{|||{|{{|zz|{{{z{|||||{{{zz{z|z||{{{|{{{{zz|{{{|{{||{{{{z{z{z{{{{{z||||z{z{{z{z|{{{{||{{{zz{zz{{{|z|||z{z{zzz{|{{}{||{{{|{{{|{{{|{|{{{{zz{zz{z{|{|{|{|{{z{{z{zz{{{{||{{z{zz{zz{zz|{{{|zz{{yz{|z{{{{{{|{{zzzzzzz{{|{{||{z{zy{z{z{{|{{{z{z{z{zzzz|{{||{{{zz{z|{z{z{z{{{|{zzzzzzy{{|{{{|zzzzzy{zz{{{z||{zzzzyz{zz{|{z{{{{{{zyzz{zz{{zz|z{z{zzyy{z{{z|y{{{yz{zzzzyz|{{{||{{{zzzzzz{{{{z{{|{{{zz{zzz|z|||{{zzzz{z{z||{{{|{|{{{z{z{{{{|{{{{{{{|zz{zz{{{{{|}{{{{zz|z{{{{{||{|{{z{zz{{{||{}|||{{{|zz|{|{{{{||{{z{{{y{z||||{||||z{{{{z|{{{{{|||{{{{||{{{|z||}}|{{|{{{{|{}||{|}||{{|{{{{|}|{|{||{{z{{zz{|{||||{|{{|{|{z||{{{|||||{zz{|z{z|{|{||||{{{{{{{{{{|{|{|{z{{{{{z|||||{|z{yzzzzzzz{|||{|{{zzzzyzz|{{{{{{}zz{z{z{zz{{z|||{{z{zzzz{{{{|||{|z{zzzz{zz{{{{{{{{{zz{{{{z{{{z||{z{{zzzy{zz{{z{{|zzzyyz{zz{z{z{zzzzz{{zzzz{{{{{{{zzzzzzzz{{{z{{z{z{zzzzz{{|{{{{{{{yzzzzyyyzzz{{{{zyzyzzzyz{{{|{{{zz{{z{zzz{{{z{|{{{zz{z{{{{|{z}{}zz{{z{z{{{{{z{||z{zzz{z{|{{{|{|{|{zzzzz{||{{{|||{z{{{z{z{{{|{|}{|{z{{{z{{{{{|{z{{{{z{{{|{|{|{{}{{{z{{{{{|{z{{{||{|{z{{z{{{|{}||{{z{z|{{{{}|||{||{{|z{|{|||{{{{}||{{{z{{|||z||}|}|{|{{{{z|||||{{|{z|{{{zz{|||{{|}{{zzz{{{{{||}|||{{{z{zz{{|{|{|{||{{{z{{zz|{||{z{|{|{{z{y|{||||z{{{zzzz{z{|{{{|{||{{{zz{z{{{{{{{{{{z{z{{z|{{z|{|z{{{{{{z{{{|{z{|{{{zzzzzy|{{|{|{|zzzzz{z{{z{{{{|{|z{zzzzzz|{{{{{|zzz{y{zz{{{{{|{{{zzzzz{zz{{{{{{z{z{{zzzzz{{z{{zzyzz{zzzy{{{{||{{zyzyzyzz{{z{{{|z|{zyz{{y{{z{z{{z{zzy{z{z{{{z{|{{{zz{zz{{|{z{z{{{{|{{{z{{{{{{{{|{{{zzz|zz{{{{||{|{{{{zz{{{{|{||{z{{{{{zz{{{{{z|{|{zz{{|yz{|||{{|{|{z{{z{{|z|{{|||{{z{|{|z||{{{{||{z{{{{{z{{|{{||{{{{{{zzz}|z|||||z{{z{{{{}||{||{||{z|z||{{|{|{||||z|z{{{{|{|{{|||{{z{{z||{|{{{{{{{{{{{{{{{|{||||{{{{z{{{{{|{{{||||{z{{z{z{{}{{{|}{{{{{z{{|{}|{{{{z{{zy{zzz|{{z{|zz|zzzzzz{{{{{z|{{{|{{zzz|{{{z|{{{zz{zzzz{|{{z{|}z{zz{z{z{{{{{{{|{zz{z{{{{zzzz||{zzzz{{z{{{|{{|{{zz{z{{yz{zz{z{{{zzzz{zzz{z{{|z|zz{zz{zyzz{{zz|{{{zzzzz{y{{{{{z|||{{zzxzyz{{zz{|{{zzyzzzyz{{yz{||zzzzzzzz{|{zz|{{|zzzzy{z{y{{z|{|{z|z{{z{{|zz|{{{{zzz{{y{z|{{{|||{{{{{z{z{{||{{|{zzz{{{zz{||zz||z{z{{{z{z|}{zz{{|{z{z{z{{{||{|||{{z{{|{{{||{||}||z{{{{|{y||{{{|||{{{z{z{{{}|}{{{|{{{{z|{{|{|{|{|||z{z{{{{{|||||||}{{|{{{{||{{{||{|zz||{{{z|{{||||||{{z{z{|{{{|}||{{{{z{z{{|{|{{|{{{{{yz{z{|{{|{|||z{{{z{z}|}}|{{{{{zyzzz{z|z|zz|{{{z{{zzz{{zz{{||{z{zzzzz{{{z|{|{{|{{{{z{z|||z{|{z{yy{zzz{{zzz|z{{z{zyzyz{zzyz{{{{{zzyzzz{z{{{{{{{zzz{yzzy{{z{z{{zyzzzyyzzzzz{|{{|{{zzyy|z{|z{|{{zzzzyzz|zz{zzz{|{z{yz{zz{{z{zzz{zzz{{zzy{{{zz||{z{{zzz{zzz{z{|{|z{{z|y|{{{{{{|{{zy{zzzzz{{{z{{{{zz{zzz{{{{{{{{{|{zz{{{{|{{{|{{{{zzzy{{zz{{||{z}z{zz{{{y{{{||{|{{|z{zzzz{||{|||{{zz{{zz{{{}{||{||{{{z{zzz{{{|{{{{{z|{{zz{}||{|||{z{z{|||{{{{|||{|{{|{{{{{{}|||{||{{{|{{|{{{{|{{{{{z{{zzzz{{{{|{|{{{{{{{z{{|{|z{{{z{zzzz{z{|||{|{{{{zzzz{{|}{{|{}{{{|z|zz{||||}}{{{z{z{zzz{{{{zz{|z{{zy{zz{{{z{|{|zzzz{zzz{zz{{{{{{z{z{zzzz{z{zzz{{{{z{z{z{{z{z{{{{zzzzzzyz{{{{{|z{z{zzzzyzz|zzzzzyzzyzzz{z{z|{{z{zzyzzzzzzz{{{{zzzzyyzz{z{z|{{{|z{{{yyyyyz|{zzz{zzzzyzzzyyzzzz{{z|zzzz{z{z|y{z{z{zy{z{zyzzzz{z|{{{{zzzy{z{{{z{z{{zzzzzy{zz{zz{{z{zy{yzzzz{z{{{z{|{z|{{y{y{{{{{{z{{{z{{zzz{|{{{{|{zzzzz{{{{{{zz{{{{zzzzzz{||||{{|{z{z|{{{{z{{|z|{|zzz{{{z{{||{|{{{{y{{{{{{{|||{|{{{{{zz{|{||||{{|{{{{{|{z{{|{|{||||{|{{{{{|{||{{||{{z{zz|{{{{|{}|||{{{{zz{{{{{{||{z{zzy{z{{zz|{{{|{{{{zz{zz{{|{|{{|z{{{z{z{||{}|||{z{zz{zz{{|{{{z{{z{zz{zz{{{{{|{{|z{yzz{{|{{{{z|{zyyzzy{{{{{|{{|{{zzyzzz{{{{{z{||zzzz|z{{{{zz{{{|{{zzzzzz||{{{|{{{zzz{{{y{z{{{z{{zz{{zzzz{{{z{{{z{zzzzzzz{{{{z{{{zzzz{z{zz{z{z|{{zz|zzzz{zz{{zz{{zzzzzy{z{|z{{{z{z{zzzzzz{{{|{{|{zz{z|{{y{{{{{{{|{z{|z{{z{z|{z|{|{z{zzzzz{{{{{|{{zz{zzyzz{{{{||{{{{zz{{{zz|{|z||{{|zz{z{{{{|z|||{{{|{{z{{|{||{}|||{{{{{|{|{||{{{}|{{|{z{{{||||{|{{{{{z{{{|}|||||{{{{{z|{|{|{|||{|{{{{|{{|||{||{}}|{{|{z{|{||{|||{|{z{|{{{{{||{||}}|{{{{{{|{{||||{{{{{{{z{{{{{||{{{{|{z{yz{{{|{{||{{|{{z{{{||~}{{{{{yy{zyzz|z{{{z{{{z{zzzz{z{z{{z|{zyzzz|zz{{{{{{z{{zzzzz{{{z|z{{z{zyzyzzz{z{{{|{|z{{zzzzzz{{z{|{zz{{zzzyzz{{z{{|{{zyzzz{zz{z{z{{{{zzy{zzz{z{{zz{{zzz{zzyzzz{{{{z{zz{zzzyy{{z{z{z{zzz{zy{y{zzzz{z|{zzzzyzy{zz{z{{{{zzzzzzz{z{{|{{|{zzz{z{z{z{|z{|{{{zzyzzz{{zz{|z{zz{zzzz{z{{{|||{{zzz{zz{{z{|{{|z{z{zzzzz{z{{|{|{{z{{{{{|{{{{{z||{{{{{zz{{|||{|{{{{|z{zzz{{{{{{{{{{{z{{z{{{{|||{||{{z{z{{|||{{||{zz{|z{{{{{|{|{{||{zz|{|z||{||{{|{{{|z{{{{||{z|{|}zz{{zzz{|{{|{|||zz{{{z{}|{}||{|{{{{{zz{{{{{{{{{z{zzz{{z{{z|{||{zz{z|z{{{|}|}{|{z{yzzzz{z{{{{z{{{z{{{zz{zz{{z{{{{{yzzzzzzz{{{z|{{zz{yzzzz{||{{|zz{{zzzzz|{{{{zz|zz{zz{zzz{{z{{z{{zzzzzz{zz|{zzzzyzzzzzyzzzzz{z{{yzzyzyzzzzzz{{{{{yzzx{zz{{{zzz{{z{zy{{{yy{{{z{zzzzzz{yyyzz|{z{{{z{zzzzyyz{zz{z{zzz{yzzzzzz{zz{|{zzzzzyyy{{{zz{{|{{{zyzzz{|z{{{{{{zzzz{z{{{{|{{{{{{zzzy{y{z{{|||z|zzz{zz{{{{z{{{z{zy{zzz{{|z{|{||{{zzz{{z{{{z{|||{{{{z{{{{{z|||||z{{{|zzy{{{{|{|{||z{z{{{{|{||||{{zz{z{z|z{{{{|||{z|{z{zz{}|{{|||{{||{{{z{{||{{{{|{{z{z{z{|{|||{||zzz{{{{{||||}{{{{z{{{{{z|{{{|{{{zz{z{z{{{{{|{||{{{z|z{z||||}{{z|zz{{{yz{{{{{{|{zzy{xz{{{{|y|{{{zyzzzzyy{{z{{z{{zyzzz{zz{zz{{{z{z{{zzzzzz{{{{{{|zzzzz{zz{{{{{{{{{zzz{zzzz|z{{}{zzz{yyzyz{zy{z|{{z{zzzzyzz{|z{{|{{{{yz{z{zz{z|z{|zzzzyzzzy|{z{{zzzzyzz{zz{|{zz{{{z{yyyzyzzzzzz{{{{z{{yzzzzz{{{{{{{zyz{yyz{{{zz{|{z{z{zz{z{{z{z{|{{zz{zz{z{||z{|{{{zzz{zzzz{z||}{z{{z{{z{{|{|{|z|{{zz{{{z{{{{{z|{|{z{{zyzz{{|{{|{{{{yzz|{{{{{|{||||z{|{{z|{{{z}||{|{z{{z{{|}|||{|||zz|{{{{{}{{||||{{{{{|z{{|{|{|{{|{{{|||{|{{{|||{{z{{{{zz{{{{|{{{||z{{z{z{{{|{{{|{z{z{z{{{||{}{||{zz{zz{z{|{|{z{|{{{{{{{z{{~|}|{|zz{y{{zz{|{{z{z{z{zz{yz{zz{{{z{{{{yyzzz{{{{z{{{|z{{zzyzzz{{{{zz{{zzzyyzz{{{{{{|{{y{zzz{zz{{{{{z{zzyzzyz{z{{{z{zzzz{zz{zyzzy{{|{{zzz{{zzyzzz{z{|{{y{{zyy{{{|{{zzzz{{zzyzz|zzz{{{|{zzyyxzzz{{zz{z{zzzzz{zz{{z{z|z{zzzzyzyzz{z{z{|z{{y{zz{z{{{zzz{{{{{zz{zz{|{{{|{{zzzzyzzz{{{{{{{|{zzz{z{zz|{{z{||z{zzy{zz{{||{||{{{z{zzzz{{zz{z{{z{z{{zy{{||||{{{{|{{{{zzz|{{z{|||{z||{{z{|{{{|z{|{{{{{{{{{|{||}{z{z{{{|{{|{{||}||{{{{{zz|}z||{||{{{{zz{z{|{{{{|z|{z{{{zz||{{{{{|{z{||{{{{{{|{|{|{z{{{{z{{|z|{{||{{z{z{{{{|z{|{z{z{|zzz{||{}{}{||{{{zzyzzz|z{{z{{z{y|{z{{{{{{{|z|z{{{z{zz{{z{{{{|zzzz{zz{{{{{{{|{{zz{zzzz{{|{{|{|{}zz{{zzz|{zz|{z{z{zzzzy{z{{z|{{{zzzzzzz{z{{{z{{zz{z{zzzz{{{{{{zzzz{zzy{zz{z{{{{zyzzz{zzz{zzz{{|zyzzyzyxz{{z{{{{zyzz{z{{y{zzz{{{zz{zzzzyzz{|z{|{{zzyzzyzz{z{{{{|{z{{zzz{zz{{{{{{zz{{{{zz{|{{|||{{{{z{z{y{{{{{{{||yzzz{{z|{{{{||{{z{z{z{z|{{|{{zz{{{{|zzz{||||||{{{z{{{|{|{{||||}{{{{{z{z{}{|||{{{z{{|{{{||{{||||{z|{{{{z{|{|{||}|||{y{{|{|{|||||{z{{y{{{{{|}|||{|z{{{{z{{|||z{{}z{{z||{|{||||{||{|{{z{{{{|||{|{||z{{z{|z{|{|||||{{{{{{|{{|}||{z{zzzz{zzz{|{{zz{|z{zzzzzz{{{{{{{{|{{zzzzz{{{{z{{{zzzzzzz{{z{|{{{|{yyzz{{z{{{{z{{{zy{zz{{{{z||{{{z{{{zzzzzzz{{{{zzzzz{z{zz{zzzz{{{zyzzzyzzz{{z{|{zzyzzzzzz{z{zz{{{{{zzyxzz{{{{z{|{zzy{zy{zzzz{{|{{{zzzzz{yzz|z{|{{z{z{zzzy{z{{z{{{zzzz{yzzy{{{{{{{{z{{{{{zz{{{{{{{zz{yz{{zz{|z|||{z{z{{y{zz|{{{|{{z{z{zzzz|{{{|{|{{{zz{zzz{{{z{{{{{{zz{zz{{{|{{||zzzz{z{{|{{{|||||z{z{{{zzz{|{|{||{{{z{{{{}|{{|{|{{{{{zz|z{|{{|||||z|yz|{{z|{||{{||{{z{z{{|||{{{||{z{{{z{{|{z{||||{|{{|{z{|{{|||{|z{zzzz{{{|{zz|{{|{{{z{zz{|||{|{{{|{zzz{|{{|}|{{{zzzzzzzzz{|{{{{{{zyyzy{zz{{{|{|{{z{{yz{{z{{{{{{|{z{zz{z{z{z|z{z|{zzzzzzz{z{z{{{{|{|zzz{z{{{z{{{zzzzzz{zz{{{zy{{{z{zzy{{zz{zz{z{|zzzzyzzzzz{{zz{z{zzzzzzz{{zz{{{{{{zzzzzz{z{{zz{z{z{zzzzzy{zzz{{{z{zzzz{zy{z{{{{{zz{zyzzz{{{{{zzzzzzz{y{z{||{z||{zzzzz|zz|{{{{{{|z{{z{z|{|{||z{z{{{{zzz{{{{}{{{{{{z{z{z{z{{{{{{z{{{z{{zz{{{{{{{{{z{zz{z{{|{|{|{{||{|{{{|z|{{|{||{{zz|{zzz|z{||||{{z{{{{{{{|{{{||{{z|{{{|{{{{{|||||{{zz{{{{}{|{}{||{|{{{{{{|{|{||{{{{{z{z{{{|||{||{{{{|{z{||{z{}z|{{zz{{yzz{|{{{{{z{{z{{{{y{{{{{}|{{{{z{z{|{|||{{{y{z{z{zy{{{{{{{{{{zz{yzzzz{{{|{|{{zzzzy{{{{{{|{{||{zzz{{z{{{zz|{{zzzz{z{{z{{{{|{z{zz{{z{z{zz{z{{{z{z{zy{{{{y|||{{zz{zzz{z{zzz{{{zzzzz{zyz{zzzz{|zzzyzzzyz{z{{{{{{z{zzz{zz{z{{{{{yzz{zzzyz{zz{{z{z{zy{zzzzzz{z{{{{{{zzz{z{zz{{{z{zzz{{zzz{{{{{{{{{{{zzy{z{{|{{{{{zz{{zzz{|{|z{|z{z{z{zz{zz{{|{|{{{{{{{zzz{{{{{{|{{{z{zy{{|{|{|{{|{{yz{{|{{}{{|||{{{{{{z|{}|z{||||{|{z{z{y|{|||{{{|zz{|z{{|}{{||||{{{zz|{{{||{{|||{{{{{{{{z{||||||}{{|zz{{||{}}}{||z{|{zz{{z|{||||{z{{{z{{||{{||{|{{zyzz||z{{{{{{{{{{{z{{{{|{{{||||{{zzz{{|{||{{{{{{zxzyzz{{z{zz{{z{zzyzzy{y{{{||{z{z{z{zy{{{{|{{|{zzyzzzzz|{{zz|{z{|zzzzz{{zzzz{{|{{{yzzy{|{y{{{zzzzz{zzzz{{zz|z{zzzzzzzzz{{{{{{|zzyzzz{z{{{z{zzzzyz{zzzy{{{{zz{z{zzzzzzy{zz{{{z{{{zzzy{zz{yzz{z{{z{zzyz{z{z{{{z{{{yzzz{zz{z{z{{{zzzz{{{{z{{{{{{{zzzz{yz{z{{{{{{{{{zyzyzz{z{|{|{|z{{zzzzz|{{{{{|{{|{zz{zz{z{{{{}{{zz{{{z{{{{{{||{{{yz{{{{{z{|{{|{z{{{zz{{|{z{{{{{{{{{{{z{||}{{|{|zz{|{{z{{{|{{|||{{zzz{{{{{{{|{|}|z|{{{{|{||||{{{|z|{z{|z||{|{|||{{{{{{zzz}{{{{||{{{{|{{{{|{{{{{|{{zz{{{{{{z{{|{|z{{{{z{{z{z|{z{{{z{z{z|{||||{{{z|zy{yzzzzz{{|{||z{zzzzzzzz{z{{{{zzzz{zzy{{z{z|{{{zzz{z{zz{{{|z{z{zzzzzzzz|{zz|z{{{{zyz{zz{z{zzz{zzzzyzzz{{|{z{zzzz{yzzzzzzzz{zz{{zzzzyzy{{{zz{{zzzzzz{zyzz{z|z{{zy{zyzzzz{y{{z{{{{zzyzzz{z{{{{zz{zzyzzzzz{{z|zzzzyzzyzzzzzz|z{|{|zzyzzyz{z{{zz{{zz{{{{yy{z|z{{|{z{zzzz{{{|{{{{|{{z{{zzzz{|zzz|{{{{{{zyzz{{{{z{{{z{z{{{zz{{{{{|}{z{z{{zz{{{||||{|z{{{z|{{z|z{{|||{zz{{z{z{||||}}|{z{z{zzz|||z{|{|{{zz{{{{z{{|{{|{{|{zz|{z{}{|{{||zz{{z{{{||{|{|{|{{zz{{z{{|{{{{||{|{{{{z|{{|{{z|{{{z{y{zz{{{{{|||z{zzz{{{{{{|{{{{{{{{zzzz|}|{{{{{{z{{zz{z{{{zz{{{zzzyz{zzz{{{z|{|{zzz{zz{{{z{{{{{{zzzzzzy{z{{zy{z{{zzyzzzzz{{{{{{zzz{zzzzz{{{z{zzzy{z{yzzzzzzz{z{zzzzyzzz{zz{{{zzzzzyzzzzz{|zz{{{{{y{xzx|zz{zz{{{zz{zzzzyz{z{{{{{zyzzzyzzzz{z{{z{yyzzzyyyzz{{{{{zyzzyyzyyzz{{{{{{zzzz{x{y{{{{{z||zyzz{y{zzzz{{zz|{{{{zzz{{{|z{{{|zz{zzz{z{|{|{{{z{zzzzzzz{{z|{{{{{z{z{{yz{|z{z{{{{|{z{y{{{{{{|{|zyzz{||zz{{z|{z{|{zz{zzz{z{{{z{{{|zz{|z{z{|{z||||{{zzy{z{{||{{|||z|zz{z{{|{{|||||{{z|{{z{||{|{{|{|yz{|{z{{{{{}{||{{z{{{z||yz|}{{{{{{z{yzz{{{z{|{{{zz{zz{z{|}|{{{||{{zz|{z{|}{{{|zzz{zzzxzz{{{|z{{yz{zzzz{zzz{{{{{{zz{zzzz{z{z{{z{zzz{{zzzzz{|z{{{{zzyyzz{{z{{{{z{{z{zzzzyzz{z{|{{{z{{zzzzzzzz{{{{zzz{{yyz{{{{zz{{zyzyzzzz{zzzz{{zzz{{yzzzzz{{{{|zzz{yyzzzz{{zz{{yzyyzzyzzz|{zyzyzzyzyzzz{z{{zz{{zzzzy{zzyzzyz{{|{zzz{zyzy{{|{z{z|{z{zzzz{|z{{z{{{z{{zz{zzz{{{{||{zy{z{z{zz|z{{|zzzz{yzzz{{{|{{{|{{zz{z|z{z{|zz{{{{{zz{{{{{{}{|{|{{{z{{{|z{{{|||{|z{z{z{z{{|{z{|||{z{{{z{||||{{|||{{{{z|||z{{{|}{||{{{z{{z|}{{{{{{|{|{z{{z{|{{{|||}z{z{zz{{{{{|{||{|{{zzzzz{z||{||{z{z{z{z{{{z{||{zzzzzz{z{{{{{||zzz{z{z{zz{|{{}|{|y{{{z{z|{|||{{|z{zz|z{{|{{{||{|z{y{{{{{|{{{|{}{{||z{{zz{|||{{{|{|{yz{{z{{|{{|{||{{y{{{zz|{z{|{{{{{z{{{z{{{{{{{|{z{z{{{{z{{{{{z{{{z{z{zz{{{|{||{{{{{z{zz{{|{|{||{{{zzz|z{{{|zz{|{zzzzzzz|z|{z{{||zzzz{zz{|zz{{{zzz{zz{z{{|z{{{|{{z{{{{{z{||{|||{{||{{{{{|{{{||z||{{{{zz{{||{||{||{||{z{z{|{|||{{|{|{zz{z||{{|||{|z{{|z{{|{|{|||{|{{|{{{z{|{z||}{z{{{{|}|{}{||}||||{|{{{{|||{|||||{|{||{{|}||{}}}}{{{{||{||}||}}}|{||{|{|{}{}|{|||{{{z{{{}||||}|||{z{{{{|||||}||||||{|z{{|||||}}||{z{{{|z{|{}|}{{|{|{z{{{{|{|{{}||{|zz{||{|||||{||{{z{{{{{||{{{||{|z{{{{{z{{{|{||{z{{|zzz{{{|{{||{zz{{{{{{|{{{{||||z{{{{z{|{{{|{|{zzz{{z{{||z{||z{z{|{zz{{{{{{{||{{z{{{zz{z{{{{|{{z{{zzzz{{{{{{|{|{{{{{z{{{|{{{{{{|{{zzyy{|z{|{{|zz{{}{{y{{{{{{{{{z{z{zzz{{{z{|{{{z{zz{{y{|||{{{|{{{zz{|z{{{{{||||zz{z|{z{{{{{|{}{{{z{|{|z{{|||}{|{z|{z{z{||{|{{||{{z{{z{||{|||||{{{||{{{|z||{|||||{{|z{||}||}|}|{|z{|{{|||||{|||{{{{{z{{||||{|}||{{|{{{|}|}||||||z|{{|||||||||}}|z|{|{{{|||||||||z{|{{|||||||}|}}{|{|{{z{{{{|||||{||{{{|||||}|{|{{zz{{{{{{{|||}|{{|{{{{|{|{||{|||{{{|{{z{|||{{{|{{{zz{{z{||{{|||{{z{{{z{|{|{|||{z{{{{{{z{{|||{}||{{{{{{{{{||{{{|||zz{z{{|{|{||||{z{zz{{{{{z{{|||{z{z{{{{{|{{z|{|{{z{{z{{{{{{{{{{z{zyzz{{{{{|{||{{{{{{zz{{{|{|{z{{|zzzyzzz{{{|||{{{{zz{{{{{{{z|{{z{zz{z{zz{{{{{{{zz{|{zzy|||{||{{z{{{{{{{{|{{{|||{{{|{y{z{||{{{||{|{zz{{z||}{{{}{|||{{z{{{}||||||{z{{{{{y{|{|{|||{{z{{{{||{||{||{{{{{|{{{|{}||||{|{z{z{|{|{|||||}{{{|{z{z|||}}{|{}|{{{{|||||||||||{}|{||{|||||||{}{{{{|{{{}||{|}||{|{{{|{||{||}||{{{{|{{||{{|}}}}|}{{}|||||||||||{||z|{{{||{|{||||{{{z|z{{|||{|{|{{{{|}{y{||z|{||{|{zzzzz{{{||{{{|{|{zz{z{z|{{|{|{{{yz{z{{{|z{{{|{{{{{yz{{|{|{{|}{{{zzzzz|z|{|z||{{|{{zzx||{|{{{{|{{z{z{z{{||{{{|{{zzz|zzz||{|{z|{{z{zyzz{z{{{{||{{zzz{{{{{|{|{{{zz||{zzz{{z{{{|{zzzzzzz{z{{{|{{{{z{zzzzz{|{{{{{|{zz{{{{z{{{||{||{{{{z{z{{{||{z{|{{{{{z|{{{{|{{{|{z{{|zzz{{||{|{{|{{|{z{{{{||||{{z{{{{z{{{||||{}{{z{{z{{|{}|{|||||{{{{{{{||||}|||{|{{{|{||{{||{||{{{|{|{z|~|||||||{|||{{{|}|||||}|{{||}|{|}||||||||{{z|{{|}|||{||}{{{||{{}||{{{}||{z{|{{|||}|{}|||{|{{|{{}|||||||{{|z||{{||}{||||{{{|{||{{|||||{|{|||{z{||||||{{{{{|{{{{z{{{||{{|{{{{|z{z{{z||{{|{z{zy{{z{{{{{||z{{{z{{z{{{{|{z|{{{zzzz|z{{|{{|||{{{zz|{z{|{{{|{{|{{{{{zz{{{{z{{{|{{y{z{zz{z{|z{|{{{zz{{{{{{zz{{{{zzzz{y{{{{{{|{{{{zz{zzz{{{{z{|{{{zz{z{zz|{{{{{|{{z{zz{{z{z|{{|{zz{{{{zz{{{z|||{zz|{{zz{z{{|z{|}{{{z{{|{{{|{{{|{{zz{{{{{{{{|z|||{z|z{z{{||{{{||||z{zz{z{|{{z{|||{{{{{z{{{{||{{||{{{{{|z||||}|{||{||{{||{{|{|{{{||{{|{z{z{{{||{{|{{{z|{|{|}||{{|||z{|{|{|{||{{|||}{{{{||z||||}|||{{{|||z{||||{||{|z|{|{{z{{{z|||{{|{{|z{{|||{|{{|{z{{{|{{{|{|||}|{|z{z{{{{|{||z|{{|{z{z{z{||{|{{z{{z{zzzz|{{z|{||{{{{{y{{{||{{{{{{|z{y{{z{z{|z|||{{{{zz{{z{{{{|{{z{{{z{zz{z||{{{}{y{{zzz{{{z{{{{|{zz{zy{z{{{|{|{zzz{zzyzzz{{{z{|{z{{{{|{y{{{{z{{{zz{{{{zz{{{{z|{{z|{zz{{yz{{|||{{zzz{{yzyz{{{{{{{|y{{{{{zz{{{{{{{zzzyz|yzz{{|{}{{{zz{zzzz{{{|{{z|{{{{{{{{{{{{{{|}{z{{{{{z||{{{||{|{{|{{{zz||||{{|{z{{{z{{{||{|||||{z|z|z{{|{z{|||{|{{|{{{{|||||z||{|z{z||}|||}|||||{|z{{{|{}|||}}|{z{{{{{|{{{|}|||{z|{{||{{||}}||{{|{{||{z|}|||{||||{z{|{}|||||}||z{{{{{}}||{{|}}{z{{}{{z||||||}|{{|{{{{{|||{|||}{{zzz{{{{|||{|||{{z{{{|z{|}|||{zzzz{zz{{|{{z{{||z{{{zzz{{{{{|{||{|{zz{{{|{{{|{|||{z{z{z{{{{z{{||{{{z{{{z{{{z|{||{{{{z{z{{{{z{||{{{{z{z{z{|{{{{||{z{{{zzz{{{{z{{{z{z{zz{{{z{{{{{z{z{|{zy{{{{{{|{z{{{zz{zzz{{||{{{{z{{zzzzz|zz{}{|yz{zz{z{y{z|{|{{{z{z|{zz{|{{|||{{z{{{{zz{|{{z|||{{{}z{z{{||{{|}|{{|{zz{{||{|{}|{{z|z|z{{|}|{|{|{{{{{|{{{||{{|}|}{{{{{{{{||{{{{{|||{|}{{{{{|}||||{|{z{{{{||}{|}|}|{{{{{|{||{}}}||||{{{|{{||}|{}||{{|{{||{{||||}|||{z{{|{||}|||||||{z{{{{{||{|||}||{{{{|{|}{{{|||}}||{||z||{|||}}|{{{{{z{{|{|{||}|{|{|{zz{{|||{{|||{|z|{{{|{{}}{{{{|z{|||z{{|{||{|{z{z{z{{|||{|}}|{zzzzz{z{{|{{|||{{|{{zzz{{|{{{{|{{{{{z{z{{|{||{{z|z{{|zz{{|{z||{zzzzzz{{{{|{zz{{{zz{z{{{{zz{z{|{{z{z{zzzz{|{{|{|z{zzzz{y{{{{{{||{{zzy{z{|{{|{|{|{z{{zzz{z{{|zzz{{{zz{{z{z{zz||||{{{z{{zz{{{{{{{{|{{z{z{z{|{z|z{||{{zz{{{{{||||{|z{{{{z{{z|}|||||{{{{{{{{|{{{||{|{{|{{zz}{||{{|||{{{{zz{{|{|z||{|{{{{{{{|||||{{||{{{{{|{{}||||{}|{{zz{{zz|{|||{|{||{{|{{{|||{{|}|{|z{{||{||||}{|||{z||{{|{||||}||{{||{{{{|||||||||{{{{|{|}||||||}{{z{{{|{{|{|||||{|zz{{{{||||{|||{|{z{{{z{}||||||{z{zz{{{{||||{{{{{zz{zzz{{{|{{||{|y{zz|z{|{{{||{{{z{z{{{|{||{{{{{z{{{zz{|{|{{{}|{{{z{z{z{{{zz{{|z{z{z{{z{|{{|{{z{{{|zzzz{{{|{{|{{{{{zzz{{{{{z|{|zzzy{y{z{z|{{{{{zzz{{{zzzz{z{{||zz{zy{z{z|z|||||{z{z{z{z{{|{{{{{{{zzz{z{z{z{{{||z{|z{z{z{{{{|{}|{{{zzz{z{{{z{{}{{{z|{|{{z{|{{|||{{{zz{z{|||}{{{||{{{{{{z{|{|{{{|{{{{z{z{|||}|{{{|{{z{{z{|||{{|{{{z{||{{{{|{|}|||{|{|{{{{{{{|{|}{z|{|{zz{||||{{}||{{{|{{z|||||}|}|||{{||||||{{}||}{{|{{{{|{{||||||{{{{{{||{||||{||{{|{{z{|||{{||{||{|{{{{|{|{|}}}|{{|z{z{|{||{||{|{{{{{|z||{|{{|{{{{z{{||{|{}|{{{{{{z{{z{{{|{{{|||{z{{|zz{|{|{|z||||{z{{{{{{{{||{{{{z{{z{{{{}{||{{|zz{z{z{{z|z|{|{z{{{{{zz{{{|{z||z{z{{z{|{{{{||{{{{{{{z|{{{{{{{{{{zzz{{|{{zz|{z|{zz{{{{{{{{z||{|z{|zz{z{||{|{||{|z|{{zzz{{{{{z|{|{{{{zz{z{z{{||{{z{{{{{z{z{{|{|||z{z{z{{|{|{{|{|{|{{z{|{{{|{{|||{{{{{{{||{|{||{||z{|z|{{{||||{{|{{{{{|{|{{||||{||{{{z{|{|||{{}{|z{|{{|{{{|||||||{{{{{{|||}||||}}{||{z{{{|||}|}}}|{{{{{|{||{{|||||{}{{||{{|||}|{||{|{|{{{{||}}||||{||{{|{|||||||{}{|{{{{{|{{||{}|}||||}||{|{|}{}}|||{{{{{{}{z{||||{{|{z|{|{|{{||{{z{{{{{{{z{||{{|z{z{{zz{{{|||z}|{z{{{z{{z{|{{|{|{|{{{{zz{|{{z|||{{{{{yzzz{||z{|{z{|zz{{{{|{|{{||{{{{z{{y{{{|{|{{|{{{{zz{{z|{z{{|z{z{zzz{{z{{{{{{z{zzz{zzz{{{{{{{{{{{zzzz{||}{|{{|zz{zz{{{{|{{{{{{{zz{{zz{z{|{{{{{{zz{|z{zz|{{{{|{z{{{{|z{||{{{||{|{{z{{|{|{||{||{{{{zz|z{|{{||{|{{{{{{{z{||||{{|{|{z{z{{{||||||||{z{{{{{{|}|||}{||{{{{|z|||{|{|||{{{z{{{|||||}||{||||{{|||||{|}}{z{|z{{{{||{|{{|}{{{{|{{||}||||}|{z{{||{||}|{|||||{|||||{||}}}}}|{||{||||}}}||||}{{{{{{||||||||}||{{z|{{|||}||||{||{{{{|{{{||}||{{{{{{{z{|{||||||{|{{{{{{|{|{|{|{zz{{{{zz{z|{||{{{{zz{{z{z{z{||||{yz{{{z{|{|{{z||{{z{{z{|{{{{{{{{{{zzz{{{|z{{z|{{{{y{z{zz{{{{{|{{z{zzz{z{{{z{}{{z{zz{z{z{|{{zz|{{zzzzzzz{{{{|{{{zz{{{z{{{{{{|{{|{{z{{z{{z{{{{||{{z{z{yz{{{zz{{{{z{zz{zzzz{{{z|{{{zzzz{{{{|{z{z{|{{z{{z{{z|{{{||{{zz{zz{z{{{{|{{|{z{{z{{{{|z{{||{{z{{{z{{z{{|{{|||{{|{|{zz{||{||||{{{{|z{{|{z||{||{|{{{{{{{||{|{|{{{z|{||{||||}|}|{{|z{z{{|||{}{|{{|{{{{{|||||||}|{|z{{|{{||{}|||||{{z||{{}|{}|{||z{|{z{|||{|{{||{{{{||{z{|||{}}|{{|||{{|||{|}||{||{{{{{|z||{||||{{{|{{{z{{{|{{{|{{{{zzz{{{{|{}{{{{{zzzyz||{{||||{zz{z{{{{||||{|||{zzz|{{{{||{{{{{{{{{z{{z{{|{{||{|{zz{{z{{z{{{{{{{{z{{z{{|{z{||{|{{z{{{{z{|{{|{|{{zz{{z{{{{zy{{|{{zzz{z{z{{{z{|{{zz{z{{zz||z{||{{{y{z{zz{{z{{|{||z{zzz{zyzz{{{{z{{{{|z{zz|z{z{{{zz{{{z|y{{{{{|{|{zzz{{{{z{|{|{|{{{{z{z{{{||||{}|z{z{{|{||{{{{{|{{{|{zz{{|{{|{||||z||{{{{{{}|{{||{{{z{{|z|{{{{{{|{z|{{z|{z{{|{|{{{}|z{{{|{|{|{~||{|{z{|z{|{{||}}{|{||{{|{||{||||{|{|{{|{{{}{{}}|||}{{|{{{{||||}|{|{||{{{|||{|{||||{{|{|{{||||||{{{{{||{{{|}||{{|{{{{{{{z{{|{||||||{{{z{{{||||{{|}{{{{|{{{|{|||{{zz{zzzz{z{{{{z{|{zzyz|z{|zz|{z{|}{z{{zzz{{z{{{{{|{z{{zzz{zzz|{{{{|zzzyz{y{{{{{{{{{z{{zz{zzz{z{||{{z{|{{z{{{}{z{{{zz{zz{zz{{{{z{z{zyzzzzz|{z{z{z||zz{zzzzz{{{{{{|z{zz|z{zzz{{|z{{{{{zz{zzzz{{{{{z{z{zzyy{{{|z{{{|{z{zz{{z{|{{{{{|{{{{z{yzzz||{{{{{zz{{|z|{|{{{{|{{{z{{y{{{z|{|{{{{{z{z|{{{{{|{{}z{|z|zzyz{{{|{||||{z{{{{z{|||{{{{{|z{{{{{z}|{||{}|{|z{{{{{{}|{{|}}|||{{{{{{|{|{|{|{{{{{||z|}|{|||}z{|{{|||||||||||{{{{{|{{|{{||}}|||{{{{{{|{}}{||{|z{|{{{{{||||}|}|{{|{{{{}{{{||}|{z{{{|{{{|{||||}{{{z{{|{||{{{|||{{z{|zz{{z|}{{{{{zzzzzzz{{|{{{{|{{zz{z{{{|{{|{{{{{zz{z{z{{{|}||{{z{{zyzz{z|{|{{|{{{{zz{z{zz|{{{|{{zzzzzzz{{{{|{{{{{{zzzy{{|z{{{{{z{zzz{{zzz{zz{{{z{{zy{yzz{{{{{{z{{zyyyz{{z{{{{{zzzzzzy{{zz{{{{{{{{{{zzz{{{{{|z{{z{z{zz{z{{{{{|{z{{z{{{z{|{{{{{|{{{zzz{zz{{zz{{||z{{{z{z|{{|z|{|zzz{{{{z{{|{z||||{{{zz{{{{{||{|{{z{|zzz{zz{z|{}|{{{|{{{{|{|z{|{|{||{{z{{{{{|||{|{{{z{|{z||{|{|{||{{{{zz{{{||{{||||{{{{{{||{z|{|||{{{|{||{||{|||}|{{{|{{{{}||{|||{{{|{|{|}{||{|||{zz{{z{{{||{|{||||{{|{|{{|{|{{{|{{{{|{{z{{{{{||{{{z{zz{{|z{{{{|||{{{{zz|{|}{{{{{zz{{z{zy{{||{z||{{{zz{zzz{z{{||||{zyz{zz{z{{|{{{|z{{zzzzz{{|{{|{{{{zz{{z{{||z{||zz{zzzz{{{{{{|{{{{zzzzzzz{{{{{{|{zz{z{z{{{z{{{{{{zzzz{zy{{{z{||{zzzzz{zzz{{{{{{{{z{zzzyz{{{{{||{{zzzzzzzzzzy{|{{zzzzzyz{{zz{{||{{{yz{z|zz{{{|{{{zz{zz{{|{|||{{z{{{{zzzzz{{{{z{{|{zzzzz{z|{|{{|}|{{{zz{|{{|}|{{|{||{{{{{{|z|{{|}{{{{z{{z{|{|{{{{|{{{z{{|z||}}{{{{{{{{{{|||||{|}{|{{{|{{z{|{|{{}|{}|{{{z{{||||{{||{{z{z||||||}||}{{|{{{{{{{{{|{|||||{{{|{{|{}|{|||{|z{|z{{{{{|{{|{|{{||{|{}{|{{z||{{zz{{{{{{{{z{}|{|{{{{y{{{||{|||{zz{|{{z{{|{||{|zzz{{z{y{||{{{||{{zzzzzzz|z{|{|}|z{zz{y{{{{z|{{|{zz{{z{|{{z|{{{{z{|zz{y{{{{z|{{{zy{{zz{z{||{z|{|zzzz{{zy{z|zz{|z{z{zz{z|z|{{{|{{y{x{{zzzz|{|{{{z{{{zz{y{{z|z{{{{{{zzz{{z{z{{{{||{zz{{z{zz{z{z{{{{{{z{yy{{{{{|{{|{zz{{{z{}z{{{{||{z{z{z{{z|{z{|z|{z{{{z{{{z|{{|{|{{{{zz{||||{z|{{|{{{z{z{{|{||||{{{|{z{zz{|||{{||{{{{|{{|||{|||z{{{{{{|{{}{|||{||{{{|z{z{|{|}{|{||{|{{{{z~{||{{|{{{{{|{{{|}|||{|||{{{|{|{{}{|}||||{|{{|{|{}}|||}}|{{z{{{{||{||||||z|{{{{{{{{{|}|||{z|{|{|{|||||{|{|{{{{{{{{||{}|{{{{{{{zz{|{{{|||z{|{{{{{{{{{{{{{zz{{{{{z{|||{|{{{{{{zzzz|{{{|{|{|{{zz{|{{{{{z|{{{z{|{{z{{|{{{{|z{||zz{{{z{|{||{|{{{{{z{{{|{{{||{{{|z{z{{{{||{{||zz{{z{z{{{z{{||{zzz{zzzz{{{z|z{||zzzzyz{{{z{{{|{z{{zz{{z{{{|{{{{zz{z{zz{{z{{|{|{{|{zz{z{{|{{|{{|z{{{{{{z{z{{{{|{{z{{{zz{|z|{z|{{{z|zzz{{|{{{||{|{|{z{{{|{||{|{|||{|{{z{{|||}|{|{|{{z{z{z{||{|}{{{{{{{z{{||{|{||{{{}{{{{|{|{}|}}||{z|{{{z||||||||{{z{|{|{{|{|{|}||{{|}{{{|}||{{}{}{|{{||{|||{}|}||{{{||{|{}||}||||||||z|{{}{||||||{{{{{{{{|{||||||{||{{{|}||}{||||{|{{{|{{{|{|||}|{||z{{z|}{{|{|{{z{y{|{{|{|{{{{{{y{z{zzz{{{{{{{{z{zzzzz{{{|{{}{{{{{|z{z{||{{{||||z|{zz{z{{|{{{|{|{{z{z|{{{{|{|{{z{{z{zzzz{{{{|{{{z{{zzz{|{{|{||{{{{zz{z{{z{|{|{{{{zzzz{z{z{z{||{zzz{{{zz{{{z|{|{{zz{{yzzz|{{|{{|{{z{z{y{z{z{z|{|{z{zy{zzz{{||||{{zz{z{{z{{|{{{||{{zz{{zz{{{|{{{{|{{{|{{{{{|{{|{|{z{z{{{{||}|{|z{{{{{{{{{{{{}||{||{{{z{zz|{||{{||{{{{zzz{||{z{||{{{{{{{z{|{|{{||}{||{|{|{|{|{|}|{|{{z{z{{|||{||||}{{{{|{{||||}||||z|{{|}||||}}||}}{||{{|||||}||}|{{|{{{{{|||||||||{|{{{z{}|||{||||z{z|{|||{{|{|}||{|z{|{z{|||{{|{{{{{{{{z||||{|}|{{{z|{{z{z{||z||{{{z{z{z{|{{||{|z{z{{{{z{{||||||{{{z{{yz{{{{{|{|{{{y{{z{|{{|{|||{|{zzzzzz{{{{{|{|{{{z{z{{z|{||{|{zz{{z{z{{{z{||{{{z|zzz{{|{{||{|{{z{zzzz{z{{{|{|zz{{{zzzz{{{|z|{{zz{zzzzz{{{||{{zz{{zzzz{|zzz{{{zzzzz{zyzzz{z{{{{z{{{{z{zz|{{|z{|z{|{zz{{z{{|{||{zz{{z{z{{{{||||z{{{|{zz{{||{{||{z{|z{{{z||||}|{||{{{{{{{{{|{{||{{{|{z{{{|{|{{|{{{{zz|{{|||}{{||{{{|{|{{}{||{}|||{|{{z{{|||{|{|}|z{{|{z{|||||}}}|{{||||{{|||}||||{{{|{{{||||{|||||||{|{{}||||||||{{{|zz|}|}||}}||{{|{|||||{}|}||||z{{|}||||{||}}||{{{||{}|{|{}|{{{{{{z|z{{||{||{{z{{{yz{{{|{{{||{|{{zz{z{{{||{||{{{{{{{{|||{|{{|{z{{z|{{{{||{|||z|{{z{{{{{{{{{{{|{z{zz{zz|{z{}{{{z{zz{{zz{{|z{{{|{{z{z{{z{{{{{|{{y{zz{{z{{{{z{|{|yz{{{{|z||{|{|||{{{{{zz{{{|{{||{{{|zz{z{{{{{{{z{{{zzz|zy{{{{||{{{{zz|{zz{{{{||}{{zz{z|z||{{|{||{{|zz||{{{{{||||{z{zz{{{{}|||||{|{z{|y{{{|{{|{{{{{{{z{{{||{||||{{{{{{|z{{||{{||{z|||{{{{{{||||||{{{|{|z|||||}}|}{{|{{{{{|{||}||}||{{||{|{|}||}||{|{{||{{|||}{}|~}|{{{{{{|||||}|||{}|{|||{|{|||}||{{{{z|{{|{||||||}||{{||||||{||{{{{{{z{{||{|{|{{||z|{{|{{||||||{{{|z|{{z|{|||{||zzzy{{zzz|{{{}{|z{z{{z{z{|{z{{{}z{zz{{{{||{{|{|{{z{z{zzz{{|{{{{|zzzz{{zz|z|z{|{{{z{z{z{z{{|{{{{{{{{zzzyz|{{z{{{{{z{z{z{{{{z|{{{|zzy{{z{zz{{{{||{zz{zzz|{{{{{|{|{{z{{zzzz{{{{{{{{{zz{zzzz{{{{{{{{{{{{{zzzzzz{z{{{z{{z{z|{{|{|{|||{{z{{zz{{{{{|{{{{{z{z{y|{{{{{||{{{z{zz{{{{{{|{||{{{z{{{{{{{|{||{{zzz{{{{|{||{{|||{{|{z|{||{{{}|{|{|{{|z{{|}||}||zz{{{z{{||{{||||{{{{|||z}|{}|||||{{z}{{z|}{{{|{|z{{|{|{{{}{{|||||z{{{{||{}||||{||{{{|{|z|{||}}}||{z{{{{{||||{{}||{{{|{{|||{|{||{||zz{{{{||||{}{}{{|{zz|z|{||{|{{{{|z{{{{||z||{{||{{{{{{{{{|{{||{zz{zz{{z{z{{{{|{{{{z{z{zz{|z{{|||z{{{zz{{{{{{||{{z{zz{{z|{{}{{{|{z{{{z{z|{{zz{{z{{{{{zz{z{{{{z{{{{z{{{zzz{{|{{{{zzzzzy{{{{{{{||{zz{z{z{zz{|{|{{|{{{yz{zz{zz{{{{{zzzz{z|zz{{{{{|{{{z{zzz{{|{zz{{{zz{z{zz{{{{|{{|{{{z{{y{{{|{{{{|{{{{|{{{{{{{{z{|{zz|zzzz|z{{{|{{||{{|{z{z{|{{{{{{zzz{z{{z{||||{}{{{{{zz{{{||||{{z{z{z{zz{{|{|{|{{{|{{|{|{|{|{{||}|{{z{z{{|{|||{z||{{{{{|{{|{|{{|{|{{{{{{{{||{||||}|{{{{|z{}|}}|}{|{{z{{{|}|{|{||{{{{zzz{{|{|||||}{{{{{{|||||}{{||z{{{{zz{{|{||{|{{{{{zz{{{||{||||{|{z|z{y{{}{z{{{{zzzzz{z|{{{{z{{zzzzzzzz{{{{|{|{z{zyzyzz{{z{|{|{{yz{{zz{{{|z{{|{{{z{zzzz{{{{{zz{zz{zzzzyz{{{{{{{{z{zzzzzz{{{{{z{{{zyzz{{{{z{z{{|zzzzzzzz{z{{{{{{zz{zzzyz{z{{{{z{zzzzz{zzz{{z{||{zz{zzz{zz{{{{{|{|{{z{zz{{{{{{{z{zz{{zzzz{{{{{{{|zzzzz{zz{}zz{|||{z|z{z{z|z|z|{{{zzzzzzz|{{|z||{|{{zz{z|||{||{|{{{|{zzz{{{{{{||}{{z{{{zz{||{{||||{{{z{{{|{{}{|z|}zz{{z{{z|{{||||z|{{{{z{{{}}z{{{||z{{{{{{|||{{{|}{{{{{|||{|}||||{}{{|z{{|{{|{{|}||{|||zz{||{{{}{||{{{{{{{|||||{|}{{{{{zz{|{}{{{|}{{z{{|{{|{||{||{{{{{{||{|{{|z|{{{{{yzzz||||{zz|zy{z{z{zzz{|{{|||{zzz{zzy{{{{{{{||zzzzz{z{z{{{z{{{{{{zzzz{{{{z{|{{zz{{{zz{{|z||||{zzzz{zz{}{{|{{|{z{{zzzzzz{{z{z{zzz{y{zz{z{{{{{{{zzzzyyyz{{zzzz{zzzzy{z{{{{z{|}|{z{{|zzz{{{z{|{|{zzz{z{z{|{{z|{{zz{{z{zzz|z{{||{zz{z{z{z{{z{{||{|{zz{yzz|||{{{|}zz{zzzz|{{{|||{|{{{z{{{{|{{{{{{|{{{{{z{{{|{|{{{{{zz{zz{z{{{|{|||zz{{z{z{{{{{z||{|||{z{{{{{{|||||{z{zz{||||{{{||{|{{zzz{{{|{|{||{|z{z{z{z{{|||||||{{{zz{{||||||{|{{{zz{z{|}{|{|}{|{{|{z{|{||||||}{{z{z{{|{|||{{|}{{z{{|{}{{{|{||||{{{{{{z{{{}{||||{z{{zzz{{|{{}|{{{{z{{z{{|{{|{{z{{z{zz{{{z{{{{{|zzzyz{{z{{{z{{z{{{{{zzzz{{{{{{|{{{zz{z{z{z{{{{{|{z|{yyyz||{|z|{{yzzzzzzz|{{zz{{|{{zz{zz{{{{{{{{z{zzzzzzz{{{{z{{{z{zzz{zz{{{z{z|{{zz{yzzzzz{{{{{{z{{zzzzyz{z{{{{{zzzzy{zz{z{{zzz{{z{zzz{zz{{|{|{{zzzzz{{z{{|{{{}|zzzz{zzyz||z||||{zzzy{{z{{|{||{}{zzzz{{{|{{z{{{{z{{{zz|{|||{{}z{{{{z{{{{{{|}{{{|{{z{zz{{{{|{{z|{{{{{{{z{{|{|{|{|{|{{{{{{|{{||||{zz{{z{{{{|{||{||{{{{{{|{{|||||||z{z{{|{{{|{|||}}|{{{zz{|{}{|||{|{|{{{{{{|{{||||||{{z{{{|{|||||}|||z|{{z{||||{|||{|{zz{{z{{}|||||{{{z{{z{{||{|{|{{{{yzz{zz{z{|{{{{{zz{z{{|{|{{{{{}{z{{zz{{{z{{{|{|{|z{{{z{{{{z{||{z{{{{zz{{{|z{||{zzz{z{y{|{{z||zz|zzy{z{{{|{|{|{{{zzzxz{{{{{{{{{{{{zzzz{{{{{{||{z{{{zz{{z{{{||{{{{z{zzy{{{|{{{{|{z{zz{yzzz{{||{|z{z{z{zz{{{zz{{|{{{{z{zz{{|{{||zzz{zzz{yz{{~{{||{{{{zz{{{|{{{|{{{{zy{zz{||{{|{||{{{{{{{{{|{{{||||{{{|z{z{}{}|{{|z{{{|zz{{|{{|||||{z{{{zz{{{|z|||{{{{{{|{{{|}{}|{{|{||||{{||}{|||{z{{z{{{||}{|{{{{|{|{|{||}|{||}{||{{{{{|{||||{{|||{{{{{{||{||{|{}{{||{|{|||||{{{{{|{{|zz||{|||||||{{z|{{|||{}}|{}{z{{{{{{{{|{|||{|{z{{{||||{{||{{{{{zz{{}||{{{{||{{zzz{|z{{z|{z{{{{{{{{z{{{y||z|{{z{z{{z|z{{{|{{{{{{{z{{{z}|{{|||{zzz{{{{{|{{{{{{{{zz{zz{{{|{{|z{z{z{{z{{{{|{{z|{{zy{zyz{z{{{{||z{zzzzz{z{{zz{{{{zzzz{{zz{{{{{z{zzzzzzyz{z{{{{{||zz{{z{zz{{zzzz{zzy{z{{zz{{{{{z{{{{{zzz{{{{{|{{{{{{{zzz{|{|z||{|{{{{{z{{|{{|{|||{z{|{{{{{{{{|||{{{{z{y{{{||z|{{|{{{z{z{{{|||{|||{z{{{{zz|{{{{||{{{{||z{{{}|||||||{{{{{|{||{{{|||{{}{|{{z}{||}{{{|z{{{||{|}|{|||{|{{|{{{{|||||~{}{{|{{|z{|}|{{||}|||||z{|{{}{||{{|{{{|{z{|||}|||||{z||{{|{{|||{||{{{{{{z{{|||{}||}|{|{z{z{}{||||{{z{{{{{{|{|{{z{{|zzzz{z{{|{{{{|{{{|zz{{y|{|{{{|||{zz{zy{{|{{|{||{{{z|y{{{{||{||{{{{{z|zzz{||{{||{|{y{zz{{{zz{|||{zzz{{z{{{{{{{z{{{{zz{zz{{{{|{{|y{z|zz{z{{|z{{{{{{yzz{{z{{{||{{{|{z{zzz{{|z|{{|{{{zz|zzzz|{{{z|z|zzz{{zzz{{{{{{|z{z|zz{zy{{{{|{|{{zz|{|z{|{{{{{|{{z{zz{{{{||||{{|{z{zz{{|{|{||{|{|{{{z{{{||{||{|{{{{{z{{{|{{{{{{{{{{|{z{{||{{|{{{z{{{|{{{|{{||||z{{{{|{||{{|||}|{{{{|{{{|{|}|||{|zz||{{{|}|||||}|{|{{||{|}{|||||}{z||{{{{}||}{|}|{{||z|{}||}{{|{|{{{{{{{||{{|}||}{{||{{{|||||||}|z{{y{|{|}|{||}|{}{{z{{{{|{||{||z{{zzz|z|{|{{||{{zy{zz|{{|{{|{z|{zz{zzzz{{{|{|}{|{{{||{{{|{|{|{|zz{{{yzz{|z{{{|{{z{zzzzz{{{{|{z{{{{z{{{{|z{{{|zz{{z||{yz{{{zy{{{{{zyz{zz|{|{{z{{zz{z{zzz{|{{z{|{zzz{{zzz{z{z{{{{z{zzzzy{z{{|{||{z{{zzzzz{{{{{{{{{z|z{zy{z{{{{z||{z{z{{{{z|{|{{|||{{{{{{{{||{|{||{{|{{zzz{{|{{|{|{{{zzz{z{|{{{{||{{||zz{{{{|{{{||{{{zz{{{{{{|{|}{|{{||{{z||{{z{}{{{{{|{||z{{{||||{{{{}||{{|{||||}{|{{{{{{{||||||{{{{{|{{{{}}||}||{{{{||{{|}{{|||||{{|||{|{||{|||||{|{{{{{||}|}|||z{{z{{{{|{|{||||||{|||{{{{||||{|z{{{zz{{{|{|||||{{{zz{{{||{|z{||{{{{|z|z|{{{||{{{|zz{{{zz{{z{|{{{{z{{{z{{{{{{{{{{zzz{zzy{|{|{|{|{{{{{zzz{{{{{{||{zzz{{{z{{{|{{{{{z{{{{{{{|{{{{}{z{{zzzzz{{|z{||{{{{z{{zzz{{{{{{zzz{z{zz{z{{{{{|z{{z{zz{{{{{{}|{|{{z{zzzz{{{{z{|{{{y{zzzzy|z|{{{|{{zzz{{{{{{|{{{|z{z{z|{yz{|{{z|{{|z{z{{{{{{z|{|{{{{zz{{z{{|{{{{{z{|{zz{|{||{{|{{|{{{|{|{z||||||||zzz{{z{|||z|||{{{{{zz{|||{{{|{|{{{z||{{|||{|||{|{{{{{{z||||||||{{z{|{{{||||||||{{{z{{{{|}||||||{||||||{{|{||{|~|{{{{{{|{}}|}||||{|{{{{{|||}{{}|{{{|{{{|}||{}|}}||{{{{{{{{{||{{|{z{z{{z{{|||{{|}||{{{{zz|||||{z{{{{z{{{z{}||z{{{{{zzzz{yz{{{z|||{{zz{zzzz{|{{{z{{zz{z{{z{y{|{{|{zyz{zz{{|{|{z{|zz{zzzzzz||{z{z{{{z{zz{{zz|{{{{|{{zz{zz{zz||z{zzz{{zzzzzz{{z{{z{{y{zzzz{zz{{zz|{{zzy{z{yzz{{z{{{{zz{{yzyz{{{{{{|{yzyzzyz{zz{{{|{{z{{z{zzz{{{zz{{{zzzzzz{{{{{{{|{|{zz{{z{z{|{{{|||{{{{{z{{{{{{{{{{z{{z{{{zz{|||{|{||{z{{z{{{{{{|{|{yz{{{zz|{{|}{|{{|z{{{z{|{{{|||z|z}{{{zz||||{|||{||{{{{{|}|||{||{|{{{zz|{|||{|{}{{{{{z{{||{{||}|z|{{{{|{|||{||{||{{{|||{{|||}{|||{{|{{{{||{{{}||||{|{{{|{z{|||{||||{|{{{{{{|{{||{z{{{zz{{{|{{{}|||{{{z|z{||{|{{{{{{{z{{{{{|{{|{{{{{zzzzz{{|{|{||{{zzzzzzz{{{||{{{{{zzzzz{{z{z{{{{z{zzzzyz{|{z{{|{z{zzy{z{{|{{{z{{z{yz{|{|z|{z{{{|{zzzzzzz|{{z{|{{zyzy{zzz{z{{{{{zzz{{zzz{z{{{{||z{z{z{z{{{{|z{z{zzzzzz|y{{{{{{{zz{z{{y{zz|{{{z{|{z{{{zzzy|z{{{z{{z{z{zzz{{{{{{||{{{z{|zz|{{{{{{|{z{{{{{{{{z{z|||{{{z{zzz{{{{|{|||{{z{{|z{|{{{{{{{{z{{{zz{||{{|||{{{|z{{{{{{{{{|{{z|{{{{{|||}|{{|{{{{{z{{{{{|||||{z{|{z{{{||||||{|z{{{{{{{||{||{|{||{{|{{{{|||||{|{{|{|{{||}{||}||{{{{{{z|{||{{|||{{|{{z{||{{}|{||{{{{{{||{|{||}|{|{z{{{{||||{||}|{{z{{{{{|||{|||{{z||zz{{{|{{{{{{{z{yyzzz|{{{{z{|{zz{z{z{{{z{||{{{zz{{{{|{||{{{{{zzz{{zz{||{{{|{{{{z{zzyz{{{{{||{{{zy{{z{{{{{z|{{zzzzyzy|{{zz{{{{z{zzzz{|z{{|{{{z{{{zyzy{|z{{||zzyz|{{{zzz|{z{{{{zz{zzy{z{{{{|{{|{{z{zzzz{{{{{{|{z{z{zz|z{zzz{|{zzz{{z{{{{{{{|{|{z{{{z{{{{{{{z{|{z|{z{{y{{{{z||{{z|{z{z{{{{{|z|{{z{{{{{z{}||{||{zz{{zz{z||{{{{||{{||{z{z|{{{|{|{|{{zz{z{||||{{||{|{{{z{{{{}{|{{|{{||{{{{{{|||{|||z|{{|z{{}{|||||{z|{z{{{{{{|||{|||{|{{{{|}||||{}|{{{z{{{||||{|||}|z{{{{|{|||||{|{{z{{{{|{|{|{{|}{{|z{{{z{|{||{|{|{z{z{|{||{|{|{|{z|{{z{{|{{{|{{|zzzzzzzz{|{{{{{|{{{z{zz{{|{{{{|{zy{z{{z{{|zz{||{{z{z{zzz{{{|{{{{|zzzzzy{{{z{{|||||{z{{{zz||zz|{{{zz{{z{{{{{z|{|z{{zzz{zz{z{{|{{|z{zzzzzzzzz{{{{{zz|zz{y{z|{{z{{|{{{{{z{z{z{||{|{{{y{yzzzz{{{|z{{{{{{{zz{z|{{z{|{{{z{{{{{z{{{{|||{{{{|z{{z||{{{{||z|zzz{z{{{{{||{{||z{{{{{|{{{{{{zz{z{z{{{|{|||||zzzz{zzz{{||||}{|{{zz|z{|{|{{|{|{||{||y{||||{||{{{zz|||{||z||{|||{|{{{{z{|||||||{{{{{|{{|}|z|||{{{{z{|{{{||{{||||{|||{{{{|{||||||z{{{{{|||||||||{{||||{|{{|{|||||{z{{{{|||||}||||{|z|{{zz|{|{|{{{{z{{{{zz||{{||{z{{z{{zz{{|{{{{|{y{z|zzz{{{{{{{{{{yzz{{z{{{{{|{{{{{{{z{z{{||||||{{{{z{zz{{{{{z||{{{z{zzzz{|{{{{}zz{yzz|{z{{|{z{{{{{{zzzz{z{{z|{{{{zyz{z{{{{zz{{|zz{{{{zz{||{z{{z{{{zz{z{{{{{{||{zzzzzzzz{{z|{z|{z{z{{{zzzz{{|{{|z{z{{z{yz{|{{}{|{z{|{zzz{|{{{{{{{zz{zz{{{{{{z{{{{{z{{z{||{{{{||{{{{{{yz{|{{|{{||{|{{|zz{{}{|||{{{|{{{{{z|||||{}{|{{{{{{{|{|{{{|z{{{{|{{z{|{{|||{{|{{{|{{{{||||}}||{{zz{z|{{{{|}||{{{{{{{}{|}|||}||{{{{|{{|||{}{}|{{{{{{{||||}|}}{{{{|z{|||||{}||{z{{{|{{{{||{|}}{{{||{{||||{|||}|{{z{{zzz||||}||{{z{z{y{|||||||{{|{z{zz{{|{|{{||y{zyz{zzz{{{{{}{|zz{yzzz{z|{{z{{{{zzz{{{|{{}|{|{|{z{{{zz{{{{{{{|{z{zz{zz{z|{{|{{y{{z{yz{{{{{{||{z{{{z{z{}|{{{{{z{{{{z|zzzz{z{|{|zz{zyyzz{{|{zz|{{{zzzz{z{z{{z{{{{z{z{{zzz{{zz{|{zz{{{z{zz{z{{|{z{zzyzz{zz|{{|{{zzz{z{{{z{|{{{{||{z{{{{{{||z{|{{|{{zzzy{{{z|z{{|{{{{zz{zz{{{{{|||{z|z{z{{{}{{{{{|{{{|{|z{{||{||}z|{{{zzz{|{|{{|}|{{{{{||{||||{|{|{|{|zz{{{||{{{|||{||{z{{{||||{|{{|{{{{{||{{|}{|||{z{|{{{||{{|||}||z|{}{{{|}{{{||{|{|{{{{|||}|}|||z{{|{|{|||z{||{}|{{|{{{{|{||{|{{||z|z|{{{{|{|||{|{{{{{{||||z{||{z}zz{{z{||{|{|z{z{y{z{y|}{|{{}{{z{{{{{z||||{|{|{{z{z{{z|{{|z||{{{zz{zz|{z|}{{|z{{{{{yzz|||{{{{{{{zzz{zz|{{{{||{{{{{{{zz{||{{{{{{{{zz{y{{zz||||{zz{{{zzzz{z{{|{{{z{{zzzzz|{{{|{|{{{|z{{z|{{{{{{z{{zz{zz{zz{|{{{}zz{{z{{z|||{{|{{z{{z|{{zz{{|{}||zz{{{z{zz{|{||{{||z{z{{{|{|}z{|||z{{{{{zz{|{z{|{{z|||{||{|||{||{{{z{{|zz{||{{|{|{{{|{{|z|||{|{{|{{|z|{zz|||{||}|z|{{|{||{|{||||||{{||{|{|}|}}||{|{{|{{|{}~|{|}|}{{{||||}{||||}|}|{{|z|||||||{|||{{{|{{{{|||{{|}}|{{|{||{{||}}|}||{{{{|z{{|{|}}}{{{{{{{{{{|||{|||||z|{z{z{{|{{|}{z{|{{{z{z|z{{{|{z{z{{zzz{|{{{{{|yz{{z{z{{{{|{{{{zz{y{zzz{{{{{{{{|{{zzz{{{{{zz{|{{z{zzzzz{{{{{{z{{{{z{z{{{{{{|{|{|{zz{yz{{{{{{{||z{{zzzz||zz{z{{{{z{zzzzz{{zz{{{zzz{zzzzz{{{{{||{zz{zz{zz{zz{{{{{z{z{zzz{zzz{z{z{z{zz{z{{{{z|{{{{{{{{{{zzz{{|{z{|{zzzzz{{{{}{{{}{|z|z{z{z|{{z{}{|{{{{{z{{{|{|||{{||{{{z{{|{z||}|{|zzz{{y{|{||{{{{{{{{{z|{||{|{|zz{{{{z{{{{|||{{|{z|z{|{{{||{|{}{{{{{zz{{{|||||||}{{{{{|{z||||||}|{z{{{{|{|{{||{{|||{{{{{{|~||||||||{{{{{{|||{||{{}{{{{{{{{|{|{}|{|{{}|{{z|{|{|}||{{|{{{{z{{z|{|{|||{{z{{zz{{|{{|{{{z{{z{z{{{{{{{{zzyzz{{z{{{{{{{|{zzzzz{{{{{{|{|{{{zzyzzzz|{{z{|{{{{z{{z{z||{z||{{{z{zz{y{{{{{{|{{zzz{{zz{{{{{{|{zz{zzzzzz{z{{{{{{z{zy{zz{z{{z{|{z{z{{y{{zz{{{{{z{zz{z{zzz{{{|{{{{z{zzz{zz{{||{|{zzzz{{zyy{zz|{{{{zz{{{|zz|{{{{|{zy{z{zzzz{{||{{{{z{z{z{z{|{{|||{{{zz{{{zz{{|{z|{{{{z{zzz|||{||||{z{zzzzz{{{{||||{{zz|{z{|z|{{{{|zz{|{{{{|{|{{{|||{zz{{{{||{{||{|z{z{|{z|{||{|{||{{{{z{z{||||{|{||{{{{{{{{}|{||||{{|{{{||z|{|||||||{{z|{z{}{}{|{||z{|{z{{|{||||||z{|{z{{{||||{|||{z{{{z{|||{|||||{z{z{{{z||{{{}|{{{z|zz{{{{{|z{|||{{z{zz{{{{z{||{zzzzzz{zy{||z|||{{{zz{zz|{{|z{}||{{z{{zzz{{|{{{|{{yzz{zz{{{z{{z{{z{{{zzz||{z{{{|{{{zzz{z{{z|{{|{|z{z{{{z{{{{{z{zzzzz{{z{{{zzz{{{{{yz{zzz{zzz{{|{z{{zzzyz{{{{z{{{{{y|z{zz{{{z{{{{{z{z{{zzz{{zz{{{{|yz{zzz{{{{{|{zzz{z{|zz{|{{{z{|{{zzzy{zzz{z{{|{{{zzzzzz{||||z||{{{z{z{z{{z}{|||{|{z{{{z|{{|z|{{{y|z{{{z{{{{||}z{{{z|z|{{|{||||{{{{z{|{zz|||{}}|{}{|zz{{|}{|||||{{{{{{z{{||||||{|{zz{{|{{||{{|||{{{{{{|{}|||{}|||{{{{{{{{}{{{{|||{{z|{{{||||}||{|{z||{{{{}{{|{|}{{{{|{|{}|{{|||}{{z{{{|{{{{|z|{||{{{{{{y{||{|||{|{{{{{{z|||{z|z{zz{zyz{yz|{{|||zzz{zzz{{z{{{{|{z{zzzzzzzzz||{}z{zzzz{z{zz{{}z{||{zzzzzzz{{{{y{|{zz{z{zyyz|{{|{{{|zz{zzz{{|{{{{|{{{z{z{zz{{z{z{{{zzz{zz{z|{{{{{|{zyz{z{zz{{z{{{|zzzzzyzzzz{{{{|{{{{z{{zzz{{{{z{|{{zzz{z{z{z|{z{{{{zzz{zzzz{{{|{{|z{z{zz|{z{{{z{||{{z{{zy{{||{z|||z{{{z{{z{||{{{|||z{z{z{{{|{|{{{{{z{zzzzz||{{|||{{{{{z{z{{||{{{|{{|{z{{zzz|}|{|{|{zz{|{|{{{{||{||{{|{zz{z{|{z||||{y{{|{{z{|||||}|||||{|{|{|{{|||}|{{{{|{||}|{|{|||{{{{{{{}|z|{||{|{{{|{{|{||||{|}|{z{}{{||||}{||{{{|{{z{{z}{|{||||{{z{z{|{|||z{||{{z{{zzz{|{|{|{{zzz{{zzz{{|{{|{{{zyzzzyz{{{{|{{{|{z{zz{{|z{{|{{{{{{{{zz{z|{|{{{|{{{{z{{{z{{z||{{zzzz{{zy{{z{{|{|z{|zzzz{{{|{{|{z{{z{zzzzzzz{{{{{{{z{zy{{{|zz{z||zz{zyzz{{z{{{{{{{{|{yy{z{|{{{z{{zz{z{zyyz{{zzz{{{zzzz{{{z{{{{{{{{{{zy{zz{|z{{{|{{{zz{z{{{{{{{||{{{z{{{{z{{|{z{{|{z{{z{{{|{{|{{{|{{{{{z{z{{{||{{{|z{|{{zz{|{{{{|{|{{{{{z{z|{{z{|}{z{{{z{{{||{||{}|{|{{{{z|{||{|||{{{{{zz{||||||{{{z{{{{{z|||{{{||{{{z{|{{|||{{}||{z{{{{{||||}||||{z{{|{|{{|}||{|{|{z|{z{{|{{|||||{|{{{|z{||||||||{|z{{zz{{{{{|{|{{{|z{{{{|{{|{{|{{{{z{zzy{{{{{|z{zz{{zzz{z|{|{|z{{{{zzyzz{z{{zz{|zzzzzzzzzz{{|||z{{{zzzz{{{{{{{{|{{{zz{{{{{{{{||{{z{z{zyzz{{z{{{|zz{zzyzzzz{z{z{{{|z{z{z{{{{zz{z{yyz{yzzz|{{z{||z{{zzyzzz{{{{|{|{zzzzz{zzz{||||z{{{z{zzzzz|z{|{{{z{zzzzzz{{zzz{{|z{{z{{{z{z{{{{{{{z{zzz{{{{{{z{||zz{zzz{z{{{|{||{z{{zzz{{{{{{||||{z{{zzz{{{{{{|z||{{z{zzz{{|{{{||{z{{z{z{z||z|{|z{{{{{{{{{|{|{||}z{|y|{{z|{||||z{{{{|{{zz{{|{}{{|{zzz{z{{|||{{||}{{{|z|{|{{{||{|{|z{{{{{{{}|}||{||||{{{{{|{}{||{||{{{{z{{{{|{|||||{{|{{z|{z{||{{|{{{z|{{z||{{||||{{{z{{{{|{|{{||{{{|{zzzz{|{|z{{{zzzzzzyzz|{z|{{{z{z{zzz{{{|{{||z{{{z{y{zz{{y{{{{{z{zyzzzz|z{z{||{{{zyzzz{{|{{{z{{zyzzy|zz{{|z{{zzzz{zzy{{{|zz{{{{z{zzzzzz{{{z{{|{{zz{yzzzz{zzz|{zzzz{zzzz{{{{{{|{{{zzzzyzz{{{z{{zzzzz{zzz{y|{{{|z{zz{z{{z{z{z|{|{zy{{{zy{z{{{{|{{z{zzz{zz{{{{zz|zzz{{{z{|||{{{{{zzz{|{{z{{{|{{|{{z{|{zzz{|{{{||{{z{z|z{z|{{{{|{{|{{{z|{{{{|{|||{|{{{{{{{|{{}{{{|z{{{z{zz||{|{||{{{{{{z{{|||{||{|{{{zz{{{}|{{{|}|zz{{z{|{zzz{{||||}{{{||{||{|||||{{||{{{{||{{|||{|{{{|{z{{{|{|{|}{{|||{{{z|{{{||{|{{zz{{z||{|{{{||{|{z{{z{|{{|}{{z{{{z{zz{{{z{{|{z{{{{z{zz|z{{|||{{{{z|z|||{|{{||{{{{{zzz{{|{{|{||y{{zzz{z{{{{||z{{{z{{{z{{{{z|{|{{z{{{zz||{{z{|{z|zz{z{{zzz{{z{{z{zzz{yz|{{{{{{{{z{zzz{{{{{z{{{{zzzzz{{z{{|{{|{{{zzyzzzy{z{{{{||{z{{z{zy{{zz{{{{{zy{zz|{z{{{{{{{z|{zz{zz{{{{|z|{|{{{{z{{{{{{{{{|{z{{{{{{{z{{{{||{zz{z{z{{|{{|}}|{zz{{{{z{|{|||{|{{{{|{{{{|||{||{{{{|{zyz|{|{{{{|{{{|{{|{||{{|||{||{{{z|{|{{|{||{|{{|{{{z|{|{}||||{{{|{z|||{{}{|}{{{|{z|{|}|||}|{|z{{{{|{{}||{||||{{{{{{{{|}}||||}z{z{{{||{||{||||{z{{{z{{{{|z{||z{{z{{z{{|{||||||{{{{{{{||{{|{||{{zz{{{{{{|{|{|{{{{z{zzz{|}{{{{{{z|yyzzz{{{{|{{|z{{{{zz{|}{|||{||{|{z{z{{{|||||{{z{zz{{z{{{{{||{{{|{{z{z{{|{z|||{yzz{zz{{z{z{{{{{{{z{z{zz{{|{{|{z{zz{{{z{{{z{|z|zz{z{{y{{z{{|{{}{|{{zzz{z{{{{{{||zzz{{zyz|{z{{|{{{{{{yz{z|{{z|{|zz{|{zzy{|{{||{|zz{z{zz{{{|{{{{|{zz{{yz{{{{{{||{z{{{{|z{|{||||}|{|||{{{{{|{|{||{|{z{z|{|{|||}{|||{zy{{{{{||{||||{z{{||{{{{|||}||{{|{{{z{{|{||}|}{|{z{{z{{}|{||{||{{{{{{||}||||||{{|{{|{}|{}|||||{||||{{|{|||}{|}|{{||||{{|~|{}|||{{{{zz{{}|||||||{{{|||||}{|}|}}{{{z{{{|||{{|||{|{|{{|{{|}{||||||{|{{{zz{{{{|{{{zzz{z{zyz{{{{{{{z{{{zz{z|{{{z{z|{z{zyzzz{{{{{{|z|z|{{{zz{{{|{{{{{|zzzyzz|z{|{|{|z{{{{zzz{{{{{{{{|{z{z{|{{{{{z{{z{|z{z{{{|z{{zz{{zz{zzyz{zz{{z{{|{{{zzzzzz{{y}|{{{z{{z{{zz{{|{{|{{zz{{yz{{{{{z{{z|{zz{z{{z{z{{{|{{zzzz{zz|z{{{{|||z{zz{{z{{{{{|||{z{{{zzz{{{{{|{{{{{{{{{{||{||{{|||{|{z{y|||{||z{{z{{yzzz{{||{||{|{{{{z{{{|{{|{||{{{{{{{{{{{|||{}{{{{{|{{||{||{|}{y{{{{z{{{|{{}{{|z|{|z|{|}z|{||||{{{z{{{{|||}||{}{{{{|{|{|||}{|||z{{{{|{}{}{{}z}|{{{{{{{{||||||||{{{|{{{|{||||||{{{{{{{{{{{|{|||}{{z{{{z{{{|{||{z{zzz{zz|{{{{{||z{z{zzzzz|{z{z{z{{{{zzz{{|z|{|{{|{{{zyzz{{{{{{z{{zzz{zzz{{{|{{}{{{{z{z{z{{{{{{|{z{{zzzzzz{{{{{{z{{{zzzy{{zz{z{{{zzzz{{z{z{{{{{|z{z{z{z{{{{{z{{{z{{zzy{yzz{{||{||{{yz{zyz{{{z{{{{{z{zzzzyzz{z|{|z|{zz{yz{zzz{{{{{z{zz{{zz{z{||{{{zzz|zzz{{{{{z{{|{{{zyzzz{|{|{{{{{{{{zz{|{|{{||}|{{{{{y{{z{{|{||{{{{{z{zz{||{{}}|{|{{{zz{{{|{{||{{{{{{{{{{{|||{}}{{z{{{{{{|{|||||{{{zz{{{{{{{|||||z{y{z{{||}|{}}}zz{{{{{{|{|{||||{{{|{{{|{|{||{||{|{{{zz{|{{{{{|{|{{{{{{z|{|||{{}|{{{{{{|{|{||z{|{{z{{{|{{|{{{|{|{z{{{{z{{{{{|{||{|{{zz{{z{{||z{{z{{{z{zy{{|{{||{{z{zzyyz{{{{z||{{z{z{zz{{{{{{|{||{z{zyzzz{z|{{{|{z{zzzzzzz{{z|z{{zzzzz{zz{{|z|{zzyzz{{y{{|{||z{{|zzz{{zz|{{y{z{{zz{z{zzz{|{z{z{|{z{{z{yy{{{{|{z{{{zzzzzz{{{{|{|z{zy{zzz{{{|{z{|{zzyz{{zzz|z{{z|{zz{{{{z{{{{z{{{zzzz{z{{{{{{{{{z{zz{zz||z|z{{{|{|zz{{{{zz{||{|{|z{{{z{z{z{|{{||{{{z{zz{{z{|{|{||{{|{{z{{{{{{{|||}|{z{z||{{{{|{|||{{{|{{||||{{{{||z{z{{{z{|{{{{{|}|yz{{{{{{||z|{|||{|{{||z{||{|{}||{||{{{{{||{{{}|||z|{|z{||||||{||{{{{z{||}|z{{|}{{{zz{{{|{||}{||{{{{{{|zz{||{||{{{{{{{|z{|||z{|}z{{zzz{y{{{{z{{{{zzz{z{z{{{{{{z||z{{{yzz{z{{{{||zzzzy{zzzzz|{{{{{zz{{zz{z{|{{{{{{zzzz{z{{zzz{|{{{{{z{z{{z{z{{{{{{zzyz{zzzz{z{{{zzzzzzzzzyzz{z{z{z{zzzzzyz{{z{{|{zzzz{zz{{{{{{|z{{zzzyz{yz{z{|{{{zz{{zzzz{zzzz{{{{{{{zzz{z{zz{{{{{zzzz{zzz{{zz{{{zzz{{yzz{z{{{{||{yzzzzz{{{{|{|{|z{{{yzz{|{|z{||{|{{{{{{{z{{{{{|{{{{{{{zz{{{{{{{{{|z{{zz{|{|z|{z{{{zz{z|{{{{|||{|{{z{{{{{|{||{|||{z{{{z{z{{{|{|||{{|{z{|{|{{|||{|z{{{{|{{{{{{{}|||{|{{{z|{||{||||{{{z{{{{||{||z}||{{{{z{{{|z||||||||{{z{}||{{|{||{{{{z{{{z|{{{||||{{|{{{z{{{||{||{{zzzz{z{{z{{{|zzz{{{z{zyz{{zz{{{zz{zzz{zy{zz{{{{{zzzzzzz|{z{{|{{zzzzzz{y{||z{{{{{zzzzy{{z|{{z{|{y{yz{z{{{z{z{|z{z{zzzzzz{|{z{z|z{zzzzzz{zyz{{y{zzy{yzyzzzz{{{{z{z{zz{zz{z{{{{{zz{zzzzzyzz{|{z{{{{zz{zzzzzzzzzz{zz{y{z{z|{{|{{{{z{zzz{{zz{|{z{|z{z{z{zzzz{|{z{|{{zzz{zz{{{{{{z{{{z{{y{z{{z{z|{{|zzzz{z{z|{{{{||{{z{z{{|z{||{{{|{{zz{zzzzz|{{{{{||zzz{{zz{{|{|}{|zzz{{{{{{|{{{{||{z{{|z|{{{|{{|{|{{z{{zz{|{||||}}zz|zz||{||{||||{|zz{z{|{{|||||||z{{z|z{z|{{|||{|{z{z{{z{{{||{|||{|{{{{{{|{{{{|||z{{zzzzzz}{{||||z|zzz{{{{|{{{{|{{{zzz{{z|z|{|{z{y{{z{yzyy{zz|z{|{zyyzz{z|{{z||{|{zzzzzzzzzz{|z{{{{{z{zz{{|{|{{{{{{zzz{zz{{{{z|z{z{yzz{zzz{zz{{{|{z{{zz{{{{{{z|{{{z{z{z{z{zz{{zz{zyzzy{{yzzz{{z|{z{zzzzzzz{|zz{{zz{{zz{zzz{{|{|{{zzz{zyzzz{{{{{{z{{y{zzzz{|{{{{|{{y{{{{z{{{{||{{|z{zz{z{z{|{{{{{{{{{z{zzz|{zz{|z{{{{zz{z{{zz{||{|{z{z{y{zz{|{{||{{|z{z{z{{|{|{|||{{z{|{z{{{|{||{{{zz{z{z{||{||{|{{{{{{{{{||||{{{|{{{{z{{{}||{|||{|{{{{zz{{||}||{||{z{{{|||{{|}||||{|{y|z{{}{|{{||{{{|{|{z{{|{{||{{z|{zz{{z{|{{{{|||{||{{|{||{|{{|{z{{{{{z|{{|{||{{{{{zz{z{{{|z{||{z{zzz{z|||{z{z{{z{y{yzz{{{{{|{|{zzzz{zyz||{{{{|{zz{z{y{{{{|z|{|{z{zz{zy{{{{{{{{{{zzzzzz{{{{{z{|{z{zzzzyz|{{{z{{|{{zz{z{zz{z{z{zzy{zy|yzzzz{{{{{{yzz{yzzzz|z|{{{{y{zyzz{z{{{{z{}z{{zzz{z|{|{{{{||zzzzzz{z{{z{{{{{{z{z{zyz{z{z||{{z{z{{{z{zz{z||{{z{{{zzz{{{z{{{|{z{{zzz{{{{{{||{zz{{|zz{y}{|{{|{{{{{zzzz{{{{||{{zz{{{{{z||{{z|||{{z{{z{z|{{{{{{{{{zz{{{{}{||||{{{z{z{{{{{|||{{{||z{|{|z{{|{||||{|{{{|{z{|||{||}|{{{{{{{{{{{|{|||||{{z{|{{{|}{||{{zz{{{{{{|{|||}|{{{{{{{{{|{{{|||{{{{{{{{{||{||{{{z{zzz|{{||||||}{||{{zzz{|{|{{{{zzzzz{zz{|z{{{{{{z{zzzzz{z{{{{|{z{z{zz{z{{{{z{|{zzyzz{zz||{{|||{{zzzzzzz{{{{{z{|{zzyzzzz{{{{|{{{{{{{z{zz{{{{{{{{z{zyzzzyz{|{{{||{{{zzzzzzz{{{|z{z{z{zz{zz{{{{{{y{{zzzzz{{{z|{{|{zz{{zzzzz{{{|z{|{zyzzyzyyy{{{{{zz{zzzzzzz{|{{{{{{z{z{{zzzz{|{|{|{{z{{z{z|{|{{||{{{|yz{z{|z{||{{{{{zzz{{|{{{||{{{{{{zzzz{{{{z{{|{{{{z{{zz{}|{{{|{{{|{|z{|{||{{|}{{{{z|{{{z{||||}|{{{z|{|z|{{}|{||{{{{{{{{{{|||{}{|{{{{z|{{||{|{}}||{z{{|{{||}{|{||{z|{|{{|}{{}{}|{{{|{z{z|{|{|||||{{{{{{z{{{||||}{{{{|z{{|{z|||||{{{z{{{z{|{{{|||{{z|z{{{{}||{{{{{{{{zzzz{{{|{{{z{{{{zzzyz{|{{z{{zz{{{z{zz{|{{{|{{yzy{z{z{|z{{{{{{{{{zzzzz|||{{|{z{|{zz{z{{{{{|{{zz{zyyz{zz{{{zz|{zz{z{zz{{{zz{{{zzzzz{zz{{{{{{z{zzyzzy{z{z{{{zz{zz{yyzz{{{{{{{{z{zz{yz{z{|z{{|{{{zzzz{{z{{z{z{zyz{{{zzzz{z{zz|{{{{zz{zzz{{{{{{|{|{{{{zzzz{{{|{{{{{{yzz{z||{{{{z|zzzz{{z|{z|{{{{|z{{{{z{z||{{||{{{{{{{{zz{||{{{|{{{{z|{z{{||z{{{|{{{|zzz||||||{||z|z{{{{|{{|{||}{zz{{|{zz||||||}|{z{{|{{{{||{{|||{{{{{z||{|{||{|||{{{{{{{{||||{||z{||z{{{|{{{{||||z{}z{{{{}{||{|||{{{{z{|{|||||{|{{{y{z{z{{|||{||{z{{{{{{{|{{|||{{{{zzz{z|{|{{{{{{zzyzz{{z|{{||z{{zz|z{{z|{{{{{{|{zz{{{{z{{{{{{|{|zzyzzzyz{{|z{{|{{zzzz{y{{{{z{z{zzzzzz{z{zzzz|{z|{zyz{zz{{{{z{{zzzzzzzy{{|{z{{z{yz{yzzy{{zzz{z|zzzzzy{zz{{{{|{z{zz{zyzzz{{{|{z{{{zzzyyzzz{z{{z{{zz{zzzyyz{{zz||zzzzzzzzz|z|{{{{{|zzz{z{{{|z{{{{{zz{{{z{z{z{{{{||{z{y{{zz{{{|{{|{{z{zzzz{{{{{{|z{{{zz{{z{{{{{{z|{z{z{z{{z{{{{{|{{{{{z{{{{{{z{}|||{{{{{{{|||{{|||||zzz{zz{{|{|||{||{{{{z|{||{|{|}{}|{{{z|{{|{{||||}{z{{|||{|||{||{{{||{{z{}|{|{}||{z{y{{{{{{{||}{||{{{{{{|{{|||}||{|zz{z{{|{{{{|{{|{{{zz{|{|z{{z|{|z{zz{{z{{{z{|{z{{z{zz{yz{{z{z{{{{z{zzz{{{z{{z{{{{zzy{zzz{{{{z||{{zzzzyz{z||{{|{zz{zzzzzz{z{{{{{{zzz{{{{{z|z{{{zz{zz{{zzz{z{z{z{{zzzyz{zzz{{z{zzzzyzzzz{{z{zz{{{{yy{yzzz{{|z{{{{z{{{z{zz{z{{|{{{zyzz{zzyzz|zzzz{zzy{{zz{z{z{zz{{z{zzz{{y{{{|z{|{{z{y{yzy{{|{z{{|{{{z{{zy|{{{{z{{{{z{{{{{{z{|{{z{{{z{{zz{{|||{{|z{z{z{zzz{}{z{||{{{{{|{zz{{z{{{z|z{|z{{{{{||{{{||{{{{z{|{{|{|||{}{{z{{{zz{z|||||||{z{{||z{}|{|||}z{{{{{|{{{||z}}||{{{{{z{{|{{{||{{{|{z{{{{{|}{|{{|{{{{{z{|{|{{|||{{{z{z{{|{{||||}{{zzz{{{|{{{{{||{z{{z{{z|||{{{|{zz{zz{{{{{|{{{|z{z{{{z{{{||z{{{z{zzz{{zz{||{|{|{zzzz{zz{|z{z{{|{{yzzz{yz{{{zzz{{z{{zzzzz|{{{z{z{{zzzyz{zz||zz{{z{zzz{zyzzz{zz{zzyzzzyzzzzz{zzzz|zy{zzzzz{{{|{{|{zzzzzzz{zz{{z{{{{zzy{zyz{z{z{z{|{zzzyz{yz{zz{{zzz|zzzzzyz{{zz{{|zzzz{{zzz{{{{{{|{{zzzz{z{z|{|{{|{z{{{zz{{||{{{||zzzzzz{{{{z{{z{{{{{{{z{z{|{|{{z{{{zy{{y{{{{{{|{{{z{z{zz{{{zz{z||{{{||{|z{|{|{|{|z{zz{z{{{|{||||{{{z{{z{z|||{||}|{{{{{z{z|||{|||||{{{z{|{{|{{|{|{{{{z{zz{{|{||{}{|{{{{|{{|||{{{{}zz{{z{z{z{{|}{|}z|{{{|z{||{|{{|{{{{{{|z|{|{{||||{{{z{{zz{|{|}|{|z{{{{{|{{{|{|y{{z{{zzzzzz{z{{||{{z{zzzyz{{|{{|z{|z{zzyzz{z{{{{{|{{zzzz{{z{z{{z||{z{zy{zz{||{{z{|{y{zz{z{{{|zzz{z{z{{{zzz{{|zzz{z{yz{z{zzz{y{{{{{{yyz{zzz{{{{zz{{zz{zzzyzzz{{|{{{z{{yyyzz{{y|||{{z{y{zyyyzzz{z{{zz{yzzzzzz{{{{{{zzy{yzzzz{{{{{{{|{zzzzzzzz{{{{{y|zz{|zzyy{{{|z|{|z{{{z{z{{{{{{{z{{zzz{zzzz{|{{{||{{{{zz{z||z||{||z{{{zzz{{|{{{|{{|zzz{z{{z{|{||||{{zz{z{{{z{{|||{{{|{z{z{{||||{||{z{{{{z{{||}|{||{{z|{{{{{{{|{||||{|{{{z}{|||{{{|{{{{{z{|{|}{|z{|}zz|{{z{{|{|{||||z{{{zz{}{|||||||{|z{z{{|{{{||||{{zzz{z{z|{{{{{|{{{zzzzz{{|{z{zz{{{zyzzzz{zz|{z|zyzzyzzzzz{{|z{{|{zz{{zz{{{z{{{{{{zz{zyzzz{|z{{{{z{zzzz{|{{|{z{{{zzzzzzzz{zz{{{{{{zyzzzzz{zz{{z{yzz{{zzz{{zzzz{{zzzzzyzzz{zzzz|z{z{z{zyz{{{z{{{{zz{zyzz{z{z{z{{|{zzzzz{zz{z{z{zz{{{z{zzz{{zzz{{|z{zzz{zz{z|{{{||zz{{zz{z{zz{{z{{{{z{yzzz{z{{{{{{z{{{zzzz{{{z{{{|{{zz{{zyz{zz{{{{{{{{y{{{{{{{z{|z|zy{{yzz{|{{z||{zzzz{{{z{|||}{||{z{{{z{z{{{|{}||{zz{{{z{{|{{{{{{{{{{{z{{||||||}}{{{|{{{{{{{{{|||{{zz{z{{{|||{}|{{z{{{z{{{|{{|||||{z{{{{{{|z{||||||{{{{{{{{|||{||{{{z{{{z{{|||{|||{{zz{z{{|{|{{|{{{{z{zzz{{{{z{{{{z{zzzzzz{{{{{{{{{zy|zzzz{{z{|{{|{zzzzzzzz{zzz||{z{zzzz{z{{{z|zzz{{z{z|y{zz{{|{{{zzzzzz{{{{zz{{{{yzyyzzz{{z{{{z|zz{yzzzz{z{z{z{z{{zz{zyz{z{z{{{{|zz{z{zzzz{{{|{{{z{{{yzyzz{z|{{{zz{zyzz{z{zzz{{{{zyz{zzz{zz{zz|{zzzzz{yz{{{{{{{z{{zzzz{z{z{{{{{{zz{{zz|{zz{{{|{|zzz{z{z{{{{{{||{{{{{{{{zz|z{|{{{{zz{zz{z{|{{z||z{zz{{z|z{{{z|{{z{z{zz|zzz|||{{|{zzz{{z|z{{{|{|||{{{{{z{{{|||{{|||z|z|{{z{|||{}{{{{{{z||z||{|{|{||{z{{|{{{|{|{||{{{z{zz{{|{}|||{|{{z{zz{z{|{|{{|||{{{|{{z{{|{{|{~{y{zz{{{{|{{{{{||{|{zz{zz}|{{|{{{z{{{z{zz|{{{z{zzzyzzz{z{zz{{z{{zyzyzzzy{{z|{{{{{zzzzzzz{{z{{z{{{z{{zzz{{z{{z|{{{yz{yzyy{{{{{z{{yzzyzz{yz{zzz{{zz{yzyz{zyzzzzzz{{z{z{{zyy{zzz{zzyzzyzyzzzz{zz{{zzzz{z{zy{{z{|z{zzz{{yzzy{z{{{{{{yzzzzyyzzz{zz{z|{z{zzzyzz{zzzz{|zzz{zzzzz{{{{{{{z{z{zzzxz{z{{{zz{zzzzzzz{z{{{{{{{z{zzz{{|zz|||{|zzz{{zzz{z{{{|{zzz{{{zzzzz{z{{|zz{{zzyz{|{{{{|{|z{z{{z{z{|{||{{{zz{z{{{{{{{|{|{zzz||{zzz{{|{}|||{{z{zzz{|{||||||{{{zzz{{{{|{|||{{z{{{{{{{}{|{{||{zz{z{{{{|{{{{{{|{zzzzz|||||{}{||z{{{zz{||{|}{{{z{y{{zz{z{{|{|{|{zzz{{{zz||{{{{zzz{{{yzyz{|{{|z|{y{|zzzyz|{{z{{|{{zy{zzzzz{|{{|{{y{z{{zz{z{z{{|{z{yz{zzz{{z{z{{|zz{zyzzzz{{{||{{{z{zzz{{y{zz{|{{{{{zzzz{{{zz|{{{{zzzzzzz{z{{z|{{zzzzzz{z{{z{z{zzzzz{z{yzzz{{{{||{{{yyzzz{{z|{zz|{z{zzy{z{z{z{{{|{zz{{zzz{{{z{|{{zz{{{z{yy{{{{z|{{z{z{z{z{zz{{{z{|zz{zzz{{{zz{{||zy{z{z{z{{|z{{|{|{{zzzz|{|{{{{{||z{{{{z{{z|z{{|{|yzzz{{||{|{{{{{{{{z{{{{{{|||{||{{z||z{{||{{||{}{{{{zz{{|{{||||{|{z{|zzz||{|||||{{{{{|{{{}{|||{{|{|z{z{{{}||{||||{z{z{|{|||||{||{{{{|z{|||{||||||z{z{zz||{{||||{|{zz{|zz{|z|{}|{|z{{zzyz{{{||||{|z{z{yzz{{}{|{{z{zzz{z{z{{z{z{{{{{{zzzzy|z{{{|{{z|zzz{{z{{z{|{{|{z{z{{{{z{{{{|{|{zz{zzzy{{{{z{{|zzzz{yz{zz{{{{{z{z{zzyyy{{{zzz{|{z{zzzz{{{{{{z{{{yzz{zzz|z{zz|{{zzzzyzzz{{|z{{{{{{zzzzz{{{|{{z{|{z{zzzz{{{zz{{z{{zz{zz{z{{z{z{|{{y{zz{z{{|{{|{||{zzz{{{|{{{{{z{{z{{{zz{z{{{{{|{zzz|zz{zz{{{z{{{{zz{{|z{{{||z{{|||{|{zzzz{|{||{|{{{{z{{zz|{{{{{{|{{{{|{|z|{|||}||{{{{{{{|||{|{{||{{{|z{z{{|{{|{|{{zz{{{{{||||~{}|{z{{{z|{|||||||{|{{{|{|{||||{z}|||{|zz|{||||{|}||{{{{{{|{{{{|{{|{|{{{{{{|{{|{|{|{{{{{{{z{{{|||}{{{{{{{{{{{|{{z{{{{|z{z{{|{|z{|{|{yz{z{{z{|{{{{{{z{{zyyyz{{|{|{{|{z{zz{z{z|{|{{{{{zz{{{z|{{{{z{|{zzyzzzzy{z{{{z{|{zzzz{z{z{{y{{{{{{{{zzzz|z|{{{zz{z{zzzzzz{{zzz{{{zzzzz{zz|{{{{{zz{z{zzy{{||z{z|{{z{yzzzz{z{{{{{{z{zzzyzy{z{z{{{|{zzzzzzzz{{{{{{{{zzz{|z{{|z{{{|{|z{z{z{z{z{{{{||{{z{{z{z{|{|{||{{{z{{{z{{|{{{|{|z{|{|z{z{|{{||{{z{{{z{z|{|{{{{{{|z{{{{{||{|{{{{{zz{{{z{|||||{{{{{{{z{{{|||{|{|{}|zz{{{zz{{|{||||{zz{{{{{|{}{{||{|{|{z{{{|z{{{}|{|{{{{{z{{|||||||||{{{{{{{{{|{}{z{|{z{{{{{{{||||}|{{|{{{{{{}|{|{|||{{{z{{{|{|{|}||zy{{{{z{{||{{||{{{{{z{z|{{{|{{||zzyzzzzz{{{{{{z|zzyzyzz{{{{{{|{y{zyz{{yz{{{|{{{{z{{{zzzz{{|{zz{z{zzzzzz{{||z{z|zzzyz{zzzz|{{||yz{zzy{zzzz{z{{{z{yzyzzzzy{{{{{{zzz{zz{zzz{{{{{{z{z{zyzzz{z|{{{|z{{{zzz{zzz{{z{{{zzzz{yzzz{zz{{z|{yzz{zzzz{z{{|z{{{zy{zz{z{{{{}{{z{{z{{{{{{|{z||zzz{z{zz{|{{z|{||zz{{zz{{{{{{{|{{{zzzzzzzz{|{{|{{{{z{z{{z{{{{|{|z{zzzz|{{||z{{{{{{{{{{{{{||z|{||{{{{{{z{{|{||{|{||z{{{z{z{|{{|{|{|{{{|{{z||||{|{{{{{{z|{{|}{|||{}|{{|{z{|{||{{{}||{|{{z|{|}|||{{{|{{zz{{{{{{{||{{||{|||{|{{{|{|{{{{{{zzzz{z||{|||z||{{{{z{{{{{{|{{{{{{z{{{{{{{|{{zzzzzzzzz|{zz{{{|zzzzzz{z{|{{|{|{z{z{{{{|{{|{||{zz{z{yzz{{{|z{{{{{y{zzzz{{{zzzz{{zzzz{zzzzzy{{{{z{{{zyy{{z{{{|{|{zzyz|zz{z{zzz{zzyzzzzzz|{z{z{{{zzz{z{zzzz{z{{{zzy{{zzzzyz|{{{{{zzzzzzzz{{zzy{{{{{{{zyzz{{z{{{|z{{zz{{y{{||{|{{{{{z{zzzy{{{{{{{{zz|z{{z{{|||{|{{{{zz{z{{{{{{{{|{{zy{{zz{z{z{{{|{z{z{y{zz{{{{|{{{{{|zz{z{|{{|{|{|{yzzzz{{{|{||{||z{{||{{{{|{|{||||zz{{{{|||z}{{|{||{{zz|{{||{|||z{z{||{{{{{{|{}|||z{{zz{{{|z}{||||{{{||{z}|{|{{|||{{||z{|{{|{|||}{{z{{{{{||||||||{{{{{{z{|{||{||||{{{z{{z||{{|||{||{{{z{z{{{{{{{{{zzz{zzz{|z{{|{zzzzz{zz{{{|{z{}{{{{yzz{zzz{{{{|{{zz{{zzz{y{{{|{{{{zz{zzz{{{{{{{|z{{zzzyy{{|z{|{{{z{zzzzzz{{zzz|{zz{zy{zz{{{{|{{|{zzy{zzzzzzzz{{{zy{zzzz{{z{{{{z{zzzzyzzzz|{|z{{|{z{{zzzzy{zzzz{{zzzz{zz{{|z{z|{{z{{{zz{z{{{|z{}{{z{z{{{z{{{z|{z{{zz{z{{{z{{{{{z|z{|z{zzz|{|{{{|{{z{{{{zzz||{{{||{{{{{z{z{||{|{|{|z{{{{{|{{}{{{{||{{z{{|{|||{{|||{{{{|z{{||{{||{|{|z{y{{z{{|{||{{{z{|{{{{}|{{||||||{{{{{{{|{|||{}|z|{{{{{|}{|{||{|{|{|{{{|||{{|||{||||{{{{||{|||{z|z{zz{{|||||{|z{{z{{z{{||{|{}|}|{|z{{{{{|{{{{|{{{{{z{zz|{|||{y{zz{z{{yzz{z|z|{{z{yzz{zyzz{{{{{{{{{{z{{zzz{{|{|{z{zzz{y{{{{{{{{|{{{yzyzz{{{z{{{{zzzzzz{yzz{yz{{{{{zzzzzyzz{{z{|{z{zyz{z{z{z|z{|zzyzyyzzz{z{z{z{{{y{zy{{z{{{{{{{z{{z{zy{zz{z|z{}{zz{{zzz{z{|zz{{z{{yzz{zzz{{{{{{{zzzzzzz{{{|z|z{|{yzz{y{zz{{{{z{{{z{zyz{{z{z{{|{z{{{{zz{z{{{||{|{{{{z{z{{{{{{{{{|{{zz{{z|{{|{|||{{{{{zz{{{{{{z{||{zz{{{{|{{{||{{{{z{{{{{{||{|{}}|{{{zz{z{|{||}{|{{zz|{z{z|||z{||||z{{{||{{{|||}|||{zz{{{z{|{}}{|||{{{{{{{||{{}|||{{{|{|{{{{{{||||{{{||{z{|{{{||||{z|zz{{{{||{|||{|{{z{z{z{|{|{{{{z{{{zy{z{|{{{{z{yzzzzz{z{z{zz{{{z{zzzzzy{zz{z{{{zyzzz{{z{|{{{{{|zyzy{yyzzzz{zz{{zzyyy{zz{|{{{{z{zz{z{z{zy{zz{|{z{z{zzz{z{z{{z{zzzy{{zzzyzzzzz{{|z{zzzyzyz{{zzzzzzyzzzzy{z{{y{z{zyzzzzyzzz{{z{{|{zzz{zzyyy{zz{z|{{zzzzyy{yzzz{{z{{zzzz{zy{{|zz{{{{yzz{zzz{{zzz{{{zz{zzzzz{|{{{z||y{zz{zzz{{zz|{z{zzzz{z{z{{{{{|{{{zz{zz{z{{|{|{{{|{yzzz{z{{{{{{{{{z{{{zz{{{{|{{|{|{{zy{{z{{{|||||{{{z{{{y{|{{|||{{z|z|zzz{||{|{{|{{{|z{{{z|{{||}z|{z{{{{{z|{|{{|||z|{{z{{|{{{|||{{{zzzzy{||{{{{|||{z{{{z|{{||||||{{zz{{z{{|{z{|{||{zz{z{z{|{|{|{{{{{{zzzz{{{z{{|{{zzzzz{z{z{z{{z{z{zy{zzz{|{{{{{|z{zy{zzz{{z{{zz|z{{zzz|yz{z|{{{|{{zyz{zyz{{{|{{|z{zzzz{zzzzzz{{{zzzzzzzz{z{{z{{z{z{zz{zz{y{zz{{{zzzzzyzyzz|z{{{z{y{z{zzzz{{{{{{{{z{zyz{z{|{{{{{{{zzzzyzzzz{zzz{{{{zz{zzzz{zzz{{{zz{{zyzzyz{{{zz|{zz{zz{zzz{|{z{z{zzzzzy{{{{z||{|zz{{zz{y{{{{{{{{{z{z{{z{{|{{{{z{zz{{z{y{{z{{{{{|z{z{{zzz{||z||z{{{{z{{z{{|{{||{|{{{{{||{|{{||{{|{z{{{z{{{||}{{{{{z{{{{z{{}|{{{|}{{}{{z{{{{{{||{||z|{{{{y{||{|||{|{{{{z||{{||{{|{|z{{{zz{{{|{|{||{{{{|zz|{{{{{|||||zz{{{z{{||{|{{|{{{zz|{{{|||z{|{{z|zzz{{|{|z{z|zzz{{zyyzz|{{z{{{z{z{z{{zzz{{{|{{{yzzzzz{{z{|{{{z{z{{yyzz{{|zz{zz{{yyzzzz{{{zzz{zzzzzzzyzz{{{|{{{zzz{zzzzz{{{{z|{y{{zy{zzzz{|{{{yzzzzzyzz{{{{|zz{zzzz{zzzz{z{{{{zzzzzzzzyzz{{||zzzzzz{zyzz{zzz{{{z{yyzzzyz|zz{{|yzy{zz{zz{z|{{{|{|y{{zzzzz{{{{{{{zzz{y{y|{z{z{zzz{yzzzzy{z{{|{{z{zzz{zzz{|{{{|{{z{{{{{{y{{{|{z||{{zz{z{z{|{z{|{{{z{{z{{{z||{{}{|{{z{{{|{{{||||||z{{{z{{{{{||{{|{{zzz{zz{|||{|}||{{{{{{{|{|{{}{{|||{{{{{z{|{||||{{{z|{{{{{|{{||{{{{{{|{{{{|{{|{||{z{|{zz|}{{||||}z{z{{{{{{||{|{|{{{{{{zz{{|{{{{|{zz{zz{zz{|{{{{{zz{zzzz{z{{{||{{{zzyyzzzy{z{z{z{{{{zzzyz{{z{{{{{{zz{zyzzzz{z{{{{zz{zzzzzy{z|z{{{{zyzz{zz{z{zz{{zzz{zzzzzyz{{zz{zzzzzzy{zy{zz{{z{{{zzzzyzz{{z{{{{z{{zzz{yzzz{zz{{{z{{zyz{zzzz{{{{{z{z{zz{zzzzzz{{{{zzzzzzzzzz{{{|{{z{zzzzyz{z{{{|zyyzzzzzzz|{{z{{|zzzzzzzz{{{{{|{|zz{z{zzz{{|z{{||z{zz{{z{z|z{{|{{z{|{{zzz|{|{{{{{{zzz{{{|{{{{{{{|{|{|{z{{z{||{|{{{{z{z{{{||{{}||||{{|{{z|{||{{{||{{{|{z{{}|}|||||{z|z{|{{z{{||||||zz{{{{|{||||{|{|{{{z{{|||||||}{{y{{{{{{{{{{{{||||{{{{z{{|{{{||}{{{z|z{{{||{}|}{{{z{zzzz{{{{{{{||{{{zzzz{{{{|||{z{z{zyzz{{{{{{{{zy{z{zzz{{z{{|}{{{zzz{yz{z{{{{{{z|{zzzz{zz{{yz{{{{{yzz{y{{{z{|{|{z{y{{zzzz|{z|{zzz{{zzzz{{{z|{{{{{yyz{zzz{{{{{{{zzzzzz{z{{{z{|{zzz{{zzz{{{{{{z{{zzz{yyzz{z{zz{{z{zzzzzzz{z{zz{{|{yzzyz{zzz{zz|{{z{zz{zyz{{{{z{{z{{{{z{zz{|{{z{||{zzy{z{{{{{{z|{|{z{{z{{|{{|z{|{|{{|zz|{zzz{{{z||{z{z{z{z{{{||{{|{|{|{{z{|||{{|{|{z{{{{{z{{||||{|{{z{{{|{||||{||}{zz|zz{z{{|{}||}{{{{{{|{|||{|{}|{{{|z|{{{|||||}{{{z|{{{{{|{|{|||{{|{z{{{{||{||||{|{{zz{z|{||{||{{{{{{{z{}|{|||||{{|{{{{{|{{|{{||||{{z{{z|{{{{||{{{{z{zzz{|{{{||z{z{zyzz{z{{{{{z|{{zz{{{z{{{{{{{|{{{zz{z{z{|z{|{z{yzz{z{z{{{{zz{|zzz{z{zzzz|{z{{zz{{zyzzyz{{{|z{zz{{z{zzzz{|{{|{{z{z{zyzzz|zz|{z{{{zzzzzz{{z{{{zzzzz{yzyzz{{zz{{|{zz{yyzzz{z{z{{|{zz{zy{z{y{z{|{{{{{z{z{zz|zzzz|{zyzzzzzyz|{z{{|{{{{zzyz{z|{|{{{|zzz{zzz{{|||{{|{z{{{{zzz{{{z|||z|{{zzz{{{||{{{{{z{{{{{{{{||{{{|{z{{{{z{{|||{{||{{{{{{{zz{||}|||{{{{{{{|z||{|{||{{{z{|z{{|||||||}}{{{{{{{||{{|{||{{{z{}|{||}{{}{||{z{z{|{{{||{}||{{{|zz{{}|||||||}{{|z{|z|||z|{||{z{{{{z{|{|{|{||{z{{z{{z{|{|{{||{{zz{z|zzz{{|{||{{{{zz{{{{|{{{{z{{{zz{y{{|{{{{{{zz{zzzz{{z|z{{{{{zzzz{zzz{z|{{|y{z{zzzzyz|{|{{{|z{zzzzzzz{{{z{{{z{z{zzyz{{{z{{{{{yzz{zy{{z{{{{zzzz{y{{{zzz{{{|{|zzzz{zzzzz{{z{{{{yz{y{zz{z{z|z{{{z{{{z{zz|z{{{|{z{z{zzzyz{{{z{{{{z{{zz{z{z{z{{|{{z{zzzzzzz{zz{z{y{z{{zzzz{|{{|{{zzzzzyz{{z|{{{{{zz{{y{zz||{{{{{|zz{z{z{z|{{{{|{{{zzzzz{z|{||{{{{{{zzz{{{{{z{{|{{{{{z{z|{|z|{{|||z{{z|||{{|{|{||||{{|{{{{{|{|||}|{{{{|{{{{|||z||{{{{{{{{{||{}{||{{z{|{|{{{||}|{|{{{|{{z{{||||{}|{{z{{{{z{|{{{{||{|z{z{z|{|{{{||||||{{{{{z{{||{{{{|{{{{zzz{{|{|{|{|z{z{{{z{z|{{{{zz{zzzzzzz|zzz|{{z{{{yzzz{z|z||{{z{|zzzzz{z{z{||z{yzzzzzzz{zzyz{{{z{zzyzz|z{{|{z{zzzzz{zz{{{{{{z{zzyzzzz{{{zzz{{z{{zzyzzy{zz{z{z{zyzyzyzzz{{z{{{z{z{zy{zz{z|{|z{zzyzzzzzzy{|{{|{{{zzzzyyyzz{z{{z{{y{yzyyzz{{zz{{{zz{{{{zz{{zy{z{{z{z{{zz{z{{{{zz{z{{z{zz{z{{zz|{{zzz{zz{z{{{|z{{{{{zz{z{{{|||z{z{zzzzz{{zz|{{z{{{zzzz{{zz{{|{{{{{|zzzzz|{z|{{||{{yz{{|z{z{|{{{|{|{zz{{{zz{|||{}|||z{z{z{z||{{{z{|z{{{z{|||||z|||||{z{z{{|{|{{{||{{{|{{x{z{|{}|||{|z{{zz{{z{{{|{|}{{{{{{|{{{{{{{|{zz{zz{{y{|{{{{z|{{zzzz{zz|{|{{z|{z{zzyz{{{|{{{{{zz{z{z{zy{{{{|||zzzzzy{{{z{z{{z{z{zzzzzy|zz{{{{{{z{yz{z{z{zz{{{{zzzzz{zz{{|{{{{{{{zz{{yz{z{{z{{zzz{zzzyz{{{z{{{{zyyzzzz{z{{{z{z{zzz{z{zz{{{{z|{|{yzzyzzz{{|{{z{{{z{zz{zzzzz{{{{|zz{yyyz{y{{zzz{{{z{zzzyzz{{{z{{{zzxzzz{y{{|{{{|||zzyzzzzzz{{z{||{yz{{zzz{{z{{|||z{{zzzzyzzz{{{|{|{{z{{zz{{{{|{{|{{{{zz{z{{{{{{|zzzz{zzz{z|{{|{{{{{z{{z{zzz}{{{|||{{{{{{{{|{{{|||{z{{zz{z{{{{|{{{|zz{{{{{|}{{{|||{z{{{{{{{z{|||{||zz{z{{||}}||||{|{{{{{|{||{|{|{{{z{{y{{z{{|y||{||{{}{{{|{{|{|{||{{{z{|{|{{{{|z{|{{z{z{|y{{{|{{|{{||zz{zz{{||{{z{z{{{yyzzzz{{{{{{{zzzz{zz{{z{z|{{{{{zzzz{{z{z{{}{zz{zzz{{z{{{zz{{{yzzyzzzzz{{{zz|zzzz{zzyz{z{z{{{z{{{zyzzz{{zz|{zyzyyy{zzzz{zzzz{zz{zzzz{{{{{{z{zzyz{zzzz{{{z{|z{{{|{zzyyz{{z{zz{zz{{zyz{z|zz{z{|{zzz{z{zz{zz{{||{{{yz{zz{{{{{|{|zz{{zz{z{{{z{{{{{z{{z{{z|{{|{{{|{{zzzz{z{{{{{{{|zy|{zz|zz{{|{}||{z{z{{z{|{|{{{||{{z{{z{{{||{z{|{{z{}||{{{{z||{{|{{{{|{{{{{|{{||}{{{||{yz{|||{{||{{{{|{{z||{{{||}{{{z{|{{{}||||{|{|z{{|{{{}||||{||z{|{{{{|{{||}|{|{|{|zzz|||{|{{||{{z{z{{z{|{{|{||z{zz{{y{{{{||}|{{z{|z|z||{{{{{||{{z{z{{|{{{{z{zz{z{z{zzz|z{zz{{zyzyzyyzzz{zz{{{zzz{zzzz{z{{|{{z{{zzzzzz{z{zz{{{zzzyz{{y{zz{{{zzzzzzzyzzz{zzz{zzzzzz{yzz{{{zy{zzyz{zyyzz{{y{{z{zzyzy{zzzz{{z{{{{zyyzyzyy{{{z|{{z{z{zyzzz{zz{z{{{zzzz{zz{y{z{z|{{{z{zzyz{{y{{{{{{zz{zz{zz{{{{{{{{z{{zzzzzz{|zzzz|z{zzzyzzzz{z|{{|zzzzyzzz{{{{{{{{{zz{zy{yz{{{{{{{zz{z{{zz{{{|{z|{{zzzz{zz{{{{{|{{{{z{{{{{{{{|{|{{zzzz{|{z{{{|{||||{{{{{z{|{{|{{{||{|{{z{z||||{{|}{z|{{{|{{||{{}{||z{{{{{{{||{|{|||{{{z{z{||{{{{||{zzz|{z{{{|||||}|{{z}{{{{||{{|{{z{zzy{z{{{{|z{}|{{z{{{z{{z{{{{{{{z{zzzzz|}{z{{z{zzz{zzzz{{{z{zz{zzzyzyyzz{zz{{{z{yzzyyz{{zz{z||{zz{zzyyzzz{{{{{{zzzyyyyz{{{{{{z{zyz{zzyzzyzz{{{y{{{yzzyyzyz{z|zy{zzyyzy{yz{zz{{{{zzzzyzzz{{z|z{zzzzzyyyzz{{z{{{zzz{{zzzyzz{z{{{{{zz{zy{z{{{zz{{zzzzyzyzzzzzz{{{{{zzzzzzzy{{z{{{{zzzzzzzz{{zz{z{z{z{zyyzz{{{{{{{{{zz{z{zz{{{{z|{|{{zz{zzzz{{|{{z|||{zzzzz{z|||z|{zz{zzz{{{{||{|z{{{{z{z{{|{z{|{|{{{|{y{{z{{{{{{|}{z|{{{yz{|{{z{||{z|{{z{{|||{{{{|zzzz||{{{{{{{|{{|zzz{z{z{|{{|{||{{{{{y{{{{{{{|||}{{yz{y{{||{|{{{|{z{|z{{||{|{||{{z|zzzz{{|z|{|{|{{z{z{{zz|{{z{{{z{{z{zzz{|{{{|{{zzzzzyzz{|{{zz||{{zz{zzzz|{z{{{{{zzzzzy{{{z{{{{|zz{yz{yzz{{z{zz{z{zzyyzzz{{{{z{{yz{z{{zzzzzz{{{{zz{{zzzz{{|z{{{zzzzzz{zz{zz{{{z{z{y{zzzzz{{{{{{{zzzz{zzz|{z{{z{{zzzzzzz{{{{{z{{|zzzz{zzz{zz{{{{{zzzz{z{z{{z{z{|{zzzz{zyy{{{{{{||zzzzzz{zz{{z{{{{zz|zzz{z{{{zz{z{{zzyzzzz{{|{|{z||zz{z{{z{{{{{||{{{zyz{{{||{|{{|{zz{z{{{z{{{{{|{|z|z{{zz{{|{{{||{{y{z{{|z{|{|{||||{||zz{{{||{{{{|{{{z{{z{||{{|{||{{{{{{|{||{{}||{||{{{{{|{{{|{{|{{{{{z{z|{{|{||{z{z{{{{{{{|{{{||}{{{{{}{{|||{||}{zz{z{{{{{z|{|{{|{{{{zz{{z{{{{{|{zz{{{z{y{{|{||{zzzzzz{zzz|{z{{{{{{zzzyzzz{|{z{z{{{zyzzzz{z{{{{{{{zz{z{zy{{|{z{{|{z{{zz{{{{z{{{z{z{yzzzyzz{{{z{|{zyzyzzyz{{{{{{{{zzzz{zzyzzzy{zz{y{zzzyzz{|{y{{z{{zzzz{zzz{z{{{{|zz{zz{{zzz{zz||{zzzzzyzyz{{zz{zz|yzz{yzzz{zy{{|{z{z{zz{z{zzzzz{{{zzzzy{{{{|{z|{{zz{zzz{z{{{{{||{{zzzyz{{z{z{{{{{{zzzzzzzz{{{|{|{{y{z{{zz{{{|{{|{zz{{zzz{{{{{|||z{z{{{{{{{{{||{|}z{{zz{{{{{z|{|}||{z{{z{{{{|}|||{|{z{{{{{|}|||{|{{{{zz{||{{{{{|{|{z{|{{z||}|||{|||{|{z{z{{|}{|{|}{{{{|{{z{|{||{|{{{z{{{zz|||}{|||{{z{{z{z{|{{||{|z{z{zz{{{|||{{|{{{zz{z{z{{||{{z{{zzyzzzzz{{{{{z{{zzzzyzz|{{{zzz{zz{zzzzz{{z{{{|{|zzyzzyzzz{{z{{{z{zyzy{z{z||zz{|{yz{zzzz{z{{z{{{zz{{zyzzzz|yz|zzzz{{zyzz|zz{y{zzz{{zzyzyzy{z{z{y{zzyzzzyz{{{z{{{{zzzzyyzz{{{z{{|{zzzzzzzz{{{{{z{{{|z{zzy{{z{z{|{zyzzz{yz{{{z{z{{zzyz{zz{|{z{{{{{{z{zz|zz{|{{{{|{zzzzzyzzz{|{{|{{{z{{{zzzz{{{{|z|zz|{z{{z}{{z|{||zz{zz{z{z{|z{||{{z{|z{{z{{{|||{|zz{{{{{z{{z||{||{z{{{{zz{{|{|||{{zz|{{{z|}{||||}{zz{zz||{|{{{||{z{{{y|||||{{{{|}|z{{{{{{{{{{|{|||zzz{zz{{{{|{|||{{|{{{zz{{{|||||{{zz{{{{{||{{|{{zzzzzz{z|{{{z{{{zzz{{zzz{{|z|zz{{zzzzzz{zzzz|{z|zyzzzzzzz{zz||{{z{zzzzy{zz{{{{z{zzzzzz{zz{z|zxz{z{zzzzzy{z{{{{{{z{zyz{zz{{{{{z|zzzzy{yzz{{{zz{zzzzzzzzzyyzzz{{z{z{zzzz{z{yz{z{{z{zzzyzzzzzy|{{{{zzzzz{zyz{{{{|z{|zy{{z{zy{{zz|{z{zzzzyzzz{zzzz{|zz{z{zzzzz{zz{{z{z{zzzzz{{{{z{{{z{{zzyz{z{{{z{{|z{|z{zzzzzzy{{{|z{zzzyzzz{{z{{{{zz{{z{z{{{|{{{{{{zz{zzzz{{{{{|{{z{{zz{z{{z{{|z|{{{z{zz{{{{{|{{||{{{{z{|{{|{{{{||{zz{{{z{||{|||{||{{{z{{{z{{{|{{||zz{{zzzz|{|{|{||{{z{{{{{|{||{||{z{{{{{{{z{{{{{|{z{{|{zz{{{{{{||{{{zzzz|{{|{|{{{{{z{}{z{z|{zz{{{{{{zzzzzzz{|{|z{z{zzzzyyz{zz{{||zzz{{zzz{{{y{|{{{zz{{{zzzz{{{z{{{yzyzz{{zy{{{{|{{{zzyz{yz{{z{{z{{z{zzy{z{{{zz{{{zzzy{z{z{{zz{z{zzyzyzz{{zz{{{{{zzzzz{yzz{z{z{{{{zzzzyzz{zz{{z{{{zzzzyzz{z{zz{{{{zzz{{zzy{z{z{{{z{|yz{yzyzzzz{{{zzzzz{{zyz{zz|{|z|zzzzz{{{{{{z{{{zyyzzzzzzz{{{{||zzzz{{{{{{{{{{||yzzzzzzz{zz{{{{z{{z{{z{z{{{|{{|{zzyz{z{z|z{{{|{{{z{{{{zz{|{||}||z{{z|{|z{|{{{{||{{{{z{{z{|{{|{{{|{||zzzz{|{|{}||{z{zz{}{||{||||{{{{{{{{z{}|{||{||zz|{{{{|||||}|{|{{zz{{{z{|{|{||{|{{{{z{z{z{{|{|{z{{z{{{{z||{{||{z{{z{z{{|||{}z{z{z{yzz|{{|zzz{{zz{z{z{yz{|z{z{|{zzz{zzzzz{{{z{{{{{yz{zzzz{{z{{{zz{{z{yz{{{zzz{zzzzyzzzz{z{{zzz{zzzy{zz{z{zzzz{{z{zzzyzzzz{{{{z{{zyzzzyzzz{z{z{zzzzzyzzzz{zz{{zzyzzyyzy{zz{{{{|{zzzzzzz{z{{|z{|{{z|{zyzzzz{{z{{{{zzy{zz{{z{z{zz{zzz{z{zz{zz{z{|{{{z{{yzzzz|{z{|{zzzzzzz{z{z|{||{zz{zzzzz{{{{||{{{z{{|z{z{{{{||{|{z{{z{{{{z{{{|}{{{{z|z{z{{{{z|{{{{zzz{{{{{||{|{|{{z|{z{z|{{|z{|{||{{{{zz{|||{|}|{{{{|{z{||{{{}{{z{{z{{||{{|{{||{{|{{{z{{z||}{|||{{|zz{{{|{{{{|{||zz{|{z{{{{{||||{z{|{|z||{|||{|{{|{yzz{{y{{{|||{{{z|zzzz{|{||||||z{z{y{{{|{|{|y{{{z{zyzyy{zz{z{{zzz{yzzzz{{zz{{|zzyzz{zy{yzz{{||{zyzzy{{zz{zzz{zzzzyzyzy{y{zz{z{{zyyzz{zz{{zzz{zzzzzzzzz{zzy{{z{zzzzzzzzzzz{z{z{zzyyzyyzyz{zz|{zzzzyyzyz{z{yzz{{yyzzzzzyz|z{{z{zz{zzzyz{zz{zzz|zyzyzzyzzy{zzz{{zzzzz{{zzzzz{{{|{zzzzzzz{z{zz{z{{zzzzyy{z{|{{z{{{z{zy{z{{{{{{{{{{|zy{{{{{{{z{z||{{z{{{{{z{|{z{z|{zy{z{z{{{|||||||{zz{{z{{|{|{z{|{{{z{{{z{{{{||{||{{z{{zz{{{{|{{{||y{{z{{z|{{{{|{|{{{{{{{z{{}||}|{|{{|{{{{{|{{|{|{|z{{z{z{zz{||||{}{zz{zz{|{|{{{||{|{{{{{{||{{{|||z{zz{z{|{|{{||{{{z{{z{zz{{{|{{{{{zzz{z{{{{zz{|zzzyzyzzyzzz{{{{z|{zy{zzzz{{y{z{{{{z{zz{yzz{z{z{|{zzyzzzyzzz{z{z{{z{zzyzzz{y{{{{z|z{y{zzzzz{zyz{{zzzzzyzy{zz{yzz{yzzy{zzyzzz{{yzz|zzzzzzzzz{{{{{{yzzzzyzyzzy{|zz{{{{zzyyzzz{zzzz{z{{zy{zzzzzzzz{z|yyzyyzzzz{z{{{{{zyzzzzzzzzz{zz|{zzzzyz{{y{zzzz{{zz{z|y{zz{{zz|{|zz{zyzzzz{{{{{{{zz{{{{zz|{{{|{||zyzzyzzz{{{|zz|z{zz{{zy{{{z|{z{{z{z{{{{{|||{{{z{z{{zyz{{{|{|z||{{zzz{{{{{{||{{{{{zz{{z|z{|{|{|||{z{{{{z{||{|{||||{z{{{{zz|||{{{{{z{{{z{z{{z{{{{{{{zz{{zzzz{||{{{{{{{{{z{{{{{{{|{y{zzzyzzz{{z{{|{|{{{y{z{z{|z|z{z{zzz{zz{y{{{{|{{zzzz{zzyyzzz{z{{z{zzzz{zzzz{zz|{{{zyzzz{{y{z{z{{zzzzzzzz{z{{z{{zzz{zzzzz{{{zyz{{z{zyz{zzz{zz{z{zz{{zzyy{{{{{z{z{zzzyxzyzzz{{z{{{zy{zzzzz{{{{zy{{zzzyzzyyzzz{{{{{{{{zzzyzz{z{z{{zzzzzzyzyzz{{{zz|zzzzyzzzzzz{{{{{zyz{zzzyz{{{z{{{zyzzzy{zy{{z{{{|zz{zzz{{z{{{{{{{{{zzzz{z{zz{{{{{zzzzzzz{z{{z{{z{{{|z{{yzz{{{{z{{{{{{z{z{{{{{z{z{{zz|zz{{|{{{{||zz{z{zz|z{{{{z|{{{{{{zzzz{{{{{{|{{z{{}z{z{|{{{z{{z{{{z{{zz{{{{||{{{zz{{{{z|{}{|{{{{{{z{z{{|{{{|{|{z{{|{z{{{{{{{}|{{{{{zz{{{|{|||{{{{z{{{{{{|{{|||zzzz{{{{{||z{{{z{z{zxz{{{{{{z{{{z{zyzy{zz{{zz{{{zzzzzzyzz{{{{{z{{{zzzzzz{|zzzz{{zy{{{zzz{{{{z{z{{yzzyzyyy{{zz{z{zyyzzyzyzz{zzzzz{zyzzzyzzz{yz|zz{y{zyzzyzyz{zz{{yzyzzyzyz{{{zz{yzz{zzzyzzz{yzz{yzzzzzyzz{{z{{{{{zzzzzzzzzz{zzzz{yzzzzzzzzzzzz{z{zyzzzzzy{{z{{z||zzy{{zzzz{{|{|{z{z{zzz{{{{y{{{{{z{zzyzzz{||{{{z{{zzz{{{y{|zzz{{{zz{{{zyz{{{{{|||zzzzz{zz{{{{{||{zz{zzyz{{|{{|||{z{{z{z{{{{{{{{||{z{z{zzy{{||||{|{z{{zz|{{|{|||{|zz{{{{|{{||{{||{|z{zz{z{{|{|||{||{|{{{{{{{||z{{{{zz{{{z{{{{{{|{||{{{{{{{|{{{z|{{{|z{{zzz{||{{{{|zz{zzzz{zz{{z{{{{{zz{{{z{|{z|z{{zy{zzzzzz{{yzz{{{zyzzzyz{z{{{z{{zzz{z{zzzz{{|{{{{yzzyzz{zz|zzzz{z{zyyzzzzz{zz{{{zz{yz{{z{{{{{|{{zzzzzzz{{{{{{z{{zzyyzyz{zz{z{zy{zzzzyyzzz{{zz{{zzzyzzzzzzz{y{z{{zyzzyzyzz{zz{{{{{zzzzz{yzz{{z{z{zzzyzzzz{{{z{z{{zyyzz{zzzzzz{z{|zzzzzzz{|{{{z{{{z{zzzz{{{zz{z{{{zzzzyz{zzz{z{zz{|z{z{y{zz{{{{|{{zzzzzy{z{{|{{z{{zzzzzyz{{{{{z{||{{zz{{{{{{{{{||{{z{yz{{{{{z{z{|{z{{{z}{{{{}{{{|{{zzz{z{z{|{{|{}|{{{zz{{{{|{{|||}|z{{z{{{{{{{{{||{{{{zz{z{{{|{{{{{{{{zzzzz{{{|||||{{{{{z{{{{{{{||z{z{zz{{{{{{{||{|zzzzz{zz{|{{{z{{|{{{{zyz{z{{{z{{zyyzzzx{{z{z{z|z{{zzz{z{{zz{{{|{{{zzyzz{{{{{{{{zz{zzzzz{|z|z{|z{zzzzy{z{z{|z{{|zzzzz{zz{zzz{{|{{zzzzzy{z{{{zz{{zzzzzzzzyzz{zz|{yzzzzzzy{{{{z{{{zzzzzzzzzz|z|{z{y{zzzyzzyzyzz{|{{zzy{yzzz|{y{{{z{{{zzyzzzzz{{|z{{zzy{{{z{{{{z{{{{{zzz{zz{{{{{{{{z{{y{zzzz{{{|{||yz{{z{{z{{|{zz}{{{|{zzzzz{{{{|{{{z{z{{{{{{||{{{{{{z{{zz{z|{z{{{{{{{{{{{{{{|||{|{{{|z{{{z|{{|||||{{{{z{zz|||z{{{{|zz{{z{{{||{|||{{{{{{{||||{||||||{{{{|{{{|||{|||{{{|{{{|||{|{|{|{z{{{{z{||{{|}}}|{{{{{z{{|{|{{{|{zz{{{{{{{{{{{||{z{{{{{z{||{z{||{z{zzz{z{{{{{{zzzzzz{{zz{{z{{zz|z{z{zzzzz{{{z||{|zzzz{z{{z{{{{{z{{z{zzyz{zz{{z{{zz{zzzzy{z{{{{{{{zzz{zyzz{z{z{{zzzzzzyzz{z{zz|{{zz{zzzyzz{{z{{z|zzzzy{zyz{zzz{{z{{{zzyzz{{zz{{{|zzzyyzzy{zzz{{z|z{z{yzzzzz{zz{{zzzzzz{zyzzzzz{{zz{{{z{zyz{{|{{{{{zzyzz{z{{{{{|{|{{{zz{{zz{{|{{{|zzzzzzzz{{{{{{{{zz{{zyzzz{{z{z{{{z{z{zzz{{{{{{{z{{z{z{z{||{{{||z{{yz{zzz{{{{|{{{yz{{{{||{{{|{{{|{z{{zyzz{||{|{|{{{z{{{{|{|{{|z|}|{{z{{{z{|{{||{||y{|{|zz{||{{{||{z|{z{{{|{{}|{|{{{{||{{z|{|{{{|{{{{|{{z{||{|{||{|{{z{{z{{{{|{{|||{{zz{{z||||||{{{{{z{zzz{{{{{{|{zzzzzyyyy{zz{{{{z{zyyxyz{zz|z{|{zzzzyzyyzzyzzz{{zz{zyyyyzz|z{zz{yzzzzzzyzz{zz{z{yyyzyzzxzzz{z{{{zzzyzyzzyzzzy{zz{zyzyyzy{{zzzz{zzzyyzyyyzz{{zzzz{x{yyzxy{{{zz{z{zyyzyyyyzzzz{z{{{yzzyzzyy{|{z{z{z{zyzzyzzzzzz{{zzzz{y{{yyz{zz{{{{{zzzyyy{zzzzz{{zzz{yyzyzyzzzz{{zz{z{zzzz{zzz{{|zzz{|zzzzz{{{{{zzzzz{{zz{{{z{z|{z{z{zzzz{{{{z{{{zzzzz{{z{{{z|{{|z{{zz{{z{|{{{{{|{z{{yz{z{{{{|{|{{{zz{z{z{|{z{{|zzzz{z{{z{{{{{z{{|{{zzzz{z|{|{|{|{z{{zz{{{z{{z{||{z{zz{{{{{{{z||{zzz{z{z{|||z{||{zzz{zz{z{{{|zz|{{{zzzz{z{z{{{{{z{{zzzzzzz|{{zzz{yzzzyzzyy{{zz{zz{zzyxyyy{{z{{{{{zzyzzy{zzzzz{zzzzzzyyzyyz{{{zz{{{zzxyyzz{zz{{{z{zy{y{zzyz{{zz{z{yzyzzyyzz{zzy{zzzzzyyzyzzzy{zzzzzyyyzzyyyz{zzz{yzyzzyzyyzz{zz{zzzzzzzzyyyzzyz{{{{zzzyzzzzyzz{{z|{yzy{zzzy{zzz{z{zyzzz{zyzzz{{zz{{yyzyyzz{{{z{{{{{z{zyzzzzz{y{{{{{yzyyyz{zz{zz{z|zzyyz{{zzy{{z{{{{y{zy{{z{{|z{{{zzzzyzzzz{{z{z{{{zzz{z{{zz||{{{{{zzz{zz{z{zz{{{{{z{{{{zzz{|{{{z|z{zzzz{{{{|{{{|{|z{{zz{{{{|{{{{{{{zzzz{{z{||{{|{{|zz{z{z{{{{{||z{zzzz{zy{z{{{{{{{{{zzz{z{{{{z{|||{{zyz{{yz{z{{{{{{{yzzz{yz{{|zz{zzzzyyzzzz{|{|zzz{zzzyzzzz{zzz|{{zzzzyzzy{{z{{|{{{zyzzzzz{{zz{{{{|zz{yzz{z{{{yzzz{zzyyyzy{z{|{{zzzz{zzzzzz{zy{zz{zzzzzyzz{zzzzyzzzzzzyzzz{zz{{{|{zzzzzzzy{|{{z{{{zyzzyzzz{zzz{{{{{zzzyzyzz|z{{z{{{z{yyz{z{zz{{z{{{zzyzzzyz{{{z{|zyzzzzz{y{{{{z{{{{{{z{{z|{z{{{{{{{z{zyy{z{z{z|z{{yzyzy{zzz{z{{{|||{z{{y{z{{{{|{z|zzz{zy{z{{|z{{{y{{z{z{zz{||{z{|{z{zz{z{{{{{|{|{{{zz{{zzz{|z|{{||{{{zzzzz{|z{{{|{{{z{{{{z||{{||||{{z{{{{{}z|{|||{{zzzz|z{{|{z||}|{zzz{{|{{{|{|{|{|z{z{{{|{z{{|{|{{z{{{{{z{{{{|{{|{{zzzz{z{{{|{|{{{z{z{{yz{{{{{z|{zzzyzz{y{{|{zz{zzzzzzzzz{z{{z{{{{yyzz{yyyzzzz{{z{zzyyyzyz{zz{{zzzzzy{zzy{{z{zz{{{zzyz{{yzzyzz{zzzzzyzyyyzzzz{zz{{zzyyxyyzy{zzzz{{yzyzzzzyzz{{zzzy{zxzyyzz{z{y{{yzyzzyyyyyzzy{{{zzzy{zzyzzzz{{z{zzyzzzyzyzzzz{zz{yyzzzyyzz{zzy{{zzz{zzzzzyy{z{{z{{zzy{yyzz{z{z{{{zzzzyyzyzz{{{{{zzzz{yzzzz{{z{{{{zz{zzzzyz{z{{{zzzzy{y{zz{z{{zz{zzzz{z{zz{{{zz{z{zzzz{zzz{{||{{{{{{zzzzzz{zzz{|{z{zzz{{zy{{||{{|{{z{{{z{{{{{{{{{{{zzz{z{{y{{{||{{|z{{zzzzz{||{{{|{{zzzz{z|z{z{z{|{z{z{{{z{|z{{{{|{{z|zz{z|{z{{|{}zz{z{z{{{|{zz{|{{zzzzz{yz{{{{{z{z{zzzzzz{{z{{{{{zzzx{yyyz{zy{z{{zyzyzxzyz{{{|{{|zzzzzyzyzz{zzz{{zyzyyyzzz{zzzzzzzzzzyzzxzzzz{{{{zyzzzyzy{{zyzz{{{y{yyyzyzzzyyzzzzyzxzzyzzz{{{{zzzzyzzy{yzzzz{z{zzyzyyzzz{{zzzz{zyyyzzzzyz{{z{{z{yzzyyzyyyzzzzz{{zyyyzz{zyzz{{zz{zyzzzyyzz{z{z{|zy{{z{zyzyz{{y{{{{{{{yzzy{zzz{z{zzyz{yzzzzzzzz{z{{{zzzyzyz{z{z{{z{{zyzzzzz{z{z{{{z{zzzzz{{{{{{{z{zzzz{z{z{{|{{{{{z{zzz{zz{{z||{{{|{zz{zz{{|{z|{{{{zz{z{{z{{|{z{|{{zz{z{{|{{|z{{{{{zz{zzz{z{{||||{{zz{zz{z|||z{{{{{zz{zzzz{z{|{{{{{{z{{{{{{|{||{{{{z{{zzz{{{{{{z|{zzzzzz{zz|z|z{{|zz{{zzyzz{{z{{{zzyzzzzyy{z{z{{z{{zyzzzzzzzzz{z{{zzzyzzyz{zzzz{{zzzzzzzyyzzzzzz|{yzzyyzzy{zz{z{z{zyyzzyzyz{zzz{{{yyzyzzzyyzz{z{z{zzzxy{zy{{zzz{zzyyzyzyxyzz{zzzz{zzzzyzyzzzzz|{z{zzzzyyzyz{z{z{{|zzxzyzyyzzz{zz{zzzzyxyzzzz{z{{zzzz{zzyyy{z{{{{{zzzz{{z{zzz{zzz{{zzz{zyzyzz{{z{z{zz{zyzzz{zzz{zz{zzzz{yzzzyz{{{{{{zz{z{{zz{zz{z{zzzz{zzzy{zz{z{z{{{zz{{{z{z{|z||{{zy{yzz{{zz|{{{{zyzzzzz{{{|{|{{||zzz{z{z{{z{||||{zz{{||{{{z||||{|z{z{{z{{|{{{{||{{{{{{{{|{|{{|{{|{zzzzzzz{{{{{||{{{z{{{z{{{{{{{|{{yzzz{{{{{{{{{{zzyzzz{z{|{{{{{{{{z{zzzyz{z{{{{|zzzzzyzzzz{zyzz{zyzyzzzyzz{y{{{{{zyyzyyz{yzz{zz{zyzyyzxzz{{{{z{zzzzyyzzzzz{zz{{zzyzy{yzyz{yzyzzz{yzz{zyyz{zzz{zzz{{zzzzzzzzzzzz{yzzzzy{y{zz{{{{{{zzzzzzz{{{z{zzzzzzzyzzzyz{{z{{zzyzzyyyzy{zy{{zyzyzyyyzyy{{{z{z{yyzzzzzz{{|{{{{{{zzzzzzz{{zz{z|{zyxzzzzz{{zz{|{{{{zzzzzzz{|y{{{z{zz{zyzz{z{||{{z{zzzzz{zz{{{{{{{{y{{zzzz{{zz{|{{z{{zz{y{{{||{z{{{{{z{{z{{{|||{{|{zzz{zz{{|{{{|{|{zzz{{{{{||{z{|{{z{{z{{{{|{{{}{||{{{{zzz{{{{{}{||{{zz{{z||z{{|{{zzzz{{{z{{{|{{|{|z{zzzzz{{{z{{{{z{zz{z{zzz{{z{{{z{{zzyzz{{{|z{{zz{{{yzyzzz{z{zz{{z{zzyzzyz{zzz{{zzzyy{zz{z{z{{{{y{zxzyyzzzzzz{{z{yyzyyyzy{z{z{{y{z{xyzyyyzz{z{{{zzyzyzyyz{zzz{zzzyzyzxzzy{{zz{zzzyyyyzyzyzzyy{z{yzzyzyyzyz{zz{{z{zzyyzyz{yzy{{{zyz{zyzzy{{yz{|z{zzz{zyzzyzzzzzz{y{zyy{yzzyzzyzzzzzyzzzyyzzzzzzy{zzzzzyzzzzzzzzz{zzzzyzzzz{|z{zz{zz{{zz{zz{{z|z{z{z{zzzzz{zzz{{zzzz{z{zzz{z{{{zzz{zz{yzzzzz{z{zzz{zz{z{{z|z{{{{z{zzz{zz{{||{{{{|}{{zzz{zzz{{{{{|{{zzz{{zz{|{{{||{{zz{z{z{z|{{{{{z|z{{z|z{{|{|{{|{{z{{zzzz{{{{|z|{|zzz{{zz{{|{{{{{{{zzz{y{{{z{{|z||{{zz|z{z|{{|{{|{z{{zzzz{{{|{{{{{zzzyzzy{{z{{{{{z{yzyyyyz{zz{yz{zzzyyyyyzzzz{zy{zzxyzyx{zzyzz{{z{yzzyyyzyzzzzyzzzyzyxyzy{zz{zzz{zyz{z{yzz{yyzyz{zzzyyyyy{zzzy{y{zzzzyzyzz{z{zzzz{zyyzxxyzz{zzzzz{zyzyzyzy{zz{{zzzyzyzy{y{{z{zzz{{zyyzzyyzyzzyyzzzzzyyzyyyzz{z|{zyyzyzzyzzzzz{z{{{zyyzyzzy{|zzz{{yzzyzyzzzzzz{zz{zzzzyzzzz{zzz{||{zyyzz{yz{zzz{z{zzz{{zxzz{{{z|{zzzzzz{yzz{zzz{z{{zzz{zyzzz|zz{{{zzzzzzzy{{{|{{|||zz{|zzyz{{z{z{y{{{z{zz{{{|{{{z{zyz{z{zzz{z{z|{|{{z{z{zz{|{||||{z{{z{zzz{z{|{{{|{z{zz{z{{{{z{{{|zzzzz{zzz{{{{{z{zzzzzzzzz{z{z{|{{{zyzz{zz{{{{z{{zz{zzyyzzzzzz{{|yzzzyyyzzzzz{z{{zzyzyyzzz{{zzzz{{yzz{xyzzzyzz{zzzyyxzyzyzyzz{zz{yzyzyyzzyyzzyyz{yyzyyyzyzzzzz{{zzzzyyzyzzzzzzzzyzzzzyzyyzyzzyzz{zyzyyyyyzyz{{y{zyyzzyzyyzzz{{zy{zzyzyyyyyzz{z{z{zyzzyyyzzzzy{zz{zzyyzzzyyzzzzz{{zyyyzzyzzzz{z{z{zzyzzzyzzzyz{{zzzyzzzyzzzzzz{{{{zz{yz{zzyzz{zz{zzzzyzzzyz{{{z{zzyy{zyyyz{zz{{z{zzzzzzzzzz{{{{z{{zz{z{z{yzzz{||{{{{zz{z{z|z{{{{{{zz{zzzzz{{{z{z{{{yz{{zzz{|{z{{{{zzzz{zz{{{{{{||{{zzzzzz{{|{|{z{{{{{{{zz{zz|{{{|{zz{zzzzz{{z{z{z|zzz{zzzz{{{{z{|{{{zz{zzzz|z{{{|{zzzzzyzy{{{{{z{zy{zyzyz{z|z{y{zzzzyzzyzyz{{z{z{{{yyzzyzyz{z{y{{{zyzyzyzyz{zz{{z{{yyyzzyy{{{zz{|{{zzyyzzyzzz{{{z|zyzzzyzzz{{zzzzz{zyyzzzyzz{zz{z{yzzzzzyzzzzzy{|zyzyyyyzyz{zyz{zzzyyzzzyzz{zzzz{{z|z{zyyyz{zzz{z{zyzzzyz{{y{{{{zyzyzyz{{yyzzzz{z{z{{yzzyzzz{yz{z{{zz{zyzyz{zzy{z{{zzzzzzy{z{{{{{{z{{yzzz{z{{{{{||zz{zz{{zzzz{{{|{{y{yz{y|zy{{{{{{zzzyzzyz{{|{{{{zzz{zzzzy{{{{{{z{zz{{{zz{{{{|{{}|{zzzzzz{zz{{{zz{{z{z{y{zz|{{{{||{{{zz{{z{||{|{z|{{{z{zzz{}{{{|{|{{{{zzzz|{{||}{|{zz{{{z{{{{|||{|zz{{{zz{{{{z{{{|z{{z{z{zz{{{{{|{zyy{zzyz{|{{z{z{zz{zzy{zz{{z{zyzyzzyzzz{yz{zzz{{zyzyyyzy{{{{z{z{{zyzyzyzzzz{{|{{zyyzzz{yzzz|zzz{{zyzyzyyzy{{{{{{zzzzzzzzzzzzz{{zyzzyzyzy{zzzz{zzyzzyzy{zzz{{zzz{{zzyyy{zz{{zzzzzyyyzzzyzzzzzz{zzzz{z{yzyz{z{z{yz{zyzxz{yyzzz{{zz{zyzzyzyy{zzz{z{yzzzzzzyzzz{{z|zzz{y{yzyzz{{z{{zzzzzzzzz|z{{z{{{zzzzzzzz{z|z{zz{zzy{zyzz{z|{{{zzzz{zzzzzy{{zz{{{{z{zzzyz{{zz{z{{{{zzzzzy{{z{{|{zzz{{z|{z{{{z{{|{|z{zz{z{{{{{z{|{{zz{zzzz||{{{{|{{{z{z{{zz{{{{{|z{z{{{zz{{||{||{||{{{z{{|{{{{{|{|{zz{zzy{z{{}{||{{zzz{{{{{z{{{{{{zzzzzyzyz{z{|{||{z{zzzzz{{{{|{|{{{{zzzzzzz{z{{zzyzzyzzyzz{{zzz{{z{zyzzzyx{z{z{z{z{zzyzzyzz{{{z{zzy{yzzzzz{{zz{{{zyzyyzzzzzzzzzzz{yzy{{zyz{zzy{{zzzzz{zzy{|z{zzzzzzyz{yyyzy{{zzzzyzzzzzzzy{y{yzz{zzzyyyzzzzzz{z{zyz{zzzzz{z{z{z|{zyzzzzzyyzzz{zzzyzzyzzzzz{zzz{z{zzzzz{zyz{zzz{{{{zzz{zzzzz{{{{{{{yz{{zz{z{zzz{{zzyzzzzzyz|{{z{|{{z{yzzzzz{{{{{{z{z{yzy{z{{{{z{{|zzzzz{{{|{{z{{{{zzzzzz{{{z{z{{{{zyzyz{|{{{{|{{{|z{{{zzzz{{|zz{{|{z{z{{{z|{{{|{{{{{{zz|{{{{{{z|z{{{{{{{{||{z|{|||{z|{{z{z|{||{z|z{z{z{z{{{{{|{{{{{{z{{|{z{zz{{{{|{zzzz{z{zz{{{{|{z{{z{z{zz|{{{{{{{{zz{zzyz{{z{{{{zzzzyz{yyzz{|{y{yzzyyyyzzz{zz{{{zzzyzyz{zzzz{{{{z{zzzzzyz{|{{y{{{{zzzyyyzz{z{zzzzzzzzzyz{zzzyz{yyzyzzyzzy{{zzzzzyzzyzyzzy{{{z{{zzyzzzzzzz{zzz{zz{zyyzzyzyyzz{z{zzyzzyyyzzzzzzz{{{zzzzzzzzz{{z{z{z{yyzzzyzzz{zz{|zz{yzyyzz{z{{{{|zyzzzz{yzyzz{zzzzyzy{yzz{z{{z{{{zz{z{zzzz{zz{z{{{yzzzz{zz{z{{{{zz{zzzzzzz|{{{{{{{yz{y{zy{{{{{{z|{zzyzzzyz{|{|z||{zz|zzzz|{z|{{{{{|yzzzzz{{|{{{{{{zzz{zzz{{{{{{{{z{z{z{z{{{{{{||{{{{{zz{{{}{|{|{||zzzzyzz{{z{z||{{z{zzzzzz{z{z{z{{zz{zz{{|{{{||{|{zyzzzzzz{|{z{{{{{z{{zzz{{|{{{{{zy{yyzyz{zz{{z{zzzyzzyzxy{zzy{{zzzzy{zyyy|zyzzz{zzyyyyzyy{zz{zzzzyzyzzzyzyzzz{z|zzzyyzyz{zzzyz{{{yzzzyzzzyzzzz{z{yzyzyyyz{zyyz{z{yyyyzyyzxyzy{z{zyyyyzyyzz{zyz{zzzzyzyxzyzzzzzzzz{{yyzzyzzzz{z{{zzzyzzzyzzyy{zzzzzyyzzyyzzyzyz{zyz{yzzyy{zz{zz{{zzzyzxyzzyzzzzzzzz{zzz{zzz{{z{{{zzzyyz{{zz{y{{{zy{zz{yyz{{{z{z{zyyzzzzyzzz{{z{{{{zzzzzzz{{{zzz|{{{{zzzzzz{{{|{|{z{zz{z{{{{{z{||{z{zzzyyzz{{z{{{{zzzz|zzzz{{z{{}{zy{zzzzzz{z{{{{{{zz{{{zz{{{{{|{|{{{zz{zz{z{{{{{{{zzz{zz{{|{z|{{|{zyz{zzz{|{{{{||z{zyzzzzy{z{{{|{{{zz{yzz{z{{zz{{zzzzyy{y{{{{{{{z{zyzzyyzz{z{zz{{zy{yzyzyzzz{{{{zzyyyyyzyzzz{{{{{{yzyzyyz{yzzzy{{zzyyzyyy{z{zzzz{zzzzxzzzyzzyz{{yzyyyzyyzzz{zzz{|zyyyzyzyzz{zzz{zyyyzyzzyy{{z{z{zzyyzyzyzyzzzz{z{yyzzxzyzy{z{zz{{zyyyzzzyzzzzzzzz{zzyzyzyz{zzz{zzyz{zzyyyzz{{zz{{zyzzyzzzz{zzyy{{zyzzzzzzz{zzz{{|zz{{zzyz{{z{z{{{{zzyzzzzz|{{{z{zzx{yzzzz{{zz{z{{{zzzzzzz{{|zzz{{zzzzzyzz{{{{{{{{z{{{{z{z{{{{{|{{{y{zz{x{zzz{{{{{{yzz{yz{z|{{{{{{zz{zz{z{{|zz{{{||z{z{zzzz{{{|{|{{z{zzzzz{z{{{{|z|z{yzzzz{{{|zz{|z{z{{zzz{|z{|z{{zzzz{{yzz{{{{z|{zzzy{zzy{{{{z{|{{zyzzzzyz{z{{zz{zyz{yzzyz|yzz{zzy{zyzzyyzzz|{zz{zzyyzzzzzz{{zz{zzz{zyzyy{zzzzzzzzzzyzzyy{{{zy{zzzy{yzzyzy{{zy{zzzyzyyyyzyzzyzzzzzyyyzzz{yzyzz{z{yzzyzyyyyzzzzz{zzzyyyyyzzzzzz{{zzzzzzzzyz{z{y{{{z{zzzz{zz{zzzz{zzzyyzyzyzzz{yzzzzz{yzzzz{zz{zz{{{zyyzyzy|zz{{{{zzz{yyy{z{{zz{zz{zz{yzyyz{{zzyz{zzzz{zzzy{{zzz{{zzzzz{zyzz{{{{z{{zzzz{z{z{{{zz{{{zzzzyzzzz{z{||{{{zzzz{{{{{{{{{|{{zy{yzzz{|{{z{|{{{{{{{z{{|{{{{{{z{{zzz{{{{|{{{{{{{zz{{zz{z||{z{{{{{{{z|z{{z{{{{{{zz{{{z{z{|{{{||{zz{z{{zz{z|{{||{{zzz{z{z{z{z{z{{z{yzyzz{{|{{{z{{{zz{zyz{z{zz{zzzzzyzyzxz{zzz{{{{{yyzyyy{zzzz{z{zyzzzzzyzzzzz{{{zzzyzz{yyzz{z{z|zzzyzyzyzzzz{z{{yyzyyyzyz{zzyzz{zz{zzyzz{x{{y{{z{zyyyyzzyzzy{{z{yzyzzyyz{{zzyz{y{yzzxzzzyz{{{{{{zzzzyzzz{zzzzz{{{zzyyzzyzz{z{zz{zzzyzyyyzzzzzzzzzyyyzzzyzy{{{{{z{zyy{z{z{z{{{{{{zzzzzz{zz{{z{z{zz{zyzz{zzz{z{{{z{{zz{zzzz{zz{|{{{{zzzz{zzz{{||{{{z{yzzzz{z{zz|z{z{{z{z{z{z||{|{{zzz{z{{z|{zz{{||{zz{{{{z{||{|{zz|zzy|{y{{||{{|{|z{{{{|zz{|{{{{{{|{{|zzz{z|{{z|{{{|zzzzzz{{||{{|{{zzzzz{zz|{{{{{{zz{{{{y|{z{z|{{{{|zz{{{yz{{{{|{{{{z{xy{z{{||{{{|z{zzzz{zzzz{z{z{y{yzyyzyy{zz{y{{zzyzzyzy{yzzz{zzzyyzzzyzz{{|zzz|zyzyyyxzz{{zzz{zzzyzyyzyzzz{zzz{zyyy{yyyz{{zz{{zzzyyzyyzzzzzyz{zzyzyyzyzzzy{zz{{zyzzyy{yzzyzzz|z{yy{yzzzzzzz{{z{yz{zyyz{yzzzzz{{{yzyzyyyzzzzz{{z{yzzyzxy{zzzzzzzzzzzz{zy{{y{z{zzzzy{zzzzzz{{zz{{zyyzzyzy{{{{z|{{zzzyzzz{zyzz{{{{z{{zzzz{z{{{z{zz{z{zzzzz{z{zy{{z{zz{{zzz{z{zz|{z{zz{{z{{{{{{{{|{yzzzzz{{{{z{|{{|zzzzzzzz{{|{{{{|{zzzzyzz{}{{{{{{{{{{z{z{{z{{||{{|z{zz{zz{||{{{{|zyzz{z{{{{{|{{|{{{{{zzz{{{{{|{{{|{{{zzy{{{z|z{{{zzzzyzzz{{zz{{|{{zz{zzzzz{{{{z{{z{zy{zyz|zzz{zz{zzyyzzzyy{zz{zz{zzz{yyzyyz{{zz{{{yzyzzzyzyzy{{{{yzzxyzyzyzzzzyz{zz{yyyzyzzzz{z{{zyzzzyzzzzzzzzz{{yzzzzyx{yyzyzyzzyyyyzzyzyzz{zzzzxzyyzyzyzzzy{zzzzy{xyyz{yz{{zzzzyyyxyzzz{z|{zzzzzyyyzzyz{zzzz{zyzzzyyyzyzzzy{yzzzzzzyz{zy{{z|{zzzzzyzzzzz{zz{{{zyyzzyzzzzyz{z{{zz{yyzzzy|{{z{z{zz{zzzyz{z{{z{zzzz{zyzzzz{{zzzzzzz{{zzzyz{{{{{{zzz{yzz{z{{{{{{z{zzzyzzzz{zz{{{{{zzyzzzzyzzz{z{|{{{{{{zz|{{{{{{{|{yzzzz{{{zzz||{{{zzyz{z{{|{{|{{|{z{{z{yz{{{|{{|{{{zz{zzz{{zz{{{{|zz{zzz{{{z{{{|{z{zyzz{z{|z{zz{{{zz{|yzz{|z{zz{{zzzz{z{z{{{zz{zzyzyyzzyx{zyzz{z{zzzyzxyzz{z{{z{{zzyzzzyy{{zzzz{{{yzzyyyzy{zz{y{{zzzyzzzyzzzzz{z{zyyxzyzzyzzz{z{zzz{yyyyyzzzzyzzzyzzyyyyyzyzzy{{yzzzyzyzzzzzzzz{z{{zyzyz{zzzz{zzzz{yzzyyz{{z{z{{zzyzyzyyyzzzzzz{zyyzzyzzzzzzzz{zzzyzyyzzzzy{zzzz{zyyyzzzz{z{z{{z{zzzzzzzzz{zzzzz{zzzz{{yzzyz{{z{{{zz{zzzyz|{{{{{{zzzzzzzyz|{{zy|{zzzzz{zzz{zz{{|z{zz{z{z{{{{{{{|z{zzzzzz{{{{|{||{{yzzzyzz{{{z{{{z{zz{{zzz||{{{{{|{z{{z{zzz|{{{}||{{z{{zzz|||{{{|{{zzz{z{zz|z{|{{{{z{z{z{z{{{|{{{{zzz{{{{z{{{{|||{z{z{zz{{zz{{{{|{{{{{zzyzz{{{y{|z{zzyyzzy{z{zzzyzzzzyzyyyyz{y{yz{{yyzyxzzz{{zz{z{zzyzzyzx{zz{{{{{z{zzzyzyyz{zzz{{{z{yyyyyzz{{{{zzzzzyzzzzz|yyyzzz{zzz{zzxzzzzyzz{yzzzzyyxzyzzzzz{zyyyzyzzyzzzy{{{yyzzyzyy{{zzz{z{z{yzzzzyzz{{y{{zzzyyzyzzzz{xz|zzzzyyzyzyy{zzzyz{z{y{yyzzzzz|zz{{zzzyzy{zz{{{{{z{zzzyzzzz{zzz{z{{yzzzz{zzz{{z{{z{zyzzyzzzz{z|{{zz{z{{|{zzz{{{z{{{{{zzzz{z{{{z{{zz{zzzz{{z|{{{{{{{z{z{z{y{{{{{{|{{{z{z{zzz{||{zz|{|{zz{z{z{{{{|{||{{zz{{{{z{{{|||{|{{{{zzz{{{z{{{{{{{{zzzz{||{{{{|{zzzz{{z|{z|{{||{|{z{{z{||{||{z|{zz{{z{z{{z|{{{{{{z{{{zy{{{z{{|zzz{{y{{yzz{{{z{z{zyz{zzyzy{zzzz{yzyzzzyzz{zzz{{{zzyzyzzyzz{{zz{{zy{zzyyzyzz{yz{{{zzyyzyzzzzyzz{{zzzyzzzyzzzyz{{zzz{zzzzzzzzyz{{zzzzzzzyzzzzzz{{zyyyyzzyyy{zzzzz{zyzyyxyzzz{z{z{{{zzyzzyz{zzzz{{zzzzzzzzzzzy{zyz{yzzyzyyyy{zzzz{{yxz{zzzy{{z{{z{{zzzyzy{z{{{{z{{{zzzz{zzzz{{zz{{{{z{yzzzy{z|y{z{{zzzz{z{yz{{{{z{zzzzzzyzzz{zzz{{{{zzz{zzz{zzzy|{{|zyz{y{z{{{||{||z{zz{z{{{{{{{{z{{z{{yzzz{|z|{{{{{zz{zzz{{|{{|{{{{z{zzz{{z{{{|{{{{{z{z|{{y|{{{{{{{{{{{{zz{{{{{|{{{zzz{zz{zz|{{{{{{{z{y{zy{{{{z{{|{z{yz{zz{{{{z{||z{{zyzzzz{{{z||{zzzzyzzz{z{{z{{{zzyzzzyxz{z{{zz{zzzyyyzxz{{zzz{{{zzyyzyy{zz{{z{{zzzzzzzzyzz{zz{zzzyzyxzyzzz{yz{{yzzzzyzyyzzzz{zzzzyz{yzyz{|z{zzzzzzyyyzzz{zzz{z{zzzzyzyzyz{{{zzzzyyzyzyzzz{zy{{{zzzzyyzyy{z{{zzzyzzzyyzzzzzzz{z{yzzyzzyzzzz{z{zzzzzyz{zy{{{{z{{{{zy{zyz{{{{zz{|{zyz{zzzz{zz{{{{{z{{yzzzy{{{{|{|{zzzz{zzz{z{{y|{{{{zyzzzz{zzz{{{{{{zzzyzzz{zz{{{{z{{zz{{{{{{{|{|{z{{zy{z{{|{|z|||{zzzzzzz{z{zzz{{zz{{{z{z{|{{|{{|zzzz{z{{|z{z|{{{|zzzyzz{{|{{z{z||z{z{zz{z{{{{|{z{zzzz{z|zz{||{z|{z{z{z{{{{{{{{||{zzz{z{{{{z|||{z{y{{y{zzz{{{{{|z{zzzzzzy{{zz{{z{yzz{yzzzz{zzzz{{y{{zzzzz{{z{{{{{zzzzzy{zz{zyz{{{zyzzyzyyz{{zzz{{{zzzzzyzzzz{zz{|zz{zyzzyzx|{zzzzzzzzyzyzzzzzyz{yyzzzyzzz{zzzz{z{yzzyzzzzyz{{{{{zzzzzzzxzzz{yzzz{yz{zzzzzzz{{zzz{zzyzyxzzyz{{{{{zzzzzzyyzzzzz{{z{zzzzyzzzzz{zzz{{zz{zzyzyzz{{{z{{zzzyzzz{zzz{{{{{z{zyzzz{y{{{{|{{z{{zzzzz{z{zz|{z{z{{zyzzz{{z{{{{zz{{zzzz{{|z{{{{{zz{{z{z{{{{{|{|{{{{z{zz{|{{||{|{{{{zzzz{{{{{z{{{zzy{z{z{{{{|{||{{{zz{{z{|{{|{{|{z{zz{zzz{{{{{{{{yzzz{|{{{|{|{|{{{zzz{zyzz||||{{|zzz{z{zz}{{|{{{{zzzzyz{{{{{|{{{zyzzz{{zz{{|z{{{zzzz{zzz{{{{{z{yzzzzyzzyz{zz{zz{yyyzyxyzz{zz{z{zyyxyyzyyzzzz{z{zzzxzyzyyzy{zyz{{zzzyyzzyzzz{{{z|yzyzz{zyz{{zz{zzzyzyyzzzyyzzyz{yy{zzyzyzzyzyz{z{zyzzyyzyyzzz{{zzyzzzy{yzy{zyzyzzzzyzzyyzzzz{zzzzzzzzzyzyzyz{yzz{yzyyzzxyzzzy{zzzzzyyzzyyy{{{yz{{zxyzzyzzzz{zzzz|zyzz{zzyzzz{{{|{zzzzxzzyzz{zzz{zz{zzzyzz{yzz{{{{zzzz{zzzz{{zzzz{zzzyy{zz{zzz{{{{zzzzzzzzz{{z{|{{z|zz{{z{{{z{zz{|zzz{yzzz|{{z{zz{{zz{zz{y{{{{{z{{{{zzzz{zz{z{z{{|zzz{zyzz{|z|{{{{{zz{{zzz|zz{z{{{z{zzy{yzz|{{|{{|{{z{zy{z{{{{{{{zz{zzy{z{z{z|zz{|{zzzz{{yzzz{{z|{{yy{yzzyzzzzzyzzz{zyxzyyz{zzzyz{z{yyyyyz{zzzz{{{zzyyxyyyzzzz{{{zzzzyyyyyzz|{yy{{zzzyyyyyzzzzz|{{yyyzzzzxzzzzzzzzyzyyyzzz{zzzz{{zzyyyyyyzzzy{zyzzyyxyyzzyyzzzzzzzzy{zyzyzzzzz{zyzzxxyyzzyz{zzz{{yyyyzzzyxyzz{yzz{zzyxzzzyz{yzy{zzyy{zyzyyyy{{z{||zzzyyyzyyy{z{zz{zzzzzyyzzyz{zz{{zz{zzzzyz{{z{zz{{z{zyy{yz{z{z{zzyz{yzzzz{{zz{z{{zzyzzzzz{z{z{{{y{{{z{yz{z{{{z{|{z{zz{zzz{zzz{{{{zzyzyyyz{z|{{|{{{zz{zzzz{|{z{{{||{zz{z{{{{z{{{{{{zy{y{zz{{{||{|{{zzzyzzz|zz{{{{{zyy|zzzz{{{z{|{{{z{zzzzy{{{{z{{|{{zzz{zzy{z{z{|{z{zz{zzzzzz{{{{{zzzyzz{yzz{zzzzzzzyz{yzzzz{zzzzyyyzyzxyz{zzzzyz{zyyzyzyyzyz{{|{{zyzyzzzxyzz{zzzzzzzyyxzyzz{yz{zzzyzyyxzyyzzyyzzzzyyyyzyzzzzyyzy{zyzzyyyzzyzzzzzzyyyyzzzyzzzzzz{{zzyyyzyzyzzzzz{zyyxyyyyyzzz{zzz{zyyzyxyyyz{zz{z{zzzyyxyzyzy{zzz{zzyyzyzyzzzz{xzzz{yyzz{y{{zzz{{zzz{zyzyyzzzzzzzzyxzyzyzyz{|zzyzz{yyzzzzzz{z{{{{{zyyzyzyzzz{zzz{{zyzzzzzz{{zzzzz{{zzzyzzzz{{{z|{{zz{zzzzz{z{{{{{{zzzyyzyyzz{{{{{{{yzzzyzy{{{{{|{{{{zzz{{zzzzz{{z|{{zzy{zzz|{|{{|z{z{zz{{z{{{zz{{z{yz{zy{z{z{{{z{{z{zz{zy{y{{|z{{{zz{zyzzzy{{zzz{z{zzzzzzzz{y{zz{{yzyyz{zzzz{zz{y{xzxyzyzzz{zzyzz{{zzyzyyzzyz{{{zzzyzzyyzyzzz{yz{zzxzyyyyzzyzzzz{{z{zyyyzy{y{zzzzzzzzzyzzyyz{zz{z{zyzzyzzyzzzzzzzzzzy{yzyyz{{zyy{zzzzyzyzz{zzzzy{yyyzzyxzzxzzzzzz{zyzzxyyzyzz{zz{{zyzz{xxzzyyzzzzz{zyyzyyxzzz{{zyzzyzzzzyyz{zyyzz{zzzzzzzyz{yzzz|{zzzyyzzz{zz{y{z{zzyzyyzzzzzz{{{z{{zzzyzzz||{{{z{z{z{z{yz{{{zzz{z{yzzzy{yz{{z{zzz{zzzzz{z{z|{z{z{zzzzz{{zz{z{{{{{{yz{zzzzz{{z|{z{{zzz{yz{{{{{{{{{z{{zyzz{{y{z{{z{{zzzzzzzy{{{{{{{{|{{zz{{{z|{{{{|{zzy{z{zzzz{{{|z{z{z{zz|{z{|z{{{z{{y{zzzzz{{zz{{{{zzyyzzzz{z{z{zzzzyzzyz{zzz{{zzyzyyyyzyyzzz{zz{zzzyyyyzzzzzzzz{yzzzzyzyzzzz{{zzz{yy{zyzzzzzzy{zzyzyyyyyzyzyzz{zzzyzxyzyy{zyzz{z{yzzzyzzzyzzyz{zzy{xyyyyyz{zzyyzyyzxzyzyzzyzz{{z{yyzyzyyzzzzzzzzzzzzyyyzzzyzzy{{yzyzzxyyyyy{zz{zyzyyyyyzyzyzz{z{zzyyzzyyzzz{zz{zyzzyzxzzzz{zzzz{zz{zyyyzzz{z{{{{zzzz{yyzz{{{{z{{zyzzzz{yzzz{z{zy{yzyzzyyz{zz{{{{{zyzzzz{z{z{z{zzzz{zz{zz{z{{|{{zzzzzzz{{z{y{{{z{{zz{{{xz{zz{{{{z{zz{zzzz{z|zz{{zzyzzzzzzz|zzy{{|{zz{{{{zy{{{{{{z|zz{zzz{{{|{z{z{zzzzzyy{{{zz{{{{{{zz{zzz{zyz|{{{zyzyzzzz{{{{{{zzzzyzyzzzz{z{z{{{zzzyzzzz{{z{yzzzzyzzyzyyx{{z{{{{yzyyyzyyzzzzz{yzzzyzyyxx{zzz{z|zzy{yyxxzzyzz{yzzyyzyz{yyzzzzz{z{{yzzzyzyyy{zzzzzyyyyyyyy{z{{z{{{yzyyyyyzzyz{zz{{yyzyyyzzyzyzy{{zyzzzyyxyzz{z{{{zzzzzyyzxzz{zzz{zyyyyyyzxyyzyz{zzzyzy{yyyzzyyz{zzzz{yzyzyzyzzz{{{zyzzzzzyz{{yzzz|yyzzzyzzzzyz{z{{zzzzyyzyz{zzzz{zzyzzyxzzzzzz{|{zzzzyz{zyzz{{z{{zzzz{zyzz{zzzyzzz{{{zz{z{{z{{{{|{yzzzzz{zz{{{zz|{{zyyzyyzz{z{{{{z{{{zzz{z{|{|{{{z{zzyyz{y{{{z{{{{|z{zz{z{z|zz{{{|{z{zzzz{{{{{{{{{yz{zzzzz{z{{{{|{{{zzzzz{{z{{|{{{z{zzzyyyz{zz{{{z|{yzzzzz{{z|{{y{zzzzzzzzz{z{{zyzyzyyyzyyz{{zz{{zzyyzzyyzzyz{{{z{{zzzyyzz{zy{z{{z{yzzyzyzzzzzyz|zzzzyyyzyzzzzz{z{zzyyyz{zyzzzzz|zzzzzyzzzzzzzzzyyzyzyyzyzzzy{zzzzzyyzyxzy{{zz{{{zzxy{z{yyzz|z{{|{zyyzyzzyz{{{zzzzyyzzyyzyzzyyzzz{zyzyyyzzzzzz{{{zzy{zyyyyz{{{zzz{|zzz{{zzzz{z{{zzzzzz{yyz{zzzzzzz{yyzyzyz{z{{zz{zzyzz{yzzz{z|{{{{zzzz{yzyyz{{{{z{{zy{zzzz{{{z{{zz{zzzzzz{{{{{{{{{zzzzy{zz|{{{{z{|zz{zz{zz{z{{z{{{{zzzz{{z{|{zz||{{z{z{{z{z{zzz{{zzzyzzz{{z}{||{{|{y{{zzzz{{{z{{{z{zzzzz{{z{z{|{{zzyy{z{zz||{|{{|{zz{zzzyz{{z{z||{zzzz|yzz{z|zz{{zz{zzyzzyzz|{{{z{zzzzzyzyyz{zzy{yyzzzzzzzzzz{zz|{{yzyzyxzzz{zzz|{zzzzyyzzzzz{z{|zyzzyyyzyyzz{z{{zzyzyyyzzzzzzy{|{zzzzzyyyzzzzzzzzzyzyxzyzzyzzzz{zzzzyzyyzzzzzzzzz{yyz{yyz{z{zz{{{zzz{yyyyy{{zz{{zzzzz{yyyzz{zzy{zz{zzzyyzy{{z{{z{z{zzz{yyzzz{zz{yzzyyyyzz{zzzyzzzzzz{zyzzzz{zzz{zyzzyyzyz{{{zz{{{zzzyzyzzz{{z{|zzzz{zzzzyz{{z{z{z{z{zzzzz{zzzy{|{zzzyzyzz{{{{{{{{zz{z{{zz{{{{{{z{z{zy{zy{z||{{{zzzzzz{z{z||{z{|{{yz{z{zz{zz{{{{{|{{zzzz{z{}|{|{{{zy{{{zzzz{{{{{|{{zyz{{zz{{{{{|{{{z{zzzzz{{|{{{{{{{zz{z{zz{{{{{{|{y{zz{zzz{{{||{|z{zzyyzz|z{zz{y{zyzyzyzyzy{zzzzzz{zyzyzy{zzzz{{z{zyzyzyzzzyz{z|{zzyzyyyzyz{{yz{zzzzyyzzyzzyzzz{zyyzyyy{zzz{zz{zzyzzyzzyz{{{zzzzzzyyxzyyyyzz{zzyzx{yyzyzzzzzzzzzzyyyzyzzyz{z{zyzzzyzyyyyzyz{zzzzyzy{zyxyyzzyzz{yzzzzyyyzzz{zzzzz{zyyyyzyxzzzyzz{zz{yz{yyzzzzzz{zzzzyzzy{z{zz{z{z{yzzyzyzyz{{zzz{zzzyzzy{xzzyz{{z{zzzzyzzzzz{zz{{zzzyzzxyzz{z{z{{zzz{zz{zzz{||{|{zzzz{{y{z{{z|{z|{zyz{zzzz{|{{{|{{zzzyz{{zz{{{zz{zz{zzzzzzzzz|{|{{{zzz{{zzz{{{z{|{zz{zzz{z{{zzz{{z{zzz{yzzz{zz{z{{|{zz|zyyz|{{{{{{zzzzz|zzz{{zz{|{zzzzyz{zz{z|z{{{zz{zyyzzzzyz{{zzzyyzyyzyz{|zzzzz{zzzyxzyzyyyzzz{{zyyzzzz{{yz{zz{zyzyyzzyyz{{zz{{zyzzxyzz{y{zzz{zyzyyxzyzyzzz{{{yzzzzyz{zzzzyz{zyzzyxzzyzyz{{yz{zyzzyzyyyzzzzz{{yzyyzyyyzzzyzzzz{yyzzyyyzyyz{{{y{{zxyyy{yzzzzzz{{zzzzyyzyy{zzz{z{zzzz{zyzz{z{zzz{zzzz{yzzz{{{|{z{zyzzzzzz{{zz{z{{zzzyz{{yzz|zyzzz{yzyzzyyy{{{{{{zyxzzzyyzz{{zz{|{zzzz{{zzzz{{|{{{zzzzzzzz{{z{|z||{{{z{z{zz|z{{{{z{z{{zzyz{zz{{{{z{zzzz{yz{|{{z{{{z{{zzzzz{{{{{|{{{z{zzzz{z{|||{{|{z{z{{{zz{{|{{{{zyz{{zz{{{{z{|||{z{{z{yz{{{|{|z{z{zzy{zzz{{zz{{|{z{{zy{z{{zzzz{{z{zzzzzyzz{zz{{{yyyyzyyyy{y{{{|zzzzzyzzyzyzz{z{{zyyzxzzyzzyz{zzzzzyzzyzzz{zzzz{z{zzyyyyyz{zzzzzzy{zyzzyzz{yz{zzyzzzyyzzyz{zyz{zzyzzyyzyxyzzzyzzzzyzyyzzyy{zzzzzz{yyyyyyyz{zz{z{{yzzzyzzxzzzzzzz{yyyyzzzyzzzyzz{zy{zzzyzzy{zz{{{zyz{{z{yyzyzzzzzyzzzzzxzzzzzzz{zz{zyzzyzz{{zz{{{zzzyyyzyzzz{{{{{{zyyzxzzzzz{zz{||yyzzzzzz{{|{z{{{yyyzzzzz{z||yz|{{zz{yzzzz{{{zz{{yx{{zzzz{z{{z{{{zzzzz{yz|{{z{{{{{z{{zyzzzz{{z{{{zz{{z{{{{{z||{|z{{y{z{{z{{{{{z{z{{{{{zz{{{{{{{{{{{yzzzz{{{zzz{{|{{zzyzzzz{{|{|||z{{yzzzzzz{z{{z{zzzzyzzz{{{zz{{{zzzzzzzyz{y{zyzzzyzyyzyyzzzz{zzzyyzzyyyyyzzzzzz{zzyyzyzy{zyy{zzzyyzyzyyzyzz{zy{zyzyzyyyx{yzzzzz{zzzyyyzzyzzzy{yyzyyyzxzy{yzzyzzzzzyyyyyzy{zyyy{zzyxyyyyzzz{{zzzzzyzyzyyyzzzzz{zzzxzwyzyyyzzzz{{zyyyy{yyyyzzzyzyzzzyyzyyyxzzyz{z{yyzzy{yyy{yzzy{{zyzyzzyzy{{zzzzzzy{yzzyzzzzz{zyzzzzzzzyz{zzzzz{{zzy{z{zyyzz{{z{zzz|zzzzzz{{{zz{{{zzy{{zzzzz{zz|z{zzzzzyz{z{||{|zzzzyz{z|zzz{z{{|{y{zzz{yz{|{z|{{{zzzzz{zz{{{{{{zz{zzz{zzz{{{{{z{{z{{{z{z{z{{{||{{{zzzzzz{{{{z{{|zzzzy{zzzzzzz{|{zzzz{zz{|{z{{|{{z{zy{{zzz{zzz{{{yzyzzyzyz{{z{z{zzyzyyyyz{zzzzy{{zzy{zzyyzz{zz{zyyyz{yyzzyzzzz{zzzyzzzyyyzzyzzz{z{yyxyyyyyzz{zzz{zzzyyyyy{zz{yzzzzzyyyzzyzz{yyzzyyzzyyyyyzyzzz{z{yyzwyzyxzyzz{zz{xyyyyyzzzzzzzyzzzzyyzyxzzy{zz{z{yyzzyyxyzzyzzz{{yzzzzyzyzzy{{{zzzyyzyyyyyzyzzz{zyzzzz{yy|zzz{zz{yyzyzyzzzzzyz{{{zzzyyzzzzzzz{z{{zy{zyy{zz{yzz{zzzzzzzxzzz{zzz{zzzz{zzzzxzz{{{{{zzyz{zyz{||{{zzzzyyzyzzy{{zz|{{z|{zyyz{z{zz{{{{{{{yzxzzzz{|{zz{{{zzz{zyzzz|{z{{z{{zzz{{{zz{z|z{{{{zzz{zzzz{{{{{|{{zzz{z{z{{z{{{{{{zzzzyz{zzz{{z{{{zy{{zz{{z{{{z{{zz{yzzzzzzz{z{{{{zzyzzzzz{{{{{{{{yzyzy{yzzz{{{zzzzyyyyyyy{yzzyzzzyyyzyzyyyzyyzyzzzzyzyzxzyzzzz{{{yyzzzzyzzzyzyzyyzzxxyzyyzyzyzzzyyzyyyyzyyyyzzzzzzzzyzzyz{zzzzzzyyzzzzxyyzzzzzzzzxyxyyyyyzzzzzyzzzyyyyyzyyzz{zz{zyzyyyxxzzyy{z{zzyzxyzyyyyzzzzzzzzyzyyyyz{zyzzzyzzyzzyyyzzzy{z{{yyyzzyxyzzzyzzz{zyyzyyzyzzz{{zz{yzyxyyyyzyzzzzzzzyzyyxzyyzz{zzzz{yz{yyzyz{{z{z{zzzzzyyzzzz{zzz{zzzzzzyyzz{z{{{{zzyzz{zz{|{{{z{z{zzzzzyz{y{{zz{zzyzyyzzyy{zzz{{{|zyzzzz{z{z{{{z{zzzzzz{zzz|{{z{{{zzz{z{zz|{z{z{{{{zyzzyzzyz{z{{{{{yzzz{zzz{{{zz{zzyzyzzzzz{zz{{{{zzzzyzzyz|zz{z|{{z{zzyyz{yzyz{z{yzyyyyyyzz{zzzz{yyxyzyyyyzzz{{zzzzzzyzyyzyzzzyzyzy{zzyyzyzzzz{zzyxzxzyyyzyzzyzz{yyzyyzzyzzzyzzzyzyyy{zyzzy{yzzz{zzyyzyyyyzzzzzz{zzyzyzyyyzzyzzzzzyzyyyxzzyzzzzzz|yyyyyyzy{yzzzzzyzzzzyzyzyzzzzzzzz{yzzyyyzz{y{zzyyyyyzzzzzzzzzz{zz{yzyzzz{{zz{{{zyzzzzzzyz{zz{zzzzzzzy{yyzz{{z{{zyzzzyyyzzzz{{zzzyzzzyzy{{{{z{{{zz{yyyyy{|y{{z{{zzzz{zzzzz{{{{zzyzzzz{zz{z{z{{{|zzy{zzyyz{{{{{{{{z{{zz{zz|{{z|{{zzzzzz{{|{{z{{{|{{y{zzzzy|{z{z{{{z{{yzzz{{z{{z{|{{zzzzzz{y{|z{{|{{zzzzzz{{{|{{{{{zzzzyy{zzz{z{|{{{yz{{zzz|{{{{{zzyz{yzzz{{{zzz{zyyyyzzyyy{yy{zz{zzzzyzyyzzz{z{{{zzyyyzzyzz{zzz{{zyzzzyzyyz{{zz{{zyyyzyyzz{z{{{z{yzzyyzzyyzzzzz{zzyzyyyyy{z{{zzz{yyyyzyzzzyzzzz{{z{zyyyzyzzzzzzzyzxyzyyyyzzyzzz{zzzzzyyyyyzzzzz|{z{zxyzyyyzzyyz{{yzyyyzyy{{zzz{zzzzzzyzzzyz{zzz{zz{zzzzzyzz{z{zz{z{{zyzzyzzy{{z{zyyzzyzzz{zzz{{zz{{{zzz{zzzz{z{{{zzy{zzzz{|{{zz{zzzzzzzyzzz{{z{{zzzzzzzzz{zz{|zz{zzzzzzzz{zzzz{{{zzz{yzyzzz{z|{{{{yz{{zz{{{{{zz|zz{zzzz{zy{{{{{{|{z{zzz{z{{|z{|{{{y{{zyzz{z{{{{{{{zzz{zz{{{{{{{{|zz{z{zyzz{zz{|{{zzyz{{zz{zz{zz|zzz{zy{zzy{{z{z{z{yzyyzzyz{zzzzzyzzyzyzxyzzzzzzz{yyyzyxzyz{z{y{{{zzzyyyyz{zzzz{yzzyyzzzzxyz{zzz|zzzyyyyyyz{{zzz{zyzyyyyzzzzzyzz{zzyzxyyyy{zy{yzzzzyyyzyyyzzyyzzzyzzyzzyzzyzzzz|zzyyzzyzyyz{zyzzzz{yzzyzyyz{y{zz{{zyzyyy{yyzzyy{{{yzyyzzyyy{{{z|{yzyzzy{zzzy{z{{z{{yzzzxzzzzz{{z{z{yzzzzz{zzz{{{{|zzyyyzzy{{z{zzzyzyzz{yz{{{{zz{{z{yzzzzzyyz{z{zz{{zyy{zzz|{z{z{z{{z{zz{zzzz{{{{{|zzz{zz{z{{{{{{{|{z{zz{yzz{{{{z{{{yz{z{{z{|{z{|{{z{z{{zz|{|{{{|{}{{zzz{y|{z{{{||{z{{{zzzz{{{{{{{{{zzzzz{{|zz{{{z|zzzzzzy{zz{{z{z{zzzz{z{yz{{{{{{{z{zzzz{z{{{y{z{{zz{zzyzzz{|zzzzzzzyyyzyyzzzz{{z{{yzyyyzyz{zy{{z{zyzyzz{zzzz{{|{zzzzzyzyzzz{{zzz{{zzyxy{xz{zzy{zzyzz{yyyyzz|{z{{zzzzyzzzyzz{{z{zzzzzyyzyx{zzzzz{zyzzxyzyyz{zzyzzyzzyyyzyzyzzzz{zzzyzzyzxz{yz{{zzzzyyyzzyxzzyz{zzz{yzyyzyyy{zzzzzzzzzzzyzyzz{zzz{zzyzyzyzzz{z{yzz{zyz{zyzy{zzzzzz{yzzyyzzy{{{zzz{zzzzzzzzzy{{{zz{{{zzzzyzzzz{|zz|zzzyzzzz{|{zzzzz{zz{{z{yzzz{{||{{zz{zzzz{{zz|{{|{zzzzzzzy{z{{{|||{z{{zzzz{{|z{{{|{zzyzzzz{{{z{|{{{zzzz{y{{|{|{{|z|yz{{zzz{|{{{{|{z{{{z{zzz{{{y{|{{zzz{{zzz{{{z|{{z{zy{zzyzz{{{{{{{zzz{zzz{{z{|{{zzz{zzyyy{zzzzyzzzyyyzyyzyzzyz{zzzzzyyzyxyyyz{zzzzxyz{yzyzyzzz{{zyyzyyyyyyyz{yxz{zzzyzyyxzz{zz{z{zyyzzyyxyyzzz{{zyzzyyyzyyyzzyzzzyyyyyyyyyzyzzzyzyyyzyzyyzyzzzzzzyzyzyzyzzz{yzyzzyzzyzyzyyzzyzz{{zyzzyxzxzz{yyzzzzyzyyzyyzyyzz{{zzzyyzzyy{zzz{zzzzzzyyxzzzyzzz{zzyzzzyyzyzzzzzzzzzzzyyxzzzz{zz{zzzzzzzyyyyzzzz{zzyzzyyyzy{{zyy{{{zzxz{yzzz{z{z|z{{zzy{zz{z{|{{{z{zzzzzz{z{{{zz{{{zyyzz{yzzz{{z{z{zz{zyz{{z{{{{{{{zy{{z{z{z|{{z{z{z{{{zzz{{{{|{{{{zyyzzzyz{{{{z|zz{zz{zzyz{{{{{{{zz{yz{zyzzzz{{{{{zz{zzz{zz{z{z{{{zzzzyzzz{|z{zzz{zyzyzyzyy{zz{z{yzzyxzzzyyzyzxzzzzzyyyzyzz{yzyzzzyyzyyyzyzzzz{{{zzyxzyyzzz{zzzy{{yzzyxyyyyy{yzyzzyyzyzyzzzzzyz{zzzyyyyxyzyyzyzzyyzyyyxyzzzzyzzzzzzyyzyxyyyzzyzzyyzzyyzyyzxzzzzzzz{yzyyzxzyzzzzz{{yyzyyxwyzyyzzyzzzzxxyyyzz{yzy{z{zyzyyyyyyzzzzz{zyzyyzzz{zzyz{zz{zzzyyyzyyzz{{yzzzyyzyyzz{z{z{{z{zzzzzyyzy{{{zz{{zy{yzyzzyz{z{zzzzy{zzyzzyz{zz{{zzz{zzyzzzz{{z|z{zyzzzz{zzz{z{z{{zzy{yzzzz{zz{z{|{zyzyzzz{{{z{|{{{yz{{z{zyz{{{{|{|zzz{zzz{|{{|z{{{yz{zzzz{{{{{|{{{zzz{zzz{{{z{{|{{zzz{zz{|{y{|z{{z{y{zyzzz{z{z{{{zzzzyzyyy{z{zz{zzyzzzyyzz{yy{zzzzyzyzyyxzzzyyzzzyzyyzxyyz{zzzzz{zyyyyyyyzyzzy{zzzyyyzzzyzzzzyy{{zzyyyzzzzzzyz{{zzzzxyzyyzzyxzzzzyzzzzyxzy{zyzzyzzzyzyyzzyzz{zzzzyzyyzyzxyzzzyz{zzyyyyyyyy{zyzzzzyzzyyzxzzyz{zzzzzxyzzzzxyzyzz{z{zy{yyyyyyzy{yz{{zzzzzyyyzz{zz{{zzyz{yzzyzzzzz{z{yyz{yyzyzzzzzyz{zzzyzzzz{zz{{{zzzzzy{yzzzzy{zzzzzy{zzyzy{z|z{zzz{zyzzyzz{z{z|{{{{z{zzzzzz{{z{|{{y{zyzy{zzz{|zz|{zzyzzyyzz{{zzz{{{z{{zz{y{|{z{{|zz{zz{zzz{{zz{{{{{zz{{{zzzz{{{z{{{{zyzyzz{{{{z{{{{zz{z{zzz{{z|{{{{zz{zyz{z{{{{{{{{zyyzz{yz{zz{|{zzzzyzzzy{z{{zz{zzyzyyzzz{zz{zzzzzyyzyyzyyz{zz{z|zyyyyyzyyyzz{{yz{yyzy{xzzyyyzy{zyzzzyyzy{yzzz{zzz{xxyyzyxzzzz{y{zzzzzyzyzzzzy{zz{yyzyzyyy{zzz{zzzzyyyzzzzzyzyzz{yyyyzxyyx{z{zzyzyyyzzyyyz{zy{zzzzzzzyzyzyzzz{z{zz{zyzzzyyzyzzz{{yyzyyyzzz{z{yyzzzyzyzzzy{{z{{z{zzzyz{yyy{zzzz{{{yyz{yzz{{z{{zz{{zyyyyyzy|{{{zzz{zzzzzz{zzzz{zzz{zyzzz{yyzzzzzy{|zzz{zyzyz{zz{{z{{{yzz{z{z|||{{z{zzzzz{zzzz{|zzzzzzzzzzzyz{{|{{{{zzyzzzzyz|z{z{{{zyz{zz{zz{{z{{z|{{z{z{zzy|{{z{{{{z{zzy{z{z{{{z|{zzzzz{{zzz{{z{{{{zz{zzzzz{z{z{{{zzyzzyzzz{zzzz{zzzzzzyzyz{{{{|{zzzzzzyyzzz{y{zyzzzzyyzzyzzzzzzz|yyyxyyyzzzz{zzz{zzzyzzzyyz{z{{zyzy{yzyyyz{{{zz{{zyzyyyyx{yzzzzzzyyzzyyyxz{zyz{yzzyzzyyxyxzzzzzzzzzzyzxyyzzz{{zzzyzzyyxzyyzzzyzzyzyyyyyyyzz{zzzzzyyyyzzyxy{zzzz{zzyyzyyyyyzzz{zzyzzzyzxzyyzyz|{zzzzzxyyyyzzyzzzzzzzyyzyyyz{{z{zzzzyyzyy{yyzzzzzzzzyyyyzyyz{{yy{{zzyzy{y{zzzzz{zzzz{yyyyxyzz{{zzzzz{yyzyzzzzzzzzzzzyzz{yyzzz{{{zzzzz{zz{{{{{z{y{z{{zyyzzzz{z{||||zzzz{zzxz{{{|z{z|{yzzzz{zz|zzzzz|zzyzz{z{{{{{z{{{{z{y{zzzzz{{z|z{zyyyzzzzzz{zzz|{{zzzzzyz{{{{{|{{{zzyzzyz|z{zz|{{{zzyyzyyzz{zzz{zyzzyzzxzyz{{{zy{xzyzyyyyzzz{zzzzyzyyyyzzzz{z{zz{yzyyyyyyzzz{zy{z{zzyzyyzzzzzyz{zzyzyxyyyyz{z{yy{{yyxyzyxzzzyz{zyxzyyyzxyyzzzz{zzyyzyzyzzyzyzzz{yyzyyyzzzzzzzyz{{yyyzyyyyyzzzyzy{yyzyzyyyy{z{{zyzzyyzzyxyzyzyzz{zyzyyxyzyzzyy{{z{yzzzzyzxz{z{z{{zzyyzzyyy{zyzz{z{zyzzzyzzzzz{zzz{zzzyyzzyz{zzzzzzyyzzzyyzyz{{z{zyzyzyzzyyzz{{zz{z{{zzyzyzz{{zzz{zzzyzz{zzzz{{{{{{zy{zzzzzzz{zz{{zzzz{zzyyz{{z{{{{zz{y{yzy{{{{{{z|zyzzy{zzzz{{{{z{zzyz{yzz{{{z|{{|{zzzzzzz{{{{z{|z{{zz{zxzz{z{{{{z{zzzzzzy{{zzzz{{{z{yzzzzz{{{{{{{zzzzyzyzz{zz{{z|zzzzyyzyz{z{zzzzyzzzzzyyzzzzy{{|zzzyzzyzyzzzz{{z{y{yzzzzzzz{zzzzzyyzyyyzzz{zz{z{{yyyyzyyzz{{zzzzzyzzzyyyzz{z{{zyzyzyzyzyyzzyyyz{zzzyyzyy{{zzy{z{yyyxzxzyzyzzz{{zyyyzyyyyzyzzzz{zyzzyzzyzyzz{zzzzzzyyyy{yzzyzyz{zyzzyzyyzyzzzzz{{zzyzyzzyzzz{z|{{zzzyzxyzzzyz{{{{{zz{{y{y{zz|z{z{yzzyzyzzz{zzz{{zzz{zzzzzz{z{z{zzzzzyzzzzzz{{zz{zzz{zzzzzzzz{z{z{{{{z{{yz{{{{{{{zzz{y{yzz{z{{z{|{{zzzy{zz{{{{|{{|{zzzzzzzz|{z{z||zz{{z{{{z{z{|{{{{zzzzzzzz{{{{|{z{z{{zy{z|{{|{z|{{z{zz{z{{{{{z{{{z{{zzyzzz{{{zz{|zzz{zzzyy{{{{|{|y{zzyyzzzzzzzzzy{zzz{z{zz{|{{zzzyyyzyzzyyzzzyz{{{zzzzyzzz{zy{{z{{zyyyzzyyzzzz{zzzzzyzyyzzzzyzz{{{zyyyyyy{y{zz{z{zyyyyyyxz{zzzzzzzyzyyzyzzzzyzz{{zzyzxzyy{zzzyz{{zzyyyyyzzzzzzzzyzyyyzzxzyzzyzzzzyzyzzyzyz{z{zzzzzzyzyzxzyyzzzzyzzyzyzzyzy{yz{zzzzxzzzzzyzzzzz{{{yzyyyzzzy{z{z{{{yzzy{yyyy{zz{{zzyyzzzyzyzzz{z{z{zzyyzyyzzzz|{{z{yz{yz{zy{{{z{z{{{zzzyzyzzz{zz{z{{{yzyzzyzz{{{{{zz{zzzzzzzzz{z{|{zzz{zyzy{zzz{|z{{yz{zzzzz{||z{zz{{z{{zzz|{z{|{z|zz{zzz{z{|z{{{{{{yz{z{zz{{zz|{{|z{zyz{{{{|{z{{{{{{zz{zzz{{zz{|{|zyzzyzzzz{{zz{{{{zz{zzzzz{{{{{z{zzyzzzyz{z{zz{{yzzyzzyzzzzzyyyzzzzzzzzzx{zz{z{z{zzyyyzyy{zz{{zzzzzzzzyyzzz|{zzzzzyyyyyzyz{zzzz{zzzzyyzzzz{{y{{{zzyzyzyyyzzzyzz{zzzzzzzyyzzz{zzz{zzzyzyyyzz{zzz{zzzyzywyyzzzzzzzzyzyyyzyzzzzzzyz{yyzzyyyxyzz{{zzzz{yyyyzyyz{zzz{zzzzyyzzyyz{{zy{{zyzzzyzz{{{yzz{{zzyzyzzzzz{{|z{{zzz{yyzzyz{{zz{z{zzyzzzyz{|zz{{zz{zyzyzzzzzy{{{z{z|{{zzyzz{{{{zz{zyzz{zz{{z{z|{|z{{{{{zz{zzz{{{{{zyzzzzyz{{{z{{z{z{zzz{z{|{{zzz{z{{z{zzz{{z{|{{{{zz{z{yy{{z{{|{{{z{{zz{{y{{{{|{zyyzyzyzz{z{|{zz|zyzz|{yz{{z|{||{z{zzzzzy|{{z{z{|zzz{zzzzzz{{{{z{{z{yyyyy{zz|{zyzyzyzzzyyy{zzzyz{{yyyyyzyzzzzzzz{zzyzzzyy{zzz{z{yzyzyyyyyzzzyz{z{{yyzyyzyz{zzzz{zzzyzzyzyyzzyzzzyzzyzzyyyzy{yzzzzyyzyzzyxzzy{zzz{yzyyyyzyzzyzzzzzzzyzxzxz{zzyzzzyzzyxzzyy{z{{zyzzzzzyyyy{yzzzz{zxyzyxyyyxyzyyz{{zyyzzyzzyz{zzy{zzzyzy{zzyz|zzzzzzzyzzyyzyzzzzzz|{y{zzyzyzyzz{{y{{zyzyzyz{z{{{zzz{{yzzzzyy{{{yz{{zzyzyzyyyz{z{zz{z{zzzzzz{zz{{z{{{z{zzzzzz{{{{{{|{zzzzzzyzz{{{z{{{zzzzzz{z|{{zz{{|{z|{z{zz{z{{z{{z{{zyzz{zz{{{{{{||z{zzzy{{{{{{{z{|z{zzzzz{{z|{{{|{{{{{zz{{{{{z{|{zyzz{zzzz|z{{{|{zz|zz{zzz{{zzz{{{zzyyzzz{{z{{zzyyzzzzyyyzzzzzz{yzzzyyyyzzz{zzzz{zzzzyyzzzzyyyzzzzyzyyyyyzz{yzzzyzyzzyyzyyzzzz{y{yyzzyyyyyzz{zz{zzzyzzzyyzzzzzzzzzzyzzzzz{yyz{{z{yyyzzzzzzyyyyz{zzxzyzzy{yzzzzz{zzzzyzyyyz{zyzz{yxzyyyzyyzzzyyy{{zzzyyyyyy{zzyz{zzzzyzzyyzzyz{zzzzzzxzyyyzzzz{{{z{xzyzyzyzzzz{z{{yyzzzzzyy{{{zz{zzzzzyzyyzzz{{{{yyz{{zyzyz{zzzz|z{yzzyzyy{zz{yz{zzyzyzzyyzz{zz{{zz{zzz{{zzzz{zz{{{zzzzzzzz{z{{z{{{zz{z{{zz|zz{{|{{zyzzz{{z{z{z{{{{z{z{{{|y{|{{{|{zzzz{yyz{{{{zz{z|yzyzzyz{{{z{{z|{{z{zzz{{{{||{z{zy{zzzz{z{{z{{{|{zzzzzzyz{{zz{{{zzzyyzzyyzz{zzzzyyzzyzyyyz{{y{z{yzzyzxzyzzz{zzz{yyyyzzyyzzzzz{{zzyyzyyzyyz{zyzzzz{zxyyzyyzzzzzyzyyzyzyzzyzzyz{zzzyzyyyyzzyzyzzyzzzzyyzyyyzxzyzzzyzyzyyyyzzzzzzzzzzyzyyxzyzzzzzzzyzzyyyyzzzzzzz{zyzyyyyyzy{{yyzzyzzyzyyxyy{zy{zz{zyzyzzxxzzzyz{zyzzzyzyyy{{{zzzz{|yzzzzzzzz{zy{{zzzzzyyzy{z{zzzzyzyyzzzzzz{zzzz{zzzzzzzyyz{{{zz{{zzzzzzyyz{{{z{zzzzyzy{y{{{{{zzz{zzzy{zyz{zz{{{{{zzzzzzzzzzz{{z{z{yzzyzzz{{|z{{{{zyyzzz{y{{{{y{{{{yzzzzzzz{{{{{{|{zzzzzzz{{{{z{{z{zz{z{{z{{{{z}{|zz{z{zy{{{{{z{{{z{zzzz{zzzzzz{|z|zy|zzyzz{{{z{{yy{yzzyxz{z{{zzzzxzyyyzzyz{zzzz{{yzyyyzyyzz{zz{{|yzzyyy{yzyzyzyzyzyyzyzyyz{z{zzz{y{zyzyzy{zz{yzz{yzzyzyzyzyyzzzz{yyyyyyyz{z{zzzyzzyzxyyyx{zzyyy{zyyzyxzzxyzzzzz{yzzyyyyyy{zzz{zzzzyzyyzzxyz{zz{{zzzyzyyyyzzyyz{zy{yzzzxyyy{zzy{z{zyyzyzzzy{z{z{{{yzyyyzxyzzzzz{zz{zyxzyzyz{zz{{{{yzyzyyzzzzzzz{{zzzyyzy{yyz{zz{{zyzzzzzyyzzzzzz{{zyyzzzy{{z{zzzz{{z{yzzzz{zz{zz{z{zzzzzzzzzz{z{z{zzyzzzzzy{{z{{|{zyyz{zzyz{z{z{|{zyyyy{y{{zzz{{{||{{zzzz{z{z{{{|{{zzzzz{zz{{{{{zz{zzzzzzzzzz{zz{{{{zz{zz{zzz{z{zzzzzyzzyzzzy{z{{{zzzzzyyyy{{{{{zzyzzzzzzzzy{yzz{zzzyxxyyyzzzyzzzzzzyxxywzzyyzzzz{zzzyxyzyzyyzzzzzzyzzyyxzyzzzzz{zzzzyyzzyyz{yzzz|zyyyzyyxyzz{zzyzzxz{yyxzzzzzyzyzzyyyzyyyzzzyzzzzyyyyxyzyyz{yz{zyyyxyxxyyzzzyzzzzzyzzyyyyyyzzyzzzyzyzyyyyzyzzzzzyyzzyyzzyyzzyzzyzzx{zyyyzzzzzzzzzzxzy{yzyz{zzzy{zzzzzzyyyzz|{{zzzyzzyzyzzz{{yzz{zzyzzzyzzz{{{{zzz{zyzyzzzzzzyyz|{yyyzzyzy{zz{z{z{|yyyzzyzy{{{z{|{zyyzzzzzzy{{{{{{zzzzyyyzzz{{{{{z{yzyzxzz{{z{z{|{zzzzzz{zzzz{z{{{{{zyy{zy{|{zz{{{{{zzyzzz{{{{{{zz{yzzzz{zzz{{z{|{{{zzzy{{z|{zz{zz{zz{yyyzzz{zz{{{zzzzyzzzz|z{zzzy{yyyzyyyzzzzyzz{yyy{yyyyzzzzzzzzzyyyyyyy{zzzzzz{zyzyyyzzyzzy|{zyzzzyzxyyz{{zzzz{yyzyyzzyyzzzyyzzzxzxxzyyzzyyyzzzzyyyxyzzzz{zzzzzzyzyzzzyzzzzy{{zzyzzzyyy{{yyzzzyzyyyzyzyzz{zzz{zzzzyyyxyzzyzyz{{yyzyyyzyyyzz{yzzyzxyyzzyyzzzzzz{yyyyzyyyzzz{z{zzzyzzyyzzz{{zz{zzzzzyyyyzzzzyz{{{zyzzyzyz{|zz{z{{zzzyzzzzz{zzz{z{zzzzz{zyz{|{zy{zz{yzzyy{zz{zzzzzzzzz{z{zz{{{{{{zy{z{zzzzz{z|{|{{zzzz{yyz{{{{z{|zzzzzzyzz{{|{|{zzz{{zz{{zz{{z{{zz{zzzz{zzz{||{|{{zxzz{yyz{{{{{|{|{{zzyz{yzy{{{{||{{z{{yzz{{zzzz|{zzzy{zzzz{zz|{z{zzz{{zzzzz{z{zzyzyzzzyyyzzzz{zy{yyzzzyyyzz{zz{z{yzzyyyyzz{zzz{{zzzyzyyzzzzxzz{{{zyyyyyzzz{zzz{z{{yzyzyzyzz{zyzzzzyzzzzzxzz{yz{zyzzyyyzyzzzzzz{{zzzyyyyyyzyz{{zzzxzzyyzzyzzzzyzzzzy{yzzyyzz{{zyzzzyzzzyzyz{{{zz|zzz{zzzzyyzzzyz{zyyzyyzzzyzy{zzyzzzzzyzzzz{z{zz{{{zyzyzyzzzzzzz{yzyzzzxzzzz{zzz{{yzzzy{zzz{zzz{{zzz{zzy{yz{z{zz{{{yyz{yzy{{{z{{{{zzz{yz{{{{zzzz|}{z{{{yzyz{{z{{{{zy{{{zzzz{{{{{{{zzzzzyzz{|{{{||{{z{y{y{z{{|{z{|{zzzzz{{{{zz{z|{{{zzzy{zzz||{{{{{{zz{zz{{{{{{{||{|z{{{zz{zy{|{{{|{zyz{z{z{{{{{z{{zzzzzy{{{{z{|{{||z{zyyzyz{zy{z{zzzzzyzzzzzy{{{{zzzyzyxzyzz{yzyzzzyyyyxzyzzzz{z{yzzzzyyzyzyzzzzz{zzyzxyyzzz{zz{zyzyyyyyyyy{z{zzzyzzyyyyyyzz{zyz{z{zzzyyzyzzzyzzz{zyyyyzyyyyy{zzzzyyzzyzyxyyzzzy{yzzyzyxyyyzz{zz{zzzyyyyzyzzyzyz{{{zzzzxzzyz{yzzzzyzyxxyzzzzyzzz{{zyzyzyzzyzzy{{{{{yzz{yzzz{zzy{z{yyzzyyzyzzz{zz{zzzzyzzy{zz{z{zy{zzzzzyzyzz{zy{{y{yzyyyyyzzz|z{{yz{y{yzyzzzzzz{{{|zyzzzzz{{z{{|{{zzzyyzzz{z{{{{{{{zz{{zzzz{{{{z{|zzyzzzyzz{{z|{{{zz{zzzzyzz{z{zz{{zzzz{zzz{|{{{{{z{{zyzzy{{{{zz{{{zzzzzzzz{zzzz{{{zz{yzzz{|{{{{{z{zzzzyzzz{{{|{z{zzzzzyyy{zzzzz{{yzzzzy{{{y|{zzzyyyyyyyzxyzzzzzz{zzxyyyyzzzzzzzzz{yzzzzyyz{zy{z{zyyzzyzzy{zzzyy{zzzzzyyxyzzzzzzz{zyzzzzyyzzzzz{{yzxyzyyxyzzyzyyzzzyyyyzyyzzyzzzz{zyxyyyyyzzzzyzzyyyzzyzyyzz{yyzzzyyzzyzyxyz{{zzzzzyyyzyyxyz{zzzz{yyyyzzzzyzzzy{zzzy{zzyxyzzz{z{zzzzyyzzzyz{zzz{{{{zzzyxyzyzz{z{z{{zzxyzyzzzzzzz{{zzzzyzzzz{{zz{z{zzzzyzzzzz{zz|{{zzzzzzzzzzyzz{{z{zyzzzzz{z|{|{{{z{z{zzzzzzz{z{{{zyyzzzzz{{{zz{z{{zzzzyzz{{{z{{|{{z{z{{{zz{{{z{{{zzzzy{zz{|{{{{{{{zz{zzzzz{{zzz{{{yzzzz{z{{z{z||{zz{zzzyzz{{|{{{zz{zyz{z{{zz{zz{{{zyzzy{zzzzzzz{{zzzzyzzy{z{{z{zzyyyyzyzyz{zz{zzzzzzzzxyzz{z{zzyzzzyzyyzzz{zy{{zzzzzyyyzyzzyyzyz{{yzyzyxzyy{y{zz{xyzyyyyyzzzzzzz{{zzyyyyy{yzyyzzy{yzxyzzxzzyzx{zzzzyyyyyyzyzzyy{{zzzz{yyzyzzz{zzzzzyyyyxyyzzzzzzzzxyzyyyxzyzz{y{{yyyzzzyzzzzzzzz{yyyzzyyyzz{zyz{zzzzzyzzyzzyyyzzzzzzzyyzzzyzy{yz{zzz{xzzz{{zy{z{zzzzyzyyzz{{yyzyzzyzzzzyzyzzz{{{{zzzzyzzzzz{z{{z{yzzzyzzz{z{{{z{zz{{{zzzzzzzzzz{{yzz{z{zzzz|{zzzzzzzz{y{z{|z{{{{{yyzzz|{zzz{{{|z||{zzzzz{{|{{|{{z{zz{{{yz{|z{z{{{zyzzzyzzzz{{{zz|{{z{zzz{{zz{{{z{yzzzzyzz{{{z{z{{{zzzzzzzz{zz{zzz{zzzzzyyzzz{zzyzyzzyyyzyzzyzzzz{yyy{yyyyyzzzzyzz{zyyzyzxzzzzyzzyzyzyzzzzzz{zy{{{zyz{xzyxzyyzzzz{zzzyyyyyz{{zz{{yyzz{yyyxzzzzzzyzzzyyyzzzyzzzy{zzyzzyyxyxyzzz{{{zyxyyyzyzyyzyzyzzzyyzyzyyzzy|zzz{zyzyzyyyzyzzyzzyyzzzxyyyzzyzzzzzyyzyyzzxzzzzzyz{zzzyyyyyzz{zzz{{zzzzyyzx{zzzzz{{yyzyyzzzzz{z{z{{yzzzzyzzz{zzz{z{zyzzzzzzzzz{{{zz{zzzzzzzz{|z{{{{{zz{yzyzzz{{z{z{yzzyyy{z|zz{z{z|{z{zzyyz{{{|{{|zzyz{zy{{z{{{zz{{yzzzzzz{{{{{z{{{zyzz{zzzz|zz{{z{z{{z{zyz{z{{z{{{{zzz{zzz{y||{{|{zzzyzzzy|{zz{{{{z{yyzy{z{{yz{{{zzzyzzyzyz{{zz{{zzyzyyzyyz{yzyzzy{zyzzxzxyzzzzzzzzzzyzxzy{z{{z{|{{zzzyzyyyz{zzz{zzzyzyzzzzz{{xz{yzyyzyzyyyz{{zzz{yyzzyy{xzyzzz{{zy{z{yzyyzyyzzzzzzzyyyyyyzyzzyzyzxyyyyy{zyz{zzyzz{{yzzyyyzz{xzzzzyyyyyzyyyz{zyzzzzzyyyzyzyzzzyzzzyyyyyyyyxyyz{{z{yyz{zyzzyzzzzz{zzzzzzzzyyz{zzz{{y{zyzyzyzzyz{z{zzzzy{yzy{yzzz{zzzyzzzyzzy{{{z{{zzzzzzzyy{zzzzz{zzyxzzxxzzzzz{zzzzyy{{zyz{z{|{{{zyzzz{zzz|zz{zyz{zzyzzzyyz{{{{{{{{zzzzzzy{{zy{z|{zz{zz{zzzzzz{|{{zzzzyzzzz|z|{{|{zzzzz{{yz{{{{z{{{zzzzzz{{{{z{z{{{zzz{{zzzzzz{|{{zzzz{zzy{{{|{{{z{{{zzzzzy{{zz|{{zyzzyyyyz{zzzyyzyxyzyyyyy{{zzzz{zyyyyyyyyyzyzz{{zyzxyyzyyzzy{zzzzzzyyzzyz{{zy{y{yxyyxzzxyzzzyzyzzxyyzxyyxyzzyz{yzzzxyzyzzz{zyzyzzyzyyyxzzzyzzzzzyyzyyzyyzyzzzyzzyxyyyyyyzyyy{z{zzzzyyzyyzzzzzzz{yxzyzyyzyzyzzzyyyyzzyzzyz{zz{z|zyyxyzzxxzz{|z{{{zzyzyyzyzzzzz{zzzy{zzzzyzzzzzyz{yyyyzyzyzz{zzz{yzzzzyyyz{zz{z{zzzyyyzzzyyzzzzzzzzy{zzzzy{{{zzz{zyyyz{{zz{zz{{{{{zyyyzzzzz{z|z|zzzzzzzzzy{{{{zz{{{zyz{yzz{zz{zz{zzzyzzz{zzzz{{{|z{z{zz{yz{{{z{{|zzzzzzzzzz{{{{z{z{zzzz{z{zz{{|{{{|{zzyzzyzzz{y{z{y{zyyzyzzzz{yz|z{{zzyzyzz{{zz{{zzzyyzzyz{zz{z{zyzzyzyyyyyz{zz{zzyzyyzyyyyxzyzz{z{yy{yyzyz{zzzzyzzyzzyzyxyzzzzzyzzyyxxyzxyzz{zzzzzyyyyxyyzzzyzzzzyyyyyxzxyyz{y{yyyyyzyzyzxzyyzzz{yxzyyyxyyy{zzzyyzyyyzzxzyyzz{zzzzyyxxyyyy{zyzzz{zzyyyyyyyzzyy{zzzyyyyyyzxyyzz{{yyyyzzyxzzzz{zzz{yyyyzzzzyzyz{{yzzyzyyxzzyzyzyy{{yy{{zzyzy|zzzyzzzyzyyxzyzyzzzzzyzyzyyyzxzz{zzz{zyzzzyzzz{|{zz{{zzz{zzzyzzzz{|yzzzzyzzzzz{zz{z|{{zyyzzzyy{{zzyz{zzzyzyzzy{{{{z{z|zyzzy{{yz{{{{z{{{zyzyzzyz{zzzzz{zzzzzz{z{z||z{zzzyyyzzyz{{z{z{{{{{z{{{zzzz{{{{{{zzzzzzz{zzzzz{{{{zzz{zyyzzzz{zz{zzyzzyyz{z|{z{z{yyzyyyxyyzzz{yz{zyzyyxyyzzzzz{z{zyyyyzxyyyz{zz{{zyyzyzyzyzzzzzz{yzzyyyzyy{zzyzz{zyzyyyzyyzy{yzyyyyzzyyzxyzzzz{{zzyyyyzyxzzzzyz{zyyxyzyyyzzzzzyzzyyyyyyxyy{zzzzyyzyyzyyzyxzzzzzz{zyyzyyyxyzzzz{{zzzzyzyy{yzyzy{z{yzyzzzxzyzzz{y{{yzyzzyzyzyzyz{zzyyzzyyyyz{{zzz{{zzzyz{yzz{zz{z{zzy{yyyzzzz{zzzzzyzzy{zzzz{zzzzzzyyzzzzzz{{{zz{{zzzzyzz{zyzzzzzz{yzzzzzzz{{{{z||{yzzzyyzzz{z{zz{|yyzzzyzz{|{zz{|{zzzzzzz{{{|{{z{{{{zzzzzyz{{{|{z{zzzzyz{{{{z|yz{z{yyzzzzz{z{zzzz{|zzzzyzzzzzz{{z{zzzyyzyzz{z{{{y{zzxzzzzyzyz{z{z{z{yzzzyzyzz{z{zyyzzyyxzzzzz{yzzzzzyyyyzzzzzzzyz{zzzyyyyzzzzzzz{{zyzyyxyxzzzzzzzzzz{yyyzyzzzzzzzzzyzyzyyyyz{zyzzzzzyzyyxyzzzzyzzzyzyyyzzzzzzzzzzzx{yxyyyyzzyzz{zzzyyyxyyyyzzzz{yzzzzzyzyyzzzzzzz{zyzzyyyyyyzzzzzyzyzzzyyyyzz|y{{zyzyyyzzxy{{zzzz{{yyzyxzzzz{{zz{{zyzzyy{yzz{{zy{{zzyzyyyyyy{zzz{zzyzyyyzyz{y{z{zzzzzyy{yyzz{zy{zzzy{zzzyz{{{zzz{y{zzzzzz{z{{z{{{{zzzzyz{zy{{{z{||{z{{yzyy{{z{z{{{{zzzyzzz{{{{zz{{zzzyzzz{{zz{{|z{{zyz|{yz{|{{||{{{zzzzzz{{zy|{{{zzyzz{{zz{zz{{z{{{zz{zzyzz{zz{{{|zz{zzz{z{zzzz{{{{z{zyzzy{zz{{z{{zzzyzzyyzy{{y|yzzyyxzx{yyzzyyzyz{yyzzxzzzyzzzzzzzzzyyzyzzzzzzzzzzzzyzxyz{z{zzz{zzzyyxyzxzyzzzzz{zyyyyx{xyyyzzz{yzyzyzzyzzz{zyzzyyyzzyzyyzzz{zzzzyzxyyyzzyyz{yzzzyxzzyzyzz{zzzzyzzzzzyzyyzzyyy{{yzzzyzyxxyzzzzzzyyzzzy{yyzyzyyzz{yyzzzyyyyzzzzz{{yyzzzzzz{yzzzzz{zzzzyzzz{zz{z{zzyyyyyzyyz{zz{zz{zz{y{yzzz{z{z{yzzzzzyzzyzzzzzyz{zzz{zyy{zz{zzzz{{zzyzzzy{z{{{|z{zz{zzz{y{{{{{z{|{zyzyzyz{{{zz{{{{yzy{z{z{{{{{|{zzzzzz{zzzz{{{{{{zzz{zzz{{{{z{{|{{z{{yzz{{{{{{{{zzz{zzzzzz|zz{{{|{{zzz{zy{z{z{{z{zzzyy{zyz{{{z{z{{zzzzyz{{{z{{zzzzy{yyzyz{zz{z{zzzyyzzyzyyz{zzz{zyyyzzxzzzzzzz{z|{zyyyyz{zyzzzz{{{yzyzyyyyz{yyzz{zyzyyzyx{{z{zz{{y{zyyz{yyzzy{{zzzz{zzyyzzzzzzzzzzyzyzzzyzyy{zz{zzzzzzyzyz{zzyz{zzyyyyzyzyzy{{zzzzz{yzzyzyzyz{z{zyzyyzyyzyyzzyy{zzzyyyyzyyz{z{{zz{yzyy{y{zzzz{{{zyzzyzyzyyzzz{zzzzzzzyz{y{zzzzzz{{yzzyyyzzzzzzz{zzyzzyyzzz{zzz{zz{zyz{zyzz{{zy{{z{zzzyzyyzz{z{{z{zz{y{z{zz{{z|}{{zzz{z{{z{zyzzz{zzzyzzyyy{{{{|z{{zzz{zz{z{{{{|{{{{z{zyz{z{zz{z{{{{{{yzzz{{{{{{{{{{yzzzzzzz{{zz{{z{yzzyzy{z{{zz|{|{zzzzzz{{{{{{{{{{zyyy{zz{{z{{z{{z{zyyzzyz{{{y{z{zyzy{yyyzz{zzzzyzzzyzzzxz{yyzz{zyyyzyzyzzzzz{zy{zzyyyzzyyzzzzzz{yxyyzzyyzzzyzz{z{zyyzyzzzyyyyz{{zyyzyyzyyzyz{z{zzzyzyyyyzz{zyzzzzyyzxyzzyz{zzzzzyxyxyyyzzzzzzyzzzxyyyyyzyzzzyz{zyyzzxzyyyyyzzzyyzyyyzzyzyzyxzzzzzzzyyzzyy{zzxyzzyzzyzzyyzz{{zzz{zzyyyyyyzzzzzzz{zzzyyyzz{zz{z{zzyzyyzyyyz{{zzz|{zyyyzzyyy{{z{zz{{zzyyyzzyz{{yz{z{{zzzzyzz{{zzzzzzzzyzzy{z{{{z{{{zyzzyz{z{z{{{|{{yzzzzyzz{{{{z{{z{zzz{zzzz{{{{{{{zzzzzz|zz{z{{{z{|z{zyzzy{|z{{{{{zzz{zyz{{{{{{{{{zz{zyzz{zz{{{z|{{zzzyz{{{{z|{{zz{zzzzzzzz{zz{{|{zzxzz{zzz{z{{zzzzzzyzyzzy{{z{zz{yzyyyyyzyzyz{zzzyyzyzyyzzzz{y{zzyzzyzyzyzzzzz{yz{zzyzyyzzyz{zyyyyzyxxzxz{zzyzzzzy{zyzyzyzz{zzzz{zyzyyyyzzzzzyzzzzzyxzyzzyz{zzzyzzzyyyyxzxzzzzzzzzyyyzyyyy{zyyzzz{yyyyzyyx{{{yzzzyyzzzyzxyyyyzzzzzyyzyzzzyz{zzzzzzyzyzyyzzy{{zzz{zzyyyyz{{{zzzzyzzzzyyyzyzz{zzyy{zzzzzyzzzz{zy{zzyzyyzzyyzzyzz{zzzzyzzzzzzzzyzy|{zyzzzzyzz{{{yz{{zzzzzzzyz|{{zz{{y{{zzzzz{zz{{{{{zzzzzyzy{z{z{z{{zzzzzyzz{{{{{{{{zzzzzzy{z|{{{z{{{zzz{zzzz|{z{{{zzz|zz{zyz{z{{{{z{zzzzzzz{z{z{{|{z{z{zzzzzz{|{z{{z{zyz{zzz{zy{{{{z{zyyzyy{|{yz{{yzz{xzyxyzz{zzzzyzzyzyzyyzzzzzyzz{zyyyyyzyz{zzz{zyyyyyzyzzyyzy{zyyyzzyzzyzzzzz{{zzyzyyyyyy{zzyy{zyz{yzz{yzyzyzzzzzzzyxyxyzzzyzzzxyy{yzzyzyyzzy{{zzyyyzyyzzzyyyzzzzyyyyzzyyzzzzzzyyzzyzyyz{yy{zzyzzxzyyyzyyzzyyzx{{zyyyzzzyzz{y|{{yzzzzzyyzz{zz{{{{zzzzyyzzzy{yz{zzzzyzyyzzz{zzz{zzzzzzz{{y{zzzzzzzzyy{zzyzzzz{|{z{yzzzzzzzz{z{zzzzyzzzyyzz{zyyz{zzzzzzzyz{zzz|z{{zz{zzyzz{zz{z{{{zyy{zzzzzz{z{z{z{zzyzz{zz{{y{{{{zzz{zzz{{z{{|z{z{zyzz{yy{{{{|z{{|z{{{zz{z{{z{{{{{zzzzyyzzzz{zz{|z{{yzzzzz{z{z{{z{zyzzzzzz{{zzz{|{|{zzyyzzz{zzzzzzzyzxyzy{{zzyzzzyyzyyzyyyyyzyz{yyzyyzyxyyy{yzzzzzzyyzyyyzzyzzzzzzyz{yyzyyzyz{yz{zyyyxyyy{z{yzzzzzzzyxyyzy{yyyzzzyz{yyxzyzy{zyzzzyyxxyyyzzzz{{zyyyyyyzyyyyyyzyyzzyyyyyyyyyzzyzzzzyyyzzzzxz{zzzzzzzyyy{yyyyzyyzyzzzzzzzyzyz{yyz{z{zyyzzyyzyzzzzz{zyyzyzyzzzzzyz{zzzzzyyyzy{{yz{|z{zyzzy{zzzzzzzzzzzyzzzzzyzy{zz{{zzyzyyyyyzyzyzz{{yzzzyyyzz{zzzzzzz{zzzzzzz{{{zzz{yz{zzzzzz{z{zzz|{zyzyzzyz{z{{z{y{yyzzzzz{{{|zz{{zzyzzzz{zz{{{{|z{zzzyzzzzzzz{{z{|y{zzyz{y{z{zz{{zzzz{zyzzz{z{{{|yzzyyyzyzz{{z{{{{zyyzyzzz{{{{{z{zzzyyyzyz{{{zy{zz{zzzzzyyz{z{z{yzzyyzyyxzyzzzzyzyyyzyyxy{zzzzzz{yzyxyxyyyzzzz{{{yxzxyyyyyy{zzzzzzy{xyyyyyyxzzzzyzyyyyyyxyzzzzzzy{zyxxyxyzy{yyzyyyxzyxyxzyzzzyzzzyyyyxyzyz{yzzzz{zyzzxyyyzyyzzyzzzzzzzyzyzzzzzzzzyzyzyyyzyyyy{zzyyzyyyyyyyzzyyz{zyyzxyzzyyyzzzyzzzyxyyyyxzyyyzzzzyzzyyyzzz{zyy{{zzyzy{zyxzyzz{{y{zzzzyzzzxzz{{{zzzzzyyxyzzyzzzy{yzzyyzyzzzzzzz|zz{zzyzzzzyz|{{{z{z{zy{zzzz{zz{{{{zzzzyyz{z{zzzzz{{zz{z{zz{{{zzz{{zzzyz{zzzzzzz{{zzz{zzzzy{{z{y{{z{zzzzzzzz{{{{{{z{yzyzyyzzzzzz{z{{zzy{zzyzz{{z{{|zzzzyyzzzzz{{{{{zzyzyzzxzzzzz{{zzzzyzyzyzzzzzzyzzxxyyyyxyyxzyyzzzyyyyxyyxyzzyy{{yzyyzzyy{yyzzzz{zyxyzyxx{{zzzzz{{yyyxzyyzyzzzzzyyxyxyzyxyz{yyyyy{yyyyyyy{zzyyyy{zyyyyyyyyzyyyyyzyyxyzyxyyyzyyyzzzyzyyxyzzyzyzz{yzyyzxyyyyzzyyz{zyzxzyyxxyzyyzyyxzyxyzyyyzzzzyz{zzyzyyzyyzzzzzzyzzyyyxyzy{zyyzzzzzy{xyxyzyyzzz{zzzyyzxyyyyz{{z|zyzzyyzyyyyzzyy{{yzyzyyzxz{zzzzzzzzyxyzyyyy{{zzzzzyyyzzyyzz{zzzz{zyzyyyyyy|z{{zz{zyyzyzzxzzzz{zz|zzyyzyyyzzzzy{{z{yzzzzzzzzz{z{zz{zyyyyzyy{{{{zz{zzyyzzxzzzz{z{zzzzzyzzzyz{{zz{z{{zzzyzzzz{zyzy{{{zzzzyyzzyzzz{{z{zzzzyzzyzzyyzyzzzyzzzyzyzyyyzzyzzyyyzyzyyzzyzzz{yyzyyxyyzzzzzzz{zyyxyxyyzzzzzzzzzyyyyyyzz{zzyzzzyyzyxyyy{yzyz{zyzyzyyzyyzz{z{{zyzyyyyyxyyzzyzzzyyyyzyyyzzyzzy{zzyyyyzxzyzyzyzzyzyyzyyxxyyy{zzzzzzzzyyzzyy{z{zz{{yyzyxyyyyyy{{zzzzzyxxyyyyzzyzz{{zyyzzyyxyyyzzzzzzyyyyyzyyzzzyy{{yyzzzy{zzyyyy|z{zzzzyxzy{{zz{z{{yyzzzyyyyz{z|zyzyyzyyyyzz{{zyzzzzyzzyyzzyzzyzz{{{{yyzz{y{zzz{{{zy{zz{yzzzzz{z{{|zyzzzyxyzz{{zz{zzzzzzyzyz{{{z{{zy{zyzzzzzzy{z{z|{zz{zzy{z|{{z|{|zzzzzyzy{z{{{zzz{zzyzzzzzzzz{{|{zzzz{yz{z{{{{z{{zzyzyzyzzzy{zz{{zzy{zzzzzzz{zz{z{zzyzyzxzy{zzzzzzyyyyyzyz{yy{{z{zyyzyyyzzyzzzzz{zzzzyyzyzzyzzz{zzzzzyyyyyzzyzz{zzyyyyyyyyy{z{zy{zyxyzzyyzzzzzzzzzyyz{{yyzyzzyzzzyyzzyyyzzzy{{zzyyzyyyyzyzyzzzzzyyyzyxzyyyzzy{zz|zyzyyy{yzzyzzzzzzzzzyyyyyz{zyz{zyyzyzyzyyzzzz{z{zyyyyyyyzzz{z{{{{yzyzyzzyzzzz{|zzzz{zyzzzzz{z{zzyzzyyzzyz{{z{{{zzz{zzxzzz{zzzz{zzyzyzxzz{zzz{{zz{zzzyyzz{{{{zz{zzzzz|zyy{{{{zz{{zzzz{z{zz|{{{{{|zzz{yzzyzz{|{zz{{zzz{zzz{{{z{{{|{{{{zz{{{{z{z{z{zzz{z{{zz|{{z{|{zzz{zyy{zz|{z{{{{yzzzzy{z{zz|z{{{{yzzzz{{z|{{{{{z{zyzzzzyzz|{|{{{zzzzzz{z|{yz{{yzzyzyyyyz{{z{|zyyxzyyxyyyz{yz{{zyyxzxxyzzzyzz{{{yyyxyzzxz{z{zz{zzzyyyyyyzzyzyy{zyyzxzyyyyzy{yyx{yyzyyyzxyzyyyyzz{yyyxzyxyyzyzyzyzzyyxyyyyzzzzz{yzxyyyyyxyy{zzzyzzyyzyyyyyyzzzyzzzyyyxyyyz{zzzyz{zyyyyzywyzzyzz{{yyyxyyyxy{zzzzy{zyzzyyzyy{zzzzzzzyyyzyyzy{zzyzz{yzyzy{yxzzzzzzz{yyyyyyyzzz{yz{{{zyyyyzzzy{y{zzzzzyyzyyyzyz{yyzzzzzzzzzxzy{zyz{zz{zz{yzzzz{zz{{z{yzzzzzzz{y{|{z{|{yzzz{yxzz{{zz{{zzyyzyzzz{{zzz{{zz{zyzzz{{z{{z{z{yyyzzyzz{|{{{z{zzz{zzzz{z{{{{{z{zzz|yzzzz{z{{z|{zzzzzz{{{{{||{{y{zyyzyzz{{zz{{{{{zzxzyzz{zzzzzzzyzyyyyyzyzzzzyzyzyyzzxxzzzzzy{yyzyyyzyyzzzzz{zzyyzzyyzyzzyz{z{zyyyzyyyyzzzzzzzzzyyyyyzyyyz{yzz{zzyzxyyxy{yyzyzyyzyxxyyyzzyyyyzyyyxyyyyzzzzyzzzzzxyyyyzyzzzy{z{zzzzxyyxyyyzz{y{zxzyyyyyxyzzzyzzyzzzzzyyyzxzyyzy{zyxyyyyyyzzzy{z{zyzzyzyzzzz{yzzzzyyxyyyyyzzz{zzzzzzyzyyzzzz{yzzzzzzzyxyzz{zy{z{zyzzzyxyyz{{zzzzzzzzzyzyzzzzzyz{{z{xyzyzy{{zyzzzz{yzyzzzzzzzyzz{{yyzyyzzyz{z{zz{{zzzyzyyzz{{{{z{z{zy{zyzz{{zzzz{|zyzzy{z{{{zz{{|{|yzzyz{zz|{{{z{|{yzzzzzy{z{{z{{{zyyzzzzzz{{|{{{{zzz{{{z{zz{zz{{{yz{yyzzz|z{|{z{{zzyzyzyyz{zzzzz{zzyzyyzyyz{zzzzzzyyyyxyzzyzzzzzzzyyzyzyyyzzxz{z{zyyyyzyyzyyzz{{z{yyyyyz{zz{zy{zz{yyyyx{yzz{{zzyzyzyyyyzx{zzxzyzyzyyyxyyxzzzzzz{yzzxzzyxyzz{zzzzzyyyyyyxyzzzzy{{yzzyyxyyzzz{{zzzzyzyzyyyyy{zzyz{zzyyzyxyzyzzzzzz{yyyzyyyyyzzzzzzyyyzyyzzxzzzyzz{zzzzzzzzzzzzzzzzzzzzyzyzzzzzzz{zzzzzyzzyy{{zzzzzzzzzzzzzyyzzzz{zzyzzzyzyyzzzzzz|z{yzzy{zzzzzyy{z{z{zz{yyzyz{{{zz{{z{zzzzzzz{|y{{{zzz{zyyyz{z{{|{z{zzzzzyz{{zz{{|{{z{{zz{{zz{z{{|{{zzzzzzyz{z{z{{{zzzzyzzyz|zz{{zz{zyz{zy{z{z{{z{|{z{yzzzzzzz{{{{}zyzzy{zyzz{zz{zzz{zzzyzyzzz{{z{zzyzzzzzzz{zzzyzyzyxyyxzxxzzyyyz{yyyyyzzyz{yzzzz{yyyyyyyyzzyzz{z{yyyyyyyzzzzzzzzzyyzxzyxyyyzzz{z{yzxyyyyyyzzyzzzzzyyyyyyyyyzyyzzyyyzyyyzyzyzzzzzzxyyzzyyzxzyzyzzzyyzxyyyzz{yzzzzzzzzzxyyzyzzzzyzzyxxyyyyyyyzyyzyzzyyzyyzyyzzzzzzzzy{yzyyyzzzzzz{z{zyy{yzyz{{zy{z{zyzyyzzy{{{zyz{zyzzzzzyzz{zz{{zyzyyyyyyyyz{yz{zzzyzyzyyzz{{yz{|zzyyzzyzz{z{yzzzzzzzzzzzyzzz{z{{{zzz{yzzy{zzzzz{{zzxzzyzy{{zz{z|z{yyzzz{z{zz{{{{{zz{yzz{zzz{z{|{z{yzzzzzzz|y{zz|{zzzyzyyzzz{{{{{z{zzzyyzz{{z{{|{{{{zzzzz{{{y{zz{|{zzyzyzyy{{z{z{z{z{zyyzzzzz{zzzyzzyyyyzyz|zz{zzyyyyyzxxyzz{yyyzzyyyyzzzzzzyzz{z{yzyyyyyy{zzzzyzyzxyyyyzzzzzzzz{zyzzyzxzyy{zzyzzzyyyyzy{y{zzyyyzzyzzyzyzyyyzzyzzzyyyyyzyxyyy{{zzzxzyzyyyyyzzzzzzyzxyyyyyyyyzzzzzzzyzyyyyyzzyyyy{zzxyzyzzyyzzyyyy{zyyzzyxyxzzzz{z{zxzxyyyyyzzzzz{zyyxyyyyyzzzzzz{{yyyyyyzyyzzyz{z{zzzyyy{zz{z{zz{y{yyzyzyzz{z{y{zzzyzzyyyyzzzz{z{yzyzz{yyzy{{zyzz{yzzzyzzzyz{{{zzzyzzyyy{z{zz{z{z{zzzzzyyy{yz{z{z{zyzzyyyzz{z{{{|zzz{zzyzzz{z{{|z{zyzzyzzzz|{zz{|zzyzz{zz{{y{y{{z{{zzz{zyzz{{{{{{{z{zyzzzz{z{{z{{{{zyzzy{{{{zyz{{{{y{zzzzzzzz{zzzzz{yzzyyyzz{z{zz{zzyyyyyzyzzzzyzyzzzyzyyzzzzz{zzzzyyyyyyyzzz{zyz{zyyzzxyyyzzzzzzzyzzzyyyyyzyyyzzzyyyyyyyyzyy{zzzzyzyyzxyzy{zzzyzyyyyxyzyyzzzzyzzzzyyyzzzzzyy{zz{zyzyyyyyyyzzyzzzzzyzyyyyyyzzzz{zzzyzyyxyzyyyyyyzzzzyyyyzyy{zxyzz{yyyzyyyxzzyzyyzzzyzyzxyzzyzzz{z{z{zyyyyzz{zz{zzzzyyxzyyzzz{zzzzzyyzzyyzyzz{zzz{z{xzzyyzy{z{zzz{zyzzzzzzz{{{z{zzzzzyyz{yyzz{{{{{{{yzyzyzzz{z|z{z{zz{zzyzy{{z{z{{{zxzzzzzz{{{zz{|zzzzzzzzzzz{z{{{{{y{zz{zy{|{z|{{|z{z{zzzz{{z|{|z{yzxzzzz{z{|{{z{{{{yz{zyz{zz{z{{||zzzyzyzzzzz{{{{z{xyyzyyzz{zyz{zzy{x{zzxzzzzzzzzyyyyzyyyzzy{zzzzyyyyyyyyzzzyzzzzzzyyzzyyzzyyzzz{zyyzyyyyzzyy{y{zzzyzxyzyyzzyzz{yzyyyyyzyzyzzzzzyyxzyyyyyyzzyxzz{yyzzyyyyzyyzzzz{yzyyzy{xzzyzyyzyyyzyxzzyzyyz{zzyzxyyyyyzzzzzyz{zyyzyzxyzyzzyzzz{yyyyzyyyzyyzz{zzzyzyyzyxyzzzyy{zyzyyzyzzy{zzzzz{yzzyyzyyzzzyy{zzzzzyyxzzzz{zzy{{zzyzzyyzz{yzzzzzzyyyzyzyz{zzzz{zzzzzyyzzzzzzz{zz{zyyzzyzzz{|z{{{zzzzyzzzzz{{{z{{zz{zzzzyz{{z{z{{zxyyzzzz{{{{zz{|zzzzzzz{y{{z{{zzz{zzyzzzz}{zz{{{zyzz{zz{zz{{{yz{{zy{yz{zzzz{z{{{{yzzz{zz{|{z{{{{zzzzzzzz{{z{z{{{z{zzyzyyyzz{z{{yzy{yyzzzy{{yzzyzyyyxyyyxyzzz{y{zzxyyyyzyyzy{zz{zzyzyzyzzyyyyyzzzzy{xzyzyyyy{zzzzzyzyyyyy{{zyyzy{yyzzyyyzzzzyyzyzyyyxyyyyyzzzzzzzyyyyzxyzzyzyyy{zyzzyzyxy{yzyzz{zyyzyyyyzyyzzzyzzzyzzyyyxzz{xzyzzyzzyyyyyy{zyyzyzyyxzyyxyzzzzz{zzzzyyyyyxzzzzzzzzzyyyzxzyzzy{z{yzzyzyyyyzyyzzzzzzzzzyyzyzy{yyzz{zyzzzyxzzyy{zy{{zzzyyyyzyy{zzzzzzzyzz{zyzzz{yz{{{yzy{zzyyzzz{{{z{zzzzzy{z{zzz{z{{zzzyyzyzy{{{z|zzzzyz{yzy{{|zzz{{zzy{zzzz{{{z{|{{zxzzz{zzz|{{z{z{zzz{yyyzzzzzy{zzzyzzzzz{zz{{{{|{{yyzzzyzzzz{|{z{zzzz{zzzzzzzzz{{yzzzzzzzzz|{z{|zzzyyyyyxz{zyzzzzyzyyyyzyx{{yz{{zyyyzyyyzzzzzzz{{zyyyyyyyzzzzzy{zzyyyzyyzyzzzyzzzzzyyyyzyzzyy{zzzzyyyyzyyzzyyy{zzyyyyyzyyy{zzxzzzyyyyyzyyzzzzyzzzzzzyyxzyyzzyzzzyyzyyyyyyxzzzzyz{zyzyyzzyzzyzzzzzyyzyyzyxyzyzzzyyzzyzyxzzyyzyzz{zyyyxzzyz{z{zzyzzyyxzzyyyz{yzzyzz{yyyyzyyzzzzz{{zyyzyyxzyzzzyzy|zzzzzzzzzyzzz{{z{zyzzyzyyz{z{z{{{yzzyyyyzzz{zz{zzzyzyyzyzz{z{{{zzz{zyyz{zz{z{zzz{zyzyz{zz{{{zz{{{zzzz{{zy{zzz|{z{zzzzzz{z{{{zz{{z{zzzz{zz{|{{|{{zzzzz{{yz{{{{z{|zzzzz{zzz{{z{zz{z{zyzzzz{{zz{|{|{zzzzzyzzzzzz{{{{{yzzzzzyzzy|z{zyzzzzzyzzzz{z{zzyzyyzyyzyyz{zzy{{zyyyxyzyzzyzzz{{zyyyyzyyzzzy{zz{yyyzyzzzzzzzzz{zyyzyyyyyyyyyyzz{zyzyyyzxzz{yy{zzyzzxzzzzy{zzzzzzzyyxzzyxyyyzyzzzzyyyyyxyyyzyzzzzyzyzyyyyyyzzzy{zzzzyyzyzyyzz{{zzzzzzyyyxyzyzyzzzzzzzzzyyzzyyzz{zyxyzy{yy{zzzzz|{zyyyzyxxzzzzy{{|zz{zzzzy{zzzzzzzyyy{yyzzz{{zz{{z{zzyyyzz{{zz{yyzz{{zzzyz{{z{zzzzzzz{zyyyz{{z{{{zzzzy{yz{zz{z{{z{zz{{zzy{z{y{{{{|zzz{zzyyzzz{{z{z{zyz|zyy{{|{{{|zzzzyzzzzzzz{z{{{{zzyzzzzz|{{|{{|{z{zzzzy{zzz{zz|zzzzzz{yz{{zzz{{{z{{zzz{{z{|{{{{{zzyzzzzz{z{z{zz{z{yzzyzzz{{zz{y{{zxyxzyz{z{zzxyyyyyyzzyyzzzyyz{zyzzyyyzyzz{{zzzzzyzzyyyzzzyyzzzyyzyyzyzy{zyzy{yzyyyyyzyzzzzyz{{zyzyyyzxyy{zzzzzzzzzyxxyzzzzzzzzzzyxyyyzzyyzzzyzxyyyyyyyzzzzzyz{yzzyyyzyyyzyzzz{yzzyyzyyyzzzyz{zzyzzyyzyyzzzyzyyyyyyyxzyyzyzz{{zyyyzzyyyzzzyzz{{yxyyyzzyy{zz{zz{{yzyzyzy{zz{zzzzzzzzyzyzzz{z{z{z{yyyyzyyzy{yz{zzyy{{zzyz{{{zzzzzzyz{yzyyy{{{y{zz{{zzyzyzz{{zz{{{yzzzzz{y{{{{z{{|yzzyyyzzz{{|{z|{{zzz{y{zz{{{{|{|zzzyyz{zz{|yzz{|z{z{z{{zz{|{z{{{{zzz{zy{z{z{{zzy{yzy{{zz{{z{{z{z{zzzz{zzz{{z{zz{y{yyyyzzz{{{y{|z{zzyzzzyz{z{{{{zzyzzzzzzyyzzz{yzyyyxzyyxy{yyzzzzyyyzyyyyzyz{zz{zzzzzyzzyzz{{{z{{zzzzzyyzzzzzz{z{zzzyzyzyzyzz{zzzyyyyyyzzy{zzzzzyzyyyyyzzzyyzz{{zzyzyyzyyyyyzzzyzyyyyyyxzzzzy{{zzyyzzxyyyyz{zy{zzyzzyyyxyyzzzzzz{zyzzzyyzxzzzy{zzz{yzyyyzyzzzyzyzzyyzzzzxyz{|zzzzzzyzzyyyzzzzzzz{zyzzyxzz{zzyzzz|yxyyyzyzzzz{{z{zzzzzyyzzzz{z{{{{{yzzyy{y{zzzz{{{yzyyyyzzzzzzzz{{zzzyzzy{{{z{z{{zzzzz|zy{z{{{{zz{zzz{zz{z{||{{{|z{zyzzzy{z{z{{|{{{{zzzz{zz|{{{|z{|{zzzyzyz{{{{{{{{zz{{z{z{z{{{|{{zyz{zyzz{{z{{{{{{zzzyzzz{{z{{z{zzzzzzyzzz{{zzz{{{zyzyy{yz{{yzzz{zy{zzyyyzyzz{zzz{zxyzyyyzzzzzzz{yyzzzyyyyyzzzzzzzyyyzyyyyyzzz{z{zyyzzyyzzzzzz{{{z{zyyzyyyzzyz{zzzzzyyzyzy{zyzz{zzzzyzyyyzz{zzzzzyyyyyzyyzyzzzyzzzyyzyyzzzzyyyz{zzxyyyyyyzzyz{yzzyxzyyzyzzz{yzz{zyyyzzyzyyzzzzzz{zyyxzzxyxzzzz{z{yzzyx{xyzzzzzz{z{yzzzzzzzzz{zzz{{yxzxyzzyx{z{zz{yzzzyyzyyzzzzzzyyzzyzxyyyy{z{{{zyzyzzyzyzz{zz{z{zyzzzy{zzyzzzzz{zyzyyzxzzzzz{zz{zzyyyxzzzzz{z{{|zyzyzzzy{{{{{zz{{yzzzy{z{{{{{z{zzyzzz{zzzzzz{{{{{yzzzzz{z||{{{{{zz{{zzzzz{{{z{{{|yzzz{zz{zz{z{{{{zyzzzz{{{z{|{|{zyzzzyyzz{zz{z{{zzyzyyzy{{{|zz{|zyzyyzyzzz{z{zyzyyyyyyyyxy{yyzzzzyzyyyyyyzz{z{{zzyyxyxyyzzzz{y{{zyyyzyzyzz{yzzzzzyyyyzzyyzzzyzyzzzyxyyyxyzzzyzzyyyzyzyyyzzzzzyyz{zxyyyyyzyzyyy{zzyyxyyzyzzyyzyzzyyxyyyxyzzzzzy{zyyzyyxxzyzzzzz{zzyzzzxyzxyyyzzyzzyyyxyyxyzzyyzzzyyyyzyzz{zzyyy{{yyyyzzzyzzzyzzzzyzzyzxyzzyzyy|zzzyyyyyxzyzzzzz{{zzzyzyzyyz{zz{z{zyzzyxxzzz{zyyzz{yzyzyzzyzzzzzzzyzz{z{yzzz{{{zz{zzyzzyzz{{yz{{{{zy{zyzzy{zz{zz{z{yzzzz{y{zzzz{zz{zzyyzzyz{zz{z{z{{zzz{{zz{{{{{z|{y{{yxzyz|z{zz{z{zzzzzzzyz{y|{{{zz{yzzz{{{{{zzzzzzzyyz{{z{z{z{{z{zzzzyyyz{zz{{{|yzzyzxyyzzzz|zzzzyyxyyyyzyzyzzzzzzyyyyyxyyzyzzzzyzzyyyyyzyzz{{zzzzzzzyyyzz{zzy{zzyxzyxxyyz{zy{zzzyyxzzyxyzyyzzzyzyyyyyyyyyzzyyzzyzzyyxyyzzyzzz{yzyyyyzzyzyyzzy{zzyyyyyyyyzzyzyyzyyzzyyyyyzzzyzzzyyzyyyyxyyzyzyzzyyzyzxyyyzyzzzy{yzyzyyyyzyzyzz{zyzzyyyyyzyyzyzzzyzzzyyyzzz{z{yz{zzyzyzyzyzz{zzzyzzz{zyxzy{zz{yy{zyyyyzxyyzzzzz{yzyyzzzyyz{zzzzz|zzzzzyyzy|{{z{zzyzzzyzzyzzz{z{{{zyyzzxyyyz{{{zzz{zyyzy{y{{{{zz{|zzzyxz{zz{{zz{{z{zzzzzz{z{{z{{{zyzzyyzzy{{{zyzzzzyy{zzy{{yz{{{{{z{zy{zzzz{yz{{z{z{zyzzzzz{{zz{|zzzyzyyyzyzz{z{{{yyzyzyzyzzzz{{yyyzxyyyyyyzzyzyzzyyzyxyzyzyyzyzzzyzyyyyyyzyyzzzzzzzzzyzzzzyzzzyzzyyzyyyyxzzzzzyy{{zzyyyyyyzzyyzyzzzyyzzyzzzzyyyxzyyzyxzyyzyyz{zyyyyyyyyyyzyzzyyzyzyxxyzyyyzzyzzzzzyyyxyyzyzzyyx{zxyzyyxyyyyzxyyzzyyyyyyxyyzyyyz{{zyxyyzyyzzz{zz{zzyyyzyyzzzzyzz{{yyyzzyyyzzy{zz{zz{yyyyyzzzzzy{zzzzyzyyz{y{yzz{{z{zyzzyyzzy{zzz{zzzyzyzzyz{{yz{yyxxzyzzzzzz{{zzzzzzyz{z{zzz{{{{{{zyzyyxyyzz{zz{{z{yzzyzxz{{{z{{{{zy{zzzzyz{zz{{zzzz{zz{zyzz{|zz{{{zzzzzxz{{yz{z{zzyzzzzzzy{zzzzz{zzyzzyzzz{|{yz{{zzzzzzyyzy{zzz|zzyyz{zzzz{zz{{z{zzzyyzyzyz{zzyzzyyxyzzyzyzzyz{zzyzyzyyxxyzzyzy{{yyzzxyxyzyyzyz{zzyzyyyyyzzzzzzzzzyzyyyyyzyzzyyzzzyzxyyxyyzzyzz{zyyyyyyyyyyzzzyzyyzyyxyxzzyyzyyzzyzzyzxyxyzyzzzzzzyyyyyyyzyzzyy{zyzyyyzyyzz{zzz{{yyyyyzyxyzzyzz{zyzyzxyxxzzzzy{zyyyzyyyyyzzzyyzz{yyyyyxyyyzz{zz{zzyyzxyzyzzzzyz{zyyyzzyzzyyzzzy{zyzyzywz{y{zzzzzzzzzzyyzzzy{zz{{y{zyyzyyzzzz{yyz{zyzzzzzzzzz{zz{zyz{zzyy{{zzz{|zz{yzzzzzyy{z{{zzzzzzz{yyyz{z{{z{zyyz{yzy{z{z{zzz{{z{zzzy{z|{{{y|{z{zzyzyz{z{zy{z|yyzzzyz{zzzy{{{zzzy{z{zzzz{{zz{zzzzzzzz{{zzz{{{z{zyzyzyyyzz{zy{z{yyzyyzyzzzzzzyyzzyyxyyyzzzyyzz{zzyyzyyyz{{{z{z{{zzx{yyzzyyzy{{zzzyyzxyxzzz{yzzzzyzyxzyyyzz{y{zzzyyyyyzyyzyx{yzyzyzyzzyyzzyzyzzyzyzyzzxxzxzyz{zzyyyzyxyyyyzzyz{{xyyyyyyyz{zzz{zyzzzzyyyyyzzzzzy{zyyzyzzyyzyzzz{yzzxyyyyyyzy{yzzzyxyyzyyy{zzzyzzyzyzyzyyyz{zzyyy{zyyyzyyzzzzzxzzzzyzxzyyzyzz{zzzzzyzzxyzzz{zzz{y{zzzyyyyyz{z{zz{{zyzzzy{y{{zzz{{{{zyzzyz{{{zzz{z{zzzzzzzzz{{{{{{|zzzzyyyz{{{z|z{z{zzz{yyz{{z{{{{z{zzz{{zz{|zz{{y{zyz{zzzzzzy|{{{{zz{zyyzz{{{{{{z{{yyyyyy{z{{{z{{zz{z{zzyzz{{{{zz{zzzzzzzzzzzzz{{{{yzzzyyzzzzzzz{{zzzyzyzzy{zyz{yzzyxzzyyyyz{yyzz{yyyzyyyxyzzz{{z{y{xxzzyyzzzzyy{zzyzyzyyyyyy{zzz|zzxxyyyxyzzzzzzzyxyzzyyyyzzyzz{yzyzyyyzz{z{zyzz{yzyyyyzzyyzxyzyzxyxyyzyxyzyzzz{zzyxyxyyyzzyzzzzzzyyyxyyy{zzzzzyy{zyyzyyyyyyyzzzzyyzyzyyyyzzzzz{{zzzyyzyyy{yzyzzzyyyyyyyzyzzzyzy{yyyyzyyyzzz{zz{zyyyyzyzzz{{zz{zzzyyxzyzyzzz{z{{{zyzzyyyyz{zz{y{zzzzyyzyzyzzzzzz{zzzzzyyzz{z{{{zzzzyzzz{z{{{zz{{{zyzzzzyzz{zzz{{z{zzy{zzz{{{zz||{{zzzz{{{z{z{{{{zzzz{yzz{{{|{{{{zzz{zzzzyz{{z{{{{zzzzzyzzyy{y{z{|{zzzzzzyzzz{z{z|zyzz{zzzyz|zzzz{{yyzzzyzyzzz{{{{zzzyzx{yzz{zyzzzzyzzyzzyzzzzzzzzzyyyyzyyzy{z{{{{{yzx{yzyy{zy{zzz{zyzxzyyy{zzzzzzzzzyyzzx{{{{zzy{zyyyyzzzyzzyyzzzzzyyyyyzzzzyz{zzyzyzyzyzzz{{zz{zyzyyyyyyyzzzy{zzzxzzyyxyzzzzyyzzzyxyyxyyzzz{zzz{zyzzyyxzzzzyyzzz{yxyyzyzzzzzz{{{yzzzyzyyz{z{{{yzzzzzzyyzzzzy{{{zzzzzyyyzzzzz{z{zzyzzyzzzzzzzzz{{yzzyzz{zz{zz{{zzzzzzyyzyz{zz{z{zzzz{yzzyzz{yzzzz{zyz{yzzz{z{|{{zzyzzyzzzz{z{{z{{zzz{zzzyz{{{{{{y{zzzzz{zz{{{z{{{{y{yz{zz{{z{{|{{z{z{zzzz{{{|z{z{yzzzyzzy{{|{{{{{{zzzzzz{{{{zz{{|z{zzzzzz{{|{z{{|zzyzzzzzz{z{{zzz{zy{{z{z{{{z{{zzzzzxyzzxzzzzz{zyyzyxzzxyyyz{yzyzzyzzyyyzyzzzyzz{zxyyzzyzzzzzy{z{zyyzyzyzyzzz{zzzzyyyxyyyzzzzzzz{yzyyyyyxy{zyyz{zzyyyyyyzzz{zyzzyzxyyyzxyyy{yz{yzyyxzyyyzxzyyzzzyzxyyyyyyzzzyzz{zyzyxyyxyyyz{yzzzzyyyyyxyzzzyyzy{yzxyyyzyyzyzyzzzyyyyyyyxzyzzzz{zyyyyyyyyz{zyzzyzyyzyyz{xzzyzyzzzyy{zyxyyzzzzzzzzzyyyzzyyy{z|{{zzyyzyzyzzzzzz{z|zyzyzzzyy{zzzz{zzzzzzyzzzzzz{{z{zzyzyzyzz{zz{{{{zzzzzxzzyz{{zzz{zzyzyzyyyz{zz{{{zzzyyz{yz{zz{z{{|z{zyzzzzy{z{zzz{{yzzzyyz{{{zzz{zzzzzz{y{{z{{{{z{{zzzz{zz{{z{z{|{zzzzz{zy{z{{z{|z{zzzzyyzz{z{{{{zzyyzzxzzzz{zzzz{yyyyyxyyxzy{yzz{zyyzyyyyzyy{z{z{zyyzzzyyzzy{yzzzzyzzyyy{yzzzy{y{zyyzxxyyyzzzzyz{yyyxxzzxyzzzz{yzyyzyyyxzyy{zz{{{yyzxxyyyzzzzyzzzyxyzyyyyzyzzzyyyyyyzyzyyyy{y{zzzyzyyyyyyxzyzzzzzyzyyzyyyzyzzzzz{zzzyzzyzzzy{{{z{yyzxyyzzyyzzzz{{zzyyzy{zzzzzzzz{zzzzyyyyzyzzy{z|yyzyyyyzzy{zzzzzyzzz{yy{z{zz{{{zzyzzy{yzz{zzzz{zzzyzyyyyzz{zzyzzzyzzzyzz{{zzz{{{y{yyyzzz{{{{{zz{zzx{zzzzz{zz{zzzzz{z{zzz{{zz{{{{zzyzzz{{z{zz{{{{zyzzzzzzz|{{z{|{z{zyzzx{zzz{{{{{{zz{zyyz{{{z{||z{z{{zzz{{zzz{{{{z{y{zzzyzzzz{{|{zzzxyzzyz{zz{{z{{{zzyyyyzyz{zzz{zyzzyyyyzzzzzzy{zzzyyyzxz{{zzz{zzyyzzzyyz{zzz{{{yyyyyyzzzzzzzzzzzy{yyyyyzzyzzzzzyzzzzyyyzzyyyy{zzyyyzyyzzz{y{zzzxyzzyyyyzzyzzzyzxz{yyyzzy{{yyzzyzyyyyzyxzzzyyz{{zzyzyyyzzzzyzzzzyzyyzyzyyyzy{{{yzzzyyyyzzzzzzzzzzzzzyyyyzzzzzzzzzzzyzyzyyz{yz{{zzzzzyyzz{yz{z{{{yzyyzzzz{zzz{z{zzyzzzzzzz{zzzzzz{yzz{zzzz{{zzz{zzzzz{zy{z{zzzz{zyzzzzzzzz{z{{{{{zzyz{zzyy{zz{{{zyy{{z{zzz{{{{z{{{z{zzzzz|z{|{{{|{{{yzyz{z{z{{|z{zzzz{zz{z|{||{zz{z{z{yyzzz{{z{zz{zzyyyyzzz{{{z{{{{z{zzzz{{{zz|{z{{zzz{zzzzz{{yz{zz{zzzyzz{zzz{z{z{zyzyy{zzzz{yzzzxyyzyyyzz{zzyyzxzyyyyyxzzzyz{{{{{zxyzyyzyzzzz{{zzzzyyzyyy{{yzz{zzyxyzyxyzzzyzzzyyyzzyzyyy{zzzy{zyzyyyyyyy{yyzzzyyyyyzyyyyzzyzzyyzzzyyyzzzyzz{{{zyzxyyyzyz{zzyzzzzyyxzyyzzyyzyzzzzyyyzyyyzzyzzzyzzyyyxyyzzzzy|zzyyzzyyzyzzzz{yzzzzzyzyzyy{zzzz{z{yzyyy{y{zzzzyz{yzzzyyxyzzzz{{z{zyyyzyzyxzyzy{{yzyyzyyyzzz{y{zzz{zyzzyzzzzzz{|zz{{zzzxyyzzzzz{{{zzzyzzzy{zz{zz{{zzz{yyyz{{z{{{z{{zzzzyzz{{zz{{{zy{zyz{zzz{zz{{|{{zzzzzzz{{z|{{zzz{zzzyzzz{zz{{z{{zzyy{zy|zz{zz{{zzzzzz{z{{{}z{z{zzzzyzyzz{{{{{{{{zzy{yzzz{z{z{{{zz{yzyzy{yzyzyyyzyyyxyzyzzyzzyyyyzyzzyyyyzyzzzzzyzyxyyzzzzzyzz{zyyzyyyyyzzzyyyzyzzyxxyyxyyyzyz{zzxyxyyyxyzzyyzzzzyyyyyyzzyzyyzzzyyyyxzyxyzyyyz{zyyyyyyyyxzzzyz{zyxyyyzxzyyzyzzzyzzyyyyyxyzz{zyzzyxxyyyyxyyyyzzzyzzxxzxyyyyzzyzz{zyzzyxzyzyyyyzzzyyyyzxzyyzzzzzy{yyyzyxyzzzzyz{zzzyzzyzxyzzzzy{z{yzyzxxyyzz{{y{z{zyzzxzyxyzzyzz{{zyzzyzyyzzzzzzz{zyzyyyyzzzz{{{{{yzzzyzyzz{zzzz{{yzz{zyyyzzzz{zzzzzzyzzz{{{{{|{{{zyzzzzzy{|{zz{z|zyyzyzzz{z{{{{zz{zzzzzyz{z{yz{{z{y{yzz{zzzzz{{{{{zyyzzzzzz{{z{{{z{zzyzzzz{zzzzzz{zzyzy{yzzyzzz{zyyyyyxzyzzzzyzzzxyzyzyyyyz{yzyy{zyzyyyxxzzzzz{{zzyxyyyxyzzyyzy{zzyyzyyzyzzz{zzzzzyzyyyzyyyzy{{zzyzyzzyxzyzyzzzzzyyyzzyzyzzzzzzzzyyyyyzyyyzyzzzzzyyyyyyyyzyzyzy{yyzzywyyyyzzyzzzzyyyxyyxyzzyzzzzzzxxyyxyzyzyyxy{yyyyyyyyyzyzyzzzyyyyxyyzxzzzzzz{z{zzyzyzzzzzyzzzzyyyxyyzyzyzzzzzzzzzyyyyyzz{yyzzzzzzzyyyyz{{yzzzzzzyzyzzzz{zyzzzyzyyzyzyyz{zzzzzzzzy{zzzyzzz{yzzzy{zyzyyz{{{{z{z{yz{yzzyy{{z{zz{zz{yyzxzz{{zzzzz{{zzzzzz{z{{z{zz{{y{zzzzz{{zz{{{{zyzzzyzz{zz{z{zz{yzzzzzyy{{zz{z|{zzyzyzzzz|z{z{{zzzyzzyyzzzzz{zzzzzyyyzyz{zzz{z{yyzyyy{zyzzyzzyz{yyyyzyxyzzzzzyyyyyyyyyyzzzzzzz{zzyyyzyzz{zz{z{zzyzzyzyzy{zzyzz{zyzyxzzyzzzzyzzzyyxyyxzyyzzyyz{yyyzzyyyy{z{yyzzzyyzxyyyyzz{zyzy{zzyyyyyyyzzzzyzzzzyzyzw{yzyyzzzzyyyzzzyxyzyzzz{zyyzyyzxzy{zyzzzzyzyzzyyxyzzzz{{zyyyzzyyyzyzzzyzzzyzyzyzxzzzyzzz{zyy{yyzzyyzzy{zyzyzzyyzyz{zzzzzzyzzzyyyzyzyzyz{zxzzyyzyyzzzzz{z{{zzzzyyyz{zzy|{zzzzzyzzzzzz{z{|zzyzyz{{yzzz|{zzzzyyz{zzyzz{{zz{{zzyy{z{y{{zz{{{{zzyzz{{{{z{{z|{z{yzzzzyzz{{{z{{z{zzzzzzzz{{{{{{{{zzzyzxzzz{z{{{z{{zz{z{zz{z|{|{zyzzyzy{zz{zz|{z{{zzzzzzy{zz{{z{{zyzyzxyyzzzzzzyzyzyyzyyyzzzyzzz{zzxyyyyyyzyzy{zzzyyyxzxyzzzzzzzz{y{zyyxxzzyzyy{zzzyy{zzxzyzzyzzzzzyxyzyyyzzzzzzyyxyyxyxyyyyyyzzzzxyyyzyyyzzzyzzyzyyzzxyyyyzzzzzzzyyxyzxzzzzzzz{zzyyyyxyxyyzzzzyzyyyzyyyyzyyyyyzyyzyyzyyzyzzzz{zzyyyzyzzzzzyzzyzzzyyyzyzxyzyyzzz{yxyzyyyzzzzzzyyzyzyzyyxzzzzzzz{xzyzz{yzyzzzzzzzzzyzyzyyyzzzzyz{{zyyyzzyyyzzzz{zzzzz{zzyzzzz{z{{{zzzyzyyyyzy|zz{{zyzzzyzyyzz{{z{xzy{zy{zz{{{{zz{zzy{zyyz{{yzzz{zzzyzzz{zzz|z{{zz{{zzzzzzz{z{{{{z{zyzzzzzz{yxz{{{{|{zzzzy{{zz{z|zzzzzyyzzzz{z{z{{zzzyzz{zy{{yzzz{{zzzyzyyyzzyyzyz{zyxyyxyyzzzyy{zzyzyyzwyyzzyz{yz{zzzyyzzyzz{y{z{zyxyyyzyxz{yzzy{zyxzxzyzyzzyzyzzyzyzyyxyyyzzzyzzzyzyyyyyyzzzzyzyyzyyxyzyzzyyzyzzzyyyxyzyyzyzzzzzzyyyyyzyyyz{y{zzzyzyyxyzyzzzyy{zzyyyyzyyzy{zzzyzzzxyyyyzyyyyzzzzzyyzzyyxzxzzzy{zzyzzyzyzzzzzzzzz{zyyyyxyz{zzzy{zzyyzzyyyx{zz{{{{{zzyzzzyyy{{z{zzzzyyyzzyyy{zzyz{zyyyzzzyz{zzzzzzyzyzzyyzzz{z{{{zzz{{{{yzzz{{y{{{{zyzyzzyy{{{zzzzzzzzzyyzz{{zz{{{{zzzyzz{zz{{z{|{|zzzzzzzzz|{{z{z{{zzz{{zz{z{z{{{{{yzzzzzzz{{zz{z{zzzzzy{zzyz{z{{{{zzyyy{yy{z{{{{zz{yyzzzyy{yzzzzz{yzyyzyzyzz{{zzzyyyyxxzyzzyzy{{zyzyyyyyyzzyzzz{{zzyyyyyzzzzzzz{zzyzzyyyzz{zzzyz{yyyyxyzxyy{zzzz{zzzxxzzzyzyzz{zz{zzzyxyyyz{zzz{{zzzyyzzyzyy{y{yzxyyyyyzxzzy{zzzzyyyyyyyyzzzzzyzzyyzzyyyzzyzyy{z{{yzyyyxyx{zyzzzzzyzyzzyyyyz{zzzzzzzyz{yyzzzzy{{zyzyyyxyzyz{{{{zzzzzzyyyzzyzzzzz{zzzyzzyyzzzzzzzzzyyzyyyy{{{z{yzzzyyyyzyzzy{zz{{{zzyzyyzyzzzz{zzzzzyzzzy{{z{{z{y{zzz{yzyz{yz{y{{{zzzzzzyz{{z{{{zz{zzyzzzz{{zzz|z{zyz{zz{zz{z{{{{z{zzzyzzzz}{z{{{{zz|{z{z{{z{{|z{z{{zyzzzz{{{yzz{{{zzz{yz{{z{zz{{|zzyzzzzz{{zzz{{{zzzzyyzyz{{|z{{{zzyzzyzz{z{{{zyzzxyzxxxyxyzyzzzzzyyyyyyyyyyyyz{|zyyyyyzyzyzy{{{zyyyzzyyzyzzzyyz{zxyyzxyxzzzzyyzzyyzyyyyyxzyzyz{zzzyyxzyyzzzyyzzzzzxxyzyxxzzzyzyzxyzyyzyyyzzyxzzyyyyyyxxzyz{zzzzzyyyyyyyyyz{z{zz{yyyyyyxyyzzyy{zy{yyyyyyzyzyzyzyyyyyyyzzyz{yzz{z{yyyyyyyyzzzzyz{zzzyyxxzzzy{{z{{zxzyyyyzyzzzzyz{zyyzyyyzyz|{zz{zyzzyxyyyyyzzzyzzzyyzyyyyyz{zzzz{z{zzzyzzyyzz{{{zzy{yzyyzz{zzzzz{zzzyyzyzzz|{z{z{{zyyy{z{y{{zzzz{{zzzzzzzz{z{{z{{{{zzyzzzy{{z{{{z{{y{zzz{zzzz{{z{z{yzz{zz{{z{{{{{{yzzzzzzz|{{{{z|{{zzyzzzyz{{zzzz{z{yyzzzyz|{zzzzzzzzyzyyxzzzyzz{zzzyyyyyyyzyzz{{{yzzyyyyzzzzzyz{{yyyyyyzxzzyzyzzzzzzzzyyyzzzzyy{z{xzxzyzzyzzzzzz{yyzyxyzzyzzzyyzzyyyyyyxyyzzyzzzzzyyyyzyyyzyyzzzzyyzyyyxyyzzzz{yzzzxyyzxzyz{zz{zzyzzyzyzyyzzyzy{zyzzyyxzyzyyzzzzz{yyyzxyyyzzzzzzzyyyyzyzzzzzzyzzzyzxzyyyzzzzzzzz{yyzyyxz{zz{y{z{zyyyzzyyyzzzz{zzz{yyyyyzzzzzzzz{z{yyzzyy{zz{zzyzzzzzzyyyzzzzzz{{zzzzzyyzzzz{z{{zzzz{zzz{z{{z{z{{{{z{zyyzzzzzzz{zz{zyyzyzz{{zzz{zzzz{zzzzz{{{{{{z{{yzzzzzy{{{{{z|z{z{{{z{zz{{{{{{{zzzz{zz{{zzz{{zz{z{z{yzz{z{{z{{{{{zzz{zzy|{{{{{z{zyzz{zxz{{z{{{zzzzyxzzzzzzzyzzzyyzyyzyyyzzyzzzzyzyyyzxxzzzyzzzzzyzyzzyxzyz{zz{zzzyzyyz{zzzzzz{zzyyyxzzxzy{yzzyzyzyyyyyzzzyxzzzyzyyxzxyyzzyyyzzyzxyzyyzyyyzzzzzzyyyyzyyxyyzzyz{zzyzyyyyyzzzzzzzz{yyyyyyyyzzzzyyyyxyyyyzyzzzyyzzzy{yxyyyyx{zyyzzzyyz{yzyxzzz{zzz{zzzyzxyzzz{yzz{zyyyyzzzzzzy{z{zzy{yyzyzxzzzz{z{zzyyzzzzyzz{yz{zzzyyyyyzzz{{zzz{zzyy{zzyyz{{{{{z{yzzzzzyy{{z{{{{zzzzyzzzyzz{{zzz|zzzzzzyzzzz{zz{z{xyzzyzz{|{{z{{zzyzzyz{{z{zzz{{{{yzzy{zzz}{zyz{{{y{yzzzzzz|{{{zzzzz{zzzy{zz{{{{{{{zzzzzz{{{{zz||zzzyzzzzz{{z{{{z{zyzyzzzz{z{z{zzzyyzzyzyzzz{yyzyzzyyyxyyyzzzyzy{xyyyyxyxzzzzzy{zzzzyyyyyyzzzz{{zzyyyxxxzzzzzyzzzzyxyyyyxzyzzzzzzxyyyxzzz{yyyzzyyzyyyzyyyyzzyyyzyyyyyzyzzxzzyxzyz{yzxxyyzzzzzzyzzzyyyyzxzyyyy{zz{yyzyxyyyzyz{zzzzyzyzyxyxzyzzy{{zyyyyyyzyyzyzz{y{zyzyy{yxzzzzzz{{zyyyyyzzzz{yzzzzzyzyyyzyzzzzyz{{yyyyxzyyzzzz{zzzyzyy{yzzzzzzz{z{yzzzyzyyzzzzyz{zzyzzyzyyz{yzzz{{zzy{zzyz{y{zzzz{zzyyyzyzyzz{zz{{yzzyzzyyz{{yz|{zzzzzzzzy{{{z{|{{z{zyzzzz{{{y{{zzzz{zzzy{z{z{z{{{{zz{yzz{{{{{{{|{{yyyzzzzzzz{{{{{{zz{yzyzzz{{zzz{zzzyzz{y{zzzz{{{{zyyyzyyy{zzz{{yzyzzyxyy{{zzzyzzyyyzzyyxxzzzyzzzyyyxxxyxyzzzz{yzyyyyyywyzyzyzzzzyzyzzzyyyzzzxy{zzyzyxxyyyyz{yzzyxyyzyxzyzzyzzz{yzxzyyyyxzyzxyzzyzyxyxzyyy{yzyzyzyxyzxzyxyyy{yzyzyyzzyxyyxyzyzzzzyyyyyxyyyyy{xzzzyyxyzyyyxzyyy{yzxzyxxyyxx{yzzzzzzyyyzyyzyzzzzzzzyzyyyyyyyzyyzzz{zx{yyxyy{zzzzzy{zzzyyyyxyy{zzz{zyzzzyyzyzzyzzzzzzyzzxyyyy{y{zz{{zyyzyzxzyzzzz{zz|zzyzzyzyzz|zzzzyyzz{yzzzzzzz{{{zyyzzyzyzzz{zzzyzx{yyzzy{zzz{{{{zz{zzy{{zz{{z{zzz{zyzzz{{z{{z{{z{zzyyzzzzzzz{z{zzzyzzzyyz{{zzz{zzzzz{zzzyzz{|{z{zzzyzzyzzz{zzz{{zzyzyzyyzzzzzzzzzyyyzyyyyz{zzyyzyxyyyzyyxzyyyy{zxyyyyxyyzy{{zzzzyzywyyzyzxzzzzzzyzzyyxxzyzz{y{zzyyxzyyyzxyyyyzy{yyyxyy{yxzzzzzyxyyyxyyxyyzzyzzzyyyyyyxxxyxyyyyyzxxyyxxxyzyyzyzzzyxxyyyxyyzzyzzzyyyzyyyyyyzzyzzzzyyyyyxyyzyyyzzzyzyyyyyyzyyzyyzzzyyzyyzzxyzyzzzzzzyyyxyxyyzzyzz|zzyzzzzzyzyy{zzzzyzzyyxxyyzzzzyz{yzzzyyzyyz{zyzz{yyyyyyyyyzzyzz{{zzxzzyxy{zzyyyzzzzyzyzzzzzz{{zz{zzyyzyzzzyz{zz{zzzz{yyzz{{z{zzz{zy{yyzyxzzzzz{{{{yzzyzz{{yzz{{zzzyzzyzyyz{z{yz|zzyzzzzyzzz{z{{y{zyzyzyzyzyzzz{{{zyzzzzzzzzzzz{z{zyzyzzyzzzzzz{{zzzyzzyyyzzzzzyzyyzyxxyyyyzzyzzyz{zxxzyyyyyy{yz{{yzzyyyyyzzzzzzz{zzyyzyzyy{zzzzzzzz{yzyyy{zzzzz{zzzyxxxyzyyz{yz{zyyxzy{xyzzzzyzyzzyyzyyzzyzzyyzyzzzzyzyxyyyzzyzyzyyyyyxyxzzzzzzzyyyyyxyyxyyzyyzzzxy{yxyyyyzzzz{y{yyyzxyyyyzzyzzzzyxyyyyyyyzzzzz{zzyzyyzyxy{{zzzzzzzyzyyyyy{zzzzzzzyzyzyyyzzyzz{zzyyyzzyyzzz{y{zz{zy{yzxyyxzzzz{zz{zzzzyyyxzzyz{z{zzy{yzyzzzzzy{{zzyzyzzzzzz{{{{z{yzzyzzzzz{yz{{{{zzyzzzyy{zzzzzz{{zyzzyyyyzzyzz{{{zzzyzzy{zz{z{{|zzzzzzzyy{{{{{z{zyyyzzzy{{{{{z{zzzzz{zyyzzz{{{z{{yyyzzzy{z{{{{|zzzzyyyzzz{z{z{{zzyzzzyyyz{z{zzzzyz{yyzzzyzzyzzzyyyyyyyyxzzzzzzzzzzyyzxyzzyzyzz{{zyzyzyy{zyzyyz{zyzyzyzxzzzy{zzzzzyyyyyyxyyyzzzyzyzyyyzyyyzzzzzyyzyyzyyxzzzzzzz{{zyyxyyyzzyyzyzyzyyyyyyyyyzzyyz{{yxyyyyyyyzzyzzzyyzyyyyzyyzzyyzzyyyyzzyyyyzzzz{zyyyzyyxyyzzyzz{zzzyyzyyyyz{yy{{{zyzxyyxyzzzzzzzzzzyzzzyz{{zzzzzzyyzyyzzyz{{z{zzzz{zzy{yzyz{zzz{{zyyzyzzyyyzz{zz{zyzy{yzyz{{zz{z{zzyzzzzzyzzzz{{|{y{zzzy{yz{y{{{z{zzzyyzyyz{{{z{z{{yyzzzz{{{{z{{{zz{zzzzz{z{{{{{zzzyz{zzzz{{{{zz{{{zzzzz{zz{z{{z{{zzzz{zzzzz{{{|{{{zzyz{yz{|{{zzz{{y{yzyzzz{z{z{{{zzyyyzzyyzz{zzz{z{zyyxyyz{z{zzzzyxyxyyyyyzzzyz{zyyzxyyyyzzyzzzzzzy{yyyyxzyzzyyzzzyyyyxyyzzz{yzzzzzzxyyzyyy{zzzz{yzzzyzzyyzyy{zzzzyyyyyyzyzzyyz{y{yyzyyyyzzyzzyzzyyyxyyzyyzzzyzzzyyzyyyyzzzzyyzzzyyyzyyyyyyzzyz{zyyyzxxzyyyyyyyz{yzyyzyxzzzyyzzzzzzyyyzzyz{zzz{zzzzyzzyyz{z{zzzzz{xzzzyzyzz{zy|{zzyyzzzyy{zzy{{{zyyzyyyzyyzy{{{zz{zzyzyyzzzzzyz{{zzzyzzzzzzzzzzz{zzzyzyz{{z|{z{{{zz{{zz{zzz{zz{z{zyzzzzxzz{{z{{{zzyyzzzzzz{{{{{{{{{{zzzzzz{{{{{{zzyzzzzyzz{{|{z{|{{z{zzz{zz{{{|{{zzzzyyzyz{zz{z{{zz{{z{zzz{y{{{z{zzyyzyyzzzzz{z{{{{zzyzzzz|{{zzyzyzzyzyyzzz{yzy{zyzzxyyzxzz{yyzzzyyyzyyyyyzz{{{{{zyyyyzyyzyzzyzzzzzzyyzzyyz{{yzzzzxyyyxyyzyzyyzzzzzyyyyyy{yyyz{zzyyyyzyyyyyzyzyyzyyyxyyyyzzyzyzzyyyyyzxyyzyzyzyyzzxyyyyxzzz{zyzzzyzyyyyyyyyzzzyyzzzzyzyyyyzzyyyzy{yyyyyzxzzzyzyzzyyzyzzzzzzzzzzzzyyyyzyzyzyzzz{{{yyyyyyyzyyzyy{{{y{zyyyyyyzzzyyzyzzzzzyzyy{yzz{zz{zzzyyzzz{zzyz|z{yyzzzzy{{zyzzzz{zyyzzzy{z{z{{zzzz{zzzyzz{zzz{{|{yyzyyyyz|{z{{{{zzyyzzzz{{z{z{{zzzzzzzzzyz{{{{z{zy{zyzzzz|z|z||{zzzzzyzzz{zz{{z{zzzx{zzzzzzz{z{z{zzz{zzz{y{z{{z{{{yy{{zyzzz{z{{{{yzzyzzyzyzzzyzzyyyyyzzyzz{zyyzzyzyzxyzxy{zzz{yzzyyyyyyyyzzy{zz{zzzyyzyyzzxzzz{{zzyyyyyzy{{yyzz{yyzyyyyyz{zyzzzzyz{yyyzxyyzzzzzzyyyyyzzyzy{yzzzzyyyyyyzyyyz{yzzzxyyyyxxyyzzyzyzyzyyyyzyz{yzyyzz{yyyzxyxyyz{zzzzzyyzzzxzzzzzyyyzyyzxyzxyyzzzyz{zyzzzyyzyy{yyzy{{{zxzyzyzyzz{yzzzzzyzzyyzyyyzx{yz{yyyyxzzxzzzzzy{z{yzy{y{zyy{{{{zzzyzyzyzzz{{z{z{z{zyxzyzyzzzz{{z{{yyyzzzz{zz{z{z{yyzz{{{zzzz{y{{zyyzzyzzz{zzzz{{{{zz{zzzz{z{z{z{{{z{yy|zz{{{zz{{z{{zzzzzzy{{z{{{{zzzzzzzzzzz{{z{{zzzy{yzz{zz{{z{zz{zzz{yzzzz{z{{z{zzzyzzz{{zz{z{zzzyzzzzyzzzzz{zzyzzzzxyyzz{zzyyzzzyxyyyyyzyzzzzzyzzyyyyyzzzzz{z{yxyyzyyyyz{y{z{zyyyyzyyyyzy{yyzzxzxzzyzyzzzzzzzxyzxzyyyyyzzyy{{yyxyyyyyyzzyyz{yyx{{xyyyyzyyyzzzzyyyyyyyxyyzzzyzzzyyyy{xzzzzyzzzzyyyxwxzyyzzzyzzzzyyyyxzxyz{yzzzzyyyzxyyyyzyyyzzzzyyxzyyzzzzy{zzyxyzyzyyyzzzzzz{{zzzzzyzyyzzzzzzyzyzyyyyzzy{zz{zzyyyyzyzzz{zzz|{zzyyzyyyyyzz{{{z{zyyzzyyzzzz{z{zy{yzzzzyyzz{z{zzyzzyzzzyzzzz|{{{zzyzzyyyy{yzz{z{{zzzzzyzz{{{yz{{{zz{zy{zzz{zz{z{{{yzzzzzzy{{{{z|{|z{zyzzzzzzz{{{zzzzzxzyzzzz{{{{{zzzz{{zz{{z{z|{{zzxzzzyzyzzzyz{{{zzxzzzzzzzy{{zzzxzyzyyxzzyzyyzyzyxyxyxxzy{zzyzyzxyxyyyyzz{zy{yzzyyxyxyyyyyyy{zzzyyxyyyyzyzzzyzzyzyzyyzyzzyzzzzzzyzyyyzyxzyzzzzyzyyyzyyxyzzyzyzyyzzyxzyyxyyzz{zzyyxyyyxyzzyyyzzyyyxxyyyy{zzzz{zzyyyxxyyyyyyyzzzzyyyxyyyyzyyyzzyyzyzyxyyzyzzyyzy{zyzyyyyzyyzzzyyzzzyyyyyzzzyyyzy{yxyzzyxzzzzzz{yzzyzyyzyzzz{yzzz{zzzyzzzyzzzzz|{zyyyyzyyyyzz{zzzzzyzzzyyyyyzzzz{y{zzzzyz{{z{zz{z{zzyyzyzy{z{{{z{zyzzyzyyy{{{zz{{zyyzzyzz{z{zzz{|zyzzzzzzyy{z{zz{}{zzzzzzzz{z{{zz{zyyyzzzz{{zzz{{zzyzzxzzzz|{z{y{zzzyyz{zyz{{|z{z{{zyy{y{zzz{z{{zyz{yzyzyy{{zzzzzzyyyzzzyzy{zzzy{zyyzxzyyxzzzzzzz{yyyzzyyyzz{zz{zzzzyyzyyx{zyzzzyzyyyyzyyyzzzzy{zzyyyyyyyyyzzzyzz{yyyyzz{xyzzzzzzzyyzyyyyyy{{yzz{yyyzyzyyzyyzzz{zzyyyxyyxyzzzyzyz{zzyyyyyyzy{zz{zzzzzxyzxyyzz{yzzzyyyyzyyyyzyzy{zzyyzyyyyyyzzyz{zzyyzyzzzyzyzzzzzzzyxyzyzyzz{zzzyz{y{yzzyyyyzzzzzzzyzzzyyzyzzzz{{zzy{zyyz{yzz{zzzzyyyzzzyyzzzzz{{zzyzzyyyzyz{zzzz{zzzzyxzzzy{z|{z{z{zzyzzyzyz{{zz|zyzyzyyyz{zz{zy{{yzzzz{z|{z{{{{{zzzyyz|{zzzy{{|||zzzzzzzz{z{z{{z{z{z{yzzzzz|{{{|{zyzyzzzzzz{z{{|{zy{{zyzzzz{{z{{yzzyyzzzzz{zz{{zzyyzyzzyzzz{yzzzzyzzyzzyz{{zyyyyzyyzzxxxy{z{yzyzxyzyzyxyyzzyzz{zyyyyyyzyzyyyzz{zzyzzxxyyzyzzzzzzyzzzxxyxyzzzyzzzyzyyyxyyyyyyzzzyyyxzywyzyzyzzzzyyyyzyyyyyyzyyy{zyyyyyyyxzzzyzzyxxxyyyxwyyzzyzyzzyzyyxyyyxyzzyzyyxzyyyxyyzyyyzzxyzzyxxyyxxzyzy{{zyyzyyyyyzyy{yzzyyzyyyyyyzzzzz{zzzyzyzxyyzzzz{yzzyzzyyzyy{{yz{yz|zzyyzzyyyzyzzzz{yyzzzzyyzz{yzzzzzyzzzxzy{{zzy{zzzyxzzzzzzzz{z{{{zzyzzzy{z{zz{zz{zzzzzzyyz{{z{yzzz{{yzzzy{z{zzz{zzyyzxy{zyz{{{zz{{yzyzz{zz{zz{z{z{zzzyzzzzzz{z{{{zzy{zyz{{{z{{z{{zy{zzzyzz{{{z{{{zzyxzyzzy{zzz{z{yzzzyzzy{{zzyzz{zzyyyyzzzyzzzyxzzyyyyxyxzyyzyzzzyyyyyxyyyyyyzyyzzzxxzyyyzyzyyzyyyzyxzyzxyzyzxzzzzzyxyyyyyyzy{yzyzyyxyyyxyyyyxzzyzxyyyxyyxyzzyyyzyyzwyyzyzyyzzzyzyyxxyzyyyyyyyyyzyyxyyzxyyzyyzyyzyyyyyyyxyzyyyz{{zyyyyyxxyzyyzzxz{yyyyyzxyzzzy|yyyyyyzzyyyzzyzzzzyxyyzxyyyzzyyyzzzxyzxyyyyyyzzzzz{zzyyyzyzzzzyzy{yyyyxzyyyzyzz{yyzxyzxyyyzz|zzz{yyyzyyy{yzzzz{{zzyyyxzzyyzz{zz{{zyyzyzz{y{zy|zz{{{yyxzzyzz{{{z{zz{zzzzzzyz{zz{z{zz{zzyzzyzzyyzz{z{z{zzzzyz|zzz{zzz{zzyyyyz{{zzz{z{yzzyzzzz|yz{zz{z{zyzzyzzzzzz{z{zyzyzyxxzz{zyzz{zzzyzyyxz{zzzzzzyyzyxzzyyyzzyzzzyyyyyyzxyyyyyzzyyyyyyzxyyzzyzzyzyxzyzzxyyzyzyzzzyyyyyxxyyyyyxyzz{yzyxyyyyxyz{{z{yyzyyyyxxzzyzzzyyxyyyyxyyzyzyz{yyyyyyyxyyyyyyzyzyxxyyyyyzzyyyzyyxyyyxxxyyyyzyzzyyyyyxyxyyyzzyyzyyyyyxxzxxzzyyyzyyyyxyyyyxzyzyzzzyyyyyyyyzyzyyzzzzzzyyxyyzzzyyzzzyy{yzyyzzyzzyzzzyyyyzzyzyzzzyyzzzzzxzzyyz{z{zzzyxzzzzyyzz{zzzzzzyyzyzzyyzzyzzzzzzzzyzzzyzyz{yyz{yzzzzyz{z{y{{z{{zyzzyzyyzz{{z{zzzzzyzzzy{{zy{zz{zzyyyzyzzzy{{{{zzyzzyzzzz{{z{z{{{zyzy{zzzz{zz{z{zyzzy{yyz{z{{{{zzyzz{z{{{{{|zz{zyzyyzzzzyzzzzz{{zzyyzzzyyz{z{zzzzyyyzyyzzyzyyzzzyyyyyyyyzzzyzyzzyyzyyyyzyyzyzyz{yzyyyyyyyzz{{z{z{zzzyyyzzy{zxz{zzyyyxxyxzzzzzzzzzyyxxyzzzzzzyy{{zyyyyyyyzyzyyzzyyyxyyyyyyzxzzzzzzyyyzyyyyyyyzzzyyyzyyyxxyz{zzzyyzzzyyyywzzzzzyzzyzyyyyyyyyzyyzz{zyyy{yz{yyyzzzzzyxyyzyyzyzzzyz{zyzxxzyyyz{yzzzyyzzzzyyzyzzy{{zzzzyyyyyxzyyzzy{zz{yzzzyzyz{zzz{zzyyzyyxzyz{zyyxzyzzzzyzzzzzzzyzzyzzyzzyzy{z{{{z{{zyyzy{zyzyzy{z{{zyzzzzyyzz{zzz{zzyzyzzyyzz{zzzz{zzzyzz{z{{zzzz{|{zzyzzzzz{z{y{{zz{zzyz{zy{yz{zz{{zzzzzyz{z{z{{{|{zyz{{zzzzzzz|{{zzzyyyzzz{y{{z{{{zyzzzyyz{zzzy{zzzyzyzzyzzzzzzz{yxxyyyzxyzyzzzz{zzyzyyyzxyzzzzzzyyyzyyyyzyzz{zzz{xyyzyyzyz{zyyz{yzxxyyyyzz{z{zz{yzzyyyyxyzzxzzzzzyyzyyzzyyzyyzzxzzxyyyxyy{zzzzyzyzywyyzyyzzzzzzxzyyzyyyyyz{zy{yzzyyyyyyyz{zzzyyzzyzyyxzxyzyyzzzyzyyyyzzyzyyxyzz{yyzyyzzyzyzzzzzzyzyyyyyzyzz{zz{zzyz{zyzyz{{z{{|{yyzyxzyyz{zzzz{zzyzzzxyzz{zzz{zzzyyyzyyyzz{zzz{zzzyyzzyyzzzzzz{zzzyzz{{yzz{zz{zz{zy{yz{zz{{z{z{{zyyzyzx{z{zzzzzzzyzyzyzz{{{zz{{{zz{yz{zz{zzz{zzz{{yzzzzzz|{z{{z{zyz|{yzy{z{{{{z{{yz{zzz{zz|z{{|{z{zz{zyz{z|z{{z{yz{yzzyyz{z{{z{{zyyyzzzyzzz{z{{{yyzyyzzyzzz{yzzzyyxzyxxyyyyyzyzzyyyzxyyyzzyy{zzzzyyyzxzxyzyyzyzzzzyyxzyzzy{zyzz{yyyyyxyyyyzyyyy{yyyyyyxyy{zyyz{yxxzyyyyyyyyyxzzyyzyyxxxyyzyzzzzzyxyxyyxxyzzyzyzzzyxyyyxyzzzz{zyyyyzzyyyxzyyyzzzzxyzxyxxyzyzzyzzzyyxyxzyyzzyyzyyzyyyyyzyyyyzzzz{yyyyxzzzyzzzzzzz{yyzyzyyyzzz{zzzzyzyyyzyz{zzzzz{{yyzzzyyyyzyyzzzzzyzzyyyyzz{zyz{yzyyyzzzyz{zzz{zzzz{zyzyyzz{{zzzzyzzyzyzzz{z{y{z{z{zzzzyyzz{y{zzy{zzyzzyz{{{zz|{zzy{zy{zzzyzz|{z{{zzzzzyz{{{{zz|{zzzzyy{zzz{|z{{zzzyzzzyzy{z{zz{zzzzzzzyzzzzzz{{zyyyyyyyzzz{zz{{{yyyzzzzxzz{{yz{zzzzyzxyxy{{zyyzzxyyyxxyyyyzzzx{yyzyyyxyz{zzzzy{zyzyyyzyxzzzyz{zzzxzzyyzxzyzzyyzzyzyyyxxyzzzyzyzzyyyyyyzyxzyyxzzyyyzyyxyyxzzyyz{yzyyyyyxzzzzzzzzyxzxxyxyyxzyzzzzzzyxyxyyyy{zyzzzzyxyyxyxyy{yz{zzzyzyyyyyzyzzyyzy{zzxyxy{yyzyzzyzzyyyyyyyzzzzzzz{zyyyzzzyzzzzyyzz{{zzyzyyzzzzzz{{{yzyzzzzyzyz{zyz{{yzyyzyyyzzy{zzzzyzyzyyzzzz{zz{{yyzzxyyyz{y{yz{zzzzzyzxzyzzz{{|{z{zzzyzzz{z{{{z{zzzzyzzz{{z{z{{y{yz{zzzzz{{{{z{{zzzyz{zzy{z{z{{{zzzzzzz{{{z{{{{{{z{{zzzyzzz{{{yzzzyy{zyzzzzy{{{{{{yzy{z{zzz{|{z|zyzzyzyz{{zyzz{z{zyzyzzzy{z{y{{zyyyzzyzxyz{zzyyzyzyzxyzyyzzxzyzzzyyzzyyxzzzyzzzzzyyyzyyy{yyyzzzzzyyxyyxyzyyzyyz{zxyxyxzxyzxyzzzyyyzyxzyyzzyyzzzzzzyyyxyzyzz{yzzzyyyyyzyzzzzyyzzzzxxxyxyyyzyzyy{zzyyyyyxyyzyzzyyyzyyyxxyyyzzzyzzzyyzyyxyyzyzzyzzyxzyyyzyyyyzyzzy{yyyzyyzxxyyy{zzzyxyy{yyzyzzyyyz{zyyyyxzyzzzzzzzzyyyzyyzyyzzyyzyzzyyzzyyxy{{zzzzzyzyyyyzyzz{{yy{zzzyzzzxzyz{zy{zyzzyzyyyzzzzzzzz{yyyyzzzyzzzzz{zzzyzzzzyyyz|{yz{{{yzzyzyzz{{{z{{zzzzzyz{zz{z{z{z{zzzzyzyzz{z{{{zzyyzzzzzyzzz{{zzzzzy{zyyzzyz{z{{{zzyzzzz{z{zz{z{{zzyyyzzzzzz{z{zzzzzyyyyyyyy{zzzzzzzyzxyxzz{zyyyyyyxyyyzxyzzzxy{zzzxyxyzxzzzzyz{zyyyyyyyz{zzyzz{zzyyyyzyyyzzyyy|y{ywxxyyxzzyyyzyyyyyyzyyyzzyy{zzzzxyyyyyyyzzzyy{yyyzyyxxyyyyyyz{zxxyyzyzyyy{yyzzzyxyyyyxzyyzyy{zyzxyxxzxyy{zyyy{yzzxyyyxxyyyzxyzyyyxxxxyyyzyyzzzzyxyyzxyxyz{yyyz{yxzzyyyyzy{y{yz{yyzzyyzy{yyzz{zzyyzyyyzzyz{{zyz{zxyyzyzyz{z{{{zzzyzyyyyyzz{yyzzzzyyyyzzyzzyyzzzzzzyyzyzyzzzzz{{zzzzzyzzyzzz{yzz{zyzzyxyzz{zz{{zzzyyzzyyzz{zz{z{zz{zzzzyzzzzzz{z{{zzyzzzzzz{zz{{{zzzyzyyyz{{z{{{zzzyzzz{zz{z{|{{{zyzzzzy{yzz{{{{{z{yyyyzzzzy{{{{zz{zzyzzyz{yzz{zzyyzxyyxyzzyy{zzyyyyyyzxyzzzyyzzzzxyzyyyyzyzzzyzzzzyyyyyyyyzyz{yy{yzzyyxyyyyzzyzyzyyxyyyxzyy{yzzzyyyyyyyyyyyyzzyyyyyyxyyyyyyyz{zzyxyyyyyyyyyzxyyzyxyyyxyzyxyzyzzyyyxyxxyyxzzzxzzzyyyxyyyyzyzzzyzyzyyyxxyyyyzzyzzzyyxyyyyzyyyxyzzyyyyyyyzyzyzzzzzyyy{zyyzzzyyy{zzzyxyyxxyxyyyzzzzzzyzxxzyyzzzzyzzzzyzyzyyyzyyzzzz{yyyyzyyyzzzzzz{zyyyyyyxyyyzzyzzyzyyyyyyzz{{z{zzzzzzxyyzzzzyzzz{zzzyyzyyy|{{zzy{zzzyxzyy{zz{{zz{{zzzzyzzzzxy{zz{{zzzzyzyyy{{{{z{zzyzzyy{yzzzzz{z{zzyzz{zzzz{zyyy{zzyz{yzzzz{zzz|zzyzzzyzzy{zyzzz|{zzyzyzyzyyzzzzzzyywyxyyz{{zzzyyyyxyyyxyyzzyzzzzyyyyxxyyzyzzzzyzyyyyyyyxyyzyz{zyyzyyyyyyyyzzyzzyzyyxyyyyxzzzzyzzzzyxzyxxyzzzyzzzyyxyyyxxyzzzyzyzzyyxyzxxyzzyyyyzyyzyxxxxyzzyyzzzxxxyyyxzzyyyyyzzyyyyxxxxyzzyyzzzzyyxyyxxwyyz{z{yzyxyzyyxzzyyxzyyzzyxyzyyyzyyzzzzzyyyyyyyzzz{xzzzzyyyyxyzzyzzzzzzyyzyzyyyyzzyz{zyzzyxyyzyzy{yzy{zyyzzzyzxzy{zzz{yzyzyyyyyy{zzz{{xyyyyzzyyz{z{z{zzyyzzzxzzzzyzzz{{zyyzzyzzz{{zzz|zzzyzyyyzzzz{{{{{yzzzyzzy{z{{z{zzzyyyzzzzz{z{z{z{{yy{zyzzz{y{zz{{zyzyzyz{yzzzzzy{zzz{zzzyzy{y{{zzzzzyzzzzz{y{{{zy{yyzzzyyyzzzzzz{yzzyyzyyzyzy{zzxzxyxzyxxxzyyyzyzyzyxyxxyyyyzyzyzzyyxyyyxzxyyzzzzzyy{yxxyyzzzyy{zyyzyxxxxyyzyzzy{yyxxyyxyyyzyzzy{zxzyyyyxy{zyyzzz{yyyyyyyyxyyzzzzzxxyxzyxzyzzyzzyzxyyyxyyyzzyzzyzzyzyxyxyzyz{yzzzzyyyyxyxyyzzzzxzyyyyxyzyyyyzyyzzxyzyy{zzzzzyzyz{zyyyyyzyzzzyz{y{zyyxyxyx{z{zz{{{zyyyxyyyyzzzyzzzzzyxyzyyy{{z{zyzzyyyzyyzzyzzzz{zzzyyyyzzzzzyy{zzzzyzzzyyz{z{zy{{zxzzyzzzzzz{z{z{zyyzzzyyyz{zzz{{{zyzyzzyzz{{{zz{zzyyzzyy{zz{zz{{{z{{zzzyz{z{|{{{zyzyyy{yzz{yzz{{{yzzzzyz{{zz{z{|zzyz{zzyzz{{z{{zzzyyzzzzyzzz{{{z{yzzyyxzzzzzzzyzyzzzzyxx{yyyyzxyyyyyyyxyyzyzzzzzzzyyyyyyzyzzzzzzyyyyyzyyyyyzzzzzzyyyzyzyyyyzyyzzzyxzxyyyyy{yzzyzyyyyyxyzyzyyxzzzzyzyyyyxzyzyyzyyyyyyxyxzyyzzyzzyyxyyyyyyzzzyyz{xyxyyxxyyyzyyzzzzzzyyxzxxyxzyzyyzyyxzxxyyyyyzyzzzzyxyyyyxyyy{{{zzyyyzyyyyzy{zy{zzyyzyyxyzzzyyzzzzzzzyyyyyzzyzzyz{yyzyzzzxzzyzyzzzzyzyyyyxzzzzzz{zzzyyyyyyzzzyzz{{zyzzzy{zzz{zzzzzzzyzyzyzzzz|z{{zyyzzzzzyzz{{z{{|yyyyzzyyz|zz{z{z{yzyzzzyz{zzz{{{zyzzzz{z{|{zz|{z{zzz{{{zz{z{{{{|zz{zz{z{zzzz{z{z{zzzy{yyz{zz{zz{zzyyzzyzzzz{{{|{{zyyyzzz{z{zzzzzzzzyzyyyzyz|zz{zzzzyyyyy{{zz{zz{zzyyzyxxzyyyzyyzzyyzyyyyyyzzzyyzzzyxyyyzzyy{{zzzyyzzzzyyyzzyzyyzyyzxyyyzyzyzz{z{xyyyxzzxyzzzyy{z{yyyzyxyyxzyzzzyxyxxxyyyxyzzzyzzyyyyzyxyyyzyzzzyyzxyyxyxyzzy{yzzxyzyzxxyzyzyzyzzyyyxyxyxyzyyyyzyzyyyyyyxzzyzyzzzyyyzyzyxzzyyyzzzyyyxyyyyzyzzzz{{zyxyyyyyzzzzzzzzzz{yyyyzzz{zzzzzzyzzzyyyzyzzzzzzyyyxyyyyz{{xzyzyzyyzyyy{zzz{z{{zzxzzyzzyzz{{zz{zzzyyz{zz{{z{{{{{zzzyzzyyzz{{zz{|zyyzyyzz{{{{{{z{zy{zyzzzzzz{{|{z{yzyyz{zz{{z{{{{zzzzz{zzzzzzz{z{zzzzzzyzyz{z{{z{{zy{zzzzzz{yz{|zzzzyyzzyy{{zzz{{zz{zzyyyzzzzyzzyzzyyzyyyzzzyxyzzxzyyywyyzzyyzzyyzyyyyyyxyyyyzz{yyzyxxyyyzzyzz{z{zxxyyxxyyyyyyzzyzxzyxyyyyyzzyzyyyyxyyyyxyyzyzzzzzxxxyyxxyyzyyyyyxyyxyzyzyyzzyzzyxyxyyyxyyyyzyxzzyxzyyyxyyzyzzyzzyxxyyyyyyzx{yzzyyxyyyxxyyyzxyzzxyyyyxyyyyzyyyzxzyxzxyzyxxyzzzzzzzxyyxyyyyyzyyzzzyyzyzxyzzzzzzyzzyzzyzzzyxyzzzzzzyyzyyxyyyyzzzzzzyyyyzxyyyzzzzzzzzyzzxyyy{z{zzzzzzzyzyzzz{zx{z{zzzzzyyzyyzzz{zz{{zyyyzyxyzzz{z{{z{{zzzzyxz{zzzzz{zzzzyyzy{z{zzz{z{zzzyzyzz{z{zz{{zyzzz{yyzyy{{{{{zyzzzyz{zz{z{z|{zyzzzzzzyz{zz{y{zyzyyyyyyyyzzzz{zzyzyzyzy{zzyzzzyyyyyyyxyzzzyzzyyxxxxyyyyzzyyyyzzyyxyyyyyzzzzzzzyyyyyyxyzyyyyz{yzyzyyyxxyyy{zyyyzxyyyxyxyzzyz{{zxzyxyzyyzzzyxyyyzyyxzyzyyyzyyyzyyxzxyyyyyyyzzyyzxyxyxyxyyzyyxzyyzxyzxyxyyyyyyyzzzxyyyyyxxyzyyyzzxxyyzyyyyzyyyzyzzxyyyyxyxzyyyz{yyyzyyzxxyzyzyzzyyxxyyyzxzyzyyyzyyxzyyyzyzzzyz{zzyzyyyxxyzzyzzzzyzyyyzyyyyyz{yz{yzxzyyzxyzz{zzy{yyyyyyyxyyyzzzyzzyyyzzyxzyzzz{zzzyzzyzz{zz{yzz{{{zzzzzzyyzzyz{|zyzyzyyyyzzzzzzzz{zzzyzyzzzzz{{{{{{zyzzzzyz{{z|zz{zyzyzyyyzz{zz{{{zyyyzyyyzzzz|zz|{y{z{yzzz{z{z|z{zzzyyzzyzzz{zz{y{yyzyyxxy{yzzzz{zyzyyzyxyyzzzzyzzxxxyxzxxzzyxzzzyyyyyyyyzyzyxzzzyxyxyyyxzyzzyyzzzzzzyzyyyzyzyy{|yyywyxxxyxyzzzyzyxxzyyyyxyzyzzyz{yyyxyyyyzzzy{yzyyyyyyxyzyzzyxyzyyxxyyyxyyzzzzzxyyyzyxxyyzzyzyzyyyyzxxxyyzzzzyzzyxyyyyyxzxyyyyxyyzxyzyyyyzyyz{zzxyyzyyyxyyzzzzzzyyyyyyzy{zzyyz{zyyzzxxyyzyzzyzyzyzyyyyyyzz{zzzyzzzyy{yzzyzyzzzzzzyyzwxxyzzz{z{{zzyyxyyyzz{zzyzyzzzyyzxzzzz{yzzz{zzyxzzyzz{zzz{yzzzzzzyyyzzzzzz|y{zyyyzzyzzzzzz{{z{yyyyzzyz{z{zzzzyzzyzyzy{zzz{z{zzyyyzzz|{{{zy{zzyyzzyzzzzyzzzzzzzzyzyzzzyyz{zzzyzzyzzzxz{yz{zzzzzzyyyyyyzyzyyzzzzzyyyyyyy{yyzyyyyxxyyyxzz{yyyzzyyzxzxxyyzxzzz{yzyyyxyyzyyyzzzz{yxxyyyyyzzzzzzzyzzxyxyyyyxzyzzzzyyyxxyyyyzzyyyyzzyyzxzyyzyzyyyzyzyyxyyxyzyyzyyzzyyyyyyxxyyzyy{zzyyyyyyxyxxyzyzyyyzyyxzyyzyzzzzzzzyyzyxyyyyyzx{xzyzxxyyxxyzyyyyzyyxzyyxyzzzzzzz{zyyyyyxyyyyyyzzyzyy{yzzyzyzy{zzyzyyyzyyyyzzz{zzzzzyzyzyyyzzxz{{yzzyzyxyyyz{zyyzzyzzyyyzzzzyzzyy{yzz{yyxzxzzz{zzzzyzzyzyzzz{yyy{{{zzyyyzyyzzzzz{zzzzyzzyyyzzz{{z{{zzzzzzzz{{yzzz{z{yyzzy{{z{{z{z{{z{{yxy{yzz{|{{zz{zyzyzzzzz{zzz{zz{zy{zzz{{z{{|{{zzzzyyzzy{{zzzzzzzyzyzzyzzy{yzzyyyzyzyyyzzzyzyzyyyyyxxyyzzxyyyyyyyxyzzyzyzzyyyzzzyyxxxyxyyyxzzzzyyyyyxyyzzzzyy{zyzywxyxyzyzyyzyzzyyyyxyyxzyyyzyyyyxyxxyyyyyyyzyyyyyxxyyyzyyyyzyyyyyzxyxyyzyyyyzzzxyyxyyyyzyyzz{yxyzxyyxyyzy{yyzyyxyzyyyxyyzzyyzzyzyyzyyxyxzzyyy{yyyyyyxyxxyzyzzyzyyyyxxyyyzzyz{zzyzyyyzyyyyzyzzzzxzyyxyyzzyyyzz{yyzyyyyxyzzyzzzzzyyxyzyxyzyzzzzzzyyyyzy{zyzyzy{xzzzyzzyzzz{z{{z{zzyyyyzyzzzzzzzz{yyzzzyzy{{zzzz{yyyyzzzz{zz{zzz{zyzzyxzyzyzzz{{{{yzzyzzzz{z{z{{{zzzz{yzzzzz{z{{zzzyzzyzzyz{zz{{{yzyzzzz{z{yzzzz{zyyzzyyyy{yzzz{{zyxyzyyy{zz{zzyzyzyyyyyy{zzyzyyzyzyxyxyyxzyyyzyzxyxyyyyyzyzyzzyyyyyxyy{y{yyyzyyzyyyxxxyyyy{yyyzyyxywxyyxzzzxyyzzwxyyyxyxyzzxyzyxyyyxyyxyyzyzyzyyzyxxyzyyyyyyyyyxxxyxxxyyyyzzyxzzyxyyyywxyzzyzzzzxyyyxyxyyxyyyyyzyxyxyxyxxzyzyyyzyyyxyyyyxzyyyzzyyyyyyyxyyyyzyzyyyyxzxyxyyyzzyzzzyyyyyxyyyyzyyzzzzyyxxxzzyzzyzyzzyyzzzxyxyzyzz{x{zzyyyyyyyyzyyyzzyzyxyyxyzzzzyyzyyyxyyyyzz{z{zyzzxzy{yyzyyzy{z{yzzxyyyyyyzyzzz{yz{yzy{y{y{zzzzz{{zy{yzzzzzzz{yzz{zzyzyyyyy{zzy{z{{zyzxzzz{{zzz{{{{yyzzzyzzzz{zz{zzzzyzzzyy|xz{z{zzyyyyzzzzz{{{z{zzzzyyzxzy{zzyzzyzyyzyxyxzyyzzzzzxyxyyxxxyzzzyzyzyyyxxyxzyyzyyzzyyyxyyzzzzzyyzzyzzyzyyyxxyyyzyzzzxzyyyyyxyzzzyyyzyyyyxxyyxzzxzzzyzxxyyyyxxyzyyyyyyyyyyyyzyzyz{yyzyyyxxyxxyzzzyyzyyyyxxywyzzzzzzyzyyyyyyyzxyzyyzzzyyxyyxyyyzzyxyyyzxyyyyxyxzyxy{yzyyzzyxxyzyyzyzzxyyxyzzyxzzzzz{zyyyyyyyzxzzyyzzzzyyyyyxyzzzyzyzz{zyzzyyxxyzyyyzyzyyyyzyxzzzyzzzzzzzzxzyyyzzzyzyzz{yyyzyyyzzzzz{y{yyzzyyyxzz{{{zz{yzyyzxyyzz{z{z|zyyyzzzzzzzzzz{|yzz{yyyzz{zz{zzz{{zyzyzzyyzz{y{{zzyzyzzzyzzz{{{{z{zzyzzyzzzzzz{{{{yzyzyzyzzy|zzz{z{yyyyxz{yyzz{{|zzy{zyzyyzzzyzzzyyyyyyxyyyzyzyxzyyxzyxyxyyyxzzzyyzxyyxxyyyzzyzzyyzxyxyyyzxzzzyz{yxzyyyyyyyzyzyzzyyyyywyxyyyzyzz{xyzyzyyxyyzzy{yz{yyxxxxzzyyxyzzzxyyyyyyyyyyzzyzyyyxyyxyzyyzyyyyyxyyyxxxyzyyyyyyzyxyxyzxxzyyyyyzyyzzxyyyxyyyyyyzzyyyyyxzxyzxyyzzzyxzyzyxxyzzyzz{zyxyyyxyyyyzyyyzzzyyyxyyzzyyxzyzzyxyyxyxxzzyyxyzzyzyyyzzyzzzzz{zyzyyyxyxxyzz{zz{zzyyzyzxyzyzz{zyyzzyyzyzxzzzzzzzzyzyyyyzzzzyzz{z{yyxzzyyzz{z{z{zz{yyyzyzzz{zzz{zzzyzyyyyyzzzzz{{z{yyyzzz{z{zzyzzz{yzzyyyy{zzzyzzz{zyzzyzzzzz{z{{z{zzyyyyyyy{{y{zyzzyyyyzzy{zzzz{zyzyyyzyxyzyzyyzzyyxxyxyyyyzzyzyzyywyyxxxyyzxy{yzyyyxyxwxyzyyzzzzyzyyyxxxzyzyzy{zzyyyyyxzzyz{yzyzzyyxxyzyyzzyyzyzyyyyxyyxyzyzyyzzyzzyzxxyzz{yxzyyyyyxyxyyyyyzz{zzyyyyxyyyxzzzyyzzyyyyxyxyyyzyyzzxyzzyxyyyyzyyyx{zyyxxyyxwyxzyyzyyyxyxxyyyxzyyyzzzzyyyyyyxyyzzz{{yzyyyzzzyzzzyzzzzyyzyxyzyyzzzz{zzzzzzxyyyyzyzzzzyyzzyzzxyzyyzzzyzyyyzyyzyyzzyyzzzyyzzxyyzyzzz{{zyzyyzzyyyzzz{{z{zyzzyzyzyzzzzzzzzzyyzyzyzzzzzzzzyzxyzyyyz{{zzzy{{zzyzy{{zz{{zz{zzzyzzzyzyz{zz{z{zzyyzzzzz{{zzzz{{zyzyzzyyzzy{zz{{zz{yyyzzz{zzz{z{zyzyyzyyyyzzyzyzzzzyyzyyxyzzzzzzyyyyyyzzyzyzzyzzzyyzyxyyyzyzyy{yyzxyyyyyyzyyzzzzzyyyyyzyzyyyzzyzyyyzyyyyxzyyyy{zyyzyxyzxzzy{yyzzxyyyyyyyy{zyzyzzzzyxxxxxzz{yzzzyyyyyxyyxzzyyxzyyyyyyyxyxzzzyzyzyyyzxyyxyxzyyz{zzzzzxyzzyyzzyzzzzyyzyyxzyyzyzzzzzzyyyyyyyyzyyzyzzyyyyzzxy{zzyyy{{yzyyyyzxzzzzzyy{yzzzyyzzzz{yz{z{wyyyyzyy{yyyyzz{zyzyyyyzz{yzzy{yzzzzxzyyy{zz{zzzz{{zzzzzyzzzzzz{zyyzz{y{zzzzz{zzzyyyyyyyyzz{z{|zzyyyzyyyzz{zzzzz|yzyzyyzz{{z{z{zzyzyzzzzz{y{z{{{{yyzz{zxz|{{z{z{{zzz{z{zz{z{{{{zzzyzzzzzyzz{{{{{{zyyzzyzzzy{z{|{zzyyzzzyzzzzzz{zzyyzzyyzzzzzzz{{yyzzyxzzzzzz{z{zyyyxxyyyyzzyyyzzyxyyyyyxyzyzzyz{yyyyzzyxyyzyyyzyyzyzyyxzzzzzyzzzzyyyxyzyyzzzyzyyyyyxyyyyyyyyyzzzzyzyxxyyyyzyxyzzyyyyyyxyzzyzyyyzyyyyxyyxzyyyzzzy{yyyxyyxyyzyyzzzxzyyyyyyy{yzz{zzywzzyyyxyzzyyyzyyyxyyyyyxzzzy{zzyzyyyyxyyzyzzzzzyyyyyyyzyzzzzzyzxyzyyxyxzzzyyzz{yyzyyyyyzzzzzy{zyyyyzy{yzzzzzz{yyyyyzyxyz{z{zz{zyyyyyyxz{{{zyzyzxyyxzzyzz{{zzzzzyyyyzyzz{zz{z{z{zzyzyzyzzz{z{zzz{yzyzzzy{{yyz{|{yzyyy{{zzzzzzz{z|zzzzyzzz{z{zy{{zzzzyzyyz{zzz{zz{zz{zzyz{zz{y{zz{zyzzyzz{zz{{z{zzyyyzzyz{{y{zzzzzyyzxyyyyzzzzzzzzyzyxxzzzz{zyyyyyyyxyyxxyzzyzzyyyxxyxwxyzzyzzyzzzyyyywzxyyxy{zyyzyyzxyxxzyzzyyyzzyyxxyyxyyyzyyyyyyyyyyyyyzyyzzyyxyyyyyyyyyzyxzyyxxxyyxxyyzyzxyyzxyyyxxyyyzzzzyzyzxyxxxyyxyyyzzzyyyyzyxxyxyzyyzzyxyyyxyyxxzyyyzyyxyxzyzyyyyyzyzzzyxzyzyyyyyzzzzzzyzyyxyyyxzzyzzz{yyyyxxzxzzzyxzyzzzyyxxxxyzyyzyzzzyyxywxxyzzzyzyzzyyyyyyxyzyzzzzzzzzyyyyzyzyzyz{yzzyyzyyyzz{z{zz{yyyxyz{yz{zy{zzzyyyzzzxyzzz{z{zzzyzzzzyz{zzzz{zy{zzyx{zyy{yyz{zzzzzyyzzyz{{{z{z{zyyzyzyyzz{zzzzzzyyzzzzz{{zy{zz|zzzzyyzzzzz{y{{{zzzyyyyzy{zzz{{zzyyyzzyxyyzzyyyyyyyxyxzyy{yzyxzyxzyyxzxyxxyyyzzyyxyxyxxxyyyyyzyyyxyxwyyyyyzxyyyyyxyyyxxyyyyzyyzyzyyxxxxxyyyyyyyzyxyyyxxxyzyxyyyzyxyyyxxyyz{yyyyyyyyyyyxxyzzyyyyyxyyyyxyyxzyyzzzxyxxxwyyxxzyyzzzyyxyxyyzxyzyzyzzzyyyzyzyyxyyyyyzyyyxyxxxxzyyyyyzzyyyyyyywxzzzzzzyyyyyyyxyyyxzyzyzyyzyyxyyzzzzyzzzyxyzxyyyzzzzzzzyyyyyzxzyyzzzzzyzzyxyyxxyyzzyzyzzyyyyyyxyzzzzzyzzyyyyyxxzxxzzzzzzzzyxzyyzzzzzzzzz{zyzzyyy{zyy{z{{zyyyyyzyy{yzyz{zzzzzzzyzyzzyzzy{zxyyyyyzy{zz{{zzzyzyyzxzzzz{{yzzzzzy{yzzzyzzzyzzzzzzyyyzzzz{zzzzzyyxyyxyzzyzz{{xyyyyyzyyz{zzzxyzyzyyyyyyzyyzyyzyxxxyyxxxzyzyyyyzyxzxxyyyzzyzyzyyyyywxyxxzyyzzzzzyxyyzyyzyzzzyz{{zyxyxxyyzyyzyzzyyxyxyyxxz{zzyxyzzyyxyxzyzyzyyzzzyyxxxyxxyyyyyz{zyxyyyyzyyyyyyzyxyyxyxyxyyzxyzzzyxyyxxxyyy{zyzzzzyxwyyxxzxyyyxzzzxxyyxyyyzzxyyzzzyyyyyzyyzyzzyzzzyyzyyzyyzz{yxz{zyyyyyyzyyyzyyzzzyyyxyyyyyzzyz{zyyxzzyyyyyzzzyzzyyxzyzyyyyzzyyyzyzyyzxzyyyzzzzzyyzyyyzzyyzzz{zz{zzzyzyyzx{zzzz{z{yzy{zzyxyzzz{yzyzyzzzyzyzzzzzz{{zxzzzzzyz{zzz{{{{xyzyzyyz{{{zzzzzzz{xzzzzz{zz{{z{zyzzyzyzzzzzzzzzzyzzzzz{z{{z{y{yzzyzxzzzzzyz{zzzyxyyzyy{yz{yzzzzzyyyyzyzzyzyyyzyyxxxxxyyyyyzzzyyyyyzyxyyxzyzzyyyxyyyzxxyyyyyzyyyzzxxyyxyyzzyxyzyyyyxxxxyyyyyzzzxyyyxyyyyzyxyyzzxyyxyyxyxzxyyyyyyyyyyyxyxyyy{yyzyzyxywxxyyy{yzyyzyxyxyxxyxyyyyzyyyyzxyzxyyzyyzzzzyyyxxyxxzyyyzzzzxyyyxxxyyyyyyyzyyyyxyyxyzyyyzzyyyyxzyyyyzzyyyzzyxzyyxyyyyyzxyyyyzzyyyyyyzyy{{zzzyyyyyyyyyzzxz{zyyzyyyyyzzzyzyzzyzyzxyzyyyzzy{zzyzyzzzyyzyyzzzzyyxyyzz{yzzyyzzzzzzyzxyyxyzzzyzyzzxyzzzzyzz{y{z{{yyyzyzzzzzyyzzzzzyyyzyyz{zzzzzzzzz{yyzyyzz{{zy{{zzyyzzyzyyy{zyz{zzyyzyyz{zzzzyzzyzyyyyzyxz{zzz{zyyzyxyyyzzzyyz{yxyzyxxyzzyzzyyzzxyyyyxyxzyzyzyyzyyyyyxyxzzyyyyzyyxyxyxxxyzyzzyzzyxyyyxyxy{yyyzzyzyyxxyyxzyyzyzzzyxyxzwxxyzzzyzzxzxyyyxyxyyzyyyyyyxyxxyyzyyxyxyyyxyxxyyyxyzyzzyyyyyyyyyxxxyxyzzzyxxyyxzxyxyyyyyzxyyyxxxyxyyzyzyyzyxxxxxxxyzyyzzzzzyyxxzxyyzzy{zzzyzyxyxyxxzzyzyzyxxyyyxyyyzyzzzzzyyxyyzy{y{zyzyzyzyzyzxyyyzzzz{yzyxzyzyxxyzzyyyyzxyxyyyyyzzzzyyzzzyzyzyzz{{zy{zyzyyyyzzzxzz{zzz{zxyxyyyyyyzzzzz{yzyxzzxzxz{zz{z{zyz{yyz{zyzzy{z{yzzzzyzzzy{z{zzz{{zyzz{yyzzzz{z{zzxyyzyyzzzz{zyzz{zyyyyyzzzyzy{zzyyyyyyyyzyzz{z{zzyyzyyzyzzzxzy{yzzyyxyywzzzyzyxzyxyyyyyyyzzyyxzyyyyyxxxyyzyyzyzzxyxxxzyzzzzyyzzyyyyzyzyxyzyzxzyyyyxwxyyyyzyyyzzyyxyxyyzyzzzxxyzyzxyxxyyxxxzzyzyyxyxyyyyyzyyyxyzyxyzxyxyxyyzyyzzyyyyyyyyyzzyyzxyyzyyywzxxyzxyzyyzxxwxyxyxyzyyzzzzyyywyyxxyyxyyzzzyyyyxyxxzyyyyyzyyxyyyyyxyzyzxzyyyyyyxxxzzzyzzzzyyyzyxyyzzyzzyyzyzzzxyyxyyzzyy{yzzxzyyyxxyyzxy{{yxyyzyzxyyzzzyzzzyzyzyyyyyzzzzz{zzzzyyyzxyzz{{zzzyyyzyxyyzzzzzzzz{yzzyyyy{{zyzzzzzyyyzzyzz{zzzyz{{yyxyzzzzzy{z{zzyyyzyyyyz{zzyz{{zyzxyyyzzyyzzzzzyyyzyzyzzy{{yzy{zzyxyyzyzyy{zz{zyzxyyyzy{zzz{zzzzyyyzxyyy{zyyyyyywyyzxxxxzzzxy{zyyywyxxyzzzzzzyz{xyxyxxyyxyxzzzzyxyyzyy{zzzyxzz{zyzyyyyy{yzyyzz{yzzxyyyyyyyzzzyyyyyzyyyyyyzxyzyyxyzyxyxyxyyyzyyyxyxyyyxyyzyyyzzzyxxzxyxyyzyy{yzyyyxyxzyxxyzyyzzzzyxyyyzyyzyzyzzyyyyyyxyyxyzyyzyyyyyyyzyyyzzyzzzzzzyyzyxxzyyyzyyyyyyyxyzzzzyyyzzzyxyyxzxyyyyyzyzzyzyyyxyyzyzyzzzzzzyyyyxyyzyy{z{zyzzzyyxzzyzzzzzzzyzyyyzzyzz{z{yzyyyzzyzzzzz{z{{zzyyzyzzxz{z{zzz{zyyyyyyyzz{z{zz{zzzzzzzz{zzzzz{zzzzyz{zzyz{z{|zzzzzyzyyyzzzz{{z{zzzzzzzy{y{{zz{zzyzzzzyzzzzz{{zzyyyxyyyzzzzzzyz{yyyyyzyyyzy{z{{zyyzyyyyyyzzzyzxzxyxxzyyxyzzyzzyyyyyxyzyyzzyzzzyzyyyxyyyyzyzyzzyyyyyyxyyyyzzzyzzyyzzxxyywxzzyxzzzyxxyxyxyyyyyxzzxyxyyyyyxzyzxyyzzzyyxyyyyyyyzyzzzyyyxzyyxyy{zxzyyyyxxyyyyzyyyzyzzyyyyxyyxzzyzzzz{yzxyxxyxyyyyzzzyxzyxxyyzyzy{yzyyzxyyyyxxzzyyzyzyzzyyyyyxyzzzyzz{yxyyxyyzyyz{zz{zxyyxyxxyyzzyzzyzyyzyyxyzyzzzyzyzzzyyyzxzx{yzzyzyyyyzzyzyyzzzzzyzyyzzzzzzyzzzz{zzzyyxyzzzzyzzzzzzyzzyyyyyzzzzzz{yyyyyyyzyyzzz{{{zzzzyzzyzzzzz{{z|zzzzyzyyyz{{{z{zzzzyzyyz{zzzyzzzzyyzzyyzzzyzzzzzzyyyyzyyzzz{yz{z{zyyzyzyzzzzzzzzzzyyyyyyzzzzzzz{zzyyxxxxz{zyzyzyzyzyxwyyyz{yyyyzyzxyyyxwzyyyzyzzxyyyxzyxzzyzz{yyyyxyxyxyzzy{xzzyyyywxxyyyyzzzyyzzxyxyyzxyzxyzyzzzyxyxyyxyzzyyzzzxyyxyyyxyyyyyzyyxyyyyyyyyyzyyyzzyyxxxxyzyzyzzyzzzyyyxyyxyxzzyzyyzyxyxyxyyyzyyyzyyyyxyyyyzyyzzzyzyxyyyzyxyyyyx{zzyzyyyxzzz{zyyzzzyzxyzyzyzyyyyzzzxyyyyyyyzzyzzzzzzyyyyxyyyzzzzzzzzyyyyzxyzzzyyyyzyxyzyzzy{z{zyzzzzzzxyzyyzyzyyzzzzxzxzzyy{zzzzzz{zyzzzzyzz{zxzz{zzyyxzzzzzyzzzzz{zzyyy{yzzzyz{zz{zyyyy{zzzz{{{z{{zzzzzzz{{zy{{zzz{yyyzzyzzz{zz{{{zzyzy{yyyzzzyzz{zzzyzzyzz{zzzz{z{zyyyzzzzzz{xzzzyzzzxyzyy{{y{zyyyyyyyyyxzyzyzzzzzyyyxyyyy{yyyz{zzyyyyzyyyzzyyz{zzzzyyyyyyzyyyzzzzyzyyyyyzzy{yy{{yyzyxyyxzzyzzzyzyxyyyyyyyyzyyzzyyyxyyyyzyzxzyyyzxyzyywyzyxyzzzzyzyyyyyxyzyyxyzzyzxzzxxzxyzzzyzzzyyxxyyyyyxyyxzyyyyxxyyyxxzyzyzzyzxzyyyywyzzyyy{zyyzyyxzzzyyzyzyzyyyyxyyyyzyzzzzzzyyxzyyzxzz{zzz{zzzzyyyyyzyzzzy{yyyyzzxyzz{zz{|yzzyzxyyyzzzyzyzzyyzzyzzyyzyzzz{zyzyzzzzyyzz{{{z|zzzy{zzzzzzz{zzzzyyyzzyzz{z{z{{{y{yzyzzzz{z{zyz{{zyzyyyyz{zzz{{z{zzzzyyzy{{{zzzzzz{yzyzy{zyz{z{zzyzyz{zyzzz{zz{zzzzyzzxyzzzzzzz{zzyyyzyyyzz{{z{zzxzzzxyyyy{yzyzyyxyyyyywxxyyyxyzyyzyyyyxzzyyyz{yxxyxyxyzzyzyzzzyyyywyyxy{yzyxzzxxyyxxyyxzyzyyzyzxxyxxxyyzyxzxyzyxyyyyyxyzyyyxyyzyxyxxxxyyyyzyzzzxxzxyxyxyyzyzyyyzyyxxyxyyyzyyyyyzyzyxxyxzyzyyzyzyxzyyyxwyyyxyyyyyyxxyxxyyyyyzzzzzyxyzzxyyzyz{yyyyyxyyzyyxzyyxzzzyzzyxyyyyyzyyzz{zyyyyyyzz{zyy{yzzyyzyyyyxyzzz{zzyxxyyyxzy{zzyy{zzyxzzyxzzzzzxzzyzxyyyzyzzz{{yzz{yyyzyyyyzzzzzzz{zyzyzzyzzzyzz{zzzxyyzyyyz{yy{zz{yzyyyzzzyzzz{{zzzzyyz{zyyzz{zzzzzyzyxzzyzzzzzz{zzyzyyyyzzzzyy{z{yzyyzzzy{z{zzz{zzyyyxyzyzzz{zzzzzzyyzyzyyzzzzzy{yyszyyxyzyzzzzyyyyyyxxxyyyyyzyyyyyyyyyxyzyyxyzyzyyyyxyxyzyyyzzzzyyzwyxxyyyxyyzyzyzzyyxxxzy{yyzzyxxyyxxxxyyyyyzzyyxyyyyyyyyzyyzyyyyyzyxxyxyzzyxyzxxyxyxxyyzzyzyzzxyyzxyxyxyyyzy{yyyyyyzywyyyyyzzzyyyyyyzxzyzyyzyzyyyxyyxyyzyzyzz{yyzxyyyxzyyyxzzzzyyyzyxx{zzzzzzzzzzyyxxxzyyzzzyzyyyzxxyzzzzyzzzyxyyyyxyzyzyzyzyzzxyxyyyxzzzyyzzzzzzyyxyyzzyzyxyzzzyyzxzzzyzyz{y{zyzyzyzzzzzzyz{zyyxyzxyyzyzzz{zyyyyzzyzzy{yzzz{yzyyyzz{{zzzzz{yzzzyzyyzyyzz{zzzzzzy{zyxz{yzzzzzzyzyyyyyzzzzzy{zzzyzzzzyyyyz{z{z{zzyyzxzzyzzyyzz{yzyzyxyyyy{zyzzzyzyxxyzzxyzyyyyxyyyyyxxxzzzyyyzyyyyxyxyyyxyyyyyzyyyxxyywyzzyyzzyyyyyyxyxyzyzyxzzyxxyyxxyyyyzzyy{yzyxxxyxyzyyyyzyzyyyxxxyxxyyyzyxyxyxxyyzxxzzyyyzxzyyyxxxxyyyyyzzyxxyyyyyxyzyz{yyyyyyxyyxxzzyyyzyyxyyxxxxzxxyyzxyyzyxxxxxyzyxzzzyyyxyyyxxxzyzyxzzyyyxyxxyxzyyy{yzzyyxxyyyyyyzzzyzyyzxxxyyzzxzzxzzyyyxzyzyy{{zyzyyxyxwyyxyyyzyzyzyzyyyyyyxyzyyzzzzzyzyyyyzzzzzzzz{zyyyxyyyzy{{{{{zzyyyyyxyzzzzzzzzyyzyyyzzz{{zz{z{yyzzyyyy{zzzzzz{|yyzzyzzy{yz{zzzzyz{yzzz{{yzzy{zzzyz{zyzzz{z{zzzzzyzzyyyzzz{zyzzzyzyyyyyzyzzyzzz{yyyyyyyyzzyzyzzzzyyzyyyyzzyzzyzyxxyxwxxxzyyzzzzyyxyyxyxyyxzyzzzyyzxxyyxyyzyzzzzzxyyyyyzyzyzxyzzyyxyxyxxyyyzzzyzyyyyyyyxyyyzyz{zxyyxyxywyzzyxzyyyyxxyyzyyyyzyzzyxxxxxxyxzyyzyzyyxxyzyyxxyyyx{yzyyyyyzyxxyyyzyyzzywxyyyyxxyyyyyyyzxyyxyywxzzyyyzyzyxxxzyxyyyxyzzzyyyyyyyxzzzyzyyzzxyyxzyyzyyyyyzzyyyxxyyyzyyzzzyzzxyyxxzxzyzyz{yzyxyyxxyyyyyyyzzyyyyyzzxyzzzyyzzzyyyxzyyyyzyzyzzzyyzzyyyyzzzz{{z{zyyzyyyyzzzyyzzzzyyyzzzz{zyzzzz{{yyxzzzyzzz{zzyz{yyxyzzzy{zzzz|zzz{zyzzy{{z{zy{zzzyyyxyzz{z{z{{zzzzzyyxzyyyzyzz{zzzyyyxyz{z{z{zzyyxyzzyyzzzz{yzzyzzzzyyyzz{yyzyzyyyxyyyyyzyxyyzzyxyyyyyxyzzyzzyzyyyxxyxxzyyxxyzyzxyyyyyyyzyzyyzzyzyxyxxyxzzzx{zyxyxyyyxxyzzyxxzyyzyyzxyyxzyyyyyyyxyxyxxxyxyyzyyywyyxxwyxyyyzxyzzyxyyxywyxyyzzyzzyyyxyxxxyyyzxzyzyxyyyxxxyzyyzyzyyxyxxyyxyzyyyyzzyy{yxyywxyyzyxzzzzyyxyxxyzyyyzyyyyyyyyyyzyyzyzyzyyyyyyxyyzzyzyzyyzzzyxzxyyyzyzzyzyxxyyyyyyyzzzzzzxyyyzxyxyyyyzz{yyzyyyzzy{yzyzzzyzzzzyzyyzy{zzz{yzyzyyyyy{{z{{zzyyyzzyyz{zzzzy{zyzyzzzzyzyyzzzz{zyyyyzyyy|z{zz{z{y{zyzyzzzzzyyzz{yzxyyyzzzyzz{{{zyzyzzzyzz{zzzzzzzzyzzyzyzyzzzz{yyyyyyzzzyyzzzzzyzxzyyyz{zz{zzxyxyxxxxyxxyyxxxyyyxyyyyyxyzzzzyz{yyxyxyxyyyyyxz{yyxzyyxyyyyzyxyzzzyzyxyyxxy{zyyzzxzyyyyyyyzzzyzyyyyyxyxyxyxyyzyzywyyyyyyyyzyyzzzyyyzxyyzyxyyzyzzyyxyxxyxyyyzxzyyzyzyxxywyyyyyyzyyxzyxzyxyyyxyyxyzyyxyyyyxxzxyzyzyyyyyzzxxxyzyyyyyyyxxxxyz{yzzzyy{zyyyxyyxyyyyyzzzyxyyyyzyyzzzzyz{zyyzzzyyyzyyyzyzzyyyzxzxyyzzzzzyyxyyyyzyzzzzyyzzzzzyzyyyy{y{zz{yyyzyxzyzzzzyyyz{xzyyzyyxzzzzzz{zzzzyyzyyzzzz{z{|zzyzzzyzzz{zzz{zzyzxyzyyy{zz{zzz{yxyzxyy|zzzzz{{{yyzzyz{{zzzz{{{zzyyyyzzzzzzyzz{yyzyzyzxyzzyzzzzyyyxyyzyzzzzyyzzzyyyyxyyzzzyzzxyyzxxyyyxyzyy{yzyxyyxxyyxyxzyyzzyyxyxxzxyyyxyz{zzyxyyyyxzyyzzxzzyzyzxyxyyzzyyzyxzxxzyzyyxyzzzzzzyzyyzyyxxyzzyyzzy{yxxyxyyyzzxyyzzzyyyxxyyyyzyyyzyyxzyyzxxzyzxyzyyyyzyyxyyyyzzzyyzzyyyzyyyyyyyyyyyzyxyyzxyxyyzyzzyxyyzxzzwyyyyxzyyzxxyyxyyzyzyyzzzyyyyzyzzzzzzz{zzyxyyyyxyyzzyzzzzzzzyyyyyyyzy{zzzyyyzxzzyyzyzzzzyyxyzyyxyzzz{yzzzzxyyyyyyzzy{zz{{y{yyyzzy{zz{zz{zzzzzyyxzz{zzzyzzzzyzzzzyzzzzzzy{zzzzz{zzzzzzzz{zyyzyyyzzyyzz{z{zzyyzzzzzzz{zzzzz{yyzzzyy{zzzz{{{zyyzyzyzzzz{zz{zyyyyyyzyyzzzy{zyzzyyyyzxyzyzyzzzyyyzyyxyyx{zzzyyyxyyxxxxzzyyzyzyzxyzxwxyzzyzzzyzzxxyxyyyyzyyzz{{xyxyzxxyzzzzyzzzzzyxyyyyyyzzyzyzzxzyyyxxyzzxyyzyzxzyyyxxzyyyzzyyyyxyzyxyyyyyxyyyxxxyyyxyyyzyyyzyyyxyyxxzyyyyxzyzxyzyyxzyyzzyz{zzyyxyyxyxzyyyyyzzyyyxyxyxyyyzyyzzxyyxxxyxyzzzzzy{zyyyyyxyzzzyzzzyxyzyyyyxzzzzzz{{xyyzyyxzy{zyyy{zzxyyyyyyyzyzzyzzzyyzzyyyyzzzzyzzyyyyzyzzzzz|yyzzyyyyyzyzzz{{{{{zzzyyzzzyzzz{yzzzyyzzxyyxzzzzz{zzyyzzyyzyz{zzzz{{zyyzyz{zy{{yzzzzzzzzyyyzzz{zzy{zzzzyzyzzzzzzz{z{zzzzzyyyzzzzz{{{zzzyzzxzzz{zzzz{zzyyyzzyyyzz{{{zyyyzyzyyzyz{zz{{yyy{yyyyz{zzzyyzyyxxyyyxxyyyxyyyxyzyyxxyyzyxyz{{xyyxyzyyzyyyzy{zyyyyyxxyyzzzzyzzzyyxyyyyzyzxyzyzzyyxxxxxyyyyzyzzyzyzxxyyyyzxyzyyyxyyyxxyyyxzyxyzxxyxxxxyyyyzyzyyyxxxxxxyyz{xyzyyzxxyxyxxxyyyyyzzzxyyyyxyxyyyyyxzzxyyywxyxzyyzzyyyyyyyxyyzyyyyzzzz{xyxxyxzzyyyzzzyyyyzxyzyzyyzzzzyyyxzyyyzzyzz{zzzyxyyyyyy{yzyzyyyyyyzyyxxzyzzz{zyzyyzyyyyyz{zzzzzyyyzyyyzzzzzyzzxyyzzyyyzzyzzz{zzyzzzyy{yzzz{{{{zyyyyyyyz{zzzzz{zy{zyzyzz{{zz{z{{yzzxyyzzzzz{yz{zzyzzyzzzzz{zzzzzxyzzyyzzzzzyz{{zyyzyyzyy|zyz{z{zzyzzxyzy{zzzz{z{zzy{yyzyyz{{yzzxyyyyyyxyyzyzzyyyzyxxxyxyzyzyyzzzxxxyyyyyyzyzzyyyyyxxyxxyyzy{yzzyyzxyyxxyyyzzzyzyyxxxyyxyzyxyzyyyxzxxxyxyyxxyzzyyyxxyxyyyxyyzzyzyxxyyyyzyyzyzyyyxyyxyxyyyyzyzzxyyxyxxyxxyyzyzxzyyyyyxxxxxzzyzyzyxyxxxxzxyyyxzxxyzyzwyxyxxyyyyzyzyyyyxyyxyzzyyyzyyyyyxyyxyyyyyzy{zxyywyzyyyyzzzzzxzxyyyyyyzzzyzzyzzyyyyyyyzzyzyyyyzyyyzyxyyzzyzzzzyyyyyyxzzzyyyzyzxxyyyzyzzzzzzyzyyzyyyzyzzzzzz{zzyyyyyzyz{zz{z{z{yyyyxzy{zzz{{zzzyyzzyzzyzy{zzzz{z{yyyzyyzzzzzzzzzyyxzyzz{yz{z{zzyzzzyxzz{zzzyz{zzyzzzyyzzzzzz{{zy{xzzyyyzzzzzzzzyzzzyyyyyyzyzyyyyyyxyyxyyzyzyzyxyxyxyxyxyzy{yyyxyyyyxyxyyyyzzzzzyyyyxyyzzyyzz{zxyyyyyxxyyy{zyyzzyxyyxxzzyyyyyzyzxyyyyyyyyyyzzzyyyyyyyyyzyyzyzyyyyyyxyyxyyyyxyzyyyyyxyxxyzzyyy{yyxzxyyxyxzyxzyzzyyyxxyzxxyyyyzyzyyxyywyyyyyyyyyzzyxxyxxyxzyyyzyyyxyyzxyxzzzyyyzyyyzxyxyyyzyyyzy{yyyzyyyzzyyzyyzzyyzyxyyyyyzzyzzzyyyyxxzyzxyzzzzzxzzxzyxyyyyyyyzyzxzyyyxyyy{yy{zzzyyyyzyx|yzz{{zzyzzzyyzyzzzz{y{zyzzzzyyyzyyzzzzzzyzyyyyy{zzyz{{zzzzzzyzyzzz{z{{z{yyzyzy{zzz{{z{zzxyyyyzzz{zzzz{yzzzyzyyyzyzyzzz{zzyzyxyyyzzyyz{zzzyxzyyyyzzyzyzzzzzzyyyzzzz{z{zyzyywyzxxyyzzyzyyxyyxxyxwxyyyzyzzzyyyxyxxxyyzyyzzxyyyxyzyyyyyzzzyzxxxxxyyxy{yyyzzyxzyxxxxyxzzyyyzyyyyzxywyzyzyyxxyyxxxxxyyyyyyyxxyyyxyyxyyyyyxzyyxxxxyyxxyyzyzzzyyxxxxyxxyzyyzzyzyxzxxyxxxyyyyyyyxyyzyxxxyyzyyzyyyxyyyyyxyzyyzyzzxxwyyyxyyyzyzzzyzzxxyyxxzyzzyzzzzyyzxxyyyyyyyyyzxyyyxyxzzzyzzyyzyyzyxwyyy{zzzzzzxyyyyzxzyyzzzzzzyyzyyyyyy{yyzzzzyyyy{yxyy{zzy{z{yzzzzyyy{zz{zzy{yyyyxxzyyyz{z{y{zxyzzz{y{{zz{z{zzyzyyy{yyzzzzzz{{zyzyyyyz{{zzzzzzyzzyyzy{yzzzz{z{zzzyyzzzzzzzz{zzyyzzzzzzzzzzzzzzyzxyxxyzzzyz{zyzyxxyyyyyzyzzzzzyyzyyxyyzy{yzyzyxyxwxwxxyzzyxzzzyxyxxzyyzyyzyyyzyyzxyyyxyzzyzz{zxxxxxxxyyyyzyyzyyyxxyxxyyyzzzyy{xyzyxxxxxzxyyzzxzxxyyyxyzyyxyzyyyyywyyxxyxxyyzzyxyyxxxxyyyyzyzzyyyyxyxxzyzyy{yzyzyywyyyyyzyyyzyyyxxzyxyxyzxxyyzyyyyxxxyyxyxyyz{zyxyyyzxxyzy{zzyzyxyyxyzzzyzyyzzyyyyyyxyyzzyyyzyzyyyxxxyyzzzzyyx{yzzyyxyxyzzzz{yzyyyxyyxyyzzzyzzyzyxyyzyyzzzyzzzzzyxyyyyyzyzzyzzzyyyyxxzzzyzzyzzzzyzzyyxxzyz{{z{{zzyzyzzzzzzz{yzzzyyzzzyzzzzzzzz{zyzzy{zzz{z{zzz{yzzzyzzzzyyzz{zzzyyyyzyzy{zyzzzzzzyzzxyyz{zzyyzzzy{xyyyyzzyzzzz{zzyyzyzyzzyzzy{zzxyyyyyyzzyyyzyxxxyyxyxxzyyzyzyyyyyxyxxyyyyyyzyyyyyyxxyxzyzyyyzzyyyzxyyxyzz{xxzyxxyyywyxzyyzyzxzxyxxyyyyyzzyzyyyzyyyyxxyyyyyyyxyyyzxyxxyyyyzyyyzyyyyyyyxxzyzyy{zyxxxxyxyyxzyzzyzyxzxxyyyyyyxyyyyzyxyyxxyzyyxxyyyzyxxxzyyyyyzyzyyyxyyyyxyyzyzzyzyyyyxxyzyzyxyyyzyyxyyxyyxyzyy{zyzyxyyxyxyyyyyy{zzzyzyyxzyyzyyzzzyyyxzzzyzyzzzyz{yyyz{xyyyyzzzyzzzyzyxyyyxyzyzy{yyyyyzyxyyyzy{zzyzzyyyzxyyyyz{zzzzzyzzyyzy{zzzz{{{yzyxyyyyyzzzzyzzzyzzzyzzy{zz{zzzzyzzzyzyzy{zzzz{yyyzzzxzzyzzzyz{zzzxzzx{zzzzzzzzyzzyyyyyzzy{zy{zyyxzyyzxzzz{yyzzzyyxxyxxyzzyyzzyyyxxxxxyyyzxxyy{zyyyzxyyyzzyzzyzyxyxyyxxyxyyyyxyzyyzyyxxyyzyyyzzyyxxxxyxyyzzzyyzxxyxxyxxxyyyyyyyxyyyxyyxyyzyyzyyyyyxyyyxzyxzyzzyzyyxyywyyyxyyyzyzyyyyyxyyyyyzzyyyxyyxxxyxzyzyyzzyyyxxyxyyzzyxyzyyyyxyxxxzzyyxzyyyxyyyzxxzyzyyyyzzzxxyxxyyzzyyzyyyxxyyyyyyyzzyyyyyzyyxyyyyzzyzzzzxxxyzyyyzzzyyyzyyxzyyyxxyyzyyzzzyzyzxyyyy{zzzzzzzyzyyyxyyyyzzzzzyyyyyyyz{yyzzzzzyyyyyyyzzzz{{zzyzyzzyzyyzz{zz{{{zyyxzy{zzzzzzyz{yyzyzzzzy{{{zzzzyxyzyyzyzzzzz{|z{yyyzzyyz{zzzzz|{yzyzyyzzzzzzzzzzyzyyzyyzzyyz{{yyyzzyyzyz{zzzz{zyxyxxyyyyz{zz{yyxxyyyyxyyzzyyyzzzzyzyyyyyyyyy{y{zyyxyzxzyxxzzy{y{xyzyzyyyzzyyyzyzyyyyyyyyyzzyyyyyxyyyzyyyyyyyyzyyxyyyyxxyyyyyzyzxyyzxyxyxyzzzyzzyyyyyxyyyzyyyyyyyyyyxxxyyzzyyyyyyyyxxyxyxzyyyzzzzyyzxyyxxzzyxzzzzzxyyywyxzyyyzzzyyxyyyxxxyzyyyzzyyyyyxyyzzz{yzzyzy{yywzzyyzzzzyzyxyyxyzxyzzzyzzzzxzyyxyyyzzyzzzzzxyyyyyzzyzzzyzzzzyyzyyzzyzyz{y{{zyzyyzyyzz{zzyzyyzzzyyzzzyzzz{{yzyyyyzyzz{{zzz{zyyzzzzz{y{yyzzzzyz{y{zzy|zzz{{zzzzyzyzxy|{z{z{|yzzzyzzyzzzz{zz{zxyyyzy{zyzzzz{zzzyyzzy{{zz{zzz{yyyxzyyyzzzzzz{{zzyyyyyyy{yzzz{zzyzyzxxyzzzzyyyyyxyyyxyxzyzzyyzzyyxyxxyyyzzzy{z{zyyxxyxxyyyxzz{zxwyxyyyxyyyyyy{zyxyyxyyyyyyxzz{zxyyxxyyyyyxzyy{yyyyxyxxyyyzyyyyyzyyzxyyyyzyzyx{yxxyzyxyyxxzyyyyyyyyyyxxyyyyzzzxzyyyxxyyxyyyxyyzyxxxxyxyxyyyzyyyzyyyxyxxxyzyzzyyzyyyxzyyxxyzzyzzyzyyxyxzyyzzzyzyzyxzxyyzyy{yyyzz{yxzyyyyzyyy{yyz{yzzyyyyxyzzzyzzzyyzyxxxxyzzzzyz{{zyyzyyzyz{yyzzyyyyyzzxyyzzzzzzzyyyxyyyyzzyyy{y{yxyyzzzzzyz{zzzyzzyzxzyzzzz{z{zzyyzzy{zyyzyzzzz{zzzyyzzyz{z{{{z{yzzyzxzz{{zyzzzz{yzxyzyyyyzzzzyzzzzzyzyzzyz{z{{zzyzzzyyyyzzzzzz{zyyzxzyy{zzzzz{zxzxyyyzxzzzyyzzzyyxyyzyxyyzzxyzzzyyyyyxyyzzzzyz{zxxyzyxyyyyyyzzzyxyyxxyxyyzzxyzzxyyyxxzxyy{yzyyzyxyyyxyxyzyyyyyyxxyyyxxyyxzzyzzyyyxzyxyyyyzyyyyyxyxyxyxxzzzyyyzzxxxxyyxyyyzyzzyxxyyxyyyxyyyzyzyzyxyyyxyxyzxxzyzzyxywyyyyyzzyzyzzzyyyyyxzyzyzzzzzyzyxyyyxyz{yzzyzyyyzyxzxzzzyyz{zzyyyyyyyzyzzzzzzyxyyyxyzy{zxz{yyyyyyyyxyyzzzzzzyzyyyxyyyzzyzy{zyzyyyzzyyyyzzzzz{yzyyzyzzy{zz{zz{zzxyzyyyy{{zzz{z{yzyzyzyz{{zz{{zzzzyyxzzz{z{zzzzzzyyzzyzz{{zzzzzzzyzyzzzzzzzz{zyzzyyzyyyzzzzz{z{zzzzzyzyz{zzz{zzzzyyzyzyzzz{y{zzzzyzyz{yz{y{yzzxyyzyyyxyzzzyyzzyyxxxyxyyyzyxyzzzyyzzyxyyyyyyyyzzyyyyyyyxzyyyzyzyyyxyyyyyyzzzyzyzzzyxyyyxyyyyzzzzyxyyxyyyzzzzzyyzzyyxyzzyzyzzyyyzzyyzxxyyyyyyyyyzyyxyyyyxyzyyyxzyyxyyxywxyzzzzzyzyzyxxyyxyzyyyzzyxyyyyyyyyyyyzxz{zxxyyxyyzyyyyzzzyyyyyyyyxzzzyzzyxyyyzyyyyzzzyzyzzyyyyyyyyzyzzy{zyzyxyyyxzyzzzyzzyyyyyyyyyzzyyzyzyzzxyyyyzzzzz{{yzyxyyyyyzzzyyzzzzzyyyzzyzzzz{zzzxyyzzzzzzzzzxzy{zyzzyzyy{zyz{z{zzyyyyyzyz{zz{{{zyzyzyzzyyzzyz{yzzzzyzzzzxzz{{z{|{x{yyzzyz{zzz{{{zyyzzyyzyzzz{zz{zzyzz{yzy{{z{{{zyzyyzz{zyyzzzzz{zyyzyyyyy{zzxzzzzyyxzyyxyyzzzyz{yxyyyxyxxzyxyyzyyxzyyxyyyzzyyyzzzyyyyxxyyyyyzzzzyyyxzyyxyzzyyzy{xxxxxxyxyyyxyyxyyzyyyyyxyzyyxzyxzyyyzxxxyyzyxy{yzyzxxyxyyyyyyyyyxyxyyxxxyy{yyzyyyxxyxyxxyyyzzyyzxyyyxyxxxyyyzy{yyxxxxyxx{yyyyyyzyyyyyxxyyzyxzyzyxxyxyyyyyyzyzyzzyyyyzyyxyzzyyy{yyyyyxxzyzzyzxzzyyyzzxyzyyyyyy{zzyzyyyyyyzzyyz{zyyyyyyxyyzzzzzyzyyzxyzxyzzyyzzzyyzyyyyyyyyzzzzz{zyyzxyzzzyyyyz{zzyyzyzxyyzz{zzzzzzxzyzyzyy{{z{z{zyzzzyzzzyzzzz{zzzyzyyzyyy{{zzz{yzy{yzyyyzzzzyzyzzxyyyyyzz{yz{zz{yzzyzzzyzzyzx{zzyyzxzy{zyzy{y{{yzyyzzyzxyyzzzyzyyzyyyyyyyzz{yyyyxxzyxyyxxyyyyzz{yyzyxxyzyyyzzzyzyxyyzyxxyyyyyyyzzxzyyyyyyzyyzy{zyyyxyxxxyyzyzyyzzyyxxyxxyzyyzyzyxyyyyxyxzyzxz{zyxxyxwzxyyzzzxzyyzxxxzxyxxyyyyyyzyyyyyxwyyyyzzzzyxyxyyyyxxzyyzyzzyyyxwyyxzyyzyyzyyyxyyxyxz{xyyzzzyyyyyzxyyyyyyyzyyyyyyxzyyyyzzyzyyyyxzyyxyzzzy{zzyyzyyyyyyyzzyzyzyyyzyxyyxzzzyzzyzyzzyyyyyzyyyy{zyyzyyyzyzzzzy{{y{yzyzyyyyzzzzzzzyyxxyyyyzzz{zz{zyzzzzzyyzyzyzyyy{yyzzyzzzzzz{z{{zzzzyy{zzzyyyzzzzyzyyzyyy{|z{{z{zzzzyyzyzyzzzzzzzyy{yyyzzzzzzzzz{xyz{yzyz{yzzzzzzyyyyyyzzzzyyzz{zyyyyyyyyzyzyz{zzyyzxwzyzzyyyyyyyywxxyyyxyyzyyyzyyxyyxyxyyyyyzz{yyyxyxyxyyyyzzyzyyyyyyxyyzyzyyyzyyxxyyyxyyyyyz{yyyyxzyywyyxyxyzyzyyxyxxxzyyyyzyyxyzxxwxxyxyyzzzxxyyxyyyyxzxzyzzzyyyyxyyyyyyzyzzyxxyyyyxxyyyzzyyyyyyxyxxxxyzyzzzzxyyyzyyxyyyyyzzyyyzyyyyxzyzyyyz{yyyyyxyxzzyzyyyyyyyyyxyzyyzyyzyzyyyyxyyyzzzyyz{yzzyyxyyxyyzzyzyyzyyxyxyxzzzyzzyzzyxzyyyzzzzyzzzzzyyxzzyyyyz{yzzzzzzzyyzyzzzzzz{{zyyzyyyyyz{zyzzyyyyyyyzyzzyzzzz{{yyyyzzzzzzy{zzzyzzyy{yzz{{yz{zzyyyyyyxy{z{{zz{zzzyyyyyyz{zyzzz{yzyzzzzyzyzzy{z{zzzyyzyyyzzzzyz{xyzyyyyyyzz{yzyyxyzxyxyyyzzzyzyzyxyxyxwyyzyyyyzzyxxxxyxxxyyzyy{zyxxxyyxxyyzzxyyyzyxyxxyxyyzzyyyzzyywxxzyyyzzyzyyyyyyyxxyyyyyyyyxyyyxyzyxyzyxyzyyxyyyxyxxyzzyyyyyzxyyyxxyzyzzyzyyyyxyxyxyxyyyyyzyxyyyyxyyyxyyxyy{zwzxxxywxzzyyzyyxyxxwxyyxzzyyyzzywyyxyxxyyyzyzzzyyyxyyxyyzzyyyzzyyyxyxxyzzzyzzyzyyyyyzzzyyzxyzzyzyyy{xyyzzzyzzzyzyzyyxyxyzzzyzzyzyyyyzxyzyzyyzzyyyyxyyyzzyzzzz{zyyyxyxzzz{zzzy{{xyyyxyyzzzzyzyzyzyyyyxyy{zzy{z{{{{zzzyzyzzz{{zyzyyzyyzzzz{z{zzz{yyzzzzzy{yyyzzzzyzyyyyyxzzzz{{|{{yyzzyyzz{zzz{zzyyyzyzyyzyyzzzzzz{xyzzyzyyzyyyzzyyyyyyyyyzzzyzyyyxyxyyyxzzyzzyyyyxxxxxyxyyyyyyzzyyyyxyxxyyyyzxzyyyxyxzxyyyyyzyyzyxxxxxxxyzzzxyzyyxxxxyxxxyywzzzzyyzyxyxxyzyyyzyyyyxxxyyyyyyyzzyzyyyxxxyyyyyyyyyyyyyxxyyyxxzyzyzyyxyyxyxwxxyzxzzzyyyyxxyyxyyyyzyzwyyxyyxxyyyxyzzyyxzyzyyxzyzyyxyyxyxxzxyyyyyxzz{zyxxyyxxyyyzyy{yzyxyyyxyyzyyzyyzzyxxzyyyzyyyyyzzyzyyyxyxxyzzzzz{zzzzzxyxz{zzzzzzyxzxyzzyzyyzyzz{zxxyyzyzzzzyzzzz{{yyyyyzyzzyzzzzyzxyxzyyy{{z{z{z{zzzzzzyxyyzzzzzyyyyyyzzzz{y{zz{zyzzzzzyyxzzzz{{zyyyyzzyy{zzz{z{{zyyyyyyyyyzzyyzzxyzxyyyyzyyyyzzzzzyzxyyyyzy{yzzzyyxyzyyxzyzyyyyywxxyxxyxxyzxyxzyyxxyyxxxzyyzyyyyyyyxxyxxyyzzyyzyzxxxywxxwxzzyzzzyyzxywxyzyyzyyxyyzyxxxxxxyxxyyzyzyyxyywxxyzxyyyyyyyxyyyyyyyzxzyyxxxxxyxyyyzyxyyyxxwyyyxxyyyyyxzyyyyxxyxwyxzyyyyzzxyxyyyxyyyxyzzyzxxxxxyxyyzzyzzyyyyxyxyxyzzyzz{yxyyyyyxyxyzyyzyyyzyyzyyxzyyyzyy{xxyxyyxyyyyyyzzyzzzxzxxxzzzzzzzzyxyzyxyyyyzyyz{zzyzyyyyzyyzyyyyyyyyyxyxyy{zyz{zyyyyyzyyyyyzyzzy{yyyzzyyzyzzyzyyzzxyxyyyxzyzzz{zzyyyyyzyyzzyyzyz{yyyzzzyyz{z{zzz{{zyyyzyy{zyzzz{{zyyzzyyyyyyyzy{yzzyyzyyy{yz{yzyzzyzxzyzyyzzz{zy{{yyyyyyyxzzzzyzyyyyyyyxxzyzyyyyyyxyyxyxxyzyxwzy{yyyxyxxxyyyzyzzzzyxxxxyyyyyyzz{zzyyxyyxyyyyyxzyzyyxxyyxxyyxyyzzzyyyxxyyyy{zyyyyyyyyxyyxyyyzyyyyyxyyxyyxyxzxyyyyyxxyyyyyyxyyxyzzzxxyyyzxyxyzyyyzyyyyxxxyyyyzxyyyyyxxyxyxxyyyyyyyzyxywyyyyyyyzzzyyxyyxyyyyyyyyyzzyzyyyxyxyyyyyyzyyyywzyyyzzyxyyzzzzxyyyxzyyyzzyyzzyyyyyxzyzzzzzzzzzxzyyyxxyyzzzyzyyyzzyzxyz{zy{z{zzyyyyzzz{zz{z{yyz{xyyyzyzzzyzyz{yzzyzyyxz{zyzyzzzyzyzzyzz{zzzz{{zyy{yyxyyyyzzzz{yyyzyzzyz{yzzzz{zyzzyyyz{zzzzz{zyyzyyxzzzzzzzz{{zyzz{yyz{yz{z{zzzyyzzyyyy{yzzy{{yzyyyyyyzzz{zzzzzyyyyxyyyzzzzzzyxxyyxyyxxxzyxyzxzyyyyxyxyyxyxz{zzyxxxyxxyyyyxzzyyyyyyyyxyyyzxzyyyyyyyyxxyyyzyyzzxxyyyyxxxzyyyyyzywxxyxyyzzyxyzzyyyyxyyxxyyzyxyzzxxywzyxyzxzyyyzzyyxzxyxxyyyxyzyzzyyyxxxyyyzzyzyyxzxxxxxxyyyyzyxyyyxyxxyxyyyyxyzzyxxyyyyxyyyxxyzzyyyxyxyxyzyzyzzyyyyyxyyzzzyyyyzzxyyxyzzyzzyzzyzzxxyyyyyxyzzyz{zyzyyxyxyxzyzzzyzzzxyyyxyyyzyzyzyyyyyx{xzyzyzzz{{zyzzyyzyzzyzzzy{zyxyzzyxyz{yzy{yz{xyzyyyyyz{zyzzzyzyyzyyzz{zyzz{{yzyyxyxyz{zzzzz{yyyzyxyzz{zyzzzyyyyyyzyzyzyzzzzyyzyyyyyy{zz{zzzzzyyzyyxyyzzyz{{yyyyyxyyy{zyzzyzzzyyxyxzyzzzzyyyywyzyyyxwyyzzyzzzzyxxxxyxyyzyzxzzyyxxxxxxyyyyyzzyyyyxxzxyyzzyyyyzyxxxxyxxxyyzzzyyzyyxyxxxyyzyyxzyyxyxyyxxyyzyzyyyyywxxyxyyyyzzyyzxyyxyyyyyyyyyzyzyyxyyxxyyyzwyzyzzxzywyyyyyzyyyzyyyyyxyyyyyyyzyyywzyxxyzzyzyyyyzyxxxyzyyyyyzyzyzzyyyxzyyyyzzzyyzzyyyyyzyzyyyzzzyzyyxyzzyxzzzz{yyyzyxyywzyzyxyzzyzyyyxzyzyzzzyzyyzzxzyyzyyzzzzzzyzzyxzzyyzyzz{zzzzxyyyyzzzzzz{zzzzzyyyyyyzyzzyzzzzyxyzyzyyz{zzzz{zzy{zxzyzzzz{zzzz{zzyyzyzy{{z{{{{yzy{zzzy{z{{z{{zzyyzzxyyz{y{zz{{z{zzzyzyzzzyzz{zyyyxxyyzzzz{zz{zyyyzzyzyxzz{zzzyyxzyyyyyzzyyzyzyyxxxzxyzyzzyxyzyyxxxyxxxyy{zyyyzyyyxxyxxxyzzz{zzyyyxyyxyyyyyyzzzyyzyxyyxyyyyzyzyyzxyyxyxyyyyyzyyzyyxyxyyyyyxyzyyxyxyyyxxyzzyyzzyyxyxyyxxyzzyyzzyxxxyxyxyyyxyzzzzyxyyxyxxyzyzzyzyyyyxxyxxxzyyyzzyxyxyyxyywzxyzzy{yyyyxxyyyyyzyzzzzyywzyzyxyyzyyyzyxyzxyyyzyyzyzzyyxxyyyyxzyzyzyzxyzyyyyyxyzzyzz{zzxyyyyyyy{zzzzz{yxxyxyyyyz{yz{{yyyyyyzyxzyzzzz{zyzyzzyzzzzy{{zyzyyzyyxzxzzz{z{{z{yxyxyzxzz{zyzzzzyyyyzyzzzzz{z{{{xzzzzyzyzz{zzz{{zzzyyyzz{zzyzz{{yyyzzyzzz{zzz{{zyyzzyyyzyzyz{{{yzzxyzyyyzzzzzzzzzyzyzyxyzyzzzzzyyzxyyyyyzzyz{yzxxxyyxxxyyyyzzxzyyyzyyxxyzyyzyzyyyyxyyyxyzyyz|zzzxyxzxxxyxzyyxzyyyyxxyyyyyzzxyxyyxyyxxxzyyyzzyzyyzyxyyyxxzyxxzzyyxxyyyxyyyyzyyyyyxxxyyyyyzy{yyzzzyyyxyyxzyzyzzzxxyyyyxxyyyyzyyzzyyyyxyyxyzyxyzzyzyyyyyxyyyyyyzyzyzzzyyyxzzxyzzzyzxzxyxyyyzzyyyzzzyyzyxyyyxyyyyzzxyzxyzywyzyzyzyzyyyxyyxyyyzyyzzyzyxzyyyyyzzzyzzzyyyyyxyyzzzyzz{zzyyzyyxyzyz{{zzzzyzyyyzyyz{zyzz{xyzzzyzyy{zzzz{xzyyzzyzxz{yyzz{yzzyyyzyzyzz{z{{yzzzyyyyyz{{zz{z{yzyzyyzzyzzzzzzzzyyyzzyyzz{zzy{zzzzyyzxzzzz{zzzzyzyyyyyxy{yz{{zzzzyxyyxyzzzzzz{zyzyxyyyyyyzzyzzxzzxyxxxxzzzyxzyyyzyxxyxxxxyzzyyyzxyyxyyxzyyzzzzzyyzyzyyyxyyyyyzzyxyyyyyxzxxzzyyyyxyyyxxyyyzzyzzzzyywyyxyzzyyxy{yzyzxyxxxzyyzzyyzyyxyxxyxzyxzyyzyyyyyxyxyzzzxyzy{xywzxyxxzyyyyzz{yyyyyyywyyzyyzz{zzyyyyyyyzyyzzyzxyyxxyyxxyzyyzzzyyzzyxxxyzyxyzzzzyyyyxyyyyyyy{z{yzzyyxyyzzzyzzyzyyzyyyyyyyzyyzz{zyxzxyxyzzzzyzzyyxyyyyyzzzyzyyzzxyzyzyyzzzzzzzzyxzyxzzzyzzzyzy{{zzxyxxyyzzzzzyy{{zxyyzzyzzz{zy{zzzzyz{{zz{{zz{{{{zyyyyyzy{zzyzz{zyzzzyzyz|zzzzz{{yzzyyyyzzzzzz{{zyyzyyyzzyzzzz{{zzyxzyzyzzzzzz|zzyyyzyyxyzzyzzzyyyzxyyyyyyzyzyxyyyxyxxywyyyzyyzyyyxyyyxxxyyyzyzyyyyxyxyxyyxxzyzzyyxyxxyyyyyzxyzyxyyxxxxxyyzyyyyyyxyyyxyxxxyyyyyxyxxyxxyxzzyyxyyyyyyxyxyxyyyyyyxzwyzxwyywyyzyyyyzxxyxxxxyyzyyyyzyyxyxxxxxyyyyxxyzxyxzxwyxyzxyxzzyxyywxyyyxzyyyyyzxxyxyyxyyyyzzyzzyyxyxyyyzxyyyyzzyyyxyxyyyyyyzy{yyyyyyxyyyyyyyzy{zyyyxwyyyyyzyyyyxyyyyxyxzy{yyzyyyyyyxyyyzz{zyzz{yyyxyyyyzzzzy{zzyyzyyyyyyzzyyzy{zyzzxyyxzzzz|zz{yxyyyyyzzzzzzzzz{yxyyz{zyyzzzz{{zzyzyyxzzzzzz{{zzxzyyyyyyzyzzzzzyyzzyxyzz{zzzzy{zyyyyyyz{zzzyy{zzyzyzyyyyzzzyy{z{yyxzxyyzzz{zyzyyxyxzxyyyyyzyyxyxyxxyxyxzyzyyyzyzyyyxyxxyyzxyzyzyyxxxyywzzyyzyyzyxzyzxxxyyyyxyzyxxxxxxywyzyzzyyzyxyyyyzyxxyyxzzyxyyyxyyxyyzyzyzyyyyyxxxxyyxzyyzzxyxyyyxxyyyyyzyyyxxxxyxxyzyyyyyxyyxxxyyxxyyyxyyyxzxxxxyxyyyxyzyyzywxxxyxyzyyyyyzyxxyyyyxzyyyzyzyzyyxxxyyyzyyyyzzyyzyyxzzyyyzzyyzyyzyyyyyyyyzyzzyyxyyxxyxxzyzzzyyyxyxyyyyzzzzy{zzyyyzyzyyzyzyyzzyzzxyyyxzyzzzzzyzzyzzzzyyyyyzzyyz{yxyyyxyzzzz{zyzzyzyyyyzzzyzzzzzyzyyzzzzzzzyzzz|{{yyyyxyyzzzzz{yzyzzxyyz{zyyzzzzzyzzzyzzzzzzzzyzzyzzzyyzzyyzyz{{zzyyyzzxy{yyz{{zyzyyyyyyyyyzyyzzyyyxyxyxzxzyzyzxxxzyyxwxxzzzyyyzyyyyyyxxyyxy{yyzyyxyyyyzyyyzyzyzyyxzxyxyyzzzyyyyyzxyxxxxyxzyzyyyyyyyxzyxyyyxyzzyyyyyyyyxzzzyyyyzzxxxyyxxzyyyxyyzxxyxxzyxyyyxyzzzzxzyyyxyxxyyzzyyyzyyxyyyyzzyzyyzyxxxyxxxyyyzyyyzxyzxyyyxxzyyyyyzxxyyyyyxyyzyzyzzyyzyyyyyyyzyyzzzzzyxyyxyyyzyyzyyyyzyyxyxyy{zyzxyyyyyyxyyyzzyzyzzyyyyxyyyyzzyyyzyzyyyyyyyzzzyyzzzzyyyzyzzyz{zz{zzxyyyzxyyz{yzzzzzyzyyyyyzzzz{yz{zyyyy{xyzzzzzyzz{zyzzzzzyzzzzzz{{{yyyxyyyy{zz{z{zyxyzzyyyz{z{z{zzyzx{yyxyzzzzz{zzyzyzzzyz{zzz{zxyyzzyyxzyzyyzzzzyyyzyyxzyzzz{yyzzyzzyyyyxyzzyyyxyyxxyyxxyyyyyyzyxyxyyxxxxyyyyyzyzyyxxxyxxyyyyyy{yyxyzyxzwyyyyyyyyzxywxxxxyxzyyyzyyxyyxxyxxzyxyyyyzxyxyyxxyx{yxyyzzxyxyyxyyyxyyxyyxzxxxxyyyxxyyyzyxyxxxxxyzzyxxyyzyxyxxyyyxyxzyyyyxyyxyxxxyyyyyzyzyyyyyyyxyyyzyzzxyyyyyyyxyyyyyzyzyxyyyyxyyyyy{zyyzyzyxyzxyyyyzzzzyyyyxyyyyy{yyzzzzyzyyyyyyyzyyyzyyzyxxyxyzzyyzzz{yzyyyyzyyzyyyyzyzzyyxyyyzyz{yz{yzyyxzyyyyyyzzy{zzyxyyxxxzz{z{zxzzxyyzxzyz{zzzzzzzzyyxzzyyzzzzy{zzyzyxzyzy{yzzzzzzyzyyyzyzzzzzz|{zyyzyzyzyzzzzyy{yzyyzxxyz{z{yz{zzyyyyyzyzzzzzz{zzzyyyxyxzyzzyx{zyzzxzxyyz{yzzzyyyyyxxyxyyzyyzyz{zxzyyxyyzzzyyzyzyyyyyyyyyzxyzzzzyyzyyyyxyzzyyyzzyzyyxzyxzzyyzzy{yxzxzyyxyzyyyyyyzyyxxyxxxyzzyzyyzyxxyxyyyxyzzzyzyyzyyxyxyyyzyzyyyxxywxxxyyzxzxyzxyzxxxxyyzzzzyz{yyxyyxyyyyxyyzyyyyzzywxyyyxzyzyzyxyyyyxxzzzzzzzzxyzyyxyxy{zyyz{zyyyxxxyx{yz{zzzzzzxxxyyxzzzzzz{zyyyyyxyyyzzy{zzyyzzyyxxxzyyzyzzzyyyyyxyzzz{yzyzzzyyyzyzxzyzzzzyyyzzzzzyzzyzzyz{zzyyyzyyyy{zy{{zzzzyz{yyyzz{zzz{zzzzyyzzz{{yyz{z{zyzzyzyyy{z{zzz{{zzz{yyzzy{{{zzyzyzyzyyzzyzzz{z|zzzyzyzyzzzz{z{zzzzyyyyyyzzy{{{zyzzyyyzyzzzzzyzzzzyyyyyyzzz{zQF{5ta {{{|z{z{{||{||{||{{|z{|{{{{}}}}|{z{{z{z{|z|{|{|{y{{{z{{{{{{z|||z|z{{{{z|{{||{{|{{{{{{z|{{{z{z|{|{{{{|{{{|{|{{|{|{{z{{zz{||{{{||z{{z{yzzz{{{{||zzz{yzyzz{{|||{{{|z|zzyzz{{{{{||{{zz{{z{{{{{{z{||{{zzzzzz{{{{{|{{{{{z{|{z{{{{{{|{{|z{{zz{{{{z{||{{{||{{{z|||{z{||{{{{{z{{{|{|{}||{{{{|z|{{{{{{||{zzz{{{z{{{|{|||||z{{{{zz|||{|}||||zz|z{z{{|||}|{z|{{}{z{}|{||}|{|{{|{{{{{{||}||{|{|{{z|{{}}||}|}{|{{{{{|{|{{|||}{z{|{{{{||||||{}}{{{{{{||||||{{|{{{|{{|{||{||{||||||||z{}{{|||}||{{{|{{zz|{}z{}{||z|{{{{{|{||{{|{{|{{z{z{{|{{||}|{|z|{|z||}|||||||{{|{{z|{||{}}|{{{z{z{{|||{|{|{{zzz|{{|||{|{|{|{{z{{||zz|{{}|{}z{zzz{{z{{|{{|||z|}{{{{z}||{{{{|{z{z{z{z|z{|{||{z||{{z{{z{{{|{{{{{{{zzz|{|{|{|{{{|z|{z{zz{|{z{||{zz{z{{yz{{{z|{{{{zzz{{{{{{{z|{{zz{{|z{{|{{|||||{{{z{|{{|{|z{{{|{{{{{zz{|{||||{|{{{{{{z{|{||{{{{{{{{{zz{{|||{{|||{{{|{{{|{{{|{||{{z{{{yz|||||}{{{{|{{z|{|}|||{||{{z{||{|||{||{|||{{|{|z{|{|}|||}|{{{|{{{{}||}|||{{|{z|||{}|||}}|}{||{{{{{||}||||{{}|{{{{|}||{}}|}{{||{{||}}|}}}|||{|}{{|{|}}{||}{||{{{||||{|||{||{{|z{{z|{{{|{|{{{{{z{{{{{|{||}|{{{{|{|{|}{{}||}{{{|||{||{|{||}||{z{{||{|{|||}|{|{|||{{z{|||||||{{zz{{z{}||}}|{||{{{{{z{z{|{||}|}{{{z{{z{{{{|{{{{{{z{{{{{{{{{||||{{{{zzz{{|{|{||{{z{z{z{{{|{||}{|zz|z{{{{{||{{}{{zzz{{{{{|{{{{{|{{{z{z{{{z{{{||z{{{{{z|{||{|{|{||{{{{{{|{|}|{|{{{{{{|{|{}|{{|{{|{|zz||{|||{{||{|{{{{z{|{{|{{|{||{|{z|zzz|}|{|{}|{|z{{{z{||}z|{||{{{{|{{||{|||||||{{||{{{||}}{|}}{{{{{|{|}{||||||{{{{z||{||}||}}||{|{{||~||||{||}{{z{|||{z}||}|}}}|{{{|{|}|||||}}|{{{{|{z||{||}}||{{{||{||{|{}}|}}{{{{{{|{{{{|||}|{|||{|{|~{|{||{|{|{{{{|{{||{{{|||{{{{{z{||||{||{||{||{z}}|}||}}z|{z|{{{|{|{|{||{{{|{|{{{{|{{|{|{zz|z{zz||{|{{|||{{{{z{{z|z{z{||{|z{y{z{{{{{{|{{zz{zz{{z{{z|z{||{zzz{{zz{{|z{{|||z{{z{z{{|||}{|{{{||zzzz||{{{{|{{zzz{zz|{|{z||||{z{z{z{zz|{{||{|z|z|zzz{{||{{{{{{{{{{|{{{{|{|{{{{{{{{{|{|{||{|||zz{{{{{{|{|{{|{{|{{{{{|z{{}||{{{|zz{z{zz||||z|}{|{|{|{z||{||||{|{{{{|{{{|{{|{|{|{|{{|{{{|||}||{|{{{||zz|||{{||||{z{|{{{{{|||||}}{{{{|||{z||{}}}||{{||{|{{|{||{}|{{|{{{}|||||z{{||{{||{{{{|{|}|||{{{{{{{{}|||||||{{|{{{{|{|{|||||||z{{{{{{||||||||{|z{z{z{{{{|}|}}{{{{||{|}|||}||{|{|{{{||||{|}||{|z{{{{|{|{{{|||{|{{{|{{{|||{||||{{|{{{z|{|}|||{{||{z{z{{|{|{|}{||{{{z{{{{|{|||z{{|{z{{z{z{{{|{|{{{{z{|yzz|{{{|{{z{|y{zz{|{{|||{{z{{y{{z||{{{|||{{z|zz{{|{{z{||z{{{{{{z{{{{z{|{z{{{{{{{{||{{|{|{{{|{{{{{|||{}|{}||{zz{{||{||||||||{{{z{{|{|{|{{|{{{z{{{zz{|||||{||zz|z{{{{|{||||{||{{|{||{z||}|{z}{|{{{zz{|||{}|{{{|{||{||||||}{{{{{{|{{|{{{{|}||{{{{|{z}}}|||||{|z|z|}{|||||}||{|{|z{|}|}|||}}|{}{||{||{}|||}|}{{||||||||}|}|}}}|{{{{{||||{|}|{{|{{||{{||||}||||{|{{{{{{|{|||}|{|{{{{{{{{|{{}|||||{|{{{}|{||}|{}{z||z{{||{||{}}}z{{{||{|{|{||||{|{{|{{z{|{|{{||{|{{z|{{{|{|{||}{{{z|{z{{|{|{|{{|{{z|{z{|{}{{|{{|zzzz{{{{{{{{||}|{zz{{z{||{{{|}{{|{{{z{{{{|{{{|{{{z{z{|z{{|{||||{z{zz{{z{||{{|{z{{{z|{|z{||{|||{{{{{{{|z|{{|||{||{{{{{}{|{||||||{{|z{{{|{|{{{~||{zz{{{{z{{}|}z{||{|{{z{{{{||{{|{{{{z}{|{{|}|{}|{{{{{{{{|{||{|}{{{|||{|{{{|{|}|}|z|{{{||{|||}{{}|||{z{{{{||||||||{{{|{{{|||||}|}||}||{{|{|{||}|}}{|{{{{|||||}}}||{{||{|{||||}~}||{{{{{{||}{|||}{||{{}|{||||}|}||{|{{{|{z||{{||}|}|{|{{zz{|}||{|{{{{|{{{z{|{{{}||{{{|{{{{{|||{||{{|{|{||{||{{|||||{{z{{{{{{|||{||z{|{{{{{||||z||||{{{z{{z|{{|{{||{{z{{{zz|||{{{}{|{z{{{{{|||{|{{{zzz{z{z{{{z{{z{{zz{z{zz{{{{zz|{|z{zzzzzz{{|{z|||{zzzzyz{{{{}{|||{zz{{|{zyz|{|{{{{zz{zzzzz{zz{{{{{{{{|z{{{|||{{||{{{{{{{{{||{{{||{|{|{{|{{||z{||}z{{{{{{{|{|{|}||{{{{{{{{|{{|||{|z{|zz{z{|||||||||z{z{{{|{||{{{{|{{{{{{{{{{||||{}{{|{|{||{|{{|}|}|{{{{zzz||||||||}{{{{|{{{}|{|{||{{{|{{||{|||||}||{{||{|{}}|}|{|}||{}{{{z|z{|||||}z{|{|{{|{||{||}{{{{{{{z|}|}}{}{{|{z||{{||{|{{}{z||zz|{{|||||{|{||zzzzz|{{{{{}}|||{{{|{zz|}|{||}{{||{{z{||||}|{|}{{z|z{|{{|{}{|}|z|z{{zz{{{{|{||{|{{zy{z{{{{|||{|{|z{{{{{{{{{||{|{z{{zz{{||{|{||{{{{{{{{|{{||{{{zz{z{zy{{{|{|||{z{{{z{zz{{|{{|{{{{{{{{z{zz|{||{|{{{{{z{{z{z|{{{{{{z{z{zzz{{{{|{{{{zz{{y{{|{||{{||z{{{{{{{}{||||||z{{{z{{{{|{{|||{{{{{{|{{{||||||{{{{|{z{|{{||}{{{{{|{{{{{|{|{}}}{{{{|{{|{{|{||{|{|{{{|{{{{}||{{||z{{|||{{|{||}}|{{|{|{{|{|||}}}|||{{{{{||||{{|||{{{{||}{||{|||}}}||{{{|||}||||}}||{{z{||{||||}}||{{|||||}||{}}||{|{{{{|{|||}{}|}||{{||{{{{|||||||{{|z{z{{|||{||{|z{z{|zz{|{{{||~{{||{z|{||}{{|||}{{||{{{||{||||||{|z||{z{|{|||||{{{{{z{|{{}{|||||{{{{||z|{{z|{||z{{|{z{z{{z{{|{|{{{zz{{z|||||||{||{{z{z{|{{{|{||{{{zzz{z{z|||{|}|zzzzz|{z{|{{|||{{{{z{y{||}}{||z{{z{{z{{{{z{{{{|{{{z{zzz{|{{{||{{zzz{{{z{{{{{{{{{{z{{z|||||{|{||{{z||{{{{|||{||{z||{{{{{|{|{}{|||{{{|{|zz{}{{{|||{{{{{{{{{|{|{{|{z|{z{{||||z{||{||{{{|{{{||||||}{|{z|||||{|}|}|}{{|{zz||{|{|||}|{{{{||||{}|||{}}|||{||{|}||||}}||{{{{|||||}||}|||{|{|{||}||||}||{|{{{|||||{|{{}}|{{{|{{{|{|{|}||{||{{{{{{{{{||}}{{{{||{{{|||{{|||{{z{{{{{|z|{|||{{{|||{z{}}|{{||||{{{{{{|{{|||{||{|zzz{{|{||||{}||z{{{{{{{|{z||}{|{{{{{z{{|{||{|{z{z{z{z{|{|{|{{{{{zzzz{|{|{|||{{zzzz{{z{{{{{{||zz{zyzz{z|{{|{|{|z{zzzzz{z{|||}{{z{zz{y{z|{||{{{{{{|z{z{{z{{{z{{z{{z{z{zz{||{{{|{z{z{{zzz{{|{|||{{{z{zyz||{{|||{{{{z{{{{|zz||{{{{{zz{{{z{{{{{|{|{z{{|y{z{{||{|{||{z{{{{z{||{|{|{|{||{z{|z|{{{{{{{z{z{{{{{{||z|||z{{{{|{{{|z||||}{{z{{{{{||{||||{{{{|{z{{|{}{|||}{{{{|{{{|||||||||{{{{z{{|}||{||}|z{|{{{|{z||{|{||zz{{{{{|{||{|||{{{|{{{{|{|{{|}||z{y{{z{{|}|||{{{z{zz{z{{|||}||{{z{z{z{z{{|{z}||||{{{||{|||}||||{|{{|z{{|||||{|}{{{|||{||}|~||||{{{{|{{{z|||{|}{|{{zzz{z{||||{{{{{{{|zzz||{{||||z{{{{zz{{|{|{|{{zz{{{{{z|{|{{|||zzz{zzz{{{|{{||{{{{{y{{z|{{z|{|zzz|{zz{z{{{{|{{|{zzz{{{z{z{{|{|}{{{zz{{zy{z{{|{{{z{{|zz{{{{{{|{{|z{z{{{||}{{{||}{{{{{zz{|||}{}{|z{{|y|{z{{{}{||}|{|{{|{{|||{{||||z|{{{{z{{|z|{|{|zz{|{{z{|{{|{|{{{z{{{{z{{||||||||{z{|{zz{{{|}{|{{{|{zzz|||||{||{|||{|||{||||||~{z{{{{||{}{||||||{|{||{||}||||||||{{|{{|{}|}||{}|{{z{|{||}||||||}{{||{{{}{{|||}}{{{{{{{{z|||||{|{{|{{{{{|{|||||{{z{{{z{z|{}z{}}||}{|||}{||||||}{||{|zz|{|||{|}|{{{z{{{{{{{{||}}|{{{{{{{z{{{{{{||{{{{zz{{{{|{|{{|{|{z{y|z{}{z{{|{|{zz|{{zz|{{}||{{{{{{{z|{yz|{|||{{{y{z{z{{z{{{{|{z{|{{zz{{{{|{|||z{z{{{z{|{{||{{{{z{{{z{{{{{{{|{{zzzzz{{{{{|{||{z{{z|{{z{|{{{z|{{{zz{z{{||{{||{|||||{z|z{||{||||{z{{{{{{{|{{{|||{{{{{z{z{||{|{{{{z{{{{|{|{{|{||{|z{{{{{{|{{|{||||zz{{{z{{}{|{}|}{{{|{|{{|{{|{{|||{{{{{|z{||{||}||{{zz{{{|||||||{z||||{{{{{|||||||{|{||{|{~|}{|}|}{{||{{{|||}{||}|{{z||{||||{|}}|{|z}{{{{}|||||}}|{{{|z{{{|||{|}}{zz|{z|z{||{{{{{|{{zz{{||{{{{||~|||z{{||||}|||||||z|{{{{{||}}{}||z{z{|{z{|{||}}||{{{{zzz{{|{{||{{|{z{zzy|{{|{|{}{{{{{{z{{{|z{|{z{z{zz{z{z||{|{{|z{|zzzzz{z{|{{{|{{z{|yz{{{{{z|{{{{zz{|{z{||{|{|{zy{{z{z{z{{|||{|z{{|zz{z{z{{|{||zzz||zz{{{z|{{{|{{{z{z{z{{{|{{|{z{{{{z{{{}{{||{{{z{{{z{|z{{|{{|||{{z{{{z{||||}|{{z{{|{z{{||{}{||{{{z|z{{{||{|||{|{{{{{z{{{{}{|{|{|{{{{{|{||||{|||{{{{{z{|{||||||{{|{zz{|||{{|}}||{{{{{{|}||{|{||{{||z{||{{{}||||}|{{{{{{}{}|}|}||{{|{{{||||{|||}||{|{{{{|||||{|||||{{|{z|{|{||{|{||{{z{{||{|||}{{|z{{{{{|{|||{|{{{{zz{{{z{|z{|{|||}{|{|z|}~}||}}|}{||||{{||}}|{}|{{{{z{|||{{|||}|{{|z{{{|{{|{|||{|z|{{{z{{|||{|{|{{{{z{zz{{{|{{|{zz{|z{z{||{{|||{{{zz{{z{|{{{||{zzz{{{{{{{{z{{{||{zz{{zzz|||}|{{{{|{{z{z{{|||{|{{{{{zzz{{{|{z{|{{{{{|{z{{{z|{{||{{{|{|{{||{{z{z|{zzz|z{z{{|{{|||{{{{{z{{|{{{||{|{{|zz{{{|{{|||{{{{{{{zzzz{||}|{{|{{z{{{{{|{{{|||{{{{{{{||{{{z||{|z{{{{{|{|||{{|}{{{{{{||}||||{|{|{z{{{{{}{||{||||{z{|{{{|}|{{|||{}|{{{||||{|{}|}|{||{{|{{|||||}||||{||{{|{||{||||{|{{z{}||{|}{||||||||{{|{}|||}|{{z{{{{{{{}{{{}|{{z{{z||{{||{||{{{{z{{zz{{|z|||}||{{{|{{}|~||||}|||{|{|{||}||||||{{zzz|z{|{{|{}|{{|{{z||z{|{{}}|{{|{{{{||{z|||{}{{{zzy|{|{||{{|||||{zzzz{{|{{|||{{|{|{{z|{||z{{|zzz{z{{{{{|{|{|zzz{{zz{z{{z{{|{|z{{{zz{z{|{{{|{{{zzz{z{{{{|{{|||{{{{{{z{{|{{|{|{{z|z{{{{z||{{{|{{{{z{{||{|||{||{{{yz{{{z{{||{{{{{{{{{{{{{||{{|{{|z{{{z{{z|{|{|{|{{|{z{z{{||{{{}{{{||z|{{{{{{{|{|||{{{|{{|{|||{||{|{|zz{{||{|{|||{z|{{{{{{{}|{{|z{{z{{{{{{||{||||{{|z{{||}{{|||}||z}{|||{|||||||}|{{z||{{{|||||}}|||{|}{}{}{||}|||{|{|{||{z||{{}||{{z{{|{|{|{z|}{z{{|z{|{{}||{||{{z{{{{{z{|{{{}|}}|||{|||}||||}||||||{{{{|}}|~||}|||{{{{{|{}|}||||{|{{|{z{||{|||||{{{{{zy|{|{||{|{{|{{{{z{|{{||{||zz{zz{{|{{{{{|{zz{{{z{{{{|{|}||zzz{zz|zz{{{|{{{|{z{{{{{{{|{{{||z{{z{|zzz||{|||{{z{{{z|z{{{{{||{z{z{z{yzz|zz{|{|{|{{{z{{{|{|{|||{{{{zz{{{|{||||||z{{{y{z|{|||}{|{z|{z{{{||||{|{{z|{{{{{{{||||}||{|{z{{|{|{z|{{|{{{{{{{{|{||{||||{{{{{{{{|||||||{{|{{{||{{||}}{|{{|{|z{|{|||{}|{|||{z|z{|{||||||{{{{|{}{||||||}{|}{z||{{|{||{|}}|{|||{{{z|{}|{||||{|{{y{{|}|||}|||{||{{|{{|||||}|{{|{{{{{||{|||{{|{{{{z|{}|||{z|{zz{z{z{{{{||{}}}}||||||{}}}|}|}}|||}{|{{{}}|||||}|{{{z{|||{}}}|||{|{{{||{{||||~||z{{{{z{{{|||||||{{{{{|{z}|{||{{|{{{z{{{|||{{|z|zz{z{|{{zz|{{{z{{{{{{{{z|{{{{||{{{{zzz{{{{{|{z}||{{{{zz{|{{{{}||{z{z|zz{|{{{{{{{{{{|{z{z{||}}|||{{{|z{{zz{{{|||{|{||{{{{{}|{||{||{{{z{{|{{||{||{{{{{{z{{{||{|{|}||{|{{zz{|{}{}{|{z{{z{{z{{||{|}||{{|{z{|{|{{|||||{{z|{{{{|}{||}|{{||{||{|||}{}||||{|||z{}|}}||{|||||{|{|{}{|||}{{{||{{|{|}|||{||||{{|{{{z}||}}}}|{||{||{{|||||||||{{{{}|{||||||||{{{{{{{|{|||{}}{|||{|{z{|{{||||{{{{{{|||{{{{|{}{{{zzz{z{{|{{}{|}|}{||}||}}|}}}}{{}|{|{{{}|}}||}|}|{{|}|||{{|||||{{{{{{{{|||{{|}|||{{|{z}|||{{{{{{|z|zz{z|{z{||{z{{{{{z{{{|{{}}|{{{z{{{{{{{|{|{{{zzz{z{z{|{|{||z{{{{{{{z{{{|||{|{{{{|{{{|{||{|{|{z{{{{{{{{{{z{{|z{{{{{z{{|||{{z{{{z{{z{{{{{||{{}{{z{{z{{||{{{|}|{zz{{{{||{|{{{||{z{{{||{{||{|{{|{{{|{z{{||||}||{zz{{y{{{{||{|{{{{{{|{||{|||z|{||||{{|{{{|{||{||||{{{{|{{z|||||}}{{{{{zz{||{|{{}||{}{{{{||||{||||{{}{||}{||}||}}||{|{{|{|{|{||||}}{|{|||{||}||}{}}{|{|{{{||{||||||{{|{{{{{|{}{|||{||{{{{z||{||||{||{{{z{{{{{}|||||{|z{{{z{|{{|}~}|}}}||{}}~|}{|}}||}|{{|||{}~|}|}}|||{|{{||||{|||}|||{{z{{|}||}||{||z|{{z{|{||{{}|z|{{z{{||||{|{{{{z{{|{{{|||{|{{{|{z{{z{|{{{{|{||{z{{z{{{|||z|||{z{{{{zz{|{{{{||z{{{zz{z|{||{{|||{{{z{{zz{}z{{|||{{z{{zz{|{{{|{{{{|zz{{{{||z||{{{{{z{z{{{{|{{||}|z|{z{{{{{{|}|{{z{{{z||{{}{||||||{z{{{{{{|||{||{{{{zz{{{}|||}||{{{z|{{|z{{||{}|||z{{{|||{}|{|{||||{|{z{{{}{|{|||||{{|{zz||||||||{{{||{{{}{||{}}{{{{|||}||||}|}}|}{||||{||}}||||}{z{|||{|||}||}||}{{{{{||||{}}||||||z{{|{{|{|}}|||{|{||{}{|{|{|}}}|{|{{{{{|||{|}|{{{z{z|z{|{|{|~~|{|||{|{|}||}|}{}||||{|{|}|{{}|}|{||{||{|{|{|~}|{{|{z{{{{|}|{|{{{{|{z{{{||||{||||{{z{{z{{||{{||}|{{z{{zz{{||{|{{{{zzy{{{{z|z{|||y{{z{yzz{{||||{}|z{{yz{{{{{{|{{{z{{{{z|{{{||||||{z{{{zz{|{{|{||||{{z|zz{{|z{||}{{z{{{{{z{{{|{|{|{z{z{{{{|{{||||{z{{{{z{{{{{|{{|{{{{{{{{{z|||{|||{{|{{z|{{|{{}||{{{{{{{z{{|||||||||{z{{{z|z{|{||{|{|{z{{z||||||}|{z|{{{{|{||||||}|{{|{{{{||||{{||||{|{{|{|}}||}|||{{|{||{|{|{|||{||||{{{|{}}||||||{||{{|{|}|||{|{{||{z{{{|{|||||}|{|{{|{{|{|||{}|{{{z{{{{{|||{|}}|{z{z|z{{|||{z|||{{||y{z{{{z{~}~}|}|}|{||}~|||}}}}{{|||{|||||{|||{{|{|{||{|z|{|||{{{|{z{{|{|{{{{|||{z{{z{|{|{|{}|{{z{{z{{||y{|{{{z{{{z{z{{|{{|{{{{{{z{z{{|{{{{|{z{{{zzy{||{{{{|||{zz{zzz|{{{||{|{z{zyzz{{{{|{{z|{z{{{zz{z|{z{||z|{{{{{y|{{{{{|{{|{{z{|{{{{{|{{{{|z|z{zzz{{{{|{{|{z{{{{|z{{{||{}|{{z{z{{{|||{{|{|{{{{{{z{z|{||{{|{{|{zzz{{|z{|{|||z{z{{{{|||{{}|{||{{|z|{|||}||{|{{{{|{{{|||}{|||{{{|{{z{|||||||||{{z|{||||}|}{}||||{{|{{{|||}|{||{{||{|{{}|}|}|}||||{{{{||}|||{||zz{{{{{|{||||||||||{{{{|||||||}{{{{{{{{{|{{{||}{{|{{z{z||{|||{|zz{zzz{z{{{||~~~|}{{}{}||}||}}~}|}|}{{{||||||}}|{|{zz{{{||||}}}}}{{||z{{{||{|{{}{z|{|z||||{|||||z|{{z{{{{{|{|{||{||z{{{{{{|{{{{{{{{zz{{z|{||{}|{{{zz{zy{{{|{{|}{z{zyz{z{{{{||||{z{{{yzzzz{{}{{|||{{{{zzz|{{zz{|{{|{{{zzz{{{{{{||{z|{{{z{{{{{|}|{{{z{{{{z{{{{||{|{{|{z{{{|{{{{}|||{{{{{{|{|{||{|}z||{{{z|{}{||||{{{|{{|{|||{{{{|{{{{{{{{{{{|{{||||{z{zz{{|||}|{}|z{|{{{||{{{}|||}{z{{{{{{|{{|{|{||{{{|||{|}}{|||{|{|z{{{z{{|||}}}|{{{{||||{|}||||}{{||||{||||||||{{{{{|{|||{|{||}|{z||{{{|{|||||||{zz{{{{{||{{|}|{{|{{|{{|||{{|{|{{{z{{|{{|{|{}}}}}|}{||{|}|}|}}}|{|||{{|||{||}|}|{|{{{{{|||{|{|||{{{zzz{{|}{|{|}|{{zz{{z|||{{}|}|{{{z{zzz{{{{||{{z|zzzz{z||z{{||{z{{z|z{{{{{|{{|{zzzz{{{{z{{|||z{z{{{zzz|z{{|{|{{{{zzz{{{{{{{|{{{{z{{z{zz|{{}{|{z{{{y{{{{{{zz{{|{z{zzzzz{{{{|{|{zzzzz{{zz{{{{{{|{{{zzz{{{|{{||{|{z{zz{{{||||{{|{{z|{{z{{{{|{{|{{{{|{y{{{|{{z||||{|{|z{z{{{{{{||{{{{{{zz{||z||{||{|{{z||{||z|}|||{{{{z{{{|||}{||||{||{{{|||{|||}{{{{|{|{{|||||||}||{{{{{||||}{{}||{{{|{{|{|{||||{{{{{{{{{{|{||||~{|{z|{{{{{{||}||{{{z{{{|{|||{{|{|{{|{zz|{{{{{{}|{{{{{{{{z|{{|~}}}}|}||~|}~|}|{}}}{|{|{{|||}}|||}||{{{{||}||{|}}}|{{{{zz{|||||{{||{z{{|{z||{{{|||{{z|z{{z{{zz{{{||zzzzzzzz||||{|{z{{{{zz{{{{{{{|{zzz{{z{z{z|{z{{{z{z{z{z{{|{|{{||{{{z{{zy{{z|{{|{{{{{z{{zz{z{||{{{z|{{{{zz{||{||{{{{{{z{z{{|{{z|{{{{z|zz{||}||{{|{|zzy{{{{{|{{||{{z{z{z{||{{||{||{z{|{z|z{||{|||{{{{{|z|{{||z{{|{{{z{z{z{{|{{{|{|{{zz{{zz{{||{|||{|{{{{{{|||||{||{|{{{{{{|||||||{{{{{{|{z|}{{||{{{{{{{|{{{|{}{}|||{{|{{{||||}||}||{||{z{{|||{{||||{{{{{{}|||z|}|}|}{{|{||||{}||||{{{{{{{{|{|{{|}|{{{{{{{z{{{|||||z{{{{{z{{{||{~}|}~|||}}~~~~}|}}}|||{|}{}}{}}||~}|{|{||{}{|{}}}}{|{|{z{{|||||||||{{zz{|{|}|}{||||{|{{|{{|{z{{}{{{{{{z{yz|{{{||{|{z{{z{{z{{|{{|{|{|zz{zz{z{|||{{{{{{{z{y{|{|{|{{}z{z{{zz{||{|{{||{{{{{{{z|{zz{{{|{{{z{z{{{|{{{|||{z{{{zzz|{||{{||{{z{{{z{{|||{|{|}z{z{{{{{{||||||zz{z|{{|z|||{||||{}{{|{{z|{|}|}||{|{{{zz|{|||{||{{{{{z{{|||z|{{{{{|{{zz{||{|}||}z{{{{|{{}||||||{|{z{|z{{||||}{|||{|{{|{{{{}|{|||{{{{||{{{|{|{||||{{|||{{{}|}||}|||||{{{|}||}||}||{{|{|{||||||{~}{|{|{{{{|||}{}{}|{{{{z|{||{|{}|}}z{{{z|{{{{}{z||{{{z{z{{{{{||}}~}~}}}||}}}}|}~}|||{||{|}{|||}}}{{|{|{|{||||||}}||zz{|{|{|{|{|||||{{|{{{{|||{}|{{{{{{|{{{|{{{}|{||z{z{zz{{|{||{|{z{zz|zzz|{{{||{{{z{{{{{zz|z{||{z{{{z{z{{{|{||{z|zz{z|{{{z|z{|||{y{{{zz{||{{{|{{||z{{{{{z{||||||||{{||zz{{{{|||{|{{{|z{{{||{{{|~|{{{{y{{||{|{|{}||{{{z{{{{|||||||{{{{{{|{||||||||{{{{zz{||||||||{{{|{{zz||{{||{{{z{{||{{{}||||||{}{{z{||{|||||}{{{|||{z{{}}{}~|||{|}{{{{}||||||||{{{z|{||{|||}}}|{}z{{{|{}||}||}|{{|{{{{{||||{|||||{{{{|||{|{||}{|{{||||{||||}||{{{{|{{{{|{|||||{|{{{{{{|}|}||{|{{{{{{{{{{||{~~}~}~}|}~~}}}|}}|{{{{|{|}|}||||}||z{|{}{|||{|||||||||z{{{{}|{{||{|}{|{{{|{}{{|||{{{{{{z{{|z|{{}{{{{{{{{{||||||{{{|zz{{{{|{{|{|{||{{{{{{{{|{{{|}zz{z{z{|zz||||{||{|{|{{zz||{z{{|{{|{{{z{{{z|{z}|{|{{|{{{{{{{}{|||{{{{{{{y{{{|{|||{{|z{{z{{}||||}}z{|{z{{||{|||||}{{{{|{|{{{{{{|{{|{{z|z{z{|||}||{zz{{{{{{}|||||||{{z|{{{{|||{{|{|{|{|{{||{{||}|}|{{|{|{{{{||{{}|}||{{{{{{||{|{{||}{|||{||||{||}|{|{{|||||}}||{|||}{{{||{{{|||||||||||{{{|}|}||{||}{{{||{{{{|}{|}}|{||||||||{|||||z{|{{{|{{|{}|{}|||zz{{|z||}{{{|||{{zz{z{{{|||~~~|}~}}}}}}}~}}}|~|||||||}}|{|{}|}|z{z{||z}|{|}||{||{||{{{{{|}{|}}|z{z{{|{}{{{||{|{{{{{|{{{||{}||||{{{z{z||||{{{z|{z{{|z{{{{{}{|{{z{|z{{z{{|||{{||z{{{{{{{||||||{{{{{{z|zz{|{|{|||{yz{{|zz{|{|{|{|{{|{{{z{{{{{|}{{{{||{z{{|{{{{{|||z|z{{{{{|{||||}{z{{{{{{}|{||||}|{|z{{z{{||||}|{||{{|{{|||{||}||~z{{{|{z||{{{|}{{|||{{||{}|{||||{||{{||||||}|{}}|{|{{||{||{|||}}|{|||{z}||{|||{||z{{|z{|}|||||{}}{{|{{|||||||}||||{{{{{||||||}|}}}||{{|||{z|{}|}}{{|{||{|}|||{}~||{||{|||||}}}|}{{{{{{{{||||{|~}|{{{{{{{{||||{{{|{}z{z|z{||{{}~}}|}}}||}~~~}~}}|}}||{|{}||}}|}||||{{|{{{||{{}}||{|{{{{{|{|}{{|}{|{z{{{{||{{|{||{z|z{{|z{z|z{{{|{{{{{{{{{{|{{|{|{z{{{{zz|{|{{|||{{{z{z{z{{{|}{|{zy{{zz{{{||{{{||{|{{{{{{{|}|{||{|{{{{{{z{{{{z{{|{|{zzz|{z{{|{|{z{{{|z{{z{|{{|{{||{z{{{{{|{|z{|||{{{{{z{{{{||{}{|{{{{z{{{{|{{|{}|{{{{{{{z{{}||}{{{z{z{{{z|{{{||{|{zz{{{{{||}|{|||{{{{{{{{{|{|}|{|{z|{{|{{{{||||||||{}|z|{||||}|z|z{z{{{{{||}|{||}|{|{|||{{|||}}|||{{|{||||~||}|}||{{{|{|{||}|{|}|||||{{{|||}|||}|||z{|{{{}}||}|{|{{|||{|{{|{|||}|{{z{|{{{||||{|{{|{|{{{{z|z|{{~~}|~}|}{|~~~}}~||}||~}|}{|}|}|}}||{{||||{}{|}|||{{{|{{{|{{||}{|||{|{{{z{{||{|z|||{{{z{{|z{{z{{{|{{{{{{z{{z{||{{|{z{{zz{yz{{{|{|||{{{zz{z{||{|||}{{{zz{{zz{|{{{{|{|{{zz{{z{{|{|||{|zz{{{zz{{|z{|{|{zzyz{y{{{{{{|{||z{{|{z|{{{{||{|{{{{{z|{{{{|{|||z{{||{|{{|{{{|{{|{{z{|{|{||{|{{||{|{{zz{{{{||}|}{z{{{{{z|{{||{|{{z{{{{{{{{||{|{|{{|{{z{}{|{{|}||{||{{||{{||}||||{z{{{{{{{}||||||{z{}|||{|||}{|}}|||{{||{{{|||||||{{{{|{{||}|||{||z||{|{||||}{}|}{z{{|{|{||||{||~{|{||||{{|{||||}||{{{{{{|||{||{{z{{{{{{{||||||||{{z{{{{{|{{{{~~~|}}}||}~~}|}}}|{|||{|||||||}}}{{{{{|||{||{|}|{z|{z{z|{{{|{{||{{{|{{z{||{{{{{{z{{z|{{{z{{{{||{{z{{{z{z{|{|z}{{zz{zzzz{{{z{{{|{zzz{{zyy{{{{{{|{zzz{y{y{{z|{|z|||{{zz{zz{z{{{{|z|z{{{zzzz{zz{{z{{{{z{zzyz|{{{|{{{{{z{{zzz{{|{{||{{{{{zz{{z|{{||{{{{{{zz{{z{{{{|{{z|{zz{{{|{{||||{{|{{z{{z{{z{{{||{|{z{z{{{|{{{||{z{z|{{z{||{{{{||{{{{{{{||{||}|{|{{{z{{{}|{{|{|}|{{{{{z{{|}{{{{|{{{||{{{{|||{||}{{{{z{||||}{|{|{|{{{{{|{{}|||||||z{{{{{||||}|||||{{{{|z{{{|{|||||{{|{{{|}{{||{|}{z{{{||{||z|{|||{|{z{z{{{||{{||{{{{{z{z{zz{{{~~}}}|}}}}}}}}~||}||{|||}|||||}}||{{{||{{|||||}|{z{{{{z{{{{|{{{{||{z{{{{}|{|z|{~zzz{z{{{{||{z{{{{zzzzz{{{{{zz|{{{{{{{{zz{z{z{{z|{{{{{zzzz|{||{{{{z{zz{z{{{{{{{{{zz|zzz{z{z{{{{||zzz{{{{{z{zz{{{}zz{z{zyyz|{|{||{z{{{{{|{|{{|||||{{|{|z{{{|||||{|z{{zzzz{||{}{|||{{{{{z{{{{}}|{||{{{{{z{zz|{{{|||{|{{{|{z{{||{||||zz{z{{z||||{|||{{zz|{{|{{}}||||{{|{{{|{||{||||{|}{{|{{z|{}{|{}|||z|{{{z|||}|||||{{{{{{{}}|||||{|{|{{}|{||{||{}|||{{{{|{||}|}}|{}{||{z{{|||}||||||{z|z{{|{||{|||{|z{|{|{{||||}{||{{{|z|z{|||||}{{{{{{z{z{||{{~~~}}~}{~~}~~}|}}|||}|}}||}||}|~|{{{{|||}|{||}}|zz||{{{{||||{|||||{zz{{{z|||{|||{z{{|{{{{{{{{|{{|{{{{z{{{{{{||{{{{z|{{z{{{|{{||{{{|{zz{z{{{{z{{{{z{{z{z|y||{{||{{{{{{{z{{{{|{{{{|{z{{z{zz|{{{{|{{{{{z{z{z|{|{{|{{z{|{|z{||{{{{||{z{z{{z{{|{||{||{|{{{z|z|{{{|{|{{{|z{z{{||||||}{{{{{{z{{{|{||||{|z{{{{z{|{|{{|||{z{{z{z{{||z{|||{{{|{{{{|{{|{|||{{{{{{|{{{{||}||||{{{{z{|}||}{{||{{{|{z{|}|{|}||{{{{|{|||||||||||z|{{|{{{}}|||}{|{{{|z{{|}|}|||||{|z{{{z{|{}|}}}{{|||{{{|||||{}||{{z|{|{{|}|{{{{|{{z{{|z{|{|{||||{|z|{{y|{||z~~~~}}}|~}}}}}}}}||||{||{|}}|}|{|||||z{|{{{|}}||{{{{{{|{||{{||||z|{{{zz{|||||{|{z|zz{|z{|{{{||{|{z{z{{{{|{z{|{{zz{{{zz{{z|{{|{|zzzz{zzz{{{{|{|{|{{{{{{{z|{||||{{{zzz{zz{{{{|{{{{|z{{{{z{|{{{{|{{z|{z{{{{{z|{{z{z{{{{{{zz{{|{||{{{zz{z{|{{{|{|{|{z{{zzzz{{||{}|}{{|zz{z{|{||{|{{{}{{{z{{{{|{{|{|{z{{|zz{|||{{{|{{{{{|{{{{}{|{{{zz{{{{{{{{{|||}|{|{{{{{|{|{{|{|||{{|{|zz{|||||{}|||{{|z{{|||{}||}||{{{|||||||||||{{{|{|{{||}|{|}|{|||{z{{|||{||}{||{||{{{||{{||||||{||{{}{||{|||}||zz{{{{{||||||||{z{zz{z}||||}||{{{{{{{{{|||{~}~~~}}|~~}~~~}}~|}|}}||}||}}|}|||{{|||{||||}}|}||{{{{{{|||{||{||{{z|{{y{||{z||}{z{z{||{{{{{z||||{{{{z{z{||z{|{|z{{{|{{|{{{z{|{{z{zz{{zz{|{||z{{z|z{{|zz{{|z|{||{{zz|z{{{|{|{{||zzz{z|z{z|{|{{{|{{{{z{{zz|{{||z|zy{{{{zz{{|{|{|{|y{z{z{{{|{{{{{{{{{{{{|{||||{{{||z{{|{{{|{||||||||||{{|z{{|||}|{|{{{{|{{||||{||{{z{|{{zz{{{{{|{{|{{{{{{{|}||||}|{||{{|}{||{~{}{|{{{{{{z{{||||}||{{|{{{|{|||||||||z{{}{|||||}||}}|{{|z{|{|||||}}|{{|{z{||{|}|||}|||{|{||{|||||||||}{|{{{|{||}{{|{{{|{{|{z|}||{}{|||z||||{{}||{||{||{{{{{z{|}|{~~}}}~~}|}~}|}|||||{}}}}||}{|{||||||}z|~||||{z|{{{{{{||{|}||||zz{{z||||{|{|{z|z{{{z{{{||{|{{{{|zzz{{{|{||}|{{z{{{zz{{{|{{||{{z|{{{z{|{|{{{|{{zzz|{{||}|{|||{{{{z{{z{}|{{||{{z{|{z{{{{z{||||{{{{z{|{{{{|{||{z{{{{{z{{{|{|{|{|{{z|{{|{|{{|}||{{{z{z{|{{{|{{|}|{{{{z{{||||{|||||}y{z|{|{||}|{||||z{{{z|||||{}{{{{|{|z{{||{{}|{|z{|{{{{||||z}||{{zz||{||}{|||||{{|{{{{{||}|||||||{{|{{||}|{|}|}|{{z|||{{||{{~}}}{{|{|{{||}|||}||{||{{||}}|||||||{z{{|||{}|{|{}||{{{|{{{|{}|||}}{|{{{{{|||{||{}||{{{|{{|{|||{|||{|{z{yz||{{||~}~}~}~}~}}}}||||}|||}||}}}}|||{|||z|||{{}|{|{{{|{{{{{{}|{||||z{z{z{z|{|{}{|{{{|{z{z{|{z{{{{{{{{|z{z{{||{||{{{{zz{zz{{{z{|{{{y{{zz{{z|z|{||{{{zyz{{z{{{{|{||{{zzz{{zz|{{{||{|zzzzzzzz|{{{{{||zz{{z{zzz{z{{{{|{{{{{{z{{{||{{{|z{zzzz{{||{{||}{z{{{y|z{{{{{|}{zz{{|{{{}|{{{{||{{||zzz{{||{||{{{{|{|{|z|{|{{{||{zz|z{z{||{{{}||{z{{{|{|||}||||{z{{{{{|{z{|||||}{|{|{{{z{||}}{|{|{{{{|zz|}||{|}||{||{||||{{||||}|{{{{{{{|||}{||||{}|z|z{{||||||||{z{{{{z{|{|}|}||z{{{{|{}{|{{|{|{z|{{|{{{|{|||||{{{{{{z{|||{||{{{z|z{z{z|{}{{}~~~~}}~~}~}}~}}|||||}|}}||}}~{||{||{|||||||}||{{{{{|{{|||{|{|{{|{z{{z{||||{||{{{{{{{zyz{||||{{z|zzzz{{{|{z|||{z|z{y{z|{{|{{|{{{{{|{z{{{z|{||}zyzz{{z{{|{{|{|{{{{{z|{{{{{||{||{{zz{zz{z{{z{|{{|z{z{{zz{{{z{|||{{{z{{{{{|||{|||{yzz|zzz{||{{||||z{{|zzz{|{{|{||{{zzzz{{|{|||{|{{{|{|{{|z|{|}{|{{z|||zzz{|||{}|||y|{{{|{|{|z{|{{{{{{{{{{|{}{|{|}{|{{{{||{|||||}|{{{|{{|z||{||{|{{{|{{z{z}}||{}|||{|{{{|{{|{||}|||||{{{{||}|}||||}{||zz{{{||||{{|{{{{{{{{{{||||||||{|{||{}||{{|||z||{{|{z{||}{||{|{{|z{{z|||{{{{{|{{z{zz{|||{|~~~}~}}}~~~~}~}|z|}{|}||}}|}|}{{|{||||{||}}|{{{|z{{{|}|{{{{||z|zz{{z{{|{{{{|zz|{z{{zz{{{{{|{|{{z|zz{z{{{|{{{{z{{z{{zz{{{{|z{{z{z{z{y{{|{{{|{{|z{{{{z{||{|||{{{z{zz{zz{{{z{||{z{{zzz{{|{z{{{|{z{{z{{{{{{{{|{|{{{{{z{z{{{|{|}|{{{{{{{||{{{{|{||{{{{{{z{|||{{}|z{{z{zz{|{{{|{||{{{{|z|y{{||{|{|z{{{{{z{{{{{||{|{{z{{{z{|{|{{}{{{|{{{z{{|{}|{|||{||{|{z{{||||}||{{||z{z||{{||||{|{z|{|{||||}|||}{||{{{{|||||{|||||{z{{{{|}}|{|}{{||||z{z|{||{||}{{{{|{{||{{|||||{{{{|{{||{{||}}|{|{z{{{{{{{{}{||{z{{{{{{|{{{{|}|{{z{zz|{{{|{|~~~~~}~~~}}}}|}||{|}||}|}|}}{||{||{||{|}{|||{||{{{|{|||||{|{{{zz{{z{{{{{|||{z{z{{{z{|{zz{{|{{{{{zzz{{|{z|{{{{{{zzz{{|{{{|{{{{{{z{z{{{{{{{{|{zzz{{zz|{{z{|{|{zzzzzz{{{z||{{|{{{z{zzz{{{{{{{|{zz{z{z{{{z{{||{zz{{{{{z|||{|z|{{{{|{z|z{{{{{|||{{{z{{{|}z{|{{||{{{{y{z{{|{{|z|||{|z{z{{{|||{|||{{{z{{z{{{|{{|~{{{{{{{zz{||zz{{|{{|zz{{|{|||{||{{{{{{{|z||||{}||{z{|{{{z{|||{||{{z|z{{{|||||{||{|{|{{|||||{|{||||zz{{|{||||||||||{||{{zz||{||||{||{{|{z||{|{{|||||{z{z|||||}}||}{z{z{{z{{|{||||||{{zz{{{{|{{{{{{z{{{y{{z{|||{~}}}~}~~||||}|||||~|}|}|{{|{||{{|||{||{{|{|{z{|{}{{{{z|{{|{z{|z{{|{|z|||z{{{z|z{{}{{|{|{{{z{yzzz{{|{{{z{{z{{zzz{|{||{{z|zz{zz|{z{{{z{{|z{|z{{zzz{{|{|{z|z{{zzzzz{{{|{|||z{{z{zzz{{z{|||||{{zzz{z{{z{{z||zz{z{{{z{{{||{{{{z{{{{zz{{||{{{|zzz{{zz{{{||{|{|yz|zzz{{{||{{{|{z|{{z{{z{{{||{{{{{z{{{{z|{{{{|||z{{|{{{z{||{|||}||{zzz{{|||{{|}|z{{{zz{{|}{||||||{{||z{{|}|||||{{{|{{|{{{}{{{|||||{{|{{{|{{||||{||{{{{{z{|||{{||{{|{{|{{|||{||{{|{{{|{{||}|||||||{|{{{{{||{|||{|{|{{{{{{{|{{|}{{{z{{z{{z{|{|{||{|{|{{{zz|{|{|~~~~}}~}~~}}|}|||{{}{{||||{{{||||{|z|||||||{{{{{{{{{|{{{|{{{{{{z{zz{|||||{{|zz{zzzz{{z{|||zz{z{{|z{z{{z{{{{{zy{{zz{{{{z{{{{z{zzzzzzz{z||{{{z{zz{{zz{{{{|{|zz{{z{zzz{|{|{|z|{zyzz{z{z{{{{{{z{zzzzz{z{{{||{{zzz{{{z{z{{z|{|{{{{{{z{z|{|{|{||{{{{z{|z{{{{|{||{z{zz{{{{{{|{||{{zzzzz{z{{{|||{{|zz{|zzz{{{{{z||{z{{{zz{{|{{{|||{{{{{{{{{{|{|{{}{{{{{{{{{|{{{||||z{z{zz{{||{{|{z||{z{{{z{|{{|{|}|{{{{|{{{{|{|||||{{{|{zz||{|{{|||{{{z{|{||||||||{{{{{z{|{{{||||||{|{{{{z{||{}|{|{{{|{{{{{|}{{|||{z{{{{{{||{{z{}||z{yzz{z{{{{{}}~~~~}}~~}}|}}{{|}|||||}|||{{||{{|{|{|{{|{z{zy{z{{{{|{|||{{{{{{zz{{{{|{{zz{z{{zzzz|{{{{|||z{z{zzz|{{{{{{{{zzzzz{z{|z|{|{|zzzz{zzy{{}{{{|z{zzzzzz{zz{{{|{{zz{{{{z{z{{{{{{{{zz{{zzz{{{|{{|{{zz{z{zz{{zz{|{|zzz{z{{zz{{{z|{{|{{{zzz{{{|{|{z|{z{{z{{{{|{{{{|{|{|zzzz{{|{||{{|{{{{|z{z{{{|{|||{{{{{{{z{|||{{||{{{|{{{{{{{{||{|{|{{{{{z{||||||{z{{{{||{|{|||{|}{z{{|{{z{||{|{||{{{{{z{z{||||||}|{|{{}{{{}{{|}|||{{|z{{{{|{|{|{|}{{|{{z{|{}|||||||{|{{{{{{||||||{|{{{{{z|{|{||||{{|z|{{{|{{{{||{{{{{{z{{{{|{|z{{{|{{{z{z{{{zz~~~~~}}}~}{||}}}~~|}}}||{{{||}|{}||||}{|{|{{z{|{|{{|||{{{z{{z|{{||{{{{{z{zz{{z{{{{z}{|{z{zz{z{{||||{{{{z|z{zz{{{|{{{|zz{z{zzz{{{{|{{{z{yyzzz{{{|{|{z{{{{{zzzz{z{{z|{{z{{|zz{{{z|z|{{{{{{z{{{zzz{{{|{{{{{z{{{{{|{|||||{zz{zz{z{|{z{{|{|{{z{z{{{{{{{|||{{{zz{{z{{{|{|||{{|{zz{z{|||||}{|{{zz{{z||||{{|||{{{{{{{{|{{||{|{z|{{{|{{{{||{||{{|{{z{{|{{{{|||||{{{z{{||||||||{z{|{|{||}{||||{{{{z{|{{{||||}}}}{{{|{{||||||}|{|||||{|{}|||{|}||{{{|{{{{|||{|}||||||{{{|{||{{|}}}{zz{{{|||{{|||{z{|{|{|||}}{z||{z|{z{zz{|{|{~}}~~~}|}}}||}|}{~}}~~|{||}z{}}}||{||{{||{|{{{|}{||||z|{z{{z{||{{{||}z{|zz{{z{{|{|||{{|{{zz{z{{||{|{{{{{{zz{z{{zz{{}{{z{{{{zzz{{{{{|{|{{zz{z{{{{|{|||z{z{zz{z{{z{||||{zz{zz{zz{{{{{|{{{{{{{{{||{|{{{|z{{zz{{{{|{|{{}|z{{|{{{{||||}||||{z{{|{|{|{|{|||{{{{{{z|{|{|||{|||{|z{|{z|{|{|||{{{{{{{{||{{|||{|{{{{{{{||{{{|||{{|{{|{||{||{}|{{|z{|{|{||{|}|}}{{{{{{z||}}|{||{|{{{{{{z||}{|{}}|||{{|{|||||}|||}{|||{{{{}||}}}}}||||{||||||||}||||{{|{{|{{{|}}||||||{{{||||{|}}{|{{|{}|{}||{|}}|{{|{z{z|}||{}||{{{{{{z{|{{{|~~}~}}|}||}|}~|}}}}~|{|z}|||{{||||}|{||z|z{{{|||{{|||{|{||{{{{{{{{|z|z{{{{{{{{{|{|}{|{{z{{{{{||{{{||{{{z{{z{{{|{{{{|z{zz{z{{z{{}|{{|{|{{{|zz{{z||{|{{{{zz{{{z|z}{||||{z{{{{zz{zz{||{{{z{{{{z|{{{{|{{{{{{{{z{{|{{{||{{zz{{y{{{{||||}|||{{{{|{|{{|{}{|{{{{{{z{||{{{{|{{{{{{z|{{||{||{{|z{{{{{{||{{{|{|||z{{{z{{{|{{||{{{{{{z||{}||}|||{|{{{{|}{|}{|}|{{{|{|{z{||}}}|||{||{|z{{{||{|||{z||{{{{{|}|}{}|||||{z{{|{~||{|}|}||z|{}{||||}|}||||z|{z{|||}||{|||{{|{{{{|{|||{}{{{{{{{{{{|||||}{|{{{{{z|}|z||||{z{{{z{{{{|z{}~}|{}}|||}}}||}||||}||{{{||}|{|}||{{{z{{||{||||}|{|zz|{|{|{|||||}{z|{{{|{{{{{{||||{z{z{{z|||{{|{{z{{{z{z{|{{|{{|{{z{zz{{{{{{{{{|{zz{zzz{{{{{{|}{|z{zz{{{z{z|||{}{{|zz{{zz{||{{||{{{zz{zz{{}{{{|{|{{|z{z{{z{||z{||||z{{z{{{{{|||||{z{{{{{{z|{|{||{|{{||{{{{|||}||{|||{{z}{{{|{{|||{z{|{{{{{{|||{|{z{{{|z{{{||{{|{||{{{{{{|||{|||||{{{|zz||{|{}{||||{{{{{z{{||{{}|{|{{|{z|{{}|}{|}}{||{{{}||}{||}}}|{{|{|{|||||}|}|{z|{{{{|}||{|||||z|}{{{{}{||||}||{{{{{{{|}||{|||||{z|{{{{{{||||{{{{{|{{{{|||{}||{||z|{{{{|{||~~~~}|}|}}}||}}}}}}|{|{||{|{||{||||||{{{|{zz{}||{{|||{{{{{|z{{|{{{{}{{z{{|{z{|z{{||zz{{{zzz|{|{{{{|{{zz|{{z||{{{{|{|z{z{{{{z{|{{||{{zz{{|zyy{z|{{||{z{{zz{{{{{z{{{||{z{z{zz{{{{{{}{{zz{{zz{z{{z{|{{{z{{{|{z|z|{{{{|{{{y{{z{y{{|{z||||{{{{z{{{{|{{{||z{{{{zzz{{|z|{|{{{{{{z|{{|||||||{|{{{|{{{|||||{{|z{z{{{z{||{{{||{{{{{{{{|{||{|||z|{z|z|{{{z|}||}z{{{{|{z||||}{||{z|{|z{||{|{||}}|{{{{{{{||{|}||{||{|{||||}{|{{|||{z|{z{{|{||{||||{{||{|||{||}|||}|zzz{{{{|{{{|||{{{|||{|{}|{|||{|{{{z|{{{{||{||{{{|zz{{{{{{|{~~}~}||}||||{}}{}|}||||{{{|{||}|{|}|{z{zz{{{{|{|z{|{{{{z{{{z|{|{||{|{z|zz{zy{{{{z|z{{{{{z{zyz{|{z{{{{zz{{z{{z{{{{{|z{{{{z{{z{{|{||{{|zz{{{z{z{{z||}z{{{{{{z{{z{z|{|{{|{zzyzz{|{{{|{{{{{z{{z{{z{{{|{|{z{zzz{z{|{{z{||{{z{{z{zzz||{||}{z{z{{{{{{{{{{{|{z|{{zzzz{{{||z|{{{z{z{z{{||||{{{|{{{|{z{|||{||{|z{{{{{{{{{||{{{|z|{{{{{{{||{|{|{{{{z{|z||{|{|||{{|{{|{{{||{|||{{z{z{z||||{||{}|{{|z|{|z{|||}{}|{{{|{{z{{}||}||||z|}{{{{{{|||||||{{|{|{{|{|{||||{{{{{{{||||}|||||z{{{{{|{z||||||{||{z{{{{{{|{{||{z{{{zzz{{{{{~~~}}||||||~{|||}|}||||||{{|||{|{||||{{{{{{{|{{{||||{z{{{{z}{|{|{|{{{|{{z{{z}{{z{||{{{z{{z{{{|{{{{{{z{{{{z{{{z{{{{|zzzzz{{{|{{|{{{{{z{zzzz{{{{z{|{{{{{zz{{zz{z{{{{{{z{|{{|z{z{{{{}||{{zz{{z{|{|{{||zz{z{{z{z{{|{{||{{{z{{zz{||{z|z|{{{zzz{|{|{|z{{|z{{{z{{{|{{{{{{|{{|||z{{||||{}|{{z{{zz{{|{{|{|||}{{{{|{z|{|{{||||{z{{{{{{||}|||||{{{|z{{|{||||{}{||{|{{{|}||||{|}{z||{{{}}{}{|||{|{{{||{{||{{|{}}{{{{|{{||{||}}|{{{}{{|{z||}|}|{|zz||{|{{|||||||{{{}{|{{|{{|||||z||{|{|z|||{|||{||z{{{{{{|||{||||z{zz{zz{|{z{~~~~}}||||{|}}|}|}}{|{|{|{|}{|{}|||||{{{z{{|{{|{||{zz{{z{{z|z{{{|{{|z{{{zz{{{|z{||{|z{{{zy{{{|z{{|{{{zzzzzy{{{{{}||{z{{{{z{{{{z{||z{z{{zzzz{}{{|||{{{z{zzzzz{{{{{||{zzzz{zzz{{{{|||{z{z{zzz{{{z{|z{{z{{zz{{{{|{{|{{|z{z|zzz|{||{{{{{{{{z{z|z{{{{|{{{{{zzzz|{{{{|{||{{|z{z{{{{z{|}{{{{{{z{z{||{|{|}|{{{{{{{{{{{{{}|{z{{|{{|{|||{{||}{{z|{zz{{|{{{||||z{{{z{z{|{||{|{{{{{zz{{|||{||||{|{z||{||{|{|||||{{|{{{{|}||{|{|z{||z{{z|||{||}||{|{{z{|||{|||}||{{{{{{}{||{||{|{z|{{||{{|{||{||||{z{{{{{||}|{{|{{|z{{z{{z|zz~~~}}~}~|{}|||}}|}}}}~}|||{{zzz|||||||||{z{{{{{{||{{{||{|{z{{zz{|{{{{||zz{{|zzzz{{{{{{{zz{{zzz{{|{{z{{{z{{zz{{z{z{{{z|{zz{zzzyz{{|{{{z{{z{zzzz{{z{z{||{z{zz{z{zy{{{{{|{|y{{y{{z{{{{z{{z|{zz{{zz{||{{{z{zz{{{z{z{{|z{{||z{{{{{{z||{{{z|z|y{zyyz{{|z{{|{|{{{{z{zy}{{{{{{|{z{{{z{{z{{|{{||{{{y{z{z{{{{{{{|{{z{{{z{||{|z{{{|{{z|z{{{|||||{|{{{{z{|{||{{z|||{z{{{{z{{|{||{||{zzz{z{z{||{{{||{{{{{{z|{{{||}|||{{{{|{{{{{||{}}}{{{z{{{|||||||}|z{z{{{{{|{{{}{||{{||{zz||||{|{{|{zz{{{z|{{{{|{{|{zzz{zz{|{|{{||zz{z|{zz{{{{{~~~}}}}}}}}|~}}{|}~}}|z|{{{{||||||||{{{{{|z||{{{{|||{{{{{{z{|{{{|||z{{{z{{z{{{{{z{{{{{{{{{{z{z{{{{z{{{zz{{z{{|{{{{|{{{{{{{{{|{{z{{{{{{{{zzzz{{{{{||{||{z{z{z{{{|||||zz{|{|{{{{|{{{||{{zzz{{{{|z{||{zz{z{{zzz{||||}|{{{z{zz{{{{{|{{{{z{{z{z{{|z{||{{zz{{{{z{{|{{{||{{{{{{z{{{|z{||||{|||{z{{|||{{{|{|{|{{{|{}|{{{|||{|z|{{{{||||||||{{{{{|{{{|{}z{|{{{z{|{{{{||{{||||{{z|{{|{||||||{|{|{|{|||||||}|||{}{z{|{{|||||}}|{||{{{{{{|||||||z||{{{{||{|{}||{{{|{{z{||||{|}|||{{z{|{}||||||{{{{{zz|z{|{|{|||{|{{y{z{{{||{~~~}}|}||~~}}}~}}|}|{{|}{|}|||}|}}|{||{{{|{|||||}|||{{{{|{|||||||||{{{{z{z{|{{|{}}{z|z{z{{{{{|{{|{{zzzz{{{|{z{{|{|y{z{{{{{{{|{{{{{{z{{{{z{{|{|{|{|{{z|{{{{{|{{{z||{z{{{{{zz{{z{|{{{z|{zzz{{{|{||||{z{{|z{z{{|{||}|{{{{{{{{{|{{|||||{|{{zz{||{||{{||{{{z{{{||||{|}{{{|z{z{z{|}}{|||{{{{|{{||||||{||||{|z{{{{{|{{|}||{|{|{{{|||}}||}{{{{|{|{{|{{|||||{||{{|{|||||}|{{{{{{{{{|}|{||}|{{{{{{||{{|||{}||||{{{{|||||}|||||||{{{||}||||{||{z{{z|||||||||}||{{|z{|||{{{||||{{{|z|{{||}|}}||||{{{|z|||||}||||{{|||{{||||}}}}|||}|}}}}}}}|||{{|{{||||{|}||{||z{{|{{{{|{}||{{{{{|z{||{{{{|{{{{z{zz{{{{{{}|zzz{{{{z|{|z|||{z{zzzzzz{|{|{{|{{{|zz{{{{{|z{||{{z{{zzz{{z{{{{||{{{{{{{zz{|{{{||{zz{{z|z{z{{{{{{{{{{yzzz{z{|{|{|{{zz{|z{{{{|{||z{z{{{{{z|{{|{|{||{|zzz{{{z{{}|{{{{{{{zz{{|{|{|||{|{{{z{{||{{||{|z{{{|{|{{{||{{}{{{z{{|{z|{{|}|{|{{{|{{{{|{|{||||{{|{{{|||{z|{}|||z|{z{zzz||||{{{||z{|z{{|{{|{|}|{|{z{{|{{|||||||||{{{}{||}|{|{{||{{{{{{|}}}|||||{{{{|{{{||||||||}{z{{{{{{|||||}}|{{{{{{{{{||{}||{|{{|{z{||{{||||z{{{{{{{{{{|{~~~~}}}|}|}}}}|||}|{|{{|||||||}{|||{||{{{z|{{|{{{|{z{{|zzz{{||||{{{{|{zzz|{|{{{||{{{{{{z{{{{||{{||{{z{z{z{{z{{{|{{zz{{zzzzz{|{{{{{{{{{{|{{z|{{{{||{{{{zz|{{{||{{||{z{z{zz{z{{{z{{{zz|{zz{{{|{z{||{zzz{{zzz{{{{z{|{{{{{{z{{{{{|||||{zz{{{{z|z{|{|||{{z{zz{{{z{{{{}|}{zz{{{{{|||{{{|{z{{{{{{{||{{{||{zz|{|{{|{|{||||{{{{{{{|{||{|||||{|{{{||z|{||}|||{{{|{{{{{{|||{||{{|{{{||}{||{|||{|{{||{{||||||}}{|{{{|{|||{}}}}|{{||{{{|||||}}|}|{||{{|{{|||}||{{|{|{z{||||||||{{{{||{|||{|{|||{||{{||z|}{{{|}{{z{z{{{z|{{{|~}}}|}||~}~||}}}|z{||z{|||{|}|||{|{z{{{{{||||||{{|{z{{{|||{{|||z{z|{{{{{{{{{||{|{zz|{z{{{{{{{{{{z{z{{z{{{{{{|{|{z{|{zz{|||{{{|{{{{{zzzz{z{{|{{{{{{{zzzzz{{{{{|z{{zz|zzyz{{z{|{||{{zzzzz{|{|{}{z{{z{{{{{{{|{|{{|{{zz{z{z{{{|{|{}|{{{{{|{{{{{|{{|{{{{{z{|{{{{||||{z|{{{{{||{|||{z{{{{{{z{{{{|{|}||{z{{{{{{|{{|||{{{|{{|{{{|||||}|z{{{{{{|{|{||{{|{{{{zz{{||}{{||{||z{|{|{||||||}}||{{{{|{{|{}|{|}|||{{||{{}||}}|}|{|{{|{{}}{|{||||zz|{z{{{||||||}|{{{|{|{|}{|||||{{{{z{{{{}|}||||{{{{|{{z{{z{|||{z{|zzzz|{{|||}}~}}}}|||}}}}}|{||{}{||||||{|}}|{{{{|{{{{|{{||||{|{z{{{z{{{|{||{{|z{{{z{{|}{||{{z{{{z{z{|{z{{||{{{z{{z{{{z{{{|{{|z{{y{{{{|{{|{|{z{z{z{{|{|{|{|{{z{|{{z{|{{{{|||{{{z{z{z{{|z{|{{zz|{z{{|z|z{{|}zz{{{{|{z{|||{|{|{z{z{{{{{{|z|||}|z{zz{{{}{{|{{|{{{{z{z{z{{|{{{|{{{{{{{|z{|{{||{||z{{{{|{|||{||||{{{|{zzz{|z||||{{{{|{{{z{||{||||{{{{|{{{|{{|{}}}|{{|{{{{|{}|{||{{{{{|{|{|}||{{|||{{||||{|{|||{|||{{|{|{{|||}||}||{{|{{|{{||||||||z|{{{{{{|||||||||{{||{{{{|||||}{{|z{{{{|||}{|}{|{{{z{z{{}||{|{}|{{{{{{z{{|{{~}}~|~}||~}}}||}{||}{|}{|}}|||}}||{{|{||{{}}{|z||{{{{z{z{||z{||||{{z{{{{z||{{{{|{z{z{{{{{{|{{{||{zzz{{|z{{z{{{|||{{y{{{{{z|{{||{{zz{{zzzz{{{{||{{{{{{{zz{{|{{{||zz{{{{z{z{{{{{{{|{{|{{{zzz|{||{|{z{z{{{yz{{||{||{{{{z{yz{{|{{||}|{{{{{{{z{{|{||{{{zzz{z{{}{{{{{||{{z{z{{{{{{|{{||{|{{|{{z{||{{|}|{{z|{z{|{||{{|{{|{{|z{{{{|{|||||{|{{{{|{{|{|{}|||{|{{zz{{|{{||||{zz{|{{{{|||{}|||{{|{||{{}{|||||||{|||{{|}|||||||{|{{{|{{{||{|}|{{|{||{{||||||}||||||{{|||}|||{}{{{{{{{{|{||{||||z{{{zz{{}{|{{|{|{{{{|{{z{{|{~}|}||||}|}||}}}|}||{{{}||||||{|||{{{y{|z||{|{|{|{}{{z{{{||{|{{{|{{z{zz{z{|{{{{{{|{z{yzzzz{|{{{{|z{|zz|zz{{{|{{{{zz{{zzzz{z{z{||{{zz{yzz{{{{zz{{|z|{zz{z{z{{|{{||{{{{z{zzz{{{z||{{zzz{zz{{{{{{|{{zzz{{{z{{{|{{{|{|z{z{{|{z{|{|||{{z{zzz{z{{|{z|{|{{{{zzz{|||{|||{{{{{{z{{z|{{{|{{{{|z{{|{{||||{|{|{{|{{{{{{{{{||{{zz{{z{{{||||{|{z|{|{{{{||||||{||z{|zz{||||{|||{|{{{{{{{{|{|{{}||{z{{|{{|}||{||||{z{{{|{|~}|}|||{|||{{{||||}{{||{|{{||{{|||}{|{|{{{|{{z{|||{|||}{z{{{z{z{}||{|||{{z{zz{{||{{{|}||z{{z{{|{{|{{~~|}}}|}}}|}~}}}}||||||||||{{|||||{|z{{||||{|{{||{|{zz{zz{{{|{|||{{|{{z{z{||{z{|||{z{zzzz|{{z{||{z{{{{{z{{{{{{{{{{{{{y{{z{{{z|{|z{{z{{{z{z{|{{{{|zz{z{{{z||{{||{{zzz|{z{zz{{|{{{}z{{{{{z{z{{{{|{{{{{{z{{z{|{{{{|{|{zz{y{{{|||||z|zzzzz{{{{|z{|{||zy{z|z{z|||z{|||||{{{{zzz{{|{{{|{z{{{{zz{|{|{{||{z{zz{z{}|{{{{{{{z|{{|{z{z||}||{{|z{{||{{{|}{|}|{{{{{{{z{||||||||z{{{||z}||{|}|||{z{{}{{||{|||||}{{{{{{||}||}||}|{|{{{{||{||{||||{z{{{{z|{|||{||{{{{{{{|{{{|||{|||{z{{{|{{||{|||{{zz{{{{|{{{|{{||z{z{{{z|{|{{~}~~~}|}}}||{|}~}~}||z{||||||||}||||{|{{{{{|{{|{||}{{z{z{{z{{|{z||{|{{z{{{{{|{{{||{{{{{y|{{|{{{{{{{|zzzz|{zz{{{||{{|zzzzzzz{{{{{{{{{{zz{{{z{{||||||{{{zzz{zz{z|{|||{{{{{yz{{|{y{||{{z{z{y|z{{{{{z{|{{z{{{{{z{|{{||||{{z{{|{|||||{||{z{{{z{|{{|||{{||z{{z{{{{z|{||}||{{{{z{{{||{|||{{z{{{{zz|{|{|{||{{{{{{z{{{}{|z|{}{{{{{z{{||||||{{{{{{{{{z|{{|||}|{{|{{{|{|{|{|}{{z{z|{{{||||{|{||{{|z{|{|||{||||{{||||{|{|||||{|}||||{|{}{{{{||||z{{{zz{||{|{||~{{{|{{{{|{||||{{{{|z|zzz||{||{||{|z{{{|{|||{{{{||{{{{zz{{{|}|}}}}}}}|}}}|}}~|}}|{||{|||}}{{||}|{|{{{{z{||||{|||{{{{z{{z{||{||{{{{{z{z{{z{{{{||z{{{z{{z{|{|{|}{|{z{{zzz{{{{{{|{|zz{{{{z{||{{zz|z{{{zz{{z{{{{{|||z{{z{{{{{{|{|{||{{z{{zzz{zz{z{|{{z{{z{{zz{{{{{|{||z{{{{z{||||{|{|{zzz{||{|||{|||{{{zzz{|{|{{|{||{{{zz{{{||||||||{z|{{z{{|||{{|||{z{{{|z{{{||{||z|{{}{{{{{{|{{|||||{{|{{{{|||||||{{|{{{{|}||||}|||z{{|{{{{||}||{{{{|{{{|{||||||||{{{{||{z||||||{}|{|||{{{||||||||||||{{|{}||}||{||{{{||{{||}{||}}||{{{{{|{||{||}}{|{{|{{zz}{{|||||{z{{{{z{z|}{|||z{{{{z{{|{||{~}}~|}|}}||}|~~}}||}||{|{|||{{|||||{{|{{|||{|}{||}||{{{{{{z|||z||{|{{{{{{|{{|z|z|{z{{z{{{{z{||{z{{{z{zzzz{{z{{|{{{{zzz{zz{{||{{|||{|{{{zz{{||{{|{{|{{|z{{{{{{{|{{||{zz{yz{{||{{{{||{zz{{zzz{}{{{|{{{z{{z|zzz{{||z||{{{zzz{{{{{|z||{{z{{z{||{|{||||{{{{{{z{{{||||}||{{{{{z||{||||{|}|{{{{{y{|{{{{||{|{{{{zz{{|{|{|||{|{{||{{{|{||||}|{{{{z|{||{|{|||{{{|{{|y{}||||||||{{|zz{{}|}||~||||{{||{||||{|}||{|{{{{{|}}||{}|{{{{{{{z|||}|||||{{{{{{{|}|{|||}|{{z{{{{{|||{{|}|||{{{{{{}|{|{}{||{{{{z{|{|{|{{|{{{zzzz{|||z|~~~~}}|||||}|}|}}}|||{||||{|||||}{|z{{{{{{||||{{}||z{{{{{y|{|{||{|z||{{{{z{{{{{|||{{{|{zzz{{{{{{{|{zzzzzz{z{{}|{|{zyyzzy{zz{{{|{{{z{z{z{{{{{z{{|{|z|{zz{{{{{{{|{|z{zz{{{|z{{zz{|||{||zz{{{{{{{z|{|{z{z{|z{{|||{|{{|{{{zzz{{|{{|{{|{{{|{{{|{{{z||{|{|||{{{{|{}z{|}||{{{{z|{{||{|{|{{zz{{z{z{|||{{||{z{{|||z{{{{{|{|||{{||{{|{||{{|}{{{{|{|{}|{||||||{{|{{zz||||}|||{z|||{{{{|||{}|}||{{|||{|||{{{|||{{|{|{{z}{}}|||{{{||||{}|}|{}}|||||{|||||{||||}|{{{|{{|{}|||}|}{|}{{{||{{|||}}{|{z{zz{{||{||{{|{|{|{{{z||{{{~~~~~~|}}~|}}}}}|||}}||{{{{{{|||||{|}|z{{{z{|{|||{|{{{{zz{{{z{{||||{|{{{{{{zz{||{{{|{z{{{{z{{|{|{{|}|{{{{zz{{{zz{z{{{{z{z|z{{|{{{{{{|zz{zz{zz{|z{{||||{{{z{zz{{{||{|{{zzz{z{y{zz{z{||{{{y{{{zz{|{|||{zz{{{zz{{|{|{{z|{{z{{y{{{{{{{||}{{{{zzz{{|{|{|||{z{{{{zz|}|{{|{}{{|||{{{|{{|||{{{{{{{yz{{|||||||{{{|{{z{{|||{{{|z{{{{zz{{||}|{|}{{|{{{|{|{|}||||{|{{zz{{{{||||}|}{{z|{{{|||{||||{|{{{{||||{||}|}|{{{{|{||}|||}|}|{|{|||{{{||||||{z{{{z{{|{{||||}|{{}|{|{||||||||{z{z|{{{||}|{{||{{|z{{{z|||{||||{{{|{y|{||||{~~~~}}||}||~|||~|}}|||{{}{|{|||||}|{{{|||{{||{|}{|||{{{{{|{{{||{}{}{|{zz{{{z{{{{||||{{|{{z{{||{z||{{z{zzzy{{{{|z{{{{{zz{{z{z|{{{{|{{{{|{zzzz{|{{|||{{{{{zz{{|{{{|||{z{|{{{z{z{{z|||{|{{{z{{{{||||||{{{{{{z{{|||{||{|{{z|zz{{{}{{|||{{{z{z{{{z{|{||}{{{{{{{{{||{||{||{{{{|{{||{|||||{{{{{{{z|{||{}||{{{{|{{{{{|||{{{|{{{{{|z|||{{|||{{{{{|{{||{}|}{|{z{|||{{|||{|||{|{{|||{{||{|}|}||||||||{{{||}~|{|z||{{z|{}|}||}|{{|{{{||}||}|||{|z|{{{zz|{|||||}|{|{|{|{||||||}|{|{{{|{{|z{{||{{{{|{{|{{z|||||{|{{{{{{{z{{||{~~~~}}~||{|}|}||}~}||{{{||{{}|||||}|{{||zz|{|||{|||{{{zzz|z|||||{||}{|zzz{{{|{{{|{{|{{{{{zy||||{|||{{{{zz{{z{{{{{|z{{{{{z{{{{{{{||{{z{{z{zz{|{{|{{||z{zz{z{{|{{z{{{|{{zy{{zz{{{{{{|{z{zz{{zz{{|{{||{{z{{|{zz|{|{|||{zzz|y{{|||{{|||{{z{{z{{|||{|}{{{{{{zzz{|{{{|||{{}{{|{{{{|||{||||{z{{z{|||{|{{{{{z{{{z{z{{|z{||{|{{{||{{{{}|||||{{{{||{{|{{|{||}|{{{z{{|{|{}||{|||{z{|{{|||||||{|{{{{{||||||||||||{z{|{||}{}{}|{|{|{{{{||||{|||}}{{{{||||}|{}}||||{|{{{{|||}|||||{{{||{z{|{{{||||{|z{{{z{||}|}||{|{zz{{{||{|z~~}}}}~{}||||}}}|}|}||{|{{|y||||||z{z||{z{||{}|||||{|zz{{z||{{{}||{{zz{{{z{{{{}{|{{z{{{z{{{{|{{{{{{z{z{{{zz{{|{{{|{{{zzz{z{|{{{|{|{zzy{zzzzz|||{||{z|{z{zzz|{{{{{{zz{{{z{z{{{{{z{||{z{z{|zz{{{{{||{yz|z{z{z{{{{{||{zzz{{{{{||{{{||{{{{{z{{{{{|||||{{{{z{z|{|||{|}|{{{z{{z{{{{{|||{{zz{{{{{{|||{|{}{z{z{{{||}||{||||z{{|{z{{||||||}{{{{{|{z{{{}|}||{{{{{{zz{||||||||{|{{{z{}|{{{{~||{{{{||{|||||||||{{{{{{|{}|}||||||{{{z{{||{||{|{|z{|{|z{{{||}||||{|{{|{z|{{{|}|||{{{{{|{|{||||||{|{{{{z{{|||z||{zz{z{{{z{{||{~~~}|}||||}}}|}}~}}||{{|{{||||||{{{{||{|{{{|{{{||||{{zz{|z|{{{{{|}||{{{z{{|{z{{{}|zzz{z{{{{{{|{|{{{|{{z{z{{|{{{{|{|{z{z{zzz{{|{z|z{{{{{{zz{||{{{{|z{z|{{{z{{z{{z||z{{{{zz{{|{z{{|z|{{{zy{z{|z|||{|z{{{z{|{|{{{{{{|{{z{{{{{z||{{|{{|z|{{{}{{{|{{}||z{{|{|{||{{{{|||{zz{{{{z{|||{|||z||{zz{{{{|{|{{||{z{{{z{{{|{|{||{|{{|{|{|||}|{{{{{|{|{||}{|}{||}{{{|{zz{z||{|{|{|z{{{{{||||{|}|{|{{z|{{{{|{}||}|}{|{{{{{|}||||||||{{{{{{}}|||}}}{|{|{{{{{{}|||}|{{{|{{{{{|||}|||z|{zz{|{{|||||{|{{{||{{{{}|{||{{{{{{z{{{{{{{|~~~}||~}{{|}|}~||}}||{{||{{{|{||{||{|z|z{{z{{{|{|{}{|{{{z{z||{|{||}z{{zzz{y{{{|{{{|{{{{zzzz{{|{{{{{{{{{{z{{{|{{{{||{{{{{z{z{{{{{{|z|zz{{{z{|{|{{||{z{{{{z{zz|zzz{{{|zzz{z{z{{{{{z|{zz{{{z{z{{z{{|{{{{{{z{{z{z{|||{||zz{zz{z|}{{|{||{{|{|{{{{{{{{{{}{{{|{z{{{z{{{{|}{{{{{z{{{{|{|{{{z{{{{{{{z|{|||||{z{{{||{||{{||||{zzz{{|{{|{|||||{{{{{{|{||{}||{|{zz{|{{z||{|||{|{{{{|||{||{|||}||{|{{{|{{|{{||}}}{{{|{{{{}{||{||}|{|z|||}{{}|||{|{|{{z{{|zz||}|}||z}{{{{{|{{{|{|{{{{z{{z|{||{|{}{{z{{{{z||||{{|{{{{zz{{{{}{|{~}~~}~~}||}||~}|}||}|{|{z|{{|{{{||{|{{{{{zz{{||{{{|{||{yz{zz{||{{|{{{z{zz{{z{{{z{{|{{z{z{z{z{{|{{{||{yzzzz{zzzz{{|{{zzz{{zz{{{{{{z{{|zz{{{z{|z{{{{z{|z{{zzzz{{{{{{{|{z{{zzzzz{{{{{{{{{zz{zz{z||{z||{{{{{z{|{{{|{|{|{{zzz{{{{|{{{{z{|{{{|zz|{|{{|z{|{{|{{yyzz{{|{{{|{{z{{{zzz{}{{|}{{{z|{{{{z|{|{|{|||{{{||z{{{||{||{|{{|||z{z|{|{|}{{|{|{zzz{z{|||||z|{{|{zz{||{{||||{{{{{|{||||{}}|{{{zz||z{|||{|{}}zz{{{{{|}|||{|}{|{{z{{{||||{|{|{|{{{{||{{{|{{||{{{z|{{{{{|||}||{{zz{{{z{||{|||||{|z{{z{{{{|{{|{{{{{{zz{z{|||}~}~}}~||}}|{|}}{|||||{||{||}|||||z{{{|zz||||{||||{|{zz{z{|{{|{|{}|z|{{|{zz|{{{||{{{{{|z{{{|z{z|||{z{zz{z{{y{|z{||zz{z|{{z{{{{{||{{{{}{{z{|z{{||{|{z{{zz{z{{|{z{||{z{{zz{z|{|{{{{{zz{z{{{{{|{|z|{{{z{{{yz{{{{{{|{|{{{z{{|{{|{{|||{{{{{z{zz|||||{||{|{zzz{z{|{{{||}z{|{|z{z{}||{{{|{{{zz{{z||}||z|||{{{{{{{{{{{{}||||{|{|{{|}||||||z|{{|z{z{z|}{{||||||{|{z{|||||{||{{{{z{{|{}|{||||z|{{{{{||}{||||{{{{{{{{|||||}|||{|{|||{{{||}}|||z{{|{||}|||{||}}|{{|{z|}|{|||||{|{zz{z{{|||{|}||{{z{zzzz||||{|{|{{{{zz|z||{|~~~~~|~}}}|}|}}}~}}|}|}|||{|||||||||}|{|{{{|z{{||{||||{{zz|{z|{|{{|||{{{|{{{{z{||{|{||{{zz{z{{||{|{|{{zzz{{z{z{{{{|{{{z{z{zz{z|{{||{|{{{z{z{{{{{||{{|{{{{zz{z{{{{{{|}{z{{{z{z{|{|{{{{|{zz{z{zz||z{{|{{{z{{|{z{{{|{{|}|{z{{zzz||{{{{{|||{{{{{z{{|{|}|||{{{{{z{{{{||||{{{|{{{{z{}{|||{{|{{{{{{{|||||{|z|z{{{{{z|{|{|||{{{{|{|z{{||||}||{{z{|{{z||{||||}||z{{{{||}|||}}{|{{{{{|{{{|||||}{{|z||{{{}{|||}||{{{|{{|{||}}||||{}}{|{{||{|}|}}|{{{|{{{{|{{||}|{|{{||{{|{{|||}||{|z{{{{|||||}}||{{|{{{{||||{{|||{||{{{z{||{z~~}}~~}}}|}}{|}}}||}}{|{|{|z||{{||}}}{{{|{{{{{|||{{||{{|{zz{z|{{||||{{{{z{{{{{}{{|||{}{{{{z{{{{{{{{|{|zzzz{{|{z{{z{|{z{{{z{{zz{{|{|||{|zzz{z{{{||{{z|z||{{z{{{{{|{|{|{|z{{zz{{{{{{{{|{{zz{zz{z|z{{{{|z{{{{{zz{z|{{{|}{{|||z{zz|{{z|z|z{{{{{{{|{||{{||{{z{zz{{{{|{||{||{{{|{{z{|{}{}||z{{|z{|{z||}|{{{||z{|{{{{|||{|||zz{{{{{{{||}{|||{|{{|z{|{}{|}|}|{z{||z{z}|}||||{|{{{{z{{|||||}}}|||{|{|{|||{|}||}{{{|{{{{|||{||||{{{{{{{|||{||||||{{||z|{|||||}||{|{{{{{z|}||{}|{|{{z{{{{}|||{||||{{{|z{{|{|{{|{{{{{{{{{{|||{~}||}|}||}}}~}~}}}{||z|{{{||||||||{||{{{||||{}|{{||z{{y{{{{{{{{{{|{{{z{{{{||{{||{|{{{{zzzz{||{z{{{|{|{{{zz{{{||{{{z{zz{{{z{|z{{z{{{z{{z{z{|{|{{{{|{{z{zzzz{{|{{{||{{{zzzzzz{{{{{||{|{zz{{{{|z{{|{{{{z|{{z{{|||{{{{|{{zz{z{|||{{{||{z{{{{|z|{{||||{{|{{z{z{{{|z{|||{{z{{{{{{|{}{||z|{{{{{{z{{|{{|}{|{z|{{{{||{{{}||{{{z|{{{{||||||{{|{{{||{{|{}||}}||{{{{z{|}}|||||||||||{{}|{{{{}{|{{{|{{|||||{}|{|z{||{{|{}}|||{|{z|{|{{||{{|{||}||{|{{{{{{||||||{{z|{z|{{|||{|}|{{{|{z{{|||{{||{|||{z|{{|||||||{|{{z{{{{|{|{|~~~~|}|||||}}}}|||||||}{{||{||{||||||{|{{z{{|{|{{|||z{zzzzz|{{|{|||{z|{z{{zz|{{z{|z|z{z{{{{{||{{{{{|z|zzz{{{z{{{{{{{z{zz{z{{z{z{{{{|zz|z{z{z|{{||{{{{|{{{zzz{|{|{||{{z{{{z{{{{{{|{||{{z{z{{{{{|{}|{zzz{{z{z|{{|{|||{{{||{|{z||y{||{{{zz{z|{{{{|{|{|{z{{z{{|||{{|||{{{{{{{{|{}{}||{|{zz{{{zz{{||{{|||{{{{{{|{{|{|{{{{z|z{{{{{}||||||z{{{{||{||{|||||{{{{{|{z{|{{}{||{z{z{||{{|{||{}||{{{{{{|{|{|{|||}|{{|}{{|||}{|}}{{|{||||{{|z||}|||y|{|{{|}{{||}||{{{{|{{|||{{}||||z{{{{|{}|{|||||{{|{{{{|||{{{||{{{zz{{{|{|{{~~}~}~|}}}}|}{{||}|}}}}}~||{{{z{|||||||}{||{{zz{|{{||{|||z{{{{z|{{{{|{||||{|{{{{zz||{z{{{{z{zz{{z{{|{{{|z|zzzz{z{{{{|z{|{zzzzzzzz{{{{{{{{{zzzz{z|{{{{|{|{{{zzzz{{|{{{{{||{z{z{{{zz{z{z{{{{{zz{z{{||{|{|{|zz{z{{{{{z{{z{|{yz{z{zz|z{z{|||{{{{zzyzz{{{{{}||z{{{{|{{|{{{{|{|zzz{{{{{{|{{|||{{z|{{{{|{|{{|z|{z{z{{{{z|{{{|{|{|{|z|{{|{{||||||{{|{{{{{||{|{|{||{{{z{{z|||{{|{{|{{{{||{|||{{|}{|{{{{{|||{{{{}|}|||{{||{{||||||||{||{{{|{|||||}{{{|||{{||{{{|||}|{{{{{z{|}{{|{||{{{{{{{{{{{||{|}{{{||{{{||||{{}{|{{zzz{z|||{{~~~~~~~~~~}~}}|{|}|}}}|}|||}||{||{z{||||||{{z{{zzz{{{{|{||}{{z{zz{z{{{||z||{z{{{zzzz|{|{{|z{{{{{{zzz{|{{{{|{z{zz{{{zz{{{|{{{{yzzz{z{z{{{{||z{zzy{zzz{|{{z{zz{zzzzzz{{{{{{|{{{zzzzzz{z{{{z|{z{{{{y{{z{zz{|||{{z{{|{zz{{{|||{z{{z{{{z{{{{|{{{z{{|{z{{{z{||{|||{{zz{zz{{{z{{||{z{{{z|{{{||{|{|{z|{{{z{|{|{|{|{{{{{{|{{{{|{z{|z{zz{|{{z|{{}||{|{{zzz{|{||{|{|||{{|{{{z{{||{||}||z{{{{z||||{|||{{{|{z||{||||{||}|z|{{{{z|}|{{|||{{|{|{{{{{{{{||}|{{||||||{||{|}}z{{{|{{{|||{|{||{|zy{{{{{|||{||{|{z{{{{z|{||{{|||{{{{z{z|}{{{~}}~~~}}}~}||}|{|}||{||}}{{|{{|{{{|{|||{{z{{{{{{{{{{||{{{{z{{{{z{{{{z{{|zz{{{{{{z{zz{{{{|{zz{z{z{{{z{{z{{y{{{z{z{{{{z{{{zzzzzz{zz{{{|{{{{zzzyzzz{||{||{{{{{{zzzzz|{{z{{||yz{{z{{{{{{{{{{zz{{z{zzz{{{{||{zz{z{{zzy{{{{{|{zzz{{zzz{{{{||||z{{zz{{z||{|{{{|zz{z{{|z{{{{{{|{y{{z{z{z{||{{|||zz{z{zzz{|{{|{|{{{z{z{z{|||{{|{||z{{{z{z{|{{||||{{{{{{{z|{{|{|}{{z{{{z{|{|{{{{{||z{{{{|{{||{|}|||{{{{{{{{{{{|||||{{{|{|{||{|{{}}|{{|{{|{|||}{|{|}{{{{{{|||{|{}|{||{|{{||||{|||}|{|{{{z{|{}|||||}{|z{{{{|{||{{{||{{z{{zz{|{|z{~}~~~~~}|}}|}|||~}|||{||{|{{{{|{||}|{||||z{|{z{{{||{{z||{{{z{zzz{{z{||{|{zz{{{{z{|{{{{|{{{z{{{z{|{{{{{|{{{{y{{zz|{{{{|{{{{{z{z|z|{{{{{{{|z{zz{zzzz|{|{{{{{{{z{zzz|{|{z{|zzz{zz{z{{z{{{{|{{zz{{{zzz{z{{{zz{{{{{zzz{{|{{|{z{{{{{{z{{{z|{{|{{{z{z{zz{{{|||}zz{zz{{z|||z{|{{z{{{zzzz{z{{z{{{{z|zz{{{z{{|{{|{{{{{z|z|{{{|{{{||{{z{|{{|{||||||z{|zz{{{|{||||}|{{{z{{{{||||{|}{|z|{{{{{||{|||{{{{{z{||{{{{}|||{|{zz{{{{|}|||||||z{{|zz{}|{}|||||{{{||zz|}||{}}}||{|{{z{|}|}|{||{z{zz{{{||||{||||{z|{{{z{{{|{{|{|{{zz|z{zz|||~~}}}~~~~}}}|}|}|{|||}}||}}|||{z|}{|||{|||}|{{z{z{{{{||{{||{{{{{z{z{{|{{|{|{zz{z{zz{{z|{{||{{z{zzzz{{{z{|}|{z|{zz{{{{z|{{|{zz{{|zz{|{{{{{||{{{{{{{{{|{{|{{|{z{{z{z{{z|z{{||z{z{{{zzz||z{|{{zzz{{z{zz||{{||{{{z{{z{z{|||{{{|{{{{{z{{{|||{{||z{{{{z{{{|{{|{{}{{|z{z{{|{|{{|{{z{{{{{z{{||||{{{|zz{{{{{{|{|{|{{{{{|{zz{{||{{||}{{{||z{{|}||}|{|z{{{|{|{|{{||||}{z{{{zzz|{||{||||{z{{z{z{||||}}|{{{{{||{|}|||||{|{{|{{{{{}{{}||||{|{{{||||||||||{{{||{{{||{||||}|{{|}|{|{||}}||||{z{{|{{}{{|{|}{|{{{{{{{||||||}{|{|zz{z{{{||{~~~~~~~}|}~~~}|}}}|{|}|}}{}}}||||{{{|{||}{||||z{|{z{{{{{{{||||{{z{{{{||{|z{||{zz{{zzy{|{{{{{{z{z{{z{|{|{{{{z{zzzzz|zzz{||{|{{}z{{{zz{{{{{{|{{{{z{zzz{}{{{z|{{{z{zzzz{||{|||{|{{{{{{{z{|{z{{||{z{{z{zz{|{z{{{{{{{z{{{z{{z|{{|{||z{{z{z{{{{{{{}{{{{{{|{||{z{{|{{{|{{{z{{{|{||||{{|{{{{z{{|{|||{{|{{zz{{|{{{{||{{zz{{{z{{|{{{{||{{{{z{{|{|{|||||{{{|{{||||{|{|}|{|z{{{zz{{}|{||||{{{{z{{{||{{|}|{{{{{{{z|{}||{{}}||{||{|||{||||}{{{{|zz{{{||||||||{{{|{{||z{{||}||{{{{{|||||{|||{||{{|{{{|{{||}}{||z{{{{{|}}{{|||{{{zz{z{{{{|~~~~~}}|~~~~~~}~||}|}|{}}}}|}}}}}{{z{{|{{||{||}|||{{{{{z|{||{|||{{{{{{{{{z|{||zz{z{{{{{{{{||{|{{{|{z{z|z{|{{{||{{{z{z|zz||{}{{{||{zz{z{{{{{{|{||{{|{{zz{{|{{{|||zzz{{zz{|{||{{||{z{{z{{z{{{|{|}{{{||zyzz{{{{|||{{{|z{{z{{{|||{||{{{{{{|{{{{||||}|{{zzz|{|||{z{{|z{z{{z{{{{||{{|{||{{{z{{||{{{|||z{{{|{{z||||z||{{|z|z{{{|{|{{||{|{{{{{zz||{}|}||{{|{{{{|||{|{|}||z||{{{{|||||}|}{{|{{{{z{||||||}||{|}|{||}||||{|||{{{|{{|}||||||{z|}{{|{||||{|}{{||{z{{{||||||}{|||{{{{|{{||||}|{z|{|{{{|}|}|||}{|||||{{||{|{|||{{|{{z{z|||{{~~}~~~~}~}}|}~}}}}||z|}}}|}{|||{||{||||{}{{|||||z|{|{{{{{|{|||{{{{z{zz}{{{{|{|{{z{{{|{z{|{{{|z|{z{z{zz{{{|{||{{|{{z{{z{{|||{{{{zz|z{{{{{{{{z{|{{z{{{z{{{|{||||zzzzz{z{{{{{|{||||z{zzzz{{{z{|{|{{|zz{z{{|{|{{||{z{{{{{z{z||z{{}|{zz{zyz{{|{{{{|{{{z{z{z|{|{|||}zzz{{|{z|||{|{||{z{zzzz{{{||z||{|{|{{{z{||||{}|{|{z{z|{{}{|||||}{{{|{{{{|}|{}||}z{{{|{|{|||}||}|{{{z{{{{{}||}|||{|||}{|z||{|{||||{|z|}||{}{{|}}||{{||||||}|}||}}|{|{z{{{{||{|||}|||{{{{{}{||||{}{|{z||{||{|}||}}{|{{{{{{{{}}{||}||{{{{{{||}||{}|{{{{z{{z{||||~~}}}~}}~{}}}|||||}|||||}}|}}||{{|{|{}{|{|}||{{{z|{{{|{|}{{|||{{{z{{z{|{|{||}|{{zz{{z{|{{z|{{|{{{zz||z||{zz{z{|{y{{zzzz{{{|{{||{zzz{{{{||z{|z{z{{z|y{||{|}|{{{{{{z{z{{|z{{||{{{{zzzzzz{|z|{{{{z{z{{{z{|{{||{{zz{zz{{z{|z{|{|}|{zzz{{z||{{z|||{{}yz{{{||{{{}||{{zz{{{{{{{{||||z|{{{z{z|{||{}||z{{|z{{{|||{{{||{{{{{{{z}|{||}{{{|||{{z{|||}{||||{{{||{{||{|||||{z{|{{z{{}|||}{{{{|{}|{z|||{|||{{|z{||{{|{{||||||{{{{||{}|||}|}|}{{|{|{|{|{||{{}{z{{{{{{|{{{|{}}||{{|{{||||||}}||{z{{{{z|{|||{|||{{|{{{z{|{|||||{|||{{|{{|||{~~~~}~~~}}}|}~}|}}||{{}||}|||}}}||{|{{||{||}|||{{|{{zz{|{{||||{{{z{{{{z|{|{z{{|{{{{zz{z{||z{{{|{{{{z{{{{|||{{|{{{{zy{z{{z{|{|{z{|z{zzz{z|{{||{{{|{{z{y{{|{z{|{{{{zzzz{z|{{|z||{zzz{{{{zz{z{z{{|{{{zz{zzz|{|{||{|{{{z{zz{{|{|{{||{{{{{{z||z|{|||zz{|{z{{|{{{{{z|z{z{z{zz{{||{|||{{{z{{{z{|{||||{|{zzz{{{{|||{{}|{{{{{z{{{||{z|{||{{z{{{{|{{|||{{{{{z{{{{|{{|{{|{||{zz{{{{|||{|{||{{{{zz{|}{|}}||{{{{{|{{{||||}||}{{{||y{{}||}||}{{{||{{{{||{{||{|z{{|z{z||||}|}|||{|{{z{||{|}}|||{|{{{{{{}|{|||{z|{{{{{z{|{||{||{{{z{z{z{||||~~}~~}}}}}~}|}~~}{||{|}|{|||}~~}{|{z{{{|||{|||||{{|{zzz{{{z{||{{{|{{{z|{|{{{|{{|{z{zz{zz{{{{{|{{|{{z{z{{{||||{|{{z{zyz{{{|{{{{|{zz{{zz{z|{{|{{{z|zz{z{zzz|{|{{{}{||{z{{z{{z{{{||{z{{z{{z{{{{{{{|z{z{{{{{{|z{{{{{zz{{|{z{{{z{{||||z{z{{{z|{{{||{|{z{{zz{z{{||{z{|z{||{zyz{|{{{{|||||z{z{z{||{{{{{{{{z{{{{|{|{|||{{z|{{{{{|{|{{|{||{{{}{{|{||{{||{{{|z{{{z|{{{||||||{|{{{z{}{||||{{|z{|{{{{|{{{|{}{{{{z{{{|}|||||||{z{{|{{|}|||}}|{|{|{{{{|||{{}}|{{{{|{{{|{|||||||{{{|{{{{|{||}}}{{{{{|{{||{|{{|{{|{z{z{z||{{{{||{{|{zz{||{|{|}~}~~~}}}}|~~}}|}}}|||}|||||{}|}}}|{{{|{{{||{{}{|||{{|{{z{{|||{|{{|{{zz{}{|{{}{|{|z{{{{{|z{||{{|{{{|{zzzzz{{|{{|{{{{z{{{{z|{|{{{|||z{yzz{z{||{{{|{z{{{z{z{||{{{|{{z{{{z{zzz|{||}||{|{{{zzz|{{{{{{|{z{{{{{|{{{{{{{{|zzzz|{z{{{{{||{{{{{{{|{|z{||{|{|{{{{{|{||{||{|}{|z{{{z{{{{{z}|||{|{{{z{|||{||{{{|{{{{{{{|{{{{{{{|{{{{{z{|||{|z|{|{{{|{{||||||{{{{{{z|{{||{|{{|~{{{{{z{{||||{|}||{|{|z{{|}|{{|}|{{{{{{}{{}|{|}|||{|{{||{|}||}||}|{{|{{{{|||||{}|{{||{{z||||||}}}|{}{||{||||}|}||{{{{{{{{|}|||||{{|{{||{{||{|{|{||{{z{{{{|{{|{~~}~}}}||}|}|}}}|}|{{{{||||}}|}{{{}|{{{{{|{|}}}{|{{zz{||{{||{||zzz{{{zz{{{|{|{|{{{zz{{{{}z{||{|{{{{{{z{{z{z{|{{zzz{zz{z{z{{|{|{zzz{zzz{{{|zz{}{zzz{{{zzz{{{|{||z{|zzzzz{{{{||{{zz{{{z|{{{{zz{|{zz{z{zzz{{{{{{{{z{zz|z{y{{{|{|}{{{|{z{y{{{{|z{{{z{{|z{{zz{{|{|{{zz{{{{y{||||{{{{{z{z{z{z{||{|{{{{{{{{{zz{||{{|{|z{z{{{|{{|{|{{||z{|z{zz|{{|z{|||z{{{{{|{|{{||{||{{{{z{{{{|{|||||}{z{{z{{{|||{{|}|{{{{{{{{|{{||||{{|{z{{z{||||||{|{{|{{{{||{|{{|{|{{|{|{{|||||||{}{{{|{{z{||||||}{|{{{z{{||||||{|{{{{z{|{{|z|{{||{z{{z{{{{{|{z~}~}~}}|~~~}}~}~}|}}|{|{|{||}}|}|{|{{z{{{}|||z|||{{|{|{{{|||{{||{{{{zz{z{|||{{{|{z{zz{{y{|{{z{{{{{{{{{{z{{|zz|{|{{{z{{{z{{{{{{|{{{{{{{{{{{|{{{{{{z{zzz{{{{|{{|{z{{{{{zzz{{{{{{{|{z{yz{|z{||{{{{{{{|{y{z{z|z{|{{{{z{z{{zy{||{{|||{{z|zz{z{{|{{{||{{{{{{zz|{{{{{{|{z{{{{{{|||{{|{{|{{|{z{z{{|{|}|}{{{{{z{z|{|||{|||z{{{zz{{|{{|{|{|{{||z{||{||{}||{||z{|{|||||||}||{|z||{{|{|{{||||{{z{{|{||{{||||{{{{{{|{||||}||}||{{{||{{}}|||{||{{|{||{|||||||||{{|{{{{{z|{{||}||{z||{|||}||}}|{{{{{{{||{{||{|{{{|}{{{{{||||||{{{|z{{|z{{|{{~~~~~||~||}}}}}}}|}{||||{{||||}||{{{|||||||{|||||{{{{z{|{|{||{{|||{{{{{{z|{{}{{{{{{{z|{{z{{|{|||{zz{zzzz{{{|{{|{|z{{{{{zz|{||{{|{{z|zz{{z{{|||{{z{zzyzzzz{{|{{{||{{{{z{{{z{{{{{{{{{{zyzz{{{z{{|{{{{{{z{zy{{{|{|{{{{zz{{{y{|{{|{|}{z{{{{zz{{{{|{{{{z{{zzz{{z{|{|{{zz{{{z{|||{{{|||{{|zzz{|{{|{{|{{|{{|{z{{{||{{{|z|{{{{{{z{z|{{|||{|||{||{{{|||{||{|z||{|{||{|{}|||{{||{|{|||||||{{zz{||{{|}{|{|||||{{{{|{|{|}|||||{{zz|{}{}||{||||{{||{{|||{}{{|||{{||{{{{{{||||||zz{{{{{{|{{{|{||{{z|{|z{}||{{}|||{{z{{{{|{|||{|{|{|{z{{{||{{}~~}|~~~|}}~|}}~~}|}||||{{}{}|}}}}||{{{zz{{{|}|||{|{{{{{{{{{|{|{||z{{{zzz{|{|z|{|{z{zz{zz{|{{|z{||{{z{{{zz{|{{||{{{{z{{z{{{|{||{|{{{zzz{{{{{{{{|{{z{{z{z{|{|{|{{{|{|{z{{z{{|{{|{z{{{{|z{zz{{{z{{{z{{{{z{zz{{{{||{{{zz{zz{{{|{|||{{{z{{z{{|||{{|{{{z{{zz{{||{||{||{{{{{{{{|{|{|||{zz{{{z{{{|{|||{||{{{|{{{{|{{{{|{{{zzzz{{{}||{|{{|{z{zz|{{||z}{{|{{{{{|{{||||{||}|z|{|{{{{}|||||||z{|{{|{{|||{}||{{{{|{|{|||||}}|||{{{|z||}||{}}||{||z{{{||{||}{||{{|{{|{||||}|{{|{{{{{||||{||{{}{{|{{z{{{|||||{{|zz{{{|{{|||{||{{{{|{{|{|||{|~~~~|}}}|}|~}}~}}}{}{{|{||{}|||}~{}{{|{z{|||{{}|||z{z{{{{||{||{|{|z{{{z{z|{|{{{{|{{{z{{{zz{{{{{}{{{{{zzz{{{{z{{{{{zzzz{z{z|{{z{||{{zz{{zz{{{|{|}||z{{zzzz{{{{|{{z{{{{z{z{{{{{{{{z{{zzz{{{{z{zz||{zzz{{{{z{|z{{|z|{{{{z{z{{z{||{||zz{z{zzz{|{||{|{{{{zz{{{|{{{|{{|z{{{{z{{{||{|{|{{{{{{z{{{{||||||{{{{{{zz|{|{}{||z{{{{{{{{|{{|||{{z|{{{{{||{||}|||{|||{{|{|{}{|||{{z|{z{z|||||||}{{{{{{{{|}||||}}|{|{{|{|{||||{||{|{{{{{||}||||}{|{|||{|{}|{|}|{||{{{{z{{|||||}}}{{z{|{{}|||}|||||{|{z|{z{|{{{|||||z{{z{z{|{|{|}||z{{|zz{{|{||}~}}}}}|}|}~}||}}}||||{{|}|||}}||}|}|{{{|{|{||||}||y{z{{{zz|{{{{|{{{{z{z{z||{|||{|{{{{{{{zz{{{|{{|{z{{z{{z|{||z{z|{{{z{zz{{z{|z||{z|{{{zzz{{|{|{|{{z{zy{z{|{{{{{|{|{{{z{{||z|{|{{||{{zzzz{z{|{{z{z{{{z{zyzz{{{{|{|{z|z{|{y|{|{|{|{z{zzzzz{{z|{|{{||z{{{z{z{z{{||||{{{z{{{y{{|{|{|{z{{{{z{{{|||{{{|{{{{{{z{{{||{||{{{{{{{{|||}{z{{{|{|z{{{{{|{}{||||{{{|{||{|{|||||{|||{|{{{{||}|||{{{|||{{}|||}}|}{{{{{|{z||{{||||}{{{{{{{z}|||}}|}|||{{{{{|||{||z|{|{{{{|||||||||{{{{|zz{|||}{|||z|{z{{{{{|{|{{|{||{z{|{{|||{{z||{{{{zz|{|||{{~~}|~}||}}|}|}||||||||{{{{}||{||}}}{{{{|{{{|{|}|}{|||||{{||}|}{|||{z{y{{|z||}{|{{|{{{{{zz|{||z{{|{{{zz{{{z{{|{|{{z|{{{{{{{|{z{{|{{{{{z{z{zz{{|{{{|{zz{{z{{{||z{zz|{z{{z{z{{{{{{}{|{{{{|zz{|{z|{{{||{|{{{{zz{{{{|||{z{|z{{z{{||{{||z{zz{{{{z||{|||{{zzz{{{{{||{{|{}{{zz{{z{{{{|{|{|{{|{{{|{{|{{{z|||{z{|{{z{{{||||{{{{}|{{z|{|{{{{{||{|{|{{||}|||{{{|{{{z{{||{~{}||{{||{zzz|{||||||{{|{{{{||||{}}}{z|{|{z{|{|||{|}|||{{{{|{{|||||}|}{{{|{|{||}||}||}{{|{{{{|}}|||}|||{|{{z{||||}|{|{||{|{{{{|{|{|}||{|{{zz{{||{||||{{{{zz{{|{|{{}}}|}}||{~}}}~}|}|||||{|{|}{|{|{|||{z|{{z{|{{|||{{z{z{z{{{|{|{||||{{{zz{{|{|{{|{{|zz{z{zzz{||{|{{{z{zz{y{zzzz{|zz{z{{{z|{{{|{|{{|zz{zz{{{{{{z{z|{|{{{{{z{{||{{z||{z{{zzzz{{{{|{{{||{z{z{{{{z{{{|{{{{z{{zzz{{{{|{|zz{{{{{z{|{{|{||{{|{{zz{{{{{{{|{{{|zzz{z{{{{{{{|z{{zzzz{||{{||{}z{{{{z{{|{{||{|{{{{{|{zz{{|{|z|{{|{{{{{z{|{{{|||{{z|{{|{{}|}|||{|{{z{z{|{}{|{||}{{z{{zz{{||{|{}||{{z{{|{|}|{{{||{z{{|{{|{|||}|||{|z{z{{z||{||||||{|||{{{|||{||}||{||{{{{|{||}|{|{{{{|{{z{z{{||||{{|{{{|zz{|||{{|{||{{{{{{|{|{{|{{{{z{{{{||{z|~|~||||||{{}|}|}|}}||{{{{{{|{|||{}}{{{z|{{|||||{|||{{|{{zzz{{||{{}{|{|{{{{zz{{{|{|{{{zyz{{z{}|{z{{z{y{yzz{{{{|{z{|z{{{zz{z{zz{|{{{{{zz{{yz{{{{|{|{{{z{zz{zz|{{z{|{|{zz{zzzz{{{zz{{{zzzzz{{z{{{z{{{{zz{{zz{z{{z|{{|{|{{zz|zz{{{||{{{{{{{{zz{{{{{{|{{{zz{{z{{|z{{{||{{{{y{zzz{|{{|{{zz{xzz{{z{{||{{{|{{{{z{z{{|z||{|{z{z{{{{z|{||z{||{zz{{{{{{|{|}{||{{z{|{|{|z{||{}|{{{|zz{z|{{{{{|||z|{|{{{}|{{|{}{z|{{{{{{z|{|}}{}|z{{zz{z|||||{|||{{||z{|||||||}||{|{{{|{{{|{|}|{z|{{{{zz{{{|{||}|{zz{z{z{{{||||z|{|z{|{{||{{{{||{{{{z{{z{|{{|}~}}}||}{~{}|||||}}|{}{{{{{{{|}{{|{{|{z{{z{||{||{}{{z{{{z{z{{{{{||{{{z{zz{z{|{z{||{{{{z{z{zz{{{z{{{{{{z{{zz{||{||{{z{zz{{z{|z{|{{{{{z|zzz{z{{{zzz||{zz{z{{{{{{{||||{z{{{zzz{{z{{{{{{{zz{yzzz{{z{{z{z{{zz{{zz{zz{{{|z{{zz|{z{|{{||||{{zz{z{|{{{{{{||{{{z{{z|{{|{{{{|{{z{{{{z{{{{||{{zzz{zzz{{|{|{{{{{{zz{z{{{||{{||{z{{zzz{{{|{{{{{{|{{z{z{z{|||||{}{{z{|z{z||{{{|{{{{z{{{{{{|{{{{|||{|z{{{{||{{{|||{{{{{{|{||{{||||{{{z{|{{||{|||{||{{{|{{{{||{|}|||{{{{{{{{|||}|}|{{|{{{{{{{||{{|}{{{{{{{{{{{|{|}||{{{zz|{{|{|{{{|z{{{|z{z{|z{{~||}|{||}{|}}}|{{}|{{||{{|z|{{{|{||}{|{z{{{|||{||||{zzz{zz{{{|{{{|{{|{{zz{zz{{{{|{|{z{zz{{{y{{z||{{{{{{zzzzz{|zz{|{{{{zz{zz{{z|z{{{zz{{zy{{z{{{{{{{z{y{zzz{{zz{z{||z{{zz{{z{{z|{{{{{{zzzy{zzz{zz|{{z{zyzz{{{zz{|{{{zzzzz{zz{{z{z|{{z{{z{y{z{{{{{{|{{|{{zz{{{{{{z}{|{{{zzzzz{|||{{{{zz{{{z|z{{{{{|{{{{{zzz{z{|{{z{{z{{{{zzzz{||{{{||||{{{{z{|{|{||{{{{|{{{||{{|{}||||z{{|zz||||{{||{|{{{{{z{||{||{|}{|{{z|{{}|||{{|||{z{{{{|z||||||||{{{zzz{||||||{}|{{{{{{{{||||||}|{{{{|{{||{|||}{{{{zz{{z{{|{{|||{{{{{|{z|{{|{|{{{{{z{zzz{|{{{~~~||{|||{{|}}|||}}{{{{||z{||{{}{}|{{z|z{z{|{|{{||{{z|{{{{|{||{|{||{{{zzy{z{{{{{{{{{z{zz{zzz{z|{{|{{{z{zzzy{{{{{|||{z{zzz{y{{|{{{z{z{zzzzz{{|{|{{{{zyz{zzzzzz{{{{{{z{zzzyyz{{z{{{{|{y{{{zz{{z{{|{zy{yzzzzzzz{{{{z{{zz{{{{zzz{{zzz{{zzzz{z{zz|{z{{{{|{zzyzzz{{{{{{{{z{zzzz{{|z|||{|{{{{y{z|z|{|{{|{{{z{|z{zz{{|{{{|{{z{{|{z{||}{{||{{z{{{{{{|{|||{{|z|{{z{{{{}{{{|{{|zz{{zz{|||{}}|{|zz{{z{z||{{|}{{{{||{|{|{|{|||||{{{{z{{{{|{|||||{|{|zz{||{{||||{{zz{{|z{|{|{{{|||{zz{{{{|{{|||||{{{z{{zz{{{|{|{{z{{z{z|{||||{|||z{{{{{{{|{{{|||}{||}|{||}}||{~}|{{{{|{{}|}{||||{{{{{{{{{|}|{}{{|{{{{{zz{|{{{||{|||{{{{{{{{{{}||{{{{{{z{{{{|z{{|{z|{{z{z{{}{z{|{{{{{{{{z{{{{{|{|zz{||z{zz|y}z{||{zz{z{z{{|z{|{{{z{|zz{zz{{{{{z{|{{y{z{{{{{{{|z{|z|{{{z{z{yz{{||{zz|z{|{z|{||||{{{{{z|{z|||{|z{||{{{{{z{zz||{{{||zz|{z{{z{|{{|{{}{{{zzz{{|{|||{{{|{{{z|{{|{|{{|||{|{{z{{{||{z|{|}z{|z|{{|{||||||}|{{{|{|{|{||}}|{}|z||{z{{||{|}|{{{{{{{{{||||||||{|{{zz{{{||||}|||{{{{{|||}||||}||{|{{|{{}{||||||}z{{{|{||{|{{{|}|{{{{{{|||{{{}||{z{z{z{|{||{{{||{|{{z{{{|||{|||{|z{{{z{z{{||{~}}|{|}|{{z|}}|||}}}||}||{{||{~}}|||||z|{{{{{|{|||||z{|{z{{z{{|{|||{{{zz{{z{{||{{}|z{|z{{zzz|z{|{{|{{{y{{z{{||zz|{{{{z{{{{z{{{{{|z{{z{z{zzzz|{{{{|{{{y{z{z{{z|{{{|{{{z{z{zz{{{{||||z{z{{zzy|{z{{|{{|{{{z{z{{{{{{{z|{{zy{{zz{{{|{{||{zz{{{z{{|{{z|||{z{{zz{{{{{|{||{{{yzz{{{{{{{|{{|z{{{{yz{{{z{{|{{{{{{{{z{{{|{z{}{|z|{{|{{{|{{{|{|{zz{|z{z|z||{||{{{{{|{|{}{{|{}||{{{{{{{||{{{||}{|z{{|{|{||||}{||{{z{{{|z{||||}{||{|z{{|{{{{{||||{z{{{{{{||||||}||{|{{{{||||{||}|{|{{{z{|{|{}{|||{|{z{{{{{||}|||{|{zz{{z{{{{|{{|{{{{z{zzz||{|{}}}}|{|{||||}||{}}}{{|{{zz{|||||{}|||{{{z{{z{||{|{|{zz{{zz{z||{{{||||{{{{{z{||||||{{z{{{z|{{{{{{{{{zz|{zzz{z{{{{z|{|{z{zzz{{z||{|{{{zzz{{z{{{|{{{{{z{z{{{zz{{|{{|{{z|{z{{{z{{{{|||zzzz{{z{zzz{z{{{z{{{{{z{zz{|{z|{|z{{{z{zz{|{{{{|{{{{z{{{zz||{{zz{z{{{zz{zz{{|||||z{{zz{{{||z{{||{|{{zzz{|{{{}||{{|zz{{{z{{|{{{|{{{{{{{{zz{|{{|{|||{|{|{z|{|{|{||{{{{{{|{{{{{||||||z{{{{z{|||{|||{}{{z{z{{|}|{||}|||{|{{{|{{|||}{|||||{|{{{|}||||}|{{||{|{{|}{||||||z{|||{|||{{||}{{{{|{{{{|}{||||||zz{{{{{|{{{{|||{{z{{{{{{{{||||{{{z{z{{|{{{{}~~||}{||{{|}|||}|}{|{{|z{{||{||||||z{{z|{{||{z{||{|z{zz{{z{}{|{{|{{|{zzyzz{|z{||{{zz{zzzzz{{|{{{|z|{{y{zz{{|{{{{|{{y|zz{{z|z{{{||{zz{zzzzz|{{{{||zz{{{{zyzz{{{|{{{{z{zzzyyz{{{{{{{{zzz|zzz{{{zz|{|{{yz{{z{{{{z{|{|y{y{{zzz|{{||{|{{yzz{{z{||{||{|{{z{zzz{z{{{{||{|{z{{zy{z{{{z||||{{{{{z{{{{{|||{{|z{{{zz{{|{{|{|zz{{z{zz|{|{{{|{||{{}zz{{z||}|}{{{{|{|z{z{|{|}|||{{{{{{{z{|||||{{{{{{||zz||{|||}|{{{{{{|{{||{{||||z{|{{{|{~}|||||{{{z{{|{}|}{||||{{{{{{z{{||{|{||{z{{|{z{{|{|||}|z{{z{{z{|{{||||}{{zzz{{{|{|{{{|{{|{zzzzz|||{|~}}|}{{|{{||}||}|}|||{{{z{{||{||||||{{z{{{{{{{{{|||{{{{z{yz{{}{{{||{z|zz{yy{z{z{{z{{|{zzz{z{{{zz{|{{zzzzz{z{{{{{{|{{z{zzzzz{{{{|{||{z{{z{{z{{{{{|{{{zzzz{z{{{{z{{{z{{zzzz{z{z{{z{{{zzz{zz{yzz{z{|{|zz{zzz{z{{{z{{{|{zz{{{zzz{z{z{}{{zz{{z{{{z}{zz}{{z{{z{z{z{{|{z|z{z{zz{zzz{|{{{{{{z{{{yzz{{|{{{|{{z{{{zyz{{|{{|{|{yz{|{z{{||{{{{{{{{{zz{{{{{|||{{{{{z{|{|{|{{|{||{{{|z{{z{|{{||{{|{{z|{zy{||z{|||||{{{{{}|{{{{}|{{{{{{{z{|}|||||||{{|{{{{||||{{||{|{{{{y{{|||{|{|||{{z{z{}{{|{||{{{{z|{{{{{z{{|{||{{{z|{{{|{{z|{{{z{z{z{{{z{{|}}|||||}{|||}|{{|||{{|{{z{{{||{{}|{|{{{{{{{{{{|{||||zy{z{zz{{{{{{{{{{zz{{{z{|{||{z{{zz{y{{{{{{{z{{z{{{{zzzz{{{zz|{{{{{zz{zz{{{z{|z|zz{{zz{z|{{{{z||z{{zy{z{{{{{|{{{{z{{yzzzz{{{{{{{{{zzyz{{{{{|z{{{|zz{zzzzz{{z{{y{z{{z{{z{z{{{zz|{z{zzz{{{{{{{z||{{zz{{z|z{{{{{|{{z{z{zzz{|{{{{{}{{{{zzyzzz{{{{{||{zzzz{zz{{||{{|z{{{zz{zz{|{{{{z|{{z{}z{{{|||{|||z{{|{{|{||{|{{{|{{{{{{{z{|{|{{|||{{{{{z{|||{|{|{{{|z{|{z||{|{{|{|{{z{{|zz}|||{|{{{{|{z|z|||{||{||z{{{{{{|{|{||||{|{{{{{{{{{|}|{||z{zzz{{{{{{{|||{{zz{{z{{|{|{{||z{{{{{{z{{{{{|}|||||{{{|{}}|||}|{{{{||zz{|{{{||{{z{y{{zz|{{|{{{||z{{z{zz{|z|{{|{{{z{z{{z{|{{{{|{{{z{{yzy{|{z|{|zz{{zzzz{{{{z{|{{z{zzzzzzz|{{{{{|zzz{zzzzz{|{z{{zzzzzzzyzz{|{|{{|{zzzzzzzz|{{{{{zyzzzzyzz{{{z{z{|z{zzzz{yz{{{z{{{zyzzzz{z{{{|{{||{{{z{zz{|{{z{{|{zzzz{zzz{{z{zz{{zy{{zz{z|{{z{{{{zzzzzz{yz{{{|{{}zzzzz{yz{|{{{||{{{{{zzzz{{{{{|||{{|{z{{z{{{}{{}{{{{{|{|{{{||||{||z{{z{{{{{|{|{{||z{zzz{z|{{{|||{z{|{|{|{}|{{{||{{z{{{|{|{||{||{|{z{{{{{{|{|{||{{{z{{|z{z{{{||{{{{{{{z{z{|z|{z|||{{zz{{{{{{|||||{|{zzzzz{{{{{{}|{{{{z{{{z{{|{{}||{|{{{{|z{{}|}|||{{zzzz{z{{||{|||z{{zzz{zz|{{|{{||y{z{zzzz{{{{{}|zzzzzy{z{|{z{|{{z{zz{{{zz{{{{{{{{{z{{zzz{z{{{{{zz{{zz{zz{zz{z{{{|{zzz{zy{{{|{{z{zzz{zz{{{z{z{||z{{zyzzzz{|z{zz||{z{{z{{y{zzz{{{{z{zzzyzy{{z{{{{{zzz{{zzz|{|z{{|{zzzzzzz{z{{{{{{|{z{{{zz{{{||z{{|{{zz{zz{{z|{|{|{{z{zz{{z{{z{{{{{{{z{{z{zzz|{{{|z{zzzz{z{{{{{{|{{{{|{{{{{{|{{{|}{z|z{z{{{{|||||{||z{z{z{{{{|{||||}{zzz{{{||{{||||{z{z{{|{{||{||{|{{{{{zzz|{{{{|||||{{zz{{{|{{{|||{z{{|{{{{|{{{||{|{{z{{{{{|{{|{||zz{zz{z|{{||}||{{{zzzzz{z||{{{{|{{{z{{{{z{{{{||||||{{||{|||||||}z{{{|{z{{|z{{||}}{{z||z{{{{{{{||{{{{{{{z|{z|{|z|z{zzyz{{}zz{|{{||zzz{z{{{{{{{{{{{{{{{{zz{{{zz|z{zzzzzzzz{z|{{{z{{{yyz{{{z{{{zz|{zzz{y{yzzy|z{{{{z{zzz{{zz{zz{{{{{zz{zzzyz|zz{{{{{zyz{zzzz{zz{|{{{z{z{{zzz{|{z{|{{{z{{z{{z{|{{z{|{z{z{zzzz{z{{|{|z{{{zzz{z|{{|{{|{z|{zz{{{}{{{{{{|{{{zz{{z{{{{{{{{{z{{z{{{|{{z{{|{{{z{{{z{|||}{{{{|{{|{|{{{|}{|{||{z|{zzz|{||||}||{{{{|{{|}|{||}|{{{{{{||{||{|{|||{{|{|{{{{|||z|||{{{{{{{{{}|{||{|{{z{z|{{|{{|{||z{{{|{z{{{{{|{}|{{{{z{|{|{{{{||||{{zz{{{{|{||{{|z{{zz{{z{{{{|}}}||||}{||{||{|||{|{{{{{|z{{{||{{|{|{{|{{{|{{{{{|{{{|{yzzz||||{{||{{{{z{{z{{||z{{|zzz{{yzz{{{{{}{{{{{y{zy{z{zz{{{{{{zzzzzy|{{{z{{{{{{zzyz{z{|zzz{{zzz{{{z{{z|z{{{|{z{zyzyz{z{z{|||{zz{{zz{{|{z{{{z{zz{zzzzzz{{{{|{zzy{z{{y|{{z||{|{{z{z{{z||{{{{{|{{{{{z{z|{{{|{{|z|{{{|{{{{|{{||{{{{|z{|{{{{{||{{{{zz{{{z|{{z|{|{{z{{{{{{{{{|{{|{{|z{z{{{{|||||}{z{{|{{||{{{{|}||{z|{{{{z||}||z{|{{|{{{{{{||{}}}||{{{{{|{{|{|{|||}|{||{z|{}}||||||{{||zz{{|{|}|}{{{zz{{{|{|{{||}}|{{{|{|{||{|{|||{{{{{{{|{{}{|||}|{{{{{{z|{z|{||{{z{z{zz{|{|{{}}|{{|||{|{||||}||}||}z{{z{||{|||||{{{{{{{z{|{|{}}{{z{z{z{z{{{|{{|{{{{{{zzy{{{{{{||{{{z{z{z|{|z{|{{{z{{{z{z{||zz{{{{{{{z{{zz{{{{{z{zzz{{{{{{{{{|{|{{{zzz{z{{z||{{{|z{{{zzzz{{||{{||{{z{{zz{{{{{zzz{{{zz{{{{{|{|z{||{z{{{}{{z{{{{{{{|z{{{z{{{{{z{{{|zz{{zy|{{{{{{{||z|{{{z{{{{{{{}{|{{|{z{{{|||{{|{|{{{z|{{||||{|{}|{{z{zz|{||||{||{{zz{{|{{{|||{}||{{{{{{{z{||||||}|{|{{{zz||||{|||{{{z|{{{{}{{|}|{|{{{{{|{|||{||}||z{{{{{{{}|}||}{||{{{zz{|{||{||{|{{{z|{{{|{{|{|||{{{{{z{|||{{||{|{{{{{{|{{||}}||{{zz{{{{z{|||{{|zzzz|zzz{{{{||{{|}{{{{|{{||}{||{{{{{{z{z|{{|||{|{|{z{|{{{{{{{}}|{z{{zzyz{{|{|{}|{{{{{zz{{{z|{{|{{{{{z{{z{{{{{{{{{{|{{zzz{z{{z{{{{zzz{zzz{{|{{z{zzzzzzy{{{{{{|z|zz{z{z{y{{{|{{{||{z{{{{{zz{{z|{|{{{z|zz|yz{{{z|{|{z{zzz|zz{{{zz{{zzy{{{yz{{{{{{{|zzzy{z{yz{||z{|||{{{zz{{{{|z{z{|zz{{{{z{{{|{{{|{{{zzzzz{{|{z{|||{z{z{{{{|{|{z{|{{{{{{|{{||{|{|{}|{{{{{{{|{||}||{z|zzzz{{{{{}z||{{{|{{zzz{|||{{|{|z{zz{z||||{|||{|yz{{|{|||{{||{||z{{z|{{||||{|||{{z{zz{{|{{||{{{|zz{{|{zz|{{|}||}z{{{|z{{|{|{|||{{{zzz{z{||||||{{z{{{{{{{||{{|||{z{z|z{{||{{{||}{{|||||{|||{||||||{{|{{{|{|||{{|{z{{{{{z{{{|{{||zz{z{z{||||{{{|{{||zyy{z|{{|{{{{{{{zzz{{z{|{|{{{{{{{|{{{{{z{{{|{{z{{{{z{{z{|{||{{z{zzz{z{{z{{z{{z{z{zzzzz{|z{{{z{zz{z{{zz|zz{{{{{{{z{{zzz{{{|{|{z{{zzz{yz{y{z{|{zzzz{zzz{{{|{{{{{{z{{{y{{|z{{{{||z{zzz{{|{|{|{|{zz{{{|{{{{|{{}|||zzz{z|z{{}}{|{|{{||{z{z{{{z{{{{|z{z{{zz||||||{|||{{{{{z|{||||||{{{z{|{{{|{||{||{|{|{{zz{|{{|z|}|{z{z{{{{|||{||}|z|{z{|{{|||{||}{{z|{{y{{}{|}||||{{{{|y{||}{{||{|{{{{z{y{|{|{|}}{{z{|{z|{{{{{||||{{z{z{z|{{{||}|||{{z{{{{|{|zz{z{z{zzz|{{{{{{}~{{{{|{{z{|{||||}|{|{{{z{z{z{{||{|zz|zz{zz{{{{|{{|{{zzz{{{{{z|{{z|{{z{zzyz{z{||}||zz{yzz{zz{{{z{|z{zzzzyz{|{{{zzz{{z{zz{{z{{{{{{{z{zzzzzz{z{{{{z{zz{z{zzy{{|{{zz|{zzz{z{zyz|zzy{{|zzzz{z{{{{zz{|z{{z{zz{zz{|{{{{{{y{zz{zzyz{z|z{{|zzzzzzz{{{{{{{{{{z|{zz{{{{{{{{z{{{{zzzzz{{{{z|||z{zz{z{{z{{{{{{{{zyz{{zz{z{{{{}|{z{{{z{{{|{{{{|{{{{{{{{zz{|||{|{z{{zzz{z{{{z{|{|{zzzz{{{{|{{||||{z{zz{{z{}{{||{|{z{{{{{{zz{{{|{|{|{{z{{{|{|{{{{{{z||{z{|{z||{|{|{z{z{{z{{{{{{{{{|{z|{{{{{{{|}z||{{z{{{{z{{{|{|{|{{{{z{z{y|z|{z{|{{{zzy{z||{{{{|{{{}{z|{|z{||||{}}{{{|{zz{{}{|{|}|}{{{{{z{{{|{{|z{{{{z{z{{{{{{{{{zz{z{z{z|{{{z|{z{z{zz{zzz{zz{{|{{zz{{z{z{|{{z{{|{z{zzzz{{z{{{|{zz{zz{zzz{{{{zz{{{{zzyzz{{{{z{|{{{z{zzz{zz|{{{||}{{z{{zz|zz{zz|{{z{{{yz{zz{z{{|||{{|zzzz{{{{z{{{{{zz{zzzzz{{z{{{{{z{{{zzzz{{{{{||z{{zzz||z{{|||{{{{{{z{{{{{{||{{{{z{y{{zz{{{|z{{|{z{{{{{z|{|{{|{{|z{z{{z{||||||{||{{{|{z{|{|{||||{{{{{z{z||{{|||{|{{{{{{z|||{|{{|{{|{z|{|{|{{}||{|{z{z{|{||||||||{|{|z{{||}|{|{||{{{{{{z|{|{|}{|||zzz|{{{{{{|||{|{|{z{z{{z||||||{{{{{{{zz{{||{{{|{{{z{zzz{{{{|}||{|{|{{{{{||||{{|zzz{{{{||{{||{{|{{{{|{{z||{z{{||z{{{{{{z{z{|{|{{{zz{zy{y{{|{{{{|{z{zzz{z{{zzz{|zz{z{z{zz{{|{{{{{{z{zzzzz{{{z{{|{z{zzzyz{{{z{z{{{{zz{z{z{{{|{z{z{{z{zzz{zz|{{z{|{z{zz{zzzzy{z{{{{{{zzzzzzzz{{{|z{{{z{zzzy{|{{{{|{zz{z{zz{{{|{{{||{{zzzzzzzz{zz{{{zzzzzz|{|z{z||{|{{{z{z|{{z||{|{|{{|{{zzz|{|{{{|{|{{|{zzz{{|z{z{|{{{z|z{z{{|{||{}{z{{z{{{{{z{{||}{{|z{{z{|{|{{||||{{{{{{{|||{{{{|{{{z{{{{{||z}{{||{{{z{{{{|||}{|z|{{{{{z|z{{{|||{{{{{{{{{{||||{|{{|z{{{{z{|||||{{{{|y{{zz{{{{||||{|zzzzz{|}{{{{|{{{{z{{zz{{{|{|||||{{{{}{{|||{||{z{{{{z{z{{}{||||{{{z{{{z{{{z||{{{z{z{{z{{{{|z|{{|z{yz{{z{{||z{{{y{zz{{yzz|z{{{{{yzz{zzzzz{{{{{{{z{{{y{zz|z{{zz{{zz{z{z{zz{{zz{|z{z{{zzyz{z|{{|{{{zzz{zyz{{{{{z|{z{z{zz{z{z{zz{||zyyzz{{z{z{{{{|{z{zzz{zz{{{{{{||{{{zz{{{{{{{zz{{{zzzz{z{||{{{{{{zz{zz{zz{{{{{{{|{zzzzz{zz||{{{{{z{{zzz{zz{|{{||{zz{zz{{{||{{||{{{{{{{{zz|||{|{||{{{{{{{z||{||{|}{z{{{{zz{|{|{||{|zzz{y{{{|{{|||{{{zz|{|{{||{|||{|{z|{z{z{}{||{|||{{{{{{{|{||{||{{{|z{{{{|{}{|||{{{z{{{{|z{{}{|{|zz{zz{z{{|{{{{}|{{{{{{{{||||{|{{{{|z{{zz{|{{|{{|z{{|{z|{{|{|{|}|{{{{|{{{{{{|{|{|{{{zz{{{{{{{{{|{{{z|zz{yz{{{z{{|{{zzy{zzz{||{|||{{{{z|{yz{z{{{{z|{|{zzzz{z|z{{{{z{z{zzyz{zz{{{z{zz{z{zz{z{{zz|{{{zz{{zz{z{{{{{{{{z{yzz{zz{{{{{{|{z{zzzyzzz{{{{{z{{yzzzz{z{{{z{{{zzzzz|{z{zz{{{{z{{{zz{{{z{{z{{{zz{{{y{zz{{{{{|{|z{{{{{z{{{{z{|||zz{{zzzz{{|{{|{{zz{{zzz{|}||{{|{{zzzzz|{{|{{{{|{{z{{{{{{{||||{||{{{zz{{z{|||{|||{zz|zz{{{|}{|{}{|z{z{|{{{{{z{|||zz{{{{{{{|{||{|||{{{z{{z||||{|||{{|{{||{{|{{|{{|{z{{{{z{|||||||||{z{|zz|{|||{|||{{{{{zz{{{||||}|{|{{zz{{{|{||{||{z{yzyyz{z{{{|||{{{{{{{{{|||{|}}{{{zzz{z{|{{{{}{{zzy{{{|{{|z{|{{z{zz{{z|{z|{z{|{{z{z{{zzz{{{{{{{{z{zz{{yz{z{{{{{zzzzzz{y{z{zz{{z{z{zyzzzzz{{{{{{z{{zz{z{{{{{{z{|zzzzzzyzz{{{{{|{{z{zzz{{{|{z{{|{{{z{zz{z{z|{{{z{zzzzyzzz{{{{{|{{z{zy{zzzzz{{{||{{{z{{y{y{z{|{{z|{yzzzz{z{zz{{{{{{{zz{z{{{|{{{{{|{{z{z{{{{{{{{{{|{{z{{{{{{{}{{{|{zyzz{{{{|{{}|||{{{|z{|{{}{|{|||{z{zz{{{{{{{|}}||{z{{{{z{z||||||||{zz{zz{{{{|{{|{{{|{z|||{||{{||||{{{{||{|}{|{||{|zz{{{{{|||{{|{|{z{{{z|{{|{|||{||{|{{{zz{z{{{{|}{{{{||{{{{|{||{{{{|{{zzzz|{{{{}{zzz{{{{{{|{|{||||{{|z{{z|}||}||||{{{zzzz|{{{{||||{{{{{z{{{{{{|{{|zz{{zz{{{{|{{|{|{{zz{{{{||z{{{|zz{{{zz{zz|z{{{z{{{{{z{z{{z{z{{|{zz{zzz{zz||{{||zzzz{yz{z{{{{{|{{zzzz{z{|{{{{{{|{{{zzy{{{z||{{||zzz{{{{{zz{zz|{|{{{zz{z{{{z{z|{{{zzz{{zz{||{|z||{zzzz{{z{{|{{|z{{{|{{{zz{{{{|{|||{{{z{{z{{||{|||{{{{zzz{{|{{{|{{{{{{z{z{||||{||||{zz{z{{|{{{{|{{{{{{{{{z{|{||||{{{||{{{|{|{|z{|||{||{z{z|{|z{||||{|{z{zz||{{{}}{|||{{{{|{{}|||||}{{{{||{{|||{|||{z||{{{{{||{{||{|z{{|{{|{|{{{|||||{{{{|{{|{|{||}{{{z{z{{{|{{|||{z{{z{y{z|||{{|{|{{{{{z{{|{|z{{|}{{|{z{{z{||||z|||z{{zz{z{{|{|||{{{{{{|{{|{{||||z{{|{z{{{{{|{y{{||{|{z{zz{z|{{{||z{{{{{{zz{}{{|{{zz{{z{{z|{|{z|{{zz{z{{z|{{{{{{{{{{z{z|zzzz{{z{{{{z{{zzzz{{{{{{{{z{zzzz{z{{|{{{{|{z{|{yzzz|{{{{|{|{{zzz{zz{{z{|{z{y{y{zzz{||{z||{|{|zz{z{{{||{|{|z{z{{z{{{{z|{{}|z{z{{yz{{{{z||||{{z{{{|zz{{{||||{{zzzz{{{{|{z{|{{z{{{{{z|||{||{|z{z{|zzz||{||{{|{|{zz{{{{{|{{{|{|{{z|zz{{}{||{||{z{{z{{{{}||{|||{z||}{{{{||||||}||{{z||z||||{}|||{{{|{||||{|{|||{{|{{{{|{|{|{}}}||z{{zz|||{|||||{|{{{{z{{|||||}{{{z{z{zz{||{|{{|{{|{{z{y{|{{z|||{{|z{z{{{|}{{{|}|{|zz{z|{{{|{||{{z{z{{{z{||{{{||{z{zz{z{{{{|z{{|z{zzzz{z||{{{{{{{z{z{z{zzzz{{{{z{{{zzzzz{{|z{{{{{z{z{{{zz{|{z|||zzz|{z{{{{{{{z|{|zzzz{y{z{{{|{{{z{{{z{zz{{{|z{{z{{z{{z{zz{{z{{{|{zz{zz{y{{{{z{{{{zz{zzzz{{|{z||{{z{z{z{{{{{{{{{{{{z{zyzz{{|{{{{{z{zzzz{z{z|{{||{{|zz|z{{|{|{|{{{{y{|z{z{{|{{{{|{{z{{{{zz{{|{|||}{{{z{{z{{||||{||{{{{{{|z|}||{}|}{|{{|yz{|{||||{{{{|{{zz{{||{||{{{{|{{{{z|{||{|{|}{{{{{zz{|||||{}{{{{{z{{{||{{||{{{||z{{|{z{||{||{{z{{z{{z{{|}{||{|{z{y|z|{||{||{z{z{z{{{{|{|{}|{{{zzz{{z{{|{|{{||z{|{{z{{{|}|||||{{{{zzzz{{|||||{{{zz{{{|{{{{|}{{|{{|{z{{{{|{{{|zzzz{{{z|{|{{|{{{z{{zzzz{{z{{{{|{{{{{{{z{{{{{{{{{{zzz{{z|{{z{{{|z{{y{zzzz{z|z{|{z{{zzzyzz{{{{{{||{{zzzz{|{{{{{|{|{{z{zzzz{z{z{{{zy{{zzzz{{z{z{{{zz|zzzzz{{z{{{||{z{{z{z{z{|{{||{|{|{zy{{{{{|{|||zz{zz|z{|{{|{|{{|z{z{z{{||{||||{{{{{{{{{|{{|{{}{{zz{|{z{|{|||{{}{{zz{z{{|{|{{|{|z|{{{{{{|||{{{||{{{{{{{{{||||||||{zz{{{z{|||{{|||{|{z{{{{|{{||}}|{{|{{{{||||||}|||||{{|{}|||||||zz|{{|{{|{|{|{||{{{z{{z{|{{||}}}{|{|{z{z|||}|||||{{|zz{zz|||}{|{||{{z{{z{||{||{|{z{|||{{{|{{{{||{z{zzz|{{{|{|{|}{{{zz|{z|{{||{{{|{{{{{zz{{|{y{|{{zz{z{{zz{{|{|z{{z{{{z{{z{}z{{|{{{{zzzzz{{|{{{{zy{{{zzz{{{{{|{{{z{{z{z{z{||{{|{yzz{zzzzz{{{{{z{{z{{{zzz{|{z|{{|{{z{z{z{{z{{{{{{{zyzzzz{{|{z{z{{{z{z{zzz{{{{{z{|z{z{{{zz{z{{{|{{z{zzzzz{z{{{{{{{|z{zzz{z{{||{|{{|{z|{|z{{{{{{z||{{z{z{{{z||{|{{||{zzzz{zz{||z{{|{|{zz{{z{{{|{||}|{{{{z{|{{{{{|||}{{{z{{{{||||||}|{{{{{||z||{{{|||{{{z{z{{{{|||||||{{{{{{|{|{|{|}||{|{{z{{|{|{{{{||{zy{|z{||{||||||{{{{{{{{{|{|||}{|{z|{{{{{|||{}}{{{yz{{|z}{|||{{{z{{{{{z{{||||||{z||z{|{{|||{}|{{{z{z{zz|{|{|{|{{z{{{z{zz{{|{||{{{{z{z{{z|{{|{||{z{zzy|z{{|z{{{{zz{zzzzz{{{{z{{{{z{z{zz{{{{zzzz{{{{{z{zzz{{{{{z{zzzzzyzzzz{z{{{{zz{yzy{zy||{{z{{zz{zy{zz{z{z{{{z{{zzyz{zz{zzz|{{{{zzz{zz{{{{{|{{z{{zzz{zz{z{{{{|{yz{{z{{||{{{{{|zz{{zz{{{{{z{{{{z{{zzz{{{{{|{{{{{{|{zzzzzz|{{{|{{{{zz{yz{{}|{{{|zz{zz{zz||{{|{|{{|{z{{z{z|{||||{{{}|{{{{||{{||||{z{{{{z{z||{{{|||{{z{{{{{{{|||||{{{{|||{|||{{{|{}{|z{{{{{|||{{|||{{{{{z{|{|{||||{{{{|{|{{{|{{{|{{{{{zzz{|}{{||||{|zzz{{{{{|{||}||z{{zz{z{|{{{{|{{{{y{{{{{z{{{||||{{{{{{z||}||{|{{{{z|{zy{|}|||{|{{{zzz{z{|{{{{|{{{{{|y{{z{{|{{{{z{{zzz{yz{|{{|{|{{z{{yzzz{{z{|{{|z{z|zzz{{zzz{|{z{zzzzyzz{z|z|||{yzz{yz{{zz|z{{zzzz{{{yzz{|{{{{{{{{{yz{z{zzz{{|{{{yzzzz{z|z{z{{{{z{zz{zzzz{{z{{{{{zz{{zzz{{{{{{{{{zz{zz{|{{{{{{|zy{{{zzz{|z{|{|{z{|zzzz{{|{{{{{|{{{{zzzzz{{{{}{{z{z{{z{z{{||{|{{{{{|{zz{{{{{|{{|{{{{{{{{{|{|{{|||z{{|{{z|{{|{{{|{{{{zz{{{{{}|{|{|{{{{zz{{|||{||{{{z{||{zz||{||{{{z{{{{{{z}{{{{|||{{|{{{{|||||||||{zzzz{{{{||{||||{{z{{{|{|||{||}zz{{z|z{{{z{{{{|{{{zz|z{{|}|||}|{z{zzzz{{z|z{{|}{{|z{{{{{}||{|z|{{|{zz{{|||{{|z||{zz{z{z|{{{{{|{{{z{{zzz{{{|{zz||zzyzz{z{{{{{|{}zz{z{{zz{{{{z{}|{z{zz{zz{z{zz|||{{zyzz{z|{{|{|zz{zyzzzzzy{{{{{|{zz{zzzzz{{|z{|{||{zzyz{zz{z{{{{{{{zzzz{z{{|{z{|{{{zy{zzzz{{{{z{{z{z{{z{{{|{z{{|{|{{z{yz{z{{z{{{{{zz{{{{{|z{{{zz{{{z{{{zz{{{{|{||{zzzzzzzz{{{||{z{zy{{z{z{||{{{|{{z{{{|z{||{{{z{{|{{{{zzz{{||{|{{{z{|{z{{||{{{{}}|{{{{{zz|||{{|{|}z|{{|{z||{{||}||z{{{{{{|||{|{||{{z{{||{{|{}||||{{{{{z{z}{{|{}{||zz{z{{{{|{|||}{|z{z{|{|{{}{{|{|z{{z{{{{|{|||{||{{{{{{{{{|{|}|||{z{{zz{{{{||{{{{|z{{{{{zz{|z{{{||{{{{{{z{{z{{{||{z{zz{zz{{{{|{|{|{zzzz{z{{{zz{}{{zzyzzyyz{{{{{{{zyz{{z{y{|zz{{{|z{zzzzzzz{{z{|{z{{zyxzzzzzz{{{{|zzzzz{zz{{{{{{|z{zz{zzz{z{{{|{{{zzzzzyzzzz{{{z|{{{z{yzzz{{z{{zzz|yzzzyz{z{z{{{{{zz{zz{zzz{{{{||{z{{z{z{{{{z{z||{{y|z{z{{|{{{{|{{{zz{{{{zy|{z{{{{{zzzz{zz{|{{z{z{{{{yzz{z|{z{z{|{{{{{zzz{{{}{{|z{{{zz{{z{{{{{||||{z{{z{{z|{{|{|||{{zyz{z{{||{|{|{{{{{{{{{{{||||{|{{{z{{{{{|{|||{||{zz{{{{|}{||}|{{{{z{z{{|}|{{{{||zz{{z{{||{{|{|{{z{z|zz{{{|{|||||{{{{{{{|{||{|{{{{z{{{{{{|{{{z||{{z{z{zzz{{{{|{|}|{{{{{z{{{|z||{{{{{{zzz{||{{||{{{z{{|zz{{{z|{{{zzzzzz{z{{|{zz||{z{zzzzz{{{{z|{{{zz{zz{{{{{{z{{{{{{zzyzyzz{z{{{zz{zzz{{yzz{|{{z{zz{zzzzzz{{{{{{zz{z{zzz{z{|{|{{{zz{{zzzzz{||z{{z{{zzzzzzy{{{{|{{zy{z{z{{z|{{{||{zzzz{{{zzz{z{{{{{zz{{yzzz{|{{{{|yzzzz{zz|{{||{z{|{{{zz{z|{|{z}|{zz{{z{zz|{{{{{{{{z{{zzzz|{|{{z||{z{z{{{{{{||{|{{{{z{|zz{{{|||{||{{{{|{{{{{|{|||}{{{{z{{y|||{{|||{{|{{zz{}{|{{{|}{{zzz|z{{{|{{||}{{{{||{{||{|||||{{{|z{z{{|{|{|{||z{{{|{{||{|{}{|{{{{{zz{{|{{||{{{z{{z{z{|{{|||||{{{{z{{{{|{{z{|{{{{z{y{{{||z||{|{{{||||z{||{{{{|{|{z{yz{|{{{|||||{z{{{|{{{{{||{{{zz{zzzz{{|{{{||{{{zzz{z{{{||{||{zzyz{zz{|{|{{|zz{zzz{zyz{{|{{{{zz{zzz{z{{{{{{{{zzzz{z{{z{|z{{{{{z{z{zz{{z|{|{{|{{{zz{zx{z|{{||{{{{z{yyz{{|z{{{{{{zyzzzzz|{{z||{{zz{z{|z{{{{{|{{{|{z{{|z{{|{z{{|{|{{{zy{{{{{{{{|{{{z{{{zz|{{{{{|{zzzyzzz||||{|{|{z{{|{|{{{|{{{|{{{{{{{{{{{}}{{{{{{|zz{zz{|{{|{||{|{{{{{{{|{||||{z{{||{z{z||||{|||{{{{zzz||{||{|||{{{{||{|{||||||{z{{z{{|||||{{||}{{{z{{|||}|||||{zz|{z{{|{{|{|{|{|{{{{{{|{{z{|{|{|{{zz{{|||{||||{{z{{{{zz{||{|y{{{|zz{{z{{||{|{z{z{{{|z{{|{{{||||{z{{{{{{{{{{||||{{{z{{{{}zz{{|{{z{{z{{{{{{|{||{{zzzzzzz{{|{{{||{{{zz{{y{|zz{{}zz{z{z{zzz{|zzz|{zy{z{{z|{z{|{z{{zz{{zzzz{{{{{{|{zzzzy{zzz{|{{{|zzy{{{zz{{{|{{{{{z{{{zzzzz{{z{|{|{zzzzzzz{z{{{|{{zz{{z{z{y{{{|{{{{{{zzz}{{{{z{|||{{{{{{z{{{{{{|{|zz{{zz{z{|{|{{{|{z{z{z{z{|{|{{|{zz{{{z{{{|{{|{}|{{{{{{|{{||{{}|z{{{{|{{{{z|||}||{{{{{{|{{{|{||}|{z{{zzz{{}|{|{}||{z{{{{{|{||{|||{{{|{|||{|||{||{|{{z|{{{{{||{}|||||{{{|zz|{||||{}{{{{{{{{{||||{|{z|{{{z{{}||{}}|z{{{z{|{||}|{{|}|z{|{{{{{|{||{|{{{|{{zz{{{{{z|{||{{{{z{{{||z{|||{{{{|{{{|{{||z|{|{{zz|z{{{{z|{||{z{{|zz{{{{{{|{{{{{{zz{{{{{{{{{{zzzzz{{zz|zz{{{{|{|{{{zz{{z{{|{{{{{{{zzz{{{{z{{{yzz{zyz{{z{{{z|{{zz{z{z{zz|zz|{{{zz{z|zzzz|{{z{{zyz{{{{zzzz|{{||{{|{zzzzz{{z{{{{z{|z{zzy{{{|{|{z{zzzz{{z{|z{{{{{zy{zzz{{{{{{{|{{{z{y{{{{{{{{z|{{|{zz|zzz{{{|{{{{{{{{{zz{|{|{||{{|zzzzz||{|{{{||{z{{z{{{{{{|{||{{{zz{{{{{|||{{|{|{{{{z{zz{{{|{{||{z|{|{{{||||{|||{|{{zz{{{||||||||z||||{z||||{|||{{{{{|{|{{||||||||{{{z|z{|{|||}|{{zz{{{{|||{|{||z{z{{{|z|{{|{|}|{z{{{{{{{|{z{{||{{{{zz{{z||{{|{z{{zz{{zz{|||{{||{z{{zzzz{{{{|}{|z{z{{zzzzz|{||{|{z|{zz{z{{{{z{||{{zzy{zz{{{{{{{{zz{zz{{y{|{{{{{{{{{{zz{{zz{{z|{{{{{{{zzz{{{z|{{{zz{yyzz{z{{{{{{{{zzzzzzz{{{{{{{|{{{{zzzzz|zzz{}{{z{{{z{yz{{{{{{zz{z{zzzzz{{|{{{{{zz{{{zz{{{{{{{{{{{z|z{z{{{{{|{{{{{zzz{zz{||{{||{{{zzzz{{{|{{{{{{y{z{{{{{{{{|{|{{{{{{{z{{{{{z{{{{{{{zzz{{{{{{{|z{z{{zzy|{||{||||{{{z{{{{{{{|{{|||{{{z{{z||||||||{{z{{{{{|||{{|||{{|{zz{{|||{|{|}|{z|{z{z{||{||{||zz{{z{{|{||{|{||z|z{{{{{||{{|||{{z{{{z|}||||{|{{{{{zzz{{|{{{|{{{{{{{y{z{{||{|||{z{z{{{z{z{|{{{{z{{{zz{z{|{{{{{|z{{{{zzz|{{{{|||{{zyz{zzz{{{{{{||z{{{zzz{{|{z||||{z{zzzz|{{{{|{}{z{{{zzz{{zz{{|{zz|z{{{{{z{{{|{{zz{z{{z{{{|{{{||{z{z{{y{{|{{z{{{zy{zzyz{|{{{{|{|zzzyz{z{z{{|{{{{{{zzy{zzz{{{z{|{zy{z{z{zzz{{{|{{zz{|{{zyz{{{{{{{{z{{zzzz{|{{|{{{{z|zz{|z{{{{{{|{z{zy{z{z{||{{{{{|{{z{yzzz|||{{z{z{z{{z{z|{{{{{{|{{{{|{zz|z{{|{{z{{z{{{{{{|{||{{{{{|zzz{z{{z|{{||{z{{{{z{{|{||{{{|{z{{{z{|||{}{|||{|{{{{|{{{|{||||{{{|{zz{}||||}|{{{|{z|{|{|}{}}|z{{{{{z|{|{{|||}{z{{{zz{{{|{z{||z{{zz{{{|z{{|||{{z|{{{{{z|||{{{{{{z{{{zz{{{|||{|{zz{{{{{zz{z{|||{{z{|z{z{|z|{|}{|zzzz{zz{{{|{{{{{{z{{zzz{{{{{|{{{{|zzzy{{z{{|{{|{{{z{yz{{{{z{{z{{zzzzzz{z{{zz{{{{zz{zzz{{{z{z{{{zzzzzzyy{{{{z{z{{zz{zzz{zz{{z{{{{z{zzz{{z{{|{{{|z{zzzy{{z|{z{{z|z{{yzzyzz{{|{{z|{{zz{z{yy{|{{{|{z{zz{{{{{{{|{{z{zyz{zz{z{z{|{{|{yz{zzz{z{z|{{{{{{zz{zz{{{{|{{|{{{z{{{z{z{{|{z{||z{{{{z{{{{{{{|{{{z{z{zzz{{}|}{||{zz{|{{{{|{{{|{|{z{{z{{z{z||{{|{{z{{{{y{|{{||{|}|z{{z{|z{|{{{}|{|y{z||{z{|{|{||||{{{{{{{{{|||{|||{z{{|{{{{|{|{||{zz{|zz{{|{||{|{z{{{{{{{{{{{|||{}{{zzz{zz{{{{{{{|zzy{{z{z{{{{{{|{{zz{{z{zz||{{||{{{{z{{z|{{{{{|{{|{z{zzy{|z|{|||{z{z{zzz{z{{{{|{z{z{z{zy{|{|{{{|{yzzzz{{z|{{zz{|zzzzyzz{{|{{z||z{{zzzzyz{zz{{z{{zyzz{yzzz|{{{{{{z{{{zzzzzz|{|{{zz{z{zzyzzz{|{z|{z{{{zzz{yz{{z{{{zzz{z{{yy{z{{{{{z{{z{zzz{{zzz{|zz{zzz{z{{{{{{{|{y{|{zzz{{{z{{{|zz{{zz{zz{|{z{|{{{{z{{{{y{z||||z{{{{{zy{z{|||{{||{{zz{{{z||{z{{|{{{|zz{|{||||{{|{z{{{{z{{{|z}{{|||zz{z|{z||{{|}||{{{||{{{|{{z{|{}|{{{z{|{}{{{{{|||z|z{|{z{|||||}|{{{|{z{{|{|||||{{z{{{|zz|||||{{}{{zz|z{z{|{||{|{{|{zzz{}{{{|||||{z{{z{zz{|||{{{{{{z{z{{z{z{z{{{|{{zz{{{yz|{{{{{|{{z{{yyzz{|{||{|{z{z{{{y{{{z{{{|{z{z{zz{|{{{{{||{{{{yyzz|{{{{||{{z{zzz{zz{{{{|{{{{{yzzz{z{{z{{{{zz{zzz{{{{z{{z{{{zzzzz{{zz{z{{{{zy{{zz{{z{{{|{||zzzyz{zz{{z{{z||{z{zz{{zz{{{{{{||z{z{z{zzzzz{{z{{{{zzzzzz{{{{{|{{y{zz{z{zz{{{zz|z{{zzz{{|{{{{||{z{z{{yz{{z{{||{{{z|{{{{{{||{{||{{zzz{zyz{|{z|{}{{{{zyz{{z{{{zz{{{{zz{{{{|{|{{||{{z{{{z{|||{|{|}|{{{zzz{z{||{||{{|{{z{{{{||||||}|{{{{{{|{{}{|||{|}zz{{{|{{}{z{|||{{{|{|{{{{{{{{|||{||{z{|||||}|||{{z{{{{{{{|{||||{{{{z{{{{{|{|||||{z{{y{{z||z{{|{|{{{{{zz{||{z|{{{|z|{zzz{{{{{|||{{y{{z{{{||z{||{{{zzzzzz{{{z||{||z{z{zzzz{{|{{{{|z{zzzzz{z{z{zz|{{zyyz{z{}z{{||{zzz{zzz{{{{z{{z{{zzz{z|{{z{{z{{{zzzz{zz{{{{{y||||zzzzzyzz{{{{{{{|z{{{{zzz{|zz{{{{z{{zzzzzz{z{{{{zy{zzzzzy|zzz{{{{{z{{|{z{|{z{{{{zzzzzz{y|{{z{{{|{{zzzzzz{{{{{{{|{{z{z{{zz|{{{{{{{|{zyzz{{{|{||{{{z{{z{zz{{{{{{|{{{zz{z{{}|{|{z|{{{z{{{zzzz{|||{|{zzzz{|z{||z||{||{z{zz{z{|{{|{|z{z{{z{{{||||{{}|{zz{{{{{{||{}}|}|z{{z|{{{}{||||{|{{|{|zz}|{{|||{{{|{{{{{{{{||{|{|{{{{{z{||{{{|||{{{{{zzz{{{|z{|{|{{z{{zz{|{|{|{|{{{zz{zz{z|{z{zz{zy|{y|{z|||{z||{{{{{{{{|{{{{{|}|{z{zz{z||{{{|||z{yz{zzz{{{|z{||{y{z{{zzz{||||z|{zz{{z{{{{{z{{{zz{z{|zyzz{|{z{{{zz{zzzz{z{z{|||{|z{zz{z{z{z{z||{zzzzzzzyz{{{{{z{{zz{z{z|{z{{{{|{zzzz{zz{z|{{{{{{{z{zz{zyz{|zz{{{zz{z{zz{z{{{{|}z{zzz{yzz|{{{{{z{y{{zzz|{{{{{{{||{{{{zz{z||z|{{||{{zz{z{zz{{{{{{{{{{z{{zz{{{{z{|{{{z{{z{{||{{z|{|{{|{|z{z{{{{{{||{|{{{{{z{{{||{|{|z{{{zz{|{||}{|||{{{{{|z|}|||||{{{{{{{{{|||||}|||{{|{{|}{}z|{|}||{{z{{{{|{{|{|{||{{{z|{{||{{{|{|{{z{{{{{{||||{|{|||zzz{{|zz||{||{{z|zz{{z{|z{|}{{{{zzz{{{{|z{{{{{{{z{{z{{{|{|||{{{z{{{zz{|{|{{{|z{{{z{{z{{{{z{|{{{{zzzzzz{{{{{{{z{zzyzz{|z{z{{{{zy|{{z{z{|{{{{{z{{zzz{{{zz{{z|{{{zzzz{zzz{z{{{|{zz{yzzz{z|{{{{|z{{{{z{zzz{{|{|{|{{{zzzzz{{z{z{{{|{{{yzzzzz{{{|{{z{zz{zz{{{{{||{z{z{z{{zy{zz{{{|{{{zzzz{z{{{zz|{|z{z{zzz{{{{{{|{|{|zz{z{z{{{|{||{{{z{|zzy{{{{|{|{zz{{{{zz|{{{{{|{z{{{z{{||||{{|{{{{{z{{{{|{{}{|{|z{zz{z{{{|{|{||{{{zz|{{zz||{|||{{z{|{{|{|{}{||||{{{{{{{{{|{{|{{||z{|{{{z|}|||{|||{{{{{{z{|||{|{|}{{{{{{|{||||{|{{{{{{|{{{{{||{|}{||{|{{{|{z{||{|{z{{{z{{||{|{{||{{{z{{zz||{{{|{{{{{{{{zzz{|{{{||{zzz{{{z|{{{|{|{{{|{z{zz{z{{{{{{{{{z{yzzz{}{z||||zz{{{zz{{||z{{{{{{{z{{zz{|{z{z|{|z{z{{{z{z{{||{{{z{z{yz{z{{z{{{{yzzzz{z{||z{{|{zz{zzzzz{{{{|{z|z{zyzz{zzzz{{|{{zz{zzzz{z{zzz|{{{{yz|z{{z|{{{|||z{zz{z{z{{|{{{||{zz{zz{zz{|{{{{|{yzz{{{zz{{{z|{|z{{{{{z{{{{{{{{|{{{{{z|{{{{|{|}|zz{z{z|{{{{{{|{{|{z{{{{z{{||{{z|z{z{{z{|{{|{{||{{{{zz{|{{|||}{{|{{{{z{{{{|{|{{|{|z{z|{|z|{|}||||{{|z{{{{|{|{|||||{{{z|{{|}|}|{}||z{|{{{{||{||{|{||{{{z{{{{||{||||z{z{{{|||{}|||||{{z{{{{{|||{||{{z{|zz{z||z||{{|{{{{{{{{|{|{||zz{zz{{{{z{{{{||{|{y{{{zzz{{{{{|{|{{zzzz{z{{{z{||{{{{{{{yzzz{{z{|{{{{zzz{y|{{|{{{|z{{yz{z{{z{{z||{y{zzzzzzz{||z{{{{yzyz{{z{z{{{z{zzzyyzzz{{z{zz{|{{{zzyzyzz{z||{|{{zzzzz{z{|{z{||{{zzyzy{zz{{zz{{{|{|zzz{zz{z{z{|{z{zzz{zz{|{|{{{{zzzzzyzz{zzz{{{|zzz{zzz{{{{zz|z|{zzzzzzz{{{{z{{{{zzzzyy{zz{z{{|{z{{{zzzz|{|{{||{zzzz{{z{|||zz{|{{z{z|z{{{{|||{||z{zzz{|{z{{|z{|{|{{{{z{{{||{{{|z{{{z{z|{{|{{||||{{{{{{|{{|{{|{|}|z{{{{|{{{{{||{{|{{{{z{z{{{{|{{||{z{{{{{{||}||{|{{|{|{z{{|||{{{|{{{{z{{z{{{{||{{{z{{{z|{{||}|||{{{zz{z|{{{|{{{z{z{z{zzzz{{zz{{{|{z{{{{z|{|{{{|||{{{{{{y{{|z{|z|{zz{{zzzz{||z|{{{{zzyz{zz{{{{{{||{z{yyz{{z{{{{{{{zzzzzzzz{{|zz{{|zz{zz{zz{{{{zz{|{{zz{zzz{z{{{|{{{zzzz{zz{{{z{{{{|zzzzzzz{|{{zz||zz{{z{zzzz{{{{{{{z{yzy{|z{{{{{|{yzzz{{zzz{{{{{|||zzzzzzy{{{{z|||z{{z{z{{{|{{{{{|z{{yz{{{{{||{|z{z{{{{zzz{|{{{{{{{z{z{{{z{{{{{||{{{{z{z{z{|{{||{{{{|zz{|{|{{||{|{z{{z|z{{|{{{{|{|z{{|{{{{{||||||{{z{{{|zz|{|{||||{z{{|zz|{|{{||{{|z|{|{{{{|z||z|{}|{{{{|{{|{||{|{{{{{|{{{|{|{|{|||{{{{{|{{||{{|||{{{{z{zz||}z{|{|{|{z|{{{||{|{{|{z{{zz{z{{||{{|{{||z|zz{zz{{{{|{{|yzz{{{y|{{|{{{{{zzzzz{{|{{{{{{{{z{z{{zz{{||{{{{{zzyy{|zz|{{{{|{z{{zz{{z{{|{{|z{{z{y{zyz{|{zz|z{{{zzyzzzz{{{z{{{zz{zz{{zy{|{{|{{zzzzz{z{z{{z{{{{zzzzyz{z{{||{{{{zzzzz{yz{zz{{{z|z{zzyz{z{{{zz||{zz{z{zz{{{|{{|||{zzz{zzz{{{{z{||{{{{{z{{{{{{{|{{zz{z{{z{z{{{{{|z{|{z|zzz{{{{{|z{{zz{{zzz{{{{{||{zzz{zz{{{{}{{{|{{{{{{{{{{{{|||{{{{z{{|{{}|{|{{||{z{{zz{{|{||||{z{{{{z{{{{|{{|||{|{|||{||z{{|||{|{{{{z{{{{}||}{||{{{{{{{{||{|{|{||z|{{{z{{{||{{|{{{z|{{z{|z{|||||{{{y{{{{{|||{{||{{||{z{{z{{{{{|{{{zzzzz{{{{z{{|{{zzzz{z{z{{{{|z|{z{{{z{{{{{{{{{{z|zz{z{z{{z||{|{z{y{zzz{{||{z{|zz{z{zzzz{{{{{{{|{z{z{zzz{{z{{||zzy{z{{zz{zzzz{{{{zzzz{z{{{{|{|{|zzyzzzzzz{{z{{{{z{zzyyzzz|z{{{{{{z{{z{yzz{{{z{{z{z{zzyzz{{zzz{{{{{zzzyzz{zz|z{{zzy{{zz{z{{z{|{{{z{zz{zz{{|{{z{{z{{zy{zzz{{{{y{||zzzzzzzz{{{|{||{{{z{{z|z{|{{{|{{z{zzzzyz|||{{{{|{{{{zzz|{{{{{|{|{{z{z{{{{|{{{|{zz{{zz{{{z|{{{{}|{{|{{zz{{{{{|{{|z|{{{{{|||{|{|||{{{{z{{|z|z{{|{||{{zz|{{||{}{|||{zz{z{{z{{|||{|||{{z|{z|z||||{|{|{{{{z{{||{||{{||zz{{{{{{{{{{{||{zzzzz{z{{{z{{{{{y{{{zzz{{{{{||{z{{zzyzzz|{|{{|{{z{z{{{{z{{{{{|{{{{zz{z{{{y{{||{{|zzzzz{zz||{{|{z|{yzy{z{z|{{{{|{|z{zz{yz{{z|{{{z{{{{zzz{{{{{{{zz{zz{zzz{{z{{{|{zyzzzy{z{|z{{{z{z{zzzzzzzz{z{{{z{zzzz{zz{zz{{{|{{z{zz{zyz{{z{z{{z{zzz{zzz{z{z{z{{z|{z{zyzz{{{z{{zzzzz{{z{|{{{{|{zz{z{z{zz{{{|{|{z{zzzzzz{{{{{{|{{z{{zy{z{{{{{{|{{zz{{{zz|{{{{{|{{{{z{z{{z|{z{{{{{zz{{z{zz{{|{{{{{{|z{{{{{{{}|||}{{{z{{y{|||{|{}||z}{{{{z|||{{|}|{{{zz{|{{{z|||{{|{{z{{{z{|{|{|}||z{|{z{{|{{|{||{|{{z|{z{z||{{||{{{{{{{|{z|{{||{|{{|z{{zz{{{||{||{z{{{{{zz{{{{{{{{{zz{{zz{{{{|||{{z{zzz{yz{{{{{|{zzzz{{z{z{{|{|{|{z{z{z{{{{{{{|{|{{{z{z{z{z{{z{{|z{{zzzzz{{{z{{{{{z{z{{{z{{{{|{z{{zzz{{zz}z{{{{z{zzz{y{{{{zzz{{|{zz{zyz{zy{{{{z|{zzz{zzzz{z{z{{{{zzz{{zzz{{z{z{{{|zz{{{zzzzz{z{{{{z{zzzzzz{z{{{{|{zyzz{z{{z{zz|{{{{z{yz{zz{{{z{{{z{z{zz{{{{z{{{{{{{zzzyzz{{{{{{{{{{{{{y{z{|{||{{{{z{{z{zzz|||{|}z{{{{{{{{{{{{||{{{{z{{zz{{{||{}|{{{{{{z{{|{{z||~|{z{{{z|z{|||{|{{zzz|{{|{{{|{||||{{{{{|{|{|{|{|{{|z{{{|{{{|{{{||{|{{{{zzz|{|||{{{{{{{z{z{{{{|||{||{z{|{{||{|{{|{|{{{z{{{{{{{{{{{||zz{{zzz{}|{{{{|z{{z{{{{{{{|{|z|z{z{z{{{{|||{z|{{{{{{{z{z{|{{|{|{|zzz{{z{{zz{|||z{{{z{zzz{{{{z|{z|zzzz{zz{|{z|{{{zy{z{zzz{zz{{|{{zz{zzzz{{{{z{{{zyzz{zz{{zz{{{{{z{zzz{yy{|{{z|{||zz{z{zzz||{z|||{z{{{{zz{|{{{{{{zzz{{zzzy{{{{{zzzzz{{y{zz{zz{{{{zzz{z{{z{{{{|{|{zz{zzzzz{{{{{{{{{{{zzzzz{{{{{{||{zz{|zz{|{|{{{|{z{zz{{z{z||{{{{{|z{zz{z{{{{z{z||{{{{{z{|{{|{z{{{|{{{{{{{{{|||{{|{{|z|z|{{{z||||}{{{{{zzz{}|{|}|||{z{zz{z||{|{|||{{{|{{|{z||{|||}}{{{{|{{{|{|||}{|z{|{{|{|z{|{||{{{{z{|{|{z{{{|{|z{{{{z{{{|{|||{||{{{{{{{{{{|{|{|{{zz{{{{{{||{{{{zy{zz{{{z|z{||{{{|zz{{z{z{{{{{|}zzz{zy{z{z{z{z|{z{zz{{zxzz|{{{||zzzzz{zz{{z{{{|{zzzzzz{z{{|{{{{{{y{{{{{z{{{zz{{{zz|{zzzz{z{{z{{{zz{zz{zzz{{zz{{|{zzyzzz{{{{{z{{{zz{zzzzzz{{{zzzz{zzzy{zy{{{{z{|zzy{zzzzzzz{{zz|z{{zzzzzzz{zzz{{{z{zz{zzzz{{|{|{|z{z{zyzzz{z|{{{{z{z{zz|z{z{y{{{|zz{z{zz{{z{|{{|{{z|zz{zz|{{{{{{{zz{{{{zz{|{{{{|{{zz{zz{z{{|z{z{{zz|{yzzz{{|{{{||z{{{zz{{{|{{|{|}z{{|zzz{{{{|{{{{{zzz{zz{||{||{||{z{{{{|{z|{z|{{||{||{{{{{}||{|{|{{{{|{{z{||{|}||{zzz|z{{{{{||{|||{z{{{{z{{{||{{|z|{z{zz{{{{{{|{{{|{{z{{y|{||{{|{{{|z{{z{{z{|{{|{zz{{{z{{zz{{|{{|{|z{{z{{z||{{|{|zz{{z{|{{{{{{z|{{{{z{zz{z{|{{{|{{z{zz{zz{{|{{{{{{{{{{{zyz|{|{||zz{z{{zzz{z{{z{{{{z{zz{{{{{{{z{z{zzyzzzyz{{zz{||z{zzzz{yy|{{z|{z{z{zzzzzz{{{||{{|z{{zyzz{z{{{zz{{{z{y{{{{z{z{z{z{zzz{z{yz{|{{z{z{zz{{{zzz|{{{{{|{|zz{{z{{|{{{{zz{zz{{{z{{{{{|{|{|{{|z{z{z{{{{{|{|{z{zzz{zz{{z{|{|z{zz{z{z{|{{{{|{|zz{{|{z{{||{||{z{{|{{z{|{{||{|{{zz{{{{{{}|{|{|{|{{{{{{{{||{{|||{|{zz|{{{||z{{|{|{z{{|z{{|||||||{{|z{{{|{{{{|{{}|{{{{{z||{|z{|z|{{{|{{{{{{|||||||{zy{z{z{{{|||}|{zz{z|zy{||||||{{{{{zz{z{|{|{{{|{z{y{{zz{{{|{{||{|{zz{{{|||{{{|||{{zzzz{|{{z{{||{zz{z{zz{||{{{|{{{{yyzz{{z{z||||{{z{z{z{{{{{{{{{{zz{{{{z{{{{{{z{{zyz{zzz{{|{||{{z{y{zyzz{{|{{{{{{{zzz{yzzz{{zz{|{{{zzyyzz{{|{{{{zzzz{zzzz{{{{{{{{{zyzzzz{{z|zz{{z{{{zz{zz{{|{|{zzz|zzzz{{{|{{{{|{{zz{z{{{z|{{{|{{z{{z{yz{{{{{{{{z{{{{z{{{|{{{{{{zzz{zzzz{{{z{|}{{z{{zzyz{{{|{|{|{{z{{|{{{{{|}|||z{|z{z{zz{{||{{||{z{z{{z{{||{{}||{z{|{{{{{{||{|||{{{{|{{{{|{{}{||{{|{{{{z}|||||||z|z|{|{{{{|{{|z|{||{zz{|{{{|{|{{{|{{|{{{|{}||||{z{{{{z{{|{{|{|{{{|{zz{z{|||{||{{{z|{z{{{{{{{{{{z{{zzz{{{{{{z{{|{z{{zzzz{{z{|{|||{{yzzz{{{{z|{{{{|{{yzz{{{{{z{{{z{{yy{{{{{|{{|{{z{zzz{zzz|{{{{{z{z{zyzzzz{{z{{z{{yzyzzz{z{{{{z{|{z{zzzz{z{zz{z{z{zzzzzzzz{{z{z{{{{zzzz{zz{z{{{|{z{z{yzyzzzzzz{{{{{zzzzzzz{zz{{zz{zzzz{zz{{|{zzz|{zzz|zzy{|{z{{z{{z{zzyzzz{|{|{{{zzz{{{zz{{|{{|{|{{z{{yz{z{zz{{|z{{zzzzzz{{{{{{{{{{{{{z{{{{|z{{{{{z{z{{{zz||{|{{|{zzz{{{{|{{{{|{{{{{||{{{{||{|}}|{{|{{z{{{||{{|||{||{{{{|{|||}{}|||{{z{{{{{{||{|||{z{{z{z|||||{|||{{z{z{{{|{|{|||{{{|{zz||}{|{|{{{zzz{{zz{||{z{|{{{z{zz{{{{{|z{{{z{{{{yz{{{{||{{}{{zy{zz{{{{{z|{{{z{{z{zz{{|||||{{zzyz{{z{z{{|{|{{{zyzz{{{z|{z{{{{{zzz{zz{{|{|{{{zz{z{y{z{||{z{|{{zzyzzyzzz|{z{{{zz{zzzyzzzz{{z{|zz{zzzzz{{z{|{{zzzzzzz{{|{{{{|{{zzzzyzzz{|z{z{|{zz{z{z{{z{|zz|{{z{{zzzzzz{{{{{{z{zzzz{zz{{{{{z{zz{zz{z{{{{{z{{{{{zzyzz{z{{{{{{{|zzyzzz{zy{|z{|{{{zz{zz{z{|{{||{{{z{{z{y{{|{{|z{{|zzzz{z|||{{|z||{{{{{{||{||{||{|{{zz{{{|{|{z{{|||{{{{{z{z{{|||{||z{{|{{}|{{|{{||{{{{z{{||||{||||{{{z{{{||}{|||||}{{|{y{|}|{|z{||{{z{|{zz|{||||{|{zz{{{zz{{||||{{}{{z{{{{|}{{||{||z|{z{{|{||{{|||{z{zzzzz|{||{{{{zzyzzz{zz{{|{{{|z{{zzyzz{{||{{|||y{z{{|z{{z{|{{{{z{z{{zz{{{{{{{|{zzz{z|{{{|{{|{|{{z{z{zzz{{zz||{{z{z{zzzz{|z{{{{{{zzzzz{z|{{{{{{zzzzzzzz{{{|{{{yzz{zzzz|{zz{{}{zzzz{zyyzz{|{{zz{{zz{zzzz{{zz{{{z{z{yzzzzz{{{z|{{{z{yz{zz{{{|{z|{{{{z{z{z{{{zz||{{z{{zz{z{{z{{{{{z{zzzyzz{|{{|{{{{{|{{y{{z|{{z{{{{z{z{z{|{{|{z{||zy{{zz{z{z{{z|{{zzz{zzz{|{||{|||{{{z{zz{||{{{|}|||{z{{{{{{|{|{{|{{{{{{z{||{{|{||{{{|{|{|{|{{||||{z{{{||{|}|{||{|{{{|{{|{||{||||{|{|{{{z{{|{{|{||z{z{{{{{z|{{{||||{{{{zz{z{{{{|{||||z{{{{||{|{|{{{z{zzz{z{{}zzz|{{{{z{zyy{|{z{z||{zz{zzzz{z|{{|{{{{zz{z{yzz{{|z{{{{{z{zzz{{{{{{{|{{{zyyzz{{|{{|||{{zzz{{zz{{{{z|zz{zz{z{z{{{z{z{{z{{zz{zy{{z{z|z{zzzyzzzzz{||z{{zzzzzyzzzzzz{{z||{z{{zyz{z{zz{z|{zzzzyzzzzzzz{|{{{zzzyzzzzz{zz{{|zz{zzzz{z{zz{{|{{zzzzyzzz|{{z{|{yzzzzz{{z{{z{|{|{{z{zz{z{||z{{{|{z|zzzz{z{|{{{{|{zzzyzzy|{{z{{|z{{{zzzz{{{{|z||z{|{{{zzzz{{{{||zz{zz{{{{z|{|{{{{|{{z{{{z||{|{||{|{{{{{{{|||z{|||{|{{z{{{{{|{|||{|{{{{z{|{|||||{||{|{|{|{{|{||||{{z{z{|zz{||{{|||{{{{z|{{|{{{|{|{|{{{z{{z{{{||||{{z{z{z{{|{{||{|{{z{z{{zz{|z{z{z{{z{{z{{y{|z{|{{{{z{zzzzzzz{{{|{|{{zzzyzz{{{z{{{|z{z{z{zzz{{{{z{{|{zzzzzyz{z{{{{{|zzzzyzz{{|y|{z|zz{z{{zzz{y{z{z{{zy{zzzz{zz{z{{{zyzzzyyzz{{{z{{{zzyzzzzzz{{z{{{{z{{zyzyzzzzzz|{{{zzzzyzzzzzzz{zz{yzyzzzzz{{{z{{zzzz{zzzyz{{zzz{zzzyy{z{yz{{{zy{{yyz{yyzz{{zz{{{{zzzyyyzzzz{{{{{{z{z{{zzzz{{zz{{z{z{zz{zz{{{{{{{|zz{zzzzz{z||{{{zzzyz{zzz|{{{|{||{{{{{{{{|z{|{|{{|zz{zyyz{{{z{{{{{zzzz{z{{|{{{||{{{{{{|z{{{z{{|{}{zz{zz{{{|{{{||||{{z{{zzz{{||{{{{|{{|{yy{{{{{|{}{{zz{{zz|{z{{|{|{z{z{zzz{{{{z|{{{z{zzz{z{{{{{|{{y{{zz{zzz{zz{{{|{zzz{{zz|{{z{{|{{{zz{zzzz{{{{{|{{{zzzz{{{|{||||{{{{zz{{{{{{{{{{{{zzzzyzzz{{{{{{{zz{zzzz{z{zzz|{{{zzzyzzz{{{z{{{{zzzz{z{zzz{|{zz{zzzzzzzz{z{{{{zz|{zzz{yyzz{z|z{{{zzzzzzzz{z{z{{|{z{zzzzyyzzy{{zz{z{zzzzz{{{{y{{{zy{zzzzzz{|{{z{|{zzz{z{{z||{z|{{zz{yzz{z{{{{{{||{z{zyzzy{{z{{{|z{{{yzz{z{z{{{{{{{zz{{{zz{{{{|z{{{{zz{z{{{{{{{{{{{zzz{{z{{{|{{{{|{z{{{{{{{{z|{||{{{|{{{{{{{|||{{{{{z{z{z{||{|{{||{{zz{|{{{|z{{||||zz{{z|{{}{|{||||{|{zz{{|{{||||||{zz{{{{{{|z|||{{{{{{{zz{||{{{|}{{z{z{{{{|{{{{|{|{{{{z{z|{|z{{||{y{{{zy{|{|{{zz{z{zzzz{z{|{zz{{|{zz{{yz{{{{z|{||{{{z{{z{{zz{|{{{z{{z{{zy{{|{z{{{z{zzzzzzz{|{z{{{{{zz{zzx{{z{z{{{{zzzyzzz{z{{zz{{zzzzyzz{{z{{{|z{zzzyyzzz{{{{y{|zzz{zyzz{{z{{{z|zzzzzyzzzz{z{z{{{{z{{z{zzy{{z{{{{{{{yz{yzzzz{{{z{z{{{{zz{{{{zz|{{zz{zyyzzz{|{z{||y{zzzzz{{{{{z}z|z{{zzy{zz{{{{{{|{{{{{zzz{{{{z|{{z{{z{{zz{{{z{{{{{zz|{{z{{{|{zz{{{zzz{{{z{{{{{{{|y{z{z{{{{|||{|{{{z{{{z{zz|{{{{{{{z{{z{z{|{{{{||{{|{zz|{|z{{{{||||zz|z{{|z|{|{|{|{{{{{{{z{{{{{{{{|{z{{{{{z{{|||||{zz{{{{{{|{|||||{z{y{z{z{|{{|||{|{z{{{zz{|{{{{|{zz{zzzzz|{{zz{}{{{{z{zz{{{||{|{|zz|yyzzz||{{{{{|{z{zzz|z{z{{{{|{{zzz{yzy{{{{y{{{{{zzzz{z{z{|{{||yzzzz{y{{z{{{|z|{{{zzyzz{{{{z{{zzzzz{yz{{zzyz{z|zzzz{z{{{{zz{{{{zzz{yzz{z{{z{{|{zz{zz{zyzzz{z{z{zz{{{y{z{{{z{{{{zz{z{{yzz{zz{|{zzz{y{{y{z{{{{{{{{zyy{zyzz{|{z{{z{z{z{{{z{|{{{||{zzzzzz{z{z|{|{||{{{{zz{{{{{{||{{zzzzz{zz{z{{{{|z{{z{z{z{{|{{{{|{{z{{{z{{z{{{{{z{{z{{{{|{{{|{{|||{|{{{{{|z|||||{{|zz{{z{z||{|||||{{{{|{{{{|||{|||{|{z{{{{z||||{|{{{||{{{z{z||||{|{{z{zz{{{{{{||{{{|z{|{z{{{{z{{{|{{{z{z|zz{|{{|{|{{zzzz|{|{{|{||{{{zz{z{z{{{{||{|z|{{{zzz{|{{z|{{{{yzyzzy{{{z{{|{|z{z{{zz|{{{{{{{{zy{z{z{{{{|zzz{{{{yzzzyz{{|{{z{zzyzzzzz{{{|{z|{{z{{yzyzz{{{z{|{zzzyz{zzzz{{{{z{zzzzyzzz{{zz{{{{{zzzzyzy{{{z|z{{z{z{{zzy{z{|z|||{yzzzy|yzzzz{{{z{zzzzzz{z|zzz|{{zyzzzzzyz{{{{{|{zzyzzz{z{|z{{|{{zz{{zzzz{zzz{{{|zzzzz{{{z{{{{z{|zz{{{zz{zz{{||{{{zzzzz{|{{||{{{{zzyz{z{{{z{{|{{z{zz{z{{z||||{||{{{z{z{|z{{|{{|||{{{{zz{{|{{|{||{{{{{zz{{|}{{||}|{y{{z{{{{{|{{|||}{z{z{{{{}{|||{|{{{|{{{{|{|{{||{|{z{{{z{{|z||{||{|{z{zz{{{|{||{|{{zzz{zz{|{|{||{{{zz{z{z{|{|{{{{{{{z{z{z|{{|z{|{zzzz{zz{{{{{{{|{z{z{zzz{{{|{{{{|{{{{{{zy{|{{|z{{{{|{yyy{{z{||{{{|{{yzz{z{{{{z{{{{{zzz{zy{{{z{{{{{{{zy{zyz{{z{|{{{zzz{zz{z{z|z{z|z{z{zzz{{{{z{{{{{z{z{zyz{{zz{|||{zzzzzz{zz{{{z|{{{zz{zzyz{z{{{{z{yzzzzzz{{{{z{{{zy{zz{zz{z{{{{{{zzz{{zz{{{zzz|{|{z{{zyzz{zz{{{|{z{{{{z{{{{{{{{||zz{z{zz{z{||{{z|{{z{zzy{{{|{{{{{||{zzyzz{||z{{{||{z{{{z{{{{|||{|{z{{z{{{{|{{z||||{{{{{{{|{{{||||{zz|{{{{{||{{|||z{zz{|{|||{|}|||{{{{{|{{{|{|{|||{{z|zz{{{|{||{{{{{{{z|z|{{{{||{|{{{{zz{z{{{||||{{|{z{{z{{|z|{||||{{{z{yz{{{|{z{|{zz{zz|z{||{{{{|{{{{|z{{||{z|||z{{z{zzzz{{{{{{{{{{yzz{{z{{z{|{|||z{|zyz{{|{{{{||{{{zzzzz{{||{{{z{zzzzz{{z{{{{|{z{z{{z{yz|{{z{{|{{zzzz{zz{z{{{z{{zzz{{{zz{{{z{{|{zzzyzzzzz{{{|{z{z{zzyzyzzz{{z{{zzzzzyzzzz{{zz{z{{zz{{zzz{z{{z{{z{zzz{yzyzzz{{z||{z{z{yzzz{|{z{{{{{zzz{{z{z|{{{{|zz{z{{z{{z{{{{{{zz{|{zz{{z{{{|||{zz{zz{z{{{{|||{{{z{{{{{{{{{z{{|{zz{|z{{{{{{||{}{{{{z{{{{|{{{|{{{{{|{|{{|||||||{{z{{{|{{{|||{|{{{{|{{{{{{|{{}|{|||{z{|z{{||{{|}|{{|{{z{{{{|||||{|{z|{{{||{{}{||}|{z{{{z{{z{{||||{||{{z{z{|{{||||{z{{zzz{{{{||{{|{z{{z{z{{{||{|{{z{z{yzzz{{|{{z{{z{{{zzy{z{{{{{|{{{zzz{zz{{z||{{{z{{z{zzy{{{{z|||z{{zz{{y{|{{z{{{{zzz{{yzz{z{z{{{z{{zzzzzz{|{z{|{{{{zy{zzzz{{z{{{{{zy{zzzzzz|{{{{{zzz{yzzz{{{{{{|zzzzzzzzz{{z{{{{{yz{zzz{zz{{z{{zzyzyzzzzzz{{z{{{zzy{zzz{z{|{z{{|{yz{z{{zz{{{|{{|zz{zzzyz{{{{z{|{{{zzzz{{{{{{{{{{{zy{zzzzz{|{{|{{zz{y{zyz{{{|{|}{{zz{zyz{{|{{{{{|{{{z|{zzz{{|||{{z{{z{{|{{|{|{|||{{{{z{zzz{}|{{{|{z{z|{{z{|{{{|||{||z{{{z{|||{||||{z|z{|||||{{{||{{|{{|{{{{{||{|{{z{{z{{{{|{||{|z|{zz|zz{{}||{|{|{zzz{zzzz||{{|{||z{{yzzzz|{|{||{{{{{{{{zz{{{{|{{{{zzzzyzz{{{z{{{zz{z{zzz{{{{{{{{zzzz{{{z{z{||{{{{{{{zz{z{{{{{{|{{z{zzzz{{z{{{{{{yyzzz{{zz{{z{z{{zzzy{zzz{{zzz{{{{zzzzyzzz{{zz{{{{{zzzzzz{zz{{{|zzzyzz{zzzz{z|{|z{{zzz{zzz{}{{|{{{zzzzyzz{z{{z{{{zzyzzzzzz{z{{|z{zzzz{{z{zzz{z{z{{zzzzz{zz{{{{{{|{z|zzz{zz|zz{{{{{{|zzzz{{{{{{{{{{z{{zyzz{|{z{{{|{z{zz|zz{{z{{|||zzz{zy{z{|{|z{{|{{{{{zz{{|{{||{|z{zzz{{{{{{|{||{{z{z{{{z{z|||{{|{{{{z{{{||||{{||{{{{{{{{{{||{|||{{{{{|{{{}{|||{|{{{|z||z{|{|{{|{|{z{{z{||{{{|||||{{|{{{{{{||||{{{|z{{{z{{{{{{}|{{|zzzzzz{|{{{z|z{z{|z{{{{|{{{{{|{zy|zzzyz{z{z{{{{{{zzz{z|z{{{{{{|zzz{zzz{{zy{{{{{zzzyz{{z{{|{{{{z{{y{{{z{z{|z{z|{z{zz{z{zzz{z{{{{yzzzzz{zz|z{|{zzzzz{zyy{zzz{|{{yzzzzzzz{zz{z{{zzzz{y{zz|{{{z{{{zz{zyyzzzzz{z{{{{zzzzzyz{z{yz{|zzz|zzzzy{{z{zz{{zzyzzy{z{zz{{{|{z{z{zzzzz{{{{{{{zz{{zzzz|{{{z{{{z{{{zz{z{z{{{{|z{{zzzz{z{{{{{{{{{z{zz{z{{{{z{{|{|{{|zzzz{{{{{|{||{z{z{{z{{|||{{|z{z{{z{z||{|||{|{{{{zzzz{{|{|{{{{z{{{{{z||{||{{|z{{z{{z{{||{{||||{{{z{{z{}{||{{||{{{{{{{{|{{|||{{{z{{{z|{||{{}||{{{{{{z{{{{{{{||{{{zz{z{||{{{{{|{zz{z{zzz|{|{{{|{z{{{z{z|{{{{|{|{z|{{zz{{z{{zzz{{zzzzyzzz{|{{{|{z{zzzzzz|zzz{{|{{zxzy{zz{{{zzz{{{{z{zy{zz{{z{{{{zzzz{{zzz{|z{z{z{zz{z{zz{z|{{{zzz{zzzyz{{z{z{{z{yzzzzzz{z{{{z{z{zyzzzzzzzz{{{{|{z{yzz{zzz{{{{{{zzyzz{zyyz{z{z{zzzzzyzzyzz{{{{{{{zzzzzz{{{{|z{{zzzyz{{{z{{z{{{{{zzz{{zz{z{{{{{z{{zz{{yzz{z{{{{|{{zzzzzz{z{{{{z{zz{z{{zz{z{|{{z{|{zzz{z{z{{{{zz{{{{{z{{z{|{||{|{{|z{{z{{{{{{{|{{|{{{{{zzzz{||{z{{{{z{z{zz{|{{{{{|{{{{z|{|z{z{z||||{{{{z{zzz|}|{|{{|{{|{|{{{{{{|{{|{{{{{{{{|{z{|{}|{{{{{{y{{zz||||{{zzzzz{z{|{zz{|{z{{{{{{{{{{zz{}{{z{zz{z{{{{z{{{z{{{{{zzzz{|zz{||z{zyzzy{z{{|{{|{|{zzzzzz{z{|{|{|{{{zz{zzzy{|{{{{z{|zzz{zz{|{{{{{zz{zzzzz{{z{{{{{zzz{yyz{zz{z{{zzzzzz{yzy{z{{{{z|zzzz{zzz{{{{zzz{zzzzyzzz{{z{{z{{|y{zzyyyz{z{y{{zzyzzz{zzyz{zz{z{z{zzzzzzzz{zz{{{zzzz{|y{zz{{{z{zzzzzzzz{z{{{|{z|{zz{zz{z{{{{{{||yz{z{zzz|{{z{|{{z{zz{z{zz{{{{|||{z{zzzz{{{{|z{|{zzz{zz{z{|{z{{{{z{{{zz{{{{{|{|{|z{{zz{zz{{{{z{||z{z|{z{{{{|{{||{{z{z{z{z{||{||}{z|{{{z{{{{{||||{}zzz{z{{{}{|||{||z{z{{z{|||{z|||{z{{{{{{{{{||||{{{{z{z{z{|{|{|{{{{z{z{zz{|{|{{{{{{z{{z{{z{||{{|{{z{|{zz{z{zz|z{{{yz{z{zz{{zz{z{{z{{zzzz{z{{{|{{{{zzzz{z{{z{z|||{{zzzzz{z{{|{zz|{zz{zzy{zz{{{z{z{{zzzzzz{z{zz{|z{zzzzzzy{{{|z{{z{zzyz{zzz{zz|y|{|zyzyzzzzz{y{{{|{{{zz{zyz{{{{z{z{zzzzyzzzz{z{{z{zzzzzyzzzzzzzz{z|{zzz{zzyzz{zz{{|zyz{z{zz{zzzz{{z{zzz{{z{{{{{z|{{zz{zzz{z{z{z{{|{zzzzzzzz{|{{{{{{zz{{{{zy{|{z{|z{{{{zz{z{{|{{|{{{|zzz{{zz{|zz{|{{{{zzz{{z{z||||{{zzzzz{{{|{z|{|||{z{{{z{z|{{||{|{{zz{{{zz{{|{{{||{z|{{{|z{z{{|{{||{{{z{{{{||||}|{zz{{z{z||{|||{|{|z{{{{{{{{z{{|||{{{{zz{{{{{|{{{|{{zzzzz{{||{{{{{{{{|{z{z{{|{{{|{|{{{zz{z{||{{|{{z{|yzz{{z{{{|z{|{{zzzzz{|z{{{{{{zzz{{zzzz{{z|||||{zz{{zzz{{{{z|{{zz{z{zz{{{{{{{|{zzz{zzz{{{z{{{|{{{zzzyzzz{{|{|zzz{y{z{z{zzz{zz{zyy{yzzzzz{|z{{zzzzz{zzz{{{zz|{{z{zzzzzy{z{|z{{{zyz{{zzyzz{{z{{{z{zzzz{zz|{z{|{zyyz{z{zz{zzzz{|{{{zz{{zzzzz{z{{{z{zzzy{zz{{{{{{{z{{y{z{z{{|{{{}{{z{zzz|z{{|{||{{{z{{{{zz{{{{{{|{{{z{z{{zz|{{{{|{|{{{{{z{||{||{{|z{{{{{{z|{z{||||{{z|{zz{z||{|||{{z{{{{zz||||{||{{{z{|||{{{{{{||||{{{{{{{{}{|{|{{{z{{z{{{|{|{|z|||z{{{{{|{||{|{}||{{{{zz{{{|{{|{{{{{z{{{z{|{{{{}|{{z{zz{{{|{{{|{z{z{z{z{{|{{{{{{|{{z{{{{y{{{{z{{{{{zzzzz{z{{{|{||{{zzz{{z{{|{{{|{{z{zzzzzz{{{z{{|z{{z{zzyzzz{{||{zz|{z{{y{{|z{{{{{zzz{zzz{||{z||zzzzzzzzz{{{z{{|{zz{{zzz{zz{z{|{{zy{{yzzz|z{zz{{{z{{zyzyzz{{{{z||zzz{{zzzz{{{|zz{{y{zzzzy{|z{{{{|yz{z{zyzz{{|{{{|{y{{{zz{{z{z{{|{{z{z{y{z{{{{|{{{{{{zz{zzz{{z{|{{zz{z{z{z{z{z||{{{{{z{{yz{|||{{||{z{zz{{{{|{{|{{{{zz{z{{{{||||z||{{{{z{|z{|{|{{{{z{{|{{{z{|{||{{{|z|{{z{z||{|||||{{{{{{|{z{||{||||{{{z||{{}||{|||{{|{{{{||{|{|{|{|{{{{zz|{{{|{{||{|zz{z{||||{||||{{{{{{{{z{{{|{|}{z{{{{{z{{z{{z|{{z{{{{{zz{||{|zzzzzzzzzzz{z{zz{{zzzzz{zy|{{z{{{{{{zz{y{{|{{{zz|{{z{z{zz{z|z{{{|{zz{{zz{z{|{{{z{zyz{zz{zy{|z|z{{{zz{zzzzzz{|z{{{{zz{zzzzy{zzzz{{zzyzyzzyz{{z{{zzz{y{{yzz{z{{z{{zzzzzzzzzy{zzz{{{{zyzzyzzzz{zzz{zz{z{zzz{zz{z{{{{{yyzz{y{zzzzz{{|{{yzzzyz{z{|{{{{{zzzyzz{yzz{{{z{{{zz{zy{{{{{{|{{{z{z{{zzy{{{{{{{|zzzy{zyz{{{{{{{{zyzz{{{{{{zy{{{{z{{z{zzzz{}|{{{|z{{z{{{{{|{{{|{{zzz{{{zz{{||{{{{{zzzzz{{{{|{{||}|{z{z{z{z|{{|{|||{z{zz{{{||{{|}||zzz{{{{|{|||{|{{zzz{{z{{||{{{|{{zz{z|{{||{|{{{|{z|zz{z{{{{|||||{zzz{zz{{{{z{{|{{{{yz{z{z{{{{zz{{{zzzz{z{{{|{z|{{zzz{zzz{{|z{z{{{{z{zz{z{z{z|{||{z{yz{{z{{|{z{{|z{{z{{{{|z{{{{{{zzzy{zzzz{{z{z{zz{zzzzz{z{|{{z|{{{{zzyz{z{{zzz{{z{z{zz{zy{{z{|{{{zyzz{zzzy|z{{z{yz{{zzzy{z|{{{{{{z{z{z{z{zz{z|{{{{{{{zzz{{{{{|{|zzz{{zzy{{{z{z|{{{zzzz|{z{zz{z{{{y{zzz{{z{z{{{{{{{{{zzyz{{|{|{{{{zz{{z{z{||{|{{{{yzzzzzz{{||{{{{|z{zz{zz{|{|{|{|{{{{|zzz{{{{||{{{{{{z{{|y{{|{{|{{z{{zzzz|{{{{|{z{{z{{{{{|||{|{{{|{|zz|{{|{{|||}}{z{{{{{|z||}{{|{zz|{{|{z|{{||{||{zz{zzz{|||||{|||z|{{{{{|{{z|||||z{z{{{{z{{{{||{{zzzz{{z{{{|{|||{{{zzy{{|z|}{{{|{{zz{z{z{z{{{|{{{{y{{z{{{{|z{|{{{{{z{zyyz{{{{{|{{z{{{zzzz{||{{|{{zzzzz{z{{{{{|{||zzyz{{zz{zz{|{zyz{zzyzz{{{{{{{{zzz{{{zz{{z{{{{{zzz{yzzz{{{{{{|{zzzz{{y{z{{{{z{{{z{zz{z{{{{{{z{|{zyyzyzzz{zz{{zzzzzzzzzyz{y{{{z|zzz{{zyzzz{|z{||z{zzyz{y{{{z{{{|{zzzzz{zz{z{{|{|{z{zzyzz{{|{|||{{{{zzy{{z|{|z{z{|z{zz{{z|{|z{{||{zzz{z{|{{{{{|{|{{z{{z{{{|{{|||z{{z|{z{{{|{|{||{{{z{z{zz|{|{|||{|zzz{zz{{|{|{||{|{{z{|{{{|{{{}|{{z{{z{{|{|{|||}||{{{{{{|||{||||||{z{{{z{|{|||{|{|{|{{{{|||||||{{|{z{{{zz{|{{{||{|{zzz{zz{{{{{{{|{{z|zz{||{}|}zz|{zzzz{yz{|{{z{z{yzzz{zzz{{{{{{{|{zz{z{zzzzz{{{{{zz{zzzz{z{{{z{|{{z{zzz{zzz{z{{{{zz{z{z{z{{{{z{{|zzzzzyzzz{{{y{{z{yzz{zz{z|{|{{|{zzz{zzzz{zzzz{{{z{zzz{zyz{{{{{{z|zzyzyzzz{{zzz{zzz{zzyzzz{z{{|{z{zzzzzzyz{{zzzz{zzz{{{zz{{{{{{{zzzz{{{z{{z{zz|{{zz{zyz|z{z{{{{{|{zzzyzz{z{{{{||{{zzzzz{{{{{z|{||{z{z{zzz{{{{||}{{z{z{{zz{|{{|{{z|{{{{{{{z{||}||z{z{z{{zz||{}{|||{z{z{z{{z||z{{{{|zzz{zz{|||{z|{|{{z|{|{{}|||{{{|||{z{{{{||{{{}||{{|{{{{{||||{{{{{{|z{{z{z||{|}}|{{{{{{{{|{{{{{{|{{|z{z{{|{{{{{||{|{zzz{z{||z{{|{z{{{{z{||||}{|{zz|yz{z{zz{{z{{{{z{z{yzyz{{{z{{{{{zzzzz{z{z{{{{|{{zzzzzz{{||{z{{|{{zzzz{z{z{|z|z|{zzz{z{y{{z{zzz{z{zzzzzzzy{z|{{{{zzyyzyz{{z|z{zzzzzzzzyz{{{{{z{{yyyzz{z{{z{{{{{{{z{zz{yyzz{{z{{z{z|zzzzy{{zz{{{{z{zzyzz{{|z{{{zz{z{zzz{z{{{{{{{{z{zz{zzzz{zzz|{|zz{{zz{z{|{{|z{{{zzzzzzzz{{{{|{|{zz{z{{z{|{{{{{|{z{{{z{|{{|{{{|{{{{{{{{{{|{{{||{z{y{z{z{{z{|||{{{z|{{{{{{|{{{|||{z{{{{z{||{{{|{{z{z{{{{{|{||||}{|{{zz{|{||{{{|{{|{|{z{{{|||||}|{|{|z{{{{|||||||{|{{z{{{z{{{{{|{}{{{zz{{{{|{{||||{{z{{{z{{z{{{{{{|{z{zzzz{{|{{{{{z||{z{|{|||{|{z{yzyzyz{{z{{zz{{{zyzz{zzz|{{{{z{{{zzzzzzz{zz{zz|{{{zzzzzz{{|{z{{{{{z{yz{z{{{{{{{|zzzz{zzz{{{y{{{{zzzz{zy{zz{{z{{{|y{yz{yzz{zzz{{zzyy{zyzyz{z{z{{zzzzzzzyzzz{zzz{{z{y{zzyz{z{zz{|{{zzzzzzyy{zzz{{{z{zyzzy{z{zzz{{zzyzzyzz{|zz{z{{{z{{zzz{z{z{|z{|zzz{zz{zzz{y{z{{|z{{{yzz{{{|{{{{{{{z{{y{z{{|{{|{zzz{{{{yzz{{{{{{{{{{{z{zz||z{z|{{{zz{{{{{{|{|||{{y{{|{{{{||{|{|{|z{z{zzzz{|{{{{{{{z{{{z{{{|||z{||{y{|y{{z{z{{||{{{{{|{{{{z||{||||{{{{{z{z|{||{|{|{z||{{z{{{{z{{{{{z{z{z{{{{{{{{|{{{yzz{yz{{{{{{|{{{z{zzzz{||{{z{|{z{{{{z||{|||{z|{zzz|zzz{z{y{z{{zzyzzzzz{{{{{||{zzz{{zzz{{zz|{|{{{{{{zzz{{|{{{|{z{{yzy{z{{{{{{z{{{{zzz{zz{{z{|zz{{zzzzzyzz{{{z{{{z{zzzyzzz{{z{|{zzzzzzzzz{z{{{{zz{{zyyzzzy{{z{zzzzzzz{zy{{{{zz{{zzzzzy{zz{zzzzzz{zzz{{zzy{{{z|{{zy{zz{zz{zzz{z|{z{zzzy{z{{{{z{{{{y{zzyzz{z{z{z{{z{{|zzz{{{{z{{{|{z{zzz{zz|{{{{{{{z{y{z{zzz{{{|{|zzzz{z{{|{|zz{{{{z{z{{{z{|{||||zz{{{{{{{{|{|{||||{{z{zzz|z{{{|{{{{{{{{{z{{{z||||{{{z|{{z|{{{{||{|z{{{{z{{||{{{{|{{z|{{zz{{{{{{{{{{{{z{{{{{{z||}|}{{z|zzz{|{{{{{|{{y{{{{z{{z{{|||z{{zz{{z||{||||{{{|{{{|{||||}|{{{{{y{zzzz|{{{{{{{{zz{zyz{|{|{{z{zzzzyzzz{{{z{||{{y{zzzzz{zz|{{{{zzz{zz{{{{{{{{z{{y{{{zzzz{zz{{{{zzzy{zzzz{{zz{{{{zzzzzzz{{zz{z{{zz{yzzzzz{{zz{zzzz{zyzzzzz{zzz{{zzzyzzy{z{{{{z{z{yyzzyyyz{zzy{{|zzyyzy{zz{zzy{{z{zz{zzzy{{{{z{{|{{{zzyyz{{|{{|}{zz{zzyzz{{{{{{{{{z{zzzzz{z{{z{{|zzz{zy|z{{{{{{{{{z{z{zz{{{{z||||{{{z|zy{{|{|{{{{{{zz{zz{z{|{{|}{z{{{{z{{{{{|{}||{z{{{zzz{|{{{{{||z{{z{zz{{||{{{{zy{zzz{{{|{{||||{{z{z{zz{|||{{{|{z{|z{zz{{{{z||{{z{{{{zz{||{{|{{{|{{|zzz{{|{{{}{z{z{z|{{{{{{|{|||{|{zz{{{{{|{|||{z{z|{|zz{}|}{{{{zzy{z{{{z|{{{|{{z{{zyzz{{{|{|{{{{{z{z{{{{{{|{{|zzzzz{z{z{||z{{{{z{{zzzz{z||{{{|z{zz{{zyz{z{{{|{{zz{z{zz}z{z{{{z{zzz{z{zyyy{{{{|zz{zzzyy{{{{z{{{{yzzyzzzzzzzzz|{zz{zxzyz{zz{{y{{zy{z{y{zz{{zz{{{{{zzzzzzy{{{y{{{yzz{zzzz{z{{{z{z{zzz{zz{{{{z{{{|{{z{z{{z}{{{{{{|{zyzzz{z{{|z{{||{zy{zz{yz{|{|{{||y{z{zzy{z||{{||{z{{z{zz{}{{{{{{z{z{{z{{|||{|||{{{{{{||||{{|z{{|}{z{z{z{{|{{|||{|{{z|{|{{|||{|}|{||z{{|{{}||{||{||z{|{{|{~{|{||||{{|{{{{||{{{{|{{z{{{{|{|{|{{|{|{{{|{{||{{{|{{||{{{zz|y{|{{|{|}{{{{{zzzyzz{|{{{|{{{{{{|{|||}}{z{z{zzzzzz{|{{{{{{|zzy{{zz{z{{{{{{{zzzzz{{z{{z|{{{{zzzzzz{{{{|y{|}z{zyy{{z{zz{|{z{{{zzyzzy{z{zz{{{z{z{yzzy{z|{z{{{zyz{zzyy{z{{|{{|zzzz{{zzz{{{z{{{{zzzzzzzzzz{{{z{zyzzyzyyz{z{z{{{zyz{zy{yyzz{z{z{{zzzyyzzz{{{z{{{zz{zz{yy{{zzz{{|{{zzzyz{{{{{{{||{zzz{{{{{z{z|{{|zzzzyz{z{{|z||{z{z{{zz{zy|{{z{|{zzz{zzzy{|{|{{|{{{{zz{z{{{{{{{{{{zzz{{{zz{||{|{|{{|{{{|{{{|{|||||{{{z{{{{{||||}{|{{{{z{{}{|{{{{}zz{{zz{{{{|{||}{{|{z{{z||{{||}|||{z{|{{z||{|{|||{z{z{{|{{{{{{{{|{yz{{z{{{{{||{||z{{{{{z{z|{z{|{{{{{z{zzz{{|{{{}{z{{{yz{z||{}}{{{{{z{{zyz{{{z{{||zzy{zzzzz{{{{{||z{yzzz{zz{{z{{||{z{zzz{z{z{|{{|z{{|zz{zzz|{{{zz{|{zz{zzz|{{{z|{z{{{z{z{z|{z{{z{{{zzz{{zyzz{{zz{{zz{{{{{z{{{z{{{{{zzzy{yz|{z{{{{{zz{yzzxxz{|z{{{|z{zzzzzz{zz{z{{z{zzzzyzzy{{zz|z{z{{yzzzzz{{{z|z{{zzzzzz{z|{{z|z|zz{{zzy|z{{{z|{{zzzz{{zy{z{{|{{{{{z{{z{z|z{{z{||z{zzzz{zz|{{{{|{|zz{zzz{z{{zz|{{|{zz{{{|{{{|||||{|{{{|{z||{{|{{|z{{{z{zz{{{|{|||{z{z|{{{|||{||||{{|{{z{|{{{|||||{{|z{{|{{|}{{{||{{{{{{z{|||{{|{|{z{{{{z{{|{||{{{{{z{{{{{{{||{{|{{{{{zz{z{{{|{{|||{zzz{{z||{{||{{z|{{|{|{{||~}{{{{yyzzz{z{z{{|z{zzzzy|z{{{{{{{{{{{{zzz{zy{{{{}{{|{zz{{yzz{||{zzz||z{{{zzy{{{|||{|z{{zz{z{{{{{z|{{{zzzzzzz{{{{{|{{{z{zyzzz{{zzz{zz{yzzz{zzzz{y|{{z{zzzz{y{z|zz|{{{{{zzyzyyz{z{{|{z{zzz{y{zy{zz{zz{zz{zzzzz{|zzz{{{zzyz{|{z{{{{{{{{{zz{zyy{{||z{z{|zz{z{zyz{{{|{|{|z{zzzzzz{{||{|||{{{zz{zz{{{{{|{{z{z{{{{{||{|zz|{{{z|{{{{|{|zz{|||{z{{{{z{{|||||{{{{{z|z{|{z{||{|{z{{{{{{{}||{{|{{{{z|{z{||{z|{|||z{{{{{{{{||}{||{|{{z{|z{{|{}|||{{z||{z{||{|{|||{z{{z{{{{||{{|{|{{{{|{{{{{||||||{z{{{z{{z{{||{||{{zzzzzz{|{|{|{|{|{z{{|{z}}{~{{{zyy{zzyz{{{z{{{{z{z{zzyzz{{{z{z{z{zyzzzzzzz{{z{|zzzzzzyz{zzz{{z{zz{yy{zz{{{z{{z|{z{zz{{z|{{zzz|{{y{zzz{{zz|z{z{yzzzzz{zz{z{{zzzzzyzzzz{yzzzzzz{{{zyzzzy{z{{z{{{{zz{zzzyz{z{zz{{|zzzzyyzzy{zzzzzzzzzzzzyzzzzz{{zz{yzyzzzyz{zzz{{{{z{zzyzy{z{z{{z|z{zyzyzzzyz{{|{{zzzyzzzz{{z{z{{z{{z{{z{y{{{{{z|z{zzzz{zz{{{z{{|{z|zzz{{z{{|{{{{{{zzz{{{z{{{{||{|{|z{{{{z||{{z|||{zz{zzzz{{||{|{|{|zz{{z{{{|z{|{}z{z{z{{{|{{{{{{{|{zzz{{y{|{|{{|||{z{{z{z|{z|{{{{|{{{{{z{{{{z{{||{z{{|zz{|{{|{z{{{{{z{zz{z{z|{{|{{z{zyz{z{|{|z{||{zzzzz{{}{|}~{{{z{z{zzzz{{{{{{{{{z{z{z{z{{zz{z{{z{zzzzzz{z{||z{{{zzz{zzz{|{{{|{{{y{z{z|z{{{{{{{|zz{zz{zyz{{z{|{{{zzzzzzy{z{zz{{{zyzzz{zz{z{{{z|{zzzyzyzzzz{z{z|{{zzyzyzzzz|z{z{{{z{zyz{zz{zzz{{{zyyzzzyzz{zzzzz{zz{zzzz{z{|zz{{zzzz{z{yzz{z{{{{{{zzzzzzz{|{{{{z{{zzzyz{{|{{{||{{{z{{zzzzz{{{{{|{{z{zzzzzz{{{{|{|{zzzz{yz{{{{{{||{z{{y{{z{{{{z{{z{{zz{yzz{{|||{|}{{{yzz{{{{{{||||z{{zz{z{{z|||{|{zz{{{{{{{||{{{{}{{{{{||{|{{|{|||||{z{{{{{{|{|||{{z{{zzz{|{{|{|{||{{{{{{{{|||{||||{z||{{{|{{|{{||{{{zzz{{{{{|{{|{zzz{{{{zz{{||{|{|{|{{{{|}|}|}{{{{yzzzzxzzz{z{z{|z{yzzzzzz|{zz|{{zyzzzzzzzzz{{|{{{{{zz{zz{{{{z{{{zzzzzzzy{{{zz{z|zzzyzzzz{{{{z{{z{{zzzyzzz{z{{{{z{z{y{zz{{{zzz{{{zzz{zzyy{{{{z{{{{z{zyzyzzy{zz{{{{{zzzxyzz{{{{{{{zz{zyzzyyzzzz{{{zz{{{yzyyzzz{{{{zzzzy{zy{{z{z{z{yyzzzzzzz{z{z{{{zz{{zzzzz{zz{|{{zz{zz{z{z{|{{{{{zz{zzz{z{{||{|{{{yz{z{zy{|{{z|{z{{{z{zzzz|{{{z|{zzzy{{z{{{{{|{{{{{zzz{{z{|z{|{||{zz{z{z{{|{{{{||{{{{{{{{||{{|{||{y{{{{{{{|{|{{|||{{|{{zz{||||}|{{z{z{z{z{||{{{{{{{{{z{z{|{z{{||{{{{{|z{{z{{{{{{|{zz{z{zz{|{{|{{||{{zzzz{{|{|z|{{{{|z|{zz{|}|}{{{{zz{zyyy{{z{|z{{zzzyzyzzyzz{z{|{zyz{{zyzzz{{zz{|zz{z{zyzyzz|zz{{zzzz{z{z{{{zzzz{{zyzz{zz{{|z{{|z{zzzzz{z{{zzz{{{{{zzyzyyzz{z{z{{zzyzyzzyz{{zz|zzzzzzyyyz{|zz{{{zz{z{yyzzz{{|{{{{zzz{zyzyz{y{y{z{z{zyzzzzy{z{{{z{zy{{zz{zz{{{yz{{{zyz{zyyz{{zzz{{zzz{zy{yzz{zz{{{z{|zz{{zz{{{{zz{zzzzzzz{{{{{z|{{z{zzzzzy|{zz{{{{{zz{{zzz{{{{zz||{{|y{{z{z|{|{{|{zz|zz{{z|{{|{|{{{zzzzzzz{{|||||{{z{z{{z{||z|{||{{{{{{{{z{z|z|||{{{z{{|{z{|}|{{{||{|zz{z{|z{|||{{{|{{zzz{z{{{|{|{{|zz|{zz{{{{{|||z{z{z{z{zz{z{{|{{{z{z{{yz{|{zz|{zzzy{zz{{{|{|{{{zzzzzyzz{{{{{zz{zzzzzyyzz{{z{z|{zzzzyz{{|z{z|{{{z{{{yyzyz{|{zz{|zyzzyzzzz{{{{z|{zyzzy{{y{z{z{z{z{yzzzzyz{z{{zzz|zzzzzzzzzzz{z{{zyzzyyyyz{{zz{{z{z{yzyzzyz{zzz{{{{{zyyyzyz{{{{|{{zzyyzyzyy{zzz{zz{{zyzzzzyzy|z|{{{zzzzzz{zz{zz{z{z{z{zzyy{{{zzz{{{zzyyzzz{z{{zz|{y{{{z{{{{z{{zz|{zz{zyzz{{{|{z|{{{zzzzzyz{{zzz{{{{zzzzzzz|{{{{{{{z{{z|zzz{{||||{|{z{{zzz{{|{{{||{{z{z{z{yz{{}||{z|zzz{zz{{|{{||||z{|z{|{z{{|{{{||{{{{{{z|{|{{}||||{z{zz{z{|{{{|{|{z{{{z{{|{{{{{{||z{{zzzz{|{{||{|zzzyzyzz|{{{{{{{zz|zzyzzz|{{{{{z{zzy{zz{|||{|{{z{{zzz{zyz{{zzz{{y{{zyyzy{z{z{|{{z{zzzzzz|{{z{{{{{{{zyzzzz{{{{{zzzzzyzz{zz{{{{{{z{{{{zzzz{z{zzz{{{zz{zzyy{|zz{{zz{yzyyz{zzz{{zzzz{zzzzzzzz{|{{z{zz{z{yzz{z{z{{z{{zzzzzy{zzzzz{z{{z{zzzyzyz{zzz{{{zzyzzyzzz{z{z{{|{{zz{{{zzzzzz{z{zz{yzz{{z|{z||{z{z{zzy{zzz{{{{|{z|z{yzy{{z{{z{{{zz{{{{z{{|{{{|{{{z{zz{zzzz{zz{}{{z{z{|{{{{{{{{{{{{{{yzzz{z{{{|{z{{z|{z{{{{{{{{||{|{{{{zz|{}|{|{{{{{{{zz{z{|{{||{{{{{zz|z{{{|||||{{{{{{{|{{||||{|{z|{{||z{{z{{|{|{z{z|{{z{{{{||{|{z{{z{z{|{{{{|{|{{{{z{{{{{z{{{||{z{{{z{z{{|{{{{{{z{zzz{z{{{||{z{|{zzyzzz{{|z{{{|z{zz{y{zz{{z{{|{zzzzzy{y{{|{{{{z|zy{{{y{{z||{{{{{z{{zzzz{{{{{{{{{zzz{zzzzz{{zz{|z{{z{yyz{{|{z{z{zzzyzy{zzz{z{zzzz{{z|z{z{{{z{zzzzz{zyzzz|{{{z|z{{z{{z{zzz{{z{|{{zzzyzyzyzzzzz{z{z{zyzzzzz{zz{{z{zyyzz{{{{{{{z{|{z{zzzyzz{zz{z|z{{z{{zzzzz{zzz{}{{{{yz{z{{{{|{{|{zz{zz{{z{{{{{{{{{yzz{y{z{{{|{{|z{{z{{z{{{{{{z{|{{z{{{zzz|{{}{{{{z{|z{|{{|}z{{|{|{zzz{z|{|||||{|{{z|{{z{{{|{{|||{{{|zz{{z|{{|{|{{|{|{|{{{{|||{||||{{z{{{|{{||{}||{zzz{{{{{{{{|{{{{{z{{{zz{||{|||{{{{{|{yz{z{|{||{|z{{zzz{{}{|||{zz{zz{zzz{||z|{|{z{{z{zzz{{|z{z|{zzyy{{{z|{{z{|z{{zyyzzzz{zzz{{|{{{{z{zzz{{{z{z|{{{{zzzzzzzz{{z{|zz{zzz{{z{{{z|{|zzz{{z{y{{{z{{{zzzzzz{z{{z{{|{{|{zzzzzzy{{z{z{{z{zzz{zyz{z{z{{|{zzzzzzyzz{{{{{{z{z{zzy{zz{{z{{{zzzyz{zzyy{{{{{|{{{zzz{{zz{z{z{|{{{z{zyzz|{|{{{{{zy{yzyz{{z{{|||{{{z{yzzzz{|{{|{|{{z{{zzz{{{|{{{{{{{{zzzz|{{|{{|{zz{z{zzy{|{{{{{{zz{zzz{{{||{|{{{zz|z{{{z{|{|{{{|{z{{{{{{{||||||||{zz{{{z|{|{{{||z{{z{{{{{|{|||||z{{{{{{|{{|{||{|z{|{{zzz{|{{{|{{{z{z{z{{z{|{||||{{{z{|{{|zz||{{{|{{{{{{{{|{|{{{{{{z{zz{z{{{|{{}{z{zz|z{yz{||{{{zz{z{zzz{{{{{||z|zzz{zzyzz{zz{{||z{yxzy{{|{zz{||{{{{yyyzz{{||{z{{zz{zzzzz{zz{{{|{zzzzz{zyz{z{z{{zz{yz{zzy{{zzz{z{zzzyzzz{{z{{zz{{zzzzzzzy{z{{{|{z{zzy{zyzz{|{|z{{{zzyyz{z{{{{{|zzzzy{zyz{z{|zzz{{z{yz{yzzyzz{z{{{{z{zz{zyz{zy|||{zz{yzzzz{{{{{{{{{z{{{zzz{{{{z{{|z{|zz{zz{{z{|{||{z{{{z|{{|{zz{zz{y{zyz{z{z{z{{{zz{zy{{zy{{{{{{{zz{{{{zzz{{|{|{||{{{{z{{{{{|{{|||{{z{{zz{{{}|{}{|{{{{{z{z{||{{|||{{{{{{{|||{{|||{{{{{z{zz|}|{|{|{||z|z{|{|{|{|{{||z{z{z{|}z{{{{||{|z{{y{z{|{|||{|{{zzzz{{z{{{z{}||{{{z{z{{|{|{{|{z{{zzz{z{{{|||{{{{z{zz{z{{{|z{{|{{zz{y{zz{{{{|z|{zz{z{{y{{{{{||{{{{zzz{{{|{|{{||{{{zy{{z{{{|{||{{z{z{{zz{|{{{{{{z{{z|zzy{{}{{{{}z|zzzzzz{{z{z{{{y{zz{zzy{{{{{|{{z{{{y{y{{{{{|{{{{{{{z{z{{{{{|{||{z{{zzzzz|{{{||{zz{zz{zzz{{{||{{zzz{z{z{{|{|{{|{{{{{{z{z{|{{{z{{|z|{{z{{|{|{|||}{z{{{{|{{z|{{{||{|{|{z{{{{|{{|{|{{{|{{z||||{{{}|{z{{{z{||{|{{|}}}{{{{{{{|z{|||||{|{{{|{{{{{{||||{|z{{{{{{|{|}|{|}z{|||z|||||||}}|{|{{}||{{|||}}}|{||{{{{|}|||||}|{{{{z{{|||{{||||{|{{{{|||{{|}|{|{{{{{{||||||}||{{{{{|{{{{||{}|{|{{{{{{{{|||{||{|{{{{z{{{{||{{{{|{zz{{{z{{|{{{|{{{{{{z{yz{{{{||}z{zy{z{z{|}{{{{|{{{{{{zz{{||z|{|{{{{{{{z{|{|z{{|z{{z{z{{|{{|z{|{{z|{{{{{{{|z{{{|{{zz{zz{{z{{{|{|{{zz{z{{{|{{||{z{|z|zz{z{{{{{|{{{{{{zzz{{{{|{{{{z{{z{z{yz{{{z|{{z{{zzz{{{|{z{|{{{z{zz{{z|{|{{|||{zzzzyz{{{{|||{}z{{{z{{z{{|{{|{|{{|{{z{{{z{{{{|{|{{z|z{{{{||{{|||z{{{{zz|{}{{||{{{{|{{{{{||||||{{{{{|{{z{||}|||}{z|{|{{{|||}{|||{{|{z|{{|}|||}||||{{{{{|||{|{}||z{{{{|{|{|{||}}|}{||{{{{z}{|}||{|{|{{{{||{|||||{||{{|||{{}{|}||}||||{{{{|{}|||||{||{{||{{|}{||||{{{{|{{zz}{{|||{{{{z{{zz|}}|{{{{{{{{|{{z{|||y{{{{z{z{zzz|{||{{|{{{{zz|z{{{{{|{|||{z{{z{z|{{{z{{||{z|zz{{{{{{|{|||z{z{z{zz{}zz{{{{zyzz{{z{{|{{{|{{{zz|z{z{{{{{{{{{zz{zzz{z|{{{{|{zz{{z{yz{{|z{{{{|{z{zzz{z|||{{|{{{{zzy{z{{{{{{{{{{zzzzzz{{{z{|z|{zz{z{zz{{{{||||{z{||zzz{|{{{||}{{}|zz{{|{{{{|||{{|{zz|z|{|{{||}z|{|{{{{|{{z|{|{{y{{{z{z{||{|{||{|z{{{z{|{{{{|{{{{z{{|{{|{|||}|{z{{z{{|{|||||{|{|{{|z{{z||||||||{|{{{{{|z||{||}|{{||||{{z|{}{|{|||{{{{|{{}||}|}||||}{{|{|||||||{|{z||{{z||||{||||{{{|{z|||{{||||z{{{{{z|||||||||{{{{z{z{{{||{|}|{z{{{|{{z||{}{z|zz{z{z{|z{{zzz{||{{zzz{z{z|{{{{|{{z{{{{{{{{{||z{z{|z{{{{{{|{{z{|{{zy{{{y|{||{{{|{zzz{{z{|{{{{{|||{z{{zzz|||{z{{{zzz{z{y{{|{{|{{|zzzzzyzz{z{|z{{z{|{{zzz{{{{{{{z{{{{{zzz{z{{|z{{{z{{{{z{zyz{{{|{z{y{z{{zzz|{{{|{{{zz{{{{{z|{{z{{zzzz{z{{|{||{{{{{|{{{{z{{{{||{{{{{{|zzzy{{{|{|{||{{z{{z{z{{{{{|{||{{{|zz{|{{||||{{z|{z{{z{||{|{{{{zz{{{{z||{|}|||{z{{zz{|{{z{|}||{{z|{{zz{{}||{||{{{{|{z{||||{{||||||||||||{}{|||}{{|||{|{}|||{||||{{{{{{|{|}{|||}{{|{{{z}||}{||||{{z{{z{{|{|||}{|{z{||{{{|{|{|}||{zz{z{{z|||{z|{|{{{zz{z|{||{|{{|{{{{zzz{{{{{{{{{{{{zzzy|{|{|||{|z{{{{z{|z{{{{{{{{{zzz{z{|{|{{|||zz{z{{{z{{|{||{zz|{{{zzzzz{{{|{{zz{{{z{{{|{z{{{{|zzz{{{{{{{z{{{{zz{zy{{z{|{{{{{zyzzz{z{{|{z{{{z{z{zz{{yz{{{{{||zzzz{z{yz|z{{{z|{{{zzzzz{{{{|z{{z{{z{{z{{{{z|||{|z{z{z{{z{z{z{{|{z|z{z{{{{{|{|{|{{{zz{z{|z{|z{}{||{{zz{z{||{||||{z{{{zz{{|{|{||||{{{|zzz{{{|{||{|{{{|{{z{||||||||{{{z{{{|{z|||||{{|{{{{{{{|||||{{z{{}z{{|}|{|{|}|z{{{{||{|||||||{{{{z{}|{||}|{|||{|{|{z{|}}|||||{|{{{{|{{|{||}||{|z{{|{{|{||||||{{z{{|{{||{|{|||{{{{{|{{{{{|{|||{{|{{zzz{|{{{{{z{{{z{z{{{{|z|{{{{{{zzzzz|z|}{|{{|{zz{z{z{z{|{{||zz{{zzyz{{{{{{|{{{z{{{zz{{||{z{|{{{z{z{{{|{{{|{{{z{|zzzz{{|{z|{{{z{zzzzzz{{|{{{{zz{zz|y{{z{{{{{{{z{{{zzz{{{{{{{|{{{{y{zzz{||{|||{{zz{y{z{{{|{|||{z{z{z{{y{{zz{{{{z{{{{zz{{{|{|||{zz{{zzz|{{{{{{|{yz{{z{{{zz{{{{{z{{{{{{{{{{{{|}|{{{|{{{{{{{{{|||{{{z{{{z{{{||||{{{{{{{{{{||{|||{z{{{{{{{|||{||||z{{{{{||{{|{}||||{|{{{{{||}}|||{|{|{{{{||||{{||}|{|{{{||||||||||}{|{{{|{{}||{}|||{|{z{|{|||||||||{{|{{||{|||||||||yz||{{||z}{{||zz|z{|{{{|{{||||{{||{z{{||{}|{||{|{{{{{{{|{{{{zzzzz|zzy{z{{{{{{{zzzz{zzz{{|{{{|{{zzz{z{z{{{{{{|{|z{zzzzzz{{|{z{||z{zz{{z|z{{{{{|y{z{{{zz{{zz{|{{{zzz{zzz{{{z{{{{zzzy{{z|{z{z{zz{{yzz{zz{{{|z{{{{zzzzzzzz{{{|{{{zzz{{z{yzz{{{{z{{{z{z{yz{y{{{y{{{{{zzzzzzz{y|z{|{zz{{{zzzz{{{{{{{z{z{{yzz{{{z{{|||{zzz{{{|{{z{{|{zz{z{z{z{{{|||{{{{|{{z{z{|{{{{{{|{{{z{{z{{|{||||z{{z{z{z{{|{{{|{{{zz{zz{|{|{|||{zz|zz{}{{{{|||||{|{{{z{{z}|{{|{{|z{z{{{{||{|}||{{{|{{{z|||||{||}|{z{{|{{|||{|{{|{{{}{{{{||{||}{||{{|{{z|{{{||{{|{{|||zz{|{z|{|||{{{zz{z{{{{{{{|||{z{zzz{{{z{{||||z{zz{{{{|{{|{{{z{z{z{{z{{|{{{||{zzz{zzz{{{{{{||{{{z{y{zzz{{{|{|z{{z{z{{{{{|{{{{{z{zz{z{{{{|z{||yzzzz{zzz{{zz}|||z{{{{y{z{{z{{{|{zzzz{z|z{{{z{{{zzzzz{zz{z{z{{{{{{zzyzzzz||{{{|{{zzzz{yz{{{{z{{|{zzzz{zzzz{{y{z|{z{zzzyzz{zz{|{|z{zz{zzyz{{{zz{|{z{z|z{{z|{{{{{{{z{zzz{z{{{{{|{{{zz{{zzz{{{{{||}{z{{{z{{z{{{{||{{z{z{zzz{{{{{||{{y{{z{zz{z{{|{{{z{{{{{{zz{||{|{|zz|{{z{z|||||||{|zz{|{{z|{}{|||{{{{||z{{}||{|{|||{|{{|{{{|z{||{|||{|z||{|||||}||{z|{{{{||{||{||||{z{{{|z||||||||{|{||{{|{|{||}}|{{{{z{z{{{{{||||{|{{|z{z{||{||}{{zzzzz{{|||~{z|{|z{{{zzzz{|z{{|{|{zz{{zz|{zz{{|{{{{zz{{z|{{{{{{{{{{z{{zz|{{{z{{{{{{{{{zz|z{{z|{{{{zy{zzz{{{{||||{{zzzz{z{|{{{{{{{|{{zzz{{||{z|z{z{z{zx{z{|{{{z|{{{z{z{yz{{{z|{{{zz||z{zzz{{|{{{}{{{zzzzz{|{z||{|{{{yzzz{z{{{{||{zz{{zzzz{{}{{{|{z{zzz{{{||{zz{}|{{{||{{{{||z|||{{{{{z{z{|{|{{}{|zzz{z{{{{|{|{{{{|y|z{{{|{{||||||{{{z{{{{{{|{|||{|{{{z{z|{|||}{}}z{z{{|{{|{||||||{{{|{{zz}|||{|||{{{z{{{{|~|{||}}|{|{{|{|||{||||}|{|{{{{{||{|{}||}z|}{{|{{{|||}}||{{|{|{{{|{|{|{||{{|{{||{||}|{||{{|z{{{{{|||||||{|{|{{{{{|{|{||{{{|z{{{{|{||{{|{{zz|{{{{{{{{{{{{z{|z{{{z{|z|{|{}{{{{{{|{{{|z|||{{|{{|yz{|{{|{zz|{{|{{z{{{{|}{z{|z{{{z{{z{z{|{|{{|zzz{z{{|{||{|{{|{zzz{{{z|z{||{{z{{{{z{z{{{{z{{{{{zzz{z{z{{{|{{{zz|{zz{z{{||{{{{{{z{{{zz{{z{{z||zzz{{y{{{{{{z|||z{{z{{zzzz|{{{{|{z{z|{{z|{{{{|{|{z{{{{z{{|}{{|||{{{|z|zz{|||{||||{z{zz{z{||||}|{{{{{{z{{{||{{{|{{{||{{{|{|{{{||{{{{z|{{{z||}|||{|{{{{{}|{{}|||||{{{{{|{{{}{}||||{{|{|{|z{{}z||}|{{}|{|||{||||||||{|||{{{{}|||||||{|{z{|z{{{}|}|||z|{{|{{}|||||}}|{||{{{||||||||}|{{|{{z|{|||{|}|z{{{|{{{{{{|}|}{{|{z{{{z|}{|||{|zz{{{zz{z{|{{z{||{|z{|{z{{{{~{|{{{{{z{{z{{{|{|z{{z|{{z{zz|{|{{|{{{|{z{{z{{{||{{{{{{{z{|z||z{{{|||{{{{zzz{||{{{{{|z{zz{z{{{{{||{|zzz{zzzzy||{z{{{{zzy{zy{{{|{|{||z|z{z{z{z{|{{{{{{{zzzzzzzz{|{|{{{z{z{zzz{|{{{{|{{{{{{z{{z{|{{{|{{z{{{{{{{|||{||}z|z{z{{{{|z{{{||{z{z{zz{{|{|{|{|{{zz{{{{||{}{{|{{zz{{{|{{|}|||||{|{{|{|{|{{{|{||{|{{||{{{|}|{||{{||z|{|{||{}z{|}}z|{{|{z||||}||{|||{|{{{||||||~}{{|{{|{{{{{|{|||{|{{{{{||||||||||{||{{{{{{|||}|||{{|}{{|||{|||}|{}{{{{{|{|||||{}|||{{{{|{||{{|||{|zzz|z{{{||{||{{{|{zz{z{{||||z{{{{{z|{z{{{{|{||{{zzzz|z{{|{{{||{{{{{{{{{{{{|{{||{{z{zz{z||{|{{|{z|zzzzz{z|{{{||{zzzzzzzz{{z{||{|z{z{zz{{z{{{{{{{{zz{|zz{{|{{z{{z{zzzzz{|{zz{||{{zzzz{zz{{{z|||{{{zzzzzzz{{|{|{{zz{zzy{yz|z{{{{{z|{zzzz{z||{{||{{z{zz{{{{{|{|||{{z{|{z{{{}{{{{{||{{|y{|{z{{{|{z|z{{{{{{{|{{{{||{{z|{{z{{|{{{{}{{|{|{||{z{||{{|{{{{{{z{{{{}|{{||{|{{{|||{||{||||||{{{{z|{|||}||||||{{{{{{{{|||}|||z{z{{|{|}|{|{{|{{|z{{{|{|||||||||{{{{{{||||}||{{|{{|{z{|||||||{|{{{{{|{||||{|}}{|{{{|{{|{{||||||||{{{{|{{{|{|||{{|z|{{{{||}{{}{{{{z{{{z{}||||{{|{{zzzz{{{{{{{{{{{{zyz{{{|z{{{|{{z{|z{{z{{{{{{{|zz{{zzzzz|{{z||{{{{{{{zy{z{zz|{|{{zzzzzz{{z|{{{{z{zz{zzz{z{{z{{{zzzz{zzz|{{{{|{{yzzz{z{{{{|{{{||{{{zzyz{{z{z||{{{{zzz{{z{{{{{z{{zzzzzz{zzzz{{zzz{{{{{zzz{{{{zz{|{{z{zz{z{z{|z{|{|zzz{zz{z|{{z{||{{{zzz{{{|||{{||{{z{{|{{z{{z{{{{{{{{zy{{{{|||||}{z{{zzz{|}|{{{|{z{{{|{|z{{{{{{z|{y{z|{{{{{|}}||{{||{|z{{{|{|{|{|{z{{|{z{||{||||||{{|{{{{||{}|}}{{{{{{zz{{{|{|{|||{{{{|{{{|{|{|}||{{|{{{{|}||{}|{|{z{z{{{|}z||||||{{{{{z{|||{{||{{{{z{z{{{{{|z||{}{{{{z{{{|z{{||{{{zz{z{{||{{{{{zzz{zzzzyzz{{{zz||zz{{zz{{{{{{|{|{z{zzzz{{z{{{||{|z{{zzz{z{{|z{|{{z|z{{zz{{z{{{{|{{{z{z{zzz{{{{{{z{{{z{{{|{|zz{{{{z{zzz{z{{{{z|zzzz{y{zzz{z{z{{{|{{{zzzy{{{z|{||zz{z{{{zzzzy{{z{{{zz{|zzzyz{zzz{{zz{zzzz{z{{{{|{{{zzz{zyz{{{|{{{{zz{{zzz{{|{{z{{|yy{{{z|zz{z{|{|{zz{{z|{z{{{{z|}||{{z{zz{{{{{{|{|zz|zzy{{|{||{{}z{|{|{{z{|||{{||{{z|{{{{z{||{||||{|{{{{{{{{}|}|}|{z|{{z{|{||||{|||{{{|{{{|}{{||||{{{{{{{{{}}{{}|||{{{{{z{{}|{|||||{{{|{{{||{{|}||}{{{{{zz|{|{|{|}|{z{|zz{||{{{||{{{{{{{{z|{|{{{||{{z{{{{{||{|z}||{{{{z{{z{||{{|{z{zz{zyzz{{|{{{{|zz{zz{zz{{{|{{{|{{z{{{{z{{{z|{|{{z{{zy|z{z|z{|||{{{{zzz{{z{||{{|{{{zz{{{zz{|z{{{|{|{z{zz{{{{z{{|{y{{zz{{{{{|z{z{z{zzzz{y{z{{z{|{{{zzzzzz{zzz|{{{z|{{z{{z{{||{{z{{z{zzzzzz{|zz{{{zz{{zy{z{|{z{{{{{{{{{{zz{|{{{{{{{{{z{zzz{{{{z{|||{{{zzzz|{{{{{{|{z{{{{z{|||{{{||{z{{{{{{{{{{|}}{|z{{{{z{{{}{|||{|{{|{z{{{{{{{|||{z{{|{|{|{||}{{|{{zz{|z{|}{|{|||{z{{z{{z{||{{||{}{{{z{{{{|||||||{{{|{||||}|}|{||}{{||{{z{}}|{|}||z{z{{{||z{|{||}{{{{|{{|{}||||||||{{|{{||||}{|}|{{|{z{{{|||{{|||{{{{{{zz|{|}{{|{{{z{z{{|||{|||{{zzz{z{{zz|{{{{{{{{{{z{{y{{{zz{{||{{zzz{{{z{{{||||z{{z{y{{|{|z{|{{{zzzzzz{{{|z||}{z{{zz{yz{{zz{{{{{{y{zz{{z{{{{{{{zzzz{y{{z{|zz|{|zzz{zzzz{z{||{{zzz{zzzzz{{{{|{{{zzzyzz{z{z||z||{z{{zxzz{|zz{|{|{zzzzzzz{{{zz|{{{z{{{zz{{{|{|||{{z{{{zz{{{|{{{{{{{{zz{zz|{{||{{|z{{{zz{zz{|{|{|{{{{{z{{z{||{|{z|{{|z{z{z{||{{{|{|{|||{{{|{|{{{|{{zzz{|{{||}||||{{{|{z{|||{{|{|{}{{{{{{{{{||}{{|{}|{{{z{{|||}|||z||{z{|{{|}|||{|||{{{{{{|{|{|{||||{{{z{{{{|{|{||{{{{{{{z{{|{{{{|{|{z||{{{{{|{}|{}{z|z{|{{|{{||{||{z{{{{{z{{{{|{{{{{zz|{{|||{{||{{zzz||z{zz{{{z{{{{zz{{z{{{{z{||{{|{zz{{{y{|{{|{{||z{zzz{z{{|||{|{z{zzzzzzz{{zz{||{{{z{{z{{{|{|||{z{z{{|{z{z|{{{z{{{zzy{z{{{{{z|{zzzzz{zzyzz{{z|{z{zzzzzy{{z{{{||{{z{zz{zzz{z{{{{{zzy{|zzyz{{{||z|zz{y{zzzz{{{|{{{zzzzz{zz{{|{{|{{{{zz{{zzz|{z{z{{{z|{zz{{{{{z|{{{zz{{|z|{{|{{z|{{{{{{{z{{z{{{{|{{{z{z{zz{{|||{}|{{{{|{{{{{{{||||{|{{z{{z{{z||{{}{|z{{{z{||{{{||||||{{{{{z||||||{||{{{|{{{||||{}}||{zz{{{{||{{|{}|}{{|z{|{|}|{|||{{|z{|z|{|||{|}|||{{{|{{z{{{||||}|{{{{z{|{{{{|{{{{|{{z{{{||||||{||{{{{{{{{||}z{{|{z|{{z|z{|{|z|{{{zz|{z{{z{{z||{{{z{{zzzy{{{z{|{z{{zzz{zz{z{{{{{z{{{{{zzz|||{z{{{{z{z{z{{{{{|{||{{zzzzyzz{|{z{{|{{zzzzzz{z{|{{||{{|{z{{z{{|zy|{{{{zzzzz{z{|{|{{|{zz{zzzz{z{{{{{|z{zz{{{zz{{{{{z||zzzzzz{zz{|||{{{{{zzz{{z{{{zz{{{{z{z{zzzzz{{|{{|{z|{{{z{|z{z||{|{z|{{z{{{{|{{z{|{{|z{zzz{{{{}|{}{zz{{z|zz|||{|||{{{z|{{y|||{{||{{{{z{{{{{{||{{|{z|{{{{{z{|||{||}{|z{|{{{|{{}}|}||{{{{z{z|{{z|{|||{{{|z{{{||{{|||{{|{{{{||||{|||{|{{{|{{{{||}{{|}{{{|z{{z|||||}{{|{{{z{z{||{|||}}|{{{|{{z{|{|||{||{{{z{z{{{{|{|{|{|{|{{z{{|{{{{|{{z}y{zzz|{||{{z||y{{{{zz{|{{{{{{{zz{{{z{{|{{{}{|{zz{{z|{|{{|{||{|z{z{zz{{{||{{{}{||zy{z{{{{{{{{{z{|z{{{z{{{z|||{{{{zzzzz{z{{{{{z{{zzzz{{{{|{{{{{z{zy{{z{|z{zz|{{{{zzz{z|{{{{|{|{{z{z{zy{z{|{{{{{{{z{{zzzzz{{z{{{z{{z{{{z{||{{||}{z{{z{{z{{|{|{|||{zzz{|z{{{{{{|{{z{z{z{{{z{|{|z|z|z{zzz{{|}|{|{{{{|zz{z{{{||{{{{|z{z{{{z|||z{{}{|{{zz{{{|||z{{||||{{z{{{{{{|||||{|{{{{}z|}|||{||{{{{{{{{||{||||{|z{{{{{{{|{}|{|||{{{||{{||||||||}{{|{|{{{|{}|}|||{{{{||{}{{|{||{|{{{{{{}||{|}|{|{{z|||{||z{|}{|||||z{zz{{|{{}|}|{{{z{z{{{{{|||||{{|z{|{{|{{}|{{{{{|z{|z{{|{||{{|{z{zz{z{|{|||{||z{{z{z{z||{z{|||{{{z{{z{z{{|||||{{{z{{{z{{||{|{|{z{z{{{z{z{z{{{{{{zz|z{z{|{zz|{|z{{zzzz{{{{{}||}{z{zzzzz{{||{{||{z{{zzz{{{{zz{||{z{{{zyz{{{||{|{{z{zzz{z{{{{{{{{{{{{z{zzz{{z{{{|z{z{z{{z{{{||{{|{{{{{zz|{{{{{{{|{||{zz{||{{|||{|z{{{|zz{{|{{{||{|{{{|{z{{{|{||{{{z{{z{{z{{{||||{{{{{{{{{{|{||||{{{|{{{{{{{}}||}|{{{{|{{{{|z|||||{{{{{zy{|||{||||{{|{|{|{{||{|{}}z{|{|||{{||||}|}|||{{|{|||{|{}|||{|{|{|||{}||}|||{{{{|{{{|{{|||||z||}{{||||}{||}z|{{|{z{|||{}|||{{{{{z{z|}|{||}{|{{|{{|{|{||{{||{{{zzzzz{{|{{|{{{{|zzz{{{|{{|{||||{zz{{{|{{{|{|||{{{{{|{{{{|{{|{{{zz{{{z{{{{|{{{{{{y{z|{z|{{{|{{|{|z{|{z{{||{{{|{{{z{{z{|{{|{{{{{{{{{{{{{{{{{||{|{{{zz{{{|{{{|{{{{zzz{z{{|{{z{||{{zzzz{z{|z{{z|z{{zz{z{{z{z|{|z{{zzz{{{z{{|{|{}{{{z{{z{{z|{{{{{|{zz{z{{{|{{|{{||z{{|{zz{||{|}||}{||{|z|z{||}{||{{{z{{{{|{{||||}{{{{{{{z{{{{z{||{z{|{|{|{{{{|{}}||{z||{{{{{{|{}||{|{{{z{|{|{|}||||}z|||{{|||{|}}}{{|{{}|{{}||}|||}||{|||{{}}||||||{|{|{|{|}|}}||}||{{|{|{}{|}||}|||{{|{{{|||||}}|{|z|{{{{}{|||||||||z{z{z|||}{{}|{z{|zz{{{||||{{|{{{{{{z{z{{|z|{|{{{{{zzz{z{{|}{|{{zz{zzz{|||{||{{{z{{zz{{{{|{|z|{{zzzzzz{{{||{|}{{|zz{{z{|{z{{|{|zz{z{zz{|{z{|{}z{{zzz{z{{{|{z||z{{zzyz{{{{z|||{zzzzyzzz|{{|{|||zz{{zz{z{{{{{||{z{yyzzz{{{{{z{{{{|{z{zz{{|zz|}z{{|{{z{zz{{||{|{{{{{{{z{{{{{{{{{|{{|z|z{z{zz{{|||{{z{zz{z|z|{{|||{{{|{{{z{{{{{|{|{{|{{{{{||{|{|||zz||{{{{|{{{{||{{{{{|{zz||||{|||{|{{||||||{|}||{||||{{z{|||||||||{{{{||{|||{||}|z|{{z{||{|{}{|}|||{z{{||{||{||{|}{|{{{}{{||}}||||zz||z{||{{}||||}{{{|{{|{{{|}|}}|{z{{|{{{|{{||}||{{{{{zz{|||||||zz|{|{{{||||{{|{|{{zz{z{z{{{{{||{{z{{zz{|{{{{{|{{{{zzzz{{{{{{{|{|{{zzzz{z|{{{{{{z{{zz{{z{{{|{z{}{zzz{z{z{|{{z|{{|{{zz{zz{{|z{|{{{{{{{z|{zz{|{{{{zzzzzz|z{{{{{{||zz{zyzz{|||{{{{|{z|{z{{z{{{{|{{{{zzz{zz{zz{{{{z{zzzz{z{{z{z{{{{{{{{z|z{{|{|{|{|{{{{z{{{y{|{{{|||{{{{{{|{{|z{{|{}{{{{{{{{|{||||{|{z{|{y{{{|{|||{{z{{z{z{{{{|||||{{{z{{z{z{||||{|{|{{z{}{{|{|}|||}{{{z|{|{||{}{|}|{{|{|{{z{{{{|{}||z{z{{{{||}||{|||z{{{|{||}|||{|||{{|{||{|}|||||||{||{{|{}}{{{||{|||{{{{z|{z}||}||{{||{{||||}|{|{|{{z{{{|{|{||||{{{||{z|{{{|{||{}{z{zzyz{||||{{|{{{{{{z{z{||z{{|{{z{{|zz{z||{|{||{z{zz{zz||zz|{||z{{z{z{z{{{{{{{|{{yzz{{z{{||{|{{z{{z{{{y{|z{z{{{z{z{{zzz|z{{{|{zzz{zz{{{|{{{{{|{yzy{zz{z{{{{{{{z{z{z{zz{{|{{{|{|{zz{zz{{|{z{{{{zz{zzzyzzy|{{{{|zzyz{{zz{{{{{{|{{z{{{{z{{|{z{|{|{{z{{{||z||{z|{}{{{{{{z{{{{|{|||||z{{z{{z{{{{|{{|{|{{{z|z{|{{{|{}{{|zz{z{{z}{|{{|{{z{|{zz{||{{{{|{|z{||z{{{}||{{{{z{zz{{{}{}|{||||||{{z{{|}|{}{|||{{}|{|{|}|{{{||||||{{{{{|||}}|||{{{{{{{{|||||}}}{||{{z{|}||{}||{{{{{|{{||z||{}}{{{||{{||||||||}|{{z{{{{{||{{{{}{{zz{{{z{{||{{|{|{{z{z{||{}||{{z{{z{{{zz{{{{{{{|zz{zzz{y{{|{|{{}z{zzzz{zz{{{{{|||z{zz{y{{||{{||{{{{{zzzy|{{{{|{{{{zz{{z{{{{{{{{zz{{zyzz{|||{{{{{z{z{z{{z{z{{{{z{z{{z{zyz{{}{|{{{{zzzz{yz{{{zz|z{z{z{zzzz{{||{||{{z|zz{{{{|{zz{{|{zz{{z{{{{{{{{{{z{{{{{yz{|{{|||{|{{z{zz{{|||{{{{z{zzz{{{||{|||}|z{{zz{{{||{{{||{{zzzz{{{||||{|{{{z{|{|{{|||{{|||{||{z{{z|{{{z}}|{|{|{}{{|{{||}||{{{{|{{||||||||||{{z{{{{|||{|}}||{|{|z{{||{||}|{{||{z||{||}|||{|}|{{|{{{{~}|{{}|||{{|{|{}|||||||{{{z{{{||||{||}|||||||{{{|{}|||}|z{|{{{{|{||{{}{|zz{{|{z{{{|{|{{{z|{{{z{{|{{{|{{z{zz{{z{{{{zz|||{z{z{{{z{{{{{{{{{{{z{{z{{{{{{||{{z{{zz{z{{|{{{|{{{{z{z{z{||{||{{{zzzz{zz{|zzz{{{{{{{zy{z|{|zz{||z{{zzz{{{{zzz{{{z{{zzzzz|{{{{{|{zzzzzzzz{{|z{{{{zzzzzzyzz{{{|{{{{zz{zy{z{{{zz|||z{{zzz{zz{{{{{|{z{z{zz{z{{{{{|{{{zz{|yyz{|{{{{||{z{{{z{{{{{{||z{{|{zz{z{|{z{{{{|{{z{zz|{{|||||{|{{{{|{zz{|{{|{|{||{{z{{yz|{|||{{||{{zz{z{|{||||||{{{|{{{{||{||}|z{{|z{{{|}}|{||||{|{|{{|{}{|||}||{|{{|}{|||{{|}}||{{|{{{{}||||}||{{{{|{{|{{||{|{}{|{{{{|{|{|||||{{z|{{|{||||{||}{{{zz|{z|{||{|{{|{{{{{z{|{{|{|{{{{{{{|{{||{||{{|zz{z{zzzz{{{{{{{z{zyzxzy{}{||{|{|{zzzzy{{{z|{||{{z{z|{z{{{{||{{z{zzzzz{z{z{{{{{{{{z{z{{z{{{zz{{{{z{z{z{{{|{{zzy{zzz{zzz{{zzzz{z{{y{zzzyz{z{|{|{{z{zzzzy{z|{z{{{{||{zz{zy{{{||{{{zzy{z{zyz{zzz{{{zz{zzzzz{{z{z|zyz{z{zz{z{z{{|{|{|z{z{z{z{{{{{{{{zzz{{zzz{{{{|z{{z{{{{z{zz{{{|||{z{{{{z{y{{{|{|{{{{{{{{zz{{{{{|{{{z{zzzz{|{{|{||{{z{{zzz{zz|||{||{{{z|z{{{|||{|{|{{{{{z{{{||}||{{|{{{z{{{|}|{|||{{{{{{{{{{|{|{{{{|{{{z{{{{|||||{{|z{{{{{{{{|||{{|{{z{{{{|{|z{||}{{{{{{{{{|{{||||{{z{{{z{z{|{|{{{{{{|{{z{{{{|{z||||z{{zzzz{{|{{||{z{zzzzzzz{{z|{||{zzzz{{z{{{y{||}{zzz{zz{z{{{{{{{{{{{zz{{z{{{z{{|z{{zyy{y{{{{{{z{{y{zz{zz{{{{z{{{|z{zzzzzz{|{{|{{{zzz{zz{{{{{z{{zyz{zzzzz{{{zz||{z{{z{zy{z{z{|{z{{{{zz{zz{{{z{z{{{zzzzz{zzzz{{{|{yzzz{zzzz{zz{|z{zz{zzzz{{{zz{{{{{z{zzzzzz{|{{|{|zz{{{z{z{z{{{{|{{zz{{z{{{{{z||||{{zzzzzz{||{{{|{z|{{{zzz{{{{{|}{{z{|{zz{z|z|{|{{|{{{{{{{{}{{|}{|z{{z|{{z{|{|z|||{z{{{{{z{{|||{{|{{|{{z|{{{||}|||{|{|{{||{|{|||}|}{{z{{{{{}|||}|||{{{{{{{{{|||||{||{{{{{{|{|}|||}{{{{||{|{{{|{{|{{z{{z{z{{{{|{|{|{{z{{{{z||}{{|{{{{|z{y{{{{||z{|{|zzzz{z{{{{{z{|{z{{zzzz{|{{{|{{|{{z{{z{z|{|{|z|{|z|z{{zz{{|{{{{{{{|z{{{{{{{{z{{{{{{{zzzz{{{{{||{{{|z{{zzz||z{{{z{z{zzyz{zz||||{|{{{{zz{zz{{{{{|{{zzyy{z{{{{{{|{{|zz{z{{{z{{{{{|{zzz{{z{yz|{{{|{|{{zz{{zzz{{z{{{{{z{{{{z{z||||{|{{{{z{z|z{|{||||}z{{{zzz{{|{{{{||{{{{{{{{|{{|{|||{z{z{{{z|{|{}}{{||{{}{zz{||{|{}||{z{||{{{|}{{}{||{{{|{|{||{|||}{{z{{{|{|{z{|||{}|{|{{{z|{||{|{}}}{{||{{{||}|||}|{||{{{{|||z{|||}|{{{{{|{{}}||||}}{{|{z{{}|||{||||{{|{{z{{||}{|}|||{{}}z{||||||}|{||{{z||{}||{||||{|{{{{{{|{|{{|||{{z{|{{{{{{{{{{{zz|{zz{{||{{|{||{{{{{{z{{{|{|{{{{z{{{{{{{{{z||||zz{|z{{{|{{{|||{z{y{{z{z{z{|{{|{zzz|zzz{{{zz|{{|{{z{{zz{|{{y{{{|{zzy{|z{z{|{{||yz{zz{y{z{{z{|{zz{zz{{{{{{{{|{{{z{|zz{zzz{{{{{{{|{z{z{zzyz{{{{zz{{z{{z{{zz{{{{|{zy{zz{{zz||{{{||{z{z|z||{|{{|||{{{z{zz{{|z|{{|{{z{{z{{{|{{{{||||{{{{{z|{||{}{{{{|z|zz{{z{||{|||||{{{zz{{||{|z|||{{{z{{{|{{|z||||{{{|{{{{|||}|{||{|{{|{{||||||||{}{{|{{{{|}|||}}}{{{}{|{{{|{{||{}|{{|||{|||{{}||}{{{||z|||{{||}|||{{{{z{|{{}||||~|{||{|{{{{{{}|||z{{{{{{{|||{{||||{|z{{{||{||{{|}z{{{{{{{{z|{|{{{{{{{{{{z{|{{z||{{{zz{z{{{{|{{{{|{{{z{zz{{|{{{{|||{zz{{{{|{{{|{{}{|zy{{{z{{{|{|||{{{z{{{{{{{{{}{|zzzzzzzz{{|{z}{}zzzy{{{z{{{||{{zzz{zz{{{{{{{z{||zzz{zzzz{{{{|{{{zz{zzzzz{|{{{{|{{{z{zzzzz|z{{{||{zzz{z{zz{{|z{{||{z{||zz{{{z{{|z|{z{zy{zz|{{{{|{{{{{zzy{{||{{{{|{z{{{{|z{{|||{|||{{|{z{{{|{{||{|||{{{{{{{|{{|z|{{{z|{{{{{}{z{||{{|{{{{|{{{{|||{{{{{|{z|{{|{}{|}||||||z{{{|}||||||{{{{||{}}{|}|}{{{||||{{{{{|}|||{|z{||{{||||}}}||||{{{|}|{||{||}|z{|{{||}{||||{||{{|{|{{|{{|||}|{|{{{{{z||||{||}{|{{|{{z|{}{|{{||z{z|z{z||{{{|{{{{z{{z{{z{{{{{|{{zzzz{zz|z||{{{|{{|{z{zz{z{{{{|{{z{z{zzz{{||z{||{|zz{y{z{|{zz{{|{{{{{zzz{||{z{|{zzz{zzzz{z{{|{z{zzzyzzzy{{{zzzz{{z{z{{zzzz|z{{{{{{zzzz{zz{{{{|{{{{zzzyzz{{{{{{||{zzzyzzz{z{{{{{||z{z{zzzz|{{|{{|zz{z{{{zz{|{|{{{|{z{z{zz{|{{{{|||z{{zzz{{{z{{||{z{{{z{{z{{||{{|{{z|{|z{z{||{{|{{{z{{{{z{{{||{||{{|z{{{z{{{{{||{|{{{zz{{{{|||{{|{{{|{{{{z{|{{{|{||{{{|{{{||{}|||{|z{{{{z{|}{|||||{{{z{{||||{{||||}{}{{|z{{}||{{|{{{|||{|{||{{|||||z|{|}{{{{{||{|}||z|{{{{{{|||{||||{{{z{{{|{{{|||{{zz{z|{|||{z{|}|z{z{z{{|{{|{|{|zzy{z{{z|{|||{{{{zzzzzzz{{{{{||{{z{zz{{z{{{z{||{zz{{{z{{z|{{{{|{|{{z{{{zz{{z|{{z{{z{zz{zz{zzz{{{{{{{{zzz|z{{z{{{{|y{z{zzzz{{z{{|{{zz{zzzzz|{z{|{z{{zzz{{zz{z{{{{{zz{z{{yz{z{zzz{{yy{{yzz{z{zzz{{{{{z{zzyzz{{z|{{zzzzz{{zz{{{{z{{{|z{z{{{{{{z{z{|{z{{z{|{|{{|{{}|{|{z{z{z{{|{|||{{z{{|z|{{{{{{|z{{{{{|{zz|{{|{{{}{|{}z{z{|{z{|{{|{z{z{{|{{{|}|||{{{{z{zz{{{{|{|}|{{{||zz{{||||||||{{{{{{{|}}{|||||{|{{{{{|{||||{{|{|{{|{{|||{{|||}{{}{|{||{|{|}|||z{z{|z|||||||||||z{z{zz|}|{{|||z{|{{{{{{||{{{|||||{{|y|{|{||{||{z||z{{z{{|{{{{{{z{zz{{{zz|z{z{{z{z{z{zz{{{{{|{|{{zzzz{{{{{{z{|{{z{yz{z{zz{|{z|z{zzzzzzz{{|{||{|{zz{zz{z{|{{{|{{{zzz{y{zz{{{z{{z{zzzzzzz{zz{{z{|{{{zzzzzz{z{z{|z{{zz{{z{z{{{|z|{zz{{zzzz{{z{{{||z{zy{yzzz{zz{{{zzzzzzyz{z{{{zzz{{{{y{{{{{z|z{z{|{z{z{z|y{{{z{|{|{{{zz{{zy{{||||{{z{zz{{z{{z{|{z|{z{zzz{z{|{{|||z|{z{{{{z{{|{{{}|{{|{{z{|{|{||{{{{z{zz{{{{|{{{|{|{{z||{{{|{||{{{|{{|{{{{{{{{{{{|{{|{zzzyz|}|||{{||z{{{|{{{|||||||{{{{{|{{{}{||||{}zz}{{{{{|{|{||{{{|{{{{{{||{|}|||{{{|z{{{|||{|{}{{{{z{{{z{{||{}{|{{{{|z||{z|||{{{{{{zz{{|z|||z{zzz{zz{|z{{z|{{{{{{{z{zz{{{{{{{|{{z{zz{{{{|z||{{|{z|z{zzy{{{{z{{{{z{z{{{z|}{{{|z}zzz{zzz{{zz{{{{{{zzzzzyzz{{{{|{{{zzzz{y{{{z{{{{{zzz{z{{z{zzz|{{{{zz{zyzzz{{{{zz{{{z{zzzz{{|{{{|{z{zy{{{z{{{z{z||{z{{{zy{z{{{z{{{zz{zzz{z{{{{{{{||{zz{{|z|{{|{{||{z{zz{{z{z{||||{{{{z{{{{||{{||z{{{{z{zz{{|{{|||{{{{{{{{{|{|||{}{{{{zz{z{{{{{{{|{{{{{{{{{{{||||}{|{zz|z{|{{{{||}|{{{{zz{z{||{|}||{{z{{|{{|}||||||{{{|{|{{{{|||}|||{{{{{{{||||}|}||{{|{{{{{{{|{{|}|z{{|{z{|||{||||{{{{{{{{{{|||||{||{{|z{{z}}|{||{|z{|z{z{{|||||{{|{|zz{{z|{||{{{{{zy{{z{z{{{{z{z{{zz{zz{{||{{|||{{{zzzz{z{z{z|||{zz|z{z{{zz{{{z{{z{|zz{zz|{{z{{{{{z{{zz|zz{{{z{{z{zz{z{zz{{|{{{{{{{{zzzzzz{{|{{{{yz{z{zzzz{{|{{{{zz|y{zy{zy{{{{||{{z{zzy{{{{z{{{{zzz{zzzzzz{zz{zzzzzz{zz{{{{{{|{|zz{{{zzz{{z{{{}{{zzz{zz{{|{{||{|z{|z{{{z{{{|{{}{{{yzzz{{|{{{||||{{{{{z{z||{{||{|{{{{{{zz{|||{||{{zzz{{{{{{z{{||||{z{z{{{|{z|||{{{{z{z||{|||||{|||z{{{{{z{||{|{}{{z{{{{{{|{{||{|{{{{||{||{||||||||{{{{z{{|}}||||}{{{{{{{{|{{|{||{|{|{{{{zz|{|{|{||{|||{z{{|{|{||}{{|z|{{{{{{{||{||{zzz{{z|||{{|{{{{{{{z{{{|{{{{{|z{{zzzzy{{{{z{{{{{{yz{{{|{{{z{|{z{zzyzzz|zz|{z|{|{zzzzzz{{{|z{{|{z{zzzzzz{|{z{z|zzzzzzzzzz{zz{|{{{{{zzzz{{{|{z{z{{yzy{zy{zz{{zzzzzzy{yzz{|z{|z{{zzzzz{zzzz{|z{{{{{z{{{z{{|{|{{|{{zy{zy{{y{{{{{{{z{zzz{{z{{{{z|{zzz{z{{zz{{|{{{|{{z{z{zzz{{{|{{{|{zzz{z{{{{{z{|}|{{{zzy{{{{{|{|||{{{{zz{{{{{{||{{{|z{z|zzz{{|{{|z{zzzz{z{{{{z{|||{{z{{{{|{{{|||{|{{|{zz{{{{{{{{|}{|||{{|{{||}{|||{z{{{z{{|||{|||{{z|z{{z|{{|z||{||{{{{{{{{}|{|{|||z{{z{{{|||{||||{{z{|{{{{{{{|}|||{{z{{{{{||{|{{||z{z{zzz{|{|{|{{z|{{z{|{{|{|{{{{{{{zy{{{{||||}{{{{zz{zzy{{z{{{|{|{zz|z{{|{{{z||{{zzzzz{{{{{{{{|{{{{{zzz{{{||||{{{|{zzz{{|{{{z{{|z{zzz{zz{{z{{{{z{zz{{{zz{z{z{{{|{{zzz{zy{z|z{{|{{{z{zz{y{{{z{{|zzzzzz{zzz{|{|{||zy{z{zzyz{{{{z{{{zzz{z{zzz{zz{{{zzzz{{z{z{{z{{{{zzz{{{{zz{{{{{|{zz{{{z{yz{{|{{{|{{{{z{{z{|{|{{||{{{zz{zz{z|{{z{{{z{{{zz{{|{|{|{{{{{{{{yz{|{|z{{{{{z{{zz|{|||{{||{{|z{||{||{|{z{|z{zz{z|z{|{{||||{{{{|z{{{|{||{|||{zz{{{{||{{||}|{|{{z{{{{|{|{||||{{|{|{{||{||||||{{{{{{{||}|{{||||{{{|{{{{||{||}||{{}|z{z{||}|}{{{{z{{{{z{|{|{|{{z{{z{{{{|{|{{|{|||{z{{{{{{{|z|{{z{zzzzz{||zz||{zyzz{zzz{{{|{{}|{z{zz{zz{z|{{|{{{{{{{{|{{|{{{{|{{zzyz{{y|{|z{|{{z{zz{z{{{|{{z{{{{{{z{zzz{z{{{|{{{{zy{{zzzz{{z|z{zzzzzzz{|{{{{{|zzz{zyzz{z{{|z{|{zz{z{{yzzz{{{z|{{zz{zz{zyz{{zz{{|{|z{zz{z{{{{{{{zzz{zz{zz{{{{{{|zz{{{{{{{{{{|{||zzzzzzzz{{|z{{||z{|{{zzz|||{{||z{{{{z{{{{|{{{}|{z{|zz{{{{}{{{{||{zy{z|{z{{{{{|z{{{{{{{{{{{||{||{z|{{{|{{{{{|{||{|{{z{{{z{}|{|}}}{{{{|{{z{||z{|}|{z|{{|{{|}{||}{|}{{{{{{{{|}|{{|||{{{z{{z{|||}||||{z{{{{{|}|||}}|||{{{{z{|||||}{||{{|{{z{{||||||||{z{{{z{{{{|{{|{{{{{zz{{|{{||z||{zzzz{zzz{|{{{z{{{z{{{z{z{{|{{{{{{{zy|{z{{|{|||{{z{{z{zz{||zz{||{{z{z{{yz{{{||{|{z{{z{zz|{|z{z{|{{zzzyzzz{{zz{z{{{z{zz{z|z{{{{{zzzzzz{zyz{{zy{{{{z{zy{zz{{z{{||z{{{z{{zz{{z{{{{z{{zyzzzyz{z|z{|{{{{{{z|z{{{z{|{{{{{z{{{zzz|{||||{zz{{z|zzz{{|{||{{{{z{z{{|{|{{|{{{{z{{{z||{|||||z{{z{{zy{||||||z{{zz{{|{|{|{{||{{z{{{z{{{{{z|{{{{{{y{{{{z{||{|||zz{z{{{z||||{|||{z{{{{zzz||z|}|||z{{{{{{{||{|{||{||{{||{{{||||}||{z|z|{zz|}||||||{{{||{{{||{||{{|z{{{{z|{{||||||{{{{{{{{{{||||||z{{z{|{{|{||||{{{{z|z{{{{{||{{{|{{zzzzz{{z||{{|{{{{yz{z{{||zz{{{z{z{zzz{{||{|{{{{{{z{z{z{z{{|{{|z|{{z{z{{z{{|{z{|zzzzz{z{z{{{|{|zz{z{zzz{|z{{||z{z{z{{{zz{|{z{{{z{z{z{{z{z{|{{{|z{zzzz{z{{{z{{|{{z{zzzzz{{|z{{z{{{z{zz{yz{{z{{|{{zz{{zzz{{|zz{{|{{zz{{{zz|zzz{|zzzzz{{yz|{{|{{{|{{zz{z{z|{|{|{{|zz{zzz{z{{{{{{||{zzz|{zy{{|{z{{|{{{{{z{{|}{||||{|{|y{{zz{|||{{{|{{{zz{{z||{|{||{|z|{{{|z{||||{||{{{|{{{{{{{||}||{z{{z{yz|||||||||z{z{{{{||{{||||{z{{{{{||{{|}||{|{z|{{{{z}|||||||{|{||{{|||||||{{z{{{{z|{|||{{|}{{z{{|{{{{|{{|||{z{z{{{||||||||{|{{{|z{z{{|||{|{z{{z{zzz{||}{{{{zzzzz{{{{{{{|{{{zz{{{zz{{{{zz{|z|{{zz{z{|{z{{|{|{{{|zzz{{{{|{{{|{zyzy{{z{|{{{{z{z{{z{y{{{{{{{{{{{z{{zz{{|{zz{{|{zzzzz{zzz{{{yz{zz{zzzzzzz|{{{{|{{y{{zz{zzz{{|{{{zzzzzyzzzz{{{{{|zzz{z{yzz{{{{z{z|{{z{zzy{z{zz{{{z{{zz{zz{z{zz{||{{z{{z{{z{{{|zz|{{{{zzz{{{|{{|{{zzzz{{zz{z||||||{|z{zzz{z{|{{|||{|zz{zzz|{{{z|{{{{{{{{{{|{|{|z{|{z{{{zz{|{|{||||{{{z|{{{{z{}|{||{{z{{|{{{||{|{|{{{{{{{{{|||{||||{{{|z{|{{|||{||||{||{{{{{|||{|{|{{||{{|{}{||{||||{{{{z|{|||||{||{{|{|{z{||{|{|}{{{{zz{zz{{||{{|||z{{{zzz{||{|||||{{z{z{z{{{{{{||z{{{zz{{{{{|z{z{{z{zz{z|{|zz{{{{{z{zz{zz{{{|{|{|{zyz{zz{{{z|{z{{{{{{zzzzz{{{z{{|{zz{z{{zz{z{{{{{{{{zzzyz{|{{{{{{{{z{zzz{zz|{{{|{zzz{|yyz{{|z{{{{{{{z{zzzz{{z|{{|zz{{yzzzz{{zz{{{{zzz{y{y{|z{{{|{{{{zzz{{{{z{|{{{{y{zzzzyz{{z{{{||{{zyz|{|{{{{{|z{{y{zzzy{{{|{|{{z{z{|{zz{{z{{|{|{{{{{z{zz{||{{z|{{{z{{{z|{{{{||{{{{{yz{{{{{{{|{{{{z||{{z{||||z|{|{|z{|{{{|{|{||{{{{{{{{{||||{}|||{{{{|z{{|||||||{{||{}||{||{||{||{{|z{{{|||||{|}{{{{{{{|{}||||{||{{{|{{{{|{|{||||{{|{|z{||||{||||{{z|{{z|{{{{||{|{{{z|{z|||{{|}{{{z{z{zz{{{{|z{{{zzzzzzz{{{z{{{|zz|zzzzz{{{{{{{{{zzzzzzz{{zz{{{{z|{zzz{zz|||{{{{{|{zzzzz{{}{{|{|{y{{zz{z{{{{{{{z|z{yzzzz{{|{{{{{{{zzz{zz{{{zzz{{zz{zzzzz{{{{{z|{{zzzz{yz{z{{|{{|zz{zy{z{z{|{{|{||zzzzz{y{{{zz{{{{|zyz{{y{{zz{{{{zz{z{zzz{{|z|{|{{zy{{zzz|{{|{|{|{{{{z{{{{{{|{{{{|{z{{z{{{{{{{{{{{{{{{{{{||{||{{|{{{{z{{{{|||{{{|{z{z{z{|{{||{|{|z{{{{||z{||||{|{{z{z{{z{{zz|||{}{{{{{{{{{||||{|||zz{{{{{{||||||}{z{|{{{{{|z|{||||{{{{{{{{||||||}{||z{z{{{|{|}||||{{z{{{z{|{|{||{{{{|{z{||{{|||||||{z{{{{{|{z||{{{|{{{z{{{|}{{{z{{{|z{zzz{{|z{{|{z{z{zz{yy|{zz{{|{{{z{zz{z{|{z||z{{{zzz{zzzzz{{{{zzz{{yzz{{|zz||z{{{y{zzy{{||{zz|{zz{zz{{{{{zz{{{{{{zzyzzz{zy{{{{{z{zzzz{{{{{{{{|{{{zzzzz{z{{z{{zz{{zzz{{z{|{{{z{{z{zzzyzzz|{|{||zzz{zzy{zyzzz{{zz{{zzzzzz{{zz{{{yz{zz{{zz{{|{z{|zz{{{{{{{{{z{|{|z{{{z{{{|{{{{|{{z{z{{{{|{z{|z||{{z{{z{{z||{|{|{{{{{|z{{z{|{||||||{{zzz{{||{{|{{||{{{{{{{|||||{|{{z{z{|{z||{{{{|}|{{{{z{{{{|{||{{{{{|{z{z|{{|{|}|{z{|{z{{{|{|{||||{{|{{{{{}}|{||{|{{{{{{{|}{{|||||{{{||{|{{||{{|||||z{z{{{|{{{{{{|{{{{{z{z|||||||{{zzz|{{z|||{{|{{z|zz{|z{zz{{{{zzzz{{z{zz|z|z{{|z{zz{{y{|{{{{|{|{{{{zz{z{zzz{{{{{zy{{zzz{{{{{z{{zzz{{yyzzz{z{{{{zzzzz{{zy{{z{{z|{z{zzzyz|{|zz{{{zz{y{{zyzz{{z{{{{z{zyyzzzz{{zz|{{yxzzzyz{z{z{|{{{{z{zz{zzz{|{z|{yy{{z{yzz{{zz{z|{{y{yzzzzzzz{{|{zz{{{{zy{{{{{{{{zz{z{zzz{{{{{{{{}{{{zz{z{{{{{{|{zz{{{{{{{|z{{}{||z|{{{{z{{z{{|{{{z{zzzzz{||||z|{{{z{{zzz|{{|{||{|{{{|{z{{{{|||||{{|{{{{zz{{|{{|{{{z||{z{{{|{|||}||{{|z|{{|{{|{{|z{{{{z|{|||||||{}{{{z{{||||}{||}{{{|z||z|{|||||{|{zz{zz{||{|||||||{z{{{{|||{{{||z{{z|{z{z|{{|{|||{{{{{|{{{|{||||zzzz{y{{{{|{{|{{z{zy{yzy{{|{z{zz{zzzzzyy{{{{{||{{z{zzzzz{{{{{{{{|y{{{zy|zz|{{z{{zzzyzz{z{z|{z{z{zzzzzyzzz{z{{|{{{z{{zz{{{z{z{zz{zz{z{{zzzyz{{}{{zzzz|yzzzz{{zz{z{{zzzyyzz{zz{{{{{{zyzz{z{z{{z{z{zyz{{{zyy{zz{{{{{z{zzy{zyz{{{{{{z{zzzzzzz|{{z{|{z{zy{{{yz{z|{{||{z{zzzz{{{{zz{{|yz{zz{zz{|{{{{|{zz{{{z{z{|{{|{|zz{z{{zzzz{{{{{|{{{y{z{zz{|{||}|{{{{z{{{{{{||{{{{{{|z|{{{{{{{||}|z{{{|{{zz||{|{{{{y{|{z{{{z{{|||{{{|{{{{{||{{|}{|z{z{z{z{{|||||||}{{{z{{{{{||{}|}{{{{{z{{{{{{|||{{{zyz{{{z{{{|{{||{{{zz{{{|{{z{|{{|{{{zz{{{{{{||{{{{z{z{z{}{|{|{{zz{yzzyzzzz{|{|{{zzzyzzy{z{{|{z|{y{z{z{{z{||{}||{z{zzz{{{z|{{{|{{z{z{{|{{{{{{{{}z{{z{zzz{{z{{||{|{z{{{{z{{|yz|{{{z{z{zzy{z{|{{|{zzz{zz{z{z{z{{{|{{zz{z{z{z{z{|{{{yz{zzzz{|{|{z{{zzzz{{zzzz{{y{{z|z{z{{zzzz{{{|z|zzz{{{zzz{{||{||{{z{{z{z{{z{{z||{{{{{z{{{||{{|||{{{{zz{{||{z{|||{{{{z{{y|||{|}|{z{{{{zz{{{|{z||z|{{{{{zz{|z{{||{{{{{z{{{|||||z||z|{{{{|{||||||}}|zz{{{zz{{||{{{{{{||{{z||}||{|}|{z{{{||{|{{|{}|{|{{{{{{{{|||{|}{{{{|z{{{|||{||{|{zzz{{{{||||{{||{{{{||{{|{|||||}{{{z{{{{{|{{|||||z{{z||zz{{|{|{||zz{{{zz{{{{{{z{{zz{{z{z{{{{|{{{{z{{{{zz{{{{{{{||zzz{{zz{{||z|{{|z{zz{zz{{{zz{{|{{zyz{z{{{{{{{{|zz{z{z{z{|z{{{|{|z{{zzzyz{|{z{|{z{zz{zzz{zz|z{{{{{{{zz{y{||{{{{{z{z{z|zz|{{||{{{{{{z{{{z{{|{{{||{{{{{{{{z{{z|{{{{{yz{zzz{{{{{|{|z{|{{zzz{{{|z|||{zzzz{{{||{z||{{{{{{zz{{{|{{{{{z{{{z{{{{|{|{||{{|{{|{zz{{|||{}||{{{z{|{z|{||{{{||{{{|{zz{||{{||{|z{|z{|||{|}||||z|{{{{z|}||||||}|z||zz{{|{|{|{|{|{{z{{|{|{|{||||{{|{{{{||{{|}|}|{{{{|{{{{|{}|{|||z|{|{z{||{||{{||{z|{||z|{||||{}{|{{{{{{|{|}{|{|{{}{{{{z{{|{{{|{|{{{{{|{||{|{||{z{|{zz{z{{|||{{z{zz{{yzzz}|{|{{|{{{z{zz{{z|{{{|{{{|{{z{{{{{{||{{|z{{zz{{{{{|{{{{{z{zz{zzz{z{{|{{{z{z{{zzz{{{{{|{{{{{zzyz|{zz{z{{{zzzzzzz{{{{{||{z{{z{z{z{|{{{{{{{zz{z{z{{|{z{||{zzzzzzy{z{{z{{||{{z{{{z{z{z|y|{|zzz{zz{{z|{{{{}{{z{{{{|zz{{{{||{{{{z{{{{{{{|{|||z{|zz{{{|z{|{||}z{{zz{{z{{{{}{||z{|z{z{z{|{{|||{{{z|{z{{{||{{||||zz||z{|{{|{{}{|{{{{{|z{{||||{}{{{|||{{|}|{||{}{{{{|{{zz|||||{|~{z{||{|z||||||||{{|{{{{||{|||{|||{|}{|{|{}{|||}||{{{{{z||||}||||||z{z{{|z|{||{}|{|{{{|{{||}||||||{{{z{{{|||||{||{|{|zz{{|||{{{|{|z{zzz{{{|{|{{||zzzz{{zzz{zz{{{||{{{{yzy{{{{|{|{{zzyz{{z|z|{{{||{{{{z{zz{{z{zz||z{{zzz{z{{{{z{{|zz{{z{zy{{{{z{{{|{|z{{zy{{{{z|z{z{{zzz{z{z{{zyzzzzzzzyzzz|zz{{|{{{zz{zz{z{{z{z{{zzz{z{{zz{zzz{{{{z{{{{zz|{{zz{{|{|z{|zzzz{|z{{{{zz{zz{{zz{{z{{|{{z{{{{yz{{{zz{|{{z{zzzz{{{{{{{{{{z{{z{{z{{{||{|{{|{{{yzz{{|{|{{|{{|{z{zz{{|z|{|{{zz{{z{{|{|{||{|{{{{{{{|{{}|||||z{{|{||{{{||{|||||{{z{{z|||}|{}||{|{{{z{{{|{{|}{||{|{{|{|{{||}|||{{|z{{{|{||{{|{}{z{{|{{||{||||}|{{{{{||||{|{|{|{{{z{z{{{{{}|}|{{{zzz{{|z{{||||||z{{z{zz{{|{|{{{|{{z{z{z{{{|{||{z{z{zz{zz{{{{{z|{zz{zz{z{z}{{{{{|zz{{zzz{{z{||{||{{zzz{zz{|{{{{|{z{yzzzz{{{|{{{{{{{{{{z{{{z{{|{{{z{zy{zzz{{{zz{{{z{zy{z{{{{z{}{{{zz{yzzz|{{{{z{{zzyzzzyzz{{{{{|{z{zzzzzzz{z|z|{{|y{zzzzzz{{zz{{|z{{z{zzz{{{{{{|{zzz{|zzzzz{{{{{{{z{zz{{z{|{{{{{z{{{zzyz{{|{{{{||{z{z{z|{z{|z{{|}z{{z{z{z{|{{{||{{zzz{{{{z||{{|}{z|z{{{{{{||zz{{||z{{{{{z{{{|||{{z{{{{{|z{|{||{}{|z{{{{{z{||{|||||z{{|{{z|{||{||||z{{{{|{||{||||{|{{{{{{|}|{|}||||z{{z{zz|{{{||{||{|{|{z|{{{{{||||{{{{zz{{|||||||{{z{z{{zz{{|{||{||{z{{{z{{z{{||{{{{z{zz{{z{z{{{|zz{y{z{zz{zz|{{|z{yz{y{{{{{{{{{|{{{z{z{z{{{{{{{|{{{yzzzz{{{{zz|{{z{yz{{z{z{{|}{{{{z{zzzzzz{{{{{{z{{zzzz{zz|y{|{z{{zyyzz{{z{z{|{{zyzzzzzz{{{{z{|zzzyzy{yz{z|{{{{{z{{zzzzzzz{|{z{|zzz|zz{{z{{y{{|{z{z{{zzz{{{{zzz{z{{z{zzz|{{{|{{{{{{z{zz{z|{{{{{{{z|z{z{{{z{{{{{|z{{{{{{{z{{{{{||zz{z|zz{z|{{z{z{{{{zz{z{{|{|{{||{|z|zzzz|||{||{{|z{{{{z{||||{||{z{{{{{{{{|{|{||{{{{z{{{{|||{|{|{|z{{{{|{||{{|||{|{z{{|||{|{|||{|||{{{|{{{||}|{||{z|z{z{{|{{|||||{{|{{{{|{|{{|{||{|{{{||{{{|{|{||{{{z{{|{{{{|{|||{{{{{{{z|{|{{{||{{{{zzzz{{|{{{|zzy{zzzzyz{{{z{z{z{zzzzzzz{|{{{y{zzz{z{yzz{{z{{{{{zzzzyzz{{{{z{zz{{zzzyzz{{z|z{{|zz{{zzzzzz{z|{|z{z{zzzz{{{{z{{{{{y{z{z{yzzz|z{z{zzy{{zzzz{zzz|{zzz{yz{yyy{{y{{{|z{yzzzzz{z{z{{z{{zzzzz{zy{{zzz{{z{yz{zzzy{zz{{{{{z{{{{zzz{{{{|{z{zz{{zz{{{{zy{{|{z{zzzzz{{z{zz{|{z{zzzzz|{{{zzz|{{z{{zzzz{|{{|{{{z{z{{{{||{{z{|{{zzz{zz{{z{{z{{{{{{{{{{{|{{z|}|{z{{z{{{{{|{{z|||{{{{z{z{{|{{{|}{z{{z{{|{{|{{{{}|{z{z{{|z{{|{|{|}|{{|{{{{{{|{|||{{{{z{{{z|}||||}||z{{{{{zz{{z|||||{{{{{{{{|{|||}{{{{|{zz{||{|z|{|{{z|{y{z{{{{{z{{z{{{{{zz{|{{|{{{zzzzz{zz{z{{{z||y{{{{y{z{{{{{{{|{{zzzzzz{{{{z{{z{{{|{zzz{z{{z{{{{z{zz{zz{z{{{{{{y{zyzz{y{{z{{{|{z{zzyz{{{{zz{{z{zz{z{zzz{z{{zzz{zz{zzzz{{z|zzz{z{zz{z{yz{{{|{{z{zy{zyzz{zz{{zz||{zz{zz{zzz{{z{z{{zzzz{{y{{{{z{z{zy{z{z{z{zz{|{||{{zz{{z{{{{{{z{{yz{z{{z{{{zz|{{|z{z{{{zz{{{{}||{{{{z{zz{{{{z{z|{{{{{z{z{{{{{{{{{|{{{{zz{{{|z{{|{{{zz|{{z{|||{|{|{{{{{{{||{{|||z|{{|{|{{z{|||}{}{|z{{{{|{|{|||||}{{{{{z{|{|||{{|{|zz{z||{{}||||||{y{{{{{{|{|{||||{{zzz{{{zz||||}|{{{{||{{{|{||{|{{{{{zz{{z|{|{{|{{{z{z{z|z|{|{{|||{{yzzzz{z|{{z{{zzyzzz{y{|{y{{{{z{zzzz{zz{{{{||{z{zz{zzzzz{z{{{{zz{zzzzz{|{{{{{||{{zzyzyzz{z{{z|zzz{zz{z{{{z{|{{{{{zzzzz{{{z{{{{zy{zz{{zz{{{z{{|zzzyyzzz{{{z{z{{zzzzy{x{{z{{{{z{{z{zyyzzz{{{{{z{yy{{zz{zz{zzz{{{{{zzzy{zz{z{z{{{{z{z{{zz{{{z{{{{{z{zz{{y{||zz|{{{z{zzzzz{z{{{|{{z{|{zzz{|||{z{||{{z{z{{zz|{|{{{zzz{zz{zz|{|{{z||{{zzzzzz{{{zz|||{{{{z{{{{|z|||{|zzz{{{{{{{|||{|{{z{{{{{{{z|{{||{{z|{|zzz||||||{|{{{z{{|{{|{{|||||{z{{{{||||{||||{z|{zz{{{z||||{||z{{z{z{{{{|||||{{{{{z{{{|{{|{|{z{zzz{{z{{{{{|||{{{{{{z{y{{{|{{{zz{zz{zz{z{{zzz{zzyzy{zy{|{|z{{{{{zzzzzz{{{|{}||{z{zzz{z|z{||{|{|{z{zyzz{zzzz{|{z{zzzz{y{{{{z{{{zzzz{{{z{{z{z{{{{zz|zyzz|z{{z|{{zz{zzzzz{z{{|{{|yz|{zzzzz{{{{{{z{zzzzzz{{{z{||{zzzz{yzzz{{{{{zz{zzzyzzzz{{z{{{z{z{zzzyzz{{z{{||zzz{yz{z{{{{{{{|z{{zzz{{{{{{|z{{{{y{z{z{{{{|{{|||zz{z{{{zz}{{z||{z{zz{yzzz|{{|{{|{{{{{zz{z{|{}{z{z{{|{{zz{{||z{|{|{z{{|{{|{||||||{z{{{|{{{|||||{}}{{{z{{{{{{{{{|{|z{z|{{z}||||{|{{{{{z||{{|{|||||{{{{z{|{{||{{}|{|{|{{{{{{}||||{{|{{z{z||{{{{|{{}{z{z{{{{z{z|{|{|zz|{{z{{{|z{{{{|{|{zy{{z{||{{|{{zz{z{yzzz|{{z|zy{z{zzzzz{{|z{|{{zz{zz{z{{{{z{{|{{{z{y{{{z{z{|{|{{zz|zzzz|{{{z|{{zzzzyzzz{{{{{{{|{zyzz{{{z|{z{{|{{z{y{{yz{{{yzz{z{zzzzzzz{{{{z{zzzzzzz{zz{{{{{{{z{zzzzzzzz{{z{{{{{{{yy{zzz{{z{{{{yzz{zzzy{zzz{{{{y{zzzz{zz{zzz|{{zz{zz{zz{{z|{|{{{z{yzzzz{|{{z{{{{zz{{zz{{z{{z||z{{z{z{|{{{|{{{{{{zz{{zz|z{{{{{{{{{zz{{y{{|{{{{|zzz{{{{zz{{{{{|||{|z|{{|z||{|{|||{{{{z{{{{|{|{{{|z{{z{{z|{{|{|}|||z|zzz{{{|{|{|{|{{zz|||{{|{{||||}{z{{{{{{{||{|||{z{{{z{{{|{}|||{{{z{z{z{{||{{|}|{z{{{{{z|{|}{|{|{{{z{{{{{|{{{|{|{zz{{{{y{|}|{||{|z{z{{{z{{{{{{{{{z{z{z{y|{z{|{{{{z|{zzzz{{|{||{|{z{{z{zz{z{{|{||{z{|{zz{{|{{z{|{{z{z{{{z{|{|{z{{{z{zzzz{zz{{|{{z{{{zzzy{zz{zz{{{{{|zyzzz{{{{z{z{zzzzzzz{{{{{z{zz{zz{zzyzzz{{|{{|z{{zz{zzz{{z{{{{zzz{{zzy{z}z{{z|{{{zzzzzz{{z{||{{z{zz|{y|y|{|{|{{{{{{{{z{||z||{|{{{{zz{{z||{z{||{zz{{zz{z|{{|z||{z|{{z|{{{||{||{{{{z{{{z{}|{{{|{{{zz{|{{{{z{{|||{zz{||{{{{||||||{||{z||{|z||{||z|z{{|{zz{||||||||z{z{z|{||}{|{}{{{{z||||{||{|||~|{|z{{{|||||{|}{|{||{{{||{{||}{{|{{{{{z{|{{{|||||{|{{{{{||{||}|}{|{{z{{{{||}}||{|{{{y{{{|{||||||{|{{z{{{{z{||{z{{{zzzzzz{{{|{z{|z{{z{zzzzz{z{|{{z{zz{z{zzzz{{{|{z{{zzz{{z|{{z{||{zyy{zzz{{|{{{{{yz{{zz{z{z{{z{{{{{{z{zzzzz{zz{{{zzzzzz{zy{z{{{{{zyzzzyzz{{|z{{{zzzzz{{y{{z{{{{{{z{|z{zzzz{{|{|{{zzzzzzz{zz{zz{{{{{zz|zyzz{{{{zz{{zzy{{{z{{||{|||{zzz{y{z{{{{|z{{z{|{zzz{{{|{{{|{z{|{zzzz{{{{{{|{{z{{{z{{{{|{|{{{{z{z{z|zz|{{{z{|{{{{zz|{|{|{{{|{{z{{{zz{|||{||||{zz|z{{|||{||||||{{{z{{z{{|{|{|||{|{|{{{{|{|{{||{{{{{{|{||{|||||}z{{|{{{|||||{|{{{{{{{{{|||||{|||{|{{{z|||||||||{{{|z||{|{||{||}||{z|z|{||{{{|{}|{zz{{z|{||{|z||{{{{zzzzz||z{|z|zzzzzzy{{z{{{{|{{z{zz{{z{|{{{{||{z{z{zz{{{{{{|{{z{z{z{y{{{|{{{|{{{zzz{zzz{{|{{{|zz{{z|z{{z|{{{{{{{zz{zzz{{{{{{zz{zzzzz{{y{z{z{{{zz{{{yzzz{{{z{z{zzzzz{z{z{{{zz|{{{{zy{zyz{{{{{{{zz{z{y|z{{{{z{z{{{{z{yzzz{z{{|{{z{z{zzzzz|{{{|{|z{{z{z{z{{{z|{|{zz{{{z|z{{{|{|||z{{{yz{z{{{{{|{|{{|{{z|{{{{|{|{|{{{zz{zz||{|{{{||{{|z{{z{}||||{||{|{{{zz{{}}}z||z{{{|{{z{|{}{||~||{y{{{{{|z||||||{{||{{z{|}||{||zz{{{z{|||{{|||{|{z{{{|{{}|||||{|{{|{|{{{||||||||{{{{{{{||{{{|||{|z{|{{|{{{|{|||{z{z{{|{{|{|{{||{{{{z{zz{|||{|{|{z{z{zzz{z|zy{|zzzyzz{yy{{{{{{{{{zz{zzzzz{{{{|{{{{zyz{z{zz{z{{{{|y{zzzy{{{{{{{{{{z{{y{zz||{||{{{yz{zz{zzz{{{z{zz{zzzzzy{{{{z|{|{zzzzzzzz|z{z{{{{zzzz{zzz{z{z{zzz{z{{z{zzz{|{z||zz{zzyzzzz{{{||{|{z{y{{zzz|{zz|{{{{zzz{zzz{zzz{{{z{zzzzzz{|z{|{{z{zz{zz{{{{|{{{{|yz{zzz{{zz{{{|||{z|{{zz{{{|{|{{{{{{{{{{{{|{|||||z{|z{zzz{{{|{{{{|zzz{z{{{{|{{|{||{z|{{{z{{|{{{|{{{{{{{{|{|{|||{}|{|z|{{z{|}{|{||{z{{{|z{z|{||||{||{{|{{{|{||}||{|{{{{{zz{||||{||||{|zz{z{{}}{||||z{{{z{z{{{|{|{||{|{{|{||{{{|{{{|z{{{{{{{{|{||{{|zz{z{zzz}{{{|{{{{z{{y{z{{{{{{{|{zz{z{{zz{{{{z{|{z{{zzzz{zz|z{||{zzy{zz{{{z{|{||zzzyzzz{zz|{{|{{zzyyzyyz{{{{{|{{z{{zzyzzz{{{zz|{z{{{yzyz{{{z{z{{{z{yzyyz{zzzz{{{zzzzzzzz{{{z{{{y{{zyyzxz{{{z{{zz{{zzyzzyzz{z{{{zz{zzz{zzzz{z|{{zzzzzzzzzz{zzz|{|{zy{zz{z{{{z{{|{|z{zzz{zz|{{{{{{{{{zyz{z{z{{{{{{zz{{zz{z{zzz{||{{zz{zy{y{{{{{|||{z{z{zz{|{z{{z}{zz|zzzz{{{{{{{|||{z{{{z{{|||{{{{{|{z{{zz{{{|{|{|{||{{{z{{{|{z{|{{zz{z{|{{|{{{|{|z{{z{{||{}{||||{|z{{{{{zz{{{}||||{{{z{{{{{{||{{|{{|{{{{{{{{{z{|||{{||{{||{||||{|z{{zzz{{{{{{|{{{{{zyzz{z{|{|{|||z{{zzz{z{{{{{|{{|{z{zzzz{{{{z{{|zz{zz{zy{z{{{{{{z{{z{z{z{{{z{z{|zyzy{z{zzyz|z{{{{{{zzyzy{z{{{{{{{zzzz{z{{|zzz{{{{z{zzyzzz{zzz{|{zy{zyzzzz{z{z{{{zzzz{zyy|{{{{{zzzz{{zzzz{y{z{{{{z{yzyzyz{{y{{zz}zzzzzy{z{{z{z{{{{zzz{z{zzz{zz{{{zz{{{z{y{{{{z{|{{{zzz{{zzz|{{{{z{z{z{{{{{z|{{||{zzzy{z{z{{{{{{{{{{{z{zzz{|{|{|{|z{{{|zxz{||||{|{{z{{z{z{|}|||||{{{{{{zz{{{}{}|||{{{||z{|||{|{|{||{{|{{zz||||{{|{|{zz{{z{||{z{{{{{z{{{|{{{|{||{}{{z{{zz{z|}|{|{||{|{{|z{{||||||||{{{{|{z{||{|||{|{{{{{zz|{{||{{{{zz{zz{{{{{{{{|||zzz{zz{{{{||{{|{{z{z{{zz{{{z{|z{zz{zzzzyz{{{{z{|{zzy{zzzz{{z|{||yzzzz|yz{z{|{{{z{{{zz{zzz{{{{{{z{{yzy{{zz|z|{|{|{zzzzy{z{y{y{{{zz{zzzzz{zy{zzz|{{z{zzz{z{z{{{zz{{zzzzzzzz{zy{{{|{zzzxzyz{{{{|{{{zz{zzzzz{{zz{{{|{zzzzyzz{{{|z{{|z{zyzzzyy{z|{|z|{zz{{{zzz{z|z{|{{yzy{yz{{z{z{{|{{z{zzz{{{{{|{{{{{|{zz{z{|{||{|{{{{|z{{{{{{{{{{||{{{{{{{z||{{{{{{{{z{{|z{|{{z{|z{z{{z|{{{{|{}|}|{{|{{{{|{|||}{|}{{|{{z{z{z||{||{{|z|{{z{{|{||||{|{z{z{|{z{}||{{{}{z{z|z{{{|||{|||{{||{{zy|{{{{{|||{|{|{{||||{{{{|||{{{{zz|z{{|{}{{{{{z{z{z{{|{||{|z{|{{z{z{{{{||{{|zzz{zz{{{{|{z{z{z{{zyy{|{{z|{{{z{zzyyzz{{{{{{{{{zzz{zz{|{{{z{|z{zzzzz{z{{{z{|{zz{y{z{yz{{{{{z{z{zyy{zzzz{{{{z{z{zz{zzz{{{zz{|z|z{z{zyz{zz{z{{{zyzzz{yy{{{{z{{{zzzzyzyzzz{zzz{{{zzzz{zzzz{{{z||{{zzzzzzzz{{{{{|{zzzz{{zz{{{{{{{{zzzz{{zy||zzz{{{{z{z{{{{zz{|{|zzzz{{zz{|{{{{|{{{zzz{z{z{z{{{{{|z{{zz{z{z{{|{{z{zz{{zz{|{{|{{{|{{zz{zzz{{{|{{z{{|z{{|{{z{|{|{z|{{{|{{{{{{|{|{{|||zz{{{{z|{|}||}|{zz{{z{{z{|{||||{{{{z{{|z{|{}||||{z{{|{{z|}||{|||{||{z{{{|{|||{||z{{{z{{{{{||{|||{{z{{{{{{{||{|{|{zz{{z{|{{{|{||{z{{{z{z{|{|{{||zzz{{zz{z{|{{{{{zyzzyzzz{z{{{{yz{zzy{yyz{zzz||z|{{{zz{zz{{z{{{{z{y{{zzzzzz|{{z{{{{zyyzzz|{{zzzz{{zzzz{zyz{{{{|{zz{{zzzzz{z|{{{{{|{zzzzyyy{z{z{z{zzzyz{zyz{{zzzz{{z{z{{y{z{{zz{|z{z{{yzzzzz{{z{|{{zz{{yzy{{{{z{{zzz{{zzz{z{zz{{z{z{zz{z{z{z{z{z|{{{z{{{zz{{{z{{|zyz{zzzzz{{{{{|{|{y{zzz{{{z{{{{{{{{{z{zzz{|{{{|{{{{zzz{zz{{{{z{}{{yz{z{{z{|z{{|{{{{{{{{{zzz||||||z|{{{{{{{|{|{{||{zz{{zzz{|{|{|}||zz{{{zz|}{{||{|{{z{z{|z|{{|{{|||{{|{{|{z}||{|{{{{{{zz{{|||||{|{{{{zz|z{|{|{{{{|{{{z{{{|{{{}{{{{{z{zzz{zz{{||||}{z{{{z|{z{{{{||{{{{{zzzz{{{zz{|{{{zzzzz{y{{{z{{{{z{yzyyz{{{z{{{{zzzzz{{z{{y{||{{zzzzzy{{z{||z{{{zz{{zyzz{{{{z{{{zzzzzzzyzz{zzz||{{{{z{zy|{zz{|{{{{zzzzyzz{zz{z{{zz{zzyzz{{{{z{{{zzyzyzyz{{{zz{{{{yz{yzzy{z{z{{{{{z{{{zzz{|{{{{{{zzz{z{zyzzzzz{|zzzzzz{yyzz{z{z{|{{zzzyz{{{{{{{z{zzzzzzz{z{{{|{{|zz{{yz{{z{{{{|{||{{z{yz{{{{{{|{{{{{{z{zz{|{|{{|z{{{{{z{|{|{{{{|{{{{{z{{{||{{|||z{{{z{{{{|{|{{|||{z{{{{{z{{||{{||{z|z|z|z||||}{{||{{|{||{||{{{|||{z{yz|{{{|{{{||||{{|{|z{|{}{{||{{{{{|z{{z||{z{|{{{z{|{z|{{{|||{|{{{z{{zz{{|{{||||{|{z{{zz||{{}{{|z{z{z{{{z{{{{{{z{yz{zzz{{z{{z{{{zyz{zz{{{|{{|z{{z{zz{z{{z{|z|{{|z{zzyz{y{{{{{z{{zz{{z{z{{{z{{|{zzzzzzyy{z|z{{{{{z{z{zz{z|z{z{{{|{zz{zzzz|{{{{{{{zzzzyyzz{|{{|{{zzz{zzyzzz{{z|{|{zz{zzzzz{{{{{|{{zzz{yzzz|zzzz{{{zzzzyzz{{{{z{z|z{zzzzz{z{{{{{|zzz{{zzzz{{{{{|{{{zz{{z{{z|{{{{z|z{zz{{zz{{|z{{{|{|z{{{zz{|{{z|{{z{{{z{{y{{{{|{|{{{z|{{{{{z{z||{{{{{z{{z{{{|}{|||z{z{|{|{{|||||||{{{{{{z{{|||{{{z{z{zzzzz||||{||{{z{{z{|{{|{{||}||{{{|{z{|}{}|||{{z|{z{{{{|{{|||{{{|{{{{{{|{{|||}{{z|{|{{|{{||{{|{|{{z{|{{|{{{|||{z{{zzzz{||{{||{{{{z{{zy{z{{{{{{{{z{z{yyz{{|zz{{{{zzzyyzz{{{{{{|zz{{zzzzzzzz{z{{{{z{{{zz{zz|{z{{{zzyyyzz{zzz{{{{{zzyzz{z{|{zz{{{{zz{zzzzzz{{z{{zzzz{{zyzz{zz{{z{zzzyzzzz{z{zz{{zzz{{yzzzzz{{{{z{{z{{yzzz{zzzzz{zz{zzzzzzz{|z{z{zz{z{zzzzz{z{{{{{zzzz{{{{{{{z{{{z{y{zzz{z{{|{{{{{z{zzy{zz|zz{{{{{|{zzz{z{zz{z{||{{zz{zzzz{{{{{{|{{z{{z{{z{||{{{{|z}{{{zz{{||{{|{{z{{z|{{{{{||||{{z{{{{{|{{{{|{|{{{{{{{zzz||{{|{|{|z{{z{{z{{|{{{|{{zz{{{|zz}{{||{{|{z{{{{{{}{{|{|{{{{{z{{{{{{||||{|z{{{{{{{{{|{|{|z{z{{{z|{{{|||{|{{z{{{z{{{|{{{|{{{{{{{zz{|{{|{||z{{yz{{z{{z{{{z{zzzzz{yy{z{{z{|{z{zzyz{z{{{{{{{|zzzyzzzy|z{|{{{{zz{{zzzz{{zzzz|{{{{zzzzy{z{z{{{{zz{z|zzzz{zz{{|{zzyzzyz{z{zzz{{zz{zzzyyyz{{{{{{zzzz{zz{zzz{{z{{zzzyzyzyz{zyz{|z{zzzyzzzz{{z{z{{{|{yyyzzy{{zzz{z{zzz{zzzzzzzz{z{{zzyz{{yy{z{{z{|z{zzzzzyz{z{{{z{{{{zz{z{{{z{{{{{|{zzzzy{z|{zz{|z{{{{{{z{z{{{{|{{|zz{zz{{z{{|z{{{|{{zzzz{{|{|{{{{|zzz{z{{|{{{|{{{{zz{zzz{z|{{|{|||{z{{z{{z|||{{{{{{zzz{{{z|{|{{{||{{{z{z{{{||{{||{|{z{{|||{|{||{|{|{|{z{{{|{|{||||{{{z|{z{{|z{||||{{{|{zz|{||{}|{}{|{{{{z{z||{z||{zzz{z{z{z{{|{{{{z{|z{zzz{{{y{{|{{z{zzz{yz||z{{{{{zzzzz{{||zz{{||{zyzzzzy{{z{|{{zzzzyzz{z{z{{{{{|{zyyzyzy{z{zz{{{zzz{yzz{zzz{{{zz{z{zzzz{z{{{zz|{zzzzy{zzz{z{z{|{{zzyzyyy{z{{zz{{{{zzzzzzz{{zzz|zzz|z{zzzz{zzz|{|zz{{yz{zz{{yzz{y{z{zzzzzz{zz{|{|zz{y{zzy{{{{{{{{zzzzy{zz{{|z|{|{{z{zzz{z{{{{{{{|z{z{zy{z{{z{{{|{{z{z{zzz{|{{z{{|y{zzzzz{{{{{{z|{{{zz{z{{||{{z{{{{{zz{{{zz{{{||{{z{{{{{|{|{{{||{{{z{|zz{{||{{|{|{|{{{zz{{|}||{{||{{{{{zz{||{|||}||z{{{{{{z{}||}|||{z{{z|{|{{{{|||{{z{{zz{|{{{{{|||zz{{{z|{{{||||{z{{zz{{z{{{z{{|{{{{{{{|z{{{{{{|{zz{z{z{zzz{z|{|zzzz{{zzyz{{{{{{z{{{zzy{yyz{{z|{{z{yz{zzz{z{z{{{{zzzz{zzz{{zzzz|{z{zyyyzz{z{{{{{{{{zzzzzzzzz{z|{zy|yz{zzy{zzzzzzz{y{zyxyyzzz{zzy{zzyzz{yz{{{z{{{z{zyzyyyzy{zz{{{{zzzyzzzzz{{{{{{{zzzzzzzzyz{z{{z{yzzyzzzzzz{{z||{zzzzzz{z{{z{z{{{zzz{yzzzz{}z{{{|{yz{zzzzz{zz{||z{{zzzzzz{z|{{|{|z{{zzy{z{{{{{zz{{z{{{zz{{{{{z{{|{zyz{{zz{{{z||{{{z{z{{zz{{{|{{||z{z{{z{{||{||{||{{{zzz{z{{|{{z{{|z{{{|||||||||||{{z{z{{{z{{{{||{{zz{{z{{{||||{|||{{{{{zz||{{z|{{{zz{zzzz{{{{|{||{{z||z{z{|{{|{{|{{z{{{zz{{{|z||z{{|{zz{zz{{z{z{{{{{{zzz{{||{{{{zzzzzzyzz{{|{|{{zz{yzyy{y{zz{z{{{{z{yyzzz{{{{{{|{{zzzyzzzzzz{{{{{zz{zzzzy{z{{{{|{zzzzzz{zy{zz{{{{{zzzyzzy{{zzzzzz{yzyzyzzzzz{z{{|y{{yzzzyz{zz{{zz{zzzzzzzzzzzz{{z{{{zzzyzzzz|{z{{zzzyzzzz{{zzz{z{yzzyzzzzzz{z{{zzzz{{z{zzz|{z{|{|zxzy{zyz{{{{{z{|zyzz{zzz{{z{{{|{zz{z{zzz{{|z{|{{zz{zzz{y{{z|z||z{z{z{z{{{|{{|{{{{yzz{{{zz{{{{|{{z{{{|z{z{{{|{|{|{zz{z{{{{{{{}|||z{{{z{{{{|||{{{||{|z{{{{|}|{{{||{{{{{{{|z{{||||{|z{{{{{{{||||||{|zz{{{{{{{{{{|||{zzzz{{zz{{{|z{|zz{{{{z{{|z{{||||{z{{{{{z{{{{|||{{zzzz{z{|{|{{{{{{zy{zz{{{z{|{{{zzy{zz{yz{{z{{z|zzyzzzzz{{zz{{{z{zzzz{zyz{{{z||{zz{z{zzzz|z{z{z{zz{z{z{y{{{{z{z{y{zzyyzyz{z{zz{z{z{z{zzy{zzzz{{z{yyzzzyzz{{{z{{|zzz{yyzzz{{z{{z{{{zzzzyzzzzz{zz{{z{zzzyzzz{{{z{|zzy{{zyzzz{zzz{{{zzz{{zz{zzzz|z{zz{yzyyz{{|{zz|{{{{z{zyz{{{{{|{|{{z{{z{z{zz{{{||{z{zzzz{z{zz{{{{{z{{{y{{{{{{|{{zz{{zzzzz{{z|{|{{{z{{z{{z|z{{{|{z{zz{z{{{{{{|{|{z{{z{{{zz{}{|{|||{|{{{{{z|{||{{{{{{{z{z{{{{{{|||{{{z{{||{{{{z|||{|{z{zz{{||||{||||z{{zz{z|{|{|{{{{z{z{|{z{|{||{{{|{z{{z{||{|{{{|||{zz{{{|{||{|{{||{zzz{zz{{||{{|{{zyy{zzz{{z{z{{{zzzyzzyy{z{z{{{{zzzzzzz{z{{{{{zz{yyz{zzy{{z|{{{z{z{yz{{z{z{|{z{{{z{{yzzyzz{{zz{z{{zyy{{zz{{zz{{z{{zyzzzzzzz{{{{zz{z{yz{zzzy{z|z{zy{zy{{z{{zz{{{zzyz{{zzzz{{{{{z{zzzyzz{zy{zzz{{{{zz{zz{y{|zz{{{{{{zzzzzyz{{z{{z|zzzzz{zz{|{z{{{{z{{z{zzyz{{z{{z{y{{{{zz{{{{{{{{{{z{zzz{{zz{{{{{{zzz{{z{{{|{{{{|{{|z{y{zz{|{{{{|z{zzz{{z{{{|{z{{{z{{z{{{z{{|||}||{{|{{|{{{|{|{{{{{z{{{{zz{{|||||||z{|{{{{{|{|{|{|{z{zz|{{{|z{|}{{|{{z{{z|{||{{{{|{{{|z{{zz{|||||||{{{{{z{|{{z{{|{{z{{{z{{{|{{|{||{{{z{{{{{{{|{{|{{z{{z{z{z|{{{|{|z{z{zy{{{{|{{{z{zy{zzzzzz{|zz{{{zz{{zyz{zz{{{|{{{zzzz{zz{{{{zz{{{{{zy{yzz{{{z{{zyzzyzyy{{{zzz{{{zzzzyzzzzzzyz{|{zyz{zzyz{z{{{{z{zzzzyyzyzz{{z|z{zzz{{yzzzz{zz|{{zzzyzz{yz{{{|{|z{z{zzy{zz{zzzz{{z{zyzz{zyz{zz{zzzyzzzy{yzz{zzzz{zz{{yyy{{z|{{z{z{yzzz{zz{{{z{|{{|zyz{zz{zzz|{{z|z{{{{{{z{{|{{z{{zzzzzy{yz|{{{{{{z{zz{{zz{{|{{{|||{{zzzz{|{z{z{{|{{zz{z{{{{|{{|{{z|{z{{{z{||{{{||{{{|{zz{{{||{|{||{{{{zz|{{|{{||||{z{{|{{{zz{{|{{{{{|||{{{|||||||{{|zzz{{z||{z{{{{zz{zz{{{{{{{|}}|{{z{{z{|{{{{|||z{{zzz{{{{{{{}||{{{{z{zz{{|{z{|{{{{zy|z{zzz{|{z|z{zz{yzx{{{zz{z|{zzzzzz{z{|{{z|{zz{yyzzz{z{{{|{zzyz{z{{{{{z{y{{{|z{yyzzz{z{{z{z{{z{zz{zzz{{z{z{{zz{zzyyyz{zzz{zz{z{zzzzzzz{{z{|zyzy{zzzz{{z{{{zzzzz{zzzzz{{z{z{{zzzzzzz{{zz{{zz|{yzzyyzzz{zzz{{{{{zzzyz{{z{zz{z{zzzzzzzz{z{{z|{{zzz{zzzz{{zz{zz{{zzzzzz{{z{z{z|{zzzzzz{z{{|z{{|{{{zzzzyzz||{{||{zzz{z{zz{z{{{{{|{z{{{{z{{z{{z{{{|{zy{{{{|{{||||{{{{z|{zz{{{z{|{{{{z|{{y|{|||}{|z{z{z{z|z{||{{{{|{{{{{z{|{{{{|{|||{{{{z{{{|{|{|||{{|z{z{z{{|||}{||{{{{z{{|{{{|{||{|{{|{z{||{|||||{{z{{{{{zz{{{{|{|{|{z{zz{{{zz{{{{zzz{yyz{{|{{|{|{{{yzzzzy{{{{||zzzzzzzz{{z{{{|{{{{zzzzzz{y{{{{{{{z{{zzz{zz{{z{{{yzzzz{zzzzz{{{{{zzz{zzzy{{{zz{{z{z{zzzzz{{{{z||{zzzzzzy{z{{zz{{{yzzz{zzzz{{zz{{{{yzzzzy{{{|{{{{z{{{zzzzzz{{|y{z|{{zyzzzz{z{{|{{{|z{z{yzyz{{{{z{{zzz{z{zz{{{{{{|{{z{{z{{z{{{{{{{|z{y{zz{z{{{{|{{|y{{zzzzy{||{{{{{|{zzz{{y{z|{{{|{{{{{{z{zz{|{||{|zz{|z{||{|||{{|z{z{{zz{z||||{|{{{|z{{{z{{|{|{{||{{{{{zz{{{|||}||{{z{z{z{|}|z||{}{{{|{{{{{|{||{||||{{{|{{{{|||{|}|{{|z|{z|||||||}{{{{{{{||{{{|{{}|{{{|{{{{{||{}||{{zz|{{{{||{{|||zzz{{z|z{{{|{|{{{{{zz{{z|{|z{{z|{yzzyyzz{{{{z{|{zzy{{xzzz{z{z{{|zzzzz{zz{yzz{{{{zyyz{{z{{|{{{z{{{zzyzyyz{z{{zz{{zzyz{zzyy{z{{{z{{{{zz{zy{{{zzz{z{zzzz{yyz{z{z{z|{zzzzyz{{{{{{{z{zyzzz{zzzz{{|{{{zzzzzzyzzz{{{z{{zzzyzzzyz{z{{{zz{{z{{zzzy{zzz{{{zy{{z{{z|{y{z{{|{zyzzz{{z{{zz{||{{{zzz{{{|{|{|{|z{{zz{zz{|{{{{{zzzz{{z{{z{{|{{{{zz|{z{zy{z|z|{{{zzz{{{z{{{{{z{{{{{{{{{{zz|||{||{{z{{{{{z{{{|{{|{{{{zzzz{{{||{|{|{{{{{{{{|{{{|{}||z{{{||{{|{{|}{|{{z{z{{|{|{|{{||{|{{{z{{|{|||}||{{zz{zz|{{|z||{{|{{z{z{{{}{{|{||{{z{z{{z{{|zz||{|{{zzz{z|{|{|{||zz{yzz{z{{{|{{{{y{zzzzyzzz{{{z{{{zzzzyz{z|zyz{{zzzzzzzzy{yzz{{{{zzzzzzzzzzz{zzz{zz{y{zzyzz{zzz{{yzyyyzzyyz{zz{|zzzzzzzzy{{{zy{{zzzzzyzyyz{z{{{z{z{zzzyyxz{{z{{{zzyyzz{yyz{zz{{{{{zzzzzzz{{{z{{|{{zzy{zzyy{{zzz{{{zzyyzyz{{{{{{{{{z{zzzyz{z{{zz}zzzzz{yzy|{{{{z{{|zzzzz{z{{z||zz|zzzzy{zzz||{{{{{|z{{zy{zzz{{z|{{z{z{{{zzz{{z|{}{zzzz{z{z{{{{{|{||{{z{{{{{z|z{{{|{{{z{z{{y{{|{|}{{z{{zzzz|{{{{||||z{zz{z{{|{|{{{||z{{z|{|z{||{|{||{{|zzz{{{{||{|||{{{z{z{|{{{{||||{{{{{{zz||{|{{}{z{||z{{{{z|||{|{{zzzzzz{{{|{{|||{{{zz{{{|{{{||z{z{zz{zz{{{|||{{zzzzzyzzzz{{|{{{zz{yzzyz{z{z{|z{{zzy{{x{{{{|{{{|{zzzzzz{{{{{zz{{zyzzyzzzzz{zy{z{zzyyzzyyz{{{{z{{{yyzzzyz{z{zz{{{zzzzyzzzzzz{zz{{zzzz{yzzz{{{{{{zzzzzyyzzz{zz{|z{zz{zzzzzzzzzz{{{zyzy{yzzzz{{{{{{z{zyyyzyz{z{{{zzyzzz{{z{{z{{{z{{yzyzzz{zzzzz{{z{zz{zyz{z{zz{{z{{{{{zzz{{{z{{z{||{{{zzyzy|{{|{|z{{|{{z{zz{{{{z{|{{{z{{zz{{{{zz{{{{{{|{z{{{{{{{||{z{{z{{zz|{{{{{||{{{{{{z{{{|{{||{{{{z{z{{{|{}{|||{{z{z{{{{z|{{||{|{z|{{{z{{{{|||{|{{{{z|z{|{{{{||{{z{z{z{{|||{}|{|{z{{z{{{|||z{|{{{{z{zz{z||{|{||{{|z{{{zz{z{{{{zz{{z{z{z|{{{z{{{{zzzzyzzz{{zz{|z{{{{z{zz{{{{{{z{zyzyzzzz{{z{{|{{{zyzzzz{z|{zz{{{{zzzzy{z{{{{z{{{{zzz{{{z{z{{{{{{{zzz{zzz{{{z{z{{{zyzz{yyzzzzz{{{z{zyzzzz{{{{z{{{{zz{zz{{{{{z|{{z{{zyzzzy{{{{{{|{zzzzzyzzzz{z|{{|{zzzzzzzz{z{z{{{y{zz{zzy{z|{{|{|z{zz{{{z{|{z|{{{{z{zz{z{|{{{{{{{{{{zz{zz{{|z{{{||{{{zz{yz|{|z{|{{{{zz{z{{{{{|{|z{{z{{{{z|{{{{||{{{y{z{z|{|{{|||{z{{{|{{{{|{|{|||{{|{z{{zz{||{{|{zz{{|zz{{|{{{|||{z{z{{{{||z{}|{|||{{{{{{{{||{{}|{z{{{{{{}{{|{|||{{z||{{{{||{||{|||{{{|{|{{|{}|{|z|{{|{{z{{{{|z||{z{|{z{{{{|z|||||z{{{z{zz{{{|{{z{{zzz{zzz|{z{z{|{{zzzz{zz{z{{|{{{z{yzzyz{z{{{z{{zzzyyyz{{z{{z{|{{z{zz{zyz{{{{{{|{y{y{z{zzz{z{{{zzz{{y{yz|z|{zz{zzzzzzzz{z{zzzyz{yzy{{zzz|{{zz{{yzzz{yzz{{z{zz{{{z{{zy{zzy{z{{z{{zzyzzzzz{zz{z{{{{{yzzyzzz{{z{{|{zzzzzzzz{{zz{{|{{{zz{z{zz{{zz{z{zz{z{yy{{z{{{||{yz{y{zzz{{{{||||{{{{{y{{{|{{{|{{z{zzzz{z||{{z{{{{{{zzzz{z|{{{{{|{z{y{{{zz|||}{{|z{|{{{{z{{|{z|||{{{{{zy{|{||{{{{}{{{{z{z|{{{{{||{{{zz{{{||{||||||{|{{{{{{}|{{{{{|y{|z|{|{||z|{|||z{{{{z{{{{|{{{|{{{{{zz{{{||{|||{zz|{z{{{{{|{{z}{{z{y|{z{{{|{{||z{zzzzzz{{{{{{{{{zz{yzzy{{{{{z{{{zzy{yz{{{{{z{{{zzzy{zz{zzz{{{{{{z{zzzyzz{zzz{|{zzzyyz{zz{{z{{z{zyzzzyzy{zz{{{{{zz{zzzyz{z{yz{zzzyzxzyzzzz{{{z{zzyzzzz{zzyzyz{{{z{zzyzyyz{{{{z{{{zyzyzzyz{{z{{z|{zz{y{zz{z{zzzzzz{{yyz{y{{{{{{|{zz{zzzyz{{|zzz{z{{zzzzyz{{z{{{{{z{{{z{z{{{{{{{z|zyz{zz{zz{|{z{{{{z{y{yz{{{{{{|{{{z{yz{{z{{|{{|{{{zzzz{{zz||{z{{z|{{zzzyyz{||{{{|z{{|{zzz|{{|{||||z{{z{{z|{||||{{{z{z{{{z||{z{|||{{z|{{|{z|{{|||||{z{z{{{z|{{||{|{z||{{{z{{{{|{{{{z{z{{zz{|{|||{||{z|{zz{|{||{|{{{z{zz{{zz{{{{||{{{y{z{{z{{{{{{{z{{{zzyzz{{z{{{{{{{zyyyzyz{{|z{{{zzzzyyy{{{z{{zz{zyz{zzzz{z|{z|{{{z{{zzzzzz{{z{{zzyyyzzz{{zz{{{z{zzzyy{zzz{zz{zzz{y{zyzzzz{|z{zz{zyzzz{zzzzz{z{zzzyzzzzz{z{{zz{{z{z{zy{zzz{{{{{zzzy{zyzzzzz{zzz{{z{zzzyyz{{zzz{zyyzzyzzyz{zzzzzy{zzzyy{yy{zz|{|{{zyz{{zz{{z|z{{{{zzzzzzzzzz|z{|{{zzzz{z{zz{z{{{|{zzz{zy{z{{{{{|{{zz{y{zzz{{||zz|{z{{{{zy{{{z{||{|{|{{{{z{{{||||||{{{{{z|{|{{}{||||{zzzz{zz{|{{{{z|{z{{z{{{|{{|{||{z{{z{{{{{{||{|||{{|{zz{z}{{z|}|||z{{{{{{{|{|{{{{z{z{{{z||{{|{||{{z{z{zz{|{|{|{|{{|yzy{z{{{|{{{|{{z{{{zz{|{z{z{{{{{z{z{z|{z}{{{zzzz{z{zz{{z{z{{{zzyz{{zz{zzz{|z{{z{zzzyz{{{z{{|{{z{yzyzzz{|{{{{{{{{zyyyz{{y{z{{{zzzzzz{zz{zzz{z{{zzzzzz{zzzz{{{zyzzyzz{zzzz{{z{{zzyz{yz{zz{zzz{zyz{yz{yzzz|{zz{z{zz{zyz{z{zz{|{{z{{y{yzzzzzzz{{{z{zyzz{zzyz{{{|{{zzzzzzzz{z{{{{{{{zzzz{z{{{|{z||{zyzzyz{{zz{{{{|z{{zzzz{{z{z{|{|zz{zzz{{z{{{{{z{{{{{zzzz{{|||{|{{{yz{{zz{z|{{{{{{{z{zzz{{{|}{|{{{{{{{{|{||{{{||{{z{{|z{yz|}||{{{|z{{z{{z{||{||}|{z{{z{{||{z{{{{{||{{{{{{|}||{z||{z{|{{{{{|||{|{{z{{z{{{{{{|||{|{{{{{|z{{{|{{|{{|{{|{z{z{{{{{{z}|{{|{{zzy{{z{z{{z{z{{z{{{{{{{z{z{zz{zzzzx{{{{{z||z{yz{zzzzzzz{|||z{zzz{z{{z{z{{{{zz{{{{zzz|{{{{{{zzzzzz{y{z{{{z{{zzy{{{z{zzz{{{{{{z{zzzz{zz{{{{{{zzzzyzzz{z{{z{{{zz{z{zzzz{{{{{{{zz{z{zyzzy|z{z{{zzzzyyzzz{{{{{{{zzz{{zzyzzzzzz{{yzyzzzzzz{z{{{z{z{yz{zzyzz{z{{|{{|{{zz{{{{{z{{{|z{{{yyzzz{z|{z{{{zzz{{z{|{{z{|||{z{{{zz{{{z{||z{|{z{{z{z|{||{{|{{{zz{zzz{{|zzz{{{zz{z{y{z|||||z{{|{{{z{|{{{|{||{{|z{{yzz{{}|z||||{y{|z{{||{{{||||{|{{||{{{|{z|||{{{{{{{{{|{|||||{{z{{z||{{|{{|{{{zz{{{{{|{{{|||||zz|{zzz{{|{{|||{||{zzzz{{z|{|{{{{z{z{z{{{{{|{|{|zzzzzz{{|{{{z{{z{x{zyyzz{z{|{{{zyzzzzzzzzz{{z|{zzzzzzzz{{{z{{||{z{z{zzz{zzzzz{{{{y{yyzy{{|zz{{|zzzyzz{y{{zzz{{{zzzxzzzzz{z{{{{{zzzzyyzyz{y{z{{{yzzzyzzyz{{|zz{{z{z{yzyz{z{zz|{yzzyzyyzyzzz{{{|{zzyz{yzzz{zz{zz|z{{z{zy{z{yz{{{|zzzyz{zyzz{{|{{{{{zzzzzz{{{z{{z{zzzzzzz{{{z{{|{||{{zzzz{z{{z{z||zzz{{y{zz{{{{{{{{{{z{zzz{|{|{{|{zz|{{zz{{|{{|{{|{z{z|{z{||{|||{{{z{{{|{z|{|}{{||{{{{{{{y{{|{{{{||zz{{{{z{{{z|{{||{|{{{|{|{||}||||||{{{|z{}{||||||zz|{{{||{|{{||||z{|z{{{{|{{{{||{|zz{z{{|{z{||||zzzy{{z{z|z|{{{|{{{zy{{zz}z{{{{{{{{zzz{{{{{z{|z{zzzx{z{zyz{{{{{z{y{zzzyzzz{{{{z{{z{y{zz{z{z{{{{|{yzzzzzz{{{|{z{{{yzyz{zz{{{{zz{{z{{yzyzzzzzz{{{z{yzzzzzz{z{z{zzyz{zzyzzzyzz{{{{{zyyz{zzzzzzzz{{y{{zzzyyzz{{z{{z{zzzyzz{z{zz{z{|{zzzzzzzyz{{yzzz{zyzyzzzzz{zzz{{zzyz{z{zy|{{{z{|{zzz{{yzzz{zz{|{{{zzzzy{z|z|{z|{{zzzzzzzz|{{{{{{{{{z{zyzz{{{{|{|{zz{{{{z{{{|{z{|z{{z|{zzzz{|{||||z{{yz{{||{||{|{{z{{{{z{z|{||{}||zz{{{z{z{|{{|{|{{{{{z{{z|{|{{|||{{{{{{|{z{|{|||||{{{{z{{{||{{|{{{z{{{zz{||{{{{{|{y{z{{{{{}|{{{||{{z{|{{{z{{||{{}{{{{{yzz{|{{||||{{{{z{|{z{}|{{{z{{{{{{z{{{{{z{|{z{{z{zyy{{{{{{|{{zzzzyzz|{z|z{{{zz{z{z{zzz{z{{{zzz{zzzz{zz{{z||{{zzzzz{zzz{{z{{{zyzyzzzzzz{zz{{{{zz{{zyz{{{z{{|{zzzzzzzyzzz{{{{{zyzzzyzz{{z{zz||{zzzzyyz{zz{{{{{z{zzzzzyy|zz{{|{{zyz{zzzzz{z{{{z{zyzzzz{z{z{{{{{zzzzzy{y{z{zz{|z{{z{zz{z{{{z{z{zyz{zz{{{|{zz{{{{{{z{zz{z|{{{{{{z{z{zz{{z{|{{|z{{{{{z{zzz{{|{{{|{{{{y{{zzz||{{|{{z{{zz{|{||{{|{|z{|{z{{{{{{{{{{{|{z{zz{{{{|{|{||{|z{{{z{z}|{{{{}|z{zz{{{{{{{{{|{||{|{{{{|||z||{||{{{|{z|{{}||z||{{{z{{|{{{{{{||{|{{{{{{{z{|{{{{|{|{zz{{{z{{{{|z{{z{zz{{{z{{|{|{|{zz{zzzzz{|{{z{z{zz{zz{zyzz|{yzz|zzyzzyy{{{zz{{z{{zzzzz{yz{{zz{z{{zzzzzyzzzz{zy{{{yzyzzzzz{zzz|{{{zzzyyzyz{{zz|{{zzzz{{yzzyyzz{z{zzzzzyyzzz{zy{z{yzzyzyzy{z{z{zzzzzzzyzzzz{{{zz{z{{zyyzzzyz{|zz{zyyzzzyzzz{{zz{z{zyzyzyyy{z{{z{z{xyzy{zzz{{{z{{|zz{zzzzyy{{{z{{{|{z{zzz{z{|yz{z{|{{zzzzyzz{z{{{z{zy{yzzzyzzz{{{{{{zzz{zzz{z|{z{|{{z{zzz{z{{z{z{|{{z{{{zzz{{{{||{{z{{{z{{z{{{{|z{|{z{z{y{z{||||{{{{{yzzz{z|||{{{z|{{z{zz|z{z{z||{z{{z{zzzz{|{{||{{|{{{{{{{{{{}{|||{z{zz{z{||{z{{{z{{{{{zz||{{{{|{|z{{zzz{z{{{{{z{{{z{{zz{z{{{{z|{{zz{{{z{z{z|zz|{{zzzz{zyy{{zz{z{z{zyzzzzyz{{z{{z{{z{zzz{zz{z{zz{|zy{zzyzzz|z|{z{{{zzyzy{y{{zz{|z{zz{zzz{zyzzz{{{|zyzzzxyyzz{z{z{{yzzzzzy{yzyzz{{{zyzzzzzzz{{zzz{zzzyzyzy{zzz{zzz{yzzzzzzyz|z{|{{|z{yz{z{xzzyz{{{{z{{zzzyzz|zzz{{zzzyzy{{z{zz{{z{{zyzzzzzz{z|{z{z{zzzzzzzz{z{{{z{|zzzzzz{{{{{zz{{{zzzz{y{zz|z{z{{{{z|zzzz{{{{{|z{|{{yz{zz{{|{{{{|{{{zz{{z{z||||{}{{{zz{{{z{{z{{|{}{z{|z{zz{{||{||{|zzz{zzz||{|{{|{{{|{{{{{|{{{{{|{{{{{|{zz||{|{|{{|{{{zz{{{|||||||}zz{zz{{{{{|{{|{|{zz|zz{z{{{{{z{z|{z{z{z|{{{{{|{{{{{{zz{{z|{{{z{{{|{{{{z{{z{{z{{{zyyyzyyz{z{{{z|zz{zzyzzz|{z{z|z{{zzyzzzz{z{{z{{{{zzzzz{{{{|z{{zz{y{zyzy|{|{{{{{zzzzzyzzzz{zzz{z{zzzzyyzz{|z{{z{yzzzz{zzzyz{z{zzyzzzzzzzzzzzz{{{yzzzzzyzzz{z{{zz{zzzyyyzz{{{{z{{zzz{zzzzz{zz{{z{|zzyzz{zzzz{{{{{{zzz{{{yyzz{z{{{zzz{yz{{{|zz{{||z{zz{zzzz{{{{{{{{z{zz{zz{{{{{z{{zz{{{zzzzz{|{{|{zz{z{zyz{{||z{z{{zz{zzzy{{{{{|{{z{{z{zz{|{{{{|{{z{{|{{{{{|{{{|||{{z|{{zz{||{{{z||{z{{z{z{{{{{{{|zz{y{{{{{||{{{||{zz{{|{z{}{z{{|{{{{{zz{|{{|{{{{{z{z{z{{{|{{z{{|{|{zz{zzz{{{|{{{|{{yzzzzz{z|{{||||{z{z{z{|{{{zz{{{{{yzy{z{{{{{{z{{zzyzzzyzz{zz{z|zzzzzzzzz|zz{{{{zzzyyzzzzz{{{{yzzz{zzzzzzzzzz{z{zzyzz{zz{{{{z{{zzyzzzz{zz{{{z{|{zz{zzyzzzz{zzzz{zz{zz{yyzzz{z{z{zzzyyyzzzz{z{{{{zz{{zyzzz{z{zzzzzz{zzzzyz{z{z{{{zzzzxyyzz{zz{{z{{zzzzzyzz{z{z{{|yzzy{zzzzy{{zz|z{z{{zzy{z{{{z{{{zz{zzzzzzz{z{{|{yzzzyzzz{{{zzz{{{zzz{zzz{{{||{{{zzzx{zy{z{{|{{{{{zz{z{y{{{{zz||{zz{yz{zz|{|||{{|{{{z{z{{{{{{|}{|z{{{zz{z{|{{}zz{|z{{z{{{|{{{{{{{z{z{{{|{{|{|{{{|{zz{{z{z{{{{{|{||{||{{{{|{{{{||{{{{{{zzz|||{{|||{{z{{{zz{{||{|||{zzzz{{zz{z|{{{{{{z{zzzz{|{{{{{{zz{zyzzz{{z|{{z{zzyz{y{yz|{z{{z|zyyzzyzy{zz{{z|{{zzyyzzzzzzzzz{{{{z{yyyyz{z{{z{{zy{yyzyz{{{z{zz|zyzyzzzzy{yzzzz{z{zxxzyzzzzzzz{zzyzzyyyyz{zzzz|{zyzyyzzz{z{zzz{{yyyzyzyzzzz{{{zz{{zzyzyzzzyzz{{zzyyzyyzyyzz{{z{zz|zxzzzzzyzz{z{zzzzyzzzz{{{zy{{{{zzyzzzyz{zz{{zz{zzzyzzz{zzz{{{{z{{z{zyz{{z{z{{{{zyzzzzzz{{{{{{{zz{z{zzy{{zz{z{z{zz{z{yz{|{{z{{{{z{{z|zz|{{{{|}{{{{{z{z{|{{{{{{|zzz{zzz{|{{{{{{{{zyzzzzz{|{zz{||{z{z{{z{||{{{{|{|z{zz{{z{|{{|||{z{||zz{z{{yz{{|{{z{{z{zz{{{z{{|{{zz{{zz{{|{{{{|{z{zz{zzz{||{{{{{z{{zzz{y{zz|{{|{z{zzzzzzz{{{{{zz{zzzyyzzz{z{zz{zzzzyyyzy{zz{{|{zzyzyzzzy{z{z{{{zzyzzzyzzzz{{z{{{{zzyyzzyz{zz{z{{{xzzzyzyyyz{{zz{zzzzyyyyz{zzzz{yzzzyzzzzzzzzzzzzyzzzzyzyyz{{yy{{zzzzzzyyz{zz{z{zzz{yyzzzy{{zzz{zzzyzzyyyyyyzzzzzzzyyzyyyzzzzz{zzzzzzyzzyzzzz|{z{zzzzyyzyz{{{zz{{z{{zzzzz{zzz{{{{zzzz{yzzzzz{zz{{zz{zz{yz{zzz{{{z{z{zzz{zy{|z{z{{{yzyzzzz{{{{zz{{{zzz{{zz{{z{|{{|zz{zz{zz||z{|{{|{z{z{{{z{|{|{{|{{z{{{{{z|{{{{{{{z{{zz{z|zzz{{|{{|zzzz|{z|}|||{{||yz{z|z{||{{{|{{zzzzzzzzzz{{||||{y{zzzzz{{{{{{|{{{{zz{z{{{{zz{{{z{zz{{zz{{{{zz{{{yzzzz{y{{|zz{zzyzzzyyzy|z{{zzz{zzzzzzyy{zy{{{{{{yyyzzzy{{zzzzz{zzzzzzzzz{z{zz{zzzzzyzzy{z|{z{{{yzzyyzzzzz|{zzzzzyyzyyyzz{zzzzzzzz{yyzzzyyzyyz{zzzyzzyyyyz{z{{{zzyzyyyzyzz{z{{zzyzyyyzyzyzzz{{{{yzz{zzzyzy{zyzz{z{zzzyyy{zyz{{{yzzzzzyyy{{zzzzzzyz{zzzz{zz{{{{z|zzzzzyzz{y{zzz{zzzzzzzyz{{{z{{{{{zzy{z{z{{z{{{{zzzz{zzz{{z{{z{{{{{yzzz{zz{yzzz{zzzzzzzz{{{{{{||{{{zzzzzz|{{|||{{{z{{zyyz{{{{z{|z{z{{{z{z{||{z{|{{{z{{{{{|{{{{{|||yz{{{zzz{|{{{{{{{zzzz{{{z{{|{}zzzzz{zz{{|{{{{{{{{z|zz{z{{{{|{{{|{z{zz{z{{{z{|{{{z{{zy{{z{||{{{{zz{zzz{zzz{{|zzzzzzzyyzzz{zy{z{zzzyyzyyyzzzzzz{{z{zxzzyy{zz{zzzzyz{zzyyy{z{zzz|{zzzxyyzyz{zzyz{{zzyyzyyyz{yzz{{zzzyzyyzyyzzzzzzzzzzyyyzyyyy{zz{zxyzzyyyyyz{zzz{yxyzxxzyzzzzy{zz{z{zzyyzxyzzzyzzzzyyxyyzyzzzyyzzyyz{y{yyzzzzzz{{zzzzzzzzyzzzzzzz{zzzyzyyzz{z{z{z{yzyyzyzyzz{zz{z{{zzyzzyzz{z|z{z{{yzzyzzz{{z{{z|{zzzz{{yz{z{z{{{zzzzzzzyzzzzzz|zzzzzzzyzy{{{||{z{yzzzyyzzzzzz{{{{{{yz{zzy{{|{||{z{zyz{zzz{|{{{z{|zzzzzzzz|{{{{{{{{zzzzzzzz{z{{{{|zz{zzzz{{{{{z{z{{zz{zy{zzz{{z{{{{zzzzzz{||z|{{{|zzzy{{zz{{{{{{{{{{zz{zzz{{z{{{zzzy{zz{{z{z{zzzzzzzzyzzzzz{{zzz{zzyyzzzzzyz{z{{{|zyzyzyzy|{zz|{{{zzzzzyzzz|yzzz{{z{zzz{zyz{{yz{{{zzyyzyzyyzyzzz|y{yzzzzyyzz{zzzzzzzzyyzy{zyzzzzz{zyzzzzzzz{z{{{{zzyyyzzyz{zzz{{zzzyzzyzyyy{z{z{zzyyyzzyxyyzzzz{zzzyyyzzzyy{zz{{{zzzyyyyzyzz{yzz{zz{yz{x{zy{z{{{z{zz{yyyz{zz{zz|z{zzzzzyzzz{zz{{{zz|z{zzzyzz{{zzz{{{zzy{z{z{z{z{zz{zzzzzz{zzz{z{{{zzzz{zzz{{{||{||zzz{{{{z{{|{{|{{|zzzy{zz{|{{|{{{{zz{zz{z{||{z{{{{{{zz{{z|{{{{{{z|zzzy{{zz||{z{{{{z{{zzz{|z{{{{{|z{zzz{zz{{{|{||{{z{z{zz{{{z|||{|{zy{y|zzz|{|{{|{zzyzz{z{{{{{z{|{zz|zz{zy{z|{{zzzyy{xyy{yzz{yy{zzzzyyyyzzzzz{zzz{zzzyzzzyzzz{z{{z{zzzyyyyzyz{zz{{zzzzyzzyz{{zzzz|zzzyyyzzzzzzz{zzzzzyyyyzy{{yyzzz{zzyzzzyzzzzz{yzyxyyzyyzzzzyzzzzzzzyyxyz{yzz{{{{zzzyyzxzyzz{z{zzyyyzzzzyzyzzz{zzzyzyzyzyz{z{y{{|zxyyyzzzzyzzzz{zzzzyzzzzz{{{zyz|zzzz{yzyzy{zzz{zzzzyy{zzz{{z{{|{zz{yzzzyyzz{{z{{{zzzyyzz{|{z{{{{{zyzzz{zz{{{z{{zy{{z{yz{{{z|{{z|zzy{z{{{z{z{z{||z{zzz{zy{{z{{{{z|z{zzzyz{{z{{{|{z{{z{{{{{||z{|z{{z{z{{{{{|{{{{{{{z{{zzz{{{{{{{|{{zzzzzz{|{|{z{|{{{zy{z{z{{{zzz{|{zzyzz{{{{{z{{|{z{yzyzzzy{{{{{{zzzzzzyzzy{z{{{z{zzyz{zyzzz{z{{{{z{zyzxyy{z{zzzzzzzzyzyyz{zz|{{{{zzzzzzzzyzzzzzz{zyyzyy{z{y{{z{{{zzyzyzzy{zzzzzzy{zyxzyyyzz{zz|zzzzzxyyyzzzy{zzzzyyz{yyyzzy{zz{z|yzzzzzzyzyzyz{z{zzzzzzzyzzyzzzzzzz{zzzyyyzzz{{zzzyyzyzyxz{{zz{{{zzyzzzzzz{{{z{{{zzzy{zzz{zz{zz|{{z{{zzzz{z{z|{|{zzzzzzzzz{{{{{{{zzzy{yzyzz{{{{{{zyzzzzyzzz{z{z{{z{z{z{z{{{{{z|zz{zz{zzzz{{{|{{z{{zzzzzzz{{{|{{{|zz{z{zzy{{|z{{|{{zz{{{{z{||{{{|{{{{{zz{{z|{{{{||{{zz{{z{z{|{z|}{zz{{zzzz{{z{z|z|{{{zzzzz{|z|{|{{{zz{{{{z{{{z{|{{{z{z{zz{{{z{{{{|{{z{{z{y{{{z{z{zz{|{{zy{zzzzzzy{yyyzzzzzz{{z{z{zzzzyyyyyz{z{{{z{zzzzzyyzz|zz{{{{yyyyzyyzzyzzy{zy{y{xzyyyzzz{z|z{yyzyyzyxzzzzyz{yzyyyzzy{{y{yz{zzz{yzyzyzzzzzz{zzzyzzyyyyzzzzzz{zzzyyyzy{zzzy{zzzyyyzyzzyzz{zz{{zxxz{zxzyyz{zz{zzzzzyzzzyzzzzz{{zyyz{yyzyz{{z{{zzzzzzzzyzzzzzz{{{yy{yzy{yz{{z{z{{zzzyz{{{z{{{z{{{zzzzzzzzzz{{z{z{yy{z{zzz{z{{z{{{|zzzyzzyz{{{{|z{{z{{{zzyz{{||{{{zz{zz{zz|{{{{{{{zzz{zyzzz{{{|{{{z{z{{{zzz}z{z|||{zzzz{zz{{{{{||{}{{{zzzz{{{|{|{{{{|{zz{y{{|{{z{{z{z{{z{z{{{{{|{|{zz|{zz{|{{{{{z||{{z{zzzzzzz{z{{{zyzzzzzz{{{|{|zzzzyzyyzzz{{z{yz{zzyzzzyzzzz{{z{yyzzzzzzzzz{{z{zzyzyzyyz{zy{z{z{zzzzzyyz{z{zzz{{{zzyyyzy{z{{z{z{zzzzzzzyz{zyzzzzzzyzzzyzyzzzy{zzzzyzyyzy{zzz{zyzyzyzzzzyy{zzyzzzzzzzzzzzy{{z{zz{yzzyzxyxyzz{{zz{zzyy{yzzz{zzzz{{{zzzzxzzz{z{{{{|zyzzz{z{{{{zzz{{yzyyzz{zz{{{{{{{zyzzzz{zz{{{{|z{{zyzzzzzz{{zz{{{zzzz{zzzz{||zzz{z{zzzz{z{{zzz{{{zyzz{yy{{{zz{{{{zzzzz{z{z{|{{{{yyzz{{{z{z{z|{{{{{zzzzzzz{{{{|{{|{yz{zy{z{z{{||z{{{{z|{{{z{{{{{|{|{z{z{{z{|{{||{{{{{zzzz{{z{zz{|{{z{z{z{{z{{{z{{|{{z{{{{{|{{{|z{{{{{zz{zz{{{{z{z{{z{z{zzz{{|{{z|zzz{zzzzyzz{zz{{|zzyyyzzzz{{{{z{{zyzzzyy{z{z{zzzz{zzzzzzzzzy{z{|{zzzzzyyzz{zzz{{{{z{zyz{zzy{zzz{{zyzzzzzyy{zzy{{{zyyzyzzyzz{zz{zzzzzzzyzyzz{z{|z{zyzzyyzyzzz{{{{|zyzyzzzyz{z{z{y{zzzzzzzyzzzzz{{{{yzzzyzzy{zzzy|zyzzyzzzyzzzzz{zzzyyyz{yyzzz{|{z{z{zzzyzzzz{zzzz{zy{yyzzy|zz{z{y|z{z{yzzzz{{zz{{{zzz{zyzz{{{{{{{z{yz{zzzy{{{|{{|{zy{{{zzz{{{{{z{{yzzz{zzz{|{{z{|{zz{z{zzz{{{{{{||z{{{y{z{|{{{{z|{{zzzz{yzz|{{{{||{zzz{z{{z{z{|{{{{{zzy{zzz{{|{|{{{zz{{z{{|{{{{{z{|{z{{zz{{{{{z{{|{{{{|{zz{z{{{{z|{{zzzzzzz|{{|{||{{y{zzy{{{{{{z{{yzz{yy{{{{{{{{yz{{zyzzxyz}zzzy{{{zy{yzyyzy{zz{{{zy{yzzzyzz{zzzzzzyzy{zzzyyzzyz{yzzyzyzyzzz{{zzz{zyzyz{zyyzyzz|{y{zzyzyyzz{zzzzzzzyzyyyzzzzyzzzzzzzyyzyyyzzzzzz{zzyzzz{yyyzzzzz{zzzzyyzyyz|zzyz{{zyz{zyyy{yzy{zzzzyyyyyx{zzz{z{{zyz{zzzzzz{zz|z{z{zyyzzzy{zzzz{{|zzzzyzzzz{z{{z{|yzzzz{zzy{|{y{|{z{yzzyzzzzz{{{z{{zzzzzzz{z{yz{{|zyzyzyz{{zzzz{{{z{{{{zz{z{z{{{|zzz{{z{z{{{{z||||zzzzzzzz{z{{{{{{|zz{zz{zz{z{|{||{zzzz{{z{{{{{{{{{zz{zz{z{|{{|{||{z{{|zz{z||{{{{{|{zz{zzz|{{|{{{|{{{zzzzzzz{{|{{|{z{zzzy{{{{{{{|{{zzzyzzz{{z|{{{{zz{zzzz{z{{z{yz{yyyyz{yyyz|z{zz{zzy{zyzz{{y{z{z{zzyzy{zzzz{zz{{{zyyzzyzzx{zzzyz|zzyzyzzzzzz{z{|{yzzzzyzzzz{zz{zzzzzyyxzyz{{zz{{zyzzzzyyzzyzz{zy{zzyyzyzzzyzyzz{{yyzzxyyzzzzzzz{zzz{zyzyzy{zzz{{zzzzzz{yyzzzzzzzz{zyzzyyzy{zz{z{zyz{yy{zy{zz{{z{{zyzzyzzz{{{yzzz{{zzy{zz{{{{zzz{{zyyy{zyz|{{{z|{{{zzz{yzzzyy{{{zzzzzzzzzz{{{zz{{z{zzyzzzz{zz{{{z{zzzzyzzz{{z{{{{zzzzz{z{z{z|{{{{|{zz{zzy{{{{|zz|{{{{{zy{z{{{{|{|{zz{zz{{zzz{{{{{{{{zzz{{zz||}||{{{{|z{zz{{{}{z|{|zzz{zzz{{{{|||{|{{zz{{{{{z{{{{{{|{zz{zzy{{zz{||z{zzzzzyz{{{|{{{zzzzzzz{zz{{z{zz{zz{yzzyzz{{z{{z{xzyyyzyyzzzyz{z{{zyyyzyzz{z{z{zzzzzyzyzyzy|{zz{|yyyyyyzyzyzzzzzzzzzyz{zzzzzyzzzz{zzzzzyyzz{yyzzzyyzyyyyyzzyzzzz{yzyzyyzyyyzzzzzzzzy{yyzyxzzzzy{yyzzzyyzzz{z{z{z{zyzzz{yyzzzzy{zzzzzyzzyzyzzzyzz{{zzzzzyy{{zzzz{{yzyyyzzzzz{zz{z{yy{{z{yzzzzzy{z{yz{z{xyz{z{z|{z{zy{zzyzzz|z{z{{{{zzzzzyzzzz{z{{zzyyzzzzzz{{z{{{zzzzzz{{{zzz{{{|{yz{zzz{z{|z{{|||zzzz{zyzz{{{z{{z{yzz{zzzz{{{{|{{{z{yy{zy{z|{|{|{{{{zzzz{{{{|z|||{{z{zyzz|{{{|{{{{yz{zzzzz{z|{{{{{{{{zzz{{{{{{{{{z{{y{z{z{z{{{{{{zzzz{zzz{{z{z{z{zzy{zzzzz|zz{{zzzzyyzyzyzzyzzzzzzzzyyyzzyzzyz{zz{zzyzyzyz{zzzzz{zyzzzyyyzz{zzzy{zzzyyyzzzzzz{zz{zyzyyzzz{{zyz|{zzzzyzyzzzzzzz{z{zzzzyz{yyzyzzzz{zzyzzyyyz{zzz{zzyzy{yyzzyz{z{zzzyyzzyzyyy{yzz{{{zzyyzzyy{{{zyy{{xzyyzyyzyzz{{{{zzz{yyzxyzyz{{{z{{zyzzzyyz{{zzzz{zyzzzy{y{z{yz{z{zzzzzzzy{{{zz{z{zzzz{yzzz{y{z{{{zz{zzzz|z{{{zz{{{yzzyzzz{{{zz|{zzz{z{z{{{z{z{z|{{z{{zz{{zzy|{|{{{{{{zzzz{{{z{{{z{z{zzy{{{{{z{{|{{{z{{yz{||{{{|{|{{{zz{z|{|{{{|{|z{z{zz{zzz{{{|z{|z{zzyz{{z{{{{|{{{zzz{zyz{{z|{{{{{zzzz{yz{{{{z|{{{yzzzz{{{z{{{{zyzzyzzzz{y{{zzzyzyyzzw{yzz{zyz{zzzyy{xzyy{zzz{z{zzyxzyyzyyzz{zzzyyzzzzyyyzzyzz{z{zzzyyyyzzzzzzz{zz{yxyzyzz{zzzzzzxzyyyyy{yzzyzzzzyyxzzyyzxxzzzyzyzzyzzzzzzzzzzzzyzyzxyzzyz{yz{x{z{{yyyzyzzyzzzzzz{zzyyyyyzz{{zzyzzzyzzyyzzzzz{{{zyzzzyyyyz{{z{z{zzyzyzzy{z{{yzz{zzzzzzzzzz{zz{{z{zzzxzyyz{{y{{{{{zz{zyzzz{{z{{{{zzzzyyyzzz{zy{{{zzyzzzzz{{{z{y|{{zzzzzyzzz{z{zz{zzyzzzzz{{{{zzz{{{zzzzyzz{{{{{{{zzz{zz{x{{zz{{{|zzzz{{{zz{z{{{{|{zzzzz{{z{{{|{{|zzz{zzzyz{{|{{{{{{z{zzy{{{{z{{|{{zy{{{z{{{{{{{z{{{{z{zyzz{z{{{{{{zzzzz{yy{z{z{|{{{zzyyzyz{{{z{zz{yxyzzxxzzzy{z{zzzzzyyzyzz{z{zzzzyzzzyyyzzzzzzzz{zzyzzyzzyzzyzzyyzyyyxyyzzzzz{z{yzzzyyzyz{z{yyzzzyzyyyyyzzzyzzzzyyyyzyzzyzzzzzz{zyyyzzyyzy{{yzzzzyyzzzyyyzzz{yz{zzyzzyyzy{zzyz{{zzzyzzzzyzz{zz{{zzyyzyzyzzzyy{zzyzzzzzzxzyzz{zz{zyyyzyzzyzyzzyz|zzyzzy{yyzzzz{{{zz{zyyyzyzzzzz{zyzzzz{{z{z{z{zz{zzzyzyzzzy{yzz|zzzy{yzzy{zz{|{zzzyzyzzzz{{{|{z|{zz{y{y{{{{z{{{{|{z{{zyyy|z{{|{z{|zzzzzz{{{{z{{|zzz{zzzz{z{{{{{{{{y{zyzzz{{{{|{|{{z{{yz{y|{{z{{{z{yzzzzzzzz{{zz{|z{zz|zzz{|{z{{{{z{zyzz{zz{{{zz{zzzyyxzzy{{zzzz|zzzzyyzzy{y{z{zyzzzy{yzyyzzzyzz{zzzzzyyyyz{zzzz{|yyzyzzzyzz{z{{z{zzzyyyzz{zz{z{z{yzz{yyzzzzzzzz{{zz{y{yzyz{z{z{{zzyyzzyyz{zzyzyyzzzzyzzzzyzzzzz{zyzyzyyzzzzyzzzz{zyzyyyyyy{{zzz|{zzzzzzyyy{{zzz{{zyzyzyzy{{z{zzz{zyzzzyzyzzzzz{{{yzzzyzzy{y{zz{|{{zzz|y{zy{zz{{z{{z{zzzzy{zz{{|zzzz{zzzzzxz{z{{|{z{z{zyzz{zz{{{{{zzzzyzzy{{z{zz|{{zyzzyyz{zzzzz{{{zzyz{y{z{|{{{|{z{z{{zzz|{{|{{{{z{z{zzzz{{|z{{{{zzzz{zzz{|zz{{{z{zzzz|{{{{{z|{|{{zzzzz{z{{{|{{|||z{{yzzz{{{{|z{|{zzzzz{z{z{{{z||{zzz|{zz{{{{{{||{{zyzzzzz{|zzz|{z{{{zz{zz{{{{z{{{zzzzzyzzz{z{{z{zyzzzz{yz{{zz{{{zzyzyyxyy{zz{{{{zyyyzzzy{z{zz{z{{yzzyyzy{z{zz{{{{{yxxyzxzzzz{zy{zzyxzyzyzzzz{{{z{zzzzyyzzyzzzzz{zzyyyzzyyzz{zzz{xzxyyyzz{{zzzzzzzyyzyzyz{z{zzzz{zzzzyz{zz{{z{{{{zyzzzyyyzyzzz{zz{zyzzyzyz{yzz{zz{zzzzyzyzzz{{z{zzz{zzyz{zz{z{z|{zzzyzzzyzzz{{zz|zz{zzz{yzzz{{z{{zzz{{zzzz|{{{z|{zz{z{zzz{z{{{{|zzzz{{{yz{{{{{z{z|z{z{{z{z|{{{{{{y{{{{zzz{{{{z{{|{zz{{{{yz{{{{{{{{zz{{zz{{{{|{{{zzz{yy{zzz|||{|{|{{yzzzzzz|{{{|{{{zzz{zz{{{||{z{{{zzz{z{{{{{{{{|{zz{zz{z|z{{{{{{{zzz{zz{z{|{{{||{{zz{zzzzz{|{z|{zz{zzz{zz{zz{|zz{z{yyyyzzzzzy{{{zyzyyzzy{{yz{{{y{zy{zzyzzzzyzz{{{yyyyzzyzzy{yzzzzzzzyyz{yzzzzzzy{zzyyzyzyz{z{zz{yzzyzzzzzzy{yzzz{{yyzzzyyxzyzyz|{zyzyzzzyz{zz{{{zzzyyyzzy{z{z{zzzzzzzyzyyyzzzzzz{{zzzyzzyzzyzzz{{zzzyzz{zzzzzyzzzzyzzzzyy{{z{{zz|{zzzzzzzzz{z{{{{{yzzyz{yyz{{z{z{yyyz{yzy{zz{z{{{zzzyzyzz{{{zz|{{zz{zzyzz{zzzzz||{zz{zz{yz{{zz{z{yzz{z{{z{{{|{{{{{{z{z{zz|{{{{{|{|{{zzzzz{{{{{{{|zyz{zzz{{|z{{{|zzz{z{|{{{{{{{{|{|{z{z{zz{{{{{{{||{{z{yz{|{{{|||{{zz{zzz{z{{{{{|{{zz{{z{{z{{{z{|{zzyy{{zzz{{{{{|{zzzzy{{yz{{|{{{{{zzzzz{zy{{z{zz{yyyzyzzyx{zzyzz{yzz{zzyyzzzzz{z}zyzyzzyyzzzzz{{z{yzzzzxzzz{zzy{{{z{yyzzyz{{zy{z|yyyyzzzyz{y{zzzzzzzzzyyzyzzzy{zzzz{yyzyzyyz{yzz{zzyzzyzzzzzzzzz{zyzzxzyzz{zzzyzzzzzyyzyyz{z|{{z{zzzzyyzzzzzzzzzy{zzyyyzyzzzzz{zzzzzyzzyy{{z{{{{zzzy{{yyyzz{{{{z{zyzzzzzyxzzz{zz{yzzyzzz{{zzz{{z{yzz{zzy{|{{|z{zzzzz{zzzz{{|zz{{{zz{{zz{z|{zzz{{{{yzz{{zzz{{{{{z{z{zzzzz{{zz|{{{{zzyz{z{y{z|{z{|{{zzz{yzz{|{{{{z{{zzzz{{z{{z{|{{{|{zy{{{{z{{{{z|{{{zzz{z{{{||{{{{|zzz{zzz|||{{{{||{zzzzz{z|{z{{{{{zzzzzzz{|{zzz|z{{{y{zzzy|{z{z{{zzzzyyzz{{zzzzz{zzzyzyzzz{y{yzzzzyzyyyyyzzzzz{zzzzzyzzyzz{z{zz{zzyzyyyyzzz|{zzzzzzzyyzzyzz{zzz{{zyyxy{yyzzzzz{z{zyyyyyyyzz{yzzzzzzzyyzzxzyzzyzzyzyzxyyyyzzzyzzzyzzzyxyyzy{zyzzzzz{yyyyyzy{zzzzz{{yzzzyyyzzzzyz{zyzzyyzzzyzyz{zz{zx{yzzzyzy{zz{{{zyzyzzzzz|{zzyz{zzzyzyzyz{zz{{{{yzzzzzzzzy{{{z{zz{yz{yzyz{zzz{{{zyzz{zzyy{{{zz{{zzzyzyz{z{{z{{{zzzyyzzz{{z{{{zz{{y|zzzzz|{{{{{z{{yzzz{zz{{{{|z{{zzy{zzzzz{zzz{{{zzzzz{{z{{{{{|{{|zzz{z{z{{{|{{{{{{{{zzz{z{zz{{{{{zzzzzz|{z{yz{z{{{z{z{yzzz{{{{|{{zzz{zzzz{{{{z{zzzzzzzzzy{zzz{zz{z{yyyzzy{zzzzzzzyyzzyyy{zzz{y{{yyzzzyzzzy{{z{{{zyzzzzzyzzzz{{{{zyzyzzzzz{{{zz{{{yyyyxzx{zzzz{y{{zyzyzzzzzzzzzzzyzzxzzyxzz{yy{zyzyyzyzyy{zzyzzyzyyyzyzzz{z{zzzzzzzzzzzyzz{zz{zzzzzzzyzyzyzzzy{z{zzzzyyzyyzzyzz{{zzzzyyzzyzy{zz{{{zzzyzzzyzzzz{{zzyy{zy{yzz{{zzz{zz{yzzzz{z{{{{{{{zy{zzzz{{{{z{{{{yyzzz{zz{{{z{zzzzz{zzzz{{{{{{|{{zzzz{{z{{{{z|{{zzzzz{zz{{{{{{{{zzzy{zzzz{{{{|||{z{{zy{z{{|z{{{{zzzzzz{|{{{||{|{{{{z{{{z{z|{{z{||{{{y{{z{|z{{{{{{z{{{z{z{{{{|{{{zzz{{{{{{||{|{|{zzyz{zzz{{{{{{z{z{zy{z{z{{{zz|{|{{{{{zzyzzz{{zzzzy{z{zyz{zz{{zz{{zzyz{yyzz{z{zyzzzyzzyyzz{y{z{z{zzzzzyzzyzyz{z{{zyz{zyzzyz{{zz{{{y{yzzyy{zzzz{{zyz{yyzyyyyz{z{zyzyzyyzyyyz{zzzzz{zzzyyyzzzyzzzzzzzyzzyyyzzz{{{{zyz{yyzyzzz{z{z{y{zzzyzzzzy{zzz{zzzzzyyzyzz{yz{zzy{zyzyyyzzzz{z{zzzyyz|zyz{zzz{{{zyzzyyy{z{y{zzzzzy{zzzzyzyz{y{{{yz{zy{{zzz{zz{z{{zzz{z{zzzz{zzz{{{{zzzzzz{{z{z|{z{z{zyzz{z{zzz{{zyyzzzzz{{|||{{{zz{zz{{zzz{zz{|{{z{{zzzz|{{{{z{|{{zz{yzy{{|z{|{{{{{z{{z{{{{{|||{zzz{{{{z{{||{{|{{{{{zzzz{z{zz||{zzzz{{{z{z{{{||z{zzz{z{yz{zz{|{{zzzyz{{z{{z{z{||{z{zzz{y{{z{zz{zz{{yyyyz{{|zz{{{z{yzyyyyyz{zzz{{zzzzzyyyzzzz{z{{zyyyzyzyzzzzz{{z{yzzzyy{yz|{zyz{zzyzxzzy{yzzz{z{yyzyyzyyz{zyzz{zzyzyzzzyzy{y{yzzzyyzyzyzyzzzzz{zzzzyzxyyyz{zzzzzzyyyyyyyyzzzzyzzyzzzyxyyzz{zzzzzyzzzzyyyyz{zzzzzzyzyzyyzzzzzz{zyzyzzz{zy{{{{yz{{{yyyzyzzzz{zzz{|yzzzzyzy{zz{zz{{yyyyzzyzzz{zyz{{z{y{zzzzyz{zy{{{{{{zzzzyz{{z{|{z{yyzzyzzy{zzz{{{{z{zzzzz{{{|{{{{zzzzz{{zz{z|{{{{{{y{z{yz|z{{{zz{{z{{{z{z{{zz||z}zz{z{z|{z{{{}{{{|zzzz{z{||{{|{{||yz{zyz{z{z{{{{{{{zzy{zz{{{z||{|{z{z{zzzz{{{{|{{zzzzzzzz{z{{{{{z{zzzy{zyz{z{z{{|{z{zzyzyzzzzz{yzyzyyyxzyz{zyzzzzyzzyzyxzzzzzzz{zzzzyzzyyzz{zz{{{zyyyyzyyyzz{zzzzyzzzyzzzzzyzzz{{zyzyyzzzzyyzyzzz{zyy{zyzzz{yyzzzzzzzyzyzyzyzzzzzyyyyzyzyyzzzzz{zyyzyzyyyzzzzzzz{yy{zzzyyzzz{{{z{zyzyxzyyyz{zyzz{{yzyzyzzy{zzy{zzzyyzzyyzyzzzzz{{zxzyzyzz{zzz{zz{zzyyyy{zzz{{zzy{zyyzyzyzz{zz{{{zz{{zyyyzz{z{y{z{zzzzyyyz{z{zz{{{{{{z{zzy{{{{{{{{zzzzz{yzzzz{z{||zzzyzzz{z{{{{z||z{z{yzzx{{{z{{|{{zzy{{{z{{{{{z{{{z{zz{z{{{{{zz{{zzzzzzzz{|{{{{{z{{z{zzyz{zz{{{z{zyzz{y{{{z{{z{{{{{{{|zy{{{{{{{{|{y{z{zzzz{zz{{{{{{yzzyyzzz{{zzz{zzyzyzzzz{z{zzzzzyy{zzyzzz{zzzz|yzzyzxzz{{zyzzzz{zzyyzzyzz{zz{zzzyyzzzyzzyz{zz{{{yzzyyzy{y{z{zzzzxyzzy{xz{zyz{{{zyzzyzyz{z{zy{z{zzzzzyyzzyyzz{{zzyyzzyyyz{zyz{yzzyzzyzyyy{zzzz{{zyyyyzxyz{z|zzz{zyzyzyzxzyzzyyz{zzzzyzyyyzzzz{z{yzyyzzzz{z{zzz{{zzzyzyzyz{zz{zz{{zzzzzyzz{{y{{{zy{y{y{z{{{{zzzz|z{{zzzzz{{z{{{z{{yzzzyzy{{{{{{|{{zz{y{z{{{z{{{{{{{zy{z{zzz{|{{{|{z{z{{yz{{{|zz{{{zy{zzzyz|{{{{{{{zzzzzz{||{{{{{|zz{z{{{{z|{{{{{|zzz{z{{zz{{||||{zzz{zzz{{{||z{|{{zz{z{z{{{z{{{z|{z{z{zz{{{{{{{{|{{zzzzzzzz{{z{{{|zyyzyzzz{{{z{{{{z{zzzzzzz{zzzyzyyyz{yzyzzzzzzz{yzyzzyyzz{{y{{y{zyyzzyzzzzz{zz{{{yyzzyyzzyz{zy{zzz{zyyyyyzzzzz{{zzyzzyzyz{{yzzzz{yxyyzyyzyzzyz{zzzzzx{yzzzz{zzz{xyyzyyzyzyyyzzy{yzzzyzyzzzzy{zz{zyxyyyyz{{{zzz{zzyzzyzyyyzyzzzzz{zyy{zzyzzyzz{z{zzzzzzyyzz{{zz{{zyzyyyyyz{z{y{zyzzy{{zzzzzz{{{{{yzzyzzz{y{z{zz{{{z{zzyzzz{{{{{zzzzzz{zzzz|z{{z{{zzzzzzzz|{{{||{{{{zzzz{|{{{{zz{{z{zz{zzz{{{z{{{{{{z{zyyzz{z{{{{{{zzzzz{yzz{{|{{{{z{z{z{z{z{{{{|{{{y{z{zz{|{||||{zz{{zz{{{{{{{{z{{yzyzzy{{z{{{|{{{z{z{zzz||z|zz{{z{zyzzzz{{z{{z{{{zz{{z|zzz{{|z{zz{zyzzzz{{{{zzyzxyyyyyzyzzyzzzz{yyyzyyz{yz{yzzz{yzyyyyyzzzzz{{z{yyzzyxyyzzz{z{yzzyzyyzzyzzzzyz{{zzyzzyzyzyzzy{z{yyyzzyyyz{zyyz{{zzyyzyzyzzzzzzzyyyyyyz{y{zzzzz{{zzzyyyzzzzzzz{{{zyzxyzyz{{{{z{|{zyzzzyzyzyz{{{zzz{zzzzyyyzyzzzzzyzxyzyzy{{{{zz{{zzzzzzyzzzzzzz{{zyzyyyzy{z{zz{{zzz{zzzyzzz{zzz{{zzzzyyzzz{{z{{{z{y{{y{yzzz{{zz{{{yzyzzyzzz{zz{{{|{zyzzz{z{{{{z|{z{|yzzzy{zz{z||{zzzzzzyy{|{{{{|{{zzzzz{z{{z{z{{z{yzyzz{{z{z{{{{{{{zyz|{z{{{|||{z{z{{yzzz{{z{z{{zzyz{zz{z{{z{{{{{{zzz{{z|{zz{{{{{zzzyzzzz{{{{{{{zzzyzzzzyz{{{z{{zzzzyzyzzz{{zzzz{zyzyzyzyy{z|zzz{zzzyyzyyzzzz{{{{zzzyyzzy{{{zzz{zyyyyyzyz{zz{zz{{zzzzzyzzzzz{z{y{yy{yyyzyyzzzyz{{zyzzyyzzz{{yz{{{zyzz{z{yzzyzy{z{zyyyyyyz{zz{{zzzzyzzy{zyzz{zzzzzyyzzyzyzyzzz{z{{zzyzyyzyy{zzz{z||zzyzyzzzzzzz{z{yyzzzzzy{{zzzzzzyyyzzyzzyzzzz{z{yy{zzzzzzz{{{{{z{zz{zzyzz{{z{{{{zzzzzyzzyz{{{{{{{zy{yzzz{{{zz{{zzzzzzz{{{z{{{{{z{zyyzzzzz{zz|{{{zzzzzz{z{{z|{|{|{z{z{zzz{{{{{{{{{zzz{zzz{{{|{|{|{zzzzzz{zz{{{|{|{{z|z{y{{|{{|{|||{{z{y{{z{{{z{||{z{zzz{{{{{{|{{|{{zz{yz{{||||{|{z{z{{zzz{z{{{{{|{zzzzyzyz{{{z{z{zz{yzz{zz{{{zzzyzyyyyzyyyz{yzz{zy{zyzyyy{{zz{zz{zzyyzzzyzz{z{zzz{zzyyyyzyzzzzzz{zzzzyzzyzzzzz{zzzyzzyyzyz{zz{z{z{zzyyzzzzzzyzzyyyyzyzyyyz{zyz{{{zyxyxyy{yzz{zzzyzyyyyzyzzzzz{zzzyyzyyyyyy{z{z{z{zzzzzyyyyzyzzzzzyyyxzyzyy{{yy{zzyzzyzzyz{{{z{zzzyzzy{yzyzz{{zzz{yzzz{yzzzyzz{zzzyz{zyyyz{z{zz{{{{zyzzyzzzz{{|{zz{y{z{yzyzzzzz{|z{yz{zzzzz{{zzzz{zyzz|{zzz{{{z||{z{zzyz{z|{||{{|{z{{{{yzy{{zzzz{|{zzz{zzy{{{{|{{z{{zyyz{zzz{{z{{|z{{{zzyy{{{{{|{z{zzzz{z{{|{{{{{{{zzz{yy{{{{|{z||{zzy{zz{z{z{z|{|zzyzzz{zzz{{{{z{zzzz{z{{z{z{zz{{zzzz{zyz{{{zz{zzyzyzyyzzy{{zzyz|zz{yzyyzyzzzz{z{zzyzzyyyzzzzzzz{zzy{yzyyzzzzyz{zzzzyyyyyzz{zyzyzzzyzyzyyzyyzyzz{zxzyzzzyzz{zy{{zyyyyzzzzyzzzzyyzyxzyyyyyzzzzzzzzzyyzxzxyzzzzz{zzzzyyyyzyyz{zzz{zzyzyzyyxyyzz{{z{yyyzzyyyzzzzz{z{yyzyxzyyyzz{zz{{zyyzzyyxyyzzyz{{yzyzzzyzzzzzz{{zyzzzzyzzz{{zz{{{zzzyzxzz{zz{{|zzzzzyzzz{{{{zzzzzzzz{yzzy{z{zz|{zzx|z{{xz{z{{{|{|zzyzz{{z{{{{z{{{{{yzzzyz{{{{{{zz{zzyzzzz{|{zz|{{{zyyzzzz{{zz{{{{{zzzzzz{z{{{{{{|{z{z{z{{{{{{z{{{zz{z{zy{{{{{||{|{zzzzzzy{zz|{{{|z{zyyz{zzzz{z{{{{z{zyzzy{{z{z{zzzzzz{zzyz{zzz{zzyzyzyzyyz{zzy{{zzyzzyyzyzzzzz{{{|zzzyyzy{yzzz{{z{yzzzyzzz{{zyy{{zyzyyyzyyz{{yz{{{yyyzzzyy{zzzz{zzyyyyzzzzyzyzyzy{zyzyzyzy{zzzyzzyyyzyyyz{z{zzz{{zyyzzyzyzz{zzz{{yyzyyzzy{z{yz{z{zzyyyzzyzzzy{y{{zyzxyyzzz{zzzzzzzyzz{{yx{{{zz{{{zzzzzzzzzzz{{{y{zyyyyyyz{zzy{{zzzzyzzyyz{{z{z|{zzzzzzyzzyz{{z|z{zzzzzzyyzy{{z{zz{zzzzyzyzz{zz{z{z{zzzzzz{z{{|z{{zy{{zzzz{{{{{{|{zz{{z{zz{z{zzz{{{y{z{{zzz{z{|{|{{zzz{{z{{{{{z{{{zzzzzzzz{||{{{{|{z{{zzzy{{{|{z{{{{zz{{z{{|z{z{{z{zzz{z{z{|{{{|{zz{zzyzyzz{{{{{{{{zzzzzzyz{{{zz{z{{zyyxzz{zz{{{yzzzyzyyyyyzzzz{zz{yyzzyyzz{y{yz{{zyyzz{yzzzzz{z{zzyyzzyzyzzz{z{zzyyzyyyzyzyyzzzyzzyzzyyyyzyyzzz{yzzyyyxzyzyzyyzyzzxzyyxzyzyzzyzzzyyzyyxyzzzzyzzzzzyyyyzyzzz{zzz{zxzyzzzyyyyzz{z{zyyyzzyyyzyyyyzzzzzzyyyyzxz{{zzz{zyzyyxzyyzzyzz{zzzyzyyzyzz{zzzz{zyzyyyyyzyzy{zz{yzzxxzyzzzzz{z{zyyy{zyyzz{y{zzz{yyzzyyzy{{{{zz{{zzzyzyzz{{z{z{{{zyzy{zzzz{{{{{z{zz{zzzzy{{zzz{{|yzyzzzz{{{z{{{{{{zzz{zz{{|y{z|{|zz{z{yzzyz{{{{{{{zz{z{zz||{z{{{{yzzzzzzz{{{{{|{{{{zzzzzz{{{{z{|{{{zzyzzz{zz{{|z{{yzzyyzzz{{z{z{{{{zzyzyz{{|{{{z{z{yzzzzzzz{z{yzzyzyzzzzy{zzzz{z{yyyyzyyzz{{{z{|{{zyzyzzzzzz{zz{{yyzzyyzyzzzzyzzzzz{xxyzxyzzzzzzz{yzyzyyyzzzzzzz{{zzyyzyyzzzzzzzzzzxyyyyyzzzz{{{{yyyyyyyzzzzz{z{yyzzzyyzyzzzzz{zzzzyzyyzyyzz{zzz{zyyyzyzyzzzzzzzyz{zxxyyxz{yzz{z{zyyyy{yzzy{zzzz{{zzzzyzyy{zzzyy{zzzzyzzzzzzzzz{{yzzzzzzz{yz{z{{{zz{{zyzzzzz{z{{zzzzzz{yyz{{{z{z|zzz{z{z{zzz{{zz{zzzz{z{zz{{z{{{z{{{z{y{z{{{{z{||z{zz{zyzz{{{{z{{{yzz{z{z{|z{{{{{{zyzz{{zyz{z{|z{|yzz{zzzz{zz{{|{{{{{{zzzzz|{|{{z{zz{{{zzz{zz{{|{z{z{{zz{{{{{{{{{zzzy{{yz{{z{z{{{zz{yzzzzzz{{{z{z{z|yzzzzzy{{zzz{zzyyyyzyzyzyzzz{yyyyyyyyzzyzzzzzzyzzzyzyzzzyzzzzzxzyzyyzzz{zz{{{zzzyzzxzzz{zzzzzzzzyzzyyyzzzy{yzxzzyzyyyyzzzzzzzzyzyyyzyz{yzzyz{yzzyzyz{zyzyy{{zyyyzzzyzz{zz{{zz{yzyxyzyyzz{zz{zzyzyxyzyzzzzyzzzyzy{zxzzyzyz{z{zyyzzzzyyzyz{z{{zzyzyyzyzz{z{zyzzyzzyzzyzzy{{yzz{zzyzyyzzzy{yz{{zzyyyzzzyz{z{{z{{zz{zyyzzzzz{z{{zzyzz{zzzzz{{zz{{zzzz{zz{{{{{{z{{zz{zzz{{z{zzz{{{{zzzzzyyzz{{{{|{{zzzz{zy{|{{zz{zzz{zz{{{z{z{{{{{{y{zz{z{z{z{|||zzz{{yz{z{{z{z{z{{yz{{z{{{{{z{z{||{zzz{zz{{{{z{z|zzzzz{zzy{zzzzz{zz{zzzzyzz{zzz{zzz{{zyzy{yzzzz{{yzzyzy{z{zzzz{zzzzzyz{zz{yyz{{zzzyyyyzyy{zzzzz{{zzyzzyzyzzzyzz{zz|zyyyzyzz{{zz{|z{zyzzyxzy{{{{{zzzzyxyyyz{zzzzzzyzzxyzyyzzz{zzz{yzzyyyzyyyzyzzzzyyzzyzyzzz{z{z{zz{zzyzzyyyzz{{{{zzzzzyzzyzyzyzzz{{{yzyzzyzzz{{y{zy{z{zyxz{zz{zzzzz{zzyyyyzzzzzzzzzzzzyzy{{zz{z{|zzzyzyzzyzz{z{z{zyzzzyxyzz{{{zz{zzzzzzzzz|z{z{{zzzz{zyyz{{{{zz{zzz{zzzyzzz{|z{z|zz{zzzzz{zzz{{{|zzzzzzyzz{{z{{{z{y{zzzzz{{zz{{z|zzz{z{{z{{{z{|{{z{{{z{{{z|{{{{|{{zzz{zzz{|z||{{||y{y{zz{zz{z{{{|{{{{{zzzz{|{{{{{zzzyzyyz{{z{{{{{{zzy{zz{{z{{{{yzzz{zzyzzz{z{|zzzzzxzyzzzxzyyzzzzzy{xyyyyzzzzzz{{zzzzzzyzzzyyzzz{zzzyzyyzyzz{zzz{yyzzyzzyzy{zzzzzyzzyy{yy{zzzy{zz{yzyzyxyyz{zzzzzzzzyzzyzz{{zzz{zzyzyyzxzy{{{yz{zzzyyz{yzyz{zzzzzzzzzyzyyzyzz{{{zzzzzyyzyzz{zz{{zy{zyyzyyyzyzy{{{{yzzz{zyz{{z{z{{{zyzyzzzz{yz{{z{zzzyz{zz{zzzzzzzzzzzyyzy{z{{z{{{zyz{yyyzz{{{{{{zzzzzzzyy{z|{{{z{yz{z{y{z{zz{{z{|zyz{zz{{{{|{|{|{z{zz{zzz{{{{{{|{zzyzyzyz||{{z{{{{yzz{zyz{||{{{z{zzzzzz{{|{{{{|{{zy{{zzz{||{{z{{|{zz{{zzzz{{{z{|{{zzyzz{z{zz{{{{|{zyzzzy{z{{z{{{|{z{zzzzzzz{z{{{{{yzzzzyzz{zz{z{zzzzzzzyzy{{y{zzzzyyxzzzyz{zzzzzzzzyzyxyy|zzzzzy{{yzzyzyxz{zzzz{zzyzzzyzzzz{zxz{{zzzzyzyx{{zzzzzzzzzzyzzzzz{xzz{zzyyyzzzyzyzzy{zzyzzzyzzyzyyzzy{{zyxyzyyzzzzz{zzzzyzzyyyzz{zy{yz{zyzzyyzyzzz{zzz{zyyzyyyyzzyzz{{zyzzzzyzyy{zzzzzzzz{zxyzzzzzzzzzzzyzzyzzyzzyzz{y|yz{yzyyzz{zzzzz{{zyzyzzz{{z{{z{zzyzzzzy{zzz{zz{zzzzyzzyzzz{zzz|zzzyzzzx{z{zzz{zzzyz{{zzzzz{z{{y{z{{yzzzz{{z{z{{{{yzyzzzzz{z{|{{{{z{zzzzz{{{{||{{{{zzzzz{{z{z{{{{{y{{{zzzy{{z{{|{zz{zyz{z{{{z{{{{{{{zzzzz{zz|zz|{|z{z{yzz{{{{|zz|z{zzzy{z{z{z{{|{zzzz{zzy{{{zzz|{zyzyzzyy{z{zzz{yyy{yyzzyzz{zzzzzzzyzyxzyzz{z{{yz{zyzyzyyz{zzz{z{{yyzyyyyzz{zzz{zzyzxyyyyyz{zzyzzzyyyyzyyzzxyzz{zzyzzyzyyyz{yz{zzzzyzzzyyzzyzz{zzyyyyzxzzz{zzzz{z{yyyzyyzyz{zzz{zzyzzyzxz{zz{zz{{zzzyyxzyyy{yzzz{yzzxyzyyzzyyz{zzzzzyyzzyzzz{z{{zzyyzzyzzz{zzzzz{zyzyyyzzzz{z{zz{zyzyyyy{zzzz{{{zyyz{zzzyzzyz{zzzyzyzzzxzx{zz{z{{zz{zzzzzzz{zz{{zyyzz{{zz{z{{z{{{yzz{zz{zz{{|{{{|{zzzzyyzzz{{|zz{z{{zzzzz{{|z{z{{xy{{{y{{{{zz{{z{{zz{zzzz{}zz{z{{{zz{zy{z{{{{zz{{z{zzzyyz{z{zzz{{{zz{{{{z{z{z{{{zz{{z{yzz{z{z{{{{{zz{zzzzz{{{zz|zzyyyy{yz{zzzyzz{yzyzxyyyyyzz{zzzzyyyyzyyzzyyzz{zyzyxyxyyzzz{zy{zzzzzyz{zyyyzzzzzzxyyyyyyzy{{zz{{zyzyzzyyz{yyyz{zzxzzzyxzyyzzz{zzzyzyyzyyzzzyyzzzyyyyyyyzzyzyzz{yzyyyyyyyyzyyzyzzyzyxyzz{yzzzzyz{xyyzxyzzzyxzyzzyyyxzzzyxyzzzz{{zyxyyyyyyzyzzzzz{yzxzzyyyzzzy{zz|yzzzyyzzzy{{zzzzyz{zyzyzz|zzz{z{zzzzzyzzzzzzz{zyzzzzzzyy{{zz{z{z{z{zzzyy{zy{z{zzzzzz{zyz{z{z{{{{zz{zzzzzzzz{||{zz{zz{yyx{{{{|{{zzyzzzzyz{||zz{{{zy{zyz{z{{y{z|{{{zzzzzz{z{{z{{{zyzzzzzzzzzz{{z{{zzz{{zyz{yy{z|{{{{z{zyzz{z{{{z{{zzzyzzzzz{z{{{{{{zz{z{zyz|{zzz{zzzzzzyzyz{{{zyzzzyzyyzyyyz{yyy{{zzzyzyyyzyzyyzyzzzzyyyzyzzzyzyz{yyyzyzyyzyzz{zy{zyyxyzxyy{zzzz{zzzyyyzyxyz{yzzyzyzzyyyzxzzzzyz{z{yyzyyyyyyzzzzzzzzzzyyyyyzzzyz{{yyyyyzyyzzzzz{zzzzzyzyyyyzzzzz{z{xzyyyyyzzzzzz{{zyzyyzyyyzzzzzzzzzzzzyyyzz{z{zyzzzzyzyyyzy{zz{zzzzzzyyzz{zzz{z{zyyzyyzyyz{zz{zzzzyyzzyzyz{zzzz{yzzzzyyzyyzz{zz||{zzzzzyz{yz{z{z{{z{zzzzzzz{z{{zyzzz{zz{zzz{{z{z{{yyzzzzzz{zz{{{z{z{zzzzz{{{zz|{{yzzz{zzzzzzzz{{{{y{zzz{{z{{{{{z{{zzzyy{z{z{{{{{{{zzzz{zz{{{z{{{{zzzz{zyzz{zz{|{{zzyzzzzzzz{{z{{zzzzzy{{zz{{z{z|{{zyzyzzzz{z|zzzyzzyyyzyyxz{y{zz{yzyzzyzyzyzzzz{{zyzyzyzyzzzz{z|{zzzxzzyyz{{zyzzzz{zyzyxyyzz{zzzzzzzyyzzzy{yzzzzzyyzyyyyz{yzzzzyzzyzyzyyxzzzzzyz{yyzyzyyyyzzzzzzyzzyyzyyzzzzx{zzzzzzyzyzxyzzzz|zzzzzz{yyyxyzy{{{yzzyzzyzyzzzzz{zzyyzzzzyyzzzzzz{{{yyyzyzy{{zzz{zz{zyzyyzz{{yzy{{{yyzzzzyy{zz{zzzzz{zzzzzzzzzzzzzz{zzyyyzyz{{z{zz{zzyz{zzy{zzzy{z{zy{z{zyz{z{{z|z{zzy{zzzz{{z{zzz{zzzzzyyzz{{zz{|{{y{zzzzzzz|{{{|z{{yzzy{{z{{{zz{|{zzzz{zzz|{{{|{{{{{yzzzy{{z{{z{{|y{{yzz{{{z{{z{{{{zz{zz{z{z{{{{|zz{zyzzzzz{{{{{{|zzzzy{yzzz{zy{y{{{zyyyz{z{zz{zzyyzzyxyzzzzyzzz|yzyyyyyxyz{{{{z{zzyyzyzyzzzz{{z{zyzyyyzyyzzzzzz{zyyxyy{yyzz{z{zzzyyzyzyxzz{zyzz{zyzzzyyzyyzyzzzzzyyyzzzxzzyzzzzzzzyyyxzxyzzzz{zyyyyyyzyzyzzy{z{z{zzyzyyxzzz{zz{yzzzyzyyyy{zzyzyzzzzyzzyyzzzy{zz{zyyy{{zy{{{zz{{zzyyyyyyzyzzzzzz{zz{zzyzz{zz{zz{{zyzyyyzy{zzz{z{{zzyyzyzz{zzzzz{z{zzzzzy{z{zzzzzzzzyz{yzz{|{zy{zzzzzzzyzzz{{{{{z{{zzyzz{y{{{{z{{{yyzzz{zy{{{{{|{{zyz{zzz{{|{{{{|zz{yzz{zzz{z||{|{|z{zz{z{{{z{z{}z|{{{{{{z{{{z|{|zyzz{{{zyzz|zz{{{{{z{zyz{{{{{{|{{zz{zx{zz{zz{{{{{{{yyzzzzz{z{z{z{{z{yzzzyz{zz|zzzzyyyzyzyz{zzzzzyyzyyyzyzyzzzyz{z{yzxyzxyzzyzzzzzyyyxyyzyzyzzzzzzzzyyxyyyyz{{zyzzyzyzyzyxy{zyzz{zzzzyzyyyzzzyxzzzzyyyxzyyyyyzyzzyyyyzyyzxyz{zyxzyyyyyyzxzzzzzzzzzz{zzyzzyzyzz{y{{zyyyyyzxzzzyzzyzzyyyyzzzyyyzyzz{yzzzyyzzzz{zzzzzzyzzzyzzzz{{yzz{yyyzyyzzzzzzzzz{zzyzxzyzzz{zzz{{zzzyzzzyz{{zyzzzyz{zyyzzz{{zzz{{{zxzzzzzzyzzz{{zyzyzzyyyzz{{{{{zyzzzzzyzzyz{{z{{zx{zzzzyzz{{{{{{zzzzyyzy{||z|z{{zzzzz{{zzzzzz{z{{zzzyzzyz|{z{{{{zzzzzzzzzz{zz{{{{yzz{zzzz{z{z{|{{zzz{z{zz{{{{{{{zzyzzzzzz{{{z{|zzzzzzyzzz{z{zzzz{zzzzzzyzz{{z{zyyyyzzz{yyzzzz{{yyzyyyxzyzzzyzzzzzzyxyyyyyzzzzzzz{zyzxzyyzzzzzz{yzzyyxyyyzyzzyz{zzyyyyzyxzzzxzxzzyyzyyyyyzzyyzzzzzyyyyzyz{yzzyzzzzzzyzxyxxyzzzz{yzyyzyyyzzz{zzyzzzy{yyzyxzzz{zyzzzyyyzzyyyzzzyzzzyyzyzyxyzzyzyzzzzyyzyyyyzyzzzyzzzyyxzyxzzzzz{zzzyyzzzzzzzzyz{yz{zyyzyxyz{{{z{zz{yzxzzyzyz{z{y{zzzzzzzyyzzz{z{{zzzyzzzyzzzz{zzyz{zyzzzzzzzzz{zzzzyzzzzz{z{zzzz{{zzzzyzzzyy{zz{{{{{yy{zzzz{z{zz{{{zz{zzzz{zzzz{{{{{{zzzzzz{|{{{{|{{zzzzy{{{{zz{{|zzzzyzzzz{zz{zz{|{zzzz{z{z{zzzz{{zzyyzyyzzz{zz{{{zzzzz{zzzzzzzz{{zyzyyzzzz{y{z{y{zzxyyyzyzzzyz{{{zyyyzxyyzz{zzzzz{yzzzyyy{yz{zzzz{yzyyyyzzzy{zz{z{zzyyyyyzzzz{zzzzzzyyyyzzzzyzzzyzyzyzyyz{yzzyzzzzzyzzzyzyzzz{zy{yz{yzyyyyzzzz{{zzzzzyzxyz{zy{zzzzzzzyyzzyzzzzy{zzxzxzyzyzz{x{|z{zzzyzzyzzzzzy{{zxzzyzzyzzyzzzz{zzzzyzxzzzz{yz{{zyyxzzyyzzyzzzzzzyzyyyyyz{zzz{{z{zzz{{yzzz{{zz{{zzzzzzzzzz{{{{z{z{zz{yzyz|z{{z{{zzyzzy{zz{{{{{{{{zzzzyz{z{{z{{{{|{zz|zzzz{zzz{{zz{yzz{z{z{{zz{{{{zz{zzz{z{zy{{|{|{{z{z{zzz{||{{|{{z{zzz{z{z{{{{{z{z{zzzz{z{z{{{{{z{z{{zz{{{{{{{z|z{zzzz{z{|z{|{z{zzz{{zz{zz{z|zz{{yzyzzzzyz{z{zyyz{yzyyyzz{{{{y{{zyzyzyyyz{zzz{{yzzyyyzyzzzyzy{{{zyzzzzzyz{{zzz{zzyzyyyzyzzzzzz{z{yzyzyxzyz{zz{{z{zzzzzzyzzzzzzz{zyyyxyzyzyy{{{z{yzyyyyzzy{zzzzzzzzyzyzyz{zzy{{z{zzz{yyyzzzzzzzzzz{zyyyzyzzzz{{{zz{yyzyyzy{{{z{z{zzzzzzyyyzz{{{{zy{zzzzz{zz{zzz{{yz{zzzyzz{{zzz{{{y{zzyzyzzz{{z{{{zzy{zz{zzz{{{zzzy{yzzzz{{{z{z{{{zy{yyz{{zzz|{z{zzzzzzzz{||{{{zzzzzzzzzzz|z{z{z{{zz{zyzy{{{z{z|{{zz{{z{z{{{z{z||{{{z{{{zz{{{{|{{{z{z{z{z{{{{{{{{|y{z{z{{{z{{zz{z{yzz{{zz{z{{|z{{|{{zzzzz|z|{{{|{z{zz{yzzz{z{zz{{z{z{y{zy{{{|{z|{zz{yzyzzz|{{zzzzyzyxzyyyzzzzzz{zzzzzyyyzz{yzzzy{zzxyzyzyzyzyzz{zzyzyzzzz{zzzz{zzzzzxyyyx{y{zzz{{{yzzyxzy{zzyz{zzyyyyyyzyzzz{zzzzzyyyyzyyzzzzzz{zzyzzyyyzyyyzzzzzzxyyyzyzzzzz{zz{zzyzyzyyzzzzzz{{zyzy{zzyy{{zzzzzzyyyzyzyzzzzzz{zzzzzzzzyyzzzzzzzzzzyzzzzzzzzzzz{z{zzzzzz{{{z{|z{zy{yyyyy{zyyz{zzzyzzzz{zz{z{{{{zzzzzzzzz{zzzzzz{zzzzzyzzz{{{z{zzz{{{zzzyzz{z{z{{zzzz{zyyzzz{{z||{zzzz{zz|z{{{z{{{z{{z{zyz{|{{|{{zzzzz{{{{{zz{{{{|zzy{zz{{{z{z{{{|{zzz{{zz{{{{|{{z{zz{yzzz{{{{z{{zzzzzzz{{{{{{{{{zzyyz{zz|zz{{{{{{zyzzzzzz{{{{z{{zyzyzyzz{{zz{{zzyzzzzzyzzzzz{zzzyzxyyzzzyzzz{z{{zzyyyzyz{{z{{{{zzzyyyxzzzz{{zzz{zzxyyyyyzzzzzzzzzyzzyzyxz{zzyzzyyzyyzyyyzzzzyzyzyzzxyzyyyzzzzzzzzzzyyyyyy{z{zyzzzyyzyyyyy{yzzzzzzyzyxyyzyyzzzyyzzzzzzzyyyzzzzyzzzyzyyyzyzzzxzz{{zyzyzzzzzz{zz{zzzzyyzyzyzz{zz{y{zzzzzyzzz{zzyz{zyzzyyyyzz{zz{z{{zxz{zyzzz{{{z{{zzyyyzzzy{z{z{zzzzzzzzzzzz{{{{z{zyzzzzzzyz{{{zz{{zy{yzzy{{zz{{{|{zzzzzyzyz{{{z{{{{z{{zzzz{{{|{{{zzzyyz{{zz|{{{{{|{y{zz{{{{{{{|{{z|y{yz{zz{{|z{{z{zzzyz{y{zzzzz||{{yz{{zzy{{z{{{{{{zzyzzyz{{zzz{{{zzzzzzzy{{{{z{zzzz{y{yzz{{zzzzy{yyyyyyzxzz{zz{{{zzyyzzzyzzzzzzzz{zyxzzzy{yyzzzzzyyyzyyyzzz{zyyzzzyyyyxyyzzzyzzyzyyzyyyzxzyzyzzz{yxzxyyzyyyzzzzzzzzyyyzzyzzzy{zzzyzyzyxzyy{zyy{zyyyzzxyxyyzyyzyzzyyzyzyzyzzyzzzzzyyzyzyzxyzzzzzzzyzzyyyyyyyzzyz{zzyzyzzyzz{z{yzzzzxyzzyyyzzzzy{z{zyyzyzzzyzzzz{{{zzzzzyyyz{zzzz{zyzzyyzzzy{zz{zzzzzzxzzyz{{zzzz{zyyz{zzzzyz{{y{{zzyyyzzyzzzzz{{{{zzzyz{zyz{z{yz{zyzy{zyyy{z{z{{{z|yzzyyz{{{{yz{|zzzzzz{{{zz{{z{|{{zzzzyzzz{z|{|{{{zz{zzyz{z{{z{{{{y{zzzzzzzz{zzz{{{z{zzzzz{z{zz{{{zzyzyzyy{{{zz{{{zzzy{zyy{zzzz{zy{zzzyz{{z{z{zyzyyyzyzzyyz{zyzzzzy{zzyyyzzzz{{zzzzyyzyzzzzzyzz{{zyyzyyyyyzz{yzz{zzxyyyzyyyzz{{z{zyyxyzyyyzzyy{{{zyyzzzzyyz{yzyzzzzyxzyyzzz{zyzz{yzzyzyyyzz{yyzzzzyzyzyxyzzyz{yzzzzyzyyyzzz{zzyzyzzyzyyyyzzzyzzz{zzyzzyyyzzzzzzz{yyzxzzyyzzy{zz{zyyyyyyzzzz{zz{y{yy{yzyyz{zy{{{z{zyzzyzzzzyzzz{{{yzyzzyyzz{zzz{zzz{{yzzzy{z{zz{zzzzyz{zyz{z{{z{yz{zyzzyzyzz{z{|zzz{z{yzzzzz{{{{{zzz{{zzzyz{{{{z{{{y{zzzzz{|{{{zz{z{z{{zzz{{{{{{zzzzzyz{zyz{z{{|||{zzzz{{z{{{{{zy{zzzzzzzy{{z{z{{{{zzz{zzz|{{{{|{{{{yyyzz{zzz{{z{zyzzzyy{y{{{|{{z|y{zyzzzzz{{z{{zzzyyzzxzyz{{zyyy{x{yzyzyy{{zz{{{{zzyzzzyyzzz{{zzzyxzzzyxzzz{zyzzzzyzyzyyy{zzzzz{zyzyyzz{xyzyyyzzzzyyyzyzyzzzzyzzyyzyyzy{yzzz{z{z{zyyzzyyzyzzzyz{{yyzzzyyyzzzzzzyzzzzyyzyzyzzzzz{zzyzzzzzzzzzz{zzzyzzyyyyzyzzyz{zzzyzzzzzyyzzz{{{{zzzyzzyz{{zzzz{{zzzzzzzyzzzz{zzzzzzzyzyyzz{{{{zz{zzzzyzzz|{{{{zzzzzzzzyzz{{zz{{zyz{{zzz{{|z{zz{z{{zzzzzzzz{|{|{{zz{zyz{zz{{|z{|{{yzyzzzzz|{z{{{{{zzz{z{{{|{{{z|{zz{zzy{{{{{{{z{{{{zyyz{zz{{z{{{{{z{zzyzz{{{|zz{{zzzz{zzz{z{zz|{{z{zzzzzz|{zz{{{{{zzzzzzz{z{|z{|{zz{zzz{{z{{z{{{zyzzz{yyzzz{{{yzyzzyyyyzyy{zyzzzzyxyyzyyzyzzz{zzyzzxyzyzyzzz{{zz{yyzyyyyzxz{zzz{yzyyyxyzyx{yzzz{zyzyzyyyyyzzzzzzyzyyyyzxyzyzyzyzzzyyyyyyz{zz{zzz{yyyyyyyyzzzzzzzzzyyyyzz{zy{z{z{{zzyzyyyy{zzzzzz{yyzyyxyzyzzzzzzzyzyyzyzyyzzyzzzzyyyyyzyy{zyzzzz{zyzyzzzyz{zzzzzzzzzyyyzzzz{{z{z{yyyzzyzzz{{yz{{{zzzyzyzzz{{{zy|zzyyyzzzzzz{zzy{zzyzzzyxxzzz{z{z{{zzz{{zyzy{{zzz{y{zzyyz{zz{z{{z{zyzzzxzzz{{z|z{z{zzzzyzyy|{z{{{|{z{{yz{z{{zz{{{{{zz{z{y{{||z{z{z{yzzzzyz{{{{{{{{{zy{z{zzz{{{z{z{z{z|{z{z{{z{{{z{zzzzzzzyz{zz|{{{{{yyzzzyz|zzz{{{zyzzzxzyzzz{zzyzyzyyyyzyzz{yz{zzzyyzzyyyzzyzzzzzzyyyyyyyzzyz{{zzzyyzzyzzzz{{yzzzzyzyyyyzyzzzyzyzyyzyyyzy{zzzz{zyzzyyyzyyzyzyzzzzzzyyzzyyzyyzzzyzyzyyzyyyyzyyy{|zyzyzyzyzzx{zzz{zyyzyyyzyz{{zzy{zzxzz{zyyzzzyyzzzyzyzyzyyy{zzyzzzzyzzzzyyyyzzyz{zyyyyzyzzz{{yzz{{zyyyzyzzzzzzzz{zzzzzxzyyyz{zzz|zzzzzyyzyz{z{{|{z{y{{zyzyz{{yzz{{zzzzzzyzz{z{{{{zyzyzyz{z{{{zy{z{zz{zyzzz|{z{zz{{zyyzzyyzz{zz{z{{{yzyzzzz{|{{z{z|zyzzzy{zzz{zz{zz{zzzzy{zz{|{{{{{zzyzz{zy|z{{{{{{{yyzzzzzzzzzz{{|{zyzzzyz|{z{{{{z{zzzzzzyz{{zz{{|z{zzxzzxz{{zzz{zzzzyzyzzyy{{{zzzy{yzyyyxy{zyzzyzyyyzxyyyzzzzyyz{zzyxyzzzzyzxzzz{zyzzzzyyyyz{yzzyzzzyyyzxz{zzzyyzxzzyyyzyzzzzy{zyzzyyyyyyyyyxyyyzyzzyyyyzyzyzy{z{yzyyyyzyzyz{zzz{yyzyyzyyz{zzzzzzzyyzyyyyyzyyzzzzyzzyyzxzzzzyyzzyyzzyzyyyyzyyzzzzyzzyzyxzzyzzzz{z{yyyzyyyzzzz{zzzyyzzyyyyyzyzzz{zyyzzyyyyyzz{zyzzzzzyzzzyyzyzzzzzzy{yyyyyz{{{z{{zzyzyzzyzyzzzz{zz{zzyz{xzzzz{zz{{yyyzzzzzz{{z{{{|yyzyyyzzzz{{zz{zzyyzzzzy{|{{{{{{yyz{z{{z|{zz{{zz{xz{zz{zz{{{{{z{zyz{zzzzzzzz{zzz{yz{zzzzz{{{{z{{{{zzzyzyzzz{z{z{zzzyzzzzzzzzyz{zzyyzzzzzyz{{z{z{zyyyxyyyzyzzzzz{yyyyzzzzzzzzzzz{zyyzyxxzzyzzz{{|zzyyzyzxzy{zzzzzzzyyyyyyz|zzzzzzz{zyyyyyyz{{yz{{yyzyzyyyyzzyz{zzzxyyxyxzzyzzzy{zyyzyyyyzzzyzzz{zyyyyzyzzzzzzz{{zyzyyyyyyzz{zzzz{yzyyyyzyzzzzzz{zzzzyyyzzyyzzzzzzz{zyyyyyz{zzz{{{yzzyzzzyz{z{{z{{yyyzyyyyzzyzzzz{zzzzyyzyz{yyz{{zzyzyyzyzzyzzz{{zzzzzzzzyzz{yy{zzzzzzzyyyzz{zy{{z{yyzzzyz{zzy{zzyzzyzzyyzz{|{{{z{zzzyzzzzzzz{z{{{zz{zyzzzzz{{{zz{zzzzy{z{z{{{{{{{{yzzyzzzz{{{{z{{|{{zzzzz{{{{z{z{zy{{{zz{{{{z{z{{{zzzzzz{z{zz|z{{|zyz{zz{zz{{z{{{{zzyz{zz{{z{z{z{z{zz{zyzzz{{{z{zyzzzzzzzz{zz{zy{yzyyzyzyzz{yzzz{zyyyzyxzzz{zz{zzzyzzzyzyzzyzzz{z{yyzyyyzzzzzzz{zzyyyzzzyz{zyzzzzyyxyyzyzy{zzy{{zzyzzyyyyzy{yyzzzyz{xyyzyzzzz{zz{yyyyyzzyyz{zzzzyx{yzxyyyyzzy{{{zyzzzyyyzzzyyzz{zzyzzzyxxzyzzz{zzzzzxzzzyyzyzz{z{zyyyyzyyz{{{zz{zzyyy{yzyy{z{yzz{{xzyyyzzzzzzzz{zzzzyyyyzyz|zz{{{zzzyyyzz{z{{{{{{zzzzz{yzzz{zzz{{zyzzzzzyzz{zzzzy{zzz{zz{z{{{{{{zzzyzzz{z{zzz{|z{zyz{zyzzz{z{z|{|{zzzyyzzz{{{{{{{zzz{zzzzzyzzz{z{{{zyyzzzz|{{|{z{{z{{{yzz{z{|{|{z{zz{yzzzzz|{z{{|{zz{{zy{{|zz{{{{zzzyz{zz{{zzz{{{{{yyzzzyz{{zyzzzzzzzzyzzzz{zz{{zyzyzyyzyzz{zz{z{zyzyyzxzzz{z{yzzzy{yyzyzzzzzz{zzzzzzyyyyzz{yyzzzzzyxzyzzzzzzzzz{zyzyzyzy{zzyzzzzyyzy{yyzzzzzz{{zzyyyyzzyzzzyz{z{yyzzzyzzzz{zz{zzzyzzzzyyzzzzzzzz{zzyyxyzzz{z{{zzzzzzzzyyyzzzy{z{yyyyyzyzzzyzz{z{zzzyzzyyz{z{zzz{xzyyzyzzy{zzz{{{zzzzzzzzzyz{z{z{zzzyzyzzyzzzz{{{z{{zzzz{z{{zz{{zyzzzyzyyzzz{yz{{zzzzzzyz{z{zzzyz{zzz{zzzzzz{|{{{y{zz{yzy{zz{z{z{zz{{zyyz{{{{{{{{|zzzzzzz{zzz{{{{zz{zz{{z{z{{{{{{{{yyy{z|z|z|{|{{zzz{{zz{{z{{z{|{zz{zzz{z{{z{{{z{{{zzzzzzz{{|{|{{{yyz{{zz|z{{{{{{{zzz{zz{y{{{{{{{zzzzzyzzz{yzy{yzzzyzyyzyz{{zzzzzzy{yyyyyyzyzz{zzzyyyzzzzyzx{zzzzzyzyyzzy{zz{{{z{yyyzyzzz{{{zz{y{zzyz{zzzy{zzyz{zzyyzyyzyy{zzzzzzzzyyy{yy{zz{zzz{yxyzyzzyy{zzyzyzzzyx{zyyzz{z{z{yzz{zyyyyz{xyzz{yyzyzxyzzzz{{y{{{zzzyzyyyxyzzzzzzzzzzzzyzyzzzzz{zzzzzyyzyzzz{z{zzzxzzyxzyzzzyzzz{y{{yz{zzz{z{{{{zyzzzzzyyy{zz{zzz{zzzyyzzzz{yz{z{|zzzzzyxz{{{zz{zzzzzyyzzzz{{zz{zzzzz{yzz{zz|z{{{zz{zzzzz{{{z{{zz|zyz{yz{z|{{z{{{{{yz{{zzz{{z{{{{{z{z{{zz{{z{{z|{yzz{zzzz|{{z{{|z|z{{z{z{z{z{||{{{zzzzz{y{z{{{z{{yzzz{zz{z{zzz{{zz{yzyyzzz{z{{{{zzz{yzyyy{zzzz{zz{yy{yyzyzz{zzzzzzyyyzzzy{yzyzz{{z{yyzzzyxzyzzz{{zzyyyzzyy{yyyzzzzyxzyxzxyzz{yzyzyzyyzyzxyyyyz{{{zyzyyyyyyz{zzzz{yyyyyzyyyzyzyzz{yyyxyyyxzyzyyy{zyyxyyyxxzzz{{z{yyzyyyyyyzzzzyzzzzyzyyyxzzyyzzyyyyyyyyzyyz{zzzzzzzzzyzxzyzzyzyzz{yyzyzxyz{zzyzzz{yyyzyyzyzzzzyzzzzyyyzyzzzzzy{z{{zyzyzxyyz{z{zyzzzyzy{yyyzzzz{{{{zzyzzzzy{yzz{{zzzyyzz{zz{{{zz{{zzy{{yzzz{zz{z{zzzy{zzzyzz{{{{y{{{zzyzyzz{{zz{{{{zzzzy{zzz{{z{z{|{zzzzzzzz|z|{z|z|xzzyy{z{{z{zzzz{yzzz{zzz{y{zz{{zzyzzzz{{{{zz{{{zy{zzzyy{|{z{z{{{zzzyzzyzzz{{{{{zyzzzyzyzzzzyz{{yzzyzxzyyz{|zz{zzyyzzyzyzzzz{zzzzzyyyzxxzy{yzzzzzxyyxyyyyzyzzzzzzzyzxyyxyyyzzzzzyzyzyyyyyyyzzzzzzxyzzxyxyz{zxzzyzxyyyyyyyzyyzzyyyxyxyyyyyzzzzyzzzyyyyyyzyzzzzzz{yzzyyzzzzz{yz{{zzyzzyzzy{zyy{zzyzzzyzyzzzzyzz{zzzzzyyzzz{zzyy{{|{zzyzyyyz{{zzz{{{zzyyxyzzzzzzzz{zzzyyzzyyzzzzzz{{zzzxzyyzzzzzzzzzzyzz{yz{zzz{z{{zzyzyy{yz{zzz{z{{yyzzzz{z{zz{z{yyzz{zy{yz{z{zzz{yz{yzzzy{{zz{{{zzyzzzzzyz{{z{{{{zzz{z{zzzz{{{z{{{{zzzzzz{zz{{{{{zzzz{zz{|z{z{z|{zyzzzzzzzzz{{{{{{zyzzzzy{{z{|{{z{{yyzzzz{{{{z{{zzyzzzzzzy|{z{{zzzyzyzyzz{z{zzzyzyzxzzyyyzzyzzz{zyyyyyyyx{{zzzz{|zzyyzyzyzzzzzyzz{zyyyxyyzzzzyy{zzzyxyyyyyzzyz{z{yyzyxxyyx{zzy{zzzyyyzyzyzyz{zzzyzyzyyyyyzyzyyz{{yzyxyyxyzz{yyzz{yyzzyzyxyzzy{zzzyyyyxzzxyzyzzzzzzyyxzzyyzx{yzyz{zzzyzyzzyzyyzzzzyyyzyyyxzzzzzz{zzyyyyyyzzzzz{zz{yyzzyyyyzzzzzzzzyzzyzyyyzy{zzzzzzyzzyyyzzzyzz{zzzyyzzyyzy{z{{z{{zzzzzyyzzzy{{zz{zzzyyzyy{z{|{{zzyz{yzzzz|{z{{z|{yzyzyzyyzz{{{{{{zyyyzz{y{{{{z|{zzzzzzzz{y{{|{{{{{yy{zzzzz{{zzz{zzzyzzzyy{{yzz{zz{yzzzzz{{||{z{{|{zyzz{z{{{zz{{|zz{yzzzzzzzz{{{z{z{yzyzyzz{{{zz{{yz{zzyzyy{zzzzzzzyyyzzyzz{zyzyz{yyz{yyyxzzzzyzz{zxzyyyyxzzzyy{{zzyyyyyyyyzy{xz{zyyyyyyyyzyzzyzz{zyyyyxyxzzzyzz{zzzyzyyzyyz{zzzzyzzyyzzyyzzyzyz{{yzxyzyxyyzzzy{zzzyyyyyy{y{zzzzzzyyyzyyyyzzxzzz{zyzyzzyyyzz{yy{{zzzyyzxyzxyzzzz{zyyyyyzzyzzzzzz|z{yyzyxzyzzzzzzz{zyzzyyzzzz{yyzy{yzzzyyyyzy{{z{{zyyzy{zzyz{zzzzzzzyyzyyy{z{zz{zzzzyzyzzyzzzzzzy{zzzzyzzzz{zz{zz{zyzzz{zzzzzyzzz{{zyzzzyzz{{{yzz{zzyzzyzy{z{{{{z{{{zzzzzz{z|zz{{{{{yzzyzzzz|{{z|zzzzzz{zyzzzz{{|{{{yyzzyz{{|z|{{{{{zzzzzyzzzz{y{z|zzzy{zyzz{zzzz{{{zzzzyzyy{y{{{zzzy{yyyyy{z{zz{zyyyyyzyyyy{zzyzz{zyyzxyxyzzzzz{{{yy{yyyzyzyzz{{zzzzyyyxy{zzz{zz{zxzyxyzyyyzzyzyzyyyyyzyyxzyzyz{zyyzyyyzyzzy{zyz{zyzyzyzyyzzyyxzz{yzyyyyzyz{zy{z{yzzyzzxxyzzz{zzzzxyyzyyyyzzzzzzzzyyyyyyyz{zyyzzz{zzzzyzyyyzzzzzzzzyyzzyzxzzzz{z{zzzyzyyzyzz{yzy{{yzyyzyyyzzzzyz{zzy{zyyzyzzyzzzz{zyyyzyyzyz{zzzzzyzyzzyyyz{zzzz{zyyyyzyxzyzzzz{z{zzzxzyzyz{{z{yz{z{yzzyz{{zzz{z{{{zyzzyxzz{|z{zzz{zzyzz{yz{{z|{{{zzzyz{zzz{{z{{{z{zzyzzzzz{zzz||{{z{zzzzz{z{z{zzz{yyzzzyzzz{{zzz{{zyzzzyz{zzz{{{{zyzzzzyzz{z{z{{zzzzy{zzz{{zzz{{|zzzzzyyy{z{{yyzzyyyyyzyyz{yzzzzzyyzzyxyxyyzy{z{{zyyzyzyzzzyzzzzzyzzxzyyyyzzzyz{zyzyxyxyyzzzzy{yzyyzzyzzyzyzzz{zzzyzyzyyyzy{yz{zzyyyyxzyyyzzzyyyzyzyxzzyzzzzyzzzzyxzzxyyy{zzz{zzzzyzyyyyyy{zzyz{zzyyzzyyyzzzyzzz{{zyyyyxxyzyz{zzzzyzyzzxxzzzzyz{zzyzzxyyyzz{zyz{z{z{zzzzzzzzz{z{|yxyyyyyz{zzz{z{{y{zyyzzyz{zz{{z{zyyyyzzzy{{zzz|zyy{zzzzzz{{yyzzz{zyzzzyzz{|{{{{zzyzzzzzzz{zzzz{{zzyyyy{zzzzzzz{zzyzz{zz{z{{zz{{zzzzyzzzzy{yz{{z{|{zzz{zzz|zzz{{z{zzzzyzy{{{zz{{{zzzzzyy{zzy{{{{|z{zzzzzzzz{|zz||{yyz{yzz{z{zy{{zzzzz{yyyz{z{z{{{zzyyyyzxz{zzzyz{xzyyzzzyzzzz{zzyzzzyyzzyzzzzzz{z{yzzyzyyzzzz{{zzzyzzyzyyyzzzzzzzzzzxxzzyy{zzyzyzzyyyyzyyyzz{zzzzyz{yxyzyyz{zzzzyyyyyzzyyzzzzzzzzyzyyyyxyzyzzzzzzzywzzyyyyzzz{{zzyz{yzyyzyzzzyzzyzyzxyzyzzzzyyzz{xzzyyzyxyyzzzyzzzxxz{yxyzzyz{yzzyzzzyyyzyzzz{{{{zzzyyzzzzzzyzz{{xzzzzzyzyzz|zz{z{zzyyyyzzzzzz{zz{zzyyzzzzzzzz{z{zzzz{zz{{|zzz{zz{zzzyzz{zzy{{{z|zzzzzzzz{{{z{{{{zzzzzzyz|{|zzz|zzzzzzzzzz{z{{{{|{xzzz{{{|{zz{{{zzyzzz{zzz{zz{{{|zzz{yzz{z{{zz{{{|zzzzx{{{{|{{z{|{{{zzzyzz{z{{{|{zzzyzzzz{{yz{{{{{{zz|zz{zz{{{{{zzzz{zzyz{zz{{{y{zzzzyyzyy{zyzz{zyzyyyyxzzzzzzzz{zxyyzyyzzzzz{{|zzyzxyyzzy{zzyyz{zy{yyyyxzzz{z{zzzzyyyzyyyz{zzzzyzyyyzyyxz{{zyzzzzyyyyyyzzzzzzzzyzyzzyyyyzyzzzy{zyyzyyzyyzyzzzz{{zyzyyzzyzzyyzzzyyxzyyyzyxyzzzzy{zzzyzyyyyzzzz{zzzyyyyzyz{z{zzz{{zyyzzyyzzzzy{{z{zzzzyzzx{{{z{zz{zyzzzyyz{{zz{z{zzyyzzyzzz|{yzz{z{yyz{zyy{z{yzz{zzzyzzzzyz{zyz{{zyzyyyzzzyz{{z{y{zyzz{zzzzz{{z{|{zzyzyyzzz|{z{{|{zy|yzz{z{||{z{{z{z{zzzz{z|{{{{|zz{zzzyzz{{{zz{{{z{y{zzzy|zz{z{{z{yzyz{zy{zz{z{{{{{{zzzzzz{{z{z{z{{zzzzyzz|{|{{{z{z{zz{zzyyz{{|{zzyzz{yzyzzz{{zzzzzyxyxyzzz{zzz{zz{zzyyyxzzzyz{|{zyzyzyxzzyzzzz{zyzyyyzyzzzzzzz{zzzxyxzzzzzyzyyz{zxzzxyyyyzyzz{{zzy{zzyxzzzzzzyzzyyzzzyzzzzzzz{{zxzyyyyyyyzzzy{zzyzyyzxyyzzzzzz{{zy{yzyyyyz{zzzzzyzzzzzyyyyzy{zz{zzzzyzzyzzzzz{{{zzzzyxzyz{yz{{{{{zyyzzyzzz{zzzz{zyzzyyyzzyzzz{z{zyzzyyzzzzzzz{zzzyzyzzyyz{zzy{{zzyzyyzyzz{{z{zzyzyzyzzyz{{{|z{zzz{zzzzz{zz|{z{zzzz{z{yzy{{z{{{{{|zzzzzzz{{{{|{z{{zyzz{yzz{{{z{{zzz{zz{zzzz{{{z{}zzzzzzzzz{{{{|{{{z{{zzzy{{{zz{{z{zzz{z{|{{z{{{{{{{zzzzyyz{zzz{{{{{zzxzzz{zzz{{{{zzzzyzzz|{{zz|z{zyz{zyzyz{{zzzyzyzyyyyzyyyzzzy{zzxxzzyyyyzzzzzzzzzyyyzyyzz{zzzzzyyxzyyyyz{zyzzzzzzyyyzxyzyz{yzzzyyyyxyzyy{zzz{zzyyyzyzyzyzzyzzzzzzyyyyyyzzyzz{zzyyyyzyyyyzzzyzzz{xyzxzxyy{{zz{zyyzyzyyyxzy{zzz{{yyzxyzyzxzzyy{zyzyzzyxxyyzzzy{z|zzzzzzyyzzzzy{{zzzzzzyzyzz{{zz{{yzzyyyzzzzz{z{z{zyzyyyyzyzzz{z{{zzzzyyzz{{zzz{zzzzzzzyzyzz{zyz{yyzzyzyzyyz{z{{{{z{yzzzzzzzz{z|{{zyz{z{zz{{zzz{|{z{zzyyyyz{{zzz|z{z{zzzyz{{{z{{|{zz{zz{zyz{zz{{z{{zzzy{zzyz{{{{{{{z{zy{z{|{y{{|{z{yyzzzz|z{{z{{{|zzyzzz{zz{zz{{z|zz{yyzzzz|{{{{{zzyy{yzzz{zz{z{zzzy{{yxzy{zzzzz{zyyyyyxyxyyz{zzzzyzyzyxyyyzzzzz{{{zyyzzzyzzyyzzzzzyzyyzyzzz{zzzzzyzyxyyyyzzzzz{z{yzxyyyyyyzzzzzzyzxzzyyxyz{yyzz{zyy{yxyyyzyyzzzzzyzyyyyyyyzzzyyzzzyyzyyyzyzzyzz|zzyyyyyxyyzyyyy{yyzyyzzzzzzyzzzz{zzyxyyyzzz{{z{zzzyzyz{zyzyzzzzzzzzyxyyyyzzzz{y{{zzzyyyyzzzzzzz{zzyzyyyyz{zzz{zzzzyyzzzzzzzzzz{zz{zzyzyyyz{{zzzzy{zzzyzyy{z{z{z{{zyzzzzzzyz{z{z{zzzzyzyzz{zzzz{|{{yzz{yzz{{{{{{{{zyzz{{{zzz{zy{{zzzzzzz{zz{zz{{{zzzz{zzzyz|z{zz{{zz{zy{zz{{{z{{{{{zzyyyzz{zzz{z||{zzzyy{{z{{z{{{{z{yzzyz{{zzz{z{{{{{zzzzzy{|{{|z{zzzxz{zyzy{zzyyyzyyyyzyyyzyzzzz{zyyzyxyyzzzyz{zzzzyzyzyyzyyy{zzzyyyyyyyyyyzyyzz{xzyyyyzxzy{yyzzzyyzyyxzyyzyyzyzzzyyzyxyzzyzzzyzyzxyyxyyzyyyzzy{zwyyyyxyxzzzzyzyyzzzzyyxzyzzzzzz{yyzyxyzyyy{zzzzzzyzyyyzzyzzyzz{zzzyyyyyxyzyzy{zzzyyyzyzxzzz{z{{zzzyyzxxyyyzzzyz{zyyzyyyyzzzyyzz{zyyzyyzyzzz{zzz{yyzzzyyyyyyzz{{zyzzzzyyzzz{{yz|z{zz{{zyzzyzzzzzzzzzyzyyyzzz|z{z{zyyyzy{z{{z{z{{{zyyzzyzz{z|zz{{zzzzyzyyz{{z{{{{zyzzzzzyzzz{{z{zz{yzzyz{zz{z{{z{{zz{yzyzz{{{{{zz{zzz{yy{zyz{zz{{z{zzzzyzyz{{z{{{zz{zyy{z{z{z{z{{{yzyzzyyyzz{zzz{zzyyyyzzyzzyzzzz{yyzyyyxyy{zyzzzzyzyyzyzyzzzzz{{zzzzxyzxyzyyyz{zzzyzzzzyyyzyzz{zzyzxyyzzx{yzzzzzzyzzyzzyy{{zyzz{zzzyyxyyz{zzzzz{zzzyxxzyyzzzzzzzzyzyxzxzyyyzzyzzyzyyyyxxzyzzzzzzzyzzzxzzyyzy{zzzzyyyyzxyyzy{yzzzzzzyyzyyyyyyzyzzzzzzxzzzyzzz{yyz{zzzyyyzyzzyzzzzzxy{yzyzz{zzzz{z{zzzyzyyy{{zzzzzz{zzyzyyzy{zyz{{zzzzzyzyyy{z{z{|z{zzzzzyzy{zzz{zzz{zzyyzzzzzzz{{zzzyzzzzz{{{z{{zzzzy{zzzy{{z{{zzz{yzxyzzzz{{z{z{z{y|zzzzzz{zz{{z{z{zyyzzz{|{{z{{{{yzzzzzyz{y{{{z{{yzzz{zzz{{{{{{z{yzzy{y{{{{zz{z{zzzzz{z{zzz{zz{{{zzzzzyzz{zzz{{zzyzyzyzyzz{z{zz{yzyyxyzxxzzy{y{zzzyyyyzyzy{zzz{{zyyyyzyzyzzzz{{zzxzyzyyy{{{yyyz{z{yyyyzxyzyzzzzzzyzyzyzyyy{yyzzzyyyyzzyx{zzyyzzyyyzyyzyyzzyzyzzzzyyxyyzyy{zzyzzzzxyyyzyyzyzzz{zyyzzyyyxyz{zyzyzzzyzyzxzyzzyyzzzzzyxyyxyyy{yzzzz{yz{zzzxyyzzzzzz{{yzyyyzyyzzzzzz{yyyzzyyzzzzzzzz{zzzyyyyzzzzzz{{zzzzxzzyyyzzy{{zzzzzzzyyy{{{yz{z{zzxyzzzyzz{zzz{{{zzzz{yzyz{{z|zzzzyz{zzyz{z{z{{zzzy{zyzyzzzy{{{zzzy{zzyy{{zz{{{{{zy{yzz{z{z{{{{zzzzzzzz{z{z{{{{{zz{z{zz{{{zzz{z{zzzzzzyzz{zzz{z{{zzzzzzz{{zzz{{|{z{zzyzzzz{z{{z|{zyz{yzyz{yzz{{{zzyyyyzyzzzzzzzyyyyzyxxyzzyyzzzzyzyyyyyyyy{{{{{zzzzyyzxyzzzyzzz{zxyyyyyyyzzzz{zyzyyzyyzyzzz{zyzzzyyyyxyzy{y{yzzzzyzyyyyyzxzyx{zzyzxxxyyyzyyzzyz{xyzyzyyyyyzyyzzzyxxyyyyxyzzzzzzzzyzzzyyxzzyzzyzzzxyyzxyyxyyxy{{zyyyzyyyzz{yyz{zzzyzyzyyzzzyzz{{zyyyzyyyzzzzzz{{yzzzzyxyy{zyz{zzzyyzzyyyz{yzzyzz{zyzyzzzzzz{zz{zzyzzzyzyyzzzzz{{yzzzzzzyz{yzyzzyz{zyzzyzzz{{z{{z{z{zyyzzy{{zzzzzzz{yzyzzzy{z{zz{zzyzzyyzyz|{z{{{{zz{zyzz{yz{zz{zz{y{z{zyzz{z{|{z|z{zzzzy{zzzzz{z{zzzyzzyyyz{zzz{zz{yzzzyzz{{{{{{{yzyyyyzzz{{zzzz{yz{yyzzzz|{zyyzzzzyyzzyyxy{zzzyyyzxyyyyxzzyzz{z{xyyyyyyxyz{{{z{{yyyyyyyzzyzzyy{zzzyxzyyyyzz{yzz{yyzyyyxyzzyz{zzyzxzxyyyyyzyyz{zzzyzxyxzyzzzzyzyyzyyxyyyyyyyzzzy{yyyyyyyyyzzyzz{zzzxyyyxzxyzzzzzyyzzyyzyxyzz{zzzzzyyyyyyyyzyyzyzzyzyzzyyyyzzzzzzzyyyyyzzyyzzyzzz{zzyyyyzxzzzzyz{zyzzyzyzzzyzzyzzzyzzzyzyyzz{zzzyz{yzyzyzzzzzz{zz{z{yzyzzz{yzzz{{zzzyyyxzyz{zzz|zzyyzyzzzyy{|zzzzzyzzzz{z{zzyzy{{{{zzzzzyz{z{zzz{y{xyzzzyy{zz{{z{{z{zyzzzzz{zz{{{zzzyzzz{yz{z{zzz{{{zzzzzzz{{zzz{z{yzyzzy{z{{{{{zz{zyy{yzz{z{{|{{{zzzyyzzzz{yz{{zzzyzzyzzx{{zzyzzzzzyyyxyxyzzzz{yzyyxyyyyyyyyzzzzzyyyyyyyyzzz{{zzzzzyzxyyxzyz{{zyy{yxyzyyzzzz{yzzzzzzxyyyyzz{zy{yyzyyyxzyxyzzzyzyyzzzyyxzyz{zzyzz{zyxyzyyyyzzzzz{zzyzyzyyyzzyzyzzyzyyyyyxzzzzzyyzyyyyzyzyyxzzzzz|zyyyyzyxxyyyyzzyyyzyyyyyyy{zyzz{zz{zyyyzzyzzzzzz{zzyzyzyy{zyzzyzzyzyyyyyyzzzz{{{{yxzyyzyzz{z{yzzzyyyyzyyyyzzzzzzzyyzyzzyyzzzzzz{zzyyyzzzzyyyzyzzzzzzzzzzy{{zz{{{zzyzzyyzz{zzzzzzzzyyzzzyy|z{z{z{yzyzzyyzy{zyz{{{zyzzzzz{zzz{|{zzz{zzzzzyz{{{|z{{{{yyzyyzzzz{z{{{|zzyyzzzyz|zz{z{|{{zyzyz{{{{{z{{{{zzzyzzzz{z{{zz{z{yzyzxzzzzzyzzzy{zyzyyyzzzzyzzzyyyyyyzxy{zz{yzzzzyyyxxyzy{zzz{|yyyxyyyyzyy{{zzzzyyzyzyyyzzyyy|zyzyyyyzyzzyy{zyzyyyyyyyzyyyyyzzzzyzyyzyyzzzzyzyzyzyxyzyyzzzzz{zzzyzyyyyxzzzzzzzzyyyyyyxyzyzz{yzzzyyzyyyzzzzz{zyyzyyyyxyyyzzzzzzzzyyyyxyyzzzyzzzzzzzyzyyyz{zzyz{zzzyyzyyy{z{zyzz{zzzzy{zzzzzzyzzzyzyyzzzyyzzzzzy{zyzyzyyyyzz{zzz{zzyyzyyzzz{z{z{zzzzyyyz{y{zzzzzzzy{yyyyy|z{z{{{zyzzzyzzzz{zz|{z{z{zzzy{y{{{zz{{{zzzzzz{zz{zz{z{zzzy{zz{zzzy{{zz{zyzzzzyzy{{zz{z{zy{zzyzy{z{zzzz{zyzzzzz{yzzzz{{{zzz{{zz{{{zzz{z{zyyyzyyzzz{zzz|{{zy{{yyzz{z{zz{{zzzzzyyy{zzzzzy{zyzyyxzyz{zzzzzz{zyyyzyyzzzyzzz{{yyzyyzy{{z{z{zyzzyxyyyzzzzzzyzz{zyxyxyxyzz{z{zzzzyzyzzyyzzyzzzzzyzzzyyyzyzyyzyz{yzyy{yzzzzzzzyzzyxyyzyzyzz{zzzzyyyzyzyyz{zyzzz{zyzyzyyyyzzzzyzz{zzyzyy{y{zzzzyzyzzzzzzyzy{{zz{{yyzzyzyyzz{zzzzzzyzy{yzyzzzyz{{z{zzzyyzy|yzzz{{zyzzyzzyzzz{zz{{zzzyzzzzzzzzzzzzzzzzzyyzy{zz|{zzzzzzzzyyz{{zz{{zzyz{yzzzzzzz{z{{zzzyzzz{z{z{{{{{{{yzzyyyzzz{|z{{z{yz{y{zzz{{{{{{|{zzzzz|{{{{{{{z{zzz{{y|z{{z{{z|{{zz{zzzz{{{{z|{{zzyz{zzz{zzz|z|zzzzyzzy{{z|{|{{z{zzyyz{zzzzz|{{{{zxy|zyz{z{z{z{zzyzyzy{yzzzzzzyzzyyzyyyzyy{xzyzzyzyzyzzxyyzzzzzzz{yxyyyxzyzzzzzzyyzzzyzzyz{z{zzzyzzzyyyyzzyyzyzzzyyxyzyyyzzzyyyzzzzyzzzyzzzyzzzzzzzzzzyyyzz{yzzzyyzyzyyzzzzzzzzzyyy{yyyyy{zzzzzzzyyxyyyyz{zzyzzyzyzxzyyyyzzyz{{zzzyyzyzyyyyzzz{zyyzzyzzyzzy{zzzzzyyzzzzzzzzzz{{{zy{yyyyyzzzzyzzzzzyzyzyz{z{xz{{zyyzzyxyyzzzz{zz{zxz{yyyyzzz{zzzz{zzzzyyzzzzz{{zzzzzz{zyzz{{{{zz{zzyzzzyz{z{{{{{{zz{zzz{y{{{{{z{{{yy{{zzy{|zz{{z{{z{zz{yz{zz{{zz||zzzyzzzz|{|{z{{zz{{zzz{|zzz{{{{zzzzzzzz{{zzz{{|{{zzzyzz{z{{{z{{zzzyyzy{z{{|{|{|zyy{yyzzz|zzzzzz{{zyyyyz{zzzyzzzyzyzzyxxyzzzzzzzyzyzyzyyzzzyzzzzzzyzyyyyzyzz{zzzzzyyyxyyzz{zyzy{zzxyyyyxzzyzzzzzyzyyyyzxzyyzyz{{{yyyyyxyyzzyyzy{yyyyyyyyzyyyyyzzyxxyyzzyzzzyzz{zzyyzyyxzzyyzzyyzzzyzyyyxzyzzzzz{yzyyzxxzyyzyz{zzyyxyyyyzyzzzyzz{zzyyxzyzzz{zzz{yzzyyyyzz{{{zyzyzyyyyzyzzzzzzzzyzyyzxzyzzzzzz{z{{zyzzzyzyzzyz{zzzyyzzzyzyzyzzy{zzzyzyyyzyz{zz{{zzyyyyzzzyz{z{z{zzyzyyzyzyzzz{zzz|z{{zzyzyz|{{yzzzzzyyzzyyz{{{zz{{yy{zz{{z{{z{{{{z{zzyzzzzz|{z{{{{zyz{zzzz|z{z{z{{zzyzzyzzz{z{{{{{zzzz{zy{{{z{zz{zzzyzyxzzz{{{z{z{zyzyyzzyz{zyz{zyyzzzyyzxzzzyzz{zyzzzyyzyyzzz{yzyzyzyzyzxzzz{z{z{zyxyyzyyzyyzyzzzzyyyzzyzyzzyzzyyyzxxyzyxzy{zzzxyyyyxyzyyyyzyzz{z{yzyyzxxy{zzzyz{zyyyyxyyzyyzyzz{zzyyxyyyzyzzzyzzyyxzyyyzzyzz{zzzzzzyxxyzyzzyyzzyzyyyzxzyyzzyzzyzzyyyyyzxyzyzzzyzzyyyyzzy{yyzzz{zzyzzyyzyyz{yzzzzyyzzyy{zy{zzzzyzzzxyyzzyz{{zy{zzyyzyzzyyz{zz{zzzzy{xzyyyzz{{zz{{zyyzyy{z{zzzz{{zyyzzyyz{zz{{{{z{zzyzzzzz{z{{z{{zzzyzzyzzz{{z{{z{zzzzzyyzz{z{{{{{{{z{x{z{{zyz{{{{zy{{z{{zz|zzz{{zzzzzzyyzz{z{z{{z|zzzzz{zz{zzz{|{{z|zz{zz{z{z{{{|z{zyzzzyzz{z{{{{z{zzyzyyzzz{zzzzzzzyyzyyz{{zzzyzyyyyyyyyyzzyyyz{yyyyyyyyzz{{yyzzzyyyyyzyzzzzzzz{yxzyyyzyy{zzyy{zzyyxyyxyyzzz{zzzzyzwzyyzzyzyyzzyzyxyzzyyzzzyyzzyyyzxyyyy{yxzzy{{yyyyyxzyyzz{y{zzzyyyxyyyzyzzzyzzyyzzxyxzzzzz{zzzyzyzzyyzzyyyyzzzzzyyyyzzyzyyxzzzzxyyzzyz{zzyz{|{zyzyzyzyzyyyzyzz{zyzyyzy{yzzzz{zzyzzyyzyyz{y{z{{{zzyzxyyzzzz{zyzzzyyzzzy{zzyzzzzzzyzzyzzzy{zz{{z{zz{zzyyzzzz{{{{yyyz{z{y{zz{zzz{zzy{{yyyz{{y{z{zyzyzzzzyz{{z{zz{zy{zzz|{z{z{{{z{{yzzzzzzy|zz{{{{zy{zyzz{{{z{z{{z{{yyzyyzzz{z{{{{{{zz{zyzz{z{{{z{{|yyzyzzzyz{z{{z{zzzzy{yzzz{z{zzzzyyyyzyz{{zzzzzzyyzyxyyzzzxyzyzyzzyzxyyzyzzzz{zyyyxyyyyzzz{yzzzzxyyzxyzyyy{zzyzzyyyxyyyyzyzy{zzzzyyyzyxzzyyz{zyxyyyxyzyzzzyzyzyzyyxyxyyyyzyzzzzyzzxyxxyyzyyzzzzyxyyyyyyzyyyyyzyyyyyyyyyzzy{yz{zyxzzyxyzyzzyyzyzzyyyzyzyxzyyyzzzzyyzzyyzzyzzyy{yyyzyyyyyzxzyzzz{yyzyyyy{z{zz{zz{zyzyyyzzyzyy{{z{zyzyzyzzz{zzz{zzzy{zzyyyzzzyz{{{zyzyzzyzz{zzyzzzyzyyzzzzzzz{zz{{zyzzyz{zzyz{{{{{zyzzzyzzy{zzz|zz{zzzzzyyz|{zz{{zzzzzz{{{y{{{|{z{zzzzzzzzz{z{z{{{z{zz{zzyz{zzz{{{zzyzzzyzzzy{{z{{{zzzyzyy{{zz{y{{yyzyzz{zz{{{yz{zzz{zzzzyzzzzz{zzzzyyzyyy{zzyz{zyyyyyyxxzyzy{yzzzyyyxyzxyyyz{zz|zzzyyyzyxyzz{zy{zyyzyyyyzyzzzyzzzzyyzxyxxzzzzy{z{yyzyyxyyxzzyyzyzzyyzyxxyzz{yzz{zxyyyxzyyzyzzzzyzyyzxyyyyxyzzyyzyzyzzzyxyy{yzzzz{yyzyyxyxyzyyzy{yyyyyyyyxyzyzzyzyzyzyyzyyzzyyyz{zyzzyyyyx{yzyyz{zzyxyyyyzz{yzzzzzzzyxyyyz{zzzzzyzyzzyyyyyzzzyzzzzyyzyyzzyyzz{zzzzyzzyyyzyzzzyyyzzyzy{zyyzyz{zz{z{zzzyyzyzzz{{{{{{zz{yyzzzzzzzzzz{zyzzzzyyzyy{z{{zzyzyzzzz{{{zzz|{z{zzzzzzzzzzz{z{zxzyz{zzz|zzzz{{zzzzy{zzzzz|zzzzzzzyzzyzzz|z{z|zz{yzzyzz{{z|{{|{{zyxzzyzzzzzz{z{{z{yzzzzzzzz{zyzyzyyzzzz{z{zzy{zyyxyyyyyyzyzyyzzzyyyyzyxzzy{y{zzzyyyzyxyzyzyyzzzyyzzyyzzzyzzyyzz{yyyxyyxzzzyyzzyyyyyyyyyyzxxyzzyyyzzzxyyzyzyyzzyyzyyyyyzzxyzyzyzyyyzyyyxzzyyyzzyyzyyyzyyzzyz{{yyyyyyyyzxyzzyzzzzzzyyzyzxyzyyzyzzyyyyyyzyzzy{z{zyxzyyyzyxyzy{yyzzyyyyyyyyyz{zyzz{zyzyyxzy{zzyzzz{zyzxyyxyzzzyzzzzyyyzzxzzy{zzyzzz{xyzyyyyz{{{zzzzzyyyxyzz{zzzzzzyzzyzyzzy{zzzz{z{zzzzzz{z{z{{{z{zzzzzzzyzz{{yz{z{zy{yzzyyzzzzz{|{zzzzyzzzyzzz{{{{z{zyzzzzz|zzzz{zzyzzyzyz{{{{zzzzzyyzzzzzzzz{{zz{yyzzzyzzzzz{z{z{{zyzy{yyy{yzz|{{{zzzzzyyyzyzzz{zzyzyyzyyyzzyy{zyyxyyyyyxyzyzzzzzyyyyzyyxyzzzyy{{zyyyzzxyyzz{zz{zyxyxxyyyyzzzyyzzzxyyyyyyzyzzyzy{yxyzyxyyxzyxzzzyyyzyxzxyzzzz{yzzyyyyzyyzzyzzzzzyyyyyzyyxzxzzyy{zzyyyxyyyzzzzzyzyyxyyyxyyyy{yzzz{zyyyyyyzy{xzzz{yy{yyyyyyzyzzzzzzzxzyyyyyz{yzzzz{{zzyzxyyzzyzz{{{zzzyzyzzyxzzz{y{yyyyyyzz{yzzzy{zyzyzyzzyyzz{z|zz{zzzyzzyyzzzzz{yzzzyzyzyz{zyyzzzxzyzyyzyzzz{z{z{zyz{zyzy{z{|zz{{zyzyyzyzz{zzyzzzzzzzzy{z{{zz{{{{z{zzxyz{z{{{z{{zzx{zzzzy{{{{{{{zyyz{yyyy{{zzzz{z{zzyyzzzyz{zz{|{{zzzzzzzzz{{zz{z{zyy{{yzz{zzz{{zyzzzzzzy{z{zzz{{zzzyyxyyzzzzy{zzyyxzyyyyyzzyzzz{zzyzyyxyzzz{zzz{zyzzzyyyzyyzzzzzzyyyyzzy{{zzyz{zzyyxyyyyy{zyzy{zyyzyyyyyzyzzzzzyzyzyxyyyzzzyzzzzyyyzxxyyxzyzz{zy{yyyxyzyyzzy{zz{yzyzyyxxy{{yzz{zzyyyyyyyyzzzzzz|yyyyyyyyzz{yzyzyyyyyyyzxzyzyyzzzzyyzzyyzzy{zzy|zzzyyzyyzzzzzz{{zzyzyyyyzzyz{{{{{yzzzyyyyzz{z{z{zzy{zyzzyz{{y{{z{{yzyzzzzz{z{{{{zzzyzzzzyz{{y{zz{zyzzz{zzz{z{yz{{yzzzzzzz{z{{z|{{zyzzzyyyz{{{|{zz{yzyzzzyz{{yz{{{zzzyzz{z{z{zzz{{{zzzzzzzz{zz{z|{{zz|zzzz|z|{{{{{zyyzzz{zz{{z{z{{{{{zzzzzzz{z|{{|zzyyzzzzzz{{{{{{zyzz{y{y{zz{{zzzyzzzzzyyzz{zz{zyyyyyyyyxyzzzyxyzxyzyyyyzyyyzzz|{zzyyzzyz{z{zzzz{zyzyyyzyz{zzzzzzzyyyxyxy{z{zzzz{zyzyyyyyzzz{zzzzyyyyzyyyyzzzz{zzzyyyyzyzzyyzzz{zzyzxyyxzyzyzyyzzyzxxyyxzyyyyzz{zy{yzyyyzyyzz{zzzzyzyyyyyyyyzyyzzzyyy{xyyz{yzzz{zyyyzzzyyzzyzzz{zyyyyyxyyzzzyzyz{zz{zyyzzzzzyzzz{yyzzyyxzz{zzzz{{zzyzzyyzy{z{zzz{zzyyyzyzzz{{z{zzzyxzyyyyz{zzz{zyz{yz{zzzz{{{yz{zzzzzyzzz{zzzzz{{zzzyyzyzz|zz{z{zzzzzzyyz{{{y{{{{z{zyyzzzzzzz{z{zzy{zzzzz{{{{z{{{zzzzzzzzz{z{{z{{{zzyzzzyzz{{zz|{{zzzz{zz{zz{|{||zzzzzzzzzz{{z{zz{zyzzyyzz{zzzzyyyzzzyyyzz{|{zzyyyzxzzyxxzyzyyzzzyzzyyxyzyzz{{zz{zzyyyyxyy{zzzzzyyyyxyyzzyz{zyyzyzzyxxyyyy{zzyzz{zzzyxyyxy{zzyzzzyzzyzxyyyz{zy{zzyyzyxzyyzyxzyzyzxxyxzzyxyyyzyzzzzyzyyzzyyyzzyzyz{yzyxyyyzzzzzzzyyyyzyyyyyzyyzyzyzyyyyxyyyzzyzzzzzzzyyzyxzy{{zz{zyzzxzz{zzz{{zzzzzzzzyxyyzzzzzzzzyzzzzzyzzzzzyyzzzzzzzyzzyzzyz{yyzyz{zyyzzz{zzz{zzxzzyzzyy{{yzz|{zzyzyzzzyzyzz{z{yzz{{yzzzzzz{z{{zyyzzzyy{{{z{{yz{yy{z{yy{zzz{z{{zzzyyz{z{zz{z{zz{yzzzyzzz{{{z{|zzzzzzzzz{zzzz{zzzzyz{zzz{zzz{z{{{yyz{zzyyz{{zz{|y{zzyzzzzzyyz{{z{zyyyzzyz{y{{zzzzzzzzyzyzzzyzzyyzzxzyyyxy{y{z{yzzxyyyyxyzyyy{z{zzxyyzxyyzzzzzyzzzzzzzxyxyzzzyzzzzzzzyxzxzy{zzzyzyxzyyyyyzz{yyzzyzzyyyyyzz{|zz{z{zzyxyyyyy{zyyzyzyyyyyyyxyzyzzzyxyyzyyyzyzyzyxyyzyxzyxyxzyzz{zzzzyyyyyyyyyzzyzzyzzzyxzyyyyzzzzy{zyyyyy{zyyz{zzzzzzyyyyyyzyzyyz{zzzzzyzyzzz{zyzz{{yyzyyzyzzzzzzzzz{yzzzxyyyzy{y{yzyyzyyzzyzy{{yy{zzzzyzyyyyzzyzzzzzzyyz{zzzyzz{{zzyzzyzzyyz{z{{z{{yyz{zzyx{z{zz{zyzyzzzzzzz{zz{{zzzzz{zzz{z{zzz{{{{z{yz{zyy{{{z{z{zzzyzyzz{zz{{z{zzyy{zy{yy|yzz{|{{zzz{zzy{{zz{{|{y{zyyyyyz{z{{z{{zzzzyz{yyz{{zzzzyyyyzyyzzyyzzzyyzzyyzzyyyzyzyzzzyxyxzxyyzzyzzzzz{yzyyzyyzyzzzz{zzyyxzzx{zzzzyzzzzyzyyyxxz{zzzzz{yxyyyzzxyzyzyzzzzzyy{yyyzz{yyzzzxxyyyyxyzzyyyzzzyyyyyyyyzzyyzzyzyyzyyxyyyzz{yzzzyyyyxyzzyzyzzyzzzyzyzyyyyyzyzzzyzzyxyzyyyyyzy{yzyzyyyzyyyz{z{zzzyzzyyyzyz{zyyzzyzxzyyyxyy{zyz{yzyyyxzyyyzzz{{{z{{yzyyyyyyzzzyzzzzyyzzyyyzzzz{{zz{yyzyyyzzz{zzzzzzyyyzyyz{zzyzyzzzzzzyzyz{zzz{{{|yyyzyzyyz{{{zzz{yyyzy{zyz{z{zz{zzyzyyzzyz{{zzz{{{zzyzzzzy{{z|{|{zz{z{zzzz{{{zzz{zyyzyyy{z{zz{z|{yyyzzzzz{{{{{{{{zyyxyxyyyzzzz{{z{y{yyzyyzz{{yzz{zyzyyyyy{yyzzyyzyzxyyzyyyyzzz{y{zyyyyyyxzzz{zz{yzzzyyzxxzzyyzz{{zzyzyyxyzzzzyzyzzzyyzyyxzzyxzzzzzyyyzxzyzyzzzzyzzxzyxzyxyyzzzzzzyyyyyyxyyyzyyzzzyxxyyyxyyyzyzzz{zyzyyyyyzzzyzz{zyxzyzyzyyz{{zz{zyzyyyyyyyyzyyyyyzzyyyxzyzzzzzyyzyyzyzzyyzzzy{z{zyyzyyyyyyz{yzyz{zyzyxxzzyyzzzzzzzyzyxyyzyzyzyzzzzzzyzyyzyyzzyzzzzxyyzzxzyz{zzzz{zxyzy{yzzzzyzz{zzzyy{zyy{{z{zzz{yzzyzyzz{{{zzzz{zyz{yyyyzz{{zzzz{zyzz{yzz{zyzyz{zzzzyz{y{z{y{|zz{zzyy{zyz{{y{{z{{{zzzzzzzz{{{{{z|zzzzzyzz{{zzzz{{zzyzzz{z{zzzz{{{zzzzzyz{{zzyzz{zyyzzyyyz{z{yz{zzzzyzyyzzy{zzzzyyzxyzyzyz{zyzzzzyyzzyzzyzzzyzzzzyzzzyyyzzyzyzzz{yyyyzyzxzzzyzyz{zyzxxyyyzzz{z{z{zyzwxzzyyzz{zzzzyzzyyzyxyyzzyzyzzyyyzyxyyyzzzy{zzyyyzxyyyzz|zyzzyxyxyyyyyzzzzy{zyyyzyyzxyzzzzz{zzzzyzyyyzzyyzyz{yxzyxyyyyzyyz{zzyzyzyyyyyzzzz{{zzzyyyyzyyy{zzzzzyxzyyyzzzzzyzzz{yz{yyzzzzzyyzzzyzzzzzyyyyzzzyzz{zzyy{yzyzz{yz{{zyyyzzyzyzzyyzyz{z{yzzzyzz{{{{z{zzzz{yzyyzz{{z{{{{yyy{zzzzyzyz{{zzzyzzzzzz{{z{||zzy{yy{{zz{{{{{z{{zyyyzz{z|zzz{z{{y{{zzzzz{zz{zzz{zzzzzz{zz{{{{{{zz{yzzzzz{zz{y{{z{|zz{zyz{z{zz{{yzzzyzzzzzz{zz{zzyzyyyzy{zzzz{zzyyxyzyzxxzzzz{zzzzzxyzzyxyyzzzzzzyxyzyyyzzy{zz{{zxyzyxyyzzzyzyzzzzzyyyyyzyzzzzz{yyyyyyxxz{zzz{{zy{yyyyyyzzzyzzyzyyyyyzyzzzyzy{zzyyzzyyzyyzyyyyzxyxzyyyyzy{zzyzzzzyyyxxxyyzyzyyzyyxyyxxxxy{zyzzyyzyzyyyyyyzyyyzzyxzyyxzxyzy{zzyzyzyyyyyzxzzzzyz{zyzxyyyzyzzz{zzz{yyyyyzzzyzzzyz{yzyxz{zzzyzzzz{z{zyzyzyyyzyzzzzzzzyyzyzyzz{zzzzzyyzzyyzzzyzzzz{z{zy{y{zzzzz{zz{{{zyzyzzzy{z{yz{zz{zzyzyzy{{{z{{{z{zzyzzzz{zzz|zz{{y{yzyz{{{{y{z{{{yyzzyz{{zzzzzz{{zzy{zzzzzzzz{z|yzxzzzz{|z{zz{{{zyzzyzzzzzy{zz{{{yzzzyzzzzz{{z{{zy{zyyyzyzyyyz{yyyyxzyyyzzzzyyzzyxyyyyyxzyzzyzzzyyzzyyyyzyyzzzzzzyyyyyyyzzzzzyzyyxzxyyxzyyzyyyxzzzyyxyyyyxyzzzzzzzxyyyyxzyzyyyzyyzxxyzxzzzzzyzyzyzxyyyyzyyzyzzzyxzyxyzxyyz{zzzzyyzzxxzyyyzy{zyzzyyyyyxyyy{zyzyzzxyyzyyyzyyzyz{zzyzyzzyyyzzzzyzz{yyyyyyzyzzzy{{zzzz{yxxyzyzzzz{zzyzzyzyzyyzzzzzzzyyzxzyzyyzz{yzzzzyyzyyyyz{zzy{zzyzyzzyyyzzzzzzyzyzzy{yzz{yzz{z{zyzyz{zyzzz{z{{zzzzyzzzzyzz{z{zzzzzzzzyyx{{zy{||zyzzzz{{zzzz{{zz{{zzyyzz{z{z{y{zz{yyzzyzy{{zzz{zzzzzzyzz{yyzzzz{{{zyzzzzzz{zz|z{{zyzyzzyy{|zzz{zz{yyyzyzyzz{zzzyzzyyyxyyyzzzzzz{yzyyyxyyyyz{zzzyzyyyyyyzyy{{zzzyzzzyyzzzyzzyyzzzyyyyzyyxzzyzzyzz{zyzyxzxyzyzyzzyzyyyyzyyyyzzyzzzzzzyyyyxyyzzzzzyzzyyxzyyyzzyzzzyzyzyxyyyyyyzyz{{zyyyxxyyzzz{zzzzyyzzyxyyxyzz{yzzzzyyzxyyzzzzyzz{xzzzzzyyyyzyyzzyzzyzyyzyx{zz{zzzzzzyyzyyxzz{zyzzzyzzyzyyzz{zzz{{zyyzyyyzyz|zzzzzzzzz{yyzzzyzzz{{z{zzyyyyyz{zy{z{zyyzzzzyzzzz{zzzzzzyz{z{zzzz{y{{{zyzzzzzz{z{{z{z{zzzzyzzy{{{z{z{{{zyz{yzz{{{zz{{{z{{yy{zyyzz{{zz{{zzzy{yz{{z{z||{zzzzzyyx{z{|{zz{{yyyyzz{y{z{{{|{zzy{{zzzzz{{{{{{zzzzzzzx{{zz|z{zzyyzzyzzyz{zzz{zzz{yyyyzzzzz{zzzyyyyyyyxyzzzzyz{zyzyyxzyyy{zzzzzzxyyxyzyzzyz{z{zzyyyzyzyzzzzzy{{zzyyxyyyyz{zzzy{zyzyxyyyz{y{y{zzzzyyyyyyyzzzyzyyzyyyyyyyzyyzzzzzyzyzyyyyy{zzzz{zzxyzxzyyzyyyzzzzyyzyyyyzzyzzyzyzyyyzyyyyyzyyyzy{yyyyyyzyzzzzzz{{zyyyzzyyyzzzyz{{yyzyyzzyz{z{zzz{zyzzyyzyzyy{z{z{yzzzyy{yz{zzz{{{zyzzzyzyz{zzz{zzzyzzyxyzzz{zz{zzzzyzyzzyyyzzy{zzzzz{zyzyz{{{z{{zyz{zzzzz{{zzz|{{{yzzz{y{z{{z{{{zz{zzzzzzz{zzz|{{{zyzyz{zz{{z{{zz{zzzyzz{z{zy{{{{zz{zzzzz{zzyz{z{zzzzz{{zzz{{{z||zzz{{{{y{zz{z{{zz{zy{{zyzz{zyz{{zzzyzzz{yz{{y{zz{yyyzyy{zzz{{yyyzyxzyzzyyz{yzz{{zyxzyyzzzyzzz{{zzyzyzxyyzzzz{z{yyzyyy{zyzzzz{z{zyyyxyzzxzyzzyzz{zzyyyyyyyz{yyyy{zyxyzyyz{zyyzzyzzzzxxzzzzyyzzzy{yxyyxyyyzzzzzzyyyyzzxzyyzzzzyzz|yyxyyyzyy{zyzyzzyyyyyyxyzxy{zzzzzyzyzyyyy{yzzzzzyzyzzzzxyyz{yz{{zyyzzyyxyz{zy{zzzy{zyyyzzzyzzz|{zzzyzyzzzz{yzzz{zzyzzzyyyz{z{z|zzzyyzyzy{zzzzzz{zz{zzyzz{z|zzzz{zyzyzzzyy{z{{|zzzz{z{yzzzzz{z{{{zzzzyzzz|z{{{zzz{zxz{zzy||{{{{{{{zzzzzz{z{{z{zz{|zzzzz{yz|{zz{{{zzzzzyzz{z{z{z{|zyzzzzz{zz{{zzz{{zzz{zz{{z{{{zz{zyzzzzzzzzzzzz{|{yyzzzzzz{z{z{{{{zzxzyyyzzzzzzzzyyyzyxyxyzzzzzz{yyyyyyzzzzzzzzzz{xyyyzyzzyzzz{{{yzzzzzyyzyyzzyyyzzzyzzxzyy{zzzyzyzyzyxyxzzzzz{zz{{zyzzzyzyzzy{zyyzzyyyxzyzzzyzyzyzyyzxyzy{yyzzzyzyyzzyxyyzzz{zz{{{yyyyxyyzz{zzz{zyyzzyyy{z{yy{zzyzyyxyxyzyzzyzzzyyyyyzyyzy{z{z{zzzzwzyyzz{yzyzz{zyzyzzzyyzzz{zzzy{yyyzyzzzzzz{z{zyyz{yzzzz{{zz{zzzyyzyyzz{zz{z{{zzzzyzyyzzzzzzzzzyzz{{zzz{z{zz{{z{zy{zyz{zzz{{zzzzyzzzz{z{z{{z{{zyzzyyyyz{zz{{{z|z{yzzz{{zz{{{{{{yzzz{z{z{zzz{{{{yyzzz{y{{{z{{zz{zzyyzzz{zzzz{{|zzy{zyzz{{zz{z{{zzzzzyzzzz{{z{{zzyyzzz{y{{{zz{{{yz{yzz{zz{{{zyzyyzyyyyyxzyzzzyzzyzyyyxyxzzzyzzz{zyyzzyyyzzzyyzyzz{zxzyzyyzzzyzy{yyzyyxxxz{zyyzzzyxyxxzyyzzzzyyzzzyyyyyxzyzzzyzzyzyyxyyyyzyzxyzzzxxyyyyyxyzyzxz{xyyzyyzyyzyzx{zyzyzzxxyyyyzz{zzz{yyyzyyzyyxzzyyyzzyyyyyxzzzzyzzzzzyzxzyzyyzzz{{{yzyyyyyyz{zzyz{zzxzzzyyzzzyzzzzz{yyzzyyyzy{zzz{zzzy{yzyzyzzzzzzzz{yyzzzyyzzzzzzzzzyzzyzyxz{zz{z{zzzzzyzz{z{{{z{zzyyzzzz{zz{zz{z||{zzz{yzyz{z{z{{zyyzyzyyyz{{{{{{{z{zyzzyzz{{{zz{{zzzzzzzy{{z{z{{z{z{zz{z{{zz{{{{{{zyyzz{zzz{z{{z{{z{zzyzz{{{{|{|{z{yyyyzzy{z{{{z{{yyyzzyyz{{zzzz|{zxxzzyy{zzzyyzzyyzyyyzxzyzzzyz{yyzyxyyzzz{zz{{z{zz{zzyy{zzz{{zzzzyyyyyzy{z{zyz{zzzzxyzyz{yzzzy{yzxyyyyyyzzyzzzzzxyzyzyyyzzyzyzzyyxzzxyzzy{zzzzzyyzyyyzzyzyy{zzyzyyyzzyyz{yzzzzzyyxyxyxyzzzzzz{zzzzzyxzyzzzzzzyzzyyyyyyxyzzzzzzzyyzzzyyyyyzyzzz{zyzzyzyzzzzzz{z|yyzzyyy{yzyzz{{zyzz{yzyzzzzyzz{zyyzzyyyzzzzzzzzzzyzyzzyzz{{yzz{zzzyzzyyy{{z{z{zy{zzyy{z{zz{zz{z{zzyzz{zz|zz|zz{{zzyzzzyyz{{z|{zy{z{{yzzzzz{{{z{|zzyyz{zzzzz{z{{{zyzyzzz{y|z|{{{{{{z{zzzzz{{{zzzzzzzzzyyzz{z{{||z{{zz{zzzzz{{z|{zzyzz{{yyz{zzz{z{zzyzz{zzzzzzz{zzzzzyzyzyzz{yz{yyyyxyzy{zzz{zzzz{wyyyyyyyzyyyzzz{zyzyyyzyzzzzzz{zyyzyzyyzyyzzzyz{zyzyyzyyzyyzyzz{yzzxyzyyy{y{z{zzzyz{yzzzzyyzy{zyyzyxzyyyyzzzzzzzyyxyxyzzyzzzz{{{zyyyyyxyzzzzyyzzzzxyyzyyyzyzyzzzzyxxzzzyyyyzyzz{zyyxzyyzyzyyz{zzyxyzyzyyzy{zzz|zzzyyyz{{zzzzyzzzzyzzyyyzzzzz{zzzy{yzyyyz{zzzz{{z{yzyyyyyyzz{{{zzzzzyyyzyzzzzzz{{z{yyzyzy{{zzzzzzyzzyzzyzz{{{{{zzzzzyyxzy{{zzzz{{zzzzyyzz{{zz{{zzzzzzzyyz{{zz{zz{{zz{zzzyz{{{z{{|{zzzzyy{{|{{|{z{zzzzyyy{{{zzzz{z|zzy{zzz{y{{{z{|{yzzzzzz{{{z{{z|zz{y{zzz{{z{z{{{{{yzzyyyy{z{z{{zzz{yyyzzzyzyzyyyzyyzzzyyyzzyyyzzzyzzzyyyzzzyz{zzzzyxxzzyzyxz{zzzzyzzzxyyyy{yyxzzyzzyxyyxzzyz{zz{zyyzyyyyz{z{zzyyzxyzyyyyyxyzyzzzyyyxyzxyz{yzy{yzyyyyyyyyxzzyyyzzzyyyyzxyzzyyzzzzzzyyyyxyyzzyzz{zyxzzyyyxyzyzz{zzyzyxxyzyzyyxzzz{zyzzyyzyzzzzyyzzzyyzyyzzyzzzzy{zzyzyzxzyyzzzzzzzyyzyyzyyz{z{yzzz{zyzzyyyz{{zzzzzyyzyyyyyyz{zzy{zyyzzzyyyzz{zzzz{zzzzzyzzzzzz{z{{yzzy{zzzzzyzz{{zyyz{zyyyz{zzyz{zzyyz{zzzzzzz{{{{z{yyyzzzzz{z{z{{{zyyzzzyz{zzz{{{zy{zzyzzzz{zzz{{zzzzzzzzzzyzz{||zzyz{zyzz{{{z{{{zzyzzyzzzzzzz{|{y{yzzyzzzzyzzz{z{yzyyzyyzzzzyzzzyyyx{yzyyzzy{yyyyyyyyxyyy{yyz{zzzzyxyyyyyyzyzyzzzyzyzyyzzzzyzzzzyzyyyyyxzyzzz{yzyzxyzxxxyzzyzzyzzyyyyyyzyyy{z{zyyxxyyzyyzzyzyy{zyyyyzyyzxzzyzzyyyzyzxyxzyyzzy{zzzyzyxyxyyzyz{zzzyyyyyyxyyzyyzyzzy{yxzzxyyzyyyzzyyyyyyxyxzzyzzz|zzzyyzzyyzyz{zyzzyyyyzyyxzzz{{{z{zzzyyyyyyzzzz{zzzyzyyyzyy{z{zzz{{yyzzzyzzzyzzzzzzzyzzzzzzzzyzzyzyzzzzyzzzzz{zz{zzzyy{yzz{z{zz{{{zyzyzyyzy{{{y{{zyyz{{zyzz{zz{z{|zzyzzzz{{{{{{zz{{yyzyzyyz{zz{{{zzyyzzyzz{zzzz{{zzzyyzzyzyzz{zz{{yzyzzz{{{z{{zyz{yz{zy{yzy{{{z{{{zyyzz{{yz{zyz{{zzzyyyyzyzz{zzz{zyzxyyxyyzzzyzzzyyzzyzyyxyyzzzzz{zzzyyyzyzzz{zz{zyzzzxzyzzzzzzz{{{yyyzyzyzyzzz{{yyyyyyzyz{y{zzzzzzyz{zzyy{yzyzzzzyyyyyyyzzyzzzzz{zyyyzyyyyzzzzy{zzyyyyzxzzzzyzzyzzzyzyyxyyz{{zz{yzzzzzyyyyzzzzzz{zzyzzzyzyzzyzzz{yyzzzzzzy{zzzz{z{yzxzyyyzzyzy{{{zyyzzyyzzzzzzz{zzyzzzzyzzzyzz{{zzz{yzzzzy{{zz{{zyzzxyzxzy{zzzz{{zzzyzzyzzzz{{zz{{yzyyyzzy{{{{{|{yyzy{zzz{zz{zz{{{zyzzyzzz{z{zz{yzyyzzzzz{|{y{{z|yzzyzy{zzyz{{{{{{zzzzyzyy{z{z|{{{{z{zyxzz{{{|z{{z{zzz{zyz{y{{|{|zzzz{yz{{{z{{{zzz{zyzzyzz{z{{{{{zzzyzyzyzzzzz{y{yxzyzyyzzzzzzzyyyyyyyzzxyzzzzyzzzyyzyyyyzzzzz{yyzyzxyzzy{z{z{zzzzyzzy{yyzzz{yz{zzzzyyyyyzz{yz{zzzyzxxyyxyyzyzz{zzyzyzxyyyxzyzzz{yyzxyyyzzyzzz{zzyyyyyyyyy{{zzzzzyzyyyzyzzz{zzyzyyzzyyyxyyzzzzzzzxyyzyyzxxzyyzzzzzyyyyzyyxzzzzz{yyzzyyzyyzzzyzz{{{zyy{yzyyz{zz{{zzxzyxyzyzzzzzzzzzzyzyzzzzzzzz{{zzzyy{yz{z{zz{z{{zyyyyyzzzz{{z{{{zyxzyyyyzzzzz{zzzz{{zyz{{{{zzz{{zyzyzz{yz{z{zz{{zzzzyzzyzz{{zzzzzyz{yz{yzy{zzz|{zz{zz{{z{zz{z{z{{z{zz{zzz{{{{|{{zzzzzzzyzzz{{{{{zyzzyz{y|{{z{z{{{{y{{zzz{{zzz{{{zzzyyzzy{{z{z{{{{zz{yzzz|zzzzzzzyzyzyxz{y{zz{y{zzyyyyxyzyzzzyzzzzyyyyyyyzzzyz{{zzzzyyyyyyzyzz{{zzyzzyyyzyzyzyyzzzy{yyyyyzzzz{zy{zyzyyyyyzzzzzy{z{zyyyxyzzz{zzzz{zyyyyzzyzzyxzyzzyyxyzyyyyzzyzzz{yyyyzzyyyy{y{yzyzzyyxyyyyyzyz{{zyxzzz{yyyzyy{z{zzzyyxyzyyyzzyzz{zzyyyyyyyzzz{{{{zzyy{zzyzzyzzz{zzzyyyx{zzzzzzzzzyyzzyzyy{z{yzzyzzzzz{yzyzz{yzz{yyzyzzyzyzy{{{z{{zyyzyyyy{zyzyzzzyzyyyzyzz{{{z|{{zzzz|zzzz{zzz{{zzy{zzyyxz{y{z{zzz{zzzyzz{{{zz{{|{zzzzz{zyz{{{zz|z{zzzzyy{|{z{z{{{zzzzyzz{{{zyz{zzzyz{zzzz{{z{z{{zzzzzyzzzzz{{z{{{zzxzzzzy{z{{{z{{{zyyzz{yzzz{{zzzzyyzzyyzzzz{zyzxzyzzyzxyzzyzzy{yzyyyxyyzzzyzzzzzyzyzxxyzzyzzzy{yyyzzxyzyzzyzzz{yyyxyyzyzy{zyzz{yy{xyzyyzzzyz{zzyy{x{yyyzzzyyzz{yyyxxyyzzzyyyyzzxyzxyyzyyzyzyzyzyzyzyzyzyzxyyz{zzyyzxyzzzyzzz{{{{yzyyxyyyyyyyzzzyyyzyx{yxyyyz|zyzy{yzyyy{zzzzz{{{yzy{zzyzzzzzzz{zyzyzyz{{z{z{{z{zzzyzzyzzy{zz{z{yyzzyzyzyz{{{z{yzyzyzxzz{y|zz{{{zzzyyzyyzzzzz{{{zzzzy{zzz{z{z{{{yyy{zzzzzzyzy{{{zzzzzzzzz{zz{zzzzyzyz{zz{{{zz{zzyzzz{{{zz{z{{{{z{zzzyz{{z{{zz{{{{zz{zyzz{{z{|{{z{yzzzzzz{z{z{{{{zzz{zzzzz{zz{{z{{{{zzzyz{zzzz{|zzzyyzzzyz{{zzzz{zzyzyzzzzz{{z{zz{yyyyyzxzzzyzyzyzyyyyyzxy{zz{{z{yyyyyxyy{yzyzy{{yyyzyzzzzzz{zzzzyzyyxyzyz{zzzzzzzyzxyyyyyzzyyz{zxxyyyyyyzyzyzzyzyzxxyzxyyzyzyzzyzyyzy{zyzzzyzz|zzyxxyzyzyz{yzzzzyzyyxyyzyzzyzzz{zzyyyyxyzyzyyyzzzzyy{xyyzzyzyzzz{zyxyyyyzzz{zzzzzyyx{yyyzz{yyzz{zzyzxyyz{zzzzzzzyzzzyyzz{yz{yzzzyyzzzyyzzzz{yzzzyzyxyzzyyz{z{zzzzzzzyzzz{z{zzzzzzzzzyyzzzz{{{{{{zz{z{yzz{{zzzz{zzzzyzzzz{{zzzz{zzyyzz{{y|{zz{{zzy{zzzzzyy{zzz{{{{z{{y{zyzz{{{{z{zy{zxzzy{z{zzz{zzyzzzz{z{z{z{{{{zyz{zzzz{{z{z{z{{zzy{{zzzzzzyzzz|{zyy{zzy|zzz{yzzyzyxzzyzzzzzyyzyyxzyyyxyzyyyyy{zyyyyyyyzzzzzz{zyxyyyzzyzyzzzz{zyyyxyyzzz{yzyzyzzzyyxyzyzyyzzzzzzyzxxxyyyzzyyyzyyyzyzzyxzz{yzzyzzzzzyyxzzyyzzzzzzxyyyxzyyyyzzy{yyyxyyzyzyyzyzzy{zyyxyywxzyzyyzzzyyxyxxzw{zyyzyyzzyyyyyyyyxyyyzzyzyyyzzxyyzy{zzz{yyyyzyyyzzyzyz{{zyzzyyzyzyzzzzz{yzzzzyyyyzzy{zzzzyzyyyyyzzzzz{zzzzzzzyyyzzz{{z{zzyyyyyyyzzzzz{zzzzzyzyyzyy{{{z{zzz{{yz{{zzzzyzy{zzyzyyzzzzyzy{|zzzzzyzzy{zzz{z{zyzzzy{{zy|{zzzzzzyyzzzzyy{{z{{{{{zzzyzz{zz{{z|{{{zzy{yyz{zzz{{{{z{{y{zzzz|{{z{{zzzyyzyyyzz{{z{z{{zzzzyyzz{zzzzzzzzyyyzzzzzzzzzzzzzzyzyyyy{zzzzzzyzyyzyxyzyzyyzzzyyyyzzzyyyzzzz|yyyzyzyyzz{zz{{{zyzyyyyyyyyzzzzyzyzzyxyyyyzyyxzzzyxyyzxzyyyzyyzyzzzyzyzzyyy{yz{zzyzxxyyyxyzzzzz{zzyyyyyzy{{{zzzzzyyzyyxxyyy{zyzzzzyyzxyxzyzyzyzzzzyyyyxzyyzyyy{z{yyzzyyyxzzzz{{z{yzzyxzzzzzzzyzz{yyzyyyzzzyyzzzzzzzzyyzzyyz{zzzz{zzyzzyyyz{{zz{{zzyyxyzzy{y{zzz|zzyyyz{yyz{{z{{z{{zz{zzyzzz{z{{z{yzyyzzzz{zzzzz{{{{zzzyzy{{{z{z{zzyzzzzzzz{{zzz{{zzzyz{zzzzzzz{zzzzzzzyy{{{{{{{||zz{zyzzzzz{{z{{z{y{|zzyzzzzzz{{z{{zzzzzzzzzz{{{{zzzyxzyzz{zz{{|{{{yxzzzzz{{{zzzzzzyyyyzy{zzzzzzyxyyyxxyyyzzyz{zzyyyzyzxyzzzzzzz{yzzyxyzyzzyzz{{zzzyyyzyyyzyzyyzzzyyyxyyyzzyyzzzzzyyyyyyzyyzzzzzzyyyxyzxyzzzyzyzxzzyyyyyyyyz{zy{zyyyyyyyyyyzyzz{yyyxyyzxyzyyyzzyyyyyxxyyyxzzzyzyyyyyyyxyzyzzzyz{zyyzyyxzzyzyyyzyzyyzyzyyyzyzz{zz{zzzyyyzyz{yzz{zzzyzzxzzzyzz{zyzzyzyyyyzzyzzyzzz{zzzyyxzy{z{zz{yyyzyyzyyyy{zyz{{zyyz{yzyyz{zzzzzyyzzzzzzyzzzz{zz|zzzyzyyyzzzzy{z{{yzzzzyy{yzzz{zzzyzzzyzz{{{{zz{{zzzzz{zzzzzyz|{{{zzzyzzyz{{{zz{z{yzyzyyzzzz{{{{{zzyyzz{z{{zzzzz{zzzzzzzz{zzzz{{{{zyzyyyzz{z{{{{{zzxzyzyyzzzzzzz{xyzyyyyyzyz{yzzzyyyyyxxyxzzzyzyzxxyxyxyyzzzyyz{zzyyyxyzzzzyzyzzzxzzyzyzyzzzzzy{zyyyyxyyyxz{zzyzzyxyyyyxxzyyzzzzzyyyyzwxzzzzyyzzzyyyxyzyyyyyyy{yyyxxyyxxxyzzzyzx{yxxxxyxyxyyyzzyyzyyzyxxyyyzyyz{{yyyyyyyyzyyyyyzzyxzyxyyyyyyzzzzzzzzzzzyxyyyyzz{yyyyyzyyyzzzzzzzzyxzxyyzy{{zyyzzzxyzyyxxzzzzzz{zzzzzzxyyyxyzzzz{zyyzyyyyyzyzzy|{yyyyyyyzyyyzzz{zzzy{yyzyzzyz{{z{zyzyy{yyzzzzzz{zzzyzzzyyyz{{{yz|zzyzyyyzy{zzz{zzzzzyzy{{yzzzzz{zzyyyxy{zzy{z{zz{zzzzzyyyzyz{{{zz{zzzzy{zzyyzzz{z{zzzyzzzzzzzz{z{{zyyyzzyzzzzzz{z{zzzzyzzyzzyzzzzzyyyyyyyyzyy{zyyyyyxyyxxyxzzyxyyzxyyyyxyxyyzyyzz{zzxyyyyyyyzzzyz{yyyyzyyy{zzyzzzyzyyyyxyyzzzyzyz{yyxxxyyyzzyzz{zyzxyxyyyzzyzyzyyy{yyxyyxzyyyyyyz{yyyyxxyxyyzzyzzyyxxyyzyxzyyzyzzyyyzywyxxyyyyyyzyyxxyyyyyzyzyyzyyyzyxyyyyxyyzzzyzyyyyx{zxzzzzz{zzyxyxzzzxyzyyzyz{zyyyyyyyyyyzzzzzzyyyyyyxyy{yzyz{zyzyzyyyyyzzyzzyyxyzzyyyyzzzz{{{zyyzyzzzz{yyzzy{zzyyzzzzzyzzzzz{yzxyzzzzzzzyyzz{zyzzyzyy{{{zzzzzzyzzzyzyyz{zy{z{zyz{zzzyzzzz{{zz{yzzyzyzz{zzzz{{zyzzyyzzzz{zzz{zzxyyzyzzz{z{z{{z{yyz{{zzzz{yz{z{zyzyyyyyz{{z{{{zzzyzyyyxzzzyzyzzyyzyxxyyyyyzyzy{zxxxyyyxy{zyzzzyyyzyyyyzzz{zyzyzyzyzyxzyzzzyyyyyzzzyyxzz{zzzzzzzzzywwxyyyyzz{zy{zzzyyyyyzzz{zyyyzyyzyyxyyyzzzyyzyyyxyzyyyyzyyzz{xyyyyyzxyzzyzyzyyxxyxxyyz{yyyyzyyyyyxyxxyyzzzz{zyyyyyyyyyzzzyyzyyxxyyyyyyzzzz{zzzxyyyyzyzzzz{yzzzyyyzyyzyzzzy{zzzyyxzxzyzzzz{zzzzzyzyyyzyzzzyz{zzzzzyzyzyzyzzzyzyyzyyyyzy{zzz{{yyyzzzyzyzyzz{y{zzyyzyyzz{y{{zyz{yzyyyzyyzzzzz{{{zyyzyzyz{zz{z{{{{xzyzzzz{zzy{{{{zzzzzzzzz{{z{{{{z{zyzzzzz{{{|zz{z{z{zzzyz{z{zzzzzzz{{zzzzzz{{zzz{zzz{yyz{zz{zz{yzzyyyzyyzzzzzzz{zzzzzyzyz{zz{y{zzyyyxzyzyzyxyzzzyyyxyyyy{zzzzzyzyxyzyyyx{zzzzz{zyyyyzzyyzyyzzzz{zyyzyzyyzzzzzzzzzyyzyyxyzyzz{yzzzyzxyyzyyzzyyzzzyyyyyyyzzzzyzzzzzyzxyzzyzyyzyzzzyyyyxyzyzyyzyyzzzxzyyyxyyyxy{zzyxyyzxxyyzzyzyzzzyyxyxyyyzzzzzyzzyyyyyyyyyzzyyzzzzyyyyyyy{zyzzz{zzzxxzyzzzzzz{zzz{xzzyyy{yzzzzz{zzyyyyyzyzzz{zzz{zyzyyyzz{{zzzzzzzzzyzzyyzzz{{z{zzyzzzzyzz{zyzzzz{yzzzyyzz|z|{zz{z{zyyzzz{zzz{{{zzz{yyzyz{{{zzz{z{zzyzyzy|z{zz{{|zzzzzzz{{{|{{{{zzzy{yzzz{{|{{z{{{zz{zzz{zzzzzz{zzzxzzyzyzz{{z{{|{y{zz{z{{{{{yz{{zzzyzzzyy{z{zz{{zyyyzzzyzzyzy{zzyzzxzyyy{zzzzyzzzxyyxxyxyzzzzzzzyxyyyzyyyzzyzzz{zyxyyxxxzyzzzzzzyzzyyyyyyyy{yyy{yzyyxyyyzyzzzzzzyyyyzyyxzz{zyyzyyyyyyyzyxyzzyzzyyyzyyzxxyyzyyyyzyxxxxxyyyzzzyyzyzxyyxyyyyyzzyzzzzyyzxyxzxzyyyzyzyxyyyyyzyzzyzzyzyyyzzyxyy{yyzzzyyyyyyzxyzzzzyzzyzzyzzyyzyz{zzyyzyxyyyyyxzyyyyy{{zzzzyyzyzzyzyz{zyzyyyzzzzzzzzzzzzxzyyyzyzyzzzz{y{yyzyyzzzz{zzzzzyzzyzyzzz{z{{zz{yyyzzyzyzzz{zz{{yzyzzyzxzzyz{z{zzyzz{yzzzzzz{z{{zzz{zzyzz{zzz{{{zzzzyzzyzz{{yzz{yzzzz{zz{z{{z{z{yyzzxyzzzzzzz{{{zzzy{yz{{|zz{{{zzz{yyzyzz{zzz{{zzyzyyyyzzzzzzz{{yyyyxyzxzy{zy{zzzyyyxzzxyyyyz{zyyyyyyyyzzzzzzzyzyzzyzyyzzzzzzyzzzzzzyyxz{{y{zy{zzzzzyxzxyzzzzzy{yzyyyyyzyzyzyzzzyyyyyzxxzyzzzyzzyyyyyyxyzyyzyzzyyxyyyxyyzyzyzzzyxyyxyyxzzyzzz{zzyyyyyzxyy{yyyzy{yyxzzzxzyzyzyzyyyyzyyyyxyzyyzyzzyyyyzzxyzzzzzz{yyzyyzxyzzzzyzzzzzzxzyyzyzzyzzzz{yyzzxyyy{zzy{{{zyyyy{yz{y{zzzz{zzyyyyyyzzz{zyz{zzzzzyyzyyzz{z{zzzzyzzzzy{xz{zzyzyzzy{{{zzzzzz|zzzzyzyzzy{{{{zzzz{yyz{zzz{{yzzz{{zz{z{z{yzz{z{{{{{zzyxzzzz{zz{|{{{yzy{{zyz{{{{{zz{zzyzyy{zzzz{{{{{zzzzy{y{zzz{z{zzzyyzzyyzzz{z||{zzzzzzzyzzzz{zzzzyyyzyyyzzzzyzyyzyyyyyyxzzyzyzzzzyyxxzyyyzzzyzz{yyxyyzyyz{yzzzz{zyyxzyyyz{{zzyzzyyyxxxyzzzzzyzzzyzzyyzzy{yyzy{yyyyzyzzyyzzzyyzzyyyyyyyyyyyzyz{zzxyyyzxzyzyzzy{xzyyyyyyxzyxzyyz{yyzzyyyyxzyyzzzyzyxyyxyyyzyzyyzz{zyyyyxyyy{zz{{zzyxxyzzyy{zzz{zzzzyzyzyzzz{{z{z{{yyzyzyyzzzzy{zz{yxyzxyxyyyzzz{zzyyzyxzzyyzzzzzyzzzzyzzyyyzzzzyyyzyyzzzzzzz{zyzz{{yyzz{yzz{{z{zz{yzzyzyyzz{{{z{{{zzzyyyzzz{{zz{zzzyzzzzz{z{{z{z{{yzzyz{z{z{zz{{{{{zz{yzyyz|{{zz{z{y{zyyzzzz{{zz{{zyyyzz{z{{zzz|{zzyzzzzyzzzz{zz{{z{yyyyzz{{z{{{{{zzzzzzyzzzzz{z{{zzzzyyyyy{yzz{yyzyyyzxyxyzzz{yzzyzzxzyyyzzzz{zzzzyyyyyzyzyz{zz{yzzyxyyyyyyzyyyzzzyxyxxyyzyzyyzzzzyyyyyyyyzyyyz{yzyxxzyyy{yzyzzzyyzyyyzyyyzy{{z{yyxyyyyyyyyzzyyyxyyxyyxyyyzzyzyyzxyyyxxyyzyyzzy{{{yzyzyyyyzzyyyzyzxyyyxxzyzyzyz{zzyyyzzyyzyzzzy{zzzzyzyyzz{{yz{zyzzzyzyyyyzzzzzz{yyyyyzzzzz{{z{{zyzzyzyzyzz{zz{z|zyzyzzxyzzz|zzz{{yyzzzzyzzzzyzzz{yyyyzzyz{{zzzzzz{zyzzzzz{z{zzz|zyyzzzzzz{z{{zz{zzzyzyzy{|{zz{z{{zyzy{zyyzzz{{zz{zzyzyzzz|z{{{{{|z{zyy{z{z{{zz{zzyzzz{zy{z{{{{z{{y{zz{yz{{zz{{{{zzzyzzyzzz{{zz{{{zyyyyzz{zz{zzz{zyzyzyyy{zyyyyyyyyxyyxxxxyyzzyzzzyyxxyxyzyyyyyy{yyyyyyyyyzyzzzzzzyyzyzyyyyy{xzzzyyyyyxyxzzz{zzy{yyyyyyyxzzyzyyzyzyzyyzyxyzzzzxzyyyyyyzxyyzxyyzzzyyxzyxxyyzyzzzzyzxyyxyxyzzyyzzxyyzyyxxzzyzyyzz{zzyyyyzyxyyzyzzzyzyyyyyzyzzyyy{zyzxyyyxyxzyzyzzzzyzyyyyyzz{yyzz{zzzyyyxzyy{zzy{zzzyyxyyzyy{zzyzzzzyyzyyzxy{yzz{yzzxzzyzxxzzy{yz{zzyyyyzyyzzzyzzyzzz{{zyyyz{z{zzyzz{zyyyzy{yyzz{{zzzzyyxxz{z{zz{{zzyzyyyzz{{zzz{|zyzyyy{zyz{zzyz{{zyyzzzzyz|{{z|zzzyzzzyzzzzzzz{{zzyxzzzy{{{zzzzz{zyyy{zzzzyzzz{{zzzzyyzyyz{z{z{zyyyyyxzzzz{y{yzz{yyyyyxzyyzyzz{zzyzyyyyyxyzzzzzy{yyyzzyyyxyzzz{yzxyyxyyzyzyyzzzzzxy{yyyyyzyzzy{z{zzyxyyyyxyzyz{zzyy{yyyyxyzzyxzyyyxyyyyyyyy{zyyyyyyzyzzzzzzyzzzzyyyxyyyyyyzyyzyyyyxxyyyyzzyz{yzzzyyyyxyxyyzyyzzzzyxyyyxyyzyzyyzyzzz{yyyzyzyzzzzzzyzyyyyzyzyzzzzzzzyyzyxyyzzzzzyzzyxyzyzyyzzzzyzzzyyyyyyyzzzzzy{zzzzzz{xyyyzzy{{z{yyzxzzyy{zzyz{y{yyzzzyyzzzzyzz{zyzzzzyzyzzz{{z{{zzzyyzy{zz{zzz{zzzzzyyyyz{yz{zyzzyyzy{zzz|{z{{{{zzzzy{z{zzzzzz{{{z{zyzyzyz{z{{z{zz{zyyzz{{{{{{{z{yyyzzzzz|z{{{{z{{zzzzy{{|{z{{{{zyzyyzzy{zzzz{{z{yyzzyyzz{zzzz{zzyzyzyyyyzzzyzzyzyyyxyyyxzyyzzyzyyxxzyyxyzyyyyzzzyyyxxyyyzzzzzzzyyzzxxzzz{zzzyzzzzyxyxyyyyyyzzz{zyyyyyzyyzyyyzzzzyyzyxyyy{zyyzyyxzyyzxzyzzzzxzzyzxxyyxyyzz{xzzyyyyyyxywxzzyyzzyzzzzxxyyxyyxzzzz{zyxyyyyxyyyyzyzzyzyxyxxxyyzyyz{zyyzxzzzxzzzzy{zzzzzxyyyyyz{zzzyyz{{yyyzyz{yzyzz{yzzyyxzyzzyzzzzzzyyyzyyyyzzzyzzzzyzzyyyz{zzzyz{y{{zzyyyz{z{y{y{zz{yyzyyyz{{{zz{zyzzyyz{yz|{{{{zzyyzxzzyyzz{y{z{z{yyzzy{zzzzz{{{{{yzzyz{zz{{{{z{z{yyyyzzzy{zzz{{z{yzzzzzy{{zzz|z{zzzyzzzzz|zzzzzz{zzzzzzzzzzz{z{zyzzyzyzyzzzz{zzzyzzzzzyyy{zzzzzzzx{zzxyxzyzyzyyzxzxyyxxyzyzzyyz{zyyzywyyyzzzzzzzzzyxyzyxzzzyzzzzyyyyxyyyzyyxyyzzyyyyyyyyyyyzzzzzzyzyyyyxyyyyyzzzyxyyyyyyyz{zzyzzzzyyyyyyyyyyyyyzyyxxxyyzxyyzyzyzyxyyxyxyxyyzyyzzzyzyxyyyy{zyzzzzyzyyyyxyxyxxzzzyxyyxyyyxxzyyyz{zyyyyzyzyyyzzyzzzyyyzzxyzzzzxzyyzzyzyxyyzyyzzzzzzyyzzyyzyzzzzyzzzyzyyzyyzyzz{zzzzyyxyyxyyy{zzyyzyyyyyyzxyzzzzzzz{xyyyyyyzzyzzzzzzzyyyyy{y{zy{zz{{zyyyzyzyzzzyyzzz{yzzzzzyzzyyzz{y{yyyzz{zz{zz{z{{zzzyzzz{y{{{yzzzzzzzzzzzzzzz{z{{zyyyzyyyz{z{{{{{{zyzz{yzzz{{{{zzyzzyzyzyyz{zy{{z{zzzzyzyz{zzzzz{yyyyxyyyyzyzzyyxxxyxyyyyxyyxyyyyyyzyyyxxzzzyyz{zzxyyyyzxzyzyyzzzzyzyzyxyzzz{yzyzyzzxxyyyyyyy{y{zyyyyyyzxyzzyzz{yyyzyyyxxyyzyyzzzzzyyxyyzzyzyyzz{yxyxyyyxyzyzzy{yyyyyxxxzxy{yzyzyzxyzxyyxyyzzzz{yyyyyxyyyxyyyyzyxyyyyyyyyzyyyyzzyyzyyyyyxyzyzzz{yyyyyyxyzzyzyyzzyzxzyzyyyyzyzzzzzyzyyyzyzzyzzzz{{zyyzzxyxz{{zzzyyyzyyyyyyyz{zzz{zzyzzzzyyzz{zzyzzyyzzzyyyyzz{zz{{zzzyzzzz{{zz{zz{yzzzyxzyyzzz{z{z{zzz{zyz{{|zz{zz{zzzyzzz{{yz{z{{zzz{z{zzzzz{zzz{{yz{zz{yzzz{{{{{{yz{zzzz{{z{z{{zzzzyzzzzzz{z{{{{yzzzyzzyzzz{zz{{zzzzyzyyzzzzzz{zzyzyyyyyzzzyzzzzyy{xxyyyyzz{{y{{yyzyyyxzzyyzyzzzzyyyxzyyyzyzzzzzyyyyyxyyyzzzyy{{yzzyxyzyzz{{{{y{yyyzxzzyyzzyzy{zyyyzzyyx{zzyyz{zyyzyyyyyyyzyzzzzyyyyyzzyyyyy{z{zyyyzxyxyyyzzzzzzzyyxyyyyzzyz{zzzzzyyxzyyzzyyyzzzzzzyyyzzzzzzzzzzyyzzzyyxz{zz|z{z{zzyzyyyz{zyzzyzzyyzyyyyzzzzz{zzzzzy{yyyzy{zzz{y{zzzyyzzz{zzz{zzyzyzyyzzz{zzzzz{{yyzzyyzz{zzzzzzyzyyzzzzz{{z{z{{yyzzyy{zz|zzz{{|yyyyzzyzz{{z{{{zzyzyzzyz{{|{{{z{zzz{yzzyz{z{{{{z{z{z{zzzz{{z{zzy{zzzzzz{{{{zz{{{{{{zzzzz{z{y{{{|{{{z{zzz{{{z{{{{zzyyyzz{z|z|{{|{zzzzyyzyyz{zzzz{yyyxyzyyzz{yz{z{yzyyyxyyyzzyzy{zyyyyyxyyyzzy{zz{zyyyxzyy{yzz{{z{{yzzxyyyyz{zyzzzyyyyxxzxzyzzzzzzyxyyxyxzzzzzyzzzzyzzxyyzxzzyyzy{yzyyyzyyyzxzyz{zyzyyyyyyyzzyy{yyzxxzyyx{yyyzyy{zyyzyyyyyy{yzzyzzzyxyyyyyy{yzzzy|yyxyyyyyyzyzyz{{yyyyyzxyzzzyzz{yzyyyyyyzy{zyzy{{yyzzyyyyzyzzzzz{yzyyyyyyzz{yzzzzzz{zyxyzzzzz{{{zyyzyyyxyzyzzyzzzz{zzzyyyzzzzz{{zzzzz{yxyzyzzz{zzzz{yyzzz{zz{{{z{z{yzyyzy{z{z{y{z{yzxz{zy{{zz{{{{zzzzzz{z{{z{|{z{zzzzzz{zz{z{z{{{{yz{zzz{zzzz{{{z{zy{zyz{z{zz{{{{{zzz|zzz{z{{{|z{yzzzzyzzyzz{zz{{zzyyzyyy{zz{{{{yzyzyyyyyyzzzzzzzyyxxyyxyzzyzyzzzyyyyzxxzyyzzzzzzyzyxzyyyyyz{zzzzyyyyxyzxyzzzzzy{{yzxyyyxyz{zyzy{zzxyyyyzzzzyzzyzzyyyyyyyyzzzxzzzyyyyyzxzzzzzyzyzyxxxzxxyyzyyyzzzyxyyyyxzyyyzzzz{yyyyyyxxzyyzzz{zyxyxyyxyyzyzzzzyyyyxyyyyzzyzzzzyyyyyzyzyyyzzzz{{yyyzzxyzyz{zyyz{zyyyxyzyzyzzzzz{xzyxyzzyyzzzzzzzyyyyzyyxyzzxyz{zyzzyyyyzzzzyxz{zyyzzzxyz{{zyz{zzzyzyyzyyzzz{z{z{zzzzzzzzz{zz{zz{{zyyyyxz{zz{{{{zzyzyzzyz{zzzzz{zzzzyz{{{y|zz{{{{zyzz{{zzzzzzz|{zzz{z{zz{z{z{z{{z{zzzzz{zzzzz{z}{{yzzy{zz{z{zzz{{yyyzyzzyzzzzz{{|zzyzyzzxy{zzz{zzyyzyyyyyz{zyz{zyyyyxyxxyyzzzzy|yyyyyyyyyyyz{zzzzyyyyyzyxzzzyyz{y{yzzyyyyyy{yzzyzyzyyxzyxyzz{zz{zyyzyyzyzzy{yzyzzzxzxzyyyzyyyzzyzyyyyyxyxxzyyzyyzyyyyzyxxzyzyz{zyxxyyyyxxyyyzzz{zzyyyyyyyxzzyzzz{yyzzzyyxyyyyyzy{xyyyxyxzyzyyzzzzyyzyzyyyzyyyzzzzyyyyyyyyzzzzyz{zzzxyyzyyzzz{zzzzyzyzyyzyzyzz{zyzzyzyyyzxyzzz{zyzzyzxyyyyyzzzzzzzyyyzyyzzzzyzzzzyzzy{yyzzyzzzz{zzzyzyzz{zy{zzzzzzxzzzyzyy{zzzzzz{zzzyyzzyzz{{z|{{zz{zzz{zz{zzzz{zzyzy{zzzz{{z{{{zzzzzzyzzz{{{{{zz{yzzzyzzzyz{zzy|zzzyzzyz{zyzzz{{zzzyyzyzzzyzzzzzzzzzy{zzzz{zz{{zzyzyxyyzyz{{zzzzzxzyxyyyyzyzyzy{zzxzyyyx{zzzzzzzyxyxyywyyz{yyyz{{yzxyyyyyyzzyy{zyyyyxyzxzyyzyyzzzxzxyyzyyzzzyzzzyzyyyyxyyyyyyzzzyzyyyyyyyzzzyzzzzyxyyzxyy{yzyzzyyzyyxzxyyzzyyzzzzxzzyxyyyzyyyzzzyxyzyxyyyyyzzzzzyzyyyyyxz{yzzzyzyyzzzyyxzzzzzzzyzyyzzxyzyzzyzzzzxyzyzxyyzzzzzzzzzyzyyyzyzzzzy{zyzzzzzyzxzzzz{{zyyyyyyyzyzzzyzzzz{zyzzyzyy{yzz{zyzzyyzzyzzyyy{z{{zzzyyzzz{{zzzz{z{yyzyyyyzz{zzzzzzzyyzyyyz{{z{z{zzyyyz{zyzz{{zzz{z{zzzzz{z{z{z{{yzzzz{zyy{{z{z{zzzyzyzzzzzzz{{{{{zyzzzzzz{{zzzz{{zz{zyzzyy{zzzz{{zyyzyyzxyzzzz{zzzzzyzyzyzz{yxyzzyzyxzxyyzzz{yyyzyyyzxyyxzzzzyz{zzyyyyyyz{zz{{{zzzzzyxyxzzzzzy{zzyzyxyzzzyzzzyzzzzyzxyyyxzyzzy{zxzxyxxyyyzyzzzzyzyyyxxyxxyyyyyzzzyzyxyyxzyyzzzzzzzyyyyxyxy{yyxzzyzyyyzxyyzzzzyzzzxzyzzyyxxyyyyzzzzyyyyyzyyzzzzzzzyxyyyyzyyzzyzzz{yxyyyxyzzzzzzyzzyyzzyyyyzzzzzzzzyz{yxyyyyzzzzzzzzzzxyxyzzz{{zzz{yzyyzzzy{z{yyyzzzyyzzzyzyz{zyzz{{zzzzzzyzz{zz{{{zzzy{yyzzzzzz{z{zyyzxyyyzz{z{z{{zyzzzyzz{{zzyz{zzzyzy{zzzyzz{{z{{yyyz{y{y{z{zz{zzzzz{zyy{{z{{{{zzzzzzzzz{{{{z{zz{zyz{zyzyzz{{{zzzzyyyzy{z{zz{z{z{yzyzzyxyz{y{zzzzzxyyxzzyxzzzzzyyzyzyxzzyzzyyyzyyyzyyyyyyzxzy{z{yxxyyyxxyyyzz{zzyzyyzyxxzyyyyyzzyxzyxyzxyzzyyzy{yyyxzyyyzzx{yyyzzyyxyyyyyzzyyyyzyyxyxyzyzyyzyzyzyxyyyyzxzyzzyyzzzyxyxyyyyzzyzyzyxxyyxyyxyxyyyy{zyyyxxxyyyzzyyyzzyyyyxyyyyzzyxzyzzxyyzyyxxyzyzyzyzyzyyyyyyzzzzzzzzyzyyxzyyzyyz{z{zyzzxzyz{zyzy{{zyyyzyxzyzzzyzzzyzyzyzyyxzzzzz{zzzzyzyyyxyzzzyzzyzzyzzyyzzzzzzz{{yyyyzxzzzzzzzzz{zzzzyzyzzz{{zzz{zyyzyxzy{zz{zzz{yzzyyzzz{{zzz{{z{zzzzzzyz{{z{zz{zyzzzyzyzz{{zz{z{zyzzzzyzzzzyz{|zzzyzy{z{zz{zz{{yyzy{zzzyy|zzz|{zzyzyyyzy{yzyz{zzzyyzzyyyzyzyyyyyyyyyyxyyzzzyyzzyyyyyxyyyzzyyzzzyzyxyyyyyyzyyzzyyzzxyxxyxzyzyy{zyyzxyyyxyzyzyzzzxyzyyyyyyzyzyyyzyyxyyxyyzzzzzzzyyxzyyyxyzzzzzyyzyyyxyxyyyzyyzyzzyxyxxyxzyyyyzyyyyyyxyyyyyzzzyyzzxxzxyyyyxxyyzzzyyzxxyxxyxzyxyzyyyxyyxxyxyyyzzzyyyyyzxyyyzzzyzyzzyyyxyyzzzyzzyyzzzyyyyyzyzzz{yzzzyyyyyyyxyzzyzzzzyyzyyyzyyzyzzzzzzyzyyyyzzzzyzz{zyyyzzyyxyz{zzz{zyzyy{yzzzyz{zzzzyzzzyyyyz{{zzzzzzyzyyyzyzzz{zz|{yz{zyzzzz{zyz{{{zy{zy{yzy{{z{{{{{yyz{yz{y{zzzzy{{yyy{yyzzz{z|{{zzz{zzzzzzz{zy{y{yzyzzy{zz{{z{z{z{zyyyxzzyyy{zzyzzxyyzyzyyzzzzzzyyyxyyyyyzzyyzzzxyyzxzyyyxyyyz{zzyyyxyyyxyzzy{zzzzyyyzzxxy{zzzzzyzyyyxxyxzzzyz{zzxxyyxyyyyzyyyzzzyxyyxyxyzyzyyyyzzxzyyyyyzxyyzzyzzyyyyyzyyyyyyzyzyxyyyyxxyyyzyzzzyxzyyxyyxyzzyyzyyyyyyyxzxxyyzzzyxyyyxyyyyyzyzzzzyyyyyzyyyzyzzyzzyyzzyzzyyyzzzzz{yyzxyyzy{yzyyzz{zyyyyyzzyzzz{zzzzyyzyyyzyz{{yzzz{yzzyxyyz{z{zz{zyzyyyyyyzzyzz{zzzzzyzzyyz{zzz{z{zzzz{zzz{zz{zzz{zzzzyyzyzyz{z{zy{zyzzzyz{{zzzz{{zyzyzzzzzz{z{zy{{zz{y{yyzz{zz{zzzzyzyzyzz{zz{{zy{zz{zyzz{zzzzzzzz{zzzzyyzyzz{zz{zzyyzyzzyzzzz{{zzyzxyyyyyz{{zzzyyxzyxyyzzyzyyzy{zyyxyxzyyz{yzzyzyyyyyyyyyyzyyzzzyzyyzzyxzyzzyyyyzyyzyyyxyzyzyyzyyyzzyyzyzzzyzzyyyxyzyzyyzzyzy{zzzyyyyyxzyyzyyzxzzyxyxyyyyyyyyyzzyyyyyyzyyzyyyyyyxyxyyyyyyyzzyzzyyzyyxyyzyyyyyzyyyyyyyzxyyyzzzyzzzyyyxxxyyyzz|yzzxyzzyxyyyyzzyzzzyyyyyxzzyzyzzzz{yyzyyyzzzyzzyyz{yxzyyxzzzzzzy{{zzzyyyyzyyzyy{zz{yyzzyxzyzz{yz{{zzyyzyxzy{zzzyzyzzzzzzzyzzyzzzz{zyyzxzyzyz{zzz{{{zzyzzyzyzzzzzz{zzyzzzzyyz{z{z{{zzzzzy{z{zzzzz{z{{zzzz{zzz{zyz{z|{zzzyyzz{zzz{{{z{zzzzzzyzzzz{{{{zzyz|zzzzzzzz{{{{zzyyzzy{zzzzzzzzzzyyyzxy{yzzz{zyyzxyyxyyzzyzyxyzzyyyyxyyzzyzyyzyzyxyyyyzyyyyyzzyyyyxyyyzzzzzz{zzyxyxxyyyzzzyzyzzyzxyyyzyyyzyzy{yyzzyyzyyzzzzzzzzyyyzyzyyxzyzyyyyyyxzyyxzyyzyyyzyxxzxyyyzzyzyyzzyzyxyxyyyyzzzyyyyzzyyxxzzzyzyyzzyxyyyzyxxzzyyzzyyyyyyyyyyzyzzzz{yxzyyyyyzzzyzzzzyzyyyyyyzz{zyzz{{{zyyzyzzzzzzzzzzyyyyxyyyzyzyz{zzxzyyyyyzzzyyzzzyzyyzyzyzz{zzz{zzyzyyzyz{zzzzzzzyyyzzzzzzzz{zz|zzyyzyzzz{{z{z{{|zyzyzyzyzz{{{z{z{yzzzyzzz{zy{zzzzy{y{zyzz{z{{{{z{zzzzzzyz|z{{z{z{zz{zzzzyz{zz{{{zyzyyyzzz{zzzz{z{zzzzzzz{z|{z{z{zzyxzzyzzzzzz{{y{zyzzzyzy{z{zyyzzyyxzzyzzz{yyzzyzyyyxxyyxzzyyyy{zzxxyxxxyyyzz{yzzyzyxyzyzzzyzzyyzxyyzyyyyzzzyz{zzyyxyyzyyzzyzzyzyyyyyxzyzzzzy{yzzyzyzxyxyzzzyzyzyyyxyzyyyyyzyzy{yxzyxxyyyzzzyyyzyyzxyyxyyzyz{yzzyyxyxyyxzzyyyyyzzyyzyyyyzyzyyzyxyyyzzyxyxzxzzzyzzxxzzzzyyyzzzz{yyyyzzxzyyzyzyz{{xzyyyyyyzyzzyz{yzyyyzyxzyzzy{z{zyzyzyyzzzz{zzz{zyyzxzzyxyzzzyzz{yyyyzzyyzyzyzzzzzyyzyzzzzzzz{z{{yy{yyyzyyzyzzz{zzzyzzyyyyzz{zz{z{zzzzzyyy{|z{{{{zyzyyzyy{{yz{zzzzzzzyzyz{{z{{z{{zzyzzyzyzy{zz{z{zzzyzzzzz{zzz|{{zzy{zzzyz{zzzzz{yzzxyyzzy{zz{zz{zyyzzyzyz{yzyzzyzyzyyzzx{zzyyzyzyyyyxyyzxzzyzzyzzzzxyxyyxzyzzz{zyyyyyyyzzzyyzzzzzzzzyyxyzzyzzyzzyyxyyyzxzyyzzzzzyyyxxxzyzy{yz{zyyyzyyyyyyyzyyyzyxyzyyyyyyy{yyyzzxyyyyxyyxyxyyzyyzyyyyywxzzzz{zzzzyyxxzzx{yzzyyzzxyyyyyyyyzyyzyz{yyyyyyxxyyxzzzz{zyyyyyxxzyyzzyzzzzyyyxyxzzzyzzy{yyyzzyzyz{zzzz{{yyyxyxyzyzyzz{zzyzyyyyyyyyzyzzzzyyyzyzyzz{{zyzzzyzyxyzyyyzzyz{zzyzzyzyzyzzzzzyzzzzzz{yzyzzyzz{z{zyzzyzyy{z{z{|{yyzzyyyyyz{zz{y|zzyzyz{z{z|{z{{{{{zzzy{{zz{{z{{{|z{zzzzzyz{{zz{zz{zzzzxzz{{zz{{z{zy{zzyzzz{{zz|zz{zyyyzzzz{{{z{{zzzyzzzzyxzz{z{yzyyzy{yxxzzzzzyyyyyy{yxxzxzzyyyzyyyzyyyyyyxyzz{zzyyxyxyyyzyyzzzzzzx{yxyyzyzyzyzz{yyzyyyxxyyyyyzyzyxzyyxxyxyzyzyzzyyyyyyyyyyzyxzzyyyyyyyyyyyzzxzzzyxyxyxyxyzzyy{zxyyyxyyxyyyyzyyyzzyyxyxzyyzzzzz{zyyyxyxyyzyzyyyyzy{xxyyzyzzyyzzzzyyyyzzyyyxzzzyzzyzyzyyyxzzzyyzyzzyzyyyyyzzzxyzy{zyxyxyyzzzzyzz{zzz{yyxzzy{zxzyyzzyyyyzyxyzyzyzzyyyyyzzyzzzzyyzz{yzyzzyyzzzzzz{yzzzzzyyyzzzz{zz{{zzyzyyzyzzzzzzzyzzyyyyzy{zz{{y{zzz{yyyzzz{z{z{z{{zyyyzyyz{z{{z{zzzyzzz{zz{y{y{{z{yyyzyzz{zz{{{zzzyzzzyyzzzzzzyz{yzzyzzzy{zy{z{{zz{zzy{zyyzyzyyzzzzyyyxzzz{zyzyxzyyxxyyyxzyzyyxyyyyyxxxxzyzyzzy{yyyyyyyyyyzyyzzzzyyxyxxxyyzyzxzzyzzyyzyyxyyzzzyyzyxxyyyyxxzyxyyyyzyzyxxyyyzzzyyzzxyyxxyyyyyyzzzyyxyxyzwyxxzyzyzzyyxzyxxyyyyyzyyzzzyzxxxyyy{xxy{z{yxxyxyyxzyyyyzyzxyyxyyyxyzyzyyz{zyyyyzwxy{yzy{z{yyxxyyyyzzzzyzzzyyyxyzzyzyyyyzzyyxyzxyzzyzyzzzzzyyzyzxyyy{zzzyzyyyzxxyzyzyzzzzzzyzxyyzzzzzyyyzzzyyzzzyzyzz{zz{|zxyyxyzzyyyzzyz{zzyyyzyxxzz{zzzyzzyyzyyzy{zzzzy{zzzzzyyzyzzyzz{{{zzyyy{yzzyzz{z{{zzzzyyzzz{zz{{z{zzzzyyzzyzzyzzzzzzzy{zyzzzz{{zz{yyzyyyyzy{{zzyzzyzyyyzzzyyzzzzyzyzyyyyyyyyzy{xyyxywxxyxyy{xzyyyzxxxxyyyyzzyyxzzzyzxxxyyxzzzzyzzzzxyxyzyyyyyyyyzzyyyxyxyxzzzzyzyzxxyyxyxyxzyyyzyzyyyxyxyyyyzyyzzyyyyxyyyzzyyzyyyyyxyyzxyxyyyzzzyyyyyyyxxyzyzyzzzyxyzyxyxwyzyyyzyzyzyxyyyxyyyyzyyyyzyyyyyyyyyyyyzyyyyyxzxxzyyyyyzzzzyyzxzxyzzyzyz{yyyyzyyxzzyyyzzyyyyzxyzxzzzz{zz{zyzyyzyxzyyzz{yzzyzyyzxyzzyzzzzzyyyyyzxzzzzzyzzzzyyzyyyyzzy{zzyzxyyzyyzz{zzzyz{{yzzyyyyyzzzzz{zzzyyzzzyz{{zz{zyzzyxyyyzyzyzzzzz{zzyyxyzyzzzz{{{{{yzzyxyyzzz{zz{zyzyyzzyzz{zzzz{zzzzzzzyzzzzzz{z{yyyzyxzyyzzzzyz{zyzyxzyyz{zzzzzzyyzxyyyz{yyyyyyzxyxxyxyxy{yzyyyyxyzxxxyyyyzyzzz{zyxwyzzyyzzyyyxzyyyxyxxxyzyyyyzyyxxxyyyyyyyzyzyzyyyxyyywyyzyyyyyyzyxxxyxxzyyxyyyyxyyyzxyyyyzyzyyxxyxyyyxzyyzzzyyzxyyxyxyyyyyzzzzyyzyxxxxxyyzzxyyzxyyyyxxxyyzyyyzxxyyyyyzxyxzxyzzxyyxxyyxyyzzyzzyyyxyzyyyyzzzyyzyyxyzyyyyzyzyyyyzyyzzxxxzzzzzyzzzyyyzzyzyyzyyzzyzzxyyxxyyyzzyyzzyzyyyyzyyyyzyyyzzyzxyzzyyyzz{zy{yyyyzyyyyyzyzyzzyzyyyyzyyzzzyz{zzzyyzzyzz{{{zzzyzzzzyzyzzzzzzz{yzzyzzyyz{z{yzzzzzzyzyyzzzzzzzzz{zzyzyyzyyyzyz{zzzzyxzyyyzx{yz{z{zzyyyyyyyy{zzyz{zyyxyyyxyy{y{zz{{zyyyxxzzzyyzzyyyxwywzyyyyy{yxyxyyyxxyyxyxyzyzyzyzyxyyyxyyzxyz{zzyxyxxyyxyyyzyyyyxyxxxyxyyyzyyyzzyyxyyxyxyyzyzxyzxyywyyxxzyyxzy{xyyxyxyyxyyyyyyyyyxxyzxyxxzzyyyzzzyyyxxxyyzzzzzyyxyyxxxxxyyyxxzzzyyxxyxxxyyyyzyyyyyyxxyxyyyyyyzyzzxyyyyxyyyyyzyzyzyyxzxyx{zzzyyyzyyyyyyyyyyyyyyyzxyyyyyxzyyyyzzzyyyyyyxyyz{zyzzzzxyyxyyzxzzzyz{zyzyzzyyyyzzzyyyz{yyzyyyzzyzzzzy{zyzy{xyyyyzzzzzz{zyyzzxxyzz{zzz{z{zzyyyzyz{z{{{{{zzzyzyyzyyzzy{zzzzyzyzyzy{zzy{{zzyzzzyzzzzzzz{{yzyyzzzxy{zzzzzzzzyzyzyzyzyzzzzzzyzzyyzyyzzz{{{{{yzyzyyyxyyyyzzzzyyyxyyzyyyzyyyzyyyxyyxyxxyzyyyzzxyyxxyxyyzzzyy{zyyyxyyyxzzzyzyzyyxyyyyyxzyyzyxyyzyyyyxyxyzzyy{yzxzyyxzzxyyzxyzyyzyyyyyyxxyyxyyyzyyyyyzyzxyyyyyzzyyyyyxxxyzyyyyzyzyyxxxxyzxzyyyyzxyyyyyxyxyzyzyzyyyxyyxyxx{xxyxyyzzyyyyyyyzyzyzyzyxzxyyxyzzzyzzzzzyzyzxyxyyzyyzzzyyzyxzyyzyzyzzy{xyxyyxxxzzzzzz{yzyyyzyyyzyzzz{zzyyyyzxyx{zzyzz{zyyxyzyyyzzzzy{{yzzzyzzzxzyz{z{yzzyzyyyzyyzyzz{zzzyyzyxyzz|{{z|yzzyzzzzzzy{zz{{zzzyzyyy{zz{zzz|{{zzzyzzyzz{z{{yz{zzzzyyzzyz{zzzzz{zyyzzzzzyzzzz{{zz{yzzyzyzzzz{{{zyyyyzyxyzzzzzzzzzzyyyyzzzzyyy{zzyyyxxzxzzyyyzzzyzxxyy{xyyyyyzzyyyxyyxyyzyyyzzyyzyyxyxyyzzzyyzzyzxxyxyyxzyzzyzyyyxyyyyyxzyzyzzxzyyyyyyyxyzyzyzyyyyyyzyxyyyzyzyzzxzyyyyyyxyzzy{zyyyywyyyyyyyyyyzywyyyxyxyzyyzyyyyzyzxyyyxyzzyyyzzyyyxyyyyxzyxyzyzyyxxyxzyyzyyz{yzyxyyzyyxyyzzzyzzxyyzyxyyzyzzyzyzyyyyzzyxyyyzyz{yyx{zyyyyzzzzz{zzyzyyyyzzyzyz{yzzzyzyxyxyyzzzyzzzyzyyyyzz{zzyzzzyzzyyzyyyzz{{yz{zzzzzyyzyzzzzzzzz{zzyyxyyzzzzzyzzzyxyyyyyz{zz{{zzzzzyyyyyyzzy{{{zyyyzyyyyz{{zz{{{zyzyzzz{yzzzzzzzzzzzz{zxzzxyy{{{zzzyzzyyzzzz{{z{yzzyzzyyyzyzzz{{zzyzzyzxy{zy{yyzyyyyyyyyzzzzyyyzxzyxxyxyyzzzzzzyxxzyxxyyxyzyyyyzzxyyyyyyyyyyzzz{yyyyyyyzyyyyyzzzzyyyxxyyyyzzzy{{yyzyzyyxyyyyyzyzzxyyyyyxyzzzxzyyyyxyxyyyzyzyyyy{yyxxyyyyyzyyzyyyxyyyxyxyyyzyzyzyyyzxxyyyyyzyzzzyyxyyyxxxxzzxxzxzxyyyyyyyyzzzzzyyxzyyzyzyyyyzzyzzzyxyyyzyyzyzzyyzzxyyyzzyzzzzyzz{zyyyxyyyzzyzzz{zyyyyzxyyyzyyzzzyyyzyyzxyzzzzzz{zzzzzzyyzyzyzzzzy{yyyzyxyy{zzyzzzzyzzzyzzzzzzyz{zyyzzyyyyz{z{zzzzzzzyyzyz{zzzz{{zyzzyyzzy{zz{zzz{{{y{yzzzy{{{z{{{zyzzzzzzzzz{{{z{{yyz{yyyy{zz{{zzzzyyzzyz{zz{zz{zzyxzzyzyzyzzyzz{zzyxzzyzyzzzzzz{yyyzyxxyyzzz{zzyyyxxyyxyyyzyzyz{zyyyyxyxzyzz{zzzxyxyyyyzzyzyyyzzyyyyzxyyyy{zyzzzyxyxyyzyyzz{yyyyyzyyyyyyxyyyyzzyyyyyxwyzyzyyzyyyzyyxyyyyzzzyyyzzyxyyyyyxzyyzyzzyzxyyxxxzyzyyxzzzyyzzyxxyyzzzz{zyzyyyyyyxyyyzyyyyzyyxxyxyyzyyxzyzyxyyyyxyzzyzyzyzzyyyyyyyyzzzyyyzyyyxyyyyzzzzyzzzxyzzyxyyz{yyz{zzyyyyyyyyxzyyzzzyyyyzyzyyy{z{yzyyyyyzyyzzz{yzzzyzyz{yyyyxz{{zzyzzx{yyyy{{{z{zzzzzzzzzzyyzyyz{{z{zzyyyzzzzzzyyyz{|yyzyyzzyz{zzzz{{zyyzyyyz{{zzyyz|{y{yzzzzz{{zz{{z{yyzzyzzz{zz{{z|zzzyzyyzzz{{zz{zyzzyzzzzzzzzyzzzzyyyx{yyyzzzz{{zyzzyyyyxzz{zyyyzxxyxyyyxyzzyyzyzyxxxxxyyyyzyzyyzyyyxyzzyzyyyzzzyyxyzxyxyyzzyxyzzyyyyyyyxzyzzyyyzyyyxxxxxyzyyyyzyyyyyxxxxzy{yyzyyyyxyyyyyzzyzzyzyyxxyxwxxyyzzyzyzzxyzxyyyyyzyzxzzyyyxyyyxzyzyyyyzyxyyyxyyxzxxyyyyyzxyxxwxyzy{yzyzyxyzxyyxzyzzzyzzyyyyyyxzyxyzzyzzyzyyyxyyzzzzyzxzxyyzyyyxyyxyzyzzyzyzyyyyyzzzzzyzyyzyyyyyyzyzyy{zzyzyzzyzz{yzzyzzzyzyzyzyzyz{yyzyyyyyyzyzzzzzzzz{yyyzyzyxyz{yzz{{zzyzyyyyz{zyzz{zzzz{zzzyz{zzz{{yz{yyzyzzz{z{{z{z{yzzyyyyzz{z{zz{zyzyzzyzzy{z{{{{zzz{zy{xyzz{zzz{zzyyyzyyzyz{zzzyzzyyyyyxyzzyyzzzzyyzzyyxzzzzyxzyyx{xxyxxyzzzyyy{yyyyxwxxzxyzyyzzxxyyyzyyyzzzyzzzzyzxyyyzzyyzxzyyyyyyyyyxyyyzyz{zxyzxzzxwyyyyyyzzyxyzxxxyyyzyzyzxyyyyyyyyzyyyxzzyyyxyxyyyxyzyyyzyyyyxxxxxyzzzzyzzxyyxyyxxzzyyyzzzxyyyzyyyxyyyzzyzxyxyzyxxyzyyxzzzzyyyyzyxzzzyzzzzyyyyyyyzyyyy{zz{yyzyxyyyzyzyzzyyyyzzyyyyzzzyzz{zyyyyyyyyyzzyzyzzyyyyyyyxzyzzyyzzzyyzyyyyzzz{zyzz{yzyzyz{{z{y{zzzzzyyzxzyyzz{zzz{zyzzzyyyz{zz{{zyzzyyzz{yz|zy{zz{zzyzz{zzy{zz{zzyzyzzyzzzzy{z{{zzzyy{yyyyz{z{zz{z{yzy{yzzz{yy{zz{zzyzzzzzzzyz{zzzyzxyzyzyzzzzz{zzzzxzxxzyyzzz{zzzyxzxyxyyzzzzyyyzxxyxxxwyyzxyyyyzzyyzzywxyzzyzyz{yyyyyyxxyyyyzzzzyxyyyyyyyzy{yzyzzyxyxwyxyzzyxz{zyxyyxyyxxyyzyzzzzxzyyxyyyyzyyyzzyxyxxyxyzxyzzzyyyxyyyyyyyyyxyzzyzxzyxyyxyyyzyyzyyyyyxyxyyyyyzzyzzyyyxxyxyzyyyyzyzyyyyxxxyzyyyzyyyyxyyyzxzyzyxz{yyyyyyyzxxzzzyzz{yyzyywyxyyzyyzzyyyyxyxyyyzzyzzzzyyzyyyyxzzyzzzzyzxyyyxxxy{zyzz{yyyyyzzyzzzzyyzzzzyzyzxyzzz{zzzzyyyyyzyzz{zzzzzzzyzzyzyzyy{{z{{{z{xzyzzyyz{zyzz|zyzyyzzzz{{zzzy{{zzzzyzzzzzzzzz{zzxzzyyzzz{z{z{{z{yzzzyzyzyyzz{{z{yyyzzzy{zz{zz{{yyzyzyzyzzyyzzz{zyyyyyyzzzyyzyzzzyyxzyzxyzyyyyyyxxwxyxyyy{yzzyzxyyyywxyxyyyzzzzzzyyxyyxxyyyyyyyzzxyyyyxyyyyyxwzyzzyxxxyyzyyyyyyzxyyxxzzxx{yxyzyzxzywxxyyzyyyzyzxyxyyxyyyxyyyyzyyyxxyywyxxzxyyzyxyywyxyyyyxxyyxzyyxxxwxyxxyyyzyzzxxyyxyyyyyyyyzyzzxywywyxyzyyyyyxyyxxxyyyyzyzyyyzywyzyxyxzyyzyzzyzyyxyxzxzyyzyxzzxyzyyyzyyzzyyzzzyyyzyyxyxyyyyzyyyyyyyyyxyyzyzz{zyxyyxyxyzzzzyzyzyzzyyyxyzzzzzzyzxyyyzyyy{yz{zzzzxyyyyxxyyzzzyzzzzx{yzxyyyyzzzzzzyyyyyzyyyzz{zzyzzyzyyyyzzzyyzzzzzy{zzzxzz{zzzy{z{yzyyyxzzyzz{zz{zyxyzyzzy{yzyy{{zyyyyyzzyzzzz{{yxxxxzyyyyzyyyz{zyyyxxxyxzyzyyyxyyxxyxyyyyyzyyyyzyxyyywyxzyyzyyzyyxyyyxxxxyyyyyyzyxyxxwxyyxxyyyzzyyyyyxwxyz{yyzzyyxyyyxxxyyzxyyzyyxxyxyyxyyzyxyyzzyyyxzxyyxyyyyzzyxyxyxxxyyyyyyyyxyxxxxxzyyyyyyzyyzyxyyxwyyyyyyyzyxxyyxxzxyyxyyyyyyxyyyyxyzyyzzyxyyxyzyyxyxzyzzyzyyzxyyyyyzzzyzyyyzyyyxzyyyzzyzz{yyyxyxyxzzyy{zzyyyyxzxyyyyzzyzzzyxyyyyyyyy{zyzzzyyxyxyyyzyzyyzyy{yzyyxzyz{zzz{zyyyyxzzyyzzyzyzz{yyzyyyxyzzz{zyzzzxzzzzyzz{yzzz{{zyyyyzzzyzyzy{zyyzyzyyyyzz{zz{{yzxzzzyzy{zz{{zz{yzzzyxyzzyyyyz{zzzzzzzyzz{zzyzzzzyyyyyzyzyzzzz{{zzyyyyzyyyzzyyzzyyyyxyyxyzzzzzyyxyxyyyyzyzzzzyyyzxxxxxxxxyzxzzyyxyyxyyyyzyyyzzz{yxyxywxyyyyyxyyyyyyywxxyyyyyyyyzyyyxxyyxyyyzyzyzyxyyxxxyyzyxzzyyyyzxxyyxyyyyxyyyyyxxyxxxyy{yxyyyyxxyxwxyxyyxzyyyxxxyyyyyyyyxyyzzyxxxywyxxyzxzzyxyxxxyyxxyyyyy{zzxyyxzyyxyyzzyyzyxyyyzxyyzzzzyyzzyyyyxyyxyyzzzzzzyxyyyzyxzyzyyyyzyyzyxyyyyzzzzzyzzyyxxyxxzyzzzzyyyyxzzyxyzzzzz{{yyyyyzyyxyzyzzzzzxzzyzzzyyzy{{z{{yzyyyzyyz|zyxyyzzxzyzyzyzzzyzzzzywyzyzzzzz{zy|{z{yyyzyyyy{yzzzyz{zyyyyyyzy{zz{zz{yzyzzyyyzzzzz{zzyzyzyy{zzzzyzzzyyyxyzyyzzzzzyzz{yzzzyyxzzzzz{zz{yyyxyyyy{zyyzzzyyzyxyxwy{zyzyzzyyyyxyyzyzzwzzzzzxzxyxyxyzyyyzzyzyyyzyyzzyzzyyzyzyzyyyxyxxzzzyzzxxyxyxyxyzzyzzyyyyzyyyyyyz{yyyz{yyyxyyyyxyyzyzzzwxyxxyyyyyyyyzz{yxxyyzxyzzyyzzz{yyzyyyyy{yzyzyyzyxyzyxyyyzyzzzzyzyxyxxyxxyyxy{zyyyyyyyyyyzyzzyzzzyyyyxxyzzyzzzzzyyyyyxyyzzyzyzy{yyxxyyyyyzyzyzzzzyyyzxyyy{z{zzzy{yzyyyxyyzxyzzzzzzyyyyyyzzyyzz{zzzyyyyyyyzz{y{{zyzzzzyyzzyzzz{|zzyyzyyyy{zzzzyzz{zzyzyzzzz{{zzzzzyyzzzyyzyz{{{{{z{zyzzyyy{{{{{|{zz{zyyyzz{yz{{z{zyyyzzx{{z{z{zz|zyzyzyzzzzz{z{{{zzyxyyzzz{z{zzzzzyyzyyyxyz{zyz{zzzzyyxzxzyzzxzyyzyzwyyxyyyzyzzyzzxyyyyyyyyyyyzzzxyyyyyyyzyzyzzzzxxzxxyyyzzyzyzzzyyyxyxyyyyyzyzzzyyyyxyxxyyzyyyzyzyzyyyyxyyzyyzyyyyyyxyyyzzyyxyzyyyxyyyyyxyyxyzxzyxxxxwyyxxyxzzzyyyzzxzxyyzyyyyzyyyyyxxyxyxyyyyyyyzxyyyyyzyyzzzyzyxyxyzxyyyyyy{yyxyxxyxyxzzzyzzzyzxzyyxyyzyzyzzzzyyyzxyyzzzzyzy{zzyzyyxyzzzzzyzyzyyyyyzyzyzzyzzzzzyyyyyxyzzyyzzzzyyyzxyxzyyzzzzz{yyyzyyyyzzzzyz{{zyzzyyyzzzzz{z{{zyyzyyzyyz{zzz{yyyzyzzyy|zzz{{zz{{yyyyxyyz{{{z{{{z{yxyzy{{z{{{{z{yyz{zyzyzzzzyzzyyzyzzyzzyzzzzz{z{yyzyzyyzzyzzzzzyzyyxyyzzzzzzzzzxzyyyyyzzzyyyzyxyxxxyxxyyzzyyzyzyyyzyxxzyzzzyzzzyyyyzyxzzzyyxyzxyyxyyxyyyy{zy{yyyxxyyyxzyyzyyyyyxzxxyyxyzyyxzyyyyxyxyyyzyzyxzyyyxyzxyxyyyzyyyyyxxzzyxyyyxyxyy{yyyyzyyxyyyyxzyzzyyyyyyyxyzyyyxzzyxyyxxzwxzyyyyzzzyyxxyyyxzyzyyyyyxzyyyyxyyyyzzz{zyyyyzyyyyzzzyyzzyzyyzzyzzyyzzyzyyyyxyxyzzzzyzzzyyzyyyyyxzz{zzyzzyyyyyzxyzzzzzzzyyyyyyzzyyyzyyyzzyyyyzyyyzzzzz{zyyzyyzzzzzzzzzzzyzyyzzxyzzzzzz{z{yyyyyyz{{zy{zzyzyyzyz{zyzzzzyz{zzzyzzyyzz{{{{zzzyzzzyyy{zyzzzzzzzyzzzyzz{z{zzzzzyzyzzxzzz{zyzz{yzyyyzzyzzzzyy{z{yyyyzyyzzz{yyzzyyyyyyzy{zzyzyyyyyyzxxyxyyyzzzyzyxxxxxxxyzyz{yzyyyyyxzxyzyzzzzzyyyyyyyyyyzzyyyzxzyyyyyzxyxyzyyyyzyzyxxyxyyyyxzyyyyyxxxyxxy{xyyyxxxyxxyyxzxzzyyyzxyyyyxyxyzyyyy{yyxyyxxxxyyyyzyzyyyyyxxxxzyyzzyzyxxyyxyxzyyzyyyzyzyyxxyyxyzyzyzyzyyyyyyyxyzzxzyzzzxyxyyyxzyzyyyzzzzyyyyzyzzzzyyzzzyyyyyyxyyzzzyzyzzzzyxyyzyxzz{zyyyyyxyyyzyzzyz{zyyxzxzyzz{yyzzzyxyyyyyyxyyz{zz{zyyzyzzyyyzy{y{z{zyy{yzyyzzzzzz{zyyzyyyyyzz{{{yz{zzzzyzzzzzyzzzz{{zyyzzyyz|{{z{z{zyzyzyyzzz{{zy|zzzyzyyyzzzz{zzz{zzzyzzzzzyz{zz{{zzyyyzyzyzzzzzzyzyyyyzyyyzz{zzz{yzzyyyxxyyzzzzyyyxzxyyxxyzyyzyzyyyyyyzyyzyzyyzzzyyyxyyyyyyyzyzzyyyyyyyyyyzyzzzzzyyzyyxyxyzzzzyzzwyyyyyyxyyyyyyyy{yxyyyyyyyzyyyyzzyyyyyxyyyzyyzzyzxxywyyxyzyxyyzyyxxywyxxyyyzyzzyzxyzyxyyyyzzzz{yxyzxyyzxyyyyyyzyyyyxxyyxyyyyzzyzxyyyzzyyz{yzyyzzyyzyyxyzyzyyyzzzyyyxyxyyyyzzyyzzyzzyy{zyzzyxzzz{yyzyyyyyzzzzyzzzyyyyxyyyyzzyzzzzyyy{yxxxyzyyzzzyxyyzyyzyyyz{zzzzyzxzzyzy{zyzyz{zyzyyxzxzz{z{{zzz{xyzzyyzzzzz{{zzzzzzyyzyyzz{{{zz{yxyyzzyz{y{z{{{zyzxyzzx{zz{zz{zzxyzzy{{z{zzyz{{zzzyzyy{{zyzzz{{zzyyyyyyyzy{z{{{yyxyzyyyy{zzyzyyyyuyyxzyyzyzzyyyxxyxyzwxyzzzzxzzyyyyyyyyzyzzzyyzyzyyxyyyyzyyzzzzzzxyyyyxzzy{zyy{yyzywyywyzzzyzyyyxyxxxxxyyyzyyzyyzyyyyyxyyyyyzyyzyyxyyyyyyyxyzyzyzyxxxxxyzyyyz{zzzyyyyxyyyyyzzxzyyyyxywwyzyzyyzzzyyyxyyyyyzzyzyyzyyyxyyyyxzzyzzzyyyxyyyyyyxzyzzzyyyxzyyzyyzyyzzyyxyzxyyyzyzyz{zzzyyyyyyyzyzyzzzzyyyzzwzyyzyzyyzzzyzxyzyzzzzzz{{zzyzzyyyyyyzzyzyzyyzyzyyxzzyzzzzyyyyzyyzzyzzzyz{{zyyyyxyyzz{{{zzzyyzzzyzyzzz{zz{{yzy{z{zzy{zzz{z{{yyzzzyzz{yyzz{{{yz{zzzyz{z{zzzzzzyyz{zy{zzzyzzzyzzzyzxzzzzzyz{zzzyyzzzyzzzzy|y{zzyzzyxyz{yzyzzyyzzyxxzyyyzyyzzzxyyxyxyyyyyyyyyzywyyyyyyyxyyzyzzyzyxyyxyyzzyyzzyzxyyyyxyyyyyzyzzyyyyxyyyyyyyzzzzxxxyyxyyxzyyyzzzzyyxxyxyyyzyyyyxyyyyyyyyyxzyyyyzxyyyyxxxzyzyyxzzyxyyxyyyyyzyzzzyxyxzyyyyxyyyyyyyyxxxyxxwxyyyyyyxyyxyyyxyxzyzyyzzzxyyyzzyyyyyzyy{yxxyyyyyyyyzyyyzyyxyxyyyzyyyxzzzyxyyzxzyzzzyyzz{yzyxzxzxzzzzzzzyyyxyyyyzyzzyyyzzyyyyzzxxyzyyzzzzzyxyzzyy{yzyz{{yyy{yyyzzz{zzz{{{{wzzzyyyzzz{zzyzyyzzyzyyz{z{zz{zzzyyxyzzzzz{z{zz{zyzzzyyy{{{zy{{zzyzzzzyz|zzzz{zyzzzzyzzzzz{z{zzzyyzzxyyzzzzzzzzyyzyzzyyzzzzwzzzzyyyyzzxyz{zzzzzyzzyyyyyyy{yzzxyxyyxxxxxy{yyyzyyxyzyzyyxyyzyzzyzxyxxxywxzyyxyyzzyyyyyyxyyyyzyzzzzyyxxyyxzxyzyzy{yyyyyxyyyyzyzyyzyyyyxyxxyzzyxzzzyyxxyyxyyyyzyyzyxxyxxxxxxxyyyyyxyxyyxyxxxyyyyzyyxxyxxxyyyyz{xzy{yyxyyyzxwzyyyyyyyyyyyxxxxzyyzzzzyyxxyyyxyyyxyzzyyxyxyyxyxzzyzzzyzyxxyxyyzxyyzzzzyyyyxyxzzyzyzy{zyxyyyyyxzyzzyzzzyyyxyxyxyzzzzy{yxxyxzzxyzzyxzzzzyyyxyzyyyzz{{zzzyyyzzzzyyzz{yz{{yxxyxxyxzzyzyzzzyyyyzyzyx{z{zzz{zyyyyzyyyzzy{{z{zxyxxzzyzz{zzz{z{zzzzyyzzzyzzzyzyxyyyzyyyzz{zzz{zzzzzyyyzzz{{zzzzzyyxyzzzzzz{zzzyyxyyyyyyyzzyzyzzyyzzxyyzzyyyyyyyxxxyxyxxyzxyy{yyyyxzxyxyyxzzyzzzyyxyyxzzyyyzy{yyxyxxxxxzzyyyyzyyyyxyyyyzyyyyyyyyxyyxywxyyyyxzzyyyxyxyxxyyyyyyzxxxxxyyyxyyyyyyxyxyyxxxxyyyyzxyzxyxyxxyxyxyyzzzyyyyyxyyxyyyyzyyzzyxyxyyyxyyyzzyyxyyxxyxwxxyyyyyyyyxxyyzyxyyyzyyzzyyxxyzyxzyy{yzy{zxyyyyzxyyyyy{yzyyyxyzyyyzzzyzyzxyy{yyzyyzyzy{zyyyyyxxyyyzz{zzzzzyyyyyyyyzzyzzzyyyxxzyxyzzzzzzzzyyyyzxyzzyy{yzyzzxzzxyzxzzyyz{zyzyzyyyzyy{zzzy{yzyyyz{yzzyyyzzzzyyyyyyyyy{yzzz{{{yzzyzyzz{{zyzzzzyyyyzzzyzyzzzz|yyzyyyzyzzyzyzyzzyyyyyxyz{zzzz{zzyyyzzyyzzzzzzzyyzzyyyyyzyyyzyzxyyxxyxyxyyyxzyyyyxxxxxyxyzyyzyzzzyyxyyxxyzzyxzzzzyyyxxxyyzzyxyzyyyxxxxyxxyyyyyzzyyyyyyyyyyyyyyzzyyxyyxyxxyyyzzzyxyyyxzxyzyyzzyyzxxxxyyyxxyzyyyyyxyxyxxxyyxzxyzyzyxyyxxxyyyyxyyyzyzyxxxyxxyyxyyyzyxyyxxyxxzyyyyyyxxzyyxxxyzyzyzyzyyxxyyyxzzzyyzz{yyzyyyyyzxyy{zzzyxyzyxyxyzyzy{zyxyyyyyzyyzyzzzyzyyyyyxzxyyzzzzzzzxxyyzxyyzzzyzyzzzyyyyzyzzz{zzzzzyyyzyyzyzz{zzz{zyzyzxxzzzzzzzzyzyzyzyyyz{zzzzz{zzyyzzyzyyzzyzz{zyyyyzxyxzyz{y{zzyzyyyyzzzzzzzzz{xyz{yy{zzz{zy{{zxzzyyxzzzzz{y{zyzyxyyyyyzz{yz{{yyzyyyxyyzyyzzz{yyxyyyyxzzyyyzxyyywyxyxyyzzzyyzzyyxxxyxyyy{yzzzzyxzyyyyyyyzyzz{zyzyzyyyyyzyzyzzzzxyyyyywyzyzzzz{xyyyyyyyxzyyzzzzyyyyxyxxyyyzzzyyzyyxyyyxyyyyyzzzyyyxwxyyzyyxyzyyyyyzxyxyyz{yzyyyyyyyxxxxyzyy{yyzyyyyxxxyxyyyyzyzyyxxyyxyxyzzyzy{yyzzyzzxyyyzyzyzyyyyyxzyzzzyyyzzyyyyyyzxzyyzzy{zyxxyyyyyzzzyzyzzzyzy{yyyyzyz{{z{yyyyyyyyzy{yzz{yyzyzyyxzz{z{yzyzyyzyzyzxyzyzzzyzzzzyzzzxyzzzzz|zzzzyzzyyzzzz{{zyyzyzzyzyzzzzzzy{yzzzy{yzz{zzzzz{{yzzzyyzyz{{{{zz{yzzzzz{y{zzz{zzzyxzzyyzzzzzy{z{{zzzyzyz{zzz{{zyzyzxzxzzzz{zzzzzzzyyxzxyzzzzyz{yyyzxyyxyzyzxzzyyzxyyyyyyyzyyzyzyyyxyyxwyyyzz{zzzyxxxxyyyyzyyzzzzzyzyyyyyyzzzyzzyyyxxxxyzyzyyz{zzyyyyyyzyyzyyz{zxzyyyyzzxyxzyyz{yyyyyyyzzyyyyyyy{zyxyxxyyyzyyyyyyzyyyxxyyyyzyyzzzxyyyyxyyyzyyzzzzyyxyyyyyxzxyzyzzzyxyyxyxxyzyzyzyyyzyyyyyyzzzyzzzzyyyyxyyyyzzyzzzzy{xzxzyyyzyyzzzyzyyyzzyyy{zzz|zzyyyyzyzyzzzzzy{yyzyyyyyyzyzzzz{zyyyyyyzz{z{zzzzzyyzzyyzyzz{{y{zzzyzzyyzzyzzzz{zyyz{yzyyxzyzz|zzzyyyyyzz{{|zzz{{yyzzzz{zy{yz{zzzzzzzyyyzy{zzz|zzzxzyzyzy{{zzzz{{{yyzzzzzyzzzz{z{zzzxyyyz{{zzzy{{yyzyyzzy{yz{zz{zyyyyyzyyzzy{z{{zxyyzyxyxyzzzzyyzyxxzxxyyyyzzyyzzyyxzyyxyyzyyzz{{yzzxyzyyyzxzyz{zzyyyyxyyzzzzyzyzyyxyxyyyyyyyyzyzxyyyyxxyyzyyzyyyyxyyyyzyyyzyyzzyxyyyyxzyzyzzzwzyxxyyyxyxyzxzyzzyyxyyyxyxyyyxyyzzyyxyxzxxyyzxzyzyzyyxyxyyyzyyyyyyzyyyyxzyyzzyzyyzzyyyyyyxyyyzyzz{zyywxxyyzyyyzzyyzyyzyyyxzyzzyzz{zyyyzzyyzyzz{zzzyyzyyyyxy{yzz{zzzyyxzzyyyzyzzzyzyyyzyyyzyzzyyy{zzyzzzyyyzyz{{yz{yzyzyzzy{zzz{z{yzyyzyyxzz{{zzyz{zyzzyzzzzzzzyy|{zzzzzzyzzzzz{{{|zzzzyyyzyz{{{{{{zyzzyyyy{{z{{{{zzzyyyzyzy{yzzzz{zyyzzyzzzzzzyzzzzzyyyzyyy{zzzz{zzzzyyzzyy{zzzzzzyyzzyyyxzzzzzyzzyzyxxyzyzzyyyyyyzzyxyxyxyxzzzzzzyyyyyzxyyyzyyyzyyyxyyyyyyzyzyyzyzyyxxxyxxzyyyzyyyyyyyyyyyyyyxzzyyyyyyxyzyyzyyzzxzxyxxyywyyyyzzyyyyxxxyxyyyyyz{yyyyyyxyxxyyyz{yzzxzyyxxxyyyxyzyzzyyyyyyyxyyyyyyyyyyyyyyxyyyxzx{yyyyyzyyyxyyzyzzzzzyyyyyzyzzyzzyzzyyyzyyyzyyzzyyz{xyyxyyyzyzyyyyzyyyzzyxyxyzzyyyzyyyxyyyxyyzzzyyzzzyyyzzyzyzzyyz{zzyxyzz{yyzzzzzzzyzzyzzzzz{z{zzzzzzyyzyxzzz{z{zzz{yzzzzyyz{zy{yzz{yzyzz{yzyzzzzzz{yzyzzyyz{z{{{z{zzyzxyyyz{yz{zzzzyzyyyyz{yzzzzzzzzyzzyyz|z{zzzzzyyzyyzyzyzzzzzzzzyzzzyyyzyxzy{zzyzyxyyyxzyyzzywxyzxyyxyyxzyyzyyzyyyxzxyyyyyxyzyzyyyxyxyyzyyzzyzyyyyyyyxyyzyzyx{zzyyxxxxyyyzyyzzzyyyyxyyyyzyxxzzyzxyxyyxx{xzyyyzyzyyxxyyxyxyyyzzyyyyyxyyxxzzyyyzyyyyyxyxyyzyyzyxzyxyxxywxyyyzyzzyyxyyxxyxyzyyy{xzzxyxyxxyxzzyyyz{yyyxzzyyzyzzyyzzzyyyxxyyyzzzyzyzxxzzzyyzyzz{yzyyyyyyxyxxzzyzyyyzxyzzyyyyyyyyyzxzzyyxyyyyzy{xzzzyzxxyyxxzzyzzy{zzyyyyyzyyyyz{zzzyzzyyzy{y{yyzzz{zzzyyyyyxzzzzyzzzzyzyyyzzyzzzzz{yyyzyyxzzzzzyz{z{zzyzyyyzzzzzzzzzzyyyyzyzzzzzzzzzyyzzzyyyzy{yyzzzz{zy{yzyzzzzz{zzyyyyyxyyzzzyzzzzzzzzxyxxyzzzzzyyzzyxzxyyzyzyzzyyyyyyyyxyzyyyzyzzzyyyyyxxyzzyzyzzyyyxyyxzyyyzyzyxyyyyxxyyyxyyyyzzzwyyxwxxzyyzyyzyyyzyyyxxyyyxyyzyyxzyxxxyyyyxxyyyyyzxxzxxyyyzyyyzxxyxyxyxxyyxyyzyzxyyxyxxxyzyyyzzyyyxwxxxyxzyyyyzywyzyyxyxyzyyzyzzyyyxyyxyyyyyyzyyyyxyyxxzyzyyyzzyyyxzyyyyzyzzzyzyxyxxxyyzzyzyyyzxyyxxyyyzyyzyzzzxzyyyxyxxzyy{zyzyyyyyyyxyyzyxzzyzyyyyyzyz{zyz{zzxyyyxxyxyzyzyzyzyyyzyyyy{z{zzz{zzyyyyxyzyz{zzzzyyyyyyyzyzzyzyzz{zxyxzzzyzyzzzzzzzzzzyyyyzz|zzz{{zyzzxyzyyyz{{yzy{yyzyzyyz{zyzzyyzyzyzyyyzzzzz{zzyyyyyyyyzzyyzzzzzzyyyyyxyzz{yyyzyyy{yxxxyzzyyyyyxywyxxxyxzyyyzzzyyxxywxxxzzzzyzzyzyxxyyxxzxyyzzyxwyxyyyyyzxzyyzyzyywxxyxyyyyzyzzxyxyyyxxyyxzyzyzyxxxyxxyzyzzxzzzxzywyxyyyxyyyzxxxxyxyyxyxyzyyyzyyxyxyxxyyzyyyyyzyxyyxyxyyxzyyzzyyxxyyxyxyyyyxyyyyxxxyyyyxyyxzzyzxyyyyyyyxyyyyyyyyyyyyxyxz{yyyyzzyxyyxyxyyzzyyyyzyxyyxyyxzzyyzzzyyyzxxyyxzzzy{yzyyyyyyyyx{zzzyyzyyyyxyyyyzzyyzz{zyzyyyyzzzyzzzzz{yzyzyyyyyzyzy{zzyyzyyzxxzzyzzzzzzyyxzyyyzzyz{zz{yyzzyyzzzyzzzzz{yzyyyyyzyzy{{zzzzyyyyzzzzzzzyzzzyyyyzzyyzz{zzzz{zyxxzyyyzzz{zzz{yzzyzzyzyzyzyzzzzzyyxzxyy{z{zxzzyyyyxzyxxyzzxyyyxyxyxyxxyzzzyyyyyxyyyxxyyyzyyyyzyxxxxyyxyyyyzzzzyyyxxyxyyyyzyx{zyxxwxxxxyyxyzzzzyyxxyxxyyy{yyyyyyxyyyyxyyzyyyzyyyxxyxxxyxyxyyyzyyxyxxyxyyzyzyz{yyyxxxywyyxyyyyyzxyyyxyyyyyzzyzzyyyyyyxywxyyxyyyyxzyxyyyyyyyyyzyzyyyyxyxyxyyyzyzyxxyxyxxyyyyyzyyzzyxyyyyyyyyyy{yyyxxyyyyyyzyzyzzzyyyxxxyxzyyzyzzyyyxyzyyyzz{zzy{zyyyzzzyyyzzzy{yyzxyyyyyxzzy{yzyzxyyxyzyyy{z{zzzz{zzyyxyxyzzzzyzzyyzyyyzyz{z{z{{zzyyyyy{yzzz{{zzz{yyzyyyzyzzzzy{{{yzzyyyyxyzzzzzzzyyzzzyzzzzyzzzzyzzyzyyyzzxz{zzz{yyyyyyyyz{zzyzyyyyzyyyxzyyzxzzzyxyyyyyxyzyyyzyyyzyxxxyxyxyyyyyzyyxyxyyxyyzzyxz{xyzxyyyxzzxyyyzyzxxxyxyxzxzz{yzyyxxyyxzyyyzyyzyzxyyxyxxyyzyyzyzyzyxxxyyyxyyxyyzyxyxxyyxxzxyyxyyyxxyyyxxxyyyxyyyzyxxyxxyyyyzzzyyzyxyxxyxxyyyzyyzzxyxywyxyyzyxxyyyyzzyxxyxyxyyyzyzxyxxxyxxzyyyyzzzzyyxyxzyyzzyyyzzzxzyxxyyzyyyyyzzywyyxxyxyyzyzyzzzxzzxxyyxzzyyyyyzyyyyyyzzz{yyyzzyyzzxyyyzzzyyzyzyyzyyzyyzyy{yyzzy{zyyzzyyyzzyy{{zzyyyzyzz{zzzz{z{zzzyxyz{z{zzzz{zzzzyyzyyyzzzzz{zyyzyzyyzzzz{z{z{zzzzzzz{zzzy{yyzyyyzyyyzzyzyzzz{yzyzzyzyzxyzzz{yyxxyyyyyzzyzz{zzyyyyyzyyzxyyz{zyxzyxxxyy{yyyyzyyyyxzxyyyyzwzyyzzyxyyxxyyyzzzyyzzxxwxzyyyyyyzyzzyxyxxxyxzzy{zyzzzyyxyyxxzzyyxyyyyyyxyyyyyzyyyzyyyyyyzyxxzyxzxzyyyyxyxxyyyyyzyyyyyxxyyyxyzyzyyyzzyzxyyxxxyyyxyzyzyxzxyyzxyyzxyyyzyxxzzyyxzzyyyyyzxyyxxyxyxyyzxzzzyyyyyzyyzzzyyyzzxxyxyyyyyzzzzyzyyxyzxxyzzzyyzyzzxyzxyzzwyyyzzzzzzyyxzwzyyzyzzzzyyxzyyyyxyz{zzy|zyzyyzyyyzyzyzzyzzyzyzyyzz{y{zzzzyyzzzzyyz{yzy{zzzzzzz{xxzzyzzy{zzyyzzzzy{zy{zzzzz{yyzzzzz{{z{{y{{zyyxzyyzz{zzzz{zzzyyzyzzzz|zyzz{yyyzzyzzy{z{z{z{{zyyyyy{zz{zzzyxzyyyyzyzzy{zz{zyyyyzyyyyyzzzyzzyzzyyzyxyzzyyyzyyzyyxyyyxzyzzyzzyzyyzywxyzyyzz{zyyyyzyyyzyyyzzzyzyyyyyyyyyyyy{{zyyxxyxxxyyyzyyz{yyxyyyyxyzxzyy{yzyzyzxxyyyyyyzzzyyyxyyyyzyzzyyzzyyyxyyxyxy{yyyzzyxxyxyyyzyzyyzzzzyyyxxywzyyzyyzzyxxyyyxyyyyyyzyzyyxxzyxyzzzzzzzyyzyyyzyyzyyzyzyyzyxyzxyxzyzzyyyzzxzzxxzyyy|yy{zzyyyzyyyyzzyyyz{zyyzzzyyyyzyzyzzzyyzxyyzy{z{zzzzyzzyyzyyyz{zyz{zyyyzzyyzyzz{zzz{zyzzyyyzzyzzz{zz{zyzzyzyzz{zz{yzzzy{yzzyzzzzzz{zzzyzzx{zyzzzzzzzz{{yzzyzzzz{{{z{|{zy{z{zy{z{z{|{zyzzzzyyyzzzzzzz{z{z{zyzzz{zz{{{zzyyyzyzzzz{zzz{{zyzzy{zxzzz{zz{{xyzxyyxyyzzyzyyzyxxyyxwxxzyzyxzzzyxyxwxyzzzyyzyzyxyyxyyyxyyzzyzyxxxyzxxwxzyyxyyyyyyywxyxyyyyyyyyxxyyxxyyyzzyxyyxyyyyyxyyxyzyzyyzxxyxyxxyyyyyyyyzxyyyxyxxyyzyxyzxyxyyxywyxyzyzxzyyyyyxxxyyxyyyyzyxxyxyxxxxyyyzxyyzyxyxyxxxzxyyy{yyyyyyyyyyyyzxzzyyyyxyxyyyzzyyzzzyyyxyyxyyyyzxzyyyyzyxyyyyyzzzy{yyyyyzyxyyyzzyzzyyxxxxyyyyzzzyzzzzxxyyyyxzyyyyzyyyzyyzzyyyyzzyyzzyzyxzyzyyzyzzzzyzyyyyyyzzzzzzz|zzxzy{zyyyzyz{{zyz{zzyyzzz{{zzzzzzzyzyyyzyzzzyzzzzyyzzyyyzzzzzzzzzxyzzyyzzzzzyzzzzzzyyzzzzzyzzyzzzyyzzzzyzzzyyzzzzzyxyyyyyzyyzzzyxyyyzxxxzyyyzzxyyxyxyxxxxyzzyxyyyyyyyxyzzyzyzyzzyyyyyyyxxyyyyzyzyxyyyxyyzyzzyyyyyyyxyyyxxzzzxzxxyyyxwyyyyyyyxxyzyxzyyyxyyyxyyyzzyyxyxxxxzyyyzyyzxyxxyyzxxzyyyxyyyxxyyywxzyzyyyxzyzyxwywxyzyyzzzyxyxxzzxyyyxyyzzzyzyyyyyyyyxzx{y{yyyyzxxyzyxyyzzyyyyyyyyyyxyzyzzzzxxxyyyyzzyyyyzyyyyyxyyyyzzzzyzyyyyyyxyyyzzzzyyzyzyyyyyyzyyzzz{yyzxyyyxyyyzyz{zzyyyyyxyyzyz{zzzzxyyzzzyzzz{yz{zzyzzzzyyy{{zzzz{z{yxyyyyyzzz{{z{{zzyyzzzzyzzz{zz{{yyzy{yzy{{{z{z|zyz{yyyxzzz{{{y{{zyzzyyzyzzyzz{{yzzzzzyzzzzyzzy{yzyyyzzyzzzzz{zzzzyzyyyyyyzyyzzzyyzzxyzyzzz{yyzzyyxxxxyyyzzzzyyyyxyzyxyyyyzyyyzzyyyxyyxyyyyzz{zzzxzxyyxyyzzyxzzyyyxyyxyxyyzzyyyzyxyxzyyxyzzyzzzzzyxyxxxxxxzyxyyyyyyzxzxyxyzyyzyzxxyxyxyxyyyxxyzyyyyxxzyxyxzzzzzzxxyyyyxxyyyzyzyzzyyyyxxxyyyyxyzzyyyyyxxyyyyyyzzyyzyxyyyxyyzyyyzzyyxyyxyxyyzxzzzzzyyyyxyyzzzzyzzzyzyyzyzxz{zy{{zzyyxxyyyyxyzyzzzyzyyyxyzyzz{zzyzzyxzyyyxyyzzzxzyyzyyyyxzzzzz{zz{zyyyxyyxyzzz{{z{{yyyyzyyyy{zzzzzzzxzzyzzzzyzyzzzzzzyzz{zzzyzzz{zz{yyzzzyzz|zzzz{yzyzyyzyzzzzzyz{zzzzyyzyy{{yzzzzzzzzyzyyx{yzzzzzzyyyyy{yyy{zxzz{zzzyyyyzyyzyzyyyyyyzxyyzxyzzzyzxyxyyyxyyyx{zyxxyyyyyyxyyxyyyz{yyzxyxyyxyyyyyyyyyyyyyxxxxxyyyyyxyyyyyxxxzyyyyyyzzyxyyxyxyxxyzyyyzyyyyyxyxxyyyyyzyxyyxzxyxxyyyyyzyzxxxxxywyyzzyyzxyxyyxxyyxxzyyyzyzzyyyyyxxxzy{yyyyxxxxyxyxxyyyyzyyxyxxyyyyxzyyzzyzzyyyxyyxyzyyyyzyzxyxyxyxyyyyxyzzyzyyyxyxzyyy{zyzyyyyyyyyyy{yyzyzzyzyyyyyzzyzzzzzyyzyxyzy{zzzzzyyyyxyyzyyzzzyy{{zzzzyzyyz{z{zy{z{yyzyyzyyz{zzz{{zyzyyyxyyzz{yzzzz{yzzzyzzzzzzzz{zyzzzyzzzzzzzzzz{{yyyzzyyyzzzzz{z{yy{yxyz{zzzzzzzzzyyyzyzz{{zzyz|zyzxyyyzz{yzzz{zzzzyzyz{zzzzzz{{yyyyzzxyzyzzzzyzyyyzzxyyyzyzz{zzyzyxyyzxzz{yxzyzyxyyxyxxyyzzyyz{yyyxyyyyzyyyzz{yyyzyxxxxyzzzzzzzyxyyxyyxyyzyyxzzyyyxxxxxyyyyyyyyyxyxxyyyyzywzzzyxxyyyyyxxyyzyzzxyyxyyyyxyzyyyzzzyxyxxyyyyyzyyyyyxxzyxyxyyzyyyyzzyyyxyxxyxzyxyzxyyxyxyyxwyyyzyyyyxwyyyzyxyyzzzyzzyyxyxyyyyzxxyzyzzyzxyxxyy{zyzzzzyzxzyxyxyyyzyyzzzyyyzxzyzzzzzzzzyxyyyyzyyzzyyzzyzyyyyyyxyzzyy{xyzyyyyyyyzz{{{zy{xyyyyyzyy{zzzz{zzxyzzxxyzz{zyzzzzyyyzyyyy{yzzzz{zxzzyzzzyy{zzz{zzyyyxzyxzzz{yzzzzyzyyyyyz{zzzzzz{yyzzyyyyzzyzzz{yzyzzzyyzzzy{zzyzyzyy{yyzzzzzzzzzzzzyyyx{{y{zyzzyxyxxxyyyz{yzzyyyyxyyxxyyzyyyyzzyzxyxyxyyyzxzzzzyxyyyyzxyzyyzzzyyxzyyyxyyyyyyzyyxyywxyxxyzyyzzyyxxyyxyxxxzxyxzzyyyxxyyyxyyyyxyyyxyyxxxyxyyyyxyyzxxxyxwyyxyyyyzyyzyyyyxxyxxyyyyyyywzyxxxxyyyzyzyyyyyyxxyxxzyxxzyzyyxyxxyyxyyyyzy{yxyyzzxxyzzyzzzzzyyzxyyxyzzyyyyz{yxxzxyyzyzyyyyzzxzyyxyyzzzyyzyzyzyzxxzxyyyyzyyyzyyyzxxxyyzyyy{zyyyzyyxyyzzyzyzzyyzzyyyyyzzzzzz{xyyyzyzzyzzz{z{zyyzyzyyyzzyzyzzzyzyyzyzyy{zz{z|zzxzyzzz{zyzz{z{|zzzyyzyzzzz{zz{{{yzyyzzyzzyzzzzzzyyyyzxzzzzzzzzzzyzyzyyyz{yzzzz{yyyyyyyzzyzzyyzzyyyyy{zzyz{zyzzzyyzyyyyxzzy{zzyyyyxxxyxxyyxyzzzzyxxxyxxyyzyzzy{zyyxxyxyxyyxzzyzyyxxyyxyyyyyyxzyyyyywxxyxyyz{yzzzzyzyxxyxyzzyyyzzyyzyxyxxyyyxyyzzxyyxxyxxyyxzxyzyzyyyxxxyyyyyzyzyyyzxxyyyyyxyxyyxyyyyyxxwxyyyyyyyxyyyywyxyxzyyyzy{yyxyxyxxyyxyyyyxzyyyxxxyyzzyz{zyzxxyxxyyzyyxyzyyyxyyyyyyxyzzyyzyxyzyyxxzyzyyyzzxxxzxyxyyzxyyzyyzxyzxzxyzzzzyz{zyyyzyyzyzzyyzzzzzzxzzyxyyyzzzzzzyxzyyxzyyyyyzz{|zzyyyyxyzyyz{yzzzyzyyyyyzzyz{{zyyzyyyzzyz{{{zzz{zyyyzyzzyzzzy{z{zzzzzyzzzyzyzzyzzzyyzyy{{zzz{zzzzzyyzxyyzzzy{{zz{yzyyyxyyyzyzz{z{zzyxzyyzz{zyzzzzzyyyyxyzyzyzyzzyxxxyyyxwyyyxxxyxxwxxyxxyyyxyy{yyxxxxyyxyxyyyyzzxxxyxxxxxzyyyyzzyyywyxxyyyyyyyxzyyyyyxyxxyyyyyzxyyyyyxyyxyyyyzzywxxwxxxyyyxzxyyyyxwxyyyxxyyyyyyxxxyzwxxxyyyyyzyyyyyyxxxyxzzxyyzyzzyyyyyxyyyzyzzxyxzxxxyxxyyyxzyzyyxxxyyxzyzzyz{zyxzxyyyyxyzzyzyyyyyyzxyyyzyyyzz{xxyyyyxyxyzyzxzyyyyyyxxyyyzyyzzzyyxyyyxxyzzzyzyyyxyyyyxyyzzzzzzyzyyxxyyyzzyyzz{zxzyyzyyyyzzzzzyzyxyxyxxyzyzyyyzyxyyyzyxzzzz{zzz{yyyxyzyyyyzzzzz{zzyyyyyxy{{zzzzzzxyyyzyy{z{{yzzyyxyzyxzzyzzzyzzzzyzyyyxzzzy{z{yzzzyxzyyzyzz{zzzzzxyyyzxyyz{yyyzyyyxxyyzyzyzyzyyyyyzxxxywyzyyxzyzxyyyxxwxyyzyzzzyyxxxxzyxzyyyzz{yyxxxyyxxzyzyyyyzxzyxxyxxyzyyzzyyyxyyxyxyzyyyyyzxxwyxyxxwyyzyzy{yyzyxywyyyyyzyzyzyxwxxwxyxzzyyyzyyxyyxyxyyxyyyyzyzxyxyyyyyyzyyzzyyxyyyyxxxyyxyzyzyyyyxyxxxxyyyzzyyyyyyxwxzyyyyyzyyyyyyzyyzzzxzyyzyxyxyyyxyyyyy{zyyyyyxxyyyyyyzzyzyxyyzxzxxzyyzzzyzyyxyyyyyzzyyzyyzyyzzyyyyzzyzzzzyyyxyxyyzzyzzyyzzyyyyyzyz{z{{{z{zyyzyxyxyzzz{zz{{yzxzzzyzzzz{zz{{zyyyzzzyzz{zzz{zyyzxyzyzz{zzzzzzyyzyyzzzzyzz{{{zyzyyyyyyzyzzyz{zzzxzyxzyzzzz{zzyyxyzyyyyzyzz{zyyzyyyxyzyzzzzzyzyyyyyyxyyyy{zzyyxxxyyyyxxzyzxyzyxzyyyxxyyzyyyzzyzyyxxyxyzzzyyyzyzyyyxxxxyyzyyyzzyyyxxyxyzyyyyzyzyyxyxyxyxzyxzzzyxyyxyxxxxyyyyyzyxyywyyxxyyxyyyzyxxxxyyxyyyyyyyzyyyxyyyxxzyxzyxyyyyxyxyyxyzyzyyyyxxyxxxyyyyyzxzyzyzyxyyyyyzzyxzzzzxzyyxxyzxzyyzzzyzyyyxxxzzy{zyyzyyxxzyzy{yyzzzzzyzzyxzzyzz{yzy{yzyyyywzxxzzyzzz{yxxyyyxxzzyyyy{zyyzy{zyyzzzz{zz{zzzzzyzyyy{{zzzzyzyyzyzxzzz{zzz{zyyyyyyzzzzzzz{zzyyyzyyy{{zzyzz{zyzyzzzzz{z{y{{zzzzyzyyy{{z{zzz{zyyzyyzyz{zz{{z{yyyyzzyzzyy|{z|z{yzzzyyy{zz{y{zzzzyyzyyyzzzzzz{zzzyyyzyx{yyzzz{yzyyxyzzyy{{yyzyyyyyxyyywyyzyyxyyyxzxxxyyzyyyyyyyyyyyxyyxyzyzyyyzxxxyxxxyxyyyyyzzyyyxyyyxyyyyyzzyyyxyxwyzxyyyyyzxzyyyxxxyyyyyyyyyzxyyyxxyyyxyyyxzxyyzyxyyyyyzyzzyyxxyxwxyyyyyzyzyyxyyxyxwxzyzyyzyyxyxxyxyyyyyyyyyyyxyyxxzyzyyxyyyxyzxyxyyzzzyyzyyxyyxwxyyyyzyzxzzxyyyyzxyyyyzzyzzyyyyxzyxzy{zzzyyyxyyyxyyyyyzzzzzyyxyyyyxyzyzzyzzyxyyyyyyzzyyyzyyzxyyzyyyzzzzzzzzxzzxyyzyzzy{zzz|zyyzyyyyyy{zzzzzyyyyyzzy{{yyzzzyyyzzyyzyyzyyz{{{{yzyyyzyzz{zzyzzzzyyzyyy{yz{z{zzzyzyzyzyzzyzzzzzzyxzyyyzzzzzzzyzyyyyyxyzxzzzzz{{yxyyxzyzzzzzzzyzyyzyyyyyyyyyyyyyxxyxyyxxxyzzyyyyyxyyyxyxyyyyzzzzyxxxxyxxyyzyzyzzxxyyyyxyyyyyxyyyyyzywyxwxyzzzzzyyyyyyxyxyzyxzyyyyyyyywxxyxyxyzyyxxyxxxyyyyyyyzxyyxyxyxyyyyzyxzzyyxxxyxxxyxzyyyyzxyyxxyxxzyzyyyzyyxzx{xxyxyyyyzyyxyxxyxxyxyxyyy{yxyywxyyyxxyz{y{zyyyyxyyyzyyzzzzzyyzyxyyxyyyyzzz{xyyxyyyyzzzxzzzzyyyyyyyxyzyzzzzzzxyxyyxxzyyzzzzyzxyzyyyyzyzyyyzzyyyyzyxyzx{{yyz{xyyzyyzxyzzzyzz{zyyyyyyyz{{zzzzzyyyyyyzyyz{{yzzzzzyyyyzzyyzzzz{{{yzzxzyxy{zzzzzz{yyzyyzzzzzzyzzzzyyzyyyzzyy{{{{{yzyzzyyyzyzyzzz{yyyyyyzzxzyzyy{yyyzzyyyxyzzyyyzyzyyxyyxzyyyyyzxyyxxxxxyyxzxyyzyyyyxyzxxxyzyzzzzzyyxyxyyxyyzzyzzy{xzxxwxzyyyyzyzyzyyxxyyxzzyyyyx{yyxyxxyxxyyzyyyyyyxxxwxyyyyyyyzzyxyxxxxyzxyyyyyzyxyxyyyxxzyyzyyzzyyyyyyxyxyyyyyxwxyywyxyyyyzyyzzxxzyxxyxxzyxzyzzzyyyyyxxxyyyyzyzyyyyyyzxyyzyyyzyyxxyyxyxyyyyzyzzzyzzyxxxyyzyzyzzyyyyyyyyzxyyyzyzyyyyyyyyzzzyzyyyzyzyyyxyzyzzzzzzyyzyzxyzzzzyyzzzyyzyyzzzyzzzzzzyyyyxxyzyzyzyzyyzzyyzyyyyyzzz{zzyzyzzyzyyyzyzzzzyzzyyxyyzyzzyzzzz{yxyzyyyy{{{z{zzzzzzxzzzzyzzz{yzzxyyyxyyyzyx{zzzyzzyzzzyyzy{z{z{yzyyzyyyy{yyz{zyzyyyyzxyyzxyy{zyzyyyyxyyyzz{yzxyzyyyxxxyyyyyyyyzyyxyyxyxxxyyzzzxzyxxxyyyzzyyzzzyyyzzxzyyxzzyyyzyyyxzwxyxyyyzzyyzyxyxyxyyyzzyyzzzyyywyxxxzzyyyzyyyyyxxyyyyzyxyzyzxyxxyyxxyyyyyyzzyyxywzxyyzzxyzzzyzzxyywwyyzzzzyzxyyyxyyxyzyyyzyzyzyxxxxxzxyyzyyzyxyyxyxyyzzyyzzyyyxyzyxxyyyyyyzzzyyyyxyyzxzzx{zzyyyyyyxyyzyzyyzzzyzyyxyzyzzzyzyzzzyyyxyyyzzyyzzyzyyyyxxxyzzyzzzyyzzyyyzzzzzzz{{yyyzzyzzyzzyz{{z{zyxxyyyxzzzy{yz{yyy{zzyy{zzzz{zz{yyyy{zz{{yzz{{{yyzyyyyyz{zzyz|zzyzyyyyzzzzzyz{{zxzzzyyyzyy{z{z{zyyzzzzyyzzzz{z{yyyyxyyyyyyyy{{zzyxzyyxzzyyzzzyyyyyyzyyyyzzyzzxzyxxzxwxwyyyzyxyzyyxxyxxxyzxyzzz{xzxxxxyxyzyyyyyyzzyyyyxxyzyzxyyyyyyxwxywyyyyzyxzyyyxyxxxxzxyyzyyyyyxyxyyyyxxxzxzyxxyxyxyzxxzyzyzyxxyyxxxzyyyzyzxyzyxwyyzyzzyxyyxxyyxxwyxxyyzyxyzyyxyxxyxyyyxzzyyzyxxxxxxyzyyyzzzyyyxxxyyxyyzyyzyzyxyyxxxyyzyyyyzzyxyyxyyyyyyxzzzxxxyxxzzyyzyzyyzyxxzxxyyyzyzyzyzyxyyxyyyyz{zyy{yyyyxyyyyyyzyyzzzyyzyyzzzyyzzzzzzyzyxxyyzyzyyyzz{zyyyyyyxyzzz{z{zzyyyyyxzz{zzy{zzzzyzyyzzyzzy{zz{{yyyzzyzy{zzzz{zzxyyyyzzzyzyyzzzyyyzxxxzyzyyzzzzzzyyzzyz{{z{yyzzzyyxyyyyyzyzzzzzyyzyzyxxyz{zyzzzyxyxyyxyyyzxzyzzxyxyxxyxyyyyyzyyzyxyxxxyyyzyyyyyyzxwxyyxyxyyyyyzyxxxxxywyyyzyxzzyyxxwxxxyyzyyyzzyyxyzxxyxyxyyzzzyyxyyyxxyxyyzyzyyyyyyyxxyxyyyyyyyxxyyyxxyyyyxzxyxxxyxzxxx{zyyxyyxyxxxxyyxyyyzzyzxyzxxxxyxyxyxyzzzxxxyxyyxzxyxyxzyxxyxyxxxyzyyyzzzzyyzxyyyzyyyyyzyyxzxxyyzyyzzyyzyyyzyyyyyyzyzyyzzyzyzyyxxzzyyzzxyxzyxxxxyzzyxzzxyyyyxxyyzyzzzyyyyyzyzxyyyzzzzzzyyyzyyzyyyyyzyzz{zyyyzyyyzzzyz{yzzxyyyzyyzzyzyz{zyyyyyyyyzzzzzzyz{yyzz{xzyzzzy{zyzyzzyyyzzyzzzzzyzxyyyyyyyyzzzyzzzyxyzzxyzzzzy{{yzyyyyyyxyzzzzz{zyzyxyxxzyzyzzzz{yyyyxzxyxzzyzzyxxyxyyxxxxzzxyxyzzyxzyxwxyyyyzyzzyyxyyzxxyyyzzzyyyxyyxyxyzzyyyxyyyyxwxyywyxyxxxyyxyxyxxxyyzxxyyzzyyyxyxyyyyyyyyyyzxxwxyxxyyxyyyyyyyyxywyyyyyyyzyyyyxyyxxyyyyzzyxywyyxyyyxyyxyyyzyyyxyxxxxyyyyzxyzxxxxyyyyyyyyyzzyyzzxyxzxyyyyzyzyxyyyxxyyxxzyzyzzyyyxxwxxyyzyzyyzyyyyyyyyyzyyzyzyyxyxyxyyzzzyyzxyzxyxyyyxz{zyyyyyyxyyzyyyyyzyxyyyzyyxyyyxyzzzz{zzyyyyyxzyyzyzzzzzxyyzyzyyzzzzyz{zxyyzzzyzyzyyzz{zz{yyyzyyzzzzyzz{zzyyxzyyzzzzzz{zzyy{zzyyzzzzz{zzyyxxzyyzyzzzzy{zzzyzyzyyzzzzzyyzyzzyzxyyzyyzz{{zzyxyyxxxzzyzyyzzyzxyxxzyxyzzzyxzxyyxyxyxzyyxyyzzyyyxyxyyzxyyzz{zyyzyxxxxzyzxzzzzzyyyyxxxyzyzyyzzyyyxyxyxyzzyyyyyyyyxxyxxyyyxyyzzxxyxxyyyxyyyyyzzzxxwywxxxyyzyzyyyyyxwxxxyyxyzzzyxyyxxyxyyzzyyyxyyxxywxyxxzxyyzzxyyyyxxywyyzzxzyxxyxyxx{yyyyzyzyzyyyxyyxxyyyyyyzyyyyyzyyzxzyyyyzzyyyyxxyyyyzzzyzzzyxyyyyxyy{yyzzzyxyyzyyxyyzzyzzyyyyxyyxxyzzzyzz{zyzyzxyyzyzyzyyyzyyyxyyyyzyzyy{zyzzyyzzyz{zzzzzzyzzzyyxxyzzyzyzyzyyyyyyyz{zzz{zzzzyyxzzzyzz{z{{zzzzyyzyy{zy{zzz|yyzzyyzyzzzzzzz{zzxzyzx{zzz|zzzzyzzyzzyy{zzzyzzzyzyxxyyyyzzyzz{zzy{yyyyzyz{zzz{zyzzyyyzyzyzyyyxzyxyyyyyxyzzyyzyzyyzxxwyxyzzzyyzzzxyyyyyyywxyyzzyyxzxyyxxyzxyxzzzxyxyxxyyyyxyxyz{yxyyyyyxxyyxxzyyyxyyyxyyyyyxyzyzyzxyxxxyxzyyyzzzyyzyyxyxyyzzzzzzyxwyxxxyyyzyzxzyywxyxxyxyzyyyyyzyyyyyyzxyyyyyzyyxxwyyyxyyyyyxyyzzyyyyxyxyyxyyzyzyyyyyxyxzzyzzyzzyyzzxxyyzyyyyzzyyyyzyzzzyyzzyz{zzxyyyxzxyyzzyyzyyyyyyyyyyyzyyy{yzyyyxxyyzzyzzzzzyyyyyyyzyyzyzz{{xyyyyyzyzyyzzzzyzyxzyxwyz{zz{zyzzy{yyzy{zzzyyy{zzyzzxyyyzzzz{zz{zyzyyzyyz{z{yzzzzyyyyyxzz{{{zzzy{zxxzyzzzyzzzz||zzyzzyyz{y{{zzzzyyxyzzxyyzyzz{{zyzzxyyyxyzyzyy{zzyyyxxyyyyzyzaFx4a {{z{{{{|{{{{||}||{}{|z{{{{{|||}||{{z{{z|{{|{{{||{{{{zz{{||z|||{{{{{{{z{{|{{{||{{|zzzz{{{{{z{{{|z{{{{{{{{{{{{|||zzzzz{{{{|{{z{{|{{{yz{z{{{z{{{||{{{{{z{{|{||{{{||{|{yz{z{{{{{|{{{{{z{zzzz|{|{|{{{{{y{z{zz|{{{}{|{{z{{{{z|{{|{{|{{zzz{zz{{|{{{|||{{{{|z{{{{|{{{{|z{{{{{z{{||||{|{{{{z|{{{||{{||||{}{z{|{{|{||{|}|{{{{{{{{|{|{|||}|{{{{{{{||{{|{{{|{{|{|{{{|{||}}||{z{{z{z{|}{|{||||{||{|{{||||}||{{|{||{|}|{||}|}|}{{{|}|{}}|||||{{{|{{{|}||}|||}|z{|{{|{||||||{|||||{{{{|{{||}{}{{|z{{{{||{}|||||{z{{{{{||}{{z{|{{z{z{{{{z{z{|||}{||z{|{|||}|{||{|{||z{{z{}{|||{{{{z{{z{|{|{{|||{|{{{{{{|||||{{{|{{{{{z{{{{|{|{|{|z{{{{z||{||{|{{||{{z{{{{|{|{{|{z{z{{{z{{{{{{{{z{{{zz|zz{||z{}{z{{|z{z|z{||{|||{zz{{{zz{z{{|{|{{z{z{{{zz{{{z{{||{{{z{|z{{zz{||{zz{y{{{{|{{|{|||{{{{z|{{{|||{|}}zz{{zz|z|{||||||{{{{{|{z|{{|}|}|{{{{zz{z||{|{|{{|{{{|{{{|||{||}||{{{{z{||||{|||||z|{zz{{|||||{|{||zz|{{{|{|||}||{{{{|{|{{|||}|}{|{{|||{{|||{|}|}{{{{|{|||{|}|}|}~z||||{||}||||}{{{|}{|{|}||||{||||{z||{{{||||}|}||{{|||{|{|{{}||||{{||{|{|||||||{|||{{{{{||{{{|{|{{{{zz||{{{{|||{{{|{{}{{}|||||}|{|}{}{||||}}||{|{{{{{{||||{|||||{|{{{z{|{{|||{|}|{z{z|z{{||{||{{|{z{{||{|||{|}||{{zz{z{{{|{|{||z{{zz|{{|{{{{{{|{{z{z|zzz{|{{{|{{{{z{{z{{|{{}|{{|z|zz{{{{|{{{|{{{zz{z{{zz{|{{{{|||{{{{z{{{||{{|{|{zz|{{z}{{|{{|{|}{{{z|{||||{}{|{||{{{z{||{{||||{{{{zzz{||{{{{||{{||{|{zz|{|{||{||{z{|{z{||{{z|{{{{|{{z{{{}|z|{|{{{{|{{{||}|||{||{{{|{|{{{}||}|}{{{|{{|{||}||||{|{{{z{{{|}}|||}|{{{{zz{{|}}||}|||{z{|{|{{}|}}}|}}|z{{{|{|}}|||||}{{||z{}||||{}|}|||}||{||}}||||}}|{|||z||{{||||||{{{{{{{||{{{|}{||{{{{{{z{|||{||{{{|{||{{|||||}}{||{}|{{|{}||}}}{}{z{{z|{{|||{~{{{z|{{{{|{||{|{||{{{z{{{|{||{|}}{{|z{z{{z|{{{}|{{z{{{{{|{{||z||zy{{{{{{{{z{||{z{z{z{{z{{|{{{{}{|z{{{{{{{|{{{|{|{{||{zy{{{|z{{||{{{{zzzz{{{zz|{{||{zz{{z{{||{||||{{z{z{z{{{{||{{||{{{{z|z||{{|z|||{{||z{z{}||{||}z{|{{{||{{|{||{{{{{z{|{{{|||{|{{{{{{{{zz{|}|{||||{{{|z{{|{|||{||{z|{|{{{{{||||{{{{{||{|{|||||||}{{{|{z{{{|}{}|||{|{}|z{{{|}|}|}|||}{{}{{{{||}{}||{|{|{||||{}|}}}|{|{{|{|{}}|{||||{|||{{||}}|}||}|{z{|||||||}|{||{{z{{{{{|{{||||||{z|{{|{||{}||||{|{{{z{{{{z{}|||}|{{|{z{{}||||}}|{|{{z|{{{||}|}||{z{{{|{{|{{{||{|{{{{{z{{|{{|}||z{{{{zzz{{}{{|{|yz|{{{z{||{{{||z|{{{{{zz|||z{||{|{{z{{{{{{{{{{{{zz{z{{zzz{|||z|{{z{{z{zz{z{{|||{{z{zzz{{|{||{||{{z|{{y{{|{{{{||{{{{{|y{{z{{{|{|{|z{z{{{z{{{{|{|{|z{|{zz{{||{|{{|{|{{zz{{{|{{{|{|{z{zz{{{|z{{|||||z|{{zz{{||{||||{{z{{z{{{{||||}{{{{{{|{{z|{{{||{|{{{{z{|{||}{|||z{{{||{|{{||}|}|{z{{{{{z|{|{||}|{||{z{{{{|{|}|}|{{{{{||||{||||||{{||{{{{{}}||||}}{{|{|{||}{||||}|{||{{z|||{|}}|}{{||{{{||{{{{{}|||{|{{{{{}{|||{|{||z{||{||{}|{}{{{|{{z{|{|||z}|{{||z|{{{||}|{}|||{{|{z{|||||||{}|z{{{|{{{|{{|||||{{{{{{z{|||z{}|{{{zz|zz{{{|z{||zz{zz{{z{{z{||z|zz{{{z{z{{|{{{{{{{zzz{{z{{{{z|{{z{zzz{{{zz{{|{||{{{zz{{{{||{{{|z{{zzzz{z{{{|{{{{zz{z{z{zz{zz{|{{zz{{{yzy{{|{{||{{{{z{{{z{{{|{{||zzzz{{{|{{|{||||{{{zz{{{{|{{||||{{{z{{|{{}{{}{{}{{z{{{{{{{{{{{|||{z{{{{z}||{{|}{{z{{{z{z{|{{{{|{{|{z{{z||||}|{||{{{{{{{z||z|{{||z{{z|{z{{{||}||||{{{{z|{}|||||||{{|{{|{|||||||}||{{{|{|{{}||||~|}{{|||{{|{}|||||||{{{{{{}}||||}|||{{{}{|{|{||||||{|{{|{z{|z{{{|||{{{z{z{{|{|{{||z{||{z{z{|{{{}}|||{||||{{|}||}|}|{|{|{|{|||{{{}|z{{{{{{{{}||{{|||{|{zz{{{{|{{|||||{{{{zz{{|{|{|{{|zzz{zzz{z||||{{{|{z{z{{{{{z|{|zzzz{{z{{z{{z{{|zz{zzzz{{{{{|||}zzzz{zzz{{{{||||{z|zz{zzz{{||{|{{{{z{{{{z{{z{{{{{zz{{z{z{|{z{{|{z{|z{|zzz{|{{{{||{{{{{{{z{|{{|||z{{|{z{{{{|{z}||{{{{{{{|{{{||||{z{z{zz|{{{{|{|{zz{zz{{y{{||{{||{|{z{{zz{{||{||{|{z}z{{{|||{{|||}{{{{{{{{|{{|{{|}{{{|{{{{||{{}|||}|{{|{{z|}|{}|}}||{{{{{{|||{{{|||{{||{{{|||{}}{}|{|{{z{z}{{{|{|{|{|{|{{{||||||||{{|{{{{|||{|}|}}{{zz{z{{|||{z|{|{{{{zz{{{}||{{|{|{{z{{|{{|||{~|}||{{|{|z{|||}}|{|{{||{||z|~|}}|{{||z||z|{||{}}|||{|{z{z{{}||{||||{{{{{{{{{|{z|{|{{{{{{|{{{{|{|||{}{{{z{{{|||{|{{{{zz{|{{{{{|{{}z{z{zz{zz{|{{{|||zz{{{|zz|{{{{{|{{|z{{zz{{||{{|{|{z{{{{{{{{{z{{|{z{zzzz{{{z|}||{{{z{z{z{{{{|{|{|{|{{z{zz{{|z{|{{{z{{{{z{{||{|||||||{{{{|||{|{{|{|}{{{{{{{{{||||z{z{{{{z{{{}|||||||{{|{{{z|||{{{}{||z{{{}|{{||}|{|{{{{{|||{|{|{|||{|{{{{z|||{}{||{{{{{|z||{}{|||}}{{{||{||||{||}|||{{{{|||||{|||}||||{{{{z|||{|}}|}{|{||{{|{|||}|}{{{{||{||{||}|}|{{|{{{}{{|||||}||{{{{{{z{{{{|}}|{{{{{y{{z{z|{}z~|||{{{{z{}}|{{|{|{{{|z|{|||||||||{|z{||{{||{}{||}{|||{{{|{}||||{||z{{|{{||{{}||}{{{{{{{{{{|{||}{{z{{{{{{{{|{|{|{{zz{z{z|||{|{{{{{{z{zzzz{z{}|{|z{z{{z{z{|{{{|||{|{{{{{zz|{{{||}{z{z{zz{z{|z|z{{|zzz{zzzz{||{|{||{z{||{{yzz{||||{{|{{|{z|||{|||{|{zz{zz|{{|||{||{z||z{{|{|{}z{|||{|z{{{{{||}{{||{{{{z{{{{||{|{z|}|z{{|{|{||{{||{{{{{{|{{{{|}{||||{{||||{{||}{|}{}|{||{z{{||||||}|{|{||{|{|||||{}|{{|{{||||}|||||||{|||||{|||}{}}{|||{|{|{|||}|}|}{|{z{{{|{|}|||}||}z|{{{|}|||||||{{z{{||{|{{{||~}|{{{{{z{{{}{||{|{{{{z{{z{||z{}|}{|||||zz|}|||}|}}||{{|{||{||||}}~{{z{{{{|{|{}{{|{{{zz{{z{|}|{{}|{|{z{{{{{{|{|{||{|{{z{{{|{{{||{{|{{zz{{{{{||{{|{|{{{z{{||{|||{{|zz{z|zzzy{{{|{~{{z{|{{{z|{||||||{z{z{{z|{}{{|{{|{{{zz{{{|{z||{{{z{|z{z{z{||{{|{|{{{z{{zz{{}{{|}{{{{{{{{{{{|||{|||{{{|{{{{z{|{|||{{|{zz{|{{{|||{||{|{{{{{||{|z||||{{{zz{{{|||{|}{z{z{|{{{{{{{z||{zz{{{{{{|{|{||||{{{z|{{{|z{|{|}|z{{||{{|||{||{}|{{{z{{{{|{}{|||}{z||||{|{}|}||||}{{|{{{{|||||}}|}|z|{|{||}}}|}|||z{|{{||||||||}|{|{|{{{||{||{|||{{z{{{}{|}||{|||{z{{{|z{{{{||{{{|{|zz{z{|{{||||}|{{||}{{z|||}|}}|{|{{{||}||}||~|{{{{{||{||{{||}|{{|{{zzz{}|{z{|{|{{zz{{{{|{{{|||{{|z{{{{|||z{{{{z{|{zz{{{{{{||{{{z{{{{zz{z{|{{||{{zz{yzz{{z{{||{|zzz{z{{{{|{|z|{{z{{z{{{{{||{{|{{z{{{{{z{{{{|{||{z{yzzz{|{{|{{|{{{{zz{{z|{{{||||{{zz{{|{|{|{|{{}{|{{{{{||{||{{{{{||{{{{z{{|{{{|{{{{{{z|z||{{||{{|{{{{||z{|{{|||{{|{{{|{{{||}{{{|z{{z{z{{{|}||{|}{|z{|{||||{||{||{|{{{{|{{|{|||}{||{||{{{||}{}||}{{z}{{|{|{|}||}|{z{{||{|{}{||||}{||{|{{|}|{|||{||{{{{{{|||||{||}}{{||{{||||||}|}|{{|{{{z||{|{|}||{{{z{|{{{{{|{}{{{|z{z{zz{{{{|}}||{}|{|}{}|}|{|}|z|z|{{{|{||{|}|{|zz{{{z|{{||}|||{|z{{{z||{|{{{|{{{z{|{{z||{{|{||{z{{{{{|}{{|{||{{{z{{zzz{}{|{{|{|{z{{z|{{{|||{{z{|{|zzy{{{{{|}|z{{{{{zz{|{{|{{{{z{{zzz{z{{z{{{{|{{{{z{z{{{{{{{{{{{z{yz{z{z{{|||zz{z{{zz|{{{|z{{{{z{zz{|z}{|||{|{z|{{{{{||{{||{|zz{{{z{z{}z{||||{{|{|{zz{||||{|}|z|zz{{y{|z|{||||{{{{{{{{|{{|{|{||z{z{{{|}|||{|}z||{{{{{||{}}||}|{{|{||{{||{{|{{{{{z{|z{}||{}}||{||{|{||{||}|{|}||||||{{{||}||~}|{||{{|{}|{|||}}|{{{|{z{{{{|{|}|||{||||{||{}{|||{{{{|{}||{{||{}|{|{z{|{{|{||{z||{{{{|{{{{{{{z||}||||{{{|{|||||}||||{{z{|{}|||||||{{{{{|{|||{}||||{|{{z{{z{|{{|{|{{|z{zzz{{{}|{||z{zzzzz{{{{{{||||zz{{z{{{{|{{{{|{{zz{{zz{z||{|{|{{|{zzz{{|{{z{|||{|zz{z{{z{{{||{{zzzz{{{{{z{{|{|{{zz{y{zz{z{{||{|z|{{{{{{{z{z|{||{zyz{zzz{{{{{|{|z||{{|{z|{{{|{|z{{||z{{|{{{{|{|{|zz{||z{||z||{|{z{{zzyy{{{{||{{{{{z{z{{{{|z{{||{{z{||{{{|{|||{}z|{{||{{{||||{z}{{|z{{{{|{{|{{|}{{z{{|{{{|||{|{|{{|{{{||||{{|}|||{|{{{{{|{{|}||||{{{{{|||||}|}}||{|{{{{{||||||||{{{{||{{{||{}|}}||{{{{||||{|||||{{}{{{{{{|||||||{|{{{{{z|{}||{}{{{{z{{{{z{{{|~~}{{{}}||{|}}||||}||{||z||}{|||{{}||{z|{{{|{|{||{||{{|{{{|||{||{{|||{z{{{z||{z||z||{{{{{{{z|{{{|||{{{zz{|{{|{{|{|{|zz{{|z{{{{z{||{z{{zz{{z{z{z|{{{{z{{{{z{||}||||||{{{zz{{{{{{{|}{{{y{{yz{|{|{z{{|{{{{{{{z{|{z{{|||{{{{|{{{|{z{{||z{{z{{{{{{|{{{{}{{{{z{{||z{{|||{{|{{{z{z{{|{|{|{{{{{zz{{{{|{||{||zzz{{{{{}{{{||{{{{{{{|{|||z{|}{|{{{|{|{||||{||}|zz{{{{{||{}{{}{|{|{{{{z||||{|}||{{{{{{z|}||}|}|{|z{{z||{{|||||}|{|{|{||{}||{|}|||{|{{{{|||||}|}|z|{||||{{||}||}|{|||{{{|{||||||||z{{{{{{|}}||||{{y{{{z{|{||{{{||z{||{{|{|||||{}|||{{||{|||{{}||{}{||{||{}}{|||}{{{|zz{{{{z||}|}||{{{z{{{{||{||||z|{{{|{{{||{|||{y{z{z{z|||{{||{|{z{{z{{|{z||}||{z{{{{zy|{|{{{{|{z{zzz{zz{|{{|}{{z{{{z{{{{{{|{{{{{{{{{{z{{{{|{}}{{z{zzzz{y{{{{{{|{zz{z{zz||||{||{z|{z{zz{{{|{{{||{{z{|{{|||{{|||{zz{{{{{||||{|{|{{{{zz{{|{{{|{{|{{{{{z{zz|||{{||{z{{{{{|{{||{{|{z{z|z{z|{||{|||}{{zz{{{{{{|{|{||{{{{|{{z||{}|{|}{{{{|{zz}||}|{|||{||{{z{{|{|||{|{{{{}{||{}||||}||{||{|{{{}}||||}|{{z{{{{{}|||||||{{}{||||}||||||{|||||{||{||}}|}|{|{{{{{|{{|||{{{{z{{{{{z|{{}{{|{{{z{zy{{{{zz~|}||}{|||||}}|||}~||{|||{{}|}}|||{||{|}z|{|{|}||||{{{{{}{|{{|{{||{{|{{|{{z{{z{}||{{{{{{{{{{|{|{|||{{{{{{{{{||z{||z|yz{{{{{{{{{{|||{{zz{z{{{{|{{{|{{z{zz{z{{z{{{{||z{z{z|z|{{{|{{{|{|{{z{{{{{z{|{|{{{zyz{z{{{{|z}{|{{zz{{z{|||}z|||{{z{{{z{{||{|||||z{{{y{{|||{{{{|{{{{{{z|{{|{|}||z{||{y{zz|{|||||{|{{{{{{|z{{{{||{z{|{z{{|}|{{{|{{{|{{|{{||||||}|{}{{z{{{{||{||}|{{{{{{{{}|||{|{|{{|{}{|z|{||||}|{||{z{||||||||||||{{{||{|{||||||}|||{{{{|{|||{|{{|{{|z{|||||||}|}{{{|||{|{{||}}}{|{{{|{{z|||||{||{{{||{z{||{{{|zz{{{zz{{z{{{{||}}|||{||{|}{|||{{{|{{{{{{}||||||{|{{{||{{|{{{|}|||z{|{{{y{{||{{{||z|z{{{z{|{{{|||{z|z|z{zz|{{{{{{|{zzzzzz{{|{|{{{{y{z{{zz{|{|{{{{|{{zzyz{{{{{z|{z{{z{z{z{zz{{{{{|{{{{zzz{{|{{{{{|{{zy{{zz|{zz{{{{{{zz{{{zz{z{{{|}z{{z{{{z{{{{{{{{{{{{{z{{{{|{|{{{{zz{{zz|z{|{|{||{z{yz{{z{{z{{{{||{{{z{{zz{||{{{|z{{z{z{z{{|{{z}|{z{{{{{{{|{{{|{{|{{{{{{z|{{{{|{{{{{z|{{{{{{|}|}|{{{|{{{{{{|{||{z|{{zz{{|{{|z||{{{||{{|{{z||}|{|||{{|{{{{{}{||{|}|{{{{{{{|||{{}{|{{{{{{|{||||}|||{{|{{|{{{||||||||{{{{z{z{|{{||||{{|{zzzzz||||{|||{z{z|zzz{{{{}}|}||{|{|{|}}|{|}}|{{||||{|{||~|}~|{{{|{{||{{||{|}{{||{{|z||{{y{||{{{z||{z|{{{||{{{{{z{{zzz|{z|||{{{{{{{{{|||{{||{|{{{{{{{{{z{{z}{{{{z{z{{z|||{{|||z{zz{{{{{zz{|{|{{{z||z{{{|{{{||zzzz{{{{zz|{{||{{{zy{{zz{{{||{||{z{{zz{z{{{|{|{|{{z|{z{|{||{{|}|zz|z{zz{{||{|z{{|z{{z{{{{{{z{||{{{{{{{{{z{{||{||{{{z{z|{{{{|{||||z{{|{|{|{}|{|{|{|{{{{|{||}|}|||{{z|{{{{{||{|||||{{{{{{{{||||||{|{{{{{{{}||{{}|{{{||{|||{||}||||||{|{||{|||}||}|}{{|{{{{|}||||{||{|{{{{{||{{{}|}{{{|{|||}{{||}|}{|{{{{|z{|||||{||{z{{{{{|{{||||{|{|z{{{yz{|{{|~}|}}||||{{|~|||}||{|{|{|||{}||}||{{{}|{z{{||}|||}{{||{|{{{||}{|}||||{{zzz|{{{{||{{{|z{|{z{||||{{{|{zz{|{z{{{z{{{{{|{{zz{z|||z{{{|z{{{zzzz|||{{|||{z{z{{z{|{z{{z{{z{{zz{{{{{{{{||{{{{{zzz{{{|z|{|{{|{z{{{{zz{|{||||{{{z{{{|{|{|{{|{{zz{z{{|{|{|||||z{{{z||{{{{||||{{|{{{{y{||{{{||{{{||{{z|{{{|||{|{{{{{{{|||{|||{||{{{z|z|||{|{|{|{|{{{z||{|||{}}{{|zz{{{||||}|{{|{{|{z{{||||}|}|||z||z{|{|||{|}|}{}{||||||}||}}|||}{{{||{}|||{}}|{|{|{{{{}|||{}}|{{{{{|{{|{|||}||{|{{}{|||{||||||{{{{{{|{||{{|||{{{{z{{{||||{||||{{z{{{z{{{|{|}~||}}|}|}|}}}|}}}||}|{{{{|}||{|}|{||{z|{z||}{|||}|z||{{{|{|||{{}|||{{z|{z||||||}||||{{{{z{|||{||{z|{zz{|{{z||{||{{{zz||{{{{||{|{{{|{{{z{z{{{{|{|{{{{{zz{{{|{{|{}|{{z{{{{{{||||{}|{{{{{|zyzz{{{||{{{|{{|{z{{{{z||||{{{z{{z|{{|||||{{z{{z{{{|{{||||{{{{{z{|{|{{||||{{|{{|{|{{|||||{{{|{zz{{|{|||||{{{{{{zz{{}|{|||||{z|{{|||{|{{}|||{||{|{{||{|{|}|{||||{|{{||||}|}{{{|z{{{{||{}|{|}{|{{{{z|||}}|}||{|{|{||{|}||}|}|{||{||{{}}||}|||{|||{|{}}||z}|{{{|{|{{|||||||}}|{{}||{{||||{}}|{{|z{{|{||{|||}|}z|z{||z{|||{|||{z{z{{|{|{{||}}~||}}||||}|}|}|}}||||||{{}||}{}}||{{{||{||{|{}}{||{}{{{{|{|||z|{{|{{{{{{z{|||{{|}{{z{{{|z||||{}{|{z|zz|{{{|}{z}|||{{{zz{{z|z{|{|{{zzzzz{z{|{{{z|{{{|{z{z{{{{{||{{{{||z{{z{{|||{{||z{{{z{zz|{{{{{{z{{{zzz{{{|{{}{{{{{{{{{{z{{|{{|{{{{{{zz{{{{|{}|{|{{{{z{{|||{{{||{{{z{{z{{||{{}}|{{{{{z{{{|{||||||z{zz{{||}{|{|{|{|{{{{|{||{|{||{|{|{{zz{{||}}}}||{{z{{z|||{|||}||{{{{{{z|||{||{|}{z{|{{|||}|||}}|||{|{}|{{{{|||}|{|{{|{|{}||||}|}|{{|{|{}|}|}}|{{{{{|{{{|{{|{{|{|{{{{||||{||{{|}||{{{{{{||{|{{}}{{{|{{{{|{{||{}{{z|{{{{z{{{|{|}~|}{|||||}}||}}}|||{}{{{{|}{|{}}|}||{|z|{{}||~}}{|{|{||{{{{|{||||z{z{{zzz|||{{|{|{{zzz{z{z{{z|{||{{{{{{zz||{{{|{{{{z{{{{{{{{|{|{|{{{{{zzz{z||{{|{{{z{{zz{{{{||{|z{{{{z{zz{||}|{||{{z{|{{z{{|{z{{{{{{{{{z{{{z|{|{{z{{{z{z{{|||{|{{{z{{{{zz{|{{{|{|{{||{{{{|}{{|{|{{|{{{{{z{|||}{||{|||{z{{{{|{||}|{z|{{{{{z|||||||{{{|{z|{||||{|}|{{{{{|{z{}{|{|{|{||z{||{||{}|{|}|{|||zz{||{{}{}{|{{z|z||{||}{}||{||{{{|{|||{{||||{z{{|{{|}|||{||{{{||{|{||{|||||||{|{{{|||}|||~}|{{|{{{|{{|{}|}|||{z|{|z{||{|{{|{z{{z{{{||{{{|||{z{{{z|zz{|{|}}~}}|||}}{}}}}}||}|||}||}|}}|}|}|}{|{{{{|{||{|||||{{{{{z{z|||{{{||{{|z{{{z{|z{|||}{{{{{{{z||z|{||{|{{z{{z{z{|{|{{|zz{{z{{z{zz{{||{{zzz{{{{{{|{{||{{{{zzz{z{{{{{{{|{{{{yy{{{{{{y{||z{{zz{zz{|{{|{||z{{{{zzz{||{{{{|{z{{z{{z{{|{{||{|{{zz{{{{{{|{|||||{{zzz|{{{z{}|{{zzz{{z{|{{{{{|{{{|{|{{z{||{|||||{{{zz|{|||{z{|}z|||{{{{|{{||z|z{{{{|{{||||||}{||z{{{{{||{||||{|{{{{z||{|}||{|}||z{{{{{{||||||{|{{{|{{|{||{}||||||{|{|{||||||}~|{{{||{{{{{|{|||}{{{||{{{{|}||}|||{|z|{||||||||||z{{z{{{{|||{||}|}|{{{z{{|||{|{|}z|{{z{|{|{{{|}~}|}}{}||||}|}||}}||||}}|}||}|}||}|||{{}{||z{{|}|{|{|z{{z{{|{|{{|}{{|zz{{||||||{||{|{{{{z{{{||{{|{|{|zzzzz{{{z{{||z{z{zz{{{|||{{{|{{zz{{z{{{{z{||{z{{{zzz{z|||{}{{z{{z{zzz|{{{{||{{{{{zz{z{zzz|{{|z{{{{z{{{|{|{|||{|{zz{zzz||||{||{{{z{z{{{|||{{|}{{{|zz{{|{{{{|||{{{z{{{z||{|{|||{{{|{z|{||||{|{|{{|{{z{{|{|{{{|{|{{|z{{z||{{{|{|{{{{z{|{|{||{||||{|{{{|||{{||}}|{{{|{{{z}|||}|||||z{{|{{|||{{|}}{{|{|||{||{|{||}|||||{||||||{||}}{{|z{{{|{||{|}|{{|{{z{||{}}|}}}{||{|{{{|{||{||||{|{z{{{{|{{{}||{{z{{{|{{|||||||z{zzz{yz{{||{~}~|}{}{|}||}}}||}}||}||{{|{|||}||||{||{|z|~|||{||}{{}{{zz{||||z{{}{z{{zz|z||{||||}{z|z{{{{{{{{{{{|z{zzz{z{z|{z||{{|{{{{zz{{{|z||{{z{zzzzz{{|{||{{z{{{{zzz{{z{||{{|zz{{{{zz{{|||{|}{{{{{z{z{{{{{{{{z{{yy{z{z|{z{{{{{{{{{{zzz{{{{{|}|{z{{y{{{|||{{|{{z{{z{|{z|{{{{{{{{{{{z{|{|{z{}||{||{zz|{}|{|||||{{{{{{{{{||{{{|{{zz{{{z{||{{{|}|{{z|{{{{||{}||||{{{{z{{z{{||{{|}{z{z{{{{{}{||||{|{z|{{{{|{|{|||{{z{z{|||||{|||||}||{|{{{{||}}||}{|{|z{|{|}|{||||{z{{{{||||||}{}}||||{|z{||||{~{{{{{{z{|z{|{|{||{{{|{zz{{{|{|{{||{{|{zz{zz{||{}~}}}}}}|}|}|}||}~~||||{{}}|||||}{{|{{|{|{{{|}||||{{{{{{{{{|||{|}||{|{z{{{{{{|||{{{{{{{{{z{{{}{||{zzz{|z{z{{{{{|{|{z{{z{{{{|z{z||{{{{z{z{z{z{{z{{y{{{zzz{{{{{z{|{{{{{zz{z{z{{{z{{{{z{{{zz{{|{{{{{{{{{zz{{{z{z{{|{{|{zz{{y{z{{{{|z{{{{{{{z{{||{{{|||{{{{z{|z|{{{|{{{{{z{z{z{|{{{{||{|{{{|{z{||{{{|{{{{{zz{z|{|{|{|{|{{{{z{z||{}{}{{{{{{z|{|{{||{}||{|{|{{{z||||{}|{z||{{{{z{||{||{||z{{z{{z{||||}}|{{|{{|{{{|{{|||||{|{{||{{|{{}|||||{|{z{{|{{||{||}|{{{|{|{|{{||}|{|||{|{{|||{{|||{z{{{z{|{|||||||zz{{{{{z{|{||{||z{{z{{z{{z|{{|~}|}}~|{}|}||}|}|}{|{||z{|||||||||||z}{{{}|||{}|{|{|zz{{z{|||{zz|{|zzz{{z{||{{{{||z{z{z{z{{{||{{z}z{{z{zz{{|{{{{z{{zz{{zz{{z|{{{{z{{z{zzzz{{{{||{{zz{zz{{{z{{|{z|{|{zzzz{z{{{{{|{{zzz{z{z{{{{{||{{{{{{{z{{{{{||{{{{{z{{{z|z{{{{{{{y{{zyz{|||{z{{||{{z{z|{{{{|{{||zz{{zz{{z|{{z{}{{|{z{{{z{|z||{{|{{{{|{{{|{|{{{||{{{{z{{{{|{{{|||{{{{{{|||{||||||z{{{{{|{|}{|{||{{{|{z{z{{{|{{||||{||{{|zz|}{|||}|{{{{|||{}||{}|}}{|{{|{{||}}{}|||{|{{{{{||||||}{|{{|{{{z{{{|{|}}|{z}|||{|}{}{||{{{|{{{z|{{|||||{}{{z{{{{{{{|{{|||{{z{z{z{{{|{}|}~~}|}|}}|}}}~}|}|||{|{||}|{|{}}|{z||{{|{{|}|}}}{|{|z{{{{|{{{|}|{z{z{{{}{|z|||}{{{{{{zz{{{z|||||z{z{zz{{||{|{{|{y{{{z{z|{{{{{|{{{{z{zzz|{{|{||{{{{{{{{{{{{{||}|||{yyzz{{|||{{|{|zzzz{zzz|{z{{{||z{zzzz{{{{||||{{{{{{{{{|{{{{{||{zzzzz{{{{{|{{||{z{z{{|{|||||}||{{{{z{{{{|z{|{{{|z{{|zz|{{{}|||||{{|{z{{{{z|{z}{|{|{{{{|z||{{}{{|{{|{{{{|{|{||||{{{z{{{z||{|z{{|{{z{{{{{||{|||||{{{{{{z{}|||{||}{|{{{{{|||{{|}||{{{{z{|{{}|{{}|||{|||{z{|{|||||{{{{{{{{|{{{}|||}z{{{{{{|}{{|||||{{{{{z{{{{||{||||{{|{{{z{|{{{|||{|{z{{{{{{|{{~}~}}~}||~}}~|}|}}||}{|{|}{|||}||||{{|z|{|}|{||}||{{{{{z||{|{|{|}{{{{{{{z|{|{{{{|{|{zz||{|||{||{{{z{{{{{zz||{{|{{{zzz|{|z{|z{z{z}{z{zzzzz|{||{{{{{zz|z{{z{{|z|{{{{{{z{zz{{|z|{{{{{zzzzz{z|||{{zz{z{zy{z{{{|z{{|{{{z{{z|{{{{|{{|{||{|z{{z||z|{z|{|{{{{{{{z|z{|||{}z{{|zz{{{{|{||}{{zz{{{|z||}{{||{{zz{{{z{{||||{{{{{{{{{{{|}||{|||{||{{{{|||}}|||}z{{{{|{{{|{|{||||{|{z{zz{{|{}||||{{{}{{{{}{{}||}{{{|z||{||{}}}{}||{{z||{|||}|||||{{{{{{{|{||}|}|{|||{{{|{|||{|}|z|{|||{|||||}}}||{z{{z{{{|{{{{|}{{y{{{|{{{|{{|}|{{{yzz{|{|{{{~~~}~~|}~|~}~~~~}}}}}|||||{||}|||~}}{{{|{{{{{||||||{{z||{{|{||||||||{{{{{z{||}|{|{{{||z{z{{{{{|{||{{z{{{z{z|||{{{|{zz{|z{z{{z{{{z||zz{zz{zzz{|{|||{z{z{{z{{{z{{|{{||{{|zzzz{|{{{z{{z{zz{z{z{{{|{}{|{zz||zz{{{|{{|{|{zz{{zz{{{||z||{{|{{|{{z|{{{{{{|z{{|{z|{{{||{||{{{|zy{{||||{{|{||{{{{z|zz|{|{||{|{z{{|z||{||{|||{zz{{{{{|{|{{|{||{z|||{{{|||}|||{{{|{{|{||||||}||{{|{|{{|||{||||{{{{{||{||||{|||{|{{{|{{z{|{|{}{||~|{{|{||{|||||||{{{|{{||||||{}|{z|}{{|{{|||}|~|{{{|{{z|||}||{}{|yz{||{{|{||}|{{{|{{{|{{||{{z{|{{{{yzz{|{|||~}~~~||~~|~}}}~~||{||}|||}||~||}||}|{{}{}|{|||}||{{||{|{{|||{{|||{|{z{z{||{|{|||{{{z{z{z{|{{|||{{z{{|{{{{{||z{|{|{|{{{{{{{|{{||{zz{{{zzz|{|{|{{{{{{{z|zzzz|{||{{{z|{{{{{{{{|{{{|zzzz{z{z{{{{{{{{|{z{{{{zz|{{{{{z|z||{{{z{z{{{{|}zzzz{{z|}|||{||{{{z{{{|{{{{{z{||{{{|zz{|||{{|{|}|{{{{{{{|{|{{|||{z|{|{z{{{||{|}{|{{z{|z{{|||{|{|||z{{|{{{{|}|~||z{{|{{|{{|{|{|}}{{{|zzzz|||{}{{{|{{{{{||||||{||}{{||{{{||}|||||{|{{{{}{{|}|||||}|||||z|{{|}|{{||{{{|{{{|||}}|}||{{{|z{{{|||||||}{{|z{{{{{|{|||}||{z|{{{{{||}{|{|z{{{z{{{{||{{}~~~|}}||}~~~}~~|}}||||{|}||}}|}|{||{{|||{||||||{{{|{{z{{|||{|{{|||{z{{z|{{|{|{{z{{{z{{y{|{|{{{{{|z{z{{{z{{|{{{{{{{z{zz{{z{z|{||{{z{|y{{{{{{||{{zz{zzzy{{|{||{zz{z{zz{zz{{{{|||z{{{{{yz{z|{{{{{{{{zz|{{yz{{{{{z{{{{zz{||{|{{|{||{{|{{{z{||{|}|{|{{{{{{z{||{|{{|{{{{{{z{{|||{}{|}|z{{{y{z{||{|||{z{{{{z{z||||{{{{|{{{{{{{{|{|{|{{||zz{{{{||{}|}{|{||{{|{{||||{|{{|||z{{{{|{||{||{|{z{{{{z||||||}|{|{{{{|{||{|}|{||{|{}||{{}|}|}||{||||{{|{{|||||{|{z{z{{{||{|||||{{{{{|||{|{|{||{{{{{{{{{{||||{{{|{{|{{{{|{{||||{{|{z{z{{{{z{{~~}}}|~}}}|}~}|||||||||}}||}|}{{{z{{{}|}|}}|{|{||z{{{||{|{z||{{{{|{{z{{}||{|}{{z{{{{z{|zz{{{{{{{{{z{{|z|{{|||{{{{zz{{zz{{|{{|{zz{|{{z{|{||z{{{z{{{zz{z{{{{{|{z{{{zzz|z{{{{{|{|z{{zz|zzz{{{{{|zzz{zzy{z|{{z{||zy{{{{{{{|{{{{|{zz{zz{{yz{{|{{{|{zz{zz|z{|{{{{{|{{{y{zz{|{|{|||{{|{{{z{{{|{{|{z{{z{{z{{{{{{{z{{|{{{z|{{{{{|{{{{{|{z{{{{{{|{{||{{{z{{|{|{{{{|||||{{||{{zzz{{}{||{}{{|{{{||||{}||||{|{{{||{|}{|||||{{zz|{{{}||||||{{{|{{{{|||||||||{{||{z|{}||{|}||{{{|{{{||}}||||{{{{{{{zz|||||}|||{{{{{z{|{|{|||{{{{{z{{|{||{~~|~}~~}}~}}}~}~~|{{||||}}|||||||}z|{|{z|{|{{|{|{z{{{z{z||{}{{||{{|zz{{z{{|{||{}{{{{z{zz{{{{z{|||{{z{zzz|{|zz{z{zz{yzzzzz||{{|{{{zz{{{{zz{zz{{|{{zz{zzzzzz{{|z{{z{zzy{z{{|{{|{||{z{{{{z{{|zz{|{{{{z{z{{{z{{|{|zzz{{{z|{zz{||{|{{|{zz|zz|z{{{{{||{z|z{{zz{{z{{|||{z|{z{zz{{|||}||{z|{|z{{{{{{|}|{{{{z{{z{{{{|{{|{{{{{{zzz{{|{{{{|z|{{{z{{|{{{|}z|z{{{{{|{z|||{||||yz{{{z{||{||||{|z{{{|{{{||{|{|||{{{{{{|{{{{}}|||{z{{{|{|||{||{|||{{{z{{{{{{||{|||{{{{{{{}{{{|}~{|{{|{{{{{{{|||||{z{{{{|{|||{{|||{{zz{{{{{|{{|}{{{||{z|{{|{|{~~}~}~~~}~~~|}}}}||{|~~}|}|~}}|{{}||||||||}||||||{|z{|||{|||{{{|{{z{z||||{{|}|{{{{z{z||{|{{{{{z|z{z|{{{|{z|{|zz{z|{{{{{{{{|{{{z{{{zzz{{{||{|{{{{{zzz{z{{z{{{|{{|{z{{{{{{|z||||{{{z{{z{||{|{{|{zz{zz{z||z{|||{{{|{zz{z{{{{{{}|{{{zzz{z{{|{|{||{z{zz{{z|{{|{||{{{{z|{{{{|}|||||{|{{{z{{|{||||{{|{{{{{{{|{||||}{|z|{z|{{{{|{|||{|{{{z||{|||{|}||{|{|{{|||||}|}{|{{||{{{{{|||||||{{{{{|{|}||||}||||{|||{{|}}||||}}|{{{{{{|}|||||{|{|}{{|{}{{{|||||{|{{z|{||||}|||{||{{|z||||}||||{{|{{||{|{|}{|||||z{{{{z{}{{||}|z{{{z|{z{|||{~~~~~~~~|~~~}~}}||||}|}{||~|||}}|{}{||}||}{|}|{{{{{||z{{{{||{||||{{z|{{{||{|||}{{{|y{{|z{||{{{|z{{{zzzy{{{|{||||z{z{zz{{z{{{{|{|zz{z{zz{z|{{{{{{{{{z{z{{{||{{|{{zyz{{{zy{||{{{||{|{{zy|zz{{z|{{|{|{{{z{zz{{{{{|{{zz{z|{zz{{{|{{{|zzz{z{{{{{{z||{{z{{{z{|{{{{{|||{{{{{{z{|||{{{{|{{|{{{{{{||||{{{||{|{{|{{{|{|z}|z|z{{|y{|{|{{|}{|z|{{{{{{|||{|||zz{{|{{{{{|{|||||{|z{{{z|{||}||||{}{{z|{|}|{||||{|zz{||}||||||||}{{{{|z|{}}||||||{{|{||{|||}{|||}|||{{{||||||||}|{{|||{{}|||}|||{{{{{{|{{|}{{{|}|{{|z{|{{|{|||||{{{z|z{{{{|{{}~}~~~}}}~}}}}}|||{{|{}}}}}|}}}|zz|{{z{{{|||||{z|{z{{z|{{{{{{||{zzzz{{||||{|{|{{{z{z|y{{z{z||{{zz{zzzz|z|{{{{{{{{{zzz{{{z{{{{{{y{zyzzz{{{{z{|{{{zz{z{{{{|z||{||{{{z{{zz||{{{{{z{{zzyzyz{{{{{{{zzzzz{{zz{{{{|{{{z{z{{zzz{|{{}||{z{z{z{z{{|{{{{}z{{{{zz{{|{{{{{{z{{z{zz{{|{{{{{|{z{{{zz{{{{|{{{{zz|z|z{{z||{{{|{zz{{{{z{{{||||{|{z{{{|{{{|}|||||y{z{{{{{{{{|z||||{{{{{{z{||{|||{|z{{|{{{}|{{|{}|{z{{{||z{{|{|||||{{{{|{||{|||||}{|{{{{z{||{{||{||z{z{{z{{|{{|||}{{z{|{{{{{{|{{||{{{{z{{{{}|{{}|{{|z{{{z{||{|{||z{{|zzz{|{||{z~~}}~}}~~}|~}}~|{|{||}}||}}}||||z|{{|z||||}|}|{{|z{||{{|{|{|{}{|{zzzzz{{{|{{||{{zz{{{y{{{{{|{z{z{{z|zz|{{z{||{{zzz{zzz{{z{z|||zzzzzz{{z|{{z{{|{z{zzzzz{{{{{|||{{{{zzzz{{{||z{{zz{zz{z|z|{{z{|{|zyzz{{zz|{z{||{{z{z{|{zz{|{{||z|zz{{{{{{{{|||||z{|{|z{{{||{z{{{{|{{{z{||{|{|}{|{{{{{z{{{{}|{|{{|z{z{{{{{||{{|{|{z{{z{zz{{{{{{{{{{zz{{{{{{||{z||{{{{{{|{|}|{{{||{}|{{{{{z|}{|{{{|{|z||{z|}{}{{{|{|{{{{||z||||}|||{{|z{{{{|{|||{}|{{|zz{{||||||{||{z|{{{{{||{|||||{{{|z{{|}|{{{||{{{z{{{{{{{|||||{{{{z{{z{{|~{z{||{{z{z{{|}z|{~~}~}~~~~}~}|}}|||}{}||||||}{|{{|||z|{{|{|||{{|{{z{{||}||{|{z{|{{{{{|{{{|||}{z{{{{{{{{|{{{{|{z{{zz{{{{|{z|{zzz{zz{z{||{{z{|{zz{zzz{z{||{{{{{{{zzz{z{z{|z{{|{z{{{z{z{{{{{|z|{{z{z{z{z{z{z{|{|{{{zz{{y{{{{z|{{{{{{{|{{z|z{{{|{{|z{{z|zz{|{||{{{z{|zz{{z{{{z{||{z|zyzz{{{{{{{|{{z{{|{{{{{||{||z{{{z{{{z{||{{{{{{{{{{{{||{|{{|{|{{|z{{z{||||{|{{{{|{{{{|{{||{|||}{{z|{{{{|{||||||{z{{z|{||{}||||{{|{{|{{{|||{||||{{{{|{{{||||{||||{|{{{{{|||{|||{{{|||z|||{{||}||{}|{z{{|||||}||{{zz{{{z{}{{|{||{{{{|{zz||z||}||{|{{zzzz{{{{z~~~~~~~}~~||||}}||}||}~}|}||||{{|{{{{{|||||{{{|{{{|}|{z|{|{{{{{zzz||{{{|{|||{{{{|y||{z{{||{{|{zzz{{z{{z{|{{{zz{{{z{z{|{{{|zzz{{zz{{{|{{|{z{zzzzz{z{|{z{|||z{{zz{z{|{|{{|{{{{zz|z{zzz{{|{{{z{{zz{{{z|{z{|{|{z{{|{{z{z|{{{{|{{|{{z|{z|{|{||||z{{zz{{||z{{|||{{|zz{zzz{{{{{|||{zzzz{{{|{{|||{{{|{{zz|||{{{|||{{{|{{{{{{|{{|{|{|z{{|z{{|||||||{|{{{{{{|{{|{|}||{{|{|{{{||}{|{}{{{||{{||}|}{}}||z|{{||{||{||}}{||{{{|{{z}|||{}|}|{|{{{|{||||}||||{||{z{|||||{}||{{||||{||{||||}||{{{{{z|{{{}|}}|{|{z|z{{{{|{{||z{{{z{{zz|||{~~~}}~~}}{}||||}|}~}||}|||{|{||||{{|||||{|{|{{{||||||||{{|z{{zz|||{{}{|z{{z{{z{{{|zz}||{{|{{{zz{{{|{|{{{zz{z{z{{{{|{|{{z{zz|zy{{|{{{{{{{{|{{{z{{{{{{{{{{{{{zzyz{{z{|}}{{z|{z{{z{|{{{{{|{{{{z{{{{|{{|||{{z|{|{{{z{|{{{{|z{z{{{||{|{{|{|}{{|{|z{{{|{{{{||{{{{{{zz{{||{{}||z|{|{{z{{||{|z||z{z{|{{|||||||{{{{{{z|{|{|{{|{||{{{z{{{||||||||{{{|z{{|{}{|||{||{z|{{{{|||}|||||{{|{{{{{}{||}|||z|{{{||{{{|{|}}|{{|{||||{{}|||}|{{|{|{{}|||||{||zz{{{{{|{|{}|}||{|{{|{||||{|||||{|{{z{|{|}|{}}|{{{z{{zz||||{||{|z{z{{z{{{{{{~}~}}~~}}{|{|}|||}}|}}}|||{{{}{|{||||||||||{z{z{{|||{||{|{zzz{zz|{|||z|{{zz{{|y{{{zz|zz{{{z{{{zz{{{{|{||zzzz{z{|zz|{{{{zz{z{z|zz{{|{{|{{{zzz{zz{|{{|{||zy{zzzz{y{{{{||{{zzzzz{z{z{zz||{{{z{zzzzz|z{{|||{{{z{z{z{{|{|{{|{zzzzz{||{{{||||{z{{zz|{{{{{{{||zz{z{{{|||{{|||{z{{{z{{z|{{{||{|{{{{{{{{{{{{{{}|{{{{z{{{{{|{{{|{{z|z|{{{||{|}||}{{{{z{{{z|{||{}{|{{z|{z|}|||{||{{z{{{{{z{|{||{||{{|z{{|{{|||||}|}{|{{|{{|}{}|}||{{||{{||{{{{}||||{{|{||{|{{||}}|}|{|{{{{{||||||||||{|{{{{{|}{{|{{{{{{{{{{{||{||{{z{z{zzz|{||{~~~~~~}}}}}|}|||||}|}}|||{|||}{{}||}|}|||{z||{|{{|{{||||z{{{{z|{||||{{{{{{|{{{{{{{||||{{{{{{zz|{|{{|{{z{zz{{{z{{z{{|||{z{{zzzz{{zz{{|||{z{z{{z{{|||||{{z|{z{zzz|{{|{}{zz{{{{z{{||{{{{|{{z{z{{zz}{z{|||{z{{{{z{{{{z{|||{z{|{{{{|}|{{|{|||{|{{z{{|{||||{{{|{z{z{||z{{|{{{z{{{{{z{|{|}}{{|{{{|{{z||}|||||{{{{{{{{}|}||||{{||z{{|z|}}|||}|z|{||{{|}|z}{||}{z|||{{{|~|}{{|{{{{{|{z||{||}{|}|||{||}{{||{}}}{}{{{z{|zz}{}}}{|}{|{{|{||{|||}|||{{||z||{|{||}|}|{|}||{|||{{{|||{{|{{|{||{|{{}|{{{z{z{{|{||{|{{||z{{{z{z{{|{{~~~~}}}}{||}}|}}|}||}}{{{||{{|}||}{|}|{|||{{{z||{|{||{|{zz{{|{{|}|{||{{|{zzzzz||{z|{{|{{{{{zz|}|{{|{{{yz{z{{{{{{{{{{|{zzz|{z{{{{{{{{{zz{{z{zz{{{{{{|||{{{z{zz{{{|{z{|{z{{{z{zz{{{{|||{{zz{{{z{{zz{|zz{z{z{{{|{{|{{||{|{zz{zzy|{|{|{{||{{{{{{{{{{{{{|||{{{{z{{||||{{||{{{z{{{z{{|}{{||{{{{z{{{{}||{||{|{{{{{{{||{{||{|zz{{z{{{{|||}|||z{{z{z{{{|{}||||{{{{{z{{z{|||||||{{|{{z{|||||||}{{{{{{|{|}|}|}|{}{|{|||{|||}|{}||{|{|{{{|||||{||{{{|{{{||||||}}}||{{||{{{{{|{}|||{{{{zz{{||{{}||{{|z{{{{|{||{{|{{|{{z{{{{{{{{~~}~~}}~}}|{{|}{|}~|~}||{|{z|||{}{{{|||||{{{z{{||{|{{{{{{z{zz{{z|{{{{|{}zzzz{{{zz||{z{|{{z{zzzzz{{{{|{{{{{z{z{{z{{{z|{{{{z{zz{z{{{{{z{||{{{yz{zz{{{{|{|{{{zzzzzz{{|z|z{{zz{zzz{z{{{z{{{{{{{z{zz{{|{{{|z|{z|yz{z|{{z|||{|z{zzz{{{{{{{z|{|{zz{{{{z{{|z}{{|zzzzz{{{z|{{{{{{{{zz{z{{{{{{{{{|{{{zyz{z|||{{|||{{{zzy{{||{{{||{zz{z||z{||{|z|||{{{{{{{z{|z{{{{||{{}{{zz{||||{{{|y{z{{{z{}|{||}}{{{z{{{{{{{|}|}|}{||{|{{|||{|{|||{}{{{{{{|{z||||{{{z{{z{{{||}{|||{{{{||{{{|{{|{|{{{z{{{{|{{||||||{y{z{z{{||{{{|{z{zz{zz{{{|{{~|~}~}}}|}~~}}|}}|}||||{||{||{{|}||{{{{{{z{{{{||{{||{{|zzz{z{{||{|{{{z||z|{z{||z{{|{|{zzz{zyzz|z{{{|{{{{{zz{zz|{{{||{z{{zz{z{{{{{||{{z{{z{z|{{|{|{{{{{{z{z{{z{{|{{||{{z{{y{{z{{{{|||z||zz{{z{{{z{|{{{z|{{{z{z{{{{{||{z{{{z{{{{{{{|{{{z{{zyzz{{{{{|||{{{{{z{z{|{{|{||{z{{{{{z{{|||z{{{zz{zz{z{||{{||{{z{{{{|{||{{{||{{||{{{||{|{|||{{{{|{{{|{||z}|||{|{z{{{{{{{{}|}|{{{||{z{}{~|{|{|}{|{z{{{{|}|||}{{||{{{{{{{}{||||{|{|{{z{{||||||}|}{{{{{z{|||||||}{{{|{{|{||{{||{}{z{{|{{z{|||{|||{|{z|{z{{|{{||{|{z|z{z{{{{|{{~~}~~~||||}|||||}||~}|}{{|{{{{||||||||{{|{{{{z{{|||{||{|{zz{|{{{|{{{||{{{zz{|{{|{{{{|{{{z{{z{z{{|{{|{{{{zzz{zz{|{{{{{z{z{{{zzzz|{{|{|{|zzzz{zz{{{z|{||zz{zzzzz{z{|{z{{{z{zzz{z{z{z|{|}{zzz{zzzz|{{z{{{zz{z{z{{{{{{{||||{{{{z{z|{|||{||{z{{zz|{{|||{{{|{{z|{z{{|||{||z{{|}zz{{{{|{{{{{{{z{{{{z{}|{{|||{|{z{z{{{{|z{{|{{{{{{{{{|{|||{||{{|z{|{{{{{|{||}||{{{{{{{|||}||}{|z{{{z{z||||{|{|{||{|{||z||||}}||{{|z|{|{||||||||||||{{||}{||||||{{||{{|||{}}|}||{{{|{{{|{{}{}|{{{{z{{{{|{|}|||{{|{|{{{{|{{|||{||z{{{{z{||{{{}~~}~}|{|||}|}}|}}||||{||{{{||{||||||{|{{{z|{|}{{||{{{{z{{{z{{|z{{|}{zz|zz{{z{|{||||z|zz{z{{{{{z{|{{{{zzz{z{{{z|{{||zzz{{{zzz{{|{|||z{zzyzzz{{{|{{|{zz{{yz{{{{z{{{|{{z{{zz{{{{{z{{{|{y{z{zz{z|{{||{{{z|z{{z{{|{{{|||{{z{z{|{|{{{{{||{||{{{z{z{{|{|||{{{{{{zz|{|{|||{{{{|{{z{{|{{{|||{|z{|{{z|||{{{|{|z{{{z{{{|||{|{}{{{{{{{{{{||{}{|z{|{z{|z||{|{{||{{{{z{{{{||{||||{z{{{{{||||||||}{|{{{{{{|||||||||{|{|{||{||||{||{{z{|z||||||||}|{{{{{{{||{{|{||}{{{{{{z{|{z{{||||{|{{{zz|{{|{|{||{z{{{z{||||{|{{{{{{{{{{{{||{~~|~}}}}|}|z}}||}}}||{|||||{{{}|||}||{{{{{|{{||}{{}{{{{{{z{{{z|||||}{{{{{|{z{|{{{{|{{z{{{zz{{{{{{z{|{{{z{{z{{{{{|{{|z{{zzzz{{|{{{|{|{{{{z|z{z}{z|||{z|{z{{zz{{|{{{||zz{{{zz{z|{{{{{{{yzz{{yz{{{{{|||zz{z{z{|{{{|{{{|{zz{{{z{{||{{|{|{{{{{z{{{|{|{|}|z|{{{{{{||||{|||z|||{{{{|{{|||||{z{{{{{{{|||{{}|||{{{{{{||||{|{{{z||{{{|{{||||||{{z|{{{|}{{|{||}|{|||{|z{|{{{{||{{||{{{{|}||||}||||{|||||{{||||||||{z||||}{}{|}||||{{||{}||||}}|{{{{{{||{{||}{|||{{|{{{{{{|||||}{{{{{|{{{{|||||{|{||{{{{{|{|{{|{{{{{{{{{{{|||~~~}}|}}~{}|}}|||~}~|||{{}{|||||||}||{||{{{|{|{|{}||{{{{{|{z{|{{{||}{|{z{{z{z}{|{{|{|{z{z{zz{||{{{{{{{z{{{{{{{|{{|{{{z{{{{|{{z{{z{{{{{{{z{{z{|{{|z{|{{{zz{z|z|{|{||{{zz{{zzz{{z{|{|||{{{z{{z{|{{{|||{{|{}{zz{{||z|{||zzz{{{{{||{{|z|z|{{{y|{{z{{{|}}{||{z{|{||||{|{||{{|{z{{{|||{||z{{{{|z{{{||{{|||{z{{|{z{|{|||}{|||z{{}{{{{||{{{|{|{{{{{{||{|}||}{||}{z{{|||}|z||||z{{z{z{||||||}||{{{|||{{|||}|}|{|{{{{|}}}|}}}}{{|{{z{{{{||{|||{{{{{{||||{||{|}|z|{{|{{|}{|{}|}|||{{||z{}|||}}||{{|{{{{||{{||{{{{zz{yz||||{{~}~}|~|{||}~}|}||}|{||{|||||}|}}|{|{{|{{|{||{{||{{|{{{{z{{{|~}|{{||{z{{z{{{z{||||{z{{{z{|{}{{||{|{{{z{{{{{z|{|{|zz{zz{|zz{|{|{|||{{{z{{{||{||{|{{{|zzzz{{}||{{||{{{{{{{zz{{z{||{{{{zz{{{|{{{|{{|{z{{{{{{{{{|{||{|z{z|z{{{{||{{||{|{z{zzz{||{|{|{{|{{{{zz|||{{|||{|{{{z|{{|{{|}||{{zz{|{z{||{||}{|{{{{|z{|{|{{}|}|{{{{{|y{{||||}}{|||{{|{{{{}{}|||{{|{{{{{||||||||{|{{{{{|}||{||}|{|{|{{{|||||}}}||{{|{|{{}|||||||{|{{|{|{|||||}||||{{{{}||}||}||{|{|||z|{|{||}|||{|{{{{{|||||}}|{{{{||{{{|||{|||{{{z{zzz{{}{z}~~~|}|}}||}}~}||~||||{|{{z|}{}|{}}{{{|{{z{{|z{||}||{{zz{zz|{{|{{{}{{{z{{{zz{{{{{{{z{{{z{y{|{|{{{||{{z{{{{{{{||{{z{zzzz{z{{{||{{{||zzz{z{{{{{|z{{||{{{zzzzz{|{|{{{{{{{zzz{z{{|{{{|{{|zzz{z{{|z{{|{{{{{{{{z{{|{||{||{z{{{z{{||{{{{||z{{z{{z{{|{{|{z|{{{z{zzz|}|||{{{|{{z|{{{{{{z{}z{{z{|{zz{{||{{{|{{{z{{{{{||{{z||{{{|{{|{{|||}{{{|{{|z{|{{{|{||{|||{{||{{z|{{|||}|{|{|z{{|{}}}||}|{{|{{|{||{||{}||{{|z{{{|||}}|}{|}z|{{|zz{{|}}||}|{{{|{z{|{{|}{~|{{{{{{{z||||{||||{{{{{{{||{|{}}|||z{{{{{{{||{{}|{z{{{{{{{{|{{~~~~}}}}}||||}|}|}|}|||{{||z|{|{}||{|{{{{{{{|||}{{|{||{{{{{z{|}{{|{|zz{{{{{z{||{{{{|{{z{{z|{z|{{{{|{z{{zz{{{|z{{{|{{zyzz{z{{{{{zz|{{z{z{{{z{{{{{||{||{{{zz{zz|{{|||||{{{{{{{z{{z{{{}{|z{{{{{|{}{z{|{zz|z{|zz|{|{{{|||{{{{z{z{|{||{}{zz{{{z{|||{{|{{{{z{z{{zz{z{|{{|||{{{{z|{{{z{||||{{{|{{{{{{||{{||{{{{zz{{{{|{{{|{{z{{{{{||{}|{{|{z{z|{|{|{|{}{|||{|{z{{{{}|||||||{{{||{{|||{{|||{|{{|{{{|{}}{|}}}{|||{{{{{{{||}}|{{|{{{{|{{|}||}|{z{|{z{{|}{||}{}}{{{{{z|||||||}|||{{z|{{z|{||||{|{{z{zzz|{z|{||{{{{z{{{{{z{{{}~~~~{~}|||}|}}|||||{|{|{{|}{||||}|{||{{z{||{||{||{{{zz||{|{||{{||{|{z{{zz{{{z{{{{{{{{{z{{{{|{z{{{{{zz{z{z{{{|z{||{{{z{{zzzz{z{|{|{{{{z{y{{{{{z{||{{z{{z{z{|{{{{||{{{y{{zzz{{|{|{{z{{{zz{zz{{|||||zz{z{{zy{|{||{{|{{{zz{zz{{|{{|}||{{{zzz{||{||{{|{zz{{{{{{{{{{|{{{|{z{z{{{|{|{}{{{{|z|{{z{{|}||||||z|{{{z{|{|||||{{|{|{z{||}||}||{{|z{{{|{{{{||}||{{{{{z{{||{|{||{{{{|{{|}}|{{|{|{{|{{{||{{{|||||}{{{{||z{||||||{}||{{{|{|z||||{{{z{{{|||||{|{|||||{{||{{|||{{|{|{{{{{|{{{{|||{||{|{{z{|{{|}|||||{{{{z{{{|z|{z}}||}||}|}|}|}~|||||{{{{|}{||{|{{{zzz{{{{|z{{{{{|z|{{{zz{{z|{||}{z{z{zz{{z{{{|{{z{{z{{{{z{|y||{|{zz{zzz{zy{|{{{{z{zz{z|z{{{{z{{{{zzzzzzz{{|{|{|{{zzzzzz{zz{{{{{||{z{{z{{z{{{z{{{z|zzzzzz{z{{|||{{{z{zzzz||z||{{|{{z{{zzz|{{|||{}{z{{z{{{|z{|||||{{zzzz{{{{{|{|{{|z{|{z{{{{{{|{{||z{{{{|{{{||{|||{z{{{{|{{{|{|||{|z{zz{{{|{{|||||{{|{{z|{|z{|{|||||{{{z{{z|}}{||{{{z{{{{|{|{{|}}{|{{||{|{||||{|{}}|{{{{{{{}{||{||{{{|{{||{|{||{{{{{|{{|z||}{||||}}{{{{{{||{{|||{|z|{{{z{{z|{||{|}{{{{{{{{{||{{{||{{{z{{{{|{{|{~}}}}}|}}}}|}}~}}}{}|||{||{||}|}||{||zz{{{||{z{|{|{{{{z{z{{|{{{{|{{|z{z{{{||{{{||{{|yz{|z{|{z{{|{{{{z{z|{{z{|{{{{{{{{zz{{{||{z||{{{{{z{{z{{{{|||{z|{z{z|{|{||{{{|{{{{zz{{{z{{{|||{zz|{{{z{z{z||{{{{|{{|{z{z||{|{|{{{z{{{|{{|{{|{|{z{|{{{{|{{|{{{|{{{|{{{||{{{{{||{{{{{{{z|}|{{|||{{{|{{{{{||{{{}{{{{{{z{{|{|{|||{||{z{|{{{|||||}|{|{{|{||||{|{}}}{{{|{{{{{{||}{}||z{{|{{z}{||}|}|{||||{}|||{|}}|}||{|{{||{|||}|}||{||{{{||{|}|{}|||{{{}{{{||||||||{|{{{{|}||}||||{}{{|{{|||}|||}|{{|{{z{z{{|{||||{{zz|z{{{{|||~}~}}|||||}|}}|}|||}{|{|{||{z}|||{|{{{z{{{z|||{|z{z|{z{{z|{{{{{||zz{{y|z|z{{{|{}{|{{zzz{{{{{{|{z{{{{{zz{z{{{{zz{{{zz{{yz{{{{z{{}z{{zzzzzzz{{z{z|z{{zzzyyz{{{||{{z{z{z{zzzy{{{{{{{{{{y{{zz{|zz|}zz{y{{z{zz{{{{{||{{z{y{zzzzz{{{{{||z|zzz{{{z{{{|{||zz{zz{z{}|{{|||{z{{|zzz{|{{||{{{|{{z{zz{{|{{|||zzzzz{{{|{|{{{{{z|{{{z{z{z||||{{{{z{{{{{{{z{{|}{{{{{{z{z{{|{z{|{|{{{{{{z|||{{||}{{{z{|{{{|{}|||||{|{||{|{}{||||||||{{{{{{{|||{|{|z{{{{{{{{z||||||{{{|{{{|{||}}||z{{z{{|{|{|{{|{}{|zz{zz{{{{{{{|{z{{{z{z{{{{{|~}}}~|}}||~}~}|}}|{||{}{}{|{{}}|{{|z{{{||{{{z|||{{{zz{{{{{{{{{|}||{|{{zzz|{|{{||{{{{zz{z|z|{{{||z{{{z{z|{{|zz{||{{zzzy{z|}|{{{|{{{{zz{zz{z|{{{|{{{{z{zz{{|{{z||{{{{{{{{{|{zz{{||{{{z|{zy{{{{|||{{z{{|zz{|{{{{{||{z{z|{{{{|||{||{{{{{{z{{|{|z|||}{z{{{z|z|{|{||{|{{z|{{{{||{{||{|{{{{{|zz{|{|{|||{{{{{{{z||z{{||{{{|{|{{{|{||||{|{{{{|{{{||{|||}}{|z{{{{{|{}{|}|{}{{{|{{{|||{{|}||{||{||{{{}||}|}||{{{{||||{||}}|}{|||{|{||{}|||{|z|z{{{{{||{{|}}|||{{||||{|{||||||{{z{||||}|||}{{{{z{{{{|{|{{|{|{{{{zz{{|||{{~~~~~~}}|}{|~}||~|}|}||{||}||}|||||||{|{{{{{{|||{{{|{{zzz{{{{}|{{{{}zz{{{{{z|{{{{{{{{{|{zz{{||{z{||{z{{{{|z{{|z{{||{zz{z{z{z{{|||{{||z{z|zz{{|{{{|{{zz{z{{z|{{}}{|||{z{{{{{yz|{{{{{||{{z{{{zz{z{{{||{{z{z|z{{{{|{}|{|{zz{z{z{{|{|{||{{{{zzzz|{||{|{{{z|z{z{{|{{z{{{|zzzz{{{z{}{|||}}{|{{{z|z|||||{{}{{z{z{{{{}|{|{|{{|{|zz{{||{}{|||{{{{{|z{{||{{|||{{{{{{{z|||{||{||{{z{z{{|{|||||||{{|{|{{{|{{|||}}z{{{||||}{{}||||{|||{{|||||{|||{z|{{{|{|{||||}||{{||{|{|||}|}{||{{|{{|{{||{|{||{{z{{{{z||||{{}z|z{{z||{{{{|{}~~~~}|}||}~|}||}}}|}{|{|||{}|{{||||{{{{{||{{|}|{}|{{{{{z{{y||{|{{{||{z{zz{z||z{|{|{{{{z{zzz{||z{}|{|z{z{{{{|z{{{{|{z{z{yzz{z|{{||}{{{{z{|z{|{|{|z{{{zzz{{{{|{{{|{|{{z{{{{z{{{||y|||{{z{zz|{z}{{|||{|zzz||{z{{{{{{}{{z{z{{{{{|||z{{}{{|zzz{{|{||||||{{zz{z{z|{||||||{{z{{{z||||||{||{{{{{{{{{|{{{|{{{zz||zz{|||{{{}|{z{{{{|{{||||||{{|{z|{||{|{{||}}|z{{{{{|}|{{|{||{|||{{|z{{|{|||}|||{{{{||||||||}||}{|||z|~{||||||{}|{||{{||}|||||{{{|{{||||{}||}|||{|{|||}||}||}|z{z{{|{{{{||||||{{z{{{{z|{|{|}|{{{z{{{{{|{{|}~|~}|}|}}||~|~}|||{||{{||||}}|{|||{|{z{|||{|||{|||{z{{z{}{{{|||{||{|zzz|{z|{{|{{{z{{z{z{|{z{}{{{{{zz{z{{{{{|{{{{{{{zz{z{{|{{|{{zz{{{{z{|{{{||{|{z{{{{zz{{||{{|}{{z{{zzz{{{{||||{{{{{{{zz|{||{|z{{{|z{{z{{|}|{{{{{z{{z||{||{|||{{{{{{z|{{{{|||||{{{|{{z{{||||||{|z{{{{{{{{{{{||{{{|{{zz{{||||{||{{{{{{z|||{|{|}}}|{||{{|}|||}}||{z{{{{|{{|{|||}|z|||{{{{||||{|}||z{|||{z|{}|{|}}{{{{{{||{|{||||{||z|{{{|{||}|}}|}||{|{||{{|||{|||{{z|{||{|||{}|||{{|||{||{}|}||}|{|z{{|{{{|{{|||{|z|z{{{}{||{{||{z||{{{{|||{|~~}}||}|||||||~}}}||{{|{|{|{|||||||{{|||{z|{}||||}{|z{z|{y{|{|{|{||{{z{|{{||{|||||{z|zz|{z||{||{{{|{{zz{z{{{{{||{{|{zzy{{zz{|{|{|{{{{{z{{z|{|{||{|{zz{z{zz{|{||{||z{{z{z{zzz{z{||}{{{z{yz{||{{z||{z{|{{|zz{{{{{||{z{|{{z|{z|||||{|yz{z{z|z|{{|{||}z{zz{zz{{|{{|||{{{|{|z{{||{|||||{z|{{{{{{}|{{||{{{z{{|{{{{||{{|{|||{|{|{{{{{|||{z{{z{{{|||z{||}|{{{{{{{{|||{|||{|z{{|{{{||||||}|{z{{||{{}||{{||{|{{|{{{||}{|||}}|{{|{|z||{{|{|{|}{|{|{{{{{{}||}|{{||{{|{||}|{}}}|{|{|{z{||{|{|}|||{{{|{{|{||{{||{{||{z{{{{{{{~~~~}}~|{}{}|}}|}}|||{{|||{}{{{}|~}}{{{{{z{{{||{||}{z{{z{zz{{{{{{{||{{{{{zz{{{{{|{|{yzzzy|z{{{z|{|{z{zz{zz{{z{{{{{{{{{z{zzz{|{{{z{z{{zzzzzz{{{{|{|{{{zz{{{z{{{{{{|{{{z{zyzzz{zz{{{|{zz{{z|{z{{{z}{|z{|zz{{{{{|{|{|{{{{z{z|{{||{|{|||{{{zz{||z{{||{|{z{{{zzz|{||{|{{|{{|{zz{{{|{|{|{|{{{z|{{{{|{{|{{|{{{{{{z{{{{}|{{z{{{{{{||{{|||z|z{{z{{{{|{{||||||{||z{{{{|||{{}||{{{|{{{||||{}|{{{|{z{{|{|z||||}|z{{|||{|}||}}|}{{{{{{|{||||||{|{z{{{{|{z||{||}||||z{{{|{||||{|}|{zz{{z{{|{|||||{zz{{z|{{|||||||{{{{{z}{|{|z{~~~~}~|}|}{}}|}}}}}}|}{}|z{||}||}|||||||z{{||{{{|||}||{zy{|{{{|{||{|{{{{z{{{{|{|z{||{|{{{z{z||{{{||||{{{z{z{{||{{|||{{{{z{{z{||}{{|{{zz{z{z{z|{z|{{|z{|{zz{{{|{|||}{{zzzzz{z{{{{{{{|{{z{{{{zz{{{||||z{{{z{zy||{|{{||{{|z{{{z|{{{{|{{{{{{|z{{{{{|{||}{{{{zzz{{|||}||||{{{zz|{{||{{||{|{||z{{{||}{|||{{{z{{{{{|||{{|{|{|z{{{{||{|||{{|{{{{{{|{{|{}{|{||{{{{z{{|||}|||||{{z{{{{|}||||}||{{{|{|{{{{|||||||{|{{|{|}|{}{}|{|{{{|{{|||||}}}{|{{{{||{|||||||}{{{|{{{|||}{|}||{{{{|{z{{|{|||||{{|{{{{||{{|{{|{z|zzz{{{||{|}~~~}}}|}|||}||~}~}}|{{{||{|}||{||}}|{{{{z{{|{}|{|||{{{{z{|z||||{|{|yz{z{z{{z|{{{{|{|{zz|{{{{|{z{|{{{{{{{zz{{{{z{||{z{y{{z{zz|{{{{|{{{z{{{{{{{|{||{|{{{{zz{z|z|{{{|{{{z|{{{z{{zz{||{{{z{{y{{z{{z{|{{{z{z{y{{{{{{||{|{{{{{{z{z||{{{{|z|{z{z{z{z{{{||{zz{{zz{z|||{{{{||{{{|z{{z|{|{|{|{zz{zz{z|||{z|||{{|z{{{z|{{{|{|{|{{z{{{{{{{{{|||{|{{{||||{{|}}|{{{z{{z{z{||||||||z{{|{|{{}|{{|||||||{||{{||{{|}||{{|{{{{|}||}||||{||{{{{{}}||{}{}{{{|{{|{{{{}}}}{|{{}|{{{{||{|}{|{{{{{|{{{{{|||{{z{{{{{|{|{|{z|}{{{{{z{z{|{z{~~~~}}}||||}|~|}}}~|{|{{z{{{{|||{|||{{{|{z|{{|||{{{{{{{{{{z{||}{|{{|{{z|{zzz{|{{{||{{{{zyz{{|{z{{{{{zzz{z{{{{{{{{{{zzzz{zzz{{z||||{{{z{zzzz{{{{z|||{{zz{{z{{z{{||{{{{zzz{{z{{{|{{{{|{zz{zz{z|||{{||{z{{zz{{{z{|{{||{|z{{{{z{{{{{{{|{{{z{zzz|{|{z{|{{z{zz{z{||{{||{{{z{{|{{|{{{{|{||{{{{{z{{{{|{||||{{zz{{{{||{z||||{|{{|{{|{|{|}|{|{{{{{{|{{|{||{{}|{{{{{y{|{{}}||||zz{{z{z{}{{|{||{|{{z{{|||{|||{|||||{{|{{}|||||||{||{z{{|{{||}|{{|{{{{z|||||||}||{{}{{{{||||}|||{{|{{||{|{|{|{}||{z{{{{{z|||{{}|{{{z{{{z{{||}~~~~~}{}}}{|~||~||}}{{{{{{z||||{|||{{{{{{{{|{|||{|{|{{{{{{{{{{}{|{{{{{{zz{zz{{{{{{|{{|zz{z{{|{{||{{{zzzzzz|{z{|{{{|zzyzz{{zz{{{{{{{{zz{zzz{y{{z|{{{zz{zy|z{{|{|z{||{{{{{{z{{{|{z|{}{z{{{{zz{|{|{{{|{{{{{zzz||{||{||{zzz}z{z{{{z{{|||{zzzz{|{z||{{||{z{{z{zz|{|{{|{{{|{{{z|z{{|{{{|{{{|{{{{z{{|||{||{{{{|z{{||{{{}{||{{{{{{{{|{|{||}{|{{{{|{||||}{|}{{{|{{{{||||||{||{{|{|{{}}|||}||{z{|{{{|||{{|}||{{{|{|{{{|}||{|||{{|zz{||{{|||||}{{{{z{{{|{}|||||{z{|{{||||{|||||{{z{z{{{|{{|||||{|{{z{z{}|{{|{|{{zz{y{{{{{{|~~~}~}{|}~|}}~}}}|}}{{{|{{||{{}{{|}||{{{{z|{{|{|{{{|{z|z{z{{|z{{{|{{{zzzz{{{{{{z{{{{{{zzz{zz{z{z{|{{|{{zz{|{{{z{{{{{{zzz{z{{{|{{{|{z{z{{zzzzz||{{||{{{z{y{zzz{|{||||z{{zzz{z{{||{{{|{zzz{z{zz{z{{{{}{zz{{|zzz{z||{|{{z{{{zzz|{|{z{||{{{{{z{|{{{{{|z|{{{z{{|{||z{|{||{{|{{z{z{|{|||{{{{{{{{zz{||{||{||zzz{z{z{{}{{{||{|zz{{|{|||{|{|{{{{{{{{zz|{||{}||{z|||z{{|{|{||{|{{z{{|{|}|{{|||{{||{{{{{||||}||||||z{{{{}|}{||{{|{{{{{{||{|||}|{{{z}{{{|{|{|{}||{{{|{|z}||{|}|||{{z{{|{z|{|{||{||{{{|{z{{{||{|{{{{{z{z|{z{{z~~~~}~}}||{|||||}}}|{||||{|z|z|||||{{{{{{zz|{{||{||{{{|zzzzz{|}{{|{|{z{zzz{z{{z{|{|{{{{{zzz{{{{{{{{zyzzzzzzz{z{{{{}{{zzzzz{{||z{{|||{zzzz{zzz{|{|{{{{{|z{{zzz{zzz{||{z{{z{zzz{zz{{{|{{z{{z{{{||{{|||{yz{z{{{||z{{{}{{{{zzzz{z{||{||{{z{{{{|z{{{|{|{|{{|{z||{{{|{{{|{{{{z{{zz{|{{|}{{|{{{{{|{{{{|{{|z{|{{{{{{{{{{{{||||{{{{{|{||}|}|{{{{{{{{{||{|{||}{{z{{{z{{||||||{|{|{{z{{{|{z{|{|{{{{{||z||{|}|||{{{|{|{||}||||}}|{z{{{||||||||}||{{{{{{{{{|||||||{|{{z||z{{||{||{{{{||{{{{|||{|{|{{{{{{z{|{|{|||{z{{z{{{{||||~}~}~}~|||~}}}}|}||{{{{{{}{||||||{{{|{|{z{|{|{|||{{{z{|{{|{|{{||||y{|z{z{{|{{||||z{{z|{{||{{{{}|{|{z|{{{{{{{|{|{{{zzzz{zz{||{{{||{{{|y{zz{{|z{{|||{{zz{{{{|||{{}|{{zzzz{{z||{|{|{zz{{y|{zz{z{{{||z||{{|{{||||{{||z{y{{z{{{{{|{{||{{||{{{{{{{{{{{{{{{{z{{{|{|{||}|zz{{zy{z{||{{|{||||{{{{{|{|{{||{{{z{{{z{|||{{{||}{{||{|{|{{|{||{{|{{{{|{||||||||{{|{{{|{{{|{|||||{{||z{||||}{}}}|{{|||{|}}{||{|||{{{|{{z|}||}|}}||||{|{{{||}||||{{|{{|z{|{|||{|}}{{{|{{|{||}{|||||{{|z|{|{||{||||{{|{{{{||{{|{|||||z{{{{{|{||~~~}}}}|||{~}|}}|||}|{{|{|{{{|}|||||{zz{{|{{{{|{|||{{z{z{{{{{{{{|||{z{z{{{{{{{{{{{|{|{zzz{z{zz}{{z|{zzy{zzz{{|{{|{|{z{{z{zz{{{|zz{z{z{zzz{{z{|{{{||{{z{{|zz{{{{{|{{{{zz{zzzz{{{{{|{zyzz|z{zzzzzz|{{{{{z{zzz{{z{{{||{{z|zzzz{|{{z{||z{{{{zz{{{{{|||{zz{{z{{|{|{{z|||{{z{{z{z{{|{|}|{|{{{{|{z|{||z{||{z{{{{{{|{{z{z||{z{z{{z{{z{{{|||{z{zzz|{|{{{|{{{{z{|{{z{{||||||||{z{{{{{||{{|{||{{{{z|{{|}{||||||{{{{{|{{}||{}}}z{{|z{{|||{|||{|{{{|{|{|||z{|{|||{|{{{{{||{|||||z|{zz{{{||{|{|{}{{{{{|{z{|||{{|{{{{z{{{y||||{~~~~~~}|}}}}|~}}||||||}}|{z||{||}||{|||{z|{{||z{{|||{|}{{z{zzzzz|{{{}{{{{|z{|{z{|{{{||{{{zz{zzz|||{z{{{{{zz{z{z|zz{{|{{zzz{{zz{z{zz|{{|z{zzz{{zz{{|{{{zzzz|z{yy{{{{{z|{{zz{zz|zz{z{{{{{zzzzz{{zz|{{{{{{{{z{{{{z{{{||||{z{zz{z{{{{{{{z{{{{{{{z{z||{{{{{{{{{zz{{{{|{{{{{{{|{{yzzz|||{{{||{{zz{{{{||}{{{||{{{{{{{{||{{|}{{{{{{{{{{z{|{||{{z{{{{{{{{{{{|{|}zz{{{zz{{{{{||{||{{z{{|{|||{{{{|{{{{z{{|z{|||||}|{|{|{{z{}}{{|||z{||{|{{|||{{||||{||{z{{|{||{||{|||{|{{{||||}|||{|{{{z|{z{|{{{|{|{zz|{z{{|{||{|{{z{z{{z{z{{z{~~~~{~}}}}|||~}|~}}||{{{{|{|||||{||{zz{z{zzz{{|{{||{|{z{|{z{||{||{|{{{{{{z{{||{{||{{|{z|{z{{||{z{{||{{{zzzz|{|{{{{|yz{zz{{{{|{{{{||{zz|z{{{{|}{|{{{{{z{zz{{|z|{{||{{y{z{{{z{z{{{{{{|{zz{z{zz|{{{|z{{y{{zz{{z|{{{|{|{{{{{z{{||{|{{z|{{{zzz{{}{{{|{||{z|y{{z|{{{{|||||{{{{{{z{|{|{}{|{{{y{{{{|{||{z{|||{z|{z|{||{||{{||{{|{|{{|||||||{{z{|{|{{||}|z||||{{{{zz|||{|||||{|{|{||||||}}|{{|z{{{|{||||{}||}{{|{{{{||||}||}|{{{}{|{|||{||}|{{{|{{z{||{|}|||}|z{||{|||||}}|||||{{{{{|{{|{{||{|{|z{|{{}{{{{||{|{{{z{{{}{|{~}~}~}}~~}{|||||}|||}}|{{|{|zz|}{|||}|{{{{{{|{{||}{{{||{{{z{{||{{|{{{{{z{{{z{{{||{{{{{{z{{z{z{z{{{{z|{{zz{{{{z{z{{{{|{zz{{{{{z{|{|{{|{|{{{zzy{{zz{|z|{{z{zzzzzz{z{|{|{{zzz{zz{{z{{{{{||{z{zzzyz{{y|||{z{y{|{{{{|{{||{||{zy{z{z{{{{{{||z{z{{z{z{|{{z{|{|z|{{{{z||{|||}|{{{{{z|z{|{|||{{{{|z{z{{|{{|{||{{{{{{{{z||{|z{{{{{|{z{zz|{||}||}|{{z{{{{|{|}{}{{|{y{{|z{{||z{|||{{{{{{{{{||}}|}}z{{{{{{{{|{{||||}|{|{|||{}|||||||{|{{z{{||||}||||{{{{{{|{}{||}}||{{|||{{{}{|}|||{{|{{{|z{||{||||||{{{{{z{|{||{|{{z{z{{z{||{{|~~}~~~||}}}||||||}}}}||{||{{{{||{|||||{{{z{zz{{}|{{{|{{{{{zz{z|{|||||{z{|z{{zz{|{{{{|{z{{{{z{{{z|{||{{z{z{{z{z{{{||{|{{zzz{z|zz{z{{{{{{z{{z{{{|{|{|||{{|{{zz{z{{{{{{{{|{{{{z{zz|z{zz{{{zzz{{zzz{{|{{||{zzz{{yy{{{{{{}|z|{z{zz{{||{{{{{|{{z|yzz||{|{|{|{{{z{z{z|||{|}|{{z|{{{{|||||{{|||z{z{{{{||{{{{|{{{{{{zzz{z{|{{|{zz{{{{zz|{{|{{|{{|{{|{|{{|||{||||y{|{{y{||}||{||{{{|{{{||{|||||}{|{{z{|{{|{|{||||{|{{{|{|}{|{|||z{{{||{{|||{|||||{{{{{{{|||{{{||||{|{|{{z|{|{|}|z|{{z{{{{{|||{}|{{|{z{{z{{{|{z||{{zz||z{|{|{{~~~~~~~~~|}|}||{|}|~}}}}|{}|{{{||}{}}||||z{||z{{{{{}|{{}{{|{z{{z|z}|{|{|{z{z{{{z{{|zz{|{|{{{zy{{|z||z}|{|{zyz{zz{{{{{|}{{{yzz{zzz{{|{{|{zzzzzzzz{{|{{{|zz{{zzzzzz{{{{z{||{zzzzzz{{|{|||{{|zzz{yzz{{{{||{{z{{z|{{||{|{{{|{z{z{zz{{{{|{||||z{{z{{{{{{||{||{|zz|{zy{{}{z}|{{{{{{{z{{||{{|{z|{{{zz{{{|||{{|{{zzz{{{z{|{{{|||{{{{{{{z||||}|||{{{z{{{|||{||||||{||{{{|||}|}||||{||{{|{|{|{{|}||{z{{||{|{{{|||||{z{{|{z{}||{}{||z{{|{z{{|||{||||z{{{{|{{{{|{|}|{z{{{{{{||||||||||{{{{{{{{{{||||z{{z{{{{||{|{{|||{|z{zz{|{|||~~~~~}}~}|}||{{||}|}}}}}|||{z{|{|}{||||}{{z{{|{{|{{{{||||{zzzzzz|{||{{|{zzzzzzz{{||{{||{{{{{zzzz{z{z{|z{{yzzzzz{{{z{{{{|y{zzzz{z{{{{z|{{{zz{{zz{{{{||{|{zz|zz{{{z{{{{{}||zz{zz|{z{z{{{{{|z{z{yzz{|{{{||{{z{{{z{z{{{{|}|{z|z{z{{z{|{{{|{|{{zzz{{z{{{{z|{{{z{z{zzzz{|{|||{{{{{{{zz{{{||}{{{{{{z|z{{||{{{||{{{zz{z{||{{{|{{{z{{z{{|{{||||||{{|z{z{{|||{||||{z|{{{{{|{|||{|{{z{z|{{{|{|{{|||{{{{{z{{||{|{}}{{{{z{||||||||||{{||{|{{{||{{}||{|{{{{|{|z{||}|}||{z{|{{{{||}||{|{|{{z{{z{z{{||||{{z{{{{{|{}|||{}zz{{z{{{{{{{{~~~~~~~~}}|||||}|~|}||}}|||{|{{|||}|{||||{|{|z{{{{{|{{|||{{z{z{z||{|{{{{z{{{{{zz{|z{{||{{{{yzz{{|{{{z{{z|zzzz{{z{|{{zzzzzzz{zzzz{|{zz{{{{zzzz{z{||{{z{|{zz{yz{{{z{z{{{{{{z{{zz{z{{{zz{{z{{{zzz{zzz{{{|{{|z{zzzzz|z{{{|{{{zzz|{{{z{{{z|{{{{zz{z{|{{{{||{{z{{z|{{{{|z{{y|||{{{{{z{z||{{}{{{{{{{zz{{{|{{{||{{{z{zz{||{{{{|{{zzy{z{{{{|||{||z{{zzz{{||{|{||}{{{zz|{{{}|{{{||{z{{{{{{}|{{|}}|{{|{{{{{{|{{|||{||{{{{{{z}{{||}|||{{{|{{|||{|{||{{{{{{{{{{||{||}|z{{{{z{|~{{|}|{|{|{z{{{{|{|{{}{|{z{{{{{{|{|||}|{{|{{zzz{|||{~}}~~~~}|}{||{}}}||}||||{{{|}z|}}{|}{|{z{{{{{{{|{{z{||z|yzz{{z{{|{z{{|{z{z{{z{z|{{{|{{{z{{{{zz{{{{z|{{|{zz{{z{{{{{z{||{{zz{yzy{{||{{{{zzzzz|z{{{{|{|{|{{{zz{z{{{{{{{||{z{z{zzzz{z{{{|{zzz{zzz{{{{z{{{|{{z{{{{z{|{||||{{z{z{{z{{{{z|{{|{{zzzzz{{{z{{{{{{|{{z{zz||||{{{|{{{|{z{z||||{}||zz{zz{|{|{|{{z|{{{{|y{z{{|{|{|{|z{{z|{{z|||}||{|{{|z{{{{{||{{}{}|{{|{{{{|{|||{||}z{{{{z{}||{|}|||{{|{|}{{|{||||{|{{{|{{||}|{}{}{|{{{|{{{|{{}||||{{{{{{{{|||}z|}|z{|{|{{{{||{|{|}{{|z{{|{{||||||||{{|{{{z|||{||||{|{z{{{z{|{{{~~}}~~}~}~~~}||}||||||}}}}||{{{|z|{{{||}|}|{{{{{{{{|{{{{|{|{{{zzz{{zz{{{||{{z{{z{{{z||{{{{z{|z{{{{z{{|z{{{z{z{{zz{{{z{{z||{z{{{{zzz{z{|{{{{{{zzyzzzz{|z{{|||{{{zz{{|{||{||{|{{yz{z|{{||{{z|{z{z{{zzz}{zz||{{{{||z{{{{{{z|}|{{z{{{zz{||{|{{{{z{z{z{{{||{{{|{z{|zzz{{{{{{{{|{{zz{{{|{z|||||{{{{{{z{z{{|||z{|{{{|z{{|{|||{{{{||{z|{{|z|}{|||{|{|{{{z{{{|||||{}{{z{{{|{{|{||{|{|{{{{{{z||||||||{{{{z|{|{{{|{{}||{|{|{{{{|||||}}{{{|||{{|}{|||z||z{{{{|{||{{|||}|{z{{|{|||{}||||{{{|||{||||}{{|||{z{z{z{{||||||||{{z{zz{{|{|{~~}~~~}~~~}}~|{|{||}}{}|}|}}|||||{}|{{|~}}|{{{{{z|{{||z|z||{{zz{zz{|{|{|{|{{z{z{{z{|{{{||||{{{{z{{z{{{|{{{z|{{{zz|{{||{{{||{{z{{zz|{{{|||{|{{{z{zz|{|{|{||{|{{{{{z|{|{{{|{{z|{z{zzz{z{{{{|z{zz{{{{{{|{z{|zzz{{{{{z{{{{{||{{z|{{{{{{{||{|z||z{{{{|{|z{{||{}|z{{{{z{{}{||{||{{{{{z{z{|||{{{|{z{{{|z{|||||||{{{{{{z|{{}{{|}{||{|{{{|{{|||||{|{||{|{{z||||{}|}{zz||||{{||||||||{|{||z{|{|||}|||z{{{|{{{|{||}|}}||z{{{|||}|}}|||{|{}{z}}|||}||||z|{||{{{||}|||}|{|{|||||}|||}||{{{{{|{{{||{||{|{{{{{{{{{|||{|}|||{z{{{{|{{{|~}||~~}~~}~|}|||{|{}|}}~}|{{{{|{{|||{||}}|{{{z{{{|||{{{{{{|{zzzzz{{{|{|{||z{zzzzzz{{{|{|||{{{{y{{{z|zz|{|z{||zz{z{{{{z|{|{|{{zzzz{{{{{{|{zzzzz{zz{{{{||{|{{{z{{{{{|{|z{|}{|zzzzz{{{{z{{{{z{{{zz{zzz{{{{}{{{z{{yzz{}{{z||{|zz{{{|z|{{|{{|||{{z{{z{||{{{{||{z|{{|{{{{|{{{||z{{{{z|{z|{{|}||{|{z{z{{||{{|{|{|{{{|{z{{||{|{{||{{{|{{{{|}|||{|||{|{||{||{|||{|{{|{{{{{|||||{|{|{|{{{{{{|{||||{{{{|{{{{{||{|}|||||zz|{{{}{}}||||{{||{{{||||||{||{{{|{{|{{|{|||||{||||{{|{|||||||{{{|{{|{|{|z|||{{{{z{{{|{||||}{||{{z{{{{{}{{~~|~~}~~}}~|~}||}}|||}}|||}~|{||{||}{|||}|||||{|{|z{{{{{||{||{{z{{y|zzz{|{{||{{zz{{{zz{{{{z{{|z{z{z{{{{{{||zz{{{z{{z{z{{|{{{|zz{zzz{{z{|{{{||zz{|{zzz{|{z{{z{{{z{{z{{{|||{{{|{z{{{yz{{{{{{}{{{z{zz|{{{z{z|{{{{z|{{zz{|{{|{{}{{zz{{{{z{{||{{z|{z{{{z{{{{{{{{|{{{{{z{{z{{|{{{{{{|{{zz{{{||{||{{|z{{{z|{{||{|||||zz{|{{{{{{|{|||{{|{{z{{|||{{{||{|||{{|{||{{||}|zz{{|{{{}{{|||||{z{{{|{{|}{z|{||{|{{|||z{||{||||{{{|{|{|{}{|}}|}{z{{|{{{{}}|||}||{{z|{{||||||||||{z{{{{{||{}||{}{|{{{{{{{|{|{|{|}{{|{z{{{||{{{||{{{z{{{z{}{{{~}~~}}|}~~~~~~}|}{{|{}|}|}||}}}|{{{{{|{||{||}}|{{{zz{{{{|||z{{{z{{z{z{z{{{|{||{{z{z{z{zz{{{{{|z{{{{{{{z{|{z{{|{{z{zz{zz{{z{|{z{{z{{{{{z{{|{{z|z{z|zzzzz{{{{{|{{{{{{z{{{z{||{|{{|{zzzzzz|{{{{{{{{{zzzz|zz{z{{{{{{{{z{{z{{{{}|{|{{z{{{{{{{{{|{{{|z{{{{z|{{{{z|z{|{{{{z{zz|{|z{}}|{{{{{{{{|z{{|}||{{z{{{{{|{{{{||{{{|{{z{{||{{{||{{{{{{{z|||||{|{{{{{||{{z|{{|{|||{z{{{z{{{|||}{{{|z|{|{{{|||{||{|{|z{{{||{||{|||||{{|{{|{|||||}|}|{{{z|{z{|}{}}|||{||{|{{||||{|}|{{|||{z|{|{{|||}{{|{{{{{|{{|||{|{|{{z{zz|{||{|||{{|{z{zz|||{{~~~}~~}~}~|}~|||||}{|||{|}||}{||}}{{z|{|{}|||{{{zz{zz{{{{{||{{{{z{{{|{|||{{||z{{z{{{{z{{zzz{{{{zzy{zz{{{{{|{{{{zzz{z{|z||{{{||{zzzzzz{{{{{|z{{z{zzzz{{{}z{{{|z{zzzzzz{z{|{{{|{{{{yz{{{z{z{{{{zzzy{{{z{{{{{{||{z{{z|zzz|{|{{{{zzz{|z{z|{|{||||{z{{{z{z{{{{{|{|zz{z{{zz{|{z{z|||{{zzy|{z{||{|||{z{{{{zz{{||{|}{|{z{{{{|{}{|{||{{{{|z{{{||{||||{zzzz{{|{|{{{||||zz{{z{zz{||{{|}||{{z|{|{|{||||||||{{{||z{}|{|||||{{{{|z||}||||||{{|{{z|{|||{|||||{{{||{{|{{|{||||{{||{z|{{|||||{|{{z{{{{|{{{||{|}{|{{{zz||{||{}{{zz{{z|{{{{{|~~~}|}}}~~}}}}}|||{{}||}||}||||{{z|{{||{||{||}{{zz|z{{{{{|zz|{{{{zzz{z{{{{{|{|{z{z{{zyzz|{{{{|{{{{zy{z{{zzz{z{yzz|{{yzzz{{{{{|{{{y{{{yz|{|{{|{{zzzz{zz{{{{|||{{z{zzzz{{{{{{{{{z{zzzyz{z{|z{{{z{zzy{z{z{{zz|{{z{zzz{zzz|{{{{{||zz{z{z|{{||z|{||{{{zz{|{{{{z{{{|{z{{zz{z{{{{{{|{{{z{zzzzz{{{{{{|zz{z{{z{z{||{|{{{zz{{zz{|{{z{|{{{{{{{{z{|{{|||}|z{{{|z{{|{{|||{||{{{{z{{{|{{||{z}zz{|{{{{||{||||{{z|{{{|{|{||{{||{|{{{{{{|||||||{{{{{z{{{{||{{{||z{{{z{{||{{|{{||{z{{{{|{{|||||||{|z{z{{{|{{{||||{{{z{{{{|{|{|}{{{|zz{{y{{{z{}~~}~~}~|~~}}~}}|||||{{{}|}|}||||||||}{|}}||||||{{{{{{z|{|{||{|{|{{zz{{z{{|{{|||{z{z{{{{z{{{{{{{||{{{zy{|{|{{{z{{y{{{{z{{{z{{{|{{z{{{zzzz|{{{zz{{{{zy{zz{z{z{{{{{{{{z{{z{z{{{|{{zz||{{{{z{z{zz{|{z{zyzz{{{{{{{{{{z{{{{{{{z}{||{||{{z{{|{{|{{{|{}{{{|z{{z||{|{|||{z{{z{|z{|{{|||{{z{|{z||z{|{|{||{{{{{{{z{{{{{{||{{zz{z{||{|{{||{{{{{z{{z{|||||||{|{{z{|{{|{|}|}|{zz|{|{{|||||||{|{{{{{{{||{}}|||{{||{||||{}{|||||{{{{|zz{}|}|||}{z|{|{{{|||{{|{||{{|{{{{|||{||||{|{|{{{{||{|||}}{|{z{{{{{|||||{|{|z{{{{{||{{|||||{z{|{{z{||||~~}}}}}~~}}|}~}|{{|}||}|}||}|}||z|{|{}||{|||||{|||{z|{{{{|{{|{{{{{zz{z{{|{||||{{{zz{{{{{|{{|}{|z{{{zzzz{}{{|z{{{z{{|{|{{{{{{{{{z|{z{{{{{||{|{{|{{zz{z{||{{{{{|z{{{z|{z{{{|{{|{zz{z{{{z{{{{{|{{{{{zz{{z{{{z{{{{{y{{z{{{{{{|||{{{{{{{{|{{||{{{||{{{{{{{{{{|{{{{|z|{{{z{{{{{{{||{{{z{|y|{||{{{|||zz{{{{{z|}|{|||{{{{{{z{z{||{z||{{{{{{|{z{|}||~}|{||z{{|z{|{|||||{{|{{{{{{|||||{}{{{{{z{||}|}|}|}||{{z{{{{{|{{||||{z{{{|{{}}|||||{{{|{z{|||}}||}|{{{|{{|z||||||}|{{||||{{|||||||{{{{|{{{{{|{|{|||{{{{z{{{z|||||||{{{{zz{|{{||{~~}}}~~||}~}}||~~~|}}{||}|}||}}}}|{|z{|||{{|{{|||||{|{|z{|}||}{{||||{z{{{z{|{|{|{{|{{{zzz{{{{{{|{{{z{{{z{{{{|||{|z{zzzzz|z{{|{z||{{z{{z{{z{{|||||{|z{{{zz{{|{||{|{{{{{{z{z{|{|{|}|{y{z|z{{z{|{{{{{{{{z{z{z{{{{|{z||z{zz|{z{{|||||{|z{z{{|{|{z{|{{|{z{{zz{{||{{{{{|{{z{z{{{{z{||{{|{z{{{{zz|{}{z{{{{{{{{{{{||{{||{|z{{{{|{|{|}{{||}{{z{{{{z{|{|||||{z{z|{{{{||||||||{{{{z|z||{{|||||{||||{{{}{|{|||z|{{{|{|}||||||||{{{{|{|{|||}{}}|||{{{|||||||}|||{{{{{{{{|{|}|}}}{{|{{{|{{{|||{|{|{{{|{{{}{|||}}{|z|z{{||||{||||{||{{{{{z||{{~~~|}}}||~}}}}~}|}|}||||}|}|}|{}{||{|{z{||{|||{{|z|z{{z{}||{|{{{z|{{z{{z|z{|{||||{{y{z|z{|{|z{||{z{{|{zz{{{{{z{{|yz{{zz{z{z{{{|{|z{{zz{{z{{||{{{z{{zz{{{{{{|||{{{{{{{zzz{|{{{{{|zzz{{z{zz|{z{{{{{yz{{zzz{{{{{{{{z{{z|{{z{{|||{{||{{{z|{z{{z||{{|{zzzzz{{{{{|{|{|{{{{{{{||||{||}||zz{{|{{{{|{{||{{{zzz|{{|||||{|{{y|{z{{{||||z|{{||{{z|{{|{|||{||z{|{{{zz||{||}||{{{|{{{z||{||}}||{{|{z{{||{||{}|{z||{{{{||||}|||{z{z||{|{||~||||{{{|{|{|{{||}{|}|{||||{{{}{||{|}||{{}|{{{{||}|||{|{{|{{z}||||{|||{{{z{{|{}|{{|{||{{{{{z{{|{|{~~~}~|}|}~~}}}|}|||||{{{}|||}|}||||{{|{z{}{||{|||{z{{{{{{||{{{{|{z{z{z{y{{||{{{|{z{z{{{z|||{{||{{{{{{{zz{|{{{{{zz{{yy{{z{|{|{|{{z{{zzz{zz{|{{{z|{{{zz{{{z{{|{{|{{|{zzzzz{|{{{|{{zz{z{{z{{{{{{{{||{{z{{z{zz{|{z}{zz{zz{z{}{{{{{{|{y{z|z|z|{{z{|{|zz{z{z{{||{|{||{{{zzz{|{|{|{|{||{{{z|z{z|||{|{||{{|{z{{{{|{|{|||{{{|{{|{|}{|{||||||{{||{|{||||}||{{|{{{{{|z{}}|}{||{{{{{|{|||{}{|z{{z|{||||||||}|{{{z||{|||||}||||{{z|{{|}||||}}|z||{{|{}|{{|{{||{{{{{{{{}{|||||||z||{{|||}||||}||{{{z{|{}|{|}||z}||{|{{{|{|{{|{{{}{{{{{|{|{{~~~}}}}|}||~}~~}}|}{|}{|}|}|{}|}|}}{{{{{{|{}{}|{||z{{{|{|z{|{|||}||{|zz{{{{|{|{{{|{z{z|{{z|}{z{{}{{{zz{{{{{{{{{{{z{z{|z{z{{|{|{{{|{z{z{{{z{{{{{{z{{zz{{{z{{{{y||{{{z|z{{z{|{{||z{|{{{{|zz{{|{z|{{|z|{{yzz{{|{{{|{{{{|z{{{z{|{{{{|{{{{{{zz{{{{z{|{|{{{{{z{{{{{||{|{{{{z{z{|{{|{{|{|{z{{{{|{{|||z|{}{z{{{{{|{}|{{||{|{{{{{{{|||{|{{{{{z||{{{{{|{}}||{{||{||{|{{||{{||{||{{{{|{||{||||{{{{{{{||{{||||{{|{{{{{|{{|}}|}}{{|{|{|{||}|{}}{{{|{{{{|||||||{{{{{{{|{{||||||||{{{||{{{|||}||}{z{{{|{z{|||||}||{||{{{{{|{||||{{{|zz{z{z||{{~}}~}~}~|||}~~}}}}|}||{||}|||}}|}{zz|||{z{|{|{||{|{{{|zz|||{|{|{}{|{{{{{z||{|{|{|{{{{{{{{{|{{z{||{{{z{{z{{{|{z{|{{|z{{zzz|{{{||||z{zzy{{z{|{{{{|{zz{|zzzz{{|{{||z{{{{z{{z{{|{z{|{{{{z{{{zz{{{z{{{{{{zz{zz{|{{{{{{z{z{z{z{|{}{z|{|z{zzy{z{{|{{|||{{|z{zz{{{{{||{|{{{{{{{{{||{{{|{|{z{{{z{|{||||}|z|{{{{{{z||{|{|{{{{{{{zz{|{|{||{|z{z{{{|{{||||{{{{|{{{|{{{{|||||}|z{|{z|{{||}{|}z{{||{{||{||{|}}|{{{{|{|}{}||||||}|{|{}|||||{|||||{{z{|||{|||}||{||{{z|||||{{||||}{|{||{{||{||}||{{|{{|{{{}|||||||{z{{|{{{||}{||{zz|z|zz{|{}||~~~}}~~}||}{|~}}|}}|}}{||{|||||||}||||zz{}{{{|||{}{{{{{z{{{|||||||{{z{{{{{z{{|{|{|{{z{y{{zz{||{z}{z{{{zzzz{{{{z{{{||{{{{{{{{{{|{z|{z{zz{z{{z{{{{|{{{z{zzzzz{{{{{z{{{z{{zzz{z{{|{{{{|z{zz{{z{{{zz|{|z{{zyz|zz|{y{{{{{{{{{{z{{z{{{|||z{{zzz|z{|{{{{||zz{zz{{{|{|{|}z|{{z{{y{z{{{|{|{}{{{z{{z{{{{|{{||z{{{zz{{{{|z{|}z{zz|{{z{{||{{||||{{{|{{|{{||||||{{z{{{{{{|{|{{|{{{{||{z||||{|||{|{{z{{{{|}}|||}|{{|{zz|||}{||{|||{{{{z{{{||{||}||{{{{{|{|{||{|{||{{{|z|{{{{|||{||{{z{{{{{|||{|{|{{{{z{{z{|{{{{|||z{{z{{z||||{|||{{z{{yzz{z{||~~~}|}~|}}|}}}~}}~}}{|}|{|{}}{|}||~||{{{{|{|||{|{|||{z{{{yz{||{{{}{|{{zzyzz{||||{|||zz||z{z{{{z{{|{{|{zy{{y|{|zz{{z{z{z{zzz{{zz{{{{{zzzzz{z{z|{{|{{zzz{zz{{{{|{{||||{zzyz{{{zz|z{{{zzz{z{{zz{|z{|zzz{{z{zzy{{z|{}{{{z{{{{{zz{{{{z||z|z{zz{z|{|{{{{{{z{z{||z{|{{{{||z{{z{z{{||{{{|||{zz{z{zzz|{}||||{{{{{zzz{||||z|{|zz{{{{|{{|{{|{||{|{||z{z|}|{|}}{{{{|{||||||||||{{||{{{z{{{||{}|{z{{{{{{||{{}||}{{{{{{{{{{|{|||||{{z{{{{{|{}||}{|z|{{|}{|{{|}}}||{{{{{{{{{{{|{}}{{|{|{{{|{{||||||{|{|{{{{{}||{|{|{{{z{{{{|{{|{{z{{{{{{||||{{{}~~}}||}}|}}~}|||}|||||||{||{{{||}|z|{{z{z|||{{|||{zz|{zzz|{|||{||{{zz{{{z{{||z{||{z{z{|z{{|{{z{{{{{{zz{{{z{|{z|{z{z{zzzz{{{{|{{{{{zzz{{zyzz|{{{{z{{{z|zz{{||{{||{{z{{zz{{z|{{{{||{zyz{z|y{z{{{{{{{{{zz{zzz|{z||{{z{{{{{z{zz{|{{||{z{{{{{{{||{{{{{{z{z{{{z{{}{{|{|{{z{z{{{{z||{|{{{zz{{{{{{|{z||{z{z{zz{zz||||{{|{{{{|{{zz{{zzz|{{{{z{z{{{|{||||||{{{{|z{{{|{||||||{{{|zzz{|{|||{|{{{z{{{z{}||||||zz{{z|||{|{{||{|{{{{{|{{{||}{||||{{{{{{{}{|||||||{{{{{{{|{z|||||{{{{|{{||}{|{|{|z{{{{{|z{{||{|||{{{}zz{{{|{|}||{{{{{{z{z{|}{|}}|}{|}|||}}~|}|}}|||{}z|{||||}||||{z{{{{z{|{{|{{{|z{{|{zz{{{||{||{{zz{{zz{{||z{|z{{zz{{{zz{{{{{z{{z{zz{x{zz{z{{|{{zz{zzzzy{{{{{|{zzzzz{{zz{{z{{|{{zzzzzzz{{{{|{{|z{{{zzzz{{|{{{{{{{zz{z{z{z{{z{||z{{zz{zz{{{{{{{{zz{{{zzy{z{{{{|}z{z{{z{zz|{z{{{{{zzzzz{z{zzz{{{{{{{zzzz|{{{z{|{{{{{{{z{z{{{{{{|z{{{{z{{{{{|{|{{{{{z{|z{{|{{{z{{|{{{{zz{{{{{|||{}{{{zz{{{||{|{{||{|{{{zz{|||{{{|{|z{{{|{{{||{||{|{z||{z{{z{||||||{{{{{{{{{}{|||||{{{|zz{{{{{|}{|||{{{|{z||{{||||||{{{|{{{|z{{|{|}{z|z|{{{{|{||||{{{{zz{{z|{{{{{{{{{zz{z{z{|{{{~~~}}}|~{||{}~}}||}|{{|{|{{|{}|{}}}|{{z{{|||{|||{||z{|{|{{{{{{{{|}{{{{{{zz{{||{{{{{{z{|z{{zz{z|z||{{zz{{{{|{z|{{{{z{zzz{{zz{{|{{{{{{{z{{zzz{{{{{{||{zz{zz{{|{{{{|{{zz{|{zz{zz||{{||z{{zz{|z{{{zz{{{{z{zzzz{{z{{|{|{{zzzz{{zz{{{{||{{z{z{zzz{||{{|{{{{{{zz{z{{z||||||z|zz{{{{{|z|||{{{{z{y{{||{{{{|{|z|z{{{{|||{z{{{|{z{{z{{{||{{|||{{{{{{{zz||{{|||{zz{{{|{|{{||{|}{{|{{{{z|||{||||{z|{zz{{}{|{{{{||{|{{{|{{{{|}||{}{{{{{||{}|||||}||{{{{{{|}|||||||{|{z{{{{{}{}|||{{{|{{{{{||{{|||{{z|z{{{{||{{||||{{{{{{{{|||{||}zz{{{zz{|{|{{~}~|}|}}}{|}}}||~|||||{}|z{{|||||}{z{{{{|{{{{{|{||}{{zz{z{{|{{|{||{|{zzzzzz{{{{{|{|z{zz{{{zz{|z{|{{z{{z{{zz{{{{|{{|z{z{{zz{{z{|z|{{{zz{zzzzz{{{{z|{zz{zzzy{{{|z{||{zz{{{zzz{{{{|z{{zzzz{zzz{{z{{{z{z{z{{z{{z{{z{{{{zy{{{{{z{z{z{z{|{{{z{z{{{{{|{{z|{z{z{z|z{||{{||||{zz{zz|z{{z{{||zz|{{y{z{|{{|||{z{{{{{{z{|||{||{{|z{zz{{{||||{{|{{z{{{{|{{{{||||z||{{{||||||z|}||{{{{|{{|||||}|{{z||{{z|{|z||}|{{{{{{{{||{||||}||{{{{|{{|}|z|{{}|||{{{{{|z{{}|||{{{{{z{z{|{|}||||{{{{{z{||||||{|{z|{{{{{{|{|{||||{z{{zz{{|{{{{||{{|z{z{z{|}{{~}~}|||}~{|}~}||{}}|z|{|||{{{||{}{||{|{{{{{|{|{}|{{{||{{z{z|{{|{||{|{{zzyzy{|{{{|{{{{{z{{{zz{{z{{|{|z{zzzzz{z|z{z{|zzzzzzz{|{{|z|{{zzz{{{zzz{{{{|{{{zz{z{yzz{{{{{{{zzz{z{{{z|{{{{{{z{zzzz{{z{{z{||{z{{z{z{{{{{|||{z{zz{{{z|{{{{{{||{{{z{zz{{{{{z{{||{z{{y|{{|z|{|{{{zz{{{z{{z{|{z||{{{z{z{z{}{|{|{{{{{z{z{{{|{{{|||{{{{{z{{{{{{{|{|{{z{||{{{|{{|}{{zz{z|z|{|{{{||}|{{zz{zzz{|{|{{|{|{{{{{{{||{{}{|}{{z{{{{{z{{{||{|}z|{{{z{{{{||{|||{{|{{zz{|{{|||{|{{{{{zz{|{{{{{|||{{{|{{||{{{|{}|{|{zz{|{|{{{||}{{z{zzzz{|{{|{|{||{{zy{{z|{|{}|~|}||}|{}}}|}|}|}{|z{||{{{|{|}}|{{{z{{{{{{{||z||{|z{{{{z{{|{{|{|{{{{{{z{{{{{{{|{||{{y{zz{{{{|{{|{{z{|{zzz{z|{z{{|z{zz{{{y{{{|{{{z{yzzz{{{{|{{z|z{{z{{yzy{{{{{{{|{yz{z{z{z{|{{{{{{{yz{{z{z{{{{{{{{{zz{{yz{z{z{||||{{zz{{zy{{z|{{||{zz{zz{{{{||{{{|{{{{zz{{{{{{{{|{{{{zy{zz{z||{{|{zz{z{z{z{{{|{{{{z{{{{|zz|||{{|{{{z|{{{z{z|{{{|{{{{{|{{|{|{}||{{}{{{{{|zzz{{|{||||z|{{{{z|{{|{|{{|{{z{z{{|}|{|{}||{}{{|{{|{{{||}||{{z{{{{{}||}|}||z|{{{{{{|||{{}||{z{{|z{{|{|||||{||{{{z{}|{|||{|{{{{{{z{{|{|{{}|{{{{{{zz{|{{{{|{zzz{{z{{{|{{{}}}||||||}|}|}}|{|||{{{|||{{|{{||}}|{{z{{{{||{||||{zz{{{{z{||||{z{||{zz{z|zzz||{{|{|{|{zzzz{{|z{{|{{{{zz{zz{{|z{{{{yzzz{zzz{z{|z|{{z{{{zzzzz{{|z|{{{{{{zzzzz{{{{{|{zy{zz{z{z{{|{{{{{zz{zz{z{{{{z|{|{|z{{yzz{{{{{z{|{{z{{zzzzz{z{{{{{zzz{y{{z{{{z{||{z|z{z{{z{{{{{{{{{{zzz{zz{{|{|||{{{z|{{{z{{|{|{z{{z{{|{{{{{{{{}{z{zzz{z{{{|{{||{{z{{|zz{||{||||{z{|{{{{{||||{|{|{{{{|{z{{{{|||{||{{{{z{{{{{{}||{{|{{{{{{{|||{|||{z{{|{{{{{|}{|}}|z{{{{{z||||{{|{|{{{{|z{{{|{{||}{zz{{{{z||{{{|{|zz{{z{|{z{{|||||{{{zz|z{{{||{|{{{z{{z{z{{|||{}|}|}|}{|||{}}{||~}||{{z{|{||{|||}|||{zz{z{|{|{|{|{||{{{{{z{{|||||}z{{{{z{{||{||{{|z|{z{{{z{{{{{{{{{z{y{zzz{z{{|||{{z{zzz{z||{{{{|{{{{zzzzz{|{{{z{{{{zz{{z{{{|{|{{zzzz{zzzz{{{||{|{|z{{zz{yz|z{{{{||zzy{{z{{z{{z|z{{z{yz{zzzz|{{||||zz{{z{z{{{y}{{|zz{z{{{z|{|{{|{|zz{yzzz{||{|{{|{{z{z|zzz|{||{{{{{|{{{{z{{||{{||{{|{|{{{{|||{{|{{{{{{{{{{{{||{|{|z{|{{{|{||{||}|||{{|{z{{{|||{||{|{{{{{{{|{{{{|{|{{z{{{{|z|||||{}{{{{zz{|{}}|||||||||{{|{|{|||}||{{{|{{{{||||||}}{{{|z{{{|}{{||||{{{y{{|{z{||{||{{{{zz{{z||{{|||{z|{{{zz|||{{{}}||{|||}{||}}|||}|||{zz{{|z{||{{||||{{{{{{{{{{{{|{{{{y{zy{{{||{||||{{zz{zz{{{|{|{{{zz{z|{z{z{{{|{{zz{{{y{z{{{|z{{{zzz{zzz{{{{zz|{|{zz{{{z{{{y{z{{z{{{zzzzz{{{z{|{|z{yzzzyz{zz{{{|{z{z{{yzzzzz{{{{{{zzz{{zzzz{{{{{{{{{zzzyz{|||z{{{{zz{|{zz{{{{{{{{{zz{zz{z{{|{{{{|{{zzz{z{{||{{{|{{{{{zyzz{zz|{|{{{zzz{zzz{{{{{|{z{{z|{{{{z{|{{|||{{{{{{y{||||{{||z{{{z{{{z{{{z|}|{z|zz{{{{{|z|}|{{{{{{{{{{}{|||||{{z{{{{|{|{{|||||{{{{|zz||||{}}||{{{{z{{}{}{{||{|{|z{{{zz{{z|||}{{{{{z{{{{||{|{|{{z{{z{z{{z{|||||{|{{z|{{{{{{{||{{{z{{z{|{|{{}||{||{|{||{|}|{|||{|{z{{{{|{|{|{||{||{||{{|{{{{{}{{|{{{z{zz{{{z|||{{{{zz{z{{{{{{||zz{z{z{z{{{z{{{{{z{z{zzz{{{z{{{|zzzzzz{y{{{{{{{z{y{{zyzz{{|{{{{{{z{zzzz{{{{{{z|{|z{{z{zzz{{z{{{|zzzz|{z{z{{zz{{|{{{{yzz{z{{z{{{{z{zyz{z{|{{|{{{{{{{z{zyz{{{{{{{||{|zzy{{{{{{{{{|{{{{|zzz{{{z{|||z{{{|yzz{{{|||{{{{{{{zzz{{{{||{{{{{{zy{|{|{|{{|{{{{{{{|{{{||{}||z{{{{|{{||{||||}{{z{{{z{|||{|{|{|z{{z{{{{||{|||}{{{z{|{{{|{{{{{||{{{{zzz{||||{|||{{{{z{{{|{|{||}{z{z{z|{{{{|}|||}{{{{{|z|{{{{|||{|{zz{{z{{{|{|}|{{{zzz{{z{|{{{|{{{zzzz{z{z}{|}|}}}|{{{|{}||||{|{||{{{{{||||}|{}{{{{{{{|z{{||{{{|{zz{{z{{{{|{{{{|{z|zz|{y{{{{{{z|z{{{z{{{z|{z{{{|{zz{{z{{|{{{{|{|z{{zyzz{|{{z{zz{{|zz{zzz|{|{{{|z{yzzzzzy{||{{{||z|{{yzzzz{{{{z{{{z{zzzz{zz{{{{||z{{zz{zzzz{{{{{|z{{{{|yz{{{{z{|{zzz{{zzy{{|{zz{{{{|zzzz{{{{{{{{|{{{{{{{{{{{z{{|||z{{{{{zz{||{|{{zz{{{zzz|||{{{{{|{z{{zz{{|{z|{{{{{{z{{{{||{|{||{{{|y{z{||||{|{||z{{{|z{{{|{||{||{{{{{{{{{||{{}{||{{{z{{{{{{{||||{|{{{{{{{}|{|||{|{{|{{{{|{|||{||{{z{|{{{{{{||||||{{{{{z{{{|||{{||{{{z{{|||{|||{{|{{{z{z{{|||{{|{{z{zzzz{{zz|{|}}|||}|{{z{~||}||{||{{||{{||{z||{{{|{z{{{{{|{{|{{||{z{zzzz{z{|{{||{z{{{{{z{{{{{|{|{{{{{|zz{{{{{{{z{{zzzzzzzz{z{z{{{z{zz{zz{z{z{|{{zzzy{z{zzz|{y{|{{zzzzzz{{{{{||{{zzz{z{zyz{{z{z{|{{z{{z{z{{{{{{{z{{{zz{yz{z{{{{{{{{{z{z{zz{|{{{|{{y{z{z{z{{{z{||{{zz{zz{zz{|z{{{|z{zz{{z{{{|{z{{|z{zz|yzz{{{{{{{|zz{{{{z{{|{{{{|{{zz{{{{{|{{{||{{{z{{|z{{z||||{||zzz{{{z{||{|{|||z{|{{{{z|{|||{|{|z{{{|{{|}{|}|}{{|}|{{z{|||{{||{|{{{|{{z{}||||||{z{|{z{{{|||{|||{{z{{{{{||{{{{{{|{z{zy|{{{{|{|{{{{|z{zz{|{{{{{||{zy{{|{{{{{{|{|{z{{zzz{zz{{{{}||{||||z|{||}{||||{|{{{{{{{{||{||||{{{{{{{|||{{}{{{{{{{z{{{{{{|{|{zz{{{zzz|z{z{{{|zz{zzz{zz{z{z|{|{{{z{{zz{{{z{|{{z{zzz{zz{{zz{{z{zzy{{z{yzz{zz{|zzzzzz{z{{{{{|{{{z{z{zyzz{{z{{{zzzyz{{zzz{{{{z|{z{{zz{zz{z{z{z|{z{y{zz{{{{|{{z{{{|z{zzz{{{zz{{|{{z{|{{|{z{{{{{{{{z|{zy{z{|{{{{|{{{z{{{z{z{{||{{{|zzzz{{zz{|{{{{{z{zzzzz{{z|{{{||{{z{zz|{{{{|}||||{{{{|z{{{|{||}|||z{{z{z{z{|{}||||z||{{{y|}|{|{}{{z|{{|{z||z{}||||{{{{{{{||{||||||{{{z{{{|{}|{||{|z{{z{z{|z{{z|||||{{{{z|{{|{||||{{{z{|z{{{||}|{|{{{zy{z{{|{|{{{{|{{zzzz{{{|{{}|}|{{{|{|{||}|||}|}{{|{z{{{|||||{|||{z{zzz{|{|||||z{z{{zzz{||{{||z{zz{z{{z|{|{||{|{{{z{{{z{|{z{|||zz|zz{zzz{{{{{z{|{zz{zz{{{{{{|{{zz{{zz{zz{{z{{|zzzz{{z{z{z{{{{{zz{zzz{{{{|z{z{{|{zz{zzzzz{z{{{{z{{y{zzzz{|{{{{{{zz{z{zzz||z{z{|{{z{{zzzz{{{{{|{}z{{zz{z{z{{{{{|||{{z{{{{{{|{{|{|{{z{z{zz{{{{z{||z{{zzzyz|{|zz{}{|{z||{z{z|{|{{{|{z{|{{z{{||{{{}{{{{{|{{z{|||{}{}|{{{{z{{{{{|||}{|{{{{zz|||||{||{{{{||{z{|{{{|||||{{{z{|{{{{}{{}{|||||z{{|{}||}||{{zz|{{{{|{{{||}|{{{{|{{{||{||||{|{z|zz{{{||{|||z{{{{z{z{{{{|{{|{{|zz{y{{{{{{}}}|{{{{{{{|}|}|||}||{{|{{{{|{{|||}|{{z{{zz|z{|z||{|{|{{z{z{|{}{|||{zz{zz{z{{{{{z{|zz{z{{z{{{{z|{{{{z{{{zzz{{{|{{{{{z{y{{{z{{z{{{z{{{zz{zzzz{{{{{z{{z{{{yz{z{|z{{zzz{{zzyzyz{z{{|{{{{zzzy{yz{{{|{z||zzzz{z{{{z{z{{{zz{{z{zzz{|z{{{{{zz{yyzzz{{|{z|{|{|z{{z{z|{{|{||{zz{{{zz{{{{{|||z{{|zzz{{||{{|{{|z{|{zzz{{||z|{{{zy{zzz{|{{{{|{{{{{{{|zz||||{{{|{{{{|z|z|{|||||{{{z{{{zz{|||{||{|z|{|{{{||||||||{{zzz||{{||{||{{}{{{{z|{||{}||{|{{{z{|{}|||||||||z|z{{{{{{|{{{{}|z{{|{{{|{|||{{}{{{{zy{z}{{|z{||{{{zz||z|{|{|{{|{z{z{{{zzz|{{||}|}|{}{||{|}}{{||}|{z|{{{{{|{||}|{zz{{{{z{{{{{{|{|zzzz{yz|{{|{|||{{z{zzzz||{{{|{|zyz{{{{{{{|{{{|z{z{zzzzzz|{{{{zz{zzzxzzz{z{|{{{{zz{z{z{{{{{{{|{{zzz{z{yz{z{z{{{{{{{zz{{{{{{{{{|{z{{{{{zzzz{{{|{{{{yzz{zzz{{{{{|{{zy{{zyzz{{z|{{{{zzzzzz{{|{z{|{|{z{{zzzzz{{{{{||{z{zz{{{{z|{|{|{{{z{zz{{{||{{{{z{{z{{{{z|{{{z{{{{{z{z{{z{{{|{{|||{{z|{{|{||||{{{z{|z{z|z|{{}{||{|{{{{yzz|z|{{||{{zz{{{z{||{{{|}|z{{{|}|{{z|{{|{{|||{{{{{|||||{|||{{}{{||{|{{{||{|z{z{{{|{{{{||{|{{{||{{{{{{|||{|{z{{{{{{{{||{{|||{{{zzzz{{z{{|||{{{{zz|z{z|{z|}|||||{|{{|}||{|||||{{|zzz|{||{{|{{z|{z{yz{{{|{{|{{{z{z{zz{|{{{|{{z{zyzz{z{{{{}{{{{z{zz{zy{{z{{{{z{{{{{{{z|{{{{{{z{z{z{zzz{{{{{{{zyzyzzzz{{{{|{{{{{zzzy{xz{z{{{z|{zz{zzyzz{{{{|z|{{{{zzzzyz{{{zz{{{{zz{z{zz{{{{{{|zz{z{zzy{{{{{{{{{z{{zzzzz{{{{{{|{z|z{{z{{{z{z{{|{{{z{{zy{zz{{|{|{z{{{zzzz{{{{|{z{{{{zzz{{{||{{|{zz{{z{z{{||{{{{{{{z{{{{z|{||||{|{{{{{{|{{{||{||{{zz{{zzz{{{||{{{|z{zzzzz{{{z{{|{{{{{z{{{{{{||}|}|z{{z{{z{{|||||{{{|{z|z{{|{{|{||{z{{{z{{{{|{|{|}{{{{{{z{z{{{|||{{{z{{z{{z{{{{|||{{{zzz{{{{||{||{zz{z{zzz{{|z{||||z||z{|z{{||{{|{{{{{{{z{|{{|||{{{{{{{|z{{|{|{z{{{z{zzzz{{{{{{z|{{zzzzz{z{{{{{{{{{z{zz{zy{}z|{z{zzz{{zzyz{z|z{z{{z{{y{{zz{z{|{{{{zz{yzy{zz|{z|{|z{zzzzzz{zz|{{{{|{{zzzz{zz{|{z{|{zzz{{zzzz{{{{|z{zz{zzz{zz{{zz{{{{{{{z{{z{{{{{|{|{{zy{z{zzz{z{{{{z{{{zz{z{||{{z|{z{zz{zzzz{{{{{{|{{{{zzzz{{{{{|{{{zz{{{z{{{z{{{||{{|z{{z{{{{{{|{}{{{z{|{{{{{{||{{z{{{{z{z{{{|z|{}z{{{{{zz{|}{||||{zz{z{{z{}z{{{|{{z{z{{{{z|{{|{{|{{{{z{{{{|}{{||||zz{zz{{||{||{|||z{{{{{{{|{{||}|{{zzz{z{{|{}{{|{z{{z{{{{z{{|{||{{{zz|{zz|{{{{z{|{{{z{zzzz{||{|}}{{{{{{{zz||{{{||{{{{{{{{|{}{{||{{|zzzz{{|z|{{|{{{zzzzyzz{z{{{{|{zzzzyzz{{{{{{{z{zzzzzz|z{{{z{{{{{zzzzzzz{{z{z{{{zyzzyzy{{zzzz{{{zz{zzzyz{{zzz{zz{zzzzzzz{{{{{{{{{{{{z{{zzz{z{z{{zzzzz{zy{z{{z{{{{zzzzzzy{{zz{|z{zzzzz{zz{{{{{|{{{{zz{{zz{{{z{|{|{z{|zz{{|z{|{{{{zz{zz{z{{{|{{{{{|{zz{y{z{|||||{zz{|{{zyz|{{z{{|{|y{zzz{z||{{z|{||{{{y{z{{{{{{z|{z{|{{{{{{|{|||{{{zz{zzzz{{{{|{{{{zy|z{|{{z{{{|||{z{{z{{{||{{{||{{zz|z{{z{||{||{|{{z{zzzz{{{}|||||{{z{{{z{|{|||||z|z||{z{{{{|z|||z{{zy|zz|z|z{{||{{{{zz{z{{{{{{{{zz{zzz{zz{{z{|||{{|z|{{|{{{|{{{}{z{{zz{z{{|{||{{{{{y{{{{{{|z{{||{z{{zzzzz{z{z{{{{{zzyzzz{{{|z{zz{{{zz{z{{{{{{{|{{zzz{zz{{{{zz{{{zz{z{zzz{zz{z{|{zz{zzy{zz{{{{|{z{z{z{zz{{|{z{z{|zzzzzzz{zzzzz{{{zzz{{{zz{{{zz{{{zz|zzzzyz{|{z{{zzzzz{z{zzzz{{{{{{zzz{z|z{|{z{z{{zzzzzzz{zz|{{{{{z{z{z{zz||{|{{{|{{z{{z{{{{{{|{|{{{z{{z{{zz{{{z|{{{{{{z|{|}|zz{||{z{{{zzzz{|{|{{|{z{z{{{{{{{{{|||{{{z{{y{|||{{|{{|z{{{z{z{|||{||{|{||{{{{zz{|||||{{z{{{{z{|||{||{|z{|zz{{{|}{|||{{z{z|{{{{|{{{{|{{{{{|{z{{{{|{{|{{z{zz{z|{{{|{{{|{{{|{zzz{{|}{{|{{zz{zyz|{{{{{~|||||{{{{{z|}|{}{|{{{|{zzz|{|||||||z|z{zzz{{{|{{{{|z{{zzzz{{{{z||{{{{zyz{z|{|{z{{{z{{zz{{zz{{{z{{{{{z{zy{{{|{zz|{{{zzzz{z{{zz{z{|{z{zz{yy{z{{{{{{z{{zyzzzy{z{{z|{|{z{{z{{zz{|{{{{{zzz{|zzyz{{y{{||{z{zzzz{z{z{z{zz{z{zzzyz{|{{{{||{z{{{zzz{|{{{|{|zz{zzz{{{{|{{||{{{z{zz{{{{{|z{{{zz{{{zzz{|{{|{|{{z{{zz{{{{{{{||{z{z{{{{{{{||{|{{zzzy|{|{{||{|||{{{{{{{{{||{}{|{|{{||{{{{{{|z{||||{{z{{|{{|{{{|||{{zzz|{{{|{|||||{{{z{{{{||{{{{}||{|{z{{{|{|||||{|{|{{{{{||{|||}{{{{|{{{|{{{{{|{|{z{zz{z{{{||{||{{{z{zz{|{|||{{|{{{{zzz{y{{{{||}|z{{{zz{{||{|{|||{zz{{{{z{{{{z{{}{{{{zzzz|{z{{{|{|{|{{z{|{{|{{{||{{zz{z{z{|{{{{{|z{{z{{{z{|{{z||{{z{zzz{{{|{{z{z|{zz{zzz{{zz{|{z{zzzzzy{z{{{{{{{{{zyzz{z{{||z{{{{{|zzy{{z{{{{}|{{{zzzz{y{{{{{{||{{{yz{zzz{{|z{{{{{zzz{{{z{{|{z|{|{{zz{z{z{{{{{{{|zz{{yyz{{{{{z|{|{z{{zzzz{z|{{|||{z{{{z{{{{||{|||{z{zz{zz{{||{{|{{{z{{z{{|{{z{|{|z{{{{{{z{||{{|{|{{{{{|{{{{{||||}{{{{{zz{{}||{|||{z{z|{{{|||||||||{zz{{|{}{|||{|||{z{{{{{{||||{|{{z|{{{z{|{{{|||||{{{{z{||||}|{{{||{|{z{{{|||||||{z{y{{zzz|{||{}||{y|z{{{z|z|{{||z{{{{z|{{{|{{|}|{|||{||z{||||||{{{{{{z{{|{||}}||{{{{{{{{|{||{|{|{z{z{zzz||{{{{{}{zzzzz|z{{|{{|{|zzzz{z|zz{{z{{{zz{z{{{y{z{|zz{z{zz{{z{{z{{{|{{{{{{zz{zzz{{zzzz{{{{zy{zzzz{{{{{{{{zzzzzzz{{{{{{|{{yz{zz{zz{{{zz||zzz{zzzzz|z{{z{{{{{{zzz{{{{{{{{|z{{zz{{{z|{{{{||{z{zzyzz{|{{z{{zz{zzzzz{z{z{{|{{{{zz{y{{{{{{{|||{{{{{{{{{{{{{{{{{|z{|y{{{{{|z{{|zz{{z{{{{{|||||}{{z{z|||{{{|{{|||zz{z{z{|{|||||{|z{{{{zz||||{}}||{{{{||{{|{}|||||{z{{{{{{|{}||{||{|{zz{z|{|}|||||z{{{{{{{{|{|{|||{{{{{{{{|{||{||{{{{{{{{{{{||||||{{{z|z{{||{{}{|z{{z{z{z{||{|}|}||z|z|z{{||||}||{|z|{{||{{{|{||{|{{{{|{z{|{{||{|{{z{{z{{|{{{z{{|zz{zz{zz{z||{{||zzyzzzzz{z{z{{||z{{{{zzz||{{z{{zz{zy{zzz|{{{{{{{z{{zzzzyz{{|{{|{{yzzz{zz{{{z|{{{z{z{z{zzz{{|z{{{{{z{{{{z{{zz{z{{{z{{zy{{z|{{{{{{{z{z{{{{z{z{{{|{{z{{{z{z{{{{z{{{{z{zzy{y{|{{|{|{{{z{{y{zzz|{{{||zz{z|zzz{{|||{||{{z{{zz{{}||{{{|zz{{zzz{z{{|{|{||{{{|{{z{|{{}{||{|{{||{||{|||||}|{{{{z{{|||||{}|{{|||{{{||||{}}{{z{{{|{{|{||{|{}}|{|z|{z||||||||{{}{{{{z{|{|}||{|{|||{z{|{}|||||{z{|{{{{|||||{{|z|{{zzz{{{|{|{|||{|zz|{z|{{|{{{|{{zz{z{z|{{{{}{|{|z{{z{{|||{|{||{{{|{{z{|{|{{||||{zy{{{{|{}||{|{{{zzz{z{{|{|z{|{|{zzzzzz{{{||{{{zz{{{zzy{||{{{{{z{{{{z{z{z{zz{z{z{zyzzz{zz{{{{{{{zzzzzyy{|z{{{|z{zz{{zzy{{||{|{{z{zzzzzy{z|z{{{{|{zz{z{zz{|z{{{zz{{zz{{zz{{{z{||{z{yzzzz{|{{z{|{{z{{{z{y|z{z{z{{|{zzzzzz{{{{{{{{{zz{zzz{zz{{{{{{zz{{zzz{{{|{{{{{|z{z{{zz|{{{{{{{zz{zz{{{{{|{{|{{{{{{{{z{{{|{{{{|z{{|{{{{|z|||{||{{z{{{{{{|{|||z{|{{{{{{z{|||||{}|z{{z|{z|{{z{||||{{{{|{{{|{|{|}|{{{|{z{{|||{|||{|{{{{{||||||||{|{{|{{z{zz||||||||{zz{{{z{||||||{|z{|zz{zz{||z{{{{{{z{y{{{{{{{|||{|z|{{|{{||{|{|||||{{z{z{{{{{||{||zzzz{z{|z|{||}{{{{zzzz{{{{{||{{{|zz{z{z{z|{{{|{{{|zzz{{{z{z{{{{{{{yz{z{{{zz{{{{{zzz{zzzz{{z{|{zzzzzzzzz{{|y|z{zzz|zzz{zz{{{{|zz{yzzyzz{{z{{z{{zz{{zz{{{{{{{{{{zz{zz{{zy{z{z{{zzzzz{{zz{|{{zz|{{zzz{{{{|{{{|z||yzz{{zzz{z{{{{{|{yz{zzz{{{{{{{||{{{z{z|zz{{|{{|{|zz{{zyz{{{z|||{z{zz{{{|{z{{z|{|z{{z|{z{{||||{|||z{z||{{{}{|{||||{{|{zzz||||{{||{z{{{{z{{}{|{|||z|{{{{{{{{{||}}||{{{|{{{{|}|||}||{{{{zz{|{{{{|||{{z|{{|{{{{{{||{||{{|z{{|{}}{|||z{{{{{z{{|z|{|||z{z{{{{{{{{|z{z{{{{y{zz{zz|{{||||{{zzz|z{||}{|{|{|{||{zz{{}|{{{|z{zz{{{z{|{|{{{|{{zz|z{z{{||{{|{{{{zzy{z{{|{{z||z{|y{{{y{|{zz{|{{z{{{{zz{{{zz{{{zyzz{{z{{{{{z{{{zzzzyzz{{||{{|{{{zzz{zz|z{{{{{{|{{{{z{{z||{{{z||z{zz{y{zy{|{{{{z|{yzyz{z{{{{{|||{{{zzzzyz{{{{{{{{z{z{zzz{{{{{{{|{{{{zy{z}|{{||{{{{{{yzzzz|{{{||}{{z{{z{zz{{{||{{|{{{zz{{{||||{}{{{{{{{z{}{||{||{{|{{{{{z{{{{||{|{{{|{z|{||{|{|{||{{{{{|z{{{{{||{|{{z{{{||}}|{{|}{{{|{|{{{{||{|{|||{{{{{{{{||{|||{z{{{{|{{{||{|{|{{{{{y{z{{{{{|}||{|{{{{z{{{{{{{||z{{{{{z{|{{|||{{{|{{{|{|||{||{|{{{zz{z{z{|{{{zz{z{zzz{{{{{{{{{|{{z{zzz{{{{{|||{{z{z{z{{{{z{{z{{zyzzz{y{zz{|zz||{zzyzyzy{{{z{{{|zzzzzzzyz{{{z|{{{zz{zyzzz{{zz{z{{zzzz{z{z|{{z{{|zyz{zzzyzz{zzzzzzzzzyzxy{{{z{|{{zz{{{zzzz|{{|z{{{{{zzyzzz|zzy{{{{zzyyyzyz{zzz{{{{zzzz{zzz{{{{z{zzzzzzz{z{z{{{{{zzzzyzzz{{{{z{z{{zzzzz{z{z|{{{{{zzzzz{z{z{{{{z{{{zz{zz{z{|{z{z{|z{zzzzz{zz|{{{{{{{zzzy{{{{{{{|{||z{{z{zzz{{{|{|{|{{|{{z{yz{{|{{||{z|z{{zz|{|{{|||z{|zz{{z{||{||{{|zz{zzz{{|{|{|||zz{|{{{z{||{{{{{{z{{zz{z{|{|{|{{z{z{{zz{{|{{||||{zzz{z{z{{{|z{{{}{z|zz{z|{z{{{||{{{zzzzy{{|{{||{z{z{{z{{{{|{|{|||{{{z{zz{{|{{{}{{|{z{{zz|z{{{{|{{{zzzzzz{{z{z|||{{{{zy{y{z{{{|{|{z|{zzzy{zz{{{{{|{zz{zyzz|{{zz{z{zzzyzzz{{{{{{z{{yzz{z{zzz{{{{||{zyzz{y{{{{z|{z{{{zzzzyzzzz{{z{{{zzz{zzyzzz{zz{{zzzzy{zyz{zzz{{{zzzyz|zz{{zz{{{|{{zz{{zzz{{z{{z{{{y{zy{z{{{z{{{{zz{zz{zz{{z{{|{{{zzz{z{{{{{{{}{{{z{z{zzz{{|{{{|{{{zzz{{{z{{{{{|{{{z{{zz||{{|{{{{{z{{{{{z{{|||||{{{{{z{{z||{{{{||{z{z{||z{|{}{|{||z{{{{{{{{zz|||||{z{{z{{|}|z|||}z{|{z{zz{|{{{||{zz{zz{{{{|{{{|{|{{{{z{{{{{|{||||z{zz{z{z{||{{|{|{|{{{{zz{||||{|{{{{{zzz{{{{{{|{|{|z{{{{{||{|{{||{{z{{z{{{{{{||||{{zzzz{{||{{|{{{z{{{zzzzz{|{zz|{{{z{{z{z{{||{{{{{z|zzz{{{{{z{{||{z{z{{zz{{{{{{zz{{zzy{z{{z|{{{{{zzzzzy{z{{{{z|{{|{z{zzzzy|y{|{{z{{{zzzzyz|{|{{{|{{yzyzzzy{zzz{{{z{zz{zz{z{z{{{{zzz{{{{{z{{{z{{|{zzz{yzzz|||{{{{{z{zzzz{z{{{z|{|{zz{zzy{z{{{{{{|{{zzz{z{z{{{|{{{{|z{z{{z{||{{{{{{{{{{{{{z{||{{{{|{zzy{zy{{{{|{{||z|zz{||{{{|{||||{{z{{{zz{|{|||||{{z{{{{z|{{z||{|}|{{|{{{{|{{||||}{z{{{{{z}||{||||z{{z{z{{{{|z{{{zz{{|z{{z{{|z|||{{{{{{zz|{||||{|z{{z{{|||z{{{|||||zz{{{z{{||{||{z{{zzz{z{|{|{|{{|{||{{{|z|{{{{|{|{{|{{z{|{|{|{||{{{z{zzz{{{{||||{{{{{zzzz{{|z{||z{{z{yzzz||z{{{{{z{{{zzzzz{zz|{{{y{z{z{{{{{z{|{{|z{zzzz{{{{z{{||{zzz{{yz{{z{{{|{zz{{y{zz{z|{z|{{{{zzzzzz{|z|{{||{{zz{zzz{{{|{{|{|{{zz{zzzz{{{{{zzzzzzz{zz{{{{{z|{zzzzzz{|{|{{{{{zzz{zy{{y{z{{{{|zz{zz{z{z{{{{{||{z{{{zyz{{{{{{{{|{{|zzz{{{||{||{zz{{{zz{{|{{||{{{{{z|{z{{{{|||}{{{|{{{{{{{{|{|||{{{{{z{|z}|{||||||{{{zz{{||{{|||{{||{||{{|}{|||{|{{{{{z{{|||z|}||z|{{{{{{|||||||{{{|{{{{{}||}||||{z{|{{{}{{{||||{|{{{{||{{|{{||{|z||{|z{||{||{}|{{z{yzzz{{{{{{}{|{{{{||{z{}|{|{}{{{{|z{z{|z{{}{|{{zy{z{z{{|{z||{{z{zzz{z{{{{{z{{{{{z|zzzz|||{{||{{yzzy{{z{{{{{|{{{zz{zzz{{{{{{{z{z|zz{{{y{{{{{{{z{z{zzz{|{{z{{{yz{zzzzzz{z|z|{{{zz{zz{{zz{{z{{|{{{{zzyzz{{{{{{{{|{zzz{yzz{z{{|{{zz{z{{zz{|z{z{|||zzzzz{z{{{{{|{{{zz{{zzz{{{{|||{{zz{{z{{{|z|{{{{{{{z{zzzz|{{{{{z{{{zz{zz{||{{{||{zz{zzy{{|{{{|{|{{{{||{z{{{||{{{{{{z|{{z{{{|{|}|{z{zz{z{|||||{|||{|{{z{}{||{{|}|{|{{{|{{{{{|||||}z{z{z{{|}|{||}||{{{{{{{|||||{|{|{{z{{{z||{{|{{|{|z{|{{{||{|{{{||z{{z{{{{|{{{|{|{{{{z{{{{{||{{|{{z{zz{{z{|||{||{{|{z{{{{|{}{{|{|{z{{z{zz{|z{||{{{{{z{{{{|z{{{{|{{y{zzyzy{{|{{z{|{{{yz|{y{{{{{{{{zz|z{zzzz{zzz{|{zz{zz{z{{z{|{{{|{{zzzz{z{|zz{{{{zzzzzzyz{{|{{{{z|{zzyzz{{{|{{z{|{z{zz{zz{||||{{{{{zzyzzz{{|z{|{z{{zzzz{zz{{|{|{{yz{zz|zzz|z{{{{{{{zz{yzz{{z{{|||{z{{zz{z|{{|{{{{{z{zz{{z|{|||||}{z{{{yzyz{{{{|{{z{{z{y{z|||{{|}{z{{z|{{{z|{{{||{{{{{{z{z|||{{}{|z{{{{{{|||{{||||{{{z{{{z{||||}|||{{{{z{z||||||}||z{{{{{z{|{{|{||{{{{||{{{}{||}}|{z|{{{{{|{|{|}|{|z{{{z{{|z{{}|{}|{{{||{|{|{|||{|z{{z{z{{{||{{|}|}{{{{{{{{|{|z|||{{{{z{{z{{|{{{z{{zz{z{zz{{|{{|||z{{z{{z{z{{{|{{|{{z{{{{y{z{||}}{{{zzy{{z{{zzz|{{{zzzzzzyz{{z{{{{yz{z{zzzz|{{z{||zzz{yzzz{z{zz|{{{z{{{zyz{y{|z{z{zzzz{zyzzzz{{{{z{zzzz{zzz{z{{{z{{z{{zzzz{{|{{{|{{{zzzz{zy{{{z{zz{|{{zyzzz{z{{|z{zz{z{{{z{{z{z{}{{{{z{yzz{{{zz{|z|z{zzz{z{{{z|z||z{{zzzzzzz{z{{{{{z{zzz{z{{{{z{{{{{{zzzz{{{|{{{{{{z{{{z{y{{|{z{||{z{{{{{|{|{||{{|z|z{{z{{{z{|{|{|{{{zzzzz{{}z{{}{|yz{zzz{||{z||{|{{|{{||{{|||{{{|{z{z{{{{{}{{||{|{{{{{{{{{{|{{{{{{{{{{{{{|||||z{{|{zz{{zz||{||~|{z{{y{{{z{{{{{||{|{{z{{{z{{|{z{||{z{{zz{y{{||{{{{zz{{zz{y||z{|{{|{{{{|zzzz{z|{{{||{z{{{{zz{{{z{{{zzzz{zzzzz|{{{{|{zzzzzz{{{|{{|z{zz{zzyz{{{{{{||{{zzzzzzyy{{{z{{{z{{yzzzz{yz{{{{{y{z{z{z{{{zz{{{{{{zzz{zzz{z{{{z{{zz{zzyz{{z{{z{z{y{zzzyzz{zzz|{{{z{y{z{{z{zzz|{|zz{zzzzzzzzz{{{z{zzz|yz{{{|{{{|{zy{|zz|{{{{{{z{|{z{{zzz{{{|{{{{{{{{{zzzz{{|{|{{{|zz{z{{{{|{{{{||zzzz{z{{{{{|{|z{zzz{{zz{z{||{|||{{{{zzz{{{{|{{{}{z{|{z{{||{||{||{{zz{{{|{||{|||{z{{zz{|{{|{z|||{{{{{{{{{||||{}}}|{z{z{{z|{{|||{||{{z{zzz}{{{||{|{{zz{|z|{|{|||{{{z{zz{z{{}z|{||{{{z{zz{{z|}|z{{|{{z{{zzzz{{|z|{|{{z{{{{zz{{{{{|{|z{zz{z{{{|{{}||{z{zz{z{{{{|{{|{{|{{zzzz{{{{{{{{{{{zz{yz|{{{{{||{{{z{{{zz{{{{{{{z{{zzzzzz{{z{zz{zzzzzz{{{z{{{{z{z{zz{yzz{z{|z{{|{z{zzzzz{{{{zz{|zzzzz{zz{z{{|z||zzz{zyzzzz{z{zzzzzzzzzzz{{{z{|{|zzz{{{{z{{zzz{|{z{z{zz{z{z|{{{{|{{{zzz{{{{{{{{{{zz{{zz{z{z{{{{{{zzz{{zzz{|||{}|{{{yz{{{z{|||{|{{zz{{|{zz{{z{z|{{{{|{{{{{zz|||{||zz{{|{{|z{{|{{|{{zz|{zz{{|||}{{{|{z{zzzz{||{|{}{{zz{z|{{|||{{{|{|{z{{{{|{}|{{||{{z{{|{{||{{|||{}|{{{z{z{{|{{{{|}z{{{{{z{z|||{{||{{{z{z{{|{|{|{||z|zz{z{{{{{{|{{|{{{{zzzz{||{{|{z{z{{{{z{{{{z{{{|{{z{{{{z{{{{{|{|{{z{z{{z|{{{|||{{{{|{{z{{{z|{y{{{zzz{yzzzzz{{|{|yz{zz{zz{|{y{{{z{zz|z{zzz|{{{{{{zzzzzz{{{{z{{{z{{zzzzzz{{{{{z||{{zzzyzzyz{{{{z{{zz{zz{zz{{{{{{|{{z{zz{zz{{z{zz|zzzzzzz{zz{|{{|{{{z{zzzzz{z{{{{|{zz{zzz{{{{{{{|{{|{{zzyz{{z{|{|z}{zzz{zyz|{{z|z|{|z{{zz|{z{|{||||zzzz{z{{{|||{{||{{z{{{{{{{{z{|{|{z|{{{|{{|{|||{|{z{|{{|{||{{||||{{z{zzz{}|||}{|}|{{{|{{z|{{{||{|{{{{{{{}||{{|||||{{{{{{z{||{{|{|{||||{{z|{{{{|{{{{{{|z{z{||{{{|||{{z{{{z|{{}{{||{{|{z{{{z|{{{{{|{{z{z{|{{{{|z{|{{{zzz{z{{{||||||{{|{z{{z{{{{|{{|{{{{{z{{{{{|{{||{{{zzzz{{{{z{{{{{{{zzzz{z{{z{||{{z{zyzzy{z{|{{{|{zy{yzzzz|{z{{{{{{{z{{zy{{{{{{{{z{z{z{y{{zz{z{{|zzz{zzzzzz{z{{|{zzzzy{yz{z{{{{{z{{|{z{zyzz{||{|{yz{zzz{zzz{{{zz|zzz{z{{zz|{{z{{|zz{{zzzzz|z{{{zz{zzz{z{{{|{zzz{{{zz{zz{{{{|{{|{|zzz{z{{z{z{{{{{|zz{{zz{z{{|{{}|{{{{{{yzy{{|{{{{{{{zz{{z{{|{{{|{{z{zz{{{{{|||||{{{{z{|{|{{{{}{|{{|zz{{{z{{{}|{{|||{{{{{{{{}|||||{{{z{z{{{{{z||{|||{{{||z{{||{{|||||{{{{{z|{|{||||{z{{{z{{||{|||||{{z{{{z{||{|||||{{zz{{{{||{|z||{|{{{z{{{z|z|{{{{{z{z{y{zz{{|z{|z{{zz{{z{{|{|{|{z{{{zz{z{{z{{{z{{zz{zzy{z{{{|{|{{zy{{zz{yz{{{{z{{{z{zyzzz{{{zzz{{zz{{zz{{{|{|{{{{{zzzz{yz{{zz{|{zzzz{zzzzz{{{z{{zzzzzzxy{|{{z{{{z{y{y{zz{zz{{{{{{y{z{z{zzz{{z{{{{{{zzzz{zz{zzz{{{zzzzzzzyzzz{{{{{zzzzzzyz{zz{y{{|{z{{{z{{{z|{{{{{z{zzzyz{{z{z|{|{{z{zz{zy{|{{{{z{{zzzz{{zzzz{{{z{{{zz{{{z{{{{z{{|{{z{{{zz{{{{z||{zzz{{|z{{|||{|{|{z{{{z|z||{|{|||{z{{z|zz{{|{|{||{yzz{{{{{|{{{{|}{zzzz{z{{|{{|||||z{{{{{zz|{{{{|||{{{z{z|||||{{{{|z{{{z{z{{{|{{|||{z{z{{{||||{{|{{{zy|z{z{{||{{|{z{{|{zz{{||||{{{{z{yz{z{z|{{{|||{|{{{{{{z|}{||||{{z{z{zz||{{{}||{{zzzz{z{{z{{{|{{{|{{{z{{|{{{{{|{{z{zyz{{{{{{{{{y{{{{|zz{{||z|{z{zz{{zz{{z{{{{|z{zzz{z{z{zy{{{{|{zzz{{{{z{{{{{{{{zzzzz{{{{{|{z{{z{z{zz{zz{{|{{{{z{z{{zzy{{{{{|{{z{zyzzzz{{z{{{}{zz{zz{zz{{{{{{|{{z{z{zz{z{||z{{{{{z{{{{z{{{{{{{{{z{zz{{{z{{{{|{{|{{zzzz{{{}|{|{{{{yz{zzz{{{|{|}{{|y{{{{{|{{|{|||{{|{{|zz{||||{{{z{{{{z|{|}}{{{}}{{z{{{zz{{{||||||z{{{{{{|{||}{{||{zz{{||||{|||||||z|z{{z|}|||||{{{{{{{|{}||}z|}{{zz{|z{{||||{||||{z{|z{||{{}{}||{{{z|{{{{{{||||||{|{{{{{{{{|{{|}z{{{zyzz|{{z{|{{{{z{zz{zz{|{z|{|{{z|{{z{z{}z{{|{{yzzz{zz{{{{{{|z{{{zzzz{{|{|zz{|z{{zzzzz{z{{|{{{{z{zzz{z{{z{z{{{zzzzzzz{{{z{{z|z{z{zzz{z{{z{y{z{yyzzzzzzz{zz{{|z{{zzzzzz{{{z{{{{{z|{yz{z{{|{z||{{zzzzz{{{zzz|zz{{z{zzzzzz{|z{{{zzz{{zzzy{{{{|{{{{z{z{zz{|{z{{{{{{z{zzz{{{{|{{{{|zz{zzz{{|||{{{|{zzzzzz{zz{{{||{z{zz{{zzz{{{{{{|{z{zzz{z{{||{z|z{{z{{{|z{{|||||{|z{{{{{|{{|{{{{z}{{{{{z{z{{|||{|z{{{||zz{||{{||{{z{{{z||z|{{{{||||{{{{{{{{||||||||z|{zz{|{{{{|{|||{{zz{z|||{||{|{{{z{{{z{{|{{{|{{|{zz{y{{z|{|{||{{z{z{z{z||{|{|{{zzzzzzzz{{|{{{{|{{z{{yzyz{|||z{zz{zy{{z{{{{{{{|{z{zz{zzz{{{|{{{zzzzy{zyz{z{|z||{z{{yzzzz{{|{{{|{zyzz{zz{y{{z{|{{z{yzzz|{{{z{{{{zz{{zzzzzzz{{{{{{{z{zzz{z{{{{z{{zz{zzzzyz{z|{|{{{zzz{y{yyz{{{z{|{zz{zzyz{z{{{{{{|zzzzzzzzy{{{{{{{{z{{zzz{zz{{{z{{{zzzzzy{{{{{{{}{z{{{zz{{{{z{{{|{{{zzzzzz{{|{{{|{z{zzzyzz{|{{{|||{zz{z{zzz|{|z|}{z{{{{{z{z|{{{|{{|{zz|z{{z{||{{{zz{{{|{|z{|{|||||{{{{{{zz{{|||||{{{{{{{{z||{|{{}{|{{zz||||{{||z{|{{{{{|{{{}|{|||{{z{|{|z{{{|||{|{{z{{{{{{|{{|{|||{{{{{z{|z{||{|||{z{{zzzzz{{{{|||z{{zzzzzz{{{{{|{z{{zyz{y{{{{||||y{{{z|zz||{{|{{}{{zz{zy{{{||{||{{z{{z{{{z{{{{|||{{{{{{zz{{z{{z|||{{{zzzy{{|z{}|{{zzzz{{{z{{z{{{|{{{yz{{zzz{zz|{{{{z{z{{z{zz|{{{{zzz{zz{{{{{zz{{z{{{{z{zzz{{{{z|{{{{z{{z{{{{{{{{{{{{{{{{z{{{{{{{{zz{zzz|zz{{{{{{{{z{z{{zz{{|{|{|{zz{{zzzzz{|{{{z|{zzzzz{zz{{{{|{{z{{zzzz{{{{{z|||{{{{zy{z{{{||{{{{zzz{{{{{{{z{{|{|{z{{zz{{|{z|{|{|{{z{{{z{||{{{{{{{{zzz{|||||{|}||{{{{{z{{|}||{|{{z{|{z{{|||{|||{|{{{{{||{|{{{||{|{{||||zz~|||}|{|{|{{{{{|{{{|}|||zz{{|{{{|{{|||{|{z|{{z{|||{{{|||||z{{{{{{{z{|{|{{{{z{{{{||{|{|{{z{z{{zz|{||{z||{|{{zz{{{||{{z{{z{{z{{{{|{z{{{{|{{{zz|{||||||{}{|{{z{zz{z|{zz||{{z{{yzz{{z{|{{{|{{{zzz{zz{{|{||{|{{zzzzz{{z{z|{{{{{zyzz{{{z{{{{{zz{zzzz{{{{{|{|{{zzzz{zzzz{{|{{z{z{z{{{yzz{{{{{|{z{zzzzz{zzzz|{z{{zzzzz{z{z{{|{{zzzzzzzz|{{{z|{|{|{{yz{z{{z{{{||zzz{{z{zz{{|{z{}{{zz|{{z|{|{|z{{zz{{{{zz{{{{|{|{zz{|z{{z||{{{||{{z{|{z{{{{|{z{{{{{zz{{{{z{{|{|{{y{{{{z{{||||{|||{{{{{zzz{{||{}{{|{z{zzz{||||||||{{{|{z{{{|{{|}||}{|{{|{{{|z||{{{|z{||{|{|||{{|||{y{{{{{z{{{|||{}{{z{{{{{|||{{||{{{|z{{{{{{{{{{{|{z{zz{{{{{{|{{|{z|{zz{{{{{z|z{{{|{zz{zzzzz{{{{||{|z{{yz{|{z{{z||{{{zzzz{z{{z{|z{{zzzzz{{{{{{z{{{{z|zzzzzzz{{|{{{{z{zz{zz{{{zz{|{|zzzz{z{zz{zz{{{{zzzzzzz{zz{z{|{z{{zzyzy{{|{z{{{zzzzyzyz{{{{{z{z{{z{zyzzz{{|z{{{z{z{zzzzy{{{{z{{zz{z{z{zzzyz{{|{{y{z{zzz{||{zz{{{{{{zzzyz{{{{|{|zz{yzz{{{{{|{{{{zz{z{{{z{{{z|{{z{{{{{z{y{{|{|{{{{{zzz{zz{{{|z{}zzz{{{zz{|||{z||{{{zz{zzz{|{|{{||z{{{zz|z|{||{{||z{{z{zz{{||{{{||zz{z{{{z{|{|{{||zzzzy||{{{{|{{||{{{{z|z|{{{{{{|||{{{z|z||||||{||{{{{z|z{|{{{||{||{z{z{{{|||||{||{{zz{zyz{{|||{|{{{zz{{{z{|{{|{||{z{{zzzz{{|{z{{|{zzzzz{z{{{zz|z{z|zzzzz|{{||{||{|z{z{zzz{|z{{{|{zyzzy{y{zz{{{{{|{zzyzyz{{{{{{{||z{zzzzzzz|zzz{zzzz{|{{{z{{{{{|{zzz{zzzzy{zz|z{{{zzz{zzzz{{z{{{{{{yzzzzyzzy{{z{{{{zz{zzzzzzzzz{{zzzzyz{{yz{zzz{{{yzyyzzyy{{zz{||{{z{zz{zzzz{{z{{{zzzz{zz{z{{{z{||{{zzzz{{z{{{{{||zz{zzzzz{{{{{|zzz{{{z{{z{zz{{|{{{z{{{{{z{zzz|{|{z{z{z{{z{{{z{{{zzz{z{{z{{{|{|{{|{{|z|z{{{|{||{{||{{z|{{{{{|{||{||z{z{{{{{||{{{|{||{{{{{{z{{{{|{||{{{zz{z{|{{{{||{{{{{{{{{{{|{|{{{{{{zzz{{|||{||||{{{z{{z{{z{||{|{{z{|{{{{|{|{}||{{z{{|{z{{{|{|{{|z|zzz{{{{{{z|||{{{{{z{{z||{z{|{z{{zz{z{z{}{|{{{zz{{z{{z{{{{{z|{{z{{zzyz{z{{{||{{zzzz{zyzz{z{z{|z{zyz{{zz{|{{{{z|zzz{zzz{{{{{z{{zz{y{{zz{{z{z{{|{zz{zz{zz{{zzz||{{zy{zz{y||{zz{zzz{zz{zzzz{{{{{{{zz{yz{zxzzzz{{z{{zzzz{{z|{{{{z{zzz{{y{z{{{|z{{{{{|{{zzz{{zzz{{z{{{zz{{{zyz{z|{|{{{zzzz{{z{|z{{{{{z{{zyzz{{{{|{{{z{{{z{{{z{z{{|{z{{{{zz{{{{|{|{||{{{|{{{{|z{{{||y{z{|{{z{|{{{}|{z{{{{{z{|||{{||{|{{{{{{z||||{||{|{|{z{z{{{{|{||{{{{|{{{{{}||{||||{{{z{{||{|{||{|{zz{|{z{{||||{|||{{|{{{{{|{{{{||{|zz|{z{{{{{{{{{{{{{zz{{{{||||z{zzzz{z{{{||{||z{{{z{{z{zz{|z{|||z{{{{zyz{{|}{|{}|{zzzz{yzzz{|{{|{zzzzzzzz{|{{{{{z{zzzz{z{zz{{|z|zz{zy{z{{z{z{{|{z{{{zzyz{z{{{{z{zzzzyzzz{zz{zyz{zzyzzy{zzz{{zz{{zzzzz{y{{zzz{{{{{z{zy{{zz{{{z{|{zzzyzz{z{z{zz{{{{zzzzzyzz{z{{|y{z{zzz{zzz{z{{{{{zzzz{{z{{{z{{{{{zzzzyz{{{|{{z|z{{z{{zyy{zz{{{||{{{{z{{zzzz{|z{|{{{{zz{yy{{{|{{{{z{zz{|z{{|{{z|{{z{z{|z{{{{{}{|{|z{z{z{{y{{{|{{|||zz{|{{z{~{{{||{{z{{z{z{|{{||||{{{{{{{||{{||{||{{{{z{{{|{|{|||{{{z|z{y|{||{{{|z{{{zz}|z{{{|||{zz|{{{{{{z|{{|{{{{{{{{zzzz{|{|{{{{|{{{{zzz{{|{|{{{{{{z{z{z{{{zz{z{{z{{zz{{z{{z|{|{{{zz{y{{z{|{||||z{z{zzzz|{||{{{|z{z{zzy{|{{{{{{z{zzyzzzz{{|zz|{{{{zz{{zz{{z{|{{{zz{yz{zz{{{zz{{{{zzz{{yzzzz{{{{|z{zzzzzzzz{{z{{{{zzzy{zz{{{{{{z{|z{{yzzzz{{{{{{|zz{z{zzzzz{{z{{{z{zyzzzzzzzz{z{{zz{zzz{z{{|{{{{z|zz{zyzz{{{{{z{|{{zzzz{z{{{{{{z{z{zz{yzz||{|{|{zzzz{zz{{z|{{{|{{zz{z{zzzz|{{{{{{{zzz{zzz{||{{{|{zz|{{zzz{{{|||||zz{zz{{z{{{}{||{{zzz{z{{z{{|{||{{z{{{z{{|}||{{|{{{zz{z{z{||{||{|}zz{{{{{|{||{z|{|{{{{{{z||||{|||{{zz{zz||{|{|{{{|{{{{{{|{{{|{||{{{zzz{zz{{{{z{z{{{{{{z{{{{{{z{{{{{{y{zzz{|}z{{{|{{y|zzzz{{{z{{{{{zzz{{zy{{{{|||}zzzzyzzz{{|{zz{{z{{{zzy{z{|{{{z{z{zzz{{zz{{|{|{{|y{y{{zz{{|{|{{{zy{z{{z{z{z{z{{{z{{yz{y{zzz{||z{zzzzzyz{zz{{{{{|z{z{yzz{z{{z|{zz{{zyyzzz{{{{{z|zzyzz{z{z{{{z{{{{z{{zyyz{z{zzz{z{zz{z{zzzz{z|{{{{zz{{{zz{{{{{{{z{{{z{z{zz{{{z{{|{zzzzzyz{{{|z|{|{z{{z{{yy{{{{{||zz{z{z{zz{{{{{{{|{{{zz{{||{{{{|{{z{{{{z{{|||{{|{{{{|{{zz{z{||{|||{zz{zz{z{||||||{|zzzz{{{{{{|{||{|{zz|{{{{|{{||||||z{z{{{{}|{||{}|{|{{{{{||z|{{||{z{{z{{|||{{||}{||{{{{|{|{{{||||{{zz{{{z{{|{{{||{z|z{{z{{|{zz{{||{{zzz{y{{|z|{||{{|zzz{z{z|{{z{|{z{z{z{{{{{z{|||{{zzzzzz{{{{z{||{zz{zz{|{{}z{z{|||{{{{zz|{{{{|{|{{zz{zzz{|z{z|{zzz|{z{zz{z{z{zz{{{z{zzz{z{{|{{z{{z{zzzzz{{{{{zz||z{{{zyz{{{{{{|zzz{zzzzz{{|{z{{{{zzzz{zz{{{z{z{{zzyzzz{zz{y{{{|zzzzzz{{{{{{{|{{z{zzz{zzyz{{z{|{{y{zzzz{{{{{{z{{||z{{zzzzz{{|{||{y{zz{z{z{|z{{{||{{{z{z{{{{|{|{{{z{z{zzz{{{{{{{z{|{{{{{z{{{{{|{}{z{{{z{{z{{{|{}||{{{{{zzz{|z}{||{{{{z|{{z|}{{{|{|{{|z{{{{{{{{{|{{{{{{|{||z}||||}{|{{{|{{|{{|||||{{{{z{{{{{|{{{}{{{{{{{{z{}|||||{|||z{|{zzz||{{{|||{{zz{z{||{{{{||z{{zzz{{{{{{|||{|{z{}{zy|{{{{|||zz{zzz{{{|{|z|{{{{zz{{{z|{|{|}{{z{{{z{{{{{{||{|{|zzzz{zz{{{|{{{{{zyzzzz{zz{{{|{{z{{{{{{y{{|z{{{z{zzzzyz{{z{{{z|{zzxzzy{z{{||z|{{{{zzzzzz{z{z{{|{z{y{z{{{{{|{{{{{zzzzzzzyz{|z{{|zyzzz{z{z{{{z{|{{z{{z{zzz{{{z{{{{|zz{zz{zz{{{{|||{z{z{{{z{z|||{|{zz{zzzz{{|{{{|{||z{z{yzz{{z{{|{z{zz{{zz{|{||{{||{{{{{{{{{}|{||{|{{{{|{z{|{{{|{||z{{{||{z||{|{|}||{{{z{z|{||||||{{{|{{{||{}|{{}|}|z{|{{{||{}z}|||}|{||{{{{|~{||}||{{{{{{{||{{{}|{|zz{{{{|{|{||||{|{z{{z|{{{|||||||{|z{{{z|}{||{}z{zz{z{{z{|{|||{{{{{z{zz{z{|{{|{{{{z{|{{{{{||{z{{{z{{{{zz{z{{{||{{zzz{{{z{z||{{{|{z{zzzzz{{|{{{{{{z{y{{zz{{z{{{{{{{{z{{zy|{{z{{{|{zzy{zzz{{{zz{{{z{z{{{zzz{z{{{{{z{zz{yz{{{{{z|{{{yzz{{zz{z{z{{||zzzz{z{z{{{|z{{|zz{z{zzy{{z{{{{{{z{{zzzyz{{{zz{|zzzz{{zz{z{{z{}{zzz{zzzzz{{z{{||{{{y{z{zz{z{{{{{zzzz{zz{z||z|{||{{{zzz{z{|{{{|{||zzz{{z{{{||{{|{y{{{{z|z{||{{{||{z{z{z{|{{||}{||{{{{{{{z{{{{|{}||{{z{z{zz{||{{z|{z{zz{{{{{||{|||z|{zz|||{|{{{{||{|{{{|z|{}|||}|z{z{{z{{||{|||{{{|z{{{|z{{z|||{|}{{{z{|||{{|{||{|{|{z{|{{{{{|{|{|{{{{{{z{z{||||{|{{{z{z{zz{{||||{zz{{{z|{{|{{|{{{zzzzzzz{{||{{|{|z{{z{zzz{{{z{{{|{z{{{yzy{{||z{{|z{yzz{{z{{{{z|z|{zzzz{{{zz{{{{{||{{zz{{z{{{{z{{{zzzz{{y{z{{{{{{|zzzzzzzzz{{{{{{{|zzzz{zz{{|{z{||z{{{zzzz{{{{{{{{zz{{{y{zz{{{{{{z|zz{zzz{z{yy{z{{zz{{{{zz{z{{|{{{{zzzzzy{{{{{{{{z{{{zz{{z{{{|{{{{{{{{zzz{||{{z|{|{{{{zzzz{||{{{||{{{{zz{z{{||{{{{{{{{{{z{{|{{{{{{{{{{{|{{{{{||||}z{zz|{|{{{{{{||}|{{{{zzz||||||||{{{{{{{{{}{|{{}|{{{|{{{{{|{||||||{|||{{{z|||||}|{{{|{{z{|{{||{|{|zz|{z{{{|{{|{|}|{{{{|z{{{||}|{|{{{{{{{z{{{{{{|{{{{|z{z{z{{}{|{{zz{zzz{z{{z{|||z{{|z{z{{|{|{{{{|{{z{{z{{{z{{|{||{{{z|z|yz{{{{|{|{zz{zz{{{{{{{{{{{|{{z{{z{z|{{{||{zzz{{zz{{{{{|{{{zzzyz{z{{{{z{{z{z{z{{z{{{z{z|{{zz{zzz{zz|{zz{z{{zy{z{{{|{z{{{{{zz|zzzzz{z{|{||{{yzzyz{zzzzz{{{zzzzz{zzz{{{zz{{{{y{z{z{{{z{|{{{|{zzy{zzz{z{|{z{|{z{zzy{z{{|{z{{{{z|z{zzz{{{{{{|zz{{z{zzz{{|z{}{|{{|z{zzz{z{{{{||zz{{z{{z|{|{{||{{{z||{{{{{{|}|{||||{{z{z{|{|||||{{z{zzz|{{|{{|{z}z{{|{z|||{|{{|||{{{z{{|{|{{}|{}|{{z{{z{z||{{{|{{{{{{{{z|{|{{|||{{z{z{{|{{{{{||||{z{{{{{{{|{{|{|{{|z{z{|z{||||||{{z{zzz{{{||{{||{{{z{{zz{{|{z{|{z{z{{{{{{{{z{{{{||zz{|zz|{|{{||{zzzzz{{zz{{z{{{|{{{{{zzzy{|{z{{{{zzyzzyz||{{|{{|zz{zzz{zzzz{{{{z{zzzzzz{|{{z{|{{z{zzzzzzzzz{z|{{zzzzzzzzzzz{{{|zz{z|zzzzz{{z{{{|{{z{z{zz{{z||{{{zyyzzyzzzz{{z{z{{{{{{{zyzz{z{||{{z{{z{zyz{{{{{{{{yzzzzzzz||{{{|{zzzz{zz{{z{{z{{|{zzzzzzz{z{{z{{{{{{zy{{yz{z{{{||{{zy|z{{{z{{{{|{{y{{{z{zz{{{{{{||zz{{{{{{{|||{{{{{{z{z{{||{|{||||zz{{zz{|||}||{||{|{{{{{|{{{{{|{{z|z{{|{z||{||{{{{{{z{z{||||{}|{{||{{{||{{|{||z{{{|{z{{{|{{||{|{|{{{|zz{{{||||z|{{{z{|{{{{{{|{||{zy{{{{zz}{{{{|{{z{z{zz{{{{{z||{zzzz{{zzz{|z{{|{z{zz{z{z{{{{|{{{{zz{z{zz{{{{{z|}{{z{z{zy{|{{{z{{z{zzzy|yzz|{{{{{{{{{{{{y{{{{z{{z|{{{{zzy{{z{{|{{{{{z{zzz{|{{{{{{zzzzzyzzz{{{|{|{zzz{xzyz{{z{{z{|zzzzzzzy{z{{{{{{{zzzzzzzzz{{{{{|zzzzzzzz{{{zz{z|z{{zz{{zzz{z{{|{zz{zzzzzz{{{{z{{{{{z{z{{z{|{{|{|{z{zzzz{{{{{{z|{zyzz|z{y{|||{{|{{yz{{z{z{z|{{|{z{{{{zzzz{{|z{{{{z{{{{z{{{{|{{{{{{z{{{{{{{|||z{{|{z{{{zzz|{}{|z||{{{{{zz{||{||{||{{{z{||{{{{{{||{{|{{{{{{{|||||||{{|{{{|z|{z|{z|{{{{{z{||{{{|||}|{{{{{|{{{{z|{|{|z{{z{{{z|{{|||{||{{z{zzz{|||{||{z{{{{z{|{{{z||{z{{{{z{{z{|{{{{{|{{zzz{zz{z{{{{{{{{zzz{z{{z|{{{{{zy{zz{zzz{{zyz{z|{zyzz{z{{{|z|z{{zzyzzyz{{{z{|{zzzzzzzy{zz{zzz{zyyzzzz{z{z{{{zzzzzzyzzzyzzzzzz{z{zyzyzzzz{{{{z{{zzzzzzzz{{{z{z{|{{yyzz{zyz{zz{{z{zzyzzzzyz{x|{{zzyzzzzzy{{z{z{{|zzz{zy{zz{{{{z{{{zzzzzzz{{{{{|{{zz{z{{yzz{{{z|{{zzzzzzzyy||{{{{{|zzzzzzzzz|{{{{{{zzz{z{{{{{{z||{{{zz|{z{{{||{|{|zz{z{z{z{{{|{||{{z{|{z{z||{|z{{{{z{z{z{{{||{||||{z{{{z{{{||{{{{|{{{{{{|z||{|{{||{z{{{zz{{{||{|{{|zzz{{{z{{{{{||{z{z||{{{{|||{|||{zzz{{|z{{{{{|||{z{zzzzzz|||{{{{{{{zzz{{z||{{z{|{{{zyzz{{||z{{|{{zzz{{zz{{z{||{{{z{zyzzz{{|{{{||{{{zzzzzzz{{zz|{z{zz{|zz{{|{{z{|{{zz{z{z{{z{{{||zzyzyzzzzz{{zz{{z{{zzzzzz{z|zz{{yyz{zzzz{{zy{z{{zzzzz{z{{z{z{{{{zzzzzyyzzzz|{{z{zyzzzy{zz{zzz{{{{zzyzyzzz{{{z{{zzzzzzzzzz{z{z{{{{zz{zyz{{{{{{|{|zz{zzz{zy{{{{{{{z{{z{z{zz{{{{{{{zy{zz{z{{{z|{{z|{z|{zzzz{||z{{|{{zz{z{{|{{z{{{{}z|{{z{z{|||{|{{{zzzzzzz{{||{{|||{{z{{zzz{{{{{||{|yz{{{{{{||{{}|}{z{zz{{{||||{|||{{{z{{{z{}|||||||{||{z{{{|{{z||{{z{{{{{z{{{|{||||z{{y{zz|{|{|{{|{{z{{{{{{{z{|{|{|{z{{z{{{|z{{{{|{{{zzzz{{z{|z{|{zzzzzzzz{{{{|z{|{{zz{zz{{z|{{{|{{z{yzzzz{{{{|{{{{{z{z{{z|z{|{{||{zzz{{zz|{{zz{||{{zz{z{y{{{{{|z{zzzzzzyz{z{zz{{{zz{zzzz{zzzzz{{zzz{zzzyzz{z{z{{{{|{zy{{|z{z{z{{|zzz{zzyzz{{{{{|{zzzzzzzzz{zyz{{{{{zzzzyzz{zzz|zzzy{yz{z{{z{|z{||zzzyzzzz{|{{{{{{z{z{zz{{|{z{{{{{zzz{{y{{{{{{{{{{z{zzzxzzz{{{|{{|z{{z{{z{{|{{{||z{zz{z{{{z{{{{{{|z{{{|zz{{{|{{|{{|{{{{{{{{|{{{{||{z{zz{{{|}|{||}|{zzz{{{{|||{{|{|{{{z{{{|{|||{||||zz|z{{||}||{||||{|{{||{|{|}|{|{{{{{{{z|{|{{{{{{|{{{{z{z{|{z|{{|{{{y{{{{{|}|{{||||y{z{zz{|{|{{{{{zzzz{zz{{{|{|z{{{{{{zzz{|z{{z{|z{yy{yz{z{{{|{{{{{{z{z{z{z{||{z{{{|z{z{z{z{|z{{{zz{z{z{z{{|{{|{|zz{zzzzzz|{zzz{{{yzy|zzy{{{z{{|{zz{zzzzz{z{{z|{{zyzyzzzz{{{{{{z{{{zzzzz{{{zz|{z{{zzzy{zzz{zz|{z|{{{zzy{{yz{z{{{{{z{z{zzzz{{{{{{z{z{zzz{zz{{{{|{{{zzzzzzz|z|{{z{|z{zzzzz{z{z{z{||z{zzzzz{z{|{{{{{z{|z{zzzz{|{z{z{zz{zz{z{{{{{{}{{{zz{zz{z{|{{{{{z{{zz{zz{{{{{||{|{z{zz{{{{|{{{{||{zzzzzz{{{{{{{|{|zy|{{z{{|{{|||{{{{zz|{{|{{||||{|z{{{{{|||{{||||{{{{{{{{{{{|{|||{{{z{{z|{||{{{{||{{{{{{{|{{|||||{{{{z{{{|{z|{{{|{{{z{{zz{{||{z{{{zzzz{|z{{{{{{{{|z{{z{zz|{{|z|||{z{zzzz{|{{|{||{{{zy{{zz{{{{{{{|{{{z{z{z{{|{z{{||{{yz{{z{{{z|{||z{yz{zzzz{zz{|{{{{z{z{{zzz{z{{{{{{y{zzz{{z{{z{{|{zzz{zzz{z{{{{|{zzz{z{z{{|{{{{{|zzz{yz{{z|z{z|{{zz{zzy{zz{zz{{{z|zzzzzzzz{zz{{{{z{z{z{{z{|{z{{{|{zzzzzzz{||zz{{{{z{{z{{z{{|{{{{|{{{{z|zz{{{{{{{{{{zz{zzz{{||||{{{z{{{zzz{{{{z{{{{{zz{{{z{{{{||{{{{{{{z{z{{|{|{||{{{{{{zz{|{|{}|{{{{{|zz{{||}|||{|z{|{z{{|||||{||{{{||{z{z{{|||{||z{{z{zz{}|||||{}{{{{{{{{{|{{||||z{{|{{{||{{||||{{z{{{{{|{{|{|||{z{z{z{z{{|||||{|{{{z{{z{{{{|{{{{|{zz{zz{{{{{{{|zzzzzzzz{{{{{{{{{{z{{z{z{{{{{{{z{{zzz{zz{z{|{z{{|zzzz|z{{z|{{||{zz{zyz{zz{{{|{{{zzzyz{zz{{{zzz{{{y{zzzzzz{{z{{z{zz{z{{yz{zz{z{{|z{zzzzzz{{zz{z{{z{zzzzz{z{zz|{z{yz{zyzzz{z|{{|{{zzzz{yyz{zzz{{{{zyzzzyyzzzz{z|z{zy{zyyzz{z|{zz{{{z{yz{{{z{{{{{{{{z{zzzz{{{{{{{{{zz{xzzzz{{|{|z|{{zzzz{zzz|{{{{{{zz{z{{z{||z{{{{{zz|zzz{z{|{{{{{{{zzz{zz{|{{{{|{|z{zz{}|{{|z|{|||{z{{{{z{z{||{|||{{{{z{z{||{|{|{}{{{zzz{{{{{{|{{{|z{{{{{|{||}{||||{{{z{{{||{{{{|{{{z{|{{{z{{z{{{{{{{{{{{z{{|{{|{{{{{zzyzzz}{z{{{{z{{{z{z{{||||{{zz{|{yzzz{|{{{|z{{{z{zzzz{|{{{{{{{{{{zzz{{{|{|{{{z{zzz{yz{{{{{{|{{z{{z{zz{{|{z{{|z{zzz{{zz{{|{z{|z{zyzz{yy{z{|{|z|zz{zzyy{{{{z{{{|z{{yz{z{zz|{{z|{z{yz{zzz{zz{z{{z{zzz{zz{|{{|z|{zzz{zzzz{{|zy{{{zz{yzzyzz{zz{{{zyzz{y{zz{{z{{{{zzzzzzz{zz{{z{{z{{zzzzzzz{{{{{{z{{{zzzz{z|{{{z{{|zz{zzxzy{{{z{{{{{{{z{zzy{{{|z|{{{{{z{{{z|{|{{|{{z{{|{{{z{{|{{{{{{z{{|zzz{{|{{{{|zzz{{|{{|{||{|{|z{z{zzzzz{|{|{|||z{{{zy{{}|{|{|{{zz{{{{{z|{{||||{z{{z|z{||{|{|{{|{{zz{y{{|{|{{|{{zz{z{{|{{{z{}|{{z{{|{z{{z{||{{{{{{{zzzzz{z|{|||{{z{zz{{z|{||{||{{{zzz{z{|{{{{{zz{zz{z{z{|{{{{{{{z{{y{{zzz|{{|{{{{zzz{zy{|{z{{{|{yzzzzz{zzz{z{{{{z{{y{zz{{{z{|{|zzzz{zzzz{{{{{{|{{{{{zy{{{{zz{{{zz{yyzz{{{{z{{z{zyzzzzzz{{zzzz{{zzzzyz{zz{{{|z|{zzzzyzzz{{zzz{zzzz{zyz{z{{{y{z{{{zz{zzzzy{zz{{{{zz{{z{zz{zz{{{{{{zz{{zy{{{{{z{{{{z{zzz{z|{z{{{zzzz{zz{z{{{{z{{{{{z{z{z{|z|{z||{{zz{{{{zz|{{{{{|{{zz{z{z{z|{z{{{|{{{{z{zz{{|{||||{z{z{{{{z|||{|}|{z{{z{zz{|{{||||{z{|{{{z{||{|{||{{|z{{{{{||}{||||{{{|{z{||||||||||{{|{z{{||{{{||{{{zz{{{z{|{|||||{{z{{z|{{{|{|||{{{{{{z{{||{{|||z{{zz{{{{{z{{||z{|{{{z{z{{{{{{{{zzzzy{zyz{{{|||{{zzzzzzzz{{{|{{|{{zzzzzzz{{{{{|{{zz{zzz{{{{{{z{{{zzzyzzz{z{z{{{{{zzzz{{y{{{|z|{{{{zzyzzz{|{{z{z{{zzyz{z{z{{{z{{{z{zyzz{z{||yy{{{{yzzzzzy{{{{{zzz{{{zyz{z{zzzzz{{zzzz{z{xzz{yyz{{{zzzzzzzz{y{{z{{{zz{{zzyzz{zzzz{z{zzzzzzz|{z{{{|zzz{zy{z{zz{zz||zzzzyzzz{{{{{z|{zz{z{z{{{z{{{{{{z{zzzzyzzz{{z{|||zz{{zz{zz|{z{|{{zz{zzzz{||||{{{z{{|{{{z{||{{|||z{{{{yz|{||{|||{|{{|{{z{||{|{|{|{y{z{{{z|z{|{{{||{{z{|z{{||{{{{|{z{{zz|{{{{{|||||{{{{zz{{{{||{|||{{{|zz{}{{|||||{{z{{zzy{|{{|{{{{zzyz{{{{|z|{{|{{{{y{z{{{z{z{{{{zzz{z{{zz{|{{{|{{z{{z{zz{{{{z||{{{zzzz{z{{{{|||{{z{{zy{z|z{{|{{z{zzzy{{zz{{{{{{{{z{{zzzzz|{{{{|z{zzzzz{y{{{z{{|{zzz{yz{zzz||||z|z{zyzyzz{{{{z{{{z{zyyyzyz|{{zz{{zzz{z{zyz{{zz|{{zz{y{zyy{{{{{|{y|zzzzzzzzzzz{|{{yzz{z{zy{{{z{zz{{{zz{zz{z{|zy{{{z{{z{zz{z{z{{{{|zzzzzzy{z{{{z{||zz{z{zzz{|z{{{{{{{zzz|zz{{{|{|{{{{{{{zzy{||{{|{{{{{{{{{{{{||||{|zz{{|{|||{z{{|{{{zz{{z{z{|||{|{{{y{{|{{z||{||{|{{{{|{{{{{|||{|||{z{{{{{z{|{{{{||{{{{zz{{{{||{{|{||{{{{z{{{{||||{{{{{zzz{{||{}{{{|{{z{{y{|{{|{{|{{{z{z{zz{{||{{{z{zzz{zzz{{|{{{|{z|zzzzzzz|zz|z{{zz{zzzzzz{{{{{{{zzyzy{{z{y{{zzz{{zzyz{zzz{{{{{{{{zzzy{zz{zzz{z{{zzzzzzzyz{z{z{z{zyzz{zzy{|{z{{{{zz{zyyyzzzz{zz{zzyzzzy{{z{z{{z{z{zzzzzyyzz{z{z{{yzzzzyzzy{{{{{zz{zzyzzzzyzz{{z{{z{zyzzzyzzzzz{z{zzzz{{z{{z{zy{{zzzyyzzzzz{{zz{z{zyzz{zzzzz{{z{{{{yzzzzz{{z{zz{{|zyzzzyz{z{z{z{{{zz{zzzz{z{{z{z{{{{{{{zzz{{{|z{{{zzzz{zzz{{{{{|{|{zz{zz{{{{{|{||{{zzzzzzz{{z{|{{{{zz{{z{{{||{{|{|{z{|{{{{z{{||{|{{z{{{{z{{||{{|{{{z{{z{z{{{||{{|z|zz{{{z|z{{{{||}{z{{|z{z{|{{{|||{z{{z{{{{{{{{{||{{zzzzzz{|z|{z{{{zzzzzzz{{|zzzz{zzzzzzzzz{z{{zz{|yzzzz{zz{|zzz{{{{yzz{zz{{z|{|z{zz{z{zz{{|z{zz{{zz{zzzzy{z{{{{|{z{zz{zzz{{{z{{{{z{{zzzzzz{{{{z{zz{zzzzzz{zz{{z{{zyzzzyz{yz{{{z{|zzzzz{zyzzzzz{{{yzzy{zzyzzz{{zz{{zzzzyzzzz{zy{z{zzzzzzzyz{z{{z{zzzz{yzzy{y{{zz{{zzzzyz{zz{{z{{zzzzz{yzzz|z{zzz{{z{yzyy{z{{|zz{z{{zzzzz{{z{{|{|||zzzzzzzz{{z|{{{{{{zzzzzz{{{z||{{{{zz{z{z{{{|{{{{{{{{{{zz{|{|{|||{z{zz{{zz{|{{{|{|z{z{{|{{|{{{{|{{{zz{{{zz{{{{|{||{{z{{zz{||{|{|{{z{|zz{z|{||{||{zz{{z{{z{{{{{{||{|{z{{z{{{{{{{||{{{z{z{{{{|{{|{{{z{{yzz{z|{{{{|z{z{{yzzz|{}{{{z{z{zzz{zz{{{z|{{z{z{y{zzz{{{||{|{{zzzz{zz{{{{{||zzzz{z{zz{{{|{{{{{zzzzzzyzz{zz{{{zzzzzz{zzz{z{|}{zzyzyz{z{{{zz{{z{zzzzzzz{z{z{{{{yzzzzyzy{zzz{z{{z{yzz{z{yzz{{||{z{|yy{y{{z{{z{{{{z{z{zzzz{zzz{{zyzyyzzzzzzzz{{{{{zzzz{{zzyz{{{{z{zyzyzz{z{z{z{{|{z{zzz{z{|{z{{|{zz{zzz{yzz|{{{{|{{{zzzzz{|{{{{{|{zzzzzzzz{{{{||{{{{{zzz{{|{{z{|z{{{{{{{{{||{{{|{{{{{{{{z{{{z{|{|{zyz{zz{{{|||{||{z{{{zz|{|{||{||z|zz{|{{zz||{|}{}{|zz|{{{||{||||{{{|{{|{}{|{{{||{{zz{{z{{{||{{||{z{{{{{{{{{||||}{|{z{zz{{|{z{{|{|z{{z{z{||z|{{{{zz|{{zzz|{{|{{{{{z{zzzzz{{{z{{{|{{zz{yyz{{{y{{{{{{z{yzzy{z{z{{|{{yz{zz{zz{{{z|{|zz{yyzzyzz{{{{||z{zzzz{z{{{z{{zz|zzzzzzzz{{z{{{yz{{zz{zzz{zzy|zzyz{zz{zz{z{z{z|z{z{{y{yz{{{z{{{{{{{{zzzzzzzzz{{{z{zz{y{zz{zyy{{{{zzzzzyzz|z{{|{|zzyyyzzy{||y{{|{z{z{{y{z{{{|{z{{{zzzzz{zz{{{{|||{zzyyz|{z{{{{{z{zz{z{z{z{|{{{|{{{z|z{zz{|{{{{{{{|zz{|{{z{{{{z{{{{{zz{{{z||||||||z{|{{z{{{{||||{}{{{{{{y{{}||{z|||zz{{|{z||{{||||{{{{{{{{{||{{|{|{{{z{{{z{|{{{||{{{{|{z{z|||{{||{|yzz{z{|||{{{{||{{|zz{{||{{{{|||{z{{z|zz{|{{{{{{{zz{z|{z{|z|{{z|z{zzz{{{{{{||{z|{{{zzz{z{{{z{{{|zzz{|zzz{|{{{z{|z{yzz{{{|{z|{|||{{zzz{{|z{|{z{{{z{zzz{zz{z|{z{|{z{zz{{zz{{{{{zy|z{{z{zzz{{|zz{|{z{zz{{zz{{{z{{{zzzz{{z{zzzz{{{{{zz{{yyz{z{|{|{{{y{{zzzzzz|{{{{z|{zy{zzzzz{zz{{{z{yzzzzzyz{z{{|{|z{z{zzzz{z|{{{|z{zzz{z{{zz{z{|{z|zzyzz{z{z{{{{||z{{zz{zz||z{{{{{{{{z{z{z{{{|z{{{|z{{{z{{{{|||{|{zzz{z{z{z|{||{{}{zz{{z{{{{||{|}{z||z{{{|{{{|{|||{{{{y{{{{{|{{{|{{{{zz{{||||{{}||{{{{{{{{{{{z|||||z{z{{{{{}}||}|{|{{zz{|z|{}{{{{{|{{{{{{{{||{|||{{|{{{{z{|{{|||{|z||{||{{{{z|{{||{{zz{z{z{{{{{{}||{{zzzz{{{{{{}z|z{z{zzzz{{{{{{|{zz{z{zz{|{|}z||{{zzz{{{z{z{{{{{{{{y{{z{z{z|{{{{||{zz{z{z{{{{z{z|zzzzz{|z{z{{{|{||{zzy{zz{{{{{zz{{{z{zzzz{|{{{{yzzz{z{z{zzz{{z{{zzzzz{zzz{z{z|zz{z{|{{zzz{{z{{z{{zzz{zzzzzz{zz{|{{z{{zz{zz{z{z{z|yzz{z{zzzz{{z{|{yzyzz{z{{{z{{{||{{{zzyzzz{{{{|||zzz|z{zz{{{z{|{{{{{z{y{{z|{{{|{{{zz{zz{z{{{{z{|{{z{{{|{{{{z{|{{{{zz{z{z||z{||||{z{z{|z{{{z||{||||y{|{{zz|{|{||||{{z{{{{{||}{|||{{|{|z{{{|||{||}{|{z|{{{|z|}|||||{{|zzz{{||||{||||{{{{{||{{|{|{||{{z{{{{{{|||{|{|{|{{{{{{{|{|{{|||{{{{{zz{{{|{{{{{}{zz{{{{|{|{{{z{{{{{{{z{{z{z{{{zzz{zzz{{{|{{{||{{zz{zzzzzz{{{{{{z{|{{zy|{}|{{{{zy{zzy{z{y{{z{z{zz{zzzzyyz{y{||z{z{yzzzy|{|{|{{{{{zzz{z{z{z{z{{{{{yzzyzz{zzz|{z{{{{zzzyzz{{{{|{z{zzzz{zzz{{z{z{{zyzzzzzyzzzz{{{{zzyzzzzzy{z{z|{{zzz{{{zz{{z{{{{|{{zzz{z{{{{{{{z||zz{zzz{z{{{|{|{z{{{zzzz{|{{z{|{{zzz{z{z{{{|||{{{{{z{zzzz||||{{{|zz{{zz{|{{{{{{|{z{z{{zz{{{{|||{{{{{{{{{{|{{|{|{{{{{{z{{|z{{{||{|zz{{zzz}|{{||{|{{{{z{|zz{z{{|{||{{{z{{{{|}}||{{z|{{{|||||{|{{|{{{{{{zzz{|{|}|||{zz{zz{|z{{|{{||{{{z{|z|{{z{||||{{{{z{z{z{{{{{{z|{{{{zzz|{|||||{{z{zzzz{|||{z{{|zzyzz|zz{{{{z|{{z{{zz{y{{{|||{|{|z{zz{zz{{|{|{{{{{zzzz{zzz{{z{|{{{{z{zzzz|{z{{z{{{{{zzzz{{zz{{{z{zzyzzzzz{{z{z{{z{zz{z{{{{|zz{{{z{z{zyyz{{z{{{{{{zzy{{zz{z{{|z{{{{z{zzzy{zz{{|zzyz{y{zyzy{|z{{{{zzzzzzyy{zz{z|}||zzz{{yz{{{|{{{||z{zzy{z{{{z{{{|{{{zyz{{{{{z{{z{{{|z{zzzz{{{{{{{{{zz{zz|{{||{|{z{{{{{{|zz{{{z{{z{{{z|{{||||||{{{{{{z{{{||{{|{||||{z{{|z{{{|||{||{zzzz{zz|||||{{{|z{{{|{{|{|{|{||}{{{y|{z|}{|{}|{{{zz{{|{{||{{{||{{z{{z{|z{{{{|||{{{{{{{|||{|{|||{{zy{z{zz|{{{||{{zzzz{{{{|{||{{{{{{z{{||{{~|{|{{{zzy{zz{zz{{{z|{{{zzzy{z{{zz{{{|{zzz{{zz{z{z||{{{zz{|zzzzz{|z{|{{{yzz{zyz{z{{{z{z{z{zzzyy{|{z{|zzz{zzyzz{{{z{{{{{zzz{zzy{{zzzz||yzzzyzzz{{{zz{z{zyzzyzyzzz{{{{zz{zzzz{zzz{{z{zzz{yzzzy|zzzz{{{{{{zzzzyzzz{{z{zz{zz{y{zzzzz{{{{{{{zzz{yzzz{{||z|{zz{zzy{z{z{||{{{zzzzz{z{z|{z{{{{{z{z{yzz{{{{{{{|{{zz{{{z{{|{|{{{|{{{zzz{|{{{{{{|{zzz{z{{|{{|{{|{zzz{{{z{{{{|||}|{|z{{zz{{{{{|||{{z{{{z{{z|{|{|||{{z{{|{{z{{{{|}||{z{{zz{{|||{||}|{{{zz{{|{||||{||z|{{{|{|||{{||||{z{zz{{|{{{|{{{{z{{{{{{{{z{{{||{{{z{{{z|{{|{{{|{{zz{yz{{{{{z{z{{yzzzzzz{{{z{{|{zzyzzy{z{{{zz{z{z{zzz{zz{z{{{{{{{zzzzzzzz{{{{z{{zz{zyzyzzzz{z{z{zzzzz{{zz{{zz{{zzz{{yz{zzzzzz{{{zz{zyzyzzzz{z|{|zyyzy{zzzzz|{zz{{yzzzzyzz{{z{{z{zzzzzzzyz{{{{z{{{zzyzyyy{zzzz|z{{zzzyyzzz{z{z{z{zyy{zzyz{zzz{||{{zzzzzzzyz|{z{{{yzzzzy{{{z{{{{z{zzzzyzz{z{z{{{{zzz{zzy{yz|{{{z{{{z{z{{zzz{{{{{{{zzzzzzz{{||y{{|{yy{zz{zzz{|{{||zzz{{{{z{|{{{{||{{z{{z{zz|{|{{z|zz{{z{zzz{z|{{|{{|{zz{{{z|{{{|||{{{{{z{{{{}{{{|||{zz{zz{{|{|||{{{|{{{zz{||{{{z{{{{{z{{{zz{{{{{{|{{{{yz{zz{z{{{|{z{{{{zzzz{{|{z{|{z{zz{zz{{{}{{{z{{zz{{zzyzz|{z{{{zzzzz{zzz{{{{{{{z{{zzzzzz|zz{{{{|{yzz{zyz{||z|||{{{yzzzy{z{|zzz{zzzz{zzzz{{{z{{z{{z{zzzy{{{{z{{zz{{zyyzzz{z{z{{|zzzzyz{z{{{{y{{{zzzyyzyzzz{{z{{zzzzz{{zxz{{{{{{zzzzzyy{y{{{{z{{zz{yyyyzz{z{{y{z{zzzz{zzz{{{{{{|{{zzyzzzzz{{{{|z|{z{{zy|{z{{{{{{z{zzz{{y{{{{|||{zz{zzzzzyz{{{|{{z{zyzz{z{||{{|||{{zzz{z{z{{{{{{{{zz{z{zz{{|{|}|{||z{{zz{{{zz|{}{{{{{{{yz{|{{{{||{|{{{{{{z{{{{{|||{z{{{|{{|{{{|||||{{zzz{{{|{{{|{{{z{{z{{z{{|{|{{|zzz{zzy{|}z|{|{{|z{z{z{{|{z{||||{zzzz{{{{{zz|{{{|zzzzzz{{{{|{{{{{z|zzzz{{{}{{{{{zzzz{zyyz|{{{z|{z{y{yzz{{{{{{{|{{{{yzzyzz|{{{{{|zzz{zzzyz{{|{{z|yzzzzz{y|{{{{{z{zzzz{z{{{{z{z|z{z{{{yzzz{{{|{z{zz{zzz{zzz{{z{{y{{zzzyzzyz{{z{z{{zzzzyzz{zz{{{|{{zzzzzzzzy{|z{z{{{zyz{y{zy{{z{zz{z{yyzyzy{zz{z{{{zzz{zzzyy{z{{{{zzzzzzzzz{{{{{z{|{{zyzz{{{{{|{{{{z{{zyzzz{z{{{|||{{{{{z{zz{{{z{{{{z{z{zzz{{{{{{{{{z{{|{{{|{{{{{{{z{z{{zz{{z|{|||z{z{{zz|{z{{{z|}{{z{{{zzy|||||{|||{{{{{z{{|{{{|||{z{{{{{{{{{||{||{{{z{|z{{{{|||||{{{|z{{{||{{{{|||{{{{{z{z||||z|{{z{{z{{{|{}{{|{{{z{zz{zz|{|{|{{{z{zzz{z{|{z|{{{{{{{{{z{z|{{{{z{{zzzzzzzzz{z{|{|zzzzz{{zz|{{{{||{{z{z{zzz{{z{||{z{zzzz{z{z{{|{{|{{z{{y{zz{z|zz{{|{{{yzy{y{z{{{{{|{z{z{zzzz{{z{{|{zyz{{zzzzz{{z{{{zyzzzzzzz{{{{{{z{{{{yzyzz{{|{|{yz{zyzz{zzz{|{{{{{zzzzzzz{{zz{{{{{z{z{zzzz|{z{{{|zyzzzzzzzz{{z{{z{zzzzz{z{||{z{{{zyzzzz{{z{z{y{{{zzz{zzzz{{{{{{|{{|zzzzy{{|zz|{{|zzz{zz{{{{|{|||{{{z|zz{{{|{{{{z{{zz{z{{{z{|||{{|{{{{z{|{||||{{||{{zz{{{zz{{{|{{{{{zz|z{{||{|{|{||{z{{{z|{{||||}{|zzzz{z{||{|{{{||{{{z{{{}{||{{{|{{|{{{{{|{||{{}|{|{{{{{{{{|{{|||{zz{{z{z{||{{||{|{{{zz{zz||{|{{{{z{{{z{z|{{}{{z{z{z{{y|z{{{z{{{{{{zzzzzzz|{{{{{{zz|z{{y{{z{{{{{{{zzzzzzz{{z{z{|||{{yzzz{{|z{{{{|zz{{{zz{{{{{{{z{z{z{z{yzz{{{|z{zzzzzzzyzy{{z{{{{{zzzz{zz{{{{{{{{zy{zzzyzz|zzz{{{{zzzxzzzzz|{z{{zzyzzzzyy{zzzz{{{zzyzzz{zzz{{{{{|zzzz|zzzz{{z{{{{zzzz{z{z{{{|{{{{zxz{zzzz{{{z{|{{y{z{{zzzz{|zz|||z|{{{zzz{||{}z|{{z{{z{{{{{|{z{|z|{z|{{zz||zz{{{{{z|z{zzz{{||||||{|{z{|}z|{{||{|}|z{{{zzz|{{{z|||{zz{{{{{}|{{|}|{z{{z{{{{{{{{|||||{z|{{z|{|z{|{|||{|{{{{{||{{||{||zz{{{{{|{{{{||}||zz{z{{|{{{|||{{{zz{zz{{{|{{|{}{{z{z{zz|||{z|{|{|{{{z{|{{{{|{|{{y{zz{zz{{{{{{{{{{z{zz{z{{{{{{{z{{{yzzzzzz{{{z|{|zzzzzzy{{{|z{{{{zzzyzzyzzzz{|{{zz{{zz{yz|{y{{{{{z{z{zyzzz{z{{{{{zzzy{z{|{{{{z{{z{z{{zzzyz{zy{{{{yzzzyzz{{{z{{{{zz{{zzzy{|{|{{|z{y{{zzzy{{{zzz{z|z{z{zzyz{zzz||zzyyzzzzz{z{{{{{{{zz{zyzzz{{zz|||z{{{zz{{|z{{|{{{zz{z{zz{{{|{|z|{{{zz{yz{{{z{z{{{z{z{zzzz{{|z{|{{{zyz{z{{}|{{zz{|{z{z|{z{||{|||||{{zz{zz||{{{||||{zz{{z{{{{{{|||||{{z{z{z|{|{{{||{zz|{{{{{|{{||||{{|{z|z{{}|||}}{|{{{{{{{}|{|z||{|{{{||z{{{{z|}||{{z{{z{}{{{|}|{|{{{zz{{{||{{z|{{|{z{{z|{{{|}{{{{{{{z{{{|{|{||{{z{z{yz{zz{{{z{z{|z{zzzyzz{zz{{{z}{{zzzzzx{{{z{{{{zz{{zzz{z|{{{{{{{{y{zzzz{{{z{{z|{zzz{zzzz{zz{|{z{zz{zyyy{{{zz{z{{zzzz{yzzzzz{z{{zzzzzyz{{z{{z{{zzzzzzzyzz{{zz|zzyzz{zzzzz{zz{{{z{zyyzzzyzyz{y{z{zzyzyzzzz{{{{{z{zyzzzzzz{y{{{{||zzzzzy{yzz{{{{{{zz{z{z{z|z{z|zz|z{zz{{zz{{{z{{{|{zz{z{{{{|{|z|{z{z{zz{z{z{|{{{|{zzzzzzz{{{{{z{{|{{zz{{{{{{{|{|{{zz{z{{|{{|{{{|||{{z{{zzzz|{|{{|{{{zzzz{{}{{{{}|{z|{{z{|{{{zz{{|||{z{{{{z|}|{|{{|{{{|{z{{{z||{{{{{{zz{z{{{{{{|{{|{zz{{zz{{|z|{|{|z|zz{z{z{{{{{{|{{|yz{z{y{|{|{{{{{{{{{z{{|{}{||{{z{zyzzyzz{{{{z{{zzy{zzzzz|{{z{{{{zzzz{{z{z{y{|z|{{{zyzyy{zzz{{{{{{yzzzzzz|{{z|z|{zzz{{{yzzzz{{{{{{{z{yyzyy{z{z{{z{zyzzyyzz{zz{{zzzzyzyzzz{{zzz{zzzy{yzyyz{|z{{z|{{zzzzzzzz{zz{{{zyz{{yzyz|{zz{{{zz{zzzzzy{y{y{{{{z{zyzyyz{zz{{{zz{y{{y{zzz{{{{|{z{zzzzz{{{zz{{|{zz{zzzzz{z{{{{{{{z{{yz{z{|{{{|z{{z{zzzz{{|{{{{{{{zzz{zzz{{{z{}z{{z{{{zyz{{|{{||{z{zz|z{{{|{{{|||{zz{{{z{{|{{{z|{{z{zz{{{||{||||{{{{{z{zz|{{{{{||||zzzz{{z|{|{|}{{{{{{zz{{|{{{|{||z{|{zz{{|{{|{{{{{z{{{{z{{{z{||{|{{z{zzz{|{|{|{{|{z{y{{z{|{|{{{{{{{zzz{{|||{}{|{{{zz{{{z{{{{z{|{{z{{zzyyy{zz|{{|{z{z{y{{z{{{|{|{{zzz{zzz{{{zzz{{{{z{y{zz{z{{|z{{{{z{zzzzz{zzz||{{{yzz{yyzz{z{zz{zyzz{z{zzz||{{{{{zzzzzzzzz{{{{{{{zzzzzyz{{{{{z{z{{{zy{zzzzzz{y{{zz|xzyzzy{{z{z{{zz{zzyzzz{zzzz{{{zzzzz{{zz{{{z{{{zzz{zyz{{{zz{{zzzyzzyzz{{zz{{{|z{zzzzzz|z|{{{|{{z{{zzzz{{{||||{zz{z{{zz{{{{{{}|{{zz{z{{|}|{z{{|zzzz{zz|{z{|||{{{{{zzz{{{{{|{|{}|{{|z{{z|{||||{{|{{{z{{{|||{|||{{{{{{{{{{{|||{|||{{{{{|{{|||||{|{{{||{z||{{{{|}|}{{|zz{{{{|{|||||{|z{{{{|{{{{|z|{{zz{|z{{{{{||{z|{{{z{z{{{{||{{{{z{{z{{{{|||~||{z{zzyzzz{z{{z{||zz{{{y{{{{zz{{{{{zz{{{{z{|y{{{{{{{{zyz{{{||{yz{|{|{zzzzzz{{{{|{|{zzzzz{y{zzz{|{{{{|zzz{z|{{{y|{zzz{{zz{zz{z{z{z{y{zz{zzz{{{z{{{{zyzzz{zzz{zz{z{zzzzzyzzzz{z{{{{{z{{{zzzz{{z{z|zzzyzz{yzzz{z{{|zz{zzzzzzzz{{z|{{{zzzzyz{y{|z{z{{{{zz{{{zz{y{{{|{z{z{zzzz{{{|z{|{{{{z{{z{{z|{{{{||{z{zz{zz||{{|||{{z{{{zz{{{|z||{||{{{{{{{{{{|{|{|z{|{{{{{||{||{{{{{{{zzzz{|}|{|||{z{{{{{{|||{{||{{{z{{{{{||z{|}|{||{{{z{|{}||{||{|{{{{{|{||}}|}|||z{z{{zz|{z|{{{|{|z|{{{{}|{|{{{|z{{{{z{{{{{z|{|{{zz{z{z{z|||{{||yz{{{{{z}|}}}{{zzzzzzyzyz{zz{{{|z{zzzzzzz{{{{{{{z{zyzzz{zz{{{z{{z{{z{yyyzz{{z{{{zz{{zzzy{zz{zz{|zzzzyzzy{{{z{{{{{zzzzzzz{{|{zz{z{{zzz{zyzz{z{{z{yyzzyzz{zzz{{{{{zzzzyzzz{{{z{{z{zzzzyzzyzz{{zyz{zz{zzyzzyzzyzzz{{z{zzzzyy{z{{{z{zzzz{{xzzz{y{z{{zzzzzzz{{zzz{zy{zz|zzz{z{{{zz|{{{zzz{zzzz{{{|z{{z{zzzzzz{{{{{|z{z{z{zzzz{{{z{{{{{{zzzzzz{{{{z{{{zzzzz{z{|{{|{|{{zzz{{{|{{zz{{{||{{{{{y{z{{z{{{{{|{{{zz{z||{z|z|{{{z{z{z{{{{{||{||{{zz{{{y||{z{|{|{{{zy{{||{|{{{{|zzzz{{{{zz{|{|{{z{{{{zz|{|{}{||z{{{{{{{{{z{|z|z|{{{z{zz{{|}{{{{{zzz{z{z|||}||{{{zzz{{{z{{z{z{zzzzzz{yzz{{{|{{z|z{zyzzzz{z{z|{z{z{{z{zzzz{{z{{{{zzzzzzyzz{{{{{{{yz{{zzzyz{{{{{{{{zzzzzzz{{{z{{{zzz{zyzzz{{y{zz{{yyyzzzz{z{|{z{|{{zzyyzyz{{zz{z{{zyzyyzyzz{{{{z{{zzzzz{zz{z{zz{zzyzzzyyy{zzy{zz{{zzzz{yzyz{{z{{z|{xz{{y{zz{{{z|{{zzzzzzz{{{{{z{z|yzzzzzzz{z{{{{{||z{zzzyzz|z{{|z{{z{z{|z|z{{{{{{z{{zzzz{z{{{{z{{|{z{{{z{{{{||||{{{{{z{{{z{z{{{|{|{{{{zzy{{|{{z{|{{z{z{z{{||{{{{|{zzzz{z{{{|{{||||{{|{z{z{{}|{{|||{z{{{{{{{z{{|{{|{zzz|{z{{{{|{|||{{z{zz{{{{{|{||{z{{z{{zz{{{{|{|}{zz{zz{{{{{|||{{{||{z{z{{|}}}|{|z{z{|zzz{{|{{z|{z{z{zzyzyz|{{{z{{z{zz{{y|{zz{{{{{zz{zz{{{|z{zzz{{{{z{{zzz{{z{{{{{|{{z{{yz{|{{||z{z{z{z{zzzz{{{{zy{z{z{yzzz{{{{z{z{zz{z|z{{z{y{|z{zzzzyyz{y|{{{{{{{{zyyzz|{z{{{z{{zyyzzzzyzyz{{z{zz{zzzzz{{{zz{{|{zzzz{zzz{{||{{{z{{{{{zzz{{{z|{{{zz{{z{{{{{{|||{zz{yzz{{{{{{z{{|{{z{{zz{z{{{{|{{{{{zz{{z{{{zz{||{z{z{z{{z{{z{||{{{{z{zz{|{{|{{||{{{z{{{z{{{|{{||{{{z{{zz{||{{z{||{{z{{z{{|{{|{||z{{{{{{z|{{|{{{||{{|z|{z|{||||||{|z{{{{{{{||||{||{{{{{{{|z{{{||||{|{||z|{|||}|||{{|z{{{{|{{||{||zz{zz{{zz|z|{{||{z{{{{{{|{}|||{zz{zz{z{zz{|{{{zzz{yz{z{z{{{{{|||z{zz{zzzzz{{|{|{z{zz{z{z{{{{z|{{|zzzzy{zzz{{{{|{zzzz{z{zy{z{{{{{{zzzzyzy{z{zz|{zzz{zz{zy{{z{{z|{zzzz{yy{{z{{zz|{z{z{zzzzz{{{{{{{zzz{zzzz{|{zz{{|{z{zzzzzz{{{z{{{{{{z{z{{z{z{|{{{z{zz{zzzz|{{{{{|zzzz{z{z}{z{{{{|{zz{yzz{{{z{{{{{z{z{zz{{z{{{{{{|{{{{z{zz{{||z{{||z{z{{zz{||{{{||z{{z{z{z||{{{||{|{{{{zyz|{{{|{{|z{z{z{{{||{|||||{{z|{zz{{||{}{|}|z{{{{{{{|z{||||{{{{z{||}|{z{|{||{{{{{{{|}{|||}{|{{|{z{{||{||||||{{|{{zz{{|{{||}{z{|{{{{{|||||||{{zzz{zz{||||{{{{{{z|{{z{||{{z|{|{{{{||{|||{}|{{z{zz{zzyz{|{{z{{z{{zzyzz{{{z{{z|{zz{zz{z{{z{{|{{{z{zyz{z{{||z{{|{zyy{zzy{{{{{zz{zz|{z{zz{{{{{{{z|y|{z{z{{{{{z|zzz{{zzz{zz|z{z{{|zzzzzzzzz{zzz{zzzzzzzzyzzz{z{{{{{z{zyzzyz{z{z{|{{zzzyzzzzz{z{{z{z{{zzzyz{z{{{{{{z{zzz{yyz{z{z{{z{{{z{z{{z||zz|{{zzzz{{zz{z{{{{{{z{{yzzz{z{|z{z{{{z{z{y{z{{{{||z|{y{{{zzz{{{|{{|{|{{{|yz{{{{{{{||{{zzzzz{{{{|{||{z{{{{{{z|{{|||z|{{{z{zz{{{{{{{{{{{{{{{{{{{{||{||{{{{|{{{{{z{{|||{z{zz|z|{|{|||||{y{{{zzz|z{}|{||{{{z{{{{{{|{||}||{{{|{{{|{{|||{{{{{z{{{{|{{z{{||{{{{z{zz{{|{z{||{{z{{{{{|{|}|{{|{{{{zzz{{{{|zz{{{{{zyzyz|{{{z||{{zzzzzzz{z{{{{|{{z{yzzzzzz{{z{{|{{zzzz{z{{|{z{{{zzz{z|{yz{{{{z{{{zzz{zzzz{zzz|{{{zyzzz{zzz{{z{{{{{zyzzzzzz|{zz{{{zz{zzyz{{z{{{{{zzzzzzzy{{{zz{{zzzzz{zzyz{zzz{{{{zzzzzzyz{{z{{{zzzzzzz{z{{{z{{z{z{z{{zzz{{{{{{{|{yzz{yz{{{{z{{{|{{z{{z{z{{{|{{{{{{zzzz{z|{||{|{|{{{{{z{z{{{{{{{{z{z{{zy{{|{{|{z{z{{{z{|{|||{||z|z{{z{|{||{{|{{||zzz{{{{{|{{||{|{zz{{{z{{{|||{{|||{{{z|{{{}|z|{|||{{{z{{{|}||||||{{|{{z{z|||{{||{{z{z{zzz|{{{|{{|{{zz{{{{{{||{||{{{zzz{{{|||{||||zzzz{z{{{{|||{|{z{z{z{zz{||{{{z|{z{{{yzzzzyz|z{{z{zzzzzzz{z{|{{|zzzzzzy{{{{{|{z{{{{z{{zz{{z{{{{zzyzzzzz{{{{|{{{{yzyz{zzyz{zz{{{{{yzz{y{z{{{{z{{|{zzzzzzy{{{z{|{{{{yzzyzzzz{{{zz{{zzzzzyzz{z{{{{{{zzzzzzzz|{{{{{z{{zz{zyy{{zzz|zz{zz{{yyz{{z{z{{{zzzyz{z{{{{{{z{{z|{zzzzz{|{z{{{|z{zz{zz{||{z{{{{{z{zy{{{{{||{|{{z{zz{zz{z|{z{|{z{zzz{zzz{{{{{{|{{zz{zzz{zz|{|{|{{zzy{{{z|{{{{|{||zzz{{{z{{{||}||z{{z{{zy{|z|{{{|{zz{{z{z||{z|{{}z{z|{||{{||{{{|||z{z{zz{{{|||||}{{{}{z{{{{{|{||{{zz{{zz||{{{{|||{z||{{{{{{{{{{||z{zzz{|{||{{{|||{zzzz{z{{|{{{|||z{{z{z{z{||{|{{{zzzyzyzzzzzy{z{{zz{zz{zz{z||{{|{zzyzzzzz|z{zz{{{{y{{zzzzzz{{zz{{z{zyz{{z{{zyz{{{zy{{z{zz{{{{z{{zzzzzzyzzy{|{{{zzz{z{{zzy{z{{zzz{zzyzzzzzy{zy{z{|z{zyzzzzyz{z{{{{zzzzyzzy{zzz{{{{zzzyzzzzzzzyz{{zzyzzyzyzzz{{{|z{zzy{{{zyz{{{z|z{{yyzzz|zz{{z{z{{{zzzzz|z{{{{z{{{z{|zzz{z{{{{{{{{{z{z{zz{z{{{z|{|zz{{zzzy{{{{z{|{{yzz{{{{|{{{{{{{{{{z{zzz{{{|{||{|{{z{z{z{{y{{{|{{z{z{{zz|{|{|||{|z{{{z{{{{}{|{|}{{{zzz{{{|{}}|||{{|{{zz{z{{{||||{z||z{zy|{{|{{{|{z{z{{{{z{{{|{||{z{{{{z{|z{{|{{|z{zz{z{|{{{|{||{{{{z{yy{{|z{||{{zz{z{z{{|||||zz{{{yzzzz{z{{{{{{|{zzzzyzz{{{zz|{|zzzz{zzy{{{{z{{{{zz{{zzz{z{{zz{z{zzzy{{zz{{z{|z{{z{zzzzyz{z{z{z{zzzzzzzz{{|z{z{zyzzzzzz{zz{zzzz{zzzy{yzyzz{{{z{zz{yzzzyz{{z{|zzzzzzzyzzzzzz{zz{|z{zzyzzyz{{zzzzzz{zy{yzzzzz{{{{{{zzz{z{z{{{{zz{z{zzyzyz{zz{z{zz|zz{zzz{zzz{{{{|{{zzzz{{y{|{{{|{{{{{zzz{zz{{|z{{{{z{zzzz{z{{|z{|{{{zyzzz{{{{z{{{{zzz{zz{zz{{|{{|{{{{{z{{{{{{{{|{{{zzz{z{z{{{|||{{|z{{{{{{|{||{{{|{{|{{{{{{{{{|{|{{{|{{z{|{{||{{||{z{{{{{z||||{|{{{|{{{{y{z{{|{|{|{{z|zzz{{||{{||{z{zzz{z{{|{{{|||zz|{zzz{z{{{{{|{{{|{yzzz{||{|{z{z{z{y{zy{{{yzzz{zzzzyyzz{z{{|{{|{{z{zzz{{{z{{z{{{z{{zzzz{z{{{z{z|zz{yyz{zz|{{{z|zzzzzzzzzzzzzz{zzzzzy{zy{z{zz{{zzz{zy{zzz{z{{{z{{zyyyzy{{{{{{{{zzzy{y{yz{{zz{{|{zzzzzyzyz{z{{z{zzzzzzyzzy{zz{{{{zyzyzzzy{{{{z{{zzzzz{|zzy{{{{{{{{zzz{zzyz|z{{z{||zzzzzz{yz{{zzz{{zz{zzzz{{|{z{{{zyy{z{{{z|{{z{{{{{z{yzzz{z|{{{|z{yzzzz{{{|zz{||{{{{z{z{z{|{|{{{{y{|{{{{{{{|{z{|||z{{{{z{{}{|{{|||zzz{|{{}{||z|||{{{zz{{{z{z{|{|{|z{{{z{{|||||{||{{{{{zzz{z{|{|}|zzzzz{z{{{{{||||{{{z{{z{|{{|||{{|{zzzzzz{|z{{|{|zzz{yzzy{{{{{z||{{{{{{{{{|{|{{|zyzzzyyzy{{{z{{z{{zzzzz{y|z{{{||{z{{yz{yz{{zz|{{{{zzyzyyy{{||zz{{{zzzyzyz{z{{{{z{zzz{zzzz{{{{{{z{{{z{{{zzy{{zzz{{zzzzz{zzzzz{zz{{yzz{yyyzzzz{y{{{{zyzzyyzzz{{zz|{zzz{zzzzzzzzz{z{{zzzzzzyzzz{yzz{yzzyzz{zy{y{z{z{{zzzzzyyz{zzz|||zzzzzy{{{{{{{zz{{{{zyyzz}zz{{{z{{z{z|zyz{{{z{{{{{z{zzzz{{z{{{z{{{z{zzzz{{{|{{{{{{zz{z{yz{{{z{z{|{{{{zzzz{{||{{|{{{z{z{{{{{{{{|||{z{{{zz{{|{{||z{|{{{{{z{{|{{{{{|z|{z{|{z{{{{|}||{z|{z|{{z||||{|{|{{{zz{z||||||{{{z|z{zz{{z|{|||{z{{|{{{{|{{|z{{|{zzyzz{|{|{{{}{|{zz{{zz{{{||{{{{z{{yzz{{{{{|{}||||{{z{{z}|{{|||}{z{{{zzz{|{{{{{}zz{{{z{{|{{{{}}{{{{zzz{z{|{|{{||{{{z{{{y{||{{||{zy{zz{zz{|{{{{||{z{z{{z{z{{{}{z{{{z{z{z{{{z{z{z|zz{z{{yz{{|z{{{{zzzzy{{z{{{z{{|zz{{zyzz{{{{|z{|||z{zz{zzz{z{z{{{zy{zzzzzz{zz{{{{{yz{|{zy{{{{{{{{{{{z{z{z|{|{{z|{zz{{{z{{{|{{{{{|{z{zzz{|{{{|{{}{|{|{{z{{{|{|||{z{{{{{{{z{|{|z|||{{z{z{{{|||{{||{{z{|z|{||{|{||{|{|{{{{{{{}{z|{}|{|{{{y{{{|{|||{||{{||{z|{||||{{}{|{|{{{{|{{|||{|}{{{{|||{}{|}||||z{{{{{z||||{|{|{z{{||{{{{|z|||||z{|{{{|{{{||}|}{|{{|{{{{|{||}{||{{{z{{|||{{|{|z{{|y{{{z{{||{||{{{{{z{z{{{{z||{|{zz||{zz{{{|{|||{zzz{zzz{{{z|||{}{z{{{z{z{||{{||z|z{{{{z{{||{{{{{{zzz{{{{{{{|{|{{{z|zzzz{||z|{||{{z{z{z{{z{z{{{{{zzz{zzz{|{{{{{{{{z{zz{{z{|{{|{z{z{zzyy{{{{{{{|{{z{|z{zzz{{{||{{{z{{{zz{{z{{{{{{{{{zzz{z|{|{{{|{z{z{{{{y{|{{|{z|{{{{z{{|{{|||{}|{z{{{{{{|{{z{{|{|z{{{{{z{|{|{|{|{{z{{{{z{||{{{{||{z{{{{{|{||{|{|}{{|{zz{{|{|||}{{{z||z|{{|{|{}||{{|{{{{{|||}|||||{{|}{|{||{|{|}|z||{{|||||}||||||{||{{|{|}}}|||||{||{{|||||||{|||{|{{{{{|||{||||{||{{|z{|{||{{{|{|{|{{{{|}||||}|{z{z{{{z{|||{{|{{{{z{{{{{|}{{{{|{{{{{z{z||{z|{|{|zzz{zzz{{{{{||{{{zz{{{{{z|{}{|{|z{{{{zzz|{{z|{}{|{zz{{z{{||{{||{zzz{z{{{{{{{{|{|zzz{zzz{{|{z|{|{z{zzzz{{{{zz|{{|zz{z{{{|{{{{{||{zz|y{{{{{|{||{{z{zzzz{z{|{|z{|{z{yz{{{z{z{zz|{{{zz{{{zz{{{{{{}{z{{zzz{z{{|||}{{{{y{{z{z{|{{{||{{{z{zz{{{|{|{|{}{{{z{z|{{{|{|{}|{{{|{{z{||}{{{{{{z|{{{z{{||{|{{{{{yzzzz{}{}|{||{{{{{|{{{|{||}{|||{{{{|{||{|||||||{{|{{{{}}{||||||||z{{|{{|{|}{}||{{{||||{{||||||}||{{|{{||{}||||||{|{{{z||||||||}{|{|z|{|}|{{}}||{|{|{z|||||{||{||{z{{|{|||{{||||{{{z{{{{{|{{||{|{{{{{z{|{}||{z{z{zz{zzzz{{z{|{{{z{{zz{zz{{{{{{|{{{zz{z{{{{{{{{{{{{{{zzz{|{{|{|{zzz{{z{zz|{|{{{{|z|zz{zy{{{|{{|{z{{zzzzz|{|{{|{|{zzzz{yz{{z{{{|z{{{{zzz{z||{{{|{{zzzzzzz{|{z{zz{zz{{zzzz{{{|z{}|z{zzzz{yy{{z{z{{|zzz{{{zy{{{{{|{zz{{{zzz{{{{{{z{{{z{zz{{{{{||{{{{{{{{{{z{{{{{{|{{{{|zz{{|{||{|{{{{yz{z{{{}{{{{{{z|zz{{zzz{|{{{|{{{{{{{{z|||{|{{{|zz{{{z{||{{}||{z{{|{{{{{{|{|||||{z{{{z{|{{z|{{{|{|{||z{{||{{{}||z|{{{{{{{{{|||{|{{{{{||{||||{}|}{{||{{z}{||{|||||{{z{z{||||{|{||{{z}{|{{{{|||{{|{{{{{|{{{{|{{}|{{{|{{{{{}{|}{||z{{{{{zz{{{{|zz|{z{z{yzz{|{z{z{|{{{zzz{{{{|{{|{|{{zz{{z{{z||||{{{{z{{{z|z{{|{z{{|zyzzzz{{{|{{{{|z{{z{{{z{{z{{|{{{{zzzzz{{zz{z{{{{|zz{zz{z{z{{{z{{{zzz{{{{||z{{{z{yzzz{z{{|z{{{{|{z{zz{z{{{{{{{|{zz{{zz{yz|zzz{{|zz{z{z{z{{zz{|{|zz|{z{zzz{z{z{{{{zz{|z{zz{zz{{{{{{{{y{z{|{||{||{{z{z{zz{{{{{{z||{{z{z{{z{{{{{||{{{{zz{{z|z{{|{{|{{{{{zz{{{|{z{|{||{|{z{{{{||}z|{{{||{{{|{{{{{|||{{||{{|z{{}|||||{zz{zz{{|}|||||}|{z{{{||z}{}z}||}||{||{{{||{||}||{{{|{z{{||||{|}{|{{{z{{{|{|}}|||{{|{z{{|{}{|{{}{{z{z{|{|{{{|{}|||{|{{{z{||||{|}z{{{zz{{z||{{|{z{zz{{{zz{z{{{|{{{z{zzz{{{{{|{|{{{zy{zz{zz{{|{{||{z|{{z{{{{{{{|{|{z{zz{zz{|{z{{{|{z{y{{{z{{{{{{z{zzz{z{{{{{{{{{{{{zzzzzzz{{{|z{{{z{z{zzzz{{{|{{{z{zzzy{yz{zz{|{{{{{zzzz{zz{z{{{{z{zz{z{zzz{z{z{{{{z{y{{zzz{|z{|{{{z{{z{zz|{{{{{|{{z{zzzz{|z{{{{||{z{{z{{{{{{{|{{{{z{zzz{{{{|{{{|{{{{{zz{{{{z{{||{{{{z{z{{{|{|{|{{{|{|{|{{|||{||{{z{|z|{z{{{|||{|{{{{z{{{|||{{}|}||{{{{{{{|||}|{|||{z{{{{z|{{{||||{{{z{z|{{{{{}|{|{{{|{{{{|||||||||{|{{{|{|||{||||{{{{{{{{{{|||||||{{z|{|{||{|{}}{{{zz{{z{{|{|{|||{{{{{{{|{{{||{{|{{{{{{z{{{|{|{{{{z{{{z{{{|{{{{||{z{{{{z{{{|{|||{||{{|{{{z{|{}|}{{{||z{{{{|{{|{{|{{{zzz{z{{{{{|z|zz{{{{{z||z{{||{{{{{z{{{{{{|{|{{{zz{{{{z{{{{z{{{z{{{{{{{{z{{{|{z{{{{{{z{{{{{|||{{{{z{{zz{|{{{{{||{{{{zz{{{{{{|{|{{{zz{{zz}z{|{{{{{{z{{{z{{{|{|{|{z{{{zz{||{|{}||{{{{zz{|||{{||||{|{{{z{{|z{|{||{{{|{{z{{{{|||{|||{{{{{{z||||{|||{{zzz{{{{|||{||||{{{{{{||{||}|||{{|{{{|||||{||||{{|{|{{||||||||||{{|{|{{}|}||||}|z|{{{{{|||{|}}}||z{{{{||}|||}}|||{|{|{{{||}{|||{{|{{{{|{||}}|}||{{||{z||{{||||}|||{{{{{{{{{|}||{||{z{{{{{|{{||}|{{{{z{{{||}}z|{z{z||z{{{}}{|{|||{{{|y{{|{{{{{|{zz{zzy{{{||{{|||{{z{{zz{{{|{{|||{z{{{{{{{|{{|||}z{{{{{{{{{{{z|{||z{{z{{{||{{z|{z|{{zzzy{{{z{z{||zzzz{z{z{|{z{|{{{{{{zz{zz{|{{{||{z{{z{zz{{z{{|{|{z{{zzzz{{{{{|||y{{{{{{{{|{|{{|{zzz{z{zz{|{|{{|{|{{{zz{{{{{|{{{|{{{z{{{z{{|{{}{{z{z{z{{{{|{|{|||{{{{z{{{||{||{||{{{{{{z{|{||{{{{{{{|{z{{|{{z{|{{|{{{|{{{||||}}||{{|{{||{|}||{}|{{zy{{|{{||||||}||z{{|{{{{||}|||}|{|{{|{{{|||{|}}||z{{{|{{}|||}}}|{||z|{||||||}}||{||{|{{{{{|{||}||{{||{|{|{||}|||{{{{||{{{|||||||{{{{{|z{{|{{|}|{{{|{z{{|{}||{||z{{{{yzz{{|{{{|||{{{zyzz|{|{{|||{{{z{{{z|z{|{{{{{z|yz{{{{{}|z{|||z{zz{zz{|{{{|{|zz{{{{{z{{{{{|{{{zzz{{zz|{{{|{{{{{zzzyz{z{{|{{{{zzzyyzzzzz{{{{{|{z{{yzzz{{{{}{{{zz{zzzzz{{{{{{|{{zz{{z{z{{{z{{{z{{zz{zzzz{z{{z{||z{{z|{z{{{{{{|{{{zz{{{|{||{|{|{{|{{z{{{{{{||{||{{zz{{{{|{|{||{|{zz{z{{zz|{|{z{{{z{z|{{{{|{|{{||{{{z|z{{z{|{|{{{{{{{|{{{{|}|{|||{{z{{{{{|{{|{}}|{z{{{{{{|{|||{{{|z{{|{{{|||||||}||{zz||{|}||{}|||z{{{{z{{|{|{|{||{{||{{{||{|}}|{{{z{|{||z||{{||{{{z{|z|{|{|||||||{|zzzz{|||||{|||{{{z|{{||{}{|}{{{{z{{{{{||}{||{{{z{{{z{{{{z{{||{{|||z{{{|{||{z|{{{z{|{z{{||{|{{{{{z{zz{z||||z{|z{{zzzzz{y||{{{|{{{{{z{{z{{{{{|{|z{{{zzz{{{{{{z{zz{zz{z{{z{|{|{|{{{{|z{y{{{{{{{|{{{zz{zz{z|{||}{zz{|z{{{{z{|{{{{{{{zzzzzz{{{{{{{{{yzzzzz{{z{{{{|{{{{{{{z{{{{{{}{|zz{|zzz{{|{||||zz|z{{{{{|{{||{}{{{{z{{{||{{||{||{{|{z|{{|{{|||||{{z||{{{|{{|{{{|{{{|{{{{{{||}||{|{{|{|{{||||{}||{{{{{{{||{}|||}|{|{|z{{{|||}|||{{z{|{{{||}|{|}{|{|{{|||||{}|}|{|||{|z|{{}|||{}|{{|{y||{||||{}{}|{||{{{{{{|}|||}}{{|||{{{{|{|{|||||z|{{{{}|{{{||{{z{{zz{|||{|||||{{zz{{|{{{|}||{{{z{{z{z{{||{{{|{{z{zzzz{{|z{|||z{{z{{{z{{|{z|||{zzz{{{{{z{{zz||{{{zz{{y{{|{{|{||z{{|zz{{||{z|{{{{{{zzz{{|{z|||{{zzz{zz{z{z{{|||{zz{{zzz|{{{{{{{z|{zzzz{z{|{{{{}{z{{zz{y{{{{{{|{zzz{{z{zy{zzz{||z{zzzz{{{{z||{{|{zz{{zzzz{|{|{{}z|zz{{{{z|{{{{|||{{{zz{z||z{||{|{z|{{zz{{||{{{{{{z{{{z{{z}||{||{|z{{{{{z{|||{|{{|{{{z{{z|{{{|{|{{|{{|z{{|{|||}}{|{|{z{||{{{}{|}||{||{|{z||}|{|}{|{{||{{||{|||}|}|z{{z|{|{||||||||||{{{|{{||||}|||{|{|{{{|{|}{}}}|{z{{{{||{||||||||{{{|z{{}||||}}{{|z{{{|{{|{{}}{|{{{{{{z||{|{|}|{{{{{z{{{{|||||{{z{zzz{{{{|{|||{{z{yzzz{{||{{z{{{{z{{z{z{{{{{{|z{z{{zzz{{{zzz|{{|{{xzzzz{z{{z{zz{{zz{zz{{{{z{{|{{{{z{{z{z{{z{}{|z{zzzz{{{{{z{{{{z{zzzzzz{{|z{{{z{zz{yzz{{{{{{{|{{z{z{{{{{{{|{{{|y{{z{z{zz{{{{{z|yzyz{yzzz{{z{{{||z{zz{zz{{{z{z|{{{{{{z{{{{{|z{{{{{z{{z{{z{|{|}|{{{{{z|{{{{{|{|||{{z|{{{{{|{{{|{||{{z{|z{{{|{{{||{z|{{{{{{|{|{|||{{{z{|{z{||||{||{{{{{{}{|}|||}}{|{{{z{{{||{}|||||{{{{|{{|}|{{{||{{{{|{{{{{|||||||||{{{{|{|||||}|||{|||{{|||||}{{{z{{{|{{{{{{||}|{{{{||z{{{{||{|||{{z{{{|||||{|{|||{|{{{z{|||{{|{|||z{z{{|{{||{{|z{{{{{z{{{{{|||{{{z{{z{{{{{||}|{{{zzz|{{|{{{{|||{|{{zz{zz{|{||{{{{{{{z{z|{zz{{{{{zz{z{{z{{z{{|{|{{{z{{{{z{z|{{|{{z{{z{zz{{{|z||{z{zz{{zzz{{{z{|{zz{yzzzzz{|z|{|z{{{{zz{z|{|z{{}|{z{{zzz{zzz{z{{{z|{zzz{{y{{{z{|{{z{{{{{z{z{{{|||{z{{{{{{||{{{|||z{|{zz{{{{}|{z{{{{|z{{|{|{z{{|||zz{{|z{z{|{|{|{|{{|{{{{{|{|{|{|{{z{{|{{z|||{|{|{{{{z{|{|{{}|{|{|{{|{{{|{|{||{||{|{{{{{z{||{||||z{{{|{{{{{|||||||||{{{{z{|{{|||}{{|z|{{{|||{||}|||{{||{{{{|}|{}|{{{z{{{{{{}||{{||{{z{||{||}||||||||{{|zzz{|{||{|||{z|{{|{{|{{||{|z{{{|{{{|{{{{|{zzz|zzzzz{{|{{{||{{z{z{zzz||{|{{}{z{{{z{{{{{|||||{|{zy{z{{{{|{{|||{zz{{zz{{|{|{{{{zz{{zzz{{|z{{|{{zz{z{{{{|{{{|}{z{{{yzzz{{{{{|||{zzz{zzz{{{|{{{{zz{zzzzz{{{{|{|z{{{{zz{z{z{zz{{|{z{{z{zzy{{{z{{{zz{{z{z{{{{z|{z|{{{{{|{z{{{{{{|||{zz{zzz|{||{||}{{{{zz{{{z|||||{z{{{{{z{||{{{{{||z{{{{zz{|{|{{|||{{zz{{z{||||{||{||{{{{|{{|{{||z{z|{{{z{|{|{|}}|||zz{z{|||{|||}||{{{{zz|||{||{{{|{{{{{{z}|}|||||{{{z|{{{|{|{||}||{z{z||{{{||}||{|{{||z|{||{{{||||{{{|{{{{|}{{|||{{{|{z{{|{z|||||{{{z{{{{{|{||{}}{{{{zz|z{|||{||{{{|{{{{{{|}}|z{{z{{{{yy{|{{{{{|||{{z{{{{{{|z|{{|{zzz{z{{z{{z{|{{{z|{zzz{{{|{|{{{z{|{z{zz|{{|{|z||{{{{zzz{{z{{||{{|z{z{z{z|zzz|{{{{{zz{z|z{z{{{|{z{zzzzzz{zzzz{{|zzz{zzyyz{{zz{{{{{{zz{{y{{{|{{{{{zz{zz{zzzzzz{{{z{{zzzzz{{zz{z|||zz{{z{zz|z{z{{|{zzy{{zz{|{z{{||{z{zzz{z{{{|{{{|z{|{z{{{{{|z{{|||{{{{y{{z|||||{{{z{{zz{z{{|{|{|||{{{{z{{{|{{{|}|||{zz{{{|{|||||{{{|{z{||||{|{||}|{{{{z{{{||||||}|{{||{|{||||||{|}zz{{{{|{{|{|{|}}{{{{{{z|~|}||||{z||z{{|}{z|{{|}{{{{{{{{|||{||}|{{{{{|z{||{|{|||{{{{y{z{|{{||}||{{{|zz{{{||||{||{{{||z|{{|{||{{{zzyzzzzx{|{{{{{{zzzzz{zyz{z{{{|||{z{zzzz{|z|{{{{|y{z{zzz{{|{zz{{{{{zzzzz{{{{z{{{{{z{z{zy{{{zz{z{{{zzzzzz{{{{z{{z{zzzzzzz|z{{{{{|{zyzzzzzz{{{{z|{zzzzzzzyz{{{zz{z{z{zzyzzz|z{{{|{zzzz{{zz{z{{z{z{{zzzzz{z{|z{z{z{{zzzz{z{{{{z|{|{{{zzzzz{{{{{{{|{|{{zy{z{|{{{||{{{z{zzz{z{{|{||{|z{z{zz{z|{{|{|{{{zz{{zzz{{||{{|{|z{z{zz{{{{{{|{{{{{{{z{{|||{{||{{|z{|z{{|{z|{|||{{z{{z{{{|||||||{{{{|{{z||{|{}}|{|{{}{{{{|{||||{{{z{z{{{{||{|{|{|{|{{{{z|||{{}|||{{{{z{|{{{z{{{|{|{||{|{||{{||}|{{{z{{{{{{{{||||{z{{z{{{{{||{{{|{{{{{z{z|{||{|{|z{z{zz{zz{{{{{|{{{{y{z{z{|z|{|{{|z{zz{zz{|{{{z{||{{{zzz{z{{|{{{{|{zzyzzz{|{{{{{|{{zzzzzz{{{|{|{{{z{zz{zz{{|{{|{{{{z{z{z{{z{z{{{{yzzzzy{{zz{|{{|{{z{zyz{{zz{z{z{{{{zzz{zz{{{{z{{{{{z{zy{yy{zz{{z|z{{yz{{zz{{|{{{{zyz{{zzz{z|{{}{{{|zzzzzz{{{{z{||z{z{{z{{{{z{||{{{{{{|{{{|||{{|||{z{{zz{z{{{{||{{{{|{|{{{|{}||||{{|{{{{{{{|{|{}{|{{{z{{{{|{{{{|||{z{|zz|}|{{|{|{|{{{|{zz{{||||{}|||{{{{{{{|{||||{|{{{z{|{{|||}{||||{|{{|{||}}|{|}||{{zz{{{|{}|||||{{|{{z{{{{{|||}||z{{z{|||||}{{|{|||{{{{||}|||{{{z{{{{|z{{|{{}{|{{{{|{zz{{|{{|{{z{{{{z{{z|{||{{}{{|{zzzz|{{{{|||{{z{{zzz{{{||{|{{{|{{z{|{|{{z{{zz{{zz{zz{{{|{{{{{|{{zz{{{{{{|}{{|y{{zz{{{{{{{|{{{z|z{zz{zzz{{{{{{z{yz{{z{{{{{z}|{zzzz{zz{z|{||}{{z{z{{{yzz{|z{{zz{{{zz{{z{{{{{{{{zzy{{{{z{{{{|{{{z{{zz{zzy|{{{||{z{z{z{{|{{{{{{{{z{|{{{{|{{{||{|{{{{{z{{{{{{{|}|{{{{{z{{|{{|{||{|{zz{{zz{||||||{|{zz{{{|{{{{{{{{{{z||{{z{||||}}|}{{||{|{{||||||||z{{{{{z{||{|||}|z{|{{zz|||{{}}||{{zz|{{|{|||||||{{{{|z{{||||{}|{{||||{{|||||||{|||{{|{{||{||}|}|{||{z{}|||}|||}{{{z{{zz{{{|||{||{{|{z{{{{||||{{|{|{{{{{{{{{z|{{zy{z{{{{z|{{z||{z{{z{zz{{{{{{{||{z{z{z{z|{{|{{}{{yz{z{zzz|{{{{||{{zzz{zz{{{{{||{{z|{{{zz{{|{{|{{{zzz||z{{{{{{|{{{{zz{{z{{z|{{|{{zzyzzz{zz{{{zz{{{y{{{|z{z{{{|{||{z{zz{zy{{|{|{{{|zz{{z{z{z{{{{{|z{zzz{zz{z{|{|||{|{z{z{z{{{{{|{||zzz{{{{{|{z{z{||z{z|{|{{{|{|{||{{{zzz{z{|||||{|z{{{{{{{{z||{|{||z{zz{zz{{|||z{|{{{{{{{||{{{{|{{{{{z{{{{|{{{{{||{{{{{{|{|||||||||{|{|{|z||}||||{{{{{{|{z|||{}{||{{{{{{{{||||}||||{{|{|{|||}|||}||{{|{{{{||||}||{{{|||{{{|{|{||||{{{|z{|{||{|||||{|{z{{{||}|||{{||{{|z{z{|||||{||{|{z{{{z{{{{{|{z{{{{{{z{y{{{{{|{{zz{zzz{{{{z|||{{z|zz{zz|{{|{{|{{{{z{{{{{{{|{|{{{z{z{{{z{|{{|{|{{z{z|z{z{{{{{|{{zyzz{{zz{{|z||{{{{{zzz{{{z{{|{{|zzzz{zzzz{{|{{{{z{y{zzzz{|{zz|{{{z{zyzzz{{z{z|{{zyy{zzzz{{{{{|{|z{zzzzzzz{{{z|{{zz{{zzzzz{{|{{{|{{z{zz{z|{{{z{||{{{zzz{|{{{{||{{{{{{{{{{{{{{{|}{zzz{{{{z{|{|{{|{{|{{{|yz{{z{{||||{{{|{{|}|{{{{|z{{{||{{{|||{|{}{{{{{|{{|{{}|{||{{{{zz}{{}||{|{{||{{|{z|{{}}}||||{{|{|z|{{{{}|}|||{{{z{{{{||}{|||||}|{{{|||{|{|}{|{{{|{{{||||}|||}z{||{{|||{||||||{{y{z{{{|{{|||}|{{|z{z{{||{{||{{z{{|z{|{{{{{{{{zzz{{zzz{{{{|{|{|{{z{z{z{{{{{|{{|{{{{{zz{{{{|{|{zz{{zz{z{|{|z{{|{z{z{{{z{{{{{{{{{{{zz{{{z{{z{{{{zz{zz{{z{{|z{{{{zyzz{{{{{{|{||{z{z{{zzzzz{{{{z{{{{zz{{z{{{|z{{{zz{zz{{yz{{z|zz{{z{zz{zzzzzzz{{{{{z{zzzzzy{{z{{{{zz{zz{{z{{{{{{{{{{z{{z|z{|z{{z{{{{{{{{|z|{{||{||z{{z|z{||{{|||||{z{{{zzz{|||{|||{z{{{{zy{{{{{||{{z{{{{z{{|{{z|||{{{{{z{{{|{{|}||{z{||{{|{{|||{||{z{{z{z{{}{}|||{|{{|{z{{||||||||{{{{{|{{{|}|{|}}}{{|{|{{|||||{|||{{|z{{z||||||}||{{{{{{{{|{|||}||{{{{{{|||{|{|{|z{{{{|z{{{||{|||||{|{{{{{|||{||{{{|yzz{z{{|||z{{{zzz{{{z{zz{{||{{{zzzzzz|z{z{{||{{{z|{{z{{|{|{|{{zz{zzzz{{|{{{{{{z|z{z{z{{{{{z{|z{zzzz{z{|{{{{{{|{zz{{zyz{zzz|{|{zzyzzyz{z{{{z||z{zzzz{zz{|{{||{{{z{{{y{{|{{{{{{zz|zz|z{{|{{{z{{{z|{zz{y{{{{z|{{{{z{z{zzz{{|{|{{{{{z{z{z{|{{{|{{|{z||z{{|{z{z||{zz{{z{yz|{{{{|{|{{{z{z{z{{|{z|}}{z{{{z{{|{{}{||{{z{z{{{z|||{z||z{{{{zz{{{||{{{{z|{|{|z|{{{{{|{|{{{|{{{{{||||{|}||||{{{{{{|{||{}{|{zz|z{{|}{{||}{{{{{|{{|z{{||}}}|{{{{{{{||||}||}|{{{{z{{|{|||||||{z{{z{||{||||{{||{||{{{|||||{}|{|{z{{z{{||||||||{|z{{{{{{{}}{|{{{{{{|{{|{|{{{||z{{z{z{z{z{{{{{{z|{{zzz{{z|||||||{zzzz{z{{{z{|{||zz{zzyz{}||z{{|z{{zz{{yz{|{|{z|{z{z|{{{z{{zz{|{{{{zzz{{z{{{{{{{{{{zzz{{{zy{|z{{{zz|{yz{||z{z{{z{zzzz{zz{{{{{{||z{zyz{zz{{{{z{{{z{z{z{zzzz{zz|z{z{zz{z{z{|{{z{z{{z{{{{zz{{{{{{|{{{{z{z{{{{{|z{|{zzz{{{{{{|z{|{{|{{||zz{{{|{{{|{||{{{zz{z{z{|{||{{{{{zz{{{|{|{{|{{z{{{{z{|||{{|||{{z{{{|{|{||||||{{{{{{{|||{|{||{||z{{{zz{|||||}||z{{{{z{{{{||{||{|{|z{{{{{||{||||{{{z||{|||||{|||{{{{{{{||{}{||||{{{{{zz|{{{|}|||{{||z{{||{{|{||{{{zz{z{{|{||{|{||z{{{{{|||||{|||{{{z{z|{{||{|{{{{{z{{{z{|{|{z|{zzzz{zzzz{{{{|||{{zyzzzz|{{{||{{{{{{{zz{{{{{{{|{{z{{z{zz{{{{zz{{{{zz{{|z{{{{z{{{{{zzzz{z|{{{z{z|z{{zzz{zz{{|z{{{zyzyyzzzzz{{{{|{zzz|zzz{{{z{{{z||z{zz{zz|{z|{{|{{{zzzzzzz|{z{{{{{{zz{{{z{{zz|{{zyz{y{{y{{{{z|{|||z{z{z|{{z{zz{{{{{{zzzz||{|z{|{{{zzzz{zz{{zz{{{|{{|{{z{z{{|{{|{|{z{zz{zz{||{{{||{{{{{zz{{{|{{|{{{{{{|{z{|||{||}|{{{{{{z{|{|}||{|z{{zz{{{{|}{{|}{|{{{|{{{|||{{{||{{{{{{{{{|||||||||{{{|z{|}|{|{}||{{{{{{{||}}{|}|{{}{{{{{{}|||{|}|{{|{{{}{||{||||{{{{{{{{{|{{||||{{zz{||zz|{|{{|{{{{yz{z{{{|{zz{{{|{{|z{z{z{||{{{{{{y{zyz{{{zz|||{{{z{{zz{{z{zz{|{zz{zzyzz||{{{|{{z{z{{yz|{}y{{{|{{zzz{{z{{{{{{|zy{{{zzzy{|{{zz{{{{z{zzzzz{{{z{{{{z{zzy{{{{z{|{{{zyzzz{zzz|{z||z|zzz{z{z{{{|{{{z|{zzzzzzzzz{z{|z{zz{y{{{z{{z{{{{|z{{z{{{{{{zz{{{{{zzz{z{{||z{{|{{{zz{{z{{{{{{|{||{{yzz{{{{{{{{||||{{z{y{{{|{|z{{|{{{z{{zz{|{{|{}|zz{{zzz{|||{z||{||{{{{z|||||{|||{|{|{{}|||{|||||z{z{{{{{{{{{|{}}|z{{|{{{|}|{|}|||{|{zz|{{}|{{|{|||{z{z{{|}||||||{{{|{|{{|{||{{||||{{{zz{|{{z|||}{{{{{{z|{{||~}||{{{{z{{{{|||{{{{|{{{{{{z{{{||||z{||{{{z{z||{{{{{{{xz{{z{z{|{{{z|z{{zzzzz{{{{z{{}{y|zzz{z{{{{{|{{{{z{zzzz|{{{{{|}{{{zzzzz||{{{{{{y{z{zzzyz{{{{{z{z{zzzzzz{zzz{{{{{{{{{z{zz{z|{{{|zzz{zzzz{{{|{z{z{z{zz{zz{{{z{{{{{{{z{{zyzzy{z{|{{zzzzzzzzz{z{z|{z|{{{zzzz{zz{{||{z{{z{{zz{|||{||{{z{{{z{z{{z{|||{z{z{z{zz{{{{|||{{{z{zz{{|{{{{||{z{{zz{z{|{{{}y{|{{{|{z|zz|z|||||z{{zz|{{|{{{{|||{|{{{z{|{{|{|{|{{{{{{z{{|||{|||{{{z{{z{|||||{|||{|{{{|{||}|{|}|{{{{{|{{{}}{{||||{{{{{{{{}||||{|{|{{{|{{{}}||||{{{{{{|{{{{|{}|}|{{z{|{z{||{||||||{{z{{{z|z||{||}{zz{{{{{||{||{||z{{zz{{z{{{|z|{z{zzzzzzzz{{{z{{{z{zzzyz{{z{z|{{|{{{zz{z{|{{||{||zz{y|zzzzy{{z{{{|z{z{zzz|{{|{{{{{z{zz{zz|||{z||{{z{{|zzz{{{{{z{{{{{zy{{{{z{z|{|zzzzzz{zzzzzz{|z{{{zzy{z{z{{{z{{|{z{z{{z{zz|{{|zzz{z{zzyz{{{{{{{{zzzzzzzz{{{z{{{{{{{z{{zz{{{|{|||{zzy{zz{|{{{{|{{{{{z{{{z{|{||{{|{{{zzz{z{|{{{{|{{{z{{z|{||{|{|}{{zzz{{{{{}{{|}}||z{{{{z{{|z|{|||{{{zz{|{{{{|||||{{{{|{{{{|{{{|{}{{{{{z{{{||{|||{|{{||{{{|}||{|||{{{{|{||z{{{||{||{{{{{|{{|||{|}}||{|{{|{|{|||||}{{{z{{{{{{z{{||||{z{{|z||}||{||||{z{{{{{{|||{{||{{zz{{{z{|{|||{||{{{|zzz{|{{{{{{|{{zz{{zz}{{{|{|{zzz{zz{{{{||{|{{{zz{{{z{{{{{||{{{|{zzzzz{{{{{{{|{{z{{{{{{||{zz|{zz{{{zz{|z{{{{{|z{|z{zz{z|{|{|z{{zzz{{zzz{|z{{{z{zyz{{{{{{{{{|{z{{{{zz{z{|{{{|{zz{zzzz{|{{|{{|{{zzz|zzy{{{{{|{z{zz{{zzzz{zz{|{{{z{{{{{z|z{{{{|||{{z{{{y||{{|{{|{{{z{z{{|{{{{{{{{{{{zzzz|{{{{|{{|{|{{{{{{|{{|{{|{{{z{{z{{|||{{}{{{z|{{{{{||{{|{z{{|{||{z{{}|||||{{{{{{{z{|{}{~|{{{{{{z|{{{||}{|{|z{{{|{||}||{{|{|{z|{{{|{|{|}|}}{|{{z|{{{|||||||{|z{{zz{|{|{|||||{{||zz||||{}|||{|{{|{{z{|}}}|}||{{{{{z{|||||||{|{{{{{{{{||{|{|||z|z|{{z|{|||z||zz{y{z{z{{|z|{{{{zz{zzzzz{|{{||||zz{{z{y|{|z{{}{{{z{zzzz{{||{z|||zz{z{{{{{{|{{{{{{zzzzz{{{z|{|}zzzz{z{{{|z|{{||zzz{zzz{{{{z{{{{|{{{zyz{z{{{{{zz{zzzzzzyz{{|{{|{z{z{zzz{{z{|{z||{{{zzzz{zz{zz{{|{{{zzz{{|{{|{{{|zz{z{{zzzz{{{{{{{{{zz{yz{{|{{z|{{{{z{zzz{{{{|{}||{{zzz{{{{|}{{{{||{zz{z{{{||||||{{{{{{zzz|||||{|{|{z|}{z||||{|{{||{|{{{z{|{{||||{{{{z|{{{{||{{{|}{{{{{zzz{|{|{{||}{{{{{z{|}||}{||{|{{{{|{{{{{{|||{}|{|{{|{|}||{|}|{||{{{{|||||{{||zz{|{{z{|{}|{|||{{{||{{z|||{}||{{{{{{{z{||{||||{|{|{{{z{}||{{||z{{{{z{z|{|||{{|zzzz|{z{{{{{z{|{{zzz{zz{|{|{{||{zzzzz{{{{z{{{{||{z{{|{yzz{z|{{{{{||{yz{{z{{{|{|{{zzz{z{zz{|{{||{|zzzzzy{{{{z{|{{{{|zz{zz{{{{{{{{{y{{zz{z{{{{{{{{zzyzzzz{{{|{|{{{z{{|{{y{{{{z|{||{zzzzzzyz{||{{|z{z{yz|{{{{|{{{{|{z{z{{{{{{{{|{{{{{{z{zz{|{|{{{z}|z{{zz{{{{{{{|{|{z|z{z{z{{|{{|}{z{||{z|{{|{|{{||z{{z{{{{|{|{|{|||{{|{zz{||||{{{}||{{|{z||{|}||||{{{{||{{{|{||||}|{{|z{{{{||||||||{{z{{{{}}{|{|||{|{|{{{|||{||{{|||{|{|{||}||||}|{{|{{z|{{{||||}{{z{{{{{|{|{z{|}}}|{{{|{z||}|{{||{{z|{|{{|{||{|||{|{{{{{{{{|||z||{{{{{{{{|{|{|{{zz{zzzy{zzz{z{|{|z{yz{{{{{{{{|z{||{zzzyz{|{z||z{{{z|zzzyzz{{{{{||{z{yzzzz{z{|{{z{{z{zzzz{zzz{z|{{yz{z{zzyzz|yz{{{zzzyzzz{z{{z{{{{zzzzzyzz{{{{{z|{{{z{yzzzz{{{{{|zz{{yzyzzz{||{{|{{{{{zzzzzz{{z{z{{z{yzz{{{{z{|{z{{z{{z{zz{|{{{z{{{{zz{{{{{{{z{z||{z{z{z{{{z|{{{z{zzzzz{{z{|{z{{}||z{|{{{{{||{||{|{z{{{zz{|||{|{||zz|{{zz|{|{|{||{{|{z{{{{z{|{{|{{{{|{{{{{{|||{{|{{{{{{zz{z{|{{||||z{z{z{{{}|||||{{{{{|||{{|{||||}|zzz{||{||{{{|||{{{{{{{{{|||{{||{{{{{{z{||{{|||}{{y{{|{{||{{{|||{|{z{{{{|||{{||||{{{{z{z{{|{{{{|zz{z{{{z{||{{|||zzzzzz{z{{{{{{{{zzz{zzzz{{z|{{{|{{z{z{zz{{z|{|||{{{z{{{{z{|{z{{{{{zz{{{z{{zz{{z{{{{zzzzyzzzzz{{{{{zz|z{{{z{{{z{|zzzzz{{zzzzzz{{{zzzz{z{zz{zz{{{{z{zzyzzzzzz{{{{{{zz{y{yz{{{z{{|{zz{zzzzyzy{{z{|{zz{zzzy{z{{{z{{{{z{zz{zz{z|{z|z|{zz{{{{z|{{zz{{|{{{zzzz{{{z{{{{|z{{{z{{z{{{{{{|{|z{z{zz{{}|{||{{|zzz|{z{{{|{{{|{|z{{zzz{|||{{|{{|z{{z{{{{{|{{|{|z{{|z{{z{|{||||{{{{{{{z|{{{|{|||{{{z{{{z{|||{{}|}{|{{||||}{{{|{|{z|{||z{{||||{}||{|{{{z{|||{{{{|{{{z{{{|{{z||{{{{{{{{|{{{{{{|{||{{{z{{z{{||{{||||{{{z{{{{||||{||z{{{zzz{||{{|{{{zz{{{zzzz{z{{|{}zz{z{zzz{|{{||{{{z{zz{z|z{z|{{{|{{{{{zzyz{||{{}|{zy{z{zy{{{{zz{|{{{zzz{{z{{z{||{{{{{{zzz{{|{{z|{z{zzz{z{{{|zz{z{z{{zz{zy{z{{{|{{{yz{z{z{{{{|{|{{zz{yzz{z{{|z{|{|zz{{{z{zy{zz{z|zzz{z|zz{zz{{{{{{{zz{{zz{{{zz{{{{{{z{zz{z{{{{z{||{z{{{z{{|{{|{{{|{{{{{{z{{{|{{||||z|zzz{{{||{|||{{|{{{{{{z{||{z|{{{z{{zz{|{{{{|{|{z{{{|{{z{||||}{z|{{{z{||z{||||}zzz|zz{{{||||{}{||{{{{{{|||{||}}|||{z|{{|||{||{||{{{{|{{|{||{}||{{|{{{z}||{|||}||{|{{{{|{||}}}|||{{|{{|}{|z|{}}{{{z{z|zz{{{{{||||{{{{{{z|||{{||{{{{z{{{{|{{{{z{zz|zzzzzzz{|{z{{{{z{z{{zz{{||z|z|z{zz{zz{|{{{z{{|{zzz{zz{z{{{zz{{{zzzzyzzz{{{||{|{z{{zz{y{{z{{{{{zzzz{zyzz||{z{|zzz{zzzzz|{{{{{{{z{{yzy{z{{{{z{{{zzzzz{yzz|{z{{z{zz{zzzyy{{z{{{{{zz|zzyyzy{{yz{{{{yzzzzz{z|{{z{{{zzz{zzzzz{zz{{{{{z{{{z|z{zzzz|}{{z{{zz{y{{{{{{z{{{|{zzz{{zz{{{{{{{|{{z{z{|{z{|{z{{{zzzz{|{{|{{}{|z{{{{{{{||{|{{{|{{z{{z{{||{|{{{z{|z{zz{{||z{||{|z{{{|{{{{z||||{|y{|{zz{{|||||}|{{{|z{|{{{{|||||}|{{z{{z|}{||||||z|{{{{{}||{{|{{|zz{{{{{{||{{|{|{|{||{{{{|{|{|{||{||{z{zz{|{{||{{{z{z{|z|{{|z{|{{{zz{{{|{{|{{{z|zz{zzzyyz{|{{z{{{{z{yzzzz{{{zz|{{zzz{{z{{|{{|z{||zzzzzzy{{{{{{z{{z{z{zzz{{{{{{{{{{z{zz{zz{z{z{z{|{zzz{yz{zzzz}{zzz{z{zzz{{y{{z{|z{zyz{zz{zz{z|{{zzzzzzzzz{{{{{{{zz{{yzzyz{{{|{{{{zzy{zzyz{{z{{{|{zzy{zzzz{z{z{z{{zzzz{zz{{z{{{{{{{zy{z{z{{{{{{{{yz|{zz{{{{{{{||{z{{z{zzy{{{{{{|{{{{|zzz{{|z{{{||{{z{zzzz|{{{|{||{z|zz{z{{{{z{{{{|{{z{{{|{|{|||||{|z{{{{{|{||{{|{z{{{{zz{{|||{||{{zzzz{{{|}|{{{|{{{{z{{z{z{{||||||{{{{{{{{||{{|}||{|{|{{|||||{||||z{|{{{{{|||}||}||{{z|{|{|{||{|||{{z{{{{z{|{|{||{{{{z{|{|{{{{||{z{|{zz{z{z{{{z||{yzz{y{z{{{|{|z|zzzzzzyz|{{{{|{{{z{z{{{z{yz{|{{|{{{{{zzz{{{||{z{{{zzzzzz|{{{z|{|{zzyz{{{yz{z{{|{{zzzzzzzz{{zz{{z{{{zyzzzzz{{zz{|zyzz{{yz{|{z{{{{{zzzzzz{z{z{{{{{zzzzzyzzy{{{zz|{{{zzzyzzzz{zz{{zz{{y{zz{zz{{{{{z{z{{{{zzzz{|{z||{zzy{zz|{{|z{{{{z{zz{{{{{z{{{||{z{z{{{zy{{||{{{{{|{{{z{z{{{{||||{{{{zzzy{{{{{{|{|z{{{{z{{{{z||{{{{{|{zz{z|||{{{z{{{{{{|z{{{|{{||{{zz{z{z||}|{{|||{{{z||{||||}}|{{z{{{{{|||}|{|||||{{z{{{z|{||||{|{{|{z{|{{||||{|{z|{{{z{z|{{|||{{{{{|{{{{|{|{{||{{{z{{{z|{|{|{|{{z{{{{{{{{{|{|||{{{{{zzzz{|{{{{{y{zz{yzz{{z}z{||{{zzz{{z{z{{||z{zzz{zzzz{{z{{{|{{{zzzzzz{{{|z{{{|z{{zz{z{{|{z{{{z{{{zzzzzz{{zzz{z{{zzzzzz{{{{{{{{{{z{{{z{{z{z{z{zy{yzzzyz{z{{{z{yzzzzzy{zz{{{{{|z{{{zzzz{|{{z|{z{yzyzz{{z{{{{{zzz{z{{zzz{{z{{|{z{z{z{{zy{|{{{{|{{{|zzzzz{|{z|||{y{zzzz{z{{{|{}||zz{z{z{{|{{{|}|{{zz{{z{{||{|{||{{|{{{|zz|||{{{|{{z{{zzz{{{}zz{{{|{z{z{{{{{|}{|z|zz{zzz{z||{{{|}}|||{{{{{|||||{||{{zz{{z{{|{||{}{{{{{{{{{{{||}}|{|{{{{|{{{|||{|{||{{{{{z{|||}{||||z{{|{{{}|||{||{{{{{{{||{|||||||{{{{{zzz|||||{|{|{{{{z{y{{|{{{{{{{|zzz{{{{|{z{{zzzzyz{zy{|{{{{|{{{zz{z{z{{{{z|||{{{{zz{{{{||{{||zz{zzzzz{z{{{{{|{{{{zzz{{{||z|||z{{zz{z{{||{{{}{{{z{{{zz{z|z{|{{z{zzy{{{zz{zz{{|{{zz{zz{z{{|{{|{{{zzzy{{z{{zz{|{zzzzzzzzz{{{{{|z{{zzzz{zz{{{zz{{|z{z{zy{z|{{{z{{{{z{{{zyz{{{{{||{z{z{z{y||{|{{||{z{{{z{z{|{z{{||{{{{z{zz{||{z|{{|z{{{{z{{{||{||{zz{{zzzz{{{{||}{{{{z{{zz{|{|{||||{|{{z{{{{||{|||{{{{{{{{|||{{|||{{{{{{{{{}||{||{|z{{{{z||{}||||||{{z{|||{|||}|{||{|{z||{{|||{|}|{|zz{{|{{}||{||{|{{{{{|{{|{{{}}}{{z{{{{{||{||}}{{||zz{z{{{{|||{{{{{{{{|z{}{|{{||{z|{zzz{{|{||{{{zzzz{zzzz{{{zz{{{zzz{z{z{|{{{{{{{zzz{{yzz{{{{{zz{zzzzzzzz{||{{{z{{zzzz{z{{z{{{{{z{{zzzzy{|{z{z|{|{zzzzzzz{|{{{{{zzzzyz{z{{z{{zzzzzzyzyz{zzzz{{{zzz{{y{zz{{z{{||{{{{|zzzz{{{{{z{{{y{{yzzzzz{{{|{zzzz{{{zzz|z||{{{{{z{z{{zz{{z|{||{{z{|{z{{{|{{||{{{{{z{{z{{{z{|||zzz{{{{{{{||{||{|{{z{zz{{|z|{|{zzzz{yzz{|||z{|{{{{y{{{{{{|{{z{|{z{|z{z{{{{{|||||z{{{{{{{|{{|{||{|{{{z{|{||{{{||||{{{|{{z{|z{||}|{{{{{{|{|{||||{|}{z{{|{{|}|||||{|{{|{|z{{||}{|||{{||{{z{|||{{|{||{{{{|z{{|{|{}{|zzz{{{z{{|{||z|||{{{z{z{{|{||{{{{{{{{z{{{{|{{z{|zz{{z{zzz{{{z{|{{{{y{{{y{{{{|{{{{zzy{|{z{|{{}{{{zzz{z{{{{{{{z{{{{{zz{z{z{{{{|{{zyzzyzzzy{{|{z|{{z{{zzzz{z{{{{{{{{z{zy{zzz{z{z{{{zzz{zz{zz{{{{z{|zzzzz{yy{|{{{||{{zz{zzzz{{{||{{{{zz{zzyz{{zz{{|{zz{y{{{zz{{zz{{|zz{zzzz{{z{{{z{{{{{z{z{z{|z{||{{{zz{zyzz{{{|{{|}{{z{{zzz{{|{{{||zz{z{{{{{{z|{{{{zz{z{{{z|{|{{||{{z{{{zz{{|{z{|{{{{zz|zz{{{|{|}{|zz{||{{|{|||{|||{{{{{zzz|{{||{|{|{{{{{{{{|}{|{||{{|{z|{{{|{|||||{{{{z{z{{}|||}|{{|||{{{{{||{||}}{{|{{{{|{|{{|}||{{{{{{{{||{{||||{z{z{{{z{|{{{{|{{{{{{{zzz{{|{|||{{z{{z{{{{{{{{|{yzzz{zyzz{z{{|{{zz{{{zz{|{{|{|{|{{z{{zzz{{{{{{{{|{{zzzzz|z|z{z{{z{z{{z{zz{{{{{{|zz{zz{|z{{z|{|{{{z{zz{{zz{{{{{{{{zy{zzz{{z{{z{{{{{yzz{zz{{{{{|||zz{{y{{{y{{{z|{{|{z{yz{zz{{{z{z{z{zzzyyzz{{{{{{{{|zzzzzzzz{zz{{|{z{{{zzz{|z{{|{|{{{{yz{{{{{{{{{{{z{{zz{z{{||||}|{|{{zzz{{{{{{{{|zz|{{{z{{z{{{{|{{{{{{{zz{|{{|||{{{{zz{{{{{|{{|{{{{{{{z|z{||}{{|}{|{{z{{{{|{|||}{{z{{{{{z{{|{||{|{z{{|z{{||{{|||||{{{|{{{{{|}{}|{}z{|z{{{{|||{}||}{{{{|{|||||||||{{{{|{z{{|{|{}}|{|{{z{|z|{||{}||{{{{{{{{{{|{{||{{|{{|z{z{|{||{|{{z|z{z{z{{|{|{{{{zz{yz{z{{{|{{{{{{{z{yz{{{{{{|||zz{zzzzz{{z{z|{{{zz{{z{{{{z{{{{{{{zzzz{z|{{{{{{|{{zyzz{zz|{z{{|{{zz{zzzz{{z{z|{{{yzzzyyz|{z{z{{{zz{{z{zyz{|z{{{zzzz{z{zzz{{|||{{{z{zzzz{z|{{{{{{{zzz{{zyz{z{{z{{|zz{zz|zz{z{{{|{zzzz{zzzz{{|{|{|{z{z{zzy{{||||{{z{zz{zzzz{|{{|}|z{{zz{{z{|{|{|{|{{zz{z{{{}{{{{{{z{z{{{{z{||{|{|||z|{zz{{{{{{{z{{{z{|{{{{|||||}{{{{zz{{z{{{|||{|||{z{zz{z|{}{||||z{z{{{{{|||||||{{z|{z}{||{||{||||{||{||{||{||||||{{{|{{{|{|{||{{{{z|{{z{{||||||||{{{|{{{|{||{||}{{{zz{z{{{{|{||||{{|z{z{||||{{||{{{{{z{{{||{{||{zz{z{yzyz{{{{{z|z{yzzzzz{{{|{{|{{{z{{z{{{{{{||{|zz{{{zz|{{{{{{{{{zz{z{zzzz{{{{{}z{z{z{zzy{|{{|{|z{zz{zzz{{{{zzzzzzzzzzz{{{z{z{{{{zzzzzzy{{z{z{|{{zz{{zyz{{{{z{{|{z{zz{zz|{{{z|{{z{{{zz{zz|zz{{{{{{{y{zzzz{z{{{z|z{z{zz|y{{{{{{||{|z{|{{z{z{{|{{{|{||{z|y{{|{||{|{{|zzzz{{|{{|{{|{{|{{z{zz|z|{|{|{|{z{{{{{{|{{{|{|{{{{{{{z|}|z{{|{{|{{{{{{{{|{|}|{{{z{{z{{|{|{||{{z{{{zz{{|{||||{|{{{{|zz|||||{||{||{{{{{{||{||{||{|{z{{{|}|{|{|||{{|{{{||}|{|}|||{{{{z{{||||{{|}{|{||z{|{|{{|{||{{{{{{z{{|||{|||{{{{z|z||||{{{{|{z{{{zzz|{||||{{z{z{{zzz{{{{{{{zzzzzz{zzz{{zz|{|{{z{z{{z{{y{{{{{zz{zz{zz{{{{z{{{{z{yy{zz{z||{{{{{zzz{zzyzzzzzz{{z|{z{zzz{z{zz{|{{z{{z{{{z{z{{{{|zzzzz{z{zz{{{{{{{z{zzzy{z{zz{{{{{z{zzzzz{z{z{{{{{{zzzz{zzy{{z|z|zz{yzzzz{{zz{{|{zzzzz{zz{{{{{||{zzyzzz{z{{|{{{{}{z|z{{z{|{{{|{{{z{{{{z{z|{|||{|||{{{{{{{z{{||{|{|{{{z{{z{|{z{{||{{{zz||z{z|{|{{|{z{z{|{z|{{||||{{{}z{{||{{{|{{|}{zz|{z{z|}{|{{||{yz{|{{||{||{{||}{{{{z|{{|||{{}||{|{{{{|||{}|||||{|{z{z{|{|||||}{{{z{{{{{{{|||{}|{{{|{{|z|{{{||}|{{{{{{z{||{{|||{{{{z{{z{{|{{{|{{{z{zz{{zz{|{|{z{zzzz{y{zzz{{{{{|zzzyzyz{{{{z|{zz{yzyz{zzz{z{{|{{{zz{zz{z{{z{z{z{{{zzzzzz{|zzz{{{zyzzzzzzzz{z{{zzzz{zzyzz|{{z{{{{zzyzzzz|{z|{{z{{zyzzyz{zz{z{{z{zyzzzyzzzz{{{{{{z|{zzzzyz|{zz{{{zzzzzzyzyyz{{{{{z{z{yzzz{{{{{{||z{zz{yzyz|{|{{{zzyz{{z{zz||z{{|{zz{{{z{z|{z{{{{{{{zz{{zz{zz{{{|{{z{z|z{z{|{z{{{z{z{z{z{z{{{{|||{{zz{zzz{{{|{{{{{{z|{{zz{|||||}{{{{{z{{{{|{{|{{||||z{zy{{{|{||{|z{z|{{{{y||||{|}|{z{{{{{{z|z|{|{{|z{{||{{z|||{{||||{{zz{{{{|{|||{{{z{{{{{{{|z||}||{{{{z{{z|||{|||{{{{z{|{|{{{{{{||z{{z{z{z|||{{|{|zzzy{{{{{{|zz|{z{{{zyzz{|z{z{{{zzzzy|y{{zz{{{{{{{{yz{{zz{z{{{|{{z{{zzzz|zz{{{{zz{yzzzzy{z{{{|z|yz{yzyzy{z{{z{zzzzzyzyzz|z|z{zzz{{{zyzyzzz|{zz{zzz|z{yzzz{{{z{z{zyz{z{y{{{|z{{{{{zzzzzzyyz{{{z|{{zzzz{y{zzzzzzz{z{yzzzzzzz{{{{||zzz{{{zz{{{{{{{|{zzzzz{zz{{{{{{{{{{zzz{zz{z{{{||zz{z{z{{{{{{|{|{zy{{zyzzz|{{}{{|{zzzzzz{{|||{{{{{zz{zy{{{|{{{{|z{{{z|z{{{|{{{|||{{{z{{||{||{|{|}{{z{{{{z{{{|{||z||{||{z{{}{||{||{{{|{z{{{|||||{{|{{zzyz|||{|}|{|z{{|{z{{|{{||{|z{{{z|zzz{{{|{||||{z{{{{{|z|||{||{{{z{zz{{{|||||||{{{{zzzz|{{|{{{{zzy{{|{z{|{{{{{{z{zz{{zzz|{z{zzzzzy{yz{{{|{|{|||{z{zz{z{{{{||{{{z{zzz{{{{|{zz|{z{{z{z{z{z|z{|||{{{{{zzz{z{zz{|{{z{zzzz{zz{z||{z{{{yzz{{{z{{{{|{z{z{{zzz{{{{z{|{zzzzzzz{{z{z||{{z{zzzz{{{{{{{{{{z{z{yzzyz{{{z|{z{z{zzy{{z|{{{{{|{z{zzzzy{{{{{{||z{z{{{{z{{|z{||{{zz{z{z{{{{{{|||z{{{{{{z{{|||||}{{z|{zz|y|{{{{{{z{{|{{|{{{{{{{{{{{z|{{{z}{{{{|{{{{{{{{{{{{|{||||zz{z{{{z|{||||||{{{{{{zz{||||{{||{z|{z{{|||||||{{{}|{{{{|z{}|||{{|{z{|{{{}{}||}|{{{{z{{||{||||||{z||z{{||{}||||}{{zz{{{|{}}{||||{{{{{z{|||{|{|||{{z{{z{z{{{{{|||{zzz{z{z{|{|{z{z{{{{zzzz{{{||{{zzzzzzzzz|{{{|{{|{zzz{{z{{||{|{{{{{{|{z{zz|{{{z{|{{zz{z{{{{{z{{{{{z{{{zz{{|{{||{|{{zzz{zzz{{{z{z{z{{zz{zzzz{{zz|{z{yzzz{z{{{|}|{{{zzz{zyy{|{{|{{||z{zyzzz{|{|z{{{zzz{y{zz{z{zy|{{z{zz{z{z{{zz{||{{{z{z{zz{{{z{{|{{zz{yz{z{{{|z||{{{{zz{|{{|{{||{|{{zz{{{{|{|{{{}{{z{z{{{z{}|||}|zz{{zz{{{zz|{{|{||{{{{zz{||{{{|{|{{zz{z{{|{{|{||}{}{{|z|{|{{}}|||{{{||zz{|||||||{{z{{{{|{|}|||~||{z{{z{|{||{|{||||||z{{{{{||||||||z{|{{|{|||{|}|}{{{|{{{|{|{{||{}{{{{{{{||{|||{||{{{{{{z{{||||}|{{{z{z{{{{|||{||{|{z{zzz|{{{{{{{|z{{{zyzzz{{{{{{{z{{{{y{zz{{|{|{{{zzzz{{z{{{{{{{{{{{zzz{z|{{|{{{zzzzz{yzz{{z{{|{|zz{zzz{z{z{{{z|{zzzz{zzz{{{zz{{{{{zz{{{z{{z|{{{{z{zzzzzz{zz{{{{z{zz{zzy{{{||{{{|zz{zzzzz{{|{z{}{{zzzzyzzy{zz{{{{z|{y{zzzz{{{z|z|{z{{z{{yz{z|{{{|zzz{{z{{{{{z{{z{{{{zzz{{{zz|{{{{|z{zz{{{{{{{||}{|{{{zz{{{{{||{{|{{{zzzzz{{{|{||z{{zz{zz{{|{z{{{{z{z{{{z{{{||}{}|{{|z{{|{||||||}|{{{|z{zz{||||{|||{{{{{{{||||||}|{{{|{|||z||||||||{{{z||{z|{|||}||{{{{{{{|{{||||||{|{{{{{{|||{{||{{|{||zz{|{|||z}z{{{z|{{{{{{{|||{{z{{{{{{|{{{{||{{{z{{z{z{{{|{z{z{z{{y{z{{{{||{{z{{z{{z{|{{{|{{||{zz{z{z{||zz{{|{z{{z{z{zz{|{{{{{{{{{zzzz{{{z{{|zzz{{zz{z|{{{{{{{{{yzzzzz{{zz{{z{{z{yzzz{{{{{|{|{zzzzzzzz{{z|{{zzzz{{{yz{||{{z{|{{{zz{zz{{|z|{|{zzzz{zzzz{|{z|z{{zz{zyzzz{{z{{{z{z|{{{z{z{|{{|||z{{zz{{zz{{{z{{{{z|{z{z{|z{{|{||z{{z{z{z{{{|{{||{|{z{{{y{{{{}{{z|zz{{{{z{}||{{||{{{|zz{{|}{{{}{|{{zz{{{{{{{|{{|{{z|{|||{{{||z|||{{{{zzzz|||z||||{{{{|z|{{}|{{}||{{|{{{{{}|||||||||{{||{{{}|{{|}||z{}{{{|{{{||||||{{{{{{|{{{}||}{|{{z||||{{||}{}{{{{{{{|{{|||{{|{{z{z{zzz{}|{{|{|{z{{{{{{{{{{|{z{z{zz{zzyz{{{z{|{|yz{zzyzz{{{{|||zzzyz{{z|zz{||z|{z{zz{y{{{{z{}|{{z{zzzzz{z{{{|||{{{zz{zz{{{{z{{{{zzzz{zz{{z{z{{{zyzzz{yzzz{zzz{{z{zzzy{y{{{{{{{{zz{z{yzzz{z{{|z{zz{{z{{y{{{{{{{{{{{{{z{{|{|{{{||zzzzzz{zz|{{y{{|{zyz{{{z{{{{{|{{|z{z{zz{{|{{{||{{{zzz{zz{{{{{|}|zz{z{{z{{{{{|||{}{{{{z{{z{{{{{||{{||{{zz}||{{||{zy{{zx{{{{{{{|||{{zz{{z{||}{|{||{{|{{z{{{|{|{||||{{{{{{z|{|||{|{{z|{{{{{||{{|||{{{z{z||{z||||}|||{||{{{{{}|{{||||z|z{{{{||{|{|{z|{{{{{|{|{|||{||{{{z{{{|{{|||{{}{{zzy{{{|{{||{||{{y{{{{{|{||{z{||{zyz{|{{{|{||{{z{zzz{{z{{{{z|{|{{{{z{z{{z{y{{{|z{zzzz{zz|{{{||z|{zyzzzz{{|zz{{z|zzz{zyy{z|{{|{{{{z{{{{z{|{z{||{{z{{zz{z{{{y{{|{{z{z{z{z{zz{z{{z{zyzyz{z{{{{{{{zzzzzzyzz{{{{{{z{zz{zzz{zz{z{z{|{{zzzzz{z{{zzz{z{z{{z{z{yz{{{||||z{z{z|zz{{{zz{|z{zzzzz{zz{{z||{{{{{{{zyzz{{z|{{|{z|zzz{{|{{{{|{|z|{{{z{z{{{||{{|{{{{z{{z{|||{{}{{{zz{{{z||{{{{{{|{{{{z{|{{|||||{y|{{||{|{|||||||{{{{{{z||{|{||{|{{{z||z||||{|{||{{{{|z{{|}||||||||{{{|{{{{|||}|{}|{|{{|z{}|{{||{{{{{}|{|{|z}|}||||{{|{{||||{||}}{|z|{{{z{{{{{|||{{{zy{z{|zz||{|{{{zzzz{{|{{{|{{|{zzz{yzz{{{zz{|{{{{yzz{z{{{z{{{|{z{zz{zyz{{{{||{zz{z{zyz{{{{{{{{{{zzz{{zzz{{{|{|zzzzy{{zz|{{{{|z{zzzzzzz{z{{z{{zzzzzzzzz{{zz|zzz{zzzyz{zz{zz{{{{zzzzyyzzz|{{{{{{zzyzy{zyz{{{{zz{|zzzzzzyzz{z{z{{{{z{zzyzz{{{{|{{zzzz{|zy|{z{{{{{{{zz{{zz{{{zz{|{zz{zzy{{{{zz{|{|zz{{zz{z{{|{{{{|{{{{{{y{{z{{{{{{{{zy{{yz{|{{{||{{zzz{{zz{{{{{|{||z{z{z{z{|{||||{z{{{zz{z{{{|{|{{{z{{zzz{{{|{z{|||{{{{{|{||{|||{||{{|{{|{||{{{{{|{{{{{{{{|}|}{{|}{{||{{z{{{|{{{z{{z{|z{{{{{||{||{|{{{|{{{|||{{||||zzz{{{z{{{|{|}|{{{{{{{z{|||z{||{z|{zy{zz{||{{{{{zz{{yz{{{{{{{{{{z{{z{zyz{{{{|||{zzzz{yz{{{{{{|{{zz{{zzz{{|{{{{|{zz{{zzy{{zz{{{|zzz{{zyz{{{{{{|{z{zzzyzz|z{z{{{{{z{yz{yzzzz{zz{{{yz{{z{z{zz{zz{{{z{zz{{zz{{z|{{zzz{zyzzz{{y{{|{{{zz{{zz{zz{z{{z{zzzz{zzz{{z{{z{{zz{z{zzz{z{|z|{{{z{y{zz{{|{{z{|{{{}zzz{{{{{{{|{{z{{zz{zz|||{{|{{|zz{{z{z{|{{z{|{{z{{{{zz{|||{{||{zzz{{{z|z|{{{{{{{{{{{{{{{{{}|}{zz{z{{|{{||{||}|{{|{z{z{|{{||{|{{{{z{z{{{{||{|}|{{{{z{z{{|||{}|}{||{z{{z||{|{||||z{{{{{{{{{|{{{||{z{{z{|{{{{{|||{|{|{{{{{||||{||{||z{{{{{|{zz{|}{{{{{{{zz{|{{{|{z{{zzz{z{{{{{{{{{zzzz{{yz{{z|zy{zzzzzzzyz{{zz{{{zzzz{{zz{{z{{{|{{{z{z{yy{z{|zz{{{zzz{zzzy{{z{{{}zzzzz{zz{{{z{{|{{{zyzz{zz{{zz{{{y{zyzz{{zz{{{{{{z{{{zzzy{zzyzz{z{zyzzzzz{z{z{z|{{z{zzyyz{{zz|{|zzzyzzzzzz{{zzzy{|{zyzz{y{{zz{{{{z{zyz{zz{{z{zz}{{zzz{z{z{{|{z|{z{z{zzy{z{{{||{{|z{zz{{{z{{|{z{|{{z{{{{{{z{{{||}|zz{z{{z{{{{z{z||{zz{{z{{{|||{|{{{{{z{{{{{{{|{|{|z{{z{{{{|||||{|||{{z{{{{{{{||||||{{|{{{{||{{|||||{{z{{|{{{||{||{{||{z{{{||{}||{|{z{{z{{{|{{|{||{{zzz{{{|{{{||{||{{{z{|{{{{{|||||{{{{z{zz{|{|{||{|{zzz{zz|{|{z|{|{{{y{zyz{z{|{z{zz{z{zyzyz{{{{z{|z{zzzz{zz{{{{{|{zzzzzzzzzz{z{|{{{z{{zzzz{{{{|z{{zz{{zy{y{z{{{{{{{{{z{zzy{{zzz{{|{zz{zyzyyz{{z{zz{zzyz{zz{{{|{z{{zzzzzzz{{z|{z{zzz{zzyzyz{{{z|{|{{{z{yz{z{z{{zz{{zz{zzy{y|zzyz|{z{z{{zyzy{{z{{{|{yy{y{zyz{{{{zz{|zzz{{z{z|{|{|{{|{z{zzz{{z{{z{|||z{z{z{zz{{{{z{|{{{{{{{{{|{||{{{z{zzzz{z{{{|z|{{z{z{{{zz{|{{{z{{|{z{{{z{||{||{|{}zz{z{{{{{|||||}|{{{{{zz{|{{||{|{{{|{{z{{{||{{{|{|z{{{{{|{{|{|{|||{z{{{{{z|||{}|{|{{{zz{{|{{{{||||{{{zz{{{|{{{{||{{{{{{z{z|{||{{|{{{yzy{z{{{{{||{|{{{{{{{{{{{{{||{z{zz{z{z{|{{{{{zzy{z{{z{|{{{z{{{{{z{zzz|{{z{{{|{{{{{zzy{|{z{z|z|{z{{y{zz{{|z{{{z{y{z{yz{{|z{{||zzz{yzz{z{{{{{|{{z{zzz{z{{|zzz{{z{zz{zz{{{{{|{|{yzzzzz{zzz{z{z{zy{zzz{zzzz{z{z{{zz{{zzzy{{{{{{{|{{zzz{zzz|{{{{|z{z{zyyzy{|z{z|{zzz{z{z{z|{z{z{{|{z{{zz{{{|{{z{|{z{z{z{{{{{{{{{||zzzzy{zz{{||{{||{zz{{y{{{{z|||z{{{z{{{z|{{||{{|{{{{z{{{zz{|||{{|{{{{{{z{z|{||{|{{{{{{{z|}|{|{||{||{{{{{{{||z|||{{{{{|{{z|||{{|}|{{{{{|{|{||||||||{{{|{|{|||{{}|{{|{||{{{{|}||}|{{z{z{|{|z{{||}|||||{{|{{|{{{{|||{{{{|z{{{|{{{{||{{zzzzzz||{{||||{z{z{z{{z{{{{{z{{{{zzz{z{{z{{{{{zzzzz{yz||z{|{{{{z{z{z{z|{z|{z||{zz{y{zz|{}|z{||z{{yzzzz{{{{{z{{zz{zz{{zz||z|{|{zz{{{zy{zz{zz{{{{{xzz{{zz{{{z|{{{zz{zzzzz{{{z{{{{zzzzyy{{{{{|{{{{z{zzzz{{{|z{{{{z{z{yzzz{z{z{{{{{z{z{{zzz{{z{{|{z{{z{zzz{{|{z{{{{zzz{{zy{{{{z{{|{zzzzz{zz{|y{{z|{{{z{{{z{{{{z{z|{zz{|zz{{|{|{{|{{{{{zzz{z{{|{|||{z{z{{{z{{z{{|{|{|zz{{{{{|{|}||{{{{z{{{{|||}{||}{{{zz|y{|||{|{{{{|{zz{{{|}|||||||{{{{{{{|||||||{}{{{|{{{z||{{|{||||{{{{{||{|||||{z|{{{{}|{||{|}|{{{{{{{{||{|{|{|z{{{zz{{{||{{{}|{{{|z{{{{|{{{|}|{{|y{{z{|{|{|{|{{zyz{|zzz|{z{{{zz{y{z{zz|{{{{{||zzzz{{z{{{{z{||{{{z{zz{z{||{zz{{z{zzzzzz{|{zz{{|{z{zzzzz{{{{{}|{{z{y{zzzzz{{{{||{{yz{{z{zz{|z{{|{zzyzzzz|{z{z|z{|yz{zzzzz{{z|{{|{{{zzzyzz{{|{{||{zzz{{zy{{{{{{z{{{zzzyz{{{{z|{{{{z{zz{zz{{{{|{|z{{{{{zzz{{{{{{{|{z{{|zz{{{|{{{{|{z{{{zz{z|{{{{{{{{{z{z{{{|{|||||{{zzy{{{{|{{|{|{{{{{{zz{{z{z{{{{{{|{{z{{{|||{|{|{|{|{{|{{|{}{||{|z{z{z{{{{|}||{||z{{|{|{|}||{|||z||{{|||{|{{}||{{{|{{{{{{{{|}|||{{|{|{|{}||{z{|||{{{{|z{{|{|{{|{{{z|||z{{{|{|{{|{{{z{{{|{|z||{||{{{|z{{{{{||z{{{{{{z|{{z|||{|z||{{zz{{{zz{z{z{{{zzzzzzzzz{{{z{{{{zz{{zz{z{{z{{{{z{zzzzzzzz{zz{|{{yzzzzzy{{{{z{{{{zz{{{zzz{z{{{|{{z{z{z{z{{|yz{z{{{{zzzz{zzzzz{{{{yzzzzzz{z{{z||{{zz{zzyzzz|{{{|{zzzyz{{z{{{{{{{{{{zy{zzzzz{{z{|z{zzy{z{zz|{{{{|{{z{zzzyz{|z{{|||{zzzz{{y{{{{z{{{{z|{zz{{|{{|z{|{{zz{{z{{{|{z{z{{{z{z{zz{{{|{{{{|{{{zzz|||||{{{||{z|{{{z{|{|{{||z{z{||z{z{{{{{|||zz{z{{||||{{{{|{{z{|{zz{{{}||{||{z{{{{{|{||}{||}{{{{{{|{|||||}||{z{{{{{||}{|||}|{{|{{{{{{|||{z|{z{{|{{z{{|||z||{{z|z|{z{|{{z{{}||{zz{{z{{{z{{z|||z{z{z{z|{{|{{{|{{{y{yzz{{|{z|z{z{y{yzyz{z{{{z{{z{z{zz|yzzz|{{{{{{{y{y{z{{{zz||{zzz{zzz{{|z|{{{{{zzyyzzzz{{z{{{{{zz{z{{z{|{{{{}{z{zyyz{{|z{z{{{{zzzzz{zzz{{{zz{|{zzz{yzz{{{{zy{{z{{zzzzzz{{|z{{|z|{yzzzzz{z|{z{|zzzyzyzyz{{zz{{{z{zzzzzzy{z{z|||{z{yz{zzz|z{{}{|zzzz{z{y{{{{{{{|{{{zy{{zz{{{{{||{{{{zz{z{||{{|{{zz{{{z{z{|{{{{|z{{{zzz{{|z{{{{||{zz{{zz{||{{z{|{{{{{|{||{{|||z||{z{{{{{{|}{|{}|}{{|{{z{z|{{||{{{{|{{{{z{{||{|||{|{{{{{{{||{{}|{{|{{{{{{|||{{||||{z||z{{z{||||||||z{{{{|{{|{|||}{|{{|{{{{{{|}{|{{{z{{{|{{{}{z{|{||{{{{{zz{{{|{||{z{{yzy{{{{{zz{{{zyzyz{{{{{{{{{{{z{z{zyzzzzz{z{{{{{zzz{yy{z{z{{{z|zyz{{zz{{{{zz{{{{zzzzzz{zz{z{|{{{yzy{zz{{z{{{{{{z{zzzzzz{{zz|{{{{{{{{yzzz{{z{{{{{z{{yzz{{zz{{z{zzzzzzyz{z{z{z{{zz|zzzyy{{{{{{|{{{{z{zzzzzzzz{{{z{zz{zzzzz{{{{{{zzzz{{zzz{z{zz||yzzzzzz{{{|{{z{}zz{zzzzz{zz{{{{|{z{z{z{z{{{z||{{{|z{{zzzz|{{{||{zzzzzzzz{||{{{{{{zzzzz{{|||z{|{||{{z{zz{{{{{||}|zz|{zz{{{z{{|||}|{{{zz{z||{{z{|{{{{{{z|{{||||||{{{z{{{{{|||||||||{{{{{z{{{{{{}|{{{{{{z{{|{|||||{{{{{{{{{{{{{{||||{{{|{z{|{{{||||{z|z{{{{{{{{{|{|{{{{{zzyz|{|{{|{zzzzzz{z{|{{z{|{{zzzz{zzz{{{{{{{z{{zzzzyzzy{{{{{{zzz|{zy|{{{{{|{{zzyzzz{z{{{y{{{zzzz{zyyz{{{{{z{yyzzxzzyz{z{{z{z{zzzzzyyzzy{z{{z{yzzyzzxy{z{z{{{zzzzyzzyyzz{{{zzyz{{{zzzz|{{{z{zzz{zxyzzz{z{{{{|zzz{z{zzyz{{y{{z{{zyyzyyz{{zz{{{{z{zzzzzz{{{{{{{{yzz{zzzz|{{z{{z|{zyzzzz{{|{z{{{zz{yzyzz{{y{{|{{{|z{{z{y{{{{z{z{zz{z{{zyz{|{z||z{{{zzz{zz|{z{{|{z{z{{z{|{{{{|||{{{|z{z{{{{{|z{{{{|{{{z{yz|{|{{|z{zzzz{{z||||{{{|{z{z{{{{z|{{{{|{|z{zz|{{{{{|||}|{z{{z{zz{|||{|{|{{z{z{{z{||{{{||{{{z{yzz{{|{{{|z{zzzzzz|{|z{|{{{||{zzz{{{{{|z{{{{{z{zzzz||{z|zz{{zzzzzzyz{|z{z{{|zzxzzzyz{{{z{{{z{zzzzzz{zz{z{|zz{zyzzz{zzz{{{{{zzzzzzzyz{{zz{z{z{zzzzzyz{zzz{|zyzzyyzzyy{{z{{{{zzzy{z{zzzzzz{{{{yyzzyzz{zz{{{{zyzzzz{xyzyzzzz{{zz{{z{yzz{z{{zz{{zz{{yzyz{{zzz{zz{zyzzzzyz{zz{|zzzzyzzzy{{{zzz|{|yzzz{{{{{{{zzzzzzxzyzzz{{z{z{{{{z|z{z{z{{|{{|{{{{z{{y{{{{{||{zz{z{z{y{z{{z{{{|{{zz{z{zz{||{z|{{z{z{{{{{|{{{{|{{z{{{|{{{{{{{{{{|{{{{{{z{{|||{||{{{{{{{{{|||z||{{{{{{|{{y{|{{{|{||{{zz{{{z{{|{||||{|{{z{z{z||{{{{{zz{|{{{|{{{|{||{{{z|{z{|{{|||{|{z{z{{zz{|{{{||{zz{{{z{zz|z{{{|{z{|{{{{yz{|{z{zzz{{{yzzyz{{{{z{{z{yzzzzy{z{z{{z|{{{y{{yzzz{{||{{zz{{zyzz{|{{z{{|{zzzz{zz{z{{{{{{{{{zyzz{{z{zzz{zzzzzzyyy{z{zz{{{zyzz{y{zzz{{z{zzy{zyyyzz{zz{{{{{{yzzzzz{{z{z{{{{{z{z{zzyz{z{{z{{{yzyzzzz|z{zz{z{{zzyzzzyz|zzzz{{zy{{{zzy{{{{z{|z{zz{|zzz{{{{z{z|{z{{{z{z{{z{{|{{z{{z{zz{{{{z{{z||z|z{zzzz{|{{|{{{z{zzz{y{{|{{{|{{z{yz{zz|{{z{}|{{{{{z{|{|||||{|{{zz{{z|{|{{|{{{|||{{{{{{{{{{|||{|z{{{zz{{|{{|{|{{{|z{{||{|||{{|{{{zz{z{yz|||{||||{{{zzzz{|{|{{|{{{z{{{{{{{{{}{{|{{z{{{zz{{{|{{||{{zyzzzz{{{{|{|{{{z{zzz{{{{{{{|z{zzzzzzz{{{{{{{{{y{zzzzzz|{zz{{z{zzzzzyzzz{{{|{|{z{z{zzz{z{{{zz{{zz{z{zz{z{{z|{{{y{yzzzz{zzz{z{|zz{yzzzyzz{zz{{{{z{z{zyz{z|z{{{zzyzzz{yyz{{{|{zzzzyyzyzzz{{zz{{zyz{zyzz{zz{{zz{{{zzyyzzz{{{zz{|{zz{zyzyzyz{zz{z{{zzyzzzzz{z{z{{{{zzyz{zyz{{{{|{{{{zzzzzzz{{z{{{{z{zzz{{zz{|{z{{{{zzzzz{{||{{{{||{{|zz|{zz{{{{{{{{zz{zzzz{{{{z{z{zzzz{{zz{{{{{z{{z{{z|{{{{{{|{{{{{{zz{{{{{{||{{|{|{{{|z{z||{{{{|{{{z{{{{z|||{||{{{{|z{{{{{{{{|||{{z{z{{|{{||{{|{|{{{|{{{{|||{{||{{|z{{{z|z{{{|||||{{{{z{{{{|{||{{{{{y{{z{{|{{{{||{zzz{z{zz{{{{{{|z{zzzzzz{{{{{{{{z{{z{z{y{{{|z{{z|y{{zzzy{{|zz{{|z{zz{{yyz{z{|{z{{zzzzzzz{z|||z{z{z{yz{zz{{{{{z||z{zz{zyz{{{z|{|{{zzzzzzz{{{{{{{{zzzy{{zzzz{z{zzzzy{zzzyz{z{zz{{{z{zzzzzyz{{{z{{|z{|zyzzz{{{{z{|{zzzz{zzyz{{y{{{|{zzyzzzz{{{{z{z{{{{z{zzzz{{{{{|{z{z{zzz{z{z|{{{zz{zz{{{{|zz|{{{|{z{zzz{z|{{|{|{{zzzz{z{z{{|{|{{{{zz{z|z{{{|{{{{{|z{{z{{z{|{{z{|{{|{|{z{{{|{{{|{|{{|z{{{{{}{|z{|||y|{zz{y{{{{|{|{|y{{{{|z|{{{|||{{z{{{{|zz||{||||}|{{{{{{{|{||}{{|z|{{{{{|{{{||{{|{{z{{zz{{|||{|{{{{{|{{|{{{|{{{{{z|zzzz{{{{|{|||z{{{{{{z{|{|z||z{z{{{z{{|{z{{{{{z{{z{zzz{|{{{z|{{{zzzzzz{{z{||{|zzzzz{|z{{{|{{||{{zz{yyz{{{{z{{|{|{{zzzzz||{{z{{{z{zz{zzz{|zz|{{{{{{zzz{z{zz{{z{z{{zz{yzz{z{{{{{zzy{zz{z|{}{{|{{z{zzyzz{{zzz{{{{{{z{zzzy{z{{|{|{zz{{{{{yzz{zzz|{{z{{{zzzz{{{z||{{z{z|{zz|{|{{|||{{{z{zz{|{{{{|z|zyzz{zzz{{z{{{{{{{|{{z{{z{|{{{|{{z{z{z|z{{{{||{z|z{zz{{z{{||{{{{|{{z{{y{{|{{{|||{zz|{|{{{||}|{{|{z{z{{{{|{{||{|}|{{{{|{{|||||||}|{{z|||{||{|{||{|{{{{||{z{||{||||{zzz{z|{}||||}|}{{{|{|{|}|z{|||{{{{|{{|{|}{|}||{{z{|{z|{}||{}{{{{|{{{{{{|{{|{{{|{{{z{{{{}|{z|{{{{{{{z{{|{{{|{{|z{zzzz{z{{{{{{{|{{{{yzzzz{{|{{|{{{{zy{zz{{{z{{{{z{zzzzzz{{|{z{{|{{zy{zzy{z|{z{|{{z{zzzyzz{z{{|{zzy{zzzyz{zz{z{{{z{zz{z{z{{zz|{{{zzzy{zzzzz{z{{|{zzz{zzyz{{|{{|{|{z{zzzyzz{{{{|{|zzzzzz{zy|{zzz||{zz{zzzzz{zzz{{{{z{z{{zzz{{{{{{{{zz{{{zz{z{{{{{|{zzzzz{{{{{{{|z}z{z{zz{{|{{{|{|{{{|{{z{{y||{{z{{|{{zz{{z{{{{{{}{|{z{{{z{{{|{{||{{z{{{z{{z{{{|z|{{zz{{{{z{||{z|}{{{{{{zz|||||{{z{|z{{{{{{|||{||}|{}{{|||{{{|{{|||{{||{{{{{|||{{}{|{{{{|{{||{|{|{{{z|{||z{{{}||{||{zy{|{{z}{{{{}{|{{{{zz{{||{|{{|{{z{zzzz{{|{{{{|{{{zzzzzz{{|{{{zz{zzyzzzzz{|{{zz{zz{y{|{z{y{{{||{zzzyyz{z{{zz{{{{{z{zz{z{z{z{|{{{zz{yyzzzz{{zz{{{{zzzz{{yz{zz{zz{zzyyyzzzz{zyz{z{z{yyyzzyz{{{{{z{yzzyzyzzzz{z{{{{zz{yz{zz{{z{{|{{zzz{yzzz{{{{z|{{zzzzzzy{z{{{|{z{{zzzzyyzzz{|{{|{zzzy{zzz{{{{{{{{{zzz{zzz|z{{{{{{|zz{zzzz{{{z{{|{{zz{{zy{{{{{{|{|{zz{{zzzz{{{{z|{{z{zzzz|{{{{z||{{{{zzz{z|{|{{{{|z{{z|{z{{|||{{|{z{{{z{{z{||||}}z{zzzz{zzz{|{|||{{{{z{{z{{||{|{||{{zz{{|{{|{{}{||{{{z{{{{||||}{{{{z{{z|{{||{{{|}{{z{{{{{z}||{z|{{|z{||{{{|{||||||z{{z{z{{{{||{||{||z{zz{z{{{{{||{{zzy{{{z{{{|{{z|z{yz{z{y{|{z{{|{|zzz{z{{{{{{{{{{zy{{y{zz{z{{{{{{zyzz{zzzy{zzzz|{zzy{zz{z{z{|z{{{zzzzz{zyz{z{{{z{z{zzzzzz{z{{{{{{zyyzyzzz{{{{{{{zz{{zyzzzzzzz{{{{{zzyzz{z{zz{{|{zzzzzzzyyz|{{zz|{zzyzzzzzzzyzy{z{{yzz{{yz{|z{{{{{zzz{{{{z{{{z{{{{{zzz{zzzz{{{{z{|zz{zz{{z|zz{{zz|zz{{{{zz{|{{|{{{|z{z{{{z{{{{{{{{{{{{y{{y{{{{{||{{zz|zz{{|{{{{|{{z{zz{{z|z|||{|||{{zzz{|{{{{{|||||{{{{{{{|||{||{||{{{y{{z||{{|{{||z{zy{{{{{{||||||{{{z|z{z||{||{{|{{|{{{{|{{{|{|||z{{{z{|||{z|{}}{||{{{{z|{{{|{|{{z{z{z{zz{{{{|}{|{{{z{zyz{|{{{{|z{{{z{zyz{{zz{{{z{zyzy{z{{{{{|z|z{{z{z{z{{{{{|||{zzzy{z{{zz{{{{|zzzzzzzz{{{{zz{{z{zzzz{z{{{{z{z{z{zyz{{yy{yzzzz{{z{zyzzzz{{zz{{|yyzzzzz{zz{{{{{{{zyyzz{yz{z{y{{{zyz{zzyzzz{{z{{zzy{zzzzyz{{{{{z{{{zyyzzzzz{z{{{z{{{y{zzz{{z{z|{{zzzz{zzyzz{{{|{{{zzzz{{z{{{{{{{|{z{zzzz{{{{z|{{|yz{zzzz{{|{z{{|{zz{y{zzzz{{{{|{{{{zyzzyz{{z{zz{{|{zzzzz{{||z{|||{{zz{{{{|||{||z|z{zzz{{{|z|{||{|{{z|z{zz|{{|{||{{z{{|z{|||||{||{{z|{{{{{{{{|{|{||{|{z{|{z||}|||{{z{{z{{{z{{{{||{}{{{|zz|{{{{{|||{z{{{z{{{zz|{{|{z{{z{|{z|{z{|{{|{{{z{z{{|{|{{{{}{{yz|z{zz{{{{{{{{zyy{zz{z{{{{{{{zz{zzzz{z{|{z{{{{zzy{z{y{{z{{{{|{zzzzzzy{{{{zz{{z{{yzzzzzzz{zzz{{z{yzzyzz{zzz{|zzzzzzzzzzz{{z{{|{zzzyyyzzzzz{zz{zz{zzyzzz{zzz{zzzyz{yzz{z{{yzzz|zzzz{{yyz{{z{{{|yzzzzzzzz{{zz{{{|z{yzzz{z{z|z{{{zz{zz{zz{{{{{{{{z{zzzz{z{{|{z{{{zzzzzyzy{{{{zzz{{{zzzzzz{{||{{|z{{zzyy{z{{{{{|{{z{{z{z{zz{{{{{||z{z{zzzz|{{z{{{{{{{z{zz{{{{{{||{z{{z{z|{|{{||{||{{{{{z{z{{{{{{{{|z{{z{{{||{{|{||{{|{z{{{{{{{{{|||z{zzz{{{|{|{}|{{{{{{z{z{||{{{{{|{{{{{z{{{{{|{}||{{{{{z|{{{|||{{{{{z{{{{{{|{{{|{{{z{z{z{{z{z{z{{z{{zzzzzz{z{{{{{{z{zzzzyz{z{z{{{zyyyzyzz{{{{{{{zz{zzzzzzzz{{{|{zzyzzyzy{z{{zz{{{{zyzyzzz{{{z{{z|zzzzzzzzz{zy{{{zzzyyzyzy{{{yz{{{yyyzzyzyz{z{{z{zzzzy{zzyyzyzz{{zzyzy{yxzz{{{{z{{z{{yz{z{y{z{z{{zyzzzzzzzz{{zyzz{{z{zyzzzz{z{z{{zyzzzz{{z{zz{{{{{yzzzzzzy{{{{z{||zzz{{y{z{|z{{{{|zzzz{{zzz{|{z{{{zzzz{z{zz||{{||{zzz{{zyz{{{{{z|{{zz{{{zzzzz{{{{{{{{z{{zy{|{{{{|{{{{{{{{z|{{|{{{|zz{|{{{z|{{|{||{{{{z{zz{{}|{|{||{z|{{{{|z{{|{|{|{{z{{{{{{}||{||{|z}|zz{{{|{|{{||{{{{{z{z|{{|{{{{{{{z{{{z{{z{{{||{{|z{|zz{z||{{{|{zyz{zz{{{{{{|{{{{zzzzzz{{|z{{{{zzyzzzzyz{{z{|{{{zz{zzzz{{{|{|{|{zzzzz{z{zz{|z|{zzz{zzy{z{{zz{{{zz{y{zzzz{{z{{{|{y{z{z{yy{{y{{{{{z{zz{zz|{|yz|zzzzzyzzz{{zz{z{z{zzz{yyzzz{z{{{{{yzzzz{yz{{{z{{{{{z{zyyzzz{zz{{{zzzzz{{{{{{{z{z{{z{zzz{zzz{z{{{{|zz{zzzyz{{{zzz{{{zzz{zz{{||z{z{{{z{{zz{{{{{{z|{}zz{{zz{z{z|{{{{{{z{z|{{z{|{{z{|zz{{z{{zz{{||{|{|zzz{zzzz|{z{z{|{z|z{{|zz{{|{{||{{{|{z{{z{||}|||}{{{{{|{z||{|}|{|{z{z{{{{|||||||{{{{{{{z|{||{||||||z{|z{z||{||{{{{{{{z{|{|{{|{||{|{z{{{z{{{||{||{|{{{{zz||z|{{}||{z{z{{{{{|{}{|{|{{{zy{{z{|z{{||{{{{zz{zzz{{|z{{zzzzz{zzyz{{z{{{{zz{yzy{zyz{z{zz{yyzyzyzz{z{{{{{{{y{zzzzyz{z{zz|{zyzzzy{z{y{{z{{{z{{zzzzzzzz{{{|{zzzzzyzyz{|z{{zzzzzzzyzzzzyz{{{{yzzzzz{zzzz|zz{zzzzzyzyyz{{z{zz|zy{{zyzzz{{|z||{zyz{zzzzyz{zz{z{y{{yzzzzzzz{z{{}{yzzzzyyy{z{{{||{{zyzzzzzzzzzzz{zy{{{yzz|{{{{{{{zzz{{z{z{{{{{|{z{z{zzz{zz{{{{{{z{z{{{{zzz{|z{{|{{z|{zz{z{{{z{{{||zzzz{zz{||||{|{{{z{{{{{{{{{{{}|z{{{zzzz{{{|{{|{{z{|z{zz{{|{|||{{{{z{{|z|{{{{|{{|z{{{z{{z||{{}||{yz{zz{{|{{|{{{||{zz{zzz{{|z{||{{{z{{|z{{|{{{{|{{z|zzzz{|{{{|{|{{z{zzz{zz|{|z{{|zzy{zz{z{{{{z{{{{zz{y{zzz{{{z|{|z{|zzy{yzz|{{|{{zz{zyzyz|{z{{{{{{{zzzyzzz{{{z{z{|z{zzzz{{zz{z{{z{zz{zzzz{{zyz|zzzzy|z{zz{z{z{{zz{zzzzzzz{{zzz{z|zy{z{zyzzz{{zz{zzyzyz{yz{{{z{{{{zzzzzzzzz{z{{{{{zzz{zz{{z{{{z{|{{{zy{zzzz{z{zz{{{zzyzzzz{z{z{|{{{{z{{z{z{{{{{|{|{zzyzz{z{z{|{{||{zzz{{z{{|z{|{|{{z{z{z{zz|{|}{{z{{zz{zz{{{z{yz|{{z|{z{{{{{{{z{{|{{{{z|{z{||}||||{{{z{{|{{|||{{}{{z{|z{z{{|}|{|{|{{{{|z{{|{|{{}|{z{{|z{{{||{||||||z{z{|{z{|{|||||{{{|{z|z||{{|}{{{{z{zz{{|{{{|||||{z{{|{{{|{{{|{}{|z{{{{{{{||{{}{{z{z{zzz{||{{{|{|{{zz{{yzz{{{}y{z{zyzz{{{|z{zzz{zzyzzzz{{{{{{{{{zz{z{{{zz{{{{{|z{zz{zz{zzz{{{zz{{yzzyy{z{{{{z{|{|zzyz{zzyz{{{{zz{zzzz{zz{z{{z{{zzzzzz{zyz{{{z{|{zzzyyzzyz{|{zz{zz{z{{yzzzz{{{{{{zz{zzzz{z{zzz{|{zzzzzzyzzz{z|z{{|{zzzzz{z{{z{|{{{{zzz{{z|{z{z{|{{zzyzyzz{{{z{{{{{z{z{z{{z{{z{{{|z{zzzzzz|{{{{{{|{zyz{z{z{{{|{{|{zz{{{zzz|z|{{{|{{{{|{{zz{{{{{{{{z{z{z{z{{{{|{{|{zz{{|||{{{||||{{||z{zzzz||z{|{{{|z{{|z|{||||{|}|{{{{|{{{{|{{|{{||z{{{{zz|}|{{{|||{|{{z{{{{|{|||{|{z{|z{{{|{{|{|||{{z||{z{{{{{|}||{{z{{zzz{|{{{|{|{{{zz{z{{{{{{{{{yz{{yyz{{{{|{{{{yzzyyzz{|{{{{z{zzzz{{zzz|{zzz{{{{{{y{{zz{{zz{|{{z|zzzzzz{z{zy{{zyzzz{{y{{{{|zz{|yzzzyzzzz{{{{|zzzz{yzzz{zzzzz{{zzyzy{y{{zzy{|{{zyzyzzzyzzzz{{{{z{zzzzy{{z{z|{{z{{zzzz{zz{{{{z{|{{z{zzzzzz{zz{{{{zzzz{y{z{|{{{{{zzz{z{zz{{{{|{{{{zzzzz{yz{{z{{{{{zzzz{{z{z{z{{{{zzzz{zzyzz{{z{||z{{{{zz{zz|{{{|{{zzz{z{zz|{z||||{{{zzzz{{|{|{|{{{{{{yz{z{{{z{|{|{{{{{{{z{||}{|{|{zz|zz{z{{{{{{{||{zz{{{z||z|{{||{z{{{{{{{||{||||{z{|z|{{|||{{{|{|{{zz{{{{||||{}|z{{{{zz{|z{||{{|{{{{z{{z|{||||||{{{{{{{{z{{|||||{z{{zzzy{||{{{|{{z{z{{zzz{{{{{y{{{{zzyzy{z{{{zzz{zz|zzzzz{z{{{{{zz{zzz{{{z{z{{|{{zzzyyz{z{{{z{{{{z{z{yzyz{{{{|z{zzzz{z{zz|zzz{|{z{{zzzzzz{{zz|z{zzzzz{zyz{{zzzz{{y{zzz{zz{{{zz{{{zzzz{zzz{{{{z{{{z{z{yzzz{{{{{{z{yz{zz{yz{{{{{z{zzzzzz{zz{zz{z{zzzzy{{zy{|{{z{|{{{zzzzzz{z{z{|{{{zzzzzzz{|{|z{{|{zzzzz{z|{|{z{{||z{{{z{zy{{{|{{{{z{zz{{{{{{{{{{{{z{{{{{{|{|{z{|||{{|{z{z{{||{||{z|{{zz{{|{{|{|{|||z{{{z{z{}|{{{|{{|z{{{{{||{|||}|z{{{|{{{{|{|}|||{{{{{{{{|{|{||||{|{{z{{{{{{|||||zz{{zz{|{{{|{{|{{zz{z{{{|{|}|{|{{zz{yzz{{{|{||||{{yz{|{{||{{||{{zzz{z{{{{{{{|{zz{zyzzzz{{{{{{|{{{{y{yzzz{{{{{{{{zzzz{zz{z{{|z{zzzz{zzy{{{{{{{|{{z{zz{zyzz{{{{{|z{{zzzzyz{zzz{{{z{zz{zzz{zzzz{z{zzzzzzzzzzz{{{{|zzzy{zzzzz{zz{{zyzzyz{yz{{{z|{{{z{{{zzzzz|{|{{|{{{z{zzzzz{zzz{zzzz{y{zzzz{z{{|{{z{{zzzzzz{{{{z}{{z{zzzy{z{|{{{{|zzzzzz{{z{{{{|{|z{{zz{z{{{{{{{|{{{{{{z{zz{{||{{{zzz{{z{{{{{{{{|{{zz{{{zz{{z{|{{||z{{{|{zz|{{||{|{{{z|z{{{{{|{|||{{{{{z{zz|{|{{{{{z{{z{z{|{{{{{||zzz{{{z{{{{|{|{||{{{z{||{}{||{}{|||{{z{{{{{|{||{|z{{{{{{||{{||||{{{{{{{|||||{{||{{z{{{{{z{{{{{{{|zz{z{{{{z{{{||{zz{zzzy{{||{{{{{zzyzyz{zz{zzz{z{{zzzzzzzz{{z{{|{zzzyzzyz{z{zz{{|{zzyzzzz{{zz{{{{{zzzyyzz{{{{{{{{{zzzzzzzzzy{y{{zyzyy{zzzzz{{yzzzzyzzzzz{zz{z|{{{zzyzzzzzz{{{{z{zzzzzzzz{|{z{{z{{zzz{yyyyyz|zz{{{zyzz|y{yzzzz{zz{zzzyzxz{zz{{{{{{{z{{|zyz{z{{zz{z{zzzz{{{zz{{zz{{zz{{yzzz{{{{{{|{z|{zzzz{{z{z{{{{{z{{{y{yz{||||{{z{{{zzz{{{{{{||z{{z{zzzz{z{{z{{z{zz{{zzz{|{|{{|{{z{{z|{z{|{{{{{|||z{{zz{{|{|{{{{{zz{{z{{||{|{||{{zz{{|{{|{|{{|{|{zzzzz{z|~{{|{~{{{{{{z{{{z|{{|{|{zz{z|z{{|{{|||{|{{{|{{z||{||||{{{{{{z{{{{{|z{|{{{z{{{{zz|{{{|{{z{{{{{{y{{z{z{zzzyyzzyyzz{|zzz{zzz{zzz{zz{{|{{{{{{zyz{zzzz{z{{|{zzz{yzzzzz{{z{zz{zzyyyzy{{z{{{{zzyzzzzyzz{z{{z{{{yz{zzyzz{{{{{zzz{zzyzzzzzy{zzz{{zzzzyyzzzz{{{|{zyzyy{yz{z{z|z{zzzyzyzzz{z{{zz|zzyyz{z{zz{zzz|z|{zzz{zyyyzyz{{{{zzyzy{yz{{{{{|{{zyzzzz{{z|{zz{{{zz{{zz|zz{{{z|z|{y{zzyzzzz{z|{{{{{{{{z{zz|{{z{{zz{{zzz{z{z{{{{{{{zz{{z{{{{zz{{{{{{{{|z{{{{{{||||zz{{{{|{{|||{{|{{z{{zz{y{{{{z{|{{{{|{z{zz|||{{|{{z|{{z{{|{{{{|||{{z{z{|z{{|{{||{{{{{{z{{}{{|{}||{{z{z{{{{{{z|{}{{zzzz{z{{{}|||{|z{{zz{zz{{{||{{{{zz{y{zzz|{z{{||zz{{zzz{|{|{|{{{{zzzz{{zz{z{{zz{{zz{zzzzzz{||{{|{{{zzzzz{z{{|{{z{{zzyyz{{{zzz{{{zz{yzzzz{z{{{{{{zzz{zzzzzyzz{|{{z{{{zz{z{z{zz{z{yzz{{{{zzyz{z|z{yzzz{zzzzz{{{{{{{yz{y{yyzz|{{{{{z{{zzzzyz{{zz{||{zzzzyzzz{{z{{z{{zzzzzzz{zz|z{|{{zzz{{zz{{||{{{z|zzz{zzz{{{{{|{{{zzzzzzz{{{{{{{{{zzzz{z{|{z{{|||{z{z{{{{|{|{{||{z{zzz{z{{{{|{{|z{z{{{{z|z||{{z||{{|z|z{|{{{|||||{z|{{{z{{{||{|||{|z{{zzz||{{}{{||{{{{|{{||||{||{|z|z{|{{|{{{{{{|{zz|{z{|{}|{{{||{z{{{{{{|||{|{{||zz{{zz{{}||{{|{{{zz|{z{{{{{||||z{{|{z{z{|{{{||||z{{z{{z{{{zz{{{{{|{{{{||{|{{{{z{zzzz{{yz{{{{{|z{z{y{yyzzz{{{z{|{zzzzz{{{zzz{{{{{zyzzzzy{{{z{z|{z{{{yyzz{zz{zz{|{zzzzzzyz{|z{z{zzzz{zzyzzy{z{{{z{zzzyzzyy{{{{{z{zz{zzzzz{z{yzz{zzyzyyzyzz{{{z{|{{{{yyyzzz{{{z{{{zzzzzzzzz{zz{{zz{zzyzzzz{zz{{z{{zyzzzzzz{zzy{{|{{zz{z{zz{zzzzzz{zz{zyz{{{{{{{{|{z{zyyz{z{{zz{{{{{yzzz{{yy|z{{}{{|zzzy{{y{{|{{z{{{zzyy|zzzz|{zz||z{yz{z{zz{{{{|{|zz{{{|{{||{{{||{|z{{z{z{|{|||{||{z{zz{{y{|{{{|{}{{{{{|{{{{|{||{{{{{zz{{zz|{{{||}{z{{|{{z|{{{{{|||z|{{zz{{|{|{|{|{|{{zz{{|||{{{{{zz{z{y{z{{{{{{{{zz{z{zzz{{{{zz{{{z{{zzzz{z{zzz{{zz{zz{z{z{z|{{z|zyzz{yyzzz{z{zz{z{yzzyzz{z{z{z{{{y{zzzzzz{{{{z{zzzzzyzzzz{{{z{z{{z{yzzzyz{zyz{|y{zzzyzyz{zzzzz{yz{zyzzyyzzz{z{{{zzzyzzzzz{{{{z{z{yy{y{z{zz{|{z{{yzzyy{zzz{{{z{{{zzzzyyzz{{{zz{zzzzzzyyyzz|{zz{{z{{zzz{zyzz{{{{{{{zyz{yzz{{{z{z{{zz{{zyz{zz{{{{{|{z{zzyz{{{{|{zz{{z{{zy{zz{{{{{zzz{zy{yzz{{{z{{|z{{{zz{zz{|{|{||{|z{{{z{z|{||{{|{|{|{{z{{{{z}{||}{zzz{z{{||{{}z{|{z{{{{z{{|{z|{{{{{z{z{{{{{{{{{z||{{{z{zzz||{{z|||z{{z{|{{}{{||||{{{z{{{zzz{|{{{|{{zz{{z{||{{{{|}{z{yz{zzz{||z{||z{y{{zz{{{|{{{{|{z{zzzz{{{{|z{z|zzzz|zyzyz{z{{{{{zzz{{yzz{{{{z{{|zz{zzyzz{{{{{||{z{yzzzz{z|{{{{{{{{yzzzzz|z{zz{{zz{{{yzzz{zzz||{{zzyzy{z{{{yzz{zyz{zzzzz{{{z{z{zz{z{zyzy{{{z{z{zzzzzy{yz{zz{{|zzzz{zyzz{{{zzz{{zzy{{{z{y{zz{z{|{zzzzzzzzz{z{{zzzzzzzzyzz{{{z|{|{{yzz{zz{{{{{z{|{{{zyzyz{{z{{{{{|{z{zz{{zz{|{{{|{{z{{zyz{z|z{{{{{{{{z{zz{{||{||{{{{z{{{z{{{|{{{|{{z{z{{z||{{|{{{}{{{{{||z{|||{|{{{{{{{zzzz||{{{|||z{{{{z{z|{{{|}|{z{|{{{{|||{|{{{|z{{z|{{{}}{|{|||{}{{z{z|{||{|||{{{zz|{{{{{||{|||{{{|{zz{{{{{|||{{|z{{{{{||{z{|{{|{{zzzz{{{{{{{{{{{zzzz{|{{{{{{zz{zy{z{z{{{z{|{{|zy{{zzz{|{zz||{z{{zz{zz{|{{{{||{z|{zzzyyz{{{{{{{zyzyyzy{y{{z|{{zyyzzzzyzz{zz{z{zzzyzzzzz{zzz{zzzz{zzzzzzyy{{z{{zz{zzzzzz{{y{{zzzzzzyzzz{{{z|zz{z{{{zzz{{{z|y{{zz{y{zzzzyz{{{{|{z{yzzy{z{zzzzzyzyzz{z{yy{zzzzz|{{{{{zzzz{z{{zz{zzz{z{yy{{{z|{|z{z{{zzzzz|{{{zz{{{{zzzy{z{{{{|{{{zz{zzz{z{{{{z||{{{{{{zzz{{|{{{{z{zzzz|z{z{|||{{|{{{zzz{z{{{|{{||{zz{|zzz|{||{{}{{{z{|{z{{|{{|||{{{{{{{{{{||z{{{{{z{{{{z{{{|||}||{{|{z{{{{{{|{|||zzz{zzz{{|{{|{|}|z{{{{{{{{||{{|{|{{{z{{z{{{{{{|{{{z{z{yzz|{|{{{{{z{zz{zz{{{{{{{zzz{zzyzyz{|z{z|{{z{zz{zz{yzz{{{{{zzz{yzy{{z{{|||{zy{yz{z{{{zz{{zzzz{zz{y{{{|z{{{zz{zzz{zz|{z{{zzzy{y{yzyzzz{{{zz{zzzy{y{{{z{zzz{yyyyzz{yzz{{z{{zz{yzyzyz{{zz{{z{{zzzzzzzzzz|{{|zzzzzzzyyz{zzz{{{{{z{zy{z{{z{{{{|zzz{z|{zz{{{{{{{z{zzzzzz{|zz{{{|{z{zyzzzzz{{zz||z{zzzyzzz{{{{{{{z{zz{{{{{|z{{|{{zyzzz{{z{|}{{z{|{{|{{zz{{{|{||{{{{{{|{zz{{{{|{{|{z{{z{{{{|{||{{|{{{{{zzz|{|{{|{{{{|{{{{{{|{{||z|{z{|{}|{z{|{}||||{{{{|{{{}||{||{|{{|z{z{|{{|||||{{{{z{z||{||{{||||z{{|{{|{z|{{{{{{|z{z{z|||}{|{|||{{{z{{{|z{|{|{{{zz{z{{z||||{{{z{zz{zzy{z|{{{z{{zzz{yzzz{z{z{{{{zz{{{zzz{z{{|{{zzz{zzzzz{{{{zz|zz{yyzyzz{zzz|{|zzzzz{zzyzz{z{zzzzzzzzzzzz{yzz{{zzzzyzzzz{{zz{{{zz{z{zy{z{z{z{{zzzzzz{zyzz{z|{{{{zzzzyzz{{z|{z{zzz{y{zzyyz|zzz{z{zzyzzyyz{zzzz{{zzzzzzzy|z{{{z|{zzzzzzy{{{z{|z|{zy{zzzz{{{{{{{{|zzzyzzzz{{{z{||{{zz{{yzz{|z{{{{|{{z|y{zz{z|{{{{z{{z{{zzz{{||z{|||{z{{{zz|{z||||{{z|{{{zz|||{{}||zzz{{z{z{|{{{}{|{zz{{z{z{|{{||{{{z{{{{z{{{||||{{||{{{{{z{|{{{}|{{{{{{y{z{{||{{{}{zz{y|{{z{||{{||{{z{|{{|{{||{|||z|{zzzz{{|{{{z{{{{{{zz|z{{{|{||{|z{zz{z{{|z{{zzz{z{zzy{yy{{zzz{|zzyzzyzz{zz{{z{{zzyzz{zzz{{z{{{{z{{zzzzzz{z{{z{{{y{zyyzy{z{{zz{{zyzzyyzzy{zzz{{zyz{yzzz{{{{zzyzzzyzyzzzz{{{zz{z{z{zzzzyyy{{{zzz{zzyzyyyzz{z{{{{zyy{{zzzy{{{{z{{{zyyzzyzyzzz{z|{{zzzzzzyzz{{zz{{{zzzzyz{z{{|zzz{{z{z{{zyyz{zzzz{|{zzy{{{zzzzz{{{{z{{yz{zzzz|z{z{{{zyz{z{z{{{{{{{zzz{zzzz{{{|zz{{|zz{zzzzzz{{|||z{{z{{{{z{|{{||{|{z|z{{z|{{||{{|{{{{z{z{|{|{{{|{}{{|zz|{{{{|{{{|||z|{zz{z{{{{{|}|||{{|z{zzz|}{{||{|{z{zz{z{{{|{|{||y{z{{z{{|{{|{{|{z{{|z{y{|{{{{{{{{{zz{|{{{{{{{{{z{zz{yzz{}z{z{|{zz{zz{{zz{{{{{{{{{{zzzzzz{|y{{{||{yzzzzz{|{{{|{{{{yzzzzz{zz{||{{zz{zzzzz{{{{{zz|zzzzzyzzz|zz{zz{z{zzz{zz{|{{z{zzzz{z{zy{{{z{{{{{z{{zzzzzz{{{z|{zzyzz{zzzz{{z{z|zzzz{yzzzzz{zzz{z{{{yzzzz{{z|z{{{zzy{zzyyyz{{{|z|{yzzz{zz{|y{z|{{zzzy{{zz{{{|{{{|z{{zzzzyz{{{{z{{z{{{zzzzz{{{||{|z{z{z{zz{|{{|{{|{zzz{{{y|||z{{z{{{zz{{{z{{|{{||z{{z{{{{{{|{{{{{{|{zz|{{z|{{|{|{{{z{z{z{{|{{|{z{{{{{z{zzz{z{{|{|{{{{{{z{{||{{|{|||{|z{{{{}|||||{||z{{z{z{{}z|{|||{{|{{{{{|{|{{{{|{z{{z{z{{|{||{}||{{{{zz{{{|{{|||{{z{{{zz{|||{||||{|{{z{z{|{{{||{{{{{{z{zz{{z{z{{{zzzyzyy{{z{z{{{zzyzzyzz{{{zzz{{{yzz{yyz{z{z{{{zyz{zzzz{z{{|{{{|zz{yzzzyz{yz{{z{{yzzz{{zzz{{{{{{{{zzzzzz{{z{{z{zzzyzzzzyzzz{zzzzz{zz{yzzzzzz{zzzzzz{z{z{{zz|{{|{zzz{yzyzz{z{|z{{zzyyyy{z{zzz{zzzzzyzyzyzyz{z{{{{zzzz{zzxz{zz{{|{{{zzzzzy{{|{{{|{zzzz{z{z{{{{z{||z{{zzzz{z|{{z{{{zzz{zy{zy{{{{{|{{{{{{zzz{||y{{{{|{z{{zzz{{z{{{|{z{{z|{{||{|||||{zzzz{{{{|{z{|{}{{z{z{{zz|{{|{||{{{zy{{zz{{|{|{||{{{zz{{{{{{{{|{||z{{|{{z{}|{||{}|{zz{yzz{|{{{{}{{zz{|{{{{{z||{|||{{{{{z|{{{{{|{|{|z{zy{z{{z|{||{{{z|zzzy{{{{z{{{{{zz{zyz|{{|{{{z{zyyzzzz{zz{{{z{{{zzzzzyz{{zz{|{{{yyz{zzz{{{{{||{{{zzyyzzz{{zz{{{zzz{yzz{z{z{{z|yzzz{{zzz|zzz{{z{zz{yzzzz{zzz|{{zzzzzzyzz{{{z{zzzzzzzzzyzz{z{|{{{zzzyyzzzy{{{{{{zzzz{{zzz{zz{{{{zzzz{yyyz{zz{{{{{zzzyzzzzz{z{{{zzz{z{zzzz{{{{{{{zzzyz{zzz{zzz{{{z{{{zzzzz{z{|{{{zz{z{zzzz{{{{{{|{{{zzz{z{{{{|{{{zz{{zzy{{{{{|{{{{zz{{zz{||{{{{{{{z{zzz{z{{||{|{{z{{{{{{{|{{|||||{{z{{{{z{||{}{|{{{{{|zz{{{{{|{{|z|{z{{|{||{|{{||{{z{{{z{||{{||}{{{{{zz{{{||||||{|zz{{|{|||{|}|||{{zz|{z|{{{|{|{|{{{z{zzz{zz|{{}{|{z{z{{zz{{{{{{{{{{{{y{{z{{zz|z|{yzz{zzy{{zz{{{{zyzzzzzz{{{zz{z{{z|zyzzzz{zz{z{{|zzx{yzzz{z{{{||{zyzzzzy{zzzzz{{{zz{yzzyzz{{zz{zzy{zzyyz{z{yzzzzzyz{yzzz{zzyy{{z{yzzzzzyzz{zzz|zzz{yyzyy{zyzzzzzzzzyyzzz{zz{{z{{zzzzzyzzzz{yyz{{zzzyz{zzz{yzz{z{zz{zzzzz{z{||{{{{zzzzyzzz{{{{{|{zz{zyz{zz{zz{{z{yzzzz{{y{y{{{|{{zyz{zzzy{{zz|{|zzy{yzzzz{|{{{{|z{{{{z{zz{{{{zzzzz{zyz{{z|{||||{{{{{zz{{{z|{{|{||||{{{{zz{{{{|||{zz{{{z{z{{|{z{}|{{{z{{{{{||{|{{|{zz{z{z{{{{|{}|{{z{{zz{{|{z|{||{{{z{{{{zz{{{zz||{{{{z{{z{|||{|{|{{zyz{{zzz{{{{{{|{z{zzzz{{{{{{{{z{{zzz{z|z{{{z{{zzzzzxzy{z{z{zz|zzy{zyyzzyzzzzz{zzyyzzyzzz{zz{{zyyzzzyyz{zzz{{{zzzzxyzyyzzzz{{z{zyzzyyzyyzy{z{zzzzzyyyyyzz{zz{z{zyzyyzzyzzz{zyz{yyzzyyzyzz{z{z{zyzzyzyyy{zy{z{z{{zzzyzxy{{zzzz{{zzyzzyzyy{{yy{zzzzyyzyzzzzzzz{z{zzyyzyyy{zzz{{{{zzzzzyzzz{zyzz{{zyzzzy{z{z{{zz{|zyzzzyzyz{{{z{{zzzzzzy{zz{{z{{z{zzzz{zzz{{{zzz{{{{zzzzzy{z{{{{|{{zyzz{zz{z{{{|{|zz{z{{{{{|{|{{{{zz{{zzzz{zy|z{{{{zz{zz{{{{||{{||{{z{z{{zz{{{|{{{|z{{z{{z{{{{{|||{yz{{z{{{{{{{{{{{zz{z{zz{{|{z{{|z{z{zzz{zz{{{{||zzzzz{{yz{z{{{{z{z{{{zz{{{{z{{{{{zzzzzzzzz{zz{yzzzzyyzzzy{zzzz{{{{{zyyyzzzz{{{{{zzzyyzyz{zz{{zzzz{zyyzyzyyzz{{{{{zzyyyzxz{z{{zz{yzzzyyzzzzz{z{{zyyyzzxyyzzzyyzzzzzzzyyyyzyzzyzz{yzzzyxzz{zzzzzzyzzzzzyyzzz{zz{{zzzzyyzyyz{{zzz{{zyyzyyzzzzzz{zzyzyzyzzyyzzzzzzz{{yzyzz{zz{{zzz{{zz{zzyz{{z{zzzz{yz{{zyz{y{{yz{{|{yzyzyzyzzzz{z{{{zz{z{zz{zz{z{{z{zzzzzzzzz{{{z{{{zyy{zzz{{zzz{z{{zzzzzz{{z{|{{||zz{z{{{y|{z|{{{|{{|{z{zy{{{{{{{{{{z{z{{z{{{{z{{{{{z{{z{|{{z{{{||||zzz{zz{{|{||z{{{y{zzz|{||z||{{zz{z{yzz{{{{{{||{z{zzzzz{z{z{{{{zzzzz{zzz{zzz|{z{zzzzzzz{{{{z{z{{yzy{zzz{z{zzzzzzzzyzyzzz{{zzzz{zzzzzzzz{zz{{{{{yzzzzzzy{{{z{z{{{zy{zyzzzzz{yzz{{zzyzyzzzz{|{z{{yzzy{zyzz{yyzz{{z{zzyzzyzy|z{yzyzzzz{zy{yyzzz{{{yzyyzz{zzy{{zzzzzzyzyzyzzzzz{zzz{yyyyyzz{{zz{z{{zzz{zzyyzzzyz{z{z{zyyzzzy|z{{{{zzzzz{zyy{z{{{zzzyzyyzyzz{z{z{{{zzyzzyyzzz{z{{z{{z{zyxzzy{{{zz{z{{yyzzzzzz{{{zzz{{yz{yzz{z|z{{{|zzzz{zzzzz{|{y{{z{z{{zz{z{zz{{||{{zyy{z{|z||{{||{{z{{{zzzz{{{{{{{z{zzzz{{{|{z{||{zzz{z|zz{{|z{||{{z{z{z{zz{|{{{||zzz{zz{z|{z{{{|{{yzz{z{z|{{{||{|{{{{z{z{{|{{{{{|{{z{{zzzz{{{{{{{{{z{zzyz|{{{{{{{z{{zzzzz{{|{z{{zzyyzzzyyzz{{zz{zzzzyzzyy{y{{z{{{zyzyzz{z{zz{z|zzzz{yzyyzyz{zyz{{zzzzyyzzzy{z{zz{zz{zy{zzy{z{{{{zyzzyyyzyyyzyyy{z{z{zyyzzzyzz{{zzy{yyyyyz{z{zzz{zyzzyzzyzzz{zz{{{yy{zyzyzzzz{z{{{zzyyyzyzzyzyyzzyzzyyzzyyzzz{zz{{zz{z{zyzzzz{{{{{zyzyyzz{z{yz{{|{{zzzzyzyzz{z{{{{z{{yzzy{z{{zz{|{{z{zzyzzz{z{z{{{zzzz{zzz{{|{{{{zzzzzyz{|{{{{z{{z{z{{z{zy{{|{z{{|z{z{{z{z{{{{|{{{{{{zzzyz{{{|{{{z{{z{{z{z|z{{{{{|{z{{{zzz{{z{||{{}zz{{{z{{|z{{{{{{{{{{{{z|{{{z{{{{zz{{{{{{{{{{{|{{zz{yzz{{|z{{{{|zz{{z{zz{z{{{{{{{zzz{z{yz{{|{{z{z{{yz{zz{z|z{{zy|yzyzyyyy{zzzz|{yzzzzzzzz{z{|{{{zyzyyzzy{{zyzz{{yyzyzzzzz{zzzz{{zzyzyzyzzz{zzz{{yyzzyzzzy{yzy{{{{zzyzyzyzzzyzyz{yy{yyzyzzz{zz{z{zyyyzyzyz{zz{{{{zzzyzzyz{zzzzzzzzyzzyzyyy{zzzz{{zzzzyyzzz{zyz{{z{yzzyzzyyzz{z{z{zzyzzzyxzz{zz{{{z{yzzyzz{z{zz{{{zz|zyy{zz{zz{||{{zzyzzzyz{zzz{{{zzz{zy{yz{zz{z{zz{yzyzzzz{|{{{{{{z{zzzzz{{z{|{{{zzzzzz{{{|{|||{|zzzzzz{z{z|||{{{zzy{z{zy{|{{|{{{{z{{{z{{z{{{{{|||{{{zz||z{||{{{z{z{{zzzz{{z{|z{{|{{{z{{z{{z{{{z{{z{z{{{z{z{{{{{{{{{zz{{z{{{||||{zz{zz{z{z{{|{{|{zzz{zzzzy|z{z{{{yz|{yzzz{{{zzz{zzzzz{yzzz{zzzz{{z{zzzzzzzzzzz{{{yzzyyzyyzz{z{{{zzzzyyzyzzz{{zzzz{zzyyzyyzzz{zzz{zyzyyyz{zzzyz{{zzyzxzyyyzzzz{z{zzzzzyyyyz{zzzz{{zyyyyzzzz{zzzzzzzyzyyyzz{{{zz{{zyyyyyyzzz{z{z{{zzzyzzyzyyzzzz{{z|zyyyzzzz{{z{zz{zzzzzzyz{{{z{{|{zyzyzyzy{{zz{zz{{zzzyzzz|{{{yz{{zyzyzzzz{{{{z{{zy{zyzyzyzzz{{zzzzzzzz{z{{{{z{z{{yyyz{yzzz{{z{z{{zzzzz{yz{{|{||{{zzzz|{{{{{{|z|{|{z{z{z{{{z{{|{|{|{zz{z{{|{||{|||z{{zz{|z{{{{{|{||{{zz{{z{|{{{{{{{z{{zz{{{{|{|{{{{{{{zzz{z{{{{|||z{zzz{zz{|z{{|{{{z{yyzz{{{|{{{|{{{z{{zzz{|z}z{{zzz{zzyzz{{{{{{z{zzz{zzzyyyzzzzzyzzzzyyyz{{{z{{{{zzzyyzyyzyzzzz{{zyyyzyyxyz|{zz{{zzzxzzzyz{{zz{zzyyzy{zxy{{{zzzzyzyzzyzyxzzzyz|z{zyyzyyzyxzzz{z{{yzzyyyyyzz{zy{{{zz{yzzzyz{zz{{{zzzzzyyyyzzy|z{yyz{zyzyyxyzzzz{zzzyyzzyyyz{yzz|{{zyzzzzyzz{z{zz{{{zzyzz{zzzz||z{{{yyzzyzz|zzz{|zz{zzzz{zzz{{{z{{z{zyzzyyzz{y{{{zzz{z{zzzz{z{|zz{{zyzzzzzy{{zz{|{yz{{{z{yz{{||{{{{{{{zzz{z{{{{z{|{zyzyzzzz{{{z{{zzzzzzz|z{z{|{{||{{zzzy{{z{{{{{{z|{{z{{zzy{{{{{|{{{z{{zyzzz{{{z{{{zzzz{{z{{{z{{{{{|{z{{zzz|{{|{{{{{yzyzzzzzz{}{z{{{zz{zyzy{|z{{{{z{yzz{zyzzzz{{{y{zzyzz{yzyz{{{z{zzzzyzyyzz{zyzyzzzzyyzzyz{zz{{z{{zzyzzyyyyz{{z{{z{zyyyyzyzzzz{|yzxzzyyzyyzz{zzzzzzzzyyzyyzzz{z{{{y{zzzzyy{zxzzzz{yyyzyxzzyzzzzz{{zyyzzzyzy{zz{{{zyy{zyzzyz{zzzzz|zzyzzyzyyyzzz{z|zzzzyyyyzzy{zzzzyyzzz{zyzz{{z{{{zzzzzzzzz{zyzzz{z{z{zyzy{{{z{|z|zzzzzyzzz{{{zz{{{zzzzy{zz{{{|{y{z{{zzzzy{{{z{{{z{zzzzzyz{{zzz{{z{{zyz{{zzz{{{{{{z{z{zz|{{{z{zz{|zzzzzzz{{{|z{{|{{zzzz{zz||{{{{||z{{{{{{zz{{{{{z{{zz{z{{z{{||{|{|{z{{z{{z{z{z{|{z{{{{{{zz{{{{|{||{{{{{zz|||z{zz{{{z{zz{z{z{{{|{{|{{zyzzz{z{z{{{{|zzzz{zyzzz{z{zzzzzyyzyyzx{zzzzz{zy{zzzzzzzzzzz{{zzzzzzzyz{zzzzzzzzyzzyzzzz{z{z{{zzzzyyyyzzzz{{{{zzzyzzzyz{yz{{zz{zzzyyyyy{zzz{zyzyyyyzyyz{zz{zy{yzyyzyzyyz{zzzzzzzyzyzyyzzzyzzz{zzzzy{zyzzz{zz|zyzzyzzyyyzzzz{z|{{zxyzyz{z{zz{{{zyzyz{zy{z{zzz{{yzzzy{zzyzzyz{{{zyz{zyzyz{z{z{z|y{zzzzzzz{z{{z{{zzzyzyzzz{z{z{z{zyzz{zzzz{|zz{{{{zzzzyyz{{zz{{{{zzzz{zzzz{|{{{{{z{zz{zzzz{{|{{{{zzzyz{zz{{{{{z{|{zzzzzzz{{|{|{{{{z{z{{{{{z{{{{{{{z{{z{{z{||}{{{{{y{z{zzz{{{{{{{{{zyz{{zz{z|z||{z{{y{{zzz{{{||{{|{zzzzzzyz{z{{{|{{{zzzzzzz{{z{{{zzz{zzzzzz{zzzzzzz{zyzyzyzzzzzyz{zyyyzyxzzzz{z{z{zyyzyyyyzzzyz{{zzyzyyyyzzzz{{zz{zzyyxzzyzzz{{z{{yyzzzzzyy{zyzz{zyyzyyzxyzz{yyzyzyyzyzzyyzzzzz{zzzyyzzyzyyyzzzz{zyyyyyzxzzyzzzzzzzzzyyzzzz{{{yyz{{zzy{yyyyzzzyzzzzzy{zyzzyzzzzzzzzyzzzzzyzzz{zz{zyzzzyyzyzzzz{{zzzyyyzyzy{zz{zzz{yzzzzzzy{{zzz{{zzzzzyyyzzz{{{{zzzy{{zzyzz{zz{{{yzzzzzyzz{{z{zz|{{{zzzzz{z|z{{{{{zzz{z{zz{{{{|{{|{zz{yyzz{|{z|{{{{zzz{zzzz|{{{z|{{y{{zz{zz{|{{|{{{{zzzzz{z{{{{{{|{{zz{{{z{{{z{|{{|zzz{yz{z{{z{{{|{{zz{z{z{{{{z{{{zzzzzzz{z{z{{z|{{{yzzzzz{{{|{z{{zy{yzyzz{zzz{{z{zzyyzyzz{{zzy{z{zyyyyyzz{z{{zyz{zyzyyxyyyzzz{{zzzyyyzyyzzzz{yz{zzzyyzyzyzzy{yzz{yyzyyyyzz{zzzzzz{zzxzzyyyyzzz{zzzzzyyyyzzyyzzyzzyyzzyyyyzzzzy{zzyzyyyyxzzzzxzzzyzzzyyzyxzzzzyz{{zyyzzyyzzzyzzz{zzyzyzyzzzzzzyzzzzzzzz{y{z{z{{z|zzzyzzzyyy{{y{{z{zzzzzyyy{zz{zz{{yz{yzzz{zz{{z{|z{y{zzzzy{yzzzz{z{yzyzyyzzzzzz{zzz{zyzyyzz{{{y{{{z{zzzzzz{{{||{{{zz{z{zzz{zz{z{{|{zzzz{zy{zz{zz|z{zzzzzzy{|z{{{{{{zzyy{{zz||{{{zz{yzy{z{z{{{zz{{{|z{zzzz{{|{{{{{{{zzzzyz{{{z{{|{{{zzz|{zzz{{{{{{{zzzzyzz{{zz{z{{{zzz{yy{yz{z{zz{zzzzyyyzz{z{{zyzzyzyzzyzyy|{z{z{{yyzzzzzzz{zzz{zzzyyzyzzzzzzz|zz{zzzz{zyyyzzzzyz{{zzxyzyzzzzzz{z{zy{yxzzzzzzzyzzzyyzxzyyzy{zy{zzzyyzyyyy{zzy{z{z{zyzyyyzyzyzyz{z{zyzyyzyyzyzz{zz{zyzzyzxzyzz|z{{{{{zyzxzx{{zzz{zzzzzzzyzz{zyz{{z{zzzzzzzyzzz{{{zzzzzyzyzzzz{z{{z{{zzzz{z{{{zzzzz{zyzzyyzzz{zz{zzzzz{zzzz{{zzz|z{zy{yzzzyz{{zzz{{{{zz{zzzzzz{yzz{{{{{zyzz{{|z|{|{{z{z{zzzz{{z{|{{{zzzzz{zz{{{{{{{{{zzz{zz{{{{z{|{|zzz{y{zz{{z|||{{{{zz{zyzz|z{|{{|{{{zzz{{{{{{{|{{{zy{zz{{z{|{{{{{|{{z{{zz{{{{{{|{zzzyzzzzz{z{{{{{{zzzy{zz{{{{{|{{zzz{zzzzz{z{zy{zzyyyzzzyy{{zzz{zyzzyzxyyzzyzz{{{zzyyz{zzyz{z{{{{{zzzzzzzzz{{{{z{zzzyzyzyyzz{z{y{zzzzzzyzz{yyz{zyzzzy{yyy{z{zzz{zyyyzzyyyzyzzy{z{zzzzyzzyzzy{zz{zzzzyyyzzzzzzyz{zzzzzzzyyz{{zzzz{zyyzzzzyyz{z{{{{z{yzyyyzzzyz{{{{{zzzzzyxzzzyzz{|zzyzzzzzzz{{yz{{zzzzzyzyzzzz{zzzyyzyyyzz{z{z{{|{zz{yzyzzzzzyzz{zyzzzz{zzz{|{{z|{{yyz{zzz{{{zz{{zzzyzz{zyzz{{{|{zzz{zzz{zz{{|z{{|zz{yzzzz{{|z{{|{{zzz{xzzz|{{{{|{z{zzzzzz{{{{||{{{{{zzz{{{|{|z{{{{yz{{{z|{{{{{{{{{y{||{{zz{{|{{{{|{z{zz{z|{{{{{{{{z{zzzzzz{{{{{|z{zzzz{zzz{z{{z{z{zyzz{zy{|{{z{{{zyzzzzzyz{zz{y{zzzzzzyxzzzzz{{{|zzzyzyzyz{zzzz{z{zzyzyzz{z{{{yz{{zzzyzyy{yz{{z{{zzzyz{yz{zzzz{{zzyzyyzzzzyzzz{z{zzyyyyyyyz{yz{yzyzzyyzzz{{zzzz{{zzzzzzyzzy{|{z{{{zzzy{yxzzzzzz{{yzyzzy{zz{z{z{z{xzzyyzyyz{{zzz{zy{yyzzzyzzzzz{{{zzzyzzzz{{{zz{{{zyyzzzzyzzz{z{z{yy{zzz{zy{zz{{{z{z{yyyyz{z{{{{{{zyzzzyzzz{{{{{|zzyz{y{z{{zz{z||zz{zzyzyz{|{{z{{zz{{zzz{z{{{|z{{{y{zz{zyz{{{|{{{z{zzzzz{{z{{{|{{zzzzzz{{z{|z{{|{|{z{zzz{{{{z{{|{{|z{z{z{z|{{{{|{{|z{zz{zz{z{{{{{{z{zzzz{{zzz{{{{zz{yzz{z{zzz{z{{{{{{{zzzzz{{{z{{{zzz{{zzz{{{z{{z{zzyzzyzyz{{{{{y{zzzzyyzyz{{{zzz{zzyyzyzz{zzz{zz|zy{yyzyyzz{zzzz{{{zzzzyy{zyzy{z{zyzzyyzxy{z{{|zzyzzzzyyyz{yyyzz{{zyyzyyyzy{zzzzzzyzyyyyzzz{{zz{zzyyzyyzzz{zy{zzzzz{zzzyyyzyzzz{{zzzzzzzyzz{{{zzzzzyy{zyzzzzzz{zzyz{yzzyyz{{{z{zzzzzzyzzzz{z{zzz|zz{zzzz{z{{{z{|zzz{zyzzzz{{{{{{{yzzzzzzz{{z|z||{zzz{zzzzzz{{y{{z{zyzzzzz{{|zz{|z{{zzzzzzzz{{{z|{z{zz{{zzyzz{{{{{z{zz{zzzz|{|{{||zzzz{z|z{|{z{|z{zzz{{yzz{z{{{{}||z{zz{{{z{{{{{}|{zz|z{z{||{{{{{{}z{yz{z{{z{z{||z|{z{{zzz{z{|{{{{{{zz|yzz{{{{z{{{{{zyz{zzz{z{{z{{zz{zzy{z{{|{y{{zzyzzzzyyz{{yyy{{{yyyzyzz{zz{z{zzzzyyyyzyz{{zyz{zzyyyzzzyzzyzzzzzzzzzyyzxz{{zzzzzzzyzzyzyyzzzz{{zzyzyzzyyz{{zyz{zzyyyxyzzzz{{yyz{xyyzzzyyzzzzz{zyzyyzzzzyzzz{zy|{yy{zzzyzz{yz{z{zzyzzzzzyzzzzzz{zyzzyzyzzy{zyz{zzyy{y{{zxzzzzzz{{zy{zzzyzz{yzzz{{zzzz{yzz{z{{zz{zyz{yyzz{zz{z{{|yzz{zzz{z{{{zz|zzzxzzzzy{|{z{z{{{{zzzzzzz{{{z{{{{{zzy{zzzzz{|{}||{z{zzzzzz{{|{{|{{{zz{zyz|{{|z{{{{zz{{z{z{||zz{{zz{z{z{{{{{{{|{z|{zzzz{z{z||{{{{|{zzz{zzz|{{|z{{{|z{{zzzzzz{zz{|{{{{zz{zz{{{|{|{|zzz{z{z{z|z{|z{z|{z{zzzy{{{{{z{{{zz{zzzy{{zz{zzz|y{zyyzyxzzyzzzzzzyyzyyyy{{zy{z{zzyzyzzzzz{zzzzz{zzzzzzz{zz{zzz{yzz{zzyx{{zyy{z{zzzyyyzyz{{zz{zzzyzzyzyyzz{zyz{z{yzyyyyzzyzzyzzzyyzyyzyyzzzyzzz{{zyyzxyyyzzyzz{yzzzyzzyzyz{zzz{{zyzyyyz{zzyzz{zzyyyyzyzyyz{{{z{zzzzyzzzz{z{zz{{{zy{{yyzyy{zzz{{{{zzyyzzzzzzzzzzzyzyzzyyzy||{{{{{zzzzzzzyzzzzz{{{zzzz{zyz{{z{z{{zzyyz{{z{{{{z{{{{{z{yzz{zzzz{{|{{z{zz{{{y|{{{{|{{zzz{zzyz{{z{|{{{zzzz{zz{{{{{{{{{{z{zz{|{{{{{z|{|{zzzy{zzz{|{{{z{{y{zzzz{{{|{{||{{z{|{zy{z|zz{{|{zzzzzz{z{zz{{|{{{{{zzzzz{{z{z{{{{zz{y{zz{{{z{{|zzzzzzzyy{z{z{{z|zyyzyyyyz{zz{zzzzzzyzzyyzzzz{zz{{yzyy{zzzz{z{z{{z{zzyyzzzy{zz{{{zyyyyyzyzz{z{zz{zyzyyzzyyzz{z{{zzzzyzyzyzyz{z{zzzzyxyyzzzzz{{zz{{yyyzy{yzzzzzzzyyzyyyzzyzyzzzz{zyzzzyzz{z{zzzz|{zzyzzy{yyzzzz{y{zzzzyyzyz{zz{zzzyyzyz{zzzzzz{z{zyyyyzyyyzz{{{z{|{zyzzzzz|{zzz{|{zyyzyzzy{z{{{{{{zz{zzyyzzz{{z{{zzz{zzzzzzz|{{|{{zzzzzzzz{{|z{zz{yz{z{z{zz{{|z|{zzz{zzyzz{{{{{{{{{zz{zyzz{{{z{{|{zz{{{{|z{{|{z{{|{{{zy{{{z{{|{|{{{z{{zzzzz{{{||{{{{{{zz{z{{||{{{{{zz{zzz{z{z{{{{{{z{{z{zz{|{z{{{{{{{zzzzzz|{z{{|{zyzzzzzz{|zzz{z{z{zyz{z{{{{zzzzyyzxyzzxz{{zzzzzzzyyyyyzyzyzzz{{zzzyyzyyzz{z{z{{zzyyyzyyyzz{zzzzzzyzyyzyzyzzzyzz{zyyyzzzyzzzzzzz{zyyyyyzzz{zyz{zzzxzyyyyzzyyzyz{{yzzyyzyzz{zzyz{{zzzyyzzzz{zy{z{zyy{zyzxyzzzzzzzz|zzyzyzyyzzyzzz{zyzyzzyyz{zzzzzzzyyzyyyy{{zzz{{{zzzz{yzzzyz{zzzzzzzzyyzzx{{zzz{zyzyxzxzzzzz{{z{zzzyzzyzyzz{zz{yz{z{yyyyzzz{zzz|{{zz{zzzzzz{zz{{{zzzzyzyz{{{{{{{{z{yzzzyz{|z{{{}|{yzz{z{zz{z|zz|{{zz{{zzz|{zz{{{{y{zzz{{{{{|{|{z{{{zz{zyzz|z{{|{{zz{zzyzz{{{|{|{|{zzz{zzyz{|{{{{|{zz{zzzz|{z|{{{|zzyyzz{zzz{{{{|{zzy{zzzyzzz{|{{zz{{zzzzyz{{z{{z{yyyyzyzyx{zzzzzzyyzyzzyzzzyzzy|zzyzyyzyyzzyy{zz{zyzxzzyyyz{z{yz{zzzyyyzyzzz{y{yzzzyyzzzy{zzyzyzzzzzyyyxyzzy{y{zyzyyyyzyzzzzzzzz{zyyzyyyzyzzzyzzz{{yzyyzzzzzzz{z{zyzyyyyzzzz{{zzzyyyzyyyyyz{zzy{zzzzzzxzyyzyz{zyzzzyyzzyyz{z{zz{|zyyzzyyyzzz{zzz{zyzyzyzyzzzz{z{zyyzxzzzzyzz{{{zzzy{zzyzz{zz{z{{zyz{zy{yzz{zzz{{yzz{zyzzz{{zz{z{{zy{yz{zzz{{z{{{{y{zyzz{z{z{zz|{{zzzzz{zyzz{zz{{{zz{zzyyzz|z{z{{z{zzz{y{{z{zz||{{{zzyyz{{{|z{|{{|{z{zzzz{{z{|{{{{{zzzz{zzzz{z{{|{{zzzzzzz{{z{{{{z{zzzzy{zz{zz{y{{{{{yyzzzz{zz{z{zzzzyyyzzzy{{z{z|z{xyzyyyyzzyzzz{zyzzzyyzzzzzz{{z{yyyyzyz{zzz{{{zzyzyzyyzyz{{y{z{zzzzzzyyzz|yy{{zzyyyz{yzz{{yzzzzzzyyyzzyyyzyy{y{yzyzyzyyzyzzzzyzzzyyyx{z{{zzzzzz{{zyxyyzz{zyzz|{zyy{zzyy{yy{{zzzzy{zyzyyyzzy{{{{yy{yyzyzyz{zz{zzzyyyzyzyy{zzzyz|zzyzzzzyzzyz{{zzyzz{zyzzyzzz{{z{yz{yzzzzzzzzzzz{zzyzzyyyzz{{{{{zzzzz{y{yz{|{z{{yzzyzzyzyz{zzz{z{zz{z{zzz{{z|{|{{zzzy{z{z{|z{{{{{{zzz{zzzz{{z{{{{z{z{{zzz{|{{z{{{{{z{z{zz|{{|z{z{zz{{{z{z{{{{{{{{zzzzzzz{{zz{{|{{{zzzy{z{z{{{z{z{zzz{{{zz|{{|{{|{z{zyzz{{z{{z{z|{{{yzzzzzzz{{{z|{{zzzyz{yzz{{{zzzyzyyzyzyzyyyzyz{yzyyzyyzzzz{zy{yzzzyzyyzy{yzzzzzyyzzyyyyyz|zzz{{zzzyyyzyyz{z{{{zzzyyzzzzzzzzzzzy{z{yyyzzzzzyzzzyzzzzzyyyzyzzzz{zzyyyyzyzyzzzyz{z{yzzyzyzyzzzzy{z{zyzyzzy{zz{yzz{yz{yzzzyzzyzyzzzzzzyyyyyzzzyy{zzzzzzyzyyzzz{z{{{yzyzxyzz{zzzzzzz{zyyyzyy{y{zz{{{yzzzzzyyy{{{y{{{zzzzzyzzzz{zz{{z{zzyyzzyzz{{zz{zzzy{z{{zzz{z|zzz{zzzzzzzz{{{{|{{zzz{{zzzzzz{z{{{z{{zzzzyz|{{{{{z{yzz{zzz{{{{{||{{{{z{{{{z{{zz{{zzz{z{z{z{{{{{|{|z{z{yzzz{{{{{|{{{zzzzzzz{{{zz{||{{zzz{zz{z|{z{{{{zyzzzz{zzz{z{|{zzzzyzyyzz{{z{{{zz{{yzzzy{{zy{zzzzzyzzyzzz{zz{z{zzzzzyyzzzzz{{z|zzxzzyyyzz{{{{zz{yyzyyyzyzzzzz{zyzyyyyyzz{zz{{{zyzzyyzzyzyyzz{zzzzzzyyyzzzzzyzyz{zzyzyyzyzzzzzzzyzzyyzzyz{{z{{zzzyzzyyzyzzzz{z{{{zzyxzzyzzy{zz{{zzzzzyyzzzz{{zzzzyzzyzzyz{zz{z{zzyzyz{{yyzz{{z{{zz{z{yzzz{zz{{z{zy{zyzzy{zz{z{z{yzzyy{zy{z{z{{z{z{yzzzzzzzz{z{{{z{zzzxzy{{z{{z|{{zzzzzy{{{{zz{{z|{zzyz{{{{{|{|||yzzz{{{{{{{|z{|{{zzzyzzz{{{{{{{{zyzy{z{y{|{z{{{|{z{z{|z{zz{{{{|{z{{{z{zzz||{{|||{{{z{zzy{{|zz{|z{zz{{zzz{{{{z}{}{{z{{zz{}|{|{{z|zzzzy{yz{{{z{{{{{{z|zzzz{{z{z{|zzzzyy{{{z{{z{z{zyzy{yyyyyzzyzz{{yzyyzyxz{z{zz{zzy{zzzy{yzz{{z{z{zyyyyyzyzz{zzz{{zz{yyyyyzyyzzz{zyzzyy{yzzzzzz{zz{yyzzzyzzy{y{zzzyzzzzyxzzzyzzz{zyyyzyyyyyz{zzzz{{zyzxzyz{{z{z{zzzzzzyzyyzz{{{{z{yzyzzyzzyzzzzzz{yzzyzyyzyzz{z{z{zzzyzzyz{{zzzz{z{zxyzyzyz{zzz{z{zzzzyyzy{zzzz{{{zz{{z{yz{z{{{zz{{zzz{zzzz|{{y{{z{zzzyzzzz{{zz{z{zyzzzzyzz{zyz{|z{{z|{y{y|z{|{{z{zzz{zzz{{{z|z||{{zz{zzzz{{{z{{|{zzz{{zzy{zz{{{{{zyzzz{{{{{z{|z{|{z{zz{z{{||{|{{|{y{{zz{{|{{{{{{{|zy{zzz{{|{|{{{||{{z{zz{{{z{{{{{{zzyz{zz{{{{{{{z{{zyz{{zzz{{{{{zzz{zzyzy{{z{y{zzzyyzzzzyzz{{z{{zzyzzzzzzzzzzzzz{{y{yzzzzyz{{z{z{zyzzzyzyz{zy{zz{zyyyyzyyzzz{zyz{yyzzyz{z{zzzz{zz{yyyyyxzzyzzzzyzzyyzzzyzzzzz{zz{yyzzzzzzz{zyzz{{yy{yxyy{zzzz|zz{zyyzyzyzz{zzz{{{yyyzzyyyzzzzzz{zzzzy{xz{yzzyz{z{zy{zzz{yyzyzzz{zzyyyzyyyyy{zzzz|{z{zyyzzzz{z{zzzzzzzzzyzzzz{{z{{{zzy{zzzz{zzz{z|zzzzzzzzz{{z{z{{yzy{{z{z{{zzz{zz{{{zyyzz{|{|z{{{zzz{z{zz{{{{zz|{z{z{zzzz{{{{|{|{{{zz{{zzz{zz{{||zzz{z{{zzz{zz{|{{{z{z{zzz||{z{{|{zz{zzzz|{{{{{{{{z{z{zz{{{|zz{{{z{z{{zyzz{{yz|{z{yz{zz{{z{z{|{{zz{zzyzz{z{{{zz|{zyz{{zyz{z{{zz{zyzzzyyzzy|{zz{{{zzzyyyzyzzz|{zzzz{zyyyyyyzzzzz{zzyzyzzyyyz{zzyz{zyzzyzzzzzzzzzz{zyzzyyyyzzz{y{z{{zyzzyzyzzzyy{yzzyzyyzyzzyzzz{z{zzyzzyyy{zzz{{{zzzzyyyyy{{yzzz{zzyzyyyyxzyz{{z|{zzzz{zzzyzz{zzz{xyzyzyyyyzzy{{z{zzyyyzyzzyzz{{|z{zzyzyyzzzzyy{{{z{{zzyzz{zzz{|{{{zzyyzzz{zzzz{zzzzzzzyzyz{zzzzz{{z{yzyyy{z{{z{zz{zz{{zyz{{{{{z{{zz{z{zzz{{{{|{z{z{zz{|{z{{{{{|{{{zzzzzyy{|{zzz{{zyzzz{zz{{|z{|{{{z{{zzz{zzzz{|{{{zzz{zzzz||||{{{{z{{yzz{{z{z{|z||zzzzzzzz{{{{{{|{{zz{yz{zz{{||{{z{|zy{zzzz{{{{{|zzzyz{{{z{{{{{||{zzyzzyzzzzyzz{zyyyyyzzzz{{zzzzzzzzyyyzyy{z{zz{|zzzzyzyy{zzzyzzzzyzyzzyyyz{{yy{{zyzyyyyyzz{zzzz{{zyy{zyy{z{zz{zz{{yzyzyyzy{zz{zzzyzzxyzyzzzzy{z{zzzzyyyyyzzzz{{zzz{zyzy{z{zzzzy{yyzyyzyzzzz{z{zzyzyzyyyxyz{zy{{{zyzyyyyzzzyzz{z{zy{zzzyzzz{{zz{zzy{yzzzyy{{zz{z{yzyzyyzy{zzzz|{{zzyzyyy{zzzzzy{yzzzyzzzyzz{zz{zzzyyyzzzy{{{zz{{{z{zzzzzzz{{zz{{{zzz{{{{{{{{|{|{zzzzzyz{z{{{{{z{|{zzzyyzz{z{{{{|z|zzzz{y{|{z{|zz|{zz{{{{{z|{{|{{{{zz{{{zzz|{{{z|{{{zzzzzzz{z|{{z{{yz{{zz{z{{{z|{|{z{{zyzz{{{{{{{{zzzyz{zzz{z{z{{{zzzzyzzzzz{z{z{{zz{yzzyz{zzz{{{zyzzyyzzzyzyyy{zzzzyzzxyyz{zzzz{{zzzyyzyyzy{yz{zzzyyzyzyyz{y{zzz{{zzyyzzyyz{zzz{{{z{zzyzyzzzzz{zx{yyyzyxyz{{y{z{zzzyyyzyyzyyzz{zzzyxyzyzzzzzzzz{zzzyyzyyzzyzzz{zyzzzzyzyyzzzy{zzzyyyzzxyyyy{zz{{zzzzyyzzzyzzy{{z{yzyzzyyyzz{yzz{zzzzyyzzyzzz{yz{{zyzz{yzz{zzz{z{zzzzzyzzyzz{{{z{{zz{zzzyyz{{z{z|{zyzyyzyz{z{z{z{zzyzzzzyz{z{zz{z|{zzz{zzzy{{zz{{{zzzzz{{z{{z{{{z|{zzzzzzyzz{{{z|{{zz{z{zzz{{{{|{{{z{yzz{z{{zz{{|{zzzzz||z{{{|{|{|zzzzzz{z{{{|{{{{{y{yzz{z{zz{|{z|{zzzzzz{{z{zz|z{zz{z{z{yz{{{{z{{{zy{zzz{z{zzzz{{zzzzzzzyz{zzzzzzxzyzyx{zyz{zz{{{zzzyzyyy{{zzyz{zyyzxy{zyzzzyzy{zyyyyzyyzyzy{zz{z{zzyyy{yzzzzzz{{yzzyxyzyyzyzz{z{zyzzyyzyy{{zzy{{zyxyyzyyzzy{zzzzzyzyyzyyzzzzzzz{zyyzyzyyz{{zzzz{zzzyyzyyzz{zzyz{zzyzzyzyzzzzzzz{{yyyyyzyyzzzzzz{{yy{yyzzzz{yzzz{zzzyzyyxz{zz{{z|zy{z{yzzz{zz{{{{zzzzzyzyzzzz{{{zzzzzzyz{zz{z{{{{zzzzzzyz{zzz{z|zyzzzzz{{{zzz{{{{z{zzz{zzyz{z{|z|zzzzy{z{{{{{{{|{{zzz{zzz{{{{{{{{{z{z{zzzz{{zz{||{{{zzz{{{z{z|z|z{zz{y{{z{|{|{{{||{{{zzz{{|{{{|{{|z{z{|{{{zy{{{|{{zzz|yzzzz{{{{{{zz{z{{zzz{z|{z{{{z{zzyzzzz{{{{{zzzzzzyz{z{yz{zy{yyyzzzyzy{{yzyzzzxyzzzzy{{{z{z{{zzzzyy{xzy{zzzzy{yxyyyyzzz{zy{{zzzzyyyzyzyzz{{{{zyzzxzzz{zyzzyzz{zyyzyzzzz{yyzyzyzzyyyyxyzy{zzzzyzyxzyyyyzyyzzzzyyxyyzzzzzyzzzyzyyzzxzyyzzzzzy{zzxyzyyyyyzzzyzz{zzxyyyyyyzzzyz{yyzzyzyyy{zzz{zzzy{yyzyzy{yyyyz{{yxzzzxzz{yzz{{{zzyzyyyyz|{{{zzz{{y{zzyyyy{zz{z{yzz{yzyyyz{{z{{{zzzzzzzyz|zzzzzz{zzzy{{zzzyz{{|{{zzzzyzz{{|{{{z{{yz{{zzzzz{{z{z{{{yzzzy{yzz|{{z|{zz{zz{zzzz{{{|{{|zzzz{z{z|z{{{{{{z{zyzzz{{{z{{zzzzzzzzy{zz{{{z{{z{yz{zzzzzzz{{z{zzz{yyz{{{{{{{{{zzzz{zzz{{z{zzz{zyzzzz{zzz{zzyzyzyyyzzyyy{{zzz{z{zzyzzzyzzz{{zzzzyyyyyzyzzzzzz{{{zyzyyyyy{zzzz{zzzyyxyyzzyzzz{z{yzzyzyzxzzzzz{{zyyzyzzzyyzzzzz{zzyzyzzyyzzzzzzyzyyzyxyzzzzzy{zzyzyzyxyyzzzzyzz{zzzyzyzyzzzzzz{{zyzxxzyyyyzyyz{{zzzyyzyyzyzzyzzz{yyzyyzzyyzzzzz{zzzzyzyzyz{zzzz{zzz{yyxyyzzz{yzzzyzzzzzzz{{{zzzz{zzzz{zzzy{z{z||zzzzyzzzy{{zzz{{{yzzzyyz{zzzzyzzzy{zzzzzz{z||{{{{zzzzzzzz{zz{z{{{{yz{yzyz{{z{{zz{{yyzzyzz{{{{{{{zzz{{zz{{z{{{{{||{z{zzzz{z|z{{{||zz{z{zzz{{{z{{{{z{yzz{{zz{{{{|{z{{zz{zzzz{{|z{z{{zzz{zz{{{z{{{{{{zzz{z{yz|z{zz{{yzzyzzzyzz{z{{z{zyyyzzxzzzzz{z{{{{zzyxyyzy{z{{{y{zzyzyyyzzzzz{zzzzzzxyzzzz{zzzz{zyyyyyyyzzzzzz{{zyyzxzyyz{zzxzzzzyyyzzyzyyz{zzyzyyyyyzzyzyzzzzzzzzyzzyzzz{zz{zzzzyy|zzyzzz{zz{z{zyyzyzyyyzzyzzzzzyyzzyyyzzyzzyz{zz{zyzzyz{{zy{{{zzzz{zyyyzz{z{z{{zzzzzzyyzzz{|{zz{yy{yyy{zzz{{z|zzyyzyzzzzzzz{|{zyzz{yzyzz{{z{{{zy{zzyzy{z{{{zzzzyzzzz{zz|{{z{{zzy{{{zzz{z{{{{{{{zzy{{zz{zz|{z|{{zzzzzyy{{{{{{|{{{z{z{{z|{{{{{{z{z{zzz{{{z|{{{{{zzzzzyzzzz{|{{{|{z{{zzyz|{{{z{{{zzzz{{z{{z{z{{{{zzzyzzz{{|z{z{||zzyz{zyzz{{{{{{{zzzzzzyz{zz{z{{z{z{zzyzy|{{z{{{{zyzyyyzyzyzzzzzzzzzy{yzz{zzzyz{zzzzyyzyzzzzzzz|z{yzyzyyyyz{{zz|{yzzyxxzzzzz|z{zzzzzzxzzyyz{yzzzz{{zyyyyyzzzzzyz{z{zzzyyyzzz{zyz{yyyyyyzzzzzzzzzz{yzyy{zzz{zzz{{zzzyyzzzzy{zzzz|yyzyyzyyy{zzyzz{{yzzzzzzyzzzzy{{zyzyzyyyy{y{zy{{zzzyyxxzyzzzzzz{z{z{yyzzyzzzyz{{{zzzzzzyyzz{zzzzzyzzz{y{zz{{{{{{{zzzy{yyz{{zzz{{z{yzzzzzz{{z{z{{z{yzz{zy{{{z|zz{{{z{zzzz{{yz{z{{zzyzz{zz{{{{{|z{{{z{z{z{zz|{z{z||{zz{{{zzz{z{{|z{z{zy{zz{{{{{{{{||yzzzz{{{{{{z{{{{zz{{{zy{{{{z{{{{zz{zzzz{{z{{{{{yzzz{{{zz|z|{{{{{z{{yyyzz{{{{{z{{zzzzyzz{zz{{zxzyzzyzzzxyzz{yz{{yyyzyyzyzz{y{z{|y{zzzzyyzzyz{z{zzzz{zyyyy{z{yy{zzz{yzz{yzzz{yz{{zyzyzyzyzzzyzz{zyzyzzzy{{zzzyzy{yzzyyyyzzzzyz{zzzzyyyzyyzy{yzzzy{yzyzzyzz|zzzzzyyyzzyyzyz{z{{{{zzzzyzyzzyzzzz{z{yzz{zyzzzz{yz{z{zyzzyzzyz{zzz{z{{zzyz{yzz{{{zz{{zyzzzyyyz{{{{{{{z{zzzyy{{z{{{{zzzz{zzzzz{|{{{{zzyzzzzzyz{{z{{z{{{zzzzzz{{{z|z{{z{{{y{yzzzz{{{|{{zzzz|zzz{zzzzz{{{zz{zzzz|{{{{{zz{yzz|z{y{|{{{{||zz{zy{{zz{{{{{{{}{y{zzzz{{|{{{{{{z{{zzz{{{|{{{|{{z{zzzzz{|zzz|{|{z{{{{zz{|{{{{|{|yzzz{yyzz{z{{{{z{zyyzzzz{z{z{{zzy{z{zzzzzz{zzzzzzyzzyyyzz{yz{zzzzyyyyxzzzzz{z{zzzyyyzyzzzz{zz{{zzyzyyyyz{{{y{{zzzzzzzyyzyzzy{zzzyzyzyzyzzzzz{zzyzzzzyzzyzzzy{{zzzyxzyyzz{yzy{zyyzyyyyyyzyzyzzzxzyyzyyyzzyzyzzz{yzzzyzyzyz{{{zzzzy{yyyzyzyzzzzzzyyzyyz{yyyzzz{{zyyz{zzyy{zzz{{{zzzzyyyzzz{zzzzzzzyyyzyzz{zzzz{{{yyzz{zzzz{zz{{z{{zzyzz{yy{z|{zzzzyzzzzyy{{{z{{{zzyyzyzyyz{{{|{|{{zzzzyz{z|{|z{z{zzzyzzzz{{z{{|z{zy{{z{zyz{{z{{{z{zyyzzyzzz{z{{{{yzzzzzzz{{z{{{{{{yzyz{yz{|{{{z{}|{{zzz{{{zz{z{{z{zz{zzzzz{zz{{{{{{{z{{zz{{{{{{{{z{{zzz{yz{{{{{|{{zzzyzyyz{zz{{{{zyyzzzzzz{zzz{{{zyzyyyzyzz{zyz{zzxyzzxyyzzzy{z{{zzyyyzzyzyz{{{z{{yxyzzzzzzzzzz{|{yzzxyyyz{zzzz{{yzzyzzzzy|{yzz{zyzyyyzzzz{{zz{zzzz{y{zyzzz{zzzz{zyzyzyzyzzzzyzzzyyyzyyxz{zzz{z{z{|zyyyzyz{{z{z{{{zzzzzzyzzyzy{yzz{{xyyzzyzz{zzzzzzzzyzzy{{z{{zz{zyzzzyzz{{zzzzz{yzzzzz{zz{z{{zz|zzyyzyzyz{z{{{|{zyz{zzyy{{{z{{{{zyzzz{yz{|{{z{{{zz{zyzzzz{z|{z{|zzzzzzzy{z{{{{{|zzzzyzzyz{{{{|z|{{zzzzyz{|zy||}{{zzzzyz{{{|z|{{{zzz{z{{{{||{{{{{{{{{y{{zz{|{{{{{{{z{zz{z{{{{{{|{{zzz{yyzz{z{{{{||{zz{|{z{{{{z{||{{zz{{zz{zz{{||{{z{zyzyz{{|{z{z{y{{yyzzzz{{z{zz{{yzyyyzy{{zyzzzzzzz{zyyyyyzyz{{zzzyzz{xyz{zzz{{z{zzyzyzz{zzzzz{zzzzzyyzyzzz{z{zzz{zzzzzyzzzyy{zz{zyxyzyyzy{zzyzzzzyzxzyyzy{zzzzzzyy{y{yzz{{zzyzzzzyyzzyzz{{{{{z{yzyzyy{yzzz{z{{{zyzyzzyxy{zzyz{zyzzyzyyxyzyzzzz{{yzyzyzyzzzzzzzzyzyyzzzzyzzzzzy{yzzy{{z{zz{{zz|zzyzzzz{yz{{{{z{z{zzzyyyzz{z{zzz{yzzzyzzyz{zzzz{z{zy{yzzzz{{{zzz{yz{{{zzzz{{|{{{{zzzzzzz{z{{|{{{{zzyzyzyz{{z{{{{{{{zzzzyz{|zz{{{{zz{yzzz{z{|{{{zz|zzzy{zz{||z{{{|{zz{zz{y{{z|z{{{{zzzz{zz{{y{z{{|{zzz{{z{{{{{{{{|{{zz{{z{y{z|{{{{{{zz{zzzyz{{{{{{{{zzzyyyzz{z{{zzyyyyyzyy{{zzz{z{zzy{yyzyzyzzzzzzzzxyzyzz{{yz{zzzzyzyyzyyzzzzzzzzyzzyyzyz{zzyz{y{zzyyzzzyz{zyzzzzzzzy{yyzzz|yy{zzyzyyyyyzzzzzzzz{yyyyyzzyzz{zzyzzzyzyxzxzz{{y{zyzzyzzy{yyyzzzzy{|zyzzyyyzyzzzzz{zyy{zxzzzyyzzyzz{yzzyzyzzzzzz{zz{zyzzzyzzzzzyyzz{zzzyzzzzz{{zzz{|zzzzyyyz{{yz{z{{zzzz{yzzzzzyz{zzzyzzzzzy{{{zzz{zzyzzyzz{{{z{zz{zzyzzzzy{{z{|{{{{zzzz{y{z{z{{{{{|z{zyyzzy{{{{z|{{{{zzzzzzz{zz{|z{{zzzz{z{{{z|{{|{|{z{|{zzz{{|{{||z{{z{zzz|{{{{|{{zyz{zzzzzzz{|{{{{{zzzzz{{z{{|{{{zzzyzzzz{{{{{{{{{zzzz{yzz{z{z{z|zzzzzzzzzzzzzzzzzyzyyzzyzzzy{zz{zzzyyyzz{zz{{zzz{zzzzy{yzzzz{z{z{yyyzzz{zy{zzzzyyzzxyyzzzzzzy{yzzyyy{zyyyzyzz{zz{zzyzzyyzzzyyzzzyyzzyyxzzz{z{zz{xyzyyxxyzyzyzz{zzyyyyyzyzz{z|zzyzzzzxyyy{zzzzzz{zzyyzyzyyzyzzyzyy{yzyzzyzyzyyzzzzyz{y{zyzyzyz{zzzyzyzyyzz{z{yzz{zyzzyyzyzzy{zzzzyyzzyyzy{zy{zyz{zzyzzyzzz{zzz{zzzzzyyzzzzz{z{z{{zzzzzyyyz{zzzzz{zzzz{z{yz{{zz{{|yzzz{z{zzzz{z{z{zzzzzyyy{{z{{z{{zzyz{yzz{|zzz{||{{zyzz{z{{z{{{z{{zz{z{z{y{{{{{{{zzz{zz{{z{z{{z{zzyzzyyyzz{zz{{{{zz{zzzzz{zz|zz{{z{{zzzzzzz{{z{{{{zz{yzyzzzzzz{zzz{zyyzyyz{{zzzzzzzyzxyyyyy{zzz{{yyyyzzyyzzzz{zzz{{yxzzzyzzzzz{{zzzyzyyyzzzy{{yzzyyyyyzyy{yyyz{{zzzzzyzyyyzzzzz{yzzyyyyyxzyzzz{zzyyyyxyxyzzyy{zzzyyyxzyzyyzzyz{{zyzyxxyxyzzz{zz{zyzyyxyzyxy{zzzz{zzyzzyzyzzy{zzzzzzyyyzzyyz{z{{zzzzzzyzzyyyzzzzz{yyyyzyzyzzz{{{|zzyyzzy{zz{{{zz{{zzzzyyzzzz{{yzz{zzy{zzyyz{z{{{z{yzyzyzyzz{{zzz{z{z{z{xzz{zzzzz{yy{z{yzyzzzz{{{{zyzz{z{zyzzz|{z{|{zz{zzzzz{z{{{z{{y{zzz{zz|{z{{{}zz{z{{{{{{{z{{z{{zzzzzz{z|{{|{||{y{{zz{zz{z|{{{{{zz{zyz{{zyz{{|{{zz|{z{zzz{{|z{{z{zzzyzzz{{z{{|z{z{{zzzzz{{|{{z{yyzyzzzy{{{z{z{zzyyxyyyyzzzz{z{zzyyzyyzxzzzzzz{zzzyyyzzzyzzzz{{{zzzzzyyyzz{zxz{zzyyyyxyyzzzzyzz{zyyxyyzyyz{yyzzzyzyyyxyyzzzyz{zzyyzyyzzyyyyzzzzzzzzzyyyyyyz{{zy{zyyzyyxzy{zz{zzzzyzxyyzy{zyzz{{zxyzyzyzxzzzyyzz{yzyyyyyzz{zzz{yy{yyzzyyzzzzzzz{{zxzyyyzzzzzzz{z{zzzyyyyzzz{{z{{zyzzzxzzyzz{z{{zzzzzyzz{yzz{z{{zyzzz{zyyyz{zzz{z{zzzzyzzy{z{zzzz{yzyy{zyzz{{z{{zzzz{zyy{z{zz{{{z{yzzzzzzzz{z{|z|zz{zzzyzz{{zzz{{zz{{z{z{z{z{{{{{{{y{zzzy{y|z{z{{{zz{zzzzz{{{{{z{{{y{zzzyzz{{{z{{{z{z{zzyzzzz{z|{{yz{yzzzzz|{{{z{z{{y{zzzzz{z{z{{{{z{yzzzz{zzzzzzzzzzzzyxxxz{{zz{yyyzzyyyyy{zzzzz{zzxyzyyzzyzyz{{yzyzyzzyxy{zzzzz{zzyyyzyzzzzzzyzzzyzzzzzxyzyzyz{{zyyyzyyzyzzzz{zzyyyzyyyyyzyzzzzzzzxyyzzyyzzzzzzzyyyyxzzyz{|zzz{zzyzyxyyyyzzzzzzz{yyzyyzyy{{zzz{zzyyzzz{yy{zzz|zzyyzzyzxyyyzz{z{{{zyzzyzyyz{y{{z{zzzyyyzzzz{zz{{|zzzyyzyzzzzz{z{yz{zzzxzzz{zz{{z{{yzzzzyz|{z{{{{zzyzzzyzy{{zz{zz{yz{zzzz{zz{{|z{{zzzzyzz{z{z|{{z{zz{zy{yyz{{{z{{{{zz{{zzz{|{z{|{{{zz{{z{zz{z{z{{{|zzzzzz{{{zz{|{{{{zz{zzz{{|z{{{z{y{z{z{{{zz{z{|{|zzzzzz{z|{{{{z|{zzzz{z{z{z{{{{zz{zzzzyzz{zz{z{z{zzyzzyzz{zz{{zz{zyyyzzyyyzzz{{{zyyzzyzzz{yzz{{{zzyzzyyyzzzz{{z|zyzyyxyzy{{zzzzzzyyxzzyyzz{zz{z{yyzyzxyyzzzzz{zyzyzzyyyyzzzzzzyzyzyyyyyyzzyzz{z{yyyyyxyyzzzzyyzzzzyyzyzyzyzz{{{{zz{yxyyyyzz{zzzzyzyyzzzxyzzzzzz{{zzyzyzxzzzzz{z{zzzyyzzyzzzzz{z{yzyzyz{yzzzzzzz{yzzyzzzzzzzzzz{{yyzyxyzy{zz{z{{zyzz{zzyyzz{z{{{{zzz{zyyzzzz{{zz{zyyzyzzz{{{zyzz{{zzzzzzy{zz{{{{{z{zyzzzz{zz{z|{{{yz{zzyxz|z{z{{{zz{zyz{y{|{z{{{|z{{zz{zz{{|{z{{{z{zzzzzz{|{|{||{{{{{zzyzz{{{{{{z{{z{zzzzyz{z{z{{{zzzzzy{z{{{{{z|zzzzzzzyz{{{{{{{{z{zyzzyz{{{zzzz{{zyzzyzyzzy{zzzz{zyyzzzzzzy{|zzzzzyzzzyzzzzz{z{zyzyzyyzzzzz{z{{zyyyyyyyzyzzyz{|zzyzxzzyz{{zyzz{zzyyzzzxzzzzz{zz{zz{yyyyyyz{y{{zyyyywyyzy{zzz{zyyyyxyyyyzzzzz{zyxzxzxzyy{z{z{zzz{zzyyyzyzyz{zzzzzy{yyxzxzzzzy{z{zzyzzzyzyzzzz{y{zzzyyyyzzz{zz{{zzyzzz{yzz{z{y{zzzy{yzzzyz{z{zzz{zzyzyzzzyz{z{{z{{yyzzyzzz{{{yz{zzzzzzzzzz{{zz{{{zzyzxzzzzzzz{z{zy{{zzzzzz{{{{{zzzzzzy{zz{|{{{{z{{y{z{|zz||{{{{{|zzzzzz{xy||{|{{|zzz{y{{|z}z{{{{|{{z{zzzzz|z{z{{{zzz|z{{{{{{|z|{{zzzz{zz{{zz{{{{{{{y{{zz{z{z{z{{{z{zyzzzzz|zzz}{{z{zzzzyzz{{{z{z{zz{zyyzzz{{{{{zyzzyyzyyy{{zzzz{zzyyzzzyy{{zyyz{z{zyyzyzyzyz{z{zyzzyzyyyyzzz{zyz{zzzyxyzzzz{zz{yzzzzyzzyxyz{yyy{zzz{zzyzzyzzzy{y{zyzyzyzyzzyz{zzzzzyzyyzyy{zzzyzzyzyyyyzzz{zyzzzzzyyzyzyzyzzzyz{zzzzzzyzyz{zyzz{zzyzyyzyyzzz{yzy{zyzyzyzy{zyzzz{{zzzzzyyz{zzzzzz{{zyyzyyzyyzzzzz|{zzyyyzzzz{zzyz{{yzz{zzz{{{z{zzzzyzyzzyzz{zy{{{{{zzzzyzzzzzzzzz|zzzzzyzy{{z{{|{{zzzzzzz{{{z{{{{{zzz{{z{yzz{|{{|z{yzzz{zz|{{|{{{|{{{zz{{{{{{{{{{{{zzzzz{zz{{{{{{{zz{zzzzz{z|{{{|{zzzy{zyzz{z|{{{{|{{zzzzzz{zz{{{|{{zzzz{z{zz{{{{|zzzz{zzzzzz{zz{{z{zzzyzyz{zzzzz{zzzyzzzyzzzzz{{yzyzyzyyz{zzz{z{{zzzyzzyy{y{{y{{yzzxzyyzyzz{{yz{{zzzyyyzyzzz{{{z|{y{yyyzxz{yz{{zzyyzzzzyyz{zz{{yyzzzzyzyzyyy{yzz{yzyyyzyyzzzzzz{zyyzyyzyzz{{{z|{{z{zzzzyzzzy{zz|zzyzzyzzyzzzzzz{{zyzyzzzy{zzzzzzzzzzy{{yy{{{zzz{{zzzzzyzyzzz{y{{{zx{yyzzy|z{yz{z{zz{zzzy{{zz{z{{{zzzzzyzzz{{{zz{{yzz{zzzzz{{{{z{{{zzzzzz{{{{|{{{{{z{yzzzzz||{z{{{zzz{z{{{z{{{{{{{{zz{{{zz{{zzz{|z{yzz{{{z{{{z{|{{zzzzz{{zz{z{{{{z{zz{{yzzz{{||{{{{z|zzzzzz{z{z{{{{zz{z{z{zz{{z{||{{zz{{{z{{{{||{|{{{zzz{zz{{{z{{z{zz{{y{yz{{{{{z{z{zzzz{zz{z{|zzzyyzzyzyyz{zy{yzzzzyyzyyzyzzzzzzyzzyyxzyyzz{{{z{zyzxyyzyzzy{zyz{zzzxzyxyyzzzyy{z{zyyzyzzyz{zzyzzzyyzzxzyyzz{zzyzzyyzyyzyzzyz{{zzzyzyzyzzyy{zzz{zzzyyyyxzz{yzyzzz{zyzzyyyyxzzzzzzzyyyyyxyyzyzzzy|zzyyyyyyyz{zzzz{zyz{zzzzyzzzzzzzzzzxyyyzzyzzzz{{{zyyzzyzy{yzzz{zzzyyzyzzyzz{{zz{zy{zzzy{zz{zzz{zzzz{yzzzz{{{z{z{z{z{{zzyzz{zzz{{zzzzzz{yzz{{{{{z{z{{zzzz{{{z|zz|{zzzz{yzzz{{{{z{{{z{zzyzz{{z|{{{{{zzyy{{z{{{{z{|{{zyzzzz{z||{{{{{zy{zyy|z|z{{{{|zzzzzzzzz{{{{z{{{zz{{zzz{zz{{{{{{zzzy{yzzy{zz{||zzzzzzz{zyzz{|zzzzyzzyyyyz{{z{yzzyzyzyxyyyzzzyz{{yxyyyyyzzzzzzzy{zzyyyyzzzyzyzzyz{xyyyyyzx{zzy{{zzyyxyyzyzyzzzzy{zxyyxyyyzzyzzzzzzzyyyyyxzzzzz{zzyxzyyyyzyyzzz{zzyzyyzyyyyzz{yzyyzyzzyzzz{yzzzyzzzxyyzzyyyzzzyz{zzxyxyyyyyyzyzzyyyyyyyyzyyzyzzz{{zyzyz{xzzzzz{z{zzyyzzyyyz{zzzzzz{zyzyzyzzzzyyzz{yyzyyyzzyzzzy{{{zyyyzyzyy{zy{{zzzzzzxzyyzyz{z{{zzzyzzzzy{zz{zzzzyzzzzyyy{z|zzz{{zy{zzzyz{zz{{{z{zzz{z{yz{z{zz{zzyyyzzzzzz{z{{z{{zyzzz|zz{zyzz{z{{zzyzzyz{{{{{{{{zzy{zyzz{{{{z|z{zyzyyzyz{z{{{z{{{{z{z{yz{{{z|{z||zzyzzzz{{{{z|zzzzyzzzzyzzz{{z{{zzzzzxyzzzzz{yyzyzzzzxyyzz{yyz{{xyyyyyyzz{zzz{{{yzyyyzzyz{zz{z|zyyyzzyyy{zy{xzz{yyxyyy{yzz{zzyzzzyyyyzyxz{zzy{zzzzyyyzyyzz{yy{yzyyyyzyyzzzzzzz{zzyyyxxzyyyzzyzzzyyxzzxxyzzzzz|zyzyzyxyyzyz{zzzz{yzyzzxyzyzzyzzzzzzzxyzzyyzyyz{zzzyzyzzzyzzzyz{zzz{yzzzyzzzzzyz{{yyyyzyzyzyzzy{{{z{yzzzyyy{zzz{{{zyzzzzzzy{z{{zzz{zzxyzzyzzy{z{z{{zzzyzzy{zyzz{{{yy{z{zzz{{z{zz{zzz{yyzzyyz{z{{{{zyz{z{yzyz{zz{{{{yyz{yzzz{{{z{{{zy{{z{{zz{z{{{|{zyzyzzzz{{|{y{{{|z{zyz{zy{{{z{{{{zzzzyzzzzyzz{{{z{{zzzzz{{{{{z|{zzzy{zz{z{z{{{{|{z{yzzyyz{{{zz{{{z{yzyzz{{zz{yyzzzyyyzzyzzzzzzz{yzyyzxyyyzzz{{{zzyzzzyzy{zzzyzzzyyzyzyyzzzz{zy{{zyyyyx{yzzzz{yz{zzzzzzyyy{zzzzzzzyzyzyyyzzzyz{zyzzzzyzzyzzzy{z{zyyyyzxyyyzyzzyzzyyzyyyxyzzzzzzyzzyyyyzxzyzz{zz{zzyyzzzyzzzzyzz{zzzyyzyzyyzzyzzzzzzyzzzzyyzzzzz{{yyyzzxzzzzzz{zz{zzyyzzyzyyz{y{z{zzzzyyzz{z{yz{{zyz{zyyyzy{yz{zyzyyzyzzyyzzzzzz{yzzzzzzzzz{{z{z{z{zyyz{z{z{{z{z{{yzyzzyzz{{{zz{{{zzzzzzyz{z{|z|{{{zzz{zzy{|{zz{z{z{yzz{{{z{{{{z{{zzz{z{yzz{{{{{z{{z{{zzzz|zz{{{{{zyzzzyzzz{z{z{{{{|{zz{yyz{{{{zz{{z{zzzzzyzzzz{{{zyzzz{yzy{{|{{{zzz{y{zzz{z{{zyyzyyxzyyzxyzzzyyzzyyyyyzzyy{{zz{z{zyyxyzyzzzyzzz{zyyyzyzxxyzzz{{{yyyyyyyyyyzzzzz{zzyyyyzxyyyzzyzzyzzyzyzyyzzzzzzyzzyxxyyyyzzyyzzzzyzyyxyyzzzzzyzyzyyyyyyxyyzzzz{z{yzyyxzyyyz{zzz{{yxyzzyxzyyzyzzyzyzzyzxyyyzyyzzyzzzzxzzyyz{z{zzzzyzzzzzzyzzzzyzzzzzyyzyyzzzzz{{z{yzzyzyzxz{{zzz{zyzzzzyzyy{{{{{zzyzzyyzzzzz|zyzz{zzzyzyyy{{{{{z{zzyyzzzyzyzzz{{|{zzyyz{zz{{{z{{{z{zzzzyzzzzzz{{{z{yzz{y{y{{{{{{{{zzz{yz{zz{zz{|{{{zzzyz{zz{{{{{{{zz{{{z{zzzz{{{{{zzzyzzzy{z{{{y{{{zzzzzyz{zz{zz{|{yzy{{zzy{yzz|{{zzyzzzzzz|z{zy{{yzzzzzyzzy{yzyzz{zyyzyyzz{zzyyzzzyyyxyzyzzxzzz|{zyyyyzy{zyzzzyz{zyzzyyy{zz{z{yy{yz{xyzyxzzz{zzzzyzyxyyzyzzzyzzzzzzyyyyyyyy{zyzzyzyyyyzyyzyz{zzyzyyyyxyyzyzyyyz{zzyyzzzyzz{zzy{zzyyyyyyzyyzz{zzyzyyyyxyyzyzzzz{yzzyyyyyyzyzzyzzzzzyzzzzxzzyzzzzz{zzzyyyyyyyzzzyz{zyyzyxyzzy{zz{zzzy{zzzyz{z{z{z{z{zzzzyxzzyzzzzz{zzzzyyzyzzzyzz|{zz{yzzzz{{zzzz{z{{y{zzzzyz{{{|z{yzzyzzz{z{zxz{{{zzyzzzyy{{{zzz{zzyzz{zzyz{{{z{z{zzyzz{zzy{{{{zz{{yyzzzzyz{{zz{{|{zzz{z{zyz{{{|{{yyzzzyzz{zz|zzz{z{zz|zzzz{z{{y{zzzzyzz{y{zz{{|{zzzzyzzz{z{y{{{{{yzzyzxyz{zzzzzzzzyyxxyyyzzzzyyzzzyzyyyyyyzyz{z{{yzyyz{yzyyzz{zyzzy{yzyyyyzzzzzzzzzxyyyyyyz{zzzzzyzxyyxyyz{yyzzzzyzyyyyyyzzzyzzzyyyzyxyyyzyy{zzzzyyxwxzzyzzyzzyzyyzyzyyyzzz{y{{zz{xyzyyyyzz{yzz{zyyzzzyyyzzyz{zzyyyxyyzyyxz{zzzzzyyzyy{yyzzzzzz{zzyzyzyyyzzz{zzzzzzzzyyzzyzzzzz{zzzyzzzzyy{zzzzzzyyzzzyzyzzz{zzzzzyzyzzyzz{zzzz{y{xyzzzyyzzzzyzzz|zyz{{zzyz{z{{{{zzzzyz{zzzz{{z{{yzzyyzyzzzzz{z{{{yzz{zzy{{{y{{{{z{z{z{{y{z{{{zz{{yy{zz{{z{|z|z{z{zz{zyzz{{{{|{{zz{zzzyz{{{z{z{{{{{{zzzzzz{{{{{{|zzzzz{{zz{y|{z{{{yzyzzzyy{yzzz{{z{zyyyzzz{zzz{z{yzxzyxzyyzzzy{zzzyyzyyyzzyzyz{yzzyzyzxzzzzzyz{zzzyyzzzzyzyyzzyz{zyyyyyzxyz{z{zz{zyyxzyyyyyzzyyzzzy{zzyyyzyzzzyzyzzzyyzzzzzzzyzyyyzyyzyzxzzzz{yzyzyxzxxyyyzzy{zzzyyzzyyyzzzz{zz{zyyzyxyzyyzzyyzzzzzyxzxyxy{zyy{zzyzzzyzyyz{z{{z{{yyzyyyyzzyzzzzzzzyzyzxzyzzzzz{|zzyyyyzzyyzzz{{{{zzzyzyzzz{yz{{{zzzzzzyzzzzzz{{{{zz{zyzyzz{{{{{zzzyyyzzyz{y{{{{{{zyzzyz|z{zzz{{{{zzzzyzzy{{{{{{{zzz{z{{{zz{{zz{z{{zyzzz{yzz{{{{{z{yz{{{zzz}||z|{{zz|zzz{z{zz|zz{{{zyzzyyz{{zz{zz{{yzzzzz{zzz{{zz{zzzyzzyyz{|z{{z{zzzzyzyzzzzzz{z{yy{zxyyyzzzzzzzzyzyyyyxxz{|yzzz{{yzyyyzyz{{zzz{{zzzyyzyx{yzz{zz{zyzyyyyyyzzz{zz{zzzyyzyxzz|zz{zzzzzzzyyyz{zzzzzzyyyyzxyzzzzzy{z{y{zxzyyyyyyzyzyzyyyyzyzzxyzzz{zyzzyxxxyyzzy{zzzzyzzzyzyyyzyzyz{z{yyyzyzyzzzyzz{zyzyyzyyzyzy{{{zzyzyyyyzzzz{yzz{zzzzyyyyzzz{{{zy{zyzzyyyzzzzzzzzzzzzyxyz{zz{{{zzzz{zzz{zyzzzzz{{zzz{zzyyzzzz{{z{zyzyzzzzzz{{{zzz{{zzzzzz{{z|{z{{{z{zzzz{{z{z{z{|{zzzzzzzz|z{{{z{z{{zzz{yz{{{z{z{{zzzzy{z{zzz{z{z{{{{{zzzzz|{{{{{{{zzzzzzz{z{z{{{zzy{zz{zz{{z{|{{{zzzz{zzz{|z{{{{zzzzz{z{zzzzzz{{{{zz{yzy{yzz|{z{{z{yzzzzzzzzyyzzzyzyzyzzyz{zy{zzzyyyyyxyzz{zzzz{{zy{yyzyxyz{y{{{zyyzxyyzyzzzzzzzzyyzyyyyyzzyzzzzzzyzyzyzxyyzzyzz{zyzyyyzyzzyyzzzyzyyyyzyyzzyzyy{zzyyzyyzyzzzzzzzzzzyzyyzzxyzzzz{yzzyyyyzyzzzzzzzzyzyzyyyzyz{yy{{zyyzzzyzyzzzzz{z{yzzyzzzyyyz{z{{{yyyyzyxyyy{zyzz|zyyyyxz{z{{{z{{zyy{zyyzyz{yzyz{zzyzyzyyyyzzz{{{{zzzzyzyyy{|zzz{zzzyy{zyy{z{{zzz{zyyzyzzy{z{{{zz{zyyzzzzz{z{{z{{{|zzzzyzyz{|{{{|{zyzz{{zyzz{{{{z{zzzyy{z{{{zz{z{{{{zzyzzz{{{{{|{{{zzzzyzzzzzzz{{{{zzzyzz{{z{{{z{zz{zz{z{z{z{{{{{{zz{zzzzzz{z{{z{zzzz{yyyyz{y{zzz{zz{yzyzyzzzz{zyzzzyyyyzyyzz{yyzzzyzzyxxzzyyzyzzzyyzyzyzxzz{z{zzzzyyzyyxyyyzzyz|{zzyyxyxyyzzzyyzzzyzxyyzyyzzzz{{z{yzzyxyyzzzzy{zzyyyyxyzzzzyzzzzzxyyyyyzyzyyyzyzyyyyzxzyyyyzzzzz{yyzzyzyyzyyyzzzz{yzzyxyzyzyzzzxzyyyxzzzyzzzzyzz{zyyyzzyzzyzzyz{zyzzyzyzzyz{zzzzzyzzzyxyzzzzzzz{zzzzyyyyzz{zz{{zzzxzyzyyyy{zz{{zzzzzzzyzzzz|zyzz{zyyyzzyyzz{zzyz{zzzxzyyzz{{zz|{zy{x{zz{z{{{{{{{|zzyzzzyz{{z{z{zy{z{zzy{{{{{{zz{zz{{zz{{zzzzz{zz{|zzzz{{y{|{|{z{{{{yzzzyz{z{{{{zz{zzzzyz{{yz{z{{{zzzzzzzz{{zz{{{{z{zyyzyyz{{zz{{{zzzzzzzzzzzzzzzzyy{zyyzyzzzzzzy{zzyyyxzxyyzzzzzzzyyyyyyzzzzxz{zzzzyyyyyyyzzyz{zzzyyzyyxyzyzyyyzzyy{yyy{yyzzyzzzzzyzxyzyyz{zyy{{zzxyyxyyyzyz{zzzyzyzyyzyyyyyzyzy{zzyyzyyyzzzzzzz{zyyyzzyyzzzzxzz{yyyzzzxyyzyzzz{yyzzyzxyyyzyzyyzzyxyyyzyyzzyzz{{zyyzzzzyyzzy{zzy{zzyzyxyzz{yzz{{{zzzyyyzzzzzzz{zzzzzyzzzzz{{{zzzyzyzzzzyy{{{yz{yzzyzzyzzyzz|z{z{{zzzxzzzzzz{zyzy{zyzzzzzzz{{|{z|{yzzzzyzy{|zzz{{{zyz{zz{{{z{z{{{zzyyzyz{{||zz{{{|yz{{zz{y{z{zz{z{{{yyz{{{z|z{z{{{zyzzzy{z{{{{{{{{zz{zzzzzzz{z{{{zz{zzzzzz{{zzzz{|yzzyzz|zz{zz{zzz{{zzyyzzy{{z{{{zyyzzzyyyzzyzz{y{zyzzxzzyy{zz{zzzzzzyyyzzyz{zzzz{zzyzxyyxz{{yz{{zzyyzyyzyzz{zzyzyzyyyyyzx{zzzzyzzzzzyyyzzzz{zy{zzyyzyyzyyyz{yzzz{zzzyyyyzyxzzzyyzyzyyyyyyyzzzyzzzyyyzyyyyyz{zzzyzyzzzzzyxxyz{zzzyzzzyzxyyzy{yy{z{zyzzyzzzzzyzyzy{yyyzyzyzzz{zzzz{zyzyyzzyz{z{z{{zzyy{yyzyz{zzz{{zzzzyyzyyzzz{{z{{yyzyzyzyz{z{{z{zzyzzzzzzzz{z{zz{zzzz{zzzzzzzzy{{{yzyzyyzzz{z{zz{zzz{zzzzzy{{{{{zzzyzzyzyz{z{{{{{{zzzzzzz{{{z{{{zzz{zzzzy{zz{|{{{zzzzzzyyy{|zz{|{{z{{zz{z{{z{{{{z{{z{{zz{{z{{|z|{zzz{yzz{z{{{{z{{z{{yzyzyzzzzz{{{zzzzzyzyyzz|z{zzzyzyyzzz{zz{zzyzzyyyzyyyzzzzzyzzyzyxxyyyzzzyy{yzzyyyyyzyyxzzyyzzzzxyyxyyyzyyy{zzyyyyxyxyyzyzyz{zyyxxyzyyyzzyyzzzzyyyzyxyzzyzzzzzyyyyyzxyzyzyzzzzyyyyyyyxyzyzzyzzzyyyyxxyyyyz{zyyzzyzxxyxyzzyzyz{yyzzyxyyyzzy{yzyyyyzyyyyy{yyzzzzzyzyyyyzzyzzyyy{zxxxzyzzzzyyz{z{yyyzzyyzzzzz{zzzzyyyxyzyzz{zzzz{zzyzzxzxxyz{zzxyyyzzzyyyzyzzz{z{zyyyzyzzzyzyzz{zyzzzzyzz{zzz{{{{y{{yzzzz{{zzzz{{{z{zzyy{z{{z{z|z{yyzzyzz{{{{z{z{z{zzz{zz{{z{{{|{{zz{yzzzz{z{z{{{zz{z{xzz{zzz{z{{{yzzzzzzz{z{zz{{zyy{{yyzzzz{z{{{zzyzzzzzzz{zzzz{zz{yzxzzzzzzzyz{yzyzyxyy{zzzzyzzyyyyyxyx{zzzzyzzzzxyyyzyyyzz{zzzzyxyyzyyzyzyzz{{yzzyzyyyyzyzzz{zyzyyyxyxyzzzyzz{yyyyyyyyyyyyyzzyyyxyyxyyyzzzy{zzyyyxyzzyyyyyzzzyzxyyyyyxzzyyzzyyzyzyyzxyyzyzz{z{yyzyxyyyyzzzyzzzyyyyyyyyyyzzyzyzzyyxxyzyy{yyz{zyzyyyyyzxyzzzzzyzzzyxyxyz{yzzzyz{zyzzyzyyzzzyzyz{yyzyyzzzyyzzyz{{yzyyyyxxzz{{{{yyyzyzyzz{{{{zzzz{zzyyyyyzyzy{yzzzzzyz{zyyzzzz|zz{yzyy{zzzzzzz{{{zzyyyzzzyzz{z{z|{{yzyzyyyzz{{{{z{zyzy{yzzzzz{z{{{zzzzzzzz{{{z{{{{zyz{zyzy{{{zy|{zyyyzzyzzzz{z{{{z{zzzzzzzz{yz{|{zzzyy{zzzzzzy{{|z{yyyyyzzzzz{zzz{{yyyzyzyzzzzyzyzzyyzyyyxzyz{zzzzzyyyzxyyyzzy{{zzzyzyyzyyzzzyzzzzzyyyyyzyyzzzyzzzzzzyyyzxzyzzzzzyyyyyzyyyxzzzy{zzzyyxzyyxzzzzzzzzzzyzyyyyyyzzy{{zzzxxxxyyzyyz{yzyyyyzyyxyzyzz{zyzzyyyyzyyyzyyzzzzzyyzzyzyyyzyzyz{zyyzzyxyyzzzyzz{yzyyzzyxz{z{z{zz{xzyzyzyz{zzzz{zzy{zyyyzzzzzzzz{yyzzzzyyz{zzzzzzzzzyyyzzz{zzz{{z{zyzzzyyzz{z{z|z{yyzzzyzzz{{z{z{zyzyzzzzz{{{{{z{z{zzzzzz{|z|{z{zyzzzyz{zy{z{{{z{{yzyzyzy{|{zz{{zzzzzzzz{z{{{z{{{y{{z{yzzy{{{{{{z{zyzyzyy{{zz|{{{zzzyz{{z{{{{{z{|{zyyzyzzzz{{{|{{{zzzyzzzz{{{zzz|z{yzzzzzy{zz{z{{yzyyyyyyz{zzzzyzzzyyyyxxzzzzzzz{zyyzxyyzyzz{zz{{z{zzyzyy{{zyy{{zzzzzyyzy{zzy{y{zzyzyxzzz{zzzz{y|yzyyyyyxzyzzzzzyzyyzxyzyzzz{{z{{zzyzyyzyzx{zzzz{yzyyyyzyzz{{yzzzzyyzyzyyzzzzzzzzzzyzyyzzyzzzyz{{zyyzyxzy{zzzzyzzyzzyzyyzyzzzz{zzzyzyzyzyzzzzzz{{{zzzzyzyzy{zyzz{y{{zyzzz{zz{zz{{zyzzzyzy{zzzyzz{z{zzzzzyy{z{z{zzzzzzzyy{zz{zzzzz{xzzyzzy{{{zzzz|zzzzzyzzz{yz{{{zzzz{zz{zz|{{yz{{zz{{yyyz{zz{{{{z{yzzzzzz{{{{z{{{{zz{zzzzz|{{{|z|{zz{{{zzz{zz{|z{{zzzyzzz{z{|z{{{{zyzzzzz{{yzz{{zzzyz{zyz{z{{z{{{{zyyzzzz{zz|{z|{z|zzzzzyz{{zz{{zyyzzzyyzz{zzzzzzzzyyzyyzyzzzzzzzzyzyzzyxzyzzzz|yzxzzzy{yzz{zzz{{zyzzyzyy{zz{zzz{zyyxyyyyy{z{yyzzzyyyyxzyzzzzzz{zzzzzyzxyzzzzyz{zzyyy{zyxzzyzyzzzyyzyyyyzyzzyzzzyzyxyyyyyyzzzzzz{zyzzyzyzzzzzzz{zyyyyzyzzyyzzyyzzzyxzyyyyzzyz{z{zyzyzyyzzzz{{zz{zzzzyyxzyyzzzz{zzzyyyzzzyyzy{z{zzyy{yzyzyz{zzz{{{zzzyzyzyy{zzz{zzzy{zyzzzzzzzz{z{zyz{zzyzz{{z{{{{zzzyzyz{z{zzz{zzzyyzzzzz{zz{{z{{zzyzzzyzz{{z{{{zzzzzy{z{{|z{{z{{{z{zzyzzz{z{z{{{yzzzzzzz{|{{z{{|{zz|z{{zz{{|{{{{{zzzzyzzzz{{{|{zz{zzz{{zzzy{{|{{z{{zy{zyzz{z|{|{|zzzyz{yzzz{zz{zzzzyyzzz{zzzyyyzzxyzzzzxzzzzzzy{yzyxyyyyyzx{z{zyzyzyxyyyzy{zzz{z{yyzyyzyzzz{zzzzzyyyxzyyyz{zzzyzzzyxxyzyyz{yzzyyzzzyzyyyzz{yzz{zzyzzyyxzzzyzyzzzyyzzzyyyzzzyzz{zzyxyyyyyzy{yzzzyzzzyyzyxzzzzzz{z{yzyzzyyzyyyy{yzyyyzyyyyyzzy{zz{yyzyz{zx{zzyzzzz{yzyyyzyzzz{yzzzzzyyyyyzz{zz{z{{zzyyzyyzzzyzzz|z{{zyzyyz{{zzz{yzzzyzzzzzzzzzzz{zzyz{{yzzzzzzyz{zzzyzzzyzzz|{z{|zyzzzy{{z{{yz{{|zzzzyzzyzz|{{{{|{zyyzzzzy{{zz{{{{z{zzzzzzzz{{z|{|yzzzyyzzz||{z{{{zyzzzz{{z|{zz{{yzyzzzzzzz{{z{z{|z{zzzzzz{zy{zz{{yzz{yzzyz{{zz{{zzzzyyzzyzzzzy{{zzyzyzzyyz{yz{zzzyyyzyyyyzzzyzzz{yyyzzyzzzz{zzzyzzyzzyzyyzzzzz{zzzyzzyyyyzy{zyz{yzyzzyzzxzzzzz{zzzxzyyxzyzzyz{{z{zz{zyxxxyzyz{yzyyyyyyyyyyyzzz{z{yzyyxyzyzyzz{zzzzyyxyyyzzzzyzzzzyyzyyyyyz{y{y{{zyzyyyzyyzzzyyzzz|yzyyzzyzyzzzyyzzyzz{zyz{yz{{{z|zzyyzyzzzzzzyz{{zyzzzwzyzz{z{zzzzyzzyyzzzzzzzz{{zz{zyyzz{zyyz{{zyzzyzzzy{zz{{y{zzz{z{yzzz|{zzzzz|{zyzzzzz{{{z{|{{zzy{z{zzzzzz{{{zzzzzxyz{{z{{{z{zzzzzyzz{zzz{{zz{zzzz{zz{{z{z{|{{zzzzz{{{{z{z{{{{zzz{{zzz{{{{{{{zzzz{zzzy{{{z{{{{{zzzzyz{{{{{{|{zzzzyzzzz{z{y{{z{zz{zzyzy{{{{zzzzz{zzyyzz{{{z{y{zyzyyyyyzyzyzzyzyzyyyyyzyzzzyz{zzyyyyyzyzzzzz{zzzxzxyzzy{{zzyzzyyzyyyxyyzyzzyzy{zyyyyyxyyzyzzzzyzyyyzyyyzzzzyzzzyyyxxyyzyyzzzzzzyyyyyyzyzyzzzzzzyyyyyyxzyzyz{yzzzyzyxyyyyyzz{zyzzxzyxxzzyyzzz{y{yyyxyyyzyzzyy{z{xyyzzyyzzzzzzyz{zyzyzyyzzzzyy{zzzyzyyyyyzzzzzz{{yzzzywyyzz{yzz{{zxyzyyzzzz{zy{zzzyyyz{yxz{zzzz{z{yyzyyyyz{zyzzz{zzyzyzzyy{zz{{{{zyyzzy{zz{z{z||{yzy{zyzzzzzzz{{{{zyzyyzz{|{{z|z{{zzyyzz{{{{zzz{{{zzyyzz{{{{zz{{{zzzzyzyz{{z{z{{zzzyyzzzyz{{{{zzz{zzzzzyy{zz{z{z|yyzyy{zzzzy{z{{{{zzzyzyy{{{{z{{zzyzyyzyyzyz{z{zyyzyyzyzyzz{zzz{{zzyyyxyyzzzz{zyyzyyyyzwyyzzyyzzzzyzyyzzyzzzzzzzzzzzyyyzyzzzzyzzzyxzyzyyyzzzzzyzzyzyyxyxzzzz{xzz{yyyyzzyzyzzzzzzzyyyyyyyyyyzyy{zzyzyzyxy{yzzzzz{zzyzzxyzzzzyzz{{{yyyyzyzyyzzyzzy{xzyyzzyyyzyzzzz{zyzyzzyyyzz{zyzyzzyyzyzzz{zzzzz{{zzyyyzzzzzzz{z{yzzzyyz{zzzzy{{yz{zyzyyyz{{zz{y{zyzzyzzyzzzz{{zzyzzzzz{zz{{{zz|{z{zzzyyz{z{zz{z{zzzzzzzy{{z{{z{zyzz{zzyyz{{{z{z{{zyzzzyz{zz{z{{|zyzyzzzzy{zz{{{z{yzzzzzzz{zzz||{{z{zzyzzz{{zzz{{zzzz{zzzz{z{{{{{z{zyzzyz{zz{|{{|zzzyzzzzz{z{{{|{{zz{yyzyz{z{z{z{zzzyzyzzzz{{z{zzzyzzzyyyz{zzzzzzzzxzyzzyzyzyyzzzyyzyyyzyyz{yzzzzyzzyzyyzzyzzyzzzzyzxyyyyzy{zzzyzyyyyyxzyyzyyyzzzzz{yyyyzyyzzyzzzyyyzyzxyyzyyzz{zyxyyyyyzzzyyyzyzzxyzyyyyyzz{zzzzzzyyy{yxyyy{yz{zzyyzyyzyyyzzyyyzyyyyxzyyzzzzyzz{yyyzyyxyzyyyzyzzzzyyyzzy{{|zzzyzyzzzz{zzzyzzz{zzzzzyyzyyz{zz{z{zzyyzyyyzyyz{zzyy{yzzzyzyzy{{zy{zzzzyyyyzzzzzzz{zzyzyzzyzzz{z{{zzyy{zz{yyzyz{zz{{zyzzzzzz{|{y{{{{{yzzzzyz|zz{{{{z{z{zzz{{z{zzzz{{zzzzyzzz{zz{{z{|{zz{yzzz{zz{z|{zzzzzzzy{{zzz{{|{{yyzzzyz{y{z{|zzz{{zzzyzy{zz{{{{{{zzyzzz{{{{zz{zzy{yyzyzzz{zz{{yyzzyzyzyyy{zzzzzyyzyyzyzyzzyyzyzzyzxyzzyzzzzy{z{zyzxyzxyxyzzyyzzzyyyyyyyzz{yyyzzyzyyzyzxyzyzzzyyzyzyyyyzzzzyzzyyzyzyxyyyzyyzy{yzzyyxyxyyyyzz{yyz{zxxyzxyzzyyzzzzyyzxyyyyyzyyyy{zzyxy{yyyyzyxzzzzyyyyzyzyyyzzzz{{yyzyyzzzzzzzzzzzzyyxyyzyzzzzzzz{xyz{yzyzzzyzyz{zzyzzzzzzy{{zzzyzyzyyyyyyzzzzz{zzzyzyzzyyzz{zzzz{{zzyyzyzzz{zyzzyzzzzyyyzz{{{{{{zyyyzz{zzzzz{zzz{{yzzzyxy{zzzzz{{zzzzy{zyz||{zz|zzy{yzzzzyz{{{{{{{zz{z{zyzzz{zz{{yyzzzyz{zz{{{{zzzzyzyyzy{{zz{{{{zzzzzzyzzzzzz{|zyzyzyzzz{{yzzz|zzzz{yzzyzzzzz{{yzyzyyzzyyxzzzzzzyyyzyyyzz{zyxzzzyyyyyzxyzzzzz{{zzyyxyzzyzzyzzzzz{{yzyzyyzzzzzyz{yyyxyxyxzzyzy{zzyzyyyzyyzy{yzz{zyyxyyxyz{yyzzzyyyxyzxzyzxzzzzzzzyxzyzyyzzzz{z{yzzzzzxyy{yzzzzz{zzyzyyyxyyyz{{y{{zyyyzyzzyyzyzzzzy{zzyzyxzzyzzzz{yyzzzyyy{{zzzzz{{yzyzyzzzyy{zzz{zyyy{yyzzzzyy{yzyyzyyxyxzyzzz{z{yzyyzyyxzzyzz{zzzyzyzyzzzz{|zz|z{yzzyzzz{zzzzz{zzyzzyyzzz{{zzzzzyzzxyzzzz{zzy{{{zzyzzyzxzzzzz{z{{zyzzzzz{{z|z{{|zyzzzz{{zz{{zzzz|{zzzzzyz{|{{{{z{zzzzzyz{zz{{{z{zyz{zzzzzz{{z{z{zzzyzzzzzz{z{{z{{zzzzyzyz{z{z{{|zzxzyzyzzz{zzz{zzyyyyyzyz{{yzzzzzyzyxyyyyyzyzyz{zyyxzzyyzzyzz{{zzzzyyzyyzzy{z{zz{zzyzyyzzzyzzy{zzzyyyyyy{{zzz{zzzyzyyzyyx{{yzzzzzz{yy{yyyyyzyzzyzzzyyzxyyyzzzzy{yyyyyzyyzz{yzzzyzzyyyyyzzzzzzz{yzzxzyyyyy{yzzyzzzzzyyxzyyzyyzzzzyxyyyyzzyzzzyz{{zzzzzzyzzy{zzz{{zzyy{zyxzzyzzzz{{zzyyzzy{z{yzzz{zzzzzyzz{zzzzzz{{zzz{yyyy{zz{{yzzzzzyzyzz{z{{z{zzzy{zzyz{{zzz|zzzzzz{zyzz{z{z{{{zzzyz{zzz{{z{{{{yyzzzzyyz{z{{{{zzyzz{yzz{{zz{{z{zyzzzzzzz{zz{zz{zzzzzzzzz{{z{{{{{z{z{zzyz{z{{zzyzyzzzyzz{yz{{{|{zzzzzzzz|zz{|{{{{zzyzyzzz|{z{{{{{zzzz{zzz{zzy{{zzzzzyyyzyzzyzzy{yyzzyzywxzzzyxz{zzyyyyyzyzz{yz{{yyzxyzzzyyzzzz{zzyyzyyzzz{yzzyzzzyzyyyzyzzzzyz{zyxyxxyyxzzzyzzz{zzzyxyyxz{zzzzzzzxyyyyyyzzyzzyzzyyzyyyzzzzz{y{yzyyxyyzxyyzzz{z{zyzyyyyyyzxy{zyz{yzzzyyzyzzzzz{yzyzzyyyyzz{yzzyy{yyzyzyzy{y{zzzzzyz{zxxyzz{zzyzz{zy{zzyyzzy{z{{yzyyyzyyzzzzz{y{zzzyzyyyyzzy{{{{y{{{yzyzzy{z{zz{{zzyyyzyyyzzzz{{{{zzzz{zyyzzzz{z{{zzyy{zzz{{z{z{{{zzzzzzzz{{{z{z{zzzyzyyzy{z{z{{{|{{zzzz{{{z{{{|{{{yz{zzzzy{{z{z{zzz{zzy{{{zzz{{z{{yzzzyyzzzy{z{||{zz{{zz{{z{{z{{zyzyzzzzzz|zzz{{{{y{yzzzzz{{|z{{zzzzyyzzyy{yzyzzzyyyzzyyyzzyzzzzzyyyzyyyzzzzzzz{{zyyyyyyyzzzz{z|zzyzyzyyyyzzzyzz|zzzyyyzz{z{zzzz{zy{yyxzyzzz{y{{zzy{yyxzy{y{zyz{zyzyyyyyyzzz{zzzzyxyyyyyyzzyyzzyzyzyzyyxzzyzyzz{zyyzzxyyyzzz{zzz{zyyxzzyyyzyyzzz{zzxyzyzzy{zzzzzzzz{yzzyyzz{zzz{{yzzy{yyzz{zz{zz{yyzzyyzz{zzzy{zzzyzyyyyzzzz{{zz{zzzz{xzyzz{zzz{zzyzyzzyy{zzzzz{zzzyz{zzy{|zzz{zy{zzyzzzz{{{{z{{{zzzzzy{z|{y{z|{{zz{{y{yzz{{{{zz{{zzzzzzz{{{{{|{{{zzzz{{{zz{{{||{zzzzzzzzz{z|{|{{zzzzzyzz{{zzz{{|{zzzz{zz{{{zz|{|zzzzzzz{{{zz{z{zzzyy{zyz{z{{{z{z{{zyyzzyz{z{zz{{zzzxzyzyy{zzz{zyyzyzyxzyxzz{yzzzzzyyyyyyyzzzzzy{yyyyyzzyzy{zyzy{yx{xxyyyzz{{zyzzzyzxzy{zyyyyzzzzyzyxyyyxyyyyyzzyyyzyzyyyzy{yy{yzzyyyyzyzyzyzz{zzyyyyzyyyyzzz{zzzzzzyyywzzyzz{{{yyzzyyyyyzz{zyzz{zyyzzyyyxxzyyyzyy{yyzxyzyzzzzz{{zyzyy{yyzyzzyzzzzzyyyzyxy{{zzzyzzyyzyyxzzzzzzyyzyyzzzyyzzz{z{{zzzyzyyyzzyzz{zzzyzzzyzyyz{{zzzz{{zzyzyzzz{y{zz{zzyyyzzzzzz{{{{{zzzzyzyyzy{{zzy{z{zzzz{zyz{z{zzz{zzzy{{y{y{zzz{z{{z{zzy{{zz{zz{{{z{zyzz{zzzz{{{{{{{zz{{{zz{z|z{zz{zz{zzyzzz{z{z{{{{zzy{zzz{z{{z{{zzzzzzzzzzzzz{{|zzzyzyzyyzzyzzzz|{zzyzyyyzzzzzzzzzyyyyzzyyyzyyzzyzzxyyyzyzzzzz{{{yzxyyzyyzyyzz{z{zzyyyyyyzzz{zyz{zzyyyyzzzyzyyzzzzyyyzzyyzzzyyzzyzyzxzyyy{zzyyzy{zyyyyyyxzzzzyzzzzzyxzxyxyzzzzzzzzyyyyxxyyzy{zyzyzyyzxyyyzzz{zy{{yyyzyyyyyzyzyzzzzyyzyyyyy{yzz{{{yyzzzzzyz{yzzyz{yzyyzyyxzzzzz{{zzzzyzyzzzzz{zzy{yyyzxyyzzzzzzzz{zzzzzzyyz{{{z{zzyy{yyzzz{z{zyz{{zyzzyyzy{{yz{z{y{zzyzzz{{zzz{z{|zzyzzz{yz{zzz{|{zyzzzzxz{z{{{z{{zz{zzyzz{|{z{z|{zzzzz{{z|{z{z{{z|{zy{yzzz{z{y{{||zy{zzzzzzz{zz{{zzzz{yy{{{z{{|{{zz{zz{zz{{z|yz{{{zzzzzz{{|{|{{{z{{zzyyyz{{{{zzzz{yzy{yzx{y{{zzz{yyyzyxzxzz{yyyzzyzxzyyyyzzyyzzz{zyzzzyyyzzzzzzzzyyyyyxyyyzyzyzzzzyyyyzzyzzyzz{zzyzyyyzyyyzyyyzyzzyyyyyyy{yzzzzyyzzyxyxyyzyzyyyz{yyyyzzyyyzyzzzzyxxyyyxyyzyyzyyzzzyyyyyxyyzz{zzzzyyyyzyzyxzyzzy{zzzyyyyyyyyzyyz{{zxzyyzyzzzyzyz{z{zyyzyyzyzz{y|{zzzzzyyzzyzzzy{{zyyzzyyyyz{zzzz{zzyzzyzzyyz{zzzzzyyyzzxyyz{zz{{{{zzzzzyzzyz{zy{{zzzyyyzzz{zz{{|z{zzz{zyzz{zz{zzz|zyyyyzyyz{{{{z{{z{z{zz{z{|z{{{|{zzzzzz{{z{zz{{|{zzzzzzyzy{{{y{{{zzz{zyzz{{{zz{z|zyzyzz{zz{z{{z{|{zzz{zz{zz{zz{{{y{yyzzyyzz{zyzz{z{yz{yzzz|{zzzzzyyzzyyzz{{{|zzxzzyxyyyxyzz{zzzz{zzyzyyyzy{zyz{z{yzyzyyzyzyzzzzzzzyyyyyxxyz{yzyzzyxzyyyyyyzz{zzy{zyyyyyzyz{zyy{yzzyyzzzyx{yzzy{xzyzyyyyyyzzzzzzzyyzyyyzzyzzzy{zzzyyxzyzxzyzzzzzzzzzzyyyyyy{zyzz{zzyyzyxyyyyzzyzz{zyzzzyyyy{yyz{{yzzzzyyyyy{zzzz{zzzyyzyyyzzzyz{zzzyzyyy{zzzyzzzzzzzyyyyyyyyzzz{{zzxzyyyyy{zyzz{{zzyxzyyyy{zzzzzzzzzzzzzyzy{zzz{zzy{zyzzzz{zz{{{|zzy{zzzz{{}z{z{{{{{zyyyzz{z{{{z{{zyzzzyzy{{{zz{{z{{zzyz{yyzyz{{{{{zzyy{z{{|z{{{z|z{z{zyyz{y{zz{{zzyzyzzz{{zz{|{|{zzzx{yz{{{|{{z{zzy{z{yzz{zy{zz|zyzz{zyyyz|zzz{zyzyzyzzyzyz{yzzyzzyyyzyyyzy{zzzzzzyyzyzyxzzzzzz{{y{yyyyyyyz{yzz{zzxyyzyyyzxyyyzyzyzyxyzzxzzyzzyyzzyyyyyyxz{zyyzyyyyzyxzyyyzzxyzzzyyyxzyyyyzyzzyz{zyyzyxzxyzzyyzzzzyyzyyyyyzzyzzzz{yyyyyxxyyyzyz{zzyxyzyyxxyzyyzzzzyyzyyxyyzzzyz{zyyyxzyzy{{zz{zz{zxxyzzyyzyzyz{{zyzzyyzzyzzz{z{yzyzyzzzzyzzzzzz{zzyzzyzyyz{z{z{zzyzyzyyzyzz{zzzzzzzyzzzzz{z{zzzz{zzzyz{yzzz{{{{yzyzzyyyyzzyzzz{{{{zy{yyzyzz{{{z{{{zyzzyzy{{{{z{{zzzzzz{z{zzzz{{{{{zzz{zyzz{{{z|{{zz{{zzzz{{{{{{{zzyzzzzy{{zyz{{{{{yz{{zzz{zzz{|z{zzzyzzy{y{z{|z{{zzzzzyzzy{y{zz{zzyzzzyzyzzzzz{xzyyyyzyyyzzzxzzyzzyyyyyyyyzyzyzzzzzxyyzyy{y{yzzz{zyyyzxwyyyzzzzz{yyyxwyyxxzyyyzyzzyzyyyyyyzyzyzzzzzyyxzyyzzzyyyzyxyyxxyyzzyzzzzyyzxyxxyyyxzzyzz{zzyyyxyxzyxzzzzzyzyyxxxzyzzyyzzz|yxyyyyxzzyzzyzzzyyxyxyyyzyyzzzzzyy{zyzyyyzzzyzzzzzyzzyyyzzzzyzz{yyzyyxzyzzz{zz{zzyzzyyyzz{{z{y{zzzyyyyzyy{{z{zzzzzzzyyyzzyzzzzzzzzyyyyxx{yyzz{z{xzyzyzzy{zy{{zzzyyyzzzzzyz{z{{{{zyyyzyyyzzzzz{zz{zyzzyzy{zz{z{{{zyzyzzzzzzzzz{{{{z{zyzyz|zzz{zz{zzzzzyyyz{zz{z{yzxzzyzzzz{z{{{{{{z{z{zy{{{{{z{{{y{zyzzzzz{{{{{{{zyzzzzzzz{{zzz{yzzzzzyyyzz{zzzyyyzyzyyyyyyzxzz{zzzyyyyxyyzzzz{zzzzyyxyyyzzyzzz{{zyyxyyxzzz{y{z{yzzyyyyyxzy{{zzz{yzyxyyyxyzzyzz{yzzyzyzxyzzzy{zzzyyzzyzy{yzzzyzz{yxyxyyyxzyz{yzzzyyzyyyx{zz{zzyzzzyyyxyyyyzzyyzzzzyzyyyyyzzxyy{yzyyyxzyzyxzz{yzyzzyzyzxyy{yzzz{{zzyyyzyzzyz{yz{z{yzyyyxzzy{z{zyzzyzyyzzyyzz{zzzz{yzzzzyyzzzzzz{yzzzzyyzyzzzzzzzzzzzyyzyyzzzzyyzyzzzyzzzzz{z{{{{zzzz{yyzzyz{z{z{{{zzz{zzyz{{z{{z{z{zzzzzzyz{zz{{{{yzzzz{z{z|z{zz{{{y{zyz{y{|z{z||z{zzzyyzzz{zzz{{zzzz{zzzzz{zzz{{{{z{{{zzzzz{z|z|{yzzz{zzyzz{zz{{zz{yzzzyyzzy{zz{{zzzyzzzy{z{yzzyyyzyyxyyyzzzyzy{zzyzzyyyzzzzzyzzy{yyyyyxyzzyzzzzzzyyzyyzyy{zzzyzzzzyyxyzyyyzzyzz{yyyxyyxyz{yyzy{yyyxyyzxyxzzzzz{zzyzyxyyyzyzyyzyyyyyyyxyyyyzzyz{zyyyyxyxyzz{zzzzzyyyyyyyzzzyzzzzzyyyyzyyyzzzyzzzzzzzyxzyzzzyzyz{yyxzy{yyzzzzzzz{{zxyxzyzyy{zyz{z{zyzzyyzzzzzzzzzzzyzyyzyyyz{z{zzz{zyzzyyzzz{z{{yzzyzyzyzy{{{zzy{z{zyzzzyyzz{{{{zz{zy{zyzyzzz|z{{{y{yzzzzz{zzzzzz{zyzzzzzyz|{zzz|zzzzyyzzzz{{z{z{zzzzzzzzzz{zz{{{{zzzzz{zyz{{{z{{|zz{zzyyz{{{{{{{|zz{zyyzzz{zz{z|{|z{zzz{{{zz{z|z|zzyyyzzyzyy{zz{{zyzzzzyyzzz{y{{zzzzyzyzyy{zzzzzyzzyyyyyyzzzyyzz{yyyzyxyyyzzzzzzzzzyyyyzyzyy{z{yzzyyyzyxyzzzzyzzzyyzyyxzyyzyzyzz{zzyyzyyyz{zzzzzyyzyyyxyxzyzyzzzzzzxyyyyyyzzzzzyzyzzyzyxzyyyz{zzyzxyxyxyzyyzz{yyyzyzzyyyzzyyzzzzzzyzzzyyzyzzzyzy{yzyzyzyyyzzzz{zzyyyyyyyz{yzzzzzzzyzyzyyzz{yzyz{zyyzzyyyyyz{{z{{zzyzzyyyyzzz{zz{zyzy{yzzzzyzzzzzyzy{zyxzxzz{{zz{zzyzzzyyzz{zyz{zzzzzyzyzzz{zz{{{{zzzyzy{zz{y{{{z{{zzzyyzz|{{{{{|zzzzzzzzz{zz{{{zzzyzzzzz{z{zz{{{{zzzzzzzyz{zz{zz{{yzzyyz{{yzzz{|{{z{zzyz{{{z{{{z{{zyyzzyzz{zzz{{{zz{zzzzzz{z{z{zz{yzzzz{yz{zzz{{zzzzzyzzzyz{yzzzzzyyzzxyzyzzzzyzzzzyxyxyyy{{zzzz{{yzyyyyyzzzzzzz{yxzzyyzyz{zzzzz{z{yzyzyyy{zzyzz{yyzyzyzzy{{yz{zzzyzzyyyy{{yyyzzyyyzyyzyzyzzzyyyzx{yyyyyyzzz{z{{yzyzzzzx{yyzzzzz{zyzyyzyyz{zzzyz{zzyyyyyzy{zy{zzzzzyzyyyyyzzzz{z{yyzyyyyy{zzzzy{{zyzyyyzzzzzzzzz{{zzzyzzzzz{zzzzzyzzyxzzzyzzz{yz{zz{zyzzzyzzzzzzzzyz{{zzz{z{{zy{z{z{yyzz{zzzzz{{{{zzzzzyyzzz{z{{zyz{zyz{zz{{|z{z{zz{zzzzyzz|{zz{{{yzzzzzz{{|{z{{zzz{zz{zzzzzz{{{{{zzzzzz{z{{|z{||zzzzzzzz|{z|z{|{zy{zzzzzzz{y{z||{{yzzzzz{{{{z||zz{zyzzzzyzz{{{{z{zzzyyzy{{{zz{{{yzzyyyzzzyzy{zzzyyyyxyyyzzz{yzzzyzyzyyzyzy{{zz{zzyyyy{yy{{zzyz{zyxzyzyxyzzzzzyzzzyzyyzyxyz{yyzzzyzzxzyyyyy{xzzzyxyyyyyzxzzzyyzzzyyyyxyzyzyyzyzy{zxxzzxxyyzzzyzyyyyzyyyzyzzzyyzzyzyzxyyyyyzz{zzzzzyzyzxyyyzzyy{zzzzzyxyyyy{zzy{zzyyzyz{zyz{yzz{zzyyxzyyyyyyzzzzzzyy{zyyyzzzzyy{zzzy{yyyzyzzzzzzzzzzyyyyzyz{zyz{zzzyyyyyyzzzzzzzz{zyyzzzzyzzzzzzzzzzzyyyyz{zz{z{|{yzyzzz{y{{z{{{{zzyz{yzy{zz{z{z{zzzzyz{yyz{{{|z|z{y{{zyz|y{zz{{z{{yzyy{zzz|{{z{||{yzyyyzz{z{{{{{{{zyzy{zzzzz{{{{{zzzzz{{z{zzz{{{{{{zzz{zyz{z{{z{zzzzzyzyzyzz{zzzzzy{yzyzxz{z{z{{zyyyyyyzyzzyzzz{{yyyyyxyzy{z{z{{zzzyxxyyyzzz{z{zzyyzyyzyxyz{zyy{zzy{yxxzyzzzzz{z{xyxxzyxxyzzyzzz{zyzxyyxyyzzz{yzzyyyyxyzzzx{yyzz{yyxyyxyyyyyzzz{zzyyzyyxyzy{z{yyzzyzxyyyzyzzzzzzzzzzyyyxyyzzyyzzzzxyzyyyyzzz{y{zzyy{zyzyyz{y{zzz{zyyzyxzyzzzzzyz{yyzzxyzzyyyzzzz{yyzyzyyzzzzzz{zyyzzyzzzxzyz{zzzyzzzzxzzyyz{zzz{yzzzzy{zyzzzzzzzxzzzz{{zyzz{{z{{{yzyzzz{yzz{{z||{zzyyyzzyzz{z{|z{zzzyzz{z{{zy{|z{zzzzzy{{zz{z{{z{{zzzzz{zz|{{z{{{{yzzzzy{{z{{z{zz{zzzzz{zyzzzz{{||{zz{zy{{{z|{{{{z{zzy{yzz{{zz|z{{zzyzzz{z{{{z{|{yzzyzzyyzzzz{{zzzzyyyyzyyzzyzzz{zzyyxzyyyzzzzz{zzzyyzzyxzzzyyzz{zxyyzyyy{{zzy{yzzzzxyxyyyzzyzzyyyyyxxzyyyz{wz{zzyzzyxyzxzzzzyzzyyxyyyyyxzzzy{{zzzyyyyzywzzyyzzz{yyyyxxxyzzzyzzzzzzyxyyyyzzzzz{zzyyyzyyyyyyyy{yzyyzyyyyyyyzzyzzzzyyyyyyyx{y{|zz{zyyyyzxyyyzzzzzz{zyzyyyyzzzyzzzzzyzzyyyyyyyzzyz{{zzzz{yyyy{zzz{zzyyyyyyzzz{{z{{zzyzzz{yyyzzzz{zyzzxzyzyyzz{z{|{zzzzzzzzzy{zz{z{zzzzzyyzyy{{zz{z{zzzzz{yzzzz{y{{{z{{zzy{z|{z{zz{z{|zzzzzzz{|zz{{zzzyy{y{zz{{{{zz{{zzy{zzzzzyz{{{|{{zyzzzz{z{{{z{{{zyyyyyzzzzyzz{zz{zzzyzzzzzz{y{zz{{zxzzzyz{zz{zzzzxyyyzyzz{zyzzzzzzyyyyyyzzyzzzzzyzyyz{xyzyyyzzz{yxyyyyzzzyzzyzzzzxzyyyzx{zy{zzzzyyzyzzyxy{z{yzzyyyyyzyyz{zyzy{zzzyyyyzyzyxyzyzzyyyzzyyyyzyzyzzzyzyyyxzyyxyzyzz{zyzzyyzyyzy{zzzzyyyyyzyzzyyzzz{zzzyyyyyyyyzz{yzz{zyzyzzzyzyzzzy{zzyyyyzyzzyyyz{{|yxyyyyzz{{zy{zzzzyzyzzzzzzzzz{{y{zzzzyzzy{{zz{zzzzzyyyyy{{{{zz{{zzxzzyyz{{{zz{z{zy{zzzzyzz{{{{{zyzzzyzzy{{y{{z{zzyzzzzyy{{z{z{{{{zzzzzzz{{{{z{{|{z{yyzzyz{z{{{z{{zzzzz{zz{y{{{|zzzzzzyzzz{z{{{z{{yzz{zzzyz{z{{{{zzzzzzyz{zz{{{{{{{yzzyzzyzz{z|{{zzyzzzzyzz{{{zzzyzzyzyyz{yzyz{yzzxyyyyzxzzyzyz{zyzxyzyyzyzyzyzzzzzyzyzyyzyzzyzzzyzyzyxyzyzyzzyzzyzyyyzxyyyyzyzz{yxyxyyyyzzzyxzzyzyxxyyxyyzzzzyzzzzyyyyxzzzyyyzyzxyyyyxzyyyzyzzzzyxyxyyyy{zzyzz{{yyzzwzyxz{zzyzzzzyyzxyzxzzzzyzzyzyyyyxzxyzyyyzzzyxyyyyyyzzz{zzzzyyyzx{{yzzzzyz{zzyzzyyyyzyyzzzzzzyyyxyyzzzyzyz{zzyy{zzyzzz{zz{zzzyz{yyzyzz{zzzzzzxyyyzyyzz{zzz{zzzzyzzyzz{z{zz|{yzzyzzyz{z{{zz{zzzzzyzyyz{zz{z|zzzzzyzzyz{zz{|z{zz{yz{{zz{{z{{{{{zzzzyzzy{{|{z{{{{zzz{zyz{z{z{{z{yyzzzzzz{z{{{{{zzzzzyzyyzzz{zz{yzzyzyzyzzzz{{{{{zzzzyyzz{z{z{{z{zzyzyyzyzzzyzzzzyxxyyyxyyzz{y{yzzxzzyyxzzzyyy{zzyyzyzzyzzyzzzyzzzzyyyyyyzzzyzzzzyxyyyyxzyzyzzyzxyyxxxyxyzzyzzyyyxxyxxyyzyyzzzyzzyzyyyxyyyyyyzzzyyxxyyyyy{yzy{zyyzyyyzxzy{zyzyzyzxzyxyyxzzyzxzzyyyyyxyyyyyyyyzzyzyyyyyyxxyyyzyzzzxyyyzyxzzzyz{zzzxyzzxyzzzyzzzz{zy{yyyzyzzyzyzzzyyxyyzyzyzzzzyz{yzzzyyzzzzy{zzzzzyzyyyzyzzzzzz|zyyyyyyyzzyzyyzzzzzzzzzzzyyz{z{{zyzzzyxyyz{y{zy{{zyyzzyyyz{{{{{zz{yyzzzzzz{{zzz{{zzzzyz{zy{zzzzzzzzzyyzzzy{{{z{z{zy{{yz{y{z{{zzzzzyzzzzzzzzzz{{{{zzzzzzyzyzz{z{{zyyyyzyzzzy{z{z{{zzyyyyyzz{z{yzzzzzzyyxzzy{zz{yyzyyyyyzyxzzyzzyy{yyyxyyyxyyyyzzzzyyyyyyzyzyyyzy{zzyyxyzyyzyzzyzzyzyzyyyyxyzzzyzz{yyzzxyyyyyzyzzzzzyyyyyyyyyzyyzy{yyyxyzyzyzyzyyyyxxxyyyyxyzzyzzyyzyyyyxyzxyyyzzyyyxzyxzxyyzzx{zzzyyyyzxyyyyyyzzzyxyxxzyyyyyyzzzzzyyzyyyzyzzy{yz{zzxyzyyxyzzzyzzzzzyyzyzyzzxzzzzyzyzyyyyyy{zzzz{zyyyzxzyyzyzzzyz{yzyzzzzyyzzzy{z|zzyzzyzyzzzzzzz{zzyzyzzzzzz{z{{{yzzzyzyzz{zzzzyz{zzzzzyyyzz{zz{zzzzyzzyzyzzy{{{{{zzxzzzzzz{yzzyz{zzzzz{z{{z|{{{{{{z{zzzzzz|{{{{{zzzy{zyyz{z{{{{zz{zy{zzy{z{{{zz{{zzzzxzyyy{{{y{z{{{yzyzyzzy{zzyz{yyyyyyyyzy{zyzzzyyyyyyyyxyzyyzzzyyyyyyyxzzzzz{{yyyyxxzyyyzzyzyzzzyyzyyyyzyz{zz{zzzzxyyyxzyzyyz{zzzxyxyyyzzzzzzzyyzyyyyyyyyzyzyzyyzyyyyyyyyzyzy{zzzxxyyyxzyyyzyzzzzyyxyyzyzzyxzzzyyzyxyyzzzy{yzzzyzzxyxyyyzzyzzzyxyyyyyyyzyyzzzzzyyzzyzxzyzyzyz{zzyyyzxyzzzzyzzzz{zyyyyyyzyx{zyzyyyyyxyyyzzzzyz{zyyzyyzxyzz{zzzz{zyyzyyyzz{{zzzzzzzyyyzzyz{{zz{z{zzyzy{yzz{z{{{z{zzyzyyzyzyzzzzzzyyz{zzyzzz{zzzzz{yz{yzyzz{{z|zz{yy{yzzyzz{zz{z{zz{zzyzyzz|{z{{{z{yzzyyzz{zzzz{zz{{zyyzzzzz{z{{z{zz{{{zzy{zzz{z{zz{zyyzyzz{z{{{{{{yyyzxyxz{zzyzzyyzzy{zyyzz{yzzyyyyxyyyyxyyyzyzzzzyyzyzzyyz{zz{zzzyzxyxyyyyy{{zzzyyzyyyxyyz{zyyzzyzzxyyxzzzzyyzz{yyzyyzyyy{zyy{zzyyyyyyyyzyzzzzyyy{zyyzyyyyzzzyzzyyyxyyyxyyyzyz{yzyyyyzyxxzzyz{zyzyzzyzxyyzzzzz{zzyyyyyyxyyzyzzzyyzyyyyyzzzyyyzzzzzyzyyyyzzzzyy{zyzyyzyzyyzzzzzz{yyzyzxyyyzyz{zzzzzyzx{xzz{zzyz{zzzzzyyyzzzzzyzz{zzzyzyyz{z{zzzzz{yyz{zzyyzzzyzz{zzzzy{yzz{{z{{|{zzzyzzzyzzy{zz|zzzyz{zyyyzy{{|z{zzzzzzzyz{{zz{{{zzyzyzzzz{z{{{{{{yyyyyzzz{{{z{{{zyz{zyzz{{{{zzz{zyzzzzzzz{zz{{{z{zzyzzzzzz{z{z{{zzzyyyyzz{y{z{{zzyzyzzzyzz{zyz{{yzyzyyzzzzzzzzzyyyxyyzyyyzzyyzzzyzyyyyyyyyzzzzzzzzzyyyxyzzz{zzz{zyyzyyyyzzzzzzzzzzyxyyyyyy{yzyy{zyzxyzyyzzyzyz{zyzzxyzyyzy{yz{xzyyyyyyyyzyyyz{zzzyyyyyxxyyyzyzzyzyyyxyyyyzzyzzyzzzzzxyzzyyzyyz{zyyyyzyyyzzyyzzyyyyyyyyyxy{yzyyyyxyyyyzyyyyzzzzzzzxzyyyyyzzz{zzz{yyyyyyzyyzy{yzzzzyzyyyyzzyzzz{zzzzyzyyyyyyz{{{z|zzy{yzzzzzzzzzzzyyyyzyzzz{zyyzzyyzzxzzyzzz{{zzz{yzzzzzzz{{z{yz{{zzzyzyzyzzzzzzzz{zzzyyzzz{z{|||zzz{zyz{y{zz{z{|zzyzyzzzzz{z|{zz{zzzzzy{zz{{yz{{zzzz{zzzyz{z{zzz{zzzz{zyz{z{{z{z{{yzyzzzzzzz{{z|{zyyzzyzyz|zz{z{z{z{zyyyyzy{{{zyzyyyxzyxyyzyzzyzzzyxyzyyyyzyzyzyzyyyxyxyxzyz{zzzzyxyyyyyzzzzyyy{zzyzxyyyxzyyzyzyzzyzyyzyyxyzzyz{zyyzyyyyyyyzzz{yyyyzxxyyyyyyyyyyzyzyyzxxxy{zzzzzzyyxyzyyzyyyyzyzyzzzyyyyyyzyzz{zzyyyyzyzyyyzzzzzzyyyyzyyzzzyyyzzzyyyyyzyyzzyyzz{zyyzyzxyyzzzzzzzzxyzyyyyyzzy{{|zzzxyyxyzyzzyzyz{zzzyzzyyyy{z{z|zyzyyzyzyxyzzyz{zzyyzyzyy{zzzzyzz{zzzz{zyyzzzz{yzzyzyzyzyzzy{zzzzzzzy{zzyzzy{z{{zz{yyzzyzyz{zz{z{zyy{zy{zzz{y{{{z{zy{yzzz{zzz{z{{{zyzzyyzyzz{{{{z{yxzzzzyzz{zzz{z{{zy{{|y{{{y{zz{{zyzyyyyz{{yzzz|zzzy{yyzzyz{zz{z{zy{yyzyy{zzyzzxzyyxyxyyyyzzyzzz{zyyyxyyxzz{z{zzzzzyxyzyzzzzzzy|zyyyyyzzzyzyyxyzzyzyxxxyxyyyyyyyzyyzzyyzxyzzyyzyzyyzxyyyyzyzyzzzzzyyxyzyyyyzzzzzzyyzxyyyyzzyyyy{zyzyyyyxyzzzzzzzyyyyyxxyyyzzzyzzzzyy{yyyyyyyyz{z{yyyyyyyyyzyzzyz{zxzyyzyxzzzy{yz{zyzzyxyyyz{yzyy{yzyyzxy{zz{z{{zzyyzyyyzx{zzzzzzzyzz{yxyyyzzzzzzzzyzyyyyyz{z{zy|{zzyzzzyz{zz{zzyzzzyzzzz{zzzz{{{{yyzzyyzyz{{{{zz{yzz{zzyz{y{{zz{{{zzzzzyz|zz{zzz|zz{zzzzz{{z|{{z{zyz{y{zzz|z{{z{{{zzzzyzz{z{zz{{zzzzyyzyzz{{zzz{{zzz{zzyzz{z{{|{{y{{{zzzx{{{zzz{{zyzzzyyyzzzzyz{zzz{zyxzzyzzz{{{yyzyyyyxzzzzzyyyzxyxyzzyyyzzzzzzzzzxzxyxyzzzyzzzzz{yyyyxyyzyzyzzzyzyxyy{zzyzyy{zzyyzyxyyyyzzzyzzyyzzyyzxzzy{yyzzzyyyyzyzyyzyzy{y{yyyyyyxyyzzzyyyyzxzyyzxyzyzzyz{zxyyyyyyyzz{{zzzzyzyzzyyyxzzzzyz{yzyxzyyxyzzzzz{zywzxzzyyy{zzzz{zzyyyyyzyzzzzxzzzzzyyyyzzzzz{{zz{yzzyxyzzzzzzz{zyzzzyzxzyzz{{z{zzyyyyzyyy{z{zzz{zzyyzxzyz{yzzz{z{yzyzzzyzz{{{{{zzz{zzzzzzzzz{y|{zzzzyzyyyz{{{z{z{zyzzzzzzz{{|z|{{{yzzzzz{z{zz{{{{z{zyzzyzz{|zz{{z{zzzyzzz{{{zz{z{zzyyy{z{{zzz{z{{{zyzz{zz{zzzzzzzy{zzzzzyy{z{zyzzzzzyz{zyz{{{z{yzzyyyzyyzzzzzzzyzyyyzyyyyzz{zy{zyyxyyyyyyyzzzz{z{z{zyyzyyzyzyy{zzzyyyxzzyx{{zyz{zzzzyxyyyzzzzzzz|zyxyyyyzzzyzzzz{zyzyyyyyyzyyz{zzyzzxxyyyzzyy{zzzyyxzyyxyzyzzzzyyzyyyyyyyzzzzzyzzzyzxyyyyyzz{zzz{zyzzyyzyzyyzyzzzyyxxyyyxyzzzzzyzzyzyzzzyzzyzyz{zyzyyzyyyyzyzzz{zzzzyzyzyzzzzz{zzyyyzzyzz{z{zz{{{yyzyyyzzzzzz{zzzzyyyyyyzz{zz{{zzzzy{zyzyzz{zzz{{zzzzyyyzzyz{z{zxyyyyyyzzz{z{|{{{{zzzyzyzz{{{zzzzzzzzzz{z{{{{z{zzzzzzzyzy{{zz{{{{{yzzzzyzy{{{{{z{{zzzyzzy{z{z{{{|{zzy{y{{zzzz{z|{{{zyzyz{{z{{{z|{yzyzy{zy{z{zzz{|zzy{zzzxz{{zzz{zzzzyyyzz{z{zyzzzyzyzzyyyyzzzz{yzyxyzzxyyyyzy{zzzzyyxzzxyzyzxzzzzzyyzyxyyyzzyzzyzyyyzyyyyyy{zyzyzzyzzyyyyyzzzyyzzzyyyyyyyyzyyzzyzxyzyyyyyzyzyyzyzyzyxzyyxy{zzyyzyyxyxyyyyzzzyzyzzzzyxyyyyyyy{zz{yzyyyyyyyzzzzzzzzzyyyxyyyyyzyzzzzyyzzyyyy{yzzzzzzzzzyyyyyz{zzzzyzyzzzyyzyyz{zxzzzyzzyyzzzzzzz{{z{yyyyzyyyyz{zz{zyzyzzzyyzzzzzyzzzzz{yzzyzzzzzyzzzzyyyzyyzz{z{{{{zyyzyzzyz{{y{{z{|{zyyyzyyz{{zzz{z{yzz{zzz{{zz{{{zyzyz{zzz{z{z{{{zzyyzzzz{z{z{z{|yzyz{yzzz|{{|{{{{yzzyyzyz{z{z{z{{z{zzz{y{zz{{zz{|{{zyzzyzz{zyyzzzzyz{zzzzzz{zzzz{z{{yyyzz{zzzzzyzyyzxzxzxzzzzzyyzyzzyxyzyzzzyzzzzyyzzyyzzzzzyzz{zzzyyyyyyyz{zz{z{zyyyxxyxyzzzzzzzyyyyyyyyzyyzy{yzzyyyyzxyzzzzyzzzyyzyyzyyzzzzzzzyyxxyzxyyzzzzyxzxyyyzyyyzyzzz{zzyxyzyxyxyzzyyzzzzzyxxyyyyyyzyyzy{yyyxy{yzyzyyz{z{yyyyzzyyyzzzzzzzzyzzyyzyzzz{zyzyzyyyyyxxzzzyzzz{yxyyzxzzzy{zz{{zzyzyzyzzzzzzz{zzzzzyyzyyzyz{zz{zzxzzzyzyz{yzzzzzzyzzzzyzz{zzz{zzzzzyzyz{{zzzzz|{zzzzyzyyz|{zzz{zzzzzz{zy{{zz{z{{{zzyz{zz{{{{|z{{zzyyzzzyz{{{y{{{{zzzzzzz{zzz{{{y{yyzzyzz{{zzz|{{{zzz{{zz{z{z{{z|z{zzzzyzyz{{zz{{zzzyyyzzz{{zzz|zzzzyzzxyzzzyzyyzyyyxzyzxyyzzzyzzyyyyyxzyyzz{zzz{zyxzyzyxzzzyzz{{yzyzyyyyyzy{{yyzzyzzyyyyzyyzzzyyyzyyyzyyyzzyyzzxyyzyxyyxzy{yzyyzyzyyzyyyyzyzy{z{yyyyzyyyyzzyzzzz{yyzyyyzzzzyzzzzzyyzyyyyzzzz{zzzyzyxywzyyyzyy{zy{yyxyyyzyyzyzzzyyyzyyzyyyzzzzzzz{zyzyyzzyxzzzzzzzzzzzyzzzzzyzzz{yzzyzyyzyzzzzz{zzyyyyyyyyzzzyz{yzxzzzzzzzz{yzz{zzzz{zy{zzz{zyzz{zyyz{yyzz{zz{zzz{yzzzz{zzz{{z{{zzyy{yzyyz{{zz{z{{zyzzyzz{{y{zz{{zyzyzzzzz{zz{z{{{zzzzz{zy|{|{{z{{{zyzyzzz{{zzzz{{{zyyzzz{zz{{zz{zzzzyzyzzz{{{{{zzzzzzzyzyzz{{{{{zzzyzzyyy{{{zz{zzyzyyzyzz{zzzyyzyyyyzxzxzzyzzzyyxzyyyyyzzyyzzzzzzyyxzzyyzzzxzz{|zyyxyzyyzyzzzy{{zzyxyyyyzyyyzzz{yyyxyyxyz{yzyzyzzyxyyxzyyyzzzzzzyzyxyyyyzzzzyzzzyyyzyyyyyyyzyzzzzzyxzyyzyxzz{zzzyzyyyyyyzyzzzz{zyyyyyz{yzzzyyzyzzyzxxxzyxyzzzzzz{xyzyyzyz{zzzzzzyyyyyyxzyzzzyz{zyzyzzyyyyzzzz{zzzyyzyyyyzzyyzzzzzzyz{yzyyzyzzzzzyyyyyyyzzy{zzz{zzyzyyzyzz{zzz{zzyzzzzzyy{{z{{{{{yzzyzxzy{z{{zz{{{{yyyyyz{z{zzzz{zyyzzyzz{z{z{z{zzzzzz{{z{|zzz{{z{yzyzzzzz{{{{{z{z{{zyz{yzz{z{z{{zzzzzzzyzzzzz{{{zzzzzzzz{{{{{{{{yyzyyzzyz{zzzzz{zz{yyyzzz{zzz{z{{zzyyyzzzyzzyyzzzyzxzxzyyyzyzyzzzyyzyyxyz{zzzzz{yzzzyzyyzyzyyz{zyyyyzzyyyzzzyzz{zyyyxzyyyzy{zz{zyyyyyzyxzzyyz{zzyyy{xyyyzy{zzz{yyzzyyyxzy{yyyzzyyyzyyyyyxyzyyzzzzxzzyyyyzy{zzzyyzyzxyyyyyyzzyz{yyxzyxxxxyzyyz{zyzyyyyyyyxyyzz{zzzyzyzzyxzyzzzzzzyzyyzzyzzzyzz{zzyy{zyyzzzz{{zzzzzzzzyzzzz{z{zy{{zyzyyxzzy{z{z{y{yyzyzyyzzz|zzz{zzyyzzzyyzzyzzz{zyzyzzzyz{{zz{{{{zyzzzz{y{{z{{{{{zyzzzyyyz{zzzz{zzyyzz{zz{|{zzz{{zyyyzzzz{{{{{z{{zz{yz{{zz{{zz{z{{y{zyzzz{zzzzz{z{yzzzzzzz{{{{{z|{{yzzyz|{{z{|{{{zzzzzyzzyyy{z{{zyzyyzzyy{z{{zz{zzyzyxyyyyzyzzzzzyyyzxxyxxzzzzyyzyyyyyxyyyzz{yzz{zyyyzyyyzz{yzzzzyyxyyyyzzz{z{yzzyzyxyyyxxzyzzzyzyyyzzxyyy{zyz{zzzzyyzyzyyzyyy{zzzyyyzzxyyzz{yzzzyzxzzxxyzz{zyz{yyzxyyyxyyzzxzyzzzzxyyyxyyzzzyzzzzxyyzyyxyyzzyyzyzyyyyzxyxzzx{z{yzyyxzzzyzz{zy{{zzyyzyyzzyzyzzz{{yyzxyyyyzz{{z{{{zzzxyyyyz{z{z{y{zzzyzyyzy{zz{zyzzxyzzyyzzz{z{y{zyyyyzyyzzyz{z{zzyzzyzzzyzz{{z{{zzzzzzyzzy{z{{{z|zzzzzzyyzz{{yz{{zzyzzzzy{zz{{{{zzzzzzz{{{z{{zzz{{zzz{zyz{{{|{{{{zyzzzyzz{{{{{z{zzzzzzzyz{zzzzz{{zzz{zzzz{{z|{{{|zzzzyzzzy{z{z{zzyzyzzzzzz{zzzyzzyyyyzyzyyy{yzzzzzzxzyyxyzzzzyzyzxzyzxxzzzyyzzzzzzyzzyyzyzzyzz{z{zzyyyyzzzzzzyy{zzzzxyxzyzzzzz{yzyyyyyzyyyzzxyzzzzyzzyyyyzzzyyz{zyyyyxyxyzyzzx{z{zyyyzyyxyzz{yz{zzzzyxzyyzzzzzzzzzzyzzxyyyzzzzzzzzyzyyzyxyyzzzzyzyyyzzxyyyzzyzz{zyyyzyz{yyzzzzzzzzyzyzzzzzzzz{{z{{zyzyyyxz{zzz{{{zzzyyz{yy{zzzz{{{zyzyzyyz{zzz{{zzyyyyzzzz{zzzz{zzzyz{zyz{{zzzzz{zyy{yyzyzzz{{z{zzzzzxz{y{{z{zz{|{y{zzyzyzzz{yz{z{xyyzzzzzz{{{{{{yz{zyz{zz{{{z{{|zzyzyzzzy{{{{{{{z{zyzy{z|{{z{{{zzzzyyzzz{{zz|{{{z{zz{zz|{zz{{{z{zzyzyzzyzzzz{{{zz{yzzzzyz{{zz{{zzz{xzzyy{z{{{zzzzxzyyyzyxzxxyzz|zzyyxxxxyzyyz{yzzyyyyyyyzzz{zzzyzyyzzyzzzyzzyzyzzyzxyyyxzyz{yz{zyyyxxzyyzzzxyzzyzyxxyyxxzyzxzyz{yyxyz{yxzyzzz{yyzxyyxyyy{yyz{yzzyzyyxzxzyzzzzzyzzyyyxxyyyyzzzyzzyyyzyxyyyyyzzzyzyzxyyyyyyyyz{zzzzyyyzzzyzzyyzz{z{yzxzzyx{yyy{zyzyyzzyyzyzzzzyzyzyyzyyyyyzzzyzz{zzyyz{yzzzz{zzz{zyzzzyyyzz{{yzz{zzyyzzzyyzzzzzzzzzyzyyzzzzz{z{z{zyzyzyy{z{zyzzzz{yzzzzxyzyzz{{zzyzyzzzzzzz{zy{z{{zyzzz{zzzzz{zzzz{yyyz{zzz{{z{z{zzzzzzyyz{{{{{{yzzyzzzzzy{z{zz{{{zzyz{{zz{z{zz{{{zzzyzzyyz{z{z|{{zzyyyyzyzyzz{zzzzyyyyzzzz{yzyyzyzyyyyxyyyyzzzyyyyzyyzyyzzzzzyy{yzyyxzyyyyzzzzz{zzyzyxyyyzzyzyxzzyyyyyyyxxzzyyzzzzyzyyyyyyy{zyzzyzyyyyyyxz{yyxzzzzyyyxyyzyzyzyzy{zyyyzxyyyzyzzyyzyyyyyyxy{y{yzyzzyyyyxyyyzyyyzzzyyxyzyxyxyzzyzzzyyyzxyzyxyyyzzzzzzyyyyyzyyzzyzz{zyyyyzyxxyzzzzzz{zyzyyy{yyzzyyzzyzyyy{yxyyzzz{zz{zzzyyyzyyz{zz{zzyyzyzyyyzzzyz{{yzyzzzzzyzzzy{{zzzyzzy{xzzz{{z{zzzzyy{zyzzzzz{{|zyyzzyyxyz{{z{zzzzyzzzzzy{{zzz{z{zzzyzz{z{z{{{{{{zzzzzyzzz{{{z{{|{zzzyzzy{zzyz{zzzzzzzzyzzzz{zy{zzzzzzy{y{|y{zzz{zyzzyzzzzzzzzz{z{yzyzzzyzzzzzz{yzyzzzzzyz{{yzzzzyzzzyxzyxzzzz{yzyzyzyxyyyyzz{z{zzyyyyyzzzzyzzz{zyyyyyyyyyzzzyzzzyzxyxzywzy{zyzzzzyzyyyyxyzzwzzyzzxzyzxxzzyzyyyyzyxyyxyzxyyyzyyyzyyyxzyyxyzy{yzyyyyxzxyyyyzzzzz{zyyzyxxyzyzyyyz{{zxzzzyyyyzyyzzzzzyyxzxyyyyzzy{zzzyzzyyyxzyzyzzzzyyzyxyyyyzzzzzzzzyyyxx{zzzzyz{zzzyzzzzyyzzz{zzz{yzzzyyyzzzzzzzzzzzyzyyyyzzyzz{zzyzyzzzyzzz{yz{zzzzxzzzzzzz{zz{yzzzzzyzzzzzyzz{|{zyzzzzyyz{z{z{z{z{yzzzzyzzz{{{{|zzzyzz|y{zyz{{zz{zzzy{zzz|zzz{{{zz{zzyzz{zz{{{{{{yzyzzz{z{zyz{{{|{{yzyzzzz{{{z{{zz{yzz{z{{zzyz{{{yzzzzyyz{zzzz{zz{yxyyzzyzz{z{{{yyzyyxyyyzyyyyzzyyyzyxzzzzyz{zz{zzxzyyzyzz{zz{{zzyyyyyzxzzyyyyzzyyzyyyyy{zzzyzz|yyzyzyyyyzyzyzzyzyzzyyyyzyyyyzzyzzyzzzyyyzzzyy{yzzyyyzyyyzzyzz{yzzyyyzyyzz{yxzzzyyyyxzyyzzy{zy{zzyyzzyyxy{zyzyzyzyyyzyyyyzyyyzzzzyzz{yzzzzyzzzzzzzzyyxxyzz{zy{z{zyyzxyyy{yz{y{zzzyyyzzzxzz{zyz{zzyzzyyyzzzzzz{zyzyyzzxzyzz{zzz{zzyzzyzz{z{{z{z{zzzzz{zzzz{{{zzzzyzzyzy{yz{z{z{{{zzzyzzyzzzzzz{{zzyyzzzyz{{z{zzz{zyzy{yzzz{zz{{{{{zzz{{yyz{{|z{{{{yzzyzyzz{zzzzzzzy{{zyzzz{z{{{{zzzz{zz{z|zz{{{{{{zzy{zzy{{{{z{z{zzzzy{{yz|zzzzzzzyzzyyyyyz{zzzzzyyyzyyyxyzyzyz{yzyzzyyyy{yzzz{z{yyyyyyyyyz{zzzz{{yzzzyzyzzzzyzzzyzzxyyyyzyyzyzyzyxzxyzyyyyyzyzzzxyyxyxyxzzzyzzyyzzyyyyxzzyyzyzzzyyyyyxyyyyzzy{{yyyzyyyxyyzzy{zz{zyyyxxyxzzyzzyzzyzxyxyyyyyzyyyzzzyyzyyzyyyzzyzyz{zzxzzyyzyzzzyyz{zyzyxyyyzyzzz{{yyyzyyyy{zzzzyz|zyzyxyzyzz{zyzz{zyyyyxzyzzzzy{zzzy{zyyyyy{zyzyzzzyzyyyyzz{zzz{yzzzzzyzzz{z{{zz{zzy{zzzzz{{z{zzzzzzzzzzxy{zzzz{{zzyzzyyzyzzz{{{{zzzzzzzzyzzzz{{z{{zzzzz{yzz{{{{{z{zzzyyzzz{z{z{z{zzzz{zy{{yzz{{z{{zzzzzzz{zzzz{z{z{{yyzyzz{{{z{zzzzzyyzyzyzzzz{zzzzzzyyzzzyzzyzyzyzxyzyxyxzzyyzzyyxzxyyyyyz{yy{yzzyyyyzxxzzzzzzzzzyyyyyxyzyyzyzyzzyzzyxzzyyzyzyzzzyyyyxyxzz{yzzzyyyzxyyyzyyzyyzzzzyyyxyyzyyy{yz{zyyyxxyzyzyyzyzzyyzyyyxxyzz{yzzyyzyyyyzxyyzyyyzyzzxxyzxxzyzz{yzzzyyzyyyzyyzyyyzzzzyzyzzyxzyzyzzzzzyxxyxyzyzzzyy{zyyzyzxzxzyzyz{zzzzyzzyyyyy{zz{zzzzzzzyyyzy{zzzzyzzzxyyyxzz{zzy{{zyyzyxyzz{zzzzzyzy{yzzxzy{zzz{{zzyzzyzzyzzzzyz|zzyyyzyyy{zz{zzz{zzzyzzzzzz{z{{z{yzzyz{zzyzzzzz{{zyz{zzzyz{{z{z{|zyzzyyyzzy{{{{zzzyyyzzyzz{zzz{{z{zzzzyyy{{{zzz{zyzzyzzzzzz{zz{{{{zyyyyzzz{zzyzzzzzyzyxyyzzz{yzyyyxzyyxyxyzzzy{xzzyyzyyyy{zzzyzyzyzzyyyyyzyzy{{zzzyyzyyyzyzzzyzzzyyzyxyyyzyzzyyz{zyyyyzyyzzyzzzzzzyxxzyyyyzzzyyyxzyyyyzyxyzzyyyz{yyyzyyyyyyzyyz{yyxzzyzxyyyyyz{{yyyyyyyyyzzzzyzyzyyyyyxyxyyzzzzzyyxzxyxzyyyyyzzzzzxyyzzyxyzz{zzz{zyyyyyyyxzyzz{zzzy{yxyzyyy{zzy{|yxyyxyyyzyzyzzz{{yzyzzzyz{zzzzzzyxyyyyyz|zzzzz{zzzzyyzzyy{zy{zzzzzzxzzzzxzzz{{{{y{yzzyyzzzzzzzzzzyzyzzzyz{{yzz{yzzzzzzyyy{{{{{{{z{zzyzzzzyz{z{{{{zyzy|zzz{{{z{z{{yy{zzzy{{{z{z{{zyyyyzzzz{zz{{{{{zzzzyyz{zz|zz{|zyzzzxzy{zz{{{zzzzyzyzzzzzzzyzz{yyyyyzyyzzyzzyz{zzyyyyyyyz{zyzzzxxyyxyyzzzzz{zz{zyyyyzzzzxzyzz{{yzyyyzyyzzzzzyyzzyyyyyyxyzyzzzz{zzyyyyyyyzzyyzzzzyzyzyyzzyyyzzzyyyzyzyyyyyzzyzzzyxyyzyyxyyzzxyzyyyzyxyyzyyyyyzyzyxzyyxzxzzzzxzzyyyyzyyzyyzyyzzzyyyyyyyyxxzyzyzyzyyzzyyzyzzyzzyzzzyzzyyzzzzyzzzzzyxzyyzzyzz{zyzz{zyzyyzzyzzzyzzzzzzzzzyzyzzzzzzzzzyyyyyyyy{zzzzzzyyy{zyzyz{zzzzyzzyzyzzyz{zz{zz{zzy{zzzzzzz{zz{{zzzy{yyzyzz{{zz{zzyzyyyzyz{z{z{{{zyzzy{zyzyz|z|{{zzzyyz{z{z{{{{{{zyyzyzyzzz{{z{zzzzy{zzzzyzzz{{|{zzyzzy{{z|z{{{{{{zzyzzyzzzzzz{zzzzzzyzzyzzyzzzzzzyyyzyyyzzzy{zzzyyzyyyyzyzzyyyz{yyzz{yxyzzzzxzz{zzyyxyzyzzzzzz{zzzyyzxyyzyz{z{zzzyzyxyyyzz|zzzzzzzyzyyzyxz{zzzzyzyyyzxyzzzzzyzzyzyzywyyzzyyzzzzzzzzyxyyxyzzzzzzyyzzyyxyzzyyz{zzzzyzzxyyyxzzzzyz{yyxzxyyxyzzzyzzyzzyyyyyyxyyyzzzyzzzz{zyxyzyzzzzzyyyyyyxyz{{yzz{zzy{yyxyyzyyyzz{zzzyyyxyy{y|yzzy{zzyyzyzzyzzzz{{yzyzzyxzy{zzzyz|zzzzyz{yy{zz{z{z{zzzyz{zzz{{zzz{{zzyzzzyz{{zz{{{{{yzzyzyzz{zz{{yz{zzyyzzz{|{yz|z{{zzzzzzzzz{zz{{zzzzzz{zzz{z{z{|{|y{zzzzy{zz{z|{zzyz{{zz{{{{z{{{{zzzzzz{z{{z{z{{z{zzz{z{zz{|z{z{{zzyzzzzyzz{zz{zzyyzyzxzyyzzzzzzzzyyyyyxyyyzyz{zyzzyyyyyyyzyyzxz{zyyzzyyy{zyzz{zzyzyyyxyyzzzyyz{zyyzxxyzyzyzzyz{zyyzxxyyyzzzy{z{zzzzyyyyyzyyzzz{{zzy{yyyxyyzzzzyzyyxyzyyxyzzzzy{zyyyzyyzyyzzyyzz{yxzyyyzyyyz{zz{zyyzzyzxyzzyyzy{yyyyyzyxxzzzzzz{zzzzzyyzxy{{zzyz{zyzzyyyz{zzzzz{zyzyzyyyzzzzzzzzzzyzyzzy{{yzyz{z{yz{yzxzyzzzzzzzzyyzyzyzyyz{zzz{zzzyzy{zzzzzyzz{{|yzyzz{zzy{{zz{{zzzzzzyzz{z{z{{{yyyzyyzzz{z|{zz{zy{zyzzy{{zyyz|{zyzyzyzzyzzz{{{{{zzzz{zzy{{zz{z{{zz{zzzzzz{z{{{zzzz{z{{zzzz{{{{{zzzzyyzzzz{z{z{zzyzzyzyzzz{{{{|zzz{zyzzyz{zz{zzzzzyyzzyzy{yyyyxyyyyyxyyxzzzyyzyzyyzxyxyyzzzzzzz{yyyxyyyxyzzzy{yzyzyyyyyyzzzyzzzzyyxzxyxxyzzyzyy{yzyyxzzzxzyzyyzzyzzyzxyzyyzzyzzzyzzyyyzyzzxzyyyyyyyzxyxyzzzyxy{zyyxzxzxyyzyyyzyzyzyxyyxyzyzyyzzxyyxyxyyyyyzyyyzyyyzyyyyyyzyzzzzzyyxyyyyyzyzzz{{zzyyyyxzzyy{zzyzzzyzzzyyyzzyyzz{zyyzyyyzy{zzzyzyzzyzyyzzzzzz{zz{zzyzxxyyyzzz{zzzyzyzyyyzzzzzyzzzzzy{yyzzz{{{{{z{zyyyzzzyy{zyzzz{z{yzzyyyzyz{z{zz{{yyy{zzz{{zzz{{zzyyyyzyyz{||z{zz{zzzzzzzy{z{{{{z{yzzyzzzz{||{z{{{yyyyzzyzz{z{z|z{{zzzyz{z{{zzzz{yyyyyzzzzzzzyzzzzzyyyz{yzzyzz{zzxyyyyyzyzzzzzzyzzyxxyyxyyyzy{yz{xyyyyzyyzyzzzzzzyyyyyyyxzyzyyzzzzyyzxxyyzzzzzyzzyzyxxxzxzyzyyzz{yyyxyxzxzzzyzzzzzyzyyyyyyzzzzzzyyzyyyzyyzzzyyyzyxyyxyxyyyyzyzyzyzyyyyxxyyzyyzzzzyyxyyxyyyyyzz{zzzxxxyxyxyyyyyzxzxyyyzyyyyzzz{zzzxyyyyyyxzzyzyz{zyyzzzyzzzzzzzzz{zyyxyzyx{zzzzz{{yyyyyyyyz{yzzzzzzxzyyzzxz{zyzz{zyyyyxzyyy{zzyz{z{yzyzyyzzyzzzzzyxyzzzyyyzz{zz|zzyz{yyyy{yz{zyzz{zzzzzzyyyzz{zy{y{zyyzyzxz{yzz{{{yzzy{zyyz|{z{{{z{yy{zzzyzzz{{z{zzzzzzzzzz{zzz{zzyxzzzyyzz{zz{{{{zzzzzzzzzzyzz{{{{{zyyyyyz{zzyz{{z{zzzzyzzz{zzzzyy{zyyyzyzz{yyy{zxyyyyyyxzzzyzz{zyxyzxzxyzzzzzzzzyxyyzzxxyyyzzzy{yyzyyxyy{zz|zyz{zyzyxyzxzyyzzzz{yyzyyyzyzzzyy{zyzzyyyyyyzzyyyyzyzyyxxyx{yzyzz{zzyxzyyyxxzyzyyzyyyxyzxzxzyzzzzzyzzxyzxyzyzzyzzzzzyzyyyyyyyyyzzzz{yzyzzyyyyyyyyyzzxyyzy{yyyzzzzz{{zxxyyxzxzzzyyzyzyzzyyzyyzyzyzyzzzzyyyzyyzzzzzzzzzzzyyyyzzzzzzz{zyzzyyyzyyz{yz{zzzyyyyzyyzzzyz{z{yzyyzzzzz{{zzzz{zzyzzzzzzz{{z{{{zzzzzyyzz{{zzz{z|zzzzzzyz{{z{z|zzz{{zzzz{z{{{{z{zzzzzzzzzzz{{{{z{zzyzzzzzz{{z{zz{zzzzzz{{{zz|{{{zz{zzyzzzzz{{{zz{zyyzyzzyy{zzz{z|zzyyzzyz{{zzzzzzyzzzyyyzz{{yzzyxyyyyyxyzzyyyyzyyyyxxyxyzyzzzzzzzyyyyyyxzzzyzzzzzyzzyxyzzzzyyyzzzzxxyyyyy{zzzyzzyyyyzyxyzzyyyzzyzyyzyyyxzzzzyzzzyyyyyzyyyyzy{yyzyxyyyyyyyzzyyyyyzyyyyzyyyyzzzyyzyyyyywxxzxzyyzzzyyyyyyzyyzzyzzzzyzyyyyyxyzxyz{zzzyyyzzyyyzzzyzzyyyyzyyyzzzzxz{{zyyyyyyyyzzzzz{z|yxzyzzyxzzzyzzzyzzyyxxyyzzzzyzzzzzyyyyyzz{{yzyzzzyzxzyyzzzzyyz{{zzzy{zyzzz{{z{z{zyyyzzzz{zzz{z{{zzzzzyyzz{yz{zzzzyzyzyy{z|zzzz|{zzzzyzzzzz{{{{{zzzyzyzzz{{z{z{{zzyzzzyzy{z{zzz{|zyyzzzyz{{z{{{zz{zzzzzyz{{z|zzz{zzyzyyyzz{zzz{{{{zy{yyyxy{{zyy{{yzzyyxzyyyy{zzyzyzzzyyyyyzzyzzyyyyyyyxyxyyyyyzzyyyyxzyyyzyyyyyzzzzzxyzyxzzyzyy{zzyyyyxyxyzzyxyzzyzyzyyyzzyyyzyzyyyyyxyyyzzzxxzyzyyyxxzyyyyyyxyzzyyxxyyyyyzzyzyzzyyxyxyxxyzzyzyzzzxyyxyywzzzzyz{zyyyxyxyxyyyyyyyyyyyxyxxyzyzyyzzzyyyyzxyyyzzzyzyzyyyyyyyyyzzyzzzzyzzzzyzy{yzyzyyyzzyyyxyyyzzzyzzzzyyyzxyxzy{zyzzyzyyyyzyyyyzzzyz{zyy{yxyzzyzyzzzzzyzxyzxyzz{{zz{zyyzyzy{zz{z{zz{{yyzzxzyyzzz{yz{{|yzyzyyzzzzzzzz|zxzzyyzyyzzyz{z{zzyzyzyzyzyz{{{y{zzzyzzzz{zzz{{{z{zzyzyzzz{z{zzz{zzzzyyy{zz{z{{zzyyyyyzyyzz{zzz{{yxxzyyyzzy{yzzyxzzyyyyzyzzyyyyzzxxyyyyyyyzzyyzzzxxxyxzyzyzzyzzzyzyyyyyyyyyyyzyzzxzyzyxzyyy{yyzzzyzyyxzxzyz{{zyz{yyxyzxyyzyzzz{yzxzzyxyyyyyzyyyzyxyyyyyyyyyxzyzyzyxxyxxxyyzyzzyyyxyxyyxyzyzyyzzzyxzxxxyyxyzzyy{zyyzxyzyyyyzxzzyyzyyyyyxyzzyzyzyzyyyyyyyyzyzzzzzzzzyyyyyyzyzzzzzzzyzxzyzy{zzzzzzzyzyxyzxyzyzzzzy{{xzyyyyyyzzzyzzzzyzyxyxyzzz{yzzzzyyyyyyyz{zyzzzzz{zzzyzzzz{z{{zzyzyyzyzzyzy{zz{{zzzzyxyy{{{z{z{y{yzzzzyzz{z{z{{zyz{xz{zyyzzyzz{z{yy{yzzzy{z{z{zzyyzyyyyzzz{{zy{yzyyyyyyyzy{{{{{{zyyzyzyyz{{{zz{{yyyyzyyzzzz{{zzzzyzyyzyyzzzzzzzyzyyyzyyyy{yzyzzzyyxyyyxxzyzyyzyzyyyyyywyyzy{zyyzzyyyxzyyzzzyy{{zzyyyyyzzzyz{xzzzyzyxzyyyyyzyyyyzyyzyyzyyyyyyzzyyyyxyyyyyyzyyyzyzyyzyyzyyyyyzzyzzyxxxyyyyyzxyzzyyyyyyxyxyzyyzzzzzyyyxyyxyyyyyzyzzxyyyyyyxyzyyzzyyzyxxxyyxyzyyzzyzzxyyzzzyzyyzzzzzzyxzyyyyz{zzyzz{zyyzyyzzzzz{zzz{zyyyxyzyzzzzzzz{zyzyzyyyxzzzzzz{yzzzyyyzzyzzyzzzzyzyyyyyzzzyz{zzzzyyyyyzyy{{{zzzy{zzyzyz{z{zyzz{z{yzzzyzzz{zz{zzzyzz{yyz{z{zzz{{z{zzyzzzzz{yz{y{zyyzzzzzz{z{{{z{{{zzyyzy{{{{{{zzzyz{zzyzzzyz|zzzzzyzzyzz{zzz{zzzzzzyzxyyzy{zzzzyzzyzyyzxzzxzy{{{zyzxzyyyzyz{zyzyzyyzyxyzzzzyyyzzzyxyzyxyzzyz{z{{zzyyyzyyzyyzzzz{zyxyyyyzzz{zz{{zzzzyyyyxxzz{zyy{yzzyyyyxyyzzzzzzzyyyxyz{zzzyzyzzyxzxxyyx{yyyyyzzxzzyxyyxzyzzyz{zzyyzxyxyzzzyzzzzyyyzxyxxyyxzyzzzzyzyzyyyzzyyzzy{yxyxxyyxzzyzz{zzzyyyzzyyyzzzzz{{yzyyzyyy{{yzz{z{zyyxyzzyzzy{yy{zyzyyyyyy{zyzz{z{zyzzyyzyyzzzzy{{zzzz{zyzz{{zzzy{yzzyzyzz{z{zz{zzzzyzzyyzz{zzy{z{zzzz{zzzz{zzyz{{zyzzyzzz{{{{z{{zzzyz{{yyzz{zzz|{{zzzzzzz{{{z{|{z{xzzyzzzz{{zz{{{{zzzzy{z{{zzzz{{yzzzz{z{{{zz{{|{zyzz{zzz|{{{{yz|yzyy{zzzzzzz{z{zyzzzyzyx{zzzzzz{zy{zyxzyzzyzyzyzzyzxyxyxzz{yxz{zzzyyyyyzzzzyzzzzzyxzyzyyzzzzyzzzzxzyyzyyy{zzzyz{zzyzyyxzzyzzzzzyyyzzzzyxyzzyyzzyzzzyyyyzzy{{z{zzyzz{xxzzzxzzzzzzyxyxyyzyyzzzyzyyzyyzyzyyzz{yzyzzzzzxyyyyyzzz{{{zzyyyyyyxzzyyyzzzzzzyzyyyyzzyzzyzyyyyyzzyz|zz{zzzzyyyzxzzyz{yzz{{zyzzzyzyzyzzz{{{zzzyzyz{zz{y{{{{zzzzyzzyzzz{zzzzzzyyyzyzzz{z{z{{zzzzzzyz{{{zz{zz{yzyz{{z{{z{{|{{zzz{{zzz{{y|zz{|zzyzyyzyz{{{{{{z{zx{yzzzzz{z{|{zzzzzy{zzz{y{z{{{{zzzz{{yz|zz{z{zzzzyzyyzz|y{|{{{{yzyzzzzz{{{{{|{{zzz{{{{|{{z{{{|zzzzzyzz{zz{{{{zzzzzyzzyz{{zz{yyzzzyyzyyzzzz{zzzyxyyyxzxyyzzzyz{yyyyyyyyzyzzyz{zyyyyyyyyzyyzzzzzyyyyyyyyyzzzyyzzyzyxxyxxzyzzz{zzzxyyzxzyyyzyyzzyzzyyyzyyzyyyyzzzyyyzyyyzzyyzyyzzzyyyyxyxyzyyyzzzyyzyyyxzyyzyyzyyyyyyxzyyzzzy{zzyyzyyyyyxyzyyxzyzzxyxxxyyyzyyxzzzzzzyzyxyzyyzyzzzzyyyyyzzyzyzyzzzzyyyyyzzy{zzz{zyyyyzyyzzyzzzzz{{zzyzzyyxyzzz{{zyyzyzyzzzzzzyy{{zyxyz{yyz{{zzz{{zzyyyzyzzzz{z{zz|y{zzzyzyyzzzzz{{zzzzyyyyzzzzz{zzzyz{{yyzz{{z{{{zzzzzzz{zzzzz{{z{zxzzy{zyz{z{{z{{{zyyzyzyz{zzz{zzzz{zzzz{z{z{|zz|z{{zzzzzy{zz{z{zzzyyzzyzz{z{zz{{zzzzyyyyzzzzzzzzzzzzyyyxzzz{zz{zxxyxxxyyyzzzyyzzyzyyyyxyyzyyyzzzyyyxyzxyzz{zy{zzzyzxzyzyzz{zyyzzy{yyzxyxzz{zyzyyyzyyxyxyyy{zyz{zyzyyzzyx{zzyzzzyyyzyyzxyzyyy{{zyyzyzxyyyzyzyzz{yzyyzxyyxyz{zzzzyyyyyyyyyyzz|yyyzyyzyxyxyyyyzyyzyzzyy{yyxyzzzyzzyyxyyyyyyyyyz{y{zzyyyyyyyyzzyzzzzzy{yyyyyyyyzzzzzzyzyyxz{zzzyzzzyzzzyyy{zyz{zzyzyyyyzzyyy{zzzzyzzyyzyyzyzzzzz{zzzzzzyyzzy{z{z{z{zzyzyzzzyz{zz{{{zz{yzz{yz{|zz{z{zzyzzzzzzzzzzzz|zzyzyzzzz{zzz{zz{{zzy{zzyz{{{z{{z{zzzyyzzzz{{{{{{zyzzzzzz{zz{{{z{zzz{zy{z{z{z{{{zyyyyzzyzz{{zzz{z{zzzzyzyzz{zzzzzzyzyzyzyzzzzz{yzyyyxyxyyyzzyyyzzzyxxyxyyyzyyzzzzzyxzzzyyyzzy{zyzzxyyyyyyzy{yzzz{yxyyxyyzzzyzyzz{yyzxxyyxyyyyzzzyzyyyyyyzyyzyyyzzyzyyzyxyzzyyyzzzyyxxxyxxy{yzzzzyyyyyxyyzyzzzzzz{zyxyxyyyyzyzyzyzzyyyzyyyyzyxzyzzyyyyyyyxzzyzyzzzyyzyyyyzzzz{y{yyzyyyzyzzyzzyzzzzzzyzyzyyyyy{z{zzzyyyyxyyzz{zzzz{{zyzzyzyy{zzz{{zyyyzxyyyzzzzy{{z{yzyyzxyzzzyz{zzzzzz{yyzzz{zzzzzyyz{yyyyzzzzzzzzzyyyyzyyy|zzzz{y{yzyzzyy{zz{z{|zzyyy{{zzzzzzzzzzzzzzzyyz{zzz{{{zzzyzzxzy{{zzz{{{z{z{yyzz{z{z{{{zz{zz{zzy{zz{zzyzyzzzzzyzyzzzzzzzz{zzzzyzyyzzz{{zyyzzyyyyzz{yyzyzxyyxyyyxzzzzzzzzyxzxyxyyyzzyyyzzyxxxyxyyzzyzyy{zyyyzyyyzy{zzyzyzzyyyxxyyyzyzyyzzyyyzxyyyzyzyyyzzzyyyyxyxyy{zy{yyyyyyyyyxzyyzyyzzxyxxzyyyyyyzyyzyyxyxyyyzyyyyzzyyzxyyyyyxyzyyzyzyyyyyzywxyzzyyzyzxyyyyyyyxyxyyzzzyzyzzyzxyxyzzzzzyyyzyxxyyzyyzzz{yxzyxyzxyyzzzy{zyzyzxyy{zyyzyzzzyyyzxyyxzzzyz{zzzyzyxxzyyzzzyzzzzyzyyzyyzzz{z{{zzzzyyzyyzzz{z{z{zzyzzyzyz{y{y{{zzyzyyyzy{z{{yzzzzyzyyyyz{zz{zy{z{yzzy{yyzzz{{{zzzz{zyzz{zzzz{z{{{yyzyzyz{{{{{{{zyx{zzzzzzzz{{z{{zzzyzzyz{zz{{{{{zzyzyzyy{|zz{{{{zyyyxyxyyzz{{z{zzxzxyxyzyzyyzzyyyyzyxxyyzzzyzyyzyzyxyxyxzzyyyzzyzyxyyyxw{yzy{zzzzxyxyyyzzyzzyzyyyyyyyxyyyzyzyzyzyzyzyyzyzyzyyzzyxyyyyxxyyyzyyzzzyyyyyyyzyzyyyyy{xyyyzxyyyzyzzzzyzxxzxyxyzzzyyzyyzyyyxyzyxzzyy{zzyyxyzyyxyyzyyzyxyzyyyxyyyzxzyzz{xyyyyyyyyyzzyzzzyyyyyyzzzzyzy{zzzyzzxxzyzzzzyz{{yzzyzzzxzy{z{zzzyyzzyyyzyzy{yzyz{xzyyyyyyz{zzy{zyyzyyyyyy{{zz{yyyzyzzzzzzyzz{{{zyyzz{y{yyyyz{{z{zzzzzxzy{{zz{z{zzyyyyy{z{{{zzz{zzyzzyz|zz{yyzz{{zyzzzzzzy{z{{z{zzzzzzzzyzzz{zzzz{zzyzzyzzyzzzzz{zzzyzzzzzzz{z{z{zy{zyyzyzzyz{{zzzyzyyzzxzzzz{z{yyyyyyxyyzyzzyzyzxyxxyyyxyzzyzyzzzyyy{yyxzyyzzyzyyyxxyyxyxyzzz{zzzxyyyyxyyzzzyyzzyxyyyxyxzzyzzzzzxyzxyxyzzzzyy{yyzxxyyxxyyzzyyyyyzxzyyzyyzzzyyzzzzxyxxyyxxyzyzzzyyzxyxyyyyyzyzyzyyzyyxxxxyzzzyyzzzxyyyyyyy{yyyzyyyyzxyzyyzzyyzzzzyyyyzzyxxyzyyzzzzyyyyxyyxzyy{zz{zyyzyxzzyzzyyyyzyyyzyyyzyy{y{zzyyyzyyyyzyzzzy{yyzyyyzyyzyzzzzyzzyyyyzyzzy{{zy{{zyzzyzzyzz{z{zzyzyzyyzzzyzz{z{{{zzzzzyyyyzzz{zz{{{yzyzzzz{z{{z{{{yyyzzzzz{{zzz{{zzyzyyzzzz{{{zz{z{zz{zyyzz{{{zzzz{zzzzzzzy{{{zz{{{zyzzyzzz{zzzz{{zzzyzyzzzzzzzz{zzyyyyzyzz{zzyzz{zzzxyzzyzzz{yyyyyzyxyxyxyyyyzyzyyyxyxxzxyxyyyzzzyyzyxyxyyyyzyzzzyyyxyyxxyyyywyzyzyyxxyzyzzzyyzyzyyyxyyxyyxzyzyzyyxzxxyyyyzzyyzzyxzzxyyyxyyyzzzzzyzxxyzyxyzzyzzzy{yyyyxyyyzyzyyzzxxyxxyxyzzzzzzyzxyyyyyyxzyzxyzzzyyyxxxyxyzyyzzzyyyyyzyzxy{yzyyz{yxyxyyzzyzzxzyzzzyyzyyzyz{yzzyzzzyzyyyzyyzzyzzzzzzzxzxyyyzzzzyyyzzyzzxyyzz{zzzzzzyyyzyyzy{zzyzzyyzzyyyyzy{{zzzzzzyyyyyzzy{zzy{z|zzyxyyyyzzzzz{y{zyyxyzyyzzyyzzz{zyzzy{zyyyzz{zz{zzzyyyzzz|z{zzz{{yyzyzyzz{zzz{zyzyzyyzzzz{zyzzzzzyyyzyyzzy{{zzy{zyyyzyzyyzz{zz{{zzyyyzyyyzzzzzzzyyyzyyyyzyyzzyzzyyzxxyyzyzzyzyyyxyxyxyyyyzyzzzzzyyyyyzyxyyzyyzyzyyyyyyyyzyzyyzzyyxxxxxyyyyzyzzyzxyyxyxzxzyzyzyyyxyyyyyyxyzyyxyyzyyyxxyyyyzyyyzzyyxyxyxyyyzyyyzzxyxxyxyxzyzzzzyyyyyyxyyxxyyyzyyzzzxyyxxyxyyyyxzzzzxywzyyyxyyyyz{yyxyxyyyyyzzzyzz{yyyyxxyyyyxyyzzzzzyyyxz{zzz{y{yzzxzyyyyzyz{zyzyzyzyzzyyxzz{yz{yzyyzyzyyxzz{z{y{zzyyzyyyxzzyyzzzzzzyzzyzzzzzyz{z{yzyzyzzzzyzzy{{zzyyyyzyyzz{zzy{zzyyyzyzzzzzzzz{zzzyzyzzzzzyz{zz{zzzyzyyzy|zz{yz{zyzzzyzyz{zzz{zz{xzzyzyyzzz{yy{{zzzzyyyz{zy{z|zzyzzy{zzyz{zzzz{{zz{yyyzyzzzyzzzzyyzyyyzyyy{yzzyyyyyzyyyyzzzyzyz{yxyzxyyyyzzyyzzzyyyxyyyyz{yzy{zzyxyyxyxwzyyzzyzzzyyyyyzyzyyyzzzzyyyzxyxyy{yyyyzzyxyyyyyyzzzyyyzzyxz{yyxxzyyzyzyzyyyxxyxxyzyzzzyyzxyxyzxyyyzxyyzzyyyyyyyyyzzzzyzzyxyyyxxxxyzyxzzzzyzyyyyyyzyyy{zzyyyyyxxxyzzzzzzyzyyyxyxzzzzzzyzzyyyyzzyzzzz{zzzzyyyyyyyyy{zyyzzzyyzyzzyyzyzzzzzyyyyyyyzyzzz{zzzzyzzyxxyyzzzzzzzzyyxyzxzyyzzz{zzzyzyyzyyyzzz{z{z{yyzyzyyy{zzy{z{zzyyxzzyzzz{{{zz{zzzzxzzyzzzz{{{z{zzzzyyzy{z{zz{{zyzzyzz{zzz{z{z{{yyz{yyzyzzzz{z{zzz{{zzz{z{y{{zzzyzzzzzzyzyzyz{y{yzyyyzy{zz{zzzzzzzxzyzyxzzyzzyyxyyyxxxxyzzxyzyzyzyyyxxyzzzyyzyzyyxxyxzxyyzyz{{zzxyzyyyyxyzyyyzzyyzxyyzzzyzzyzz{yyyxxyyyyyzzyzyzyyzyyxyxxzyxyyzzyyyxyyxyzyyyyzyyyyxxzyyxyyyzzzyzyyyyxxxyyyyyyyxyzyyyyyyxyyyzyzzyzxzyzzyxxyyyyyy{zxyxxyyyyzyxzyzzyxyxyzyxzz{yzzz{zyxyzxyyyzzzyyzzzzzxyzyyy{yzzzzzzzxyyyzyz{zyzz{zzyyzyzzxzzzzz{zzzzzy{xyyyyzyz{zzyyyzyyyxzzyyz{zzzyxyyzyyzz{zzy{zyzz{yyzyzzzzyzz{zzyzyyzzzzzzzzzzzzyyz{zy{{{{z{z{zzzzzyzz|z{zz{zzzzzzzz{yz{{{{z{{zzzzyyyzzz{{{zzzzyz{zzy{zzzzzzz{z{zzzzzz{zzzzz{zz{zyzz{yyzzzyzzzyyyzyxyyz{zzzyz{zyzxyxyyzyyzzzzyyyxyxxyzxzzyzxzzzyxyzyxyzyzzzz{{yyyxzyyxzyzzyy{zyywyzyyxyxyyyzyyyxyxyxzyyzyyzzyyyyyyxyzyzyzxxzzzyxyxyxyyxyyxyzzyyyyzxyyyyyyzzzzyyxyyyxyzyzzyzy{yxyyxxyxzyzyzzyzzyyzyxzxyyyyyyz{zyxzzyxxyyyyyyzyyzyyxyxyyyzyzy{zzyxyyzzxyyxzzyyyzzyyyyxxyyzzyzz{{zxzyyxzyyzzzyyzzzyyyzxyyyzz{yzyyyyyzyyyxzz{yzyz{zxyyyywyzz{zzzzyzyzzzyxzzzzzyzzy{xyyzyyyz{zz{zz{xyyyzyyyzyzzz{zz{zyyzzzyy{z{zz{zyxyyzyyy{{zz{z{{zyyyzzzz{zzzz{{z{yyz{zzyz{{z{z{z{z{yyzzzzz{{z{{{{zzyzzyzzz{z{z{{zzzzzzyz{{zzz|{{zyyyzyzyzyzzz{{z{zyyzyyyzzz{zz{zyzyyyxxyzyyyzzyzzzyxyxyxyyzyzyyyxxxxyyxyyyyyzyyzzzyxyyyyyyyyzz{yzzyyyyyyyyzzxyzzyyyxxzyyyyyzzzy{yyyyyxyyyzzxyyzxzyyyyxyyzyzyzyzzyyyxxyyxzyzzyyzzyxyzyyyxyyzzzzzyyyxxyyxxyyzzzzzyyxxzyxyyzzzyyzyyzyyyxxzxyzyyyyzzyzzyyxyyyzyzzzyzyxyyyyyyxzzxzzzzyyxyzyxzyzzzyyz{zyzyyzyyzyzzz{yzyz{yxzxyyzyzzz{zzyyyzyyyzzyyy{zyyzzyyzyzz{zyzzzy{zyyzzzyzyzzzz{{yzzzzzyzzzzzzzzzyyyzyyyz{zz{zz{{yzyzzyzyyz{{zzzzzyzyzzzzz{zzyzz{z{{zzzzzy{z|{{{{zyzyy{zyzzzzz{z{zzzzyzyzzzz{{{{zyzzyyyzzzzzz{zz{{yyzyzyzy{|zzz{zyyyyzzzzyzzyzzzz{zzzzyyzzzzzz{yzyyzwyyzzzz{{zyyzyzxyzyzxyzzyyyzzzyyyxxyyyzxzyzyzyxxyzxzyzyzyzzyyyyzyzyyxyy{zyyzyzzzyyyyyyyzzzz{zzyyyxxzyxzyyy{yzzyyyxxyyyyzzy{zyyyyyzyyzyyzzyzyzxyyyyyyyxyyyzzzyxyyyyxyxyyzyyzzyzxyyzyyxyyzyyzzzyxyyyxxxyzxzzyzyyyyyywyyyzyyyzyzyyzyyyxxxyzyyzzzzyyzyyxzzzzzyyzzyzyyzyyyzyzyzzyzyxyyyyxyyzz{z{zzzyyzyyyyz{zyzzzzzyzyxyyyyzzyyzzzzyzyyyyy{|{{zy{zzzyzzyzzy{zzzzz{yy{yyy{zzzzzzzzzzzyzzzyxz{zzz{zz{zyzyyyyzzz{zz{{zzzyyy{yz{zzz{z{z{zzzzyzz{{{{z{{{yzyy{{yyzzzz{z|zzyzzz{z{zzyz{{|{zyyyzzzy{{{{zz{zyzxzzzzyz{zz{z{zzzzxzxzz{zzzz{{zyyxyxyyyzzy{yyyyxyxyxyxyxzyzyyzyxyxyyyxyyzzzzzzzxyyyxxyzzxzyzzyyxzywxxyyzy{yyyyyyyyyxxwzyyyyz{zzyyyyywxyyyyyzyyyyxxxxywzyyyxyyyyyyyxyxxxzyzyzxzxxyxyzxyyzyxyzyxyxxyxwxyyyyyxzzyyxyxxyyxyy{yyyyzyyyyyyyxyzzxyzyyyyxxyxxxyyyzyyyzzxyzyyxyyzyyzyzzzyyyyyyyyzyyzyzzyyyyyyzxyxzzyzzzxyyyxxyzyzyyyzzzyyyyyyyxyzzzzyyzyxyxxyxyyzzzzx{zyyxyyxyyyyyyzyzyzzzyzyyzy{zz{{zzyyzxzyzxyz{z{{zzzzzzxzyyzz{zzzzzzyyzyyyzz{zzyyzzzyzzyzzzyzzzzzzzzyyzzzzzy{zz{z{{yzzzyyyzzyzzz{{zzzyzzyyzzzzyzzzzzyzyzyyzzzy{z{zzzyyyyzzyy{z{y{{zzzyzyxxyyzz|zzyzzzyyyzyyzyzzzyyyyxyxyyzxyzzzyyyyxzxyxyxx{yyyyzzzyyxxyxzxzyyzyz{yzxzyyyyyyzzzxz{{yxyxxyyxyyyyyzz{yxyyyyzyyyyzzzyyyyyyyxyxyyzzyzzyxyyxxyxxyyyyyzzzxxyyyyyxyyzzzzyyxxyzxywxyyyzzyyzyyxxwyyyx{yyyx{zyyyyyyxyxyyzyzzzzyxxyyyxyzyyzzyzxyyxyyyxyzzyzyzyyzyyyxzyyyyzzyzzyzyzxxyyyyzzyyzzyyyxxyyyyyz{yzz{yyzyyyzyyyzzzzzzzyzxxyyyyyyzzz|yyxyzyyxzzzzyzzz{zzzzzyyzzz{zzyzzzzyyyzyy{zzzzzz{zzzzyyzzzzzzzzzyzyyzyyzxz{z{z{zzzzyyyzz{zyzz{zz{zyyyyyyzz{yzz{z{yzzzyzzzzzzzzz{zyyzyyyyyzzyzz{zzzzzyzyzzz{zzzzz|zzyyyyzxyzx{yzzzyyzyyzyyyzyyyyzzzxywzxzyzyzyyzyyxyyxxzzxzyyyyyzyyyyxxxyxyxyzyzyyzyyxzyyyyzyx{{z{yyyyyyyyzyyxyzyzyyyxxxyxyyzyzzxzzyyxyxxxyzzyyyyzyyyyxyxyyyyxyyxyyxyyyxxxyxzyzzzzzyxyyxxyyyyyzzzyxyyyxxyyyyyyyzzxxxxxyxyxyyzzzzzyyzyyxyxxyzyyyyzzyyyyyyyyzzyxyzyzyyxxzxyxyyyzyzzzzyyxyyxyyzzyyyyzzxyxxyyyxyzyzyyzyyyyxxyyzzzyzzyzyyxyyxyxzzyyzzyzyzzyxxxyyzzyzzzxzyyyyyyyzyzzy{yyzzyyyyzyyz{zzz{{zzyyyzzyz{yyyzy{zzzyzyxyzy{yzzzzzyyyzyzzz{z{y{z{zyzzyz{zyyzzzz{z{yyzyzyyz{zz{zz{zzzzyzzzzz{yzz{zzzzyzzzzyzzzz{zzzyzzzyyzzzz{zz{zzzyyxyyyyzzzy{{zyzzzyyzyzyyyzzyyzxzyxyzyzyzzzyyzzyyyyxxyyzzyzzzyxyxyyxxzyyzzyzzzyzyxxyyxzyyyzzzzyxyyxywyyzzyyyyyyxxyyxyxyyyyyzyyyzyyyyyxyyyyyyyzyyxxxxxxzyyxxzyyyyxyyxxy{zyyzxyyyyyyxxyxyzyzyyyyyyxyyyxxyyyyyz{zyxyyxzxxyyzzyyyyyxwyxxyxyyyyyyyyyyxxyyyyxyzzxzzzyxyyxyyxyyyyxyyyyxyyxyxyzzzyyzz{yzzxyyzyzzyyyzzzyxyyyyyx{zzxzyzzyxyzxyywxzyzyzzzyxyxxyyzzyyzzy{zyyyyxyyzzzyzyzyzyyzyyyyzzzy{zzz{yyyzzyzyyzzzzzz{zyyyyyyyy{zyzzzzzzyyyzzyzzzzzzz{zz{yyyzzz{zzz{zzzzyyyzzzx|{zzz{z{yzzzzzzzzz{zzzz{xzyyyyyzzzyzz{zyzxzzyyyyzz{zyzzzyyxyyyzzyy{yzzzzyyxyzyyzzzyxyzyyzzyyyzxzyzyzzzyyyyxyyyxyzyyyzyzyzyyyyyyyyzyz{yyyxyxyxyxxyyzzyzzyzyxxxxyzz{yzzzyzzyyxxyxyyzyyzzzyxyyyyyxy{yyyzzyyyxxyyyyxyyzyyyzzyyyxyyxzyxyyyzyyyzyyyyxy{zyyyyzyyyxxyxyzyyzzzyzyyyyyyyxyyyyyxzzzyyyyxxwxyyyyyyyyyywxyyzyz{yyzzzyyyxyyxzzyyzzzyzyyyyyyyyyzzzyyz{zyyyyxyyyyyyyyyzyyzyyyyzzzyzyz{zyzyzzxyyzzzzyzzzzyyyyyyyyzzzyz{yyyzyyyzzz{zyyyzzyyyyyzyyz{{zzzzzxxyzyyyzzzz{z{{zzzzzyyyyz{{zzzzzyzzzzzzzzzz{yz{yzzzyyzyzz{zz{{z{{yzyyzzzz{yzz{{{zyzyyzzzz{zzz{{zzyyyzzyyzzzzzz{zyzyzzzy{yzzz{{{{yyyxzyzyy{zzzzzzzyzyzyyyzzy{zzzyzyzzxyyyyzzxyzyzyyxxyyyyy{yxyyxzyyyyxyyxyxzyzzzzyyxxxzxyyyyzyzzyyyyyxyyyyzyyyyzzyyxyyyyxyyyyyzyzzxyyyxyyyzzyyyyzyxyxyyyxyyxyyxxxzyyyyyxxzxyyzyzzyxyyxyxxyzyyyzyyyyzyxyxxyyyzy{yzyyyxxyxzyyzyzzzzzyxyyxzxyyyzzzyzxzyxyxyyyyyyyzzzzyxzyyyyzzyyzxzyyyyyyyxyyzzyyzzzyyzzyzzzzxyyzzzzyyyxxxxyzzyyyzyzyyzyyyyzzzzyzzzyyxyzzyyyzz{yyzzyyyyyyyyyz{zyzzzyyyyxyyyzzz{zyzzzzyyyyzzzzyzzz{zzzyyyzyyy{zzzz{{z{zxzyzzyz{{zz{{zyzyyyyzzyzzzy{{{{zz{yzyzy{{zz{zz{yyyyyzy{zzyzzzzzzzzyzxzyyzyz{zzzzzzzyyz{zz{zz{zzzyxyyyzzzz{z{{{yzyzyzxyyzzzzyzyzyyyyyxyzz{yyyyyyyxxyxyyyzzy{yzzyyzyyyxxyyzzyyzzxzxxyzzyyzyy{yzzyyyzxxxzzyyyzyzzzzyxxyyxzyzyyzyzyyyxyzyxyzyyzyzyxxxyyyyyyyzxy{yyxyyxxxyzzzyyyzyyzyxyyyyxyzyyzzyzzyxzxyyxzyyyyzyzyyzyyyyyyyyyzz{yyyyxxxyxyyzyyyzzyyyyzzyxyzyyyzzzzyyyxxyxzzyzzzyzzxyzyzyyxyyyzzzzyyyyyyzyzzzyzyz{yyyyyyxyzzzzzyzyyyyyyxyzxy{zzzyzyzyyzyyyyyzzzz{zyxy{yyyzzyzzzzzzyzz{zzyzzz|{{{yyyyzzzyzzyzzzy{{{yyzxyyyyz{z{z{{{{yyz{zzzzz{{zz{{zyz{yzz{y{yz{{{{{yzyzzzz{{z{z{{{{zzyyyyz{zzz{zz{{yzyzzy{zzz{{{{{zzyyyzyzzzzz|{zzzyyyyzzzzzz{yzzy{yyyyyyyy{z{yy{zyyyyyxzyzzzzzzyzzxyxyxxxxyzyyzzzyyyyyxxyzyyzz{yyyyxyyxyyzzxzzz{zzyyxyzyyyyzyyyzzzyyxyxxyyxyzyyzzzyyyyyyxyyxzyz{zyyxxzyxxyzzzyyzyyyyxyxyyyxyzxzzyyxxxyyyyzzzyyyyzxxzyxzyyzyzzyxyyyyyywzyyxzyzzyzzzyyxyyyxxzzyyzzyyzyxyxyyxzzyyzyyyyyxxyzyzyyzzyzxyyxzzyyyzyzzzzzzyyyyyyyyzyyyy{zzxyzzyyyyyzzyyzzzyzyzzyyyyzzzyzzyyzyyyzyyyyyzyyzzyzyyxzyx{zzzzzzyzzyyyyyyyz{zz{zzzyyyyzzz{yzzyz{zyxyyyyyyzzz{yz{zzzxyyyyyzzzz{{{zzzzzyzzyzz{zzz{{{yyzzzyzy{zzz{{{zy{zzzzzz{{{{yz{zyzzzzyyz{y{zz{|zz{yzyyzzzzzzzzzyyyzzzzzyyyyzzzzyyzzyxyyyy{yzyzzzyyzyyzxy{zyzyyyxxxyyxxxyzzyzzyyxwxyzxyxxxzyyyzzzxxyxxyxyyyzzzyzzyyyyyzyyyzzyzzyxyyxxyxyyyzzyzzzyyxyyxxxyyyyyzzyyxxxyxxxyzyxyyyzyyyxyyxxyyxyyxyyyyyyyxyxyxzyyyzxyyyyxyyxxyzyzzzyyyyyyyxyxyxzyzyzxyyyyzxyxyyyyzzzyyxxyyxxyzzyyyzyyyzyxxxxyzyzyyyzyywyywyzzyyzzyzyyyyxyxyyyyyyzzyzyyyyxyxyyzyyyz{{yyyy{xyyyzzzz{zzyxxyyyyyzz{zyz{yyyyyyxyyzzyzyzyzyyyzyzyzyzzyzzz{yyzzzyzyzzzyzy{zyxyxyyyy{zyyzzzyzzzyyzzy{|zzzz|zzyyyzyzzzzyyzzzy{xyzzzzyz{{{zzzz{yzyyz{zzz{{z{|yzzyzzzzyyzz{{{z{zyzyyyxyzzyzz{{zzyzyyyyyxzzzzy{yzzyyzyzyzzyyyzzyzyzyyyxxzzzzzyy{yyzyxyyyyzzyyyzzyxxxyxyyzyyyzzz{yzyyxyyxzxzyzyzzzyyyyxzyyzzzyyz{yyzyxzzxyyzyzzyzyyyyyyyyyyyyyxzzyxxxyyyyyzzyyyzzzyyxxyxyyyzyyyzzzxyyxyyxxxzyzyzyywyyxxyzyyzzzzyzyyzyxyxyyyy{yzzyzyxxzxyxyyzyyyyzyyyxxxyyzzxzxzzzyzzyyyyyyzzyzyzzzzyyzyxyyz{zyyzyzyzzyyxyzyzzyzzzyyyyyzyyzyzy{zzzyyzyyxyzyzyzy{yzyyyyzyyyyyzzyzzzyyyyyzxzzzzyzzzzzzzyzyzyzz{zzzzzxzyzyyzyzzzzzz{zzyzzzyzyzzz{z{z{zyyyzyzy{zzy{z{{zy{yyyzzz{zz{zzzzzzzyyyyzz{|zz{z{yzzzyyz{zzzzzzz{xzyyyzyz{yzz{zzzy{{zzzzzzz{zzzzzzyyzxzzzzyzyzzzzyyxyzzyzzz{zzzzyyyyyyyzzyzzzyyzxyyyzxxxyzzyzzyzyxxyyxyxzzyyzyzyyxxyxxxxzyyyyzz{{zxyxyyyyyzzzyzzxyxxyxyxyyzzyy{zzxyxyxyyyzxxyzzyxyyyxyxxxzzyyzyyyyxyyyxyzyyzyzyxxyxyxxyyyyyzyzzyyxxyxyxyyzyzzyyyyyyyxxyxyzyyyzyzyyyyyxxxyyyyyzyyyyxyxyyxyyzzyzxzyxyyyyzxyyyyzyzyyyyxzyyzyyzzyzz{xyyyywzyzzxzy{zzxyyyxxyyz{yyyzzzyyxyyxyyyyzzzzyyyyyxyyxxzzzzyzzzyyxzyyyyzzz{zzzzzyyxzzyyyzz{zzyzyyyxzzzz{zzyz{{{yyzyyyxzzzzzzzzz{yzyzyyzzzzy{yz{zzyzzzzyyzy{zyzz{zyyzzzzyz{{zzzzyyzyyyyyzzzzz{yzyyyzzzyzzzzz{zz{zzzzzyzzyz{{zz{{zzyyxyyzxzz{yzzzyyyyyzzxyyzz{yyzyyyxyyyxyzyyyxyzxxxyxyyyyyzyyyyyyyyyxyyxzyyyzzyzxyyyyzyyzyzyyzyzzyzyyxyyyxzzyzzyzzxyyyxyyzyzxxzzxxzyxxxwzzzxwzyzyxzyxyxyyyzzyzyzyxyyxxyyxyzzyyyzxyyyyyyzyyzxyyyyyxyxxyxxyzzzyyzyyxyxxyyxyyzyyyyzyxxyxyxxxyzzyyzyyxyxyyxyxyyzzzyyzyyyyyyxzzzxyzzyzxxyyyyyyzyyyyy{yxzyxxyyyzyyyzyzxzzyyyzxyyyyzzzzyyyyyyyyy{zyzyzzzyyxyyxyyzzyyyzyyywyyxyxzzzzyyyzzyyyyzzyyyzzz{z{yyzzzyyzzz{yz{{zzyyzyzyyzy{zzz{yzyzzzzyy{zyzyzzzzxyyxz{zxzyzzyzzzyzyyzyyy{zzz{zzzzyzyyyy{zzzz{zyzxzzyyxzzzzy{yzzzyyzzzyy{{zzzyzzyyyyyyyyyzyyzzzzzzxyyyyyyzzyzzzxzyyxyyyyyzzyzyzzxyyyxxxyyyyyyyxyyxyyxyyyyxzzyyzzyyyxyxxyyyyzyzzzzyxyxyyyzyyzyzzzyzyyyyxxyyzyzzzzxyyxywyyyyyyyyzyyxxxyywyyyzxyxyyxzyzxyyzzyyyyyyyyyyyxyyyxyyxyyyyxwyxxyxxxyyyzyzzyyyyxyxzyz{xzzyzyyxyxzyxxyyyyzzxyyxxyyyxyzyyyzyzyyyyyyxyzyzzyzzzyxzyyyyxzzzzyzzzyyzyyxyyyyyzy{zzyyyyyyyyzyyyzzzzyyyyzxyyyzyyyyzzyxzxxzxyyzyyyyzzzyyzxyzzyzzzyyzyzyzwyxzzyzzzzzzzyyzzyyzy{yzzzzzzzyyyyyyyzzyyzyy{{yyxzzyyzz{zz{zzzyyyzzzzz{zzzyz{yyyzzzyzz{zzzyzyzyzzzyzzz{zyz{{z{xzy{yyzzyyzzzzz{yyyzyyzyzzzyy{{yzyyzyyyyzyzz{z{zxyyyyyyzyzzyz{zyzyzxxzxzyyzxzyzyyyxyxwyyyzyzyzyyyyyxxxxyy{yyzz{yzyxxyxxyyzzyzyxyyyyyxxyyyzyzyzzyzyyxwyyyyzzyyx{zyzyyzyxyzyyyyzzyyzxyxyyxxzy{yyzyyxxyyyyyyzzyyyyyyxxyxxxyyyyyzyxzyxxyyxyzxzyzzzyyxyxyyyxzzyzyzz{xxyxxxxxyyyx{yyyyxyxyxyxxzyyyzzzyyzyxyyyyyzyzzzzyyzxxxyzy{zzyzyzyyyyyyyzyzyzzzyzxyzyyyyzyz{yxyzzzzzyyzyyxzyzyzzzyyyzzyyyy{yzyyzyzxzyzxyyzz{yyzzzxzzxyzzyzy{zz{zzzzyyy{yyzzyzzzzzyyz{yyyyzzzzzzzyzyzzzxzyyzzzz{{{zzzzyzzzxzz}zz{zzzzzyzzzzzzy{z{zzy{yzzyyzz{zy{{z{yzzyyzz{zz{zyzzyzzyzyzzy{zz{{{{zzzyyyzyyzz{zzzzyyzyxzyxzzzzzzzzyzyyxyzyzy{yyyyyxxxzyyyxxyzyyzzyyyyyxxxyzyxzxyyzyyyyyxyyzyzzzyzzyyzxxyxyzzyzyxzzyyyxxxxxyyzzyyxyyyxxyyyyzyyxyz{yyxyxxyyyyyzyxyzyyxyxyyxyyyyyyyyxwyyyzyxxyyyxxzyyyxyyxyxyyyzxzyyzyzyyyyxyyyyzyyyyyyxyxyyyyxzyyxzzzzxyyxxyyyzyzzy{yzyyxyyyyzyyzzzzyzxxzxzyzyzzyzyyzyyyxyzyyyyxyzzzyxxzxyxyzyzzzzzyyxyzyxyyyyyzzzzyxzyzyyyyyy{zyyyzzxyzyyyyy{zyyzzzzzyy{zyyzzyy{zzzyyzyzzz{z{zzyzz{yyyyyzyyyyzzzz{zzyxzyyzz{{{zzzz{zy{zyzzzyzz{{zzz{yyzzzzzxzzzzz{{zzyyyyyyzzz{z{zz{zz{yzyyzx{{{{zz{zzzzzzzzzzzzz{{xyyyyzzxzzz{zz{zzyyzyyzzzy{zzzzzyyyxyyyyzzzzyyyzxxxxxyyxyzyyyxyzzyyywxyyzyzzyyzzyyyyxyyyzyyxzzzzyxyxyxxyyyyzyyyzzyzyxyyyyzyyyzzyyyyyxyxyyy{zyzzyyyxyxyyxyyzyyzyyyyzzyyzyzyxzyyzzyyyxxwyyxyzzxzzyyxyyxyxxyzyzyyyyzyyyxxxzyyyyyyzyyxyxyxyxyzyyyyzyyzyxyyyyxxyzyzyzyyyyyyxyyyzyyyzyzxxyyzyxyzzyyyzzzxzyxyyyzzyzyzzzyyzyxyyyzzzyyyzzyyyyyxx{yzzzzyzzyxyxxyxzxyzzxyzyzxxyyzxxz{{xz{zzzyyyyxyxyyzzy{zzyzzyzzzyzzzz{zzzzyyyyyyyzzz{zz{yzyyyzyzy{zzz{zz{zyyyzzzz{zyyzz{y{yyxzyyzz{zz{zzzzxzyyyzyzzzzzz{zzyzzzzyzzzyz{{z{zxyz{yzyz{zzy{y{zzzyyyzzz{yzz{z{zzyyxyyyyzzzzzzzyzyyyxyyzyzzyzyyxyyxyyxxyzzyyx{zyxyyxxxyyy{yzyyzyzzxyxyyyyyzzyyyyxyxxxyyzyzyyyyzyyyxxxyyyyyyzzyzyzxxyyxxxzxyyyyyyxyyyyyyzyyyzz{zyyxyyyyyyyzyyyzyxyyyxyyyxyyzyzzzzyzzxyxxyzyyzzzyzxyyxyxxyzzyyyzzyyxyyxyyyyyzyyzzyxyxyxxxwzyzxzyzyxyyyyyyyzzzzzzyyyyxyyzyyyxyzzzzyyyyyyxxzzyyy{zzyxyyyzxzxyzyyzyzyxyyyxyxyzz{yzzyzyyyyxyyzyzyzyyzzyyywzyz{zyzzyyzyyyyyyyzzz{zzzzzyyyyyzzyzzz{zzz{{yzyxyyyy{zz{zzyzyyyzyzyzz{zzz{yyyzyzzzzzyzz{z{zz{yyy{yyz{{zz{{yzyzzyxyz{{y{{{zzzzyzyyyzz{zz{zz{zzyzzzyy{zyz{zz{yzyyxzyxxzzzzy{{yzzyyyzzx{zzyzyzyzzyxyyyzyyyyyzyyyxwxyxyxyyxzyyzyyyxyyxzyzy{zyyzxxxxyyxxzyzzzzzyyyyxyyxxyyzyyyzzyxxyxxxyzyzzyzy{yyyyyxyxyxxzyzyyzyyxyyxxyzxyzyyzyxyxyyxyzxyzyzyzxyyxxyyyyyyyyyxyxxxxxxxyyyyxyzzyyyyyyxxwyyzzyzzyyyyxxxywxzyzyy{zy{yzxyxxyyzzyzzzxxxxyzyxyxzzzzzyyzyxzyxxyyzyzzzzzyyxxxyyzyzyzzzzyzyyyxxzzzzzzyzyyyzyxxyxzyzzyyzyyyyyxyy{zzzzzyyzyyyzzzyyyyzxyzyzxxyyzyzzzy{zz{zyzyyyyyyyzzz{zyzzyxyzyyyyzyyzz{{zzyyyyyzyzzzyzzzzzzzyzy{zyzyzzz{{zyyyxyy{zz{zzz{{zyzzyyyy{zz{y{zzzyyzzzyzzzzyzzy{zzzz{zyyzz{zz{z{zyyyyyyzzzzz{zzzyyyyyyyyz{zzyz{zzyzyyxyxxz{xyzyyzyyyxxyxzzzyyzyzzyyyyyxyyyzyzyyzyyxyyyyyz{yyzzzzyyxyyyyyyzzzzyzzyyyyyyyyzyyyyyzzyyyyyyyxyzyyzzzzzxzzyxyxyyzyyyyzyyyyyzxyxzyyyyxzxyyxxyyyyzyxxzzyxyzxxyxyzxz{yzzzyyyyyyyyyyzzzzzyyyyyxxyyxyyyyxyyyzxyyyzyyzyyzzyzyxyxyyxyyyyyzyyyyzyxyyzxyzzzzyyzyzyyyyyxyzzyyzy{zzyyyyyyzz{yyyzzzyyzyyyyxzz{zzzzyyyyzzyxyzzyxzyyyzzzyyyyyzyzzzyzyyzxz{zyy{z{zzyzzyyyyzzzzz{yyzz{yzzyyy{zz{zzzz{z{xzyyyzz{zzyzz{zyyyxyzzzzzzz{z{yzzyyzyzzzzzzz{y{zzzyyyyy{zz{{zzzzyzyyzyzzz{zyzz{zyzzz{yzyzz{{zzzzzzzyyzyz{z{zzzzyzzyxzyzy{zzyzzyyyyyyyzy{zzxzzyyyyxyyxywzyzyzyzzyyyywxzyyyyxyzzzyyyxxyyxyzzzyzzzyxzyyyyyzzyzyyzzzzzyyzzz{zyyyz{{yyzyyyyyyyxy{xzzyxyyyyxyyzzyyyzzzyxxxyxyyyyyzyyyyyxxywxyyxzyyzyyxxxxyyxyyzzyyyzyyyzxyxxxyyzyyy{zyyxyyxyxyyzyyzy{yyxxyxyxyzzzyzyyyyyxyxyxyzzzyy{{zyyyyxyyyzzyyzzzxzzyyyyyyyzyyz{zyyyyyxyxzzzyzyzzyyyzyyyy{zy{yzy{yzzzyyyyyyz{zz{yyyyyyyxzyzzzy{yzyyyyyyzzzzzz{zzzyyzzzyzyyyz{zzy{zyyyyyzyz{z{zzzz{zyzzyzyz{z{z{zzzyzzzzzzzzz{zzzzzzyzyyz{y{z{zzz{{zzyyyy{{zz{{zz{{yzyyzyyzzzz{zz{y{zyzyyyzzzzzy{zzzyzyzzyzzyzzzz{zyyzyzyyyzzz{zzzyyzzyyyxzyzyzyzxyxyyxxxxyyzyyzxzzyyyyyyyzyzxzzzzyxyxyxzyxyzyyzzzzyxyyxxyyyzyxyzzxzyxyxyyyyyzzzzzyyyyxyyyyzyzxzzzzxzyyyxxxzyxyyyyyyzxyyxyyyyyyzyzyyyxxyxyxzyzzzyzyyyxxyxxyyzyzyxyxyyyxyyxzzzyzzzyyyyxxxxyyxyyyyyzyxxxxyywxyyyyzzyyzxyyzxxyzzzzyzzzyxyyyyxzzyyyyzyzxyxxxzyzyzzyzyzyyyyxyyyzzzzzz{zyzzzzyyyyyyzz{yzyxyyyxyyzyzxyyzzzxyyyyyyz{zyz{zyzyyyxyyyzyyzzzzyyzyzzzzyyzzzyz{{{xxyyyyzyzzz{{{yzyyzzyzy{zzyzzzzzyyzyzzyzyzzzz{z{yxyyyzyz{zzz{{{zyz{xzzyy|zyzyzzzyyzyzyzzyz{yz{{z{zyzyyyzz{zzz{{yyxxyyyxzzzyzzzz{yyyyyyyyzzzyzyzyyvyyxyyzzzzzzzyxxxyxxxyyyyyyzy{zyyyyxyxzyyyzzzyyyxyxxyxyyzyyyyyyzyyyzxyyyyzyyzyyyzxxyyyxxzyxzxyxxyyxyyxyyyxyzyyzzxxyyxxyyzyzyzyyyyxxywyyyyyyxyyyyxyyxyyyyzzzzzyxyxxxxxyxxzyyyyxxyyyxyywxyxyzxyyzyxyyxyxxxyyyzzyzyxxxyxxxzyyyzyzxyyyyyxxzyyyyyzyyyywyyyxyyyyyyzyyyyxywyyzyyyyy{zyyyyxzyxyyzxzz|zyyzyyyyyyzzzzyyyyxyyyzyyyyzyyzzzyyyyxyyxzyyyzyyyyyzzyxyyyz{zzzzzyyyyzyyyzzyzz{z{zyyyyxyyyzzzzzzyzyyzyyyy{{zzzy{{yyzyyzyxyyzz{zzzzzyzxyyzzzy{zz{{zyy{yzzyzzz{yz{zyyyyzyyzzyyzyz{zzzyzyyyyyyzzyzy{y{zxyzyyzzyzz{zzzyyyyxxxyz{zzz{zxyyyyxzyyyzyzyyyyyxxyyxyyyzyyzxzyxzxyxyxyyyyyzyzyyzxxyyxyzzzyzzyyxyxxyxxyyyy{yyzyxyyxyyyzyzyzyzzxxyxyxyxxxzyyyzyyyyxyxxyyxzyxyzyyxyxxyxxzyyyyzyzyyyxyxyxyyyzyy{yyyxxxyxyxyyzyyyzxyyyyyxxxyxyyzyyyyyxxyxxzyyyyyzyyyyyxxyxyyyyyyyzxyyyxyyyyyyzzy{{yxxyyxxxyyyyyxyzyyyxyxzyzzzzzyyzyxyxyyzzzyyyyyzyzzzyyxyyyzz{yzzyyxxxyxyxzyzyzyzzyyxyzyyy{zzzzyzzzzyzzyzxyyz{yzzzyyzyzyzyz{zzzzz{yxyyzyyzzzy{{z{{zzzzyzzyzzzzz{{{zzyyzzzzz{yyzzz{zyyzzyyyz{z{{z{{yyyzxyzy{zzzzzz{yyyzzyyyzyzyzzzzzzxzzyyyzyzzyz{zyzyxyyzyzyzzy{yyzyzzxyyyyyyxzzz{yxzyzzzyzzzyyzyzyyyxxxxxyzzyzyyzyxyxxwyyyyzzyzzzzxyxyyxxyyzxzz{yxxyyyxyyzzz{yyzzyyyyxxzyzxyyyzxzxxyxzyxyyzyyyzzzzxyyxxxwzzzyyzyzyyyyyzzyyyyyyzyyyxyyxyyxyyzyyzyyyyxyyxxxyyyyzyzyyyyyyyxyyzyzyyzyyyyxyyxxyzyyzzzyyxxxyxyxyzyyyzyyyyzxyyyxyzyyyzzzyyxyzyyyxyyyzzzzzxyxyxyy{yxzzzyzzxyyyxxyzyzz{zzzzyxzyxyyzz{zz{yzyzxyyzxyzzzzyz{yyxyyzzxyzy{zyzzzyyyyyyy{zyzzzzzzyyzyz{yxyzzzz{y{yyzyzyyyyzzzzzzzzzzyzyyzy{zz{zzzzyyyzzzzzyyz{z{{{yyyzyyyz|zzzzz{zyzyyzzzz{{zzzzzzyzyyyyyyzzzzy{zzyzyyzyyzyzzzzz{zyyyyzyzzzzzzzzzzyyyzzzzyzzzyzzzzzzyzyxyyzyyyyxxxyyxxyxzyyzxyyyyxxxyyyyyyzyyyyyzyyyyxyxxzyyyzyzzzyzyxxyyyyyyyyzyzzyxyxyxyzzzzzyzyyyzyxxxyxxyyzzyxxyzyxyxyzzxxyzzyyyyyxxxyyyzyyyzxyxxyxyxyzyzyyyxyyyywyxyzyzyyyzzxxxzxyxxxzyzyyyyyxyyxyyyzzxyyzyxyyyxxyyxxzyyzzzyyxzyyzzyyyyyyxyz{yyyyxyyyyy{xzyyyyyyxyzyzyzxzzy{yzzxyyyyyyzyzzzzyyzyxxzxyzzzzzzyyyzyyxyxzz{zzzzzzxxxyyyzzzxyzyzyzyyzyyyyyzyyzzzzyyyzzzyzyzyzyzz{zzyyyxyxzzyzzy|zzyzzzyyzzzzy{{{zyyyyyzzyzzyy{zzz{yzyyyyzz{yzzzzz{yzyzzyy{z{zyzzz{yyyzyyzyyzz{zz{zyzzyzyz{z{{{z{{yyyyy{yzyyyzy{zzzzyzzxzzyzyzzzzyyyyyyxxyzzzzyzyzzzyyyxyxxzzzyyyzyyzyyyyyxzzyzyzzyyyxxyyyyyzzyyyyyxyyyxyyyzyyyyzzyxxyyxxxyzzzyzy{zxyxyxxzzzyyyzzyyyyyyxxyxyyyxyzyyyyyyxxzxyyyzzyyyxyxyxyxxxzxxyyyywxyyyxyyxzyyyyyxyyzxxyyyyzyyzzzyyxzxyyxyxyxzyzyzyxy{yxyyyyyzzzzyyzyyyxxzzz{yzyyzyyyyzyxyzzyzzzzzyyxyxxxzyzzyyzzzyyyzyyxzy{zzzzyyyyyzxyyzzy{zzyyzyyyyyyyzyzzyzzyyyyyyyyxyyyyzzyz{xzyyxyyzzyzzzzzxzzzzyyyzzy{zzzzy{zyyxyyz{zy{{{{{yxyyyyzy{{z{z{{yzyzyzyyyyzzzzz{zyzyzzzyy{{{z{yzzyzxzyzz{{z{y{z{zyyzyzyzzzz{z{|{zyzzyyzzyyzzy{{{yyzxzzzyzyz{zz|{zzyyyyyyyzzzzzyzzyyyyyxyzyzyyzyyxyyzxyxxyyyxyzzzyyyywxyxyzzyzyzzyxyxyzxyzyyzzzzzzzxzyyxxyzzyyyzzyxyxxxxxyzyyyzyyxxyxyxyyzyyyzzyzzyzyyyxyzzyxyyyyzyyyxyxyyzyyyzzzyyxyxwyxyyyyy{zyyxyyyxxxzyzyzyyzyyyxyxyyxyyyzyzzyxyyyxxxxyyyzyyzzyyyxyxyxzzyy{zzyyyzzzyxyxzzzyyzyxyyyyyxzzzyyzzzyxxyyxzzzyzy{zyzyyzyzyzyyyzzyz{zzyzyzyyyzyyyzzz{zzyyyyyzyyzyyzyzxzyzxyyyzzyzzyzzyyyzzyyyyyz{|yz{z{yyzyy{zzz{yzzzzyyyyyyyzzzz{{{zyyzzzyyyzzzzyyzzzyzyzyzzzzzzzzz{zyzyyyy{zzzzz{{{zyyzyyzz{zzzz{zzzyyyzyyzzzy{{zzzyzyzzzyz{zzzzzzzyzyzyyzyzyzyyz{zyzyyyyyyyyyzzzzyxzyyyyyyyzzyyyyyxzxyyyyyzyyyyzzyxyxyyxxxyzzzyzzzyyyyyyzyyyyyz{zzzyxyzxyyyyz{yyzyyyxwxyxxyzxyzzzzxyyyyyyyyzzyzyzxyyyxxxxxyyzyyzzyyyyxyyyyyzyzxzyyxyyyzxyxxyyzzyyxxyyxxyxyyyzyxzyzyyyxxyxyyyyyyz{yxyyxyxyxxyxx{yzyxyyxyxyyyzyyyzyzxyyyxyxxyzzyyyzzzyyyyyxyzzyzzyzyzxzyxxzyzzyzyzzzxyyyxxyzxy{zyzzyzzzyyxyyyyyzyzzzzyzyyyyzyzzyyy{zyyyzyzyxzzy{yzzzxzzzyyyzzyz{zzzzzyzyzyzyyzzzzzzzzyyyyyyyzzz{z{{yzyyzzyzzz{{z{{{{yyyzyyzzyzzzz{zz{zyyyzyzy{z{zz{z{xzyxyzyz{{zy{{{zyyzzyyzzzzzz{{{yzzzzzyz{{zzzzz{zyzyy{zyzyyzzzzzzyxyyzzyyzy{zyzzyyzzxyyxzz{zzxyzyyyyxyyyyzzzzzyzzyyyxxxyzyzyzy{zyyyxyyyyyyyzyzzyzzzxyxyyyyyzzyyzyyyxxyyyzzxyzzy{zyxyyxxxyyyyzzxyzyyyyzyyyyzzyyyxzyxyyyyyzzyzyzzyxxyyyxyyyyyzzyzyyyxxxyxwyzyyzyzyzyyxxyyxxyyxyzzzzzyzyyxyyzyyyyzyyzxxyxxyyzyyyzzzzyyyyyxyyyyyzzzzxyyyyxzyzzzyyzzzy{yxyyyyzyzzyzzyzzzyyzzxzyzyzzzzyyyyyyyxyyyz{{yyxyyyyyxxyzzyyy{yzyyyzyxyxzzzz{yzzyyyyzyyzzz{z{zzyyyzyyzyzzzzz{zzzyzyzzxzz{{zz{z{{yzzxzzyzzzyzz{{zy{zyzzzzz{y{zz|zzyyyzzyy{zz{z{yzyzzyyyzz{zzzzzzzyzzyzyzz{z{zzz{zzyyzzyyz{zz{{z{yyzyyyyzz|zyz|z{zzyyyyyyy{{zzz{zyyzyyzyyzz{zzyzzxxyxxyyyyyzyyyzzyxyyxyyxzy{xzz{yzyzyyyxxzyz{zyzzyyyyyyyyyyzzzzzzyyzxyxyxyyyyxzyzxxyyyyywxzyyyyzzyyyzyxxzyyyyyzzyxxyyxxxxyyzyzyz{xzxxyyzyyyyyzyxzyxzyyyxzzz{yyxzzxyyyxxyyxyzyzyzzyyyzyxzyyxyyyzyyxyxxxxxyyzzyyzzzzxyyyxzxyyyzzxzzzyyyyyxyyyyzyzzzzyxyyxxyyzyyzy{yxzzyyxyyyzzzzzzzyyyyyxzyyyzzy{zzyyyyyzyyzz{yz{{y{yxzyyyyzyzyyzyzyyxyyyyy{yzz{zz{yyyyyzyyzzyyzzzzzyzzyxyyz{z{zz{zyzyzxzyz{{{z{yz{{xzzzyzzzzzzzzzyzzzzyyyzzz{{z{zzzyzzyyyyzz{zzy{z{yzyzxxzzzzzzy{zzzzzzyyyzyzz{y{{yzzyyzzzzzzzzzzzyyyyyyyyz{yzzzzzyyyxzyyxyzyy{zzyyyxxyxwyyzzyyyyyyyxyxxxyyyyxyxyzyzyyxyxzzyzyyzzzyyyxxxyxzxyzzyzzyyxxxxxxzzzzyyyzzxyyxyxxyyxxyzzyyxxyyyyyyzzxyyyyyxzxxxyyyyxyxzzyyxxxxxxxyyzyyyzyyyxyzywyxyyx{yzzxyyyxxxxzyyzzzzyyxxxyxywxzyyyzyzxyyyyxxxxyzxzyyyxxyxzyyyyzxzy{yyzyyxyxxxzzyxyyy{yyyyyyyyyzyzyzzyyyyyyyyxyyzzyyyzyyyyyxzyyyzzzzyyyyyxyxyzxzzxyyzzzzyyyxyxzyzzzzyzzyyzyyxyzyzyz{z{yyyyzyyy{zyzyz{zyyyyyyxyzzyzzzzz{yzzxyzyyzyzzz{{|yyyxyzyzzzzz{z{zzzyxyzzy{{zzz{{{yyzyzyzz{zzzz{zzyzyyyxyyzyyzzzzyzzyzyyzzyzzzzz{yzzzyyxxy{z{yy{{yzyzyyyyyzz{zyzyyyyyywxyzy{yzzxyyywxyyxxyyyzzzzyyyxyywyxzzyyzzzyxyyxxyxxzyyyzzzyzyxxxzxxyyzzxxzzyxyxyxyxxyyzyyyyzyyxyzyxyyyyyyyyyyxxyxyxyyyxyyyzyxyxxyyyyxzyyzyyxyyxzxyxyyzyzzyzxxxxxxxyxzyzzzyyyxxyxxyyxyyzyyyyxxxyyxyxxyyxyyyzyxxxyyxxyyxyzyyzxxxzyyyxxyyxyyzzyyyxzxxyzzyyyyz{yyyyxxxyzyyzyyzzyyzyyyyzyxzyyzzzyyzzyxxyx{yyzzyzyyyyyyxzyyzyy{z{yxzzzyyyyzzzyzyzyyyyyyzyyzzzz{yyyyzzyyyzzyz{zzz{zyzzyyzyzzzzyzzzzxyyzyzyzzzzzz{zzxzyyzyzyyzzzzz{zyzyyzyz{{{zzzz{zyyzzxyzzz{z{zzzyzzzyzyzyzyzz{|zzyy{zyzzzzzzzz{zzzzyyyzyzzzyzzyyzzyzyyyyyyyzyzzzyyyyxxyxyzzyyyyyyxxwywxwyzzyyyzyyxxyxxyxyyzxyzyyxxxxyyyxyxyyzzzzzyxyxxxxyyyyyyxzyxxxyyyxyyyyzyyzyzyyxyxxyyxxyyzzyxyyxxxyyxzyxzyzxxxwyxxxyyzy{zyyxwxxyyxyxyyyxzyyxxxxyzxyyyyyyzyyyxywxxyxyxyyyyzzyxxxxyyxyyyyyyyxxyyxyxyxxyyyyzyzyyyyyxyxyyyyyyzyxyzxyxxyyzyyxzz{yyzxxxyyzyyzzyyyyxyxyxyxyyzzyyzzyxyyxyyxzyyzyyyy{yxwyxyyyzzyyyzzxyxyyyxxyzzyyyyzyyxyzxxyyy{zyz{zyyzzyyz{{yyzyzzzyyxxyyxxzzyyzy{yyyyyzyyyyzzyy{zzzyyyyzzyyyyyzzz{zzyxyzzzyzzyy{z{zyzyyyzzyzzzz{z{zzyyyxyyzzzzyyzyyyyzyyxzzyzzzyzzyzyyxzyxyyzzzzz{zyxxyyyxyzyyyzzxxxyxwyyyyyyyyzyyyxyyyyxwyzzyyyzzxyxyxyxwyzzyyzzzyxyxyxyxzzyyyzyyyyxxxyyxxyyzyyyyyyxwxxyx{yyyyzyzzyxxyxyyyyyyyyyyzyxyxxxxzyyyyyxxyyyxxyxyyyxyyyyyyxxyyyxyxyzyyyzyyxwxwyyzyxyzzyyyyyzyxxyyyyyyyxzyyxyxyyyyyyyyyyyyyyyxzxyzyyyzzzyzyxyzxxxyzyyyyzyyyzxxyyyxyyzzy{zzyzyxyyxyyyyyyzxyxyxyxyxyyzy{zz{yyyyyyxyyzzzyxyzyxyyyyzyxyyzzyzzyzyyyyyyyzzzyzzzyyyyyzyzxyzzzz{yzzyzyyyyzyzx{zzzzzzyzzyyzzzyzz{zyyyyzzyyzzzyy{zz{zyzyyzyzzzyzzyyzzyyyyzzyy|zzzyzzzyzyzyyyzyzz{y{zyzyyzzzzzzyz{yz{yzyyzyyyzzzz{{{zzyzyyyzyyyz{zz{zyyyyyyyyzzzzyyz{zyyyyxyyzyzzyyz{yyyxxxyxxyyxzyyzzzxxxxyzzyzyzzzzyyyxzyyxyyyzyyyzyxyxyxxxyyzzyyyyyyyxyyyxxxzyzzzzyyyyyyzyyyyyyyyyyyzxxxxxyxxxzzyyxxyxyyyxyyyyyzz{yxywyyxyzzyxyyzyzyyyxyxyyyzzzzxyyxyyxwxyyyyyzyzzxyzyyywyyxyzxzyzyyyxzxyyyz{zyyyzyxyyyxyyyyyzyyzyzyxwzxyyy{zyzzzzzyyyyyzx{yzzyzz{yyzyyxyyyyyyzzzzyzyyyyyyyxzyyzzyyyzxyyyyzyzzy{zzyzyyyzyy{zzzzzzyzyyyyxxyzxzzzzzzyzzxzyyzyzz{zzyzzyyyyxxyyyzz{z{yzyyyzzyyz{zzz{z{yyzzyyzzyyz{{z{{{yzyz{zyzzzz{zzyzyzzzyyy{{zzzz{y{yxyzyzzzzy{yy{z{yzyyzyyzzyyzy{zzyyyz{yyz{zzy{zzzyyyyyyxz{yyzz{yyzyyxxzyzy{zyzzyxyzyyyxxxyzyzyzyyyyyyxyxyyyxyzz{zxxyyyxyzyzzzzzzzyyxyyyxyzyzzyzzyzxyyyxxyyzyyzzzyyzyyzyyyxzzyzzzyxyyyyyxyyyyyzzzyzyyyyxyyyzzyyzzyyxzyyyyzyyyzzzyxxyxyyyyyzzxyyyzyyzxxzyyzyzyyzzyyyyyyyyxzyzyxzyz{xzyxyyxxzyxyzzzyyzyxyxyzzzzzzzzyyxyyxyzzyyzzzz{zyyxyxzyyyzzyzzzzyyyyyx{yzzz{yzzyyzyyxyyzzyzzzzzzxyyxyxxyzzzyyy{yzzxyyzyzzzzzzy{yzyzzzyzzz{{zzzzyyzyzy{z{z{zz{zzyyzz{yyy{{zz{{zzzzyxzzyzzzzz{z{zzzzxyzzzz{z{z{{{zzyyy{yxzzzzzz|zzyzy{yyz{{zzyzyzyyzyzyzzzyzzzy{yzzz{zzyzzzz{{zz{zyyyzzyzzyzyyzz|zyzyzyyyzzzzzyzzzyzyyyyyyzzzyzzyyyyywxzyzyyyzzzyyyyyyyyyzyyyyzzzyyyxyyxyzyyxyzzxzzxxyxyxyy{yyy{yyxzyyyxxzxyzyyzzyyzyyxyxyzyyyzzyyxyyywxyxyzyyyyyyxyxxyyyyzyxyzzzxyxxyyyxxxyzxzzyyxyxxxxyxyzzyyzzyyyyxyxxyyyzzzyzyxxxyxxxyyzyxzyyyxxyyxyxyyxzyzyyyyyyyyyyyyyzyyyyyyzyzyzxyzyyyyyzzyxxyyyyzyyzyzyzxyzyxyxzx{zzzzzyzzxyzxyyyxzyyyzzyxzyyyyxzyyzzzzyzyyyzyyzyzzxzzyyyyxyzzyyyzzzz{zyzyyyyyyyy{zzzzz{yyzyzyyzzzyzyzzzzyzyzzyyzzzzzzzzzzzyxz{{zzzz{zz{{zyyzyzy{|{zz{{{z{zzzyzzyzzzzz{yzxzxzzyyyzzz{{z{z{yzzyy{zyy{{{zzzxyxyyyyy{zyzz{zyzzyyyzx{yzyzzzzyzzyyzxyyzzyzzyyyxxxxyywyyyyyyyzzxyyyxyyxyyyyyyzyxxyxxyxxyyzzzzzyyyyyyxxyzzyxxxyzxyxxyzxxyzyyzzzxxxyxxyyyyyyxyxyyxyxxxyxyyyyxyxyyyyyyzxyyzyzyzyzwxyxxyyxxyyyyzyyyxyyxxwxyyzzzzzyyxwxwyyxyyyyyyyyyyyyxxyxxzyzyyyyyyxxyyxyxzyyzyzzzxyyyzxyyyzyyyzzzxzxyxxyyzzzzzyzyyzyyxyxyyzzyzyyyyxyxxyyyyzzzzzzxxyyzxyxxyzzyyxzyxyyxzxyyyzzzzzyzyyyyyyxyzyyz{zzzyyyyzyyzzyzzzzzyyzyyyzyyzyzyzzzyyxzyxyzyzzz{y{yzyyyyyyyzzzzzz{yzzzyzzzzzzzzz{{z{yyyzyyy{{zyyzzzyyyzxyyzyzzz{zzy{zyyzzyzzyzzzzz{zzyzzzzzzzyzzzzzzzyyyzyzzyz{zzzzzyxyyyyzzyyzzyzyyzzxyxxxyzyzyzyyxxwyyxywxyyzyyyzxyyxxxyyzyyyyzz{zyyyyyyyxyyzzzyyyxyyyxxxyyyyyyzyyyyxxxyxzyzzyyyyzyyyyzyxyyyzyyyzyyxxyyxxyyyxyyyyyyyxxyxxyzyyyyyzxxyxxyxyxxyyyyzyxyxxxyxxyyzzyyyyyyyyxxwxyyyzyzzyyxyyzyyyyyyyxyz{yyyxyxzyyzyyyzyzyxxyyzxyyyyzzzzzyxyyxyyxzzzyxzzzyxxyyyyyyyxxyyzyyyzyxyxxyyyy{yzzyzzyyxyxyyzyyyzzzyyyyyyxzyzzzz{yzxyzyxyyyyzzzz{yyyyyyzyyzzzzzzzzyxzyyzzyyyz{zz{{xyyzyzyyyzyzzzzyzyyzyzyzzzzzzz{zyzyyyyyzyzzzzz{{yyz{yzyyyz{{{zzzzyzzyzzyzzzyzzz{zyyzzzzzyyzz{{zzzyyyzyyzzz{y|zzzyyzyzyzzzyzzzz{z{yyzzyzyzzyzyzzzzyzyxxyyzz{zyyyyyxxxyyyxxzyxyzzzyyyxyxxyzyyyyyyzyyyxyyyxyxzyz{zyyyyyywxzyyzyzzyzxxyxyxyxyzxyyyxzyxyyyyyxxyyyy{zyyyyyyyxxyzyyxyzyyyyyyyyyyyyyyyyyyyxxzyyxyyzyyyzyxyyyxyxxyyyyzyyzyxxxyyyyyyxyzxzyyxyxxxxxyyxxyyyzxzyyxxyyxyyyyzzyxyyyyxyxyzzzzxzzyyxxzxzyxyzyxyzyyxyyxyyzyyxzyzzzzzyyyyyyyzzyyyzzyzzzyyzxz{yzzzzzyy{yzyyyyyyzzyzyzxyyzyzxzyzyyzzyyyzyzyyyyzzzz{zzyyzzzyxxyzzyzzzzyzzyyxyyyz{{zzzyzxzzzyyz{{zyzzzzzyyzyz{zzzz{{z{zzyzzxzyyz{yzzz{zzyzzyzyz{zyzyzzzzyyyyyyzzyy{{|zzzzzzyyyy{zzz{{{zxzzyzzyyyyzzzz{zz{zzyyzyyzzzyxzyzyyxxyyyxzxzzyyxyyyxyxyxyyzyyyzyyxxxyxxxyzyzyyyyyyyxyyyxyyyyzyxyyyyyyxyxyyyyxyzyyyxyyxyyyxzzzyyyxxxxy{yxwyyxzyzyyxyzyxyxxyyyyyzxyyyxxxyxyzxyyyyyyxxxyyyxyzzzzyxyxxxyxywyyyzyyyyyyyzyxyxxxyyzzyyyxxyyxxyyxyyyyzxyzyxxzyywyzyxyyxzyxyyyxxwzyyxyyzyzyyxyyyyxzyyyyyzyyyxyxyzyzyzyyyyyzxyxyyyyyzyzzzzyxyyxxxyyzyyyyzyxxzyyzyyzzzzyyyyyyxyzxxyyzyyyzzyzyxxzyyyzzz{zyz{yxxyxyyyzyz{zzzzxzyyzzxx{yy{zyzzzyyyyzzyzzz{z{z{zyzyyyzyzzzyzz{z{zzzy{zyy{yzzz{{yyyyzyyyzyz{{zzyzyyzyyzy{yzzzzz{zyyzzzyz{{yzzzzzzzzyxyzzyyzzy{zzzxyzyyyyyzzzzz{zyzzyyxyyzzzy{zzzyyxxyxxxxzyyyzyyxxxxxywyxyyzyzzyyyxwxyyxyyyzyyyzyxxyyxyyyyyyyyzzxyxxxxxxxzyyyxyyxyzyxxxyyzyyxzyyyxxyxxxxxyzyyyxyxyyxxyxyxyyyyyyyyyyywyxxxyyyxyyxyyyyxyxxyyzzyzyzyyyyxyyzzxyyyyzyyzwyyxxxyzyxxzyyxxyxywxxyyyyyyzyxxzzyzyxyzzyzzzzzyzyyxyyyzyzzyzzyxyyxxzyzyyyyzz{yzyyxyyxyyyyyyzzyxzxyxyxyyz{zzzyyyxxyyzxzzzzzyyyzyyyyyyy{zzyy{yzzzyy{yxyyzy{zyzzyyyyyyyzzyy{zzzzzyyyzyyyzyzzzyzz{yyyzxyy{{zzzzzzyzyyzzyyzzzzzzzz{y{yyzzzzz{zyzyzyxzyyzyyzyzzyz{zyyxzyyyyz{zyzz{{zyyyyyzyyy{yz{zzyyyxyzzyzyyyzzyzyyyyxyyyyyzy{zzyyzyxyzyxyzzzyxyyxyyxxxxxyyyyyyyzyxxyxwxwyyyyyzyzyxxyyyyxyyyyyzzzyxyxxxxxxzzyyyzyyyyxyyxxxxyzyywyxxyyxyxxxxxzzzzxyyyxyyxxyxyxxyyywyxxwyyyzyyzxyzyxxxxywxxyyyyyyyxyyxyxxxyxxzxyzyxxxxxxwxxyyyxyyyzxxyxxyxwxyyyyyyyyyxxxyyyyzyzyyyyyxyyxzxxyzzyyyzzyyxxyyxxyyyyyyzzyxxxxxxxyyyxyzzyyyyyyxyyyyzyyyzyyxzyxyzxyyzyy{yzyxxxyyxyzzyzzzzzyyxyyxxyyyzyzyzyzyyxyyxyzzyzzzzzyxyzyxzyyyyzzzyzyyzyyyyyyzyzzzzyzzxxyxyyyzzzzxzyyzyyyzzyyzy{{y{zyyyzyzxy{{{y{zzzyyzyyxzxzy{zzzz{yyyyxzyyyzyzzzzzyyyzzyyyzyz{yzy{yyyzxyxzzyyzyzyzzyyxzyyxyzzzzyyyyyzyyyyxzzyzyzzyyyyxyyyxyyyyyxyyyyzyyxyyzyyzzyyzxxxyxyyxzxzzzyzzyyyyyyyyzyyyyzyzyyyxxyxxyzzzyzyzyxyxyxxxyzyyxyzyyyyyyyxyyyyyxyyyyxyyxxxyyzxzyyzyyxyyxxyyyyzyxyzyxxyyyxyzzxyyyzyyyxyxxyxxyyzzzyzyyyyxxxyyyyzyyyyyyyxxyyyyyyyzyzzyzyyyyyyxzyzyyyyzzyyxxyyyyzyyyzzyyyyyzyxxyyyyzyyzyxyxxyxyyyyyzzzzyxyxyyyxyzzyyzyyzyyxxzyyzzzzyyzzzyxyzxyz{z{y{zzyyyyyzxyyyzzzzz{zxyyyzyzyzzyzzzz{yzzyzyxxzzyyz{zz{yyyzyyzz{zzzyzzyzyzyzzzzzyzzzzz{yyzyyyyz|zzzzzzyyzyzyyyzzzzzzzyyyxzyyy{z{{zz{{yzyyyzyzzyyyyzz{zzzyyyyyyzyzyzzzyzzyyyyyzzzzzzzyzyxyxxyyyzzyyzyyyxyxxxxyyyyyyyzyyxyxxzxxyzyzyyyxzyyyyxyyxzxyxzzyyzxyyxyxyyyyzyzzzyzyyxxxxyxyzyzyzyyzyyxyxxzzzyzzyzyyyzyxyyyzyyzzyxxxxxyyzxyxxyyzyxzxyywyyzxzyyzyyxxyxxxwyyyzzyzzxxyxyxyxwyzzzzzyzyyyyyxyxyzyyyyzyyzxxyyyyyyyxyzzzyyyyyyyxyzzyyzzxyyyxzyyyyzzzzzyyzzyyyyyxyzyyyzyzyyyyyxxyz{zyyyyzzzyxzxzyzzzzz{yyzxyyzyxyyzzyz{zyyyyyyyxyyzzyzyzyyyzyyyyyyzzzzzyzyyzyyyzyyzzzzzzzyxy{zyxyyz{yzzzz{xyzzzyyzzzz{z{zyzzyyzzyyzzy{z{{zyzyy{yzy{{zzz{zzyz{zzyyz{z{zyzzxyyyyzxzyyzzz{{yyyyzzyyzzyzzzzz{zyywzyyyzzzyzzzzzyyyzyyyzzz{zzzzxyzyzyxyyzzzyyyyyx{xxyxxzyyxyyyzxzyxxyxyyzyyzyzzyzxzyyxxxyxzzzyzyyyyxxxyzyyzxyyyyxyyxyxxyzzzyyzyyyzxyxywyyxyyyzyyyzyyyxyyyyyyzzzxyxxxxyyxyyzyzzyyyxxzyxxyyyyyyyyxyxxyxxzxxyyzzyzyxyyyxyxyzyyyzyyyxxxxxyxwyxxyxzzyyxwxxywzyxyyzzyyxyyxzyyzyzyyxzyyyxzyxyyyzzyyzzyxyyyyyyzyyzyyyzyyyyyyxyyzzyyzzzzyyyxyyzxyyzzzzzyyyyxyyxxyzzzzyzyyzzyzxyzzzzyyz{zzyyzyyxyzzzzyz{yxyxxyzyzy{yzzz{zyyyxyx{yyzzzzzzzzxyyyzyyzyzyzzz{yyzzyyyzyyyzzzz{{zyyyzyyyzzzzz{{zyyzyzyyzyz{zz{zyyyzzyyyzyzyzzzzzzyzzyyyzzyzzzzzxyyyzyxyyzzyyzz{zyyyxyyyzz{z{zzzyyyyyyzyxyzzyyyyyyxyywxyxzzzxyyyyywyyxxxxzzyyyzyyyxxyyyxyyxzyzyyyxyxyxyyyyyyxzyyyyyyyxxxyyyxyzyyxxywyxyyxyzyyyyyyzyxyyxyzyyxyyzyxxywyyxxyyxzyxx{xyxwxyyxyxyzyyyxyyxzyxxwzyzyzyyzyyyxxywyyyyyyzyyxyyyyxxyyyyzyyyyxxxxzyyyyyzyyzyyyxxxyxxyyyzyxyzyzyyxyxyyyzyyyyyzyyxyxyyzzzyyyzzzyyxxxyyxzzzyzyzzyzyxyxyxxyyzzzyyzzyyxzxxyyyzzyzyzyyyyyyyyyxyzzyyyyxyzzyyxyzzzzyzxzyyyzzyzyzzzzz{{xyyzzyyzzzzzzz{{zxyzzzyz{zyz{{zzyzy{zzzzzxyzzz{zzyyyzyyz{yzyzyzzyzzzyyxyzzz{{{zyyyzzyyzyzzz{zzzzzzzzyzyzzzzyzzzzyxzzyxyyyzyyzzzyyxyyyyyzzzzzy{zzzzxxxzyyzzzyzyyyxyxyyyxyyzyyyyzxxxyxxxxyyxxz{zyyxxxxyyxzxyyyyyyyxxxxyxxyyzyzzyzyzxwxwyyyyyyzzzzxyzyxxyxyxyyzyzzzxyyyyxxyyxyyyyxyyyywyxyzyxzyyyyyxxyyxxxzyyxyzyxxyxyxyxxyzzxzzyzyyxyxyxxyyzyyyzyzyxxxxxyzyyyyyxyyzxyyxyxyzyyyzyzxyxyyxyyyyxzzyzzyyyxywxzyzzyyyzzzzyzyyxzyyyyzyyzyxxyzyxxzyzyyzyzyyxyyxyyyzzzzzzyyyyxxxyxyzzzyzzzyxyyyyyyyzzyzyyyyxyyzyyzzzzzzzzzyzzyyzzzzzyzz{z{zzy{zyyzzzzzzx{zyywyyzzy{{zzzz{{yz{yyzyyzzzzzz{{{zzyyzzyzz{zz{z{zy{zyzzzzyyz{zzzzyyzyyzzzzyyzyz{zzyzyyzyyz{z{yzzyyyyyxxxzzzzzyzzzyzyyyyyyyyyzzzzyyzxyzzxyyy{zyyzyyyxyyyyyyyyyzxyyxywxwyxyzzyyzyzyyyyxyyyyxyxzyyxyyyyxyxxyyyyzyzyxxzxxyyxxyzyyyyzzxyyxzyxyyyxyyzxyxzxxxxyyyyxxzyzyxzxyyxxyzyyxzyyyyxxyyxyyyyxxyzyxyxxyxxxzyyyyzyzxyyyyxyywyyyyyyyxyxxxxxxyyyzyyyyzyyxxxyyyyyyyyzzyyyzxxyxyyyzzy{yyyyxyxyyyzxyyzy{yzzzxyyyzyzzzzyzyyyyzyyyyyzyzzzzyxyzyxyyy{zyzzyyyxyyyyyyyzyzyy{zyyyyyxyyzyzyzyyzzyyyyzyzzyz{zyyzyzyyyyyyzyzzzzzzzyzyzyyyyzz{zzzzzyxyyy{yzy|zyzzzzyyyzzyzzzyzzz{{zyyyxyyyy{{zzzz{zyyzyyyyyzzz{zzzyyyzzxyzzyyzzz{{zzyxyzzyzyzzzzz{yyzyyxyyz{zyy{zzyzyzyzyyyzyzyzzyzzxyyxyyyzyyzyyzyyxyyxywy{yxyzxyyxxyxxxxxyxzxzzyyxxxyyyyyyyzyyzyyyywyxxxyzyyyyyzyyyyyyxxyzyyxzyyyxyyxxywxyyyyzyyxxyxxxxxyxyyyxzyyxxxxxxxyxyyyyyzyyyxxyxwyyyyyzzyyyyxxwyyyzxy{yyzyyyxyxyyxyyzyzyyzyxxxxxxxxzxyyyzxyzxyxxxxxyyyyxzxyyyyyxx{zzyyyyyyyxxywzxyyyyzyzyzyzyyyyyyyzzyzzzyxyxxyyyyzyyyzzzyyyyyyyyyyzzyzyyyyyxxyyyxyzyzzzyzzzyyyxyyzzzyz{zzyzxyyzyyzyz{y{yyzyxzyzyyzzzyyzzyxyzyxyzyzyzz{z{yxyzyzyyyzyyyzzzzyyyzzyzyzyzzzzy{zyzyzzy{{zy{zz{{zzzyyyzz{zzzzzzzxzyyzyyyzyz{zzzzzyyyyyzzzzzzzyzyyyyyyyyy{yzz{yzzyyxyyxxyyyyyyzyzyyyyxyyyzyzyyyyxyyxyyxyyyyzyxyyyyxyyxxwxyxzwyzyyyywxyyyxyzyyyyyyyzyxyyyxyyzyzyyyxxyxxxxyyxyzzyyxyyxyxyxyxyyxyzyzyxwyyxxyyzxyyyxyyywxxxxyxxyxyxyyxwxyxyxyxyxyyyzxyyxwywxyyzyyyyyxxxyxxxxyxxzyyzyxyzwyxyyyyxwyyyzyxxxwxxyyzyyyyzzyyxxxyxxxyyyxzz{xxxyzxyyyzxyyzyzyxxyyyyyyyzxyzyzxxyyyyxxyyyxyyyzyxyyyxyxyyzyzzzyzxxyxyyyyzzzyy{yyyyyyyyxyzzyyzzzyyxyzyyyy{zzzzyyxyyyyyyyyyz{z{zyzyzyxyxyyzzzzzzzyyxyyyyxyzzzyyzzzyzyzzzzyyyzz{{zyyyyzyyyyzzzyz{zyyzzyyzzzzzzzzzzzxzyyxyxyyy{zz{{zyzyyyyyzyzz{zzyyyyyyyyxyyzzyz{zyyxzyxyxyzzzyyyxzyzyzxzyzzzxyyxzxxxxxyyxxzyyyxyzyxxyxxyyyyxyyz{zxzxyyxyyxyyxyyzzyyyyxwyxyyzyxzyyxxywxxywyxyyyyyzxxxxyxxxyyyyyyzxxxywyyxyyyyxyyyyyxyxxxwxxxyzxyzyxxxxwxyxyyzyyyyyyxyywyyxyyyyyyzxyyxxxxyyzxyyyxyzxxyyxxywxzxyyyzyxyyxxxxyyyyyyyyzxwxyyxxxyyyyyzzyyyyxxyyxzyyxyyyzyyzzyyyyyyxyzzyzyxxxyxyxyyzyzyyyyyyyyxyyyzyzyyzyyyyxxyxyyyyyyzzzyxyyxyyyzzzyyzzzyyyyyyyyzz{zzyzyyyyxyyyzxyzzzzzzzyyyyyyyyyyzzzzz{yyyzyyyz{zyyzz{zyyyyzyzyzyyy{x{zzxyzyyyy{zzyz{z{zzzyyyyyzzzzzyzyzyyyxyyzzzzyz{yyzyyzzyyyzz{zz{zyz{xzzyyyyyzyyyzyzzyyzyxyzzzzyzyyxyxyyyyy{yyxyyyyxxyzyyyyyzyzyyyzxyyzyxyyyyyzzyzyzxxyyxxzzyyzzyzzxyyyxyxyyzzzyzzyyxxxyyxyyzyyyyzzxxyzyxyyyyzyzyzyyyyxyxxyy{yyyzyyxyyyyyxyyyzzyyyxyxyyxxyxyzyxyzyyywxwyyyyyyyyyyyyxyyyzxxxyyyy{zyyyxxwxyxyxywyyyyzyyyywyxx{xzyzyzxwwyyyxxyyyyyzzyzyyxzyyyzzyyyyz{zyyxxxzzyyzzyyzyyzyyyyyyzyxzzyzyzxzyyxxxxzyyyzzyyyyyxyxxyzzyyzyyyyyxxyyzzyyxxzzyyyyyyyyyyzzzzyzyyyzyzzyyzyyzyzz{{yyyyyyyzz{zzyz{zyyzzzzyz{zzzzyzyyxzzz{yzz{zzyy|zzyzzzyyzzzzzzzzzyyzyzyyzy{yyzzzzyyyyxyzz{zzzz{{{yyxzyyyzzyzzzzzyyyxxxyyyzyzzz{yzyyyyzyyyz{{zzzyyxzxxxxyzzzyyy{xzyyxyxyxyyyyyyzzyyyxxyxyxzzyyyyzyzxwyyywzyyyxyzyyxyyyyxyyy{zxyyyyyyyxyyxxyzyyyzzyzxyxxyxyyxyyyzzyyyxxxyxyxyyyxyxzyyxyyxxyzyzyyyzyxxxyxxxyyyyyzzyyyyyyxyyyxzzzyyyyxyyxwxxxyyzzxzyxyyyyxxwyyyxyyyyyxxxxxxyxyyyyyyzyyyyxywxyzzyzzzzxyxyyxyxxyzyyzyzyxxxzxzyyyyzzzyzyyyyyxxyzzzyyyzyzwyxxxzxyzzxyzyyyyyzyzyyzzyyzzzyyyyzyxyyzzyyzzzxzyxyzyyxyzzzzz{{xzzyyyyzz{y{yzzzyyyyyyyxyzzzy{{xzyyyyxzyzzzzzz{{yzzyzyzyyzzzz{{zzxyyzyxyy{zzzyzz{yzzzyyyz|{{z{zyyzzyyzxyzzzzzzy{zzyyyzxyzzy{zyzzzzzzywyyyzzzzzyzzyyyyxyxzxyzyyzzyyyxxyzyyxzyyyyyxyxxyxxxyzywyyzyyyyxyyxyzxyyyzxyzyxxyyxxzyzzzyzyyyyyyyyxyzzzzxzzyyyxxyxxxzzyyzyzyyzxxyyxxyyyyzzyyyxyxyxyxyzxyyzzyxyxyyxyyywyyxyyywyxyyyxwzyzzzyzxxyyxxyyyzyzzyyxzxxyxxxyxyyzyzzyxwxyyxxxyxyxyyxzyyxxyxyxxyyyyzzzxzyyyyxyxyyyyyzzyyyyzxzxzyzyyzy{zyxyyxzxzzzyzxzzyyyyyxxyzyzyyyyyzyyzyyyyzyzyzzyzzyxxyyyyyzyyzyy{zyyzyyzzzyzzyzyyzyyyyzyyzyz{zzzzxyzyyyzyy{y{zzzzyyyyzxxyzy{zzz{z{{yyzzyyzzzzzzzzzyzyyz{yyyyzzz{z{y{zyzzy{{y{z{z{zyyzyyzzzz{z{z{zzzyyzzyzzzzz{zzzyzzyzyyzzzzzyzzzzyzxyyyzzzz{z{zzzyyyyxyy{zyzzzzzyxyyxzyyyyyzyzzzyzzyyyyxzzyzxzzyyyzyxxyyzxyyzzyyyyyyyxyxyyyyyyzyyyyyxxxxyyyyyyzzzyyyyyyxyyyzyyyzywyxyyxwyzyyyzyyyyyyyyxxyy{yyzyyyyyyxyyyxyyzyyyyxyyxywyyxyyyyzzyyyyyxxyzyzzyyzzzyyyywxxxzyyyyyyyywxyxyyyxyxxyzzyyyyyyxxyyzyzyzzzyyyyxyxyyzyzyzyzyyyxywzyyzzzzzzyyyyzyyyyzyzzzz{yyyyywyyyyzzzzyzyyxyyyyyxyzzyzzzyyyzyyyyxyyzyyyyzyyxzyyzyzzzyzzzxzyzyxyyyzy{yzz{zz{zzyyyzz{y{y{zzyzxyyyyyz{{z{{yzzyzyzyyzzzzzz{zzyyzzzy{yyzzz{z{{zyyyzyzzy{{zzz{{zyz{yzyz{zz{z{zzzyyyzyy{yy{yzyz{zzzyzzyyzzyzzz{zzzzyyzyyy{yzz{zyyzyxzzyyzzzyzyzzyyzxyyzyyzzzzrFr6 a5 z{{|{{{{|{}{{}|{|{|{{{{|{|{|}|}{|{z{{{y||{|||{|{z{{{{{{{|}|{|}||{z{zz{z{{{|{|{{{|{{{zz{|{{|{{||{|{{{{zz{||||{{|z{z|{{z{{{|{{{|{|z{zzz{{{||{{{|{{z{z{{zz|||{||z||z{{zz{z{{{||{{{{||{{{z{{{{{z{}|{{{z{{z|{|{{{|{|{{{{{|{{|{{|{|||{{z{{{z{z|z|{{||{{{{{z|z|{{|{z{{z|{{{{{{{}|||||{{{{z|{{{{{{||{}||{z{|{zzz{{{{|}}{|||{z{{{||{{}{||{{{{z{{||{|||||||{|||{|||||{}}|||||z{z{|||||{{|{{{}{{|{|}|{|||}|}{{{{|||||{}|||{{|{{||{{~}||{|||z{||{{{z|{{|{|}||{|||{|{|{|{||||{||||z{||{{||}|{{{zz|{{{||||||{{|z{{z{z{|}{||{|{{||{{{||{{{||||||{|{{{{{|}|||{|{{{||{{|||||{|{{{|{z{yz|}{{|||}|z|||{z{{{{{{|{~{{{{{{{{{{|{{{|{|z{{z|z{z{{|||{|{{{{{z{z{{{{||{|{|y{z{{{z{{{z{||{zz{{{{{z{{|z|{|{{{{zz{z{{{|{|{|}z|zzzz{|{z{{{|{{{yz{{{{z{z{{z|{|{{zzzz{zz{z{{}|{{{zz{{{z{{{||||||{z{{{{{{{{{{|{|{z{|zz{z{z|{z|z{zz|{{zzz||{|}|{{{|{{{{{y||{{{{|{z{z{{z{{{}{}{{}{||{{{{z{|||{z|||{{|{{{{{|||}{{{|{{{z|{|{z|||{}}||{{{{||||||{|}}{|z{{|||{}}{|{|}|{{{{|{||||||||{~|||{{{z|{|}||||||{||{||{|}{|{|{{}|{{|{|{||{|}}}}}{{{{{{{|}|}{|||||{{|z{{{{|{||{||{z|{{{z||{|{||{{{{{|zz{{{{{{{}}||z{{{|{{|||}|{}{{|{|{z|{{|{{||}|{z|{|{||||||||||z|||z|{{||}|{{{||{{{z|{||||||{{|{{{{{|{{{|{||||{{{zz{{z{{{|||{z|{z{z{z{{{||{{|}{{{{{{z{{{||{{|{{{z{{z{z||{{|||{{{|z{{{{{{{{|{{{{{z{z{{{{{{{|||{{|{{{{z{|{|{{{}|{z{{|{z{{|{|{|||||{z{{{{z||z|{|}|{{{|{{{}{||{|{|||zzzz{{|||{||||{||{|{{{{{{||||{|{{{{{{z{}}{{{|{{||{|{|{|{|||{}||||||z|{||{||||}{{|{}{|{{{|||||}{{{|}|{{||{}}}}{|{{|{||{}||}}|}|{{|{|{{{{{}||||}|{{{{|{{{~}}|}||}{||{|{|}}|||||}|{{|{||{}{}|z{}}{{||||{||||{|}|}|{|{}{z|||{||||||{||{{||{|{||}|{|{{{{z{|{{|||||}{{{{{|{|z||||||}{{|z||{{||}}|}~}z|{{|z{{|||{{|||{{z|{{{|||{}|{||z{{z{{|z{}|}{|||||{{{z|z{{{{{}||{{|{z{{{{{}{z{{z|{{z{{{z{{{|{{||{{{{{{z{|{{{{z{{{{{zz{z|{|{{|{||{z|{{{{{z{||{||{|{yzzzz{{|{{{{{{{{|z{{{|{|{|z|||{{z|{{{z{|{||{{{{{{{{z{{{||{|{}|{{{{zz{{|||||{}{{{{{{{|{{||{||||{{{z{{{z|{{||z|{{{|z{{{|||||{|}|{z{{|{|{|}|{}{{}|{|}||{{|}||||{|{|{{{{{{{|{}||}|{{z{{z{{|{|||{||}{{{|z{||}|{|}}||{|{||{|||||}|}||{|{||||{}}}||}|{{||{{}||}}||||||{||{{z|{}|||||}{{||{||{|||{||{}|{{{z{|{|{{|{{}}||{{{z{|z|{}|{{|||{{{z|{{{{|{||||{z{{{{{{}||||}|{{{|z||z|{}{|{||||||{{|{{{{{||||||{{{|z|{|{|{{||{|{{{z|{||{|{{{|{{{|{{{{{|{{||}|{|z{|{z{|||{{{|{z{{zz{zz{z{{{{{|{{{z|zzz{{{{{{{{|zz{z{zzz||{|{{{{{{{zzzzz|||{|}{zzz{{z{{|{{{||||{{{z|{{{z{{|{|{{z{|{{|{||{{|||{|{{{||{|||{|{|{||{{||zzz{|{|{{||}{{{z{{{{{{|||||||z{{|{{z{{}{|}|{{{|{{{z{|{|{||}||{{{{{{|{{{|{||{{z|z{{|{z||}|||||{z{||{{{||}|||{|{{{{{{{{}||||}{|{{|||{{||||{{|{|{{{{{{{|||{||||||z|||{||}|||||}|{|{{|{|||||}{|}}z{||{{|{{{|}|}|||{|{||{|||{|z|||{{{{{{{|||{|||||{{{z{{{{|z{|{|{{{{{{z|z{{{|{}||}}{|{{|{||}|{||||{|{{{z{{{}{|||||{||{{|||||z||||{z{{{{{z|{||{|||{{{|{|z{{|||||{{z{{z{|{zz{|{{{{{{|{{{zz{|z}{z|{{{zz{|zz{{{{|{|||{{|{{{zz{|{||{{{{{{{z{{{{{|{{|{{|{{z{{{{z||}{|{}zzz{{{{zz{|{||{{{z{{{z{zz|{{{|||z{z{{z|z|{{||||{|{zz{{{{{{||{|}|{{{{{yz{{|||{|||{z{{|{{z||||||||{{z}{z{||||{||||{{{z|{z{|||{{{}{{z{{{|{{{{|{||{{||{zz{{{}||||||{|{|||z{{||||{{|{||z{{{{|{{|||||||{{{|{|{}}||{||}|{||{{{{|}||}|}||{{{z{}{|}||}}}|||||||{{{||{}|{||{|{{{{||||{||}|}{||||{z|{{}|}}||{{{z|{z{|{{|{}||{{{|{{z{}||{{|{{{{{{{{{z{{{|}|}||{|{{|z{}||z|||{|{||{z|{||{|}||||{z{{|{|||{||~}|{|{{z{|{{||||{||{||{z{z||}|{{|}{|{{z{zzy|{||||{|{|{zzz||||{{{{|{zzyz{|{|{||{{|{z{{zzzzz{{{{{|||{{{z{zz{|||{{|{{{z|{zy{y{||{{{|{{||z{z{zz{{{|{{{|zz{{zz|{{zz{||}{z{z|{{z{{|{{|}|{{{z{{{{{{{{{{||z{{zzz{{|{|{{|}{{z{{{{z|{|{{{|{|{{{{{{z{{|{{{|z{{{|zz{{{{{|||{|{{{{{}{{{{|}|{{||{{||{z{||||}{|{|z|{|{{{{{}|}|||}|{{{z{{{{|||{|{||{{{|{{||||{|||}{||{{||{{{}||}||}|||||||{{||}||}|{{||{{|{||||}|}|{{{{{{z{{|||{}|z{{{||{{|||}}|{|{|z|{{{{{}{|||||{{|z{{z{{}{|{{|||z{z|z{{{||zz}|}{||{{|||}|}||}}|{||{{{{{{|||{|}||{{{{||{{||{}{{|{|{zz{z|{||{{||}{{{z{{{z||{|{|}}{z{zz{{{{{{{}|{{|{{z{{z|{{|{|{|{|{{|{{{|{{|{{{||{zz{{z{z||{|||||z{{{{{{{{{||{||{{|{{{{zz{{||}||{{{{{{z{{zz{z{{|{{{zzz{{{{||{{|{{{{{{|zz||{||||}{{z{{zz{{{|{|||{{{{{{{{{{{{{||||{||{{z{{{|{||{||}|{{{|{|||{|{||{{z|{{{|{z}||||||{|{{|{|z{{}{|||||{{{{{{|{||}}|{||{{{|||||||{{{||||{{{{{{{{}|}|||}|{||{|||{|||{}}|{{{|||}}|{|||||}|{|}y||||||{||}|{||||{{|{||{~|}|}{{||{|{|||{|}|||{|{{|{|||{|{}||{{{{||{|||{|{}~}|{z|{{zz||||{||{z{{z{{{z||{|{}|}|{|}{z|{{}}{{|~}|{{||{|||}{{|{|{|{|{|{{{|{{||{{{|zzz|z{{|{||}{{{|{{{{{{{}{|{{{{||{{|{|{zz{{||}||{{{|z{|z{|{{{{|{{{{zy{{{{{{{{||{{{{z{{z{{{|{||{{z{|zz|zz{{||{||{{{}zz{zz|z||{{{{z{{{{z{z|{{|{{||z{{z{|{{{|z{{|{|zzz{z||z{z{{||||{z{{|{z{{|{{|{|{z|{{{z|{||{|||||{{{{|{{z||||{{{{z|{z|z{{{{{|{||{|{|zzzz{|||{{{||{zz{{{zz}{{{|||{{|||{zz|z||||||||z{{|{{||{|||||}{{{{{{{{||||{|}||{||{|||}|{|}||}||{}{|}{}||||||||{{||{||{||}{|||||{}|{{|}|{}|||}{{{{|{{|{||||||~|{||{{||}||||}}}|{{{|z{{|||||{|}||z{{{|zz||||||{|{{{{z|{{{{|{|}}||{{{{{y||||{||||{|{|{{{{{||{||{}{z{{{z{{{{|||{|{{{z{{{{|||{z{|}||{{{{{{{{{{{|{|||{{{{|{{{{{{||{{yzzz{{{{{|z||{{{|z{{{{z{{{|{{{|z{{z|{{z{{{{|{{z{zz{zzz{z{|{|{|{{{|{z{z{|||{{{{|{{{{{{z{|{z|{z{{z{{z{z{{{|{{z||{{z{{{z{z{{{|z{}|z{{z{{{{{{{{|{{{{{{{{z{{{|{{|{}|{{|zz{{{{{||{|{|||{{{{{{z{|||}{{z{{{zz{{{}}{|||{|{z{{||{{|{{z|{||z{{|{{{{|}||}|}{{{{{zz{{{{|}|||{|{{{{||{|||{{|{|{||||z{}{{{|{}}{{{{{{{{||||||}}|{{|{{{{|||}||}}|{{|{{{||||{||}}}z{|{{{{{||{}{||||{{{||{||{||||||{}{{{{{{|{|}{||{{{{{|z{|||||{{{z|{{{{{{{|{{{||||{z{|||{|}|}|||}||{{}z{{||}||||||||{{|{|||{}|}|||{|z{{{{|{{|z{}||z{{{{{zz|{|||{|{|zzz{{z{||zz|{{{{{z{{{{{{{{||{|zz{{z{zz|z{{z|||zzzyyz{{{{{{{{{{{zzz{|zz{{||{{|z{{{{z{zzz||z{{{|zzzz{y{z{z{{|||{z||z{{{zz{{|{|{|{zz{{{yz{{z{|{||{{{z{{{||{|||{||zz{{{|{z{|||{{|}zzz{zz{z{||{{{}|{{{{{z{z{||||{{{z{z{{{{z{{{{{|{{{{|{{{z{{{||{z|z|{{{{{|{{{||||||{}{{||{{{|{{|{||{|{z{{|{{||{{}}{{{{}{{|{||||{|}|{z|{|{{{{|||||}}{{{{{|z{|}|||{||{{||||||||}||{}||{z{{{|{||{|||}|}{{|{{{|}||||}}}{{|{z{zz||{|{|}|{{|z{{z{|{|||{||{{{zz{{z{{|y{|~}{||{{{|{|~||}}{|{{{||{{|{{|||||||{{{{||{{{|||||{{zzz{{{{{|}|{|{|{{{zz{z{{{{{{{{|z{{z{z|{z{|{|{|{{{zz|{{z{{|{|{{{{z|{{zz{{z{{{{|{{{|z{z{zzzz{{|||{{{{{z{z{|{{|{{{z{{{y{{z{{{{|}{{{{{{z{z{z{{z{z{{|zz{zyzzz{{{{{|{zzz{z{zz{{{{{z{||z{z{z{{|||{|||||{|{{z|z{|{|{{{|{z{{zzz{|{{|{{{{{||z|{|z{|{{||{{zz{{{z{z{|{{{{|{{z{{z{zz{|{z{{|||z{{{z{{||{|{|||{{{{{{z|{|z{{|}||{{{zz{{{|||||||{{{z{{z{{|{{{|}|{||{||{{|{||||||{{|{|{{z|}|||}|{|{{}{{{{|||}|||||{{{|{{{|||{{||||{{|{|{{||}||||}{{{{{{{{{{{{|||||{|{zz{z|||||z{{{{{z{zzz|{z{{||||}||z|{{z}}}{|{||}{|{||{|}}||{}}|{{{{{z|{|||{|||{{{{{|{{{|||}|||||{{z|{z||{|{{|}{z{{z{zz{||{z||{zz|z{z{{{||{{|||zz{{{{{z{|{{{{|{zz{z{z{{|{{{{||{zz{zz{{{{{|{}||{{{{zzzzz{|{{||{{{|{{{z{yz||{{{||{{{z|{z{z{{{|||{{||zz{z{{||zz{|{{y{{{{|{{||{}||{|{z{{{{{|||{{|||{|z{z{|{||{|||{||{{z{z{|||{}||||{{|z{{||||{{{{|{|{{{{{{z|||{{|{}{{|||||{{|||||||{|}||||{|{|}|||||z{{{{z{||{|{|}||{{{|{||||||||}|}{||{{{|{|{{|||{|{||{||||{|}||}{||||{{{{{{{||||||||||{z{||||}||||||z{z{|{|||||{||{{z|{zz{{}|{|}|{{z{{{z{||{|{{||||{z|{zz{|{{{}||||||{||{||~|||~}||{||z{z||{}~||}||{{{{|{}||{{}|||{||{{||||{|{{{|{{{z{{{y||{{|}{||{|z{z{z{|{{|||{{{{{|{{z{||{|||{||{zz{z{|{{zz||zzzz|{zz|{|{{{{{{zz{zz{{z{|{||{{{{z{{{z{z{|||{}||{{{{{{{{{{{|{z||{|z{{z{{{{z|{{|||{{{z|{{|{{{|{|{{{|z{|{{{{||{|{|{|z{z{||{{{|||||{{{{{zz{{||||{}|zz{{|{|z{{{{|{||{{{{{{{{{{{{|||{|{{{{{{|{||{{{~{|{{|{{{{||||||}{{{{||{{{{}|}{|}|{{{{{{{{|}||{}|||{|z}|{{|}|||{}||{||{|||{{||||{}||{|{|{||}{}|}|||{||}{{{|||}}{|||{{{{||||||||{|||||{||{{|||{|||~|{{{{{{{{{||||||}{z{{{z{{|{|{||{{{|{{zz{||{|{{{}|}{{|{{{~{|}}|||{|{{|{z{|||||||||{{{{{{{|{{{||{|{{{{{z{{{|{|z{}}|||{{{{{|{{|{|||{z|{{|zz{{{|{{|{|{{zz{zzz||{z{{{{z{zz{|z|{{{z{{|{{zzzz{{z|{{||{zzz{{{{z{{{{{{{{{{zy{{yz|z|{{{{||{{zzzz{yz{z{|}{|z{{{{{{zz|{{||{||z||z{zzz||}|{|||{z{{zz{|{{{{||||{z{{{zz{z|{{{|{{z{{{zz{||{{|{||{{z{{{{{z|}|{{{{|z||y{zz{}|{{|{|{{z{zz{{{|{{||{|||{{{{z{{{|{||||z||{z{{{{|}||||||{|{|zzz}|{||{||z{|{{{{z||}|||||{{{{{{{{{{{||||||{{{{{{{}}||||||{{|{|{|{|{||{||||{{{{|{{{{{||{}~{{z{{{|z|||||||||{zz{{||{||{||}{|{{{{|{z{{z{{{{{{{{zz{zz{{{{|~|}||{|{||{|{||}}}|{|z{|{{z|||||{}|||{{{{{|{||||{{{z{{{|{{{{{|{{||||{{z{z{z|{|{{|{|z{|{|{{z|}z{||{{{zzzz{z{{|{{|||z{{{z{{{{{{||{|{{z{{{{|z{{{{{{{{{y{z{zzz{|z|z|{{{{{z{{zz{{{|{{{|{zz{{{{z{{{y{||{{{z{z{z{zz|{{{|{{{|{zz{z{{{{|{{||{{|{|zz{{|{{{{{{z|{z{z|{{{{z{{||{|z{{{|||{|{||{}{{{{|z{{||{}{|{|{|{{|z{z||{{|{}|{z{{{{z{|||{{||{{zz{{|{{{|{{}|||{{{zz{{z||{|z|}|{{{{{z{{||}|}{{|{{{{{z{{||{{|}|||{{{{||||{{|{}|||{{|{{||||}|{||}|{||{{|{{z}{||||{{z{|zz{{|{{|||}{{{{||{{{{{||||}{{{zz|{{{{{|{|{|||{{|z|{||}|z{{z{z{{{yzz|{{{{||}{|||{|||}}|}|{||{{||{{{{|||{}{|}|{{z{{{{|||||}}||z{||zz{{{}|{||||z{{{z{{|{}{||{|{z{z{z{zz||{{{{z|{{{{y|z|||{|{{{{{zzz{zz||{|{|{{{{{{zy{z|{{z{{{{z{z{{zzzz{|||{||{{{{zzzz{{{||{|{{zyzz{zz|{|{z|{{{{{z{z|y{{{{|{||zzz{{{{{|{{|{||{{{{zzz{{{{{|{|||{{z{{z{z{||{{|||{{{y{{{z{|{|{{|{{{{|{{z{|{{||{{{{||{z{{{{||{||||{z{z{|z{|||||||{|z{z{{{{z{{}||{{{||{|{{z{|{{{|}||{{{{{{{{||||||||z|||{{{{||{}}{|{{||{{|||||{|~|||{{|{|{{{|||~}||||{z{{{{|||{{||||z|{{{{{|{|{{||}{|{{{z{|||{{||}||||{{z{{{|||||||{{z|z{{z|{{{|{{||{{{{z{{z{{||~}~||{|{||{||}|}||}{z||{{{z{{}}}||}{{{{{{|{|{{{||||{{{{{{{{|||{{{|{{|z{{z{{}|{{{{{{{z|{z{|{{{{z{|{z{z{zz{{z{{{zz|{|{zz{{{{zz{{|{{|{|{|z{{{z{{|{|{{{{z{{zzz{{{{{||{{z{{z{{{z{zz|{{||{z{{{zz{z{{zz{{{{zz{{{z{{{{{|{|{{z{{z{z{{{{{{}|{|{{z{{{|{{{{{|||{z{zz{{|{{{{{{||z{|z{z{{|{{{||||{|{{{{{z{{|{||||{z{{{|{{{||{{||{{{{{{|{z|z|{{{{|{{{||{{{|}}}}}|}{|{{{{{{{|{||||}|{{|{{z{{||{{|||||{{{||{}||{{|}{{{{{{||||||||}||||{|||{{|||}}|||||{{{{|{|||||||||{|{|{z|{||{{|}|{{{{|z{{|||{{|{}{|{{{||z||}{|{||||z{{{{{{|{|{|||{{{{{zzz{{z{|}}}}}||||{||~}~}|}}|{}{|{{{|{|||}|}|{{{{{||}||{}|||{|{zz|{{z{|{z{}{||z{z{{z{{|{|{{{{z{{z|{z{||{{||{|z{{zzzz{{{|{{{{{||{z{zz{{{{{|{{{z{{{z|z{z{{{{{{{{zzzzz{{z{{{{{{{z{zzz{{{{{{z{|{{{|{z{z{z{{z{|||{{zz{z{{z|{{{|||zz{yz{zz{{{{{||{z{z{{{{{|{{{{|{|{z{{{z{{|{|{||{|{{{zzz{{{{}{{{||{{z{{{zz{||{{{|{{z|z{{{z|{|{|||{{{z{{z{{{|{||{|{{{{{z{{{{|||||{}|{||z{{|{|}||||}|z{{{|y{{|{{{||||{{{{{|{{}}{{{||{|{{{||{|{||||}{|||{{||{{|||{|{}|{{|{{z|||{{|||}|{{{{{{{{{{|}|||||{{{{{{||{|||{||zz{{z{{{{|{{|}||z||{{{z|{{|{{{{{{{z{{{{{|{{{}}|}}}||{{|}|~|~|}}{{{||z{{|}||{}~{|{{{{|z{|||||}}{{|{{zz{||{|}{{|}{{{{z{{z{|{{{}{|{z{z{{|{{|||{{||zzzzz{{z{{{{{|{|z{z{{{{z{z{{|{{{{{{z{{{y{{{{{{|{{z{{zzzz{{|||{{{zzzz{{|z{{{{z{|{{z{z|{{zz{{{z{{{z{zz{|zz{{{{|{|{|{z{{{{{{{{{||{|{{{z{{z{{|{||{||{{{{zz{{|||||{||z||{{z{|{||{{|}{{{{{|{{{{|{{||||{{z{{{{z{|||{||||{{{|z{||||{{}{{||{z{z{{{}{||||{||{{zzz{{|||{}}|||{z{{z{|||{{{{}||{{{{{||||||{||||{z|||z|||||}||||||z|{|z||}}|}}{|||{|{|||}||||{{{{|z{{||{|||||}|{z{||{{|}{||||||||z{{{{|{||||}|{{z{|{{{{|{{}{{{|{{{{y{{||{{|~}~~||{|}|||||}|||||}{||{|{|{|||}}||||{z|{{{|}{}||||{|z{z|||{|{{||{|{{{z{{z{{{{||{|{{{z{z{{z||{|||zz{{{|{{z||{|{|{|{{{zzzz{{z|{{{||{{z|{zzz{|{{{|||zz{z{{y{{{{{z{{|{{{zy{{z{z{||||{{zz{{z{zz{{z{{{|z{{{{{zzzzzz|{{{{z|zz{{z{{{{|||||{{z{z{{{|{{{|z|{z||z{z{|z{||||}{{z{{{{z|{z{{{{|{z{|{z{{z|{|}{{|{z|z{{|{{|{|{|{{{|z{{||{{||z{||{{{{{{zz{|{{||||{{|{z|||{}||{|||}|{{{{{z{|{|{|}||||{|{{{||||{||{|{z|{{||{{|{||}||{{{||{|||}|||||}{||||{{{{|}|{||||z{z|{{{{}||{||||{{{||{{}|{|{||||{{{zz{{{|{|{||||{{{{{{{{||{|{{||z{z{zz{|{||{|}~}}}|}{}||~|}||}}||{||||{}{|||||}{||zzz|{|||{|||{|{|{{|{{{}{|}z|}|{zz{{{z|{|{{|{|{z|{z}{z||z{|||{|{{{{{z{{||{{{{z{{zzz{{{{{{||{|{|z{{zzzz{{z{{|||{{z{{{{{{|{{{||{{{|{zzz{|||||||}|{{{z{{z{{{{z{{{|{{{{{{z{{{|{}{|z{{zzzz{||{{}||{||{|{|{z||{{{{|{{z{{{{{{|||{{|}{z{{z{{{z|||{|{||{z{{|{{{{||{|||{{{|{{{z{{|}{}{z{{{|{{{{{|||{||}{|{{{{|zz|{|}|{|{{|{{z{{{|{||||||{y{|{{|{||||||{||z{{{||{|}||||}}||||z||{|}}{||}|||{{{}|{{|{}|||}||{{{{|||}|}}|{|{{{|{{{|||}|{|}}{{{{|z{{|{|z||}|||{{|{{{{}{|{|}||{|z{{{{{{|{|z||{z{|z{{|{|{||~}~|~}|}~|||~}|}}}}||||}|{||}}}}}||}|||||{z||||}||}{z{|{}|{|{||{{|||z{z{{|z||||||||{{{z{{{{{|{{|{{{|z||{{{{{{|{|{|{{{{|z||{{|z|||||{{{{{z{{{{|{{||{{z|zz{zz{{|{{{||z{|{y{{z|{z{{{|{{{{{{{{z|{|{||{|z{{z{z{z{{{{|{{|{z{{{z{{|{|{|{|||z{{{z{{{||{{{||{{{|z{|||{||{|||{z{z{zzz{{|{||||{z{|{z|z{|||{||||{|z{{{{}|{{|||}{|{|{{z||{|{|}|||{{z|zz{{|||||||{{z{{{{{{{|{|{|}|{{||||{|}||||}{{{{|{z|{||}||~}||{{||||{}|||||||||{{{|z{|~|}{|}}}z{|{z{{||||||}||{|{|{{||||}||}}|{{{|||{{{|}|||||{{z|{{{||}|||}||{z|{{{{{{{{{{|{{z{|{z{|{||{|}~}}|}}|}|{}{|}}|}}||||{{|||~}|}}}||{|{{|{{{|{{||}||{||{{z{{|{}|{{|{|{{z{{z||||||{|{{||{|{{{|{{|{}|||zzz{z{|{{z{|{{{z{{z{z|{|{|||{{{zz{{{zz{{{{{|||{{{{zzz{{{{{}|{|{|{z{{z{{{{{||{{{{|z{z|z{{{z{{{{{{{z{{{z{{z{{||{{{zz{{{zz||{|{|{{{{z{zz{{||||{|}|{z|zz{{|}{|{|||{{{z{{{{||||||}|{{z{|z{{{||||}||{{|{{{{z{{{{{{|||{{{{|{||{{{{|||{|{|{{{{||||}|||{|{{{{||{|{||||}||{||{{z{|||||}||{{{|{{{}}|||}||{|{{{||{{{{|{}|||{{{|||{||}|||||}{|||{|{|||}{|}}{{|{||||||||{}||||{{|z{|}||||||{|{|{{{z{z}||{|}}{{{{{{{|z||||{{{z{{{{zz|{z{{{~}~}}}|||~|}~~~||}~||||||||}|}||}|~|{{||}{{|}{||}||{|{{{{z{{|{}{|||{{{{{|{z{}{{{|{|{z{z{{{{{||{||{{|{{{{{z{{{{{{}{{{{{z{z{y|{{{||||{{{z{{zz{z{|{|{{z{z|z{z{|||{{|||{{z{{zz{|{{||{||{z{z{z{zz|{|{{||{{{zzz{z{{{|{||||{||{z{{|{{{}||{{zz|z{{{{{|{{{|{{z}{{{|{{|||{{{|{z{y{{{{{||{||||{{|{{z{{||z||||{{{{{|{z{{}|{{{|{|{zz{zz{|}{z{|||{{{{z|{z{{{}|}||{{{|{{||||||{||||{{{{{{|{{{||{|{|{||z||{||||||||{||{|{{{z|{}{|||||||{}{{{}|||}||||{{{{|{}||||}|{{{{{|{{|||{}}z|||||{{{{||||}|}{|||{|{z|{{|{|{||{{{{|{z{{{|}{|{{{{{{z{zz{|{|||~~~}}|||}{}}}|}||}|}}|||{{||}|||{|||{{{}{{|{}{||||{z{z|{{||{||{||||{{|{{{z{{|{{||{{{{{z{{{zz{||||z||{{{{zz{{|{||{{{{zzz{{{{|{{{{{||{{{|y{{{{|{{||z{{z|z{zzz{{|||||{z{{z{{{{|z|{|||{{z{{zzz{|{z{{{|{z{z|z{z{{{|{{|{|{|z{{z{|{{{||z}|{{{{{z{||{||{|{||||{z{z||{{{|}{{|{{{z|z|{{{{|}|{{|{z{{{{|||||{{{{{{{{z{|}|||||||{{{{{{{||z{{||{|{{|z|{{|}||||}|z{{{{{|z|||}{}}|{{|{{{{{{|}{|}|{|{{{||{{{|}|}|~|{{||z||{|||||||}|{{{{||{{||}|||{|{|{{{{{||{||||}|{{{z{{|{|||}||}|{{|||{{}|}}}{||{{{{{z{|{||||{}|||{|z|z{||||{{|{|{zz{{z{|{|{|}~}}~~}}|}}~}|}}~}}|||||{z||}|}}{|{|{{|{{{}{|z|}}}|{{{z{{z{}||{{|}{|{{{{|{}||{{{}||{{{{{zz{|{}{}|||{|{z|{z{{||{{||{{{{{{z{{{z{z{{|{z{z{z{{|{z{z{}{zz{{z{{|{{{{{|{{z{|yz{z{z{z|||{{{{{{{{{z{{|z{|||{{|{z{z{{{z|{{|{{z{{{{{z{{{{{|{|z{{zzz{||||{{{||{z{|{{{{|{}|{||{{{z{{z{{{|{{{{|{{{{z|z{{||{|{||{|{{|z{{{|||}{{|{{{z{{{z{|||{|{|||{{{|{|{|||||{}|{||||{{|z|||{}||}{{{{{{{||||}||||{|||{z||}||||}|{{|{z{{{|||}{|}}{{{{|{|{{||}}|||}{{{{|{{||||||||{{|||{||{||}||||||{||{{{}||}||||{{{{|{{|z||{{{||{z{z{{{{{||{{{||z{||{{{z|{|{|}~}~~}|}|{{}~}||~}|{{}{z|||||{|||}}{|{{|{{||{|||||{{{{{|{{|{||z|||{{|z{{{{|||{{|{|{z{{z{zz|z{{{{|{|z{{zzzz{||{|{{{zy{zz{{zz{{{zz{|zzzzz{zzzz{{{{{{{{{{z{{{z{{||{{{{z{z{z{zz||{{{{z|z{{{zz{zz{{||{{{{{{z{y{{{{{{|{{zz{{{zz|{{z{{|||{{zzz{{{{{{|{z{|{z|{z{z{{{{{{|||zzz{z{{{|{{{{|||{{{{{zzz|{{||||{|z{z{{zz||||{{|{|{{{|{{{{}{|{||||{|{{{{{||{||{|}{{{{{{{{{{{|{|{|{{z|{{{{{{{{||{||{{{{z{z|||{{||||||{{{|{{|||{||{|{||{{{}|}|||}|||{{|z{z{{{{||}|||{{{{{{{|{{||||}||z{{{z{|||}|{{|{{|{{z{z{|{{{{|}z|{z{{{z||{{|{|{|{zz{z{{|{|{{}}}}}|}||}}~}|}|}}||||{{||~|||}|||{z|{{|{||}{|||}|{{|z{z{{{||{{||{||{{z{{{|}{{|{~|{{{z{|z{||{||{{{{|{y|z{|{{{z{{{{z{{|{zz|{{|{|{{|{{z{{zzz{|{|{|{{z{{z{z{{{|{|z|||{{zzzz{{||||||{|z{{{{{z{|{z{{{{{{zz{z|zz{{{|||{zz{{{{z{z{|z{{{}|z{z{{z||||z{|}|z|{{|{{|{{|}{|||{{{{zz{{|}{{||||{|{|z{{{{|}{||}}{{|{{{{{|||||{|||{{{z{{{||||||{|{{{z|||||||||}|||{z{{|{{{{||||||}{{|{{zz}||{||||z{{{{{|{}}|||}||{z{{||||{{|{|||||{{{{||{{}||}||~|{{{|{{||{|||}|||z{{{{{{|||||}}}|{{{{||}||{}}}}}{||{{z||z{{|{||}|{z{|{|z{{||{}}{{|{{{z{{|{{{{~}~~}}}}}}|}}}|}}}}}{{~|{|{||}|}|}}{{|z{{||{|{{}}|||{z||{z{{{||{|||{{|z{{|z|{{{{|{|z{z{{z{zz||{{||{{z{{{z{z{||{{{{{zz{{z{z{{{{z{{|||zz{{zzzz|z{{|}z{{zzzzzzzz{z{{z{{{|{{z{y{{{{{zz|{{{zz{{zz{{{|{|{{zz{zz{{{{|{{|||{z{{{{{|{z||z|{{{{{z{zz{{{{|{{|{|{{{{z{{|{{{{}|{{z{z{z|{||{||{{{{{{yzz{{{{|{|{|{|{{{{{{{||{|{||{zz{{{z{||zz{{{{{{{{{{z{z{|}|||{{{{|{{||||{{|{||||z{z{{zz{||{{{|||z{{{{|{||{|{||{|{|{{|{z{|||||{{}{|{{z||{~{|||z||{|{z{{|||{}{||{|z{z|{{{||||||}||||{{{{{{{}}{|{|{{{{{|z{{|{{||{{{{{{{y{{{|{{{||{{z|{zzz{{|{{|}~~}}|}~}|{|~}~|}}~||{|||{|{|}}}||||{||{|{|||||}||}{{z{z|zz{|{{{||||{{{{z{{{{{|{|{|{{{z{{{z{{||{|{{{{{zz{{z|{{{{{{{{{{{{{{|z{zz{{{{{z{|{zz{{{{|{{{{{zzzz{z{{{|{{{{{||z{z{{|{{z{{{|{{{z{{z{zzz|z{z{|{{z{{{{zyz{{{{|{{z|zzz{zzz{|{{}|z{{{zzz{||{z{|}|z{{z{{{{{{{{{|||{z{|z|{z{||{|z{{{z{{{z|{|||{{|{{{{{{zzzz||{{||}{|{{{{{z{{|{{{{||{{{{|{{z{}z}|}|{zz{|{z{{|{||{|||{|{|{|{{{|{{|{{||{{{||{z{|{|||{||z{|{{|{||{{||{{|{{{||{{|}||}||||{{|{{{{|||||||}{{{{z{{{{{{|{|}}|{z{z{{{{{|||{||z{{z{|zz{{z|{{{|{z{||z{z||}|{|||{|{z{{zz|z|{|~~~}}}}}}}}}}~}}}|}|||{{{{|}}{}||}{|{|{|}|||||{}}}{{|{{{z||{|{{}|{|{|{z{{{{{|}z{||zz{|{|z{{{|{||{{{|{{zyz{{{}{{|{{{z||{{{z{{{{{{z|{{zzzz{{{{{{{{{|{zz{zzz{{||{z{{}{z|z{z{{{|{{|{{{{{{z|{{z{{{{{{|{zz{z{{{{{|z{{{{|{||{{|z{{{{{{{}||z{{|{{z{|||||{{{y|{{z{{z{{|{|||{{|{{{{{{{|{{|||{z|{{z{{{|{|||{{{z{||{|z|{||{{|{{z{{zz{{{{|{{||||{{||z{{|{|}||{}{{|z{{{{||||||||{{|{|{{z{}||{|||||{|{{zz{|}|{|}{{{{||||{|{|||}}{|{{{|{|{{|}||}|}||z{|{{{|{{|||}|||{|{{{{|{{}|{}|||z{}{||}|{|}{|||{{{z{z{}||{||{|{{{{{|{{{{||{||||{{z{z|z{|{|{~~}}}}|}~}}~|}~}}}|||||~|}}{||}|||||{{{|{}}|}}|{{{|{z|}{|||||||{{zzz{|z{{|}|{||{{{{{{{{{|||{}{{|{{{z{zzzz|{z|{{{{zzzz{z|{|||||{{|{zz{{y{|{{{||{{{{{{{{{{z{{{|{{{{{{zzzz{{||{{{{{z{||zzz{{{zz|{{z{zzzzz{{{{{z{|{{{{z|}zz{{|{|||}{{z{{z{|{{{{||{|||{z{|{{{|{||{|{{z{z{yy|{{|{{{|{{{{|{z|z{|||{|{||{{{|z{{||{|z{||{|{{}{z{{{|{{{|{{{z{{|z||{}{{}}||{|yz{|{|||||{||||||||{{{}|||||{||{{{|{{|}{|||||{|{||{|{{||||}{||{||{}{{{|}||{||{{{|{{{{{}||{}}|{{|||{|||||||{}|{z{{||{||{||}{}|{{{{|{zz||}{|{|||{{z{{{z||||{||||{{{{z{{|{{||}}~}~}}}|~~~}}}~}}{|||{|||||}||}|{||{||{|{|||||}{|||z{|{|{||{{|||z|zzz{{{z|{{{||{y{{z{{yz{}{{||{{{{zzz{z{||{{|{zz{{|{{{z{{|{{|{|zzzz{{{{{|{}|z|{{{{z{{{|{{|{||{{z{|yzz{{{{{||{}|{{y{{{zz{{{{{{{|}{zzz{z{{|{|{{{{z{{z{{z{|{{|{|{|{||z{{{{{{{{||{}{{{{{{{z{|||{|||{y{{zz{{{||{||{{{|{|zz{{{|{|{}|{{{{z|{z{{||||||||z|{{|z{{{|{{{{{{|{{{{zz||||{||||{{{{{{{{|{|||}||{{{{z{{|||{}{|||z{{|{{|}||z||{||{||{||{|}{|}||}|{|{{{{||}}|}}}}|||}{{|z{{|||||||z{|{{{|{|{{|}||||{{{{{{{}|{||||||z{{{|{{|||{||||||{zzz{{||}{|}{{|{{{{{z{|}}{~~}}}~}~~}~}~}}|}||||||}}}}~}}}||||||{||||}}}}|{|{{{{{{|}{{{{{|{|z{{{z||||||{||{|zz{{z{|{|{{|||z{z{|{z|{||{}||{z{|{z{zz{||{||{zz{{zzz||||||{{}{|z{z{{{z{|{||{|{{{{z{{||{{|{|||{{z{{{|{{z|{z|||z{{{{z{zz||{|||{{z||z{z{{{{{{{{{{z{z|zz{z|{||{||{z{{|{{{{{{|{||||{|{{{{{||||{|{||{{{{|}{z||}|||{|z{{{||z}|||{|{{|{{{z{{{|||z{|{|{|{|{{||{||}{||{{}{{|{{{|{||||||{{{|{{z|||{}||||}{{{{{|z|}}||||||{|{|||||{|}}{}}}|z|{{|{|~{|}|||{{{|{{|{||}{|||}|{{{||{||||||{}}||{|{|{{{}||}}||{{|{|{{{{{|{{}||{|{|{{{{{||||||{}{|{{{{z|{|||~~~~~}}~}~}~~}}|||||||{|}}}}|}}{}|||{|{|{|||||{z|{{z{{|{{|{{||{z|zz|{{{|{{{||||{|z{{{z{{|{{{|{|{{z{zzz{z|{{|{|{{{z{z{{z{|{z{|{zzzz{{zz{z{|z{{{{zzzz{zz{{|{||{|{z{{z{{z{{{|{z|{{{{{|z{z{{zz{{|{{{{zzz{z{{{|{||||{z{{{z{{{||{{{|{zz{|y{|z||{{||{{{{{{{{{{{{z{{||{{zzz{{z|{{z{{{|{{{{{z{y|{|{||{}|{|{|{zz{||{{}||{{{{{{z|{||||||{|{z{z{{{|{{|||{|||{{{{{|{|{||{|{{|||{zz||||{|||||{{{|{{{{|{{||||{{{|{||{{|||{}|||{{{z{|{{}|||{|||{{|{|||}||||||{|{{z{||{||{{|{}||{{|{{|z}|{||}|}{{{zz{z{|||{|}{}|{z{{{zz{|{{|||{{{z{||{z{{|||~~~}~~}}~}|}}~}{|||{}~}}}}~}|}|{{}{z}||||}|~{|||{{{z|||{|{||}|{{z{{{{|{|{||{|{|{{z{z||z{{||zz{|{{{{{|{|{{{|{z{{{{zzz{{z|||{{{{z{z{{z{{{{z|||{{z{{zzz|{|{{||||{|{y{zz{{{||{||{z{{z{{{z{{{{|z{{{z{zzzz{|{{{|{{|{|{{z{{|{{{{}|{{z{{|z{{|||||{{}{{{{z{|{|{||{||||{{{{zz{|{{||{|||z||{|{{{||z|||}{{{||{{{|||{{||||zz{{{{{||||{|{{{{|{{{{{|}|||||||}{{{{|{{||||}|}{||{{{{|{||||}|||z{{|{{{{|||||}|{{||{|||{|}}|{}}|{|{{||||}||||||{|||{|{{}|{|||}{|{{||{{{|{|{||||z{{{{|{{|||||||||{{z{{{{{||{|{|||{{{|{|z{|{|||}{|||{|zzz|{|{{}~~}|~~}}~}~}}}}}||{}|}}|~}}||{}|{|z{|||{{|}|{{{{z{{{{|{{||{|{|{z{{{{{||{|{{|{z{zz{{{z{z{|{{{{{{|z{z{{|||{{{|{zzz{zzz{{{{{|{|{{{zz{z{{{|||{{{zzz{{{{z{|{{|||{{{zzy{z{{z{{{{z{{zz{{z{zz{zy{|{z||zz{{zz{{{{{{{{{z{z{z{z{{|{{{|{{z{{{{{{z{||z|{{{z{{{z{{{}|z{{{{z{{{{{z{{{|{|{|{{z{z{{z{||||{{|{|{{{{z{{{{{||{{{{y{{{{{{||{{|||{{{{{{{{||{}||{|}{|{{{{|z{||||}{|{|{{{{zz||}||||||z|{{{{{|}{|||||{{{|{|{|{|z|||{}||{{{|{z{||||||}}{||zz||||||{||}{{{{{{{{{|||{{||}|{||{{{||||||||z{{{{{{z{|{||}||{{z{{{{{||||{z|{{{{{{|{{|{|{}~~}~}~}}}||}||}{||}}||}}||{}{|{{}{|||{|||{{{{{{{{|||{|||{{zz|{{{||{{|{||zz{z{z{{z{||{|{||{{z|z{{{z||z|{||{{zy{{z{|z{{{|{zzz{{z{zz{|{{{|{|{{{{{{{z{{{||||z{{yz{{z{{{{{{||z{|zzz{z{{{{{|{|{{{{{{{{{|{|||{|z{{{|z{z{{z{{{{|{zz{{z{{{{{{|{||{{|{z{{{{{{||{}|z{{{{{{{{{|{|{|{{{z{{z|z|{|{z{|{{{{{{{{{{{||{{|||{z|z{{{||||{|}{{|{{{z{{{{}||}|{{{|{{{{{{|{||}||{{{{{{{z}{|}|{}||{{|{{{{||||||{|z{{z{||{{|||||||}{{|{|{{{}}|{||||{{{{{|{{}|||}}}|{{{{{{{{|{|||}|{{{||{{||||{|||||{{z{{{{z|{{|{{{||z{z||{{|{|||||{z{|{z{z|{z{{~~~}~}}~~|}{}||{}}|}}}}||{{||{||{|||{}||||{|{{{{|{||{{{~{{|{z{{{{|||{{{{|z{{{{z{z{|{zz|{{{{z{{{z{z{|{z||z|{{z{{zz|{z|{{}{|z{{{z{{{{{{{z{{{{{y{z{z|{{{{|{|{{{yz{{{{{z{{{{{{zzz{zzz{{z{{{{|z{zz{{{{zz{z{|{|zz{z{z{z{{{|{|||{zz{|{{{{|{{{|{|{z{{zzz{{||{{||{{z|{{{z{{{z{||||{{{{{zzz{||||{||z{{{}zz{|||{{|||{z{{{z|z{}|{{{|{{{|{{{{z|{||{|}|{{{{{||{{{{|{|}|{{{|{{zz{|||{}|}{{{{{{{{}}||{||||{|{{||{||{||}}|||{{|{{|{}}|}|}||{{{||{z||{|{||||{{{||z{|{|~|{}|||{{{|{{||||}}|}||{z{{{{{{||||{||{{{{{|{{|{|{{||{{{zzz{z{||{{~}}~}~}~~||}|}||}|}|}|}}}|{|{{{|{|{|||||}|{|{{z|{{{{|{{{||y|z{{{{{|{{{|{{z{{{{{{z{}{z{||{{{{{zzzz{{{{{|zz{{z|{{z{{|{{{{{|zzz{z{zz{||z||{|{{{zyzzzz{{{{{y|{zzz{{zz|{{||{|{zz|z{zyz{|{z{{{{|z{{zz{zz{z|{{{{{zz{zz{z{|{{{||{{zyz{z{{{|{{{||{{zy{{z{{{{|{|{{{zz{z{z{z{{{z{|}{{{{{|zz{z|{|||z{{{{{z|{{|||{|||||zz{z{zz|{{|||{|{{||{z{z||{|||||{{z{{{|{||{{}||{|zz|{{{{|||||||{|z{{z{{||}|}||{||{{||||{{|{||}||}|{||{{{{|}}||||{{{{||{{{|||||{||{{||{{|{{{|||}|{{|{{{{||||}|||}{||z{{{{{|||||||{{{{{{{{{{|{|||{|z{{{|zz{z|{{~~~~~~~}~}}|||}}|}||}~}}||}{{{{|||}||}||||{{|{{{{||}{{||{{{{{{{z|{|{{}{|{{{{{zzy{{|{{||{{zzz{{z{{{{{{|{{{{{{zzzzz{{|{|{{zz{z{{zz{{{{|{|{z{|zz{{{{{{{||{{{{{{z{yz{|{z|}zz{{zyzz{z{{{z{|{{|{zzzz{z{z{{z|{{{{{{{{zz{||{{|||{{z{{zz{|{{{{{{}{z{{{{{{|{{|{|||{{|z{z{{{{|{{||{{{{z|z{zz{{|||{|{{|{{{|{||{{{{}|{|{|{{{{{|||{|}|{{z{{{{z|{{|||}|{{{{{z}{{|||z|||{{|{{{z{|||}{|{{{z{{|{|{||{||{{|{{{{{{{z{|{||||}}{{{z{{{|}|}|||||{z||z|{}|{||||||{{||{{{|||}}|||}{|{{{{||||}{{||{{z{|{{{{{{|{{||{{{zzz{|{{||||}{{{{z{zzz{|{{{~~~~}~||}}|||}}|}~}}}|z|||{{{}||{||}||{||z{{z{{|{|{{{|{|z{{{{||{{|{|{z{zz|{{{|{|z||{{{{{{|{{z{{{z{{{}{{zzzz{{{{{|{{{{{{{{{z{z{||{{}{{{{{{y{z{{|||{||{{{{z{{z{z||||||{zzz{{{zz{|{{{z{{{{yz{{{zz||z||{|{{{{{{{z{|{{{}||z{{{|z{{|{|||||}{{|{{z{z|{{|{{{|{z{z{|z{{||{||{|{{{{|{{{|||||{|||{{z{z{z{|}||{||{{|{{{|{{|}{|{{{{|{{z{|{|}|||}||{{{{{{{|||{|{||}{|{|{{{{{|}}||||}||{{{{||}||{||||}||{|||{}||||}||{|{|{{{z|z}|||}}{||{{{{|{||}}||||z|{{{{}||||||}||||{|{|{|||}|{|||{{{{{{||||||{|||{{{||{{{||||{|{||z{zz{|{|z{~~~~}|||}}||}~}}~||}{|||||||}|||||~|{|{|{|||}||}|{|{||{{{{|||{||{||z{{z{{z{|||{z{|{{{{z{z{{{||{||{{{{zz{{{z{{{|{{{{zz{z{{{{|z{{{{{|{zz{{|{{{{|{|||{{{|zz{z{|{|||{|}{z{{{z{{|{|z{|||{{{{{z{zz{{{{}|{z{{z{{{{z||{{|}}{|{z{z{z{|{z{{|}|{|z{{{{{||{|}||{{|{{{{{||{||}||{{|{{{{{{||{{||||z|{z{|{{||||{|{|{{zz{{{{}|{|}||{z|{{{||{{{{||||z{{{z{||{||}|}}}|{|z{z{{|{|||||||{{{{}z||}}{|}}||||{{||{{}{|{|||{|||||{||{}}|}|||{|{|{{|}||||z|||{|{|{||||||{||||{|{||{}||||||||{{|{{{{|{{||||||{{{{{|{{||||{{||{z{{{{{||{||{~~~~~}||}||||{}}}}|}}}||{{|||||||{}|||{{|z{{||{|||{{|||{{{z||{{{||||{|z{{{zz{z{|{{||{|{{{z{{zz|||||{{{|{z{z{{{{{z{{|{|zzzz{{zy{{{{||||{{{z{{{z|{{|||}{|{{{zzzz{{||||{}|{zzzzzz{{{{{|{{{{zz{z{z{|z|{{{{{z{z{{{{{|{{||{|z{{{z{{{{||{||||{{z{{||z{||||{||{z{z{{z{|{{{}{|{{{{{{|{z{|{|{}||{{z{zzz{{|}{{|||||z{{{{{{}{{{|||{{|{z{{{||||{|{|z{{{z{{z{|{||||||{{|{{zz{||||||||{||{{|z|}|||}|}|{{{{{{{{|{|}|||}{{|{{||{}|{||||}{}|z|||{||||{|||||{|{z{{||{||}}{||{|||{||{{{|{|{z|{{{|{{}||}||||{z|{{z{{||||{{{|{{z{zz{{|}{{~~~~}}|~}|}|}}~}~|{}}|{z{||{||{|{||}|{{|z{z|z{{|{{{||{{{|{{{z{{{|{|}|{z{{z{{{||{{{||{{{{{z{{{|{{|z{{{{{z{{{z|{{{{{||zz{{zz{{zz{|{|{||{z{zz{z{{|{{||z|{{{{{z{zz|{{{|||{{{{{z{z{||{||{zz{|z|{z{{{{||||{{|{{{{z{{{z|{{|{{{{{{{z{|{{{|{{|{{{{{z{{|{{|z|{|{{{{{{z||||||}{|{|{{z{{{{|{{{}|}{{{z||z{||||{{|{{{z{{{{{{||{{|||{{{z{z{{{||||~|{{|z{z|{|||{}||||{{z{{{{|{||{||||}{||{{{}||||||||{{|{z{{{||}{|}{}|{||z||{||||}}}}||{{{|{||||{}{}{{{z{{{{|{{|}|{|||{{{{{{|||||||||{z{{|||{{|{||}||{{{{z{{{||{||}}|{{|{{{{{|{|{{||}{|{||~|}|}|~{}|{|{||{|{{}|}}}{z|{{{{{{|}|{{||||{z{{|{{|}{{||{{{{z{z{{{|{{||{|{{{{z{zz{{{{z{{{|{{z{z{z{{z||{|||yz{{yzz{z|{|z|{{{{zzzzz|{{|{||{z{z{z{z{{z||}{||{zzz{zz{z{{{{{{{{{zz{zz{z|z{{|{||z{{{zz{{||{{{||{{{{z{|z{{|{|||||{{z{z{z{{||{{{|z{{{{z{{{|||{||||{{z{{{||{{|{|{z{{{{{z{z|||{|{||{z{zzz{z{|||{{{||{{{{|{{|||||||{{{{{{|{|||{{}|||{|z{|{{{|}{|||}}|{{{{z{z{}}{{||{{|{|{{{{y|{{||||||||{|{{||{}|||||z{{|{{{|||}}||{|{{{|||{{||||||||{{z{{{{|{{|||}||{{z{{z{|{||||}}{{|{{zz{{||{{|{{|{|z{{z{{|{|{~}~~}}}||{||{||}||}}|||{{{|{|{{z|}||||{{{z{z|{|||{{|||z{{{|{z{z{{||{|{{{y{{{zz|{{{|||zz|z|zzz{{z{{{|zzz{{z{{{z{{|{|||{{{{z{zz{{{{{|z|{zzzzzz{z||z{{{{{{{{yz{{{{{{z{{|{yz{{{{z{z|{{{{{{zz{{zzzz{z{z{|z{{z{{zz{{{{{{{||{zz{{z{{z{||{{{}{{|{{zz{{{z{|{{|{{{{z{{{|{{|z{{|{z{{{{{{{{|{||{{{{{{z{{z|||{||{||{{|z{z{|||{{|{||{{{{{{||{|{{||||{{{z{|z{{|}|||}{|{{{|{z{||||{|||{{|{|z{{{|||||{{{{{{{{|||z||||{{{{{{||{{}||{{|||{{|{z{{z||||||{|z{{}{{{||{||{|||{{{{{{|||{}||||z{{{{|zz||{|{|||{{z{z{{{{{{}|||{{{z{zz{{|{{{{~~~{}}||||}|}}|}}|}}{|{|z}|{{||{{||{z|||z{{{|}}|z|{|{|z{{z{{|||||{|zz{{{{{{z||{{|{{|{{{{{z{z{{{{{|{z{zzz{{{|{{z{{{|{{zzzzzy{|{{{||{{zz{z{z{{{{{{{|{{z|{z{zzz{|{|{||{{{zzz{z{{{{{||||{{z{zz{z{{{{{|{{zzz{{zz{|{{{|||{{z{z{z{{{{{{{{|{{{{{z|z{{{|{}|{{{zz{{|z{{{{||||{||zzz|z|||{{|||z{z{{{zzz{|{{{}{{{{||{{{|{}|{||||{{|z{{{{{|}|{{|{{z|{{|{||{}{||||{{{{zzz{{||{|||{{|{|{{{|}|{||||{{|{z||{{|{||{||{{{||{|{{~|||{||{z{{{z{{|{||||||{{{{{|{|{{|{}|||{{z{{{{{|{{{|{||||{{{{{{{|||||}||{{{{z{z{|||{{{{{{{{{z{zz{{||~~~~||}}||||}||}}}}|||{{||{|{||||}||||||{z|{{{{{}||{{|z|z{z{{||{|{|{{{{z{{{z{{z{|}{|{{{{{z{z{{{{|{|{{{z{{z{{{{{{|||zz{z{zzz|{{|{z|||{{{zz{{{{|{{{||{{|z{{z{{{{{|{||{{zzy{{{{z{{{||{{{{{zz{{z{{|{|{|{|{{{|zz{{{|{{{|{{|{|zzz|{{{{|{|{{{{{y|{|{|{|||}{z{{{{{z{|{||{|{{z{{{z{z{{||}{{{{z{z{{{{{{{|z{|||{{z{{zz|{||{{|{||z|{{z{|{||{|{|{|}{z{|z|{||||{|{{||{{{{|}{{{{{|||z{|{{{||}}|||}|{{{{||{||||||||{{{{z{{{|||}||||||{{{{{|{{{}{}{{{{z{{z{{{{||||}}|z|||{|{{||}||||z{|{|||{||||||}|{{{z{{{{{|{{{{||{|{{{{{z{{{{{~}}|}}}}|}}}}}|}|||}|{|}{|||||}|||||{{z{|||{|{{||{{}{{zz{{{|{|{|}{z{{{zz|{{{{{||{{{zz{{z{{{|z{|{{{zz{z{{{|{z{{{{|z{|{{z{{z{|{|{|z{{{{z{{z{{{{{||{{{{zz{||{|||{{||{{zz{{{zz{{|{{|{{{z{{{{{{{|z{|{|zz{{{{{{{||{|{||{y{z{z{z{{|{{|||{|{{{zz{zz{||{||{{|z{{zz{||||{{||{z{{z{{{{{||||||z{z|{z{|{||{|||{||z|z{{{{{||||{{{{{{z|{|{{}|}||{|{{{{|{{}|||||||{{}{{z{{||{|{|||z{{|{{|}}||}|||{{{{{{{{{|}}||}}|zz|{{{||}|}|}|||{||{{z{{||||}||{{{{{z{{{{{|}|}||{{||{z|||{||||}{||z|z{||||}|||{|{{z{{|{|{{{{||||{{z{{{{|||{|~~~~~}}|}{}||}|}}}}~||}{||{}|}||{}}|{}|{{{{z{|}|||z||{{{{{{{z{{{{|{{|zz|{|{{{z|{{{|{z{{{{{{y{{|{{|{||z{z{{{{z{{z{|{z|{{{{{yzz{z|{||{z{{{zzzy{{z{zz{||{{{zz{|z{{||z{|{{z{{|z{{{{{{|{{|zz{{{zzy{{{|||{{zz|z{{{{{|||{{{|{{|{z{{||{{z{|{|{z{|{z|{{|{{||||{{{{z{z|{{||{||||{|{|z{zzz{{|||{{{{{{{z|{{|||{|{{{{{|{z{{{|{|{|{|{{{{{{{|||{|||{z|{{{||{{|{{|{|{|||{|{{{{{||||}{|{{|{{{{{|}}|||}{{{{{{{|||||}|{|||||{|z||}|{|}|||{|{{{|{|{}}||}|{{{{{{{{|{{{||}|||{z|{{{||{{}||||z{{{|{{{|{|}||}{{{{{{{{|{{|||}|{{{z{zz||||z|~~~~|}|}|{|}}|}|}|}|}{{{||{{||{{|||{{|{zz{{|{||{{|{{{{{zzzy|{{{{|{|zz|{y|{z{{{{{{||||{{z{{{{z{{{|{z{z{yz{{{|{{{{{{{{z{{{z{{{z||{|zz{{z{z{z{z{{z||||{{z{zz{zz{{{|{|{|{{zz{zzzz|{{{{{{|zz{{z{{{|{{||{z|{|{{zz|{z{{{||{{{z{{{{{|{|{{||{z|{z{{{{{z{}||{{{|{z{z{{{{|{{{{|{{z{{{{z|z|{|{{{z{z{{{{{|||{||{{z{{{z{{{z}|||{{{{{|{{{{||||||}}{{{{{{|z{|{|{{||{|{{|zzz{||||||||z|}{||{{||}|{|||{|{|{{{||}|||||{{{|{||{|}{|||||||||{{|{{||||||||{{{|{|{||{}|}}||||{{{||{|{|}|}|{|{{{|{{||{}{|}|}{z{zzz{{{|{|}||z{{z{{{{|{{|{~~}~}}|}||}}}}}}}}}}|{{{{|{|||||{|||z{{z{{||||||||}{{|{zz|z{{||{|{{|{{{{{{z{{{{{|{|{{z{{{z{{|||{||{{z{{z{{z{{{|{z|zzz{zy{{{{{{{|z{z{{{{z{zz{{|{{{||{{z{z{{{{{{{z|||{zz{{z{zz||zz{||{|{z{{{{{{z{{{{||{{z||{|{{{|{{}|{{{{{zz{{|{||{{||zz{zzz{|{||{{{{||{{z{z|||||{|{|{|{{{{|{{{|z|{|{{{||{{{{{}{|{}}{{{z{{zzz|||{{|{|{{|{{z{{|{}}|||}{z{zz|{{|{zz{||}{z||{z||{}||{|}|{{|||{||{|||{|||{{{{{|||||{{{|}}}|{{{|{||||||}|}}{|||{||||{||||{|zz{{|}|{{{}}|}|{||{{{|{|||||}}|{{{{{{{|{|{|||||{{{{{{|{{|||{|{|{{zz{{{{|{{|{~~~}|~}{}}|}}}}|~}}|||||{||}{}|}}|{{}|{{{{{{||{{|}|{{z{{{y{|{|||{}{{{{z{z{{{||z|{{|{{{{z{z{{{|{||{{{{zzz{z{z{{||{{{z{z{{{{{|{{|||z|{{z{z{{{{{z{{{{{z{{{z{z{{||{|{{|{z|{{{{{z|z{{z{|z{z{zz{z|{|{||{||{z{{{{{||{{|{{{{{z{zz{||{z{|||{{|{{{||{|{|}}{|z||{{{z{{||{|||{||z{z{{{{|{{||{|{z{z{{{z{|{|{|}||{|{{{{{{|{||{{{|{|{{|{{|z|||{||z|{{|{|{|{|||}|||{{{{|zz{|}||{|{|z{|{z{{||{{||||{|{{z{{{{|||{}|||{{{zz{{|~|{|{|{|z||{{{z{||||||||{{{{z{{||{|}}||||{{{|{{}||||{||{{{z{{{{z|{||}|||{{{{{{{z|{||{||{|{{zz{z{{|{|~~~}|}}}||}}|}~|}~||}{|||||{|}|||{|{|{{{{{||||{{}|{{|{{{{z{{||||{|zz|{{{||||{{{{|z|z{{{{{{|{{{{{{{zz{{{{|z|{{|||{{{{{{zzz{|||z{||{{{{{z{z{{{|{|{{{{z{{{{{{|{|{{|{|z{z{z{{z{{{{z{|{{{z{z{{{{|{{||||{{z{{{{z|{{||{||{{zz{z{{{{|||{|{{{{|z{|z{{{{|||{z|{|z{{{|{{{|{|||{{{{z{{|||||||||||z{|{{{|||{{|||{{|{{z{||||{{||{|{z||{{||||||}||{z{{{{|{||||}|||{{{z{{|||||||{||{{{{{|{|}|{{}|}z||{|{||{{}}|}|}||||{{|{{|||||}||{||{{{||}||{{}{||{{z||{{||{||}|||{{|{{{}{{}{|||{|}{||{||{|}||}{|{{{{{{z|{{||||{|{{z|{|z|||{|~~~}}}|}}}|}}{}}}}|{|||{{|}||}|}{{{{|{z|{||}|{{|||{{{z{{{{{{{{{||{z{z{z||{{{{{|{{{{{z{{z{z{{|{{{{{{{zz{{{{|{|{{{{zz{{z{{{{||||{|}zz{{z{zzz{{{|z{{{{{z{zz{{{{|z{{zzz{z|{{zz{{{z|{{{|{{z{z{|{|{||{{z{{z{z{z|{{|{{{|{{|zzzz{{{{|{|{{{zz{{y{{{{{|{{|{{{{{{{z{{}||{|||{z|{|{{z{|||{||{{{z{z{{z{|{{{|}{|{zz{{z{{|{{||{{zz|{z{{{{|{||{}|{|{{{{z{|}{{|{|{|{z{|{|z|{{{{{|||z{{{z{{||||||}|||{|{{{|{|{||||{|z{|{{|{|}}|}}|||{{{||{|||||||{||{{{|{{{||{{{}}}{{{{{||||}|}|}||}||{{{z{{{|||||}zz{|{{{z{z{|{{|{z{|zzz{z{|{||~~~|}}|}{|}}}~}||}|||{||||{{{||{|}|{||{{{z{{||||||{z{|{zz{zz{|{{{{{z{{{{zzzz{{{{|{{|{{zz{{z{{|{z{{{{{{{z{{z|{{{{{{{z{zzzz{z|{|z{|{{{zzzzzzz|{{{{{|{{zz{zzzz{{z{{|{{{|zz{{|z{{z{|{{{y{{zz|z{{{{z|z{z{zz|z{{z{{||z|||{z{y{{{{{{{{{{|}{{|{zzz{|z{{{|||z{zz{zzz|||||{||{|z{{{{{{|{|{||{|{{|{{z{{||{{{{{|{{{{{{{{{{|{{|{|{{{{{z{|{|{||||{{z{{{{{}{||||}||{{z|{{{{{||{||||{{{|{{{|}|{|}}|{|{{{|||{{{}}{|}|z{{{{{|{|||{||}|{||{{|z||{||||{{{{{{{z{||||||||{{{{|{{{|{|z{|}|{{|{{{{{z{{z{|||{z|z|{z{{|{{{|{{|{{{zz{z|{{{{~~~~||}}|{|}~|}}}}}|{{|{|{{|{||{{{||z|{{{{||{}{{|{||{zyz{zz||{|{|||{{zz{y{z{{|{{{{{z{{{z{z{|zz{{|||{{{zz{zz{zzzz|||zzz{zz{{z{|z{{|z{z|y{zz{z{{z{|{z{zz{{{yz{|z{{|{{zz{|zzzzz{{z{{{|{{{z{z{{z|{{{{|z{{{zz{yz{{|{{{|{{zzz{z{{{{{{{||{{{{z{z{z{{{{{|||{z{zz{{{|{{{{|||{zz{|z{z{{{{||{{|{|z{{{{{{{{||}{|{z{z{z{{{|{z||{{{{{zz{{{|||||||{{|{{|z{z{|}{||||z{{{z{{{|{|{{|{|{{{{{{{|}|||{||{{|{z|{{|{||||{||{z|z|{|||||||||}{{|{{z{{|{{{|{{{{|{z|||{||{|||}}{{||{{z||{|{}{|{{{z{{z{||{{{{}||{{{zzzz{{{||{|{{z|z{z{{|{||{~~~}}}}}}|~|}|}}||{z|||{{||||}||||{{{{{|{{}||z|{||{|{z{zz{{{{{{{{{{zzzz{z{{{{{||{{z{z{zyz{{{z{{{{z{{zzzz{{{{{{{{{zz{{zz{z{{{z{{||{{{{{{z{|{{|z{{|{|zzzzz{z|z{{||{{{{{{zzz{|{{{{y{{{yzzy{z{|zz{|{|zz{z|z{z|{|{{{|{{{z{{{{z{|{|{||{{z|{{{z||||{{|{||{{{z{{z|||{{{{{|{z{{{{{|{}{||zz{{{{{{z{{{||{{{||{z|z{z{{|{{{{{{{z{zz{{{{|{{}{}{z{{{{{{{{|||{}|}{z{{{{zz|{||}||||z{z{{{||{{|{{|}|{{{||{|||{{|{}{{|{|zz{{{}||||||}{|{{|{{{{{}||{|{{{zz|||{|||{{{}||{|||{{|{||||{|{{{zz{{{||z|||||{{z{{z{z{||{{|||{z{zzz{{|||{{~}~~~|}}|{}}}}}}~}}~}|}{{|{{|{{|}||}|{|{{{{{{{|{{||{{|||{{zz{{||{{|||{{z{{{z||{{z{{|zz{{{{{{{{z{{|z{{z{z{zzz{{{{|{{{{{{{{z{zz{{|{{{zzz{zz{z{{{{||{{|{{|{z{z{{|{||||{{z{||{{zz{{|{{|{|z{z{z{{z{{{{{{{{{{zz{zz||{|{{|{|{z{{z|z{||{{|||{{z{{z|{{{|{{||{z{|z{{{{{||z}|{|{z{{{{{{{{|{|}|{{z|zz{{{{|||{|}|{{{{zz{|{|{|{|||{{|{z{{{|{|{|{|{{{{{{||{{||||||||{{{{{{z||{||}||}z{{|{{{||||||||{z|{{{|{||||{|||||||z{z||||}|||||{{|{{{{||}|||}|}|zz{{{|||{{{{|}||{{{{{{||}|||{|{|{{{z{{{|z||||||{{{{{{{||{|{{{||z|{{{z{|{|{{~~~}}}}~~}}|}||}~~|||{||{{||}}||}||{{{|{||||{|||||{z{{||zz{|{{|{||{{{{{{{{||||z{||{|{zz|{{|||{||{z|{{{z{z{{z{||{{{{{zz{z{{z{{|{|{{|z{{{|z{{{{||{{||{{z{zz{||{{|{||z|{{zy{{{{{|{|{|{{{z{{{{{|z|z||{{{{{{{z{{|{{{{||z{{z|{{{{||{{}{|{z||zzzz|{||{|||{|||z|z{{{|{{|}{|{{{{{{|{{|{|||||{|{{{{z{{|{{}}|{|{{{|{{{|{{||{{|{{||{{z||}||||||{{{|{||||{|{}|{|z|{{{|z|}|{|||{|{{{|{}z|||||{||{|z{{}||||||{||||{||||{{{}{|||{|}|||{{{}}|}||||{{{{{{|{||||||||||||||{{||{||}|}}|{{{{{z{{|||}|||{{|{{{|{|||{{{||{{{{{z{{{|||{~~}~~}~~|}}}|}|}|~}}||{|{|{}|{||||||{|{{|{{|{|{{||||{{{{||{{{||{{{{{|{{{{{z{{{{{{||{z{z{{y{{|{{{{}{{{{{z{zzz{|z||{{{{zz|zz{{||{|{{{{{z{{{z{{{{{{{{|{||zz{{{{{|{{||{|{{{|{z{{{{{z|{|{{{|{{z{{{{z{|{}{{z{zz{z{{||{{||}{z{{z{|{|}{||}|{{{{z{{{{{|{{||||{{{{z{{{{||{}|{|{{{zz{|{||||||{{z{{z{{||||||}|{z{{{{{z{|||{{}{|{{{|{{|{{||}||{|{{{z{|{|{|||}|||||{{{{{{|}|}}}|{{{{{|||{|}||||||{{||||}{|||||~}}}{||{{{{||||||}}}{||{{{{{|||{{|{|{z{{|{{{|||||||}|{{{{{||||||}|{{{{{{{z{||{||}}|||{{z{||{{}||}|||{{{{{|{|{|{|~~}}}}||}|}||}|}|}|||{{{||||}{|~}||{{|z{{|}{{{}||{{{z{{{|{{{|{||||{{{{|{{||||{|||{{{z{zz{{|||{|{{zz{z{{{{{|||{{||{{{z{z{{}{{|{{||||{{z{z{{{{z}|||{{z{z{z{{|{}|{{|{{{{{{{{{{{{{{|}{{{{{{{zz{{{||{{zz{zz{{z|{{|{|||{{{z{z|{||z|}|||{{{{|{|{|{|{{|}|{|{zz{{{{|{{|{||{|{{{{{{{{||||{}zz|{z{{{||{{{||{|{{|{|z{z||{{}{{{||{|{|{|{||{||}{|{||{{z{|{}{{|}zz{|{{{{{{||}|}{{{{{|{{{}}|||||}|{{{{{|z{||}|}||{|{||||||}|||{|}||{|{{{||||||||||{{|{{{||{||}||||{{|||||{||||{|}{{{{{|z|}}{||{}{{{{{{{{{|{|{||{|{|{{{{z{{|}z|~}~}}}||||}|}|}|}|{{{|||{|||{|||{|{|{{{{||||||{}}|{zz{{|z{{||||||{{{z{{zzz||{{|||{{{{{{z{{{|{{{|{|zz{{z{{z{{|{{|{zzz{{z{{{{|z|z{{{{{{z{z{{|{{{|{{||z{y{{{{|{{{||{z{{{{{{z{|{|z{{{{{zzz{|z{{{|{{{{z{{{zz{zy|{{|||{{{{{zz{z{|{|{{|{z{|{{z{{|{{{{{{||{{z{zz{{||{{|||{{{|{{|{z|{|||z|{z{|{zzz|||{{{||{{z{{{{{|{|{{|{{{|zz{{{{{{{{|}|{{||z|{{{{|||||}||{{|{{z{|{||}||{}z{||{{|{||{{}||{{{{{{||{||{|||||{{|{{{{{|||||}||{{|{z|{}}{||||{||{{{{|{||z||||||{{{}|{|{|||||||||{{{{||{{|||||||z|||{{{|||}{{|||{{zz{{{{|{{{~~}}}}|||}|~}||}|{}{{|{{||}||||{{{{{{{{{|{{{|{{|{||{zzz|{|}{|{|{{{z|z{{|z{{{{{|{|{z{{{zz{{||{{{|z|zz{{z{{{{z|{|{{z|{z{zy{{|z|{{}{||{z{{zz{{|{{|{{{{{zzz{z|{{{||{{|z{{{z{{{{{{{{||{zzz{|zzz{{{z||{{{{z{{z|{{{{{{|{{{{{{z{{{{{{{{|||z{{z{z{||{|zz|}{{{{{{z{|||{{{||{{{{{z{z|{{{|||||z{z{|{z{{|{{}|{{{{{{{z{{}|{|{{|{{{{{{z{|{{{|{|}{|{|{||{||{||||||zzz{{zz|{||}{}{|z{z|{{z|}|||||||}{{{{|||{{}|~|||{{{|{|||}{|{{|}{{{{z{|||{{|||{|}{{{zz{{||{|{|||}{{{{{{||||||||}{{{{{{{{|||{|{{||{{z{|{{||{|{{{|{{{|{y{z|{{||~~~~}~}|}}|}|}|}}}|}}|}z{|{||{}|||}||||{{{{{{{|||{}{|{{{{{|z{{{{{|||{|{z{zzz{||{|||||{z{{{y{||z{{|{{|{{z{{z{||{|{{{{zz{{{zzz{|||z||||{{{zzz{{|{{{{{||{{zzz|{||{{{{||z{{z{z{z{}{{{|{{{z{z{zzz{|{{{{{{{{{{{{{z{z||{||{{{|z{y}{|||{{|{|{z|z{z{{|z{{z|||{{|zyzz|{{|{{||{{{{{{z{z{|{|||}|z{{{{{{{||{|||||{{||{{{{{|{{{{||{z{{z|{{||{|||{{||{{{|{{||{}{{||z{||{{{{{||||{||}z{z||{|{}|{||}|||{{{||{{||{}||||{{{{}z{|||||{}||{z{{{{|{|{}||}||z{{{{{{|{{|}{}||{{{|z||||||{}|}|{{{{|{z{||||||||{|{{{{{{{|||{|{|z|{z|{{{{|{|~~}~}|||}}{|}}|{||}}z||z{{{|z}|{}|{|{{|{{z{z{{{|||{|{{{z{zzz|||{{|{|{{{zzzzz{{|{{{{{{{{z{{zz{{{{{{|{{|{y{{zz{{{{{z|{{{z|{yzz{{{{{{{|z{{{y{{{z|{z|{{{{z{{z|zz{z{{{||z{z{{{z{z{{|{{{{|{{{zzzzzz{{zz{{|{{zz|z{z{|{||{||{{zz{zz{{{|{{||||z{zzz{{z{{|{z||{|{{z{z{{||{||||{{{{zz{zz{{|||||{{z{{z{{{||{|{||{{z{{{|{{{}{{}|||z{{{|{{{||{|{||{{zy{{{{{{|||||{|{{{{{{z|{||||}{{{{{{|{z|||||{|{|{{z|{|{{||{|||||{{{|{{{||||}|||{{z|z{z{{|||{{|||{{{z{{{|{{|||}||z|{{|||{|}{{|||{{|z{z{y{{{||{{{{||z{{{z{|{|{||{{|{zzz{{{{{{|~~}~~}||||{}||~}||||{|{|{||{||{||{{{{{{{z||||}|z{|z{{yzz{{|{{{{|{|{z{{{{zzz|{z{{|{{{|z{|z{{{{{z{{{{zz{zzyyz{{{{{{|{zzzz{z{z|{|{|{{{z{zy{yz{{{z{|{{{z{zzzz{{z|{{{{|zz{|zz{zzz{{{||{z{z{{{{{{{{z||||{{{|z{zz{{{|{z{{{{z{z{z{z||z{|{{{zz{z{|z{{{{{|{||z|{{{{{z{{{{||{{{{{{zz{z|{{{|||{z{{z|z{{{{{{|||{{{{{{{{||{|}|{|{{{|{{z{|||{||||z{{{{{|{||||{||||{{{zz{z{||{{|||{{|{{z{{||{{||||{{{{{|{z{|z|{|||}{{{{|{{{}{|{||||zz{{z||}|{|{|||{{{{|{{|{||||||}|{{||{{{||{{||{|{z{z{{{{{{{|{|}{||{z{{|{z|z{{{|{{{{|z{|{{{{||~}}~z|~}||}|||}}}}{|z{{|z|{||{{{||zz{{z{z{{||{||||{z{z{{z||{{{{|{{{{z{{{{{|{{{|||{zzzz{z{{{z|{||{z{{{{{z{{{{|{{|{{{zyz{zzz{||{{{z{{z{y{z{{||{|{{}|{z{{{zz||z||{||{zzzzz{z{{z{{{{|{{{yy{zz{zzz{z{{{{{{z{{z{{{{{|{{{{z{{{z{{{|{z{}|{z{z{{|z{||{{{{{{{{{zzyz|{{{||||{zzzzz{{{|{z||||{{{{{z{z||||{{{{|{z{{zzz{{|||{|{{{{{{zz{{{|||{}{|{{||{||{{||||{}{|{|{{{{{|||||{||{{{|{{||||||||}{{|{|{{|||{{|{||{{{|{{{|{|{|||}||zz|{{{|}{||||}{}{{{{{{{{|{{||||{{{|{{|{||{||{{|{}{{{z{{{{|{{|||{{{{{|{||{zz{|{|{||{{{{{{{||}~}~}}|}{|}{~}}}|}}|}{{{|{|{{||{{||||{{|zz{{{{{}{|||||z{z{{{||||||||{{|{{{{zz|z{{{{|{{zz{{{{z|{{z|{{{z{{{zyz{{|{|{{|{z{{{yz{{{{{{{|{{{z{{zz{{{{{{{|{{zz{{{zz{|z{{{|{z{{z|z{z{{|{{{{z{z{{{z{yz{{{{{{||{z{z{z{||z{{z{{|{|z{z{z{{{|{{||{z|{{{{{z{{{{|{{|{{z{z{{{{{{{|||{{{{{{{{{z}{z|{zzz{{{{zz{{{|{}|{|{{{z{z{|{{{{|||{{z{{{z{{||}{|||z{{z{{|{||{||{{||z{||{{{|}||{|||{{{z|{zz||{||||||{{{|{||{|||||||||||{|{z{}|}|||||{|{|{{||{{|||{}|{||{z|{{|{{|}|||{|{{|{{{{||||}{{z|{||{z{{{{{||||{|{{{{z{|{|{|{{{z{zz{{{||{||~~~~~}}}}|}}}}}}~}}}}|{{{{{{|{{}|{|}|{||||{{{{||{||||{|{z{{z{||{||||{{|||{{{{|{{|||{|{{{{z{z|{|||{|{{{zzz{zz{z{}{{{{{{zz{zz{{{{{{{|{{|{|z|z{{||{{z{|{|{{z{{{{|z|{z{||{{{zzz{y|{{|||z{|{y{z{zz}|{{|{{{{{{{|{{|{|{{|{|{{zzz{{{z}|{{{||{{z{{z{{|}{{{{|}|{{{{{{{{|{{|||{z||{|{{{{||{{||||{|{|{z{||}|{||{z{|{{{{||{|||||||{z{{{{{{|}|||||{||{{{{{||{||||}||{{{{{{}||||}|||{{||{{z|}}|||}}|{|{y{{}{}{}}|||||{{{{||{}||{}{}{|{{{||||}||{||{|{{{{{|{{{||||}}{{{{|{z{{|||||}}{||{|{{||||{||}}|{{{{{{{{||}||||}z|z{{{{|||{|~~~~~~}|}}}||}}||}}~|}{{||{|z|||}}||}|{{|{{zz{{||||{||{{{z{{z{|{{{|||||{{{{{{z{|{z{||{{zz{{{{{z{|{z{{{{z{zz{{z{z|{z|{{z{zy{z{z{|{{zz|{{{{{z{z{{|||{{{{|{{|zz{z{{||{{|{z||z{zzz{{{zz{|{zzz{{{{{z{{z{|{{{z{z{{{{{{{z{|{|{{zz{z{||{||{{}||z{{z{{{{{||{|||{z{z{{{z{{|||||{||{{|z{{|{|{|{{|{|{z{{{{|{|||{|{{z{z{{{z||{|||||{{|z{|{{||||||||{|{{{{|{{{|}||||{{z{{{zz{{||||}|}z{{{zz{||||}|||{{{{|{{||||}|||||{|{{|{{|}|}|{}||{|{|{{z{|}|}}}|}{|{|z{{|{|{||||||{{{{{}||{||||}{}{z{{yz{||{|{|}|{{{zz{{{|{||{|{{|{z{z{{{}{|{~}}}}}~|}||}}||~}}||}|{{|{|{|{|}}||{{{{z|{{{||{||||z{z{{{z{||}{||||z{z{{{z{|{{{{|||zzzz{{{{{|{{|{{{zz{{zzz{{{{z{{||y{{zzzz{|z{{|{|z{z{zzz{|{{{|{|{{{{z{{zz{{zz|{{{{{{{zzz{|{|zz{{{{{{z{{{z{{{{{z|{{zz|{{{{{{||{|{|{{{{{{zz{||{|||{|{{zz{z{{{{{||{|{{{{z{z{{{{|||{|{{|z{{{z|{|||{{}|z{{{{{{{{||{{|{{z{||{{{{|{|{||{{{|z{|{{z|}|||||{{{{|{{{|{{|{{|||{z{z{z{{|||||}||{{{|{{|||||{|}}{{|{{{||{||||}|}|{|{|{|{|}{}|||{}{|{{{|||||||||}|{z|z{{{|||||||||{||||{|}|||{{{||{|{z{|{}|}{||}||{{{{{{{{{{||||{{{|{zz{{|{|{{~~~~~}{}}|}{|}}~{}|}||{{{{{|{|{|||||||{{z{{{{{|{{{{{||{{|{{|z|{|{{|||{{|z{{z{{|z{{|{{{{{zzyz{{||{{||{z{{{{{{z{{{{z{{{{{{{z{z{z{z{{{|{{{{{{{zz{{|{|{{||{{{{{zz{|{{{|{|||zzz{{{z{{{{{|{z{zz{{{z{{{{{{|{{{z{{z{z{{{{|{|||z{z{z{z{|{|{{||zz{{{{{{{{{{|{|||{z{z{{{|{{||||}{{{{{zz{||{{z{{{{{{||||z|}||{z}z{{{{|{{{|||{{{}}z{{{|z|{{|{{{}|{{|{{{{|{|||||{}{{|{{zz{{||{|||||}{|{{{|{{||||||||{|{|{||}|||||}|{|{{z{{{|}|||}|||||{{z{{|}||||}|}{|{{|{{|||}|||}|{{{{{z{{||||{|}|{|{{{{{z|}|{z|}{|z|z{{{|}{||{||{{{{{z|{{|{|{~}~~}}|}|}|||}~}}{}||||z{|{z|{{{||||}{{z{{{|{{||{{{|{{||{{|z|z{{z|{|{{|z{{{{{||z{{|{{{{z{zz{|{{{{}{{z{zzz{zz{{{|z{|{zz{z{{yzz|{{{{{{{zz{zzz{|{|{|{{{{{{z{z{z{{{z{{|{{{zz{z{yz}{zz{{{|{{z{z{{|{{{{|||{{{z{{z{{{{{{|{|{{{z{z|{{|{{|{|{{{{zz{z{{{|||{|{{{{z{{{|{||z{|||{{|{|{{z{||{||{{zz{z|z{zz|||{{|{|{z|z{{{{||{|||{||{{{||{{||||||{|{{{{{{|{|{{{|{|{{z{{{{{|}|{||||{{}|{{{{{|{z{|}{{{z{{{{|{|||||}{{{{{{|||{}{}|}|||{{{||{{|||||}}|{z{{{|{{|||{|}||{{z{|{{{}{||{}|{{{|z{|{{||{|{||||{{{{{{z{{|{{{|{{{z{z{{z|||||~~~~~~}}}}}|||{|}~}}|}{||{{|||||||}}||{{{{z{{||||{|{|{{{{zyzz|z{|||{}zy{z{{{{{z{|{|{{{{z{{zz{{||z{{{|{{{zyz{{z{||z{}|z{zzz{{{{|{zz{|z{{{zz{z{|{z{|{{{|y{{{{{z{|{{z{|{{{{{zz{zz{{{z{{|{{zz|z{z{{{{{z|||y{{{z{{{|{{|{{{{z{zz{{{{{{{{{{{{|{zzz{{|{{|{{{||{{{z|{{{{{|||}|{{|{{z{{{|{{{|{||{z{|{{{|z{{{||||{z{{{z||{{{{{||{{{{{{z|{|||}{{|z{|z|z{|{|||{|||||{{{z{z{{|{{{}|{zz{z|{|||||}|}|{{{{|{{z||{||||||{{{|{{{{}|{}}|}|{z{{|||||||||{||{{|{|{z{|{{|}}}{{|{||{|||||{{{}|{{z{{|{{}|{|||{{{{{{{|{{{{|{{||z{{{{{{z{|{{{~~~~~~}~~}|{||{|}}|}}|||||{|||{{{{{|||}{{{{{||{{{||{||||||{{{{{yz{|{{{||z{{{{{{zz{{{{{{{{zzzz{{{||{z{{|||{z{z{|y{|{{{{{{zzz{{y{z{|zz{{{{zzyzz{z|{{{||{|{z{z{z{zzz|||{|||{zz{{zzzz{z{{{|{z{{zzzzzz{{|{{||{{{z{{zz{z|{z{{|zy{z{{zz{{{{z{{{{{{{{{zz{{|{{}{|{z{zz{{{z||{z{|{{{{{zz{z{|{{||{{{|{{{{{{z{|{}||||{z{z{z|{||{{{||{z|{{{{{{{{|||{||zzz{{|{|z{|{|{|{{{||{{{|}||{||{}z{z{||{||||{||{|{|{|||{|||{|||||{z{{{z|{||}|||||{{|{{{{{|||{}|||z{|{{{|{|{|{|{||{{|{{z{{|{|{{|}{{|z{{{{|||{{|||{|{{{zz{{|{{||||{{|zzz{y{|{{|}}}~}~}}{}}|}|}}}{||}|||{||{||{|||z|||{{{z{{zzzz{|z{z|||{y{z{{z|{{{{{||{{z{{{{z{{||{|{z{{{{zyzzzz{{{}|{{zzzzz{{{zz{z{{|{yzzzz{z{{{z{{|zzzzzz|z{{{|{zzz{zz|{zzz{z{{{{{{{{z{{zzz{{z{{z{{{zz{{zz{y{{{{{|z{{z{zz{zz{|z{|||{{{zy|zzz|||{||{{{zz{{zzz{{|{{{|{{z{{z{z{z{{|{{||z{zz{{zzz|{|z{|{{{{{zz{{{{|{z{||{{{{|{z{|z{{{{{{z||{|{z|{z||||||{z{{{{{{|}{{|||{{{z|{{z{|{|{|||{|z{z{{{{|{{||{|{{{z{{{}{|{||}||{||{|{{{{|}||{||||{||{|{z||||{{||{{|{{{{{{{|||{}|{z{{|z{{{||{{|||{|{{zz{{{|{|}{|||zzzz{{z|{{|||||{{{zzzz{{{|{{~~~~~}|}}~~}}}}}||{|}}}}|~|||{|{{|{|{|{||}{|{|z{{{{|{{||||{|{{{z{zzz|{{{|{|z|{zz{z{z{{|{{{|{{{{{{{{|{|{{{{z|z{{z{{{{z{|{||{{zz{{z{z|z|{{{|{{zzzz{z{{||z{|{|{z{zyzzy{z|{|{{|{{{{{{z{z{{z{{{{{{zzz{{z{{{z{|{{z|z{{|{{z{{{{|||{z{z|y{{{||z{{||{{{{z{|z{{{{|||{{{{zzz{{{{|{|{}|{{{{{zz{{|||||{{{{{z{{z{{{|{||||{|{{{{z{||||{|{||{{|{{{z|{|||||{|||{|{|z||{}||}{{{{{||z{|{}{||||{{{||z{{|}||||||||||{||{{{|||}|||zz{z|{{{|{}||}}{{{|{|{{|{||||{|||z{{|{|||{||}}|{{{{||||{||||||}{{{{{|{{{|{|{{}||z{||{z{{|}||||{{{{{{{{z{||{|~~}~~~~~~~}|||||{~}}}|}}}|{{||{{{}|{|{||{{{{{{{{||||{{{{||{{{z{{z{|{{{{||{z{{{zzz{|{{zz{{|{{{{zz{{||{||{{{{{{{z{z{{{{z||{zzzz{zzy{{|{{{|{}z{{{{zz|z{{{{|{{{z{zzzz{zz{{{|{zz{{zzzyz|{z|{{{|z{z{z{zz|{{z{|{zz{{{{{{z{{{{{|z{{{z{{{z{{|{{||{|zzz{z|{{z{{{{{|{{z{z{{z|||{{||{zz{{z{{{||{{{|||z{{{{{y{|{|{{||{{{{{{{z{||{{{{{{{{{|{|{{{||}||{|{{{z|{{{|{|{{|||{{||{{{z}|{||{}{|z|{{{|{|||}|||||z{z{||z||{{||||||{{{{{z{{|||}||{|{{{{{{}|||{||||{{z|{{{{|{|||}|}|||||{||{{|||{{z{{z{{{z|||{|}}|{{{{{{{{{|{{{||{|{zzz{{{{{{|{~}~~~~~}~~}}}|}}||}|||}}}}{||{||}{}|||||}||{{z{{{{{|}{{||{{{|{y{{||{{}|{|||{{zz|{z||{|{|}|{{{|z{zz{{{z{||{z{{{z{{z{{z{{{{|z{{{{zzz{z{{|{|{{z{{{{{{{{{{|||{{{z{z{{{{{{{|||{{{{|{{z{z|{{||||{{{z{{{z{|||{|||{{{{{z{{{||{{|}|{z|{|z{{|{{|{|||z|{{{z{{}|{{||{}{{{|{|{{|{{|{{||z{||{z{{{{||||{{{z{zz{zz{{{{{|||{|||{{{}||||{|}{|{{|||{{||||}|}{{|z{||{{|{||{}||zz|{{{{z||||||{}}{{{{|{z|}|{|{|}||{{|||{|||||}}||{{{{{{{{~||}|||||{|{{|{}}||||||{{||{{{|{||}||}||||{|{||||||}|}|{{|z{{|{|}||{|}||{|{{z|{||{|}|}|{{|z{{{|{{|{{~~~~~|}~~}|~|||}{}}~}|}}}|||||||}}||||}|||{zz{{{|{{{|{{}|{{{{{|{z{{{|||||{{{{{{|z{|||{{||{{|{{z{|{{{{||{zz{z{{{{{z|{||{{|{z{zzzzz|||{{{{|{{z{{{zz|{{|||{|{{{{{z||z{{|{|{||{|{{z{z{{|z{{|{|{{zz{|{{||{{||{z|zz{{{z{{{|{|||{{{{zz{z{{||{{{|{{{{{z{z||{{||{|{||{{{z{||{|{|||{{{{{{{z{|||{||{|z{{{z{{{}|{{|||{{z|z|{|||~|}|{|{{{{{{{{||}|{|||{||{{z||{|||||||{{{{{{{{|}|||||||{{{|{|{|||{||||||{|{||||}||||||}{{|{{||}}|||||||{|{{{{||||}|}|||{{{|{{{{|||{||||||{|||||||||{|||{|{{||{z|{|{{{||{z{{z{{||||{{|||{{|{{|{||{||~~~~}|~~}}~~||{|}||||}}}|}}}||{z{{{|||||}||||{||{{{{||}|{{||{{{{{z|{{{|||||}{z{{{z{z{{{{z}||z{{z{zz{{|{{{|{|z{{{z{z||{{{z{{|z{{{zz{{|{|{{{|{|{{zz{z{zz|{{|{|{{{{{{zz||{{z{|{{{{{{z{z{{{{{{|||z{{z{z{z{{{||||{z|{z{{z{{{z||{{{{|{{z{{z||{|{|}{{{{{z}{{||{||}|{z{{{{{{{{||z|{||{{{{{{{{|{}||||{{{{{zz{|{||{{||{{{z{{{|}{|{{}||||{{{|zz||||{|||{|{{{z||{||||}||{{{{|{{z{||||{|||{{{|{|{|||{|{}|z}{z||{{|{|{|||{}{{|{{|{{}|||}|}}{||{|{{|{||||{|{{|{z{{||||||{|{||{z{{{||{{}{{{}|y|{|{||{{{|||}|{|{{{|{z{|}|||}|{|{z{{z{|{|{{~}~~~~}}~}}~~~~|||}{|}|~{}|}|}{{|||{{{|||||||||{{{zz{||}|{{||{||{|{z{{|{{||{|{{{z{{zz{{{{z{z|{{|{zz{{z|{{|z|{{{{{z{{{zz{{{{{{|{{y{{z{z{{{{{{{|{z{{zz{z{{{{|{||zz|{z{z{{{{|{{||{zz{yzzz{||z{{{{{{{zzzzz{|{z{{{{{{{{{{{{{{||{|||{{{{z{{z{|{{{|||{z{z{z{{|{{|{||{{z{z{{{{{{{|{{|{{{{|{{{{{|{|z}||{{{z{{{z{|||{}|{{zz{||z|||||{||{|{zz{{{|||{{}|}|{{{{{{|{{||||}||{z|{|{{{{|||||}|{z{{{{|{||{|||||{|{{z|{{|||{|}||}{}{z||{{}}||}|||z|{{{|{}{|{|{}||{{{{{{z|{|||}}|{{{|{|{{z{}}||}}|{{{{{{{|{|}|}}{{{z{{{{{|}||{{{|z|{z{z|{{|{{|~~|}}~~}~~}}|~||{|{||}|||}||||{|{||||}||}{}}}|z{{{{{{|{{|{|}|{{{{{z{{{||{||||{{{{{zzz{|{{||{{|{{{{{{{{||{z{{{|yzz{{zz{{{|z|{|{{zzz{{z{{|{{{|{z{{zz}zz{{{{||||{{{{z{{{{{{{||}{{z{{zz{{z||{{{{{|{z{{{{{z|{{||{{{{z{{z{z{{{{{|||zzz{zz{{z{|{||}|{|{zz{{{{z||{{{|z{{{zz|{{|{{{{|||}{{|z|z{{||||{||{{{{{|{|{{{|||{{{z{{zz{|||z{|{|{|{{{{{|||{|{}|}{{{{||||||||{||||{||{{{{{{||{}|{{{|{{z|{|||{|{}|{|{{{{|{|||}|||||||{{{|{|}||}}||{{|{{{|||||}{}|||z|||{{{||zz|}|}}||{|}{{|{||}||}|{|z{{{{||||{}}}|{z{{z|{|||{|||||||{z{{{{{|{{~~~~}~~}}}|}}}}}}|}}|}||||}|}}}~|}}{|{{|z{||{||{|{{|{{{z{{{{{{{|{{|{{{zzz{|{||{{{}zz{z{z{{{||{{{|{{{|{{z{z{{{{{{z{zz{z{z{{||z{{|{zz{{{{zzz{{|{{|{{{{z{z{z{z{{{|{|{{{{{zz{z{z{{{|{|{z{{{{{y{{{{{{{{{{{{z{{z{{{}{|{{{{z{{|{z{{||{{|{|{{zz{|{{|{|{{|||{z{z{{z|{{|||||{{{{z{{{{{{|{{||{|{|{z{{{|{{{|{||{{{z{zz||{|{|}{||{|{{z{{z{{{|{{{{{{z{|{{{|}||||{{{{{{|||||{{||||{{{{{{z{|||{|||{{{|{z{||}||}}}}{{{z{||z||{|||||{{z{||{{|~||}}||||{{{{|{|}z|{||{|z||{{z{||{{}||}||{{|{{{|||{|||||{{{{{|z{||{|{||{z|z{{{{|{{||z{|z|{{{z{z{|{||~~~~~~}~|||~}}~}~}}|z{{{||{|}||}}~|{z|{z||||{||||{{z{|z{|{|{|{|{|||{{z{z{{|{{|{{|{z{{{zz{{z{{{{||{z{y{{z{zzz}{z{{{z{|{z{z{{{|{z|{{{y{{{zzz|{{|{{{{{{{{yz{{{{||{|||{z|{z{{zz{{{|{{{{zzz{{zz{|{{||{|{{zy{{|z{{z{{{|zzz|{zz{{{{{|z|{|{{z{{z{z{{|{{{|{{zz|z{{{{|||{{||z{{zzzzz{|{{|{||zzz|{{{{{|{|{|{|z{|z{{|z|{{}{||{|{{{{{z{|||{{||||{z{{{zz||||||||{|{|{{|{{|{|}||||{|{{|z{{{{|||}{||{{{{{||||{{||}{{{{{{{{||{|}||{{{{{|{{{{}||||}|{{||{{{|{{{{{}||{{{{{{{}||||||}||{{|{|{{|||||{}|{{{{{|{{{|||{|}|{|{{{{{{{{{|{|{|{{{{{z{{|||{{~~~~~~}}{}}~~}}~}}|||}||||||}}||}}|z{||{{||{|{{|}~|{{{z{{||{||{{|{{{{{{{{{|||{|{|z{{{z{{z{||{{{{z|{{{{z{{{||{{z|z{{{zzz{zz{||{|||{z{z{z{{{{{{z{{{{{{{zzzz{{{{{|||zz|z{|{{{|{{{}||{zzzzz{z{|{{z|{{{{{z{zz{{|{{{||{|z{{z|z{{|{|{{}||z{z{{{{{|{{{{{}{{zzzz|{{{{{{{|}{{{{z{{{}{||{{{{|{{z{zzzz}||{|{|{{{{{|{|{|{{{||{{{z||{z{{|{{|||}{{{{{{{|{|||{|||{|z|{{{|||||{|||{|{{{z{{||}}||}|{{{||{{|{|{{||||||{{||||{||{||||{{{{{{{{{|{{~|}|||{{|||||||||{||}{{|{{{{{}{|{||}{{|{{|{{}{|}|}{|{{{{{{{{||{|||||{{{{{{{|{}||||||{{{{{{{{||{{{}}~~}}||}}}}|}|||{}||z|}|}|}|~}|||{||{{}{}{{|{|||{{{z|{||||{{|}{{|{{{{zz{{|||||{{{zyz{z{{{|{||{|z|z{{{{{{|{||{|{{zyzz{z{{{|{|||{zzz{zzz{|{z||{{{zzzz{z{{{{{{|||zyz{z{{{z|||{|{{z{{{{zzz{|z{{{|{z{{z{z{z|{{|{{||{z{z{{{z{{{{{|||z{|{{{{{{{|{{{||{{{{zz{|{zz|{||}zz{{{z{z{||{{{|{{{{{{z{{|}{{||{{{{{{z{{{{||{{|}||z{{z{|{|||{{|}{{{|zzz{{|||||{||||{{{{{{|{||||||{z{{z{{z}{|||{|}|{{z|z{{}|{|{|||{z{{{{{{z|}{|||{|{|{{|{|{}}||}|||{{{z{{||||||{||{{{{{z{{|{{|||||{|{{|{{{||}||{}}{{{z|z{{|||{|{}{{{|z{{{zz}||z|}|{{|{|{{z||{{z~~~~}}~~}}~~~|}}~}|}}{{{{{||}|~}||||{|{|{{{{|||||{{|z{{{{|{|{||{||{{{{y{{z{|||z{||z|{{z{{zz||{{||{{{{{{{zz||{{z|{|{{{z{{{{{{{}{|{{{{{{y{|{{{|{|||{|{{{z{{zzz}{{||{z{z{{zzz|z{{{|{zzz{|{zz{{{|{{{|{z{{{z{{{{{{|{{||{{|{|{z{|{|}||||{y{|z{z|{{||||{||{|z{{|{|}||||||{{z|{{{{{|||{{|||{{{{z{{{{|{{|{{{{|{{z{z|{}||||{|z{||{|{||||{|}||{{|{{{{{|}|}}}{|{|z|{|{||{|}|||{{||{{z{{{}{}||{{||{{{|||||{||}}|z{{{||{||||||||}{{|z||{{}||}|}||{|{|{{|}{||}||{|z{|{|{{|}{{{|}}|{|{{z|{||{}|||}{|||{{{{||||||||{|{{|{z{}|}|||||{||{z{{z|{||{~~}}~}~~{|}}}}~~}|||}|}{{}}|}||}}|{{{||{|}||||}}||{{z{z{{{||||||{||{{{{z{||{|z{{|{{{{|{{z|||{{|||{{{{{|z{{{||{|{{{z{{{{z{|{||{{||zzz{z{{{{{||||{||{{{z{z{{|{|{||||{|{zz{{{{|{||||{z{z{z{z||{{z||{{zz{z{zz{|{z{|||{{{{{z{z{{||{{|{{z|{{{{{{|{{{|{|{{|{{z{{{z{|{|||{{{zz{{{{|}|}{||{{{{{z|{||{||}|{|{{{z{{z||{||{{||{{{{{|{{||{|{{||{{{z{{{|}|{|{}|{{||{{|z{||{{||||{{{{z{{|{}|||||{{z{|z{{|}||}}|||{{z|{}z|{{||||||z{{z|{{{}||{|}||||{{|||}|}}}|{||{{{|z{|||||{|}||{{{{{|||||{}|||{{{{{z{{||||||}|{{|{z{{{{}{||}{|{{||zz{|{|||{~~~~|}}~}|}}|}~}~|}||||||||}{||}|||{{|{zz{||{|||||{{{|{{{{{||}|||{{{{{{z{z||{|{|{|{{{{{{{{{|{{|||{|z{z{{{z|{}zz{|{|z{zz{z|{z|{z{{{{{{{zzz{z{|{{{|{zz{{z|zzz|||{|{{{{{{{zz{{z||{{}{{{zz{{zzzzz{{|{|{z{{{z{z{|{z{|{|{{}{{zz{{||{{||{{{z{|{z{{|||{{}{|{|{zzz{|{|{|||{{|z{||z{||{{{{|{{z{{|z{z{{{}|{{|{{{{zz{z|{|{{{|{|{{{z{{|{|||{||||{{{|{{z{||||||{|z{{{{{{|{{|{|}|{{{||z{{{||||||||z|{{{|{|||||}~}|{{||{|||||{|||}||{|||{{|}||{|{||{|||{|||||}|||||{{||{{||}|||}||}z{{||{|}||}|{}|{||z{{|{|}|||}{||{{{{{{{{{||||{{{z{{{z{{{{{|{~~}~}}}}|}}}|}}|}~{|||{|{|{||}}||}|{{z{{{{{||{|||}|{{{z|{{{{z{{|||{{z{{{z{{||{{||{z{{z{{{z{|z{|||z{z{{{{zz{||{{{{|{{zzz{z{{z{{z{{|z{{z{z{{{{||{||{zzz{zzz{{{|{{{{|{{{|zzzz{z{|{|{{{zzz{z{{{{{{{{{{{{zzzyz{{{{{z||{z{|{{{{z{{{{z{||{|zz{{{|{{|{z||{{{{z{{{z{{|{{{||{{{{{z{z{|z{{{{|{|zz{zzz{|{{{{|{{z{{zz|{|||z{{}z|{{{{z{{|{}|{|||{{{{{{z{{{|||||{zzz|{{||||}}z|}|z|{{{|{{{|{|}||||{{{{|{{|}|{||}}{{|{{{||||{|||||{{{{{|{|{||{|||{|{|{{{|||{{||{||{|{{{z{||||}}||||{{|{{{{||||{{||{{|z{|{|||{|||||||{zz{{{||{|{{||z{|z{{{{z|z{{~}}}~}}}{}|}|}}}}{|||{{z{||{||{|}|{|z{{{{{{{{|||}{{|{{|z{{z|{{{|{{{{z{{{z{{{|{{||{zz{{{|zz{{z{{|||{{zzzzy{{{{{||{{{{{zzz{{{z{{||{{{zzz{{{{{|{{|||{zz{y|zz{{|z|{|{z{zzz{z{{{{|||{{|zzz{z{zz{|y{z{|{z{zzzzz{{{{z|{{{{|{{{{zzz{{|z|zzz{|||z{{{{{|{{||z{y{z|{{z{|{{{|{z|{{zz{{{|{||{|{{{z{z{{z|{|{|{|{{|z{zy{{{||{z||{z{{|{z|{|{{{|{|{||{{{z{{|||{|{|{||{{{{{||{|||||{{{||{{{z{||{{}{{{{{|{z{|||{|||{{{{{{||{||{{|}|}{{||{|{|{|{|||}|{{{{z{{{|||||}{{|{|z{{{|{||||||||{{|{{||||{|}|||{{{z{{{{z{||{|||{{{{z{{z{|||{{|{z{{zz{y{z|{{{~|~~}||}}{|~}}}}}}}}{||z{{}||||||}|{|z||{{{||{||{||{{{{z{{|{||{|{|{{z{{{{z}|{{{|{|{{{{{z{{|{{{{{||{{z{zz{z{{{{{|{zzz{zz{{{z{z{|{{{{{zz{yzz{{z|{{|{{{{{zz{|{|{{{}{|{z|{zz{{z|{|{|{|{zz{{{{z{{{{{{||z{|{{z{zz{{{|||{{{{{zz{z|{{{{||z|{z{{{z{{{|{|{|{zz|{{{{z{{{{{|{|{z{z{{{{|z{{{|{|||z||{{zz||z{{|{{{|z{{{{|{||{{|{|{z{{{{||}z{|{|z{|{{{{z{{{|||{{{{{{{||{{{||}||}}|z{{{{{z|{|||}||{{{{{{{{||||{{|||{||z|||||}|{||||||{||{{|}{}{{}}|{{|{||{|{|||||||z{||z{{|{|}|}||{|z{{||{|{||||{|{{|{|{{{{|||||{||{{{{{{{||||}{}|z{{{zz{y{|{||~~}~}||~{||}~|}}|||{|{||z{z{|}||{|}{{{{{z{{|||z{|{{{z{z{{zz{{||{{|{{{z{z{|{{{{|{{{{{zzz{zyzz|{{z{||{z{zz{zz{z{{z{|{zzzyz{{zz{{{{{||z{{{zz{{{{{{{{{z{z{zz{zy{|z{{{|{{{{{z{{{z{{{|{|{|z{{{zzyzz{|{||{{z{zz{y{{z{{{{z|{zzzz{zz{{z{{{{|{zzzzz{{{{{{|{|{{z{{zz{z|{z|{|{{{{{z|z|{|{{{||||z{{z{z{{{{{|{|||{{{z{{z{{{{{{{||{{{{{{|z{{{{z||z{{{{{|{|{{{|||||{{zz|z|{||{|{z||{{{{zzz{{||{|{}||z|{|z{{{|||||{|{{|{{|{{|{||||||{{{{{|{{|}{||||||z||{z{||{|||{{||z{{|{{{{||{|{{}||z{|{{||z{||||~{{{z{|{z||{||{|||{zzz{{{{||{|{{z{{{zzz{z{{{{|~}}||||}|}{}}}||}}|{||{|z|{|||{||||{|{z{{z{|{|{||}|{{{{{|zz{{{|{{}|{{zyzz{zz{|{{{{|{z{zy|zz{{{z{|{{|zzzz{zz{{{yz{{z{{z{zzy{zz{z{{{{{{{zz{z{{{{{{{{z{zzzzzzz{{|z{{{z{{z{zzzyz{{{{{{{z{y{zz{z{{{z{{{{z{zyyzzzz{{{{{{{{z{{z{zy{{z|{|{|{{{z{y{{z{|{||||{z{{z{{{{{{|{{|{zzzzzz{zz||{{|{{z{{{zzzz{{{{{|{|{{{z|{z{z|{|{{{|{zzz{zz{{||{|{{|{zz{{zzzz|{|||{|{{{|{z{||{{{{{}||{{{{z{{{||{||{|{z{z{{{y||{||||{z{|zz{|{||{{|||||{|{{{{z|||{|{{||{{z|z{{{{|{|{||{{{{|z{||{{{z||{{|{{{{{||||{|{{||z{y{z{{{|{|{||{{{{z{|{{{|{{|{{{{{|zzzzz|z|{|~|}}}{|~{}{}~}}|{|||{{{{z{{{||{|||||{|z{{{{|{{}{||{|zz{{|zy{{{{{{||{zyzz{{z|{{{||{{{z|z{zz{z{{yz{|{{{{{z{{z}{{{{{z{zzzzz{z{{z{|{{{{z{{{z{zz{|zz{{|{{zzzz{z||{|{{{|{{{{{z{z{z|{{{{|{yzzz{{zyz{{|{{{|z{yz{yzy{{{z{{{{{z{zz{{zz{||{{{|{{{y{yzzz{{{z|||{{{{zzzz{{|{z|{|{{zz{{{{{{|{{{{{{z{{zz{z{{{{|{|{{{{{{{zz{|{z{{|{{{z{z{zz{|{{{|{{z{{z{{{{|{||{{{|z{{{z{|{{|{{{|||{|zz{{{{{{{{|{{{{zzzz{{|||||{{}{{{{{{z|{|{{z||}|{z{|{{|{{}|{{{{||{{||{{{|{{{|||{{{zz{z{{||{{|||||||z{{{{||{|{|{|{z{z{{z{{{z|{{|{|{z{{z{{{{{{{{{{{z{{{zzz{{||z~}}}}}}|||}|}}~|||}}{{||{{{|}||}|{||||{z|{{|{}{|}}||z|{{zzz{|{{{||z{{z{{{z{z{|{{}{|{{{{z{yz{{{z{{|z|{{zzzzz{{z{{{z|{z{zz{z{|{{{{{||zzzz{zzzz{{{{{{zzzzzzzzzz{{z{z|{z{zzz{{zz|{|{|{{z{y{zz{zzz{z{|{{{zzz{z{{{{{z{|{{z{zz{{zzzz{{z{{{z{z{z{{{|{{{z{|{z|{{{z|{{{{|{{{{{z{{z{{z|{{|{{||zzz{{{{{{{{{{|||{{|{|z{z|{|{||||{{z||{{{{{|{{{{{|{|{{|{{{|{||||{|{{{{{{{||{}||{{{z||{{{{||||{|||{{{{|{zzz||||||}{{z{z{{|}||||||||z{{z{{z{}{}|||||{{z{{{z|{}{|{|{||{{{{{}|||||{{|{{{{{z||||{|||||{|{{{{|zz{{||{|{||{{{{{{||z|{||{{z{z{zzz{|z|{}||}|{}}||{|~||}}|}|{{{{{{{|||{||~|||{|{{{z||{||{|||z|z{|z{{||{{{{||{z{{y{z{{{|{|{||{{z{{zz{{{{z{|{{zz{{yyz{z|z{|{{{{{{{z{{{{|z|{{{zzzzzzz{{|{|{{z{{zyzzzzzz{{{{{||z{z{z{zz{{{|{|{|{{z{yz{{{z{{|{{{|z{{{{{{{{{|{||{z{z{{{z{z{{||{|{{{zz{z{zz||{|{|{z{zzzzz{{{{{z{||zz{z{|z{{{||{{{|{{z{{{zz{{{|{|{|{z{{z|{z|{{{{{|{{|{{|zz{{|||{||||{|||{{{{|||||{|{{{|{{{{{|z{{||}{zz|{{z{||||{|{||{{{{{z{||{{|{||{{{|{|{{{||{{}|}|{{{z|{|{}{|||}{|{|||{{{|{{|{||{|z{{{{z{|{}|{|{||{{{{{{||||}{|||{|{{||{{{{{|{|||{{{{{z{z{|z||{|{z{zz{y{{|{|||}|}}}|||{|}|}||||~|{||{|z{||||{}|||{{{{|{{{{{{|{{{|{{{{zzz{z{||{||{{{z{{{{z{{|{z|{||{zz{zy{{{{{{{{|z{{zzzzy{{{{{{{|{z{z{z{z{z{z{{{{{{{{{zz{z{{|{||{z{{zzzyz{{{y|||{z{{{y{z{{{zz{{{{{{{{zzzzz{{{z{|{|z{zzzzz{{z{{|z|{z{z{zzz{{{{{|z|{zz{zzzz{{{{{|||{z{{{z{{z{{{z{|{zz{{zzzz{{{z{|{{{|zz{{{z{||||{{z{z{|{zzz|||{{||{z{{{{{zz|{{{|{|{|z{{{{{z{{||||{|{z|{{{{z|||{{|{|{{{{{{z{z|{{|||{|y{{{{{{{|{{{|||{{{{{{{|{}|{{||||z|z{{{z{}||||||{z{{{{|{|{|{{||||{z{{{zz{|{{|||||{{{{{{{|{|||||{{{zz{{{{{||||z||{{{zz|z{{{{}{{{z{{{zz{{{{|{{|}}}}}|}{}|||}}}|}|||{{|{{{z|||||||}||{{|z{{||{{{{|||{{{|zz{{|{{{|{|{{{zz{{{{{{|{{{{{{|{|{{z{{|{||z{{{|zzz{{{|{{{||{{zzzz{z{{{{{{{{{{{|zzzz{{|{{{{{{{{z{z{y{|||{|||{{{{{z{zz{{{||{|{{z{{{z{zz{{{{{|{|{zz{zzzz|{{{|{|{{zz{{zz|{}{{{||{{{{zzzz{|{{{{{|zz{{z{{z{{{{||{|{{|{z{zz{{|{{|||{z{{zz{z{{{|||{{z{{zz|zz{{|{z|{||{||{z{z|{||||{|||{z{{z{|{{|{}{|z{{z|{|{||||{|||{{{z{{{|{{z{||{{|{z{{z{{||{{||||||{z{{{|{{{|{||||{{z{|{|{||{{|||{z{|{{{{{{|{{||||{{|{{{{|}{{|{{||{||||{|{|{|z}{}{{{{{|}|{{|{{|||{{{|{{{{{|||{||{{z{{{zzz{|{|{}~}||||}|||}|}|{||||||{zzz|{||}}||||~{{{{{{{||}{|||||{z{{z{{{{|{|||{{|z{zz{{|{|{|{{{zzz{|{y{{{{z{|{z{z{{z{{z{{{{{{{zzz{{{zz{{{{{{{{{zz{{{{{{{{|{{{{|z{{{{zz{{{{|{{|{{zzzz{zz|{{{{|{z{{z{yzy{{{z{|{{z{{z{z{z{zz{{{|{z{{z{{y{{{|{{|{{zzzzzz{{|{{{{{||{z|{z{z{{{{{{|||{z|{y{{z||{|{|||{{{{|zzzz|{|{|||{{{{{{z{||||{|{{}{{{{{{{{|{{{{||{{{{{{z|{||{|{|{{{{{|{{{{|||||||{{{{zzz{{{|{{}{|{{{{{|{y||}|||||{{{|{{{|{||||||||{{|{{{{{|{{{||}{|{{{{{{||||||}}|{{z{{{|{|}{{{{}{|{{|zz{||{||||||{{{{z{{|{|}|||||{|{|{{{||{||{{{{{{z{yz{{{{{{~|}}|}{{||||}||{}|}{|||{{{{|||{|||}|{{{z||{|{{{||||zz{{zz{z{||{}|||{z{zz{{z{{{{{|z|zzzzzz{{{|{zz{{{|z{{|{{z{zzz{|{{{zzz{{zz|z{{{{|{z{zzzzzz{z{z{{||zz{{zz{z{{|{{|||{z{zzzzz{{z|{{{{zy{{{{zyz{{zy{{|z{z{zz{zz{z{z{z|z{{{{zzz{z{|{|z||zzzzz{{{|{|{z{|zz{zzzzz{{{|||{||z{z{{|{{z{{{{{|z{{{{y{z{||||{||{z{{zz{z{||{|{}{|||{{{{{||{|{|{{|{{{z{|}z||||{{|{|{zz|||}{{||||||{z{{z{{{{{|{{{{{z|{z{z{|{|{|{}}{{|z{{|{|{||||||{{{|{|{{|}|||{}{{z||{z|{|||||}|||{{z{|z{{{{{}|}||{{z{{{{||{z||{|{{{{|zz{{{{|{|}|{{|{zz{{{{||{{|z{z|{zzzz{{|||}}}||{|{|||{}||}{||||{{|z{{{|||||||{{zz{zz{|z{|{{z|{z{|zzzz{{|{{{{|{|{{z{{z|{||{{z{{zz{z{z{z|{{z{{z{z{z{y{zzz{yz||{{{{zzzzz{{z{{z|{{{zz{z{zz|{{{{|{{{zzy{z{{{{{{{{|z{{z{zy{zz{{{{||{{|zzzzz{z{{z{{z{{zzzzzzz{{z{}{{zy{{{{{{{z{|{{|{zzz{{zzz{{{{{z|{zz{z{zz{{z{{{{||{z{zzzz{|{||{{{|{z{zzz{y{{{{{|{|{zzz{zyz{{{|{{|{{|{{z{zz{{{|{{{{|{y{z{|{|{|||||{{{|{{{||{{{|{|||{{{{|z{{{{{{|{||z{{z{{zz{{|{{{||zz{|{|{{||{{||{|{{z{z{{{{|{|{|{||zzzz{z||||||||||{{{{z{{{{{{{||||z{{{{{{||{|{|{||z{{{{z{||{|{||{{zz{{{{{{{|}{||y{{|z|zz{{z||{}}}|||{|{|{{}{{{||}||{{{{zz{|{{{|{{|{{zz{{{{{{{||{|{|z{{{{zz{||{{{|{{zzz{{{|{{{{|{|zzzz{zz{{{{{{{{{{zzz{zzy{z{z{|{{zz{yy{zzzz{{{{{zzz{z{z{z{z{{{{z{|zzzz{y|{zz{{{{{|{zzzz{z{{{z||{{{{z{zzzzz{{z{{{{{z|z{z{zz|z{z{z{{zz{{zyz{{{{{|||zz{{{z{{{z{{|{{{{z{z{{{z{{{{|{{|{{y{{z{z{|{{{{|{z{{z{z{zz{{{{|||{zz{{zz{z{{|{{||{z{|zz{z|z|{{{{zz{{z{z{{||{||||{zz{{{{{|||||{|||{{{z{{|z}{{z|||||z{z{{z{||{|{|||z{|z{{{{||{|{|||{{z{|{{{{}|||}|{{{{{|{{z{{||{|||{{{{zzz{|||{||||{{{|z{{{|{|{{||}|z{z{{{||{{{|{||z{{{y{{z{|||{{|{zz{zz{zzz{{{{}}}||{|{{|{|||{{|||{{{{{z{{|{||{|{||zzz|{z{|{z|||{{{y{yzz{zzzz|{||{{{z{{z{y{|{z{{z{z{{zz{zz|z|y{{{{{{zzzzzz{{z{{|{|z{zyz{zz{{{{{{{{z{zzyzz{{{|{z{|zzzz{zzy{{{{{{{{{{{zzzyzz{{||{{{|{zzzyzzy{{{{{{{{{{z{zzzzz{{z{|{zzzzzzzz{{{{{{{{{{z{z{z|{{{{{|||zzz{{zz{zzzz{z{z{z{zzzz{z{{{z{z{{z{z{{{{{{{{{{|{|{zzz{{z{{{{{{z{{zzyzzz{{{|{{{{{{{zzz{{{z{{{}{||{{z{{|{{{|||||}{|{{z|{{{z||{|{}|{|zz{{{{{z||{{|{{z{{{{|{z}|{|||{{{z{{{{z{||{{|{{|{{z{{z{{{{|{||{|{z{{|{{z{{{{|{|{{{{z|{z{|{|{{|||{|z{z{zzz{{{||{{{{z{{{z{{{{|{{{{{{zz{|{zz{|{{}}|||||}{|{|{}|||}||{{{{{{{||{||||}zz{{z{{z{|{{{|||{{{{{|{{{|{{{{|{{z{{zz{z|{|{|{||z{|z{{zz{{{z{||{{{z{{{z{{|{z{{{|zzzy|z{{{zz|{{z{{z{{{{zz{{{|{{{{zzz{{{z{{{{{{{{{{{zzzzz{{|{zz||{{z|{zz{{z{{{z{{{zzzzy{{z{{|{z{|{zz{{zyzz{{z{{||{zzz{{zzz|{{{{||{{zz{z{{{{{|{|{{{{{z{{{{{{{{|{{|zz{{{z{{z{|{{{{{|{{{{z{z{{z{{{{{{{z{{z{{zz{|{|{}{z{|{{|{{|{|{|}||{|{{|{{{{|||{{||{{{{{z{||{{|{|{{|{{{{{{{{}{||||{|z{z{{{{|||{|||||{{|{}z{{|{||{{|{}z{{{{{{|||{|}||{{z{{||{{||z||}}{{{|z{{||{|||{||{{z|z{z{|{|{{||{{zz{zz|{{{|{||{{{{{z{{{z|||{}}}{|||{||||||{|}}~{{{{{{{{z||{}||||{z{{{||}{}z{|||{zz|{{zz{{{{||{{{z{zz{{{{|{|{{{||{{{zz{z{{||{{|{zzzzzzzz|{|{{|{{|zzz{{z{{{{{|{z{{yzz{{{{z|{z{{|{{z{{zzz{z{||{{|{{z{z{|zz{{z{{{|{{{z{{z{z{{zz{{{{zzzz{{{z{zz{{{{||z{{|{zz|{|{||{|{zz{z{{{{{|{|{{{{{{{{{zz{{{{||{|zz{zz{{z|{|{{|||z|z{zyzz{{||{|z|{{{||z{z|{||{||||{z{{{z{|z{{|{|{{|z{{{{||{{||||{{{{|{{{|{{||{|||z{{z|zz{||||{{|{|{|{{{|{|{{||||||{z{{{|{||||||{z}{|{{{{{{||}{|||{{{z|{|{|{{||||||{|{z{z{|{{|||{}|z{{|{{{|{||||{|{{{{z{{{||{||{}|||{|{{{{{{|||||{z|z{z{{{z{{{|}}}|}{||{|||||||{||{|{{||{{{{}||||}{{z{{{|z|{||{||{|zzz{{z|{{||{||{|{zzzz{z|{||z|{|z{{z|z{yz{||y|{{{z|{zzy{{{{{{{{z{zz{z{zz{{{|{{{|{{zz{{z{z|{{{z|{|{zz{|zz{{{|{{{{|{{{z{{z{|{{{|||z{|{z{zyz{{z|{|{{{{z{z{z{|{{z{{{zzzz{{z{z{{{{{|{{{{{z{{{{{|{||{{{{{{z{{{|z{{{{||z{|{z{z{{||{{{|{|{{{z{|{{|{}||{{{z{z{{{{{|||z||z{z{{{{{{{|{{{|}|{|z{{zz{||{|}|||z{{{{z|{{{{||}|||{{{|{{{{{}z{||}|{z{{{{{|{{|{{}}{|{{{||||{{{|}|}|{}|z|{{|}}|||{|{{{||{{{|||||||||{{|{{z{{|||||{{|{{{{{{{||||{|{||||{z{{|{|||||}|{|z{{z{z|{||{{|{{{{{{{{{||{z|}}{{{z{||{{{{|||}|}{|{{{z{{|{{{|{||{{{||{|z|{{{{{|||{{{{{{{{{|{{{|{{{zz{z{z{{{{{|{|{z|{yz{{{{{{{{{{{z{{{z{{{{|{{|{{z{{yz{{z{{{|{|{{zz{zzz{{z{{|{z{{{{zzzz{z{z|{|{{{zzzz{{zz{{{{{|}|z|zzzzzzz{{{{{{{{{zy{z{z{{zzz|z{zz{{{z{yz{|z{{|||{{{|yz{{z|{{{{{{z{{zz|z{z|{z{{|{{{z{{z{{{{{{z{{{{|{|zzz{{|{{|||zzzz{{z{{|{||||{{{{{{|z|{|{{{||z|z{|{{{z||{}||{|{{{{{{y{{||}}|||{{{{{{{{{{|{|||z{z{||{z{||{{|{|}z{{{z{{{|{|{|}|{{{{{{{{{{||}||}||z{|{{{z|{{{{|{|}{|{{{{{||{{{{|}{zz{{|{{|z{||||{{{{{{{{{{{|}|||||{zzzz{zz{}||{{{{z{zz{{{|{||{}|{|{|{|{{{||{|{||{{z{z{z{{{{}||}||{{{z{{{z{||{||{|{z{{z{{{||{z{{|{{zzzzz{y|{{{{{{|{{{{{zzz|{{|{{{{{z{zzzy{{{{zz{{{zzzy{z{z{{{|{z{zz{{{zzz{z||{{{{|{|zzy{zzz{|{}|||zzz{zz{z{zz{{{|{{zzz{z{{z{{z{{|{{z{{z{z{z{{{{{||{zz{z|zz{{{|{{{{zzzy{z{{{{{|z||{{z{z{z{{{{{{z{||zz{zzzz{|{{{{{||{{zz|{zz{z|||{{{{z{{|z{{|{||{{}{{{z{{{{z|{{{|{||{{{{{{z{z||{{|||{{{zz{|{{|{}|}|}{zz{{{{z|||||||||zz{{|{{|||{{{||{z|{{{||{{|{||{{}{|{{{z{{|{{|{||{{{{{{|{{||{{{||||{|{{{{|{||}{{{{{z{{{{{{{{{{{||{|{zz|{z{{{{{|}}{{{|{{{{||||{{{|{{{z|z{{z{{{}}|}{|{||||z||}|}||{{|{|{zz||||{|||||{zz{{z{{z{{|{||zz|z{z{{{{{|{{|}{|{zzy{y{z{|{{{|{z{z|zzzz{{{{{{{{|{zzy{zz{||{{{{{{z{{zz{z{{{{|{{z{{yzzzzy{{z{z{{zzzzyzyz{||z{{{z{{{z{{|yz|{z{{{{z{zzzzzzz{zz{{{|z{{z{z{z{{z{z|{{{{z{{z{y{{||z{z{|zzzzzzz{zz|{{{}{z{{z{zz{{{{{{{|zzy{z{|z{z{{|{{|{zz{|z{z{{}{{||{zzzy{zz{{{{|{||{|{z{{{{|{z{{||{|{{zz{{{z|{{|||||z|{{z{}{{{|{||{{{z{{z{z{z||||{||{{z{z{zz{|||||}}{{{{|{||{{|{||}}|{{|{{z{{||||||}|{{{{z{{{{||||||{{{{z{{|||||{{}}z|{{{zz{|}{|{}||{{zz|{z{{{|||}||z{{{zz{{||{}{{{{zz{y}z|{|||{{}|}|{|{||{{{|{|{|}|{|z{{z{{z{{{|||}{zzz{{z{{z|{|||{{y|z{{{{{z||y{||{{|zzzzzz{{{|{{|z{{zzzzzz{{{{{{{|zz{z{{{{z{y{{{{{zzzzzz{{{{{z{{{{zyzzzzy{{z{{{{z{zzzzzy{{{|{{{{{{{z{z{z{z{{{{{{{{zz{{zzz{{z{z{{z{{zzz{zzz||{|||{zzzzz{{zyz{z{{{{{z{{{zz{{{{zz|{{zzzzzzz{{|{{{||{{z{zzzy{|{{{{{||{zz{{{{{z|{{{|{{zz{zzzzy{{|zz|{z{zz{{z{{{{{{{{||{{z{z|zzz|{{|{|{{{{{z{{{||{|{|||{{z{|zz{{|||{{|{{{z{zz{{{{||{{||{{z{{{{{{|{{}|||{{z{{{{{||{||{|||{{{|{|||{{{z||}|z{z{zz{{{{{{||||{{{|{{{z|{|||z{|{z{{{{z{|z|{||||{z{|z{z{{{||{|{zzzzzz{z{|{{{}}{||{z{{{{{{|{{|||||z{|z{z{{|{{{|}{{z{z{zz{z{}{{||{z|z{{{zz{{z|||{zzzzy{zz{{|{z{|zz{{zzz{z{|{{{{{{{{{{z{zyzz{zy|z{{z{zz{zz{{|{{{z{{zzzzz{z{{{z{{{{zzzzyzzy{z{{{{|{{z{zzzz{z{{{{{}{{zzzzzz{z{{z|z{{z{zzzz{zz{{{{||{{z{{zzzzz{{{{{{{{z{{{zzzz{{z{|{{z{{{{zzzz{{{{||{{zzzzzzz{{{{{{{|{{z{{z{z{{||{|{{z{{zyzzy|{||z||{{zz{{{{{|||{|{{||{{z{|z|{{||z{{{{{{{{{|z{|||||{|{{z{{z{{{|{{|||||{z{z{{{|}{{|{{|{{{{{|{{{|{|||{||{z{z{{z{||||{|{|{|{yz{|{|||{||{{{{|{{z{|{{{|{}}{z{{|zz|{{{{||||{{{zzzzzz||{|{{||{{{z{{|{||{{{|{zz{{{zz{{y{{{||{z|{{{z{{{|||||}|{{{{{{{{||||z{|{{{{{{zz{{{{{{|{||z{{{zzz|{{|z|{{{{|zzzzz{{{{{||{zz{zz{zzz{{zz{||zz{zzz{z{{{|{{{{z{{{zz{{{z{|{{z{z{zyz{{z{{{|{{{{{{z{zzyz{{{{{{{{{z{{y{z{{|{{{|||{zzzz{z{{{z{|z{{z{zyz{zz{{{{{||{zzzz{{z{z{||{{{|{{z{{yy{{{|{z|{{{zzzzz{{z{|{{}{|zz{zzz{{{z|{||{|{{{{{z{{z|{{{|{{z{{zzzzz|z||{{{|zz{|z{{{|{|{{||{{{z{|z{{|{||{|||{{{{{{{z||||||||{z{{z{z{|{||||{|{{{{z{zz{|{{{{|{{{z{{{||{|||}||||{{zz{{{||}||{|||{{{{yz{{{{{||}|}{{{{{{|{|{}{||||{{{{zz{||}|{|{|{{{z{{zz{|{||||||{z{z{z{z||{|{{|z{zz{{{{{{|z{{{|{{z{{{{{{{{{|{|||{{{zzzz||||{}||{{zz{{{{{{|z|{{{{{z{zzz{{|{{{z||{{zzz{zz{z|{{{zzzzzz{z{z{|{z{{|{zzz{{z{zz{{{{{{zz{{zzzz{{z{|z{{|z{{zzzyzz{{{z{|{{zzzzzzz{{{zz|z{{zzzzzzz{{{z{{||{{zzzzz{{{{zz{{{{{{zz{zzzzz{{z{{{{zz{{{z|z{{{zz{zzzz{z{z{|{z{{|{zz{zzzzz{{{||{{{{{{zzzz{z{{{{|z{|{{{{y{{{|{{z|{|z{{z{|zz|{|{{{{{{{{z{zy{{|{|{|{{{{{{z{z{{z{{|{||{z{{z|||{{{{{{{|{z{{zz{{z{{|||||{zzz{{|z|{|{|||{{{{z{|{{{|{|{{|}{{{z|||{{}|{||||{z|{{z{{|{||||||{z{{{{{|{{|{||{}{{{zz{{z{{||{{{|{z{z{zz||{{{{|}{{{{|{{zzz|{{z||{{{{z{{{{|{{{{}{}{|||zz{{{||||||{|{{|{z{z|||{|{{{||{{{zzz{{{{|{|{{{{{{yzzz{{|{{{{{{{zzzzz{{{{{|{|{|{{z{{y{{{{||{{|z{z{zzz|{|{{{{{zz{zz{yy{{{{{{{{zzzz{yz{{{{{{{{z{z{zy{zz|{|{{||{zy{zz{{zz{||{{{||{{{zz{zzz|{|{z|{zzzzz{z{{zz{{{|z{{zzzzy{{{{{z{{z{z{{z{zz{{{{|{{{{|zyzzz{zz{{{{{{z{{z{z|zz{{|{||{{{{{{zz{{{|{|{{{{zz{{{{{||||||{||{z{{z{{|{{{|{{{{{{{z{{{{|||{||{z{{{z{{{{|}|||{{|z{zzz{|{}{|||{{y{{{z{{|{{{|{}|z{z{|{{{{|{||{|||{{{{||{|||}|{|{|{||zz{{|{|{|{||{z{||{z{||{|{|}}{{{{{{{{||{||{||z{{z{{{{{|{{||||{{{zz|{z||||{{|{{{{{z{{y|||{{||}||{{{||z|||||{||{||{zz{z|{}{{|{||{{z{zzz}||{{{|{{y{{z{zz{|{{z{{{{{{zzz{zzz{|{{{{{z{zz{{z{{|{{{{z{{z{{z{z{z{zz{||z{{{{{{{{z{{{{{{zzzzz{{{|{|{{{||{zz{{{yz{{{||{{{z{{{zz{zz{|{{{|{zzz{{zz{{{{{{{{|z{{zzz{zz{z{{{z|z{{z{{z{{{{{|z}{{{zz{yzz{{{|{{{{|y{z{z{zz{{{|{||{zzz{z{{{||{{{}|zz{{|y{{{{|{z|{||z{{{|zz|||{{||{{{|z{{{z{||||||{{|{{{|zz|||{{|{}z||{{{|{{{|}|{||||{{z{{{|{{||||||z{{{{{z}|||||}||{{{z||z|{{{||{}|{|{{{{{||||{|}}{{{{{{z{|||||||{{{z{{{{{{|||}{||||||zz{{{{||||}|{{{z{|{|{|{{||}{{{{{{{{z{{|{z|{{|{{z{z|z{z{{{|{{z{{{{|{z{|{|||||{|{z{z{z{{{|{{|}{zzz{z{z{{{{|{|{{{{{{z{z{{{{{{|||z{zzzzz|||{{|{{{z{{zz{{z{{{|{{{{z{zzzz{{z{{{z||z{zzz{zzz{{{|}{{{z{zzy{zz{{{{{{{{{{zz{z|{y{{{{{|zy{zzzzz{{{{{|{{zzz{z{zy{{{{{{z}{zzz{zzzz{{{{{{|z{{z{{zzz{{|z{{{{{zyzz{z{{{{{{||{z{zzzzz||z{{||{{{z|{{{z||||{|{|{|zz{z|{z|{{||{{|z|{{z{{{{|||||{{{z{{{{z{|{{{|z{|{z{{{z|||}|||{{{z|z{{||{|{{{||||{{{zzz{|||}|||||z{{z{{z||{{{||||{{|z{{{|{{{||}|{z{{{{{{{{}||{|{{{|{z{y{|{|||||{{{z{||{{{{{{||||{|{{{{{{{{||{{||z{{|{z|{|{{|{|{}zz{{|z{z{|{{{{{{{z{zzz{z|{{{{{}|{|{|z{{{{||||||}{{{|{{z|{z|z{||||{z{z{{{|{{{|z|{{z{zz{{z{{||z{|||{zzzzz{|{|{{{||z{|{{{{z{{}|z{{z{z{z{{z{{{{{z{{{zz{{{{{{z{{{|{z|zz{z{{z{{{{z{|{{{{z{{zz{{{z|||{{|z{zz{z{{{|{{z|zzz{z{z{z{{z{{{{z{{{zzy{zz{|{{{|{{zz{{z{zz{{{{||{{z{z{z{{{{|{|{||{z{{zz{y{{{{{{||{{{{zz{{{|{z{||{{{{{{z|{{{{|{||||z{{{{z{{|{{|{|{{z{{|{{{|{|{{{|{|{|{zz{z|{||{|||{z|{|{{{{||||{|{{{{z{{|z{{|{|{{||z{{{{{{{|{||}||z{{{|{{{|{{|||{||{{|{|{|||{||{|}{{|{{z{{|{||}}|{{{{z{{z{{{{{{|}}|{|z|{{{|{||{|||{{{zz{z{|||{||}{{|{{z{{z{|||{||{|{{{{zzz|{{{{{{|||{{{z{{||||{|{||{{{z{z{{{|{{||{|{z{{z|{{|{z{|||{z|{{z{z||||z||||{z{zz{z{{z{{{{{|z{{{zzz||{{{{{{zz{{zyzz{{|{{{z{{{{|z{zzz{zzz{{}zzz{{yzz|{z{{{{|z{z{z{yzzzz{||||z{{{zzzzy|{{||{{z{zz{z{yz{z{z{{{{{zzzz|z{{zz{{{{zz{z{{zy{{{{{{{z{zz{z{{z{z{{zz{{{z{zzz{{{z{|{z{z{{z|{y{z|||{{{{{{{{z{z{z{{{{||{{{{{zz{z{{|{{{{|{{zzzzz{||{||{{||{{z{z{z|{|{|{|z|{{|||z{{|{z|{||||{|{{{{z|||{|{{{||{{{{{z{z{|{{{|{|{{{||z{|{||||{{z{{{zz|{}{|{}|||{|{z{{{{|||||}|{{z|{{{||{{{|{||{{{{{z{z{{{|{{|}{{|z{z{{||{{{z|{|{{{z{{{{|{|{{{|{{|z{z{{{{{||{{{{{{{{|z{{|{||{|}{|{{{{zz|{|{||}|{{{z{zzz}{|{{||{{{{z{z{z{{{|{{|z{zz{{{zz{z||{|{{{zzz{z{zz{zzzz{{z{zzzzy{{zz{zz{z{yzz{{zzz{z{{{z{z{zzzzzzz{zzz||zzzyyy{yz{{{{{|{|{{z{zzz||{|{{{{z|zyz{zzzz|{z{{{zzz{{yzzyz{{z{{{{zz{z{z{z{z{{z{{||z{zzzzz{{|z{{||{{{zzzzz{z{|z{{{z{zz{{z{|z{{{{{{{{{y{zzz{{{||{{|{{z{{zz{|{|{{{|{{{{{{{{{{{{|z{{|{z{{{{{z{{{||{{{{{{{{z{z|{||{}{|{{{{{{z{{||{|{||{{{{y{{z{{}{|{||{z{{z||{|{{|{||{|{z||{{{{}{|{|{||{{{|{z{||{||{|{|{{{|{{{{||{||||{{{{{z|z{||||||{|{{{zz{{z|{{{||}{|z{zz{z{|{|{{||{{{{zz{z{{{{z|z{||z||{{z|||{{{{||zzz{zz{|z|{||||y{z{z{{z{{{|{||||zzzz{z{{{|{{{{|{|{{z{{z{|{{{z{||{{z{z{zz|{{{z|{{zz{z{zz{z|{z{{{zzzzz{yz{{z{{z{{z{yz{yzzz|{|yz{{{z{{zzzz{{{|z{{{{{z{zzyy{{{|{|{|{{zz{zzzz|{zz{{{{{zz{zzzy|{{z|z|z{zzz{{{|{{{{|{{{{z{{z{{zz{{z|{|{{{{{{y{y|{{{||{z{{zz{|z{|{|{{{||z{{|z{zz{{||{|z||{{{{z{{|{{|{||{{{{{{{{{|{{{{||{{{{|{z|z{{|||||{{{{{||z{|{{||}||{{{{z{{{|{{{|||{{z{z{{z|{|{{}|||{{{{{{||||}}}|||{{{|{{{z}{||{|||{|zz{{{}|||{|{{{z{|{{{{|{{||||||{{{{{z{||{{||||{|{z{|{|{|{{|||||{{{y{zz{{||{||{{{zzz{{{{|||z|{|||z{z{{z{|||{||{{zz{{y{z{|{{|{|{{z{z{{{z{{z|{|{||z{{zzzzy{{|{{||{{{zy{{y|{{{|{||{z{{{{{z{z{|z|z{{z|{z{{z{|{zz{{{{z|zzzzyz{z{{||{zz{{zzzzz{{|{|{{zyzzzyyzz{{{{|{{{z{z{{{{z{{{{{{{{zzz{z{zz{{z{{{z{{{y{{zz{{{z{{|{{zzzzz{z{{{|{{{{{zzzzzz|{|||{{{{zz{{zz{{{{zz{{{|zz{z{{{|{{{|{||{z{||{zz{z{{{{{||{{{{{zzz{||{{{{||{{z|z{{{|{|{{{{{{{{|{{{{||}|{||z{|{{z{{||{||{}||{{{{{z|{|{z|{||{{{{z{z{{|{{{{|z|z{{z|{{|}|{||}{|{{{{{{{|}|{{||}|{|||{z{|{||||}}|||{{{z{{|||||{|{z{{z{{{||{||{||{{zz{{{{{{{{||}{{{{{zz{{{{|||{{|{{{zzz{z{{z{{||||{|{{z{z{|{{{{||{z{z{{zz{||}|{|{|zz{{{{{||{{z||{{{zz|{{{|{{|{|||{z{z{z{z{{||z|{|{{zz{yz{yzz{{|{{|{{{{{y{{{zz{z{{z{{zz{y{{z{{{{{|{{{z{zz{{{{|z||{zzzzzzzzzz{{{||{{z{zz{zz{|{{|{{|{{z{yzz{z|{{{{|{{z{{zzzz{{{z{|{|z{{z{zz{{{{{{{{|{zzzzzz{z||z||||{y{|zz{{{|||{|{{zz|zy{{{{{{{|||zy{{{{zz{{{{{z{{{{z{{{yzz{|{{{{{{{z{{{{zz|}|z||{{{z{{{{{{{|{|}{{||z{{z{{{||{{{|}|{{{{z{{{||||||{||{{z{{{{{||{{{}|{{z{{|||{||{|{||{{|z|z{{{{||{|||{{{{zz|{||{||||||{{{{{{{z{{||{{|{{zz||z{{||||{||{{z{zz{|{{|{|||||{{z{{{zz||{{||{{{{{{{zz{||{{|{|z{z{{{z{{||{{{z|{{{zz{{{{{||}{{z|{{{{{{{{{{{{{|{||{{zz{{|{{{yz{{zz{z{{zy{|{{{||{zz{z{{zy{z{z{||{{{z{{{z{{z{{{{{{{{zzzy{z|{{{{||{{zzzzzzz{{z{{z|{yz{{zzz{{||{{{{{z{z{zzyz{{z{{{z{{{z{zy{yy||z{{||{zzyyz{zz{z{{{|{z{{z{{zz|{{z{{{|{{{z|zz{{|{{{||{{z{{zzz{|zz{{{|{{{{zzyzzz{|{|{|z{z{z{zzz{{|{{{{|{{{z{z{zz{{{zz|{|zz{{zz{{||z||{{{z{{{{|||z{||{|{zz{{z{||{|||{{{|{|zz{zzz|{|||||||z{{z|{{|{|{{|}{{{{|{|{{|{{|{{||{{{{z||{{|||{|||{z{{|{{{|{{|{||{|{{|{{{{|{{||{|{|{{{{z{{|{||}||{{zzz{z{z{||||||{{{{zzzzz{{z|{{|{|{{z{z{z|||{{|{|{{z|{|{z{{z{{}||z{z{{{z{{{{{|||{{{{{zzz{{{|z||{|{y{zzzz{{zz{z{{z{{{zzzzy{{{{{{{|zzzz{{|zz{{{z{{|z{z{zyz{{{|z{{z{z{zzzzyz{z{z{zz|zyzzzz{zzz{{{{{{zz|{yzy{{{{z|{{z{{{zzzzzz{z{{{}{{{{{zzzzz{{{{z{zz{zzyyy{{zz|{|{{zzzz{{{xz{{zz{}{z{zz{zzz{{{zz||zzz{{zz{{{{{z{{|{z{{{y{{zz{{{{z{|zz{{z{zzz|{{z{z{{z{zy{{{{{|zz|{{{{{{zz{{{z|{{{{{{z{z{z|{{{||{{{{{{{{{{{{{{{|{{|{{z{z{{{|z||{{|}|{z{{{{{{|{|{{|{|{{{{|{{{||{|{{|{{z{z{{{|{|||||||{{{{{zz{z{|{{{||{zz{{{{{{|{{{{|{z{z{{{{{{{|{|}||{{zz{{{{{|{|{{z|{{{zz{{{{|{{|zz{{{zzz{zy{z|{{}||||{{{z{{||{|||||||z{zzzzz||{||}|{zzz{{zz{||{|{|zz{{{zzzz{{{{|{{zzz{zzz{zz{{|z|||z{{zzz{zy{z{{||{{z{z|zz{{{{{{{{|{{{zzzzy{zzz{{zzzz{z{z{{{zz{{{|{{z{zzzyz{z{{{{z|zzzzz{z{{z{|z{|z{zz{zz{y{z{z{{z{{{zzzz{zz{{|{{|{{zzz{{{zz{{z{{|{{zyz{z{zzz{{{{{|{{z{zz{{{{{{{{{z{z{{zzz{{{{z{|{}{zz{{zzz{|{{{{{{{{{{{{zz{|{{{{|{{zz{{{{{z|{{{{|{{z{{{z{|{{||}|||{{{{{zz{{{|||||||zz{z{{{|{||{|||{{{{{{{z{}||{z|{{{{{z{z{|||||||}||{{{{{{{}{|{|{|{{|{zz{z|||{||{|{{{{{{zz|{z{{||||{|z|{z|{|{{||{|{z{|{{{{{|z|{||{{{|{{{{{{{{{{{{|{{{z{zz{{{|{||||{{{|{{zz{|{{{{|{{{z{zz{{{||{{|{||{{{z{{z|}{{{|}{{{{{{{{{{{||{{||{{{z|zzz{{{|z{{{|{{{z{z{{{{{{{{|{z{{zz{z|{|z{{{{{yz{zz{zz{z||{|{{z{z{yzz{{{{z||{{zzzz{zy{{|{|{{|z{{zz{{z{{{{z{}{z{{z{z{zz|{z{{{|{zzz{z{zz{|{{|{{z{zzz{{{{|{{z{{|{{zzzz{{{|{|{z||{{zzz{{|{|{{{|{|{z{z{|z{{|{{||||{{z{{{zzz|||||{|{z{{zz{{{{{|||||{z|{{{{{{{|{{}}{{{z|{{{|{{||{}|{{{|{{z|{{{{|{|}|{z{{{|{z{|{|}|||{z{|{z{{||{{{}||{z{{{{|{{{|{{||}|{z{{|{|{|{||||||{{{{{{|{{|||||||{{{||{{{{|{}{|}{{{||{{{|{|}{|{|z|{{zz{{{|{||||||||{{{z{z||{|||zz|{{{{{z|{|{{|z{z{{{{{z|{|{|{{{{{{{{zyz{{|{|{|{}{{z{{{{{{|{{{||{|{z|zzy{z{|{{{{|z{|z{y{yzz{{{{|{{z{zzz{z{{{z{{{|{{z{{zzz{y|z{z|{{z{zz{{{z{{{{{{{zz{yzz{z{{{{{z{{{{yzyzzz{{{|||{|z{{{zzzz{z||{{{{{zzz{zzz{zzzzz{|{{{zzz{zz{{{{|{{zz{{z{zz{{z{{{{|{yzz{z{z{{{{z|{{{z{{{z{z{{|{z}||{z{zzzz{{|||||{{zzz{{z{z{z{{{z{{{z|zz{{{{{{{{{|{z{{{{z{z|{z{|z}{{{{{{{{{{{{|||{{z{{{{{{{{{{|{z{{{{z{zzz{|||||z||{{z{{{{z{|{z{||||{{{{{||||{|{}||||zz{{{|z|||||{}{|||{|{{{{|{{||{|{z||{{{|||{{z||{z{{|{{{{{{|||||{{{z{{{|z|{{||{|{{zz{{{z{|||{||||{|{{z{zz{{{{}{{{{{{{{zy{|{{{|{|{{{{|{{z|{|}{{||{z{zz{z{||z{{||||{{{{zz{z{{{{{{{}{zyyz{z{{|{{{{|{zzzz{{z{{{{{||z{z{z{|{{{{{z{{{|{{zzz{zz{{z|z{{zz{zzzz{{{z{{|z||zz{zzzz{{z{z{{{{{z{{z{zyz{}|{|{{z{zzz{zz{z{zz{{{{zzzz{{zz{z{z{|{{z{{{zzyzz|{{}{{{zz{zz{z|{{zz{|{{z{z{z{{{||z{{||{z{zzz{z{z{z{{|z{{z{{z{{z|{|{{|{{zz{{{{{{z{|{||{{{{{zz{{|{|{{||{z{{{{{{{{||}{|z|{z|z{{|{{|||{|||{z||z{{{{{|{||}||{{{|{{{|||||||||||{||{{{}{|{{|||{{|z{z{{}||{||||z||{||||{|{|||{{z{z{{{{{{{||{|||{{{{{{{||}|{|}}{{|z{{{|||||z{|{{{{{{{|z{||||{{|{{{{z{z{{||{z{{|{z{|{z{{{{{{||||{{z{{{{{||{|{|||{{|{{zz{|{{{{{|||z{{z{zz{{||{{||{{{yzzzz{{{{{{|{zz{z{y{{{{|z{|||{{{{z{{{z{{{{|z{{{{|z{z{{z{{{zy{zzzzzzzz{|{zz{|{{y{zz|zz{{|||{|{{{|zzzyz{{{{{{{{{{{z{z{z{{zzzz{{{z{z{zz{zz{{{{z{zz{{zzzy{z{{z{}{{{z{{yyz{{{{{{z{z{{{zz{{||{|{{|{{z{{{z{{{{|z{{|{{{z{{z{zz|{||{{{{z{{{{z{{{|{{{{{|zzz{z{{}{{{{{||{{z{{|z{{{|{{{|}{{|{|{{z|{{|{{|||zz{z{z{{|||||{{|z{{z{{{|{|||||}{z|{{{|{||{||||||{z{{{{{{|{{{{|{|{z{|{{{|{{||||||z{z|z|{{{||{||||{{{|{{{||{|}{{|{{|z{{zy{|{{|{|{|z{{{{|{{}||}|||{{|z{{zz{{{{{}{{{{z{zz{z{}|{{{{{|{{{zz{{{{{||||{{|y{{z{z{z{{{|||{{{{zz{zz{{|z|{|z{{z{z{z{{{{z{||zz{zz{zz|{|{{|||{z{{z{zz{{{|{|{z{z{zz{z{z{zz{{{{zzzzzzz{{{{{z{{{z{{{z{zzz||{{|{|{{{{y{{{zz{||{{|{yzzzz{y{{z{{z|{{z{y{z{z{{{z{|{{z{{zz{zz{z{|{z|z{z{zzz{z{{|z{|{|zz{z{zz{z{{{{|{z|{zzz{{{{||||{|{{{|z{yz{{||{{||{{{{zz{{z{{{{{|{{{{{{{{{{{|{{{{|||z{{{|{{{{{|{|{|{|z{z{{z||{|{|||{z{{{zzz|||||}|{|y{{{{{||||{|{{{{{z{{|{{||{|{|}||{{zz||z|||}|{|{|z|{{y{{|{{||}}|{{zz{{{|{|{|{{|||{{z{{{{{{{{{{|{{|{z{{|{{|{||{||{{{{{z|{{|||{||{z{{{z{z{|{zz{|{{{{z||{z{z|{||{|||z{{{{{z|{{|{||{{{{zz{{{{{{||{|{{{{{{zz{z|{{|||}{{|zz{zz{{{{{{{|z{z{z{{{{{|||{{{{yzzz{zz{||zz{{{z{{{z{z{{{z|{|{|{zz{z{{{|||{{{|z{zz{z{z{{{{{{{||{z{zzzz{{{|z{{z{{zzzz{{z{{zz{{{|zz{y{{y{|{{{{|z{{{z||{z{{{{{||||z{zz{zzz{{|{{z{{{{z{{z{z{{||{|||z{zzz{z{|{{{|{|{{z{z{z{{z{{{{|{{{z{{z{{z{{{{{|}|{z|{{z{{{{|{{{{{|{{{{{{{|{|}|||}{{{z|{|{|{{||{}|{{{||z|z|{|||||||{{{{{{z||z{||{}||{{{{|{{{|||}||}{{{z{||||{|||}||{{{{|z{{|||{{||}z{{{{{||z{||{||{|{{|{{{{||||||}|{z{{{{{z{{||{}{{z{{{{z{{{{{{{|{|z{{zz{{{{||{{{z{zzz{|{{{{|{|z|{{{zzz{z{{|{{{{{|{{zzz{zz{{{{{}{{{zzzzzz{z{{{{{{{||{yzzzz|{{{z{{{zzz{z{{zz{zz{{{z{{{z{yzzz|{{z|{z{zzz|zzz{{z|zz|{{{zzzzzz{{z{|{|zzz{{z{y{{z{{{{{z{zzzx{{zz{{{zz||{{zyzy{zz|{{{{|{zzzzz{z{z{zz|{z{zzzzz{zz{{zz{{{{||zy{yzz{{|{|{{|{z{zzz{zz{zz|z{|zz{{zzzy{{{z||z{{yyz{{{z{{z{|{||{z{zz{{z{{{{{{}|{z{{{{z{z||{{{|{|zzzz{|{{{{|{{{z{{{zzz{{{|{||||||{{{{{zz{||{{|||{{{{{z|z{|{z{}|{||{{z{|{|||{||{|{zz|z{{{{~{|||}||z{{{z{{{||{{{|{{z{{{{z|z{{{|{|}{z||{z|{z{||||||{{{yzz|z||{{{{{{||{zzz{z{z{{|||{{{{{z{{z{{{{{|{|{{{z{{{z{{{{{{{{{zzzzyzz{{||{{|{{{{|z{{z{z|{{|||{zzz{zzzz{}{{{|||{{z{{yy{{{{{{|{zz{z{zzzz|{{{||{|{{zz{zz{{{{{{{{{zzz{zzz{{z{{{{{|{{zzz{z{{z{{{{z{z{zzz{{z{|{{{|{z{{zz|zz{|{{{{{}{{z{zyzzz{{z{{{{{zzz{zzzz{zz{{z{{zzzz{z{{{{|{{|{{zzzzyzz{{{{{z|{{z{{zz{zz{||{{|{zzzzzz{{{z{{{||{{{{z{z{z{{|{|{{|{z{z{z{z{{|z{||{{|{z{zz{{|{{{{}{|{|{{{{z{|{|{{|{{{{|{{{{{{{}||||{{{{{{zz{{{|{|{{|{{{{|{{{}||{||{{{{{{{{|{{{{|||||{||{{|{{||{||{{|z{{{{z{||z{{||||{{{{|{|{|{{{||||{z{|{{{||{{{|||{z{{z{{|{|{|{|||{{{{zz{{{||{||{|{{{zz{{z{{|z{|{|{|z|{zz{{{|{||{{{{{z{zzz{{{|{|{{{{zyz{{z{z|{{{}{zz{{{zzz{{|{{{z|z{zyz{{zz{{z{{|{{{{zzz{{z{z{{||z|z{zzzz{{{z{{}{z{{{zzzz{zzz{{{{zz{z{zz{zz{{zz{{{zzz{{zzzzz|{{|||{zzzy{{{{{{|z{z{zzz{{zzzzz{zz{z|{z{z{zzz{|{{{|{{zzzzz{zz{|{{{{|{{zz{zzzz{{{|{{{{{{{zz{{{{{|{{{{{{{{{{{{{{|{{|{||{{{{zzy{{{|{||{|{{{{{{{z{||{{{|{|z{{zz{{|{|{{||{|{z{{{{{{{{}|||{{{z{{{|||{{{{|||{z{{{z{y{|{{||{|{{{{z{{{{||}|{||}{z{{{|{{||{|||||{{|{z{z{||||||{|{{{{{{{|}|{|||{|{z|{{{{{{{||}||{{{|{{z{|{{|{||{|{{zz{{z||{|{|{{{{zzz{zz{{{||||{{{{{{{{z{{{|z{{}{{z{{z{z{||{||{{|{{{{z{{{{{{|{{|{|{{{{{z||}|{{||{{|{{{zz{{||z{{|{z{{{|{z{z|{{}z|{z{{{{{z|{z{{{{{{z{{{{{z|{z{{{{{{{zzzzz{{{z{z|{{zzzz{{z|{|{{|{{{zzz{z{z{{|{{z{{{|{z{z{{{z{{|{|{{z{|z{zzz{{{{{{{{{{zzz{z{z{{{{||{zzzz{z{{{{{{{||{{zz{zzzz{{{{|{{|{{{{{z{{|zz{z|{{zz|{zz|z{|{|{|||{|z{{{{zz{|{{{{{|{|{{z{y{{{|{{|{{{{{zzz{{}{{{|{|{z{{z{zz|{{||{|}{|{{z{{{||||||||{{{{{{z{}|{{|{{|{{|{{{|{{}{||{|}zz{{{|{|{{|{|||||{{{{{{}{{|}|||{||{{{{z||||{|||||z{|{|{{||{|||}}|{|{{{|||{|}|||}|{|z|{{z{||{}|}|{{zz{z|{{||{{|}|{z{{{{{z|{{{{{|{{||{z{|z{||{{}|||{{z|z{{|||||||{{{{z{{z||{{{z{|{{{{z{z{{{{||{z{{{|yzzy{z|{z{{{||z{{zzz{zz{{z{{{{{{|zzzzz{{||z{zz{{|zz{{{z|{{{|{|zzz{z{zyz|zz{||z{{{{z{z{{{{z{|||{z{{zyy{{{||{|{{{zzzzz{{|{|{z{{{{{zzzzzz{{{{{|{{{z{{{zz{{{{z}{{|z{{z{z{{{{|{{{}|zz{z{{{{{{{{|{{|{zz{{z{z{|||{|{{{{{z{{{{{}|{{|{|{z{{z{z{||{z{{||zz{{{|z{{|{{{|||{z{z|{{{{{||||{|z{|z{{|{{||{||||{{{{{z{{{|}{{||{|{{{|{{{{||{||||{{|{{{{||||{|}{|}{||{z|z{}|||{|}{{{|{z{{{|{{{||||{{{{z{z{{{}{}|||{z||{{{z|{{{||{{|{|{|{{{|{|{|{|||z{{{{zz|{|||||{{|{{zz{{{|{z{{|{{{{{z{{{||{|{|||{zz{z{z{{{{|{{|{|{{z{{z{{{z|||{{{|z{{{{{|||{{||{z|zz|zz{{{|zz{|{{zz{zz{z{z{{{|{{z{z{{z{z{|{z{{{z{zz{{{z{{z|zz|{z{zz{y{z{{|z{|||{z{{zzzzz|{{{|{zz{zzzzz{{{{|{{|{{z{{{zzz{{{{zz{}z{{{z{zz{|z{{{||{zzz{zyzz{{{{|{{{zz{zz{z{{|{||z{z{{{{z{z||{{{|{|{{{{{z{z||{|||{|z|{z{z{zy|{|{|{|{{{zz{z{|{{|{{{{{{{{zz{z{{{{{|{|{{{{|{{|||{{{||}z{{{{{{{z{{|}}{||{{{{{{z{||||||{{z{{{|zz{||}{{}||{|{{{|{{|||}||}{{{{{{{{{||{}|}|}{{|z{{{||||||||{z{z{y{{{|{|{||{{{{z{{{{|||{||{|{{{{{zz{{{|{{{||{zzz|z{z{|{|{{||{{{|{{z{|||{{{{{{{zz{z{z{{{{{{|{{zz{|zzz{{|{||{|{zz{zzyy{{zz{{|{|zzy{{zzzz{{{{{{{{zz{zzy{{{|z{{|yzzz{{{zz{{z{{|{z{zzyzzzzz{{{{{{zzzzzzz{{{{|zz{{yzyzzz{zzz{zz|zz{zzzzzzzz{{z{|z{zz{zzyzzz{{z{z{z{{{zzzzzzzzzz{|{{z{z{zzz{zz|z|z{zzzzz{zzzzz{{{{{{{zz{y{zz{{z{{|{zzzzzzzz{{z{{{{{zzzzzyzz|{{{{{{{{zzz{{{zz{{{{{{{{z{zzzzz{{}|{|||zzz{{zz{{{||{{{{{|{z{{{z|{{|||{{z{{{{{{{{{z|{{{{{{{{{{z{z{{{{{{|{{{z{z|{{||{{||{|{{z{{|z|{||||{{{{{zz{}{{|{|}|{{{z{{{z{z|{|{{|{{|z{z|{{{z{{{|{}{|{{{{{z{|{{||||||z{zzzzz{|||{|{{{{{{yz{z{{{{||||{z{{{z{z{{{{|||{|{{{zzzz{{{z{{z{{{{{{zy{z{{{{|||{zzyz{yz|{z||z{|z|z{{z{{{||{{{{{{{|zyyz{{{{|{|{{{{zzzz{z{{{{{||{z{zz{zz{zz{z{{z{zzzzz|y{z{z{z{z{zzzy{zzzz{{z{{{|zzzzz{z{{z{z{{z{{{z{y{{zz{{|{{{{{{{zzzz{y{z{|{{z{{zz{{{{yz{{{{{|yz{{{{zzz|{{{|{zzz{z{{zzz{|{{{{|{|{{{z{{{zz|{{{{zz{z{y{{z{{{{|{|z{{{{yzz{{{{||{{zz{{zzz{{|{{{{|{{{zz{zz{{|{z{||{|{|{|{}{{{{{|z|{zz{z{{{{|{z|z|{|{{{|{z{{{|{|}}|{{{{{{{{||||{{|||{|{{{{|{{|}||}{|{{{{{{{{{|{|||}{|{{||{{{{||||}|{{{{z|{{|{{|z{||||{{z|{{||||{||z|z{zz{{zz{{|{{{||{{z{{{z{z|||||{{{{{{z{z{z|{yz{{|{{z{zzzz{|{z{|z|{|z{{{{z{{|{{{{|{zz{yzzz{z{z{|{|{y{{zzzzz|{{{|{|{{zz{zzzz{{{{{{{{zz{{{{z{{|{z{{z|{{{z{zzzzz{{|{{z{z{yzyz{{z{{{z{zzzz{zzzzz{{{{{{zzzzz{z{z{|z{{{{zzzzyzzzzz{||z|{zzzyzzzyy{{{{zz{{z{{zy{{{{{z{{z{zzzz{{zyz|z{{zz{z{zzzzzzz{{z{{{{{{{{z{{{z{{{|{{{{zz{zzz{{{zz|{|{{{{{zzzz{{||{{{{{zz{zzzz{|{{zz||zz{{{z{zz{{z{|z{|z{{{{{zz{{{{||{z{zz{{{{z{|}||{|{{z{z{{z{|{{|{{|{{zzz{{{{||{{{||{z|{{{{{{||{||{||{{{z{{z{}|||||||{{{{{{z||||{{||{zzz{z{z{{|{||}|{|z{{{z{{{{|{|{|{{{z{z{{{||{|{|{{z{{{z{{{{{{{{{{{{{{{zzyzz|z{{|{{zz{{zzz{{|{z||{{z{zzz{z{{{|{|{{{{zz{zzz{z{{{||zzzzz|{{z|{{{z|{{{|zzzzzz{{{{{{z{{z{{zzzz{|{|{|{z{{zz{zzyz{zzz{|{{{zzzzzz{zy{z|z|zzyz{z{{{{{z{{{{z{zzzzzzzz{{{{{zzzz{z{zz{{{{{{{{zz{{zzzyzz{{z{{{zzyzzzzyz{z{z{{{zzzzzzzyz{z|{{{{{zzz{{z{zz|z{z{{zzzzzz{{{{z{z{{{|z{zzzz{{{z{z||{{{{z{z|z{{{{{{|{{z{zzy{z|{|{|{||{zzz{zy{{{|{{{z{{zzz{{{{|{{{|{|{{{{{z{{{{{|{{||||z{{|z{z{{{}}|{|}z{{{{{{||{{||{|{{zy{{{{{{{z|{|||{}{z{{{{||{{|}{{{z{{{{{|{|{{{{{{{{{|{{|{{{{{||{||z{|{z{|||{|{||{{|zz{zz{{{{|{||z{{{zyzz{{{{||||{{{zzyzz{z{z{{||zz{{zy{yz|z{{{{|{zzyzz{yz{{|{}{||{z{{zyz{{zz|{||{{{{zzzzz{{{z{z{|{{yzzzz|z{|{|{|z{{zz{zzz{{zz{{z{{zz{yyzzz|z{|{{zz{zyyzzy|zzz{z{zzyzzzzy{{{zz{z{zz{{zzyz{z{z{zz{zzzzzz{zz{{z{z|zzyzzzzzyz{{zz{{zz{zzzy{y{{z{z{{{{zzy{zyz{z{zz||{{z{z{zzzz{{|{{z{zz{z{zzzzz{{{zz|zzzy{{{y{{{{{|{{|z{zzz{z{{z{z{{z{{z{zyz{|{|{{{|{z{{{{{zzz||zz||z|{z{|{zz{{{{{|{{z{{z{{{||{{|{|||{{|{{zzz{z||||{|{{z{|zzy|{|{{|}|{{{z{|z|{{{{||||{{{{z{{{z|{|{}|{{{{z{zz{||{|{||||{{y|zzzzz{{|||{{z|{{{{{z|{{{|{|z{{z|z{z||z{|z{|{zzyz{{z{z{|z{{|{{{{{zy{||{{{|{|zzz{zzzzz{|{{{{{|z{z{z{z{z{|{|||zzzzz{zz{zzz||{|zzzzyzz{{|{{{{{|z{zz{z{{|{z|{{{|{z|z{zzzz{zzzzz{|zzzzzzz{{zzz|z{zzyzyzzzz{zz{{{|{yzz{yzz{{{zz{{{{zzzyzyz{zzy{{{{{zz{zzzzz|zz{{|{{yzzz{zz{{z{z{{{{{zzyzzyzzzzzz{{zzz{{z{yzz{|zz{{{{yzzzzz{{{{zy{{z{zzzz{zz{z{{{{{{{z{zzz{{{{{{{{{{{zzzz{z{{{{{{z{zz{z{z{{z{|{{{{{|z{z{{{{{|{|{{{{|zz{{z{z|{|||{{{{{{{{{z|{{{|{z||{|z{zz{z{}{|||||{{{{{zzzz{{{{{{{{{{{z{{|{{{{{||||{z|z{{{{{{|{|}||z{{{{{{|{|z|{{|{{z{zz{|||{{|{{||{{{{{{|{|{|{}|{{{{z{z{{{z{{z{{{{{z{zzzzz|{{{|{{{{zzz{{z{{{|||{{zzz{yyz{|{{||z||{zzzz|{zz{|{{{{}{{{zzz{{{{{|{|{{z{z{zz{{{{{{{{{|z{zzzz{y{|{{{|{|{{zzz{{{z|{{{||{{{{{z{{{{{{zz{zzyzzz{{zz{{z{{{{{z{z{zzzz{{z{{{{{{zz{z{yzz{{{{z{{{zz{zz{yz{z{z{{{zz{zzzzxzzzz||{zzzzyzyz{zzzz{|{{{z{z{zzy{{{{{{{|zz{yzzy{z{{{{{|{z{{{{zz{{{{{{|{{{z{z{zzz|{{|{{z{{{zz{{zz{z|{|{{{{zzz{{{{{|{{{{|{z{{{{zz{{|{zz{|{{{{{{z{zz{{{{||{{{|{{{{{|{{{|{|{|{{{{{z{{|||||{|{{{{|{zz{|{{|}{|{{{z||{{{|{{{||{|{z{zz{{{|{||||{|{{|{{yz{{{|{}|{|{{{{{{{{{z|||{|{{{z{{|{{|{|||{|{{|{{z|z{||{z|||{z{zz{{{z|{{|z|{|z{zzz{|{||z{|{{{z{{{z{{|||{{z{{z{z|{zzz{{{|{{{{{{{zz{zz|{{|{|{|yzz{{zz{{{z{{{{{{{{{zzzz{{{{z{{{{z{{zzzz{{|zz{{|zzzzzzzz{{{{z{z{z{zz{{{zz{z{{{{{y{zzz{zz{{{zz{z{{zzzzzzy{{zz{{{z{z{{yyyzzzz|{z|z{zzzyy{yz{{z{|zzz{zzzzzyz{zz{{{{zz{zz{zzzz{z{|||zzzy{y{y|{{|z{{|{zzzzz{{{{{|z{{|yz{zzzz{{{{{{{{|{{{zzz|zz{|{z||{{{{|{{z{{z||{|{{zzy{{{|z{{|{{{|||{{{{z{z{{{|{|{{z{zz{{{{{|{|{|{}{zz{zzz{||{{|{|{|z{{||{{||{|z{|{|z{{zz{{{|{||{{|{{{{{{|{{||{{|}|{z{|{{{{}{||{||{{y{z{{|{{z|{{{{{{{{{{z{z|z||||{|z{|{z{{z{{{|||{{|z{{{{zz{|{|{||{|{{y{zz{{{||{||{{z{z{zz{{{{{z{{{z{{zzz{y||{{|{|{{zzz{{{z{{|{{||{{{z{z{zz{{{{{{|{{z{yy|{z{{||z|{|z{{yzzzz{|{{{{|z{z{zzzzz{{{{{|z{{zz{z{z{z{{{{{{{zz{{zz{z{{z|{{{{zz{{zzzzz{{{z{{{zz{{zyzz{|zz{{{{{z{zzyzy{{{{{{{{yzzyz{{{zz{|{|{{{{zz{zyzz{{|z{{{zzzz{zzz|{{{z{{|{z|{zy{{{z{z{|{|{zz{zzz{|{{|{||{|z{z{x{{{{{||{{{{{{y{z{{z|{{{{|{z{z{zzz{{{{{{|{||{{z{{{{{|{|{||{{{{{z|{|{{{|{{||{{zz{{z{{{||{{{{|{z{{{z{|}||{{|{|z{{{{{{|||{|||{|z{|z|{{{||{}||{|z|{z{{{||{{||||||{{{{{||{||{||||{|z{{{{{{{|||{|z|{{zz{{{||||||||{{{zzzz{|||{{{{{{|{zz{y|{{{{{|{{zzz{{{{z|}|z{|{{{zzzy{{{z{{|{{|{zzzzzz{{|z|{{|{{z{{z{yzz{{|{z{|{{zzzzz|{{|{z|{|{z{zz{{z{{{{{z|{{y{{z{zz{{|{{z|{{z{zz{{z{{z{zz{{zzzz{z{z{{{{z{z{zzzzyzzz{{{{{{{{z{zzz{zy{{{{{|{|yzz{zzzzzz{{z{z{z{|yz{zzz{z{z{{{zyyz{{zz{{{z{z|{zzzz{zzz{||z{{{{{{{zzzzz{z|{{{{}yz{z{zz{{{|z{z|z{z{z{z{z{{{{{{|{{zzzz{zz{|{{{{|{{{{{z{{z{{{{z{||{zz{z{{|{{||}|{|{{{{{{|{||{|z}||{z{{{z{z{{||||||{{{{{z|{|||{{|||{|{{{{{z{|{|{||||{{z{{{{{|{{|{|||{|{|||||{{{|||{{{{{|z{{{|{{||||{{{{{{{{{{{|{}}{{{{zzz{{{|z{{||{|{zzzy{z{|||{{||{{{{zzzz{{{{{|{{zzz{zz|{{||{{{||zz{{zyzz|{{{||||{{zx{zz{{y|zz{{|{{z{zyzzz{|{{{{|{|{zzzzz{{|{z|{{z|{z{zzz{{|zz{{{{z{zzyzzzz{{z{{{z{zzzzzz{{zz{zz|zyzzzyzzz{{z{{{{{zz{zzz{z{{z{{z{z{zzzzzz{{{z|{{{zz{{z{{zzzzzz{z{{{{z{zyzy{{z{{||{z{zz{z{{{{{{{{{zz{z|zzz{{{{{{z|{z{zzyz{{{{{||{{{z{y{{{{{|}{{||||{{z{y{z{{{{{|{z{z{z{{zz{{{{{{||z{{{{zz{{{|{{{{{{{z{z{zzzz|z{{{{{{y{|{{z||{|||||{{{{{zzz{{|{|||{|z{{{zz{|}||z{||{{|{{{|{{|{|{||{{{{{z{{{|{||{|{{|z|{z{z{|{|{{{|{|z{{{{{{{{{|||||{zz|{{|{{}{|{||}{{|{{{{{{|{|{||{|{{{zz{{{|{{{{|{|{{zzzzz{{{|{|{{zzz|z{z{z|{||{{{|{z{z{zzz{{{{||{{|{z{{{z{z{{|{||{{zz{zz{{{{|z{{{|z{{y{{z{|{||{{|z{{{{{yz{|{zz|{{{zzyzzy{|z{{{{{zz{{{{{zzzzz|{{|{{z{{{zzz{|z{{z{{zzzzz{z{{z{zz|{{zyz{z{zz{{z|{{{{{z{zz{{zy{{{{{{zz{{zzy{{{{{{z{{{z{z{{zyz{{z{|{{{{zzz{z{{{{{|{|{{{z{zzzz{|||{{|{|zz{z{{zz{{{{{{{|{z{zzzz{{{z|{{{{zz{zz{yz{||{{{{{{z{{z|zz|{||{|{|{{{zzzz{{||||{{|{z{zz{{z||z{{||}{{{{zzzz|{{{{{{{|{{{{|{|{{|||{{||{|z{{{||||{{{||{{|yzz{z{}{||||||{{{{{{|||{{{{||zz{z|{{{{||{||}}{{z{z{{z|{{|||}{{{{{{y{zz{z{{{{|{{{z{{{z{}|{{{{{{z|{{z{z{z{|{{{|{{{z{z{z{|{zzzz{{z{zyzzzz{{{z{{{{zzz{{z{|zz{{{{{{zzzzzzz{{{{{z{{{z{zzz{z{|z{z{{{zzy{yz{zz|{zz|zzzyzyzzzz{{|z{{z|{z{zyzzzzz{zz{{zzz{z{z{zz{zzz{{zzz{zyzzz|z{{{|{{{{yzzyyz{|{zz{z{zzzzzz{yz{zz{|{z|zzyzzzzz{z{{z{{zzzyzzzz{{{{z{|{{{zyzyz{{{{z{{|{{{zzxzzz{{zz|z{{z{zz{zz{{{||{{||zz{{zy{zy{|zz{{|{z{{{zzz{z{zz{}{{|{{{{zzz{{{{|{{{z{{z{{{{{{{{z|{{|{z{z{zz|z{{||||{{z{z{z{{{{{||{{zz{zzz{||{|{{|{z{{z{{{{|{{|{||{{{|zz{|{z|{|{|}|{zz|z{z{|||{{||{|{z||zz{{{{||{{{z{{{|{{z|{{|{{|}{{|z{z{{|{{{{{||{{{{z{z{z|{|z{||{{{z{z{{{{{z{{zz{yz{{zz{{{{{{z{|{zyz{yz{{{{{{{{{{{{zzzzz{z{{z{{{{z{z{yz{zzz{z{|{{{z{z{zz{z{{z{{|y{zz{zzzz{{z|{{{{zzy{zzz{z{zz|{{zz|{{zyzzz{{z{{z{zzz{yzy{{{z{|{{{zzz{yyzz{{{{z{{{zz{yzzzz{{z{|{{zzzzzzzyz{|z{|{{yzz{zyzyz{{zy{z{zyzzzzzz{{{{{|{{z{yz{y{z{zz{z{||z{{zz{{{{z{z{{{{{zzzz{z{z|{z{{{|{zzz{zzzz{{{{{{|{z{zz{z{{{|{{{|z{{{y{zzz{||{z{{{{{{zzz{|||{{{|{{z{zzz{{z{{|{z{{|{{{{{{{z|{{||||||{{{zz{{z|{{{||{{z{{{{{{{{{|{{|{{{{z{|{|||{{|{{|||{z{z{{{{{{|||{{{{{{{z|{|{z{|}{|z{|z{z{{{|{{|{{{zzzzz{{{{{z||{{zz{{{{z{{{{||{|{|z|{zz{z{{z{{{y{{{zz{zzz{{{z{z{|{{zz{zzzz{{{|||{{zyzz{zz{{z{{{{||zzzzz{{z{z{{{|{{|{zzyzz{|||{{{|zz{z{zzz{{z{{z{{{zzzzzz{z{{zzzzzzz{{yzzz{z{{z{{|zzzzzzzz{{zz{{{{{z{zzzyz{{z{z{{{{zzzyzyzz{z{{{{{zzzzzzzzz|z{zz{zzz{z{{zzz{{{zz|{yzzz|{{zz{{{z{{zzzzzyzzz{{{{z{|{{z{zzyzz{{z{{{{{{{zzzz{z{{z{{{{{{{z|zzz{{||{{{{{|z{{|{{z{|{{{{|{{{zzz{zz{{|z{{{{zy{{z{zz{z{||{{{{{z{zz|{{|z|{|||{{{z{zz|{|{||{{|{{{zzz{{||{||||||{{z|{z{{{{||{{{|{zz{{{{{{|{{{|{{{||{{{{{{|z{|||{{{z|z{{{{}{|{||{{z{|{z{{{{|{|{||{zzzzz{{{{{|||{{{{{{{zz{{|{{{{{z{{z{zzz{{{|{{{z{zz{{{zy{{{{{zz{z{zzyz{z{{{{z{{{{zzz{zzz{z{{|{{{{{{zz{zz{{{{{|{{{|{yzzzy{{{|{{||zzzx{zzzz{{zzz{{{z{zy{yzz{zzzz{zzzzz{zzy{yz{{z{{zz{{yz{{z{{{{{{{{zzzy{zz{z{{{{zzzz{yzyzzz{{|{|{{z{zzzzzyzzzzz{yzzzzzzyzzz{yzz{{zzzzzzz{zz{{{{zz|zzzzzyzzz{zzzz{{{zzz{yzy{{{z{{{|z{{zzzz{{{z|{{{z{{zz{z{zz{{{{{zzzz{{{zzz{{{|{{{zz{{{{z{z|{{{zz{{{{{zy{z|{z{{||{|zz{{{{{{{|{{{{{|{{{{{{{z{|{{{|{|{zz{{{{{z{{{{|||{z{{z{{{|{|||{|{{{{{{{z{{|{|{|}|{{{zz{{{{{||{|zz{{{{z{|{{{|z{|{|{{{z{|{{z||{||||z{|z{{z{{|{{{|{{{{{zzzz{{{{{{{{{{z{z{zzz{{{|z{z{{{{{z{zz{{||z{{|{z{z{yz{{z{{{|{z{|zzz{z{|{z{|{{{{zz{zzzz{{{{{{||z{zyz{zzz{{{|{{|{z{zz{{x{{{{{{{{zz{{z{yy{{zz{{|{{zzz{{z{{{y|{{{{z{zyzzz{{|{zz{|{zzzzzzzz{{{{{z{{zzzzyzzzy{{{{{{{{zzzz{{zzzz{{{{{zzzz{yzz{zz{z{{{zzz{{{zy{{{z{z|{{{{z{zzz{z{|zzz{{zz{{{zz{{z{z{||zy{{{{{{{{{{{{{{zzz{{zyz{{{{{z{{{zzzzzz{|{{{||{{{z{{zyzz{{{{z{{{z{z{{{{{{{{|z|{{z{z{{|{{||{|{|{|{{{{{{{{z||{|{|{|z{|{z{z{||||||{|{z{z{{|{|{{||{|||{{{{{{{||{{{{||{{z{{|{{}||{|{{{zyz{{{{|||{||||z{x{|{{{|{|{|{{||z{{{zz{{|{{{|{|{{y{zzz{{|{{{|z{{{{zzzzz|{{{{{|{{{{z{{zz{||{{|||{{zz{z{z{{{{{{||z{{{zzz|{||||||{{{{{{zzzz{|{z{{|{z|zzzzz{z{{||{|z{{yzz{z{{zz{{{|{{{|zzz{||{{{|{{{zz{y{z{{{z{{{z{{{{zz{zz{zz{{z{{{zz{zz{{{{{{{{{{{zzzz{zzz|zz|z|{{z{zzzzzzzzz{{{{{zzz{zzzz{y|z{{{{z{zzzzz{{z{z{zz|zzz{z{zz{|{z{||zz{{zz||{{{{{{z|{z{{{{{{{{{|||{|z{{{zz{{{{{{}|{{{zz{{{{z{||{z{{z|zz|z{z{{{|{{}{||{{{{{{{{{||{}{|{{{z{zzzz|{||{{|{{{{{{z{{||{}{|{{zz{{z{z||||||||{{|{{{|{{||||}|}|{{{{{|{{||{|}||||{{{{{z{||||}|{{z{{z{{{{{|{|{{||{{{{z{|{{{{{}|||{z{z|{z{{|{{||{{{{|{z{z{{{{}{||{z{z{{{{{||{|{{{{|{zzzzyz|{{|{{{{zz{zy{z{{{|{{{|{{zzzzz{{{{{{{|{{{{z{{{{{|{|{{{{{{zz{{zz|z{{{{{{zz{zzzzzz{|z{|||zz{zzzzz||{{z{|{zz{yy{z{zzz{z{{|zzz{zz{z{{{zz{|{{zzzzz{y{z{{{{z{z{zzzyzzzz{z|z{|{zzz{zzzyz{zz{zyzzzzyyzzz|{{{|{{z{{zz{zy{z{{{|{zz{zzzzzz{{{z{{{{{z{zzz{{{{z{{|{{{z{{z{{{{{||{{{{{z{z{z{{{{{{||z{zzzzzzzz{z{{{{{|zzz{zzz{|{{{{{|z{{z{yz{{||{|{{||{{{{z{{z|||{{{{|{{{{{z{{{|||{{{{|{{{{z{z||{||{}|zy{zz{{z{z|{|||||{{{{|{{|{{|{{{||z{{{z{{||{z|{||{{{|{{zz{{|||{|||{z{{zz||{|||{{{{zzzzy{z|{{|{|{|zzzzyz{zz|{{{{{{{{zzz{{{{z{{{{{|{{zzzzzz{||{{{{{{{z{zzzzz{{{{{{|{{{{{z{z{{z{|{{{{{zzzy{{{{{{{z{{{z{zyz{z{|{{||{{{zzzzzzzz{{z{{|{{{{{z{z{z{|{{{|zz|zzzzzzzzz{{{z|zzzz{yzzzzz{zz|{{z{z{zzz{z|{{{{{zy{zzzzz{z{{{z|{{zzz{zzy{{zz{|{z{zzy{zzz{{|{z{{zzzzzz{{y{{{z{{{{{zz{zzz{{{zzz|||{{{zzzz{{yz|z|{{{z{zzzzz{|{{z{{|{z{z{z{{{{||||{{{z{{z{z{{||{{|{{z{yzzz{z{{|{{|{{{|z{z{zz|z|{|||{{y{z{z{{|||{{|{|zzzzzzzz||||{{|z{zz{{{{{||{||||{|{{{{{{{{||{|||||{{{{{|{{}||{{||{{{{z{}|{{|{|{|||y{{zzz|{{{||{|||z{{{{{{{||{|{||{{{z{{z{{{z||||{{{z{z{{z{{|||{z{{z{zyzzz{z|{{{z|{z{{{{zz{{{z|||{{{zzzz{z{z}z{||{{{zzzz{{{yz{{|z{{z{{zz{zz{|{{{{{{{{zz{zz{{{{{z{|{zz{zz{z{{z{{zz{zzzzzzz{{{|zz}{{zzzzzzzz{{{{{{|{zzyzzz{z{z{{{z|{z{zzz{yz{{zz|{{{yzz{zz{z{{{{{{z{{yyyzzzzz{{zz{{{{zzyzyzzy{yz{|{{zzzz{{zz{z|{{z{{{{zz{z{{z{zz{|{{{zzz|y{z{z{{zzz{{{zz{zz{|{|{z||{{zz{{zz{z{{|||{|z{{z{zzz{|{{{{|z{{zz{|{{|{{|z|{{{y{z{z{{{{|||}||{{{zz{{z|{||{||z{{z{{zzz{{{||}{|{{{{{{{{{{||||||{{{{{|{{||{||{|{{{z{|{{|{|||{{{}|z|{{{{{||||{|}{|z{{|{{z{{{|{{}|||{{{zz{|{|{{||{{z{{{z{{{{{{zz|{{z{z{zz{{{|{{{{{{z|{{zz{||||{{{{{{|{{zz{y{{{{{{{z{z{zzz{{{{zzz|{{{zzzz{y{{{{{{{|{y|{zzz{{{{{{z{{{|zzzzzz{z{|{{{{z{zzzz{yz{{|z{{{{zzz{z{zz{{{y{{{z{zzzzy{z|{zz|{{zzzz{zzzz{{|{zz|{zzyzzyz{z{y{{{zzz{zz{zz{zz{zz{z{zzzzzyzzz{yzzzzz{z{yz{zy{yz{{{{yzzz{{yz{z{z{{{{{zzzzz{y{{{{{{{|{yzzyxzz{{zz|{{{{zz{zyzz{{{{z{|zzzzzz{{zy{{{{}z{{zzzz{yz{{{|{{|{z{z{z{z{{{|z{|||z{zz{zz{zz|||||{zz{zz{{z{|{|{||{{{{zz{zz|{||{{|{|z{zzz{|{|||{|||{z{|{{|zz{||{||{{{{zz|{z{}|||{{{|{{{{{{z{||{{{}{{zz{z{z|z{{|{|||||{{zz{{{|{{|{{{{{{zzz{zz{{{|{z|{z{{zzzz{|{{{|{{{{{{{zzz{|||{{{{zzzz{zzyzz|{{{{zzz{zzzzz{|{{z{{{{{z|zzz{{{{{{|{{{zz{zz{{{|z|{{|{{{zyz{{z{{{{{{{{zzz{zy{z{{{{{{|{{zyzzzzz}|z{z{zzz{zzzyz{{{|y{{{{{zzzzzzzz{z{{|{{{zyzzzz{yz{{{{{zz{{zzzz{{z{|{{{{{zzyyzzzzzzz{{z{{zzzzzzzz{{z{{|{{z{z{{zzyy{zz{zz{zz{yzzzz{zz{z{|{{{zz{zzz{{{{|{{z{{{zzz{z{{{{{{{{z|{zzyzz{{{{||{{{z{{{z{z{z{{{{{|zz{{{zz{|{||{{zzzz{{{zz{{|{|{{|{{zz{{|zz|{|{||{z{{z{zz{{{||{{{|{{zz{{{z||z{|{}||z{z||{z{|{{{||||{{{{{{{{|{|{|||{{{{{z{{z||||z|{|z|{{{{{|{|{|||||{{{|{{{|{{|{|{|{{{y{{{z{|{|{|{|{{zz{{z{{{{|||{{{{}{{z{z{zz|{{|{{y{zzz{y{||z{z{}{zzzzz{z{{{z{{{{{z{zz{z{{z{{z{{{{z{z{yz{{|{{{{|{{z{zy{zzzz{|{{|{zzzzz{zzz{|{z{{{{zzyzzzz{||{{{|{zzzzz{z{z{{{{{|{zz{zzzzz{z{{{{|{{{zzyzyzzz{zz{z{{{{{{y{zzy{{{{{|{zyyzzzz{{{{zzzz{zzyz{yzz{z{zz{|zzzyz{{zzz{z{{|z{{zz{zz{{{z{{z{{{z{{zy{zz{|{{z{z{{{{zz{z{{z{zz{|{zz{{z{{z|{{{{{|{z{{zzz{{{{{{||z{{{z{{{z{{{z{{|{{z{{|{zz{|}|{|z|{{zy{{{|{{{{|{{{{{{|z{zz{||||}|{{zz{{{{{||||||||zy{{{{{{{{|{|||||{y{{{{{{|||{|||zz{|z{{z{|{|{||{{z{z{zz{{{{|||||{{{{{z{{{{{{|{|{{{{yz{z{{{{|z||||z|{z{{yz{||{||{{{{{zz{z{y{{{{{{{{zz{{zzz{z{z{||{zzz{z{zy{{{|{{{{{z{z{zzz{{z|{{{zzzz{zz{{{{|{{{{{{zzzyz{{{||z{z{zz{zzzz{{{{zz{zzz{zzzyzz{zzzz{{z{{z{z{zzz{{z{{z{z{z{{yyzzz{{{{|{zzz{zzzzzz{{{{{{z{{zzzzzz{{{zz{|{zzzyzzz{{z{z{z{zzzyzzzzzzz{{z{zzzy{zzzzz{zzz|{{{z{z{zz{{{yz{{{{zzzz{z{z{{{{{{{{{{zzzzzz{z{{{{|{zzz{{z{zzz{{{{{z{z{{zyyy{|{{{|||zzz{z{z{|||z{{{||{z|{{|zz{|{|z{{{{|z|{zz{{{|{{}}{{{{z{{z{||{{{{|{{{{z{{z{{|{{||}{zz{{z{{{|{{{}|{|{{{z{z{z|{{{|{|{{||z{{{||{||}|||{{z||z|{{{{|{{{{{{{{zz{{|{|||{|zz{z|z{{{{{{{{|}{{z{yz{zz{{||z||{{{zz{{|{{{{{|{{{{z{zzzz{{{{zz{{{zzz{yz{{{{{z{|{{zzz{zz{z{z{z{{|{{{z{z{zz{{{zz{{{z{zzyy{z{{|z{z|zzzyzzzzz{{{{{zz{{{zyzzz{{zzz{zz{zyzzzyzzzz{z{{{zyzzzyzzz{{{{{z{zy{zzzzzzz{z{{{{{yz{zyyzzzz{z{{{{zz{yzzzy{{zz{{|zzzyyzz{z{{z{{{{zzzzzzzy|zzz{{{{zzzyzzyyz{{z{{z{zy{zyzzz{z{{{{{|zy{z{z{z{{zz{{|{zz{zzzzzz{{{{{{{{{zzz{zz{|{|z{|{{z{{z{zy{z{{z{{zz{z{z{z{{{{|{{{|{z|z|z{z{{{|{{{|{{{{zy{z{z|z{||{{z{z{z{z{||||{{{{|z{z|{z{|{{{|||{{{{z{{{{{{|||||{{{{zz{z{|{{{|||{{z{{{z{{{z||{|{{{|{{z{{{{z{{|{|{{{{z{zz{{z|{{|{{{zz{z{{|{{{{{|{{{y{z{zz{|{{{z|{{{z{{{zzz{{|{|z{{{{z{zyz{{|z{{}|{{z{z{zz|z{{||||{y{{zzzz{{{{z{{|{zz{{zzz{{{{{|z{{y{{zz{zz{{z|{{z{{{zzzzz{{{{{|z{{zzz{{z{{z{{{{z{{z{{zzzzz{{{{{zzzz{zzyzzzz{z{{{|{zz{zzzzzzz{z{{{zyzz{yzzzzzz{{{|{zzzzz{zz{zz{{{{{{zzzzzyzz{{z|{{{zz{{z{{z{{z{{{|zz|z{z{{{{|{{{||zzz{zzz{{|{{{{||{zzz{z{z{{|{||{z{{zz{{y{{{|{{z|{|{{{z{{{{|z{{|{{{{z|{{{{{{|{|||zzzzz{{{{{{{||{|{{|{zzz{{|{zz|||{|z{z|{{z||{{{{||{{|{{{|z|{|{{||||{{{z{{{{||||{|{}{{{{{||{||||{|||{{{{{z{{|{{{{|{{{{||z{|{{{{{{{|{{{zz{{{{|z{|{{{|{|{{zz{{{{|{|{|{zz{zzz{{|{|{{{{z{{zzz{z{||{{}z{z{{{z{z{z{|{|{{{{{{zzzzz|{{z{{{{|zz|{z{y{{{{{z{{{zzzzzzz{{||z||{{zzzzz{{z{{z|{{{{z{{zyzzz{{z{{{zzzzz{yy{zz{{yzz|zzzzzz{|{|z{zz{{{z{zy{z{z{{z||z|{{zzzz{z{z{z{{|{zz{zzyzy{{{{{{{{yzzy{yzzz{z{{{{{yzzz{{zz{z{{{{{||{zz{{zz{{{{{{{{zzz{{xzy{{z{{{|z{z{zz{z{z|{z{{||{z{zzzz{{{|{|{|||zyzz{{z{{{|{{{{{{{z{{z{{|{z|||{|{{z|z{|{||{{|||z{{{{||{|{{{z||{|{{{{zz{{|{{{|{{}z{z{{z{||{{{||||{{|{|{{|{{|{}}{{|{{{{{{z}||{}|||z{{{{|{|{{||{||||{z|{|{|{|{|||||{{|zz{{{|{|||||{{{{{z{y{z{|{||{{{z{z{{{z{{|{{|{{z|{{{{{z{}{|{||z{zzzzzzzz{z{z{{{z{y{zz{z{{{{{{|{zzz{zz{{{{z{{z{zzzzz{{zz{{{z{|{z{zzzyzz{{{|{{{z{{{zz|zz{z{z{z{{yzzzzzzz{{{{zz{zz{zz{zzzz{zz{||{z{zzzzzzzzz{z{z{{zzzyyz{zz{z{{{{{z{zyy{yz{{|z{{zzzzzzyyyzzzz{{zz{zzy{zzzzzzzz{{{zzzzzzyyzz{{{z{|{zz{{z{z{{|{zz||zz{zzyzz{{z{|{{{yz{yyzz{{{{{{||z{{zzzyz{{{{{{||{z{zz{z{{{{|zz||{{zz{zz{z{{|{{|{{{z{{{z|z{{{|{||{{{zzzz{z||z{{{||{{{{{z{{{|{|||{{{z{{{{{{|{{|||{|{||{{{|{{|{|{{|{|{{{z{z{{|{|{{||{|{z{zzz{|{}{|||{zz{{{{{{|{|{{|||{{{{{z{{|{{{}{{|zz{{z{{z{|{|||{{z{zzz{zz{{|{{|{{z{{z{z{{||{{{{{{{z{zz{{z{{z{{{{|zzzzz{z{{{{{|{|zzzzz{z{{zz{z{{{{z{{zzy{z{{{zz|{{z{zzz{yz|{{{|{|zz{zzzzzzz|{{z{{z{zzz{{z{z{y{{{zzy|{z{zzzzz{z{{|{zzyzyzzz{{{{z{zzzz{z{z{zz{z{{{{{zz{xzzyy{|z{zz{{zyzz{yyz{{z{z{|{{{z{zz{z{zzz{{{zzzz{z{z{z{z|{|{zzzyzz{zzz{{|{||z{zzzyz{zz{{{{{{y{z{z{{z{{{z|{|{{{{z{zzzz|{{|{{{z{zz{zz{{{{{{{|{{zz{z{{{{{|z{|||{z{{{z{zz{||||{{{{{{{|{{|{{||{{}z{{z{|z{}{|{{{|{{z{{z{{z{|{{z||{|{z{z{|{{|{{|||{|{{{|{{{{{{{|||{{{z{z{z{{{{||{{{|{{{|{{{|{{||{|||{{{{{z|{{{|||z||{{yz{{{z}{|{|||{{zz{zz{{{{{{{{{{{{{{{yz{{|{||{{zzy{{zzz{|{{{|{{{zz{zz{z{|{z{|{|{z{z{zzy{{{|{{{||zzzzzzy{{|{zz||z{zzzz{{{z{|||{{z{{zzzzyz{{{{{{{z{{zzzzzz{zzz{|z{z{zzzyzz{|{zz{{zzzzyz{z{z{|{|zzzzzzzzzzzz{{|{{{{z{{yzyy|{{{{{||{z{zzzzy{{z{z{{z{z{zyyzy{{zz{{{|yzy{{zyzz{{z{{|{zzz{zzzz{{{{{{|{zz{zzzzz{z{{{{||{zzzzzz{{{{{{|{zz{z{{|{z{{|{{|zz{zzz{zz{z{{||{|{{{zz{{{{{{|z{|{{{{{{|zz{{{|{|{|{{z{{{||{}{{|{{||{{{zz{z{|}|{|{||{{{z{{{z|||{|{||{{{{{{|{{{{{||{{}{z{{|{{{|||{{}{{z|{{{{{{{|{{|{|zzz{{zz{}||||||||z|{{{{z||{{||||{{{yz|z|{|z||||z|{{|{zz{z{||{{{||{{z{y{{{z|{{z|z{{zzzzz{zzzz|y||zzzzzyzzz{z{{|{|zz{zz{zz{z{{z{{{{zzzzz{zzz{zz{{|zzzyyzzzz{z{{{z{zz{zzzzzz{zz{|{z{zzzzyzy{{zy{{{{{zzzz{zz{zzz{{{|zyzzzzzyz{{{{{|zzz{zzzzzz||z{|{|zzz{zzy{zz{z{{{{zzzz{zzzz{{{z|z|z{yzyyzz{{zzzzz{{y{zzyz{zzz|z{{zzzzyzz{y{zz{z{{{{{zzzyzz{{zz{{z{z{|zyzzz{z|{{{{{{z{zzzzzz{{{{{{{{{{zzzz{{{|z{{|{{{{zzzz{{{{|{|{{|{zz{{{z|{{{||{{{{zz{z{{{|||z|{||{z{zz{z{{|{||{z{z{{{zzz||{|{|||{{{z{{{{z{{||}|{{{z{{{z{|}||||{{{{|{{{{{|{{{{|{|{zzz{{{z{|{|{{{{{{{{zzz{|{{{||{{{{{zzzzz||z{{{|{{{{zzz{z|{{{{{{{{zz{zz{z|{||}{{|zyzz{zzzzz{|zz|{zzyz{zzz{z{{z|{|{{{zzzz{zzz{{{{{zz{yzyz{{{{{z|{{z{|yz{zz{{|{z{z{{{{z{z{zzz{{{z|{z{zzzzzzzzzzz{{{{zzzz{zzzz{|z{z{zz{yyzzzz{zz{{{{{zzzyzzzz{z{{{{zzz{yyyzzz|z{zz|{z{zyyz{z{zz{{z{z{zzzzzyzz{zzz{|{zzzzz{zy{{z{z{{{{zzz{zzzzz{zz|zzzzzzz{z{z{{{z|z|zz{z{zzz{{{|z{z{{{zz|{zz{|{z{{||{zy{z{{z{|{{{|{z{{{{{zzz|{{z}|z{z{z{z{{{z{{}|{|{{zz{zz|z||{{z{{{{zz{|zzz{|{{|||z{z{{{zz{|||{{||{{z{{{|{{{||{{||||zzz{{zz||{||||||{zzz{|{||z||||{z{{z{z{zz{{{||||{|z|zz{{{|{{|{||z{{zzzz{z{z{{||{{{{{zy{{{|{{||{{|{{z{zz{||{|{||{z{zzzz{yzy{{{|{|zzy{x{zz{{{zz{{{{z{zzzzzzz{z{||{{z{yzzyz{{{{{{{|{zzyz{zy|{{{{{{{zy{zyz{z{{z{{{{{y{{zzzzzzyz{{{|{zz{{zzy{{zz|{{{{{z{yz{{z{{|zyzz{zzzzzzyz{z{zz{zzzzzzyzzzzz{{z{{{zzzzzyzzz{zzzzz{zyzyzyzy{zz{{|{{zyzzzzz{{{{{{{{z{{z{zzzzz|{z{z|{zz|zzzzz{{{{{{{|z{{{{zzz{{zz{{{z{z|{zz{{zz{{{|{{{z{z{y{{{z|{{|{z{{y{{{zz{|{{z|{{{{zz{zz|{{|{{||{{z{{{||z|{{|z{||{{{z{zzz||||{|{{|{z{{{{{|}{|{{||y{{zz{|{{|{{{{{||{z|z{{|||z{{|{||{{{{{{z{{{||{{|{{z{{zz{|{z{|{|{{{z{zz{zz{||{|{|z{zz{{z{zz{{z}{|z{{z{z{{{|{|{{{zy|{{{{z{z|{|||z{{z{{zzzyz|{{{z|{z{zy{{{zz{z{{{||{zzzzzzzzz{{{{{|{zzzzzzz{{{{{{{{{zzyzz{z{{|{{{{{zz{{{zyzz{{{{|{z{z{z{zzz{z|{zzz{{zzzzzzz{|{{{z{{zzzz{z{zzzzz{{zzzz{zy{yz{z{zzz{{{z{zyzzz{z{|z{{z{{zzzz{yz{{|z|{z{{zzzzzzzzz{z{{yzzz{zyzzz{z{z{{{zzz{zz{{z{{{{{{{zz{{z{{{{{{{{{|{{zz{zz{{{{|{{{|||{{zzy{z{|{{{{|{{{{{{{{z{{|{{{||{zz{{{z{{|{|z{z|{z{z{{z{{{|||||{{z{{{z{||||||}|}{{{|zz{{{||{||}{{{{zzz{z|||||||{{{z{{{{{|{{{||||{{z{{|{{z|||||}||{z{z{zz{{{|{}|}{z{{{{z{{{|{|||{{{{{{{z{|{{{|}|{{{{z{zz{z||{{||{{{{{z{{z{{||{{z{z{{{{y{{||}}|z{{{{y{{y{zz{z{{zz{zyzyzyzz{{{z{}{|{z{{{{zz{z{{|{|{{y{{z|z|{z|{z{|{|{zy{{zz{{zz{{{{zz{zzzzzz{zz{{{{{z{zzzzyz{{zzz{{zzyyzzzzzzzzzzz{yyzzyyzy{zzz{{{z{z{zyzzzz{{{{{{{{{zyzzzzzz{zz{|{{yzzyzzzz{zzzz{{{zzzzzxzzz{{z{{{zzzzzy{|y{zzzz{{{z{yz{{z{{|{{{{{{zzzzzzy{z{{{{z{{zz{{zz{{|{zz{{|{zz{{zzzz||{{z{{zzzzzzzzz{|{{{|{zzzz{z{z{{|{{}|{{z{z{{{zz{||{||{{{z{z{z{{{{{{{|||z{zz{{z{{{{||{{{z{{z{|z|{{{||{{||zyzz|{{{|{{|{|z{|{|zzz||{{{}{|{{{{z{{z{{{|{{|{|zz{{{{{{|{z{||{{{{{{{z{{{{|{{||zz{{zzz{z{{{|||{||{z{z{z{||{zz{|zzz{{z{||z|||{{{z{zzzzyzzzz{{z{|{{|zzyzy{|{{z|{{zzyzzzzy|z{z{{{|{y{yzzzz{{{|{z{|{{{zzzzzz{z{z{z{{zzyzz{zz{zz{|{zzzzzyz{yzz{{{{{{{z{zz{zz{{zz{{z|{zzzzzzzz{{|{z{zzz{zzzyzzz|z{{z{z{zzzzz|z{{{zz{z{yzzyyzyz{{zz{z{{zzzzzzzz{z{z{z{{zz{{zzzz{z{{{{{{zz{zz{{{{{{{{{{{z|{zzz{{z{{{{{|zzzyzy{{z{z{{{|{zzzzzzzz{{{{{zz{zz{zz|zz{||z{{|||zz{{zzz{||{{}z{|{{z{{zz{{||{|}|z|zz{{{{||||{||{{zz{{{z{{{|||{}|{z{{z{zz{|||{||{{{{{z{{{{||{{|||{{zzz{{{{|{|{||{|{{{{{z{z{|{{{|||z|{zz{{{|||{|{{|{z{{zz{{{|{|{{{{{zzyzz{{|{||{{|||{zzz{zz{{{{||{{z{zz{|{|||||{{{z{{z{{zy{z{{{{{{{|{z{{z{{{{{{{{{{{zzz{{zz{{z||{{{zzzzzzzz{|{z|{{{z{zz{{z{{|{{{{{{zzzz{zz|z{z{{{z{{zzz{z{|z{zzzz{{zzz{z{z{{z|z{{{zzzzzzzzz{{|{{{{{zzzy{zz{z{{|{z{zz{zyyzy{zz{{z|zzzzyzy{zy{zzzz|{z{y{zzzz{zzzz{{{z{zzz{{y{z{|{{|{{{z{{zz{{{{|{{{{{z{{z{zz{|{{z{|{{zzzzz{{{||||{|||{z{zyzz{{{||{{{{y{z|{yzz{{{{{{{{{z{z{{{{|{z{||z{{{{{z{z{{}{||||{{{{{{||{{{|z|{|{{{{z{z{{|||{|{||{{{z{{{|||{|{|||{|{{{|{||{{|}||}{|{|{||||{{||{||z{|{{z{{||{{{{||{{{|{z{{||{{|||{{z{{{{||}|{}{||{|z{z{{{{{|z{||{{|{{{{z{{{{|||{|{y{{zzz{{|{}~z|{z{zzyzzz{{z{z{|{{z{zz{z|{{zzz{|{zzzz{z{z{{{{z|{{{z{zzz{{{{{{y{yzz{yzyzzz{z|{z|||{{zz{{zzz{{{{{{z{{zzzz{z{zzzz|{z{zzzzzz{{z{zz{||y{z{zzyz{{{{{{z{zzz{zzzzz{{z{zz{{zzzyzyzzzzz{{{zzzzzzyzz{z{z{{z|z{{zzzzzz{{zz{|z{z{yzzzy{z{{{{z{zzz{zzz{{{{|{{|{{{z{{z{zzzz{{|{{{{zzz{{z{{{{{|{{|{zzzz{z{{|{{|{|{{{z{{zz{z{{|{}{{z{{zz{{z{|{{|{|z{zz{{z{{{|||}{|z{{{{{{|{{{{|{{{|z{|z{{z|||{||||{{{{|z{z{{|{z{||{{{{{{||{|{{||{{|{{z{z{{{|{||||{{{z{{{|{}{{|{{|{{zz{|{{{{{{||{||{{z{|{{z{|||{|{{{zzz{|z{{{{{|||{{{{{||zz{|{{{}||{||zzz{{|{}}~|{{z{zz{{zzz{|y|{{{zyz{zzz{{{{{{{{|{z{{zz{z{{z{|{{|z{{z{zzzz{{{{z|{{{{zzzzzz{{{{|z{zz{zz{zz{{z{z|{{{{zzz{z{zz|zz{|{zz{zzzzy{{z|{{{zz{{{zzzz{{zzz{{{{z{zzzz{zzzz{z{{zzzzzzzz{z{|{{{|zzyz{yzzzy{{z{{|z{zzzyzyzz{{z{z{xzzzz{y{{z{{|{{||z{zzyzz{{z{{|{{{z|{z{{{{{zzz|{|zz{zzz{y{z{{{{|}{{{{zyzy{||{||z{{z{{{{{{||{|{|{{|{{zzzzz{||z{{|{zz{z{|z{{{{{||||{|z{{{{{||{|{}|{{|z{{{{{|{|{{{{{{{|{zz{{{||{{||{|{{{z{{{{|z||{|}{{z{zz{|||{{|{{|}{{{{|{{{|{|{{|{{{z{{{{{{||{|||{{{{z|{{z||}||z||{zzz{z{z{|{{z{||{{{{{{{zz{|}|}|{{{{z{z{{||}}|{z|{zzz{zzzz|{{{{{{{z{yzxz{{z{{{{{{zzzxyzzz{{{y{{{{{z{zzzzy{{{|z{{{{zzz{zzzz{{{{{z{{zzzyzzyzz|{z{|{zzzzzyy{{{{{z|{zzy{yzzzz{{{{z{{zzzyyzzz{z{{zz{{z{zzzzzzz{z{z{z|{zzzyyyzzy{{{{zz{zzz{zy{z{zzz{zz{yzzxzzyzy|z{z{{|zzzz{yzz{{{z{{{{{zzz{yz{||z{zz{{yz|zzzzz{{z{z{{{yy{zzzzz{z{{{|{{{z{{zzzzz{z{{{|z{z{z{zzz{{|z{{{{z{{{z{{{{{{zz{{|z{z{{z|z||||}{|{{zz{{{z{z{{|z|||zz{{{{{|||{|{{|{zzzz{z{{|{|{{|}|{z{{{{z{{|{{{|{|{{z{{{{{{}|{|{{{{zz|z{zz||{||{|{|z{{{{{{z{{{z{{|{{z{{{{{|||}{{||zz{{{z{{z{{|}{||{{zz{z{z{|{|{|{|zzz{{{z{|{}||{{{{yzz{zzzz{|{{{{{zzzzz{yz{{z{|{zz{{{zzzyz|{zz{{{|{y{{{yzzz{z|z{z{{z{zzz{z{{zz{{z|zz{z{{{zzz{zzz{|{z{yzz{z{z{{z{{zzzzzzzzz{zz{{zz{zyzyyzyzzzz{yz{{zzzzzzyzyz{z{{z{z{zzyzzy|{{{z{{{zzzzzyzyz{zz||z{zzzyzy{zy{{yz{|{{zzzzz{zz{{zz{{zzxzyzzzz{{{z|y{{z{{{zz{z{{{z|z{{zz{zyzzz{{{{y|{|{zz{zyz{{zzz{{{{{zzzz{zy|{|zz{{||z{zzzzz{z{{z{{zz{zz{z{z|||||{|{z{zz{z{{{}{|{|{|zzz{{{zz{{{||{}{z{zz{{{{||{{|z|{{z|{{{{{||{|{||{|{{{{{z{{}{|{{||{z{{{z|z{{{{|||{{z{{{y{{{z{{{{}{zzz|{{{zz|||{{}{{z{zzz{{{{z{{{{z{zz{zz{yz{{|{{{|z{zzy{{{{z}|}{z{zzzz{zyz|{z{{{{{{zz{zzy{z{|{{{{{z{zy{yzzzzz||{{{z{yzzzz{{z{{{{z||z{zz{|z{z|{{{{|yzzz{zzzz{{z{{{{{zzzz{yz|{|zz{{{zzzzzzz{zzz{{{{zzz{xzyzyzz{z{||{zzz{zzy|zz{z{{{|{{zzzyzyy{{{z{{{zzzzzyzyzz{zz{{{zzz{yzzzzz{zz{z{yz{zzzzzy|z{zz{zz{{z{yzz|z{{{{{}{y{{zz{zz{{{z{{{zz{{yz{z{{{{|{||{zzzzyzzz{{{z{{{z{z{zyzz{z{zz||{zzzzz{zz{{z{{{{{{zzzz{zz{||{{z{{zz{z{z{{{{||z}{|{{|z{{zzz{||||||z{{{{{{{{{{z{{||{{|{{{{{{||{{|{||{|{{{{zz}||||}{{z{{{zz|}}{|z|{{|{{{z{z{{|z{|{|{{{zz|{{|||{}{||{|{{zz{{y{|{z|{|{z{{z{{{zz{{|{||z{{{{z{{{{{||||{|z{z{{yyz{|{{{zzzzzzz{zzz{{{zz{z|{yzz{{{zz{zz{|z{{z{{zzzyz{{{|z{{{zzz{zzzz{z{z{{{y{z{zzzz{{z{{{|z|{z{zyz{z{|y{|{{zyzz|zz{z{{{z{z{{yzzzyyzzz{zzz{{{z{yyyz{{{{z{{zzzyzzzzzyz{{z{{|{{zzzzz{yzz{|{{z{zzzzzzzyz{{z{|{zzzyzz{zzzzzz{{{z{zzyzzzz{{{zz|{|{z{z{zz{z{{{z{{|z{{{{z{zzz{{{{{{{{{zzz{z{{{||{{{zzzzz{zz{{{{{|{{{{{{zzy{{|z{z|{{{{{z{{{{{{{||{{{y{zz{{{{{|{|||{||{{{{zz{{{{|{{|{{z{z{{|z{||{{|||{{{|z{{{{||{||{|{z{zz{{{z{|{||||{{z{{z{{|{{{{|||{z{{{{|{z{{{||{{{|{z{|z{{|{{{|{|{{{z{zzz{{{{{{|{||zzz{z{{{z|z{{}|zz{z{{||||}}{{{{zzzzzyzz{z{{zz{{{zzzzzyz{{{{{|{zzyzz{zyzz{{z{||zyzyzyz{{{{|zzz{zzzyzz{z{z{z{z{|z{zzyzzy{{zz{{{z{zz{{z{{{z{zy|{{{z{{zzz{{{yzz{z{{zzzzyyzz{{z{{zzzz{zyzyzzz{{{|zzzzz{yzzzz{zzz{z{zzzzzzzzz|z{y{z{z{zyzzzyz{z{{{{zz{z{zzzz{{{{{{{{{zyzz{z{z|{{{zz|zzz{zxzz{{z{{{|{zzz{{z{zzz|{{{zz{{zz{z{{{z|{{|{{zzzzz{{z{z{{|{|{zz{z{zz{{{{{|{{|{{z{zz{{{|{{{{|{z{{{z{|z{{{|{{{{{{zz|{y{{{|||{{{z{zz{z{{{{{{|{|||{{zz{|{{{||z{{|{z{{{{{{{|{|||{{{z|z{{{{{{|{{|||{{{z{zzz{|{{z{{}{{z{{zz{{||z||{|{|{{{{zz{|{z{z{{{zzz{{zz{|z|{{||{{zzzzzz{|{{{z{{{|zzzzzz{{z{{z{|z|z{zzzzz{{{{{|{{{yzzzzz{z{{{{{{{{z{zzzz{{{{z{{{zzzzxzzz{{{{{|{{zzzzz|{zzzzz{{|{zy{zzzzz{{{zzzz{{yz{yzzzzz{{z{{{z{z{zzyzz{y{{z{{zzzyyzyzzz{{{{z{zzz{zz{yz{{|z{z{zz{zzzzyz{zy{z{{|{yyzyzzz{z{zz{{zzzzzy{yzzzzzz{z{{zyzzzzz{{{zz{|{zzzzzzz{{|{{{{{{zzzz{{{{{z|z{|{{z{zzz{{z{||{|{{{z{{zzzy{|{{zz|z{zzz{z{{|{{|{{{|z{zz{zy{{{||{{|{zyz{{{z{{|{|{{{|z{{{z{z{{|z{{{|||z{{{{zz{||{{||||{z|{{{{z{{||{{|{{{{{{{z{{{|{{{||{{|{z{{{|||{{{|{z{{{{z{|{{z|{}|{z{|{zzz{{{|{|{{{z{yzz{{z{|{{{|{{|{{z|{zz{||z{|{z{{z{z{{{|}|}z{{{zzzzzz{z{zzz{z{z{{{y{{z{z{{z|{{{{zy{zyyzzz{z{{{z{zz{yyzzzz{z|{|z{{zzzzy{|{z{|{{zz{zzzzz{{zz{{zzzzzzzzyzz{{zz{z{zzzyz{{{z{{{{z{|{{zzzy{z{z{zzz{zzyzzy{z{z{{zzzz{zz{yy{zzzzz{{{{{y{yyyzzzyzz{zz{z{xyzyyzzzz{{z{z{zz{zyzzzz{zy{{{{zzzzzz{zz{{{zz{{zy{{{zzz{{{z{{{{z{{{zzzz|{z{|{|zzz{zzzzz{z{z{{|{{y{z{zzz{{{{z{{{y{zz{{{{||{{{{{zz{zzzzzz{{{{{|{{{{|{{{{z||zz{|{|{{z{{zzz|{|{{{{{{{{{{|{{z{}z{{|}{{{z{{{{|||||{}|{{|zz|{z{{{|{}{|zz{{z{{|{|{{{{{{{|{z{{{{|{zy|{{{{zz{{{{{||{{{{{|{zzz{y{zz{{{{{{|{z{z{{z{z{z|{{{{{{{{zzz{|||}|{{{zzyzzzz{z{{|{{||{zz{zz{yz{{{z{{{zzzz{zzz{{zz{z{{{{zzzy{{{{|{{{{{z{z{z{{z{{{|{{{{zz{zz{{y{{{{{{{zyz{yzzzyzz|{{|z|z{{{z{{{z{zzzz{{z{zz{zzzz{z{z{{{{z{zz{{z{{{{{{|{zzzzyzyy{{{{{{{{z{zzyzz{yz{z{{zzyzyzz{zz{z{zz{z{zz{{zy{{zz{z{z{{{zzzzzzz{{{z|z{{y{{{yz{y{{{{|{||{zzyzz{{{{{{{|{|{{|{{zzzz{{|{||{{z{z{zzy{|{{{{{{{{z{z{{{{z{{{z{{{zz{{z{z{||||{{{z{z{zz{zz{{|z}||{z{{{{z{{{|||{|{zzz{{{{{{{{{|{||{{{{{|{{|{||{|||{{{z{{|{{|{{||{{zz|zz{{{{{|||||{{{y{{{z{z{{{|{{||{{{{{{|{|{{z|}|z{{z{{zz{{|{{{|||zz{{{zz{{{{|{{{{|zz{yz{{{{|||{{zzzzzzzz{{{{{{{{zyy{{{zz{{|{{|{|{zzzzz{y{{zz{{|{{zz{zyzz|{z|{z{{{{zz{zzyzz{{{{{|yzzzzz{z{{|z{{|{{z{z{y{zz{{z{{{z{zz{yzyzz{z{{{{|zzzzzzzy{zzzzz{z{{z{zzy{zzzz{z{{z{zzzzzzzz{{{{{{{{zzzzzzz{{zzz{{{yzz{zyzz{zzzzz{yzzyz{zy{{y{z{|{{{y{{zz{{z{{{z{|{zzyzz{{{{z{{z{{zz{{{z{z{{|{{{{|zzzzz{{zzz{{{z{{{{{zzzzz{{{{{{|{zz{{{zz|{{z{{|{{{|z|{{{||{|{{{{{z{|{||{{|{{|{|{|{zz{{z{{{}||||}{{{zz{{zz|||{{|}}{|z{{{{{{|||{{}|{zzz{{{{z||}|{{|{{{}{{z{|{{||{|{{z{{{{{z{|{{||}||z{{{|z{{{z{{||{{{z{|{{zz{{{{||{|{z{zz{z|{|{{{|{{{zz{z{{{{}||z|{z{z{yz{zzz{|{z{{zzz{zz{z{zy{{z{{z{zzy{zz{{{z{z|{{zzzzzyzz{z{z{{{z{zzzyzy{{z|z|{{{zzy{{zyz{z{z|{{zzzzzzzz{zzz{zz{zyzzzzyzzyzzzz{{zzzzzzzzyyzzzz{{{{zz{zzyzzz{|z|{z{zyyyzzzz{{{{{{yzyzzz{zz{|z{zzzzzyyzzzzz{zz{zz{zy{zzzyzzzz{z|{{zzzy{zzy{{{zzz{{z{{yzz{{zz{||{{{zz{z{{zz{{{z{{{zzz{z{z|{{z{{z{{{zzzzzyzz{z{|{{|{yz{{zzzz|{{{{z{|z{{{zzzz{z{||z{{{{{{z|{{{z|{{|||{{{z{zzz|}|{z{|{{z{{z{{|{|z{|{||z{{{{{{||{{{||}{{{{{z{zz{}||{{|{||{{z{zz{{||z{||{z{{{{zz{{{{}{|{{{{{{z{zz{{|{{{||{zz{{z{z|{{{{{||zz{z{z{{{|{z{{{{z{{zzz{z{{{{|{{zz{{z{{z{|||{z|{{{{{{z{z|z{{{|{{|{{{z{{z{{|{|{||{{{{|{{{||||{{||{{{{zz{z{{{|{|{|{{{z{zz{|{{{{||{{z{z{{{{{{|{{{z|{{{zz{z{z{{|{||{z{z{zzyz{{|{{{{{z{{{zz{{{{|||{{{{{{zzzz{{|{||{{{{zzz{y|zz{{{{|{z|{{{{z{{{{{z{|z{{{{z{{zz|{{{{{{||{z{{z{{{|z||{{|{{z{z{{{{|{{{|{{{{{{{{{{{|{{|||{{z{|zz{{{|{||{||{{{|{{{z||{{{{}|{{{{{z{z|||{|||||{{|{{{z|{}|||{|{|{|{|{{|{|{{|}|{{{|{z{{{||||{|{|{{{{{{z|||}|||||{{|{|{|}{||}}|}|{|{{{|||}|||||||{||{z|{||||}}|{{{z|||{{||{||||{}{{{{{{{|||||}|}{z{{z|{{{|||||}{|z{{{{{{z|{|||{z|z{z{{z{|{{||||{{{{zzz{{{||{{{{}z{{{{{{{{|{{{||}||{zzzz{|{|{|||{{{|{{y{{{|||{{||z{zz|{zz{||||{||{z{z{{{{|{|{z||{|{{{{{{z{{{z|||||{zz{zzz{{{|{|||{zzz{z{zz{||{z{{z{zzzz{{{{{{{z|{{{{zzyz{||{|{|{{{{z{{z{{z|{{{||{{{{zz{zz{{{|{{{|{{|{z{{z||z{z{|{z{zz{{{y{{|||}{}|{z{z{|{||||{}||z{{||{{||z{{|||{|{{|{{|{{{||z{|{|{{{z{{{{}|{{{{{|||z||z{|{|{{||{|{{zz||{||}|||}|{{{||z{{||{||}}|{{{|{{z{|||||||{{{{{||{{|}||||||{{{{{|||}|||||||}{|{{{|{}}|}}|||}{{|{{|}||{|}~|||{|||{{{{{|{{}}}|||}|{{{}{|||||||{{{{||{{|||||}}|{z{|z|z{|{|{||{{{{{z{{{||}{|{||{{zzzz{{{{{{{{{{z{zz{zz{|||{{|{|{{{zzz{{|z{z|{||}z{{z{{z{{||{{{{{{{zz{{{{{{{|{|||z{{z{z{{{{{{{|{{{zz{zz{{{|{{{{zz{zz{z{{{{z{|{{|{{{{{zzz{{{|{{{|zz{{y{zzz||{{{{{{{{{zz{z{|{|{{{|zzyz{z|{zz{{{{|{z{z{{z{{{{{{{|{{{z{z{{{y|{|{||{|{{{yz{{z{{||{||{|z{{{z{{||{{||z||z{z{{|z{||z|{|||z{zz{{{{||{|{||{{||{{{{|||{||{{{{{{{z{||{}||||{{|{z{{{{|||}}||{{{{{{|||{|{||{|||{{{||{z|}|{||||{{|{|z{||}{}|}|}|{{|{||{{{||}{|}|}{{{|{{|}||}|}|||{|{{{|||||{}}}{{|{{{z{|}}||}||||z{{{z|}{{|||||{|{{|{{{z}|{{||||{{|z{{{{|{||{|}}{|z{y|{{||{|{{{{{zzz{{z{{{z|z||z{zz{zzy{{{|{||}{{{z{{{z{{{z{|{|{{{zz{z{{{{{||||{{|zz{{y|{{{{|{|{z{{z{zz{{}{{{||{|zzz{zz{{{z{{z{z{{zz{z{z{{z{{||{{{z|zy{{z{{{{z{zz{{yzz{zz{|{{{|{{{z{yz{{|{{z{{{z{{z{zzzz{{z{{{{|y{yz{zzz{||{||{zz{|{z{y{{{|{{{{{{{zzz{{{||{||{{{z{{{{{{{|z{z|}{zz{{{zz{{|||||}|{{{{zz{zzz{|||{{{{z{|{zz{|{}{{||{{z{{{{z{{{|||{{{{{{z{{{{|||||||{{{|{z|{{}{{{}{|||{{{|{|{}|z{|{|{z||{{{{||{|||||zz|{||{{{|{||{|||z{{{{{|{}|||||{}||{{z{{||{}||{||z{{{{||||||||{||{|z{{{{}{|{|||{|{{z{{{{{||||{{|{{{|z{{z{{||{{|{{{{{{zz{{|{||{{{{zz{|zzzz||{{{||z{{{zz|{{{|{{|{{{z{{{{{z{{{{|{{{{z{|{{zzz{{{{{|{{zz{{{{z{{{|{{||{z{zz|zz{{{{|||{{z{{zzzz{{{{z|{{{z{zzzzzzz{{{{{{zzzzzzzz{{{z|{{|zyzzy{zz|{{{{|{{zz{{z{{z{{{{{{|{{zy{{{{y{{{z{|{|{zyzz{{z{{z||{|{{zzzz{{yzz{{{{{|{z{{{{zzz{{|{{||yz{{zz{{{{{|{{||{{{{{zz{{{{{{|{{{{z{zzzz|{|{{||||{{z{{zy{{|{{{||{{{z{z{z|{|{{}{{{z{{{z{{{{|{|}}{{|{z{{|{||{{{||{{{{{{{|z|{|}||{||z{{{{{||||{||}}|z{|{||{z}||||||}{{{{|{{{|||||||}{|{||z{||{{|}||{{{{{{{{||{||}|{|||{{{{{||}}}||}|zz{|{{{|||{|{|{|{|{{{{z||{}|{|{{{|z|{z{z|||{{|{{|z{z{{z{|}|{|||{|zz{{{{z||{|{{{{{{z|{{{{{{{|{{|zzz{z{z{|z{{{||{{z{{zz{zz{{|z{||{z|{z{zzz{{z{{|}{{{{zzzz|{z{{z{{{y{zzz{z{{|{zz{|zzzzzyzz{|{{{{|{{z{{z{z{{{{z{|||{{zzz{{z{{{|{z{{|{z{{{zzzzz{|z{{|z{{zzzzzzz{{|{{{y{{{zzz{{{zz{|{{{z{zzzz{{{{{{||z{{{{zzz||{{{{|{|{|{{z{{{{}{||}|{|{{{{{{{|{||||{|z{z{zz{{{{{{||{|{{|{|z{||{{{|{{z||z|{{{{|||}|||z{{|{{{{}|{|}||{}z{{{{{{|}|||}||{z|{{{{{|{|{}||||||{{{{{||{{|||||{{{|}{{{|{|{|||{{|}{||{{}||||||{{{||z{||||||||||{{{|{{{||||}||}{{{z|{{{||{{{}|{{{{{|z{{{||||{||{{{{{zzz|{{{|{{z{{{{zz{zz|}{{{z|z{{{z{{z{||{|||{|{z{|{zz{{{{|{|{{{{{z{{z|z|zz{|{{{{z{{{{{{{{{|{|{{{{{zz{{z{z|||{|{{{z{zz{{|{{|z|{zzz{zz{{{z|z|{{zzzz{z{{{{{|{{{{{z{zz{y{{{|z{|{{{z{zz{zzy|{{|{{{z{zzzzzz{|z{{}{{z{zzz{{{{z{{{{{{zz{zz{{{{y|||{{{{{{yzz||{|{{{|||{{{z{zzz{{|{{||{{|{z{{{{{{|{{|||{{|zz{{z{|{{|{||{{{zz{{{{}|{||||{{z|z{{{|{|z{|{|||{{{{{z{{|{}}{|{zz{{{|{{{}{|}|}{{{||{{{{||{|}||{{z{{{{{||{{||{}|{||z{{|{|}||}|}|{{{|{|{{|}{||||||{{z{{{||}||}||}{{{{||{|{|}}}}|{{{||{{|||{||||||{|z|{z}|{|z|{||{|zz|{z{{|{{z{||{{{{{{|{{{|||||{z{{zz{zzz{||||{||{zz|zz{{||{|||{z{{{z{{z{||{|{|}{{{{{zzz{{||{{{|{{|{{z{z{{{{z|||zz{zz{zz{{{{{{|{{z{{zzy{{{{|{{{{{zzz{z{{|{z{{|z|zz{z{{zzz{{zz{|{z{{{zz{{z{{{|z{|{zz{z{y|{{{{{||}zzzz{zzzy{{{{|{|{z{{{{{z{{z{{{|{{zzz{yzz|{|{{{|{{z|zz{{|||{{|||||{{{{{{{{{|{|}{{{{{{z{{{z||{{|||{{{{z{{z{|||||z|{{{{{zz{|{{|||{|{z||{|{{||{{||{{{|{{{{|{|{||{|}|{{{{|{{||||}{||}|{{{{{{z}||{||||||{{|{z{|}|||}}|{|}{{|{{{|||||}|}|{|{{|{|}|{|}||{{||{||{}|{||}}||{{{|{{||{|||}|}||{{|{{{{}{{|}|||{|z{{z{||||||}||{{z{{{{|{||||{||{{{{{{{||}||{||{{{z{z{zz||z{{}{{{z{zy{z|{|{{||{{|{zzz{z{{|{|{|z|{{z{z{z{{}{|{|{{z|{zzz{{{|{{{{|z{{{{zz{{|z{{{||{z{zz{yz{{{{{{{{{{|{z{z{{{{z{|{{z{{y{zzzz|{{|z|{{z{zz{z{{{{{{{{{zz{zy|{z{|{{{z{|{zzyz{zz{{z{{{{{{zzzzzzzz{{{{{{{zz{z{{zz{{|z{{{|zzzzzy|{{{{{|{{|{z{|{{{{{z|{|{{{{{z{z{zz|||{{|{|{{{{z{{z{|{y|{{|{z{z{{z{{|}|{{|{{{zzy{{{|||{{|||{z{{{{{|||}}{{|||{||{{{{|{||{|{|{{{{|{zz|{||||}|}z{{|zz||}||||||{|{|{{{||{||{||}|{{{z{{|{|{}|{|||z|{z{|{{{|}||||||z{{||{||{{||||}{z{||{{|{||{|||{{{{{{{{||||{{}{|{{zz|{{||z|{{|{{z{{{|{{|z{||{|{z{z{{{{zzz{{{{|{{{{{zz{z{|{{z|{|{{{{zz|{|{|{||{z{{{{{zzz{zz{{{||z{{{{{{z{z{{{{{{z{z|{{zy{{{{z{{{|z{{{{zz|{{zy|{{{{zzzzzz{zz{{{{}zzzz{z{{{{{{{{{zzzzyz{y{z{{{||{{{z|{zzzy{{{|{{|{{zzzzyzz{|zz{{{{yz{z{zz{z{zz{||{{z{zz{zzzy{{{||{|z{{zz{{|{{{{|{|{{{{z{{{{|z{|{|{|{|{zz{|{|||{||||{z|{z{z{|z|}||||{|{{|zz{{|{|{|{{{{{{{{{{{|{{{z|{{z{{z{{y|{|||}|{|{z{{{{{}{|{{||{{|{{z{{|||}|{||z{{z{z{z||{|}{|{|z{{|{|||{|||}|||{{{|{{{|}||||||{{||{z|{||||{|||}{||{{{|{{|{||}|}|{{{{{{|||}||{|{{{|{{{{{||{{{|{{{z|{{zz|{||{|||{{{{z{{z{{{|{{||{zzzzzzzz|||{{|{|{z|{{zzz{}{|{|{{{|zzzzz{{{{|}{{|{{zz{{z{{|{|{||y{zz{zzz{|||{{{z{{{{{z{z{{{{{||{|{{{{{{z{{{{|{{{{zzzzz{|{|{|z{|{zzzz{zzz{|{{{{{{zzzzz{{zz||{{{|}zz{{zz{z{{{{|{|{z|zzzyz{{{{{z{{z{{z{{{{{{{{{||{|{{{{{zzz{{{z{{{|z{{zzz{{{{||{{||{z{{{{{z|{{|{{}|{||{z{zz{||{z|{|{{{z{z{zz|z}|{{|{zz{{{{{{|{{{|||||{{{{|{|||z|||||||{{z{{|||{{|}|{{|{{{{{{|{||{|}{{||{{zz|||{|||{{z{{{|{{|||||||}zz|{z||}|{||}||}}|{{|{||{}|}}}||||||{{|{||||}||||{{{|{{|{|||||||||{z{|{|{}|||}}}{|{{{|||||||||}{|{{z{|{y||{}{||}z{{|{{{{||}||{|{{zzzz{{z{{{{{||{{{|z{z{{{|{{z}|{{zz{{{{|{{|||{||{z{z{|z{{|{|{|{|z{{zz{{z{{|{|{{|{{{{{{{z{|{{{{|{{z{z{zzz{{{z{{{|zz{z{{{{{{{{{{z{{{{{|z{{{|{z{{{{zzz{z{y{{{{|{{{{y{{{|{{{z{|{z|||{z{z{z{zz||{z{{{zzzzzzz{{{|{{{{{{z{zzz{|{{{{{{{||{{z{zz{{|{|||}}|z{{zzz{{{||}||}{||{{{{{{|{|{||{{{|{|{|{{{{|{||||{{{{|y{{||}{|||{{{z{{{{{||{||{||{{{{{{z{|||{}||{|{{{||{{|||||||||{{{{z{{}}{|{{}{|||{{||||||{{|||{|z{||{{}}|}||}|||{{{{{{|||}}|}{{{|{|||}}|||||||{{||z|{{|||||}}||{{||||{|{|||||||{|{|{|||}||||}}|||z{{{||{||||||{|{{{{{|{|{||{z{{z|{zzz{{|{{{{|{z{{{{zz|{|||||{z{{zz{{z{z{{{{}|{{{{zzz{z{|||{{{{|{{z{zz{z|{{{{|{{{z{{z{z|z{{||{z{zzzz{z{{{||{||z{{z{zzzz|{|{|{zzz{zzzzz{{{|z{|{{{zzzz{z{{|z{|{{z{{{z{{z{|{{{{{|z{z{zz{zz{{{{{zzzz|z{{zzz|z{{{z||z{zzz{{{{{zz{||{{z{{{zz{{{{{{{{{{z{zz{|{{{{{{|{{zzz{{{{{|{|||||{z{{{z{|{|{||}{{|{{{|z{z{{|||||{{{{{{{{{{{{{{||{{z{{z{{{{z|{||{|{{z{{z{||||}|}||{{{|||z{|{|||{}{|{{{|{|{||||||||{{|{{{{{|{|||||}|{z{{{||{||||}|||{|||{|{||}}|}{||{{|{{z{{|||||{}||{||{z{||||{|||z{{{|z{{||||{||}{{{|{{|{|{|{|||{{{{y|zz||||}{{{{zz{{zzzz{{|{{{{|{zz{{z{|z{{|z|{|{{{z{{{y|z{{|{}{{z|{{{{|{{{|{{z|{{zz{yzz{z{|{{{{z{{zzz|zzz|z{{|{zz{{z{{z{{|zz{||z{z{zz{z{|{{z{{{{zzzzzz{{{zz{{|{{y{zz{{z{{{{{{{{{zz{zzzzz{}|{{{{{zz{{z{z{zzz{{{|{zzz{z{z{z{z{z||{z{zz|{z{z{|z{{{z{zz{zzz{||||{{|zz{{{z{{{{{|{|{|{{z{{{{{{|z{{{||{z{{{zz|{{|{{|{|{{|{{z{|{{|{{{|{|{z{{z{{{||||{||{z{zz{z{{||||}||{{{z{{{{{||||||}{{z{{{{||||{{|z||z{||{z{{|||{|||{z{{||{z|{|||}|||{{{{|{|{|{{|}}|{z{|{|z{|{||{|||||z{{{{z{||||}||{|{{|{z{{{{|||{||{zzzz{{{{z|{||||{{|{{{{||{{{|{|{z{{{{zz{{|||{{{z|z{z{|z{||z|{||{{{z{{z{{{{|{{||z{zzz{{{|||||{||{{{{zz{{{z{{{{||{{{yyz{zz{{{|{{||{{{{{{z{{{{{z{{|{{{z{z{{{|{{{{{{z{zz{z{z{{{{|||{{{z{zzzzzz{z{|{{{zzz{yyz{{{{z{{{{{zzzyz{z{{zz{|{{{zzyzyz{{z{|{|{{{yzz{{{{{{{z||z{zz{{{z{{{{{{{{{{{z|zz{{{{{{||||z{{{{zz{{{|{|{{{z{z{{z{|||{{||||{{{{y{{{|{{{||{z{{|{{z|{{}||{|{|{z{{z{{{||{{{|||{{{{{{z||||{|{|{||{{{{{|{{|||||{|{{{{{{{{||||{||{{|{{{{|||||{|{{|{{{|{{||{{}}|||||{{{z||~}||}||||{{z{{{||{|{{|||z{|||z{{||{||}||{|{|{z{|||}||||||{{{{{{||||||||{|z{{{{z|{{{{|{{{{{{{{{{{{|{}|{{{{y{zz{z{|{||z{|{zz{{{z{{{z{|{}{|{zzzzzz|{|{|{}||z{{{{{z|z||{{{|{{{{{{zz{{z{{{||{z{{{{zzz{|{{{{{|z{z{{zz{{|{z{{{{{zzzz{{z{{{z{z|{z{{zzz{{z{|z{|{z{{zzzy{zz{|{{{{{z{zz{{y||{{{{{|{z{{{zyz{zz{z|{{{{zyzzyz{|{|z{||{{zy{{zz{{{{{||{{{{zzzzz{{{|{||{{|z{{z{{{{{|{{||{zzzy{zz{|}|z{|{{{{{z{z{{|{{||{z{{{z{{{{{{{{{|}|{{{{{y{z||{||{{|||{{|{|{|}|||{|{{{||{{|{{{{|{{||{z{||{z{||||{{|{||{||{{{||||{}|{{{{z{{||{||||}|{|zz{z|{z{}|{||}|z{||{|{{||}{||{|{{||{|{{{|||{{{{{{{|{{|{{|}{||||{{{z{{{{{{{{|{|}{{z|{{{z{|{}{z|{{{z{{zz{||}{{||{{{{{{{zzz||{{z|{|{{z|zz{{|{{{|||{z{{{{{{{{{{z{{|{zz{{{{{{{{{{z{|{{zzz{{z{{{zz{{{z{{{{zzz{|||{{{}{{|z{{{z|z|{z{{zz{zzz{zzz|{|z{{zzz{yzz{z|{{{z{{{{y{{zzz{z{{z|||{{{{{zzzzz{{{z||{{{z{{z{yz{z|{{z{z{{zzzzzz{{z|{{z{y{{{{zz{{||{{{{zzzz|z{{{{{{{|{|{{{{{yy{{{{{|{{|{{{z|{{{{{|{{|}{|{{{z{{z{|{||{||zz{{{{zz{||{{{|||{{{{{z{||{{{{|{}|{{|zz{||{|{}|{{|{zz{{{|{|{|{{|{{{{{{{z||||||}}|{{{|z|{}||||{|}|{z{|||||{{||}|||{{{z{{||}}|{||||{|{z{{{||||||}{{z{{|zz{||}||{}|||{|{{{{|{{||{||{{zz{{{{{|{|{||||{z{{{|z{|{}{||{{z|z|zz{{|||z{{|zz{{{{zz{||z{{{|{{{zzzzz|{{{{{|{{z{zzz{z{{{{{{||{z{{{{z{{{{{|{|{{z{{z{{z{{{{{{{|{{{|zz|z{|{z{||{|z{{{{{{z{{{|{{{zz{{z{z{|{{{{{{{{zzz{zzz{{{{{{|{{zzzzzz{{{|{{z|{{{zzz{zz{{z|{{{|zzz{zzzzzz{{z{|z{yzz{zzy{{{z{{{{zz{zz{z{{z{|{|}{{z{{z{z{{{{|{|{||z|z{zzz|{||{|{|{{{z{{y{{{|z|{{|{{{{{{z|{{{{{|||||z{{z{{|||{||}{{{{z{{z{{|{{{{{|z||{zz{{||{}{|||{{||{z{|||{|{|}||{|{{zz{||{|{||||zz{|z{{|||z||||{|{{||{{{||||}{{}{{{|{|{z|{}||{||z|{|{{{{||||}|||{{{{{|||||||{|||{{|{z{|{|||{|||{|{{|{z{{}z{|{{{{{{|z{|{|||{{|{{{{{z{{{|||||{{z{{{z{{z{z{{{{{|{{{z|zzzz{{{{{{{{|zzzz{zz||z{{{{|||{{{{zzzz{{{{{{|{{{zzzzy{{z|{|{{z{{{zz{zzz{z{|||{{zzz{z{{{{z{{{{zz{{z{zz{{{z{{{|{{zzzz{z||{z{{{|{yz{{{zzzz|{{{{{{{zz{zzz{{{{{{{|zzzzzyzzzz{zz{||{z{yz{{z{{zz{{{{{z{{{{zz{|||{||{||z{{{{{{{{{{{||{z{y{z{{{{||{{{{zz{{z{z{{{||{|{{{{|zz{{z|{{|{|||{zz{{{zz{|{}{z{{}{{zz{z{||||{||{{|{z{z}{|{|||{||{{{{{||{||||{|{|{|{{{{{{{{|||{|{|zz{{{{|||{{}{||{{|{{{|{{{|||}|||{{|z|{|{|{{|||{{|||{|{|}{|{{||{|{{{{{y|{{||{}|||{{{||z{{|{|||{|{{{z|z{|||||}{|||{{{z{{{{||{{|}{z|{y{z{{{||{z|{{|{{{{{{z{{|{|{{|{{zz{zzz|{|||}||{{zz{z{z|{{{|{{{|yzz{zz{|{|{{|}|{{z{{{|z}|{|{|{{zz{z{{{zz{{z{|{|{zz{{z{{{{{{{|{|{{{z{{zyz{{{z|{|{zz{yzzz{{{{|{{|{{{{z{yz|||{z{{|zy{z{{z{z{|{z|{{{z{zzz{z{{{||{|{z{{{{zzy{{z{z{||zzz{{{{z{{{{|{}|{{zz{{{z{{{{{{{|{{{z{{{{{{||||}|zz{{z{{z{{{|||||{z|{z{{{||||||||{{z{z|zz||||{|}{{{{{|z{{{{{{{||{{{{|{{{{||}||||||{z{{{{{|{||||}||z||{{{{||||}{|||{{|||{{{|||||}||{{{{{}{{|||{||}}{{{{{{|||}||||}|{}{||{|}|}||||||||{{{|{|{{|||}||z{{|{{{{|}}||}|{|{||{{{{{|{|{|||{z{z{z||}||{}}{{{{{{{{z{|}|{{z{{zzz{zzzz{{|{{}{{z|{{{z{{|{|{{|{|{{z{z{{|||{||{{{{z{{{{{{|z|z{|{z{{z{{{z{{|{|{}|{{{z{{z{{||{{|{{{zy{{{{z||{{|{{{{{|{{|zz{z{{{{{{{z{zz{y{z{{{{||{{{zzzz{{z{{||{{|{{{zzzzz{|{{{{{{|{z{zz{yzz{{{{{{{{zzzzzz{{z{{{|{z{{{z{{z{{{z|||{{{z{{z{{z{|{{{|||z{{zz{||{{||{||{|{{{{{{{{{z|||{{{|{{y{{|}{|||z|{{{z{{|{{|{{{{|{{{z{{{z{|{{{{||{{{{{{{{{||||||||{{|{}{{|{||||}}|{{z|{{{|{|||}{||{{{{||{|{{||}|}}|{{{{|{}|{{|||}||{{{{{|{{|||}{|||{|{{|{{||||{}}|||{{|{|||{||}|||{{|{|{{{|{||{|{|{{z{{{{{||{|{{||{{{{{{z{{|||{{||z{{z{zz{|{|}{{|{zzzz{{{zz|{{z|{{{{z{{{zz{||||z{||{{z{z{z{{|{||||{|z{{{{{{|{{{|{{{{{zz{{{|{{{zz{{{{{zzzzz{{{{||{{||{z{zzz{|{{z{{{{z{yz{{z{{|{zz||{{{zzzz{{{{z{{{{{z{{zzz{{{{{{||{{z{{z{{zz|{||{{|{{|zzy{{{|{{{{{{{|{{zzzzz|{{{|{|{{{{zzz{||{{{{|{{{z{{z{{|{{{{|{|{z{z|{{{{{{|||}{{{z{z{{{|{{{{{|{{{z{|z{{{{{|||{{{z{z{|{{{{|||||{{{{|{{{{||||{|}z{{{{{{|||{|{{}}|z{{{{{|{||{}|||||||{|{{{|}{}}}||}{|{{{|z|}||||||{{||z{{{{||||||||{{{{{{|{{|||||}}{||{{||||{||{||{{{|{{{||{}|||||||{{||{{|||||{||||{z{{|{||{|{|||||{{{{{z|}{{{|||{{{{{{|{||{|{{{{|{{z{{{z{|{{z||{{{z{zzzzz{{|{{||{|zz{zzz||{z|{{|{{{{{zzzz}{{z|{{{z{{{{{z{|{{{{{|zzzz{zzz{{{z{{{{{z{y{{z{{||{{{z{{{z{{zz{zzz{{{{|zzzzzz{z{|{|z{{{zzzzz{z{z{{{{{||{z|zzzz{{{|{z{|{{zzz{{{zzy|{{|{{zz{z{{{zz{{{{|{|{{{z{{zz{{{|{{{{z{{z{zzz{|{|||||{zz{z{{{z{{|z{{|{{|{{{z{||||{{{|{{{{{zzz{z{{z{{{{{{{{z{z{{|||||{{{{z{zz{|||{{||{{{zz{{|{|{|}|{||{{|{{|{{||||{||}{{{{{{z{{{||}{{{{zz{{z{{|{|{|{}|{{{{z|{}{|{{{||||{{{{||z|||}|{|||||{yz{||}||{{|{}{{{{{{{{|{{|}||{{{||{{{{|{{|||}{|zzz|z{z|{{{{{{{{{|{z{{{||{||{{{{{zzz|{|||||{{{z{{z{{zz{{|{{{{{{zzz{zzzz{|{zz||{zzzz{{{}{{{{{|{{zz{z{z{{||{z{|||{{zyz{z{|{|{{{{zz|zz{{y{{{||{|{zzzzyzzz{{z{z|{{z{{{zzzzzz{|z{z|z{z{zz{z{{{{{z{{{zz{zzz{{|{z{||{{z{zy{z{zzz{{|||{{{zzzzzz|{|z{{{z{zy{zz{{|z|{|{|zzzz{{zy{{z{|{|{{{{z{{{z|{|{{{||{z{{zz{z{{|{|{|{{{{{zz{{{{{{||z||{{|{{|{||{||||{|{|{zzz{{{{||||{{yz{{z{z{{||||{{|{|{|{|z{{{||}|{{{{{{z{{{|{}{|||{z|{{{{{{|||{|}|{{{{|||||{|{|{}{|||{z|{{{||||}||}|{|{{{z|}|}}|}|{{|{z|{{|{||{~}||{|{{{z{||{|||}||{{{{{{{||{{{|||{|{|{{{|{|||}|||{z{zz{{z{||{{|{|{|zz{z{{{|{{{|{{{{{{{{zz{{|{{{|{{z{zz{{z{{{z{|||{{{zz{zz{z{{{{|||{{zzzzz|{|{z{{{{{|zzzzy|{||{}{|zz{z{{zzzz{{{|{{z{z|zzzz{{|{z{{{z{yzz{{z{{{zzz{{{z{z{{y{{{{{{{|{{z{zy{zz|{{z{{{{|zzz{zz{z{{|zz|{{zz{zz{z{zz{{{{|zz{{z{{{z{{{|{|{{z{{|z{{{z{{z{{}{{{z{z{z{}|{{z{|z{{zz{{{{{{{{{{|{{{zz{z{|||{{{{{{{{z{{{{||{|{||{{{{{{zyz{{|{z{|{{zz{{z|z{||{{{{{{{{{{|{{|{{}||{|z{{{{|}{|z||}{|||{{{{|z{z|}{||}||z{{|{{|||z||||}{{{{{||{||~|{{|}{{z{z|{{||||}|}}{|{||{{z}}||{|{{z||{{z{|{||{{||||{{|{|{|{|{||}|}{{{{{{z{{|{{{||{|{{z{z|{{|{|{|}z{{|{{{{{{{|{{{|{{{zy{{{zzz{{{{{|{{zz{z{z{{|{zz{{zz|z{{zzz|{{|{|{{{zz{zzz{{|{{{|{{{|zzz{z{{{{|{zz{z{zz{{z{{zz{{|{{{{yzzz{{{|{{{{|{zz{z{{{{yz{zz{{z{{z{yyzzz|{{z{{zzzzzzzz{{{{{|{{z{{z{zzy{y{|{{{{{{zzyzz{z{|{{|{zzyzzzz{zz{{|{{{{zz{z{z{z{{{|{|{{{{yzzz{{{{|{{|||{z{{zz{z||{{||{||{|{z{{{{{||{{||{{||z{z{||{{|}z{{{|zzz{{|{||{{{}{{{{{z|z{{|||||{||||z{{|{{{||{||||{{|{{{{{|{||||{{z{z{z||||||||||{{z{|{{{|}||{||{z{{{||{{|{{||}|{|{||{{{{}||{|}||{||{|{{|{|||{|{|{|{{{{zz{{{|||{}{{{{{{z|||||}{|z{{{{{zz{||{{{||{{z{{{z{{{z{z|||y{{zz{{{{|z|{{{{{{z{{{z{{{|{z|{||zzy{|zz||{|{{||||{{{{zz|{{{{{}{{{{zyyzzzz{|z|{{|z|{{{{zz{z|z{||{z|{z{zzz|{{zz|{{z{zzzzzzz{{{{{{{{{yy{y{|{{{{{{{{z{zzz{zz{{z{{|{{zz{z{zz{{||{{{|zz{{z{z{z{{|{{{{{{z{{zzzz{{{{{{{{{zz{z{z{{{||{z{{zz{z{{zz{z{|{{{z{zz{z{{{|{{{{{{{z{zzzz{z{{|{{|{z|{{{z{{{{z|{|||z{{z{z{{{|z|}}|{|{{{{{zz{{|||{|{||z{z{z|{|||{||z|{{{{{{||||{|}|}{{|{|{|{|{z||||}|{{{{{z{{}}|{{|{{z{|{{{||}{z||{|{{{|{{{{{{||}|||{{z|{z{{|||||||{||{{{{{z{{|||{|||z|{{|{{|{|||||{|{{|{|{|{|{}{||||||{{{||{|{|{{|||||{{{{{||||{|||{z{z{zz{||{||||{zzz|zzzz{{{z||{{{{z{zzzy{{|{{{|{{zzz{{zz{{zz|{}{{{|z{z{zz{|zz||{zz{zy{{z{{{{{{z{zz{{z{zyz{zz{{{z{{z{z{{{|{|{{{{z{zzyzz{{zz{{z{{{|zz{zz{{z{|{{{{{z{{zzzzzzz{{{{{{z{{zzzzz{{{{{{{{{z{zz{zyz{{z{{{{z{{y{zz{zz{z|{{zz{{zzyzz{{z{{z|{{{zzzz{zz{|z{||||{{{{z{z{||{z{{{zz|z{{{z|z|{|{||{{{y{{z{||||{|{{{{zz{{{{|{|{z{{{{{z{{{z{{{{|{||{{{z{|{{z{||{{|{|{{{{{z|z{||||||}|{{{{{zz|||{||{{{{{|{{zz|||{|{||||{{{{{{{{||}|{|{{{{{|z{|||}|||{{|{|zzz{||{{{{{{{{z{{z{{|{|{{{||}z{{{{{{{{||{{||{{z{{zzz{{{{|{|{|z|{|z{z{||{{{{{{y}{{zz{{{z{{zzz{zz{{{yz{{|{{{|{{{z{yzyz|{{{{{|}|{zz{{zy{{{{{z{{zz{{zzzz{|{|z{{{{{{zz{zz{{{|{{|{{{zzzz{zz{{z{{{{zzz{{zz{{z|zz{{{{z{z{{zz{{z|{|{|z{{zzyyz{{|{z{{{zzzz{{z{{{|z{{{|{z{zzzzz{|{|{z|{{{z{zy{zz|z{{{{{|zzz{zyz{{{z{|{{{{{|{zzzzz{|{{{zz{zz{zzz{|{{{{|{{{{{{zz|{{{{{{{|{{{{z{{{|{{|||||{}{z{{|z||{|||z{{{z{{{{{|||{}||{{|z{|{zz{|{{{{{|{{{{{z{{{||{|{|||{{{{z{{|||{||}|{{z{z{z||{|||||}{{|z|{{{{|}||{||{{z{}{|z||{|||{||{||{{{{{|||}{|}|{|{{{|z}||{{|{|}{{{{{{{{||{{}~|||z|{{{{{|||||{|{{{{zzzzz|z{{}||{{{{{{{{{|{|{z}|{{{z{z{y{|||||{{{zzz{{zz{{||z{||{{zzzz{{{z|{{{{{{{zz{z{zz{z{{||{{z{z{yzz{{|{z|{{zz{yzz{y{{||{zz|{{{z{zzyz{|{||{{z{zzyzz{{{{{y{{{{zz{zzzzz{{zzz{{zzzzzzy{zzzy|{{{{zzz{{y{{z{z|{{z{{zzy{z{z{{{{{{{yzz{zzzyz{{|{|z|{zzzzyzzz{{{{{{|zzz{z{z{{{{{z{|{{{{z{{{z{|{{|{{{{z{zz{|z{z|{z|||z{{z{z{z{{{{z}|{{z{{zz{z{{||{{||{{zzz{{z{||{{||{}z{{{z{{z{{{{|{{{{{|{{z{{{{z|||}{{{{{|{|{{||{|}||{{{{z{z{{|}{||||z{{|{{z{||{||||{{|{z{{|||{{||||||z|{{{{{}||{|}}{{|{{{{{|||||||{{{{{{{{{|{{z|{|||{{{{|zz{{{|{{||zz{|z{z{{{{||||{{{{z{z{z||{{{{||zz{z{z{{{{{{|{{|{{{zzz{{z{{{{|{{{|yzzz{||{{z{{{}z{zz{z{z|{{{|z|||{{{zz{z{{{{{|||{{{zzz{zz{||{|{|zz|zzyzz{|z{{|{{{{{zz{y{zz|{z||{zzzyzz{{z{{{{{{zzz{zzzz{z||{{{{{{{{zz{y{{|{{{{{{{{{zzy{{{{{{z{|{{{z{{zz{z{z{z{{z{zzzz{zzzzz|{|{{|z|z{z{z{{{|z|z{{z{{zz{{z{|z{{{|{z{z{zz{|{{{{{{|{{z{z{{|{{{{|||||{{{|yz{{|{||{||{|{{z{{z{||||z{{{{{{zz{{|}{|{|{}{||z{{{{|{{{{|{{{|{{|{{z{||{|{|}|{{|{{{{{{|||{}|{{|z|{{||}}{||}||{{{{||{{{{||{}||{|{{{||{|{|{||||{|{{{||{|}|{||}|z{|{{{{||{||||}{|||{{z{{|{}{|||{{{z{{{z{{{{{}||{{{{z|{{{||{{||{z{{{{{{z{||{{{{||z{{{{{z{{|{{|{|{zz{z{zzz|{|{|||{z{{zzzz|{{z}z}|{{{z{z{{||||z{{|{|zzzz{z|{{|{{{|{{{{{{{zzz{{z{{{{{z{z{{z{z{{{{{{zzzzz{zz{{|{{||{{{z{zz{{zz|{{||{{zzzzzzz{{|z|{}{z{{{zzzzz{z{{{{|zzzzzz{zz{|{|{{{{|zz{z{z{{{{{|{{zz{{{{zz{z{{{{{||zz{{{{z||||z||||{{|{{{||{{|{{||{|{|z{z{{{|||{|{|{{{{{{{{|}||{{{|zz{{zz||{||}|||{|{{{{{||{|{|||||{{{|{{{{{||||}{|||{z{{||{{||}|||{|{|{{}|}|{|||||||{{{{{|}||||||{{{{{||{{{|{}}|||{{|z{z{{|||||}{|{|{{{|{|||{|}{|{z|||{z||{||||||{|z{|{{{|||||||||{{{{z{{|{|{{|}|||{{{{{z|||}{||{|{zz{|{z|||{{|{zzz{z{zz{{{{{{{{|{z{{zzy{{|{{{|{{{z{zz{{{{z{{{||{|y{{{zzzz{{z{{{{{{zy{zyz{{{{z{{{{z|z{{{zz{{{{{z|{zz{zzzz{{|zz{|{{{z{z{z{{{{{{z{{y{{z{z{zz{{{z{{|{zz{z{zzz{{{|{z|{z{zzzyz{{{{z{{{{zzz{{{z{{zzzy{z{z{zzz{z{{{z{{z{{z{z{z{{{{{|{{|{{{zz{z{{{{{{|{{{{z|{{zz{{|z|{{{{z{{yzzzy{{|{|}{|{{|{{{{z{|{{{|{|z{{{{zzyz{{{|{|{{{{{z{{{{|{{|||{{|{{{||z{{|{||{|{{z{|{z{{{{{}||}|{{|{z{{{|{{|{|{}{{{{{{{||||}}||{{|z{||{|{{{}|{|{{{}z{{|||||{||||z{{{{{{|||{||}|||{{{z{|{|z{}||||{z{|{{{{}||{|}|{{{z{{{{{{}|{|{}{z{{z{{{z|||{|{{{{{{zz|{||{{{|{|z{zz{zyzz||{|{{{{zzz{z{z|z{|{{}z{z|{{{{z|{z|{{|{{{z{zz{z{{{{{{|{{zzzzz{{{z{|{{{|{{{zzz{{{|{z{{{{|zzy{zz{z{{|z{{{{{z{zzz{{{{z{{{{{{zzzzzzz{{|{z|{{z{z{z{{{{{{{{{zyz{z{zzy{{{{{{{|zz{zzzz{{{{z{{z{{{zzzyz{z|{z{{{{{{zz{{{z{{{z{{|{z{{z{{{z{{{{{{{{{|{{{z{{|{||{{{{z{||{{{z{{{{|{{|{{{{{z{z{||{{}|z{{{z{{z{{{{||{|{{z{{|{zz{{|{|z{||{z{{|{{{{|||{||{{|z{{{{|{||{{|}z{{z{z{{{||||||||{{{{|zz|}||}|||{{{|{{{{||{|}||||{||z{{||||}||}||z{{}{{{{{}|{|{{}{{{{{{||||{{|}|z{{{|{{{|{|||||||{{y{{{z||||{||z|{z{{{{{{||{{{|{{zz{zz{{}{|{|{|zz{{z{z{z{z||{z{z{{z{zz{z{{{|{{|z{z{zz{z{|z{{{||{|{{zz{z{{|z|{{{{{z{zzzzz||{|{{{{|{{{{{{{z{{{{{{{{{{z{zzz{{z{{|{z{yz{{zzz{z{{z{{|{yz{zz{{{zz{z{{{{zzz{{z{{{{z{|{{{zzz{{zzz{z|{{|{z{{zzzzz{zz{{{z|{{zzzzzz{{{{{{{|{{z{{z{{z{{{{|{{{{|{zz{{{||{z|{||zz{z{{{{{{{|||{{|{|{|{{}{||{{{{{{{{{zz{|{{{{|{{{zz{{{{{{||{|||{||{{{{{z|||{|||{{{|{{{{{{{{||||{{{{z|||{|{{|{|}{z{{|z{|z{{||}||||{{zz{{{|||||||}{||{|{||{||{|||||{{|{|z{|}||||}||{|||{{|{|||{}}}{|{{{{||||{}||}|||{{|{||||{|{{}|{|{{{z{{{||{||}{{{z{{{{zz{|||||{{{{zzz{z{{|{|{z|{zzy{z{y|{|{{{{{{{zzzzz{{z{z{}|{|{zzzz{|{{z{{{|{z{{zzzzz{{{{{{|{{{{{{zzy|{z|{{{{{{zy{z{zz{{{{{|{{zz{zzz{{{|z{{||{z{zz{zz|{z{z|z{zzzz{zyz{{{z{{{{{zzzzzz{{z|{{{{{{z{zzzzz{{{||{|{z{{{zy{zzz{{{{{{{zz{{z{z{{zz{||{zz{{zzzz{{{{{{||zzz{{zzz{{|z{{|{{{{z{z{z|{|{||{|{{zzz{{z{|{{{{||{{{{{z{{z||{{||{|{{|z{z{{{{||{|||z{{z{zz|{{{{||{|{{{{{{z|||{{{|{{z{|z{|{||||{{{|{{z|{{z{||}{{||||{{{|{z{|{|}{{{|||||{{{{{|{|||{||z{{{{|{|{||||}|{{{{zz|{|||||}|||{||z{{{{{{|||||}||{|{{||{||{||}{|{{z{{{{}}|{||{{{{z{{z{{{{{{|{|{{{{z{zzz{||}{{{{{z{zzzz{|{{{{||{{zyz{y{{{{{{{|{{zzz{z{z{{{{{{||{{{zz{{y{{{{{|{{{{{zzz{y{zzz{|{{{zzzzz{z{{zz{{{zzzz{z{yz|z{{{{|{{zzz{{zzz{{z{{{{{zzy{zzz{{{zz{|{{zzz{{|y{z{z{{{{{z{zzzz{z|{{z{|{{zzzzz{{z{{z{|{{{z{zzz{yz{{{{{{z{z{zzz{zz{{{|{{{{{{{{z{{{z{{{{||z{{{zz|z{{{z{{{{{{|z{{zzz{|z{|||{z|zzz{z{|{{{|||{{{z{{zz{||{{|}{{{{{{z{{{{|zz|{|z{{{z|{{z|||}|{|{{{z{{{|{|{{{}|{{|||{z{{|{|}|{||{{{{|z{{}||||||{|{{z{|{|{|||}}|{{|z|{{{{z}||||}{|{{|z{z{||||{|}{|z{{{{{{||||{}{||{{{|{{{||{|{|||z{{z{{{{z||||||{{|{|{{{z||}||{|{{|{z{{zzz{|z{{zz{{{yzzzy{{{{{{||zzzz{yzz{{{{{|z{{z{zzz{z|||{|zz{zy{z{{y{{z||{{|{{{|zzz{{z{zz{{{zzzzzyzzzz{{zz{{z{y{{yzzz{z|{z{{{{z{zz{zzzz{{|zz{zzzzzzzzzz{{zzz{{{z{y{zzzz{{z|{{{z{{yzzzzz{{{|{zz{{y{zzzyzyzz{z{{zzzz{zzz{{|{{{{{z{{{{zzz{|{{{{{{{z{{z{z{||{|{{||zz{zz{{z{{|z{|{{z{zzzz{{|{{{{{{{{{{{z{{{|{|{|{{z{z{{|zz{{|{{|{{zzz|z{z{{{|{{|{|{{{{{{|{{{||{{{{{{|{|z|{|{|{|||{zz{z{z|{{|{|||{|{{{{|{|z|}|{{z}|||{zz{|{{||{||{||{|{{{{{{}||{||}||{z{{|{{||||{||{{{z{{z{{{||||{|z{{{{{z{{{{|||||{z|z{z{{{|||||{{|{z{{{{z|{{|{{{{{|{z{{zz{{{|{z{|zzz{{zzz{{|{{||{{z|{{zzz||{z{|||zz{{{{{zzz{z{||{{z{zzzz{{zzz{{|{{z{{z{{y{{{z{{z|zz{zz{zyz{|z{{{{|zz{{zzzzz{z{{{{zzz{z{zzz{{zz{{{zz{zzzzzzz{{z{|{zzzzy{z{z{{{{|{{z{zzy{{y{zzz{{{|{{{{zzzzzzz{{z|{{{zzzzz{{|zz{zz{zzz{{zzz{{{z{z|{z{{{zz{zz{{{z{||z{{{z{{z{{zz||{{{z{{zzz|z||{{{|{|zz{{zz||{||{}{{zz{{{zz{{||{{{|{z|{{z{{z{{{{{z{||{{{{{|{|{{|||||{|zz{z|{||{|z|{||{{z{{z{||{{{|{{{z|{{{|z{|{z}{|{{{|{z{{{||{|}|{|}{z{z|{zz|{|{{|||z{{{{{{{||||}||{zz{{{{{|{{||{{{{{{||{{{{{{}||||z{{z{{z{{|{|{|||{zzzz{{{{{{{{{{|{{{{{z{zz|{|{{||zz{zy{z{z{{{z{{{zzzzzzzzzzz{{{{{{zzzz{zz{zz{{{{{zz{z{z{{z{|zz{{|z{{z{zzy{z{{{{{|zzzz{{{z{{{z{{z{{zzyz{{z{{|z{|z{{zzzyzz{{z{{{z{{zzz{zzz{zz{zz{{|zyzzz{y{z{{{|{{z|z{{zzzz{{{{{{{{zzy{zz{yzz|zz{{{zyzz|zzz{zzz{{{{zzzy{z{z{|{{|{{{{z{{{z|z{{{{|{||{{zz{zz{{{{|{{||{zz{z{z{{{{{||||{{|z{{{{{{{{{|{{{z{{{{{zz{||z{|{{z{|{{z{{{|z{{{{{{zzzz{{{{{{{{{|z{{{{||{{|{|{|{|z{{{zz{z|||||||||{{{{{z{|}|||{{||z|z{{|{{|||||}{|{{{z|{{{||||||{{{||{{{{||{|{{||{z{{z{{|{||{||||{{|{{{{{|{|{|{||{{{{z{{{{{{{|||||{z{z{|{{|||{{|||{{{{{{{}{{{{{z|{{{z{yz{{|{{{|{{z|{{zzz{|{{{z{|{{{{{zz{z{{{{{||{{z{zz{z{{{{|{{{{{{{zyzzzz|{|{|{|{{{{z{{{{{{z{{{{{{{zzzzzz{{z{z{{{{zzz{zz{{{{{{{{{{zz{zz{z{{z{|z{{zz{{{{z{{|{|{{{|{{{{zzz{{{z{{||zz{z{z{zz|z{z||{{{z{{{{{{{z{{|||z{zzz{zz{|z|{{{{{{{z{z{{|||{||}|{{z{zzzz{{{{{{||z{{{|zz{||||{{{{{{{z|{{{z|{}{{|{{{zz{|{zz|{|||||{{|{z{{{|{{{||{||{|{{{{{||}{||}}z{{{{{|{{{{{{|}||{{||{{|}|}{|{|{|{{z{||{}||{||||||{{{{|{|||||}|{}|{|{|{|{|{|{}|{||{{{z|||||}{}}||{{{{{z|{|{|{||||{{z|{|z}|}||{}|{|{{{{{{|{}|{}|{|{{{|{{{||}||{|{{||z{z{z{}{z|zz{{{{{z{{{{{|{{}|{z{{{{y{{{{{{{|{{|z{z{{{{{{{|||||{{{{zz{zz|||z{||{{zzzz{y{{{{{|z|{zz{zz{zz||{z|{|{{{{zzzz{|z{|{|{{zz{z{{z{{{||{{}{{zz{{{z{{{{z||{{z{{z{z{|{{{|{{|z{{zzzzz{|{{zz{|{z{|zz{xz|z{|{|{{{zz{{yz{z{|{|||{{{{z|zzz|{{|{{{{{zy{z{{{{|{{|{{{zz{zz{{{z||{|||{{{{{z{{|||z|}|{|{{{{{z{{}}||}z|{{z{{{zz{{||{|||z{{{{z{|{||||{|||z{{{z{{|}||{||{{z|{|{|{|||||{}|||{|{{{|{{}|}|||{z|{|{{{{|}|{||||{|{z|{|{|||{|||{z||{|{z||||||}||{|{{{{||||{{}{||z{||{{{{|||{||}|{{{}|{|{|||||}|||{{{{{|{{|{||||{{{{{{|{||{||{||{{{z{{{z{|{|{{{{z{|{{z{{{{{{{{{|{zz{zz{z{{{{}|{zz{zzzz{|{{z{{{{|zz{z{yz{z{{{zz|{{{{zzzz{zz{{{|{{{zz{z{{z|{{{{{|{z{{zz{z{{{{{{{{zzzz{zz{{zz{{{{{{{{zz{z{z{{zz{|{{{{{zz|zz{{|{{||{zzz{yzzz{|{{z||{z{{zyzzy{{{zy|{{{z{z{z{z{{y{{{{{{zz{zz{y{{|{z{|{{z{z{{{z{{{{{z{{|{zzzz{z{z|{{|{{{{{{zz{{{{{||z||{{{{{zz{{||{{{||{{{{zzz{{}|{{{|{{{zz{z{|{||{{|{|z{|{zz|z||{{{{{|zzz{|{z{||{|{{}|{|z{{y{{||||{|||{zz|{{{{{|{{|{||{{{{||{|{||||}||{{{|{{|{|}|||||||{{{{z{{||||||{}|{{{{{z{{{{{{|}}}|{|||{|||||{{}|{{{y{{|z{{||{||{{z{{{{z{||||z{}|{{|zzz{z{{}||{z|{z{z{zzzz{{|{{{{{z{{{{z{||z{{{||z{{yz{{z{{zz||{{{{z{{{{z{zz|z|||{z{{zz{z{zz{{{{|zz{z{zzzz{{{z{{{zy{yz{z{zz{{z{z|{zzzz{zz{{z{{{zzzzy{yzzz{{{{{{|zzzzzzzzz{{{|{||{{z{zz{zz{{|z|{{|{zz{zz{zz{{zz|{{zzyy{z{z{zz{{{{{zzzz{{zz{{{{|{{||z{y{z{z{z|{{{z|z{{zz{zz{z|{|{{{z{{yz{{{{{{{||||{z|z{z{z{{|{{||{{{{z{z{z{||{{|{{{zz{z|{{{{|||{|{{{zz{{{{z|||{|{{{{{{{{{{{|{{||||{{z|{z{{{||{|||{|z{{{{{|||{|{|||{{||{{{{{||||||||{|{{{z{{}||{{|||{|{{{{{|{|||||{|{{{{z|{{{{{{{{|||{|{{{{||z}||{}{{{{{{{{{{{{{|||{|{{{{zz{{{{{{{{{{{z|{zzz{|{|{{{{{{{z{zyz{{{z}{{{z|{{zz{|z{|{||||{zzz{{z{z{{{||}{{{|zzzz{{{|{{||{{zzzzz{{{|{{{{{{zzzzz{z{|{{z{{z{{{zzzzz{{z{{|{{zzzz{{zz{z|{{{{{{zz{zyzzyz{zz{|{{|zzz{zzz{{{{{{|z{{zzzzyz{{{|{{{z{zz{zzzz{{{{{{{{zzz{z|zz{||{||{{z{zz{{zz{{{|}|{{{{{z{{z{|{|{||||||{{z{||{{{|{|{{{{zz{{{|{|{|||{{z}{{yzz|}{|{||{{z{{{||{{|{{||{{{{{{{{{{{{|{||{{{{{{|{z{|||||{{|{{||{{{z{}|{}{}{{{{{{z|{||}||}|||{{{{||{}|||{||||{{|{{|{{|z|||{||{{|||z{||||{|}{|{{{{{|{|||||||{|||{|{{|{{{{||||||{{|{|{{|||{{|}{|{{{||z||||||{||{{z{{|{{||{{|{||{{yz{{{{z|{|{{|{{zzzyzz{|zz{{{|{{{{{{z{{z{{|{{{{zzz{zzzzz{|z{{{{zzzzzy{zz{{{{|z{zzzzzzzz{{{{{{{zzz{{{{z{{{{z{|{z{zzz{{{{{{z{z{{{{yzzzzz{z{{{{{{zzzzzzz{zzzzz{|{{{y{z{y{{{{{{{|{{yz{zz{zz{{|{{|{{zzzzzzyz{zzz|{{z|zz{z{{zz{{{{|{z{{{{{zyz{{{{{||{{z{zz{|{{{|{||{|{{|{zz{{{{{|z||{{{{z{{z|z|{||{{{{{z{|{z{{|{|{|||{{z{{{z{|{|zz|{z{{{{{zz{{{{{|{|{{{{|{z{{|{|||||{{{|{|{{{{{|{||}{z{|{{{{||||||||{{{{|{{{|}|{||||{{|{{z{{|{|||||}}z{|z|{{|}{||||{{{{{{z|{|z|}{}}{|{{z{{{{|{|||||||{z{{|z||{|{{||}zz{{|{{z{|{{}|||||{{zz{{{|z|{{|z{zzy{zz{|{{{|z{{z{zyz{z{|{z{{{{{{{{zzzzz{z|||||{{{zzzz{z{z|{{|||{zzzz{z{{|{{||||{z{zzzz{{z|{{|{{{z{z{{zzz{{{z{{{{yz{{{{zzz{z{{{{{{zzz{zzzzzz{|{{yzz{zzzz{{z{z{{zzz{zz{z{z{z{||||zz{yz{zy{z{{{{{{{zzz{zyzz{{{{{{{{{zzyz{{zzzzz|||{{z{z{zzz{{{{|{{{z{z{zz{z{{{{||}{z{{zz{z{{{{|{{|{{z{z{{z{||{||||{|{{{z{z{{|||||{zz{{z{z{{||{{|{|{{z{{z{z{||||{{z{{{{|{{{{{z|{{{{z{{{{zz||{{{|||{||zz|{{z{|||}|{|{z{{z{{|{||{|}||{{{{|z{{|||||}|{|||{{{{{z}|||||||{{{{{z{{|{||||}{{{{{z{{z||||}|||{{z{{{{{|{{||||{{{z{{z{{{{||{{{{{z{y{{zzz|}{||{z{{z{zzyz|{{{{zzz{{yzzz{{{{z{{{|{{zyzzzz{{z{{{{|{z{zyzzz{{{z|{||{{{{{yzz{{{{zz|{|zzyzz{y{{{{{{{||z{yzz{zz|z{z|{z{zzzz{zzz{{zz}{zz{zyz{zyz{z{{zzzz{{zzz{zzz{{{{{z|zzzzzzz{{{zz{{{{z{{zzz{z{z{{{||{z{z{y{yz{{z{{{z|{zzyzy{{z{zz{{{zzzz{zzz{z{{{{{{{{zyyzzz{{{z{{{|{z{zzz{{{{{|{|{{{{zzz{{{{{{{{||{{{{{z{zzz|}|||{{zzzz{zzz{{{{|{|{{{zzzzz{{{{{{{{|{{{z|{zz||||{|||{|{{{{zz{{|{{||{|z{z{zz{{||{z||{|{{{{z{z{|z|{||{|z{z{{|{{{|{}||{|{{|{{|{{{|{{{|{|z{{{{{{{||{||||{{{{{{|{||{{{{||{{{{{zz|{{|||{|{zz{z{{{{{|{{{{||{{{{{{{z{{{|{||z{z{{{yz{{{|{{|y{z{{zzzzz{{z{{z{{z{z{z{{zz{z{|{z{{yz{zzz{{z{zz{{{{{z{zzz{zz|zz{{{{z{zz{zz{{|z{{{|z{{{zzzz{{{{{{{{{z{{zzyz{{z{{{{z{z{z{{zzz{{{z{|{zzzz{{yzzz{{{z{z{{yzzyzzz{{{{zz{zyzzzzzzzz{{z{||zzzzzzzzz{{{{{{{{{{y{{{z{{zz|{{|zz{{zz{z{{{|{{|{zzyy{zz{{|{z{{{{{{{{zzzzz|{|{{||{|{{{{{z|{{|{|}||z{{{z{z{{||{||{{{{{zzzz{{{{{{|{|zz{{{z{|{{{{|{{{z{{{{{{|{||}{|{{{{{{zz{||||{{|{{{|{{{{{{{{{|{}||{|{{{{z|{||||||zz|z{{|{{{}{|||||z|{z{{{{}{|{{}{|{{|{z{||||{{{|{|{{{{{z{{{||{{|||z{{{{z{||||||{|{|{z{z{z{{|z|{{||zz{{{{{{|{{{||zzz{{{y|{{{{{{z{|z{zzzy{z{z{{z{|z{{{z{zzzz{{{|{{{{{{zz{z{{z{{z|}{{zzy{z{z{{{}y{{z{{zzzz{zzzzz{{{|zzzzzzzzz{zzz|{{zz{{zyyz{{{z{{{zzzzzzzyz{|{{{{{{{zzyzzzy{zzz{{{{z{zzzzyz{{{{{zz{{zz{zzz{{z|{z{|zz{zzzy{zz{{{y{{{zzzzz{{zy{{z{||{{z{zz{|{z{{{{{||zz{{z{zzz{{z{|{|{{|{zz{z{{{{{{{|z{zz{zy{{|{|{{||zz|yzzzz{{{|{||{|{{{{z{{z|||{||{|z{{zz{{|||{{|{|{z{{{{{{{|{||{||{|{z{z{|{|{{{|||z{||z{zz|{{{{{|{{{{{|||{|}{|||}|{{{{{|{{|{|||{|||{||{{z{{|{|{|||{{{{z{{||||||||{|{z{{{z|{|{|{|||}|{{{z{{}|||}{{|z|zz{|{z{|{|z|{}|z|{z|{{||z{z{{|{z{z{{zz{{z{{z{{zzzzzz{z{{{{{z{|{{{{|zz{{{z{||z|{{zyzz{{z{{||z||{zzz{{z{{{||{{|{|{{zzz{z{z{{{{{|y{{zzzzzzz{|z{|{}yzzzzzzz{{zz{z{zzzzyzy{z{|{z{{{yzzyzzzz{{{zz{{{z{zzzzzz{{{zz{{{{{{zz{zz{{z|{|{|{zzyzz{zz|zzz{{{{{yz{zzz{{{z{|{|zzz{z{zz{{{z{z{|{{z{{zz{{{{|{{{||{{zzz{{{{{z{|{|{y{zzzzzz}{{z{||zzz{zz{z{{|{{{{{{{{{{{|{}{|{{{{{|zz|zz{{{{{{{{|{{{zz{|z{{{{{||||{{{{|{z{||{z{|||{|{{{zzz{|z|{||{{{{{{{z{||||{|||{{{z{|{{{|{{|}|||{{{{{{z|||{z||}|z||{||{||{|{||||{{{z{{{|z||||}|{{{{|z{{|{||||{{zzz{z{z{{|zz{|||z|{z{{z{z||{{{{|{z{zzz{z{||{||||{zz{zzzy{{|{{{{{{zz{z{yzz{{z{{{{{zzz{{zz{{{{{{|z|{zzz{zzz{{zz{|{z{|zzzzy|z{|z{z{z{{{z{z{z|{{{{{{{zzxz{zzz{{z{z{|{z{zz{zz{{zzz|{{z{zzzz{y{{z{{{{z{{zyyyz{{z{|{z|{|{{{zyzz{{{{z{{|zzz{zzyy{{{{{{z{z{zz{yyyz{{{{|{|z{{zzzy{yz{||{{z{{zyz{{z|{{{{{|{{{{{{z{{|{{{z{{{zz{{z{zz{{|{||||z{{z{z{{{|{||||||{{z{{z{{{{|{{|{{{{{zz{z|{{{||{|{{{z{{z{z{{{||||{z{{{{|z{{z|||}|{z{{{{{{|{|{||||{z{{{z|{|{}|||||{{{{{{|{|}||||{||{{{{|z{{}{|||||{{z{{{z{{||{||||{z|{z{{||{{|||||{{{z|{{{{|||}|||z|{|{{z{{|{{{{|{|{|z{z{zz{||{{|z{{{z{z{z{z{{||{|zzzz{z{y{{|{{{{|{{zzz{{{{{|{{{||{z{zzz{zz{z{{{{|{{{z{zyz{{{{{{{}{z{zz{{z{z}{{|{{{zzz{z{zz{{{{{|{{{{z{{z{{{{z|{|{{z{zz{zzz|{|z{z|{yzzz{zz{{{{z{{|{{{{zzzz{z|{{{{{{zzzz{yzz|{|{{{{zz{{zz{z{{{{z|{|zz{{{{{{{{z{{|{|{z{{{|{z{{{{|{|{z{{zz{zz|{{{{|{|{z{z{z{{{{{z{|{{z{{{z|z|{{|{{{||z{{||zz{{|||{{|{{z|zz{{zz||{|{{|{{z{|{z{|{{|{{|{|{{{{{{{{{||{||{z{{{zz|{{||||}}|{z{{{{z|||||{{|||{{|||{z|}|||}}}}{{|z|{|{{{}}||||{|{||{{{|{||{|||{{|zz|{{|{|{|{{{z{{z|{{{{{{|{||{{{|{|{{{z||}{}}{|{{z{{{||{{{{|{{{{{{{{{|{{|||{{zz|{zz{z||{||z{zzz{yzzzz{z{{{{{{zzz{{zyz{{|z{{z|{{{z{{{zz|z{|{|{{zz{zzz{{|{|{{{{{z{z{z{z{{{{z{{{{{zzz{zz{|{{{}{{zzzzz{z{{z{z{{{{z{{yz{yy{{{{{{zzzzzz{zz{y{{{}{{zyz{zz{zy{z{{{{{|zzz{zzzz{{zz{{{||{yz|zzyz{{z{{{{zz{zz{zzz|z{{{{{{y{zzzzz{yz{z|{z{y{z{{z{{{{z{||}z{{yyzzz{{z{z{||{z{|z{{{|||z{|{|{z{zzy{{{{|{{{z{{z{zz{zz{{||{{|{z{z{{zyz{{{{{{{|z{zz{{{{{|||||||zz{|{{{{{{z{|{|||{{{z{z{|{z{|{{{{zz|{{{{}|{|{{||{{{{z{{||{||{||||{{{zz{{{{{{{||{|{{z{z|{|||{{{|{{{{{{{{{{{|{|{|||{z{{{z|{{{{{|||{{|z{z{{||{{{|{}{{{{{zzz{|{{|{{{{z{z{|zz{{{|{|{zz{zzz{zzz{{{z|{{y{z{{zzy{z{{{{{|{zzzz{zz{{{{{|{{{{z{{{z{{z|{z{|{{{{{z{{yz{{{{||{{{{{zzzz{{{{{{|z{zz{zz{z{{|{{|z{{z{zz{zz{z{{{{{{yzzzzzzz{{|z|{{z|zz{zzzzz|{{{{|{zz{{zzzzzz{{{{{|{zz{|z{zz{{{z{{{z{yzzz{z{{{|{|{{zzyz{{zz{zz|{|{|{z{z{{{z{{{zz{}|{|{{z{{{|{||{|||{z{{{z|z|{|{{z{z{{{{z{{{{{{{{|{{{{{{{z{z|{||{|||{{{{{{{z|}{{{||{{{{z{z{{{{|}||||z{{{{{|{|}{}{{|}{{{{{{z{||{}}||{|z{{{{{{|||{||{|{{{{|{||{{{|{||{}{|{{|{{{|||{||||z{{{|{{|{|}||||{z{{|{{{{{z|{|}|{|{{{}{{||||}|}||{{z{z{z{}|{{|{||zz{z|z{{|{{{|||{{{{{{z{{zz|{|{{zzz{zzzyz|{{{{{|zy{yz{zy{{{{{||{{yzzzzzz{|{z{{{|{z{yzzzy{{{|||{|{zz{{zzzz{{z{{{{zz{zzz{z{{{{{{z{{z{{z{z{{|{zz|z{zz{zz{zz{{{{z|{{zzyzyzzyz{{{{{{{{z{{z{yzzz{{{|{{z{zyzz{zz{|{{zz{zyzyzyzzzz{{z{{{z{{z{zzyz{{z||{{z{{z{zzzz{z{z||{{{{z{zz{{|{zz{{|{{{{z{z{{{{{{|{|zz{zyz|{{{{|zz||{{z{z{{z{{{||||{{{{{{zz{{{|{{{{{{{{{z{z{|||{{{{||{{{{{{{{||{||{|zz{{{{{{|{{}{||{{zz{{{z{{||||{|||z|{{{zz{||{{||{z{{{z{|{|{{{|{|||{|{z{{{{||||{{|{{|{{{{{|{||{||||{{|z{{|{|{{|{}|z|{|{{z{}|{|||||{z|yz{{z{{{{{|{{{z{{{{{{|||{|{|{{{{z{z{{{||{{{{{zzzyzyzzz|{{{|{{{zzzzzzyz{z{{{{{zzzzzzzz|z{{{{{|{zzyzzzz{{z|{{{{{zzzzzzz{{{{{{{{zy{z{zzzz{zzz{{{{zzz{zzzz{{zz{{{{zz|{zy{y{zz{{{{yz{zzzzzzz{{z{{{zzyyyzyzzz{{{z{{zzzzyzzyz{z{{{{zzzzzzzzzz{z{{{{zzzzzzzzzz{z{z{{|zz{zzzy{z{z|{{|zzzzz|yzz{z{{{{{|{y{zzzzzz{|{zzz|zz{z{{{z{{z{z{{{{z{zzy{{{}{z|||{{zz{|{z{{{{{{{{|zzyzz{{z{{|{{{{{{{z{{{{{|{{|||}|z{{{{z{{{{|{|||||{{z{zz{|{|z{{|z{yzz{z{z|}{|||||{{{zz{{{{|{{{||||{{{{{|z{}{||{}{{{{|{zz{z}{{|{}{{{{z{{{{{{{|{{||{{{{{{z{{{{{{|{|z{{{{{z{z{{zz{}{{|{{z{{z{|{{|{{{{zzyzzz{{{|||{{{{yzzyzzzz{{z{{z|{zzzzzyz{{{|{{y{zzzzzz{{zz{z{{{{{zz{{z{{{{|{{|{{z{zyzy{zz{{{z{{{{{zzz{{z{zzzz{|zzzzzz{zzz{z|y{z{z{zzzzzzz{{zz{z{zyzzzzzz{{z{z{{{zyyzyz{zzz{z{{{{zy{zy{zz{z{zz{{{z{y{zzzyy{zzz{{zzzyzzzyyzz{{y{|{z{zyz|zz{{zz{{{{zyz{z{zz{z|{z{{{{zzzzzzz{{z{{{zz{zzz{{zz{{{{{{{{zz{z{{z{z{{{z{{{{z{{{{zz{{{{{{{{z{z{z{zzz{{{{|z{|{{z{z{{z{|||||{{{{{{|{z{{{|{|{|z{zz|zzzz{||{{{{{{{z{z{z|||{||{|z{zz{zz{{{|{{|}|{yzzz{z{{}}{|||{|{{{z{{z|||||{|z|z{||{y{{||{{{|||{|||z{{{{||{{||{z{z{{{z|{|{z|{{}zz{y{{zz|{|z||{zz{zzz{{|z|{|||{{zzzy{{z{|zzzzz{z{zzz{zzz{{||{{|{{zz{{yz{{{|{{|{zzzzzzzz{z{z{y{{z{{zyzzz|{zz{{{|zz{{yz{zz{{z{{zzz{{zzyzzz{|zzz{zzz{z{{zz{z{{z{{{zyzyzzz{zz{{{|{{{yzzy{zzyz{{{{{|y{{{zzyy{z{{{z{{{zz{zy{yzzzzz{{{|{zzz{zzz{{z|{{{{z{{zzzzz{|z{{z{{{{{{zzz|{{|{{{{zz{zzzzzz||{zz|z{zzzzz|z{{zz{{{{{z{{{zz{{{|{{|{{{{{z|{z{||{|{||{z{z{zzz{z{{{|{{{{{z{|z|{{|{|{||{y{{{{{{{{{{|{|{|{{|{z{zz{|{||||{{{{{|z{z|||{{|{|{z{zz{{{{{|||{{||{{{z{{{{|{||||{{z{{{{z{|{{}{|||{z|zz{{{|{{||{|}{{z|{{z{||{}}{|||{{z{{{zz|{|{{||zzz{{yz{||{{{|||{{{zz{{{z{|{{{{{z{{{{{z{zz{{{{||zz{{{{zzz{{{{{||{zz{{z{z{{{{||{z{{{|{zz{{{{zzz{|{{{z{z{z{{{|{z|{{z{z{zz{z||{z|{{{z{|zzz{|{{|z{|z{{z{z{zz|zz{{|{|{zzy|z{z{{|z{{|z{zzzz{yz{{{z{{{{zzzz{y{z|zz{{||{{zzzyzzzz{zzz{z{{zzzz{zz{{||{{{{{{zz{zzz{{|{{||z|{zz{{zy{{||{{z{{zzzz|{{{{{|{{{{{zzzz{{z||{|}{|{|{zz{z{{{|{{|{{{{|{z{{zz{||{{{||{zz{zz{{||||{{{{{{|{|z{{|||||||{{z{{{z{{||{{|{|{{{|{{{{y{z||}|}{|{|z{{{z|||}|}}}{z{{{{}{{||{{}}||{{{{z{{|||{}{||{{|{{{{{||{}|{|{{{|{{{{{{|{|{{}{|{{|z{{|}{|||||{{|{{|{{|{|||{||}{{{{{{z|{|z{|{{|{z{z{z{z{z|{{|zz{zzyzzzz{zz{{z|{z{zzzzzzz{zz{{||z{zy{zzz{{{{{||{{zz{{zzz|{{{{{{z{|y{z{zz{{{{{{{{{z{z{{z{{{{{|{{z{z|z{zzz{{{{z{{{{yzzzzzz{z{{{{{{zyzzzy{z{{zz{z{{zzz{y{{z{{||{{{zz{{zyzzzz{z{{|{{z{zzzzzz{{{z{{{{{|{z{{z{{{{{z{{|zzzzzzzy{{{{|{{|{{zz{z{z{|{{{{|{|{z{z{zz{{{{{{||z{z{z{{z{||{{|{{{zz{{z{zz|{z{|{{{{zzy{{{z|z{z{|{{yzz{z{{{|z{{|{{zz{{zz{zz{{|{{||{zz{{{|z{||}|{||{{|{{z{{|{|{||{||{{||{|z{{|||{}|{{{z|z{|{|{||{|{|{z|{{|z{||{|||{}z||{{{{{{|{z{|{|zzz|{z|{{{|z}{|{{{{{{{{{{{|{|||{{{z{{zz{z||{{}}|{zzzz{{{|{|{z|zzz{zzz{{|{|yz{z{zyzz{|zy{{{{z{z{{zzz{{{z{{{{z{|{{{z{z{zz{{{{|{{{{{y{zzzz{z|{zz{{{z{zz{{y|{{|{{{|z{zzy{zz{z{zz{{{zyzzzzzz{{{zz|{{{{{zz{yz{z|{{{zzzzyzzzzz{{z{{{{zz{zzzzzzz{{zz{|z{z{{zyzz{{{{{|{{{z{{{{zzz{{{{|{zzzzzzzzyzzz|z{{{zzzz{{zz{{{{{{|{zzyz|zzz{{|{|{{}z{z{zz|{{{z{{{{{{{{zz{z{z||{|{{z{{{{{z{{z|{||{{{{z{|z{z{{{{{{{{{|{yz{z{{{|{{z{{{|{z{{{{{{{|{|{{|z{z{{{|{{}|||{{{|{{{|zzz{||{|{{||z{{|{{{{||{|}|{{{{z{|{{{{|||||{|{{|||{{{|{||||{{{{{z||{|{{|{{{{|{{z|zz{{{|{||||||{{{z|z|{{{|||||z{zz|z|{|||||{{{{{z|z{z{||{{|{{{{|zzz{z{{{{|{{{zzyz{{zzz{{{{{{{zzzzzzzyz{{{{{||z{{z{zzz{{{{{{{{{{{{{yzzz{{{zz{{{zzyy{{y{{|z{{{zzz{{yzzz{{{{|{{z{z{zzz{y{z{z{{z{{z{y{zzy{{{{{{z{{y{z{y|zz|{zzz{z{{zzzzz{{{{{{|{{zy{zzz{yz{{|{{{{{{zz{z{zzz{z|z{z{|zzzzzzz{z{{|z|{yz{z{zz{|z{{|{{{z{zz{{z|{zz{|{{|z{zz{{y|{{|{{||{y{{zz{{{{{||{|z|z{{zz{z{{{|{{{{zz{{{{z{||{{{{|{{{{{zz{{||{{{|}{{|{zzzz{|{{||||{z{{z{|{{||{|||||{{z{||z{||{|||}||z{{{{{{||{|{||}{{{{{|{z||||||||{z|{z{{{{}}|{|}}{z{{zz{{|||||{{|{z{{{|{{{||}{{{||{{|{{z||{|{|{|||z{y{{{{{{{}{{|||zz{{z{z{|{|{|||{{{{{z|{{|{|||z{|{zz{{zzz{{{|{{|{y{zz{{z{{{|{{{{zz{{{zyy{zzz{{{{{zz{{z{z{{|{z{|{zz{{y{zz{{{{{z{|{yzz{zzz{{{{{{|{{zzzzyzzz{zz{{{zzyzzz{{{{{{|z|{{{zzy{yzz{{{|{{|zzz{zy|zzzz{zz{{{z{{zyzzzzz{{{{||{{{zzyzzz{z{{z{|{{{z{yzz{{{{{||{zzzzzzzy|z{z{{{{{zzzz{{y{z{{z{|{{zzzz{z{||{{{{|{zz|y{z{z{{{|{|{{{{{|{z{{{|z|||||{{{zy{zz|}|{{||{|{z{zzzz{|{{|{{{{{z|{{|{||{{}|{|{||{{z{{{{{||{{||{{{{{{{|||{{||||{{{z|{z||{{|||{{{|{zz|{{|||{||||{z|{{{{{}||||||{||{|{{{|{|{{|{z|z{{{{{{{{{{||}{||zz|{z{}{{||||{|{zz{z{{{|{||{||{{{{{{zz{|||{||{{{|zzzz{z{{{z{{|{zzz{zzzz{{zzz{{{zzzzz{y{z|z{|z{z{zzz{{yzz{||{{z{{|zz{{y{z{{z{{|z{zyy{{yzz|{{{{zzy{zzzz{z|{z{{zz{{{y{zzy{{{{{{{{|zzzzzzz{{z{zzz{zzzyzy{zz{zzy{{{{zz{z{yzz{{{{{{zzz{zzz{y{{{z{{{|{zz{{zyy{z{z{{z{zz{yzzzzy{z{z{zzzzzzzzzz{{{{{{|{zzz{zz{{z{{||z{{{z{zzzz{z|{{|{{zz{zzy{zz|{|{{|{{|{{{{z{y{|{{|||{{{{zzzz{{{|{|{|{{z{{{{zz{{|{|||{{{{{{{{{||||||{{{{zz{|z|}{{}||||{{{z{{z{|{{{|{|||z{z{{{{{|{|||||z{{{{{{{{|||{|}||{{|{{{{{{||{||||{{{{z{z}{|{{{{{{zz{{z{||{{|{|{|{z{{{{{{{{{|{|{{{{z{{z{{{{z||||{|{{{|{{{{{{|{z|{z{zzzz{{{{{z{{{{{{zzzzz{z{{{{{|{zzzzzyz{zz{{{{{{{{zz{{zz{{zz|z|{z{{z{{zz{z{{z{|zzzzzzzzzz||{{{{{z{zzzzzzz{{{{||{{{zz{zzyz|{z{|{{{z{{zzyzzzzzzz{{zz{zzzzz{{z{{{z{zzz{yy{z{{{z{{{zz{z{zyz{z{{{z{|{zzyz{{z{zz{z{|z{{{{yzyzzz||{z|{{{z{zz{z{z{{{{{|{{{z{{z{{z{{{{{|{zz{{{y{{{{{z|{{{z{zzy{{{{{{{{|{{{{{{{zz{z{|{|{||{{{{z{{{|{{{{{|z{z{{{{{{{z{z{{|{{{z{{|{{{{||{|}{{zz{{{||{{{}{{|||z{{zzzz{||{{||{|zz{{{|z{}|{|{}|{|{zz|{z{{||{||||{{{{|{{|}||{{||{{||{z{{||||{||||z{zzz|{|{{||{}~{{{{|{z{{{{|{{||{{zz{{{z{{|{{||||{{zz{|{{{{{{{{z{{zzzzzz{z{{{{{z{z{zzz{y{{|{z{{{|z{zzzzz{z{{{{{{{zy{z{{{{zz{|z{{{{{{zzz{{{{{zz{{{|zzzzzz{{{{|{z{zz{{{zyz{z{|z|{z{y{{z{z{{z{zz{{zzyzyy{yz{zzz{{{{zyyzz{{z{{{z{|{|{z{zyzyz{{z{z{{{z{{zzz{y{zz{{|||{{zzz{yz{{{|{{z{{|yz{zzzz|z|{|||{{{z{{zzz|{z{{|{{{zz{zz{{|{z{{|zzzzy{zz{{{{{{{||z{{{{z{{{{{||{|{|z{z{z{zz{||||{{zz{z|{{{|{{{z{|{|z{{zz{{{|{|{{{{{{z{{{z{{{{|{|{|{z|z|zz{||||{|||{{{|{{{{|{|||{}|{z{{z{{{|||{||||{{z{{{|{z}{{{||}}{{{z{|{|||||||||z{{{z{{|{||{{{{|{{{{|{{{{{||{|||||{||{{{{{|{{||{{{{zz{{zz|{||{|z|zz{{|zz|{|z{|{{z{{zz{{|{{z{|{z{zzzzzzzz{{{z|{{{zz{{zzz{{{z{{{{{{{y{zyz{{z|{|{|{y{zzyz{{{|{z{{|z{yzzzzy{{{zz{{{y{{{zzy{{z{{z{|{{{yzyzzy{z{{z{{z{{zzyzz{{zz{z{|z{zzzzyzy|zz{{{{zzzy{y{yz{y{{{{|{zzy{z{zyzz|{z{{{zzzzzzyz{{zzyz{z{z{z{{zzyyz{z{{{{{zzz{zzzy{{{{{|{|zzzzzz{z{{z{{{zy{{{yzz{z{{{z||{{{{zz{zz||{{{{{z{z{{{zz{z{{{{|{|{{zzzzz{{{|{{{z|{{z|{z{{|{z{{|{|z{|zzz{||||{|{{{{z{|{|{{{{{{}{|{z{|{{{z{{||{{{||z{{{{z{|||{{|{{{{{{{{||{{|{{||{|{{z{z{{{||||||{|{{{{{zz|{||}}|{|{|||{z{{{{z|}||||{{{{z||{{|||||{{{{{{z{||||{{||{{z|{{{{|{{||{|{{z{{{y{{{{{z|{{zz{zzzzyz{z{z{{{|{zz{{{z{{|{{{z|{{{zzz{zz{zz{{{{{{{z{zzyzz{}{{z|{zzy{zzzy{{{{{{{|zz{zy{yzzzzz{|{{{{{zzzz{{|{{zz{{{zzy|{zz{{z{|{|{zzzy{z{{zzz{z|{{zzzzyzy{z{{zz{{{zz{zyzzyz{{{{{{|zzyzyz{zy{{zzzz{{zzyz{zzz{z{z{{{z{zyzzzz{z|{{{|{{{{y{zzz|{{{{{|{zzy|{z{z|{|{z{{|zzzzzz{{{{|||{{{{z{z{zzyz|{z{||{{{{{{zzy{{|{{z}{{zz{||{{{{|zz|||{{{z{{{{||{|{{|{{{{|z{{{||{}{||||zz||zz{||}{{|{|{zz{z{{{|||{|{|{{z{z{{{{{|{||||||{{{{{|{|||}|||||z{z{{z{{{{|{}{}{{{{{zz{|{|{{{}{|{{{z|zz{|{{||||{{zz{|{{{||{{||{|{{{zzz{{{{{{z||z||y{zzz{{{{|{{zzzzzzzzy{z|{{{{|zzz{z{{z{{{{{|||{zzzzz{zz{z{||z{zyzzz{yzz{{{z{{{{{{zyz{y|{|{{{{{zzz{{{zz{z{zzz{{{z{yzy{zz{zzy{|{zzzzzzzzz{zzzz{{z{zzz{z{zz{zz{|{|{|zzzzzz{zz|{|zzzzzzzzyz|z{{{{{{{zz{zy{zzz{z{{{z{zz|zzyz|{{|{z{yz{{z{z{{z{{{{{{{zz|{zz{{{{||{|{{{{{{z{z{{{|{||{z{{z{{zz{{{{{{{||z{{z{{z{{|{||{{{{{z{z{z{{||{{|z{{|{{zzz{z|{|{||z{{z|{{||{||||z|z{{{{{{{{|||{}}{|z{z{{{z{{||||||{||{{{|{|||{||||{{|{{||{z|{|||}||y{|z{{|{||||{|{|z|{z{{z{{{||||{{z{|{{{{{{|{{||{{z{{||{{{{|{{{||{{{z{{{z{{|z|||{|zz{{z{z{|{}{||{{{|z{{{z{{||z{z{{zzzzz{z{{{z{{{|{{zz{{{z{{{{||{{z{{zz{{z|{{{{{{{{z{z{zy{{{|{{{||{{zzz{{y{{{{{{{|zz{z{{{{{{{{{{{z{zzyzzz{z{{{z{{{zzzzzzzy{{{{z{{{z{{{{z{z{|{z{{|y{zzz{zzz{|{{|{{zz{zzzzzz{{{|{z{{{{z{zzzzy{{zz{{{{zzzzz{z{|zz{{{{{zz{z{z{|{|{{|{{zzzz{zzz{|{{{{{||zzzzz{z{{|{{{{}{zz{{zzz}{zz{{{{{{{{zz{z{|zz{{|{{{{{z{{z|||{|||{{{{{z{|z{|{{{{{|{{{{{{z{|{{|{|{|{{{{{{{z{}{|{|}||z{{|{{{||||{||{{{{{{{{||{|{{|{||{{{z{{||||||||{||{{{{{||~|||||}{|||{|{{|{||{||}|{z{{{{{||{||{}||{{{{z{|{{|{{}||{|{{{{zz{{|||||||{{zz{{z|}||{{|{{z{{zzzz{{|{{{|z|zzzzz{{{{z{{{{{{zzzzzzz{{z{{{z}{zzyz{|{{{{zzz{||{{zzzzz{{{{{z||zzzzzz{z{|{{{{z{z{zzzzzz{z{{{{{z{zzz{zzzzz|z{{zzzzzzz|z{zz{{z{{|z{zzzzzz{{z{{z||zzz{zyz{z|z{{{{{{z{yzz{z{{{z{{{{{zzz{yzzzz{z{{|z|z{z{zzzz{z{z|{|zyzzzzzz{{zz{{{{{z{{{zzzz|{{{{{{{{{yzz{{{y{{|{{|{{{zz{z{{{{{{{{{{z|{z{z{{||z|{{zz|{{zzz{z|{||{{{}zz{zz{{{||{{|{{{z{z{{{z|||{||{|z{{z{{{{||||{{{|{z|{z{z|{|{|{{{|{{{zz{{{||{{||||zz{z|{{{{||}|{{{{{{{z||{|}|{{|}||{||zz{{|{||{|{{{z{{{{{{{{|{|}{}|{{|{zz{{{{}{|||{z{{zz{{|{{{{|||{|{z|{|{{{|{||{{zz{{{{{z{{{||{z{{zyyz{{zz{{zz{{zz{zzzz{z{{{{{{z{{{zzzzzz|z{z{z||{{{yzz{{z|z{{zz{{z{zzzzy{{{|{{{|{zzzzzzyzz{{{}{|{z{zzzzzzz{zzz{{{{z{zzzy{zz{{{|zzzzzzzzz{{{zz{{{zzzzy{zzzz{{{z{{zzzz{zzzz{z|z||zzz{z{zzzzy{{{{{{zz{zzzyzzz{{z||{{{zzzz{z{|{z{{{{{z{{|z{{{{||{{{{|yyz{z{zz{{{{|||z{yyzz{z{|||{{{|{z{z{y{zz|{||{{{{{{z{{|z{{|{{{}|{{zzzzzz{{{{|{|{zz{{{{{{{|{|{||}{|{z{{|{|{{||||}{z{{{{{|{|}{{|||{{{{{{|z|}||||||{|{{{|{|{}|{|{|{|zz{{{|{{}|}|||{|z{{{|{{|}{||||{|z{{{z{{{||{|||||}{{|{{|||{{|{||{{|{z|{{{|{|||||{|{|{{{z{|{|{{{{zz{{|{z{{{|{|{{zz{yzyzzyz{z{{{{|y{zzzy{z{{{{zz{|{{zzzzyz{{{y{||{{zz{zyyzzzz{{z{{{{z{yyzz{||{{z{{zz{zzzz{{{{{{{{{z{zz{zzyz{|z{{{z{zyyyyyy{{zz{{{zzzzz{z{z{z{z{{|z{zz{zzyz{{|z{{{zz{zzyyz{z{{{{{|{{zz{{yzz{{{{z{{{z{zzyyz{z{{{z|z|zz{yz{zz{|{z{{{{zzyy{zzz{|{{z{{|zz{z{zzz{|z{z|{{{{z|{{{{{|{z{{{{y{{zz{zz{{|{{||{z{{z{zzz|{{|{|}|{zzzzzzz|{|{{{{{z|{{z|zz{{{|{{||{{{{{|{||{{||{}|z{z{{zz{||||{{||{|{{{{{{|||{|{||{{|z{{|{{{{|{||}{y|{{{|zz|z|{z|{|{{{{zz||{|}{}|{|z{z{{{{{{{||{|{||z{{{{{{{{{{}{|{z{{z{{{{{{||{||{{zz{z|z{|{{{{{z{z{zzz{{{{z{{z{{zzzzzyzzz{{zz{z{zz{{zzy{{z{{{{||z{{zzzzy{z{{|{{z{y{{zzz{zzzz{z{{{y{{zz{z{{{{{{{{{{{{zzyzz{{|y|z{zz{z{{zyzz{{{{z{zzzyzzzzz{{z{z{{zyz{{zzy{z{z{|zz{z{zzzzy{{zzzz{zzz{zzzz{zzzzzz{{zzzz{z{yz{zz{z{|z{{zzyzy{{{{z|{|zzyz{z{zzzz|{z{{{z{zz{{z{{{z{z|{zz{y{z{z{{||{||{{zzzyzyz{{z{{|{{{{{y{{zzz{{{z|{{{{{{{zyz|||{|{|{yzz|yz{{{{|{z{{|{{z{{|z{{||||{{{y{zz{{{{{|{|{z{|}{{{z{{{{{{|}||||y{z{{|{{||||{|{{z{{||{{{}|{}|{{|{{z{|{{||{|{|||{{{|{z{z||{||{||{z{{{{{{|{{{|||{|z|{{{{z||{{||{{z{z{{{z{{z{{{{}{|z{zyz{{|{{|{{|{z{{zzz{z{|z}{z|{zzyzzyzyzz{z{{{{zz{z{{yzy{z{z{{{zz{zzz{z{{{|{|z{{z{zzzzz|z{|z{{{|z{zyzzyzz{{z{{|{z{zzzyzy{{zz|{z{z{y{zzzzz|{{|yz{yzzzyzyy|zz{{{{zzzzyyzzzzzzz||{zzzzzzzy{{{z{zz{{z{zzy{y{{{zz|zz{zzzyyzzy{zzzzzy{{zzzyz{z{z{z{{z{zz{zzzzz{||{{}{z{zzzz{z{z|z{{{|{zz{{zz{{{{z|{|{zz{zz{z{z{{{zz{z{z{{zzzzz{{{|{{{z{{z|zz{{{||{|}{{{{{{zzz{{|{{||{|zzz{{{{z||||||{z{|{{{z{|{|{{{|{{{{{{{{{{{{{{{{||z{|{{{z||{||||{{{z{|{{{{{|z{|{{{{{z{{{|z{z|z|||{{|{{z{{{{z|{{|{{z{zzzyz{{{{|{|{|{|{{{{{{{{{|{{|{{{z{{{{{|{|{|||{{zz{zzz{z{|{z||{{zzzzy{{|z{{{{{z{zzyzyzz{{z{z{{{z{yzzzyzz{{z{|{{{zzyzzz{{{zzz{{zzzzyyyzzzzzz{{{{{zzyzzzzzz{{{z{{yyzzyzyzz{z{z{z{yzyzzyzzz{yzz{yzz{zzzzyz{zzzzzzyz{zzyyzzz{{z{{{zzyyzzzzzz{z{|z{zz{{{yzyzz{{yzz|{zz{zzzyz{zzyz{|zzzyzz{zyzzz{{z|zyzzy{zzzz{{{z{{zzzz{z{z{z{y{{{{{zzzyyz{{{{{{{{{yz{zz{zzz|z{{|{{{{zzz{zz{|{{{{{{z{zzzzzz{|{{z|{{zzzzzz{z{zzz{z|{zz{zzyz{{z{|{|||zzz{{z|{{{{{z{{|z{z|{zyz{||{|{{{{zz{{{z{{{{zz||{zz{{{{{{{{|{{||{}|{{{|z{{{|||z|{{z{{z{{z{|{z{{||z{z{zz{{|{{{{||{{zz{{zz{|{{{{{{{{{{|z{{z|{|{{{{||{zzz{zy{{{|z{|{{{zzzzzz{{|{{{{zzzzz{z{y{{|{{{zzz{yyz{zzz{{zz{||{{{{yz{y{{{zz{{zzyzz{{z{{z{{{{{{z{zzyzzz{z{|{{{|{zzyz{zzy{{{{z{{zz{zzzzz|{{zz{z{zzzzzyzyzzyzz{z{zzyzyzzy{{z{z{|zzz{zzzz{zz{{{z{{{zzzzzyyz{zz{{||{zzzzzyzz|{z{z{{z{zzzz{{z|{z{z{{yzzzzzz{{z{z{{{|{z{yzzyz{zzz{|{|{z{z{zzz{{{{|{|{yzz{yz{y{{{{z{{{z|{z{zzzz|{|{|{{yzz|yz{zzz{{{|{}{z{{|{zz{{{|z{{{z{{z{z{{{{{|{{|{{{{zz|{{{|}|{{{{|{{zz{{z{{|{|{{{{z{z{{{z{|{{z|||{z{z{z{{{|{{||{||{{{z||{{||{{||||{{z{{{{{|{{|{{|{zz{{z{{{|{{{{|||{{{{{{{{||{|{|{{{zzz{zz{|{{|{|{|{zzzz{z{{{|||{{{z{y{zz{{z{z{{|{zzzxzy{zy{|{{{{{zzzzzyyzzz{{{{{{{zzyzzzy{z{z{{|{zzz{zzzzz{{{{{z|{{zzzzzz{z{{z{||zzz{yzzy{{zz{{{{{zzzzyyyz{zzz{{{{zz{yzy{z{{z{|z{{zyyzzzzzzy{z{{{zyz{yzzz{z{{z{{zz{z{z{{zyzzzz{{zy{z{zzz{zz{z{{{{z{zzzz{zz{{{{{{{zyz{{z{{z{z{{{|{{zzzzzzzz|{zz{{|{zzz{z{zz{{{{z||z{z{{{yz{{{{{{{{z{z{{zyz{|{{{|{{|z{zzzz{{|||{{{|{z{|zz{|{{{z{{}z{{{zzz|{{{{{|||||z{{z{z{{|{|{}||{{{{z{{{|{|||||{|{{{zz{{z|{|{|||{z{{{z{z{||{|{|||{{{{|{{{|{||||{{{{{z{z{{|z{{|}|}{{{{z|{{{{|{{{|{{{{{{{{||||z||{{zzz{z{z{|{|}{{|{{z{z{|{z{|{z{|{zz{zzz{{z{{{{zy|zzzzyzzz{zz{{{{{zzzy{zyy{z{{{{{|{y{y{z{zzz{z|{{{z{zzzyzyz|z{z{{z{zzzzyzzzy{{z{z{{z{zzzzy{|{{zz{{z{{zzzzzz{zzz{z{z{{z{zzyzzz{zyz{zz{yzzzz{zzz{{{zzyyzzzyyz|zz{{{{zzz{zzzy{zzz{z{{{zzzzzzz{{{yz{zz{yzyzzzzy{z{{{{{{z{{{{yy{{zz{{{|{{{zz{zz{|z{|{||{zz{z{{{{{z{z{{{{yzzz{z{{{|z{{{{{zzz{zzzz{|{{{{{{{{z{{z{{{{y{{|{{z{{{{zz{{|{z{||{{{|{{{|{{{||}{{{{{z{{{z|{{|{{{|{{{{y{z{{|||{{{||z{{{{{z{{|{{||}z{{{z{{{{{{|{|}|{{z|{|{|{|{}||||{z{{{{{{}|{{||}|{z{{{z{|{|{{||||{zz{{zz||||{||}|{zzzzzzz{z|{|||{|z{zy{zz{{{{{{|{{z{z{z{z{{{{{|z{z{zzz{zz{{z{zz{|{zz{z{zyz{{{{{z{{zzz{yzz{{{{{{|z|zz{{zzz{{{{zzz{z{{yz{zzz{z{{{z{{zzzz{{z{{zz{{{{z{z{zz{{zz{zz{{{z|zzyzzz{{zz{zz|yzzzzyzzyz{y{{zz{zyzz{yyy{{z{{{{{z{zyy{{{{{yz{{{z{{zzy{zyz{z{{z{|z{z{zzzzz|{{||{{z{z{{zz{{{{{{||zz{z{z{y{{{{z{{{{zzzzzz{{{{{{{z|zzzzzzz{z{{{z{|{z{z{zyz{z{|{{{|{yzz{{|{zzz||{z|{{zz{{{zz{{{z{|{{{|{{{|{{{{|{{{}|{{|z{{|z{|{||||||{{{{{zzz{{|||{z{{{z{z{{{||{|{}}|||{{{{|||{z||{|{{z|z{|{{}{||||||{|z{z{z}{||{|}{|{{{{{z{{{z|||||{{{z|{z{||{|{{|{{{{z{{{zz{{{|{}{{{{{z{{{{z{||}|z{z{z{{zz|{||{{{{{zzzzyzzzz{{{{{{zzzzzy{z{z{{{||{zzzz{zz{{{{{|{|{{z{zzzzz{{{{zz{{{zzyzzzz{{{z{|z{{z{yz{{yz{{zz{|zyz{zzzzzzz{zz{{z{z{zzzz{y{{zzz{{zy{zzzz{{{{z{{{zzzyyyzzz|{zzzz{{{z{zyzzy{{{z{{z{yzyy{y{yzz{{z{{zz{zzyzz{zzz{z{|{{z{zz{zzz{{|{{{{{{zzzzz{{{{{z|{{{zz{zzz{{|z{{{|{yz{zzzzz|{{z{z|{z{{z{yz{zz{{{{{{{{{{{zz{{{|||||{z{{{{z{zz{{{{|{z{z{{{z{{|{z|{||{||zzz{{z|{{|{|{|{{{z|zz{|{{{{z||{{{{{z{{{}||{|}|{z{{{{{{z|z{||{||zzzz{{z{||||{|{{{{|zzz{{{{{||||{{{zz{z{{|{{|{|{|{z{{z{{||{|{{|}z{z{{zz|{z{{{{||{{{{{{{zz|z{{|{{{{|z|{z{{{{{|{{{zyyzzyzzz{|z{{||yz{yzzz{{{{z{{{{{zzz{z{z|{{{{|||{{{zy{z{y{}zz||}{yyyzzzzzz|{z{{{zzzzzz{zz{{{{{z|{yzzz{{z{z{z{{{zzzzz{{zzz{z{{{{{zy{zzyzz{zz{{{{{{yyzzzz{z{zz|z{{zzzzzyzz{zz|z{{{zzz{{zzzzzz{{{{{zzzzyzz{z{yz{{{y{{zzz{|zz{z{z{||{zz{zzz{{{{{{{{{z{{zzz{zz|{zz{{|zzzzzzz{{{{|{{|{{zz{{zzz{{|z{|{{{zzzzz{z{|{{|{}{zz{{zz{{{{z{z|{||{z{{z{|||{|{|{{{{{z{z{z||{{||{}|{{|zz{zz||{{{||{z|z|{{z|||||||{{z{{|{{{|||{{|{||{{{z{{{z|||||||{z||zzz{{{||||{{|{{|{z{z|{{{|{}|z|{{||y||{}{|{|{{{zz{z{zz{{|{{{||z|{{{{{{|{{|{|{{z|{|z{zz{|{|{{z{{z{yyz{z{{yz{{|z{{z{zzz{{{{{{z|{{{yzzzz{{{{|{|{zz{zz{{{z{{{zz{{{{zzzzzyz{{{{{z{z{zz{zzyz{{{z|{{{{zzzzzzz{zz{{{zyzzzzzzzz{zz{{z{zzzz{zzy{{{zz{{z{{{zyzyz{{{y{{{z{{{zz{zzz{{{{z{{{zyzzzzz{z{{{{{{z{zy|yzzyz{{z{{{{{{zz{zz{z{z{{|{{{yzzy{z{{|zz{{|{z{{zz{{{{{z{{{{{{zzz{zz{{z{z{|z{z{z{zzz{{{|{{|{zz{{{zzzz{{}z{|z{z{{zzzz|||z{{|{{zzz{{z{|}|}||{{{{{{{z{|}|{|{{{|{zz{z{{{z{{z|{}{{{{{{{{{||}|{|{{z{{{z{|{{|{{}|||}{zz{|{{{|{{{||||z{{z{{|||}{|{{{{{z{z{{z{{{|{{|||zz{|{{{{|{|||||{{{{{z{{{|{{{|||{{z{zzzz{||||{{{{z{zzzzz{{|{{{|{{{{yzy{yz{|zzzz|{|zzz{zzyz|z{{{||{{zz{{{{z{{z{|{{{zzzzzz{{z{{z||{zyzyy{z{z{|{{{{zzzzzzzz{{{z{{{z{zz{z{zz{{|z{{y{z{z{{yzz{zz{{{{{zzzyzyzz{y{zzz{zzyzzzzzzz{{z|{{zzzzzzzz{{|||{{{{{zzz{zzzz|{zz{{{zz{z{zyz{|z{{{z{zz{z{{zz{{{z{z{|{{zz{z{{||yz{{{|{z|{zzz{{{{{{{{|zz{z{z{{{{{{{{|{zz|z{zzz{zz{||{|{{z{z{zz{{|{||{{zz{{zzzz{|||{{{{|{{{{{z{{|{{{||{zz|zzz{||{{|{{|||z|zz{z{{{|||||{|z{{|||z{|{{{|{|{{}|{{||z||{{||||z{z{{{{{|{{|{||{{{{{{{{|{||{||{{z{{{{{|{||||}|||{z{|zz{||{{{|||z{{{{|{{{}{{}|}|{z|{z{{{{}||{||||z{{{{{{{{{|{{{zzzzzyzyz{{{{{z{{zzzz{zzz{z{z{{zz{{z{{yzzzz{z||{zzzz{{zzy{{|z{{{{zz{zzyzz{z{{{zz{z||yz{zzz{{{zz{{{zzzzzyzzz{zz{{{zzzzzzzzz{zz{{z{{zz{z{zz{zzzz{|zzzzzzz{{z|z{{z{{zy{{zyzzzz||{z{{{zzz{yzzzz{|z{{{z{{zzz{z{{z{z|{{zz{z{zzz{|{{{z{{zz{zz{zzzz|{||z|z{{zz{zyz{{z{{{}{zzzz{zzz{z{z||{{z{z{y{z{|}{{{|{{{zz{zzz{|{|{|{{{z{{{yz{{|{|||z{z|{{z{{{{{{|{|||{||{{{z{||{||}{|zz{z{{{{{}{{{||{|{{z{{z{{{|{|||||{{{z{{{|{z{||{||{|{{{z{{~{{{||||{{||{{|{||z{z|{{{{{{zz|{{{|{|||{{{{{{{{{|z|{||{{{{{z|{{z{{{||||{{|z|{zz|{{{{{|z{z|y{{|{{z||{{zz{zzz{zzz{{{{{|{{{zzz{yzy{z{{{|{{{{zzzzy{{{{z{{{{zz{zyzzyz{{zzz|zz{zzzyzz{zz|z|{{zzzzzzzzyzzz{{|zzzzzzzyzzz{z{{{y{{zzzzz{zzzzzzzzyzzzzyyyzz{{z{{{z{zyzzyz{{{z||z{{yzzzzzzz{{{{{z{zz{{zy{z{{zz{{{{{{zyzzzzz{z{z{{{{zzzzyzz{{{{{{|{{zyzz{{z{{{{{|{{{{{{{yzz{zzz|{{{zz{z{{z{{{{{{{z{zy{yzyzz{{{{{{{{{z{z{z{z{|{{{||z{zz{zzz{{|z{|||{{{zzz{{{||{|{{|{{z{z{{{{{{{|{||{|{{{{zzz{{|{z|{||z{{{{{zz||{{|||{{{{{||||{|{|{|{|{{y{{{{{}|||{{|{z{|zz|z{{{{|||{{{{{{z{{{|{||{|||{{z||y|{{{{|||||z{{z{{{{{{|{{{{{{z|{z{zz|{{z}{zz{{zz{z{{{{{zz{zyzyzyzzz|{zz|zz{{yzz{yyzzz{z{{|{{{zzzzzz{{{z{{{zzzzzzzyzyz|{z{{{{{yzyz{z{z{zz{|{z{yyzzzzy|z{zzzzzzzyzz{zz{{zzz{{z{yzzzzz{{y{{y{{zzzzyzzzz{{zz{{{yyzzyzyzzz|z{{{z{y{{yzz{zz{zzz|{zzz{zyzzzzzz{{{{zzzyyzzyzzzz{z{{zzzyz{zzzzz{{{|{z{yzzzzz{zzzz{{{{yz{z{zy{{z|{{{{zz{yz{y{zz{z{{zzzzzy{yzz{{{{|{{{{z{zzzzz{{{|{{|{zzzzzz{z{|{{{{z|{{{y{{{{{{|||{{{z{{{{zzz{}z|{{{||zz{z{zz{z{|{||{{z{z{{z{{|||{||{{z|{{{{{|{{{{|||{{z|{{{{{|{|{|||{{z{{z{{{{{{{{|{{z{{{{{|z{{{||{|{{{{z{{{{{|{{{|{|{{{{{{{{z{z{{|{{{{{zz{z{{|{{{z{{z{zzzzz||{{{{z{zzzy{yzyzz{{{z|{zyzz{zzzz{{{|{{{{zyzz{yzzzzz{{{{{zyz{y{{z{{zzz{{z{zyzzzyzzz|z{z|zzzyzyzzz{zy{z{z{zzyyyzz{{zz{{zz{zzyyzyz{zz{z|z{zzyzzzzzzy{zz{{{zzzzyzyzz|{zz{{{z{zzzzzxz{z|z{{|zyzzzyyz{{zzz|{{zz{z{yz{z|z{z|zzzzyzz{zzzz{{{{{z{{z{{zzzz{z{|{{{{z{zzzy{|{{{z{{{{{{zz{zzzz{{{zz|zzzzzzz{{{z|z{|{zz{yy{zz{||z{{{{{z{{zzzz{{{|{{{{{zzz{{zz|{|{{z{||z{{{z{||{{{|{||{{{zzzyz{{|{|{|{{zzzz{{{|||{{{||{|{{{{|{||{{}}||{{|{z{{{{|||{|{{{z{{{{z{|{{|{|{{z{{|z{z{||{|{|{|||z{{{z|{|{{{{|}{{{yzz{{{{{{{||}{|{z{{zzz|{|{{{{{{{{yy{{{{zz{{{{{yyzz{zz{{z{z{zzzzz{yzz|{{{{z|{zzzzzzzzz{{zz{{{zzzzz{zzz{z{zz{{|zzzzyzzz{zz{z{{{{y{yzzzzzzzz{|{{zzzz{zzz{{{zzz{zyyz{zzyyzzz{zz{zzzzz{yyz{{{z{{{yzzzzz{yzz{|z|{{{zzzzz{zxz{z{{{{{zzzyzyz{{{{zz{z{z{zyzzzz{zzyzz{{zyzzzzyzy{z{zz{zzzzzzz{{z{z{{{|{zz{{zzzz|z{{{|{|yz{yyzzz{z{{||{{{zzz{yzz{{{{{{{{{{zzzzzz{{||zz|z{zz{y{zz{z{{z{|z|{{z{{z{|z|{{{{{zz{z{zz{{{zz{{||{zz{{{z{||||{{{|{zz{zyzz||{|{{|{{z|{{zz{{{{{||{{{z{{{{z|{{||||{z{{z{{zz{{|{||{{||zy{{{zzz|{{|||||z{{{z{{{{{{{|{|zz{zzz{zz|{{|z{{{zz{yzz{{{z{{{||z{zzzz{z{{{|{|{{zzz{zzyzz{z{{z{zz{yzzyzy{{{{|{|{{{{zzzzz{z{{{z{{zzz{zzzz{{{{{{{{{y{zzzzyz{|{{zz|{z{yzzz{{z{zz{|zzyzzzyy{{{|zzz{z{zzzyyzzzz|{z{{{z{yyzzyzzzz{{yz{{{z{{zyz{z{z{z{{{zzzzy{yz{{z{{{{zzyzzyzzzz{zy|z{{{z{zzzzz{zz{|{{zzzzyz{z{|zy{y}|zzzz{yzzzz{{zz{|zzzy{z{z{{{z{|{z{{zz{zz{{{|z{z|{{{{zzz{zz{z{z{{|{{{{z{zzz{{{|{{{{z{zzzz{|{{{{{z{{z|{z{zz{{{|||{|{{z{z{{{{{{{{{{|{{z{zy|z{||{|z{{|{{{{{z{|{|{||||{z{{z{{zz}{{||{|{z{|{{yzz||{{|{|{{{{{{zz||}|}{{|z{z{|{{{{|z|{{{|{{{{{|{z{|{|{|{{{{z{{{{{|{{|{{{{z{{{{{{{{||{{{|{{z{{zzzz{{{{{z|{zyyzz{zzz||z{{|{{zy{xzz{{z{{z|{{{{{zzzzz{{zz{{{|{zzzzzzz{z{{z{|{zz{{zzzzz|{{{z{{zzzzz{zy{|{z{|{z{{zzzzzzz{{zz|zzzz{yzzz{zzz{z{{|yz{z{yzzz{z|z{|z{zz{zzzz{zz{{z{{zy{{zzz{{{z{{{{{zzzzzzzzyzz|z|{|z{{zzzzzz{{{{{{zzz{z{zzz{{{{{{|{z{zzzzzzz{{{{z{|{y{{zz{{{{{|zz{|{{zyz{{{z|{{{z{{{z{yz{zz{{{|{{{{{zz{{{z{{{{||{|{{{zzz{{z|{|{{{||{z{yz{{zzz{||{|{{{{z{{||||{z|{}||{z{zz{z{{||{{{{|zzz|z{{|||||{|}{{z{{{{{|{|||{|{{{zz{{{{{}{||{|{}{{|{{{}|{|||||{|yz{{{{|{{{{{}||}{{{|{{{{|||{|{||z{z{{|{|{{{{z}|{{z{{z{zz{{{z{{{{z{zz{z{{{{z|{z{zyz{zzzzz{z{{{z{{zyzzzzy{z|{{z{zzzzyzzzz{{{{zz|{zz{zzyzyy{{{{{{{{yzyzyyy{z{z{|{{z|{zzzzzzz{z{{{zzyzzzyzxz{{{zz{{zzzzzyzzzzz{{zzzyzzyzyzyz{zz{{{z{zy{zzzzzz{zz{z{{zzzyzyzzyz|{{{|zzzzz{zz{zzzz{{zz{{zzzzyz{{zz{z|{zyyy{zzzz{{{z{{{z{z{zz{{{{{zz{{{zz{zzzz{{z{{z{{{z{yzzyzz{{{z{|{{{{{zzzzzz{|{|{{{{zzzzzzz{|{zz{{{zzz{z{z{|{{{{|{z{{{{zz{{{{{||{|{z|z{z|z{|z||}|z|z{z{{{z{|{{|z|{|z{{z{z{{||{|{||{{{|z||{{{{{{{{||{{{{{{{{{|{z{}||z|{z{{{{{z|{{||{{z{{z{z{|{{|||{z{z{{{z{{||{|{||{|{z{z{{{|{||||{|z{zz{{z{|{{|{|{{z{yz{zyz{{{{{z{zzyzzzyz{zy{{zz{z{{zyzzz{{{{{zz{{{{zxzzzz{{|z{{{{y{zzzzzz{{{z{{{z{{zyyz{{y{{z{z{zyzzzyzz{z{zz{{z{z{y{yzy{{z{yz{z{{zzz{zzzzz{{|{{yzzzzzzy{z{z{z{zy{yzzyzy{{{z{{|{zzzzzzzzz{{zz{|{z{{y{yyzz{{z{z{zzzzzzzzz{z{{z|{{zzzzzzzz{z{{{{{|{{zzz{z{{{{zz{{{zz|{zy{{{zz{{{{{{{zzzzzyz{|z|{{|{{{z{zyz{{{{{{|{{{{z{{zzz{{{z{|{{{z{{{z{{|zz{}{|zz{{{zzz{{{|{}|zzzz{zz{|{|{|||||zz{|z{zz{||{|{|{{z{{{{{{{{{{{{|{{|{zz{{{||||{|{|{{zzz{|z{|{{{|||z{z{{z|{|{||{{|{{zz|{{{|||{||{{|{{z{{{z||{||{{{|z{zz{{zzz{{{|||z|{{z{{zz{{z{z{|{{yz{{y{z{zzz{{{z{zy{{zzyz{{{z{z{z{{zzzzz{{{{{z{{z{zyz{zzz{z{{{{{{{{{zzyzzzz{zz|{zzzyzz{zz{{{yzz{zyy{zy{z{{{zzz|{{zzzzz{y{z|zzz{{{yyzzzzz{zzzz{{{yzzzyzyyzz{{{{{{{yzzzzyzz{zz{{{{zz{yyz{yzz{{{{y{z{z{{zzzzz{zz{{z{zzzzzzzzzz{z|{zzz{z{zzzz{z{{z{{{zzzyz{z{z{{{{{zyy{{zzz{{{{{{{{{zzzyzz{z{{{{{{z{zz{{yzyz{|{z||{{{z{{z{y{{{{{{{{zz{z|{zz{{{{z{|{z{{zz{{{{|{}|{|{{{{|||{{{|{{{||{||{zz{{z{{{{{z{|{|y{z{z{{{||{{|||{z{{{{|z{||{|||{|zz{{{|{{{{|{{||{z||{{{{{{|{|{{{{{z{{{{{{||{{}|{|{{{{zz{{|||||||{z{{z{z{{|{|{||{{{z{{{{z{|{||{{{{z{z{zzz{{{{{{|{zzyzzz{yy{zyz{{{y{yyzyx{{z{z{z{{zz{yzyzzzzzzz{|{zz{{zyzzzyz{z|{{{zzyzzzzzz{z{z{{yzzyyyyyy|zzzz{{zz{yyyzy{z{y{{z{zzzyyzzyzz{z{zzzzzyyyyzy{z{zz{{zzzzzyzyzz{zz{z{{{zzzyyyyzz{z{{{{{yzzzzzzxz{yz{zy{yyyyzzz{z{{zz{|z{yzzzzy{z{z{{{{zzy{zyyzz{zz{{zzzyz{yzzz{{{zzz{{z{zz{yyzyzz{{{{zzyz{{yzzz{|{z{{{zzz{zzzz{z{{{z{{{{z{{z{y{{{{{{z{z{{z{{{z|z{{|{z|yzzz{{{z}{{{{|{{{{z|z{{{{{{{|{{{{{{{zzz{{|{{{||{z{zz{zzz{zzz{{{|{{{|{{{{z|z|||||zyz{zz{z{{|{z|||{z{zz{zzz{z{{{}|{z{{zzz{|{z{z||{{{zz{zz{{{{|z||{{{zz{yzz{{{{{||{{zzzzzzyz|z{{yzzz{zyzzyyz{zz{z{{zzzzzzzzzzxzz{{{zyzyyzzzzzzyzz{y{{zyyyyzxzzzz{y{z{{yyzyyzzzz{z{zzz{zyzzyzzzzzzzzzyzyzyyzzzzzzz{zzyyyz{yyzxzzzzzzyyyzyyxyzzzz{zz{zzyyzzyzzy{y{{zzzzzzzzyyzzz{yz{{zzxyyxzyyzzzzzzzzzyyzzyyz{zyy{{{{zzyzzzyzz{z{zzzzyyzzxzyz{{zz{zzyz|zyzzy{zzz{z{{{z{zyzz{z{zz{{{{{zzz{z{z{{zz{z{{zyzzzzzy{{zzzz|{zzzyzzyz{{|z{{z{zzzzyzyzzz{{{{{yzz{zzz{z{|z{{{|{{zz|{zy{{{z{{z|{{zzzzy{{z{{z{|{{{z{z{zz{z{{z{z{{{z{zz{{z{|{{|z{{{zzzz{zy{{{z||{{{z{z{{z{{zzz|{z|{zzzzzyzzz{{{|{{z{zyz{zyz{z{z{{{{zzzyz{zz{{{zz{{{zzyzyzy{z{y{zz{zzyyzxzyzzzzzz{zzzzyyyyyzy{zzz{{zyyyzzyyzzz{{{zz{zz{yyyzzz{zzz{zzzzyyz{yzz{zzzzzzyzzzyzyyz{y{{zzzzzyyzzzzzzzyzzy{zyzyzyyzzz{z{{zy{yyyzyyyzzzz{zzzzxzyzyzz{zz{z{zzyyzzzzyz{yzz|z{zzyzyxzyzz{z{{zzyyzyzyzxyzzzzzzzzzzzzyyy{{{{{{z{zyzzzyyzzzzz{{{{yzz{yy{z{zz{{zz{yz{zyyzz{{zz{z{{zzzz{{z{z{{{{z{{zzzzzzzyz{{{z{{{yyzyzzzzz|{{z{|{zzy|{y{z{z{{{|{{z{z{zz{z{{z|{{{z{{z{zyzy{{z{{{|z{yy{yzzz{{{{|{z{z{{zy{{{{{{z{{{{{{{z{zzzz|{{{|{{|{{zzz{{{{{{{{|{{zzzzz|{{{z{{{|{{{z{z{zz{{|z{z{{zzzzz{y{{{{|{{|{{yzz{zzz{{{|z{{zzzzzzzyz{|{z|z{zzzzyzzzyzz{zzzy{{zzyzzzyzyz{z{zzz{zyzzzyzz{{zzzzzzzyzyyxyzzzzy{zz{yzzyzzz{{zzz{zzyzzzyyyzzyzzzz{zxzzzzzzzyz{zz{zzyzyxzyzzz{z{{{yxy{zyyyzzz{zzz{y{zyzxzyyzzzzzzz{yyzyzzyyz{{zzzzzzy{zyyyyyzzyz{y{zyzy{zzyx{zzzzzzzyzzyyyzzzzzz{z|zzzzzzzy{z{{zz{{zzzzzxzz{zzz{{{{zzzyyzz{z{{{{{|{zz{{zzz{z{{z{{zzz{zz{zyzz{{z{z{{{zzzzzz{{z{zzzz{z{z{zzzz{{{{{|{|{{zyzzz{zzz{{{{|{z{z{zzz{{|{z|{zzzz{{yzzz{{z{{|{zzz{{{|{z{z{{|z{{{{{z{{z{{{|{{{{{zz{zz{z{zz{{{{{z{{zz{zz{z{{{{||{{yzzzz{{{{{|z{|{{{{{{yzz{z|{||{{z{zzyzyz{{z{yzzzzzzyy{z{z{z{{{{{zzyy{zyz{{zz{{{zzzzyyyzz{z{{z{{zyyzzzyyzzzzzy{zyzzyzzzzzzzzzzz{zz{yzzzyzzzz{{z|yy{zzzyyzzzzz{{zzyzyyyyy{z{zy{zzyzyyyzyzzzzyzy{zzxzy{yzzz{zzzzz{zyzyzyzzzzzz{zz{zyyyyzyzzzz{z{zzzzzyyyzyyzzzyzz{zyyyyyzyyzzz{{zzyy{zyyzyzzz{z{{zzzyzzzzzzzzzz{{{zz{zzzzzzzzyz{{{zyyzzzzyz{zz{{{{{yz{zzzyz{{{z{zzzzzzzyzz{{{|{|{{zzzz{{zyz{zz{{{{{{zzzzzz{{{{{{||zz{{{z{z{z{|{|z|{{zz{zzz{{z{||||{zzz{z{zz||z{{|{{z{{zzz{{{{{{|{{|zz{z{zzz{zz{|{{{z{|z{{{{{|{|z{{z{{y{zz{zz{{{{}{{{zz{{zz|{z|{{z{y{zzzy{z{{z{{z|{zzzzzyyz{{{{z{{zzzzyzzzzzz{z{{z{zyzzzyyyzyzyy{z{zzz{yyzy{zzzz{{z{zzyyzyzz{y{{{zzyzzzzyyzyz{zzz{{{zzzyyzzz{zzz{zzzzzyyyzyzzzzz{zzzz{yzyyzzzzzzyz{{yzzyzyyzyyyz{zzyyyyzyyyyz{zzzzzzzzzyzzyzy{z{{zzzzzyyyzxz|{{y{z{zzzzzzzzyz{zz{z{zzzyyy{yz{zzz|zz|zzzzzyz{zz{zz{{zzzzzzzzzzzyzz{{zyzzzyzyzz{{zzz{{{zzyzzz{z{{{{{|zzzzzzzz{z{{{|z{{zzzzzyz{z{z{z{{zyyzzy{z{{{{{{{zzzzy{{z{{z{{{{{{{yzz{z{z{{||{{{{{{zyzyz{z{{{z{{{{{zzzzz{|}{||{{{z{{zz{|z{{{{{{|{|z{zzz{{{|{{{z|{{z{{{yz{{z{{{{zz|zzz{zz{{|z{{{{|z{{y{zy{{{{{{{{{{z{zzzzz{{{{{||{|zzzzz{z{{{{zz{zy{{zzx{zz{{{{zzzyyzyzzyyzz{zzyz{{z{yzzzy{zzz{{{zzzzzzzzz{yzz{{{{zyyzyzy{yz{zz{{zzzyyyzyy{zz{zy{{zyz{zzyyz{{zzzyyzyyzzzyyzzzyz|{yy{zzyzzzyzz{zz{zzyzyyyzyzzzzz{{zz{zzzzyxzzyz|{{{yzzzyyzzyzzzzyz{zyzyyyzyzyzz{zz{zzyyyzzz{{zz{|zz{yzyzzyz{z{zzzzz{zzyyzzzzzz{zz{{zxzyzyzz{{{z{z{{zz{y{zzz{yz{z{|{zyzzzyzz{z{{{{{z{zzz{zz{z{{{z|{{{zz{zzzz{{z{|||{y{{{zzzz{{|{z{|{{|zz{{{{|{|{{{{}zzzz{zy{{{zz{|||zz{z{zz{z{|z{{|{{{{{y{{{{{{|{{{|}z{{z{y{z|{{|{|{z{{{{{zz{{|{z|||{zzzzzz{{{{{{{|{{zz{{zzz|{{{{z{{{{zzzzzzz{{{{{{{{zz|zy{z{{{{z{zyyz{yzzzzzz|z{{zyzzzyzyzz{{{zzz{{{yzyyzzzzy{{zz{{yzyzzzzzz{zz{z{zzzy{yzz{{z{z{yz{zzyyxzzyzzzzz|{zzz{yyxzyzzz{zz{{zzzxzzyyzzzzzzzzz{zyzzyzzz{yzzzzyyzyzyyz{z{zzzz{zzyzyzz{y{zz{{{{yzzzyyzyzzzyzz{{yzzzzyyzzy{zzzz{zzzzzzyyzzy{y{{zzzzzzzyy{{{{{{{zyzzzzzzyzz{zzz{|zyz{zyzyzz{z{z{{zyzzyzz{z{zz{z{{zzzzzz{zz|z{z{zz{zzzyy{zz{|{zz{z{z{yz{z{z{zz{z{{z{{{{z{z{z{{{{z|{z{{{zz{z{{{{{z|{{zzzzzzz{|{{z|{zyzzzz{z{{zzz{{zz{{z{{zzz{{{{{{}zzzy{zz{{{{{{{|{zz{{{zz{{{zz{{{{{z{{{{{z|||z{{|}{z{z{yz{{|z{{{{{{zz{{zzzz{z{z{{|{{{{y{z{{{z{z{{z{{zyzzzyzz{{{{{zzzyyxzyyz{{z{z{{yyzzyy{yz{z{z{{{{zyzzz{yzzyz{z{z{zzzzyz{z{{{z{{{{{zyyyzxzzzzz{z{yyzyzzzyzzyx{{zzzzzzyyzzzzzzz{zzyyzzzzyz{{z{y{{{yzzyzzyyyzzy{zzzzzyyzzyzzy{zzzz{z{zzzyzyzz{{zz{{{{yy{yzyy{zzzzz{zyyyyyyzz{{zz{|zzzzyz{zz{{z{z{{{zzyyyyzzy{|{{{zzzzzzzyzz{zzzz{z{zyzzzzyzzzzz{z|{zzzyzyzz|zzzz{zzzzzzyyzzz|{{|{z{{y{{yyyz|zzz{z{{{z{z{zzzz|{z{z|zzzz||{z{{{{|{{{{{zzz{zzzy{z{|{{||z{z{zzz{|{z{{zz{zz{{|{zzz{z|||{{z{zz{{zz|{}||{{{{{zzz{{{z|{{||{{zzz{zzz{{{{|z{|{{z{z{z{{{{{{{{{{{zzyzy{{{{z{{{{{{{zzz{zz|{z{z}{zz{zzzzzzzzzz{zzyzzzzyzxz{zzzz{zzyyzyzzyzzzzy{z|zzyzyzzyz{yyzz{{zyz{zzzzzyzzzzzz{z{zzyzy{{zzzz{{zyyyxyzzz{zyz{zzzzyyzyzyzyz{yzzzyyzzyzyyzz{{zz{{yyyzyxzy{zzz{y{zzyzzzzyyzzy{z{z{zz{{yyyyz{z{zzyzzyzzzzyyz{yzzz{{yzzyyzzyz{yzy{z{zz{{yzzy{zz{{{zzzzyzzyzzzz{z{zz{zyzzzzzz{zz{z{{|zzzzzzzy{{zzz{{{zyzzzz{y{||{|{zzzyz{zyzy{{{z|{{z{z{z{yyzz{zz{y{{zzyzyyzz{y{{{{{{zz{yz{z{|{|{{{{|{zzzy{zyz{{{{zz{{{zz{{zzz|{{|||{zzzzzz{{z{{{{|{{|z{zz{zz{||{{{{{{{zz{zzy{|||{|z{zz{zyyzz{{z|{|{}zzzz|zyz{{{{z{|{z{z{y{{zz{{{{{{{{zyzyzzz{{|{{z{z{z{zzyzzz{{z{{yzzzzzzyyyzz{z{{|zzyyzzzzz{{{y{zzzzyzyzzyzz{zyzzzz{zzzzyzyy{z{z{z{{zyzyzyyzzz{yzz{zyzzzzzyzzyy{{zzzyzxzyzzzz{{z{{yyyzyzzyzyzyzzy{{yzzyyyzyz{zz{zz{zzyyzyxzzz{zzzy{zyzzzyyzzz{yz{zzzyyyzyxyzzyzzz{zzyyyyzyzy{zz{{{{yzyzzzyy{zz{z{{{zzy{zzyyz{zz|{{{{zyzyy{z{{zzz|{{zyzyzzzzzz{zz{|{{zzzzzzyzzz{zz{zzyz{{zzzz{{z{{|{{yzz{zyz{{z{y{{{zzzzzzzz{z{{{{{{z{{{zz{z|z{||{{|zzzzzyzz{{z{{{|z{{yzzz{{||z{{{{{zz|zz||z{z{{{|{||zzzzzz{z|{||{{|{{{{zzz{z{{{{|{{{zzzzz{zy|{{z|{|{{{{{zz{{z{{{|{|z{{z{zzzz{{{{{|{zzzzz{{zz|z{{y{{{yzxzzy{z{{{{z{z{yyzzzzyz|{z{z{{zy{zyyzzzzz{zzz{zzyyyyzzzzzzzzz{zz{yzyzyyz{|zzz{zzyzyyyyzy{yzzz{{zyzzyzyz{z{z{zzzzyyzyyzzzzzzzzzzzzyyyzzzzzzyz{zy{yyyyzyzzzzyzz{zyzzzzyzy{z{zz{zzz{yzyzyzz{zzzzz{z|yyyyyzzzyz{{zzzyyzyzxzzz{zzz{zzzzyzyy{z{zyz{{zzzyyyyzzzzyzzz{zzzz{z{z{z{zz{{zzz{zzzz{{z|z{z{{zzzzzy{zz{z{{zyzzz{zyz{yz{zzz{{zzz{{zzzyz|zzzy{{yz{{yzz{{{{|{{{{zz{{z{{z{{{{|{|{zzzzzzz{z{z}{z|{{z{zzyzz{{{zz{{{{z{zy{{zz{{|{|{{{zzz{{{{{|{|||{|{{z{zzz{{{z{||{{zyy{{{zzz|{{{{|{z{{zzzy{z|{|{{{|zyzzzzzzz{z{{|{{{{zzzzzzzzz{{z{{{zz{z{{zy{{{{{{{yzzzzzyy{{zz{zzzyzzyyyyyyzzyz{zzzyyzyzyz{yzz{{{{yzzzzzyzz{zzzz{{zzyyzyzx{zz{zzy{zzz{yyyyzyzyz{{zzzyzzy{y{z{zzzyz{zzzyzyz{yz{zzzz{zyyxxyyz{z|{yz{zz{yzyzzz{z{zzzzzzzyzyyyzzzyzzz{zzyzzyzzzzzzzzzzyzzzyyyyzzyzz{z{{zzyy{zyy{zzzzz{{xzyyzzzy{|zzz{{zyz{zzzzzzzzz{z{yyzyzzzy{{{zzz{zzzzzzz{zz{zz{{{z{zzzzyzzzz{{{{{{{zyz{{z{z{{z{z{zzzz{{{zyz{{{{{|{{z{y{{{z{{z|{|||{zz{zzzz{{{|z{|{|zzy{{zz{{|{||{{zz{zz{{z{|{{{|{{{zy{zz{zz||{{{{{{y{{zzy{|{{{{{{{{y{{{{{{{z{{{{|{{{zz{zzzz{|{z{z|z{{zzz{{{zzzz{{|zz{zzzzzz{{{{{{{{{zzzzyyzz|zz{z{zyzzyzyzzyz{{{y|yzyyyxyzyzzz{|{|zzyyzyyz{zz{{zz{zzzzyy{yz{{{zzzz{zzzyzyyzzz|z{{{yyzyyyzzz{zzyzzyzzyyyyyzzzzzz{z{zzzyyyzyzzz{zzzzzyyzyzzzyzzzz{{{zyzzzzzzzz{{zz{z{zyzyzyzyzzzz{z{zyzzyzzzz{zzzzz{zzzyyz{zxz{z{{{{zzzzzzxzz{z{{{{zyzzyzxyzz{zzzz{zzyzzzy{y{{z|{zz{zzzzyzzzz{{zz{{{zzyzzyzzz{y{z|{zzzzzzzyz{{{{{{|zzyzzy{yz{zzzz{{{z{z{zz{zz{z{z{{{zzyzyzzz{{{|{{zzzzz{{zzz{{z{z{{{zyzz{z{z{{{z|{z{{z{z{{|z{|{{{{|{{{z{{{{zz|{zz{{|{{z{zzz{{{{|{|{{{yzzyzz{{zzz{{z{{zz{{zz{|{z|{|z|{zyyz{zzz{z{z{{{{{zzzz{z{zz{{z{|zzzzzzzzz{|{zzyzzyyzyyzxz{zzzz{zzzyyyyyyz{{zzzz{z{zyyyzzzzz{z{zzzyzyyyyzyz{zzzzzzzzyyzyyz{zzyz{zzyyzyxyyy{{{{zzzyxzyyyyyzzzzyz{{zzyyyyyyyz{yzzzzyyyzyzyzzz{z{{{zzyyyyyzzzz{z{{{yzzzyzyzxyz{{z{zzzxzyzzzyyzzy{zz{{zyy{yyzyzzz{zzzzzzyzzyyzzzy{zzz{yzyzyzyz{zzz{{{yyzyyyzyzzzzyz|zyzzzz{yzzz{{zz|{zzzzzyyzy|zzz|{zzzzzyzzyz{{{{z|z{zzz{z{zzz{z{{zz{y{zzz{yz{{{{{z{zzzz{{yz{|z|{{|z{zzyzyzzz{{|z||{{zz{{yy{{{{y{{{{{zz{z{{z{{z|{{{|{zzz{z{zz{{{{}|{{{{{zzzzz|{|{{zzzyzzzzzzz{{{{{||{zz{zzzzzzzz{z{{zz{yzzyzz{z{{{{zzzzyzzyz{{{{z{|zyz{zyy{zz{z{z{zz{zyzzyyyz{zzzzz{z{zzzyzzz{zz{{zzzzxy{yyyyzzz{z|{|yy{zyzzyzz{yz{{yyzyyyyyyzzz{zz{zyyyyzzyz{yzz{{zzyyzzzyyzzzyyzzzzzyzyxzyzzyzzzzzyyyyzyz{z{yzzzzzzzzzyzyzzzy{{zz{yyyyzzyzz{zzz{z{zyyxzzzyzzzzz{{{{yzzzyyyzz{{z{yzzyzyzyzz{zz{{z{{zyzyzzzzz{zzy{z{zzyzzyzyz{zzzz{{{z{zxz{zz{{zzzz{{zzyzz{zzzzz{{{{zyzyzzy{{{{z{{{{zyzyzzzz{{{zzz{{z|zzzzzz{{{|{|{{{zzz{zz{{{{{z}{z{zz{{zyz|z{{{{{{{zyzyzyz{{|z{{|{{zz{zz{{{{{{|{|{zzz{z{z{{{{{{{{|{{zzzzzy|z|{{||{zy{zy{zz{{zzz{{{z{yz{{zz{{{{{{{{z{zyzzzzz{{z{{{z{{zz|zzz{{{|zzz{z{zzzzzzzzzzzz{zzyzzyyzxz{{zzy{{{zzyyyyyzy{{{zz{zzyxyyzz{zzz{zz{zzyyzyyzzzz{yz{zyz{zxyzzzzzz{{zzyzzyzzxyyyzzyz{zyyyyzyyyyz{zzyzzyzyzyzyzzzzzyzzzxzyyyyzzzz{zzzzz{yyyzyxyzzzz{{|y{y{zzyzzzzz{zz{y{yyyzyzyzzzz{zzy{yyyzzzyzzzyzz{{zyzzzzzyzzzz{{{|zzzyyyzzzz{zzyz{zz{zyzz{zzy{z{zzyzzzzzzzzzzz|z{{zzzzzy{zyzz{{{{{zyzzyzzy{z{zzz{z{zy{zzy{z{{zz|{{{z{yzzz{{z{{{|{{|{zzzz|z{zz|{{{{zzzz{y{zz|{{{{{z{zzzzzzy{z|z{{{{zzyzzz{{{z{{{{{|{{zzz{{zz{{{z{{{{z|zzz{{{|{{{{{{{{z{zzy{z{z{{z{{|z{zzyz{z{{z{{||z{zy{zzz{{{{z{{||z{yyzzzz{z|zz{zzzzxyyzyz{{{z{{{zzyzzzyy{zzz{z{zzzzyyzyyzzyzzzy{zzyyyyzzzzzz{{{{zzzy{zzzzz{zyzz{zzyyyyyyz{zzzzz{zzzyyzyyzzzz{{zzzzzyzzzzyzzyyz{zzzyyzyzzzz{z{z{{yzyyyyzyzzzzy{zz{zyzzzyzyz{zzzz{zzzzyzzzzzzzzy{{{yzzyz{yyzz{z{{{zzzyzyzyy{z{{zzyzyzzyyyyzzzzz{{zzzzzzzzyyzzz{{{{zzzy{yzzzzzzzz{{zyz{yzyyzzz{{{zzzzz{{yzzy{zyz{{{{zzyzzyyz{{y|{z{{yzz{zyy{{{|{{zzz{zzyzyz{{|{z{{{zz{{zzzz|{z{{z|{{zz{z{zz|||zz||z{zy{z{yz{{{{z{{|{zzzz{{zz{|{|{{|{zyzzzzzy{{|{{|{|zz{zzzz{{{|{{{|{y{zz{z{{z{z{{||z{{z{{zzz{zz||{{zz{zzzzz{{{{z{{{zz|zzz{z{}{{{z{z{yzzz|zzzzz{z{zzyzyzyyyzyz{zzz{{zzzz{zyyzzzzzzz{zyyyzzz{z{yz{{{zzzzyzyyyzz{{zzz{zzzyyzzzzzzzz{zyyyzxzxyyzzy{zz{yzyzzzyzzzzzzy{{{zyzzzzyzyzyzy{z{yyyzzzzxzz{zz{{zzyyzy{zzzzzz{zzzzyzzyyzyyzz{{{zzzyyzzyzyzzzz{zz{{zyyzzzzzzyzzyzzzzz{y{zyzzz{z|z{zzyzzxzyz{y{yz|{zy{zyyzyzz{z{{z{zz{yzzzzz{{z{z{{zzzz{z{y{{{{z{zz{zzzyzz{{zzzzz||{{z{zzzzz{{zz|zzzzzzzz{z{{{{{{{{zz|z{{{z{zz|{|{{{y{{zzz{z{{z{{{|zy{z{z{z{zz|{{{zz{zzz{z{{|{{{{{{{y{{z|{{z|{{|{{|zzz{zz{z{z{{{|{{{yz{z{zz{{{|{{{{{zz{{zz{{{{|{||{z{zz{{y{{{{{{{|{zzz{z{{{z{{{{z{{{{zyzzyzz{z{|zz{zzyyyyyyyyz{{{{zzy{yzzzzzzz{z{{zzz{yzzzyz{zz{zyzzyyyyzzyzzz{{zzzzyzyyzzyzzy{zzz{zyyyxyyyzzzyzzzzzyzzzxzyzzzzyzzzzyzyzyyyz{z{zz{zyyzyzzxyzz{zzzzzzzyyxzzyzzzyzzz{zzzyyyyzzz{{{zz{zzyyyyzxyzz{{zz{zzyzyyzyzz{zy{zzyy{yzyyy{{zz{yzzzzzzzzzz{zzzzzzz{yzzzy{yzzzz{{z{zz{yz{zyz{zz{{z{zz{yzzzy{{{|z{zzzz{zzzyzz{{zz{{zzzzzzyz{{{zz{{{zzzzy{{z{|{{{z{{zzzz{zzzz{z{z{{}{zz{{z{{yz{{z{{{{{z{z{zzz{{{{{{{{{y|zyz{zz{{{{{{{{zzzz{zz{{{{{z{{{{|z{zz{{{{{{{{{{zz{{zzzz{z{{{{||zzz{zzzz{{{{{z{zzzzzz{z{{{{zz{{z{zzzz{zy{{z{z{zzzyyzyzzzz|zz{{yxzyyyyzzzzzzyzz{zyzzyyyzz{zzz{zz{zzyzyzyzzzz{{{zyyyzzyzzzzz{{z{zzzyyyyzzzzzzz{zzyyzxyx{xzzyzz{z{zzzzyyzzyzzzzzzzyyyyzyyyzyy{y{y{zyzyyyzz{zzzzz{zz{zyyzyyy{zzz{zzyzzzyzzzzyz|zz{zzyzzyzzyyzyzzzzzzyzzzzz{yyz{z{y{zzzyzzyyzyz{zz{{zzyyzyyzz{zzyyz{zz{zyzzz{z{z{{|zzzzzzzzzz{z{{z|{zzzzzzyzz{{{{{{zzzyzyyzyzz{{zz{{zz{{zz{{{|{{z{{{{zzz{zz{z{{{z|{{{z|z{z{zz{{{{{{{|{z{z{zzz{{|{{{{{z{{zyz{{{{{{{|z|{zzz{{z{{{|{|{{{{z{zzz{{{|{z{z{zzz{zz{{{{z{|z{{{{yyzzzzzzz{z|||{zy{z{z{{{zz{{||{zzzz{{zzz{{{{{{z{zyzzzzyz{zz{{{{z{yyzzyz{{{z{z{zyyzzzz{z{yzzzz{{zyzzyyzzzzz{{zzzyyyzzzz{zzz{{{{zzzzyzzzyzzzzz{z{zzyyyzyzzzzz{z{zyyyzyzyzz{zzzz{xzzzyyyy{z{zzzzzzyyzzzyzzzyzzy{zyyzzzzzzzzzzzz{zzzyzzzyy{{yyzzzzzzzzyzzyz{zzzz{zyyzzzyzyzzzzz{zzzzyyzzzzz{yzy{{|zzyzzzzzyz{{z{{zyzzzyyzzyyz{z{y{zyyzzyzzzz{{{yzzyyyyzz{yz{zzz{{|zyzzzyzzz{{zzz{{{yzzyzzzzz|z{y{z{zy{zzzzzzz{{{zz{z{z{zz{{{|{{{{{zz{zz{{{zz{{{{z|{zzz{zzzz{{z{z|{zz{z{zzy{{{{{{|{{{{z{z{{{z|zz{{z{{{zz{zz{{|{{|{||z{{{{{y{{{{z{{{{z{zz{{z{{{{{{{|{{z{{{zz|zz{z{{{zz{zyz{zz{z{{|z{{{{{zz{z{z|{z{{{{zzzzzyy{{{{{{zzzzyyyyyyy{{zzzz{zyyzyxyxy{zzzzzzzzyyyyyzzzzyz{{z{yxyy{yzyz{{zxzzzyyyxzyx{y{z{{{zzzzxyzyzyzzzy{zzyzzzyzzzzz|z{zzzyyyzyyzyyzy{yzzzyyyyyyyy{z{{{{zzzyzzyyyzzz{zzz{{zz{yyzyxzzyyy{z{zzyyzyyzzyzz{zzzyyzyyyyxyzzz{{z{zxzyyzzyzzyzz{{{zyzyyzyyzzyzzz{{yyzyzzyyzz{{y{z{{zzzzzzyzz|z{z{{{zzzzz{y{z{{zzzzzzzyzzzzzz{zzz{|zzzz{yzz{{{zzz{{zzy{{{zz{z{|{}{{zzzzzzz|zz{{z{{|zz{yz{yyz{{{{{|z{yzz{zzy{{{{zz||z{zzz{{zz{{||{|{{zzz{{zzz|{{{|||{z{{{yz{|{{zz|{|zzzzz{{{{zz{{|{{zz{{{zzz{{|{{{{{zzzzzzzyz|{zz{{{z{zzyzyzzz{zz{{zzzzyzyyzzz{z{{{zzzzzzzzxzyz{zz|zzzyyyzyyzzyzzzzzz{zyzyxyzzz{zzy{{{yzzz{zzz{zzzz{yzyzyzyyzzyzz{z{yzyzyzyzzzz{yz{zyzyyzzzzz{{xzzyzzzyzzxz{zzyzy{{zzyzxyyzzyz{{zzzz{zyzzzzzz{z{zz{zzzzyyxyyzz{zzzy{zzzzzyzyyzzyzz{{zzzxyzyzy{z{{{{zzzz{yzyz{z{z{z{{zzyzzzz{y{{zzz{z{zzzyyzz{{{{{{|{zzz{zzyzzzzzzzzzzz{zzzzzzz{|{{zz{zzzzzyy||{zz{{|{zzzzzyz{zz{{{z{zz{z{z{{{{{z{z{{yz{y{{{z{{{{y{{{{zz{zzzzz{{|{{{z{zzzz{{z{{{{{|{||zyz{{{{{|{{{{{{|zzzzzzzz{|z|{{{{z{zzzz{|{{{{{|{{{z{z{zz{{|{{{|||{zz{zz{z{{|z{{|zzzzzzyzz{{z{{{{{zz{zz{zz|z{z{{z{zz{zyyzz{{z{zzzzyxzzyyyzzzzzyzzyyzyzzyzzzyzyz{{z{zyyyzyzzzyzzz{{yzzyxyyzzzzyz{zzz{yzzzy{yy{zzz{zyzzyy{yyz|zz{zzzyyyyyxz{{{zy{|{zzzyyzy{y{yzzzzzyyyzyzyzxyyzzz{y{yyyzzzz{z{y{z{zzzzyyzzyz{zzzzzz{yyyyyyyyz{zz|zyzyzxzyz{zzzyzzz{zzzzzzzzzzzzz{{zzzzyzyyyzzz{zzz|{yzzyzzzzzz{{z{{zyyzyyy{z{z{{z{zzyzz{zzyzz{yzyz{zzzzzyyyz{zzz{{zzzzz{{zz{z{zz{{z{zzzzz{z{{{zzzz{{zzzzzyzzz{zz{{{z{{{zy{z{{{{{{|z{{zz{{zz{{z{{{z{zz{zz{z{{z{{|{z{{zyzy{yz{|}{|{z|{z{zzzyz{{{z{||{zzzyzzz{{{|{z|{{zzzz{zyzzz{{|{|{z{{zzy{zzz{{z{|zz{{zzzzzy||{{z{{zzzxzyzz{zzyzz{zzzy{zzzyy{zyzzz{zzyzzxyyzzz{zzzz{zyzzyzyzz{z{{{zzz{zyxzyyzzzzzz{zzzzzzyyzzzzz{{|zyzzyzzzz{{zz{{{y{{zzyzyyzzzzzzzzyyyzzyyzy{yz{{{yzyzz{yyzzzz{z{zz{zyyzyz{z{yz{{{zyyyy{zzz{{{zyz{zyyzzzzyyzz{zz{z{zyyyzzyyzz{{{{{z{yzzzyyzz{{{z{{{yzzzyzzzyz{z{{{yzzzzz{{zz{z{{||{{zzyzzzzz{z|{{|{z{zzy{yz{z{|{{yzzzzyy{yz{{{z{{z{zzzzzz{z{zz{{{{{{{zzzz{{{{{{|z{z{{z{zy{z{z{z{{{zzyzzzyz{|{{{z{{{{z|{zyz{{{{{{{{{z|zzz{{z{z{{{{{|z{zz{{zz}{{z{{|{z{{zzzz{z||z{{{|{zzz{zy{{z{{{{|z{zz{{{{zzz{|zz|{|{z{{z{{z{{{{{{|zyzzzzzz{{{z{|zzy{zzzyz{z{z{{{zzzzyyyzzz{zzzy{zy{zzyyzzz{zzzz{{zyyyyzz{{zzz{{{zzzyzyyyzz{{{yyz{zzzzxzyxzzzzzzz{yzyyzyzzz{{zzzz{zxyz{zyzzz{{yz{{zyyyyzzyzzyzz{z}yyyyzzxyz{zyzz{zzzzzyzyzz{zy{{z{zy{yyyyyzzz|z{zzzyzzzyyyy{yzz{zzzzzyyyzxyzz{z|{zzz{zz{zyzzz{{zz{zzzyzyyzzzyz{z{{zzz{zzzz{z{{{{zzzzzzzyzzzz{zzz{y{y{zyyzzy{{{{{z{zyzzzy{z{{{zzz{y{zz{yxzz{{|z{{{||{zz{{z{z{z}{|z{{z{z{zzzzz{{z{{{z{zzzzzz{{z|{{{{{zxzy{{z{{z{{|||{z{z{z{z{{{{{||z|zzzz{z{|{{z|{{z{{z{z{zz|z{|{{{}{zz{{{z{{{{|z{{|{zzz{yzz{{{|{z{|z{{zzzyzzzzz{{{{{{z{zzyz{|{{{z{z{zzzzzzzz{zy{|{zyzyzzyzzz{zzzz{zzzzzyyz{z{z{z{{{zzzyyzzzz{z{zzz{zyzzzyyyzzz{yzzzzzyzzyyyzz{{zzz{zzyyzzzzz{zzzz{zzzyz{yyyz{{zz{{{z{zyzzyyzzzzzyzz{yxyzyyyz{z{{zz{zzzzyyyyyz{zz{{yyyz{zzzyzz{{|y{zyyyzyyzyyzz{zz{{{zyyzyzzyzyz{z{zzyyzzyyyzz{zz{{zzyzz{yzy{zz{{{z|zzz{yyzzzzz{y{{{zzzyzzyyz{{y{z{zzzz{zzzyz{zz{{|zzz{z{zzz{z{{{zzz{yz{zzz{{zz{z{z{{{zzzzzyz|{|{{{{{z{{z{zz{{z{z|{{{zzzzz{zz|{{|{|{{zyzzz{{{|{{||{{{{yz{zzz{{z|{||{{zz{{{z{z{{|{{{{|{z{z{{z{{{{|{{{{y{{{z{{{{{{{{{{{zyz{zyzzzz{{|{|{{zzz{zzz|z{zz{{{zzzzzyy{z{{|{{zyz{z{{zzzz{zzz{zzyzzzyzyz{zz{yz|zzzyzyyyy{{{{{{{zyzyzzzzzzzzzzzy{yzyyxzz{{z{zy{z{zyzyyzz{zzz{z{|yzzyyyzyzzz{{zzzzzzzxyyyy|{yzz{z{yyzzyzzzzzzzzz{zzyyyyzyzzzzzzz{yzzyzyyyzzyzzz{{zyz{zyzyzz{{yz{{zzyzzyzzzz{{yzz|{yzyzyzyyzzzz{zzzy{zzyyyy{zzyyz{zzxyyyzxzzzz{z{{zzzzzxzzzz{zz{z{zzzzzyzzzz{{{{z{{y{zzzzzy{{z{{{{yzzzyz{{zzzz{z{zzyz{{yzzz{z{{{{z{{zyzz{{z{{{{|{{zzz{zz{{z{z{{z{{{zzyzz{y{|{z|{{{{z{z{{{zz{{z|{{{{{{zz{|{{{{{|{{|{yzzzz{{{{{|{{{z{z{{{yzz{{{{{{{|{zzz{{{{{{z{{{{{{{|zyzz{{{{{{{{{{zzzzz{z{{{{z{{{{zz{yzzyz{{{z{{zyzzyzzzyz|{{zzyzxzzyyyzzzzzyzzz{yzyyyzyyzyz{z{z{{{zzyyyyzz{yzzzzyy{zzzyyzzz{yz{{yz{zyyzxzzzzz{{{zzzyyyyyzzzz{z{zzzzyyyyyyzzyyzzzzyzzyyzzzzzzyyzzzyyyyyyzy{zz{{zyyzzzzyyyz{zzz{zzzzzyyzyxzzzz{z{yzzyzzzyzyzzzzy{{zyzyzxzxzzzzz{{{yzyzzzyz{{{zzz{zzzzzzzzz{{{{zz{zzyzzzz{z{{z{{z{{{{{zzzzz{{{z{z{{zyzyyzzzz{{{z{{yzz{{zzyyyyz{zz{zz{yz{zzzz{z{{{zz{y{z|y{zz{{{{|{{zzyzzz{{|zz|{{z{z{{{zzzzzz{zzz{z{z{{zzyz{{{z{{{{y{z{y{zzz{{{z{|{{{{zz{zzz|{{{||zz{{{yz{{{|{{{{{|{zzz{zz|z{{{|{{||{y{{z{{zz{{{z|{{yz{z{{zz{{{z{|{{zzzyzzzz|zzz{|zzy{zzzyy{{{zz{zyzyxzzzzyyz{zz{z{zzzzzzzzzzzzz{{{zzzyzzzyz|{yzzz{z{yzyzz{yzz{yz{zzzzyy{yy{z{zz{zzzyzyzzzzzzzzyzzyyzzyyzyz{zzzzz{zzyxyzzyyzzz{zz{{yxzzyzzzzzzzzz{z{yyzyzyzzzz{zz{zzyzzyzzzzzz{zz{{zzzzzyzzyzzzz{zzzzzyzyzzzzzy{z{{zzzyzzyzzzz{zz|zyzzzzzzzz{zyzzz{{zzzyyz{zyzz{z{{zz{zzzzy{{{{{{{{zzzyzy{zz{{{{{{z{zzzzz{yz{{{z{{{zzx{zzyz{{z{{z{{zzzz{{zy|z{{{{z|z{{{{{zz{{z{z{{|zzy{zzzz|z{z|{z{{zyz{{{z{|{z{||{{zzzzz{z{{z{{|{{{{{{{{zzz{{z{{{{{yzzz{{zz{z{z{{{z{z{z{zz{|{{z{{|{zzzzz{{{{{|{{{zz{zzzz{yz{z{z{{{{zzzz{zyy|{{{{{{zyz{yzzyz{z{{{yzzzyyzyyzzzzyzzz{zzzyyyyyzzzz{{{zzyzyzyzyzyyz{z{{zzzyzzyzzz{zzy{zzyyzyyyyyyzzzzz{zzzzzzzyzzzzy{{zzzzzzzyyzzzyz{zyzy{yz{zyz{zyzzzzyyyzzzyyz{z{z{{{zyyzyzyyzyzzz{zzzyyzzyzzy{z{z{|yzxyzyyzyzzyyzy{zzyzyzzzzzzz{y{z{zyzzzzyyzzzzzzz{zzyyzyzyz{zzz{zzzzyyyyyy{{zyzz{zzyzzzzy{{{{y{{{zzzzzzxyz{{{|y{zzzyzzyzzzz{z|{zzzzzzyyzzzz{{{{z{z{zzzzyz{{{{{{{{|zzzzzzzy{{{z{{||{zyzzzzz{{{{{{z{zyzzz{y{{|||||{|{zz{{{{z{zz{{{{|{zzzy{{z{|{|z|{{{z|{zz{y{|{|{|{{zzzzzz{z{{z|{{{z|zzzz{zz{{y{z{z{yz{zzyzzz{{{{{|{{{z{zzzzzz{{z{{zzz{yyyzz{{{|{zz{{yzyyzyzyy{zz{{zzyzyxyyzy{zzzz{zzzyzyzyzzz{z{z{{zy{zzyzyzzy{zz{{zzzyyyyyzzyzz{{{zzzzzyzzy{zzyzz{{zxzyzzzyzzxyzzzyyyyyzzyzy{zzzzzyyyyzxyyyzz{zzyzzyzzyyyzyzzzzz{{zzyyzyyyzz|{zyzzzyyyzzyxyzzyz{zzzzyzzyyzy{zzy{{z{zzzzzxy{zzzyzzz{yyyyzzy{{zzzzz{zzzzzyzyzy{zz|zzzzyzzzzzzyz{{{{{zzzy{yzz{z{{z|{{yyzyyzzy{{{zz{{z{z{{z{zyz{{zz{z{zyzyzzz{{{{{{z{{zy{zz{{z{{{{z{|{z{zzzyzzzzz{{{z{{{zz{z{z{{{{{{||zzzzzz{zyzz{zz{{{zzzzzz{z{{|{{{|{z{{zzzz{{|{z|{{{zyz{zzz{z{{{{|{z{{{y|zzz{{{zz{|zzyzz{{zz{{{{z|{{zzzz{{zzzz{{{{{{z{z{yzz{{{{{zxzyzyzyzzyy{zzyz{zzyzyyyzz{z{zz{zzzzyyyzyyzyzzzzz{zzy{yyyy{zzyy{zzzzzyxyyzyzzzzz{{yyyyzyyyzzzyzzzyzzzyyzyyzzzzy{{y{yyxxyzyzzzyzzyyyyzyyyzxzz{yz{zyy{zyzyyyzzzyz{{{zyyyyzz{y{yyzzzzzzzyzyzz{zz{zzz{zzzzyzxzy{zyzzz{zzyzyzyzzy{z{{zzzyzz{yzzzzzz{zyz{zzyzzyzzzzz{{{{yzzzzzz{z{zz{{{zzz{zzyzzz{y{{|zz{zzzyyzzzz{{{z|{zzzzzyzzz{z{zz{{{zz{zzzzz{|{{{z{zy{z{z{z{z{{z|{{{zz{zyyyz|{{||{z{zzz{z{{z{{z{{|{{z{{z{{z{{{{z{{{{{z{zzzzz{{z{{|{z{{z{{z{|{z{z{{{{zz{{zyz{{{z{z{{{zz{{zyzz{z{{{{{zzyyzz{zzy|{z{{|{zzzzzzyzz||zz{zzz{zzyyzzzzz{{z{zzyyyyzyzzzyzz{{yzzyyxyyz{zz{{zz{{yyzy{yy{zzzz{{zzzyyzzyzzz{yzzzzyzz{zzyzzzzyzzzyzzyyyxzyzzzzzzzzyyzyyzz{yzzz{zzzyzyzyzyzzx{zzzzzzyyzyzyzz{z{{{yzzzzzzxyzzz{zzzzzyyzyyyyyyzzyzyzzy{zxyzyzzyzyzz{yzzzyyzyyzyyzzz{yyzzzzyy{{z{z{zzzzzyzyyzyz{zzzz{zyyyzzzz|yzzz{z{zyz{zzyzz{{y{{{{zzzzzzzzz{{{{{{{zzyyzyzyz{{{{zz|zyyzzyzzyz{zz{z{{zzyzzz{z{z{{{{zz{zzzz|zzz{|{z{{{yz{zzzz{{z|{{{|{zzz{zyz{{{|{{{{z|zzzzzzz{z{z{{|{zzz{zzz{{{{{{{{|{z{zz{z{{zz{{z{|z{zzzz{{z{{{{{{{zzz{zzzz{{|z|{{{zzzzzz{z|{|{{{{zzzzzy{zz{{{z{{{{yyz{x{z{y{zyzzzzzyzzzzyxzz{zzz{zyzx{yyyzzzz{{z{zzyyzyyyzzz{z{z{zzzyzyyyyz{zzzz{zzzzyyzyzzz{z{zzzzzyzyyyzzyyz{{yzzzyyyzxzzyzz{zzyyzyzzzyzyzy{zz{zyzyyyzzyz{{zzzzyyxzyyzzz{z{{zz{zzzzzzyyz{yzzz{zzy{yzzzzzzzzzzz{y{zyzyyzyzz{{{zzyz{zzzzzzzzzzz{zzyy{zxzzzzzyz{y{z{zzzzzzz{zzzz{{zzz{zzzz{{{z{{z{{zzzzyzzz{z{{{z{zyzzyyzzz{{zz{{zzzzzzzzy||{{zz{{{zzzy{zz{{{|{{{{zyzzzzzy{{{z}|{{{zz{zzzz{{{{{||{|z{{zz{zz{{z{|{|{zz{z{{{{{z{{{{zz{{z{{{zz|{{{{{z{z{{zz{z{{z{zz{{{zzzzyyzz{{z{{|z{{{zz{zz{|{{{|{|{zzy{{z{z{{{{{|{{zzzyzzz{{|{{{zzyzzzzy{yz{zzzzyyzyyzyzyyzz{z|{zzzyzzzxzzxz{z{|{zz{zyzyyyz{zz{z{{{zzxyzyxzyz{yzzzzzyzzyzyzzz{zzz{yzyzzyyxzz{zyzzzzyzzzyyzzz{zz{{zzz{yyzyzzzyz{zyzyzyyzyyzzz{z{z{zzyzyzzy{zzz{zzzzzzzyzzzyz{zzz{zzyzzyyyyyy{{zzzzzyzyzyzyyz{zzz{z{zyzyyzzz{zzzzz{zzzyzzz{yyz{{yzz{zzzzyzzz{{zz{z{{zyzzyzyzy{{z{z{{{{z{yzyzzzzz{{zzzzzyzzy{{{{{{{{{{zzyz{yz{{zzz{|{z{zzzzzzz|{{{{{zzz{yzzzz{{{|{{|{{zz{yzzzz{|z{{{{{{zzzzzzz}{z|{{zy{{zy{{{z|{{|z{|zzzz{{zz{{{zz{|{{zz||zyy{{z{z{{|{yzzzz{{{zz{z{{{{zz{{{zz{{z|{{y{{zyz{{{{zzz{|{{|{zzzzyyz{z{z{{{|zzyzzzyyzzzz{zz{zzyzzzzyzy{yzzz{zzzxyyyzzzzz{zz{zyzy{zzzyzy{z{|{zzyzyzyyzzzzyz{{zzzyyyzyzzzz{zzzzzzzzz{y{{z{yz{zzyyzzyyy{{zyyzzzyyzyzzyyzzzyzz{zyzyzzxzyyzzz{z{{zyyyzzyzz{zzzzyzyyz{yzzzz{{zzzzzzyz{zzyyzzzy{{{z{yyyzyyyzz{{{{z{zz{zzzxzy{z{{{zzzyyzyz{yzzzzy{{zzzzyzzyz{z{{{z{{zzzzyyzzz{{{{{zzzzzzzyzzyz|{{||{z{z|yyzz{z{{z{{{yzzzzzzzz{{{zz{{zzzy{{zzz{{{{z{{z{zz{z|z{z{{{|{z{zzyzzz{z{{|{z{{yzz{zz{z{|{{{|{{z{zyzz{{{{|{{{{{{{z{{z{{z{|{|{{{{z{{zzz{{|{{z{z{{{{z{zzzz{z{{{{||zy{{zzz{{|{{{{{{{zyzzz{|{z{z||zzyzzzzyzzz{{y{{{zz{yyzz{{z{z{{zyyzyyy{zxzz{zz{zzzzzyyzzyzzzzz{zzzyyzzz{yzzzz{{{{{y{zyzzzzzz{zz{zyzzxyy{yy{{|zzz{zyzzyzyzzyzzz{{{{z{yzzyx{z{zzz{zy{yxzzyzyz{{y|zzyzz{zyyz{{zz{zz{yxyyyyzzz{zy{{zzzyzyxyyzzz{zzz|zyyzyzyyzyzzzzz{zy{yyyyyyzzzzz{{z{zzyyyzyzz{{{{z{{zyyzxzzz{{zz{{|{z{yyyzzy{z{z{{|zz{zyy{zzzzz{{z{zxzzzy{yz{{{z{z{{zzyyzzzzz{zzz|zzzzzzyyz{{{zzzz{z{yz{z{{{|{z{{z{y{zz{z{z|z{|{z{{{z{zzzy{{z{{||{{zzzzz{zz{{{z{{z{zzzzzz{zzz{{{{{{zz|zz{{{z{{z|{||{zz|{{{{{{{|{{{{zzzz{zz{{{zz{{{{{{{{z{{z{z{|{z|{y{zy|zzzz{{z{{{{{{yzz{yyz{{{z{z{zzzzzyzz{z{zz{zzyzyyyzyyzy{{{y{zzyxyz{yyy{yz{{zz{zyzzzzyyyzzzy{zzyzzyzyzyzz{z{zzyyzyyyyyzy{zzz{zzzzxzzzyzzyzyzzzzz{zzyyzzyzyyzzzzyyyzyyyzyyzzzzzyzyzyyzyzz{yzz{yzzyyyyzyzzzzz{z{zzzyyzyyyzyzzzzzyyyzzyzyyzyzzyzzzyzzzzyyzzzz{{z{zzzzzzzzzzz{zzzzzyyyzyyyz{{{zz{zzzzzzzzy{{{{{{{{yzzzyzyzyzzz|{zzyzzzzyzzy{zz{zz{zzzzzyzyz{{{z{{{zzy{zz{y{{zz{{|{zzz{zyyyzz{{{z{{zzz{yzzzzz{z{|{{{zz{z{zz{{{{{z{{{zzyzyyzz|{{{{{{{{{zzz{z{{{zz{{||yz{zz{zz{zz|{{{{y{{zzzzz{{{{{{{zzzzz{zz{{z{{{{|{zz{{zz{z{{{{{|{{z{xzzzzz{{z|{|{{{zzzzzzzz{{zz{{zz{zyzzzzzz{{zyzyzyyzzzyyzyyzz{yzyzzzyyyzzzyz{z{zyyxzzyyzzzyz{zzyzyzyyzzyzzzy{z{zyzyyyyyzzy{zz{{yzyyyyzyx{zyzzzzzzyyyyyyzyzyyzzzzyyyyyyyyyyzzz{zyyzzyyyyzzzzz{zzyxy{yyxyzzz{zz{zzzzyzyyzzyzzz{z{zyzyyyzyzzzzzz{zzzzyzyxzyzzzz{zzyzyyzzzzyy{zzz{z{yyxyxyxz{{zzz{{zzyzzyzzz{z{{{{{yzyzyyzyyyzz{zz{zzzzzzzzy{zzz{z{yzzzzzzyzz{{zz{|zzzzyyzzzzy{{z{{{zzyzzzzzzz{zz{{zzzzzz{{{{zzy|{{{zzzzyzzz{{z{z{z{zzz{yzz{|{zy{{|zz{yz{{{zzzz|{z{{yzzyy{{z|zz{|{{{z{{zzzz{{{{{{{|{zy{{zzzz{{z{z{{{yyz|{yzz{y{z|{{zzzzz{yz{z{{z{{{{{zzzz{z{{z{{z|zzzzzyyzyzzz{yzzyzzzyxyyyyzzz{zz|yyyyzyzyz{{{z{z{yzyyyyyyzyyyzz{z{zyzzzzyzz{z{{{{zzzyyzyyzzz{y{{{zz{yzzzzyzyzy{|z{yzyyzyzzzzzy|zzzyyyzyzyzyyzzzzzzyyzzyzzyyzz{zzyzyyzyyyzzzzyzzzzzzzzzzzzy{z{zz{zzzyzzyyxyzyzyyz{yzyyzyyzyzyzzz{zyy{zzzyyzzz|zzz{zx{zzyzyz{zz{{z{zzzyyx{z{zy{yz{{zyzzyyyzz{{zzzz{yz{yyyyzz{{{{{z{{zyz{yyzzz{zzz{{{yyzzzzzz{{zz{zz{zz{zz{zzz{{{zz{zzzy{y{{z{{{z{{{|z{zyzzzz|{zz{{z{y{z{{zz{|{{{{|{{{zyzz{zzz{{{{{||zzyy|zz{{{{{||{{{zz{z{z{{{{{z{z{zzzzzyz{zz{z{{{{{zz{zz|{{{{z{|{{zyz{zz{{{|{{z{|zzz{zzzz{{zzzz{{{zzzzzzz{zzz{zzzyzzyyyyyzzzzzzy{zz{zyyyyyzz{{{zyyyyyzzyyzzzy{z{{yyzzyxyyzzz{yz{{zyzzyzyy{zzzzyz{yyzyzyzyzzzyyz{z{yzyzzyyyyzyyzzz{yzyyzyxzzzzzzzyxzyzyyzy{zzzxzzzyyyyxyxyzzz{{z{{zyyyyzxyzzyzyzy{yzyyzxyyyzyzzzzyzzzyzyzyyz{zzzzz{yzxzyyyzzzzz{{zzzyyxzzyy{zzzzzzyyyyyyyzzzz{zyzzyyzyxyzyz{zzzz{{zyyzyzzzz{z{z{{zzzzz{{{zzzzzz{zz{yyyzzzzz{{zzzzz{yyz{zzzzz{z{{zzz{zzzzzz{zz{{{z{zyzzzzzyz{zz{{{z{z{zzzzy{|zy{|{|zzzzz{z{{zz{z{{|{zzzz{zz{{{{{y|z{{zzzyz{{{{{{{|{zy{zzzzy{zzz{{{{|zzyz{zzz{{{{{{{z{{zzzyzzz{z{z{|{zyyz{zyzzz{zzz{zzyzzzzyzzzyzzzzzyyyzyyyzzzzzzyzyzyyyxyyzzyz{z{yzyzzyzyyzyzzz{zy{zzxzyyzzyz{yyzzzzzyyyzyzzzzz{z{yyzyzyyyzzzyz{yyyyzxzzyzyz{yyyzzzzzyxyzzyyyzzzyyxzyyyyyyzyzzzz{yyyyyyzyyzz{x{zzyyzzyyyzxyzz{{zz{zyyyyyzxzyyyyzzzxyyzyyzyzzz{y{z{xyzyyyyzzzz{{{zzzxyxzyzyzzzzy{{zzyyyzyzyz{yzyyz{zyyzyzzzyzzz{z{{yyzy{yzyzyyzz{|zyzzzyyyyz{zzyz{{yzzzyyzzyzzzzz{{yzzzzyzzz{{{{{{zyyzzzzzyz{z{z{{{zzyzzzyyz{zzz{{{{yyy{{zz{||z{z{|z{zzz{{{z{z{z{{{{z{zz{yzz{{|{z{z{zz{zzzz|z{{{{zz{zyzzyz{{{zzzz|{{zyzzzzy{{z{z{{{zzzz{yzzy{{{z{|{zzzzyyzzz{z{{zz{zy{yzyyyy{{zz{zyyzyyyzyyzyyzxzzzxyxyyxzxz{zzz{zzzyzyzzzyyyzz{zzz{zyzzyyzzzz{yyzzzzyyyzyyyzyzz{zyzxzyzyyyyzzyy{yzyxzyyyyx{zzyzzyzzyyyyyyyyyzzzyzzyxyyyyzyy{yzzz{zyxyyyyzyyzzyzzz{yyzyyzxyxz{{zzzzzyzyzzyyyzyyz{yzyyzxzyxzyzyzz{zzzzyyzyyxzyzzzzzzzzyyzyzzzy{zyzzzzyyzyzyz{zzzzz{{zyzyyyyzz{{zz{zzzyzyyyzyy{zzz{{zyyzzzzyz{y{zz{{{zyyzzyz{yzzzzy{{z{zxzzyy{zz{{{{yzzzzy{yyzzzz{{{{zyy{zzzyyzzz{|{{zzyzzzzz{{{{{z{{yzz{y{{{yzz{{{{z{zz{z{zz{|z{{|z{zz{z{zzz{{{{{{{{zyzyzzyzzz|{{{{{{zzyzzzzz{z{zz{zzzzzzyyyz{{{|{z{zzzzzzzyyyz{zz{zzyzxzxyy{yzzzzzzz{yyyyyyzzzzz{zzzzzyzxyzzzzzzzz{zxyyzyzz{yzzz{{zzyyzyyzyzy{{y{{zzzyyxzyyzyyzyzz{{zzyyzyyzzzyyzzzyzzzzzzyzzzzzzz{zyxyzyzzyyzz{zzzzyzxyzyyzzzyyzzzzzzzxyx{z{zyzz{{yyzyyzyzyyzzzz{zzyyzzzyyz{yzzzz{zzyyyyzyy{zzzzzzzzzyzyyyzzzzzzz{zyyzzyyzzzzzz{z{zxzyzyzyzyzz{zzzzzzxyzzzz{{z{zzz{zzzyxyzy{|z{{zy{zzyzyy{zz{zzyz{{zyyyyzz{z{y{{{{zzzzyzzyzzzz{z{{zz{zyzzzz{zzz{{{{yyzzyzzzz{{zz{zzy{z{y{{{{{z{{{{y{yyy{yz{{{{{{{{{{zz{zzzz|{{{{{|zzzzzyz{{{{{{{{zzyzzzzzz{{{z{{{{{z{zz{zz{zz{{{z{z{zy{z{zz{{{z|{{{zzzyyzyzz{{z{z{zz{zzzzzzzzz{{zzzzyzyzyyy{{zyzz{zyzzzyyyyzyzzzz|{zzyyzyyyyzz{z|zzyzyyyyyzzzzzzz{zyzyxyzyz{zzz{{zyyyyzzyyy{zzyz{|yzzyxzyzzzzyzzzzyzyyzzyzzzz{z{zzzzyyyy{zzz{zzzzzzyyyyyyz{yzzzzz{zzzzzyzyzzz{z|{zzzzzyyzyyzzzzzz{yyzzyyzz{zzzzz{z{zzzzzzyyzyz{z{zzzyzzzzzzz{z{{{zzzzzzzzzzz{{z{z|zzzz{zzz{{{{z{{zz{{zzzyzyz{zz{{zyy{yzzzyzzz{z{z{{zzyzzzy{{zzz{z{{zzyzzzzzz{{{|{{{zzzzzz{{{z{{{{z{yzzzyzzz{{|{z{{{zzzzz{z|{z{zy|{zy{{z{{{{{z{{{{{zzzzzzz{z|{{|{z{{z{zzy{{{{z{{z{z|yzz{zz{{{{{{{|{|z{{z{z{|{{{{{{|zz{zzzzz{zz{{{|zzzyzzzzy{|z{{{z{yy{z{yz{{{{z{zy{yyzzzyzxy{{{yz{zyyzyyzzyzzzz{zy{zyyyyy{yzzzz{y{zyzzyzy{z{zzzyz{zzyzyxyyzzz{yyzzzzyyzyyzyzzyyy{{zzyzyyyzyyzzzzzzzyzzyxzyyzzz{zz{zy{zyzzyzyzzzzzzzzyzzxzzyzz{zzzz{zyzyyyyzyzzzzz{zyzxxzyzyx{yyzzzxzyyzzyxzzzzzyzz{y{zzyyyyzz{z{zz{zzyzyzzzz{{zzzz{{xzzyzzzzz{zz{z{yzzzyzyzzzzzzzz{xzzzzyzy{zzz{{{zyzzyyzzy{zzzzzzzzyzzyyz{z{{zzz{zzy{zyzyz{zz{zzz{zzy{zzy{{{z{{z{|zzzy{zzzzz{{{{{{{yz{z|zy{{z{{{|{{{zz{z{z{{z{{{{|{zzzz{{{{{z{y{{||zz{{yzz{{{z{|{{zzzz|{zzz{{zz{|{{{zzzzzz{zz{{{{|{z{y{z{y{zz{{{{{{zzzyzzyz{{{{{{zzyzyzyyyzzz{{y{zzyyyyyyzz{zyy{{zzyyyzyyzzzzz{z{zzzzy{yyyzzzzzz{zyyyzyyyyyzzzyyzzzyzxyyyyzzzyzzzzzzzzyz{yzzzzz{zzzyzyyyyz{z{{yyzzyzzyyzyyz{zzyz|{xzyzyyyzzzzzzz|zxyzzyzyzy{zzz{zzzyyyyxyyzzzzzyz{zz{yzyzxzzyyyz{{{zzyyyzzyzyyz{{{yyzyzzyyy{zzy{z{yyyzzzyzzzzyz{zzyyzzyyzzzzzzyz{zzzyyyyzy|zzyzzzzyzzzzzzzz{zz{zzzzzzyyzyyzzzzzzz{{zzzyz{y{zzzzz{|yzzyzzzyzzz{z{{zzz{zzz{zz{{{{z|zz{z{zzzz{{{{z{{{{zyzzyzz{{{{{{{{z{zzyyzyz{z{{{{zzyzzzzzz{{{{{{z{{zzzzzzz{{{|{zz{zy{zzzy{z{zzz{{}zy|zzzzz{z{||{|{zzzzzzy{{{z{{{{{zz{zzzzzzzz|{zzzzzzzzzyy{z{zz{y{yyyyyyyxz{zyzzz{yzyzzzyyyzz{z{zzzzzyyzxyzzy{zzzyyzyzzyzzyzz{zzzzzyyxyxzyzzz{yyzzzyzyyyzyz{yy{{{zzyyyzzzyyz{yzz{zyzzzyzzxzyy{{zzzyyzyzyyxyzzzzzzzzzzyxyyyyyzyzzzzyzyxyyyyzyzyzzzzyyyyyyyzyzzyzz{{yzyxyyzyyzzzyz{zyyyyzzzzzzzzz{{{zyzyzyyzyzzyy{{zzyzzy{zzzzz{yz{{zzzzyyzzyz{yyzzyzz{zzyzzy{z{z{zzzzzyzzzzz{z{zz|z{zz{yz{z{{zzzzzzzyzyzzyzz{z{{z{{zzzzzyyyzz{{z{{{{{y{zzzz{{{z{zz{{zzy{zzyz||y|z{{{z{zzz{{y{{{{{{{z{{{zz{zz{{|{{z{{z{zz{{{{z{{{{{{{yzzzzzy{{z{z|{{{zz{zyzz{|z{{{z{zzzzzzyzz{{{z{z{zzz{yzyzzz{{{z{yzzzyzyzyzy{zzz{zzzyyz{zzzzzyzzzzyyyyyzyyzzyyzyz{zyzyxzzzyzyy{zy{zyyyzxyyyzzzzzzzyyzxyy{z{{zz{z{zyzyyzyyxy{yyzzzyzzyzyyyzzyzyzy{z{xzzyzzyyzzzz{{{zzyzyyyzyzyzzzzzyyzyzyyyzzz{zzzyzzyzyzyyyyzzzy{yyzzyyyyyyyzyzzz{xyzyxyyzyzyzzzz{yzzxyzyxyzzzz{z{yyyyzzyyzzyzy{{{{yzyzyyz{{zz{{zyyyyyzzyx{z{zzzz{yzzyzyyyzzyzz{{zzzyzyzzy{zz{{z{{{y{zzzz{{{{zy{{zzyz{zyzyzzzz{|{zz{z{y{zyzz{{zz{{{zzzzzzzz{zy{{{zzzz|zzzz{{z{{{|{z{{y{z{zz{{{{{{zzzzz{zzyy|z{{{{{zz{{{z{z{{z{{{{{zzzz{zz{{{{{{{|{|zz{{zzz{{z{zz{{z{zzzzzzz{zzz{{{{zz{zzyyz{{{zzz{zyzyyzzy{{zz{{z{zyyyzyyzz{zyyyz{{zyyyyyy{{zyy{{zzzyyyyzyz{{zz{y{zzz{zyyyzzz{zzzzzyy{zzzyzy{{z{zzzyzyzyzyyzyy{zzzzzyzyyxzz{z{xzzzyyyyzzyyzyz{z{zzyyzxyyyzyzyzzzzzyyyyyyyyzzzzzz{zzyzzyzyyyz{zzyzzyzyzzyyzx{z{z{zzyzzyyyzyyzzyzzz{zyzzzzyxyy{z{zz{zyzzzzzy{z{zzzzzzzzzzyyzzzz{zyy{zzzzxzyyzzzz{yzz{zz{{xyz{z|{{{{zyyzzzzyz{{zz{{{z{yyzzzz{z|zzzyz{{yzzyzzzzz{{z|{|yzyzzzzzzz{{{z{{{zy{z{yy{{|{z{z{{z{z{zzz{{{{{{{{zz{zz{zzz{z{{zz{{zy{z{zz{|{{{zz{{z{{zz{{{{{{{{}{zy{{{z{zz|z|{{{||yyzyzzz{{zz{|{z{zzyyzzzz{{|z{{{zzzzzzzzz{{{zz{zyy{yzyyz{yz{|zyz{zyyyzyyzzzzzzy{zyxxyyzy{zyzzz{zzyyyzyyzzyz{zz{zyyzzxzyyyyzzzzyyyzyyxxyyyzzzzzzzzyzyyyyyz{zzzyzyyzyyzyyyzzzzzzyzzyzzyyyyzyzzz{y{yyyxyyyyzz{zz{zyzyyyyzyzzzyz|yzzzyyzxyyx{zzzzz|zyyyyyyyyyyyyy{zyyzyyyyyyyzzyzzzzyyyyzzzyzzz{zzz{z{yyzyzyzzzyzz{{zzzzyyzzy{y|z{{{yyxzyzyz{{{{zz{zzzzyzxzzzzzzzzz{{zzyzz{zyz{zzz{z{{yyzyzzz{zzyz{z{zzz{zzzzz|z{z{zyzzzzyzy{|z{z{{{zzzzzyyzz{z{{z{{zzzz{y{z{{{{{{{{{zzyyzzzzzz{zz{z{zzzzz{{y{|{{{{z{{{zzzz{z{{{{{{z{z{zzzy|zzz{{{{}z{zzzzzyzz{{y{{z{zyy{zyzz{zz{{|{{zzyzyyz{{zyyz{zzzyyzyzzzyz{zzzzyzyyzyxyxzzzzzzyyyzzyxyyzyz{yzyzzyyyyzzyzzyzz{zzzzyzzyyy{zzzzz{zzzyzyyzyyyzyzzyzzyyyyyyyyzyzzzzyyyzyyyyyyzzzzzzzyyzyy{yyzzzzzzzzxzyzyxxyzzzzzz{zzyyzzyxzyzzyz{zzzzyyxyyxz{zzyyz{yzzyyyzyzzzyyzzzyyyzzzzzx{zyy{{{zyyyyyxyzzzzyzz{{zyyzzzxz{z{z{zzzxyyyyzzzzyz|{{{zyyzyzzyy{{zzzz{zzzyzyzyyyz{{{zzzxzzyyzzzzzyyz|{z{zyzyzy{z{z{{zzzzzyzzzyz{{{{{{{z{{zyzzzzzy{|z{{{zyzz{yzzz{z{{zz{z{zyzzyzyyzz||{zyyzyzzyzzzz{zzz{z{zz{zzy}{zz|{zzyz{{zzz{{{{zz{{|yzzyyzzzzz{{{{zzzyzzzzzzz{{|zz|{zzzyzzzy{{z{|z{zzyzyzzxzyzz{z|{yyzyyzyyyz{{z{zyyzzzyyyyy{zzyzzzyyzyyyyyzz{zzzy{zyyyyyyzzyzzzzzzzzyyxyyyyzzyyy{{yyzyyyyyyzzzzzyyyzyyzyyyyyz{yzzyzzyyyyyzzzzxyzzyyzzwzyzyzzyzxzz{yyyyyyxyyzzyyz{zxyyyyyyy{z{zzzzzzzyxzzyxzzzzzyzzzyyxzxyzyzzzyyzzyyzzyyyyzzzyzz{zyzyzyyzyyzzzzzzz{yxyzyyyyzzzyzzzzyzzyxxyyzzy{zyz{xzyyzzyz{zzzz{zzy{yzzyzzz{{zzzyyyzy{yyyzz|{{zzzzzzzzzzzxzzzz|zzzzxz{{yyzz{{zzz{yzyz{zyzz{z{{z{zyxzy{zyy{zzz{z{{zzyzzzzy{{{{{{{{yzz{zzzz{{{{z{z{zyzzzzzzz|{{z{z{{yzzyzzz{{zzz{z{zyz{zyz{z|zz{{{{z{z{zzz{y{z{z{{{zzyy|zzz{{zz{{{y{zyzzzyyzzz{zzzzyyzyyyyyyyz{yzz{zzyyyzyy{z{yzz{zzyyyzyyzz{zzz{z|zzyyyzzyzzzzzzzz{yzyyyzyzzzyxzzyzzzyyyyxz{z{zzyyyzzyzyxyz{yzy{z{yyzzzxyyzzzz{yzyzyzxzzyyzyzzyzzzxyyzzxzyz{zzyz{zzzzzzzyyzzzz{zzzyzzzzzyyzzz{zzzzyzzzyy{xzyzyyz{{zyyyzyzyyzzyzzz{yzzyz{zzz{zyzyz{zyzyyzyyy{{zzz{{zyzyzyzz{zzz{{{zyzyzyzzzz{zzz{zzyzzyyyzzz{|zzzz{zzzyzyyyz{{zzz{{{zzyzzzzzzz{{zzzzzyzz{{zzz{{z{zzzzzyzzzz{zz{zz{{{zzzyzzy{{|z{{{zzzyyzyzzy{{zz{{|zzzzzzz{zz{{{||z{zz{z{z{zz{z{|{{{yzzy{{{|{zz{{{{{zz{{zzz{{z{{zy{z{{z{zzzz{z{{{{{{{yzzyyzz{{z{{{zzzzyzzyyzz{{zzz{zzzzzzy{{{z|{zyzzyzzyyx{zzzzyz{|zyxyyyyyz{zzy{{{zyyzyzzyzzzz{z{zzzzzyyyyzzyzyz{zzz{yyyzyzzzzyzy|yzyzyyzyy{zzzz{z{zyzyyyyz{zzzzzyyyzxzzyzyzzzzzy{yy{zzyyyzzzyzzyzyyyyxyxzyzzy{zzzzyzzyyxzzzzzzz{zzzyyyyyzyyzzz{zzz{zzyyyyzzzzz{{{zyyzzzzzyyzzzy{yzzyyyyyyyz{zzzzzyyzzzyzz{zzzzz{y{zzyyxyzy{z{{zzzzyzz{yyzzz{z{{z{yyzyzzxy{z{yz{zzzy{zyyzyzzyzzzz{{yzyzyzz{{{{{{{zzzyzyzy{|zz|{{{{{zzzyzyy{z{{{{{{{z{zzyzz{{zz{{{yzzzyyz{zzz{{{{{{zyyyz{zyz{{z{|{{{xz{zzzy{{{{{|{{{zzzyzzzzz{zz{||{zzz{{zzz{{{{{|z{{zyz{yzz{{{z{{zzxzzzzzyy{{|{{{{{zyyzxzzzz|zzzzzyyyzyyzyyzzzzz{zzzyyzzyyzzzzzzxyzyzzyyzyyzyz{{zzyyzzxyyyzz{zyzzzzzyyy{zyzz{zzzz{zyzyyyzyzyzyz{zyyzzyzzyxzzzzyzyzzyzyyzyzzzzzyzz{zyyyyyyyzzzzz{zzzy{zyzyyzzzzyzz{{zzyyzxyxzzzzzzzzzyyzyxyyzz{yzz{xyyzyyzyyyzzz{zzyzzy{yyzzyzzzz{{zzyyzyzzz{zyzzyzz{zzyzzzzzzzz{{{zzzyyzyzz{{z{{z{zzzyzyzyz{zzz{zzzzzzyzzzzz{zzz{zzzzzzyzxzy|zz{z{zzyzzzzy{z{{{{z{zzz{zy{z{|z{z{{{zzzzzyyzz{{zyz{{{yyzzzzy{|z{|{{{yzzzzzzzz{zz{{{{{z{zz{zzz|z|z{{zzzzzzy{{{{{z{{{{{zzyzzzzzz{{z|{{{zzyzyzy{z{{{{||zzzz{zzz{{zz{zzz{zy{zx{zz{{z{{{{zyzzyz{xzzyz{zyzyyyyyzzyzz{zzzyzzzy{yyyyzz{{{zz{yzyyyzyyzzzz{yz{zxzyyxyyzz{zyzz{{yyyzyzxzyzzzyzyyyyyyyyyyz{zyyzzyyyzyyyyzyzzz{zzyyzyyyyzyyzzzzzzyzyzzyyxyyyzzzzzyyzyzzyyzzzz{yzzyyyyyyyyyzyz{{yyyyyzyyzyy{yzy{zzzyzyyyyyyz{zyzzzyyyyzzyyzzzzyzzzzyzzzxyyz{{z{{zz{xzzyyzyzzzzzyz{zyzyyyzzzz{z{z{zyzzzzyzyz{z{zzzzyzzzzyzyzz{{zz{z{zyzzyzzz{{{zy{zzzzzyyzyy{{{zz{{z{zyzzzyz{{{z{z{zzz{zyzx{{{{z|{||zzz{z{z{|{{z|{|zzyyzz{zzzz{z{z{|{zzzzz{z{{{z{zzzyzyyz{{z{{z|{{{zzzyzzyz|z{z{||||y{zzyz{{{{zz{zz{zxyzzzzz{z{z{{z{yz{yxyzz{yz{{{zyyzzyyzyzzzzy{zyyzxyzzyyyzz{z{{zzzxyzyyyzzzzzzzzyzzyzyzxyyz|{{{{zzzyxxyyyz{zyz{z{zxzxyyyzyz{zzyzzzzzzzyyxyzyzzzzzyzyzyzyyy{zzy{zzyyzyyyyxyy{yzzzzyyyzzyyz{zzyzzzyyyyyxyyyzzz{zz{yzyxyzyyyz{zyzzzyyyyzyyyyzzzzzyz{{zyyyyyzzyyzzzzzyzxxzzzyzz{zzz{zyyyyyzyzzzz{zyzzzyyzyzy{zzz|zz{yzzyzzzzyyzz{zz{yyzyzyzyzzz|z{zy{yzyzzyyzz{y|{{zzzzyyyzyz{zzy{{{zyzzzzyz{zz{z{zzzzzyz{zz{zz{{{{|zzzzzzyyz{zzz{{zzzzzzz{y{|zzz{{{zzzzz{{z{z{z{{z{zz{z{zzzz{{{{z|{z{z{zz{zz{{{{zz{{xzyzz{yz{{{{|{{zzzz{zzzzzz{z{{{yzzyzyzzzz{zz{z{z{zzzyyzzzz{yz{{yzzzzyzzz{z{zzzyzzzyzyyyzzzzzz{z{xxyyyzyzzzzz{{{zyzzyzyzzzzyzz{zzyyyyyyzyzyzy{zyzyzyyxyx{zzzzzzyyyyzyyzyzzzyxyzzzyyyzyxyzzyzz{yzyzyyy{zzzyzyyzzzzyyyyzyxxzyzzzz{yyzyyyyyzzzzzy{zyyzzwyyyyzyzz{z{yyzyyyxxyyzyzzz{zyzzyzyxzyyzyzyyzyyyyyzzyzzzyzzzzyyxzzzzzz{zzz{z{zzyyyzzzyzzzzz{yyyyyyyyyyz{zzz{zy{yzzzyz{zzzz{{zzzzyzzy{zz{z{{{zzzzzzzy{zzzz{{yyzzzzyzzzz{{{{z{zzyz{{zzzzz{z{z{yzyy{zzyz{z{{{{zzyzz{zzz{{{zz{{{{zzzy{zzzz{{z{z{{z{zzzz{z{{z{{{{{yz{zyy{{z{zz{{{{xyzzyz{zzz{zz{|{{zzzzyzz{z|z{zzzzzzzzzy{zz{{{{zyzzzzy{yy{{{zzzzzyzzzzzzz{z{z{xzzzyyyyyxyzyzzzy{zyzzyyyyxyzzyz{zzyzyzyzyzzz{{{{zzxyxzyxzzzzzzzzzzyzyyyyxzy{zzzzzyxyyyyzyyz{zy{zzzyzyyyzyyy{yzzzzzzzyyzyyzzzzzzzzzzyyzzyyzy{yzyzzyyyzxyxyzzzzzzyzzyyyyzyyzzzzyzyzyyyxyzzyzyzzzzzzyyzxyzyyx{zyzzy{zyyyzzyyzzzyzzzz{zyxzyyzyzyyyz{{zzyyyyyy{z{z{zz{zxzyxyyyzz{z{yzzz{zzzyzzyzzz{zz{zzzzyyzzz{z{{{{zzzzyyz{y{z{{{{{zzzyzyyzzy{z{zzzzz{zzz{zzzz{{{z{{zyzzyzzzyz{zz{{{zyyz{{{z{||zy{{{zzyyzz{zzzzzzz{{zz{yyzzyz{{{{|{{{yzzzzzz{{z{z{{|{yyzyzzzzz{{z{{{zzzy{zz{zz{{{{{{zzzzzzyzz{z{z{{{zzzyzyyzzz{z{zz{zzzyzyyzzyzzzzzzxyzyyxzyyzzyzzzzyyyzyyyyxzzzyz{zzyzyzyzyzzzzyyzzzzyxyyyyzzzzyzzzzyzyyyyy{zzzyyy{zzyyyy{yyyyzyzzzyyxzyzyyyz{yzzzxyzxyyyzyzzzzz{yyyyyxzyyyzz{yzzz{{xyzxzxyyzzz{z{zzyzzyzyyzyzzyyz{zyzyyyyzyyzyz{z{zzzxyyyxyyzzz{{zzzzyzzxyzzzzyzzzyzyzzyzyzyzy{zz{zyyyyyyzzz{yz{zzzyzyzyzyzzzzyz{zzyzzzyyzzzzzzzz{zzzzzyyzzzz{{z{{zzzyzzyz{{z{zz{{zzyzzzx{z{zz{zzzyzz{zzzz{{z{zz{{zy{zzyy{zz{{{zz{{y{zzzzz{{{{{{{{zzzyz{{z{{{{{zzz{yyzzzzzz|{{|{z{{zzzzzz{{{z{{{{{zzz{{yzzz{z{{{{{|zzzzzzz{zz|{{|{zzzy{zz{zzz{z{{{{yzzzyzyz{{{zzyzzyzyyyzyzy{yyyzzzyxxzyyyzz{yyzyzyyyyzyzyyzzzzyz{zyzyzyzyzyz{z{yyyyyzyzzzzzzzz{zzzyyxyzyyzy{zzyy{zyyyyyyyyzzz{{zzyzzz{zyzzzzzyzzzzzyzyyyxzyzzyyzzyzyyyyxzzyyzzz{yzyyyzyxyzzzyzzzzyyzxxzzyz{z{zz{{yzzyyyyxyyzzzz{zyzyyxzyyyyy{zzzzyyzyzyzzzyzzzzzz{yzzyzyyzz{z{zzzyyzzyz{zyyzy{z{zyzzzyxzyzzz{zzzzzzzyzzzzyz{zz{{zzzzzzzzyzz{y{zzzzzyzyyyzzzzzz{zzzzyzzzzz{zz{{zz{yzyzzzzz|zzzzz{zzyz{yyzyz{{z{{zz{yzyyzzzz{{z{{{{zz{yzzyzz{{{z|z{{{y{zzzzz|{z{|{{zyzzzzyyzz{{{{{{{zzzzzz{z{{{{zz{{{zzzzyz{|z{zz{{y{{zy{y{zzz{z{zzzzzzzzzzz{zzz{{z{zzyzxyyzzz{zzzzyyyzzzyyyzzzzy{zyyyyzxyzzzzzz{zzyyyyyyzyzyzzzzzzyyzyyzyzzzzzyzz{zzzxyyyyzyxzy{yzzxzyzxyyyzzzyzzzzyyyyyyyzy{zzzzzxxzxyyyyy{y{zyy{zyzzzyyyzzzy{y{zyxzzzyyyzzzzzzzyyzyzyyyyyzzzzzyzzxyxzzyy{zzzyy{zzyyyyxyxyzyy{zzzyyyyyyyxyzz{yz{zzyyx{xyzz{zzzyzzzzyyzyzzzyzzz{{|yxzzzyyz{yz{z{{yzzyyyyzyz{z{yzzzyzzzyzyx{zzzyz{{zyzyzzzzzz{zzy{{zzy{zzyy{zzy{zz{yyzzzzzzz{z{{z{{{{yzyyyx{{{zz|zzzyyzzyzy{{yzz{{{yzyzzzzz{zzyz{|{{zzzy{zyz{{{z||{zyzzzzz{{z{zz{{{{yyzyzyzzz{z{{z{zzz{zzyz|zz{y{|{{zyzz{yzzz{zy{z{zyzzyyzyz{{z{zz{z{zyyzyz|zzyzzzzxzzyyyzyyz{z{zzyzyyyzzyy{yzzyzz{zzzyyzzzzyz{zzzz{yyzzzyyyzzyyz{zzyzyzyyyyy{zy{{zzyzyyyyyz{yzz{zzyyzxyyyxyzzzyzyyzyyyyyyyzzyzyzzzxyyyyxxyyzz{z{zyzzxyyzxyxzyzzyz|zyyxyzxyzyzzzzz{yyxyzyyyzyyyyyzzzzyxzyxzyyyzzyz{zyyzzyyyzzzyzy{|zyyzzyyzzzzzz{{zzyzyyyyzzyzyzy{zzyzzyyyyz|z{zy{{yyyzzyzzyzzzzzzyyzzzyzyyzzzz{z{zzzzzzzy{{{zzzzz{zyyzzzyzzzy{z{{zzzzzzyzzz{z{{{|zzzzzyyzz{{{yz{{z{yyzzzyyzz{{{z{{zy{yyz{{{{zz{z{{{yzzz{{yy{{zzz{z{zz{z{z{zz|{z{{{{{zy{yyzz{{{zzy{{{z{zzz{z|{{zzz|{zzyyzzzzzzz{zz{{zzzz{yzy{zzzz{zzz{zxzzyzz{z{{zzzyzyyyyyzzzzyy{{yzyyzzzyz{zz{zzz{zzzzyyyzyzzz{{zzyzxyyzzzzzzyzzzzyzyyzyy{{zzzzz{zxzzzyyyyzz{y{{zzzyyzyxy{zzyzzzzyyyyzzzz{zzzyzyzyzyyzyyz{z{zzz{zzyyyyzyzyyzzzzxzyyzxyyxyyzyzzyzyzxyzyyzyyz{yz{zzyzyyzzzzyzzy{z{zyyyzzyxzy{z{yz{zzyzzyyzzy{zy{z{{zzyyzxyy{|{z{{z{zzzzyxzyzz{zz{z{zyzzyzzzyz{zz{zzzyzzyz{y{{zzzzzzzyzzzzzz{{{zzzz{y{zzyzy{zzz{zz{{zyyzzzzz{zz{z{{{zzz{zzzzz{zz{{{{{zzzzyzz{{zz{{{|{{zzyzz{{z|{z{{zz{{yzzzzz{|z{|{zzz{zzzz{{z{{{{{{zzzzyzz{z{{{{zz{{zz{z{{z{||{zzz{z{zy{{zzz|{{z{z{{{{zyzyyzz{{{{{{zz{yzzyy{z{zzzzzzzzyzyyyy{z{zzzzzyyzyyyzzyy{zzz{zyyyxyyyzzzy{z{zzyzzzyyyzz{zz{z{zzzyxxyzyzzzzyz{zyzyy{zyyzyzzz{zzyyzyzyzzy{{zzzzxyyyyyyyyzyzzzzzyzzyyyzzz{zzy{yzzyzyyzyzz{zzz{zzyyzzxzyyz{zzz{z{yyyzxzyyyyzz{z{zzyyzyzzyzzzzz{z|yzyzzzyyyzzzzz{zzyxz{y{y{{{z{zz|zy{zyyyyzzzzzz{{zyzyzyzzzzzzzzz{{zyyzyyyz{{zz{zzyyzzz{zzzz{zz{{yzyzzzyzzz{zzzz{z{zzzz{z{z{{zz{{{zzyzzzzz{{{{{{{{yyz{zzyzz{{{{{z{{zzz{zyzzzzy{{|{zyzzz{{zz{zz{|{z{yyz{{yyz{z{{{|{{z{{zzzz{z{zz{z{{zz{{z{{z{{zz{{z{zzz{zzyz{{{|z{z{zzyzyzzz{{z{{|zz{zzzyyyz{z{{{{{zzzzyz{yzzzzyzzzyyzyyyzyyzzyzyz{yzxzzyyyzyzzzyz{zyyyzyzy{xzzzzzzzzzzzyyyzzyzxzzzzzzyxyyzzzyyy{zzyyyyzyyxy{{zz{zxyzyzzzxzzzzyzz{zyyyzyzyzzyyzy{z{xyxyzyzyyzzzzzzzzyzzyyyyxx{zy{yzzyyyyzxyzyyzzz{zzzzxyyyyzzyzzzz{zzzzyyyyx{zyyzyzyyyzyyyxzzzyzyzzzzyzzxzzzz{zzzz{zyzyzyzyyzz{z{zzzzyzzzyz{zyzzz{zzyzzzyyzzzzzz{z{yyyzzy{yyy{zzz{zzzzzzzzzz{{{zzy{zzzz{zzz{{zyz{{z{yzzzzzz|zz|yz{{{zzzyyzy{zz{zz{z|xyzzyzy{{z{z||{zz{zz{|zz{z{{{{zzzzzyzzzz{{|{z{{{zzz{{z{|z{{{{{{zzzyz{xzzzy{{{{{zzz{{zzz{zzzz{{zzzzyyzzzy{zz{z{{{yyyyyzzyz{{zz{yzyzyyyyy{yz{zzzzyyyzzzyyyzyzzz{yyyyyyyyz{yzzyzz|{yyxyyyy{zyzyzzz{yzzx{yzy{zzyz{zzxyxyzxzz{yzz{z{zzyzzyzxyyzzz{zzzyzzyyyyzzzyzzzzzyxzyyyyyzy{zzz{zzzyyyyzzyzzzzzzyzzzxyzyzzzzz{zzyyzzyzyyyz{zzy{yxzxyzzyyyzzyyzz{yzzyyyzzyyz{z{zzyy{zzzzyzz{zzz{zzyyyzzzyyz{zzyz|yz{yzzyyzz{zyzz{zzzyzzzyz|zz{zzy{zyzzyzy{{{zz|zz{zzyzzyyz{{z{|{{{zzzzzyzz{zzz|z{{zzz{zzyz{zz{z{{zzzzzzzz{zz{{z{{zzzz{yyy{zz{z{{zzzzzzzzz{{{{z{{{zzzzzzz{|zzzz|z{{{{zz{zzz|zz{{{|zzzzzzz{z{z{{|{z{yzz{zyzzz{{{{{{zz{zzzzyz{z{zz{{zzzyzzyy{zz{|{z{z{zzzzzyyz{zzzzzzyyz{yyyyy{z{z|zyzxyyyyy{zyzzzz{zyyyyyyyzy{z{zzzzyyyyyzyyzzz{zz{{yyzyzyxyzzzzzz{zzyyzyyyyyzzzzyzyzyyyyyy{yzzy{zyyyyyzyzyyzz{zzzzzyyyyyzyyzzzyzyzxzyyyyyyyz{zzzzyyzyzyxyzyzzyz{yzzyzzxzyzzzzzzyzzyyzyyzzzzzyzyy{zzzyyyzyzzzy{yzzzzyyyzzzyzz{zzzzyzzyy{yxy{zzzzyzz{zyzzxyzzz{zzzyyyyzyxyyxyz{zzyzzzzyzzzyyzzyzz{zzzyzyzyyy{z{{yz{yzyzyyyyzz{yzyz{zzz{zy{z{z|{{zz{zxzzyzzzzz{z{zz{zzyzzzyyyzz{{{{{zzzzzzz{z{{{{{{{{zzzzzzzzz|{{z{{{{zzzyzzz{|{z{{{|{yzzzzyzzz{zz{zz{zzzzz{z{z{zzz{{{{zz{yy{y{{|z|{{z{zzyzyzzzz{zz{zzzyzyzzyz|z{z{{zyyyyzyyyzz{{yz{zyzyyyzzxyzzyzzzzyzzyzyyz{{zzyzzzzyyxyyyyzyyyyz{z{zzzyzyyyzzzyzz{zyyyyzzyyzzyyzzzyyzyyyyxzzzzzz{zzzyyyyyyzzzyzzzzzzyxyyyxzzz{yzzzyyyxyyyzyzzzzzzzzyyzyyxyy{{z{zzz{zyyxyzyyzzzzz{zyzzyyyzxzzzyyzzzzzyyzzyzzzzzzzzzzyyyzyzzzzz{zz{zyzzyyzzzy{z{{zz{zyyxzzzzz{z{z{zzyyzzyzyz{z{zzzyzz{{z{yyyzzzy{{{zzz{yyzzyz{zzzz{zzzy{zzzyz{z{z{zz{zzzzzzzy{{|{{{zzzzzyz{zy{{zz{{{zyyzzyzzzzz{{{{zzzzz{zzz{|zy{{{|zzzyzzzzz{z|{{z{zzzz{zz{{|{z|{{z{z|zzyzzz{{|{z{{{zzzz{z||zzz{{{zzy{{z{{z{{{{{{{{|zzzyz{{yy{zyzz{z{yzzzzzz{{zz{{{zz{zzyzzzzyyz{z{zyzxyyyxyz{zzzzzzyyyyzyxzy|yzz{zyzzxyyzzzyzzzzzzzzyyzxxyzzzzzz{zyzzyxxyxzyzzzzyzyyyxyyyyzzzzyzyzzzyyxzyyzz{xzzyyyyzzyyyyy{z{zzzzzzxyzzyxyyyyyzzyzyyyxyyyzyyzy{yzzzyyyzyyyzzzzyzzzzzxyyyxzyzyyzzzzzyyyzyyyzyyyyzzyyyyzyxzyzzzzzzzzyzyzyyzzzyyyyzzzyzyzzyzz{zzzzzzyyzyxyyzzzzzz{zzzz{yzyyzzzz{z{zz{yyzzy{y{z{zy{zzzyyyzzyzzz{yzzzzzyyy{zyyzzzz{{zzzzzyzyzzz{y|zzzzzyyyzzzzzz{z{z{y{zzzyzz{{z{{zz{|zzzzzzz{z{{{z{{{{yz{zzyzz|zz{z{|{yzzzyzz{|{z{{zzzy{zzyyyz{z{z{{|zz{{zzz{zzzz{z{zz{zzyzzzzzxyz{{{zzyzyzyyzzzzz{{{zzzzyyyzzy{yzzyyyzyyzxyxzyzz{yzzzyzyzyyyzzzzzz{zyzyyyzyy{zzzzzzzzxzyzyzyzzzzzzzz{yzyyyyyzyzzzy{{yyzyyyyzyzyzyz{yzyxyyyzyzxzyyzzzyyyxxzyyyzy{yzzzyyzyyyyyzzyzyzzzyyyyyyxyyzzy{zzzyzyyxyyyzzzzzz{yyzxzyyyzzyzyyyzyzyzzzyyzyzyyyzyzyyyyyyzyyzzyzzzzzyxzzyyyzzzzyz{zzzzzyyyz{yyzzzzzzzyzxzzyzzyzz{z{{zzyzzzzzz{zzzzzzy{yxzyxzyzy{zz{yzzzyzyzz{zzzz{z{zzzz{zzzzzz{z{zzzzzyyyzz{z{z{z{{zyzyzyzz{zzzzzzzyz{zzz{z{|z{zz{zz{zz{{zyz{zz{{{{z{yzzz{z|z{{zz{zz{zzzz{{zz{z{{{zzzzzyyzz{zz{z{{zzzyzzzy{zz{{{{{zzzyzzzzz{zzz{{{zyzyzzzz{z{{{{{{yz{yzzzyzy{|yyzyzzzzyyzyzzzyzzz{yzzyxyzxzz{z{{{zzyzyyzyyzzyyy{{{zyzzyzyyyzzzzzzzzz{yyyyz{zzz{{y{zxyxyzzxzyzyyz{zzzzyzyzxzzzzzyy{zyy{yzzz{zy{zyz{zyxzyyyyzzzz{y{zzzyzzzxzzzz{zy{zy{zyzyzzzzzzz{{zzyyzzyzxzzzzzzz{yzyzyyyyyzzyzzz{zyzyzyyyyzzy{zz{zzyzyyzyyzzzzzzzzzyzyyzyzzzzzzzzzzzzyyxzzz{{yzz{yyyzxzzzzzyzzzyzyyyzzzyz{z{{{y{{yzzzyyyzyz{zz{zzyy{zyzyzzz{{{{y{yzzzzz{z{z|{{{z{zyzyzzyz{{{{{z{{{yzz{zzz{{z{z{{zz{zzz{{zz{z{{{z{zzz{zzzy{|{{{{zz{z{zzyzzz{zz{||{|yzz{yyz{zz{{{{{{zzz{z{zzz{{{{z{{zzyzzz{z{{{|z{zzzyyyz{zy{{{zzzzzzzyzyyzzzz{y{zzyxxyyyyyyzyzyzzzyzxzzzzyzzzzzz{zyzyyzyzz{yzy{zzzzzzzxzyyzzz{zyzzzyzyyzyyzz{zzzz{yyyyzyzyzzzzz{zzzyyzyyyzz{{yzz{zzyyyyyyyzzy{zyzzzzzzzxyyyzzzyzzy{zzzzyyzzz{{zz{yzyzzyzyy{zzzzz{zyyxzyyyyyzyyyzzzxzyyyyzyy{yzzzzyzzzzyzzyz{zyzzzzzzyyyyzyzzz{y{zzzzzyyyzzzzzz{{y{zyzzzyzyzz{{{{{zzyzzzzzzyy{zy{zzzxzzyyzz{zzz{z{z{zyzzyzy{zzzzzz{{zzzyzy{z{zz{z{zzzzzyy{zzyzz{|{{yzz{zzzzzz{{{{{z{zz{zyy{zz{z{{|zzz{zzy{yzz{{{{{{z{zzz{zzz{z{z|{{{zyz{zzz{{{zz||{zyzz{yzzz|{z{{z|{zzzzzzz{z{{z|{{{zzyyyzzz{z{z{{{{zyzyzzy{{z{{z{{zzzzzyzzz{zzz{yzzyyyyxzy{{zzyz{zzzxyyxyz{zz{z{z{zzzzyyyyzyyzzzzyzxyyyzyz{zzzy{{{yyzyyxzyy{zzzzzzyyyxyzyzzzyzxz{zzyzyyzyzzzz{zz{zzy{yyzyyyzyzzzy{zyyyyxyyz{zzy{yzyzzzyxxzzy{z{z{{z{zyyzzzyzzz{yzzzzzyyyyyyzyzzzzzyyyyyyzyy{zyzz{zyyyzz{yzzzyzz{{{zzyzzyzyy{{zzzz{zyyyzzzzzzzzzz{{zzzzzyxy{{zzz{z{yzz{zzzy{{{{{|zzzzzzyyzz{z{zz{{zzzz{zzzyzzzyz{zzzz{zzyzy{z{{z{|zzzzz{zzz{{z{{{{{y{zyyzyzz{{z{z{zzzzzzz{zz{{{{{{{{{zz{z{zz{{{z{{{{z{{zzzzz|{{{{{{|{{zzzyz{{{||{{{zz{zzzzzzzzz{|{{zz{zzzy{{{{{{yy{yzyzzzz{{z{{{{{zz{z{zyzzz{z{z{yzzyzzyz{z{zzzy{yzzyzyyyzyyyzzyzz{zzyyyyyyzzzyzzz{zyyzzyzxzzz{yz{zzyzyyxyyyy{zyzyzyyyyyyzyyz{zzzzzzyyyzyyxyyzzz{zyzzyyzyyyzyyyzzzzzyzyzyzyzyyyyy{{yyyzxyyzzzzzzyyzyyzyyyxzy{zzzyyzyyyyxxyyy{yzzzyzyyzyyxyzzzzzy{yzzyyyzxxyzzyzz{y{yzyyyyzxyzzyy{z{yyxyzyyyzzzyy{{zzyzzyyyy{zy{zzzzyzyzyzyzyz{zz{zzzzzyzyzzzzyzzzzzzzzzyxyyz{yzzz{{zzyzzzzyyz{zzzz{yy{y{y{zz{z{z{z|zzzzzzz{{{zzz{z{zzyzyyzy{z{{zz{{{zyyzzzz{{{{z{{{{yy{zzzzz|z{zz{{zz{zy{zzz{z{{{{|{zzzzzzzy{|{z{|z{zzz{z{z{yzz{||zyzzzz{zz{|{{|{z{zzzyzzzzz{zz{{{zyzyzzzzzzz{{zz{zzyxzxzxzyz{zzzzzyxxzyyyyyz{zzz{zyyyzyzyzzzzzzzz{yzyyyzyyzyzzzz{zy{zzzzyzyzzzzz{zzzyyzyzyzzyzyyy{zyzyzyyyz{zzy{{zzzyzyyyyyz{yzz{zzyzzyyyyyz{{zzz{zyyyyyyyzzzyy{z{yyyzxyyyyzz{zyyzyzyzxyzzzzzzzyzzzyyyzzyyyzzzyzz{{yzyyyyyzzzzyz{zzzyyyzyyyy{z{z{zzzyyzzzyyzzyzz{zzzzzyzyyyz{zzzyyzxzzxz{zzz{{{{{zyzzz{zyyz{zz{zzyzyyzzzyzzzzyzz{zzzzzzzyyzz{zzzzzz{zzz{y{zz{zz{|zz{z{zyzy{zzz{z{{zyzzzzyz{z{{z{{{z{zzyzzz{{zz{{|{zz|z{zzz{{{{{{|{{zzyyz{z{{{{z{{{{z{zz{zz{zzz{|{{zzz{{zy{{{z{{|{{{{zzzzz|z|zz{|zz{zzzyzyzz{z{z{{{zzzzzzyzz{{zz{zy{{zyzyzyzyz{zyzzyzyyyxyxzzzzyzzzzzzyyyxyz{yyzzzyzzzzyyyzyyzzzz{{yyyyyyyyyzzzzz{{zxyyxyzyyyyzzzz{yzyzyyyxyzyzz{zyyzyzyxyzyzyyyyzzyyzyxyzzzzzyyyzyyyzyyyzzzzzzzzz{yyyzyxxyzyzzzzzzyyzyxyzy{{zz{y{zzyyyyyyyyyzyz{yzyyyyyyyyz{{zyy|zzyzzyzyzz{zzzzzzzyyxzyyyzzzyzz{{yyzzyzzzyzyzzz{{zzzzyyyzzz{zzz{{zzy{yyzyy{zz{{zzyzzyyzyzzz{zzzzyyyyzzz{zz{zzyzzzzzzzyy{z{yz{zz{{yzzyz{zyz{z{{{{{zzzzyxyy{{{{z{z{{zyz{yzz{{zzz{{{zzzzzz{{{{zz|z{z{{zzzzzz{{{{{{{{{yz{yzyz|zz{{z|zzzzzzzzzzz{{zy{{zzyzzzz{{{{{{z{{z{yyzyzzz{{{z{z{{y{zzzzzzzzzz{{zz{zzyyzyzz{z{zzyzzzzyzyyyzzzzzz{zzyyzyyyzzzzz{zy{zyxyyyyzzzzyy{yzzyyyzx{y{zzzzzzzyyyyyyyzyzzzzz{yyyyyyzxyzyzzz{{{zyyxyyyzzzzy{yyyyzzyyyzzzz|yzzzzyyyyyyzyzxzzzz{zzxyyzyy{zzy{zyyyzzzyyyz{z{zzzzyzxyyyxyyyzyzyzzzzyyxyyyxyz{yzzzzxyzyyyzy{{zzzzz{zzyzyz{yzz{zzzzzyxzzyzyzzzzzzyz{zzyyyzzyzzzzy{zzzzzzzxzyz{zz{{zy{zyz{yyyzz{zzzz{zzzzzzzzzzzzy{z{zyzyyyzyz{{{zz{{zzzyz{{yzzz{{{{|zzzyzyzzzzzzz{|y|zyz{zzz{{zz{{{{zyzzz{{zz{z{{{{{{yy{yzzyy{z{{{{zz{zzzyzzz{{zz{z|{z{zzzz{z{{z{z{{|z{{zzzzzzz{|z{}y{yy{z{yzzzzz|{{yyyyzyyzzzzz{z{{zyzyzyzy{{{z{z{zyzzyyyyzyzzzzyzzzzyzyyyyzzy{z{yzzxyyzzyxzzzzzzzzyyzzzyzyx{zyyzzzyyyzzyyyyzzzzyz{xyxxxyyz{{{zzzzzzzzxyyyyyzzyyy{zyyzy{yyyzzzyzzzzyxyzyxxyyzy{zzzzyyyyyyyzzyzzzzzzyyzyyyyyy{zzyy{{zyyzzzyzyzzyzz{zzzyyyyzzzzyzyzzzzzzzyyyz{zzzzz{{zyzyyyzyzzzyzzzzzyzyyyyzzzz{{{{{zz{yyzyz{zyzz{{zzzyzyxyzy{zzyz{zzyzyzzzzz{zzzz{zz{yyzwzyz{zzzzz{zzzzzzzyzzz{zz{{zzyzzz{zzz{{{zz{zzzzzyzy{{{zzz|y{zz{zzzz{{z{z{{{zzyzz{{zz{yz{{{{zyyzz|{zz{z{{{{{zyzzzyyzz{{{|{{zzzzzzyzy{y{{{{|{{zzy{zz{z{z{{{{{zzzyzzzzzzzzy{{{zzzzyzzzz{{{yz{zzzyzzzzyzz{yzzzzyyyzzyyxyzzzy{zzyzyyzyyyyyzzzzzyzzyxyyyyyzyz{zzzyyzyzzxy{yz{zz{zyzzyyyyxzzzzy{zzzyzyzyyyzzzyzzzyyxzyyyyyxzyxzzyz{yxyyxyyyyyzzzyzyyzyyyyyyzzzzyzzyxyxyxxyzxzzzzzzzyzzxyyyzzzz{zzzyyzyyyyyyzzzyzyzzzyyyxyyyyzzyzzzzzzxyzyyyzyzyzzyzyyyyyxyzzzy{yzzxyzyyyyzzzzyzz{zyzzyyzzyzyzzz{z{yzyzyyzzyzzz{z{zzyzyyyyzzz{zzzzzzzzzzzyyy{zzzyzzzzyzzzzxyzz{zz{{zzyyyyzzzzz{z{z{zyzzyyzz{{{zz{{{zyyyzyzyz{{{{{{{zzzy{zzzzz|yz{z{{{yzz{yzz{zzz{{zzz{zzzyzzzzyzz{zzyzz{zzyzzy{zzz{{zyzzzyz{zzzzz{{{zzyyyzzy{z{yz{{{z{{zzyyy{z{y{{{zzxyyx{zzzzzzyyyyzzxxxzyyzzyzyyzyyyxyyyzyzyzzzzz{zzyyyyxyzyzz{{zzyyzyyzxyzzzzzyzzyyyzyyxz{zzz{zzyzyyyyyzyzzzzxzzzyyyzyyyyyzzyzyzzyzxzzzyzyyzyyzyzyyxyyyzyyzyzz{yyyyyyxxyyzzy{zzyzyzyzyyzzyyzzzzyyyzyyyyxyzzyzyyzzzyxyyyyzzzyz{{zzyyzyyyyzzyz{zyzzzzzyyyyzzzy|{zzzyzy{yyz{z{zzzzzyyyyyzyyyz{zzzyzyzzyzyzyzzz{zz{zyzyy{yzzzz{yz{z{zzzzzzzz{|zz{zzzzzzzzzyyzzz{{zzzz{yyzzzzyzz|z{z{zzzzzyyyz{z{{z{{zyzzzyz{z{{z{z|{{zzyyyzzy{z{{{zzzyzz{zzzz|{{{{{{zzzzy{zzzz{{zz{{zyz{{zzzzzz{{zz{{{yzzzzz{{z|z{{|{zzyzzyyzzyzz{{zzzyzyzzxyyzzy{zyyyzyzzzyz{zzzz{zyyxzyyyxyzzzzzzzyzzzyzyyz{zzyz{yyyxyyzyyzzzzzzyzzyzzyzyy{zzzzz{zz{yyyyzxzyzyy{zzzyyyzyyyyzyyz{yzyyyyzzyxzzyyy{zzzyxyyyyyzzyzyyzzyyyyzxyxyzyyzzzzyyyyzyyzzyzx{{zyyyyyxyzxyyzyzzzzzyyyyyxyyyyyz{zzyyyyyzxyyzyzy{yzyxzyyyyy{zzzz{{{{zzzy{yz{{zzzzyzzzzyzzzyzzzyzzz{zz{zzyyyzzzzzz{zzyzyyxzyz{yzz{z{{yyyxyyyzz{{yy{{zyyzyzzzyz{zzzzzzzyyzzzzzyzz{z{{zyzyzz{zzzzz{z{{{zzzzzzzz{{{z{z{zyzzzyzzz{z{{z{|zzzzzz{{zz{{{{{{{z{zzzzz{{z{z{zy{yy{{yzz{{z{zzzz{zyzy{zzzzz{z{{{{yzzzzzz{{zzz{{{{{yyzzyzz{z{{y{{zzzyy{zyy{{{zzzzzy{yzyzyyz{{zzzzyyxyzyyyyzzyzy{zzzzyyyzzzzzzzz{zyyzyyyzzzyzzzzz{zyyyzxyyy{yzzzzzzyyyyyyyyz{z{zyyzyyyyyyyzyzyyzzzzyyxyzyyzz{zzzzzzyyyyyyzzyzyyyzzxyyyxyyyzzzyzzzzyyzzyyyyyyzzzzzzyxzyyyxyy{zz{z{yzyzzzyyyzzzxz{zzzyyyzyxyxzy{zzzzzxzzzyyyzyzyz{{{zyzyzyzzzzyzzzzzzyzzzyzyyzzyzzyzzzzzyyzzzzyzz{zzyzzzzyzzzz{zzz{z{zzyyzyyzz|zzz{zzy{yzyzz{zzyyz{yy{zyzyyy{z{{z|{zyzzzzzzz{z{{z{{zzzzzzyyzy{{zzzz{zzxzyy{z{{zy{{|{{yyzyyzz{{zzz{{{{yzzyyy{z{{zz|{z{zyzzzyy{{{{zzz{zzzyyyz{zzzz{{|{zzzzzzzzzz{zz|{{zzzyyzzy{z{zzz{{zzzyyyzzz|{{zz{{yyzxyxyyxzzyz{zzzyyyxyyyz|zyzzz{zzyxyyxyyzzzzz{zyzyyyyyyyzzzz{{zzyyyyyyyzzzzzzzzyyyyyyyyyzzzzzzzzyzxyyyzxywzzzyzyyzyxzyzyz{yzzzzyyyyzyyyzyxzyzzzyzyyxyyxzyzzyzzzyyyzxxyyz{zyyyzzzzzyxzyxzyzyzzzzzyzzzzyyyzzyyyzyz{zzyyyyyyzyz{zzyyyyzyyyzzzyzyzzzyzyzzyyyzzzz{{zzyzyyyyyzzyzzyz{yyyzyyzxyzzyzz{{zzzyzyzzzzzz{{zzyzzyyzyyyy{{zzz{yzyyzzzy{zzzy{{zzyzzzyyz{zzzz{{{zzzzyz{z{zz{{{{{zzyzzzyyz{{{{{{{zyzz{z{yz{zzz|zzzz{zzzzzzz{z{zz{{yz{zzzz{|zz{{z{{zzzy{yz{{z{{z{{zyyzzzzzz{{{zz{z|{zz{yzz{z{{{z{zy{zy{yyzz{zzz{yz{yzzzyzyz{z{{{{yyyzzyyyzzzzz{zzzyyyyyyyyz{zzzzz{zyyzyyyzzzzzzzzzyyyyzyyzzyzyzyz|yyzyyzyyzyyzyzy{zxyyyyzzzzzzyzz{yyyyyyzyyyyyz{zyzyzyyyzyyzzyzzzzzxxyyzy{zyyzzyzyyyyyxxyyyzzzzzyyzyxzxyyyyyzzzyzzyzzzyyyyyyzzzzzzzyzzzyyyyzyyzzy{yyyyyyyyxzz{yzz{zzyyyzyyzzzyzzzzyzyyyxzyzzzyyzz{yyzyyyzyzz{xzzyyyzzzyyzzyzzzz{zz{zzyyyzzzzzzzzz{zyzyzyxyzzz{zz{zzzxzzyyzz{{zz{zyyzzzyz{yzz|{z{z{yz{zzyyzz{z{zz|{zzzzyzzyzzzzyz{z{zyzzzzz{{{yz{{{zzzyzz{z{z{{{{{{zzzzzzyzz{|{{||{{z{zzzzzzz{{{{{{{zzyzz{zzzz{z{{{{zyzzzz{{{z{|z{{{zyzyz{zyzzz{zz{zzy{zzzy{zz{zz{yzz{xyxyyz{zyz{y{zyyzyyyyzzyzy{zyzyyzyyyyzzzzzyzzzzyyzyyyzzyzz{zyyzzyxzzyy{zzy{zzzyxxyzzxzzz{yyz{xzyyyxyyyzzyzzzzz{yyyyxxzzyzzzzzzzyyyzyzzyyzyyzyyyyyyxxyyzzzzzzyyyyyyyxyyyzyzyzzzxzyyyyyzzz{yyzzzyyyzyzyyzzzyzzy{zyyzyyyyzyzzzy{yyzxzzyyzzyzzz{zzxzzyyzyzz{zzz{z{zyyyyzyz{yzzzzzzzyyyyy{zyy{zyzyzxyzyyzyyz{zyzzyyyzzzxyyy{{yzzzzzyzz{zyyz{{zy{zzzzz{zzzyzz{{y{z{zz{zyz{zz{z{{{{{{yyyzzzyzzz{{zzyzzzzzzyzz{{z{z{{zz{zz{zzz{{z{{{{{yyzzzzz{{z{{{{{{zzzzzzz{z{{z{zz{zyzyzzz{zyzz{{zzzyzzyzyyz{{{y{{zzzyz{zz{z{z{zz{{yyzyzyyy{{{z{{zxyyyyzzzyzzzzzyzyzyyyzyxyzzzyz|zyyzxzyyyyyz{zzzzyyzxyzzx{yyzzz{zzyzxzyyxyyzzyyzzzzyxyyyxzyzyy{z{yyyyyxzyzzzyyzzzzyxyxyxyzzzyyzzzyzzyxzyzyzxzyzyzyzyyyyyxyzzy{zzyyxyzyyyxzzzyzzyyyyyyyyxyyzzzzzzzyyzzyxyyyyzyyz{zyzxyyzyxyzyzzyzzyzyyxzzyyzzzzzzzzyyyyyyzzyyzzzz{yyzzyzy{zzzyzzzzzyzyyyyzzzz{zzz{yz{zyyzzyzzz{zz{zyzyyyzzzzzzzz{yyzzyzzzzyzzzz{zyyzzyy{yz{zz{{|{yyzzzzyyy{{z{z{{|{zzzzyzyzz{z{zzzzzzyz{zy{{z{|{{{zzzzy{z{zz|{zz{{{zzyzyzyz{{zz{z{zzz{zyyz{z{{z{{zzzzzzzzzz{{z{{{zzzzzzzyz{{z{{{z{z{{yzzzy{zy{zz{zz{y{{yyyz{zzzz{zzy{zzyyzyy{{yzzyzyzyyyyyzzzzzzz{zyyzyyxzzyzyzzzzzyzzyzyyzzzzzy{{zzzyyyzyzz|zy{{{yzzyyyzyzzzyzz{{zyzyyzyyzzzyzz{zzzyyzyzyzy{yyzzyyyyyyyyyzyz{yyzzyyyyyxzyyzyyzz{zyzyxyzyyyz{yz{zyzxyyyxyyxzzyz{zzyyzzyyyyyyyzzyzzyyzxzzzyyyyzy{zzzyyzy{yyzzzzyz{zzyzzyyyzz{{{zy{zyyzzyyy{zyzzzzzyyyyzyzzzzyzzz{{{yzzxyyyzxyz{z|zyzyzzzzyyzzzz{z{{zyzzyyzyzzzzyzzy{zyzyzyzyzzy{{{{z{yzzyzyz{y{{z{zzyzzzzyzzz{{{{z{zzzyyzzy{{zzz|{{zyzz{zy{z{{zz{{{{{zzzzzy{{{{{{{zzz{zzzyzz|z{z{{|{zyz{{zz{zzzz{{{{zzyzzzzzzz{{{{zz{zyzyzz{zz{zz{{yzyzyzyzz{{{z{{zyyzyzzyyzzz{zzzzyyyyyzyyyyzyz{zzzzyzzyyxzyzy{{{yxyyyxyxyyyzyzzz{zxyyzxxyyyzzyy{{yyywyyzzzzzyyzyzyyyyyyyxyzzyzzzz{zyyyyyyyz{yyyzzzyzxyyxzzz{zzzzzzyyyzx{yyyzyyyzzyzxyxyxyyzzyzzyzyyyyyyyyyzyxzzzzxzyyzyyxyzzyzzzzzyyxyyyyyyyyyyyyyzyyxxyzyzzyzzzzzxyyyzyxyzzz{zy{yzyyyxzyyzzzzzzzyyyzyzzyzzzyzyz{zyyzyxyyy{zyzz{zzyyyzyxzzz{zzy{{zxyyzyyzz{zzy{yz{zyyyzzzzy{{z{{{yzyxzzzzz{y{zz{{zyyyzyyzzzzzzz{zzzzzzzyzy{{|{z{zzzyy{zzzz{zzz{zz{zz{y{zyzz{y{{z{zzzzyyyy{zz{z|z{{zzyzyzzy{z{{z{{zz{zzyzz{zy{z{{z{zyyzzyzyz{z{{zzzzyyyyyxzzy{yz{zxyzy{yyzyyzyzzyyzzyyyxzyyyzzz{yzyyyyyyzyyyzzz{z{zzzyxyyyyz{yzzyzzxyyzyxzzy{zyyz{zzzyyyyzyzzzyzzzzyzzzyyyzz{{zzzzzyyyyyyxyzzzyzyyyxxxyyyzzyzzzzzzyyyyxyyzzyyzy{zyzyxyyyxyyzzyy{yzyyzzyyyyy{zzyy{zyyyyzyyxyzzxzzyzyyyyyxxzzzyy{zz{zyzxzzxxzzzzzz{{zyzyzyzzzzyzzzz{yzzyyyyzzyzzzzzzzyzzyyyyyzzzzzzzzzyzzyyxz{{zyzz{yz{yzyzzzzzz{z|zzyyzzyzyy{{zyzz{yzyzzzzyzz{z{{{{z{zzzz{{z{zzzz|{zzzzzyzxzz{z{{{zzzyzzyzyz{{{{{{{zz{{yzzzz{{z{{z{zzzzzzzzz{{zzz{z{yz{y{zzzzzzy{z{{yzzzzzyz{z{{{{|{{zzzyzz{{z{{{{|zzzzzyzzzz{{z{{{zyzzzzzy{zzzzzz{yyzzyyyyzyzzzzzyzyyyyyxyyyzyyzzzxyxxxxxyzzyzzzzyzyyxyyyyzyzzz{z{zyyzxyxyy{{zyzyzyyzyyyzxzz{z{yzzyyyyzyyxyyzyyz{zyyzyzzxyzz{yzyyzyyzyyyyzyyxzzyzyyxzzyyyyyyyzzzyyyxyyyyxyz{zy{zyzyzyxxxyyyzyzyz{zyyyyyyyyyyyzzzzzyzyyzyyzyzyzzzzyyzyyyzyxzyz{zy{zyyyyyxyyyyyxyz{zxxyyyyyyzzzzz{{zyyyzyyzyy{zzyzzzyzyyzzyzyz{zy{zzzyyyzyyyzzzz{y{{zyzzyzyyzzzzz{yzyzzyyyyzy{{zz{zzyzzyzyzzzzzy{z{{zyzzzyyyzz{y{{{yzxz{yzzyz{z{{z{{yyzyy{{yz{z{{{zz{zzzz{yzz|{{{z{z{yzzzyzz{zy{z{{{zzyyzzzzy{z{{{{{yyyz{yyzz{z{zz{{zzzyyyyzz{{zz{{{zzyzyzzyz{yzzz{{zyyzyzyyzy{zzyyyxyyyyyyyx{yzzzyzyxyxyxyxz{zzzzzzzyyyyyyyzzyy{zzzyyzxyxyyyy{zzy{yyyyxyyyxyzz{yzyzyyyyzyyyx{zyyyyzzyyxyyyyyyzyzzzyyzyzxyxzyyyzzzyzyyzxzxyxyz{xyzzyyyyyyxxzzyzyzyzyyyzxxyyzyyzzzyzzyyyyyyzxyyyzzyz{zyyxzyyyy{zyy{yyyxyzyyxyzz{yyyzzyyxyyyyyzzyz{z{zxxzyyyzxyzyyyzzzxyyyzzzyzyzzzzzzzzzyzxyyyzzzzzzyyyzzzzyzz{{zzz{yzzyyzzyzzzz{zzz{yzyzzxz{zz{z{yzzyzy{zyyyzzyzzz{{zy{zzzyyyz{{{zzzzzzzzzzzz{zzz{z{yzzzzy{y{{z{{{z{{yzzy{yzzzz{{z{z{yxz{zyzz{z{{{z{zxzy{zzzzz{z{{zz{zz{zzz{z{z|{z|{zzzy{yy{{zz{{{zzzzxyyyyzz{zzzzyzzzyyzyyyzzzzzyzzyzyxyyyyyz{{yy{{zyyzyyxzzzzy{zzzyzyyyyzyzzzyzzzz{yyyyxyyzyzzyyzzzyyyxyyyyyzyyzzzyyzxyyzyyyzzyzyzyyyyyyxzzzzzzzzzyyzyzzyzyxyzzzyzxxyxyyxyyyzzzyzyyyxyyyxyzyzzzxzyzyyyyzyyyzyyzzyzzyxyyyzyzyzyzz{zyzyyzyyyyzzzzzzzyxzyzzxyyzzyyzzzyyyyyzzyzzzzzzzzyzzzzyzzzz{{y{zyyzyyyxzzyyyzzzzzzyzzyyzyzzzz{zzzz{yyyyyyy{zzzzzzzzyxyzzyz{z{z{{{zzyz{zyz{{{zz|{zzy{zzyzzzz{z{{{{yzzyzyyzz{y{zz{{{zzzzzyz{z{{z{{zzy{yz{zz{{z{z{z{{yzzzz{zz|z|{{{zzzzzzzzzzzz{z{{{{zzyyyy{z{{zz|z{{zzz{yyz{{{z|{{{z{zyzzyzy{zzzz{zzzzyzy{zzz{z{{zzzz{yyyyzyzz{zzzyyzyyyyyxzz{{zzzzzyxyyxyyyzzzyzzzyyxyzyzyzzzzzz{zzzzyyxyzyyzzyy{zzzyyyyyyzzzzyz{zyyyzyyyyzzzzyzz{zzyyyyyzzzyyzzy{yxyyzyzyyyyzzzyzyzzyyzyyzyyzzzyzyyyyyzyyyyzyzyzyyzyyyzxyy{zzzyyzzyzzyyzzyzzyzzyy{yzzzxyyzzzyzzzzyyyzzzyyyzz{zyzzzyzyzyzyzzzzyzzzzzzxyzyxy{y{zz{{yxzyzzzyz{zzzzzzzzzyzyyyzzzzy{z{zyzy{yyz{yzz{z{zzyzzyzyzy{|zy{z{yz{zyyzzz|{{{zzzzzz{zz{z{zz{z|{{{zyzzzzzz{{zz{{z{zzzzzy{{{{z{||{{zyzy{{y{|zzz{zzzzzyyz{zz|{{z{{{{yzzyz{y{|{{zz{{{zzzzz{zzzzy{z{{zzzzzyyz{{zz{z{zzzyz{zyzzzzz{z{{{zyyzzzzzyz{y{yzzyzyzyzy{zzyy{zz{yyzyzyyzzz{zyzzzyzyzyyzz{{{zzzzzyzzzyyzz{zyz{zzzzy{y{zyz{z{zz|{zyyzzyyxzy{z{zz|yyyyyzyzyzyyzzzzzzyyyzyzyzzzy{yzyyzxyyyzyyzzyz{{yyyyyy{yzyzzzyzz{yyyxyyzzyzyzz{{zyyzyzyxzzzzzzz{zyzyzzzyyyyzzzzzzyxxyyzxyzzzz{z{yyzyyzyxzyzzz{yzzyzzzyzzzzzzz{{{zyzyzzyzz{{zy{|{yzxzzzz{z{{z{z{{zzzyyxyyyzzz{{zzzzzzyzzzz{{zzz{zzzxzzzyy{{{zz{zz{yzzzzyz{{zz{{z{{zyzz{z{{{z{z{|{{yzzzz{z{z{zz{{zzyzzzzz{{{{zzz{{|z{zz{{zz{zz{{zz{{zzzzzz{{{zz{{{{z{zzzzz{{{{{{|zzzz{{zzz{zzz{{{{z{zy{zzzz{z{{z|{zzzyzyyzzzz{{z{{{zzzzyzyz{zzzzzz{zzzyzzyzzzzzyyzyzzyy{zyyyzzyzzzyyyyxxyyyzzzz{zzzxyzyzzyyx{zzzzzxyzzzxyyy{zyyzzzzzyyxzyyyzzzzyyzyyyxyyzyzzyzyyz{yyyxyyyyyyy{zzzzzyzxyyyyz{zzzyzzzyyxzzxyyzyyyzzzyyxyyyxyzyzzzzzz{yzxyxyyyzzzyyzzyyyyyxyyyyzyy{z{yyzxyyyzyzzyzz{zxy{yyyyyzzyzzyz{zzyyzyzzzyzzzzz{zyzzzyyyzzzyz{zzyzzyyzyxyzz{zz{{yyzz{yzyzyz{z{z{zyyyzyyyzy{zzzz{zyyyyzzy{yzzz{z{yzzyzzz{z{{{z{{zzzzyzzzz{zz{z{{zzyzzyzyyz{{z{y{zzzzy{yyzz{{{{z{z{zzy{zyzz{zzz{zz{{zxzzzzzz{y{z{{zz{zzyyzy{z{zzzxzzzyzyzz{z{{{zz{z{yyzzzz{zzzz{{|zzzyzz{zzz{{z{z{{{zzyzzzz{zzzz{zyyzyzyyzzzzzzzyzzyyzzyzxzzzzzzz{zzyzyyzyzz{yzzz{zyyyzyzzyyzzz{{{zzzyyxyzzzz{y{y{zzzyyxxyzyzzzzz{yzyxzyzy{{zz{zzzzyzyzzyzzyz{zzzzyyyyzyyyzyzyyzzzyxyyyyyyyz{zyy{zzzyzyzyzyyzzzzz{zzyzyxzyyy{zyzzzzzyyzyyyyzyzyzzzxzyxzyyyyzyzz{z{yzyyzyyyz{z{zzz{zyzyyxyzz{zyzyz{yzyzyyyzzz{yz{zzx{yzzyyy{{zzyz{zzzzyzyyyz{{z{{zzzzxyyzzy{{zyzzzyzzz{yzyy{{{zzz{zyzzzzzyyzzz{zzz{zzzz{zzyzzz{z{{{{zzzzyzz{{zz|{{z{yyyzzzy{|{{{{{{zzzyzzz{z{zzz{{|zzzyyzzzz{z{{{{{{xzzz{yzzzz|{{{{{{yzzzyz{{{{z|{||zzzzzz{{|{{{{{|{zzyzzzzy{z{z{|{z{yyyzzzz{zz{{{zyzzxzyzxz{{zzzyzyyzyyxzxy{zyzzzzzyyyxyxxzzzzzyzyzyzzyxyyzzzy{{{zyyzyyyxyzyzzzzzzzzyyxyyyyzzzzzzzyyzxzyxzzyzzzzyyzyxyyyxyzyyyzyyzyzxzyzyzyyzzzzyzyxyyyyyyzzzyzzzyyyyyy{yyyyyzzz{zzyyyxyyzzyyzzzz{yzyxyxyyzyzyy{yyzyyyyxyzyzzyzy{yyyzzyyxxzzzzzyz{zyyyyzzyzzzyz{z{zzzyxzyzzzzz{z{zyyzyyzzyzzzyzz{zzyzyyyzyy{zzyzzzzyyzyzxz{zzy{z{zzzyzyzyzz{{zz{zz{zzzyzyy{z{z{{zzxzz{yzzzzzzzz{z{zyzzyzyzz{{{{zz{{yzyzzyyz{zz{{{{zzzyzzz|z|zz{{z{{yzzz{zzz{||{{{{{zzzzyyzyz{{z{yz{zyyzyzz|z{{z{|{{zzzz{zz{z{{zzzzyzyzy{zzy{{z{z{{zyyyyzyyy{zzzz{zzyzyyyyyz{yy{zyzyyyxyyyyzzz{zzz{yyzyyxyxyyy|zz{zzzzxyyzyzz{yy{{{yyyyyzyzyyzxyzz{zyyxxyyxyyyzzzz{yyyxzyzyzzyyzz{zzzyyyyyzyzyyzzyzyyxxyyyy{zzzyyzzyyzyyxyyyzzzyzzzzzxyyyxyzyzyzzzzyyyyyyyxyzzzyz{zyyyyyyyyyyzzzyzyzyzxxyyyyzzzyzzyyyyyzyzxzzzyyz{zzzzyyyzxyyzyyzz{zyxzzyzyz{zzzzz{zzyzzyyzzzzyz{zzzyy{zyzyz{yzyzzyyyzzzzzzz{zyyz{{zzzzyzzz{{{z{{zz{zyzzyzzzzzzzzz{yyzyzzzz{yzz{|z{z{zyzzzz{{z{zzyz{xz{zzzyz|zyzz{{y{yz{y{zz|{zz{zz{z{yyyyyz|{{{{z{{zzzzzz{zzzzz{zzzzzzzzyyz{zz{{||zz{{{zz{z{zzz|{|zzzyzzzyz|z{|{{z{zzyyzyyz{z{yy{zzy{zyyyz{z{zzzzyyyyyyyyxzzzyyyz{yyyyyxzyyzyzzzy{zyyxzyyyzzyyzz{zyzyzyyzzxzz{yyzzzzzxyyzxyzzzz{{z{yyyzyyyyz{xz{yzzyyzyyyzzyzzyzzyyyzzyyxyyzzzyzz{xxyxyzyyzzyyyzzyyyzxyzxzyzzzzzyxzzyyyyyyzzyyzzzzyzzyyyyxyzyzz{zyzyyzyyzxxzzzyzy{yzzzyyyzzz{yzyzzyxyzzzzyzzy{zzzzzyyzzxzyyzy{zzzzyzzzyzyzz{zy{zz{zyyzzyzyyzzzz{zzxyyzyyyyzz{zzyzzzyyyzyyyzzzzzzz{zy{y{zyzzzzz{zyzyzyyzzzzzz{z{y{{zyzzzzyyz{{{z{{{zzyyzzzyy{{zz{{z{zzzyzzy{{{z{{z{zzzzzzz{z{{zz{{{{xzzzyyz{zzyy{zz{z{zyzzyzzzzz{{|zzyz{zy{{z{{{{z{{zy{zzzzzzz{yzzz{yzzyzyyzzy{zyzzzzzxyyzyzzzzyyzzyyyzyxxyyz{yzyyzyxyxyyyyyzzz{zzzyyzxyxzyzyz{{z{zzzyyxyyzzzzzzzzzyxyxyyyxyyyzzzyzyzzxyxyxyzzyzz{zzzzzxzxzzzyzzzzyzyxyyyxyyyzzyyyzyxyyyyyyyyyzzzzxyxyzwyyyyxyyzzzzzxyxxzxyzzzzyzyzyxxyyyyyyyzyyzzzzzxyzyyyyzyyzzyzyxyyzyyyyzzyzy{zyyyyzxyyzzzzzzzz{zyyyyyxzzy{zzy{yyyzyzyyyzzzzzzzzxzyyyyyzyzzyzzzyzzyyxzzyzzzzz{zzyyyyyyy{zz{yzzzzzy{zyzzzzz{zzzzzzzyzzzzzyz|{zy{yzz{zxyzz{z{z{{zzzzzzy{{z{{{yz{zz{zz{zzyzz{{zzzz{zzzyyz{z|z{{{{{zyzzzzyzzzzy{{{z{zzyzz{zy{zz{zz{zzzzzyzzz{z{zz{zzz{zxyzyyzzzzz{zyzyzzzzyzzzyzy{zzzyyyyzzyzzzyzyzzyyyyyzyzzzzz{zyxyzxyyyxyyzyzyyzzy{zyzzxzzzzy{{zyyzyyyyzyzzyyzzzzyyxyzyyzyzzzzzyyzyyyyzzzzyyyzzzzyyyzyyyyzzyzy{zyyyyyyxyzyyzzzzzyxyyyxyzzyzzzzzzzzyyxzyzyzyzz{zzxyzyyyzyz{{zzz{{zyyzyzyyzz{yzyz{yzyyzxyyyzzzz{zzxzy{zzyzzyzzyzzzzyyyzyzyyz{z{{z{zz{zzyzxyz{{yzz{yyzxzzyz{zzy{z{zzzyzzyyzyzzz{{{zyzzzzyzyzzzzzzzz{yyzzzzzzzyzzzzz{xzzzyyzyz{|{{{{yyzyyz{z{{z{z{{{zyzzzzzy{{z{zz{{zzyzzzzy{{{{{{{zz{zyyz{z{zz{z|{{zyyyzzzzz{z{|z{{zzzzzyzz{z{z{|zzzzyy{zz{{{|{{{||{zzz{yz{{{z{{{z{zzzyz{zyz{zz{z{{{zzzzyyyz{{{z{|zzyzzzyzy{zzzzzyxzyzxyyyyyy{z{yzzzxzyxyzzyzyzzzzzyzyxzyzzzyzz{zzzzzyz{yyzzzzzzzzzzyzyyyxyzzz{z{zzzyyzxyyzzyzxzzzxyxyyzyyyzyzzyzz{yxzyzxyzzyyzzzzzyyyyyzyzyzyyyyzzzyyyyzyyzyzy{zzzyyzzxzzxzzzzzzzzzyyzzyzyyyzyzzy{yzyxyyxyyzzzzzz{yxyyyyyyzzzzzyzzzyyyzzzxzzzzy{{zzyzzxyyyyzyyyzy{yyzzyzzzzzyzzz{zzyzyzyzyzzzzzzz{zzyyzyyz{{z{yz{zzzzzzzzyzzzzyzzzyyzyzzyz{z{zy{z{zzzyzzzzz{{|zy{|zzzzzy{zz{z{zzzz{zzyz{zyz{zz{{z{zz{{zzyz{z{|{|{{{zzzz{zyz{{{z{|{yyzzyzyy{zz{{{{zzzy{zzzy{zzz{z{z{zyzy{zz{yzzz{{zzzzyzzzyz{y{{z{z{zyzzzyyzzz{{z{zzz{zzzzzzzzzz{zzzyyyyyzzyyzzy{z{yyyyywyyzzzy{z{zyyzyyxzyyzzzzzyzzyzyxxzyzyzzyx{zzzzyyyzxyzyzyyzzxzzxyyyyz{zzzy{zzzyyyyyyzzzyyyzzyxzyyzzzzzyyzyzyyyyyzzxyyzzyyyzyyyyzxzyyzzyyzzzzyzyxxyyyzyyyzzz{yzyyyzyyyzyy{zzzyxxyyyzyyzyzyy{zyzzxzzyzzzzyz{{zyyzyzyzyzyzz{{y{yyyyyyzy{zzzzyzzzyzxzyyzzzyzzz{{zyzzyyzyzz{zz{{zzyzyyzyyyzyzzzzy{yyzzyzzzzzzzz{{zzzyyyyyzz{{{{{zz{zzzzzyz{{zz{z{zyz{zyzxz|z{{zzz{yyzzy{z|{{{{z{|zy{yzz{zzz{|z{{{{y{yyzzzzzz{{z{{|{z{zzzz{zzz{{{z{yzyzzyy{{{{{z|{{yyzzzz{{z{z{z{{zzzxzyyzyzzzzz|z{zzyxyyyy{yzz{zyyz{yzyyyz{z{zzyzyyyyzyxxyyzzyzz{yzyxyyyyyzzz{z{{yyyzzyxyzy{zz{zzyyyzyxzyzzz{zz{zzyzyy{zxzyyzzyzzzyzzzyyyyzy{yzzyyyyy{yyxyzzzyzz{yyyy{zxzzzyzyyyzzyzyyz{xzyzzzyzzyyyyzyyzzyzyyzzzyyzyyyyyyz{zzz{{zy{yyxxyyzyyyzzzyzyyzxzyyzy{y{{yzyyyzyyxyzzzzzzz{yyzyzzzzzzzz{{zyyzzyxzzzzyy{z{{yyzzyzzyzyzzz{z{yyyzzyzyz{zzyzyzzzzyzyyyzzzzzz{{zyzzzzyy{{{z{{zyzyzyzzzzzz{z{zzzzzz{yzzzzzz{{{{{{yzyyyzyzz{{zz{{{zyyzy{{z{{|zz{|zzzyzz{y{z{{{||zzz{{yzzzy{{z{z||zyz{y{zzz{|{{||zzyzyzz{zz{z{{{z{zzzyzz{{{{y{zz{{z{zzzzzyzzyzz{{zzyzzyzzzz{{zyzzzzzzzzyyyzzzzzz{zzzyyyyyyyy{zzzzzzzyyzxyzzzzzzz{zzyxzyyxyyzzzzyzzyzzzyyyyyzzzyyzzyyzyxyyxyz{zzzzzzyxyyyzyyzzzzyzzyyzxyxyyzzzyyzzyyyxxxyyxyyyzzyyzyzzzyyxzyzzxyyzyzyxzyxyyyzzyyyzzyzyyxzxyzzyzzy{zzzyyzzyxzzzzyyyyzzyyzyyyyzyzyzzzzyyyyzzyzzzzzyzzyyzxzyzxzzzzy{zzxyyzyxxyzyzzzzz{yyyyyyzyzzzzzz{zyzyyzyyyzzzyz{zyzyxyzyzx{z{y{z{zzzyzyxzyz{yzyzzzzzzyyyzzzzz{{{{|zzyyzzyyzzz{z{{{zzyyzyyyzzz{zz{zzyyzzyzzzzyzz{zzzzyzzzzyz{z{{{{z{y{zyy{yyzzz{{zzzyyzyzzyzyzzz{{zzyzz{zyz{{{{{|z|zyyzzzzzz{z{zyzzzzzy{{zyz{zzz{{zzzyzzzzzzzzz{z{{yzzyyxyyzyyzyyzyzyxzyyzy{zzyzzzzyyyyyyyyzzzzyyzzyyzxyyyzyzzzzz{zyzzyyzyyzzzzzzyzzzyzxyzxyzzzzzzzzyyxyyyxyzzyzz{{yyyy{yyyyyzyyzzzzzzzyyzyzzyzyzzzyyyxyxyyyyzzyzzyyzyzyzxzyy{yzzzz{zyyyxzxzzyzyz{zzzyyzyzyyyzyyyzzyxzyyyyyyzyzzzzzzyzyyyyyyzzzyzzzzyyzzyyyzzyzzzzzyzzyyyzzzzz{{{z{zyzzyzyzzzzyzzz{zyzyyzzzzyz{zz{zzyyyzzzzzz{zyy|zyzyzzzyy{zzzzzzz{{zyzz{zzzz{zy{{zzzzyzzzzzzzzz{{yzzzzzyzzzzz{z{{{zzzzzzz{zzz{{z{z{z{yz|zyz{{{{zz{zzzz{zzz{{{{||zzyzzzzyzzz{{z|z{zy{zzzzzz{zz{{z{{zy{zzyz{{{{{{{|z{{zzzyzyz{zz{{{zzzzzy{zz{{{z{zzyzzyyyzyzzzzzzzzyzzxzxyyyzzyyzzzzxyyyxyzyzyzy{zzzzyyyzzxzzz{zz{zzzzyy{yyzzzz{zy{zyyzyyzyzzyzyzzzyyzyzyyyyzyyyzzzzyzxxyxyyz{yyzzzzzyyyyzyyxzy{zyzyyyyxyzyzzzyyzzyzyzzyzyyzy{{yz{zyzyzxyyyyzyyzzzzyxzyyzyyzzyyzzyyzyyyyyyyyzzzzzzzzzzyzxyyzzzzzzy{yyzyyyzz{z{zzz{zzzyyyxzzzzxzyzy{zyyyyyyyzz{zzz{zyzzzzxzyzzzzzzzzzzyyzzzyzzzzzz{yzyxzyzyyzzzy{{zzzzyyzzzy{z{zy{z{zzzzy{zzz{{zz{||zyxzyzyzz{y{zy{{{zyzzzzz{{{zz{{{zzz{zzzzzz{zz|{z{zyzzzzzy{{{z{||zz{{yzzz{{z{{{zzzyzzyzyzz{z{{{zz{z{zzyyz{{zz{{{{{z{yzyzzz{zz{{{{zzyzyy{zzz{zzz{{yyyzyxzy{yyyzyzyyzyyyxyxzzzzzzyzzyyyzxxyzyyzzzzzzyyyyyyyyzzyzz{yyyzyyzyxyzzyyzzyzxzyyxzyzyzzyzyzyyyxyzzyyzyyz{zzyyyyyyxzyyyxyyyxzyyzxyyyzyyyyyyzxzyyyyyyxz{yzzyzzyyyxyxyyyyyzzzzyyxxyxxyyyzzzyzzyyyyxyzxzyzy{{z{yyyxyxyzyzxyzyzzyxzyyyyxzzyzz{zzzyyyyxxzyzyzz{z{zyzyxxzzzzzz{zz{yyyxzzzzyzzzzz{zzyyyzyyyzzzzzzzzyxyzzzyzzz{zyz{{zyzzyyyzz{zzz{z{zyyzz{{y{zz{z{zzzzzyyzyzzzy{z{z{yzzyzyxzz|{z{z{zzyzyyyzyz{{{{|{{yzyzzzzz{zyz{{z{{yzzzzzzz{{{yz{z{y{zzzyzz{z{z{{zzyzy{zzzzzz{zzz{{z{zzzyz{zz{z{zzzyyzzyzy{zzz{z{zzzyzzyyyzzz{zzzzyyzzyyzzyzzyzyzzyyyyyyyyzyzyyyyzyzxyyyxyzzzzzyzzzzyyyyyzzyzzyz{zzyyzzyyzzyzzyy{zyyyxxyyyzzzzxzyzzxyyyyxyzyzyyzyzyyyyyyyyzzzyy{zyzyzyzyxzyyyzyzzzyzyyyyyyzyzyyyzzyxyyxzxyxyzzyzzzyyyyyyyyzyzzyzzyyxxyyyyxyyzxzyz{yxyyxyyyyzyyy{y{yzyyyxyyzyy{yyyzyzyyyyyyz{zyzz{zyyzyyyzyzzzzzzzzzzzyyyyzyy{zy{{zzyy{yyzyzzzzzz{y{yzzyyyyz{yz{zz{yyyzyzyz{zz{zzzzzzyyyzyzzzz|z{yzyzzzzzzyyzzz{zz{zzyzzzzy{{zyy{{z{yzzzzzyz{{{z|{zzzzzz{zz{zz|zz|zzyzzyyzzzy{{{{z{{yzzzy{{{z{z{|{{zzyzzzzyz{zz{z{zzzzzz{yzz{{{{{z{z{zyzzzyzzzzz{{zyzzyxyzyzzyzz{zzzyzzzzyyzzzzzyyyxxzyyyyyyyzyyyz{yyzzzxxxyzzyzzzz{yyyyyyxzzzzy{zzzyyyzyyy{yyzzzyyzyyyxzyxyy{zzzzzyyyxyyzyyzyyyyzyyzyxyyxxzyzyyzzy{zzyyzxyyyyzyzzzyxyyyyyyyyyzyzyyyyyxyyxxyxzy{zzyzyyyxxzxzzzzz{zzyyyyyyyxzzzyyyy{zzyyyyyyyxyyyyyzyyzyyzyxzzyzy{{yyyzyyyyzyzzzzz{zzyzzyxzyzzzzzy{yzyzzyyyyy{{zzzzzyyzyyzyy{z{z{zzzyyyyzzzyzyzz{{{{yyyzzyzzzzy{zzyz{yzyzz{z{zz{z{{zyzzyzy{yzzzzzyz{zxzyyzyz{{{zz{z{zyzzyzyz{{|z{{{{zzzzz{zzz{z{zz{z{yzyy{{yz{{{z{{|{yz{yz{zzzz{{{{{zxyz{zzzz{z{z{{{{zzyzzzzz{z{{|z{zzyyzzyy{{zzz{z|zzzzzzyzzzzzyzzzyzyyyyyxyyyz{yz{yyxyyyzyzzzyz{zyyzyxzyxxyyzzz{{{zzyyzyyyzyzzy{z{zzyyyyyzzy{zyyzzzyyxyyzyzzyzzzzzyxzyxzyzzyyzyyzyyzyyyzyyyyyzz{zzzzzyyyyyyyy{yzyyyyzyzxyyy{yzzzzyyyyzyyyzzyzyzzzyzyyxyyzyzyzzzyzzyyyyyyzyzzzyxxzzyzzzyyzzyzyzyzzzzyzxyyzy{{zzzzzzyyzz{yzyzz{zzz{{yzzyzyzyzzzzzzzzzxyyyyxyzzzzzzzzzyzyzzyyy{{{zzy{yzzyyzzyz{zyz{{zzyy{yyzyzzz{zz{{zzzyyyyzzz{{z|{zxzyyyzzy{{zz{{|{yzzzyzzzzz{{z{{zzzzzzyzyzzzy{{zz|y{{zz{z{z{{z{{{zzz{zzzzz|{{|{zzzzz{yyzzzzy{zz{{{yzzzzzzzzzz{{z{zz{zzyzz{{z{z|{{{zzyzzyzz{{{z{{{zzyzzyzyzzz{z{z{zzzyzyyzyzyyzzzyyyyzyzyyyyz{zzzzxyyyyyyyzy{zyzz{yyyyzyyyzyzzy{yzzz{yyzyzzzzzzz{zzyxyyyyyzzz{zzz{yzzyyyzyyzzzzz{zzyxzyyyy{yyzz{z{zyzyxxyzyzyzyzzzyxyzzxyzyyzy{y{{yyyyxzxyzzzy{zzzzzyxyzyyzzz{yzzyzyyyzyyyy{zzzzzzyyzyyyyzyzzy{z{zzyyyyxxyyzzz{zzzzyxyzyzyzy{yzzz{zzzyyyyzyzzzz{zyyyzyxyzyy{zzyy{y{yzyzyyzz{{zz{{zyyzyzzyyzz{{zz{zyzyzyyyyzz{z{zz{zzzzzzyzzzzzz{{{yzzyyzzyz{z{{z{{zz{zyzzy{{{zzz{zzyzyzx{z{{zy{{{z{zzzzzzyy{{{z{{{zzzzyyyz{{z{{{{z{yy{yzz{{z{{{zz{zzyz{{zyz{{{{|z{{{zz{zzz{{{{z{zzyzyyzzzyzz{zy{|zz{yzzzzyzzyzzz|{zyzyyxzzz{{zzzzzyyyxyxyyyzzzyzzyyyyzxxyyyzzzz{yzxyyyyyyyzzyzzzzzzzzzyyyxzyzzyyz{zzyyxyyyyy{yxzzzyyzxxxyyzyzyxy{yzyyyyzyxxyzyyyyzzyyyxzyyyyyyyyzzyyzxzyyyzzzyyzzzzyyyyyyyzyyyzyzzyyzzyxzxyyyyyzz{yyyyyxyyxzyzyzyzyyzyyyxyzzyzyzzyyyzyyzzyy{yzyz{zyyyyzzyzzzz{zz{zzyyyyyyzzzzyyzz{zyzyyyzyzzyzy{zzzyzzyyyyzzzzzz{zyzyzzyyyyzzzzy{{zyyyyyzyzz{zzzzzzyzyyzyz{{z{z{{z{yz{zy{zzzz{{zzzyyyzz{zxyz{{zzzzzyzzzzyzz{{z{{{|{z{zzzyyy{z{{{{{{yz{y{{yz{{{{{{{zy{zzzyz{zzzz{{{zzzyzy{zzzzy{z{{zzzz{zy{z{y{z{{yzzzxyzyyzzzzzzz{z{zzz{zxz{z{zz{zzzzzyyyzz{zzzyyzyzzyxzyxyy{yzyzzzyyyyzxyzzzz{zyyzzzxzyyyzzzyzzz{zyyzzyxyyz{{yzz{zyyyyyyyzzzyzzz{zzyyzyyx{yzyz{{{zyzyyzyyyyyyyzzyzzyyyyxzzzzzyzzzzyzxyyyyzyyyzyzzzyzyyyxyyzyzzyzzyyyzxzxzz{zyyyyyx{yyyxxyyyyyzyz{zzyyyyxyzzzyyzzzyyyyzzyy{zzyz{{{yzyyyxyy{zzzy{zzyyyxyzyzzyz{zzz{xzzyxzyzz{zy{z{zyxzyyyzxyz{z{zz{{z{yzyyzy{zzz{{yzyzzyzyz{zzyz{yzy{yyyzzyzz{{z{z{z{yzzyzzyzz{zz{{zzz{yzzzz{{{{z{zzyzy{zzz{|z{z{z{z{zzzzzz{{{{{{{{{yzyzzzyz|{z{{zzzzy{zzzzz{zz{{{z|zy{zz{zzyz{{{{{{zz{{zzzz{z{{{{{{{zy{zyyzzzzz{|{z{zzzzyzy{yzzzzzzyzyzyyzzzzzzzzxzyxxxyyyy{zyzy{zyyyxyxyzzyzyzzy{zyxzy{xzzzy{{yzzzyyyzyyyzzzyzyzzzyyyxyxxyyzzzyyzyzxyzxxxzxzzzzzzyyzzyyyyzzzyzzzyzyxyxyyyzyyzyzz{xzyzzyyyy{{zxzzzyyzyyyxyzzyyzzzzyxzyyyxyyzyzyyy{yxxzyyyyyzyyyyzxyyzwyyyyyzzzzzzzzxyyzyyxyzzyxzzzyyyzzzyyyzzzyy{{yzzzzyzzzyzzyy{zzyzyyyyzzzyzyyzzyzzyyyzyyzzzzzz{zyyzyzzyzz{zzzzz{zyz{zyyy{zzz{y{yzzyyzzz{z{{z{z{zyyzzz{yz{zzyz{{zzyzzzyz{z{zzz{zzxzzzzyzz|{z{{{{{zzyzzzz{zzz{{{z{{z{zzzzz{{z{z{z{{{{zyzy{z{{{z{|zyzzzyyzz{zz{{zzzz{yzzzz{zz{{z{{zzzxyz{yz{z{z{{zzzzzzyyyz{zz|yzzy{zyyyxy{z{zzzz{yyzyyxzyyyzyzyz{yyyyyxzxy{z{yz{zyxxxzyyyz{zzzy{zyzyxyyyyzzy{{{z{zyyyyyyzyzzzzzz{yyyyyyxyyyyyzzzzzzzxxyyx{zzzzzyzzyzzyzxxyzyyyzzzzxxyyzyyyzzyyyyyzzxyyzxzyzzzyyzyzyyyyxyzxz{yyzz{yyzxyxzyyzyyxzzzzzyyyxyzzyzyzzyyyzzzyzyyzzzzzy{zzyyzyxyyzyzzyz{{zzzzzyyyzyzzzyzyyzyyzyyyzz{yzz{zyyy{yzzyz{zzzz{{zzyzyzyxyzz{z{z{zyy{yyyzzzzz{zzyzzyxyzzzzz{zz{zzzyyzzzzy{|z{zzzzzzyzzyyzz{z{zz{{{yyzyz{z{{{zz{{zzzzyzzz{{{{zz{z{zzzzyzyy{{z{{z|{zyzzyzzy{z{{z{zzzzyzzzyzz{zz|{{{zyzzzzzy{zz{z{zzyzzyzyzzzz{{z{{{{{yyzyzzz{{{zxzzyxzyyyyyzyzzyz{zzxxyyxwxxzzzyzzz{yyyyyyyzzyzyzzzzyyzxyzyyyyzy{zzzxzyxyyyyz{{yzz{yyzxxyzyyyy{zzz{yyyyzyyyyzyzyyzzzyyyyyyyyzzyyyzyy{yyxyxy{zzzyyyzyzyyyyyyyyyzz{zxzzxyyyxyzzzyyzyyzzzyyyyyyyzzyzzyzyyyy{xyxzyyyzyzxyzxxyzxzyzyz{zzyxyxyyyyzzzyy{zzyzyzyzzzyzzzzzz{yzzzyz{zzzzzzzz{yyyzyyyyzz{zzz{y{yzyyzzyyyzzzzz{yyyyyyyxz{z{zyzzzzyzyyyzz{yzzzzz{zzyzyzzzyy{zzzzzzyzzyzzzzzzyz{zzyzyzyzzz{zyzz|zzzzyzzyyzzzz{{{zzzzyz{zzzz{z{{||{zzzyzzz{{{zz{{zzyzyzyzy{zz{{z{z{yyzzzzzyz{{{z{zzzyyz{z{{z{{z{{{z{zzzzxz{zzzz{{{{zzzz{zzzzzyzzzz{yyyzxzyzzzzzzzzyyyxyxyxyzzzzyyzyyyyyyyyyy{zyyzyyyyxxzyxzyyyzzzzyzyyyxyxyyzzy{zzyzxyyyzyyzyzy{y{yxyyyzyxyy{zy{yyzyyxxyyyyyyxyyzyyyyxyzyyxyzyyyzxyyxyyxyyyzyyy{zxzxyxxyyzyzyzzz{zyzzyxyyxyzzyyyzzyyzxyyxyyzzyzzyzzyyyyyyyyyyxyzzzyyzyxyyyyyzzzy{yzyyxyyzyzzzzzzzzzyzzyyzyzz{zy{z{yzzzyyyzyzzzzzzzyyzyzyzzyzzzzyy{zzzyyzyzz|zzzzyy{yzxzyzyzzzzzzzzzyzzzzyzyzz{{{z{yzzzyyzzzzzzzzzzzyyzzyyzz{zyz{zzzzzyzyyxzzzzz{z{{{yzz{zzyzzzzzzz{zyzyzzyzzzzz{{{zyzzyz{zz{z{z{zzzyz{z{zzzzzzzz{{zzzzzxz{{z{{yz{{yzzyyyyzzyzzz{z|{yyyzzzy{{yzyz{zzzxxyyyyzyzzyyyyzyyxxxyyyzzyyyz{yyxyzxyyyyzyzz{zyzxyyzzzyzzzyz{yz{yyyyxyyyyzyzzzzyyyxxyxyzyzzyzyyyyyyyxyxzxyyzzzyyyyyxzzzzyyyyzyyzzxyyyxzyyzxyyyyyyyxyxzyyyzyyzxyyyxxyxxyzyzy{zzyyyyyyyyzzy{zzzzyxxyyyyyyxyxyyyyzzyyxyyxyzzzyyzyyxyyyyyzzyyyzz{zyyyyyxyzzzzzz{zzyzyyzyyyyzz{zyzzyyyyyyxzzyzzzzzzzzzyyxzyzzzzyzz{zyzyyyxyzzyzzzzzzzzzzxxyz{{yzzyzzzyzyxy{zzz{zy{{zzyzyyyyz{z{z{y{zzzyzyxzzzz{{zzzzyyzzzzzyz{{z{{zzzzzyz{yzzzzzzzz{yyzyzyyz{z{{z{zzzz{zyzy{{z{zzy{zyyyzzzyzz{zzzzzzyzzzzzyz{{{{z{{yzyyyxyzzz{{zz{zyzyzyyyyy{{zzzyzzyyyyxyyyz{zyzyyyyxxzyyxzzyz{yzyyyxyyyyyzyzyzzzzzzxyzyyyyyyzy{z{xyyzxxyyyyzzyyzzzyzyxxyyyyzyzyzyyyyyyxyxyzyyyz{yzyyyzyyzyxz{yzzyyyyyyxyyzyyyzyyzzzzyxyyyyyzzyzzzyyyyxzxyyyyzyyzzzyyyyyyyyzz{zz{zyzyzzxyxzzzzzzyyzyyyyxyyyzyyzzzzyzzyzyzyzzzzzyzzyyyxyxyzzyzyzzz{yyzxyyzyzyz{zzzzzyzyyyzzzy{zz{y{zzyyzyyyzzzz{zz{{zzyzzxyz{{zzyzzyyyzzyyyy{zzzy{zzzzzzzyz{zz{{z|{yzzzyzzzzzyzz{{zyzxzzyyy{zzzzzz{zxyz{zzz{z{zz{{zzzzzzzzyz|zzz{{z{yzzyzz{z{z{z{{zzzzzzyyyz{z{{{{zzzzyzzyyzzzzz{z{zyzzzzzz{{zz{zz{yzyyzyyy{yzzy{z{zzzzyzyxyzy{zyzzzyyyyyzxyzzzzzxzzyyyxyzyzzzzy{zyyzyzyxxyzzzyzzzyyxyzyyyxzzyzyzzzzyyzyyxzzzzzyzzzzzzyywyyyzzyzyyzyyzyzyzyyzzyzzzyyyzyyyyyyyzyzz{yzyxxxzzyyzzyyzyyyxxyyyyyxzyyzzzyzyzyxyxyyzzxzyzzzyyyxyyyzyzyyzzzzyyzyxywyyyyyzyyzzyyyyzyyzyzzzzzyyyyzyyxzxz{yzzzyyyyyxyy{zyzyzzzyyyyyyzyzzyzz{zzyxyyyzxyyzzzyz{{yzzzzyzzzzy{{z{{zzyzyyyyzzz{yzzzyxzzzyyzyzz{yzzzzzy{{yyy{zzyzzzzy{zyzyzzy{z{z{{{zyyyzzyyy{z{zzzzzyyzzyyzz|{y{z{{{yzzzzz{{zyz{{{{yyz{zzzzzzzz{{{{zzzz{yyyzz{{y{zzzzzyyyy|z{zzz{z{zzzzzyyz{zzz{zz{zzzyyzyzzzz{z{{{{zzzyyzyy{zzyzzzzzyyzyzyyyzzz{zzyyyxxxyyzz{zzyz{xzxyyyxzzzyyyz{zyzzyyyzyzyzyyzz{zyzyyyyyyzz{yyyzzzzyyyyxyz{zzzyzyyzyxzzyyzxzyy{zyzyzyzzy{zzzx{zzyzyzxzyxzz{zz{yyzyxyyzzyyzzzzyzyzzzzyxwyyz{{y{zzzzyyxyyzyzzzzyzyzyyyyxyzyyzyyzz{{zyyyyzzyzzzyzzzzyyyyzxxzzzzy{zz{zyyyyzzzzyyzyz{zzzzzxyyzy{zz{zzyyyzzyyzz{z{zzyzz{zyzyzzyz{zzy{{{zzyzyzyz{zzzzz{yzzzzyyyzzzzzyzzzzyyzyzyzz{zz{{zyzzzzzyzz{{{{z{{zy{{zzzyz{z{zy|{zyxzzyzzz|zzzz{zyyzzzzzzzzzz{zzzzzzyz{yzz|z{z{{{{z{zzyzzz{{zz{{{{zzy{yz{{{{y{{zz|zz{zzzz{z{{{{z{{yzyz{yzzzzz{z{z{zy{zyyyz{zzzz{zzzyzyyxyzyzzzzyzyyyyxyyxzzzzyzz{{yzyyxzyzzzyzzzzyyyyzyzyzz{{zyzzzyyzzzyyzzzzzzzzyyywxyzwzyyzzzy{zyzyyyzyyzz{yzzyzyyyyxyyyzyyyzyzzzyyyyxyzyyyzy{yyyyyzzzxyzyzzzyy{yyyxzyyyzzzz{zzzzyyxyyyyzz{z{z{yyyxyyyxzyzzyzzzzyyyyyyyyyzyy{zzyyzyzyyxzyzzzzzzzyyyyyyyyzzzzz{{zzzzyyzxzzzzz{y{zzyzzyyyzzzz{z{zyzzz{xyyzzz{zzzzzyyyyzzyzz{zzy{zzzyzzzyzzyz{{zzzyy{yzyyy{y{z{{zzyyzzzyzy{{zz{{{{yyzzzzzy{{z{{{zzzyzyzzzyz{z{{{{zz{zzyzzyz{zzz{{zzzzzy{zzy{z{zz{|{z{{zyzzz{z{{{{{{yzyz{zz{{{zzz{{z{zz{{zy{{z{z{z{yzzzzzzzz{{{{z{zzzyzzyzyzyzzzz{yzzzzyzyyzyzzyzy{yyyyxxyyzzzzzzyzyyzyzyyyxzzzz{{zzyyyxyyx{yyzzzzzzyzzyzyzyzzzyzzyyzzyyyyyzyzyxyzzyyyzyyyyy{zyzyz{zxyyyyyyyzzzzzyzyxyyxyxyyzzzzzz{xzyyzyyzzyyzyzzzyyyyxzyxxyyz{yzzyyxxxxzxyzyzyyzzyyyyyyyxzzyzzzzzyyyyyyyyyzyyyzyzxyzyyzzxyyzzzzzyyzyyyxzyzz{zzzz{yyzyyx{yzyyy{z{{zzzyyyyzzzzzzyzzyyyyyyzxzy{zzzyy{yy{yx{yy|{zzz{z{yyyyzyz{zzzz{zzzzzyzzzzz{z{z{z{zzzzzyzyz{y{zz{{zzz{zyz{{{{z{z{zyzzyyyyz{{{zzz|z{zzy{{z{z|z{zzz{zzzyy{yzzzz{{{{zzzzzyyzzzzzzz{{z{yyyy{z{{{z{{z{{{yzzyzyzz{|{z{zzzzyyzzyzzzzz{{{{zyyzyyyyz{z{zzz{zzzzzyyy{zzzyzyzyyyyyyyzzyzyyy{zwzxyyyxxyzzzzz{z{yyyyyyxzyzyzzzyzyyyxywzzyzzyyyzyyyyyxyyyyyzzzzyxxyyxzzzz{zzzyyzyzyyyyyyzy{yyzz{yyzyxyzyzyzzyyzzyyyyyxyyyzzyyzzzyxyzyyyxyxzyzzzzyyyyyzyyyzzyzz{yyyyyyyyyyzyyzzzzyzxxyyxzyzyyzz{{zyyxyyyxy{zyyzzzyyyyzyy{y{{zyyzzzyyzyxyzyzzzyzz{zzyyyxzyzzyzzz{{zyyyxyyxzzyzzzyyzzzzzzyyyzzzyzzzyzyyyyyyzzzzzzzyzyyyyyzzzzz{{{zzzzzzxzzyy{z{zzz{zzzyzyyyzzzyzz{z{yzzyzyzz{{{{z{|zyzzzzzzyz{z{zz{{{zzzzyyz{z{{zzz{y{zzzzyzzz{{yzzzyyyzzzzzzzyzz{|zzzzyz{yzyyz{zz{yy{yyzyzzzz{{z{{zyyzyyzzy{{{zzzyyzzyyxyyyzyzzzzyxyyyxzyyz{zzzzzzyyxzxyyyzz{zzyyzyxyyyxyyzyzyyz{zzyyyyyyyyyzzyyz{yzyyyxyxyyyzyzzzyyyxyyyyzyzyzzyyzyzxyyxxyzzyyzyyyzxyzyzyyzzzyyyyxxyyyyyyzzyzyyzzxxyyxywxzzyzzyyzzzyyxyyyzzyzyyzzyyzzyxyyz{zyy{{yyyyyyxzyyzyyzyzzyyyyyyyyyzzy{z{zzyyyzyyyzzyz{yz{zyzzzyzxyyzzzzz|yy{yyyyzzzzyzz{zxzyzzwyyyyyzz{yyzyzyyyzyzzzzzzzzzyyyzzyzz{zzyzzy{yzzz{yzyzz{zzy{zyzyyzzy{{yzzzzzzyzzyyyzzzzz{z{{{yyzyxzz{{z{{z{zzzy{y{{zz{z|z{z{{yzzzzzzz{z{z{|zzz{{{zz{z{{z{zzz{yzzzy{z{zz{{{{{{zzzyzzzz|{z{{{{y{yzzyyyzzzz{z{{yzzyzyyzzzz{zy{zzzzyyyzyzzzyzzzzxxyxxyyxyzzyyy{zzyxyyxzyyzzzzzyzyzywyyxxzzzzzzzzyzyzyyyyyzzzyzyzyyyxxzyyzzzyyyzzyyyxyyyyyzzyyzzyzxxyyyxyzzzyzzzyyyyxxyxzyyyyzyzzyyyyxzyyyyyzyzzzzyyyzyyyzyzyzyyyyyyyyxxyzzyyyyyzyyxyzyyxyzyzxzzyyxyxyyyyyzyy{{zzyyyyyyzyzzyzyzzzzxyyzxyyzyzzzzz{yzyzyyzzyzyyzzzzyyyyyyyxyzzzzzyzzyzyyyyyyzzzzzyzzyyyyyyzzzzzzyzyzyzyzyyzz{{zyzzyyyzzzyzyzzzyzz{zzyzyzzzzyy{{z{{{yzyzxyyxzz|zz{||zyyzzzzzyzzyzz{{zyyzyzzyz{{z{{{{{yzzz{{zzzzz{{{{zzzzzyyzzzz{z{{zyyzzyz{zzz{{zz{zzyzyzyyzyzz|{{zz{yzy{yyzyzzzz{{{zyyyyzzyyzyzzzzzzyzzxzxyzzzzzyyyzyxxxyyxzzzyzyy{zyxxyxyyzy{zzzz{yyyyyyyyzzyzyzyzyyyzxyxyzyyzyzyyyxzyxyyyyxyzyzyzyyyxyxyyyyz{zyyzyyyyyyyxzzzyyyyzxyxyyyyxzyzzyyzzxyywyyyyzyzzy{zy{yxyxyyyyzzyyzyzzzyyxxyyyyzzzyzzyxxzxxyxyz{zxzzyzxxyzyxyzzyyyzzyyxxxyzyyzzzzzy{zzxyzyyyyzyyyyzzzzyzzyyyyyzz{yz{zzyzyzyxyzzzzzz{z{yzzyyzyyzyzyzzzzzxzyzyyzzzzz{{z{yyzyyxyyzzzyzzzzzyxzyy{zyz{z{zzzyyyzyzz{yy{zzz{zzyyzyyzzyzz{zz{zyyzzzyyz{zzz{z{z{zyz{zyz{yz{zzzzzyyzyyzyzyz{z{z{zzzzy{zzzzzy{{{zzzzzyz{zyz{z{{{{zy{zzz{z{z{{{{zzzzxzyyzyz{zz{zzzzyzyyzyzz{zz{{{zxyxyyxzy{yzy{yyzyyyyyyxxzzyzyyzyyyyyyyxyyzyyzz{zzzxyyyyzzyyzzzzyyyxyxxxzyz{yzzyyyyyzyyzyyyzyzyzyyyxxzxyxzxzzy{{zyyyxyyyxzzyyyzzxzzzyyyyzzyyzzzzxxzyxxyyyzyzyzzzyyyyyzxzzyyy{y{yyxyyyxyyzzzyyyzyzyyxyxxyxxzyzyzyxzyyyyxyy{yyyzyzzxyzyyyyyyzzzzzzyyyyyyyzyzyyyyyzyzyxyyyzyz{zzzz{yyyyzyzzyzzzzz{zyyyyyyzyyyyzzzyyzyzyyyyx{yz{yzz{zyyyzyyyzzzzyz{yyzyyzyyxz{z{z{y{yzyzyyzzzyyzyzz{yy{zyyyyz{{z{z{{zyzzyzzyzzzzzy{zyyzyyyzzyzzzzz{zzzyzyzzyz{{zz{z{{yyzzyzyy{z{yz{{zyzzzzzzyyzzzzzzz{zzzzzzzzzzz{z{zzzyyzzz{zz{{{zzzyyzzyzzzyyzzzzzyzyyxyyyzzyxyzyxyxyyyyxyzzyzyyyzyyyyxyyyyzzyyzzzyyyxxyyxyzzyzyzzywyyzyyzy{zzyyzzzyyyxxzxyyz{yzy|yyzyyyyyyyyzzzyzyx{xxxyyyyzyyyzzyxyyxyyyzyyzyyyyyxyxxyyyyzy{zyzzyyyyxyxyy{yyyyzyyyzxxyyyxyz{zzyyyxxyyyzyyxzyyzzzyxxyxxyxyyyyyzzyyzxxyxxyyzyzzzzzyyyzyyzyzyyyzzz{zzyyxy{y{yy|zz{zyzzxyxyyyzzzyz{zzyzxzyzyyyzyzz{yzzyzyyyxyzzyzz{zyyzzyyzzzzyzzzzzyyzxyxzyzzzzz{z{yzzyyyyyzzyzzz{{zyyzzzzz{z{zzyzzzyyyzzyzzzzzzzz{yzyzzzzz{{{{zz{zzyzzyzyyy{z{{zyzyyzzyyyyzzz{{zzzzyyzzzyzzz{z{z{{{zyzzyyz{zz{{zzzyzzxy{yz{{yz{{zzyzzzzzyyzzzyzzzzyzzzyxzxzzzyzyyyyyzyzyyxxyzzyzyzyyxyyxyxyzyxzzzzyxyxyyyxzyyyz{zzzyzyzyxxyyzyyxyzyyyyxyyyzz{zzzzzzyyyyyxxyzyyyzzyyyyxyyzzyyzyxzyyxyxyxzyyzyyzzzzzyxxxxzyzyyyyzzyyyxyyxxyyyz{zzyzyyyyyyyzyzzyyyyzzzyyzxyyyyyyxzzyzzxyyyxzxyxyzzyyyyyzyzxzyyyzyzzzzyyzzyxyzzzyyz{z{zyzyyzyxzzzzyyz{zxzyyzzxzzyzzzzzz{yzzzzzzzzzzyzzzyyzzxyy{z{zz{{yzyyzyyyzzzzzzyyz{zyzzzxyzz{|z{{{yyzzyyyzzzz{z{z{zzyy{yzzz{zzzzzzzyzzzzyz{{zzzz{{zyyyzzzzyz{{z{|{zyzzzzzzyzz{{z{|zzzzyzzzz{z{z{{z{yzyzzyyzy{z{{{{y{zzzzzzzzzz{|{{zzzyzyyz{{{y{z{zzzzyyyyxyzz{zzzyyzyxyzxyz{zzz{yyzzyyxxyyy{yzzxzyzzxxyyxxyyyxzzzzyyzyxzyxyyyyzyzyzyyyyzzxyzz|yyyzyyyxxyyxyzyyyzy{zyyxyz{yxzyyyy{yyyxyyyyxzyzyxyyzyyyxxyyxxxyyzyzzyyyxyyxyyzx{yzzyyyyxxyxyxyyy{yzzxxxyyxxyyzzyzyzzyxxzyxyyxzzyyzzzyyyxyyzxyzyzyzyzzyyyzzzyyzzyxy{yyyyzyxyzyzyzzyzyzyz{yxzxzyzyzzy{zzyzyzyyy{zyzzzzzyyyzyyyyzzyyyyyyyyyyyxyxzzzyz{z{zxz{zxzyz{{zz{zzzzzyyyyzyzzzz{yyz{yzzy{{zzzzzzzzzyzyyyz{z|{yz{{zyyyzyzz{z{z{{{zzzzzzzzzyzz{zz{z{yzyzzzyz{zzz{zz{yyzzyzzyzzzyzz{zzyyzzyzzz{zzzz{zzz{yzyyyzzz{z{{yyzyzzzzzzzzzzzzzzyzyyyzzzzzyyzzyyzwyyyyzzz{xyyyyxyxyyyxy{yyyyyyyyxyyyxyyzyyzzyzyyyxxyxwzzyyzzzzyyyzyxyyy{yyyzzzzyyxwxyxyyzzyyzzzzxyxyyyyyzzyzz{yyyxyyxyyyyyyyzzyyyyyyzyyyyzyyy{wyxyxxyyzzzyyzyyyzzxxyxxzyyyzzyzyxyyyxyxyzzyyzzzyyxyzyxxyzyzyzzzzyyxyxxxyzyyzzyyyxyyyywzyyzz{{zyzyyyyxyyyzzyzzz{yyyxxyyyyzzyyyz{yyyyyyyyzyyzzzzzyyzzyxyxyzzzzzz{yxyyyyyxz{zyyz{zzyzzzyyyzzy{yyyzyzyyzyzzzzyz{{z{zyzyzxyzzzzzzz{zzyzyyyyyyzzzz{zz{zzyyzyzzzzzzzzzzzzyyzzyzz{zz{z{zzyzyzyzzzzz{{{zzzyzy{yyyy{{{z{zzyyzzzzzzz{z{{{{zzyzzzzyzzz{z{{{zy{xyyzyzyz{zz{zzyyzxyyyz{zyyzzzzyyxzy{y{zzzzyzzwyyxyyyyzyzyzzyzzzyyyyyyxyzyzyzyyyyyyyyxy{zyzzzyyyzzxyxzyyyzzzzzyyyyxyxxyzyzy{zyyyywyyzyyyyyzzzzzxyxyzyxyyyyyyyzzyyxxyyyyxyyzyyyyyyyyxyyyzyyzzyyyxyyyxxxzyyzyzzyyxyyxxyyzyyzzyzzxxxyyyzxzzxyyyyyxxxxyyyxyzyyy{yzyyyyyxxyzzyzyy{zyyyyyxyyzzyzzyy{yxyyxyzyyyyzy{yyyyzyxyyyzyyy{zy{yyzyxyyyzyzyzzzzzxzzyzyyyy{zyy{yyyxzxyyyzzzxzz{yyzyzzyzzzzzzzzzzy{yyzzy{z{{zz{zzzzzzzyyyzzzzz{{{zzyxyxzyz{z{zz{|zzzzyz{zy{{zz|zz{zyzyzzzx{{{{{{zzzzzyxz{zzzzz{{zzyyzzyzyzz{zz{{{{zzyzzyzyzy{zz{{zzzyzyyyyz{zz|zyzzyyyzxyy{z{zzyzyyzxyzxyyyzzyzyyyyyxyxyyyzyzyyzzzzyxxyxxyyyyzzzzzyxxyyyxzyzzyzy{yyyyyyyyyzxzyyz{yyyyyyywyyyyyzzzyxyxxyyxyzyyyzyyzyyyyyxxyyzzyzyyxyxxyxxyyyyzyyyzxyyxxyxyxyzyyyyxzyyyyxxxyyzzyyyzyxyyyxyxxzyxyyzzyyxyzyyxyzyyyyz{zyxxyyyyzzyyyzyyyxzxyzyyyyyzyzzzyyxyxyyzyzyyzyzzyyyzyyyxzyyzyzyzyyxzyzyyzyzyyzzzzzyyyxzyzyzyzzzyyxyzyzxyyyzyyz{xyyyzyyyyyzzyzz{{yzyyyyyzyzzzzz{zyyyyyyzz{zz{z{z{yyzyzyyy{zzzzzzy{yyyyyyyzyzz{{{zzzyyyzzyzyzzzz{zzyxyy{yyz{{z|{{{zyzzzzyy{{zzzz{z{yyzzzyyzzy{{zzz{zyyzyyzzzyzzz{zzzzyyyzyzzyzyzzzyzyzyzzyzzzzzzzzyyyyyyxyyyzzzxyzxyxyyyyyzzzyzyzyyyyyyxyxzzyzzzzzyyyxxyyxyzzyzz{zzyzyyzyxyzzzyzzzyyzyxxyyyyzzzyyzxyyxyyyxyzzyxzzzyyzyyxyyyxyyyzyyywyxyyxyxyzzyzzyywxyyyyxzzzzzz{yyyzyyzxyzyyyzyzzxyzyyyyyyyyyxyy{yyzyyzxxyyyyyzzyyyyyyxyyyzyzzyz{yyyyyyyyyzzyyzzzyzxyyxyyyzyzyzzzxxyyyyzzyyyz{yzzyzyzyyzyzyzzz{{zzyzyzxzyyzzzzzzzyzzxyxyy{yzzzz{zyyy{zyzyyzzyyyzyzzzyzzyzyyz{z{{{yyyyyzzzzzyzy{{zzzzy{yyyzz{zzz{{zzyzzyzyy{{zzz{{{zzyzzy{zz{zzz{{zyyzzyy{{zzzzz{z{yyzzyzy{{z{{{z{{zzzzzyyyzz{{z{{y{yzzyzzz{z{{{{{{zzzzyy{zz{zz{z{zzyyzzzyzzzyz{zzzz{yyyzy{yzy{yyyxxwyxyyyz{zzzzyyzzxyyyzyyyyzyyzzyyzyxxxyzzyzyzzzyyzxyzyxyzzyzyzzyyyyxxxxyyyzyzyzxyyyyyyzyyzyzzzzyyyyyyxyyzzyxzzzyyxxywyyzyzyzyyyzyxxxyxxyzzzxyzyzxxxzxxyyyyyzzzzyyyyyyxxyyz{yyzzxyyxxyxxyyzyxxzyyyyxyxyyyyzzyyy{yxxxx{xxyzyyyzyyyyxxyxyxyzyyyzzzyyzyyyyyyyyyxzzyyyyyyyzxyzzzzzzyzyzyyyyyyzzyzzyyyxzzyyyyzzzyzzzzyzyyxzyyyyzyzzzyzzyzxzzzzyy|{|yzyyyyzyzzzy{zyz{{zyyzyyyz{zz{{zyyzxyzzyyxz{zzzzz{zzzzzyyzyzzzzzzz{zzyyzzyz{z{y{zzzx{yyzyy{zzzy{zzzzyzzyzz{zzz{z{zzzyy{zyzyzyzzzzzzyxzyxzyzzyzy{zzzyzxyyyyyzzzx{zzzyyxxxxyzzyyzzzyxzxxyzyyxyyyyyzzzxzxyxyyyzyyyyzyyyxxxyyyzxyyyzz{yyyyxyxxzyyyzyzyyxyxxxyxxyzyyzyzyyzyyzxxyzzyy{yzzyyyxyyyyyyyxzzxzyyxyyyxzyyyyyyzxxxxxxxxyyzzyzyzzyyyxyyyyyzyyzzzzxxxwyyxyyzyyzyyxyxxyxyxyzxyyyyzyyyyxzyyxzzyy{zyyyyyyyxxzyyyz{yzyyyyyxyxzzzzz{zzzxzyyyyxyyyyyzzzyzyyyyyyzz{zzz{zyyyzzyyxyzzyyzyzzxyyyyyxz{zzyzzzzzyyyyyzyzzyyzyzyzyyzzyzyzzzzzzzyyyyyzyzzzzzz{zzzzyzyyzzyyz{{z{zzyzzzzzy{zzz{zz{zzzyyzzzz{zzz{{z{yzyyzyyy{zzzz{zzyy{yyzyzzzzz|{zyyzzzzzyzzzz{z{zzzyzzzyzyyz{{z{{zzyyzyzyzzzzzy{z{yyyyyyyzzyyzzzzzyzyxyyyyzyyxzzxxxyyyxyzyzyyzxyzyyxxyxxyyyyzyzzy{zywyyxyzyyxyzyyzyyyyyyxyyyyyyyyzzxxyyyxyyzyxyyzyyzxyxxxyyyxyyyyzyyxyxyyxy{yyyyzyyyyyyyxzyyzxyyyxyyzyxxxyzzyyyzyyxyxwyyyxyzyzyzzxxyyyyyxyyzxyz{{yyyxyxwxxzxyyyyzyzyyyzxxyxyzyzzxyyxzyyyxyyyzzyzy{zxxzxyxyyyyyzyzyxyyxxyyzzzyzzzzyyyyyyyyyzyzy{{zzyzyyyzzyzzy{zzyxyyyxyyyyyyyzzzyyyyyyxyyz{zzzzzzyyyzyyyzyzzzz{zzzyzzzy{yyzz{z{zzyyzyzxzyy{zzzzzyzyyyyyzyyzz{zz{zzzzyzy{yy{{zzzzzzyyzyyyyy{z{zz{zzxzyzyzyyzzz{{zz{yyyzyyzzzzz{{zzzzzxyzzzyzz{{{{zzyyyyyyz{zzzzz{{yzxyyyyyyzyzyy{yyyyxyyzyzyzyzxzyyxyyyxyxyzzyzyyzyyyyzxyyzyyzyz{zyyxyyyyyyyyyzyzzyyyyyyxxzyzzzzyyyzxyyyyx{zzyxzzzyyyxxzzxyyyzyzzyyzyxyxxyyxyzyzyyyyyyyyyyyxyyzyyyyyyyyyxxyyyyzyzzxyyyyxyxyyzxzyy{yzzyxyxxyyzzyyzxyyxyyxyxxyyzxzyyzyyxyyyxyyxyyzyzyyzxyxyxyyyyzzzzyyyzyyyyyzyyyyzzyyyzyxyyzzyy{yy{yxxyxxxyyzzzzy{zxyzzyyyyxzzzyz{zzzxzyyyyzy{zyzzzyyzyzyzxzzyzzz{zzyyyzyzzyy{y{{zzyyyxyz{yx{yzz{z{yyxyyyyyy{zz{zzy{zyyzyyyy|zz{zz{yzzyyzzyzz{{z{zyzyzzzzzy{{{zzzzzzzzzyyzzzz{zzzzz{yyzxzzzz{zzzz{{zzzyyyyzz{zy{zzyzzzyz{yyz{yzzz{zzyyyyyyyz{zyzzzyzyyyxyxxyzzyyzyzyyyyxyyyyyzzyz{{xyzxyyxzyyzyz{zzxyzxzyzy{yzyzz{zzyxzyxxyyy{zzyyyyzyxyxzyzzzyyyyyzyzxyyzxzzzyyzzzzyzxyzyxzzzzyyyyyyzxyyyyzyzzyz{yyzyxyzyyzzzyyzyyyyyyxzxyyxyzzyzzzxzyxxyzy{zy{zyzyzxyyyyxyyyzyzyyyyxxyyyxyzyyzzzzyyyyzzyyyyzzzzzyyzyyyxyyyzzyzzz{yzyyyyyxyzzzzzzzyzyzxxwzyzzzzzzyyyzzzyzzyyzzzzyzxyzzyyyz{{z{yzzyyyyyzyyz{zz{z{yzzzxyzzzzzz{{zzzzy{yzyyzzzzzzz{{{zxyzzyyyz{zzzy{zzyzyyyyyzzzzz{z{yzzzz{zzzzzzzz{{{yyyyzzzy{z{{|{z{y{yyyzyz{zz{z{z|zzzzzyzz{yzzz{zyzzzzyz{zzzz{{z{yzzyzzyxzyz{zz{{zzyxzzyxzyzzzzyzzzyxzzyyzz{zzzzyxyyxzyxyyzzzyzyzyxyzyyyyyzzzyzzyyxyyyyyxyzzzzzyyzyyyyyyzzyyzxyzyyyyxxyyxzyyzzz{yxxyyyyzyy{yzyzzyyyyxyyxxzyzxyyyyyxzyxyxxyzyyyyzzyyxyyyyxzyyzyyzzyxyxyyxyyyzxyzyzxyyyyzyyyzzzzyyyzyyyyzyyxzzyxzzyyzzyy{yyyyyyyyzzyxyxyzzyyyyyyzyyyyyxyxyzyyyzzzyzzyyxyyzyyyyyyzzyyyyyyyyyzzz{yyzzzyyyzyyzyzzyzzzzzyyzyyyyzzzzzyzzyyzyyyzyyy{zyzzzyyyzz{zzzzzzx{{zzyyyyyzyyzzzzz{zyyxxzzyy{zzz{z{z{yyyzzyyz{zzzzzzzyzyyyzzy{zzz{zzzyyzzzyyz{{zzzzzzyzzzzzzzz{zz{{zzyzyyzzy{{{zzzzz{zyz{zyzzzzzz{z{zyyyyyzzyz{zzz{zyzyyxyyyz|yzzzzzzzzyyyyxy{zzzzzyyzyyyzyyyzzzyyz{zyyyyyzy{yzxzzzzyzxxyyxzzyzyzzzzyxzyxyyyzyyzyyzzyyyyxyxxzzy{yzzyyyyyyyyyyyzyz{{zzyyxyxyyyzyyyyyzxyyyyxyyzzzzzyyzyxyyyxyyzxyxyzzzyzyxyyxyyyzyz{zzzzyxyyyyyzzyz{zyyyyzyzyxyzzzzzzyyyyxyyxyyyzyyzzzzzzyyyyyyyzyzyz{zyyyzyyzyzzzyyzzzzyyyyyyzzzzyy{{yyzyyzyyzyzz{z{zzyxyzxzzyzy{zzzzyyzyyxyzzzzzz{yzxyyyyyyyzzzyzzyyzyyyyzyyyz{zzzzzyzyzyzzzzzzzz{z{{zzzyxyz{zz{{{{{zyzyzyzy{{zxzz{{zzzzyy{z{zzz{{z{{yyzzzzyzz{zz{{{{zzz{yyz{{z{{{z{{yzzzzzzz{zz{z{{zzyzzyyyz{z{{zz{zzyzzyzzz{zzyzzzzyyzyzyyyzz{yzzzzyyyxyzzzzzzzyzyyyyyyyyyxzzzyzyyyxyyxxyyyzzyyy{zzyxwyyxyzyyyyzzyyyyyyxyyyyzzyzzzyyxxxxyyyyyzyyyzxxxxxy{xxyzyyyzyyyyxxxyxzyzyyyyyyxyzyyyyzyyzyzzzzxyyyxzxyzzzyyzyyxyyyyyzyzyyzyyxzyyyxyxxyyyyyzzzxxxxyyyxxzyzzzyzxyyxyyyyzzyzzzyyyyyyyyxyyzyzzxzzyyzxzxyzxzyzzzy{yyyyzxzyzyz{yzyzyyyyyyxyyyyzzzzzyzyyyxxyy{{{z{yyzyyyyxyyyzyzzzzzzyyzzzyzzzz{yzz{zyyyzzzz{y{y|z{{xzzyzyzy{zzzzzzzzyzyzyyzz{z|zz{{yxyyyzzxzzzyzzz{yyyzyzzyzzyzz{zzz{yyyyzy{{zz{z{zzyzzyzyz{yz{z{z{zxyzyyyzzyzz{zz{z{yzzyyyzzz{yzzzzzyyzzyzzzzzzzzz{yzyyyyyzzz{{yzzzzyyyyyx{yyzyzxzxyyxxyyyzxyyyyyzyyxyxxyyyyyyyyyyyzxxyyyxyzzxyzzzyyyzxxyyyzzyyy{zzyyyxxyxzyzzyzyzzwyyxyyxyyyyxyzzyxyyxxyyzyzyyyy{yxyzyyxzxyyzz{zzyyyyxxyyxyyyyzzzyyyyxyxyyzyyzzzzyyxyxyzxyyyyyyyzyxyyywxyyyyyzzzzzzyxxxxxyzzyzzyzyyyyzyxyyyyyyzzzyyzyxyzxzyyyzzzzyzzyxxyyyzzyyzzzxyyyyyyxyyzyyzzzyyyyyxyzyz{yzyzzyzyxyyxzyy{zyyzyyyyzxyxz{{zzzzzzyzyyzzzzyyzzz{zzzyyyyyyzzzzzyzz{yzzzyyyyzzzzzz{z{xzzzyyyz{zzzyzzzyzzyzzyz{yzzz{zzyyyzzzzz{{zzzzz{{{yyzyz{z{{zzzzzyzyzzz{zzzz{zz{zzz{zzy{y{y{zzz{zyzyyzzyzzzyzzzzzyyyyyzyzzzzy{zzzyzxzxzy{zzzyyzyyyyyyyxxzzzzzyyyyyxyyxyyzzyzyyyyzyxyyywxyzyyyzzzyyyxyyyyyyzyyyyzzyyyyxyxxyyzzzyyxyxxyyxyxzxxyyyyzyyyyyxyyyzzxyyzyyzxyzyyyyyyyyzyyxyyyxzzyyzyyzyyyyxyxyxyyyzyyyzzxxzyxxyxx{zyzzzzxyyyyyyxxyyyzzxzyyxyyyxxxzyyyzyzyyyzyxzyyzzzyz{yyxyyyxzyyzyxzz{zyyyyyxzyyyzyyzzzyxzyxxxyzzyyyzzyyyzyzyyyyzzzzyyyyyzyyxxyyzzzyy{zyyxyxzyyyy{zzzzzzyzyzyyyzzy{zyzzyxyzzyyyz{yzz{{{zyyzzxyyyzzz{zyyzyyyzzyyzzzzy{{zyzzyzyzyy{yzzyzzzyzzyzy{z{zzyzzzzyzzxzyyyzzzzzzz{zzzyyyyyyyzz{{zzzyyzzyzz|zzzzz{yyyyyyyyzzyy{z{{zyyzyyyy{z{yzzzzyyyyyyzyyzzzyyxzyyxxyxxxxyyyyyzxyyyyxxxxyyzyzyy{yyzxxzxxyzyzyxyxxyyyyyyyyzzzxyzzyyxyxxxyyyzyzyyzxyyxxyzwyyxyzyyyxxyxxxyxyyzyzzyzyyyxyyxxxxzyyyyyyzyyxwzxyyyzyyzyyyxywxwyyyzyyyzzzyywyyxxyyy{yyzzxyyyyxywyyyyzyxzyyyxyxxxxzyxyzyyyyyyyzyyyzyyyxyzyxxyxxxyyzzyzyzyyxyxyxyxyyyzyyyyyyxxyxyyyzyzzzyyyyyxyzyyxyzzyzzzyyyxyxyyyyzyyyzzzyyyyzyyz{zyyxyzzyyyyyyyyy{yzzy{yyyyyyzyzzyzyzz{yzyzzyxyy{yy{zzzzyyxyyzzzz{zzz{{yzyzxzzzz{z{zzz{zyzxzzyyzzzzzyzzzyzyyzxy{{zyzzzzyyyyzyzzzzy{zzz{yzyzzyzyzzzzzzzzzyxyyyyyz{zz{z{zyyyyxyxxzyzzzzzzyxywxxzxyzzyzyzxxyxyyxyyyyzyzzzzyyyyywyxyyyyyyzyzxzxyyzxyzzyyyyzzyzwxyxyzyyyyyzywyyxyyxxyzyzyzzzyyyyyyyyxzzyzyzzzxyyxxyyzyyyyzyxzxxyyzyxzyyyyzyxxyyxyyxyyzyyzzyzyxyzxxxyyzyyzzzyxxyxyyxxzyyyzzzzyyyxyzyyyyzyzzyzxyyyxxyyyzyyzzzyxzyyyyxxyzzyyyzzzyxxyxyyzxzyyzzzzxxyzxyyzzz{yzz{yyyyxxyxyzzzyzzzyyyyyyyxyyz{yzyzzyyyyxxyyzzzzyzzyyyyyyyyz{yzyzzzzyyyz{yyz{zz{zzzyyyxyzzyzzzzzz{zyzyyzzyyzzzzzz{zzzyzzyzyz{zzzzzzyyzzz{zyzzz{zzzzzyyyy{zyyzzzyyzz{zzzyyyzzz{zzzzzzzyyyzyyyzzzzz{zzzzyzzzzz{zzyyz{yyzxyyzz{yzzyyzzzyzyxyyyzzzyyyzzyzzyyxyxzzzyyzyyyyxyxzxxyyzyyzyzzyyyyyyyzyyyyyzzxyyyxxyyyyyzzz{yzyzyyzyxyyyyyzyzzyxxxxyx{zyyyyzzyyxxyyyxyzzyyzzyyzyxyxxyyzzyyyyxyxxyyyxyyyyyyzzzyzyyxxxxyyyyyyzyyyzxxxyyyzyzzxyzyyyxyxxxxyy{yzxxyyxxxxyyxyzyyzzyzyxxxyxyxyyzyzzzzzzyyxxyzyyyzzzzyxyzyyyxyzyzyzyzyyyyyxyzzzzxy{yzzyzyxyyxzzz{yyzzyyyyyyyyyzzzyzyyzyzzyzxyyy{yyzzyyxxyxyyyyyzyzzzyxyyzyyyzz{zzz{yyzyzyzyyyzzzzz{zyzzyzzyyzyzzzzzzzzzzzyyzzzzz{zzz{zzzxzzzyyzzzzz{y{zyyz{yzyzzzz{zz{yyzzyyyzzz{zzzz{zzzzyyzyyzzzzzyzyzyzyyyz{{zzz{zzzywzzyzz{zzyz{zzzyyyxzyyzzyzzzzzyzyzwyyzzzyyzxyxyxyxyyyxyyyzx{{yyyxzxyxzyyxzyzzyyyxzyyyyzyxzz{yyzyyyxxyyyyzyyzzzyzxxyxxyyzyzyzzyxyyyyxxyxzyyzyzyxyyxxxyzyyyyyzzzyyyyyxyyzyzzzyzxxxxxxwxyzyzyzyzxyxyyyxyyyyxzyyyzxyxwyyyxyzxzzzzyxyzxyyzzyxzyyyzxyyxyyxyyyyyxzyyyyyyyyyxyzyzzzzzzyzyzxxxyyx{zzzzyyzyxyzyzyyzyyyzyzyxxzwyyyyzzz{zzyxyyyyxzzyzy{yyyyyyyzxyzzyzzy{zzyxzxyyyz{yyyzzz{zyyyyyzzyyzyzyyyyzyyyzyzyzzz{zzzyzyyyyzyzzzz{zzzzzyzyyyzz{z{zz{zzyzzxzzzz{{{z{zzzzyyzyzz|{z{z{z{yzzzyzz{{zzyzzzzyyxzzyzyz{z|zz{zzyzyyyzzzzz{zz{{yyxyyyyzzz{zyzz{yzyzzyyxzz{yzzyyyzyyyyyzyzyzyyzxyyxyxzxyyyxzyzzzyxxxxyzyxyyyzzyyyyyyyyxyzyyyzzzxyyxxyyyzz{zyzyzyyyyyyyxyzzzyzyzzyyxxyyyxzyzzzzyzxyyyxxyyzyyyzzzyzxyxzxxzyzyyzyzyxxyxxxxyyyxyzyyyxxxxyyyyyyzzzyyyyzxxyxwyzzzyyyzyyxxyyxxyzzyyyyzyzyyyyyyyyyyz{yzyzyxyzxxzyzzzyyyzzxxyyxxzzyzyzzyyyyyyyzyyyzzzyyzzxyzyyyzyzzzzzyyyyzyyxyxyyzyzyyzyzzyyyyzyzzzzzyzzyyzyyyyyzzyzzz{yyyyyyyyyyyzz{zyzzyyzzyzzzz{{{{zzyyzzxyyzzz{z{z{zzyzxyyyyyz{zzzzyyzzyy{zyzz{z{zzzzyzyyyyyz|zzzz{zyy{zyzyz{yy{{zy{yz{yzyz{{zzzzzz{zzzzzxyzyz{yzz{yzyyyx{yyzzz{zzzzyzzzyyzz{zzzzzzzyyyzxxyyzzzzzyxyxxxxxyyyyyzyyzzyyyyxyyxyyzyyyzzyyyxyzyyzzyz{yzzyyyyzyxyyyyzyy{zyyxyyyyxyyxyzzyzyyyyyyyxyzyyy{{zzyyxyxxyyyyyyzyzyyxyyyyyyyyyzzyyyyyxyyyyyxzyzzyzyyyyyyyyxyzyyzz{yyyyyyyyzzy{yz{yyyyyyxyxyzzyyzzyxxxxyzyyxzzyy{zzyxzyzzyxzzzy{yzyyyyxxyyxyyzzzzzzzyzyyyyyzyzyzzzzyyzyxyxyzz{zyyz{yyzyzxyyyyzzz{yzzyzxyyzyzyzzyzyyzxxzyyyzyzzzzyyzyzzyzzzzyz{z{z{zyyzyyzzxzzzzzzzzzyyzyyyyyz{zz{zzzzyyzxyz|{{z|zzzzzzyxyyzzzz{zz{{{yzyz{zzz{z{{z{zyzzzzyyyzzyz{{{zzyyyyzyzz{z{zzzzzzyyyzyyzzzyz{z{yyyyyyzxzzzz{z{{zyyyzzyyzzzzxyzzyyzyyxzyzzyyzzyyyyyxxyyxxyyzzyzzyyyyxyxyzzzzzzzzyyyyyyyxyz{yz{zyyyyzyxyyyzyyyyyzzzyxxyyyyyzyyzzzyyyxyyyyyzzxyzzyyxyxzyyzyxzyxzzxyxyyyxyyzyy{zxyzxxyyyxxyyyxzyzzyyyyyxxxyyx{xzzyyzxyyxxxxzyzyzzzzyxyxyxyxxyyyyyzyyyzyzyzxyzzyyzyzyyyyyyzxyy{yzyyzzzxyyyyzy{zzyzzzyyzyyyyyyzzyyy{{zxyyyyyxyz{{zzzzzzzxyyyyzyyzzzyzyyyzyyzyyyzyyy{yyyyyxyzyzzzyz{{yzyyyyyyzyzz{yzyzyzyyyzzzzzzzzzzzzyzzzyyy{yz{{{zzzxzzzyzzzzzzz|{{zzzzyzyyzzz{zzz{zzzyyzzyzzz{yzzzzy{yzyzx{zz{{zz{zzyyyyyzzz{z{zz{zzzyzyzx{{z{yz{zzzyyzzzzzz{zyz{z{yyzyyzxzzyzz{z{zyyyzxzyy{zzyzyyyxyxzyyxyzyzyyyyyxyxzyzxyyzyyyzzyxzxyyzzyyzxzzyyyzzxyyxyzyyzyyzyyyyxxyxxyzzyzzzzxxyxxyzxyyyyzyyyyyyyyxxxyzxyxyzxyyxyxyxxzyzzyzzzwxyxyxyxy{zzyzyyzyyyyzxyyyzxyyzyzyyxxxxyzyyzyzzzzyyyyyxyyyyzyyyyxyzxyxyxyyxyz{yzyyyyyyyyzyzyzyzzyyyyyxyyzyzyyzzyyyyxyxyyyyyyyzyzyyyyxyyyzzzzzzzzzzyyyyyyyzzzzz{yzyyyyyyyyzzzyyyzzywzyyyyzzzyzz{zyyyyyyyyyyzzzzzzzzzyzyzyzzyyzz{yyyzyyyxyyzzzyyyz{yyz{zyyz{yy{z{zyzyzyyzzyzxz{zzz{zzzyzzzy{z{zzz{yxz{yzzyzzzzzyzzzyyyzyyz{zzzzzz{zyyyzyxzzyzyzyzzyyyyxzyzzy{{{y{{yyxyyyyyyzyzyzzzyzuyyxyyzyzyzyzyyxxxyyxxyzyyyyyzyyyzyyxyzyzyzyzzyyxyxyyxzxyyzyyzyyyyyyzxyyzzyyz{yyyyxyzxxyyyyyyyxxyxyyyxyzyxyyyzyyyxyxyxyyyyyzzzyyyxyxxxyxxzzxyzxyyyyxyyzyyyyzyyyxxxxxxyyyyyyzyyzyzxxzxxzzxzyzzyzyyxyxyyyyzyyyyzyxyyyyyyyyyzyyzzxxyxyyxyyyxyzyzyyxyyyxxxzyyyyz{yyxyxyyzyzzyzyzyzyxyyyxyzyzzyzz{zyyyyyyzyyzzyzyzzyyyxyxxxxzzyzzzzyyyzyyyzzzyzzzz{zyyzzyyyyzzzzzzzxyzyyyyyzzzzz{z{yyyyxxyy{zzzz{zyzyzzyyzzz{{zzzzzyyzyzyyzz{zyzzyz{z{yxyzzz|zyzz{{yyzyyyyyzzzyy{{zzyyyzzzyzzzzzz{zzyzzyyyzzyzyyzz{zzyxyyyz{zyzz{zzzyxyzyyyy{zzyzzxyyyyyxzyyyzyyxxxyyyyxyxyyyyyyyyyyyzxyyyyzyyzyzyzyyxxyyxxyzzyyy{yxyyxxyyxxyyzyyyyyyxyyyxxxyzyzyzzxyyyyyyyyzyyyzyzxxzxxyyxxyzyy{yyyzyxyzxyzyyzyyzyxxxxywxxxyyyyyyyxyyxyyyyxxyyy{yyyyyzxwxxxzyyyyyyyxzwyyxxzxyyyyyzyyyxyxyxxzyzzzyzzxxyxyxyxyzzyzzyyyxxxxxyyyzz{yyzyyyyyyxxz{zyzzzyyyyyyxyzyzzyzz{zzyzyyyzyyzzyz{yyzyyxxzxyzyyyzyzzzyyyyyxyzzzyyyzzzzzxzyyzzzzyzzz{xzzyyyzzzzzzzz{{{yyyyyxzzzzz{zzzzyzyzzzz{zzzzzzzzyzyzyzxzzzyz{zzzyyyyxzzy{z{zz{{yzzzyyyy{z{yyz{yzyyyzyyzzy{zz{y{zyyyyzyzzzyz{y{zyzyyzzzyyyzyyzz{zyzyyyyxyzzyzzzyyzyzyyyxyzzy{zyzxyyyyxyxyzyzyzzzyyyxyxxxzyy{zzzzzyzwxzxwzyzxyzzzxyyyyyxxxzyzzzzzzyxxyxyxyyxzyzyzyyyxyyyyyyyyy{{yyyxyyxyxyyzxyzyzyxxyxyxxyyyzyzyzxxxxyxyxyyzzyyzyyyxzxxxyyyyyzzzyyyyyyyyyyzyzyyy{xzyxyxxyxzxyzyzzxyyxyxyxyzyyyzzyyyyyyyyxzyzzyzyzzyyyyxzyzzzzzzz{zxyyxyyz{y{zyzzzzyxyyyxzzyzzzyzzzxzyyzzxzzyzy{zzyzyyyyzx{zzz{zzzyyzzzzxyzzzy{zyzyzyyxzxyyzzzzzzzyyzyyz{yzzzzzz{zyyyyyyyyzzzzzzzz{zzyzyzzzzzz{z{zzzyyzzzzzyz|zzz{{yyyyzyzz{{{{{|z{yzz{yyy{zzzzzzyzyzyyyzyzz{{{z{{{zzyzyyzzz{zz{zzzyyyyyyzyz{zzz{yzyzyyyyyzzzz{zzzyzzzzyyyzzzzzzzxzxyyxxyyxzzxyyyyyyxyxyxyyzzzzzyyzxxxxyxxzyzxzyzyyyyyyxxzzyyyyxyzyyyyxxyyyzyyyzyyxxyyxyyxyyyyyzyyyxxyyxxxyzzyyzyzzyxxyzyxxzyyzyyxyxxxxyyxyxx{yzzyyyxyxyxyxyyyzyzzyyyywxxxyyyyzzyzyyxyyxyxyyyyyz{yyxyyyyyxyzyxyzyzyxyyxxyyyxyzyyzyzyyyyxyyxzyzxzyzyyzzyyyxzyyzyzz{yyyyyyyyzzzyzz{yyyyzyyzzyyzzzzyzyxyyzxyyyzzyyzzyyyyyyyyyzyyyzzzzzyzyyyyy{yyzy{yzxyzyyzyxyzyzyzzzyyzyyyyyz{zzzzzzyyxzyzyzyzyzzzzzzzyyyzyzyxzyzzzzzyzyzzzyz{zzyy{zzyzyyzzyzzy{zzzz{xyzzzyzyzzzzzz{zyyzyyzzzzz{{yzzyyzyyyyyyzzzzz{{zzzyyyzyzzyyz{zyyyyyzyxyyy{yy{zyyyxzyyxyxzzyyzxyyyyyyxyxzyzzyyyzyxxxyxxxyyyzyzyyzxxyyxyxyzyyyyzzyyyxxxyxyyzyzxzyyyyxyyxxyyyzyy{yyyxxyyyyxyzyxyzyxyxxyzxxyzyyyyzzxxxyxyyxxzzyzzzxyxzywyxyzyyyyxyyyyyxxxyyzyyyy{yzyxyywyxyyyyxyzyzxyxxzwxyyyyyyzyzzxyyyxyxyyyzzzyyyzzxyyyyzzzyzzzzyyyxyyyyzyxzyyyyzyzyzxyyzzyzyy{yyyyzyyzyyyz{zzzzzxxyyxyxyyyyzyzzyyyyxzyyyyzyy{zzzyyyyxyxyyyzyzzzyyzzyzxyzzyz{zz|zzyyyyyyzzyzzzzzyzyyyyyyzzzz{z{zzyyzzzyzzz{zz{zzzyyyzzzyyzyzy{z{yyzyzxzyyz|zyyz{zyzzzyzzzzyyz{z{zxyzyyyyzzzzzzz{zyyyyzyzzzz{yz{zyzyyxyyyy{zzyzzyzyyxyyyyyyyyzzxyxyyyxxyyy{zyzzyzyyyyxxxzyyzzyzzzzyyxxyyyyyyyyzzyyyxzxyyyxyxyxyyzyzyxxyyyzyxyyyyzxyyxyzyxyzyyzzyyzyxxwxwxyyyyyyyyzxxxyzxyyyzxyzyzxyyxxxxxxxyzyzyyyyyyyyxxyyzyzzyyyxyyxxxyyyyyzyyyyxzyxyxxxyyyzzzzzyyxyxyyxzxyx{yzyxyzzyzyyyxzyy{zxyyyyyyxyzz{zzyzyzyyxxzzzyyyyyzyyzzyyyyxyzzzy{zyzyyxzxyyyyyzzzyzzyxyyxyyzyzzyy{zyzyyyyyzzzzzyyzyyyyyzzxyyzzyy{zzyyxxzyyyzzz{y{zzzzyyyyxyyzzyzzzyyzzzyyyyyzzz{yzzyzyyzzzyyz{zzzzzzzzyyyyzy{{z{y{zzyzzyy{yyzz{zzzzyyyzzzyzyzzzzzzzzyzyzyzyzzyzzzz{zyzxyyyxyz{yzzzzyzzyyyyyyzyzy{zyyyyyxzxzyz{xyzyzyyzyxyyzxyzyzzzyyxyyzxyyyzyzyzzzzyxyyyyxyzyyyzzyyxxzxyxyzzzzxyzzzyyxyyyyyzy{zyyzzxxxyyyxyyzyyyzyzxyxxyxxzyyyyzyzyyxyyxyzyzyzyzz{yyyyyyxyyyyzzzzyyxyxxyy{yyzzy{zyxzyyxyxyyzyxyz{yyyyyyxyyyyxyyyzyyzxyyyyyyzyzyyzyxxyyyzxyyyyyzzz{zyxyyyyyyzzyy{zzyyyxyyyyzzzyzzz{yzyyyzyyyzyyyyyyzzyyyyyzyzxy{zzyzxzyzxyyy{yzyzzyyyyzzzzzyzzzy{zzyzyzyzyzzzz{zzzzyzzzzzyzzzz{zzz{zyyyyzyyzzzz{zzzzyzzz{yzz{zz{{{{yzzzzzzyz|z{z{zzzzzzyzyzz{{z{zzzzz{xyzzzz{zzz{{zzzzzzyyyzyzzz{zzzzyzzyyzz{z{z{z{zzyzyyzxzzzz{z{zyzyzxzyyxyzzz{zzyyzyxxyyzzzzzyzyyyyyyzyxyyzyyzzyyyyxyxyyzyyzzyz{yyxyyyyyzzyzyz{zzxzyxxxyyzzzyyyzyyyyxzyyyzyyyyzzyyyxyxxxyyyyzzyzzxyzxyyyyyyyyzzyzxxyyyxyzzyzyx{zxyxyxxyyyyzyzzzyyyyyyxyyyz{yzzzzzzyyxyyxyzyyyy{z{zzyyxyzzyyyyzyzxzyyxyyyzyzyyzzzyyyzyzzxyzyzyzz{zzyzzxyyz{zyyyyzyzzyyyyzzzzzz{zzyzzyyyyyzyzyzzzzyzzzzxyzzzy{{yyzyzzxzyyyzzzzz{{zyyyzzzyyzzzyzzzzyyyzzzyyzz{{zy{{yzy{xy{z{zz{zz{{zyz{yzyzz{z{zyz{{yzzzzzyz{z{yz{zzzzzyz{zz{{zzzzzzyzyyyzzzz|{{z{{{zzzyyyzzz{z{{zzzyyyyyz{zzzyzzz{{yzyzyyyz|z{zyzzzzyzzyyyyzz{zz{z{zzyzyzyz{{yzz{zzyzxyxzxyzzyzyyzyyxxyxyxyyzyyyyzyyyyxxyyyyzyzzzzzxyxxyyxzxyzyyzyyxxxyyx{yzzzyzyzyyyzxyxxyzyyzzyzyxyxxxxxwyyxyyzzyyxxyyyyxzzzyyzyyyzxxyyyyyyyzzzyyxxyyxyxyyxzzzxyywxyxyxyzzzyyzzyyyyyxxyyyyzzzyzzyxyxyxxwyyxxyyyyzxyxyxxyxzxxyzyyyxyyyxywyyyyzzyzyyyxzxyyzyzzyzzzzxyyyxyzyyzxyyzzyyyxxyyxyyzyzzzzyyyyywyxy{yyzyyyyxyxyyxyxzzzyz{{zyyyzxyyzzzzzzyzzyyyxzyyzzy{zzy{zzyyyzyyzzzzzz{{zxyzyxxyzzyzzzzyyyyyyyzzzzzz{zz{yzzyyyzzy{zzzzzz{yzyyzyyz{y{z{z|zzyzyyyy{y{{zzzzyyzyzyyzz{zzzzz{yyyzzyzz{zzz{zzzzyzyyzzyz{zzzzz{zyyzyyyzyyyzyyzyxyzxzyyzyzzyyzxyyyyyyxyyxzzzzyzyxyyyyxxyyyzyzzzzyzyyyxyyzyxyzzzyyyyyyyyzzyzyyyzzyyxyxxxxyyyyzyzyzxxyxyyyyzyyyyzyyyyxxyyzyyzyyzzyxyyxyyyxxyyyyzzyxxyxxxywyzyzyzzxyyywyyzxyzyz{yyzyyyyxyyxyzzyyxzzyyyxyxxxyyzzyyzyyxyxxxxxxzyyzyyyyxyxyzyxzyzzyzyzzyxyxyyyyzzyzzyzyxzzyyzyxy{zzyyyyzyxyyyyzzzyyzzyzzzyyzzyyyzyyy{zzyxzyyyyyzzyyzzzyyxyxyyyzzzyz{zyyxzyzzzzzy{yzz{zyzzzyyyzyzyzz{{yzyz{zxzx{zzz{zzzzyzyzzzxzz{zzy{{{y{zyyzzz{z{zzzz{yzzyz{yzz{zz{{zyyyyyzzz{yyzzz{zzzzzzyzzzzzzzyz{zyz{zzzzzzz{{zz{yyyxyyyzz|z{zz{yzzzzyyxyyzyzzzyzyyzzyyxxzy{zzyzyxyyxyxxyyyzzyyzzzyyyyyxxyyyyyyzzyxyyxyyyyyzyzzzyyzyyxyyyyyzzyyxzzxzxxxyxyyyzzzzzyyyxyyywyyyyzyyyyzyyxxyxyyyyyyyzyyyxxyyyxyzyxyxzxxyyywyxyzyzyyzzyxxxyyyxxyzyzzzxzyyxxxxyxyyyyzzzyyxyyxyxyzzzyyyzyyyywzyxyyyy{yyyyyyyxyzyyyzzzz{zyyyyyyyzyzyzzzyzyzxyyyxyzzyzyyyzyyyzyyyyzzzyz{{zyyyzzyyxzzzzz{zzyyyzyyxzyyzzxzzzzyyzyyyyzzzzzzzyzyyzzzyzzzzzzzzzyzzzzxzyzz{zzzz{zzzzzzzyy{{zzyzzyyyyyyzyy{zzz{zzyyyyzzzzzyzzzz{z{yzzzyzzz{zzzy{y{yzyyy{zzyz{{y{yzyyzyyyzzzyyyz{yzxzyyy{{zyz{zzzzzyzyyzyyyyzzzz{yzyyyyxyyyyyzyz{zyyyxyyyyyyzyzyzyyyxxxxxyyzyyzzzzyyxzyyyyzyyyyzzyyzxyyxyyzzzyzzyyyyyxwxxxyyxzzyzzyxyxxyyxyyyyyzzzxyyxyxyyyzyyyzzzyyyxxxxyyyyxxzzyyyyxyxxx{xyxyyyyxxxwyyyxyyyzzzzyyxxyxyxxxzyyyyyyyxyyyyyxyzzxzyzzyyzyxwyxyzyyyyyzwyxyzxzyyzyyyz{zywyzyyyxyyyzyyzyxyyxyyyzyyzyyzzzzwyxyyxyzzzzzzyzyyyyyxyxzzxyzyzzyyzzxxyxzz{yy{yyyyyyyyyxyyzzyzzzzxyyzzyzzzyyzzyzyyyx{zyzzyzzz{zzzyyyyyyyzyzyzzzyzyyzyyyyz{yz{zzzyyzz{yyzyz{{zy{{yyyyyyyzzzzzz{z|{zyyy{yyzzzz{{zzzzzyyxy{zyzzz{{zzzyzzzyzyzzzzzzz{zyzyzxzzzzzy{zzyzzxyyyyzyzz{{z{zyyzyxxyy{zzzyyyyzzxxxyyzyzzyyzyxyyyxyxyyy{yxzzyyyyxxyyyzzyzy{yyyyyxyyywxyyzyzzyzyyxyyxxyyyzyzyzzyzyxxzxzzyzyyzxzyxxyyyyyxxxxyzyyyyyxyxxzxzyzzzyyxzxyyyyyyyzyyyzxzyyxyxxx{yyyzzxyzxxxxxyyyyy{yyyzzyxxyyyyyxzyzyyxyyxyyyyxyyxyzzyyyyxyyyxyyzyxyzyyyyzyywyzzzz{zyyyyyxyxxzxzyzzz{zzyywxxyyzzyzxzyzyyyxyxyyyzzzzzz{zzyyyxyzyzxyyzzyyyxyyyyyyz{zzz{yyxyzyyyyzz{zyzzyzzxzzxzyyzzyz{zzzzyyyyyzyzyzzzzzzyyxzyxyz{zzyyzyyyyyzyzz{{z{{{{zyzyzzyzxzzzzzz{zzyyzzyyyz{zzyz{z{y{zzyyyyy{z{z{zzy{zz{yyzzzyzy{{zzyyyyyyzyzzz{zzzzzyyzzxyzzyzzzzyyxyzzyx{yzzy{{{yxzyyyzyyyzyyzzzyxyyxxyxyyyzyyyzyxyyxyxxyyyyzyzyxyzxxxyyzyyzyxyyxxyyxyxxyxzyyyzyxyyyyyyxyyzyzyyzzyyxxyyxzzzyyyzyyxxyyyxyyyyzyyzyyyxxyyyxyzxyxzyzxyyxyyxxxyyyyyzzzxxyxyxxyzyzzyzyxxyyxxyyyxyyyyzyzyyxxyxyxyyxxyzyzyyxyxyyxzyyyzyyyxyyxxyyzzyyzyy{yyyxzyyxyzyyyzyzyzzyxyyzzzyyzzyzyyyyyxxxzzzzzzzyyzxyzxyyy{zzy{zzyxzxzyyyzyzzyz{yzyxzzxyyyzzzzzzzyxzyyyzzzyz{yzz{yzyyyyyzzzyzz{{zzzyyyzxyzzzz{z{yzyyzyyyxzz{yzz{zyzyyyyyzzyyz{{zzzxyzyzzyzzz{z{z{zyzzyyzzzzzzz{zzzyyyyyyyyzzy{zz|zxzyxyxzzyzyz{z{zyzyyyzyzzzyz{zzzzzzyyxyy{yyzzz{yxyyxyzxzy{zyzyzyxyxxyxxzzyxyzzyzxyxyxxyyzyyyzz{xxxxzyxxzyxy{yzzzyyzxxyyzz{zyyyyyyyyxxyyyzzyyzyyyyyyyyxyxzxzyz{yzyyxxyxxzzzzyzyzzyyxyxwxzyzzyzyyyxxyxyyyyyyxzyzyyxyyxxxyy{yxyyyyzyyyxyyyyyyyzyzyzxyyxyyyyzyyzzyzyyyxyyxyyzyyyzzyxyyyxyyxzyzzzy{zyxyyxyzyzzyzzyyyyyzyyyzyyyzzzz{zyyyyxzyxyyzzzyyzyyyzxxyxyzzzz{zzzyzyzxzyy{zzyz{yzyxzyzyy{yzz{z{yyyyzxzzyzyz{zz{zyyyyyyzyzzyzzzzzyzyzyyxxzyzzzy{zzzzyzzzyzzyzz{{{zyzyy{zyy{{z{{zzzzzyyyzzz{{z{zz{zyyyyyzzzzzzy{zzyxyzzyyyyyyz{y{{zzyyzzzyy{zzzzzzzyyyyyzyzyzzzz{{zyxyyyxyyzzzyzzzxyzyyxyyyzyyyzzyyyyyxyxyyzyzzzyyxyyxyxxyyzyyyzzzzyyxxzyxyxyyzy{zzzyyyyyyyzzyyy{zyyyxyxxxyyzzyyyzyxyyyyyxz{yxyyzzzyyxxxwyyzzzyyyyyyyyyyxyyyyzxyzzyyxyxzyyyyzzzyzyxyyyyyxxyyy{yyyyyyyyxyyyzyyzxzz{yxxxyyyyyzzzyyyyyyyxyyyxyzzyyyzyyyyxyyxxyzyzyzyzzxxyyyzyyzzzyzzzyyyxxxyyyz{zzzzzyzyyyyzyzzzyzyzzzyyxyxyyyyy{zzyzzyzyxyyyz{zyyxzyyyyyzyyzyzyy{{zyyyyzyzxyy{zzzz{zyyyyzyzyzzyzzz{|{yzzzyxzzzy{yz{{zzyzzyyyzzzz{|{zzzzyyzzyzzzy{{{z{zzyzzyzzzzzzz{zzz{zzyzy{zyzzz{zzyyyzzyyzz{zzzz{zy{yzzyy{zzz{{z{yyyyyyzyyz{yzy{{zzzyyzzy{zz{zzz{xxyyy{yxzzyyzxzzyzyyyxyyzzyzyyzzyyyyzxyxyzyzzzzyyyyxxxyxzyzyzyzzyxyyzyxxyyzzyyyzyyyxxyyxyyzzyyyzxxywxxyxxzzzyyyxzxyyyyxyyyxyyyzzyyyyxyyyzyyyyzyzxxyyyxyxyzyxyyzzzxyxxywxyyyyzyyyyyyxyyxxyyyzzyyzyzyyyxxxxyyzzyyyxzyxyyxyxxzyzzzyzyyyxzyzyyzzyz{zyyyyyxyyzzzzyzxzzyyyyyzxzyzzy{zyyyyyyxyyyyyzzzz{yyyyyyyyxz{zzzzyzxyxxyyxyzzyyyzzzyxyyzyyyzyyyzyzyzyyzyyyzyy{zz{{zzyyyyzzzzz{zzz{zxyyyyzzyzzy{zyzzyyyyyzyzzzzz{zzzyzyzzzzy|z{zz|{zyyyyzyy{{{{zz{{zyyyzyyzzzyz{z|yzyzzzyyzy{zyzz{zzzyzyzzyy{zzzzzzyyyxzyyzzyzyz{zyzyyyyyyyyzyzyzyzyyyyxyyyzzzyzzzyyyyyxyxxxyzxyyyzxyyyyxyyxzxzzxzzxzxyxxxxxxzzzyzyyxxyyxwxzzzyyzzyyyxyyxyyxyxzxzyyyyzyxyyxyzyyyzyyzyyyyyxyyyyyyyzyyyyyyyxxyyyyyyyyxyxxywyxyyzyyyzyyyyxxywyyyyyyyzzyyyyxxyxxzzyyy{xyyyxyyyyyzyxyxx{zyyxxxyxxyxzx{zzyxyyyyyyxyyyyyzzyyyyyyyxyyyxyyzyyxxyyyxyyxyxyyzzxyyxyyyyzzyzyy{zyyyyyxyyyzzyzyzzzzyxyyxyyyyyyyzyzyxyzyyyyzzyz{zyzyzzyzyxzyzzzyzzyyyyyzzzzzzzzzzzzyzyyyyy{zyzzz{zzyyzzyyxzzzzzz{zyyzzyyzyyy{zz{zzzyzzy{zyy{zzzz{{zzzzyyzzzz{zzzzzzyxyzxzzzzzzzz{zyyyyyzyzzxzz{{{zyzyyyzzyyyz{z{zzzyyyyyxyyzzzxzzzyzyyzyzyzz{zzyzzyxyxxxxxyyyyyyyzyyyyyyyyzy{yyzz{yyxyxyyxyyyzz{zyyxzxzyxyyyzzzyyzyxxxxyyxzyyxyyzzzxzxxyyxyyxyxyzzzyyyxyxxzyzyyzzyyyyyxyyyyyzxxyyyyxxxyxxxyyyyyyzyyxyyxyxyxyyzzzyyyxxxyyzxyyzyyxzzyyzyxyxwxyyyyyzyyyyyyyxxyyyyyzzyxyzyyyxxzxzyzyyzzyyyyxxyyzzyxyyzyzyyyyzy{yyyyyzzzyxyyxyxzzyyzzz{yzyyyyyyyzyzz{zyyyzyyxyzyzzzzz{yzxyyzzxxyyzzzzzyyyyyzyyyzz{{z{zyyyzyyyzyzzzzz{{zyyyyyyyyyzzz{z|zzyzyzyyyz{{zz{z{zyzzy{zzyzzzzz{zzyyyyzyyz{{{zyzyzzyzzyyyzyyzz{{yzyyzzzyyzzzzzzz{zyzxzyzyzzyz{{{{yz{xzyzyyzyyyz{{yyzyyyyzy{y{zyyyyyyxyxyxz{yzzzyxyyyyyyyxyyzyzzzyyxxyxyxyyyzzyyzzyyywzyxyyxyyzzyyyyxxyyyyzzyzxyzzzyxxyxyxyyyzyzyyyxxyxyyxxyyyzzzzyyyyzyxyxy{zyxzxyyyxxyxyzyyzyzzzyxxxzxzyxyzzyyzyzxyxyzyyyzyyzyyyyy{yxwyxyyyzyzzzyxyyyyzxyyzyyzyyyxyxyyxyxyxyyzzzyxyyxyyxyzzyzy{yzyzyyxyxy{xyyyyyzyzyyyyyyzzzz{zzzzyzxxzxxyzzyzzzyxyzyxzyzzzxyz{yzyyyxyyy{yxzzzzzzyyyyyyyyzzyyzzyyzyyyyyzyyy{{zyzzzzyxyzyyzyzz{{yzzyzyyxyzzxyzzzyzyzzzyyzy{yzz{{{zzzzzzzyzzz{{z{{{zyzyzyyzzz|{zz{zyzyzyyzzzyz{z{{{xyyzyzzzyzzzz{{zzyzzyzy{{z{{z{{zyzxyxxzzzzzzzzzzzxyzzzx{zyzzyyzyyyyyxzyyzyyyyzzyyxyyxyxyyyyyyzzxxxxxxxzzzzyyyzzyyyyxwxyzyzzzzyyyyzyyyyxyyyyyzyzxyyxyxxxyzzyzxzyyxyxyxyyyyxyyyyyyyxxxxyyxzzyzzyyyzyyyyyxxyyyyzyyyyyyyyyywzzzyzyyyyyxyyxyyzzyyyyzyxyyxyxxyyzyzyzzyyyyyxyyyzyyyyyyyyzzyyzyxyzyyzzyxyzzyzyyyzyzzzyzyyyyzyyyzyzyzyy{yyzxyxxxyzzyzyzzyyzxyyyyyzyyyzzyyzxyyxyxyzzzzzzyzyyyyyxyzzzzzzyzyyz{yyzxzzzyyzzyxzzyzxzzzyz{{{zzyyyzyyzzzyz{zzzzyzyzzxxyyzzzzy{{zzyyzx{y{zyzzzz{zzzzxyyzzzyzzzzzzzzzzzzzyz{{{z{{{yzzyzyy{{zy{z{zyyxzzyyyyz{yzzz{z{zyzzyyz{{yzzz{zzyxyyzxz{zzzzzzzyyyzzyxz{zzzzzzyzyyyzxyzzzzzzxyyzyyxwwxyyyyxyyzyyxyzxxxxyzyyxyzyyxxwxyxyyzyyyzyyyxxxxyyyyzyyyyyxyywxyxwyxyyyzyzxyyyyxwyxyxyyyyyxyyxxyxyzyyyyzxzyyxxyxxyzyyyyzyzxxxxywyyxzyzxzyyxxxyyywxxyyxyyyyyxxxwyyxyyyyxyzyyxxyxxxxwzyxzzxyyxxyyyyyxzyxyyyyyxyxxxyxyyyy{y{yyx{yyzyxyzyzxyyzyyxyyxyxyyyzyyzyxxyxxxxxzyzzzzzyyyzyyyyyxzyyyyyyzxyyyyyyy{zzyzyzzyyyxyxyzzyyxzzyyyzyyzyyyzyzzyzyyxzxzxzyyxyzzzz{zyzyyyyxyzzyzz{zzzyxyyxyzzzyyz{yzyyzyyzzyyz{zy{zzyzzzzyyy{z{z{z{zyyyxzzzzz{zyzzzzzyzyyyzzzz{zyzy{yyyzzyzzzy{y{zzyyyzyyyzxyzyyz{{yyxyyyyyyzzzzy{zyyyyzxyyzyzyyyyyyyxxxxxwzyyyyyyyyyyyxxyxzyyyyzzzzxxxxxyyzyyxyyzzywxyyxyyyyyyyxyyyxywxyyxxyzyyzyyyyyxxxxxyyzyyzyxywyyxxxyyyyyzzzzyzyyyyxxzwyyxyyzyyxxxxxxyyyyyxyyxyyyyyxyxyzzyxzxzxyyyyxxyyyyzyyzyyyxzxyyzzzzyyzyyxywyxxwyyzyyyzyxyyxyxyxyyzzzz{yyyyzyxyyyyyyyxzzyxyyyyzyzyzzyzzzyyyyyyxyzyyyzzzyyxyyyyyyyzyyzzyyyxzyyyyxyyzzzyzzzxxyyyzzy{zyzzy{zzyyxyxyyyzzzzzzyyyyzyzyyyzzzz{{yzyzyxyyz{yzyzzyzyyxyzzz{{{z{zz{zyyyyz{zyz{zyzzzzxyyyyyyz{yzyz{{yyyyyxyyzzzzy{zzzzyz{yzyzzzzzz{z{zyyzyyzyyzzzy{zzyyyyyyyy{zzyzzzyyyyxzyxyzzzzzzzyyyxyyyzyxzyxyzyxyxyyxxxxyyyyyzyxyxxxxyxyzyyyzyyyyyxxyxyxyyyyyzyyyxxyyyyyyyzyy{yxyyxxxyxzyyyyyyzyzyxyxyxxzyxyyyyyxyyyxxyxyyyyzyzyyyyxxyyxyyyxzzyxxyyxxyyyyyyyyzxxyxyxxxxzyyyzxyyyyyxxxwyyzyxyyzyyyyyyywxxxxyyyzyzxyxyyyyyxxxyzzyyxxyyxyyyyyyyzzyyyxxyzxzyzyyxzzzyyyyxxyxxzyyyyyzxyxxyyxyyzyyyyzyyyyzyxzxzyzyyzz{xyxyyyxyyzyyyzzyzyyyyyyzyzyyyzzzwyyxyyyyyzyzzzz{zyyyyyyyzzyzyzzzzyxyzyyzyzzy{z{zzxxyzyyyyyzyzzzzyzyyyyzzzzyz{zzzzyyyzzyxyzzz{zzzyzzzzzyxzzz{{z{{zyyyxzzyyyyzz{{zyzyyzyzyyzyyyz{{zzxxyyyxyzzz{yyzzzyzyyyyyyzzzyzzyyyxyyyyyzzzyyyyxxyyxxyxxyxyxyyzyyyxxxxxyyyyyzyzxxxyyyxyxyyzyyyzyyxyyywxyyyzyyyyyxxxyyxyyzyyyxzzxyyyyyxxyzyyyzyyyyyyyyxzxzyxzzzyxyxywxxyxyyyzzzyzxxwyxyxzyyyyyyyyxxxyyxxyyzxyyyyxyyyzyyyyyyyzyyyyxxyyyxwwyyyyyyzyyzxyyxxyzzyyzzyyyxyyxxyyyyyyxzzyyxyxxxyyzyxyzzyzyzyyyyyzyyyzzzzxyyyyxyzzzyyzyzyzyyyyxzxzyyzzzzzzyyyyxxxzyzzzyzyyyxyyyyxyzyzzzzyyyyxyzyyzyzzzz{yzzzyyyzyyzzzzzz{yzyzyyyy{zzzzzyyzxyyyyzyzzzzzzzzyyzzyzzyzzzzzyzzzyyzyyyzzz{zyz{yzzzyzyyzyyzyzzz{zyyzyzzyyzzzzzzzzzyzzyxzzzzzzzzzzzyyzyzyy{yzyzzzyyyzyyyzy{yzzzyzzyyxzzyyzzyyyyyzzyyyyxyyxyzyyyzzyyyyyxyyzzyzzzyzyzyxxyyyzyyyyzzyxyyxywyyyzzyxzzyyyxxyyyxyyyyyzyzyyyxyyxxy{yyyzzzxyyyyyyxyzyxyyxyzxyyyyyyyyyyzzzyyxyxyyxxzyzyyzyyzxxyyyxyyyzzzyyzzyyyyyyxyzyzyyyyyxyxyxxxzyyyyzyyyxyyyyyzzyzxyzyzzyzyyyxxyzyzyzzyzyyxyxyyyy{zzzzyzzyyyzyyzyzzzzzzxzyyyyyyzzzzyyz{zzyyzyyxyyzzy{zzyzyyxzzyzyzzzzzyzyyyzyyzzzzzzyzzyzzz{zyzyzzyzzzzxyzzzyyzy{zz|z|{{yyzyyzzz{zz{yzz{yzzzyyyz{{zzz{zzyzzzyzzzzyyzz{zz{zzzzzzzzz{y|yzyzyyzyyzz{zz{{{yyyxzzzzzzyzzz{{{zzzyyyyxzzzzz{{|yzyzzyzyyzzzzz{zzyzyyyyyzyzzzzzzyyyxyyzyzzzzzzyzxyxyxxxzxyzyxyyzyyxxxxxxyzyyyzyzyxywxyyxyyyzzzzzyxzyyyyxyzyzyyy{zyxxxxyyxyyyyzzzyxyzywxyyyyyyyzyyxyzxyxyyyzxyyzzzxyyxyyyyyyyyyyzxyxxyyxyyyzyyzzzyxyzyxxyyyzyzzzzywyyxyyxyyyxyy{yyyyyxxyyyzyyzyyxyzyxyyyyxyzzyzyyxyxxzyyyzzzyyz{zyyyyyxzyyyyyxzzzyyzyyyzyyyyzzzzzyyxyzxyxzyyzzyzzzyyyywyyyzzyyzzyyywxyyyyyyyyzyzyyyyyzxzyzzzzzzzzyyyyyyyyyzzzyzy{xzzxzyyzyyzzy{z{zyyyzzyy{yz{{zzzzzxzyzzyy{yyzzz{yyzyyyyyzz{z{{{{{yyxxzyzy{{zzzzzzyyzzyyyzzzzzzzzzyyyzxyzzzzz{z{{zzyz{yyyzzzz{{z{yyyyyzxyy{z{zy{zzyyyyyyzzzzzxzzyyzzxyyyyzzzy{yyyxxxyyyzxzyyyyyyyxywyxwyxzyzyy{yzyxxxxyxxxxyzyzzyyxxyyzxxyyyxxyzyzyyxwyyxzzzyyzzzyxyxyyyyyxxxyyyyyyzxzzxyzzzxyy{zxyyxwyyxyzyzyzyyyyyxxxxyzyyyxzyyyyyxxyxxyyyzzzz{xyywxxyyyzzzyzzzyyyxyxxyxyyyxzyyyyyyzyyyyzyyyzzzyyxxxyywyyyz{yzzyyxxyyyyyzzzyzyzyyzyyyyyyyzzx{z{yyyyyyzyzzzyyzzyyxzyyxyxyzzyz{yzyyzzyyxxyzyyzyyzyxyyyzyxy{zyzzzzyyzyyyzzzzzzyzzzy{xyzzzyzzzyzz{{zyyyzzyzzz{zyzzzzyyxyyyyzz{zzzz{{yyyyzzzzyy{zzzz{yyyzyyyxz{z{{z{yzzzyyyzzzz{zzzzzyyzzzzzzzzyzyz{zyzyyzyyyz{zzz{zyyyyxyzyyzzzz{{zyzyzyxzyyyyyyyzyzzyxxxzyz{yzzyyyyxwwxxyxyxyxzzyzyyyyxyxyxzzzzzzzyxxxxyxxzyxyxz{zyyywyxyyzyzyxyyzzyyyxxxyzyzyxyxzyyyxyyxxzyzyzzyyyyyxyyyzyyzyyzzyxxxxxyxzxxyxyzzzyxyxyyyxyyyyyzyxzxyyxxxxxyyzyzyzxyyxxxyyxyyzyyzzxyyyxxxwxyzxyyyyxyyxyxxxxzyyyzyzyyyyyxyyzyzyyzzzyxyxyxxyyzyyyzyzzyyyxxyyyyzzzyzzyxyyzyyyzz{zyzzyyyyyyyyyyzzzyzzzyyyzxxyyyzzyzy{yzxyyzyyyzzyzyyyyyyyyyyyyyzyy{{yyyyzyyyzyzyzzzyzzyxyzyzyxzy{{zzzyzyyzyzzzy{zzz{{{zzyyyzzzyyyzzzzzzxyzy{zzyzzzyz{{zyzzzzyy{zzzzzz{zyyyyzzzyzzyyzz{yzyzyyyyzzzzzyz{yzzyyzyyyzzzyzzyzzyyyyxzyyzzyyzzzyyyxyyyzzzzyzzyyzyxxxxyzyyyyzzzyzyxyyxyzyyyxyyyzzyxxzyyzyyyy{yyzxyzxyyyyyyyxz{zyyxxwyyxzxyyyzyyyxxxyxxyyyzxxyzyzxyxxyyxzzzyxyzzyxyxxwxxyzyzzyyzyyyxyxyyyyxzyyyyxyyyxyxxyyzyyyyzyyyyxyxyyyzzzzzxyyyyyyyxyyxyyzyyzyyyxxyxyyyy{yyzyyyxyyyxyyzzzzzzyyyyzxyyzzzyyzzzyyyyzyxyzyyyx{{zyyxzxxyxzzzyyzyzyxzyyxxyxzy{yyyz{xyyyxyxyzz{zzzyzyyyyyyyzz{zyzzyyzxyyyyyyyzyzzzzyyzxzyyxzzyzyzzyzyyzyyyzzyzy{y{yzyyyxyyyz{{zzz{zzyyzxzzzzzzzzzz{zyyzyzzyzyyz{zyzzyzyzzy{zzy{z{zzzyyyzyyyzzzzzyy{yzyyyyyz{yyzzzzzzzyxzyzyzzzzz{{zz{zyyyyxzyzz{zyyyyyyyxzyzzzyzyyzxyyyyxxwyy{yyyyyzyyxyxyyyzzyzyyyyyyxxxxxyzyyyz{zyxxyyxxxyxyyyyyyyyxzyyxxyyyzyyxzyyyxxyyyxyyyyyzyyxyxyxxxzzyxyyyxyyxyxyxzyxyyyzzyyyxxxxxyyyyyyxyyyxxyxyyxyyzyyyzzzxyyxxyxxyyyzxzzxxxyxxyxyzyyyzyxxyyxxyyxyzyyxzyzzxxyxyxyyyzzyyzyyyxxyyyyzyyyyzyyyyxyyxyyzyyyyyyzyyyxxyzyyyyyyyzyyyyxzwyyyyyzzzyzzyyzxyyzyzyyzzzyxxyyyxyyyzzzy{yzyyyyyzyyzzz{zzzzyyzyyzyzyyyzy{zzzyzyyxyyy{zzzzzz{yyyyyyzzyzyz{z{zyxyxyzyyyzz{{zzzyxzzzyzy{{zzz{zyzyyyzyzzzzzzzzzzyxyxyyzyzyzzz{z{{yyzyzz{zzzzyzzzyyyyzzzzzzzyzzzzzyyzyzyyzzzzyzyyxyxxxxyzzyyyxyyyywxyxxyzyyyzyyzyyyxyxxyyzyyyzyyyyxwxxxxzyyyyyyyzwzxzxwxyyyzyyxyyyzxyxxxyzyzyyy{zyyxyxyxxyyzy{yzyyyyyyywxyyyxyzyyxyxxxyxyxyyyyyyyywyyxxxxyyyzyyyyyxywyxyxyzyyxyzyxyxxyxwxzxyyzzzyxxyzyyxyyyyyyzzxxxyyxyxzzxyyxyzyxyyyyyxyyyyyzzxyyxxyxxyzzyxxzy{zyzyywzzyzzyzz{zyyyyxxxzyyyzyzyyzyyyzyyyxzy{yzyyzxyzxyyx{zzzxyyyyyxyyxzyyzyyyzzzzyyxyyzzzyz{zzzzzyzxzyyyzzyzzzz{yyzyyyzxzyzyzzyzzyyyzyxzzzyyyz{{zyyyzyzyzzyz{{{{zyyzyyyzyyz{z{zzz{y{yzzyzzzzzzyzzyyz{yyzz{zz{zzzyxyzyyyyzzyzyzzzyyyxyyzyzyzyzyzzxzyyyyyxzzz{zyzzyxyxyyyxzzzyyzyxyyxxyyyzxyzxyyyyyyyxxxxyyyyxyyzzyyxyyyxyyyzyyyzyyyyxyxxyyzzyyyzyyyxyyxxxyyyxyyyyyxyyxyxxyyzyzyzyyxyxyxwyyyyyzyyyyxyxyyxyxxyzyxyzxyyxxxxxyyyxyzzyxxxxyyyxxyyyzzxyxxyxxwyyyyy{zyyxyxxxxxwxyyyyxxyyyyyxxxyyxxyyyyyyyyxyxyxwyxyzyy{zyxxyyxzxzyzyyzz{yyyyyyyyzyyzyyyzxyyyyyxyyyzzyzyzyyxyyyzxzzzyzzyyzxyyzxyyyy{zzz{zyyyzyxyxyyzyyzzyzzyxzxyyzzz{yzz{yyyzyyzy{zzzxzz{yyxzyzxyzyzzzzzzyyyyyyx{z{zzy{z{yyzzzyzyyzyz{zzzzzxzyyyyy{{zxzzzzyyzyzyyzyzzyzzyzyyzyyyy{yz{zzz{zzzzyzxyzzyzzzyzzzyyyxyxyzyzz{{zzzyyyyzxzyzzyyzyxyyxyyyxzyyzyzyzyxwxywywzyyxxyzyyxyxxyyxzyxzzzyzyyxywxxwzyzzyy{yyyyyyxywxzyyxyyyyxxxwyyxyy{yyyzyxxyxyyyxxzyxyyzzyzwyyxxxxxyyxyzxyxyxyxyxxxxxyyyyyxxxxxwxyyxyyyzyxxyyyxxyyyyyxyxzzxyyxyyxxyyyyyzyyxxxyxxxyyyxxyzzyyxxxxyyxyyyyyzzyyyxyxyxyyyyyyzyzyyxxyzyyxyzzzyyzxxzyxxxzyzyzyyyxyyxyxzxyyyxyzzyyyzyyxzxyyzyzzzzxyywyyyyzzyyx{{zyxyyyxyzzzyyzyyzzyxzyzyyyyyzzyzzxxyxzxzyyyzzyy|zyyxyyxxyzx{zzz{zzyxyzyyxzzzz{{{yzyyyyyyyyzzyz{{zzyyxzyyzzzz{zyz{zyyzyyzxzzzzz{{yzzyyxyzzyy{zzzzzyzyyzyyzzzzzzyzzyzyyyyyzyyzyy{{zyzyyyyyxzzz{y{zyzyzyyzyyzyyzzzzyyxxxxyxxyyyxyxyyyxzyxxxxyzzyzzyyyyyxyxxxyxxxyy{yzxyyxyxyzyyzxyyyyyyyyxxxyyyzyyzzxyyxxyxxyyyyyyyxxxzyxxwyyyzyxyyxyxyxxxxxyyyzyyyzyxzxyyxyxyzzxzyxxyxyxxwyyyzyyyyyxyyxxxxyxzz{yyyyxxxxwxyyxyyyzyy{yyyyxxwxzyyyxzyyyxyxyyxwyyyzyz{zyyyyyxyxyzyyyzyzyxyyxyyyyzxyyyxyyyyxxyyxyy{zzzz{zxxyyyyxyzz{zyyyxxyyyxxyyyzzyzyzyxyyyxxyzyzzyyzzyxyyyyyyzyyzzzzyyxyyyyyzzzyzyzzyzzyzyyxxzyzzyzzzzxyyyzyxyzzzzyzzyyyyyzyyy{z{yzz{zyyzy{yyzzzzzzzzzyzzzyyz{zz{zzzzyyxzzyxyzz{z{zzzzzxxzxyyzyxzz{zzyyyxxzxyyyyyyzzyzzyyyxyyzzzzzyzzzyyxyyyyxyyzyFz6!ad {|z{z{||}|||}}|||{{{{z||}{||{}}|{z{{{|z||{}|}||{|{{{|{{z||{{|}{{{{{{|{{{z{{{{||{||{z{{{{|z{{|}{{{{zz{zzz||z{|}{{|z{{z{|{|z{z||{{{{z{{{{{|{{|||zz{|{{z{{{{{{||{{|{zzz{{{|{{{||||{{z{{{|{|{{{{||||{{z{{z{z{{{{|||{{{z{{{{{{|{z{|{{{{z{{{{{{|z||||{{|z{{{{{|{{{{{|{{z{{{z||{{|{|||z|{{||{{{}{}||||{{{{|z{{|||}|{}||z{{{{{{||}{|||||{{{|{{|}|}}|||{{||{{{{|||{}|}}||||}{{{||}||}{{|{{||{{{z|}}||||}{|{{||}{|||{}||||{|{{{|{{|||}||||{}||{|z|}|}||{}}{{||}{{{{{||{}}||{||{{|||{||}||||{z{{{{||}}||||||z|{z{{{|}{||{||{|{|{zz|{{|{|}|}||{||{|{|}||||||{z||z{{||}||||}{|z{|{{z||{|{|||{{{{|{|{|{|{{||{|{|z{{{{{{||||{|z{{{z|{{{{|{|||{{|{{z|z{{|{{{|||z{z{z{z{{|{|{{||{{{{|z{z{{}{{z|{{zz{z{y|{{|{|{|{{{z{z{{z|{{{|z{|{z{{{{|{{{{|z{|{|{|{{{zz{{{z{|||{{{z{{{{{{||{|}{{{zy{zz|{|}{{|{}{z{{|z{{||}{||||{{{{{{{{{|{|||}||{|{|{z|{||{||||{||{|{|{{|}}|{|||{{{{{{{|{{|{|{|{{{{|{}|||}}||||{{{{{||{|}||||||{{{{{{{|||}|{}||}{|{{{|{|}|||}}}|z||{|||||||}}}}|{|{||}|{|}|||}{{{||||{{~}{||||||{{{}{{{|}|}||}}{|{|||{{}|}||||}|||z|{{|}|{||||||{z|z{{{{|||{||{|{{{{{{{|{{{{|||||{z{{|{{|}|||{|{|{{||{{{|}{||||{{z{{{z{|{||||||{{{{|{{{|{||}||{|{zz{|{{|{{||||{{{{{z{|z{|||||{{{{z{z{z{{{{{|||{}{{{{{{|{{||}{|{zzz{zzz{{|z{{{}|{{{z{{z{|||{|{|{|{{z{{{{{{{{|{|{{{zzzzz{{||{||{|{{z{zzzz{{{{|{{|{{{{{yz{}|{|{|}||{{{|zz{{|{{|{{||{{{|{{{{|{{{|{{{|{{{{{{|||z{|}|{|{|{{{{|||||||z|{{z{{{z{||{|{{|||{{{|{|{||{{|||}}{||z{|||}||{|||{z{{{||||||||||{{{|||{{||{{||}||{|{|||||}}|||||{{z|||||{}|||||||{{z||{{z}||~}||}|||||{{}}}}||}}|{|{|{|{||{}|||||{{||{{|||||{}|}||{{||{{|{||||{||{{{|{{{{||{||}{{z{z{||{z|{|||}||||{z{|{z{||||{}{}}{}{||}{||{}}|{{{{{{{{{{{|{{|{|zz|{{{||{|||{||z{z{|{{{{||}}||||||{{{{zz{|z{||z{{{zzzzz{{|{z||{{zz{z{{{{|{{{{{|{|z{{{{z|{|z|{|{{z{zz|z{z{|||{||{{{z{{{zz||{{{|{{z{{{{{{zz{z{{{|{z{z{yz{{|{{|}{|{{z{{{z{}||{z{}{{{z{{{|{{|{|{{||{z{{{z{z|{{{||||{z{|y{|{|||{|{}||||{{z|z{||{{{|{{{{zz{z{|||{|||{{{||{z{{|||{{{||{{{{|{{{||}||{|}||{{{{|{||||||}{{zz{{{{|{||||||||{{{{{{{{}{||||{|{|{{}||{|||}}|||{{{||{||~|||||||||{{||{{}{||||{}{{{||{|}|{|}||}{{{|{||{|||}{|}}{{|z{{{{}|{|||}|{|{z{zz||}||{{||zzzz|z{{{|z{||{{}|{{|z{{{}{|}|}}{|{zz{|z{{|{||||||z{{|{{|{{|||||{|{{{{|{{{}|||||{||{z{{{{{}||{{{{}{zz{{{{|}||||{{{{{|{{|{|}{|{||{{|{{z{z{z{|{{||{zyy{z|{|{{{{{{{{{{{zzzz{{{{||{{{{z{y{{z{{{|||||z|{{{{z{{{{{{{{{{{{z{{{z{zz{|{{{{z{{{|{z|{{{{{|{{{{|{{{|{{|{{{{}|{|{{{z{{{|z{||{{{{{z{z{|{||z||{|{{|{{|z{{|{|{{{||}{{{zz{{|}{{|{{{}{z{{{{|||{||{|{{|{{{{{{||||||z|{{|||{{{||||||{{{{{z{z{||||||||{|{||{{}||{|||}{{{{|z{z||||}}||{|||{|{||}|||}}}|||{z{{|{|{||}{}|{{{{|{|{||{||}|||{{{}|{|{{||{||{|{{||{{||}||||||{|{{{|{{||||||{{{{z|{{{{{{{||||{|}||z|z|{|{|{|||z{|{z{z{|{{{||{{||{{{||{||z|}{||{{{}{z{{{||{{}||{zz{|{{{|{|{||}zz{{z|{z{||{|{{{{{{{{z{{{{|{|||{{zz{{{{{{{{z{{|{{z{{{zz{||{{{{{{{{{{z{{z||{{z{|||y{z{zyz{|{{{||{{{zzzy{z{{z{|||{{z{z{z{{z{{{{|||z{z{z{zz||{}{{||{{zz{zz{|||z{|{|{{z{zz||{{{{{{||{{{{{{{{z|{|{{{{|z{||z{{z{|||{{{|{z{{{{{{|{{|{}}{zz|{{z{|{{|{z{|{{{{{|{{{|{|||||{{{|{{{{{|||{||}{{|{|z||}|}|||||}{|{{{z||||||}|~{{|z|{||{||||}|||{{|z{{}{|||}}~||{||{|{{|||{|||{|{{{|{{|}|{{|}|||{||{{|{{|{|{||{}{{{z||z|{{{|}|{{{{{{{z{||{|{{||{{z{zzy{z|||{|}||{{{{{{||||||{|||{|{zz{{||||{}|}|{{{z|{{||{||{}||{z{z{z{{||{z{|{|{|{z{|{{{||{{|}{{zz{{zz{{{{{{{||||zzz{{{{{{{|{|{{z{z{z{|{{{|{||{z{zz{z{{{|{{{z{z{z{z{zz{{{z{||{zz{zz{{zz{|||{||{zz{zzzzzz{{{{{{{{y{{{zz{zz{{{|{z{{y{{{z{|{{{{||{|{{{z{{{{||{{||{|{|{{{{{{{|z|||z{{{{{{|z}{{|||}{|{z|{{z|{{{|{||{{|{{{{z{{|||||{|{z|{{|{|{{||||{{{||{{{||{}}||||z{||||||||{||{|}{{{|{zz{|||||}}||{{|{{zz{|{{|||}{||{{|{{|{{{|}||||{{{{{{|}}}|}|||{{|{{|{{||{{||||z{{|{{|{||{{|||{|{{{{{z||{}||}{{{z{{|{{|}{|{|||{{{|{z|{|}||{{||{}{{zzz{|{{{{}|}|||y|{|{|}||||}{||{|z{zz|||||{|||{{{{}|{|{|{|||{{|||||{{{{|||{||}||z{z{{|{||{{||{z{zz{|{{|{{|{||{{{{{z{z{{|{{{|{|{{z{{{{||{{|{||zz{{|{{z{{|{{||{{zz|z|{z{{|z|{|{||{{z{z|z||z{{{|z{{{zzz{z{{{z|{{{{zz{{{{z{|{|||{{z{{{{z{{{|||}||{z|z{zz{{|{|{{|{z{z{zz{{|{{|{|{}z{{{z{{{|{|||{||{{{z{z{|{{|{||{{z{{z{z{{|{{|{||{{|z{{{z{{|{z{|||{{|{{{|{|||||}}|{{{|z{||{|{|z|||{{z{}{z|{||||||||{{{|||||}|||{}||{{z|{||{}}|}}|}||{{{|{|||}||||}{{{||{||{||||||}|{z|{||||{{{}}||{||{{{{||{}|||}}{|||z{{{{||{{{}|||{||{{z{|z{{|||z|{{zzz{{|z|{}|}|{|{{{||||}|||||||{{|{|{{|}|}|||}||z{||{{}}}|{|{|{{||zz{{||{|{||{{{{{{{z|||||{||{|{{{{{{{|{|{}}|{{z|{|{z{|}{{}|{||z{{{{z|{{|||{}{{z{{{{{{z{||{}{|{{{z{{z|{|z{{{z|{|z{z{{{|}||{}|{|{{{z{{{{{{{{||{|{{z{zz{{{{{|||zz{{{|{z|zz{z|}{{{{z|{z{{||{{{||{{{{{{{|{{||||||z|{{{{{z|{|{{{|{|{||{||{{||{{|}}|{{z{{{z|||||{|||{{{|{z|}||{|||{|{{z{|{{{|||}|{|{{||{{{|||}||}|}|{|{|{{{{~{}||||{{{{||||}}|||||}{|{{{|{}{}|}{|{|}|{|{{}|||||{}}|}}|}|||||}|}{}||||{{{{{{{}||{{~}|{{|{{{||}|||}|||{{||z|{||{}||}}}|z{{|{z{|||}|{||{{z{{z{||z{{|{}|}|||||{}||}}}}}}|{{}z{|||{}|}}|||{z{{{{||||||{}|||{{|z|{||}{{||{||{|{{z{{||||{|{|{{z{{{||{||}|||z|{|{z{|{||||}||{{zz{z{{|{{|{{{{z{z{zz{|||||||{{|{{{|zz{{||{|||{|{zzzy{z|{|{{|}|{{{{|{z|{{||{{|z{|z{z{{{|{|{{{|{z{{{|{{|{{{|{|||{|z{{{{|{|{{{|{|z{|z{{{{{{||{{{{{|{{{{z{}||}{|||||{|{|{{|||||||{{{{zz|zz|{||{}{|{{{|{{{{|||z||||{|{{{|{{||||||}{|{zz{{{||{||||}z{{||{{{|}{{||||{|{{{{{{|||{|||}{|{z|}}|{||}|}}}|{|}{}{{|}||||||}|||{{|{||}||||||z{{{|{||||{}}||}|{{||{{}{{}||}|}{{{|||{||}||||}|{{|{{z{{}{}}|{|{{{z{{{|z{|{|}|||||{{||||}|||}}||||||z{||||||||}}|||||||||||}|}|{{{{{zz{{|||{|}{}{|z{|{{{|||||||{{{{{|{{}{{{{|{{z{{{{zz||zzz{|{{{{{{{{{z|{{|{{||{z{zzz{z{|z|{||{{{{|z{zz{||{|{|{||{{z{{z{|{z{{|{{{{{|{{z{}|{{}||{{{{{z{{|{z}||||{{|{zz{{{|||||||{z{z{{z{|||{{|{}{{{{{|zz{{|{{|}|{|{|zz{{{{|{|||||{|{{{{{{|||}||{|{{}||{{|{{}|||||{|}{zz{z}{||{|{||{{{{|{|||}}||{||{{|{{|}||||}||{|{|{{{{{|}|||}{}||{||{{{||||}|}|{|{{|||||{||||}|{{{{|z||}|}||||||{||{{||}|||||}|{z{{||||{|{||}}}{|||{z{||||}|}||{z|{{|{{|{}|||||{{{z{{||}|}||||{z{z{|z{{{|||}{|{}|z||||}}||}||||||{{{z||{}|||||{{{z{{{{|||}|||{|z}{{{zz{{|{{{|}|{z|zz{{{{|{|}{{|{{z|{|{{|{|{{}|{{z||{|{{||||||||{{z{{z|z{{|{{||z|{z{zzzz{z{{{|{{{zzz{{{{{{||{{{{{{{{z{z{}|{}{}|{{{{z|zz{|z{z{{|{{zy{zy{z|{{{|{{z{{{{z{z{|{{{{{||zz{z{{{{|{{||{{{{{|zz{{{z{|{|||z{{{{{z{{}{{|||{{{{{z{zz{{{||{|{{|{{{{||{{||{{{|{{{{{{{{{{{||{||{|z{|{{|{|{|||{||{{{{{||}|{}|}|{|{|||{|{{}}||||{|{{{{z{|{|{{|||{{||{{{{|{{}|||}}||{|{|{{{}{||{}}|z||z{|{}|{}|}|{}|{{{{{{|{|{||}}|{{|||{|||{}|}}|||{{{z{|{{|{|{}||{{{{{{z|||{{{}||{{z|{{{||z{z}|}{|{|{|{|||}}||}|||{||||{}}}|}{}||||{{z|{|}{}|||}|||{|{{|{||{{||||{{{zz{{|{{{{{||{z|{|{z{{|||{||{zz|y{z|{|||{|{{{{|{{{{{z{{|{||z{{{z{{z{z||||||||{{{{{{{z{{z||||{{z{zz{zz||{|||{|{{zz{{|z{|{{|{|{|{{{{{zz{{{{{||}z{{{{{{z|{|{{{}}{{{{{z{{{|}{{|{{|{{{{{{{|{||{{||{|{{{{{{||||||||{{{{{zz{{{|||||{{{{{{{{{{||{|{}|{{{||{|{{{{{{|||{{}{{||{{||||}{||{{||||{|{||||||z{{{{|{||}}|||||}{{{|||{||{{|{|||{||||||{||||||}}||||z{||}}}||}}|{{|{{|{}||||}~|}||{|{{|||{|}{||}|{|||{|}|||}|}}{|{|{{z{{|{|{|}|||{{{|{{|||{|{}}{{{{{{{{{|{|{}|}|}|||z}{|||}}}}}|||{}{}|}|||}}|||||{||{{||{{}|}||{|{z{{{||}|{|{|{{{z{{{{{|{|||z||{z{|{|{||||||}|{{{z|{{{|||||{|{{{z{{z{{z|z{z{{{z{z{{{{z||{{{|{{{zz{{zz|{{|||||{{{{zzz{z{||{|{||z{z{{z{z|{|{{|{||{z{{z{||{{|{{||{z{|{zz{|{{|||||z{z{{z{{|{{{{{|||{{z{{{{{{z{{||}||{{{{z{|{{{||}|z{{{|{{z|}|{{|{z{{{{|{{{{{}||{{|{{{{{{{{|||{}|||}|{{{{|{|||}{~}}|{{|{{{||||~||||{z{|{z{z||}||{|||{|z{{{{||||}|}|{}|{{|{{{||||}|}}{{{{{}|{}|}}|||||||||{|{{|||||}|{|}|{{{||||||}|{||{|{{|}|||{|||{|{{|{|||||}{|}}||y{{{{{{}{|{{|{|{{{{zzz{{|{{|{~|||||||z}{}|{|||{{{{{|{{}}|{||}}}|{{{|zz|||{|||{{{{{{{{{z|{|{|}||{{{y{{z|{{|{||}{{{{{{{y{||||{}|{{{z{{z{||{{||||{{{z{{|{{|{{z{{{{z{zz{z{{{{{{{{{{z|{{{z{{{|{}{{|{{{zzz{z{{|{{{{{{{zz{{zzzz{z{{z{z{{z{zz{z|{{|{|{zz{{|{zz{|{||{{|{{{z|{zz{{|{{|z|{z{{{{{{{{|||{|{zz{{z{|{{||||||}{z||{{{z{||{{|{|{{|{zz{{|{|||{|{{{|{z{{{|{{{{}{{|{{{{{z{{{|||||{{{{{{zzz||{||{}}{{{{{zz|{}||}{|||{{{{z|{{|||||||{|}{|{{||||}||{||{|{{||z{}}||}|}{{|{|zz{|||||||}{{z|{|{}|||||{||{||{|{|{}|{{|||||||{|{{{{|{{||{{|{zzzzzz{{{{|||{|z|z{{{z{||{|}||{||||{{||}||{|}|||{|||{{||||}|}}{|{{{{z{{{|||{{|{|{|{{{{{{}|{||||{{zz{{y{{}|||{|{|}{{|{{{z{{|{{|{{{{{{{z{z|zz||zz{{{{z{z{{||{|{{|y{zzz{zz{{{{|{|{{{{y{z{z{{z{||{z{z{z{zzz|{|{{{|{zzz{{|z|{z|{{|{{{yz|{zzz|{{z|||z{{{z|z{{{||{{{{{{z{{z|{{{|z|{||{{z{{z{{z|{{||{|{z{{z{z{{{}{{|z{{z{{|z{{{{{|{{{{{z{z{z|{}{{z{z||{z||{z{{{||{|||||z{{{{z|{{|||}}|{zzz{{{|||{|{||{{{{{{{{{|||{||{|{|z{{y{{|}|{|{|}{||{{{|{|{||{}|||{{{{{||{||||}|}{z{|{{{{|{|{|||||{{{|{{||||}|||||{{{{{z{{|{}|}~}{zzz{{zz{|{}||{|}{{{{zz{||||{{z{|z{z{z{z{{||{|}|||{||{|{}||}{|||{|||{{{|||}{|}}|{{zyz{zz{|z{{||{|z{{z{z||{||{{{}|z|{zzz{{|{{{|{{|{{{{zzz{|}{|{{z|{{{zz{zz{|{{|z{z{z{{{zz{|{{{|{|zz{z{zz{{{{{{||{{z{{{zz{{{{{{|{|{{{{zyzz{{|{{{{|zzz{{z{z|{{{{|{{{{{{yz{z{{{z||{|zz{{z{zz{{{{{|||||{z|zz{{|z{{z||{{{{zz{{z{zz{|{|z{{zz|{z{{|{{{{{|z|{z{zz{}{|||{{|{{{{{{y{z{{{||{z{{z|{z{{{||{}{}|z{y{{{{||{{|{|{z{||{{}{||{{||{{{z|zz{{{||||||||{z{|{z||||}{|||{||{{{|}|{|{{|{|||{{|{{{{{}}|}{|||{z{|{|{|||{}{}|{{{{{{|||||||||{|{{|{|{{||{|||||z{{z|z{z{|{z||{||z{{zz{z|{{{{{||z{z{zzz{{{||{}}}}}{{|{}|}|||{||~|{{|zzz|{|}||}}}{{{{{|{{{{{|}||{{z{|{|z{{|||{|{{{{{z{z{{{|||{z|{{z{{{|{z{{{{{|{{{z{z{{zz|{|{z{{{{{{{z{{{|{{{{{{{{zzz{z{z{||{{{{{{zyzz{zz{{|z|||{z{z{z{|{|{|{{|{{zz{z|{z{{{{{{z|{y{zzz{zz{|z|{{||z{z{{zz{{|{{{|||{{zz{z{{{{|{}{{}{z{{|zz{{|{{{{||z{|{{z{{{{|{|{||z|{{{z|{y|{||{||{z{{z|{{{{{||{{{{{z{{z{{{{|{{z{|{|{{|{{{|{|}||{|{{z{{{{{{||||{}||{{{z|z{||}{||{||{|{||{{|}|{{||{{z|{{{{{||||||||{{||{}{zz|||}|||}{z{{|{{|||{}|||{z{{{{{|||}{|||||{{{|{{|||{|{|||{{{{{{{{{|{||{||{|{{{{{{z{{|{|||{z|z|z{{{{|z{~}|}||}{||{{~}|||||||||{|||~||}}}}}|{{{|{{{||||{{}|}{||z{|{{|{|||{||{{z{{zz{{|{{|||{{{z{|zy{{{{{||{|zz{{zzz{{{{{{{z{|{z{{zz{{{|{zz|z{{{z{{z{{{zz|{{{{{z{zzz{{{{{z|z{{|{z{{z{{{|||||z{z{{{{z{{{yz{{|{z{{{{{z{{z{{{||{z{z{{{z{{{|{||{z{{{{z{||||{{{{||{|{{{z{z|{|{||{{{|{{{{{|{|{{{{{{{{{{{{{{|||{|{|}{{{{z{{|{|{{||{{{{z{{{z||||{||{{zzzz{{{|||||||}|{{z{{{{{{{}{||}{{{{|{{{{|||{||||{{||zz{}{{{|{|{|{{{{||||{||{||}|{|{{||{|}|{||}|{{{|{{{||||||||{|zz{{}{{|||}}||||{||{{{||||{||||{{{{{{{{||}{{|}|{{{z{zz{{|{{{{|{|{{z{zzz|{|{|||~}}||||||||}}}||}|{}}{{|{|}}{||}||{{{{|{{}|}||||||||{{{{{||}|{|}}{{|{{{||{{{|{|||{||{{{{{{{z{|}||{{{|z{z{{{||{{{{{{{{zz{z{{{|{|||z{z{zzzyz||{|||{zzz{z{{z{{{|{|{|{z{{z{z{{|{{{|||{{{z|z{yz{{zz{{|{{{{|{{z{{{{{||{|zz{{|zz|||||||}{|{{|zzz|{}{||{}{{|{zzz{{|z|{z|{||{|z{{|z{||{{|{|{{|{y{{{||||||{z{{{z{z{{|||||||{{{|{{z{{{{|||||{{{{{{|z|}{||}||{{|z{{|{|{{|{||||{{|zz|{|||||{|||z{|{{{{||{||||{|||{{{{{|||||||}|{||{{{}{}|}}{|{}{|{||{{|||||||||||||{{|{}|||}}||{|{||{{||{||}|}|{|z{{|{{|||{|}||{{z{z{z{|{|}||||z{{{z|{{{{{{}~}}}|}}|}||}|}~||}}|||{{{|}|}}|||||||||{{|}|||||}|{{|z{z|{{{|{{{|{{||zz{{z{{|||{|{{|{{{{{z{||{||{{zzzz|{{z{||{{|{{{{z|z{{{z{{{{{{|{{zz{z{{z{{{z{||{{z{z{{z{{{|||||{{{{z{zz||{|||{{z{{{z{zz{{zz{{|z{|{z|z{zzz{{||{z{{{z{{|{{{{{{||{|z{{{z{{{||}{}{||{{zzz{{{z{{{{{|{z|{{z{{|{{|{{|}{{|z{z{{z|z{|||||{z{{{{{{{||{{||{{zz|{{{{{{{{|}|{{{{{z{{|||||||||{|{{{|||{||||}}|z{|{{{{|}||||||}z|{||{|{|}}}||}{{}{{{|{{|||}|}}|{{{||||||}{||||{{||{{||}}|||||||{{{||||}{{{||}}}|z||{{||{|{{||||{{{z{{{|}{{|{}|{{{|{{{{{{||{||{{z|z{z{z|{{{z~|}}}{|{}||}}}}|||}{}{|{{|}||||}|}~|{zz{{{{||||}}|||{}||{z{{|||{|||{{{zz{{{{{|||||{{{|{{|{z{{{||{|||{{{{zzz{||z{{y{{{z{{{{{{||{{{{{z{{zzz{z|{||{{{|{zzzz{zz{{{{|{||{{{{z{zz{|{{|{||{{{{{z{z{|{|z{}{|zzz{z{zz{{{{|{{z{{{{{z{{|||{|{||zz{z{z{{{{|{|{|zz|{{{{{{{|{|}{{{|{{{{{{|{{{{|{|z|{{{zz||||{||{|{z{{{{{z|||{|||{||{{{{z{|||{{|||||{{|||{{{|||{||{|{{{{}||{{||}{}{z|{{z{{{{{}|||||{zz|z{{||}|{||}{{|{{}|||{}|}|||}{{{{{||{|}}||||||{|{{|{|||{}|}|z{z|z|{{}||{{||}||{}{zz{||||||||{|{{{zz{{|{|{||||{{z{|{z||{{|{||{z{zz{{{{{{{||}}~}}||||{~~}}}~}}|{}||{|||}}}}||}{{{{{z{|{||}z|||zzz{{{{{{{|{{}|||{{z{{zz|{{|{{{|{{z{|{{{|{{{||z|{{{{{zz{{|z{{{|{{z{{{z{|{{|{{|z{z{zzz{{{{{{|{|{z{{zzzz{{{{{|{{z{{|{zz{{{{{{{{{{{z{|zz{zz{|{||||z{{z{{zz||||{{{|{z||z{{{z{{|||||{{{zz{{z||{{||}|{{z{{{{|{{|||{{|{z{{zz{{{{{|{{}{zz|{z{{z{{|||}{|{{{{y{{{}{|{|{{{z{{{{{{|{||{{{|{{{{{{z{z||||||}|{|{|{z||{{||||||||{|z{|{|}||{}}|{z{|{{|z}||{||}||{||{{||{|{}{|||}{|{{|{|}||}||}{|{{{{z{|{{|{|||}{zz{||{||||}||}}|{{{{||}{{||{|{}{}{{{{{{{||||}||{{||{{z{|||}{{}{|{{{zz{{z{|||}}~}}|{}||||}}}~|{}}}|||||{||}|}|}||{|{|{{|{{||||}||{||z{z{||||||}|{{z{z{{z{}||{|{||{|{z{zz{|z|{||{||{zz{{z|{{{{{{{{z{{{z{z{{{{{|z|{{zz|{z{|{{{{|{{{z{{{{z{{|z{{|||{{{{zzz{{|{{{{|||{{{{z{z|{{z{{{{{{{z{{{{{{{|{{|||{{y{{{{{|{|{{}|{{{z{{{{{|}||{{}||z{z{{z|{||{|||{{{z|y{{|{|{|{}|z{{{z{z{{|||{|{{{{{{{z{{{z}{{||||{{z|{z|{{{|||z|||{{z{{|{||{||}|{||{|{{|{|{||||||{z{z{{z||||||}|}{z{{{{{|||}|||}|{{{{{{{||{||||||{{{{||{||{}{|||{{||z{|z{|}|||||{{zz|{|{{||{|{}|{|{{|{{{|{{|||{|{||{|{{|{{||||||{{{{{{|z||{|{||{{{{{{zyz{{||}~}~}}}}}|}|}}}~}}}~|}||}{||||||}|}~|{{{{|{|{||{|||||{|{{z{|||||{||||{{z{{|{||||{||}{{{zz|z{{{{{z{{{|{z{{|zz{|z|{|{{{z|yz{{z{{{{||||zz{{z{z|{{{||{{{{{{{z{zzz{{|}{||{|{{zz{z{{{||}|}|{z{{zzz{|{{{{{|{z{|yzz{{|{{{{||{z||{zzz|{{{{|{{{{{{{z{||{|{{{{|zz{{z{{{z||{{{||{z{{{zz|z}{{}||}{{|{{z|z{||{|}|{{{|{{{{{{{|||{|||zz{{{z{||{||}|||{{{{{{{{|{{|}||{|{|{||{}||||||||z{{{z{z||{{|{|z|{||{{{{}|||||||{{{|{|{}||{||||{}{{{||||{}}||{|||{{|{{|{|}|||||{{{}{|{|{{|{|}||||{{z{{z||{|{||||{{{{{{{{|||{{{|{}{|{z{|z{|||{|||{|{{zzz{z{|{|~~~||}}||}{}}|||}|||}}|{{{{{|||||}|||{{{{|z|||{|||||{|{{{{|{|{{{||{|{{{{{{z{{|{{|{|{z{{{{{{{{|{{{|{zzz{z{{z{||{{||{{z{z{{{z{{{{{||{{z{{zz{z{||{z{{z|{z{zzz{{{{z{|{|{zzz{{zz{|||{|||{z{{|zz{{{|{{{|||{z{{{zzz|{{z}{{{{{z{{zz|||{{|{|{{{{{{zz{{||{{|{|z{{{z{{|{{{|z||{{{{{z{{|{|{}|||{{{z{{zz{z{{||{{{{|{{{{z{{|||{|{{|{|{zz{|{{{{||{{|{{{{{|||{{|}||{||z{{|{|{{|{|}|{{|{{{|z{||||||||{|{{|{|{z|{}{}{{{|{{{||||{||||||||{{|{{{|||||}|{{{|{z{{||{|{||}|{{|{||{{||||||}|{{{||{|{}||{|||{|{z{{{||{{|{||||{zz{z{y{|||{{|}|{{y|z{z{{|z{}}}||{|~||}|~~}|{|}|{{|||{{|}~|}}|}|{|{{z{{{{z{{|{||z{{{{{z{{{{{||{{{{{zzzz|{|{{{{|{z|z{{z{{z|z{{{{|{zzyzzz{{{{{{{z{{y{{{zy|{{z{|{zzzzzzzzz{|zzz|{zzzz{zz{z{{{{{{{|zz{{{{zzz{{|{{{|{{{zzyzzzz{{{||{{z{z{zzz{{z{{|{{zz{z{{{{{{{{{{{{{zzz{z{z|{{{{{{|{{{{z{z{{{|z{|||{{z{zz{{{{{{z|z|{{z|{{{z{z{|{|{z{z{{{{zz|}||{||z{{zzz{{z{{{{{}{{|{{{{z{{{{||}|}|{z{{{z|{{{||{}|{{{|{{zz{}{||{||{|{{z|{{{{|{|||{|z{{{{{zz{|{|{||||{|{{|{{|}{||}|}|{{|{z{{|{||||||||{{{}{{{|{|{||||{{{}{{|{{{||}||{||{{|{|{|{||{|{|z{zzz|{{|{{{{{{{{{zz{{z{|{||~~|}~}}|||~~{}}}}~||{||{|}||}{}|||||{zz{{{||||}||}||{{{{{{||||{{|{{|zzz{zz|{{{}|||{{z{{{zz{{{{{z|{|{{{zzzz|{{{{{{{{{{{z{zz{z{{|||{z{zzz{zz{{z{{{|{{|{|z{{{{{{{|{|{{z{zz{{{z|{{||||zzz{{{zzz{{{{|{{{z{{{{z{{{{{||||{{|{{z|{|{{||||{|{{z{{z{{{|{|{{||{{{z{{z{{|{{{||{{{{{{{{{|{|||{||{{{|{{|{|||||{|{|{{|{zz{||||||{{{|{{zz{{{{||{||{{{{{{|{{||}|{}}{{|{z{{{|}||{}{||{{{{{{{{|{{}}|}|{|z{{z||}|||}|{|{{|{||{{||||}}{|{{{||{{|}||{}|||{{|{|{{||||||||||{|{|{{|||||}|~||{{|{z|||{}|{{~|{{{{{{{||{||{||||zzzz|{||||{|||{{{z{{{z{||}{~~~|}~|}}|}~~~}|}}}||{||||}}}}|||}}{{|{|{||||||||||{|{z{{{{{|{|||{{{{{{{{}{|z|{{||{zzz{{z{|{{{||{{{|{{zzzz|{y{|{{{z{zz{z{{{|{z{{|zzz{zz{yz{|{{z|{zz{zz{z{{{|{|z||{{{{z|z{||{{{{|||zz{z{{z||{{{{|||{{{{z|{{{|{{{{{{z{z{{{{z||{{{||{{{z{{z{|{|{|{|{{{|{{z{{{{{|{|||{z|{{{{{|||{{{||{{z|z{{{{|||||||{{{|z{z{{{|{|{||{{{{{{z{||{|{|||{{{z{{{|{||{{}{||{z{{||z{||||||||{|||{{{||||}{{{{z{||{{z||||}||}{|{|z|{|{}|||}||}|z|z|{{|~|{}|||}{|z{{{{{{{|||}|{{|{z|{|||{}|}||||{|}|{|||{|||||{{{{z{|{{}|{{||{|{{{{{{{||{|{|||{{z{{z{z||{|{~~}~~}}}}~}~~|}}}}|||||{|}|||||}|{|{|||||{z||{}{{|{{{{{{{{|||||||{{z{{{{|||{{|{|{{|zz{{z{||{{z|{|{{{{zzz|{}{{|||{z|{{{zz{{{|z{{{z{{z{{{{{{z||{|{zzz{zzz{{{{|{|{{{{{{z{zzz{{{{|{|z|z{zyz{{z{{{{{{{{{z{z{{{{||{|{|{{{z{zz{|||{||||{{{z{z{{{{{{||||z{{{{z{|{{{z||||{{|{z{{{{{{{|{||{{{{{z{{z{{||||||z{{{|zz|||{||}|{{{|{z{{|{{|||{{{z{{z{{{||||||||{{{{|{z{{}|||}|}|{{|{{{z{||{{{}||{{|{{{{||{}|||||||z{{|{{|}|}||}|{{|{{|{|}|||~||{{zy{{{{|||{||||}z{{{z|{{|{{|||}{{{{{{{{|{}}{|||{{{z{{||z}|{|{{|||{{zz{{{|{{{|{{{{{y{{z{{{{|{~}}~~~|}}}~|}}~}~|}{{||||{}|{}{|}}{{{|||{|{|{||||}{z{|{{||{|{|{|||{|{{{{{{{{|{{||{{{z|z{{{|{{z{|{z{{{{y{{||{|{|{|{{{|{{{{{{z{{{|zzz{yz{zz{{{{{|{{{{{zzz{{{z{{|{z{{z|zz{z{{{{z{{{|z{{z{z{{z||z{|{|{z{zz{{{y||{{{|{}{{{z{z{|{{|{{|||z{{{z{{{{{{{|}|{{{zz{{{{|{{{{}{z{{{zy{z||||{{||{z{z|{{{{|}{{|||{z{{{{{{{||{|{|{|{{z|z{{{||{{|||{{{z{{|{||||{}||{{|z{{{{|||{{}|}{{{|{{zz{{}|||||{{{{||{{{||||}|}||{{|{|{{{{}|}|||{{{{|{{|}||||}}|{{|{{|{|{{|{||||{{{{|{||{|||{||||z{{{|||||}}||}|{{{{{{{{{{{||}||{z{{z|{{|||{{|||{zz|{zz{|{{|~~}~}}|}~}|~}|~}~||}z||||||}|||}}}||{|z||{{|}|||}|||{{{zz{||||{{{{{{|{z{|{{{||{|{|z{zzzz{z{|{{{{{z{{{zzz{{{|||||{|{z{zzz{{|{{|{{{{{{z{{{zz{{{||||{{{zzzzz{{||{|{|z{z{zzzzzz|{||{{{{zzzz{z{z{{{{|{{{{{zz{{zz{|z{{|{z{z{|{{{{{|{{|||z{{{{{z{|{||||{|zz{|{{{{|{||{|{|{{{|zz{z{{{{|||}{{{{|z{{{|{z{}{{{{{{{{zz|||||||{{{{{zzz{|||{|{||}{z{zz{{||||{|||{{z{|{{{{{}|{|||{||{{{{{{|}{{{}|{{{{z{{{|{|{}{||{{{{{{|{||{||||||{|z|z|{|}||||||||||{{{{|}|{|}|||{|{{|{|||||{|||{{{{{y||{{|{|||{{{{zz|{z||||||{||{z{{z{{|{{|||{{|{{{{|{{z{{|{~}|}|}}}~}~~|}}~|{|{||}}||||}}}}{||{|{||{|{{}|||z{{z||z|||||{|{{z|zzz{z|z{||{{||{{{z{{z|{{|{|{|zz{z{{z{|{|{|||{{|{{{z{|{|{|{|}{{{zz{zz{{{{|{{{|{{{{{zz{{{{|{|{{z{|z{{z{{z|{|{{|{zz|z{zz{{{z||{|y{z{z{zzz|{{|z{|z{{{{{|{{{|{{||||zzz|z|zz{{{{|||{{zz{{{{|{{{||{{{||z{{z{{|{{{||{{{z{{zz{{{{{{||{{z|{|{z{||||{{||{{{zz{{|{||{{{{||{{{{{|{{|{||}}|{|||{{|{|{z{|}|{{zz|{|{z||||||{{}{|z||z{||}||{||{{{z{{||{|{||}|~|{{|z||{{|{||||}{{||{{{{|||||||||{{|{z{{|{||||||}|}||{|{{{|}||}|{|{{{z{|{|||||{{||z{z{{{||}}|||{{{{z{{z{{{|{{~}}}~}~~}~}}}~}}~}~}|||{||}||||}||{{|{{|{||}||}{||{{{z{{{|{{|{|{||{{{z|{{{|{{||{|{z|yz{{z{{|{{|{||{z{{z{z|||z{|{|{{{{{zz{{{|z{|{|zz{zzzz{{{{{{{|{z{{zz{z{{{{{|||{{{{zz||z{{{{|{}|{{z{zzz{{{{{{z|||{{z{|{zz{{z{|{{z{|{z{{z{{||{}{|{{zz{{|{{||{{|{||z|{{z{z|{{{|||}z{zzz{z{{{{}|||{{{{{{{{z{z{{|}{{{{z{{{{||{|{{{||{{|{{{z{|}|{||z|z{{{|{z{{|||||{|{z{{{{|{|}{|||}||{{{{z{{{|{||||{|{{{|{{{|||||}||{{{{{{{{{||||}|}{|{{{{{{||{||}}||{{|{z{{|||{|}|}|{{{|{{|{||||{|||{{z|{{{|}||}|{|{{{{z{{{{|||{{}}||{zzzzz|}||{}||z{z{{{{z|{|{{~~~}}~~}~|~~}|}||{|}||~||}}~|}|||||||||{}}|||{{||{{{|{|{|||||{|z|z{z{|||{|{|z{{{z|{{||{{{{||{{{{z|{z|{|z{|{|zz{{z{{zzz||{||{zzzzzz{{{{{{||||{{{{{zz{z{|{||{{{{{{{{{z{|}||{||{{zz{z{zz|{{{{||{{|z|{{zy{{|||{|{z{|{|zzzzz{{{||||z{{z|||||{{||{{{{{{{{|{z||||{|{z{{{z{z||{{{{||{{{{|z{{{|{|{|||{z{{{|{{||}{{||{|{|{z{{{{|{||||||{||{{{|}}||||||{{{{{{{|||{|}|||{{|{{|z{||||{{{||{|{{|{{||||{||||||{||||{}|||}|{}||||{{{{}}}|||}||{{{{|{|{}||}}||{{{{{{|{|||}|}|||{{{{{{||}|||||{||z|||{{||{|}{|||{{{z{z{|{|{|||{|{{{{{{{{|{|~}}~~}}~~~}}~~||{||||{{}|||||}|{{|||{||{||||||{{{{{{{{{{||{{}|{{{{{z{{{|{|{|||{{{z{{zy{|{{|{{{{{|{zz{z{{{z{|{{{z{z{||y{{{{{{|{zzz{{{zz{{{{{{{z{zzzz{{z{||{|{{{{{{{{{z{{|{{z{{||z{{zz{yz{{z{|{{zz{z{{{zz{{{||{|{{{|z{z{{{z{{|z|{z{z{z|{{{{z|||{{z{{{z{{z{{{{{}|{|z{z{{{|{{||{|{{z{{{y|{{{|{|{||z{{z{z{z|{||{{||{{zz{{z{||{|{||{{z|{{{z{|{||{|{|{{{{z{{{{{{|{|||{{{|{{zz}||{{{{||z{{|{z{||{{||||{{z{{{|z||||{}|||{{|z{{{{{||||||}{|}{|{{||||}|{|}z{{|{{z||{||||}{z{{|{z|||{|||||{{z{{{zz||{{{{||{|{|{{|z{{|||}{}{z{y|y{{{{|{{~}}}|~~~}}~|}|{z||z|||||}|}z{|{{{zz|{||||||{{|z|{z|||{|z{{||{{{zzzz|{{{{|{{{{{{zz{zz|{|{|{|{{{{{zz{|{{{z{|{zz{{{zzzz{z{{{{zzzyz{z{z{{{{z|{{{zzz{{y{{z|{{{{||{z{zzzzz|{|{{{{zzzzzzzy{{z{zz{{{zzz{zzzz{{z{|{{zzzz{{{z|{z{{{|{zz{|{{{z{{|{{{{||z{{zz{z{z{{|{{{z{{{{{z{{||||{|{{{|{{{z{|{{{|{{|zz{|{{{z|||{{|||{zz{{{{{|{{{{{z{{z{{{z{{|{|||||{{{{|zz|z|{{{||||{{|{z{{{{||||||{{z{{|z{{|||{{{}|{{|{{||{{||||{||{{z|z{{|{}|||}||{||{|{{||{z}||{{|{|{{{{{|{||{|}|{z{{{{{||{|}|||||{{z|{z{{|{|{|||{|{z{{{z||{{z||{{z{{zz{zzz{z{~}~}}~~~~}~~~}||{{||}|}}||}}||{|{{{{||{||}|{{{{z{yz{||{|||||{{|{{z{z{||{{{||{{{{|zzz{{{{{||z{z{{{{{z{{|z{{{{zz{z{yzz|{{{{{||{{zz{{z{{{{{{{{zz{z{{zzzz{|z|||z{z{zzzzzz{{{|{||{z|zz{zzz|zz{{{{{{{z{{{{{||{{|{||{{{z{{{{||{|{|{|{z{{zzz{{{{{|{|{{|{{{|zz{{{|z{|z{z{zz{{|{{{|{{||{{{|{{{|||{{{{{{{{{{zzz|{||||{{{y{{{{zz{{|z{||{{{||{{z||z|||{|}{{z{{|{{{}{{|}||||{{zz{{{||||||{|z{z{z{{}}||{}||{{{{{|||||{}||{|||{|z||{z}{|{}}}|{||{{{||}|||}~||z{{{|{z|||{{||}{{{|{z|{|{|z{{||z{{{{{{z{|{}|||}|{z{zz{{{|||z{}{|{|{{{z{|{{{{~~~~~}~~~~~}}||||{}~}}}}}}|{|{|||{|{{}||||{zzz{{{{||||{|{|{{}z{{|{{{||{{|}{z{{{{{{{||{{z{||{z{{zzz{{{|{|{{{{z{zz{z{{{z{||zz{zz{{zz{{|{|||{z{{|{zz{{||{|{}|{z{zzy{{{||z|{|{{{yzz{{{{{{{{{||{{{{z|{{{|{|{{{|{{|{{|{z{{||{|||{{{{{{{z{|{||{{|{{{{zz|{{{|{||}|{|z|{{{z{{|{|||{{{{{|z|{{||||||{{{|{{{z{zz{||{|||{{{{{{{|}|{{{{||{|zz{{{{||}|||{z{|{{||{{|||{|||{{{{{{{|{||}|}|||{{{z{{|||||||||{{|{|{||{||||||{|{{{y{|{{}}{||||}{{{{z{{|}||||}||{}|{|{||{||{|}||{{{{{||||||}|}{{{{{z{{{{|{|||{||{{{{{{{{||{||||z|{{{z{{{|{|{~~~~}~}~}|}}}|||}|||}}}}}{||{|{{|{{|||{{|{{{{{{{{||{||||{{{{{{{y|{|{||{|{{{{z{{z{{{{{{{|{{zz{|z{{{|{z|||{|{{{{zz{{{{{|{{{{z{zz{z{||{{|{{{zzz{z{{{||z||{|{z{z{{{{{{|{{{||{yzz{z{{{|{{|{{||{{zz|z{zz{{{|||{y|z{|{{z|{{{{||{z{{z{{|{|{|{||}{{{{{z{{|||||||{{{{|{{z{{{{{{{|||{|{{z{{{||||{|{|{|z{z{{||{{{||{{z{|{{|{z{|{|{||||{{{{{{|{||{|||{{zz{|{{||{|{|||{{{||{z{{|||{|}|{{{|||z}}||}{||||||{{{{|{|||}|}||{{||{z{{|{|}||||z||{{|||{|}{|}|{{{|||{{|{||||||{|{|{|{{}||||}|||{{z{|{||{{{}}}||{{{|||z{|||{{||{{{{{zzy{||{{~}~~~~}|}}}||}|}|||}}|}{||||{{||||}}{{|{{{{{|{z}||||||{{{|{|{z{{||||}{||{{{|z{z||{{{||{{z{|{zz{{{{{{|{{|{z{zz{{{|{|{|{{zz{z|{{{{||{|||{{{{{{{z{{{{{}{{{{{{y{z{z{{{{||{|{{|{{|z{{|{z|{|{|{{{z{}{{{{{|{{{{{{||z{z|||{|{||{|{z{z{|{|{{{{|}|z{{{z|{||{}z||||z{{{{{z|||{z|}||{{{{z|{{{||{|{|{||z{|{{||||||~|{{{{|z{{|||||}|}|{z{{{{{|{}{||}|{{{{{{||}||}|{||{{{|{{{{||||}|}|}||{|{{{|||||||||{|||||{||{||||||}{||{{{|}|}|}|||||||}|{|}}||||||{{{|{|{||||}}}}|{||{|{|||{||}||||{z{{z|{|{||}{||{{{{|{z||{||{||{{{zz{|{z{{|{~~~~~}}~~||||}}}~||||~~}|{|{|{{z|z|{|}|}|{|{{{{{{|}|{|}|z{{zz{|z{{{}||{|{{{{{z{zz{z{{|||{{{{{{zzzz|z{|{|{z{zz{{z{{z{{|{{{{{z{{zz{{|{{{|{zzzz{{z{{{|{}z||zz{zz{zz{|{||{|||zzzz{{zyz{z{{|{z{{z{z{zz{{|{}||{{{{{{zz{|{|{||{{{{{{z{{|{|||{|}{{{|{{|{|{{|{{{|{{{{{{|{|{||||{{|{{{z{{z{{|||{|{{z{{{z{{{{|||||||z{{{{{{|||{||||{{|{{{{{{{{|||{}{{|{|||{{|{{}||||z||{{z{{}|}|||||{|{||{z|||||||}{||{{{|{{|}|}||{||{|{{{{||{|}||}}|}|{{||||||}|||}{z{{{{{{||{}|}|}{||{{zz||||{{|||{{|z{{{{||{{|}||{{|{{{{z{||||||{{{{{{{z|{{{|}~~~~~~}|}}|{||}}||}}}|||{z||{{||||{||{}{{{{z{{{{{|{{|||z{zz{zz||{|{{|{{{z{{{{zz|{{{|{{|{z{{{z{|z{{|{|{{{zz{{z|{{z|{{{|zz{{zz{{z{|z{{{z{{z{zz{{z|{z|||{{{{{z{zzz{{{{{{{{z{{|{{{{{{{{{{|z{zz{zzzz{{{{{|{{z{{z{{z{{z{{||{|zz{{{|y{||{{||||z{|z{{z{{{|{{{{|{z{z{{{{{{|{|}{{z|z{{zz{{{|{}}|{{z{{{{z{{||{|{||z{{zz{{{||{{|{{{{{{{z{{{||||||{z{{|{{{|}{{|{{|}{{{|{{z{||||{||}||{{{{{{|}||{||||{{z||{{|||||||}||{zz{|{|||||||}{z{|{|{z|||{}||{}{{|{z{{|{{{||{}{{{|{|{}{|||}|{||{|{|{{{{||{|||{{{|{y{|{||{|{{{|{|{z{z{z{{{{|~~~~~~}~}}}||{||||}~||||||||}{{{|{||{}}||||||{z{|{|}|||}||{{{{|{{{|}|{{}|z{{{{{{{|||{{|||{{zzzz{||{|{|{{{zz{{{{{{{{{|}{|{{{z{zzz|{{{|{|{{{{{z{{{{{{{||{{{{zzz{zz|{{||{||{zz{|z{{{{{z{{{{{|{z{{{{z{z{{|{{{{{z||{z{||{{||||{{{zz{{{{{{{|{|{{{{|{}{{{{||{{|{{{{{{z{|{}|||||{z{{z{|z|{{|||||{|z{{{z{{}{|{{|||zz|{{{{||{|{||}zz{z{||{|}|||{|{|{{{{||{||{|||{|{{{|{{{{{||{|||||{|{{{{|z}|||}||{|{{zz|{|}{}{|||}|{{||{|{}}}|{||||||{{|{||{}|{|||{{|||{||||||||||{{{{{||{||||}|||}{{{z{|||||{}}|||{{{|{z{||}{{|{{z{{z{{z{||{{~~}~~~~~~|}}}||z||}}}}~}|{{}{|{|}||{||}|||{{{{{{|||{{{|{|{{{z{{{|{||{|{|z{{z{zzz{{{{||||{z{{{z{z{||{{|{{{zzz{{{{{{||{{{|{z{{zz{{{|||{{|{{zzz{{{{{z{{{||{{{{{zz{z|{z{{{{}{zzzzz{zz||{{|{{{{{zzz{{{}{{{|{|{z{{{{{z{|{z{{|{{{{z{{|{z{|{|{{|{z{{{z{|{{{{{{||{{z{zz{{{{{{{||}{{z||z{{{|z|||{{{{{{{zz{||}{{{|{{{{|{z{{|{{|{|z|{{{{||{{}||{{|||{|{z{{z||{|}|{|||{{{{{{{||{}|||{|z{|{{{z}||}|{|||{|{{|{||||||}||}z{{z{|||}{||||||{|{{||{||{}|{||}{{{{|{{{|{|{{||||{|}{{{|||{{{||{||{{||{z||{||||{{||{{z{||||{{||{{zz{{z{{||{|~~~~~~~}~|~||}|||}}}}}}||}||{{{}|||}{||z||{|{||{|{|{{}{{|{{zz{{{{||{{||{z{z{{zz{{{{z{|{{{yz{{{{{{|{{|||{z{y{zz{{y{{{{}{zz{{{{zz{|{{|{{|{{{{y{z{{|{z{{{|z{{|z|{yz|z|{|{|z{{zz|z{z|z{{|{z{zz{{{{z{{z{{}{{z{{{z|z{z{{{{{|{|{z{{{{{|{{|{{|{{z{{zz{{||{{{||{|z{{z{{{|||{|{|{{{{{zz{z{|{|{|{{{{{{{{{{{{|{{||{{{z{{{{{{{|{{}|{||{{{zzz{||||}|{{{{|z||{}}z|{|||{z{|{{z{{{{|||||||{{{{|z{}|{{||||{{{{{{{{|}||}|}|{{{{|{{{|||||}||{{{}z||{|{}|||||{{{|}|{|}||}{||}{{|{zz|{{|||||}{{zz{{|{{{{}||{|{{{z||{z|{|||||||{z{|{z{||}{{~~~~}}}}||}|||||}||||{}|||||{z||{|}{||||{{{{z{{||{{{||{|{{{{z{{{{{|{}{{{{{{{zz{{{z{{{|z{{z{{{{{{{{z{{|z{zzz{z{|{z|{{|{{yz{zzzzz|{z{||{{zz{zzzz{{{{||{{z{{{{{z{{z{|{{|{{z{{zzzzz{{{{||{{{{{{zz{z|{{{|{{zzzzzzzz{{{{{{||{zz{y{{z|{{|||||{{{z{z{{{{{{{}{|{{zzzyz|{{z{|||{{{|{|zz{{|{|z{{{{z|{z{{{{|~|{||{|{{{z{z{{|{{|{{|{{{{z{{||{||{||{{{{{z{|{{|{{|}||{{z{{{{z||{{{{{|||z{|z{z|||}{}|||{{{{{{{z||||||{|{z{|{{{{||||||||||{zz{{||||{|{||{{{{{|z||}|||}{|{{{{{{{||{{{||||{{z{|{|{|{|||{||{z|zz{{{|{{|}{{|{{{z{zyzz|||~~~~~}|||{|}|{}}}||}~|{|{{{{||{{{{||||{{{||zz|||{{|||{z{z{z{z|{{|{|{|{{|zzz{{{|{{{||z{{{z{z{{{z{|{{|{z{{{z{z{zz{{{{{{{z{{|zz{z{{{{{{}zzz{{zz{zz|{{||{{z{{y{|{{z{{{{{|zzzz{z{{{{|{{{||{{{{zz}{{{{{{|{{{z{{{{z|{||{||||{z{{|{{{{||{||{{{z{z{{{z{||||z{|{{{z{{{{{{{{{{||{{|{{{zz{|||||||{{{{{{zz{{|{||||{{{{{|z{{|{{|{{|{{|{}{{{{|||{{||{{z{{{{{|||||||}|{z{{{{{{}{|}||||{{|z{{{|}{{}||}{|{}{|z|||||}|||}|{{|{|{{}||||||}{{|{{{{|}|{|||||z{{{{||||||||{|{|{{{{{{{|{}{|}|||{{{{z{{|{||{||||z{{|zz{|{|||}{|{{{{{|{|{|||~~~~}}|||}}}}~}}}||}}|{{{z}{{|{|}{||{}z|{{{|||{||{}{{z{z|z{{|}|||{||{{{{{{z{{||z{{{z|{{{z{y{{{{{{{{|{{{{{{z{{|{{||{|{z{|z{z{{{{{||{{{{zz|z{{{|{{{{{{|{{{{{zz{{{{z{||||{{{{z|z{{{{|||{z{z{zz{{{{{||}|{{{{zz{{{{{|{{|{{zz|{{{{|||z{||{{z{{{y|z{{{{{{||{{{{z{{{{||{||||{{{{{z|z|{||{|||z{{|{{{{{|||{{|{{{zz{|{{{||{{|{|{{{{{zz{|{||||||||{|{{{{||{}|||}|{|{{{{{||||{|}z{{{{{{{|{|{|{||}|{{{{{|{||{|||{||{|}|{{{|}{}}||||z}{{{{|||{|{|}||{{|||{|{|||||}}|{{z{|{|{z{|||||{{{{{{{{{{||{}}|{|{{{{{{{||}|{{||{z|{{|{|{||{~~~}}}~{{||}|}}|}|~||}{{{|{{|{|||}|{||{|}z{z}{}z|||{{{z{z{z||{|{{{|{{|{{{{z{{{{{{||{{{{{z{{{{|z{{||{{z{{|zz{z{{||||z{{{|{zz{{||{{|{|{{z|{z{|{|{{{{|{{{|{{{{zz||{|{{{{z{z{{z|z{z{{||{{{{z{{|{|{|z|{|{z{{{{zzz{z||{{||z{z{z{z|||z{|{|{zz{|{{{|{}{{||{{z{{zz|z|{{{{{{}{{{{{z|{{{|{|}|{|z{{z{{{||||}{|{{z{{{zzz{{|{|||}|{z{|{{{{{|{|||{{|{|{z|{|}{|}|||{||{{{{{{|{{{|||||z{|{{{|}||{||}{|{{|||{{|}|||||}{|{|{{|{}{||||}{{{||{{|||}{|}|||{{{{{{{z{{|||}}|{{{|{{|{}|}{}|}{{|{|{{{{|||||}|||{|{{|{||||{||{|{{{{{{{{{{{{~~~~~~~}}}||||}|}}}}||||}{|{{{||{|}{||{{|{|{{|||{{{{|}z{{{zz{z{{||{||}{{{z{{{{z{{{{{||{{{z{{z{|z|zz|{{{z{z{zzz{z{{{{{{z{{{zz{z{z{{{{{|{zz{zzzzz{{{{{{{z{zz{{{z{{{z{|||zzzzzz{z{{z{{{{|z{{{z{z{{{zz{|||{z{{z||zz|||{{|{{z{z{z{z|{{{||{|{{z{|yzz{z|{{{{|{{{{z{{{|||{|{|{{||{|{|{{{|{|}{{{{{{z|z{{{|{{{||{{y|{{z|{||{{||{{{{{{{{{|{||||||{|{{|z{{||{}||||{{|{{{z{||}|||||}{|z{{{{||{||||}{{{|z{|{|{|{|}}}}{{|{{{{{}}|}|||{{|{z{{{|{||{|||{z|{|{z||{{|{|}{z{{{|{{|||||||{||{{z{{{{{{||||||}{|{{{{z{|{{{|}{{{z{z{{{z{||{~~~~~}|~~}|||}}}}}}}}|}|{{{{z|||}{||}|{||{|{{||z{{{|{{|{{{{{z{|{|{|{}{{{zz{{{{{{|{{{|{z{{|zzz{{|{{{{|{z{|{{{{z{{||{{{z{zz{z{z{{{{{{|{z{z{{{z{z{{z{{|{{{{zz{{{{{z{||{|{{{zzzzz{|{|{z{|zz{yzz{z{{{{||{{{z{{z{zz{||{{{||z{{{{{{{|{|z|{{}zz{zzz{{{{{{||{{{zz{z|z{{||{||{|{{|{{{z{{{{z||||{z{{|{z{|||||||{}{{|{{z{{|||{||{{{{zz|{{{|{{|||z|{{z{||{{||}}||||{{{{{|{{||}|{}}y{{{{{{z|||{||||{{|{{{||{{|||}|}|{||{{z||}|{|{}|}|||{{z{{|||{}|}|{{{|{||||{|z|{||{}{||z{{||||}||}{{{{|zz{{{|||||{|{z{{z{z|{|{||}{{{{{{z{{{|{{~~~|}~}}}|{}||}|||}|{{z|{z{|{|}{{|{{|{{{{{{|{{|{||{{z{z{{z{{||{{||{z{{y{{{z{|{{{{|z{{{{z{{z{|{z|||{{{z{{{zz{{{||{{|{{z{|{{{{{{zz{|{zzz{{|zz{z{z{{{{{{|{z{{zzz{z{{|{{{{|zz{zy{{{|{|||{{zzz{z||{z{||{{z{z{{z{{z|{{|}|{z{zzz{{{|{{|{||zz{z{{z{{{{{|{|{z{{{{{{{z{{{{{{{{{|{{z|z{|z|}{|{{{{{z{z{|||{{}|{|{{z{{{{||{||}{|{{{|{z{{{{{|||||{|z{{{{|{|{|{{|{{|z{{{{{|||||||||{z{{{|{{||{|||||{||{{|||||||||{|{|{{|{{|}{||}||||{{{z{||{||{|{{{z{|{|z{{|{||||}|||{{{{z||}}|||}|{z{{{{{{}{|||||||z{z{{{{}{|{}||{{{zz{{{{{}|{}~~~~|||||}}||~}|}}{{{{}||||{|{||||z{{{|{z||||{{}|||{|z{|{{{||||{||z{y{z{z{{|{||{|{|{zz{z{{{|{{{|{{{{z{{{{{z{{{{{|{{zz{z{z{{|{|z{{{z{zzz{{z{|{{{|{|{z{zz{z{{{|z|||zzz{zz{zz{{|z{{|z{{z{{{z{|{|{|||{z{z{|{{{{|{{{}|{|z{z{{||{||{|}|{z|{{{{z{{{|||||{{{zz|{{||||{|}}{{|{{z|{{{|{|{}{{z|z|{{{||{{|||{{{z|{{{z{{|{{{{|||{|{{{{|{|||{||{{z{{{{|{{{{{||{{z{|z{{{|||}{|}{|{{{|{|{|||{||}}||{{{{}{{|{{|||||||{|{{z{|||{}||||{|||{{||||}}{|{z|{{{{{|||||||}{{{{|z|{||{||}}{|{{{{|{{|||||{||||{{z{|z{|{||}{|{||{zz{{|||{|~~~}}}}|{|}}|}}}}}||{}||z{|}|||{}||{{{{zz|{||{{{|}{{|{{{zz{{||{{{}|{zzzzzz{{{{{||{z{zz{{z{{|{{|{{{{|zzzz{{{z{{{|z{z{{yzzz{{{{{{z{|{{{zz{zzz{{|{{{|{y{{zz{zz{{{|{||{z{{zy{zz{{z{|z{{{{{zzyzz{{{{||{{{{z{|zz{|z{|{||{z{{|z{{{{{|{|||{z|{zz{{{{{{||||z|zz{zzz{|{{{|{{|z{|zz{y{||{{z{{{|{{{z{{|||{{||{|z{{{{{{||{|}{{|{z|{|z{|{{||||{|z{{{{z|{||{}|{||||{{{{zz{|||||z{|z{{|z{{{{||{|}|{{|{{|{{|}|}||||{||{{{{{{~{||{|||{{{{|{{{||||{{|{{{{||||||{{||||{{{{{|{{||{|}||}{{{{{{{{{||{{}}{{|{{{{zz{|||{{{{|{{{z{{{{{{|{~~~}|}~}|{|}||||}}{||{|{{{|{|||}{{|{{{{{{{|{{{{{{|{{{{zz{z|{{{{|{|{||zz{z{{||z{{|{{z{zzzz{z|{|z{||{|{zzzzz{{z{{||{|{zz{{zzzz|{{{|zzzzzzzyz{{{{||{{{{z{{{z{{{{{zz|{zzzzzzz{{{{{{|||{z{z{{{{{{z{{|{{{{{|{{{{|{{|z|||{z{z{y|{|{{z|{{|zz{z{z{|{{z{z||{z{{zzzz{{z{{{{||{{z{|{{z{|{{z||{{{{z{{|z{{|{{z}{{{z{{z{{|{{{||{{{{{z|z|{{{}|}||{{|{{}{{zz||{{{|}|z{{{z{{||}||||||{{{|z{{|}{{||||{{{{{{|||||||||||{|{z{{{{|{{}{}{|{|{{z{{{|}||}|||{|{{{{|z||{}}|||{{|{{z{}|{|||||||{{{z{{{{|{{{}|{{{|{{{z{|{{{|{{{{{z{{{z{|||{~~}}~}}|{|}|}|}}~||{|||{{||}{{|}|{z|||z{{{|}{{||{}{|{zz{z{{||{|{|{z{{z{{{{{{|{{}{{{{zz{z{{|zz{|{{z{{{{zzz|{{z{z{{{z{z{{|z|{{|{{||{z{|zz{z{||{|{|{{{{{zzzz{{{{{{{{{{z{{zz{z{{{{|{{||{zz{zz{{{z{|{{zz{{{{{zz{{|{||{{{{z{{{{|{{{{|||z{zz{{{{z{|{|{{|{z{|z{z{{|{|{{|{{z{{|z{{{|z{{{|{{{{{z{{{{|{{||}|{{zz|{z||||{||||{{{{{{z{{{{}||{{{{||{{|{||{}{{{|{{z|{{{z{{{||||}|{{{|{{{|{||{}}}{{{{{{{|{|{}|||||{z|{{{{||{}|||}|{}{{{|{|||||{|{|{{{||{||{{|||||||{{|{{{|||{{||||{{z{{z{{|{{||||{{z{{{|z{{{{|{||zz{zzz{{{z{{{~~~}~~}}|}||}|}}|}|}|{{|||{{||{||}|{z|z|{{{||{{|{||z{{{{{{z{z|{{{|{z{{{zz{y{{z{{|{|{{zzz{zz|||{{{|{{z{|z{{{{{z|{{{|zz{yzzzz{{{{{{{{{z{zzzzzz{|{{|{{{zzzzzzz||z|{|||{{{{{yzzz{{{{{||{z{z{{zz{{y{{{{zz{z{{{{z{{|{|{|{{{{z{zz{{|{{{|{|{{{z{{{{{{{{||||z{|{z{{{z{{{|{{{{{{{{{{{{|{|{{{|{{{{z{{{{{{|||||{{{{{{{zz|{{|{{|{z{{z|{{||{{|{{|{{{{{{{z|{}|{|}}|{z{{z{|{||{}||{|z{|{|zz||||||||{{{{|||{{||}||}{|z{|{{{{|}{|||}||{||{{{|||{{}|}|{{{|{{z{{|{|||}}{{{{|{{|{{|{{{}}{{z{{z{|{|{{{||||{{|{{{{{|{||{||{|{{{{|z{{{{|~~~}}}~}}~}}}|}|}}|{|{{||{{|||{||{{{{{{{{z{{|||{{|{{{{z{zz{{z{|{||{zz{z{{y{|z{{|{{{{{{zz{|{{}z{|{|{{{zz{zz{zz{||z|yzzzz{{{{{|z|{{{{zzz{zzz{{{{{{{{z{{zz{zz{|z{{{{{zzzzyz{yz{z{{{{{{|z{zz{z{|{{{|{z{{z|{|zz{{{|y||{{{{z{z{z{||{z{|{|{{{zz{z{{{|||{|{z{zz{{z||zz||||z{{zzz{{{{{{{|{|{{{{|z{z|{}{{|||{{z|{{z|{{}{{|{||{{{zzzz|{{|||{|{{{z{{{{{z||z|||{z{{z{z{{{||{{}{|z{{{{{{{||||||{{{{zz{||{|{{|||}||{{|{|{|}||{{||}{||{{{{||||||||{{{{|{z|{|||||}||{{{|{||{{|{{|{||z{z{z{{z|{||||||{{{zz{z{|{{{{|{|{{{{{z{{||{{~~}}~~|}||}}}}||~~|}|}|||{|||{}||}||{|{{|{{||||{|{|||{{z{{z{}{||{{|{{{{zz{z{{{{{||z|zz{{{zz{{|{{||{{{{{z{{{|z|{|{{|zzz{zzzz{|{{{{|{{z|zzzz{{{|{|{{{{{{zz{{{|{{{{{|{z{z{{zzz{|z{{{{{{{z{{z{z{||z|{||z{z{{z{{{|{|{||{{{z{{{|z{{{{||||{z|zzy{{{{||{|||{z{{{{{{|{|{||||{{{z{z{{{{||||||{z|z{{{{z|||{||{|{z{{{z{{{|{|{|{{{{{{z{|||||||}{{{{{{{|{}|{||||}{z{|{{|{|||{{}|{|{{|{||z|||{{||||{zzz{{{||{||||}|{|{{|{{|~}}|{{}}{|{||{|{|}}{||}{{{{||z{|}{{{|{|{|{|||{{|||}|}||{|{z|{{{{|{|||}||{{{z{|z|||{{||}{z{{z{{{{{{|{~~~~~||}|||{}}}}}}}}}}|{|||||||||}|||||z{{{||{}|{{||||{z{|{{|{}|||{|{{{{{{{{|{{{{||{{{{zz{z{|{{{{|{{{z{{{{zz{{{{||{{z{{zz{zz{{{{|{|{{zzzzzz{{{|{|{{}|{|zzzz{{{}|{{||z{z{zzzz{|{{{{||{{zz{{z{z||{{||{{z{zz{z{||{{||{|{|zz{{{{||{{{{||z{z{{z{{{|{{{|{|{{|{{{|{||}{|||{{{{{{{{{{|{|{}{{{|{|||zz{{||{{|}{{|{|z{{{|{|{{|{|{|{{{{||{||}||||{{||{|{{||}|{|}{{|{{{{{{}|||||||{||{{|||||||||}|z{||{||{}||{}|}|{|{{|{||}|||}}}|{|{{{|{{||}|}||{|{{{|{|||{||||||}{||||||||||}}}z||{|z{|{{{||}|}{{{{{{{z{||}{||||{{z{{zz{||{{~~~~~}}~|||~|~}}}~~||{{||||}||}||||||{{z{||||||{||{{{zzz|zzz|{|z|{||{|z|||z|||{z{||{|zz{||{{{{|{||||||z{zz{{|{{{|{||{zzzz{zz||{{{{|{z{{{{{z{{|{{|{{{|{{{{{z{{{{|{{{{{zz{z{{{|{{{|{{{{{z|y{{||{|{||{||z{{{z{{{{{{{|}{z{{|{{{{|}}|{|{{z|{z{{{|{{}{|||{z|{z{{{{{|{|||||}{{{{{{{|{||{|{{{{{z{{|||}||{}|{{{{{{{{||||{||z}z{|{{{{|||}||||{{{{{|{{||{{||}}{{|{|{{{{||||}}{|{{||z|{||}|{}}|{{{{{{|||{|{|}|{|{|{{{{{{}|||}||||{{|{{{{{|{|}|||{{||{{|{}|||{||{{{{{{{|}||}||}}{|{z{|{{||||}}}||{z{{|z{{|{|{z{|{{z{z{z{}||}{~}}}|}|||~}}|}}|}||{{z{{|}|{|}}|||{{{{{z{{||{{|{|{{zzzzz{{{{{z{{|{{{z{{{zy|{{{|z|z{zzyzy{z{{|{{{zzz|zz{z{{{{{{{z{{z{{z{zz{{{{{{|{|{{{z{{zz{{z|{||{{||z{z{{{{z{z{{z{{{{{zz{{{{{|{|z{{{y{zzz|{z||z|{{z{{{z{zz|||{|||{zz{z{{{{|{|{|||z{zz{{{{{{|{{{|z{z{zz{{|{{{{|{{{z{z{z{{{|||||||{{{|{{{z{{{|{{{|{zz{{{zz{{{z{||{z{z{{{z{{||||{|{{z{{{{{{||{{{|||{z|{{{zz|}|}||}{|{{{{{|{||{{||{|{{|{{{{|{||{{||||{{|{{{{|{|||}}}|{|{{z{{}|{||||{{z{z{{|{{{|{|{|{{{{{{{||{|{{}|||{||{{{z{z||{|||||zz{z{|{|{{{{|{|{{{{{z{{|{{{|}~~|||}}{}|}|}}~|}|{|{{|{z||{|}||||||{|{{z{{}|}{|||{{{{{{{{{|||{||||{|{{{{zz{|{{||{{{{zz|zzz{{{{|{{z{{{z{z{{||{{{{{zz{z{|zz|{z|{{|{|{z{z{{{|{{z}{{{{z{{z{zzz|{}|{||{|z{{{z{z|{{|{||zzz{zz{{{|{{{|{|{{{{{{z{{{{|{{||{{{{{z{{|{|{{z|{{{|{{z|{{{{{|{||{{{zz|{{{||{{|||{{{{{z{{{}|||||||{zz{{|z|{|{|{|{{{{{z{zz||}{|{|{{|{{{||{{{|||{{|{{{{|{{{|||||||{|{{{z{|z{||||||{}{{{{{{{|||}}|}}{|{{|{}||{||||}||{{{|}{|{|||||||{{{{{|{{|||~||}||{|{{{||||}||}||}{{|{{{|{|{|||}}{{|{zz{{{{{|{|}|||{{{{{z{|{{{{{{|{|z{{|{|{|{{}~~~~}}}||}|}}|}~}}|{{}{|||{|}|{}|}}{|z{{{{{{|{{||}{z|zz{{{||{|{{{}|{}{{|{z{{{{{|{{|{zz{{{z|z|{{{{{{z{z{z{{{{z||{{|z{z{{z{{{{{{|{|{z{{{{{zz{{{{{{{||{zzzz{{{z{{{||{{{{{z{{z{|{{z{{{|{z{{zzz{{{{z|z|zzz{z{z{{||{{|{{{{{{{{z{{{||{{{{{z|{{zz{|{{{|}||{{|{{z{{{{||{|~|{{{z|{{{||{|||z{{{{|{z{z{|{|{|||z{{{{{{{{{{{|{{||{{{|z{{z{{{||||{{{|{{}{|}{|||||{{{|{{{z{{||||}|}{|{{|||||||}|||{{|zz{{{|||||||}|{{|z|{|{||{||}|{||{|{{|{|||{||}}||{{z{{|{|{|}|}|{{{|z||{|{}{||||||z{{{|{|{||||}|{{{z{||}||||{|{{{{|{z{{{|{|{~~~|}}|~}}|{|}}{}|}}|{}{{{{|{|}}||||{||{{|{|||{}||||{{{{zz{z|{}|{|{|{{{z{{zzz||{{{{{{{z{zzz{|{|{||{{{{z{zz{z{{{{{z{{{{z{{z{{{{{|{|{|zy{zz{{{z{|{{{|{|z{z{zzz{||{{{|}{{y{zz{{|{{|{{|{{{zzz{{{z{|{z|||zz|yyzz{{z{{{|{|{|zz{z|{{|{z{|||{{{zzzzz||{{|{|{zz|zy{zz||||{|{|{z{{{z{z|{{|{|{{{{{{{{z{{{|{{|{{{z|{|{zz||{{{|||{z{{|z{||{{|||{|{{|{{{||}|{{|||}{z{{z{{{{||||||z|{z{|{{||}|{|||||{{{{|{|||{||}{||||{{{{||~|{{||}|{|{{{||{|{{|{|{}{{{{|{{{{||{||||{{|{|{{||||{||{{{{{{z{{{{{|||{||{{{{z|{{|{|{||{{{zz{zzzz{{}{~~~~}}}}}||}|}}}|}~}|{{{{|{{{|||||}|{||{{{z{{{|{{}|||{z|z{zz{z{{{{{{z{y{|{{{{{z{|{{|{{{zzzz{{{{z{{{z{{z{{{{{z{{zz{|zzz{|zzz{{{zz|{{{{zzzzz{{||{{|{{{{{{z{{{||{{{||{{{z|{|{z{z{{{|{|z{z{{{{z{|{|{|{|zz{{zzzz{{{||{}||{|{{{z{{|{{||||{{{zzz{{{{|{{|{|{{zzz{{{|{||{{||{{{{{y{z{{{{{{|||{{{{{{{{{|{{{{|z{|{z{{{{|z{||{||{z{{z|{{|{|||||{{{{{z|z{|{{|||}{z{||{z{{|||||{||{|{{{{{|||||||{|{{|||}{||||||||{{{{{{{{{}|}|}}{|{{{{{{|||||{|{|{z||{|{z{|{|||||{|||{{{|||}}{|||z|zz|{{||||{|||{|{{{{{{z{}|{{{{||{{zzz{z{{|{|~~~}|}}{}}||}||}|~|{{{z{z{|{|{|{||{{{{{z{{{}||{|{}{||zzzzz{{{{{}{|{z{{z{zz{{{|{||{{z{z{{zz|z{|{{{{zz{zy{{zzz{{{{{|{zzz{{zzz{{z||{{zz{{zzzzz{{z{{z|y{zzzz{{z{|{{|{z{z{{zzzz{|z|z{{|{zyz{{{zz|{z{{{{{zz{{{zz{{{{|{{{{{z{{{y{{{||{{|{zz{{zz{z{{|{|{|{z{z{{z{{{|{{|{{{{{|{{{z{zz{{z{{{{z{{{zzz|{{{{{{{{{{zzz{y{{|{{||{{z||z{{|{{|||||{{{{z{|z|{|{|{{|||{z{|z{{{|{||||||{z{{{{{}}|||{}|{{{{{{{z{||{{||||{{z{{|{|}|||||||{{{{{{{}|{{|||||{z{{{{{|{|{{{|}|{{{{{{{z|||{{{}{{{z|{{{{{{||||{{{{{{{|z{{{||}{|{{{zzzz{{|{|z~~~}}|~||{}|{}|~|}}}{|}{{{}{||}|{{||{z{{{{{{z{|}|{}||{|z{z{{|||}|{{|{{{{z{zz{{{{|{|{{{{{{z{z|{|z||{z{z{{zzzzzz{{{{|{|{{zzzz{{{{{|{{{{{{zz{zz{z{z|{{|zz|{z{zzz{|{z{{{{{zz{{{z{{{z{{{|z{z{{{zz{{{{||{|{{{{{z{{{z{|{||{{{{z{{z{z{|{{|||{{{{{{{{z{{||{||{z{{{{z{||{{|{||{z{{{zz{z{||{|}|zzz{z{z{{|{{{|||{{{{zz{{|}{|{|||{z{{|{z{{{||||||z|{{{||{{|{}{{{}{{y{{{{|{||||{}|{z{{|{{{{||||||||z|z{|zz{}{||||{|{{|{|{{{|{||||{}zzz|{|||}{{||}|{{{{{{{{|{|{|||}{{{{||{{||||{|{|{{{z{z|z|{|{||||{||{|{zz{|||z|z|{z{z{{{{{|{|{}~~~}~}||{||}}~}~}}||}{{|{|z||||||{|{{{||z{z{||{|||||{|z{{{{|{{|{z}|{{{{zzz{z|{{{||{{|zz{z{{{z||{{||{{{z{{zz{{{{{{||{{z{{zzzz{{{{|{{{|z{z{{|{|{{{|{|{{z{{{zz{|{{|z||{z{zzz{z|{|z{{{|{{{{zz{z{{{{{|{{{|{zz{z{{||{{|{{{zz{z{z{{||||||||{|z{{{{{{{{{||}zz{zz{zz|{{{|{|{{{|{{z|zz}|{{{|}|{{{{{{{||{|{||{{{{{z{{{||{{{|{{{z{{{z{z{||}|}||{{{{|{|{|{||{|}|{z{|{{{{||{||{|||zz{|zz{||{|}|||{{|{{}||||}}|}||~||||||{||||||||||{|{{|||||||{|||{{{{{{{{{}|{||||{{{|{{|{{|{|{}{{{|{||{{{|{|||{|{{{|{{zz||||{{||{z{{{{z{{{|||~~}}|}{}}|}}|||}|}}|{{{{{{}}|||||{{{{|{|{{{|||{|||{{{{z{z{{{{|{||{{yzy{z{{{{{{{|||{|{z{{{z{{{{{{|||{{zz{{{{{{{|{{|z{{z{{zz|{{|{z{{zz{{yzz{z{||{{{{{{zzzzzz{{||{{|{{{zz{z{z|z|z{{{{|{{{{z{{z|{|{|{|{z{{{|{zz{{||{{|{z{z{y|{|{||z{{|{z|{{{z{{{{{|{{{|z|{z{|{||{|{{||{{|{|z{z{|{{||||{z{{|{z{{{||||||{{{{{{|z|{|{{|}||{{z{|{z|{|||||||{|{{{|{|||}{{||}z{{z|{{|}||||}||{zz|{{{}}|{|}}}{{{{{|{||||}||||}{z|{{{{|}||}||}{{{|{z{z}{{|||||||{||{||{{|||||~|{{{|{{||{{||}}|{{{{{z{{||||{}||||{{{{|y||}{{||{{{{{{|z{|||{{~~~}~|}}}~}}{}|}|}|{{|{|{{{{|{|{|||{||{{}{{{||{{|||{|z{{}{{||{{{||z{{zzz{{{|z{{{|{{{{{{{zz{{{{{{z{{{{zzz{{|{{{|{|{z{{z{yz{z{{{||{|{z{{zzz{|z|z{|{{{{{{{{{{{zz{{z{{z{{{zzz{{||z{{|{{z{zzzzz{{|{{{z{{zzz{|{{{||{{|{{{{z{z{{{{||{{{{||{zzzz{{||{{{||{|{z{{|{z{{{{|{{{|{|{{{{{z|||{|{{|z{{|{zz|{|{{{||{{{{{z{||||{{|||||{{{{|{{{|||||{{|zz{{{{{|{||{||{|{|{{{{{||{||||}z{{{{{{||||||}|||{{{|{{{|{|||{}}{|{{|{{||||{|||||{{|{{{}{|||}}||{|{{||||{}|{||}||{||{||{{||{||~|{|||{{|{|{{{||||{{z{{{z{|{{{|||{{|{{z{z{}}|{~}~~~}|}|}||}}|}}}||}{|{{||{{}}{||{||{{{{{{|{|}{}{|||{{z{z{{z|z{|||{|z{{{z{{{{|z{||}z|{z{{zzz{{|{{|{||{{z{zz{{{{{{{|{yzz{{{{{||{zz{|{zz{{{zzz{|||||{{{z{{zz{z{z|{{{|{z{{y{z{zz|{{{{{z{z{z{zzzz{z{||{{{{z|{z{z|{{{{{{||z{z{{|{z|{{|||{z{{zzz{|{{{{{{{{{{{z{{z|{{|{|||{{{z{{{{z{{{{{{|{|z||{{{z||||{{||{z{z{{{{||{|||{|{{{{{{{{{|||||||z{z|{|z{{{{}|||||{|{{{{{||}{{}||}|{{|||z||}{|||{{||{{|{{||{{{||||{{|z{|{{{|||||||||{{{{{|||{{}|{|{{|z||{|||{|}}}{{z||{|{|||||{{|{|{{|{z{{{{||{{{|{{{zzz{{|{|{{|{{|{z{z{{{|{|{~~}}~~~}|}}||{}}}}||~}||{{z{{{||{|||}||{{{{z{z{{|}{{||}{{{{z{{{{|{{{||zy{{{{{z{|{|{{||{{{zzzz{{{|{{{{|{{{{{z{{z{|{|{{{{zz{{z{{{{|z{{{{|z{zz{zz{z{{{{|{{z{zz{yzz{{{{{{{|zzzzyzy|{z{{{{{z|z{zzz{{{{{|{{{|{{{{z{z{{{|{||}{{{zzz{z{{{z{|{{{{zz{{z{{{||{{{|zz{{zzz{|{{{||{|{{|z{z{z{{||{{|{{{z{{zz{{||||||z{|{{{{|z{|{|{{|{{{|{z{{{{|{{{{||{{|z||{z|||}z|{||{z{{{{|{|||{{|{}{|{{{|{{||}||}}{{{{{|||{|{{|||{|{{|{{|||}||||||||||{{|{}||}}|||{{|{z{{|{|{|{||{{{{}|z|{}|||{{|||{{z{|{{|{||||||{{{{{||{||{{|{||{{{{{{{z{{|{{~~~}}~~|}}|||}|~{|||}||{{|{{}|{||||||||{|{z{{|{{||{{||{||{z{{z|||{{{{||z{z|{{z{{|{{||{|{{z{yz{{{||{{||z{z{{{{z{{|{{{||z{{{{{zz{{{{{{|{{|{{z{{{{||{|{||{{{{z{{{{|{}{|{||zz{z{{y{{{z{z{{{{{{{y{{{|{{{|||zz{|{|{{{|{|{{}|{{zz{z{{{||{{|{{{z}{{z{|{{{|{{{|{{{{{}|{|{}||||||{||{z{|{|||{|{|||{{{{{{z|{{|{|z{{{{zz{{||{{z}{|{z{{|{{{{}|{||}|{|{{{{|{{|}|||}|||{{|z|z{}}{}|}||{|{{{{{}|{{|}||||{|{{|{|||||}||||z||||||}||||||||{{|}{z||||}||}|{{{{{{{{|{}}||}|{{{{z{{{||}||}||{|{||{{{|{|}|~||{{{{|z{|{||{{}|{{|{zz|{{||{|~~}~}}}|}|{||}}~}|}}}|{|{|{{|{|||{{{{|{{|z|{|}{||{{}{{{|{{{z{{||{|{{{{{z{{zz{{|{{||{z|z{{zzz|{{{z{z{{{{{zzy|z{{{{|{{zzzz{z{z{{{{{{{{{zzzzzz{{||z|{{{{{zz{{z{{{||{z{|{{{zz{{z{{{{{|{{{{{z{{{{{z{{{}}{{z{{{{zz{{|{{{{|{{{{z{|z{{{z|{|||{{z{yz{{{{{|{|{{{|{{zzz{|{{{||{{z{zz{z{{|{|||{{z{{z{{{{{{|||{|z{z{{zz{{||{z||{z{|{{z{|{{{{||||{{|{{{{{{{}|{|{{|{{{|{{{{{||||||{{z{{{|{z{{{|||||{{{{{z|{{||{|||}{{{|{|{{{}|||}}|{|{{{|{{||{}|||||{{{{|{z{||||{{||{{|{{{{|{{|||{|{||||{{{{||{{|{}{{|{{{zz|{||{{{|}z{{zz{{{{||{~}~~~~~}|}}}|||}|}{|}{}||z{|{|{{{{}|}||||{||z{{{|{|z|{|{z|zz{{z||}|{|||{z{zyzzz|{{{{z|{{z{{{{{z{z}{{{{||z|{{{zz{{{{z{||zzzz{zzz{{{{{{{z{zz{zzz|{{{||{|{{{{zzz{zz|{|{z|{{z{zz{{y{{z|z{{||zzz|z{zz{z{{{{{{{zz{z{z{z{||||{{|z|{{{z{{{{{|{||{z{z{{z{{{{{|{|{{{{{{z{|{z||{||zz{{{z{z{||||||z{{{{z{z{{{||||{|{zz{{zz{||{{{{z|{{{{{{z{{|||{||{{{|{{zz{{|{{|||||{{{|{{{|||{|{|{{{z{||{{||||||||{{|{{|{{{|||||||{{{{{|{{{|{|}|{|{{{|{{{{{||||{}{{{{z{{{{|{|{{|}|{z{|{|{{{{{|||{|z{zz||{{||{{|}}|{{z{|{{z{|||{{||{{{{{{z{{z|{|~~~~~||||||||}|~}}}~|{|{||{{|{}|||}|{{|z{zzz{||{{{|}{{z|zz{{{{{||{{{|{z{y{{z||{{{{|z{z{yz{{z|{{{z{|{zz{z{{{z{{{{z|z{{zz{|z{{{{{{|{|z{{zz{|y{{||{|{{{{{z{{z{z{|{z{{|{{{|zzz{zzz{{||{{z{y{zzz{{{{{{|{|zzzz{zzz{{{{z|{{zzzz{{z{{{{|{{|{{{{zy{{z{{{{{|||{{z{{{z{|{{|{|||{z|{{{{{{{|{||{{z{{{{z{{{{|||{|{{{{|z{{{||{|{{||{{{{{{{{{|||||||z{z{|{{{}|}|{|{}|{{{{{{z|||||||||z|{{{{{{}}|||||||{|{{{{||{|}||||{{}{{{{{|}||}}}|{{{|{{{{{{{||}}{|{{z{{{||{|||||{zz{zz{z{|{||}}}{{{{{{{{{{{{{||{{{{{{z{{{||{{{|{|{{{{yzz|{{{|~~~~~}}|~~|}|}{}{}||}|}{{||{|{{{|||||}}{{{{{{z|{{|{{}||{{zzzz{{{{|{{|{}{zzzz{{z{|{{z|||z{{{{{z{|{{|{{||{{{{z{{{|{{{{{||{zz{{{{{{z{{z{}{z{z{z{z{{{||{|{{z{{{{{yz{{z{{{|||{{y{zz{z{{{{{{{{zz{zz{{z|z{||}|{{z{{{{z{|{{|{||{{zz|{z{|{{{{{{}{{{zzyzz{{{|{||}{{z{{z{z{{{|||{|{{|{{z{{{}{}{|||{{{{z{{{{{||{{|{z||{{{{z{z|||}||{{|z{z|{}|||}||}{z{{{z|{|||}{|||{{{|||z|||||{|}{|{{{{{z|{|||{|||||{|{||{||{||{||||{z{z{{||}|}|}|{z|{{z{{||{||}|||{{{||z|{||||||}|||{|{|{|}|}|{|||{{z{z{{||}{|{}|{z|{{z{{{||}{{}|{|{{{|{{||{{{~~}~~~~~~}~}}}~}||{|~}}}}|||{|||||{{{||}|}{||{{{{{{|{|||||||{{{z{zz|{|{{{|}{{{{zzzz{{||{{{{|{{z{zzz{{{{{|{{|z{z{{{z{||{{|||{z{z{{zyz{|{||||{z{zz{{{{|{{|{||{{{{zz{z{{{||{|{|z{{{zz|{z{|||{{y{zz{z{{|}{zz||{z{{{||z{{{{z{z||{{zz|{{{{|{{}{{{{{{z{{|{|||{{}||{{|z{{|{|{|{||{|{{z{{{{z||||{{|{{{{{{{{z{|}|{||{{{{{z{{z|||||||}{{z{{{{||{{|{|{|{{{}|z}z|||||}}|{|{{||{{z||||||||{{|{{{z|||{|}{}||||{{||{{|{|}}|}{|{||||{|||}||||{|{{{{{|||||}|||{{z{{|{||{||||}{{{{||{|||||}||}{|zz{{{{{|||{|}}|{{{{{{z{|||{|}{|{{z{{{{{{{||~~~}~~}}||}|{{{|}}|{}~|}||{{|{{|||{||||}{{}{z{{{|{{{{|{}|z{{{|{z{{||{|{|{{|{z{{{||z{|{{{|{z{{{{{|{|{{|z{{{{{{{z{{{{{{{{{{{{z{zz{z|{{{{{{|z|{z{y{{{{{{|||{{{zzz{y{{|}{{||{zz{{z{zzz{{{{|||z{z{z{z{{{{{||{{zz{{{{z{{z{|{|{{{{z{|z{{{{{{|||{{{{z{zz|{{{{|{|{{{{z|{z|{{{{|{|z{{z{{{{|z{{{|{{{|{|{{{{{{|||||{||{|zz{z{|z{{||{|{{|{{|{{||}{{{|{|{z{|{{|{|||||||{{{|{{{{{{{}z|||{{{|zz|{}|}||||{{}{{||||}{|||}||{{{{{||||||||||{{|{||{{}|}||||{|{{{{z{{{{{||||||||{|{|{|{|||||}{|{{{{{|{|{||~|{|{{{z{|z{|||z}|{|{|{z|{z{|||{~~}~}~~}~}}~}|}}}{~}}|||~}}{{{|{{z||{{{|||{{{{{{{||{|||||||{|zzzz{|{{||||{{{{{{zz{{|||{{|{{{{{{{{{|{|{{||zz{{{zz{z|{{{{{{|z{{z{z{z|{{{{{||z{{zzzz{{|{{||{|z{{{z{{z{|{{{{|||zz{zy{z{|{z{|{{z{z{{z{z{{{|{||{{{{{{{{z{{{{{{}{{z|{{z{{|{{z{{{}{{|{zz{{|{{|{|{||{{{{||{{z{|{|{{{{{z|z|{|}{||}|}|{|{||{{{|{{||}{}{z{|{zz{|{{{{|{{{|{{{{|{|}}{}|}{|{{|{{{|||||||{{{|{|z{{||||}|{{|{{{|{|{{|{}|}||{{{|{||{|}||}|}}|{|{{{|{{|}|||}|{{{||{{{|}|}}|||}{{{{|{{{||||||}|{{{{{z{}|{||{}||||{{{{{{|||{||||{|{{{}z{}|{|||}{z|{|{{||{|{{~}~}}~}~}~~}|||||||||{|||~||}|{{{{{{{|||}|{|{|{{z{|{{||{{{{{{zzz{{z{|{{||{|{{{{{{{y{{|z{{{|{{{z{z{{{|z{|{z{{z{{|z{y{{{z{{|{z{{{{{{zz{{{{||z{z{{z{zz{{|{{{z{zzz{{y{{{{||{{{|{{{zzz{z{{{{|{|{z{z{{{{{z{{{{{{|z{{{{yzz{||||{||{z{zzz{{{||{||z|z{{zz{{{}{{{{{{|{{{{z{{{{||{{||||z|z{{{{||{||z|{{{{{{{{{||{|{|||{zzz{z{{{||{{|{|||{{{{{||{|{|||||{{{z{|{||{{{||}|{{{{zz{{}||}}|{{{{|||{{|||{|}}|{||{{|{{{||{{{|{||{|{{|||}{|}||~|{|{{{||{|||{||{|{|{z|{||{{|{|~}|{{{{{||{||}|{||{|z{{|{{{||{||||||{z{{|{{{||||||{z|z{yz{{{{z|~~~~}~}}}~~}}}|~}z||}}~||}}|}}|{{||||{{|{{||}||{{{{{{{|||{{{|}{{|{z|{{{|||{|{{{z{{{{z{{||{{||{|z{{{z{z{||{||z|yz|{z{zz{{z|z||{|zzzzzz{{{||{|{{{zz{{{{|{|{{|||{{||z{zz{{{{{{||z|{z|{z{{|{{{{||{|{z{{{{{{|{z{|z{z{{z{{{{{{{|{{||{{{{{zz{z{{{{{|}{{{|{z{{{{{{{|{|{{zz{{{z|{{{||||{{{z{z{{|||{{||{{{zz{{{{{{|||||{{{{||z{||{|{{||{{{{{|{z{||}|{}|{{{|{|{|{{|z{{|||{|{|{{{{{||||||{|{{|{|{|{}{}{|}}||{|{||z}}|||||||{{|{|{z}||}|||}|z||z{|{||||{||||{{||||{||||||||{{{|{z{|z|{|||}||{{{{{{||||||}||{|z{{|{{|}|}{{||{{{z{{zz{{|{{~~~||~}~}~}}|}|{||}}}{|}}}}||{|{|{{|{{||||{|{{{{|z{|{{|{z{|{z|y{{|{|z|{{{{{{{z{{z{zz|{{|{{{z|{{zzz{{{|{{{|{z{|z{{zz{|{|z{{{{{{{{z{{z||{{||}|{z{z{{z{{|{{|||zz{{z{z{{{{{{{{||z{zz{{z{{{{|{{{{{{z{{{zz|||{{{{|{z{z{zz{{||{{{|{{{{|z{{{z{{{{{}{z{{{z|{{{{|{|||{{z{{|{{|{||{{||{{{z{{|{{|||{||||{zz{{z|{|||{||||{{{{{{||||{|||{|z{{{{{{}}{{{|||z{{{{{{{{||||{|}{{{||{{{|||||{||||{{||{{||||{}|}{{||{{||{||{|}|||{{{{{{{|~||{||}|{||{{{{||||||||}{{{{{|||{{||{}|{}{|{|{||{|}|}|||{z{{z{{{|||||}|{|{{|{{{|{|}||||{{|z{{{{{}|||~~~}~}}~}}~}~}~||}|}{|{{|{|}||}{{{||{{{||{||||}{z{zzz{z{|z|{{|||{{{zz{z||{{|{|{{{{{zzzz{|{{{{{|{z{{{{|{{{|zzz{{z{{{zzyz{{{{{{{|{{{z{{z{{z{|{z}{zz{{z{z{{z{{{{|z{z{zzz{{{{|{|z|{{{{{zz{zz||{{{{zyzzzzz{{z{z{{{z{{zz{z{zz{z{{{{{}zzzzzz{{{{{z||||{{{z{{{{{{{z{|{|{{z{zzz{{||{{|{|{{{z{{z{{|{{{}{{|z{{{z{z{z{{{{|{|z{{|z{z|{{{||z{{{{{{{{{{|{|{}|{zz{{|{{||{{z{|{}|z{{{{{z|{|||||{z{{{|{{{|||{{||{{{z{||{{{|{|||||{{{{{||z|}{{|}|||{|{{z{{{{|||||{{{{z{{{z{|{{|||}{||{{{z|||{|{||{{{{{{{zz|{z{|{||{z{{z{{z|{z}|||{z{{{{{{z{{{zz}~}}{}~}}}~||~|}||||||~}|}|}}{}||{{|{|}|}{}||||z|{{{{{{{{{{{|}{|{{zz{y{{|{|}z|{zzzz{{{z{|{{|{{z{zz{{z{{|{{{{{{yzzz{{z{z{{{{{|{{z{{zz{z{|{z||||{|yzz{{z{{{{||{|{{z{{{{{{{{|z||{{{{||zzz|{{zz{{{{{z{z{zz{{{{{}{{{{{{z|zz|z|{{{|{{{zz{{|{||||{{|{|{{{zz{z{{||{|{|{{|{z{{z|{{|{||{{{|{{z{||}{||||||z{{y{{{{{|||||{|z{{{{{{||{|{|{{|z{{{|{|{{||||{{{{{{{{{|||{{{{|}{|z|{{{{{|{||{||}{{{{z{z|||}{||||{{{|||{|||{}}}||{{{{||{{|||}}}||{|{|{{{|||{{|}||{||{{{{|{||{|}||{||}{y||{||||}|{|{zz{{{{{||{||||{{zz{{{{{||||{||{{z{z{{{{{||~~~}}~~~}}}}~}}~}{}||{|{|}|||}}|{z{z|{{|}|||{||{{{z{z{{|{{{{{{{}{{zzzz{{|||{|||{{{{{z{{{{|{{{|{{|zz{{z{z{||{{|{{{{{{z{z{|z{{{|z{zz|{z{{zz{{{||{{{{z|zz{{{{{{{{{{{z{zz||y|{{|{|||{{zyz{{{{{{z{{{{{{z{z{{{{|{z||||zz|{{{{||{{}{|{z{{{z{zz{{||{{|||{zzz{z{z{{{{{{{|z|{{{{{{{{{{||||{{{{|{{z{|{{{|{{|{{{z{{z|||||{|{{zzz{{{{||}{{||{z{{{{z{z|{||||||{||{zz|{{|||||||{||{{{|{{|||||||{z{|{{{{}}|{||||{|{{{{|{|||}||{||||||||||||||{||||{||{{z|{|{{}||{{{{{{{||}}{||}}|{{{|{|||||}|||||{{z{{{{||{|||~}{{|{{{{{{|{|{||{|{{zz{{z|{|{|~}}~|}|}}|}}}}}|}|||{z|{|{||}|}|||{{{|{{|z{}{|||z{{{zz{||{|{{{|{{zz{{{z{|{|{{{|z{{z{{{z{||{{|{{zzzy{zz{|{{{z||z{zzz{{{z|{z|{||}{{zyzzyzy{{{{{{{{{y{{zz{{{{{{|{|z{|z{{zzz|{z{|||{z{zzzzz{{{{{{{|{zzzz|zzz{{{{{||zyz{{zz{{|{{{|||{z{z{{{|{{{{{{|}{{z{z{|z{|z{|{{|z{{{z{{z|{|{||{{|{{{z{z{{|{{|}{{{{zz{{{{{{{{|{|{{{{{{{{{{{{{{|{|z||z{z{{{||||||{z{z{{||{||{|{||}{{|{{{{{{||||{{|}{{{{{{z{|{|{|||{{|{{|{{{|{{||{||{{{{{{{|}||}|}||||{{|{{{||{|||||zz{{{|{|{||||||{{{|{{{{|{{||||}{{{{z|z{{||{|{||{{{{{|z{{{{|{{|{|{{{{zz|||{|{~~~~~~}|~||}~}|}||{}{{{{}||}{}|||}|{|||{{z|{|z|||}|{|{z{z{|{{{{||{zz|{{{z{{{||||z|{{z{{{z{{|{{{|{{{{|{z{zz||{{{z{{{{{{zzz{{zz|{z{|{z{{{z{z{{{y{|{{zz{{z|{z{{{{{||{zz{zz{z{|{{{||{{z{{z{{{z{{{z{|{{{zz{{{z{|{{{{{{|{{{{{{{z{{z{||{{{{{{zz{{{||z{{||{z{{z{|{{{z{{|||z{{z{{{z{{|{{{||{{{{{{{z|}{{{|||{z{{{zz{|||{||||{{{{{{{z|||{{|{{|{{{z{z||||}}{|}{{{{|{{{{|{|||||{{z{zzz{||{}|{}|{{{z{{{{{|{|{|{||{{{{|{z{|{{|||||{{{{z{{{|||{}|||z{{{z{||{|||{}||{{z{{|{||{|{{||{{|{{|{{{|{{{||}{{zz{z{{||||}||{{{|z{{{z{||||||||{|{{{z{{{|||}}}}~~}|~}~}}}|}|||{|{{}}|}}}||||}{{{|{{||||||||{{{z{|{{{||||{{}{{|zz{{{{|||{|||{{{{z{{z{|{{z{{{{{{{{{zz|{|z{{{{{{{y{{{{{{{{{|||{z{z{{{z{{|{{{{{{{{yy|zz{{{{||}{{{{zz{{{|{{{{|{zzz||{{{zz{{z{|{|z|zzz{{{{{{|{|}{{z{z|{zz{{{|{||{{z{{{zz{z|{|{|{||z{zz{{{||{{{}|}|{{{{|{{{{||{{||{{{{{{z{z{|{|||{{|{{|{{{|}}||{||{z{{{{|{|}|{||}||{{{{{{||{||||}||}{{|||{{|{|{|}|{{{{{{{{{|~{|{|||||{{{{|||}||{|||{{{{{|{}{||}||}|{{z{{{{{}}|||}}|{|||{{{||{||||||z{|||{|{||}|}|}||{||{{|||||||}|||{{{|{|{|{||||{{|{|{{{z{{|||||{z{{|{{z|{{{{{~~~}~~}~~~||}~}|}~}}|}|{||||||}|||~}{|{|{||{}{}{}|{|{|{{{{{{{|||{}|{{|z{{{{z{{|||{}{{|z{{z{{{||z|}{{{|{{|z{{{{{{|{|{z{{{|{{||{|{|{{{z{zzzz{{{{|{{{|{zz|z{zz{{|{{{||{z|{z{z{{{|||{|}{z{{z{zz{|{|{|{||z{z{zz{{}{z{|{{{{{|{z{{{{||{{||{{{{{{{{{|{{{{|{|z{{{{{z|{{|{|||{z|{{{||}{|{{{|{{{{{{{{|{|{|}{|{{{z{z{{{{|||{{|{{||{|{{{{|{{{{|{|{{|{z{{{|||}|||{{{{|{{{|{z{{}|}}zz{{{{z|{}{||||{{{{|{|{}}{||||{}{{|{{{|||||}||}|z{|{|{|||||}}}}||{|{{|{||{}}|{||z{|{{|||{||{{}||{{{||{|{{|||}||{|z|z{{z|||||}|||||z{{{|{{||}||z{{{{{{{{|||{{~~|~|}~~}|}}|}}|}}}{|{{{|||}{|}||}|||{{|z{|{z{}{}||{{{{||{{{|||{|||{|{zzzz{z{|{|{|{z{{{|{{{|{{{{{|{z{{{|z{{{|zz{{{{{{z{{z{|{|{{|{|{z|zzzz{{z{||{|{{{z{z{zz{{|{|||{{zz{zzzz|{|{{|{{{{{{{{{zz{{{{{{|{z{zz{{z{{{{{{||{{z{{{zz{{{|{|{|{{{z{{z{{{|{{|{{{{z|zz{{{{{|||||{{{{{zz{{{{{{|||{z{{|z{|||{|{|{{|{zz{{z{{{|{{||{|{z{|zz{{|{{{{||}z|z|{{z|}}{|{|{{|{{{|{{|||||}||{{||{|{{{||{||{||z{{|{zz|||{|{|{z{{|||{||}|{}{{}{{{{{{{{||||{||||z|{z{{||{|||||||{{{{{{||{|}|}|||{{{{{{{|||||||{{||z|z|{||||{|}{|{||z{{z{{{|{|||{{{{{z{{||{{|~}~~}}}|}}||}}}}}||{{|||{{{|{|{||||||{{{{{{{}{||}||{z|{y|z{{|{{|{{||{{{zz{z{{|{|{{|{{{zzzz{z|{{{|{{{z{{|zzzz{{{{{{{zzzzz{zz|{z|z{{{y{{{zz{{z|{{{z|{zz{zzz{{{{{{{{z{{{{zzzz{{{{{{{|z{{{zzz{z{{{zz|{|zzzz{{{{z{{z{{{{{z{{{{zy|{{|{{{|{{zz{zz{{{|{{{||z{zz{{{{|{|{|{{}z|{{z{z{z|{||{|{{{|z{{z{{|{|{}{{z{{{z{{{{{|{|{}|z{{z|{{{{|{{{|||{{{z{{{|{|}{|}|}{{{|{{z|||||{{||||{{z{zz|{|||||{{{|zz{|{||{{z|}}|{{{z{|||{{||}|}{{{z{|{{{}|{{}}{|||{{{{z}{}{{|||{z{{{{{|{|||}{|||z{{{{{{||||{{}{|{{zz{{z||{||||{|{z|{{{|{{}|{{{|{{|z{zzz{{|||~~}~}}}||}||}||~}}||}|||{{{|||||{|||{|z{{|{{{||{||{||}z{{z{{{|{{{||{{{{zz|z|{{|z{||{{{z{z{z{{{{z{{{z{zzz{zz{{|{{{{{{z{z{z{{|{{z{{||zzzz{yzz{|{{|z{{{zzzz|{{{{{{|{|{{z{{z{{zz{{{{||}{y{zzz{zz{|{{||{|z{{{{z{zzz{{|||{zzz{{zz|||{{{||{{zz{yzz|z{|{{{||z{{zz{{|{{{{{||z{|{z{zzzz|{{{||{zz{{zzzz|z||||{{{{{{z{{||||{{||{{{{{z{{{|{|{|{{{|{{|{{z{{|||{||{{{{{{{{|{{}{||{{z{{{{|{{{{|{{|{{{{{{{{{|}|||{|{{{{{||{{{|{||}{}|{{{{{|{z||}{|}|{{{||{|{{}|||}}{{{|{|{{{|||||||{{{z|{{{{|||}||||{{{{{z{{||{|{|}|{|{{z|zz{||}{|{{{{{z{{{z{{{{{}~~}~}}}|||}~}~}}|}|{{{|{{{||||}|{|{|{{{{|{|{{{{|||}z{|{{{{|{{|{{||z|{{{{|z|{{|{|{{{{zzz{zz{|{{{{{{||{{{{{{{{{z{{|z{z{{{{{z|{{{z{}|{z{z{zz{{{{|z|{||{{{zzz{{{|{|||{zz{{{{{{{{{{|||}zzzz{{{{{z{{{{{|{|{z{z{zz{{{|}{{{{{{{{zz|{{{{{||{{zy{zzz{{{{{{|{{{{z{z{{|{|{||{{z{{zz|y{{{||||{|{{|z{{|{|{{{||||{z{{{z{{|||}{{|{{{z|{{zz{{{{{||{{|{{{{{z||{|||{|{{{z{{{|||||{|||{{{{|{{{||{|||||{{{{|{{{|||}||||{{{y|{||||||{|||}{{{{{{{{~|}||{||{{|{{|{|}||||{||{{||z|{||{|||||z{{||{|z|{|{||{}{{{{z{z{z{||||{}{|z{{{{{{}||||{{z{{{{z{{|||{{}}}|}}}|{{||}}|}~||||{|{{{{|{{||{{|{{z{{zzz{|{{|{||{z|z{{zz{||{|{}{|{zzzzzy|{{{{|||{{{{zz{z{{{{z{{{{{zyzzzzz{{{z{|z{z{yz{{{z{{{{{|{z{zz{z{zzz|zz{{{{y{{y{yzz{{z{|{|{zz{zz{{||{{z{{{{{z{zy{zzz{{z{{{|zz{{{zz{|{zz|{{z{zz{y{z|{{{{{|{{z{z{zz{z{{{z{{{{zz{zz{z{z{{{{{{zz{z{yzz{z{{{{|{{{z{{z{zz{|{|{|z{{{z{zzz|||{{{|{z{{z|z{{{{zz{{z{{z{z{zzz{{{|{|{{{{z{zzzz{{z|z|{|{zz{{|zz{{{z{z||{z{z{{{z{}{{{||{{{{{|{{|{|{||{{{|z|{{zz{{}{||{|||{|{z{{{{{{}||{|{zz{{|||||{{{{||{{{z|z{{{{{|{{||{||z{{{||{{|{{||{zzzzz{{|{{|{|{{{{{{z{}z{z{z|}~}~z|}}{|{{}|}}}||{||{{{{{|{{|{}||{{{z{zz{{{|{||{{zzzz{z{|z{{|z|{{zz{{{zzy|{|||z|{zz{{zz{z{{yzz{zzz{zz{z{z{z{y{{|zzzz{zzzz{{{z{{z{{zzyzzz{{{{z{{z{zzzzzzz{z|{{{{{{{{{zz{zy{{{z{{{z{zz{z{zy{z{zz{z{z{zzzzzzzz{zz{{|{z{zz{zz|z{{{|{{{{zz{y{zz{{zz{{|{yz{z{{z{{z|{z|{{z{zy{{y{{|{z|{{{z{z{z{z{{{z{{{||{{{{yz{z{{|{{{{z{{{z{z{{{|{|{z{{z{|zz{z{{{{|}{{zz{z{{{{|{|||{|||{{{{{zz{|{{|}|{{zz{{|{z}z{|||||{z{{{{{{{||{|{{||{|{{{{z||{||{|}|{z|{{|z}{{||{|{|{|z{{{{{z{|{|{{|{{{{z{{{{z{{||{{{{zz{z|{{{|{{|{|z{{zz{z{|||{{{|{zzz{zzz{z{{||~}}}{|||||}}}|}|}}{|{zzz{{|||}||}||z{z|{{{|{|||}}|{z{z{zz{|{{|zz|{|{zz{{zz{|{|{{||z{z{{{{z{{|z{||{{{{zzzzz{{|{{||{zzzz{{zz{{{{{{{|{z{{zz{y{||zz{z|{{zzzzz{{{{{{|{|{zz{{{yz{|z{{{|{z{z{{z{zz{{z{{{zzzzzzzzzz|{{{||{{{|{{{zz{{{{{{{{{zzz{z{{|{|{||z{{{|z{zz{z{}z{|{|{{{{{{{z{{{{z{{||z{|{{{z{{{{{{|{{{{z{zz{||{{{{|{{{{{z{z{{{{{{|{|{{{{z{|{|{||}|||z{{{z{{{{{{|{{}}{|{{z||{|}||}{||{zz{{{z{|}|{{{{{{z{||{{z||||{||{}{{{{|||{}{}|{{||{{{{{{{||{{||{|{{z{z{{{{||||{||{||{{{z{|{{|{|||{{{z{{z|z{|{||{|{{z{{z{{{|||{|{zzz{z{{z{{||{{|}~}|}|}|||}}}|||}}|{{||{{|{{|{{|||||{|z{z{|{{|{||{{{}{{{{{{{{|{{|{{{zz|zzz{|{{{{{|{{zz{zzzz{|{{{{{|{{zzz{z{{|z{|{|z{{zyzz{{{z{z|{{{{yz{zzz{z{{{{{{{{zz{zzzzz{{{z|{zz{{zzzz|z{|{}{|{{{z|z{yzzz{{|{{y{zz{z{zz{{{z{|{zz{z{zz{{{{|{{{{zzz{{{{z{|{{{||||z{{{z{{{{{z{{{|{{{z|z{{{{{{|||{{z|z|||{{||||{{{|{zz{zz{|}|{{|{{zz{{{z{y{||{z{{{{{zz{|{{z|{||}{{{{{z|{|{}|{|||{|{{{{{zz{|{|{{{||{{|{|{zz|||||{|}|{{{z|{{|{|{||||{z{|z{zzz|{||||||{|{{{{{|{|{|||{|{z|{|{z{|{|||||z{|{{|{|{|{|{{||{{{{{{{{{|{{z||||{z{z{zz||{{||{|{{z{{{{z|{{{{}}||||}|{{|{|}{|{~||{{{|{{{}}{|{{|{|{{{{{{{|{zz{|||{z{{{z{{{{{|z{{{{{z{zz{z{{{{|}{||{{zzz{zz{{{z{{{zzz|zz{{{{|{z||{zy{z{zzy|{|z{|z{{zzzzz{z{|{{{|{{z{{{zzzz{|{{{{|{y{{{zzz||{{{|{{{{|{{zz{zz{{z|z{{z{zzzzyzz{zzz{{{z{zz{z{z{{z{{{|{{z{z{z{{z|{z{{{z{z{zz{zz{z|{{{|{zzz{zzzz{{|{|z|{{zzz{z{zz{||z|{{z{{{{{{y|{|{{{|{{{z{{z{{{|{{{{{{z{{{{{{{|||{||{|{{z{{{{z{}||{|{}{zz||zz{{||{||}|{z{{|{{{||{{|{||{y{{{{|{{|{{|}|||{zz|{{{{}{|{{}|{z{{{z{{||||{{|||{{{{{z{|{|{{||}|zz|{z{||||||||{{{{z{{{|{{{||||{{|{{{{zz{|{}{{}|z{||zy{z}{{z|}}}|{|||||||{}|}}||{||||{z|{{|{}||}{{z{{|{z{{|||{{|{z{{{|z{{|{|{{||{{{zzzzz|{||{{||{{{z{zyzz{{||||{{{{{{zz{{{{{|{{{{zzzzz{z{|z{{|z{{z{{|zzz{{||{|{{{{z{{zzz{||{||||zz{zzzzz{|{{z{}{{{{{{zzz{{{{{|{z{{zzzzz{{{{{{{{|z{{z{{z{{||{{|{{zz{zzzz{|{{{{{||zz{z{{{zz|{|{|{|{{zzz{{z{z{||{{||{{zyz{{{{|||{|{{{{{{{{z|{||{{|{{{z|zzz{||{{{|||z{{{zzz{{z{|||{|{|z{|z|{|{{|||||{z{||{{{{||||{||{z{z{{z|{||{{|{|{{}{{|}{{}}||||||{|{z{{{|{|{|}|||{{{{{{|||{{{|||{zz{{|{{{|{{{|||{{{{{{z||{{||}{}|{|{{z|z{{|{{{|||{|zz{|{{|{z||||{z{{{{{{{||{{}}|}|||{||z||}}||||{{||{|{{}|||||}|||{zz|z{{{|{{|{{|{{|{y{z{{||||{{{zzzz{{{|z{{{|{|z|{zz{{{z{z{{|{{{{zz{{zz{{||{{|{{{{yz{{z{{{{{{{{{{z{{zzz{{{{{{{{{{{z{{yz{{|{{{{{{{{{{{z{|{z{{z{{z{{z{z{z{z{{|{{|zzzzzzzzz{z{{}{{{z{{{{z{z{|{{|{{|z{{{{z|{{{{|||{{{zz{z{{{||{{{{|{z|{{zzz{zz{{{||{{{{zz{z{{{{|{{|{{{zzz{z|||{{||{{{{{z{{{{{{{zz{{{{{{|{{z{{|}||{|{{{{{||{||{|{|{||z||{{{{{||{{{{z|z{{{{z{|}||{{|}|z{{{|{{{{{|||}||{{{{{{{{|{|{}||}{{{z|{z|||||||{|{{{|{{|{{||||||||{{{|zz||{|z{|}{{z{{{z|{|{z|||{|{{{z{zz{||{{|{{z{{{{zz{{||{{|||||{||||{|}|||||{|{z{{z{{||{||{}|{|{{{{{z|{{{|||{{{{zz|z|{{{|z{{|{{|yz{z{|{||{|{|{{zzz{{{z{{{z|{{z{{{zzzyz|{{{{{zz{{zzzz{{z{|{|||zz{{|zz{{{{{{{z{{z{{zzzz{z{{{{{{z{z{y{zz{{{{|{{z{{{z{{{zzy{zz{{z{{zz{zz{z{{{{|{|zyz{{z{{|{{{{{{{{z{{zz{z|{|z{{{{{z{{z{{{{{{{{{z{z{z{zz{{{|{{{|{{zz{{{{zz{|{{||z|{zz{z{z{{{{{{{|{{{zz{{z{||{{{|{{{zy{{|z||{{{{{|z{{{{{z{{|{{}|||}{{z{{{y{{||{||{||{{{{z{z{|{|||||z{{{{{|{{|{{}}||{z{|{{{||||||||||{|{z{{|}{|{|||{{{{{{{{{|{|{{{||{{|z|{z{|{{}{}||z{zz{z{{{{{{{{|||z{{{{{{{|{{|{|{{{|zz{z{|{{|z}}}||||{{|{{{|}||}|{}zz{{{{{||||||{|{{zz{{{||{||||||{{{{y{{{||z{{||{{{zzzzy{|z|{{{{zz|{zy{{{|{z{||{{z{{zzzz{{{{{{|zzz{zzz{z{{z{{{{|zzzy{zz{y{{{{{{{zzzzyy{{z{{{|{{{{zzz{z{yz{{|{{{{z{zz{zzz{{{z{{{{{{zz{zzzy|{zz{{|y{{z{zzz|z{|{|{{{y{z{z{z{{|{{|||{{{z{zz{{z{z{{{|{{{{{{{z|z{z{{||{{{z{z{|z|||||{{{z{{{zzzz{||{{|{{{{{zzzz||{|{|{||{{{z|{|{{||{|{{z{{{{z{{|{{|||||{{{{|{{{{{{||{|{|{{{|{zy|{|{||}}{|{{{{|{{{|{||{|}{{{{{{{{||{|{}{{z{|{z{z{{{||}{|{z{z{{{|{{{{|{||{{{{z{|{{{{{}{||{z{z{zzz||{{{|}||{{z{|{{||||z{{|{{{z{z{{{z{{|}|}{}{|z{|{{}|||{|}||{z{z{{||||||}|{z{zz{z{{||{|{|||{{{zz{z{{{|{{||{z{{{{zy{{{{{zz{z{{zzz{z{{{zz|{{{z{zz{{{{{{{z{|{z{z{z{{z|{{|{{{{zzzz|z{{z{|{{|{|{{{zz{z{z{{{|{z|{{{{z{z{zyz|z|{|{y{{zz{y{{{|{{{{{{{{{{zzzz{{z{{|{{{{{zzz{zz|{{||zzzz{z{{{{{{z{{{{z{zz{{|{{{{{{{}{{{{{z{{{{{{{{{||z{z{yzy{|{{{{{|{zz|{{yz{{||{|{{|{z{z{yz|{{{{{{{{{{{{{{{{{||{||{{{|z{{{||||{z||{{{|{|{{{{}|||{||{{zz|{{z||}{{{||{{{{{|{{{}||{|||{{z{z{{{||{|{{|||{||z{{{||{||||{}{{z{{{{{{{{|||}|{{{|{{||||}{|{|}{{z{{{z{{|z{||{|{z{{{zzz}{{{{{{{z{z{{z{z{{{{{{||{{||||z{}||{|{|z||zzz{{z|{|{{{{{{{z{{zz{z{||||}{{{{zzzz{|{{z|{{zz{zz{zy|{{||{||zz{z{zzzz{zzz{|{z{zzzyzy{{|z{z{z{z{yz{z{{{y|z{{{zzzzzy{zz{|{z{|z{zzzy{yz{z|{{{z||z{yzyz{z{{{{{|{{{z{{zyz{{{{z{{{{{yzzyz{z{z{z{{{zz{zzz{yz{{zz{|{{{zzzz{{{z{{{{{{z{{yz{zzz{{{{|{{zzz{zz{{z{{{{{{{{z{z{z{zz{|z||{|{{z{zz{z{z|{{{|{zzzz{zy{z{{{{{{|{{{{{zz{{|||{|{{{z{{zzz{{{{{{{||{{{{z{zz|{{{{||{{{{z{zz{{||{{|}{{{{{{{{z{{z|{{|{|{zz{|z{z{{{z}|{|{||{z{{{{||||||{z{z{{|{{z{{z|{}|{{z{{z{{{{|{|{||{{z{z{{{{{{|{||||{{z{{z{{{{{{{|{{{yz{zy{{{{{}}||z{|}{{|||{{||||{{{{{{|z{{{||||{{z{{{{z{{{{||{{{{{zzzzzzz{{{|{{{{{zzz{zz|{{{{{{|{z{yz{z{z{zz{z|{zz{{{z{zz{{{z{{{z|{zzzzz{|z{|{||z{z{{zzzzz{{z{{{z{{zz{y{{{z{{zz|{{yzyzz{{{z{{{{{y{z{zyzzzz{{z{z{z{zzz{{zzzz{z{{{zz{{z{z{z{{{{{{|zz{z{zz{z{z{|{{|z{{{{y{{{{{{{||{{z{zy{z{{{z{{{{|{{z|{z{{{{|{{{z{z{{z{zzz||{|{||{{{z{zz{z{|{|{{|{|zzzzz{z{|}||z|{{|{z{z{{||{{{|{}|z|{{{{z{|{{{{|||{z|z||{{||{{||{z{{|z{|{{|z{{||||z{z{z{|{||||{|{|{{{{z{{||{|{|{{{{{{zz{z{{{||{{|{{{{{z{{{{{|{|{|{{zz{{{{{||{||{|{{z{{{{{{|{{{{|{{z{{{zz{{{|z{}}}||{{|||{|{}|{|{}{{|{zz{{||||{|||{z{yz{{z{|||||{{|z{z{{zzz{{{{||{{{{zyzz{{{|z{z{{z{zzzz{{{{{{{{|{z{{zz{zz{{{{{{z{zzzyz{{z{zz{{{{{zzzzz{yzz|{{}{|{zzzzzyz{zz{{{{{{zzzz{yzz{{z{{||{{z{{z{zzz{z{z{{|{zz{yzzzz|{|{{{{{z{{zzzz{{{{{z{z{{{z{zz{z{zz{{z|z{|zz{{{{z{z|z||z{zz{z|{{{{{{|{|{z|{{{zz{{||}|{{{{z|{z{z{{|z{||z{z{z{z{z{{{z{{{|{{z{z{z{{|{zz|||{|{{||z{{|{|{|{|{{{{{{{{|{{{|||{|z{{{z{{||{{|{||{{z{||{{||{||{{||{|{{{{{{{||{|||{{{{{{{{||}||||}|{zz{z{{{|{|z{|}|{{z{{{{|{||{z{{|{{{{{z{{|||||{{{{z{zz{{z|{|{{|{{{|y{zz|{{{{{}}{|}{{||{|}}{{|}||{{|{z||||{{{}|}|{{z{{}y{||{z{{||{{{{zz{{|||{|||{{{{y{zz{{{|{|{{{zzz{z{zz{|{{{||z{{zz{zz{{|{{{{{z{{zzzz{|{{z{{z{{zz{zz{{{{z{|z|{zyz|z{zzz{{z{|{{z{{{z{{y{{|{{{z{{{z{{z{z{|{{{||{|zzzzzzz{|{z{{{|zz|zz|zz{{{{|{|{|zzzyzz{{{|{|{||{z{{z{z|z{z{|{||{zz{z{zzz{|{{{|{{{{{{{z{{|{||||{{{z{{z{z{||{{||{{zz{{{zz|{||||||{{{z|{}z||||||||{|{{{|{{|||}{{||{|{{{{{z|{|||||{|{{|{{{z|{||{|}{z{{|{||{{||{|||||{|{{{{{{}{|{|||}{{{{{{{{{|||||{{{{{{{z{{||{}|{|{z{{{{z{{{|{{{||{{{{z{{{|{{{{{|}|{{{|{{{|{|{|{||{{|{{{{z|z||{{|}|||{{|{{|||}{{|{{|{{{{z|{|||{{|}z|{{{{z{|{||{|}|{{{{{{z|z{{|{{||{{|{{zzz|||z{||{zyzz|zzz{{{zz|{{{{{yzzz{z{|{{z{{{{{zz{z{{{{|{|||{{{z{zz{z{|{{z{{zz{{{{zzz{zz||{{{z{zy{zz{{{z{|{{||{zzz{zzz{z{{z|{{zz{z{{{{z{{||{zz{zz{z{{{{{|{{|{{z{yz{z{{||||||{zzz{z{{{{|z{||}{z|{{{{zz{}{|{{{{|{z{{{{|{{|{{|{zz{{|z{{||||{||{{z{{{|zz{||{{{{|{{{{{z{{{|{||{}|{{{{{z{{{}|{{{|{|z{|{{{z{{||{{|||zzz{{{{|}{|{|}|{{{z||{||||{|}||{||{{{|}{}||||{}{{{}{z{{{{|{||}||{{z{zz|||{|||||{{{|{{{{{|{|{|{|{{{z{|{{{{{{|||{||{{{{{{z|||{{|{{z{zzz{{{}||{~}|{|{|{||{|}|}{{}||{{{{zz{|}z||||||{z{{{{z|{{||||}{z{{{{zz{|{{{{{|{z{zzz{z{||||z{|{{{z{z|z{|z|{{|{z{zzzy{z{z|{{|{zz{{zz{{zz{{{{{z{{z|zz{zz{||||{|{zzyzyz{z{z{|{||{z{{{yz{{z{{{|||{{{z{z|z{z{{zz|{{{{z{zz{z{z{{z{zzzz{z{{{{zz{{{{{|{{{z|z{{{{z{{{|}{{{z{z|z{zz{{|{{{|zz|z{{z||{{{{z{z{{{z{{z{{{{|{|{{{{{{{{|||{{{{{{{{|{{{{|{|{{||{{{|{z{{{|}||{{{|z|{{{{|{{||{||||{zz{{zz{{|{|}{|{{{{{{{{{||{{||}|{z|{{{|||{|||{|||{{{{|{{{|}||}||||{{{{{||{{|{||||{z{{{|{|{z|||}}{||{{{z}|||||}|}{z{z|{z{z{{|{|{|{{{{z{{{{|{|{{{{{z{z{zz{{{|z{}||{{{}{{{{{|{|||{||{{|{z{z|{|{{||}{{{{z{zz{}z{{{{|z{{{z{{{|{{{{z{{|{{yzz{z}||{|{{z{z{{{zzzz||{z{{{zzz{zzz{z{|{{z{{zzzzzz{z{{{{{{zz{zzz{zz{{{|zz{|{{{zzz{zy{{{{|z{{{zz{{zzz{|{{|z{{{zzzzz{zz{{z|||{{z{zzzzzy{zzz{|z{{z{zzzz{{{|{{{{{{zz{zzz{{z|{||{z{z{zyz{z{{{{{|{z{{zzzyz|{{{{{{{{z|z{y{{{{{|{{|{|z{{zzz{z{|{|{|z|{{{{|z{{z{|{{z{{{{{{z{{{|||{{}{{{z{zz{{|||}{|||{{z{z{zz{|{||{{||zzz{{{z{|{{{{||z{{{{{{{{{{{{{{||{{{z|z{{}|{|{}||{{z{z||{{|{|{||{zz{{{{||{{{|z}{{{z{z{{{{{{}{{{{{{{{z{zyz{{{{|}|{{{{{{{{{{{|{||{z{{z{z{zz{|||}}}z|}{{{{{{{||{{{{||{|{z{|{{|{{||||{{{|{{{|z|{{{|}{z|{zzz{|zz{z{{{{zzzzzzz{{{{{{{|zz{zzzzzz{{{{||{{z{{z{zz{z{{{{{zzzzzz{z{z{}{z{{{yzzzzzzzzz{|{z{{z{zzz{zz{{|{{|{{{z{zz{{y{{{y{{{z{{{z{zzzzz{z{{{{{{{zzzzz{z{zz{{zz{z{zz{z{{zz{{{|{{zzzzz|z{{{{||{{z{zzz{z{{{{|{{|z{{{{{z|{{{z{||{{{y|{y{z{||{{{{|{z{{zzzz{{|{{|}{}z{z{{{z{||{{||{z{{{z{zy{|||{{}{{{|{{z|{||z||{}{zz{{{{{z|{|{{z|}|{z{{{{|||||{|}|z{{{{{{{{{|z{|{|{{z{{{z{{|||{{||||z{z{{z||{{{|{|{z{|{{{y{|{||||}{{z|{z{{{|{|{||||{{z{{z{{{z{{{||{{{|{|zz{{{}|{|{{z|z{z{|{{{|{|}}||{|{z{{||{||{}}||{|zz|z{{{{||||{{{{{zzz}z{{}|||z{{{zzz{zz{|{z||{{z{{{zz{{{{{||{{{|{yz{zz|}{|{||{{zzzyyz{{{{z|z{{{{z|{y{{{|z{{{{{zz|zy{{{{{{|||z{{{zz{z|{{|{{{|}{z{zz{zzz{|z{{||z{zzzzzz{{zz{|{{{z{zz{zzz||{{{{{{|{{z{yyyz{|z{|{{z{{zzzzz{{{|{{{{z|{{{{z{{{|{{{|z{{{{yz{|{||{||{{{{{{zzz{{||{|{{{{{z{z{{{|{{{|||{{{{{z|{|||{{{{{|{zz{{{{{{||}{||{{|{z{|{||{|z}||{{{{{{zz{{|{{||{|z{{z{{{{{||||}|{{{|{{{z{|||z|||{{{|{||{{}{||||}{|{}|z{{{{||{|{|{z{{z{{{|||{{|{{|{yz|{z{{|{|{|{|{{|{z{{{|||{{|{|{{{{z{{{|||{|z|{|{z{zzz{{|z{|||{{{||{{{{{||||}||{{{z|{z{{{|{|||||{z{zz{z|{z{||{{{{{zzz{z{{{{{{||{{zzy{zz{{||{|zzz{{zzzzz{{zz{|{|{zzzzzyz{{|{{{|{zz{yzzz{{z|{{|z|{zz{yzzz{{{{z{z{zzzzz{z{{{{zzz{{zz{{{{zyz{{{{z|{{|zz{zz{{|{zz{z{{zyzyy{y{{{{{|{{{{{z{zzz{{z|{z{|{z{{{zz{{{{{|{{|{{{zzy{{zz{{{{|{z{|z{zzz{{{{{z{zz{{{zz{{{|}{|{||{zz{{z{{{{||{{}|{zz{{z{{|{{|{|||{{z{|{{{{{|{||||{z{{||{{|||||{||{{{z{{|z{{|{|||{{zzz{{{{||||{|||z|zz{{{z||||||{|{{|{z|{{|}|{}|||{|{{{{{|}{|||||||zz{zzz{{||{|{||||{{|{z{{{{{|{||{|{{{{z{z|||||{{|zz{{{z{z{||{z|{|{{zzy{z{{|z{z{|{{z{{|z{|{||{{{|{{{|z{zz|{{|{|||{z{zzzz{{z{{{||z{{{z{z{{z{{{{||{{z|zz{zzzz{{z|{|{yzzz{zyz{{z|||{{{zz{z{z{{|{z{z{z{{{zz{z|zzz{z{{zzyz{{z{{{z{{{{{{z{{y{zz{{{{{{{{{{{z{{zy{{{{{z||z{zzzzzz{zzz{{{{{zzzzzy{{{{{{|{{zzzzzzzz{|{z{{|{{{{z{zz{{{|{{{{{zz{z{z{{{{|{z{z|z{{zy{{z{{|{|{|||{{zzz{zz|{{z|{|z{{zz{{{y{|||{{{z{y{zzz{{{}{{|{|{z{{{z{{{|{{{{{}z{|z{{{{{|{{}}}||{{|{{{{{|||}||{|{{{{z{z|{}{|{|{{|{{z{{{|{{{|{{||{{z{z{{{|}{{{}{|{{{zzz{|||||||{|zz{{z{|{{{|{|{{{{z{|{z{|{{|z||{{||z{{z{{{{|{||{{zz{zyzz{{{{||{|{zzzzzzz{{|{{|{}{|{{{|{z|{|{|{|}{z|{zz{{||{|{{||{|{yz|{{{{|{|{|{|{{zzzz{|{|{{{{{{{zzzzzz||{zz|{|zz{zzyzz{{z{{|{{z{{zzzzz{z|{{{z{{|z{z{zzz{{|{|{|zz{zzzzz{||zzz|{{z{{yzyy{{{{{{{{z{zzz{zz{{||{{{{{{{zzzzyzz{{zz|{{|zyy{zzyzz{{|z{zzz{z{zz{z{|{z{{z{{zzzzzz{|{{|{|zz{zz{{{{z{z{||{{z{z{z{z{{|{{{|{zzzyzzzz{|{|{}||z{|z{{{{|{{z|{|{z{{{{zz{|{|{{||{|{{{||z|{{||||||||{z|z{{{{{||{|}|{zzzz{{{|||{||{|zz{{{|{||||{||{zy{yz{{{|{|{||}{|z{{{{|z{|{|{|}}|{||{z{{{|||{{||{z{{|{{{|||{|{|{{z{{{{{|{{{}||}||{{z{zz{{{z|{||{|{{{z{zz{|{|||{{{||{{{zz{|{|{}|{||{{{{{z{||||{|{{{{{{{{{{|||{|||{y{{{z{{{||{{||{||{{z{zz{{{|z{||{|{zzz{z{{{|{|||{{zz{{zz{z{zz||{{z|{yz{y{|{z{|{{{{{z{zzz{{{{{{{{{z{{zz{z{z|{|{{{{{z{{zz{{{|{{||{|z{z{zzzz|{|{{|{zz{zzzzz{{{{z{|}zzz{z{zz{{{{{|{zzzzz{|zz{|{{{{{{z{{z{zz{z{{{{{z{{z|{zz{z{{{{|{||zz{z{{{{|{{{|{}|{z{z{{{{{|{|||{|{{{{{y{{{{{{{{|{{zz{{{{{|{{{||||{{{{|{{{{{|{|}}{{|{{|{{{|{||{||||{z{{zzz||||||}{|z|{{z|z}{{{|{||{z{|{|{{|{{|||{||{{{|{{{}}}|}{{|{{{||{{{|||{}||||{{{{{{z}|{}z||}|{{z|{{||{|||}||z{{{{zz{{{{{{}||{{{{z{zz{|||||{{{{|z{zzz{{|{{}|||{{||{|z|||{{{}|{{{{{z{z|{|{|}}|{{zz{{{{{{|||z|{zz{{z|{{{{{{z{{|||{zz{zz{{|{z|{|{zz{z|{z{z{{{{|zz{yzz{zz{|{zz{z|{z{zy{{{{{|{z{|{zzzy{{zz{||z{{|||{zzz{y{z||{{|{{{zz{zzzzz}||||{{{zz{zz{z{{z{z{{{|{{{yz{z{{{{{{{{{zzz|zzy{{||{{{{{{{z{zzz{{{{|{{{{zzz{z{{{|z{{|||z{z{zyz{|{|{{|{|{{|{{{z{{|{{{{|{{{{{{{{{{{}{||{{{z|{z{{{|{{|{||{{{{{{|z{{|{|||||{|{{{{|||{||{|{}||{|{{{{|{||||||}zz{{z{{||{{}|}|{{{{{{|{{{{{{{{}|{{{||{||}{||{||{zz{{{|{|{{||||{||{z{z|{{|{|||||{{|{|z||||||{{~{{|{{{|{{{{{{|||{||{{{zz{{||{||}{{{zz{{{z{z|{{}{|{}{{|{|z{|{{|{{|z|{{{zzz||{{{}||{{{{z{|z{{z|||||{yz{zzzz{{{{{{{|z{{zzzzz{|{{{|||z{{{z{{{{{zz{{{{z|{{{zyzzz{{{||{z{zzz{zy|{{{{{{{{zzzzzyz{{z{{{{z{{zz{zz{{z{{{{|{{yzzz{zz{{{|{{{|{zz{zzzzzz{{{{{zzzzzz{{z{{z{{|{{{{{{{z{z{{{z{{{z{{zz{z{{{{{{{{{|zz{{{zz{{{|z{{||{z|z{{{zz|{{|zz|z{{{{{z{{{{{{{||{{|{{z{z|{{|z||z{z{|zzz{|{{{{|z{{{{{zz{{{|||}||zz{|z{{|{||{{{|}||{z|{z{{|||}|{{||z{z{z{{||{{||||{{{{|{||{||z|{}||{{|{{|{{||{|{}{|z|{{{{{{|||{||{|{zz{{{{{|{||||||{{z{zz|}|{{|||{{{{{{zz|{|y{{{||{{{{||{{|{{|||{{{z{{zz{z|{}{{{}|{{{{{{{z{}|{{{}||{z|{z{{|z|{{{{||{{{{{|{||{|{{|{zzz|{zz{z{|{{{{{{{{z{z{y{|{{z{||zz{{z{zzz{|zzz|{|zz{zzzz|{|{z{z{{z{{z{z{{{{|z{z|{y{{zzzz{z|{{{{{{{{{zz{|{z{{{{{{z{{{zzzz{{{{{{{|yz{yzy{{zzz{|{{{|zzz{y{z{{z{{zz{{zz{{{zz{|{{z{|{|z{{{z{z{{{{||z|{zz|{zy{{{{{{{{{zz{zzzz{z||z|{|{{z{{{{{{{{{|{||z{{zzz{{{{{|{|{{{{yzz{zz{{z{|{{{{|{z{|{zz{|||{|{|z{|{zz|{{||||||{{{{{|zzz||{|{{{{{{zzz{{{|{|{{|||{z{|{{{{{||{|{}||{{{{|z{{{|{|||||z}{{{{{{|{{{{|||{z{{{{z|||{{|||{{{||{{{{{{{|{|||{zzz{zz{|{{|||{{{y{z{{zz{{{|{||{z{{|zzz{||z{|||{|{{{z|{|{|{{{{|{{zzzzz{{|{|||||{{|{z|zz{{{{{{|{{zz{zzzzz{{|z{|{{{zzz{{z|{{{{{{{zyzzz{{zz{z{{{{{{y{{zzz{{{|{{{{{{{zz{{zz{{|{{|{{z{zzzzzz{|{z{z{{{zz{y{y{{{|{|{|zz{z{zzzy{|{{{{{{{{zzzzzyz{{zz{{{{zyyzzzyz|{{z{z{|zz{{{{y{{{{{{{{{{{zzzzzz|{{z{z{{z{yzy{z{z|{{z{{zzzzz{{z{{{{|{|{{{{{{y{zz{|{{|z{{z{{z{yz{{z{{|{|{{{zzzz{{|{{{{{|{z{{z|{zz|{|||{{{{z{z{{z}|{{||||{{{zzz{z{|{{{}{{|{zz{{{{||{||{{||{|{z{|{{{z{|||||z{z{{{{z}{|||{{{|{|{z{z{||{{|||{z{{{zz{{{{|{{{|{{{z{{|z{{||||||{zz{{{{z{{{{{|||{{{{zz{zz{z|{|{|{{{{zz{z{{|{||}|z{z{{{{z{||{|||||{{{{{zz{{{|{{||{|{{z{{z{|{|{{||{{{{z{z{{{{z{{|{z{z{zx{z{{{|{|||zz{{z{{{{{{{{{{{{z{zz{{z{{{{z{z{zz{zz{zz{{z{{|{|{zz{z{yz{{y{{||{{zzzzzy{z{|{|||{{zz{{zzzz{|z{{{{{zzzzzz{z{{{{|{{zzz{zzz{z{zzz{{{{z{zz{yz{z{z{{{|{{{{{zzzz{{{|{{{z{z{zzz{{{{{{{|{|z{zzz{z{{{z|||{{{{{{{zz|{{||{|{zz{{{{{{||{{{{{{|{y{{z{{|{{{{{{{{{{z|{zz{|||{||{{|{|{{{{{|{|z|}|{|{|{{y{{|||||||{z{y{zz{|||||||||{{{|||{|{{{{||||zz{|{|z{||{|||}|{{{{{z{|{z{||{{zz{{{{{{|{|||{||{{{z{{z|{{||||||{{{z{{{{{{{{||{|||{{{{||{|{||{|{{{{{z{z{{{|{{|||{|{|{{{{{|{|{}{|{{{{{{z{|z|{{|||{{zzz{z{z{{{{|{|{{z{{{{{z{{{z{||{{{zzzz{{{{{{{z{z{zz{z|zz{|z{|{||z{z{zz{z{{{||{{yz{z{zzz{{{{{{{{z|z{{{z{z|{z{{{||{z{z{z{{{{|{z{{{zzzz{zz{{|{{{|{zz{{zz{zzzzzzz{{{{{{zzyzz{{|{{{{{{zz{z{z{|{{{{||{{{zzz|{|{{{{{||{z{{zzzz|{{{|{{|z{{zz{zz{{|{{{|{{z|{{{{{{|z|{|{|{{zzz{z|{{||{|||{zz{z{{{{|{{|{{|{{|{{{{{||{{||||z{{zz{{{{|{{||||{||{z{|{|{}|||||{{{{z{|z||{||||||{|{|{{{||}{}}|{}{{{|{{{y||}|||||{{{{{{{||}}{{||{{z{{z{z{{{||||}{{{{{|zz{|{|||}}{z{z|{{{{{|}{|||{{{z{{z{{|||{{{|z{zz{{{{{{||z||{zz{{|zz{{{|{z{{{{z{{zzz{z{{z||||{z{{{{{{|{{{{||{{zzz{z{{z{{|{|{{{z|zzz{z{z||{z{{zz{zzzzzz{{{z|{{{zzz{zzy{{{z{{{z{z{zy{{z{{{{zz{{zzzyzyzzzzzz{{|{{z{{zyzzz{{z{{{|{z{zz{zzz{z{{||{{{{zzyzzzzz{z{{{zz{yzzyzz{{zz|{{zzzzzz{z{{zz{{{{{z{{zz{{{{{z{|{|z{{yzz{z{{z{{||zzy{{z{y{z{{{{{{|z{|{{yz{z{|{|{{{{{{z{zz{{{|{{{|{{{{{{{z{{||||{{{z{{z{{{z{{||||||z{{{z{z{{|{||||}|{z{zzz{{||{|||||{{{{{zz{{|||{||{{z{{z{{{{|{|{|||zz{{|{{|}{{{{||{{{{{z{|{{|{||||{z{{|{|z{{{{|||{{z{{z{{||{{{|{||{{{z{{{{{{|{{|}||{zzz{{{|{|{||{{{z{{{zzz{{{z{}{{{{||{z|{{{||{{||{z{z{{zz{{{{{||{{{z{zz{z{{z{zz{{{{{{{{y{{{|{{z{{|zzz{{zyz{|{{{{|{z{yy{{z{{z{{||{zz{zzz{{{zzz{{{z{{z{{zyz{{z{z{{|zzz{zy{{z{{{z|{{zzzz{zyzz{{z{|{{zz{zzz{zz{{z{z{|{zz{{zzzz{z{{{{{zyzzy{zzzz{{z|{{zy{{{zz{{zz{|z{zzzyzzzzzz{{{{|z|zzz{{yzy{{{{z||{zz{zzz{zz|z{z{{|z{{{{{zz|{|{{|z|{{{z{{zz{|||{{{{{z{|zzzz||{{||{{{{{{{{z{{{{||{||z{{{{{{{||||{||}||{{z{z{{{{|||||{z{{z{{z{{{||||{{{z{{{||{{|{{|{|{z{{{{{{{|{|{||||{z{{{{||{{{{|{{{{|z{{z{z{{{|||||||z|{{{|{|{{{{|{zzzz{{z||{z{||{{{y{z{{zz||{||||{{zzzz{y{{{{{|{|{{|z{{|||||||{|{{{{zzzzz{|{||{|{|zzzzz{z|z{{|{{{|{{{{zz{{||{z{{|z{|zzz{z||{z{|z|{zz{zz{y{{{{z{||}z{zzzzzzz|{z{{z{z{yz{z{{{{{{|{zz{zyyyzz{{{{{{|zzyzzzzz{{{z{{z||{{zzzzzzz{{{z{{{{z{{{zz{{{zz{|{{{zzz{{zz{{zzz{{{y{{{{{zy{|{{{{{{{{yz{zz{y{{zy{{|{{zzzz|{{zz{||{|{{{z{zz{{||{{{|{zz{z{z{{{{{{||{z{{{{zz{{{|{|{{|{|{y|zzzz||z{{{|{|{{yz{z{|{|{{{{||{{{|z|{|{{|{||}{{z{zzz{{{|{z{{{{z{z|zz{||{||{|z{{{zz||{|{{{|||}|{{{{{{{{{||{}|||z|{{{zz{{|}|{|{|{z{zz{{||{{{{||}{{{{{{|{|z{{||{{{zz{{{{z||}|{|{|{z{{zz{{|{|{{{{{{{zzz{z{{{z{||{{{z{{{{z{||||{|{{{|{{z{{||{{{{||{{{zz{z{|{{|{{|{{z{zzz{{|{{zz{|{|{{{zzzy{|{{{|{z{z{zz{{z{{z|{{||{z{zzz{{{z{{{{z{z{z{z{zz{zz{z{z{zzz{{{{z{z{z{{{zzz{zzzyzy{{{{|{{{z{{zzzyz{{{{{||{|zzy{{z{{zzz{z{|zzz{zyzzz||{|z{yzzz{{zy{|{{{|{{{zzz{zy{{z{{z|}zzzzz{zzy{{z{|{{{{{{zz{zz{||{{|{{{|z{z{yz{{{|{{{|zy{zzz{{{{z{{|||{yz{{zz{|z{z{||{{{|z|{{{{}|{||{|yz{{{{|{{{z{||}|z{{{{{{{{||{|||{{{||{z{{|||{||{||z|{{{z{{{{{|||||{{{{|{{|||{||{|{z{{z{{{{|||{|~||zz{{||{|{|{|{{|{{{{{{{{{{{|||||z|{z{z{{||{{{|{{{z{{{zzz{|{|{z{|{{{yz{{yz{{z{|{|||z{zz{|{|{|{{{|||{{{{{{{{{||{|z||{z{{z{{{|||{|{|{y{{zz|{||}{{{{{{|zz{zz{{|{{{{|{{zzzz{{{{||z|{|{zz{zz{z{{|z|zz{zzzzz{zz{zz{{{|{z{zy{z{{z{{{{{|z{{{zz|{z{{{|{{{|{zz{zz{yzz{||{|{{{{{{{{{z{{z||{|zy{z{z{z{{{{{|{|{z{zz{z{z{zzz{{{zz{z|{|z{|{{{{|{z{{|{{{{{{{|{{{|{z{{zz|z||{{z{||zz|{zzz{{|||{|||{|z{{|z{{{|{{|}{{z{{zz{{||{|{{{|{{zz{z{{{{||||||{|zz{z{{|||{{{|}{z{{{{{z|||||||||{z{|{{{|}|{||}|{|{{{||{|||{|}|{|{{{{|{z{||{|}}|{{{|{{z{{{}|||{||{||{|{{|{z||||{}||{||{{{|{|||||{{{{{{|{{}|{|||||{z{{{||{||{{|{||{{{zz{{{||{{|||{{{|{{{z|{{z||{|{{{{z|z{{||||||{{{{z|{{|{{|{{{|{|zzz|{{{{{|{{{||{{{zy{{{{|{{|{|||zzz{zz{z{{|{z|{{z{{z{{z{{{z{||{{zzzzz|{|{z{|{{|{{{z{zzzz{{{{{{{{z{zz{{{zz{{{|{|z{zzz|{zzz|{{{|{z{{zzz|yz|{zz|z{{{zz{zzzy{{{{|{{{y{zz{z{{{{|{|{zz{z{{{{z{|{{{{{{{{{z{z{{{{|z{{{|z{|{z{zz{{|{|{|{{y{z|{yz{||{{|||{zz{{{z{|{z{{{|{{zz|zz{{zz{{{{|{{{{{{{zz{{{|}||}{{{{{{|||{{}||}|{z{|{{{z{||||||||||{{z||{|{||}|{{{{{z{{{{{|||{|{|{{{{{{{{}||{||||{{{z{{{|||{||{|{{{{z{{{z}{z{{{|{|z{{{{{{{{}|{|}z||{{{{{{||zz|||{|{{{z{{{||{|{|{{{zy{{|{{||{{}{|z{{{{zzz{||{z{{{|{z{zzzz|{||{{||{{{z{{zz{{{{|||||{{zz{zz{{|{y{||{{{z{zzz{{{{||{{{{z{z{zz{z{z{{|{{zy{{{zzz|{z{z{{{z{{{{zz{z{{zz{zz{z{yzzzz{zz{|{|yzzzyzzz{{{{{{||z{{{{zzz{{||{|{{zz{zzzzy{{{z{{z{{{zzzz{zz{zz{{|{{z{{zzyzz{{{{{{{{zzyzz|{{{{|{{{|{z{zz{{{{{{{{|{{{z{zz{{z{{{|{{{{{{{{z{z{z{|{{|{{zz{{{zzz{{{{{{{||{zzzzz{{{{{{{{{{{{{{{{z{|{|{|{|z{|z{{{z|{|||z||{{z{{{z{|{{{|||{{{{{{z{z{|||{}||{{{z{|{{|||{{|{||{{|{|{{{|{|||||{z|{{{{||{||{|{{{{zz{{{{|{{|{{||{|z{{z{{{|{|{|||{{{z{||{{||||{{}{{|z{{{{|||{z{|{{z{{zy|{||{{{|||{zz{|{zz{{|{||{|{{z{{{zz{{||{}|}{||{|{zz{{{{||{{|z{z{{z{{z||{|{{{zzyzzz{{{z{{z{|z{{z{zzzz|{{{{|{{{{z|{z{z{{|{||{z{{zzzzzz{{|||{{{yyz{zz{zz{{{{{{{z{zz{{{{{{{{{{{{z|{z{{z{{|{{{{{{z{{zzzzz{zz{z{{{z|z{y{{z{{zz{{{{z{zz{zz{{{{{||||zz{{z|y{{{{|{{{{zz{zz{z|{{|||{z{z{{|{{z}{|{{|{{{{{z{yzz{|z|{{{{z{{z{z{{|{{|{{{{|z{{z{{{{|{|{|}|{{yz{{{{{|||{{|{|{{{{z{{||{||||}|{{{z{{{{|||{||||{|{{{z|||{{{{}||{{|z{{{{|{{{{|}||{|{|{{{||||{||{{|{{{{||||{||||{{{{{z|z|{{{|}z|{{z{|{{z}||{}|}{{|{z{{{|||{{{|{{{zz|{z{{|}|{|{|{z{{{{y{{{{{{{z|{|{{||{{zz|{{|{|}z{{{{z{{{z{{{|{|{{{{zzzz{{{|||{|{zz{zzz{{{{|z{{|{{{yy{zyzz{z{z{{zzzzz{zz{{{|{|{{{zzzzzzzz{{z{{|{zz{z{zzz{{{z{{z{zzyzzyz|{z{{z{{{z{zzz{zzzz{{z{{{{{{{yzzz{|{zz{{{{zzz{zzzz{{{z|{{{z{z{zzy{z{{{|{|zz{zz{zy{{{{z||{zzz{zz{z{{{zz{z{{{y{{z{{{{{{|{{{zz{{zzzzz{{{{z|{{zz{|z{z{|{{{{{{{{{{{zz{|{{|z|}{{{{{z{{{{{|z{|{{{{zz{{zzz{||||{}{{|z|{{{{{{{||{{|z{{z{zz{|||}{{{{{z{{}zz|z{{|{|}{z{z{{{{{{{{||||||{{{{zz|||{|{|||{z|{{{{{|{{{|||{|{{{{{{{|{{|{}|{{z|{{{|}{{|||||{z{z{{|{z{{||{{|{{|{{z{{{||{|||{zy|zz{{{z{|z|{{|z{||z{zz{z|{{{|{|{{zz{z{{{{{{z{|{{{z|{zz{{{{|{{|zz{z{zzz|{{{|{|{{zzzzy{zzzz{{{{{z{{{z{zz{{{zz{|{zz{{zzz{{{{{z{{z{zy{z{zz{{z{{{z{zy{yzzzz{z{{{{z{zzz{zz{zzz|z{{{zzz{zzzzzz{{|{{|{{z{z{{zzz{zz{{{{z{{zz{zzy{{{{{{{{zz{z{zy{zz|{|{{{z{z{zzzzzz||{||{{{zzz{{z{{zz{{|z{{zzzzzz{|z{{{{|{{z{{zz{{z{{|{z{{zzzzz{{|{z{|{{{{z{zz{{{z{z|{{{{zz{{{z{z{{||{||z{{zz{{{}|{{{{||{|{{{{zz||{|||{||y{{{y{{{{|{{|{|{{z{z|{{{|||{|}||{|{z{{{||||{||||z{{{{z||||{||}||{z{z{{{||{|{{||{{zz{{z|||{|||{|{{{{|z|{{{{|{{}||{{z{z{z{|{z{{|{{{{y{zyzz{{z{|{{zz{{{{{{{{|{{|{{{z{{zzy|{{|{{z|||z{yzzzzz{|{{{{{{{zzz{{{|z{{z{{|zzzzyzzz{||{|{{|{z{z{zzz{{{{{|{{z{zzzzy{{{{z{z{{zzzz{zy{{{z{z|{{{zz{zz{{{{{z{z{{{{yzz{z{{{{zz{{{{z{zzzzz{{{{{||{{zyz{y{zzz|{z{{{{z{zzzz{z{{{{|{{{{zzzzzy{z{{{||{{z{y{zz{{{|{{{{{zz{zzzzz{zz|zz{{yz{{zz{z{{{{|{{|z{{{|z{zz{{{||{|{z{{zzzz{{{{{{|{|z{{y{z{{||{{||{{{z|{{{{||}||{{{{z{{zz|{||{{}|||zz{{{zzz{{{|||||{{|{{y{z{||{|}|{{|{{{{{z{{||}|{|{z{{{{{{{||||||||{{|{{{{|{{|{{|{|z{z{{z|{{{{}{{|{|{zz{{z{|{}|}{||{zzz{|z{|{||||||{{{zzzz{{||||||{zz{{zz{{{{{{{{|{zzz{zzzz{|||{z{{{{{zzzz|{||{{|{{zzzzz{z{{{{{{||{zzz{zyz{z{|z{{|{y{yz{zz{{z{z{|{z{zzzzzzz{zz{{|{{zzzzzzz{{{{{|{zzzzzzzzzz{{{{zz{zzzzzyzz{{zz{{{{zzzyzzy{z{{{{z{{{{zzz{yyz{z||{||{zzzzzy{z{zz{{{|zyzz{zzzy{z{{{{z{z{zz{zzz{zzz{{{zzzyzzzz{{{z{{{{zz|zyzzz{{{z{z{|z{{zzzyz{z|{{{{{|{zzzzz{{{{{|{{{{zzzzzzz{||{|{}z{z{{|{z{|{{z{|z{{{|z|zz{|{{{{{|{{{{{z{|{{{{|||||{{z{{zzy|||{|}||{zz{z{{{{||{{|||z{{{z{{{|{||||{{{z{|{{|{z||{{{|{{{z|{{zz|{|||||{{{{{z{z{{{{|||||{{{z{zz|{z||||{{zz{z{zzz{{{{{||{|{{{{{zz{{{{{|{|{zz{{z{z{{{{{||}|zzzz{{zz|{{zz|||{zzzzy{{z{{{{{|{z{{zz{z{z|{{|{{{{zzzz{{{{{zzz|}{z{{{zzz{{|{{{||{z{z{z{yz{{zzz|{{{{zz{{zz{z{{{{{{{zz{zz{|{{{{{{zzz{zzz{{zz|z{z{z{{zyyzz{z{{{|{{{z{{zz{zz{{{zz{{{z{{{zz{zzz{{{|{|{z{zzzzzz{z{{{{|zz{{{zzzz{{|{|{|{{zzzzzzz{{{{{{|yzzzzz{zzz{z{{z{{z{{yy{{{{|{z{{{{z{{{z{z{z{{{{{{zzz{z{{{{|z{z{{|{{{zzz{zz{{|{{{{{{zzz{z{{{{||{{{{{{{{z{{{|{|z{|{|zzz{zyzz{||{{||{z{z{{{{{||||||{{{{{z{|z|{{||}{||{{{z{{z{|||{||{{z{|{z{{|{{{{{|{{{z{{{z{{|||{|{{||z{{{{z|{{{z|}|{{{z{{{{{{{|{|{|{{{{zz{{{z{{|{|{{z{zzy{z{|{{z|{{z{z{{z|{{|{{{{{|{{{zzzz{{|{{z{|}{z{zz{{{{{{{|{|{{z{{z{zzy|||{{{{{zzzzzz{|z{{|{{{zz{zzz{{{{{{z{{{{z{{zz{z|z{zz|{|z{{{{z{{{z{{{|zzyzzzzzz{{{{|{{|{zz{zz{z{zz|z{z{z|zz{zzyzzz|z{z{{{zz{{{zz{{{{{{{z{{{z{{zzz|{{z{|{zzz{{{{z{{{z{|{z{z{zzzzy|{{{{||{{{zzzz{{{|{{z|z{{{{zz{zzz{{z{{{|{{{{{{{y{{{{|{||{z{{z{yz{{{{{{|{|{{{{{z{{{{{z{||z{{{{{{{{|{|||{{{{{{{{|{||||{|}{{{z{zz{{{|{||}{||{{{{{{{||{{|{||{{z{{|{{{|||}||{{{|{|{{z{}{|||{||z||z{{{{||||||{|z{{{{{{z|{||{|||z{{{|z{{||{|{{}{{|{{{|{{{{|{{||{|{{{{zz{{}|{|{{{{{{{z{z{{|{{||{{{z{{{{z{{{{{|{|zz{{zz{{{|}{|{||{{{zz||z{{{{|||{|z{z{zzz{{||{{}|{{{{y{{z{z{{{|{{zz{z{zzz{{{z{|{{{zz{{z{zz|z{{{{{z{{zy{z{{{{{z{|{{{yzzzzz{{{{{|{{z{{|zzz{{{{zz{{{z{{{zzzz{zz|{{{|{z{z|zzzy{{{{z{{{z{|z{zz{{{{||{zzz{zzz{z||{{{{|{z{{zzyzz{|{||{{|z{{{zz{z{{{|{{{{z{{z{{{z{{{|{{||{zz{{{{z{|||{||{{z{{zzzz{z{{|{}|{{{{{{z{|||{y|{{{{zz{z{z{|{|||{|z{{{{|{{|||||||{{z{|{{z{|z|{{{|||{|z{{||||{||}{|z|z{{{{{|||{||{|{{{{{|{|z|{|||}|||||{|{{|{|{||}|{{{{{{{{|{{||}{|{{{{{zz{|~|||{|||{{z{zz{{{{|{||{{{z{{z|{{{||{{{|{{{{{{{z{{{{{{z{||zzz{zz|{{|{|zzzz{{{{|z{{{{|||z{zz{{z{{|{{{{|{{{zz{|zz{{zz|z{{|{{zzzzzz{|{{{||{{z{zz{{zzz{zz{{{{{|z{{z{z{|{z{{{|z{{zzzzzz{{z||{zzzy{yzzz|{|{z{{zzzzz{y{z{z{{{{|{{|zzzzz{{{{z{|{{zzzzz{yz{{zy{{{zzzzzyzz{{{{z{{{{zzzzz{zz{zz}z{z{{zzzyzz{{{|{{{{{{{zz{zz{{{{{|{}z{zzz{z{{|{|{{{{{{z{z{{{z{{{z{|zzzz{z{zy{{zz{{||zzz{zz{{{{{|z{{{z{{zzz{||{|{{|{|{{{z{{{{{||{|||{{{{z|zz|z|||{|||{{|{{{{{{{|z{|{{|{|z{{{{{{{{{|{{|z{{zz{||}|||||}{{z|{{{{{{{{||{{{{{{z{{{{{{|{}||{{{{||z{|{{{{|||{|{{{{|{{||{|{{}|{z{z||z|{{|{||{{{{z{zzz{{{{z{|{|{{{{{{zz{{{zz||zzz{|z{z{{{|{{||{{|zz{zz||{z{{||{{{zzzzz{{{{z{|{{{{zzzzz{{{{{|z|{{z{zz{yz{zz{{{z{{{{{{zz{{{{{z|z{zzzzzz{{{z{{z{{z{zzzz{zz{{zzz{{{zzyzyzzz|{{{|zzz{z{yzzy{{{{{{|}z{{zzz{zz{zzz{{zzz{{{yzyz{z{{{{{{zyzz{z{z{||{{}|{z{{zz{{|z{{{|{{{z|z{z{{|z|{||z|z{{zzzz{{{{|{{|{{{{|{z{{zz{{{|{|{{zz{{{{z{{||{|{{{{|{{zz{{|z{|{{|z{{{{{{|{{|{|{{z{{{{{{|{{{|||||{{|{{{{z{{{|||||}z{{{{{{||{{||||{{{{z|{{||{|||{{|z|{{{{|{}||}|||{z||{z{{|||||||||y{{z|{{|{|{||||{z{z|z{{||||{||{|{{z{{{{{{{{z{|{{{zzz{z{{{{{||{{{z{z{z{{{|{{{|{{{zz{{z|z{|{{{{||y{z{z{{{{{{z{{{|{|zzz{z{{z{{z{|{z{{z{zz{{{|{z{|{{{z{zzzz{z{|{{z{z{zzzz{z{{{{{{{{z{zz{{z{{|{{{{{{|z{yz{z{|z{|{{{|zzzzzzz{z{|{z{|z|zzzzzyzz{{|{|{{{z{{zzzz{{{{z{{{{z{{{zzz{{{zz{{{{zzyzzy{z{z{{{{zzzzzz{zyz{zz{{z{{zzzzzy{{{zz{{|{{yzz{z{z{{{{{{{{z{{{zyz{{z{{{{{|{z{zzyzzz{|{{{{{{z{{zz{y{{{||{|{|zz|zzz{z|||{||||zz{{zz{||||}|||{|{{{{z{|{||{{}|{{{{|{z{{{{{|{||{zzzz{{z{|{{||||{{|{|z{{{|||||{{{{{{{z|{||||||||}{{{{zz{|{|{||||{{{{{{z{{{{|{z||{{z{|{{z{|{||{||{{zz{x{{{|z|z|||||z{zz{zz|{|{{|{{zzz{{{z{|||z|{{{z{{zz{z|{|{z|{|{{{z{z{{{z{{{{|{{z{zy{z{{z{z{{{{{{zz{zy{{{|{|{|{{{zzx{zz|{{{{|z|{z{zz{z{z{z{{{|zz{zzzyzzz{{{{|{{zzyzzzzz{zz|{z{{zz{zzzz{z{{{{{{{{zzzz{zzzz{zz|zz{z{{zzzy{|{{{{||{z{{{yzzzz|{{{{{{zyyz{z{z{{{{{{{{zzzz|{yz{z{z||z{zzzzzzy{|{{{{{{zzz{zzz{{{{{{|z{{z{z{zz|{{{|z{{{zz{z{y{{{|{z|{z{|z{{z{{z{{|{|||{{zzz|zzzz|{{z|{|{{z{{{z{{{{{|{||{{{z{z|{{|{|{}||z{{{zzz{{||{|z{{}zz{{z{{|{{{{|||||{||{|{|{{|{{|||{z|{{z{{|z{||||{{{|{z{z|{||||||{zz{{{z{|||{{{||{z{{|{{{{{|||{{|z{{zz|z{{{|{{{||{zzz{{zz{|{|{||{{{{zzzz{{|{z{|z|{{{z{zzz{{z|{||z{{z{{{{{{{|{{{{{{{zzy{z{{{{{{{{|z{z{{{z{{{{|{{z{{|zzyz{y{{{|{{|{{z{{zy{yz{zz{{|{z{{yzzz{{z{|z||{zzzyzzyz{zz{z{{{z{{yzzzzzz|{z{{zz{yzzzy{z{{z{{{{{zzzyzz{{z{|z{{|zyzzyzzz{{z{{|z{zz{yzz{z{{z{{z{{zyzzzzyz{z{z{z{z{{zyzzz{z{{{{{{zz{z{z{zzzz{{z{|{{yz{z{zzz{{z{z{|{z{z{y{{z|{{{{z{|yz{z{zz{{{{{{|{zzz{z{zz|{|{{|{{{{zz{{zzz}{{||{{zzzzz{z{{{|{||||zz{{{z|{z||||{{{{|{z{zz{{{|{||||{zz{z{||{||{|||}||z{{{{z{}||||||||{z{{{{{{z|{||||{{z{{{{z{{{||||{{{{{{{z{z{{{{||z{{zzz|z{|{|{{{|{z{{z{{z{{{{{{}{{{{zyzzzz{|y{{{|{yzz{zzzzz{z{{{|{zzz{z{z{{|{z|||z{zzzzzz|zzz{{||yz{{{yzz{{{{{{|{zzyyz{yz{z{|{{{{{zzzzzzzz{{{z|{z{yzz{zzy{z{{y{z{{z{yyzzzzz{{z{{{zzzzzzzz{{{{z{z{zzzzzzyyz{{zz{{{{zzzzzyzzz{zz{{{zzzy{zyyyy{{z{z{{{yzzzyzzzz{{zzz{zzzzyzyz{{{{{{|{{zz{zyz{zzz{{z{z{zzzzz{{z{z{{{{{zzzzzzz{zz|z{|{z{z{{z{z{{{z{{{zz{zz{z|y{|{|{{{{zz{zz{z{{z{{{{z}{{zz{z{{z{{|z|{zz{{z{{{z{||||{|{zzy{{zy{|{zz{{{{z{{z{{{z{}z{{{{{{zz{z{|{{}{{{|||{{{{{{z{|}z{{|}{{{{{{{{zz{{{|{{{{z{{{|{{z{{||||{zz{{{zy{{{{|{{{||{zz{{z{{{{z{{||zzzzzzzz{|z||z{{{yzz{zzzz||z{|{zzy{{zz{{|{{|z{{{{zzzzz{y{{{{{{{|{zzzzyzz{zzz{{|{{{{{zzzz{z{{z{{{{{zyzzzz{z{{{z{|zyyz{zzyzyzz{{{zzz{zzzyzz{{zz{{{{{zzxzzz{z{{{{{{zyyzzzyz{{{{zz{{{zzzzyyzz{z{{{{{zz{zyzzz{z{{z{{{zzz{yzyyyzzyz{{{zzzzzzzzzzyzz{{{{{xzzzzyz{{zz{{z{yzy{zzy{{z{zz{{{{{zzz{zz{{{zz{{zzzzzyyzz{{{{{z{z{{z{zz{z{{|z||z{z{zz{zy{{{{{z{|z{z{z{z{{||z{{|{{{zz{{{zz{{{{|{{{zz{{{{{|z{|{||||{{z{zzz{|{|{||||zzz{z{{{|{z{|||z{|{z|z{{{|{||||{{z{{z{{|}||{{||{z{|zzz{{{{{{||{{y{{z{{{{{|||||{{z{|{z{{{{{|{||{{zz{z{zz{|{|{z{||{{{{{{{{{{{|{}{zz{zyzzz{{|{{|z{{z{zzzzzz{|{zz|{{z{z|{zzz{{|{|||{z{zzz{{{{zz{|||{{zzyzz{z{{{{z{|{z{yzzz{{{|{{{{z{zzz{zzz{zz{z{{{{yz{zzzz{{{{{|z|zzzzyy{{{z|{z{{{zyzz{zz{{|{z{{|{{zzzz{z{{{{z|{{|{{zyzzzz{{{{{z{|zzzzzzzz{z{z{z{{z{zzzzzy{z{{z{|{zyzzzz{yz{{{z{{{{zyzyzzzzz{z{y{{{zzzz{zzz{{{|{{{{zzzzz{z{z{{zz{|{{z{zy{zz{{{{{{|{{{z{zzz{|{|z{|{zz{{{z{{{{{z{|{{|y{zz{{{{{{{|{|{|{{z{z{{{{{|{{{|z{z{{{{{{|{|||{{{{{z{{|{{z}||}}{|{{z{{|{{{|{|{{{|{{{|{z{||||||||{{{{|zz|||{|||{{{z{|zz{z|z{{{{||{{z{|{{{{{||{{{|{zz{{{z{z{{{{{{{{{z{z{z{z|{{||{|z|zy{z{z{z{||{|{|{zzzz{{{{|{{{{{{{{|{{z{z{|{{|||{{{z{{zz||z{{|||{|{zzzz{y{||zz{{{{{z{z{z|z{{z{{|z{{{zz{z{{{{{{|{{{z{yz{{|{|{z{{{zzzz{zz{{{{|zz{{{zzz{zzz{{|{{z|z{{zzz{y{{|{{{z}|zz{zyzzz{{{z{|{{zzzz{z{zz{{z{{{{{{zzz{zzz{{z{{z{zz{{{z{z{z|{{||{{zz{z{{z{{{{|{{{{|z{{{{z|z{z|{{|{z{zzz{{{||{{{{{{z{z{z{zz||{||||z{{zzzzz{}{|{{|{{{{{{z{|{{|z{{{|z{{z{{{{{{{|{||||{{{|{{{||z|{|}|||{z{{{{{}|{|{{z|{||{||z{|{{|}}||{||{|{{{||{|||||{{||{{{||}{||||{|{{{{|{{{||{||{|{{z|{{{|||||{||{||{{{{{{{{||}{}{|zz{{{{{{{|||||{{{{{{{{{{|{||{|{{{z||{{|{{|{{||{{{z{{z{||{z{{{{zzyzzzzzzzzz{{{|z{zz{zzy|{{{||{|{z{z{zzzzz{z{{{{z{{zzzzz{{{|{{z|zzzzzz{zz|{z{||{{zzyzz{z{{||z{{{{zzzzzz{z{z{z{{{{{{yz{{z{{z{zz{{{{{zz{yzz{{{{{{|z{zzz{zy{{z{{{|z{zyz{yzzzzzz{{|{z{zz{{zxzz{{z{z{zz|z{zzyz{zz{z{{zzyz{zzz{z{{{{{{zz{{zz|z|{{{{|{{{z{{{zz|{{{{||{{{{{z{z{z|zz{||{|z{z{{zzz{|{{|{|{{zz{{{|z{{{{{|||zz{z{{{z{{||}||{{{{zz{{{|{{|{|{|{z{{{z{{{z||||{{{z{{{z{z|}{|{|{{{{z|z{{{{{{z|||||z{z|{{{z}|||{|{|{z{{{{{|{|{{|||{{{zzzz{||{|{{|{|{{{{{z{|{{{||{|{{{zz{{z{{{|{}||{{{{z{{z{{{{{{|{zz{z{z{z|||{{{}{{{{{{z{y{{{{z{{|{{z{z{{{|{{z{|||{zzzzz{{{{|{{{{|{z{{{{z{zz{{z{|{{z{zz{zz|z{{z|z|zz{{{{{zz{|{zz{z{zzz{yzz{z||z{{zzzyzz{zzz{zzz{{{zy{z{zzy{{{{{{|{{zzzz{yz{{{z{{{{{zy{zzz{z|{{{z{{zy{zzzzz{zzzz{{|{|zzzz{{{{{{{{|{{{{{z{{zyzy{{|{{zzzz{{z{{{|{{z{zz{{zz{zz{{z{{z{{zzzzzzz{|z{{{|z{{{zzzz{{{z{|{|{|{z{zz{zz{{{{{z{{zz{zyz{z{{z{z|z{{{{zz|{{{{{|{||{z|{{{{{{{|z{|{|{{{{{z{y{{|{|||{||z{z{{zz||{{{|||{z|{{{|{{{{{{{|{|{{{{{z{{||{|||{|{{{{{{|{{||||{|{{{|{{{{{|{{{||||{{{}{{|{{{{}}{|{{{{zz{{|{z||||{{zz{z{zz{|{|{|{||{zzzz{{{||{{||{zzzyz{z{{||{|{~||{zzzzzy{{|||{{||{z{z{{z||zz{{||{{z{{{zz{|{{{{|{{{{{{zzzzz{{{|{|{{{{z|{{z{{{{{{z{z{z{{yy{|{{{{zz{{z{zzzz{{{{{{z{y{zzyz{zz{|z{{{z{zzz{zy{z{z|{z|{zzzzzzzz{{|{{{|z{{zzzz{yz{{{{{{{zz{yzzyyz{{z{|{{zz{{{{{{||z{{{{{{zzz{y{z{{{{z{{|{z{{z{{z{{{{{{||{|z{{zzz|||{{{|{{z{{{y{z{|{{|{|z{{z{zzz{{{{{{{|{{zz{z{zz{|{|z{{{{{z|{{{z|{||||||z{|||z{z|}||{|{{|z{{{{{{{|||{{|{|{z{{{{|{||{{|}|||{{{{{{||||}||||||{{||{{|||}||{{||{{{|{||{}|{{|||{{{{{{{{}||||}|{|{{{|{|{{|{{||{{{{{{{{{|z{{||{{{{{{{{z{|{|{|||{{z{{zzz{{{{{|{{z{zzzy{{z{{{{||{{zzz{yyz|{|{|{{|{{zzyz{{z{{{{z||{zzzzyzz{{{|z{|{{{{z{zzz|z|{{{z{{zz{{z{zz|{z{{||z{{{zyzzz{{z{{z{z{y{zzzzz{z{z{{{zzzz{y{z{{|{{|{{zzzzyzzz{|{{{{{|{{y{z{zzz{{{{{{{{{z{yzyzyz{zz{{z{{{y{yyzz{z{{yz{{zz{z{zz{{z{{{z||zzz{yzyz{{z{|{{{zzzz{z{{|{{{|{|{zz{zzzz{{|z|{||{z{{{zzz{z{{z{{{{{zzzzzzzz||{{{{{{{|z{{z{|{{{|z{z{z{{z{zz{|{{|{{{z{{{{|z{{z|{|{|{{{z{{{z||{{||{{{{z{{z{z||{{{||{{{{zy{{{{{|{|}|}{z|{{{z{{||||{}{{{{{{z{{||{|{|||{{{{{zz{{{{{{|||{z{{{{{{{}{||{||{{{z{{zzz|{|{{{||{{|z{{z||||{|{z{{{zzzz{z{{|{{{|||{|z{zz{||z{{z|zzzz{zzy{{{{{|{|z{zz|{zz{{{{|{{|z{zzzz{z{z|zz{|{y{{zz{zzz|{||{{{zzzzz{zzz{{{z|{|{y{zz{z{|z{zz{{{z{{zzzzz{zz|{z{{{z{z{yz{{{zz{{|{zzzzzzz{z{{{{{{z{zz{zzzz{zz{{{z{zzzzzyzzyz{zz{|{z{{zzzz{z{{{{{zzzz{zz{yz|{z{|{|{zyz{zzz{z{{{{|{{|y{zzzzzz{|{{{|{{{zzz{{z{|{z||||{z{{z{{z{{{|{}|{|zzzzzz{z||{|{|||zy{zzy{|{|{z{|{{{{{{{{z{{|{{|{|{zzz{z{{{{z{|||||z{{{z{{{{{|{{{|{{{|{{|{|{{|||||{|{{z{{|{}|{||||{{{zz{{{{|{|||{||{{z{zz|}||{{{|{|z{{zzz|{{{{||{{|{{{|z{{{|{{|{}{{{zz{z{{{{z|{{{{{{{zz{{z{|{|{|z{{{{z{z{y{{{{{|z|zzz{zz{z{{|{z{{{{{zzy{zz{{z{z{||z{{z{{{z{zz{{|{{{{{z{z{{zzz|{|{|{z{zzy{z{{{z{{{{{{zy{z{zz{{{z|{zzzzy{{zz{{z{{{{{{{zzzzz{z{{{z{{zzzzzz{{{{|{z{{{{z{zzyz{{z{{{{{{{{zzzzzzz{{z{z{|{{zzzzzzzz{yzzz{{{zzyzzzz{{{z{z|{zzz{zzzy{z{{z{{{{zyz{zzzz{{zz|{{z{z{z{{{{{z{|{{{zzzz{zzz{|{z{|||z{z{{z{zz{z{{{|{{z|z{{{z{{{{{{|{z{|zz{{yz{|zz|{|{zz{{{{{{{|}{{||{z{{{z{{{|z{{||{{{{zzz{{{||{{{||{{{z{z{z|{{{{|||zzzz{{{{{{}z|{{||z{{{{{{{|{{{|{|{z{{zz{{|{|||{|{|z{{z{z{{{|z{{{{{{z{{|{{{|{zz{||{{{z{{yz{{{|{{}|{{{z{{zy{|z||{{|{{{zzy{z|{{{y{{{{|{{zzzyzz{z{z{|yzzzzyzzz{|zz{{z{{{{{{zzz{{{{{|{{yzy{zz{z{z{zz{{zzzzz{{z{{{{{z{{{zzz{zzz{{{{zz{{{{{yz{{zzzzz{|{{zzzz{{y{{zzzz||z{{yzzzzy{{z|{{{{{zzyzyyz{z{z{{z{zzzzzzzzz{z|{z{{zzzzzzzzzzz{{z{{z{zzzzzzy{zzy{z|{zzzzzzy{zz|{{||{zzzzyzz{{{{{z{|zzzz{z{z{{zz{|{|yzzzzzzz{{|z{{{|{{|y{z{{{{{{{{{|{z{{{{zzz{{{{{{{{z{{zz{{{{{{{||{{{{z{zz{{{{|{|||z{zz{zzz|{{||{{}{{z{{z{{|||{|{|{|z{{zzy{{}{{{{|||{z{{|z{{|{{{|||{z{{{{z||{|{||{||{|{z{|{|{|{{|{{|z{zzzz{|}}{|{|{{{{|||{{{|{{{{{{|z{{z{z{{{{|{{||{{{zzzz{{z{{{z|{{{zzzyzz|{{{|z{|{{z{zyzyz|{z{z|{{zzzzy{z{{{{{{{|zzzyzz{y{{{{{{{{{{zy{z{zz{{z{z{{z{zzyzz{{{{{{|z{{zzz{zzy{{{zyzzzzz{{zzzz{{{z{{z|zzzzzzyzzz{z{{{{zzzy{zzzzz{z{{{{zzzzy{yzzz{zz{{{{zzzzz{{yzy{|z{{zyzzzy{y{|zzzz{{{yzyzzzzzzzzz|{}yyzz{zzz{zz{{{|{{zy{zzzzz{{z{{{zzz{{zz{z{|z{{{{|z{{yzzzz{{{{{{||{{{|zzzz{{z{{{z|{{zz|{zz{{{|{{{{z{z{z{{||{|z{{{zzz{|y{z{{{{||{{{{zz{z{{z{{{{{|{|{{z{{zzz|||{||||{{zzz{{{|{{{{|||{z{z|{z|{{{{|{{|{z{z{{{{{}{|}{|{{|{{{zzyz{{{||{||z{{z{z{{{|z{{{|{{zz{zzz{{{|z{{|{{|{zyzz{{|{{||{{zzzz{zzz{{zz|{{z{{yzz{z{z{{{{z{{z{{{zz{{{{{{{||zz{zz{{z{z|{|{{{{{{zy{|z{{|{||{{zzzzz{z{{{zz{{{{{{{zz{z{z{{{{{{|{z{z{{zzz|z{z|{z{z{yzzzz{z{{{{{{z|{z{zz{z{{{zy{|{zz{zzzy{{{z{{{z{zzz{{y{{{|z||{{yzzzy{z{z{{{z{{{{zzzzzzy{zz{z|{zzzzzzy{zz{{{z{{zzzzzzzzz{{{{{z||{zyzzz{{{|{{z|{z{zzzzzyz{{z|{|{|z{z{{z{z{{{{zz{{{z{zzz{z|{{{{{{{z{z{{zzz|{|{{{|{{z{{{zzzz{{{{||{zzzz{zz{{{{|{|||z|{zz|{{{{|{{{{{|{{|{z{{{|||{|{|{{{{{zz{|{||{||}{{{zz|{{{|{|{|{|}zz{|{z|{}||||}{{{||z{zz|{|{||{{{z{|z{{|{{||{|{{{|z|{{z{{{{||{{|{{zzz|{z{||||||{{{{{z{z{{||||{|{{z{{{{{zz||{z{z{{{z{{z{y{|{z{{{|{{{{z{zz{{zz{|{z{{zz{{{{{{{{{|||{{zzyzz{{{|{{{{{z{{yz{{z{|{{{{{|{z{{{zzyz{{{zzz|{z{zz{zz{{{{{{{{yzz{z{z{{z|{{{{{{zzz{z{z{|{{z{z{yz{zzzyz{{{{{{{{zzz{yzzyz{{{{{|{{{{zzz{yz{{zzz||z{{yzzyzy{{z{||{zzzz{z{y{{z{{z{|zzzyzzzz{|{{z{{|{{{{{zz{z{{{z{||zz{zz{zz{|{zz{{{{z{{zzzzz|{{{{|{{{zz{z{zz|{{|||{zz{zz{z{{{{{z{z{z{{z{{{{||{{{{{|z{{{z{{{{|{|{||||{{{zzz{{{{{|{{{|zz{z{{{|}{{|{||{{{{{{{{z{||||{|{{{{{|{|{||||||||{{{zzz{|}||{|{||{yz{{{|{||{{||||{{z{z{{{{{{|||||z{z{{{zz|{{{}||{{z{{z{z{|{|||{{{z{z{z{{{{{|{||{z{{z{{{z{{{{{{{{{{zzzz{z{{|{|{||{{{{z{y{{{|{{|||{|{{{z{{{|{{z{{|z{{{zz{zzz{{{|||zz{{zz{z{z{z{||{{zzz{zzz||{|z{{z|zz{zzz{|z{{z{|{zz{zzzzz{z{{{z{{|z{zzzz{z{{{{{{zzz{z{{{z{{z{{{{{{zzzzzz{z{{{{{|{{{z{zzzzz{{{z{|{{z{yy{{z{{{zz{{{{zz{zzz{zz|{z{{|{z{z{z{z|{z|{{{{{y{zz{zz|{{||z{{{{{z{z{{{{|{|}|{{z{zz{y{z{{{{{|{|{z|{yz{{{{z||{{{z{{{{{{{}||}|{|{{{{|{{{z|{{|{||{|{{{zz{{|}|}}||{zzz{z{{|||{{||{{{{{{{|||||{{|||||z{{{z|{}|||}|}|{{|{{{{||{||}||{{{{{{{{{{{{{|{||{z|{{z|{{{{{{||{{{z{z{|{{{{||}|z{|{z|{{{}{{{|{{{{|{{y{z|||{{{{{{z{{zzzzz{{{{{{|{zzzzzzz{{|{{{{|{zy{{zzz{{{{|{z{{{{{zzy{{{z{zz{|{zzzzzz{{|{zz{z{{zzzzzzzzz{{{z{z{z{{zzyz{{{{{{{zz{{z{zzz{zz{{|{{zzzzzyzzz{{{zz|z{zyzzzyyz{|{{{zzz{z{yzz{{z{z{{{{{zzzyz{xzzz{{|{z{zz{yyzzz{z{{{{{zy{z{zzyz{z{z{{{yzzzzzz{z{{|{{{|zz{zzy{z{{{|{{{{{{zzzzzy{|||z{{{zz{{{z{zz{|{{{|{{{{{{zzz{|{|z|{|{{zzz{{z{|{{{{{z{z{{zz{z{{|{|z||{|{{{{{z{{{{{||}z{{|{z{{{|{||{|||{z||z{{||{{|||{z{{{{{{z{z||||{||z{{z{{{z}|{|{{{{{}zz{{{{|{{{|||{{z{{{zz|{|{|||z|{{zz{z|||{}{|||{z{{zz{z||{{|{{{{zzz{z{z{||{{{|{z{|zz{{{|z{|{{z{zz{zzz{zz{{z{{|{z{z{{zzz{z{{|{|{{zzyzzzy{|z{z{|{{zzzzzz{{{z{zz|z{{{yzzzyzz{|z{{{{zzz{zzzz{{z{{|{{{{{yzzyz|{z|{{{z{zzzz{{{{{z{|{{{zz{zxzzzz{{{{{|zzzzzzyz{z{zz{{{zzzzyzzzz|{{{||{{zzyz{yyz{{zz{z|yyzzzy{y{{zz|{{{zz{zzzzzz{y{{{{|{{{z{z{z{{{{z|{{zz{zzy{z{{z{{{|{zz{zzzzy{z{z|{{|{{{{|zzzz||{{{{{zzzz{{zz{|{|{{{z{{z{z{zz{{{{{|{{zzz{{{{|{{{{|||{zz{{{{{z{{z{{|{|{|{{{zz{{{||{||{{{z|||z|{{|{{|}{z{{zz{{|z{{}{{|||{z{{{{{||{{{||{{{|{z{{z{|||}{}{{{z{{{z|{{{{||{|{{{{z{{||{{{{{|{{{{{{{{z{|{{{|{|||zzzz{{||{|||{|z{zzzzzz{{|{{|{|{{y{z{|y{|||{}||{{{{zzz{|{{{||{|{{z{{yzzzzz|{|||{{zzzzyzz|{|{{||{{{zz{{z{{||z{{{{zz{{zzz{{z{{{{zzz{y{zzz{{|{z{zz{{{zz{zz|{{{z{{{{zzzz{zzzzz{{z|{z{{{z{zzyz{{|z{zzz|zzzzyz{{{{{{|{zzzzzyz{{{zyz{{zz{{zzzy{{{zz{{{{{{{{yyz{z{{{{{{z{zzzzyz{{{{{{{{z{zz{z{{{{{{{{{{{{{z{{z{zz|{{||{{{{{{yz{{{z{|||{|{{|{{y{{||{z{|{{{zzz{{z|{{{z{{|{zzz{{{{|{|||}|{{|||||{|{|{|{||||{{zzzzz{}{|||||{z{{{z{{||{||||z{{z{{|{{{|{||||||{||{zz|{}||||||{z|{{{|{{|{}||{{|{{|{{{{|||{z{|}{{||{{|{|{{||{||{zz{{{{{z|{{{{}{|{z|{zz{{{||{{{{{{{{z{yz{||}{{{{{zzzzz{yz{{{|{||{{z{yzzz{{{{{|{{{{zyzz{z{zz{{{{{z|{z|{|z|{|{zz|{{{|zz{zz|{{{{{{{zzz{zzzzz{z{{|{{{y{zzzzzzz{{zz{z{zy{{{z{{{{z{|z{{zzyzzzz{|z|{{{{{zzzz{yzz{{z{{{{zz{zyzzzzzz{{z|{{{zzzz{zz{zz{{{{yzzyzzzzz{zzz{{zzyzzzzz{z{{{{{|||yz{{yzzz{{zz{||zz{{zyy{|{|{{{z|zzzzyzz{{{{{{|{{{zzzy{|{z{|{|{|{{z{z{zzzz{{||{{{|z{{{yz{{{zz{{{{{{z{{zzy{||{{z{{z{zzz{{{|{{{||{|{{zz{{{z{{|||{|{|{{{{z{{{{{{||||{{{{{{{z{{||{}|||{{|z{|{{||{|{{}|{||z|z{||{||||{{{z{{{{{{|{|}||{|{z{{{zz{{{{{{{|{|{z{z{zz|{{{|{{|{{{{zzz{|{{|z{|{z{zzzzz{||{{|z{zz{zzyzzzz{{z{|zzz{zz{zz{{{{{{{{{zzz{zzzz{{|{{{{zzz{zzzzz{{{z{{{zzyzyyzy{z{{{zzzyz{yz{{y{{{zz|{zzzyyy{zzzz{z{zzz{|zzzzzyzz{yzz{{zz{zzz{z{zz{{zzzz{zzzzzz{z{zz{|zzzzyyzzzzzzz{|{z{zzzzz{yz{zzz{{{zzzzzzzyz{z{z{zzzzzzz{y{zz{z{{zz{zzyyz{{{{z{{{|{zz{{{zz{{{{{{||{y{{z{zzzzy{z{||{{zzz{zzzz|{{z{{{{zz{{{zz{{{z{{{{{y{zzzz{{||{z{|{{{zz{z{{{{{{||{{{z{{{{{z{{{{{|{|{{z{z{zz{{|||{{{|z{z{{z{{|{{{{|{{z{{{{{{{{|{{|}|{{{{{{{{{}{||{{|{z{zzz{{zz{||{{|{z|zz|z{{|{|{|{{{z{{{z{z{{z||{|||{{zz{{{{{{{{{|{{{{zz{z{{{||z{|{{{{{{yz{{||{z{z{zzzzyzzzzz{{{{{|{yyzzzzzz{{{{{{{|zzzz{y{{{{zz{|{{zzzzzzy{z{zz{{{zzzzzzzy{z{{z{{}zzzz{zzzzz{{{{|{zzzy{zyzzz{y{{|{{zzyz{z{zyz{{{|{zzzzzzzz{zz{{z{{yzzzzzyz{zzz{{{{{{{{zyzzzzz{{z{|{zzyzz{yz{{zz{{zzzxyzzyzzz{z{z||zz{{yzyy{{{{z{{{z{zzzyzz{{{{z{||{zzzzyz{|{{{z|{{zz{zzzzzz{|z{{|zz{zz{y{zz|{z{}{z{zz{zzz{{{{y{|{|{z{{zzz{{{|z{|{{}{zzzz{z{{|{{{||z{{z{z{{{{||z{|}{z|{{{zz||{|{|{{{y|{|{z{{{|||{||z{{{{{{{{|{{|||{|{{{z{{{{{||||||{{{{{z{z|{{{||{|{zzz{{z{{||{{|||||{{z{{{|{|{{{{|{{{yz{zz{|{{{|||{{|yz{{{zz{{|{|{{{{z{z{z{{{||{{{{z{{|zzz{|{zzz{{{zzz{y{zz{}{{{{{{zzzzzzz|zz{|{{zzzz{zz{{z{{{z{{{|{z{{yzz{z{|{{{zzzzyzzyz{{{z{{{{z|{yzzzz{{{{zz|zzzzzzz{zzzz{z{zzzz{zzyzzzz{{{z{{{zzzy|z{{|z{{{{{{zzzzzzz{|z{{z|{zz{zzzzzz|zzz{{zz{yzzz{zzz{z{{z{z{z{zzzzz{{z{{{{{yzyz{zz{{y|{{|{{z{{zyzy{z{{{{|{zzzzz{z{z{{{{z{z{{zzzzyzzz{{{{{{{{yz{z{z{|||{{{{zyzz{{z|{{{{{|{{{{{{{z{z{{|{{||{{|{zz{{{||{||{||{zz{zz{{{{|{{{{{|{{{z{zz||{|{|||{{{z{z|{||{{|||{|{{{{|{{z{{|||||{{{{{{z{|||{{{|||z{{|{{{|{{{{{|{{{{{{{{||z{}||||{{{{{{z{z{{{z|{|{{{z{{{y{{{{{{{||z{{{{{z|{{{{|{|z{zzz{|zz{|{zz||{zzz{zzz{|{{{{{}|zzz{z|z{{{{|{{{{{{z{zzzz{{{zz|{{{yzyzzzz{|{z{z{z{zz{z{yzzz{{{z{{{zzzzzy|{|z{{{{z{zzz{zz{z{{z{z{{zzz{zzz{{{z{{z{yzz{{zyz{zz{{{{{{zz{zzyyzzz{z{{{zzzzz{zzzz{z{{{{z{{zzzyy{{z{zz{|zzzyz{zz{{{{{{|{zz{{yz{zz{{{{{{z{z{{{zz{{z{{{{|}zzz{{z{z||{{{|z{|{{z{zzzz{|{|{{{{zz|zz{z{{{{{{{{{zz{z{{{{z|{{|{{{zzz{{{zz{{}{{||{{zz{|{{|{{|{||{{{z{{z{{||{{{|{{{zzz{z{{{|{||||{{|z{{z{{{|{{{{{||zz{{{{|{}|{|{{||z{z{{z{||{|||{||{{{z{{|{{{|{|||z{{{|{||{{{{{{|{{{z{{z{z{{{|{{}|||zz{{{z||{{{{|{{{|zz{{z{|{{|{{||{{zzz{zz|{{{{{|{z{z{zzzzy{{{||{{{{{zzy{|{{{{{|}|zz{zzzz{||{{{z{zzzzzyzz|{{{{{{{zz{zzz{z{{{{{|z{{zyzzzzz{{{{{{{{{zzyzzzz{{{z{z{{z{yzzyzzzzz{|{{{zzzzzzy{z{{{{{z{{z{zz{zz{{{z{z{{{zzzyxzyz{zzzz{{zzzzzzzzz{y{{{{{{zzzz{zzzy{{{z{|zzzzzy{z{z|{z|{|{z{z{y{zzz{{{{{{zz{zzzzz||{{z|{{{{z{{z{{z{{z{|{|{{zzz{z{{z||{z{{z{{zzzz{{{{{{|{{{{{zz{{{{{|{||{{{z{z{{{|{|{{|{||{{z{z{z{|{|z||{{|z{z{{z{|{{{|}||{{{zz{|{{|z|||{||{z{z{{{{|{{|||{|||{|zz{|{|||{{{{zz{{zz{z{||}|{{|{{z{{{zz{|{{|{{z{{{z{{{{{{z||||z{{zy{{z{{|{z{{{||{{|z{{{{{{{|{{{z{zz{{z{{{{{|{|{zzz{zz{{{{|{|{|z{zz{z{{{{|{{|{|{zz{zzz{{||{{|{{{zyzzz{z{{{|{{|{{z{zz{{z{|z{{|z{|{{y{y{z{{z{z|{{{zzyz{zz{zz{z|{{z{zzz{{z{z{z{z|{{zzyz{zzz{zz{{{{{{zzyzzyzzy{zz|{zyyzzz{zz{zz{{{zzyzz{zz{{{{{z{{{zzzzz{zy{{zzz||{|{zy{zzz{{{zz||{{{{z{zzz{z|{{{{{{z|zzz{zz{{{{{{{{zzzzz{{{{z{|}{||z{zz{y{{{|{{||z|z{|{{y|{{{z||{z{z{z|z{|{{z||{||zz{|{{{{{{{|||{|{{{|{{{{|||||||||zz{|{zz|{z||{|{{{|{z|{||||||||||{|{{{{z{}{{{|||{y{|z{{{{|{{||||z{{{z{z{z|||{|{||z{|{{z{{|{{{|||{{{z{{{{z{{{||||{{{{z{{z{{|{{{||{{{{zz{z{{||{z||{{{zz{{zyz|{z{{|{{{zz{z|{{{{z{{{{{zz{yyz{{|{{z{{{{z{yzzzzz{{zz{{{{zz{z{z{{{{{{{{{z{z{z{z{{{{y{z{z{{zz{zzz|{{z{|{z{zzz{yzyzz{{{{|zz{z{zzzzz{zz{{z{zyzzzyzzz{{{{z{{{zzzzz{zzz{{{{|{zzzzzzzz{z{z{{{|zzzzzzzz{||{{{zzzzz{{yzz{{|{{||{{{zzyzzz{{{{{|{{zz{zz{z{{{{{|{{{{zz{{yzz{{{{|||{{{z{z{{{{|{{{{{{z{zz{yz{{{{{{|{z{{|{z{{{|{{{{}{{{{|{{|z{{{|||{|{{{zzz{|z|{|{{|{{{z{{{{{{|{{||||{z|z|{{z{|||{|{{z{|{{z|z{||||||{|{{{z{{{{||{{|||{{|{{z{{|{|||||{|{{{|{{||{{{|{|}{{z{|{zz{{{||{|{|zz{{{{{|{|{|{||{z{{{{{z{{||{z{z{zz{zzz{|{{|{|{{{zzzyzy{z|{z|{|||zzyzyzz{{{{{{{{{{zz{{zzz{{{{{|{zy{|z{y{{{{|{{{{{{{yzz{y{{{z|{{{z{{z{z{z{{|{z{{{{yz{z{zyz|{z{{{{zzz{zzzz{zy{y{{|zz{zyzzz{{y{{|{{{z{z{{{z{{{z||{zzzyzzzzz{{{{zz{{{{z{zzzzz{{z{zz{zzzzyyzzz{zz{|{{{zz{zzzy{zzzy{{{{zzz{z{zz{{{{{{{{z{{zzzz{zz{{|{{{z{zzz{z{|{{{{{{{z|{zzzz{|{|}{|{{{{y{zzz{{{||{|{{{{{z{{{{|{{{|{{{z{z{{{z{{|}{||{{{{yz{{{{{{|{|||{{{z|{z{|{|||{|{{z{|z{{{{||z{||{z{{{{{{|{|{{{{|||zz|{{{{{|{|{||||z|{y{z{||||{|{z{{{|{z|{|{|{|{}|{|{{|{z{{|{|{|||z|z{{{{{||{{{|||{{zzzzz|{{{|||{{{z|z{{z{z|}{{{{{{zyzzz{zz{{{{|{{zz{zzyz{{{{z{{{{z{zz{z{zz{y{{{{{zz{zz{|z{{||{{{|zz{zz{zz{{{{z{|{z{z{zz{zz{z{{{||{z{zzzzz{{zzz{|z{zzzyzzz{z{{zz{|zzzzzyzzzzzz|z{{zzyzzzy{zz{zz{{z{zzzzzzyz{{|{{{z{zz{yyzy{zzy{zz{zzzzyzyzz{z{z|{zzy{z{yy{{{{{{{{|{z{zyyzz|{{z|{z{{z{{zzzzz{{||||{z{zz{{y{z{|{{{{{{zz{{{zzz{||{{{{{zzzz{yz|{{|z{{{{{{||zz{{{{{{|z{zz{z{{z{|z{|||{|z{z|{z|z{|{|z{|{{z{{|z{y||{|{|}{{zz{{{{z||||z{||{|{{{{{{{||||{{{}{{{{{{{{{|||||{|z{{{z{{|{{{{|||{{zz{{{{{|{|||}{}|{z|zz{{|{||{{|{{|zzz{{{{{{|z{}{{{zzz{z{||{|{|{|{{zzz{z{z{|z{{{{zzz{z{{{|{{{|{{{{{{zzzzz{{{{{}{{zzzz{zz{{{{{|||z{{{zy{zzz{{z|{{{z{zzzzz{|{{{||{{z{zz{zzz{{{{|{|{{{{zzzz|z|{y|{{zzz{z{yz{{zz{z{{zzzzzzzy{{{z|z{zzzzzy{zz{z|z||{{zzzzzzy{y{{zy{|{{{z|{z|zz{zzz{z{{zyzxzzy{{z{y||{zz{{zzzzz{{{{{|zzz|zzz{z{{{{|{{|zz{zyy{z{{{|{{{|{z{zzzzz{{{{{{{{{zzzzyz{{{|{{|{|{z{{z{yz{{{zz{}{|z{{{zz{{||{{|{{{{{{{{{|{{|||||{{{z{{z{z||{{{|||{{{{{{z{{||{|{}}|z{{{{zz{{{}||||{{|{{|{|{|{{||||{{{{|z{{|}||{{||}z||{{{{{|||{||}}{{z{{zz{|{||||||z|{{{z{|{{{{}{||{{y{z{{||z|{}||{zzz{{{{{||{||}{{{zz{z|y|||||zz|zz{z{{{zz{{{{{{{{zz{zzzzzzzz{|{|{zzzz{y{z{z{{{{{{y{zzyyz{{{|z{{zz{z{zz{zz{{zz{{{{z{yzz{zy{{|z{{{{zzzzyzzzz{{{{{{zzzzzzz{zxz{{{zzzyzzzzzzz{{{{|{zzzzzyzyzz{{|{{{z{{{y{yy{zz{{{{|{zzzzzzyy{{zzzz{|{z{y{z{zzzzzz{{{zzzzz{zzzz{{z{{{{zzyzz{z{||zz{{{zz{y{z{{{|z{z{{{zzz{zz{zy{{{{{{|{{zzzzyyz|{{{{{zz{zz{zzy{{||{||z{{zzzz{z{||z||z{{{z{z|{{z{{|{{{{{{{{z{{z|{{{{||z{{{{{zzzz|{||{{{zy{{z{zz||{{{{||{|{z{z{{{|{||{{||zz|z{{{{|{{|{{|{y{{z{{{{||||{{|{zz{{{{{z{|{{|{|{{{z{z{||{{|{{||{{{zzz{z|{{{{|{|zz|zz{zz{{{{{{{{zz{|zzzz{{{}{||{zzyyzy{z{|{z{{{zzzyz{yyz{{{z{{{{{zzzzzyz{zz{{{|{{{{zzzzy{{{{z{{{{zyz{{zzzz{{z{{{zyzzzzz{z|{z{zzzz{zzyyy{{{{y{}|{{{{y{zy{zyz{z{{zzzzzzzzyz{{z{z{zzzzzz{zzz{zy{z{zzzzzzyzzzzz{y{{{yzzyyy{zzzzzzzzzyyzzzzzzz{{z{{zzzzzzz{yyzz{{z{{{{zzyzzz{zzz{||{|{z{z{z{z{{{{{{{{zz{z{zzz{{{z{{{|z|{z{yzz{{{{|{|{{zz{zzz|{{{{{{|z{{z{zzzz{|z{{|{|{{zzz{y{{z{z{|{{z{{z{{{{|{{{{||{{{z{zzzzz||{{{{{{z{{{zz{||{{{{||z||yz{{{{|{{{{{{{{z{|{{{||{|{|||}z{{zz|z|{|{z||{|{{z{{z{{{{{|{{{{{{z|zzz{|{||{{|{{{zzy{{{|{{{|z{{{zzzz{z{{{{{{|{{{{z{yz{{{{||{z{zzzy{yz{z{zz{{zz{{yzzzzzz{z{{|z{zz{zy{y{{z{z{z{{|{zzzzyzz{{{z{{{z{zzzy{zz{zz{{z{{y{{{z{y{{zz{{{zzyzz{zzz{y{{z|{{{zzyyzzzz{z{{{{{zyy{zzzzzzzz{{|zzzzzzzzzz{{zz|{{yzzyyzzzz{{{z{{{{yyzzyzzzzzz{zzzzz{z{y{yz{zzz{z|zyyzyzzzzz{{z{{{zyyyzx{zzz{z{|||{zzzzyzz{z|{|{||{yz{zz{{z{{z{{{{{zzz{y{z{z{|z|{zz{z{zzz{|z{{{{|{{z{zzz{{{|{{{{{{zz{z{{{{{{|{|{{{zz{{|{{{{{{|{||||{z|zz{{|{{|{{{{{zzz{z{{{|{{|{||{z{|z{{{{|{{z}}y{{{{y|{{z|{{{||{{zz{{z|{|{{{{|{{{z{||{{{{|z{{||{{z{z|{yz{|z{{|z{{z{z{{zz||{|{||||{{zz{zzz{{{||{{{{{{{z{{{}|||{{{|zzz{{{z{{{z|z{{{zz{zyzz|{{{|{{|{z{zzzz{{zzy{{z{{zy{z{zy{z{{z{||{zzzz{zz{zzz{{{{{z{zzy{zz{|y{z{{{{{yzyz|yz{z{{{zzz{yz{zzyzz{z{{{yzzzyzzzy{{{{z{zz{zyzzzz{zzzz{{zzzzzzzzzzzzz{{{z{yzzzzzzzz{zzz{{{zyzyzyzz{{z{{{{zz{z{{z{z{z{z{{{z{z{zyzz{{{{{|{{{yzzzzzz|z|z{{|{z{{{zz{z|{{z|{z||zzzzz|zz{{|{z|zzyz{zzzzzz|{{{{{z{{{zzzzz{{z|{{{{z{zz{z{{{||z|{{zz{z{{{{{{{{{|{|{{zz|zzz{|{{{{||{z{{|z{{|{{{}|{{z{z{{{{z{{{|{{{||{{{{{z{{|||{{{{{zz{z{|z{{||{{|{{z{{zz|{{||{||{{|{{{{z{{}{z{{|||zzz{{zzz{{{z{|{{{{z{zz{z{|{||{|{|{{z{zz{z|{||{{|z{zy|zzz{||z{z{|z|zzzzyy{{{{{|{{{yzzz{{z{z{{{z{|zy{{z{zzz{{{{{{{{{zzz{zy{{z{{{z{{{z{zzzzz{z{{{z{z{zz{zzz{z|z{z{z{z{yz{zz{{{z{zz{zzzz{zzzzzz{{z{zzzzzzzzyzz|z{{z{zzzz{zyzzzz{{{|{{zz{zzzzzzzyz{{{{yzzyzzzz{{{z{{{zzz{zyyy{z{{z{{{zzzzzzyz{z{{z{||zz{zzyz{z{z{{{{{zz{z{y{zzz{|z{||z{z{zz{z{|z{{{{{{{{zzzz{{{{|{{|{{{zzzzz{|{{{z|{z{zz{z{z{{{{|{|}{z{{{{{{{|{{|{|||{z{{|{zz{||{|z||{zz{z{{{|||{{||{|{{z{{{|{{{|||||{{z{z|zz|{||{{}{|z{{z{zz||{{{{||{{{z{zz{{|{{{|{{||{{{z{{|{|{{{|{{{z{zzzz|{{||{{{|{{zz{{{z|{|z|||{{{|{{{|{|||}{zz{zzz{zzz{{|{{||{{z{{{{yz{{{{z{z{{{{z{zzz|{{|{{{{{z{{{zz{z{{{z{{|zzzyzzz{{z{|{{{{z{{zzzzzz{{z{{z{|{zzzzyz{z|{{{z{{y{y|{{yz{{|{z{{z{zz{zzz{{{z{{|z{zzzzzy{zz|z{{{{zz{yzyzz{{{zz{{{{yzzzyyzy{zz{{{||zzyzz{{{{{zz|z{zz{zzzzy{|{{{z|{zz{yzzzz{z{|{{z|{z{{zzzz|z{{z{|||{zzzzzzz{{{{{{}{{|zzyzzz|{|{|{|{z{{{z{z{{{{z||{{{zz{z{z{||{{||{{z{{zz{z{{||{||{{z{{{{|{|{|}|}||z{{{zz{{{||{{||{{{{{z{|z||{{{|||{|{{{{|{{|{{||{||{z{||{{{}|{{{||{{|{z{{|{|{{{|}|}{{{{z{{{{{|||{|{{z{{{{{{z{{{|{|{{zzz|{{||{{||}{||zzyzz{{{{|{{z||z|z{{{||}}}~{{|{{{z{zzy{{|{{{{{{zyy{zzzz{{{{{{|{{zzzzzz{{{{{{{{z{z{zzzz{z|{z{{{zz{yz{{y{z{|z|{{{z{zzzzy{{{zy{z{{z{{{yyyz{zz{{{z{zy{zzzz{zz{{z|{yzz{zzzzz{|{{{|z{yy{zz{y{{{z|{{{z{yzy{zzz{{{z{{{zz{{yyyzzz{{y{yzzzzzzzzzz{y{{z{zzyzz|{yyzzzz|{|{z{z{zyzyz{{{{||{zzzzzz{{{z{{{{{{zz{zyzz{{z{z{{{{zz{zz|zz{|{{{{{{zz{z{zzz{{|{{{|||z{z{{{{{{{z{||zzzzz{z{{{||}{|{|{{|{{z{{{||{{{|{{{z{{z{{|||||||{|{|{{|{z{|{|{|{{{{{{{{||{|{{|{}|{{z{{{{{|||{|||{|{zz{{zz||z{{{|||{zz{{{z|{{{}z{|{{z{|zzz{|||||{{{z{{zz{{{{{{{{{}{z{z|{zzz|{{{|{|zz{{{zzz|||}}|{{{z|zz{zy{z{{z{|{zzy{{zz{{{{{{z{{z{{zzz{{z{{{{{{|{zzzz{zz{z{{z{{z{z{{{{zz{z{z|{{|{zzz{zyzz|zzz{z{{z{y{zz{{z{{|{{zzyzzzzyzzz|zz{{{zz{zz{{zzz{z{z{z{zyzyzz{z|z{{{{{z{{yyz{zzz{{z{z{zzz{{zzyzz{zz{{zz{zzyyzzyz{{|{zzzy{zzyzzz{z{z{{|{zz{zzzz{zz{{{{z{z{{{z{z{{{{{{{{{z{{zz{z{|{{z{{{zz{zyz{zz{{{||}|{{{{{zz{{{|{z{{{{{zzz{zz{{{{z{|{z{z{{{z{{{z{|{|{z{z{{{|{|{z||}{|zzz||{{{{{|{||}z{z{z{zz{{{{{|{||{{{{{{z{{{z|}{|{{{z{{{{{{{|{{|{|{|{zz{z{{|{|||{|{{zz{z{||{{|||||{{{{{{z{|||||{||z{zz{|{{z|{{{{{{{{{{z{zz|{{}|{|{{z{z{{z{}}|~}{{{zy{{{{{zz{{z{{{zz{{{zzzz{|{y||{{{zzzzzyy{z{z|{{{{{zzzzzz|{zzzz{zzzzzzz{yy{{{z{{{{zzzz{zyz{zz{|{{zz{zzz{z{{{{{|{{yz{zy{zyzzzzzzz{yzzzzzzzz{{z{{|{zzzyyzz{{{{z{z{{zzzzyzzyz{zzzz{zzzzzzzzz{{{zzz{{{zyz{zzyz{zz{|z{{z{z{zzzzz{{|{{{z{zzzz{y{|{{{{{{z{{{yyz{{{{{z|{|zyyz{zzy|{{{{{|{{{z{zzzyz{z{|{z{zzyz{zz{|{{{{||z{{z|zzz{{{{zz{{|zyz{{z{y{|||{{{{zz{{z{{{{{{|{{|||{{{{zzz{{{{|{|||z{{{zzz{|{||{|||{{|{z|z|{{|||{|{z{{z|{zz}||}{{||{z{z{{z|{{|||{|{{{{{zzz|{z|{||{{{z{{{z{||{{{|||{{|{{{z{||{{||{{{z{{{z{|z{{{{|{{z{{z{{{|{|}}~{|{zz{zz{{z{{{{z{{{zz{{z{{z|{|z{{|{{{zyz{zz{{{{{||zzzz{{z{{z|{{|z{{{{{zzz{y{z{zz{z{{{{{zz{yz{{z{z{{{zzz{{{z{zzzz{zyzyzzzzzy{{{z{zz{zyzzzz{z{{z{z{{zzyzyzzyzzz|z{{z{{z{zzzzz{{zz{z{{{{yzz{zz{{z{{{z|{zzzz{y{zzzz{{{{{zzzzzzxz{{{zz{{zzzzzzzyzz{z|{{zzz{zzz{z{{zzz|{|zz{{{zz{||z{z{|{{zzz{y{z{z{{{{{z{{zz{{{z{||{z{{|{yzzzzzz{{{{{|{|{zyz{{z{{{||{||{{{|{{{{z|{{{{{|{{{{{|{{z{{{||{|{|{{zz{{||{z{|{|{{{z{{{{{{|||{|{{|{{{z{{z{|{{{{|||{{{{{{{|{{{{|{||z{{{{{{{z|{|{|||{|{{zz{{{z{{{|{z{{yz{z|z|{{{|||{{{{z{zy{}{{{{{|zz{{{{{|||{|}z{|zzzyzyz{{{{z{{{|z{zzz{{z{{{{z{{{{zzzyzzy|{{{{z|{zzzz{zyz|||z{zzz{zzzzz{y{z{{z{{{{zyzzzzz{{z{z{{z{{zzyyzyzz{zz{z{{yzyyzyyyzz{{z{{zyzyzyzyz{{z{zzyzzzzyzyzzz{zz{z{{zzyzzzyz{{zzz{{yy{zyzzyy{zzz{zzzy{zzyzzz{zz{{{{zyzzzyzzz{{{{z{{zzzzzzzzzzz{z{{{{y{{yzzz{z{{{{{{zz{zyzyz{{z{{{z{{zyzzzzz{{{z{zy{{zzzzzy{{||zz|{{{z{{zz{z|{z{z{z{z{zzzzzy{{|{{{{|{zzz|z{{|{{|{|{|z{{{zz{{{{z{{|{|{z{{|z{z{|{{{{{|z{{zz{{z{{{|{{{{{{{{{{{{z{{{|||||z{{{z{{{{{{{||{{{{{z{z{{{|{{{{{{zzz|z{||{{|{{{|{{z{zz{{|{z{{{|{{{{{{{{z{{{{{{{{z{{zz{zz{{|}}{{{{{zyz{{z{{{|{zz{{zzzzzzz{z{z{{y{{yz{yzzzzz{z{{z{zzzzz{zzz{|{z{{|z{{zzzyzz{{zzzz{{zyz{zzzz{z{{{}{{{{zyz{zz{zzz{|{zz{z{zzzz{{{z{{{zzzzzxyzz{{{{{zzzz{zyzyyzzzzz{z{zz{yzzzyzzzz{{|zzzyzzyyyzz{zz{{{zzzyzz{zzzy{{{{{zzzzzzzz{y{zz{{{{z{{zzy{{{z{{{z{zzzyzzyzzz{{z|{{zz{z{z{zzz{{{{||zz{z{z{zz|{|{{{{z{{{{zzz{{{{{{|z{zzzz{z{{|{{z|{zzz{{{zyz{|{|z{|{z{{z{{{{|{{{{||{{{{{{zy|{|{|{{|{|{{z{z{{{{{{{|{|{{{z{z{{{{{{{|{||{{|z{{{z|{|{{|{{|{{{{z{{{{{{|{{{zzz{{{{{{{|{||{|z{{{|zz|{z{|{{|{{zzz{zz{zz{{|{||{{{zzzz{|{{{{|{{{{zzz{{{{||}{{z{yzzzzzyz|{{{z{{zz{zzzxy{|{z|{||z{{yzzzz{zz{zz{{{zzy{yzzz{{|z{{{{zzzz{{z{{{z|{{|{{{{zzzyz|{zzz{{{z{{zy{z{{{zz{{{{zz{yzzz{{z{{zz{zzzyzyyy{{{{{z{{zzyyyyyyz{{z{z{{zzzzyzzz{{zzz{{{zzzzzyyyzzz{zzz{z{{yzzzyzzzz{{z{z{zzzyzzzz{{zz{{zzy{zzz{z{z{{z{{zzzzy{zz{zzz{{||zzzzzz{z{{{{{|z{{zzzzzzzz{{|z|{{{y{zyz{z{{{{zz|{{zzz{y{zz{{{{{z{{{{z{{z{{{{{{{|{zzz{{z|{{{{{{|{}{zyz{zzz{{|{||{{{z{{z{{z||{|{{}{{zz{z{{{{{z{|{||{z{{{{{z{|}|{{{|{z|{z{zz|{{{{{{{{z{|z{zz|{{{{{{|{{zz{{zzz{||{{|{{|zz{|zz{{{{|{|{{z{z{z{z{z{zz{||z|{{z{{{|{{||{zz{|z{zz{yzz|{{{{{{{z{{z{{zz{z{{{|zzyzz{yz{zzz|{{{{{{{zzyz{{zz{{{{|{{zyzzzz{{{{{{|{zyyzz{y{{{zz{{zzyzzzzyzzzzz{{{zzzzzzyzzzzz{z{{zyzzzyyzyz{z{{z{{zzzzzzzzzz|{zz{{yzzzzzzzz{{z|{{z{{z{zyzzz{{zzzz{|zzyyzz{yzz{z{{{{{zzz{{y{zz{{{|{z{{{zzzz{|{{|{{{z{yzzzzzz{|{{{{{{zzzzz{{z{{{{{|{z{z{zzzz{z|{{|{z{z{yz{zy{|{{{{|{{zy{zzzz|{|{{{||{zzz|{z{{{{z{|z{{zzz{z{z{|{{{|||zz{{{{zz{{|{{|{|{{zz{{{{||{{||||}{{{z{|{{{|{{|{{|z{{z|{z{{||||{{|{{{{z{z{{{|{|{||z{{zz{{|{|{{{|||{{|{{{{|z{{{{|{{zzyz{{{{{|{{z||{{z{zzzzz{{{{{||{z{z{zzz{{}{}{{zzzyyyzzzzz{y{z{{zzzzzz{{{{{{{{{zzzyzzzzy{{zz|{|z{{{z{{zz{z{{zzz{{zzzyzzz{{|zzz{{{zz{z{zyz{{y{{{z{{{zzzzz{{z{z{{zy{zyzzzzzzzz{zz{{zzzzzzzz{{z{{zzzzz{yzzzzz{{{z{{z{{zzzzyz{zz{z{{zyyyyzyzzzyzyz{|zzzzyzzzzzzzz{z{z{zzzzzz{{{{zz{{zzz{{y|yzz{z{{z{yz{{zy{z{z{{{{{{{z{z{zz{z{{{z|{{zy{yzzz{{{|{{{{{zz{zzz{y{{{{{{|{z{z{z{z{{{{{{|{|{{z{z{{z{|{|{{{|{{{{{|{z{{{{{{{{z{{{zzzy{||z{|{{{{{{{z{|{|{{{{||{{{zzz|{{|||}{|{{z{{{{{z{{||{|{||z{{{{{{|{{{||{|{z{z{zz{{{{z{{{{{{{{{{{{{{{{|{|{{{zyz{z{{|{zz{|{|zz{{z{{{{y{{|{{{zzy{zzzz|{z{{|{zzzzy{y{z{|{|{{{{{zzz{zyz{{z{{{{zz{z{zzz|{{{{{|{{zz{{y{zzz|{{{{{{{z{{{{{zz{{z|{{z{{z{{{{{{zz|{{{z{zzy{zzyz{{{zz{z{yzzz{z{{{{zz{{zzzz|z{zz{{{{z{z{yzyy{zz{|{{{{zz|z{zyzzz{{z{{{{{{zzyzzzzz{zz{{z{z{yz{zzzzzz|z{z{zz{zzzzy{{|{{{{{zzzzzzzz{{{{{|z{z{zzzz{z{z||{||{{{zzzz{{{{z{{{{|{{{zz{{y{|z|z||{{{{y{|{{|{{{{{{{{z{zzz{{{{{|{{{{z{z{zzzz|{|}{{|zz{{{{{{{||z|{{{|{zy{{{y{{||||}{{{z{{{{{z{||{||{|{z{z{|{{|{{{{||{|{{{||{z||||{{||{z{{{{{{||||{||||zz{{{z{z|{||{||{z{{{{z{{||{||{{{z{{z{yz{{{|{{||z{{{zzzz||{||{{{{{zy{{{|}||{{{z{z{z{zzzz{|{{|{{|zz{zzz{zzz{z{|{{{{zzzz{z|{{z{{{{{zzzzyzzz{{{{z|{|zzzzz{y{z|{z{z{{{{zz{{zz{{{z{{{{z{{z{zz{{{{z{zzz{{zzz{y{z{{z{{{zzzx{z{z|{{{|||{{zyzxzz{{z{{{{|zyyzzzzyy{z{{{{{{{{{z{yzzzzzzz{{|{yzzzy{zz{{zz{{{z{{z{{zzz{{{{z{|{{z{{yz{z{{z|{{{{zzz{y{{|{{{|{{|z{{{yzzzz{{{{{||z{{z{zzz{|{|{{{{{{{zz|zz|{||||{{|z{{{z{{|{{z||{|{{{{{z{{{{{{|||{y|zz{z{{{{{|{{|||z{{{{z{{|||{||||{{{{{{z|{{{||||{{zz{{|{||z{{||||{{{|{|z{|{|||||z||{{{zz|||||{|||z{z{{{{{{{{{{{|{z{z{z{||z{|{|||z{{{{{zz{|{|||||{{z{z|zz{{||z{|{{{{zz|{{{}||{zz{z{{zzzy{{{{z{zz{zzz{zzzy{zz{{{zz{zzzyy{zz{{z{z{{{{{yzzzyyz{{zz{z{{zyzyzy{z{{z{|{zz|zz{yzz{zzz{{{z{zzzxyyz{{{{{{z{zzz{zzz{z{{zzz{{zzzzzyzz{{zz{{{zzyzz{zz{z{z{z{{z{zzyzzyz{{{z{z{zzzzyzzzz{zzz{{zzyzzzyzzyz{z{{z{zzzz{{zzz{zz{{|{{z{yzzzz{{{zz{{{{{zyzzzy{{{{{{|{z{{yzzzzz{zzz{z{zz|z{zzz{|{{{{|{{z{zz{zz|z|{{||{zzzzz{y{{|zzz{z{{{zzz{{{{{|{|{|{{z{{{z{z{{{{{||||zz{z{zz||{|y|{|{z{{{z{{{|{{{{{|z{{z{{{{|||{{{|{{{{|{{z{{{|{{{z{|{{{{{{|||{|{{{|{zz{{z{{{|{{|{{}z|z{{zz{z{{|{{{||{{{{{{z{|{{{||}z{{{{{zz{||{z||z{zzz{{{{|{|{|}||{z{z{z{y}{|{{z|{z{zz{z{{||{{{{z{{{{zzzz{{|{{||}zz{{zzy{y{|{|{{{z{|{zzz{zzz|{{{||{zzz{{{{{z|z{{}{z{{zz{zz{{{|{z{{{z{zz{zz{zz|{{{zzzz{zzzy{z{{{|{{z{zzy{zz{{z{{{{|{zzyy{zz{{{{zz{{{z{y{yzyz{z{{{{{|zzz{{zz{z{{z|{{{z{{{{zz{{{{{{|{{{{zzz{z|z{{z{|{{{|zzzzzz{{|z|{|z{{{zz{{|z{||||{|zz|zzzz{{{{{{||zz{{{yzz{{|{|{|||{{|{{z{{|{z||||{{{{z|{{{||{|{{|z{z|{{||||{{||}|{{{||z{z|{|{{{|{|{{{|{{{||{||||||{|{{|{{{|{|{|{}|{{|{|{{{}{||{|||z|{z{|{|{|{||{|{|{{{||{{|{|||||||{||{{{{}|}||||{{z{{{{{{|{|{|{||{{{z{{{{{|{|||||{{{zz{{||{}{|{{{{{{{{{zzz|{|{|{{z{{zz{z{|{{|{{{{zzz{{{{{{|{z||||zz{zz{{{|{{{{{|z|zz{{{z{|{|{{{{{zzz{z{{{{{z{{}{|z{{zz{z||zz{z{|{{zz{z{{{z{z{{||zzzyzzyz{|zz{{||y{{z{{zzz{|{{|{{{z{{zzzzz{{|z{|{{zz|zy{z{|{z|{z|zzzz{zzz{{{z{||{zz|{y{z{||{|{{{|{|zz{|{zz{||{|{}{z{zz{{{z{{{{{{|{z{{{{{z{z{{|{{|{z{{{{{{{|{{{z{{{z{{z{{z{|{|{z|z{zz{{{{{{{|{{z{{{zz{{{{{|||{||||{{{|{{|{{|{{{|{|{{|z{z{{{|{||}|{{|{{{{{{||{{z|{{z{{{{||||}|{{||||{||{{|z|}|||}|||{{|{z||{{|{||}{|{|y|{|{{{|{{||}{|{{{{z{|{|}||||{{{zzz{{{|{}||}{{{z|{{{z{|{{{{{|{{{{{z{{{{|{||{{{}{{|{{z{{}{{||{{{z{{zz{|||{{{|{{z{{{{{y{{{{{|{||{{z{{|z{|{}{{|}{{zz{{{z{{{{{}|{|y{zz{{{{{|{{|}{|{z{{{{{{{|{z{||{z{z{yzz{{{|{|{{z{{z{z{{z{{{{{{{zzzzz{zzz{|z|{{{{z{{zz{z{||{{{||{{zzzzzz|{{{||||{|{{{{yzz|{z{|{|zz{{z{{z|{||||{{{zz{z{z{{{{|{|}|{{{{{zz{{|{|||||z||{{z{||||||||||z|}z{{{{||z||||{z{zz{zz|{|||{|{{{zy{{{|||||||}{{|{|||{||{{||{|||{{{|{|{||||||||{{{{{{|z||||}{||{{|{||{{{}|||}||{|{{{|||||{|||||||{{|{|z|||}||}||{|||{{{{{|{|||||{{||{{{|||{||}|||{{||{{{{||||}|{|{{|{{{{|{{}}||||{{{|{{{|{|{}|{z{|||{{{{||}||||{{{{zz{z{|zz{{{|z|z{{z|{{{{{{|||{{{z{{{{|{{{{||{|{||yzz{{|{|{{|{{{{yzz|y|{{{|||{{{|{{{{z{{{z|||z|z{zzy{z|{|z{{{{{{{zz{y{z|{{{z{|zzzz{zzzz{{||{{|{{zyyzz{{{{z{{{|zz{zzyzz{z{|{{|{|{zz{zzzzz{{|{{{{{zzz{zy{|{{{{|{{zzz{{zzzz{{{||{{zz{{{{{|||{{{||{z{z{{{z{{|z{{||{z{{{{z|{|z{{{{{{{{|{z{{{||{|||{{zzz|{{{{{||||}{{{{{zz{{|||{||{||{z|{zz|||{||{|{{|{|{z|{|{{||{|}{{z|{{{{{|||||}|{z||}z{{||||||}||||{||{{|{{{{|||}{{{{{||||||}||}}{{||{{{||{}|||||||{||{|{|||||{}|z{{{z{{||||||}|{{z{|{|{||}|||{|{|z{{||z{{{|}{{{{||{z{{z||{|{{z{{{{zzzzz{||{{{{|z{{{{z{{}{{{{|{{|{z{{{|{{{|{{{{{|z{{{{{z{{|{zz}{{z{z{{{zz|{{||z|z{{zz{{z{{zz|||z{zzz{zz{{z{{{{{{z{zzzz{zz{{{{{{|{{zzyz{z{||{{z{|zzzzz|z{||{{{{{{{z{{z{{z{{|{|z|{{zzz{{{{z{{{z{{{zzz{{{zz{|z{{||{{z{y{{y{{|{{{|||{{{{{z{z{{{{{{{{zz{{{{{{{{{|{|}{{{z{z{{{{y{|{|||{{{{z{{{{|{|{||{{{{z{z{z|{|{|{}{|{{z{zz{|||{|{|||{{|z{{{||||}|{|{{{z{{|{|{||||||{{|{{{{{|{|{||||{{{|z{{{|}|{|}}||{{{{||{z||}||||}zz{{|{{{|||{||||{|{{{{{{||||||||{{{|{{{{||{}|}||z{||||||{||{||}z{{{{{{{{|||||}|{{{{{{{z|}{}{{||||{z{{{z|||{{{z{||z{{{{zz||z{{|||{{zzz{z|{|{z{{|z{zzzz{y{{{|{{||{z{z{zzz{{{{{{{{{|{zzzyy{{{|z{{|{{{{z{z{{{{z{{|zz{{zz{{z{z|{{|z{zy{z{zzz|{{{z{{|z{{{{zzz{{{|z|{{z{{{z{y{{{z|||{{{{{{zzzzz{z||{|{{z{{zzzy{z{z||{{|{zz{z{zz{{zz|z|zyz{{{z{{{{{|z{{{{z{|{{{{{|{|{{}{|{{{{|z||{{{||{|{||{{{{{|{|{||z|{{{{z{{{{|{|{|{{{{z{{z{{{||{||||{||z|{{{||{{|||{{|{{||{{||||{||{{{{z{{z{{{|||}|{|{{{{{z{|}|{|}{{{{{{{{{|||{||}||{|{{{{|{|||}|{}|{{{{{{|{|||||||{{|{}{|{|||||||||z{{{{z|||{{|||||{{||{|{}||||}||z{{z|{z{|||{{|{{z|{{z{{{{}{|||{{{z{{{z{{{|{|{{{{{zz{z{|{{|{{{{{{z||{zyzz|{{||||{{{z{{z{{{{{{|{|||yz{{{{{{|{{zz{{|{|{{{z||zz{z|{|{zzz{{{z{{{z{||{{z{{z{{{{{||{|||{z{zy{zz|{z{|{{|{{{z{yzz{{{{{|{{z{{zz{{{z{{||{{||{{z{z{zzzz{|{{|zzzx{zzzz|{{{|{|{z{zzzzz{{zz{z{|{{{z{{{{z{|z|{{{{{zz{z{zz||{{{{{{z|{|z|{{z{|||{|{{|{zz{z{{||{||{|z{z{{{{|{||||{||{{z{{z{|||{{|{||{|{{{{{||{{z}|}|{{{{{{{|||||}||{{{{{{|z{{|z{}|}{{{||{|}|||||||||{{{|{{{|}|||}{||||{|||||||||}||}{{{{||{|||{|||||{{{|}|||}|||}||}||{{{{|{{|{|||}|{||{{{{|||||}|{|||{{z{{||{|{}|||{{{{|z{{|||{{||}{|||{{zz||||{{||z{{{z}|z|}{||||{{{z{{{y{{{{||}|zzzyzz{zz{|{||{|{{z|{yz{{{{{{{|{{{{z{{|z{|{|{|{|{{z|z{zz{z{{{||{{{{zz{{z{{{{{{{{yz{z{{zz{{z|z{{{zzzy{zz{zz{{z{{{|{zzz{zzz{{{{|{|{{{zz{z{{{{|z{{{{{{{{z{{z{|{{{z|{zzz{z{{z|{{{|{{{zzz{{{zz{{{{{{{{z{{zz{z{||{{{{{{{|{zz{{{{{{{|||zz{{{{{{{|||||{|{{|{{{{{|{{|{|{{|{{{{|z{|{|{{{{{z{{{zzzz|{{{|||{{{{{{{{{||||{|{}{{{{{{|{}{||{|||{{z{{{{{|{|{||||||{{|{{{|}|{|||{{{{{||{|||{||{|}||{{{{|z{|||}||}|{|{|{|||||}||z|{|||{{{|||{||}}||{z{{|{{{{||}{}|{{|{z{z{}{||||||||zz{{|z{|{|{|||{{{z{{z{}{||{{|{{{{z{zzzz{|{{{{|{{z{{z{{{{{z{{{{|{zzz{z{{{{|{{||{z{z{{{z{{{|{{|z{{{{zzzy|{z{|{|{{|zzzz{z{{{{z||{{z{z{zzz{{|{{z|zzzzzzz|{{{{{{z{|y{{y{y|zz{|z{{{{zz{zyzyzz{{{{{z{z{{{zzzzzz|z{z||{z{zzz{zz{{{z{{zzz{zzzz{{{{{|{{{zzzzzz{z{{||{{||{{zyzzzz{{|{{{{z{{z{{{z{{{{||{||{{zz{z{{{||||{{{|{{{zzz{{|{{{}{z|zz{{{z{||{|{{|{{{zz{{{{{{|{|{{{{{{{|{{|{|{|||||z{z{z{{z{z{{|}{{{{{{{{z{{{{{|{|{|{{{{|{z}|{||||||{|{z{{{||{{||||{|{{z|{{{}|||||}{{{{|z|{|{z}|||{{{{{{|{{|}{{{|||}{{{{{||}}|||{||{{zz{z{{||{||||{{{{{z{{z{{{}{{|{{|zzz{zz||||{|{{{zz{z{zy{{{{{{|{{{{{{z{z{|{{{|{|{|z{zz{z{{{|z|{|{z{{{{zz{|z{{{{{{z{zz{z{{z{}{{{{{{z{z{{{z{z{{||{{z|z{zzy{{{z{|z{{{zzz{{{{{{||{z{z{zzzzzz{{{z{|{{{{{{z{z{z{{{{|{|zz|zzzz{|{|{{{{{{z{zz{{zzz{{{||{zzzz{z{z{|{{{{{{z{zzz{{zzz{{{|{{{{z{{z{z{|{{{{{||{{{{{{zz{|{{||{{z{z{{{z{|{{|{{||{|{{y{{{|{{|{|{{{{z{{z|{|{|||||{zz{{|{{{{{{{|||||{{|{{{z|{|||||{|{{{||{||||{{|||{{{|{{z||{}{||||z{{{z|z|||{||||{|{{{|||{||||}z}|{{{|{{{|}{|||{|{{{||{{|{{|||||||{||{{{{{|||||||}|{|||{{{|{||||}|||{{z}z||{|{||||{z{{z{z{|{|}{|||z{zzz|{{|{|}|z{{{zz{zyzz{{{{{||{{z{{zzz{{||{{{|{{zzy{yzz{{{{{{{{zz{zzzzz|{{z{|{{{z{zzzzz{{{{|{{{zz{{z{z{{z{z{|{{{{{z{z{{{{{{{{zzzz{{{z{z{{{{|{{zzyzzzzzz{{{|{{z{yzzzzzz{{|z{zz{zzz|z{zzz|{{z{{{z{{z{z{z{z{zz{{{z{{{zzz{z|z{|{{|{z{zzz{zzz{{{{{|{zzzz{zz{{{z|z|}yzz{zz|{||z|z{||{{z{{{{{{|z{z|||z{{{zy{{z|{|{{{{|{{{||z{{|||{|||{z{z{z|z{{{|{||{{{z{{{z{{|{|}{||z{z{z{{z{{{|{}}{{|z{{{{{||{|{{||{{{{{{{{|{|{{|||{{{z{{||{{{{{||||{{{{{|{z||}|}{||{|z{|{|||}||||{|{z{|{{{z{|{||||||z{||{{{}|||{|{|{{z{{{{{{{|{{||{{z{{{{z||{|||{{|zzzz{|z}|}||{z{z{{zy{{{z{{{{|{z{{zz{{z{{{{z{{{|{zzzz{zz|{{|z{||{{zz{zyz{|{{{{z{zz{zz{{zz{{{{{{{{zy{z{{zz|zz{|{zzzzzyz{zzz{{{{{zz{zzz{z{{|{{z{{|zzzz{z{z{{{z{{zzzzyzzzzzzzz{{{{{{zz{yz{yzz||{z{{zz{zzzzz{{z{z{{|{zyy{yzzzzz{{z{zzz{zzzzz{{{{{{{{z{{zzzzzz|{{{|{{{z{zzzz{z{{{{{{{zzzz{z{{||{{{|{{{{{{|z{{{z{{{||{|z{{{{zz{{||{{|}zzzzzyz{{|{{{{{{{z{z{{zz{{|{}{{|{{z{zz|zz|{|||||{{z{z{zz|||{|{|z|{{{z{{{{||{||}}{||{{|{{{|{|{{{|}{{{{z|{|||||||}|z{|{z{{|{||{|}|{zz{|{{z{|||{{|||{|{{{zz{{{|||||{{z{z{{{{|zz{||||{{{zz{z||{||||{|{|{{{z{}|{|||{{z{zzz{{zz{{|{{||{{{zzzz{{{{{{{|{z{zz{{|{{z{{|{||{z{z{zz{z{{zz||}z{|{zzzy{{{{{{||{zzz{zzzz{z{|{zzz{{z{zzzz{{{{{{{zz{{{zzy{zz|{|{{zzzzzz{{z||{z{{{zz{{{z{{{{{{{|{z{{zzz{zz{{{z{|||z{z{xzz{z{{{zz{z{{zz{yyzz{{{{{{|{z{zz{{z|z{{{{{{{{z{{{zz{{{{{|||zz|{zz{{{||{{{{|z{z{{zz{{|z{{{{|{{{|{yz{||{{{|{|{{{{z{{|||{{|{|{{z{{{{|{{z{|{{{|{z|z{z{{|{||{|||{{{|{{|{|||||}}|{{{{{zz{|{||{|||{{{|{{{{}{|||}|||{|{{{|{|{{{||}|}{z{z||{{}||{|}{|{{{|{|{||}|||||{|z}||{{|{|}||||{{{{||{{|||{||||{z{{{|{{||{|||||{{{|zz{{{|||{{||{{{{{z{{z|{||{{{zz{zzzzz{z{z{{|{|z{{{zz{{|{{{{|{{{zz{zzz{z{{{{{{zz{zy{z|{|{|{{||{z{{{{{zz||{{{{{z{{z{y{{z{{z{{||z{{zz{{z{{{{{||{zzz{z{zzz{{z{{||z{{yzzzzz{{z{z|{{z{zzzzzz{{z{{{{{z{{z{zzz||{z{z{z{zz{zz{z{{zzz{{z{zz{zzz{{zz{||{{zzz{{zz{z|{{||{z{z{zzzz{|{{{|{|zy{{{z{z{{{{|{{{{{{{{{|{z|{{{||{{z{{{{zz|{{|z{{{{z{{{yz{{{||{{||{{{{{z{z{{{{{z{{|z{z{|zz{z|{|||{{z{z{z{{{{{|||}|{{{{{{{{z}}|||{||{{{|{|||||{{||}{{{{|{|{{{{{|}{|}{|{|{{{||||||||{{{{z{|{|{||{}{{|z{|{{{{{{}|||}||{z{{{{{{|{|||||{{{z{z{{{|{||{}||z{{{|{{{|{{|||{{{{{{zz{{z|||{||{{zz{zzz{{|z{{|||z{zzzz{{z{{||||{zzzz{{z{{|{{||{{z{z{yzzz{{|{z||{{{zz{{{{z{||{{{{z|{{zzzz{{z{{zz{zzz{zyz{z{z{{{{{{zzzz{{z{z{z{{{{z{zz{zz{{z{{{{zzz{{zzz{z{{{z{{{{|{{z{{{z{{|{|{{{{{{{zzy{{{zz{z{z{{y{zzz{{{zz|{{zz{{zzzz{|z{{{{|z{z{{z{zzz|{{||}|{{{{z{z{{{{{z{|{{|{{{{z{{|z{{|||z{{{z{{z{||{|{|{{{{z{z}{{||{{|{{{{{z{{{}|{{||{}|{z|{z{{{|}|{}{{{|{|z{{{{||||}||{{{||{z{{{|{|||{||{|{{z|{}|||}{|{|{{{||{|{||||{||{{{|z|{{}|||}|}}|{|{{{{|z{|z{||z{{|{{{||||{{|||{|{{|{{|{||}}{|||||z{{{{{{|||||{{{z{{{zz|{{|{{}|{{|{z|{{{{{{||{{zzyzzzzyz{{{|{{|{{{zzz{|{z{{{{{|{{zyz{{zz{{|||{||z{{{{{z{{{{{{{|{|{|zz{z{{{|z{{}{z{{{{{zz{{z{{{{{{{{zzz{{z{{{|{{{z{{zzzz{{{|z{{|{zzy{{yz{{{{{{{{{zzzzzzzzz{{{{zz{zzzzzz{z{{{{{{{{zzz{zzzz{{z{z{{|zzzyzzz{{z|{|z|zz{zz{z{{{{{{{|{|z{{{{{{{{|{|z{{{{{zzzzz|{z|{{{{zz{zyz|{{{zz|||z{z{{|zzz{|{{|{||{{{{{zz|{{{|{|||{z{{{z{{{||{{}||zz{{z{|z{|{|{{||{{{{{|{{|{{||}|}{{{{{zz{|||||||||{{z|z{{|||||}|{|{{|||{{{|||{|}|{{{{{{z{|}||||{{|{{|zz{{||{|{|{}{z|{{{{{||{||||{{{{{|{{z{{{{}{}||{{{z{{{{{{{{|}||{{{z{{z{|{{{{|{{{{{{y{{{|z|{{z{{zzyzzzzz{z{{|{{z{z{{yzzz|{{|{{}{|zzz{zzz|z{{{||{{{{zzz{{|||{|||{zzzz{z{{{zz{{{{zz{zz{{{{{zz{{|{{{zyzzyyzz|{{{|{{z{zzzz{{z{z{{z{zz{yzzzzy{{{{{{{{{zzz{z|z{z{{||{z{zzz{zzz|z{{{{{{zzzzz{yz{z{{|z{z{{yzzz{z{{|{{{zzzz{z{z{|{{{{|{{{z{yzzzzz|{{{{{{{z{{{{{{|{||{{{|{z{{{z{{{|{{z||{{z{{{z{z{{|||||{{z{{{{zz{{{z{{|{|{{|{zy{{{z{|{{{z{{{|{{{|{z{|{{{{{{|{{{{{|{|{z|}{{{{{{zz||||||{||{z||{{{|{||||||{{z{{|{{{{|||{{|}{{{{{{|{}|||||}|{{{{{{{|~{|||||{{{{|{{{|{||||||{{{{{{{{|{|{{|{|{{{{{z{{|||||||}{{{y{|{{||{|{|||{|{{|{zz|{||z{z{{zz{yzz{{|{z|{{{{z{{y{{{zz{{{{{|{{{{{{z|{{{{{|{|{z{z{zzz{|{{z{{{{zz{zzzzz{{{{|{{{{{{{xzzz{{{{{zzzzzz{z{{|{z{{|{{{zz|z{z{{z{z|{z{yzzzz{z{{{{z{{{z{zzzz{zz{z{|z{{{z{{{{y{z{{{{zz|{z{zzy{zzzzzz{z{{zzzzz{{z{{zz{z{|{z{z{y{z{|||z|{||z{{{{{{|z{z{{{|z{{zzz{z|z{{{{{|zz{z{{{z{{|z{{}{|{{z{{{{z|{{||{{|{{zzz{{{||{|||{{{{{{{{|}z{{{{||{{z{{z{{|{|{|{}|z{{|zz|{|{||{|}||z{{{{{z{{||{}{|}z{{{zzz{|{{{|||{z{z{{|{{||||||{||{{{{|||||{|||||{{|{{{z{}||{|{{|{{||{{|||||{||||{{{{{{|{{{{|||{|{|{z|{{|{z||{||{{{{zz|{{||{z|{{|{|zzz{|{|{{z{|{{zzzzz{{|{{{{|{|{{{zy{zz{||{{{{|{{z{zz{{{{{{|{|||{{z{{{z|{z{{{{{{{{zz{zz{|{|{{{||{{z{{{z{{{{z||{y{{{{{{{{z|zz{{{{{{{{{yz{z{{z{{{zzzyzyzzz{zy{{{{{yz{zz{{z{zy|{{zz{{yy{zzz{{yz{|{zzzzzzz{{z{{{{||zz{zzzzzy|{{{||{{zzz|zzz{{{|{{{||{z{|{zzzz{{|||{|zz{{y|z{{{{{{z}zz{{zz{{|{|{||{{{zz{zz{{{{{{{|{|{z{{z{z{z{||{{{{|{{zzz{{{{{zz{{{{|{{|{{||{{|||||{{zz{{|{|||{{|}|{z{{|{{z{{||{||||z{{z|{{|||{|}||{z{z{{|{|{{{||{|}{|{{|{{{|}||{|}|{{{{{{{|{|||{|{{z{||{{|{|{{|{|||{|{{|{{||z|||~|{z{{{|{{||{||||{}{{{zzzz{|z||||{z|{{z{{{z{{{{{{{{{{z{z{zz|{|{{{|zzzzzzyy|{|{{{||{zzzz{zzz|z{{{|{|z{zzz{z{{||{z{||zzzzzzz{{z{|{{{z{|z{{zyz{z{{zz{z|zy{zzz|{{z{{{{{{z{z{zz{|{zz{{|{zz{{zzzy{{{z{|{{zzzzzzzz{|{{{z{{z{|z{zz{zz{{{|{{{zzzyzz{{z{z{{zz{zz{z{yzz{{{{{{zz{zzzzy{{z||{|{{z{{{zzz{zzz{|{{{z|{zz{z{{{z{|}{{zz{z{{z|{{{||{|{{{|z{zz{{||{{|z{z{zz{{yz|{{{{}{{z{{{z{{|{{{{{{||zz||{z{{{}||{}{{{{{{{{|||{{{||||zz|z{z{|{|{|{{{{{{{{{{{{}{{{{}||z|{{|{{{||||{|{|{||z{|{|{||{||{||{{zz{{|{}||{|{|z{{||{{|{||{|}||{|{|{|{}||}||{|{zzz||{z||{{|{|}||{{z{|{{|{|{}|{{zz{{z{y|{{{{{{{zzz{{y{z{zz||{||{{{z{z{z{{{{|{|{||z{zzzz|z{{{{z{z{z{zz{{z{{zz{|{{{zzz{|z{{|{|{{{{{{{{{z{z|{z{{{{{zzz{zz{{z{z{{{|{{zz{zz{{{{{{{{{{zzzzzzy{{{{{{{{{zz{{zy{{{{z{{z|{z{zzzzzz{{{{z{{{{{zzzzzz{{zz{z|z{zzzzyzz{z{z{|zzzz{{{zz{{z{{||{{{{zzz{z{|{|z{{{{z{{zz{{{{|{{|{|zz{{zzz{{|{{{|||}{{{{y{z{{{||{}{|z{{{{zz{|{{{{||{z{{z{z{{{{{{||{z{z{{{z{{|{|{||{{{z|{{{||{{|{|}}|{{y{{z{{|{{{||{}zz{|{{z{{|||}|}{{|{{{{|{}|}||{|}{{|z|{{{|{||{|}{{{|{{{|||{{|||||{{{{{{||{{|||||||{{{|{{{|{|}||||{{{{{z|{{z{{|{{{|{z{{{z{}{|{{||zz{{{z{{|z{{|||{{z{{z{{z{z{|{{{|{z{z{z{{{{{z|||}{{zz{{{|z{|{||}{{{|{{{{{{{z{z|{|{{{zz{{y|{{{{{{|zzzzz{{{{|z{|{{{|{zzzzzz{{|z{|{}zzzzzz{{{zz{|z{|{z{zzz{z{{{{{|{|{zz{zzy{{|{{{{{|{{{{z{yz{||{{{|{{z|{{z{{{{{{{{||{{zzzzzz{|z|{||{{z{{zzz{|z|{{|||z{zz{{{z{||{{{{}{{{z{z{|{{|{{|}{{{z{{z{{{{{{{|||{{{{{z{{{|{{z}||z{{{{{{z{{|||{|{|z{||{z{|{{{{|||z{{z{|{z{|||||}|z|{|{{{{||{|||||{|||{{{{||{{{|||||{{|{{{{}{|||{|{{{{{z|{z}{|}||||{|{{||{{|||||{}{{|{|{{{|{||}||||{{|{{|{||||||}}|||{|{{{|||||{|}|{{{||{{||{||}}||{|{{{{z|{|||||||{{z{{zz||{||{{{zzzz{z{{z{{{{{|{{z{{z{|{{{||{{{}{{z{{{zz{{{z{{|{|{{{{{zz{{||{|{{{{{z{y{z|{{{|{{}z{{{z{|{z{{{{{{{|{{z{zzzz{|{{{{{z{{z{{z{{{|{z{{{zzz{{z{{{{zz{||{{{zzzzzz{{|{{|{{z{{{zzz|z|{{{{|{z{yyz{zz{{{z{}{|y{z{{zz{{{{{{|{||{{{{z{z|{{{{{{{{||{{y{y{|{{|||{zzzz{z{zz{|{||||{{|{{{{{|||{|||}{{|{{y{z{||||||{{z{{z{{{|}|{}||{|{|{{{{{||{|{|{{{{z{{|{{||||{|}{|{||{{{{{|{{{}}|z{|{{|{{}|||||{z|{{{|{{{{{|||{|{||{{{|{{|}|{|||||{|{{|{{{~||}||{{{{{{z{||z||{}}}|{|||z||{|||{||||{{{|{{|||~|{|||{{{{{{{{{|{|{{|}{|z{{{{z{{{|}|}{{z|z{{zz{||{{|z{{zz{{y{z{|{|{{||{{z{{{z{{{{{||{{{z{z{zzz{{{||z|{|{{z{{z{{{{|{z{{{{z{zzz{{{||zz{|yz{{zzz{{|{|{{{|zz{zzz{yz|{|{{z{z{{zz{zz{|{{{zz|z{zzz{zz{z{{{z{{z{zzzzzz{|z{|{{||yz{{{zz{|{|{{{{{z{{zzzzz{z{{{{|{zzz|zzz{{{{|{{{zz{z{z{{{{{{|||{z{zz{z{z{|{{{{}{zz{zzzzz|{{{{|||z{{|zz{y{{|z{{{{{{zz|{|{{|{|||||{{{{z{{zz{}{|||{{{z{z{{{{{|{{}{|z{{z|z{{{{||||{|{{{{|z{{{{z|||{|{{|{{{z{|||||||{|{{z||{{{||{{|{|{z{{{{{{{|||{}|}|{{{{|{{|||||}{}{{|{{{{{}|{|||||{{{{||{||||{|||{||{{{z{|{||}||||{|z{z{zz|{|{z|{|{{z{z{zzz|{|z{{|{{{zzzzz||}z|{{z{{z{zzzzzz{|z{|{{{zzzz{z{{{{{z{|z|z{zzzzz{{{|z{{|zz|z{zz{||{z|{{z{{{{{zz|{|z{|z|{{{z{{zzz|{{|{||zz{zzz{z{{{{{{{{{{z{y{{z{{z{z{{{{{zzzzzz{{{{yzz|{zzzzzzy{z{{{{||{z{z{zzzz|{{{|{{{{zzzyz{z{z{z}{{z{zzz{{zz|z{{|{|{z{z|z{{{{{{z||{{{zz{z{z{{|{{|||{{|zzz{{{{|{||{{{{{{{{z{|{{{{{||{{{{zz{{{|{{{|{|{{{{{{|{{{{{|{|{{{{{z{{{{{{{{||z{{{{{{{{{|||{|||z{|{|{|||}{{||||{{{{{zz{{|{{z|{}{z|{|{|{||||||}||{{{|{}{}{||}||||{{{z|{{{}|}|{||||{||{{{|||}|||{|{{{{{|{{{}{||}||{{|z{|{{z||||{|{{y{z{zz{{{{|{|{|{z{{zz{|{{{|||||{{{{|z{z{{{{{{{{z|z{zzz{{|{{{{|{{{zz{{z{|{z|{{|{{|{{{{{{{{{{}|{{z{z{z{{{{||{z{|{{{zz{{|{{{|||{|z{{zz{{zz|{{||{zz{{{zzz{{|{{{{z{z{{{z{{{z{z|z{{|z{zz{{z{z{z{{{{z{z{zzzzz{{{|{{{{{{{{{{z{{{{{{z{{|zzyz{zz{{z{{{{|{zzz{y{yz{z{{||{z{{z{{{z|{{{{||{|z{z{{{z|{{{{|||{zzz{z{z{{{|{{||{{|{{{{{{{{|{|{{{z|{{z|{{|{{{}{|{{{|{{{{|{|{||{{|z|{z{{|{|{|{|{{||{|{{{{||{}{|||||z|{{{{||}|||}|{{{{{{{{||||{{|{|{|{|{{{|}||{|}||{{{{||{|||||||}{{|z|{{z{}||||}||{||{z{|||}|}|||||zz|{|{{||{||||||{|{{{||||}||||{{{{{{{{|{{{||||{z{||{{{|{{z{{|{{z{{{{{{{|z{|{{z||z{{zzz{{{{{{{{{{{zzzzz{{{{{z||{{zy{{z{z{{{{{|{{z{zz{zz{{||{{{|{zzy{|{z{z|{z||{zz{z{zzz||z{{z{{{zz{{z|z{{{{z{{{{{|zzzz{|{{{{|{z{{zzzz{y{z{{{{{{{{{z{{z{zz{z{{{{z{{zzzzzz{{{{{|zzzz{{z{zzzzzz{z{{zz{{z{z{{zz{|{{{{{zzzzy{{{{{{{{{{{z{z{{{||{{|{{z{z{z{{{|{||||{|{{{{{z{{z|{{{{|||{{z{z{{{|||{|{|{|z{{z|{{{{|||||{{{{{{z{||{|{|{{{{{{z{z{z|{|{|{|{{{z{{|z|||||}{{{{{|z{{{||{|}|||{{|{{{{{{||}|{||{{|{{{}{|{{|||}|||z{{{{{{||||{||{||z|{{|||||{}||||{{z{|{|{{|||}}{|{|{{||}{{{|||{{{{z|{{{||{{{|}|{{{{{|{{|{||{{|{{{{z{{z{{|{|{{{{{zz{z{zz{{{{|{||{y{{zzzzz{{{{|{{{z{yz|zz{z{||||{z{{zz{zzz{||zy{|{zz{{{zz||{z{z{|zzz{zzz{|z{{{{{|{zzz{zyz{z{z{|{|{zzzzz{{{{{{z{|zz{zz{z{zz{|{{{{{{{zzy{z{{z|{{{{{{zz{yzzz{{{|z|{{{{xyzz{z{{{zz{{z{zzzzzzzzz{{|||{y{z{{zz{{{{z{z{||z{z{zzy{{{{{{||{{{zz{{||z{}{{||z{{z{{{{{z{{{||z|{{z{zzz{{|{}{{|{{{z{{{{|{{{z|{|{zz|{{{{||z|{||{{z{{{{{{{{{|}|{{{|{z{{{{{|{{{}||{{z{{|zz{||{|{|||{{{z{{{|{{||{||{||{{{|{|{z||{{|{|{|{|{z{}||||}}{{{{{z{{}{|z{|}|{zz{{|{{|{{{|||||{{{|{z|{|{|{|{{{{{{{{{{z}{{{|||{|{{{|z{{|||{{||{z{{z{{z{||{{{zz{{{zz{zz{{z{{{{{z{{z{zzz{{{{{{||{zzyzzzzz{{{{{{{{y{z{zz{z|{{{{{{{{{zzz{yz{{{{zz{zz{zy{z{{{{{z||{zzzzzzz{|z{zz{|{{zzzz{z{{z{|{{{{{{{zzyzz{{{{{z|{zzzz{zy{z{{{|{{{{z{yzzzz{{{|{z{{zzzzzyzz{zz{{{{{zyzzzzz{{{z{||{{z{zz{zyzz|zz{{{{zz{{|y{{{{{{z{{||zzz{zz{{{{|{{|{{{z{{{{{{||{{{||{z{z{z|y{{|{{||{{{{{{{{z{|{||{||{{z{|{{z{{}|{{{|z{z{{{zz{|||{{||{z{zz{zz{{{{{|{|{{z|{{{z||{|}||{}{{z{{{{{}||||||z|{{z|{{{{{{{|||{{||{{{{{||{|{|}{z{{|z{{|||{{}||{{{|{|||{|{|}||{|{{|{|{{{{{{|{||{|{{y{|{{|{{z||{|{{{zz{z{|{{||{{{{{z{{{z{|{{{{{{{z{z{zzz{{{z{{{{{{yzzzzz{zz{{||{|{z{{{{y{zzz{{{|{z{{{zzz{{{{z{{{z{{zzz{z{{{{{{{{{zzzz{{z{{|z{{{{{{{zz{yz{{{zz{{|{{zzzz{zzz{{z{{{zzzz{zzzz{{{{{{{zzz{z{z{zyz{{{|{{zzzy{zzz{{z{z{|zzzz{{zzzz{{{{{{z{{{{zzzz{{z{{{{zy{{z{{{z|{{z{{{{z|zzy{zzz{z{{||{y{z{zz{{{{{{{{{z{{yyz{{{{||z|||{{{zzz{z{{{|{||{{z|z{{{{{{{||{||{{{{{{{|{{{{z|{|||{z{z{{{z|{|{{}{{{{{{{{{|{{{||||{{{{{zz{||||{|{{zz{{{{z|{|{||||z{{{{{{{{|{{||{{|{z{{|{|{{|{{||||{|{z{{|||{|{}||{z{{|{{{{{|{|||||{{z|{{{{{|{||||{{{z{z{z||z|{{{||{{{z{|z{{||{{{|{z{z{z{{|{|{z{{zzzz{zz{zz{{zz{{{{{zzzzz{|{{z{{{{{{z{z{y{|{zz{{{|{zzz{{zz{{z|{z{{z{zz{{zz{{{||{{{{zzzy{z{{{z{z{{{zz{zyzyyz{{{z{{{{{zzzzzzzz{{z{|z{zz{zzzz{{z{{{{{{zzyz{zy{z|z{{{zzz{zzyzz{|{zz{|{{zz{{zz{z|{z{{{{{zzzzzzzz|{{{{z{{zzz{{zy{{{{z{|{{zzzzz{zz|{{{|{|{z{yz{{{{{|{{{{{z{{{{z|{{|{{z|||{{{{|{{{z{{{|{{z|{z{z{z{{||{{||zzzz{{zz{||{{{|{{{{{{{|{{|{{{{{||{z{{{{|{||{|{|||{{z{|{{{{|{|||}||z{z{{z{||||}||{{{{{{{{|{|||}|{||zzz||{{|}{|}{||{{{z{{zz|||}||{|}{{{{zz|||||||||{{{z{|{{|{||||||{{|z{{{{{{{|{|||||{{z{zz{{{{z{{{{z{y|{zz{{{|{{{|z{{z{{{zz{{{||{|{{zzzz{z{z|{{|{|{{{{zzzz{{{{{||{|{{{zz|{|||{{|{|{{z{{{{z{|{|{{{|{z{zz{z{z|{{z{{|z{z{z{zzy{}{z{{|{{zzz{{z{{zz{{{zzzz{zz|z{{{{{{|{{{zzyzz{zz|z|{{z{{zzzz{z{zz|{{|{yyzzzzzzz{{{{{{|z{z{|{{zz{{{|{||{zzz{z{{{z{|{|{{{{z{zz{{{{||{{||{{{{{z{{z|{{|||||{{{y{{{z{{{|{|{{|{z|{{{{{||{|}{{z{z|z{{|{||{{|||{{{{{z{{||{|}|{|z{|{{{{{||||{||{|{z{|{{{{|||{|}{{{{{{z{|}{|||}|{z{{z{{{|{|{}|{{|{{||{{|||{|{}|||{{{{|{{|}{|}|||||{|{{{{|}|{{||}{{{{|z||{{{|||||{|{{{|{{{|||{|}|{|{{|{|{{||{{|}|||{z{{{{{|{{z{||{z{y{{{z|{||||{{zz|z|zzz{{||{||}z{{{zzz{|{{z{||{{{{zz{{z{{{{{{{{|z{z{{zzz{{|{{|{{{|zzz{z{{||{{{{|zzz{z{z|{{z{{{||{|{zz{{{{{{{{{{|{z{y|zz{z|{{{{{z{{{{z{{{{||z}||z{{{z{yzz{{{|{{|{z{{zzzzz{{{{|z{{zz{zz{{z{{{{{|{|z{zzzzzz{z{|||{z{{z{{z{{z{{||{{z{{{{{{z||{{|{||zz{{{{{{|{||||{|{{|{{|{{|{{{{|{{|{|{{z{{z{}{||{{|{{{{{zy{||{|{|{z{{|{{{{|{}{||||{{{|{{|{||}|{|{{{{{{{{|{||||||||{z|{{{{{{||||{{{{{{||zz{||||||}}}{|{z|{||||||}|||||{||{{{}}||||||z{|{|{{||}{||}||{{{{{{||{|||||~||{|||{|||||{|}|{||{{{{z|||{{|}||||{{{{{z|{{|{||{z|{||{{|{{{{{{z{z|{{zyzz{|{z{|{{zz{zy{z{|{{z||}{zzz|{zz|{{{{{|||{{z{{zz{||{{{|{zz|{z{zz{{|{{|||zz{yzz{yz{{{{{z{zzzz{zz{{{{||{||{z{zzzzz{zz|{{|{{z{{zz{{{{zz{{{zz{{|z{{z{{{z{{{|{z{zyzzz{{{{|{{z{zzz{zzyy{{{{{{{{z{zzzz{z|{zz{|{{z{z{zzz{{{{|{{{{z{z|zz{{{||{{{|{z{{{{{z|{|{{{{|zz{{{{{{{{||{|{|{z{|zz{z{|||{{{{{|{zz{{z{||||{{{|{{{{yz|||{z{{{{|{{{{{{{{}||{{{|z{|{|{{|||{||{}|{{|{|z{z|{||}||{}{|{{{z{{|||||{|{{||{{{{||{{|}|{}z{{z{{{{|}}|}||{{{|{{{{{{{}{||||{{{{|z|{||{||||||{{{|{{{|||||}{z{{{{{|z{||{|||{{|{{z{{{z{|}{{||{{{{{zz{z{}{{|{|zy{z{z{y{{{{{{{|{{{z{zz{{{{z{||{zzzz|zz{|{z|{{||{z{{z{{z{{{{{{{{{{{zz{{z|{{{{|{{{{{z{zzz{{{{{{|z{{z{zzzz|{{zz{{{{zz{z{z{{z{z{z{z{zz{{z{{{z{z{||{{z{zzzyz{{{|{{{|{z{zz{{zzzz{{z{{zzz{zzzz{zz{{{{{{zzzzz{z{{{{|||{{{zz{{z{{{{{{{|{{{{z{z{{{{||{|{{zz|{zz{z{{|{{{|z{z{{z{{{{{{|{|{{z{{{{z{z{|{|||||{{|{{z{z{||}{{|{|{{{|{zz{{|{||||||{{{{z{|{||||{{{{{{||{{{{|{|||{{{|{{{z|{|||{|||{|{z{||{||{}||||{|z{{||{{||||||||zz{|{z|||{||||||{{||{||{|{|{||||{{|{{{{{|}|{|}|{{{{{{{|{{|||z||{|{{{z{{{||{{|{||{{{{{{{z|{{|}{|||{{{{zz{|||{{z{{zzz{zyzz|{{{{z{|zzzzz{y|{{{{||{{zz{{zz{{z{{{|{|{{{{{z{{zz{{{{{{z{{zzzz{z{{{{{|{{{{zz{|zz|{{{z|{|{z{zz{zzz{z{{{zz{{z{zzz{{zzz{{|zzzz{{yz{zzz{z{z{y{yzzzz{{{z{{|{{z{yz{yz{{z{{{{{zzz{{{zzz{{zz{{|z{zzzz{{zz{{z{{|{zz{{{zz{z{||||z{z{y{z{{{{{{{{||{{{{{z{z{{{z{|||{{zyzzzz||||||||{{z{{{z{{{{{|||{{{{zzz{{{{{||{|}{{{{{zz{}{{|||||||{z{{{{{|{{}||{z{|{{{{{{|{||z{|{{{{{{{z{|||||}{|z{{{zz{|||||||}{|{{{|{|{|||{{||||{{{|||{||||{|{{{{{{{{{{{||{|||{{{{{{{{{|{||{||{{{{|z{z{|{|{{|||z{z{{{{{||{|{}||{zz{{{z{{|}{||z|{{{{zzz{{z{{{|{y{zz{{zz{z{|zz|z|z{zzzzz{zz{z|{{{z{zz{z{{|{||{{||{z{zzzz{{{|z{{|zz{{zzzz{y{{{|{|{zz{zzzyz{{{{{|{{z{{z{zz{{z{y||{zzzzz{zzzzz{{{{{z{zzzyzz{z{{{z{{zzyzzzzz{{{{{|{{zzzzzzzzz{{{z{|{{z{y{z{zy{zz{{{z{{z{{zzzz{{z{{{z{zzzz{zz{{||{z|||{z|zz{z|{{z{|{|zzzzzz{z{{{{|}||{z{zzzz{{{|{{||{|zz{{{{{z}{||}{{{zz{{{zzz{||{{|{|{{{z{|z{||z{|{||{{{|{{z{|{{||{{zz{{z{{z{|{|{|||{{{{{zz{{}||{|||{{{{{z{{{||||||{{{{zzz|{||{{|||||{z|{{{{{||}|||||{{{z||{||||{|{|{{z{|{{{{{|{|||z|{{{{{{{{{{|||z}{{zz{z|{{{|||{{{{{{{|{z{|{{|{{||{{zzy{{z{{{{z|zzzzzy{zzyz|{{{{{{|z{z{yzz{z{{{{{|{{{zz{{z|{{{{|{{zzz{z{zz{{||{{{{{{{zyz{z{zz{{|||z{zzzz{z{{z{|{{{{z{{{zzz{{{zzz{|z{zz{z{zz{z{z{{{zzz{zzzz{|{{z{{{zz{zzz{zz|{{{{||zz{{zzzz{{{z{{{|{zzz{{zz{zz{zz{{zz{zz{{z{{|{{{|{zzz{zzzz{{{{{{||{{zz{zzz{{||{{{{|{{zzz||||{{{{||{z{{z{{{{{{|{{{{|z|{z{{{{{{|{{{{{{{{{zzz{{{{z|||{{z{{{{zz{{|{|{{{z{{zz{{||}|||{{{|{{{z{{{{|{||}|{{{{|z{{|||||||||z|z{|{{{|||{||}{{||{{|||{|||}||}|{{{{{|{|||{|}}{|{{|{{{{|||{{{||{{{{{{|{}|{|}|||{z||{{|{||{|||{{{|{|{{z{||{{||{|{z{z{{z|{{|||||{{{{{{zz{{{{{{{{{zzzzzzy{{{zz{{{{yz{zzyz{{{{{|{{{z{zz{zz{{{{{|{{zz{{{z{{{{{{z||{{{zz{z{z{z{{{|{{{z{zz{zzz{{{{{{|{{z{zz{zzz|{{{{{{zzz{{{z{zz{z{{{{{zzzyzzz{{z{{|{z{z{z{zz{zz{|z{{{{{zzzzz{{z{zz{|zzzz{zzzz{{z{{{{zz{z{zzy{{z{|{{{zz{{{{yz{{{{{||{z{{z{z|zz{{{{{||{z{z{z{z|{{y{|{|{{z{{{{{{||{|{||{y{|{z{{{{z|{}{{{z{z{zz{{{z|{{{z{{{z{{{z{|{{{{{|z{|{{z{{{{|}{{|{z{{{{{|{||{|z{|{{z{{|{{|{|{||||||{|{{z{{{|||{|||{||||||{}|{|||{{{{{{z{{{{||{|||}||z|{{{{}||||}|||{{{{zz{||||{|||{{{{{|{{{|||{||{{{{{{{{z{{{|||||{zz{zzzzz|{|{{||{{{zzy{z{{{|{z{{z{zzy{zz{|||z|{{{zzy{yzz{{z{|{||zzzzz{{zz{{|{|{{zzz{z{z{z||z|{{{{{|{zz{z{z{{{|{{zy{zzz{yz{{{{|{{zz{zz{zz{{zz{{{|{z{zzzzz{{z{{|{{{z{zzz{zzz{z{{{}zzzzy{yyy|{z||zzzz{z{zz{{{{z{{{{zyzzyzzyyz|zz{{{z{z{{zzz{{{{{|{{{y{z{{{yzz{{{{|{{yzz{yzz{|||}{|{|{zz{z{{|{{|{{{|{z{z{zzz{|{{{||{{{{z{{{{z|{{|{{{{{zz{{z{|{|{|{|y{z{z{{z{|{|z{||{|{{{{|z||{||||||z{{z|{||{||}||}||{{{{zzz|{{{{{}||{{{||{{{||{||||{z||z{{{||{|{}|{|{{zz{{z{|||||{{|{{}{{{z{{|||}}|{{|{{{z||{|z{{|||{{{{{{|{{||}|}|{zzzz{{||{||{||{|{z{z{{{{{{{{{|{|zzz{{{z|z||{|z{z|zz{{zz{{||z|{{{{z{{zz{{|||{{z|{{{zz{{z{|{{{{|{z{{y{{{{{{{{{{{{{{zz{z{y{|{{{{{|{{zzz{z{z||{z{{zzzzzzzzzz{|{{z{zz{{z{zz{{{{{z{{{z{{zzzzzzz{z{{|{z{zy{zzyz{|{{{{{zzz|z{zzz{{{{z{{zz{zzzzzz{{z{{{{{{{zzz{z{{zzz{{{{{{{{zzz{{{{{|||{{zz{z{{|{{|z{|{{z{{z{zz{{{|{{||{{z|z{|z{{{{{||{{{{zz{z{{|||{{{|{{zz{zzz{{{||||{{{{zz{{{|{{||}||{{z{{|{{}||||{||{|||{z{|{}{|||||{{{{{{z{|}||{{|||z{{{{z{||{||}|~{|{{{{|||{||{||}|{{|{{{|{}|{{||}|{{{{|z{||}{{||{|{{z{{z{{|{||{{|{|{{{{{|{{|{{||}{{{{|{{{{|{{|{|||{{{|{zz{||{{|{|{{{z{zzz{{||{{z|{zzzyzzz{{{||{{{zz{{zzzz{{z{zz||{zzzzyzz{z{z{|{{{z{{zzzz{{{{z|||{{{zyz{zz{{{z|z|zz{zzy{zzzz{{{|z{zzzzzzz{{{{{{{zzzzz{{z{zy{{z{z{zzzzyzz{{{|{z{{zzyzyyyyz{{{{|{{zyz{{zzz{z{{{{{{{zzzzzzzyz{z{y{{{{zzz{z{yzzz{z{{{z{{zzzzz{{{{{{{z{{{{z{{y{|{{z{{{zzz{zz{|{z{{z{{{z{{zz{zz{{{{{|{|{{z{zz{z{|z{|{|z{z{|{{{{z{|{{|}{{{{{z{{{{{{zz|{{{{{{{{{{{||}{|{{{zz{{{z{{{{|{||{{{{{{z{z||}{{||{{|{z{{{{|||{|||{{{|{{}{{||z|||z|{{{||{{{{}|||{|{|z{|{{|{|{||||{{|zz|{{{|{{|||||||{z||{{{|{|{{||||{|{z{z{{|{|||}{{z{{zz{z{{|||{|{{{{z{z{{{{}{{{|{zz{{zzzzy{{{|{{|{{zyzzzz{{||{{|{{zz{z{z{{z{z{|{{z{zz{zz{{{{{{{{{|{zzzy{zz{{{{{{|zzzzy{{yz}{zz{{{{{{z{zy{{z{{{{{zzzzy{{z{{{{{z|{|{zzz{yzz{zzz{{{{z{{z{zz{{{{{|{z|{{{{zzz{{{|{{|{{z{{|zz{zz{z{zz{{zz{yz{{{z{{zz{|{{zzzzz{z{{{{{{{|{{{zzzz{{{|{{{|{{zz{{zzz{{|{{{{|{z{{{{{z|{{|{|||zz{{{{zzz|{{||{{{z{z{zzz{||{{{|{{zy|{{z{{{||{{{|{{zz{{z{|||{||{||||{{{{{||{|{|{|{{{{{{zz{||||{{||z{{{{{|||{{|{||{|{{{||{||{||}||{|{}{{{|{}|||||{{{|{{{|{{}||{||||{z{{z{{z{{||||||{{||z{||{||{|{|{{{z|{z{|{||||||||{{{{{{|||{{|{|{||zzzzz{z||{{z{{z{zzzzzz|{{{z{|{{zzzzzz|z{|{|||{zzz{{z{{{z{{||{z{{zz{z{{{{{{{{{{{{{yz{|{{{|{z{{zz{zz{{z{|{z{{z{{z{zzy{z{{{{{{{z{{{{z{zy|{{z{z{{zyzz{zzz{{|z{{|{{zzzz{zz{|||||||{z{z{{{zz{{z{z||{zzz{y{{zz|{{{||{{z{{{{z{|{z{||{z{{z{{{z{{{||{|{{{|y{z|z{{|{{{}|z{{{{|z{{{{{{|{|z||z{{{{{|||{{||{{{{{{|zz|{|{||z|{{zzz|{|||{{{}||{{{{{|{{{{{{|{|}|z{{zz|||||{{{{{{|{{{|{{z{}||||{{{{{{z{{||{}||}{z{{|z{|||||{|}|{{{|{||{{||{||||||{{z{{{{~{|{}}||{|||{|{||}|{{}||{{|{{|{|{||||}||{{|{{{{||{||||}{||{|{{|{{{{|||}z{z{{{{{{{|{{{{{{z{z|zzz{{{|{{|{{zzyzzyyz||{{z|{zzzzzzzz{{|{z{{{|zzzyzzyz|{{|{{z{zyzzzz{z|{zz{{{{zzzzzzzzz|{z|{|{zzzyzzzz{{{z{{zzz{zzzyz{z{z{{zz{{{zzzzz{zz{{{z{{zyyzyzzz{{{{{z{{z{zz{z{{{|z{z{z{zyzzzyzzz{{zzz{{zz{{zyz{z{z{zz{{{zzzz|zz{{z{||{z{{z{z{z||{{{||{zz{{{z{zy{{{{{{|{|{z{zz{|{{{{{|{{{|{{z|z{|{{{{{{|z{{{zzy{|{{{{{|{y{{{{{zz{||{|{|{{zz{zz{{{|{||{{|{{{{{{z||{{|{{z{{{{{z|{{{{}{||{||||zz|{{{|{||z{{{{{{{{|||||{|}{zz{z{||{{|{{}}|||z{{{|zz{|{|{||||{{{{z{{||{{{}|||{{{{{{|{{}{||||{||{|{z|{|||{|{|z{{{{{z{||{||{|{}|zyz{z{||{{{{|z{{{{z{{z{{{{{{{z{zz{{zzy{|z{{z{{z{{yz{zz|z{z{{|||z{yzzz{{{z{{|{{{zz{zzzzz{{{{||{z{yzzyzzz{{{{|z{zzz{zzz{zz{{zz{{{{{y{yz{{z|z{|{{{zzzzzzz{zzzy{{{{yzzzzzz{{{z{{{z{zz{{zzzzz{{z|||z{yyzz{zz{z{zz|{{z{zzzzzz{zzz{{zzzzzzz{yz{zzz|{zz{{{{zzz{{{z{{{|{z{{{zzy|{{|{{{{{z|yzzz{{z|{{{|}{z{{z{{{{{|{{{{{zzz{{z{{||{{{{{z{zzz{{y{z||||{{{{{z{{zzz|{{|{{{{|{{{z{{{{{z|{{||{{{{{{{{|{z|z{{}{{z||{zz{{{{||}||{z}|{{||||{|{||z{z{|z{{|{{z{||{||z{z|z{{}{|{{|||{{|{z|{{}}|||}{|zz{{z{{||||{{{||{{{{{{{{|{{{{{|{z{z{{z{{|z||{}||{{z{{|{z{|||{{{{{z{{zz{|z{z{{{|{{{z{z{z{{{{{{|{zyzzzzzz{{|z{{{|{z{{{{{{{{{z{{|{{z{{z{y{|{{|{|||z{{zzz{z{z{|{{||zz{{zzzz{|{{z||{{z{{{zz{{z{{{{{{{{zzzzy|zzz{{{|{{zzz{z{yzzzz{z|{{z{{zzy{zz{z{|||z{zzy{z{{zzz{{zzzzzz{zzyz{{{{{{{{zyz{y{{z{{{z{{|yzzz{zzy{|{{{{{{{z{zzzzzz|{z{{||{yzzz{z{{{{{z{{|z{{zzz{z{{{{|{|||z|{{z{{z{{|||{{{{{{{{zz{|||{||{{{{z{|z{{|{{|{|||z{{z{{|{{{|{{{{{{|z|{||||||||||{{z{{{zy{{||}||}|{zz{{{{{{|{{||||{|z|{|{|{|{}}|||{{{{{{|{}{||{}|{{{|{z|{|{||||{|{|||{|z{{||}{||||{z{||{{||{||||||{{{|{{{{||{{{|{z{{{zzzz{{{{{{|{{{{zzy{z{|||z{{{{z{{zzz{z{{{|{|{||{{zzzz{zz{{{{||{zzzzzz{z|{z{{{|zzy{zzz{{{|{{{{{z{zzz{zz{{{|{{|zz{{{{zzz{{{{{{{{{zzzz|{z{zzy}|z{{{zzzzy{{{zzz{{zzz{zy{z{{|{{{{{{{{yzzyz{{{z|{z{zz{zzy{z{{{{{||{|{yz{z{z{|{{z||{{zzzz{z{{{{{{{{{z{zzzzzz{{{{{{||{z{{|y{z{{{zz|{||{{zzzzz{{{|{}z|{zzzz{z{|{{{{{||{{{{y{{{z||z}}z{{{zz{{zz{{|{|||{|z{{{zz{||{{{|{{{{zz{{{||{||||||z{{||{{{||{|{||||{{{|{z{{{|{{|}{|{{{{{{{|{|z|||{{{{{{||{|{{{|||}}{|z{{{|||||{{|{{{{{{z{|||{{{|||{{|z||z{{|{}{||||{{||zz|{|{}||||||{{{{{{{|{{{||||z{{z{|{{{{{{{||{zzzzyz{{|{{|{{zz{z{{y{y{|z{|{|z{z{zzzzzz{z{{|z|{{z{z{{zz|{|z|{{{yz{zy{zzz{{|{||zzzzxz{z{{{{z|{{z{{{zyzy{{z{{{||{z{{{zz{z{{{z{|zzyzzz{zzz{z|{{{|zzz{zzzz{{{{{z|z{zy{z{zz|{|{|z{{z{{zzzzzzz{{{{||zz{zz{zzz{{z{|}zzz{yzzzz{{{{z|{{zz{{{zzzzz{|{|||z{z{zz{z{{{{{{{|{{zzz{{z{z|{{{{{zz{{zzz{|{{{|||||z{{zz{{{{{|{|{{zzz{zz{z{|{|{||||{z{{z{{||{{z|{{{|z{{{{{{|{|{{||z{{z|{{{|{{{{{|||{{{{zz{{{|||{|||y{{{{{{||||{}|}{{{z|{|{{{{|{||}}{{|{{|{|}{||{|||{|{{{zz{|||{{|{|{|{{{{{|{||{{{|{{z{{z{{{{||{{z|{|{{{|{{{|||{{|{{z{{{z{z{{{||{|{{{{z{{z{{{z{{y{{zzz{zy{y{z{{{z{zz{yz{yz{{zz{|{{{{z{zzzz{{|{{|{|zzz{{zzzzzzz{{{|z{zzzyzzy{{zz{{z|{{zzzyyyz{zz{{{{{zzz{zyyz{{zzzz{zzzzyz{z{{{y|{zzyzzzzzzz{z{z{{{{y{yzzzyz{{{{{{{{{zz{zzzzzz{{{{{|zzzzzzz|{{{zzzzz|zzzzz{{{{zzz{|{{y{{z{zz{{{{{{{{{{zzz{z{{{{|{{{{{z{{|z{z{{{{|{{{zzyzzzz{{{{||{|{zz{{{z{z{{{{{|{{{zz{{z{z{{||{{{{{{zzzz{{{|{{{|{{{{{{{zz{{{{{|{{|{z{z{{|z|{{{||{|z{{|zy{{|{{|{{|||zz{|{{{{}|z{|}{{{{z|{{{|{}{|{|||{z|{{{{z|{|||{||z|{{|{{}{|{|||{{z{{|{{{{{|||{||{{{{{{{z|{|||{|{||{{z||z{|||{|}||{z{z{{z{{{{z{|{{zzyzz{|{z{{{{z{zyyzzzzzzz{zzzz{{{zzzzzyy{z{|{|{z{zyzzyz{y{z|z|{{zzzz{z{{{{{{z{{zzzzzzzyzz{{z{{{z{{zzyz{zz{{zz{z{z{zz{yzzz{zyzz{zzzzyzy{z{z{z{z{yzzzzyzyz{zzz{{{zzzzzzzzz{{{{{{|zzz{y{|z{|zzz{z|zzzz{zzyzzz{{z{{z{zz{zzzzzz{z{|{{{z{{zzzz{z|z||z{zz{z{zz{{{{{{{|zz{z{z|z{{zz{{{{zz{zz{zz|z{{zz{z{{{z{y{y{|{z{||{{z{z{{{{{|{z{{||{zz{zy{z{{{{{{{|{{zyz{{z{{{{{|||z{zz{|z|{{{{z|{|z{{zz{{z{|{|{{|{{z{{zz{{{{||{|}|z{{{z{{{{{{{{|||{{y{zzz||{||z{{|||zzz{{{{{{|{{{|{{{zzz{{{{{}{{||yz{{{zz{{{{{{{{{{{{z{{zz{|z|{{{|{zyz{{{y{{z|{{{{{{zyy{zz{{{||{||z{zzzzzyz{{{{{{{{z{{zyzz{y{{z{{{y{zzzyz{{{{{{||{|{zzzzz{z{{{{{{|{{{z{zyz{z{z{{{{{zzzz{z{z{{{{|{{{zzz{zz{z{{{{z{{zzzzzzz{zzzz{{{{zzy{zzzz{z{z{{{{{z{yyzzzz{|{{{{{{zzz{{yzz{{{{{||{{zz{zzzyzzzz{z{{{{{{zzz{{{{{{{{zzzzzzzzzz{{{{{zzyzz{z{zz|{{{{{z{zzz{y{z{z{|{{|{{z{zzzz{z{{z|{{{|{{{{z{z{{{|{|{{{{{zz{zy{{|{{{}{{{{{{|zz|{{z{{{|{|zz{{{{{{{}|{|{zz{|{{{{{|z{{|}{{z{}{{z|{|{|||{{|{{{{{{{|{||||||{{{|{{{|{}{|||||{{{{z|{{||{||||{{{||{{z{|{{{||{||{|{{{{{|{|{||{||z{z|{z|{||||{||{zz{{z{{y{z|{||{{||{{z{z{|z||||{{z{zzz{z{{{}|{{{z{zyzz{yzz{{{yz{{|zz{z{{{z{z{{{{{zyzz{{z{{z{|{|{{z{{zzz{z{|{z{||{{{zz{{{{{z{{{{{z{yzyzzy{|z{{{{{{{{y{zzzz{|{{{{{{zzzzzzz{z{zz{{|zyyzzzzzz{{{{{{{zzzzzzyzz{|{{{{zz{zzzzy{{{{{{{||zzzzzzy{{{{{{{{{{{zz{zzz{{{{z{{|{zz{z{zz{||||{{|{{z{z{z{{{{z{z||{zz|zz{z{{{{{|z{{z{zz{{z{{z|||||{{{{{zz{{{z|{{}|{{|{{zz{{||{{||{{z|{{{{z{||{|||{}{|{{{{{{|{{{{|{{|z{z{{{{{{{{{|{{z{z{{z{|{{{z{|||z{z||zzz||||||{|{{{{{||||{||{|||{{|z{{{{{|}{{||||{|z{{{{||||||||z{}z|{{{{{{|{||{{{{{z{|{||||}||z{{{z{{y|{{{{||||{{z|{{{|{}{{z{{{{|{{zzzzz{z{{{{zzzz{zyzzzzz{z{|zz{zzzzy|{{|{|{|{{yzzz{z{{z{||{|{{zz{zzz||{|{{{z{{z{{zy{{zz{z{{|{zzzzz{{z|z|z{{|z{zzzyzz{z|{{z|{zz{zzzzzz{{{zzz{zzyz{zyz{{{{|{{{zzzz{zyzzz{{{{{|zzzzz{zz{{{{|{{z|{y{zyzzzz{{{{z{z{zzzz{zzzz{z{||{zzzz{zzz{z|z{|{z{{zzyz{{|{z{||||{{zzz{z{{{{{{{|{{zz{{{|{{{{||{z{{{z{y{zz|{|{z{{{z{{|zzz{{||{{}{|z{|{{{{{{{{z{|{{{{|{{{z|{{|{}{z{{|z{{|z||{||||||{{{{|yz||{|||||{{z{zz{{{|{|{||{|{|{zz{{||}|{{|||{{{{{{{{}||{||{|{|{{{{{{|{||||{{zz{{{{z{{{{||z{|{{z{z{|{||||{{|{y{yz{{{{{||{||}{{{zz{zz{{{|{{|{z{{|{{zz{|{{{{z{{z{zzzz{{{{{zz{{yzz{zzyz{{|z{{{|zzzzzzzz{{{{{||{{z{{z{zyzz{{z{{{{z{zzzzyz{z{{{{{{{{z{z{z{{{zz{{{{{zzzz{y{{{zz{{{z{zz{zz{{z|{z{{{zzz{zz{{{{{{{{{zzz{yzzyz{{zz|{}{{z{z{zzz|{{zzz{{{zz{{zzyzzzz{{{{zzzy{{zyzzz{z{{{zzzzz{z{z{z{{{|{z{{{{zzz|{{z{{|{zz{zzz|{{z||{{{|{{{{{z{z|z{|{{{|{{{{{{z{{|z{||{{{{z|{{{z{{{{{|{|{{{{{zzz{{|{{||{{{{z{z|{{{|||{||z||{|z|{{||||{||{{{{|z{{|||{|||||{{{{z|{{{{{}}|{|{{{|z||{{{{|||||{{|{|{z||||{||{zz|{{{{{}|||||{}{z{{{{{{{{{|||{|{{z{{|{{{||{||||{{|z{{zz{|{{{|||{{{{z{{z{{|{{{{{{{{zzzz{z{{|{|z{z{zzyz{yz{{{z{z{zzzz{z{z{{{{{{{|zzzyyzzyy{{z{z{|{{z{zzzzz{{{{{{|{{{zyy{zz{{{z{{{zzzzzyzz{zzz{z{{z{zzyyzzyz{{{{{{z{zzz{zz{{z{{{z{zzxzzz{zz{{zz{zzzz{zy{z{zzzz{{{z{z{zyyzz{{z{z{|{zyzzz{zy{{zz{{z{z{zzzzzzy{{{z{{|zzzz{zzy{z{{{z{|{zzz{zzz{{|{{{{|{zzyzyz{{z{{{|{|z{{zyzz{z{{|{{{{{{{{{z{z{|{{|{{{{z{{{{{|{{|{{z{|{{{z|z{|||{zz|z|{z{zzzzz{{{|{|||{{{{{{{{{|{{||{{{z{{{{{{|||||{|{{z{|{{{z{|{{{}{|{{{{{{{{z|{{|||z{{{{{z{{z||{{||{|{{{zz{z{{|{{{}{|{{|z{{{||{|||{|{{z||{zz{{|{||||{z|z{zz{{}|{{|}|{zz{{z{{{|{{{{|{z{zzzz{z{{{{z|{{{zzz{{{zz|{{{z{{z{zzz{z{{{|z{|||{zzzzzzy{zz{{{||{zz{zz{{{||{{z{{{{{zz{zy{{{{z{{|zzyzz{{zz{{z{z{{zzzz{zyz{{{|zz{{yzzyzzyzzzzz{||{zzzzy{zzz{||{z{{zzzyy{zz{{|z{z{{zzzyzyzz{z|{{{z|{zz{zzzyz{z{{z{{zzz{{zzyz|{{||{|z{{zzz{{{{||{{{z|zzz{z{{{z{{{z{{z{yzzz{zz{|z|{|{zz{zz{{{z|{{{{{||{z{zy{z{{{{{|z{{z{{{{{z|||{{z|{{{{{{z{z{z||{{z||{z{{{z{z{||||{{{{z||{|{|{{||{{|{|{{{{z{|}{|}||{|z{|zz{z|}|||||{z{|z{{||{|{{|}|||{{{{|{{||{{|}|{|{|{|{{{z||||}|{|{{z{|{||{|{|||||{|||{z{||{{{{{}{{z|{z{{{|z{{{|||{zzz{{z{|{|{{||{{{y{z{z{|{{{{{z|{zzzz{zz{{{zz{{{{{z{zzz{z{{|{{{{zzzzy{z{{z{{{{{z{z{{z{{{{{|z||{{z{yzzzzz||{{{{|{zzz{{{z{z|z{{{{{{z{{zz{{z{z{{{{{z{{yzzzz|{{z{z{zzz{zzzy{{{{{{|{{|yzzzzzz{{{{{{{z{{zzzzz{{{{z{{{z{z{{zzzzzz{z{|{zz{z{zzyz{z{{{{{z{{z{{{zzz{z{|||{{zzzzz{{|{{{{|zz{z{{{zz{{{{{|{{z{z{{{{{|z}||{{{{{{{{z{{z{{{{{|z{{zz{zzz{||{z|{{{{{z{{zy{{{{{{|{|{{|{{{{{{{|{{||{{|{|{{{||||||||{{zz|{z|{|||}||{|{{|{{{{||}z{{||{{{{|{|||{|{|||||{|{{|{{{|z{{{}|{z|{{{{{|||||||{|{{|{{{{||||{|{|{{{{{{|z||||||{|{z{{{|{{{|{{{|}|{{|{zz{{{|||z{|{{z|{{zz{{|{{{|{z{zyzy{{zz|zzzz{{zzzzzz{zzz{{z{|{{zyyzyz{|{{{{{|{zzy{zzyzz{|{z{z{z{z{zzyyzz{{{{{{zzzzyzzzzz{z{{{zzzzzzzzzz{{zzzzz{zzy{zzz{zz{{{|{yzzyzyzz{{z{z{z{{zzzzz{zzz{z{z{{zzzzzzzyzzz{z{{|{zzzzzzyzzz{zzz|{{{zzzyzy{zz{|{{zz{zz{{y{zz{zz{z{zzz{{zyz{{{{z||{{{{zzz{{{{{{z{}zz{zzz{zz{{{z{|{{z{z{z{{{zz}{||{{{zyz{zz{{|{{{|{{z|{{z{{z{{z|{||{zz{{{|{{|||{|{|yzz{z{{z|{|{{|{{{{zzzzzz{{|{||||{{{{|z{z{|{z{|{{|{}z{||{||{|{|||{{{z{{zz{}z|{|{|||{{zzz{|{{{{|{|z{z{{{{{|{{|{{||{{{||z{z|{|{{|||{{{zz{zz{|{{z{|{{{z{z{{z{{{{{|{|{z{z{{{{|z{|z||z{z{zz{zzz|{||{|{zzyzz{zy{{{|{{|{{{y{zz{z{z{zz}|{{z{{{zz{zz{{|{{{{zzyz{zy{|{{{{{|{z{zzzzyz|{{z|{{zz{{zzzz{z{zzz{{{zzzzzzy{z{zz{{{zzzzz{{zz{{z{{{{{z{zzzzzz{{{{{{|zzzzzyzz{z{{{{{{zzzz{z{yzz{z{|{z|{yzzzzzy|{{{{{z{y|z{zy{{{z{{{|{|yzzz{{{|{z{{{||{zz{z{{z{z{|z||{{z{z{{yz{|{z|z|{{z{{zzzz{{}|{{||{{{{z{{{||{{|{||{z{z{{{{{{{{{|}|{{{{{z{|{{{|}|||{{{{{{{{{{|{||}{|{|{{{zz{{}||{|{|z{|||z{{||}|||{{{||{{{z|{{||||||{|{{{{||}||||{|{|{{{z{{||||{||{|{{|{{z|{|{|{|||{{{{{{{|{{||||||{z|{z{|{||{{{{}}{{zz{z{zz|}{{{{{{{z{{zzz{|{{zzz{zz{zyzz{{{{{{{{{{z{z{{yzz|z{{{{|{{{y{zzy|{zzz{|{{yzz{yz{z{{{z{zzz{zyzzzz{{{{{{{|{zzy{zzzz{{{{{zz{z{zzz{yz{z{z|{z{zzzyzzzzzz{z{{{{zzyzyzzz{{z{z|{zyzyzzz{{{{{|{{{zz{zy{{yz|z{{{{{{{zzzy{yzzz{{zz{{{zzz{y{{{zz{z{|zzz{|{{y{{{{{{{{{z{z{{zz{{z{{{{z{zz{{y{z{{{{{{{{{zz{{zy{{||{z|{{z{z{{z{{{{{|{{{|zz{z{zz{{{|{|{|{{zzz{zz{{||{z{}{{{zz{{{z{{{|{{|{{{{zz{{z||||{|{{|{{{{{z{||{{{{|||z{{|{{{{||||{|||{{{zz{{{|{{{{{||z{{{{{z{|z}|{}{|z|||{{{{||{||}|{z{{}{{{{|{{z|||{{{||{{{{|{|}{|z{{zz{{{|{||{{{|||{{zzzz{{{||z{||{{z{yyzy{{{{{z{{zzzz{{{y{{|{{{{{|{{{zz{{z|{{{{|{{{zz{{zz{{|{|{{{{z{z{{zzz{{|zzz{{zzyzz{{|{{z{zz{{|zz{z{y{{{{{{{{zzzz|zyzz{{z{{{{z{zz{{{{zz{{z|{|zy{z{z{z|z{{z{y{yzz{zzzz{{zzz{{|{{{{{yzzz{{{{{{{zz{yzz{zzzzzz|{{{zzz{{z{{zz{{{{{zyzzzzzy{{{{zz{z{zyzzy{zz{{|{{|{{z{zzz{{{zz|||||{z{{{z{z{|{|{|}{{|z{{z{{{z{||||||zz|zz{{{|{||||{{z{{{{z{|{|{{{{z|{{{z|{zz}|}||||{{{{{{{z{{{{||||{||{{{z{{||||{||{{{{{z{{{||||}||{{{{|||{|{|||||{{{{{{{{{{|{|||{{|{{{zz|{|{|||{{||z{{{z{z{z{|{{|{|||{{|{z|{{|||||{{{{z|{{{z{{|{{||{z|zzz{{||{{{|{zz{{{zzz{|{{{{{{{yzzz|zzz{z{{z|{|{zy{zzy{z{{{{|{{{{zzz{y{{|{{{{{zz{{{{zz{{{{z{{{zzyzyzzy{{|{|zzz{zz{zzzz{{{{{{{|zz{zzzz{z{{z{{{{{yzz{{{yzz{{z{{{z{zzzzzz{{{y{z{{{zzz{{zz{z||{{zzzzzzzzzy{{|{{{{{zz{zz{zzz{zz{{z{{{{z{zzz{|zzz|{{z{z{zzyzz{||{{|{{z{{z{{y{|z|z{z{{{{zz{{z|z{|z|{|z{{{zz{z{{{{{{{{{{z{z{z{z{{{z||{|z{{zz{z{{{{z{{{{{{zzzzy|}{{z||{{{{{z{{}|{{||||{{{{z{|{{|{{{||||z{{|{yz|{|{|{|||{z|{{z{||}|{|{{|{{{{{||{|{{{}{|{||{|{||{{||}{{||{{{{{{{z{{|||||||{{{{{{{{|{|{{|||{{{{{{|{{z|}{{||z{zz|{zz|{z{{|||{z{z{|z{{{{z{|{{{{zzz{y{{|{|{{{{{yzzz{z{|{{{{{|zzzz{zzzz|{{{{||{zz{{{zyzz{z|{{{{zz{zyzzzz{{zz{{{z{zz{zyzz|{{z{{zzzzzzz{zz{z{{|{z{zz{zzyzzzz{{{{zyzzz{zz{zzzz{|{z{zzzzz{{{{{|z{{{z{{y{yzy{{z{{{{yzzz{zzyz{z{{z{|{{z{zzzz{z{{zz{zzzzzyz{y{{{z||z|{{zzzzzyz{{z{z{{zyzz{{{z{{{z{{z{{{zz{z{z{{|{{z{|zz{z{y{y|{{{{|z{{{{{|zz{z{z|{|{|{zzzy{zz{|{{|z{{|{{{{z{{{{{{{|{{{{{{z{z|{|{{|{|{{{z|z{|{||{|{|||}{|{z{z{{|{|{||{|z|{{{z{|{{||{{|{{||z|{z|{|{||{|{z{{z{z{{}|{z{|{||{|z{{{{{||{|}{{z{{{z{|{{{{{|}}{{z{{|z{{{|{|{|}|{{zzzz{z||{{|{{{{{{z{y{z|{{{||{{z{zzy{z{{|{z|{{{zzzzzzzz{{z{{{{z{z{zzzy{{{{{||zz{zz{|yy{{{|}{{{{z{y{zzzz|{{z{|{{{{z{zzzzzz{{|zzzz{zzzzzzz{zz{{{zz|y{yzz{{zz{|{|{zzyzyzz{{{{{{z{z{zzzzzzz{{z|zz{zzz{zzz{z|{z|{{{zzzzzyzzz{z{{z|{{{{zzz{zzy{{zz{{{zz{{z{zz|z{z{{{{zzzy{zz{{{{{{{|{zz{zz{z{z{|{zz|zz|{{z{z{{{{{y|{zz{zz{{z{{|{{{{{|z|{|{{{{{{{{{||{{{{{y{z{|{{||{{{z{z{{{z{||z{||{{|{z{|{{{|{|{|}{z{zz{||{||{|z|{{{{{{z{{z{{||||}{|z{{{{zz{{|||||{{|z{|{{{{|||{{|}||{|{{{{z|}}{|||}z|{{z{z||{|{|{|{{{{{z{|{|{|||{|||{|z|zz|{|||{{|{{{z{{zz{{z|{|{{|{|{{{zz{{{{z{|z{zzzzz{z{{|{{||z{{yyzzzyy{z{{{{{{zzzyyy{zz{{|{{|{zyz{zzzz|z|{z{{{{zzzz{|{{{{{{{{{zzzzyzz{z{|z{{{z{{y{zzzz{zyz{{{z{{{zzz{{zz{{{{z{zzzzzxzzz{z{{z{z{{yzzzzz{{{z{zz{{zzyzz{{{z{|{|{zz{zzzy{{{z{zz|{{{z{{zzyyz{{z{{|z{zyzy{zz{{|z{z{zzzzz{zyz{{z{z|z{{zyzz{z|{|{z|{z{z{|zz{|{z{{z{z{{zz{{{|zz{z{{{|{{z{zzy{z{|{|{{{|zy{zzzz{{{{{{||{|{z{{z{{|z|{|z{{{z{{{{{||{|{|||{{{{zz{z|{{||||{||{{z{{{x|{|{{||z{z{{|{|z{}{{||}{|z{{{{{z|{{|{||{{{|{||{{z}|{{{|}|{{{|{{{{{}{{}{{|z{{zz|{{{{{|||||{{z{{{{|||{}{||{||z{|z{|||{||}{{z{z{{{z{z||{{{|{{{zzz{{z{{z{z{{{z{zy{z|{z{{{{{{{zzzzzzz{zzz{{z{zzzy{zzz{zz{{{}zyy{{zzzzz{{{{{|{zzyzy{|zz{{z{{{{y{{zz{yzz|{zy{|{yz|zzzz{{z|{z{{|zyyyz{zzzz{{|{{{z{zzz{zzz{zzz{|{{zzzzzz{z{z{{{{zzz{{{{zzyz{z{{|{zyzz{zzzz{zz{|{|zz{zzzyz{{{{|{{|{{{z{zz{{{{z{{{{{{zzz{{{{{{{z{{{zz{zzzz{{z|{{|{|z{{{z{{{|{{|{{{{{z{{zzzzz{|||{{z{{zzzzzz{{{{z{{{{zz{z{z{{|{{{{{{{{{{z{zz{|||||{|{|z{{{{{{|{}||||{z{{{z{z{{{|{||{|z{z{|{{||{{|}|||{z{z{|z{|{|||{||zz{z{{{{|||}||{|{{{{{z{}|{{{{|{|z{{||z{|{|z}{{{{|{z{{{{||{|{{|{|{{z{z{z{{{{{|}|{|{{z{{z{||zz{}z{{{{{z{z{{{|{{z{z{zzzzzyy|{z{{{{{zzz{zz{{{{{{{{{zz{yz{yzz{z{{|{{zz{z{yzzy{{{z{{{z{zzyzyz{{{z{{|{z{{{zzyzz{zz{{{{zzz{zzzz{zz{zzzz{|{zz{zy{{z{{{|zzzzy{yzz{{{{{|{|zzzzzz{zzz{{{z{{zzz{zzzzzz|{{|{{zzzzzzz{z{z{{|z{{{zzy{yzzzz{{{{z{{{y{{z{|{{{{{|{{zz{zzz{{{|{{z{zzy{{zzz{zz|{{{|{{z|z{z{{{{{{{{|{{z{zz{zz{|z{{|{|||{zzzzz{{|{|||{|zz|{{z{{{{{{|{{{{{{{{|z||{|{|||{{z{{{|z}|z|{{||{{{{{zz{z|{|{||||{{z{{{{{||{{|||{{{{{{||{||||{||{{{|{z||z}|{||}{|{{{{{z{{|||{|{{{{{{z{z|z{|z|||{{{{||zz|{{{{||}|{{z{|{{{|{{{{|{|{z{{{z{z{|zz|z|z{z{z{y{y{{{{{{z||{zz{zzz{{{{{{|zz{z{{zzz{{{{{{{|{zzyz{zz{{{|{{{{|z{z{zzz{{{{z{z||{{zzzzy{{{{{{{|zz{zz{{zz{{{{{{{zzzzz{z{{{{{z{{{zzzz{zzz{{{{{zz{zzyz{yzzzz{{{{|zzzzzzzy{{{{{{{{{zzzzyzzzz{{{z{|{zz{zzy{zy{{z{z{{|z{yzzzzyz{zz|y{zyzzz{zzz{{|z{|{|z{z{{z{z{{{y{z|zzyzyz{yz{{{z{|{z{zzzy{{{{{{|z{|{{zzzzzzz{z{{|zz|{{{{{zz{{{{|z|{{z{|z{{z{{|z{{|{zz{z{{{|{|{}||{|{{{{{{{|||{||{|{{zz{zz{{{|||{||||{z{|z{z{|{{{{|||{{{z||{{{}{|}||{z|{{{{{{||||{|||{{{|{z{|||}|}|||{|{{{{||{|{||||{{y{{|{{{||{{{|}{{|zz{{{{|{{{|||||{z{zzz{zz{z{{{{zzzzz{z{{|{{zz{{yzzzz{yyzz{z{{{zz{zzzyz{{z{{{{{zzzzzz{yzz{{zzzz{z{zz{zzzzz{z{{z{{zxzzyz{z{zz{{{zy{yzzzz{{zzz{z{{zzzzyzy{z{{z{{{{yyzzzyzy{{z{z{{yy{zzyzzzz{z|{z{zzzyyzzzzz{{|{|{{zz{yzyzz{z{z{z{yzzyzzzzy{{{{{z{zzzzzzzz{{zzzz{{yzzzzzzz{{z{{z|{{zzzzzzz{{{{{{|{zy{{{yzzz{z{{{{{zy{{{zzz{{{{{{{{{z{{{zzz|{{{|{|{z{{zzz{z{{z{|{z{{zz{zzz{|{{{|{{|z{{{{zz|{z{|{|{{z|{{{z{{{|{|{||{{{{{{{zz{{|{|||{{{z{{zz{{{{|{|||z{|z{{{z{{|{|||||{{zy{{z{|{{|||{{{{{zz{zz{{{||}|{{z{z{{{{{{z||{||zz{|{z|||{|{{||{{{z{z{z{{|{{{|{}{{z{zzz{|z|{{|{zz{zzzyz{zz{{{{{{{zzzzzyz{|{z|{{zzzzzyy{zz|{{{||zz{zyz{{{{{{{{|{zyz{{zy{z{{{zz|{{{zzzz{{{z{z{{{{yyzzz{zy{zy{{||z{yzyzyzz{zz{z{{{zyy{yyyzz{{{z{{{{z{zz{zzz{{{{{{{zzyyz{zy{{{z{{{{zzzzyzzzzz{zz{{|zyzzzyzz{z{yz{{{zzzyzzyzz{z|{|{{zzz{zzzz{z{{{{{{{zzzzz{{z|z{{{z{{{zzzzz{{{{z{z{{zzz{{zz{z{{{{{{|{z{{zz{z{{{{{{|{{z{{{z{{z{{z{{{{|{z{z{{{|{{{{{{{{{{z{z{{{{{|z{{{z{{{zz{{{{{|z||||z{{{{{{||||{|{||{z{zz{{{|||||{|{{{|{z{{{{{{{|{{{{{zz{{{{|{{{{{{|z{z{{{z|{||{}||{{{|{zz{{{{z{|||{{z{{zz{||z{{{|}{{{{{z{{z||{{|{|{{{{y{zz{|{{{{||z{{y{z{z{{{zzz{zzzzz{zzz{{{zz|{{{zz{zz{zz|z{|{{|zz{zz{zz{zz|{|{|{yzzyzyz{z{{{z{{yz{yz{{y{z{z{{z{yzzzzzzz{{{zz{{|{zzzzzyzzy|{z{zzzzzyyzz{{z{z{zz{zzzzzzzz{zz{z{z{yzyzzzyzz{{{{{{{{zzzz{zz{{{{zz{|zzzzzz{zzz{zy{z{{{z{{zzzz{z{z{{|yzzzzzyzzz{{{z{{zyzzyz{zzzz{{{{{{z{zzyzz{{{{{{{{{z{zz{yz{{{{{{{{{z{zzyz{z|{|{{{|{{{zzzz{z{{{{{{z{zzzzzz{|||{{{z{{{{z{{y{{|{|||||zzz{{z{||{||{|||{{{zz{z{{{||{{|{|{zzz{{z{}{|{||}{z{z{z{z||{{{{{|{z{{{{zz|{{{|||{|{|{{z{{|{{|{|||{{z{{{zz{{z|||{{|zz|{zz{{{{|}|||zz{z{{{z{{z{{{||{{{z{{{z{{|{|{{{{z{zzz{{{z{{{{{{{{zz{{{yz{{{z{z{z{{z{z{zzz{{z|{{{{yzzzyz{{z{{||{zzz{zzz{{z{{{z{{{{zzzzzyz{{|z{{{{zzzzzzyzz{z{{{{zzz{{zzzzz{z{{{z{z{zz{zzzz{{{{{{zyzzzyyz{{{{||zz{zyzy{yzzz{zz{z{zz|zzzzzzzz{{z{{zz{yzzzyz{{{{{||{zzzz{zzzz{{z{{{zyzzz{{z{{|{{z{{{{zzzz{z{{{z{{{{zyyz{z{{z{|{{{|{{z{zz{{z{{{{|{{{{zzzz{zz{||{{{{|{{{z{y{y{{|{|{{{|{z{{{zz|{{{|||||{{z{|{{||||}|||{{{{{|{{|||||{||{{z{{{yz{{||||{{|{z{{zz{||{|||}{|{{|z|z{|{{|||{||{{{{z{{{}{|||}|{z{{{{{{|||{||{{|zz{{|y{z|||||||{|{z{{{||{|{{{{}{|zz{|zz{{|{|{||{{{{zzz{{{|{{{{{zz{{zzy{||z{||{{zzzzzyzzz{{z{{|{{zzzyz{z{{{|{z{|{{zz{z{zz{|{{{|z|{zzzzzzz{|{{{{{{zzzy{zz{{{{|zz|{zy{zzzz{{z{z{{zz{zz{yzz{z{zz{z{zzyzzzz{{z{{{zzzzz{y{zz{z{z{z{{|zz{{z{yx{{zzzz{{{zzzyzzzzz{{zz{{{zy{zz{zz{{{z|z|z{{{zyy{zz{{z|zzzz{z{{zz{{{{{||{{zzz{zzzz{{{z{z{zzz{{zzz{{zz{{||{{{{{{zy||{{|{{{zzzz{zz{z|{|{{|{{zz{{z{{{||{{{{|{{{z{{{{{{{|{|{|{{{{{z{z{|{|{{{{zz{||{{{||{||||{{{{zzzz{z||||||{}{{{{|{{|{|{||||||}zz||{{{{{||||}{{|{{|{{}{||{{{|{{{z{{|{{|||||||z{z{|{z{{{|||||{{{{{|z{|{z{{|||{|{z|z{{z{{{||||z{z{z{{{{|{{{|{{|{{{{yz{{z{{{{{{zzyzzyzy{{|{{{{{{zzzyz{z{{z{|z|{|zzzzz{zz{{{{{|{{z{z{zz{z{{zz{{{zyzzzzzz|z|{{{z{{zzzzzzy{{{{z{{{z{{{{{zz{zzzz{zzzzzzzzzzz{{{{|{{{zzzyyzz{{{{z{{{{zyyzzzzz{|zz{{{z{zzzyzz{{{{{{|{z{{zzzzz{{{z{zz{z{zzzy|z{{{{z|z{zz{z{zyzz{{zz{|{{z{{zz{z{{{z{{z|zz{{zz{{|{z{z||{zz{zzzz|z{|{{{{|{z{z{yzz|{{{{{|{{{z{zzzzz{|{{||{{{zyz{z{{{{{{|z||{z{z{{{{{{{|}|{z|{{{{|{{||||{|||{{{z|z||{||{{|||{{|{zz{|||{||||{z{|{|{||{{z|{|||{z||{{{z}|{z|{|{z{{{{{{|||{||{|{{z{{{z{|{{{|{||{zz{{|z|{{{||||||{{z{zz{{{||{{|||{{{zzz{|{{|{{|{{|{zzzzz{{||{|{{{zzyzz{{{z{{z|{{zz{z{{yzz{{{{{z|zz{yz{zz{{{{{{{{zzzyzz{y{{z{{{{|{z{zy{zyzy{{z{|{z{zzz{yzy{{zzz{{zzzzzyyzz{{{z{zzz{zyyyzyzzy{{{z{{zzyzy{{z{{zzz{zzyzz{zzzzz{zz{{zzzzzzzzyzz{zz{|{yzz{zy{yz{zz{{z|z{yzzyz{z{zz{{{{{z{zz{zy{|{{z{|{z{zz{zzz{z{{{|{|zzz{{z{{{{||{{{|z{{z{{{zz{{z{{{{zz{|{z{zz{{{{{{|{z{z{zz{{z{{}{{{{y{z{z{{{|{{{{zz{{z{zzz{{||}||{{{{{{{z|{{|{|{{{{{{z|{{zz|{|{{|{{{z{{{|{{|{{{||}|{z{{{{{{{||{{|||{z{{{{z{{{{{{|||{z{{zzz{{{}{{{z||{{{{{{{|||{{{{|{zz{|z|{{{{{||{}{{{z{{{{{|{|{}|||{zz{z{z{{{|||{{{{{{z{zz{||{{{z{{zy{zzzzz{{z{z{{z{zzzzzzzz{{{|z{{zz{zzzy{z{{{|{{{{{zyzyyz{{z{z{|{zzzzzzy{{y{zzz|z{zz{yzzz{|y{z{{{yyzyzyzzz{z{{{zzzzzzzzz{{zzz{{{zzz{zzyyyzzzz{{zzzy{yzzzz{{z{z|{{z{zzzzzz{z{z{{zzzz{zzzzy{{zz{{{zzzzzyzzz{{|{{{|zz{zyyzzz{{}{{|{z{z{{z{yz{{{z{z{{y{{z{{z{{{{{z{|z{zzyzzzz{{{{{{{{y{y{{z{{{|{z{{{{{zzzzzz{{|{zz{{{zz{z{z{{{{{z{{|{{z{{z{|{{{{{{{{{z{{|{{{|||{z{||zz{{{yzz{}||{{}{|{z{z{{|{|||{}|{{{{{z{{||{{{{{|||{{{{|{{||{{||||{z|{zzz{||{{z||{zzz{z{{{{|{{z|||}|z{{{z{|{|{||z{{z{zzzzz{z{{{{|||{{zz{zz{||{z||||{{yz{{z{{{{|{z{yzzzzzzz{{{{{{{z{zzz{yzzz{{{{{z{{{zzzzzz{{{z{{{z{z{zzz{z{z{{z{|{zy{zzz{z{z{{z{{{zzzz{{zyz{{z{{{{{yz{z{zzzzzzz{z{{yzzyzzzzzyzzz{{zyzzyyzyz|{{zyzzzzzzyz{{zz|zz{{{zyzzyyzz{zz{z{{{{zzzzzzzzz{zz{{|zy{y{zzyz{zyz{{{zzyz{zzz{{zzz{|{{{zz{z{zz{zz{{{|{z{z{z{z{{z{|{{|zzz{zzzyzz{|{{|{{{{yzyz{{{{{{{z{zzz{z{zz|{{|{{{|{{z{z{z{|{{|{{z|{|z{{{|{{|||{||{zz{{|z{z{||||{{{|{{{{zz|z||{{|||{{{{{{z{{}{|{||{{{zz{{{{|{|{|{|z|{{{{{{{|||{|||{{{|{|z{{{||||||{{{{z|{{{|{{{{{}{{{z|z|{z||{{||}{|{zzz{zz{z{|{{}|{{{zz{|z{{{||{{{{zzzzzyz{{{{{zzz{zzyzzzzzz{{zz{{zzzzyzzz{z{{y{zzzzzzzzzz{zzz{{zzzz{{zzzzz{{zz{{{zzzyyz{y{yy{{zz{z{{zzyzxz{|{{{z{zzzzzyyz{{z{zz{{yz{zyyyzzzzzz{{{zyzy{zz{{{zzz{{zzzyzyzzz{z{{z{{{zz{zyzz{{zzzzz{{zzyyzzyzz{zzy{z{{z{zzyzzyzyzz{{zzzyyyzzx{{z{{{{{{z{{yzzzz|zzz{z{zz{z{yy{|{z{{{||zzz{z{zzz{{z{{|{z{z{{zzz{{{z{{||{{zy{z{{z{zz{{|z{z{{z{{z{z{{{{{{yz{{z{{z{||{{||{{{z{{{{{}|z{z{||{z{{{z{{|{||||{{||{{{{{{|{|||{|||z{{z{{{z{{z{{|{|{{{z{{|{}||{{|||{{{y{{|||{|||{|{{{zz{{{{{{{||z|{{z{{{{z{{{{{{|{{{{y|z{{{{|{{{{{{z{{{z{z{{{{{{{zzz{{zzzy{z{{|zy{zzzz{zzyz{zz{{zz{{z{zzzy{{{{z{|{{{zz{zzzzz{zzz{{zzy{yyzz{{{{{{|{{zzyyyzzzz{z{{|{y{zyzyzz{{zzz{{zzzzzzzyz{{{zz{z{zzyz{{yyzyz{zzz{zy{zyyzz{{zzz{z{zyy|xzzzz{{{{{{{zz{zz{yz{{{z{z{{zzzzzyzyz{z{zzzz{zy{zyzzz{{{zz{{zyzzz{z{z|{{{{{{zzz{zzzzz|z{|{{{{z{zyyzy{zz|z{|{{{zzzzzzz{{zz{{{z{{zzy|{yz|{z{{{zz|{zzzz|{zz{z||z{{{zz{z{{{{{{{z{{|zzz{{{{||{|{||{{{z{z{{{{{|||}{z{{{zyzz{||{{{{zz{{{{{z{|{{{}}}{z{z{{{{{|{{{|{{|{{{{{{|{|{{{|||{{{{{{{{|{|{|{{{{z{{|z{{{||{|{{|||{{|z{{{{z{{{{||{zyz{z{{{{{{{|{|zzz{z{{{||{{{{{zz{zzyzz{{z|z{zzy{yzzzyzzz{{{{{z{zzzzyzy{{{{z|{{{zzz{zzy{{{z{{z{zz{z{yzz{{{zz{zz{zzzyz{zzzz{{{z{z{zzz{zy{{zzz{|zzzz{{yzzz{{zz{zzzzyzyzzy{zzzz{z{zyyzzzyzyzzzz{{z{y{yzzzzz{{z{{zzy{{{zzzyz{z{{{||zzzyzzzz{zzz{{z{{zzzzzzzzz{zz||{zz{yzz{zz{{z{{{zzzzyzzzyzzzz{z{{z{{zzzzzz{z||{{{z{{z{zzyz|{{|{{{{zzz{{{z|{{|{{{|zzz{{{zz{{|{{{|{zzz{zyyy{z{{||{||{{{{{zzz{{{|{{|{{{z{zzz{{{{|{|}}{{{{{z{{}{|{{|||z{{zz{{{||{{|}{zz{{{{{{z{{{{|{||z{{{z{{{|{|{{}{||||{z{{{|||||{||z{z{{{{{||{||||{{|{{zz{{{{{{{|{{{z{{{zz{{{{{||z{z{z{z{|{||{{{|z{z{zzzzz{{{{|{{zzzzzzyzzz{yz{{{{zzzyzyzz{{{z{z{{|{{yzzyz{{{{{{|{{{zy{zyz{{{{zz{{zzzzzzzz{{{zz{z|zzzz{zyzzzzz{z{zzzzzyyzz{y{{{zzzyzzzzzy{{{{{zz{{zzzzzyz{{{{{{{{{yzz{yxzzz{z{z{z{{zzzyz{yzzzzz{{{zzyy{zzy{y{{{zzzz{zyyz{{y{{z{{|{zy{{z{z{z{z{z{{{{zzzz{zzzz{|{{{z{{{{zy{z|{{|{{{{{z{{yzz{{|{{{{{{z{z{{yzz|{{{|{z|z{{zzzzz{{{{{{{{z{{zzzz{{{{{{{{{{zz{z{z{{|{{|||{z{z{zz{z{z{|{{{|{{z|{zzz{|||z{|{|zz{{{{{||{|{{||z{z{{{{{|{|||{{{{{{zz{{{{|{||{|||z{{{yz{{|{{|||||{{{z{z{{|{z{|{{{{zz|z{{{{{{||{|z{{z{z{{{{|{{{|z{{{{z{zz{|{{{{{{{z{zzz{y{{|{{{{{zyy{z{zzz{zyz{z{zzzzzzzz{z|y{{z{{zzxzzxz{{{z{{{{zy{zyzz|{{{zz{||{zzzzy{y{{{{zz{{zyzz{{yyzz{z{|z{z{zzzzzz|{{zz{{zzy{zyzz{{zz{z{{{zzzzzzyzz{z{z{{zzyzyzzz{zzzz{{{z{z{zzzzy{{{{z{{{{yzz{yzzy{{z{{{{{yzz{zzzz{{{{|{zyzzzzzzy{{z{z{|{zzzz{z{{{zz{{{|}z{|{zzzzz{{zz|{{yz{y{zyzz{{{||{{{zz{{z{zz|z{{||{{z{{{{zz{|{z{z{zz{zzzz{{|{{{z{|{{{{z{{{{{{{{{{{{{{{z{|zz||{|z||||z|zz{{z{{|{{{|}{{{zz{z{{|{{{||{{{{{{{{{{|{{{|{{|{{{{z|{{{}|{{|||z{{{{{{{z{||{{{{{{{{z{{{{|{|{|}{z{{{{{{|{{|||||y{{zzz{{{{{{{{{|{{z{{{{{{||z{{||{zz{{z{y{{|z{{{zzzzzzzzz{{{z{z{{{zzz{zzzz{{{|{{{{z{zzzz{zz{{{|{{{{zz{{zzzz{{{z|{zz{y{z{yz{{z{|{z{{zz{{zzz{{{z{{{zzy{yzzzz{{{z{zzzzzz{zzz{z{z{z{zyzzz{zzz{z|{{{z{z{z{{{z{{z|{{{{zzzzzz{yzz{zz|z{z{zzzzzzzzzz{{{{{{zyzzzz{z{{{{{{{y{{zz{{{{{{zz|{{z{zy{{zz{||zz{||{z{zzz{{{z{|{|{{{y{z{{{{|{{{{|{|{z{zzz{z{|{{z|{|{zzz{{zz||{{|{{{|z{{zzzz{{{|{||{{{z{{{z{||{{||||z{{zyz{{{{{|||||{{zzzz{{{||{{{|{{z{z{{{{{{|{|{}|{{z{{z|{{|{{{|{{}{{{{{{{{||||{{|{z{|{{{{{{|||||||{zz||{{{||{{{||{{zz|{z{|{|}{}{|{{z{{z{zz{{{|{||{{{{z{{z{{{|{{||{{{y{zz{{{{z{{z{zzyzzyzyz{{{{{{{z{zyzyz{{{|z{{{{{zyzyyzzzz{{{{{{zzzyz{zz{zz|zz{{yzzyzzzzzz{z{{{zzzzz{{zz{{{zyzz{{z{zzzzz{z|zz{zzyyzzzyyy{zyzzz{{zzzzzz{zz{{zzz{z{zyzyzzz{z{|{{{{{yz{z{yzy{|{{{{|zzzzzzyzz{{{z{{{z{zyzzzyz{{y{{|{{y{zzzzz{{{{{{{{{zzzzzyzz{z{zz{{{yzzyzz{z{{z{{{{{{{zzz{{z{{{z{|{zzzz{z{{z{z{{|||zzzz{{zz||{|{{{|{{zzz{{y{{|{{z{{{{{z{|{z{{{|{{{|{{{z{{{{|{{{{||{{zz{{zzz{{|||{{{{z{{{z|y{|{|||{|{z{|{{{{z|{z||}{|{{{{{{{{|{{{|||{{||z{{z|{{{{|{|{zz{|zz|{{{{|{{}|{{{zzz|||z{{{{{|{{z{{|z{|{{{{|{{{z{y{{{{{{{z{||z{zz|zzz{{|{{z{{{zyzzzzyz{{z{{||{zzyyzy{zz|{|z{{z{z{{z{z{{{{{}{{{y{zzyz{zz|{{{z{z{zzyyzz{zz{{{{{zz{y{yzz{{{{{|{{zzzyy{z{{y{{{z{{zyzzz{zzz{{{zzz|zzz{zz{z{{{zz|{{{yy{yzzzzz{{{{{zzy{zz{z{z{|{{z{zz{y{zy{zz|{{{{{zz{zyzzzzz{z{{{zzzzz{zzzz{{{{zz|{zyz{z{zzz{z{z|||z{zzzy{|z{{zzz{{z{zzzzz{z{{{z{||zz{{zyzz{{|{{{{{z{{zy{zz{{|{{{{|{zzz{{z{{|{{{||}|z|{|{{z{{{|{|||{|{{{{{{}{{||{||{z|{zz{{{|{|{||{|z{{z{{{{|{{|{||{{{{z{z||{z|{|{{|{{{{{z{||||{{||{|z{{zz{|{|{|||||z{z{{{|}{{{||||{{y{{{{z{||{{{{|{{{z{{{zz|{|{|||{z|{z{zz|{|{{{{|{{{zzzyz{{{|z{|{z{zz{|yz{{{{{z|{zz{z{yyz{z{{{{{{{{z{z{zz{z{{z{|z{zzzyyzz{yzz{{{|{{z{zzyzy{{{{{{{zzzz{zzy{{{z{{{z{z{{zyzy{{{zzz{zzzzyzzzzzzz{{zzzzzyzzyyy{z{{z{{{zz{zzzzzzy{{||z{{z{zzzzz{{{z|{z{{z{z{zyz{z{z{z{z{{yyzy{yzzzz{{z|zz{y{zzy|{zz{{{{{zzz{y{z{|{{{{zz{zzzzz{z{{{{{|{|zz{{z{z{{{{{zz{|zz{zzyzz{z{{{{z{{y{{zz{{{{{z|{{{|zzz{zz{{{{{{z|{{{{zz{{y{{|||{{|{{{{{{z{{z{}{|{|{{{|{z{{{|{||{||{{z{{{{z|}|||{||{z{{{{|{{|||{{|{{|zz{{{{{||}|z|{|{{{zz|z|||{|||{|{zz|{z{{{{|}||||{y{|{z{{{{|{{||{{{yzz{{{{|{|||{z{{zzzz{{{{{z{{{zzz{zzzz{|{{z{{z{{zzzz{xz|{z|z{{zzzyyzzzzz{{z{|{{{zzz{zzyz{z|{{zzyz{{zy{zz{{{{{|{yzyyzzxz{{z{|z{zzyzzzzzz{{zz{{|{zzyzyy{zz{zzzz{zzz{yyzz{|z{zz{{z{yzzzzyzzzzzzzz{zzzyzzzzzzzz{z{{z{zzyyzz{{{z{|z{y{z{y{yzz{{{z{{{{{zzzzz{{z{{{{{yzzzzzzzz{{z{{{zz{zzzz{z{z{zz{{{{zzzyyyz{{{|{{{{zzzzzzzzz{{{z{|||{{{{zzzz{{{|||z{z{zz{zz{|{{{||{{z{{zzz{z{{z|{}{{{zzz{{z{{{{|{{|{{z|{{{z{{|{z{}{{{z|{zz|z{|{z{|{|{{{zzyz|{|{{|{{{{{{{|{{z{|{|}|{{{z{{|z{{||||z|}{{|{{{z{|{{{{{|{z{z{{zz|{{{z|z{{|z{{z{{{{{|{{{|{|{{z{{z{{{z{|||{|{{zzz{zz|{|{z{{z{zyzzz{||z{{{z{zz{zzzyzyz{z{y|{|yzzyzyyzz{{{z{{{zyyzyzz{zzz|z{{{zzz{zzyzz{{zz{z{z{zzyzyz{z{z{z{zz{yzzzz{{zzzz{zzzzy{zy{z{{zz{{{zzzzyzzz{yz{z{{zzzzzzy{yzzyzz{{zzy{zzyyz{{{zzz{zzy{zzzyxz{z|{{{zzzyzzyzzz{zz{{|zyzzzzyzyz{zz{{z{zzyyzzzyz{{z{z{{zzzzzz{y{z{{{{{{{zzzzyzzzz{zz{{|z{zzzzzzz{|z{z{{zzz{{z{{z{z{{|{{zy{{{zyy{{|{{{{{zyzzzzz{z{|{{{{{{z{{|zzzz{||{z{|z{{z{{zzz{{|{{{|{{zzz{zz{{|{|{|{{zz{z{z{z||z{||{{{{z{||{{|{||||{{z{{{{z{|{{{{|{|{z{|{|z{{{{|{{|{|{zz{zz{{{{{z{||{|zz|{{{{{z|{{||{zzyzzzzy|{||{|{|zz{zz{{{||{{{|{zzz{zyzzzz|{z{{{zzzzyzzzz{{{zz{z{zzzyyzzzzyz{{{{{yzzzzzyzzzzz{{zzyz{{yyyz{{zzz{|zzzzxyyyzzz{z{z|z{zzzzzzy{zy{{zz{yzzzyzzzy{yzzzzzzzzyyzzz{z{zyz{zzyzzzz{z{{{zz{{{yyyzzyzzz{z{zz{zzyzzyzzyzzz{{|{zzzyzyyzyzzyzzz{zzzzzzzzzz{zz{zzyzz{zyzz{{yzz{{{zzzzzy{z{z|zz{{{yzzzyz{{{z{{z{{{z{{zzz{{{{z{z|{z{z{{{zzz{{{{{{|z{z{zy{z{{{{{z{z{z{{{z{z{{|{{{{{z{zz{{{z{|{{{{|{|zzz{{{{z{|{{||{|{zzzz{zz{|{{{|{{{zz{{zzz||{{{{|z{z|{{|z{{|{{{||{{{z{z{{{{||{{||{|z{{{z{z||||{{|{{zyz{{{z{{{z{|{|zy{z{zz{{{{{|{{|{{{z{zzzz{{{{{{{{{zzyzzz{||{{|z{{yzyzzyzz{{zz{{z{z{z{{zy{z{{zz{{zzyzzyzyz{z{{{{z{zzzz{zzzzz{{{{{yy{zzzyzz{{{{{{{{z{zyyzzz{{{zz{{zzzyyzzy{{z{z{{{zzzyzyzzz{{{yz{zzzzzzzzzzzzzz{zzyyyzzyzzzz{z{{{{{zzyzxyzzzzz{{{{z{{zzz{zz{zz{z{|zzzzzyzzzz{z{z{{{zzyzzzzzz{zz{{{zzzzzzzzzzzzyz|{{{yz{zzyzy{zzz{|zz{zzz{z{|{z{{{{{z{zzzzz{z{{{{{|{yzz{z{zz{{|||zzzz{zzyy{zz{{{z|{{z{zz{z{{||{{{z|zz{|{{{{{{|{|||zz{zz{z{{{{{{{|z|{{{{zz{z{}|{|{{{{{z{{{zz{||{|||}{{{{{{{{{{{z{{{{{z{z{{{z{||{z{|||zz|zz{z{{|{{{||{zz{z{{|{{{{|{|}z{zz{|{zz|{|{||{z{|{|{zz{|{{|{{{{{zzzz{z{||{{z|{zz|xzzzzz{z{{{{z{|zzzzz{z{|{{zz{zzzzzzzzz|zz{|z|z{zzzzz{{{{{{{{{{z{zz{zzz{{{yz{{{yzz{{zyz{{{{{{{zy{zzzzyzz{zzz{zzz{y{zzzz{|zz{z{{{zyzzzz{z{{zz{zyzyzzyz{{{{z{{{{zzzzzyzyzzz{z{|z{z{zz{{zz{{{z{{{zzzzzzzzz{{{z{{{{zzyzzzzz{{{{{{z{z{yzzzzz{{{{z{{{z{zzzzz{{{{z{{z{{{{zzzz{zz{{{{|z{zzzz{zz||{z{zz{zz{z{{zz{{|{{|{{{z|{{{{{{||{{|{|{|{yz{{{|{{{|{{zzz{z{z{|{{{|{{|{||z{z{||{{{|{{|{z{{zz{{{{{||{|{{z{{zz{z}|{||}{{{{|zzz{{z{||{|}{{{zzz{{{{|{|{}|}{z{|z{{{|||{{{{{{z{z{{z{{z{{}{|||{|{zzz||{{|{|||{{{zz{{{|{{||{||{zz{z{{{z|z|z|{{{z{zzz|{{z|z{{{{zz{zzzzyz{{z{{{{zzyzyzyyz{z{zz{{z{zzz{zzz{z{z{{{{zzz{yzzzz{{{{{zz{{zzzzz|z{yz{zzyzzzyz{yz{zz{||zzzzzzzzz{{{{{{{zzzzzzzyzzzz{z{zzzzzyzyzy{|zzzy|{{zzzzzy{{z{{{z{zzz{zyzyzzzzz{{|{zzzzzzzyzzz{z{{{zzzzzzzz{{{zz{z{{yyzz{zz{zz{{{{|zzzzzz{zz{{z{{{{zz{z{z{{{z{{{||{{|zyyz{z{{{|z{|zzz{z{zzzz|{{z{{{{{{{zzz{{{{{z{|{z{{zzzzz{{{{z|z{z{{z{z{{|{|{||{|z{{z{{|y||z{{|||zz{|{{zzz{|{z|{{{zzz{|{zz||}|{|{{{{{{{{{{{{{{{|{}{{z{{{z{|||{{|||{|{z{{z}{{|z|{{}{|{zz{{zz{|{{{|z{{{{{z{{{{{||{{{{{z{|zz{{{{{||||{{{zzzz{||{{{{|zz{{zzzzz{{{zz{|{zzzyzyzzz|{{zz{{{zzy{zz{{{{{{{{{{zyz{z{z{z{{{{{{{{zzzz{z|{{{z{{{{z{z{{z{{zz{{{{{zz{{yzzz{z{z{{z{{{{{yzz{{zzz{{zzzyzy{yyz{z{{{{zzzz{{zyzz{{|{{{zyzzzz{z|{z{{{{{zzzzzz{{{{{z|{{||zyz{z{yzz{{z{{{{{zzz{zzz{z{|z{{{z{zz{|zyz{z{z{{{{z{{z{{z{z{zz{|{z{{{zzzzz{zz{{|{z{|{{zz{z{{{z{{|{|{z{y{z{zz|{|{z{zzz{zz{{{|{{z{{{{{|{{z{{|{z{{z|z{{{{zzz{{||||{|z{{{{{{{|||{|{}}{{{{{{{{|||{}{|||z{{||{{}{|{{|{|{{{{{{{{|{|{|{||||{{{|{{{|{{||{|{{{{zzz{{{|||}{{{{{{{{{{{{||||||{|{{|{y|z|{|{{{{|{{{{{{{{{{{{{|{}zz{zz|zz|||z|}{{z{z{z{z{{{{z{zz{zzzzyyzz{zzzz{{{{zzzyzz{{z{z{{{zzzzyzzz{{{|{{{{{z{zzzyyzzzzzz{{zzyyyzz{{z|zz{z{zyzz{zzzzzzyz{|zzy{zyz{zzz{yz{{{{yzzyzyzz{{{z{z|zzzyz{zzzz{z{z{zzyzzyyyzzzzz|z{zz{{zyzzzz{{{z{||{{zzzyzzzzzzzz{|z{yzyzzzy{{zz|z{z{{y{z|z{{|{zz{{zzzzzzzzzz{{{{{zzzz{zz{{{zzz{{{|{{zxz{zz{{|{{{{{zzzz|z{z{|z{{{{{{zzyz{z{{{{{{{|{z{z{z{{z{{|{{|{{{{zz{{zz{{|||{{{z{|{{{z{{{{z|||{{{{{zz{{|{{{|{}{{zz|{{{{||{|{{}|zz{zz{|z|||{{{{|{zz{{z{{{{z{{{|{{z{||{{{|{{|{|{{{z{{{zzz|{|||||||{{{{{z{{{{|||{{z{|{z{zzz{z|{|||{{{zz{zzz{z{{|||{zzzzzzzz{{{{z{{zyzyzz{zy{{z|zz{z{yzyyzz{zz{{{{zzzyy{zzyzz{zz{{{zz{zyzzzzz{|zz|z{zzyyzyxz{{{{{z{zzyzxyyyz|zzz|{{{yzyzzyyz{zzz|{{zyzyyyzy{zz{zzzz{yy{zzyzzzzzzz{y{y{zyyyzzzzz{{{z{zzzy{yy{{z{zz{zzyzz{yzyzzzzy|zz|{zz{zzyz{zzz|{zyzzzz{{y{{{{z|{{{{zz{zzzz{zz|z{{zzz{yyzyz{zzz{{{z{zzzyzyz{{z{z|{zzyz{zz{{|{{||z{{{zz{{zzz{{{{||{{zyz{z{zz{|{z{{{zz{{{|{{{{{z{{||z{zzz{{{zz{{||{{{|z{z{zyzz{{z||{{zzz{|{{||{{{{{{{zz{z{{{{{z{{{|{{{{{{{{zz|zz{|}|{z{{zzz{|{|{{|{|{|zz{{{{{{{z||{|{{{zz{{|z{{z{||{{zzzzyzz{{|{||{{{{|z{zzz{{{|{{|{{z{z{{{yz{{z{zzzzy{yzzzzz{zz{{z{{z{zyyzyz{zz{{z{zyzzzzyzzzzz|{zzzzzyzyyyyzzzz{z{zzzzxzyxzy{z{{{{z{zyyyyzzy{zz{zzzyzzzyy{{{zzy{yzyzzyyyyzzzz{zzyzzyzzyyyz{zy{zzzyzyyzzyyzzzzy{{{zzzzzzzzyzzzzyz{zyyzyzyyzzzzzz{y{zyzzzzyyyz{yyz{zzzzzzz{yzzzz{zz{zzzzzy{y{zz{z{zzzzzyz{{z{zzy{zz{zyzzyzzz|{z{zz{{{yzzzz{y{z{zz{|{zy{yyzzz{z{{z{{{zzyzzzzz{zz{y{z{z{zyzzzz{{||zzz{z{{zzzzz{z{{|{{{zz{zzzzz{{{{{{|z{zyy{y{z{{|{{{||zy{{z{z{z{{{{{{|{z{{z{zz{{{|{|{{{{z{{{{z{{{{{{{{{zzzzzz{z|zz{{z{|{yz{{{{{|{z{{|{zz{zzzzzz{|{{zz{z{zzzzzz{{{zz{|{zzzzzzzx{z|zz{y{{yyyzyzyz{zzz{z{{zzzzyzzyzzz{{zzzzzyzzzyz{{z{z{zzzz{yyzzzzz{yzz{{zzyzyzzzz{{{zz{zzzy{zyzzz{zy{{yyzzyzyyyzyzzzzz{yzyzyzyyzy{zz{zzzzyyzzzyz{zzz{z{zyyzyzzzzy{zz{zz{z{yzyyzzzz{zz{{{zzyyzyyyzzyz{{zzzzyyyzxyz{yyzzzzzzyyzxyz{zz{z{zzzzzzyzzz{zzz{{{zzzzzz{z{zzz{z{{yzzzzzzyz{z{zz{{zz{z{yzzz{zzz{zzzzzzzz{y{z{{zz{z{zzzyzzzz{{{zz{{z{{{z{zz|{{{z{{{zzzzzyz{z{z|z{||yzz{zyz{{{{z{{{{{zzzzzz{{{{z||{{{{zzzz{{{{{z{|{{|zzz{|{{z}{{{||{z|{{yz{{{{{z{{|z{{z{{z{{{{{{{{z{{zz{{zzz|{{|{{|{zzzz{y{z{z{{z||{{zzzzzzzzzz{{{z{zz{yz{zzz{z{zz{zzzz{yz{yz{{{zzzz{zyzzyyyzzzz{zz{zzzzz{{yzzzzzz{z{zz{zyzzz{{|zz{|zzzyyyzyzzzzy{z{zyzzzyyzz{{{zzz{{z{yyyzzzz{zzy{zzzz{zzyyyzy|{z{|y{yyyyyyyz{{zz{zzzzzzzxxzzzz{{z{zzzzzzzz{{zzzz{{zyz{yyzzzzzz{{y{zzyy{y{yz{zzz{zz{zzzzzzz{zzz{{{{zyzzzzzz{{zzz{{{zzzzzyzy{{z{{{{zzzz{zyzz{{{{{{{{zzzzzyyz{{z{z{{{{z{y{y{z{z{z{z{{zzzyz{z{zz{{{{{{{zz{z{z{z{{|z{|{{zz{{{zz{{{{{|z{z{z{{{yz{{{{{|{z{z{{{zzz{{{{{{|{z{zz{{{{zz{z|{{|{{y{{{zz{|{|{}z|z{{zz{zz{z{{{{{||{zzzzzz{|{|{{{{{{z{{z{{{z{{{z{||{{zzzz{z{{{{{|{{{{zzyz{{{z{{z{|{zzzz{zz{{{{z{{zzzzyzzzy{zzzz{{zzyzzzyzzy{z{{{z{zzyyzyzyzzz{yz{{zzzzyz{zz{zzzz{{zzzyzyzxzzzzzzz{yyzyyyyxz{zzz{{z{zzxyzzyzzzzzzyzzzyyyzyyzy{z{zzzzyxzzyzyzzz{{zzzzzzyyyzzyz{zzzzyzzzzxzyyzz{{yz{zyyzzxyyyzzzzz{{z{zyzyzzyy{zz{zz|zyz{zyyxzzz{zz{z{zzz{y{zyzyzz{{{zz{zzzzxzzzzzz{{zz{zyzzzz{{zz|{{{zyyzy{yz{zzzz{zzzzzzzyz{|z{{{{{{zzzzz{zz{{zzz{{z{{z{yz{zz{{{|{{zzyz{z{z{{z|z{||{{zzzzzyz{{z{{||zzzzzzzzz{{{|||z{z{{y{z{{{{|{|{{{zz{z{zyz{z{z|||zz{|{z{{{{{{{{{|{zzz{yz{{z{{z{zz{{zy{zzy|{{||{zzzzzy{{yzz{{{{{{{{zyzzyzyz{{z{{|{zzzzyzzzz{zz{z{{yyyyzzzyyzz{z{z{zzzyzzyzzz{{z{z{yzzyyyyzz{{zz{zzzzz{zyyzyzy{zz{z{yzyyyyyz{{{{{zzzzzyzzzzzzyzzz{zzzyyxyyyzz{zzzyzzyyzyzzy{zzz{zy{yzyyzzzyyzzzzzzzyyzzzyx{zzz{z{{{zyyyzyzzyz{zz{{{yyzyzyzyz{{zz{zzy{yzyyzzzzzzz{z|zyzzzzyz{{{z{yz{yyzz{yzzz{zzz{zzzz{z{zzyz{|{zz{{zz{y{zzz{z{zz{{{z{z|zyzzzz{zzzz{zyzzzyzzz{{{z{|{{yzz{z{{{{{{z{zz{zzzz{{z{z{{{{z{zz{y{{{z{|z{{{{{zzzzzzzz{z{z{{{{{z{zzy{z|z{{{|||z{{zz{{{z{{{{|{{zzz{z{zzz{||{{{{zzzz{{{{{{|{z{{{|zz{zzzzz{z{{{{{{{zz{zzz{{{z{{{{{{{yzzzz{{{z{|z{{z{zzz{yz{zzz{{zzzy{zzzzy{zz{|zzzyxz{zzzzz|{zzz{zzzzzyzyz{zz{{{{zzzyzzy{{yzzzz{zzy{yzzyzzz{{z{zz{{yyzyzyz{zzz{z|zzyyzzzz{zzzyz{zzzzyzzzzyzzyy{zzzzzyzzzzzzz{zzzzzy{yyyyzzz{zz{z{y{zzyyyyz{z{z|{{zzyyyyyzz{zz{zzz{yzzz{zyzzzzz{{zzz{zyzyzz|yzz{{{{zz{zyzz{{{zz{{{{zzz{y{z{{z{{z{z{zzz{zz{{z{{{{{{{zzz{zyzz{yz{z{{zzzz{yzz{z{{z{{{zyzzzzzzz{{z{{|{{{yz{{yzz{{{{{{zz{{zzzzzz{{}{|{zz{{z{{{z{{||z{{{{{z{zzz{{{{{{|z{{{zz{z{{{{|{{{{{z{{{zz{{{{{|{|{{|{{{z{zzz||{{{{{|{{|zzz{|||{z|{{zz{zz{zz{{{{|{|||{{zz{{zz{{{z{{{{z{yzzz{zz{||{||{{zzzzzz{zzz{{{zy{{zzyzy{z{z{{{yyyzzzyxyz{zzzzzzyyzyzzyzz{{zz{{{yyyyyzyz{z{{zz{zyyyyyyzzzyzz{{zyyyyxyyyzzzz{z|zzzyyyyzzy{z{zzzz{zzyyyyyzzyzzzzzzyzyyzyyyzzzzzz{{yyyzyyyzy{zzyzz{zyzzxzy{zzzz{{{zzy{zyzyzz{z{z{{{zzzz{xyzzz{yy{zzyzzyzzzyyzzzy{zzzyzz{{yzzzz{zz{{{yzzyzzyyzz{zz{{zyzyxyzzzzzz{{{{zzzzzzyz{{zzz{{{{zzzzyzzz|{z{{zzz{{y{zzzz{zzz{{{{yzyyz{y{{zz{{z{{zzz{{{zz{{{|{{|z{z{zz{{z{z{z{||z|{zzyzzz{{z{z{{|{zyzzzzz{{{{|{{z{{zz{{{z{{{{{|||z{z{zzzz{||{{{{{{|zz{z{|{z{{z{z{{z{{z{{{{{{z||}{{{zzzz|{zz{{{{|{{zzz{zz{{z{{|{{z{z{zz{zz{{{{{{{zzzz{zzzzzzz{{zzzzzyzzzyzz{yzz{{zzyzyzzzzzz{zz{zzzzyzz{yz{zy{zzzzzyzzyzzz{{zzzz{{zzyyyyyzzzz{{z{zzzyyyyz{{zzz{z{zyyzzxzyz{{zyz{zzzyzyzyzzzz{zzz{zzyyyxyzzyzzz{zzyzyyyzyzzzzz{zzzzyzzzyyyzz{{zzzzzzyyzzzyyzzz{{{{yzzyyyyyz{z{z{z{zzzzzyyzz{zz{z{{zzyyzzx{yzzzzzz{zy{zzzyzzz{{y{z{zzzzzzzzzzzz{zz{z{{{{yzzzz{{z{y{{{z{z{zzz{{{{{z|{yzzzzyzz|z{{{{{{zz{zyzz{zz{{{|{{z{{zz{z{{z{{|{zz{zzz{zy{{{{{{{|zz{z{yzz{|{{{{|{{yz{{|{z{zz{{||{|{z{z{zzz}{||{{{{z{{{zz{{{|{{{{{{zzzzyzz{z{{{{{{{zzz{{z{{{{||{{|z{zzz{zz{{|z{{{||{zy{z{y||{{zz{|zz{zyy{zzzzzz{z{{zyyzyzzzzz{zy{{zzyzyyy{zzzzzz{{zzyyy{zz{zz{{{z{z{yzyyzz{zz{{z{{zzyzyyzzzy{zzyy|zyzzzzzyz{yyy{{zyyyyzzyzzz{zzzzzzyzzzzzyzzzzz{z{zyzzzyzyyzz{y{zzzyzyzyzzzzzz{{z{zzzzyzzxz{z{zzzzzzyzzyyzy{{zzyz{{zzyzyzyzzyzz{{{zx{zz{yzzz{{{{z{{zzyzy{yzzzz{{{z{yzzyyz{z{z{yz{|z{yzyzzzz{{y{{{z{zzzzzzz{z{{z{{z{y{zyyyz{|zz{{{{{z{{zzzz{|zzzz||{zzzzzzzz{|{|{{{{{{y{{zz{{{|{{{{zzz{y|zyz{zz{{|{{z{zz{{z{||z{{{{{zz{zz|{{||{z{{z{z{{zzz|{||{{{|{{yz{z{|{{{z{||{zz{z{{zz{{{{{{{{|z{{z{zz{{|{{{{|{z{zzzzz{{|{{{{|{{{y{yz{z{{{{{z|{{zzzzyzz{{{{{zyzzyxzyxzy{zzyzzzzyzyzyyyzzzyzyzz{zyyxyzxyzzzyzyz{zzyzyyyzz{zzzz{zzzxyyzyyzz{zyzzzzyzzyzzyzzzzzzzzzyyyzyyx{zzzzzzzyy{yyyyzzyx{zyy{yyzyzyyy{z{z{z|zzyzzyyxzyyyzz{{{z{zyy{xzzzyzzz{{yyyyyxxzzzzyyzzz{zzyzxzzzzzzz{z{zzyzzzyz{{zz{z{zzzy{zyzzzzzzzzz{{zzyzyzz{zzzz{z{zyzz{zyzz{{{z{{{zzzz{zyzzyyz{{zzzyzzzzzy{{{|{{|zzzzy{zzz{z{{z{{zzz{zzz{z{z{{{{{{zzz{zzzzzz{{z||{{zzzzzzyz|z{{{{{{zy{z{zxz{zz{{{{{zzzz{{{z{{z|{{{{zzzzzzz{{|{|{|||z{zyzz{{|{{{|{z{zzzzzz{{{y{z{|{{{z{{zzzz{zz{z{{zzzyyzzzz{{{{||z{{z{zyzyz{{{zz{{z{zyzzzzzzzzzzzzyyyyzyzyyz{z{{{{zyyyyyyzz{zzz|z{zyyyzzzy{zzz{{z{zyyzyzzyyzzzzzz{zzyzyyzzzzzz{{z{zyzzzyzzzzzzzz{{yy{yzzyxzzzzzzzzyzyyz{yyzzyzzz{zyyzxyzzyy{{zy{{yyzyzyyyyzzz{zzz{zxzyyzyyzz{zzz{{zzzyyyzyzz{zz{{zzzyzyyyxyzzy{z{{zzzyyzyyy{z{zz{zyyzyzyzzzzzy{zz{{zzzzzz{zz{zzy{{zzzzyzz{{z{z{|{|{z{zyzzzzz{{z{zzz{zyyyzzz{{{zz{|{{zzzzzzz{{z{{{{zz{zzz{zz{{{{{z{z{{{{{{zz{{||{{|{zzzzzz{{{{|{{{{{zzz{y{z{z{z{{{{{{z{y{{z{|{{{{{{|{{z{{{z{{{|{|{|{{{zzz{{{{{{|{{{zzzzzzz{zzz{{{||{zzzzzzz{{{{{{|{|zzy{{zzy{z{|{z{{zyzzzzz{{y{zz|{{z{zzzzzzz{z{zzzyyyy{zyxzzzzzy{{zzzyzzyyzzzzy{z{zzyyyzxyzzzz|{z{yzyyzzyzzzzzz{z{zyyzyzzyyzz{zzzzzyzyzz{zzzzyy{zzy{yy{yzzzz{zz{{zyzyyzyyyzzyzzz{{zzyyzzzzzzzzzz{zzyzyzyyyzz{{z{{{yzzzyzzzz{zzzz|zzyzzyyzzzz{z{{zz{zzzzzzyyzzzz{zzyyzyzzzyzzzzzz{zzyzzzyyyzzzzz{zzzyzzzzzzzyzzzzzz{zzzzzyz{{{zz{{zzzzyzyyy{{zzz{zzzz{yzzzzz{{{{{{{{zyz{z{y{{|z{|{{{zzzzzzz{{{{{{{{y{zz{{{{{{z{{{{|{z{zzzzy{{{{zz|||z{zz{{{{{|{{{||z{{z{z{y|{|{||{{{zzzzz{{{{{{{|{||{{zz{z{{z{{|{||{zzzzzz{{{{{{{{{|zz{z{zz{{{|{{{{{zzzzz{{z{z{z{{{z{{zzzzy{{z{z{|{{z{zyyzz{{|{z{{zyyzyzyyxyzzzyzzzzzyzzyy{yzyy|{|{{{yyzzyz{zzzz{{zzzzzzzyzzz{z{zz{z{zyzyyxzz{zz{zzzyzyzzzzzzzzz{zyyzxzzzzyzzz{y{yzzyzzyyzzyzz{z{yzzzzzyzyzzz{z{{zyzzyzzyzzy{zzzzzzyyzyyzyzz{{zz{{{zzz|yyzzzz{zz{z{yzyyyyzyy{{zz{z{z{zyzzyyzzz{{{{zzyyzzzz{zzzzz|{{zzyyyyzy{zz{z{zzzzzyzy{zz{z{zz{zzyzz{zzz{{y{z{z{zzzzzzy{{zz{z{{z{yzzzzzz{z{zz{{{{z{zz{z{{z|{{|{{z{|z|zz{|{{{z{{{{{z{zzzy{{{{{{{{{{z{{{{{{{{{z{{{{{|z|{z{{{{{|||{{z{y{zzz{|{{||{|{{{{zz{z{{{{{}|{{z{z{{zzz{z{{|{{{z{zzzzzz{{|{{{{{{zyzzz{z{{{z{|{{{zzzzzz{z{{{zz{zyzzzzzy{{z{{{{zzzzzzyzyz{{z{{{{yzzyyyzxzzzzz{z{zzzxyzyzzyyzzzz{zzzzzzyzzzzzzz{{z{zxzzyyyyzzzzzzyzyyyyzyzzz{{{zzyyzxyzyy{yyzzzzyzzzzyzyyzy{zyzyzyxyzyyyzz{zz{y{{zzzzxyyzyzzz{{zzzzzzyzyy{yzyzzz{zzzzzyyxyzzy{zzzzzzyyyzzzzzzzzzzyz{yyyxzzz{{zzzzyzzzyzzz{zzzy{zz{yzzyy{yzz{zzz{{z{zzzzzzzz{z{z{{zyzzzyzzzzz{{{zzzz{zyyzyz{{{{z{yz{yzzyzz{{{{y{|yzzzyz{zzzzz{{{z{y{{z{zzzz{{zz{{{z{yzyzzzz{{{{{{zyzzz|yzz{{{{{{{{zz{z{z{{z{z{{{z{{{zzyzz{z{{{{{|{{zy{zzz{{{{{|{|zzyzyzzyzz{{{{{|{zzzz{yz{z{z{{{zzzzyzzzzy{{zzz{z{{zzz{zzy{z{zzzz{{{zzyzzyzzzz{{zz{yyyyyxyy{zzyy{{zzyyzxzzzzyzzzzzzzxyyyzyz{yzz{{zzyyyyzyzzz{{zz{{y{yzxyzy{z{zzzzz{zyyyyzzz{zyzz{zzyzzyyxyyz{zyzzzzzyyyzzzyzzz{zzzyxyyzyzyyzzzzyzzzyzzzyyyzzzz{zyzy{y{yyxyz{zzzy{zzzyxzyzzyzz{yz{yzyzyzyyzzzyzzzz{zyyz{{yyzz{zz{{|zzzyzzyzz{z{yzz|zyyzzyyzzzyzz{|zzz{zyzyzz{{z{{zz{yzy{zzzz{{z{{zzzzzzz{zz{z{{{z{zz{zzyz{zz{{z{{{{{{zy{zzz{{{|{{{|zzzy{{zz{|z{{|{z{zzzzzyz{{|{{{|{{zzz{zzy{{{zz{{y{zz{zz{{{{zzz{{{{zzzzzzzz||{{}{|zzz{y{zy{{{zz{{{{z{zzzzzz{z{z{{{{zzz{{z{|{{{{|{|z{zyyzzyzz{|zz{{{zzz{zzyz{{zz{{{zz{z{zzxyzzy{zzzz{zzyyzyzzzzz{{zzyyyyyzzzzzzyz{zzzzyzyzx{z{zz{z{{zzzyyzzyzz{{z{zzzyyyyzyz{zzz{zzyz{yzzzxyz{{z{zzzzzyyyyz{{zzyzzzzzyyyzzzz{z{yy{yyzyyyzyyz{zzzz{{zyxzyyxyyyzz{zzzzzzyyzzyyzzz{{{{zxyyzyzzzzzzz{zzzzzzzyzxy{z{zz{{yzyyzzzz{{zzzz{{zzzzyyyzz{zz{|{{{{zzyyzzz{{{{{z{{zyzzyzzy|{zzzzzzy{yzyyz{{{{{{zzzyzy{zyz|z{{zz|zzzyzzzzz{{z{z{{{{zzzxz{zz{{{|{{{{zy{{zzz{{z|z{{|zyz{z{zz{{{||{{{{z{zzzyz{|{z{{||zz{yz{{{{{{{{{{{|zzzzyz{zz|{{|{{{{{{z{zy{{|z|{{{{zz{zz{{z{{z{{{|{yz{zzz{{z{{{||{zz{zz{z{z{{zz{{{{zzzzy{zz{z|{{{zzzzzyzzzzz{zz{y{zzzzyy{zz{{z{zz{zzyzyzyxy{zzz{zz{zzzyzyzzz{{{{{{{zzzzyzyzz{zyz{zzzzyzyzy{x{z{{|zzyzyyyzzyzzyz{{zzzzyyyyy{yzzy|z{zzzxyzzyz{zzz{zzzzyzzxyzz{z{{z{yyzzyx{yyzzzzzzz{yyzzy{zzzzzy{{{|zyyzzzzyzzzy{z{zzzzyyyzyyzzz{zz{zyz{yzyzz{zzzz{z{yzy{zzz{z{zz{{{zz{z{yzz{{z{{z{{zyzzzyzzz{zz{z{zz{{{zzz{z{|zz{z{zzzyzzz{zz{{{{{{{yz{zzzz{z{zz{{{zzz{yzyz{{{{{{|zzz{{zzzzz{zz{{{zz{y{zzzz{{|{{|{|{z{z{{{zz|zzz||{z{zz{{{z{|{{{{|{|zzzzz{z{|{||{||{zz{z{z{{{{|{z{|{zzzzzz{z{{{{{z|{{{{{{zzz{{|{{z|z{zz{zzz{{{z{|{|{zyzzz{zz{z{{{|{{yzzzzzz{z{z{{zzyzyyyzzyy{zzzz{{yyzyzz{y{zz{zzzzzzzyzzyzzzz{z{{{yzzyzyzyzz{{yzzzzzzyyzzyzzz{{z{zzyyzzyyz{{{zyzzzzzzzyzy{zz{zyz{zzyzzzzyyyzy{zz{{zyzyyyyzz{zzzzzzzyyzyzzyyz{{{z{zzzyzxyyyzzzzz{z{zyzyyxzzyzzyzzy{yyzzyyyyyzzzz{z{{yzzyzzzz{zzzz{z{zyyzzyzzz{{{yz{zzzxzyzzy{{zz{{{zzzyzzzzzzz{{z{|{z{{yyzzy{{{{{z{{zzzyyzzzz|{zz|{{z{z{z{z{z{z{|{z{zzzzzz{{{{|{{{{zz{zz{{{{{{|{{{|zzzzzz{yz{{|{|z{z{{z{{yz{|z{{{|{zzzy{zz|zzz{|{{||yz{z{{{{|{{{{|{{{|{{y|z{{z{{||{zz{z{zz{{{{{{{{|{z{{{{zz{z{{{|{|z{zzyz{z{{{{{{|{{{zzy{{zz{{{zz{{{zzyzzzzzz{z{{z{yzyyzyyyzzyzz{zzyzyzzzzyy{{{zzz{zyzxyzzzzzzzzzzzzyzyzyzzzz{{zx{zzyzyyyzyzzz{zyzzzxzzyyyyz{zyzz{zzzzzyxyyyz{yzy{zzzzyyyzzzzz{z{yzyzzyzzzzzyzzzzzzzzyyyzyzzzzzzzzzzzzyyzyyzzz{zz{zzyyyzyyy{{{yyz{{zzyzyyzyzyzzy{z{zzzyzzyzzz{{{{{{{zzzzyzzzy{zz{z{zzzyzyzzzzzz{{{{zzzzyzzzz{zz{{{zzzzz{zzz{{z{{zzzzx{zzzzzz{{z{{{zzyzzzzzz|z|z{{{{zzzzz{{zz{|{{{z{zzzz{z{{{zzz{{{z{zz{zzzzz{z|{{{{|zzzyyz{z|z{z{{{{zz{{{{zz{zz||{{{z{z{zz{z|{{{z{{{z{{z{zzzz{{|{{{zzzz{zzz{{{{||{{{{{z{z{z{|{{{{|zzzyzyzzz{{{{{z{zzz{z{{zzz{z{zz{zzzzzyzzzzz{{z{zzyzyyyyzyy{zzzzzzzyzyzyyzzyz{{{{zzz{yyyzyz{zzzz{yzyyyyzzzzz{{{{{{zzyzyzzz{zzyz{{zzyyyzyzyzzzyz{zyzzyyzzyzzyyyzzzzyyyyyyyyzxzzz|z{yyzy{yzyzzzzzz{zzzyyzyyxzzzzzzz{zzyyyyyzzzzz{{{zzyzzzzyxzzyz{z{zzzzyzzzzyzzzzzz{yzzyzyzyyzz{z{{{{y{xzyzzz{zz{z{{zyyzzyzzzz{{z{|{{zzzyzzzzy{z{z{{z{zzzzyyy|z{{z|{{zzzz{zz{zz{zz{{zzz{z{zz{z{{{|{zzzyzzzz{zz{|{{|{{z{z{z{zz{{{z{{z{zz{zzyz{{zz{{{{zyzzz{zz|{|{|{|{yz{zz{z{{|z{{|zz{z{{z{{zz|{|{{{{{z{zz{{z{zz||{|{{z{z{zzzz{{{z{{|{{zz|{zz{{|{{{|{zzzz{y{z{z{z{|{z|zzyy{zz{{{z{{{{{zzyz{yyzz{{{zz|yzyzzzzyzz{zzzz{zz{zzyzy{y{{zz{{zy{zyyzyzzzzz{{{zyzyyzzyzyz{zzz{zzzxyzzy{y{zy{{zz{yzz{zyz{zzzzzzz{zyzyzzyy{{y{{zzyzzyyzz{yzzz{{zzyzzyyzyyz{yzzzzzz{zzyyy{zyzz{{yzzzyyyzyz{yzzzzzyzyyyzzyzzzy{zzzzyzzzyxxyzzzzz{{zy{{zzyzyzz{z{zzyzzzyzzyz{{zzz{zyy{zyyzzzzzz{{{zzzzyzzzyz{{z{{z{{zz{zy{zy{yz{{zz{z{zzyz{zz{{z{|{zzz{{zzz|z{z|{{{zzz{{zz{{z{{{{{{{zz{{z{{zzz{z{{|{zzzzzzzz{{{{z|{zz{z{zz{{{{z|{{{zzzz{{{z{{zz{{{{{zz{z{zzz{{|z{|{{zz{{{{zz{{z{{{z{{{zzzzz{{{|{{||{{z{{{z{{{{{z{{{{zzzz{{zz{{{z{|{{zz{zy{z{{z|{{{z{zzzzzyzyy{zzyzz{zyyzzzyyz|yzzz{zzyyzyyyz{zzz{y|zz{yzyzyzzzzz{z{{yzzyzzyzzz{zz{zyzzxyyyyzzzzz{z{zyzzyzyyzyzzz{{z{z{yyzzyzyzz{{yzzzyzyyyyyzz{zzzzyxyyyxyyz{{z{zzzzzyyyyxz{{{z{z{z{{yyyz{yzzzz{zyzzyyyyyyz{yz{{zzyzyyzyzyyyzyzz{z{yyzzzzzyzzzzz{{yzyzzzzyzz{z{z{{zyyyzzyyz{zzzy{{{yz{zyzyz{zzzz{{z{zzz{yzzzz{{z{z{z{yy{zyzz{{{zz{yzzzzzzzz{z|zz{|zz{{z{|z{{zz{z{{zzzzzzz{{{{y{{||{zz{yzzzy{{{{{{{{{zzyzyzz{|{yzz{{{{zzzz{{z{{|{{{{{yz{z{z{z{z{{{|{z{{z{zzz{{z|{{{z{z{zzzzzz{z{{{{{zz{z{zzz{{z{{{{z{zzyz{zzz{zz{{{{{z{yyzzzz{z{z|{z{zzy{{zyzzzzz{{{zyyyyyyyzzzzzzzzzzzyyzxyyzzzzz{z{{zzyzyyzzyz{{{{yyyzyy{yyz{zzyz{z{zzyzyy{yzz{{z{zyyyyyyyy|yz{zzzzzzyyyyzzz{yzyzyyzyzxyyzyzz{zzzzzyzyyzzyzzzzzz{zzzzyyzyyy{{zzzzzzyyyyyyyz{zz{zzzyzyzyyzyzzzzzzz{yzyyzyzzyz{{z{{zyzzzyyzyy{zzzz{zzyyyzy{zzz{zzz{zz{zzyyyy{z{{z{z{zzzzzyzyzy|zz{|{zyzyyxyyz{|{{{z{{zzzyyyy{{{zzz{zzzyz{y{yzzzz{{z|{zz{{z{{zzz{{|z{zzz{zz{z{{z{z{{{{{yz{{yz{z|zz{{{zz{zzz|z{|zz{|y{z{z{{z{{{z{{{{{{{zzzzzy{z{{|{{{|{z{{zzyy{{{{{{z{{{zzy{y{z{z{z{{{{{{{zzzz{{{{{{{|{z{z{zzz{z{z{z|z{{zzzzzy{z{{z{|zz{{zyz{y|zzzzz{zzzyzyz{zz{{zzzz{zzyyzyzz{z{z{zz{zzzzzyyyzyzzzzzzzyzyzxzzyzzyzzzzzyyzyyyyz{zzzzz{yzzzyyyyyyzyz{zyzyyyyyyx{z{yy{{zzyyyyyxyzyzyzzz{yyyzyzxyzzyyzzyyzzzyzyyyz{zyz{{zyz{zyzyyzzzz{yzzzyyyyyzyyzzyz{zyyzxyzyzzyzyyzzz{zyzyzzzyyzzy{y{zzyyzzyzyzzzzz{{z{yzzyzyy{zzzzzz{zzyzzzzyzzyz{y{zzyzyzyzzz{{z{|zzyy{{yyyz{z|{{{{zyyyy{zyzz{{{{yzz{{y{{zzz{{{z{{z{{zzzzzzyz{{z{{||{zz{zzzz{{zz{{|z{z{yz{zzz{z|{{{{zyzzz{{z{{{z{{|{{z{zzz{{{|{{{{z|{zz{zzy{{{{|{{|{{zzzzz{z{z|{z{{z{{zz{zz{{zzz{{{|z{zzzzy{z{zz{{{{zzzzzzzzz{{{yz{zy{zzyzzz{{z{zzzzyzyzyzzxyzzzyzz{yzzzyzzzzzzzzzzyzyzzyyyyzz{{z{z{zzyzzyxyzyzzzyzzzyzyyzzyzzz{zzz{zz{yzyzyzyzzz{{zyyyyyyyzyzzzz{z{zzzyyzyzzyzz{{zzyyzxyzyyzzz{z{yz{zzzyyyy{zzzyzz{zyyzyyzyzz{z{z{{zyzzzyzzyyzz{{zzyzyzyyzyzzzz{{{zzyzzyyyxzzzyzz{z{yyzyyzzzzzzzzzzy{zzzxzy{z{y|z{{zzyzzzzzzz{zzz{{yzzy{yz{zzzzzzzzzzzyyyzzz{{{{{{{yzzz{yy{{{{{{||{zz{z{yzz|{{{{zz{zzz|z{zz{{z|{{{|zzzzzzzz{{{{zz{z{yzz{zzy||{z{{||zyz{yy{{z}{z{{{{|y{{zzz{{{{{{{|{{y{{{zz{{{{z{{z{{zz{{zzz{zz{|z||zzzz{{yz{{|{{{{{z|{zzzz{z{z{zz|{{{yz{yzzzz{{zz|{zy{zzzzyz{z{zzzzyzxzyyyyzzzzzz{zzzzzzzzy{z{{z{z{yyzyyzzyzz{z{z{z{xzyzyzyyz{z{zzzzzzyyyyyzz{zz{yz{zzyyzyyzzzzz{zzyzyyzzyzzzzyyzzzzyzzyyzyyzzzyzzzyzyyyyyzzzzy{zzzzyyyyzzzzyzz{zz{zxzyzzyyzzz{z{zzzyzzzxyxyzz{zyz{{yzyzyzzzzyzyz{zzzzzyzzyzz{zzz{zyy{yzzzyy{{{y{zz{{zzyyzyz{{{{{{{{z{zzzyy{{{zzy|zzz{zyz{yy{zz|{{zyzzzzzyy{|{zzy{{zz{zzzxz{{{y{{z{z{{zzzz{{|z{{{{{z{zzyz{z|{z{{|{{{zzzz{z{zz{y{{{|{yy{zzyy{{{z{{{|{z{zz{{z{{zz{{{{{{zz{z{{{|{{{{{{zz{{zz{z{{z{{{{{{yy{zzzz{{{{{||{|{{{{yy{{{z{z{{{{{zzzz{zz{{{{{|zzzz{yzzz{{z{z{{zzzzzzzzzzy{zy{{zzzzzzzzxz{zzzy{zzzzzyyyyzzzz{zzzz{{zzyz{{zzzz{z{yxyzzyyyyzzzzz{zzzzyxzyzzzzz{{{{zyzyzyyyy{z{zz{zzyyxzzyz{z{zzzz{yyxzzzyyzz{zyz{zzyyxzzxzyzyzzz{zzzyzyzyzzzzzz|z{zyzyzyzzz{zz{yzzyzzzyxyyzy{zzzz{z{zzyzyyz|{z{zzzyyyyyzyy{z{zzz|zzzzzzyzzzzz{{{zz{zzzzyzy{z{zzz{{yyzz{zzzzz{zz{{zzzz{yzzyy{z|{z|zzzzzyzzzzzzzzz|{{yy{zzyz|{z{z{z{{zzzzzy{{{{{z{{{yzzyzz{zzzz{z|{{zy{{yyzz{{|{|{{zzzyz{z{yz{{z{{{{{{{zzzzzz{{{{{z{{{zzz|{zz{{{{{{{{y{{z{{z||z{{{|z|yyzz{zz{zz|{|zz{zzzzz{{{{z{{{{{zzyzzzz{{{{{{{{{z{{{zyyzz|{{{{{zz{zyzzzyzzzz{{y{zzyyzyyzyz{yzzz{zyzyyyyyy{zzyz{{zzzyyzyy{zzz|z{zzzzyyyyzzz{z{y{{zyzzyyzy{z{zz{zzzxzyzxzzzzzzzz{{yyyzyzzyyyzyzz{zyzyyzyyyzzzzyzzzyy{yyyyzzzzz{z{zyyy{zyyzy{zz|zzzyzzzyyyyz{z{yz{{{zzyzyyyzyzzzzyzzzyyzxzyyz{{z|zzzyyzzy{yz{z{z{zzzzzzzyzyz{y{{|{{zyyzzy{yzz{{{{{{yyzyyxyz{|z{z{zzzzzzzzyz{z{{z{{zzzzzzzzyz{{zzy{yzzzz{yzzzz{z{{{{zzyz{z{y{{{{z|y|zzzzzzzz|z{zz{{{zz{z{zyy{{{{{|{{{zzzz{yz{z{|{{z|{zzz{{zzz{{{{z{{{zz{yzzz{|{{{z|{{{{yzzzzy{{{{{{{zzy{zyzz{zzy{{{{{zzz{z{{z{z||z{{{{yzzzyzzzz{{{{|zzz{zz{zy{{{{{{|yyzzzyyzzz{zzzzzz{zyzyyyz{{zzz{z{zyyzyzy{zzzzzzzz{yzyyzyzyyzz{{z{z{zzzxzzz{yzy{zzzyyyyzyzzz{{{z{zyzzyy{yzzzzzz{{zzzyzyyyzzzyz{|zzyzzyzyzz{z{yzy{yyyzzxyyyz{y{z{zzyz{yyzzzzz{{zz{zzzyyyyyzzzzzzz{zz{{yyyzy{zzz{{yyyzzzyyyz{yzz{{zzzzy{zyyz{zzzyz{zzyyzyzzzzzzy{zzzzzzzzzzzzz{z{z{zzzzzzyy{zz{{z{{zzyzyzyyz{{{zzzzzy{{{zzyzz{{zz{{zzz{zzzz{{{{{zz{zyz{zzyzzzz|{|{{zzz{zz{z{{z{{{{|{zzz{zzz{|{{zz{{{yz{{zz{z{|{{z{{{{zzz{zz|z{{{|{{{z{zz{zz{{|{{|{{|zz{{{yz{|{{{|z{{zz{{{z{{|{z{z{|{zzz{zzz{{{{z{{|z{zzzz{z{{{|z||z|z{{zy{zz|{{z|z|zzzyzzz{zy{y{{zzyzxyyyyyy|{zz{zzzyzzzzyzzzz{{{zzzyyxyzyyz{zzzz{zzzzzzyy{yyzzzz{zzyzzxxzz{zzyy{{zyzyyyyzyzzzzzzzzzyyyzyzyzzzzyz{zyzyzzzzyzzz{zzzzyyzyyyyyyzyzz{z{zyyzxzyyyzz{z{z{yzzzyzyzz{zzz{{{zzyyzxxyyy{{y{{zzzzxzzyyzzyzyzzzyzzyyyzyyyz{y{zz{yzzzzyzzzzyyzzzzzzzzzzzyyzzz{{zzzzyyzyz{z{z{{z{zzzyzzzzz{zz{{zzzzzyzzzz{{{{zz{yzyzzzzyz{{zz{{z{zzzzzzzzzz{{z{|{z{zz{zz{z{zzz{{{zzzzyzy{{z{{{z{{zzzzzzzz{{{{{{|{z{zy{{z{{{z{z{{{{yzzz{z{z{{{{{{{{z{zzzzz{{z|{|{yzzzzzzy{{{{{{{{|{zzzz{{z{zz{{{{{{zzzyyzzz{{{z{{zzzz{zzzyy{z|{z{zzzyzyz{z{y{z{{zzyzxyyyyyzzzzzz{z{yyzyyyzy{zzz{zz{yzyzyyzzzzz{z{zzyyyzxyyyz{zzz{zzyzxxyyyyz{zyzz{zyyzzyyyyzzzyzzyzzzz{y{yzz{zy{zyzzzyyzyyz{zzzzy{yyyzzyyxzyzzz{{zzyzzyyyyzy{yz{{zzyzzyzyxzzzzzzzzzyyzyyyyzzzzzz{zzyyyyzyzzzyzz{zzzyzzzz{yzzzzz{zzzzzzzyzzy{zz{z{zzzyzyyyzzzz{yz{zzyyzyzxyzz{z{|{yzyzz{zzyyy{zz{{zyyzzzyyz{{{z{{zzzzyz{z{zz{zzyzzy{zyzyyyz{z{{{{z{zyzzyzzz{zz{{{|{zzzzzyyy{{{|{{zzzzzzzzzz{|{z{z{{{z{zz{{|z{{|{zz{zyyzzzz{z|{{{|{{{z{zzzzy{{{{{z{{zz{zzz{{{zz{{{{{{zz{z{zzz{z{{{z{yzzyzyzzz{{{zz{{{zyzzzzzy{{zzz{z{z{zyzyyzz{z{{yyzyzzyyzyz{{{yz{zzyyzzyyyz{zzy{z{zzzyzzyzzzzzz{{zzyyzyyyyyzz{z{zzzyzyxyzy{z{zzzzzyyxyyyyyy{yyyz{zzzyyzyyyyzzzzzzzyyyyzyzyzzzzzzzzzyyyzxyzzzyzzy{zzzzzyyyzzzzzyzzzzzzyzyyyzzz{zyzyyyyyyyyy{y{yzzzyzzzyxyyxyzzzyzzz{{yzzyyz{zzzzzzzzzyyxzzyzzzzzyzzyzyzyy{zzyzzz{zzyzyyyyyzzz{z{z{{{zzzzzzzzz{{{zz{zyzyzyyy{{{{z||z{zzz{zzy{{z{yz{{zyyz{zyz{{{{zz{zyy{z{z{z{zz{{{{{yzzzzzyzzzz{{z|z{z{y{yzz{{z{{{{|zz{yyzzzz{zz{{{{yzzzzyzz{{{{{{{{{z{z{y{{z||{{z|{{zzzz{zzzz{{{z{|{{zzyzzy{||{|{{|zzzyzzzyzzz{z{{|{zzzzyzy{{z{z{z{z{zz{yyzzzzz{yzzyzyyyzzxzzzyyyzzyzzyyyzyzyzz{{zz{zzyyzy{zzzzzz{{zzyzyzyyzzzzzzzzyzzyxyxxyzzyy{{zyyzyyxzyyz{zyz{zz{zzzzyyyzzyyzzzyxyyyyxyyyzzyzzzyyyyxy{yzzzzzz{zzyyyyzyyyzzzyzzzyyyyzyzzy{zzz{|zzyzyyzyzzzzzyzzyyzzyxzyyyzzyzzzzzzzzyyzyzzzzzzzz{yzxzyyyz{zzzyzzzyzzyyzzzzz{zz{zyzzzzyyzzz{{{{{z{yzzzyzzzzzz{{y{yzzzzyzzz{zz{z{z{yz{yyyzz{zzzzzz{yzy{{{z{{|{{{{{z{z{zz{zz{{{{{{zzzzzzyzyz{{{{{|z{{z{{z{z{{y{zz{{zzzzzz{zzzz|z{{z{{yyz{zyz|{|{|{{zz{{zzzzz{{{{{{zzzzzyzzz{{{zz{z{{zzz{yzzz{{z{{z{{zzyzzzzz{{z{{|{zzzy{zzy{{{{z{{yyyzzyzyzy{zzzzzzzzxyyyyyy|zyz{zzyzyyyzyyy{zzzzzzzzyyyyyzyzyyzzzz{yzyyzyyyz{zzzzzzzyyyyzy{z{yzzzzzzxzzxzyz{yyzzzyzyyyyyzxyzzzzzzzyyyzyyyzzy{zyyzzyyyyxzyyzz{zzzzzzyzyyyyyzzyzzyzyzyzyxyyyyzzz{z{zzyyzyyyyzzzyy{yyxzyzzyyzyzzzzyzzzzzy{zyzz{zzz{{{zzyyzyzyzzz{zyyzzxyyzyzy{zzzz{zzyz{xyyzyyy{zzzz{{zzzzxzyx{{{z{z{zzyyyyyzz{zzzzz{yzzzzzyyz{zz|z{{zzyzy{zz{{zz{{{zy{zzz{zzz{y{z{{z{yzzzzyyyzzz{{|z{zzzzzyz{{{{{{{zzzzzz{zzz|z{{{{{{zzyzyzzzzz{{{{{{z{zzz{{z{{zz{|{|z{z{zzz{{{{zzz{{z{zzzz{{zz{z{{{{{yy{zzzz{{{{{|{{zzzzy{yzzz{z{{zzzzzyyyzz{|y{zz{zyzzzzzzyzzzzz{zyyyyyyzzzx{{z{z{zzyzyzzyz{zzzzz{zyyzzzzyzzy{zzzz{zzyyyzyzzz{zz{{zzyyyzyyzzyzzz{z{yzyyyyyy{{yzzzzzyzyyyyz{yyzzzz{yyyy{xzzzzz{zzzzyyzzyzyyy{zzzz{{zzzzyyyyz{y{z{z{yzzzzzzzz{{zz{zzzzzxzyyyyz{zz{z{{yzzzyzzzz{z{zy{zzz{zyyzzzzzz{{zzzzzyzz{z{z{z{{{zyyyzzyzz{z{z{zzzzyzzzyzzz{z{zzzzyzyzyzyz{|zz{zz{yzzzyzy{zz{zz{{{{{zyyzz{{{z{{{{yzyzzz{yz{z|||{{zzzzzzyz{{{{zz|{{yzz{z{{z{{z{}{{zzzzzz{{{z|zz{z{{{zz{{zz{|z{|{|zzz{z{z{{{zz{z|z{zz{zzzz{{{zz{{{|zzz{{zyzzz{z{{{{z{{zz{zzz{{{{z|{z{zzzzzz{zzz{{|{zz{{yzxy{{y{zzyzyzzyyyzyz{{{|zzzy{yzzxzyyzzzzzzzzzzyyzzyyzzz{z{zyyyyyyzzz{zz{zzzzzzzyzyy{zz{zzyzzyyzyyzyzyzyzy{yzxzzzzyyyzzyzzzzyyzyyzyzzzzzzzzzyyyyyyxzzzzzzz{zzzyyzzyzzz{{z{yzzzyyxyyzyzyz{z{{yyyyyyyzzzz{yzzyz{yzzyxyy{yzy{y{zyzzyzzyzzzyzz{zzzyyzyyyxyyy{zzzyyzyyzzzzzz{{{z{yyzzyzyz{zzzzz{z{yzz{yzyzzz{zz{{zzzzzzzzz|zzzz{{zzzy{zzz{{zzzzz{zz{z{{zz{z{|{z{zzzzz{zzz|{z{{{{{{zzzzzyz{{{{{{{{{zzzzx{zz{{|z||zzzzzyz{{z{zz{z{{{zyyz{z{{{z{z|{{|z{{{zz{|z{{{z{{{zzzzzz{z{z{{{{{yz{{z{zzzz{{z{{{zz{yzz{yy{y{{zz{|zzz{zzzz{{z{zz{zzzzzyyyzzzzz{yzyyxyzzzxz{{z{zz{zzyyyxzxz{zzzyzzz{yzzyyxzzz{{{{z{yzxyyzyzzz{zyz{zzzxzyyyzzyzzz{{zzzzzyzx{zzyzzz{zyzyzzyyzzzzzz{{zyyyyzzyzzzzzz{{y{zxyyyzzz{z{zzzzyyzzyyzzz{z{zzz{zyzyzzy{zzzzz|{z{zyzyzyzzzyzzz{z{zyzzzzzzz{z{zzyyzzyzyzy{{zz{z{zyzyz{zyzz{zz{zzzyzzzyzz{z{zzz{{zyzyyzzyz{z{{zzz{zzzzyzy{|{zy{{zzzzzyzyyzz{z{{|zzzzz{zz{|{{z{{{zzyz{{zzz{{z{{{{{zzzz{zzz{{{{{{{z|zzz{zyzz{{{z{{{zzzz{zzz{{{||z|{z{zzz{|zz{{z{{{|zzz|zzy{z||{|||{|z{zz{{{|{z{{|{{z{zzzyzz{zyzzz|{{yz{{zz{|{{|{z{{z{{z{z{{{{{{{{z{{{zzzzzz{{zyzzz|{yzyzzyz{zz{zzzzzzyyyzzyzzz{zyz{{{xzyyzz{zzzz{zz{{yzyy{yyzzzz{z{zyzyyzzzzzz{z{{z{zzyyyzzzz{{zzz{yzzzyzzzy{{yzzzzz{zzyzxxzz{z{{yzyzzyzzzzy{zz{{{{zyzyzzxyyzz{zz{zyyyzzyyzyzzz{{{zz{zzzzyy{yz{{z{zzzzyzyzzzzzzzz{zzzzyyyzyzzzzz{zzzzyzzyyyzzz{zz{zzyzzzyzzz{yz{{{}zyzyyyyzy{z{{z{{zzzzzyz{z{|{{{z{zyzy{yzzz|z{{z{{zyyz{{zzzz{{z{|zzzz{{zzz{z{{zz{{zzz{zz{z{{{{{|{zzz{zzz{z{{{{{{{{z{zzzyzz|{{{|z{zzzzy{z{z|{{z|{||zz{zzz{{{{{{{{|{zzzzzzzz{||z{|{{zz{{{zzz{{{{{z{|{z{zzz{{zz{z{|{{{z{z{zzz|{z{{{{{z{zzzzz{{{zzz|{{{zzz{zzzzzyz{z|zz{zzyzzy|z{{{z{yzyxyyyyyyz{zzzzzzyzyyzyyzzzz{zz{{zzzzzzyzyzyzy{y{zzyzyyzyzzzzzzzyyzzzyxyzzzz{zzyyyzyyzzyyzyzyz{z{yz{zzzzz{zzzzyzzz{yxzxy{zzz{{zzzyyyzzyyzyyzz{zzzzyyxyyyyzyy{zzzzzyyyzyyy{{zzzzzyzzzyyzxzzzzzzzzyyyyyyzyyyzzy{zzyyzzyyzyzzyz{{z{yyzyyxzzz{{zz{{zzxzzzzzyzzzz{zzzyyzzzyzyzzz{z{{{zyyz{yyyy{z{zzz{zzzzzzzz{{{zz{{{{zzzyyyz{|z{zz{{zyz{yzz{{zz{{z{zzzzz{zzz{z{{{{{{{zz|yzzy{{}{||z|zz{yzyzz{{z{z{{|{zzz{y{{z{{zz||{{{yyyz{{z{zz{||{zz{zzzyz{z{{{z{{{zz{zz{{{zz{{z{|zzz{zy{z{zzz{{{zz{zyzzzzz{z{{||{zzzzzzyz{{{{zz{{{zzyyzzzyzzz{yzzzyyxyyzzzy{zzzyz{yyyzzyyy{zzyzzzzyyzyzyz{zzzzzzzzyzzzyyzzzyzzz{zzzzxyyyy{{zz{zzzyzzxzzzxyzzyyz{zyyzzyyyy{yzyyzz{zyyyyxyzyyy{zzzzyyzyyzyyz{z{yzzzzyyyyyyyzzz{{zzzzyzyzzyyyzzzzzzyzyyx{yzzyz{yzzy{zyyyyzyyyzz{z{zzyyzzy{yzzz{yzz{yzyzyzxzyz{zzz{{{zyzyyyyzzyz{zy{{yyzzyzzzzz{zzzzyzyzzzzzzzzz{yz{yzyzzzyzzzz{{{z{{zzzzzzzz{zzzzzzzzzzzyzyz{z{{{{{{zzzzyzz{zz{zz{{{{y{z{zzzz{z{{{{{{zzzz{zz{{zzzz{{zzz{yz{zy{z{z{{{{y{yyzzzz{z{{{{zzzzzyz{z{zzzz{{{zzy{z{yz{{zz{{{{z{zz{{y{z|{{zzz|zzzyyzzzyzz|zzzz{z{{zzzzz{{zz{{zzzzzyz{yzz{y{zyyzzyyyyyxyzzzzz{zzzyyyyyyzzz{zzzzzyxyyyzzz{yyzzzzzyzyzyxzz{z{zy{zzzzyyyyyyzzzz{{{zyyyyyyyx{zzz{zzzyzxxyyy{yzyyzz{zyyzzzyyzzyzyzz{zyyyyxyzyyzy{{zyzyyyxyyyz{{yzzzy{yyzyzzxy{{{z{{zzyyyxyyyxyzzyzzzy{yzzyzyy{y{z{zzyyzzyyzy{zzzyy{zzzzyyxzzzz{zzz{{zyyzyyzz{{zz{{z{zyyy{zyyzzz{z{zzzy{zy{zyz{zzz{{z{yzyzyyy{{zzzz{z{yy{zyzz{{{z{zyz{zyzzy{yz{z{z{z{yzzzyzzzy{{{zz{|{z{{zzyzz{{{z{{z{zzzzzzz{{{z{z{zzzzz{{|z{{{{z{z|{zzzzzyy{{z{{{{{{z{{{zzy|{z{{{{zzzzzzzz{zzzzz{{|zzzzzzy{z{z{zz{{{zzzzzy{y{{{{{{{{zyzyzzy{{zzzz{|{yzzzyyz{zz{{zzz{z{yyyzyzzyyz{zzyzzyyyzyzzzzyzz{zyxyyyyyzzzzzz{{{zzyyzyyyzyzyy{{yzzyyyzxzy{zzzz{{yzzzzzyzyz{yzzyzzzyyyyzzyzyz{zzyzyyyzyyzzzzz{zzzyzyxyyyxzzzzyzyzyyyyyyyyzzzzzzzzzzyyzzyzzyzyyzyyzxyyzzyzyzyzzzyzyzyxzyzyzzz{zzzyxyzzzyzzzz{z{z{zyyyyyzyzyyzyzzz{yzzyyyzzzz{{{{{yzyyyzyzzzyzz{{{zzzyyzzzzz{z{zzzzzzzzyzyzzzz{zyzzy{{zy{zz{zyzzz{yzz{z{yzzz{{{{zzz{zzzyzyz{{{y{z{y{zzyzzzz{{{{{{{z{z{zzzzz{zyz{{{zzzzz|zz{{z{{z{{{yzz{yz{z{{|z{|{|{z|zzzz{{{z{{{zzzzzyzzzzz{{z{||{zzz{zzz{zz{{{{{{{{y{yzz{z{{z{z{z{zyzyzz{zz{{z{{zyzxzzzyz{yyzzzzzzzzyyzyy{zzzzzzyyyyyyyyzzzzzzy{zyyxyzyy{yzzz{zzyzzyzyyyyz{zzyz{zzyyyzyx{z{zzzy{yzzyzyxxy{{zzzyzyyzzyzyzyz{yyzzyyzyyyyxzyxzzzzyzxzyyyyzyyz{zz{zyyzyzyzyyzz{zzzzy{zyyxyyyyzz{zyyzzyzyyyzxzzzyzzzzxzyyyyyzyyzyzzzyyzzyzyyzzyzzzyzzzzzxzz{yz{zzy{zzzzzzzxzyz{zyzz{zyxyzyyzyzy{{z{{zzyzyyyzzzz{zzzzz{zzyyzyzy{|y{{{{zyyzyzyzz{yz{|{zyzz{zyzzzz{{{{z{|yzyyzzz{{z|z{{|yyzzzzzy{{zz|{{zzyzzzyzz{{z{{z{{zzzzy{{{z{z{z{{{{zzzyzzzz|{{{{z|{zyzzzzz{{{z{{{{zzyzyzz{zz{{z{{{{z{z{yzzzy{zz{{{zzzyyzyyz{zzz{{{z{{zzyzz{z{{z{z{zzyzyyzyzzzz{zzzyzyyyxxyyzzyyzyyyzyzyyyyzzzyzzz{zyzyyyyyyyzyz{zyzyxyyyyzzzz{yz{y{yzyyxzyzzyzzyzyzyyyzxzyzzzxyzzzyyzyyyyyyyzxzyzzzyxyyzyxzzyyzzyzyzzyyxyyyyzyzzzzzzyyzyyyyyzzyyzzyyy{zzyxyz{zzzzzyyzyyyzyyyyyyzyzyyyyyyyy{zyzyzzzzyyzyzyxyyyzz{zzzzyyzyyzz{zzzzyzyzzyzyzzzzyzyzz{zyyzzyzyyzzzz{zzzzzzzyyzzz{{zz{yz{{yyzyyzzyz{z{zzyyz{yyzzz{zy{zzzzzzzyyzzzz{zzzzzzyyyyyyzz{z{{z{zzy{zy{zyz{z{z{z{zyyzzzzz{z{{{{{zyyzyz{zzz{{{{z{zzzzzzzzz|z{|{{{{zy{{zz{z{zzz{{{zy{zz{zz{z|z{{{z{zzzzyyyzzzzz{z{zzyzyyyzzzzz{z{{yzzzyyyyz{{{z{{{yyyzzyzzzzz{z{zzz{zyyzzyz{zzzyzzzzyzzyyzzzz{zyzzzy{zyyyy{zzzzzzzyyyyyzyzyzzzyzzz{zzyyyzyyyy{y{z{zyzyyzyzyzyyzzz{zzzzyyyyzzzyyyzzyyyyzxyzyzzzz{zyyy{yzyyxyzyzzzzxyyzyyxxzzyzz{zz{{yzzyzyyy{yzzyzzyxyyzyzxyzzzzzy{zyzyzyxyzzzzzzzyyyyyzzyyyzzzyz{{{yyyzyzyzzzzz{zz{xzxyxzyyyzzzzzzzy{yzzzz{{{zzz{zyyyyzzyyyz{z{{{zzzzzzzyyz{{z{zzzzzzzz{yz{zzzzzzzzzzzzzyzz{|{z|{{zzyzzz{zz{z|{{{{zyzzz{yyzz{{{z{z{y{{zz{y{{{z|{||zzzx{{{zzz{{z{{||{{zzzzyy{{z{{{{{{zzzyz{z{{{yzz{zyzzz|z{z{{z||{{|{zz{zyzz{z{{{{{{zzyzzzy{|z{{|{{{z{zzyzx{y{z{zz{zzz{y{zzy{{z{z{zyyxzzzzxz{zzzzzzzzyzzy{yzzz{zz{zzy{xyzzzzzzz{z{zzyzzyyyzyyzzzz{zzyyxyyyxzzzzz{y{yyyz{yyyxzz{zzyzzyyzyzyzzz{zzzzzzyzxyzyzzzzzz{zzzyyxzyyyz{zz{zzzzzyzzyyzyz{zzzzzyyzyyyyyyzz|zyzzzzzxyyzy{y{zzyzzzzzyyyzyy{zyzz{zzyzzyzyyyz{{z{zzyzyyzyzzzz{zz{{zyzzzyyzy{z{zy{{{zzzzyyyyz{{{zz{zzyzzzyzyy{{z{zzzzz{{{zzzz{zzz{{zzzyzzyzy{{{{{{{z{zzyzz{zz{{{{{{{zzzzzz{y{{z{z{{zzyz{zyzxz{{{{{{{zyzzzzyz{|{z{{||zy{zzzzzz{{zz|{|{zzzz{zz{||{||{{|z|yzy{zzz{{{y|{zzzzzzzz{z{{{z|{zzyzz{zz{y{{z{|{{zyzzz{{z{zz{{{zz{zzzyyzz|{{{z|{zyzyzyzyz{{{zyzzyzyyyzzx{zz{zzz{yyyy{yyzzz{z{zz{zzyyz{zyzz{zz{zzyyzyzyzyzzzzzzz{zyyyyyyxyyzzzzy{yzzxyyyxzzzyzz{zzyyyyyzxzzzzzzzzzzzzyzyyzzzyzzzzyzzyzzxyyyyzzyzzzzzyyzyyzzz{zzzzzyzyyzzyzz{zzz{{{zzyyyyyy{zy{zzzzzzyyzzyyzzzyzz{yyzzzzyyzz{zz{zzzzyzyxzzyy{zz{z{zzz{yyz{zzyy{{z{yzzyzyzz{{{zzz{{zy{yzzzyz{{z}{{{zy{zxzyyzzz{zzzzyyzzyzzzz{zzz{{z{zzzzyzzzz{{{{zzzz{zyzzz||{|{{{{zyy{z{yzz{z{{{{{{yz{zzzz{{{z{{{{{zzyz{zzy{zz{|z{{zyzy||{{{{{{z{{|{{z{zyzzz{{y{{{zzz{{zzzz{{{z{z{{zy{{z{{{zz{{{|{{{zy{yzyzzz{{|z{{{yyzzzy|{z{z{z{zyzyzyzy{{zz|zzzzyyyzzyzyzzzzzzzyyzzyyzyyz{zz{{{yzyyyyyzzyz{z{{zzyyzzyy{{zzzzy{yyyzzyyyyzzzzzz{{yzzyzzzyyz{zy{zzyzzyzzyzyzzyzzz{yyyyxyzzzyzzzzzyyyyzyyzzyzyyyz{yyyyzyzzzy{zzzzzzyzzyxyxzyyz{zzyyzyyy{zyyzyzzzzzzzzyyxzzyzzzzz{{{yy{yzyyyyzzzz{{{z{zzyyzyzz{yzz{{zyzzzyzzz{zzz{zzzyy{zzzzzzzzzzz{zzzzyzzyzz{y{{z{zyzy{yyyzzzzz{{{zzzzzyzz{{{zzy{{yyzzzzzzzz||y{{zzzzzzzzz{|z{zz|{{zyz{yyz{z{{{{z{{zzyzzzz{{{{{{{|{yz{zzzzz{{{{|z|zyzzzz{{{{z{z{{{{zzzzz{z{|{{{{z{{zzzzzyzz{zz{{{{{z{z{zzy{{{|{z|{{zzyzzzzzzzz{{{{{zzzzyzzz|z{z{z{zyzy{yzz{zz|zyzzzzyyyzzzzzzzzzzzzzzzzxzyzy{z{z{zzyzyzyzyzzz{z{{zzyzyyzyyyzzzy{zzzzyzxyyzzz{yzzzzyzzxzyyzz{zzz{zzzxzyzyzzzzzxyzzzzzzzyyyyzyzzyzzzzyzyyzyxy{zzzz{zzzzzyzyzyzzz{zz{yyzxyyyyzzyzzyz{yzyyzy{yzzyzzzyzyyyyzyyzzzzzzzzzyyyyzzyzzzzzyz{zzyyzzyzzyzzyz{z{yzzyyzzy{{zzz{z{yzyzzzzyzzz{zz{{zyzyzzyzz{z{z{zzzzzyzyzz{z{zzz{zzzy{yyyzz{{zz{z{zzyz{{zzy{zz{{{{zzyzzzzz{zz{y{{zyzz{{{zy{{zz{z{{{zzyzzyzz{{zz{{|z{{zz{{z{zzz||{{{zzzz{yy{|{|{{{{{zzzz{zz|{{|{{{|zy{yzzzyyz{{{|{{{{z{zy{zz{{|zz{{zzzyzyy|{{z{z|{{zz{yxz{zz{{{{zz{yy{yzzzyz{|{{{yyzzyyzyyzyzzzyzzyzzyyzxxyyz{zz{zzzzyyyyyyyzz{zzzzzzyyyyyyyzz{z{zzyyzyxyyyzzzyzzz{yzyxzyyxzzyyy{z{zzyyzyyyyzzzyzzzyyyxyyxxyz{zzzzzxyzyyxzyzzzyxzy{yyzzzyyyzzzzzyyzz{zyxzxzzzz{zyzzxzyyyyxyxzy{zzzzzzyyzyzzy{yyz{z{zyzzzzyyz{{{z{{zzyyyzyzyyzz{zz{zzzzxzzzzzzzzz{z{yyzzzzzy{zzz{zzz{yzyzxzzzzy{{{z{yzzzyyyzzz{z{zzz{zzzyzyzzzzyz{z{zzzyz{zzzz{{{{{{{{{zyyzzzzzz{{{{zzzyzzzz{z{z{{{z{zzzzzzz{|{zz{{{yzyzz{{z{{||{|{{zyzx{yzzz{{{z{{|zz{zzz{z{{z{zz{{z{zzz{{z|z{zz{z|{zyzy{{{z{{{zz{zzzzyzz{zy{zzz{z|{zzzzyzy{{{|z{z{zzzxzyyyz{z{z{{z{zyzyxyy{z{zzzyzzyyzzzyyz{zzzzzzzzzxyzyzzzy{zzz{z{zyzyzzz{{zzzzzzzzyyxzyzzzzzyz{zzyzyyyzz{zzzzyyyyyyyxzzzzzzy{zz{zzyyzyzy{zzyz{{yzyyyzyyzzzzzz{zyzxyyyyzzzzzzzyyzyzyyzyyyz{zzzz{yyzyyyyyzz{xz{zyzzzyyyzzz{yyzzz{zxzyzyyyz{|zyz{zzzzzyzzzzz{zz{{{zzzyyyzzzzzzyzzzzzz{zzxzzz{z{zzzzzzz{yyy{{{{{{zzzzzzzzxyz{{zz{{zzzzzyyyz{zz{z{{{zzzz{{zzzz|{{z{zzzzzzz{zzz|{z{{{{zz{zzz{{||{{{{{|zzz{zzzz{{{{zz{{yzzzzz{z{{{{{|{{{zzy{zz{{zz{z{{|{{zz{z{{{{|{{|{zzzzzzz{{z{{{{z{zzzyz{z{{{|{zzz{zyzz{{zz{{{{{{{|zzyzzzzy{zz{{{{zzz{zyzzzz{zz{zzzzzzzzxyxzzzzzz{{zyyyyyyzzzzzz|zzzzyyzyyyzzyz{zzy{yyyyzzyyy{zz{{{yzz{yxyxy{zzzzyzzyyzzyzzy{zyzy{yzxxyzyzyzz{zzzzzzzzzyzxyzzzzzz{{yyzzyyyzy{zyy{zyz{yxyyzzzz{z|{{zzyyyyyzxzzzzyzzzyzzyzyyyyzyzz{{zyyzzzyzxzzyyzzy{zyzyz{yyzzy{{zzzzyzyzyzyzz{zzz{zzzy{yyyyzzzz{{z{zyzzyzzzy{zz{{zzzzy{yzyz{{zzzzzzzzzzz{yyzzz{{{|{zzzzzyyzzzzzyz{z{zzz{zzz{z|{{{{{zz{{z{zzz{z|{{||zzz{xyyzz{z{{{{{{zzz{zzz{{{{{{{{zz{zzzzz{z{z{z{{{yzzz{zz{|{{{zz{zzz{yzzz{{{{{{z{{zzzzzz{{{{{{{z|{{zz{zzz{|z{{{|{zyzzzzyz{{z{{{{{{yzzzzyzz{{zzzz{zzyzyzzzz{zz{zz{yywyyxyyzz{yyzzzzyzzyyyxzzzzz{z{zyyyyyzyyz{zzzyzzyyyyyyzzzzz{zzzzzyyzyyzzyzz{{z{yzyyyyzyyzyzz{zyyyzyyyyxyzzzyyzzz{yyzzyyyyzzzzyzyxyyyyyzy{yzzz{zyxzyyzyyyzzzzzzzzzzyyyzyyzz{{y{zyyyyzxzyyzzyy{y|zyyzyyyyzzzyyz{yyyzzyyyyyz{zz{zzzyzyzzzzzyzzzzzzzyy{yyzyyyyzz{z{zzzyyyzzy{{z{y{{yzyzzyyyzzz{zz{zzzzzyyzyz{zzz{{zzyzyyyyz{z{{zz{{zyzxzyzzz{{z{{zzzzyzzzzz{{zzz{{{zzzzyzzyz{z{{z{{{zzz{zzz{{{zz{{{zyzyz{zzzz{{{{z{{{zz{zz{y{{{z{{{zzzzzzzz{zzz{zzz|yzzzzyyz{{z{{{{z{zzz{yzz{z|{{{{zyyyzyyzz{{z{{{{{{y{zzzyz{|zzy|zzz{zzyyxyzzyzzzzyzyyyzyyy{{zzzzzyyyyyyzzzzzzzzzzyzzyyzyyyyzy{zzzzzyzzyxyyyzzzzzzyzyyzyyxyzzzz{z{yzyyyzzyyzzyz{zzyzyyzxyyzz{yzzyyzzxxyzzzzzy{y{zzyyxyyxyyyyz{z{zzyyyxyyxyz{zzzzy{zzzxyyyyzzzzzzzzyyyzyyyyxyzyyzz{zyyyzyzxzzzzzzz{zyyyyzxyyyzzzz{{yyyzzyyyzz{zz{{{zzzzzzyzyzzz{{{{yyzyyyzzzyzzzzzzzyyzzzy{z{{{{|z{zzzyyzyyzzz{z{{z{zzzzz{yzzzyzzzz{zzzzzzzzz{{yzz{xzzyzzzzz{z{{{{{zzzzz{zzzzz|z{z{zzyy{{zz{z{{{{{zzzzz{zzz{|{{zz{{{yzzzzz{z{{{{{z{zzz{zy|{z{{zz{zzzzzzzzzz{zz{{z{|{{zzzyzz{{z{z{z{zzyyzzzyz{yz{z{{{yyyzzzzy{z{zzzzzzzzzxzzzyz{zzz{zzzzyy{zyzyzyyz{{yyyyxxy{{zzyz{zzzzyzzyyyz{yz|zzzyyzyzyxzzyzyzzzyzyyyyzyzy{zzzzzyzyxyxzxyzzzz{zzyzyxzyyzyzzyyzzz{yzzxyyyyzzzxyzzzyzzxyyzzzzzzy{zzyyxyxyzzyzyy{yzxyyyzyzyyzz{y{{{zyzzyyzyyyyzzzzzyyyyzzyyxzzzzzy{yyzyzzzzy{z{zz{zzyzzzyyyyzzyyyzzzyzzyyyyy{yzzz{zzyyyyzyzzz{zyz{{{zyyzyzzy{{zzz{zzyzyzyzyy{{z{z{zy{zzyzyzzz{zzzz{z{z{yzzyzzz{zzz{zyzy{zyzy{z{zzz{zzzzy{zyzzz{{{{zzyzzzzzzzz{|{{|{{yyzzzzz{zz{{{{{z{z{z{zz{|{{z{{{{zzzyyzzz{z{z{|{{zzzzzzz{zzz|zz|zzzz|zzz{|{{z{z{zzzyzz{{{{{{{z{|z{{zzyzzzz{{zzz{zyzyzyzzzzzz{zzzyzzyyyzyzyzyz{zz{yyyyxyzzzzzyyz{zyyyyyyyyyyyzzz{{yyzzyzzzy{zzzzzz{yzyzzyzz{zyzz{yyzyyyzxz{z{yyzyzzyzxyzyzyzzyzzzy{yyyzyyzzyzy{z{yxyxxyzyxzzzyzzzzyyzyzxyzzzyz{zzyyzzzzyxzy{yzzzz{yzzyy{xyzyz{zx{yyyxzyxzyzyzz{{zzyzzy{zyz{zy{{{{zy{zzyzzy{zzzzzzzzzyyzyzyz{zzyzzzyzzzz{zz{zzzzyzzyzzzzzxz{{zz{{|{yzyz{zyyz{zzz|{{zy{{yzz{{yzzz{z{yzzzzzzzz{zz{|zz{{zzyyz{{{z{|{|{{z{zzyzz{{z{{{{{yzyzzzz{|{{{{|{zz|zzzzz{z{|z{z{|z{zz{{zz|zz{{{{{zz{yzy{{{{zzz{{{y{zy{zz{{{{z{}{{{zz{zz{z{z{{|{zzz{zzzxy{z|{zz{zzxyzyyzyy{z{{zzzzy{yzyzzz{zyz{{zyyyyzyyxyzzzz{zz{yzzyyyyzzzzzzy{zyzyyyyzyzzyzzzzzyyzzy{yzzzyzy{{zzyzyyyzzzy{yzyzzyzxyyzyzyyyzzzzzyyyyzyyyz{yyzzzzzyzyzyyzzyzy{zzzyyyzxyyzzz{z{zzyyzzyzyzy{zzyzz{zzzyzzxyzzzzyz{{zzzzzyyyyzzzzyzzyyyyyyzzyy{z{{{zzyyyzyxyyzyzyz{{yzzyzyzzzzzyzzy{z{yyyzyyyz{zzzzzzz{xyyyzz{zz{{{{zzyyyyzzz{{zzzzzyz{yyzzzz{zzyz{zz{zzzyyyzzz{zzz{{zzzzzzz{zz{{{zzyzz{zz{z{zz{z{{{zzz{zzzz{{|{zy{zzyyyz{zz{|{{{|{|zz{{yyzz{{zzz{{{{y{yzyz{z|{{|{zzzyzzzz{zzz{{{{|z{zzzzyzz{{{zzz{|{{{z{zz{{{|{{z||{zzyzz{z{{{zzzzz{{y{yyzzzzz|z{zz{zzzyzzzzzzz{zyzzzyyxzzxz|zzz{y{zzzzzyxyyzzzy{{zzy{zyyyzz{zz{{z{zyyyyzyyyy{yzyzzzyyzyy{yzzzzy{zzyyzzyzzyzz{zyzyzzyyxyyyyz{zyyzzzyyyxzyyyzyzzzzzzzzyyxyyyzzzzy{zz{yyzzyzyzzzzzyzzzzz{y{yyz{z{zz{zyzzyyyyzyzzzzzzzyzxyxzyzxzzy{z{zyyzyzzyyz{{zz{{{{zzzyyzzz{yzz{zzyxxzyyyz{{{zzzzzzzyzyzzzyy{zy{{zxz{zzzyzz{z{{{{zzyzzyzzyz{|{{z{zzzzz{zzxy{zzyzz{z{zzzyzzz{{{z{|{z{zz{zzyz{zz||{|zzzzzzyyz{{zz{|{{{zz{zzz{|{{{|{{zzzzzz{z{{zzzz{{{zzzz{{zz{{{zz{{{z{zyz{zz|{{{{{z{z{zzzz{{z{{{{{{{{yz{{zzzzz{{z{z{zyyz{zz{{zz{{{{{zy{zyzz{{z{{{{zzyz{yzzy{{zzy{zzzzzzyyzyz{{{zzzz{zyxyyyyzzzzz{z{zyzzzzzxyzy{{zz{zxyzyzyzz{z{{z{yyzyyxyzyzy{{zyy{yyzxyzzyyyzzz{zz{zyxxxzzyz{yzzyzyzyyyzzzzyyzyzz{zyxy{zzyyzzyyzzyzzyyxyyzyzz{{z{{zzyxyyzyz{{yyy{zyzzyyyyyyzz{zyyzzzxyyyyzyzzyzzyzyyzyyzzyzzz{zzz{zzzyzxzyzzzzzz{zzyzzyyzyzz{zz{y{yzzyyzzzyzzy{{z{yyyyyyyxxz{{z{zyzz{zz{zyzy{z{{z{zzyyyyzz{yyzz{{{zzzzz{zzz{{{{{|y{z{zzy{z{{{{{{{|{zzzzzyzz{|{yz{z{yzz{zzz{{zz|{|{zzzzz{{zzz{z{z{{zzzz{{zzz{z{|{{{{y{zzz{yzzz{{{{z{y{zz{zzz{{|{|z|{{yz{zzz{{z{z{{{{zz{zzzzz{{{{{{|{z{yz{{yzzzzzzzzzzzy{zzzzzzzzzyyzzyzzyyyyzz{zz{zzzxzyyzyz{{z{zz{zzzzyzzzz{zx{z{zxzyyzyyxx{zzyyzzzzzyyyyyyyyzz{zzyyyzyyzyzzz{yzzzzzyyyyyzyz{yyzzzyyzxyzzyzyzzy{yzyyyyzzyxzzyzzzzyzxyyyzxxyzzyzyyzzyzzzyzzyzzyy{z{{yzyyyzyzyyzyzzzzyzxyy{zyyyyz{zzyzzyyzzyzyzyz{zzzzzyzyzzz{zy{{{zz{zyyyzzyzzyzy{zyzzyyyyzy{zyzz{{zzzzyyzyz{{{z{yzyzxyyzyzzz{z{z{{z{xzyzzz{zzzzzzz{zzy{zyyz{{|zzzzyzzz{zzzzzz|z{{{yyyyyyzy{||{{z{{{zzzzzzzzz{{{z{{zy{zz{{zzzzzz{{z{zzzzzy{{z{z{|{z{zy{zzzz{z{z{{{zzyyz{zzz{z{{z{{|{{zzzzzzz{{{{{zzzzzzzzzyz{{{{z{{z{yzyzzyzzz{{zz{zzzzzzyyzzzzzzzzyyyyyyzxy{zyzzyzzzzyzxyzzzzzz{z{zzzzzyzyz{zzy|z{zzyyzyyyyzzzzyz{zzzxyzyyzzyzyzz{yyyzzyyyy{zzyz{z{xyyyxyyz{zzzzzzyyyxxxyyyzzyzzzzzzyyyyyyzzyyzz{zyyxzyyyxzy{yzz{zzzzzyyzyyzxzzzyzyyyyzyyxyyyyzzz{yzyyzzyyxzzzy{zzyyyzyzyy{y{yyzzz{yyzzyxyzyyyyz{{yyzzyzzz{z{yz{yzzyzyyyzyzzzz{zy{zzz{zyzzz{zzy{zzzz{zzzzz{{z{{{{{yz{{yzzyz{yzz{{zzyzyzzzyz{{zz{{{zzzyz{zz{zz{zy{{zzzzzyzzy{{{zzz{yyyzzyzy{{z{{z|{zzzyzzy{{{z{z{{z{{z{zz{{z|zz{{{z{zzz{zzz{{y{z{{{{yyzzz{{z{z{|{{{zzzzzyz{{zz{{{{zzz{zzzzzyz{{zz{{{zzyzyyyy|{{yz{zzz{yzzyyy|z{zzzyzyyzyyzyzz{yzyz{zyzyxyyzzz{zyzzzzxzyzyyxzxyzy{zyzzxyyyyzyzyzyzzyzxyyyzyyzyyzzzzyyxzxyxyxzzzyzzzyyyxzyyyyyzzzzzzzyzyyxyzzyyyzy{z{yyzzyyyyy{zzz{zzzyzzyzxyyzyyyzzyyyyyxyyyyz{zyyzzzzyyyyyyzyzzyzzzzzyyyzyzzzyzxyyzyyzyyyyxyzzyzzz{zzzyzxzy{zzzzzz{zzyzyzyzzyyzzzzzyyxyyzzyz{{z{z{zzyzyyyyyyz{zzzzzyyyzzzyzz{{z{zzzzyyzyyyy{zz{zz{{yyzzyyyyz{zz{{zzyzzzyzzz{|{zy{{{zyzzzzyzz{z{z{{zzyz{zzzzz|{{|z{{zyyyyz{zy|{z{{{{{zzzyzyzz|z{z|z|zyz{zzzz{zzzz{{{zzz{{zz{{{z|{z{zzzzzzzyy{{{{z{z{yzzyyy{z{yzzz{z{zzzyyyyyz{z{{zzzyx{yy{yyzz{{yy{zzxyyzyyxz{zyzzzzzzyyzyyyzzzzz{{{{yzzzyzyzzzzyz{{zyzyyyxyz{z{zzzyzzyyyyyyzz{zyzzzyyyzzzzyyzyzyyzzyzzyzzyzzzz{zyzzyzzyzyyyzyyzyzzyyzywzzzz{{z{xzzzzzyyyzyzzzzzz{{zyzz{xzyyy{z{zzzzzyzyyyzzyyzxyzzzzyzzxzzyyzzzzzz{yyzzzyyzy{{yz{|z{zzyzzzzz{zzz{{{{yxzzxzy{zzzyzzzzzzzzy{yzzz{z{{zzyzzzyzyz{z{z{{zzz{zzzyyz{{z{z{z{yzyzzxz{{zz{z{{yyzy{{zzz{{{zz{zzzyzzyz{{zz{zz|{zzyz{zy{z{{z{z{{zzzyzzz{z||{{|{zy{zzz{zzzzz{{z{{{zz{z{{zz{{{{{||zz{{yzz{{z{|{z|{zzzzzzzz{{zz{z{|{{z{{{zz{z{{z{zzz{zyyzyzzz{{{{{{{z{zzz{y{{{|z{{{zy{zzyyyzzzzyzzzyyy{yyyyz{zzzzzzyzzyzxxzzzzyz{{zyzzyyyzyzyzzzyzzyzzzxxyzyzyzzzzzyzzyyyyyyzzzzzzyzyzxyzyxyyzzzzyzzyzyzyyyyzzzzzzzyyzyzyyyyzzzzzyzyxzyzyyzzyyzyzzzzzyyzxyyzzyyz{yyzxzzxyyxyzyzzzzzyyyyzyyzzzyz{zz{zyzyxyyxyzyyy{z{yzyyyzyyyyz{zz{zzyyyyyyxzzzzz{zzzyzzyyyy{zzzyz{{zxyyzzzzzzzyz{{yzyyzzyyzyz{yzzz{yyyzzyyxzzz{zz{{zyyzyyyzz{zzz{{yzzzzzzzy{{{{zz{zzzzyzzzz{{{{z{|zzzzzzzyyzzz{{{{z{yyyzzzz{{{z{{z{zzzy{zzzzzzzzz{{{z{zzyzz{{{{zz{zzy{zzyzyz{zzz{z{zzzzzzzzzz{{{z{{{zzz{yzzzz{z{{z{yzyzzzzzz{|{z{{{zzyzzzyyz{zz{{z{zzzzyyyy{zzy{z{zyzyyzyzyyzzyzzyzzzyyzyzyzzzzzz{{{zzyzy{yz{zz{zzzzyzzzyxyyzzyzz{yyzyyzxyxyzyzzzz{zyzyyyyyzzzzzzy{xxzzyyyyzzzzzzyzyyzyyyyzzyzyzzzzyzzyzyyyyzz{yyzzyyxyzyyyzzzzzyz{zzzyyyxyzzyzyzzzzzzyyxzyyyzyyzz{zyyyzyyyyzzz{zzyyxzyz{yyy{{z{zy|zyyyyyzzyy{yzz{{yzyyyyzyzzzzzzzzyz{yyyyyz{{zzz{zzz{yyyyyzzzyz{zzzzzzzzzy{z{{{{|yyzzz{zzzz{zzz{{yyy{yzzyzzzz{zz{{yzzzzyzzzzz|y{{zzz{{zyyz{{z{{{|z{zzy{y{y{{{{z|{{zzzzz{z{{{{zz|{{{{zzyzzzy|{z{{{{zzyz{{z{{zz{z{{zzyzyyzzyz{zz{z|{zz{zzzz{zz{{{{{{zzzyzz{yy{zz{|{{z{x{zzzyz{zzyzz{{z{yyzyzzy{zz{zzzyyyyyyyzyzzzzz{yzyyyyxzz{zzzzz{zyzyyyyyzyy|{{zzzyz{zyyyzyz{yyzzyyyzyyzyzzzzyzzzzxzyzyyyxzzzzzzzyzzyzyxyyyzzzzzzzyyzzyyxzyzzyyzzyyxyzyyzyzzzzzzyxyyyyzyzzy{y{yyzyyyzxxzyzzyyzyzyzxyyyxyxyzzyzzzzzyyyzyyyyzzyzz|zyyxzyzyyzy{yzyzzzyyyzxzyzzzyz{{zzz{yyyyyzyzzzzz{zyxzyzyzzz{zz{zz{yyzzzzzz{zz{zzy{yzxz|yyyzzzz{zzzyy{yzyzzzzzz{{zyzyzzzyzzzz{{zzzzzyzzzzz{zz{z{z|zzzzzzzz{{zz{{{{|yzzyzyy{{zz{z{z{zzzzz{zz{zzzz|{{zzz{{zzz|{yz{|{{zzz{yzy|z{{{{{zzyzyzzzz{zz{{{{{{zyzzzyzzz{{zzz{{zzyzzy{zzz{{{{{{zzzzyzzz{{{{{z{yzzzzzyzzyzzyz{zzzyyyyxyzzzyzzyyzzzyyzyy{{{{zzz{yyzyyyzyzy{{z{zzzyzzzyyyz{{yzzzzzzzyyzzyzyyzzzzzyyzyyyzyyz{yz{zz{yyzzyxyzyzzyzyyzyzyyyyyyyyzyyzzyzyyyyzxzzyzz{z{zzyyyxxyyyzzzzzzzzyyyyzyzyzzzzz{yyyzyyyyyyzzzyxzzzyzzyzyyzzzzz{{yyzy{zyyz{yzzz{zyxzzzzxyyzyzyzz{zzzzzxzyz{zyy{{{zyyzzyzz{zz{zyzz{zzzzxyyy{z{zzz{zyzyzyyzz{{zzz{zyyyzzzyzzz{zzz{{zzzzzzzzz{{zzz{{zzzzyz{zzz{{{{z{zzzzyyzy{{zz{z{|zzzzzz{{z{zzz|{{yyzyzzzzzzzz{{{{|zzz{{z{{{{|{|{{{zzyzzyz{z{{{{{z{xzzzzz{{{{zzz{zzz{z{zyzz{z{|zzzzzzzzzzzz{zz{z{{{{zzzzzyz{z|zz{{zzzzz{{yz{yzzzzzzzzyyyzyzzzz{yzyzzyzyzzy{zzzz{zzzzyyyy{x{{{zzzzzyzyyzyyyyz{zy{zyyzzzxyzxy{{zzzz{yzzyyyyxyzyyxzzyzyzzyzzyzzzzzzzzzyyzzzyzyyyzzzzzxyyxzyyyzzyy{zzzzyyyyyyzyyzzzz{zzyz{yyyyyyzzyz{{z{yyyyyyyzzzzzz{yzyyzzyzzzzyyzzzyyzzzzyy{{zyyzzz{zyyzyzyzzzzzyz{zyzzzzzyzzzzy{zzzzzyzzyz{yzz{{zzzzzzzzzyzz{zz{{zzyzxyyzzyzzzzz{zzzzz{zyzy{{yzz{zz{yzzyyzz{zz|{zzyzzzzzzyzz{{z{{{z{zzzyzz{|{z|{{zzzzyzzzz{{zz{{{{zzzzzz{{y{zz{{{|{{zzz{{zz{z{{{|{{yzzzzzz{{{{{{{{zy{{z{yyz{{zzz{{{{zzzzzz{{{{z{{{zzzzz{zyz{{{y{{{z{zzyzzyzz{{{z{z{yzzzyyz{zz{y{yzyzzzyyyyyzzzzyzzyyzzyxxyyzzyzz{{{zyyyyzyz{zz{|{zzxyzyyxzyz{{yzzzzzyyyyyxzz{zzzzzy{yxyyzzyzzyy{zyzyzzyzzzzyzzzzyzyxzzyzyyzyzzzzzzzzzyxzyxyyzzz{zzzyyzxzxzzyzzzzzzzzzyyyyyyzyz{y{yzyyyzyzyyzzyyyzzzyzxyyxzyyzy{|{{yyyyyyzzzzzzzzzz{zyzyyzyyzz{{z{{yyzyyzzzzz{{z{{zyzyzzzzyz{zzzzzzzyzzzyzyy{zz{z{yzyyyzzzzyz{zz{|{zzzzzzyzzz{zyz{zzzzyz{{z{{|z|{|zz{zyzzzzzzz{z{{{{zzzzzyz{{z{z{{{zzzzzzyy{{z{{z{zzyzzzz{zzy{{{{{{{zzzy{{zz{z{{z{{zzz{{zzzz{{{{{{{{zz{{yz{{{{y{{{|{{zzzyzy{|{{{{zzzzzzyzzzz{y{z{zz{{{zzzzyz{{{{zzzzyyyzyzzzxzzzyzzzzyyxyzyyzzzzzzzyzyyxxyzzzzy{zz{zyyyzyzyzzzzzzzzzxzyyxyzz{zzzy{zzzyzyxzyzyzz{zyzzyyyyyxxzyyyzzzzzzyyzyxyzzz{z{zzyxyyyyyzyzzzz{yyyyzyzyyxzzz{zzyzy{zzyxyyyzzyyz{zyyzyxzyyyzzzzzzzyyzzyyyxyzzxzyzzyzyxyyyzyyzzzzyzzxyzyyzxzzzzy{zzzz{yzyyzzzzzz{z{yxzzzyzzyzzzzzzzzzyzyyyzzzzzzz{zzyzzzyzzzzyzyzzz{zyyzyyzzzzz{z|zyzy{yzz{{zyzzzz{{zzzzzyzy{z{z{zzyzzzzzyzzzzzzz{{{yyzyzyzz{{{{{zz{zzz{zzxz{{{{{{{zzzzzz{zz{{z{{z{{zzzyzzzz|zz{{|{{zyzzzzzzz{z{zzz{zzzyzzzz{z{zz{{zz{zzyy{z{zzz{{{zzzzzzzz{zz{z{|zzzzzyyzzzzzzzz{{yzyzyyzy{zyzzyyzyyxxyyxzyzzyyzyzyzzyyxyyzzzzzz{zzzxxyzxyzyzzzzz{zyzyyzyzz{zzyzyzyyyyyyyyyzzyzzz{yzzyzyyyyzz{yzyz{zyyyyyxzy{yzzzz{yzyxzyyyzzz{y{zzyzyzyzyyzzyzzzzzzyzyzzyyzzyyzzzzzyyxyyyyyyzyzz{yyyyyyxyyyzxyzzzyyyxzz{yyzyyzzzzzyzzzzxyzy{zzz{zzzyyyyzyz{y{zzz{zyzyzz{yyzzzzz{{yyzzyzyzzzzzzz{{zzzzyyyyzz{z{|{zzzzyyyyyzzz{{{|z{zyz{zyy{{{{z{zzzz{yyzzzzzz{{zzzzzzyzzzzz{zzzz{{zzz{zzzy{{z{zz{z{zyyz{y{z|zz{{{{zzzzyzzz{{{{{z{{{zzz{zzz{|{|{{{{{zz{zzyyz{{{{{{z{z{{{z{zzzz{{{{|y{{{{zzz{{z{{|{|{yzzzzyzz{{z{z{{{zzzzzzzzzzzz{{|zzyxyyyz{z{zzzzzyzyxxyzxy{{zzyzzzzzyzxyyyy{zyzzzyyyxyyyyzzyyzz{zzyyx{yyyzyzz{zzzzxzxxzzyzzyzyzyzyyyyyyzyy{zyzyyyzyzyyyxyzzzzy{zzyxzzyyzyzzzzzzzyyyxyyyyyyzz{xzzyyyyyxyyyyy{zzzzyyzyyyyyyyyzzyyz{zzyzyyyyyyyzyzxzz{yyyzyyyzyzzz{zyyzyyyxzyzzzz{zyzzyyyyyyzy{zzzz{zzyyyyy{zzzyyz{{yyzyzzzzzzzzzy{zzzzyzzzzzzzz{{zz{zyyyzzzz{{{{{{{zzyz{yzzzz{yzz{zzzzzzzyyzz{z{{{zzy{zzzzz{zy{z|{{zzyzzzzzz{z{zzzz{zyzyzzz{{|zzz{{zzz{zzzzz{|{{{{{zzzzy{zzz{{{{{|{zz{zzzz{zzzzz{zzzz{z|yzzzzz{{{{|zzzzzzyz{zz{{|z{yzzzzyzz{zzzzz{{zy{zzzzzzy{z{{{z{zzxzxyyz{zzzzzzzxxzyyyxzzzzyz{yyyzzyzxxyz{zzzzzzyzyyyyyyzzyzzzzyxzyyyyzyzyzzzzyyyyyxyyxzyzyzzz{zyzyyyyyyyyzzzzzzyyyxyyxzyzzzzz{zzxxzyyyzyyzzzzzzyzyyyyyzyzxyz{zyyxyyyxyyyzyz{zzyzyyyx{xz{zzyzzzzyyzyyzzyzyyyzyyyyyyzzyyyzzzyz{zzzyyyzyyzyzzzzzzzyyzzyzyzzzzzzzzzyzyyyzzzyzz{zz{yxyzzyyz{zzyzzz{yy{zyz{xzzz{zyz|zyzyxyyxzz{z{zz{xyzyz{zzzz{yzz{yzzzyzyzz{zzzzzzzzz{{zyzy{zzzzzzzyzy{yzyzz{{zzzzzzzz{zzyxz{{z{{z{zyz{yz{{zzz{{{|{{zzzz{zzy|z{{z{{zzzzyyyzzz{z{{{{{zzzzzzzz{z{zzz{zz{yzzyz{zz||{zzzzyzzyzx{{zzzz{{{zyzyzzy{zz{y|{zzxzyzyyyyzzzzyzyzyyyyzxxyzyyyzzzyyzyzyxyyzzyzzzzzzyxyxzyzyyzyzzzyyzyxzyyzzzzyz{zzzzyxyzzyzyzyzyzyzyyxyyyzyzyzzzz{yzyxyyxyz{zzzyzyxyzxzzzyyzyyzzzzxyzyyzzzyzyzzzzzyyxyzxyzyyzyzyzzyzyxzzyzz{zz{zzyzyyyyyyyxyyzyzzyzyyyyyxyyyzy{zzyyzyyyyxyz{yyz{{zyxzzxyxzz{yyz{zyzyyyzyzyyyzzz{zzzyyyzyyyz{zzzz{yxyyyxyyzzzyzz{zyzyyyyzz{zzyzy{yzzyzyyyy{z{yz{zzzzzzzyyyy{z{{{zzyyzyzz{zzz{{z{{|zzyy{yzx{{zzz{{yzyzyyzzy|zzz{{{zzz{zyzzzzzzz{{{{zyz{yzzyz{{zzz{{zzz{{zyzz{z{{z{{zzyyzyzz{z{{z{zzzzyyzzzzz{|z{zz{{zzyzzzzz{zz{{{{{zyzzzyzz{z{{zzzzzzyyy{y{zzzyzzyzxyyzxyyxzz{zzzzyyyxyxxxyyzyz{yzyzyyzyyyzyzy{z{yz{yyyzzzzzzzzyzzyyyyxyyzzyzyz{zzyxyyyyzyyzzyzz{zzzyyxxxyyzzyzzyyzyyxyyyxzzxyzzyzyyyyzyyyyzzyzyyyyyzzyyyzyyyzzz{yzyyyyyxxzzz{yy{zyyyzxxyxy{zyyzzyxzyxyyzyyzxzy{zyzxyzyzzyzzzzyzzzzyyyyyzyzz{zzyzzyyzxyyyyzzyzzzzzyxzzxzzzz{zzzzz{zyyxzyzyyzzyx{{zzy{yzyzzzz{zzz{zzyyzzzzzzy{zzzzzzzyyzzzzyz{{zz{{yyzyzyyz{{z{z{z|zyzzzzyzz{{{z{{zzzzzzyzzz|zzz|{zyyzyzzz{zzzyz{{{zyyzzyyyz{zzz{z|{xzzzzyz{z{{{{{{zzyzzzyzyzzz{zz|{zzz{zyy{{yz{{{{zzzyyyzzz{z{{{{zzzzzzzzyzzzyzzzzzzzyyzyxzz{zzyzzyyyyyzyyzyzzyzz{zzyzyxyyyzz{{z{{zyzyzzzyzyzzzz{{zzyzyyxyzzz{zyyzzyx{yyzyzz{zy{zyyzyyyyyyyzzzy{yzzxyyzyyzzyzzzyzzyzzyyzzyzzzzyzyzzyzyyyyyzzzyzy{yzyyyyzyyyz{{zzzzyzzyzyyyyzz{zz{yzyzyzyyyyyyzzzzzzyyxyyzzx{zzzy{zzzyyzzzyzzyyzz{zzzyyzxzyzzzzyyz{zz{zxzzzzy{zz{{{zzyzyxzyz{{zz{zzzyzz{zzyzzz{zz{{zzyzyyzyzzy{zzzz{yzzzyzzz{zzz{{{{{yy{yzz{{{z{zzzyzzzzyzz{{z{z{{{zy{zyzyzy{z{{zz{{zzzyyzz{|{{{{{{{zzy{z{{zzzz{{|{|zzzzzyzz{{zz{{zz{{{zyzzzz|{z{{{zyzzzyzz{zz{{{{{zzzz|zz{z{z{{|{|zzzz{zz{zzz{zz{{z{zz{yzy{{z{{{{zyyzzyzzy{z{{zzyyzyyyyyyxyzzyzzzzzzyyyyyyy{{{yzz{{zzyyzyyzzyzzzzzzxyyyyyyyzzz{xzzzxxyyyzxyzy{yzyzyyyzyyxyyzzyz|zzzzyyyzxyyzzzyzyzzyyyyxyyyyz{zzzzyyyxyyyyz{zxzzzyyxyzyzyxyzzzzyzzyyzyyyyzyzyzzyyyyyyzyyyzzzzzyyyyxyyyzyxxyzzyzzzzyyzyzxyyyzzzzz{{zyzyzyyyyzzyzzzzzxzzyxz{zzyyz{zzyyyzxzyyz{zz{zz{yyzyzyzyzzyzz{yyyzyzyyyyz{zzz{zzzzyyzyzyzzzyzyzzyyzyzzzyzzz{z{{|zyyzzy{zz{z{zzz{zyzyxyzyy{{zzy|{yzyzzzyz{{{{z{{z{{yzzzzzzz{{z|z|{zzyz{{zz{z{{|{{zzx{yzyy{{{{z{{{zyy{zzy{{yzz|{{zzzzzyzzzzz|z|{zzzyzzzzzzyzzzz{{{zyzyyzzzy{zyzz{yyyyyzzyyyy{zyzyzyyyxyyyyyzzzzz{zyyyyzyyyzy{yyzzz{zyyyzyxzzyyz{{zzzyyxyyyyyyzyzyzzzyyzyyyzy{yzzzzyyyyyyyyyzzzyy{yzyzyyzyyzzyyzzzzyyzyyyzyzzzzyyzyxyyyyyyyy{zzzzzyzxyyyyyyyyzyyy{zyyyyxyxxzzyzyz{yzyyzzyyxxzzzz{{{zyyxyyyzyyzzzzzzyzzyzyyzzyzzzz{zzyzyyyzyy{zyzzz{zzzzxyzxyyzz{zzzzyzzyyyxzz{{zz{zyxzzzyyyyzzz{z{zzyxyyyyzyzzz{y|zzzyzzzxzy{zzyz{z{zzzyzy{{z{|z{{{zz{yyzzzzzz{{z{zzyzzzyzz{{{|{z{z{zzzzz{yz{yzy{{{{zzzzzyzz{zz{{{{zyyyzzzzz{{{{{{{zy{zzzzzzzzz{{zyzzzzzzz{{z{{{{{{zyz{{y{z{{zzzzz|z{yzyzzzz{z{|{zz{yxzyyyzy{{z{{{zyyzyyyzyzzz{yyzzzzzyyxyxzzyy{zzzyzyyyyyyzzzz{zz{zyyyyyyyzzzzzz{{yyyzzxyzzy{zyzzzyyyyyxywzzyzzzzzyzzyyyyyz{zzyzzzyzyyzyyyzzzyxz{zyxzzxxxyzzyzzz{zyyyyzzyyz{zzzzzzyyyxyyyyzyzzzyzyyyyyyyxyzzyzzyzzyyyyzyyyyzyzyzzzyyxxyyyyz{zzzzzzxxyzxzyyzzz{zyzyzxyzzyyyzzzzzzyzyyzyyxzyyzyzzz{zyzyyyzyzyzzz{zz{yzzyyyywzzzz{zyzzyyzyzzyyyz{yz{zzzyzzyyyzzzzyzzzzyyyyzyyzzzzzzzzzzyyxz{zz{{zzz{{zyzzzzzzz{{z{zzzzzyyzzzyz{z{zzz{{yyzyzzz{{zzzz{z{yzzyzzzzzz{|zz{zyy{yzyy{{{{zz{zzxyzyzzzzzzz{z{{{zzz{zzzz{{zz{{|zzzyyy{{{{y{z|{{zzz{zzyyy{z{{zzzzzzzxyyzzzzzz{z{zzyzyyyyyzzzyz{{z{yyyyzyyzzz{zz{zyzxxyyyzyzzzz{{yyyzzywyy{z{zy{yyyyyyxyxyzzyzz{yyyyxyxzyyz{zyzzyzyyyyyyyyyyzzyzyyzxzyyzyyzxyyxzzxyyyyyxyzyzzz{{zzxyzyyyyzzz{zzzyzyzxzxyyzyzzzzz{zyxyyxyyyzyzyyyzzyzyyyyyzzzzz{zyzxzzzyyyzzzzyy{{zyzzzyyyzzzzzyz{zyzyyyzzyzzzzzz{yyyyyzyyz{{zzy{zyzzzyyzyz{{z{{z{zyyyzyyyyz{{zzzzzzzzzyyyzzzzz{{{zyyzzyzzzzz{z{z{yzzyyzzzzy{z{{{{zyzzzyzz{{y{z{zyzy{yzzyz{{{zzz{|zzzzzzz{z{{z{{{{{yzzz{zzy{{zz{|zzzzzyyzzz{zzz{z{zzyzzzz{zzz{z{z{{zzzzyzzzz{zz{{{zzyzz{zzz{zz|{{zzyyyzzyzz{z{{yyzzz{y{yzxzz{yzzyzyyxyxxyyzzzyyyz{zyyyyyyyzyyyzzzzzxyyyyxxyyyzz{{zzyzzyzyzxzyzzyzzxyxyyxyxzzzzzyzzyyzyyyzyzzzyyz{zyxzzyyyyyyzzxyzzzxyyxxyyzyzzzzzzxzzyyyyxzyzzzzzyyyyyxyxyyzyzzy{zyyzyyzxzyxyyzyzzzyyyzyxxyzzyyzzzyyyyxzyyy{xzzzzzyzzyyyxyz{yzzz{{yzzyyyyyzzzzzz{zzyzyzzyzzzzzz{{yzyyyzzyzzzzzzz{z{zyyzyyyzzzy{{zzzxzzzyyxzzzzzy{yzzzzyzyyzzzzzyyzzyyzyyzzyzz{z{{zz{zzy{{yz{zz{zzzyyzzzyzyzzzz{{{zzyyzzzyx{{{z{{{z{yz{yzzzzyzz{|z{zyy{y{zzz|{{{{|{zyzyzyzz{{z{{yz{zy{zzzzz{{{zz{|{{zyzzzy{zzzzz|{{z{yzyzzzzyz{{zz{zzyyzyzyz{zzy{zzyyzzyyzyzzzzzzyyyzyzzxxyz{zyzzzzyzyzzyyyyxyzz{zzyyyxzzxyzz{z{zyzyy{yzyxzzyzzyzzzzyzxyyyxzyzzzzzyzzzzyyzyz{zzzzzzyyyyyxzxyyyyzyzzzzyxzyyy{z{yyzzzyyzyyyyxyzzzzzzyyyzxyyyxyyzyzyyyyyyyxzyyzyyyzzzzzxyyyxzyxzzzy{yz{zyyzyyyyzyyzzyzzy{yyzzyzyzzz{zy{xzyyzyyzzzz{zzzyyyyzyzyzzzzy{zzy{zyyzzyyzzzzz{zzzyyyyyzz{zzy|zzzyzyzyzzyzzzzzz{zzzyzyzzz{zzyz{zzyzzy{zzyyz{{{{{zzyyzzzy{{z|zz{{yzzzyzyz{{{{{z{zzzzz{zzz{{{zz{{{yzyzzzyz{{{{{z{{zyzzz{zzzzzzy|{zzzzzyzzzz{{zz{{|{yyzzzyz{zz{{{{|{{zzyyzyzzzy{{{{{zzyzzzzzz{{z{z{{zyzzyzyz{z{{{z{yyyyzzzy{z|zzzzyxyzyzyyyyzzzyzyzxyyyyyyyzzyzzzzzzzzyyyyyzzzyz{{zzzyzyzyyzzzzyz{yyzyyzyyxyyyzyzz{yxyyyyyyyzzyz{zyxyxyyxyxy{yyyyzzzyyxxzyzyxzzzzyzyyzzxzyyyzzzyz{yxzxyzzxyxzzyy{yzzyyyyyyxzzzz{zzzyyyzxxyyzyyyz{yzyyyyyyxyzyzyyzzzyyzyyyyxzzzzyzz|zxxzyyyyzzzzzzzzyyzyyyzy{yyyyyz{yzzxzzzzzz{zzzzzyzzyyyzyy{{zz{zzzyzzyyyyy{zzz{zyyyyyyyzy{zzzzy{{zyzzzyyzz{{{{zzzyzzyyz{zzzz{{|{{{z{zzyyyyzyzzz{z{yzyzzyzz{zz{{{{yzzyyzzzy{z{z{{{zyzzz{zzx{zz{{{{zz{{zzyzz{z{z{zzzyzzyzzzzz{z{z{z{zyzzz{y{zz{{{|{zzzyzyzyzyzzz{{zzzzzzzyyzz{zyzyzzzzy{xzyzyzy{yyyyyyyyyzyyyzzzzzyyzyyxyyyzzzzyzzzzzyyzyyyzzyyyzzyxxzyyyyyyyyzzzzzxzyxzzyyyzyzzzzyyyzxzyyyyzzyyzzyyyzxyyyyyz{zxyzzzxyyxyyyyyyzy{yzyxyxyyzyy{yyy{{yzyyyyyxyzyyyxzzyzyyyxyzzxyyzzzzzyzzyyyxxzzyyyzzzyyzyyyxzyzyzy{yzyyzyyxzxyyyyzzzzyyzxyxzzzzzzyyyzzzzzzzyyzzz{z{zzzyzyxyyyzzzzzzz{zyzzzzzyy{zzz{zzyyyyyyyzy{yzzzzzzzzzyyyzyzzyzzz{zzzyyzy{zzy{zzz{yyyzz{zyzzz{z{z{yzzzyyyzzz{y|zzz{yyzyyzzz{zz{{{{yzzzyy{zyzzzzz{{{yyyyzyzz{zzz{{z{y{{zy{z{zz{z{zzzzzzzzyzzz{{{{z|{yzzzyyzz{{zz{{{z{zzyzzyzzz{z{{{yzzzyzzyz{{{zz{zzyyzyyyyz{zzy{zzyyxzzzzyyzzzzy{{zyyyyyyyzzzzzzzyzyyyyzzyzzzy{zzzzyyyyyyyyy{zyyzzzzyyzxzxxyzzz{yzyzyxyzzxyzzzy{zyzyzyzyzzyz{zyzz{yzzyzyyz{yzzyzz{yyyyxyyyyzzzzyzyyyyyyzyzyyzz{zyyzxyyxyyyyzzyzzzyyyyzyyyyyzyzzzz{zyzyxyyyzzyzzzzzzzzyz{zzyzyzzzzzzyzyyxzyyzzzy{z{{y{{yyyyzyzzzzz{xyyyyyzzzzz{y{{zyyyzyyzyyxz{{{zzzzzyzyyyyzzyz{zzzyyzzzyz{zzyz{{zzzyzyzyz{z{{{{zzz{zzzy{xz{{{{{{{{yzyzzz{{{{zzzz{{yzz{yzz{{{{z{{|yzzzzz{{z{{{{|z{zyyzz{zzz{{{{|{{{z{zzyzz{z{yz{z{zzzzzzzzzzz{{{{{|yzzzz{y{zz{{{z{yzzyz{zz{yzzz{|{zzy{zzzzzzz{y{zzzzyzyyzyzzz{yzzyzyyzyyyyzz{yzz{yyzyyxzyxzz{zzz{{yyyzyyyxzzzz{zzzzy{zyy{yzzzzyyyzzzyyyyyyzyz{{{yzyyyyyzyyxzyxzz{zzzzzyyyyzz{yzzzyzyyxyyyyzyzzzzzzzyzyxyyyzzzyzzzzzyyyxzyzyyzzzzyzyzzyyxyxyyyzzzzzyxyyyyzxyzzyzzzyzzyzxyyyzz{yzzzyyxyzzzzzzyzyzz{yyyyyzzyzyzzyzzzzyyyyyzzz{zyzzzz{yzzyzyyzyzzzzzzzyzyyzy{yyzzz{zzzyyyyyyzyzz{zzzzzzzyzzzzzz{zyy{{{zyzy{zyyzzzzz{z{yyzzzz{yz{zzz{z{zzzzzzyyzzz{zz{{{zzzzz{{{|zz{{{{zyzzzz{z{z|{{{z{|z{zzz{zz{{z{{{{{zz{zzzz{{{{z{{{zyy{zzzzzzz{zz{{{zzz{zyz{{{{{z{{zzzzzzzzzz{z{z{{{zyzyyzyz{z|zyzz{yzzzzyyzzzz{zyyyyyyxyyyzzzyzxzzyyyzyxyyyzyzzz{{{xxyyyyyzzyzzyz{yzyyyyxxyzzzzyz{zyzyyxyyyzzzzzz{yyzyzyyyzzyyz{zyyyyyyxyyyyzyyzyzzyyyzyxzyzyzzyzzyyyzyxxyyzzzzyzyzyyyxzxzzzzyzyz{yyyyxzyyzz{{zzzzyyzyyyyyyzyyyzzzzyyzyyzzyzyyzzz{yyzyyzzyyyyzyzzyyzyyzxyyzzyyyzzzyyyzzyzyzyzyzyzzyzyyxyyzy{zyyyzzzzyyyyzyyyzzzzyzzzzyzyzyy{zzzz{zyyy{yyxyzzzzyz{zyyyyzyyzz{{yzyz{zzzyzyyyy{z{zz{z{yzyyzzx{zzzy{{z{yyzy{{zz{{zz{zzzyzz{zz{zzzzyz{{zzyyyzzyz|{{z{{{{yz{zz{z{zz{z{z{{zzy{yz{zyzz{{z{{zzzz{y{{{z{{{{{zzyzzyzzz{z{zz{zy{yzzyyyzzz{zzzzzyyzyzyz{yz{z{zzyyyyyyyxz{zzxzzzzyyzyyyyzzyz{z{{zyyyy{yyzyzyzzzzyyyyyzyyyzzzzzyyzyyyyyyyyz{zzzzzyyyxyzyxyzzzzzzz{zyzyxyyyzzz{zzzzzyyyyzyzzy{zzzzyyyyzyyyzxzzyzyyyzzyyyyyzzzyz{z{zyxyyzyyzzz{zy{zyyyyyzyxyzzzyzyzyzyyyyzyyzzzyz{zzzyyzzyxzzz|zzzzyyyyyyzxy{zzzzzzzyzzyyzyy{zzz{zzzzzyzyyyzzzzzzzzzzzzzzzyyz{zzzyy{xyzzyyyz{{zzzzy{yyxzzzyz{zzzzzzzyyzzzyzzy{{zzy{yzyzzyzy{{z{z{z{zyyzzzzzzz{{z{{{{zzzyzzzzzzz{{zzz{{yy{zyzzzzz{z{zyzzzzzzz{{z{z{{{zzyzzyzz{z{zz{z{yzyzyzzzzzz{|{{z{zyyzyzz{z{{zz{yyzzyyzyz{zzz{{zzyzyzzzzzz{zzzzzzz{yyzzyzzzzy{yzzyyyzxzxxzyzzzzyyzzyxyyxzy{zzzzzyyyzzyzyz{zzyzz{zyzyxzxyzzzzzyzzyzzyyyyyzyzzzzzzzyzxyzyy{yyzzzzyyyxyyxzzzzzyyzzyzzyzyyyyyyyyyzz{yxxyyyxyyzzyzzyzyzzzyyyyzyzyyzzyyzzyyzyyyzzzyzz{zyyyyyyyyyyzyz{zyyyy{yyyyzzzzzzyzzyyzyyxy{zzzzzzzyyzzyyxzzyzy{z{zyyzyyyzyzzyz{z{yxyxyyzzzzzzzzzzyyyyzyyyzzzzzz{zyyzyzyyyzzy{yy{{yyyzzyzyz{zzzz{zzzzyzzzz{zy|{z{zyzzzzzzz{zz{zz{{zzz{zzyyz{zzzzzyzyzzzyzyz{z{z|{{{zzzyyzzzz{zzzz{{zzzzzyzz{z{zzz{{zz{yz{zz{z{z{{{{yzzzzzzz{{z{{{{{zz{yzyyzzz{zzz{zzyzzyzzzzz{z{{{zyyzzzzyzz{zzzzyzyzzyzzyzzzzzzzyyyyxyzxyyzyyyzyzzzyyyyzyzyyzzzyzyxyyyyyzzzzzzyzzyyzzzyyzzzyzyyz{yzzyyyyyyzzyzzz{zyzyzyyyy{zzyzzzyzyyyyzyyzzyzzyyzyyxyzzyzyzyz{zyzyyyyyyyyyyzyzzzz{zyyyxyzyzy{{zyyxzywzzzyzzzz{zzyzzzzyyyyyzzyyz{yyyzzxyyyzy{{{{{zxzzzzyy{{zzzzzzzyzyyxyzz{zyzzzzyzzzxyyyyzyzzzzzzyzzyyzzzzzzzyzyyyywyzxyyzz{zzzz{yzzyy{yzy{zzzzyzzyzzyyzz{zzzyzyzyzzzyzz{z{z{z{zy{zzyyzyz{z{zz{|yyz{yyyzz{zz{z{{zyzzzzzz{zy{zzz{{yzyy{zz{{zz{zzz{y{zyyyyz}z{|{{{{z{zz{zyzz{{zz{{{zzyzzzyzzz{z{{{{z{zyzz{{zzz{z|zyyzyzz{yzzz{z{{{{{yzyzyzyzz{{|{{zyzyyyxx{zzzzy{yzzzyyyzyyyzzzyzyzzzyzyxyzzzzzzz{yyzzzxyyzzyy{yz{zyzyywzyzzzzxyzzzxzyyyyyyyz{zyy{xzyyzyyy{zzzy{{y{zzyyyyyyyzzyyyzzyzyyyyyzz{zyzzzxyyxzyzy{yzyzyzzyyzyyyxzzyzzzz{zzyzyyyyzzzzyz{zzyyyzyzyyxyzzyyzyz{yyyyzyyzyzyzzzyyzzzyyzzyzyzz{zzyzzzyxyzzyzzyy{zyyzyyyzzzyzzz{yyyzyyxyzyzyzzzzyzyyyz{yyzzyzyzy{zyyyyzzzyzzzzz{zzyyzyyyzz{zzxzz{yzyyzzyz{zz{{{{zzzyy{zzyzzz{{{z{{y{zzzzzzyz{z{{zzyzy{{zzz{{z{{{zzzzyzzz{z{z{zz{y{yzzyzyzz{zzz{{{zzz{yzyy{zzyz{z{{z{yzzzz|zzz{{z|{zzy{zzz{z{zzz{{zzzzzzzzz{zzzz{zzzyyzzzx{{z{y{{zyzyyyyyyzzzz{zxyyyxyxxxwyyzzzzzyzyxyyyyyyzzzyyz{yyzyyyzyyyzzzyzzyzxxzyyxzyzzyyzzyyz{yxxxzzyyyzzzxyyxx{zxyzyyyyzyyyyyyyxyyyzzyzyzyxxxyxyzyyzzyzzzyxyyyyyyzzyzzzyyyxyyyyyyyzzzyyyzzyyyxzyyyzzzyyz{yyyxyxyxzzzyzyzzyxyxxyyzzyxyyyyzzyxyyyyxzyzyyy{zxxyyyyyzyyyyyyzzzxyyyyzyzyzzz{yzyyyyyyyyz{zzzzzyzzzzyyzzzzzzyzyzyyzyyyyyz{zzz{{zzyyzzyzyzzzyyyy{zzzyzyzzyz{z{zz{z{yyzyzyzz|zzy{{zyyyzzyzy{{zz{{zzzzyyz{yz{zzy{{{yzzzy{zz{{zz{{{{{zzzzzzzz{{{z{y{zyzzxzyy{{zz{zzzzyyzyzzyzzzz{{z|zyzzzyyz{zzz{y{{zzzyzyyy{{x{z{y{zyyzyzyzy{{{zzzzyyyyyyzyzyzyz{{zzyyyyyyyz{zzzyzzzzyxywyxzyzzzzzzzyzyyyyyzzzzyzzzzyxzyyyxyzzzzyyzxyzyxzyxyzyzz{z{yyzyxyzxzyyyy{zzzyxyzxyyyz{yyzyyyyyxyyxyzyxyyzzyxxyyyyyzyyyyzyzyzyzxxyyzzyzxzzz{zyyyyyy{zyzzzzz{zxyyzyyyxzyx{{zzzyzzyyyyyzxzyzy{yyyxzzzxzxzz{z{zzyzyzz{yzyyzyzzzzzz{yxzyyyzzyzzzzyyzzyyyyz{zyyzy{yyzzyyzzzzz{zz{zyzzyyyxzzzyzz{zzyyyyyzyzzzyzzzyzzzzyzyyyzzzzz|{z{zzzy{zz{{{yy{{zy{zzzyzzz{z{{{z{yzyzzzz{z{z{z{{zz{yzzzyz{{z|z{zzyzzyzzzz{{{{zz|{z{zyzzy{{zzz{{{{yzzzzyyz{{zz{z{z{zzzyyzzz{{y{{{zzzyzyzzzzzz{z{zzzzzzyyzzz{{{{zzzzzzxyyzyzzzzyxzyzywxyyyyzzyyzzzyyxyzyyyyyzzzzzzy{zyyyzz{yyzzz{{yyzyyyyzzzzzzz{yxzzyyyxxzzzzzzyzzyzyxyyyyzyyzzzzyyyzyzyyzzz{yzzyyyxyyyxxyzyyyzzzxyyyzyyxzy{yzzzyyyyyzyyyzzzyzzzyyzzyyxyyzzyzzzzzyyyyzyyxyzyyzzyzyyyyyyzyyzyzzzz{yzyyzzyy{yyzy{{zzxzyyyyyz{zz{{z{yyzyyyyyzzzyyz{zzyzzyyyy{zyz{zzzzzzzzxzyyzzzz{{zzyzzyyxy{{{zz{zzzyzyzzzzyzz{zzz{zzz{yyzzzz{zzzz{yzzzy{zz{{{{{z{zzzzzzyyyzz|{{{z{zyzzzyyyz|{{{z|{z{zzyzzzz|{{z{z{{{zyyzzzz{z|zzz{{zzzyyzz{z{{|zzzzyzzzzyzz{{z{zz{{yzzzzz{{zyz{{{{yzzyzyzzzzzzz{zyzzy{zzzyzzzzz{{zzzyzzxyyzzzzyzzzzyyxyzxxzzzyyzzzyyxyxyyxzzz{{zz{{zyyyzzyzyy{{{{zzyyzzyxy{zz{yz{z{yyyxzyyzyyyzzy{zyyzzyyyyzzzzyzyyyzyxyxyyzyzzzzzzyyyyyyyyzyzyzz{xyyxyyyxzzzzyz{zzzzyzyyxzzzy{yyzzyyzxzyyzzzzzzzzzyyyxzyyyzzzzzzyyyyyyxyyyzzzyzzzyyyzyzyxzzz{z{{{zyyxyzyzzzyzzzzzyzzzyyyyzz{zzy{zyzzyyzzyzzyzzz{zyyzyxxzyz{z{zzzzzyzyyzyzyz{zzz{{zyzzzyzyz{zzzzz{zzzzzzzzzy{z{{|{zz{yz{zzz{{zz{{{zyzzyyyzzz{zz|{{zzzy{zzz{{zzz{z{{zzzzz{zz{zzz{z{zzyzz{zzz{z{z{{{{{zzzzzyzz{zz{z{zzzyyzy|y{z{{{{z{yzzzzyzz{{{{|{{zzzzzzzyz{{zyz{z{yzzzyyy{z{{{zzzzz{yyxzyzyzy{zzzzyyzyyyzyyzzzzyzyzzyzwyyyzzzz{zyyzxyyzyyzzyz{zzz{zzyzyxzyzzzyzz{yzyyxyzyzyz{yzyzxzyyyzxzzzyzzzzzyyzyyyxzzzzzz{yzyzyxyyzzzzzyyyzzyx{yy{yyzyzzzzzzzzyzxyyyzzzzzzzzyyyyxyzyyyzzzyz|zzzzzyyyyzyyzzzzzyzyzyxxzzzzzzzzzyyzzyzyyzzyzzz{zzzyzyyzz{zzzzz{yyzyyyzyzz{{zzy{yyzzyyzyy{{zz{z|{zyy{yzxyzzz{zzzzyyxzzyy{z{zz{{{zzzzxzyz{{z{z{yyzz{zzy{zz{{{{z{zzzzzzzzyz{{zz{{zzyzzzzyy{z{zzz|{z{{zzyz{{{|{{|{{{y{yzzzzz{{{{{{{{yz{y{yzz{{z{{{zzz{zzz{{{z{zz{{zzzzzzzzyzy{{{z{{zyzz{zzz{{{{zz{{yzyyzy{{y{zzzz{zzzyzzzzyy{{{{zzzzyyyzyzy{zzz{zyzzzyyyyyyz{zzzz{zzyzzzyzzzz{z{{{zyyyxyxyyz{yy{zzyzzyzxzzyzz{{{zz{zzyzxyyyzzzzzzzzyzyyzyzyzzyyzzzzzyyxyyxyzz{yyz{zyyyyxyyzyyyz{zz{yyyyyyzzyzzzzzyxyxxzyzyyyyz{yzz{yy{yyxyyzzzyzy{{yzyyyyyyzzzyyyzyzyyyzyyyyzyyz{z{zyzy{zzyzyz{{zy{zyzy{zyyzz{zzzz{zyyyzyzz{yzyzzz{zzzzzyyzzzzyz{{{yyyz{yzyyz{y|}yzzyyyzyzyz{zz{{zzzzy{yzzyz{zy{z{z{zzyzz{zzzz{{{{{yyzzyzzzz{z{|{{{zzz{yzzy{{{z{{zz{zyz{z{z{{z{z{|||z{zz{{yz{{zzz{{|zzzzyz{z|{zz{{{{zzz{y{y{zzz{{|{{yzzzzzyz{zz{z|{zzzzzzz{|{z{z{{{zzyyyzzz{zzz{z{{zyyyzyzzz{zy{{{z{zzyyzyy{zzzz{zyyyzyyyyxyyzzyzzzyxyzyyyyyz{zzz{zzyyyyzzy{y{yzz{{yzzyyyzzyzyzzy{z{zzyxyyyzzz{yyzzzyyxyyyy{yzzzy{zzzxyyyxyzyzyyzyzyyzzzzyyyz{yzzy{xyyxyzyyyzzyzyyzyyzzxyxyzyz{zzz{zzzzyyyzyzzzzzz{yxyzzxyyyzzyzzz{zzyzxyyyyyyyzz{zzzyyz{yxzyz{zy{{yyzx{yyzzzzzzzz|zyyzyxzxzzzzz{{{yzzyzyyzzz||z{{zzxz{zzzzy{z{zzzzyyzyyxyyzz{z{{{zzzyzyzzz{z{zy{{{yzzyyyzzz{z{zz{zzzyyzzzz{{y{y{{|zzyzzzzy{zz{zz{zzzzzzzzy{{zzz{{{zzzyz{yzzyz{{{{{zzyzzzzzz|{{zz{{{zzyzyzy{{{{zzzz{zzzyzz{{{{zz{z{{yyzzzzz{zy{{zz{zzzzzzzyz{zzz{zz{zyzzzzy{z{{z{zzzzzzzyzzzzz{zzzzyzyyyzyyy{zzzyzzyzyzyyyyzyzzzzzz{zzyzyyyzyzz{zzzyyyyyzxzz{{zyyyzzyyyxxzxzzzyyzz{yyyyyzyxyyzzz{z{yxyyyyxyzyzyzzzzzyyxzzyy{zyyzzzzyyyyxyyzzzzzzyzyzyyyzyyzyz{z{{yzzyyzxyyyzzzy{zzzyyyyzyyyyyzzz{z{zyyyyyyyz{yzz{zzyyzyyyyyzyzyyy{zzyyyyyz{zzyz{zy{x{yyyyyzzzzzzz{{yzyzzyz{{zz{zz{{zy{yzyyzzzzzyzzzzyzzzzzz{zzzzy{z{{zyzzyxzzz{z{{zzzzyzzyzzzz|z{z{zzyyzzyzz{{z{{{{z{y{zyzzz{{{{{{zzyzzzzzz{{z{{z{{zzzzyzz{zz{z{{{z{zyzzzzzz{{{yz{z{yzzz{y{|z{{z{{{{zzzzzyz{|{{{{z|{z{zzzyy{z{{{{||{zyyyzzz{z{z{{{{{yyyyyyy{{{{y{zzzyyyzyyzzzzzzyyzyyzyyyyyzyyyyzy{yyyzzxxyzzzzy{zzyzzzzyzyzzzzzz{zzyzzyyzxzzzzzzz{yyzyxyzxzzzzzz{yzyyyyyxyyzyy{zz{yyzyyyxxyy{yyz{zzzyyyyyyyyyyzzzzxyxyyyyyyyzyyyzzzyyzzyyyyyzyz{{zzyyyyyyyzzzzy{y{yzyzzyzyzzzzz{yzyyyyzxyxyz{y{zzzyyzzyyyyzyyyz{yzyyzzzxzyyz{zy{z{yyyyyyyzzzzz{{z{zyzyyzzyzzzzz{{zzzzyzyzzz|zyy{{{zyzzzzzy{z{zz{{zzyyzyyzzzzz{zzzyzzyzzyzz{z|{{zzzzzzzz{z{{zzzz{{zzyyzzzyz{{{{{{{{zy{zzyzz{|zz{{{{zyzyyzzzz{{{z{{{{z{zzz{zz{z{{{z{{zzyyzzzyy{{z{z{{z{yz{zzzz{z{{{z{{{zzzzzzz{z{|{zz{yzzzyzzz{zz{{{zzzzyyyyzzzzz{|z{yzzzzzzzzzz{zyzyzxyzzzyy{zyzz{zyzzzyxyz{zyzzz{zyyyxzzyxyzzyz{z{zyzyyyyyyzzzxzz{zyyxyxzzzyzyyzy{yyyyxyyzzzzy{zzyzyyyxyyzzzyzyzyzyyyxyyzyzzy{zzzzxyzyyyyzyyzyzzzzzxyyxywyzyyzyy{zyzyyyyzyyzzyyz{{zyyyxyyyyyzzzzzzyyzzyyyyyzyzz{zzyyzzyz{xzzyzyzzzyyzyyxyyyzzzyzz{yyyyzyzyyzz{z{z{zzyzyyyzzzzyzzzz{yzzzzzyyzzyz{zyyyzxzyzyzyz{zz{zzzyzzzyz{{zzzzyzzzyzzyyzz{{{z{zzzyzzzzyyz{z{zz{{zyyzyyxzy{z|z{{yzzzzzzzyz{{z{z{z{zzzyzzyz{{zzzzz{zzz{z{zz{{z{{z{{z{zzzz{{{{z{{{zzyzzzzzyzzzz{z||{zz{{{{z{z{{zz{{zyyyzz{yzzz{{{z{z{zyxxzyz{y{yz|{{yzyyyyy{zzzzzz{yyyyzyyyzzzyzzzzxyy{yzyyzyzzzyz{zzyyzyyzzz{zzyzzyyzyzyy|zzzzyyzz{yyxxyzxyzzzyzz{yyyyyyyyyzzzzz{zyxzzyzy{zy{zyz{{zzzyxyxyy{yzyzz{yzzxyxyyzzzzyzzzyzzzxyxzzyyzzzzyyyyxyyyxyzzz{{zzzzzxyyyyyzyyzzzzzyyyzyyyyyyzyzz{yyyyyzyyyyzy{zzzzyyyyyyzzzzzyzz{zzzzyyzzzyzyz{zyyyyzyyzyzyyz{z|{zzzyzzyzzzyzz{yzyzzyxzzyy{zyzy{zzyy{zyzzz{{zzyz{zyyyzzyzz{z{{zzyyzzyzzyy{{{z{{{{xyz{zzzzzz{{z{z{zyzzzzzz{{{zz{{{zzzzz{zzz{{{z{z{{zzyzzzzy{{|{z{{{yzy{zy{z{{{z{{{zyyzz{zzy{zzz{z{{zzzzy{{zz{{{z{{zyzyyzyy{yzzzzzzzzzzzzzyzzz{{z{zyzzyyyyzzz{z{zzyyzyy{yyyyz{zzyzzyzyyyxyyyzyzzzzzyyyyzyyyyyzz{zzzyxyyyxy{zzyzzyzzyyyzyyyxyzzyzzzzzyyxzxyxzzyzzyz{zzyxyyzyzyyzyzzyyyyzxyxyxzyyyyyyyxyyyxyyyyyzxzzyyxyyxyxyyyyyzzzyzyzyxxyyzzzzzyzzzxyyyyzyyyyyzzzyzyzxyyyyxzzyy{{yzyyxxxxyyzzzzyzzzyzyyyyzzz{zzzzzxyzxyyyyzz{zzzzzzyyyyyyyzz{yyzzzzyzxzyzyyzzzzzyyzxyzzyzyyzzyzy{yzzyzzyyzzzzzzzzyyzyzzyzyzzzzzz{zzzzzzzzzzzz{yzzzyzzyzyzyz{{zzzz{zyyyzz{z{{{zzz{{yzzyyzzz{z|z{zz|zyzzyzzy{{zz||zz{z{{zzzzz{{z{z{zzyy{zzzyyzy{|yz{zzyzzy{z{|{{{{{zyzzzzz{yzzyzz{zz{zzyyzzyy{zzzz{zzzyzyxzxz{{zzyzzyyzyxxyyzzzzzzz{yzyyyyzzyyzzz{zzyyzyxyzyzyzyy{{yz{yzyyyyyzyzyz{zzyzyyy{yzzzzzzzzyzyyzyzyyyyy{yz{yyyyyyxyyzyyyzzzyyyyyyyy{yzzyzzzzyxxyyyyyzzzzz{zzyyzxzyxyyzzzzzzyyyyyyzyyyz{zzzzzyyyyxyyyxyyzyz{zyyyyyzyy{zzyzzzyyzzyyyyy{zyzzzzzyzyzzzx{z{zzy{{zzz{yxzyzzzyzz{zyyyyyzzyzyzzy|z{zzzzzyxzyzzz{zz{yyzyyyzzz{{y{zzz{yyzyzyzz{zyzzzzzzyzzzyzy{zz{z{zzz{yzz{yzzz{z{z{zzzzyzyyz{zzzz{{zyyyzzzy{{{zz{|{zz{yyzzzzz{{{zz{{zyzzyyzy{{zy{{z{zzzzz{yz{{{{zzzz{zzyzyzzzz{{z{{{zy{{zy|{{z{{z{{zzyzzzz{zz{zzz{{|zzzzzzzzzz{z{zzyy{zzyyyzz{zzzzyyyyyzzzyzzz{zyzzzxxxyyyzyyyzz{y{zzyxyyyzyzzzzzz{zyzyzzzyzzzzzz{zyzyyyzyzyyyzzzzzyyyxyyyyyzzyyy{z{xzyzyxyzz{yyzz{zyzyyyyyzyzzyzzyzyyyyzyxzyyzzzzyzyxzyzyzyzzzzyzzyyyyyyyxyzzzzy{zyyyzzxyyy{zyzzzzzzxyyyzyyyzzzzz{zxy{y{zyz{yzzy{zzzyyyyyxzzzyzzzzyzyyyzzzzyzz{zz{zyyyyyzz{z{zz{{y{zzzzzyyz{zz{zz{zyyyyyyz{zzzzz{z{zxzzyyyzz{z{zzzyy{yzzzzzz{{z{zzyzzzzyzzzzzz{z{{zzzzzyzy{z{{{{{zzyz{zzzz{zzzz{{zzyz{zz{z{z{{{zz{{{zyyzzz{{{{z{{zzyz{{zzz{zz{zzzzzyzzyzzyz{z{{{{{zzzzzzzz{z{y{{{z{zzyzzyzz{y{{|{zzzzzyzzyzzz{{yz{zzzyyzzz{zzzzz{yyyxyyyzzyz{zyzz{zyyzzyyyzyzyzz{zyyzyyyzxzy{yzzz{zxyyyzzz{zzzzyz{zyzyyyyyzzzzzzzzyzzzzyzyyzzzyz{zyzyzyyyy{zzzz{zzzzzyyyyyzzyzyzzzzyzzyyyyyzzzz{zzzyyzyzzzzyyyzzzzyzzyxyyy{zzz{zzyyzyyyzyyyzzyzzzyyzzzyxzyyzyy{z{{yyzyzzyyzzzyyz{zzzyyzz{yzyz{zz{{yzzzyyyzzz{z{zz{yzz{yyzzzzz{{z{zzzyzzzzyzzz{z{z{zyzyyzzzzz{z{z{zzzyyzzzy{zzzy{{z{yzyz{zzz{{zz{{{zzzz{z{z{z{{{{{|yzzzzyzy{{{{{{z{{zzzzy{zz{{z{{{{zzzzzzzz{z{{{{{|{{zzzzzy{{{z{{{{{zz{zzzz|z|{z{{z{zzyzz{yz|{zz{|{{{zzyzzzz{zz|{{z{zyyzyzyz{{{{{{{zyzyyzzyzzyzz{zyzz{zzyyzyzzzzzz{zyzzyxyyzzzzyzzzyzyyyyzyyzzz{{{zyzyyyyyzzzyzz{{{yzz{yzyyzzzzyy{{zzyyyyzyzz{zzzz{yyzyzxyx{zzzzyzy{zzyyyyyyz{z{z{yzzzyyzyyzzx{yzz{yy{yyzzxyzzzz{zyzzyyxyzzyyyyyz{zyy{yyzxzyyz{yz{{zyzzyzyyyyzyzz{{z{yxyyyyyyzzyz{yzyzyzzyyz{zz{{{zzzzzyyyzyzyz{|{{zzyxzyzzzz{z{z{zzzzyzzyzyzzzz{y{yzzzyyyz{{z|z{z{zzzzzzyzzzzzzz{zzzyzzzyzz{zzz{zzyyy{zyyzzzz{{z{|zzzzyzzyzzz{z{{{zzzzyyyy{zz{zz{{zyzyzzzz{zzz|y{|zzzzzxzy{zzz|zzz{zz{z{z{z{{z|{z{yz{z{zzy{{y{|{|z{yyzzzzzz{{z{{{{zz{zzzyzzzz{zzz{z{{yz{zyzzzzyz{{{zyzyzzyz|zzyzzy{yzzyyzzzzz{{zyzyzyyyyxyxyzzzzzz{zyzyxzyyzyyzyyzyyyyyxyxyyzzzy{zyyz{yyyyz{zxzyzzyzzyyxyzzyyyyzyzyzyxyyyxyyzzyz{zyyzxxzyyy{zzzzzyzyyyyyyzyyzzyyzyyyyxzyyyzzzyzy{yyyxyyyyyyyzyyzzzyyxyxxxxyyyzyzzzzyyyyxzyyzyyyyzyyyxzyyxyyyyyyzzzzyyyzzyyzzyzzyzzzyyyzyyyyzzyyzzzyzyzyxyy{yzzzzzyyzyyyyyzzzzxzzzyzyzyzxyyzzyyzz{yzzyyyyyy{{{yzz{zyzzzxy{zz{z{zzzzzzzzyzzzzzz{zz{{yyyyyzzzz{z{y{{zzyzzyy{yzzz{zzzzzzzzzzzzz{{{zz{{zy{zzz{zzz{z{{zz{zyy{{{y{|z{{{z{zy{{yzzyzz{zzz|{zyzzz{zz{{{z{{{{zzz{{{yyzz{|z{z{zzzyzz{zzzzzyzz{z{yyyyzyz{zzzz{zzyyzyyzxyzzzzzzzyzyyyyyxyyyyyy{zyxzyyyyxyyzzyyz{zyyyyyyxyyzyz{{{yyzyyyzxzzzxzy{zyyzyxyzzzzyyzzyyyxyyyyzyyzyzyzzyzzyyxyxyyzzyyzzyyzyyyyyzyyyzzzzzyzyxyyyyyzzyzzzzyyyyxyxzyzzyyzz{zyyxxxxyyzzyzy{zzyxyyxyxxzyyyzzzzyyyyxxyyyyxzzz{yyzyxxyyy{zzzzzzyzyzzyyzyzzzzyzzyyzyxxyy{zyzy{z{zzyyyyyzyzzyzzzzyzyyyxzzyzyzz{{zyzyyyxzyyz{yyyzzyyzyy{yzzzzzzz{y{yzyyzyz{zz{zz{{z{zzzzzz{zyzz{z{zyyz{zyy{z{z{{{z{yzzz{zzzzz{z{{zyzyyz{zyzz{z{{|zzyzzyzzyz{{{{z{{zyzzyyyzzzzz{{z{zyyzzzyzzzzy{{{zzyzzzzzz{zzz{z{{zzzzz{zyzz{{z{{z{yyzyzzzzzzyz{zzyyzzyyyzzxyzzzyyyyzzzxzxyyzyyzyzyyzyyyyxyyzzyzz{zxyzzy{xzzz{{y{zzxyzzyyyzzzzyyzzyzyxyyzxyzyzzyyyzyzyyxzyyzzyyzyzyyyxzyyyzzzyxyyyyyyzyyyxyyzxy{z{zzyxyyyyzzzzzyzxyzyyyyyzzzzzzzzyyxyyxyxxyyyzzzzzzyyyyxxxyyzzyzyzyzyxyzzzyyyyzzzzzyyyxyyxzyzz{zzzyz{xyxyyyyzzyz{{zyzyzyyxzy{zzzz{yyzyyyzyyzzzz{{zzzzyyyyyz{yz{zzyzyzzzyyyy{{zz{{yzyyzyzyzzz{y{z{zzzzyzzzyy{zz{z{zzyyyzzzy{zy{zz{z{zyzyzyyz{{z{yz{{yyzyyzz{z{z{{{zzyyzzzzzzzzyz{zz|zyzzzyyz{yzzz{{zz{zyzzzzz{zz{{z{yzyz{yz{zzzzz{{{zzz{yyz{zz{{z{{zyzxyzzzzzzz{{{zzzyyyzzzyz{{{zzyyzzyyyyyzzzzyyzyzyyyyyyxx{zzzyyzyzyyyxyy{yyzzyzzzzyyxyyxy{zzz{zyzyyzyyyyyzzzyyzyzxyyzyyyzz{zzzzzyxzyzzxyyzzzy{zzyyxz{yyyzyzzyzzyyzyyyxyyyyzzzyy{yyyyyyyzyzzyy{{zxzzyzzxyxzyyy{zzzyyxxyyxyyzzyzzyyyyyyyzxz{yzzzzyyyyxzyyzyzyy{zzzyyzyyzzxzzzzyyz{zyyyyyyyzzzzzzz{zyyyxyyyz{zzzzzzxyzzyyzyz{{zzzzzzyzyzyyyzz{{y{zzzyz{zyyzzz{zzzzzzzyzzzzzyz{z{{zzyzzzzyzyzz{{z{z{yyzyzzyyyzz|zz{zzzzyzzxy{{yzzzzz{yzy{yzz{{{{{{|{y{zzyyzzz{z{{{{z{zzzz{zzz{{zzz|{zzz{yyzz{zz{z{{zzyzyzzzzzzy{{z{{z{zzyzxzzzz{{zz{zz{zzz{z{zzz{z{{zyyyyzyz{zzyzzzzyzzzzyxxyyyzyyzyzyyyzxxzyyyzzzzzyzyxxzyzyzzyzzzzyyyyyzyyzyyzzzyzzzyyzyzyyzyyyy{zzyyxxzyyyzzyzzz{zzyyzxxxyzzzz{zyzzyyyzyzyz{xzzzyxyyyyyyzyyzyzyyzyyyyyyyyyy{zzzyzzyyyxyxyyyzyyzzzyyyyxyxxyxyyzz{zyzxyxxyyyyyxyzzyyzyyyyyyx{yzyyzzyyzyyyzyzzzzyzzzyyyyzyyyzzzzzzzzzxzzyy{yz{zyzzyzyzzyyyxyyyzzz{z{zzyyyyzyzyzzzz{zyzzyyzzyyzyyzz{yzyzyyy{z{zzzzz{zzyzyyyzzz{zz{{zzyzzzzzzz{{zzz{z|zzyzyyyyzzzz{z{zzyzyyzzy{{{{{{z{zzzyz{{zyzzz{{zzzz{zyzzzzz{{z{|{zyzyzzyz{|{zz|{z{zzzyzyyz{{zzzz{zzzz{z{{zzz{||z{{zzzyzyz{zzzz{{z{zzzyzzyz{zzzzz{yzyyyyyyzy{yzzyywyyyyyyxyyzzyyzyyyyyyxyyzyzzzzzzzxyxxzyyzyzyyz{yyyyyzxyxzyyzyz{zzyyyyyxxyyy{zzyzzyzzxyyyyzzzzzyxzyxyyyxyyzzyyzyzyyyyyyyxzyzyyyzzxyyyxyyxyyzzyzzyyxxxxyxzyyyzzzyyyyyyxyyyxyzzzzzzzyxyyxyxyzzxxzyyzyyyyxyyxyyyz{z{zyyxzzzwyyzzyzzzzyxyyyyyzzzyyyzyzyzzyzyyzz{yzzzzyyyyzyzzzzzzzyz{zyzyyyyyyzzzzz{yyzzyyyzyzzzzyz{zxzxzzxyyzzzzxzzzzzzyyyz{zz{{{{z{yyzzzzzyzzy{zzz{zzyzzyzyz|{z{{z{zzyzyzzyzyz{{z{{zzyzyzyzzzzz{{zz{zzzzz{y{z{{zz{{{y{{zyzz{{|{zz|zzxzyzyz{|z{z{z{z{zzz{{zzzz{{z{z{yzzyyyyy{z{yz{{zyzzzyyyyz{yyzzzyzy{yyyzyyyyyzyzzyyxxzxyyyyzyzzzzxyzyyyxyz{zzyzz{{zzxyyzyzz{zzzzzyzyyyxyzyyzzyy{zyyyxxxyyzzzyzzyzyyyyxzxxyz{zzzzyyyxxzyyyzyzyzz{zzyyyyyyyzyzzyyzzzyzyxxyxyyzzzzzxzzyyxzyzzzyyy{yyyyzyxzxxzyzy{yzzzzyzyzxzxzzzzzyyyyxxyxxyyzyyzzzz{xzyyyxyzzzzyz{zzzzzzxyyyyyyzzz{zzzyyzzyzzzzzz{zzyxzyyyzzzzz{zz{zy{yyzyyyzzzzzyzzzzyzyyyz{zyzz{zzyyzzyyzzzyzzzz{yyyyy{zyzzzz{z{zzyzxzzyyz{z{zz{{zzyzzyyzz{{{{zz{{yyzzyzyzzzyyzzzzyyy{yzzzyzz{|{zzzyzz{yyz{zzzz{z{zzzzyzz|{z{{z{zyzzzzzzyzyz{z{{{zyyzzzyy{{z{{z{zzzyxzyzzzzz|zzzzzzyzyzzxyzy{zz{zzzyyyzyzzzyzz{zyyyyyzyyxzzyzyzyy{yxyyyyyzxyyzzz{yyzyyzyzzzzzzzzyzxyyyyyzzzzzyzzzzzyxxyyxzzyyyyzzyy{yzzzxyzyzzzz{zyyyyyyyzyzyzzzzzxyxyyyxyzyzyzzzxyxyyyyyzzzyyyzyyyzyxyyyyyyyy{yzyyyxyxxyzzz{yyyzyyxyyyyxyyzyyzzyyyyyyyyyy{yyy{yyzyyyyyxyzzzzzzzzzyyyyzyyzz{yzzzzzyyzyzzzzyyz{zzzyyzyyxzyzzz{zzzzzyzzyzyz{zzzz{yzzyzyxzxyz{zyyz{z{zyzyyyyzzzzzz{zzzzzzzyzzzz{{{zzzzyz{yzzz{zzz{{zzz{yyzyy{z{{yz{yzzyzyyzz|{zz{{{{{yzzzzzzzz{z|{{z{zyzzzzzz{zzzz{zzzyzyzz{zzz{zzz{{zyzz{zyz{{{{{{z{{zzzyyy{{zzz{{{zzyyzzzz{zzzy{{zzzyyyzyyzz{zzzz{yyzyyyzyzzzzzy{zzzyyxxyyzzzzzyzzyyyyyyyzyyzy{z{zyyyzzxyxzz{zyzzzzyyzyyyzyyyzyzzzyzxyyzzyzyzzzzz{zyyyyyxyyzzyyyzzyxyyzxyzyyzzyz{zzyyxxyyyyyzyyzzyxyzyyyyyyyzzzyyzyyyyxyxyyz{zzz{zyxzyyyyzzyz{z{zyyyyyxxyyzzyyzy{zzzyyzxyyyzzzy{zzyzzyyzxxzy{zy{zzzx{zzxyzzz{yzyzzzyzzzzxzyzyzz{z{yzyzyzzzzzy{yy{{yyzyzz{yzzzzy{zzzyyyzzyxzzz{yz{zzyyyxzyzz{zzzzy{zyzyzz{zz{{{z{{zzz{yzzzzz{{z{z{zzzzyzz{yz{z{z{|zzzyyyyzy{z{z{{{zzzzzzzzzzzz{{z{{zz{{zyzzz|z{{z{{zyz{zzzz{z{{{{{zzyyzzyzzzzzzz{{{zzz{zzy{{zz{{|{{{yyy{yyzzzz{{z{{zzyyzyyzz{zzzzzzyzzzyyyyzzzzyyzyyzyyxyyxzyzzyz{zzyyyxxxy{zzzzzz{zyyyyzyxzzz{z{{|yzyyzzyyzyz{zyzzzyzyyxzyzyzzzzzzyyyyyyzyzy{yzz{zx{yxyyzxyzzyyzyyzyyyzzyzzyyyy{yzyxzyxyyyyyzzyyyyyyyyzxwyyyyyz{zyyxyyxyyyzzy{zzyzyyzyyyzyyyyzyzzyyxyyyxyyyzzyzyz{yyzyyyyyzzzzyz{zzyyyzyyzzzzyzzz{yyyzyyzyyyzzzzz{yzyyxyzzzzzyz{{zyzyzyxzzyz{z{z{zzyyzzzyyyzzyzzz{zyzzyzzzz|zyyzyzyyzyzzzzzy{y{z{{y{zy{zzzzz{zz{zzzzzzyzzy{{{{z{zz{y{{zzzz{{yz{zzzz{{{zzzzyz{z{|{z{zzyz{{yz|{{{{{{zzzzzzzzzz{{{{z{{{{z{yzy{y{{zz{{zyzzzzyzzzz{{z{|zzyy{{zzzzzzy{{|zzyyy{zyzzzz{zzzzzzzyyzyzzzzyzzyyxyxyyyxyzzyyyz{yyyxxxyyzzz{zyz{yzzyyyxyyzyyzzzzzyyzyyyyy{{zyzz{zyzxyyyxzyyzyzyzyyyyyzxyyzzyyyzzyxyzyyxyyzyxy{yzzyzyyyyyzyyyyzyzxyyzyxyzzzzzyyyyyyyyyyxyzyyzyzyyyyzyyyyxxzyzzzzzyyyyzyyyyzzyxyyzyyyzyxzyyyzzzyyzzxyyyzyxyy{yyzyzzxyyzyyyzzzyzz{{zzy{zyyzzzzzzz{zyzzyyzyyzz{zzyzyyyzyyyyzyzz{zz{zzyyyzyyyyz{zzzzzzzzxyzyyy{zzzzz{yzzyzzyzzz{z{z|zzzyzzyzz{zz{y{z|zzyyzxy{{z{z{{{z|zyyyyz{{z{zz{z{z{zyz{{zz{zz{{{zzyzzyzzzz|z{{{{zzyzzzzyyzzz{{{{{zyzz{yy{zzzz{z{{zzzzzyzz{{z{{{{{zzyzyyzzzzyyz{|{zzyzyzyz{zzz{y|{yzzyzyzyyz{zzzzzyyyyzyyxyzyyzyyzyxyxyxyxyzyyyz{zyyyxyyyyyz{yzyzzyyyyyxxyzzyzyyzzyyxyxyxxzyyyyyyyyyyxyyyxyyyyzzzyyyyxyyyyyxyyxzz{xyzyyyxzyzyxyyzzwxxyyxxxyzyyyyyxyyyyxyxyyyzyz{yzyyxyxzyyzyzzyzzzyyyxxyyxyyyyyyzzyxyyxyyyyyzyyzzyyxyxyyyxyyyzyzzzzyzyxyxyyzzyzzzz{yyyyxyzyzzzzzzyxyyyzyyzzyzzzzzyyyyxyyyzz{{zzz{zyzyyxzyxy{zzyz{zyyyyyxyzzzzzzzzzzyzyxzyyzzzzzzyzyyyyyxzyz{z{zz{z{yzyzzyyzzz{zz{yzyyzzyyz{{{z{{{zz{yzzyyyyzzz{zzzzzyyyzzzy{zz{z{zzzzyyzzzzz{zzzz{zzzyzyzzzzz{z{z{{yzy{zzzz{zzzzz{yzyyzyyyzyz{zz{{zyyzyyzzzzzzyzzzzyyyxyyyzyyzyzyzyzyyxxxyzzzzzyyzyyyyyyzyzzzzz{z{{yyyzyyyyyyyz{zzzzzzyyy{yz{{yzzzzy{yyyzyyyzzyzzzyzyxyyyxzyyyzzy{yyzxzyyyyyzyzzzyzzyyyyyyzyyyzyzzyzxzzyzxyzzzzzzyzyyyzyyyxyz{zyzzzxzyyxyyyzzzyyz{zzyzyyxxzzzxyzyyzzyyxyzyzzzyyzzzzxzyyyyyyyzzzz{zyyyyyyzyzzzzyzz{zyyyzzy{{yzzzzz{yyyzzyzyz{zzz{z{{xzyzyzyzzzz{{zzzzz{zyxy{zzzz{zzzyyzzyyzzzzzy{{yzzyyy{zyzzzz{zzzyzyyzy{z{zyz{z{{{zzyzyyzzz{z{{zzzyzyzzyz{{{zz{{zzzzy{zzzz{{y{{{{{zzzzyy{y{zz{{{zzzzzzzzzz{{z{zy{zzyzyyz{{y{{zz{{{zyz{zz{zzz{{{|{z{zyzzyy{z{z{|{zz{yyyzzzz{z{{|{{zzzyzzzzyzz{yzzzyxyyyyzxyzyyyzzzxyyyyzxyyxyzyzzzyyyxyyzyzzyzzzzzyyzyyyyxzzzzyzzzyyzyxy{yxyzyyzzzzxyyyyzyyzyyyzyyzyyyzyzyzyyzyzzyyyyyyyxyyyyyyyzzxyxyyyxxyzzyyyzzyxyxxyyzyzzyzyzzzyzyyyyyyzzzzyzyyyyxzyyx{yzyyyyyyxyyyyyyxzyzyzzyyyyyyyyxzzyyzzzyyyyyxxyzyzzz{{y{yzzxxxzyzzzzzzy{zyzzyzzyzzyzyz{zzyyzyxzyyzzy{zzzyyyzxzyzzyyyzz{zyyyzyzzyyzzzz{yzyzzxyyzyzyz{zzzzyzyyyzz{zyyz{z{{zzxzzyyy{zzz{zy{zyyyyyyy{{zzz{zzz{zzzz{zzzzzzzz{zzyyyzzyz{zz|{{zzzyyyzyzyzzzzzzz{zyzyzyzz{{zz{zzyzyzzyyzzzzz{{zzyyzyzyyyzz{zz{{zzzzzyyyyy{zzyz{yzyyyyzzxyz{zzzyyyyzxxxyxyzzyxyyzzzxyxyxxyzyyzyzzyyyyxyyy{yyyzzzyzzyyyxyzzzzzzzyzyyzyxzyxyyyyzzzzyyzyyxyyyyxzyyzzxyyyyyy{zzzzyzzyzyyyyxyyzzyyyyzyyyyyyzyxzzzzzz{yyyyyyxxyyzzzyyyyyyyyyxyxzzzzyzyyyyzyxxyyzxyyyzyzyyxxyyyyyzzzyzzzzyyyyyzyzyzyzz{zyxzxyyyyzz{zyzz{zzzzzy{yz{zzzyzzyzzyyyyyyzzzz{zzzyzyyyzyxz{zzy{{zyzzyzyyzzzzzyzzyzzzyzzzzzzy{zz{yzyyzzyzyzzzzzz{{yzyx{zyz{zzzzzz{zzzyxzzyzzz{{zzyxzzzyzx{y{zzz{zzyzyzy{yzyz{z{z{zyzyzzyyz|zzzz{{zzz{yzzz{zz{zz{{zzyzyzzzzz{z{z{{{zzz{zzz{z{z{{{zzyyyyyzzz{{{zzz{{zyz{zzyz{{zz{zzzy{yyyzyzzzzzzzyyxyxxxxxzyzyyzzyxyyyyyxzyyyyzzyyzxyyyyyyyzzyxzzyyxyyyyyxzyyyyyzzyyyxyzyxzyzyzzyzyyyxyyyxyzyyy{zzxxzyyyxyzyzzyzzyxyyxxzyyyzyzyzyyzyxxxyyxyyyxyyzzyxyyyzyxyxzzxyzyyxyxxxyxyzzzzzz{zyyyyyyyyyyyyyyyzyyxyyyxxzyzzzzyzyxyyyyyzzyzzy{yzyyyyxyzyyyyzyy{zxyyyzzzzzyzz{zzyyzyxxyzzzzzzzzzyxyyzzyyzzzzyzzzzyyyyxzyyzzzzzzyzxyyyyzzzyzz{zzzyzzyzyyzzzzz{zzzzzyyzyyz{zz{zzzzzzyzzyxy{zz{zzyz{xzyyzyzzzyz{z{zzyyzzyzzz{zz{zzz{yyyyyzzy{z{yz{{zzxyyzzyyzzzzz{z{yzyzz{zz{zzzz|{{zyz{zyzy{z{{{{zzzyyyyzyzzyzyzz{z{yyyzyxz{zyz{zzzxxzyyzyyzyzyzyyyxyxyzxyxyzzzz{zyzyxyxyxzyzzyyyzywyyyzzyzyyzyzzzzyzyxyyyyyyyyyzzyyyxxyyyyzyzz{zzyyyyyyyyxzyyzzzzyyyyyywyyyyyxyzyyyyyyyyzyzyzyzyzzyyyyyyyyyyzzyzyzxzyxxxyzyzyzyyzyxyxxyxxyx{xzzzyyyyzyxyxyyyyyzyyyxxyyyyzyzyzyzzzyyyxzyxxyyyyyzzyyyyxyxxyzyzyz{{yzyyzzyyyyyyzyz{zyyzyyyzxz{yzyyzzzzyyyyyyzzzy{yzzyyyyyxxzzzzzzzzyzxyzyyyyz{{yzz{yzyyzzzyzzz{zzzzzyzzzzyzyyzzzzz{{zyxzyyyxzzzy{zzy{yzzyzyz{zzy{{z{zzzyyzzz{{zzyz{zzzzzyzzyzzz{{zz{{zyyyy{y{z{zz{zzzy{yyzyzz{z|z{zz{zzzzzzz{{{z{z{zzzy{zzyzzzz{zz{zyyzyyyyyy{z{zzzyzzzzzyzyzyyzzyzzyyxyyxyyxyyyzzzyyxyyxyxyyzzzyzzyyyxxyyxyyyzyzzzzzxyxyxxzyzzzzz{zyzyxyyxyyzzzyzzzzyyyyxzyxyyyyzzzzzxzyxxxzzzxzzyyyxyyyyzzyyyzzzyyxyyyyyyyyyyyyz{zzyzyyxxyzyzzyzzyzxxxxyyxzyzyzyzyyyyyzyyyyyzyyzyzyxxyyxzyzzzyzzyyzyzyzzyxzyzzyz{yzyyyyyyxyz{yyzyyzyzyzyyyzyyyzyzzyzzzyyyyzzzyzyzyzyzzzyzyzzz{zzzzzzzyyyzyz{zzzy{zzyyzzyxyzzzyzzzzyyzyzzyyzzzzzzyzzzyzzzzyz{z{zz{{yyzyyyyyz{z{{y{{yyyzzxyzzz{zzz{{yzyyyzzyzyzyzz{zzzyzzzyzz{{{z{z{{zyzyzzzy{zz{{{zyyyzzzyzz{z{{{z{{zyy{yyzzzzzz{{zzzyyy{zzz{zzzzzzzyyyyzzyzzzyzyz{zyyxyyyyzzzzzyzzyyyxyyyyyzzyzyzz{yyyxxzyyxyzyzz{zxzyyzxy{yyyzzzz{yyzyyyyzz{zyzz{zyyyyzyyzzy{zzyzyyzxzxyxzz{yzzzyzyyyzxyyzy{yyzyyzzyyyzxyzyyzzzzyyyyxyyyyzz{xyzzyyyyyyyxyz{zzy{zyyzyyxyyyzzz{yyzzyzxyyxyxyyyyyyzyzyyxyzzyxyyyy{zzxyyxyzywyyzyy{zzzzzyzyzzy{zz{z{zyzzyyyyyyyzzz{z{zyyyyxyyzzzzzzzzzyyyyxyyzzzzz{zyzyyyyyyyzz{zy{zzyyyzyyzyzyzzzz{zyzyzzzzyzz{z{z|{yyzyyz{{zzz{zz{{zzzzyyyzzzz{z{{zzyzyzyyzz{zzzzz{zzzy{z{z{zz{zzzz{zyzyyzy{z{{{{{|zzyzzyzzzy{z{zzz{zzzyzy{z{z{{{{{{{z{{|yz{zzz{{zzyzzyyzzzzzz{{zzzyyyyzyzyzz{z{zzzzyzyzzzzzzzyyyyyyyyxyyyyyzzyzyzzyxzyyyyyzzzyzzz{zyxyxyyyyzzyzyzz{yxxyyyxyyzyzzzzzyyxwxzyyyzzxzyyyzyxyxyxyzzxyyzzxyyyyyxxyyzyyzzzyyyxxyyyyyzzzyzzxxxxzxyyzyzyyyzzyyyyyxwyxyyyzzzyzxzyyxxyxyxyzyzzyyyyyyyxzzyyyzzyzyyyxyyxyyyzyzyyyyyyzzyw{zzzzzzzzzxzzxxyzzzzzzyzyyxzxyyyzyzz{zzzyzzyxzyzzzzzzzzzzyzyzyyxyzyyzzzyzzyyyyyyyzzyyyzzzyzyzyyzzz{zzzz{yzzyzzyyy{z{zzz{yyzzzzzyzzz{zz{{zxzyzyyx{yzzz{zzzyzzzzzy{zzzzz{zz{zzzzz{zzzz{zz{zzzzyyzyyz{|{z{{{zzzzzzy{zz{z{{{zzzzzyzzz{y{{z{zzzzzzzyzzzzz{z{zyzzyzyyyzzyzzz{{yyyzyyzyzz{{zz{z{yyyyyyyz{zy{zyzyyyyyzyyyyzyyxzyyyyyzxxyyzzyzzy{yzyyyyxwzyzyz{zzzyyyyyxzyy{zzzyzyzyxwxxyzyzzyzzyyyyyyxzyyzzyzyzyyxyzzyyyyyzzyyz{yyxxyxyz{yzzyyzzxxyxzxxyyzxzyzyyyyyyxyxzyyyyzzzzyyyxyyzyyzzyyzzzyzyyzyyxxyyyzzyzzyyyyyxyyzzzyzyzyxxyyzyyxyzyzzzzzyzxyyyyy{zzyyzzyyyzyxyz{zzzyyzzzzyyzyyyzz|z{z{zzyzxzxyyyyzzz{zyzyzzyzyyz{zzzzzzzyyyyzyyz{zzzzzyyyyyyy{zzzzz{z{zzzzyzy{yz{z{zzzzz{yzzxzx{z{yyz{{{yzzxyyzz{z|{z{zzyzyy{zy{{zzz{{zzyzzyzzzz{z{{z{{zyzzzzzyz{y{{zz{zyzyzyzz{z{z{{z{yzzyzzzzz{z{{{zzzzzyyzzyz{{zzzzz{yyzxyzzyzyzyz{zzzyzxxyyz{xzzyzzyxzyyxxyxyzyzzz{yyxzyyxyyzyyzzyzzyyxyxyyyyzzzz{y{yzyzxxzyyzzxyz{yxxyxyyxyyzzzzyyyyyxzyyzyyzyyzyyyyyyzxxyzyzyyyyyyyzxyyyyyyyzzyzzzyyyyyzyz{yyyzzyyyzyyyyyzzzyzyz{yyyzxxxxzzyzyy{yyzyyyyyyyzxzy{zzyyzyyxxyyzyyyyzzzyyzzzzyyyzzzzzzyyyxyyyyy{yy{z{yyyzyyyzzzyzzzzzzyyzzyzzzzzzy{yz{zzzzzxzzzzzzzyzzzyzzyxyyzzzzzzzzzzyzzzxzz{y{z{zyzzzyyyyzyzzzzz{zzzyzzz{zzzzzzzzzzzyzzyzyzz{zzzz{zyzy{yyy{z{zzzz{{zzzyz{zzz{{z{z{zzzzzzzzz{zzz{{z{yyzzyzzzz{{{|zzzyz{yyzzzz{|{z{{{zyyzzz{{z{{{{zzyyzxzyzz{z{zzz{{zzzzxxyyz{{yzyzzyyzyyxzyzz{yyyyyyyxyyyyxyzy{zzzyyxxyxzxyzzyyzyzyzzyyyzxxyzzzz{zzzzyyyyyyzzzzyzzzzyxyyyzxyzzyyzzyyyyxyyxyzyzyzzzyyyzxyywyzyyyyzzzyyyyxyyyyzyzzzzzyyyyyyxyyyzzyyzzzzyxyyxxyzzyyzyyyyyzyyyyzzxyzy{yzyxxzxyxyyyzxxzzyyxxyxyzzzzzyyz{yxyx{yzxxzyyzzzzyxzxzyyzzzzzyzzzyyyzyxzzz{yzy{y{yyyyxzyyzzz{yzzzzzzxyyzyzzz{{zzzzzyxzzzyz{{{zzzzzyzzyyyzzz{yyz{zyyzzyyyzzzzzzz{zzzyzzz{zzzz{zz{zyyyzxyyyy{{z{{z{{yzyzyyzz{z{zz|zzzyzy{yzzz{yz{{zzzzyyzzzy{{{yz{{{yyzz{xzzzz|z{zzzyzzyyzyz{{{{z{{{zyy{zyzzzzy{{{{yz{yyyyzzzzzzzzzzxyyz{zyyzzzz{zyzzyyxxyyzyzyzzyyyyxyyyxyyzzyyyzzyyyyyyxyyyzz{zzzyyzyzyyyzyyy{zyzzyyyyyxyyyzzyyzzyxxyyyyyyyyzyyyzyxxyyxxxyxyyzyzyyyyyyzyzzyyyxyyyzwxyyyxyzzyzyzyzxyzyyzyyyyzzzzzyyzyxyyxyxzzzzzyzzyzyxyxyyzy{yyzzyyyzxxyxyzzxyyzyzyyyzyyzyyzyxzzyyxxyyzyyyyzyzy{yzzzyzxyyyzzyzyy{yyzzxxyyyzyzz{zzyyyyyzxyzzyyz{y{yyyyyxyyzzzz{zzzyxyyyyxxzzzzyzzzzxyyyxyyz{zyzzzzzyyxxzyyzz{z{zz{yyyzzy{z{zyzzz{{zzz{zyzzyzz{zz{{zzzyyyzz{zzzzzz{yzyzzzz{zzyyz{zyzzz{yzzzz{z{{{z{zyzyyyyyzzy{zzzzzzyzyzzyyzzzzz{zzzzzyzyz{zzzzz{yyzzyzyyzz{{z{{zz{zyxyyyzzzzzy{zzzzyxyyyyzzzzzyyxzyxyyxyxyzzyyzyzyyyzyxyyyyzzz{yzyyyxyyyyzzyzzzyzxyyzyyyyzzzzzzzzyxzxyyyxyyzyyyyyyyyyzyyyzzxzyzzyxyyyyyyyzzzzyzzzyyzyyyyyyzyyzzy{yyyyyyyzzzzyzzzywxyyyzzxxzyxzyzyyzyxzyyzzyz{zyz{yyzzyyxyxyzzzzzzzyyyzyyyzzzzzzyzyyyyyyxyyyyzzzzyzyyyyxzyyzzzyyz{zyyzyyzyzz{zzzzzzzzxyyzyyz|zzzzzzzyyzzzyzyzzzyzzzyzzyzzyzzzzzzzzzyzyyyyy{{zyy{zyzyzzzyzyzzz{zz|{zzzzzyzyzzzzz{{|{zzz{yyyz{zz{z{{zz{yyzzyzz{zz{zzzzzyyzz{{{zz{z{zzyyyz{yyy{z{{{{{{zzzzzyz{zz{yzzz{yyzzzyzzzz{z{{{y{yyzzyy{z{z{{z{zzzyyyzzy{z{z{z{zzyyzyyyyyz{zy{zzyzyyyyyzxzzzzzyyyyxywxxyzyxyyxyzyyyyxyyyy{yzz{zyxyxyxzxzyzyzyzzyyxzyyyxyyz{zyzzyzyxxyzxyyyzzzyzyyzyxyyxyzyzyyyzyyzzyxyyyzyyyyyzzyzyyyyyyxyyyyyzxxyxyyyyyyyzyzzzzyyyyxxyyyyzzyzzxyyyxxyxyyzzyyyyyyyyyyxyyyzyyzzyyyyxyyxwyyzyzz{zxyyyzzyyzzzyzyzyyyyyyyyyzyyyxzyzyy{yxyyyyyyzzzyzyzyyyxxyyzzzzzzzzyzxyyyyzz{zzzzzzyyzzxyyyz{yzy{yyyz{yyyy{zyyzz{yzyyzyyzyy{zzzzzzxyzzzzzy{zyzyzzz{zyzyzzzzzzz{zzzzyzyzzzzz{yz{{|{zzyzzzyz{zzz{zz{{zzzyyzzzzz{yzz{{zzzyyzz{zz{z{{zzzzyy{yzzyzz{z{{zyzzzzyzyzzzzyzzzzzyzzyzzzzzz{z{{zzyyyyxzzzzz{zzyyzy{yyyzyzzzzzyzyxxyxxxyyxyyyzzzyxyyyyyyyzxyz{yzyyyyzyxyyyyzyzzyyyyyyxyzyzyyyzyy{yyyyxyyzy{yzyzyyzyzyxxzyzyxzzzyyzxyzyzyyzyyyyyxyyyxyyyyxyzzzyzyxxxyxyyyzyzyy{yyyxyxyyyxzyzzzzyyzyxzyyxzyyyyzzyzzyxyxyxzyyyyyzyzyxyzyyyyzzy|{yzyyzzxyyyyyzzyzzzyyyyxyzyyzzyzzz{yyyyyyzyzzzyyyz{yyzyzyyxyyyzyyzz{zyyzyzxzzz{yzzzyyyzyzyyzz{yz{zzyyyxyyxyyzzzyyyzzyyzzyxzzzz{zzzzzyyyyzzyzzzzzz{zz{yzyyyyy{yz{zzyzyyyyyyy{{yzzzzzzyyzyzzzz{zz{{z{{zyz{yzy{zzzzzz|{zzyyzzyzzz{yz{zzyyyyzxzzz{zzz{{zzyzzyzzyzy{zzz{zyyyzyzzzyz{z{{z{yyyyyxyy{y{zzz{yzzxyxyyzyyzyyyyyyzxyxyxxzzyzyyzyyxxyyxxxyyzyyzzyyxxyxzyzxyzyyzzzyyyyyyyyyy{yxyzyyyyxyyxyxyzzyyzyxyxxyyxxzzyxzzyyyxyxyyyxyyyyyyzyyzxxyyyyyxzzyyzyyxxyyyyyzzzzyzzyyxxxxxxyyzzzyzyyxyyyyyyzyyyyzzzzyyxyyyxxyzyyyyyyyyxxyyxyyyyyzzyyxzyyyxxzyyyzzzzyyyyyyyzyyzzyzzzzyyyxyyzzyzyyzzzyyyzxyyzzyzyzyyzyxyyzxyzzyzzz{yzzzzyyzyyyzzzyz{zyzzyzxxzzzzyzzyzyzyzyyzzzzz{z|zzyzzyyyyz{zz{zz{zyyyzyzyzzzzzyz{yyyyzzzyyz{zzzzzzzzzxzzzzzzzyz{zz{zzxyzyyy|{z{z{{zy{zzyzyzzz{y{z{{zzyzyyyzzzzzzzz{z{yyzyy{z{zzyzyzyyxzyyyzzzyzzzzzzyyyyzyz{zzyyzyzxzwxyyyyyzyzzzzzyyxzxzyyyzyzzy{zzyyxyyyzzzy{zyyyyywxyzyzyzy{{zzzxyyyxyyzzzzyyzzyxyyzyyyzyzzyzyzyyxxyyxzxyzzyy{zzyzxyyxyzyzzyzzzyyyyyzyyyyyzzyyzxzyyyyzyy{zzzzzyxyyyyyxyyzzyzyzzyyyyyyyyzzxyzyzzzzyyxzyyyzyy{zzyyzyzyyyyyzyxz{yzyxzyzzyzyyyzyzzzzyzxyyxzzzzzyzz{zzyxyxzyyzzyyyyzyxyxyyxyyzzzzzzzzzyzyyzyz{yzzzyzzxzyyyyyzz{y{zzzzzzyyyzyz{zyyzyyzzyyzyzzy{z{z{zyzzzyzzzz{zzzzz|zzyzyzyzzz{zz{yz{zyzz{zzzz{{zzz{zzzyyzz{zzzyzzz{zzyyzzzyzz{{{zz{{{zyzzzzyzz{{z{zzzzzzyzzzzzzyz||{{zyz{yy{zzz{|{z{{yzxzzyyzzzz{{z{yyz{xzzyy{zzzz{yzzyxyyzyyyyy{zyzxyyxzyyxyzzzzyyzzyzxzyyyy{zzyzzzzzyyyyyyyyyzzzzzzyzyxyxyzyzyyz{zzxyyxxzwzzyyyzyzyyzyzyyxzzzxyzyzyxxxyyyyzz{zyyyyxxyxzyyyyyzyzyyyxxyxzxyyyyyzyzzxzyzxyxyyyzyyzzzyyyzyxyyyyzyzzyzzxyxyyyxxyyyxxyyzzxyyxyyyzzxyyzzzyxyyxyxxzzyyzyz{zyyyyyzxyzyzzzz{yyyzyyyyzyzyzzzzyzyyxyxzzz{xzz{zzyyyyyyyzzzzzzzyyzyxyzy{zz{zzyzzyzyyyyyyzzzzzy{zzzzzzzzzzyzz{zzzyz{z{zz{yzzz{zz{zyzyyzyyyzzy{{z{{yzzzyyzy{{z{z{{zyyy{yzzz{z{|{zzzzyyyz{zxzz{zzzzzzzzzyz{z{zzz{z{zzyzzzyy{{zz{{{{zzyyzzzzzzzzz{{{{zzyzzyyyzyzy{{yzzzzzyyyyzy{zzzzyzyyyzyyyzz{yyyyyyxyywyyxzyzyy{yzzyyyxxyzyyyyz{zyyyyyyyyyyzyzzzzzyzyxzzyyyzzzzzyyyyyxyyxyyzzyyyyyxzyyxzyyzzyzzyzzyzyxyyyyzzyyzyzyyyxyyxyzyzzyyzyyxyyyyxxyzzzy{yzzyyyyxwyyyzyzzzzyxyyxxxyzzyyyzzzzyyyyxyyyyyyyzzyyyyyyyzyyzyzyzzzxyzxyyyxyyzzyyyzzzyyyxyyyzyzyzzzzzyyyyyyzyyzzzyzyyzyzyzzzzyy{z{{zyyzyyzyzyzzzzz{zyzyyzyx{zzzzzzzzyyzyyzy|yzzzz{{z{yzzzzzzzzz{z{{yzzyzyyyzyz{{z{{yyzzyyyy{z{{z{zy{zyyzyzyz{z{zzzzzzzyzzzzzzzzz{{{zzzyyzyz{|z{{zzz{zzzzyzzy{{{z{zz{xzzzyyyz{{{{zzzzzzyyyyzzzyzz{{z{yzyzzzzyzzzzz{{zyyyyyzyy{z{zzz{zyyyyxyzyzzzzyzyyxyyzyxyzyyyzyzyxzyyyxyyyyzyzzzzzyxxxyzyyzyyzzzzyyxyzyxyzyyyxxyzyzyyxxxwzxzzyyyzzyyxyyxyxyzyzxyyzyyyyxyyyy{yy{yyyxywyxxyyyyyyzzyyxyyyxyxzz{yyyzyzxyyyzyyyzyzzzzyyyzxxxxyyyxyxy{zyyyyzyyxxyzzxyzzxxyyzxyxzzzzyzzzyyyyyyxyy{yzzy{zyyzyzyyxyyzyzzzzzyzxyxzzyyyyzzzzyyzyxyzyzzzzz{z{zzyxzxzxzzzz{zyzyyzyyyxyzzyzzzzzzyzyyyzyzzzyyzzyzzyyyyyzyz{{{zzyzyyyz{yzz{y{yzz{zzyyzyyyzz{zzzzzzzyz{yzzz{zzz{z{yzzzzzzz{zy{zz{{{yzzz{y{{{zz{zzz{{zy{zzyz{zzzzz{zzzzyzzyzz{z{z{{yzyyzyzzz{z{zz{zzzyyyyx{zzzzz{{{zzzzxzzzzzzy{z{yyzyyyyyy{yzzyyyyxyzxxxyyx{zzyzyyxxxyyyzy{yyzyyzzzxyxyzyxyyzzzzz{zyyyzxyyzyzyxxzzyyxxxyyxzyzzzzz{zyyyyyyyxzxzyyyzyyyxyxyyyyyyzyyyyyyyxxyxyyyzzzyzxxyxxyyxyzyzyzyyyxyyyyyxzyzyzzyzxxyyxyxxzzy{yyzzzyyyxyyxxxyzyzyyyyzyyzyyxyzyzyzzyxxyyzyxyyzzxzzyyyyxyyyxyyyyzyzzyyzyyyzyyyyzyzzzxxzyyzzxzzzyzzzzyyyyyyyyyzzz{{{zyyyyyyzyy{yyzz{zzzyzyyyzzyyzyz{yyyyzzzyzzz{z{zzzzyzzz{zyyz{zyzz{{yyyyzzzzzzzy{{zyyyyzyyyz{zzz{z{{zyyyzzz{zzz{zzzzyyzyyzyz{{zzz{z{yy{zyzz{{{zy{z{{zyyzzyzyzzzzz{|zz{{zyzzzzzzzyzzyyyzzzyyyzyzz{zzzyyyxyyyzz{zzy{zzyzyzyyyzyzzyzxyxyyyyyxyyzzzzzzyzxzxyyyxyyzzzyyyyyyyyyzxzyzyzyzzzyzyyyyyyzzyyyyyzyyxyxyyyyyyyyzzyyyyyyxwyzzyzzyzyyyyyxyyyyzyyyzyyxyxxzxyyyyyxyyzwyyyyyyxxyzyyyyyzyyyyyxyxzyyyzzzyyyyyyyyyyyzyyzyzxyyxyxywyyyyxyzzyzxyzxyxzyyyzzyyyzyyzyxyzzyzyzzyxyyzyzyyzzyyzz{xyyyxxyxzzyzy{yyyyzyxyyyzzyy{yzzzzzzyxyxyzyzzzzzzyyyyyyxz{zzyyzy{yyzxyyzyzzyzyzzyzxyyyyyy{{zzzzyy{yzzzyzzzy{z{zzzyzzzzzxzyyz{{zzzzzyzzzzzzyzy{z{zzzyz{yzzzzyy{{{{yzyyyyzz{zz{z{{zzzzzyzz{z{yz{|y{yyyyyzyyyyzzz{zzzyz{zzyy{zzzzz{yyzyzyzyzzzzzz{{yyzyyyyyyzz{zzz{zyzyxyyzzzzzyyyyyxyyyyxzyyyzyyyzzyxxyxxyyyzyyyzzyzyxxzyxzyxxz{zyyyzyyzyyyzzzyyzzyyzyxxzxyzyyyzy{zzyyyxxxyyzzxxyyxxyyyyyxzxyzyyzyyzyyyyyyzyyzzzyyxyyyxywxxzzyzzzzzyyxxyxyyzz{zzzzyyyxyxxxxyyxyyzyxxxyyxxxyzyzzyyzyzxyxyyyxyxyxzzyyyxzyyyyyyyzzzzzzzyyyxyyzz{yyyyzxyyyxxyyyzyyzzzzzyzzxxxyzzzzz{zzzyyzyzzyyzyzyzzzzxyzyyy{zyzyyzzzyyxyyxyz{{zxyyzzzzzyyzyyzzzzz{{zzz{zyzzyzzzyzz{{zyyyyyyxzzz{zzzzyyyzzyyzz{y{y{|zyzzyyzzyzzz{zzzzzzyzxyzyzzz{z{z{zzy{zzzzyzyy{{{zzyzyzyxzyzzz{zzzzy{y{zyzzzz{z{zzzzyyyxxzzzzzz{{{zzxzzyyyzzyzzzzyxyyyyxyyxy{yzzxyyyxxxxyyzyzyyzzzyyxxyyxxyzzyyzzzxzxyyxyyyyyyzyyzyyyzxyxyzzyzyxyyyyxyxyyyzyyyyyz{yxyxyyywyyyxzzzyyxzyxxxyzxzwyzyyxzyxyyyyzzxzyyyzxyxxyyxyyzzzyzyyyyyxxywyyyzzyzzzyyxyxxyxyyzzzy{zzyyyyyyxyyyyyxyzyzywyyxyzzyzyzyzzyzxyyxyyzyyyzzzzyyzzxxwyzzzyzyzzyzyzxyzyzzyzyyzyyyyyyyxzzzyyyzyyyyzzyyyyzyzzzzyzzzzzyyxyyyzyyzyxzyyyyzxzzzzz{{zzyyzyzyyzzz{zyzyy{yyyzzyzzzzzz{zzyyzxzxzzzz{{{{{zzzz{zyzz{zy{zz{zzyyzyzzzzzz{{z{zyyzyzzzyzzzz{z{{yzzzzzzzz{zzz{zzzxz{y{zzzzz{z{zzyzyyzyzy{z{{{zzzzyyzzzzzzz{zz{z{zxzzyzyzzzzyz{yzzzyyyyyzzzzzyyyyyyxyyyyxyzyzzzyyyxyzxxyyyzyzzzyyyyxyzzxzyzyzzzzyxyyyyxyxyyyyyzzyzyyyxyyyyzyyzyzyxyyyyyxyyyyyyzzyyxyzyxzxyzyzyzyyyyyywyyyyyyzyyzxyyxyyyxzzyzyyyyyyyyxzyyyzzxyyyyyyyzyzxxwyyyzz{zyyxxyxzxyzzyyyyxyyyyyxyyxyyyz|y{{yywzyzyyyzzzyzzyzyyyyyyyzyyzzzzxyzzyyyyzyy{yz{zyyyyyyyyyyzyzz{zxyyyyyzzzzz{zzzzyxzzxyxyzzzzzzzyyzyzyyyzzzzzzzzzzzzyzzzyyzzzz{{zzyzzzyzyzyy{zz{zzyzyzyyy{{{{zyzzzyyyyyyy{{zy{zzzyzzzzzzyyz{zz{z{zxyzzzxyy|zzz{{z{yzzzyzyyzyzzz{z{yyyy{{zyzyzy{zzzz{yyzyz{zzzy{z{zyyzyyyzyyzzy{{zz{yyyxyyzzz{yyzzzyzyzyzzz{{yyxyyyyyyywywyyzyzyyzzyyzxxxyxzzyxyyyyxyyxy{yyzyzzzyzyyyyzyyxyyyzxyzzyyxyxxyyzyzyyyzzxxyxxyxyyyzyyz{yyxyxzxxxyyyyxzzzzxyxyyyyyzxzyyyzyxyyyyxxyyyyzzzyyyzyxzxzyxzyyyyyyzyyxyyxxzyxyzzzyxxyzxxyzyyxyyyzyyxzyyyxyzzzzzzyxzzxz{yyyzzzzyzzzyxyyyzyyzzzzz{zyzzyyyyyyyzyzyzyyzyyzzyzzyyzzyzzzxyyyxyyy{zyyzzzzyyyyyyzzzyzyy{{zyzyyxyyzzzzz{zzyyyyzyyyz{yzz{|zzyyyyyzzyzyzzz{{{yyzzyzzyzzz{{zzzyyyzyyz{{zyz{{{yyzzzz{yzzzzz{{{zyyyyyzzy{z{zzz{zyyyyzzzzzz{{{{zzyyzzyyyzz{zzz{{zzyzzzyyzzyz{z{zz{xyzzzyzzzyzz{yzyzyyyyzz{yzz{yzzzzyzyxxzzzz{zzyzzyyyyyyyyzzzyzyyyyyyyxyyzzyyzyzyyxyzzyxzyyxzxzzzyyyxyyyzzzz{yzzyzzxxzzyzyzyyzzzzyyyyxyyyyyzyyzzyyyyxxyyxy{yzzzzyyyxxyyyzyz{yyzzzxyyyxyyzyzyyyzyzyxyxyyyyyzyzzyyzyyyyyzxy{z{yzz{zyxyyyxyyyzyyz{yzzxxyxyyyzyyy{zzyyyxzzyy{yzyyzz{zyyyyzzyz{zyyyxzyyyzyxyyzzyyz{y{yxyyyzzzxyzzz{{zyyzyyyzzzzyyzzzyzyyxyyyxyyzzzzzzyzzyyyzzzzzzy{zzyyyzzzyzzzzzzzzzyzyzyzzy{{zzzz{{{yzzyzzzzz{zz{zzzyzyzzzz{zzzz{{{zzzyyyzzzzzzz{zzzyzyzzzzy{zzzz{{zzz{yzzyz{zz{|z{{yzzzzyzzzzzzz{{yzyzzxy{{zy{zzyyzzzyzxzzzyz|y{zz{zzyzzzyyzy|zzzzzyzyyyyzyz{zzyxyxyyyyyxxyzzyyzyzyyyxxyxyyyzzzz{zxyyxyyyxzyyzyzzzy{yxyxzyyyyyxy{yyyyyxyyyzzzyyyzzyyyxyyxxy{yzzzzyyyxyyxxxyyzyyzzzyyxzyxyyxzxzyzyyxxyyyxxxyzyyyzzyyxxyxyyyxyzyyyyyyyyyyyyyyyyyyyzzyyyyyxyxxzyzxyzyyzyxyyxyxzzxyzxyyyyzyyxyzyyzzyzzyyyzzyy{yyzz{yzzyyzxxxyyyzzyy{yzyyyyxxxyzzzxyy{zzyxxzxyyyzzzzzzyyyzxyxyyzzzzz{zyzxyxzyzyy{z{yzzzyzyyyzzyz{{zz{yyyzzyyyzz{{yzzzz{zyzyyzxxzzzz{{z{zzzyyzyz{{zzyzzz{zyzyyzzzzyzzzz{zz{{zy{yz{zz{zzzzyzzxzyyyzz{zy{zzyyzyyz{zzzzzzzzzzyzzyzzzzz{yz{zzzxxxyyyyzzzzz{zzyyxxzyxyyyzyyzzyyxyzyyyzyyzyzxzyyxyxyyyyyyyyzy{yxyyywyxyyzyyzyzzyyyxyyyzzzzyzz{yyyyyxxyyyyzyyzyzyyxyyxyyyyzyzyyyyyyxyxyxzzxyyzzzxzxxyxyyyzyyzyzyyzywyyyyxxzzyzzyyxyyyyyyyyyyyzyzxxxxyyyyyzzzyzyyyyyxzzxz{yzzyy{yzxxyxxxxyyyyzzzxzyxyyyxyzzzzzzzyzyzxzyxyyyzyzzyzyxyyyxyz{yzz{y{xzzyyxxxzyyzzzyzxyyyyyyzzzyzzzzzzzzyzzxyyzz{{yy{zzyyzxyzyyyyyzzyzyxzyyyzzz{zzzzzyyxzzyyyzz{zz{{{zyzyzyzyzzzzyz{zzyy{yyzyzzzz{z{z{yzyzzzzzzzzyzz{zz{zyzzyzz{zyzz{{z{zyzxyzzz{z{zz{zzzzzyyzzzzz{zzzyy{zyzzzzzz{z{zyyzzzyzz{zzzzzyzzzyyzyzyyzzzz{zzyyyzyyzzy{z{{zzzyyzyyyzyzzyzyxzyxyyxxyyyyyyyyyyyzzzyxyyyzzyyzyyzyyyxyyxyyyzzzzy{yyxyxyxyzxzyyyyyzyxyxyxyyyy{y{y{yxyxyyyyyzxyyzzyyzxyxyyyyyzyyzyzzxyxyyx{zyzyxzzzyyxxxyyyyyyyzzyyyyxyxyyyyyyyyyzyyxyxxyywyzyzxyy{yxxxyyyzyyyyxzzyyyyxyzyxyzz{zz{{zyyyyzxyyyzzzyzzyyyzzyyyyyzyyzzzyyyyyxyyzyxzyyzzxxyyzyyxzyyyzyzzyyzyyyyyxyzzzzyzyyzyyyyyyzzzyzzzyyyyyxxzyzzyzzzzzzyyzxyzzzz{{zzzy{zyyyyy{zyzz{zzzyyzzyzyz{zzzyzyzyyyzyyzzy{z{zzzzyzxy{z{z{zz{{zzzzzyyzzyz{zzzz|y{zzyyyyzz|zzz{zyzy{zyyyyzzy{yy|{{zxyyyyy{zz|zy{{y{zyyyzyz{zzzzz{zzyyyyyyyzzzzz{yzyzyzyzyyzy{yzzzyyyyyxywxyyyyzyzyxyxyxxxyyzzzzzzzzyxyyxyyyyy{yzyyyzyyxxxzzzzyzzyzyyyyyxxzzzyyyxzyxyxyyzyzyxzyzzyyyxyyxyyyyyyzyzzyyxxxxxyxyyyzzyy{yxxyxxxyyzzyyyxyyyyxyxyyxzzzyzzyyzyyyyxyzzzyzzyyyxxxxyxxzzxzzyyyyyxzxxxxzxyxy{zxxyywyyxzyyzzz{zzyyzyxyyyzzxzzzzzxyxyyyxyzyzyyzzyyyxyyyyyzyyyzzzyyzzyyzyxzyzz{zyyyxyyyyyyzzyyzzzzyxyyyyyyzzyyzzyzxyyyzyyzz{zzyzzyzyzyzzyyzzzzzzz{{z{yzyyz{{y{y{zzyyy{xzyy{zzzz{{zyy{yz{zz{{{zzz{{yzyyyz{z{yyzz{zzzzyyzyzzzzzzzzz{zzzzzyzzzyzzzz{zyzyyzyyzzz{zzz{yyyyyyzyyzz{{zzzyxzyyxyxzzzzz{zyyyyyyyzyzzzzzyyyxyzzyyyyyyzyzzyzyyzyyxyxzyyyzyz{zxyyxxyxzzxyzzyzzyxxyxwyyyyyyyzyxyyxyywxyyzzyzzzyyxxzyxyzyyyyzzyyyywyyxxyyyyyzyyzxxxxyxxxxyzyzyzyxyxxyyyyyyyyyzyxxxyxyyyyyyyzyyyzyxwwzyxxzzzyyzzyyyxyxxyxyzy{yyyyyyxyxxyyyzyzyyyzxzyyxxxyzyxzz{zyyxxyxyyyzzzzyzzyxxzyyzyzyzzzz{zyxyxyyyyzzzzyzzzyyyyzzyyyz{zy{yzyyzxzyyyzzyyyzzzyyzyyyyyyz{yyyzzyzyyxyzyz{yzzzz{yzyyy{zzyzz{zz{{yzyyzyyyzz{y{z{zzyyzyxzz{{yzzy{{yyyyyzzyyzzz{{{zzyyyyzzzyzzzyzz|{yyyzyzy{zzzzz{zzyyzyyyzzyzzzzz{z{yyzzyyzzzzzyz{zzxyyyzyyyyyzz{zzzzzyxzyzyzyyyzzyyyyyyyxyzzyzzyyyyyyyxxxzyxyxxyyyxyyxwyyzzyyyzzyyxxxxyxyzyyzyzzzyyyyyyyxyyzyyyzyyyyxwxyxyyyyyzyzyyyxxxyyyyzxyzxzzyyyxxxyyyzyyzyyzzyyxyxyzyyyzyzzxyyxxxxxyxyxyyyzyxyxxywyyyyxzyyyyyzxxxxxyyyyyxzzxxxyyxxxxyzyyyzyzyxxxyxxxyyyyzyyxzyyyxxxyyzyyyzyyxyyyyyxzzzyxyzzyxyyyxyxzyzzy{yzyxyzyyxxyyzyyyzyyxyyyxxyzyzzz{yzyyyyyxxyzyzzyz{yxxwzyyxyyzzxyyzzzyzyyxzyzzzzz{zzzyyzyxyyyzyz{zzzzyzyzyyzzzzzz{yzzyzyyyyyz{zzzzz{yyzyz{zzyzzyzzz{zyyxyyzyy{zzzzzzzyzzyzyyzzzy{zzz{xzzzzxzyzyzzzzzzyzyyzyzzyzzzzzzyzzyz{xyzz{zzyzzzyzyyyzzzzzzz{yyzyzyyxyyyzzyzzxyxyxxyyyxyzzxzxzzyyyxxyyyzzyyyzzzxyzxzyxxzyyyyyzyyxxyzxyyyyyyyyzzzyxxxxxxyxyyzyyzyzzxyzyxxxyyzz{yzyyxxxyxyz{yy{zzyyxyxyxyyxyyyyxxwxyyxyxyzyyxyzzyzxyyxyxyyyyyzzyyyyzxwyyxxyyyzyyzxyyyyxyyyyyzxyzyyyxyzwwyxyyyxzyyzxyyyzyyxyzzyzzzyxyxyxyyyyxyyyyzxxxyyxxyyyyzyzxzxyyxxzyzyyzzyyzyzxyzyyyxzxzzyzzyyxzyyyyyyyxyyyzzyxyyxyyyzzzzzzzyzyyyyyxy{yzzzyzzxyyyyyzzzzzzzzzzyyyyyzxyy|yyzzzyzzyzzyyz{{zzzzzzxyyyyzyzyzzzzzzzzyyyzyyyy{zzzzzzyyyzyyyzz{zzzzzz{zyxzyyzzz{z{zzz{yyzyzzyzyy{zz{zzyyyyyzyxy{zyzzzzyzyyyyxyzyzy{zzyyyzzxxxzyyzyzyywyyxyxxyyyyxyyz{yzyxyyzzyyzyzyzyyxzxxxxxyyyxzzzyyyyzyyyxx{yyyyzzyzxxxyyxxyzzyzzyyxyxxyyyyyyyxzzyyyyxyyxyzzzzyyzyxyyyyyxyyxyzxyyyxyyxxyyyyyzyyyxzyyxxyyyyxyxyzyyyyyyxxzxxxzzyyzyxxyxyyxxwxxzxyzyzxzyyyxxyyyyyyzzzyxyxzyxyyyzyzyzzyyyxxyyxyzzyyyzzyxzxyyyyyzzzzyzzyxyyyxyyyzzzyyzyxxyyyxyyzzzyyzzyzyzyyxyzyzzyzyyzyxxxyxyyzzyyyzzyxxyzzyyyyyzzzzyzyzyyyyzyzy{zy{z{yyzyyyzyzyzy{z{yzyyyyyyyzyyzzzz{yyzyyyyyzzzyzzyz{zxyyyyyyzzz{zzzzzzzyyzy{z{zzzzy{xyzzyyzyzzyzz{{zyyyzyzyzzzzz{z{zyyyzxzyzyzzzy{{yyyyyyyyyyyzzyzzyxyyxyyxy{zzzxyyyyxyyxxyzyzyyyzyzyyxyyxxyyyyzzzzyyxyyyyxzyyyz{yyyxyyxyyyyzy{yzzzyzyxyxxxzxyzzyyyyyyyxxxyxyzyzyyzzyyyyyyyyyyyxyyzzyyxxyyxyxyzyyzzyyzxxyzyxyzyzyzzyyxxxyyyyyzzyzxzyzyxyyywyzzyyzzzxyyyyyyxxzyyyyzzxxyxyyyyxyyyyzzyyyzyyzyxxyyxyyyyyyzyxyyyyyyyzyyzyzzyzyyyzyyyzzzzyyzyzzxxy{zzzzz{yyzzyyyxyzzyz{yzzzyzyyzyyzzzzzzyzxyzyzyyzzyzyzzyzyzyyzzyyzzz{zz{zzyyzyzyzyzzzzzzzzyzyyzyzzzzz{{zzyxyzyyzz{zz{{zzyyyxzzyyzzzzzz|{zzyyz{yyzzzzz{{{zzzzzzyz{zz{zzzzzzzzyyyzyzzzzz{{yyyxzzyyzzzyz{z|yyyyzyyyyyzzzzzzzzyzyyyyyzz{yzz{zzyyyxyyzzzyzyxzyzyzyyxxyyyxzzzyyyyyxyyxzyyyzzz{yzyxxzyyyzyyx{zyyyyyyyyyzyyzyzzyyzyyyyyxzyxzyyyzyyzxyyxxyxyyzzzyyxyyyyyyyyzyxyyyzyyyxyyyyyxyyyyyyyyxyxxyzyyyy{zyyxyxyxwxyyzyyzyzyyyyzyyxyzzzyyyyxxxyxzyyyyyxyzzyyyxxxyyxyzzzz{zzzzyyyyyxyyyyyzzzyyyyyxyzzzzyyzzyzyyzyyyyzzzzyy{zyyyyyyyyxzz{yzzzyzyyzyyzyyyzzzzzyyzyyyyzzyzzzy{yyxyyyyyyy{zzzzzzzyyyxyzyyzz{zyz{yyyyyyzyyyzyyz{{zxzzyyyzzzzzzy{{zyyzyzzy{{z{{{z{{{yyzz{yzzyzzzzz{yyzyzyyyzz{z{{z{yyzyyyzzzzz{zz{zyzzzzzy{{zz{z{{{yyzzxzz{zzz{z{zzzzyzyyzzyz{yzyzzyxzzyyxyzz{zy{zzzzyyyyyzyzyyzyyxyzyxwyxyzyyyyzyxyyyyyyyzyzyyyzzyyxyxxzxyyzyzzzzyyzzyzyyyyyyyyzzyyxxyyyxyyzyyyy{yyyxy{yxyyzyxyzzzzyyyxwyxyzyyyyzzxyyyyyyyxyyyyzzyyyxxxyxyyzyzzyyzywxxyxyyyzyzzyzyyyyyxyyyzzyyxz{zxyxyxyyzyyyyyzyyyyyyyyyxzyyy{zzzyyyzzxwzzzzyzyyyyxyyxyyyyyzyyzzyyyyyxyzyxzzxzzzyyyxyyyyyzyzyy{{zyzyyyyxyzz{y{zyyxyxyyyzz{yzzz{y{zxzyxyyzzyyzzzyyyyy{zx{zyz{zz{z{zyzyzzyzzz{zyzzyyzyzyxyzzzz{zz{zyzzzyyyz{{zz{z{{xzy{zzzyzyy{{{{{zzzzzzyyzyz{zz{{yyzyyzyz{yz{{{{yy{zyyy{zzzzz{z{zzzz{zyyzz{z{{zzyyzyxzxzzzzzyzz{zyyyzyyyyzzzyyzzyzuyzy{xz{yzzzyyyxyyyyxxzyzyzzzyyyyyyyxxyyzyyzzyyyyxyyyxzyzyzyzzxyyyywxyyyyyyy{{zyyxvyyxyyzyyyyyyyyxyyzyxyyyyzxyyzyxzyyxyyyyyyyyyzyxwxyzyyyyyyyzxxxyyxxyyzzzyzzzxyyyxyxzyyyxzyyzyyyyyxywyzyxyzy{zyzyyxyxxxxyyyyxyyyxzyyyyyyyzzyzyyxyyyyyzzyyzzyyyxyyzywyyyyzyzzyyxzxyxyyzyzzyzzyyyxzxyyyzy{yyy{{xyxzzxyyyzyzyzzzyyzxyyyyyyzyyz{yyyyyxyxyzzzzzzy{yyyyyzzyyzzyz{zzzyz{yyzyzyyzzz{zzyyyxyzyz{yz{zz{yyxzzyzyzzzzzz{zzzzzzy{yzzzzz{yzzzzzxyy{y{z{zz{z{yz{zyyz|zzzz{zyzyyxyzyyzy{zz{{yzzzzx{yyzzzy{z{zzzzxxyzxzyzzzzz{yyxzyyxxyzzzzzzzxxzyyyyyxz{zyzyxxyyyxyxxyyyyyzzyyxyyxyyyyxyzzyyzyyxxyyxyyyyyyz{yzyzyyxyyyyyzzyyyyzyxxyyxzxzzzzz{yxyyxyyyyzyzyyzzyyyyxyxxxzyxxyyyxxywyxyxyyyyyzyyyxyyyxxxyzyyyyyzyxzyyyxxyzyyyyzyxyyyxzyxyzzyyzzyywyxyyyxzxzxyyyzyyyyxyxxyzyzzzyzyxyyyxzyyyyyyzyyyyxxxyxyyzyzyyyzyyyxyyyyz{y{zyzzyxyyyyyzyzyyyz{yyyyxyyyyyzyyyzz{yyyyyyxx{zyyyyz{yyzyyxyyzzyzzyzyyyyyyzyyyzzzzzzzyyyyyzzyzzzyzz{{zyyyyzxy{zzyz{z{zxzyzyxzz{zzyz{zzyyy{yyy{|yzzzz{zyzyzzzyy{zzzyzzyzyzxzyyzyy{yz{zzyzzzyxzyzzzzzz{zzxzzzzy{zz{yzzzyyyyzzyyzyzzzyzz{zyyyyzxzyzyzzzzyyyyyyyyy{zyyzzzyxyxxxxyyzyzzyzzyyxyyyxyxyzzyyyzyyxxyyyxzzzxzyzzzxyyyyyzxyyzyyzyzyxyxyyxyyyzyyyyyyyxyxxyxzyyz{zyyxxxxxxyyzzxxyyzyyyxyxyyxyzyy{yyywyxxxxxyyzxyyyyxyxyyywxxxzyyyzxxxyxwxxxyyyyyyzzyxyyzyxyxyxyyzzyxxyxyxyxzzyxzy{zzyyyzyyxxyyyyzzyyzywyyyyzzyyzzzzxxyxyxyyyzxzzzzyyyyyxyyyzzzzyy{zyyyyxxywzzw{yzzzyyyxyzyxzzzyzzzzzyyyyzyyzyyyz{yzyzyxzzxyzyzzy{z{yxyyyzyy{zzyy{z{yxzzyyyxz{zzy{zyyyyyyyxyyzyzzzzz{zyyyy{zyyzzz{zz{yyyzzy{z{{zzz{zzzzyzzzz{zzzzzzzzyzyzyyzzzzzzy{zzyzyzzxzyzzz{zyzzyyyyyyxzyzzzz{yzyyyyyyyz{zyzzzyzyyzyyyxyyzzyyyyxyxxxyyxyzzyyyzyyxyzyyxyyzyyz{zyyzyxxxyxzyyyyy{yxzyyyxyxyzyyxz{zyzyxyyxyyzyyzyyzxyxxxyxxyyyyyzyyyyyxxyxxxyyyyyyyyyxxxyyxzzyzyyyyyxxyyyyxzyxyzyzyyxxxxyyyxzzzzzyzxxyyxyxyxxzyzzzyyxyyxxxxyyyyzzyyyyyxyyxxyyyxxyzyxxyzyzyyyyyyzyy{yyxxyyyyzyzyzzyzxyyxxyyyzyzzzyzzyyyzyyyyyzzyxyzyzzyyyyywzzzyyz{zyyyyyyyyyyzyyzz{yyyyyyyyzyzxzzyzyzyyzyyzz{z{zzzzyyyyzxzyyzzzyzz{yzyzyzxzyz{z{z{zyyzyxzzz{{yz{z{yyyyzyz{zzzzzzzzzzyyxzzzzz{y{zz{z{y{yzyyyzzyzzyzz{yxyzzyyzzzzzzzzzzyyzzyyyyzyzyyzyyyxyyzyzzyzzz{zzyyxzyyyyz{zzzzyyxzyzyzyzyzzxyyyxzxxxxxwxzzyzxyyyyzyyxyxyzzyyzzzxyyxyyyyzyyxyy{yzyyyyxyyxzxyyyzyyxzxxxxxyzzyyz{zyzyyyxxxyyxyyyzyyxxxxyyxxyyxyzyyyxxyyyyyyyxyyyzzyyxxxxywxyxxyzxyyxxyyyxyxyyyyyyyxyyyxxyyzyyyyzyyxyxwyyxxyyyyyyyyyxyxywyxzzyxyzzyyxxxyyyxyyyzyyyxyzywzxxyzzzyzyzzzxzyxxxxyzzyzzyzyxzyzwyxyyyyyyzyyxyyzxzyxyy{yyzyzyyyyyyxxyzzzzzzzxxyyyxyyzyzyzzzzzxyyzyzzyzz{yzzyzyyyyzyzzyzyz{{yyyyyyyy{zzzzzzzzxyxzyzyzzy{zzy{yyzyzyzzyzyzzzzzzyyyzyzzyzyzz{{{zyyyyxyyzzzzyzzzzyzzzzxyyzyzz{z{zxyyzzyzyzz{zzzzyyzxyyyyyyzzy{|zyzyyxyyyzzyzyyzzzyzxyyxyzyyyzyyxxywwxyxxyyyyzyzyyyyxyxywyxzyyzzzyyxxxyyxzyyyyyzyxyyyyyxyyyzzyzxzyyxxwxxwyyyzyzzyxxxxyyywxyzxyzyzxyyyxxxxxyyzyyyzyxxyxyyxzyyyyyyyzxyxwxxxyyyyyzxyyyxyyyxxyyzyyyxyyyyxyxxxxyxyzyyzxyyyyxyyxzxyyyxzyyxxxyxyyyzyyzyzxyyxyyxxyyyyyzzzzwxxzywyyyzyyzyzzyyxyxyyzyzzy{yzyxyxyyxzyyzyyzyzzyzxyxyxxzzzzzzzxyyyxxyyyy{yyzyyyxyzxyyy{zyyyzzyyyyyyxyyyz{z{zzzyzyxyyyyzzyzyzzzyyyyzzxyyzzyzzzyyyyyyyzyzzzz{zyzzzzyz{yzyzz{zz{zzyyyyyyyyzzzzzzzyyzzzzzyzzzzyz{{zyzyyxyz{zyzzzzzzyyzyzxyzyyzyz{zzxyyyxyzy{zyyzzzyyzyyzzyyzyyyzzyyxyzyyxzzxyxyzyyyxxzxxzyyzyyyyyyxxxyxxxyyyyyyzyzyxyxxxxxzzxyzyzzyzyyxxxxyzzzxyyyzzywxxxyzzyzyyyzxyyxyyxxyyxyyyzzyyyxyyxxyyyzyyyyyzyxzyyyyyyyzzyzyyyyyxyxzyxyyzyyzzyyxxxzzyyyyyyzyyyyxzxxyyzzxyzzyyyyxwyxxyyyzyz{yzzxyyyxyxyyyx{zxxyyyyyxyzzzyyzzyyyyxxyyyzzyyzzzyxzyzyyzzzzzyzzzyyyyxyxyyzzzzzzzzyxyxxzyzyzzzzzyzxyxxyyyyzzyzz{zyyzyyyzyzzyzyzzzzzyyzyxyyyzzz{zyyyyzyyzz{zyzzz{zyzyyyxyxyzzzzz{yzyyyyzzzzzzzzz{{yzzyzzzyyzyz{z{{yyzyyyzyz{zz{zz{zyyzyyyyy{zzy{{zzyyzzyyyzyzzz{zzyzzyxyyz{zzzzzz{yxyyz{zyzzy{zzzzyyyyyzxyyzyyzzzzzyzyxyyxxzzyzyyyxxxyxyxxyyzyzyyyyyyyyyxyzyyxyzzzyyyxyyyxyyyxyyzzyzyxxxyxxyyzyyy{yxyxxxyyyyyzxzyzyxyyxyxxyzxyyyyyzyyyyxyyyyzxyzyzxxzxyxxyyxzzxxzzywyxyzyxyy{yyyzyzxxxxxxxyyzyyyzyyxxyyxyxwyyyyyzzzzyxyxxxyzyyyyyyyyzxxxxyyyyyxyzyxyyxyxyzyyyyzyzzzxyyzxyyyzzyyyzyyyyyyyxy{yyyyzzyyxyyxyzxyyzyzy{yyyzyzyyxyyyzzzzzzyxxyyyxyzzyyzzyyyyzyyxyzzyzxyzzzzzyyyyyyzzyzzzzyyyxzxzyzzzzyzyzzyyyxyyxzzz{{zzz{x{zyzyyzzyzzxz{zy{yyzzyyzyzy{z{zxyzzzyzyzzzzz{zzyyzyyyyzz{z{yyyzyzzyyxyzzyzzzzzzyyyyyyyyyxzzzyzzyyxyyyyy{xzyzz{zxyxyyyyzzzyzyzzyyzyyyzxzzyzyzyyyyyxyyyxxyzxyyyzyxyxyyxxyyyyyzzyyyzxxyyxyyyyzy{zyxxxxyyyyyxzzyzyzzxxyxxxyyzy{yyzxxxyyxywxzyyyzzyyzxxyxxxzzyxyyzyzyywwxxxyyyzzyyyyyzxxxxyyzyxzyyxxxyxyxwxyzzy{zyzyyyyxxxxxyzzyzzyyyyxxxyxxyxyzxyzzzyxxxyxyzyxxzyyyyyzxyyxyzyyyxyyzxyyyxyyyzzzyz{yzyxyxxzyzzzxzyzzyyxxwxyyyyzyzyyzyyyyyxxyzzyyzzzzyxzyyyyyzyzzyy{zzyyzyyyxzyzzzzyzzyzxyyxzzzzyz{yzyzyxyyyyyzyz{z{zzyyzyyyyzzzzy{zzzyyzzyzzzzyz{zz{zyzyzzzzyy{zzzzzzyzzzyzyyzzzz{{{zyzyyyyzzyyz{z{{zyzyyyzzyzzzzzy{zzzzzxyyzyzzzzzzyyyyyyzyyzyyyzz{zyyyxyyyzzyyyzzyyyyxyyyyzyzyyyyyyxxyzyxxxyzyyzzyyyyyxyyxyyyzzzyyzzyxxxyxzxyyyzzyzyyzxxyyyzyyyyzzyyxwxxxyyxyxyyzzyxyxxyyyyyyyyyzyxxxyzyyxzxyyyzyzyyzxxyyyyyyzxyy{yyyyxxywxzzzxyyyyyyyyxyyyyyxzyyzyyxxxxyyyyzyyyzyyxyyzxxxyyzyyyyzyxyyyxyxyyzxzyyxxyyxyyzyyzyzyyzyyyxxzxzzyyyyyyzyyyyzyyyzzyyyyyzzyyyyyyxyz{{zyzzzyxyyzyzyyyz{yyyyyzzxyyxyy{zzzz{zzyyyyxyyzyzzzzyyzyyyxyyyzyzz{zzzyyzzzyyyzzzzzzzzyyxyzyzxz{{yyy{zzzzyzyzzzzzz{{{{zyzyy{yzzz{zzz{z{zyzyzyzy{yzzz{zzyyyyxyyz{{z{z|zyyzyyyzzyz{y{z{zyyzzzyxzz{{zzzzzzyzzzyyxzyyzzzzzyzyzyyxxyy{{zz{zyyyxyxxxzzzzyzyyzyyyzyzxyzyyzyzzzyyzxxzxzzzyzzzzzyzxyyzxyyzyz{yyzxxyxxyyxyyzxxyzyyyyxxyxzxzzzyzyxyzyyyyxyzyzzz{yyyyxyxxxyyzyzzzzyxyxxyyyzyzzyzyzxyyyzyzyyyyzxzzyzyzyyyxxzyyzz{zyyyxxxxyyyxyzyzyyyxxyxyyxxzyzzyyzyyyxxxyxxyxzzzyyyyxzyyxyyyzyyyzzyyyyzxyyyyyzyzyzyzyxzyzzzyyyzzyzzyyyxxyzzyzyzzzzyyzyyxyyy{yzyzyzyzyyyyyyzzzzzz{{yzyzyyxzzzyyy{yzzyyzyzyyzzz{zzzzyzy{zyyzz{y{z{{{yyyzyzxzzzzzzzzzzzzyzyzzzzzzz{zzzzzyyzzzzzzz{zz{{zyzzzyzy{{z{yz{yyzzzy{yzzz{yzyzzyzzzyyzzzzzzz|{zzzzyzzzzzzzz{zzyyyzyxzxz{zxzzzzzzxzzyzyzzzzzyzzyzzyyxyxzz{zzzzyzzxxyxxxyzyyzyyzyxxxxxyyxyzzyzyzyzyxxxyyzzyyzzyzzxyxyyyyyyzyyyzyyzxxxyxxyyyy{yzzxyyyyxxxyzyxx{zyyyyyxyxyzyyyxyyyyxxyyxxxyzyyyzyyxyyxxyxxxzyy{yzzxxxxxyxyyzzyyyyyyyyxyxyyyzzzyyyyyyxzyxywxzyyyzyyxyxwyxyyxyxyyzyzyzxxzzxyyyyyyyzyxyxxyxyxx{zxzzyzyxyxyyyyzyyyyzzyxyyyxyyzyyzyyz{zxxyxyxyyz{yzy{zxyxyxyyyzyzzzyzzzzxyyzzxxyyyyyyyzzyyyyyzyyzzzyzz{yyyyyyyxzzyzy{{zzyyxyzxyyyzzzzzzzxyyzzzyzzzzzz{zyyyyyzzzyzyzzy{zzyyyyzzyzzz{z{yzyyyzyyyy{yzzz{{zzyxzzyzy{zzzzzzzzyzzzzyyyzz{yzzzzyzzyyyyzzzzy{yzzyyxyyxxyzyzzyz{yyzxxyyyyzzyyxyzyyyxxyyxwz|zyzyyyyyyyyxxyyzyz{yyzxyxyyywyzzyyzzzyyxxxyyxyyzyyxzzyxxxxxyxzzzyyyyxyxxxyzyyyyyzzyzyzyyyzxyyzxyyyzyxyyyyyxxyyyyzxyyyxyxxyyyxxyzyzyzxyyyxxyxyyxzyyzyyyyxyxwxyyyyyyzyzyyzxzwxyzyzyyzzzxyyyzxyzyyyyzyzyxxxyyyxyzzyyyzzzyyyxyyyyyyyzy{y{zyyyyyyxyyzzzzzzxyyyyyyyxzyyzzzzyyzxyyyzy{zyzzyyzyyyyzxyyz{zyyzyzyyyzzxyzyzzy{zzzzyyzyyyy{z{zzzzzxzzzzyzy{y{zyzzyyzz{xyyzzz{zz{zyyzzzyyyzzyzyz|zzxzyyyzzzzz{zyz{{yzyzyyzy{zzzzz{zyy{zzzyzzz{zzzzzyyzzzyzyyzzzzz{zzyyzxyyzzyy{{zyyzyxyzxzyzz{z{{yzzyzxyyxzzzzyz{zyyyyxyyxzyzyzyyxyyyyxxxxyyyyyyzxzyxyxxyxyyzyzyzyyyyxyxywyyzyyyyyzxxxxyxwyyyyxyyzyxyyxwxxyxyzzyyyyyxxxywxyzzzyyzyzyyyyyxxxyyxzzyxyxxxyyxyyxyyxyzzxxyxxyxyxyyxxyyyyxyywywyyyzyyzyzyxyxyxxyxyyyyyzzxxyyxwxyxyyxyyzyzxyxwxyyyyyyxyyyyxyyyyywyyyyzyzzyxxyyyyyyyyyyyzyzxzxxxzxzzzyxyzyyyzxzzyyyzzzyzy{yyxyyxyyyyzyyzzxyxzxxyyyzzzzyzyyyyyyyyyy{zzzzzyyyyzzxyyyyxzzzyyyxzyyzxzyzzy{zzz{yzyzyzyzzzzyzzzyyyyzyyyy{zzyzzzzzxyxzz{yyyzzzzzzzxyzzzyzy{zz{zzzzyyzxyzzzyz{yz{zzyyyyzyyzzzyzyz{{x{yyyyyzzzzzzzzyzyyxyyyyzyzz{z{zyzzxyyxy{yyz{zyxyyyxxyxyyyxyzxwxyyyyyyxyzyyxzyzyxyzxxyyyyyyyzyyzyywyyxyzyyxyzzyzxxyyxxxzzzyyxzzyxyxxxzxyyyxyzyyxxxyyyxxyzyzzzyyyyyxyyxyxyyyyzyzyyxxyyxyyyyyyyyyxyyzxyyxyxyyy{zyyxxywywyxyzxyyxyyxxxyyyxxyzzyyzyyxyyyxyxxyxyyzyzzyyxyyyxxyyyyzzzyzyyyyyyyzzyyzzyyyyxxzxyyy{zzyzzyyyyyxyyzzz{zzzzyyyyxyyyyyzzzzyzyyyyyxxyy{zzzyyzyyxyxyyxzzyzzzzzyyxyxzzyzzzyzyyzyzyzxyyyyzy{yz{zyyyyzyyyzzyzz{z{yyyyzyyyzzzzzzzzzzxzyyzzzzzyzz{yzyyyy{yzzzzz{z{{yzzzyyyyz{zzzy{zzyyyyxzy{zzz{z{z{xyyzyzzzzzyyzzzzzxyyxxyz{z{zyzzyyyyyyzzyyyyzy{zzzxyyyxxyyy{zz{yzzyyywxyyyzzyyyyyxxxxxxyyzxyyxyyyyxxyxxyyyxyyyyzyyyyxyyxzyyyyzzzyyyxxyyxxxyyxzzzyxzxxxxxyxyyyyzzyyzxxxyyyzyyzyyyyyxyxwwxyzxyyyyyyyyyxyxxyyyyyyzyxyyyxxyywyyyyyyxxyyxyxxxyyyyyyyzyxyxxyxwyyyzyzyzyyxxyxxxyyzyxzzzxyxxyxxyxyyyyzyxxxyxyyyyyyzyyyyzyyxwxxyzyyzyzyzzyzyyyxyyzz{yzyzzyyyzyyyyxyyzzzzzyyzyxxyyyyyyzyzzzyyxyyyxzyzyyyzyzxyyzxxxzyxxy{{yzyxyxzyzzyzzyzyzyzyyzyzyzzz{yzz{zyyyzyyzzzzzzz{z{yxyzyyyzzzzz{yyyyzyyzzyzzzz{yz{{zzz{zzyyzzzzzz{{yyzyxxz{z{zzz{xzyzy{zyyzzzzy{zzzyzzyyzyyyy{yz{zzzzzyyzyzzzzyyz{yyzyyyyyzxzzyyzyyyzyxzyyyzzzyzyyyxyxyyzxxyxyxyyyxyxxwyyyyyyyyyyzyxxxyyyyyyzzyzzzxyzyywyxzyzyyyyzxyyxxxxxzxyzyzyyyyyyyxyxxyyyyyyyyxyyxyyyyyyyyzzyyxxxxzyyzxyyyzyzxxxxyyyyxyyxyzyyyxxyxywyzxyyzzyyxyyxyyxxxyyyyyyzyzwyyyyxxyzyyyxyzyxyyxyxyzyxzyzyzyyxxyyyyzyyyzzzyyyyyyyzyyzzz{yzyyyyyxyyxyzzyyzyyyyxxxxyzyzzzzzzyyyyyzyyyzyyzzyyzyyyyxxxyzzzzzzzzyyyzyxzzzzyzzzyzzzyyzyzzyz{zzyzzzzyzyzyzzyzyz{zzyyyxyzyzzz{{z{z{yzyyyyyy{zz{z{|{zzzzyzyzyzzzz{{yzyyyzzzzzzzzzz{zyxzyzzzzzyzzzzzzyyyzzzy{zzzz{z{yzzyyyyzy{zzzzz{zyyyzzyyzzyyyzzyzzyyyyzyyzyzyzzzzyzyyyzxyzyzzyyyyyxyyyxxxzzyxyzzyxzxxxyyyzzyzzzzzyyyxyyyyzyyzzzyyyxyyxyxyzyzxyyzyyzyyxywyyyzyyxzxyyxyyyxyyyyzyzyzyzyyyxxyyyyyyyzyxxyyyxxzxxyyyyyyxxxyyyyyzzyyzyzyyxxxywxzyyzzzzyzzyxxxyxyzyzyzzxxyxyxxyxxyxyyyyyyyyxyxyyyzyyyzy{xxyyyzyyyyzxz{zyyzzxyxxyyzzyyzyzyyyyyyyyzzxyyyzyxzzzyyyyzzzzyy{zyyyyyxzxyzyzyyy{yyyyyzyyyz{yyy{yzyzyyxxzzzyyyz{yzzyyxyzyzy{zzz{zyxyzyzzz{zzyzz{{yyzzzyzxz{zzzz{zzyyyyzzyz{zzy{{zzyzyy{yyzyzz{{zzzyzzyzzxy{z{z{{{zyyzyyyyz{zz{{zz{yyzzzyzzzzx{zzzzzzzyzz{zyzzzzzzyzyyyzyyzzyzzzz{yyyzyyyxzxzzyzyzzyzzyyzyyzzzyyyzyxyxxxxxyzzyxyyzyxyxyxyyyyyyyzzyyyyxyxyyzzyyyz{zyxyxyyxyxyyyyyzyxyzyyyxxyyxzxyy{ywyxxxyxyyyyyzzzyxxxzyxxyyzxxyyyzxxxyyyyyyyxyyyyxyxxzyyyyyzyyzzyyxyzxxxyxyyyzyzyxyxyxxyxyzyzzyzzyxyxxxyyxxyyzzxyyxyyxxxxyzyyx{zyxyyyxxxxyyyzzxzzyxxyyxyxyyzyzzzyzyyzxxzzzyxzyzyzyyyyxyzyyzyyzzzyyzyyzyyyzzzyz{yzxyzyyyxxzzzyyy{zyyyzyyyyzyyyyzyyyyyxyxzxz{zzzz{yyyzyyyyyzyyzzz{zyyzyyxyyyz{zzzz{zzyyzzzzz{{yyz{yyzyzyzyyzzzzzz{yzzzzyzyzzzz{z{{z{xyzyzyzzzyyzzzzzyyzyzyyzzzzz{z{zzyyzyyyzzyzzyzzyyyyyyyzx{zyzzzzyyyzyyyyzzzzyyz{zzzwxxxyyyyyyzyyyyyxxxyyxzyyyyyyxxyyyyxyzzyyzyzyyzxxyxyyyyzzyyzyyxxxyyyxyyyzyyzzyyyyxxxyxyyyzzyzwyyyyyywxzyyyzyyyxyyyxxyyxyxzyyyyyxzxyyxyxxyyyzyxxyxywyyxyyyyyzyyyzzyxyxx{xyyyyyyyyyyyxxyxyzzxyyyxyxyyyxxyyyxyyyyyywyxxyyzyyyyyzyxyyxzyxzxyyyyzyzyzyyxyyyyyzyyzzyyyyyxyyyzzzyz{yzzyyyzyxyzyzzzyzyxzyyxzxyzzyyyzyyxyyyyxyzyzyzzzyzyxyyyzxyzzyzzzzzzxyyyyz{zzzzyzzzyyyxyzyzzz{zz{{zyyyzyxyyzzzzz{zzxxyzyzy{yzy{zz{{zyzxzz{z{yzy{{{zz{yxzyyyzzz{{{z{yyz{yyzzzzzzzz{zzyzzyzxzyzz{zzz{yzyyzyz{zz{zzzzzzyxyzyyyyyyzzyzyzyyyzyxy{zzzyzzyyyyzxxxyz{zzyyzzyyxyxxxzzzyxxzyyzyyyyxxyzyzyz{zzxyxyy{xyzyyzzzzyyxyyyxyyzyzzyzzyyyxxxyxyzyzyyzzyyyyxyyxxzxxyzzxyxyxyxxyyy{yyyzyyyxyxxyyxzy{yyyyyxyyyyyxxzzyxzzzzxyxxyyzxyxyzzzzzyyyyyxyyyyxyxyzyyyxyyyxxyyyzzxyxyyyyyyyxzyyyyzzyxzzxzyxxzzzzz{zyyyyyxyzyzzzy{yzyxyyxyzzyyzzzzzzyyyyxyxyyzzzyzzxyyyyyxxyyzzzz{yzzyzzyzyyyzyyyzzzyyyyyyyyz{zyyzyzyyzyzyyyzzzz{z{{y{yxyzzyzzyzyzzzyxyzyxyyz{zz{zzzzyyxzyzz{{zzzzz{zyzzyyzzzzz{{z{zzy{yzzzyy{{{yzz{{z{zzyzzz{z{zyzzzyzyzxyyzzzxy{z{{zyyzzyyyzzz{{{{yyyyyzyyyzy{zzzyzzyzzyyyyz{zyzzzzxyyyzyyyyzzzyyzyyxxyxxxxzyyzyyyzyxyxxyyxyzyy{zzywxxyyxxyzyyyyyzyxzyyyxyyyyzyyzxyyxxxyyxyxyxxzzzwxyxyyxxyyyyyyzyyyyxyyxxxzyxxyzyyyyyxyxzyzyyxyxyyyxyxxxxyyxzyyyzyyyyxyxyyyzyzzyyyxyxyyxxxxxzxyzzzxxxyxyxyyyyzyyyyxxxywyyyyyyyyyyyyyzyyxyzzzyyy{zyxxyyyyxxzzyyzyyzxyyxxyyzzzyzyyzxyyzwyyyzzzyzzzzzyxxyxyxzzzzyzxzyxyyxyyyzzzzyz{{zxyzyyyyzzzyzzzyzyzyzxzzzzz{zzzzxyyyyyzzzzz{zyz{yyzyyyxyzyzz{zzyzyyxyxyxzzzyzy{{zzxzyzzzz{{{{z{{zxyzyyyxz{zzzz{|zyzzyyyyyyzzz{z{zxzyyyzyzyzzz{z{zzxzzzyxz{zzzzz{zzzxyxyyyzy{zzzzzzxyzyxyzzzyzzzzzyyyyyxxyzyyyyyyyyywyxxxzyyyzyzyyyyyyxxyyyxyyyzzyxyxyxyxzxyyzyz{yxyyxxxxxyxyyzzzyyxyyxyyyxyzxyyyyyxxyxyxyzxxzzzzzxyxxyxyyzyxyzzyxyyxxzxyyyyyyyyyyxyxyyxyxyyzyzyyxxxyyxxyyxzyzzzyyyyywxyxyyyzyyyzyyyxxxxxxyyyxzyyyyyxyyyxyzyyyzzyyxyxxyyxyzzzy{zyzyyzyxxyyzzyzyzzxxyxyxyyyxyyyyyyyyyyyyyxyyzyyzyyyyyyzyxxyyxyyyzyzyyyxyyyzzz{yzzzzzyxyyyyy{zzyzzyyyxyzyyxzzy{z{z{xyzyzyyyzzzzzzzzzzyzyyyy{{yzyzz{zyyyyyxx{z{zz{{yzzzyzzyzyz{zzzyzyyyyyyzzzzz{yzzzyyyzyyyzzyzzy{zzzyyyyyyyzyzz{zz{zyyyzyzyyzzyyzyzyyyyyyzyyyz{z{zzzyyyxyyxzzzzzyxzyyyyzyyyxyyyyzyzyxxxxxyyxyzyyzzzyxyxywxxyyyyzzzzyyyxyyyxyyyzzyzzyyyyyyxyxyy{zzyzzyxyxxyxzyzzyzyyxyxyxxyxyzxyzy{yyxyyyxxxxyyyxz{yyyxxxyyzyyyyyzyzyzxyyyxxzyzyyzzwyyyxyzxxyyyy{yyzyxxyxyyxzxyzyzyzyxyyyyyyyzzyxyyzyyyyyxyxxxzyyzyyxyxxyyyyyzzyyyzzzyyxyyyyyzzyzzzzxyyyxxyy{zyzyzzzyyxyxywzyyzyy{yzyyyxxxyxyyzyzzzzyzzyzzyxyzyzyzyzzzyxyzyy{yyxzz{zyzxxyyyyyzzzz{yzxyzyyzyzyzzyzzzzyyxzyyxyzzzzzz{zyyyy{zyzz{zz{{zzyzyyyyzyzyzyyz{{zyzzyyzyy{yzyz{z{xyyzyzyzz{{zzzyyyzyyyyzyzyzyz{yyyyz{yyzzzzzzyzz{zyyyyyyyzzyyzzzyyxyyxyyyzyzyzzyxyyxxyzyyzzzyyxzyxyxxxxwyyxyxyyzyxyyzxxyxzyyyyyyyyyyxyyxyxxxyyzzzyyxxxwyyyyzyxzzzxxxxyyyyyyyyyyyxxyyxxyxyyyyzzzyyxyxyyyxxyzyyyyzyxyzxxwxyyzzyzyyyxxzyyxyyyyyyyyyyyyxxyxwyyyxyzxyyxyxxxyxyyzyyzyyxxyxzxxxwyyxyyyyyyyxyyxxyyyyyzyzxyyyyzyxzzyzyzzyyyyyyyyxyyzyzzzzxyxyyyxyzyxyzyzyyxxyyxwyyzyyzzzzyyyyyxzxzyzzyyyzyxxyyywxyzyyzzzyyyxyyzwyzzyyyzyzzyyxzyyyyzz{yzzyyyyyyyyyzzz{z{z{zyyyyyzxzzzzyzzzyyyyyzyy{{y{zyz{yzzyzy{yyzyz{zzzyzzyyzzyz{{{zz{zyzxyyyyzzzyzz{{zzyy{yyyzzzzyz{zzzzyyyzyzyyzzy{zzyzzyyyxxyzyzzzz{yzyyzxyyyzzzzzzzyyzyyyyyyzzyzxyyyxyxyxyxyyzyyyzzyxxxyxxxxyyzyzzyyyxxxxxxyyyzyzyzyxxxyyxxyyzyxxyzyyyxyyyxyxyyxzwzxyyxxyxxxzxyzzzyzxzyyyxyyzzyxzzyyzyxyxyyyyzyyzyyyzyxyyxxyxyzyzyyyxxyxxxxyyyzyzyyyxyyyxzxyyyzyyyyxxyxyyyxyzyyyzyyyyyxyyyyzyzxyzx{yxyxxyxyyyyzxyzyzzxyyxzyyzyyyzzyyyxxyyyyyyyyyzzyyyyxyyxyxyzyyyzyyyxxyxyxyzy{yzzzyyyyxyyxyzyyzzyzyxyyxzxzyyzyyzzyyyyyzxzyyzz{zzyzxyyyyyxzyzzz{{y{yyyyyxxyzzzzzz{z{yyzyyyyz{{zzzzzyy{yzyyzyzyyzz{yzzxzyzzyz{zzzz{zyyzzzzyzz{yyy{{zzzxyyzyzyyyzyzz{zyxyyzyyy{yzzzyzyxyzxxyyy{zzzzz{zyyzyzyyz{zzyz{yyyzyyxyyzyyyzxzzxxzyywyxyyyyzyzzyyyxxyxxyyyyzyyyyyyyxxyyyyyyzzzzyxyxxyxyyyzzyyyzzyyyxxyxyyxyyzyzxxyyyyyxyzyyyyyyyyyyyxxyzyzxyyzyyxyxyyyzzyyyyzxyxyyxyyxyyyyyyyyyxyxzxwxyyyzyzzz{yxyyxxxxxyyyyy{xxyyyxxyyyyyxyyzyyyyyyxyyyzyyxyzzxyyxyxyxyzzxzzzzxyyyzxyyyyzyyyzzyyxyxzyzzyyzyzz{yyyxzyyxyyzyyzyzyxyyyyyyzyzzy{yzzxxxyyzyxzzyzyzzyyzyyyyyzyzyzyzzyzyyzyyyyzz{zzzzzy{yyzyyzyz{y{zzyyzzyyyzyz{yz{{yzyyyxyxzz{yyyzzzzyz{yyyzyzzzzzzzzyyzyyyyz{{zzzz{yyzyzyyzzzz{{{zzzzyzyyzz{zzzyz{zzzyyzyyy{zzzzzy{zyyyyyy{yzzzzz{zzzyxyyxyyzyxyyzyyyyxyyzyyyyzyxyyxyyxxyyyyyyyxyzzyxxyxyyyzyyyyzz{yxxyxyxyxzyyzzyzyyyxxyxzyxzyyyzzxyyywxxxyyzyzyyzyyyxyxyyyyyyzzzzyyyyxxxyyyzyyyzzyyyyyyxyyzyyxyyyxyxxyyyzyyyzyz{yyzxyxywxyzzyyzyzyxyyxxxxyyxzxxzyzyyxxxyyyyzyxzyyyzyxxyzyy{yyyzz{xxyyzxxyyyyyzzzzzyyyzxyyxzyyyzzzzyzxxyyxzyyzzyzzyxyxyyzxzyzyzzyzyzyyyxzxzzyzy{yyzxzyyzxyzzzyyzzzzyyxzyyyyzzyzzzzyyzxyzzy{y{zzy{{yzzyyyzzzzyyyzz{yyyzzyxyzz{zzz{z{yyzyzzzzz{zzzz{zy|yyzzyzzzzz{z{zzzzzyyyzzz|zzz{zzzyzyzy{yzzz{{{zyyzz{yzyz{zzz{zzyxyzyyzzzzzzz{zyyzxxyz{zzzyz{z{zyzzyyyyyzz{zzzyzyyyzyzyyyzyyzz{yyyyxyxxxzyyzyzyyyyzyxxyzyyzzzyzyyyxxyyxyyzyzyzzzxyyyxyyyyzyxyzzzxzyyyyxyzyyzy{zyyyxxxxyyyzyzzyxzxyxxxyyyyzxxyzyzyyxyyxyyyxyyzzzyyxxyyyxxyyyyyzyzxyyyyzxxxyyyyyyyyyyxxyyyzyyzzy{yyxyyxxxyyyyzzxzyyyxyyxyxyzzyzxyzyxyyyyxzyyzzyzzyxyyyxxyyzyzyxzzzyyyyxyyzyyzzyzyxyyyzyyyy{zzzzyzyyzyzyyyxy{zz{zzyyyyxyxxyzzzyzzyyyxyxyxzyzzyyyzxyyzzyzzyyzyzzzzyyxyxyyyyyyyzyzz{zyzzyzyzyzz|{{{y{yyyzzzxzz{yyz{zzzyyyzyzyzzzzzzzzyzzyzyzz{z{z{z{{zyzzyyzzzzzzzy{yyyyyxzzyyzzz{yzzyyy{yyyy{yzz{zzzyyyyyzyz{zzz{yzzzyyyzyzyz{zyyyyyzzxyyxxzzzyzzyyyyzyxxxyyzzyyyzyyyyxyxxxyyzzzzzzyyyxyyyxzyyzzzzzzyyyyyyxxyzyyyzyyxxxyyyxyyyzzzyzyxyyyxzyyyyyxyzzyyyxyxyxyyyxyyzyyyyyzyyxyyxxyyyzyyxxyxyxyyyyxyzyxyyzyzxxzyzyzzzzyyyxxyxyzzyzzyzzyyyyyxyxyyyxyzxzzyxxyyyyzyyzzyxzzyyyzyyyyzzzyzyzyxyzxyyyyz{yyyzyyyyyyyyyzyzyy{zzyzyxzxxxzzzyzz{zyyzzzyyyyyzyxzzzzyxzyyyyyzzzyzzyyxyzyzxx{zzyyyzyyyyyyyyyzzzz{zzzzzyxzy{yzzy{z{z{zyzyyzyzzzzyzy{zzyz{yyzy{z{yzzz{zyyzyz{zzzzzz|{{{zyzzzzzz|{{zzzzyzzyyzyyzyzz{{{{{yyzyyzyyyz{{zz{{yyzzyxzzzzz{zz{yzyxyyxzzzyz{z{{zxyzyyyyyzzyyzzyyzzyyzyzzzzy{yzzzyxyyxxxyz{zyyyzyyyyyzyyxzyyyyyyyyyyyxyxxyy{yyyzxxyyyxyxyzzzyzzyyyxxyxxyyyyzyyy{xyxxyxxxyyyyzzzxxxyxyyzxzyyyyzyxyyxyyxyxyxyyxyzyxyyyyyyyyyyxyyzyyyyxxyxyyzzyxzyzyyxyyyyyyyyyyxzyxyyyyyyxxxxyyzyzxyyyxxyyyzyyyzz{yxyyxxyyyyzyzzzzzyyxyyyyyyzyzzzzxyyyyxzyyxyyzz{zyzxxyxyzy{zzzzzyyxxxyyyxyzyzyzyzyyzxxyyyzzzzyyzyyyxzxyyyzzzzzzzzyzyyyyyyzyz{z{{yyyyyyyy{z{zzz{zz{yyyyxyyy{zyzzzzzyzyzyyyyzzyzzzzzzyzyzz{zzzzzzz{{yyyzzxzy{z{zzzzyyy{yzyyzzz{zzzyzzzyyyyzzz{zzyzzzzyyzyxx{zz{yzzzyzyyzzyy{zzzz{{zyyzyyyxxyzyzzyyzzzyyyyxyzyzyyzzyyyyyyyyyxyzyyz{zyyxyyxwyzyzyyzzzzzyxyyyxzyyyzyzzywzyyyyyxzyyyyzzyywxyxyxzzzyzzyzyxxyxyxxxyyzxzzyzxxxyyzxyyzyyyyxyyyxyxyxyyyyyzzyyxxxyxyyxxyzzxyyyyxxyyyxyzzyzyzyyxzxyzyxxyyyzyyzxxxxxyxxyxyxzzyzyyxxyxyxyzyyzzyyxyyxyyxxxyzzyz{yzywyzzyyzyyxyz{zyzyyyyyyzyyzzyzzxyyyxyyy{zyz{zyyyyyyyxyyzxzzz{{yyxzyyxyyyzzyyzzzyzxyyyyyzyzzyyyyyyzy{yzzzyzzz{z{yzzyyzzxyzyzzzzzzzz{xyyyz{zzyzz{zyyyyyzyzzzzzzz{yzyyyzzz{zzzzzzz{zyyyzzyyzz{zz{zzz{zyzyzzzzz{{{zzyyyzzyzyzyzzz{z{yzzzyyzzyyzyzzzzzzyyyzyzzyzzz{y{yzxyzxzyyzzzyzyyxyxyyyyyzyzyzyxyxyyyxyxyzzzyyyzzyyxxyxyzzxyyyzzyyxyyyxxyzzyzyzyyyyyyxxxzyyyyxyyyyyyyxxxyyyyyyyzyyxxxyxxxzxxxzzzyxywwxyyz{xzzyzyyyzxyyxyzzyyyzyyxxxxxxyxxyzzzyzyyyyyyxxyyyzyyyzzyxyyxwxxyyyxyyzyzxyxyyyxyyyyyyyyxxyzxxxzxyyyzyzyxxyzzyyxyyzyzyzzyxyyyxxyyxzzz{yzzyyyyyyyyy{yzzzyyyyyyyyxyyz{yyzzyyyyyxxyxzzyzzzyyyxyxyzyzyzyzzyzzyzxy{xyy{yzzzz{yzyyyxyyzzz{zzz{yzyyyyzzzzyzyzyzyxyyxyyx{zzzzzzzyyyzyxyyzzyyzyzzyyzyyzzzyyzzzzz{zyzzzzyyzz{z{y{zzzzzzzyzzz{zzzzyyzzzyyyyzzzyzzz{zyyyz{yzzzzy{zzzzzyzyxzxyzyzzzzzyyzzyxyyzz{zyyz{yyyyyyyyyxyyzyzzyyxxyxwxyyzyyyyzyyyxyxxxyxyyxyyzywyyxyyxyyzzyzzzyyxzywxxzxyzyxyzyyyxxxywyxyyyyyzxxyxxyywzyzyyzyxxyyyxxxxzyzyxyyyyxxxxyxyyyyzyyyyyxxxxyyxyxxyyyyyxyxzyxxyzyyxyyxyyxyyyyxyxyyyxyzyxxxxxxxxyzzyzyyzyxyyxwyxxxyyzyzyxyzyxyxxxyzyyzzzyzyyyxxxyyyzzzzzyxzyxxyyzzzzzzxzyyyxyyyxyyyyzzyyyyyyyxyyxzzyyzxzyxywyzxyyzyzzzz{yxyyyyyyzyzyy{yyyxyyyzxyyyzzzzyyyyyyzyzyzxzyyz{{zzyzzxyxz{zzz{yz{yyxzyxxy{{zzzzzzyxyyzzzyyyzyzz{zyyxyyyyz{y{zzzzzyzyzzzxzzzzzz{z{zyyyyyzzy{{z{yzyzyyyyyyzzzzzyy{yyyyyyyyyyzzzz{zyxyyxyyyzyzzxyyzxyzyxyxyyzzyyzyxxxyyxzwxyyyyyxyyyxyyxwyyyyyyzzyyxyxyyyyxyxyyxzzyyxyxxxyyyzyzyzyyyyxxyxxxyyxyzyzzxyxxxyyxxyyyxzyxxyyyyxwyyyyxyyzxxyxwxyxyyzyyxzxyxxyxwxwxyyyzzyyzyxxwxyxyyyyyyyyyxxxyxyxxyzzzyxzzyxxyxxxxxyywyzxyxyxxyxxxxzyyyzzzzxyyyxyxyyxzyyyyxyxyyxyyzzzxyzyzyyyxxwyxzxyzzyzzyyyxxyxyzyyyyyyzxyxxyxyxyzy{zzxzyxyxyyyyzzzyyzzyyyyyyxyyyzyyyzzzzyyzyyyyyyyyzzzzyxyyyxyyyzzzzyz{zzyxzyyyzz{yz{zyzyzyyyzyy{zzyz{zyxyyyyyzzzxy{{yzzyyzyyyyy{z{zzzzyyyyzxyzzz{zyzzzzyyyyyy{zyyyzzzzzzxyyyzyyzzzzyz{zxyyxxyxzzzyyyzzzzyyyyyyzzyzzzyzzyyyxyyxzxzyyFu3P a z{|{z{z|||{{z|{{|{{{|z{{|{{{{|{{|{z{{|y{{|{|{|||{{{z{z{zz}{z||{{}||{{|z{|{||{||{{{z{{|{{{z|||{{{{{zz{z{z{{{{{||{{z{z{zyz|z|{{z|{z{{z{{z{z{{z{|z{{z{{{zzzzz|||z{{{{zzzz{z{{{{{||{{zzzzzz{{|zz{|||y{zz{zzz{{{{}|{z{{z{|{{{{{{{||{{z{z|z{{|{{{|||{{{{z{{{y{|{}|{|{{{{{z{zz{{{|||}|||{{{z{{{||{||||{{z{{{{{|{|{{{||{{z{|{{{|||{|}{|{{{{{{|{{|{||{||{|{{{{{{{|{|||}|||{|z{{{||||||||{{|{{z{{{{~}|||||{{{{||{|{|||||||{{{{||{||||}|{}|{{}{{{z{|{{||||{|z||{|{{{{{|{||||{||{z{||{{{}||{|{z||{{{|{||{}{{{{{zz{z{||{{{{|{{{{{{{zzzz{{|~}|{{{|{{z||}{||||||||}{{|{|||}}||{{|{{{z{|{{{{|||z|{|{{{||z||{||{{{{{|z{z{{{{||||{}z{{||zz{{|{{{||||{z{z{z{|{{{|{{zzzz{{{{{|{z|{{zzz{zz{zzz||{{|{{{{{{{z|{||{{||||{{|z{{{{{{||||z{{z{{{{y{|||z|{{|{{{{{{zz{z{{}||{{{z{{z{{{{||{||z{{{zzz|{|{{|||{zz{{{z|z|{z|{|{||z{{|z{{{{||||{{||{|{{{{{}z|{{|{{{{{|z{|{|{|||{||{{{z|{{||{||{||z{|z{{|{||{|{{|}{|{{|||{|}}|{}}}{{{{{{z{|||||||{{{{||||{|}|||||}|||{{|||{||||}}}}{{{||{||}|||}||{}|||{|{}||}}|}||{z|{{|z|{|}|}|}|{{{}|{{|||||}}||||z||||{|z||||||{{{{{{{||{|||}{|{{z|zz{|{|{||||{{|{{{|{||{{}|{||{|{|{z{|||||||{{{{z{{{z{{|{|{|||z||{|z{{z{||{||zz|{z{|||{|||||||{|{|{{{{{|{{||{|z|{z{z{{{|{{{{|{|{{z{z{{z{{||||zz{{{zzz{{||{{{|{{{{zzz{{{{{||||{{{|z{z{{||{{||{z{zzz{zz{|{z{|{}z|zz{{|{|{{{||}{|{{{{{{z{||||{||{{{{{z{{{|{{||{{{{{|{{z|{||}||||{{{{{{{{|||{{{}}{{||{|{z{|z{|||{|{{{{{{z|||{{{}{{|{z{{{{}{}{{||||{zz{{{{{{|||||}|{|||{|{{|{|}}|}|{{{|{{{{||||}{||z{|{|{{||{|||||{{||{|{}{|||||||~{{{{||{|}|}||{{}|||{{{|}}}}|||||{||{{{||}{|{||}|{{|||{{|}||}|{|}{{|{|{|{||}|||||{{{|z{{{|{||{}||{|{{z|{||||}|{|||{{{||||||{|||}|{|{|{|{{||}|}}|{{|{{{|{|{{|||||{{{{{{|{{z|{|{||z{z{{|{z{{{||{}|{{|z|z{{z|||||{{{{{{|{{z{{||{|{z|{{{{{z{{{{{{{{|{{z{z{{z{z|z{||{{{{{{zz{{|{{|{|{|{||yzz{{||{|{|{{{{z|zzzz{z{{{{{{zzz{zz{{|{|{|||zzzz{{zz|}{{{|{{{|{{z{{{{|||z{{|{z{|{z|{|{||||||zz{{{{{z{||{|||||{|z|||{{{|||{|{|{{z{|{||||{||}|{{|{{|{{|{}||||}{{|{{z||{{||{|||{{{{|z{{||{||||||{{{{{z|{}||~|||{{z{{|{{||{||}}|}{|{{||{|||{~||}}||{|{||{{||||~||{{||{|{||}||||{}||||{{|||{{||{}|{{||{{||{|||}}}|{z{||{z|}||{||}{|{{{||z{|||{{||{z|z{{{|{|z}|}}|||||||{{|}||}|}|{|{|{{|{|{}|||}}|{{{|{|{|{|||{|}{|{{{{{{{}|}||||z{{z{z{z{|||||{{zz|{y{|{{||||{|{|{|{zz{{||||||{{|{{z|{{{{{{|{||}z{{|zzzz{|z{{||{|{{{z{{z{{|{}||{{{{{zz{{{||||{||{z{z{{zz{|zz{{}||{|{{z{|{{{|||{|zz{|{{{z{||{{|}||{||z{{{|}||||||{{z|{zz{||||{{||z{|zzz{|{{||{{|||{|{{|{z||||||{{|{|{{z{{}{{{{||{||{|{||z{|||{{||{{|{{{{{z{||||}|{|{|{}||||||{}|}|{||{|{|{{|{}||||{|z{{{{}}|||}}|{|{|{|{|||||~||}|{||{{||}|||}|}}|||||||||}|}|||}}z{|{|{||||{||}}|{{{{||{}{{||||||{|{{{{{|}{{{|||{{{{|||{{||{{{|||{z{{{{{{|||}}|}|{{|{{|{{}|||||}{|{{{zz{{|}{||{||{{{{{{{|{|{|||}|||{{{{z{{|{|{{||{z{z{z|{{{{z{{|zz|{z{{{|{{{{|{|{{{|{{{y{{{{||||z{z{z{{x|{|{|||{zz{{{zzz|zz{{|{|{z{zz{z{z{{{z{||{zz{{yzz{{|{z|{|{z{z{{|{{|{{{{{z|zzz{{z{{|z{{||{z{{{{{{z{|z{|{||{zzz{{{{|{{{{{||{{{{{z||{{{|{{{|{z{{{{|z{{{{{|{|{{{||y{{{|||{|||{z{{{{{{}|{{|||{|{{|{zy|{z{{||}|{{|z{{{{|{||}||{||{{z{|{{{|{z{||{z||{{{{|||}||{{}{||{{{z||{||}}}{{||{{|{{||{|}|}|{}||z}||||{|~|||{{{{{|{{||{||{{|{||z||{}||||||}|{z|||{{||||}|}|{|{{{|zz{{{|{|}|{{{{{{{z{|{}{{{|{{z{{{{{{||}{||{}{{{}{|{{||||{|||||{{{z|||||}|||{{{z{{|{{{}||{}||{{z{z{{|{}{z|}|||z{{z{z{|||||}|zz|{{|zz{|||{||{|||{{{z{|{|z{{{z{{z{z{{{|{z|zz||z{z{{zzz||{{|||{zzzzz|y{z{{z|||{zz{{yzz{z{{{|{|||zz{{{{{z{{{{{{{{{{z{{z{z|z{{|{|z|{{{{z{{||{|}|{{{{z{z|{{|{{z{{{{{yz{{}{||{{{{||z|{z{z{{{|{{||{|{{|{{z{z{|{|||{|z||z{|{{{||{|{||{{{|{{{{{|{{|{|}{||{{{z{{||||}{}|{{||{}{||||}||}|{{{{{{{|||||||{||{{|{{z|||{|{|}{|{|{{}{|||{||}}|{{||{|{{|||}}|}|{|{{{}{|{|{}||{||{{||{{|}|||||}{{{||{|||||}}{|}{{{{{{{{|||{z|||{{|{z{{{|}|{|{|||{{{zz{{{|{{|||||{{|{|{{||||||}||{{{{{z|{{}|}|||{{{{{}{z|||{||}|{{z{{|y{z{{{|{|{{|{{z{zz{{|{{|{}{{{zz{{{{|{||{|{{|z|zzz{|{{{{|||{{{{{{{z{z{{{|{{{{{z{zzz{{{{{|{|{zz{z{{z|{{{z||||||zz{z|z{{{|z{|{z{zzz{z{zz{{|{|z{z{z{z{{|z{{{{{z{{{z{z{|z{{{|{{{{z{|z{|z{|}{{|{{{{{{z{{|z{|{}||{|{{zz{z{{{{|||{{{{{{{{zz{||{|{{{zz{{{{z{{{{||{|z{z{z{{z{|{{|{|{{{{{z{{{|{|||||{|{{{{||{||{{|}||{{{||{{||||||||{|{|{{{{{||{||||}{|{||{|}{|{{|}||}|{zz||{|}||}||||}|{{{|{||||{}}}|{{{|}{{{||{{|{}|{{{{|{|||{{||}|||{z{{||{z{{||{||{z{{{{z{|{|{{|{z|zzzy{zz{|{{|{}{{||{|{{{||{{||||{{||||{{{||{||{|{|{{{{{{{||{{|||z{{{z|z{{||||{|||zzz|{y|||||||{|{{z|{zz{|{{{{|||{{{z|z{{{|z{|{z{zzz{{z|{{{{||z|{{zzzz{yzz{z{{{{|zzzz{{{{|{{||{{{{{zzz{z{{}|{||{{{z{zy{z{{{z{{{{{z{{|{{zz|{||{|{zzz{z{{z{z{{{}||{{{{|zz{{{|z|||z{zz{{{{|{||{|{{|z{{{{z|{{{|{{{||z{|{{{|zz{{{{{|{{z{{{z|{{}{{|{}|{{||{{|{}z{z||{{{{z{{|{|{}{||{||{{{{|||||||{{||{{{z{{{{{||}||||||||||z}||||z||}|{|{|||{|||{|{|{|||||{||{|}}|||||}||{|{|||}||||{}{{{{||z{{|||||}||{|||y{||}{{|}||{{z|{z{z|{||{|||{|{{{{{zz{||||{|{{{{{z{z{{{{{|}|{|{{{{{{||||{|}|||}z{{|{|{|{|{||||{{{{{{{{||{|{}z|{{{z{{{|||{z}|{{|{z{{z{|{|{|{{{{{{{z{{{{||||||{z{{{{{z|{|{|||{{|zz{{{{{z{{zz{{zz{z{{zz{{{{{{|{{z{{zzz{z|{{||}{|{{{zzyy{|{{{{{|{z{{{|{{|{{{{|||{z{{{{z{{|{{z|{{{{{{{|z{|z{{{|{{z{{z|{{z{{{{{{z||{zz{{|z{}{|{||z{{{{z{|z|z{{||z||z|{{{zz{{|||||z{z|{z{z{{||{{||{{{{{{{{z{|{{{|{|{{{{|z{{{{|{{|{}{{{{z{{{|{{||{||z{{{{z{{{{{|{|{{||{{{{{{}{|{{||{{{{{{{||{}||||||{|||{{|{}|}|||}|||{|{{{|{||}||||{z{{|{{{||{|{|||{{{{{|{{}{{{||{||{{z{{||{||||||||{{z{zzz||{||{{{{{|{zz{{{{{{{~|{||||{|||||}|}|}}|}{|{z{||||||{}}{{{{{|z{{{|||}||z{{|{{{{{{||{|}{|{|z{{zz{z{||||{|{|z|zz{|}{z|||{z{{{{z{{{{{{||{{{z{{{zzz|zz{{|||{z{z{z{{{{|{||}{{z{{y{{{{z{z|{|{{z|{zz{zz|{{z{||{z{z{zzy{||{|{||z{|z|z{{{{{|{{||{z||{{{z{{{{|{|||z{zzzz{{||{||{|z{{z{|{{{{||{||{{{{z{{z{{{||{||||{{{{{|{|||||{|{|z{|z||z{||||z|||{{||zz||}|{{{||{{|||{|z{{|}||||{|{{|{|{{}{|}||}{|{{{{{{|}|||{}|{{{{{|||{||{{}{|{z{|z|||||{||}|||{|{}|{{{}}||}|}{{|||{||{~|||}|}|{|{{{{{|{||||}}}{z||{{{||||{|{|{z{{{{{z{|||{||}{{{{{{{{{|{|||}|{{zz|{}z{||{{|||{|{{{{|{{}|}{|||||{{{{{{{||{|}|{|{|zzy{z||||||}|||||{{|{|||{{|||{{{{{{{{{{|z|{|||{|{{z{{{||{{{|{{{z{|{{z{}||{{|{|{{{{{zz{{z|{{||z|zzzz{z{{z|{||{zz{{{{zyz|z{{{{{z{|zzyzzz{{{{|{|{{z{{z{zz|{{z|{|{|z{zz{y{||{{|||z{{{{{{z|{{{|{{||{zy{z{{|{||}||{|{|z{z|{{{{|||||zzz{{z{z|||||||||{{|{{{{{{||||||{{||{{|{{}{|{{|{|{{|{z{{|{|{{||{{{{{{z|{|}|}{|{{|{z{{{|{|{{||}|||z|||{z{{||{{}|||{{{{{{{|~|{||||{||||{z|{|{}|||}|{z{||{|{}||||||{{||{{|{{{|}|||}}|z{|{{{||{}|}}}|{{|{{{{{|{||}|}{|z{|{{{|}|{||}||{{{zz|z{||{{{{{{z{z|z{z{||{{{}~||{||z|{}||||}z|||||{zz{|{|}}|}~{{|z{{{{{|{|||||{z||{{{|{|}|||{|}{{{{||{{|{|{|||{{|{{|{{|{|{|{}{{{|z{{z{|{|{{|||yz{zzz{{{|{|{|{{{z{{zz{z{{|{{||{{|{{yz{z|{||{|||{z{z{{zz{||{||||{|z{z{{z{{|z{|{{|{{{{z{{{{{{|{|||{{zz{{z{{{{{|}|{z|z{{{{||{||||{z{|{{{|{|||}{{|}|{|{|z{z{|||{|{|{{{{|z{{{||||}||||{{z{|{|{||{{|{|{{|{{{{{z{|||{{{{{||{{||{|||||||{{|z|{|{|||}|}|z{{{z|{z|||||}|}{z{{|{{|||}{|||}|{{|}|{|}{{|}||}||||||{{}|}}}|}}|{{}{||{|||{|||}|{|{{{{||}}{||}|}|{{|}{{}}|{}||||{{{||{z{|{|{|||||z{{{{z{||||{{|{{{{{{zz{{{{{}}}|{|{}||{||}}|}}|}|{{|}|{|||}|}||||z{|{|{|||{|}||{{{{|{||||||{{{}}{{{{{{z{|{|{{{||{{{{z{{{{{|||}{|z{z|{{{{{|{|||{{|{{{{z|{{{{|||{|{z{{z{{{z{{{|{{|z{{{zz{{{|||{|{{{{zzz{z{||||||{z{z{z{zz|z{|||||{|zz{zz{{|{{{|{{{z{{{|{|{|{{z||}z{{{{z|{{||{|}|}{{|{{{{{|{{{||||{|{{{|{z|{|||||{{|z{{{{z{|{||}{{|}{{z|{{||{{||{|{{z{{{{|||{{|||||{{{|z{{{|}}|}||{{|{|{{{|{||{|}|||{|z{{||}|||||{|z||{{{z|}||||}}|||{{{}{|||||}|~|{{{z|||||{}||}|||}|{|{}|{|||}}||{|||{|||}|{|||}|||||{|{}|||{|{}|{{z{|{||{|{|{||{|z{{{{{||{||||||{|{{zzz{|||{||}|{z{|{|z{||{||}|{||{{|{||}|{|||}|{|{zz{{}{{{{|}}z{{{zz{|{|{|z||{{{|{z|{z{z{|||||{z{|{||zz||{|}|{{z|zz{zzz|{{z|{{zz{|zzz{||{|z{{|{zz{{z{{{||{|{{{{zzzzzzzz|{{|{{{zz{zzz{z{z{{{{|{{{{zzzzzz{{z{{|||{{{zzzz{|{z{{|||yzz{{z{{|{||||||{{y{{zz|}{{z{{{{{z{{{|{z{|z{{z|z{{z{{{{{{|{{{|{{{{{{z{{y}||{|||{z{|zz{{z||{{|||{{z{{{{|{|||{|{||{{{z{{{{{|||{{{z{|{|z{{|{|||{|}{z{|{zzz|{{}|||||{{{{|{{||||||||{{{z||{{||}||||||{{z|}|{||}||}|||{|{{|{|{{|}{||||{{||{z|{|{{||||{||{|z|{|||||{}}{{{z{z{z{{|{{|{{z{{{{zz{{||{{|||{{{z{z{{z|{|{|}|~}||}{|{||}}|}}}z{{||{{{}|||}|||}{{{|{|}||{|||||{{{|z|{{||}{{{{{}{{{z{zz{{{{|||||z{{z{zz{|{{{||{{{{{zzz{{|~{{{{{{{{{{z{{z{||{{{{z{zz{{{z{{{z{{{{{z{{{zz{{{{{z{{{z|{{z{{z{||{||z|{z{z{zzz|{{{{||{z{zy{{zz{}|{{}}{{{z{z{z{z|{|{|{{|{{{{{{{{{{|{{{{{{{z|y{{{{{{|{{|{{{{{{{{{|}|||||{|{{{{{{||{||{{|{z|z{{{{{{||{{||{{{{{{{{{|{{{|}|{{|{||z||{|||||{|{{{|{{||||||||}{|{{{z{z||||}}{|{{{{||{{||{{|}||{|{{{|{{{{{}{}|||{{|||{|||{||}||}{{|{z{{}|}||||{|{z{|z{|{|{{|}}}|{|||{{|{||||}|}{|z{{|{{{||{{{|{|{{z{zz|||||z|||{z{|{{z{z{|{{||}~|}||{||}}||||}||{{|z{z|{}|{|||}}zzz{{{{{||{|||||{{{|{{{{{||z||||{|{z{{z|{{{||{{{z|{{{{{|{|{{|{{|{||{zzz||{{|{{{zz|{z{{{{{{|{|{|{zz{zy{z{{|{z||zzzzz{zzz{{{{{{||{{{zzyz{{|{{z|}}{zz{zz{z|{|{{{{{{z{{{zzz{|z{||||z{{{{{{{||z|{||{{{{{{z{|{{{||{{{|{{zzy{{|{{{|||||{{z{zz{{{{{{{{|{{|{{z{z{{{}||{{{|{{z{{z{|||{{}{{{{{{{z{|}|||{{|{{{{{z|{|{|{{|||{{|{{z{{||||{|}{{{|z{{{{|||}|}|{|{{||{z||||{|||||{{{{{{|||{|}}||{{|{{|{{{}||}||}|{{z{{|{||}|||}|{{z|{{||{||||||||{{||||z{{||||||{{{z{{{|{|||||}|{{{{{{|z|{{{|{{{{{{zzz{z{{|{{|||}}|{{{{|}|}{}|}~|||z|{{{z}|||}|}{{{{|||{|{|{|{||z{{{{{z{|{|{{z}|{{z{{|z{|{||{z||{{zzz|{{{|{z{||{{{{y{z{z{{|{z{}|z{{zz{z{{{z{{{{{|{zy{zzz{{|{z{|{z{zzz{y{{{|{{||{{{{{z{{z{{{{{{{|{z{zzzz{z{|{{{{{z{zz{{y{{{{{{|{{{z|z{{{{{z{|{}|{{{zz{z{|||{{{|||{{z{{z{{{z|{|{|{z{|{{{{{{||{|{||{{||{{{{{|||{||||z|{z{{{{||{{||{{{{{z{{{{{{{{{{}{{z{z{{{|{}|}|{|{|{{{{{z|||{|}|||{{{zz{{|}{||||{|{|z|{{{{}||{||{{|}||{|{{|{|||||{{||{||{{||||||}}{{|{|}{|||}|{|||{||{{{{{|{|||}}}{{{{{{{|||||||||{{{{{|{{||{{|||z|{{{{{z|||{{||{{|{z|z{z{{{{{||~}}{|||}}|}|}|}}|||{|{{||{|}}||~}|||{{{{||||{||}z|{{zzz{||{|{|}|{{||{{{z{{{{{||{{{{{{{z{||z{{{{{{{zz{{{z{{|{{{{z{{zz{{zz{z{|{{{{z|y{zzzzz{{{{{{|{z{{zzz{{|{z{{||{{z{z{zz{{{{{z}|{z{zz{{{zz{z{||{{z{z{z{{z{{|{{||{z{zz{z{|{{{{||{|z{|{{zz{{|z{|||{z{{{{|{{{|{{||{zz{{zz{{{||{{|{|{z{{{{{{{|||{|z{{{{{{{{{||{||{}{|{{{{|{{||{{{|{{|zz{{{{|{|{||||{{{z{{{z{z{{|||||{{{{z{{|{||||{{||{{||{{{|{|{||}|{{{{{||{|{|{||}|{||{|||{{}|{|}{}|{{|{|z{{||||||||{{{|{{{{{{}|}|||{{|{{{{{z|{||{||z{{z{|{|{{{{{}||zzz{{{||}{|{|||{zzzzzzz{{|{|}~}|||{}|||}{}|~|}|||{||{}{|}{{|}{||{{{{{{{{{||{|}{{{|{zzz{|{||{{|||{{{zz{z{|{{{|{|||{{{{{{z|zz{{|||{zzz{|{{{{{{{|z{{z{z{{{{z{zz{{{{{{z{zzz{{{{{{|z{z{{{zy{z{{{|{z{|z|{z{|z{|zzz||{{{{{{{{zz|z{{z{|{zzz{{zz{{{{{}{{{zz{z{{z{z{{{|||{{zzzzz{{{|{{||{{{{|{y{{{|{{{{{|{{|{z{{{{{{|||||{z{{|{z{{{|||||}{{{zzzzz{{|{||{|{{z{{z{{{{z{{}{|{{|{z{{{||{|||||{{{{{{z{{{|}||||{{{|{zz{|{{|||{{|{{{{||||||||}||{|{{||{||||{||}||{}|{{{||}|||||}{{{||z{{|}||||||||{{{{{|||{{}}|||{{{{|z||{|{|||}{{{z{zz{|||{|{}}|{{{|{{zz{z}{{{{|{z|zyyy{{|{{}~}|}}}||||{{|||}|}||{|{{{{|{||||}||{||z|{{||{||||||z|z{{{{{{|{{{}|{{{zz{|z{{{|{|{|{{{{|{|}z||||{|{z{|z{{z{{{}|{{{{{{{{{{{zz{{{{|{zz|z{zz{{{|||{{{{z{{{z|{{{{{||{{{{{|zzzz{{{{{{{|{|zz{{z{z{{{{z{||{{{{{zz{z{{{{|{|{{zz{{{{z|{{}||{{z{z{{{z{||||}|{{|{{{z|z}zz{{{|}{|{{{{{{||{||||{{{{{{z{zz{{{||{|{{{zz{{{z|{{|{{{|{z{|{z{||{|{|}|{{z{z{{{{|{}}|||{{{{z{{{}{{|{|}||zzz{|{z{{|{{{|||{{{{z|{|||||{{||{||{|||{{||}}||}{z{|{||||{}{|||||||{z||}||||||{{{{||{{|||||||||||{{{|{||{|{||}{|{{zz{{|||{{{}}|{{{{{{{z{|{||||{{z{{z{{z||{{{~~~||||||}|}~||{}}}|}{||{|{||}|}||}{|{z{{{||{||}||||{||||{z|}|||{|}{{|{{z{{|||{{||{{{{|{z{{|}}||||{{z{{{|yz|{||{{{{{z{{{{{{{z{|{|||z{{z{{zzz{z||{|{{{{{z|{z{{|{{{{|{z||z{{{{|{|{{||{{{{z{z{{{|{{||{{||{|z{z{{{{{||{{z{z{{{{{|{{||||{{z{{{{|{{{{{||}z{z{{{|{|{|||{|z{{|{zz{{}|{|||||{{|{|{{{{{|{}|||{{{|{{|{||{{|||||z{|{z{{||{{z||{{{{{|{||||||}|{}{{|{z{{|{|{|||||{{{|{{{z|||}|{|||zz|||{{|||}{}|||{|{|||{{{||||||||{{{|{{||||||}||{|||||{||||}{}{{{{{|{{{||||{|{}|{{{|{{{||{{|}|}{{{{{|{{|}||{{}|{{{zz{|{{|}{|{|{|{{zz{{{{|{{{}}~}}}||}}{||}}||}}|{|}|{{|||}|}|}|||{{|{{z|{|||}}~{{|{{{|{|||{|{||{z|||{z{{||{|{{|{{{{{{{z{z||z|{|{zz|{zzz{{|{|{|{{{{{z{{{{{{{{{||z{{{zz{z{|{{|||{zz{z{{{y|{{|{{{|{{|zzzzz|{z{z{|{{zzz{{z{z{|{{{{{z{{zy{z{z|{{{|z|z{{{|{{z|z{|||{||{{zzz{{{{{{|}|||{z|z{|{|{{|{|}|{{{z{{z{{|{|{{||{{|{{{z{{{}|{|||{{{{z{{z|{|{||}{|{{{{z|||{{{{||{{{{{|{|{||||{{}{{{{{{{{z|{{}||}{{{zz{{|{||||||}||{{|{|z{||}{|}}||{z|{|||||||{}|}|{{|{|{|{}|~{|}||{{{{{{{||{{|}|||{|{|{{{|||||{}}|z{{||}{|{}||{||z{||||{z|||{|{||{|y|{{{{||||||{|z|{||{{{||||{~~}|}||}||}}}|||{}~||{{|{{||}|{|||||||{{{{}{{{{|}|||{}z{{z{{{|{|{|||{z{zz|{{|{|{|{}{||{{|zz{||{{||{{{zzz{zz{|{z|{{{{{{{{zz{{{{|||{|z{{z{{{zz|{{z{||z{{z{{{{|{{{|{{{{z{{z{z{{{z{{{{{{zz{{{{z{{{{{{|{zz{{{{zz{|{{||z|{{zyz{zzz{{|z{||{{zz{{{z{{|{{z||||{{yz{{|{|{|||}z{{{{yz{|{|||||||{{{{|{{z}|{{{|{|z{{|zz{{{|{||{{|zz{{{{{{{{||||{|{{{|{z{||||{|||{{{{{{{||{||||}{|{{|{{zz|{||{|}||{{{{{|{}~||||||{|||{|{{||||||}|}{{|{|{||||}|||{}|{|{{{z||||z|}|{z||{{{{|{|{{||}||{||{{{{|{|}|{}|{{{z{{|{||{||||{z{{{z|{||{|||}|{{{{{{z{{{||{~}~}~}}}|}{}}}}}}}|{|}|{|{|||}||{}|{{{{|zz}|{|{|}|}{{{{{{z{{|}{{||{{{{z{|z{{{|||{|{z|zyz{{{{{{{||{y{z{{{{{{{|{{{{|{z{zzzz{{{{{|{{{{zz{{zz{z{||{|{{{{|{zz{z{{|||{{|{{{{zz{z{|{{||||{{{z{{zzzz{{||||{z{zz{z{{|{{{{|{{{{z{zz{{{{z|{|{z{{zz{z{{{}{|{||{z{{{z|{|||{{|}{{|{z{z{z{{|{||{|{{|{{{{zz|{{|{{{{|{z{{{{{||{{{|{|{{z{zz{||{{{{{|{{{}z{|||{{|||||z{{{z{{{||||{}|{{{{{|z{{|{{}|{|{|z{|{{{z{|}|{||}{{{{|}|{||{{{|{|}{{|||z{{}}|||||{|||z{|{}||||||{{{{{{{{|{|{{{{||{{|{z{{{|{|{|{||{{{{{|{{{{{|{{|{|{z|z{|{{{{|{|||{{zzzzz{{z{|{|~~~||}}||{}~|}}}~}|}{{|||}}~||}|{||{{|{zz{|||||}|{||z{|{z{{||{{|{||{z{{{{{{||{{{{{{{{{z{z{z|{{|}{{{{{{zzz{{||{|||{{|{|{z|{z{{{{{zz{{zzz{|{||{{{|{{{zzz{z{{{{{{{{||{||zzzz{{|{z{|{z{z{|{{{|{{zz{{z{z{{{zzzz{{{|||{{z{{{{{{{{{{{{{{|z{{{{{zz||||{|||z{{{z|{|||}{||{{{|{zz{z|{{{{|||{{{|{||z{|||{||{{z{{|zy{||}||{}|{{zz{{{{{|z{{|{|{{{|{z{{|}|{{|||{{z{z{{|||{|{|||{{||{{{z{|{|}||}|{{{{|{z{|{|}|}||{{{z|}{||{{|}|}||{|{{|{|}|{}|}{{{{|{z{||||{|{|}|{{|{z{{{|{|||||}|{{{||{{|}|}|||{{|{z{{||{{|{|}{|{{{{{{{{|{|{{||{|zz{{zz{|z|{}~}|}}{|}|}|}|||}|}{{{|||}}|{||||{{{{{{{||{|{{||}z{|{z{z||||{|{|{|{{{{z{|z{||{|||{{{{{{{{{||{{{{{{{{{yzz||{{{{{{{{z|{{zz|{|{{{{{{{z{{y{z{{{{|||{{z{{z{z|zz|{|{{{{{{{{{z{z{{|{{||{|zzzz{zz{{zz||||{{z{zz{||{|{|{{zz{z{zz{{|{|{|{{{z{{|z{z{||{{{|||{{z{z{{{{{|{{|{{z|{{{{z|{|{{|{|{{{|{{{zz}{|{||{{|z{{z{z||{{{{{||{z{{{z{{{z|z}||{{{{{{{|{{||||}|{||z{{|{||||||{|||{{{{{{|||}}{{z|z|{|{|{{||||}|{z|{{{{{{||{}|{}}|{{|{}{{{}||||||||}{{{{|{|}|||||{{|{{|{{{|{|{||}|{|{}|{||||||}||{{{{|z{|{|{|||||||{|{z|{|{||z{{{{z|{zz{z{{||{~~~}}~}~}}|~}||~|~}}||||{{}|}|}{}|~|||{|||||||{}||{{{}|zz{|{{||{{|||{{z{zzz|||||{{|{{{|z{zz{{{zz{|{{zz{{{{zz{|{{|{{{{{{zz{z{{{|z{{|z{{{z{zz{{{{{|{{|z{{z{z{{|{||{||{{|{z{zzz|{{{z|{{z{z{{{zz{|z{|z{zz{{{{{{zzz{||{|{{{{{zz{{{z{{|{||{{z{{{{{|{{{{|||{|zzz{{{{||{{||z{{{{{{|{|||||{|z{{{{{{{{{{||{{{{{|zzz{z|{{||||||zz{{{{{{{{|{|{|||{{}z{{|}{||}||{|{{{{|||{{|{|}}||{|{{{{{||}}||{{{{{{z{||||||}|||{{|{{|{{||{|||{|z|{{|{|{}{|{~|{|{|||{|||{||}|}|{{||{{{||{|||}|||||{}{{|}{{|}||||{|{{{{{||}{|||||{{|{{{{{{|||{|{{||z{{{z{z||{~~~}~|{||}|}~}|}}}}|}|{|{{~|}|}|||}|z{{{{{z|}|{|||{{|{|{{{{z||{|||||zz{|zz{z|{{{{|{{{zz|{{z|{z{{{{{z|{{{{{z{|z{|{|{z{{{{{z{{z{{{|{{z{yzz{zz{|||||{zz{{z{zz{|{z{{{{z{z|{{{{z}{|{{|{{z{z{z{{{{{zzz{{zz{z{{z{{|{{{{{zz{{z{|zz{|{{z|{|{{{{|{{{||{{{{{{{{{z{{{{{{|{{|{|{z{z{zz{||{{||{|{z|{{z{{||{|||||{z{{{{{z||{{|||{{{{{{|zz|{z|{|{{{{z{{{{{|{{{||||{z{{{{||}||||{||}{|||z{{{|||}|{||{{{{{|{|}||}||}|{|{|{{|{||{|}{}|{z|{|{z|}|}|||||{|{|{{{||||{|||{{{z|{|{{|{{|{}}|||z{{z}||{|||||{{{z|{|{z|{{{{|{{{{{{{|{|||{{||z{{}zyz|{{{{{{~~}|~~~}}~}{}}}}}||}|{|{|{{||||}}||}{|{{{|{{z|{|||{{{||{{z{{{}{{|||{zz{zz{z{{{|{|{}{{|z{{{{{|{{|{|z{zz{zz|z{}{z{{{{zz{zzzy{{zzz{{{{{{{z{{zzz{{{{{|{{zz{zzz{|{|{{z{{{{z{zzzzz{{{{{{{z{zz{{{z{{zz|{|{{zzz{z{{{{z{{|{{zzz|{z{z|{{{|{||{{{z{z{z{{{{{|{{{{|z{z{z{{{z{{|{z{{zz{{{|||{|{{{{{{{{y{{{{{|{|{|||{{{{{z{|{|||{|{|zz|{{{|z{{|{{{{z{{{|{z|{{{}|{|{{{{{||{||{|{||}{{{{|z{z{{|||{|||{{|{{{{|{|{{|}{{}{{{}{{{{|||{|||{|{{|{|{|||||{||{{|z{z{|{}}{||}|{{z{{}{|{{{{||}|{{{{z{{{|{|}}|}|||{{{z{{||||{|{{{{{yz|z||{{{|{{|z{{zz|{{{|{{}~~}}}}}~||}}}}}}|}|{{|{||||}}||{}~{|{z|{|{|{{|||||{{|{{|z{{{|{{|}|{{{z{{zz{z{|{|||{{zz{{{z{||{{{|{zz{z{zzz{{|zz|||{{z|z{{{{{{{{||{zz{{{z{y{|{{{||{{{yzyzzz{|{z{{z||{|zz{z{z{{|{{{{{z|zz{{y{{{{{{{|{{z{zzzzz{z{z{||{{{z{zzzzz|{|{||zz{z{{yz{{{|||||{z{{z{zz{{{||||{{|{zzzz{|||{{|||{{{{{||{{|{||||{{z{zz|z{{|||{{||{{{{{{zz|{{{{{|{|{zz{zz{||{||}{|{{{{{|{{|||{{{||{{{{{{{{{{|{|{||{z|{{{z{||{|{}|}z{{{{}{{{|{||||||{||{|z{|}||{||||{|{{|{{{|||z}||{{|{z{{z|{|||{}||{{{{{{{{{|{|{|}{{{{|{|{{|{|||}|||z|{{zz{||{|||{{{{{{y{y{{|{{~~}~|~}|}}|~}}}}}|||||{|z}|}||}}}}{{|{|{{{{{{|{}||{z|{{{z{{z||{{{{{{{z{{{z{{|{{|||z{z{zz{z{{z{z{{z{{z{z{{zz{{z{{{z{{{{zz{{z{{z|{|{{{z{zzzy{{{|||z{zz{z{zy{{{|{{{{{{{|yy{{zz{{{|{|{{z{{zzzz{{z{{{{|{zz{{{zz{|{{{|{{{z{{z|{z{{{|{|}{|{{|{z{z{z||{|||{zz{zz{z||||{{{|{{{{z{{{{||{||||{z{{{{{z{{||{|{{zzz{{{zz|{||{||{{{{{{{{{{{|{{|{{||{|{{{{{{{|||{{z{{{z{z{|{{||||||{|{{|{{|{}|||||{{|{|z{z{|||{||||{|z{{|{{|}z||{}{{{{{|{{{|||||||{|{{|z{{|||{}||{|z{||{{{{|||||}||{{||{{||{|||||}{{z{{|{{|||||{|||{{{z{{zz{|{{||z|{|yzy{z{|{|z~~~~}}|~~}}}~}~}|}}|}}{|||}|||}||{||||||||||||||{{{{{{{{||{||||}||{|{{z{{}|{{||z{{||{{{||{||}{||{z{z{{||{|}{|{z{{{{z{{z{{{|{{{{{{|zzz|{|{{{{{|{|{zz{{z{z|{z|{|{{{|z{zz{{|{||||||{{{{z{{{{|{{|{|z{{{zz{{||{{{{{{{z{{{{{{|{||{{||{{{{|{|{{|{{||||{{{zz{{z{{z|||{|{{|{{yz{||{|{||{|{|{{z{{{{||||||||{{{z{z{{||{{|{{{||{{{{{||{|{|{{{{{{{{{||{|||||{{|{{{||||{{||{|{{{{|{|{{|||||{{}{{{{{{{{|||||}}{{{|{z{|||||}||||{||||{{{}}|}||||{|||{{{}||{|||||{z{|{{{|||{|}|}}||{|{{}}||}|{|}{{zz{z{|||||z|}}|||{{z{{|}||||}}{{|z{y{z{|||{~~~||~}}}~~}~}}}{||z||}}|}||}|{{{{||z{||{||{{||z|z{{|z|{|{{|||{{|zzz{z{{||{{||{zz{{zzzz||{z}|||{{{zz{{|z|{z{|{zz{z{z{zzz{|{|{{zzzzz{{{{|{{z{|{{z{zz{yz{z{||{{{z{{|zz{z{{{{{{|||zz{z{{z{{{{{||{{{z{{{zz{{z{||{{{y{zz{{z{z{{{{{{{{{{{{{z{{{{{|{|zz{{{z{z{{{{{{{|{{|yzz{z{{|{|{||{|{{{{z{z|||||{||z{||{zz{z|{|{}||{{{z{z{{||{{|z{{||{{{{|{{|}||{|{z|{{z|{{||{||||{{{|{{z{||||}||||z{z{|{{||{{{||}|{|{{{|z{{{{}}{}|{{{||{zz~|{|}}|{{||{zz{{||{|}{||{{{|{||{{|||||||{|{|z{||{||{|||{|{{|{z{{|||{|||{|{{{{{{z{{||||{z{{|z{{{{{{|{}}}~}~~~}~~||~}||||}|||}|}}|||{{{|z||||||||}||{||{{{{||{{|{||z{zz{{z{|{}{{||z{{{z{{{{{{{{{{|{{{{{z{z{||zz{{|{zzzzz{{{|{z{{{{yzz{{z{z{z{{{z|{{zz{y{zz{{{{|||z|z{zz{{{{{|{{{||{{{{zz{{{{{|{{||{{zz{zz{z|{|{}{{{{|{z{y{{{||{|||{{{z{zzz{|{{{|{}{z{{zzz{{|{{{{|}{{{{{{z{{{||||}|{{{{|z{z{{|||||{|{{|||{{{||{{{{{{{{{{{{{|{|{|{|||{|z{{||{|{||||}{|{{{{|||||{||||{{{|{{{{||{||{}|{{|{|||{}||{|{}}|{{{{{{||||{{||}|{{|{|{||}|||}|{{{{{{{|{{|}|||{|}|{{{{{}{{}|}||}||{{{|{|||||}{||{{|{{|{{{}||{||{{{{|z||{{|{|{}||{{|{{z{{{{|||~}}~}}~}}}}}}}}{|}||}||}||{||||||{|{|{|{{|||{||z||{|{{|}||{{{{{z{{|||z|{||{{{{|{{y{{{z{{|{{{{{{{{z{{zz{{{{{||{|z{zz{{z{{|zz|{|{{zzzzzzz|{|{{|{{z{zy{z{{}||{{{{|{z{{{{{z|{{{{||{{{zz{{z{z{{{{z|{{{{|{zzz|}{{{{{|z{{{{{{|||{|{{||{z{{z{{|{|{|{{{{|{z{z{{|{{{||||{{z{|zzz{|{{{{{|z{{{{z{{{}||||{||z|{z|{{{|}|{{}{{{{{{{zz{||||||||z{{{{{|{|}}||||{{z{|{|||{{|{{|}{{|{{{z{||}|||}||{{z{z{{{||{||}}z|{{{{{{||||||}||{{{{{|{{|}||{}|{z{|{{{|{||{|||{|{{{}|||||{{||}}|{z{{{|{||}}|||||{{{{|{{|{|||{||{{{{z{|{{||}||{{{{{{zy{{|{|{|~~~~~}~~~~~}~}}}}}|||||}}}}}|}||{{{{{z|||{|||}}{||z|{{{{{|{||}||{zz{z{{{|{{||{{{{{|{{y{{{{{||{|{zz{{{||{||{}{{{{{{{{{z{{{|{{{{{zz{{{zzz{||{{{|{{z{{{z{{{{{{|||{|{zzz|y{|{{z|{{{z}{zz{zz{{{zz{|{zzz{{{{z{z{{|z{|{{{{{{{{{{z{|{{{{{{{z{z|{||{{{}{z{|zz{z|{}{|{{{{{{{zz{||{|{{|||{{{||{z|{|||z{{|{z{z}{{|{{{|{{}{{{|{{|z{|{{{{{|{{z{{|{{{{||||}||z|z{{{|{{|{|{}|}|{|{|z{{|}|{|||||{{{|{{z||{|||||{{{{z||{{|||||||}{{{||||||||||||{{{{{{z{||}}||{|}z|{{{{{|{}|||}}zzz{|{{||{||{|||{{{{|{{{{||{|{|||{{{|{{z|||}|||{{{{{{z{z|{|{{}~}~~~}~~~~|~~}}||||{|}}}}||{}|||{{{z{|{{|||}|{{{z{{{|{{{|{|{|{{|z{z|{{z{z{{|}{z{zz}|z{|{{{|{{{{{{zzzz{{{{{{{{{z{zz{zyz{{{{{{|{{zzz{zzz{{|{{z{zzzzzzy{z{{{|{{{{z{zz{z{{{|{{{||zy{|{{zzz{zzz{|{{zyz{zzz{{{|z|{{|z{z{{{zz{{{{{|}{{z{{z{z{{{{{||{|z{{|{{z|{{{{|z{zz{{{{z{{|{|{{{|{{{{|z{|{{||{{||{z{{z|zz{{{{{{||{{{{|{z{{{|{z{||z{z{|{z{|{||||||{|{{{{{{{{||{|||{{{{z|{z}|||||{|{{|zz{{z||{|{|{{{z{z{|{|z{{||||||{{{{|{|{||}}|}{|z{|z{|}}||||||||{{z|z|{{{{|{|||{{{{{{{{||{||{|{{{|{zz{z||{|{||{||z|zz{z{||{z{{{{{{zzyz{{z{{{~~~}~~}}}}}~~}}}||||}||}||}}}||{z|{|z{|{||{|||{{{{{{{{{{||{|||z{|zz{zz|{|z{{{|{z{{{zzzzz|{{z{{|z{{{zzz{z|{{||{z{{zzzzz{z{{{{{{yz{zzzzy{{{{{{{{{{z{y{yzz|{z||{{z{{zyzzz{{|{{{|z|zz{{z{z{z{{{{{{{z{z{{z{y|{{z|z{zz{y{{{zz{{|{{||{{zz{zz{{|{{|z||{zz{{{z{{{{|{{||zz{zzzz{{{{z||{{{{{zz{{z{|||{|||z{|z{|{{{{|{{||{{{{{{zz{{{{|{{{{|{|z{{{z||||{}|{z{z{z{{{|{|{|{{||z|{{zzz|{{||||z|{{{{{{z||{{|}{|zz{{{{||{{||||{|{{{{{{{{{}||||||||{{{{{{|}||{|}|z{{|{{{{||{||{||{{{|{z|{|{{{|||}{|{z{{{{z{z{{{||{zzz{zzz|{{{{||{{{{zzz{{y|{z{~~~~~~}~|~}~}|}}||}}}}|~|}}{}|||{{||{{|||||{z{}|{{{{|{{{}}|{{{z{|z|{{{{{{|{{{{{{zz{{z{{|||{||{{z{z{{|{{||z{|{zzz{{|{{|{|z|{{z{{{{{|{|{{{{z{zzzz{{z{{{z{{|{{z{zz{zz{{{|{|{|{{{{{{{zz{{{z{{{{{{{{{zz{{z{{{||{z{z{{z{zz{|||{{{{{{{{|z{{{|{{||{z{{{zzz||{|{|{{z{{z{z{{{{{{||{|{|{z|{|{{|{{}|{{z{|z|{zz|||||}{{{{{||{{{{{|{{{z|{z|{{{z|{{|||}}{{|z{{{{z|||||||{{z{|{|{z{|||||{{|{{{{{{{}}}||||}{|{{}|z{{|||||}||{{|{|{{}}||||}{|{{}{{{{|||||||{|{||{{{{{|{|{|||{|{|{{|{|||||||}{{{z{z{{||||||}}{zzz{{zz{{{{{|}|z{{z{zz{{{|||}~~}~~~}}||}|{{}|}}~}}|||{{|{{||{{|{||}{z{{{{{{|||{|{|||z|{{|{{{z{{{{{||zz{{{{z||{{z{|{{zzz{zzz{{z{z{{{z{{zyzzz{|||{|{{{zzz{zzz{|{{{{{{{z{zzz{z{{{{{z{{{z{zz{{z{{{|{|{{{y{z{z{zz|z{{{{{{{zzz{{zz|z{|{|{{{{{{{{{{{|||{|{{{{zz{{{{||z{{{}z{{{zz{{z{{|{{||{z{{{zzz{{{{z|||{||{{{{{{{|{{|{|{{{{{{{{{{{|{|}{zzzzzzz{{{||{{{|{{{z|zz{|{{||}}|{{|{z{{{||{|||||{{z|{{{z{||{|||{{{{{{|{{{|{||||||{|z{||z||{{|||||{{|{{|{{}}{|||||{||{||{|{||||||{{{{|{z{{||||}}||{|{{{{|{||{||{|{z{{{z{{{{z|{|||||}{{{z{{|||{{{{|zzzz{{z{{{|{~~~~~~~}~}}}{||}}{}|}}||||||{|z|{||{}}||{|{{yz{||||{{|||{{{|z{z||||{|{|{{|{{{zy{{|z{||{{{zz{{z{|{{|{{{|{zzz{zy{{{{|z|{{zzzz{z{z{{|{{{|{z{zz{{zz{|{{|{{{zz{{zz{{z{{{|{|{{{{zzz{z{{{z{{{{{{z{{zz{{z{{{|||z{{z{{|z{||{|{||{z{{{z{{||{{{|{|{z{{{z|zz{||{|||{{{{z{{|||||||{|{{{{zyzz{|{{||{{z{{|{z{{{|{{{{|||{z|{zz{{||{{|{{|zz{{z{{|||{|{|||{{||{|{|{}}||}|{{{{{z{{{|{||||||{{{|{|{|}|{|{}}|||||{{{{||||||}}{{{{{|{{||{}|||{|{|{{{{||{||||||{{{||{{{||||}}}}{|{|{{{{|||{|{{{{{{{|{{||||{|||||{{{{{z{{{{|||{{z|z{z{{}{{||}~~}~~~}|}}|}{}|||~~}|}{{||{|}|||{}||{|{||{{{{{|{|{|{|{{|z{{z{{||{{{{|{{zzz{{{{|{z|||{|{{{{{z{|{}{{|{|z{{y{{{{{{|{{{|{{{{{z{{z{||{{|{{{{z{zz{{{{{{{|{|{{{{z{zz{{{||{}{{{|{zz{z{{{|z{{{z{yzz{zz{|{{|{{|{z{{z{{z{{{{z|{{|z{{|z{z{{}{|}||{z||{z{{{{|||{||{z{{zz{||{|{{|||{{{{{{{{|{{|{||}|z{{{{{{{||{|{{}|z{{{|{{{{||{|{|{z|{{{{{||||}|||z{{{|{|{|{z|||||{{|{z{zz{||}{{}||{{{z{{{||||{||||{{||||{{||}||{||{{{{{{{{|}}|}|}|z{|{{{{|||}}|}{||{{|{||{||{|||}||{{||{{|}||||}|{z|zz{{{{{|||||{|{|{{z{{{}|~{{|}{|{z{{z{|{||{~~~~~~~~}~}}||||~|}||}}|}}}|||||{{||||}|}}|||{|{{{z{|||{||||{{{{{z{{{}{{|||{{|{{zz{||{z{{|{{z{{z{z{||z|{{{{|{{{{z{|{{{|{{|{z{{{zzz|{{{{{{{{{z{{{{z{{z{{|{{{{{zz{zz{{{|{{{|{{{{{z{{{{zzz{|{{{{z{zz{{{{{z||{z{{{z{{z{{|||||||{{{{{{{{{{{{||{|{{{{z{{{{{{|{||{{z{{{{{|{|{{|||z||{|z|{z|||{||||zz|{|{{{||{{{||{{zzz||{||{{}||}{{{zz|{{|{{|||||{{{{z|||{{{||||}{{{{|{z{z|}|||||}{{{|{{||}|||||{{{|{{|{{{||||}|{||{|{|z{|}}||{||||{{|{{{|{||{|||{{{{{|{|{||||||}||z{{||{{|{|{||}||{{{z{{|}||||||{|{{{{|{||}{{{|{{z|zz{z{{|||{~}~~~~}||}|||}|||}}}~}}|{||{{|{||}||{{{|{{{{{|{{||||}}|{{|{{{{{|{|{{|||z{|z|{{z{||{}||||{{{{z{z{{{{{{|{{|{|z{{z{{{{{||{{zz{{zzz{|{|{{{{{z|z{|zz{{{{||{{{{z{{{zz{{|||{||{{{z{{{{{|||z||{|{z{{zzz{|{|{||}{|{{{{{{{{{|{{||{{zz{{{{{|{|||||{{|{{{{z|{{||||{zz{zz{{{{|{||}{}{{z{||{{|{||{|{zz{{{{zzz||||{|||{{{|{zz{{||{{|{{{{|{||{{{|{}{||||{|{{{|{||{|{|{}|{{{{{zz|}|||{|||{{{|{{{|||{|}}|{{{{|{||||{|||||}{{{{{|{{}||||}|||{{{|{{|||{|||{{{{z{|||{{||||}||||||{{{|}||||||||{z{{{{{{|||||}||{{{{{{{{||{|{|{z{{|z{{{|}{|~~~~~~}}}}||}|{}}}|}}}}|{{|}|||||||{|{||{{|{{|{z||||||||{zz{{{{{}{{||{{z|{z{zz{||{z|{{|{{z{|{{{{{||z|{{{zzz{z{{{z{{|{{{{{{z{zzz|{{|{{||z{|{zz{{|{{||{|{{{z{{{z{{z{{|||{{yz{z{z{{{{{{{{z{z{zz{z{{{z||{|{{|{{{z{{{{|{|}|{{{z{zz{{||{{{|||zz{{z||||{{{{||{{{{{{{{|||||||{{z{{{z{{{{{{||||{z||z{z{{|{{|||{|{{{{{zz||||{}||{{{{{{{{{}|{||||{{{{|{||||{}{{}{{{|{{{{z||||}}||}{|{{{{||||{{|{|{{|{{{|||{|||||||{{{{}|{{}||{}}|{{{||{|||{}}{||{{{z{{{{{||}{||}|}{{|{{{{||{|}{|}{{{zz{{{{{{{{|||{{}z{z{{{|{{|{||{z{z{{z{||{|{~~~}}}|}|~{}||}}}~||}||{|{{|{|{|||||||z{{{{z{{{|}|{}|||zzz{{{|{{{{||{{{{z{z{|z|{{{|||{zzz{{z{{{{{{{|{z{{{{{{{{{{{{{z{{y{z{{{z{z{z|{{{{{{{z{{z{{{{|{{{{{{{{zz{zz|{|{{|{{z{zzzz{{zz{||{{z{y{zzzz{{{{{{|{{zyz{{z{z{zz||{|{{z{y{{{{{}||||{{|z{z{||{{|{|{{z{z{{yz{||||{|{||{|{{yz{{||{||{|{z{|{{{{|||{}|{{|{{|{{{{{|{{z|||{{{{{{{{|{|}{}|{z{{z{{|{z{||{||||{||z{zz{|{||||}|{{{|y{{{|}{{|{{{{{|{|{}{{}||||}||{|{{{{{||{||}}|{{{|{{{|{{{|}{}|z{||z{{{{{||{}||||{|{{||}||{}|||{|{{|{{{{||||{}{{{{{{z{{|{|{||z{{|zz{{z|||{{~~~~~~|}|}||||||}~|}||{}|||{{||{{|{|}{|zz{{{z{||{{{|||{{z{z{{z{{{{{|{}{{{{{{{{z{{z{{|{z{zz|z{{{{|{{{{{{{z{zz{{{z{{{{|{zz{{{zz{z{{{z|{{z|zz{yyz{|{{{|{{z{{{{z{{{{{{z{{{{zzzz{{{z{{z{{|{{zzzzzz{z{{{{|z||z{{{{{{{{|{{{{||{z{{{{|||{z{||{{{{z{{{{{{{||z{|{{{z{z{{||{{|{||{z{{|zzz{{{{{{{{{{|{y{{z{||{|{||{{zzz{{{{}|{{|{|||{{{{{{z{|||||{zz|{zz{z||{}{{|{|{|{{z{zz|{{|||||z{{|{{{|||{|}|}{||{{z{|{|{|}||||{|{{{{|{||{|}||{{{{{z{|||||{{|||{||{{{|||{||{||{{{{{{{{{|{{|{}{{{{z{{z{z||||||{{{{{y{{{{|{|{|{|zz{z{zz{||{{{~}~~}|||||}||}}|}|}}|{z{{{||{|||{}{{|{{|{{||}|{|{}||{{zzz{{{{|z|{||{{{{{{{{{{|{||{{{zz{z{{{{{{{{{|{{{zz{zz{|z{{|{{z{{zz{zz{z{|{{||{{zy{{{{z{|{{{{{{{z{{zzzz{{|{{{}{{z{yz{z{{{|z{y|{{{zz{zzz{{{{{||{zzzzz{zy|{{{z|{{|{z{{z{{|{||{|{|{{{{zz{z{{z|{||{{{|zz{{{{||{||{|{{{{{{z|{{||{||{{{z|{{{z{{||{{|{{{z{{{z||{z{{{{{|{{{z{z{|||||}|||{z{|{{|||||||{|{{||{|z{||||||||{{|{{zz|}}|{|}||{|{||{|{|||}|||}|{{|{{|||}{||||||{{|{|{{{}|{||||{{{{{{{{|{{|}|||{{z{{{{||{|{|||}{{{{|{{|||||{{||{|{{{{{{|{|{|{||{{{{|zz{{{{{z~~}}||}}{||}|}|}}|}{{{{|{||{}||||}}||||{{{{{{|{z|}||{z{zz{y|{|{|{||{|{{{{{zz|z{{{|{|{z{{{z{|z|{{|{{{{{{{{zzy{{{z{|{{y{z{z{{|z{|{{{{|zz{{{zz{||{|{||{{|zzz{z{{{{|||{{zy{yzzy|z{{{|{z{z{{{{zzz|{{{|{|{{{{{{zz{{{{{{|{{{z{||{z|{|{||{|{{{{zy|z|{{{{|z||z{{zz|}{{{{||{}{{|{{y{z{{{{|{|{{zzz{{zz{{{|{{||{{{{zzz{{{||||||{{z|||{{{{}{{||{{{|{{{z{{|{|{|||{{|z{{{{|}|{||{|{{{{{{{{|}||||}}{{{{{{|{{||{{|||{{||z|{}{||}}|{|}{{{{{||{|}||}||z{{|{|z{{{|||||}||{|{{|{||{|{|}{{{{z||{{|{{|}||{{{{{z{{{||{|z{||{{{z|{|zz}|{{~~~}~~~~}~}|||||}|}}}||||}|||||||{}}}||{{z{{{{||{|{||}{{|{{zzz{{{||{|||z{zz{{{{{{{{||{{z{{zzz{{z|{z{||{z{{{{{{{z{{{{{}z{zzzz{z{|||{|{{{zz{zyzz{{{{}||{|{|z{|z{{{||{{{|{{zz{z{{{{|{{{|{{{{{z{z{z{{{{||{|{{z{z{z{|{{{||{{z{{|{z{{{||{|{||{zzzzz{{|{|{|{|zz|z{{{{{{|||{||{{{{{{{{||{{{|{{z{z{z{z{{{|||{|{{|{|z{y{|{|{{|}||{{{|{|{|{||||}|{|{{|{{|{|{||}||{z|{{{zz{{|{}|||{{{{{zz{||||{||}{{{{{|{{{||}}|}||{{{|{z|{|}}}|||{{{|{{{{}|||{}|}|{{{{|{{{|{{||}{||{||{{{|{{|}|{|{{|z{{|{||{{||}}{{|z{|{z{{{||{||{zz{{z{{|z{||~~~~~}~|||}|}|}|||}}||}|}|{{|||{|||||{{{{|z{|}|||{}}|{{{{|{z|{{{{{{{z{{z{{zz|{{zz{|{{z|{z{z{||{{{{{{{zy{{{{{{z{{{{||z{z{{z{{{{||{{|zz{z{z{z{|{{z{|{|{{|{y{{z{|{|{||{{z{z{z{z{{{{{{{|{z{z{z{{{{{{{|{|{{{{z{{z{{|{|||{{{|z{z{{{|{||{||{z|{{z{z{|{|||{|{{{z{{z||{{||||||{{{|{{z|||{{}||{{zz{{{|{{|{{{{{{{{{|z|z{||{|{||{|{{{|{{||}~}|{|{{{{{{{|{}{}|||||{{{{{{{|{||||}|{zz{{z{{{|||{{||{|||{|||{||{||}{|{|{|||{{|||}}}}|z|{{{||||||||}|||{{|{{||||{}||}{{{{||{{||{|||||{{{{{{|{||{||{|z||{{{{{{{||||||{|{{{{{z||{|{{~~~|}}}}~{|}}}|{}{}}{|z|||{||||||}|{{|{{|{{{|{{||||{z{{{{{z{{}|{|||z{{{z{{z{{{{{{|{|{{{{z{{|{{{{{|{{{zzy{{z{{{|{{|z{{zzzz{{{|{|z{{{{{{zzzz{z{|{{|{{{{{{zz{{{{{|{|{|{{{z{zzzz{z{{{{}{|{z{{{z|{{{|}{{{{|zz|{{{{{{|||||{{{{z{{||||{{||{z{{{z|{{{|{{|{{{z|{{|{z|||||||||{{z{z{{{|{{|||{|{{z{|z{||||{|}|{{{{{y{{|{{|||{||zz{|{{{{{|{|{||{{{{|||{||{|z|}|{|{{{zz{{{}||}|||{{||{{|{|||{|}||{{{||||||{|||||}{{{{{{z||||||||||{|{{{{|}|}{}}||{{|||{{||{|{}||{|{|{|{{||{}{}|{{{{{{|{|||||{|||{{{{{{|{{{{||{||{{{z{{||{||||~~~~}~}||||}|}|}|||}||{{|{{{|{{||~}}{{{{{{z{|{|{{|}|{{{z{{z{{{|{||}{z{z{{{z{|{z{|{|{z{y{z{{{{|{{{|{{z{zzzzz{{z|{{{{y{z{zzzz|{{|{z|{{zz{z{zz{{{|{{|{{{{{zzz{{{{{z{{{{{|z{{{zz{{|{||{|zz{{z{{{{{|{|{{{{{{{z{{{{|{{{|{{|{{{z{z{|{{{{{|{{{z{z{z|{||{|{|{{|z{z{||||||}||{{{{|z{{{|{{{||z{{{z{{{z|{{|||||{|z|{z{z||{{|{|||{{{|{z{{|{|||||{{zz{{}{{{{{|{||{{{{{{{{|}}{{||{|{{z{{{{||}{||}|z{|{{|||{{{{{||}}{{|{{{|{|||}|}|}|{||{{|{|||||||{{z{|{{|{|{|{|||||{|{z{|{|{||||}{|{{{{z{{||{|{|{z{{{{z{{{|||||{|{{{zz{{z|||{{}~~}}}}}}|}}~||}}}||}{{{|||{|||||||{|||{z{}{{|{|{|{|{zz{z{z{|{{|{z|{z{|zzzz{{z{{{}zzzz{{{{{z{{{{{|||{{zz{zzz{{|{{z|{{{z{{|{{|||{|{|z{z{{z{zz{{{||||zz{z{zzz{||{|||{{zz{{y{z{{{{{{||{{zz{z{zz{{{{|{||{{zz{{{||{{{{}}{{{{{z{{|{{||{|||{|z{{{{{{{|||||z{{zyz|{{{}|{|}||{z{{z{z||{{|{z|{{|z{{{{{|{|{||||{z{|{{{|{{|{||{|{{{z{{{|{{{||||{z{{|{{{|{{}||}|{z{|{z{{||{||||||{{z{z{{|}||{{|}|{|{{{{{{|||{|{|{{{|{|{{{}|||||||{{{{{{{|||{}|{|{z{{{{z|||{{||{|}{{{{{{{{}{||||}{{{z{{{{{{||||{||{|{zz{z|}{{{||{|{{{{z{{|{z{{~}}~~}||}}}}|}|}|}|||||{{{{{{||{|{|||{{{|{{{{{{{|{|}|||{|{{{{{{{|{{|{z{|{z{{{z|{z{{|z{{zz{{|{{{|{{{{{|zzzzz{z{|z{{{{|{{z{z{{{y||{z||{|z{{{|zzz{{{|{|{z{{zzy{{{{||{|{|{z{z{{{{{{{{{{{{{{{{{z{z{|z{{|{||z{{{z|z{{|{{{{|{|{z{z{{|{{{{{{{yz{z{z|z|{{{{||{z{z{{z{{{z{{z{{||{z{|z{{{|{{{{||{{|{z{{{{{|{{|{{|{|||{{{|{|{{|{||{{{{|{{z|||||||{|z{{||{{{{|||{||{{z{{{{{|{||||{{z{|{{{{||}|||||{{{||{||{{|{||}|||{{{{|||}{|||}{|{|}z|{||||{|||||{z|{{|{{|||{}|}|||{|{z|{|{}{|{|z||z{||{|{||||||{{{z{{{{z|{{||||{{{z{z{z|{|{{~~~~}}||||}|}|}}|~|}|||{|{{||}{{}{|||{{{{{|{|{||{{||{z{{z{{{{{{|{|{{{|{z{z{z{z|{{{{{z{zzz{|z{{{|||{|z{{z{{zz{{{{{||z{zzzzzz{z{{{zz|{z{{{z{zz{{{|{{{{{{zzz{{{z{{{|{|z|z{{{z{zz{z{{{{|{{{{zzzzz{{{{}{|{z{{zz{z{zz|{{{|{{{z{z{z||{{|{{|{{{{{z{{|{{{{{||{{{{zz{{{||{z|{|{{{{{{zz{|{{||{|{zz{{{{{{{{|{{|z|zz{|zz{||{{{{{{z{z{{{{z{|{}}|{|{{{z|{}{}|{{|{|||{z|{zz{|{|{{||{|{{{{{|{||||||||z{{{z{||{|{|||{||{|{{{{|{|{|}||}|{{{||{{|||||{|{|z{{|{{{||||||||{{{{|{z{||z|}}|||{{{|{{{{}{|{||}{|{|{{zz{}|{{{}{z{{z{{{z{||||~~~}}}|}}||}}}}|}}~~{{{}{|z|||||{}}|{{{{{{||{|{{|||z{{zz{{{{{{{{{||{{zz{z{yz{{|{{|{{zz{{z{|zz{{{{{{{{{{z{{z{|z||||{zz{zzzzz{{zz{{|{z{{zz{{|{||z{{|{zz{{{{{{{{|{{{{|z{zzzzzz{{z{z|{{{y{{{{|{{{z|{{{zzz||z|{{z{|{||||{{{z{{{zz{|z{{{{{{|{zz|{||{{{|{|zzzz{z{{{|||{|||{{{{{z|{{{||{|{|{z{{{{|z|||{{|{{|zz{zz{{|{{{|{{|{|{{|z{{{{|{||||{{{z{|{{}{||||||{|{z{z{z{{}|{}|||zz|{z{{|||{{|||{{|{{{{{{||{}|||{{{|{|{z|}{|||}{{||{{z{{|{{||||{|{{{{zz{{|{|}{|||{|{{|{|}||{|||}|{{{z{|{{|{{||||{{zz{zz{|||{{|||||zzzzz{{z|{z~~~}}}}}|||||}~~}|~||{{|{{|||}z|||||{{{{{{{{|||{||||{{z{z{z{|{{||{{zz{{z{{{{}{z{|{{{z{zzz{{{z{z||||{z{{z{yzzz{{{{{{{yzz{{{{{{||{}|{{z{zzzzzz{{z{{|z{z{z{zy{{|z{{{{z{{{{z{zyyz{z{|{{|zz{{zz{{|{{{|{|{z{{{{zzzz|{z{|{{zzz{yzz{|{|z{|zz{z{{{zzz|||{{|{z{{z{{zz|{{{||{|||{|{z{{z{|||||||{{{{zzz||||{{|||zz{zyz{{|{{z|{{||{{{{{z{{{|||{|{{{{{{yz|{|}{{}|{{z{{z{{{|||{||{|z{{|{{z|||{{|{}|{{|{|||{{{||||||zz|{{{{|}{}{{|{||{{{|{{||||||}{|{{|{{{|z{|{|||||{{{{{{{|}{|||||{{{z{|{{||{{|{}|{{z|{{{zz}{|{{|{{{{{||{{|z{|{~|}}}}||||}|||}||||{{{|{{}||{|}||}z{|{{{{{|{|{|{{||z|z{z{{||zz{{}{{{zzzz{z|{|z||{{{{z{z{{{|{{{{{{{{{zzz{{{{{{z|{{zyz{{{{{{|{{{{{z{{{{|zz{{{{{|{{|{zz{z{z{z|{|{{{{{z{|{{{zy|{{{{|{{|yz{{{z{|{{{{|{{{{{z{{{{|{{{|||{z{{{{{z{{|{{|||{||zzz{|}{{{|{{|z{{zz{{{|{||||{{{z|{{{{z{{{||{{|{{{{{z{{{{|||{|{{{{{{{{|{{{{{{{{{z{{{{{{{{||||}|z{|z{z{{{}||{{z||{|{{{zz{{|{||{{{{{|{{z{||{|||{|||{z{{{{||||||{||||{{{|{|||||||}}||{{{z{|{|}|||}|{{{{{{{|{{{{|||}z|{||z{||{}z|{|{z{z{{{z{|||||||{|z{z{|{{||{z|||z{{{{{{{|{||{~~~~}||}}}~}|}}}}|||z||{||}|}}||||||{|{|{{||{|}|}{||{{|{{z|||{|||{|{z{{{{{{{|z{|||{{{z{z{|{{{{|||{{{z{{y{{{{{{{||z{z{zzz{|||{|||{|zzz{{{{|{{{|{{}|{|zz{z{{|{||{||{{{}|z{z{{|{{|||{|z{{z{{{{{{{{|{{z|z{{|{{{||||||{{z{{{|z{{|||}}|z|{{|{{z{{{|||||z{|{{z||{||{|||}z{{{}{{{{}{|{||}{{{{{{{{||||||{||{{{{{{{{}{{{||}z{}|{{{{{|||}}||{||{{||{||}||{}|{|{||{{{}||}|{|||{||{|{{|}|}}}}||{{{{{|{|{|||||||{z{z|||{}}}||||{{|{{z|{|}|}||}}|{{{{||{}|||}|||||{}||{|||}|}|{}{|{z|z{|{||}|||}{{z{{{{{{{{|{{||}{|{{{{{|{|{{~||}}}}}|}|}}}}}}}|||{|{{}|}{||||||{|||zz||||{{}||{{{zz{z{||||}{|{z{z{{{z{|{{{||{{{|z{{zz||{{||{{|{{{z|{|z|{|{{z|{{{z{{|z{{{{|{|{{{{{zz{z{{{{{|{|{z{{{{zy|{{||z||{|{|{zz{{{{{|{{||{z{{z{{z|{||||{{{{{{{z{{{{{{|||{z{z|{{{|{{||{|{|{|zzz{|||{||{|}{z{{{{{{{{|{{}{|{{{z{{{|{|{{|{|{{z{|{{{z{{}|||||{||{{{z{{{|{z|{|{|{{{{zz|||||}}|{{{{{{{{|}{||}||{{{{{{|z||{|||}{|{{{|z{|||||||}|{{|{z||{{|{{||||{|||{{|||||{||}|{|}|{z{||||||||||{{{|{|{{}|{{||||{|{|{|||}||||||{{{|{{{{{|||||}||{{{{{|{{|{{{||||{{{zz||{{|}{~~~~~~}}~}||}}}}|}}}}||{||{|z}|{|}|}{zz{{{|z{|{|{{|{{{{{{{|{{{|}|{|{}{{{{{z{{{|{{{|{{{{{{{{z{{{{|{{{{{{{y{{{{{{{|{{||{{z{{{{z|{{{z{{|{{{z{z{{{{{{{{{|{{{z{{z|{{|{{|||{zz{{z{{{||{{|||{z{{{yz{z{{{{|{}z{{zz{zzz{|{|{|{{{z{z{z|{{|{{{|{{{{zz{{z{{{||{|}||{{{{{{{||{|||z{{{{|{{|{}|}{}|{||||{{z{{||||||{{|z{{z{{{{{{}|{||{{|{{|{|||{||{||{|{{{{z||||{{}}|{{{|{{{{|}||||||z|{{{|{{|||||||{{{|{}{{z||||||}}z{|z||||{|}|}}||{{{{{{|||{||||||{z{{{{{{|}|{||}{||{||||||||{|||{z{{||{z||{}|}}||{{{{||{{{{{|{}{{|{{{z{{}{|{{~~}}}}}||{|||}|}~}}}|{||{{{|{|||{||{{|{{{z|||||{|||{|{{z{{z|||{|{||{{|{{{z{|{{{{{|{{{{z{{{z|{|{{|z{zz{yz{{{z{z{{{{|zz{|z{{z{{{|{{|{{{{z{{z{|{|z}|{||{z{{{zy{{{|z{|}||{{z{{z|{|z{||}{{z{z{zzz|{|{|||{{{{z{yz|{{{|{||{{{z{{{{||{{|{{|{{|{{z{z{|{||{|z{z{{{{{{|||{|{|{|{{{|z{z{{|{{z||{{|{{z{z|{|{||}{{z{{{zy||{|||}||{{{z||{{|{|{{}||{{|{|}|{{|||}|}|z{|{|{{{|||{||||{{z{{{{{|}|||||{|{z{|{|{{||||||{|{|{{|{{{}{||||}{|||{{{{||||}||{{{{{{z||{|||||||}|z{}{{}||||||}||z{|{|{{{|||||||||z|z{{{{}{|{{|||{{z{z{z|||{{~~}}}}}|{}}||}}~}|||{z{|{{|}|{||}|{{{{{{|{|{{||||||{z{z{{z|{|{{|||{z|{|{{z||{{|||{{{{z{z{zz{{{|{{{{z|{{zzz{{{|{||{z{z{zzz{{z|{{{{{{zz|{{{z{{z||{|z{{{{{|{{|{{|z{{|{{z{zz{zz|z{{||{||z{zy{zz{{z{|{{{{{{{zz{{||{{}{{{{{|z{z{{{|{{{|{{z|{{{{{|{z{|{|||{|z{{{z|||{||{|{{{{{z|{{|{{||{||{z{{z{{{{||{|||{{|z|{{{{{|{{||{|{z{{{{|{{|{{||}{|{{|{|{z{{}|||}{z{{{{zz|{||||{||{{{{z{{||||||||{{{|{|||||||{|}|||{|{||{{|||}|||}{{||{{{{|}|||}||{{||{{|{}{|||}}||{{{{||z{|}|}||{{{{z|{||||{{|}}{|{{{{{|||{|{||}|{{{{{z{{|}||~}~~||}}}}}{}~~|}|}}{{||||{{|{||||}{{{{|z{{{{{||{{|{z{{{yz{{|{|{{||{|{|zz{z{{|y{{z{|{z{zzz{z|z{{|||{{{zzz{{z{{{{{|zz{{z{zz{{|{{{{z{|{|{{zzz{{{{|{|{z{{z{{{{z{{||{{{{{yy{{{z{{|z{{{{{{{zz{zz{z{{zz|{zzy|zz{zz{|{{{|||z{zz{zzz{z{z{{||{{{{{z{|{||{{{|{{zz{{zzz|{|||{||{{|z{{{z{{{{{|{|{z{zz{{{{||{||{{|{z{{{{{|{{{{{{{{{{{z{{|||{||||||{{{{{|{|{|||}|~{{z{z|{||{{||{{||zz{|z{{{}|||}|||{{{z{}{||{|{||||{{{{{{||}|||}|}|{|||{{{||{|{|||||{{{|{|{|{{{|||||||{{{{}|||{|}||{|{{{{{{{||||||{{|{{{{z{{|{{|{{{{z{zzzz|z|||}}~~}}|{}}}|}}||}}|}|{{|{{}||{|||}|{|zz{{|{{{|||}|{{{|{{{z|{|{{||}|zzz{z{z{{{{{|{{|z{{|{z|zz|{z||{|zz{zzz|{z||{{{|zzzy{zzz{z{{|{|{{{zzzzzz{{{{{||{{{{{zzz{{|{{{{||z{z{{{{z{{{zz{|{{{zz{z{|z|{{{|{{z{{{z{{z{|{||{}|{z{{{{|z{{|{{|{||{{{{z{{{{{{|{{|{{{|{{{{{{|{|||{|z{{zz{z{{||{}|||z{{{{|{}||{|{{|{||{{{|z{|{{{|||{{{{{{{{|{|}||||z|z{{{|z||{||}z}{{{{{{{{|||||||{}{z{{{{{|||{}||||{|||||{{|||}{|||{z{{{|{|}||}|}}|{z|{{z{||{{{||||{zz|{|{{{|{|||}|{{{|{{{{||||}||{|{{{|{{{||||||}{{z{{|z{||||{{||{{{zzz|{{{z{{~~}~}~}}|}{|}~}}}}|~|{|{||}{z}{{}||}{|{z{{{{{}|||{{|{|{|zzzz|{||{|||{z{z{{{zz{{z{{z{{{z{{zzz{{{{{{||z{{z{{{z{{{{{{{{{{{z{yz{{z{z{{{{{zz{z{zyz{{z||||z{{{zz{y{{{{z{{{{{z{{z{zz{{{|{|{{zz{zz{{{|zz{||{{z{{{{zz{|z}{{|{zz{z{z{z{|{{|||||z|{zz{{{{{{|{{|{{{{z{{{{|{z|||{{{|{{{z{{{{|{|{{|{{{{{{{{||z{{{||{{{|{z{z{||y|{{|{|zzz{|{|{|{||}{{{|{{{|}{{||}|}||{{{|{{|{||||||{zz{{|zz{}||{{||{|{|{||{{|{||~|||{{z{|{{|}||{|}||{{{z{|{||}|{|}||{z{{{{{|||{{|}|||{{{{z|||||}|||||{z|{|{{|||||{{||{z{|{{z|||{{||{{{z{zz{|{||{~~~~}{~||||}}|||}}|}|{|z{|{z|||{|||{{{{z{zzz{||||z{|{{|z{zzz{{||{{z{{z{z{{{z{}zz{{|{|z{{z{zz{{{{z{zz{{{{z{z{zzz|{{||{z{zzz{{z{zz{{z{{z{yzzyzzz{{|{||z{{z{zzz{z{|{{{{{z{{{{{zyz{{{{{{{{z{zz{{z{{{|{z{{zzzz{{z{{z{{{|{{|{{{z|{{z|{||||{{{{{zzz{|{|||||zzz{zzz{{{|{{|||{{{yz{zzz|{{{}|z{z|{{{zz{||{{||{{{{z{{{z{}{|{{{{{z{}{{|z|{|||||{{{{{z{|{{|{|{||{{zz{{{{{{|||{|||{{{{{z{z|||||||||{z{{{{{{{{||||||z{{z{z{{||||||}|{{{{{{{||{|{{{||{|{{zz{{{{{|||||{{|{{{{{|z{||{|{{{z{|{{{{{|||||z|zz{{zz{{{||{||z{{zzz{z{{||{~~~}||||}||||}|||}}{|{{||{z|{{}||||{|||z{z{{|}|{|||{z|{{{{{{{{{|||{{zzz{z{{z|{{{||{{z{{{z{{{|{{z{{{{{{{{zz{z{|{{{|{zzzzz{{z{{{{{{{{{{z|z{z{|{{|{|{{{{zzzzzz{|{{{{||{z{z{z{z{{z{{{{||{zzzz{{z{{z{{||z{|zz{{{z{|{||||{{|{{z{{{|{{{{{|{{{{zz{|{{{{z{||{z{{{{{{|{{|{|||zz{z{z{{{|||{{|{{{{{{{{z||{{|||{|{z{{{z{{{{{{||{{{{{{z||{|||{|||{{{{{{z{}||{|{||{{{{{z{z{||{}{|||{{{|z{{||||}|||{{{{z{{||{|}||{||{{z{z{{}||{||}||{{|z{|{|{|||}}}{zz|{{zz{|{||||||||{|{|{{|{|||||z{|z|||{{z||||{|{{{|||{{{|{|||||{z{{{{zz{{z{{~~~~}~}}|}{|||}|}|}|{|{||{|z{{{||}{}}{|{{{{{{|{|{|}}z|{z{zzz||{{|||}{{{z{{{z{{{|z{{{||z{zz{{|||{{|{{{{zzzz{z{{{{{{||{{zz|yzz{||||||{{z{zzzz|z{{{z{{|{z{{{z{{{|{{{||{|zz{{{{zz|{{{|{{|{{{{z{{z|{|{|{{|z|{|{{z{{{{{{|z{{z{{y{z{{{{{{|{{zz{{{z{|z{{{|||{{|{{zzz|{{{{||{{{{{|z|{{||{{{|||{|{|z{z{{||{{{||{{{{{z{{||{||||{{{{{|{{{{{||||{{{z{{{{{{|||||{|{{{{z|{{{|||{||{|{zz|{{{|||{|}|}{{{{{|{|||||||}||{{{{{{{||}{|||}|z{{{{{{}|}}|||}|{||{{||{{{||||}}{||{{{{|{{{||}{{|{z{z|{||||{{}}|{{{z{|z{|||{|{|{{{zz|z{|}{||}~~~~|}||{}}|}|}||z}}z}||{{{|{{{{||}{{|{{{{{{{{||||{|z{z{{{|||||{|{{{{|z|z{z|||z{{|{{{{z{z{y|{{{{{{zzz{z{zzz{{z{{|z{zzzzzzzz{|||{{{|{{z{y{z{{|{{{{zz{{{{zz{z{{{{|{{|{z{{{z{zz{{{{{|{|zzz{{zzz{{{z{|{{z{z{{{z{{{{{|{{|z{{zz{|{{{{z{{|{{z{z{{{{{{|{||{{{{{{{{{{{{||{|{y{z{{{{{z|{{|||{{z{{{{{z{||{{{|||{{{z{{{|||{|||{{{z|{z{{z|{|||||z|z|{{{{{{{|}|}{|{{{{{z{||{|{|{{|zz{z{{|{}|||{||{|{{{z|{{|{{|{|}}{|{zz{{{||{}|||{|{{|{{z||||{|||{{{|{{|{|{{|{|||{{z{|{{z||}{{}{}{|{{{{{{{|||{{|{|{{{|z{z{{{{{{{{zzzzzzzz|||{|~}}}|}}}|}|}|{||}}~}||{{{|{|}}}}|||{{{{|zz{{|{|{||{{{{|zz{z|{|{||{|||{{z{{z{||{{|{}{z{z|{{z{{{{{{{z{z{zzz{{{z{|{|||zz{{{yz{{|||{{|{zz|{zzzz{{{{{{{{{z{{zz{{|{{{{{||{{zz{zz{z|{{{{{{{z{z{y{{z|{z{|{{z{{z{zz|{{{{z{||{{{z{zzz{{{{{{{|{{{zzz|{}{|||{{{|{{{z{z{{|||||}{{{{{zz{{{}|{{||||{|{{{{z|{}|{{{|{z{||{{{{{{{{}{{z{{z{{{z{|{|||||{|{{|z{{|{||||{{|{{{||{z{||||||||{{{{{{||||}{|||{{||{{{{||{|{|||||{{z|{{{||||{||{{{z{|{{|{|||}|||{{|{{{{||{{|{||||z{{|||}|||{||||{|{zzz{|{{|||}}{{{{{{z{{||{{z}|{|{{zz{z||||{~}~~~}|}||{||}||}|||||{{{|{{|{{||{||{{|{|{zz{|{|z{|||z{z{|{{{|{|{|{{{{{zzzzz{{{{{{{{{z{zyz|zz|{{||{z{{zzz{{{|z|{z{||{yzzzz{{z|{{|{z{{z{zzzyz{zz||{|{|z{zzzz{z|{{{|{{{{{zzz{z|zz{{{{{|{z{{z{{z{{{{{{{{{z{|{zz|{{{{{{||z{zzz{z{{{|{|z|z{zzzzz{{{z{z{{|zz{{{zyz{{{{{{{|{z{z{z{z{|{{|||{|z{{{zzz||||{||{{{|z{{zz{{{{{{||||{{|{{{||{|{||{{{{z{{{z{{{|{||||zz{z{{z|{{{{||{|{{{{{{z{||||||}z|{{|{{{z||||||||{z|{z{|{~|||||}|{||{{z{|||||||||{{{zz{{|{{|||}||{{{|{|{|||}||||zz|zz{z{z||{{|||{|{{{{{{{{{||{{{|{{{{{{z{{|}z~}~}~}}~}||}|}||}||~}}}||z{{z{|{|{{}||||{{z{{||{{|||{{||{{{{z{|z|{z||{||z{{z{{|{{{{{{|{||z{z{zzz||{|{|{|{{{{{{zzz|z{||{|z{{{zzz{{{{{{z{{{{{{zzz{z{{{{{|{|{{{zz{{z|{{||{{{zz{{{{z{{|z{{{{{{z{z{zz{|z{{||{{{zz{{zzz{{|{{||{{{zzz{{{||{z|z|{||{{{{{|{|{{{{{z{{zz{{z{{{{{||||{{{{{z{z}z|{|{{{z{|{z{z{}{{|||{||{{|{z{{{|{{{||z{{{{z|||||}}}|{{||z{{{|z{|||}}|{{{{z{{z{|||||}||{z{{{{|{{{{{||}|{{{{{||{|{||}}|||{{z{|{{|{|{}||{{{|{{{{{||||}|||{{{{{||{|||{{||||{z{z{{{|{||{}|z{{z{{{{{z{||{}{|{{|{{{{{{{{{{}{{|||{{{{{|{|{~~~~~~}|}|}}||}|~|}}|||||{{{|{|||}|||||{{z|z{|{|{||{{}{{|{{{{{{||{{|{{{{|z{z{zz|{zz{|{{zz{{zzz{{{{z|{{z{{{z{{{z|{{{{|zz{zzz{z{{|{{{||{zzz{{|yzz|{||{{{|{{zzzz{|{{||z|{{{zzzz{zz{|{{{{z{{{z{{{{z{z|{{{||z{{{{zz|{z|{|{|z{{{z{|{{||z{{||{{{z{{z{{{{{|{{|z|z{{{z{|{|{{||{|{{{{yzz{|||{|||{{{{{{{{{{{{{|~}{{{{{z{{z{|{|{|||z{z{zz|||}||||{{{{{{z{|||{{{|||z{{|{zzz||{{|||{|z|{{|{{||||{{}|||{{|{||||{{|||}|{|z{|{|{}|}|}|||{||{{{{{{||{|}||{{{{{{z||||{||||{{{{{{{|}|}{|||{{{{{||{{|}{||{|{{{z{{{z|||||||||{{{z{|{{{{{|~~~~~~}}~||{||}}}}|||}||||{{||}|||}}}|{|{|zzz{}{||{{||{{z{y{zz||{|z|{{zz{z{{zz{|{zz{{{{{{{{z{{{||{z{{z{z{zzzz|zz{{z{||z{zz{z{z{{{{{{|z{{z{z{z{{{|||||{zz{z{{zz{|{{{{|{{{zz{z{zz{{{z{{{}{{z{{{{{|{{{{|{{z{{{{z{|||{|{||zz{{{{{{{}{|{|{{|z{zzzz{|||{{{||zz{{{{{{{{z||}||z{{{{z{{{|{}|}|}{{{zz{z{{|||{{||{{{{zz{{|||{||{|{{{{|{z{{{{||||{z{{{{|{{||||{}|}|{{{{{{}{}|{|{|{|{z{{{|||}||{|{||{{{||||||{{||||{{{{{{{{|}||{}}||{||{||{{|||{||||{{|{{|{z|||}|~}{||||{{{||{||||||{z{{{{z{||{|||||{z|{z{{{|||{||{{{{zz|zz|||{{~|~~~}~}|||}||||}{}}|}}||{{{{|{|{||~|{|{{|{{z{{||{{|||||{||{z{z{{|{z{||{{z{{{z{{{{zz{}{{z{zz{{zz{{{{{z{zz{zz{{z{{z|z{{{z{zz{zzzz|z{{{{{|zzz{zz{{{|{{{|{{z{{zzz{{|z{|{||zzzzz{zyz{zz{{zzz{zzz{z{{{zy||{{{zzzz{zz{{|{{|{{zz{{{zz{z{z|{{{{{{{{{{{z{{{{z|{|{zz{{z{z{{z{{{|{{z{{{z{{{{z{||||{{|z{z{z{{{}{{|{{|{{{{{{|||{{||{z{{{{z{{|{{{|||||zz{z{|{|{{{{|||{{z{yz{{{|}|{|}||z|{{|{{{|{|{}||{{{{z{|{|||{||}|{{{{{|{{z}|||||~{{{|{{{{|||{{||||{{||{z|{z{{{|||}|z{{{{{{|{{{{|{z||{{{{{{{|}|{}{|{{{zzz{||{{|{|{{z{zz{{{||{||~}}~}~}}~||||}|}~}}|}|}|}|||{{|||||}{|||{{z{zz{{z{{||z{}{|{z{z{{z{{{|{}{}{yzzz{{|z{{{{{{{{{{{{{{{z{{{z|{{z{{yz{{y|{z|{{{|zzz{{zyz{{{|{|{{|zyzz{zzz{{{|{{{z|zz{zzz{|||{z|{{{{zzzzz{z{z{{z{{zzz{zzzz|zz|{{|zzz{{{zzz{{{{||{{{zz{zz{{}{{{{{{{yzzzz{z{|z{{{||zzzz{zyz|{|{{{|{z{|{{{z{{{{|{||{{z{{{{z{|{|{{|||y{z{z{{{{z|{{}|{zzz{{{{{{{||||{{{{|z{z{{{||{||||{{{{|{z{||{{{|||{z{{{{{{||{{||}}|{{{|}|{||||{}|||{{{zz|z{||{}{}||{{|{{|z||{}{||||z||z||{|{|||||}}z|{|{{{{{{|||{|{{{{{{{{{||{||}|{|{{{{{z||{|||{|{z{{|{{z|{{{{}~~~~~}}~|||||}{}||||}|||||{{{{{|{{{}|}|{z{{{{{{|{||{{|{{{{{z{zz{{{{{{{|z{z{{{{y{{{{{|{||{{{zzzz{{{{{{{{{yzzzzz{{zzz{||{z{{zzz{z{|{{|{{{zzz{z{zzz|{|{{{{z{{{z{{z{|z|{{{{{zz{zzz{{{z{{{{{{{{z{zzz{|{zz{|{{{{z{zzzy{||{||{{{{{}z{z{|{z{{{|{{{{{z{{|{{{{{{{{z|{{{{{{{|{|{||z{{|{z{z{||{{{{{{{z{zzz{{||{{{{{{{{{{{{z{|||{}|{{|z{{{{{||{|{|||{{{z|z{{||{||||{{{{z{{{{|||||}||{{|{z{{{|||||||||{{{{|z|z|{|||}|{{{z{{z|{|{}}||}|{|||{|{{|||||{||{z|{{{|||||{||||{{|{{{||z}|||{}||{||{{z{|||z}|{{{{{z{{z|||||||||{{{{z{{||{{{}~}~~~}~|}{|}{{|}|||}}}|}{{{{{{{|{}{{||{{|{zzz|z|{{{{{{|{{z{z{z{{{{|{{||z{{z{{z{{zz{{|{{{zz{{zy{{{{z{||{{{{{{zz|{z{{{{{zz{z{z{{{||{z||||{|zy{zzz|{{z{{|z|{zyzzz|{{{z{||{zz{z{{z{{{z{{|||{zzz{{zz{|z{{|{{zzz{{z{{{{{{z||{z{{z{{{{|{{{|{{{{{yzz|{z{{|{{||{{{zz{z{|{|{||||{{{{zy{{||{{{|||z{{{z{{{{|{||||{|{|{{{zz{|{{{|{{{{{{{{{|||{|||||{{{{{{{{{{||||}|{z{|{{|{{|||{||{|{{{{{|{{|{}|||{|{{{{||{{|||{||||{{{{{{{||||||}}|||{{{{{|||||||||{{{|{{{{|{|}|||||||{{{||||{|||||{{zz{{z{{|{||{{z{|{zz{{||||{{|{{{{y{{{z{{||{}}~~~}~~~|~}||{{{|}||||~}|||{}{{|||}|{{|||{|{{{{{{|{||||{z{{yz{{z{|{|{}|}{z{{{{{y{{{{{{{{{{{{{z{z{{{{|}||y|{{z{zz|{z|{{{|{z{z{z{z|{|{{|}{zz{{{{zz|{{{||{|{{|{z{{{z{||{z{|{{z{|{{|{{|{{{{|{{|{{{{{|{{{||{|{{zz{{{y{|{{{|||{zz{|z{{{||{{||||z{{zz{{|{{{|{||{z{|z{{{{{{|{{{|{{|{{z{|||{{{|||{{|z{{{{||{|{||{{{z{zz{{{||zz|||{{|{||z{{|{||}||{{{{{{{{}}{|||||{{|{{{z{|{||{}{|||{{|zzz||||||}|z|{|{||{|}{{|}|||||{{{{{|}||||}||{|{{{{{|||}}||{|{{{{{{|{||{|||}|||{{{{{|||{}||||{{|{{}{|}{||||||{{|{||z||||{|||{{{{{{{{{{|{z~~~~}~}}~}}}}|~|}|||{}}}}}}|{||{||||||||{|||{{zz{{z||{{{|{|z{{z{{z||||{||}{{{|{{{z{|z{{{{|{|{z|z{z{{{{{|{z{{z{{{{|{{{|{{|{{z{{zzzzz{|||{|{{z{z{{y{{{|z{|{{{z{z{{{{{{{{{{{|z{{zz{{z{{|z{|{|{{{{zz{{z|{{||{{{|{{|z{z{|||{||{|{{{zzzzz|z|{||~{{{{z{|{z{yz{{{|{z{{{z{{{|||||||{{|{{z|{||{{|||{{{{{{{{{{||{{{{||{z{z{z|{||{{|{|||{{{{{||{||{||{{|{{{z{{}{{{{}||{z{{||{{|{|||}|||{z|{{{{|}{|}{}||{{|{||z|}||||||||{|{|{{{}|{|||||{{{|{|{{||||||{||{{|zz{{|||{|}}}|||||||}{{|}{||{{{{|}{{{|{|{||}||{|{|{{{|}|{{||{{{z{zz{{{|{}~~~~~}}|}}~~}}}||||{~|||}}|}|{z|{|{|||{|{}{|{z{{z{{{{|||{|{{|{zz{z{||{|z{{|{z{z{z{z{||||||{{z{z{z{z|||{{||{z{zzy|z{|{{||{{|{{{{{z{{{{|{{|{{{{z|{zzz{{{{|{|}{{{{{zz{{{{{|{{|{z{{zz{{{{{{{||{{zz{zz{z{{{|{}{{z{{{{zz{{{||{|}|{{{{zzzz{|{{||||zz{{zz|{z|||{|{|{{z{{z{{|{|{{|||{z{|{y{z{||||||{z{z{{{{z||z|{{|{{{{{{z{{|||{{||{{z{{{|{||||||}|}{{||{||{||{||}||{{{|{{{{||{}{||}|zz{{{{{}|{z{{}}{{|{|z{{||}|}|||||{|z{{{|||||}||}{{{{|{|}{}||}{||z|{{{|||}|}{||{|{{{{|z{|}{{||||{z{{{{{{{||{||||{||zz|{{{|||{{{|{|{{{{y{{{|{z~~~~~~~}~||}~~}||}|{z{}|}||}{}{{|{||{{{||{|{}}|||{{|z{{z}||||||{{zzz{{||{|z{{|{{{{{zz{z{{{{|{z{|{{{{zz|{{{{{|{{|{zz{zz{|{{{{||{z{{zzzz{|{|{{|{{z{z{{z{|{{|||||z{{z{{z{{|{{{{||{{{{z{{z{|{z{z{|{{zz{{{z{|||z|{{{{{{{{z{{z|{{{|{{{{z{zz{{{{{||||{{{zzz{{{{|{|{|}{{{{{{{z{{||{{|{zz{z{z{{{|||z{{|{{{|{{z|{|{{{|||{|{z{{z{{|{{{|{|{{{{{{{{{|{||||{zz{|{{{{{{{{{{{}{{|{|z{{{}|||||||z{{{{{|||{|}|||{{|z{|{{|||||}|||z{{|{|{|~|||{|}|{|{{{{{|||||||||{{{{|{{{{{|{|||||{{{|{{zz{}|{|}{{{z{{|{|||||||{||{{{{z{{||||{|{|{|{{z{|{{|{|~~}~~}}}}~~}}}~}||{}||||{}|{|||}}{{{{||z||{{|||}{{|{{|{{{|||{z|{{|{z{z{z{||{|||{{{{{{{{z|{{{{|||{z{|{zz{{{{|{|z{z{z{y{y{{{{{{{{{{{{z{{zz{z|}z||{{zzz{{zz{{{{{||{|{{zz{z{z|{{|{|||z{{{zz{z{{{z{{z{{{{{{{z{{z|zz{{{{z{{z{z{||{|{{|zzz{z{{{{{{{{|||{{|{z{{z|{|{{|{{zzz{z{z{|{|z||{|{{{{|zzz{{{||{||{|z{{z{z|{||||||z{{{{{z{{}|{{|||z{{|{z{{||||||}}z{z{|{z{{{{|||||{z{{{{z{{||||}{{{{{{||||{{}{|{||{|{{{|||{{{}{{||{{{{{{||{}|||}|}|{{||{{||||||||{{{||{{{{||{{}||}||{{}||{||}|{||||{zz{{{z{|{|{|}}|{||z{{{{||||{{|||{{z{||{|||{~~~}|}}~~|~}~{}}|||{|}|}}}{}|}{|{||{{|||||{||{{{{{{{{{|{|{{|{}{{zzy{z||{{{{{|z{|z{z{z{{{z{{{|{|{{{zzz{{|z{{{z{z{{yz{|z{{{{{|{z{z{{z{{z{|{|{{z|{z{zzz{zzzz{|||zz{zzy{z{z{{{||z{z{{|zzz{{|z{{{|{z{zzzz{{{{{{|{|z{zz{z{y{{{z{z|||z{{{||{|{z{{{||{z{{z{{{|||{{|{|{{{{{zz{z{||{|||{z{{{z{z||{{{{{||{{yz{{z{{|{{|{|{|zz{z|{{{{|{|{||{|z{{{{{|{|||||{|{zz{|{{{||{{}|||{{{z|z||||{|||{|{{{{{{}}||{}|}z{{{{||{|||{|||||{{{{|{zz|{|}|}||{||{{||||||{{|{{{|{{|||{}{{|{||{{{{{{z{{}|{|}|{|{{z{{{{{{|{{||||{{{{{zz{||}{{|||{{{{z{|{{{|{}}~|~~}}~~}|}}}}}{||||||{||||}}|{|{{{{|{|||{||||{{z|{{||{{||||z{|{z{zzzz||{||{|{{z{zzz{{z{z{z{|{{{{{{{{zz{|{{z{{{z{{{zz{{{{{{{z{zzzz{{|z{z{|{{|z{{{z{{zz{|{|{|||{z{{y{zz{{{{{{{{{z{{{z{z{zz{{{{{{zzz{z{zz{z{{|{{{z|zz{{z{z{|{|z{{z{z{zz{z|{|{|{|{zz{|{{{{{{|{{{{{{{zz{{z{{|||{||{|{{{{{{{||{{{{||{|{z{z{||||{{|{zz{z{{{{{{{{z{|{z{{{{zz{{{{||}|}{{{zzz|z|{{{|{}}{{{{{z{{|{{||||||{{{{|zz||{{|}|||||{{{{z{|{||||{{|z{{{{z{|{|||}|{{||z{{{|||{{|}|{{|{{{||||||{||||{{|z{{|{{|{||{}{{{y{{{{{{}{|{||{|{{{{{z{|{|{{|{|{|{{{z{|z{|{~~}~}~|}|}~~}}}~~|}|}|{|{{}{}||}}{{zz{{{z|{{{||||{{{{{zz{|{{{{||{{{{zzzz{{|{|{|{|{{z{zz{z{{{z{|{z{z{z{zzz{z|{z{{{{z{{{|zz{{zz{|{|{z{zzzzzz{{{z{{{{{{{{zz{{{{{{|{|{{{zz{zzz{|{{|}|{zz{{yzyzz|zz{||zz{{z{{z{|{{{{{{{z{zz|zz{{}{{||{{zzz{{{{{{|z{|{|{{{z{y{z{{{{{{z|{{{zzz{{|{{{{|{{|{{{{{{{||{{|{{{{{y{{{{z{{{|zz|{{zz{z|zz|||z|||{{{{z{z|{{{||||z||{{{|{{{{|||{||}|{z{{zz{{{{||{{{|{|{{z|{{||{{|||{{{{|{{{{}|{||{|{{{{||z|||||}|}|{z|{{{{{||{}|{}}|{{{{{{{||||||||{}{|{|z{||{|{{{|{{|{{{z{z}||||}|{|{{z{zz{{|{{{{|z{z{{{zz||{{{~}~}}~}}|}|}}}|}}~}}||{z{}|||}}}}|{{{||{{{|||{|~{|{z{|{zz|{|{{}||{{z{{z{{z{z||{|||{z{zy{{z{{{{{{|{{{{{zyzz{z|zy{{{z|{zz{zz{{{{{{|{zz{{zyz{z{|{{{}{z{{zz{{{|{|{{|{{zzzzzzzz{{z{z{{{z{{zzzzyz|{z{{|{{{zz{z{z{|{{{{{{{z{z{{{zzz{{|{{z{z{{{zzz{{{{{{{|{zzz{z{z{{{{{{||zz{z{zyz|}{{{|{||z{{{z|z{|{{{|||z{z{z{z{{|||{{{{{{z{{{zz{|z{{{|{{{{z{z{|{||{|{||{|{||{|z{{z{||||{{z{{{|{|||{|{|}|{{{{z|z|}{{||||{|{{z||{{||||||||{{{{{{{|||}{|||{{{{z{{{|{||{||{|{{{|{|{{{|{|||||{|||{{{{|z||||}{zz{|{zz{|{{|{||||{{{z|{{|{|{|{||{{z{z{z|{|{{~~}}~|~}|}}~}|~|}}||}{|{{{{||}||}}||{z{{{{{}{}|{||{{{{|{|{|{|{|{|}{{zz{{{z||{}|{||{{{{{{{{||}{z}|{{z{{{zzz{||{{||{{|{{z{{{{{{|{|||z{{z{{{z{{|{{{{{{{{{zz{z{{||||{{{z|{zz{{{{|{{{{|{{{{zzzz{{|{{{{|z{zz{{zzz{z|z||{z|{z{zzz|{{|{||{zz{|{z|{{||{|{{|{z|{zzz{{||{z{{|{{{{{z{{{|{|{{|{{z{z}z{{{{|{}|{|{{z{z{z{{{{|{||{z{{{zz{{|||{{|}||{{{|{{||{|}|{||{|{{{{{z|||{{|||{{|z{{{z||}{}||{{z{||{z||{|{|}}|{{{{{||{||{{}||}}|{{|{{{{}|}}}}||{{{{{|{}||||{||{{{{||{{|{{{}||}|{{{|{{||{||}||}{{{{{{||||{{|}|{{{{{{z{{||||{|||{||{{{{{|||{{~~~}~}}~}}~}}~~}|}|{|||{{|||}|}}|{{{{|z|{|{||||{|{|{{{{{{{{||}||||{{z{{{{{{{||{|}{{{z||{{z{|{{||z{{|z{{{{{{{|{{{|z{z{{{{z{{{{{|z{{zz|{{zz|{{|{||{{z{zz{z{{{{{{{{|{{{zz{z{{{|{|{|{{{{{z{{zz{|{{|{|{z{z{{{{z{|z{|{|{{|{z{z{{|{|{|{|{{|{{{{z}|{{||||{{||{z{{{{{{{|{{{{{z{z{{{|||{{|||{{{{z{{|{{{|||||{z|z{zz{}|{|{|{|{{|{{{z||{||||z|{{{|{{{||||||||{{{|{{|z|}|||}|}{{{|{{|{|||{|||{|{z{|z{{|}||||{||{|{{z{{|||}||}|}z{{z|{{{||||}|||{{{{{|{||{|}|||~{{{|{{|{||||||{|{z|{{{||||{}{|{{{{z{{{{||||||}||{{{{{z{|}||{{|{|{{{{z{{|{|||}}~~|~~}}|}}}}~}~}}|}||{||}||||}||}{{||{{{||{{||||||{{{|{|{|{|}{||||{{{zzz|{||||z||{{{{{zz{|{|{{{{{z{z{{zz{{{{{|{{|{{zz{z{|{{{{|{|y{z{zz{z{{{{|{|{{z{z{{{z{||||{{{z{{{z{{{|{|{{{{z{{{zz{{zz{{{{|{{{{|zzzzz{{{{{{{|{{{{{{z{{|{z{{|{{z{zzz{{{||{{}{|z{z|{z{|{{{|{|||z{{z{|{z{{|||{z|{{|{{{{{{{|}||{{{{{{{|{z|||{|{{|{{|{z{{{{|{{{{||{{|{{z{z|||||}{{{{{{{{{{||{|||||z{{|{{z{{|||||}{{z{|{|{||||}{|||z{{{{{{{||||}||}||||{{{|{||}|||~|||{{{{|||}{{||||{{|{{{||||||{|}|{{|{|{{|{|}|{{{{{{z{{z{{|{}|||||zz{z|{z{|||{||||{{z{{{{||||{}~|~}~~}~{}}}}}~~~}{||{|{{|}}}}}}||{{{z{|{|||||||||z|{z|z{|||{{|||{zz{{{z{{||{||{{{{{{{{{z{{{{{|{{{z{z{zz{{{|{z|||{z{z{{{{z{{{{|{{z{{z{z{{z{{{{{{{{zz{z{z{{{||{{{|{{zz{{z{{{{{{{}z{zz{{zz{{|{{z{z|zzzyz{zzz|{{{|{|{z{zz{{z{z||{|{{z{{z{{{{{|{|z|}{|{zzzz{y}{|{{|{|{{{{zz{{{|{|{{{|{||z|zz{{}|||||{{{{{{|{{{{}{{{}z|{{{{zz{|||{{||{{{{|{zz{|z}||{||{z{|{{{{{||{{||}{{{{{{|{}{|{{||}|z{{{{|{{}{|{|}|{z}{z{{||{{|{}|||{{{||{|{~|||||||{}|z{|{|{|{|{|||{|{|{{{||{|{|||}{{{{{|{||{|{|||{{{{{{{{||{||||||{z{zzzz{|{|{||||{zz{zz{{|{{{~~~}~}}}}||}}}}~~|{|{}{{{||}{|||}{|{{{{{{z}{|{||~{{{|z{{z|{|{|||{{|z{z{{zz||{|{{{|{{{{|{{z{{{{{{|{{z{zz{zz|{{z{||{zz{{zyzz{{{{{|{|{{zz{z{z|||{{{|{{{{{zz{zz{{{{|||{{zzz{z{{|{{|||{zzzz{z{z{||{{{{z{z{y{{{y{|z{z}{|{{z{{{|z|{{||{|||{{{{z{{|{{{{|||{{{z{{{z|{|z{{|~{{|z{z{{{||{|}|{z{z|{z{zz{|{||{{|{{||z{{|||{|{|{{z{z|{{||{{{{||{{{|{{|{{|{||||}|{{{{{{|z||{|||||{{{||{|{{{}|||}||{{{|{{z|}|{}|||{{{{{|||{|{|||||{{z{|{{{{}|}}{|||{||{||{{||}{}||{{|{|{z{|{{{|{|{|||{|z{||||||||{|z|{{{|{{|||{{}~{{{z{{{{{||||||{{{{{{y{{}|{|{~}~}}~}|}|||}}}}}}}}||}|{z{||}||}|}|{z{{{{|{{{{|{|{|z{{{{z{|{||z|{|{z{zz{{z|z||{{{{{{{zz{{{{{{{z{{|{{{{zz{z{{|{z{|{{z{{zzzz|zz|||||zzzz{z{z{{z|{{{z{|{z{{z{{|{{{||{zzzzy{zz{{{|{{{|z{z{{z{{{zz{{zz|z{{{{z{zz{|z|{|{z{{{z{{z{z||{|{z|{z{{{z{{{{y|{{{zz{{{z{{z{{{{{|{{z|zz|{{|{{{{|||{{{{{{{{z|{{z{|{{{{{{{{{|{|{{{|{|{{{z{z{{|z{|{{|{{{|{{{z{{{{{||{{{|y{{{{|{{}|}||{{{|{{z{|{||}|{{||{{{|{{{{}||{||{{|{{{{{|{{{{|}|{{{{{|z{{}|||}{{|{}|z|{||z|||}z|{{|z{{{{||{||{}|||{|{{|||||{|}{|{{{{|{{z{{|||{|{|{z|{zz{|{|{||}{{z{z{{{zz{||{~~}|}||}|}||||||||}}|}{|z|z}||{}||{|{{{{{{{|{||||z{zz{{|zzz{||||{{{|{{{zzzz{{|{{{||{z{{z{z{y{z{{|||{z{{{{zz{|{{y||{z{z{zz{{{{zz{{{z{zz{{{zzz{z{{{|{{{zzzzzzz{{{|{|{{zz{z{zy{{{|{{{{{{z{{zzz{{{z{{|{|{zy{{zzz{{|z|{{zyz{zz{y{{{{|{|{{zzz{zz{z|||z||{zzz{zz{{{{{{{|{}{z{z{z{{{{|z|||{}{{{zzzz{{{|{{{{z{{z{{z{{{{{{{|{z{{{z{{z{{{|{||{{z{{{{z{z|{|||||{{{{{{{{{|{{{|{}{||{{{z|{}|{|||{|{|{{{{{{||{||{||z{|{{{|{{|||||}}{{|{{|{||{|{||||z||{{{{{|{||||||z{{{{z{{{|{|{{{{|{{|{{{z{{|{{||{||zz{{{|{|{|||{|{{{z{{{{{{||{||{zzz{zzz{{{|z~~~}}|{}}{|}}}|}||}||{{{z|{||}||}|||{zz{{z{|{{{|{||zz{{zz{{|{{{{||{{{zzz{zz{|{{z{||{zz{z{{z{{{z{|{|zz{z{z{|{{{{{||zzzz{{{z{{zzz{z{|{{zzzzzz|zz{z{{{{zzzz{z{{{{z|{{z{{zyzz{z{{{{||{z{{zzzzzz{{{z{z{{{z{{yzzz{{zz{z{z{zzz{zzzz|z{{||{z{zz{zzzz{{{|{|{{zz{zz{zz|z{{||{zzzzz{{z|||{{|{{|zzz{{{zz{|{{{{z{{{{{{{z{|{{z|||{zzz{zz{{{{z{||{{z{{|yz{{{||}|{|{{{{{{|{{{{|{z||{{{{{z{z|{{{|}|{{z|{{{z{|{{{z|{|{{{z{z||z{z||z{}|z{{{|{{{|}{|{|{||{{{z{{{|{||||{{{{{{|{z{|z|{|||{|z|{{z{|{||z{|{{{{z{{zz{{{{{||z{zz{|{{{z}{{{z|{{z{{zzzz{{|{||}~}}|{|||{|}}}}||||{|z{{||{{|}{|}{{{|{{{zz{z{{{||{{z{{z{yz|{z{z|z{{|zz{z{zzzz|{{{{{{zz{{|{{{{zz{{{{z|z{{zz{{{z{z{zzzzzzzz{{z{{{{{{zy{zzzzz{z{{z{{{z{zzy{y{z{|{|{{{{{{{zzzzzzz{{{||zy{{{zzyy{{z{z{{{z{z{z{yzz{{{{{{{z{{{z{zzz{{{|{||{zz{|{{{{{{||||{{{z{zz{{{{z{|{|zzz{{{zzzz{z{|||{{{{{zzzz|}{{{{|z{{{{zz{{{{|{{{{{{z{z{zz{{|{{}|{|{z{{zz{|{{{{{|{z{{{{|{z{|{|z||}z{z{zzz{|{{||{||{z{{z{{{{|||{||||{|{{|{{{||{||{{|{z{{{{{{}|||{{|{{{{|z{{{{|{{||{{z{{{z|{|{{|||||{{{{|{{|{{{||{|{{{{zz{z{|{{{|{|{|{zz|z{z{|{|{}{{z{z{{{{{{{{{z}|~|||}||{||}||}||}|||||{|{|{|||{|}|z{{zz{||{{{||||{{{{{zz{{{{|{{|{|{z{zzzz{{{{{{{{{z|{{z{{z{{{|z{z{z{zz{{z{z{zyz{{z{z{{z{{{{z{z{{{z{y{zzz{{{{z{||{z{yzzzzz{z{zz{{{{{{zzzzz|{z{{{||zz{{zz{zzz{z{z|zzz{z{{{zz{z|{|{{{{{zz{yzy{{|{{{{{yzz{yzz{{zz{z||}zz|{z{z{|{{|}{{|{{{zzz{z|||{z{|{z{{|y{z{||||{z{|{zz{zz{|z|{z{|{{{{{zz{z{{||{{{|{{{{{{{{|{}||{{{{{z{{{{||}|}||||z{{{{zz{}||{z|}|||{{{z{||{|}}|}{{{{zz{|{{z{|||||{{{{{|{z{{|||{}||z||{z{z{}||{|||z{{{{|{{{}|{||||{{{{{{{{||{{||||{{{{{{{{{{z|{|{|||{{{{{{{{||||{|{{{zzz{z{{{{{}~~|}|}|}}{}|}||}|}}||||{|z|{|{||||{|z{z|{{|{{||{}{|{{{y{{{{|{|{{{|{{{z{zzz{|||{{{|z{{zzzzz||z|z||z|{zzyzzz{{}zz{{{{zz{zz{y{{{{z{{{zz{zzz{z{|{{{|{{{z{z{{z{zz|{{{|{z{zzzyzz{{{{{{{{{z{zzzzyyzz{|{{{zy{{zzzz{{{{{|{{{{zz{{zy{{{{{{|{{zzz|z{{{{|z|{{{zz{{zzz{{{{{{{{|{z{zz{z{{{||{{||{{{{{z{y{{|{{|{{{z{{z{zz{|{{{{{{{{z{{{{{{{{z{{|{{{{{{{|{{|}{||{|z{{z{{z{{|{|{|||{{{||{{{{|{z|{|{|{{{{{{{{||||||}{{|{||{{{{{{}{|||{z{{|{{{|||||||{{||{{{{||{{{|{{|{z{{|z{{{{|||}}|{{{|{{{|{||{||||{{{||{z{{{}{|{|{{{{{z{z|{{||{||{{{{{z|{|z{{{~}}}|||||||||}}||}|{|}|{{{||||||||||{|z{{|z|{||{{{|{{{zzzz{||||{z{|{{{{|{z{|{||{{{|{{z{{{z{{{z}{{|{{z{{zyzy|{|{z{{{y{{z{{z{{z{|{|z{{z{z{zzz{|||z|{{{{z{yzyz{|{z|{||{z|{zzz{z{|{{{|{{z{|{{{zz{|{{{||{{z{zzzzz{{z{{{|{z{z|{{z{{z{{||{{zz{zzzz{||{|{{|{{|z{{{{{{||z{{|{{{zzzz{{{|{{||{{zz{{z{{|{{{}|{{{{zzz{zz{||{{{||{{z{{{z{|||{{{|{{{|||{{{|z|||||{|{{{{{{{}{}|{{{||{z{{{z{{|||{|||{{z{{{z{|}{{|}|}{{{{{{{{{{||}||}|{|{{{|{}|{{|{||{{{{|{|{}|}|{||||{{z{{{z{z{{{|||z{{{{{{{}|{}}|{}{{z{{{{{{|||{{|||zz{{{z{{{{|{{{{|z{{z{{z{{|{z}||}|{||{|{|}}}~{||||{|z{{|{|||{||||{{z{{{{|{z{|}|{z|{{{{{{{{|{{|{|{{|zzzz{|{||{||{{{{{zz{{{z{{|{|{{z{z{zzz{{{|{{{{{z{zzzzzz{|{{|{{zz{zz{{z{{z{{{|{{{zzz{{z{{|{{|}{{{{{z{zzz|{{{{|||z{zzz{zzz|{{{|{zzzyzzzz{{{{{|z|{z{z{{{yz{||{{||{{z{{zzz{z|{{|{|zz{y{z{z||{{z|{{z{{{z{{z{||{z{||{|z|{{|z|{|{{|{{{|z{{zz{z{|{{{|{{{z{{z{{|{}|{}{|{{z{{{{{{{|}{{{|z|{z||{|{|{{{||}|{|{zz|{||{{{||{|z{{{{{{{{||{||||{{{{{|{{|{||{||{{{|{|z{z||{|{|{||z{zz{z{|||||||{z|{|{{{|}}||{}|||{{{{{{}|{|{|}}{{{z{{{z|{{{|{|{|{{{zz{{|}{{{{||{z{{{zz{||{{{}||}|||{{|||}||||||}|{z{{z{||{||{}||{{|z||{|{{|{{|z{{{zzzzz{||||||||{{zzzz{|{{{{|{|zzzzz{{yzz{{||{|{{z{zz{z{|{|{{{{{z{{zzzz{{z{{|{{zzz{zz{zz{{{{{{{{z{{z{zz{{{{{{{{z{zz{{z{{{||{{|{{{z{zzz{z{{{{{{{z{yyzzz{{zzz{|||{z{{{{zz{z|z{{{|{zzz{z{y{{z{{|{|{{{zzz{{|{{{{|{{z{y|z{z{{|{{{{z{{{{{{z{z{{|{z{{{{z{{{{z{{z|{z|}{z{{{{zz{||{z{{||{z{|{{{{{{|{{|{{{zz|{z{z|||||||||{{{|zz{}|{z|{|{|{{{{{zz{|{{{|||{{||{{{{{{|||{{||{|zz|z{|}||||||{{{|z|{{||{||}{|{{|{{|{||||{{||||{|{{{{{{{{{||||{{{z{z{z||{{|{{{|{{|{z{{{||{{{{{{{{{{{z{{}|{||}}{|{{{|{|}|}|||}||{|{|{z{|||{||}||{{{{|{z{|{|||}{{{{z{zz{{{|||{{{{{{{{{zz{|{{{{{{zzz{zzzz{|{zz||{|{z{{zzz{z{{{|{{{{{{zz{z|z|{{|{{z{zzzz{z{|{{{{||{z{zzzyzz{{{{{|{zz{z{zzz{zz{{{{|{{z{zzz{z{z{z{||{z{{z{zzz{{z{|{{{{z{{z{yz{{{{{{{|z{zzzz{{{{{{{{{{{z{zz{z|z{{{{{|{{{{{z{{{zz|{||||{{{{z{{z{|||{{{{|{{{{zz{{|{{||z{{zzz{zz{|{{{}{{||{{{|||{|{|||{{{||z{|{{|{||{{|||{z{|zzz|||||{{|{z{{{|{z{||||{||{{|{|{{z||||||{{|z{{{z{{{~|{|{{|{z{{{z{z{|||}||{{{{zy{{{{{|{|{||||{zz{z{|{|{|{}||{{z{{z{{||||{{|{{zz{z|{{|}{zz|z{{{{zz{z|{|{|~|}|{||||{{|||{}|}}{{|{{{{||}|{||||{{z{{{{z|{|{|{||{z{{{zzz{{{{|{{|{{|{{{{z{{|{{{z|{||zz{{{{{{{{{||zzzz{z{{{z{{{||zzz{zzzzz{{{{{z{|{{z{|zz{{z{{{|{{{z{zz{{{zz{{{{{{{{{{{{{z{|z{{|{||{{zz{zzz{{{{{{{z{zzzz{zz{{z{{{{zz{{zz{{z{||{{|{zzzz{z{{{{{|{{{|{z{z{z{{{{|{{{{|z{{z{z{z|{|{{{||z{{{{z{z{|{|||{{|{{{{z{zz|{{|{|{{{z{{{z{{|||||||{z{{zz{|{{||||||{{{z{{{{{|{{{{|||{|||{{z{|{|{{||{{|{{{{z||||{{||}{{{{{||{||{|||||{{{{{{{|}||{||||{|z{{{{{||||||}{|{{{{{||{||||}||z{{|{z{|||||z{||z{{|{{{{|{{{|{||{z{{{{z{|{{{||{{z|{{z{{{||{{|}}{}{|{{{z|}}}}||||{{z{zzz{|||||||{zz{z{zz{{{}{{{}|z{zzz{{{{z|||||z{{{zzzz{{{|{{{{z||zz{zz{z{{z{{{{zzz{yzy{z{zz{{z{z{yz{zy{zz{{{{{z{zz{z{z{{||{{|{{{zzyzyzzz|{|{{{{zz{zy{zy{{||z|{{zzzzz{y{|z{z{z|{{zzzzzz{{{{|{z{{z{{{zzz{|{|z{||zz{zz{{|z{{{z{z|{zzz{z{z{{{{{{{{zz{{zy{z{{z{{||{zz{z{z{z{|{|{{{||z{{zzzz{{||{{|{|{z{zzz{{{{{{{{|{{z{{{{{{|{|||{|{zzzz{||{|{z{|||{{z{{{{{{|{{||}||{|{|{zz|||{|{|||{{zz{{{||z|{||||zz{{|{{{|{|{||{{|{{|{{z|{||{|||{z{{|{{{||{{{||||{{zzz{{{{{{z{{}{|{{zz{{{{z||{||{{zz{z{z{|{|{z{{{{|z{z{z{|{{{|}|||{{{z{z{|}|}}||{{{{|{yz{z{{{|{{{z|yz{z{{zz}z||}{{zz{zzz{{{{{{{|z{zzz{{z{{{y{{{}z{{zzz{zyz{z{{{{zz|zzzzz{{z{{|{z{z{yz{zzz{{{{z{zzzzz{{zzz{{zz{{{zzz{z{z{{{{{|{{{zz{yzzzzz{y{{{{}{z{zzz{zzzz{{||z|zzy{{zzz{z{z{{{{z{z{{y{{zzzz|{{zzz{{{{z{{{{{|{{zzz{{z{z{{z{{{{|z{|zz{z{{z{{|{|{{{zz{zzy{{||{{{|zzz{{{z{{{|{{{||zzz{y{{y{|{|{|||zz{z{{{{z|{|||||{{{{|{|{z||||||||{{{{|{{{|{{{||{|zz{{{{{{{{{|}}|{{z{{{{{||{|||}|{{|{z{|{||||{|||{{{{{{|{{{{|{|{{{z{{|z{z}{|||{{}{{{{{{z||{{{||{}|{zz{{z{|{|{|||{|{zz{zz{{|{|z{|z{{z{{z{{{z|{||{}{}{{{{{{{{{{||||{{{{{zy{||{{{|||{{{zzz{zz{z{|{|{{{{y{z{{{}|{{{{{{{zz{yzzzz{{{{z|zz{zz{{z{{zz{|{{z{zz{{{zz{{zz{{{z{zzzzz{{z|z{{z{{zzzz{{zzz{|{{|{zyzzzzzzzz{{z{{zzz{zz{z{z{z{{{{||z{z{zzzzz|z{z{{z{zzzy{zz|z{z{z|yz{zzzzzy{z||{|{zz{zz{z{{{z{{{z|{z{z{zz{z{||zz{{zzz{z{{z|{{{z|{{{y{|{z{zz{|{{{|{{{{z{zyz{|{{z{|z{zz{{{z{||{z{|{{{z{z{z{{{||||{|{{{{z{{z{|{{|||{|zz{{{z{{{{{z{{|z|{{z|z{z{|{|||||z{zz{{{{{|{{||||{|{zz{{{{}{|{z|||{{{|{{z|{{z{|{||{z{{{{zz{{{{{||{z}{|zz{|{|||{{{{z{z|{{zz|{||{|{{{{{{yz|{|{{{|{|{{{{{yzzz|{{{}||||{{{{{||}}|{|{|{|{{{{{{||{{{{||{z{zzz{y{{|{z{|{{{{z{{z{{{{z{{|{{{{{yz{y{{{|{{{|{zzz{y{z{z{{z{{z{{zy{zy{|{||{z{{{z{z{{z{{z{{z{{{|{zzzz{y{{|{{z{{{zz{zzzz{z|z{{{|{z{zz{zy{{{{{{{{{zzzzz{yz{{{{|{{{zzz{zyzz|zz||{|{z{zz{zz{zz|{{{{|zzzzz{zz{{{{{{|{z{{{{zz{{{{{{{|{yzzzz{{{|{z{{{{|y{zz{{z{|z{{{|{{{{zz{zzz{{{{{|{{{z{zz{{|||{|||{{{zz{{{{{{|||||{z{z|{{{z{{||||{}|{{{{{y{|||{{|{|{{{{{{{{||{|{|||z{{{|{{{{||{||{{|z{|{{{{{{||||}|{z{{zz|{{||}|{|{{z{{{{{{|{{{}{{}|{z{|z{{{||{z{|||{|zzz{{{|{{{{||{{{{{{{z{|{{{{|{{{{|{z{{{y{z{{}||{|{||{{{||{{|||{|{||zz{{{z||{|}{{{{{|zz|{||{||{{{{{{{z{{{||{|||{{{{zz{z{{||{{||{z{{{{zz{|{{|||z{z{yzzz{{|z{{z{zzzzzzzzz{{|zz{{{{zz{{z{zz{{{{z|{{zz{z{z{zz{{{{{{{{{zz{zz{{z{{{|{{{z{{zz{z|{{{{{{{{zz{{zzz|z{{{{{zzz{z{{z{{{{|{||{{z{{z{{{|{{{{z|{z|zzz{{{{{{{{||zz{zzz{z{{{z|{}{|{{zzz{z{{{}{||{{{zzzy|z|}|}|{|{{z{z{{zz{||{|{{||{{z{z|{{|||||{|{{{{{{|{{{z||||{{zz{{{{z{{|{{|||{z{{{{{}||{|||||{{|zz{|{{{{|{||||z|||{{|{|{|{||||{||{z|||{||}{|||{{|{{{|z|{||{|}|z|{|||{|||||{|}{{{z|{{{{{|||{|{|{{{z{{{{{||{|{{{{{|zzzz{{{z{||}}{{||{|{{}{|{|}}||{{{{zz{|{|||||{{{{{{zz{{{{{{{|z{z{{|{zz{{|{{{{{{zzz{zy{{{{{{||{zzz{zzzz{{{{{z{zz{z{z{z|{|{{{|{{z{zz{zzz{{{z{{{zz{{zzzz{{{|{{{{zzz{z{{{|z{|{{|{zz{{yzyz{{{{{z||{{zz{zzz{{{z{{{zy{zzzz{z{zz{{|{{{z{{z{zzz{{|||{|z{{{zyzz{{|{z|||zz{zzz{z{z{{{{||zz{z{{{z{z{|z|{{{{{{{{{z{z|{z}{{z{z{|{{{{{|{{|{{{z{{{{zz{{{{{{|{{z{{|{z{|{{|{}{|z{{{|{{{|{{|||}|zzz|zzz{|{{||{||{z{{{z{{||{{||}{{{|{z{|||||||||{{z{{zz{{{|}}||}|{{{{{{{{{||{{||{{|{{z{{|||{{{||}{{{{{{|{||{}|}|||||z{{z{{{||{||{{z{{{zzz{{|{{{||{{{zzzz{{{{{{}{||y{|{{}{|||||||{z{z{{{zz||{|{|{||{z{{{zz{{{{|{{|zz{zzy{{{|{{z|||{{zzzzz{{{z{{|{{|{{{{zzzz|z{{{|{zzzz{{yzyz{{z{{{zzzx{zzyzz|||{{{zz{{zy{zz|{|{{|{z{{xyzzz{{||{{{{zz{zzy{z{z{{{|{{zzzzzy{z{{z{z{||zz{zzz{zz{{{{|{{zz|zz{zz{{{{{{z{{{zz{zzz{{|{{{{{{{{zzz{{{{{{{{|}z{z{z{{{y{{{{{{{{z{zzzzz{{{{||{{|{{y{zz{{{{|{{|{{{{{{z{{|{{z{||{{{{{{{z{|{{{{{|{z{{{{z{{||||{|{|{{{{|{z{{||{{|{{{z{z{z{z{|||}|||{{{z{{{{z||{||||{{|{zz{{||{|{|||{{{z{z{{{|{{|{||zz||{{{|{{|||z}{{{z{{zz{|{{|||||z{{zzzz{{|{|z{||{{zzz{{{{|||z{|{{{{zzz{z{z|{{||}|{|z{{{{{|||{{{|||{{zz{{{{{{|{||{z{{{zzz|||{{z|{{y{zzzz{{{|{z{|{{z{zzy{z{||{{|{|z{zzzz{z{{{zzz{{{{zzzyzz{{|{{{{z{zzzz{zzzz{{{{|{{z{zz{{{z{z{{z|zz{z{{{zz{{{{{{{{{{{zzz{z{{{z{{{{{{zz{zzy{{z{{{{{{zzzzyzzz{z{z|{zz{{zzzzz{{||z||||{zzzz{yz{{{||||{{{|zz{{z{||{{|{zzzzzzz{z{{z{|||{{zz{z{{|||{{{{{{zzz{{y{{{{{{{|{{z{zz{{{{|{{{|||{|{{{{zz{|{|{z}{y{{{{|{|||{|{{||{{{{{{z{z{}|{{}|||z{z{zz|||{|}||{{z{{|||{{}{|}|{{zz|{|{{{}}|{|||{{z|{z{z||{{{|||{zz{{z{{{z|{{{|{|{z{{{{{{|{{{|||{{|{{zz{zz{{|||{{{{|{z{{z|{{z|{{|z{|{z{{|{|{|}|||{{{{|{{||||{|}}{{zzz{{z{{{{|{{{z{{zz{{z{||z||{|{{z{z{{{{{||z{{|{zzz{z{z{{{|||{{zz{{y{{zz{{z{|{{|z{zzzzzz{{zzz{{z{zzzz{{{{z{z{z{{zzzzyzz{{zz{{{{{z{zz{z{||{|{{|{z{zz{zz{{{{{{z{|{z{y{zzyz{z{{{{zzz{{{zzz{{{{{{{zz{{{{zyzz{{{{{|{zzz{{{zz{{{z{{z{{{zzzzzzz{{{{z{{y{zzzzzz{{{z{|{{{{zz{{zzz{{{{||{||{{{zz{|{{z|{|{{zzzzzz||||{{{z}{{{{{{{{{{|{|{{|{|{z{{{{||{{{|{|{{z{{{{{{{|{{|{|{{{{zzzz{{{{{{|{|{{{{{{z|{{{{{{|{zz{{{{{{|z|}{||{y|{|{|zz|||{|{{|zz{{{{z{|||z{|{|zy{{zz{||{{{{||{|zzzzz{{||{{||{||{z{{zz||{|{{{{{z{yzzzz|{{|{}||{{|{z{|{{|||{{{{|{{{zz{{{{{{z{||z{zz|{{y{|z{z{||{{{{y{zz{{|{{{{{{z{yzzz{{z{{zzz{{z{zzzzz{{zz{{{{{zzz{zzz{{z|z{{{z{zzz{{{{{zz{{z{{zzzzyzzz{{{|z{zz|zzzyyzz{{y{{|zzz{{zzyyz{{{{{{|zzz{{zy{{{{z{{{{{{zzzzzzz{{zz{{{{zzzzzzz{{{{{z{{zyz{{{yy{{{{z|{{zy{{zyy{zz{z{{{{z{{{{z{zzzzz{{|{{{{zzz{{|{||{{{{{{zyzz{{{{{{{{{{{{zzzz{z{{{|z|{{zz{z{|z{{{{{{|{|{{zz|zz{{{{|{|{|{{{z{zzy{{|{{|{||zz{|{{z{{{|{|{|z{{zz{{z{{z|}||||{z{{{{zz|{||{|||{{{{{{{|{{||{{{{zz{||{z||{{|{||{{z{{{z{|{|{|{{{z{|{{{zzz{{{|||z|{zzz{{{{{{{{{|{z{zz{z{zz{|{{|}{{||{z}{{{{{{||||{{z{z{z{{{{|||{||{{{{z{z|{{{{{|||z{{{z{||{{{{{{||{|z{yzz{||{{|||zz{zz{z{z{{{z|{|zzzz{{zz|{{{{|{{z{z{zz{{{{{z{|{{z{z{zzz{z{{{|{{{{{{zz{zz{||{{{{|{{{yzy{y{{{{{{|}{{{{zzzz{{{z|{{{z{zzz{{{{{{{{{zz{z{{{z{z{|{{z|{{|{{z{zz{{|{{z{|{zz{{{zz{z{{{{{{|zz{{zz{zz{{{||||{{{{zz|z{{|z{|{|zz{z{{yz{}|||z{{|zz{{zzz{{|{z|{{{z{{z{{{{{|||{{|{{{||{|||{{|{}||{{|{{{z{{{{|||{||{{{{{{{|}|||{|{{|{{{{zz{{||}||{|{{{{{|{z}{|}||||z{|{zz{{{{|}||{|{{{{z{||||{{{|}|{{{|z{|||{|{|}|{{z{|{{{{|{|z||{|{{{{zzz||{|{{{|{{{z{{zz{||z{||{{{{{{|{z|{||{||}z{z{{zz{|{{{{{|{{{z{{{|z{z{{{{{{{{z{z{zz{{|{{{{|{zzzzzzzz{|{{{{{zz{zzzzzz{z{{{{{zzyzz{zz{{|{z{zzz|{zzyzz{zz{{{{|{zzzzyzzz{{{{{{{{zzzy{yz|{z{z{{zzzzzy{zz{{{{zz|zzzzzzzzz{{zz{{{{{yy{zzzzz{zzz{{zzz{zz{|z{{{{{z{{{zz{{{zzz|{zz{||zy{zzzzz{{{{{{{{{{{zz|z{{{{zz{{{z{{y{zzzz{{z{{|z{{{{{zzz{{{{{{{{{{zzz{{z{{{zz{{{{{{zz|zz{||||{||{{{{z{|z{{{||{||{zz{{zz{||||}||||zz{|{z{{{{|{}{{{{{z{|z|{{{|||{|{{z{{{{{z||||{|{{z|{{z{z|{||{{||{{{z{{{{z{{|{|||{zzzz{z{|{{{|{{|{z{{{zz{{{{{{{|{{{{z{z{z{}{|{{||{{zz{zzzz{{{{|||{{z{{{{{||||||}||{{{z{z{{||{{{|||{{z{zzz{|{||||{{|zz{yzz{z{{{{|{{{{zy{{zz{z{{|||{zy{{{{zz{{|y{|{|{{{{zzzz{{{{|z|{{{{{z|z{z|{{|{{yzz{zzyz{z{{|||{{{zz{zz{{z{{{{|{{zzzzz{zz{{{z{{z{z{{zzzz{z{{|{{{{{{z{z{{z{|{zz{{zzzz{{zz{{{{{{{{{z{{{z{z{{{{z{{{{z|zzy{zzz|z{|{{{zz{{zz{{z{{{||{|{{zz{{z{|{|{|{{{{zzzzzz|{{|z{|z{{z{{{z|{{|{z|{|||{{{{z{{|||||{{{{|{{{|z|{||||||||{{{{z{{{||{||{|z|{{{{{{{|{{||{|z{{{{{{{|{||||{}{{{{|{{{}||{||{|z{{{{|{||||{||{||{{{zz{{|||}{||{|{z{zz{|{{|{|||z{zzz{{{{}{{||||{{{{{{{z{|{|z|||{{zzyy{{|z|{{||||{|{{||z|||{|||}z{{{{{zz{{}||{||{{{{{{{z{|{{{{|{{{{{{|{{{{||{{}{{{{z{{{{{{{z{{z{|{{{zzzz{|{{{{{{z{z{z{{zz|{{zz{|{z{{z{zzzz{{{{{{zzzzzzzzz{{{{{|zzzz{{zyy{{||z{|{{z{zzzy{z{|{{|{{|z{{zz{zyzzyz{{z{zz{zzzyy{z{{|{{zzzzzzzz{{{{{z|{{{zy{zzz{z{{{{{{{zz{{z{z{z{{{{{|{{zz{zzz{{{{{|{|{zz{{{zz{{{{{z{{{z{zz{{z{||{{||{{zz{z{zz|{z||}{||{{z{{{{||||||||{|{||z{{||{|{|{|{z{{zzz{{{|||{|z|z{{{y{z||||||}|}z{{z{|z|||z||{||{{{z{|{{{{{{{|||z{{z{|{||{||||{|{{{{{{|{|{{|{{|{{{{z{{|{}|{||||{{{y{||||{|||||{|{{{zzzz{{{|{|{{{{{z{{{z{{{{{|{z{{{|{z{z|||{||}{{|z|{z|{{{{{{{{{z{{zz{{z{{{|{||{|zz{{{z{{|{|z{||{z{zyy|z{{z{|{|{{{z{y{zzzz{{{{{z|z{zzzzz{zz{z{|zz{{zzzzz{{{{{|{{zzzyzz{zz{{z{z||zzzzzzz{z{{z{{{{{zzzzzzz{{{{|{{{{{z{yzz{{{{{z{{|{zzz{yzzz{z{z{{{zzzzzzzzz{{|{{{{{zzzzz{zz{{{{|||{z{{{yzz{{{{{{{|z{zzzz{{{{||z{{|{zzzzz{z{{|{{|{{{zz{zzz{{{{{z{{{{{{|{{{z|{{{{{{{z{zz{{z{{{{}{||z{{|{z{zz|{z|{|}{{{{z{z{{{|{|{{|{|{z{zzz{{|z{{|{{z{}{z{{{z{|||||||||{{z{{z}||||}|{|z{z{{{{||{|}||{z{z{{{{{|{z|{||{|{z{{z|{{|{zz{{z{z{zz{z{|{{|{|{{{z{{{{{|{{{|{{|{z{z{zz{z{{{{|||z{{{z{{z{{|{{||}{|{z{{z{{||{|{|{{{{z{{{y|{z|{||{zz{z|{{z{{|{{{{{{|zz{zzzz{{{{{{{{{|z{{zzz|z{z{z{{z{zzz{z{z{zz{{{zyzzzzyz{|{{z{z{{zz{z{{y{z{z{{z{{z{{zz{z{{|zz{{{|zzz{{zz{{z{{z{|{{z{zz{z{{{{{{{{|{{zzyzzz{z{{z|{|z|{z{{x{{||{{||{z{zzz{{{{{{{{z{zyy{zz{{{{{{z{{{{z{zzz{{|z{{|{{|{{{{{zz{z{z{|||{{z{{z{{{{{{{{{||{zz{{{{||{{z{||||{{{{{{zz{{{|{||z{{z{z{{}{||{|{{|{{z{zz{|{{{{|||{{{{|{{|{{{{||}}z{{{{{|{||{{{|{|{|zz{|{z||||{{}|{z{||z{{||||{|{{{z{{{{{{{|{|{{}|||z{{zz{{|{}{|}|zz{z{{{||{||||}{|{{{{{{{z{{{||{z|z{{|{zy||{{{{{|{{z{{{z{|{{{|{|||{|{z{{{{{{{{{}|{|zz{|z|{{{z{{}|{z{{zzzz{{|{z|{|z{zzzz{y{|{{{{{|{z|z|zzzzz{|{|{{{z{zzz{{z{{{z{z{z{zy{{yy{zz{z{z|{{y{zzzz|{z{{{||{z{|z{z{{{{{{{{{z{{{{zzyz|{{zz{|{z{{{{z{{{zz{{|{{zzzzy{zz{{zz{|{{{z{{{zz{|{{{{{z{z{{{z{z|{{|{{{||zz{{{{z{z|{z{zzzz{{zzz{{|{{{{{{{{{{zz{{z||{|}{|zz{zzzz{|{|{{{||{z|{zzzz||{{{|{|{|{z{{z{{|{{||}}{|{{{{zz|{{{{||{z{{{{z{{{|||{||||z{z{{zz||||{{||{{{z{{|{|{{{{||||{{z{{{{{|||{|||{z{{z{{{|}||{{|{{{{|{{|{{{{|{|||{{z{{{{{{||||{{}{{zz{{{{{z{{{{||z{{zz{{z|{z|{|{{|{{z{{z{{|{{{||{{{{z{{{z||||{{{}{{z{{{z{{{{{{|||{z{{zz{{{z{{{{|{{z{z{zzzz|{{{{|{z{{zzzyz{z{{{{{|z{{yz{zy{z{z{zz{{z{{zzz{{|z{z{{{zyzzz{zz{{z{{{{{{zzz{zzz{|z|{||{z{zyz{z{z|zz{{{{{z{zyzzzzz{{{{{{{zz{{zzyyzz{{{|{zyyzyzzz{zzzz{{zzzzzzzz{zz{|{{{{{{{z{z{{|z{yz{{|zz{zzzz{{{{{{{{{{zzz{zz{{|z|||{|{{zz{zz{{|{{||{{{z{y|zzz{{|{{{{|{{z{zzz{{|z{{{|{{zzzzz{{|{|{{{{{z{{z{{{z{{{|{||{{z{{{z{z||||{||{{{{z{{{z||}|{|}}{{{|{|{{{{|{{|{{|{z{z{{{{||{{|||{{|{z{{z||}}}|{{{{z{zz{{{{|{||{||{z{{{z{{{{{{|||{{{zzz{{{{|||{||{|z{z{z{z{{|||{|z{{zz{{{{{{{{{{|||z|{{{{{{{{|{|||z{z{{{z{|{{||{|z{zzz{{z{{{|{}{{|{yz{zzz{{{{zz|{zz{zzy{zz{{{{|z|z{zzz{{yz{{zz{|{{{{z{z{z{{zzz|{{yzz{z{z{{z{{{|{|zzzzzz{{z{{{z{{{{{z{y{z{zz|zzz{{{z{zzzyz{{{z{z{{|z{zzzzyzzz{z{|{{z{y|zz{z{{|{{z|zzz{{{z{{{{z{|{{{{zzzz{{{zzz{|z{zzzy{{zz{{z{{|||{{zz{z{z{{{||{{{{{{{z{z{{{{{{{||{z{{zz{z|{|z{{|{zz{{z{{z{|{{{z{|{{z{|{z{|{{||{||{{{zzz{{{{{}||}||||z{zzz|||||{|||{{z|z{z{{||z|}{||{z{{z{{|||{{|{}|z{{{|z||||{|}||z{{{{{{||||||{{{{{{{z{{{{|||{}||{z{|z{z{{{{||}{{{{z{{{{{{}{||{|{{zzz{{z{{{|{{{|{z{zz||{|{{{{}|{{zz{{{z{{||{{{}|{zz{zzzz{{{{{||{{zzz|{{z||{|{|{{{z{{zz{zz|{{zz{{{z{zzzzzz{z{{{{|zy{{z{{z{{{{z{z|{|{{{{zyz{{{{{{{{{{zz{zzzz{{|{{{zz{zzyzyzz{|{{{{zz{z{zy{z|{z{{{{{{zzyz{{{{{|{|{|zzzyzyzzz{z{z{{z{{zzz{zzzz{y|{{{{y{yz{z{z{{{zz{|zzz{zzz{z|{{{{{|{z{{yy{{zz{{||{{|zz{zz{{{z|{{{z{{{{{{yz{{{{{{{{|{{{z{z{{{{{{{{{{zzz|zzz{||{|{{{|z{{z{z{{{|{|||||z{{{|{{z{{{|||{|{{{{z{z{z{||{{|||{z{{z|{{|{|||{{|||{||{{||{{{{|||{{{{zz{{{||z|{||{|{{z{{||{||{{|{z{{{z{{{||{|||||{z{z{zz{|{{||||{{{{z{{{|{|{{{||{|{{z{|z{{{{{{|}z{{{{{zz{{{{{||{{|z{zz|z{{{{{{}|{{{z{{{z{{|{{|||{zz{{z{{{{|{{{|{{z|zzzz{{{||{{{{{z{z{zzz{{{{{{{|zz{zzz{zz|{|{{{|{y{z{{yz{{{{z{{zzz{z{z{z|{z{z|z|zzzyzzz|{{{{{{{{y{zzz{zzz{||z{{{z{{zz{zzz{z{||{|{z{{zzzzzzz{zz{z|z{zz{yzzzz{{z{zzyzz{zz{z{|{{||{{{z{{yzzz|{{|{{|{zzzz{{z{{|z{{z{{{zzzz{zz{{{{{{|zz{{zz{z{z|{{|{z{{zz{{z{{{{{|{|{{{{{zzzz{|{|z{{|{zz{{{{{z{{{{{{|{z{{z{{z|{|{{|||{{{|zz{{|z{{|{||{z{z{zz|{||{{||{{{z{z{|{z||||||{{z{{z{{{{}{||{|||{{|{z{z||}|{||{|{{{{{{z||z||{||{{{|{z|{{{{||{|}|z{|zzz|{}{|{|{|zz{z{{{{{||{{|{|zz{z{z{z{{{{{|||{{z{z{{{{{{{z{{|z{z{{{{||{{{|{{||{zz{z{z{zz{|{{{{zy{z{z{{{{{z{{{|z{yz{zyz{|{z{{{zyzz{{zz{|{{z{{|{yz{yzy{{{{{{{{|{zzzzzy{z{z{zz{z{zzy{zzz{{{{{{{{{zz{zzz{{{{zz|{{{{zzz{{yz{|{{{{{{{zzzz{y{|{z{z{{{zzy{yzzz{{z{|{{zz{zzyzz||{{{{{z{zzz|z{{z{z{z{{|z{{z{z{z||{zz|{{z{{zz{zz{|{|{{|{{{z{zzz{{{{{{}{{|z{{{z{{{{{zz{{{{z{{{zz}|{||z|{{|z{{{{zz||{|z}{{{{{{z{z{{|z||||||zz{{{yzz||}{{|||z{{{{{{|||{{|||{{{{{{{{{|||||{|}{{{{||{{{{}|||||{{|{{{|{{{|{{{|||{z|{{{{{{||{|{{z{{{{{|||||{|}|{{z{{{{{{|{{|{}||z{zz{{z{|{{{{{|{{{{{z{z{|{z{|{|{z{{{{{z{{{|{z{|{{{z|{{{|z{{{||{|{zz|z{zz{{|{z{{|{zzz{zz|z{z{{||z{zyzzzz{{z||{{|zz{{zzzzz{zzz{||zzzzzzz{z{|zz|z{z{{zy{z{{y{{{z{{{yyxzzzzz{{{z{{|{z{zz{zzz{zzz{|z{zzzzzyyzz{z{z{|{{{zyy{z{z{zz{{|{zzzzy{zz{{z{{z{zzzz{{zz{{z|{{||{{zy|zzy{z{{{{|{{{y{z{zz{z{{{|{|{{zzzzzzz{{{{z{zz{z{z{zz{|{|{{|{|z{{zzz{{{z{{{{{{zz{{z{|{z{z{|{|{{zzz{z{{|{|{{{|{{{z{{{{{|{{{|{|{{{{{zzzz|{{|{{{|{{{{zz{{}{{||{|{z{z{{{z||z{{|||||{z{z{||}{{|||||z|z{|y{{|{||{||{{yz{y{{{||{{{{|{{{{{zz{||{|{|{{{{{{z{{|{|{{{|{{{{{zz{{{{{{|z||{{z{{zz{z{z||{|{|{{{z{z|z|||{|||||zz{{{{{{||||{||{{{zz{zz{{|z{||{{z{zzy{{{{|{z|}||{{zzzz{{{{{{|{{{zzzzz{zzz{{{||{{z{z|zzz{{{{{{{{{zzzzzyz{zz||z{zyz{y{zz{{{|{zz|zzzz{{zy{zz{||{|z{zzzz{zzz{{{z{{{{z{zzzzz{z{{{||{{z{{zzzz{{{{{|{{zzzzzzzzz{{z{{|{zzzz{z{{z{{{z{{{{z{{{z{{{{{{{z{{zzzz{{{z{{|{z|||zz{zzyz{{{{{|{{{{{{{{{zz{{|{{{|{zz{z{z{{{||||{z{|{|zz{z{{{{||{}|zzz{{{{z|{|{{|{||zz|{{{z||{{|{||{{{|}z{z||{{|||||{{z{{|z|{{{||{{|{{{|{{{||||{||{{{|{{{|z{}{|{||||{|{{{{{|{z{||||{{{{{{z{{|||{{{|{zzz{{{|z|z{{{||{{|zz{z{z{{|{{|{{{zz{zz{z{{{z|{{zz{{{{|{{|{{{{{||{{{{|zz||{{{|{||{{{z{zz|||{|{||{z{{zzz{zz||z|||{z{zz{zz{{{{{|||z{{||{z{z{z{|{|{{z{zzzz{{{{{{|{|{{{yzz{z{z{z{z|{{zzz{z{{|z{zz{{{{{{zyzzz{{{{|{{|zz{yz{{y{{|{{{{{z{{{yy{z{{{{{||{{{zzzz{{y{{|z|{{zzzzzz{{|{{{z{|{zzz{z{{{z{{{{{z{{z{zzz{{|{{z{||{z{z{z{zzz||{{{|{{zz{{z{{{|{|||{{yz{z{{{z|{|z{{{|{z{{{z{{|{}|{{|||{{z{{{z{|z||||{|{{{|z|z{{{|{|||{{||zz{{||{|}{}|{{{{{{z{|{{||{}|{{|{{{{{{{{|{|||{z|{{{z{{|{{||}|{{{{z{|{|}{|||{||{{{z{z{|||{||||{{|{|z{{{{||{|||z|z{z{{{|{|{{|{}|{z{{zzz{}{|{{|z|{z{{{{{{{{{{||{zz{{{{yz{{||{|{|{{{|{zzz{{{{|{{|{z{{|{{z{z||{{||{{{z{{{{z{|{z{z||z{zz{{{{{|{{{{{zz|zzzzy{{zz{{|{{z{zzzzz{{|yzz{{{z{{z{zz{{{{{|{{zzyzzzzz{z|{||{{zzzzyzzy{{{z{{{{{z{zz{z{{zz{zz{zz{zy{y{z{{|z{{zzz{zzz{z{{{|z{|{{z{{zzzzyz{{z{|{{{{yzz{z{z|{{{|{|{z{zzzz{{{|{{{{|{{z{z{zz{{{|{|z{zzz{{{{{z}||{{|{{y{zzzzz|{|{|{}|{zz{{z{{{|{{{{|{|z{{|{{z{{|{|{||zz{{{{|z|{{{|{||{{{{{{{z}{|{|{}{{zzz{zz{|{|{{{||{{{{{{{z{||{||||{z{{|{{{{{|{{||{|{{{{|z{|{{{||{{{{zz{z{{{||{{{||{{z{{{{z{|||{{}}z{{z{{{{{{||{{|{{{{{zz{{{||||{|||{{{z{{z{{zz{{||{{z{{zzz{||{|{{|z|z{{{{{{|{|{{|{{z|{z{{z|{{{{z{{{z{|{zz{{{{{{|{{{z{zyz{z|{|zz{|{{z{yzz{zz|zz|{{{|zzzzzzy{{{z{y{{z{{z{{z{{z{|z{{zyzz{zz{z{{{{{z{z{{{zz{z{{{{z{{|{zz{zz{zz{z|{{{{{z{zz{y{z{{{z{{{|{|{zzzzyz{{{z{{|{zzzz{zy{|{{{{{{{z{{z{z{z{{{{|{zzzzzzz{{{||{{{{{{{{{zz|z{z{z{{z{{z{{{z{{z{{{{{{{{{{{{zz{{z|{|{{|{{{zzz{z{|{{{||{{{zy{{z{{{|z|{|{{z{{|z{{{{{||}|{{zz{zzz{{{|{|{|{|{{|{{{z||{{|{}{{{zz{|{|{||||{|}|{{{{|{{{}|{|{|||{{{{{{z||||||}||{{{{{{||{{{||{|{{{{|{{||||{||{}{{zzzz{{{|{{{{|{{{{z{{{{z{z{{{|{{{{yz{zz{{{{{{{{|{{{{zzz{|{|z{{{{{{{z|z{|{{|z|||{z{z{zz{{z{|{{||{zz{{y{{||||z{{{{z{zy{{{zz{{zz{|zzzzzy{{{{{z{|{|{zz{{zzz{z{z{{{{{yz{z{{{{{zzz{{|z{y{zyz{{{{z{{|{zyz{z{z{z{{{|{z|{{{zzzyzzz{{{{{z{zz{zzz{zz{z{zz{z{zzzzzzzz{|{z{{{{z{y{zz{|{{{z{{{zzz|y{z{{{{{z{{{{{zzz{z{z|{|||{z{{zzz{z{{{z{{{z{{z{zz{z{|{{{||{z{{z{{zz{{{{z|{{{{z||zz{{{{{{|{|{zz{{{z{{|{{|||{zz{z{{|{{{||{||||z{{{{zz{||||{{{{zzz|z{{{|{{||||{{|z{|{|{|{{||{|{{zzz{{{||}{{|}|{{z{zz{{{{|{{||{{z{{{zzz{{{{z{||{{{{{{{{{{{z|||{{{{z{{{z{|{{|{{z|z{{{{{z{{{||{||{y{yzz{z{|{{{|{|{|{{z{z{|||{{z||{{{zz{{z{|||{{|}{{zzz{{z{{{{{{{|{z{{{z{z{{{{{{|{zz|zz{{z{{{{{{{|z{z{{zzz{{{{|||{{z{z{zz{{{{{{{{{|zz|z{z{{zz{z{||zz{zz{z{{{{{|{{{z{z{{zyz{{|{z{{|{z{zyzzz{{|{{z{|zzzzyzzzz{{{{{{{{{{z{{{zzzz{{{|{|{z{{{{{zz{{|{{{{zz{{zz{{{{|{{|}zz|{{zzz{zz{{|{{z{{zz{z{{{|{{{{{{z{yzzz{{|||{{{|{{z{zz{{{{{{{|{||zz{z{z|{{|{|{|{{{{{|{{{z{|}|{|{{|z|{z{z|||{{{||}zz{y{z{|{|{{|{||z{{|{{{||z{|}||{|{{{{{{{|{{||}||{{{{{{{||||||{|{z|{|{{||{||||}{|{{||z{|{|{|{|{||{z{{{{{{|{|{||{{z{z{{{{{||{|{|{|z{{z{{{z|{{{{}{{z{{yz{z|{{{{||{{{z{{zz{z{|z|{{{{{{{{z{z||{{||}|{z{zz{{z{|z{|{{{{z{zzzzz{|{{{|{|{{{zzzzy|{{{{|z|zz{{{z{z|z{{{{{z{{zzzz{{{{{z{{|{{zzzz{zz{{z{{{{{zz{zzzzz{{{{{{{z{zy{zz{{z{{{{z|{zzzzzzzy{|{{{{|{zzy{{z{y{zzzz{z{z{zzzz{zz{z{{{{{{{|{{yzz{{{|z|{{zzzzzz{{{{{{zz{{zz{{{{{z{z|{|{||{{z{{z{{{{|zz{{zz{z{{z{{z{{{|{{{zz{{z{{z{{{z{{{{{{{{z{z{{|{z{|{|zzz{{{z|||||{|||{{zz{z{z{|{|{|||{{{{z{zz{|{z|}{|{z{{{z|{||{{{||{{z{{|||{{|{{|{|||{{|z{{||}}{{|||{{||{{|{{||{|{|||{{{{{{|{{{{|{||{{{{{z{{{{||{|{}|{{zz{{z{|z{{||{|{{zzzzz{{{{{{||{z{z{z{z{{{{{|{|{{zz{yzzzz||{{{{{|z{yzzz|{{||z{}{{zz{{zz||{{|{|{zz{zzzz{{{{|{{|{|zzzzz{z|{zzz{{{zzz{z{{z{{|{z{|{{zyzz{{y{{{{{{{{z{zyz{{z{{zz{zz|zzzzz{yz{{z{z|{{zzzyzzzz{{{|{z{{{zzzyzz{z{z{{{|{zz{yzy{{z{zz{{{|zzzzyz{zz{{{{|||z{z{yzzzz{{|z{{{|z{zzyz{{{{z{{{{zzz{zyzzy{{{{{z{zy{z{{zy{z{{{z{{{zzzzzz{|||{{{{|{z{{yy{z{{z{{{|||{zzzzzz{|{{{{|{{z{z{z|{|{{||{{|{{{{{z{z||{{|||{|z|{z{{{{{|{||}{{{z{|z|z{{|||||z{{|zz{{{||{z||{|{z{{{{{{{}|{|||{{{{{z{{{}{{{{||z{{{z{{{{||{{||{||{z{{z{{{{|||{{|z|{y{{{{||{{{||{{{zzzyzzz}|{{{{{{{z{zz{z{{z||||{{|{zz|zz{||{{{{||zz{zz{{{{{||{||{z{{zz{z{z{{{|{|{z{zzzz{z|{{{{|{{{{{z{zz{{||z{{{{zz|{{zz{{|{||{{||zzzzzzzz|{{{{{{{zz{yzzz{{{z{zz{zzzzzzzz|{{|z{{zy{zzzz{{{{{{{z{zzzzz{{z{|z|z{{|{{{zzz{yz|{{|{|z{{zzzzz{z{z{{{{{{z{{{{zz{{{{{{||{zzzzzz{z|{{|zz{|z{zzy{zzzz{{{|{{zzzz{z{|{|{||z{zz{{zz{yz{{z|||{{{z{{{{z{|{z{{||{{y{yz{z{{{{z{{{|{z{|{{z{||{{|z{{{{z{{{{{||~|{}|{{{{{{zz|||{~|{z{zz{{{{{{}||{||}{||{{||{{|{{||||{{{{{{{z||||{|{||z{|z{{||||{|||||z{|{{{{{|{||||||{{{{||{{|{||}{||{{z{{{||{|{|||{|{{|{z{{{||||{|{zz|z{{z{||{{|{{{{|zz{zzzz{|{{|{{{{{z|z{{{{{{{{|}{{{{zzzy{{{z}||{zz{zzz{z{{{|{z|||zzzz{{z{z|{|{{zzzzyz{z{{||{{{{z{z{z{y{{{z{{z|{{zzzzy{zz{z{{zzzyzyz{z{zz{{{{z{{{zzzzzzzz{{{|z{{z{y{{zzzzzz{|||{z{{zz{z{zz|z{z{{{|zzzzzzyzz{zz{{{{{zzz{{zz|z{{{{{{yzzzzyz{|{{{{z|zzzzzz{z{{{{|{{|z{|{zzzz{|{z{{|{{{{zzzzzz|z{{z{|zz{{z{z{{|||{{{{{z{{zz{{{{{{{{|{{{z{|{{zz{{||||{|{{{{{{{||{{{|||z{z{{{zz{}|||{{{z{{z{z{{||||{|{||{z{|{{|{{{{||{||{{z{{|{{}{{|||{{z{|{{{{|{{{{||||{|{{z{||{{|{{||||{{|{z{z|{{{{||{z{|{z{{{{z{||}{{z{z{|{z{|z|||{|{{{z{z{{|{{{{|{{|{z{|z{z{{|{{|||{{{{zz{{{{}||{|{{{{{z{{z{|{|{|{{{{{zzzz{{{{{{{|||z{zzz{z|{{{{|{|{zzz{z{z{{{{{{{{{{zz{z{{{{{{zz{{{y{yzzy{{z{{{{{{zzzz{z{z|{z{{{|{{zy{y{zz{{z{{z{|{{zzyzzyz{{{|{{|{{zz{{zz{{{{{z{{z{{{zzzzz{z||{{{{{{{zy{z|{{{{|{{{z{zyz{z{{{{z{|{{{{zzz{{{{{{z{|{z{{{z{|{{{{|z{{|{|z{{{{zz|{{{{|{{z{zzzzz|{||{{|{{{{{{{z{||{{{{z{{|{{z{zz{{|}{||{{{z|{{|{}|{||{||{z{|{{zz||||{||{|z{z{{|{||{{|{{|{zz|z{{||{{{|{|||{|{{{{|{|{|{||{|{z{{{z|||{{{{|{{zz{{{{{{|||{||{{{{{z||{|||}}{|||{{{zzz{{{{|{|||{||z{z{{z|{{{{{{{{{{z{{z|{|{{|{{{{zzz{{{z{|{{{{{{{zzz{{{{{{{{{|{|{{zzz{{{}{{{{|{{{zzz{z{{{z{y|||{{zzzz{z{{{{{{|{zy{z|{{zz{|zz|z|{zz{y{zzz{{{{||{z{z{{{z{{y{{z|{|zz{z{zzyz{z|{z|z{z{{zz{{{{{|{|{|{z{zzzz{{{zz{{{{{zz{zzzy{|{{z{zzz{zzzzyzz{zz{{{zzzz{{z{zz{{z{{|{{zz{{z{z{{{{{|{{z{z{zz{{z{{{{{{|z{zz{{z{||{{{|{|{{{z{zzz{||{{{{|{z{{{zzz|{{{|{|{z{zz{y{z{|{z{{||{z{zz|zz{{{}||{|{z|{zz{|{|{||{||{{{{zzzz{|||{{|{|zz{|{{z||{{}|||{{|{{z|{||||||{||z{|{{|||}{||{}}|z{{|z{{{{|{{|{{|zz{{zz{{|||||||{|z|z{{{{|{|||{|{{{z|{{{|{{{{|{||{{{zz{{{|{{{||{{z{{{zzz{|{z{{|{zy{zzz{{{|{{z{{|zy{zz{zz{z{{{|||{z{z{{z{{{{{{{{{{zzzyzzz{{z|{{{{{zzyz{zz{{{z{|z|{zzz{z{z{{{zz{{zzz{z{zzzz{|{zy{zzzzyyzz{{{y{{{{{zzzzzzzz{{{zz{|{{{zyzzzz{{{{z{{{zzz{z{{zz{z{{{{{zz{zzzzzz{{zy|{{z{zz{zzzz{zz{{z|{zzzz{z{{{{||z{{{zzzzzzz{z|{z{z{{z{z{zzz{z{|z{z{z{z{zz{{z{{z{{{{z{zz{z{zz{{|z|||{z{{{zz{|{{|||{z{{|{z{{z|{{{{{{{{{{{{{{{{{|{{|{{{{{{{{{{z{{{|||{{{{{{|{{{|{|{|{{{{|{zz{z|}{|{|{|{|{{z{{{|{{||{|||{{z|z{|{|||||{||{|{{{{|{{|||{||{yz{{{{z{{{z{|||{zz{{{z{{{{||{|{|{zz{{{z|{{{z||{{{zzz{{z{{{z|{{|z{{{zy{|z{||z{{{{y{|zzzyz{||{{{|z{z{{{zz{|{{{{||{z{zz{z{zz|{{{|{zz{{zzzz{{|{zz|z{zzzzz{z{{{{{{{}{z{z{{zz{{z{{{{zz{zzzzz{z{zzz|{{z{zzy{{{zzz{|{{zzzyzzyzzzz{{{{|{{zzz{zzz{z{z{z{{zz{{y{zz{zzz{{|zzzzyzzyz{zzzz{{{{zzyz{zyz{{{||{|zzz{z{zzz{y{|{zz{{z{yzyzz{z{{{||{z{zy{{{{{{{{{{{{zz{zzz|{{z{{|{{{z{z{y{{{z{|{{z{|z{z{zz{{{{|{|{{{{z{zz{{|z|{|{{{{z{{|zz{|{||}|||{{zz|{|{{z|{||||||zz|zzz{}|{|||{{{{{{{z{{|{{||||{{|zz{||{|{{|||{|{{z{{|{{|{|||{|{{{{{zz{{|{{|||{zz{z{{{{{{{|{{||{{{{{{{{{|||{z||{{{zyz{{|{|z{{{{{zz{z{{zz|z{z{{|z{|zzz{{{{|{{{z{{z{|z{{z{{|z|{{||z{z{zz{{{|{|{{}|{z{zzyz|z{{{||{{zzzzzy|{{|{{{||{{zyzzzz{{z{{{{{{{z{zz{zz{{{{{{{zz{z{zzz{|{{z|{{{zzzz{{z{{z{|zz{zzyzz{{zzz{z|{|zzy{zzzz{zz{{{{{{|z{zz{{yz{{{zz|{zy{zzz{z{z{{{{{{{{zyzz{z{z{z{{{{yzz{z{zzz{{|{||{|yz{z{{y{{z{{{{|z{{zzzz{z{z{{}||zz{{zzzz{{{||{{{z{z{|yzz||{|{{|{{z|{{{z{{{|{||||{{zzz{zzz|||z{|{z{{z|{zz||{{||||z{{z{z|z{{{|{{|{{{z{{{z{{|{{{{|{{{{{{z{{}}{{||||{|z{z{{{z||{}|{||{z{{{{|||{}{{{{|{{{{{||||}||{||{{{{{z||}{{|{|{||{{{{{|{|{||{{||z{|z{{zz{||{{{|||{z{{{zz{|{|{{|||z{zzz{zz{|{z{{|z{z{{z{{{|{|z|{|{{z{zz{y{{|z{|{}{{{yz{zz|z{{{|{{{z{{{zz{{z{{{|z{z|zzzz{z{|z|{{{|{z{{{z{zz{{zz{{z{z{{{zzzz{z{{{{{{y{zzzyzz{|{z{z{{{zz{{zzz{|{{{{{zzzzy|z{z{{{|{|zz{zyz{{{z{z{z{|{{{{zyzzzzz{{{{{|{{zzyzzz|z{z{zz{zz{z{zzz{{zy{|{|{z{{{z{{{{{|{{{{{z{{z{{z{|zz{{{{{{zzzzz{{{{{{z{{{z|z{zz{z{||{|{z|zz{{{zz{{|{{||{zz{{{{{z|||z{}{|{{{z{z{z{{{||{||z|zz{{{{{{{|||||}{{{{zz{{|{|}|{|{z{{{{{{|{{{{|}||{{{{{|{{||||||||{{{z{{{{}{{|{|||||{z{{z|{{{||{|{{z{z|z{|{{|||{|z{z|{||{{|||{|||{z{z{z{{|||z{||||{{{{zzz|{{{|{{|{z{zzzz{{z||{{||{{zzyzzzz{|{{{{{|{{{{z{{{{y{z{{{{zz{{{{zzz{z{{|{{zzzz{zzzz{{{z{{{{zzzz{z{{{z{z{{{{yzyy{yzzy{{{{{{zz{{z{zz{{zz{z{zzzzzzzz{{{y{{{{zyzyzzzz{z{zz{{{z{zzzzxzzzzz{{{{{{{{zzzzz{{z{{|{zz{z{z{yzy{zzz{z{{zzzz{zz{{{z{{{zzzy{{zy{{{z{{{{y{zzzzyz{{{zz{z{zz{zzz{z{{zz{{{{{{{{{yzz{{{{{{|{zzzz{z{{z{{z{{{{z{{y{z{{|{|{{{{|{y{{zzy{|{{{z||{{zzz{z{{{{{|{|{zz{{z{{{{{{{{{{{{|z{zz{y{{||||{||{zz{{{{z{|{{{||{{{{zz|z{{|{{|z{|{{|zz{{|{{{{{|{{z{z{z{{z{{{|{{{|{z{{{zz|{||||{|{{{z{{{z{{|{||{z|z|{zzz{{z{z{{{}}{{z{{zzz{z{{{{{{{{zzzyzzzz{{{|{|{zzy{zyy|{{{{{z|{zzzzzzz|{{|||{{{zzzzzzy{|{{{||{zz{zzzy{|zz{z{{{{z{zz{zz{z{{{{z|{{y{zz{yz{zz{{{z{{zz{zzz{z{z{{{|{{zzzyyyzzz|{{{|zzzzzzzz{||z{{z{zy{zzzy{z{{z{{{z{{z{zzzy{z{{{{{{{zzzzzzzzz{zz{zz{z{y{zzzz{z{z{z{zzz{zz{z{{{z{z|{zz{zzz{zz{{|{{z{{z{zzz|yz{z{{z{{{z{z{{z{{z{z{{{{{z|zzyzy{{{{{{|{{z{{{zyy{{|zz{{|{{z{z{{{{{{{z{{{z{zz{{{z||{{{{{|z{zz||||{{{|{|{{{{{{z{z{{||||{|{{z{{{z{z|||{||||{{{zz{|||||{||{||{{{{z{z{|{||z{||{{{|{{{|{||{||{{z{z{{{|{{{{|||{|z{z{|{z{{|{{|||z{{yz{z{{|{{|{|||{z{zz{{{|z{{|||{z{zzzzz{|{{{z{{{z{zzzz{{z{{z{{{zyzz{zzzz{|{{{{z{yyy{yzzz{{z{{{{{{zzzzzy{zz{z{{zzz{zzzzzz{|{zzz{{zzzzzzz{zzzyz{{{zzyz{zz{{zzz|zzzz{yz{zz{z{zzzz{{zyyzyzzzzzzzz{{zzzzzzyzz{{z{zz{{zz{zzzzzzz{zz{z|zzzzzzyzzyzz{zzz{zzzyzyzz{zy{z{zzzzz{zyz{{zzz{{zzyyzzzz{z{{{z{{zzyz{zz{zzz{||{zyzyz{zzzz{|zzz{|{z{zz{{z{{{z{|z{{{{zzzzzz|{{{z|z{z{z{zz{{{{{{z{{{z{y{z{{{z{{{{{{{z{z{z{z{{{{||{|z{zz{z{z{{{{|{z||zzzzz{{{{{{{{|{{{{zzz{{z{{{{{|{|zz|z{z{{}{|{}||zy{z{z{{{{|{|||{{z{zzz{{{z{||{{{{{yz{|{z{{|{{||{{z{zz{{{yz{{||{{{{zzzzzy{{{{{{z{z{zy{zyzzz|{z{{{{|zzzzz{{z{{{{|{{z{{z{z{z{{{{{|{zz{z{z{z{{{{{|{|{z{{zz{zz{{z{{||{z{{zzzz{{{{{||{zzzzz{z{z{{{z{{{{zz{z{yz{{{{z{z{{{zzz{zzz{{{{z|{zzzyzzz{z{|{zz{z{yyzzzzy{{{{|z{{zzzzzzzzzz{z{z{{zz{zzyzzzzz{{zzzyz{zzyzyzzzz{z{{zzz{yzzy{{zz{{{{zyyzzzz{z{z{{|z{{yzzzzzz{{{{|{{{{zzzzzz{{{{{z|{{{zzzzzzzz{{{z|z{|zz{{z{{{{{z{{{|{{{z{z{{{{|{zz{|z{z{{{z{{{{|{}||z{{z{{z|z|z|{{||{{{{{z{{{{{|{{||{|z{{{{z||{{{|{{|{{z{|{{{{{{{||||{{{{{{{z||{{}||{{{{z{z|{|{{{{}{|z{{|{{z{{{{{{{||{{{z|{z{|{{|{{{{z{z{z{{{{{{{{{|{zz{{{z{|{|{{{|{{z|{{zzz||{{{{{{{{zz{zz{{{|z{z|{{zz||z{{{{z{{{||{{{z{{{z|{{{|||{{{{{{z{{{zz|z|||{{zzz{{z{{{{{}{{z{{{zzz{{zzz{|{{zzz{{{yz{{|{{{{{{{zzzzzzz{zz{{|{z{zzzzy{{{{|zzy{zzzzy{z{{{|{{{zzzz{zy{{{{{{|z{|{{zzzzz{{z{zzzz{{{{{z|y{{z{z{{{{{zz{{{{{yz{z{zz|{z{zzzzz{z{|{{{{zzz{z{zzz|{|{{{{{{{{z{yz{{{{{{{|{z{{zzz{zz|{{{|{{{{{|{{{z|{{{{|{{{z{{{{z{{||{{||{|{{{{{z{{||}||{{z|{zz{{{{{||}|{|{zzzzzzz{{}|z|{{|{zz{{z|||{||}||{z{{{|{|z|{{|||{|z{{{|||{||||{|}{{{{|z{|}|||{||||z{zz|z{|{{{|{|||{{z|{{{|{|{}}||z{|zzzz{{{||{|||{{z{z{zz{{{{{{{{{zzz|{zz{{||{{{{{{{z{z{z{{{{zz{{{z{z{zz{{|{|||||zzz{{zzzz{{{{{|{{z{zyz{z{{|{{{{{z{zzzzzz|{{{{{{z{z{z{{{zz{{z{{|z{{z{zz{{{{{zz|{{{zz{z{z{{z{{z{{{zzzzzzzzz{|{|{|z{z{{zzz{z|{zz|{{{{zzzyz{{{{{{z{{{zzzzz{yz{{{z{{zzzzx{zzzzz{{{{z{z{{{z{z{zz{{{|{|{zzzzzyz{|{{z{z{zzzz{zzz{{{||{{|{{{zzz{z{{||{{{|{z{z{{{{{{||}{{{{{{{{{{z{||z{{{{zzz{{zz{|{{{z||{{{zz{{{{{{|{||{{{{z{zz{z||{||{||||z{{z{{{{{||{|||{{{{{z{{{{{{||||{{zy{{{{|{{|||||{{{{|{z{|||||}|{{|{{{{{|||{|||}{|{zz{{{|{{|{||||zz{|{{{||z|{}{|{z{z{{|{{|}|{|{|{zz{z{{{z{{{{|{|{z|z{zz{||}|{|||{zzzz{{zz{|{{{||{zzz{zz{z{{||{|{{zz{zz{{{z{{{|||{z{{{zzzzz{|zz|{zz{zyzz{{|||{{z{|{{z{{{{{|z{{{|y{z{z{zzzz{|{{|{{z{{zzzzz{zz{z{{{{z{z{{zzz{{z|{|{z{zzzzyz{z{{{z{{{{zzzz{zz{{{{{{{z{z{zzzyzzzzz|{zzzzyz{zyzzz{z{{z{z{zzz{zz|{z{{|{{zzzzzzzz{z{|z{{{z{{z{zz{z{{{|{{zzz{yzz|{{|{{{{{{z{{{z{{z{{{z|{{zzz{zyy{{{{{||{{{z{{{{z{z{{{{{{{zz{{z{{{z{{{{{|{{{{{{z{{|{z{|}{{{{{|{zz{{|{||||{{zz{{{{{{||{|}|{|{{{{z{{{|{||{}{|{|z{|{}||{|{||||{{|{z{{{|{{{{|{{{{zz{z|{|}{||||{{{{|{{{{{{{||||z{{z{zzz|{{z|{|{zzzzzz{z{z||{{{{{z{zzz{{{{{{{||{{{{{{{|{{{|zz{{|zz{y{zzy{{{{{{|{{z{z{zz{{|{z{{|{{|{z{zzzz{{{{z{|{{zzzzzz{z|{z{z{||{zzz{zz{{z{{{zz{zzzzzz|z{zz{{{{{{y|zz{{z{z{{{{{zzzzzzz{{{{z{{{{{{zzzzzz{{z{{z{{{{{zzzzz{{{{||{{zz{zzzyy{{zz{z{zz{z{zz{{|zz|{{{zzz{z{zz{zz{{{{{|{z{{zz{y{{{{z{{{zz{{{{z{{{{z{|{{z{{zzzz{{{|{{z|z{{z|zzz{{|{{|||{zz{z{zz|{{z{{|{{{z{z{zz|{{{{|{{|z{{z|{{z|||{{||||{{|{{z|{{}|||{{{||{{z{{{|{}{{{{{{z{|{{{{|{z||{|{{|{{|{{{{||{{}||{{z{{{{~|||{|||{|{{{{{{|{{{|||{{z{z{z{{{{||{|{{{||zz|{{|{|{|{}z{{{{{{{{|||{||{{{|zy{z{z|{|{{{{|z{{{zzz{{z{{{{}{{z{{zz{{{|{{{{{{{z{y{zzz{{{{{{|{zzyy{zz{{|{{{|{{zy{{zzzz{z{z{||z{z{{zzz{{{{{{{{z{zzzz{{z{{zz{|{{zzz{zy{{z|{{{{{yzyzzzyzz{{z{z{{yy{zzz{zz{{{z{{{z{zyzzzzz{{z{{{zzzz{z{yz{{|zzz{|{zzzzyzzz{|z{z|zz{{z{yz{z{{{{|z{zz{{zzzz{y{z{z{z{zzzzzz{z{z{{{{|zzyyz{zz{z{|{z{|{z{zzzzz{z{z{{{|{{{{z{{{{|{{{{{{{z{zzzz{{z{z{{}{|{z{z{{{{{{{z{|{{{{z{{{{{|{||{{{{{{zzz{{{|{{{{{|{|{{zz{z{{{|{|{|{z{{{{{z{|{{||}}{z{|{{||{z{|||||{{{z{|{{{{{|{{{}|z{|zz{|||{||||{||z{{z{{{|{{||{{|{{{{{{{{{{{|}|{{{{{{{zz{{{z|{||{{z{z{{z{|{{||{|z{z{zz{z|z{{{{|zz{z{z{{z{||{{{|{{z{{yzzz{{|{{||{{y{zz{zy{z{||{{|{{{{{zzz{|{{z{z|zzzzzz{yz{{zz{{|{z{zzzzy{{{{z{{{{yzzzy{zz{|{z{{{z{{zyzzzz{{{z|{{yzzzz{zz{zzzz{|yzzz{zzyzz{|{{{z{{zzzzzz{{{zz{{{|zzz{|z{zzz{z{{|{z{zz{{{z{zzzz{{z{zzzz{yz{z{{z{|{{{zzzzy{z{z{z{{{{zz{zzzzz{{|{|||z|zzzzz{z{z{{{z{z{{{yy{zz|{{{{{{|zzz{zz{z{{|z{}|z{{{{{{{z{{{{{{{zz{zz{y{||{||{|{|{{{|z{|{|y{||||{{{z{zzz{{{||{}{{z{{{{yz|||{{||}{{zz{{{{{{|||||{{z{{{{{{{|||}{{||{{|{{{{||{{|{||{{z{{{z|{{|{|||{{{{z{{zz||{{{{{{{{{zzzzz{|{|{{|{{{z{{{{y||{{{{{|{z{zzy{zz|{{z{{{{zz{zzzz{{{{{z{{{{z{zy{z{{{z{{z{{zzzzz{z{zz{|{{{{{{zzyzz{{z{{zzz{z{{y{zzz{|{{{{|zyzy{zz{{{{z{{{z{z{{zzzz{|{zzz{{zzzzz{zz{{z{z|{|zzzy{z{z{{z{{{{zzzzzzyzz{{zz{z|z{{zzzzz{z{{zz{z{zyzz{zzy{zzzz{z{yzzz{zyyz{zz{{z|zz{{z{zzz{|{z{{|{{yzzzzz{{{{{z{|{{{y{z{{{{{{z{{{zz{zzzz{{{{{{z{|{z{y{z{z|{|{{|{||zzz{zzz|{{{|{|{zzz{zy{z|{{{{{{{{{{{{{zz{z|||{|{{{zz{z{{{{{|{{|||{{{{{zz|{|{{{|{|{zz{{{{{|{|{||{{{z{{{{{{|{{|{{{|{z{{{z{{|{{|||||{zz{z{z{||{||{|{{{zz{z{{{||}||{{{|{{|{{|{|{||||||zz{{{z{{{{|{{{{z{{zz{z{{z{{z{|{{{z{z{{||{{|z{{zzz{zzyz{{{{{z|{z{zz{{zzz{zz{|{{{{zyz{yz{z{z{{{||{zz{{{yz{zzz{{{{|zzzzzzz{{z{{{{zzzzzzzy{{|z{{zz|z{z{zzy{{zzz{z{zyyyzyzz{{{|zz{{zz{zzyzzzz{z{{{zzz{zyzyz{zz{|{z{zzzzzzzzzzzz{{|{yzzzzzzzz{z{zz{zzzzyzz{zyzzzz{{zzzyz{{zyz{zzz{{{{yyzzyz{{{z{{zz{yyzzzyzz{{{z{zz{z{{zzzz{zzz{{{|{y{{{{zzzz{{z|{{|{z{zz{zy{{{{{{{{{{{{{{{z{{z{{{{{z{z{zzzzz{{{|{||{{{z{zzz{{|{||{{|z{{zz{{|{{{{||{|{{{z|{{{{{{{|{|{zzz|{{y{{z{{||{{yzyz{{{{||{|{||z{{{zz{{|{||{|{{{yz||{yzz{{{||{|{{z{|zz{||{{{|||z{zyzy{z{|z{{{{{{z{zzz{zz{{|z|{|{zzy{zzyz{{z{{{{{{zz{zzyz{{{{{{{{{zz{y{z{z{{{|z{zzzyzzzz{z{{{{{{{zzzzzy{z{{{|{{{z{zzyy{zz{{{{{|{zz{y{yz{{{z{z{{{{z{zzzzz{z|{z{z{zzz{zzzzzzz{{{{{zzzyz{zz{z{{z{{z{yzz{yyz{z{z{{z|zz{zzzzyy{{{z{{{z{zyzzzyzzzzz{zz{zyyzyzzzz{zz|{{{{zyzzzz{{yz{z{|zzzzzzzzzz{z{{z{{zzz{{yz{{{{{z{{{z{zyzzz{zz{{{{z{z{zzz{zz{{{{{{{{{{zyz{{||{{{|{{{zz{{y{{||{{{{{{|z{z{z{zz{{{|{{|z{{y{{{z{|z{{|||{{z{zz{z{{|{||||zzzz{z{{{{|{{z||{{{zz{{zz{{{|{|{|z{z{{z|{{{}{{}}{z{{{zzz||{{{|||{zzz{{{||z{{{{||{{zz{{z{{{{{{||{{{zz{z{z{{{{{{|{{{{{z{{y{{z|{{|{{yz{{z{z|{{{{{z{z{zzyz|y{{{{{{{{{{{zyyzzz|{{{|z{{{{{zzzz{{{z{{{{zz{zyzzyzz{{{z{|{{zzzyzzz{||z{{{{y{z{{z{{{zz{{{{zzzz{zyzzz{zz|{{|zy{zzzzy{z|{{z|{zzy{zz{{{zzzz|{yz{zzzzzzy{{{{zzzzzzzzzzz{zzz{{zz{{yzzzzzyz{y{{|zzzzzzzzzz{zz{{{yyzzzzyz{zz{{{{|zzzzy{{{{{|{zz|{z{z{{{z{{zzzz{{{z{z{zzzz{{{{z{{|zzz{{z{zz{z{z{{{{{zzz{{{||{{z|{zz{zzzzyz{z|zz{|z{z{{{{zz{z|{{{{{z|{z{|{z{|{{|}{|{{{{{{{z{{{|{z}{|z{{zy{z{}{||||z{{|{z{{{{{{z{||{{{|zz{z|z|{||||{{z{{{{{{{||{{|{{{zz{zzz{{|{z|||||{zz|{z{{{{{|{|{{z{zz{{{{{zz{{{||zz{z{{zz{z|z{{z{{{y{zzz{|{{|{zz{{{{{zzz{{|z{{{|{zz{zzzz{{{{z|||{z{z{z{z{{||{{{z{zzy{y{{{{{{{zz|z{{zz{{z{z{{zz{|zzzzzzzy{z{z{{z{{{{zzzzz{z{z{{|{{zzzzz{{|z{{{|{{zy{z{zzz{{zzz{{{zzzz{zz{z{{{{{{{zzzzyzzyzz{{zzz{{zzyzzzy{|{z{zzz{z{{zyzz{{zzz{z{zz{zzzzyz{{|z{{|{zz{|{yyz{{{{{{{{z{{zz{zz{{|{|{{{z{yzzyz{{|{{z{{{z{{{z|z|z|{|||{{zzzz|zz{{|{{{|{{{{{{zy{{{{{{|{|{{|{zz{|{||||{{{{{{z{{{z{|||{{{|{{{{zzzzz|{||||{{z{zzy{z|}|{|{}{{z|{{{z{{{{|||||||{{{{{|||{{||||{{{{zz{{{|{{{{||{z{z{{{{{{{{||{|||z{{{{{{{{||}|{zz{z{z{z{{||{|{|{{{zz{zy|{{{{||zz|{zzzyz||{{{|z{z|z{{z{y{||{{{||zz{{zz{z{{{{{{|}{y{{{{{z{{{{{{{{{z{z{z{{{{z{{{{{zz{z{{zz{z{{{{z|z{{z{z{zz{||{{{{{{{{zzzz{||z{{z{z{{{{zz{{z{{{{{{zzzzzz{{{{{{{z{z{zz{zyzz{z{z{{zzz{z{zzzy{{{|z{{|zzz|z{{yzz{{{{{zz{yz{zz{z{{{{{{{zz{zz{zz{z{{{{|z{{zzzz{{z|{{{|z{{z{zzz{{|{||z{z|{{zzzz{y{|{{{|{{{{z{zz{{zz{|||{{{{zz{{zzz||{z{||{zzzzz{{{z{{{{z{|{zzzz{z|}||||{|{{z|||{{|{{{||||{{{zzzz{|{|{||{{|z{{{{{{|||{{||{{{{{{{|{{z{{|||||{{|{{zz{|||||{}|{{{{|{{||{}{{|||{{{{{{{{||{||||{{{||{{{{||||{|{{|{z{{{{{|{{|{|{{{{zz{{{z{|{{{}{{z{zz{{{{{{{{{{{z{zzzz{{{|{z|{{|{zz{zyz{{|{|||z{{z{y{zzz{|z|{{|{{{{zzz{{{{{{{|{{{y|zzz{z{z{|z{|{z{zzz{zzz|z{{|{{{{zzy{{{z{{z{{{{{{{z{{zz{{z{z{{|z{yzzyzz{{{z{{{z{zzyz{zz{zz{{{z|zzzzy{yz{{{z|||{zzzy{yzyyz{{{{zzzzzzzzyzz{{z{z{zzzy{z{z{y{z{{{{|{z{{{zzz{z{{z{|z{{{zyz{z{{{{z{|{{z{zzz{{{|{{z||{z{{z{z{{z{{{z{{{{{zz{{yz{|z}||{z{{{zzz{z{||{|{|{{{z{zzz{{{|{}||{|{{{z|{z|{||z{|{z|{{z{|z|{{||{|{|{{{|{{z{|||{{||{{{{{{z|{{||}|}{|z{{z|{{||{{|||||z{{{{|{{||{|{|||z{zz{z{|{|{{{{|{{{z{{{{}||{{|{|{{{z{zz{{|{|{||{{{{{z{zz{|||{}||{{{z{z{|z{|z|{{zzz{z{zz{z{{{z{{{z{z{{yyz{{zz{{||z{yzzy{{{zz|{{{|{zzz{{zz{{z{z{|{{{zzz{zz|{{z{{{zzz{zz{zy{{{{z|{zzzzyzzzzzz{{zz{zz{yzzzz{{{{{z{{{zzyz{{zyzz{{{zzzz{zyyzyzy{{zz{|{zz{{yzzzz{{{{{{{{{zz{y{yyz{zz{{z|{zzzzzzzz{zzz{{zy{zzzyz{{z{z{{{zzzzzzz{{{{z{z|{z{zz{z{z{z{{{{||zzzy{z{z{{|{{{|{z|zzzz{{z{z{||z{{{z{{z{zz{{z{z|{z{|{{{z{{{z{z{{{{zzz{zz{|{|{{}||z{{{{z{{z{{|{{|{{z{z{z{zz||||{{|{{{zz{z{|||{{|||z|{z{{{{{||{|{{{{z{{{{z{{|{{||{{{{{z{z|{{|{|{{|{zz{{{{{{z{{{{|||{z{{zzzz{{{{{|{|{{{z{z{{{{|{{{{{{zzz{z{z{|{|{|{{z{{zzzy{{{|{{|zz{{zzzz{yz{{zz{|{{zzzzzzz{{z{{|{{{{zyzzzz{z{|||{{{{{{{zz{z{{{z{{|z{|zzz{z{{{{zzz|{zzyzyzz{{z{z{z{{{{{{yzz{{{{{{zz{{zzzzzzzz{{z{{{zyzy{yyzz{{zz{{z{{y{y{zz{{{zzz{zzz{zzzzyz{z{z{|{zzzzzzzz{{{zzzz{zyzzyzzzzzy{z{{{zz{zzzy{{{{{{{{|yzz{zzz{z{z{{{{{{z{{zyzy{zz|{{{|{z{{yzzz{{zzz{|{{z{zzz{z{{{z||{|zz{{z{zy{{{{{{{z{yzzzzzz{{{zz{|{{zzz{{z{{{{z{|{{z{{{|zz{{|{{{{||{|{zzz{z{|z{{||{zzz{{{{z{|{|{||{{z{z{zzzz{{||{||{{{z{{{{{{|{|{|||z{{z{{z{|||{{{|{{zzz{z{||{{{{|||{{{||{{z{{{{{{|z{{zzz{z{|{{{{{{zzz{{{zzz|{{{{{{{{{zzzz{{{{{{{{{{{zz{zzz{{z{||{zz{{zzzzz{{{{{{{{|{zzzzy{{{{{{{{|{y{zzz{z{{z{{{|{{zzzzy{zzz{|{z{|yy{y{z{zz{z{{z{{zzzzzzzz|z|zz{z{zzzzzzyzzzzz|{|{zzzzzy{z{z{{{{z{{yyzzzzzzz{z{|{{{z{yzyzy{z{{{z{{{zzzzz{y{{zyz{{{zzzyzzz{yzzz||{zzzzzzzzz{zzzy{|yzzzzyyzyzz{z{z||zz{yzzyz||{{{|{|zz|zzz|zz{{z{{{{{{{zyz{zz||{|z|{{zz{|zzz{|zzz{{{{zzzz{zzz{{{z{z|{|{zzzz{|{{|{z{{{{z{{{{z{{{{||||zz{z{zzz{{}{{{|||zzzz|{{{|{|z|||{{zz{{{{{{{|z}|{|z|{{{{z{{{z|{{||z{{{{{{||z|zz||{{{z{{{{{{{{{|{{{{z{|z{z|{{{{|{{{|z{z{zz{{{z|{{{{zzzz{z{{{{{{{|{{{{{zz{z|{{{|{zzzzyz{z|zz|{z{z||{yyz{zzzz{{{{{{|{{zzz{{z{z|z{{{{zyz{{zzzzz|{{{z{{{zzzzzy{z{{z||{zz{zzzzzz{{{z{{zzyzz{z{zz{|z{{|zzxzz{zzzzyz{z{{{{zzyzz{yz{{zzz|zzzyzyzzzz{{z{|{{{zzzz{zyz{zzz{||zzzzzy{z{{zyy{{{zzzzz{zzzz{z{{||yyzzzy{z{{{{{{{zzzzz{x|z{{{{{{{{{z{zzz{{{{z{z{{zzzzzzz{{{{{{{{{{{z{{|z{z{{{{{{|z{zzzz{z{z{{{{{{z{z{zz{zz{{|z|{{{{{zzzz{z{|||{|{{{z{{{z{{{{{{|}||zz{{zzzz{{}|z|{|{zzz{z{z{}{||||{{{{z{zz|{z|{|{{|||z{{{{z|}|||{|{|z{{z{zz{||{{{|{{{{y{{zz{{{|||{||{zzz{{{{z|{{{{||{zz{{z{{|{{{|}||{z{{z{zz|{zz||{{{zzzz{y{{zz{{{|{{{zzz{zzz|{z{{|{z{zzz{z{|{{{{|zzzzzz{{z{{zz{{|{zy{{zzz}{|{{z{{{z{{zzzzzzz{{{zz{{{zzzzz{{z{zz{{{zzzzz{zyz{{zz{{{{zz{zzzzzzzzz{zz{y{zzzzzy{z{z|{zzyzzy{zz{{|{{{{zyz{yzzyz{|z{z{{zzzyzzzzzzzzz{{{|{zzy{yzzzz{{{{{{zzzzyy{zz{{yz{{{zz{z{zz{zz{{{{{{zz{zzzyz{{{zzz|{{zzzz{zz|{{|{{zzz{z{zzz{{{{{|{|{zzzzzzzz{{{{z{|{{zzz{{z{{|z{{{{{{{z{{z{{|{{{|z{z{|{zz{{{{|z|z|||{z{z{{zz{|||{|{||yzz{{z{{{{{{|{|{{{{|z|z{{{z{}||{z{z{|{{{{{{{||||z{{z{z{}{{{|{|{|{{{|{{z{{{{|{}||{{{|{zz{{{z|{{{z{{zz|zz{z{{{{{|{z{{{z{z{|z{{z{|{z{yz{{z|{{z{{{{zzz{zzzyzz|zz{{{{zzzzzzz{{{{{{{|zzz{{{yyz{{{{{{{{zz{z{zz{z||{{{{z{{zzzzz{{|{z{{{{zzz{{zzz{{zz{{{{z{{z{zyz{{zzzz{zzz{{zzz{{{zy{z{zzzzzzy{z{{yz{{{{zzzzyz{y{{{zz{{zzzz{yzyz{z{z{{{z{zy{zzzyzzzz{{{{yzzzzyzy{z{z{{{zz{z{yzzz{z{z{{{{yzz{zzz{z{{{z{{{zzzzzz{z{z{{{|{z{zzz{zz|{z{{{{{{z{zzz{zzz{zz}|{|yzzz{yy{|z|{{{{{z{{z{z{z{{z{z|zzzzzz{{{{{{||{|{{{{z{z{{{z{{{|||{z{{z{{z{|||{||{{zz{zz{{|{|{{|{|{{{zz{{{z|{{|}{z|zzz{||{|||{|{{||z{zzzz{zz{{{{{{{zz{{{{{|z{|{{{{{{{zz{{zz{{{{{{{{{{z{z{zz{{{{{|{{{{z{{z{{{{{{{{{{{zzzz{z{}{{{{{{{zzz{{{yz{{{{{{z{{zzzz{zzz{{{{{{|{zzzzzz{zzz{{|{zz{z{zzy{{|zz{|{zz{zyzyz{{{z{{z{zzzz{zzzz{{{zzz{zz{{zyyzzz{z{{zz{zzzz{zzzz{z{{z{zy{zyzyzz{z{{z{{{zzzyzz{z{z{{{z{zz{{yzyzz{zz{z{{zy{zzzzyzzzz{zzz{zzyzzzzz{z{z{{{{zyzy{zy{zz{{{{{{zz{zyz{{z{{{{||zz{yzz|z{{{z{{|{zzzzzzz{z|zzz{}|z{{zyzzz{{|{||z{{z{{zzzz{{||{{{{zz{{{zz{{|{{{|{{{zzz{{z{z{{{{{{|z|zz{zz{{{z{|||{{{z|yzz{{|{{|{{{|z|{zz{{{{|{{{{|{|{z{{{{zz|{{{{{{{{zz{{{{}||{{||{{{{{z|{{|{|{{{|zy{zzzzzz|{|{|{||z{z{z{{z{{{||z{{zz{z{{|{{{{{{z|{{{z{zzz{{{{z{{{|{|zzyz{{{||{{{zzz{zzyzz{z{{{{z{y{zzyzz{{{{{{{||zzzzz{y{{zzz|{{{{zzzzyzz{||{{z{zzzyzzzzy|{{{{z{{{zzzz{zz{{z{z{{|zzzzzzyz{z{{{{{{{zzzzz{z{yzzz{{{zyyy{y{zz{{y{{|{yzzz{zz{{z{{{||{{{zyzzzz{{z{zz{{{{zzzyyzyzzz{{{{zzzzzyy{z{{{z{|zyzzzyy{yzzzzz{|z{{zyzzyzz{zzz{|{zzzzzyzz{zzzz{z{zz{zzzzz{|{zzz{{{zzzzz{z{{z{{|{|{yzz{{zz{{}{z||{{{{z{{z{z|{y{|{z{{z{{zz|{||{{{{|zz{y{z{{{|z|z{|{{{z{{{zz{{||||{|{zzzy{z{||||{|{{{z{{z{{{{{{{||||{z{{{|{{{|{||{{{{{z|z{{{|{|{{|}{{{{{zzz||{z{||{|{{{{{z{z||zz{||}|z{zz{{{{{{{||{{zzy{z{zzz{{|z{{{{{{zzz{{{z|{|{{|zzzz{zzy{{{|{{{{{{{z{zzzz{z{{{{|z{zzzyzz{z{{{{{zz{z{{zyz{{{zz{|{{zzzzz{{{{|{||{|zy{z{z{z{||z{||{|z{zz{yzz{{{zz{{{{{zzzzzzz{z{{{{zzzyzzzyz{zzz|z{{yzyyyzz{z{y|z{|zz{zyzzz{zzz{{{{zzz{zyzyyz{z{{z{{zzzyzzzzzzyz{|{zzzz{{zyz{{{{{{|zz{zzy{zz{{{{{{{yzz{zyzz{{|{{{{{z{z{z{zzzz{z{{|{zzzz{y{zz{{|z{{z{{zzz{zz{{|{{||{|z{{{zz{{{{{{{z|{zz|{z{z{{{{}z||{z{z{z{z{{z{{|}{{z{{zzzz|||{{{||{z{z|{z{{|{{|||||{{{{{{{{{{|||||{{{{z{z{{||}{|}}{||zz{{|{{z|{|{{|z|{|{zz|{{{}|{{{{zzzz{z|{||{|{||{{z{{{z{{{|{|||{zyzzz{z{{{|{{{{|{{{{z{{|{{||{|z{zzzy{{{{|{{|{|{{y{{z{{z{{|{z{{|z{zzz|{z{{{{{{||{zz{zzz{z{{{zz{{z{|zzzzz{{{||{{|z{{zy{{yz{{{z{{{{y|{zzzzzzzz{{{{{{{zzzz{z{z{{{{z{zzzyzyzz{{z{|z{{z{zy{yzzz{z{{{{{zz|zzzzz{zz|z{{{zzz{z{yz{zzz{z{{zzzzzyzy{{{z{z{zyzzzzzz|{z{z{{|{zz{|zz{zz{z{{||zz{y{z{z{z{{{{{{{{z{{zyz{||{|{{{{zz|z{{zz|{{{|||zz{y{zzzz{{{{||{|{{{z{z{{|{{z{{|{z{z{{{{{{{||{||{z{z{{z{{{{||{{|{{|{{{zz|{{||||{{zz{|z{{{||{||||{{{{{{{|||{{|||||{{|{{{|{|{{||||z{{zzzz{{||{{|{{|y{{{{{{|{{||{||{{{z|{{{|{{{|||{{|{z{{{{{{{{{{{{{{z{zzy{{{||{{|{{z{z{{{{|||{z|{{zzzzzzzyz{{{{{{zzzz{zyz{|z{z{{||{{z{zz{{{{{{{{{{zy{z{zzz{{{{z{{||{zzzzzz|{{|{{|{zzz{{{{zyz{zz|{{{{{zzzz{||z{{{{zz{zyzyyy{z{{yz{zzzzyyz{zzzzz{y{{{{zzyzyzzz{zzz{{zzz{zzyz{{|{{zz{zzzzzzzzzz{{{z{{zzzzyzzy{{{{z{{{yzzz{zzy{zzz{z|{zzzzzy{{zzz{{{{zzy{{{zzyzz{{{{|{yz{zz{zzz{|z{|{{{{{{{zzy{{{z{{{zz{{zz{z{{|{{{z|{|zz{{{{zz{{{{{z{zz{{|z{{{{||{|||{{yz{{{zz{{|z{|z{{zz{z{z{|{z{{|{}z{{{{|z|||{{||{{{{z{{{||||||||||{{{{{{z{|{|{||{{zzz{{|{z{{z{|{|z{zz{{{{||||{|||{{{{z{{{{{{{{{||{zz{{{z{z{{{{{|{{{{{{zy{z{|{|{{{{zzz{z{z||||{|{{z{{zzz{z{z{z{{{{z{y{{zzzz{{{z{}{zzzzzz{yz{z|{{|}z{{zzzzzz{{{z{{||{zzzz{zz|{{|{{|{z{zz{z{z{{{{z{{z{z{{zyz{{z|{z{{zzzz{{z{|{z|{z{{zzzzzzzy{{{|{z{{{zyzyzyy{zzz{|z{yzzzz{yzz{{zz{{z{zz{z{zzy{{z{{y{z{zzzzzz{{{zyz{{{yzz{yyxy{{{{{|zz{zzzzyy{{{|{{{|z{{z{y{z{{{|{{{{{{{z{zz{{{z{{||{zzz{{z{z{{|z{|zz{z{zzzz{{|z{z{}z|zzz{{{z||{{{{|{|{{zz{|{{{|{||{{{zzzz{{{z{{|{{}{{{{{zz{z|{{{{{||{zz{{{{{||||{{}{{{|{{{{{z|{|||||{z{{{{z{||{|{||||{{{{zz{|||{{|||{{{z{zz{{|z{|z||{{z{{{{{{{|{||{z|{{{zzz{z{{{{{{{{{{z{{{z||z||||{|z{|zz{{|z|||{z{zzzzzyzz{{{{{{zzyzzz{zzzzz{z{{z|zz{zyz{zzz{z{{{{{z{yyzz{{{{zzz|{{{{zz{zzzz{z{{z|{{zzz{z{{{{{z{z{y{{zzz{zzz{zzz{zzyyz|{zzzy{{z|zzyyzyzzzyzz{{{{{zzyyxzzyyzzzzz|zz{zzzzyzzz{{{y{{z{yzzzyyzzzzy{zyz{{zzzyyzyzzz{z{|zzzzyzzzz{{|y{|{{z{zyzzzz{|yz{{{zzzyz{zz{zz{z{{{zzzzzzz{{{z{z{{zz{zz{z{z{{{{|{{{{z{z{zzz{{}z{{|z{{{{{zzzz{{{|{{{{|z{{{z{{{|||z{zz{{zzzzz|{{{{{|{{{{zz{{{z{{||{|{{zz{{z{z|||{|{{|{{{z{|{|{{|z{{|{{zz{{{{z||{|||{|{z{{{zz{{|{|z{{{{z{z{{{{z{|{{{|{z{{{{{{|{{||z{{||z{zz{y{{{{{{{|{{{z{z{zz{||{{{{{{||z{z{z{|{||{{{z{zzzy{zz{{{{|||zz{{zzyzz{zz|{{{{|zyz{yz{{{{{{|{zz{zzzz{zzzzz{{|{{{zyyzz{{{{{{z|zyzyzyzz{z{|z|{yz{zzzzzy{{{zz{{{zz{zzzzz{z{zz{{{{yzyzyzzz{zz{zzzzyzzy{yzzz{zz{{zzzzyx{zzz{z{z{{zzyyzzzzyzz{z{z{{zzzyzzyy{zz{z{{{zzzzz{y{{z|{{{{{{yyzyzyzz{z{z{{|zy{zzyzzz{{{{{{{{yzzz{z{{|{{{|{|z{y{zzzzz|{|{{{{{{{{{z{zz||{{{{{z{{zz{z{{{{{z|z{z{{zz{zz|{{|{||{{zzz{z{z{{z{{{||{{{|{z{z|{|{{||{{{{{|{{z|{{{{{|z{{{y{{{{{||{{{{{{{{|z{z{||{}||{|}{{{{{{z|{{||{||{zz{z{zzz{|{|||{{|zy{{{z{{{|{{{|z{{z{z{z|{z{{{}|{{{|{{|z{|{|{{z{{{zz{zzzz|||{{zzzz{zyzyyz{z{z{{{{{zzyyyz{{|{{zz{{{yzzz{zzz{{{{{{{xzyyyz{{zz|{z{|zzzyzz{y{z|{{{{|zzz{zz{zz{{zz{{zzy{zzzzz{{{{{{{{|zyyzzzz{zz{z{{{zz{z{yzzz{yzz{{{zz{zyyzzzz{zz{zyzzyzzzyyz{{z{z{zzzzzyzzyy{{{z{{zz{yzzzyy{{zzz{zzzzyyyzzzzzz{{|{{zzzz{zzyzz{zz{|{{zzzzyzz{{{z|{z|zz{zzz{z{{{{|{|z||zzzzzzz{z{{|{zz{z{zzzzz{{z{{{z{z{{zzzy||{{z{{{{y{z{{|{{{{{{{{{z{zz|{{{{{z{{|{|{{{{{z{z|{{{{{|{|{{{z{|{{|z||{{|{{{{{{{{zz{{{{|{|{{{z{{z{{|z{}|{{z{{zz{z{{{||{|{|zz{{{{z{{{||||{{{{z{{zz{|z|{|{{zzz{zzz{|{{{{{|{|{z{zz{yz{{|z{{{{{{z{zzz{||{{{z{{{zz{{zy{{{{z{{{{z{zyzzy{{{z{|{|zz{{zz{yz{zy||{{{zz{{zzy{{z{{z|{zzzyzz{z|z{{{{z{{zzzzzzzz{zz{z{{{zzzz{zz{{{z{{zzzz{z{zzz{zzz{{z{yyzzzyzzz{{zzz{z{zzzyzzzzz{{{|zzzyyzzzzzzzzzz{{yzz{zzyzzzzzyzzz{{zyzzzz{z{z{{{{|zy{zz{{yzzzz{{{|z{zyyzzyz{{{z|{|{yzzzzyz{zz{{z|{{z{{zzzzz{{z{|z{{z{z{{zz{|{{z{|zzzzzz{zz{{{zz{|{z{zyzz{z{||{{z|||z{zz{{{|{|{{|{zz{{{{{{{z{{{{|{{{zz{{zzz|{{|||{{|z{{z|{{}{{{{||{{{|z{{{|{{{{{|{||{{zz{z{{}|{{{||{zzz{{{z{|{|{{{{{{{z{z|z{{{{|{}||{{{{zz{{{z{{{||{{zz{{{z{{|{|{|{{|zzzzyz|{{{|{|{{{{z{z{{||{||{z{z{zzzzzz{|{z{{{{{zzzzyzz{||{z|{zzyz{zzz{{{{z{{{{|y{y{zz{z{{{{{|z{{zzzzz{zz{|zz{|{zzzzz{z{{{{{|z{z{{zzyzz{z|z|{{{zyzzzzz{{{z|z{{|{z{yzyz{zz{|{z{yyzz{zzyz{z{z{{{y{{{zyzy{{z{zz{{{zyzzzyzyz{zzz{|{{zzzzzzzzzzzzz{z{z{zzzzzz|{{z{zzz{zz{yzz{{|{{||{{{|{zz{z{|{{{{{{zzzzzzz{{z{{z{{{z{{zzyzzz|z{{{{{{zzzz{{z{{{{z{{{{zzyz{zz{{{{{|z{{z{z{{yzz{||{|{{z|z{zz||{{{|{}|}|z{z{z{zz|{{{|}|{zz|z{{zz{|{{||{{z{{{{|{{{||{{|||{{|{{z{{|||{|{{|{{|z{{{||{{{{|||z{{{zz|{|||{{{{|z{{{zz{{|{{||||z{zz{z{z{{|{{||||{z{zz{z{{{{{{{{{{|zz{z{|||||{{|zz{z{zzz{z{{{{{z{z{{z{zzzzz{{{|{|{zzy{z{z{{{{z{{{zz{yzzzyz||z{{{{{{yzzzy{{{{z{z{z{{zyyzy{{zzz{zz{{zz{yz{{z{zz{zz|zzz{zy{z{{zz{{zyzzz{yzz{{zzz{|zzyyzzzy{z{{{{zz{yz{yyyzyzzz{zz|{z{zzzyyyy{{{zz{|z{zzzzzzz{z|z{z{zzzy{yzyz{{z{z{{{zz{{zzz{z{z{{{{zzz{yz{y{zz{{|z{z{yzzz{zzz|{{{|{|zz{zz{zz{{z{|{{{z{z|{zz{{{{{z{{z{zzz{zz{{|z{||{{z{z{zz{|{{{|{{}|zzz{{|z{{{{{|{|{{{{{zzz{||{{||{{{{{y{zz{{{{||||{{{z{{{{z|{|}||{|{{{|{{{{||{|{{{|{{{|{z{{|{{{||||zy{{{|z{z{|{{|||{{{{zz{||{{{{{{{{zzz{z{{{{{|{|{|{z{yzzz{{{|{{||zz{{{z|{{{|}}||z{zzzy{zz{|{{{{z|{{{zyzzz{{{{{z{{z{yz{z{z{{{{{{{{{z{zz|{z{{{{z{{|z{zzzz{yz{zz{|{{{zzzzz{z{{{{{|{{|z{zzz{y{{zz{{{{zz{{zzzzz{{z{{z|zzzzzzzz{{z{{{{{zyz{{yyzzz{{{zz{zz{{zzzzz{{{z{z{zz{zyzzy{z{yz{z{zzzzzyyz{{zz{{|{zyyzzz{z{zz{{{|{{z{zzzz{z{{z{{|{zzzzz{yz{zz{{|{{z{{zzzz{{{|z{{{{{z{z{z{{{{||{{|{{{{z|zzz{{{|||}{{z{{{{{{{{{{{{z{{|{zz{|zz{{|z|||z|{{{z{{{{{z||||{{{zz{zz|{{||{||{z{{{z{{{|{{{|||{{|{z{{{||{|{{|||{{{{z|{{||||}|{{|{{zz{{|{{{{|||{zzzz{{z{{|{|{|||{z{|{zz|{||{}||{{{z{{{{|{{{|||{{z{|{z{zz{|{|||{{{{{z{{{||{}}{zy{{{{{zzz{|{z{{|zzyzzzyyzz{{{{{{{z{z{zz{z{z{z{z|{{{{{zzz{{zz|z||z{{{zyzzzz{z{z{{|{{{zzzzyz{{z{{z{zyyy{zzz{z{zz{{zzy{{zz{y{{z{z{{zz{zzy{zz{{{{z{zzzzzyz{y{{|y{z{{{yyzxyzzyzz{|zz{zzzyzzzyz{zz{z{{{y{zzzzzyz{{z{zzzzz{{{{{zz{{zz|z{z{{zzyz{zzz{{z{|zzz{z{yy|{zz{{|{z{zzzz{z{{|{zz||{z{{zzzyz{{{||{{|zzzzz{z{zzzzz|{{zzzzzz{{{{z{{{|{z{{zzz{z{{{||||{{z{{z{z{{{|z|||{z{z{{{{z{{|{{|{{z{zz{z{{||{|||||{{{z{{|{|||{|{|{zz{z{{{{{|{{{|{|{{{{{z{{{|z{{||}{|{{{z{{{{|{||{zz|z|{z{{|{|{{{{{{{{{{{z{{{z{{|||zz{z{z{{|z{|||{|zzz{y{{|||}|{{{{zzzzzyyz{{{{{||zyz{yzyz{|{{{{{|zz{zyz{yzz{z{{{{{zzzzzzzz{z{{{{{{zzy{yzz{z{|{z||zyz{y{zz{{{zz|{{{zzz{z{zz{{{z{z{zy{xy{zzyzzz{|{{zzzzzyzzzz{{{{|{zzyyz{x{{{{zz{{{zzzzyzyzyy|{z{z{{{zzyyzyz{{z{|z{yzyyzzzzy{yzz{{{{z{zzzzzzz{zz{{{{z{z{zzzz{z{|||{z{z{zzzzz{{{z{z|z{zzyz{z{z||z{{{{z{{zzyzz|{{||{z{z{{{{yz{||{{{|z{zz{z{zzz{{{z{z|{y{{z{{z|{}|{||{{{{z{|{{{|{{{||{{{{{zz{zz{|{{{|||{{z{{{{{{}|{{|{{{{|z{z{z{{{|||}|{{{{|{{{|||||||{{{{z{{z|{{|{||||{{{{{{zz{||{{{{{{{{{z{z|{{||}|{{{{z{{z{{|{{|{|{{z{zzy{{{{{{{{|{|{{zz{{z{|}||{{{z{zz{zz{z{{z{z{{zz{{{{zzz{|{zz{{zzzzzzzz{{zz{{{{{zz{z{{z{{{{z{{{z||zzzzz{{z{z|{{{z{zzzzz{{zz{{{{{{zy{z{zz{|z{{zzzzzz{{zz{{z{zz{{z{zz{zzz{z{zz{|zyzzzzyyzzz{{{z{{z{z{yyzz{z{z|{{{zzyzz{z{z{{{{z{{zzzyzyzzzzzy{{|zzzz{z{zxzzz{z{{{zz{{zz{y{{{zz{z{{zzzzz{{zzzz{|{{zz{zz{zz{{{|z|z{{zz|zz{{{{{zz|{{{{{zz|y{{z|z{z{|z{{zzzz{|{{{{|{{z{{z{{z{{{|{{|||z|z{{{zz{{z{||}{zz{{|{{y{|{{{{{{{z{{z{{{{{|z{||{{{{{{{{|{|{{{||{{z{{z{{z||{{{{||{{{{z{{{|{{||||{|{|z{zzy{{{|{|z|{{{|{zz{{{{{{|{|{z|zzz{{{{{{{{{z{{{{z{zz||{{{z{{{{zzz{{{|{||~{z{zzzzzyzzz|{{z{z|{zz{zyyzz{|{||||z{zzzz{z{z{||{{|{zyz{y{{{|{{z{{{zzzyyy{z{{{{y{z{zz{zzz{z{z{zz{{{{zz{zzzz{{{{z|{{{zzzzzzz{{{{{z{{zz{yzyzyzzz{zy{{zzz{z{y{z{{{|{{{y{zzzyzz{{{yz{z|{zzyzyzyzz{{z{{zzz{zzzzzz{zzz|{zzzzzzzzzz{{{{{{{zzzyzyzz{{zzz{{{yz{z{zz{z{{{{|z|{zzzz{{zz{{{|{{{z{z{{zz{{{{{z|{{{{{zz{zz{{{{{|{|{{zz{z{{|{{{{|{z{zzz{{{y{|{{|{{|zz{{z{{{|{|}{{||zz{{z{zz{||}|{{{z{z{{z{z{{||{{|||z{|z{{|{|{{{|||}{zz{{{{{}{||||{{z{{{{z||{||{|{||y{{z{{{|{|||{{{{{z{|z{|{{||{{||z{z{{z{{|{{{{{|{{{zzz{zz|{||||{||zz{yz{{{|||||{{z{zy{z{z{z||{{{{z{zz{zzy{{{{z{z{{zzzzz{zz{zz{{z{zz{{{zy{{{{{z{{{{zyzzzyy{zzz{{z{zz{{zz{y{zz{z{|{zzzzzyz{{{{z{{{{zzz{zzzzz{{z{{{{zzz{zzzzzy{z{{zz{zzyzzyzyz|z|{z{zzzzzzzyyzz{{z{{zzzzzyzzz{zzzz{zzzzzzyzyy{{{z{|{{yyzzyzy{zz|z{{{{y{zzzy{{{{{z{{|zzzz{{yzzzzz{z|{{{zz{zz{z{{zzz{{{{{zzy|zy||{{}{{zzzzz{zz{|{{{|{z|zyz{zyz|||{|}{{{{{{{{{{z{||{{||yz{{{z{{{{{{z|||z|z|zzz{z|{|||{|{{{{{{{{}|||{||{{z{{{z|{{|{|{|{{{z{{z|z{{}{{|}{|{z{{{y{z|{||{{{{{{z{{{|{{{{z||||{{zz{{z{{|{{||{|{z{{{{{{|{{{|{{{{{{{{{zzz|{{{{||zz{z{{z{z||~|{{{{zzzzyzyz{|{zz{{z{yz{yyzz{z{z{|{{zzzzzyy{zzzz{|z{zzz{zz{z{z|z{z{zz{zz{zz{{zz{{{{zzzzzzzzz{zy{{{{zzzzzzzz{z{z{{|{{zzzzz{zyzzzz{{|zzzyyzzyzz{zzz{zzyyyyzyy{{{y|zz{z{zzzzzzz{{zzz{{zyzyzzzzzzz{z{z{y{{yzyzyz{z{{|z{zyz{{z{zz{{{zz{{zzyz{yzzzz{{z{{{zyzzyyzz{{z{zz|{zzzzyzzz{z{{{{z{{zzzzzzz{|||{{z{{{zzzzzz{{{{z{{{{zz{zz{z{{{{{{z{{{yzz{{{|{||{|{|zz{{zz|{{{{|z|||{{z{zzz{{{|{{{||zzzz{{{{{|{{|{||z|{{zz|z{{{{{||||z{|zzy{{{{|||{|{z{{{|{{{z||{||{{z{{{z{{{{|{{|||{{z{|{z{{{{{{|||y{{yz{{zz{{{{{|{{zzzz{{zz{{{{{|{z{z{{zz{{{{|{z{{{{z{{z{yz{{{{{{{z{z{zyzxz{{{{z{z{zz{z{zz{zz{z{{|z{{{zzyz{z|{zz{{{{zyzzzz{{{z{{||zyzzzz{z{z{zz{{{{zzz{zzy{{{{{|{{yzyzzzzyz{{{z{{zzzzzzzzz{zzz{z{zzyz{yzyyzz{z{zz{zzzyzzzzzzz{{z{{zzz{zzzyz{zz{{z{zzzzzzzzy{y{{{z{z{zzzzzyzzz{{z{|z{zzzzzzz|{{{{{|{yzzzyzz{{|{{z{|{z{yzzzzz{{z|{{{zzzz{z{z{{{|{||{{z{zz{z{{{{{z{{zz{{z{yzzz{|z{z{z{{{z|{z{{{||z|{{{{zz{{{z{|{|{|{|{{{{zz{z{{{{{||z{z{{zzzz{||{|||||{|{{{{|{{{|z|{{|{{zz|z{z|{|||{||{z{{|{{{||{||{|{z{{{z{{{{{{|}|||{{|z{z||{{{{{{|{{zz{z{z{{{|z|}||{zz{z{zz||{{{|{{z{{{z{z|||{|{z{zzzyzzzzz{{{zz{{z{zyz{zzz|{{{{{{{z{yzz{y{zzz{{{{{{zzz{z{{{{{{zz{z{yyyyzz{{zz{zz{zyzzzzzyzzzy{z|{{yzzyzzy{{z{{{{zzyzzzzzyzyy{zyy{{zzzzzzzzz{{{z{zzyzyyyz{zzzzzz{z{z{yz{zzyzz{zzz{yzyzy{zyz{zzz{yz{zzyyzyzzz{zz|{{zzz{zzzz{zzzzz{{zzzy{zzzz{{z{z{|zz{{zyz{zzzzz{{{zz{{yzz{z{z{{{{{{z{zzzz{zzz{{z{{{z{zz{yz{zz{{{}{z{zz{zzz{|{|{{z{{zzzzzzz{{{{{||{{{{z{||z||z{z{z|{z|{{{z{|{{{||{{{{{|{y{zz{{{{{}|z{{{zz{{{{{z||||zz{{|{zz{{||||{z|z{{yz{z}{{{||{{|{z|{zz{zz{z|z{z{z|{{{z{{{|{|{{|{{zzzzzz{|{{|{|{{{z{zy{z{{z{{{{{z{zz{zzz|||||{{y{zzzzzzz{{{{{|{{{zzzzyzzzz{z{}z{z{{{zzzz{z{{{{{|{zzzzz{zzz|z{z|z|zz{{z{zzz{{{z{{zzzzzy{zzz{zz{{{zzzyzyyz{{{z{{{{yzzzzzzz{zyzzy{{z{zz{yzyy{{|zzzzzzzyyzzzz{{z{{|zz{z{yz{zz{z{{{{{zz{yyyzyyzzz{zy{zzyy{zzzzz{{{z{{zyzzzzzz{z{{{{{z{yzyzyzz{{{{z{z|zz{{zy{zz{{{{{{|zzzyyyzz{|zz{{{{zzz{zzzyz{{{{{|{{{{y{zzz{|{|z||{{zz{zzz{{{z{|z{{{{z|zz{z||{||{z|z{{yz{{z{|{{{}||z{{{zzz{|{{{{{||{z{{{zzz{{{{{{{|{z|y{|{{||{|{|{|{{{{{{|z|{{|{|||{z{{z{{{|{{{{|{{|z{z{z{{{{z{|{{|{|{{z{{{{||{{{||{{z{zyyz{{z{z{{|{{zzzzz{z{{{{{{zz{y{zzz{|{|{{|{{z{z{z{{z{|{zz{{{yzzzz{zzz{{{{|{|{{zzz{{z|zz{{{|{zzzzzzzz{{{{|{{z{{{yz{{{{{||{zz|zz{zz{zzzz{z{{{{zzzzz{yzz{{z|{z|{z{zz{zz{zzz{{|zzzyyz{zz{{{|{zzz{zx{zzyzyz{z{{{zzzzzyzzzz{{z{zz{{{{zzyy{zz{z{{{{zzzzzzzzy{z|z{zzzzyy{z{yz{z{{z{{{{y{{{zz|{|{z{|{z{zzzz{zzzz{{z|{|y{{zzzz{{|{{|{|y{{{{zzz{{z{||||zzzzz{{{||||{{{|{{{yzzz{|||{{|{|z|{z|z{{{|||||{|z{{{{{{{|z{|{|{||z{z{zz|{|{{{||||{z{{{{{{{{||{||{{|{{{{}{{|{||||z{{{|{{{||||||||{{|{{|{{{}|{{|{{{{z{z|{{{|{{{|||{{|{z{{|{z{{{||{{{z{{{z{z{{|{{|||zz{z{{z{z}{{{{z{z{{zzz{|{}}|z{z{yz{zyz{{{{z{zz|yyz{{zzz{yy{|{{|z{z{zz{{|{zz||{{z{zzzzy{z{{{{z|{{{zzzzz{{z{{z{z|yz{{z{{z{{{{{{|z{{zzzz{zzz{{z{{z{z{yyz{zzzzzz{{|zzz{zzzz{yzzz{|{zzzzzyyy{z{z{z{{zzzzyzzz{zzy{{{{z{zzzzz{zz{zzz{z{zzzzyz{zzzzz{{yzz{zz{z{z{z{{{|{zz{zzyzz||z{{{{|{zzzzz{z{{{{{{z{zz|zzzzy{{|{||{{z{z{{y{z{{{{{{{{{z|z{z{zz{|zz{|{z{{zz{zz{{{{{{{{{z{{z{z{{z{|{|{|z|{{{{z{{|||||{}{{{{z{{{{{||{{}{{{{{{{{{{||{|{{{{{{{{|||{||{{|{{{{{{zz{{{}|||{{||{{|{{{z||{{{{||{{{|{zz{z{|{{|{|{{{{{{z{{{||z{}}{{{{{zz{{|{|{{}|z{{|zz{{|{||{{{{z{{z{{z{|{|||{{{|{{zzz{z{{|{|||{z{{zzzzz||{{|{z|{{{zz{{z{{{z||||{{{{z{{z|{z|{{{{{{{zz{{z{{{{{|||zz{z{{zz{{{{{{{|{{{zz{zz{z|z{{||{{{z{{z{{{{{{|z{{zzyzz{zz{{{z|||z{{zyz{z{{{|{{||{{{zz{{z{z{{|{|{zz{{zzzzz{z|{z{{{zzz{z{y{{zz|||z{z{{{{zy{{{{{{{{|z{z{zz{|{{{{||{{z{{{{z{{{|{{|{zzz{{{{{||z{{|{|||zz{zzzz{|}{{{{|{{{z{zzz{{z{{||{|z{{{z{{|{|{|}{||z{|{|{zz}}{||{|{||{{{{{{|||||}|||{{{zzz{{|{}}}{|{{{{{z{{||||||}|{|||{{|{{|{|}|}|{{|z|{|{}|||||||z{{{{{{|||||}|{|z|{|{{{{{{{|}|{}z{||{{{|||||||{|{{{{{{{{||}||{{|{{{{{z{{{||}{}{{{||{z{{||||{{|{|{{{{z{zz||{{|||z{{{zy{y{{{z{{{|{{{zzzzz{{{{|{{z{zz{{zz{z{|{{z{{{{{{{zzz{|{{{{{{{{{zzzzzz{{{{|{{{zzzzzzz{{{z|{{{{zzzzzzz{{{{{{{|zzzz{zzz{{{z{{{{{{{zzzz{y||z{z|zy{zzz{y{{{z{{{{{{yz{{{{yzz{{{{|{{{{zzz{{z{{{z{{{{z{zzzzz{|{|{{{|{{zz{{z{z{{{{|{||{{zyzzzz{{|z|{{z{{z{{z{{{{{||{{{z{z{zz{{|||{{z|{{z{zz{z{{|{z{|{|{{{|z{zz{{{z|z|{{{{{{z{|||}||||{{{|{{|z{|z|{|{|{{{|{{{{||{|{||{|{{{|{{{{||{{|||zz|zz|{{|||||||||{|{{{{z||||||}{|z||z{{z{|||{{|{zz{{{{zz{{|{|{|{|{|{|{z{|{{|}|{{{{{{{{{{||{{{{}|{{z{{{{z{{z{{|{{{{{{{{zz|{}|{{{{{{zzzzzzz{{{z||||{yz{{{z|{{{|{{{{{{zz{z{{{{{|||{{{|{{{zz{{{{z{{{{zyzzz{z{{|{{{{|{z{zzz{zz{{{z{{|{{zz|z{|{{||{|{{{{{z{zzz{z{|z{{{zzzz{z{{{zz{z|{{zzzzzzzz{{{z|{{{{{zzz{zz{{{z{z{{{zzz{z{z{{z{{{{z{z|zzzzzz|{{{{{{z{{{{{zz{z||{|{{zzz|{zzz{|{{{|{{zz{z{z{{{z|{{{|{z{|{zz{{|{|{|{|{{{{|{z{{{||{{|{{z{{z{{{z||||{{|{{zz{{{z{|{||{|{|z{z{{{{z|}||}|{{{||{{|{{|{{||||{{|{|{{zz||{{|{||{{|{{{|{{}||{|||{z{{{{{z{||||||||{{|{{{{{|||{|}|{{|{{{{|{||{|||{||{||z{{|{{{|||}||{{{{z|{{{|{||}{{{{{{|{||{{||}|{|{{zz{z||{|{|{|{{{{|z{z{}|{{|{{zz{{zzzzz{{zz{{|{{{z{z{{{zzz{{{|{z{zzz{{{{{{{{|{{{{{z{{z{{||{{||{zzyyz{z{|{|z{{}zzzz{{zz{{z{{{{{{{zzzzzy{{{{z{{|{zzzz{zzz{{{z{{{zz{{zzzz{{{{z|{|zzz{z{z{{{z{{{{{z{{zzy|zz{{{{{|{{z{zzz{{zz{{{{{{{yzzzz{zz|{zz{{{{zz{|{zz{{{|{{|{{{zzz{{{{|{{{z|{{{{|{{z{z{z{|{|{{z{{{z{|{{|{||||{{{{zzz{{{|{{|{z{{{{{zzz{{|{{||{{{{{{z{z|{|{{||||{z{{z{z{{z||{||{{{{{{{{{{{{}{||z{z{{|{{{|}||{{||z{{||{{|{|||{|||{{{{{|{{{{||}}|{{|{z{||{}}||}|||{{|{|{{|{{}{|{{{{zz{{z|{|{|||{~|{{z|{{{{{{|{{||{{||{{{{{{||{{||{|z{{{{{{{{||z{|{z{{{z{{||{{{{{{{z{{zz{zz{{{{{{|{{{z{zzz{{{{{||z{zzzz{z{{z|{||{{|{z|z{{z{{{{{{|{{z{{z{{z{|||{{{|zz{z{{{z{{z{{{{{z{{z{{z{{|{{{{|{{{z{zyyz{{z{{|{{zz{zz{z{{||z{z|}{z{{z{y{z{z{{{{{zzzzzzzz{{z|{||{{zz{zz{y{{{{z{|{z{zzz{zzz{{{{|{{{z{zz{{zz{{{||||z|{{{z{z{{z{|{{|{z{z{{{z|z{||{|{{z{z|{{{{{||{|}{|{{|z{zz{||{||{|{{{{zzz{{|||{{{|{z{{z{{z{{{{{{{{|{{|{|{{{|||}|||{{{||z|{||{{{{||{||{{zz{|{|||||{|{{||{{{|||||||||{{{|{{|z}{|{|{}|{{{||{|{|||||}||{{{{{{{|{}}{|||{{{{{{{{{{{||||||{|{{{{{||{||||}|{{{{|}{{|{{{{||||{zz{{{|{||{|{|z{|z{{{{|||{{{}{{{{{{z{z{{}{{|{{{{zzz{{{{{}|{|||{{{{{{{y{{{||{||{{{z{z{|{z|{{{||{z{{zzzzz|{{{|{{{{z{z|{z||{{{{|||{{{{{{z{{{z{|{{zz|z}zzz|{{|{{{|zzzz{{{{{{{{{||{{{z{zzz{z{{z||||||{{{{zzz{{||{{{zzz|{{zz{{{{{|{zzz{z{{{zz{{z{{}|{z{z{{{z{|z{{||zzzzz{zzz{|{||z||{{{|{{{{{|{{{{z|{{{{z{z{{||{{{{||{{{{{{{{z||{||||z|z|{{{{||{|{|{|{||zz{{||{{||||z{|z{|{|{||}||{|z|{{z{|||||||{}||||{|{|z|}||||}{|z{{{{{{}|}{{|||{|{{{{||{|||{||||{{|z{|{{|||{|}||||{{|{z{||}||||}z|{|{|{{|{|{|||||z{{{{|||||||}|{z|{|{{{||{{||||{|z{{{{{|}|||{{}{|{{{{{z|{}{{|{{z{zz{z|z{{}{{{|{z{{|{zzzz{|{|||}|{zz{{{{{|{||{{||y{{z{{z{{z{{{{{|z{zz{{z{{{{{|{|{{zz{zzz{{z{z||{{{{zz{{|{{|{{{{||{{z{{z{{{{{{{{{y{zz{zzz{{{{{{|{{zzzz|zz{{{{|{{z{{{zz{zz{{{{{{{|z{z{{zzzy|{|{|{{{{zz{{zzy{zz|||{z{zz{{{{{z{{|{{|{{zzzz{y|||||{||{{{{|{{{}{||{||{{{|{{{{z|{||||||z{{zzz{z{||||{|{{z{{z{{z{||{|||||{{zz{{{{||{{||{|{{|||{{{{{}|||||{{{{{|{{}{{{|{|{z{|{z{{|||||}||||{|{||{|||}|}||{{|{{|{||||{|}{}||{|{||{||{|{||}|{||{z{{{}{{|}||||{||{{|z{|||||||{{{|{z{{|||||}||{}{{{{||||{{}}|{|z{{{z{z|||||{|{{|z{z{{{|{|{{z|{{{{{{|z{||{{|||{zzz{{zzz{{{{|}|{z{zz{{z{{{{{||}{|{{{z{{{|{{|z||||{zzz{zz|{y{{z|{|z{z{{z{|{{{||{{{{zz{yz{{{{{{{{{{{zzyz{|zz{z{{{{{zzzzzz{{|z{{||{{z{z|z{z{{{{{|{{z{{zz{z{{{{{|{|{zzzzz{zz{{zzz{|zz{z{{{{z{{{{|||{z{{{z{z{{{{{{{{{zzz{zzz|{{|{{{|{{|{zzz{{{{|||{|{z{{z{{z|||{{{|||{{{{{{{{{{|{||||z{{{{{||||{z{{{{{{|zz{{|{|{|||{{z|z{{{{|{}||}||{{{{z{|z|||{||}||{z{|{{{|{}|{||||{{||z{||{|{||||{||{{{|||}|{|||}||{{z{{{{{{|{||}{{||{{z|{{{|||||}{{{{{|{}|{||||}||{{|{{|{}{{||}}|{|{{{{{|||||||}{|{{{{{{{|{|z|}||{|z{{z{}||}||{{{zzzzz{zz|{{|{||{|zz{z{z{{|{{{|}zz{zz{{{{{{|{|{|z{{z{z{{|z{|{{||{{{{{zzz{{{{{|||{{z{zzz{{{{{{{{|zzz{zy{z{{{{{{{{{zzyzz|{yz||{|{{z{{z{{z{|{||z||{{yz{{{{z{z|{|z{{zzz{{zzz{{{{{{}{{zzz{{zzz|{{{{{{{{{zzyzzz|{z{{||zz{{{{zz{{{|{{||{z{zzzz{{{|{{{||{{{{{z{z{{{{{{{{{{{|z{z|||{{z||{{{zz|{{{{|z|{|{{{{{{{{z{|{|||{|||z{{{{{z||||{||{|z{{{{{|{}||{{}||{{z{z{{|{{|||||{{{{{{{{||{||||||{z||z{z|}|{|||}|{{{{{{{|}||{}|||||{z|{{{}{{|{|||z||{z|{|{||{||{|{z{{|{{{||{|||{{{{{{{{{|{{|{}||||{{{z{{{{{||{|{{|{{{{{{||{||{}{{{{{|z{{{|||{{{z{zz{{z{zz}|{{{z{{|{z{zz{{{{|{|{{zzzzzzz{|{|{{{{|{{{{{{zzzz{|{zz|z{{{z{zz{{}|z|{{z{z{z{yzzy{z|{{|{{{z{{{z{{z{z|{{z{{zzzz{{{{{{{z{{{zz{{{z{{{z|{{{z{zzy{z{z{{z{{{{{z{{z{zzz{{{{{{{{zyzzzzzz{{z{{{{{{zzzz{zz{zzz{|{zz{zz{zyz{|{{{{{{zz{zz{z{{|z{|{{{z{{{z{{{{z{{{|}{{{{zz{||{|z{{|||{{{zz{z{z|{||{}|{zz{{{z{{{{{||{{{{z{{{{z||{|}{{{|{{{{{|z{|||||{{{{{{{{{{}||{||}{|{z{z{{||{|{{|{{{{{|{z{|}{|{{|||{|{{{|{{{||{|||{{{{{||{||{{||||||||{{{z|{{||||}}{|{|{z{|||}|||||{{{{{|{z{|||z|{{{|{z{z{{}{{{||||{{|{{{y{|||{|||{z{zz{|{{{{}|{{{zzy{{zzzy{||{z{{{{|{{{{z{||{|{|{{zzzz{{z{{{{z{{{{{zzzz|z{{{{{z|{{{{{yz{zz{{{z|z{{z|zz{{z{{z{{|{||{z{{yzz{z{z{|{zzz{zy{z{{{zz{{|{{zzzzzzz{{zz{{{z{{{z{{yzz|{{|z{|{zzzzy{zz{{z|{{{z{{zzzzzz{{z{{{{z{zz{{z{z{zz{|{{{zz{{z{zy{{z{{||zz{{{{{{{{{{{{|{z{z{{z{{||{z|{||z{|{{{z{{{||{{|{{{zz|y{z{||||{{{|{z{{z{z{{||{|z|{z{{{z{{{{{{{||{{{{|{{z{{}{|||||z{{{{{{{{{{{||||{z{{y{{{|||{{z}{|{{{{{{{|{||{||||{|{{{||{{{|{|||}z{{{{{{{|||{{|{{{|{{{{{{{||z}{{|{z||{{{{|||||{|{|{{{|{{||||||||||{{{{{{||||{|{{{{{z{z{{||{{{{||zz{z{z{{{||||{{{{yzzzz{zz||{{{{{z{z{z{{z{{{{{{||{{zzzz{z|{{{{|{||{zzz{z{z{{{{{||z{z{z{|z{z{z{zz{{z{{z{{zzzz{{||{{{{zyzz{{{|{{{z|z{{{z{{z{{{{{zzzz{{zzzyz{{{{z{{{{zz{z{zzz{{{{{{zzzyzz|zz{z{z{{{|{zzzzy{zz{zzz{{|z|zy{z{zz{{{{|{{zz{z{{z{|z{{{{{{{zzz{{zyz{{|{||{{{{zz{{|{z{zz|{|z{{{{{{{|{{{||{||z{{|z{{{|{{{||{{{{{{{{{z{|{{|||{z{{z{zz{|{||{{{{{{z{{{{{{|{{|{|{{{{{z{{{|{}||}{|z{|{{zy{|{|||{||{{z|{{{|||{{||{||||{|{{{}|{||{||{{{{|{z{||||{||}{{{|{z{{||||{|||zz{{{{z{|{||{{{||{{|{{{{{{||||||z{z{{{{{||||||{{{||z{{z{|{{|{||z{{{{{{||{||}}|zzz|{{zzz||{{{|{|{{zz{z{{{{{{z{|{{{zzzz{z{z|{{z||zz|{{zz{{|{zz|||{{zz{yzz{z{z{{{{{zz{zz{zz{{{z{|{{{{z{{{zz{|{{{{{zy{z{zzy{{{|z{{{z{y{{zz{{||{z{|{zz{zzzz{{{zz{|{zzzyzz{z{z{{{{|{|{{{|zyzzz{z{z{{zyzzzzzz{z|z|{|{{{zzzzzyz{{{{{{|{{zzz|z{{{{{{{{{{zz{{{{zz{{|{{{||z{{z{{{z{|{{{{{|{z{zzz{{{|{}{|{{zz|z{z{{{|||{{{|{z{{z{z{{{|{{||{{zzzz{{|||}{{|{{z{{{zz|{|{|||}|{{{{|{{{{}{||}||{|{|{{{|{||||{}|||z|z||{{{||||}{|{{y{{z{{|}{||||{}{{{|{{{|{}|{|||||z{z{{{|{{{|{{|{{{{||{{||}{z{|{{{{{{{{{{|{|||||{{{z{z{{{||{|{{{{{{z{z{z|{|||{{{{yzzyz{z{{{{{{z{{{zzzzyz{{{z||{{z{zzz{{z{{|{{|{{{{zzzz{{{z{|{z|{|{{{{zyyzz{{z{z{zzz{zzzzyzz{z|{{{{z{|zzzz{|{z||{zz{zzzz{{{{zz{{{zzzy{zzz{{{z{{{{{zzzzzzzz{z{z{{{zz{{z{zzz|{{{{||{zzzzy{zz{{z{{{{{{{yzyzz{{z{{|{{zzzzz{yz{{{{z{{{{zzzzy{zz||{|{{{|z{z{z{z{{{{{|{z{{|{z|{zz|z|{||||{{{{zz|{{|{z|{{z{{z{z{{{{{{|{|{|z{{z{z{{|{{|{|{z{{{z{zz{{|{|||{{{{zz{|{|z{||{{|{{|{{{{{{{||}|{{{{{{{{{|{||{|{{}z{{|{{{{{|||||{||{{|{{{z{|{{||||||z{{{|{{{|||{||{z{{{{{{{||{{}||{{{{{z{||{{{|{{{{{{z{z{{||z{{|||{{{z|{{z|{{|||||zz{z{zzzz{|||{||zzz{zz{z{{|z{z{|{{zzz{{{{z{{|{||{z{zzz{z{{{{|{|{{{{z{zzz{{|z{z|||zzzz{zz{{z{|{{{zz{{{{{z{z{{z{{{|{{{{|zz{{|{z{{{{zz{z{z{{{{{{{{{{zzz{zyz{zzzz|{z{{{{z{zz{{{z{|{{{|{yyyzzzz{z{{{{|zz{{yzz{|z{{{{{{{{zzz{zz{|{{||{z|{zzz{{z}|{zz{{{{{z{zz{{{{{{{{|zz{{z{z{{|{{||{|{z{z{{{{|{{{|{|{zz{{{z{{{{|{{||{zz{zz{{z{z{{{{}z|{z{z{{|z{{{{|{|{{{{{|{|||{||{{|{z{{{{z{|}{||{||{{{|z{|{{{|{{|{{{{{{|{{{||{|{|{{|{{|{||{{|{|||{|}{{|z{{{|}}}|||}||{{z{z{||{|{|||{z{{{||{|||{|}}||{{{|{z||}||{|||{{{{{{{{{{{|{|||}z{{{zzz{{z}|}{||z|z{{{{{{|||||{|{{z{{zzz{||{{|{{zz{z{y{{{{{z|||||{z{yz{{|||||{|{{{{{{z{z{|~z||{{{zzz{zyzz}|z|||zz{z{{{zz{|{z|{{{{{zz{z{{{{z{{{{{{z{zzzz{z{zz{{{{{zz{zzz{{z{{|{{{zzzzz{{{z{{{{{{{z{z{yz{{{{z{{{{zy{zzz{z{z{zz{{{{zz{z{{{zz{{{{||{|{z{yzz{{|z|{|{{{{zz{{{{{||{{{|z{zz{zz{{|z{{||{{z|{z{{y{{{{|{{|{{{z{y{z{||{|{|{|{{{{z{{{{{|{|||{zz{{{z{||{{{|{}{z{{{|{{|}||{{||{z{{{{{{{{||{|}|zz{|{z{y||{{|||{|{{{{{{{||{{|}|}{{{|{||{|{|||||{}z{{|{{z{|{|{|||{z||{{|{||||{|}|z{{}{{{||{{|{||||{{||||||{||{|{||z{{{|{{{{||{{||{|z{z{z{{{{|{{||{{z{z{{{|{|{||{{zz{{{zz{z||z{{|{zz{{yyzzz{z{|{|||{zz{zz{{z{{|{||{{z{zz{z{{|{{{|||{zz{zzz|{{{{{z|zz{{y{{{|{|{{{|{z{{yz{{z{z{{z{{{{z|{zzz{{zzz{{{{zzyzzzzzz{{{{z{{zzzzy{z{zz{z{{|{{{{zzz{z{{{z{{|{{{zz{zzzz{z{{{zzz|zzzzzzzz{z{{{{z{{z{zyy{z{{{{{{{zzz{zz{z{{z{{{|{zzz{zzz|{{|{{z{{{{zzzzz{|{{|}|{{z{{{zzzy|||{{{{{z|z{{yzz{{|{{||{{z{{{{{{{z|{{|{{||{{|z{|{{{{||{{{{z{{{|z{{{{{{}|{{{{z{z{|}}{{||{{{||||{||||{|{}{z{z{{{|{|{||{|{||{{{z{{{|{{|||||z|{zz|{|{|||||{{z|{|{||{{{{|{|}|{{{{{z{|}|||{{||{{{{{{{|{{|{|{|{{{z|{{zz{||{|z|{{{|{y{zz{|{||{{zz{{zy{{{{{{||||{{zzzzyy{{{{|{{{{{zy{{zy{{{{{{{|{zz{{zy{{{{{{{||{{zz{z{{{zz{{{|{{zyz{{zzz|{{||{z{zzz{zzzzz|zz|{|{z{{z{yz{{{zz{{{{zzzzyz{{|{{{z{{zzzzzzz{z{{zz|{{{z{z{z{z{zz{{{||zzz{z{zz{z{z{z|{zz{zy{zzz{{{{{z{{z{{zzzzz{||z|{|{z{{{{|z{z{|||{{|{{z{zz{{{{|{{{{z{{{z{z{{{|{{{|{{||{{z{z{{{{{||{{z{z{zz{z|{z||}||{zz{{{{||{{|{|{{{|{|{|z{}{{|||}z{zz{{{||||||{|{|{z{{{{{{|{|z||||{{{{{|{{||{}|{{|{|{{{{{|}{|{||{|{z{|{{|{||||||||{{{|{{{}|}|||{{|{||}{|{|||||{||{{|{{{z{{|}|{||||||{z{z{}||{{||{|{{|yzz{{||{{|{{{{{z{{|{{{||{{|{zz{z{{{z{{|{{{{{{{{zzzyz{{||z{{|{z{{{zz{|{{{{{z{{z|{z{zz{{|||{|||{{{zz{z{|{{z{{{{{{zz{{zz{|{{|{}{{z{z|zz{z{zz{{{|zz{z{z{{z{{{|{{z{z{zz{z{{{{{{|{{z{{z{zz{{{zz||{{{z{z{zzz{{|{z||{zzz{z{{{z{{{|{|{{{zzz{z{{|||{|{{{z{{{{z{||{{|{|{{{zzz{z{{{|{{{{{z|z{z{z{{||{|z|{|{{z{{{{}}{{|||{{{{zz{z{{{{{{|{{z{{{{{y{{||{||{{{{{{{{{||{{{|||{|{z|{{||{{|||||z{{{{{{{|}{|||||{{z||{{{{|||{|||{{{{||z{||{{|{||{{{{z{|{}|{}|||{|{{{|{{{||{|{}|||{|||{||||{|{||||{{|{|{|{}{{||||{{{{{||||{{}{z}{|z|{{{{|{||||z}|{{|{{{{{{||{|{|{{{{z{{{{|{{{{|z{|{{zzz{{{{|{{{{{|{zzyzzz|{|{||{|{{yz{{{z{{{{{{{{{z{{z{zz|z{|{|z{{{{zzzzz{{|{{{|{{z{zz{zy{{z{z{{|{{z{{zzz{z{{z|{{{{|zzzz{{z{|{z{|{{z{zzyy{z{{{{{{|zz{zzzzz{{{{||{{z{{yzzy{{z|{{{|{z{zzyzyz{{{{{|{{{{{{yzyz{z{{{{{z{z{zz{z{{{|{{z|{zy{{z{{{{z{{|{|||z{z{{{{{z{{{||zz{{z|z|||||{||}|{{{{{zz{{{|}||{z{{{z{zz{|{{{{|{{|{{{z{z{{{||{{{{z{|{|zz{||{|||{{z{{{{{z{z||{|||{y{|{{z{{|{||{|}{z{{|z|{{{|{|{{|{{{||{|||{|{}{|}{|{||{{{|||}{}|||{|{{{{{||{{|{||{{{{|{{||{|{{||||{{{||{|||{|{|||{{{z{{|{{||{||||{{{{{{{{{|||}}{{z{z{zz{z{|{{{|||{zzzzzzz{z|z|{||z{{{zzz{{{{{||{{z{{zz{{z{z{{{{{{{{{{{{yz{|z|{{{{z{zzz{|z{{{{{{{{{{{zzz{z{{{z{}{{zz{zy{zy{{{z{{{|{zzzzzzz{{z{{z{{zzz{z{zz{z{{z{{|{{z{{zyzzz{{|{|{z{{zz{zzz|{{z{z{z{z{zzyzz{zz{{z{{{y{{zz{y{{z{||zz{z{z{{zz|{{{|{{z{{{{z{z{{{{{{|{{z{zy{{z{{|{|{||z{{z{{{{{|{{{{|||z{{{z{z||{{{}z{{{z{z{{{{|{{{|{|{zz{{{z{|zzz{||{z{{{{{{{z|{|{}{|{y{|{{|z||{}{||{z{{{{zz{{|{|||||||{zz{{{|{|{||||{{{{{|{{|{||{|||}|{|{{|z{}|||||||{|{{{{{|{}{|}|||{{|{{{|{|{{|||{||||{{|{{||{{|||{{zz{{||}{|}{||{{{{{{z{{{}||{||{{{z{zz{{||{|{|{z{{zz{zzzz{{z{z|{z{zz{zzz{{{{|{|{{{zz{zzz{{{{{{}z{z{{{zz{{|{{{{z{z{zzzzzz|z||{{||z{zzz{zy{{|{||{{{zy{z{z{z{zz{|z{zzzzz{{z{{z{|{{{z{z{{yyzz{{{{{{zzyyzz{zz{{{z|zz{{{{zyz{yz{{{{{|{{zyz{yz{z{z{z{z{z{yz{{zzyz{z{|{{z{zzzzzzz{{z{|{{{{z{zzz{|z{{z{{{{{zz{yzz{y|{{}|}{{zz{zzyz{{{z{||z{{z|yz{{{{{{|{z{{{{zz{{{||{{|{{zz{{|{z{{|{zz||{{{z|z{z{{|{{|{||{{{{{z{{||{||{{|{{{z{zzz||{{|{{{|{{z{{{{{}{|{}||{{{||{{|z|{{{}}||{{{{{{z{|||||{}|{|{{z{{{{|}|{||{{{{{{||}{||{||||{z{{zz{{|{||{|{{{{{{|{z{{{||||{|z{{z{z{{{{|||{{|{zz{{z{|{{{{{z{|{zz{{{z{{{{{{{{{z{{zz|z{{|{|{{|{zzzzzzz{{zz|{{|{|z{{z{z{z{{zz{{z{{z{{zz{{|{{{||z{z{{{{yz{z{{|z{{z{yzzzzz{{zz{z{zz{zz{{z{z{{{{{{zzzzzy{z{z{zz{|{zzzzz{{{{{{{{z{|zz{zzzzz{{{{z{{{{zzz{y{zz{{{{{{{{zyz{yzzz{{{{{z{{z{z{{z{{{{||{|{{{{{zz{y{{{|{||{zzzzzz{{{{{|{|{{z{|{z{z{{|{{|{{z{{z{{y{z{{|{{{{{{{|z{{|zz||{|{|z{{{{{z{z{{{{{{z{{z{{{zz{{||||||||z{{{{{{{|||z{}|z{||{{{z{|{|{||||{{{{{z{{{{{{|}{||z{z||z{}||||{}{z{{{{{{|}||{{}|{{{{{{{||{||||{{{{{z{zzz{{{||}|||{{|{{{{|{z|{{{|{{z{{|z|{{{{{|||{{{{{yzz{|{||||{{z{{{{{z{{{{z|{z{yz{zz|z{|{{z{|{{{zzzzzzz{|{|{||zzzzyzzzz{{{{|{{{{z{zzzz{{{{{z{{z{{zzzzyz{{|z{{{{zzzz{zy{{{{{|{zzz{{{zzz|z{|z{z{z{z{z{z{zzz{zz{{zzz{{zzzzz{{{z{{z{zzz{z{{{{{{{{|{y{zxzzzz|{{{||{zzz{zz{zz|zzzz{|{{zz{{yz{{z{{|{{zzzzzz{{{{{||z{|{zzz{{{|{{zz{|{{z{{zyzzz|z{{{{{|z{{{zzz{{{{z|}{{{z{{{y{{{{z{{{{|{z|z{z|z{{{|||{{{zz{{{zy{|{{{{|{{{zz|zz||{||{|||{{{zz{{{||{|||{{z{|{{|{{{|{||{{{|zz{{{zz{{||{||||{{{{{{{|||||||||{{{{{{{{{{||||}}{{{{{{{|{{|||}{|{{z{{{{|||{|{}||{|{{{{{|||||{{|z{{zz{{|{{{|{||||z{{|{{{z{||z|||{z{zzzz{{{}z{{{zz|zzzy{yz{{{{{|{z{zzzz{yz{||{|||{{zzz{zz{{{{z{|{{z{{{{z{{|{{{{{{{{zzzzyz{{|{z{{|{zz{{{z{{{{{{{|{z{z{{z{z{{|{{z{{|{{z{||zz{{{{{{{{y{y{zyy{{|{{z{|{{{{y{z{{z{z{|{{|{zz{zzzz|{{||{|{{{z{z{zz{{{{|{|{{{z{{{z{{z|{{||zz{|{{zz{{{{{|{{|{z{z{{{z{{{{||{zzz{{{{{||{{||{||{z{{{|{{{{||{|}{z{|{z{{||||{|{{{{{{{|{{|{||{|{{{{{|{{|{|||{|}|{}{{{{{|||{{|||{|{{{z{{|||{||||||{|{{{|{{{{||||||{z{{|z{|{|}||}||{{{{{|}{|{{{}||||{{{{|{{{|||||||||{||{{{|||||||{|{|z{{{||{{{||}}||{{||{{|{|}|||}{{|{||{{{|||||}{|{{zzzz{zz{{{{{||z|{{|{z{{||{{{{{{y{zz{z{{|{{z|{{{z|zz{y{||{z|{|{z{z{|{{z{zz{||{{zzz{z{{{{{{{|||z{{{zz{z{|{{z|{|z{zzz{{y{{{{z{{{{{z{zzz|{{|zzz{{{{z{{z|{z{z{{{{{zzyz{z{y{{{{{{|{zzzzzy{zz{{|{z|{{z{{z{zy{|{{{{{{{z{{zz{{z{{{z{{{yz{z{zzz{{z{{z|{{{{{y{zz{||{z{{|{{z{{z{y{|||{|||zz{zz{{{|{{z|{||{{{z{{{{{{||{||{{z|z{z{{{|{{|}{|||{{{{{z|{|{|}|{||z{{|{{|{|{|}{||||z{|z|||{|||{|{{{{||{{||||||||{z{|z{|{{{||{{}{|z{{|{{|||}{{||}}{{{{{|{{||{{|}|}|{|{{||{|}{{{||{||{{{z{|||}{{}{{z{{||z{|{|||||||{{{{{z|{|{{}|{|{{{{z|{{|{{|{|||{zz{|{z{|||{{{|{{z{zz{{{z|{{||{z{z{{zzzzzz|{{z|{{{zz{{z{{{{{|{{|{{{zz{{z{{{z{z||z{{zzzzz{|{|z{||z{{zzz{z|zz|z{{{{z{|z|{z|||{{{{{{z|zzz{{{{|{z{||{zyzy{zz{z|{{{{{z{{y{zzy{{{{{{{{zzzz{zz{{{|{{{{|zzzzzz{{{z{||{{{{zz{zzzz{z{z{{{{z{zz{z{z{{{z{{{z{z{z{z{y{{{{{{{{{z{y{z{{|||{{{{{{{{{zz|{{|||{|||z{{z{zzy{|{{{||}z{{{{{|{{|{|{|{}zz{z{zz{{{{{{{{{|{|{{{z{|}{|{||||{{{|{{|{{{|{||{|{{z{{{{{||}{||{{|{{{{{{|||||||||{||zz{{|||{|||{{{|{{{|{{{|||}{|{{{{{|{{||{|{||||{{|z{|{|||{{|{}|{{|{||{|{{|{{~|{{z{{{{|||{|}||||{{{{z|{{{||{}{|{z{z{{{{{z|{{{|{{{|{{z{{|||z|{|{z{z{{zzz{{{|{|{|{{zzz|{{{{{z|{|{{{{z{{{zz{z||||{{{{{{z{{z{{{{||{{z{{z{|z{{{{{{z{zz{zz{z{{{{||||{{zz{zzzz{{{|{|{{{{z{{{z{{z{{{{{{{zz{z{{z{{{z{{{z{{zz{{zz|{{{|{|{zzz{z{{{z{{||{||{{zz{{yz{|{{zz{{zz{{{z{z{|z{{{{{zz{zz{zz{{{{{{|{{{{{{zz{{|{{|{||z{{z{z{{|{|z{|||{{|{|{|z|{{|||||{{{z|zz{||{||zz||{{z{{{z{||}{{|{{{{||{{{||||{}|||{{|{||{||||||||{{|{{{{{||{|{}|}|{{||{{{{||||{|{{|{|{||||||}|||}{{{{|{{||{|{||{|{|{{{|z|{~|}|{|}{|{|{{z{{|{{{|{|}{|{|{{{||{{|||}}z{|}{{|{{|||{}{{{{{zz{z{|{{{|||||zz|z{{{||{{|}|{z{{{{{z{|{|{{z{{{z{zzzz{z{{z{{{zz{{{zyz|z|{{{|}{{yzzzzy{{{{|{{|{{zzzzzy{||z{|{{z{zzzzzz{|z|{{{|z{zz{{zz{{zzz{||{{{z{{zz{{{{{{{z{z{z{{z{{{{|{|{{z{{zzyz{z{|{{{{{{z{z{zzz{{{{||{{|yzzzzzy{{z|{{{|{{{zzz{y{{{{z{{{||z{zzzzz{z{|{{{z{{{zz{z{|{{{||zz{{{{z|{z|{{z{{|{{z{{z|{{{{|{{{{{zzzz{{{|{|{{||{|{{{{z{{|||{{|{{|{{{zz{|{||{}{|||{z{{{{{|}|{||{|{{{z{z{{{|{{|||{{|{z{{{{||||{}||{{z{{{z{|{{{{{{|}||{|{z{{|{}}|||{{{{{{|{{{||||{}|{z}||{{|}}|||||{{|||||z{||||||||zz{{{{{|{{||||||{z{{{z{{{|{}{||{{{{z{z{{|{{{|{|{z{{zz{{{|{{{{{{{|{{zz|z{{|}||}{{{zz{z{z|z|z{|{|{{z{zz{{|{{|{{{|{zzz{{zzz|{{{}{{{zz{{zz{{{|z{|}{{zyzzzzz{{||{{{|{|{{{z{z{{|z{||{{{{z{zz{{{{{z{|{{z{z{{{z{{{{{{|}{z{zzzzzz{{z{{{{zzzzzzzz{z|{{{|{||{yz{zz{{{{{{|{{{zzzzz{z{{{{zz{zz{z{z{{{{{{{{{|zy{{{{zzz|{{z||{{z|{{z{{|{{z|{|{|{|zz{{z{{{{{{{|z{{zz{{{|{|{{|||{{{{z{{|{{||{||{{z|z|{{z{{|{|{||{{{{|z{{{{{{z|{{{z{|{|{{{{|{{|||{{{{|z|{||{}|{}|{{{{|{z{{||||||}|zz||z|{||||||}|{{{{{z{{{||||{||||{|{{{|{}|{{||}{{{{{{{{{{|||||{{z{{z{{{{|{{||}||{{{{|z{{{||||||{{{{zz{{{{{|{||||{{{zz|z||{|{{||{z|{{z{z{{}||{zzz{y{{z|{{{|{{}{{z{zzz{{{{{|{{{||{{z{{z{{{{{|{{|{{{{{zzyz|z{{{|||z{zzz{zzzz{z{|{|{z{z{zzzz{{z{||{{{{{z{zz{}|z{|{{{{{zz{zzzz{{z{|{{z{zz{zz{{{{{{{{z{{{zzz{z{|z{{||{z{{{{zz{{{{z{|{{{z{{zz{z{|{||{{z{{z{z{zzz{{{|{|zy{{z|yzz{{{{{|z{{{z{z{{z||{|{|zzz{zz{z{{{|{||||z{{z{{{{z||{||}||{{{zz{{{{{||{||||{{{{zz{{|z{{|{{{{{z{{{{{|{{{{|{{{z|{y{{|{|||{|z|{||{|z||{|{{}{|{{{{{z{{||||}}{|{|{|{{{|}|{{|}|{{{{|||{{{{||||||zz{{{{|{||{||||{{{{{{{{{{||{|||{z{|z{{|||{|{{||{|{|{|{{|{{{||||{{{{{{{z|||{{|}|||{|{{{z||||z{{{{zzz{{{y{{{{||{|z{yz{z{{{z|{{{||z{zz{zzz{{{{{|{|{zzzzz{z{zzz{{|{{z{zz{z|{{|{z{{{{zyzzzzz|{z|{{{||z{{{zzz{|{{z{|{{z{zz{yz{{{{{z{{zzzzzz{{{zz{{z{|{zzz{zzz{{{z{{{zzzyyyzzz{{{{|{|zz{z{zzyz{{z{{{{|zzzzz{{zzz{|{|z|{{{z{{zzz{z{z{|{{z{|{zzz{{{{{{{|{{z{{zyz{{||{|{{{z{{zzz{{{|{{{||{{z{zzz{{{{{|{{{|{|{{zzz{{{||{{||yz{z{zz|{||{|{|{{z{zz{{|{{{{{{{|{z{z{zz{|{|{||{{z{{{{|{||||{|||z|{{|{{{||||{}{|{{|z|{{z||{|{||||z||{|||{|{{|}{|}z|{{{{{{|}{|}}|{||||{{{}||{|{||{z|{{{{{{{{{|||{||{{|{z{{|{||||}{{{{{z{|{|{{||{{{{z{{{zz||{{{|||{z{{z{zz{{{|z{{z{zzzzz{z{{|{z{{|{zzyzz{{{|{{{z|{{{|y{{{{{{{{{{z|{{zz{{zzz{{{{z|{{{z{zz{z{{{{{z{{y{|{z{zz|z{{{|{{|{{z{yz{y|{{zz|{z{z{yz{{{z{{z{{|z{zzzzzzz{|{{{{{zz{{zzyzy{{{{zz{zz{zzzzz{{{{z{{z{{zzzzzzz{{{z{{z|z{z{z{zz|z{{|{{{{zzzzzzzz{z{{{|{{{z{y{z{|{{z{{|{z|{{{{z{z{|{|{{|{zz{zzz{z|{{{z||{{|zz{zz|z{{|{{{{{zz{yz{{{|{{|||{z|{{z{|{zz||{||{|{{|z{z{{{{{}{z{z{{{{||{{|}|||{{{{zz{{z|{{{|{||{{{|z{{|||{|}|||{|{|{||{|{{||||{z{{z||{{||{{||||{{{{{{{|||{{|||}{z{{{z{||{||}{||{{||zy{|||||{}|{z{zzz|z{{|{{||||z|zz{|yz||{{{{|{{|{{z{y{{{{|{{zzzzz{zzzz|{z{|{{z{{zz{y{{|{{|{{|z{{z{zz{}{|{{{|{zz{z{z{z|{{zzz{{z{{zzz{zzz{z{{{|{z{{z{{z{{zz{z{zz{z{zzz{{{{{{{{{{z{zz{zz{z{{{z{{zzzz{{{zz{|{z{|zyyz{z{zzz{|y{z{{{{zzzzyz{|{{z{{z{zzyzyzzy{zz{{{{{z{zzzyzy{zzzz{|zzzz{{{z|{{{|z{|zzzyzzzz{zzzz{{}z{{{zz{zz{z{{{{|{{{{z{zz{{{{{{{{{{{|{z{{{{{{{||{{{{zzzz|{|{{|{|{z{{{{|z{||{z{z||{{{z|{z{z|{{{{{|z{{{{z{{}|||{}||{{{{{{{{{|||{{{||{||{{{{{|{{{||||{{|z{|{||{|||{|||{{{|{{|}|{|{|||{||{{|{|{|||}||{{{{{{{|{||{{{|}{|{|{|z{{{{{{|}}z{{zz{zz|{||}||{|{zz{{{{{{{{{{|{{{{z{{{{z{z|{{||z{|zzzz{|{{{{{{{{zzzzzzz{{|{{|||zzzz{{z{{{z{{|||{{|{{{{yz{|||zzz{zzz{zzyz{{{z|{{{{zzzzzz{z{{{z{{{{zzzz{z||{{{{{{{{{zzzzz{z{{z{|{{{z{zzzzz{{{|{{{zzz{zzzz{{{z{{{{zzzzzzyy{{{|z{{{{{zyzz{zzzz{{{{{zzzzzzzzz{{z{||{zz{{{zzz{zz{|{{{{|zz{{{z{{{{z{{|{z{z{{|{z{{{{|{{|{{z{{{{{{||{|{zz|{{{{yz||{||{}|zzz{{{{y|||{{{}{{{z{|{z{{|{{{{{{|{{zz{{{{|||{||{{z{||{{{{{{{|||{{z|{zz{{{||||{}{{{{z{{{{|||{||||{||z{{||||||||{||{z{|{z{||||}||{|{{{{{{||{{||||{|z{{{{{{{|}{|||{{{{{{{{|{||||{||{{{{z{{{{{|{{{{{|{{|{|zz{||||||{z{|{z{{{|{|{{{{|{zyzzzz{z|{{{z{{{{{zzzz{{|{{z||{|z{z{{{z|{{|{|{{{{yz{z{{|||{{{||{{z{zz{{|z{{z{{{{z{{{z|zzz{{|{{zz{{{{z{z{{{{{{{{{zzzzzz{{{z|{{{|{yzzzzzz{{zz{{{{z{zzzzz{{{{{zz|{{zz{zzzz{{{{{{{|z{z{zzzzzzzz{{z{zzzz{z{{{{z{z||{zz{|{{{y|{{||{|{{zzyzzz{{|||{{{{yz{{zz|{{|{{{}|{{{{zz{|z||z|{{{|{|{{{{z{{{|{|}{|{{{{{{{{{|||||}{{||{{z{{}{{{|}||{{|{{{{{z||{||{|{{|z{||{{|{|{||||{{|zz{z{|{z|||{|{{{{{|{||}}||}|{{z{||{||||{|}|}|z{zzz{{{}{}|}}||{|{{z{|||||{||}|z{{{{{z{{|||{}||||{{|{{{{||{||}{{{{|{z{{|{|{|||{{z{z{z{{{{|||{{z{{z{zz{{{{{{{{{{{{zzzzz{z{{{|{{{{{zzzzz{{{{|||{{{{zzz{{||z{{|{|{z|{yz{{{{{|z|{||{{{{{zz|{{z{|{{|zzzz{{z{{{{z||{{zz{z{{{{{z{{{{{zzzzz{zz{|z{zzz{{z{z{zzy{{{{z{{zzz{zzzyz{{|{z{{|{{{{zz{{{{{|{z{z{zzz{yzyz{|{{{zz{zyzzz{z{{{|{|{zzz{z{{{z{||z{{||z{{{{z{{z{{{{z{|{y{|zz{{z{|{|}}|{{{z{{{z{{{|||||{z|z{{{|{{{{|}{{{{z{{{z{{{{{|||{{{{{{{{z|{}{{|{|{|{{{{{|||||||{{z{{{{{{{{|{|{||}{|{{{{{{|{{|{||||{{|{z{{}|{{|{||{{|{{{}|{|{||}{|||z|{{{{{||{{|}||{{|{{{{{||||}{|||z||{{||||{{|}||{{|{{{||||||}|||z{{zz{{{{{||||||||{|{{z{}{{{||{{z{zz{{z|{{{|{|{zz{zyz{||{{|{{|{{zzzzz{{|{{{z|{}|{{zy{z{{{z||{|{{{z{{zz{{{z{{{||{|zz{{z{{{|{z|||z{zzz{{{zz|{|{{z{z{zz|z{{z|z{z{{{{zzy{z{{{{{|{||zz{zzy{z{z{{{|{zzz{{zzzz{{{z{{{{zzzzzz{{{{{{{{|zzz{{{{{yzzz{z{{{{{{z{{zzz{{{{|{{{z{{{{zy{{{||||{{z{{|{zz|{|{{{|{{z{{{z{z{{{{{z{{{|z{y{zz{{|{{{||{{{{{{{{{|||||{z{{{z{z{{||{{{}{|{{z{z{{z{||||{{||{{|{z{|{{|{|{z{{z|{{{{{|||{||||{z{{{z{{|||}||||{{z{|{{z|||{{|}|z||{{||{{{||||||{||{z{{{{}{||||{|{{||{|{{||||||||zz{{|{{|||||||||}z{{{{{{|{|||||{z|{{{{{{|{||||{{|{{zz{{{{{|{{||{{z|{{z{{{z{{|z{{{{z{{{y{{{zzz{{zz{{{zzzz{{{{zzz{zzyzzzz{z|{{{{||zzzzz{{y{{{z|{z{z{zyy{y{|{z{|{{zz{yzzy{{{zzz{{{{{{zzy{z{yzz{{{{zzzzz{zz{zz{z{z{|{zyzzyzzz{z{z{yzzz{yzz{z{{{z{{{zzzzz{zyzz{{z{{|zzzzzzzzyz{y{zzz{{zz{zyzz{zy{{zz{zz{{{{z{z{{{{{|{z{zzzz{z{{{{|||{z{zzz{z{{zz{|{{{{z{zz{z|||{{{{z|z|{zz{z{{{{||{{{{{{{{zz{||{|{|{{{z{{z|z{{{{{{{{{{z{zzz|{{|{{|||{{{{{{{{|{||{||{{{z{z{{{{{{{||}{|{|z{{{z||{{|{|{zz{{{{{{{{{|}|{||z{{{{{{{{{|{||{|{z{{{{{{|{|{|{||z{{|{{{}{{|{|||{z{z|{z{|{{{||{|{z{z{|zz{{{|||||{{{{yzyz{|{|{|{|zzzz{yzz{z{z{{{{z{{{yzyyz||{{{|{{zzz|zy{z|{{{{{{{{{zy{zz{{|{{||{{z{zyzzzz{|z{{{{z{z{{z{z{{{{{|{{{yzyy{{z{z{{z{{{z{{zzzz|zz{z||zzzzz{zzzzz{{|{{{{zzzz{z{z{{{z|{|{{zzyzz{zz{{z{|{{{z{yyzz{{|{zz{{|zzzzzyzzy{zzz{{{z{zzzzzz{{z{z{{{{zzz{{{{{{{z{|{|{{zz{z{zz{{{{|||{z{{{z{z|{{|{{||{{{zzz{{|{|{{||||z{{{z{{{{{{{{|{z{zy{zzz{{{{{{|z{{zz{{z{|||{{|||{{zz{z{{{{{}{|||z{{y{{{{|}{|{||}|z{zzz{z{{||||}||z{{{z{{|}|{}|||{z{|z|{{{|{{|}||}{zz{{|{{|{|||}||{|||{{||||||}}||z{{{|z{|||{z|{|{{{|{{{{|{{{{{||{{{z{{{{{|{{{{|{|{z{z{zz{z{{|{|||z{zzzzz{|{{{{|{{{zzzzz{{|{z{|{|zzz{{z|{{||{{{{{{{{{z{zz{{{{{|{zz{{y{{zzz{|{z{{{zzzzzzzyz{{{{|{{zz{zzz{zz{z{{{{z{{{z{zzy{{{zz{{{{zz{{zzzzzz{z{{{{zz{zzzz{{{{{||{yzyzy{{yz|{{{zyz{z{{{zzzz{{{|{{|zz|zzy{zz{zyz|{|{zzzzzzzz{{z{{|{zyzz{{{zz|z{{z|{{|zz{z{z{{{|{z|z{zz|z{{z{{z{{{}}{|z{z{zz{{{{|{z{z{{z{{{z{||{z|{{z|zz|{zz{||{|{||{zzz{{z{{{{z}||z{{{|{{{z|{||{{|||{{{z{{z||{|||||{{{|{|z{{{{|||{{|{{|{|zz{|z|{|||{{|{{{|||{{{||{{|z{|{|{{{|||{||{|z|{{{z{||||{{|||{{||{z{||{{||||||{{{{|{{{{{{}|{|{z{{|{{{{||{|||{|z|{{z{||||{|{{{{{z{{zz{{||{{|{zz{yzzzzz{{{{z{{y{zz{zzzz{{z|{{|zzzz{zzyz|{{|{{{{{zzyzzz{z{{z{{{{zzzxz{y{{|z{{|{z{{zz{{zz{zyz{{{{zz|zzyz{{{zz{||{z{z{zyyz{z{{{{{zy{zzyzzz|{{z{|{zyz{z{{{z{{z{{{{yz{{yzyzzzz{zz{zzzzzz{zyz{zzz{{z{{z{zzzyyz{{z{|{{zzzyz{{{zz{{{{{{zzyz{{z{{|{{{{||z{{{z{{{{|{{|||{zzz{{zzzz|||||{{{{{{{z{{{{z|{{{zzzz{z{z{|z{{{|{{{yzzzzz{{}zz|||||{y{{{z|{{{|{||z{{z{z{{{{z|{|||{{z{{zzz{||{||||{z{{{{{z|||{{||{{{{{z|{{}{{{{||||z{{{|{{{||{{{{||z|{z{|z{|{{{||{|z{{{{{{|||||{{||{{{}{{z{||||{{|{{|{z{{{{{||{{}|{z{{z{{z||{|z{{{{z{{zzzz{{|{{{z|zz|{zz{z{z{{{|z|{zzz{zzzz||{|{{zzzzzzzz|{{{zz{{{zz{|{zz{{{{{zz|{{{zzz{zzz{{{z|{|{zzzzzzzyz{zz|{{{zz{{zzz{{|{{{{zz{zzz{zzzz{{z{{{{zzzzzzzzz{{{{{{zz{zzzyz|z|z{zz{{z{zyzz{z{z{{z{{zz{zzzzy{zz{{{{{{{{y{zy{z{zzz{|{{zzzzzyz{{{{z{||{{zz{zzzz{z{{{{{{{{{zz{yz{|{{}{{zz{zz{z{z{{{{{{|{{{{{y{zz|{|z{{|{zzzzzzz|{|{{{|{zzz{{|z{z||{{{{|||{{{zz{z|{{|{||zz{z{{|z{|{|{{|||{{{z{z|{|{{|||||z{{|{|{{|||{z}|{{|{z|||{|}{|||||{{{{{|{{||{|||{|z||z{z{{}{|}{|||z{{{{{{{{{}|||||{{z{z{{||{|{||{{{{z{z{{||}}{||{{{{{z{{z|||{z{{|{{|{{zzz{{|z{|{{{{zzzzzz{|{{{{{|y{zz{{z{{y{{z{{{{zzzz{{{{{z{{{}{zz{{y{zz{{{{{{{{zz{{zz{z{{{{{{z{zz{z{zzy{{{{z{{{{z{y{z{{{zzzz|{z{z{z{zyy{{{zz{z{zy{zzzz{z{{zz{{|{zzzzzzz{{{||{{z{z{{zyz{z|{||z{{{{zyzz{z{{z{{{z{z{{zzzzzz{{zz{{{z{{z{{yzz{|{{{}{{z{{zz{z{|{{{z||zzzz{z{zz{{{{|{|zzzyyzzz{z|||{{{{{{z{y{{{{{{{{{{{{{zzzzz{{|{{{|{{zz{{zz{{|{{{|{{{zzzz{{{{|||{||{z{||{{{{{{{{|}||{z{{{{z{{|{{||||{{{{|z{{|{{|{}||{{{|z{|{{|{|{|}||{{{z{{{{||{{||{|{|z|{{{{{{{{|{|{zz{z{{{{|{||||||{z|{{z|{|{||||{|{{{|{{z{{{{{{||{{z{{zzzz|||{z{{{{|zz{zz{{{|{|z{y{{zz{zz{||{{{z|zzz{zy{zz{{{z{{{{{zzzz{z{{{|{|{|{{{zzzz|{|z{{{|{z{zyzy{z{{|z{{{|{zzyzzz{{{{{z{{y{z{zzzzz{|{{z{|zzzz{z{{{{zz|z{||zz{yzz{{z{{z{{{z{zzz{{zz{{{z{{{{{{z{zzzzzz|{{{|{z{z{yyzyzzz{|z{|zzzzzzzzz{z{z{|{z{z{z{zy{|{|{{}{{z{{{y{zz{{{|z{|zzzz{z{{{|{{{{{{{{{z{zz{{z{{{{|{zz{{{yzz{{|{||{{{z{z{{|zz{{z{||{z|{{z{{{{{{{z||{{{z{|{{{{{||||{{{{{z{{|z{zz{{|}|{|z{zz{{|||{{|{}|{{|{zz{{{|{z{}|{z{|{{{{}|{|{||||{z||{{z{|||{{}}|{{{{{{{{{{|{}|||z{z{z{{{|{||{{|{{{{|zz{|{{{z|}|{{{{|{{{z}{{{|{||{|yz{{z{|z|}{|||z{zzz{{{{|||{{|{zz{{y{zz|{{{|||zz{yz{z{{{{{|{|||zzz{z{z{{z{|||{zzzz{zzz{z{{{{||zz{z{z{z{{{|{|{{{{z{zzzz{{|{z{{zzzzz{zz{{z{zz{{{{{{zy{zz{zz|{|{{zzz{{zyzz{z{{{z{{zzzz{zz{{{|{{{{{z{zy{zyz{z{{{|z{z{zz{zzz{z{{zz{|y{z{y{zzzz{{{{|zz{{{{{z{{{|{{{zzz{{zz{{|{|z||{|{{{|{zzz|{|{{{||{{{zzz{{{{{|||{{{z{{{z{z{|{{{{z{{{z{{{zz{|}|zz{|{z{{zy{{{|{{{|{{|z|{z{{zz||||{|{{{{{{y{{{{{|{{|||{{{|z{{|||{|||||{{{|{z|||{{}{|}{{{{{z{z|||||||{}{{{z{{{{|{}|{||{{{{{z|{{{|{{{|||z{{{{{{{|{{{||}{{{|{{{{|{{}{{{|z{|z{|{{|{{|}|{||{{{{{{z{{{|{{||{zyzzz{z{{||{|||{{zyzzzz{z{{{{{{zz{zzy{{{{{|{||{{zz{zz{z{{|{z}{{|zzzz{yz{z{zz{||{zzzzzzzzz|{z|{|zz{z|yyz{{z{{{{z{zz{zzzz{zz{{{z{z{zzz{z|zz{{z{{{zzzzzy{yz{{{{{|{{{{zzzyz{{z{|{{{z{zz{y{z{|zz{{z|{zz{{z{zz{{z{{{{{z{yzzzyz{{z{|{{{z{{zzzzz{{{{|{|{z{z{{zz{|{{{z{|zz{zzzz||z{{|{|{zz{{z{{z{{||{{|||{{{{z{z{{||{|{|{{{zz|{{z|{{|{|{|{zzz{{{{|{{{{|{{{{z|{zz|{{|}||{{{|{{{|z||||{|}{{{z{{z{zz||{||z||{{|{{|{{|{|||{|{{|{{{|||{|{|{}||{|{|{z|{|||||}}{{{{{{{|||{||||{||{z{{{|||{||||{|{{z|||{{{{{|||||{|z|{z||{||{||||z{{{{{{{{{}||{|{z{z{z{z{{{z{z{{zzzzzzzz{{{z{{||{{{zzzzzzz{{{{{{z{zzzy{y{{{{z{|{{{{{z{zz{|z{{{{{{zzyz{yyzz|{|{z|{z{zzzzz{{{{{{zz{{{z{z|zz{{{z{{{zzzzy{z{{zz{{{{{zyzzzy{zz{|{}{{|z{zzz{zzzzzy{{|{z{zzz{{zz{{{z{{z{{z{zzz{{{zyzz{{{{zzz{{{{yz{{{{|yzyz{{zz{{|{{{|{zzzzzy{{|{z{{{|{z{zzyz{{|{z{{{{|z|{z{{{{{{{z{{|{{{{{{{{z{|{||}{{{zz{zzzzz{~{{|{|{{{{{zz{{{{{{{||{|z{z{{z{||}|||{z{{|{z||{{{|{|||{{{||{{{||{|||{{{{{{|z{{{}{{{{}{|{{zz{{|{||{|||||{|z{{||{|{||}|{zz{{{{{{|{|||||{{{{z|{{z{{|||{||{{|{{z{{||||{{{|{{{{zzzz{|{|{|}||{z{{z|zz{{{{{|{{{zzz{{z{{z{{|{zz{yz{zy{{z{z{|||z{{{{z{z{{z{{{|{zzyzz{zz{z{{{{{z{zzz{zzzz{{{{z|{{{yzyz{z{{{{{{{{z{zzzzzzzz{{{{{{{z{{zzzxz{{z{|{{zy{z{{zy{{{z{z{|zzz{{zzzzz{{z{|z{{y{zzyz{{{z{zz{y{zzyyzyzz{{{{{{z{zzz{zzz{{z{{{zy{zz{y{{z{{zz|{{z{{zz{{z{z{{zz|{{yzz{z{{z|{{z|{|zzz{zz{{|{{z{|{|{zz{zyz{{{z|{||||z|z{z{{{{z{|{|{{{{|zzz||{{{{||z{z{{z{y{|||{{|{|{zz{{zzz{|{{|{||z{{{|{|{|{{}|{||{z{{zz{z{{{|z||{|{{z{z|z||||||{}{{{{{{{{|{{{||}||{z|z{{|{}{|}{}|{{{{{{z{||{|||}{{{{{|||{{{|{||{||{{{|{{{{|z|{|z|zzz{{z{{{{|{{z||{zz{{zz{z|zz{|||{z{{zzzz{{{||z{{z{{{yz{{zz{z{|{zzzzz{zz{{{{{{{||{{{{{zz{zz{{{||{{zz{{zz{{z||{{{{{z{zzzzzz{{{{{{{z|z{zyyy{{{zz|{{{y{{zzyzz||z|{{{zzz{zzzz{{z{{|{{zzy{zzz{zz{{z{{z{zzzzzyzz{{{|{{{{z{zzz{z{{zz{{{z{zz{zzzz{{zzzz{|zzy{{zzzz{zz||{{zz{{zz{z{z{{{{|{{{zzyy{{{z|{{{z{zy|{|{z{{{z{|{{|{z|{{zzz{{|||{||{{|{{z{{z|{|||{{{{{{z{{{{|{{{{|{{{{z|zz{{{{{{|{{{{{z{|{{{|{{{{||{{{{{{{||{{{||||{z{{{z{z||||{|{{{{{{{z|{{}|{||||zz|{{{{{{z|||||||z|{{{{{{||}|{}|z{||{zz{||{|||{{{{z{{{||{|{{|||||||{{{z{|{|||{|||z{{{{{z|{|{{{{|{z{z{z{{|{{{z{|{{z{z{{{{z{z{z{{{zzz{{{zzyz{|{{{{|zz{zyzz{z{{{|{|zz|yzzz{zzzz{z|zzz|z{zyzz||{{z|{{{zyyzzzz{{{z{{|{|{zzzzz{{|{z{{{{z{{z{zzz{{zz{z{yzzzzzyzz|z{{z{{y{zzyyzzz{{z{{{{{zz{zz{{z{{z{||{zzzzzzzzz|{{{{{|zyzy{y{z{{zzz{z{z{zzzzz{z{{{{{|{{zzz{zyzzz{zz|{{|zy{{zzz{{z{|z||{y{z{z{z{{||{|{|zz{{z{z{|{{{z{|{z{zz{zzz{z{z|{|{{{{{zzzz{{{{{{{|zzz{{zzz|{{z{{{{z{z{z{{{{{{{{|||z{{{{{{z{{{{{||{z{|z{z{{{||||||{{{{{z{{z{{||{|||{{{{z{{{||{|{||||{{{{|{{{}||{{|||zz{{{{|||{{{||{|{|{|{|{{|{{z{{}{{{{{{z{|||{{||{||zzz{{{{{{{{||||{{{z|zz{{{|{{{}zz{{z{{{{{z{{z{zzyz{{zyz{{|{zz{|zz{{zzz{z{|zz{{{{zyyzyzz{{{||z{{{zyzzzzzz{{{zz{{{z{zzyzz{zzzz{{|{yzzz{zyz{zyz{zz{{yzyzzzz{{zzz{z{|{zy{z{zzz{y{zz{zzzyzzz{zz{z{{y{zzzzyz{zz{{{{{z{zzzyxzzzz{zzz{{zzzzz{zy{{{zz{{{z{zzyyzz{{z{{{{{{{yzzzzzz{{z{z|{zz{zyz|zz{{z{{|{{z{{zzzz{zz{{|{||{z{yzzz|{|z{|{{|{zz{zzy{{z|z{{{{zzzz{z{{{{{{{|{zzz{{z{z{{{{{{{||{{{{{{z{{|{|||{{{|{{{{{{{{}||||{{|{{{{{{{{{|{|{{{zz{z{{{|||||||{{{z{{{{||{||{{|{{{|z{{{|}|||||{{{{z|zzz{{{{||{|{z{{z{z{{{{{{}{|{{yz{{{z{{{{|{|{{z{{{{{zz|{{{|{|{{zzzzzz||{{{|}{zz{zz{{zz{{{{|zz{z{zzyzyy{{z{{{{z{zz{z{zz{{{{z|{zz{y{zyy{{{{{{{{{{zz{zyzz{{z{{|{zz|zy{yzzz{zz|{|{zz{yz|yz{zy{|{{zzzyzzzyzz{|{zzz{yy|yzz{{yyz{z{{zzzz{zzz{{{zz|{z{zzzyzyzz{{z{||z{{zzzyyyz{{{{z{{yyyzz{zyz{zzzz{{z{yyzzzzzz{{z{zzzzz{zzzzzzzz{zz{z{zzy{zz{{{z{{||z{zz{z{zz{z{z{z{zzzzzzzz{{|{|{|{zzzz|zz{{{{{z{|{{{{zz{{{{z|zz{|{{yz{zzz{{|{{||{{{|{zzz{{{|{{||{zz{zz{{|{|{{}{{|}{y{{z{zz{{|{{{{{{zz{z{z{|{{{{|{|{z{z{{{{{{{||{{|{{{{z{z{|}z|||||{{{{{z{{||{|{{||{z{zzzz{{{{{|{|||{|{{{z{{||{{{||z{{z{zzz|{{|z|{{{{z{z{{{{{{|{{|{zzz{zzz{{{{{|{{{{z{{zzzz|{{{zz{zzz{{zzzz{z|{{{{{{z{{zz{z{|{{z||{zzyzzzyz{z|{zzz{zzz{zzzz{{zzz||{zzzzzz{{|{{z{{z{zzzzyzz{{z{{z{{|{zz{z{zy{{{{{zz|zzzz{yzzz{{z{{{z{zyzz{yyz|{{{z|{z{zzzz{z{{z|{zz|{zzz{zzy{{zzz{{{{{zzz{z{{zyzzz{{{z{zzzzz{{z{{{|{z{zz{yzz{{{z{{{{|{{zzzzz{zzz{{{z{z{zzzzz{{{{{{{{{{zzzz{zz|||{{{{{z{{{{{{{z{{{{{{{{{{{zzz{|{{{{{{{|{zz{{z{{{||{{{zz{yzz{{{|z{|{|{{{{{{{zz|{{{{|{{{z{z{{{{|{{{|||{{{{{z{z{||{}||||{{z{{{{y|}}||{|||z{{{{zz|{{z{{|{|{z{{{zzz|}{{||||{|{||z{|||||||{{z{zzzzz{|{{{||{{{{{{{zz{{{|{{{||{{z{{{z|{{{|{z{{zzzzz{zz{{z{z{{z{z{{zzz{{{{{{{{zzzzz{z{{|zz{||{z{zzzyzz{z{{zz{{{z|{yzzzz{z{z|{{{zzzz{{y{{zz{|zy{{zzyyzz{z{{{z{zz{{zyzzz{{{{z{{{{z{z{yzz{zz{{{{z{{zyzzzz{z{zz||{z{z{zz{z{zz{zz|{{zzzzzzzyz{zzz{{z{zzzzzzz{{zz{{{{z{zzzzz{z{{z{||{{zzzzz{{z{{|{{{z{{zzz{{zzz|{{||z{z{z{{{{{{{|||{{|zzzzzz{{z{z|{{z{{z{z{z|{{{{{{|{{|{{{z{|{{zz{|{|{{z{{{z{|{}|}{|y|zz|z||{{{|{{|||{{{{{{{{||{||||{zzz{{{z{|||||{|{{|{{|||{|{{||||{|{{{{{{{||}||}||z{{{{{{{{||{{|||z{{|{{{{{||{|{}{{z{|{|}{{{|{|{|{{zz{zzzz||{{|}}|z{{{{{zz{{|{z{{{{z{zzy{{{||{|z{zzzzzyyzzz{{z{{|z{zzyzz{z|{z{{|{{y{y{z{zz{{{{{|{{{{zz{zzz{{{z{{z{z{zzzzz{z{{||{z{zzzzzzz{{|{z{{|zz{zzzzz{{{{{{z{zzzzyzzz{{z{z{z{{z{zyyzy{z{|zz{{z{zzyzyz{{{{{||zzzzzzy{zzz{{{{{{zyzzzxzz{zzzz{{{zzz{{zzzyz{{{{{|zz{zzzyzzz{y{zz|{z{{{y{z{{{{{{{{|z{zzzz{z{{{{{{|{zzzzzzz{|{|z{|{{{{{z{{{{{{{{{{{{z|{yz{{|{{{{|{|{{{z{{z{{{{{{{{{|{{{{z{{{z||{|||z{{zzz{{|{|}||||{{{{{zzz{{|{{{|{|z{{{{z{{}||{{||{{z{{{|{{{|||{{||{{{{{z{z|||{{|{{{{{{{{|{{{{||}||{{{{z{z{{{{|{{|{|z{{yz{{{|{|{{{z{{z{z{{z|{|{{{|{z{z{{{{|}{{{|}|{zzz{{{{{||{{zzzzyz{{{zz{|{{|{{|{zz{{zzz{||{{||{zzzz{zzy|{{zz{|{{{z{z{zz{{{{{{|{|{zzzzzzz|||{{{{zz{{zz{z|{z{z{|{|z{zyzz{{{{{z|{{zzzz{zy{zzz{z{|{zzzzzzzzz{z{z{{{{zzzyzzz{zzz|{{{zz{zyy{z{{z||y{{{y{{zzzzy{z{z|{{{zzzyzz{z{{{z|{{zzzzz{{{{{z{{zz{{z{{{z{|{{|z{{{|zy{zzzy{z{{{{{||z{{zzz{z{z{{{{|{{{{{{y{z{|{{{|z{{zzz{{zz{||{z{{{{{z{{zzz{{||{|{z{|zz{{{{{{{|||}{z{{{|z{{||||||||{z{{{zz{{|||{|||{{{{{{{z|{}|||||{z|{{{|{z}{|||{{|z{{{{||{||||}|{|{{|y{z|{{||||{{{{{zz{{|{|{{|||}{{{{|{|{{z|||||{{zz{{z{{{|{|{{|{|{{{y{{{{||{{||}{z|z{z|{z{{|{|{z{{{zzzz{{{|{||{{zzzyy{zz|z{z|{|{{zzzyz{zzz{{{{||{z{{zzyz|{{|{z|{z{{yzyzz{{{{{{||{zz{zzzz{{{z{|{{{z{y{z{z{{z{z{{{{zzzz{{z{|{|{{{{z{zzz{zz{zz{z{{|{zzzyzzz{{{z{{{{{{{zz{zz{{{z{|{{{{yzzz{z{z{z{z{{zzzzz{z{y|z{{||{zzzz{{{zz{{z{{||zz{z{{z{||{{{{|{{{zzz{zz{{{|||}z|{z{||{z{{{|{||{{|z{{z{{{{z{{|{|{{zzzzzz|{||{|||{|zz{{zz{z{|{|{|{{z{|z{{{{|{{|||{z{z{||{|{{|{|||{{z{{{z{{{{||{|||{{z{|{z||||{|{{zzz{{|{||||{{}}|}{{{z{{{|}||{||||z|{z{{{{||||}|{|{{{z{{{||{{{||||{{{z{|{{|{||||{{{{{{{z|||{|{{||||{{{{{{||{{{{}z|{{z{z{z{||||{|zzzy{yzzzz{zz{{|{zz{{z{{z{zz{{|{|{{zzzzzz|{{z{{|{{zzz{zz{z{{{zzzzzzzzzzzz{{z{{{{|zzzzzz{zz{{z{{{z{z{zzzzzzyzzz{{zzz{yyzzzzzz|zz{|{yzyz{zzz{zz{{zz{zz{zyzzzz{{{z{zz{{zz{yzz{{{z{{{{yzzz{zyzzzzz{{zz{zzzzzzzzzz{{{{zz{z{zzzz{{zz{{{z{zy{zzz{{{{{|{|zzz{zzz|{{{z{z{|zz{z{yzzz{z|{{|zzz{z{zzzz{|{||z{|{yzz{zz|{{z{{|{{{{{z{{{{|{z{{{{{z{zz{{{{|{|{|{{z{{{{{{{{{{z{{|{{{zzzzz{{{{|{|{{{zz{{{|z{|}z{{{|{z{{{|{|{{{|||{||z{{{{{z{|{|}{|{|{{z{{{{|{{||{z|{{{zz{{{z||{|{{||{{{|zz{{{{|{{|{{z{zz{{zz{{|{{|||{{|z{{zz{|{z{|{z|{{{zzz{{|{|{{|z{|zyzzz||z{{{{{{zyzzzzyz{z{{{{|{z{zyz{z{y|y|{{z{{{{zzzz{{{{z{{{{yyyzzzy{{{{{z{{yz{zz{yyz{{zz{z{zzz{z{zy{z{z{{{{zzzyz{yz{yz{z{zzzzzz{yzzz{{z{{{zz{{z{zzzzz{{z{|z{zzyyzzzzz{z{{{{{yzzzyzzzzyyz{{{{zzzzzzzz{{{{{{{z{{{{{zz{{{{z|{|zzyy{zzy{|z{{{{|zz|{{{zz{z{{{{|{{{{{yz{{|{{{{z{zz{{zzz{z{{{{|{{{{{z{zz{zz{{|{|{{z{{{zz{|{{{zz{|zz|{zzzzz{{{|{||{{zzz{{{{|{{{|{||{{{|{zzy|{{{|||{||{{zz{{{|{}|||{{z{{|{{{{|{|{||{|{{{{{{{||{||||{{z||{{{z||{|{{{|z{z{{z{{|{{{|||{|z{{{zz|{|{{{{|{z{{y{{{z{|{||{||{{z{{{{zz{{{{{{{{zzy{z{z{{{|z{{zz{zzzzzz{{|{{{{{zzzzz{zzz{{{|{{|{{{y{zzz{|{{z|z{{yz{zzz{zz|{{z|{{{zzyzzz{{{{{z{{{zzz{z{yz{zz{|{{z{zzz{zzz{{{z|zzzz{zyzzz{{z{z{{{zyzzzyyzz{{{z{z{{zzzz{zz{z{{|{{{y{zzzzzz{{zzzz{{zzzzzyzzz{{{|z{{z{{zzzzy|{{{{|{{zz{zz{zz{|{{{|{{{z{{zz{zz|z{{z||zzz{zzzz{z{{{{z{{|{yz|zz{{{z{{{{{{{y{z{zz{{{{{{{{{{zzzz{|||{{|{y{{{{{z{z{{|{z|{|{{{{{|z{{z|||{||{{{z{{|z{z|{{}{|{{{{{{y{||{{{|||{{{{{{{|{{{|}{||{{{z{|{{{||{|z|||zz{{{{{{|{|{{||{{||zz|z}{|{||||}{{zz{{{{{{{||||||{{{{{{{{{||||{zz{{z{{{{{{{|{||z{{zz{{z{|||{{{|{{{y{z{z|{{z{{{{zzzzzzyz{{{{z{{{{{zz{zzyz{{{{z{{{zzzz{zz{z{{{{{z{{{zzzyz{z{{z{{{zzzyzz{y|{z{zzz{{z{zzzzz{|z{zzz{zz{y|zzz{{{z{{z{{zzzyzzz{yz|z{{{zzzzzzyz{{{z{z{zzzzzzzzzz|z{{{{{{{zzzz{zzz{{{{{{z{{zzzzzz{zz{{{|zy{z{z|z{zz{{{|{yzzzzzyz{{z{{{{{{{zzz{z{{zzz{z||zz{z{zzz{z{{{|z|z{{z{{zz{{|{{{{{{{{z|z{{{{{|{{|{zzz{z{zz|{{{|z|z{y{zzz{{{{{z{{{|{z|z{{z{z||{|||{z{{z{z{{|{z|{||||{|{{{zy|||{||{||zzzz{{z{}{{{|{{||{|z|{|{|||}|{{|{{{z|z{z{{|{|||{{{}zz{{{{|}|||||zz{|z{{|{{{|||{{{{{{{{{}|{||{{{{|{z{{{z{{|{||{{|||{zz{zz|{{{z}{zy{z{y{zzz|{zzz{zyzzz{zz{{{{|{{zzzzz{zzzz|z{|{{|yyyz{zyz|{z{|{{{{z{zz{zz{z{{{{{{{zzyyz{y{{{{z{z|yzzzzyzyzzzzzz{{zzzz{zy{{zz{z{{z{zzzzzzyz{z{z{{{yz{zzyzz{{zyz{{zzyzzz{y{z{z{{{{zzz{zyzyzzzz{zz{{zzzzzyzyyyzzz{{z{{zyzzyzz{zz{{|{z{y{zzzy{{z|{{|{zz{zzzyyz{zz{{z{{zzzyzzy{z{{z{{{zzzzzy{{{zy{{||{zz{z{yzz{z{{{|{|z{{z{zz{z|{z{{{{{zzz{zy{z|{z{||{{{z{{|{{{|{|{||{{{{z{z{z{{z{{||{|{{{zzzz{{|{|{|{|z{zzz{{||{{{|||{{{z{{{{z{{{{|{{|{{z{{{{{||||{|}{z{{{z{{||{|{||{{|zz{{{{{|{{|{{{|{|{{zz{z|{{|{y|zz{zzz{z{{{{z{|||{z{zz|z||{|{{{zzz{zzzzz{z{||{y{{yzz{z{zz{{{z{{{zyzzyzzz{{{{z{{{zzzzz{{zzyzz{{{{zz{{zz{z{{{{{{{{{y{zyzzzz{{{z{{|zzzz{{y{{{zzz{z{zyzzzyzz{z{zz{{{{yzyz{zz{z{|z{zzzzzzzzzzz{zz{{{zzz{{z{yzzy{zz{{{{yzzzyzz{z{zzz{|z{zyzzzzzz{{z{z{{zzz{zzyy{zz{|{z{zzzzzzy{{{{{y{{{z{z{zzz{z{zz||{z{yz{z{z||{{{{{|z{{{{z{z{}{{{||{{{z{{zzz{{{{{|{zzz{zzzzz{{{{|{|{|zzzy{{z{z{{{{{{{z{{y{zz{{{{||{{z{{||z|{||{{z{|{z{|{{{zz{|{{{}||{z{{zz{{{{{z||}|{{{{{{{z|{|z||}{{z{{z{z{{|||||{{{||{{z|{|{|||||{|{{{{y{{{|{|{{{{|z{{{{{|{|{||{{|{{{{z{z{{|||{||{{z{{zz{z{|z{{{{{|{|z{zz{zz|{{zz|{z{|zz|zz{|z{z{|zzzzzzzz|{{z{{z{{{{zz|{z{z|{{|{{{z{zzz{{{{{zzz{{{z{zzz{yz{z{z|{|zz{z{z{yz{{z{{zzzzzzzzy{{{{{z{{{zzzzzzz{z{z{z{|{zzzy{y{zz{z{{|zz{zzzzzzz{|{{{{z{z{{yzzz{z|{z{{{{{zzzzyzz{{zzzzz{|zzzzzzzy|z{{zz{zzyyzzzzz{{{z{||zz{z|yz{{zz|z{{{{z{zz{{{{{z|{{{{zz{{z{zz|||z|{{|{{{{z{{{{|{{{|{zz{zzzzzz{|{{{{||{{{{z{zz{{{{{{{||{{{{{{{{{{|}|}{z{zz{{{|{|{|||{}z{{{{{{|z|{{||}{{z{{|z{{||}{||||z{{{{||{z{||{|{|{{{|z{{{z||}{z|||{|{{zz{{|||z{||{{z{{z{|{{{{||{|||{{|{{{||{|{|||{{zz{{{z{{{|{{|{{|{z|{{z||{{{||{{zyz{yz{{{{{{{z{zyz{zz{zz|{{|{{|z{{{zyzz{z|{{{{||{zzz{zz{{{{{{|{zz{zzz{{z{{|{{{{{{{{z{{z{zz|{{{{z{zzy{zz{{{zz|{{|{zz{zyz|{|{z{{z{zzzzzzz{{z{{{z|zz{{{zzzz{zz{{|{zzzzzzy{z|{{{{{{{{zzz{zzzzz|{z|zz{zyzzzyy{{{z{|{z{zy|zzzz{z|||z|zzz{{{zyz{{{{{|||{z{{z{{z{{{|{{{z{{{z{z{{|{{{{|zz{zz{z{z||{{{{|{|{{{zz{{z|{{{|{{{y{zzzz{{{{{{{|zzz{{z{{{{|{{{||{{z|{|{|{{{||||||{{|z{{|{|{{}{{}|{{{{z{{{|||{{|{{{{{{{{{{{{|{{||||{{{||||||{{{||{|{{{{|z{{|{|{{|||{||{{z{{{{{}||{|{|z{{z{{{|||{|{{z{z{{{{|{{|||{{{{{zz{{{||{|{|||z{z{{z|{{{|{||{|{z{zz{{{|{{|{{{{zzzz{zzzzz{{{{z||zzz{zyzz{{z{|{|{yzy{{{yz{zz|{z{{z{{{zzy{z{{zz{|{zzyz{z{zz{{z{|{{{zz{{zy{{zzz{{z|z{zz{y{{z{zz{zz{z{z{zzyy{yzz{{zz{{yzzzyzzz{z{z{zzzzzzzz|{{{}{|{{zzzz{z{zz{{{|{z{zz{{y{z{{{zz{z{z{yz|z{zz{z{{{{{{{{{z{zz{{{z{{{|zz{{{{zzz||{{{|{zzzz{zzz|{|{{{|{{z{{zzz{|{z{|{{|{z{z{yzz{{{|{{z{{|z{{{z{{|||{{|z|y{{z{{{{|zz|{{|{z{{{{{|{{|||{{{z{{z{|{{{{|||||{{|z|{zzz{|{||{|{|{{z{{{z{{|||}||{{{zz{{z|{{{||{|{{{{|{{{{|||{||{|{{{{yzz||{{|{{{{{{|{{{{{{{{||||{{z{{{z{||{||{|{{z}z{{|zz{{{|{}|z{z|{{{z{}{zz|{zzy|zzz{{{{{{||{{z{z{y{zzz{{zz{{{{zzz{z{z{z{{{{|{{zzzz{{{|z{{|{|{zzzz{{yz{{{{z{{{zzz{yzzz{{z{z{z{{zzzz{zzzz{z{{{{z{z{{yzz{z|{{{{{{zzzzzyz{{z{z{{{zzz{zzzz{{{z{|{zzzzzyzz{z{{zzz{{zz{zzzyzzzz|{{|{zzzy{zzzz|{{z{{{{{zz{{yzz{zzz{{{{zzzyzzy{z{{{z{{{{zz{yz{|{{{{{{{zxzz{zzzz{||{{|{zz{z{{{z{{{zz{|{{{{{zzzzz{|z|{{z{{{zz{{z{|{{{{{{|z{z{zy{|{z{z{{{z{{{{zzz{{||{{{{z|{z{{{z{{{|{||||zz|z{{{||{||{||{z|{|{{{|||{||{|{{{{z||{{{z{||{|{z|{zz|{{{{|{||||{{{||z{{{||{}||{{{{{{{{{||{{{{||{{|{{{|{{|{{{{{z{{z{{{{{{{{{{{|{{{z{{{z{|{{|}{{{z{{{yzz||{z{||z{{zzz{{z{{|{{{{|zzzz{{zz{z{|zzz|{zz{z{{z|{{z|{|{zzzzzzy{z{{{{{{||{{zzyyy{{{|{|{{{z|zz{zzz{{{{{|z|z{{z{{zz{{z{{|zz{zzz{{{{{z{{|{|{{zzzz{zzzz{z||{{zzz{{zzz{z{{|{{{yzzzz{{{|{|||{{zz{{zzzzy{{{z{z|zzzz{z{z{{{{||z{{zzyz|z{z{{{{z{|{{z{{{{z{{|{{{z|zzz{z{{z{{{z{|||yz{z{z{{{{{||{{}z{{{{{{z{|{z{|{{{{{z{z{z{|{{|{|{{{{|{{{{|||{{}{||z{{{z{z|{{|||{{z{{||{z|||||||||{{{{{{z{{{|{}||}|{z{{{|{|}{{|}}}|||{{{||{|||{}|{|{{|{{|{|}||||||{{|{{{{z||{|{||||{{z|{{{{{|}{}||{z{{z{{{|{|{||||{{{{z{{{{{}|{||{|{{|z{{zz|{{||{{|{{{|{{{{{{{{z{|{y{yzyyzz{z||{{|zzy{{z{z{{|{{{{{{zzz{z{z{zz{|{{{{z{zzzz{z{z|{{{{{zzzyz{z{{{{|{{{zzzyz{zzz{z{zz{{zzzzzzyz{{{zy{{{{zyzz{zz{zz{z{{zzzzyz{z{{zz{{{{zzzzzzzzy{|{z{z{z{z{yz{zzz{|{{z{{{zzzz{{zz|zz{zz{{zyy{z{z{zz{zz{{zzzzzz{zz{{{{z{|{zzzz{{|{{|{|z{{{{{{z{{z{{{z{|z|{z|zy{{{z{{{z{{{zz{zzz{zz{||{{z{{z{{|zz{{|{{{{|{z{z{{zz{{zz{||{|{{{{{yz{|{|||||{z{|z{|{z|{{{|||{{zzz|zzz||{z|}{{{zz{{z{{{||{{|||{{|{z{|{{{z||||||{{zz|{{{}|||{{|{{|{y{{{||{||||{{{{z{z{{|{|{{|{{{{{{|{z{{{{{}|{|{{{z{|{{z{|{|}|{|{z{{zz{{|{{|{||{{{{zz{{|{{{z{y{zzzzzzzyzz|{{z{zyzzzzyyz{{{{{{{z{{zzzzz{zz{z{{{{z{zy|zz{z|z|{z{z{{{yzzzz{z{|{zz{z{yzz{zz{zzzz|{yz{zy{zzzzz{zz{z{yzzyzzyyzzz{z{z{{{y{yyyz{z{zz{z{zzyyzzzzz{{{{{|{zz{zyzyyzzy{zz||zzz{yzzzy{zz{{{{|zzzzzz{z{zz{{z{{yzzzzzy{{{z{{|{{zzzzzyzz{z{{{z|{{z{zzzzz{{{z{{|zzy{zzzz{{{{{{{{{z{{zz{zz{{{||{|{y{{z|z{{{|{|{|z{{z{z{|{{|{z|{{{{{{{{{z{z{{{{{{{{{|{zz{z||{|{|}{{{{{{{{z|{|{{|{{{{{z{z{z||{{{|{{|{{|zz{{{{{{{||||{z{{{{|{|{||{{{{z|{{{{{|z||{{|||zzz{zz{{{|}{{|||{{{{{{z{{|{|||{|{{y{zzzz|{{{||||{{{z{{z{|||z{{|zz|z{zz{{{{{z{{{|zzzzzzz|{{{{{zz{{zyzyz{|z{z{|{|zzyxz{zz|{{{|{{{{zzz{zz{{z{{z{{|zz{zy{zz{{{z{|{{yzzyzzzzyz{{z{{{zzzzzz{zz{|{zzz{zz{zzzz{{{{{{z{zzzzyzyzz{z{{{|{|zzzzz{zzz{z{z{{{zy{zz{z{{z{{{{{{{{zzzyzz{z{{z{{{{z{z{zzz{z{zz{{{zz{z{zzzzzz{{{{{{z{{zz{y{{|z{|{|zz{yzyzy{{{z|{{|z{{zz{{z|{|{{{{|{{zzzzzzz{|z{{{{{zz{{{zzz{{{{z|{z{{z{z{z{{{z{|||{{z{{{zz{{{|||{}z{{{{{{{{{|{{||{{{zz{zz{{{|{{{|{{zz{z{{{{|{||{}|z{{{{{{{{|{{||}{|{{|z{||z|{||}|{||||{{{{{||z{{}{{{{z{zz{{z{||{{|{{{|zz|||||{{{{|zz{y{{|z{}{||{|||{{{zzzz{z{{{|z{{{z{zy{zz{{{z{z{{zyzyzy{yz{zzzzzzz{{zzz{z{z{z|{{{zzzzzzy|{z{{{{{zy{zzz{z||z{z{{{{z{yzzzzz{zz{{{z{zzzzyzyzzz{{{{zz{{y{{{zzz{zy{{{zz{z{yy{zyy{z{zz{zyzyyzz{z{{{{{{zz{zz{yzz{{z{zz|zz{zzz{z{|{|{{{|zz{zzzzz{{{{{{{{{z{zyyzyz{{zz|{{{zyzzz{zzz|zz{zzzzz{zyyzz{{{|{{|{yz{{z{{{zz|z{{{z{zzzz{z{z{|z{||{{{{zzzyz{|{{|{|{z{{{z{{{{|{z{{|{z{z{zzzz{zz{||{{z{z{z{{||||{|{|zzz{z{{z|{{{|||{z{z|||zz{{{{|{{||zz{{z|{{}|||||{z|z{{{z{{|{{{{|||z{{{{{{{|||{|||{z{|{z{{|{{{|{|{{{{{|{{{{{{{|{|||{{{{zz|{{||{{{|{{{{z{{zz{{{||}}{zzz{zz{z{{{z{|{{|{zzzz{z|{{z{{{zz{zzzzzzz{z{|{{{zzyz{yzz{z{{{{{zzzzzzzz{{{z{{{{zzzzyy{zz{||{{{{{{yzzzzy{{|z{{z|zzyz{yzzy{yzz{{{zz{{y{zyzz{zy|zz{zzzzzyyyyz{{{|{y{zyzzzzz{zz{{|zzzyyzzyyzz|z{{{zz{zzyz{zz{{{z|{{zzzzzzzzzzzz{z{zzzzzzzzzz{{{z{{{{zz{z{y{zzz{{{{{{zzy{zz{z{z{{{|{yz{z{zz{|{{z{|||y{{{{{zz{|{{{|{{z{{z{zzzz{{{|{z{z{{{zzzzz|{z{{{{{zyy{zzz{{{{{{z{{{{zzzzzz{||{||{{{z{{z{{{|{{||{|{{{{zzz{{||{|||||{{{{{{{||{|{{||{||zz{z{{{{{{{{}{z{{zz|{|{}{{{{||z{|{||{|||{{{|{{z{zz{{z{{z{{||||{{|{zzz{{{{|{{}z{zzz{{{{{z{{{|{{{{z{z{{{|{{z{z{z{|{{{zzz{{{zzzz{z{zzzzzy{{{{{z|zzzzzzzy{zzz|{{|zz{yzzyz{{z{{{|{zzyzyzyzz{{zz{|{{{{yz{zy{z{{{{z{zzzzzyzz{{{{{|{z{zzzz{zz{y{zz{zzyzzzzyzz{z{{{z{|zyzzyyy{z{{{z{{{zzzzyzyzz{{zzz{z{z{yzyzzz{zy{{|z{z{z{{zz{z{z{{z{{z{z{zzzz{zzz{{{{z{zzyzz{|z{z{{z{zzzy{yz{{{zzz{|{{{{z{{{{{z|{{|{{zy{zz{zzzz{|{|{{z{z{y{zz{z{{||z{z{{{{z{{{{{|{|z{z{{z|zz{|{{{{{|z{{{{{z||{||{{|{z{zz{{|z||{|{{||{{zzz{zz{||{|{{|{z{z|{{{||{|{|{|{{z{z{{{{{|{|{||{{z{z{zz{|||{{|{{z{|zz{z{|{||||{{|{|{z{{{z{|{{||{{{{zz{|{{{{{{|||{zy{z{{{{{}|{{{{{z{{zzz{{z|z{{{z{{zz{zz{{{{zz{zz{zzzyzz{zz{{{z{zz{yzzzzy{|{{{{|{zzyyz{y{z{{|{zzzzzyyz{z{{{|z{{|zzzzzz{zz{{{zzz|zz{z{z{zz{{z{|{z|{zyzzyzzz{{z{{{{zzyz{yzzzzz{{z{zzzyzz{zz{z{z{{zzzz{zzzz{{{{{{{{{z{zy{{z{{{z{z{{|zzzyyzyy{zzyz{{z{zzzzzyz|{{{|{|zzzzzzz{z{{z{{|zzzzz{zzz{z{z{{{|zz{{zyz{|z{{{|{|z{zyzzz{{{{|{|z{z{z{zz{zz|{zz{{{{zz{{zzz{{{{{{{zz{zz{{{{{{|{{zz|{{{{z{{{{|{||}}{z{z{|y|{{{|{||}{zz{z{z{z{{|||{{{}{{||{{{||{{|{||{z{{{{|{{||{||{{{zzz{{{{{|{|{}}|{{|{{{{{{{|{||{||z{z|{{z|{|{{{||{{{{{{{{{||{||{}z{{zz{|{{||||{||{|{{{z{{{{{{||{{{z{{zzyz{{z{{|{{z{{zzz{yz{{{{{|{{{zz{zzzyz{zz{||{zz{{{{z{{zz{{|{{zz{zzz|{{z{{{{{{{zzz{zz{{{{z{z{zzzzzzzzzz{{{{{{zzy{zzzz{{zz{zzz{z{zz{zy{{z{z{{{yzzz{yzzzz{{z{|{zzyz{zz{zz{{||{|{zzzzzzzz{z{zz{zzzzz{zzzz{y{z{{{{{zzzy{zz{zz{{{|zzz{z{z{{{{z|{{{{zz{{z{{z{{|{|{|{yzz{{{z{z{{|{{|{{z{zz{{||{|{{|||{{{|z{z{|{|||{{{{zz{zy{|{{{{{{{{{{{{z||{|{{|{|{{{z{{zz{{{{{{|{|{{{{|z{{z}{|{{{{{{{||zz{|||{|{|||{{|||{{|||{{||{{||}z||z{|||{{|||z|||{|{|}|||{||{{|{{{zz||||{||{|zz{{{{z{|||{{|||{{{{{z{||{||}{|{{{{z{{{{{{}{{{||{{z{{zz{|||{||{|{|{zz{{{{{{|{{{zz{z{zzyz|{zzzz{zzyzyz{z{{{{zz{|zz{zz{zz{z{{{{{zzy{z{zzzz{{{{zzzyzzzzzzz{z{{z{{{zzzzzzz{z{zz{zzz{y{zzz{zz{|z{z{|zy{yzzyzzzz{{zz{{zzzzzzy{{{{z{{zzyzyzzz{{{{z{{{{{yzzzzzzy{{|z|{{zz{y{yzyz{{z{{{{{zzzyzzyzz{zz{{|zzzzz{zz{{{z{{{zzz{zzz{{z{zz{{{|{zzzzzz{|{{{|{{{yyz{yz{z{{z{{|{{z{{zzzz{z|{|{{{{{zz{zz{z{{{z{{{{{zz{{{zz{{{{z|{{{||zzz{{{|{|{|{|{{{z{{z{{||z{z{{{{zzzz{z{|{|{||{{{{{{{{z||{{{{|}{{{z||z{z{{{{{||}|{z{{{{{}||{{{{{{{{{{{z|{|{{||||{zz{yzzz{{|}{{{|{{|{{{{{{|{{||{{{z{{{{{z{{{{{{{{z{{{z{{z{{|{{{{{{zzzzz{{{{{{{{zzzzyzyzzz{zzz{z{{zzzzzzz{z|{{}{{{zzz{zyyzzzz{{{{{{zzzyzzyzz{{{{{yyzzzzzz{zz{z{zzyz{zzzzyzz{z{{{{zzz{yzzzz{zz{{{{zzzzzzyzzz{{z{z{zzyyzzzzz|{{zz{{{zzyxzz{zzz{{{{{{zzyzzzzzz{z{{{{zzyyzzzz{{zzzz{{{zzyzzzz{z{z{{z{zzz{z{zyz||{z{zzzzzz{zzzz|{{{{z{z{zz{zyz{{{{|z{{yz{zyzzyz{z|{{z{{z{zzzzzz{{{{}{{{{{z{zzz{{|z{{|{{z{{zzz{{{{zz{{{{zz{zzzzz{{{|{{|z|{{z{zz{|{{{{{{{{{{z{zz{{|{{{|{{{zz|{{||}{z{|{||{{zz{|z{|{{|||||z{{zz|{{}{{|z||{z{|z{|y||z{z|||}{{{|y{{{{{|{|||{{{{|{{{{|||||{{{{{{{zz{{{{{||{{{{{{zz{z{{{{z{{zz{zz{y{z{{{{{|{{zzz{zz{z{{{zz{z{{zz{zzyy{zz{z{{|{zz{zz{{{{{z|{|{z{zzzzz{z|{{{{{{{{{zzzzz{{{{{zz|{zzzzyzx{{{zz{|zz{zzyzzz{{{z{zzz{zzzzz{zzzz{zz{{z{{zyz{zz{{z{z{z{yzzyzzz{z{z{{{{z{{yzyyyz{{{{{{{zzzyzzy{zz{zz{{z{zzy{zzzzzz{z{|{yzzzz{{z{{{z{{|{{{{zz{zz|{{z{{||zzzz{yz{{{{{z|{|zzzz{{{{z{{{{z{{{z{zz{z{z{{zz{{|{{{zz{{{{{{z|z|{{{{{zzz{{{{zz|{z|{{z{z{zz{{{||{{|{{{z{{||{|{{|||{z{{z{z{{{{{{{{{z{{{z{{{z||{{|}|{{{{{||{|{{||}{{|{{z|{zz{}{|{||{|{|{{{{{{{{|{}|||zzz{{{{z{{{||{|{{{{|z{{|{|{{|{{{{{zzz{y{{{{z{{|{zzz{zz{z||{{{{|{z{zzzyz{{||{{{{yzzyzzzzzz{z{{{|{zyzzyyz{{{zz{{{{{zz{zzz|{{|{|{|{{z{zzyzzzz{zz{zzzzyzzzy{zz{{{|{|zzz{yzyz{zy{{{z{zzzzyyzzz{|{{{{zzzyzz{{{|z{z{{{z{zzzyyyz{{z{{z{zyzzzyzzy|{{{{{{zz{zzyzy{{{{zz{{zzz{zyzzzz{{{z{{yzzzzzzyzzy|{{z{zy{{z{zzz{z{{z{|z{{{zyzzz{{zzz{{yz{zzyzz{{{{z{{|yz{zzzzz{{||{{|{zz{zzy{{zz{|{{|zy{{{z{zz|{{{{z}|{zz{{z{yz{z{{{||{{|{{{zzz{|z}{{{{{zz|{{{y|{{{|z}{{{{{zz{z{||{||{z{{{zzz{{|{|{||||{{y{{{|z{{{||{||{{|{{z{{||||{|{|{|{z{z{|{{{{{}||{{{{zz{{{{{|||||{{{{{{{{|||{{{|{{{{{{{{{{|{|||{{{{{{{{zz{|{{{||z{{{|zz{z|{{{{{{z|zzzzzzz{z{zz{{{zzzzyzzzyzzz{|z{zzyzyzz{z{{{{{{{z{{{y{zy{zzzzzz{zyzz{zz{{{{{|z{{zzzzzzzz{{zzzzz{zyyzyyzzz{zyy{{{{zzzz{{y{z{{zzyzzyzzy{zz{zzzz{zzyzzyyyzz{zzzzzz{zzzyyzyzzzzzz{{zzyyzyzzzyzz{{{zzzzz{zy{zzzz{zz{zz{z{{z{zzz{{{z{zzzyz{z{zzzzy{z|{{z{zzzzz{z{{|{{yz{{yzz{{{{{{{{|yzzzzzzz{{z|{{{{z{{zzzz{{z|{{{}{yz{{{yz{{{|{{{{{{{z{z{z{{|{{{}|{zz{z{zz{{{{{{{}}zz{z{{z{{{|{{{{z{z{{{{z{{|||{||{zy|{{{{{{{{{{||{{|{{{zzz{|{{||||{zz|{{zz||{z{{|{{z{z{{{{{{{{{|||{{z{{z{{|{|{{{{|z{z{zzz|{{{{{{||{{{{zz{y{{{{z{{{{{{{z{{{{{|z{{{{zzyzzyzy{{z{{z|z{z{yzyzz{z{{{z{{{zzyzzzyz{zzz{{{{zzzyzyz{{{{zz{{{zzzyz{zz{{zzzz|z{yzz{zyzzzzz{{{z{z{zz{yz{{{z{z{zzzzz{zzzzz{z{{{zzyz{yyzzz{zz{{{zz{zyzyz{zzz{z{zzzzzyyyz{{{{z{z{zzzzyzzzzzzzz{{zzzyyzyyzy{zzy{z{{z{zz{zyz{z{z{{{{zzzzzz{zzz{zz||zzzz{yzz{{{zzz{|yyyyyzzzz{{{{z{zzz{{zy{z{|z{z{|zzzzzzzzy||{z||{{z{{{{zz{{{{{{|{{{|z{{zz{{{{{z{{{zz{z{{zz{{{|{|{{|{z{z{zzz{{{{{|{zz{z{zz{{{|{|z||{z|y{z{|{{{{{{|{|{z{z{z|{|{||{{{|{{{z|y{z{{|{{|{{z{{{{zy{{{||||{z{{z{{y{{{{{|{{{{zyzz{zz{{{{z{|{|{{{{z{z{|{{{{{|{z|yzz{z{z{z{|{yzyzzzz{zzzz{{z{{yzyyzyzzzzz||{z{{{{yzyzyzz{{{{|z{zzy{yyz{{{{zz{{{z{yzzzy{z{|z|z{zzzyzz{yz{z{{{{{zz{zzzyz{{{zzzz{yyz{zzz{z{zz{z{zz{zy{zyz{zz{zzz{yzzzzzyzz{{{{z{zyyzzzzzzz{zz{z|{zzyzzyzyzzzzz{zzzzzz{yzz{{zz{z{{z{zzz{z{{zzzz{{{{zzzzyzz{{{zz|{|{zzzzyzzz{{z{{{{z{zzzz{zz{{z{||{{{{z{y{z{{{{{|{{zzz{zzyz{|||{{|{{{zzzz{{{|{zz{{{{{z{|{z{{{{||{||z{{{{{{{{{{||{||{{z{{zz{{{|||{||{zzz{{z{{||{{{|{{{|zz{||{{|{|{|{{z{{z{z{{||z|{||{zzzz{{{|{|{|{{{{{z{{|z|||{{{{{||{{z{{z{|{{|{|{|{z{z{{{{||zz{{{|{{z{zz{z{||{{{{{zzzzzz{zzz|{{zz{zzzzzzzy{z{z{{{|y{zz{yzzzzzz{|{|{zzz{zyy{{z{{z{{{zzzzzzz{zzz{z|zzyzyzyzz{{z{z{{|{zzzzzzy{z{zz{{yzyzzzzyzzz{zz{zy{yzzzzzzz{zzz{{{z{zzzyzy{zzzyz{zzzzyzzzzz{{zz{z{|z{zzzzzy{{{{z{{zzzzzzyy{zzy{{z{{{zzzy{z{{zzz{{zzz{zzzzz{{z{{z{{{zz{zzyzz{z{{{z{zyzz{zzz|{{z{z||yzzzzz{zz{{{z{||z{zzzzzzz{z{{||zzz{zzzz{{{|z{{|{zzzzzzyz{{|z{{{|{{{{{zyz{{|||{||zz{{{{{{|{{{{{}|{zzz{z{{{z||{}{|{yz|z{{z{||{|{||{{{{{{|{z{{z{{|{{{{z{{z{{||{||{|{{{|z{|{{{||{{{|{zz{{{z{{{{{|{{}{{zz{{z{|{|{z||{{{zzz|{{|{{{|||{{zzzzzzz{{z|{|{|{zzyzyzz{{{{{z{{z{yzzzzz{z{{z{z{{z{zzzzzz{{{{{{zz{zz{zzz{{zz{z{zzyzzyzz{z{{|zz{{{zzzzyyy{|{z{{{{zz{zzzzzzz{zzzzz{zzzzzzz{z{z{zzz{{zzzzyzzzz{zzz{zzzzzzzz{z{{{{{zyzzzzzzzzz{z{{z{zzzzyyzyz{z{y{z{z{z{zzzz{z{z{{{zz{zzyz{zz{z{zzzzzz{zzzyz{zz{z{{{{z{zzzzzzz{{{{{{{zzzz{{yz{zz{{{|z{z{zz{z{{{z{{|{z{z{zy{z{|{zzz{{zzzz{{z{{z{{{{|{{zyzz{y{||{{{{{{|{{{z{zz{{|}{{{{{z|{zz{z|{||{||{|z{z{zzz|{||{{{{{z{z{{z{z|{{|||{{{z{z{{{{{z{|{{|{{z{z{y{z|{|{{{{|{{{zzz{||{{|{{{{{{{z{{{{{{{{{||{{{{{{zz{{{{{|{||z{zz{{{z{|z{{||zzzz|{zzzzz{{{{z{z{z{z{zz{{|z{{z{{zzz{zzzz{zz{|{{z{zzzyzzz{{{z{{z{yzz{z{z{zz{{{{{z{zyzzz{{{{zz{|z{{{{zyz{{{{{{{{z{zzzzzz{zz{{{{z{{{zzz{y{z|z{z{zz{{zzzzzzzz{{{z{{zyzzzzzz{{{{zz{z{zzz{z{zzzz{{{{{zzzzyyy{{{{{|{zzzzz{yzy{z{zz{{|zzzy{z{zz{zz{{{{{zz{yzzyz{z{{{||{zzzzyzzzz{|zz{{{{{{zyzz{{{z{{{{{zz{z{zz{{{{{{z|zyzzzzzz{|{{{{z{{{{{{zz{{|{{{{|{{zz{{z{{{{{z{{|{{{{{{|{{||{||{{|{{{z{||z|{{|{{|{{{{{|{{|{||{{{|{|{{{{zz{{{|{||||{{{{{z{{z|{{{{{{{{{z{z{{|}|{{{|{{y{{zz{z|{||{|{{{{{z{{{{{{|||{|{{|zz|{z{z{{|{{|}{{{zz{{z{{|{{{}{{{|z{z{z{{|{{|{{zz{zzzzz{||{{{{z{z{zzzyyzzzz{z{{{{zyzzzz{z{{z{{{{zz{{zzzz{{{{{|{{z{{zzzyz{{zzz{{zzzyzyzz{z|{z{{|zzyzzzzzzzzz{zz{zzzzzyyy{|zzz{{{zyzzzyzz{{{{z{{zzyzzyyzz{{{z{|{z{zzzy{zzz{zz{|{zzzzzzyyzz{z{{z{{zzyzyzzyzz{z{z|zzz{zyzzyz{{{z|{zzyzzz{zx{{{{|{|{z{zz{zyz{{{{{{{{{zz{zzzz{zy|{{{{zzzyzzz{{z|{{|{{{{{y{z{z{{{|{{{{{{{{{{{z{{{zz|{{z{zzz{zy{{|{{|{{{{z{z{{{{{{|{{{|z{z{{z{z||{{{{|{{{{{|{z{||||||}|{y{{{|z{{|||{{||{z{{{z{{{{{|{|{||{{{{{{{{|{||{||{z|{{{z{|{||{{||{zz{{{z|{|z{{z{}{{z{z|{{|{|{{||||{{{{|z{|{{{||z{{{z{{z|zz|{||{{|z{{zzyz{||{{{|{{zz{zyyzyzz{{{zz{zz{{yzyy{zzz{{z{zzzzzzzzz{z{{{{{{zzzzzyyz{z{z{{{zzz{{yyz|{{{yz||{z{yzzzzz{zz{{{z{yzzzyyy|{z{{{{{yz{zyzzzyyy{z{z{z{zyzzyz{z{zz{{{yyzzyyyzzz{zzzzzzzzzzzzyy|z{{{{{z{zz{yzz{{y{{{{z{zzz{zz{z{z{{{{{zzyz{{zzzz{{|{{zzzzzzz{z{{{{zz{{zz{y{yz{{{z{zz||{{zz{zz{zz}{{{{{{zzzz{{z{{z|{|{{zz{{z{zzz|{{{{|{zz|z{{yzz{{z{|{{}{{z{{zz{|{|{{{|{{{{{{z||||{{|||{zzz{{zz|{|{{{{{|zzy{z{{{{|{z{{{{{z{{{{{{{|{{||{|z{{{{z{||{{|{z||z|{{zz{|||||{{|{zz|{{z{|{{|{{|{{z{|z{z{{{|{|{||{zzyz{{{{{|{{{{}|{{{y{{z{{{{|{|{{{{z{y{{z{|{{{z{{z{zzzzz{{{{{z{|zzzyzzyz{{z{{{{zzz{zz{zz{{{{|{|{{zzzz{zz{z{{{{{{y{zzzz{y{{z{{{z|zzzyzzzzzzzz{{{{z{yzzzyy{|{zzz{zzzzyzzyy{{{zzz{{yz{zz{yzz{{{{{{z{zzzyzzyzz{{{{zzzz{zzzzzzzz|z{{{{zzxzzyyz{{zzzz{xzzzzzzz{{z{{{{{zyz{zz{z{z{{{{{{{zzzyzz{z{{z{{{{zzzzyz{{{z|{z{{|zzzzzzzz{{{{{|{zz{zzzyy{z|{||{z{{z{z{zz{z{|{{z{{{{{zzzzz{{{{{{{|{zy{{z{{{}||{|||zz{{{{{{{{{{{{{{{z{{{zzz{{||{||{{yz{{z{{|||{z{|{z{z{{{{{{|{{{||{{{z{{{z{z||{{|{{{{{{|{zz|{{|{{|||zzzz|zz{|{{|||||{y{|{{{{{{|{{|{z{{zzy{zz||{{{{|{zz{z{{zz{|{{{{||zzzzzyz{{{{{{|z{{zyzzyyz{{z{{{{{{yzzyzy{yzz{{{{z{zy{{zzzzz{{{{zzzzzyyzz{z{{z|{{{yzyzyzzz{{|zz{{zzyz{zyzy{{zz{{zzzzzzyyz{{zzzzz{zz{yzzyyzzyz{z{{zzzyzzzyz{{{{zzz{zzzzzyy{{{z{{{zzzz{zzzyyzz|{z{zzxzyzyzzzzzzz{{{|zzxzzyzy{zzz||zzyzyzz{zz{{zz{|{zzzzyyzzzz|zzz{|zzzzzzzz{{z{{z{{z{{zz{{z{{{z{{{{{{zzzyz{z{{{|{{{zz{{y{zzz|{{|{{{zzz{zzzz{{{z{{{{zz{{z{{|{{{{|||zzz{z{z{zz{{{{{{|{z{{z{{{|||||{{{{zzy{z{z|||{|||}{{{{{z{{z{{{{|{{|z{{z{{{{{||{{|{|{{zz{zy{|{|{||{|{zy{{{z{{{{||{{z{{{zz{y{|z|{|||{{{{z{z{{{{{{{||{zy{zzzzz{z{{{{zyzzyzzz{{{{z{z{{zzzzzzyzz{z{zz{{z{zzzyz{zzz{{{zzzzzyzz{z{{zzz{zzyz{yyzy{zyz{yz{z{yyzyyzy{z{{z{{{{{zzzzzyzy{{zzzzzzzyzzyzzzz{z|zzzzzzzyyzz{zyz{{{yzzzzzzyz{z{yy{zyzzzzzyy{z{z{yzz{zz{yzyyz{{{z{zzzzzyzxzzy|z{{{{{{zzzzyzy{z{z{zzzzyzzz{zz{z{{z{|{zz{zzzzy{z{{z{{{zz{zzyyzzzz{{{z|{z{zy{zzz{{{{|z{zzzy{zzz{{{|{{{zzz{{{zy{{{{{{{{zzyz{{|zzz{z|{|{||z{yzz{z|{{{|{{{zz{z{z{z{|{||z{}{z{{z{zy{||}z||{|z{zz{zz||{z||{|{{{z{{|{{{{|{|}{|{{{{{z||{z{|{||{zz{{zz{{{|{{z{{{zz{z{{z{{z{{||{|{{z{{{{{z{|{||}{zzz{{{{z{{{z{{{|z{{zyz{z{|{{{{{{{zzzyzzz{{{z|z|zzzyzzzyz{{z{zzzzzyyyzyzzy{zzz{{{{y{yyz{{z{{zz{z{z{zyyy{{{z{{{zzzzzzzyyyzyzzzz{zyz{yzzzyz{zzz{{{zzzyzzzyzzz{zzzz{zyyzzyzzyz{zzzzzzzzzzz{zzzz{z{zzyzzyyz{zyz{{z{{zzy{yzyzz{{{{{|{{{zzyzzyzzzzz{z{zzzyzyyzyzzz{{{{zzyzz{zyz{zzzzzzzzzz{y{yzz|zzzz{zzzz{yz{{{{z{{{|zzzzyy{yz{{zz{{z{zz{zz{zz{{|{{zz|z{zzz{{zz{z{{|{{{y{{z{z{{{{z|{{{zzzz{{{z|{{|{}{{z{z{{zz|{zzz|{|{zz{{{{z{{||}||{|yzz{zz{{|{{|{||{{|zz{{{{{{z{{||{{{{z{z{|{{|{{||{z{|z{{{{|{{{|{|{{{z{zzzz{{|{{}{{{z{|{z{{{|{|{{|{|z{{zz{{{z{{|}{z{z{zzzz{{{{{{||z{{zz{zz{z{|zzy{zzyzyzzyz{{yz{z{zzzyyzzz{{{{{z{{{zzzzzzzzzz{{zz{{{zz{zyz{{z{{z{z{z{zzyzy|z{|{{z{zzyzyzz{z{z{{{|zzz{zzyzzz{{zzzz{z{zzxzzzz{zzzz{zyy{|zz{yzz{zz{zz{zzyyzzzzz{{z{{zzzzzyyz{{{z{zz|{zzz{zzzzzz{y{zzz{zzyzyzz{zzz{zzzz{{zz{{yzzzzz{{z{zzzyzzzz{{zz{{|zzyyzyzzzzz{{{z{{z{zyz{zz{{z{zz{{z{zzz{z{{{{{{z{zz{{{yz{{z{z{z{z{zz{{zyz{{{zz{{z{zz{{{z{{{z|||{{{{{z{zz{|{{|{|||z{z{{zzz{|{||{|{{z{z{z{|{|{z{{||zz{{{z{|{{|{{{||{z{{||zz{|{||||{|zz{zz{{z{{{|{|{{{z{{|{z{{||||}{|{{{{{z|{{z{z{{{zzz{z{{{{z{zz|{||zzzz{z{{{{{|{|{{zzz{zzz{{{{{z|z{{yzzyz{y{{{zzz{{z{yzyzy{{{zz{{{zzzyzzzzz|{{{{z{{zzzzyzzz{{zzy{{yz{yx{{y{{{zzzz{{yz{yz{zzz{zy{{z{y{zzzzz{zzyz{{{zyzzy{yzzzzzz{zzzzzzzzyzzz{{zzzz{zyzyzyzy{z{{z{{zz{zyyyyzzz{{{zzyzyzyzyyy{yzz{{zzzzyyzzzzzzzzz{{z{zy{zzzz{z{z{zzzyz{zzzzz{{z{{z{{yzzzzzzzz{{{|{{zzzzz{zzzz{{|zz{zzz{{{zzz{z{{{z{{zzzyzy{z|z{{{{{zzzzzyzz{z{{z{|zzzzzz{zz{{{{{{|{{{zz{{{{{{{z{|{}{{z{{{zz{{{{{{|{{{{z{{z{{|{{||||z|zzz{{z{||{{{{{{zz{|{zz{||{z||||zz{zy|{|{{{{||{{zz|{zz{{{|{{{{{{{{{z{z{{{{{||{|{{z{{z{zz|z{{|{|{|{{z{zy{{{{{|{{zzzz{z{z{z|{{y{{zzzzyyzz{z{{z{{|zyyyzyyzzzz{{z{{zzyzz{yyzzzz{z{zzyzzzyzzzz{{yz{{zzzyy{zyzzz{z|{|zyzzyzzyzzzz{z{zzzzzyyzzzyzzz{yyyyyxyzzyz{z{z{{zzzzyzyzz{{z{z{{y{{zzyzxyzz{{zzz{zzzzyzzzzzz{{{|zzzzzzzzyz{{yzzzzzzyyzzy{zz{zyzzzzzzzzzzy{z{zy{{{zzyz{zz{zzzzz{z{{zzzzzzz{zzz{{{{zyzz{zzyz{zz{|{{z{yzzyzz{{{{|{{zzzzzzzzy{{z{{z|zz{z{zzzy{{{z{{{{{zzzzzyz|{{{{|z{|{z{{{zz|{{|z{{{{{{{zz{z{{|{{{|{zzzz{{z{|{{{{{{|zzz{z{z{{{{{{|{||zzz{z{{z{{z{|||{zz{{z{z{{{|{{z{{{|z{{zz{{{{|{|{{zzz{{zz{{{z|{z{{zzz{zzzz{|{z{|{{z{y{zz{z{z|z{|{z{zzyzzzz{{|{zzzyzzzy{yy{zzzzzzzyzzzyyzyzzzz{{z{zzzyzzzyzzzy{zyzzzzyyzzzy{{{yzz{zzzzxzzyzzzzz{{zzz{zyyyzzz{{yzzzzzyzzx{xz{{zz{zzzzyxzzyyzyzzyyzzyzyyzyzyzy{zzz{zzzyy{y{zz{zzz{zzzzzzzzyyzzzzz{{{zyyzzxyzyzzyzzzzzxzxzzzzyzz{z{z{zyzzzzzxz{z{z{{z{yzz{yzzzzzyzz{zzzzyxzzyzz{z{{z{zzzzzzy|y{{zzzz{zzzzzzz{{{{{zz{zyzzyy{zz{zzz{{||zzz{|z{z|{zzz|z{{z{yz{zz{{{{{{{{z{{zz{{{{{{{{|{||zzzz{y{{|z{|{{z{z{z{{zz{|{{z{|{z{{z{z{{{|{{{{{|{{zz{|zz{}|{{{{|{zz{zz{z{{zz{|z{{z{z{zzzzzzzz||{{zzzz{z{zz{{{|{|{z{y{z|y{{{{z{z{{{z{yz{y{{{{{z{{{z{yy{{yz{|yzzzzzyyyzxzzy{zzzz{zzzyyyyzy{z{zzz{{zzz{{zyzzzzz{z{{zz{{zyzzzzzzz{{zzzzyzzzyzzzzzy{{zzzzyy{yzzzzzzzzzyzyyxzyyyzzzzzyyzyzyzyyyz{zyzzzzzyzyzyxz{zzy{{yzzyzyzyyzz{z{zzzz{zzyyyyyzzzzz{{zyzyyyzzyyzzzzy{yz{yzzzx{zzzy{yz{yzyyz{yzz{{z{zzyzyyzyzzzzz{z{z{zzyzzyzz{{zy{z{{zz{zzzyyzz{{{{{{zzzzzyzzy{z{zzyzzyz{zzzzz{{|{z{zzzz{zzyzz{|{z{z{{{{{zzz{|z{{{{{{{{zzzzzz{z{{z{{|z{zzzyzyz{{{z{|zz{z{zzzz{|{z{{{{{zz{{z{z{{{{{{{{{yzzz{zzz{{{{{{{{{zzyz{z{{zz{{{{|zzzzz{{{{z|{z{{|{{z{zz{zz{{{{{{z{{yz{{zz{{{|{{{{zzzzzyyy{{{z{z|zzzyyyyz{{{{{zzzyzyz{zyzz{zz{z{{yzzyyzyyzzz{{{zzz{zyyyyyzzz{z{{z{zyzzyzzz{{zzz{{{zyyyyzzzy{{z{y{{z{zyzyyzz{{z{zzzzyzzzyy{z{zz|zzzyzyzzzzzyzz{{{zyzzyzxyz{{{zzz|yzyzyxzyzzz{y{zz{zzzyzzzyyzzzzz{zzyyzyyyzyzzz{zzyyyzyzyzzzzz{zz{{yzzyzzyyzy{{z{z{{zzzzyzzzzzz{z|{{yzzyyzyzzzzy{{{zzzyzzyz{zzzz{|{z{zzzyyzz{{zz{{{zzyzzzzzz{|{z{{zz{zyz{zz{{{zz{zzz{{|{zzz{{{{z{|z{zzzzzzzz{{{{z{{{zzzzzy{z{||{|z{|zz{|zzz|{{|{|z{{z{{z{{{z{y{{{{{{{z{zz{{{{z{z{z{{yzz{z{z{{{{{{{{{{zz{zzz{z{zzz{|{{z{|{zz|z{z{{{{z{zyy{zzz{zz{z{z{zzyzzyzz|z|z{{{{z{z{yzzz{{{{z{zzzzzzyzyyzzz{{{{zzzzzzyyy{{yzz{{zyzyyzyyyz{z{y{zzy{yyyzy{{zzyz{zzzzzzyzy{y{{y{z{yy{z{zyyzzzzzz{zz{zyyyzyzzzyyzyzzzzyxyyzzzz{yzzzyzxzzyzyzz{{{zzyyzyzyyyyz{yzzzzyzzyzyzxzz{z{z{zzzyyyyyyyzyzyz{zzyzyyyyzyyzy{zzzyzz{yzzyyzzz{zzzzzyzzzyzzz{{yzz{{zzzzyz{y{zzzz{{zzz{zyzzyz{z{{{{|{yzz{xyy{z{{zz{{{zz{yzyzzzz{{z{zzyz{zzyyyzzz{{zz{zzyzz{{{{z|{|{{zzzzzzzz{{|{{{{|z{yzz{{y{zzz{{|{{{y{zz{{z{{{{{|{{z{{{{{z{{z{{{{{{{{zyz{{z|{{{{{{|z{zzyzz{z||{{{{z{{zz{zzzzz{z{|{{{zz{{{z{|{{{z|{zzzx{zzz{{{{z{{zzzyzzzyzz{{z{z|zzzzyyzyz{zz{{{zzzzzzzzyzy{{yz{zzzz{zyyyzzz{{{z{zzyyyzyzyyzzzzzzzzzy{yyyzzzz{zyz{zzxyyy{yzyzzz{zzzyyzyyzyyzzzzz{zzyzyyyyyzzzyzzz{zyzyyzyy{zyzzzz{yzzzzyzyzzyzzzzz{zzyyzzyyzzz{{{zyyzyyyyz{{yzzzz{zyyyzzyyyyzzzzz{zzyzzzyy{zzzyz{zzyyzzzyzyzzz{z{{zzzzzyzyzz{zzz{{zzzzzyzzy{{zz{{zzzyzyzzz{{zy{|{{z{z{yxzzyzz{{|{{zzzyzyyzzz|{{z{zzzyzzzzz{{{zz{zzyzz{y{{z{z{{{{{|{yzzzzz{{{z{{|{|zzzzyzzzzzzz{z||zzzzzzzz{|{{{{|{{z{{z{zz{{{{{|{{{z{{yz|z{{{|z{|{{zzzzz{z{{{{z|z|zzzzzzz{zz{{z{{{z{zz{zzzz}{z{{|{{zzz{z{z{|{z{{{{{{zz{zzzy{zz{z{{{zyyzyzyz{z{{{zzyyyyzzzz{zzzy{z{zzzyyzyy{z{yz{{{zy{zzzzzzyzzz{|{zx{zyyxzzz{{zzz{z{yyyzzzzyzzzzzzzyzyyzxzz{{xy{zy{xyyyzyy{z{zzz{zzzzyzyxzzyyzy{{zxyyyyzyyzz{zyzzzyyzzzzzzy{zzzz{{yyyzyzyzyzyzyzz{{zzyzyzzy{zzyzzzzyzzyyzy{zyz{{{{{zyzzzzzz{{{{z{{zzyy{yzyz{{zzzz{zxyyyzzz|z{zzyz{zyzyzzyz{zyz{{z{{zzzzzzy{|zz{z{zzzzyz{yzyz{zzz{z{yz{yzzz{{{zz{zzz{{zz{zzz{{{{{zzz{zyzzz{{zz{{{{{zzz{zzz{{z|{{||{zzz{zzyz{{z{{{{{z{{zz{{z{|{{{|{{|{zz{zyz{|{{z{{{|zyz{z{z|{{|{{{{{zzz{zz{{{{z{}z{{{zzzz{z{zz{z|{{{z{yzzz{{{{|{{{|{y{zzz{z{z{{{zzzz{zyzxyzzzzz{{zzzzzyzzzyyzzz{y{{{yzzyxyzzzzz{z{{{z{yyzzyzzzz{zz{zyyyzzyzzzzzz{{{yzzyyyyzy|z{zzzzzyzzyyzyyz{z{z{{yzyyzyyxzzz{z{zzyzyyyxyyy{yyyzz{yyzyyyyxzzzyzz{zzzzzzzyzzz{yzzzzzzzzxzyxz{y{zzzzzyzzzyzyz{zzzzzzzzzxzzyyzzzzz{z{zzzzzzzyzzyzz{{zzzzzzzyyz{{zzzz{zzzzzzzzzz{zz{{{yzzzzzzzz{{{{z{{zzzzyzzzz{{{z{{{yz{zzzzyz{{z{z{{zz{yz{zzz|zzz{zzz{zzyz{zz{|{{{{{zz{z{{{zz{{|z|{|{{zzzzzzz{|zz{{|{zzzzz{z{{{{{{|{z{{{z{{zz{|{{{{|{z{zzzzy{{zzz|{{{z{zzz{z{{{{{{{{{{z{{yz{{{{{{{||{zzz{zz{{{{{|{{z{{zy{zyz{zz{{{{{{zzyz{{zz{{z{{{{zzzzzz{z{z{zz|zzyzyyyz{zzz{zzz{{zzyzzyzyz{{zz{|{zzyyyzzzzzyzzzz{zyzzzzyzyzzy{z{{z{zyyyzy{zzzzz{zyyzzzz{yz{zxzy{{{{yzzxyyyzzzzzzz|yyy{zzyyzzz{zz{yzzyzyzzyyyyzz{zzyyzyzyzzy{{zzz{zzzzzzzyyz{{yzz{zzzzzyzyyzyzzz{x{yzyyyz{{zz{{{z{zyzzzzzyzzyyzz{{zzyy{zzyz{z{{{{zzzzzzyzzyzz{z{z{zzyz{yzz{{zy{yz|{zzzzyzyz{z{z{{{zz{zyyy{z{{{y{|{zyzyzzz{|{zzz{{z{zzz{zzzz{zz||{{z{z{{{z{{|z{{{{{zyzzz{zz{{|{{{{z{z{z{zzzz|{{{|{{zz{zz{z{{{z{{{|z|z{{z|zz{|z|{{{{{{{{{zzz{{{{z{{{{zzzz{z{{{z{{{}{{{z{{{z{{zz{{{{|z{z{z{zzz{{{{|{{{zzzzzzy{{{{{z{{z{{zzzzz{{zzz{{zzzzzyy{zzzzzzzzz{zyyyyxyzzzzz{z{{zyy{yzy{z{zzz{zzyzzyyzzzz{{z{|{{zyyx{zy{zz{{z{|yzzxzzyyzzzzzzzzzyzzzyzyzz{zzz{zyyzyzzyyzyzy{{z{yzyyzyyzyzzzyzzzzyyzyyzzzz{{z{zzzzyyyyzyy{zz{{zzzyzyyzyyz|zzzz{zzyyyyxzyy{zzz{{{zzyzzyzz{z{{{{z{zyzyzy{zzzz{zzz{zyzz{zyz{{z{yzz{yyy{zzzz{z{{zz{{zzzzzyzz{z|{z|zzzy{{z{zz{{{zzz|zzzzyyzzzz{z{{z{{zzy{zzzy{{z|{{{|{zzyzzzz{{{{zz{{zz{zyzzy{{{{|{{|{zzz{{y{z{{|||{{{{z{{z{zz{{|{||{{{zzz{zzz|{z{{{|{{{z{z{z{|{{{{{{{{{z{z{{zz{{{{{|zz{zzzzz{{z{z{|{z{z{{zz{{{{|zz|{z{yzzzz{zz|{z{{zz{zzzy{zz{{z{{yzyzzzzzyy{{zz{{{{z{yzzyzzzzz{z{{|yzzxzyyzyz|{yzzz{yzyyzyy{y{zyz{{zzyyxyyyzz{zz{z{yxzzyzzxz{zzzzzzzyzyzzyzzz{zz{zzzyyyyzzy{zzyyz{zzzyzyz{xzz{zzz{{yzzzz{xzyz{y{z{zzzyzyyyzz{z{z{{zyyy{yyyyz{zzzzz{zzzzy{zyzzz{z{zzzyyzzzzzzzzz{{|{y{zyzyyz{zzzz{{{zzzzyyyzzz{x{{{zzzzzzzzz{yz{{{{|zzy{zzzz{zzz{{{zzz{zyzz{zz{{{z|{zzzy{yyzz{{{z|{{{{{zzz{zz{{{{|{{zzz{{zz{{{z{{|{zzyz{z{yz{{{zz{{|{zzzzzzz{{{{|{|z{{{zy{{{{{|{{|{||z|{{zzzz}|{|{|{{zzzzz{z{{{{{|{{{z|zzzzz{|||||{|{{yy{y{{{{{z||{|z{{zzzzzzz{{{{|zzzyzyzy{y{{zz{{{zzzzyzy{{{{{{{zzzyyzzyzzz{zz{zzz{z{zyyyxz{{{z{{{{{yzz{zzzyz{{{{zz{yzzxz{yy{{zz{{zzxyyzzzzzzyz{{zzyzyzyzyzzzzyzzzyyzyzzzzzzzyz{{zz{zzyzyz{z{{zzzzzzyyzyzyy{zzz{{zyyyzxzyzyzyzzz{{{yzyyz{y{zzzz{{{zyzyzyzzzzzz{{{zyyzzyzzyzzzzz{{zzz{zz{zzzzz{{zz{{yzxzzzy{zzz{{z{{zy{yzzz|{{{z{{zzzzzzzzz{z{zy{{{{yz{zy{zz{z{{zz{zzzzzy{zyz{z{z{{zzz{z{zz{{zz{zz{zzzyyzzz{{{{z||{zzzzy{{{{z{{{{{{{zz{{zzzz|{|{{|{zzzz{zz{{z{z|{{{z{{zyz{{z{{{{{|{zzz{zyz{{{||{{{{{{|{{z{{{|{{||{{{zz{zz{{zz{{{|||{{{z{{{z{{{{{|{{{{zzzzzzz{z{{{{z{yzzzzzz{|{|{z{z{yyz{zzzzz{{{zzzyzyyzzyzzz{{yzz{zyyyyzzzy{zzy{z{{{yzxzyzzzzz{{{zyzzyyzzz{z{{zz{{zzyzyzyyyz{zzzz{zz{yyx{yzzyzy{{zyzzzyzzyz{{zyz{zyzzyzzzyzzz{zzzzy{yzyyy{z{zzzz{z{zz{yzzyzzzz{z{zyzzzyzyzz{y{zz|{zyzzzzyzz{zy{zzzyzzyyzzzyzyz{{zzzy{zzzyy{zzz{y{z{yz{yzzzzzzzz{z{zzzzyz{zzzyzz{{{xy{zzyyzz{{z{zz|z{zyzzzyz{z|z|{{zzzyz{z{z{{{zz|{{yzz{zz{z{{z{{{{zz{zzzz{z{zz{{{|zy{y{z|z{|z{{|{|{zz{z{zy{{{{{{{|{zzy{zz{zz{z{{{{z{zyz{{z{zz{|z{{zzz{zzz{{|{|z{|{{z{zzzz{|{z{{{||{y{{z{z{{{{|z|z{{zy{{zzzz{{{{{{{zz{{yz{{z{{{{||{{z{zz{zz{{{zz{|{zz{yzzzz{zz{{{yzzyyzyyzxyzzz{zzzzyyyzxyyyyzy{z{zzzyzyyyy{zzz{z{z{yzyy{yz{zzzzyz{zzzzyzyyzz{{y{z{zyyyyzzzz{yyzz{zzyyxyyyyz{{zyzyzyxzzzyyyyzyzzzzzyxzyyyzz{yzyz{zzzyyyzyyzzyz{zzy{zzyyyzyyzzzz{y{{zzxzzzyyz{zzzzzzyzyyzyyyy{z{zzz{yz{yyyyzz{yz{z{{{yzyzzyz|zzzz{{zyyzzzyzzzzz{z|zzzzzzzyzzz{{y{z{{zy{yyz{zzz{zz{{{{zzzzzzzzz{zzz{zzyz{zyy{{{zzz|zzz{zzyzzz{{|{z{{{y{yyz{|z{z{{z{z{{zy{zzyy{|{z{{z{{yzzzzzzz{|z|{{{z{z{z{zz{{{{{{|{{{zzzzz{z{z{{{|{|z{zzzzz{{{{z|{{|y{zyzzzzyz{z{{{z{yyzzzzz{{z|{z{{zzyyzzz{z{{{zz{{{zzzyzzzzz{zzz{zzzyzzz{{{zzz{z{yzzzzyzyz{{z{zz{zzzyyyzyzzzzz{z|z{zxyzzzzzyzz{zzyyzzyzyyy{zzzyzzzzzzyyyyzzz{zzz{zyyzzyzyzz{z{z{yzyzy{yyyzyzzyzzzzzyyzyxzyyzzyzyzyzzyzzzy{zz{z{{{zzyyxyzyyz{zzzzzzzzyyzyyzyzz{y{zyzzyzzyzyzzzzz{zyzzyyyxzyyzzz{zzyzzxyyzzzzz{zz{{zzzyzyyz{z{zzzz{yz{yzxzzyz{{zz|zyz{yy{z{zy{zzz{{zzyyzyzzz{{{{{z{{yyyzzzzy{{{z{z{{z{yzz{z{{|zzz|{{zzz{{zzz{{{{{{{z{zzz{zz|{z{{yz{{zzzzzyzz|{{{{|{{zzz{zzz{{z|z|{|z{{{yz{z{{z{{z{{{yz{zz{z{{{{{|{||z{{zzzz{{{{{{|{{zzy{zyzzz|{z{|{{zz{{z{{|{|{z{|{zz{yzyzzz{{zz{z{zzyz{zzy|{z{zz{{zyzyzy{y{{z{z{{zzzyyyyzyzz{yzzzzzyyyyzzz{zzzz{{zzzyxyyzyyzyyzz{{zyzzzzyzyz{zyzzzzzzzyzyyy{zzyz{zyzzyxyzxzz{yz{{yzzyyyzyzyzzyyzzzyyyyyyyzzyzyzzzzzyzzyzzyz{zzzzzzzzyzy{zyzy{zyy{{yzyz{zxz{z{zz{zzzyyyzyzyyyz{zzzz{yzyyyzyzzzyyzzzyyzyy{yyzzzzzzzz{yyyzzyyy{zz{{z{zzzyzzzyz{zz{{z{zzzzz{y{zzz{zzzzzzzzyz{{{{z{zzzzzyzzzzzz{{{z{{{{zzyyzzzy{{|zz{{z{{{yzzyzz{{{z{{zzzyzzz{z{{{{{|||{zy{zyyz{{{{{{|z{yzzzyzz{|{{zz{{zzzzz{zzz|z{{{{{{y{z{{z{{{{z{|{|{zzzzzzy{{|{z|||{zz{z{zz{z{{z{||{{z{zzzx{{{|{z{{{zzyyzzz{{{z|{|{zzzyzzyzz{{z|{{zyzzzzy{yy{z{{zz{yyzzzzzxy{zzzzzzz{yyyyyyzzyzzzzzyyzyzzyyyzzzzzzz{xyzyyyyyzz{yy{zyyy{xyyyzzzzzzy{yy{yzyyyy{yzz{{yzxyzyyyyyyyyyzyzzzyyxxyyzyzzzzzzyyxyyyyyyzzzzzyzzyyyxzxyxzzzzz{zyyzzzyyxzzy{zzz{zyzzzyzxzzyyzzyzyyyyyyyyzyyyz|z{zyyzzzyyzzz{zz{{{yzzzzzyyzzzzzz{yz{zyyzzzzz{zzz{zyyyyz{z{zzz{zz{zyzzzyyyy{zz{|{{zyzyyyyy{z{zzy{{zzyyzzzy{|zyz{{zzy{yzz{zzzz{{{{{{zzy{z{zzzz{z{{{zyzzzzzy{{{{{z{{{yzzzyz{|{zz{z|{zzzzz{{zzz{{{{z{{yzzzyz{zz{|{{|{{z{{zz{zz|{|{{{{zzzzzzy{zzzzz{{{zzzzzzzz{zz{{{{{z{zzzzzy{zz{zz{{{yyzzzzzzzz{zz{{zyzzzyzzzz{yzzzzzyy{yyzx{zzzz{zzzzzzyzyyyzz{z{{{zzyzzzyzzzz{{{zzyz{zzxyzzzz{zzzz{{zyyyyy{y{z{zzzzyzyyzzyyz{yy|{{{yzzzxyzz{zzz{z{zyyyyxyy{z{zzzzzzzyzzzzyz{zzyz{zzxyzyyyyzyzzzz{zzzzyyzyzzzyzzz{{zzzzyyzyyzyzyy{zzyyyyyzyy{{zzz{zzyzzyzyz{zzzz|{zzz{yzyzzzzzzz{|{z{zzzyzy{zz{z{{{zz{zzzyyz{{z{y{{zzzx{yyyyzy{{{z{zyzz{zzyzz|z{{{{{zzzzzzzz|zyz{zz{zzzzzzz{{|{{{{{zzz{zz{z{z{{zz|{z{z{zzz{z{{{{{{|{z{{zzzz||{zz|||zzz{z{zz{{{{|{{||zy|zzzzz{{|{|{{|{z{{zzzzzz{{{{|z{z{zzz{z{{z{{|{{{zzzzzz{z{{|{|zz{zzz{|{{{{{{{{{{zz{yzyzz{{{zzz{zz{yzzzz{{z{z{{yyzyzzyxzzzzzyzz{zyzzzyyx{yz{{{{zzyyyzzyyzzzzz{{{zyyyzyyzzzz{zzz{{yzzx{yyzzzzz{{{zyzy{yzyyzzzy{zzzzyzzyyyyyzzz{{z{yzyyyyzzyyzyzz{yzzzyz{yyz{zzy{zzyyzyyzzzyzzzz{zyzzyyyxzzzz{zz{{z{yzyyzyyyzzz{{yzyzzzzzyyyzzzyzzzyzzzzyy{z{zzzzyzyzyzyzzz{zyzz{{zzzyyyyyzz{{{z{{zzzzzzz{z{{{{zz{zzzzyx{zzz{{y{{z{yzzzzzy{zzzzzzz{yz{{zzzz{{zz{z{zzzz{zzzzz{}z{z{z{{zz{z{|zz{z{z{|zzzzzyzz{z{{z{{zzzzyzyy{{{{{{|{zzzzz|zz{{{{{|z||z{zz{zzz{{{{|{{{z{zzzz{{{{{{|{zz{z{z{zz{|{z{{{{|{zzzzz{|{z|{z{{z{zzzzy{zz{{{{|{zzzzyzzz{z{{{|{z{zyyzyzzz|{zzzzzyzyyzzzzz{zyzzzzx{zzyyxzyzzzzz{{z{yzzyyyzz{zz{zzzyzyy{yzz{{{zzz{zyzyxyzyz{zy{{z{zyzyyzzyzzzzzzz{zzzyyyyz{z{zy|zyzzyyxyzzyzz{z{zzzyyzzzyyzz{zyz{{yyyzyzzz{zzzzzzzz{zyyyyyzzz{zyz{zyyyyyzyy{zzz{zzzyzzyyyyyzz{z{yzzzzz{{{yzz{zzzz{zzzyyyzyzzzzy{zzzzzzzyzzzzzz{{{zyy{yzy{zy{{zz{{{zzzzzzzz{z{|zz{zzz{zzyzzzz{z{z{zzzzzzyz{{y{z|{{z{{zzzzz{z{{{z|zzz{z{zy{z{{zz{{||{yz{z{yz{zz{{{|{{z{{yzyz{{{|{{||{zzzz{z{y|{{{|{z{{zzyzz{z{{{{z||{z{zz{z{{|{{{{{{{{zzz{{z{|{zz{{|{zz{zz{{{}{{|{|zz{zzzzzy{{z{{z|{|zzyz{zz{{{|{z{{{zzzy{{zzyzyzzz{zzyzzxzyyz{z|z{zzzzyzyyzzzz{{zzzzyzyzyzxzz{z{{z{zyzyyyyzzz{zzz{{|yzyzyyzyz{{zzzzyxyyyyzyz{zzzz{{{zzyzyzzz{{zz{yzzyyyzzyyzyzzz{zzzzyzzzzzzzzzzzzzzzzzzyyyz{zy{zzzzzyyyzxy{{{{z{{{zyzyzyxyz{yzz{{zzzzxyyzz{{{z{zy{zyzzzzzy{zzzzyzzzyzyyzzyz{{z{zz{zz{{zz{zz{{{z{|{yzzzz{zzzyz{{{z{z{zzyzzzz{{{{{{z{zzyyzzyz{|{{z{{yzzz{{{z{{{z{{{{zy{zzz{|{{{||zz|zzzzz{{z{{{{z{||{yzy{zzzz{zy{{|{{{zz{{{z|{{{{|||{{zzz{z{z{|z||{{|zz{{zz{|{{{|z{{{{{z|z|{{{z|{{{{{yzzzzyz{z|{zzz|{{z{{{zz{z{{z|z{{{{z{z{{{{{|{{{{{zzzzzzzz{z{{{zzzzzzy{yyy{z|zzy{zzyyzzyyzzzzzyz{zzzyzxzz{zz{z{zzzzyzzzy{zzzz{z{zyzzyzzzy{z{zzyz|zz{xyyzy{zzyzzzzzyzyyyyyyzyyzzzzzyzyzzzzzz{yyzzxzyzyxzyyzyzzzzzyzzyyzzzyzzzzyz{{yyz{yzyzzzzzzzzz{yzzyzyyyz{{yzzzzzyzyxzyzzzyzz{{yz{zyxzyz{zz{{z|zzzyzzzyzzz{zz{{y{zzzxz{zyzzz{zzzyzyzyzz{z{z{{|{zzzzzzzzzz{{{{{{zz{{zyzzy{{{|{|z{zzyzzzzz{{|zz|zzzyz{yzzzzz{z{z{zzz{{zzzzzz{||{{z{{zzz{{{{{{z|||{zzz{zzy{{{{{z{{zzz{zz{{{{{z||{z{{{z{|{{{{|z{{{{z{{{{zzyz|{{{{|{zz{{zzzz{{z|{{{{|zyzzzzzzzzz|{|z{|zzz{{z{{z{z|{|{zzzzzzz{z{{z{{{{zz{zzzy{{|{{{|{zzz{zzyyzz{zzyzzzzyzzyyyyy{zyzz{zz{zzzyyzzzzy{z{zyyzzzyyy{{{{z|{{yzzyyzz{y{{zy{zzzyyxxzzyzxyzzz{yyyyyyzyyzzzzzzzzyzxzyyyyzz{zzyzzzzyyyyzzyzyzzzzyyxyzyzyz{{{zz{yyyyyyyyyyzz{zzzz{yyyyyzyzy{{yzz{zzzzyyyzyzyyzzzzzyzzzyyyzzz{z{{zzyzyzyyyz{z{z{{{z{zyyyyz{zz{zzzzyzyzzyzz{z{zy{z{yzzyyzzz{z{yzzz{yzyzzyzyzz{zz{zzzyz{zyzz{z{zzz{{z{z{zyz{{|zzzz{zzyyyz{zz{z{||{{zz{z{zzzz{{{{{{{{{z{z{yyz{{z{{{{{{z{zzxzz{{{{{{z|zzzz{{zzzzz{{{{{{zzz{z{{{{z{{{{|{zz{zy{{zz{zz{z{zzzzzzzz{z{{y{|{{{zz{zzy{{zz{{z{zz{zz{zzz{z{{z{{{z{zzzzyzzz{zz|{{z{yyyzzzz{z{zzyyyyyzxyxz{|zyz{zzzzyzzzyyzzzzzz{zzyxyyyxyzz{zzzzzzyzyzzyyzzzzyyz{zxyzyyxzyzzy{z{yxyyyzyzzzxzzzzzzyy{yyxyyy{zzyzzyzyzxyyyyyzy{yz{ywyyzyzyyzzzz{zzzyyzyzyyy{zz{y{{zyzyyyyxyz{zzz{yyzzzyyyxy{zyyz{zyzzyzyzzzzyzz{zzyzzyzzyyz{|zzz{zzyzy{yzzz{zzzzzzz{yzzxyyzz{z{{z{zyyzyzzyzzzzz{z{zyzz{zzyzzz{z{zz{z{zyzyyz{{{zz{{z{yzzzyzzzzzz{{{{zzzzz{zz{z{z|zzzz{zz{zz{{||z|||{zzzzzz{{{zzz{{z{zzzzzzy{{{z{{{{zzzzy{{{zy{z{{{z|{zzy{zzz|{{z{|{{yzzzzzz{{{z{{z{zzyzzzzz{{{{{z{|{{zzz{yz{|{{{{|z{zzy{yzyzzz{z{{|{zzzzzzy|{{{yz|zz{zyyz{z{zzzzzy{zyyxyyzxzz{yyzzzyyyy{yzyzz{z|z{zzzzyyzzyzzzzzzz{{zzzzyzyzyz{zzz{zyzyzyyyzzz{zzz{zyzyyz{yyyyzz{z{zyyyzzxzzzzxy{yzzzzyyyyzxyy{zz{zyzyyzyzzzzzzyzzz{zzzzzzyzz{z{{yzzzzzzyzzz{zzyzz{yyzzyyzxy{{yz{{zzzyyzyzzyyzyzzz{zyyxzzyyyzzzzz{zzyzz{yzy{zz{y{{{zyzyzyz{{{{zzzz{{yzyy{yzy{{zyz{zzyzz{yzyzz{z{|{{zyzzzzyzy|{{{z{zz{{z{zzzz{{z{{zz{zz{y{zzz{{|z{{{yzzy{zzz{{z{z{|{{zyzzzz{z{{{{z|{zy{yz{zz{{{z|{|{z{z{{zz{{{{{{{|z{zzzzzz{z|{|z{z{{zzzzzz{zz{|{{{{zzzz{z{{{{z{zzz{z{zz{zyz{|{{{|{{zzyzzzzzz{z{{z{|zzz{yzzzzz{{z{zzyzzyzzzzz{{{{yyyy{xzyzzyzzzzy{z{zzyyyyzy{{{zzzy{zzzyyyzxzzzzzz{{zzzzyyyyzzy{zyzzzyyyyzzzzzz{zzzzzyzyyyyyzzzzzz{zzzzyyyyzzy{yyzzyyzzzzzyzyyyyzzz{yyyyyyyzyzzz{{{zzzyyxzyyyzzzzz{zzyzyyyyyyyz{zzy|zzyyzyz{zy{z{zzzzzyyzyyyz{{z{zz{{yyzzzyy{z{{zy|z{zzzzyyzz{zzzz{|yyzzzzzz{zz{{z{{yzz{zzy|zzzzzyzzzzzzzzzzz{zz{zy{{yyxyyzy{z{zz{{zzyzzyzyz{z{zzz{{zz{z{{zz{{{{|z{zzz{z{{z{z{zz{z{|zzzyyzyz{{z{{{|{zzzzz{zz{{z{zz{{zz{yzzzzz{z{{|{{{y{zyzz{{|{{z{{{{zzzzyz{{z{zz|zz{{yzzzz|z{{{{{z{{{{yz{z{z{{{{{z}z||zzzz{{{{{zz{{{zzyzzzzzzz{zz|z{zzzzyzz{z{{z{zyxyyyyyzxzzzyzy{zyzyzzxyz{{{zzz{{zzxyzyxyz{zzyzzzzyzzyzzyyzzyyz{{zzxyyyyxyz{yzzz{zzyyyzzzzz{zzzyyzzxzyyxyzz{zyzzzyyzyyyyyyzzzzyzzxyyyyzyzyyzzyzzzzyzyyzyyzzzz{{yzzzzyyyzxz{zzy{{zyzzzyzyxyzzzzzzzzyyxyyzyzzyzz{z{yyyyzzzyzz{{zz{zzzzz{yzyyzzzy{z{zy{xzzzzzzzzzz{{zzzyyzy{y{zzzz{zyz{yyyzzzz{{{z{zyzyzzzzxy{{zzz|{z{zzzzz{zzzy{{{z|zzzz{{{z{{{z{{zyzzy{zz{zzz|z{|zzzz{yyzz{{{|z{z{{yyy{zzz{{|z{{{{{zzy{zzzz|z{{{z{{zzzyz{zz{z{|{|{{zz{{yzz{{{|z{{|zyzzzzz{z|z|{|{{{zzzz{zyz{{{zzz{z{yzzz{zzzz{z{|zzzzzyyyzz{z{z{zzzzzyyzzzzz|zzzzzzzzy{zzyyzzyzy{zyzyzyx{z{{yzzyy{{zyyyzyzzzzzz{zzyyyzyyyyy{zzzyzz{zzxy{yyz{zzz{z{zyyyyyzyzzzzz{z{zxyxzyyyyyzyz{zzzyyyyyyzyzyzyzzyyyyyy{yzzzzzzz{zzyyyyyzyyzyyz{zzyyzzzyyyzzzzzyzzzyyzxyyyyyzyzzz{yyyyzyzyy{yzzz{{zyxyyzyyyzzyz{{zzzyyzzzzyzzyz{zzyyzzyzzzzzyyzzz{zz{zzz{yzzzy{{{{zzy{yyzyyzyy{{{zzzzyzyyy{z{z{{zzzzzyzyzzz{zzz|z{zzzz{zzz{z{{{{{zyzz{zz{{{z{zz{{{{zyzzzyyz{{z{{|{{y{zzzzy|{{z{{{{{{y{z{{{z{zz{{{{{zz{zz{{z{||z{{zyzzzzzy{|{{||{{z{yzzzzzz{zz{z{{{{{zyzyz{zyzzz{|{yzyzzyzzzzz{y{{zyzy{zzyyz|zz{{{zyy{yzzzy{z|zzzzzzyyzyyzyyz{zzz{{yzzzyyxzzyzzz{{{zyzyyyzz{zz{{z{{zyyzzyy{zz{yzzzzzzzxxyyyzyyzzz{{zyzyzy{yy{zzyz{zyzyyyzyyzzzzzyzzyzyyzzyyzzzzyzz{zyxyyyzy{{z{zz{zzyz{zyyz{zzzzzz{yzzzzxzzyzzy{z{{{yyzzyzyy{y{zzz{zyyyyyzxzzzzz{zzzzzzyzyz{y{yyzzzzzyyzxyyz{z{zz{{zyzzyyzyzzz{{{z{zzzzyyzyz{{z|{zzzyzzzzzyzz{zz{zzyzzyzyzzzzz{zz{zzyzzzzzzzzzzz{{zzzyzzzz{zz|{z|{{zyy{zz{{z{z{z{|{{zzzzzyyz{{z{|{z{{zzz{y{z{{zz{{{{zzzz{zz{z{{z{{|{zzzz{z{z}zz{z{{{|{{{{zz{{|{z{{|{zzz{zz{{z{{{{||zzyz{zzzz{{z{{z{{{zzzzzz{{{z{{{|z{zzyzzyy{{|z{{{yyzyyzzzz{z{zzzzzzyyzzyyy{{yzz{|zyzyyyyzzz{{z{{{{zzyzxyzzyyyzzzyzzzxzzyyzz{z{y{zzzzzyyzx{z{{{{z{zyzzzyzzzz{yzzzz{zzyzzzzzzzzy{{yzyzyyzyzy{zzzzz{yyyyyzyzyzzzzzzzzyyyxyyyzz{zz{zzy{zyyyyyzzzyz{{z{zzzyyyzzzxzzzzzyyyyyyzyz{zzy{{z{zzzyyyz{{{zz{zzzzzyyyzyz{zzzz{z{yzyzzzzzz{z{{{zzz{zzyzzz{{z{z{{{zz{zzzyzz{{y{zzzzzzzzzz{{{z{{{{zzyz{zyzz{zz{{z{{yz{{zyzzz{{{{{{z{zzz{zz{{z{{|{{{zz{zzzz{{|z{z{{{zzzzzyz|||z|z{{zzzzzzy{z{{{{{{{{zz|{z{zz{z|{|{{{z{zz{zz|{{{{{z{zz{zzy{{zzz{|{{{{{zz{{z{{{{|{{|z{zzz{y{zz{zz{{z{zzyyzzzyy{z{z{{{zz{zyzzzzzzzyz{zyzy{zyyxy{{{{zzz{zzyzzzzz{{zzzzzzzyyzyzyz{{z{y{zzyzy{yyzy{zy{{{zyzyyyyzz{zzyz{z{{zzyyyyzz{zzzy{zzyzyyyzzzzzzz{z{yyyyyzyzzzyzzzyzzyzzyzyyzzz|zz|{zzyyxyyzzz{zzzzyz{yzyzyz{{zzzzz{zyxyzzzyyyzzz{y{{{yyyyyyzyyyz{{zyyzyzzzyzzzzzz{{{zyzzyzzzzzzy{z{yzyzyzzzzzz{{z{{yyzzzyyz{{zz{{{zzyz{zzzzz{{yz|{z{zzyzzz{zz{{{z{zzzzzzzzz{{{zz{zzzzzz{zyz{zz{{{{{zyzzz{z{{{{{z{{|z{yzzzy{{{{z{y{{{z{z{zz{{zz{|{|{{zzyz{z{{{{z{{{{{zy{z{zz{{z{{{|||z{{zzzz{{z{{{|{yy{zzzzz||z{{||{{zzz{zzz{{{{{{|{{zzzzz{{z{z{z{|z{zyz{z{zz|{{zzzzzzzyzzzyzzzzzyyz{zzyzyzyz{zz{z{{zyyzyyyzzz{zz{|zzzzzzyzy{zzz{{{{{y{zyzyy{z{{yzzzzzzyyyzy{zz{{{{zzzzzzyzz{zzyz{{z{z{zzyyzyyz{yzzz{zzyy{zzzzyyzz{{zzzzzxyyzzz{zz{zzyzzz{yyzzzzz{{{zz{zzzyyz{{zzz|yzzzyzzzyyyyzzz{{zzzyyzyyz{yz{zz{zzzzzzyzyzzz{{zzzzyyzzzyzzzz|{z{zzzyzyyz{z{zz{{{yyyyzy{zzz{{{{|{{yzzzy{{z{{{{{{{zyzzzyz{|z{z{{zzzxy{zzz{z{{z{{z{zzz{zzzzzz{{{{z{zzz{{z{z{{{{{{{{{zz{zyz{|{{{|z{{{y{yzzz{{{{|||{z{y{{|z{z{{{||{{|z{zzzz{{{{{|{{zz{y{zzyzz{{{{{{{{{zz{{zz{|{{{{{{{zy{zzzzz{z{|{{{|zzzyzyz{z{{zz{{{z{y{{z{z{{{{z{{z{z{zzzzz{{z{{zyzzyyxzyzzzzzzzzz{zzyyzyzy{zz{z{zzzzyzzzy{z{{zz{{z{yzzzyzyzzz{yz{{{yyzyzyz{zzzz{{{zyyyz{yyy{zyzzz{zzzzyyyxzzzzzzzyzzyyyyzzzzy{zyz{zyyyyxyzyzzyyzzzzyyzyzyyzzzyzz{{zzzzyzzzz{z{{{zzzyyyyyzyzzzyzy{{yzyzzzzzyzyzzzyzz{zyyzyyzz|yzz{zzzyyzyyzzzzzz{y{zzzzzzzyzz{zzzz{zzyzyyzzz{{{z{{{zzz{{zzzz{{z{{{{zyzzyzzy{z|zz{z{zzzzyzyy{|{{zz{{{zzzzz{z{z{{|{{zyz{zzzzzzz{{z{z{{yzzzzzzz{{{{{{z{z{zzy{{|{{{zz|{zz{zzy{{{{{{z{{||zzz{zzz{|{|{|{{zz{{zyzzz|z{{{z{{zz{yzzz{{{{{{|{{zzyz{zz{{{{{||{zz{yzzzzzzz{{{{z{yzzzzyyzz{{{|{{zzzzzyyy{yzzzzz{z{yyyzzzz{zzyz{{zyzyzyzzzz{{zz{{zzyzyzzzzzy{zz{zzz{{zzyyzyzzyy{zzzyzyzzyzzzzy{{{zyyyzzyyzzzz{yzz{yyzzyyyz{yzyz{zyxzyzyyyzzyyzzy{zzzyyzyyzzzzzzzzyzzzyyyzz{{z{{zzyzzyyzzyyzzzz{zzzyzzyyzyxzzzzzzzzzyyzzyyzz{yzz{zzzyxyzyzyyzzzz{zzzy{zyzyyz{zz{y{zyzzzzzyzzz{zzz{zzzzzzzzzzzz{z|zzzzzzzyzzz{{zz{{zz{zzyzzz{{z{z{{zzz{zzzz{{{{{{zzzzyzy{{zz||{{{{{yzzz{zzz{{z{{{{{{zz{zyzyy{{{{{|z|z{y{{zzz{y{{{{{zzz{z{{zz{{{z{|z{zzzzzzzz{{|{{|{{{z{zz{z|{{{{{{z|zzz{y{y{{|zz|{{{{{{z{zzz{{{{||{{z{yzzyyz{z{{z{|z{zzzzzz||{{z{{zzz{zzzzzyz{{{z{yzzzzzyzzz{zzzz{{zzyyyzyzzzyzy{|{zzzzzzzyzzy{zz{z{yzy{yzyz{{zzz{zz{{yxyzyzzzy{{zzyzzzzyzyyzzyzzzz{zyzzzyzyzzzzz{yyyzyyxyzyyzzz{zzyyzyyzzyy{{zz{zzzzyyyzzzzzzz{zzzzyzzyzzzzzzzzz|{yyzyyzzyyzyzzz{{zzyyzzzyy{{yz{z{yyzy{{yy{{zzzz{zzyzyzyzyz{z{zzy{{yzyzzzzz{z{z{z{y{zzyzzyyz{z{zz{{yzyzzzxy{{{{{y{zzzzyzzz{{{zzzz{{zzzzzz{{zz{{{{{{zzzzzzz{{{z|z{z{zzzzz{zzzz{{{z|zzzzyzzy{{{{z{|{{zy{yzzz{z{{zz{{{{zzzz{zz{{z||z{{{zzzzzzz}{{{|{{{z{z{yz{{{zzzz|{{zy{zyz{{{{{{{{|{zz{zzzzzz|{z{{{{{{zyzzyz|{zy|{|y{y{yzzyz|z{zz{zzyzzyyzy{zy{zzz{yzyyzy{yyzzzzzz{zyyzyxzyz{zz{zz{zyyyyzyzyzzy{z{{zyyzzyzyyzz{zz{yyzyzyyyyzzzzzzyzyzzyyyzzzzyzzzzyzzyyxyzxzzzyy{zzzzzyyyyyzz{{zyzzyyyyzyzyzzz{z{zzz{zyxyyzzzzzyy{z{zzzyzzyz{zzz{{{zzyzzzzxyyzzyzzzzzxyyyyyyyzyz{{zzyzzzyzxzyzz{{zzyyzzyxyy{zzzz{z{zzyyyyyzz{xzzzz{zyzyzzzzz{{zzzz{{{zzzyzyyzzzz{zzzzzyyzyyz{{zzz{{yyzz{yzz{z{{z{{{{zyzzzy{{z{{z{{zyz{yzyzz{z{{{{{|{zz{zzyzz{{z{{z{|z{{zzzzz{zz|{||{{{{{{z{z{{zz{{{zz{{{{zz{{zz|z{{{y{zzzzz{{{{{{{{{{zzz{z{{{zz{{{{{zz{|zzz{|z{{|z|z{zzzzzzz{y{{{{{{{zyxyzz{z{z{z{z{zzzyzzyz{zzzzyzzzyyyzyyzz{zzzyzzyzzyxyyzyzzzz{{zyyyyzyyzz{z{{z{zyyz{yzz{zz}y{zzzyyyyzyyzzy{z{{zyzzyyzyxy{zzzzzzzyzzyyyxzzzyzzzzzyyyyyyzyzyzzzzzyyzzzyyyzzzzzzzzzyyzyzyy{z{z{zzyyzzyyzyyyyyzyzz{zzyyyyzyzzz{y{{zyzxyzyyyxzyyz{z{zzzzyzzyy{{z{z{{zyzyzzyy{{{zzzz{zzzzyyzz{zzyzzz{yz{zyyyy{{zz{z{z{zyzzyyzyzzz{{zzz{zzyyzzz{z{zzzz{yzzzyyz{{zzzzyzzzzzzzyzzz{{{{{{zyz{zzzzzz{{{{|{zzy{zzzy{{z{{{z{{yzzzyzz{|{z{{{zz{zyzz|zz{{zz{{{{zzzzzz{z{{{{{{|{z{zz{zzzzz{{{{zzyzzzzz{{{z{{{z{|zyzzzy{|{{|z{z{{zzzz{zz{|z{{{|z{zxzzyzzyz{{{z|{{zzyzyxz{z{zz{zzyyyyzyzyzzzzzyz{yyyzyyyyyzzzzzy|zyyyzyyzyzyz{y{zzyyyzzyyzyz{zy{zzyzyyyyz{{zzyzz{zzxzzyzyzz|yzzzzzzyyyyyyzyzyyzz{zyzyyyxyyzyzyzzzzyyyyyyxyzzyzz{yzyzyyyyyyz{y{zz{zyzzyyyz{zz{zy{{yzyzyxzyyzyyzyzzzyyyyyzxyyyyz{zzyz{zzzyzzz{{zz{zzyzzyy{yzzzz{zzzz{zyyzyyzyzzzz{{yyzxyyzzyzzz{zzzzzzzzzyzy{z{zzzzzzzzzzyxz{zzzz{zzzzzyzzy|{{zz{{{zz|yzzzzzz{{{z{{zzz{zz{z{zz{{{{{zz{yzyzy{{{{|{{{{zzzzzzz{|{{{{{|zz{zzz{zz{{{{{{|zz{{z{zzz{|z{||{{{zzyy{z||{{z{{{{z{zzzzzz{y{z{z{{zzz{zzyz|{{{{{{zzzzyzyz{{{zz{{{{zzzzzyy{{{zz{{{{yzyzzyzz{z|zzzzzzyzyzzyzzzz{zz{{yyzxzzzzzy{{{zzzzyyyz{yzz{{|{z{zzzyyyyzyzzzzz{zzzzxyyzz{z{{yz{{zxyyzzzyzz{yz{{z{y{yzzzyzz{{z{zzyzyyyzyyzzz{z{z{yyyyyyyyzz{{zz{zzzzyzzzyz{{zz{{zyzzzyyyyzz{z{{{{zzyyzyyyzzzz{z{{zzzzyyyyzzyz{zzzzyzzzzzyzyzzz{z{{yzyyyz{{zzzy|{}zzyzzzzyzzyz{{z{yyzyzyzz{{z{{{{zzyzy{xzzzzz{zzz{zzzzy{yz{z|{zz{{zzzzzyyzzz{{{|{{{zzzzzzzz{{z{{{{z{zy{z{z{y{{{z{{yzz{{yyzzz{zz{zzzzz{{zz{|{{{{{|{|zzz{{{z{{{z|{|{{zz{zz{zz|{{|{|{zz{{zz{{||{{{{|{{{{{{zzz{{z{{{{{|{zz{z{zz{z||{{{z{{zzz{{z{{{{z|{{{yzzz{zz{{{{z|{zz{yzzzy{{z{zzyzxzzzyyyyy{zz{zz{zyzzyzyy{{zyzz{|yzyyzzyyzy{z{yzzyz{yzzyyzzz{zzzzzzzzzzyyzzy{zz{{yyzz{zyyzz{yy{{z{yzzzyzzzzzzzzzz{zyyyyyyz{zzz{zzzyzyyyyyyzzy{zzzyzyxxzyyyzzzz{zyzzzyyyy{zzzzzz{{yzyyyyzz{zzyzzz{zzzzyzzyz{zz{{{zyyzyyzzyyzz{zy{zzzyyzzyz{{z{{{{{zyzz{yzzz{zz{{z{zzzzzzz{z{{{z{{z{zyzzzyzy{z{z{{zzz{zyzz{{z{zzz|{{{zzzzzz{zz{{{zzzzz{zzzzz{{{|{{{{z{{zz{{zz{{{{{{zz{{zz{yz{{{{{{{{y{y{z{z{|{{z|{{{{yzzy{{z{{z{|{|{zzzzz{zz|zz{z{z{z{zyyzzz{{{{z|{zzz{{yzz|z|{{{{|{z{{|z{{{z|{{{|{{{zzz{z{z{{{z{{{|z{zzzyzz{{{z{|{{z{yzzzzzz{z{yz{z{zyyzzyy{{yzzzzzzzxzzyyzzzzzz{zyzyyzyzy{yzzz{zzzyzzzzzxyz{zzzzzzyzyyxxyzz{zyzzzyzyyyzzyy{zzyzzzzzyzyzzyzzzzzzzyyyyzyyyyzyzzzyz{yzzyyxyyyzzzyzz{xyzzyyzyy{zyzzzzyyyyyyxzzzyzyz{zzxzzyyzyyzzzzyz{yyyyyyzzyzzzz{z{zzzyzyyzyzzzzz{{zyyxyyyxzzzyzz{{zzy{zyzy{{z{z{{{yyzz{{yyzzz{zzzz{z{{zzzyzzzyz|{zzzzyyyzzz{zzz{{z{zzzzzyzzz{z{{zzzzzzzzzzzz{{{{{z{zz{yz{{{zz{{{z{zzzzyyzy{{{{{z{zzzzzzyy{{{zz{{|{zz{z{z{z{{{{{|{z|zz{zzz{z{{{{|{{{{zzzz{{|{{{|{z{{{zzzyz{{{{{{{{{zzzzzzz{{{yz{{{|z{zzzzzyz{{|zz{zz{zzyzz{zz{{{z{{zzz{zzzyyz{{zzzzyyyzxyzxzz{{zz{{zzzyzyyyyzzz{zzzzzxxzzyyzyzyyz{z{yzyyyzyzyzz{y{zzzyyyyzyyz{{zzzz{zyy{yzyy{yzzzzz{xzxyyxy{zyzz{zzyyyyzyyyzyzzy{{zyyzyyyyyyzzyzzzzzyyxyyyyz{zzzyzy{zyyxyzyyzzzy{yyzyzzyyzyyzyyyzzzyyzyzxzyyzzzz{{{yyzzzyxyzz{yzz{zzyzyzyzyzz{yzzzzzzzzyxzz{zz{zzzzyzzzyzyzyz{zzzzz{{zzyyzzz{{{zz{z{yyzyyyzz{{{{{{{zyyzzy{z|{|yz{zzzyy{zzyzz{z{{zz{zzyzzz{zyzz{z{{{{zzzzzzzz{{zz{|{{yzzz{zz{{{{{|{z{z{yzz{zz{z{{{zz|{zzz{zz{|{z{{z{{{{{zzzz{z{||z{zzz{{zz{z{{zz{{z|{{z{zzyzz{{|{zz{zzyyzzzyz{{{{{|{{{zzyzzy{{z{z{{{zzzzyzzyz{zz{zyzyyzyyyyyz{zzyzyzzzzyyzyyzzz{zzz{zyxyzyzyy{zyzzz{zyzyyyxzz{z{{zz{yyzyzyzyzyzz{yz{yyzyzyyzyz{zz{yz{zyyzxyy{yzyyzyzyyyxzyxyyzyyyz{zyyyzyyyyzyzzzzzzzyyyyyzyz{zyzzy{yzzyyzyxyyy{zzzyyyxzzyyxyzzyzzz{zyyyzyyxyzyzzzyzzyzyxzzyyz{zy{z{yzzyzyyyz{yzzzzz{yzyyyzzzzzzzzzzzyzyyyyyzzyyzzzzzyy{yzyyy{zzzzzzzzzzzzzyzz{{{{{zzyz{zyyz|{zyzz{z{zzzzyzyyzz{{{{{zzzzz{zz{{{zz{|{yyzzz{yx{z{z{z{zzyzz{z{yz|{{|{|{{{yyzz{zz{zz|{{{{zz{z{yzz{{{{z{z{z{zzy{{z{{z{{{{{z{yzzzzzy{zy|{|{{zyzzyz{{{{|{z{z{zyzzyzzz{{{z{zzzyzzyzz{{z|{{zzzzzzzyyyzzzzzzzzyyzyyyzyzzzzzzz{yzzyzyyxyzz{zz{zzyyyzyyyzyzzyz{zzzzxzyzxzzzzyzz{zyzyzzzxzz{zzzz{zyzxyyzyzzyyzzy{zyyzzyyyzyzyyzzyzzyyxyxzyyyzyzyzyyzyyyzxyzzyz{zyyxyzxyyzz{zz{yzyzzyyxzyyzy{{yzzyyyyyyyzxyzyyzzzzyyyyzzzzyzzzyzyzzzyyzyyxzz{z{zzzzzyyzyyzz|zzzzz{y{zzyzyzzz{{{{z{zzyzzyzyz{{zzz{zzzzzzzzzy|{zz{zzy{{zyyyzzz|z{zz{zyxyzzyyzzzz{zzy{zzzzzzzz|{{zz{zy{yzz{{yz{z{z|{zzzzzz{yzz{z{z{{zzzzzzzz{{{{{{{zzzzz{z{{z{{{{z{{{{yzzzzzyz{{zz{|{zzyz{zzzy{yz{{{{{zzz{zz{zz{z{{{|zzzy{zzy{{{{{{{{zzzyzyzzz{{{z{{{z{zzzzzyzzz{{{{zzyzzyzzzz{y{|zzzzzzzzzyy{{zzyzzzzzyyyyyyzzzzz{{yzyyxyzzyzyyzzz{zzzyzyyyzyz{{yz{|zyyyxzyzzzzzzzzzyzzyyzyyyzzzzz{{yyyyxyyyzzzzzzzzzyzxzzyyzyzyzyzzzyzzyyyyyzzzyz{zzxyzxzyyyzzzyz{zyyyyzzyzyzzzzzz{zyzzyxzyzzyyzzzzyyyyyzyyyzzzzzzzyyyzzzyyzzz{yzz{yyzyzzyzzzzyzz{zzyyzzyzyzzyz{z{zzzyyyyyzzzzz{{{zzyzyzyzy{y{zzzzzyz{yyzyyzz{z{{{z{zzyzxy{z{z{z{{{yzzyzyzy{z{{{{{yzzzyzzyzz{{{zz{|yzyz{zzz{zzy{{{z{zz{yzzz{{z{{{|{zz{zy{{zz{{{z{{{{{{zzzyzz|z{{{{{zzzz{zz{z{{z{{{{zyzzyzyzz{|{||{{zzzzzzy{{|z{{z{|{zyzzzzzz{zzz{|zzzzy{zyzzz{zz{{zz{z{zyzy{zzzzzz{zzyyzyyyyyzyzzzzyzyzyxyyzzzzzzz{zyzyyyyxzzzzzzzyzzyyyyyyyzzzyz{zzzzyyyyyzzyyzzzzyzyyyyzyyzyyzzzyyy{zyyxzzyzyyzzzzzzyyyyzyyyz{zyzyyzzzzyyzzyyzy{yyyzzxyxzzzzzzzz{yyzyxzyyyzx{zz{yzxzyxzyyzzz{xzz{zyzyxzyyyzzzzz{zyzxz{xyyyz{zzzz{zzzyzyyyzz{{yzzzyyyzyzzyzyyzyyyyyyzyyzyyzy{zz{zzzyzyyyyzz{{{zz{zzz{z{yzyz{{{zzzzzyy{yzyzzz{zz{zzzzyyzzzxz{zzz{{zyz{zzzzz{z{zzz{{zzzzzzyzz{{{zz{z{yzzzyyz{|{zz{{zzzzzyz{zz{zzzz{{{zzz{{zzz{{{zzzzzzzyyyz{z{{{{z{z{zyzyz{zzzz{{{{zzzzz{zzz{zz{zzz{zzyzzy{yz{z{{|z{zyzzzyzxz{z{zzz{zzyzzzyyzzzz{zyzzzzzyzyxyzzzzzz{yzyzzyzyzzzzyzzzzyzxyzzzzyzzzy|zyzzzyyzyyz{z{yz{yzxzyzzxzzzyy{zzxyyzyzzyy{yyzzyzzzzyyzxxzz{yyzyyzyzyyyyyzyz{{zzzyyyyzzzyy{zzzz{yzyyyzyxy{yzzyz{{zzzyyzyyzzz{zy{zyyzyzyzyzzyyyz{zzzyzyyyyzzzyzzzzyzzzzyzyzzzzz{{zzzyzzyyy{yz{zz{zzyzzyzzyzyzzzz{zzyxzyxzzz{z{zzz{zzzzyy{{{zzzz{z{{zzzzzzzz{{zzz{{zyzyzzyyz{zz{z{zzzzyzzyz{{{{z{{{zyzz{zz{|{z{z{{zzyz{zy{zzz{z{z{{zyzyzyz{{|{z{{{{{z{zy{zz{{{{{{z{{zzzzzyzz|{z{{|{zz{zzz{z{z{{{{{{yzz{{zz{{z{{|{{{{zz{zz{z{zz{{{{|z{yy{zzzz{z{z{{zzzzyzz{z{zz{z{z{zzzyzxzz{z{z{y{{yzyzyyzyzz{{zzz|yyyyyzyyyzyyz{z{zzzyyyzyzy{z{zzzyyzyzzzzzzy{zz{zzyzyyyzy{zzzzzz{yyzyyyzyzzz{zzzzzz{zzzyyyz{zyz{yyyzzyxyyyzzzzzy{zyzzzxzyxzzz{zzyzzyyyyzzyzz{zzz{zzyyzzyyzzzzyz{zyz{yyyyyzzzyzzzzzzyy{yzyyzzyzzzzzzzyz{yzzzzzz{{{yyyzzyzzz{zzxzz{{z{yzz{zz{zzz{z{zyzzyyzzzzzzz|zzzzzyyyzxz{{yzzz{zz{zzyyz{z{z{zzzzyzyzzyz{{{{{z{zzzzzzzzz{z{{{z{zzzzyzzzz{{{{zzz{zzzzyzyy{z{z{{{{yyzzzzzy{{{zz{{{zzzzz{{yz{z{z{{{{zyzz|{z{{|{{{{{{zz{zz{{{zz{{{{zyzzyzyz{zzz{zz{{z{{{z{z{{z{{{{{{z{zxz{zz{zzz{|{z{{zzyz{zz{{{zz{zyzzyyyzz{{{{|zzzy{yxzzyzzzzzyzz{yzzzzyyyyzzzzz{zyyyyzzyyyzz{zz{zyyzyyyxzzyyzxzzzyzzyzyyyzy{zzzz{{yyzyyzyyzzzyz{{zyyyyxyyyzzz{{yzyyyyyyyyzxzzzz{zyyyzzzzzyzzyyyz{zyyzxzyyyzyzz{{zyyzyyyxyyyz{zzzzyyzyzzyyyzz{zz{z{zzyzyzyyzzzz{zzyyzyzzyyzzzzzzzz{xyzzyyyzzzzyzzzyyzzyyzzyzz{z{{yzzzyzzyz{z{{zz{{yyzzzyzzz{zzz{{{zyzzzzzy{zz{zz{{zz{{yzyzz{z{zz{{{zzz{zzyz{|{{{|zzzzzzzzz{zz{{{{{yzy{zzxyzzzzzz{zyzz{{zzy{{{z{|{z{y{zz{{yz{z{z{|{zzyyy{zzz{{{z{{{|zzzzz{{{{zz{{zz{yzzzzy{yzz{{z{|zz{z{z{z{zzzz{zz{zzyzzz{z{z{y{|{z{{zzzyyz{{zzz{{zzzzzyzzzzzz{{zzzzyyzyyyyz{zyzzzzzzzyxyyzyzzz{zzzyzy{{zyzz{zy{yzyzyzyyyzzy{zzy{z{yyyyy{yz{{zzzzzyzyzyyzyzzzyzz{zzxzyyyyxyzyzzzz{zyzyyyzxzzy{zzzzxyyyyxzyyzz{{{zzyyzxyzyyyzzy{z{zyzzyyzyxzz{yzzzzzzyyzyyyzzzzzzyzyyyyyxzzyzzzzz{{zyzyzzyzz{{zz{{{yyzyzy{zzzyzzzzzyyyyyyzyzzy{{zz{yzyzzzyzyzz{{z{{z{zzz{yyy{z{z{{zzyzxzzzzzz{zzz{z{yyzzzyzz{{zyz{zzzzzzzyzzzzyzz{{z{zzzzzz{|{{zz{{zzz{zzz{zz{{{{|{{{{zzyzzz|{zzz{|yzzzzz|{zz{{{{{{{zz{{zz{z{{{||{{{z{zz{yz{{{z{zz{zz{zz{zz{z{{{{||{{zzzyzzzz{{z{{{z{zz{{z{{zzzz{|{zyzyyyyzzzz{{{{{yzz{zzzzzz{z{zzyxyyyz{zzyz{yzzzzzyyyyyzyzzzzzzz{zyyxyyyyzzz{{zz{yyyyzzyyyyzyzzz|zyyyxyyyzyzzzyzzzy{yxyyyyzy{z{zzzyzyxyyzzz{yzyzzzyzyyyyyyyz{zzyzyzzxyyyyzzzyzzzzzzzyzyyzzzzzyyzyyyyyyzxzzyzzzzz{zzzyyxyyyzyzzyyzzzzzzyyyyzyzz{yzyzzxzzyyz{z{zz{zzyzyzz{yz{zzzz{zzyyyzyzyzyzz{{zzyyzzzzzzzzzzy{{{yyyz{zyz{z{{{{{zyzzyyyyyzz{yzz{|zzzyyzzz{{{zzzzzyzzzz{z{z{{{{|z{{{zzyzzzzyz{zz|{zyz{yyyz{{z{{{{{{yzzzyzz{{{|z|||zzzy{zzzz{{{{{||{zzz{zzzz{z|{{{{zzy{|zzz{z{{{{{{zzzz{z{zzzz{{{|{{|yz{{y{{{z{zz{{zyzyzzzyz{{{z{z{|{zzzzzzz{zz{{z{{zzyzzyz{zz{yzzzzzyyyyyyz{zyyyzyxyzzyxyxzzyzz{zzyxzyyyyy{zzz{zzzzyyzyyyyzy{zzzy{zyyzyzyy{zzzzyz{zzzyxxyzyz{yzzyzzyyzzyyyyzzyyzzyyyyyzzyyyzzzy{yzzzyyyyyxzzyzzzzzzyyzyyyyyzyzz{z{yzzyyyzyyz{zzyzzyyzyxyyzzzzzzzzyyzzyyyzyyzyyzzz{yyzyyzyyzzzyzyyzzyzyyzzzzy{zyz{{yx{zyyzyzyyzzz{{zzzzzzzzzzzz{z{zzzyzyz{xzzzyzzzzxyyzyzyzzy{y{z{{zzzzzxyzyz{zz{zzzzzzzzy{y{zzz{{|zyz{{z|zzy{zzz{{yzxzz{zy{|{|y{zz{yzy{zzy{{z{zz{{zzzyzzzzzz{z{{z{zzzzyzzzz|z{{{{{zz{zz{zzz{{{{{{z{yy{{zzzzzz{{{{{z{zyzzy{{|{z{{{{zz{zyzzzzz{{{{{|zzzzzzyzzz{{z{yzzzzyyxzy{zzzzzzzyyzyzyzyzzyyzy{zzyyyxyxxzzyz{{{zzzyzzyyyzyzzzz{zzyzyyxyxz{zyyz{zyzyyyyyxzzzzzzy{zyyyyyzxzyz{{zzzzzzyzzyyzzzzzyzzzzyyyyyyzzzzzzyzzyzxxxyyzzzzzzzyzzyzyzyzzzzz{z{yzzzyyyzxyz{zzy{zzyyzyxzyzzyzyz{yyzxyyzyyy{zy{zzzzyyyyyyyyzzz{zzz{zyyzyyyz{zz{z{zzzzyyxyyyzyzz{{{yzzzyyyzzzz{zyzzzzyyzyzyz{zzyzzzzyzzzzyzzzz{yz{zzyzyzyyz{{zzz|zzzzyz{zzzzzzz{z{{zzzzzzzz{z{z{{{zzyzzyyy{yz{z{{z|zyzz{zyy{|{{|z{|zzyzzzzzzzzz{zzzz{y{zzzzz{{{{{{{{z{zzzzz{z{{z{{zzyzzyyzzz{zzz{{{zzyyzzzz{{{z{z{{yyyzzzzzz{z{{z{{{{zyyzzyz{{{zzz{yzyyzyzyzzzzyzzzyyzyyxzxyyz{zy{zyxzyyxyyzzz{z{z{{yyxzxzyzyzy{{zzyyyyzyyyy{{yzzzz{yzyzyyzzy{zzzy|yyyzyyzxyzzyz{zzyyyzzzyyzyzzzyyzyyzyzyzyzzzz{zyzzzzyzyyyyyzyzzzzzzzzyzyzyz{yz{zzzyyxxyzxyzyzzz{{yyyyyyyxzzzxy{zzzyzyzz{yyzzzyz{zyyyzyyyxyzzz{zzzzyzyzyzzzy{zzzyyyyzyyzzzyzzzzzz{zyzyyzzyzzz{zz{zzyzyyyyzzzzzz{z{{zyyyzzyzz{zzz{z{yzzyzyz{zzzzzzzyyzyyzzyy{|z{z{zzzy{y{zzz{zz{zz{zzzzyzyyy{{{{{{{zyyyzzyzz{zyz{{zzyyyzzzzz{zz{zz|{zzzyzyzz||{zz|{{zz{zzyzzz{{zzzz{zzzzzyz{zzz{{{{{zzzyzy{{z{|z{z{zz{yyzzzy{{zz{{zzzzzyzzyz{{{yzz{z{{yyyyzzzzzzz{zyzxyyzxxz{zyzzzzzyyyyx{yzy{zzz{zzyxyxzyxzzyyz{{zyyzyyxyyzyzzzyzzz{yxxzyyy{zzzzyzyyzxyyzyzzzzzzyzyyyyyxyyzyzyzzyzyyyxyyyyyyyzyzyzyyxyyyzyzyyzz{{zyyyyxyxz{z{zyzzzzyyzxzyzyzzzz{{zzyzyzxyxyzzzzzzzzyyzzyzyz{zzz{zzyzyyyyyyzzzzyzz{z{yzzyyyy{zz{zzzz{zyzzz{zzzzzzyzzyzyyyyzz{zzz{{zzyzyzyzyzzyzz{zzyyzyzyyyzzzzyzz{zzyzzyzyy{zyzzzz{yyyzzzzzzz{yzz{yyzz{yzzy{z|z{||yyyzzyyz{{{{zz{zzyzzyzzy{{|{{{{zyzzzz{zz{z{{z|z{{zzz{zzz{{{{z{{{{{z{yzyzzz{zy|z{{yz{zzzzzz{{{|{{{yzz{zzzz{z{z{z|zzzy{zzzy|{{zzzz{zyzzyzyz{{{zzzzyzzyyxy{zzzzzzzzyzzyzzyzzzzzzzy{zyyyyxxxzzzzzzz{yzyyzyzyzzzzzzz{yyyyzyyyzz{zzzz{yzzyyxyyz{zzyzzzzzyyzyyxzyyyzz{{zzyyyyzx{z{zyzzyyyzyxyzyz{zzyy{zyyzzzyzyz{zzzyzzzyyyxyyyyzyy{zzzyzzyyzyyzzzzzyzzzyzzyzzyzyzzy{zyzyyyzyzyy{zzzz{{zyzy{yzyyzy{z{z{zyzzyxyzzzzzzzzy{zzyyxzzy{zzzz{zyyyzzzyz{{zzz{{yzyzyzyzyzyzzzzzzzyyzzzyyyzzz{{z{zzzzzzzz{zyzzzz{zyzyyzzzzz{|zzz{zyzzzz{z{{z{{{{{{zzzzzzyz{{z{{{{zyzyyyyzz{{{{|{z{yzzz{zzz|z{{|{{zzz{yz{zz{z{{{{{zz{zyz{zzz{{{zzzzzzzyzy{zz{{|z{{zzzz{{{zzz{{{||{{zzzz{zzy{{{{{zz{zzzzzyyz{{{{y{zzzzyzzzzz{zz{zzyyyxxyyyyyzyzzyzzzyyyxyxyyzzzzzz{yzyzzzyxzzyzzzzyzyzzyxyyyyyzzyyzyyyxyyyyyyzyzxzzyyzyzyzxyzyzyzzyzy{zyxzzyzzzz|zyyy{y{zyzzzzzz{{yyyyyxxyzxy{yyzzyyyyyxyxxyyz{zzzzzzyyyyyyyzzzy{zyzyyzxyyyyyyyyzzzzzzyzyyyyzzzzzzzyyyy{yyyzyzzzzzzyzzyzyzyz{zz{{z{zyzyyyzzzzzzzy{zyyzzyyyy{z{yzyzzzyzzzzzzzzz{zz{zzzyyzzz{zz{zy{zz{yzyzyyyzzzzzzzzzzyzyzyzzz{{{{{zyyyzzzzz{zyzz{{{zzzzzyyz{zzz{zzz{yzzzzz{{z{{{z||{zzzz{{yz{zz{|{{|yzy{zzzz|z{{|{|{z{zzyzz{zzz{{{z{zzzzzzzzz{z{{{{z{zzzzzzzzz{{{{{z{y{zyzyy{{{z{{z{zzzyzyyz{zzzzzyzzzyyyzz{z{zzyzzyxyzyyyxyyzzzzz{zxyzyyzyz{zzy{{yzzyyyyyzzzzyzzzyzyzzyyyyyzzzzzzzzyyyzyyyzzzzzz{{zyyxyyyyz{{zyzyzzyyzyyyyyz{zyzyyyzzxxzzyyzyyz{yzyyyyyxzyyyzzz{zzzyyyyzxzyyzzyzz{yyyyzxyyzzzzy{zzzzzzzyyzyzzzyyzz{yzxyzzyyzzzz{{zyyyzyzzyyzy{yzzzyyzyyyzzzz{{z{{zzzyyyyyyzzzzyzz{zzzyyyzy{zzy{{zyzzyzzxyyy{z{zzz{zzzyzzyyzzz{zz{zzyyzzzyy{z{zz|yz{zz{yz{zzz{|{z{{yzzzyz{z{{{{y{{{zyz{zyzz{z{{{yz{{yzzyzyz{{{{{{z{{zzzz{zz{|{z{{z||yz{{zzz{{z||{{{{zzzzyyzz{zz{{zz{zz{yyzzzzz{{{{{{zz{y{yyy{{yy{{|zzyy{zyy{{z{{{z{{yzzzzzyz{zzzz{zzyzzyyzzyzzzz{zzyzzxxyzyz{zz{{{zyyzzzzyyzyzzy{{{yyyyyzzzzyzy{z{{yyyyxxzy{z{zyzzzyzyyyyzzzyzyyz{{zyzzzzzyzzyyyzyzzyzyyzzyyyzyyz{zyzzzxzzzyyzzzzyzyyyxxyyyzzzyyzzzzyyyyzyyzzzyzyyz{yyyyzyzyzy{yz{yyzyyyyyyyzz{zzzzzzzyyzyzxzyzyzz{{zyyzzyz{zzzyzzzzyzyyyxyy{yz{zzzyyzyzxyzzzzzzzzzyxyzzzyzy{{{zz{z{z{zzyyyzzz{z{zzzzyyyyzy{{{{zzz{zyzzzyyzzz{zyz|{{zzzyzzzz{{{z{{{zz{z{zzzzz{|{||{yzzy{yzz{{z{{{{z{yyz{yzzz|{z{{{zz{zyzzzzz{zz{z{{{zyzy{{zz{{zz{zz{yzyzz{z{{{z{||z{zzzzzy{{{{{z|z{{zzz{y{zz{{{{{{{{zzy{zyyzz{z||{{zzzzzzyyy|z{zzzzzyyzzzzyz{z{{|yyzzxzzyyxyzzzzyyzyyzyyyyzzy{zzz{zzyyyyzzyzyzzzzz{zyzzyyyyzyyzzz{z{zyyyyyyyyyzzzz{yzzyyyzyzzzzyyzz{yzyzzyyy{zzzzzyyyyyyyyyyzzzz{zzyyyyzzzxzzyzzyzyzzyyyxxzzzzzzzzzyzyyyyyzz{{zyy{zzzzzyxyyxyzzzzz{{yzyyyyyzzzyzyzzzyzyzxyzyyz{z{|{zyyyzyyzzzzzz{z{zzzzyxzy{zz{zzyzyyyyzzyzz{{yzzz{zzzyyxzyzzz|z{zzzz{zzyzxzz{{z|{z{zzzyzyzz{z{xzzzzyzzy{zz{{{{zz{{zy{zyz{z{{z{zz{zzzzzzzyyz{{{{z|{zyzzzz{z{{zzz{|zz{{zx{{{{{zzz{{{{zzy{zz{y{{{z{{{zzzzzy{z|{z{{{z{{yzz{zzzzzz|z{{{{zzzzz{zz{z|zzz{zzzyy{zz|{z{z{{z{z{zyyzzz{{{zzzzzzyyzzyzz{z{zzzzzyyzzyzzyyz{zzz{zyxyxzyyzyzzzzz{zyyzyzyyz{zyzz{zzxzyyzzyyz{yyyzzzyyyyyyz{zyzzz{zzyzzyzyyzzzzy{zz{yyyzyyyzyzyy{zzyyzyzzzzyzzzzzzzyxyyyyyyzyy{zyzzzyyxyzxyyyzyyz{zyzyyyzyy{zzzz{zzzyyzxyyyyzzzyzzyyyzyyzzzzzyzz{z{zzyzzyzyzzzzzz|{{yyyzyy{y{zzz{{{zzzyyyzzzzzzz{zzyzzzyzzyzz{{zz{|{yzzzzzyz{{{{zz{zyzzyzyyzz{z{{{{zzz{zzyz{{yzz{{zzzyz{zzz{z|{{{{{yz{z{{z{zzz{{{z{{yz{zzyyz{{{{{{yzz{zzyyyz{zz{zz|zzz{zzz{zz{{{{|zzzzzz{{{zz|zz{{{{z{{zzzz{{{{{{{{{zyz{zzyzz{{z{z{{|yzzzzz{|z{{{{z{yzyyz{zz{z{z{{zzzyzzzzzy|z{{{{{zzzy{zzzzz{zzzzzzzyzyyyxzyzyyzzzzzy{yxyzyzzz{{{{zyzyzyyzzzyzz{{zzyyyyyyyzzzzyzzyyyyyxxyyzxzyz{zzyxzyyyyxyzzzy{zz{yyyyyxyyzzyyzzzzzyyyyyyzzzzzzyzxyxyzxyxzyzzxyzzyzyzyyxxyzyyzyzyzzyyyyyxzzzzzzzzzyyxyyzxyzzzzzzzyzzyyyzyyzzyzzzzzzyxzyyyyzzzzzz{yyyyyxzy{zz{{zz{yyzyxyyyzz{zzzzzyzyyyyyz{zzz{yzzzyzzzyyzz{{zzzzyzzzyzyyyzzzzzzzyzzzzyzzzz{yzzz{{zyzzzyyzy{z{{z{zzzzzzyzz{zz{y{{{zzz{yzz{z{{zzz|z{yzzzyzz{zzz{|{{yzzzz{{z{{|{{{{{{zz{zzzz{{{{{}|zzzzyzz{z{z{{z{{{{zyzzzz{{{{{zzz{zzz{zzzz{zz{z{{{zzzzzyzzzz{{zzzzzzzzzzzyzzz{yz{{zyyzzyyyz{{{{zyzzxyyzzzyzyzzzy{zyyxyyxyyyzzzyyz{zyzzyyyyyzzzy{zyyxyzyyzyyyzzyy{zzyzxyyyzzzzzyzz{zzyzyy{yzyzyyzzzyzzzxyyxyzzzzzzyyzyyyyzyzzyyyyzzzxxyzzyyzzzyyzzz{xyyxyyzzzzzzzzyyyxyxyxyz{zzzzzzzyzzyyzyyy{{yz{zyyyyyyzyyyyzzzyzzzzyyyyyzzzzzzz{zyyzzxyzyzzzz{z{yyzzzy{zzzz{zzy{yy{zyyzxzzyzyzzzzzzzyyzzzzzzyzzzyyzzzzzzzz{zzzzzzyzyyzyzz{zzyzzy{zzzzzyz{yz{{z{{yyyzzyzz{z{{z{{{zyzzzyyz{{{zzz{zzyzzzzzzz{{zz{{{{zyyzzz{z|{zz{{{{zzzzzyzz{{z{z{z|zzyz{z{zzz{z{{{{zzyzyzzzz{z{{{z{{zzzzzz{z{{y{{zyzzyzyzzzzzz{{{{zzy{zzzxz{y{{y{zzyzyyzzyz{zzzz{zyzyxyxyyzzzzyzzyzzyyyyyyzyzzzz|{yyyyzzyzzy{zzz{{yzyxyyzy{z{zz{zzyyxyyyyxz{zzyzyzyyyzyyzyzzzzyzzzzyzyzxyyyzyzz{zzyyyyzyzyzyzyyzzzyyzyyyzyzzyyzzyzzyyyzyxyyz{zzzzzyyzyyyyzzzz{zz{yyyyzyxzxzyzzzzzzyzzzyyyyyzzzzzzzyyzzyzxzzyzzzzz{zz{yzyzyzzzzzzzzzzzyzyz{zy{zzzy{y{zyxyz{zzy{zz{{y{zzyyzzzzz{z{zzyyzzyzzyzz{z{z{zzyyy{yxz{z{zzz{{zyyy{zyyzz{{{zzzzzyzyyzzzzz{{zz{zyzzyyzzy{{zz{zz{{yyyzz{{{zy{z{zzz{yyzzyz{z{{{{zzzzzzyzzy{{{z{{{{zzzzyzzz{{|z{zz{{zyzyz{{z|{z{{z{z{zzz{yzyzzz{z{zzzyzzzyz{{z{{z{{zzyzzyyzzz{zz{zyyzyyzyyy{zzzyyzzzzyyzyyzzzzyyzzyyyyyyzyzyyzzzyyzyyxyyyyzyzzzyzzzyyzzyzyzz{zzzzzzzyxyyyxzzzzzzzz{yywxzyyzyzyyz{yyyyyzxyyyzzyy|zzzzyyyxyzyzzzyyzzyyyzyyyzzyzzz{yzzyyzyyyz{yyyzzzzyyyzyzyyzzzz{yz{zxzxzyyzyzzzzyzyyyzzxyyxzzyzz{|yyyyzyyxxyzzzyzz{{yyyzyyzzzzyzzzz{zzxxyy{yzz{yz{{xyzxzyy{zzz{zz{zyzyyyyzyyz{zy{zzzzyzyyzyzzyzy{{zzzz{{yzzzzzyzz{yzzyyz{yzz{z{zzzzzzzzz{zzy||z{{{{zy{yyzyx{{{zy|{zzyyyzzzz{zzz{{z{yzzyzzzyzzyy{|z{{zyyyzz{{{zzz{{zzyzz{{zy{zzz{{{{{zzzzzz{zzz{{z{{{z{zzzzzz{{zz{{{{z{zzzyzz{{{y{z{{zyzyzzzz{zzzz{zyzxyyyzzzzzzzzzzyyyyzyyxyyzyzyyzyzyyzyxyzyzzzzzzyyyzzzyyzz{z{{yzyyyyyyyzzzzzzz{zzyyyyyzxzzzyz{y{yyyxzyyx{zzyzzzzyyzyyyyyyyzzyyzyyyyyyzyyzyyzyzyzyzyyyyyyyzzyzyyzzyyyxzxzzzzzzz{zzzzyyyxyzzzzy{z{yyyzyyyyyyyyyzzz{zyyzyzzyzyyzzz{zyzzzzyxyz{zz{z{zyyzzyxzyzzyz{zzxyyyyxzzzzzzzz{{yyyyyyyzz{z{zzz{zyyyyyyyy{{{z{zzzzyzzyzyzz{zz{{yyyzzzzzyzz{zz{yzyzzzzzyzz{z{zz{{yzzzzzzzz{z{z{|{yzyzzyxz{{zzzz|zzyzy{zzz{y{{{{{{{yzzx{zyz{zzz|{{zzzzy{zz{{zz{zz{{zz{{z{z{{{z{{z{{zyz{yy{z{{{|z{{{{zz{zzzz{{{{z{|{zzyy{zy{zzzzz{{{zzzzyyy{{z{{zzzzzzzzzyyzzzzz{yzyyyzyyyyzz{zzzzzyyzyxyyyyzzzzzzzyyzxyzyzzyzzzzzzzyyyyyyzzzyzzzzzyzzxyzyyz{zzyzz{{xzyzz{yyzzyz{zyzyzxxyyyzzzzy{zyzyyyy{zyyyyzyzzzyzxyyyyzzzzzzzzzzzyyxzyyzy{z{{yzyxzxyyywyzyzyzzzzyyzyyyyyzzyy{zyzyyxyyyyxz{yyzzzyyyzyzyzyzzzyyzzzzxzzyyzzzzz{z{{{xzyyzzyzzyzzzz{zyy{yzyy{z{z{{{|zzzyyyzyyy{zzz{zzyzyyzxzzzyz{{{yzyzzzzyzzy{z{{z{zy{zzzzzzzzzz{{zyzyzzzzz{zz{{zz{zzzyzyzz{{zz{zz{{y{yzxyzz{{zz{{zzzzzzzzzy{zz{{{zzyzyzyzzy{{{{|{{{yzyyzzz{{z{z{zz{{zyz{z{zz{{{{{|zzz{zyyzz|y{zzz{zzzzzzyz{z{zz{{zzzzyyzyyzz{zzz{zyyzzzyyz{z{yzzzzzyzzzyyyzyzzz{{{zzyzzyyyyzyzz{z{zzzyzzyyyzzy{z{{zyyyzyyzzz{zy{zzzyyyyzzyyyzyyzz{yyxyzyzzzz{zzyzzzyzyzyyyzz{zzyzzzyyzyzzzzzzzy{zzyzzyyyyyzyzzzyyzzzyyzyyyzyzyzzyzzzyzyyyyyzzzz{z{zyzzyyyyyzzzzzyzzyzyyyzzy{zzz{{{yyyzzzyy{{z{zz{zzyyzzyzzzz{zzyz{zzzzzyyzz{yzyzz{zzzzyzzzzzyz{z{{zyyy{zzzz{zz{z{zzyzzz{yzz{{|zzzyz{zzzzxz{{zzzz{z{{z{zzzy{zzz{{{{zz{{zz{zzzz{z{z{yzzzzzyz{{zzz{z{{zzz{zyz{z{{{{{{{yyyyz{zyz{z|{{||y{zy{zzy|{z{{{{zzz{z{zy{{||{{{{|z{zz{z|zzz{{{{{zzzz{yy{z|{{{|z|z{yyzzyyzzyzz{|{{{zzzz{yzz{{z{{{yzzyyzyy{z{{{{zzzyyxyy{yzyzz{zzzyzyyyzyzyzzz{yzzzzyyyyyyzzzzzzz{yzyzzyzyzz{yzz{y{yyxzyyyyzzzyzy{yzzxyyzyy{yzz|xyzzzyyyyyyzzzzzzzyzyzzyxyzyy{zz{zyyyyzzyyzzzz{zzzzyyyxzzyzz{{zzzzzzzyyyywyzyzzzzzz{yy{yyyzzzyyyzzyyzyzyyy{{zzyzz{zyzzzxzyzyzzyzz{zzzzyyzzzzzyz{{zzyzzyzzz{zzzz{{zyzyzyzzzzzy{zyzzzzzyyyyzz{{{z|zzzz{{yy{zzyzzzzz{zzy{{zz{z{zyz{{{zzzyz{y{zz{{{{|{{z{{{yzz|{z{z{zzz{zzzzzzz{{z{{{{zzzzy{zzz{{{{z{{{zzz{{{{zz{{{zz{z{{z{{zz{zz{z{{z{zzzzz{{|z{zz|{{zzzzzzzz{z{{z{{{{zy{z{z{z{{{|{zzz{{zyyzzz{zz{z||z{z{zzzz{{z{zzzyzzzzzyyzzzz{z{{yyyzzzyyyy{zzzy|zzyyyzzzyyz{zz{zzzyyyyyzx{zy{y|z{{yyyzzyyyzz{y{{zzyzyyzyxzz{zzzzzyzzxxyzyz{zyyzyz{yzyyyyyzy{yzzzyyxyyyyyzzyyzyzzzzyyzzyzyyyzyz{{{yyzzy{yzyzzyzzzyzyzzyzyzyz{zy{zyyyyzzyyyzzyyzyzzyzzyyzzyx{zzzzz{zzzyy{yyzzzzy{{{{zyyzyzyzzzz{{{{yyzyyyzzzzzzzzz{zyzzzyzyz{zzzz{{zyzyzyzzyzzz{zzz|zzz{zzy{{zzz{{{{zzyzzyz{yz{{zzzzzzzz{zz{z{{|{|{yzzyzzzz{z{{z{{{zzzzzyyz{{{{|z|{{yzzyzzy{z{z||{|zyzyzz{{z{{z|{{{{zzzyzzyz{{{{{{{zzzz{{z{z{}{{z{{{zzzz{zzz{{{{{{{{zzz{zzy{{zz{{{{zzyyzyz{z{zzz{zzzz{zzy{yz{{zz{z{{yzzzzyyzyzzzyyzyyzyxyzyzzzyyzzzyyzzyyyyzz{zzz{zzyzyyzyzzzzz{z|zzyzyyxyyz{zzzzzyzzzyyxzyyzzzzzz{yzzzyyyxyzzzz{zzzyyyyxzzzyzzzzz{yyyzyyzyzzzyyzzzyyzxxyyyyzzzyzzyzzxyyzyyz{yyzyy{zzzyxyyyyzzzyzzzyyzyyxzyyzyzzzy{yzyyyzyyy{yzx{zzzyzzzyyyzzzzz{zzzzyyzxzz{zzyzzyzyyzyyyzzzzzzy{{zyyyyyyyyyzyz{zz{zyzzzzyzzzz{{zz{z{yzyyyyzzzzz{{{yzy{zzzzz{zzzzzz{zzzz{yzzz{{{{{zzyyzyzz{z{{{z{{|zzyzzyzzy{{z{zz{yzzzzyzy|{{{{z{zzzyz{z{{zyzzzz|z|{yz{zzyz{{z{{{{zyz{{zz{z{{zz{zz{yzzzzzzzzz{zz{{{zzzzzzz{{{{{z{zzzzyzzzzz{z{{{{zzzyyyzzyz{z{zz{zyzzzzyzzzzzzzzzzyyyxyyyzyzzzzy{zyyyyyyzzyzzzzzzzyyxxzyyyyyy{zzzzyyyyxyyxyyyzyzyyyyzyxxyxyzyzyzy{zyzyzyzyx{zzzy{yzyzyxyyyyyzzyzzzzyyyxzxyyy{z{yz{{zzxyyyzz{zzzzzzyyzyzyyzyzzzzzzyzyyyyzyxzy{zzyzzzyyzyzyxz{zz{z{yzyzyxzzyyzzzzzzzyyzyyzzzzyy{y{{zzyzyzyyyzzzyzzyzyzyyzzzyzz{z{{zzzzzyyyzyzzzzzz{zzyzyzzzzz{zzz{zzzzzzz{zyzzzz{z{{{yzyzyyzzzz{y|z{zz{zzzzyyzz{zy{zz{zzz{zyzzzz{|{{{yyzzzyy{z{z{{{zzzzzzzz{{{zy{z{{zzzzy{zyyz{z{{{{yzyzzzzz{{z{z{{{{z{z{y{zz{{{z{z{zyzzyzzz{z{{{{{zzz{zzzzzyz{{{z{{zzyzz{zzy{z{z{{{zzzyyyyyz{zzyz{zzzzzyzyyzzzzz{zzyyyzxzxxy{zzzzzzzzyxyyyyyzzyzzzzzyyyyzyzzyzzyz{zyyyyyyzyz{zzyzyzyzyxyyyyzzzzyzzzyyzxyzyzyyyzzzzzyyyyzyxyyz{zzzz{yxyzyzzyyyyzzyzyxzyyyyyyyyyzzzzyzzxyyyzyyyzyzzzzzyyyyyxyzyyzyyy{zyyyzyyyyzzyyzyzy{xxyyyyyzyzzzzzxyzyyzzyzy{zyyzzzyyyyyzzzzzzzzzzxyzyyyyzzz{zyzzzyyyxzyyzyz{{zzzzzzyyzyyyz{zz{{yyzxzzyzyyzz{zzz{z{yxyyyzyzzzzzzz{zzzzzyyz{yzz{{{{yz{y{yyz{yzzz{{{{yzzzyyyz{zzzz{zzzyzzzzyz{zzz{{{zy{{z{z{{z{z{{{{{zyzz{zzz|{zzz{{yz{zzyzyz|zzz{{zzyzzzzyzzzzzzz{{zzzzz{{{{zz{zz{|zzzyzzzzz{yzz{z{{zzzzyzzzzz{zzzyzyzzyyzxzz{zzyyzzyxxzyxxyzyzzyzzzyyyyxyyyyzzzz{zzyyyyyyyzzzxy{zzyyzyzzyyzzyzyyz{zzzxxyyxyyzzzzz{zxzyxyxyzzzyyz{yzyzyzyxx{yzyyz{yyzyxxyyyyzzzzzzzxyzzyxyxyxzyxzzyzyxyyyyyyy{yzyzzyyyyzxyxzzy{zzzzyzyyyzxyyzzyyzzyyzyyyyzzy{zyzzzyyyyxzzxyyyzyzz{zzyyzzxyzzzzzzyzzzyzzyyzy{zzyz{{{yzyyyzyzyzzzyzz{zyzyzyzzzzzzzzzzzyzyyyyyzz{yzz{zzzyzzzzzzzzzz{{zzzyzyzyz{{{{zz{{zzzzyzyz{{z{zzz{yzzzyzyzyz{{{z{{zzyyyzyz{{{{|{{{{zzzzzzzz{{{{{z{zyzyyzy{yz{{z{z{{z{zzyzzz|{z{{{zyzzzz{yyzz{z{{{{zzzzzyyy{zyz{{{zzzyyz{zzz{{zyzz{{zzzyzzyzz{z{{zzyzzyzzyyyz{zyzzzyzyyyyxyzyyzzz{zyzyyzyxyzzzzzyzzyyzyyyyyzzz{yyzzyyzyyyyzyzz{yyyzzyyxyyyzyzyzzzzzzyyyyyyyzzzzyzzzzzyzyxyyzzyyyyyzyzyzxzyyzzzzzy{{zxzyyyzyzzzyzzzyzyyyyyxyzyzyzy{yyzyzzyxyyyzzzzyzyyzyyyzzyzyyyzzzyzzzyyzxyzyzzzz{zyyyyzxyyyyyzzyzzzxyzyyyzzyyz{zzzzzyzzyyyzyyz{z{xzzyyyzyzzzzy{zzyyzzzyzyy{z{{zzzzzyzzyyz{y{yzz|{zyyzyyzz{{{zz{{{z{zyyyyzz{||{zzzz{yzzz{z{{z{z{{{zzzzzzyzz{{zz{{z{xyyzzzy{zyz{{{{z{zyzzzzzz{zz{{{{yyzyzzzz|zz{{{{zz{zzzzyz{{{{z{{zyzyzzyzzzz{{z{{{zyzz{yzz{zz{|{zzy{zyzzzy{{zz{{zzzzzyzzyzzzzzzzzzzzxyy{yzzzzzz{zyyyxyyyyx{zyxyz{yyxzyyyyyyzzzz{zyzxxyyzx{yyzzy{zzzxyyyyyyyz{zyzzyzzyyyyzzyzyz{zyyyzyyyyyzzzyzzzzzyzzzyyy{yzzyyyzzyzxyyyyzzxyyzzzyzzxyyyyyzzzzyzyzyyyzyxxyzzzyz{zzzzzxyzyzzzzzy{zxyxyxyyyyzyyzzzzyyzyyyyyy{yzzzzyyzzzzzyyyzyzyzy{zyzxyxyyzzyyy{zyzzzzyzzyzzzzyzzzyyyyzyyyzyyyzyzzyyzz{yzyzz{{zzyzzxzyzyyyzzzyzz{zzyzzzyzyz{zzz{{zyyzzyzzzz{{{{zz{zzzyzyzyzyyz{{{{zyyzzzy{|{{{z{{zzy{zyxyyz{{zz{zz{yzzyzyzz{{zz|z{zzzyzzyzz{{{z{{zzzyzzyzz{zzyzzzzzzzzzyyy{zz{{{{{{{zyyzyyz{{zzz{{zyzyzzzyz{zz{zz{z{zyxyzyzzz{z{{zyzzyzzzyzyzyzzyyzyyyyyyyy{zzzzzzzzxyzzzyzyzzy{y{zyxxyyyxzzyzzzzzyzyyyzyzyzzzzyy{zyyzyxyyzyzyzzzyyxzyyzyyxzyzyzzzyxzyzyyyyzyzzzzyyyyxzzyyyzzzzzyzyyyyyxyxzzzzyyyyyyzyyyxyy{yzzyzzzyzyzxyxzzz|yzzzzyyzzyxyyyzyyyyyzyyxxyyyyyyyyz{zyyyy{zyyzyy{yy{zzyyyzyyyxzzzzzyzzzzzyyyyyzyzz{{{yyzyyyxyz{yzzzzzyyzzzyzxzzz{z{y{yyyzyyyyzzzzzzzzzyzzzyyyzzzyyzzzzyyyzyzyy{{z{zzzyzyyzy{yyzzzz{z{zzyyyyzyzzzzzzz{zyzzzyyzz|zz{zz{zzyzyz{zz{z{z{{z{zz{{{yzy|{|{{z{zzzzzyzyzzz{zz{{zzzyzzxzy{y{{{|{{zzzzyzz{z{zz{{{zzyzzzyyzzzzy{{zzyzzzzzz{{yzzzzzyyzzzzyz{y{zz{yyzyzyyyzyzzzyzz{zzyyyyxyyz{zyzzzz{zzxyyzyzzzzzzzzyxzzzyxzzz{zyy{zzyzyyyyyzzyzzzzyyyyyyyzxy{zyzzyzyy{yyzyzzzzzzzzzyxyyzyxyyyyz{yzyyyyyxyyyy{yzzyyzyyyyzzxyyzzzyzzzyyzyzzyyyyz{zyyzyyyzzyyxzzyzyzyyzyyyyxyyyzyzzzzyyyzyzzyxzzzzzzzzyyyyzxyyzzzyy{{z{yyzyyxzzyzzyzyzyzzyyxyzz{zzz{zzy{zzzxzyz{{zy{zzzxyzzyyzz{zzz{zz|yzyyyxyz{z{zz{zyyzyzy{zz{z{z{{{yyzyzyyzy{{{z{z{zzzzzyzyz{z{{zz{{yz{zzzy{zzzz{{zzz{zyz{yz{yzz{zzy{{zz{zzz{{{{|{zzzzyzzzz{z{{z{|zzzy{zzy{{yzz{z{zy{yzz{z{zzz{{{{{zzzyzyzzz{zzzzz{zzyzyyzyz{zzzzzzzzyyyzyyzyzyzzz{zzzzzyyyy{{y{zzzzyzyyyyzzyzzzzz{zyyzzyyx{zzyz{{zzyyzyyzzzzyzzz{{zyzyyyzzywyzzyyzyyyyyyyyzyyzzzy{zyyyzzyyyzzxzzzzzzyzyzyxzzzz{{zzzzyzyzyyyzzzyzzzyyyyzyyzyzzzz{{{yzyzxyzxzzzyzyzzzyyy{zyyzzyzzzzz{yyz{xzzyzzzzz{{zyyzzzyyz{zy{z{zzzyxzzyzy{{zz{zzyzyyyyzyzyzzyzz{|zzyyyzy{zzzzz{yzyyzzzxyzzzzz{y{yzzzzyyyz{zzyy{zzzzzyyzy{{{{z{zyzzzzzzzzz|{{{zzyzyz{zzzz{zz{{{z{zzzz{zyzz{{{zz{{{zz{zzzzz{{z{{{{{z{zzzzzz{z{{{z{{yzzzzzzz{{{{{{{{zzyzzzz{{{{{z{zzy{zzzz{zz{{{{z{z{z{zyzz{z{{{{{{zzzyy{zzy{zy}{z{zzzzyyyyy|{zz{{{yzzyzyzzzzzz{{zzyyyxzzyxyz{yzzzzxzyyyyxyyzyyzz{zzyyyyyzyzyz{yzxzyzzzzzxxzz{yyyzzyyxxxyyxzyzzzzy{zzyyyyyyyyxzzyzzzyyzxxyy{zzyyzzy{yzyzyyyyzzzzy{zyyyyyzyyyzzy{zzzyyyzyxyyyzzz{zzzyzzzyyxyyzyxzzzzyyyyzzzyyyzyyzyyyzzyyyyyyzyzy{z{zyyzyzxzyyy{zzzzzyyyyyyxzzzzzzz{yyyzzyzyzzzzzzzzzyzyyzyyz{zzz{z{yyzyyyyyzzzzzyzzzyyyzzzy{zzzzzzz{zyzzxyyz{zyy{{zyzzzzzzyy{zzz{zyyyzyzy{yzz{{zz{{z{yzyzyzz|{z{z{{{zyyyyz{z{zz{{{{{yzzzzz{{{zzz{z{|zzzzzzy{{{zz{{{{y{zz{yz{z{{z{|z{yzzzzzzzzz|{{{{{z{{zzzzzz{|{z|{zzzxzyzzyzzzz{{{{zzyyzyyz{zzzz{zzzzzyyzxyz{yyz{yyyyyzyzxy{zyzzyzzzzyxyyyz{zyzyz{z{yyyzzyzxzzy{{{zzzxyzxzyzz{z{zz{yxyyyxxyyzyzzy{zyzyzzyxyzzy{zzzzzzyyyyxzzyyz{yzyzzzyyyyzyy{yzz{yyyyyyyyzzzzz{zyzyyzyyxyzyzz{zzzzyyzyxyzyz{zzzz{zyzxxyzyyzzyyyyzzyy{xzzzzzzzyyzzzyzzxzyyzyzyzz{zyzyzzyzyy{zzzzz{{yzyzyyyzzzzzzyzzzxyzzzy{z{zz{z{yzyzzyyyz{yzzzzzyzzyzzyyzz{{zzzzzyzzzzzyz{{zy{{zzzzyzzyzzy{{{{{{zzyyzzz|zzz{zzz|{zzzzyyz{zy{{{{zzzzy{zzz{{{{{{{{{zzzy{{zy{{{z|z|zyzzzzzzz{{zz{{{{zz{yyzy{{{{{{{z{zz{zyz{yz{{z{{{{zz{zzz{z{{z{{z{zzyyzzzyz{{{{{{z|{zyyzzzzzzzzz|zzzzyzzyy{{zyyyxzwyxyyyxzyz{xxyzzzyyzzyyyzyzzz{zzzzzyyyyx{yyz{zzzzyyzyyyyzzzyzzyz{yzyyyyxzzzzyzx{yyyyzyxzzzzyzy{yyyzyzyyyy{yzyzzzyyyzzyyyz{yzyzzyzyyzyyyyzzz{xz{zyyyyxxxyzzyzyz{zzz{yyyyzzzyy{z{zzyyyzyyyzyzyzzzy{zyyyyyzyzyzz{zzyyyyzzyyzzyzzz{zzzyxzyzyyzzyzz{zzyyyyyzyyzyzzz{zzyzzzzzyz{y{{zzzzyyyzyyyyz{zz{yz{yzy{zzyz{yzzy|zzzzzzyzzzyz{zzzz{zyzyzzzyzz{z{{{{zzyzyzz{{zzzz{|zyyzzyzy{{zz{z{z|zzyzz{z{{zzzz{zyz{yzzyzzzz{{{{{{zzzyzzyz}{{{{{{zyzzyyz{z{{{{{{yzyzzzyyz{{{{{{{{{zzy{zyzz{z{zz{{{zzyzzyyyzz{zz|{zzzzyyyyzzzzz{zzzzyyyzyyzy{z{zyyzxyyyyxxzy{zzyzzzyzzzyyyyyz{z{{{zyxxyyzyzzzzzy{zzxzyyyyyzzzzy{zzyzyzyzyyyyzyyzyzzyzzzyyxzzyy{z|zyzzyzyzyzzzxzyzzzxxyyyzxzzzyyyy{zzyyyyyyyz{zzzyzyxyxyyxyyyzyzyzz{yzyyyyyzzy{zyzzyzyyzzyyxzzzzzyzzzyzzxyxyzzzyzyzyzzxzyyyyyzzzyz{zy{yzyyyyyzzzz{zxyzyyxyyzzzz{z{zyzzyyyyzzzzzz{yzzyyyzyzy{zz{zz{xzxyzyyxxz{zzzz{zzzzzzyzyz{yyzzzzzyz{zzyyyz{{z{{{zzzyyyzz{zz{zz{zzzzyxyzzz{{zzz{z{yzz{zzzy{{{z{z{{yzzzzzz{z{z{{zzzzzy{{zzzz{{{{{{{z{z{zzz{zzzzzz{{zzzyzzz{zz{z{zzzzz{zzzz{zzzzz|{{zzyyyzzzz{yz{zzzzyyzzyzz{y{y{{y{yyzzzzzzyzzzyzyzyyzyyzyyzzyyzz{zzyxzyyzyxzzzzzzz{yyyyyyzzyyzyzzzyyzyzyyy{yzyzyyzyyxzyyyzzzyyzzzyxzwyyyzyyzyzyyzyyzyyxyyzyzzyzzzzzyxyyyxyyzzy{xzyzxxyyyyyzzyyzzyyyyxyyyyyz{zzzzzzxyyyyyyyzyyyzzyyzxyyxyxyyzzyzyzzzzyyyyyy{yyyz{zzyyyyyzyzzzzyy{{yyyyxyyyzzzz{zzzyyzyyyyzyzzzyzzzyyyzyzzyzyzz{z{zzzzzzyzyzy{y|zzzzzzzzyyyz{zzzzzyzyyyzzyyzzzyzzzzyyzzzzxyy{zz{{z{yyzxy{zzzzzzz{{zzzzzzyyyz{yz{{{yzxyzzxzyz{{zzz{|zzyzzyzzz{{{z{{z{y{zzzzzyzyzyz{zz{yzy{yyzzz{z{zz{yzz{z{zzzzz{z{{zzyzzzzyz{z{z{z{zzxzzzzzzzz{y{{{zzzyyyzyz{zzz{yzyyyxyyyyyzzzyzyzyyxyyxyyy{zyy{yzzyyzxyyzzyzyzzzzyyyyyyyy{yzzzzzzxyyyzyzyzzzzyzzzzzyxyyyyyy{{yzzzyyyyyyzzyyzyzzzzyyzyyxxyzzzxxzyzyyzyxyyyzyzzyzyzyxyzyyyyyzyyzyzzyyxxyxxzzyyzzyzxyxzyxxzyyzzyzz{zzyyyyyyxyzzzzzzyyyxxzyyzzzyzzzz{yyzyyzyyyzzzzzzyzyzxyxzxyzzzzz{|yxzzyyyyzyy{yz{zyy{zyyzyyzzzyy{zzzzy{yzxyzzyzzzzzyzyyyxyzzzz{zzyzzy{zyyyzzzzyzz{zzzzzyyyzy{zz{z{yyzzzzzz{zzzz{z{zzzzyyzzz{zzz{zzzyzyyzzy{{z{{{|{zz{{yzzzzyzzzzz{{yzyy{z{z{{zzz{z{zzz{yyzz{{{{{{{{yyzzzz{zzzz{|{{zzzzzzzz{{z{{zz|{zzyzzzzz{{{{{{z{zzyyzzzz{{zyzzzzyzyyyyzzzzzzzyyyyyzyxyyzzzyyzz{zyxyxyyyyzyzyyzzzzyyzyyzxyyzz{y{zyzyzyyxyzz{zyzzzyzxyxyxyyyzyyyzzyzyzyyyyzzyzzyzyyyxyyxyxz{zzzzzyyzzzyyyzyyzxyzzyyyyyyxyzyzzyy{zyxyyxxxzzzyzzyzzyyyyxyyyzzzzzy{zyyzzyyxyyzzyyyzzyxyyxxyxzzzyz{{yyzzyyyyyzzzzz|yzzyyyyyzxyzzyxzyzyyyyxxyyzyzzyzz{zxzyyyyyzzyzzzzzzyzzzzzyzzzyyz{z{yywyyxxyz{zz{{zzz{zyzzy{zzyyzzzzzxzzyzzyyz{{zzzy{yzzzzyzz{{y{{{{yyzyzzzz{{y{{z{{zzzzy{z{{{y{{{{yyyz{zzz{{{{zz{{zzzyzzzz{|zz{|{zz{yzzzzz{zzz{{|z{zzzzzyzyzzzzz{{{zyyzzz{z{z{{zzzzzzz{zzzzzz{zz{zzzzyyyzzzzz{yz{zyy{yyyyyzzzyyzzyyyyzyxyxyzyzy{zzyxyzyxxxzyzzz{{{yyyzyyxyzyyyzyzzzyyyyyzyzzyzzz{yyzxxyyyxzyz{zzyzxyyxyyyyyzzyyzz{zzyxxzyyyzzyyyzzyzyyzyyyyzzzyzzzyyyyyxyyyzyxyz{zzyyyyyyyzzzzzyzzyyzyxyxxyyzzzzzyzyzyyyyyyzzzyzxzyzyzzyyzzzyzz{zzyyzyyzyzzyzyzyzzyzyyzyyzzzzzz{{zzyzzyyzyzzzzzzz{yyzyyzzyzyzyz{zzzzzzxzzyzzyzzzz{yyyyyyyyzz{yzz{yzzzzyzyy{zzyyyz{yzxyzyzyzy{z{{{yyz{zzyzy{{zzzzz{zzyyzzzy{{z{z{{zzyzzzyzzz{zzzz{{zzzzyz{zz{{zz{{zzz{zzzz{z|{z{{{z{zz{zzyz{zz{zz|{{zyz{yyz{z{zz{z{zzzyzyzzzzz{{{|zzzyyxzzyzzzz{{zzzxzyy{zyzz{{yzzzzyzzyyzzzzzz{zyzyyyxyyyxyzzyzxzzzyxzyyyyy{zz{{{{zyyyyyyyzzzzzzzzyyyzzyyyz{zzyzz{yxzxxyzyzyzzyzzzyyzyyyzyyzzzzyzyyxyyyyyxyy{zyzzzzxyyyyz{zyyzz{zzyyyyyyyyyzyzzzzzxyyzyyxyyyzz{zzzyzzyxyyyzzyzzzzzyyzyyxzyyyzyyzyzyyyyzyyzyzzyyz{{yyyzyzyyzzzyzzzzzzyyzzyyzzzyzzz|yzzyyzzz{zzyz{z{zzyyyyyzz{zzzz{{zzyyyyyzzzz{{{zzzzzyyyzyzzy{zzzzyyzyzzzyzzzyyzzzzyzz{yyyz{{{z{z{yzzzzyyz{zz{z{z{zzzzxzyzzz{zzzzy{xyzzzyz{|{{z{{{{zzyzz{{zzz{{{z{zz{zzzzzz{z{z{{{{yzzyyzzzz{zzzz{{yyyz{y{zzz|z{zz{zz{yzzz{{z|{z{{{yzzyzzzz{z{z{zzyzzz{zzyzzzzzzzzz{zzyyyyzzzyzzyzzyxyyyxwyz{yyy{y{zyzyyxyx{|yzzzzzxxxxzyyzzzzzzzzyyzzyyzyyzyzzyzzyzyxyyyxzzzzyzy{yyyyyyyyyyzyz{zyyyyyyyyyyyzzzyzyyyyxxyz{yyxzyzzzxyyyzyyyyzyzyzzyyyyyyyxxyyyyyzzyzyzyyyyyzzyyyz{zyyyyyyzyyyzyyzzyzyyyyxyyy{yyy{yzzyzzzzyyzzyzzz{zzyyyzzyzzz{zzzz{yyyxyyyzzzyy{{zyyzzyzyxyzzzzzzz{zyzyxzzzyyzyzzyzzyyzxzyz{zzzy{{yzzyyzzzyyzz{y{zzzzzyzyyzzzzzz{{{xzzyzy{y{zzzz{{{zzzz{zzx{{zz{{{zzzzzyzyy{{{zzz{{zz{zxzzz{z{z{{z{{{z{zyzzz|{{{|{{z{zz{y{zzz{{{zzzzyzyz{yzzzy{{z{{{yyzzyyzyz{z{z{{z{zyy{zyzzzzz{{{{zzyxy{yzzzzzyzyzzyyyzyzyyzzy{yyyyxyyzyyxzy{z{z{zyyyzyyxyyyzyz{zyyyyyyzyzzzzzzyzyzzyyyxy{zzzyzzzzyyyyyyxyzzzzzzzzzyyyyyxxzzyyzzzzyxyxyxyyyzzzzzzyyyyxzyyzzyyy{zzxyyyyyyyzzzzzz{zyyyzyyxyxyzzyzzyyyyyxyxxyzyzzz{zzyyzyyyzyzzzyzyzzyyyzyzxyzyzzyzzzyzyyzyxzzzyyyzzyyyyyyyyzyzzzzzzyxzzyyzyz{yz|{zzzyyxyzyzzzzzzz{zyyyyyyyyyzy{zy{{yxxyzzyyzzzzzzzzzyyzxzzyyzzz{zz{zzzyyzzy{zy{{{{zzzyzzyzyzz{zzzzzzyz{zzyyzz|z{z{zzyzzzzzzz{zz{{{{yzyzz{z{{zz{z{z{{zzyzzzy{{{zz{z{zyzzzz{z{zz{{zz{zyzzzzy|{zzz{{{{{yzzzyzz{{z{{z|{{zzzzzzz{yzzzzzz{zzyyz{yz{zz{z{zzyzyzyzyyzzzxzyyyyzyyzyyyyzyzzzzzyyyyzyyyzzz{zzzzyzyyzyyzyzzzyzzyxzzzyyzzzzzzzz{zyzyyyzyzzz|yz{{zyzyzyzyzyyyyzyzyzzyyzzyzy{yyzyyyxyzyyxxzzzzyz{zyyyyxxzyyzyzzyyyzyxzyyyyyz{y{{y{zxzzxzyyyyzzyzzyzyzzzyyxyyzy{yzzyyyxyyyyxyzyz{z{yyzyzzyyyzyz{zzzyyyyyyyzzz{zzyzzyzzzzzyzzyzzz{yyzzzyyzyyzzyzzz{zzyz{yyyyyz{zy{zzzzyzyzyzyzzzzz{zzyyzzyyy{zz{zz{zzyzyyzyz{zz{{{{{zzzyzzyy{{z{{z{|zyzyzyzzz{{{{{zzzyyzyzzzzzzzzz{{yzzzy{z{{{zzz{z{{zzzz{zzz{{{|{{{{y{y{{yy{z{zz{{{{zz{zzzz{{zz{|{{zzzzzyzzz{{z|z{{zzyzzzzzzzz{yzz{y{zzz{zzy{z{{{{|zyzyzzyyzzz{{zzzyyzxyyzyzyzyz{{zzxyyxyyyzzzzzzyz{yzxyyyyyyz{y{zzyyzyxyzxz{zzyzzzyxyyyxzxzzz{zzzzyyyxyyxzzzzzz{zzyyyyyzxyyzzzxzzzzzzyyyyyzy{yzyzzyyxxzyyyyyzyzyzzzyyyyxyzzyyyzz{zyzyzxyxzzyzz{zzzzyyyyzyyyxyyyzzzzzyyzxyxzzzyyzzzyzxyzyyyzy{z{zzzzyyyzyyxzzyyzzyzzzyyzyzyyzyzzzzzyyyzxyxzzzyzy{{zyzyyyzzyy{zzz{zzyxyzzzyyzzzzzzz{{yzzxyxzzzzzzzzzyyzyzyyzz{{{z{{zzzzyyz{yzz{zzzzzyy{zyyyy{z{z{zyyzzzzyzzyzzzz{z{{{yzyy{{zy{{zyz{{{zzyz{zzz{zz{{{{{yzzzyzz{zz{z{{{zyzzzyzyzzzz{z{{{zz{zzzzzyz{yz{z{{yzzzzz{{z{{{z{zzyyyyyyzz{z{z{{yyzxzyyyzz{zzyyzyzzzyxyxyyzyy{y{yzzyyyyyzzzyzz{zzy{yyyzxyyzyzzy{zxzzzzyyyzzyzyz{yyzyzxyyyzzyyzyzyyxyyyyyyyyzyyzzyzyyxyyxyyzyyzzyzzyxyyxyyyzyzyzzyyzxzxyyzzzzzzzyyxzyxyxxzyzyzyzzyyzxyyyyyzzzzzzzyyyzyyyyzyyyzyzzyyzyyyyyzzyzzzxyyzzyyyyxzzzzzzz{zyyyzyyxyyzzzzzzyxyyxx{yzzyyzzyzzzyyyyyyy{yyyzz{zzyzyyyzyzzz{zzzzzzyzyyyzz{yzz{zzyzzzyzyz{zzzzz{zyzzzzxyz{{zz{{{z{yzzzzzzzzzzzzzzyyyzzyyzz{{{{zz|zzzzyzzyz{zz{{zz{zzzz{zz{zz{{{{{zy{z{yyz{{|zzz{{y{zzyyyy{{{zz{{zyzzzyzzzzz{{z{{zzzzzzy{zzzzzz{|zzyzzzzzz{z{{z{{{zzzyyzyyz{zz{{zzyzyyxzxzzzzz{yyyzyyxyzyyzzyzzzzzyxxyyzyzyzz{{zzzzyxyzzxzzzzz{{zzzyxyzyyxzzzzyzzzyzyxyyyzzzzzzyzzzyyyzxxzzzzyzzzyzyxyxzzyy{xyzyzzyyyyyyzyyyyyyyyyxzzyyyxyzyzyzzxyyxxyyxyyzzyzzy{yxxzxyxyyyzyxyzzxxyyyxyyyyyyzyzzyyyzyyyyyyyzy{{zxyyxzzyyzyzzyzzzyzyxyyyyyzyyzzzzyzzyyyyyyzyzy{{{zyyyyyyyzzyyyzzzyyyyzyzzzz{{zz{{zzzyyyzyzzzzxz{{zyzyyyyyz{zzyzyzzyzyyzz{yzzzz{{zzzyzzzyzzz{zz{{{zzzyyzzyz{{zzzzzzyzyyzzz{z{{{z{{zyyzzzzzy{z|{zzzzz{zz{zzzzz|zz{{zzzzzyzz{z{z{zz{zyz{zzyz{zyzyzz{zzyz{zyyzz{{z{{{zyyzzyyzyz{y{z{z{zyzzzzyy{zz{z{{zzzyyyyzzzzy{{zzxyyxyyyyyzzyyzz{zxxyyyxyzzyyzyzzzyyyxyzyyzyzyy{zzyyyyyyyyyyzzyzzxxzxyyxyyyyyyyyzzxzxyyyxyzyzyz{{zyyyyyzxzyzzyzyyyzzyxyxyxzyzzyz{zyyyyyyzzy{yyy{zxzxxyyyyzzyyzzyyzyxyyzyyyyyzyzzzyxzyyyyxyzyyzyyzzzzzyxxyyzzzzzzzzy{yyzyyyyzzyy{zyyxxzyyyzzyyzzzyyxyyzyzxzzzyyzzzyzzyyyyyyzyyzzzzzzzxyyyyyyzyzz{zzyzyyyzxyzzzy{{zzyzzzzyy{zy{yzy{zzyyzyzyyzz{{y{zyyzzzzz{|zyzz{{{zyzzyzyyzzz{zz{y{yzzzyyzz|{z{z|{yyzzzz{zyzyz{zz{{zzyzzzzy{z{{{{{{{zzzyzz{{{{{{{{zzzyzyyzzxzzz{{{{yzzzzy{zzzzzz{zzyyxzyzzzzyy|{{zz{yzyzyyz{{{z{zzyyzyzyzy{zzzzyyzyyyxyyxyyzzyzzzzyxxyxyyyyyzzzzzzyzyyyyzyzzyzzzzzyyxzyzyxyzzzyyzzyyzzywyxzzzzzzyzyyzyyyyy{xyyyzyzyxyyzxyxyyyyyzyyyyyyyyyyyyyzyzzzyyywywxyyyzzyy{yzyxxyyxzyzzzzyxzyzxzyyyyyzzzyyyzyxyyyxxyxyyyzyyzzyxyyzxyyzyyzzyzxyzxyyxyyzzzzzzyyzyyyxyxzz{zz{yzyyyyyxyzzzzyz|{zyzzyyzyyyzyyzzzzzyzyxyzyy|zzzzz{zyyxyyyzyzzzyz|zzzxzyyyyzzzzzzz{zyyzzyzzzyzzz{zzzzzy{z{zz{z{{{zzzyzzyzyzz{{z{{|zzzxzzzzz{zzz{{{zzy{z{z{zzzzz{{zz{y{zyzzzzz{{{{z{zyzzyyzyz{{{zz{zyzzyyzz{{{z{zz{{yyyzz{z{z{z|zz{{yyzyzzyzzzzyz{yy{yyyzyzyz{{{zzz{zyzyyxzzzzyyzzzyyyxyyyyyx{yyyzz{yyxzyxyxyzyzzzzzyyxyxyzyzzzzyzzzzzyyzyzzxzzyyzzzyzyxxyzyzyzyyzzzyyxyxyxyzzzzyzzyyyzxyyxzyzzyyzxyyyyyxyyyzyzzyzzzyxxyyyyyyzy{zx{zyxyyyyxyyyzyzz{zzyyywzyyyyzyyyzyyzzyzwyxzzyyz{yyyyzyyyyyyzzzzzzzzyzxzzyyyy{z{z{zyzzyzyzzzz{yzyzzzyyyyyyyyyzzyzzzyzyyyzzyyzzzzzyz{zzzyyzyzyzzzzzzyyyyzzzyzzzyz{{zyyyzxzzxyzzzyzyzyzzyzyzyz{{{{zzzz{zyyyzz{zzzy{{z{yyzyyyyz|z{z{{{zzz{zzyzz{z{zzz{zyzzzzzzz|zz{{{zzzzyz{{z{{{z{{{{{zyzyzzy{{{zzzz{zzzzzyzyyzz{zz{{{zyzzyyzz|z{{z{{z{zzzzyyyzz{yz{zzzzzzzzzzyzz{zz{zyyyyyz{{zzyyzzzyyyzyyyyzzzyyz{{yzyzzxyzzzzz{{zzyzzyzzyyzzzzz{{zzyyzyzyzy{z{yz{zzzyzyyyyzzzzy{yzyyzyyzyyy{zzyzzz{yyyzzyzyzzzzz{zzyyyxyzzyzzzzz{zyxzzzyxyzzy{zzzzyyxzxyyyyyyzzz{{zzzyyzzxzz{zzy{{zyyyzyyyyzzz{zzzzyyzzzyxy{zx{zz{yzyyzyzyyyyzz{z{zyyzzyzzzz{zzzz{zyzzyyyyzzzzzyz{yyyyyyzyz{zzyz{{yyzyyyyzyzzzzz{zyyyyyyzyyz{{{{zzzyzzyzzyzzzzzz{{{zzy{{zzy{z|zz|{zz{z{yyyz{z|{{{{zzzzzzzyzz{{{{{zzz{zzyzzzz{zz{{|{z{{yzzzy{{{z{{{zz{zzyzy{{{{z{{zzz{zzzzzz{{{{z{z{zzzyzz{{z|{zz{|{zzz{{z{z{{z{z|{zzzyyzzzzz{z{z{zzyzzzz{yz{z{{z{{y{{yzyzyy{{zyzzyyzzyzyyxxzzzz{z{y{yyyyzyyyz{zzz{zyyxzyyyzyzzzzz{yyzzzzyzzzyzyz{yzyzyyyzyzz{zyzzzxyzzz{zxyz{yzz{{zzyyzyyyyyzyyzzzzzzyzyyzzzzyzzzzxyyyzyyxyzzyz{zzyzzyyxxyzyzyzzz{zzyxyxyzyz{z{z{zzyyzyzyyyzzzzzy{yzzyxyzy{zyyzz{zyy{yzzyyy{z{zzzzzzzyyzyyzzzzz{z{zyzzzyyyzy{zzz{zyzzyyzyzzz{zzz{{zzyyzyzyyyzz{zzyyzyyzyyzzz{zz{zzzyz{yyzy{z{zz{z{zyyxyyzzy{{{zz{{zzzzz{zzz{z{{z{{zzzzzxyy{z{{{z{{zzzz{yyz{{{z{{{{zyyyzz{z{{zz{{{|zzzzzz{{z|{z{{z{{zzzzzzy{{zzzzz{{zzzyzzzz{{z{{z{yzy{zyyzz{|{z{{{zzzyz{zyz{{{z{{z|y{zyzzzzzzzz{{zzyzzzyyyzz{{zzzyyyyyyyyxyzzzzyz{y{yyyxyzyzzz{zzyzzzzzzyzyyzyzzz{yzzxyyzyyzz{zzz{zzyzyyyxzzzyzzzzxzyyzyyyzzzyy{yzzyzyyyyxyyzz{{zzzzzxyzyyzyyzyzyzyyyzyzyyzyz{zz{zzzyzyzyzyy{y{zzzyyzyyyzyyzyzzzz{yzyyyyyyyzzzz{yzzzyzzyxzz{yzzzzzyyyyzyyyyyzz{zzzzzzyzyzzzzz{zzzzyz{yyyyyzzzyz{z{yyzyyyy{z{zzzz{zzyyyzyzyy{z|{{zzzyzyyyyz{zzz{z{zzyyzyzzzzzzz{zz{zy{zzzzzzz{{||{{yzz{zzzz{{{{{|{{zyzy{zzyz{||zzyy{zzyyzz{z{{{{{zzzz{zy{{zyz{z{{zz{zzzz{zx{{{{{{{{zzzzyzyz{{{{{|{{{{zzyzzz{{zzz|{{{{zz{yzz{{{{{{{{zzyy{yzy{{zz{z|{zzyzyzzxz|z{zyz{zyzy{{yyzz{yzyyzyzxyyxyxz{yyzzzzzyzyzyxzzzzzzyzyzxyyzyzyz{zyzzzzyyyxyxxyyzz{yzz{zyyxyyyyzz{zzzzzzyyyyzyyyyzzyzzzxyzxyyxyy{zyzzyzyyzyyzyyyyyzyzzyyxxxyyzyzyzyzyyzyyyyyyyyyyzzzz{{yyyzxyxxyzyy{z{zyzyyyyyyyx{yyzzyyyyxyyxyyzzyzzzzyyyyyzyyyy{zzyz{zyyyyyzyyzzyz{z{{yyyyzyzzzzzzzzzyxzzyzzyzzzzzz{{zz{yzxyyyyyzz{zz{zzyzzzyyzzzzz{{yyzyzyzzzz{zyyyyzzzzyzyyzzz{{{{zyzyzzzz{|yzzzzz{zyzzzzyzzzz{z{zzzyzzzzz{z{{{|{{{zzzzzyzzz{zz{{zzzyyyyzzzz{z{zz{z{{zzzy{z{zzy{zzz{yyyzzyzzz{{{{{z{y{{{zz{{{zzz{{{zzzyzzxzz{zyzzz{yyzyyyyzyz{{{z|zzyzzyyxyzzzzzzyzzzyyzyyxxzzyzyzzzyyyyxyyzyy{z{zzyyyyzzyyyz{yzzz{zyyyyyyy{zzyyxy{zyyyxyyyyzzyyzyyyzyyyyzyzy{yz{yzxyzzyyzyzy{yzzzzyyyyzzyzyzzzyzzzyyzyzyyyyyzyzy{zyyyxyxxzzyzzyzzyzyyyyyyyy{yyzzzyzzyxxxyyzyzzyyzzzy{yyyyyyzyzz{{zzyyyyzzxzzzzyzzyzzyyzy{yyzzzyyz{zyzzxyyyzzzzzzzzzyyzyzyzzyzz{zyzyzyyyyzyyzzzz{zzyyzyzzzzzzzzz{{yzzyzyyyz{zzzy{z{yzzzzyzz{z{z{{zzzxyzyy{yzzz{z{z{{zzzyyzzzz{z{z{{zzyzzzzyz|{{y|{zyyzyy{z{zz{zz{z{{zzy{zzyz|{z{zz{{{zzzyzz{zz{z{zz{zzzzyyyzz{{zz{zzzz{zzzz|{z{zz{{zz{yyzzzz{z{zy{{zzzyyyyzz{yzyzzzzzzxyyyzzzyyzzzzzyyxyzzx{zyyz{y{yyyzyzzyyz{yzz{zzzzyyzyzzyyy{zzyyyzzx{yzyzzzzzzzzyyzyxyyz{zyzyz{zyyzzyyyyzzyzz{yyyzyyyyyzzz{xzzyzyzyyyyzyzyyzyzzyyzyyxyzyzyzzy{zzyzzxyyyzyzy{zzzzzyyxyyxyzzzyz{{yzyyyzyxyzzz{zyyzzyyyyyyzyzz{y{zzzzzzzzyzyzyzy{{zyyzyyzzzzzz{zzzzz{zyxzyzzyyzz{zzy{zyzyyz{{z{z{{zzyzyyzyzzzy{{zzzzzyzzxyz{y{zy{zzzyzzzzyzz{y{|z{z{zyzzzz{z{zz{{{yyyzzzyyzzzz{{z{z{{{{yyz|{{{{y{zzyzzz{zyzz{z{{{zzz{yyzzyz{{z{{{{zyzzy{zzz{|z{z{{{yzzzzzz{{zz|zzzzzz{yyyz{{{zz|z{{zy{zzz{z{|{{{{{zzyzzyzz{{zzy{z{z{zzzyzy{{z{zz{{zyyyzyyyy{zz{z{zyzyxzyzyyyzzzyzzzzzyyxxyyzyz{zyyzyyzzyyyzyzyzzyzzyxyyxyyzz{yzzzzyyyzyyyxyyzzz{zzzxyxzxxxyzyyzzzzzxzzyyyyzyzyzzzzzyzxyyyyyyyzzyyzyxyyyyyxxyzyzzzxyzyyyxyyxyzy{{z{zyzyxyyyyzzzzzzyzyyzxyxxzyyyyzyzyyzyzyyyyzzyzy{yyyzzzxyyzzzzyzz{yzzzzyyyzzzz{zz{zzzyzxzy{zzzz{zzyzyxzyyyyzzyzzz{zyyyyyyyz{{zzzzyzyzzzyzyy{z{zz{z{yxzzzyx{zzyz{yzyzzyyyyyz{{z{z{zzzyzyz{{zzzzz{z{zyzzzzzyz{{zzz{zzyzz{yzy{{{{zz{|zzyzz{z{zyzz{{z{zzzzzzyyz|z{{z{z{zzzzzzzzzzz{{{{zyyzzzzyzz{z{{z{{zyzzy{{z{{{{{{zzyyzxzzzzzzzzz{{{{yzy{yyz{zz{z{{zzzyzyzy{zzzz{zzyyzxyyxxzyzyyy{zyyyyyyzyzyzzz{zzzyzyyyyyyzyzzzz{yzzyxzyzyzz{zzzzzzyyyyyyzzzzz{yyyyyyyyyyyzyzzyzzxyzzyxyy|zyyzzzzyxyxxzyyzyzyzzzzxyyxzxyxyzyyzzyyyyyyxzxyzzzzzzzzyyzyyyxyyzzzz{zzzyyyxzyyyyzzzzzyyyxyyxyxyzzyzzyzxyyyy{zyzyzzyzyyzzzz{yyyzzzzzzz{zzzyzyyyzzyzzzzzzyyyzzyyz{zzz{{zyyzzzyyzy{zz{{zyyyzzzzyyz{zzzzz{zzzzyyzzzzzzzzzzzzzzyyyzy{{z{{{{zyyyzyzzzyz{{{z|{xzyzzzy{{z{z{y{zyyyzzzzz{zz{z{{zz{zyzzzzzz{z{zzzyyzyyzz{{zzz{{zzyzzzz{zz{z{{{|zzzzz{yzyz{zz{z{{zzzyzzzz|{zz{{{{zyzyzzy{yzzz{z|{{zzy{yyzzzzz{{zzyyzzzyyyyyy{zzxzzzxyxxyyy{zyxzz{yyyxxxyzzyzzy{{yyyxyyzyyzyzzzzyyyyzzyyyyzzz{yyzzyyzxyyzxzyzyyzzzyxyyxxyxyzzyzzzzxxyxyxxyzyzzyyz{yyzyxyzyzyyzzzyzxxyxyxyyzzzyzzzzyyyyxzxxzzyyzzyzzyyxxyyxyzzyyzyzyyxyyxyxyxzyyyzyyyxxyyyyyz{zy{zyyxyyyyyyzyyzyz{zzzyyzyzxzzyyzzzzyxyxyzzyyzzyyzxzzyyyxyyyzzzzyzzzzzyyzxyyyyzzzzzzzyyyzyzyzz{zz{zzzyyzyyzyzzzyzzzyzz{zzxyyzz{z{z{zyyzyzyzzzyzzzz{{zyzzyyzyzz{z{z{{zzzzzyyzzzzy{z|{zyzzyzzyyyy{{{{zzyzz{{yzz{{z{{zzzzyzzxyyzzz{zzzzzzzzyzzz{zyzz{z{zyyzzzzz{zzzzz{zzzzyyzzyz{z{y{zzyzyzyzzyz{zz{zzzyz{zzzyy{zzyyyzzxyyyyxyxyzzyyyz{y{yyyyzzzzzyzzzzyyyyzyzxyzzy{yy{yxzzyzyyyzyyyzz{yyzyyyyyyyzzyzzzyyyyyzyyzzzyzzzzzzyyzyzyyzyyx{z{zyzyyzzz{zyzyyzzyyyzyxyyzzzyyz{zzxyzyzyzzzyzzzzyyzyxxyyyyzzyyz{{zyyyzzzyyyyxzyzzzyyyxyzxzzzzzyz{yyzxzyyyy{zzzz{{yzzzzyyyzzzzz{{{yyzyzxzyzyzzyzzzzyzzzyyyzzz{{z{z{zyyzyzyzzzzy{{zyyyyzyyzyz{z{z{zyzy{yzyz{zzzz{{yzyyyyyzzz{z{z{{{zzzzyyyzz{zz{{{z{zy{zzyx{zzzzzz{zyzzyzzz{{{zz|{{zzyyz{{zzzz{{{{{zzzzyzzzz{{zz{{{{yyzzz{yz{{{zz{y{yzzyzz{z{zzzz|{{{yzzzyyzzz{z{|{zzyxyyzyzzz{{zzzzyzzzyyyz{z{zz{zzzzyzyyzyz{z{zyzzyyxxwxyyyyyzyzyxzyyyyyxzzyyzzzzyyyyyyyyzyyzz{y{zxzzyyzyyzzyyyz{zyyxxzzxzyzzxzzzxyyyzyzyzzzxzzz{{yzxyyxxzzyyzzyyzyyxxyyyyyyzyzzzyxyyzyyxyyyzzzzzyyxzyyyzzyzzzy{zyyzzyxyyzzzzyzzzzxzyxxy{xyyyzzzyyyzyzyzyyzzzy{{zzyyx{yzxzzzyzz{zyzyyyyyzyyzy{z{zyyyyyyyzzzyyyz{zzyzyyyyzzyzzz{z{zzyzzzyzzzy{{zzzyyyyzxyzzz{zy{{{zzyzzzyzz{zyzzy{yzz{yzzzzzzy{{zz{zzzyzzyzzzzy{{zzyyzyyyyy{yzz{{zzzzzyzzyz{{{{z{{zyzyzyzzzz{z{z{zzzzzy{zyz|zzzz{{{zzzyyzzzz|zzz{{{yzzzzzz{zzy{y{{zzzzzzz{zzz{z{z{zzzyyzyzz{{zzzzzzyyzzzzzz{{zzzzzyyzzxyyyyzzzzyyzyzzzyyzxzzz{zyzz{yyyxyyxzyyzz{z{yzyyyyzyzyzz{{{{yyzyyzyxzzzzzyz{yyyyy{yxzz{zzzzzyyzzzzzzyzzyzzzzyy{yyzyyzzy{yzyzzyzyyyxyyzyyyy{yyzzyyzyzyyzyyz{yzzxyxyx{zzyyyzzzzyyyyyyyzz{zzz{zzzyyzyyxzzyyyyzzzyyyzzyyyzzzy{zzzyy{zzyyz{zzyyzzzyyyyyyyyzzzzzzzyyyzyzzy{zz{zzzzyyzyyyyzzz{zzyzzzzxyyyzyz{zzz{z{{zyy{yyy{|{{zz{zzyyyyyzyzzz{zzz{{zzzzyyzz{zz{{z{yzzzzyzz{{z|{zz{zzzyzy{yy{{zzz{{{yzzzzzz{{z{z{{|{zzy{yzzz|zy{{{{{zzzyzzzz{{zz{{{zz{zzz{yyz{z{{{{zzyyz{z{z{{{{{{{zyzzzxzy{{{z{zz{zzzyzy{zzzz{{{zz{zzyyyzyz{{{zzzzzyzyyyzzzz{z{zz{zyyyxyzyzzzyzz{zzyyzyyyyzzz{{zzzyzzyzzyyzzzzzz{{zzyzyzyxzzzzyzz{zyzyzxyzzzyzzzyzyyzzzxyyyyzzzzzzyzyyzzyy{yzzzzz{zzzyzxyzzyzzyzzzyyyyyyyyyzz{zyyyyyyyyxxyzz{yz{yzzzyyyyyxzzzyyz{yzzyxyyzxyzzyzyzzzyzyzyyzz{yyyzz{zyzzzzyy{z{{z{zzzzyyzyxyzzzyy{z{zzzzzzzy{{{y{z{zzyzyyzyyzz{{{zzzyzzzzy{zz{zzz{zz{y{zzyzzzzzz{z{zyzzzzzyz{{zzz{{z|zzzzzz{yz{|{zzzzy{{yzzzzzz{z{{{zzyy{zzz{{zzz{{z{yzyzyz{{{{z|{{zzzzzzz{z{z{zzz{zzzzzzz{zz{{{{|{{zzy{yyy{z{z{{{z{{z{zzzz{{{|{{{{z{|{z{zzz{z{{z|{{|zzzz|{zzz{{{{|{zzzzzzzy{zzzzz{zzzyzzxzyzzzz{yzyyzyyyyzxzyyzyzzyyxyzxyyyzzzzyzyzyyzyzy{xzzxzyzzyzyyyyyyzzzzzzzzzzzyyxzxyyzzyzy{zzzyyxyzzy{yyyzzzzxyyyyyyzyzzyzzyyyyxzyxxyyzzzzzzyzyxzyyxzzyzyyzyyyyxyzyzyzzy{{yzyyyyyyxxyyz{yzzz{xzyxxyyzzyzzyyzyzyxyyyzxzyyzzz{zxzyyxxy{y{zzzy|yyzyxxzyzzzyyy{yzyzyzyzzyzzyzyz{yzyzyzzzyzzzzzzzyyzyzzzyyzzzzyz{zzyyzzyzzzzz{{{zzy{yzyzyzzzz{{zzzz{x{yzyzzzzzzzzzzyyzz{zzzzzyzz{{zyy{zyz{y{{zzyzzyyyz{zzz{{zz|z{zzzzy{zzzz{z{{{z{yyzyzzz{{{{{{z{{zzzzzzy{z{{{{{z{yzzzzyz{{zzz{{{{zz{yzzzz{z{{{{zzz{yzzzy{zzzz{|{z{yyzzzyzz{zzzzzy{yzyyyyzzzyzzzyyzxyyyyxz{zzyzz{{zyzyxyyzzzzzzyz{zyyyyzzzzz{zz{zzxzzyyyyy{zzyyzzyyyzxyyyzzzzyyzzyyyyyzzyxyyyzz{zzyyyyyyyyz{zyyzyyyyyzxyyyyzzyzyzxzyxyxyyxyzzyzzyyxyxxzxyyyxyzzzz{yyxxyzxx{zzzzzzyxzyyyyzyyzzyzzyzyyy{yzyyzyyzzzzyyyyyyyyyyzzzz{{yyyyyyzzyyyyzzzzzyzzxyzxyzyzzz{zyyzzyyzzzzzzyzzzzyzyzxyzy{zyzz{zyyzyzyzxy{zzzz{yzyyyzyzyz{{zz{{{zzzzzzyzzyzyzzzzzz{zzzyyyyz{zz{{zzy{yyzxz{zzzz{yzzzyzzzyz{{{{z{{yyyzzzzyzz{zzzz{zzz{yzyy{{{z{{{z{yzzyyzz{{{{z{{{zyyyzzzz{zzz{{{{{y{zzzyy{z{z{{{{zyzyyxyyzzzz{{zzz{zyzzyzzz{{{zzzyyzyyyyyzzyzzzz{yzxzyxxyyzyzzyzzxxyyyyyyyyzy{zz{yyyxyyyyzyzzyy{{zyyyyzy{yzyzyz{zzyyxxyyxyyzzzyy{yyzyyyyxyzzyzzzzzyyyzyyyyxzzyzzyyzzzyyyzyxzzyyzyzyzyyyyyyyzzzyzxyyzyyyyxyzz{yzzzyyyyzyyyxyzyz{zzxyxyyyzzyzzxyyzzyzyyyyyzyyyyyyzzyzzzyzyyyzzzzyzz{yyyyxyxzzzzzz{yzyzyyyyyzz{yzzyzyyzxyzyyzyzzz{{z{yzyyyyyyy{{zzzzzyzyzyxxxzzzyzzzyzyzyyzzzzy{zzz{zyzzzzyzzzzz{z{zzz{z{yzzzzz{z{{{yzzyyyyyzzz{z|{zzzzyyyyy{{zz{{{zzyzzyzz{zzz{z{|zzzzzz{zyz|z{zy{{{zyzyyzy{{zzzz{zzzzyzzyzzzzz{{{{z{zz{{yzz{z{{|z{zyzzzzzyzzzzzzzz{zyyy{zxz{z{z{z{zzzyyyxxzzzzzzyzzzyyyzyzyzzz{y{yyyzyzxyyzzzyzzzzyzxyyyyzzz{yzyzzzyyyzzyyzyzzz{zzz{yyxyzxzzzzyyz{zyyyyxyyzzzzyzzyyyyyyxxyzzzyzzzyyyyyyyzyzzyzzyzzyxyyyxxyyyzzzyzyyyyzxzyyyyzz{zyzyyzzyyyyyzz{y{yzyyyyyyyxyzyyy|{yyzzzyyyxyyyzzzzzzyyzzyyyzzyzz{{zyyyxyxzzzy{zyz{zzzzyyxzy{zyzzyzzzz{yyyxyz{{zzz{zyzzyyyzzzzzzzzzzzz{zyyzyyzzz{{{{yzyzyzyzzzz{{zz{zzyzzzz{{z{zyzzzyzzzzy{zzzz{z{{zzyz{zyzz{{{{|zz|{zzyz{zyzz{z{z{|zz{{zz{{zz{z{z{zzzyzyzyzz|zz{|{{{zyyzyyz{{z{{{zz{zzz{yzz{zzzz{{{|y{zzzz{{z{{{{{|z{zyzzzzz{z{{{{zzzzyyy{yzyzyzy{{zzzyyyzyyz{yzyzyzyyxyyxyzzzzz{zzyyyyxyyxyzzzyyzzyzyyyzyyyyyyzzzzzyyyxxyzzyyzyyzyyxzxxyyyzzzzyzzzyyyyxyyyyzzzzzzyxzzxyyyyzyzyzzzyxyyzxyxyyyyzzyy{yyyyzxxyyzzyyzzyyyyyxyxyyzzyyzyzyxyyxyxxyzzzzyyzzzyyyzyzyzyxyzzyyyzyzyyxzyzzzz{zzyyyzyxxzyyzyzzzzyzyyxyyy{zzzz{zzyzyyyyyzyzyzzzzzzzxzyyzzzzzzzzzzzyyzyyyz{{zyzzzyyzyyyzyz{zzyz|{zxyzyyyyzzyzz{zzzxyyzzzz{x{zzz|zyzyzy{{yzzzzzz{{zyz{yxzyzz|{y{z{y{yyzzyyz{zzzz{{zyzzzzzzzz{{{{{{zzzyyzzyz{{{{{z{{zyzzz{y{zz{{{zzzyyzzz{yzyz{z{z{yzyzzyzz{{zzzz{{zyzyyzyyy{{zzz{{zyxzzzyyzzyzzyyzzzyyyxyyzyzyyzzyyyyyxyzxzyyyzyyzyyyxyxzyzy{y{yzzzzyyyyxyzyzyyyzzzxzyyxyyzzzyzyz{yzyxyyyxyxzzyyyzyxzzxyxyyyzyyzzzyzyzyyyyzzzyyzzyyyyyyyyzzzyyyyzzzyyyzxyyyzyyzyzyyxyxxzyyyzyyzzyzyyyyyyyyzzzzzyyzxyyyxxxxxyzyzzzzyyyxyyyyzzyyzzzyyxxyyzxy{zyzzzzyzxyyxxyzzzzzyzzzzxyyyxzzyyzzzyzzyyyzyyxy{{zyzzyyzyyyyyyyzzzzzz{zzxyyyyyxz{z{yzyzzzyzyyzz{{{zzyzyzzzyzyyyzzz{zzzzyzzzyyzyzyzz{z{zzyzyyyzyzz{zyz{{zzyzyzyxzz{zz{zz{{zz{zzyz{{{z{{y{yyzzzyyz{y{zzzyzyzzyyzzzzz{zz{{zyzzzzyyz{zz{{|z{zzy{yyy{{zzz{zzzzzyzxyyzzyzzzzzzyyzyzyzzyz{yzzzyyz{xyyxz{zzzyzzyyyxxxyxyzzyyxz{yyyyxyyyyzzyzzzzyyyyyyxyyzyzyzy{zyyyyxyzzzzyzyzzyzxxxyyyyyzyzzzzyyyxxxzxyyxxyyzxzyyxyyyyyyzzzyyzyyzyyyyyyyzyyyzywxyyyxyxyyyyzyzyyyyyxyxyzzyzyyz{yzyyxyxyyyyzyy{zyyyyyxyxxzyyyyy{yyyyyyyyyzyzzzzxyyzyzzyxyzzyyzzzyyzyyyzxyzzzyyzyzyzyyyzyyzyzzyy{yyyyzyzyzyzzzzzzzzyyzyzzyzz{zzyyyyzyzxzyz{{zzy{zyzzzzyzyzz{yyyzzyyzyzyzyz{{zzzz{zzyzzyzz{zz{zzzzzyyzyyzyzz{zzzzz{zyyzzzzz{zzzzz{zy{zyyyy{zz{{{{{zyzzyyyzz{{z{z{|{z{zzzzy{{z{z{{zzzzyzyzyyyzzzz{{zyzzzzzzy{z{{z{{zyyyxzyy|zyzz{z{zzxzyyzyy{zzzzzzyxzyyxzzz{zyyzzyzyyyyzyxyzzzzyz{yyyyxyyyy{zy{zyzyzzxzyyyzzzzzzzyyyyzyyyyyzz{yyzzzyxzyyzxyyzyyzzyzzyzyyyyzzyyz{yyzyzyzzyyyzyzzyzzyyyyxyyzyzzzzzyzyxwyxxyyyyz{zzzzzyyxyzxyyyyzzzzyzyyyyyyyyyzyzzyzzzzyyzyyyyzyyz{zxyxyyyyxy{yzzyzyyyzyyyyyzzzzzz{zyzyyyxyyz{zzz{yzzyyyzyyzzzzy{{zzyzzyxzyxz{zz{zz{yyzzyyzyyzyz{zz{zyzyyyyzy{y{z{zyzyyzyzyzzzzyz{zzzzzyzyzyzy{z|zzzyyzyzzzzz{zy{zzzzzyzzzyyzzzz{zz{zzzyzzzy{{{yz{{zzz{zzzzzzz{|{|{z{zzzyzzyzzz{{{zzzzzzzzzzz{{{z{{{yzyy{zz{zzz{{{y{zzzzzyz{zzzz{z{{z{zyzzzz{{zzz{{{zzyyyyzyzz{zzy{zy{zyyyzyzzzzyzyzzyxyyyyyyxzzzyzzzzyxzyyxzzzzz{z{zzyyyyyyzzyyzz{{zyzzzxxxzzzz{yz{{yyxyyyy{zyzyzzzyzzyzxyxzzzzzyzyzzzyzyyyzyzy{zyyyyyzxzyyzyz{zyz{yzxyzxyyy{zyzyzzzyyyyxyzzyzzyzyzyzzyyyxyyzyzyz{zzyyzyyyzyxzyzzyzzyyzzyyyyzyzyzzzyzzxzzyyzzyzyz{zzyyyzyzyzzzy{{zzyyyyzyxzzyzzzz|{yy{zyzyyzzzzzzzzxyzzyyyxy{zzzzzzzyyyzzyxz{zyzz{zzzxyyzyyzzzzzzzzzzyzy{yz{{zz{{z{yzzyzzzzyz{zz{{{zzzzzyyzzzz{{y{z{yzz{zyzz{{zzzz{{zyyy{z{{{zz{z{{zzzzzzzzz{z{z{{{zz{zzzz{{{z|zzz{zzzz{zzz{zzz{{z{z{zzzzzzy{z{{{z{zzyyzzzy{zz{zz{zzzyyzyzyyzzzzz{{zyzyyyyyzzzyz{yzyyyxzyyxyyzyzzzzzxzxyxyyyyyyzzzzyyyyzyzyzzzzzzzzzyyxzzyzyyyzyyzzzzyyyyzxyzzyzzzzyzyzyxyyzzyyyyzzyyxxyyyyyxyyy{zzyzyyyyyyyyzzyz{zyyyyyyxyyyzyz{zxzyzzyyyyyzzzzzzzzzyyyxxyxzzyyz{zzyyyyyyyyz{zzyyz{zyxyxyyyzyzzzzzzyyxzyyzzzyzyz{zyyyzzzzzyzzzzzzzyzzzyyzyzzzyzz{zyy{yyyzyzzzzzyzzzyyx{x{yzy{zyyzzyxyyyzyzyz{z{y{|zyxzzyzyzzzzzz{zyzzyyyzzzzzz{{{zzzzzzzzzzzz{z{{zzyzyzyyy{{zz{zz||yzyzyzz|{{{zz{{{yy{yzzyz{{zz{{z{yzzzzzzzzzz{{z{{yzzyzzzzz{{zz{{zyzzzzyzz{||{{{{zzzzz{yz{{zzyz{{zzzz{zyzzzzzzzz{{zzzyzyyzzzzyyzzyyzyzyyyzzzzyzyyzyyyyyxyzyzzzzz{zyxyyyzzzzyzzzzzzzxyxzzyyyyzz{yz{yyyzyzzzzzzyzzzyzyxxxyyyzyzzzxzyyyyyyyyzz{zyzzzyyzxyyzxzzzzzyzyzyzyyyyxyyyyyzzzyyxyxxyyzzyzzy{yyyyyyyzxzzzzzyzzyyyyyyyyzyzzzzzzzyyyxyyxyyyyyzzz{yyyzyxzyz{yxzz{yzyxyyzyzyzzzzz{zyyzxyyxzzzzzzy{yy{zzxzz{yyyzzyzy{zyzyyyzzzyyz{zzyyyzzyxzz{z{zz{zxzzyyxz{zzzyy{zzzzzyyyzyzzzyzzzzzzy{zzzzz{z{zzzzzyy{yzz{zz{zzz|zzzyyxyz{{{{{z{zzyz{yzzyz{{zz{{zzyzzzz{zzzzzzzz{{zzzyz{{z{{{z{zzyz{zyyz{zzzz{z{{zzzzzz{zz{{{z{{{{yyzzz{z|zz|{|z{zyyzyzzy{{{z{{z{|zzyzzzzz{zzz{yzzzzzzyzyzzzzzzyyxzxyyyyyzy{yyyzzyyxxzyyyyzyyzzy{zyyyyzyyzzy{zzzyyyyxyyyyyyzzyzzzyxzyyzzyyyzyyyyzzxzyyzyyxzyyyzzyzxzyzyyyyyzzyzzyyxzzyyxyyyzzyzzzyyyyyyyyyyzzxzyyyxyxxyxyzzyzyzzyzyyyyyxyyzz{yy{yyyyxxyyyxyzzyzyyyxyyxyyyyzzyyzzzyxyyyzzxzyzzyz{yzyyxzyzzyzzyyzzzyyy{yxzyzy{zyzzzzyyzyxzyyyzzyzz{zyzyzyzzy{yzzzzzyyzyyyzyzzzyzzzzyyyyzyzyzzzzzzzzzzzzyzyy{zzzzz{{yzzzz{zzzyz{z{y{zyyzzyyyz{zzzzzzzyzyyzzy{{{zz|{{zz{zyzzzyzyz{z{{{{yzzyzz{{{y{{yzzyyz{yzzzzz{{{z{zyzzyyyzz{zz{z{{zzzz{zzzzzz{{z{zzyzyzz{yz{z{zzzzyyyzyy{yyzyzy{{zzyzyyyyzzzzyzyyzzyyxxyyxxyyyyzyzyyyyyyyxyyzyzyzzxyyyxyyyzyzy{yzzzyyyyyxyzzzzzyzyzyzyxyyxzyyyzzzzyzyyxyyyyyyyyzyzyzyxyxyyzzzzyzzzyzyxyyyxyxxzyyyyyyyxzyyxyzzyyyzyxyxxyxxxyyzyzyzzzyywxxxxyyyyyyzyxywyyyyyyzyyzyyzyzyxyyxyxzxyy{zzyyyyyyzyyyyzzz{zzyyyzyyyz{y{yzyzzyyyzyyzyzyyy{y{yyyyyyyyzz{yyzzzzyzzyxyyxyzzzzzzyyzyyyyyzzzzyyzzzyzzzzzzz{zzzzzzzyyyyyyzz{zzzz{{yyzzzyzzz|zzz{{{zyyzzzyxz|{zzz{{{yzzzyzz{zzyzzz{{zzxzz{zzzzzz{{zzyzyyyyzy{{y{{{zzzzzyzyz{zzz{{z{zzyyzyzzy{z{z{{{zzzzy{zzz{zz{{{z{yxyyyzzzzzzz{zzzyy{yyzyzz{zzzzyzxzyzyyzzyyzzzyyyyyyxxxzxzyyxzzzyyxxyyyyzzyzzz{zzzzyzyyyzz{yyzyyzxyzyzyyzzzzzyzyzyyyyyyxyzzzyzyzxyxyxyyyyyyyyzyzyxxyxyxzxyzyyzzyyyyyxyyyyyyzyyzyzyyxyyyxyyyzzyy{yyyyyyxyyyyzyy{yyzyzxyyyyzyyz{z{yyxyyxyxyyxzyzyzzzxxyyyyyyyyzzyzyyyzyzyxyzzzyzz{{zzyzxxzyzzyzyzyzzzyyxzzyzzzzzz{yyzyyyzzzzzzzyzzyyyzzzzyzzzyz{yzyzzyxyzyzzzzzz|y{xyzyzyzz{{zyyzzzzzz{yyzz{z{{{z{yzzzzzzyz{y{zzzz{zyzyyzyz{z{y{zzzyyzzzyz{{z{z{zzzyyyyzzzz{zyy{zzz{zyyzyzz{zzz{z{zzzzzzxzz{zz{zz{zzyyzy{y{zzz{zz{zzyzz{zzz{zzzzz{zzzy{yzzzzyzy{z{yzzzyyzyz{{zz{z{zzyyzyyyxyzyyyzyyxxyxxzyzyzxyyzzyyyyzxyyzzzyzzzzyyyyyzzyzzzzyzyyzyzyxxxxzzyyyyyzyzyxxyxxyxzzxzzyyyzxyyyyxzxzzz{xyyzxyxxyyzyyyz{zyyxyyyzyzyyyyzzzyxyxyxyzyyxzzzzyzyxyyxxzzyzyzyyyyxxyyyxyyzzyzzzzyxxyxyyxyyyyyzyyyxxyyxzyyyzxyzzzyyxyyyxyyzyzyzzzzxyyzxyyzzyyyzyz{yxyyyyxzzz{zzzzyxyyyyyyzyy{yzzyzzzyyyyyzzzzzzzyyzyxyyyyz{{yyyzyyyyzyyyyy{zz{zzzzyxzyzzzzzz{{zzzyyyzyyyzyzzzzz{zzzyyzzyyzzz{zyzy{yyzzxyyzzzyzyzzzzzyzy{zz{zyzzzzzzzzy{yz{zz{zz{z{zyzyy{zy{z{z{zzzyzzzyyzz{{{{{{{zzzzzyyzz{{zzzzzzzzyyyyzzzzyyy{z{zzzyyzyz{z{yzyyzyzxxyyyyyzyzyyyyxyyxyxxyyzyyyyzyzyxyxxyzyzyyyzyyyyyyyyxyyzyzz{zyyyyyyxyzyyzyyzzyyyzxyxxyyyzyzzyyyyyxyxyx{yyyyzyyyyyxyxwzyzyyyzyzxyyyywyzyyyyzyzxyxwyyyxxyzyyzzyyyyyxxxyyyzyzzzzyyyxyxxxzzzyyzyyzyyyzxxxyzzxyyyyyyyxxxzzyyzyyzzyyxxzy{yxyzyyzyyyzzyxyyyxyyzzzyzzyyyyyyxyzyzy{zzzxyyxyyyzxzyyyzzy{zyyxxyyxzzzzzzyzyyyyxxxzzzyyzzzzzxzyyyyzzyyzzzzyyyyyyyyzz{z{zzzzxyyyzyxy{yzzz{{yxyyzyxxz{zzz{zzzyyzyxzzz{y{z{z{yzzyyz{yzzz{zzz{{zyxyzzzz{{zz{zzzyzzyyzzz{zzz{{zzyyzyyyyzzzz{{z|zyxyzyzzyyzz{zz{zyyyzyyyy{yz{z|zzzyzyyyxyyzz{zzzzyyyyyyyzyzyyyzzywyxyxxxyyzzyyyzxyxyyxxyxyyyzzyzyxxxyyxxzyzyzzzz{xyxyyywzyzzzzyyyzyxxxxxzyzxyzzzzxzxxyyxzzzxyzyzzxyyyxzyyxyxyz{yzzzxyyxxyyyyzzzzyyyxyyyyyxxyyzzyyxyxyyxzxyzzyyzzyyyywxyyzzzzyyyyyxyyxywyyzyyyzzzzyxyyyzxyyzyzzyyxyyxzyzyzzyzyz{yyyzzzyzyz{zyyy{yyzzyxxyy{zzzy{zzyyyyxzxyzyzzyz{yyyyyzxzxy{yzy{zyzzyyzyyyyz{zzzzzyzyzzyyyzzyzzzyyzyzzyyyyyzzy{{zzyyzzyzyzz{zzy{zzzyyzyyyyz{{yyz{yzyzxyyzyy{{y{z{{zzzyz{zzzzz{zzzzzzyzxyyyzz{{zzzzyyxzyyyz{{{{zyz{zzyzyyyzzz{yzzz{zzyz{zyzzzzzzzyzzzyzzyzy{z{zzz{zzyxyyy{zyyz{z{zyyyzyxyzyz{zzyyyzyyxyxxyyyzzzzyyyyyyyyyzyyyyzzzzzzyxxxyyyyyzzyyzzzzzyxzyyzyzyyzyyyzyxyyyxyyzyxyzyyzyxxyyzzzyxzxzzxxyyyzxyzyyyyyzzzyxyyyyyxzzzzzzzyyxxzyxyyzyzz{zyyyyyxyxyyyyyyyyyyxxxyyyxxyyyyyzzyxyyyxyyyyyyyzz{zyyyyyyyyyyyyzzzyyzyzyyxxyzzzzzzyyzyyxyyyzzzzzzzzyzyyyzyyyyzzzzzxzzxxyyzzyzzyxzzyxyyxyzxyzyx{{zzzyyyyyyxzz{zyy{yyyzzyyyyzzzzyy{zyzzyyyzyzzzzzz{zzzyy{yyz{zz{zzy{zyzzyzyyzzzzzyzyyyyxyzyzzz{zzz{zzyyzyzzzzzyz{z{zzzzzzyyzx|zzzzzzzyzzzzzyzzy{zz{zzyyyzyz{zz{{{z{{zzzyzzzy{{zz{z{{zyyyyyyyzzzyzz{{yyyyyyzyzyzzzz{zzyyyyyyyzzzzyyzzyyyyxyxyyyyzzyzyyyxxyxyyyyyzyzzyyzxzyyyxyyzzzzyzzxywyxxyyzz{yyz{yzyxyxxxzzzzyzzyyyyxyyzyyzyzyy{yzyyyyzxyyyzyzzzyyxywxyyyzzzzyzy{yyyxyxxxxzyzyzyyxxxyyzyyyyzyzyzyyzzzyxyxxzyzzzzyyyxyzyyyzyyyyzzzyzyxyyxzyyyyyzzyyxyzyyzxzzzz{z{yyxyxyyyzzzzyzzzyzyzyyyyyyzxzyzz{yzyzyyyyz{zyzz{zyyyyxyzyyzzy{{zzyyzyyyyyzzzzzzzzzzxzzzzy{zzyz{zzzzyzyyy{zzzy{zz{y{zzyxzyz{yzzz{{zzyzyyzyy{{zx{zzzxyzzyzz{{zzzz{zzyzzy{zzz{{yzz{{zzzyyyyzyz{zz{zzzyzzzyzyzzzz|{zz{y{yz{{zz{{y{z{|zzzyzzzyzzz{{{{{zzyyyzzzzzzzzz{zzzyyzyyyyzy{z{zyzyzzyyyyy{{zzzzzyzzxyyyzyzyyzzzzzxxyyxyyyzyzzzyzxzyyyzyyxyyyzz{yywyxyyyzzy{zzyzyzzyxwyyxyyyzz{yzyxyyzyzxyzzzzzzyzyzyyyxxzzyyyyyzyyxyyyyzzyzzyzzzzyyyyyyyzzzyyz{yyzyzyyxyyyzz{zzzzyzyyyxzyzzyyz{zyyyyyyzxyyyyzzyzxyyyzyzxyyzyzzzzzyzyzyyyyyzz{z{zzyyyzyyyz{zyzzzzzyyyxxyz{zzyz{zzyzzyyzzyz{zyzyzzyzzyzyyzy{{z{zyzyyyzyyyyzzzzz{{zzzzzzzyyy{zzz{zzyzzz{zzyz{z{z{zzz{zzzzzyz{z{{zz{yz{{zyzyyz{z{zz{{zzyyzyzz{zzz{{{zzzyzzzzz{zzz{z{zyzyyzzzz{{{{{zz{yzz{yzyz{zzz{{zzyyzzyy{{z{{zz{{{yzzzz{z{zyzz{{{zzyyyzyzyzz{z{|zzz{zyyzy{zzzzzzzyz{yyyzyzyzyyyxyxyyyyxyxyzzyzyyxxyyxxxyxyyzyyyy{yyyxyyxyzzyzzyyyyyyyyyyyzyzzyzzyyyyxyyxxyyzyyzzzyyyyyxyyyzyyyzzzxyyxyyxyzzyyxzyyxyywyyxxyxyxyyz{yyzxyxxyyyyyzyyyyyyxyxyyyyzyyyzzzyyyyxxyzzyzyzyzxyxyyyyxxyyyxzzxyyyyyyxxyyyxzzyzyxxyyyyxxyzzzzzzzyyyyxyz{zzyzzz{yyzyzyzzzzyzzzzyzyyyyzyyz{zzzzzzzxyxyyyxyyzyyzzzzyzxyyxzyy{zyzzyzxyyyyyyz{zzxzzyzyyzzyzxzzzzzzzyyyzzyzyzzzzzyzz{zyzyyxyyz{zz{{zzzyyyzy{zyz{yzz{z{yyzyzzyzz{{zzz{{zz{yzzzzzzz{z{zzyzzzzzy{zz{y{yzzzyzyzzyzzzzzzz{zz{zzzyyz{{{{{{{yzyxzyxzzzzz{zzz{zzyzzyyzyy{yz{yzxyyyyxyzyzz{zyyyyzxxzyxyzzyzyzzyyyywyyyyyzzyzzzyyxxyyyxz{zzyzzzzyy{yxyyyzzzzzzzyyxxxyxyyzxyyzyzyyyxyyzxyyyyzzzyyzyxyyxxzyyyyxzxxyzyxyyxyyzyzyyzyzxyyxyxyyyyy{zzyyyyxyyzyyzyyzzyyzyyyyyxzzyyyyzzyyyyyxyxyzy{yyyzyyyxxyyyxyyyx{zyzxyyxzzxxzyzzxzyyyzyyxyyzyzyzyyzyyzyxxyyzyzzzyzz{yyxyzxyyzzzzzzyzyyy{yzyzyyzz{zzyyzyxyyyy{zyzzzzzzyzyyzyzzzzyzzzyyyyyzyyzzzzz{{zzzzyz{yyzzzzzzzzyzxzyxzyzz{{zzz{zyyyzyzy{z{{yzzzzyyyzz{zzyy{z{{{{{zzzzzyzzy{zzzzzzzyyyzyzz{zzzz{zzzzyzz{zzzz{z{{y{yzzyzzzzz{{z{zzzzyzyyx|{zzzzzz{yyyyzyzzyzzzzzzzyzxyyyxzyzyzzyyyyyxyxyyxyyyyzzzzyxyxyyyzyzzzzzzzyyxyyyxyzzyzzz{zyyyyxyyyz{yyyyzyzzxyzyxzz{zyzzzyyyyyzyxyzzyzzzz{yyxyyxxyyzzzzzzyyzyxyyyyyzzyyyzyxyyyyxyzyzyzzzzxxyzyyyyzyyyzy{yyyxxyyyxyyyyzy{yyyyxyyxxyyyyyzz{zzyyyxyzyzyyyyzyzxxzyyyxyyy{zy{yyxxyyxyyyzzzyz{zyyyyxyzyyzyyzzzzyxzyyyyzyzzzzz{zyyyzyyyyyyz{zzyyyzyzzyyyzzyz{zzzzyyyzyyzzzzyyzzzzyyzyzyyz{{zzz|zyzyy{zy{z{{{z{z{yyyzzzyzz{{z{z{zzyyyzyzzz{{{{z{zzzyyxyzzz{zyz{{{{yzzzzzyy{{z{{{{zzyyzyzzz{{{{{z{zyyy{yyz{yz{}{{{zzzzzzzzzzzz{{{yzz{yyzyzy{zzz{{zzyyyzyzzzzzyzzzyzyyyzyzyyyyzyyyyyxxyyyxyyyyyzyyyxyxyxyxyyzyyzz{zyyyxxxyyxyzyyyzzyxxyyxyyyzyzzyzzyxyywxyxyzyzyzyzyxyyxxyxyzzyxyyzyxzyyxyxyzzyyyzyyxzxxxxzyzyyyyzzyxxyyyzxzyyzyyyzyyyyxxxxzyxyyyxyyyxzxyxxyyyzyzxyyzyyxxxyxyyxyyzyyyyyyxxyxyyxyyzzxyyxyyxy{zyzyzyzyzyyyyyyyyyyxyy{zyzxxxyyyyxyyzzyzyzyyyyyzzzzyzzzyyzyzxyxyyyyyz{zzyyyyyzyzzzyzy{zzyyyyyyzzyyyyyzzzzyyyyzxzzzzzzzzyy{yyzyyzzzzyz{yzzyyyyyzzz{zzzyz{yyy{zzy{z{zyz{zzyzzy{z{yz{yzyyzzyy{yyyzy{zzyzz{{zzyyyzyzz{zzzzzzyyyz{yyz{yyz{{{yzyyzzyzz{zzyzzzzzyyzyyyzzy{zzzzzyyzzyyxyzzzzzz{yyyzyyxyyyzzzyyzyzywxyyxyyyzzy{y{zxyyyyyyyyxzzyyzyxxyyyxyyyyzyzzzzyxyyyyyyyyzyyyyyzxxyyxz{yxyzxyxyyyyyyyyzxyxyyzyyyyxyyyyxyyyzz{yxyxyyxxyyyyzzyyxyzyyxyyyzyyzzxyyyyywyyyyxyzzyzzyzyyyyxxyyzyzzzyyyxyyxyxzzzxzzyzyyyxyyyyxzzzzzyzyyyyyyxxzyyyyzyzzyyyyyyyzzzzzzzzyyzyyyzyyzyzyyyzzzyyzzyyyyyzzzyzyzyyyxzyzzyzyzzyyyzyyyyzzzzyz{zzyzzyyxyzzyzzzzyzzzyzyyyyyzy{y{y{zyzyyyzxzzzzy{z{zyzzyzyyy{{z{{zzzyzzyzzzz{zzz{{zzyzyz{{zzz{z{z{z{z{zyyzyyz{z{{z{zy{zyy{y{{z{zz{z{yzyzzzz{zz{z{z{y{yyzzz{z{z{{zy|zzzyzyzyzyzyzz{zzzzyyzxyyyz{yzzzxyzxyyyyzyzzzzyzzzyxyyxxzzyyyyyyzxyxyxyxzyzyzzz{yxyxyyyxyyzzzyzyzxxyyyyyyy{zzyy{yyzyzzxxyxy{yzzzyxzwxyyyy{yyyyzzyyzxzxywyyzyxyyzyyzyyyyyyyxzzzzyyxyxyxxyyyyyzy{yyzyxyyyyzyzzzyzyyyzyyxyyyzyxyyzyzyxyyyxxxyyyyzzyyyyyyyzxyzyyzzzyyxyyxyyxyzyzyyzzzyxyxyyxzzzzyzzzyyxyyxyyyzyzyzyzyzyyyyyzyzzyyyzzzyzyyyyxyzzzy{yyyzzxyyyzx{zzyzzzzyxyzxyz{zzzy{yzyzyyzyyyzzz{z{{yzzzxzzzy{{zyzz{{z{xyyyyzz{zzzz{zzyyzyxzyz{{z|zzzyzzzyzzyz{zzz{y{{yzyyyzzz{{z{{{{zyyzzz{zzz{{zz{{{zyzyyyzyyzz{{z{{zyzyzzyyz{{{zz{yzzyzxyxzyzyyz{yzyyyyyyzzzyzyzzyzyyyxyyyzzzzzyyzyxyxxyzxyzyxyzyzyzxyxyxyyzyzzzzzyyxxxxyyyyzyyzzyzyyzzxyyyyzzyzzyyyxwxxxzz{zyyzyyyzxxyxyxxzyyyzzyzyyxyxxyzyyxyzzyyxyxxzxyyyxyzzzyxxyyyyxxzzyyzyzyzyyyxyxyyyzyzxzyyyxyxxxxxyzyx{zzyxxzyxywzyyyy{{zzyyyxyyxyyyxyzzyyxyxyyyyyyzyzyyyzyyxzxxxxzyzyyzyzyyyyxxyyyzyzyzzyyyyyyyyzyzzyyzzzyzxyyyxxzzzzzzzyyyyyyxzyzzzzzyzzxxzzyyyzzyzzzyyyzyyyyyxzzxz{z{{yzzyyyzyzzzz{y{{zzzyzzxzyzzyyy{z{zyyzzyxzzzz{{zzzyzxyyzy{{zzzzy{zzzyzzyyz{yzz{zzzyzyyzzyzzzz{z{zzzyyzzzzzzzzzzzzzzyzzyyyyzz{|{z{zyyxzzyyzzz{z{{zyyyzxyyyz{zzzyzyzzyyxyyxzyyzyyyyyyxzyxxxxyzyzyzzzxxxxwyxyyzyyz{zzyyzyxxwzzxzyzzyyyyyyxyxyyxzzyyzzyyxyxyyyzzyyzyyzyzxyyzxyyzyyyyyyyyyyzyyyyzyyzyyyxyxyxxxyyyxyzzzxxyxyxxxyyyyyyzxyxxyxxwxyxzyyyzzyyxxxxyyyzzzzyy{xyyyyxyyyyyyxzyzyyxxxyxxyyyyxzzyyxyyxzyyyyyzyyzzyyxyyxyzyzyyzyzzxxyzxyzyzyyyzzzzyzyyyyxyyyyyzyzzyyyyyyyyyyyzxz{xzxyyzyyyyz{zyyzyzyyzyxxyzzyxyzzyzyzyz{yzyzz{{yzzyyyyzzzzyzzzzz{zyzyyyyyxzzzz{{zyzzzzyzyzz{zzz{z{yyzyyzyzy{zz{z{zzzyzyzzyz{zz{{z|zy{zxzy{{z{{zz{{zyyzyyyyzzz{{{{zzzyz{yyz{zzyz{zzzzyyyzyyyzzz{{{zy{yyyzzyyzzzz{zxzzyyxyxxyzzyzyyyzwyxyyzxyyzyyzzzyyyxyxxyyzyzzzyyyyyxyyyyyyzzyz{xyyyzyxyyyyzzyzyzyzzxyxyyyxyzzzyzyyxzyzyyxyzyyzy{zxyyxyxzyzzyzzyzyxyyxyxyyyyzyyzzyyyyxyyxyzzzyyzxyyyyxzxyyy{y{yzzzyyxyxyxzyzzzyzzzyyxyxxxyzzxzzyzzzxxyyyxzyyxzzz{yxyyzzyyzyzyzzyzzyyxyyzz{yyyyzy{yyzyyxxyzy{zzzzzyyxyxzzzzyzzyzzzyzyyyyzyyzzzzzzzzyyzyyxyyzyyzz{yyzzxzyxy{z{zyzzzzzyyzzyyzzzzzy{zzzyyz{{yyzzzz{zzzzzzyyzyzz{zyyzy{zyyzyyyzzyy{{{zzz{yxzzz{yzz{{|zzyzzyzzyz|{y{z{zzyzzzzyzz{{z{{zz{xzyyyyyz{z{{zzz{zzzyxyzzz{{zz{{yzyy{zzyzzzzy{{zzyz{yzyyzyz{z{zzyyyyyzxyz{zyyyyyyxyxyyyyyzyzyxzzxyyxzxyzzz{zzy{yzyyxyyyyyzzyzyz{yyyyyyyzyyxyzyzyyzxyyyyxyyzzyzzzyyyyyxxwyyzyzzzyyyyxyxyyzyzzxzyyyzzwyyyzyyyxz{zzyxzyyxyyzz{zzz{yyyyyxyyyxyzzzzzzyyyxxyyyyyxzyzyzxxyxyyyxyzzzyzyzyzxxyxyyy{y{zzyyyyzxyzyyy{yyzz{{zyzyzzyyzzyxyzyzyyzyzyz{yyzyzzzzyxyyyyyyzzzzzz{z{zzz{wyyzyyz{zzzzyzyxyzyz{zzyyzzyyzyyzzz{zzyzzzzzzzyzyzz{z{z{{zzyyzzzzzzzzzzyzzz{yyyzzyzzz{{{zzzzzzzzyz{{{zzz{z{zzzyxzzzzzzzzz{{{zzyz{zzzz{z{{{z{zzzzzzzz{zzzzzz{zzyzzzzzzzzy{{zzyyyzzz{{{{{{z{{{zzzzzyyyz{z{{z{zzyzyzxyzzz{zz{zzyyyzyyyzyyyzzyxxxyyyxyyz{yzyyzyyxyyxxxyyyyzzyzzzyxxyzywzyyz{zyyyxzxyyxxxzzyyzzzyyyzyzyxyyyyyzzzxyxyyyyxzzxyzzyzzyxyyyyxyzyyyyyyyxyxxxyyzzzyyyyzxyyyxyxyyzxzyzzyyyyyxzxyzyyyyyyzzyyxxyxyzyzzyzzzzzxyyxxxyyzyxzzzyyyxyxzyxyzzzzyyyxyyyyxxyzyyzyzy{yxxxyyyyzyzyzzzzzzzyxyyyyyyzzz{yyyyyyyyzzzy{yyzyyzzzyxyyzzzz{{zyyyyyyzyyzzyyy{zyyyzyzyzzz{yyzzzyzzyyyyyzzz{zz{zyzyyz{{yzzz{yzz{yyyyyyyzz{zz{z|z{zyzzzzyz{zzz{z{zyyzyyzyzzz{{{z{{zzyyzzzyzy|{{z{zzyzyyz{{zzzz{zyzyyzyyyzzzz{{z{{zyy{zy{zzz{y{z{{yzyzzyyyz{yzy{{zzyyyxyyyyzzzzzzzyzyzyxyzzzyyzyzyyyxxyxxyy{yyyyzyyyzwxyxyyzzzyyyyyywxyxxyzzzzzzyzyyyzyxxyyyzyyyzzyxyxyyzxzyxyyzyzxyxxyxyxzyyzyzzyyxyzzyxyzyyxy{zyyyyxyzyxyyxyyyyzxxxyxyyyyzyyzzyxzyxyyyxxzyyyyyxzyxxyxyxxyyzzyzyzxyyx{xyxyyyyzzyzyyyxwyxyyzyyyyzyyyxxxxxyxxzyyzzyxyyyzyzzyyz{yzzzyyyxyyzxyyzyzzy{yzyyxxyyyzzzzzyzyxzxyxxyyzzzzyzzxxxxzyyyyz{zyyzxzyzyzxxyzzyyyzyzzyyxzyxyz{{zyyzzyyyyy{zxzyzzzzzzzyyyyyyzzy{zz{zyzyzzzy{y{{yzzzz{zyzzzz{zyzzzzzyyzyzyyyyyy{yzz{{{zzyzyzzyzy{{z{zzzxzyyzyyyzyzzz{{yyyyyxyzzzyz{zzzzyyyzyzzyyzyyzz{yyyyyyxyy{yzzyzzyyyyzxzzzyyyyyyyxyxyyxyxyzyyyyyzyyzxxxxyyxzzzyyzzyxxxyzxzzyyzzyyyyyywyyyyyyyyxyyzyyxxyyxzzzyzyyzxxyyxxxyyzyzyzxyxyyxyyyyzyzyyyyzyyxyxxyxyyyzyzyzyyyyyxxxy{yyzyzyyxxxxyxzxyyzyyzzyyyxxzyyyzzyyzzzzyyyyxxyyyzyyyyzzzyxzyyxyzxzzzzyyyyzyyyxyzyyzyzyyzyxyxyyyyzzzzyyyxzyyxyyzzyyy{zzyyyzyyyyzzyyzzyzyzyyyxyyy{yzzzyzzyxzzyzyzyyzz{zyzyyyyyyyz{zzyyzzzyzzyyyzzzzzzzz{yz{yzyzyzyzzz|z{zyy{zzyyzy{zzzz{zzyzzyzxz{zzzz|{zzzyyzzyzz{{zzz{{z{zyyzyzzzzz|{{|yzzzzzy{{yzz{zzzyyyzyyzz{yzz{zzyzzyzzyzzzz{{z{{{zyxyyyzzzyzz{{{z{zyyyyyyzz{zz{zyxxxyyyxzy{yyzyzyyyyyxyxyzyyzzyzzzxyxxyyyzz{y{zzyzxyyyxyyzyyzyzzyxyzyyyyzyyzzzz{xxxyxxyyyyyzy{yzxyyyyzxxyyzyyzyyxyyyyyyyyyzxyyzzyzxyyyyyyxyzyyyzyyyyzyywyyyyz{zzyxzxyyyyyyzyzzzzyxyywyxyyyxyyyzyyyyyyxyxzyyyyyzxyyxyyxyxyzyyy{yyyyyyxyzxyzyzzzzzyyzyyyyyzzzzzyyzzxzyyxyzzyzz{zz{yyyyxxyyzyzzzyzzyyyyyyyzy{{zyzyyzzyyzyyxyzz{zz{yzzyzzzyyzyy{yzyyyyyzzzzzyzz{z{{zyzyyzyzzyzzz{{zzzyzyyxyyz{z{{{zz{yyzzzyzz{zzz{{zzzyyzyzzy{zzzzzz{zz{zzyz{{zyzyzzzzzzyyzy{zzz{z{z{yzzzyzzzzzz{{{{zz{yzyzzz{zz{{{zzzxyyzzyzzzzzz{yzzzzyyzzyzyzyz{zyyyyyxzyyy{yzyxzyxxzxxxyyyyyy{yyyyyyyyxxyyyzzzzyyyyyzxxyyyyyzyzzzxyyyzxxyyyzyzzyzyyyyxxyzyzyzyy{zxzxyyyxyzzzyzyxyyyxxyxxzxzyyzzzyzzxyyyyyyyyxzyxyyxxyyyzzyyxyyzzyyxyxyxyyyzyyzyyxzyxyyxyyyzzzzzzyyyyzyzxyyyyyyzyxxyxxxyxyzzyyzzzyyxxyyzxzyyzzy{zyyyyyxyyzyzzyzzzxyyyxyyyyyyzzzzzyyyyxyyyzzzyzzyzzyxyyyyyzyzzzzyzyyzyzyyyy{zzyzzzyyzyyyyyzzzzzyyyyyyyyyzxzyzzzzzyyzzyzyzxzzzz{z{zzyyyzyzzzzyzzzzyzzyxzzyyz{zzz{z{zyzyzzyxyyzzzzzzzyyyyyyyxzzz{z{zzzyzzzyyyyzz{{z{zxyyyzyyzzyzzy{|zzzyzyzyz{zz{{zzzzzyz{yyzyyzyzzzzyzyzzxxxzzzzyz{xzzyxyyyyyyzzzyzxyzyyyyxyyyzyzyyxxyyyxyyyyzzyyzzzyxyyyyyyzyyzzyzxyyyyxxyyzzzyzzzyxyxxywxzzyyzyzzyyxyyxxxyzzyzz{yyyyyyyyxyyyyyyyzzyyyxyyyyyyyyzyzyxyyyxyyxyyzyyzyyxyyxyxyyyyzzzzyyzyxxyyxyzyyzyyzyxyxxyxwyzzxzzxyzyyyyyxxyzzxyyzyzyyxxyyyyzyyyyzyyyyzxyyxzyyyzzy{zyxyyyyzyzzyyzzzyyyyyzyxzyyyzzzzyyzzxyyyyzzyzzzzyxxyyzxyzzzzzyz{zyyyyyxyyyzyyzzzyyzzzzzzzzyzzz{yzyyzzyzzy{zzzz{{yyyyyxyyzzyyz{zyyyyzyyy{y{zyzz{zzyyxzzzz{zzzzzzzzyyyz{zyz{{{yz{{{yzzzyzzyzzzz{yzyyyyyzzyy{zz{zz{zyyyzyzzyzyzzzz{yyzyyz{yzzzzzz{{zyzzyyzzzyzyzyzyyyzyxxyxyzzz{yyyyyyxyyxxxyzyyyyzyxxyyyyyzxyxzzyzyzxyyxxxyxyyzyzzyyyyxxxyyzyyyzy{zyyxxyyxyyyyyyyyyyyyyxxxyxyyxzyzyxyxxwyyyyzzyyyyyxxxwyxyyyzyyxyyyyyyxxxwyyyyyyyyzxxxxyxxxyzyyzyzyyywxyxxyzyyyyzzyxyzywwxyyyzyyyyyxxxxyyxyzyyxyzzxyyyyyyyyyyzyyyzyyyyyzyyyzzzxyyzyyyyxxyyzzyyx{z{yyyyxyyyyyyyzzyzyxyyyyyzyzyzzyyyxzxzyyyy{zzzyzzyyxyyxyyyzz{yyzzzzyyyzzyyzyzzz{zzxyyyzzzx{zyzy{z{zyyyyyyyzzzzzy{zzzyyyyzy{{yyzz{zzzzxzyyyy{yz{zzzzyzyyzzyy{yzzyyz{zyzzyyyzy{{yzzyzyzzyzzzy{yz{{zz{yzzzyyzz{yzyz{zzzzyyyyyzzzzyzzyzyzzyyyyzyzyyzzyyyyzxyyzyzzxzyyzxxzxxyxwxzyyzyyyyxxxxxywyzyxzzzzzyyxxxzyyyxyyzyzyyyxyyyxzyyyzyz{yyxyxxywyyzyzzzyyxyyyxxxyxyyzz{yyyyxxwyxzyzxyzzxyxyxxyxyyyxyzxzyyyyxxyxyyyyyyx{yzxyyyxxyyyyyyyzyyyyyxyxxxyyzy{yyxxxyxxyxxyyyxzyzyyxxyyxyy{yyyyyzyyzyyyyxyzyzyzzyyxyyyxyzyzzzzy{zyyzyyyyyzyzyzzzzyyxyyxxyzyzyyzyzyyyyyyyyyzzzyyyzyyyyyyyx{yyzzzyzyyyxyzyzyzyyzzzyyxyxyyyyzzzz{z{zyyzyzzzyzzzzy{zzxyyyzyyzzy{zzy{zzyyzyzyzzzzzzz{z{yyyyzzyzzzzzz{{{zyxyyyyz{zz{z{zzyzyxyyyzz{zyz{zzyzzyzy{yyzz{z{{{yzzzyyyzyzzzzz{zyxyyyyyyzyyyz{zzyyyxzyyzzyzyzzzyyyyxxxyyyxzyzyyyxyyxyzxyyzyzzzzxxyxyxyyzyyyzyyzyyxxyyyyzyyzzzyzyxyyyyxzyyzzzyyyyyyzxxyxyyyzyyyyyyyyxyxyxyzxyzzzyxyyxywyzyyzyyzyyyyyxyxyxyyzyyzyyxyzxyyyyyyyzzyyyxyywxyyyyxzzzzyyxyxxyyyyzyyyyzyyyyxyxxyxzyzzzyzyyxyyyxyyzzyyzzzyyyxxzyxxyzyy{zzyyyyyxyyyzyxzzyzxyzxxyyxyzyyzyyzxyzxyyyyyyzz{zzyyxzzyyzyyzyyzz{zzyxyyxyyyzyyyy{yyzxyyyzyzzzzzyzzzyzyzzxyzyyz{zzzyxyyyxyyzzz{yz{zzyzyzyzyzyzyzz{{{zyzzx{{z{zyzzzzzzyyyzzyy{{zzzzz{zzzz{yzy{{zy{zyzyyzzzyyzzz{zz{zzyyzzzzyyzz{{zz|zzyyyyyzzzz{zz{{zyyxz{yyyyy{z{zyzyzyyzzzy{zzzzzzzzzxyyyyzyy{yzzyyzzxzxxyyzzz{yyyzzyyyyyyyyzyzzzzyyxxzyzyyzyzzzyzyyyzyyywzyxzzzzzyzyyyxyyzyyzzz{zyyyyxzzxx{yyyzzy{zyyyyyzzyyyyyzyzyyxzyyyzyzyyz{yyzyyyyxyyzzyyyzyyxyzxyyyyyzyzzzzyxyyxzyyyzyzyyyzzxyyyxyzyyyyy{yzyyyyzxyxyzyzzzzzyyzyyzzyyzzyzzzzyyyyzyyy{zzzzz{zyyyyyxyyzzyyy{{zyyzyyyyzzyzzzzz{zyzyyyxyyzzz{zzzyxyyzyyyzzy{yz{zzzzzyzyyzzy{yzz{zyyyzyyyz{{{{{{zzzzyzyyzz{y{z{{{zyzyzyyxz{z{z{{z{yzzzzyzz{zzyz{{zzzyzzyzzzz{zyzzzyzzy{zz{||{zy{z{yzzyyzzz{zzz{{z{yyzzyzzz{zyzz{{zyyyzzzz{zz{{z{{zyzyzzzzzzzz{z{{zzyyyyyzyyyzzzz{zyyzyyzzyzyzzyyzyxxyyyyxxxzyzyzzyyyxxyyyzzyyzz{yyyyxyyyyzyyyyzzyzzzyyxyxyyyxyyyyyyxyxyxyyyzyzzy{yyzxxyyyzzzyzy{yyzyyyxxzyzyyzyzyxyyxxyyyyyyyyzyzyyyxxxyyxyyzzzzyzxyyyxxxyxzyyyzyyxzxyyyxzyxzyzzzyyxyxyywyyyyyyyzyyyyzxyxyyyyzyzyzyyzyzzxyyzzyyzzyyyyyyxyzzzzzyzyzxzyzyyyzyyzxyzzyyyyyyyzxzzyyz{zyxzyyyxyyzyyyzyyxyyyyyyyyzzzzz{zzyyyyyyyzz{zyyzzyyzzyzyxzy{z{{zzyyzyzzzzzzzz{zz{zyzyyyyx{{zzz{{zzxzyzxyzz{{yz{{{yzzzyzzzy{zzzzzz{zzyyyyz{{{zzz{zzyzzzzyzzz{zz|{z{zyyyyzyzzyzzy{zz{zyzyzy{{zz{zz|yyyxyyyzz|zzzz{zzyyyyzzyzzzzzz{zzyzyxxyyzyyyyyxzyyzxyyyyyy{xyyzyyyzyxxyyyyxzyxzzyyyyyyyyxyyyxzzzyyyxxxyyyzz{xyy{xyzxxyxxyyzzyyzzyxyxyxyyyzyxzzzyxxyxyxyyyzzxyzzyyxyxyxxyxyyzzyyyxxxxyxyxyzyyyyyxyxyyyyxyyzyyzzyzyyyxyyxxyyyzyxzyyzyyyxyyxyzxyzyzyyxxyyyzy{yyzzyyyxyyxyyyyyyyzyzzyyyxzxyxzyzzzyyzxyxyyxyzyzxyyzyzyyyyxyyyzyzyzzzzzyyyyxyyyyzzyzyyyyyyyyxxy{zzyzzyzyyzyyyyzyyzyyzzyyyzyxyyyzzz{{{zyyzzyzyyz{zzy{{zz{yyxzxy{zzyzzzzzzzzyzyzz{{zzy{zxzyzz{yyyzz{{{zz{zyzyyxzz{zzzzzzzzyzzyzyz{{z{z{zzzzzzyzyzyzyzz{zzyyyyzz{{zzzzzz{zyyxzyyz{zyzzy{{zzzyxxzyyzyyzz{zyyyzyxyxzzzzzzyzyxyxyyyxyyzxyyzyyxxzxxyyzyzxyyzzzxzyyyyzyyyyxy{zzyyyyxxyzzyzyyyyyyyyxyyxyyyyyyyyyzyyxyyxx{zyyzyzyxyyyxyyzxxyyzyzyyxxxzxyyyyzyyzyxyyxywxxxzyyyyzyyxyxyywyzzzyyyyyyyyyxyxxyyzxzyzzyywxyyywyyyxyzyxxyyyxxxyyyyyzzzyyzyyzzyyyyyyzzzzxxyxyyyxz{yyyzzzyyyyyxyyzyzzzzzzyyxyxyxzzyzzyz{{yyyxyyyyyzzzzzyzzxyyyxxyyyzyxzzyzzxyyzyyzzy{xzzzyyzzyyyzzzzzyyzyyzzyzzzxzzz{z{zzyyzzyyxzzzzzyy{zzyyyzyyy{{zz{{zzzyzy{zz{y{zzz{{zyzzyyzyzzzzz{{z{zzzzyxzzzz{{zyzzzyyyyyzyzyz{{z{yyyzyyzyy{zyzz{z{zzyyzyyy{{zz{{|zzy{zzyxyzz{yzyyzyyyzyxyyyzzyzyyyyxyyxyxxyyyyyyy{yyyxyyyyyzyyyyyzyyyxyyxyyyyzzyzyyxyyyywxyyyyxyzzyyzxxyxwyyyyyyzzyxyxyxyyxyxyyyzyxyzyyxxyyyzyyzz{xxzyxyyyxzzyyzyyxxxyyyxyxyyzxzzyxyyyxywyyyyxyxzzyxyywyyxyyyyyzxzyzyyyxyyyzxyyzyyyxyxxxxyxyyxxyyyyxxxyzxyx{zyzyzzyxyyyxxyyzxzyz{zyyyyyyyyzyzyyyyyxyyyyyyxyy{zzyzzyxyyzxyyyzzzyzzzyxxxyyyzyyyyyyyyyxyyyyyyzzy{yzzzyyyyyyyy{yyzzyzzyyyyyyyyzyzzzzzzzxyyyy{yz{zzz{zz{xyyyyyzzzzz{z{{zyzyyyyzyzzzyzzzzyzzyyzyzzzy{{zzzyyzyyxzy{z{y{zzzzyzyyyyy{{{zzzzzzzyzzyyyzzz{zzzzyyzxzyyyzyzzzzzyzyyyyyyzyyzy{zyzyyyyyxyyzzyyyyzyyxwxxxxyyzzzzzzzyxyxyxyyyzzyzyxyyzxyyxxyzzyzzzyzyzyxyyxxzzzyzzzyyyxxxxxyzzzzzz{zyzxxyxxxzyyyyzyyxyyzyxxyzyyyyyzzxyxxxxyyyyyyyyyxyxxyxyyyzyxzyzzyyyxxxxxyyyxyzyzyzzyxxwxyzyzyzzyyyxxxxywxyyyyzyyyyyxyxyxxyyyzyxzzyzxxzyyyyyxzyzyyyyyzyxyyzzyzzzzyyyyyxxwyzzzzzzzzyyyxxyyyzzyyyzzyyyyyxzxyzyzyzzzzzyyzyzyyzzzxyzzzyyzzyxxyzzzzzzyyyxzxyyyzyzzzzyzyyyyzzzzyzyzyzzzyyyyyyyxyzy{{z{zzyyyzyyzzzzz{z{zyyzzzyzy{zzy{z{{zzyyyyyyzz|{z{zz{zz{zzyzzzzyy{zzzyyyzyyzy{zy{zzzzxyyzxyzyzzz{zzzzzyyyzyxzzzzzz{{zyyyzzxyyyyzzzzyyxzzyyyyy{zzyyyyyxyxyxxyxyzzyyzyyyyyyxyxyyyyyyyyyxxyxyzxzyzyzyyzyxxxxxxxyzzzyyyyyyxywxyxzyyyyxxzyxywxyyxyyxyzyzyyyxxxxyyyyzyxzyzxxyxxyyyxzyyxyyxxxyyyxxyyyyyyyyyxyxxxyyyyzyyzyyyyyxwxyxxyzxyyy{zyxyyxxyyxyyyyyxyyyxxyzyyyzxyyzyzxyyxxzzxyyyyyyzzyyyyzyxxyzyzzzyzyyyzyyyyzzyzyzyzyyxzyxyxzzzyyyyzxxyxyxxyyzzzzzyzzyyyyyyxyzyyyzzzzxxyyyyyzyzzzzzzyyzxyzyyyzzzzzzzyyzzyyyzzzy{zyzzxyyzxzzxyyzzyzzzzyyxzyyy{yzy{{{zyzzzyyzyyyzzyzzzyyyyzyyzzzy{{{zzzyyzyyyzz{{zzz{zzyyzzzyyyz{zzz|zyzzyyzyzzzy{zz{zy{zyzzzyzyzzyy{zyzyyyzyyz{z{yzzzyyzyyyzyz{{yzyyyxyxyxyxxxzyyzxyzxyxxyxxxyyyzzxzzyyxxyyyyyyyyzyzyxyyyyxxyxyzzxzyzyxxywyyxyzxzyzyzxxxwyxxxyyyyzyxxyxyxxyyxyxzxxyxyyyxxyxyzxyyyxyxyyxxxyxxxxyxyyyyyyxxxxxwxxyzyyyyyyxyxywyxyyyzyzyyxxxxyxyyxyxxyyzyxxwxyyyyyyyyyzyyyyyxyxxxyyyyzyzyyxyyyyxwyyyxyyzzyyyyyxyyyyyzy{zzyyyyxxyyyyyyzyzzyyzzyxxzyyyzyyyzyyxyxyxyyyyzyz{yyyxzyyyyyzyyzzyyyxxyxyyzzyz{yyzyxyyyyyyyyyyzzzzzyxyyyxzxyyzzzzzyyxyyzyyzzzzzzz{{zzyyxzzzzzz{yz{zzzyyyzyzzzz{x|zzzyzyxxxzzzyz{yzzzyyyxxyxyzyzzzzzyyzyyxyzzzzzzz{zyzzxzyzyz{zzy{{zzyyzxyyyzzyyzy{zzyzxxyxxzxyxzyxzxxxyyxxxxyxyyyzzxyyyyyxxzzyxyzzzyxxxyxyyzzzyyzyzzyyxyyyyzzyzxyzyyyyyxzzyzxyyxzyzyxyxxxyyyyyyyxxzzyxyyyyxyyxxyyzyxwyxyxwzyyzyyzyzxyyxwwxxyyyyxyyyyxwyyyxxyyyzxyyyyxyxxxxyyyxyyyzzyxxxyxyxyxyyyyyzyxyyxxxxxzyyzzzzyyyyzyzxyyzzzyzzyxyxxxyyyyzyyyyzyyyzxxyzyyzzx{zyyyxyyyyyzyzy{zzyzxyyyxxyzzxzz{zyyxyyzyxyyyzyxy{zyyyzxxxzzyyzzzyyyzyyxzyyyzzzzzyyyyyyzzzyy{yyzzz{zzyyyzxxxzzzzzzy{xyyzyzyyzyz{zzzyxzyyzzyyzyxzz{zzzyyyzzyxzy{z{z{yyyyxyzyyzz{zzzzzyzyzyxzyyyz{yzzyyyzzyyyzzzzzzz{yyzyyxyyzzyyz{{{yyyyzzyyzyyzyyyyyysyzxyxyzyyyzyzyxzxzxxxyzzyzyzzzxyyyyxyyyzyzyyzxyxxyxxyyzyzzyyzyyxxyxxyyxyzxy{yyzyyxxyxxyyyyzzyyyzzxwxxyyyyyzyyzzyxyxyyyyyxyyxzyyyxxxxyyyyyyxzyxxyyxxxyzzyyyyzyyxyyxxxyyyyyzyzyzxyxyyxxxyxyy{yzzxxyyyxxyyzyyyyzyyyxyxyxyyzzy{yyxyyxyyxyyyyzzyz{ywyxyyyxyzyzyzzzzxzzxxyxyyzzzzzzyyyzxxyyzzzzzzzzyyyyxyxzzzzzzzyyzxyyyxxyzzzzyzzzzxyxxyxyzzzzyzyzzzxyzxzyzzyz{zyzyyzyyyyyzzzzyzzzyyyyyxyyz{zzzzzzyzyzzyyyyzz{zz{zyzzyyzzyzzyzzzzzzzyzyyyzy{zyzz{zzzzzzxzzzzzzzz{zzyyxyzzzzzz{zz{zzyxyxzyyyzzyzyz{yzyyzxyzzzzzzzzzzzxzzyzxzzyzzzzyzyyyyyyyyyyzzzyzyyyyxxxxyyyy{yzyyxxyyzyyyyyzzzz{yzyxxyyyyyzxyzzzzyyxxyyzzzzzyzzyzyyyxyxxyyzzyyyyyyzyzxyxzyzzzz{zzyzxxyxyyzyyzyyyxyyxxyxyyyzyyzyyyxyyyyyxyyyzyzzzyyzxxyxyxyzyyzzyyyxxxyyxxzzyyyzzyxyzyxzxyyyxyzzyzxyxxxyxyzyzzzzzxyyxyxyxy{zzzzyzyyyyyyyyyyzzzzzzzxxxxyyyyzzzzyzzyyzyxyz{{yyzz{yyyyyyzyyyxzzyyzzyyyyyyyyyzyyyzyzzyyyzyyyyzzzzzx{{yzyzyzyzzz{zzz{zyyyyzy{yzzzzy{{{zyzyzyyxz{zzz{z{yyzyyzzy{{y{z{zzyyzzyyyz{|zz{zzz{yyyz{z{y{zzzz{zzyzzxzzy{zz{{zz{zzyzzyyzzzzzz{z{zzyzzzzzzzzzyz{{zzzyzzzzzzzzzzzzzyyyyyzxzzzyzzzyzy{xyyyyyz{yzyzyxxyxxyxyxzyyyxyzyxyyyxxyyyyyzyyzyyyxxyyxzyyxyyzyyxzyyxxwyyyzzzzzyyxxxyyyzyyyyyy{xxyxyyyyyyzyzzyzzyxyxyxxzy{xxyxyyyxxyyxxzzyyyzzywyyyyxyxzyyxzxyyxywyyyxxyzzyzzzzyyyyyzyxyywzyyzyyxyxyxxyyzxyxyzzyyzxyyxxyzxzzyyyzyyyyyyxyzyxzzyzzyyxyyyyzzyyz{zzyzyyyxyyzxzzz{zyzxxzxyyyyyyzyzzzzxyyyyyyyzzzxzzyyzyyxyyyyyz{zyzyyzyyyyyyzyzzy{zzyzzxyzyyyzzzzzy{yyyyyxyyyzz{z{z{yyyzyyxyzzzz{zzyyzyyzyzyzzz{z{zzzzzyyzyzy{zz{z{{zyyzyzz{y{zzzz{{zzzzzzxyzzzzzzzz{yyyyyyyzzz{zzz{zy{xzyyz{yzzzyzzyyyyzyyyyyzyyzzzyzxxzyyyy{zzzyzyyyzyzyyyzy{yzzxyzyxwxxxxxyzwzyzyyxyyyyxyzzyzxyzzyyxyxyxyyyyyyyzzyzyyxxyyxzzyyyzyyzyyxxyxyyyyyzzyxxyyyyxxzyxyyz{zyxyxyyyxzyxyxyyyxxxyyxxxyzyyyyzyxzxyyxyxyyyyyyzyyyxyxyxyyyyzzyyzyxyyxyxyyyyyyzyyxxyyxxxwyyyzyyyxyyyxxyxxxyxyyzyyyxyyyyyxyzzzzxzyyyyyyxyyyyyzy{yzzyyyzyyyyyyyzz{zyzzxyxyxyzzyzyzzyyyyzxyxzyzyzzzzyyyzyxyxyzzyyzzzzyxyyzyzzzzyzzzzzyyzzyyzz{yz{{zzyyzyzyzyzzzy{zz{zyyyyyzyz{zzzzz{zzyyy{zzzyz{yz{yxyxyyzzzzxyyzzzzzyzyzzyzy{zzzzzzzxzyzzyyzzzyzz{zzzyy{zyyyyzyzz{zzzyy{yyyzzzzzyz{yzzxyyyyzzyzzz{zyzyyzzzyzzyzzyz{yy{yyyyyyyzyzyyzxyyxxxyxxyyyyxzyzyyyxxywyyzyyzzzyyxwxyyzyyyyyzzyyxyxyyyyxyzyxyzyyyyyyxxxwzzzzyzzyyyyzyxyyyyyxzyxyyyyyyxxzyyyyzyzxyyxzxyxyxzyyzzyxxxxxyyyxyyyxyyyyyxyyywyyyyzxzyzyyyyxwxyyyyyyzyxyyyzzxyxyyyyyzyyyxyxxyxxyyyxzzyzyyyxzyxxyyyyzzyzxzxyyyyyyz{yyzz{zyzxyyxyzyzyyzzyyyyyyxyyyyzzyyzzyyyyyyzxyzyzyzzyyyzyzyyzyzzyyyzzyyzxzzzzyyzyzyyzzyyyxyyyyzz{zzyyzyzxyxyy{zzzzz{zyzzzyyxyzzzzyz{yyzyyyyyy{z{y|{{{zyyyyyyyyzz{{z{y{zzyyzyzyzz{zz{zzzzyyyyy{z{zzyzzzxyzzzyx{zz{yzzzzyzyyyxyyzz{{zzzzyyxzzyxzyzzzzzzyzyyyyyyyzzyzyzzzxzzyyyyzzzyzyyxxzyyxyyyyyyzyyzzyzxzyxxyyyzyz{yyyxyxxyxwzzzxyyzyyyyzyxxxyzyzyzzzyxxyxyyxzyyzyyyyxyyyyzyyxyxyyzzyyxxyyxyyyyyzyyyyxyyxyxxyzyyyyyyyyyyyyxywzyyyyzzyxxyyxxwyyzzxyyyyyxyyxxwyxyyyzzyzzyxyyxxwwyyyyyzyxyxxyxxxxyzzzzzzxyzyyyyxyyyyzzyzyxxxyyxyzyzyzzzzyzyxxyyyzyz{zyzzxxzzyyxyyyzyyzyzzyyyyxyyyyyzzzyzyyzxyyzyyyzyyyzzzyyzzyyxz{yyzyzzyxyyzyyzzyzz{zzzyzyxzyzzyyzzz{zzzyyzyyxyzzzzz{{zzzyzyyyyzyzzzzz{yzyzzzyyyz{zzz{{zyyzyzyzxz{zzzzz{zzyzyzzzyzzyz{z{yyzyyzy{zzz{z{zzzyyyzyzzzz{{{zzyyzyzxxzyzzyzzz{zzyyyyyyyyy{zyzyyyxyyyyyzzyxyyyyyyyxxxxyyyzyyyyzyzxxyxxxyyyzyzyyxyxyxxyyyyyyyzzzzxyzxxwyyyzzyyyyyzxwxxxyyyyyyyyzyyyxxyyxyyyyxyzyyxyxyxyxyyzyyyyyyyxyzyxyyyyyyyyzyyyyxxyyxyyyzyzyzyyxxyxyyyyzyyyzyyyyyxxxyzxyyyzxyyxxxxyyxyyyyyyzyyyxwxyxyzyyyyzzxyyxxxxxxyzzyz{yzxxyyyxxyzyyyzzyyyyxyyyzyyzyzzyyxyxxwyxyzzyzzzzyyyzyyyyyyzyzyyyzyxzxxyxzyzzyyyzyyxxy{yyxzzz{xyyzyyyyyzyyyy{{z{zzyyxzzyyyzyzzzzz{yyyyzyyyy{yyz{zzzyzzzyzy{{zzy{zzzyzyyyzzzzyyzzyzzyyzyyzyyzzzyz{zzyzyyyyyzyz{zz{yyyzzzxyzyz{yz{zzzzzyzyyzyyz{zzz{yzzyyyyyyyzyyzzyzzyyxzyyz{x{yzzyyyzyyxzyzyzzyyzzxxxyxxxyyyyyyyzyxyxyyxyyzxyxyzzzyyxyxyywyyzzyzzyyyzyzxzzyyyzxzz{yyyxyzzyzzzzyzx{zyzyyyyxyzyyzzxyyxyyyyxxyxzzxyyxxxyxxxxxyyyzyyzyyxxyyzyyyyxyyyyyyyxyxxyyzyyy{yzyyyyyxyyxxxyzzzzyyzyyzxzyxzyyyyyyyyyxyxxxyzyzyyzyzxyyyyyyyyyzyzzzxyxyzxyxzzyyyyyzzzyyyzyyzzzzyz{zyyyyyyxxzyyyzzyzyxxyyyyyyxyzyzyyxxyxyyxxyzzzzy|yzyxzzyxxyyzzyyzzyzzzyzyzzzz{zzyzzyyyyyzyzzyzzyzzzzyzyzxyyzzz{zzzzyyyzyyxzzzzzz{zzzzzyzzyzzzzz{zyyyzzyzyzz{zzzzzz{xzzyyyyzyyzzyyzzxyyyyzzzy{zzzz{yzyzzyzyz{yyzzzzzyyxyyyyzyzzzx{zzzxyyyzyz{zzyzz{xxyyyyyxyzzyyyyzyyxwxxyyxzyzyxyzzwxyyxxxyx{yyzyyyyyxxyxyzyyyyxy{yyyyxyxxyzyzyzyyyyxyyyxxyzyxxzyzyxyyyxxxxyxxyyyyyyyxywyxyyyzzxzyyxywyzyxxyyzyyy{xyxyxxyyyxyyyyyxxxxxyxxxyzzyzyyzxyyyxywxxyyyyy{zxzyyxwyxxyxyyzyy{xyxyyyyyxxyxyyyyxyyyyyxyzyyyyyzyxxyyxxzx{{zyzyzyyyxxyyzyzyyyyzzyyyyxyxyyyzzyzyzzzyyxxyyyyyyyzyyyxyyzyyzyzzzyzzzzxx{xyyyyzyyzzyz{xyyxxzzzzz{zzzzzzyxyyxyzyzzyz{zzyzyyyyzz{zz{z{zyyyyzyyyzyzz{zzyzyyzyzyzzyzzz{{zzzyzzyyyy{{z{{{{{zyxyyyy{zyzz{zzzyyyyyyzzyzzzyzzzzzzzyyyzyzzzyz{zzyyxzzzyz{yzyzzz{zzyzyyyzzy{zzyyzyxxxyxzyyyzzyyxwyxyxxyxyzyzyyzyyxyxxxxyzzyyzyyyzyyxxyxyxyyyzzzyyxyyxxyyxyyzy{zxzyyyxwxyyyyzzzyzwyyxyyyyzyyyyyxyyzxyyxyzxzyyzyxzyxyyyyxyyyyyyyzxyzyxxxxyxyyyzzyywzyxyxxyyyyzzzzzyzxwxxyzyxyxyzxzxyxyxyxxyyyyyyzyyyxxxyxyyyyzyyyyxxxyzyyzzzzyyzyyyyxxxxxyyyxyxyzzxzyyxyzxyzxzzzzxyxyyyyxzzzyz{zzxyyyxyyyxyzzyzyyxxyxxyyyyyzyyyzyyyyxzxxyz{zyy{yzyyyyyyyyyyzzzzyyyyyyxyzxzyxyyz{zyyzyxyzxzzzzz{zzzyyyyyzxzyzzzz{zzyyzyyzyy{{yz{zz{y{yyyzyzzyzz{{zzxzzyxzzzzyzyx{zyzzyyyyz{yzyyzzzyzyzzyyyzyzzzzz{yzxyxzyxzzz{zzzzyyyzyxywyzyzyyzyzyyyxxxzzyyyyzxyyyyzyyyyyyyyzyzzyyxyxxyxyzz{yxzzyyxyyyyyzzzzzzzyzyyyyyyyxyyzyzyyzxyzxxyxxzyzyxzzyyyxyyyxyyyzyzyyyyyyyyyxzyzxyzyyyyxyxzyyyzzyyzyzxxxxyxxyyzyyzy{yzyxyxyxxxzzyzyzyyxyyyxxxzyzyyyzyyyyyyxzxyyzxzzyyzzxxxyyyzyyyyzy{xxyzyzxxyzzxyzzzxyzxyxyyzyzyyyz{yyzxxxyy{zxyzyzzxyyyyyyxyzyzzzzyyyzyzxyxyzyzzzzzyxxzyzyzzyzzzyyzyzzzyyyzzzz{zyz|yyzyzzzyzyzzz{zzyzz{yyzyzzzz{z{zzyzyzyyxzzyzzzzz{yyyzyyy{zzz{{zzzyxzyyzyzyz{{{z{{yzzyxyzz{{{{zzz{z{zzyzyzyz{zzzzyyzzzzyzyzzzz|{{zyyzyzzyz{zzz{z|zyzzyyzyzzyyz{{zzxyxyzyyzyz{yzzzyxzzxyyyyz{yzzyyxxyxywxxyyyxyyzzyxyyyxxxzzzyzzzyyyyxyxxyyy{yzyyzyyxxwxxxzzyzyyzyyyxxxxyxzyyyzyzzxyzxyyyxyyxxyyyyyyyyxwyyyyzyxyyyxyxxyyxyzxxyyzyyzwyxyyxyzzyyyyyyxxxyxyyyxyyyyyyzzxyxywxxyzyyyyyyyxyyxxyxxyyxzyxzyyyxxxyyxyyxyzzyyyzxyyyyxyzyyyyzzxyyyyyyyzyyyzyzyyyyxyzy{zyyyyyyyxywyxyyyyyxzy{yyyxyyyyx{yyzzzyyyxyxyyyyzzzzzyzyzyyyyzyyzzzyyy{yzyyzzyyzyyzzzyzyyyyyyyzzzzy{yzzzyyzyyyyxyzyz{zzzzyyy{xzy{yzzzyzzzyzyyzyzyzyy{zyz{yyyzzyzz{z{zzzzyy{yyyyyzyyyzz{zzzyyzzyyzzyzzyz{zzyyyyyz{z{zz{zzyzzxyyyzyzzzzzyzzzyxyyyyz{yyyzzzxyyyyyyxyzyzyzyyxxxxxyxxyyzyyyzzyyyyxxyxyyyyyyzzxyxxxxxwzyyzzyzyyxxyyyxxyyyyyyz{yzyyyxxxyzxyzyyyxxxyxxyxxyxxyyyyyywzyyxxyyyyyyyyyxyyxyyyyzxyyzyyyxyxyyyxyzyyzxyyzxyxxxxyyxzyzzzyyyzyxxyyy{yyzyyyxyyxxxxxyxyyyyyzywyxxxxyyxyyyyzyxxyyyyxxyyzyyzzzyyxxxyyyyyyyz{zzyxyyxyxyyyyyzzzyyxyxxyzyyyzzx{zzzyyyyyyyyzyyzyyyyxyyyyyxyzzzyyzzyzyzzzyyxyzyyzzzzyzyyzzyy{zzy{zyzyyyyzyyzzyzzzzyyyzyzxzxyzzzzyzzzyyyzyzzzzzz{{zz{yzyyyzzyzzyzyyzzzyyyyzyz{{z{{{y{zzzzyyyzyy{y{zz{zyyyyzyzyzzzzzzyzyxzyyyzzyzz{zzzxyyzxzyzyzzzzzzzyzyxyyxzyyzyzy{yxzxyxyyxzzyyzyyxyxywxyxyyyzyxyyzxxyxyxxyzzxyyyzxyyxyxxyyxzyyzyyywxyyxyyyyyyyzzyzyyywxywyxyzyyzzyyyxxxyxyzzyxyyyyyyyyyxxyzxxz{{yyxxxyyxxyxyyxxyyxyxwyxxxxyywyyzyyyxyxxxyxyyyyyyyxyyyyxxxxyzxwyyzyxyxxxxxyyzyxyyyyyywxyxxxyyyyyzzyxyxxxzyyzyyzyzzyyxxxyzyxyzyyyzzyxyxxxyyyyzzy{zyyyzyxxzxxyyyyzz{yzxxzxyyyyzyy{yyyyzyyxyyzy{zzzzzyxzyyxxyzzyyzz{zzyyyyyyyyyy{{y{|yyyxyyzy{zzzzzzzy{yxxyyyyzzzzz{zyyyyyyzyzzzzz{{zyxzyyyzzzzzyz{zz{yyzxzzyy{z{{{zzzyyzyyyyzzzzy{zzzyyyzyyzzzzz{zz{{yyyzyy{yyyyzyzzyyyxyyyyz{{yzzzzzyzzxyxxyzyzzzzyyzxyxyyxy{zzyzyxxxyxyyyxyy{yzzzzyzyxxxyxyyzyzzzzyyxyxyxyyyzyzz{yyxyyyyyyz{yyyyzzxyzwxyyxyxyzyzyyxyyzyyzyyzyyyzyxyyyxyyxxzy{yyzyyyyyyxxxyyyzzyzyxyywxxyxyyyyxyzzyyyyyxxxxyzzyxyyyzxyyxyxyzxyyyy{yzyyyyyyyyxyyyyyzyzyxxyyyyyxyyzzzzyyyyyyxyzzyyy{zyzxyyxzyzzxzyyzzyyyyyxyy{yyzz{zzyyzxxxyyyzzyzy{zzyxxyyyxy{zzzzyzyxyyyyyyy{{y{yzzzzyyzxyyzzyyz{x{zzyzyyyyyzy{zz{zzyyyzyyzzzyyzzz{zzyyyzyyzz{zzz{yzzxyzzyyy|z{zz{zyyzyz{{zyz{zz{z{{yyzzyzy{zzzzz{{zyzyzyyzzyzz{zz{zyyyzyzyzyz{zz{zyyzzzyyzyzzzzzz{zyzyyyxzyzzzz{{{yzyyxzzy{zzzzyyzzzzyzxyyyyz{yzyzyyyxxxyxzyyxyyzyyxyxyyyxxyyyyzzzyyxxxyxxzxxyzzzyyyyyyyxyyyzyxyzzyxxxxyxxyxyyzyzyxyzxxyxxyyxyzzzzyyxxyyxyyzyzzyzyyyzyxyyyzzyyyyyyxyxyyxyyxyyzxzzzxxxxxyxxxxxyyyyyyyxxxxxxyyy{yxxyzyxyzxyyxzyyyyzzzyyxzwxyyzxzyyzyyxxxyyyxxyyyyzyyyxyyyyzxyzzzzyxyzxyyyyxyyyzzzzyzxzyyxyyyxzyzzyzzyzyzyyyyyyyzyyyyzxyyyyyyyyzzy{zzzzyyyzyyyzzyzzyxzyyxyyyzzzyz{z{{yyzyyyzy{zzzyyzzyyyyyyyy{zzzzzzzzyzyzyyzzzzzz{zzz{yyxzyzz{z{z{z{zyzyyzzyz|{z{{zzyzzyzzzz{zzyyz{zyxzxz{zyzzxzzzz{zyzyyzxzzyyzz{zzyyyzzyzyzyyyzz{{zyyyyyzxzyyzzzz{xxyyxxyxyyyzzzzyzyxxxyzxyyyyxyyzzyxyyxyxyyyzzyyzyxxyxyyyyxzzyyyzwwxyyxxxyyyyyyyzyyxxyyyxzyzxyyyzxxyxxyyxyyxyxyzyyyzxxxxxzyzyyzzyyyyyxyyxyxyyyyyyxyyxyyyxyyxyxyyxxyxyxywyxyzzyzyyxyxyxxwyxyyyzyyyyxyyzxyxyxzyyyyzzyyxyxxxwzxzzyyzyyyyyyxyyzzzyzzyyyyyyyxyyyzyz{yyzxxyyyxxzyxyzzzzyyxxxyxxzyzzyyzyyyyyxxyyxyyyy{zxzyzxyxyyzzzyyzzzyxzyyxyyzzyzyxzyzzzyxzzzyyyzzz{zxzyyyzxzzzyzzzzzzyzxyxxyyzyyz{zzzyyzzzyy{zz{{{zzyxzyyyzyzzzy{{z{zzxyyzzzy{zz{yzzzyzzzxzyzzzzzz{zyyyyzyzzzzyzzzzzzyyyyzzyyzzzzzzyyyyyyyzyzyzzyz{yzyxyyyyyxzyzyy{z{yyxzxxxxzyzzyyxxyxxxxxxyyzzxyyzyxyxwxyxyyyzzzzyyyyyxxxyyyzzyzzzyyxyyyxxyzzxyxzyyyyxwxyxyyyyxxxzyxyyxyyxwzyyxzyyyxyyxyxwzyyxxzzyyyxxwyxxyxyyyyyxyyyxxxyxyxyyyyyyyyyxxzxyyyzyy{yyyyyyxxxyyxyxyyyyxyxyyyxyxxxxyxzxzyxzxxyyyzxyyzyzxxxyzyxyxyyyyyzyyyxyywxxyyzyyzzyzyyxyyyyyyyzyzyyxxzxyxxyyzyyzyzzyzyxyxyyyyyy{yyzyyxyxxxyyyyxyyyxyxyyyxyxyyzyyyyyyyzyyyyzzyzz{yyyxzyzzzzzxzzzyzyyyxzzyyzyzzy{zz{zyyyyzyyyzzzzyz{zyyzyyyyyxzyzzz{{{yzzzzyyyzz{zzzzyyzyyyxyyz{zzyzzyyxyyzzyzzzzzy{zyyyyyyyzzzzzy{z{zzyxzzyyyzzyzzzzzzxyyzzzyzzzxxzzyyyyxwyyyyzyyyzyyyyywwyxyzyyzyzzxxxyyxyxzxzyzyzyzyyyyxxyyyyzyyyzyyyxxyxyyyzzzyzzyxxyxyxxyzyyyyzyzwyxyyyxyyyyyyyzyyyyyxyxyzyzyzyyyyxxxyyxzyzzyyzxxyxyyxxxyyyyyzzyyyyywyxxyzyyzyz{yxyxxxyxzyyyyyzzyyywyyywyzyxxyyyxyxxyyxxyyzxzzyyxyyyyxxxyyyyzzzyyyxyzxxxyzzyyyyyzxyyxyyyyyyzyyyyzyyzyyyyyy{yyyzyyyyyyyyzyzyzyzzzxyyxyyyyyzzzzzzyyxyyyyyyzyxzzzzzyxyyzyyyyyz{zzy{xxzyyzyzzzzzzz{zzyzyyyyxz{yyzzzzzyzyyzzyzzzyzz{yzyzzxyzyzzz{zzzy{xyyxzyxzzz{{z{zzzzyyyyzzzzzy{zz{xyyzzzzzyzzz{{yzzzzzyzyzzyzzzzzyzyxzzzyx{zyz{{z{yyyxyyyyzyzzyyyyyyyxxxzyyzzyzyyxyxxyyxxxyyyxzyyzyyyyxxxyyzzzyxzyyxwyyzxxxyyyzyzzxyxywyyyxyyyyxyyyyyxwyyyyyyzyzzyyyyyxyxxzxyyyyzxzyyxyxyyyyyxzzzxxyxyxxyyzxyxzyxxxyxyxxyyzyyzyzzyyxxxxxxyyyyyyzyyyyyxxxyxzyyyyyyyxyxxyyxxyyyyxyyyxxxyyxwyyyyyxzyyyyyxyyxyyyyyyyyyyyyxxyzyzzzyyyyyyyxyxyyyzzzzzyyzzzzyyyx{yzyyzzzyxxyyyyyzzzyyzzzyxxyyxyyzzzyzxzzzyyyyxxyyzyyz{zzzzyxzyzzzzz{z{z{zyzyyyyzz{zzy{{zzyzyzyyyzyz{zzzy{yyzyyxyyz{y{zz{zyyzyy{yy{zzz{zzzzyzyyxzz{z{zz{zzzyyyyzyzzyzzzzyzzyyzyyyzzzzyzzzzzxzy{yy|zzzzz{zzzzyyyyzzzzzyz{zyzzyxyzyzzzzyyzzzyyyyxyyyyzyyyyzyxxxyyxwyzyyyyzzzyxyyyxxyzyzyyy{zyyxyxyyzzyyzzyzyxyxyyxyzzz{yyzyzyyyxxyyyyyzxyzyxyyyzxyyyzyyyyyyzxyyyxyyyyzzyyyxxyyywyyyxyyyzzzyyxxyxyyyxyzzyzxyyyyyyyxyyxyzyyzyxyyyxyyyyy{zyyxzyzyyyxywyyyxyzyzyxyyyxywxyyyyyyyxyzyyyyxxzyyyzyyzyyyyyzxyyyzy{xyyyyxyxyyyyyyyzy{yyyyxxxyzzzyyyzzyyyxyxyyzyzyyzzyywxyzxyyzzzyzyzyzyxyyyxyzzyyyzyyzyyyyzyzyzzyzyz{wyzyyyzzzzy{{zzzxyzzyyzyyzz|zzzzzyzyzyzz{zyzyzz{zzzyzzzzzyz{{|zz{zyyzzzzz{{z{zz{zzzyzyyzzzzz{{zzzyzzzxyzzzzzzz{{{yzyzzyzyzzz{zzzzzzyzzzyz{zzyyz{yzzyxyyyzzzzyzzzyyyyyyyyyzyyyzyyyyxyyxwxyyzyyyzyyyxyxxxyy{yzzyzzyxyxxxyxzyyzzyzyyzyxyyyyxyyyyzyxyxyxwxxxyyyyyyyzxyxyyxyyyyyyyzyyyyyyyyxyzyzxyyxzyyyxxyxyzyyyyyzyyyxxxwyyyxyyyyyyyyyxxxxyyyyzyyzzxxyyxyyxyyxyyyyyyyyyyyyxyyxxyzyzxxwyyyxyyzyzxyzzyxzxzyxyyyzyyy{yyyyyyzyzyzyyyyyyyyyyyxyxzyxyzzzzwxyyzxyyyzzyzzz{zxzxyxyxzyyxyzyzzyzyzxzyyzzyzyzzzyzyyzxy{zyzyyzzzyyxyyyzxzz{zzyyyyyy{zyzyz{zzz{zyyzzzzyyzyyzzz{zzyzxyyzyzzzzz{{zzyzzyzzzzxzz{z{zzyzyy{zxz{zzz|zzz{yzyzyyzy{{z{{{zyyyzzy{zzyzzzz{zzyxyzyz{{zz{zz{zyyyyyxyz{y{zzzyzyyyyzyyzyzyzy{zzyyyxyyyzzzzyzyyyyyxyxyxzyyzyyyzyyxyzxxyzxyyzz{zyxxxyyxyyyzzzy{zyxyyxyyxxyyyyyyyyyxwxyxxyyy{yyyyxyyyyxxxxzyyyzzyzxyyxxzyyyzxyxzyyxwxxyxyyyxyxyzzyxxxxxyyyyyzyyzyyyyyyyxzyxyyyzyyyxyxxyyxyyxzxyzzzxyyyxyxyyyzyyzyyxyxyxyxxyyyyy{zxyyxzxyxyzzyyyzzxyxxyxyyyzzyzzyzyyyyyyzyyyyxyyzzzyyxzyxyzzyyyyyzyyzyyyzyxyyzzzzzyyyyyyyzzzz{yyzyyyyzyzyzzzzy{zzz{yyyyyzyyzzyzzyzyzyy{xzyzzzzzzz{zyzzzzyzyzyzzzzyzyyyyxyxz{{zy{yzzzzyz{zyz{z{zz{{zyyyyzzzyzyzz{{{zyzzyzyzyzzzzzzz|yxzzyzyz{yzzz{{zyyyyyzz{zzz{{zzzyyxyzyyzzz{yzzy{zyzxyyyz{zzzzzzyyzyyxzyyyyzyzyzyyyyyyyxxzzzyyzyxxyyxxyxyyyyyzzzyyxxyyyyyyyzzyyyyyyyyyxxyzzyyy{zyyyyyxyxyyz{yyxzyxyyxyyxxyyyyy{yyyyzxxxyyyyyzzyzzxxxwxxyxyxyyyzyyxyyxxyxyzyzyyyyxyyyyyxzzyyxzyyyxyyyyxyxxyzyyyzyzyyyyxyxyyyyzyzxxyyxyyyxyzyzyyzyzyyxzxyxyzzyyzyyxyyxyzyyxzzyzzyyyyxyzxyyyyyyyzzzyyxyzyyyzzyy{zzzzyxyzxyxyyzzy{zzyyyzzyxyyyzzzzzzzxyyyxyzyzzyzyzzyyyxyzzyzzzzzzzzyzyyyyyzzzyzyzzzyxyyyyyyyz{yzy{{zxyy{yyz{{yy{{{zzyzyyzzzyzzz{z{zzyzyyzyzz{{{zzzzzyyzzzzzyzy{z{{zyyzyyyyyyzyzzz{yzyyyzyzzzzyzzzz{{yzyzzyyzzzzzzz{zyzyyyyyyzz{zzzzyyzxyyyzzzzyzyyywxyxyyyxxyyyyyyzyyyxxxxyyyyyyyzyyyxxxyxxxyzyzyyxzyzyxxwyyzyyxxyzzxyxyyyxyyyzzyzyyxyxxyxxyyyyyyyyyxyyxyyyyyzyyzyyxyxyxyxxyxyyxzzyxywyywyyzyzxyyzyxxyxxzxxyxyyyz{zzxxxyzxxxyyxyzzzxxyxxyyxyyxxzyyzyxyxyxxyxzyyy{zyyyyyyyxxzzxzyyzzyyyyyxxyyzzyzzzyyyyyyxyzzzzyy{y{zyyyxxyyzzyyzzzyyyyyzyzyyzy{zzzzyxyyyyyyyy{zzyyyyyzyyyyyyzzyyzzzyyyyzyzy{zyzyzzzyyyyyyzyyzyzyzzzyyxyyx{yyyz{zyzzzxyyzxzyz{zzzzy{yzzyxyzyyzx{zzz{zzzyxyzzz{zzyz{z{yyzzyyyzzyzy{xzyyyyyzyyzyzzzzzzzzzzyyyzzzzz{zzzyyxyzyyyyzzzzyzzyzzxyyzxy{z{zzy{zxxxxyyyxzyzzyxyzxwyyyyxyzyzyzyzyyxxyyyxyyyzz{zzyyyxxyyyyxyyzzzzyyxyxyxyyyzzxyyyxyyxxxxxyyyzz{yzxzyyxyyyyyyyyyzyyyzyxxxxyyxwxyyyyzxxyxxxyxzyyzyyxxxxxxxyyxzzyyzyyyyyxxxyyxyzzyyzyyyxxyxyyzzzyyyzxxyyxxxxyyyzyzzyzyxyyyyyxyzxx{zyyyxyyxxxzzzyyyyzyzzyxyyyxzyzyzyyyxyyyyyzzyyyzyzzyyyyxyyzyyyyyyzzyyyxyxyxxzyzyzzzyzyyxyyyyyyyyyyyyyyyzywyzyyzyzzyyyzzzxzyzzzzzzzzyzzyyy{yzz{zz{{{yzyyzyyzz{zzz{zzzyyzzzyy{{{zz{zzzzzxzzzyzzyyzzz{zyzzxyyyz{zzzzz{zyyzzyyzzzyzz{zzzzyzyzzyyyz{{zzzzyzyzzyzzz{|{{zzzyyyzxzyyzyzzz{{yzyyyzyyzyz{zz{yyyywyyyxzzzyyyyyxyyxyxywxyzyxyzzzxyxyxzwzzyyzyyyzyxxyyxyyyxzyyyzyyyxxywyyyzzzxyzzxyyxxyxzyyxyzyzyyyxxwxxxyzyzzyyyxxyyyxxzyyyyyzzyyyyyyxyyyyzzyyzyxxxxyxxxyxyyzyyxyxzxyyyyyzxzyzxyyyyxyxxyxxyyzzyzyyxyzxxyzyyyyyyyxxyyxyxxyyzxyxyxyyxxxyyyyyyyyzzyzzyyxyyxyyzzxzzyyyzyyyxxzzyyz{zyyyxzxyxzzzyzyzzzxyyyyyxyyyyy{yyyzxxyyxxyz{yzyz{zyxyyyxzzzzzzyyyyxzyxyxzyyz{zzyyyyxxzyyyzzzzyzz{{yyyyyyyyyy{zz|zzxyzzyyyz{zzzz{zzyzzyyzxzzzzz{zz{yzyyzyzz{zzzzzzyyyyzyyzzy{zzz{yzyyyzyxyyzzzzyzzzyyyzyyyzzzzzzz{zyyxxxyzyzzzzzzzzzxzxyyxyzzzyz{zyxzyyyzyzyzyyzyzxxyyxxyxyyyzxyyyxyyyyyxxyyyxyyyzyyxxyyyyyxyyzzzyyyyyyyyyzyyyyyzyyyyxyyxxyyyyzyyzyyyyxxyyyzyyyyyyzyyyyxxxyyzyzyyzxyyxyyxyyyyzyyxyyyxxxxyyyzyzyyzyyyyxxyyxyyxxzyyzyxyxxxyxxyxzzyyzyxzxyxzxyyyzyzzyyzyyyxxyyzyyxzyzyxxyxxyyyzyyzyzyzzyx{xyyyzzyzyyzyyzyxyyyyzyyxz{zyxyyxyyzyzzxyzyyyzzyyxyxyzyyz{zyzyxxyxyyyzzzyzzyxyyyyxyyyyyyzzyzzzyyzyyyyyzzzyy{yzyzyxyyzyyz{zz{zyzyyxzy{z{zz{zzyxxzyyzzzzzzzyzzzyxyyzyyyzzz{z{zzyzyyzxxy{zzzzzzzyyzyyyyzzyyzzzzyyzzzzxzy{zzzz{zzyzxzzyyzyyz{z{{yxzyyyxyyyyzzzzzyyxyzyyyyzzzyzzyyzyyxyyxyzzzyyyzyyxxywxxyyyyyzzzyyyxxxwxyzyyyzyzyyxxyxzxyyyyyzzyyyyxyxxyyxyyxxyyzzyyxyyxyyyxxyyzyyxxyyyyyzyzyyzyxyxxwwyxyy{yxzyyxxxxyyyxxyyyxxyzyxxyyxywyzyxzyyxzyyxxzyyyxyyyyzyxyyxxyyyxyyyzzyzyxxyywyxxyzyyyxzzyyyxxxyyzyyzzyzyyyyyyyyxzzzxyzyyxxxzxyxyyyzyxzzzyzxxyyxyyyyyz{yyyzyyxyyzyyyyyyyzxyyyzyyxyyyzyzzyxxyyzxyyzyzzzzzyxyyyyxzzzzzyyzyzyyzyyzyyyzzzzzyyyyyyzyyzy{zyzzzwzxzyxyyzzyyzyzzzzyyyyyxzzzzyzzzzyxzyzzzzzzyzzzzzyzzyyyyyzyzyzzzzzyzyyxzy{zz{zzzzzyxyzzzzyyy{zzzyyyzyyzyzzzyz{zzzyyyzyyyzzyz{{z{zyyyyyyyyzzzzzzzzxxyyyzyzz{{yzyzzywyxxxxyzyxzxzzyxxxyyxxxxzzyyyzyyyyxyyyyyyzzzyyzxyxyyyxzyyzxyzzyywywyxxyyyxx{zzyyxyxxxxyyzyyzzyyyyxxxxxyyzyyyzyzxyyxxyxyxyyyzyzwyxxyxyyyyxyyyyyxxyyxywyyzzxxyyyyxxxwyywyyxzyzyzwxyyxyxxxyyyyxyyzzxxxyxyyyxyyzzzyyyyyyxxxyyyyyzyyyyyxxyxyyyzyzzyyyyyyyzzzyyyzzyzyyxxyxyyyzzzzzyzyyzzxwyyyyzzyyyzzyyyxxyxyzyyzz{yyxyxyyxyzyzyyzyzyxxyxyzyyyyyzz{zyyxyyyyyzzzzy{{zyyyyyyyyzzyyzz{zyxyyyyzyzzzzzzzzzyyzyzzyyyzyzzz{zyzywyzzy{{zyyzzzzyy{xyyzyzyz{y{zyyyyyyyzzzz{zzzyzzzzzxyzzzyxz{zzzzxyzxxyzzzzzzz{yyyyyxxyyyzyy{zyyyxyxzyyyzzzyzzyyxyyxyxxyyzzxzzzyyxyyyzyzyyyyz{yyxxxyyyyyyzzzzzyyxyyxyxzyyyyzzyzyyyyxxwxzzyyzyzyyyxyyyxyyyyy{zyxxzxyxyxyyzyzyyxyxxxyyxxyzxzyyzyyyyyxyyxyxyyyzzzyxxyxyyyyz{yzxyyyyxyxxyyyyyzyyzyyxyyyyywyyyxyzyzxyyyyyyyzyxyxzy{ywzzyxyxyyzzzzzzyyyxxyxxxyzzzzz{yyzyzyyxyzzzzzzyyxyxzyyzzyyyzyzzzzyzyxyyzzyzzyyzyyzyxyzyzzzzyzzzyxyyzyxxzzzzxyyzxyyzyyyyzzz{z{zzyzyzzzyzyzyyzzzzzyzzyyyyzzyzzz{zzxzzzyyyzyzyy{z{zzyyyzyxyzzzzzy{zzyzzzyy{zzz{zz{yyyzyyzyzz{zzzyzzyzyyyzzzzyzzz{{{zyyyzzyzzzzzzzzyzyyzyzyyz{zy{zyyyyxyxyzz{{zzzyzyxzzyzyzyzzzzyyyyyyyyxyyxyyzyyyzyywyxxxyyzzyyyyzyyxxyzyxyyyyzzzzyxzxxyxxyzyxxyyzyyyyxxxyxyzyxzz{yxxyzyyyxyyyyyyzxxyzyyyxyyxzxxzyxyzyyyxxxyyzyyyyxyxxyyxxyyyzyyyyyxxxxyxyxzzyyyzyyxyxxyxxxxyyxyyyxyxyxxzyyxyxxyyyyyxyyxyxyyyyyzyyyxxyzyyxzzyyyyzzzxyyzxxxyzyyyzyzzzzyxyzzyzzzy{yyxyyzxzxxzyyzzzzzzyyyyyyyyzyyyzyyyyyyyyyyzzyzyyyxzyxyxyzxzxzyyzzzzyyxyxyyyyzzyz{zxyzyzyzzy{zzzyz{zyyyyyyyyzz{yzzyyzzzzzyyzzzzz{z{yzyyyzzzzzzyzzzzzzyyyzyzyzzzyzzzzzy{xyzy{z{zyyy{zxzyyyyzzzzz{{yyzzyzyzyyzzyzzzzzyzyyzzyyy{zy{{zz{zyzxzyyzyzzzzzzyyzxxxyyzzzyyzyyxzyxxxyxyzyyyyyyxyxyxyxxxyyyzyzzzywyyyyyyyyxyyyzzyyyyxyxzyzzyyyzyxyyxxyxyyzyyyyzzyyyyyyyyxyzyzzyzyxxxxyyyyyyyzzxyxxzyzxxzyxzyzyzxxyxyxyxyzyyzyzyyxyxzxxyxzyyyzxyxyyywyxxxyzyxzzzxxyyyxyxyyyyyyyyyxyyxxyyyxyyxzzzxxyyyzxxyzzy{z{zyxyyyyzzyzyyyyz{yxyxyyyzyzzzzxzyyxxyyyyyzyyyyyzzzwyxyxxyy{zyz{zzyxyyxyyyyzzzyyzyyzyyzzxyzyyzz{zzzyyyzyyyzzz{zz{zyzyyzyyyyzzzzzz{yyyzyyzyyzzzz{zzyyyyzyyzzzzyzz{zyyzzzzzyyyzyzzzzzzzyzzzyz{zzz{|{zz{zyyyxzzzzzzzzzyyyzyzzyzzy{z{zz{yyyzxyzzzz{z|zyzyzyyzzzzzzzzzzzzzzyyyxzzzz{zzyyyyxzyyyzyyyyyxyyxxxxyxyzyyyyyyyyxxxzxxyyyyyy{zzyxyxxyxyyxyyyzzzxxyyyyxxyxzzzyzyyyxwwxxwxyyyxyxyyyyyyxxwyyyyyzzzyyyxyxxyxyyyyxzyxxxxyxyxyyyyzzyzyxxxxxxxyyxyyzzxxxwxyxxxyxzxyyyyyxxyxxxyxxyyxyyzyxyxyxxxyyyxyzyzxxxxyyyxxzyyzzyzxyxyxyyyxyxyyzzzyyyxyxyyxyyzyyzzyxyxxyxzyyyzyyzyxxyyyyyyxzzyyzzyyx{zywyyyzyyyyzzzyyyxyyxyzyyyzzzyzyxyyyyyyyzyyzyzzyzyyyyyzzyyy{zxyyyzyzyyyzzyzyzyyzyyxyxyzzyzz{yzyyxyyyyz{{yzzzzzyyyyyzyzzyyzz{zzyxzzzyzz|y{{zzzzzzyyyyyz{zzy{zzzyyyz{xzyyyzyzz{{zyzyyxy{{{{z{{{yzyxxyyyyzyzyzzyyyyyywyyyyyyyzzzyzxyyxyyzyzyyzzyyyyxxyxxxzxzzyzzyxzyxxyxyzzyyzzyyyyxyyzxyyxyyyyxzyxxyyyxzyzzyzzyxyyyxyyxyxyzyyyzyyyxxzxxyzyyyzzxyyzxyxyyyyzzxyyyyyyxyxyxyyyyyyyyyxyxywyyyyyyxyyyyyyyyxxyyxzzzyyyxyyxxwxxxyzyyyyyyxxyxx{xxyxxzzzzyzyyyxxyyyyyyyzzyxyyyyxxyzzzyzzyyyyxzxyxxyzyyz{zzzyyxxyzzyxzyxyzxxxxxyxxyyyyzyzzyyxxxyyyyzzyzzzzyyxyxzxzy{zzyzzyzxyyxyzyyzyyzyzyyzzyyyyyzzyzzyzyyyyyzyyyyzz{yzyzyzyyyyxyy{{zzzzzzzyyzyyyzzzyyzzyzyyzyz{zzzy{{{{zzxzzzyzyyzzzz{zzz{zzxyyzzz{zz{yxyyyxyyyyzx{zz{z{zyyyzyyyzzzzyzzzzyxyxxyyyyzyzzzyyyyyyyzyzzzzyyzyxyyyyyyxzyzyyFu4 b {{{{z{z||{|{|}|{}{{{{{{{{{{|}|||{zz|z{z||{|{||||{{{{z{{z|{|{{|||{|{{z{z{{||{|{|||{z{{z{{|{{|||{|{{{{zzz{|{{{||{{{{zz{{z{{{|z|{|{zyz{{zyz{{z{{{|{z|{{zz{|{{{|{z{zz{zzyzzz{{|||||{z{|z{{yz{{|{|}|{{|yz{{{z{{zz{{}z{{zz|z{{{{{{{|{|{{{{z{{{{{{z|||{z{{{z|{}{||z{|{{{{z{z|z|{{|z}{{{{{{{z{{{|{{||{|||||{{z{|{{|{{|}|{|{{{|{{{|{{}|{|zz|{z||||}{||}|{|{{{{{|||{}|}{|||{|{z{{|}{{{|||{{{|{{{|||}}||{}|{{{||||||||||||}{{{z{{||||{|}}|{{{|{{|z||{||||}{|{{|||{{{{||{||||||}{{{|||{||||{{{z{}{{z|||||}|{|z|{{z|{||{|{||{{{z{z{z|{{{{|{}{|{z|{{{{{||{||{||{{{{{{|{||||{{{{|z{{||{{|{{~|{{{{{{{{{}{}|{{{{z{{{zz{z{||{|}{}zzzz{{{z||{{{||{z{z{zyzz{{z{|{|{{z{z{z{z|{{{{|z|zz{{{y{yz{{{z}{{{{{zz{z|z||{|{{|z{zz{{zzz{{{|{||{zz{{z{z{z{{z||z{zz{{{{{zz{z|}|{zzzy{z{z|{z{{{||{{{y{{{{{{||{|||{{{{{z}{|{|{{|||{{{{z{zz{||||{|{{{{z{z{{{|{z{|{z{{{{{{zz{|{||z{}z{z{{{z{|||{{||{{{{z{|{{||||{||}{|{{{|z{{{|}{|||z|{{{{{{|{||||}||{|{{{{{|||{|{||{{{z{{{||}|||||}}{|z{{||{|}|{|{|{{||{{{||||||||{|{{{z{{{||{{||||}|{{|{{{|||{}||{{|{z|{{{||{|}|||{{z{zz{{{||z|{|{|{z{|zyz{{|{{|||{{{z|{{z}|{{|{|~{{|{{z{{{|{{|||||zzzz|{z{|{{{|||{{{|{{{{z{|||{}{|{{zz|{|{z{|||{||{|{zz{{{{|{|||{|{{{y{z|{{{z||{{{|{zz{{|{{|{{|{{zzzz{{{{{||{{{{{z{zzz{yz{|{z{{|z{z{zzzzy{{{z{z|{{z{{zz{{{|{z{|{||{zzzz{{{{{|{{||{{{y{zz{{{{|{{{||{{{{z{{{|||{{|{{{z{|z|{|{{{{{||z{zz{z{{|||{||||{{{{{{{{z||{{{z{{z{z{zz{{{{{|||{{{{z{{{|{|{{|{{{{|{|{{{{|{{||||}{z{{|z{{{|||{|||z|{|z{{z||{{{||}z{{{{{|{}|||{||}{{{||z{|{{|{}{}||{z{|||{{}||}{}|||z||{{{|||||}||{{{{|{z{||||||||{{||z{{|{|}y|{|~||{||{{{{{|||}|{{{{{{{{{|}z|{|||{{{{z{{{{{z||{|||||{||{z{|||}|||{z{{z{{|{||}||}|{{{z|{z{{}{{{||{|{{{{{{{{|{|{{{|zz{{{{{{{||{{{{}{{{zz{{zz{{|z|{|{{{{zzz|{{|{{{|{{|{zz{z{{{{|z|{|{zzz{z{z{{{zz{{{{{{z{zzz{|{{{|{{{z|{{zz{{{{|{|||{{z{{z|{{{{{{z{{z{{z{z{{z|{{{|||{{{z|zzz{||{{|{|{{{{|zzz{|{{|z{{{{z|{{|{|{{||||{zz{z{{{{|{||{|||{{{z{{{z{|{|{{{|{|{{zzzz{{|{{|||{{{{|{{|||{{||{{{{|{{{{{|{|||{|||{{{{z{{||{}|{}|{{{|{z{{|{|{||{||{{|{||{{||||||||{{{{|||||{}||}|~{|||{|{|}|||||}|{{}|{|{}}|||||{|{||{|z||||{||{||{{{{|{|||||{||}{|{{{{{|||{{|{|||{{{{z{{{||{z|||zz|{{z|z|{{||}{}|||z{|{{|}|{}|}}{||{{z|{|||||}}|||{{{z||||||||{|||z{{{{{{||}|{{|{{}{z{|z{z||}|{|{{{{{z{z{{{{{||{{{{{{{{z|{|{{|||zz{{{zzz{|{{{{{|zz{z{|{zz{|{|{{z{z{{y{{{z{z{||{||{{{{{{z{{{|{z{{{{z|zz|{{z{{{|{{{{{z{z|{{||{|{||{{{{{{{{{|{{{{}||{|{{{{|{{{{||||{{z|z{zz|{{{|{||{|zz{{{z|{{{{||||{{{{z{{||{|||||{|{{{{zz{z|z|{}{z{{{|{{{|||z{||{{{{|z{{|{|||}||{{z{{|{|{{|{||}|{|{|z{{{{{|{}||{{{{{z{{{{||||{||||{{{|{{{}||||||||{|{||{|{|}|{|}|{{}|{{{z||||{{|||{{{|{{||||{}|}|||{|{|{{|{{{|||}||z{{|{z{|||{|}{|{||z|{|z}||{{{{|{{z{{|z{{|{|}|||||}{{}|||||}}|||{{|{{{{{||{|||||{zz{{}{}||{}}{||||{{{{z|||}{||{{{z{|{{z|{{{{|||{z{{{{z{z{||{{|{|{z{zzzz{{|{{{{{z{z{{|{z{{yz|{{|{{z{{{z{||{{|{||{z{{{{{{z{|{||{z{{{zz{zzz||{{{|{zz{zzz{zz{{{{{{|{z{{{zzz|{{{{||{zz{{{{{z{{||{{|||zzz{z{{{|}{{||||{z{{{{|{{||{{||{z{{{{z{|||{||||{{{|{z{{|}||{||{|{|{{{{z}{|{|||{|z|{||{{{|||{}{|{{|z{{{{|||}||||{{|{{{|{{|{}||{|}|{{{{z{|||}}|{{|z{{{{{{}|}||||}|{|{|{{{{|}}||}||{{{{{||||||||}}|{||{{{||{}|{|}|||{|||{{|{||||}|||||{|{{}|z|}||||{{zz|{{|||{||}||{|z{zz{|||||z{|{zz{{{|z{|||||||||{z{z|{{||{|{||{|{{|{|||||||}||||{{{{{{|}|||{|||{{{{{{{||||{|{|||{{{{{z{}{}{{{|{{z{{{{|{{{|{||{|z{{|z{{||{{{{||{zzz{|{z{{{{{||{zz{{{z{z{{|{{||{{zzz{{z{{{zz||||{{{z{}{{{{||{{}|{{|{zz{{z{|z|{|}|zzz{{{{z|{{z{{|{{{z|{{z{{|{{{||||{z{z||z{{{{{||{{{{{z|||{{{{||}|{|{|{{{{||z||||{}{z{z{z||{{||{|{{}z{|{{|||{|{||zz{z{{||{}||{{{|{z|||{{|z||||}||{|{|{{|{{}|||||}|{{{|{{{|{||}{|{|{|{}||{|}|{{{||{{||{{||}||}{||}||||{|||{|}}{}}||||||z{z}||||}||}|{{{|{{|}}{||}|{||{{|{z}}||}|}}||{{{{{{|}||{|}|{{{{|{|{{||}|{|{{{{{{zz|{|{{z}||{||{|||{||}||||{{|{|{|{{|||{|}|||{{z{{{z{|{{}|{||{{|{{{zz}{|{{||{{{z{z{z{{||{{||{{{{z{{z{|{{{}{{{{z{{{z{|{|{{{{{}zz{zz{|yz{{||{{zzzzzzzy|{{{{{{|{{{{{{z{|||{{|{zz{{{{{zz{|{{{|{}|{{zz{{z{|{{z{z|||{yy{zzz{{|{|{||z{z{|y{{{{{|{|{|{|{{z{{{{{{|{{|{{{{{{{{{{{|{|||{{{|{zzz{z{|{|{||{z{{{{{||}|||{z{{z{{{|{|||z|{||{|z|zz{{{{{{|{|{{{{{{{{{{||||{}||y{{{{{z|{{|{|||{z{{{{{{{|||{||{||zz||{||||{||}||{{{||{|{|{|||||||{{|{|{|}}|{|}|||{{{|{{|||||}}}|{|{{{{{|{|||||}{|||{|{{}{{|}{|}{{{{z{{z{|||{|}|{{{|{|{{{{|||||{{z{z{z{{z{z|{}|{|{|{{|{|{||{|{|{{z|{{{{||||||{|{z{|{{|z{|||||||{z|{|yzz|}{|{}{|{{{zyz{{|{||||{}{{{zzz{zz{|{{{|{{{{{z{}z{|{{{||z|{{zzz{{z{{{{{{|z{{z{z{{|{|{|z|{{zz{zz{{{z|z|{{{|{|{z{{{{||{|{|{{z{|{z{z|{zz{{{|{{zzzz{{{{|{{|||z{{{{{z{{{{|{}|{z{{z||{z||{z|{|{{{{{zz{{||||||{{z{{|{{{{{{}|{|{|z{{{{{|z{{{{{||{{y|{{|{z{{|{{||{|z|z{|{||{{{||{|{{{}{{{{{|{|}{}|{{{{||{{{|}|{|{||{||z{{||{||{|||{{{{{{{||}}{|{||{{|{}||{||{||||}||z{{{|{{||}|}|}||||z|{|||{|{|||{{{||{|{{|}|{}}}{{{{{{{|{|||{}||{{zz{z{y}{|}||||||zz{{{zz|{||{||{z{{{{z{|{{z{}|}|{{||z|{}}||{}|}|{|{zz{{{||||||}}{z{|{}z|||||{|||{|{{z{z{|{{{z|}|{{z{|{z{|}{||{||{{zz{{z{}{|{||{{z{z{{zz{||{|||{z{{z{{z{{z|{{z{{zz{zz{{{{{{|{|{z{{{zz{zz|z{{{{}{{{{zz{zzz|{|{||{z{{{{{{z|{z{|||{zz|z{zz{{{{{{|{{{z{{{{zzzz{|z|{|{|{{|z{{{{|{|z||{{zzz{{z{{{{||||{{{{zz{z{|{|{}||}{{{{{{{|}|{{{{|z{z{z{z{z{|{|||{||{|{z{{|||{z{{}{{{{{{|{{|||{}||{{|zzz{{{{{|{|||{|{|{z{{|{{||{}z{{{|{zz{||||{|}|{z{|{||{{||||}|||{||||{{|}|{|}||||{|z{|||||}}||||z{{{z{{|{|}||}}{{{{{|{|~|{||}||{{{{{{{z{||{|{{{{zz{{zz{{|{||{{|{{|{z{y{{|{{{|{}||||||{z||{}||{}|}{{|{{{||{||||||{{{{||{|{|}|{{||z{|{|{{{|||{|}{|{|{{z{z{{||{||{z{zzz{{{{{|{{{{{||{z{zz|{{{{{{{{{zz{zzz{{z{|z{{{zyzzzz{z{|z{{|{{{z{{zz{z{{zz|{|{|{{{zzz{y|{{{z{|{zz{zz{z{z|{{z|||{{z{zzz|{{z||||{z|{{{{z{z{{{{|||zzz{z{{{|||{z|||z{{|{z{{{{|{{|z{{{{zz{z{|||||||{{{{{{}{{||||{{{{{{{{{{{{|{{|{|||{z{{y{{{|{{{{{|{||{|{{{{{||||}{{|{{zz{{|||{||}|{|{{{z{{{|{{|||||{|{{{{|{}|||||{|{{{{{||{|||||||{{{{||{|}|||{||||{|{{|{{||}||{{||{{{{|{{|{{||||}|{{|{{{{}{{|{|||{{|{{{{{}|||||{|{{{{z|z{||||{{}||zzz{z{z{{||{}||{}{{}{|}|}}{|{}||{{|{{{{{{|||||||{{{{z{{|||{|||||z|{{{{z{|||{||||{{{zz{zz|}{z|z||{{{{zz{{}{z|{|{{{{{{{zz|{|{||{{{y|zz|zzz{z|{{||z{z{zz{z{{z{{}||{{{zzzzz{{{{{{{|{{zz{yzzz{{{||{||z{{zz{{z|{z{{{{{|zz{z{{{|{{{|z|{{zz{|zz{{{{{z{|{{zz{{{{{{{||}{}{{|{zz|{{||{{|||{{}z{z{z{{{{{||{{||{{{{z{}|||{{||{{z{{{{||z{{{|||z|zz{z{|||{{|{||{zz{{z{{|||{|{|z{{|}{{{}{{|||||{{|{|{z{{~|{||||{{{{{{z{}||{}{|||{{z{{{{||{|||||||{{||{{{}{}||}||z||||{{||||{}|}{{{{{|z{{|||{}}}|{{|{{{{||{}||||{|{z{|{{{||{|}|{|{{{z{{z|||{{{|{{{|z{{zz{{|{{|{}|{|{|{|{||{|{|{||||{||{||{|}|||||{{z|{{z|{|||}|||{{{{{{{{||{{||||{{zzz{{{|{{{|||{z{z{{z|{{}{{{{{{{{z{y{z{{|{z{|zzzzy{zz{z{{|{{{|z{{zyy{z{||{z{{zz{zzz{zzzzz{|||zzz{zzzz{z{||||{|z{{|{zz{{{{{{{|z|z{zzz{z{zy{{{{zz{zz{zz{{||{{{||{z{|{z{z||z{||{{{{{|{{{{{{||{{{|z{|zz{z{|{{z{{|{{{{|zy{{|{{|||{|{{{zzz{{{{||{{|||{{{{{{{{{{|{|{|{{|||{zz{|{|||||{z{{{{{||{{||||||||{z{{z{||{|}|||{z{|{{||||{|||{{{|{{|||||}||||||{{{{{{{|||||{|}}{{|{{{z{{|||}||||{{{{|{|{|{}||||{{|{|{{||{{|}}|{||{{z{{||{|{||z||z{zzz{{||z{{}{||{zz{{{|{|{z|||{{|||||||~}||||}||}{|{|{}|||||}}||||{{{{{}{{{}}}{|{{z{{|||}||{{||{zz|{{{{{||z}{|{{{zz{|zz{{{{{|{{z{{|{z{|{{z}|{{|z{{z{{{{{|{|{}{z{|z{zzz{{{{{|{{{{{{{{z{|{|||z||z{{{yz{z{{|{{{||{zz{z{|{|{|{{{|{{{z{{z||{{y|||{|{{{{z{z{{{}{{||{z{zz{z{z|{|{{{|}|{{{{{{||zz{{|{|{{zzz{z{{{{|{|||{z{{{z{z{|{{|}{{{{|z{{{{{{{{||}{{{|{{z|{z{|{{||||{{||{|{{||||||||{{|{{|||{||||}|||z{{{|{|||}|||z|zz{{{{{|}|}|||{{||{{{|}|||}|||||{{{{|{||}}}|{|||{|||{|{}|}{|}|||{{|}||{|||{|{|}}|z{|{z{|||{||||}|{{|z{|{||{||||||zz{{{{{|{{{{{{|{{z{z{{{{||||~}{|{||||{}|}{}}~|||{||{|{}|}}}||}||{{{{|{}|{||}}|||{|{z{{|||||{|}}{{z{{{{{|{|{||}{{{{|{{zz|||||}||{{z{z{z{|{{z{}}|{z{z|{z{{{|z{z{zzyzzzzz{{||}{{{{{{{{zz||||{||||{z{{zzz{z{|{{{{|{zzzz|zz{{{{|z{||{{{z{{{z|{{|||{zz{z{{{|{{{|||{|{{{|{{{z{|{|{{|{{{{|{{y{||||{{{|{{{{{{{{{||{{{||{{|{{{|{y||z{|||{{|{{z|||||{z{||z|{{{z{{z||||}||{z{{{|{|||||{|{}{{{{|z{{{|{}|||}|{|||z{{||||}{}}{{z{z{{|||{|}||}{{{z|{|||{{|}{|||z{|{||{{}|||}}}|||{{{{z{}|}||}}|{{|||{{|{{{{|}|{{|{||z{||||||||{|{z{{{{|||{|||||{z{z{{{|||{{}|{|z{z|{{{{{{{{~|~}}|}||}||}|}||}}{|||{{{{|}||}|~}||{{|{{{|||||||}|{{|{|{|{{|||||{}||{{{{z|||{||||{||{{{|{|||{||{{{{{{z{{z|{{{{z|{{{{{z{{{|{||{|{|{|zzzzz{{{{|{{|{|{{{z{{{{{{{{|||{{{{{{{{{|{|{{{|{z{z{{|z{{{{{{|{{{zz{{{zz|{{{}{|y{{zz|{{z{||{{|||{{zz{||{{|{|||}{{|{{z{{{{{|||||{z{{zzz{||||||}|||{{{z|{{{|{|{|||{{{{{{{||{|{{}{{z{{{|{{|}{||||{{|{{|||{|{|||}|{{{{{{{|z{}||||}|{|{{{{{|||||||||{{|{{{|||}}||}||{|||{{||{}||{|}}|||{|{|{|}||{}||}||}|{{|}}|||||||{{||z|{{|||||}|{{}|||{{}|||{}}~z||{||{{{{|~|||{|z{{|{{{||||{{||{{{{|y{zz{{{||}}||||||}}~}|}}}}}{|}}{{z{||||||}}|{{z|{{||{}||||}|z||}{{||{{|{||||{{z{{{z{|||||}||z{z||{z{||{||{{{{|z{y|z|{||{}{|z{{z{{zz{{{}{|{{|{zzzz{|{z|{{||{{{z{{zzz{{{||{|{{|{{{z{{|{|}{}||{{{z|{{z{z{{z|{||{{{{{zz{|{{||}}{{zzz{{{z|{z|||{||{{{{{z{||{||||{z{{{z{{|{|{{|||{{zz{{{{|{|{|{{|{{{{{zz{{|||||||{{{{z{{z||||z{}|{{{|{zz{||||||||}z{{{{|{|||||}}|{{}|{|{|||{||||{|{||{{z{||}|}|{|{z|{{{|{|}|{|{}||{||{|{|||{~|||||{{|{|{{|}||}||}}|}{{||{}}||}}~||{{|{||||||{}|}||{|{||||||{||}|}||{z{{||{||{}|{}|z{|{{{z{}|{{|||{{|z{{{{{||||}|~|||{{|||||}||||}}||{{{{{{||}}}||{{|{{{|{}{{z||{||{|{{{{{{}|{{||{z{{z{z{{}{{|||{|{{{{{{{z{{z{{||{{z{z{zzz|{{{{|{{{{{zz{{{||z|{{|{{zzz{z{{{{{{z||{{{z{zzz{{zz{{|{{{z{z{{{z{{{|{{{|zzzz{z{zz|{z{z|{zz{z{{zz|{{{{{{|zzz{z{z{{{||||{|{{{z|z{}|{{{{||{{{|{{{z|{{{||{{|{{{{z{{z|{}{}||{}z{|{{|{z{|{{{}||{{{{z{{|{||{{||{z{{{zz{|{|{|}{|{|{|{{{|||||}|{||{{|||{{||{||{|||{{|{{z{||||||}||{|{||{{|||{|}|{{||{z{||{{{||{}{|{|{{|||{~|||{}|{{{|{{}{|}||{||}|{|{{|{{||{{}|}||{{{|{{z||{}||}|{{{z|{{{{|{|||}||{{||{zz|{{|||}|z{{{{{zz|{{{{}}|}}||}{{{|}}|{}}~||{{{{z||||}|}~~||{{{zz{|{||||||||z{|{{{{{||{||{{}|{z{zz|{{|{z{|z{{z{{{z{|{{z{|{{{z{||{{{{|{{}z{{{z{{{zz|{{{|{{{{{z{zy{z{{|{{{{{{{{z{{yz{{z{|{{z{||{yzz{||z|{||{{{zz{{{z{{|{{{||{{{zzzzz||{|||||z{|{z|zz{{{{{||z{z{z|zzz{||{|||}|{{{z{|{{{{{|{|{{{{{{{{{|{{|{|{|{{{{{z{z||{|{||||{{{{zz{}|||||}|z{{{{{z{|{||{|{||{|{{z{z||}{{{|{{{|z{{{|{|{|{|~}|{{||{{|||{||}{}|{{{{{{{}|{{{}|}{{{|{||{||||||}|||{|{{||{||{{||}{{{||{{{|||{||{||{z|{{{|{{{{}}{}|{{{||z{||{|||||{{{{{{{|{{|{{||{|{{{{{z{{|||{{{{{z|y{{zz{{{z{}}||{}|||{}|}}|}}}}|||{|{{{|||||}}||{{{{}{|{|{||}}||{{{zzz|{}{}{|||{z{z{z{{z{||z}{{{{{z{{zy{|||{{|{{|zz{{z{{z{{z{}|{{{{|zz{|{||{|z|z{|{|{zzz{{{{{||zz{{zzyz{|{{{{{|z{zzz{{{{{z|{z{{{{zz{z{yz{||{{z|zzy{z{z{{z||z{|{{z{zz|zy{|{{{|{{{{{{zzz{{|{||||{z{{{zz||{{{z{{{{{{{{z{{{{||||||{|{{{|{{{||{}{|{|{{{z{{yz|||||{|{{z{{{z{{|{{{|}{||{|{z{{{|||{{|}|{{{{{|{{{}||||||||{{z{{{|{{|||{|}{||{||{|}|{||||{z{||{{z|{{||}}}|{{{|{z{||{}}||}{{z|{{|{{|||||{|{{||{|{||{|{{||||{{{{|{{{|{|||}}{||{|z|||{||{||{{{{z|{{zz|{|{{|{{z{z{zz{{{|{{}|}}}||{|}{|}}}~|}||||||{{{|{||{|||{|{{|{{z{{}{|||{|{|z|{{z{|||{{||{{{{zz|z{{||{|{{|z{z{{zzz|||||}|z{{z{{{z{{{{{|{{{y{{{zzzz{|{{z{{{{zzzzz{{{||zz||zzz{zzzzz||{{|{{zz|{y{{{|{z{|{|zz{z{{zzy{||{{|{|{zz|z{z{{{{{{|||{z{{{{{z{{{{|||{{{zz{|{{{||{||{|{|{z{z{{z{{z||||zz{{{z{z{|{{{{}||{{{z{{z{||{|}{|{{z{z{z{{{||{{{|{{z{{z{{z|{{|{{{||{{zzzz|{|}|}{{{|}{|{{{|{|{{{|}{{{{{{{{|{|{|||}|{{{{{{{{{|{{{|}{{{|||{{{{{}||||{{|{||{||||{|||}||{{{{|{||||{|{{{{|{|{{{{{|{{{|||z{||||{|{|{{{|||{{{z{{{|{|zz{}|{|{z{{{{{{{||||{{z{z{{{yz{zz|}~|}{}}{||}}}}}}}|||}||}|}{||}|}}|{||{|{|z}|}||||||{|{|{{{||||{|||{{{z{{{{{{||||{|{|{|{z{{{{{|||||{||{{{{{{}{{{|||z{z{z{z|{{{{{{|{z{{z{{{{{{||{|||{{{zz{z|{|{{|{{{zz{{{{zz{|{{{{|{{z{{{z{z{{|z{|{{{{{{{z{{z{z{|{|}{{{{{{}{||{||{{{|{{{|z{z|{{{|||}{|{{{{|z|{{{|{|{|{{z{{z{{{|{|||||z|{zzz{{||{|}{{{{{|{{{{{{}{||{{|||{{{{{|}|{{|||{|z|{{z{||}|||{|{|{{{{|||||{{|||{{{{{{{{{{|}{|}||zz{|||{|}||||}||{|{{||{{|||||{|||{zz||||}}||}|||{{z|{|{}||{||||{{{{{|{||{{||{|}||z||{|{||||||||{{{{||{{||z|{}|||{{y{{zz|||{{{|{|||{z{|{{|{||~}}}}|}}}}{|~|}{|}~}||||||||}|}|}~||{{{|{{{|{|{{|}||{{|{{{{||||{{||{{{z{{|z{|z|||||{{{{|{{{{|z{{{|z{zzz{|z{z{{{{z||{z{|z{{zz{{{|{{|zzzzz{zz{{{{{{{|zz|{|zzz{{|{z|{{{|{{z{zz|{{{{{||{{zz{z{zz{{z{}||zz|{z|zz{|{{|||}{z{{{z|{{{{||{|{|{|zz{{{{|||||||{{z{{z}|{{{|{|||{{{z{{zz{|{{{|{||z{{{z|{{}|||||||{|{{{{{{{|{{}}|{{|z{{{{||||||||{|{{{z{{{}{||||}{{||z{|{||z||{}}{{{||{|{||||}|}||z{{{{{|}|{{{}}{||{{|{|{{}|}|}||{{||{||{|}|}|||{|{||{z{{||||||}}}z{{|{{{{|{|}{}}|{{{|||{{|}|||}|{{|z{{{|{|{|{}|||{{{{|{|||{||{|{y{{z{{|{|z{{|~~~}||}|}|}}~}}}{|}||{||{{||~|}||}||||{{{{{|{{z|}|||{|{||z||||}|{|}{{{zz{{{||}{||}}{|{{{{z{{{||{|{||{zz{zz{||{{{{{{{{{{{{z{|{{{|||zz{yz{z{{{{{{{{||{{{zy{{|{|{{{{{||zzzz{{{|{{{{{{{{{{{{|zz{{{{|||{{{{z|z{{z|z{{|{|{{{z{|{{{||||{{{{|{{{{{{{|||{{{|{{{{{{{{{|{|{||{{{|z{z{z{||||{|}{{{|z{{{{}||{||{|z{z{z{{|||{||||{{{{{|{{||||{|{|{|{{{zzz||||{|||z{{|{{||||||{|}||{{|{{{{}}{}||}||{{{|||{}|||||||{{|||{||||z|||}}|{{||{{{}}|}}}|}|{||{{|{}}|||{}|{{|{|{|{|{||{|}}|||{}{{{{{|||||{{{{|{|{||{|{||||{{z{{{|{{|{|{|}{{{{zz{{{{|{|||}}}}|||}|}|~|||~~|||}}||{|}|||||}|z{{|||z}|}||}}|||{{{z{{|||}{||||{|{z|{z|{|||}||{z|zz{{{{{{{|{{}{{zz{{z{{{{|||{{|{{zzzzy{{{|||{|{{zzzzzz{{||{|{z|z{{z|{z{{||{{{}{z{{zzz{{{{{{{||zz{{{{z{{|{z{|{|{{{yzz{z{|{{{||{{{|{{{{z|{||{{}|{{{{zz|{|{{|{{{|{z|{{{|{{||||{|{zzz{z{{{{||zz{}||||{{{{{||z|}}}{|||{{{{{{|{{|||{{||{{{{z|{|z{{|||{|{|{{{||{||}|}{{{|{{{{||}{|||||{{{zzz{||{|}||{|{|{|{{||}||||||||{{|{|}||{|||}|||{{|{{{{}{|}|}||||{{||||}||{||||{{|{{{{{|z{}}|}}{{{{|{{}{{|}}{|{{||{|{{||{||||||{{{{{{{|}}|{|||||{{zzzz{||||}}}~}}}|}|}|}||}}}}}|||||||{}{|}}|{{|{|{{{|||||{{||z||z{{{{~{|||||||{{{{z{{||{{|||{z}{{{{{{z{{|||{{{{{{{zz{{}zz{||{z{{z|{z{{|{{{||{z{|{zz{z{{{{||{|z{{z{z|{{||{{{{{{{{z{{z{|||{|{{{z{{{y{z||{{||{{{{z{z{{{{{{|z}|{{{{{{{zz||{|{|{{{{{{|{z|{|{{{{}|{|{{{z|{{{||{|||{{|z{{|z{|||{|}|||{|zz|z{{}||}}||z{|z|{z{{}|{||||{{{z{{{{|{||{||{|z{{|{||||{|{||{|{|{{||{|}{{||{|||{{{{{{|}{|||||{{{|{{||||}}{}||{|{{||{||}{|}||||||{|{{{}|||||}|{|{{{{{||{}{{||}|{|z{{|{||{||||{|{||{{||||}|||||{z{|zz{z||{{{|||{{{{{{{||{|{{{}{{{{z{{{|||{{~~}|~}}}||}}}||~}}}{{{{||{|}}{|}||||{{|}{~|{{|||}|z|{|{{{||||{|}|}|{{z{z{||{{{|{|{{{{{|{z{|||z{|||z|{{{{{}{|{{{||{{z{|{z{|{{|{{{}{zzz{z{{z|{{{|{|z{zzy{{{{{|{{|{|{{{{{{{{{|{|{{}|||{y{z{z{{{{{{{|{y{{{{z{z||{{|||{{zz{|{{|||{{||||{{z{{{{||||{{||{{|{z{{||{{{z||}zz|z|z|||{|z|||{|{|{|z{{|{|{{{{|{{{{|z{{{|||||}||{{|{z{z||{{||{|||{{|{||{|||||}|{{|{{{{{||||{{|}{||||{|{{|{~}||{||{{{{|{{|||||}|{{||{{|||}|{|||}}{||{||{{||}}||}||{|{|||||}||}||{{|||{{|{||||}|}{|{|}{|||||}{|||{{z{{{{{{|{{{||{||{{z||{|{|||z}{{|{zz{{z{{{|{~~}~}}||||}~||}}||||{{||||}|}}|{}||{|{{{|{}|{{}||}||{{{{{z{|||z||||{|zz{z{}{|{{|||z{{{{|{z{{{{{{|||z{{z{z{|{{{{|z{|z{z{{z{{{{|{|{{zzzxz{zzz{{{{||{|z|{z{{{{z|{|{{{{{|zz{{{z|{|{{|{{zzz{{{zz{{{{{{|{{{zz|{{{{{{{|{|{z{{z{{z{{{||{||{{zzzz{{{{|{{|{||{|{z{{z||{{{|||{{{z{zzz{||||||}|{{{{z{{{|{|{|{|{{{z{{{z{||{|||||{|z|{{{{{|{||{|{{{|{{|{|{|}||}|{z{{{{|||{{}|{}|{{{|{{{||||}}|{||{{{{{{{|}||||||{{{{|||{z|{{||||}z{{{|{|}}||||}||{{|{{{|{|||}||{{{|{|{|{{||||||}|{{|{||{|{||}|{|{{{zz{{z{{||||||{{z{{{z{{}||||{|{|{{{{{z{||{{~~}}}}|}|}}}~~}|}~}}|{||{{|}||}||}}}|{z{}|z|||{||}|}{{{{{{{|{||{{{||{{{z{zz|{{{{{z}|{|z{|{{{{|{|||{z{|{{z{{{{{|{|{{zz{{|{{z|{{{{{{||{{y{z{z{{{{||{|{{{|z{z{{{|z|{||{{{zzzz{{{{|{{|||z{z{z{{{|{z{z|z{{{{{z{{{{{z||{{{zzz|{{z{{{|z{{|{{{{{{{{{{|{{{|{|{{{{y{z{z{|{|||{z{z{{{{|{{{|{|{{z{{|{{{{{|{}{{|{{{{|z{z{{|{{||{zz{z{{{{||{|{{{{{{|zz{{z||{{{|}|{{{{{|{{|{{{|{||z|||{{{z{||||||{{{{{|{||}}{||}||{{|{{{||||||}}}}|{z{|{{{|}}||||||||{{z||}{}}||}|{z{{|{z}{|||||}||{||||{|{|||||{|{{{{{{{{{{||z|||||{{{y|{|||{{{||{z{zzz|{{{{||~~~~}|}}}}}}~}|}}|{|{{}|||}||}}}}|zz|{{{||{|}|||{{|{{{z|{{||{{{|{|{{{z{z|{{|{|{|{{{z{||zz{{zz||{{zz{{{yz{{{{{|}{{{|{z{yzz{z{|{|{{z{yz{y{|{{z||{{|{{zzzz{z{|{{{{|{|zzz{{z|{{{{z{|{{z{{{zzz{{{||{||{zzz{{{{{{{{||{{z{z{{{{{{|{{||{{{{{{z{{{{{|{{|{{{{|{z|{|{{{{{|{{|{{zzz{{z}{{|{{|{{{zz{{{|{|||{|{z{{{{z{{|{{|||}|zz{z{{{||||{|{|{|{{|{||{|}|||||{{{||||{||z|{}|||{{{{|{{{|||{|}||z{{z{|{|||{{||{||{{z|{{||||}|}||{z{{{{||}||||{|{{|{{{|{|}|}{{|||z{{{{{|{||{||}}|{|{||{z}|}||}{|{{z{|{z|{|{||||||{{z|{{z{|||{{{{{z{z{z{{{{||{~~|}}~}||}|~~}}|~}||||{{~||}||}}}~{|{|{|{{||||||}||{{{{{z{{{|{{{|{{{{{{z{{{z||{{{{{{{z{{{{{{{{z||{{{{zzzz{{{{|z|{|{{|{{{{{zz{{|{|{zz{{{zzz{z|{{|{{{{yzz{z{{z|z{{||{{|zz{{{{{|{{|{{|{|||z{zzy|z{||{||zzz{zyz|||{{|{{{{{z{yz{{{|{{|{{{zz{z{y{|{{{|||z{{z|z{{zz|{{{|z{{{z{{{|{{{{{{z{{{{z{{{{||{{{|{|{{{{y{z{{{{{{||{{{z{{z{{|{|{{{{{|{{z{z|{|{|}||||z{|{|{{{{|{{{{||{{{{{{{{|{||}{|||{{{|{{z|||||||||z{{|{{{||{||||{{{{|||{{|}|||}|||z|{{{{{|{|}||{||z||z|{{{{{|}||}}{{{{z|{|{||||||{zz{{{{{{{{{||}{{{z{zz{{||}||{||{{|z{{{{|z{{|~}}}}~}}|}}|~}}|||{|{|||}}||}}|~{|||{|{{{|||}}|||{{{{{z||{|{||{|{{|{{zzy||||{{z|z{z{z{|z{||{{{{{zz{zz{{{{||{{||zzz{{{zz{{{{|{{{|zzzz{zzzz{z{|{{||z{{{zz{{{z{{{z|z|{{zzyz{{{|{|||{y{z{{{zz|{||{{{z{{z{{{z{|{|{|z|{z{z{{{{{{z|{|}|{{{z|zz{|||{||||{z{{{{{{|{{|{{{|{{|{{zzz{|{{|{|}{z|{{z{z{|{{z|{{{{{{z{{z|{|||||{{{{|zzzz{{{|{{{||{{{}{|z||}|{||}z{{{{|||{{||{||{|{|z{|{{{|}{{||||{{|||{{|}|||{||{z{|{||{|||{|{|||{|{{{|z}||||}}|{{||{{{{{||{|||{}{{{{{{||{{|}|}{{{|{|{{||||||}|||{{{{{{{||{|||||||{{{{{{|{{}{||{{{{z{{{{{|z{z~~}}}}|~|}}~}~}}}}|||||}||}}}}}}}}||{{||{}||{}|||{||{z{{||{{{{||||{|{z{|{{{||||||{{|{{{zz|}{||}|{{{{{z{{{|z||{||{{{{{{{{{{||{{|}||{{{|{{z{||{{|{|{{{zz|zzz{{z{{|{z{|{{{{{{{z{{{{}{{{|{z{zz{{{||{{z{z|{z|{{|{{||{{{z{{||{{{|||{||}{|{{{{z{||{|{|{|z{{z{{|z{{{|}|{}{{|{{zz|{|{|||}|{|{|z{{z||||{||{{{||{{{{||{|z|||{{{{{|z{{{|{{{||{{{{z||{{{}|}|}|{{{||{{||{{{|}|}{{{{{{{z{||}|}||}{|||{{{|~|{|||}{|{{{{}{|{{||}}|}{{{{|{{|}}|}||}|z{{|{||||||||||{{{|{{z{{{|||{}}|{|{|{{|}||}|}||{|{{|{{{||}{|}||||{{{z|z{}||{|||z{|{{z{z{{{|{~~~}}|~}|~~~}~}~}}}||||{{|}||}|}||}{{||{{{{|{{}|{|z{{{{z{|{{|{{|||{{zzz{{{||{{{||zz|z{{{zz{{|{||{{{|zz{{z{||z{{{{zzzzzz{{{{{|{{}{yzz{{z{y{{||{{|zz{{zzzz{{|z||{{|{z|yzzzz|{{{{||}{{z|z{zz{{{z{{{{{|{{|{{{{{{{{{{{{z{|{{{{{{{{|||{{{{z|{{{{|{|{{{|{{{{{z{{{|{{{||}|z|{z{{z{{||{|}|{{z{{{z{||{|||{{{{{{{z{z{|{{{{}{|{{{{|{{||{{{|z|{{{{{{{||{||||||{z{{{{{{{|||{||||{{{{{{{{||||||||{{{}|{{}|||}||||{zz{||{{||{}}|}{{{|{{{{|}{{|}|{||||{{|{|||{{{||{z{|{{{{{|{{{||}{|{{|{{|||}|||||||{{|{{|{|{|{{||{{{{z{|{{||{{|}{{{|z|{{z{{|{{~~~}~~~~}}}~~|}}|{{|{}}|}}}|}||{{|z|{|{{{}}|}}{|{{{|{|}|{||{||z|z{{{z||}||||}z{{{zz{z|{{|{|||||{zz{z{z|{{{}||{{z{z{z{{{{|{||zzzz{{zz{{||||{||{{zz{zz{|z}{|{|{|z{z{z{|{{|{{{{|{{{{z{|{{{|{{{|{z{|{{z{z{|{{{|||{{{{z{z{z{|{{{{|{{{{|z{{{|{|{z|}{z{{|{{{|{|{{||{|{|{|{z{||||}||||{z{{z{z||}}|||{{{|{{{||||{||{}{|z{|{{{z|{|{{}}{{|{{{z||{|||||||{|{|{{z||||||||{{{{z{{z|{}||||}||{{{||{{}|}||||}||{{||{||||{}||}|{{|{{}{|~||}|}|||||{{|||{|{|}|}}{|{{|{|{{{{||}}{|{|}|{||{}|}|||{|{{{{||{{||{|||{{{{{{{z{}{|||||z||}z|{y|||||}}~}|~}~~}~~~~||||||}||||}|||||}|{{||{|||||}{||{|||{zz{||}|{|}{{|{{{{z|{|}{||||{{{{z|z{{|{||{{||{z{{z{{{{|{|{{|{|z{{{z{{|{z{{|{zz|{{zz{z{{z||{{z{zzzz{|{}z|{{{{{{{{{zz{{{{{{{{{|{z{{{{z{{z{{|{|z{{{{z{{|{|{|{||z{{{zzy{{{|||{|{z{z{z|{{{{{{{}|{{{{zz{|{|{||{z|{{{{{{{z{}}||{||{{{{{z{{{{||}|||||{z{{{z||||{{}|{|{{{{{{||||{|{|{z{{{|{{|{|}|{||z{{{{z|z|}{{{|}|{{{{{|{{||}||||||||{||{||||{||{{{|{{z|{||||||}|||{{|{||zz|||}|}}|{|}{z{{~||||||{}{z{||{||}{|}}|||{{|||{||}|{||||{|{{{{z|{||||{{}|{|{{{{z{|||||{|{|{z{{{{{||{||}}}~}~}~}}~|}|||{|{}|||}~|}||{{||{z|{|{}|||{{{{|z{{{{{||{{|{{{zzzzz|{|{{{{|{zz{{z{z{|{{{{||{z{{{{{z|{|{{{{{{zz{{zz{|z{{|{{{zzzz{{{z{z|{z{{{{{z{{zz{{{|{{{||{{{{{{zz{{|{{{{|{{{{{{{zz{|{{{{z{{{zzzz{{{{{{|{{{z|{z{{z{|{|||{||zz{{zz{{{|{|{z|{z{zz{zz{|{{|{{|{{{zz{{{{{|{{{{{{z{{{z|{{{{|{{{|{{{z|{{z{|||{{||{{{{{{{{|||{{{|{z{|{{{|zz{||}|}|{|{z{{{{{|{{{|||{{{|{{z{|||{|||||{{{{{{z{|{|||{|z{{{{{|{|{}|}{|{{{{zz|{{{||{||{{||||{zz{{|||{|||{|{{z{{{{z||||||{{z{|{||{{{|{||||z{{z{z{{|{|{|{||{{{{z|z{|||{{{{z{|{{zzz{{{{{~}~~~|}~}}}}~}}||}|||||}|}}~}|{{{|{|{||{||}~||z{{{{{{{|{||{||{||zzz|{|{{{|{{|{z{z{{{yz|{{||{{{{|{z{{z{||{{{{{{z{yzyzz{zz|{{{|z{{z{{zz{|{|z{{zzzzy{zz{z{{{{{{|{z{{z|z{{{{z{{|{{z{zzz{z{{zzz||{{z|y{{zzz{{{||||zz{zz{z{{|{|{{||{{zz{{{z{{{{||{{|z{{{{{{{|{z|{z}{{|{zz{{|{|{{{{|{{|{{{z{{|{||{|{zz|{{{{{{{|{||{|{{{{{|{{|||{z{|{z{z{|z{{{{|||{{|{{{z{{|{{}{|{{z{{|{{z{{{{|||||{||{|z{zz{|}||}|{{z{{|z{|||{{{||||{{{{{{z{{}||{|{||{{|{z{{{|{|{{||{z{{{{{{{{|||{|||||{|{{z{{||||||{{{{{{{{{|{||||||{{{{{{|{{{||{|{{{{z{{{{{z{z{~}}~}~~~~}|}}}|{|{}|}}||}}||{||||{||{|{}}||{|{{{{{z|}}{{|||{zz{z{|{{|{{|||{{{z{z{{z||{zz{|{{{{{{{{{{{|{||{{z{{z{z{{|{{{|{|{{{{|{|z{|{{z{}||{{z{{z{z{{||{|{|{{{z{{z{{{|{{||z{{z{z|{z{|zz{{}|{zzz{z{{|{{{|||{{{z||{{{||{{{{||{{{|{{{{||{|{{|{{{z{zzz|{|{{{|{{{{|zzz{||{{}{|{{z{{{z{z{}{|||{|{{|{{||{z{||{|||{{{{{z{{|{||z|{{{z{{{z{{|||}|{}{z{{{{{{{{||||||||{z{{|z{||{||||{{{{{z||{|}|}||||{{||{{}{{||||}|}{{||{{|{|}||||}||{z||||{|||}||||{|{{{|{|||{{|||||z{||{|{z|||||}||{zzz|{{{||||||{{{||{{{{{{{{{|||{{{z{{{|{|{{{~~~~~~~}}}}}|}}{|}{|}{}|~|{|{{{{{{|{||||{|{{{{{{{{||{{{|||{zz|{{z{||{{||}|{{{{zzy{{{{zz{{z{|{{zzz{{|{z|{zz{{zzzzz|{z||{{{zzz{zzz{{{|{{{{{{zzzzzz{z{{{{|{{{{z{zzz{{{||{{{{{{zz{zzzz{z{{{{{|{{zzzy{{|zy{{{{{z{y{|{z{{|{{|{|{{z{{z{{z{{{z{}|{z|zzy{z{z{{{{{{zz{{z{{z{{{{||{||{{}{z{{{||||{{{|z{z{z{z|||{z||{zz{{|{{{{||{{{{{{{{{{{|{{{{}{{{{{|{{{z|{|{{|z{|{{{{|{{{{{|{|{||zz{{{{{{{||||{|}|{{{{|{{{|{||{}|||{|z{{{{{{|{|{|{|{{||{|{z{{|{|{{|{{{{z{{|||||||||{z{{{{{||{||{{||{|{{z{{{{{{|||||{{zz{zz{|{{{|{{zz{zz{z{{{||{~}}}~|~~|}|}}{{{~|{~|}||{{z{|{|}}{|||{||{|{{{|{{||||{{{|{zz{{{{{{{{{{||{|{zz{{{y{{{z{{|zz{{{zz{{{z{{zz{{{{z{zzz{{{|{{{||{{zzz{{{z|{z{{|{zz{{{z{z{{{{|zz{{{zz{zzz{z|{z{|{{{z{{{zz{|{z{{{{{{zzzz{z{|zz{|{|{z{|{{zz{|z{{{{{{|{zzz{{{{|{|{|{|{|{zz{{{{{{||{|{{{{{z{yz|{{{|{{|{{{{zz|{||{||{{z{z{{{{{{|{||||{{{{{{{zz|||{{{{{{{{{{{{{|{}|{||{{{{{||z||{{}||{||{{{{y{{{{{|||}{{z{{{{{{{|||{{}|{{|{|{z{{|{{|||}{|{{z{{{{|}|}||||{{z{||{|}{|||{{|z{{{z{{|{{||||||{{{{{{{|||||||||zy{{z{|{|||||}}{{{{zz{{z|{|{||z|{{zz{{{z{{{|~~}}~~~~}}}|||}}||}||~||{|{}|{||}|||}||}{||{{|{{|}|{{}|||{zz|{z{}||{|||{{{z{z{z{|{{{}||{{{{{{{{{||{|||||{z{{{z|{|{|||{{z{{z{{z{|{{{{|{{zzzzz{{z||{{{{{{{{{{z{zz{|{{|{}z|{zz{z{z{{{{{||{{{{{{y{{{|{{{||{z{{zz|{{{|||}|||{{{{{z}z||{|{{|||{{z|{{{{{{|{|||{z{{{z}{|{{|{}|{|{{|{{{{{|||{|{||||{{{|{{|{||{}||{|{|z|z|||{{|||||{{{z{{||||}||}|{{{|{|{|{||{||}|z|{z{|{z||}|||||{{{z{|{||}||||}||{{|{|{{||{}||}}|{{|{{z{|{|}}|||{||{{{|||}}}||||z{{{{{|{{{|||}~}|{{||{{||||}|||{{{{{{{{{|||{|}||||{{{|{||||{||{|{{{{|{|{{|||~~~~~}~|}}|||||}}}}~}}{|||||{||}{|}||{|{|{{{{||{{|{}|||{|{z|{{|||{|||{|{{{{{{{{||{{||z|{|{{{|zz{{z{{{{{{{z{{z||{z{{{{{{{{{z{z{{{|{{|{|{{{zyzz{{|{{{||{{z{zzzy{{|z|{{|{{z{|{{zzz|{{||{|{{zzz{z{{|z{|{||{z{{{|{y{{{{{}{|{{{{z{{{|}|{{||{|{{{{{|{{{{{{{{|{{{{{{z{{|{{|{{|{{|z{{{{||{{}||{{z{{zz{z||}|{{||zz{{{z{||}|{||{||{{|{z{{{||||}||{{{{||{|||{||||||{|{{|{{{|||||||{|{{{{||{|{{{||}|||{{||{|||{||}{||{{{{{{{}|}||{}}{{|z{{{||{}||}|}{z{{{{||||}|||}|||{{{{{||{{|}}|{{{z{{{{||{{{|}{{z{{z{{{{|{{|{|{{{{{|{{z}{||{~~}}~~~~|~}||||}}}}}}|}}{|||}{||}{|}|}|{{{||{{{{}||{|||||zy|z|{{{|||}||{{{z{|{z{{}{{|{|{z{z{{{z{|}{{||{{|{{{{z{{|z{{{|{{{z{|{z{{|{{|{|{{{z{z{z{{{||{|{{z{{zz|{{z{{||{{|{{z{|z{z{{|{{{{|||z{{{zzz|zz||{{{z{z{{{z{|{|{||{|{{{{{|z|||{||||zz{{{{{z{{|}|{||{{{{||||{||{|{||{{|z{{{z||||{|||{{{|zzz{{}|||{|{{{|{z{|{|||{{{|}{{{|{{{|{|||||||z{{{{|{||||||}}{||||{{|{{{||}}|||{{{{|{||||||}|{{{{{|{|||||||}}||||{||{}{}|}|}|{|||{{{{|||{{|||||||{z|{||{||}||}|||{|{|{{}||{|{}|}{|{{||{|}||}}{|{{{{{{|{|||{|}{|z|{z{|{|||}}~~~~~~}|}}}||{|}~}}||~|{{{}|z|}|~{|}{~|{{{{{{{{||{|{|{||{{{{{{|{||{|||z{|{y{|z{{{{{{|{{{{{zz{{{{|z{|{{{{{{{z{{{{{z|{||{zzz{y{y{|{{{{||{{zz{{zz{{{{|{|{{{z{zzzz||{{{|||}{{z{{{z{{{{{||z{{{z{{{z|{||z|{|z{z{{{{z||{{{|||{{{{zz|{z{|||{||{{{{z{{{{{||||{}zz{zz|z{|{{}||||{{|{{{{z|{{{|{|{{{{{{{{z||{{{||||{z||{z{{|{|||{{|{zz|{{{{|}|{||||{|{{|{|{|{|||{||{{{{|z{{}|||{|{{zz{|{{z|||{|||||{{{{|{{{|{|||||}{||z{{|{|||||}|||{|{|{z||||||||||{{|{{|{{||||}}||{|||z|{|||{||}{|{{|{|{{}{}||||||{|{|z{||{|{||{{{{{{{{{{{|{|}~~~~~~}||||}{|||}}}}}||||{{|{||{|||}{|{{{z{{{{|||{|}||{z{z{{z|{|{||||z{{z{z{{{|{{{{{{{{{z{zzz{{{{{z{{{{zz{z{zz{{{{{||yz{{z{{{{{z{zz{|{{{zz{z{{{{|{|z{z{{{z{z{{{{{{{{|{zyzz{{{z{y{{|{{{}{zz{zz{z{|{{|{{z{z{{z{|z{{{{{||{zz{z{z{{{{{{{|{z{{zzz{|z|{|{||{{{{z{{{|||{{{|{{{{zz{{zz|||}||{z{{|z{{{{||{|{|{{zz{{|{{z{|{{||{|z{{{z{{|||{|}||{{{{{z{{{{{}{||{{z{{{{{z|{|||||||z|{|{{{||{|||||{||{{{{{|{{||||||{{{z||{{|{|||||{{z||{{{}|}{}{|{{{||{{{{{|||||{|||||{{{{||{||}{|{z|{z{{z{{|{{|||{||z{|{z{{|{||||z{{{{{{z{|{{|~}~~}}}|}{}|}}|}|||~}{||{|{{|{{|||}{|{{{{z{{{{{}|{|{{{{{{{|{|{{|{|{|z{{z{zz|{{|{z|||z{z{z{{z}|z|z{{z{{zzzzzz{|{|{|{{{zz{zyzz{zzz|||{y{{z{{yy{{{z|}{{{{z{{z{z{{||{||{{{zzzzz{z{|z||||{zzzzz{{z{z{{|{{{z{{{{z{||{|{||{|{{z{zzz{{|||{{|{{{{{zz{{||{{|{|{|zz{zz{|{||||{{{z{{{z{{{{||{|||z{{{{z{z{||{{||{{z{{|{{z|{||{{{|{z{{{{z{|{||{||{{|{z{z||{}|{||||{{z{{{zz{|||||{|{{{{{{{z{|{{||}|z|{|{{{{||||}|}||{{{z|{{||{{}|}|}{|{|{{|||||||||}z{{{{{{|{{|{||{|{z{|{||{|{{{}|{|{zy{{z{{{{{||{|{{{z{{{{{{||{{{{|zz{{z{z|{|{{~~~~}~~}}~|}|}||}}}}}}|}}{|{z{|||{{|||||y|{|{{||}|||||}|{{{z{{z{|{z||{|z{|{{{z{{||{|||{zz{{{z{{{{|{{{{|z|{zz|{{z{{{{{|{zzzz{zzz{|{|{{{{{{{{zzyz{{|{{|{|{{{{zzzz|{|{{{|}{z{z{{zz{{{z{{{{|z{|{{zz{{{{z{{{{{{{z{y{{|{{z{{|{zzz{{{{{{{z|||{{z{{{{{{{{{{{|{||{{{|{{z|{{z{{{||{{|{{z||||{{||{{{{{{{zz{{|{|{|||z{{{{{{{{|{{|{}||{{{|{{{|z|{||}z|||{z|{|||}|}|}{{|{{|{z||{|{{{z|{|{|{{|||{}|}|}{|z{{{{{||{|~|||{{|{|||{|||||}}||{{{|{|{}|{|{||||{{|}|||||{|}{|}|{|{{|{{||{|{{||{{{{||z{{{|}{|}|{{z{z|{{{||{{{{{{{{z{|{{||{{{}||~}}}{||}|}}}}{|||{{|{|{{|{|||||{{||{{{{|||{{{|{|{{z{{{{||{|||{{z{{z{zzzz{|{{}||{z{{z{y{{{{{{{{{|{{yz{{{{z{{{{{|{z{zzz{zz|||{{{{{zz{{{zz{|{z|{{{{{{z{{zz{z{{|{|{z{{z{zzyz{{{{|z{{{zz{z{{z|{{|{|{{{{zy{zz{|{|{z{{{{zzzz{{{|||{||{{z|z{{{{{{{|{|||z{{{zy{z{|||||||{{{{{zz{{||{{|||zz{{z|{{|||||{||{{{{z{z{||{|{|{|{{z|{{z{|||||{||{{z|{z{z||||{|}|{{{{|zz||||{|{|||{{{|{{{||{||{||{|{{{{{z|||}}||||{{{z||{{}{}|||||{{{{{{z||{|{||{{{|{{{{{{{|{||||{{{{||{|{{{||||}{{|z{{z{{{|}|}||z{{{z||{{|{}{{}{|z{{|z|{|{{{{}}~~}~~|}}|||||||}|||}||{{{||{{|}|}{||{||{{{z{|||{{{||{|z{{z{z{|||z||{{{|{{{{zz|z{{||{z{{z|{{z{{|{{{{{{z{{z{{{{{z{{{{|zz{zzz{z{{||{{{{{z{{z{z{{z|{||{{{{z{z{{{z{{{{|||{zzz{{{{{{{{{{{{{{{zz{{{z{{{z{|{{zz{|{zz{{{{|{{|{zz{|{zz|}{{{|{|{zz{{{|||{|{|||}zz{z{{{{||{|||z|zzz{{{|z{|}|z||{z{{z{zzz||{|||||zz{{{{zz|{}{{|{||{{{{|{||{{|}}|{{||{{z|{{|{|}|{}z{{|{{z{||||}z{|{{z{|{|{||{{{|||{{||{||{{{||||{||||{|||{|||}|||{||{|{{{{{||||||{{{{|{|{||{|||}||||{{{{|z||{}|||||{{{{{{{||||||}}|{{zz{{|{}{|||}}||{z|{{z{||z{~~~~}}|}}|}}||}||}}|{}||{||{|}||||||{|z{z|z{{{|{|{||{{{|{zzz|z|{|{||z{{{{{{{{{|{{||{{{{{z|z{{{|z{{{{|{{{{{zz|{{{{|{{z{{{zz{zz{{{{{{z{zz{zzzz{|{{|{{{{z{{zzzzz{|{{{{{zz{{{zzzz{{|{z{{z{{{{{zz|z{zz||||z|zz{{z{{{{{|{{|z{z{{{{{{||{{{|{{|{{{z{|{{|||{|{z|z{{{{{|||{{{{{{{{zz{{{}{|{}}zz{|z{z{{{{||{{}{{{{{{{z{{|{{{|{{z{{zz{{|{{{|{|||{{{{|{{{||{|||{||{{{z{z{|||{}{|{{{z{z|{{{}}||||||{|z{{|}{||||||||z{|{z{{||||{|||{|||{{{{|{{}{}||{{{{{{{|{|||||||||{{|{{|{||}|||||z{z{{|{|{||||}||{z{{{|{{|||}|||{z{{{y|{{{|||~~}}|||}}}~|}}}|}}||||||||||}|{|}}|||{{z{|||{}|||}{|{{{{{z{{}|||{|{{{z{{{z{{{z{{{{z{z{{{zz{{{|z||||zz{{{zz{{{{{{z{zz{{{zz{{{|{{{{{z{{{z{{{{{{z|}{|z{{zzzz{z|{|{{|{{z{{{z{{||z{{z{|{{zzzzzz{{{{{|{{{zzz{{{{z{|{|{||zz{{{{{{|||{|{{{{{zz{{|||z{{|{||{{z{{{z|{|{|||{|||{{|{|{{|{{|}{|{|}z{{{{|{|{{||{{{{{|{{{z|||z|}{|{{z||}|{|}}||{|{{|{z||{||{||||||{{|z{{{|||}|}||{{{{{{|{||||||}||{{{{{{|{|{||}{}}|{|||{{{}||||||||||{{|{||}||}||||{{{{{||{{{}||||||{||{{|}||||||{z{{|{{{||||||{{|||{|{|{{{|{|||||z{{|{{|{|}{|~|}}~|}||}|~~||}|||||{||z{|}}}|}|{{{{|{{{|{||{|~|||z{{z{{|{||{{|}{{|{y{{{{{|z{{|||{{{{{{{|{|{{|}{{|zz{|{{{{{{}|||{{{{{{z{|{{{{||z|z{{z{y{{{{{|{||{{}zz{z{yz{{{||{{|z{{z{z{{|{{{|{z|zz{{{z|||{{||{{{{{z{{z|{{{||||{{{{{z{z||}{{{{}{z|{zz{z||||{||{{{||z{{z||z|{{|{z{{{z{{z{|{{{|{{{{z{z{{{|{|{{||||z{|z{|||{||{|||{{{{{{{{||}|{{|{|{z{|{|{{}{}{||{{{z||{{{{|}|||}|{{||{{|||}||}{}}|{{||||||||||}}{||{|z||{|}|}||||}||{|||{{|||}}|}|{|{|}|{{|{||}}}||{{||{{||||{}|||{{z{{|{{}||{}{||{{{zz|{{{||{||||{{{{{{{{||{|~}}}}||}}~|}~}}|}||z}|{{||{|}}||{{|{{{{|{|||||||{z|{{{{{{||{{|}||{|{{z{z{{|{|}{|{{{zz|zz{{{|{{|{zz{{{{{{|{{{{{{|{{{zzz{z{{{z{{|{|zzzz{z{z{{{{{||||zzz{{{{{{|{{{{|{{z{{zzz{z{{|{|{{{zz{z{z{||{|{|{zz{{|{zz{{{|{|||{{z{z{z{{|{{{|{||{z{z|{{|{|{}|{{|{z{{{{|||{|||{{||{{z{z{||||||{{{z{|{{{{}|~{}|{|{{{{{z{||{|{||{{|{{{{{{{{|}}|}||{z{||{{{{z|||{||{z{{{{|}}|{|||{|{zz{{|{|||{{|}||{{{{|{}{{||||{|||{{{{{z||||}}|||{|{{{{||||}|||||{{{{|{|||||{|||||{|{|{{|{||||||}{|zz{{{||}||{||}|{{{{|{{|||{{}}{{{z{{||{|{{z~}}~}}}||}}}}}|}}|}}||{{|{{z{|||~}||zz{{zz{|{|||{||}||{zz{{{{{|{|{||||{zz{z{{zz{{||{{{{{{{zz{{|z||{{{{{zz{{z{{{{{{{|z{zzzz{{{|{{z|{{{{z{yz{z{{{|{{{|zz{z{zzz|z|{|{|{{zz{zz{z{{{{z||{{z{{{zzz{{{|{{|{{zz{z{{z|||{{{||{{{{z{{{||{{{}{}|z|z{zz{|z|}{|||{{z|zz{z{{{{{||}{|z{{z|z{{z{|{{|{z{{||{{|{{|{||||zy{{|{{{|||{||{{z{{{{z||{}}}{}|{z|z{z{{|{{|{||||{|{{{{{{|||||{z|{{{{z{{|{|{||||{{{z{{|{{||}{||||{{{{|{{{|||||||}{||{{z{}{|{||||{z{{{|{{|{{||}}||{{{{z{{{|{|||||{}zz|z{{{|{}}}|{{{{{|zzz{}}|{|||{|{z{{{z{|z{{~~}~~~||}|}||||}}|}{}||||{|z|{|||{|||{{{{{{z{{|{{z}|||{z{z{{|{{|{|{|y{{{z{{{{{{{{{|{z{zz{{{zz{|{z{{|{{{{{z{zzz{|{{{{{zzz{z{zz{{{{{|{zz{{{{z{z{{{|{||{{{z{{zz{{|{{{|{z{{{{y{z{z|{{{{{{{{z{z|{{|y{|{{{{z{{z{zz|{{{||{}{{{z{{{{{{{{{{{|zz{{zz{{z{z{{{{|{{z|z{|{||{{|{|}{{z|z{{z|{{|||||{{|{{z{{{{|{{||||{z{{{{{{{{{{{|{{{z{|{{{{{|{|||{{|z{||{{z|{|{}|}|{|{z{{z{{||{||{|z{{{z{z||{{{|||{{|{{{|{{|||||}||{|{{{{||}||}|}|{|||{{|{|{{|||}|}{{{{|{z{||||||||{|||{{|||||||{|{|{z{{{||{||{|}{{{{{{{{z{||{||{{{{{z|z{{|{|{|~~~}}}|||}}|||}}}}}|||{}||||{|{|{||{{{{{{|z|{}|||||{{{zz{|z{{{|z{||{z{zz{{{{{{{{{{|{{{z{{zz{}z||{{{{{|{zzzz{|{|{{{{z{{{zz{{{|{{{{|{{zzz{{zz{{|{|{{zz{|{z{z{{{{|{{{{{z|{{z{{z|{z{|{{{{z{z{zz{{{{{|{|{{z{{{{z{{{{{|{|{z|z{z{{z{|{{{|{||{z{y|{{{|{{|{|{{{{||y{{}|{{||{}z{||y{z{{|||{||{{z{|{{{z{|{||||{|{z{{{|||{{|{||{{|{{zzz{||}||||{{{{{{{{|{|{||||{z{||{{{|||{{||}|{{{{{|{}||||||}|{{|||{{{|||}|{{||z{{{|{|||{}|}|}|{{{{{{{{|}{{}|{{{|{{{{|{{{|||}{{{z{z{|||{|}||}{{{{||z{{|{|||||||{zzz{{{{||{{|{{{{zzz{{{|z|{~~}}|}|||}}}|||}}||{{|{|{|}||}|}{|{{{{|{{{{|{{{|}|{z{zz{{{{{{|{{|z{|{|{{zz|{{{||{{{{{{{z{|{||{{{|z{{zz{{{{{{{{{{{zz{zz{{{{{{{{{|{|zzyz{y{{|{z{{{{{z{z{{{{{{{z|{|{{z{{zz{zz{{{{{{{{z{z{{{{zz{{z|{{{|{{{{{{{{{{{|{|||zz{{z|{||{{|z{|{|z|{{{{z{{{|||{z{{{{|z||{{{||{{{{{{{|{{|{{||||{{{z{{{{{{|{||}|{{{{|{{{{|{{{}{|{||{z{{||{||{{{|||{{{{{{{|{|{{|}||z{{|{{||}||||{}{zz|z|z|||{}|||{{z{{||{|{{{}}}}|z{{||{{||}|{||}{|{|||{{|{|||||{{{{{{{{{||||{{|{|{{||{{|||{|{}|}{}{{{{{|{{|{||||{{{|{{{{||{|{|{|{|{{{{{{{z{{{~~~}}||}||||}|{}}||{{{{|{{||{|}||||{{{z{||||{||||{{zzz{zz{||{{{{}zz{{{zzy{{zz{{{{z{zzz{{{{{{{{||{{{zz{|zz{{{|{|{|zzz{zz{{{|{{{{{{{z{{z{z{{{|{|{{|zzzz{z{z{|||z{{{{z{{{{zz{||{{{{{{|z{{z|z{|{z{{|{{|{{{|zz{{{|{|}z|z|z|z{{z{{|{{{|{{{{{z{z{{{{||||{z|z{z{{||zz{|{|{|{|zzzz{|||{{|{{z{zzz{{{{||{|||{zy{z{{{{{||{|{|{{zz{|{{|{|||}{|{||{{{z{{|{|{|{{|z{{{{{{{{}||||{}zz{{|{{|||||||}zz{{z|}{|||{|{|{||{{{{{{|}|||{|||{{z|{{z}|{|{|||{z|}||{{{|||||}|||{||{{|}|{|||||{{{{{|z{{|{|{|}}{{{{{zzz{|{||||{|{{z{z{z|{|{{~~~~}}}}|}~}|}}}}}}|z||}|{||}||}}{|{}z{{{{{|||z|||{|z{z|zz{|||{|{||{|zzz{{{{||{|{{|{{{{zz{{|{{z|{{{{{{y{z{{z{{{z{{|zzzz{z{{{{z|{|{{{{{{|z{{{|{|{{|z{{zy{{{{{{|{|||z{z{{{zzz|{{z{|{{{yz{{{z|||{|||{zz{z|{{{|||{z||||{zz{|{z{|}|||||{z|z{z{||{||{|||z{{{z||{|z|{{{{{|{{z|z{{|{|{{{||{{{z|{{zz}|{{|{||{{|{{z||{|{{{{||z|{|z{{{{||||{{{{{{{{{{||{|||||{|||z{{{|||{||{|}|{{{{{|}{{||{|{|{|{|{{{}{||||}|||{{||{{|||||}}||{{|{|{{{|||||}||zz||{{{{|{{||||||{{{{{{||{|||||{||z{{{{{|||{|{||{z|z{{{||{|{|||{z{{{{{{|{|{|~~~~}~}}||}~}}|}||}|||||{{|}||{}}}}|{{{zz|||{|{{{{||{|{z{z{{|||||||{{{{z{z{{|{{{||{|{z{{{zz{{{z{{|{{z{{z{zz{z{{{|{|{{{z{{zz{|{z|{|{{{z{{{z{{{{{{|{{{{{{z|z{{z{||{|{{{{{{z{{{{{z{|{|{{z{{{zz{{{{{||{{{{z{{z{{{{||{{|{{{z{{{{{||{z{{|y{z{{yz{{{{{||{|{z|zz{{z|||{{{}|{z{|{z{{{{{|{|{|zz{z{{z{z|{|{{{{{z{{{{{{||{{{|||{{{{{z{{|{|||||{{|{|{||{|{{||{}|{z||{{{{|||{|{|{{z|{{{{{{||{|{|||{{|{||{|}}{||}||{{{||{||{||||}||{|{z{{{|}}|||||}|{{{{{{{|}|}}|{|{{{{{||{|||{|{|{{{z{|{{|{|{{|}|{|z{{{|{|||}|||||z{{zz{{||}{|}}}}}|}|}|}||||~}|{{{||{||{}||~}|{{|{||{{{|}{|||z|zzzz{z{{||||{||z{{{|{z|{|{z|{{{{{z{{{z||{{|{{|||{{{{z{{|}|{|{{z{{z{z{z{{{{{{{{|{zzzzzzz|{{{{{|z{y{{{{z{{||{{|}zzzz{z{{z{|{{{{||zz{{y{z{{{{{|{||{{|{{z{{}|{{|{|{y|{|{|{{{|||{||{z{z{{{{|{{||{{}{{{{z|{{{{{{{}||{|{{{z{{|}||||||{z|{z{{{{|}{}{}|z{{|{{{|{{|||{{|{||z|{{{{|||{}}||z{{{{{{{|z}|||}{{||z{{{||||{||{||{z|zz{}|||{|}||{{|z||{|}|{{|||{|{|{{{||}|||}||||{{{z{|}||{}}|||{{{{{{{|||||||}||{||{z}{||{|||||{{{{{z{{||||{|{{|{{z{{||{{|{{|{|{{{|{{{|||||~~}}~||||}}}}}{}}||{|{{{{}|{|||}{{{{{{{{{{|{{|z}{|{z{{{{z{{{{||{|{z||{z{zz|{{{{|{{{{zzz{{{|{{||{{z{zz{{zz|{|||||{{z{z{{z{{|{{{{|{{{z{{{z{{z|{{|||{{{z{zz{{{{{{{||{z{zzz{{z|{{{{{|zz{{zzzzz|{{{{{|{{{{z{z{{{{||||||{{z{{{{{{|{{||{|{{{{{zz{{{{|||{{zz{z{{{||||||{{{z{{{z{{{{||{|||{{{|y{z{{|{|{||{{z{{{{zz|||{{{||{|{z{{{|||||||{|{|z{{{{{{|||{}|||{{|{{{{{|}||||{{z{{{{z{{}||||||{z{zz{|{||{{|}{}|{|||||{|}|||}}|}||{{z||||{||||}|z{z{{{{{|||{|}}|||{{z|{||}{}|{||{{z{{{z{|||{}|}|{{{{{|z{{|||{|{{{{{{{{{{||{|~~}~~~|~}}|||}~~}}||}||{|{{z{{||||}|||{{||{{y{{||{{|||||{{z{{z|||{||||{{z{{{{{{|{|{|{{z{{{z{{z{|z{|{{{{z{{{{{z{{{{|||{zz{{zz{zz{{{{{|{{z{{zzz{{z{{|}{{{z{{zz{{{{{}{{||{z{{{zz{z{|{|||||{zzz{{{z{z{||{|zz{|{{z{||{{{{||{{|zzz{{{{{{{||{|{{{{{|{{{{{||||{|{{{z|{|||{|{||z{{||{{zz||{{{{|{z{{zz{{|{|{}{|{|{z{z|{||}{|{}||{{{{{{|z||||||{|{{{{|{|{{||||{||{{{{|{{{{}|||||||{{{{{||||||||}||{z|{{||{||||||||{|{{|{||}{}}|}{}||{z|{{||||||}||{|{|z{{||}}{||||{{|{{|{{{|{||}|{z{{{|{zz|{{{|||{|{{{{z{|{|{|||{z{|{z{|{{|{{{~~}}}|}}}|||}}}|}||{{|z|{z}|}||||{||{{|{||||||{{{}{|zz{{|z{|||{{{|{{|z{{{y|||{{|{{zzzz{z{{{{|||{||z{{zz{{{{{{|{||zz{z{{{{{z{{|{{}{{{{{{{z{{{{{||||||zz{{{z{z{{{||{{{{{zz{z{{{{{{{|{{{{{z|{{z{{{|z{z{{{{{z{z|{{{|{{|{{{{z{{{|{{|{{{{{{{{z{{{|z||{||{{z{zz{{|||||{|{{z{{{{|{{|||||{||{{{|{{z{{||z|||{zz{|{{{{||{||{{{{{{{{{{|{|{{|||{||{{{}{}}|}||}|{{|{|{zz{|{||||{|{|{|z{||}||||}}{|{|{|||{||{{|}||z{|z{{{|}||}|}|{||||z{{|||||||||{||{z{|||||||}||{|{{{{||{|}||||z||z|z{|{|||{||}|z{||zz{|{{|{{{{||{zz{zz||{{{~}}}}~}|||~}}}|}}|}}|z|{{}|||||}||{|{{{{||{|}{{||{|{{zy{z|z|{{||||z{zzzz{{|{|{{{{{z{zzz{{|{|{{{{{{{zz{zz{|z{{{{{{{zzz{z{z||z|z|z{z{zzz{z{zz|||{|{{z{{z{zz{|{|{|||{{{{{{zz{{{z{}|{|{z{{zy{z{z{{||{{{{{z|z{{{||{|{{{z{{{z{z{{{{{{{|{{{zzy{z|{{{{}||z{{zy{zz||{{|{{|{{{{|z|{{{|||{|{{z{z{{|z|||{{|||{{{{{z{{{||{|{|{{z{||z|{{|||{}{|||{{{{{z|{{||}{}{{{|z{z|{||}|||||{{z{{{||}{{|}||{||{z{}{{{z|{}{|{{{{{{{|{}|{|}{}|z{|{||z|{|}||{}|{{|{{||{||{{|{||{{|||{{{||||{||{z{{{{{{|||{|}}{{|{{{{{yz|}|{{|{{{{{zy{z|{}|{~~~}}}~}}}|||}~}}}||{|z{{{|||}{{}||{{{z{{{|{{|{{|{||zz{{{z||{||{|}{{{{{|{y{{z{{||||z{{zzz{{z|z{||{z{{zz{{{{{{|z{{{zzzz{{{zz|{{{{{|{{{{zzzz{||{{|{|{z|zz{zz{|{{z{{{z{zzz{{{{zz{{||z{{{y{z{zz||{|{{{{{{{zz{y{|{{z{||z{|zzz|{{|{|{{{|{{z{z{{{|zz||||{{{{z{{{z{|{{|||{{{{z{{{{{{{{|{{||{{{{||{z{|{|{{{{{{{{{{{{}{|{{}|{{z{z{{z{{{|||||{{{{{|{{||{{{|{|z{{|{{z{}{|{|||{|z{{{{{{||||{{||{||z|{|||{{|{}|||{|{||{{{||{|{|||{||{{|{||||{}|}|{{{zz|{|{||{||||{z|{{{||{||||}|{|{z{|{z{|||||}|||{{{{|{{|||{|||{z{{{zzz{{|||~~~}~}}~}{{}}||}}}}|{{{{|{{{}|||||}{{{{{|z{{|}|||{||{{zz{{z|{{|{{||{{{|z{{zz{{{|}{{|zz{z{zz{{|{{{{{{z{zz{{{{{z{{|{{zz{{zzy{z|{{||{z|{{zzzzzz{|{|{{|z{{{z{|{{{{z||{{{{{{{{{{y|{{{{|{||z{y{{z{{z{{{{{{z{{|{zz{|z{{|||{{{{|z|{{{|z{}|z|{{{z{{{{{{|||{|{{{{{{z|{||{||||{{{{{{z{{|{|z|{{{y|{|z{{|||{|||||{{{{zz{{{{{{||{{|{{{{{{||}}||}|{|{{{{{{|{{|{|}||{z{{{|{|{{|||||{{{{{{{{|}{{||}{|{{{{|{||}{{{||||{z|{|{{|}{|||}||z{|z{{|||||{|{|{{|{{{{{{||||||||}{{{{{|{}{{}}{}{{{{{{{{|{{{|||{|{{z{{{{{}|{{|}|{{zz{z{{{{||{~~~}~|}|{|{|}{|}}}}|||z||{{|{|||{{||{{{|{zz||{{{||||z|zzz{{z{|{z|||{z{{{|{zz{z|{{{{{z{z{{zz{||z{{{z{yzzzzzz{{|{{{|{{zz{{zz{{|{{{||{zy{zz{zz{{{z|{{|zz|z{zzzz{{|{{||{zz{zyz{y|{z||||{{{zzz{z{{{z|{{{{{{{z{z{{{{{{{||{|{z{{{{z}|||||}zy{{{{{{{{|{{|}{{z{{zz{z{z{|{{||{z{z{{z{z}{|||||{{zzz{{z{{||{||{{{{{{|{{|}||{|{{{{{{{{{|{{||{}|{z|{{{{|{{}|||}||{{{{{{{{z}{{{|{|{z|{z{{{{||z|||{{{{{{|z|{||||||||z{|{|{{{|{|||}|{{{{{{|{|||{|}}{|{{z|zz|{{|{|||||{z|||{|{||{{|||{{{z{|{z||{|{||||zz{{{{y{|{{||{|{{{z{z{z{|||{~~}}|}|}|||}|}}}|}}|}z|||{}|{}||||{{{|{z{{||||{|||{{{{|{{z|{{{{{}|{z{{{{{{{|}{{}}|{{zz{{{{{{{{{|{{zz{{|zz|z{{|{||{{zyzz{{{{|{|{{|{{z{zz{z{{||{|||{{{{{{{z{||{|{{}{{zzz{z{z||{|z{}||z{|z{zz{{{{{|{{{{{{{|z{||||{|{|zz{{{z{|{}}{|{||{{||{{|{{{|z||}|{z||{zz{|{|{{|||{z{{{z|{{||{|||{z{|{{|{{}|||||||z|{z{{{{||||||{||{{{{{{{|{||||||{{{||{{z|{{|{}}~{{{|{|||{||{|||||z|{||z{}~||||||{{|{||{|||{||}|}}{|{|{||||}|||}}{||{|{||||||||}|z|{{|{{{{{|||}|}|{{||{{}|||||||}{{{{|{{|||{|||||||{|{|{{{{|||||{{{|{{{{z|{{|{~~~~}}~~}}|~}}}||}}|}|||||{}{||}||}}|{|{||{|||{{|{}|{|z||||{{{{{{||{||{{{{zz{z{{|||{|{z{{{|{|{|{{{{{z{{{{{||{|{{{{{{{{z{zy{|||{{|{|{{{z{y{z||||||{{|z{|{|{{{||{{{|{z{{z|z{{z{|{{|{{|z{zzz|zz{|||{|{|{{z||{z{{{||{}|{{{{{z|{|||{z{||{{|{{z{{{{|{|}||{{|{z{|||{{|{||{||{|{|{z{||{{}|}z{|{{{|z}|||||}}{z|{{{|||||{{|{|{{{zz{z{||||}|||{{{|||{{|||}||||}{{|{{|{}}|||}||}z{{{{z{|}||||||||{{{{|||}{||||||{||{||{{}|}|}||}|{|{{||}|{||{||}{{|{|{{|{{|}|}|||{{|{{|{{||}|||{||{{|{{}||||}|{|{{{y{{{||{}{|{|||{{{{{{||||z~}~}~}}}||}}|}}}|}|}}}|{{|{z{~|{}{||||{||{{{|{|{|{{|{|{|z{z{z{|}{{|{{{{{yz{{|{|{{{|{{|{{z{{{z{||{|{{{zzzzzz{{z{{{{|||zz{z{z{{{|{|||{|{{{{z{{z|z|{z{{{{{z{z{|{|{{|{z{{{{{{{zzzz||{{||z{{zzzz{z{|z{z|}|{{{zz|{{{{||z{||{{{{|{{|{|{{|z|{|{z{zz{z{{{|z|{{{zz|z{z{z{{{||{{{|{{{z{{{|{{|}||{z{|{|{{||{|}|{|z{|{{z{||||{{||||{{|{{{{|{||||}|{{{{||{{{|}||{}|{|{z|{{{||||{}{||||{{{z{||}||||||{{{z|{{|{||}|{}}z|{{{{|{}}{||||||{|{{{||||||||||{{|{z{{{{||{||}{|{z|{{|||||}||}||{|{{|{{{||{|}||{{{{{{{{||{||||{{{z{zz{{{|{|~~~~}|}}}}}||||}}}}||{z{|||{|{||||||{z{{{z{z{||}{{|{|{{{{{{z|{{{{{{|z{{{{{z{z||{{}|{{{{zzz{{{{|z{{{{{{z{z{z||y{|{||{yz{{{z{zz}{z{{}{{{{zz{{{z||{|{{|{{{{zz{{|{{{{z|{|{z{{zzz{{{|}{{{{{{z{z{z{{zzz|{{{zzz|z{z{z{z||||{z{z{{{{{|{z|}{{{{{zz{z|{{{{{||{{{{z{zzz{|{{{|||{z|{{{zz{{||{|{||{|z|{{z||{||{|{{{{z{{z{|||{{{{|{|{|{{{z{||}{|||{|{{|{{{|||}{{}|{{z{zzz{{{|||{|||{{{|||{|}||}|||{z||{{|||{|||||||{{{z|z{||||||}|||{{{{z||{|||||}}{{{{|z|{||{|}|||{{z{||{|}{|||||{|{{{{{{{{||||{|{{{{{{{{{||||z|{{{{zz{{{{||{z~~}~~~|}|||{}}}|}}}}|{}|||{z{{{{{|||||{{{{{z{z|{{}{{|}{{{{zz|{{z{{{||{{z{{{|{z{|z{z{||{{{zz{{z{z|{{{{{{zz{{zz{{z{||z}|{z{{zz{z|{|||z|{|{{zzzzz{{{{{{|{{{zzzz{z|z{|{{||z{z{{zzz{||{{|{|{|zzzz{{{{{{z{|z|z{||zz{{{{|z|}}{{{z{yzz{{z{{{||zz{z{z{{{|{|{{||{{{{z{{{{|{{||{||{{zzz|{{{{|{||{{{{{z{z{{{{{|}||{{{{{{{|{{|{{{|||{{|{{z{{{|{}|||{|zz}{{z||||{{{}{{z{zzz{|{{}||}||{|{{{{|{|{|||}}||{z{|{{{|||{||||{{{{||||}|}}||||{z|{{{{||}||||||z{{{{{{{||{{|||}|{|||{{{}{|{{{||{{z{{|z{{{z}|}{{{{|{{{z{|{{||{{{{|{{{{{|{||z~~~~~|}~}|}}}}||}||||~|||{z{||{z}|||||}|{z{{{z{{{{|{||||{z{{zz{{|{{{{|{{{{yz{z{{z|{|{{|{{z{{|z{{|z{{{|||z{zz{{z{z|{{{{|{zz{zzz{zz{z{z{{|zz{{z{{z{|{|{{{|{{{{z{{{{|||{|||{|z{{z{z{{{zz{{||{zz{{z{z|z{{{|||z{{z{z{{||{|{|{{{{{{z{z{|{{{|||{{{z{z{z{z{{{|{|{{{{{zzz{{|{}|{|{{{{{{|{||{|{|{|{zz|{{{{z|{||{|{{{z{|{{{{|{{{{||{{{{|z|{|||{{|||{{{{{{{{|{|}{||||{{}{{{{||||||||}z{|{{{|}{|||{||{|{|{{|{{{{||||||{|{|{{|||||{}||{|{|{{{{||||||||||z{{|z||{{||}||{{{{{{{|{{{||}||{||{z{{{{||}||{|{|z{{{z{||||{|||{{zz{z{{|{|{{}~~}~~|}|}||{{||}}{}~||||{|{{||{z{}||{z{{{z|{{{||{{{|z{{{z{{{{{{{|{{|{{{{{z{{z{{{z|{{{z{{{yz{|{||{||{{{z{z{z{{{|{{{|{{z{z{{zzz|{{z||{{{z{z{z{||{{{{{{{z{{{{zz{z{{z{|{{zzzz{z{{{zz|{|{{{|zzz{zz|{{{|{{z{zz{{{z{|{{|z{}{{z{{{{{{{|{{{{||{{z{{{{{{z{z{{zz{{z{zzz{{|z{|{||{|{{{{{{|{{{|{{{{{zz{{{{{|{{{|{{{z|{z{{{{{{{{|{{{{z{{{{{||{|||{{|{{{|{{{|{{{}||{|{{zzz{{|||||}|{{z|{{{{{|||{{||{{{z|{|{{||||||||z||{{{|z|||||||{{|{{{z|{}|{z||||{{{{|{{|{||||||{|{{||{{}|||||||{{|{|{{{}|}||||}|{|{{{{z|{|z{{{{{{z{{z{||||{}~~~~~~~~}|}|||{{}||}}}|}|{{{{z|{|{|{||{|{{{{{zz{|{|{{{||{{z{{{zz|{{||{{|{y|z{{zz{{|z{|{z{z{{{{{{|||{|z{{{{{{z{zzz{{{z{|zyz{{zzz{{{{{z{|{z|zzzz{{zz{{|{|{{{zzz{{zz||{|z|{|{z{{zzz{{z|z|{{{{yy{{{z{z{z|||{{y{z{zz{|{{{{{{{zz{z{{|{z|||{|{z{{{zzz{{{z{{{}{|{{{zz{zzz{{{|{||{{{{|{{{||{|{|{|{|{{{zzz{||{{{|{{z{{{z{|{||{|||{{{|{{{z|{|{|||{|zz{{{{{{|}{{{}}|{{{|zzz{{|{||{{{{zzz{{{{{}{{{{|}|{{{{|{|||||||{|{{|z{|{z{|||}|}||{|{z{{{|{|||}{|{z{zz|{{{{{{||||{{{{|z{|{{{||{}|{{z{{|z{{|{||||{{{z|{{{zz|{|{{{|{{{{z{{z{{{|{~~~~}~|}||}}|||~|~}|}}|z{||{{||{|}|}{|{z{{{z{z{|{|{||||{{zz{zz|{{|{|||zz|{z{z{{||{{|{{{|zzz{{z|{{{{|{z{zzzz{z{|{z{z|||zzzz{zzz{||{{{z{{yz{{zy{{{|{|z{|{{{{{zzz{{{{z{|{{{{{{zzz{{z{{|{|{zzzzzzz{{{{|{|||y{z{{z{{{{|{{||z{zz{{{{z{{{{{||{{{{zzy{z{{|{|{{z{zzz{z{{{||{{}|{z{{{y{z{{{|{|{z{{|{{{{{|{}z{{|{{{z|{{{z{||{|}|{{{{{|{{{{{{||{||z{{{{|{|||{{{||}{{{{{{{z{|||{|||{z|{|{{{|}||||||{{{{{{{{{{|{||||||||{|z{{||||}|}{{|{{{{z|||||||||{{|{{{{{{{||||}{{{{|{{{{|}{}|{}{{{{{{{{{{{{|||{}{{{z{{z{{{||||}z{||yz{{{||{|~~~~~~}~~~}}}|}|{}}{{|||}||{||||{||}|||||{{{z{{z{|{|{{|||{{z{{{{z{{||||||{{|z{{{zz||z{{{{{|{{{{{z{||z||{{{z{z{z{z{|{zz{||{z{{z{z{|{{{{z|{{z{{z{{{z{{{|{{{{{{{{z{z{{{|{{{{{z{{{zz{{{{{{z{z{{z{{zyz|{zz{|{|{{zz{{zzz{{{{||{||{{|{{z{|{y|||}{{{{zzz{{{{{|||}z{{{zz{{|||{{{|{{z{zzz{{||||z|{|{{|{{{{{||||||}|zz{|{{{{|{{{{|{{{{{z{{{{|}||{||}{{|{{z{{||||||||{{{||{z{{{||||}{{z{|{{z{|{||||}||{{{|{|{|{{||||{|{{||{{||}{{|{|}{||||{|{|}||{||||z|||{{{|||||}}}|{{{||{{|{{|||||{{|z{{|{|{|}|{||{{|z{{|{|{||{|{|{{{z{{|z|||{{~}~~}~}}}||||}}}}|||}|}|{|{|||{{|||{|}{{z{|{{{{{{||{{{{{{{{{{|{||z|z|||{{{{zz{zz|{{{|{{{|zzzzzz{z|z{|{{{z{{zz{{{{|zz{||z{{zzz{z{{z{}{{{z{{zzzz{{{{{||{|zz{{zz{{{{|}{{|{{{{zz{z{{{|{z{{{{{{zz{zz{{|y{{|{z{y{z{{z{{{{|||{{zz{{z{{|{|{{|||{z|z{{|{{{||{{{{{{|{z{{z{{|{|||}{{z{{z|y{|{|{{{{{{zzz{z{|||||{|||{{||{{{z{||||{{||{{{{{{{{{||||{{{|{{|{{||||{||||{{{{{{{{|{{|||||{{{{{{{|||||}{}|||{z|z|{|z{|||}|{{{{|{{|}{||{}}|z|{||{{||||||{||{{{{{|}||{{|{}}||{{|{{{|{|}|}||z{|{{|{{{}{|||||}|z|z{z|{||||||||{{{{z{{{||{{~~}~~~~~}}}||||||}|}|}~}{}}{{||z|{{}|{|}{||{{{{{z{|{{z|||}|{{{{{y{|{}{{|||z{{z{{z{|{z{{{{{{{z{zzz{{||{|{{{{{z{{z{|{{{{|z|z{zzzz|z|||{{|{{|{z{z{zz|{|{|{||{{z{zzzy{{{{{{{{{{{{zz{zz{{{{{|{|{z{|{z{z{{{{||{{{z{{|{z{{|{{{{|{z{{}{{z|{{||{{{{{zzzz{{|{|{{|||{{{{{{{z{{{{||{{|{{{{z{{||{|||||{|{{{{z{||{|{|}{|{|{{{{{{|{{|{{{{{{{|{{{{||}{|||||{{{{{{{|||||}|{{z{{|zz{{|||||{|{{z{{{{|}||||{||{|{|{{{|{|{||||}{{{{{{|||}|||}|||||{{{|||}}{|||{{||{{||{|{|||}|||{{{}|{{}{||}|}{|{|{{{z{{|||||||{z|{{z{|{||{{||{||{z|{{{{}||~~~~~~~~~~}}|}}|}|{{|||||}}}|{{z{{{{{||||||z{{z{{{zz{{|{|{|{|{{z{{zz||{{||||{zzz{zzz{|{{z||}|{{z{zz|{|{z{||{z{|zzz{{|{{z{|||{{{zzzzzzz||{{{{{z{zz{zz{{{{|{{{{{{{zzz{{{{|{{{{z{z{zzz|zz|z{}{{z{{zz{zzz{{|{|||{z{z{zz{{{||{|||{{{z{z{{{|{|{{{|z{{{zzz{|{z{{|||{{|{z{z{{|{{||{{{z{z{y{{{{|{||{|{{{z{{{z{|||{||{{{{{{z{|{|{{{{{||{z{{{{{|{|}||{|{{{{{{|{{{|{{|||z|{|{{{{{|{||||||{{|{|{y{{{{||}|z{{{{{{{|{||}}{||{{{{{|{{|{}}|||{{|{|{{{||}{||{||{{|{{{|{|{|{||}{|{|{{{|{{||||}|{|z{{{{{{||{||||{{z|{{|{{|||{{}|{|{z{z{{||{|{~~}~~~~}~~}~}}}}|||{}}|}}|}}|||{||||{{|||||||{|{{{{{z{|{{{||{{{yz{|z{||{z{{|{z{zy{zz{|{z{{{{{zzz{z{{{z{|{z|{z{zz{{zz{{{||{}{|{{{{{zzz{|{{{{|{{{{z|z|{{|z||z{{z{z{{{{{|{{{||{zzz{zz|z{z|{{{|{{zzz{{{{z{{{||{{z{z{{z{z{|{|{{}{{zzz{z|z{{|{{{{|zz|z{z{{}zz{||}|{{{{{z{{{||{{||||{{{{{{{{{|{||{|zz{{{z{{{|||{|{{{{{{{z{{|||{{|||{{{{{{{{{{}||}}}{|{{zz||||||||z|||{{{{{||}|}||{|{z{|{{z|{{|{|||{{{{{{|{z|{|{|||{||||{|{|}~{|}||}|z{{|{|{|||}|||||{{||{{||{{{}||{}{{{||{{{{{}||||{{{{{{{{{|{{||}}{{{|{{|z|{|}{||{|z{{{zz{{||z|~~~~~}}~~~~}~|}}{|||||}}}|}}}|||{z{|z{|{{|}}||{{{{z{z{||}z{}{z{{|z{zz|z{|z{{{|y{{{{zzz|{{{{||{{{z|z{z{{{|{{{{{{z{z|y{{{{zz{||{zzyzzz{z{||{{|{{z{{{zz{{{|z{{||{{|{z{z{{{{{{||{{{zz{yyz{{|{{{{{{|{{z{{z{|{{z|||{{{z{{|zz{z||{{{{{{zz{{{{|||{{|}{{{{{{{{|||||{{|{z{{{{{{{{|{{{||z{{|{{{z{|{||||{zzzz{{z{|{{|z|||||{{{{z{{{{z{}|{{{|{{{zz{{{|{|||{||{{{|{|||||{|}{{{{zz{{{|{||||||{{|{{|z||{{||}|z{|z||zz{{|||||||z||{{{|||||||{|}{{|{{|{||||||}|{{|{|{{{{||{}}}{{{|{{{{|||{|||{||{{{zzz{}|||{||||{||{|{z{{||{|||z{{z{{{{|||{{~~~~~~}~}}~~}~|}|}|||}}}{}}}|}{{{{||{{|{|||||||{|{{{zz{{{{{|||{{z{{{{zz|{|{|||z{{|zz{{{{{{{{{{{{{z{{{z{|{{{z|{{{{{zz{{{{{{{{|{{{z|zzz{|z{{|{{z{z{{z{z{{{|z||||zzz{zz{y{{||{z{{{zz{z{zz{{{{|{{{{{{y{zzzz{|{{{{|{{z{{z{z{|{|{{||{{{z{|{zz{|{{|||z{{zzy{{|{|{{|{}zz{z{z{{||{}|{}{|{{{{{|{{{{|{||z|{{z{z{{|{|{{{|||zz{{|{{|{|{{||{|{{|{{{{{{{||}||{z{{||}{||{{|}}|{{{{{{{{{{|{|}|}|{{||z{||{{||||{{|{{||{{{||{}}||{z{{z|{{|}|||||{|{{z{{|{|||{|}|||{{{|z|z{z{|{||||||{|{z{{{|{|}|{{{{{z{{{{|||}||}|{z{{{{{||{|{||{{{|zz{|{|{|{|~~~~~~|}~}~}}~}{{{~|{|}|}|}|}{}|{{{|||{{{|||}|{{{z{z{z{||{{z|{z{|{yz{{{{|{{|{||{{{{zzz{{{{z|{{|{z{{{{{{{|{z{|z{{{zzzzz{{{{{{{|{{{z{{{z{||{z||{{yzz{|z{{{{{|{|{{{{z{z{{|{{{{{|{{{{zzzzzz{|z{|z{{zz{{zz{{|{{{{{zzzz{z{{z{{{{{{{|zzzz{{{z|{|z|{||{z|zz{{{{{{{{{{|{{z{y{{z{{{{{z{|{|{{|{{z{{{{|||{{z{{{zzz{|||z{||{{zz{zzz{|{{{|{|{||{|{{{{{|}{|}|z{zz||{z{{{|||{||{{||{{z{|||||{{|{{{|z{{{{||{{||{{|{z|{{{{||||{|{z{{{|{|{||{}}|||{{|z{{{|{}||||{|{{{{{|{|z{||||}}{{{|{z{|{|{||||{{||zz{z|{z|{||||z{|{z{z{|{{{|{{{{|{z|{{{|{z{~}}}|||}}}||}}}}}|{|{{|||}|}|}||{{|}{{{{z|z|||||{|zz{{z{|{{{{{}{{{{zy{z{{{{{{{}{{{zz{|{z{||{{|{{{|z{{{z{z{{{|z{zzyzzyzz{zz{z{{{{z{zzzzzz|z{{||{|{z{{{zz{{{|{|{{zz{zz{{zz{z{{{|{{zz{{{z{{{z{z{{|{z{z{zzzz|{{{{{|zz{z{z{{{z|{|{||{{{{{|z{|{{|{{{}|{zz{z|z{|{{{|{{{{|zy{{{z{z|{{|{{{z{{x{{{|{{{{{z|{{zz{{z{{|{z{}|{{{|{{{{{{{{{{||{|{{{||{{{||{|{{z|{{|{|{{{||z|||{{zz|{{z{{|}{|{|{z{{|z{{{{{|||}|{{{{z|{z|}{|{||||{{{z{{{{}{|}{}{{|{z{{{z||||{||{{z{{|{{{||{{{|}|{{z{|{z{{|{|{}||{|z{z{{{|{||||||{{zzz|{z{|||{{{{{{z{zz{z{{{|{~~}~~}}}|~|}}|}|{||{~}~|}~}|||{{{z{|||}||}|||z{{{|{{{}{|{{{||{{{z{{{{{||{{{z{{{{{z{{{{|zz||||{z{{{{{{||{||{{{{{zzz{z{{{{{|{|{z|{zz{{zz{{|||{|z{|{{{z{|{{{{||{{{{zz{z|{{||||{{{{|zzz{z{{|{|{|{{zzzz{{z{{y{||{zz{{{{{z{{||z|{{{{{{{zz{{|||{|{|{z|{{{|{|{{z{|{|{{{|z{{z{|{{{|}|{z{{{z{z{|{|{{|||{|{{|{z{{|||||||{z{{z{}|||{{||{{z{{|{{{}||}|}|{{{{{{z|z|{{|||{||{|zzz{{|{{}|{||{zzz|z|{||||||}|{||{z}{|||}}||{||{z{{||{|||||}|||{z}{|{{{}{|||||{{|{{|z{|{}{|}||{{{|{{{||{{|||||||}{{{{{{}{|{|||{{{{z{z{{||{||}|||{{{zz{{z|{{~~||}|}}~}~}}~|}}}|{}}||}{{||||}}{{{|{|{{|||{|}||{{{zz{{{|{|{{|||z|z{|{{{{||{{{{{z{{z{zz{|{{{{{|{|zz{z{zz{|{{|{{{y{zz{{z{{{{{||{{{{z{{zzz|{{|||{{{{zz{zz{{|{||{{zz{{{{{y{{|||||{{{{z|zzz{{{{{||z{{{{z{{{z|{||||{|{{{{{{z{|{{z|||{z{z{{|z||{|||||{zz{{{{{{{{{z{||{|{{y{{{{||{|||||z{{{z{{||{|{|{||{{{|{{{{{|{|{|{{{z|{{{|{{||||{}z|{{|{{z{|||||{|z{{{{{{||{{|||}}{|z||{{{{||||{{{|{{{|{{z{|{{||||{|{{||{|||{{{||}|{{{{{{{{||}|{}|||{{||{{{||||{|||{{{{{{|{{||||||{{{{{{||{{||||{|{{{{z|{z||{|||}}{{z{{{|{{||}{||{{{{z{zz|{}{{z~}~~~}}}}|~}}|}}}||{{|{{||||}}|}}}|z||{z{|}||{}|||{||{{z{|||||{{{{{zzz{{{||{{|{{{{z|zz{zz||z|{{{{{z{{z{{z|{|z|{z{{|zz{{{z{{{{{{{|{{z{{z{z|{{zz|}{{zz{{zz{{|{{||{|zz{{zz{{z|{{{|{{{{z{z{{z{{{{{||{{{z{{z{{{|z{{|||{{{{|{{{{|||{|{{z{{z{{{{{|{{|{{{{{{{zz{{zzz|{{||{{z{{z{{}|||{{{{{{{{{|{{{|{{||||{{{{z{{{{||{z{||{z{{z{z|{{|{{|}{|{{|z{{|}|||{|}|{|{||{{||}|}|||{{|{|{{{{}|||}||||{{{|{|z}||||{|{|{{|||||||||{{||||{{{|{{{}||||}{{{{{{|z{|||||||||z|||{{|{}|{||||}||{|||{{|}||{|||{{{|{{z{}|}||||{||{zz{{||}}|{||{{|z|{{z{|||}~}}|~}|~|~}~|}~}|}|{z{||{}|||||||{z{{{z{|}||{}{{{z{{{{{{|{||{{{{{|{z{{{{|{|{|||{{{z{{{z||{{{||{{z{z{{{{|{{{z|{|{{zzz{zz{z{{z||{z{{{z{|y{{{{{{|{{zz{zyzzy{||{||{z{|{zzzz||{{{|{|{zzz{zzz{|{{z{{|z{z{{z{{z{{z{{|{z{{{{{{z||{|{{{z{zz{{z{{{{{{|||||{{z{z{z|{|{{||}|{{{z{{z{||||{|{|{zz{{{z{|{|{|||{{{{zz{z|{{{{|}|{{{{{{z{z|{{{||{{{{{|{|{||||||}{{{z{{{|{||||}{}|{{|{{{{z{|}||||{|z{{{{|||{|{{||{{|{{{|||{|{||}}|{{{{z|{|||||{}}||{|{{{{{{|}{||{||z{||{||{{|||||}|{{{|{{{||{|||||{{{{{z{{||{{|{}{||{{{{{z||{{|{|{{||{{{{{|||{{~}~~~}{~}}}}}}}}}|}|{|{||{||||||}}}{{z{{{z{{{{{}|||{{|{z{{{|{{|{|{|{{yzz{z{{{|{{{|zz{{{{{z{|{zz{|z|z{{zz{z{z{{z{z|z{z{z{{{{zz{{{||z{{{{{{{|z{{||{{{zzzzz{z{{{{{{|||{zzzz{z{{|{{{{|{zzyz{zz|{{{{{{{z{{{yyzz{|{{{|{{zz|{{|zzz{{{zz{|{z{{{{zz||{{{{{||z{zzz{{{|{|{{{{{zzzzz{z|{|{{{{|z{{{{z{{{|{{||{{|{{{zzz{{|||{|||{|z{zz{z{{{{|{|{{{{z{{{{{{|{{{{|{|{{{{{z|{{|z||~|{||{{{z|z|{|}{{{{{||{{{|||||{|~{||||z{{||||{|||}{z{{{{|{}||||}||{|{z{{{||{|{}|||{z{|{{{{{{{|{|||z{|{{{|{|{{||{{{{{{{{{{{}z||}|||{{{z{{{{{||{|}{||{{|zzzzz{{{~~~}}}~}~~{~}|}}|}}||}|||{}}||||}|}||{|{{{||||{|{}{|{{{{{z{{||}{||{{{z|{{{z{{{|{||{{{{{{z{{||{{{|||{{{{{{z{|{{z|{|{{|{{zz{zz{{{{{{{{zzzz{z{z{{{{{|{|{{z{{z{{{{|{{{{z{zz{{{z{z{{{{|{|{{{{{zyz{|zz|||{z|z{z{{z|{{{|||{zz{z|z{{{{|{||{{{zzzz{z{{{{z||z{{{{{zz|{{{|{|||y{|{|{{z{{|{||{{|z{{|y{{z|||||{|{{z{z|z{|||{|{|{|{|z{|z{{|}{|{}||{{|{{|z{||}|||||{{{|{|{||{{|}|}{z||{{{{|||||||{|{|{|{{{}|||{|}|{{{{{|{|{||||{}|}{|{{||{{|}||{}|{{{|{{{{||{||||{|{{|{|||||||||{}}{{|{|{|||||||||||{{{{|z|||||}|||{|{{z{{|{|||{||{|{{{{{{{||z}~}~}|}}}~}||}}}}|}}}||{||{|}|}|}|{||{|{{|{z||{||||||||{{{z{z||{{||||{{{{{{{{|||{|{{{z{{{z|{{{{|z|}{{z|{|{zz{{{{{|{{{{{zzz{z||{{{{{{{{z{zzz{{zz{z{|{{{{{zzy|{{|||{||z{z{y{zz{{{|{|{{|{{z{z{{z{{{{{z{yzzzzz{{{|{z{{||{zz{{{zy{{{{{|{||zz{{zz{{||{z||{zz{{{{|{|||{{|{|{z||z{y{{{{{{{|{{|{z{z{z{{{||{{{{{{{z{z{|{|{|{|||{{{|{{{||||{{{|{z{{{{{{}{||||||{{{{{|{|{{{|{|}|{|{|||{{||||||{|{z|{|{|{|}|{{||}{{}{{{|{{}{{|||||{{|{{{{{}|||}|||{|||{|{||{||{|}|{{{|{|{||||||||{|{{{{{z|}|||}||{{{{{{{{{{|{{||||||z{{{z|{||{{}|{{{{{z{{{{{{|~~}}}|}}~||||}}}}}}||z{{{}|||}{||}}||{{||{{|||{{|}{}z}{{zzz{||{{||{{{|{{z{{{{{||{||{{zz{zz{|{{{|{|{|{{{{{zz{{{{{||{zzzzz{zz{z{{z{{|{zzzz{{{z{|||||||zz{z{zz{{|z{{{{{{zzzz{{{||{{{{|z{zzyz{z{}{zz{z{{{{zz{{{{{{{{||{{z{zz|{z{{|{|{}{|zzz{zz{{{{{|{{|{zzz{{zz|{z{{{||{{{zzzzz{|{{|{|{z||{{yz{z|{|{{|{{{z{{{z{{||{{{|{{{{zz{{|{||{{}{||{|yzz{|{|||||}|{|z{|{|{|{{|{|{|{{{|{zz{z{|{}|}{zzz{{{{||}|{||||z{{z|{||{{|{{||}{{{|{{{{z||}||}||{||{{}{{||||}{{|{{{{{{{||||||{||{{|z{{{||||{|||{{{z{{z{{{{|{||}{z|{|{{{{||||}{{{{{{z{|{{|z{{~~~~~}{|||||||||}{||||||{{{|||||||}|||{|{zz}|{|{|{{{z{{{zzz|{||{||{{{{z{{|{{|{|||{|{z{yz{zz|{zz|{{{{|zz{{z{{z|{z{{{{{zz{{z{z{zz{{{zzz{zzzzz{{{zz{|{{zz{{zzz{{|{{{{{{z{zzzz{|{zz{||{{zyzzzz{z{|{{{{{{{{y{z{zz||{||{{{{{{z{{{{{{z{{}{{z{{{zzz{{|{z{|{{z{{{{zz{{|{||{|z{{zzzz{{z{|{||{{{{z{{|{z{{{|{{{{{z{{{{{|{|{{||z|z{{{{{{{{{{{||{{{{{{|z||{|{{||}{|{z|{{|||{|{|||{{{{|{zz|}{z{{||{{{{|{|{||{||{|{{{|{z{{{{||{{||}|{{{z|{z{|||{|{|{{||{{|{}{{}}|{||{|{{{{{||{{|{}|{{||{|{|{{|{{|{}y||{{z{z|||||{||{{{|{{{z{{{||{}{{{{z{{{{|{|{|~~~}}||||}{|}}}|}}}|||{{{{||}{|}{{}|{|z|z{z{|||||||{z{{{zz{{{|{{{||{{{zzzz{{{{{{|z{{{zzzz{z{{|{z|||{{{zz{zz{{{{{|{z{{{z{zzz{{{{{{z{zz{{{zzz{{{{z{{{{z{{zzz{z{|{||{{{{{{zzzz{{{{{{|{{{{zzzz{z{{{{{||{{{zzzzzz{zzz||{{{zz{{zz|{{||{|{{{z{{z|z{{zzz{{|{{{zzzzz{{||{{{{{{{zzzz{{{|{|||}{{zz{zzz{{{{|}{{z{zz|zzz{|}{{{{{{{{{{{z{{{|{{{{{{{{{{|z{{{||||{{{{{{{{{{||{|||||z{z{{z{{|{{||{|{{{{{|z{{|||{||{|{z{||{{z|{}||||}{{{||{{{|}|{|||||{{|{{|{}||{||||{z|{{{{|}||{||{{||{{{{z{{{||z{{|z|{{{{{{{{||{||{|{z|{{{{|{||{{|{|zzz{zzzz{|{{~~~||}||{|||~|||}}}|{{{{{{{{{|{{{}}|{|z|zz{|{||}}|{{zzz{{z|{{||{{{{|{zzz{{z{|{{{{{{{z{{zzzz{}|{{{||{zzzzzz{{z|z{|{zzzz{z{z{{zz{{{|{{z{z{zzy{{{z{{{{zzz{zz{z{|{{|{{|zz{zz{{z{{{{|{z{{zyzzzzz|z{{|{{|{|{zz{zzzz{{{{{{{|{z|zzzzz{{{{{{{z{{zzz{z{{{{{|{{z{z{z|{{{{|{|{{{{zzzzzz{|z{|}{{zzzz|yz{{z|{{{{|{{|{{|z{{||{{{|{{{z{{{{{||{{{|{{|z{{|z{{{|{|{|||{zz{{{|z{z{z{{||{z{|{zzz{||{|||||z{{{{{y||{{}|||{|{{z{{{{{{||||||||{z{{{||{{}||||{{z{{|{|{{}|{|{{{{{|{{{{{z|{}|||{{{{{z{{{{||{{|{{{{z|{|{{{|{||{||z{{z{{{|||{{}|zz{{{{zz|{{{|~|}}}}{|{|||}}|}||||{{{{||||{{|}|||{||{z{|{{{{|||||{{{{{zzz|{|{{|{|z{zz|{{{{{z{{}{{{zzzz{{zz|{zz|{{{{zyz{{{{||{{{{{{yz{zzyz|{{|z}||zz{{{z{z{{{{{{z|{zzzz{{z{{|z|{||zz|{{zzz|||z||{{z{zz{zzzz{|{{{{{zzzz{{zzz{z{{{{{{z{zz{{zz{{||{||{{zz{{{z{z{{{|{|{{{{z{{z|{{{||{{{zzzzzz{{{{{|{|{{zz{{{{z{}|{{{||{{{{{{{z|{{|{{|{{z{|z{z{|}|||}||{{{zz|{|{|||||||{|{|{{{{|{{||{{|{{{{{{{{{||{{{|||z{{{{{||||{||||{{|{{{{{}{||||}{|{{{z{|{|||{{{|}{{{{{{z|||||{|||{{z{|{z{|{}{|||||||{{{|{|{||||||{{z{{{z{||{{|{||||{zz{{{{}|{||}{{zzzzz{{|{{{{}|~|}||}|{|}}}}|||}{{z{{{{{{|{}{||||{{z{|{{}{{|{|||{{{||zz{{{|{{{||||z{{yzyz{{{{|z|{{{z{{{{z|{{{{{{{z{|{{{z{z{z{|{{z{{zz{z{{zz|z{|{y{{{zzzz{{{z|{|{{zzzzzzz{z||{{||{{{zzzzy{|z|{{z|z{z{zz{zz{zzz{|{{{{{{zzz{{|{z|{{zzz{z{z{z{z|z|||{z{{{zz{{{{|{z||{{{{{z{{|{{{{|{|z{z{{zz{{|||{{||z{{{|z{z{{{{|{z|{{{z{z{{|{{|{{{{z{||{z{{{{{{{|{{z{{{{{z|{{|||}{|{{{{{{|{|{|||||{{|z{{zz{{{||{|{{{{|z|z{z|||{}||}|z{{y{{{|{||{|}||z{{z{z{||{|{|{|||{|{z{y{|||{|{|||{{{{z{{||{{{}||{{{||{{{{||||||{{{zzz{{{{{|{{||{|{zzz{z|{{{{|{{{{{{{{z{||{{{}|}||}{||{|}|||}||}||z{|z{|||||||||}{{{{|z{||z|{|{||z{{{|z{{{|||{|{{{{z{xzz{|||{|{|z{{zz{zzz|z{{{{{|{{zzzzz{z{zz{{{{yyzz{{z|{{{{{z|z{zzyzz{{{{{{{{{zzzy{zz{{{{{{{{{z{z{z{zz{|z{|{{{{zzzz{zz{{{|zz{z|zz{z{yzz{{{{||z{zzz{{yz{{{{{{|{zz{{{y{{z{|zz{|{z{{zzzzzz{{{{{{{z{|{y|zz{{{|{{|||{{z{z{z{{{|{||{{zzzz{{z{{|{|{|{z{{{{z{{{{{{{|||{{z{{{{{{|||}{{|{{{{{{{{||{{{||z{zz{{{zz{|{{|{{{||{{{z{z}||||{||{|{{||{{{|{{|}|||{{|{{{{{|{{|}|{{z|{{{z{{||}|||||{z{{{{{|{|{||||||z{|z{{||{|{{{|{|z{{z|{{|{{||||z{{{z{|z{|z|{{||z{zz{z{z|z{z{|||}}||{|{}}}}}}{|}|||{{z{{|{}||{|||{z{|{{||{z|||||zzzz{zzz{{{{z|{{||z{{{z{|{{|{|||{zzz{{z{z||{{|||{z{{{zzz{{|z{|{{|{{zzz{z{{{{{{{|z{{{{z{z{{{}z{{z|{{zz{yzz{{z|z||z{|zz{zz{{{{{||{{{z{z{{z|||{{{|{z|{zzzzz{|{{|{{{{z{zzzz{|{{{{{{|zy{{{zz{||{{{{|||{{z{{{z{{|{z{{|{z{{{z{z{{|||{{{{{{{{{|{{{{{z{|z{{|zz{{z||{|{||{|{{{{{z{||{{{||{{{{|z{{{|{{||{}|{|{{{z{{|z||{{||{{{|||z{|||||||||zz|{z{{|{{{{{|}|{{{{z{{{||||||||z{||{{{{||{||||{z{{{z{||||||||||{{{|{z|{{|{|||{|{{||||{|{{||||}{z{{{z{{{|{|{{||{{{zzz{{{{{||{{{{{{{{z{z{{|{{}~|}|{}{{|{|}}|||{||||{|{||||}|{{||}{{zz{{{{{{{{|{{|z{|z{{{zz{{z|{|{{{{zzzz{||{{{{{{{{z{y{z{{|{{{{||z{{{yzzz{|{{{{{|z{{{{{{|{{{{{{{{z{z{{zz{{zz{{{{{{zzzzzz|z{z|{|{{z{zz{zz{z{|{z{|{{{z{yzyz{|{zz{zzzzz{zzz{{{{|}{|zz{zzz|zz{{{{{{{{{{{zz{{z|{{|{|{{zz{zzz{{{{{{{|{{{z{z{z{{|{z{||{{{|{zzz{{{{{||{{|z{{{z{z{|{{z{|{zz{{{z{{|{{{{{{{{|z{z{|{zz{|{{|{{{zz|{{{{{|{{{|}}z{{z{{{{{{{|||z|{z{{{{|{|{{{{||{||{{{{{{}|||}{|{{{z{{|{{||||||}||{{{z{{{||z{}|{|{z{{|{{|||{}}|||{|{{{{{{{{{{{||zz|{{z{{{{{||{||{{zzzz{{||{|{{|{z{{z{{zz{{{{{}|}}}{{|||{|}||||{|||{{z{{|||}||{|{{||{z{|z{{||{{|{{{|{z{y{{{|{{|||{z{yyzzz{{{|{||{{zzzz{{z{|zz{{{{{zz{yzz{{{{{{|{{{z{{zzyz{{{{{{{{{zzzzz{{zz{z{{|{z{|zz{{zz{{{{{{{z{{zzzzzzz{|{{|{zz{{{z{zzzzz{{|{{{zz{z{z{{{{||{{{z|{{y{z{z{{z{{{{zzzz{z{|{{z{{z{{{|z{z{{{{{{{{{|z{{zy{{{||zz{{}{zz{z{y{{z|{{{{|{|zz{zzzy{{{{{{||{{{{z{{z{{{||{{{z{z{|{{{{||{{{|{z{{{{{{z{{{|||||{z{|{zy{{{{||{||{z{{{zy{||||||{|{z{|z{{z{||z||{||z{{{{{z|{|||{||{z{{{|{{}z{{{|{|||{z{{{{{{{{{|||{{{{{{{{{{|||}||{|zz{{{z{|||{{|{|{z{zz{{|||{{{||{{|z{y{{{{{{|}|||}}|z{{{}}|||}||{{{|{{{{|||{z||{{|{{zz{z{|z|{{{{{z{{z{zzz|{|{{||{{zzzzzz{{{z{{{|zz{zz{zzz{{{{{z{{zzzzzzyz{|zz{{zzzzyyzzz{zzy{{{z{{zzzyyzz{{{{|{|zzzzzzz{zz{{{{|{{zzzzzzz{{{{z{{|zzzz{zzyz{zzz{z{zyzzz{zzy{{z{{z{zzzz{z{y|{{{{{{|{yzzzzz{{{{{{z{{{z{zzz{z{zz{zzz{z{{z{zzzz{zz{{{|{{{z{y{zz{{z|{{zzy{{{zz{{}|{{{}{{{zz{z{{{{z{z|{|{z{z{z{{||||{}|{z|{z{||{{||||{{}{z{{{zzz|{{||{{{{z{{{zz{|||z}{||{{{{zz{z{||{{{|||zz{{z{{{||{||}|{z{{{{|z|{{|{|{||{{{{|{{{|{{|{|{{{{{z{{{}|{|{{|{|zzz{z{z|{|{{||{{z|zz{{z{{||zz{{z{{zyz{z{{{{z}}|}|{|{{||{}}{{~|}|z{|{{{{|{{||||}{{{{{zz{{{|{||{|{{{{z{zz{{|{z{{{|{|{z{zy|{{z{{{{{z{z{|{zz|{z{||{{z{{{zzy{{{z{|{|{{{zzzzz{{{{{{{{{zz{zzz{{{|{{{{{{z{z{zz{{{{{{{{{{{{z{{zzz|{{{{{{z{{zz{zz{{{z{{{z{zzzzy{{{{{zz{||z{z{z{{zz|{{z{|{{{yz{z{{{{{{zz{{{z{zzz{{{{||{|{|z{{{{{zz|||z{{|{{z{{zz{z|||{{|{{{z{zzz{z|{|{{|}|{{z|{zz{|{|{{{|{|z{z{z{z|{||{{|zz{|z{|z{{{{{|||{{{{{{{{z{|{||}|{{{{z|{{{{{{|||||{z|{|{|{{|{{|{|}|{|{{{{{{|||{||||{z{{{{{{||||||||{{{|{{{|{{{||||{{{{{{z{{{|||{||{zzz{{{{{|{{|}{{|z{{{{z{{|{||{{|{z{z{zz{{|{z{~|}|}{}|{|||}||||{||{{{{{z|{{||{}|{|{{z{|z{|{z{{||{{{z{{z|{{{{||{}|{{{{y{{z{{{|{{{{{{{z{{{z{|{{z{{{|{{{{zz{z{{{{{{{z{{yzzz{{z{{{{{|zz{z{z{z|{{|{z{|{{zz{{y{zz{{|{{|{zz{zz{zz{|z|{|{|{{zzz{z{{z{{|{{{{zz{y{zz{{|{{{z{z{zz{z{{{{{z|||{z{{|{{{{|{||{z{z{zz{{{z|{{||}{{{z{zzzz{{{|{{{{|zz{{{z{{{{{{{||{z{z{{{z||{||{{{{{{{{{{z{|{|{|{|{|{{{{z{z{|z|{{|{z{{|{|z|||{|{{}||{{{|{{z{|{}|{|||z{{}|z{|||{||}{{z|{{{{{|{{{{{{||{{{z{{{{~||||}{{||{{{{||||}|}||{{{{{|{|||{{{}|||{{|{z{{{|{{{|||{{{z{{{{{{|{{|{{{{{{{z{{{{{{{{|{|{{{zz{z||}{{}}||}{}|{|z|}|||{||{|{{{{{z{{|{|}|||||{z{{z{{{|||||{{{{|{{zz{{{{{||{{{zzzzz|{{{{|{{z{{zzz{z{{{z{{|{z{{{{{{z{{{z{{|{{{zzz{yz{z{z{z|{z{zz{z{zz{{{{{{z{{zz{{z{{{{{|{{{{{z{zzz{{{{z{{{{z{zz{zyyz{{{z|{|z{z{zz{z{{{|z{{|{z{z{{{zz{|{{|{{{{{{{z{zz{{{|{||{{z{{z{{{{|z{|{|zz{zz|z{{{{{{{||{{{zz{{{z||{||{{{zz{{{{z{||||z|{{{{zz{z{{{{{|{|{|z{{{{||{{{}||{|{{{z{z{{{|||{|||{|{{{{zz{|||{{|||{{{{{{z{|{|{|}{{z{{z{z{||{|||||{z{z{{{zz}{|}|{|{z{{{z{{|{}{{|{|{z{{{|z{|{|{{||{|||{{{{{{{}{{{||}{zzz{{{{|||||||{{zzzzz{{|z|{|||{{{z{{{{{{{{|}|}||||}{|{{{||||||{|{z{z|{|||||||}{|{z{z{z{{{{}||||z{z{{zzz{{{{{|{{{zzzz{zzzz{|{{|{z{{z{{zz|{{|{{{z{{z{zz{z|{{z{{{z{{zzzzyz{|{{{{{{{zz{zy{z{{{{{{|zzz{zz{{{z{{{{|{{zz{zz{{{|{{z{{{{z{zz{zzzz{z{{{{{{zzzz{zzzz{{z{|{z{z{z{z|{{{{{|z{z{zzyzz{{|{|{|{{z{{{{z{{{{{{{||z{{zz{{z{{{{||||{z{zzzzz{{{{|||{{z{z{zzz{z|z{{|{zz{{z{{{||{{{|||{zz{|{{{{|{||}|||{z{{z|{{{||{||||{{{{{{z||{||||{}{{{|{{{|{{|{||||{{{|{|{{||z}|{|{z|{{{|{{|||{{||{|{{{z|{|{|{|}{{|{z|{{{|z{z|{{}{{{{{{{{{{|||||||{{{z{{{z|{||||}|{{{{{zz{z|{{{|{z{z|z{{{{z{{{{}}}{|||}|{||||||{}|{{{{{z{{{{|{|||}{|{|z{{{|||{{{|{{{|{zz{y|{{||||{{z{zyyz{{{{|{{{{{zzz{z{{{{{{z{{zz{{z{zzz{{|zzzz{{{z{{z{z{{{z{|z{y{zyzz{z{{{{{|{{{z{{zzyz{||{{{{|{z{zzzzz{{|{{z{{{z{z{y{z{{z{{{{{|zz{{{zz{|zz|z{|{y{zzzz{{{{{{{|{{z{|zzz{{{{|z{||{zzzzzz{z|{{{{{|z{{zz{{{|{|z{{{{{{z{{{{{{|z{|{{||zz{{yzz||{|{{{{{|{{{zz{{{|{{||{{{zz{z|{|{{|||{|{z{{|{{{||{|||{|{{z{{{z{{|{z}}|{|{|{{{{z|{{|||||{{|{{|{{{||||||||{|{{{|{{}{|||||{{|{|{{{{|||{|{||z{zzz{|{{{||{||{{z{|z{{|{{||{}||{{z{{{z||{{{{|{|{{{{zzy{|}{{||{{z{z{{{z{z{{|{|}|}|||{|z|}||{||{{{|z{|{{{{|}||{}{|z|{{{z|||{|{}|{z{zzzz{|{{|z{{|{z{z{{zz{|{{{|{|{{{z{z{z{{{{||{z{z{z{z{z{{{{{z{|{zzz{zzzzz|{{{||{y{zyzzz{||}zz|{{zz{y{z{{z|z{|{|{{{{z{z{{{z{{z|{zz{{z{{zzz{{{||{{z{z{zz{z{{||{{{{{{{{{zz{{{||{{|{{{zz||{||{z|{z|{z{z{{{{{{{zz{{|{{{zz{{z{||z{||z{z{|{y{z{{{||||{{{{z{y{{z{|{{{|{{z|{{zz{{|||z{{||{|z{{{{||||||{{{{{z{{{{|||{|||{|z{|z{zz|{||{|{}{{{{{{{{{||{|}}|{z|zz{||{{||{|||}{{{{{{{|||}}}|||{{{|z{|||{{||}||{{z{{{{{{{|||{}{{{{|{{||||||{}|{{{{z|{|{{|z||||{{zz{|{{{{{{z|{{{{z{z{{z{||{{}~|{z||||||{||||||}|{{{|{{{{|||||{||z{{{{{z{{{|{{{|{{zz{{{z{{|{{{|{{{{|zz{z{{|{{{{|{{{z{{{{{{z{z{{{{{{zzz{z{{|{{{{zz{zz{z{{{z{|z{{{{z{z{zzzz{{|{{{z{zz{z{{z{z||{z||{z{|zzz{{{{{z{||z{z{zzy{z{{{{{|{zzzz{z|{z{{{{{{{z{{{{z{z{z{{{{|{{{{z{yz{{{|{{||{zy{{z{{{{{{z{{{|{{{y{{{z{{|{||||{zz|{yz{z{{|{{|{zzz{{{zz|||{{|||{{|{{{{{|{{{{||{{{{{{{{{}{|{|{{|z|{z|z{{{}{|||}}|{z{zz{y|||{{|{||z{{{{{|{|{|{|||zy|{z{|{||||||}|{z{|z|{{{|||{||||{{|{{|z{{|}|{|}{{{{{{{{||{{|||}|{{z{{{{||{|}|||{|{y{{{|{{{|{||{}{z{zz{{{|{{z{|{{{|{{zzz{{|}|}}||{|{{{{{{{}}|||}|{{z{z{{|{|{}{{|{{{z{{z{{|{{|{||{{{{{z{{{{|{z{|zzz{zzy{{{z{{z||{|z{z{{{z{|z{zz|{zzzzzz{{{z{{{z{zzz{{{{y{{{{{{zz{zz{yzzzzz|{{{{{{{{{zzzzzz{{{{||{{{{z{y{zzz{{{{|{|zzzzyzzz|{z{zz{z{{zz{{zz{{{{||{{yz{{{zzz{{|{{{{|{zz{{{z{{|{{{|z{{z{zz{{{{|{{{|{z{z{{z{{{{zz{{{{{z{z{zzzz|{{{{|{{zzz{z{{{{|{z{|{{{{|{|{{{{{{{|{|{z{{z{z{z{{|{{|{{|{z{z{z{|{||{{||{{{{zz{{|{{|}{{|{{{{z{z{{{{|||{{|{{{|{{{||{{||||{{{{{{{||}||{||}zz{zz{||{{|{||{|{z|{{z{{{{{|{|||z{{|{z|{|{{{{|{{{{zz{z{{{z|{{}|{{{z{{{zz{{{z|{|z{{y{zz{{{{|{|||||{z{{{|{|||{||||{{{zz{{{{|{|||||zzzzzz{|z|z}{{{{z{{{zz{z{|{{{{z{{{{z{{{{{{{{||{|zzz{z|zzz{z|{z|{{z{{zz{{{{{z{{{zzyz{zzz{{{z{z|{zzzzzzzz{{{{|{{{{zzzzzzzz|{{|{{{{{|{{z{yzzz{z{{{zz{z|z{zz{{{{{|{zz{yzz{{{{zzz|{{|yzz{zzz{{{{{|{|z{z{{{z{{{z{{z{|{z{zz{{{{z|{{{{{{{zzz{z{{{{{z|{{|zzzzz{z{||{{{{{z{{z{zz{{{|{{z{{{zzz{zy|{{{{{|||||{{{|zz|{||{|||z{{{{|z{{|{|{{|}{{{{{{z{{|{|{{|}|{z{{zz{{|}{}}||{{{{{{|{{{}{{||||{z{{|{z{||{|||{{{z{{{{{|{|{||{{|{{z{{{z{}{||||{{|{z|z{{{{z{{||||{{z{zzz{|{|{{||{|{{zzzzz|{|{{z{|{{zy{{{{z|{{}||{|||{{|{{|{|{|||{{|{zyz{|{|{{||{zz{{{{z{{{{|{{||{{z{zzzyzz{|{{||{{z{yzzzz|{{{{z{{zz{yzzzz{z{z{z{|z{zzzzzz|{{{{{{{z{zzzz{{{{{{{{{zzzyz{{zz{z|{{|z{zzzz{zz{z{z{{{{{zz{{z{|z{z{{z{{zyzyzzzyzzzzz{{zzz{z{{zyz{{z{|{zyzzz{{zzz{{{z{zzzz{{zzz{zz{z{|z{{{{|zzy{{{{{{{|zz|{{z{{{|{{{{|}{|z{z{z{z{{{{{|{z{{{{zz{{{|{|{{}{{z{{{z{z{|{z{{{{{{z{{zz{{{{||{||{{{{{|{{{z{|{{||{{{{{{{zz{|{{||}{{{zzz{{||{|{||||{||z{{|||{{|||{|{{{{{{{{|{{|{|||{{{|{{{}{|}|||{{y{z{{{z{|||z|||{z{{|{{{{{{{{|{|z|{z{zz{{{{|{{||||{{z{{y{|{||z{{zz{z{{zz{|{{{}|||}{{{{{{{|||||{||{{{{|{{{|{|}|{}{|{{{{{z|z{|||{|{{zz{{zzzz{{{||{{{zzz{{z{{{{{{{{{zz{{zzz{{{{{{|{{{z{zzyz{{{z{|{z{zzz{{zy{{y|{{{{{zzzyyzzz{||{|{z{z{zz{z{{{|{|{{|zy{zzz{zz{{{{{{{zzzzzyz{zz{{z{||{{{zzz{zz{{{z||{zz{zzzzz{{{{||{{{y{|{{zz{|z{z{||z{zzzy|{|{z{{{|{{{zz{y{z{{{|{{||z{{{zz{z{||{||{z{{{{{zzz{{{{{||{z{{{{{{z|{{{{||{|{{{|{{z{|||{||{z{{{{{{{||z|z{|{{{|{{zzz{|||||{{{z{z|{{z|||{}{|{zz{{{{{{{|{|{|{{|{{z{|z{{|{||||}{{{{z{z{{||}|{||{{{{{{{|||z{|||||{{{{z{z{{|{|{||{|{{z{{y{|{||{|{{zz{{{{zz{|||{|{|z{z{zz{{|{{|}}|{{{|{{{|{|{{{|||{{{|{{|{{{{{||{|{z{{{z{z{{{|||||{{{{{z{{{{{|z|{{{{z{zz{z|{{{z}|||{{z{z|z{|{z{||{zz{zz{{zz{{{{{{{{{zz{zz{{z|z{{||z{zzzz{z{{z{|{|{{z{zz|z{{{|zz||{z{|z|z{z{{z{|{{|{{{z{zzz{zzz{{{||{{{yzzz{z{{{|{{{{{{zzy{{{{{{{{|{zzzzzz|{||{{z{}zz{{z{{{{{{{{||{zz{zz{{{{{{{{||{|{|{{zz{{|{{{|{{zz{z{{zz{}||{{|{{zz{{z{z||}{z||{{{{{z{z|{{||}|{|{|{z{{{{||{|{||}|{{{{{{z{||||||||{{{{||{{}||{{||{|{{|||{{||||}|}{{|{{{{{{|}{|||{{{z{{{{||||||||||{{{|{{|{||||||||{z{|{{|{|{||}}|{{|{{|y{{||{||}{||{z|zz{{}||{{}{{{{zzz{{{{|{||{|||{{z|{{{|{||}{|{z{{zz|{{{||{|||{z{zzz{z{|{}|||{{z{{{zz|{{{|{z||{{{zzzzz{{||{||z|{z{zy|zz{{{|}{|{z{{{{z{{{|{z{{{{{zzz{z{z{{|{z{|zy{zz{|{z{zz{z{{{{{zz{zz{z{z{{{z{{z{z{zz{{{z{z|{z{z{{{zz{zz{z{{{{y{zzz{zyz{{z|{{{{{zzz{z{{{z{{{|{zzz{z{zz|{z{{z|zz{zz{{{{{{{||{{zz{y{z{z|||{|{{|z{{zzz{z|{{|z|{|zz|z{{z{{|{{|{|{{{z|zz{{{||{{|||{zzz|{{||{|||{{||{{{{{|{||z|{|||{z||{zz{{|||}|{||zzz|z{{{}{{{|||{{z{{|{{||||||}|}z{||{{{{|||}||{{{{|{z{{{|||||||zzyz|z{||||{||||{{{zz|{{|{|||}|{|{{{{{z{||z|||}{{{{{z|{{{{{{{|{|z{{|z{zz||{|{}|}{z{{{|{|{||{||}||z{{{{|z{|{|||}|||zz{z{{{z{{|{{{{z{{z{zz|{{|zz}{{z{zz{zzz{{{z{z{{{y{{{{zz{{{{{{{{{zz{zzz|{{{{|{{{zzzzzz{z{{{z|{z{y{z{zzz|{{{z|{{{{{zzzzz{{{{z|||z{{zzzz{z{{|z{{|zzyzyzyzzz{{{{{{{{zyzzzzz{{{{{{z{y{z{{{zz{|{{|{{{z{zzz|{{{{{{{{|z{{zzzzz{{{{{{{{{{{zz{y{z{|z{{{|{{{{{{zz{{|{{|{{{z{{{zzz{{{|{{|{{{z{z{|{{|{{{||{||{{{{{|{|||||||{{{z{|{{{|||||{|{{z|{{zzz{|||||{|z{||{|{|{||{{|{|{z{{||z{{{|{|{||{{|{z{z|||||||{|z{zz||{|{|}||||{{{|{zz{||{|{}||{|{{{{{{||{z}{{{|z{{{{{{{|{{||{{{|z|{zzzz{{|{|{}z{zz{zz|{z{{||||{{{z|{|z{|}||}|}{z|{{{z{z{|||{|||{zz{z{{{{||{{|{{{z{z{y{{{{|{{|{{{zzz{zz{z{{{|z|{y{{zzzyz|{|{{{|zzyz{z{z{{{{z{|{yz{z{{z{zz{|z{{{zz{yzzzz{|{|{{{{{zz{z{{z{{{|{{{{z{{zz{{{|{{{{{||{{{{yz{zz{{{z{z{|{{zz{{zz{{{{|{{z{zzz{y{z{z{{{|{zz{z{z{z{{||{{|{{zzz{{|{{{{|{{||{z{zzzz{z{|{{{|{{zz{{z|{{|{|z|{{|zzz{{z{|||{{{{|yyz{zz{{|{{|{||{{{z{{{z{|{{{||||z|{{|{|{{{{{||||{{{|{y{z}|{{{{|||zz{zz{{{{{||}{{{{|{{{{{{|{||||||{{{{{|{|}||{{}||z||{zz{||{|||||{{zz|{{|{|{}||||{|{{|{|z|{|{}{||{{{z{|{{{|{||||||{z{|z{z{|{{{{{{{{{zz{{z{z|{z|}||{{{{{{z|{{{|||}{{{{|zzz{zz{|}||{{zz{{{{|{{|{{||{z{z{z{{{{{|{{|||{{zz{y{{|{|{{{{zz{zy{zyzz{z{{{{z{zzzzzzzz{{z|{{z{y{yzz{{z{z{{{{z{z{zzzz{z{{{{|{{zzzzzy{{z|{{{{{{zy{zzzy{{{{{{{{zzz{zz{{zz{zz{z|{zzz{yzzz{zzz}|zzzyzz{z{y{{{z{{|{z{y{zzy{{|{{{|{{{z{{zz{{{{z{||{{zz{y{{zz{|{{{|{{z|zzzz{z{|{{|{||{|z{zzz|||{{{{{{zz{zzzyz{{{z}|{{{{z{{|z{{||{||{|{{|{{{{{{z||}}|{{{}|z{{{||{|{|}{{{{{{{z|{{{{|}|{{|{{{{{{|{||{|||{{{{|zz|{|{{||{||{{{{{{|||{|||{{zz{{{{{{{{{||{||{{zzz{{{{||{|}{{{z{{z|{{|{{{{||zzz{{z{{||z{{{||{zzzzz{z{{||{|||{{{{{z{z{{{{z{|}{{{z{{{z{{{{z{{|{{{{z{{z{|{{{{|z{{z{zzzz{{{{z{{{{{zzzzzy{|{{{{{|zz{{zz{zz{z{z{|zzzz{{{yz{z|z{{{{zz{zzzzzz{{{z{{{zzy{z{zy{{{{{{{zzzzzzz{{z|{{{{zzzz{z{zzzzz{{zz{{zz{z{y{zz{zz||zz{{{y{zzyz{zz{|{zzzzzzz{y{{{{|z{{{{{zzz{z{{{{{{{|{{z|zz{z{{{{{z{|zz{zz{zzz||z{|{|{zzzzzzz{{{{{{{{z{z{z{zz{|{z{{{{zzzz|z{{{{{{||{|z{{{{{zzz|{||||{|z{z{z{{{{{|{||{{z{{|{zz|{{{|{{{{{{z{z{{z{|{{{||z{{|{{{{||{|||{||z|z{{|||{|{|}|||{|z{{{z|{{||{{|{zzz{{{{{{z|{{||{z{{{{z{z|{||{{|{zzy{zz{{{|{|{|{{{{zzzz{{|||{{|z{{|yz{yz{{|{{|||{{{{{zz{|{{{{{{||{{{{{{z{|z{{|{|{{zyz{{z{{{{|{||z{{{zzzzz{z{z{{|z|{zzyzyz{{z||z|zzzz{zzy{{z{z{{{{zzzzyzz{{{{z{{{z|zz{zzy{zyz{{z{yzz{{y{{y{{{{{{{zzyzyzzz{zzz||{zz{zzzyzzy{|{{{{{z{zz{zyz{{{z{{{{{{yz{zzy{{zz{{z{{zyz{{zy{|||{{zzzz{z{{{{{z{z{{{{|z{zzzzz{{{z{z{{{zzzzzy{z{{{{{|{zz{{{yzz{{{{{|{{zz{{{zyz{{{{zz{{{yz{zz{z{{{{{{{zz{{{{{{zz|{{|{|{z{{z{y|z{{y|{|{|||{zzzzz{{|{||{|{z{zzzz{z|{{{|||{{{z{{{{|||||}|{{z{zz|{{||{{z|{|zz{{z{z{{|{|{{||{{{{{{{{{|z|{|{{{{z{{{{{{{|{||{|{|z{{{{{{{{|{{|{{zzz{{{{z|{|z|z{{zzzzyzz{y{{|||{z{{{z{|z|{|{|||{{z{{{|z{{z{{||{||{z{zzzz{{{z{{|{|{{{zzz|{{{{z{|{{z{{zzzy{{|{z{{{zzzzz{{y{{{{{z{{|z{zzzy{|{|zz{z|{zz{zz{z{{{{{{z{z{{zzyz{{{zz{{|{{{{zz{z{{{z{{|z|{zz{zyz{{{{{{{|{{{zz{z{zy{{{zz{zzyzzzyzz{{{zz{{{z{{zzzz{|{z{{z}|{{{{{zyzz{|{z{{z{z{zyz{{|zz{{z{{zz{zzzz{|{{{{|{{{{zz{zz{{{{{|||{{zzz|{{{{|{{{{|{{zzzz{{|{|{{{{|{{{z{|{z{{{|}|{{{{{{z{z|{z{||{|||{{{z{{{z|}}{|{||||zzzz{{z{{||||}{z{{z{{|{{{|{|||{z{{z{{{{|||||}}{{||{{{{||{|||{{{{||{{{z|||{{|||{{{|{{||z|{|}|||{{{{{{{{z||{{{||{||{{{{z{{z{|{||{{z{zz{{{||{{|{{{|{{{{|{{|{{{{{}|z{{{z|{{{||{|{||{{zz{{z{{{{{{{|{{z{z{z{{{|z{{{|||{zzzzz|{|{{{z{|{zzz{{z{z{zz|{{{yz{{zzzz{{zzzz{z{zzz{z{{{{{|{{{yzzzzz{{{|{{||{zzy{{y{{z{z{yz{{{z{zzzzzzz{{z||{|{zyzyzzz{{z{z{|{z{{{z{zz{{{{zzzzzzzzz{yz{{zz{{{{|z{{{{z{z{|z{{{{z{{zz|zz|{{z{{{|{z{zyy|z{||{{{|{{z{z{z{z{{{|||{|{z{z{{{{{{z{z{|{{{{z{{{{{||{{{|{{{zz{|zzz{||}{|{{{{{zz|z{{z{|{|||{{z|z{{{||}{|||{{{{{{{{{|||{|||{|{z{{|z{|}|{{{|{{|z{{{{{{{}|{|||{{{{y{|{||{{|||{zz{{{z{|{||||||{|z{{{{z{{{|||}|{|{z{{{z{{|{{|}{{{{zzz{{{}{{{{{{{zzzz{{z{{z{|||{|{{{{{{{{|{|{|||zz{{{zz{|{{|{|{{|{{zz{{{||{{|||{{zz{z{{|{||z|||{{{{zzz{{||{|{z{|{{z{zyzz|{|{{{{{zz{z|z{z{{{z{{{{{zzzzzz{{{zz{{{{{zzzzzz{z{{{{{||{{{{{zzzz||{{{||{{{|{{{z{{{{{{{{{zz{{z{z{{|{z{{{zzzz{zzzz{{{{{zz{{{z{{z{|{{{{{||{z{z{zzz{{{{||{{{{{zzz{{{{{||}{{zyzzzz{z{{z{z{{|{{{{{{{z{|{||{||{{{zzz{z{{|{{{||{{z{zz|z||{|{||||{{y{zz{|{{{{||{{{{{{z{{{|{}{||{|{|{{z{{{|||||{||z{{z{{{||}|||{||zz{{{|{||{||||{}zz{{{{{{|}}}{|{}{|{|{z{{{{|{|||||{{{{z{{||}|{}}{z{{{z{{|{{|{||{{|{z{z{{{{|{|||{||{z{zzz|{||{{||z|{z|z{yz{z{|{{{{{zzzz}z{{{z{{|||z{z{z{z{|{{||||{{z{zz|{{{{{z{|{z{{z{yz{{|||{{{{{zzzz{zzz{{{{|{{{{{zzz{zz{{{zz{zzz{{{{zz{z|{z{{{zzzzy{zz{{{{{z{|zzz{{zzzz{z{{{|{zzzz{{yyz{|{|{{{z{{{z{zy{{{z{{{{yzz{zzzzy{z{{z{zyz{yzzzzz{{{{|{{zzzz{zzz{{{{{|{{{{z{zy{{{|{{{|{{zz{{zzzz{|{{{{|{zzyzzzz{{{{{{{||{{{{zzzz{{{||{{{{{{{|z{{{|{{|{{{{{{{z{z{{|{|z{{|zzz{{z{z{|{{||{{z{{|{{{{{{{{||||{{{{zz{{|||{{|{{|{zz{zzz{|{{|||{z{zzz{|{z{z||||{{{{z{z|zz||||||{{|{{{{{{|{{{||||{{{{zz{{{|{{||||{{|{{{{{{{{{||||{yz{{z{{|||{{{|{{{z{{z{z{|{|||{{{{{{zzzz{{{|{}||z{{{{{{{{{||{{{|z{{{zzzz|{{{|{z{|{zy|z|{{{{{z|{{{{{z{{zy{{{{zz||{{|zz{zx||{|{{||zyz{{z{{{z|z{||{{zzzyz{z{{{{z{{zz{{zzzzzz|yz|{{|zyzz{zz{{|{{{{{{{yyzz{zzz{{{z{z{{{{zyzzz{zzz{{|{{zzzzz{y{z{{z{{{{{{zyzzzz{{z{{{{{{zzzzzz{|{{{z|||{{z{zzzz{z{{{z{{zzzzz{z{{z{{{{}zzz{z{z{{{|z||}|{{|{{zzz{{{z{|{|{z|z{{{{{{{z{{|{{z{z{{z{{{{||z|{{zz{{zzz|{{{|{{}{{z{{{{{||z{{|}}{{z{z{{z{|||{||{|zz{|{zz|||{{||||{{{|{{{||{{|{{|{{z{z|{{{|{|||||{z||{{{|||{|{{{||{|zz{|||{{|{|||{{z{{{{{|||{|{|{{{{zz{{{{{{z|{|{|{{{zzzz{{z|zz{|{{{z{z{zz{|{{}z{{{{{{{{z{{|z||{|{{{{{z{|{{{{{||{{{zz{{zz|{{z{|{{||{{z{zz{||{z{|{{{{zzzzz{z{z{|{}|z{{zzzzz{|{z|{{{z{zyz{{{z{zz{z{{{{zzzzz{{{{{{{|{zzz{{zz{{{|{z|zzzz{yzy{{{{z{{{{z{{zzzyz{{{|{|||z{zyzzz{z{z{{{{{{zyz{zzz{|{{{|{{zz{{z|zz{{{{{{|{{zzz{{{zz|{{{|{|{zz{{z{{{{{z{}||{{|zzzz{z{{z|{|{{z{z{{{{{|{{{|{|{|{zzz{{|{{z|{||zz{zzz{z{|}{{{{|{|z{{{z{||||{|{{|{{|{{{{{{{{{{||{{|{z{z{{{|||||{|z|{{{{z{|{{{|{|z{|{{{{{||{|{|{||{{{{|{|{|||||}|||{{{{{z{{||{|}||{{{{{{{|{|{{{|||{{{{zz{|{{||}||{{{z{{|{{|{|{{{{{z{{z{{z{|||z{||{{{{z{z{{{{z||{{{{z{{{|{{|{{{{|{|{{z{{{{|z{{|||||{z{{zzz|{|{{{|{{{{z{zz{z|{|{{{{|z|zz{{{z{|{{{{{zz{y{z{z{z{|z{z{{z{{{zyzz{|z{{{{{{zzz{zz{z{|{z|{z{z{yzz{{{{{z{{{zzz{{zy{{z{{zz{|zzy{y{yz{{z{{{|{{zz{zzzz{{{zzz{z{zzz{{{z{{{{{{|{zzzz{{{zzzz{|{{{{z{{|{yz{z||{z||{zzzz|z{{||{z|{{z{{{z{{{{{{z{{{z{zzzzzzz{{{{{||{{{{|zz{{|{|{{{|{{z{{{{{{|{{{{z{{{{{{{{{{{{|{|||{|{{z{{{{{{|{{|{|{{z{z{zz||{}{{||{{|{|z{{||{}|}|||{{{{{{zz||{}|{}{{|{|{{{{|||}||}|{{|z|{z|||{{|||{z{zz{z{{{{{|{|||{{z{{z{|{{{|{{|{{{{{z{{{|{|{|||{zz{{|{z{||{{|||{||{{zzzz{|z{|{|{{|{{{{z{z|z{{{||{{{{{z{|{|{{{|}|{{zz{z{{{z{{{{{{zzz{zz{z{{{||}z{z{y{{zz{{{{z|{{zz{yzz{z{{{{{|{z{{{zy{zzz{|{{|{{{z{zz{zz{z{{z{{|z{yzzyz{{{{{{||{{{{zyzyzz{{{{{{{zzzzzz{z{{||{z{{{{{zzz{yz{|z{{{{zzzz{zzzy{{|z{z{z{zzzz{{{{zz{{{{{{zzzz{{{{{{|{{|{{{zzz{z{{{{||||z{{{z{z{z|{z{{{{zz{{{{zz{z{}{|{{|z{z|{z{{|{{{{|{z{||{z{{{{|{{|z|{{{zz{{{{{||{{|{{{{{{z{||{{}{}||{zz{{yzz{{|{{{|{|zz|zz{z{|{{|{}|{|{zz{{z{{{|{||{{{z{{|z{{||{|{{|{z{{z|z{|{|{||||{{{{z{{z{{{|{{|{{{{{{{{|z{||{{{}{{{z{{zz{||{{|||{|z{{{{z{{{{|{{{{z{{{y{z{|||{{{z{zzz{{zz{{|{{{{{|{{z{|yz{{zz{{{{{|{z{|{y{{{{{|{{{{zzy{z|zz{|{{{{{{{yzzzzz{{{||{{{z{zy{zz{{zz{{|{zz{zzzzzz{{z{{{{z{zzz{zz{{|{z{{{z{zzyzzz{{{{{{{{yyyyzyzz{{{z{{{z{zzz{zzzzz|{|z|{{zzzzzzzz{{z{{zz{zzzyzzyz{{{y{{{zz|zzzyz{{z{{|{zz{{z|{{z{{{zz{{{{z{{yy{z{{z{z|{{zz{zzz{yz{{{||{{{z|{{z{z{{{{{{|{{z{z{z{{{{|{{|{{zz|{zzzz{||{{||{{z{{z{{{{|{|{||{z{{{zz{{|{|{{{{|{{{{{zz{|||{|{|z|{z{{z{{|{||||||z{z{|{{|{||{{{{}{{{{{z{{{{||{|{{|{{{{z|z{{||{|z{{{{{{z{z|{||{{|{|{z{{z{{{|||{|||{{{{{{z{z{{{{|{||{{zz{{{{||{{|{|{z|z{z{z{{{{z{{|{zz{{{{{{{{{{z|}{{{{{{z{z{z{{{{{{zzzzzy{{z{{{{{|zzz{z{zy{zz{{{|{{zzyzz{z{{{||{{|zyzzzz{zz{{z{{|zzzzz{zzz{{zz{{zzz{yzzzzzzzz{z{{|zyyzy{zz{{{z|{{{yz{zzyzz{{zz{{|{z{zz{zzzzz{|{z|{zz{z{zzyzz{z{|{|z{zzzzzzz{{zz{{{zzzzz{zz{zz{{|z{{zzz{zzz{{{{zzz{{y{{yyzz{{|{{{{|zzz{yzzy{zzzz{{zzz{yz{zzz{{{|z{{{zz{{zzzz|{z{{{{|zzzz{{|{{{z{{{|{{{zy{z|{{||{{{{{z{{{z{{{{||z|||{{z{zzzzz||{{{{{{{{{{{{z|{{{z||{{|{{{{{{{|{{{{|||z{{|{{{||{{||||{{{{{{{{|{{|{|||{{{{{z{z{|{|{||||{zz{zz{|z{||}{}{{{{{zz{{{{{{{{{{{{{|{{{|{z{{z|{z{zzzyzy{{{z{{|{|z{{z{z{{|{|z|{|{{{{zy{{z{|{{|||{{{z{zzz{{{|{z|{{z{{{zzz{|||z||{{z{zzzzz{{{{{{{{zzzzzzzz{{|{{|{{{z{z{zzz{{z{{{{z{{zz{zzz{z{{zz{{z{zzzyz{{{z{zz|{{z{zz{zzzz{{|{{zz{{z{{zzz|{zz{{{{zzz{z|z{z{{z{{{{{{zzzzzzz{{{{|{{zz{yzzy{{{{z{{{{zz{zz{z{{{{z|z{{zzzzyz{||{{{|{}z{{zzz{{{{{{|{{|{zz{{z{zz{{z{{{{{{{{{{zz|{{{{{|{|{{{z{{{|{|{{|{|{zz{{{{z{{{|{{{|{y{{|{{z{|{|{||{{{{{z{{{{|||{{|||{{zz{{{|{{{|{|{{{z{{|{z{{{{{||||z{|z{{zz||||{|{{{{{{|{{||{{{||{{z{z{{z{|||||||}{{z{{z{{}|{{|{||{{zzzzz{z{|{{||{|{|{{z{z{|{{{{|{zz{yzz{z{z|y||{{{{z|{z{{z{{|{|{}{{{{z{{z|{{{{||{{{zzzz{{{{{{|{{|{{|{{z{z{{{|{{{{z{{z{zz{z{z{{|{{z{{zz{zz{|{{|{{{zzz{{{z{{{{{{{zz{|z{z{z{{z{{{{{{{zzzzzz{{z|{{{{{{z{{zzz{z{{{{{|{zz{yzzz{{{{{{{z{{zz{yzzzz{z{z{||{z{zzz{yz{z{{||{yzzy{z{z{|{{{}z{{{{{{z{yz{{{{|{{{{{z{y|z{{zz{z||z{{z{z{{z{{{{{{{{z{z{z{z{|{{{|{{{zzz{{zz{||{{{{{|zz{{y{{|{{{{|||{|{z{|{{{|{}{{|{{|{{z{{{|{||{||}{{{{{{{{|{{|{||||{{z|{z{|||{||||{{{{z{||{|||{}{|{{|zz{{z{||||}}|{{|{{z{|||{|{||||{{z|{{{{{{|{{|}|{{{|z|{||{{||{|{|{{{{{{{||{{{||{z{zzzz{{{{{{{||{{z{{z{z{|{z|z{|{zz{{zzyz{|{{{|{{{zz|{zz{{{{|{}||{{z{{zz{{{{{{{{{{z{{z{{{{{z{{{{z{z{zz{y{z{{{{z}{z{{zzzyzzz{{{{{{zzz{zz{{{{{zz{|zz{{zzzzz{z|{{{zyzz{zzzz{{{{{{{{zzz{z{yz{{{{{|{{{zzzzz{z{{|{z{{{z{zz{z{y{{z{z{{{{z{zzzzzzzzz{{|z{z{zzyzz{{||{{{{z{{{zz{{{{{{z{{{{{{zzzz{{z{{{{{|z{{zzzyzz{{z{{{{{|{zzz{zz{{{||{z{z{zz{zzzz{|{{{{{zz{zz{{{||{{{||{{z{z{zz{{{{{{{}z{zz{{{z{|||{|{|{z{{z{{{{{{{{||{{y{{{z{{||{{|||{|z{z{||{{{{||||{|z{{{{|{{||||||||{{|zzz{{|{|{{|||{|{|z{|{{|||{{|{zz{zzz{z{{||||{{{{|{{z{{|z{{{}{z{{{z{zz{|{|{{|{{zzzz{{{z{{{{|{{{{zz{{z{{z}{{z{||z{{{zz{|{|{{{|{|{zz{z{{{|{|{{|{{z{y{{zzz{|{|z{|{z{yy{{z|{{zz{{|{{zzzz{{z{{z{{{{{zzzyz{z{|{{{{|{zzzz{zz{{z{{{{{{zz{z{yzzz{{{z{{zz{{zz{yz{z|z{z{{zz{zzzz{z|{{{{{|{zzzzy{y{z{{z{{{{zz{z{z{zzz{{{{|zz{zzzyz{z{{{{{|z{zz{z{z{{{{{{|zzzzzyxzz{{{z{{{|{z{zz{{z{z{{z{{{{zyz{z{{|{{|{|{{{{{{{{zzz{{{{{||{zzzz{z{z{{{{|||{{{z{{z|{||{|}{|z{{{|z|{|{{||||||{{{{z{{|{|{}|{{{z{{{{{z{{|{||{|{|{zz|||{{{|||{||{{{z{|z|||}|||{{{||{z{{||{|||||{{|{z{z{||{{||{}{|{{{z{{}{{||{{|z{{y{zzz{{{|||}|{{{zzz{z|{|||{{|{{{{z{z{zz{{|||{{{{z{z{z||{{|||{{|{z{y{{{{|{{|{{z{{{{{zy{{{{{}|{{z|{{{zz{{||{{|{z|{{zz{z{||{z{{{zzz{{z{zz{{z{{{z|{zzz{{z{z|{{{{{z{{{z{z{z{{{{{{{{z{{{zz{z{z{{z{{zz{zz{z{z{||{{{{z{{zy{zzz|{{{{{{{{{{z{zzz{{{||{{{{{z{z{z{{{{{{z{z{{{{z{{z{|{{{|{|zz{yyzz{{{||{{|zz{z{z{z{{z{|{|{{z{{z{zz|z{{{|||{{{z{z{z{|{{{|{{zz{z{z{{|||{{{{|{{{z{{{z|{}{||{{{z{{|{{z|{{|{|{|{z{{|{{|{||}|{||{|{{{|{{||{||{|||{{{|{}{|||{||||{||z{|{{{|{||||||{{{||{z{}{}{|{||||{{{{|{{{|}||{|{{{{{z{||{|{|||{|{{{{{{||||{||}{||{{|{{|{{|||||{{zz{|z{{|{|{{{|{{{{{z{{{{{z||{|z{z{{{zz||}{z{{{{{{{{zzz{{{{{||{{z{{z{{{{{{{|{|||{{{{{z{{|{{{{{|{{|{y{zzz|{{{{{|{|{y{{zy{{{{{{|{{z{zzy{{|{{zz{{{{{{zyz{{{z|{{{{zz{zz{z{zz{z{{|{{zzzzzzzzz{{{{|{{zzz{z{{zzz{z{z{|zz{{zz{zzzz{{{{{zzzz{zzzz{zz{{{{zz{zz{zz{|z{{|z{{{zz{y{y{{{{|||{{{z{zzzz{||{{z||zzz{zz{z{{|{{|{{{{|{z{{{|}|{{{||zzzzy{{{{{{||{}{zzz{z{z{|{{|{{{{z{z{z{{{{{{}|{|||{{z|{|z||{|{|||{{{{{{zz{||{{||z|{{|{z{{{|{||||||z|{|||{{|{{|{|}|{{{{{{|{}||}{||z{{{z{{{|{|{|||{|{{{{{z|{{{|||||}{{|{{z{|{||{||}|z{z{z{z|{|{{{|{{{zzz|zz{|{|{|||{{|zyzzz{{{zz}z{{{z{{z{zz||{||{{z{{zzz{{||{{{{|{{{{zzz{z{z|{{{|{{{{{{zz{z|||z{{{zz{zzy{z|y{{{|||{zzz{{z{{{{|{{{{{zzz{{z{z{{zz||zzzzyyzzz{z{{z{|{z{{{z{{zz{{{z{|{z{z{zzyzzz|{z{{{{zzzzzyz{z{{{{{|{z{{{z{zy{{zz{{z{|{z{z{zz{{{z{|{{yzz{{{y{zz{{|{z{{z{z{{z{{{{{{|{zz|zzzzz{{||{{{|{{{z{z{{{{{|{{|{{z{zzzzzz{{{|{{{{{{{z{{z|{{|{{|{z{{z{z{{{|{{{{{{||z{{{{{{{}{|{{|zz|{|{{z|{{{{z||{{{{{zz{|||{|{{||{{{{{{z{}|}|{|||{z{{{{{||||||{{z{{zz{{{{|{|||{|||{{z{z{}{||{}|{{{z{{{{{|{{|||||{{{{{|{{|{||{{||{z|z{{zz|||||{{{z{{{zz{z{{||{{||{z{{{z{z{{|z{|{{z{{zzzzzz{{{|{{zz{|zz{{{{{{{||{{{z{{{zz{||{{{{{|zzz{{zz{{z{{{z{{yzzzzzzz{z{{z{||zzzzzz{zz{{zz{zz{z{zzzz{{{{|zzzzzy{{yyzz{{z{{z{|yzzyzzz{z{{{{{{{{yzzzz{yz{{{{{zzzzzzzzxzz{{{{z{{zzzzzzyyzzzzz{{zz{zzzyzzz{{z{|{zyy{zz{zyz{z{z|{z{{zz{zzz{zz{z{{{zz{{zz{zz{{{{{{{y{{zzzyzz{{{{{{{{{{{{zzz{{z{{{{{{zzz{{zz{{z{{|{{zzzz{z{{{{{{{{{{{{zz|{z{|{{{|z|{y{|z{{{{z{||||{{|z{{{zzzz{|{|{|{{{{{{z||{||{|{{|{{|zzz{|{{{||{|||z{{z{z{{|{{{||{{z|{{z{{{{{{{{|{{zz{z{z{|{{||{{}{{z{{{zz{|z|||||z{z{{{{{z{||{}|{{{z{zz{{{||{||{||zzz{zzz|{{{z|{|{{|{z{{{z{{|z{{|zz{{{zz{z||{{|{|z{{y{{zz{{z{{|{}|z{z{z{z|z{{{{|{{z{zz{z{{z{{{{|{z{{zzzzyz{{zz{{{{z{zz{z{z||z||{{z{zz{zyy{zz|z{{{zzzz{zzzz{{{{{|{{zzz{zyzz|{{{{z{{{zzy{zzz{z|{{{{zz{z{zzzzz{z{|{{z{zzzzyzz{{{|{{zz{zzz{{{{{{|y{{|zz{zzyz{{|zz{|{{zy{{zyy{{{z{{|{{zz{{zzz{||{z{{{{{{{{z{{yz{z{{|||z{{{zz{{{{{{{{{z{z{{{{{{{|{{{|{{{zz{z{zz{{{|{{||z{{|{{{||{{|||{}{z{z{{{z||{|{|}||{{{{{{{||||{}{{|{z{z{||{{{|{||{|{{zz|z{||}|{|{|}z{{|{{{|||{{||{{{{z{{{z{{{{{|{||z|z{zz{|{{{|||{z{|{z{{{{|{{||||{|{z{{{z{{}{|{{{z|{{zyz{|{{{z{{z{{{zzz{zz|{z{|{||z|{{zzz{{|{|{{|{{zzyzz{{{zz{{|{z{{z{zz{{{{{{z|{zzzz{zzz{z{|{{{{z{{zz{zzzz{{z{{||{zzzzyz{{{zz||{zzyyz{zz|zz|{{z|{zyz{yz{zz{zz{{zz{{{zzzz{{{{z{{{zzzzzzz{{{{z{{|{zz{yzzzzyzz{y{{|{zyzzyzzzz{{{{z{{z{{z{y{{{{{zz{{{{yzzzz{{{{z|{{z{{zzzzzz{{|{{{{{zyzzyzzy{{zz{|{{{z{{z{zz{{{{{{|{{z{zzzzy||||{{||z{zz{{z{{|{{{|{|zzzz{z{zz|{{{|||z{{{{{{{{{{|{|||{{{|{{{zz||{|{{}{{{{{{z|{||{|{||{{{|{{{{{{|{{|{|}{{{z{||z|||{{{||{|{{{|{||{{|||{{{{{|zz{|z{|{{|{{{{|{z{{||{|z{|{{{zzz{{z{{{{z||{{{y{{{{z{|{{{|{{z{{z{z{{{{z|{}{{{{{z|z{|zz|z{z|{|{{z{yzzz{{{{{{{{z{zzz{z|z|{{{||zzzzz|yzz{{zz|{{{z{zzzzzz{{{{{{{{zz{z{zz{{{{{{{{{{{zzyz{{{|{{{{zzy{z{zz{{z{{{{{{zz{yz{zzzz{z{{{{zy{zzzz{z{{z||z{{zz{zzzz{{{{z{{{{{{zzzzy{{{{|{zz{{zyzz{{z{z{{z||zzzz{zzyz{{{{{|z{z{z{zzz{{{{{|{{{z{zyz{z{z{{z{{|{{{zzzyz{{{{|{{{z{z{zy{{{|z{|{{z{zz{{z{z{{z{{{||{z{z|zz{|||{|}||{{{{{{{{{||{||{|z{zy{z{|||{|{|||z{{{{{z{z{||z{|{{{{{z{{{}|{||||{|{z{{z{{{||{|{||||{z{{z{{|||{{{|{|{|{{|{{|{|}|{{{{{{z{{}{{|{{{{{{{{{|{{{{{{|||||z{{z{{{{{{|{{{||{z|{{{{z{{{{{{||{||zz{zz{}||||{{z{{{{{{z{{{{z{{{{zz{{|zzzz{{|||}z{zz{{{{{{{|{{{|{z{|z{z{{{{|{{z{{{zyz{{z{|{{{{{|z{zz{zzz{{|{{{{||{{{{zzzz{{{{{{y{zzzzzyz{{{{{|{|{{zzzz{zz{{{z|z{z{{z{{z{z{{{|{|{{z{zzzz{{{{|{{{{{z{zzz{z{z{{|z{|{{{zzz{y{{|{z{{{{{{{{zz{{|z{{{|{{zzzzzzz{{{{{{{{{{z{yzz{|{{{{{|{{zzzzz{{|{{{|{{{|z{{{z{zz|{{||zz|zz{{z{z{||z{{|{{zzz{|{z{{|{{|||z{{z{{z{||{||||{{{zz{z|{{|{|||}|z{{{{{{{{||||||||z{{{{{{|{|{||}|{{{{{{{{{||{|||}|{{{z|{{{}{|||}z|{||{{{{||{{{{{||{|z{zy{{|{{{{}||{{{{z{||{||||{{{{{z{{{{|{|{|{||{{||{{z{z{{{{|||{z{zz{zz{|{{{|}|{{{zzz{zz{{|{zz{{zz{{{z{{|{{{{{|{{zzzzzz{{|{{{|{y{z{{z{{{{{|{|{{{{zz{z{z{||{{{{|{{{{{zzz{|{{z{{|{z{{{zzz{|{{{{z{zzzzzz{{{zz{|{{|zyzzzz{{{|{{{{{{z{zzzzz{{{z{{{|{{z{{zzzz{{{{|{{{{{zzz{zz{|{z{z{{zzzz{z{y{{zz{{{{{zzzy{y{z|zzz{{|{{zz{yyz{{|{{{{{zz{z{zz{z{{{{{|||zzzy{{|{{{{{|{{{z{{{z{{z|{{||{|{z|z{zz{||{{{{||{yzz{{{|{|{|||{{{z{{zz{|z{|{|||z{{|z{{{{{{{||||}{{{{{z{z|{|{}||||{{{{{{z|||{||||{{|z{{|{||||}}|{{{|{{{{||}||{|||{{{|{|{{{||||||{|z{z|z|{{{||}|||{{{{|{z{|{{{|{|||{{{{z{{{|{|{{|}|{{{zzz{{{{{|{||{{{zzzzz{{|z|{{{{{{z{zzy||{|{{||{zz{yzz{{{{{|{{{|{zzz{zz{{{zz|{{{|z{{z{{{{{|{{|z{{{zyz{z{{z{{{{|{zyzyzzz{{zzy{zz{{{zz{zzz{|{{|{z{{{zzzzz{zz{{z{{zyyzzzzz{zz{z{{{{z{{zzzzz{{zz{{{zzy{zy{{z{z|{{|{z{zzzz{yzzzzz{{{zz{zz{{z{zz{{{{{zy{{z{zzzzz{{{{z|{zz{z{z{|{{{{{{|{{zzzz{z{z||{{|zzzz{zzz{zzz{|{zz{z{z{zz{z{{{{{{{{{zz{zzzz{{{{|{{z{z{zz{{|{{{{||{{z{{{zz{{{{||{{{z{z{{{{{{{|{}{||{{zz|yz|{}{{{||{z{{{{{z|||{{|}|{z|{{{{||{z{}|{||{{||{{{{|{|||||{{|{|{{z{|{|{||{|z{y||{|{{||||||{z{{|{{{|{{|{{|||{{z{{{zz{{{||{|{{y|{z{z||{|z{}{{y|z{zzy{{|||{{|{{zz{zzzz{{{{{{{|{z{zz{zzzz{z|{{{zzy{zzz{{{{{{{{{z{zzzz{zz{{z|{|{{{zz{zz{z{|{{{{z{{z{{z{zzz{z{{{{z{z{{z{z{{zz|z{zzzzzzyz{{zz{|{zzzzzzzzy{|zz{{|zzy{yz{yzz{|z{|{{|z{z{z{y{{{{z{}{{zzz{z{z{|z{{{{{{zzzzz{zz{z{zz{{zzzzzzyzz{||{{||zzzzyy{z{|z{{|{|zzzzzzz{{{zz{||{zzz{yzz{{{|{{{{{{{{|{z{{{{{|{|{{|z{{z{z|z{{z|{|{{z|{|{{{{|{{z{{{{zz{|z{{{{|{|z|{{z{{{{{{{|{{{{||{z{z{zzz{{||{{{{{z{{{z{{|{|||||{{|{zz|||||z{|||{}{{{z{{{{||{||||{z{{{{{{|||||z{{{zz{{z{{{{{{|{||{{{{{|{{{|{|{{||z{{zz{z|{{{|{{{{|{z{z{zzz{|}{{{|{||z{zzz|z|{{{{{z|{yzz{{{{|{{{|z{{z{z{{z{{|z{|{{z{zzz{z{{{{{z{|{zz{{zz{zz{{|zz|{{z{zz{zz{{|{{|{{|zzzzzzz{{|{{|{{z{{{zzzz{zz{zzz{zzz{{zy{z{z{{{{{{yzzzzyz{zzz{z|{zz{zz{yzz{|z{z|{zz{{{zzz{z{{{{{{|yzzyzzyzz{zz{zzzzzzz{{zzzzzz{{|{z{{{z{z{{z{{{||zzzzz{{{{|{{{z{{z{z{z{z{|{zz{{{{zzz{zzz{{}{{z||{{z{z{zzz{{||{{z{zzzyz{{{z||{{z|z|z{z{zz{{|zzz{{{{zzz{{z||||{{}|{z|{z{z{||{z{|{{{|{{z{z{{||{{|||||{{z{{{{||{|{|}||z{{{|{|{|z{|{|}|{{{{z{{z|{|}}}{{{{{z{z{{{{{{{|{|zzz{{z{{|{{{|{|{z{{{{z{|{|{||{{{{zz{{{z{{{{|{{|{{z{yzz{z{{z{z{{zz{zzzz{{|{z{{|{{{z{{{zz|{{z{zz{zz{{{z{zz{{{{{{|{{zz{zzz{z|{{{|{zzy{zzzz{{{zz{z{{{zzzz{zz||{z{||zz{{zzzz{|zz{{{{zyyzzz{z{{{{{zz{{zzy{{z{{z{|zzz{{{zzzzzzz{{yzzyz{yzzzzzzzz{z{{{{zz{zy{zyz{{z{z|{{z{zzzzy{{{zz{{z{zzzzyzyz{zzz{z{zz{zzzzyzyz{{z{{{{yz{zzz{z{{{|{{{zzzzy{z{z{{z{{{z{{z{zy{{{{{{}{|{{{zzzzz{{{{{|{{zzzzzzz{{{{{{{{{{zzzzzzz|{{z{{|{{{z{{zz{{{||{{{|{{{z|z|z{{{||{{|{zzz{{z{||{{|z{z{y{z{{{|{|{{{{|{{{zz{{{{{||{{{|{{{|zz{{{{||{{||{|zz|{{{|}|{{{z{{{{{{{{z|{{{||{||{{{z{{{{{|{{{{{{zzz{zzz{{z{||{}{{{{z{{{z{{{|{{{{|{{z{zzz{{z{{{|{{{z|{z{{{{{z|{{{{{zy{{{z{{{{||{{z{zz{z{{{z|{{{{{z{{zz{zz{|{{z{{{zzzzz{{z{{{{{{{{zz{{zzzyz{|{z{|{{zzy{z{z{{{z{|{{zzzzyz{{zz{{{{{{zzzzzyzzzzz{{z{z{z{{yzyz{|{z{{z{{{{{zzzyzz{{z{{{zzzz{zzz{{{{zz{{{{zy{z{z{{|{{{|{{z{zzzz{z{y|{{{{z{zzzyzz{{{z|{z|{{|z{z{{{{{{{|{{{{zzzzzy{{{{||||{zz{y{zz{z{{z|z{{{{yz{z{{|{{|z|{{zz{zzzz|{{{z|{{{z{z{{{|{{{|||{{y|{z{z{{{|{||z{|{z{{|{{z|{|{|{|{|{{z{{|z{{{{|||{zz|zz{|{{||{|{|||{{{{{zz{||{|||{|{{z{{{{{{{{|{||{{{{{z{{||{{z|z{|{z{|zz{{{|{{|{{{z{z{{{{z|{||{||{z{{{{z{{{{{|{{|{z{z{{zz|z{{z{||zy{y{{{z{||z{{|{{zzzz{zzz{|{{z|}{{zz{{{{{z|{z||{zz{zyzzyz{{|zz{{zzzzzzzzz{{zz{zz{z{yzyzz{z{{{{{z{zzzz{zzzz{z{{{z{zzyzzzz{{z{{{|{zyz{zz{zzz{{z{{{{z{zyyyz{{zz{{{zzzzzzzzyz{{{zzzz{zz{zzzzzz{{z{{{zzzy{zzzzz{{z{{{{zzzzzyyz{z{{{||{{{{yzzy{{{{{z{|zzzzzzzz{z{{{{||zzz{{zz{{{{{{{|{zy|{{{{z|{{{||z{zzzzzyz{|{{{{{{z{y{||zzz{{|{{{{z{{z{{{z{z{|{||{|{{{{{{{{||||{{{{zz{{zz{zz{{|{{|{|z{{{{{z|{|{|{||{{{{|{|z||{{}|{{|{|{{{{{{||{{||{zz{|{{z|{{z{{|||{{{{|{{|{{{||{||{zz{{{z|{{{{{|||{|zz{{{{{{{{||{|{zz{zz{zz|{||{{{{{{{zy{zzz||{|{z{{zzzy{{z{{{|{{{{{zzyzy{{{{{{||{zzzz{z{z{z{|{{{|zz{{zzzyz{{|{{{{{{{zzzzz{z{{{{{{z{{zzzzyz{z{{z{{zy{zzzzz{z{{zz{{zzzyyzz{{{y{zz{{zzzzzzzzzz{{z{|{{zzzy{zz{{zz|{{{zyyzzz{zz{zz{{|{z{zzyzzzzz{z|{{{{zzzzzzyz{z{z{{|{zzzzzxzzzz||{{z{{zzzz{zz{{|z{zz{zzzzzzz{z{{{|||zzzzzzzzzz|{{|{{zz{{{zzzz|{z{{|{zz{zzzyz{{{{|{|{{{{zz{{z|{{z{{zz{zz{|{{zz{{{{{|{zz{zzzz{|{||{||{{z{{{{yz|||{|{{{{z{{{zz{{{|{|{||z|{{z{|{z{{{{|||{{{|{{{{{||||||{|{||{{{{{{}|{{|{|z{{|{{{{|{|{{|z|z{{z{{{{|{{||||{z{zzz{{{{{|z{{|{z{{zz{{{{{|{||{z{{{{yz{z||z{{{|{z{{zzz{z||zz|{||{y{zzyz{{{{|{||{{z{zz{z{{{z{{{{z{{zz{zz{{|||{|{{{{{{z{y{|||{z{|z{{{zz{yz|{{zz|z{y{zy{z{{z|{{zzzz|{{zzzzzzz{{{{{zz{{{zz{{{{{z{{{zzzyzzz{{z{{{{{{{{{{zzzz{{z|zz|{zz{yzz{{z{zz|z|{zz{z{zz{{{zz{{z{{zzyzzzz{zz|{z|{{z{zzzy{{{{{{{||{z{zz{{z{|{{{|{{{{zyz{{zz{{{|{{{zzz{{z{zz|{{{|{{{{{y{zz|{||z{{|{{{{y{zz{|{|||||{{{{z{{{{{{{{}|||z{{{{{{zz{z{{{||zz{{{z{{{{{||{{{|{{{{z{|{|{||{||{z{{{{{|{|{{{{{||{|{{|z|{|}|||||}{{{z{{||{{|z||||{{{{z}{{|{{{{||{z{|{{yz|||||{{|{{zz|{z{{|{|{{|{|{{{z{{z{{{{{|{{{z{{{z|z{||z|{{{{|{{zzzzz|{|{{{{{{z{{{zz{z{{{{{{{{zyz{z{{zzz{{{{{zz{|zz{z{{{z{|||{zyzz{{{z{z{|||{z{{y{{z{{{{{{{{zz{z{{zz{{{{z{{z{z{zzzzz{{z{z{{{zzzzzzzz{{{{{{|z{{zzyyzz{z{{|{{{z{{zzyy{z{z{{z{{zzz{zz{z|zz{{{{|{zzyz{zz{{{{|{{{zzzz{yyz{{{{{{}{{{zyz{{{z{{z{{{|z|zzz{{z{{{{|{||y{{{zz{{{|{{{|{{{{{{{z{zz|{{|{{{{{{z{z{{{|{{|{}|{zz{{z{z{z|{{||{|{{|{{z{{|{{|{||{{z{{z|{z|{||{||{{{{{{zz{{{{|{|{{{z{{{{z{|{{|{||{{zz{{{|{|{|{{{{|z{z{{|{{|{|{{{|{{{{{{z{{||{|{|{{zz{{{{{{{|{{||{{z{{{z{{{|{{{{|{y{{{|{z{{{{|{{}|{{z{{zzz|{{}{|{|{{{{{z{{z{{{{{|z{{z{|zyz{{{{|{{|{{zz{yz{z{|{{{{zz|{{{{{z{{{{{|{{|{zz{zzzz|{{{{{{{z{{{zzzz{{{{}||{z{{zzzz{{{{{{{{{{{z{zyy|{{z{|{{yzzzzzzz{zz{z|{{{{{z{{{zzz{zz{{{{{zz{zyz{z{z{{z{{{{{y{zzz{z|{{{{zz{zy{z{zzzz{z{{zzzzyzzzz{|yz{{{{{zzzzzzz{{{{{{|zz{z{zz{z{{zz{{|{z{zz{{z{{{{{{{{{zz{y{z{{{{z|z{{{{{z|{{zz{{|{}{{{y{{zzz{z{{{{||z{zz{{{zz{{|{z|{{z{{z{z{{{{{|{||{{{{{{{zz{|{|{{||{{zz|{z{|{|{{{{||zzzz{zz{|{|{||{{{{{z{{{|{||||}|{{{{{{z||||{}||||z{{{{z{{{|{|||{|{zz|{z|{|{}{{|||y{{{|{|z|{}|{}{{{z{z|{{{{z{{z||{{y{{{{z||z{|{|{{z{zzzzy{{{{|{z{{{{{zz{z{||{{z||{zzyzz{zz{{{{|{|{{{zz{zz{{{{{|{{zzz{z{zz{{z{zz||{{{{zzzz{{{z{{{{zzzzzzzzz{{{z{{{zzzzyzzyz{|{{{zzzzz{zzzzzz{{{||{zyy{zz{{z{{{z{{{{{z{zzzz{{{{z{{{z{z{zzyyzzz{{{|{zzzz{z{y{{z{z{{{zzzz{zzzz{{|z{{zzzz{{{zz{{z{{z{{{{yzz{{zz{{{{{{{{y{zyz{zz{{z{{{{{{{z{{z{z{z{{|{|zzz{|{{{{{{z{{{{{{{{zzzz{{|zz{|{{z{{{{{z{|{{{{{{{{z{{|z{{{{z|{{{z{|z{z{z||{}{{{}{z{zzz{{{||{||{{|z{{{z{|||{{||{|{{{z{|z{{{{{||}{|zzz{z{{{|{{|{||{{|zz{{{{||{{|}{{zz{|z{|{{|{|}|||z|{|{z{||{||{||{z{z{zzz{{}{{||{{z{{zzz{{{{|z{{z{z{z{yz{{z{{{{{zzzzyzzyz{{{{{||{{zzzzz{z{{{{|{{{{zzzyz{z|{{||{{{z{{zzzz{{{||{{{z{{zyy{zzz{{{{|{{{{zyzzz{y|{{{|{{{zzzzzzz{z{{{{zzzz{zzzzyz{{{{{z{{zzzzzzzzz{z{{{{{zyy{{zz{zzz{||{{zzz{zyzz{||{|{{zzzzzzzy{zzy{z{{{{zzyy{z{{z{z{z|zzzzz{zzz{{z{{z{zzz{zzzzz{{{{{z{zz{zz{{{{{{{{{{|{z{zzy{y{{z{{zz{{{{{yz{z{{{{||{{z{{zz{zz{{|{{{{z{{zz{z{{{|{{z|{{{z{{{z{z{{{|{||{zz{z{|{{{{{|{||{{{{z{{zzz{{|{|||zzz|{{z{{{z|{{}}{z{z{|{{{z{{|{|{|{zz{{{{{|{}|{|||{|{zzz{{{{{|{|{{z{{{zz{|z|z{|{{{{{{{zz{{{|||{|{{|zz{{{{|||{{||{{z{{zz{z|{{{{{|{{{{{|z{z{{{{{z{{zzz{z{{y|{|{{z|{z{{zzzyz{{{{||z{zzzyzzzz{{{{{||{z{zzzzz|{{|{z{{|z{zzzyzzz{zz{{z|zy{zzzzy{z|{{{{{{z{zzzxyz|{{{|{zzzzyzzyzzz||{{z{zyzz{z{z{{{{{{zz{yzzyzz{{|{{zz{zzzzzyz{zz{{zz{{z{zzy{z{z{zz{z{{{{z{yzyzzzzzz{{{z{z{z{zz{{{{z{z{{zzzyzzy{{{{|{|{{zz{zzzzz{{zzzz{{zz{zzzzz{{{zz{{zzy{{{y{zz{{zy{|{zy{zz{{z{{{{z{|{zzz{zzz{{{{{{{z{zzzz{{{{z{z{{{||{{{{z{{{{||{|{{|{{{{{z{{z{{{{||{{z{{{{{{{||||{|{{|{z{{{{{||{|{|{{{|{||z{z|||{{z||z{{zz{{{{{||{{|{|zz{{|}{|{{z|||{{zz|{{z{{{{|{{{{z{z{|{{{|{{{|||{{z{z{{z|{{{{{|z{{{zzzzz{{{{z{{{{{{z{yzy{{{{z|{{{{zyz{|zz{{|{|z{{z{zzzzz|{{{{{|{{z{z{z{y{{{{zz{{z{{zyzzzzy{z{{{|zzzzz{zzz{{{{{{{{z{zzyz{z{{{z{{z{zzzzyyzz{{z{{{|{z{z{zzz|{z{{z{{z{zzyzzzz{zz|{{zyz{zzzzzzzz|{{{{{z{z{z{z{zzz{z{{zzyyzzy{zz{z{{z{zzz|{zzyz{z{z{zzzzyzzzz{z{|{{{{{z{{zzy{{{{{{z{|{{{zyzzzz{{{{{z{{{z{zzz{{{z|{{||{{zzzz{zzz{|z{z|{zzy{{{y{{||{||{{z{zz{zzzz{{{|{|{{{|z{{|z{||{{z}|{{{z{zzz{|{|{||{{zz{|z{z{}{{}|}|{{{z{z{z|||||||{|{z{{{z{{|{||{|}|{{{z{{{{{||z|{{|z{{{{z||z{{||{||{{{{{z{z{{{|{{|z{z{{z{y{z|{|||{{z{{zz|z{|{{{{|{|{{zzzzz{{z{{z{{{zzzzzzyz{{{{{z{zzz{zzzz{{{z{|{{{zzz{|zzz{z{{{{{zz{zzzzz{|{{{|{||z{zzzzz{z{{{{{{{{zzzzzzz{{zz{{{zzzzzyyyy{{{zzz|zzzzzzyy{|{z{zz{zzyzzzzyz{{{zz{{zzzyzyzz{{{z{zz{zzz{xyyyzz{{z{{{z{zzyz{yzz{zz{{z{zzzzyy{z{{zz{{{{z{zzyzyzz{{{{{{zzzz{z{{z|{{{{{|zyzzzz{z{{{{{|{|zz{z{{zzz{{z{{z{z{{zzzzz{z{{z|{{|z{z{zz{{{{{{{|{{zz|{z{{{{{{{{{zzzz{{{{z{{||{{{{z{{z{{|{|{{||{||{z{{{zz{{{|{{||{|z{{zz{z||z{{}||zz{{{{{{{|{{||{}}zz{z{{zz|{|||{|{{{{{{{||{|{|||{{zz{{{zz{{{||{||{{{{{{z{{{z}||z|{z{{zzz{{|{}{|{|{zz{{yzz{||{|{|{z{{zzzz{{z{|z|}{yzzz{{zyzzz{{|{{z{z{{zyzz{{{{{{{z{{{z{zyz{{{{{|{{zzzzzzz{zz|zz{{{zzzzyzyz{{{{{||{z{zyz{{{{z{z{{{{zzzyyzz{{{{zz{zz{{yyzzzz{zzz{{|yzz{zyzz{{{{z{z{zz{zzzyzzzzz{z{{zzzzyzzzzzz{zz{{z{zyzzzzz{zz{{zzzzzzz{yzzz{{y{z|{z{zzzzyzz{z{|{|{zyz{zzzz|z{{|{{{z{zyyzz{zy{|{{{z{{zy{zz{{zz{{|{z{{z{y{z{{|{{{zzzzzzz{z{{z{z{|{{{{zzz{z{{{|{{{{{{{zzzzzz{{{|{{z{zz{|z{{{||{{||{}{{{{z{zz{{|{{{|{{z{z{{{z||||{||{{{{zz|{{{|{z{|||{{z{{|{{z|{{{{|||z{zzz|z{||{|||{|{z{{{y{{{|{{{|{|{{zz{z{z|{zz||{z{{{{zz{{|{|{{|{{|zzyzzz{|{|{{{{{{{{zyzzzz{{z{{{{{z{{z{{{|{|{{|{{{|{{{zz|z{{{|{|{{zzzzzz{{z{{{||{zz{{z{zz{{|{|{{{z{zyzz{|{{|{|{{{zzzz{{{z{{{|{|{{{{z{z{{{|{z{|{zzy{yyzzz{z{{z|{|zzzy{zzz{{{{{{{{zz{{y{zyz{{{|{{|z{{zyzzz{{{zz{{|zzzzz{zz{{{{{{{z|z{z{{zyz{z{{{z{zz{{z{zzzzz{{{{{z{yz{zzzzz|z{{z{z{{zzzzz{{{{{{{|zz{z{zz{{z|z{{{{{y{z{z{z{{{|{||{{{{{{{zzz{{{{{|{{{{|{|z{{{{{{||{{{{z{{z{|{|||||{z||{{{{{||||{|{|{{{{{|{zz|{|{|{{{{{zz{{{{||{|{}{{{{{{{{|{||{||{||{{{z|{{{|{{{|||{z{{{{{{{{||{|{|{{z{{{|{{{{|{{||{z{|{z{{|{{|||}||{{zz{{{z}|{||}{{z{|{z{{{|{}{{{{{{z{{zz{{|{|{{{{{{{z{{zzz||{{{|{{z{zzz{z{z{{{{||{{zyzzzz{{z|||z{{zzz{{{{{{z|{{|{{{{{z{{z{||{{|{|{zyz{zzzz{{zz|{{{z{z{yzz{z{{{{|zz{{zzzz{{{zz{{{|zz{zyzzz{zz{{{{z{zzyzzyz{z{z|{{zzz{z{{zzz{{z{z{{{yz{zyzz{z|{zz|{zzz{{zzzz{z{z{{{zzzzz|z{zz{|zz||zzzzzy{{z{{{{{z{z{{zzzzz{{{|{|{{|zz{zyz{|{{z{|{{zzz{zz{{z{{{{{{|{zzzz{zy{{{|{||{{{z{{{z{{|{z||{{{zz{{{{{{||{{{{{|zzz{{z{{{{}||{|{zz{z{{zz||{|z|{|z{{|{{z|{{{|{|{z{{zz{{{{{|||||||{z{{{{|||{||||{{z{{{{{{|{||{|{|{{{{z{{z{{{{||{|{zzz{{{{|{{{{{||{{{zzz{|{||{z||{{{{zyz{{|||||{||{{zz{{z|{}{{||{{{zyz{zzzz{{zz|{{{{{{z{z{{{|{{{{||{zzz{{{{|{{{|{{z{{{z{zz{{z{{{{|zzzzzz{z{z{{zz{|zy{{{z|zz{{{{{|{{zzz{zzz{{{{z{z{zzyzzz{yzz{z{z{{z{zzzzzz{zzzz{{{|zyzzzz{zz{{{|{zzz{zzyzyz{{{z|{zzz{zyzzzz{z{y{z{zzz{z{{yzzz{z|{|{zzzz{zz{zz{z{{|z{z{zzzz{{z{z{||zz{zzzz{zz{z|{{|z{{{zz{zz|{{{{{{{{z{yzzz|||{|{{{zz{{{zz{z{{{{{|z{zz{z{{|{|{{{{|{{{z||z{z{{{||{|{{{y{|{{z{{{{||||{z{{{zzz{{}{{{{{{z{{z{{{{|{z{|||z{{{{|{{z{|{{{|{{z|{{z{{{|{{|{|}{{{{z{{z||||{{{{|{{z{{{{{||{||{{|zz{|z{{|{{}|}|{{{zz{{{{||{{|{|{{zzzz{z{{|{z{{|{{z{zzz{z{|{{||{z{{y{zz{zz{{{{z||zyzzzzzz{z{z{{|{zzzzzzyz{{|z{{{zzyz{z{z{{{{{{{{{{z{zy{yz{{z{|z{{zzz{zzzzzz{{{{{{|zzzzzz{{{{z{{|zzzzzzzz{zzz{z{zz{z{y{zyy{z{{|||{{zzzzzyz{|{zz{zz{{{zyy{yz{{{z{|{{zzyzy{y{zzzz{zz{zzzyzzz{|y{{{|{zyzyz{zz{{{z{{{|yzzz{zzzz{zz{zz|{yz{zy{z{{{{z{{z{{zzzyz{z{z{|{||zzz{zz{z{|{{{|{zzz{zzzzz|{{|z{{{|zz{{zzz{{{{|{{{{z|yz{zz|||||{{|z{z{zzz{|{{|{|{|{{z{{yy{||{||||{{z{{||{{{||{||{{|{{z{{{|{|{{{{||||z{z{{{|}{{|||{{z{|{{zz||{{||{{{z{{{zz{{||||||{{{zz{zz{|{z{|{{{z{zzz{{{{|{{{{}|{{|zz{|z{|{{|z|{{{{z{zz{|{{{||z{zzzz{{{z{{{z{z||{z{z{yz{{|{{{{z|{z{zz{z{|{z{{||{z{{z{z{zz|{{zzz{{{{zzzzx{zzz{||{{zzzyz{zz|{z{{{{{zz{zzz{{z{z{{|zzyz{zzzy{z{z|{{|zyzzzy{zz{{{{z{|zzzzz|zz{{{z{{z{z{zzzzzzz|z{{z{{{{zz{yyyz{zzz{z{{zzz{zz{{{{z{{{|zz{zz{zzz|{{{{zz{z{z{z{z{{{{{z{{{yz{z{{{|z{{{{||{z{z{{zz{{{{{{|{z{{z{zzy{{z|||{{{{zz{zzz|{{zz|||z{zzz{z{{{{{{{{|{{{z|z{zz{{z|{{|z||z||{{{{{|z{|}{zz{zz{{{|{{{||{|{z{z{{{|||{{}||{|zz{{|{{|||{||}}{{{{|{{{|{{{||||z|{z{z{{||{{{|{||{{zzz{{|{z||}||z|{{{z{{{{||{|{{|zz||z{{{{{{{|||{{{{z{zz|{{{||||{{{zz{y|{zz|}{{{z{{zz{z{{|{|{||zz{zyzz{||{{{z{{{{zz{zzz{|z{z{||zz{zzzz{{{{|z{|{{zzzz{{z{{{{{{{{{zzy{{{zz{{{{|{{z{{zzzzz{zzz{{{{zzz{{{yy|{z{z{{{zzzzz{zzz|{{{z{{{{z{zzzz{{{{{{{{{zyzzzyz{zz{z{{{zyzzz{zzz{{z{{{{{{zzzzzzz{{{{{{|zy{z{{zzz{{{{{|{zzyz{zzy{{{{z{{{zz{{zzz{{{|{{|{|zzzz|zz{|||{{||{zz{zz{{z{||{|}{{|z{zzzzz|z{{{||{zzz{z|z||{{z{{}{{{|{zz{{{{{|{||}zz{{{{{z|{|{{|||{z{{|zz{{{|{|{||{{z{z{{{|||z{||{{|{{z||{||{{}{{{|{{z{{{{{|||||||{z|{{zzz|||}||{||zz{{{{{{|||||{|{{{{|z{{{|{|||{{{{{{{{z{z|||z|{||{{{{z{z||{{{{||||z{z{z{{{|{{{{{{zz{z{|zzzzz{zz{{zzz{zzz{{{{|{z{{zzzz{zzzz{z{{|{zzzz{{zz{z|z{|{{zz{zyz{yzz{{{{{{{zyz{{{{y|zyz{{yzzz{zzzzzz{{{z|{zz{{zzzzzz|z{{{zzzzzzyzy{zz{{|{{{z{zzyxzz{{z{|zzzz{zzyyz{zzzzz|{{zyzzyzy{zzz{{{z{zzzzzzyz{{z{z{{zzzz{zzy{zzz{{{|zzyz{y{z{{{{z{||zzzzyzzz{z{{{{{{zy{{zzzz{z{{z|}z{z{|{zz{{|{|{|{{{{{zz{z{{{|{{{|{{{{{{zz{z{{|{{|z{{zzz{{z{{{|||{|z{{{{|{z{{z|||}|z{zz{{zz{||{{{|{{z{z{zzz|{{{{|||{{{{{{|z{{{z{||{{{{|zzz{{|||||{|||{{z{z|{|||{{|{{z{{{{z{|{{{}{{{{z{{{zz|{{{||z{|z{zzzzz{{|{{{z{|{{z|zzz{{|z{{{{{{z{z{zz{{{|{{{{{{{zz{yz{{zz{zz{|z{zzz{zz{{{{{{|{{{zyzzzyz{{z|{{z{z{zzzz{zz{|{{||{yzzzy{yz{||{{{{{z{zzzzz{|z{z|{{{{y{zzzzzz|z{{{zz{{zy{zzzzz{z{|{zzzyzz{z{{{zzz{zzzzzz{{zz{{z{|{{zzzzyzzzzzz{zz{{zzzzzzzy{{zzz{z{zzzzzyzzy{{z{{{zzyzzz{{z{{zz{{{z{zzy{zyzzz{|z{{{{zz{zyzy{y{z{{{{zzzzzz{y{{{{{{{{{z{z{zz{{z|{{{{|{z{zzz{zz{|{{{{{zzz{{{{zzzzz{{{|{{y{{zzz{{{{{{{|z{{{|{{z{{{|||{|{z{|{{{{|{||{{|||y{z{{z{||{{|{|{|{{{{{{{{|zz{|||{{{{{{{{{}{|z|{||{z|{{{z{|{||{|{|zz{z{{{{{{{{{||{zz{z{|{|{z{|}||{{zy{z|z{{z{{||{z{y{{{zz{|{{{{|{{z{zzzz{{{{{{{||zzzzyzzzz{|{{|{|zzyzzzz{z{{z{|{|{{zzzzzy{z{z{{{{{{yzzzz{z{{{z{{{{{yzz{zz{{{z{|{|z{zzzz|y{{zyz{{|zz{zz{yy{{{{{{z{{{{yz{zz{zz{{{{{{zzz{zzzy{{zz{{{zzyzzzz{{zz{{{{{{z{zz{z{z{{zz|{{{zz{zyzyzz{z{{{{{zzz{zzz{{zz{{{{{zzyzzzzz{{{{||{{z{zzyzz{z{{{{{{zy{zzz{z|{|z{{{|zz{yyzyz{{|z{{z{{{{z{z{{{{|{{|{{{{{yzzy{z{|{{|{{{{z}{z{zz|{z{|{|{{{{{z{z||||{|{|{{zz{z{{z|||||||{{zz|z{z{}{{|{|{|z{{zz{{{|{||{{|z{|{z{||{{{{{{||{{{{z{z{{||}|||||{{{z{|z|{|{||{|{zzz|{z{{{|{{{|{{{{{{{{{||{{||{|{{|{zz{{|{{{|{{{|{{z{z{{{|||{|{{{z{zzzz{{||}{{z|zz{y{zz{{z{{{{{|{yzzzy{y{{{{{|{{{yz{zz{z{z{|{{{|{{{{zzz{|{{|zz||{z{zzz{zzz|{{{z|z{zzzyzyzz{{{{{zz{z{zz{zz|{{z{{{{zzzy{yz{{zzz{z{zzzzzzyzz{z{{{{{zzzz{zzzz{z{{{{{{zz{zyzz{z{{zz{|{{zz{zzyzz{yz{zzz{{zyz{y{{z{z{z{{yzz{yzzzzzz{{{{{yzz{z{zzz{{{z|{{zz{zyz{zz{{{{z{{{z{zz{{{z|z|{{|{z{z{z{yz{z{|{||{zzz{zyz{{||{{|{{zzzz{{{{|{{{{||zy{{z{zz{{|{{{||{z{{{{{|{|{||{{{z{{{{{z{{{||||{{{z{{z{z{||{|{|||{z{|{{||{{{|z|||||{{z{{z||{}||}{{{z|z{zz{|||{{|{|{z{{{|||{{{{||||{{{z{{{||{|||{|{{{zz{{z{z|||||{{zz{{zz{|{{{z||{z{{z{z{{{||{|{{{{yzzzzyzz{{{{{z|{z{zzyz{{{{{zz{|z{zy{{{{{zz{{{|{{z{z{zzzz{||z{{|{{{zyzzzzzz{{{{|zzzzz{{z{{|zzz{z{z{{z{zz{|{{zzz{z{zzyz{z{{{zz{{{zz{zzzyzz{|zz{{{z{zzyz{z{z{{{{z{zzzzzzzz{{z{{{{{zzzzzzzz{zzz{z{{{{zzz{zzz{{{{{{{yzzz|{zyzz{{{{|{zzz{zzyz{{zz{|{{{z{{zz{{z{{{{|{{zzz{zzyzzz{{{|{{|{zz{{{zzz{{{|{z{zyz{{z{{{|{{{||zyz{zzzz{{|||{{{zz{zzzz{{{|{||||zzz{{{{{{{{|{||{{z{{{zzz||{z{{|{||{{||{z{|{{{||{{{zzz|{{||{|{|{{|{z{{{{{{|||{}|{{z{{{{{{|{{{|||||zz{{|{{||{z{|}{{z{{z{{{{{{||{||z}{z{z{{{{{{||||{zz{z{z{z{{{|{z{{{|{zzz{|{|{{z{zz{{zzzyz|z{z{{{{{{{zyz{zz{|{{{|{{z{yy{zy{z{{z{{|zyzzzyzz{z|{z{z{{zzyzzzy{{{{||{|{zzz{zzzyz{z{z{{{z{zzzzzzz{|{{{{z{zzz{{{|{{{{{{{zzzzy{zzz{zz{{{zzz{{zzyz{{{{{{{{{{{zzzz{y{{z{z|zzz{zzzzz{{z{{{yz{zzzyy{yzzz{zz{{zy{zz{yyz{{{z{zz{zzz{zyzz|{|{{{|{zzzzy{zzzz{{{|{{z{zy{zz{z{{{||{{z{zzz{{{{{{{|{{{y{zz{{{{||{{{}{{{z{z{{|{{|z|{{{{{{{z{{{{|{{{{|{zzz{{{{{{|{{|{}{z{z{z{z{{{|{{||{{z{{{{zz{{{|{|}{|{{z{{{z{{{{{}|{|z{{z{{{||{{{|{||zz{|z|{{{{{{||{{{z{{{z|{{{||||{{{{|{{{{||||z{{|z{{{{zzz|{{z{|||z{zzzzzz|{z{{{{|{z{{{zz{{{z||{{{zz{zz{yzz{{|{|||zz{yzzzyz{z{{|||z{zzzzzzzz{{||||zz|zzzzz{{z||y{{{{{zzz{{zz{z|{{|zz{z{zz{{{{{z{|{zz{{zzzzz{{{z{{|zzz{z{zzzyz{{z{{z{zzyyzy{{z{z{|zzzzzyzz|zz{{z{{zz{zyyzzzz{{z{|{z{{zz{zzy{zyzzzzz{zzzzyzyz{{zz{z{yzzzz{z{{z{{{{{{{zz{zz{{z{|zz{{}{yzyzy{{{{z{z{{{zz{zzz{zz{|{{z|{{{{{zz|z|{{{{{{|{z{z{{zz{{||{{|{{{|{z{{z{{{z|{{{|z{z{{{||z|{|||{{z{{{|{{||{{z{{{{{{{{{zz{||{||||{{{z{{{{{|||z|||{{{{{|{{{|{{{{||{{{z{z|{{|z|||{||{|z{{{{|{{|{{{||{{z{{{{y|{{{|||{{z{zz{{|{|||{z|{{{z{{zz{|{{||{{{{{{y{zz{||{|{{|{{{z{z{{{{{|||z{{yz{{{zzy{{zz{{{{{z{zzz{{{{z|||{{{{z{z{{{{zz|{|{{{{zzy{z{{||{{|zzzzzyyzz{{{{{{|{{zzzzzzz{{zzz{{{{zzyyzzz{zzz{|{{{zz{zzzzzz{{z|{{{z{yzy|z{z{z{z{z{yzzyzzzz{zzz{{zz{zzyyzzz{{|{{{{zyzyyzzzzzzz{z{{{z{zzzzzz{{{{z{{zzzz{zzzzz{|{{{{{zzzzy{z{{{{zz|{yyzy{z{z{{z{{||{{zz{zzz{{{{z{|{{{{{{zz{{{{{{||z{zz|{zz{z||{{z{|{|{zzzyzz{}{{{|{|{{{{{zz{{{{{|||{{z|{{{{{{|{{{|}}|{{|{zzy{|||{{|{{zz{z{{z{{|||||{{{|zz|z{{}{{|{{|{{{|{{z{|||||{{||z{|{{{z}{|||||{|{z|{{zz|{{{{{{|{{zz{{{z{|{|{|{{{{|{{z{{{{{{{{||z{zzz{{{{{|{z{||{{{z{{{{{{||}{{|z{{zz{{zz{{{zz{{{{{{zyzz{{{{{{{{z{zzzzzz{z{z{{{z{zzzz{zz{z|{z{z{z{zzz{{z{{{{{{z{zz{zzz{y{{{zz{{{zzzzzyz{zz{{{{{{{zzyzzzz{zz|{|z{zzzzzzzyz|zz{{{{zzzzzzy{{z{z{{{{z{{zy{yzz{{{zzzzzyz{zzzyzz{z{{zz{|z{zzzzzz{z{{|zyyzzzzzz{{z|z{z{{zzzzyz{{{{{z|{|zy{zzzz{|{{{{{{|{{{zzzz{{|{{|{{{{{zz{z{{z{||{{|{{zz{{{yzzz|{|{|zzzzzz{zzz{{{{{||{yzy{{{{z{{|z|{{{{zz{z{{{{{{{{|{||{{zz{||{{{{}{|{{{z{z{z{||{{{{{{z{{z{{z|{{{z{|{||{{{||zz|{{{|}|{z|z{{{z|{|{{||{{{z{|{z{{||{|{|||{{{z{z{{|{|{|||{|{zzzz{||{|{|{{{{{{z{{{{|{|{|||{{{{{zz{||{||{{{|z{{zz{zzzz{{{{|{{zzyz{zz|{{y{||{zz{yzyz{zz{{z{{{{zz{yyyz{{{{{||zz{yzz{z{zz{{{{{{z{zzzzzz{zz{{{zzz{zzzzzzz{{z{{zz{zyz{zzzzzz{{|{zzz{zyzzz{z{{{{zz{zzz{z{z{z{{{{zzz{yyzzzz{zzz{{{z{zzzyzzy{{zz{zz{{zyzzzyz{{{{{{{{zzyz{z{{{{z{||{z{{y{y{{z{{{z|{{zzzzzzyy|zz|{|{|z{{z{zz{{{|{{{{|{z{yzzzzy{z{{{{zzzzz{zzz{{{{z{{z{zzzzz{{{{{{{{|{{z{{{{{|{z|{z|{{{zz{z{|{||||{||||z{{{zzz{z{|{||z{{z{{z{z|||{|{{{|{z{{{|{{|z{{{|||{|{z{{z|}|{{{|{{{{|||{{{{|{|{{{{|{z{|{z|||||{||{{{zz{z{|{{{{{{|z{{z{|z{{|{|{|||{zzzy{{{z|{{{{|{{z{z{z{{}{|}}{|{zz{zzyzzz{{z{z{{z{zzzzzz{{{{{{|{{zz{z{zy{z{z{z{{zzzz{zzz{{z{z{{{|{zzzz|zzz{{{{{{z{{zzz{zz{z{{{|zz{|yzzzy{z{{z|{{zy{yzzzz{z{{{{{|zzzyzzyyz{{{{z{z{zzzyzzzzz{zzz{z{zyzzzyz{{zzz{{{zyyzzzzy{z{{z|{{{zyzzzy{z{zzy{{{{z{yyyzz{{{|z{{{{{zz{yzyzz|{|z{{{{{{zy{{{|z{{||{zy{zz{zyz{{{y|{|{{{zyz{z{{z{{{{{{{z{z{{{z|{{{{|{|{{zz{zy{{{{z|zz|{{zzzz{{z{|{||{{{z{{{{{|{||{|||{{z{{zz{{|||{z||{z|{{{{z{|{|{|{{{z{{z|{{z{{{|{{|{z{z{{z{{{{||}|{|z{{{{|z{|||||{{{y{|{zz{z}{|||{|{{z{zzz|||{{{|{{{{zz{z|{{{{|{{{{{{|zzzzz{{{|{|{{{z{z{{|{|{||}{|{{{zzz{z{{{{{z{z{|{z{zzzz{{{{{{{|{{{zzz{zz{z{z{{zzyzzzzzz{{|{{|{z{{{{zyyz|{}z{z{{zzzzz{zzz{z{{{{{zzzyz{zzz{{{{{{{zzzzyzzz{zz{zzz{zzzyzyzzz{{{zz{z{zzzyzzz{z{z{{zz{zz{zzz{zyzzz{|{zyzyzzzyzz{zzz||{{zz{zzy{{{{z{{zzzzzzzzzz{{{|{{yzz{zzzzz{z{z{zz{zzzzzzzz{{z{{{{{{{zzzzz{yz|z{{{|{{{{zzzz{{{{||{zzzzyz{zzz{{|z{||z{{{z{{z||{{{|{{{{|z|{{{{|{||||{{zzzz{{{|{{|z|{{{{{{{{z{|||||{|{|{{{zz{{{}|{|{||zz{{z|{{z||||{{{|z{{|{{{z}{||||{|{{zz{{{{|{{{{|{|z{z{{|{{{{{|{{||{|{{{{{|{|z{{z|{{{{{{{{zz{{{||{{{{z{zz{z{{{|{{|zz{zz{|z{|z~}{{zz{zzz{yz{{{{{{y{{z{zzzyzz{z{{{{{zzzyz{zy|{|{z{{|{zy{zzz{z{{{zz{{zy{zzz{y{{{{{{z|{{zzz{{yz{{{z{{zz{|zzy{z{{{zy|z{z{y{{zzzzzz{{{z{y{yzzzyyzzzzz{{{zzzzyzyzz{{{{{z{z{zzzzyyz{z{zz{{{y{zzy{zzyzz{|z|z{zzzzzzz{z{z|{{zyzzyzzyz{{z|{{z{yzyzyzz{|z{zz|{zzzzzz{{{zz|{|{{zz{zyzz{{z|z{{z|zzzxzy{z|{{|z{|{{{{zy{{z{{{|{{|zzz{{{{{z|{|{{{|{z{zz|z{{{|{{|||{{{{{|zzz{{{{|{{z{{z{{z{z||}|{||{|zz{{zz|{||||||{{{{{z{|{{{{|z{||{{{{{z{||||||}{z|{z{{{|{||z|{||||z{z{{{z{{{{{{||{{z{zz{{|{{||{|{{{{z{zz{{{|{{{{|{z{z{{z{{{{{|{|{zz{zzyz{||}|||{yz{zz{z{z{{|{z|{|{{z{{zzzzz{{|{{|{{zyz{{{{z{z{{{{zz{{{zz{{{{{z{|{|{zzyzzy{{z{{zz{zzzyzzyzz|zzz{{{z{{z{zzz{{{zzz{z{{{zz{yz{{{{{{{|z{|zzz{zzz{zz|{zzzzz{zz{z{zz{{{{z{{zyzzzy{{|{{{zzz{zzyzy{{zzz{{|z{{zz{zzy||{{{{zzzzz{zzy{zzz|z|{{zz{{yzz{{{{z{{|{{{zz{{z|{z{{|{{yzzzz{zzz{{{{{||zz{z{zz{{z||{{|{{{{z{zz{{|{z{{|{{zz{z{z{||{{{{{{{zz{z{z{{{|{|z|{{{{z{{{z{{z{{{|}{{{|zz{{{||}{{|z{y{{{{{||}||}||{|{{{{{{{z{{{|{{}|z{{{{{{{||{|||{{{{{{|{|||{{z||{|{{{zzy{|{|{||{{{|{{{{z{{{{|{{}|{zzz{{z{z{z{|z|{z{{{{zz{{z{|{|{|{z{{{{{{{}}~~{{{zyz{z{zy{z{z{zz{zz{{{z{z{z|{{{{{zzzzzyyy{zyzz{{z{z{yzzzyz{y{z{z{{zzzzz{y{{z{{{{{zz{zzz{zz{{z{y{{{zz{zzyzz{{{{{z{zzzzzzyz|{{yzzzzzzzzz{zzzz{{{z{zyzzzz{y{y{{{|{{|{zzyyyzyyzz{zz{zz{zzzzzzzzzz{z{|y{zzyzyzz{zz{{{{zy{zzyzyz{{{z{|{{zzzzz{y{{z{{{|{yz{zzz{z{|{|z{{{yzz{yzy{z{{{{{{{|zz{zz{z{{{{{{z{{zy{z{{z{{{|z{{z{zz{zzzz{{|{{{{{zzzz{z{{{z|{|z|{z|{{z{{z{{{|{|{{{zy{{{{{{|z{{{{|{z{{zz{{{|{{{{||{z{{{{|z{||{||{|{{z{{{{{{||{{{||{{{{{{zz}{{{{{|z{z{{{zz{|z{{|{{{{zz{{{z{{}{|||||{{{z{zz{{{zz{{}|{{zz{z{{{{{{{{|{{{{z{zzz{{}}~z{|zzzyz{zz{{|{{{{|zzz{zyyzzz{|{z{{z{zz{{yy{{{z{{{{z{z{zzzyz{{{{{|z{{zyzzyzz{{{{z{z{zz{zzzzzz{{{{z{{{{zzzy{{{{zzz{zzzz{z{zz{z|{{zz|yzyzzzyy{{zzz{{zyzzzzzyzzz|z{{{{zzzzzyzz{zz{zz{|zzzzxyzzz{{zz{{{zy{z{zz{zzzy{|{{zzyy{{zzz{{{z{{{z{zzyzzzz|zy{zz|{{zz{zz{|z{{z{z{zzzyzyz{{{{{z{||zz{{zyzyz{{{{{{{{{zzzzyz|{{z{{{|{{yzzz{y{|{z{|{{zzzz{{{z{{{|{z|{z{zzz{{z{|{|z{||{z||zz{z||{{|{{{{z{{{{{{{{|z{|z|{zz{z{{{{|{{{{{{|z{{z{{{{||{|{{{|{z{{z{{{{{{{{|{{yz{{{{|{{z||{|}z{{|{zz{{{{{|||{z{|{{{zz{{{{{{{|{zz{z{{zz|y{{{{|zzz{zy{{|||{}{{{{{{zzy{z{{{{{{{{zz{{zzz{{z{{z{{{{{zz{zzz{{{|{{|{z{{z{zzzz{|{zz{}{zzzzz{y{{{{{{|{zz{zz{zyz{{z{{{{{zzzzz{z{z{zzz{{zz{zyzzz{{z{zy{z{zzyyzz{zz{|{{{zz{yzz|zyz{{z{{{{zzzzzzzyz{{{zz{|zyzyzzzyz{zzy{z{zyzzz{yzzz{{{{{{z{{zzyzzz{{{{{{{zz{zz{{z{zz{{{{|{z{zz{{{{z{{{|{{yzzzz{{|z{||{{|z{{zzzzzz{z||z|z{zyzyy{zz{{{z{{||{{zzzy{y{{||z{{{{{z{{yy{|{|||{{{z{{{{{{{z{z{{{{}{z{z{z{z{||{{|{|{{{z|zz{{|{{||||{{{{{{||{|z|{{|||{{|{{zz|}z{{||||z{{|{{{{{{{|||{{z{{{{z|{|{{{{||{{{{{{{z{{||{{||y{{{zzzz||{{||{|{{{zz|{z{{z||{z{{{z{{{{||{~||{|}zzzz{z{z{{{{y{{{{zz{{yzz{{z{{{|{{z{zzzzz{{zz{{{{{z{z{zzzzz||{|||{zyzyzzzz|zz{zz{zz{yz{{y{{zz{|{z{zzzzzyzz{{{zzzzzz{zzzzz{z{|{{z{zyzzzy{yzy{zz{{{{zzzzzzzzz{zz{{z{{zzzzzzz{z{zzz|zy{{zyzyyz{{z{z{yzy{zzyyz{{z{{{zz{yzzzyz{{{z{zz{{zzz{zzzz{z{z||||{{{zzz{z{zz|{|{z{{zzz{{z{{{{{|{z{{z|y{{{{|{|{{|{{{z{zy{{{{{{{{|{{z{{{zz{{z{{{{|z{zzz{zz|z{{|{{|z{{{{{{{{{{{{{|{{{{{{zzzz{{||z{{z{|{{z{{||{z{{|}{{{{{{{||{||{}{|{{{{{{{{{}{|{|||{zz{{z{z|{{{|{{{{z{z{{z{{{z{{{{|{{|{{{z{{{{{|{{|{{{zyzy{|{{{{{{{{{zz{{{z{||{{{|{zz{z{zz{{|}|}{{{zzyz{zzzzz{z{{{{zzzyzyzzz|zzz{||zzz{yyzzzzzz{{|z{z|z{zzzz{{{zz{{{zzyzyzyzzzz{z{{z{zzz{{{z|zy{{{{{z{z{yyzzzz{z{{zzyzzzzzyzz{{z{{z{zzzyy{yzz{z{|{z{zyzzzyzz{zz|z{{z{yzzyzzz{z{zz{{zzzzyzzz{{y{zzz{{zzy{zyyyz{zzzzzzz{zzz{z{{zzz{{{zzzzzzyzzz{{{{z{{zy{zx{{zz{{{|{{zzz{zz{{{{|{{z{z{{zzz{zz{{|{|{z{zzzzzzzz|{|{{{{{|zz{|zzz|{{{z|{|{zz{{z{{z{|{|{{{|z{z{z|z{{||{|{|{{{{zz{{{||{||{{{zz{{z|z|{|{||||{{{{z{||{{{z{|{|}zz{z{|z{||{{|||{z{z{{|{{z{{||{{|z{{{z{{{||{{|||{{zz{{{z{{{z|{z|{{zzz{z{z{{z{z||zzz{z{{zz{||{z{||zzz|z{{}||{|z{z{{z{z{{zz{{{{{{|{{zzzyyy{{zz{{{|{|zzzzyy{{{{{z{|{z{zzzzz{z{zzz{{zzzzzzz{z{{{z{z{zzzy{yzz{{{{{{{{{zzzzzyz{{z{zz{{{zyzyzzzz{yz{zzzyzzyyyz{z{{{{zz{zy{zzz{zz{zz{{{{z{zz{zzzz{z{z{{{{{zzzy{y{{zy{{z{z{yzzzzzz{y|z{{{{zz{zzzzzzz{zzz|z{z{{yzzz{z{z{|{zyzzzzz{{z{zz{{{z{zzzzz{{{{{{{{{yzzz{z{zzzzz{|{{zz{zzzzy{{z|z{|{{{zz{yz{{{{{{{{|{z{z{z{y|{|||{||z{zzz{|z{{{{|{||z{{{zz{y|{{{||{{{z{{zz{{{|{{{{||{{{{zz{{{{|{|||{{z{zz{{z||{|||{}||z{{y{{{|||||{|{z{{z{z{{{{||{|||{{|z{z||{z{||||z{zzy{z{{{|{|{z{z{zzzz{{y|||zz{{{z{z{{zz|z|||{zz{zzzzzzz|{{|{z{{z{zzz{yyz{{z{{{{{{{zz{zy{{zz{{z|{{zzzyyy{{{{z{{{{{zzy{{y{{z{z|{|{z{zzy{yzzzzz{{zyzzyyyzy{z{{{{{{{yzzzzzzzz{{z{zzz{{zzyzz{{{z{{{z{zzzyyzz{{{{{{{z{{{zzzzzzy{z{z{{{{zzzyz{z{zyzz{{{zzyzxy{zzz{z{{{zyz{zzzz{{{zz{{{{zzyzz{z{{{z{{{z{z{zzzzzzzzz{|{{zz{zzzzz{{{{|{{z{z{z{{{z{{zzz{{{z{zz{zzz{{|{z{|{|{{|{z{z{z|{|{{{{{{{z{{z{|{|{||{z{zz{{{{{{z{z{||{z{|z{yz|{{|{{{z{z{|{z{{{}{{{{||z|{zz{|{{{{||||||z{z{|{{{{|||{{{{{{{z{{z|{{{|{{|{z{{{{{z{|{z{{||zz{{{{z{{{{{||{|{z{zzzz{{{{||{||{zz{zzz{{|z|{{{{{z|{z{z{z{||{|{|{{zzzy{{z{|{|z|{{zzzzzzz{{{z|{{{zz{z{zyy{{{{{||{{z{yzyz{z{{z{zz{{{{y{zzyz|{{{|z{zy{zzzz{y|z|{{{{zzz{zzyz{z{{z{z{zz{zzzz{zz{{zz{{{zzz{zyy{{{z{{zzz{{zy{zz{z{{{{z{{{{yyzzzz|{zz{{{z{yyzzzyz{zz{{z{y{yyzzyzzz{zz{zz{zzzzzz{{{{{{{{zz{zz{zyz{zz{{{|{zzz{z{zz{{{{{|||{{zzzz{zz{z{{{{{{z{zzz{zz{{|{{|{{{{z{zzy{{{{{{||{z{z{{zz{|{{z{{{z{z{|zz{{{z|||{|z{z{|{{{{{{|z|||{{|z{z{{z||{{{|{{z{{|{{|{{{|{|||{{z{{|{{|{{{|||{|{{{{|{z|}{}|{||{{{{z{{{|{|}{|||z{{zz{{{{|z{|z}|{{y|z{z{{{|{{}{{z{{zzzz{{{{{{|||{zzzy|zzz|{|{{|{|{{{{zzz|{|{{{{{z{zzz{zyzz|z{{{{{{zz{{zz{{|{{{{{{zzz{zzz{{z{z{{{{{{zzyy{{{{{zz{{|z{zzz{zzz{{{{{|zzzz{{zz{{{{{{{{zzzzz{zzz{|z{z{zzzzzzzz{z{zz{|{z{zyyzzzz{{{{{{{z{zzzyzy{{z{z{{{z{zzzzzzz{zz{{{z{{z{zzz{zyz{zz{{zzy{zyzzzz{z{z{z{yzzz{{zzz{{{z{{{z{y{zz{{zz|z{{{{zz{z{z{{{{{|z{{|{z{{zyzy{{{{{{{zz{{{zzzz{{{{{{|{zz{zzz{{{{|{|{{{{z{zzz{{||{{{{{{zz{z{zz{}||{{{{{zz{{{{{{|{{|{|||{z{{{zzz{}||zz{|{{z|{{{z{{{{{{||{{}{z{||{{{||{||{z{zzz|{{|{{{|{{|{{{{{{|{|{||{|{|z{{{zz{{z{{||||{{{zz{z{|z{{{z{{|{{yz{{z{|{{||{|{{{{z{{z{||{z{z{{zz{zzy{||}|{{zzy{zzzzzz{{{{z{|{zzzzyzzzz{z{z{{{z|zzzy{z{{zz{{{{{zzz{{zz{{{|z{{{{z{zzzzzz{{zz|||zy{z{zzzz{{zz{z{{zzyzyzz{{{yz{z{{{{yzyzzzzz{z{z|zzyz{zzz{{{z{z|z{yzzz{yz{{|z{z{z{z{zz{zzz{{z{{zzzyzzyzzyz{z{zzz{{{zzzzz{y{{zy{{|zzzzzzzz{{z{z{{{{zzyzzzz{z{{{{|{{z{{yzzyzz{{zz|{{{{zzzz{|{{z{{{{{zzz{z{{{{{{zz{{zz{zzz{y|{{z{{{zzz{z{zz{zz|zz{{{{{z{zzzz{z{{||||z{|z{{{{|{{|||||{zz|{{z{z{||{{{|{{{{{{{{|{{||{|{zz{zz{{z|{{z{{}{|zz|z{{{{}{{{|{|{|{z|z{z{{{{{{|{{{{z{z{{{{|||{||||{z{{z{|{{|z|{{{z{z|z{{z{{z{{}|z{{z{|{{{{||{|{{{z{z{z|{{{{|z|{zz{{z{z{z|{{z{|{|{{zz{z{z{{{{{{z||{zz{zzz{{|z||}{|z{z{zz{z{|{{|{|z{{yz|zz|{{{{|||{{zz{z{z|{{z{{{z{{{{zzzz|z{{{{|zz{{{zzzz{z{{z{{{zz{z{zzz|z{{{{{z{{zzz{z{z{{{{z{{zz{zz{{z{{{{z{|}{{{{zyzzzz{{{{{{zz{z{{zzz{{{{|{{zy{z{{zz|{{{{{{{{{zz{{{{{|{{|{|{z{z{{z{{{{|{{||{{{{{{{{{{z{{||||{z{zzz{z|{|{{{{{|z{{z{zz|{||z|}||zz{{{|{{||{|{{{{z{{{z{{|}|{||{{z{{{{||{|{||{|}|||z|{zzz|}}{||}||{{{|{{{|}|{||}}|||{{|{{{}||{|||||{{{{{{{}{|||||{{|{{{{z||{|||{|{z{{|{{z{|||||||||||{{z{{}||||{{{{z{{{{{{|||||{{|{z{{|{z{||||{||||z{{{{z||||{|{{{|z{|{{z{||{{{{{{{z{|{{y{{|{{|||{{{zz{z{{{{|{|{{{|z{zzz{{{z{z{|{z{zz{zzz{{|{|{|{|z{zzzzz{{{{{{|{{{z{{z{{{z|z{|||{{{zz|z{{{{{{{{|{z{z{z{{|{{{{{||{z{z{{zz{{|||{{{z{{{zzzz{{{{{{{|{zz{zyzz{z{{{|{{|{{z{zz{{z{{{|{|{z{{{z{z{|{z{{|{{{z{{yz{z{{|{{{|{z{zyz{z{{||{|||{zzz{{|{{{{{|{|{||{zzz||{|||||{|}z{zz{{{|{{|z{|{{{|{z{{z|{||{||{{{z{|{{{||||||||{{|{|z{{||{|{|||{z|{z{{z||{|{|{{|{{|{{{||||{|||||||{z{|{|{}|{||||{{{{{}{|||}||{|}z{{z||{|||||}{|{{{z{{z{{|{||||||{{{||z{|{||{||}|{{{{{|{{||}}||}{{{{{|zz|}||{|{{z{{{{zz||||{{||z{z{z{{zz|||{z|{{|{{{z{{y|{|{{{||z{{z{{{z|{|{||||{z{{{z{z{z{|z||{{{{z{{{{{{{{{{{|{z{zzz{y{|z{{{{z{|{{{{{z{||{{|{{{{{zz{zz{{z}{||{{z{{|z{{{{{{{{|{{z{{yzz{{{|{{z{{z{z{{zzzz|{|{{{{y|zz{zz{{{{{{|{|{|{{{{z{{{{{{|||zzzz{zzz{zzz{||}{{{{{zz{{||{{{{{y{{{{{{{{||{|z|{{{z{{{{{||||||{}|{{{zz{{|{|{{{|{z{{{{{{z||}{||}{{{{z{z{{|||||||{{|{{|{{|||{|||||{|z{||{{{|{||}||z{|{{{{z|}|||{||{z{{{z{{{|}|||||{{|{{|}{z||||||}||z|{{{{{|}|||}||{|{{{{{}||||}{|{z{{{{{{}|||||}|}{{|{{{{|{{|||}|{|{{{{{|z|{{|{||{||{z|z{{|{|{|||{{{{{|z{z}}||{{|{{zz{{{{||z{{{{{{{{z{{zz{{{{||{|{z{yz{{{{{{{|{|{z{{{zzz{z|{{{||{{{z{z{{y{|{|||{{{z{{zzzy{{{{{{|{{zz{zz{z{{|{z|{{zz{{z{z{{{{{{{||{{zzzz{{{z{{z{|{{zzzyzz{{{{{{{{{{{|{{z{zz{||z|{|{{yz{z{{{{|{{|z{{zz{z{zzz|{z{{|{{z{z{{{z{{z|{{{z|{{{z{{|{{|{{{{{z{|z{z||z{|{{{|{zz|{{zz{{{|{{}{{|{{{{yz{|{{|{|{||{{{{{{{{|||{|}{{{{{{{{{{||{|z|{|zzz{z{|||{{||}|z{{{{{{{{{|{||}||{{|{|{{|{|{|{{||{|{{|zz|||}||||||||}|{|{|||||{|||{{|{z|{}}||{|||{|{|z{{|{||{{||{{z||{{|{||||||}|{{{||{{|{{|||}||z{{{||{{{}||{}||{|{{{{{{{{}|{|||{|{{{{{{}||{{{|{{{z{zz{{|}{{{{|{{{zzzzz{{|{{|{||{{{zz|z{{{{{|||z{{zz{{z{{|{{{{{{{{zz{zz{{||{|{{{{{{z{{zzzzzz{{{{{{{{{{{z{z|{{{{{{zz{{{zz{{{z{{|zzzzzz{{{{z{z{{{zz{zzz{{|{{{{{|z{{zz{{zz{{z{{z{|{{z{|z{y{|zz{{{|{|zz{{{zz{z{|{|{z{{zzzzz||{}||{{{z{z{z{zz{z{{|{||z{{z{{{{|{|{{{|{{{{{{{{{{|{z||||{{{z{z{{|||{||{{z{z{{{z{{|{|||}{{|z{z{{{{{||{{{|{{z|{z|{|||||{|z{{z{{{{{||||{|{|{{{|{{{{{|||{|{{z{|{{{{|||z|||||{{{|{{|{|||}||||{||||{{{}}{|||||{|z{{z|{||{||||{{{{{|z{{||{||}|||{||{{||{|{{{|}|{{{{|z{{|{|{|||{{{|{{|z{|{|{{|{{z|{zz{{||{||{{{{{{z{{{z{z}{||||{z{z{{{||{|||{|{{zzz{{{{{|{{||{|{z{z{{z{{{||{|||z{{{zzzz{{|{{{|{z{{z{{{{{|{{{}||{{{z{z{z{{|{{{||{z|zzyzz{z{|{{{{zz{{{{zz{{{{{{{{{{{{{{z{{{|{||{z{{z{zz{z{||{|{{|{zz{{zzz{{{|{{{{|z{zz{{z{|{{z{||{z|{{z{z{|z{{|{|{{{{|zzz|{{||{{|{{{{z{z{{{|{{|{|{{{{{{z{|{|{{|{}|z{{zz|{{{||{|||z{|zzz{{|{||{|}{|{{||{{{{{{{{|{|z|{{{{{|{|{|}||}z{|z|{{||||{}||||{z{{{z|||||||||||{{{{{{|}|{||}}|{|{|{|{{||{}|||}{||{|{|{||||}}|}|||{{||||||}|||}z{||{{{||{||||}||{{z{||||{}||}}{|{{{{{{{|{||}|{{{{{{{{{{|{||{||{||zz{|z{||z}|z|{z{{{z{{{{{|z{||z{|{{z{{{|{z{{|{{{{{|{zz{{||{z}||z|{z{zy{{z|{{||||{zz{{z|{{{{{{{z{{{z{{z{{{z{||||{|{{{{{{{}{{|{{{zyyz{z{|{{{||{{z{z{|z{zz{{{{{|{zzz{z{yz{{{{||{{{z{{{{{zz{{{||z|{zzz{zzy{{{{z|{z{|{zz{zzz{{{{{{{z{{z{{{{z{z||{{|{zz{|z{{{||{{|||{z{{{z{|||{|{|{|{{{{{z{{{{{|||||{{{zz{{{||||||||{{{{{{|z{||{{{}||{|{{|{{{|{z{||{{z|{{{{{{||{||||{{{{{{{{||{|z}|}|{z{|{{||}|||||}|zz|{z{{||||||}||{|{|{{{{||||}|||{{|{{|z{||}||||||||{{{|}}||||}||{z{z{{{{||}|||||{|{|{z|{||||||}|{{{{{||{|{|{|||{{{{{{{{{|||{|{||{{{{{{{{||||{{{z{z{z{{{{{|||{|{{{{z{zzz{{{{|||{{z{{{z{{{{z{{|{||z{{zzz{{{|||{{|{{{z|z{z|||{z|z|z{|z{{{z{|{{{{||z{{zz{{{{|||{{{{zz|z{{{{{{{{z||{z|{{zzyzz{{|{|{{{{z{zzzz{|{{{|{|{zzzz{z{{z{z{{||{z{zz{zz{||{||{}{{{z{{zz{|{{{{{|{zz{z{z{{z{{z{{z{{{{|z{|z|{||{{{|{|{zz{{{{{{{|{|{{{{|{y{{{{{{|{|z{{z{{z{{|{}||{{{{z{|{z||||{{|||{z|{zy{{|||{||||{{{{{{|{|{}||||{{{{{{{{{||||||{|||z{|z{{||||{|{{|{z{{{z|{}|{}|||{|{{|}{{{|||{{|||||||||{}}||{}|}}{{|{{|{||}|||}|||{{|||{|{{|{{}|}|z{||{{|{|{}}{}|{{z{|{{{{||||||{{|{zz{{z{|}{|}|{z|{zz{z||}||{{|{z{{{z{z{{|{{{{|{{zz{{zz{{{{{{||{{z{z{z{{{||{{|{|z{z{zz{|{|{{{||{z|zz{zy{{{{|{z{zz{z{{{{{{{z|{z|{z|zzzz{{|{{{|{zz{zzzzz{{{z|{|{|zz{{z{zz|{{z||{zzz{zz{z{{{{|{{{{zz{{z{zz{z{{{{{zyzz{zz{zz{z{{{{zz{{zzzy{z{{{{{|{z{z{zz{zz{{{{{||z{{zzz|{{{{{{{|{{{|{z{{{{{||{|{{zz{z{zz{{|{|{|{{|{{{{{{zz{{{{||{{{{{{{zz{||||{{z{z{{|{z{{{|{{{{{{{{{{{z{{{||||||{{{{{{{{||{}{||{{{{||{yz||||{{|||{{{|{{z{}{{||{|{||{z{{{|{{||||}|{{|{{z|{|{||{|||{|~{z{||||||||{|{z{{{{|{{|||||||{{{{{|{|{|{|}||{{{{{{|{{{|{||||}{z{zz{z||{|z|}|{{|{{{{{{|||{|{{{zzz{{z{{z{{z|{{|{{{{zzz{{zz|{{||{z{z{{z{{zz{{{{{z{{{z{{{|{||{{||z{z{z{z{z{|{|{{{z{z{{zz{{{{{{|||y{z{zy{{{{|{|{z{{y{z{z{y{{{{{{{{{zz{zzzz{{{{{z{{{zzz{y{z{{z{{{|{{{zy{zy{z{{{{{|zz{{zzzyzzz{{{{||{zzz{{z{{zz{{{|z{{{{z{y{{|{{||||{{z|z{z{|{{|{{||z{{zz{{{z{z{{||{{{{z{{z||||{|{|{{{|z{{{z||{{|{{|{|{|{{z{{|{{{}|{|zz{{{{{|||{|||{z{{{z{|z||{{{|z{|{{{z|{||{}|{|}|{||{{{{|||}{|}}{{{|{z{{|||{{{||{{||{||{|}||||||||||||zz{|||}{}||{|{{{|{{{||||{||{|{{{{{{||{|{|||{{{|{||||{}}||{{zz{{{{{{|||{{{||{z{{zz{z|||{|}|||{zz|{z{|{}|||{{z{{zyzzz|{|{{{|zz|{{{z{{{{|{{|||{{{zzzz{{zz{|{{zz{{{{{zz{||z{||{|zzy{zy{||{||{|{{{{zz{zz{{{{||{zzz{{{{{{||z{{|{{z{zz{{zz{{{{|{{zzz{zzzzz|{z{|{{{z{zzzzz{{{|{z{{z{z|{{z{{{{{{{{{{{{zzz{zz{{{{|{{{|z{zzz{{|{{{|{|zz{{{{{z{{{z{z{{{{{z{{|{{||{||||{{{{zz{z||{{{}}|{{{{{{{{{{{{z{|{zz{z|z|z{{{}{{|{|zz{{{z{||}{{||||{z{z{{{|||{{||{|{{{{z{{||{{{||{{{{{|{|{|{|||}|}{{{|{z|{||{||{|||z{{|{|{||||||}|{{{zz{|{||||||}{{{|z|{{{{||{}||}}z}{|{{|||{|||{|{z{z|{{||}||{|||||{{{||{{|{{||||{|{{{{|{}{||{}{}{{{|z|z{{||{||~{{{{{{{{z||}{{{{z{{yzz{{{{{{|{{{|z{zyzzz{zz{|{|||z{z{{zzz{zz{|{|||{{zzz{z{{{{{|||{{{zz{{z{{{{{{{|{zzzz{zz{{{{{|{z{zzzzz{y{z{z|{{{zzzzz{zz{{{{|z{{zzzz{zz{{{{{z|{{{z{{zzzy|{{z{{{|z|z{zzzz{{{{y||}z{{{zz{zz{z{{{z{zyzyzzyzz{{z{y{z{z{{z{{z{|{{|{{{{|{z{zz{{{{{{{||{{{{z{{{z|{{{{{|{{|{z|z{{|{{||{{{{|z{zz{z{{{{||{|{{{z{zz||{{{|||{zzz{{{z{|{{|{{|{{||{{{{{|{|{}||{{{{|{{||||{||{|{|{{zzz{||{{{||{{{z||{{|||}|{||{|||z{}||{||{}||}||{z{{{z{}||||||||{|{zzz|}|}||{|||{{|{|{{{|||{|}{|{{{{z{{|{||{|{zz{{{{{|{||z|||{|{{zz{|{{|{||{|{{{{{zz|{||{|||{{z{zzz{{z{{{z{{||{{{zzyzz{{{{||||{{z{z{{{|z{{|{||{{{{z{{z{{|{||{{||zz{z{y{z{{|{{|{{{{z{{yz|{{{{|{{zzy{|zzz{{{{{{{zz{z{{zz|zz{{z|{{{zzzz{{z{{{{||{{z{zzzzzz{{z{|z{{{y{z{z{{|{{z{|{{{zzy{zzzzz{{{{z{{|zyzz{z{{|{|||{z{{zz{z{{{{{{{{{{zzz{zz{{{{{{{{{zzz{{{{{{{{||{|{zz{{{{{{{{{{z{|z{{{|zz{{{{{{|{|{{{{{zz{|||{{{{{{{{z{y{{{{|{{|{||{{z|{{{{||{{|{{{{{{{{{|{|||{}||{{{{z{{||{{|{||{{{||{{{||||||}||{|{z|||z|{{|||{}|{{{|}|{{||||}{{}|{{{|}{||{}||{||{z}||{{|{||||||||{{|{{{{|||{|}|{{{{zz|{||{{|{|||{z{{{|{{|{{||{|{{|{{{{{|{{||z{y{{{{yzzy{z|{z{{|z{zzzzzzzz{|||{|{{zzz{zz{{|{{{{{{zzzzzzz{{{||z{{{z{zyzzzz{|{{{{{{{{zzz{zz{|{|{|{|{z{z{{{{{{z{{|{yzzzz{{z{{{{z{|zz{zx{z{{z{z{{{{|zz{zz|{{zz{{{z|{{z{{y{zzz{{|{{{{{zzzz{zzz{{zz{{{{{{{{zzzyzz{{|{{z{z{z{yz{z{{{|{{|{{zzzy{z{||{{{}z{z{zz|{{{{{{{||{{z{z{{{z||{{|{|{z|{{{z{{z|{||||zz{{zzzz{{||{||{{{z{{{z{{|{{{{||{z|{zz{{||{|{|{{{|{{{{{{{{|{|}{||{{{{z{|||{{||{||z{|{z{|{}|{|||{{{{{{{{{||}|||{||{{{{{{{{|{||}|||{{{{|{||{||||{||{z{{{{{|{{{|||||{{{z{{{{|{{|||{{{|z{z|z||{||||{|z{{z{{{{|{{z||{|{z{|{z{{||}{{{{zzzzzy{zz{|z{|{|{{z{{{{z|{{{||||{z{z{zzz{|{{{||{{z{{zzz{{z{{{}||{{|{z{z{|{{{|{z{{{zzz{zz{z{{{|{{{{{|{{yz{z|{{{{{{{{{{zz{{{{{{|{|{zzz{z{z{{{z{{{{{z{{z{zz{z{|{|{{z{{|z{zz{{{{|{|||z{z{zzyz{|z{{{|{{zzzz{zz|z|{{|{{{zy{{zz{|{{{{|{{z{{{y{{{{|{{{|{|zz{{{|z{{||z{||{zz{{z{{||{{{{||zz{{{{{{|{|{||||{z|z{z{{{{|{{|}{{{{{z{z{||{{||{|||{{{{{||{}||{|{{|{zz|{|||{}{||}{{{{{{{z|z|{{||{|z{{{|zz{}||||||{|{|{{|||{|{|}|||{|||{{{{}||||||{|{|z{{|||||{||}|z{{{|{{{{|{|{{|{|z{|{{{}{{||{||{|{{{{{{{||{|}||}{z{{{{|||{|{||||{{{z{{z|||}|{z|{{{zzzzz{{|}|{|{{{yzzz{{{|{|}z|{|{{zz{{{{zz|||{{{{{{{{zz{{{{{{{|{{zz{{zz|{z{z{|}zz|z{{|z{{{{z|{{{z{{{z{zz{|{{||zzzzyzzz{{{{|{{||{{{z{{zzz{{{z{{{y{{zz{zz{{{{{}{{zz{yzz{zz|{{{{{{{zzz{zzz{z{{{{{{{{{{z{{|{||{{|||{{zz{{z{{{{{{||{{{zzz{{{z{{||{||{z{{z{zz{{{||{{{{{z{z{{yz{{{|||{{{zz{{{{{|||||||z|{z{zzz|{||z|||{{{{{{{z|{|{{{|{{{{|{{{{{|||||||{{{{z{{{||{|{}||{|{z|z{{{||{{||||{{{{|{{}||||}|{{{{{|||{|{|{|||{||{|{{{|||}|||||||{|{{|{|||||||}||{||{{|{{{|||||z|{|{|{{{||||||||{{z{z{{|||{||||{zz{{{{{{{{||{|{||z{{{{{|||{{||{{zz{zz{z{|{{{{||{{{{{zzz{{{{||{}{{{{z{{zz{|{{||}|{{z{{{{z||{{{|{|z|zzzzz|{{{{{|{z{{zy{zz{{zz{|{||{zz{zz{{z|zz{{{{{{{zzz{{{{{{{{{zzzzzz{zz{||{||{{{zzyyz{{||{{{{{{{zz{z{z{|{{z{{z{zz{{zzz{|z{||z{zz{z{{{{z{{{{{{{{{z{{zz{{{{|{|{||zzz{z{{z{{{{{{|{z{{zz{z{|{|||z||{{{zz{{||{{{|{|{z{z{{{z|{||{||||{|{{zz{|{{{{|{{{{z{z{|{{{{|{|{||zz{{{{{{{{|||}{{|{{{|{|{z{{{|||||{{|{{zz|{|||}{|z{z{{|{{{||||||{{|{{{||||||||{||{{{zz{|{}|||||}|{{|{z{{||{{{||||{{{{{{{|||{|||||{{{{{{|||||}{{}|{{{{|{{||{|||{|{{{|zz{|z{{||{||{{|{|{{{{|{|{{|{zzzzyz|z{{|{|{{{z{{{z{zyz{|{{||{z{zzy{yz{z{z{{|{{{{{zz{{{{|{{{|{zzzz{{{z{{z{{|{|{zzz{{zyzz|z{|{{zy{z{{z{z{{|z|{{{z{zz{z{{{zz{{{{{zzy{zz{{{{z{z|{|zzzzzzz|{{z{{|{{z{{{zzzzzzz{{|{{zz{zz{zzzz{{{||zzzzzzyzz{zz{{{{{{{zz{{z|{{zz{{|{{|{{zz{{{z{{}{{{z{{zz{z|z|||z{|{{{{zzzz{{{{{||{{{{z{{|{{}z{|||{||z{{z{{z|}{{||{{|zyz{{{|{{{|{||{z{{|{z|z||{|||||{{zz{{{|{{}||||{{{{{{{{{{z{||{{|z{z|{{z{|{||||||{z{{{{||||{||}{|{{{{{{{{||||||||{|{z||{|{|||||||z{{{|{{||||||||{{{{z{{{{|{{{|{{zz{z{|{{|||||{{|z{{|zzzz{}{{{{{{{z{zzz{{{|||z{{z{{zz{zy|{|{{{|{{{zzz{z{{|{{{{|||{zz{zzz{|{{z{||{|z{{{z{y{|{|{{{{{{{z{zzzz{{z{z|{z{|zyzz{{{{{z|{|{zz{{{{zz{{{{{{{{z{zzz{{|{z{{|{{z{{zz{z{{{z|{|{{{z{|z{zz{{{{z{|{zz{{zyzz{|{{{{{{zzz{{zz{{z{{{|{|zzzzzzzz{{z{{|{|{{zz{z{{||||{{{z{{{{{{{z|zz|{{|{|z{|{{{{|{||||||{{{z{{{{|z|{|{{{|{{zzz|z{{{}||||zz{z{{zz{|||{{|{{{|{z{{z{|{{{{||{{z{{{{|{|||{{|{|{{{{{{{||{||||||{{{{{{{|||||{|{|{z{z{{{||||{|{|{{{{{{|{{{||}|||||{{{|||||||||{}||z|{{{{}|{|{||||{|{|{{|{||||}|{{|{{{{{z|{{{||{|{{{z{{{{{z||{{|{|{|{z{z{{|||}{||{z{z{{{{{{|{{{{{{z{z{zz{{|||||{|zz{{z{zz{{||{{|}{{zz{|{z{|z{{{||{zyx{{zz{{{{{{{|{{{zzz{z{|{{|{{|zz{zzzzz{|z{{z{{{zzz{zz{{{|{|{{{z{{{z{{{{{|{{{{|{zzzz{z{{{{||{{|zz{z{zy{z{{{z|{{zz{{zzz{{{{||{|{zz{{zz|zz{z|{{{{{{zzzz{z{z{{{|{{z{{z{{zz{zz{{|{||{{z|y{{{{{{|||||{zyzz{|{{{{{|{{zz{y{{z{{{{|{|||{{{|{{{{{{{{|{|{{z{|{{zz||{|{|}||{{{{z{{|{{{|||{{{{z{||z|{{|{{|{{{{{{{{z|{{|{||}|{|{{{{|}{||||}||zz{|{|z{||{|}|||z{||||{{{|}|{{}|{{{{{|{{}|}|{||||{|{{z{|||{|}|}{{|{|{{z|||{{||{{{|{|{{{{||{||||{{{{{{z{{||{||{|{{y{z{{z|||}{||{{{{{{z|{|{|{{||{{zzzyzyzy||{|{z|{|{{{{{z{z||{{{|{{{zz{zz{z{{{{||{z{{zzzzz|{{{|{{{{zzzzzz|{}{{|{{zz{zzz{z{{{{{{{{zz|z|zz{z{{z{{{{zz|yzzz{{z||{{{|{y{{zz{z{{{{z{{zzzz{{{zz{z{||{{{z{zzz{zz{{{{{|{{{zzzzz{z{z{z{z|{{{{{zz{zzzz{|{||zz{{{{{z{zz|z||||zzz{z|y||z{|{||{{{{z{{z{{{{{{||{z{{{{{{{{|{{||{|{{{{y{z{|{|||{||z{{z{{{{}{|z|||{z|{{{yz{{{{z|{|{{z|zz|{z|{||}||{{z|{{{{|{{|{||||z{z{{{{{||{|||{||{{{{{{|||{{|}|{{|{|{|{|||||||}}{{|z{|z{}||}z{|{{|{z{{{|||{||||||{{z{|z{{|||||||{{{{|{||{||{|||z{|{z{{z|{|{{|||{z|{{{{{|||||{{{{z{{zz{{||{{||{{z{yzzzzz{{{z{}{{{{zz{z{z{{{|{||{{{{z{{{zz{{||||z{{z|{z{z{{{|{{z|{{{zy||z|{{{{z{{zy{{z{|z{|{{z|z|{zzz{{yz{|{{{|z|z{{yzz{z{z{{z|{{zz{zzz{z{{|{{||{{{zzzzzz{{||{{{{|{{{zzzz{|{{{{{{{zzy|z{{z{{{{{{|{{z{{{zz{{z{||||{{{{{{{z{||{{{|{{{z{|{{{{{z{{{{|{{zzz{zz{{||{|}{z{z{z{|{{{{{||||{{zzzz{zzz|{{|||z{{{z{{z}||{||||{{{{z|z{{|{{||}||z|{{{{z{|}|}||{{{{z|{|{|}|||||{||{{{||{}|{||{}|||{|{{z{|||{||}||{|{{|{|{{|{|||}{|{{{{|{{||}}|{}{{{{{{{||||||{{|||z|{{{||||||||||{{{|{{{||||{{|}{{{{{{{{||{|||||{{|{|z{z{||{{|||{{{z{zz{{{{{{{||{z{{|y{z|{{{{z{|{z{{z{zz|{||z{{{{{{zzzz{{{{z{||{{{z{{y{zz{{zz|{|z{{z{{zz{{||{|{{zzzz{{{{{{{z{||{|{{z{zz{{z{z{|{|{{{zz{zzz{z{|z|{zzz{zz{{{z{{{|{zzz{zyzzz{{{{{|||z{{z{{zyz|{||{|}yz{{{z{z{{{zz||{|zzz|{{zz{{{|{{{{z{z{{{zz{{||{||{||z{z{{{{{{||{{{z{{{{{{{|{z|{|}{{|{z{z{|{{|{||{{{{{{{{{{|||||||{{{z{{{zz|{|{{|{{z{{|zz{{|||||{{|{{z{|{{{{|||||{{{{{{{{|||{|{|||{||{{|z{|{{{{|{||{{z{{|z|{{|{||{{|{{{{{||||||||}|{|{{{|z{|{{}|{||{|{{{{{|||||}|||{{|{{{{|{||||||{{z{|{{}{||{|{{|||{z{z{|||{{{}|{||z{zz{z{|{{||}|{{zz{z|z{||{{|zz{zz|{{{{z|{|||||z{{{zzzz{{{{||{|z{zzy{zz{{{z{|{{{{z{{{z{{{{{{{||{{{zz{{z{|{|{|{{{{zz{{{zz{{{z{|{|{{{{zz{{zzz{|z|{{{{y{{z{{{{{|||zzz{{z{y{{{{{z{zyzz{{|z{z|{||{z|{z{{z{zz{{{z{z{z{{{{yyzz{{{{{|{{{zzz{zz{z{{|{|{{zzz{{{zz{|z|||||{z{{zyzz{{{z|||{{z{{z{{z|{|{{|{|{z{z{zz{{{{z||{z{{z{|z{zz||||{z|{{}{z{{{z||{{{|{{{{{z{{z{|{|{|{{z{{{{{z{|||||{{{{z|{zz{{||{|{{||{{{{z|z||}||||||{{z{{{{{|||{||||||{{{{{{{||{{}}{}{{{{z{z{|||{|}||z|{{||{|||}|}|||{{z|{|||}||||}}{{{||{{|||}|||{|{{{{{|zz{{||{{|{{z{{{{{{z|||{||||z{zz{{{||||zz|{{{z{{zzz{|{zz{||zz{zz{zz|{{{{||{{{z{{zzz{z{{z{|{{{{{{{zz{{|{{{{|{{{zzzyz||{{|{{|z|{yz{{{{{|{{{|{{{zzzz{z{|{{{|{{{|yzz{|zz{{z{{{|{{zzzzz{z{|{{{{{z{zzz{zzzz{{{{{|{{{{yz{zz||{{|{{z{{zzyz{z|{{{z{|{{{z{z{z{|||{|}|{z{{{yzz||{{|||||zzz{z{{{|z{{{|}{{{zzz{{{|{{{|||{{{zz{|{z{|}{{{}|{{z{z{{||z|{|{||z{{{{zz{{{|{|}|{{{{z{{{|{|{z}|z||{{z|{{||{|||{|{|{z{{{|z{{||}|||{{{{{{{||{|{||{|{{{}z{{||{{{{|}|{{|{{}{||||||{||{{{{z{{|||}{||||{{|{z||}|}}|||{{{{yz{||{{|{}}||{||{{|||||{|{{{}|{{{{{{{z|{{{{|{{{{|z{{{{{|z{{|||{|{z|{z{||{{{||zz{z{zz{z{{{z|{|{z|{yz{z{{}{{{{{{z{{zzz|z{{{{{{{{zzz{y{z{z{|{{}{z{{zzzzz||{{{{{z{z{zyzzz{{zz{{{{|{zzzzz{z{{z{{{{{{z{zzz{z{{|{{||{zzzzyyy{{{z{{zz{zz{{zyzzz{{z|{}zzzz{{{z{zzz{{{{zz{zzzyzzzz{{{||{zz{zzz{z{z{z{|{{{zzz|zz{||{{{{z{{y{{zzyz{{{z{z}{zz{zz{|{{{{{|||{z{{{z{{{{z{{{|{{z{|{z|zz{{{{}{{{z{{|{{{||{|{|{{{{z{z{zzz|{{{{{{|{{{{{{||{{{|||{{|{{{{z|||{||}{|z{z{{{y{{||||||||{{{{{{{{~|{|||}z{{{|{|{{{{|{||}|{|{{{|z{|||{|}|{{{{{{{z|||{|}{{|{{z{{|{|{|{|}||{{{{{z{{|||}||||{{|zz{{z|{{{||||||{{|{|{{|{|z{{{z{{z{{{{{|{|{|{|{{{{{{zzzz||{{{|{z{yzz{zz|{z{z|{{{zzz{{zz{{|{|{{{z|zz{zz|{{|{|{{|zzzz{{{{z{{z{|{{z{{z{zzy{{{z{|{{z{zzzzz{{{{{{|{zz|zz{zz{{{{{{{{{{zzzzzz{z{z{{||zzz{yzzz{z{{z{z{{{{z{{zzz{z{{{z{{{{z{{zz{z{zz{{|zzy{zz{z{zzzz{{{z{z{zzzz{{{{{{|{z{{yzz{{{|||{{{{}{{z{z{z{{||{{}{z{zzzzzz{|{||{||{|z{{z|{{|{{|{|{{{{{z{{{{{{|{{}{|{{||zz{{}{|z||z|{zz{{{{|{||||{|{||{|z{{{|||{||{{{{{{{zz||||||{||{{||{{{{||{{}|{{|{{{{{{{}|||}{|{{{z{{{{{|||{|{|{{{||{{z|{||{||{|{{{|{{z||{||||||{{{{{{{||{|{||||||{{{{{||{{||{||zzz{z{{{|{{{|{{|{|{{zzz{|{|{|zz|z{z{z{z{{zz|{z{{zy|zzzz|z|{z{zz{{zzy{zzz{{{{|||{z{z{{yzz|{{z{{{{{{{yz{y{z{z{{z{zz{{zz{zz|{{{z|{zzz{z{z{{zzzz|{{{{zz{zzyzzz{z||z{{zzzzyzz{{{z|z|zzzyzzyyz{{{{z{{zz{{zyzz|{z{z{zz{z{zzzzy{{zz{z{{{zzzzz{zz{{{{{z{zz{{{zzz{z{y|z||{{zzzz{{{{|z{{{{{{zz{z|{{z{{z|{|{{zz{{{z{z|{}{{{{{{zzz{z{||{{|||{{{y|{|z{|{|{|{{z{{z{{{{{{z{{{{{|{{{|{z{{{|||||{{{z{{z|{|{{z{|}{{{{{{{zy{|{|{{{|{{{|{{{{{{|||{{{{{{{zz|{{|z|}|{||{|{z{z{{}||||{|{|{{{{{{|}z{{}{|{z{z{{{{{{{|{{||{{{||{{|{{||{|||{{{zz|{z|z{{|{||{|{{}z{z{|{|{|{{{z{{{||{{{|{||z{zzzzz{{zz{{{|z{{{{zzzzzz{y{{{|{|{zzzyzzz{z|{{z{||y{zzyzzz|z{{z|{{{zzz{{z|z{{{{{|z{zzyyy{z|{{{||{{zzzyzzz{z{{z{{{{z{zzzzz{z{|{{{{yz{zzz{zzz|{{|{{yzyz{z{z{{{z|{{z{{{zzz{zz{z{z{{{{zzzzzzyzz{z{{{{{{zz{zzzz{zz{|z{{zz{{{zz{|{zz{{|z{zzzzz{{||zz{{|{{z{zz{y{|{{{{{|{{{zzz{{{{{{|{{||z{z{zzz{{||||{{{{|zzzzz|||{{{}z{{{|{{{{{||{{z|{{zz{{z{{{|{{|{}{{{z|zy{z{{|{{|{|{{{{{{{{|}|{|{|||{{{{{z{{{{|||||z{|z{|{{{||{||{{||{{||{|{||{{|{||{|{{{{{||{{{||||{{|{{{{|{{|{|{|{{{{z{z{{|{|||}{z{z{yz{{{|{{{||||{{{{{zz{|z|{|||{z{zzzzz{{{|{zz{{zzz{zzz{z|{{{{|zzzzzz{z|{{{|{{|z{{z{{{zz{zz{{{||yz{{zz{{{{{{|{|{{z{zzzz{{z{{z{{|zz{{{zzz{{z{{|{{z{{{z{{|z{{{{|{z{zzz{{z|z{{{zz{{{{z|zzzz|z{{z|{zzzzz{y{{{|{{{z{{z{yyzyzz{z{{z|{zzy{zzyzz|{{{zz{zy{{y{z{{z{|{{{|zy{yz{{{zz|{||{{|{{y{zzz{{{{{z|{zz{{zz{{{{|{{{|||{{z{z{z{{{{{||{|{{|zz{zz|{}{|{|z{{zz{{z{||||{}||{y{{zzz||{|{z{|z{{{{z|{{{{|{|||z{{{|{{|{{{|}|||{z|{zz{{||{|||}{{zz{{{{{|||{{|}|{{z{{{{|z|{{{|}|||{z{|{{{}{||{||{{{{z{{{{{|||{}|{{{{{z{{{{{||||}|{z}{{z{|{{{||||zzz{z{z{{z|{{}|||{{{{{{z||{{z{|||{{z{z{z{{{{{{{{z{z{{z{{{{{{z{|{{{zzzzz{{{|||{||{{z{zzzz{{||{{|{{z{y{{zzz}{{{{{{{{{z{{zz||{z{{{|{z{z{z{{z{{{{}|{{z{zz{zz{{{{z|zz{{yzzz{{{{z{{{{{{zzzzz{z{{{{{{{{{{{{zzyz{{{{||||{zz{zyyz{{{zz{|{zzy{zyzy{{{{{{{{|zzzzzzzzzz{z{{{{z{z{{zzz|{|{{{||{{{z{{||||{{{||{{{{zz{{|{{z|{{|{z{z|{z{{|{|}|}z|{{{z{{{{{|{|{}|{|{{{{{{|||{||||{{{{z{{||{z{{}|{{{{{{{z{{||{{|||{{|{{{|{{|}|{||||{{{{{{{{|{|||}{|{{{{{{{|}|{||}{|{{{|{||{}{|}|}{|{{z{|{{|}|{|}|}{{||{{|{|{|{{|||{{{{{z|{{||{{||||{{{{{{|{|{{||||{{{{{z{{{||y||||{|z{{{zz{||{{{{|{{{{{z{z{{{|{|{|{zz{{z{z{{|{{|{|z{z|zz{z{{{||{{|{{zzz{z{|{{{|{|{|z{zz||{{{||z|{{{zzzz{{z|{{|{|{|{{{{{{{{{||z{{{zzzz{{z{z{{||{{z{{{zz{{zz{z{{{|{zzzzyzz{z{{|z{{|{z{zzz{{zz{|{{|{{zz{zz{yzzzz|{{|||zz{zz{z{{|{z{{|{zzz{z{z{{{z|{{||{{{z{{z|z{{z{||{zz{{z{{z{{|{|||{z{z{z{y{{{{||{|z|{{{{{{z|||{|}{|{|z{{zz{|||||{||{{{z{z||{||{}||{{|{{{{|{{|{{||z{{{|{{{{|||}||||{{|{{{||{{|||{}}{|{{{{{{|{{{{|}{|{z{{z{{|}{|||{}|{||{{|{|{{|}|||{z{}z|z{{}}}}}}||||{{{{{}||{{}|||{{|{{{||{{}{{||||{{{|{||||||||}z||z{{{z|{|||{||{|{z{z|{{||||}||||{z{{{{||{}|||{{zzz{{{z{|zz{{{{{{{{zzz{{z{z||{|{{|{z{|{z{{z{z||{zzz{{zzz{{{{{{{zzz{{zzy{z{{||{{{|{{zz{z{{|{{{{{{zz{zzz{{{{|z{|{{|zyy{zz{zz{z{{{yz{|zz{zz{{{{{{{zzz{zzy{z{{{|{{|{{{{zzzz|{z|{|{zzzzzzzz{{{zyz{{{{{{{zz{zz|zz{{{{z{zz{zzz{{{{{{{|z{zzzz{z{{|z{{|{{y{{z{{{||{{{|||z{{z{{{{{{{{|||{|{{zz{{|{|{{{|{{{{{{{{zzz|||{{|||zz|z{{{{|{{||{||{{|{|z{{{{||{|{|{{z{{z||{z||{||{||{zz{z{|{||}|||{zz{z{z{}||||||{{|{||{{}}{{|{|||{{{z|{{|}||{||||{{{|{{{{||{||}||{|{|{{{{||z||{||{z{|{{{|{{|||||{{{z|z{{{|{{{}{||{{{{{z{{|{{||{|{{{{{z{z|||{{{|{{{{z{zyy{||{{{{{{{zzzz{z|z|z{|{|{{zz{zzy}{{|{{|{{z{{{z{z{{|{{z{{|z{zz{{{{{{||{{|{{{zz{{z{|{{{{|{zzzz{z{z{{{{z{{{zy{zzzyzz{y|{z{zz{z{zzzzz|{z{{{{zz{{y{zzz{{z{{|{{yz{zz{y{{{z{z{zz{z{zy{zz{{z{|{z{zzzzzzzz|{{{{{|zz{zz{{z{{{z{{||zz{z{z{{{|{{{|||{{|{zy{z{{||{{{||{{{zz|{{z||}{{{{||{{z{z||||{}|{{{{y{{{{|||{|{|{|{z{|{z{|{{{|{||{{{{{zz{{|{|{|||{{{||{|{{||{||||{z{{|{|z{{|{|||||zz{{{{{{}{|||||{{{|z{{{|||||{||||{{{|{{|||}{||||{||{{{{|||{{|}||{||{|{|{|{{{{|}{{{{{{{{||||||}|{{{{z{{z{|}{{{|{||z{{{{z||{||{{{{{{{{|{{{{{}|{{{z{{z{{{z{{}{{{{|{{zzzzz{{{{z|z|{{zz{zzz{{{{||||{{z{zz{{{z{||zz{z{zzz{{{y{{{{{{{{zzzzz{{zy{z{|{{{{zzzzzyy{|{z{z{{z{zzz{{y{z{zz{{{zzz{y{{z{zz{{{z{{{{{yzyz{{z|{{{|z{zzy{zz{|{{|{||zz{z{y{{z{{z{{{{|z{{zzyzz{{{{|{{{{z{zzzz{|z{{{{{{{zz{z{z{{|{{{|{{{{zzz||{{{{{|||{{{{z{z||{|{{{{{z{{z{{{{{|{||{|{{z{zz{{z{{{{|{}{|z{|zzzz{z|{{|{z||{zz{z{||||{}{|{{z|{{{{|}{|||||{{|{z{{{{||{||||{{z{{{{{|}|{{||||{{|{{{|{||||||||{zz{{{|{|||}||{|{{{{{|{{{|||{}|{z|{{{{{|{{|{||||{z{|{z|}{}|}}||||z{{z{z{|{|{{||{z|}{{{|z|{|{|{|{|{{zz{{z{|{|{{zzzzzzzyy{||{z{{{{{zzzzzy||{{{|{{{{{y{zzz{{{{||{{z{zz{zzz{zz||{{{{{{zzzzz{{{{{{{|{z{zzz{z{|{{{z{{{zz{{zzz{{|{{|{|zzzyyyzz{{z|{{z{zy{zzzzzz{{z{{|{z{{zyzzzz|{{z{|z{z{zz{zzz{{{|{||zzzzzyzz{{zz{{zz{{z{zzzzzz{{{||{{y{zzzyz{{{{{{|{z{zzzzy{{{|z{{{{{z{{zz{z{{{{{|||{{zzz{{{{|{{{{||{{{{{z{{{|{|{|{{{{{zz{{{{z{{{{|{{zz{{zz{|||{{||||{zz{{z{{{|{||||z{|{{{|{{{||{||||z{{{zz{{{|zz{|{|{{zz{{{|{|{}{||{|{{|{||{|{|{||||{|{z{{{{||{{{||{{||{{z{||||||{||zz{{|zzz|{||||||{{{|{{{{|{|||||{{{z{z{{|}|{{|{|{{{{{zzy{{|||{|{z{{z{{yz{{||||z{{zyzzzz{y{|z{{{{{{yzyy{zz{|{{{|z|{zzz{zz|{{|{|||{zzz{z{z{{z|{{{{{z{zzz{y{z{z|{{||zzyzzzz{{|zy{|{{z|{{z{{{zz{z|{|zzzz{{yzz{{{z{{{zz{z{zz{{{{{{{|{{zz{z{zy{y|z|{zzzz{yzzyyz{{{{z|{{z{yzzz|z{{{{|zz{zyzzzzzz{{z{|{z{z{z{{{z|{{{{{{|{z{|{z{{{{z{||{}zz{{zy{z{z}z||{{zz{{z{zz|{|{{|{{{z{z{{{|{|{{||{{z{{z{{z{{|{|{{{{|{{zz{z{{|||z|||{{{{z{{z{z{|{}{|z{{z{z{|{{z|{||}{{{{|z{z|||{}{}{{{z{|z|||||{|{||{{{||z|{|||{{}||{{{|{|{z{||{{||||{{|{{{{{||||||{|{{||{{|{{{|{||{{{{{{{|{||{|||{z{{zz{{z{z||{{{|{{{{{{{zzz|{|{{{{z{{zz{zz{||{z|{z{{yz{zzz{{{{z{{{{{{y{zz{{{z{zzz{{zzzyz{z{{{{{|{z{zz{{{z{z{{||{{{{{{zzyzz{{{zz|{{{zzzzzyz{{z{z|{{{zzzz{z{z{|{z{z{y{{zz{zz{zz{y{|{yz{zzzzz{{{{|{{{zz{zyzz{{{{{{{{z{z{{zzzz{{{{{z{z{zzz{z{{z{{yz{z|zzzyzzzyz|{z|{|z{zzz|{zz{{{{zz||{z{{{zzzy{|{{{|{{y{y{zzz{{{{{{{{{{{zz{{{{z{{{z{}{z{zz{z{z{z|{|{{{z{zzzy{{|{{z|||{{z{{|{{{||{{{z|{zz{z{{{{{{{|{{}{{{zzz{{{|||{||{{{z{{z{{{{|||}|{{y{z{z{{||||{|}|{{{zz{{|{z|{||||}{|zz{z{|{||z||||{{{{{{{|||{|||||{{{{zz||{{|{||{{|z{{{{{|{||||{|{z|{{|{z{{{{}||{{zz{zz{y{|||{{|{{zz{z{{z{zz{{{|{zzzz{zzz{{{{{z{|zz{zzy{{{z{{z|{{{zzzz{zz{yz{|z{z{{{zzz{zzz||{{|{|{zzzz{z{{{{{}{|z{{z{zzz{{{{z{|z|{zz{z{{z{{z{{{{zz{{{{{z{{zz{{z{{{yz{zz{|{{z{{|zzy{zz{zz{z|zy||{{{{{z{zzz{{{{z||{z{{zzzzzzz{{{{z|{zz{{zzz{{|z{{zzzzzz{{{{{{{z{|{{z{{zzz|{|{{|{{{{{zy{z{y{|{z|||{{|{{z{{{{|{|{|{{|{{{{{z{{|{{{}{{yz{y{y{{{{{{|{}{{{z{{{{z{|{{|{z||{{{z{|{|{{|z|||{|{{{{{{||{{||}}{{{{{{{{{|{||||}{{{|{|zz{}|{{|||{{{{{{{{|{{||{||{{z{{|{{|||{{{{||{{{{{{{|{|||{}||{|{z{z||||{|||{{{{{{{z{|||{{|||z{{|{{{z{{{||z{|{{{{zz{{{{{{{{||{zz{{{zz{z|{{{{z{{z{z{|{{{|{{{||{{z{{z{z{{{{|||{z{{zz|{z{{||{||{{{{zz{{z{{{|z{|{z{zz{{{{{{|{z|{{zzzzz{{{{{{{{|{{|{|z{zz{{{{{{{zzy{{zz{zz{{{{z|z|z{zzzzz{{z{z|{||z{zzz{z{{{zz||}{{{{zz{z{z|{{{z{{{{{{zzz{{{{{{{{|{{{z{z{{z{{z{|||{zzz{|zz{||{{|||{{zz{zz{||{||}{|{zzz{y{|{{|{{|||{z{{z{{z|||||||{{{{{{z{{{|{|||{{{{{{{|zz|{|{|{|{{z{{{{{||{|{|{||{{{z|{{{|{||||}|z{{{{{||{|{|||||{z{{{{{||{||||}||{{|{|{{|}|{|||||z}{{||||}{||}|||{z{z{z{z}||||{|{{{{{{{{{||{|}|||{|{||{||{|}|||}||{{{|{{|||||||||{{{{{||{{{|{}}{|{{{{{z{{{|{{}|||{{|{z{{{||{{{|z{{z{{z{zz||{z{{{z{{{{zz{||||{{|{{{zz{{{{|{{|z{{{{{{z{z{{{{|z{{{{{{zzzzyzz{z{z|{|{z{zzzzzz{y{z||{z{z{zy{z{{{z|{||z{y{zz{zzz{{{{{{zzz{{{{z{{|{{||{{zz{yzz{z{|{{{z{{z|yzzzz{{{{{{{{{z{zzz{{z{zz{{{{z{zzzzzzz|{|{{{{z{|{{{{{{{z{{{||{{{{zz{{{{z{{{|{|{yzzz{{{{z{||{|{{{{{{zz{z{{{{{|{||{{{{zz}||||{|{{zz{{{z{{||{{}zz{|z{|{{|{{{|}{|{{{{{|{z{||{||{{|{{z{{|{{|{|}{|}{{{z{{zy{|{{|{{||z{{{{{|||{{|}|}{{zz|{|{|||||||}||{{||{{{}|{{{|{{{{{{{||{|||||}|{{{{{{{{{|{|}{||{|{|{{{{||{||||||{|{{{{{z{|{{|{||{{|{{{z{{||{|||z|{zzz{z{{{{{||{{zzyyy{zz{{|{{{zz{zzzzy{z{z{{{{{|zzzzz{zz{z{{{z{{zz{zz{z{{{|z{||{zzzy{{y{{{{|{{|zzz{{z{zz{{z{{{{{zz{z{zyz{{{z{{{{zzzzz{yz|{{zz{{{zyz{zzz{z{{{{{z{zz{yzzzz{{z{{{{zz{{zzyzz{{{{{|{{z{{{z{zz|z{{z{z{zzyzzzz{z{z{|{{zz{zz{{z{{{{{{{zzzzz{{{{z|{|{z{{{zz{zz{z{{{{|||{z{{z{{zzz|{{|{|||{{{{z{|{{{|{{|{{{{{{|zz{|{|{||{{{{{z{{{{{{z{||||{{z{{z{{{||||{|{|{z{{{{||||{{}||{{{{{z{{|||||||z{{z|{z|||{|{{|||{{|z|{|{}|{|}|||{{}{{{{{}|||}|{|z{{{|{{|{{||||{|z{{{|{{||{{|{{||{|{{z{{||{|{{|{{|{zz{z{z|{|{{|{|{{z{{|z{{{{{{{|{{{{{z{z{{||{||zz{{{zzz{z{z|{{{{{zzzz{{z{{{{|z{|zzzz{{|{|{{|{|{{z{z{z{|z{z|{zz|{{{{{z{z{z{{{{||{{z{zzzzz{z{{z{z{z{{{zzzz{{|{{{{zz{zzzz{z{|zzz{{|{{z{zzzzz{{{{{|{zzzzzzyz{zzzz{{|{z|zzzzz{{{{zzzzz{{{{y{zz{{{{{{{{zzz{{{zz{z{z{{{zzzzz{zz{{|{z{|{{{{zzz{{zz{z{||{|z{{zz{{{|{|z{z{z{{{z{{{|{{{||{}{zz{{zzz{{{{{{{|{{{{z{zz{||{z{|{z{{{{|{{z||{|{|{|{y{{z{z{{{{||||z{z{{{{{{|{|{}{{|{z{{zz{{{|||||||z{{{{{{||||}{||{z{{y|}||{{|{}|||{{{|{}}{||z|||{{z{|{{{{|}|{|||||{{{{z{{{|||{{||{{{|||z{||{{|||||{zz{{zzz|{||{||{{{zz{{z{{|{{|{{z{z{{zzz{||{|||{|zz{zzz{z{z{{{{|{{|z{zzz{z{|z|||{{{z{|{z{{|{{|{z{{zzz{zz{{|{z{{|{z|zzzzz{{{{{|{|zz{z{{yzz{zzz{{{zz|z{zz{{{{{z||{{{{{yz{zzz{z{|{{zzz{zz{z{|{{zz{{{{z{zzzz{{{z{{{{z{zzzzzzz{z{{|{|{zzzy{{zz{{{{{z{{{zz{z{yz{z{z|||zz{{{{zz{z{{|{||{zzz{zz{|{|{z|||zzz{{{{{{{|{|{{|{zz|zz{{{z{{|{||{z{|{z{z{|{{|{|{{{{z{{zz||||{{|{{||zz{{z{|{{|||{{{|{|{{{|||||{|{{||{{z{|{{|||}|}|{{|{{z|{{||||{||{{{|{{|||||||||{|z|{{{{{|{|||}|{||{{|{z{||||}{||||{||z{{{|||||||{{||{{{{{|||||}|{{{{{{|||||}{}|||{|{|{{||{zz{|{|{{{|{z{{z||{|{{{{{{{{z{|{{||{{z{zzyz|zzz|{{z{z|{zzzzz{z{{|{{|{{|{z{zz{{z{|{{{|}{zz{{{{{{z{|{{|{|{zz{y{zz{{{z|{{{z{z{{{{{{z{z|{z{{{zz{yz{|{{{{{{zzzyzzzz{{{{z{|{zzz{zz{z{{|z|{{{{{zzz{yzzz{z|y{{zz{yzzyyyz{|{z{{z{z{yyzyzzzz{{{{|{yzzzzz{z{{z{{|{z|z{{zzz{{{zz|||{{z{{{{{{{{z|{|{z{{{z{{{{{{||{zzz{z{z{z{{{{|||{{{{z{yzz{||{{|{|{z{z{{{z{{{{|{|{|{{zz{zz{|{{|||||{{{{|{z||{|}||{{{{{{||{|}|{{||||{{{{{{z|||z||{||{{{{{|{{{||{|}{{z{|{{{{||{||||{}z{{{{{{{{||{|{}{{|{{z{{{}{|{|||{{{{|{z|{|||{{{{|{{{|{{{{}||{|||z{||{{{{{|{{||||{{{{{|{{{|z{{||{{zz{yz{z|{{|{{{{z{z{zyzz{|{{{{{|{z{z{{z{{{{|{|{|zzzzz{{{{{|z{{{{{zzzzzzz|{{zzz{{z{zz{{{z{{{{||z{zz{z{zz{z|{{{{{z{{{zzz{{{z{yz||{{{{zzzzz{{{{{{{z{zzzyz{z{{{{{{{{zzz{zzzzy{{{|{{{{zz{yyzzz{{{{z{|{zzzzzzxz{{z{z{{{zzzz{zzz{|{{{{{{|{{z{y{{{{zz|{{{z{zzzzz{{{z{{||{y|{{y{{{{{|{{||{z{zz|{z{{|z{{{|{{{|zz{z{{z{{|{||{z{{{z{{||{{||{{{{z{zz{{|||{|{z{|{{z{|{|}{{{||{|{{{|{{{{{|||{|{{{z{{{zzz|}{|||{{{{{{|{{||{z|{|{{|||{|{{|||{||||}{{z{z{{{}{}{|||{||||{{|{|||{|{||z{z|{z{{{{|{}|}||{{|zz{|||}|{|}{{|z{{{{{{||{{|||{{{|{{{z{{{{{|{{zz|{z{{z{{{{{|{{z{yzz{z{{{{{{{zzzzzzzzz{z{z{||{z{yz{yzy|{{{{{|||zzzz{z{{{{{{{{{{{{zyz{zz{z{{|z{zz{{{z{z{z{{{{||{{zzz{zz{{{{z{{{zz{yzz{z{z{{z{{{zzzzzyzz{zz{{z{{{z{{zyy{{{{z{|{|{{zyzzz{{{{|zz{zzzzzz{z{z{{z{{{{{z{zzz|zz{z{{{{{zz{z{zzz{{z{{{{{{zzz{zzz{{|{{|||{z{zzy{{||{z{{||{{||y{{yz|{{||||||{{{z{{z|{|||{{{z|zy{z{y{{{{{{{{{{z{{{{||z{|||{||{{{{z{{{|||{{|{{{{{{{|||||{|||z{z{{zzz{}|{|{{{|{{z|{||{{|}|||}{{|z{|{{{||{||||{{{{{{z{{||}|{|||z{{{{|||{||}||{{z{{{{{|{|||{{}||{z{{{{z||{||{|{{{{z{yz{{|{||||{{zz{z{z{{{{{{{||{{{{{zzz{|{{{{{{{{zzzzz{z|z{{z{{|zzz{zz{{{z|||{{{{zz|{{zzzz{|||{|z{z{z{{{{{{{{{{{{{z{{{yz{zz{|||zz{z{z{z{z{{{{|{{z{zzz{{zzz{z{{{{{{zz{{{{z{zzz{|zzyy{zzz{{z{{{{{{z{yzz{z{{{zz{{{|y{{zzzz|{z{{{{|{{zz{{zzz{{z{|||{zzzz{zz{{|{{{{|zzzyz{zz{z{|{{|||yzzzz{y{{|{{||||z{zzy|{{{{{{{||{{{z{{z{||{|{{{{{{{z{{{{{||{{|||{{zzz{{{{{|||{|{{z{z{yz{{{{{|{{|||z{{{{{}|||{{|{|{|{|z|{{{{||||}{z{{{{z{{||{||||{{{||{|||}|||}}}||zz{|{{{{||||}}{{{z{||{{|||}||{|z||{{{{z|{{|||||z{|{{{|{{|}}|||||{{|{z{{|||||||{{|{{z|{|{{{{||||{|{{{{zz{|{|{{{{z{{{z{z{|{{z|||zzzz{zzzz|{|{|{{{zzzzz{{z{{{{{||{zzz{{zz{{{|{{{{{z{z{{zzz{{z{{{}{z{zz{zz|{z{{|||{{{zzz{{z{{{z{{{{zzz{zz{{z{{{|{zz{z{{{zzz{zz{{{{zy{{zzzz{{|{{{{{{zzzzzzz{{{{z{{{zz{zzzzy{z|{|{{{{z{{{{zz{{{{{{{z{z{zzzzzz{{z{|{{z{{{{{zzz{{|{{{|z{z{{{{{{{|z{|{{z|{zzz{{{{||{{z{|{{{{z{{|{|{||||{{zz{zz{{|z{{||{{{{{{{z{{{||z|||{{{z{zz{|||{|{|z{zz||{{{|{|}{|||z{{{{{|||||{}||||{{{zz{{z||{{||||z|{{{{z}||||{|}|{{{{|||{|z|||~{|{{{z{{{{}|||{||{{{z|{{|||{||||{{z{{z||{{|{{||{}{{|{{{z{{{||{{z}{|zz{{||{|{{||||{{z{z{||{{|{|{||{{{z{z{z{{{{|{z|z{{{zz{{z{zz{||{zzz{{z{{{{{{{z|{|{zz{yzz{z{z||}{z{z{z{{{z{{|z{}{{{{{zzzz{{{{{{{{zz{{zzzzy{zz{{{z{zzz{z{z||{|{{zz{zzz{zzz{{}{||{|y{z{zzz{z{|z{{|{z{z{z{{z{{{{{{{{zz{zyz{z{{{{{{|z{{z{z{{{{{{{{{{zzzzz|zz{z|{|{|||{y{z{|{{{||{{||{{{{zzz{{{{{{|z|{z{{z{|z{{z{{{|||{zzzzz{z{||{|{|{{z{z{{{z{{||||{z{{zz{z{z{|||||{{{z{{|z|{|{z{|{{|z{z{{{z{{|{|{|}}{{|{{{|{||{|||}|{{{|{{z{||{{{||||y{||{{{{||{||{{{|||z||||||{}|||{||{{|}{{}}|{||}{{{{{|{{}|||}|||{{{{{{{||}{{{{|}|{{||{{{||||||}|{{{z{{|{{|{|{||}{{{{z{{{{|{{{{||z{{z{z{{{|z{{{{|{z{{z{{z{{{|z{{|{{{{{zzy{|z{{|{{z{zz{{z{|zz{}z|||{zz{{{{z|||z|||{{{zzzz{{z{{{|{|{{{{zzzz{{{z{{{{|zzzz{z{{{{yz|{zyz{z{{{z{zz{z{|{{{{z{yzzz{{{||{{{{z{yzz{z{z{{|z|{{{y{{zzz{||{{{{{z{z{zzz{{|z{||{{|{{z{z{z{{z|{{{zz{z{zzz{{z|||{{{zz{|{z{|{|||||}{z|zzz{{{||{z|{{{z{zz{zz|||{{|||z{{{{z{{|{{{|{|{{|||{{{||{{z{|||{z{{{zz{{{{{z{|{|z{z{{{{{{|{||{|z|{{{{{{z|{|{{}}{z{{{{{{{|{}|||}{{{{{{|{|||{{}}|{{{{{{|{||||||{|}{{{{|{|{}|{|||||{{{{|{||{||||{{|{{{|{{{{|||||||{{{|{{{{{{||||{|{{{{{{{{{||{{{||{|{{{{{{|{|||{||zz{zzz{z{{{||{z|z{yzzz{y{{|{{z{|{{z{{zz{{{{z{|{{{z{zzzzz{z{{{|{{|{zzzyzz{{{zzz{|{{{zz{zz{z{{z{{{{y{zz{zz{{zy{{|{{{{zz{yzz{{{zzz|zzzzz{{{{yzzz|z{zz{yzzzzz{{{{|{z{zzzzzyzz{{{|{{|zz{zy{zzz{{|{{||{y{{{yz{z{{z{{{|zz{zzzzzz{{{{|||{z{{z{yz{{z{{||zzz{z{{{{{|{{{{|{{{{zz{z{{z{{|{{|{{{z{zyz{{|{||{|{{{{zzzz|{||{|{|{{{z{{{zz{|{{||{||{zz{{z|||z{{{|{{{{|z{{{{{{|||{{zz|zz{{|{{{|{||{z{{{{{{||{||{||{{{{|z{{{||{||}}|{{|{||{{|{{{{|||z{{{{z{{}||}||||{{{{{{z|{{|||{||{{||z{{{{{||||||{zz{|{|{|z|{|||z{{zz{z{{|{{||}{{{{{y{{{{{z||||{{{{{{zzz{z|||{{{{zzyzy{zzzzzz{zzz{zzyyzz{z|{{{||{yzzzzzzz{{zz{|{{zzzzyyzz{{{z{{{{zzz{{zz{z{{z|{|{{{zzy{z{{{{zz|{zz{zyzzzzz{z{{{z{zzzzzzz{zzzz{{{zz{zyzzz{z{{z{{{zzz{yzy{{{{{z{{{z{zyyzyzy{{{{{{{zzzzzyzzy{z{zz{z{{zzy{y{{|yzz{{{z{zz{{zz{{{{{{z|{z{yzz{zz{z{{{{{{zz{zz{z{{z|{{|{zz{zzzzy{{{{|{|{zz{{{yz{{zz{z|||{|z{z{{z{||{{|{z{y{{{{z{|{{||{|{{{{zz{zz{|{|||{|{{z{z{{z{|||z{||z{z{zz{{|{|{{||||{{z{{z|||{{||||{zz{z|{||{{{}|{|{zz{{{{z||{|{{|{{z{z{{{zz{|||{|{{z{{{{{{{z{|{{|{|{{{z{z||{||{{|{{|{zz{zz{{{||{{{|z{z{z{{|{||{|||z{{zzz{y{{z{{{{{{zzzzzzz{{{{{{{|{{{{zyzz{z{z{{{{z{{{zy{{{{{{{{{|zz{zz{zzzz{|{{|{z{{zz{zz{{z|{z{{z{{zzz{z{|zy{||zz|zzz{z{{{{{{{||{z{zz{zzzz{{{zz{zzzzzz{zzz|||{z{zy{zz|zzz{{z{{{{zzyzyzzz{{z{z{{|{{zzzzz{{{{z{z||z{zyz{zz{zzz{{{{{z{zyzzzzz{{z|{{zzz{zz{{{{{{{{{|{||{{zy{{{{|{{{|z{{{{{{{z{|z{z|{{{{z{y{zz{{{{|{{{{{z|{zz||{{{|}{{{{z{zz{{z{{{|||z{{z{{zz{{{|||{|{{{{{z{{||{||{|}{{{{z{{z{||||{{{{{z{{{|{|||{{|||{||z{|z{{||||{{}{{|{|{{{{||||||||z|z{|{{}{{||}|||z{{{{|{{{{||||||{{{|{z|{|{{{|{|}|{zzz|{{||{{{||{{z{{z{zz||||{{{|{|{zzzz{|{||{z{z{zyzzz{zz{z{|{|y{yzz{zy|{{{zz||zz{zzzzz{|{{|{{{{zyzz{zz{{{|{z{{{{{zz{zy{{{{z{{|{{zzyz|z{|zzz{{z{|zyzzzz{{{{{{z{z{|zz{zz{zz{z{{|zz{yzz{{z{{z|{{{{{zzzzz{{|z{{{{|{z{{zz{zz|{{{{{|{zzzzzzzyz{{zz{zzyzyzzzzz{{{{{{|{z{z{{yz{z{zz{|{z{zz{{z{|{{{{z{{{{{{z{z{{{{|{{{|z{z{zz{z{{{{||{{{{|zzzzzz{zz{{|{{{z{{|z{||{{{{|{|{{z{|z{|{|z|||{{{z{z{{{{||{||||z{z|zz{{{||{||{||{{{|{z{|{}{||}{|z{{{{|{{|||{||||{{|{|||{{{{|||}|{{|{{{{||{|{|}{|{{{{zz{{|||||}|{z{{{{{{{}|{||}||{|z}|zz{|{z||||{{{zz{{{{|{{{||}{{z{z{{z{{{{{{}|{{{zzzyzz{|{zz{zz{yzzyzzy{|{{zz{{zy{{y{zz{{{{{{{{zzz{z{z{{{|{{{{{z{{zzzzz{{{|z{{{yzzzz{y{{{{{{{{{zzzzzz{{{zz{{{z{zzzzzzy{z{zz{|zzzzz{{zzzz{{z{{{{{z{yzzz{{{{z{zy{yzzzyyz{z{{z{|{{zzzzyzz{{{|{z{{zzzzzzzyz{{y{{{{zzz{zz{zz{z{{{{{{{zz{zzz{{{zz{z{z{{{{{{{z{{{{{{|{{{zzz{{{{{zz{{{zz{{zz{z||{{{{{|y{z{{z{{z||{|{{{{{{{{zz{}{{{{z|{|{{{yzy{||{{|||{|z{|{zz{{z{|||{|{{{{{z{{|{{|{||{{z{z{{z{{{||{{|}|z{{zzz{{}|{|{{|{{{z{{|{|{|{||}|{{{{z{{zz{|{{{{|{z{{{{{{|{{|{{|{{z|{{z{{||{|||||{|{{{z{{|||{||||{{{yzz|zz||{z|||{|zzzzz{{{{{|{{{z{{z{z{z{{{{{{{z{zzzz{{zz{{|{zz{{zzz{zzy{{{{zz|{zzyz{{{y{{{{{{{{|z{zz{z{{{|z{{{{{zzyz{zz{z{{z{z{zzzzzz{{y|zzz{{{zz{z{zyz{y{|{|z{{z{yz{z{z{{{y{{zyzzzz{{zz{z{{{zzzzzz{yyz{{zz{{z{z{{zyzzyz{{z{zz{zzzzzzzyz{{zz{{zzyzzyzzzz{z{z|{{zz{zz{z{{{{{{{|zz{z{{zzz{{{{{{{|{z{zzy{z{zz{{{|{y{{yzzzzz{||{{{{zz{{zyzzz{{{{|{{{{zz{{z{{|{z{|{{zzz{{zzz{{{|{|{{|{z{{{z{{{|}{{||z{zz|z|{|{{{|{|||{{zz{z{{{{{|{{|{zz{{{|z||{||||{{{|{z{|{{|{|||||{{{z{z{{{|}|{{|{{z{zzz{{}{{|{{{{|{{z{{{|{z{{{||||{|{{{||{{{|{|{{{{{{{{{|z{z{}{{{{{z{{zz{{{{{{|{{zzzyzz{{|z{{|{{zzz{{zzyzz||{{{z{{{{zzzzz|{{{{{{{{|{{zzzzzzz{{{{{{{y{z{{{{{{{zz|{{z{z{zzz{{|{{{z{{z{{{{{{y{z|{{{|z{yzz{z{{{{|z{|{{{zzy{z{{{{{z{{{zzz{{y{{{{z{{{|{{zyzzzzz{z|{{{{{{{z{yzzz{|z{z{{{zzzyzzzzzzzz|{|{{{z{{zyz{{{zz{|{z{zzz{z{{{|{z{{|{zz{zzyzz}{{z{{|z{{{zzzz{{{{||||z{{{{{{z{{{|{{{|{{zzzz|{{{{{{|{{z{{{{{{z||{{z|||{{{{{{z{{z{{{{{{|{|z{{z{{|{||{||zz{{{{{{{{|{{||||z{{|zy{{{||}{|{|{{{{{|{{}||{|{|{{{{{{{{{||{||}|}z|{{|{{{||||||{{{{{{z{{{{||||}{{{{{{{{{|{{{||}|{{{{{{|{{|{|{|||{{{{{z{{{||{{|{|{z{{z{{{|||{{||{|{{z{y{{|{||{{{|{{zz{z{z||{{{|||zz|zz{zz{{{||{{|{{yz{zzz|{{z|{||{{y{{zz{|{||z{{|{zz{zyzz{{{zz{{{zzz{{zzz{z{{z|{z{{{{{{zy|{{z{{{{{z{z{zzz{z{{{{{{zz{zz{{z{z{{|||{{zzzzzzz{z{z{{||z|{{y{z{{{{{zz{{{{zz{z{yz||{{z|{|zzzz{zzz|z{{|{{{{zzz{{z{z|{{{{{{zz{{zz{z{{{{{|}{{{{zz{z{|||{{|}zz{{zzz{z{{|{|||{z|{{z|{{||||{{||{zzz{{z|||{{|||{{|{{z{{{{|{{|{|{{{||{{{{|||{|{|{|{|{{|}{|{|{{}{|{{{{{|{|||||{}}|{{{{{{{|}{{}||||z{{{|{||{|{}||||{{{|{{{{{|}|||{{{|z{z{|}{|{||{|{{{{{z{{||||||||||{{|{{{{|{||{||{|{z{{|{{{{{{{|||{{{y{z{{||{|{|||{{{{{z{{|||{{{zzzzyz{{z{|{|{{{zzz{{{zzz{|{{|{{{z{zzzzzz{{{{z{|{{{{{{z{{{{|zz{{|z{zzzz|zz||{z{{{{zzz{zzzzz{{{{||{z{{{z{z{{zz|{{{{zyzz{z{|{{{{|{{zzzz{z{zz{z{{{{{{{zzzzyzz||{{{}{z{{zz{{z{{{|{{|{zzzz{zzz{zzz{||{{{zy{z{zz{{{z{z{zz{zz{zz{z|{{||{{zyz{z{yz{|{z|z{{{|zzz{{{{||{z||zzz{zz{z{|{{{{|{zz{{{|{z|{|{{{{{|{{{{{{z||z{{{{{z{{|{zz{{|}{{|{{{z{||{{|{{{|||||{z{{|{{{||{||||{{{{{{zz{{||{|||||{{zz{zz|}|}{||}|{{z{{{|{|{|{||||z|{{{{z||||{|||{{|{{{{|}|}{|{{{|z|{z{z}{{z|{}||{{{z|{z||{|||||||{{{{{zz|{|||{|}{{{z{z{z{||||{|}z{|{z{zy|||z{{z{z{{yzy{z{{|z{{{{z{zzzzzz{z{{{{{|{z{{zyzz{{{z{|{{{zzzz{{zz|{{{{{{{{zzz{zy{{||{{{|zy{z{zzz{{{{{{{{{z{z{zzzzz{|zz{{{z{z{y{zz{z|{|{{{zzz{y{z{{z|{z{{{{z{z{{y|z{{{{|zz{{yz{z{z|{z|{|{{{zz{z{zzz|{{{z{{{{z{zzz{{{{{||{z{z{{zzz{{{{{}|{{{zzzzzz{{{{{|{{zzz{z{zz{{{{|z{{z{{{{{zz{{{{{|{|z{yz{{zz||{|z|zz{z{|{zzz|||{{z|{{{{{{zzz||}{z|||{z{{{|z{|{|||{||{zyz|{{{||||{|||{z{{z{{z|{{{|||||{{{|z{{{||||{{}{{|{||{{||{{|{||{|z{{{|z{|||||}||{||z{{{{|||{|}|{{y{|{{{|{{||}|||{{{|{{{{||}||||{z{z{|z{{|{||{}}|{{{{{{{{|||{{|z{{zzzy{{{{{|{zz|{{yzzzzzz{{{{z{{{{z{zzzyz{{z{{{{{{zz{zzz{z{{{{{{{{zz{zy{{{|{z{{z{z{zzyzz{z{{{{{{{zzzzzzz{{|{{{z{zyz{zyz{zzz{{|zzzz{yzzzz{z{{zz|{zzzzzzzy{{{{zz{z{zzzzzzzzy{{{{|{zzzzzyzz{{{{z{|{zy{zzz|zy{{{z{z|{y{z{zz{{zz|z||{zz{yzzzy{{{{{{{{{zzz{yzz{z|{{{{|zyzzz{{z{{{|{|{|{{z{{z{{{{zz||{{{{{z{z{z{|{{z|{{{{{zzz{{{{{|{{|z{zz|{{{z{|{z{|{{{z{{{{{{z{||{{}{z{|{{{{z{||{}{{|{{{|{zzz|||{|{}{|{{{{||{{||{{{|}{{|{z{{{{{||{{{{|zz{z{{{z|{{{|{{z{{|zz{{||||{||{|z{{{z{{{{|||||}|{{{{|z{|||{||{|{{{z{{{{{{{|{||{||{z{z{{{||{|{|{{{{z{z{zz{{{{zz{zzzz{zzy{{z{{z{{|zzzzzyz{|z{{{||{zzz{y{z{z{{{{|{{zzzzzzzz{||{{{{zz{yzzzxzz||{{z{zz{{{zzzz{z|z{|z{z{{y{zz{zzzzz|{{zzzyzyz{zzy{z{zzzzzzzzzz{{{z{{zz{z{zzy{zz{{{|{{{{{zyzyzzzz{{z{{{{zz|yzz{{{zz{{zzz{zzzzzz|zz{|{{{zy{y{zz{{y{{{{z|{{z{yzzz|z{{|{{zz{{zzzz||{|z|{|zz{zzz{z|zzz|{{{{{zzzz{{z{z|z|zz{zzzz{{z{{{{{|{zzz{{{zzz{|z{{|||z|z{{z{{|{|||{||{{{{{{{z{{{}{{|||{zz{{{y{||{{{{{{{{{{{{{||{{|}||{{{{{{{{||}{|{|||{{{{{{{z|||{||{{{{z{z{{{{||{|||{{{zz{|{{|{||||{|{||{zz{|{{}{{|}{{{z{{{z{{{{{{{||zz{{{z{|{||{{|{{{{{zz{zzz|{|{zzzzzy{{|z{||{z{{|zzyzzyyz{}z{z||{z{zz{{z{|{z{{{{zzy{z{yzzz{{zz{{|{zz{zzzz{{{z{{z{{z{yzzz{z{{zz{{zzy{z{y{{zz{z{zz|zzzyz{zzzz{{{{{{z{{zzyzzz{{{{{{zzzzzyzyyzzzzz{{{{z{zzzzz{{z{{z{{{z{{{zzz{{{{{|{{{zzz{yzy{{{zz{{z{yz{zzzy{{{{{{|{{{zz{z{z|{{{{{{{{zz{zy{z|z{{z{{{{z{z{z{{{|{|{|{{{{{z{zzz{{{{|{{|{zz|{z{{{{{{|{|{|z{{{z{{{||{{{||{{{zz{z{{{|{{|||z{|{{{{{||||{||||{{{z{zz{|||||{{{{zz{z{{||{{}|||{{|||{{{{}|{||{|{{z{zz{{z|{{|||||{|||{|{|||||{}{|{{{{z{{|||{{|{||{z{{{{{{|||{|||{z{zz{{{{{{{||||{z{{{{z{{{{|{{z{{z|z{zz{|||{z{z{zz{{zzzyz{|{{{{|{zzzzz{zz{{{{{{{y{yyz{zzz{{|{|{zzy{zzzzzz{{{z{{{zy{zzzyyzzz{z{{{{zzyyzzzzzz{{{{z{{zzyzyyz{{{z{{{{yyyzzzzzz{zzz{{zzzzzzzzz{{yz{{{{zzzzzyz{{{z{{z{{z{z{yzzz{{{{z{|{z{zzzzy{zzz{{{{{zzy{zzyzzz{z{{zzz{zzzzyzzzz{z{|zzzy{yzz{{{{|{|{{{z{zyzz{z{|z{z{{z{{{{z{{{|{|{||{{{z{z{{z{{{|{{{{z{zz{zy{{{{{|{z{zz{zyzz|{{{{{|{{{{{{z{{{|{|{||{zz{{{{{{{|{{{{||zz{{z{zz{{{{{|{{{{z{{{{{|{{||{|{z{z{{{{{{}{|||{{|z{{||{{{{|||||{{{{{{z{z|{|{{{|||zz{{{{|{|{{|{{{{|{{{{{z{|{|{{{|z{{zzzz{{{{|{|{{|{{z{z{{{|{|{{|{{y{yzzzzz{|zz{z|zzy{zzzzz{{{z{{{{z{zzyyz{{|{{|{|{z{zz{zz{zz{{{{{zzzz{zz{zz||{{|{{{{zzy{z{{|{{{z|zzzy|{zz{{zzz{{z{zzy{zyzzz|zzzz{{zzzzzzz{{z{{{z{zzzz{zzyz{z{y{{{zzzzzzzz{{{z||{{z{zyyzyz{{|{{{{|zzzzzzzzzzz{{z|{z{zz{y{zz{z{zz{zzzzzz{zzz{{z|{{|zzzz{z{zz{{{||{{z{{{zzyz{{{|{||{z{{y{z{{{{{z{{{zz{{{{z{z{{z{{|{{z{{zzz{z|{{{{{{{|zz{{{{z{{{z|z{{zzz{{{{||{{|{|{{{|{z{{z{{|{{zz{||zz{{{{z{||{{{}{{z{{{{{{||{{{|{{{zz{z|{{{||}||{{|{{{{|{zz}}|z|||{{||{{zz{{{{||||{{{z{z{{{{{{|{|||{z{{{{{{z{{{{|||{{y{z{z{{|{{{{{z{{z{zz{z{{{{{{{{zzzzz{z{z{{{{{{{{zzz{zzzz{zz{z|{z{zzzyz{{{z{{z|{zzyzz{zz{z{{{{zzzzzzzyzz{z{{zz{zyzzyzzy{{z{z{{{z{zzz{zzz{{y{{{z{x{zzyyz{{{{{{z{zzzzzyzzy{z{{z{zzzzzzyzzzz{zz{{zzzzyzyyzzzzz{|{{zzzz{zzyzz{|z{{zzyzzzzzy{z{zz{z{z{zz{z{zz{z{{z{{z{{yzz{z{{{{{{{z{zzzzzzz{{{zz{{{yz{zyz{z{z|z{{{|zz{zzz{z|z{{|{z{z{{y{zzz{z{zz|z{z{{{z{{zz{{{{{{z{yzz{{zz|{{z|{{{{|{{{{{|{z{{|{|{zzzzz{{{{{{||{{|{z{zzzzz{||||{{{{{z{{{{z|||||||{{zz{z{{z|{{{{{{|{z{{|||z{|{|z{|||z{{z|{{{|{{{z{{{{y{z{zz{{{|{{{||{{{{|z{{z{|{{||{{{{{z{{z{{{|{{{{{zz{z{zz|{{|z|{{z{z|zz|{z{{{|z{zzzzyz{z{|{zz{{}{{z{zzxz{{{{{{|{z{{y{zzyz{zz|{{{{yz{{yzz{{||{{{{z{zzzzz{{{|z{|z{zzzz{z{z{z{zz{z{{{z{z{{zzz{{z{z{zyz{{zz{{zz|{{{{zzzzzz{zz{{{{{{{zyyzyzz{zzzz{{{{{y{{zzzzz{{{|{|{yz{zz{zz{z{{{{z|{zzz{|zz{zz{z|{{{z{z{zzz{z{{{{{{{zzz{zz{{z{{||{|{z{{zzzz{z{{{|{{{z{zzz{z{{|{{{||{{{|{z{{||{z{|{{{{{z{{{z{|{|{{|{{z{z{zy{|{{{{{|{{{{z{{z{{{{||}{{{{z{{{{{||{{{||||{z|{{{{|{|{{{|{|{{{|{|{|||{||||zz{{{{|{{|z||}||{{z{z{{{|}{||||{|{{{|{{z|||{{|||{z{z|{|||{{{}{}|||z{{{{{|{{||||{z{{{z{{{{{{{{||||{{z{{zz{{||||{{{z{{{zzz{{{{{|{|{zzz|zzzz{{{{z{{z{zzzzz{z{{z{{z{z{zz{{{{{z{{{{|{{z{zzzz{zz|{|{{{{{zzz{zzz{{{z{z{zz{zz|y{{{{z{z|z{zzzzzyz{{{{{|{{zzzyz{{zz{{z|{{|{zyz{zyz{z{|{z|z{zzzzzz{{z{{{{|{{zzzzzzzz{{|{z||{z{{zzzzy|yz{{{{{z{zzzzz{{z{{{{{zz{zzzyz{{{z{{|||{zz{z{z{{z|{{{|{y{yz{{{{{{{{{||z{{z{{{z{{|z|{{{z{{{{z{z{||{{|z{|{{{{{zz|{{|{{{{{z|{{z{{|{|{{|{zz|{{{{z{|||||{|{{{|z|z{{{}{{{{||}{|{zzz{|||{{|{{|{z{{z{{}|{|{||||{{{||{{{||{{{{{|{{{z||{|}}|||}{|{{{z{{{z{{|{|{||{{{{{{{{{|||||{{{{|||{{{||||||{{{{{{z{{{|||||{}{{|{{{{z{{|{z{|{{{{zz{{z|{{{|{z{zyzzzzzzzz{{zz{{zzzz{z{zz{{{{{z{{{z{z{{{{z{z{{{{{zzzzzyzzz{{zz|{z{{z{y{z{{|{{{||zzzy{{{zzz{{zz{{zy{{zzzyzz{z{{{zzzzzyzzzzzzz{{{{zzz{zyzy{z{z{{z{{z{zyzzzz{{{{|{zzz{zzzzyz{z|zz{{zzzzzyy{z{zzz{{{z{yyyzzzz{{{{{{{zzzz{{zzz{||{{{{{yz{zz{zz{{{{|||{z{{z{zz{{|{{{{{{z{z{{zz{{{{|{|{{zzzzz{z{{{|{{|{{{zy{zzz{{|z{||{z{y{{{z{{{{{{{{{{z{{{{z{|{{|{|||z{{{zz|{{{{|||}{zz{{zz{{zz{||}|{|{{zzz|{|||{|{}{{{{z{z|{{|{{}||||zzyz{{|{||||}||{{|{z{{{{{|{}{|||{{zz{{{|{{{{|{|{zz{{{{z|{|{{|{{zz{z{{zz|{|{|||||{{{z{{z{|z||{||{{{z{{{zz{{|{|{|{zz{{z{z{{{{{{{{{{{z{z{y{{{zz|{|{{zzzz{zzzzz{{{|{{zyzzzz{|z{{z||z{{zzzzz|{{{{{{{{zyz{{{{zz{z{{{z{zzzzz{{yz{{{|{{zzzzzzzz{zz{{||zzz{zzyzz{{zz{{{{{{zzy{yz{{{{{|{{zzzzzzyzz{{{{{||{zzzzzzzz{{{z{zz{z{yzzzzz{{|{{{{zzzzzzzz{{{{z{{zzzz{zzz{z{|{{{{|{z|z{z{z|{{z{z||zzzzz{zyz{{{|||{|z{{{z{z{zzz{|z|zzz{z{z{{{{{{{|{|zz{y{{{{|{z{{{{{zz{z{{{{{|{{||{{|{z{|{{|{z}{||}|z|z{{{z{||{{|{{{z{zz{{z|||||{|||{{zz{z{{|||||||||{{{{{|{|||{{||{{{{{{z{|||||}{{{{z{{{{{{|{|||||}{{{|{{z|{|{|||}z|{z{z{{{{||{|||{{{{zy{z{|||{{|{{{zyzzy{{{{z{z{|zyzzzz{z{{z{{z{z{zzzzzz{{{{{{{{{{{zzz{zzzz{z|{||zzzzzyy{{{|{zz{{zzz{z{{z{{{zzz||{zzzzzzy{zzy{z{{{yzyzzzyy{{{{z{z{zz{{{yz{{{{{zz{yzzzzzzzz{{z{{{{zzz{zzyz{{{|{{{z{y{{{zzzz{z{{{{|zzz{zzzyz{zz{{{{zz{zz{zz{{z{{{{|zzz{zz{zzz{z|{{z{zzzyz{zz{{z{z|{{z{{zz{y{z{|{{{|z{z{{zzz{{{z{||{{z{{zz{z{|{{{{{{zz{zzzyz{|{{{{|{{{zzz{{{{{|zz{|{z{{z|{{z{{{{|{{{{{{z{{{{{z{|{{{|{z{{{{z{{}{{{{}{|{|zz{{{{|||||||z{{z{{{||{{|||{||{{{{{{|{}|||||||{z|z{|{{|}|{|||{{z{{|z|{{{{|||{{{{|{zz||{{|{|||{{{yz{{{z{{{{{||{{{{zzz{{{|{{{{{{{{z{z{z|{{|{zzz{zzzz{{zz{{zz{{{zz{{z{zzz{{{z{||z{zzzzzz{{z{zz{{y{zy{zz{{{y|z{{|z{{yzz{z{zz{z{|z{zzyzzzzzzzzz{{y{z{y|z{{zz{{zz|zzz{zzyyyyzy{{{zzzzzzzzzzz{{z|{{zzyzyyzyyzz{z{z{{zzzzyyz{z{z{{{{{zyyzzzyy{z{zz{{{zz{zz{zzz{{zy{||zyzz{{{z{{{{{{{{{{{yzzzzz{{{{{{{{yz{zz|{{z{{{{|{zzyz{zzzzz{{{|{{{z{{{z{y{{{|||{|zz{y{z{z{{{{z{{{zzz{z{{{{{|{||{{{{{y{z{zz|{|||{{{z{{{{z{|{{|{{{||{zz{{{{{||||{|||{{{z{z{{|{{}||||{z{zz{{|{|{{|{||{{{|{}{{|{||{||{z{|{{{{{|zz|{{{{{{z|{{{{{{{|{|||{{z|zz{{{|{{|{||{y{{zzz{{|{{|{z{{{{zzzzzz{{z{{{{{{zyzzz{||{z{{zyzz{zz{{z|{{{{z{zzzzzz{y|{|{{z{{zzzyz{xzzz{{{{{{zzz{yy{zz{z{z{|{zzzzyzzzz{{||zz|zzz{{{{zz{{z{{{zz{zzzzyz{{{zz{{{zzzzzzzy{zzzzzz{zzzyzzzz{zzz{z{z{zyzzzyz{z{zzz{zzz{zzyy{zzz{{{z|zzzzz{zy{{zzy{z{zzzzzz{yz{z{z{{{zzz{zz{yz{z{z{{{zzyyzzzy||||z{z{zz{{{zzz|z{{z{{zyz{{{zzz{||{{{||z{{z{z{zz{{||{{zz{zz{{zz{{|{z||{{z{z{z{zz{{{{{|{zz{{{z{z{{||{{|{yz|{z|{z||{{|{{{{zz{zzzz|{||{{{{{z{{z{{{|{{{z|{{|{|{|{|zz{{|{|{|{z{z{z{{|}{|{{{{{z|{{{{{{{||{||{|{zzz{{{{{||{{|{{|{y{|z{{{|{{|{||{zzzzzz|{z{{{||{{{{{z{z|{|{{|{{|zz{{zzz||{{{{{{y{{{yyyzz{{{{z{|zyzzzyzyzz{z||z{{zzzzzzzzzz||z{{zz{zzyzz{zzz{{{{{zzzzz{zz{|{{zz|{z{z{z{yz{zzz{{z{z{zzz{zzy{zyz{zzyzzz{zzz{{zzzz{zzzyzzzzzzz{{{{zzzzzyzzz{{z{{{|{z{{{yyzzz{{zz{{zz{zz{{zyz{{x{{{{{z{z{zyzz{zzz{{{{zzzzzzz{{{{z{{{z{{zzzzzz|{{{z||zzzy{zz{{{{{z{{{{{{zzzz{{{{{zzz|{zzz{z{zz{{{|{|{{z{zz{{z|{|{z{{{{z{{{{{z{z{{|{{|{yz{zz|{{{||{|{{{{{{{{{{{{{|{{|||{{{z{zz||{{||{||z|{{z{z||{|||{|{{z{z{{z{{|z||||}{{zz{{{|}{}||||{{{{{{{z{|{{||{{{zzz{{{{|{{|{|{||{zzz{{|{{{{z|||{{zzz{z|{z{|{{||{zz{z{{z{{{|zz{zzzzyzzzzz{{||{zz{zyzzyzyz{z{{{{{zzzyz{z{z{{{z|z{yzzyzzzz{zz{{|{{{yzz{zzzzzzzzz{z{zzzzz{z{z|{zz{{zzyzzz|zz{zzz{{z{{zy{zzz{z{{{zzzzzzyyyyzzz{z{z{{z{zzzyzzy{z{zzzzyyz|y{yzz{z{{z{{z{{zzzzyzzzz{{{{zzy{zyzzyz{z{z{{zz{zzzzzy{z{z|z{zz{zzy|yz{zz{{{zz{zz{{zz{z{z{{|{{zzzzzz{{}{{z{z|zz{z{{{{|{|y{z{{zzz|zz{zz{{|z{z{zzz{zzzz|||{{{|{{zy{zz{zz|{{z|z{{{yz{{{zz{|||{|{zz{{{|{{{{|{||||{z{{{zz{{{{||{|z{zz{{z|y||||{||||{{z{{{||{{{|}{{|{|{z||{z|||{{|{|z{{zzz{|{{||{|||z{{|{z{{{|{|{|}|z{|{|{{||{{{{{||z{zz{z{z{{{z||{{{{zzzzz{|{{|{|z{{{zyyzz{{{{{{{{{y{zzzz{z{zzzz{{{{{zyzz{zz{{{{{{zzyzzyyz{{z{z{{{zzzyzzzzz{{{zzz|{zzyz{{zzzz{{zzz{zyzzzzz{|zzzzzzzzzyzzzzzz{zzzz{z{zzyzz{zz{{{{z{zzzz{yyyz{{zz{{z{zzyyzzyzz{zz{zz{zzzzyzyy{zzzz{{zzz|zzzzzz|z{{z{zzzzzzzzzzz{z{{|{zzzzzz{zz{z{{{{{zyz{z{z{z{z{z|{{yzzzz{y{{|z|{||z{z{yz{{z|{{{{{{{z{z{zz{{{{|{{{z{{yz{zz{{{{{{{{{z{zz{z{z|{{{{{{{z{{zzzzz{{|{|{|{zz{{{z{{{|{|{||||zz{{zz{{|{|{|{{|z{zz{zz{{|{{{|{{{z{zz{{|{{{||{{{zzzz|{z{{{|{|{{{{{{{z{z{|{{{|{{zzz{zzz{{|{|{{|{{{z{{{z||{{|{|{|zz{z{{{z{{{{{{|{{{z{z{yy{{{{{|{{||zyz{zz{{z{{|z{zzzyz{{z{|{{z{|{zzzyyzz{{{{z{{||{{zzz{{z{zz{{zz|{z{{zzzz{z{{z{|||zzzyyzz{|{zz{{{{zzzzzzz{{{{z{{z{y{z{zzzz|{{zz|zzzzzyyz{z{yzzzz{zzzz{{yz{{{{z{{z{yzzyz{z{{{zz{|{zzzzyzzw{{{yz||{{zzzzyyzzzz{{{{{zzzzyz{y{{zz{z{|{z{zzzzz{{{|z|{{{z{y{yz|{zzy{{z{zz|{zzzzz|{{|{|{y{{{{zzz||{|z{{|{{{{zy{{z||{z{|{{{{z{zzz{{{{z{{{{{zzzzzyz{{{{{{{{{{{{{z{{{{||}{{z{|{{{{{{|{{|{||{{|{z{zz{{{{||||{zzz{{{{||{{{{||{z|z{{||{||||{||{{{{{{{z{||{{{}|{{{{zz{{|||z||||{{z{{z{{z||{{||{{|{{zz{z|{{|{{}|{{{{z{{z{{z{{z|{{z{{{z{z{{{z{z{{{zzzzzz{{z{z|||{zzzz{{{yy{||z|{{z{zy{zz{z{|zz{{|zz{zz{zz|{{{|{{{{z{{zy{zz{z{{z|{zz{zzzzz{{{|{{{|zzzz{{yz{|{{{|{{{{{zz{zzz{{zz{{{zzzy{zzzz{z{{{|{{yyzyz{z{zz{zz|{{z{zyzz{z{z{{|zz{zzzz{zyz{z||{{|zzzz{zzzz{z{z{{{zzzzzz{zz{z{{{{|zz{yzzzzz{{{|{{{{zz{zzyy{{{{{{z|{zzz{zzzz{z{{{|{z{{zzzzz{{{{|{||{z{{zzzzz{|{{||{{z{z{zzz{{{z{{{z{{z{zz{{{|{z{|{{{{{{zz{z{{|||{{}z{{{{{{|{{{}{|||{zz{{{zz|{{|}{|||{z{{{{{|||{|{||{||z{{{{|{|||||{{{||{{|{{||}|||||{{|{{{{z|||{||{{z{{{{|z{{z{||||{|{{|z{z{{{||||||{{z{{{{{|{{|{z|{{z{{{|{{{z|{||z{z{z{zz{{{|z{{z|zz{zyzzyz{z{|z{z{{zz{zzy|zzzz{{zzzzzzz{|{zzz{{{{zzyzzy{{z{|z{{z{{z{zzyzyzz{{{z{{zzz{zyzyz{zz{{{|{{z{{yyzz{zz{{z{z{{zy|zzzzz{zzz{y{zzzz{z{z{z|z{zzzz{z{zz{{z{|z{{{{{zzzzzz|zzz{{zzzzy{z{z{{{{{|{|{{zz{zz{{{{{{{|zzyzzz{zz{z{{{{{{zzzzzzzz|{z{{z{{{yz{z{{z{{{{z{z|{zzzz{{{{|z{z|{|{{{{z{{zy||{{{{{{zzz{{{z|{{||{|{{zz{{{z{{{{{{zz{{{z{z{{{z|{{{{{||{{z{z{z|{{{{||}{{{{z{z{{|{{z{|{{{{{zz{{{}|{||||zz|z{z|{{|||||{||{{{{{z{{|||||||{{{|zz|{|{|{|}||{z{{|{{{{{{{|||||{|z{{zz|||||{{}{{{{{z{z{{{{{|{||{zzz{zz||||{z{{{{{{{y{{{{|{{{z{zzyyzz{z{{zz{{{|{yyyzyyzz{{{{{{{{zyyzzzz{{{{z{zzzyzz{zzzzz{zz{z{zz{yzz{zz{{{y{z{zzzzzzzyz{zz{yzzzzyzyzzz{z|yy{zzy{zzyzzzz{y{{zzzzyzy{zyzz{zz{{|zzyzzyyzzzz{z{zzz{z|zzzzz{{{z{z{|zz{zzyzzyz{y{z{{{zzy{zzzzzz{{{{zz{zzy{yz{{z{{{|{{zzz{zzzz{{{zz{{zzzzzz{zz{z{z{{{zy|{yzz{{{{z{z{yzz{zzy{{zz|{{z|{yzz{{z{z{z|z{{|{{z{z{zzz{{{{{{z{{{{z{|{{z{{{{{{|{{{{zz{{z{{{{{{{z{z{|{{zz|{|{{||{{{z{{{{{|||||||}{|{{|{{z|z{||z||{z|z{z{{{{|||{|{{{{zy{{||{|{{{||z{{{zz|{{{{{|{{|{{{{{z{||{||{{{{{z{z{{z{{{{{{{{{{{{z{{{{{{|{{{{zz{{zz{{|{{z{{{{zzz{zy{zyz{z{zz|zz{zzzzz{z|z{{{|zzzzzzzz{{{{{z{{zzzzzzyz{z{{z{{{y{{zyz{zz{{zzz{|z{zz|zzzz{zzzz{{{zzz{{zz{z{{yz{{zzzzyzy{z{z{zz{zzz{y{zzzz{zzzz{zzz{zyzzz||{{z{{{zz{zzz{yz{z{{zz|zyzzzyzz{{{z{{zz|zzzzz{{{{z{{{{zzz{{{zyyzz{z{{{{{yz{zz{y{{{z{|zzzzz{zzzz{z{{{{|{zz{zzzzz{{|{|{|{{{z{zzzzz{{{|{zz{z{z{zz{|{|{z||{{{zzz{z{{}|z{{{{{{z{{{z{||{z|{{{z{{{zz{z||{{{|||{{z{{zz{||{{{{{{{{|{{z{z|||}{|}|{z|{z{|{{{{||||||{{{{|{{{||{||}{{z{|{{{{{|{|{||{{{{zz{z{{|||{||{|{z{|z{z{{{||{||z{z{{{{{{{{|{{||{zz{z{zz||zz{{{|{z{zzzzz|{|||{{zzyz{yyzz{{{z{{|{zzzz{z{y{z{z{{{|{zzzzzzzzzzz|{{{zzzzzzzzy{{{z|{{|zyyzyzzz{zzy{{{zyy{zyzzzzzy{{{z{yzzzzzz{{{{{{{z{zzzz{zyzyz{{{{zz{zzzzzzzzzzz{|zzy{z{zyz{{{zzz|{zzzzzyzz{z|{z{z{{zz{zz{zz||{{{z{zzzzyzyzz{z{zz||zz{yzy{y{{z{z{{{{zzyzzzz{||z{{{z{{{zyyz{{{|{{{z|z{{yzz{{{z{{zzz|{z{zzz|z{{z{z|{zzzz{z{{z{{|{{{{{|z{{{z{{z{{{z{|{{z{zz{|{||{|||}{zz{{{{{{||{{{{{{{{|{zz{z{|{|{|{|{{zy{z{{{||||z|||{{{|z|{{{{{|}{|{|{{{{{{{|{{{{|{{z{{z{{{z{|{||||{{{{z{z{{{{||{|}{|{z{{z|{zz|{|{|z|zz{{zz{{{|{||{{{z{{z{|{{{{{{||zy{z{z{y{{|{{{zzzyzzz{{zyz{z{{{{|zzzzzzyzzzz{{{|{zzyzzzzzz{{{{z{{zzzzzyzz{z{z{{{{zzyz{zyzzz{{zz|zzzzzzzz{{zzz|{{{zz{yzxz{{z{z{{{yzzz{zzzzzzz{z{{zzzy{zzzz{{{{|z{{yyyyzyzzzzz{{{{zzzyyzzz{{z{zz{zzzzzzxzzyz{zy{zz{zzzzyzyz{yy{{{zzzzyz{zz{zz{z{{|{{zzzy{z{|{{|{z|{zz{yy{zzzz{{{{{zy{zz{{z{{{{{{{z{z{zzz{{z{{z{{z{{zz{zz{z{z{|z{{{z{z{zyzz{|{z{{z{{{{z|{{{{{|||{||{{|{{{{{{|||z|||zzz{z{z{{{{{{{|{|zz{{|{{|||||}|{z|{{{{||{z{{|}|{}zzz{{|{{|z{{|||{{{{{{z{{||{|||{{{{{{{{z{{{{{|z{{z{{{zz{{|{|{||||zzz{{{z{{{{{}z|{{{{zzzz{|{{{{{{|{zzzz{z{{{z{z|zz{yzzyzyy{z{zz{z{z{yzyz{{z{{{zz{{yzzzzzz{zzzz{{{zzzzzzyzzz{z{{{{zyzzyzzz{zzz{{{{yz{zz{zz{{z{{{zz{yzyzyyzzz|zy{{zzyzyzzyy{zzzyzz{{zzzzyyzzzzz{z{zzzzyzzyyyz{{z{{z{y{zy{yzzzzz{{{zzzzzzzyzz|zz{{z{z{zyzyzzzzzzz{{zzyyzzzzz{{zzzz|{{zzzzzyz|{{zyz{{{y{z{zyyzzz{{{{{yzzzzz{zzz{{{{{{zz{zzz{yzz{{{{y{z{z{zz{z{||{{{{{zzzzyzz{{{|z{z{{z{zzz{zz{||{{|{{z{{z{{z{{|z{{{|{{zz{yzzz|{{{|{z||zy{{z{z}}{|{{||{zz{||{{z|{{{{{{{z{zzz{{{|{{||{{{z{z{zz{z{{z{|{{{z{{{{zz{{{{{{|{{{zz{{{{{{{|{|{{{{zzzz{{{{{z|{||zz{zzz{z{{{}{{|{z{zyz{zz{{{zz{{{{{zzzzzzzz{{zz{{{zzzzzzzz{z{z{|{zzyy{yz{{zz{|||{zz{zz{zz{z{{{{{zzzzzzyyy{{|{{z{{zzzyy|zzz{zz{{zz{zzzyyyzzz{zz{{{{zzzzzzy{{zzz{{{zzzy{zzzzzzzz|{z{{zzyzzzzzz{|z{{zy{{yz{zzzz{zz{z{zzyzyzz{{z{z{{z{yzzzyyzz|z{z{{{y{zz{zzz{{z{{|{{{y{z{zzzz{|z{{{|{zzzzzzz{{{z{{{{z{{{z{{zz{{{zz{zzz{{yz{zz{{{{{{{{z{zzzzz{{{{zz{{{zzz{zz{{{{|{|z{{z{z|{{z{{{|{||{z{{{{z{||{{|{|||{zz{z{z{{{{{zz}z{zz{|{{z||{{|{|{{{{{z{|{{{{{||{|{{{{{{{z||||{{{{|{{{{{{{{{{||{{{{z{zz|z{|{{||{{||zz{z{zz{|{|{{{||{|z{{{{{{||{|{{{{{z{{zz{z{{{{|zzz{z{z{z{{|{z{{zzzzzzyzyzzz{{||{{zz{zzyzz{zyy{{|{zyzz|zzzzz{{{|{{zzyzyyyz{{{z{{|zzzyzzzz{{|z{{{{{zzzzy{zz{{y{z{{zyzz{yzz{{{yzzzzy{{y{zz{zz{z{z{{zzzzzyzyz{|z{{{zzzzzzzzz{z{z{{{{z{z{z{z{z{{zz{{{{y{z{z{z{zz{{{|{{{zyzzzyzz{{z|{{{zz{z{zz{zz{{{{{{{zyzzzz{{{z{|{|{z{zzyzzzz{z{{{|zz{yzz{z{{{{{{{{zz{zzyzz{{{{|{y{zz{{zy{zz{{{z{{{{zz{{zzz{{{{z{|{{{{zzzzz{{|{||{|{{{z{z{z|{{{z{{||{z{{{z{{||{|{||{{{{{{|z{}{z||||zz|{{|{|{||{|{|{{z{z{{{z{}|{{{}{{zz{{z{{|||{{{{||{{{{z{{z||{|{|}||zz|zz{{z{{{{||{{|z{z|z}{{|zz|{{z{z{{z{z{{{{{{{{zz{zyzz|{|{{{z{z|zzzz{yz|{{z{zz|zzz{yz{z{{{{|{|zzzzzzz{{z{{zz{zzz|zzzz{{{|{z{{{{zzzyzzzz{{{z{{{zzyzzzzzyzz{y|{{zzzzzzzzzz{{{{{{z{zzzzz{zz{x{zz{yzzzzzzz{{{{{{{{zzzyyzzzzzz{{{{{z{{zz{{{{{z{zz|z{{yz{zyyyzzz{{|{z{zzzzzzy{z{|{{{zzzz{zzy{z{{z{z{{{zz{zyz{{{|{{z|{z{zzzzz{zz{{{{{{y{zzzz{{{{{||{|{{{{|z{y{{zz{z{|{{|{z{zz{z{{z{|{{{z{z{{{{|{{{z{{{{|zz{z{{||{|{||z{{|{z{{{|||{|||zzz{{yzz{|{|{{{||z{{|zz{||{{|||{{{{{|{{{{{||{|||{|{|z|{{|}|{{||{{z{{z{{{||{z{|{|zzz{zzz{|{{|||||{{{|z{{z{{|{{{||{z{z{{{{z{|{{{|{{|z{{{zz{{{|{|{|{z{yzz{z{{{}{{z{zzz{yy{zyz{{{z||z{y{zxzz{{{z{{|{{{zz{zzy{{{{|{|{{{zzzz{z{|||{z{{z{z{{z{z{z{zzz{{{{zyzzzzy{{z{{{z{{zz{zzy{z{{zz{z{zzzz{zzzzy{z{z|yzyzyzzyz{zz{z{{zy{zyzxz{{{z{{{zzyzzzzzyz{z{{{{{z{zzzyzzz{{{{z{{zzzzzzzzz{|zz{{{{zz{z{zyz{{{z{{z{{zzzzzzz{{zz{{{zzzzzzy{z{z{{{{|z{zzzz{z{{|{{z{{zzzz{zzz{|{|{|{|z{{{{{zz{||{{{|{{z{zz{z{{{{{{{||{{{z{{{z||{|{|{|{{{zz{z{{{{|{|}|z{{z{z{{|||{|{|{{z{{z{{zz{|z|{{{{{z{{{|{{{{{|||}|{{{{|{{{||{|{{||{{{{z{{{{z{{{{{{z{z{zzz|{||||||{{zz{z{{{|{z{{||{{{z{{{zz{||{{|{{zz{zz{{{|{|{||{{zz{zy{z{|{{z{{{{yzz{{z{z{{{{{z{{{z{zyz{{z{z{{|z|zzy{z{{z{{{{{{{{yzy{zyz{{|{{z{{z{zzy{{zzzz|z{{{{zzzzzzz{{{z{{z{{zzzzz{yz{{z{zzz{zzzy{yzzz{{z||{zzzz{yzzz|z{zz{{yzz{zzyzzz{z{z{{z{|{yzzyz{z{{y{|{{{yz{z{{{|z{zz{zz{zzzzzzzzy{zz{z{{zzz{z{z{{{z|{zzzzzzzzz|{z{||{zz{zzz{{z{{{z{{{{z{zzzz{{{|z{{|{{{z{{zzz{{{|||z{{zzzzzzz{{{{{{{{{zzzzz{z{{|{{|{{|{z||z{{|{{|}}{|{{z{{{|{{z{{||{|z{{{{zz{{{||||{{|zz{z{{z|||{{|||{{{zz|{||{|{|||||{{{z|{{{{|{|||{}|{z{zy{|{{|||{|{{zz{zz{{{||{|||{z|{|{z|{{{|{}|{zz{zzz{{z{{{|{}{{{z{z{{z{|||{{{{{zzzz{zz}{|{{|{zzzzzzzzyy{z{{z|{zzzyzy{z{{{{|z{{{zzzzyzyz{{z{z{{{{zzzzzz{z{{z{zzzz{yzzzzz{|zzz{{zzzyzyzzz{zzzzzzzz{zzzy{{{{zzzzzyzz{yzyz{{{zzz{{zzyyzyzyzzz{{z|{zyzzzyyzz{{{{{zz{zzzzzzyz{{{zz{{yzyz{yyyz{zzz{z{{yzzzy{zyzz{z{{{y{z{zzyzz{zzzz{z{zyzzxzz{{{zz{y{yz{zzzzz{{{{z|{{zzzzzzz{{y{{{{|z|{z{zy{zy{{z{zzz{z|zyzz{{{{{{{|{{{{z{zz{{|{{{|{{|zz{zz{z|{{|{{{|z{{{{{z{{z|{{|z{|{zzzz{{{||{{{|||zz{{z{{{|||{{{{{{{{{{{z{{{{||{z|{{z{zz{{{{{{{||z{{||{z{||||{{{{{zz{{zzz{{{z||{|{z{{|{{z||{{{{{|{{zz{{{z{{{|{{{|{{{zz{z{z|{{{{|{z{{yzzz{{{{{{z{{zzzz{zzyy{{z{z{{{{zzzyz{{{zzz{{{zzyzy{z{zz{{{{{yzyz{zzzz{yz{y{{|zzzyyzzyzzzzz{z|{{yyzzzzzz{{z{zz{zyzzzyzzzzzz{{zzyzzzzy{zzzzz{zzzzyz{yyz{zyzzz{zzz{{y{yz{z{z{{{zzz{zyzzzz{{|z{{zzyxz{yzzy{{yz|z{zzzy{zzzy{{{{zz{zzzyz{yz{{{{{z{zzzzz{yzy{{{{{{{{zz{zzz{z{zzz{{{|zzzzyzyzzz{{{}zz{zzz{zzzz|{|{|{zz{|{z{z{{{{{{||{{zzzz{{{z{z|{|{||yzz{{{z|{|z|||{zz{y{z{|{{z{}z{|{yzz{{zy{{}z|z|{{zz{z{zz||{{{|{|zz{{{z{{z||z{|{||{{{z{z{z|{{{||{|z{{{{{{{{||{{|{|zz{z{zzz{{{{||{{{{{{zz{z{{{{|{|{z{z{zzz{|{|{{{|z{{zzzyzz|{|zz{{{z{zzz{z{{{y{{{{y{{{zzzzz{zzzz{zz{zyyyyzz{{{z{z{{zyz{zzz{zzz{z{z{zzzyy{{{{z{zz{z{yzyzxyzzzzz{{{{yzzyz{{zzz{{{{z{{zzyzz{zz{zzzzz{z{yyyzyzzzzzz|zzyzzzzzzzz{z{{z{zzzyzzzzzzyzy{z{{z{yzyzy{z{zy{{{{zzzyzyzyzz{z{zz{{{zyyyyzy{zzz{{|{zzzzzzyzzz{zz|z{zzz{zzz{z|{|{z{{z{z{z{{{{{z{|{{{zzzzy{{z{{zz{{{y{zzzy{z{{{{z|{z{{{{z{zz{z{z{z{z{zyzzz{z{{{|{||{z{{z{{z{{{{{{{{{z{{{{zzz{||{{||{{z{z{{z{{|{{z{|{{{{{{{z{{{{{|{||{{{{z{{{{{{{{{{{{{{|{{zz{|||z{|{|{{{{{{{|{{{z{|{{{{{|z{z{{|||{||zz{{{|z{{{{{{|{{{{zz{{zz{{{{{|}|{{{{yzzzz|{|{{{{zzzz{{zzz{|{|{y{{{zzzzzyz{{|zz{{{{{zz{{yz{{zzz{{{{zzy{zzz{z{{{{zzzzzzyz{{z{{{z|zz{zzzzzy|{z{z{{{zzyzzzzzz{y{z{{z{z{zzyzzzz|{zzz{yzzyyzxyzzz{z{z{yzyyzzzyzz{{{|{zzzyyyyz{{z{y{z{{{y{zyzzzz{{{yz{{zzzzzyzz{yzz{{zzz{yzzzz{zzzyzz{zzzzzzzzzz{z|z|{{zzzyzz{y{zzzz{z{{|{{zyzyzz{z|{z{zz{|z{zyz{zz{{||{{{z{yz{{{z{zz{zzz{{zzzz{z{{|{z{{zz{{zz{{{z{{{z{z{|z{{zz}z{{||||z{z{zz{z{{|{{||z{{{{yzz{{{|{|{{{|z{{z{{z{|{{|{{|{z{zz|{{{{{z{{|{{zzzzz{{{||{|{{{|zz{zzzz{z{|{{|{{zz{{{{{{z{|z{|{{{zz{zy{{{{{{{{|zzzz{yy{z{z{{{|{|z{{z{{z{{{{z{{{{z{{zyzy{{{z{{{zzy{zzzyzz{z{zzz{zz{{yzzy{{y{{zz{zzzzyz{y{{{{{zz{{zzzzyyzz{zzzz{{zzzyzzzz{zz{z{{{{yzz{yzyz{{{z{{yzzzyzzzy{z{zz{zzzzzzyzzzzzzzy{{{yzzz{zzzzz{zzz{zzyzzzzyzzzzz{{{zzz{zzzzz{zz{z{{{{zzyzzzzz{{yz{{z{yzzzzyzz{z{{|{{z{{zzzzzz{zzzzz{{y{zzzz{{z{{{{{{zyz{yz{z{{{zz{{{zz{zyz{z{z{|{{{{{zz{{yyz{{z{zz{{zz{zz{y{{{z{{{|z{{z{z{{{{|{{{{{{z{z{{{z{{z{|{{{{{zz{{{z{{{{{{{||{{{{{y{z{z{{{{|{{z{{z{zz{|z{{{|||{{zzz{{||{{{{|{{{z|{{{z{|{|{|{{|z{{z{{{{{{|{|{{|{{{{zz{{{{{{{||{{z{{{z{|zz{{||{{zzz{{{zzy{|{{{{{{z{zzzz{{z||{||{z{{yyzz{{||{z|zyzzzzy{yz{{zy{{{{{zyyyzy{{{{{{{{yzzzzzyzz{{zzz{{z{zzzzyyz{z{zz{{zzzyzyyz{zz{zzyzyzzy{zxyzzzzzzz{zzyyzxzzzyzzz{zzzzyyzyyzzzzzzzz{zzzyzyyzz{z{z{zzyzzzyzyzzzz{{zz{zz{zyzzy{zz{z{{{zzz{yzzyy{{zzzzzzzzy{zyyzzzzzz{zzzzzzz{y{zzzz{{{zzzzzzzzzzz{{{{|zy{zzz{zz{zzz{{|z{zy{zyzzz{{{{{{{z{{{yz{{z{{|{zz{zyzzzzzz{{{|{|z{z{zzy{z{||z{{{|zz{z{{z{{{||z{{|z{z{{{{{{{z{{{{{{{{zzyzz{{|{{{{{{z{z{zzz{|{{|{||{{z{z{{z{{{zz{|{|{z{z{z{{|{z{{||{z{{y{z{{zz{|{{|{{{yz{{z{{{{{|||{{zzzzzz{{{z||{{zzz{zzzzz|{{z{{|{{yzyyzzz{|{z|{{{zzzzyyy{{|{{{z{zzyyzzyzz{z{z{{{yzyzyyyzzzyz{|{zzzzyzyzz{zzzzz{z{zzzyyzzzz{|{{{z{yzzyzzy{{{z{zz{yz{zzzzyzzz{zzz{zzzy{xzyzzzzz|zzzzzzzzyzyzzz{zzzzzzyyzzyzyzzz{{zzyyzzzx{zzy|{z{zzz{zzzzzz{z{{{|zzzzyzyyyzzzz{zyzyyzyyzzzzzzyyz{|zzzyzzzzzzzzzzzzzzz{xzzz{{{z{{z{zyzyzzzyzz{z{zz{zzzyzzyz{{z{{|{{zzy{{{zzzz{|{|{yzy{{y{zy{{{{{{||z{zzzzyy{{z{z{zz{{{{zzzz{{{{|{{|z{{yzzzz{|{||{{|{{{{{zyzz{||{{{{zz{z{|zz{{{{{{||{{{zz{zz{{z{{{{{{{{{{{z{z|{{|{{{|{zzz{{{{{|{{{{{{z{z{zz{{z|z{||{z{{z{{{z{{{{{{|{z{zzzzyzz{{{|z{{z{{zzzzz{|{{{z{{zzzyzzzy{{{{zzz{zxyyyzyzy|{{y{zzzzzyyyyy{y{{{z{zzzyyzzyz{zyz{{zzzzyyzyyzy{zzz{zz{zzzzzyy{z{zzz{{yyzyzzzyz{{zz{z{{zzzyyyxyzzzzzzzzyzyzzxyyyzyzzzzzzyzyyyyyzzyyzzyzyyyzzzyyz{z{zyzzyzyyyyyz{zzzz{{zyzyyyzzzzzzzzzzzyzyyzyzz{zzz{zzyzyzzyzyzzz{zz{zzzyzzyyzzzz{zz{{z{zzzzzzz{yzz{z{zzzxzz{y{{zz{z{{{z{{zyzyzz{|{{{{zyyzyyzzzz{z{{z{zzzzzzzzz{{zzzzzz{{zz{{{{{{z{{{zz{{z{z{{{{{{z|{|{zzz{zz{y{{{{z{{{zz{{{y{z{{zz{|{{zz{z{{{{{{{|||{{y{zzzz{{|{{|||||{z{z{z{{{{{{{|z{yzzz{zz{{|{{|{{{zzzzzyz|{{{{{{{{{{zz{zzzzz{{{z{{yz{{zzz{{z|zz{{zz{yzzzzz{{{zzzzzzyz{yyyz{{zzzz{zyyyzyzzyzz{zzz{y{yy{zyyzyzzyzzz{{zyzyzyzzzzzzy{{yzzyzyzzzzyy{z{zzyzyyxyzzzzz{zzzyzzzzyyzzzzzzzzzzzyyzyzyzy{z{zzxyyyyzyyyzz{zzzzzyzyyzzyyzzz{{z{zzyyyzyyzzzzzz{zzyzyyyyyx{{zzzzzzyyyyyyzzzzzz{{zyzzzzxxyzy|zy{{{zzzzzyyzzz{{z{{{zyzzzyzz{{zzz{zzzz{zzzzzz{{z{{{{{{{zyyzyz{y{z{{zzzyzyzyz{{{z{z{z{zyzyy{{{{|zz{z{{z{zzzz{{{{{{{{{zzzzzz{zz{zzz{{{zzyzz{zz{{|{{{zzz{z{{z{{{|{z|{{{{zzz{{{zz{{{{{{{|zzzyyy{z{z{z{|{{zz{zz{{{{{z{{z{{zzz{zzzzz{|{z|{z{zzzzzzzz{{{zz|{zzzzzzzz{{{z{|zz{zz{xyzy{z{{{zzzy{yyyzzzz{{z{{zz{yyzyyyyz{zyz{{yzzzzxyzzyzz{z{{zyyzyyzyyz{z{zz{zyyzyyzzzz{zzz{{zz{yyzyxzyzzz{{|yyzyzzzyzzyyzz{yzyzyyyyxyz{zz{{{yzyyyyyzzyzz{zyzyzyyyyyz{{{z{{zy{yzyyyyzzzzzzz{zzyzyyzyzz{{zzzz{zyyzyxyyyzzzz{zzzzxyzzyyyz{zyzz|zzzyy{xyz{zyz{{zyzyzzyy{zyzzz{{zzzz{zy{yyzzyzz{z{zzzyzzzzz{zzz{{{zz{yyzy{{z{z{{zzzzzyyyzzz{{zz{z{z{zz{yzz{{{{zzzzzzzzzz{{z{{{{{|zzzz{{{z{|{|{|{{{zz{zzyz{{{z{{{z{zz{zzz{{zz|{{{{{{{{z{{zz{z{z{{{|zz{z{{z{{{{y|{{|z{|yzzz{{z{{z{{{zzz{zz{{zz{{{|{{zzz{z{{{{{{|{{{{zzzzz{{yz||{{{{zzzzyyzzy{zzy{{{zy{zzzyz{{{z{zzzy{zyzyzzzzzyz{zzzzyzyyxzzzz{{|{{zzyyyzy{zzzz{{{zzzyxzzxxzzz{zy{z{yzyzyyyzzzzzzz{zzzzzyzyyzzz{{zzyzzxzyyzz{{yy{yzzyyxyzzyz{zz{{zzyyzz{yzyzzzyyzz{zyyyzzyzzz{zz{{{{z{y{yyyyz{zz{{{zzyzyyzzzz{zzz{zzzzyyyyz{{zzz{zz{zzyz{zzyzz{zz{zzyzzzzzzzzzzzzzzzz{yzzzz{zzzz{|{{yyzzzzzz|zzzz{zzzzzzy{z{zz{{{z{yzzzz{y{{{{z{|{{zzzzzz{z{{zzzz{{zzzzzzyyz{{{{{z{{zzz{yz{{{{zz{|{z{zzyzzz{z{{{{}{{zzz{zzz{{{{{|{zzz{zzz{{{{z{||{|{z{{z{{z|||{{|{z{{y{z{z{|{{{{{{|zzyz{{{{z{{z{{{}zz{z{zz{{z{{zz{|{zzyyz{z{{{{{|{|zzz{zz{{{z{{{z{{z{zzzzzzz{z{z{{yzyyyzyzyyzzzzzz{zyzyyyyyzzz{{zz{zzzy{y{y{z{zz{{zzyyyyyyzz{z{z{{{yz{yxzzyzz{zzz{{zzyyzyyyz{zyzy{yyyzzzzzyzz{zyz{zzyzyzyyzzzy{{z{|yzzyzyzyzz{yz{zzzzzzyyzzz{{zz{{{zyzzyzyyyzzzzzzyzyzzyyzyzzzzy{zzyy{zyyyx{zzzy{{zzyzyy{zyz{yzzzzz{zzzzyyzz{z{zz{||yzyzzyz{zz{zz{{zzzyzzzzzz{{z{{{zyzzzzzyzy{{z{zyzzzz{{zz{{{zz{{zzzzzz{zz{zzz{{z{{{z{zzzz{{||{{{zz{{z{{{z{z{{z{z{z{zzzzzz{{{z{||{{zz{z{zz{{{{z{{{zz{zzzzzz||{{{z||z{yz|z{z|{{z||z{{z{z{z{|{z{{{{{zzyzzz{z{{{{{{|{{{{zz{y{{{{z{zz{zy{y{y{zzz||{{{{{zyzzzzz{zz{{z{{y{{yzyyz{z{zzzzzyzyzzzzzz{{{yzz{zzzzzyyzzzzz{zz{yzzxyzyzzz{{{z{zzzyyyyxzzzy{zz{z{yzyyxzyy{zzy{zzyyzyzyyyyzzzzz{zzzyzyzyyzz{zz{{zyzyyy{yzzyzzy{{zyyzyyzyzyz{yzzzyzzzyy{yyzzzyzz{zyzzyyzzz{zzz{|{zyzyyyyzyyzzzzz{zzz{yzzzzzzzzy{zzzy{yzzzyzzz{z{{zzzzzzyzzzzzzz{{|{yyzyyzzzzzz{{{{zzyyzzy{z{{|y{{zzzzz{z{zz{{{z{z{zzzzzzzz{z{z|z{z{yzzzzyy{{z{{z{z{z{zzzzz{{|}|{{{zzzzzz{z{{{|{|z|{z{z{zz{z{{{{z{{{z{z{zzz{{{zz{|||{zz{z{zz|{{{{|{{zzzz|zzz|{{{|||{z{zzy{{{z{{{|{{{|zzzzzz{z{{{{{|{z{zzzzz{|zz{z|{z{{yzz{|{z{{{{|z{{zzzzzzzz{{zz{{zzzzzz{zzz{zzzyzyzyzyzzyz{{z{yz{yyyyzyy{{zzzzz|{z{zyzzzz{zy{zz{{zzzzyyyzzzzz{z{{zzzzxyyyzyzzy{{{zzzzzzzyzzyyzz{zzzxzyxyyzzzzy{zzzyyyyzyzzzzzz{{zy{zyzzyzyzzzz{zzyzyyyyyyzz{zz{z{zy{zyzyxzz{{{{zzzzzyzzzyyzz{y{{zzzzyzxzyz{z{yz{zzyzzz{zyz{zzzz{{zzzzyyzyz{{z{zzzzz{{zz{{{z{{{{{{zyzzzzzzzz{z|{{{zzzz{zzz{z{|z{z|z{yyzzyzz|{zz{{{{zyyzyyz{{z{z{{|zzz{y{yz{z{{{|{{z{zzzzzz{zzz{{||zzzy|{zyz{z{|z{{zyz{{{zzz{{{{{|{zz{z{{z{{{{{|||{|z{zz|z|z{z|{{|{zz{{{zzz{z{{{|{{{zz{{{z{{{{{{{{|{zzz{zz{{z{zz{{zzz{{zzzyz{{{z{{{{{zzz{{yz||{{{{{zyzzyyzzz{{{z{zyz{zzzzzyz|{zy{{{{yzyzzzz{{{{z|z{{y{{zzyzzz{z{{{zyz{zzzzzyzzzzz{{{zxzyzzxzzz{zzz{zzyzzzzyyzzzzz{zzzyzzzzzz{zyzzzzzyzzyyyzzyz{z{z{yzyzzyyyzzz{z{{{zyzxzyzz{z{zzzz{zyzzzzyzy{y{{zz{zyyzzzzyyzzzz{z{y{zyzy{yzzyzz{y{{zzzzyzz{zzz{zz{zyzzzzzz{zz{{yz{zyzzzzyz{{{zz{|{zzzzzyzzzz{z{z{{{yzzzxzzz{{{|{z{{yz{zzzzz|{zz{{{yzz{zz{zz|{{{{|{z{z{{zzz{{z|{z{{zz{z{z{z{{{|{z|{z{z{z{yz|{z{{z{|{{{zz{{{{|{{|||{{{zz{{zz{|{{|{|{{{zz|zz{{{|z||{{|z{{{z{{||{|{{{{{z{{{zzzz|z{{z{|{{zz{z{z{{{{{|{|{{z{zz{zzzz{{z{|zzzzzz{z{{{|{{{{zyzzyyzz{{|z|{zzzzzzyyyzy{zz{z|{zzyzyzyzz{{zy{z{zyzyyyyyzzzyy{{{{zzyyyzyzz{zz{z|zzzzzzzyzzzzzyzzzyz{zyyzxz{zzzzzyyzyyyyzz{y{z{z{zyyyzzyyzyyzzz{zyyyyzyyyzzzyzyzzzzyzyyy{zzzzzzzzz{zzyzyzzzzzzz{{zy{zyyy{zzz{zzzzzzyyyyyyz{zzzzz{zzzzzzyyz{zz{z{zzzzzzzyxz{zzyz{{zyzzzzzyzz{{{|z|y{zy{{{zzzzz{{{{zzzyz{yy{zy{zz|z{y{zz{yzz|{zz{{zzzzzzzy{z{{zz{zz{zz{zy{zzz{{{{{{z{zz{zzz{{{{{{{|zzy{z{zy{{{{z{|{zz{zz{zz{{{||{{|zzzzzz|{z{|{{|{{|z{{{|{z{|{|{|{|{zzzzz{|{|z|{|{{{zz{zzzz{{{{{|z|{z{{zyzz{{{{|{z|{z{z{zyyz{{{{z|{{zz{yzyz{zz{{|zz{zzzzyzz{z{zzzzzzzzyyyz{z{{y{z{zyyxyzyzy{zzzz{{zzzzzyzyz{zy{{{{{zyyzzyyzyzzzzz{z{zyzyyyyzzzzzzz{zzzzyzyyzzzzz{{zyz{yzzyyz{{yzzz{yzzzzyyyzzzzzzy{yyzyyzzyzzz{y{{zzyzzzzyzzz{zzzz{yyzzyyyyzzz{z{z{xyyyyyzxxzyzz{{zzzzyyyzzyzzzzy{yyzyyyzzzz{z||{z{{yyzzyz{zz{z{{{z{zy{zzzz|zzz{zz{{zzzyyz{z{{z{{{{zzz{zyyz{{{z{|zzzzzyy{zzz{{zz{|{{yz{{yzy{{{{z{{{zzz{zzzzz{z{|{|{{z{z{z{zz{{{z{{|{|z{zzz{z{{|{{|z{{{zzzzz{{{z{{|{zzz{z{{{zzzz{|{{{y{{zz{z{z{{|{{{zz{zzzzz|{{|{|{{{{z{{{zzz|{{{{{{{{zzz{z{{{{{{{{|zz{zz{zz{{{{{{|{zzy{zzzz{{{|{{{{{zz{zyzzzzz{zzz{zzzyzzzz{zzzzzzzy{zyyzyyyzzz{{z{zzyyyzyzz{zzz{zzyzzzzyzzz{{{yz{{zzzzzyzy{z{{z{z{zzyyyyzyyz{zz{zz{{yy{yzyz{{z{{zzyzzyyzyyzyyzyzz{yzzyzyyyzzzz{z{zyzz{yzyzyz{z{z{{xy{zzyzzz{z{z{{{{yzzyxzyyzzyz{{zzzzyzzzyyzzzz{{{{yzz{zyyzz{zz|{z{{yz{yzzzzzzz|{{zzzzzz{z{{zzzzzz{zyzyyzzzz{z{{{zzyzzzy{zz{{z{{{zz{zzzzzzz{{{z{{{zyzz{zzzz{{{{{zzzy{{z{{y{{{|||{{zz{yz|{z{|{{{{{|zz{zzzzz{|{{z{|z{{z{{zzz{{|{{|{{z{{z{{{y|{z{{|z{{{z{{y{{{{{z{|z{{{zzzzzz|z{|{{{{|zz{{z{{z{|{|{{|z{{|zz{|{|{|{{||z{{yz{z{zz{{{{|{z{z{zz{zz{{|z{{{z{zzzzzy{{{{y{{{{zzyyyzyz{zz{{z{zzzzzyyzzyzyz{z{{zyyyyzz{zzzzz{{{yzyyzyyzzzz{y{z{{yyyzzyz{zzz{{{yyyyyzyzzzzzz{{zzzzxzxzzzz{zzzzzzz{yyxzxzzyzzzz{xyyzyyzyzzzy{{zy{yzyzyzyy{zzzzzzzzyyyyyyyz{zzz{zyzyxzzzy{zyzyzz{zzyzyyzyy{z{{zzzyy{yzzzzzz{z{{{yzyyzzzyz{zzzz{{{{yyz{y{y{zz{{z|{zz{y{zzzzyzy{z{{zzy{zyzzz{zz{|{z{yzy{zz{{{{{z{{zzzz{y{z{z{|{z{z{zzzzz{z{{{{z{{{{z{z{{z{z{z{{z{{{zzzzzzzzz{{{{|{z{zz{z{zzz|{|{{{{|z{zz{{{{{{{|{{|{z{{zz{{z|{{||{{|{z{{{{z{{z{{||{{z{zzzzz{|z{{{z{{{z{{{zz{z{|{|z{{{zzz{z{{z{{z|z{{{zzzzyz{{z{{{{{zzzzzzyz{{z{y{{zzzyzyzyxzzzzy{z{zzyyzyyyyzzzyzzzyzyyyzyyzzz{zzz{zyzzyyyzxyz{{y{zzzyyzyzyzzzzzyzzzyyyyyzzz{zz{zzzzyyyyyzyzzzzyzzyyyzyzyyyzyyzy{yzzyzyyzyzzzzzzzzzyzzzxzzzyzzz{{zzzzzzyyyxyz{zzzzzyxzzzzyyzz{zzzzzzyzzzzzzxyzyz{zz{zzzyzzyzz{{{{zzzzzyzyzy{zz{z{{|zzzzzyzyyzz|zzzzyyz{yyzzzz{z{{{{zzzyyzzz{zzz{|{{zy{zzzzyzz{{{z|{{zzzyyzz{{{zzz{{zz{z{z{zyz{{zzzzzzzzzzz{|{z{{{z{z{z{zzzzz{{|{z{{{zzzzzz{z|{{{{z|z{z{{{zz{{z{{{||zzzzzzz{{|{{{|||{zzz{y{zz{z{{z{{{z{z{zzz{z{z{z|z{zz{{{zz{z{|{z{{zzzzzz{{zz{{z{{{{zzyzzyy{{{zz{{{zzz{zyzyzzz{{|zzzyyxzzyzyz{yzz{{zyyyyyzzzyz{zzzzzzxyyyxxzzzzzzzzzyyzzyxzyzz{yzzzzyzyzyzyzyyzyzzzyyyyzzyyyzzzyyzyzzzxyyzyy{{zyzz{yxyzyyyy{yyyz{zzzyzyyyzyz{zzy{{zzyyyyyyyzzzz{zzzyzzzzzyyz{{{zzz{yzyyzyzzyzzzzz{{zyyyyyzzyz{yz{{yyzzzyz{y{{z{y{{{{zzyzyyzz{z{zz{{zyyzzyzyzz{z{{{{zzyzyzzx{z{zzz|{zzzzzyzzz{zzy{zzzyzyzzzz{zz{z{{{z{y{yzzz{{|zz{{{{zzzy{{z{zz{{|{|yzzz{{zyz{{{{{{{{zzzzzyzzz|{z|{{{zzzzzz{{{{{{{||zz{zy{zyz{zz{z{{|z{||zzzz{{{{|{{{zz{zzzz{z{{z|{z|zzzyzz{zzz{z{{|{z{zzzzzz{{{{{{{zzzzzzzzz{{{{{{{z{zzyzzy{zz{zz{{zz{yyz{yyzzz{yyz{yzzyz{yzzzzzz{zzzzzzzzyzyzzzz{|zyyyyyyyy{{zzz{{zzzzyxzzz{{zzzzzzzzzyyyzzzzzz{zzyyzxzyyyyzyzy{{y{yyyzyzyzzzyzzzz{yyyyyzyyzzzy{zzxzzyyyxyzzzzz{{{zzzzyyyyy{zzzzzzzyzzyzyxyzzyzz{zzyyyzzzyyzyyzzzzyzzzzzzzzzzzzzz{zyzzy{yz{y{y{zy{{yzzzyyzzz{zz{z{{yzzyzzzzzy{{{|zzzzzzzyzzzzz|z{yzy{{zyyzz{z{z{z{zzzyzzzy{{{zzz{zzzyzyzzz||{zz{{zzyzyzzzz{{z{{{{{zzzzzz{{{{z{z{{z{{z{zzy{z{|{{{z{zyzzz{{z|{{z|z{{z{{{zzzz{{{{{||{{zzz{zz{{|{{{{{{{z{{{zz{{|{{{{{{zzz|{zz{{{{{zz{|zz{{zzyzz{{{z{{|zz{zzz{z{{z{z{{{{zzzzz{zz{z{z{{{{zz{yzzyz{{{{{z{zzy{yyyyyyzzzz|zzyzzzzyzz{zzzz{zyzyyyyyyzyzzz{yz{{zzzz{zxzzzyz{{{{zyyy{z{z{z{zz{zzyyyyzy{yzzzz{z{yzzyyzyzz{zyzzzy{yyzyyyzzz{{zz{zyyzzyzyzzzzz{{zzxyyy{yyzzz{zz{{zzyzyzzyyz{zzzzzzy{zx{yyzzz{{z{zzzzyyyzyzzzz{yz{yyzzzzyy{{z{{{{{zzzyzzyz{z{z{z{{yyyzyz|yz{z{{{{{zzzzzyyzyzzz{z|zz{z{zz{zz{zz{{z{zyzzzzyyz{{{{z{|zzzzzzzz{z{zzz{{zzyz{zzyz{{{{{zzzy{{{z{z{zz{{z||z{z{{zzy{{z{{{{|zyz{{zyz{|{{|{|{z{zzz{{{{{{||{{{{zz{zzz|z|{||{{{|zz{{zz{|z{|{|{|zz{{{z{z{{|{}{||z{{zzzyz{{{{{|{{{{yy{{zz{{{{{z{{{z{zzzzz{{{{z{{{zzzzzzzzz{{z{{zzy{yyzyzyz{{zyz{{{yzzyzzyzzyzzz{|z{zzyyzyzz{y{{{{yyzy{yyzzz{zz{zzyyyzyzzyzzzzzzzzzyyyyzzyzz{zyzzzyzzyzyzyzzzzzzzzzxzyzzyyzzz{zzz{yzzzy{zyzz{z{z{zzyyyyyyzyzzz|{z{zzyyyyyzzzzzz{z{z{zyyzyxyzyzy{{{yyzzzzzyyzzz{{zzzyzzzzzyzzyzz{z{zzzzzyzyzz{{yz{zzzzyyzzzyz{{z{{zyzzzzyzz{zz{{{z{yzzzzzzzyz{z{{{{{{zz{yzzz{zzzz{{{{z{zyz{zzzzz{{z{{zz{{z{{{{{{{{zzz{zzz|z{{z|{{{|zz{zzzzy{{{{{{{{zzz{{zz{||{{{{zz{{{{z{{{zz|{{{{{|z|z{z{z{|{{|{|}|zz{z{{{|{|{|{{|zzz{{zzz{{z{||{|zzyz{{{z{{|{{{{{z{zzzzz{{{|{{{{{zzz{z{zzz{{{{{z{zy{zzzyzz{{{{zz{zz{yzzyyz{zz{z{{zyzyyzyz{z{{yzz{zyzzzzzyzz{zzzz{zyyyzyyzy|{{{zz{zzyxyxzyzzz|z{z{zyzzzzzyzz{yzzzz{yzzzyzxz{zzyyzzyyzyyzzyzzz{zzzzyyyzyyyyz{{z{y{zzzyzyyyzzyzzz{zzzzyyyyyzz{|{{{zzzyzzzzzxz{zyzz{zzzzyzy{yzyzzz{yzzzzyzzyyzzz|zzz{zzyy{yyzzz{{zz{{yyzy{z{z{zz{{{|zyy{xzzzzyzzzzz{{{{zzzz{zzzz{{zzyyz|yzzyzz{|{z{{zzzzz{zzzzz{y{{z{{{zz{zzz|z{{z{{{z{zzzzz{{{z{{|||z{zz{zzzz{z|{{{{{{{z{zyz{{{{z{|{zyzzz|z{{{z{|{{{zzzzzz{{{||||z|z{zzzzzzz{|{z|{z{|zzzzzzz{{{{{{||{{z{{yz{{{z|{z{{{zzzzz|zz{zz{{{|zzzzyyzz{|{z{z{{zy{zzzzz{{{{{{zzzzxyyzzzzzzzzzzzzyzzyzyzyyzzzz{zzyzyyzzyzz{{zzzzzyyzzzyzzz{{z{z|zzyyzy{yzy{y{zy{zyzxyzyz{zzzz{zzzzzyzzyzzzzzzzzzyyyyyyyzzyzzy{z{yzyy{yzy{{zy{{{yzzyyyyyzzzzzzzzzzzyyyzzzz{zzzzzzzzz{yyyyzzzzzy|zyz{zyz{zyzzzz{zzzyyzyzyy{zz{{zzzzzz{{{zyz{z{zzz{yyzzzzyyzz{z{{z{zzzzzzzzzz{{{z{{{zz{zzyyzzz{|{z{{yz{zzzy{z{{zz|{zzzzzz{{z|z{z{z{{z{z{zzz{z{|{{{{zzzz{{z{{{{{|{{|{{yz{{zzz{{z|{|z{z{{z{{{{{z{|{|z{zz{{z{z{|zz{|{{{{{{{zz{{{{{{{z{|zz{zyzz{{z||z{{{yzzzzzz{{{{y{{{z{zzz{{{{{{|{{{{{{{zyz|z{zzzz{{{zzzy{yzzz{z{{{{zzzzzyzzy{z{{z{yzy{zzzzyyy{zzzzzzyzzzzyxx{zy{yzzzzyyzyzyyzyzzzzzzzzzzyyzyz{zzyz{{zzzyyyyxzz{zzzz{yzzzzzzyz{zz{zzzz{yzyzyyzz{zy{{zzyzyyyyzzzzzy{zzyzzyzzzzyzzyyz{zyyxzyyyzz{zz{y{{zyyzyyyzzzzzzyz{yzzyzxzyyy{zyzzzzzzyyzyzzzzzzzz{{zzzzyyyzz{{yz{zyzyzzyzzz{zyzz{zzyzyxyzz{zzz{{zzzzyzyzzzzzzzzz{zzzzzzyzzzz{{z{zz{zyyyyzz{z{zzz{zzzzzzzzz{{{{yz{{zzzzzzz{{{{{{z{{zz{z{z{zz{{{{{{{{{zz{y{zz{{{z{{|{yz{{z{z{|z{{{|{zzyz{{{z{z|z{|{|{z{zz{zz{|{{zz{||y{zzzzzz{z{{z{{zzzzzzyzz{z{{{{{z{zzzzz{{{{{{{||zzzzzz{zz{z{{{{|z{zz{yzz{{z{zz{zzzzzzyyzzz{{zz{yzyyz{yyyyz{yz{yzzyzzyzxxzzzzz{z|zzyyyzzzyz{yzz{zzzzyyyyzzzz{zy{zzyzyyyzy{zzzz{zzyzzyyzzyyyzzzzyzzzzzzzyyzyyzz{yzzzzyzyyyyzzzzzy{zyyyzyyyz{zz{z{zzzzzyyxzzyyyzz{zzyzyyyzz{zzzzz{zzzyyxyzyzzz{z{{yzzyyzzyyyzy{zzzzzyzzyyzzzzzzy{{zyyyyzzzyz{{zyz{{zyzzzyyy{zz{z{{{yyzzyyzzz{{zzzzy{zyyzyzy{zz|zz{{zzzzyzyz{{{zzz{{z{{zzzzz{z{zz{{z{yz{z{yzz{{{{{{|yyzz{zz{z{{|z{{{{zzzz{zzy{zz{z{{{zzzzzzz{z{{|{{{{zzzz{{zz{{{{z{{zz{z{zzz{|z{z{{|z{{zzzyz{z{{{{z{zy{zzzzzz{z{z{z{z{z{zzzz{zz{{{{|{{zyz{yzz{{zzz{||z{zzyzy{|{{zz|yzzzyzzzzzy{{z{{yzzzzzyzxy{z{yz|{yzzyyyxzzyyzzzzz{zzzyzzy{zz{{{zzzzzyyyzz{zz{{zyzzyzyyyzyzzzzz{z{zyyyy{yzyzzyz{{z|zyyzyyyyyzy{zz{yyzxyzyyzzzzyzz{yzzyyyyyzzzzz{{zzzyzyzyzyz{zz{{zyzyyyzyxzzzzzzzzzyzyzyyyyzzzz{{zyzzyyyyzzzzyzzzy{yzz{zxzz{zzzyzyzyyyzzzyz{{zzz{{{{zy{yzzzzyzz{zz{zzzyyzyz{{z{{z{z{{zzyzzz{{zz|{z{zzz{yyy{z{zzy|zzzyzzzy{zzzzz{z{{{zzzzzz{{z{z|}zz{y{z{{z{{{{{{|{{zzzz{zz{z{z{z{|zyzz{zzzz{z{{{{|{zzz{z{{{{|z{||{{z{zz{{{{|{{{|{{{zz{zz{{{{z{{{{{{z{{zzy{{zzz{z{||{{z{zzz{{|{{{{|{{zz{yz{{{zz{||z{{z{yzzzz{{{z{{z{zzzyz{z{z{{zzzzzzxxyyyyzzzzy{zzzxzyyyyxzzzzzz|zzyzyzzyxyz{zy{zz{yzzyyyzz{zzyz{{yzzyyyzyzzzyzzz|yyzzyzzzyy{zyy{zzyzzyyyxyy{z{yzzzzzzyyzzzzzzzyz{yyyzxz{yyy{{yz{zzyyyyzzzz|zx{zzyzy{zyyyy{y{y{z{{yzyyyyzyzzzzz{{{zyzzyyyzyzzzzzyzzyyyzzyyzyzzz{{zzzyyzyzyzzz{zz|{{zyzzyzyzy{{{{{{yyyzyzyz{zz{zz{zzyzyzyzyzz{{{{{zyy{yzyyz{|{{z{zzzzzz{zzzz|{z{zz{zzzzyyzzz{z{{{{{zz{z{z{z{{zz{{{|{{zyyzz{{|z{{{zz{zzyzz{yz{zz{{{{{{z{{{z{z{{{zz{{zzzzzzz{{{{z{{{{zz{zz{zzz{z{{{{{zzzzzzzz|{|{{{{{z{zz{z{z{{{z{{{{zz{zzzz{{{z{{z}z{zz{yzzzzz{zzz{zyzzyyzzzz{z{zz{zy{zzyzzyy{zzzz{{yzyyyyzyzzzy{zzz{{yzzzyyzyzzz{zzzzyzyzyyzzy{yzzzzzyyyyzyzzy{y{{{zyzyyzzyzz{zz{zzzzzyzzxyzz{zzz{zzyzzzzyzyyzzzzz{yyzzzyyyzz{z{z{zzzzyyzyyyzzzz{{{{yzzyzyyyyz{y{{{{zzyyzzzzyz{zy{{zyyyyzyyzzzzzzzzzyyzz{yz{z{z{{|z{zzyzy{zzz{zzzz{yz{{zzyy{{zzz{{z{{zyzzzz{z{zzz{zzzzzyzz{z{zz{{zz{yzy{zzy{{|zz{{{yzzzzzzyz{zz{{{z{{zzzyzzz{zz{{z{z{zz{{z{{{z{{|{|{z{{zzzz{{{{{z{z{z{{zz{zzz{z{{{|z{{zzzz{zzz{{{{{zy{zzz{z|{{{{|||z{{{zzzzzzz{{{{{|{zz{yz{{{{{|{|{{{zzzz{z{{{|{{{{z{{zz{z{zz{|z|z{{zyz{zzz{|z{z{{{zyzzzzzzz{{{{zzzyyyzyzzy{z{zzyzzzyzzzyzz{zzzz{{{{zzyxyzx{zyzz{zz{zyzzzzyz{zzzzz{zzzyyzyyyzzz{zz|yzyzzyyxzz{z{{z{{yyzzyzyzz{zz{{{zyz{yyzz{zz{zz{{yyyyyzxyzzzzz{{zzzyyyyy{zyyzz{{{zyzyyzzyzz|{z{zzzzz{yyzyzzz{zz{z{zzzyzyyzzzzz{z{yzyzy{zzzzzz{z{{zyyzzyzyy{{|z{{{zzzzzxzzzy{{{{{{zzzyzzyzz|zz{z|z{z{zyzzyz{zzyzzzz{{zzzzz{{{zzz{{{z{{{{zzz{{zz{{z|{zyz{z{{{{|{{z|yzzzz{{{|{{|{{{|{zzzzyz{{{{{{{{{zzzzzzzy|{z{|{|{zz|y{z{{{|{{{{|{{z{{zz{zz{{{|{{{{yzz{{zz{{{|{|{{{z{z{zz{zz{{{{{{{zzz{zzz{{{|{{{{{{zzzzzz{z{{z{{|zzzzzzzz{zzz{{zzzzzyzzzz{{|z{{zzyzzyzyyzz{{zzz{{zz{zyzzzzzzz{zzzyzzyyzzxzy{z{z{zzy{yzzyzzzz{zzzz|zyyzyzyyzzzz{z{{yzyzyzzyzzzy|zzzy{yzzzyz{yzz{zzzyzzyyzyyzzzzz{z{yyzyzzyzzz{zyzzyyyzyzyzzz{zz|zzzzzyyzyyzzzz{z{zzzyzzyyyyyzz{{{zyzzz{yzyz{zz{zzzzzyzzyzzzzzy{z{zzzzzzyzzzzzyzz{zzyz{yzyzzz{{z{{{{yzzyzyyzzzz{{|zyzzzzzyzz|zz{{{zz{zzyzzzz{z{{z{{{yzz{{yzz{{zz{zz{z{{{zzyz{{{{{z{zz{zzz{zzz{{z{||{{{{zzzzz{||{{|{zz{z{{z{{}{z{z{|{{{z{{{{{zz{{|z{{{z{z{{z{||{{|{|{zzzzzz{{{{{{{{zzyz{zz{{{{{{{{{z{{{z{zz{{z{z{{{{zz{z{zzyzz{z{{{{zzz{zzzyz{{{{{{{zz{z{zzz{z|zz{zzyzyyzyzzz{zyz{{zzzzy{yzzzzz{{z{zzzyyyyzzz{zyzz{yyxzyyyyzzzzzzz{{{zyyyyzzzy{zzz|{zzyyzz{yyzzzzzzzz{yyyzyyzzzzyyzyyyyzyzzxzzyzyyz{yyyyyxzzzzzzz{zzzzzyyyxyyyzz{zz{zy{zyyzyzzzzzz{{zyyy{yzyyyyz{zz{{{xzzzyyz{{zzz{{zyz{zyyyzz{{zyz{y{yzzyzy{zz{y{{{yyzzzyzy{y{z{z{{zzzyzzyzzz{{z{{{zyzzzzzzxz{{zzz{zzzzzzyzzzz{z{z{zzz{zyzzz{z{{{{{zzzzzzzzzz{z{{z{zzz{z{{{z{z{|{||{zzyzzzz{{zzz{|{{zyzzzyz{{{{{|{|{{{{z{{z{{{{|{{{|z{zzzz{z{|{|zz{|zz{{z{|{|{{z{{|{yz{zz{z{zz|{{{||zzzzzzz{{{{||{{{zzy{zzzz{{z{z{||{zzyzyz{z{{{{{zzyzzzyyz{{zzzzzzzxyxzxyyyz{y{{z|zy{zyyyzzz{z{zz{yyyzzyzyzzzyzzyzzyzyzyzzzyy{zz{z{yzyxyyxy{zz{zzzyyzyyz{yzzyzzz{yzyyyxyyzzyzyzzzzzzzyyzyzyzzzyzzzxzyxyyxzzyyzz{zzyyyzyzyzyyzy{{zzzyzxyyyyyzzzzzzzzzyzyyzzyzyyzzzz{zyyzyyzyzzyzzzz{zzyzyyyz{zzyzz{zzzyzy{zzzzzzzz{zzyz{yzy{zz{zz{zzzzyzyzzzzzz{zz{{zzyzzzyzzz{|{{zzzzyzzyyzy{{zz{zzz{yzyzzzz{zz{zzzzyz{zzy{{z{{{{{zzyzzz|z{{{{{{z|z{z{zyyz{{z{z{z|zyzzzyyyz{zz{zz{{{{zyzzzz{zzz|{{z{zzy{z{z|{{|{|{{z{{yzz{{zzzz|{{zyzz{zz|zzz{{{||{z{zzzy|zzzz{{|{z{zzzzzzz{{z{{|zzyzzzyzyz{|zz{{zyz{yzzz{{zzzyyyzyzyzzyzyzz{zzzzzzzzzzzyzzzz{{zzzzyzyyyzyzy{yzz{zzzzxzyzyyzzzz{z{yyyzyyzzzyz{yzz{yyyzzzyyzzzzxz{zzyzyzz{z{zzyz{{z{xzzyyyzzyyzz{z{zy{zyyzyy{y{zz{{zxyzxzxyzz{z{{{{{yzzyzyyzz{zyzz{{zyyzzxyzzzyzz{zzyyyyyzyzzyzzz{zy{yzyyzyzzz{{z{zzyyxzyzyzz{z|zzzzzz{zzyzzzy{zz{{zzyyzzzzzz{{{{zzzyz{{yzzzzzzz{{zz{zyzyzy{{z{zz|zzyzzzyzz{{{zz{zzz{zz{{zyz{{{{z{{{zz{{zz{z{|zzz{zyzz{zzz{{{{{zz{{{yz{{zyz{{{zz||zzzzzz{{z{{{{{|{{{{zzz{{z{{{|{{||{z{{zzz{|z{{z{{{zzzzzzzz{z{z{{|{{zzz{z{z{{{{z{{|z{zzzzzzz{{{z{zzzz{zzzzy{zy{{{zzzyzz{zzyzzzzz{yzzyyyyxyyzzzzy{zzyzz{yzyy{zz{z{zz{zyyyyzzzzzzzz|{zyyzzyyzzyz{yzz{{zyyyyzyzzzzzzzz{zyzzyzyy{zzzyzzzzzyzyzzzzzzyz{zyyyyy{zyyzyzzz{zyzyyyzyyzzz{zzzzyxyzyzzz{{zzz{zzzyz{yyyyyz{{z{z{zyyzxyzyzzzyzzz{{zzyyyyyzyzzz{z{zyyyyyyyz{{z{{{{yyyzzzzyz{zz{{z{zyyzzyzzzzzz{{{{yzyzzyzzz{z{zz{{zyzzzxzz{z{{zz{{yy{z{yyyz{{{zz{zzzzzyzzz{zyzzzzzzzz{yzzzzzz{|{{{zzzzzz{zzzz{|z{{z{zz{z{z|zz{{{{{{zzzzzz|{{{z{{|{{y{y{{zz{|{{{{{{zzzzy{z{{{{{{{{{|{{{zy{z{{{{{zz{{z{{zz{z{z{{{{||z{z|z{yz|{{|{{{{zz{zzzzz{{z{z{{{{{{zzy{zz{{{z{zzzy{zzz{yzz{zzzyzzyyzzyyyyyzzzy|zyzyyzyyy{z{z{{{{zyyzzzyzzzzzzzzzyyyyyyzz{zzz{{{zzzyyxyyyzzzz{{z{zyzyzyzyyzzyz{{yzyzyzyzzzyzzyzyzzzyyyzyzzyzzy{z{yyyyyyzzy{zzzzzzzyyyzyyyyyzzyz{zzzzzyyzxy{z{{z{zyxzyzxyyzzzyzzyzzzyyyzyyy{zzzzz{zzyzyzyzzzzzz{{zzzzyyyzz{zzzzzy{zzyzzyzz{{{yzzz{zzyzyzz{zz{zzz{zzzzzzzzyz{{{z{z{yy{zzyzz{{{zzz{{zzzzzzzz|{zzyz{z{zzz{zzz{z{{{|{{zzz{{zzz{{{{zzz|zyzzz{yzzz|{{{{z{zzz{yzz{{{{{{{{zyzzzz{{{z{{{{{{{{z{zzzzzz{zz|z{{zzzzzzzz{|{z|{{{{z{{{{z{{{z{||||z{{z{yz{{z{{{{{{zzz{zzzz{{zz{{zzzzzyzzzz{z{{zzzzzyzzyyy{z{|zz{zzzyyyxyzy{{zyz{{zy{yzzyzyzzz{zz|{zyyyzyy{yyyzzz|zyyyzyyzyz{|yyzzyzzyyyzyyzzzz{{zyyzyzyyyzz{zzzzzyzzyyzyyzyzzy{zzzxxyzxyyzyzzzzyzyyyxyyzzyyzzyzzyzyyzyyyyyzzzzzyzzyzzxyzyzyzzz{{{zyyyxyzy{yzzy{zz{zyzxzyzzz{zyzzzyxzyxzyzzzyzzz{zzyzy{yzyz{zzzyzzzzyyyxyy{{{{zy{{zz{zzzyyzz{zzzz{zzzzzzz{zzz{z{zzzy{zyzzxzzz{z{{{zyyz{zzzz{zzz{zzzyyzzzzy{z{{{{{{y{yz{y{zzzz{z{{{zzz{zzzz{{{|{{{{{zzyzzzy{|z{zy{{zzzz{|{zy{{zz{zz{zzzy{yy{|{{{z|{{{zzzz{z{zz{|{{{{zyz{zyzz{zzz{{|z{zy{{yzz{{{z|{z{zzyz{z{{{{zz{{{zyzzyz{yy{{|{z{zzy{zzyyy{z{z{zyz{zxyyyzyzzyyy{z{zyzyyyyyzzzzzzz{zyzzzzyyz{yy{z{{yyzyyzyyzzy{zzzzyyzyyyzzzzzyzyz{zzzzzyyzyzzyz{zyzyzzyyyyzyzyz{{zzyzxzyyyyzzzzzyyzyyzyyzyzzzy{z{xzyzyzzyzyyzz{zzzy{zyxyyzyzzz{zzzyy{yxyzxyyzzzzyzzyyyyzzyyzzzz{yzzzyzyzyzzz{zzzzzyyzyzyzyyzz{zyzzzzyyyzyzzz{{zz{{yzyzyzzyyzzy{z{zzzyy{zzyzzzz{{{{zzzzzzyyz{{{zzzzzyzzyzzz{{{|zz|zyzyzzyzzz{{z{|z{{z{{zz{{z{{|{{{{zyyzzzyyy{{{{|{{{zyzyzzz{|{|z{{z{zzyzz{zz{z{{{{{zz{zzzz{z{z|{{|{{{z{zzzz{zz{{{{{{z{zzzz{{{{{{z{{{{{yzzzy{{z{z{{|{{yzzzz{z{zzz||{zzzzzyzzzzzz{{{{zzyzzyzyzzzzz{zz{yzzzyzyzzzzyyzzzzyzyxzyyzz{{{{z{zzyzyyyzyyzzzzzzzyyyyzzzzyzz{{{{zzyyyzxzzz{zyz{zzzyzz{yzzzzz{zz{zzyzyyyzzzyzz{zzxzxyyyy{yzzzzyzyyyyzzzyzzz{{zzzzyxyyyxyzzz{zz{{yzzyyzyzzzz{zzzz{yzzyyyyyzzzyzzzzzyy{xzyy{z{z{{{xy{yzzyx{zzzz{zzyyzz{yzyzz{{zz{{z{yyyyzzzzzzz|z{zyzyyyyzz{{z{{{zzyz{zyzy{{{{{{zzzz{zzyz{z{{{z{{{{yzz{zyz{{{{z{zzzzzzzyzz{z{{z{{zyz|zzzzz{zzz{|{{z{zz{zzz{{zz{|{z{yzzzzzz{|{z{{{{{z{zzz{z{{{z|{z{{zzzzyzzz{{{|{{{{{{zzyzz{{z{z{{{zz{zyyyzz{{{{{||yzzz{zz{{|z{{|z{{zzz{zz{z{{{z{z{{{{yyyzzz{{{{|{z{{zzzxzyz{{zz{zzz{zzzzyyzyzz{zz{zzyyzxyyzzzyzz{{yyyyzzzzz{zyz{zyzxyyyyyyyzzzy{{zzzyzyyzy{zzzzz{zyzzzzzzyz{zzzzzz{zz{xyyzzyzyzzzzzyzyzyyyzzzzz{zzzyyyyyxyy{zzzzyzzzzzzzyzyy|zzzzzzzzzyzyyzzzzzz{|yzyzzzzzyzzzyzyzyzyyyyxyzzz{zzyzzyyyyyzy{zzzyy{{zy{yzzzzzz{zz{y|zyzzyyyzzzzzzz{zzzzzzyzzzzzy{z{{zzzzzzyyzzzzz{z{zyzzzzyyzzzzzzzzzzzzzzzzz{z{zzy{zyz{yzyzz{z{{{{zyzzzz{zz{z{{{{{{{zzz{yzzz{{{{z{{zzy{zy{z{|{{{{{zz{zzzzz{{z{z{z{{{y{zyz{{z{|{z{{|{yzz{zzy{z{zzz{|{zzzy{zz{{z{z{z{zzzzzzyyz{{{{{{zz{yzzy{yz{z{z{{{{{{zyzzyz{{{zz{{zzzyyzyzz{zz{{z{zzzyyzyyy{{yz{z{yzyzyyyyzzzzz{zzzyyzyyzyyzzzzzzzz{yzyyyzzzzzzz{{zzyyxzyyzzzyyz{{zzzzyyzyz{zyz{{zyyxyyyyzyz{yyz{zyy{xyzzy{yzyz{z{yxyyyzyyyy{zzzzzzyyzyzyzyzzy{zyzyyzzyyzyz{{zzyz{zzzzzyzyy{zzzz{{zxyyzyzzzzzzz{y{yzyyzyyzz{zz{zz|zyzzyyzyzzzzz{{{yzzyyzyz{yzz{{z{zzyz{{zzzz{{zz{zzz{{zyzzy{zz{z{zzzyyzyyyzzzzz{|z{y{{zzyzz{{zz{z{zzzz{zyz{z{{z{z{{zzz{y{zz{z{{{{|zz|yzzyz{{{{{z{{zz{zzzz{{|{{z{{{z{{y{z{{z{{z{{{{zzzzz{zyy{{{{{||zz{z{z{z|{z{{{{{{{zz{z{y{{z{{{{{{{{z{yz{{|{|z{z{{zyzzz{z{{z{z{{{zz{zzzzz{{{|{z{{zzzzzzzy{zzz{zzzyy{yzzzyzyz{{yzzzyzzzyzz{{{zzzzzzzyzyzzzzyzzzz{zzyzzzzyyzy{zzyzyyzzxyzyyy{z{yzy{zyyzzzyzzyzzz{{{zzzzyyxyzzzz{zzzyzyzyyyyzyzzy{y|yyyyyyyxzz{zzz{zzyzyyyyzyz{zzzzzz{zzzzyyzzzzzz{{zyzxyyyyyzy{zzzzzyyyyyzyzzyzz{zz{z{{zzyyyz{zyzzzzyyxyyzyz{zzyyz{zxzyyyzy{{zzzzzzzz{yyzzzzzyz{zz{zzzzzyyzz{zzz{z{yyzzyzzyzzzz{z{{zyzzzzy{{zyzz{z{zzy{zzzzz{{z{{z{yzzzzz{{z{z{|{{{{zzyzyy{zzzzzz{|{z{zzzzz{|{{z{{{z{zyzz{zz{{{z|z|{z{{zzzz{|z{{z{{|zzzzzzz{|z{z{|{zzzzzyzz{z{{{{{{{y|z|{zzzzzz{{|zzzzyz{zzz{{z{z{zzyyzzzzzzzz{zy|{zz{yyzyz{{zzz{zyyyyzyxxzzy{zzz{z{yyzyzyyzzzz{{zzyyyyyyy{zyzzzzzzzzzyzyzyzzzyz{y{zzzzyyzxyzzzzzzyzxzyyzyzz{zyzz{{yyyyzyxyzzzxy{z{yzzyyyyxzzzzzzzzyyyzyyzyzzzzzy{zzzzxyyzxzyzzzzzzzzzyyzyyyzyzzz{zzzyzyzzzzyyzyzzz{yyyyyzxy{zzz{z{yzyyyyzyzyz{y{{zzzyyzyyzzzz{z{z{{zzzyy{zzzzzzzyzyzzzyxz{zzzz{{{{zzzyyzzzyz{zz{zz{zzzzzyzz{{yzzzz{yzzzzzzzzzzz{{{zyzyzzzzz{z{z{{zzzzzz{{zzz{zz|||yzyzz{{{zz{z{z{{{yzz{zz{|{{{{{{|{z{zz{{{{{zzz{{{{{y{zzzzz|z{{{|{{zzzz{yzz{{{{|z|zz{{zzzz{{{zzz|{zz{z{zzy{{{{{{{{zzzyzzyzzzz{{{|{{{y{{zzz{z{{y{zzz{zyyyzyz{{zz{zyyzzyzyyyzzzz{z{yzzyyzzxyzyzzy{{zzzyxzzyy{z{z{{{zzzzzyyyzzz{zzyzzyyzyyyzyy{zzyzzzzzyyyyzyyy{yzzzyyzyzyxxyzzzyzzzzzyyyyyzyxyzzzz{zyyzyyyyyzzzz{yz{yyyyxyxyzzzzzz{zzyzzyyzxyzzzzz{zzyyzyyzyyzyzzzzzzzyyyxzyyyzzy{y{zyyzyyyzy{{z{z|yyyyyzyzyzzzzz{z{zzzyzyzz{y{zz{{{yyzzyzzzzz{zzzzz{z{{zzyyyzzzz|zzzyzzzzzyz{{{zz|zzz{{yzyzzzzzz{z{yzzz{yy{zzyzz{{zyzz{zyz{{zzzz{zz{zzzzzzzz{zz{{|{zz{zzzzz{{{{{{{{zz{z{{z{y|zz{|z{{z|zzx{{z|z{{{{{z{y{zzz{{zzzz{z{|yyyz{zzyzzz{{{{{zz{z{z{z{{{z|zz{zzzzz{zz{{{{{{{{z{zzzzzz{zzz{{zzzzzyyzyz{zz{zyzzzyyyyzyyzz{zzzzyyyxyyyyz{zzz{z{yzyzzzyyzzyzyz{z{zzyzzyyzz{zzzzzzyyzzyyyzz{zyz{{zzzyzzyyzzy{zzzyzxzxyzyyzzyzzzyzyyyyzzzyzzyzzzzzyyyyyyyyyyxzzzzzyyzzxzyyzz{yz{zzyy{yyyyyz{zyzyzzyyzyxyyyyzzyzzzzyzzyyxzzxzyzz{zzzyyyzyyyyz{zzz{{{yyzzyzzy{{zz{zzzzzyyx{z{{yzzzz{yyzzyyyzzzz{zzzzzyzyzyzzx{z{{{zzzy{yzzzyzz{zzzz{zyz{zzzy{zzz{{z{{zzzzzyzy{{{{z{{z{yzzy{z{{z{y{z{z{yzzyxz{{{{{{{{{yzz{yz{{{{z{z|{zzzyyz{zz{z{{{zz{{zzz|zzz|z{z{z{z{{{{zzz{z{{{|{{{y{zzy{{{{yx{{{|zzyzzz{{{z{z{{{|zy{zzzzz{zzzz{{{z{y{zzyyzz{z{z|z{zzyzyyz{{zzzzyyzxyyyxxzzzzyzzzzyzzyyxyyyz{z{yyzzzyyzyzyy{{{{zz{zzzyyzyyzzyzzzz{yyzyyyzxzyzzzzzzzyyyzxyyzyyzy{yz{zzyyyxzzyzzzyzzyyzyxyzz{yzzyz{zyyyyyyyyyyzzyzyyzyyyyyxzyzzz{zzyzzzzyyyyyzyzy{z{yyxyyyyyzzzyzzzz{yzzyyyyyzyzyzz{yzzyyyyyyyzzz{zzyyxyyyyzyzzzzyz{yzyyyyyzzzzzzz{zyyzyyyyzz{zzzz{zzyyyxyyyzzzzzzzyzzy{zyyyz{{{zz{zzyzzzzzy{zzzy{{zzzzzzzzyz{zzz{{{yzzyzyzzzz{z{|{{zyzzzyzz{z{z{|z{zyz{yzzz{{{z{{|{z{zyy{{{z{z{{{{{zzz{yzzzz{z{{{{z{{{zzzzzz{yz{|{z{z{zzzzzzz{zy{{{zzz{z{zzz{{{z{z{yzyy{{zyzzzz{zz{{{yyzzyyy{{{z{{zzz{yyxyyyzzzyzyzzzyyyyzyzzzxz{yyzyyyzyzyyzzyzz{{zyyyzyyzzyyzzzzzyy{zzyyxyz{{yyzyzyyyxzyzzz{zyyz{zyzxyzyxyzzzy{{zyzyzyzyyzyzyyzzzyyyzxyyzzzzyzzzzxyyzyyxyz{zyzzzzyyxzxyyyyz{zzzzzyyyyyyyxyyzzzy|{yyzzyyyxzzzyzzy{zzyzyyyyzyz{z{zzyxzzyyzzzz{zzzz{zyzyzyzyzzyzyz{zzyzzzyzyzyzzz{{{zyyzyxzy{z{zzzz{yzyyyyyz{{z{y{{zyzzyy{zyz|zyy{zz{zxzyzyyyzzzz{zzzzyzzyzzzz{{y{{zzzyz{zz{{zzz{{{|yzzzzzzz{z{{|{{{zzzzzzzzz{{z{{zzzyzzy|{zz|z{zzz{{zzzzzz{z{{{z{{zzzzzz{yzz{|z{{{z{zzzy{zz{z{z{{{zz{yz{yzyz{{zz{{{z{yzzzyyzzzzz{{{z{zzzyyyzzz{{{zyzy{yyyzyzzzzzz{yzzzyyz{yyz{{y{zzyzzyzzzy{zzzzz{zzyzyyzyzyyyyz{z{zyzzyyzyy{{zy{{y{zzzyzyyzzzzz{yzzyyyyzzyyzzyyz{zyzzzzzxyyy{yzzzzyyyzzyyyzzyzzzz{zzyzzyzxzz{yzzzyzyyzyxyyyyzz{zzzzyzyyzxyyzz{yyzzzyzyyxyxzzzxyzyyzzzyyzyyz{yzyzzzzyyzzzyx{zz{zzzzzyzxyyzzzzzz{{z{zyyyzxzzzzzzzz{{zyzzyyzzz{{z{zzzzyzyyzzzzz{{zzzzzyzyyyzz{yyy{{{{{zy{zyzz{{{yz{z{zzzyzzyyz{{{{{{zz{zzy{yzzz{||z{{zzzyyyzz{{{{|z{{{zz{zzzz{{{{|{{{z{zzyz{zy{z{||{{|zzzz{{z{{z{|{z{zzzzzz{{{z{{{{{zzyz{zyz{z{{{{|z{{{zzzzy{{{{{{z{{zyzzzzzzz{{{z{|{zz{zzzzzy{{{zz{{zzzzzyzzzzzzz{zzzyzxyyyyzz{zzzzzzzyy{yxxz{z{{{z{zzzyyyyyz{{{z{zzzzyzyyzzyzz{yz{{zzyyyzyyz{zz{zy{yzzz{yyx{zzzzzzzyzzyyzyyz{zzzzzzzzyyzzzyyzzzz{zzzyyy{yyyyzzz{z{{zyyzzyxyzyzzzz{zyzzzyzzzzzz{zzzzzyzzzzzxzzyzzzz{zzyzzzyzyzzzz{zzyz{zzyyyz{{zzz{z{yzzzzzyz{{zzzzzyyzyzyzzzz{zzyz{yzzyzyzzz{{zzzz{yzzzzzyzyzzz{{{y{yzzzzzzz|{zzy{{zzzzzzy{{{{{z{{z{zzzzzzyz{|{{{z{z{zz{{{{{{{{{{{|zzzyzz{{{{{z|z{z{{zzzzzz{|{{{|{{yz{yzz{z{z{{{{{{{z{zzzz{y{{{{{{{{z{{zz{z{{|{{{{{|zy{z{z{{{{{{||{{{zzzzzz{zz{{{{{yzzzzz{zz{z|zz{z{zzzyz{yz{z{{z{{yzzz{zzzzz{zzz{zzyzyyzyyyz{zzz{{zzzyyyyzzz{yz{zz{zzzyzz{zzzz{{{{yzz{zyzzzz{zzz{{yyyzyyyxzz{yy{zzzzzyzzyyy{z{y|zyzyyzzzyyyzyxy{zzzzyyyzyzyzzzz{{{zyzzyyzzzzz{{{yzzzyyzzzyzyzy{z{zyyzxxyzyyzzzzz{zyyyzyzzyzzzyyz{{zyzyzyyzz{{{{zyzzzzzz{zyzz{z{{{zzyzzzyyzzzzzzz{{z{zzzzzzzzzz{|{{zzzzyzyy{zz{zz{{yz{y{{zy{z{{{{zz{zz{{y{zz{zzz{|{zzzzzyzzzzzy{{zzzzzzz{zzz{||{z{{zyzzzzz{z{{{z{{zyzzzz{{zzz{{{z{z{zz{zzz{||{{{||{{z{{zz{zz|{zz{|{{zz{z{{{{|zzz||{{{{yzy{z{z{{{{{{{zz{{z{{{z{{|z|{zz{yzzzzz{z{{z||z{{z{yzzz{z{{||zzzzzzzzyzz{|{z{{{{{zzyzz{|zzzz{zyxyyyyyz{{{z{zyzyyzyyyzzzzzzz{zzzyyyxyxzzz{yzzzzyyzyyzyzzz{zyzzzzzzxyzyxzz{zzz{{zzyyzyyyz{{zyzyyyzzzyyxyyz{yz{{{yyyzyyzyzzzzzz{zyzzyzyyyy{yzzzyzzyyyzyyyzz{yyzyzzyzyyyzyyzzzzz{zzyyyyyxyzzzzzzzzzzyyzy{zzzyzz{zzzzzzzzyzyzzz{z{{{zyzzyyyyzzyz{zzzzzzzyyz{zyzzz{{zyzyzzzzzz{zzz{{zzzxyyzyzz{zz{{zzzzyzzxy{{{zzzzz{zy{zyyzz{{|{{z{{z{zzzyzz{z{z{z{zzzzyzzzz|z{{{{{z{yzyzyz{z{z{{{z{zzz{{{z{{{z{|{|zzzz{{{zzzz{{{zz|zzyz{zzz{{{zz{{|z{zzyz{z{z|z|{{{{{{zzyz{{|{{|{{zzyz{zzz{{z|{{{z{zzzzzzy{{zz{{z|zzyzzy{z{{{{z{{zzzzxxyyzyy{z{{{zzzyzyyxzy{zzzzzzzzzyyyyzzzzz{{zzzyyyzzyy{zzyzz{{zyzzzyyzzyyzzzzzyzzyyzyyzzz{yzzzzyzyyyyxzzzzyzzzyzyyyyyxyzzzzzzyzzyxxyyzzzzzyzzzyyyzyyyzyy{yyz{zyzyzyyyyy{zyzzz{yyzyyxyzyzzzzzzzzyzy{yyyyzzyzzzzzzzyxyzyyzyyyzzzzzzyyzzyzz{z{zzz{zyyz{zzzzzyz{{{{xyzzyzzyz{zzz|zyyyzyzyzzzzzzzzzzzzy{zzzz{{zz{{zzyzyzzzz{zzz{z{z{z{zyzz{zzy{zz{zyyyyzzzzzzzzz{zzy{{{{zzzz{zz{z{{{zzzzzzzzzzzz{{{zyzzzy{yzzzz{{{{{zzzzzzzz{{z{{{{zyzz{{zzz{{{{{zzzy{{zzzz{z{zzz{{zyzzyzy{{zz{{{|{zz{zzzzz{z{{|{{zz{zzzyyzzzzzz|{y{z|{zzzz{z{zzzzzzzzyzyzyz{z{z{zzzzzzzyzzyzzzz{{{yzyzyyzyzzzzzzzyzyyzzyzzzzzyyzzzyyyzzzyyz{z{y{{{zyyzxyzyyyzzyzzzzzzzzzyyzz{zzz{zzyzzyyyzzzzzzyyzzyzzyzyyzzyzzzzzyzzyzyyyy{zzzz{zzyyyz{yyzzz{{zzzzzzyzzyyyzzzzzzzzyyyyzzyzzzyzzy{yzzyyyzzzzzz{z{{yzyyyyzyz{{zzz{zzzzzzyzzz{zzz{z{zyzyzyyyzz{z{{z{yzyzzzyz{{zz{z{zyyzzzzzyz{yz{{zzzyzyzzzz{z{zz{{{yyzz{yzzy{{zz{{{zyzz{zz{{{{z{{{{z{zyzzyyzzz{z{{{z{z{{zyz{{z{z{{z{zyyzzzz{|zz{{|{z{zzz{z{z{zz{z|{{y{zyzzzz{{|||{z{z{{zz{||{{{z{{zzzzzzzz{{{{{{{{{{zzzz{yz{{{{{{{{zzzyzzzyz{z{z{|{{zzyyyyzyzz|{{{zyzzy{yzx{{{z{zzzyzzzzyyyyzzzzyyz{yyyyxyzyzyyz{zzzyyyyzyxzzz{z{zzzyzyyzyyz{|zzzz{zyyzzyyyzz{{zzzzyyyyyyyyxzyyzzzzyyyyyyyzzy{yzzz{zzyyyyzyyyzzzz{zzzzyxyyyzzyyzyzzzyyzyzyzyzzyzzyzyyy{yzyyyz{{zzz{zyyyzyyyzzz{zzyzy{yyyzyyzzzzyzyzzyzyzzyyy{zzyzzzzyzzzyzyyzzzzzy{zy{yyyzy{z{zzzzzxzzzzyzzzzzzz{y{zzzyyyzz{zz{zzz{y{yzzzyy{{{{zz{z{zzyzzyzz{{zz{zzz{{z{zzyzz{{{{{{zzzzzz{zzz{zz{{{|yz{zzyz{yzzzz|{zz{yzzzz{zzz{{zz{z{yz{{zzz{{{|{||zzzzxzzz{{|z{{{{yz{zzzzz{{{{z{zzzzzzzzz{{zz{{z{{zzz{{zz{{z{y{{z{zzyzzzz{zz{z{|{{zzyyzzy{|{{zzzzzyyyyxyyz{z{zzzz{zzzyxyz{{zzy{zzxzyyyxzyyzzzzzzzzzyzyyyyzyz{zzzzzyzyzzyzzzzzyzz{yzyzyyyxzzzz{zz{zyzyzyyzzzzy{zzzyyyxyyyzzzyyyzyzyzzyyzzzzyy{zzz|zzyzyzyyz{zzzz{zyyzyyzzyzzzyzzy{yyzyyyzyyz{{zz{{zyyzyxyyyzzzy{zy{yxxzyyzxzzyzzzzzyzyyyzy{y{zz{{|y{zyzzyyz{zz{z{|zyzzzzz{{zz{y{z|zyzzyzyyzzzzzz|{zyyzzyzyz{{zz{{{yyyzzzyz{{zzzz{zzzzzzzzzz{{{{z|z{{zyy{{zz{{{{{{{zz{z{z{zz{{{z{{{z{yzyzyz{{zz{{{z|yyzzzzyz{z|{{{|{y{zz{zzzz|{|{{{{zzzzzzz{{{{|{{{{yz{yz{zy{{{z||{{{z{{zzzz{{zz{{{|{zzy{z{{{{||{{{yzzzyz{zz{z{{{||zzzz{zzz{zz{z{{{yzzzzyyz{zzz{zzyzzzyyzyyy{{yzzzzzyyzzyyzxzzz{z{zzzyyzzyyyzyzzyzzzyzyyzxxzzzzzyzyzzyyyxzyzzyyzzz{zzyzyxzyyz{yyzzyy{yzzyyyyyyyyzz{yyyyyyyx{yz{zyzzxxyxxyzyzzyzzz{yzzyyyzyyzzyzz{zzyyyzzyzyzzyzzz{zyzyxyyyyyyyzy{zzyyxyyzzyyzyzzzzzyyyzyzzzzzyzzzzzzzyyyyyzzz{zzzzzyy{yyxyzzzz{zz{zyzy{xyy{zzz{zzz{zyzyzyzzz{yzzz{z{yzyzzzyz{zy{z{zyyyyzyy{zzzzz{zzzyyz{{zzzzz{{z{{yz{z{zzz{{z{z{||zzzzzxyyzz{z{z{{{zzz{zzy{{{z{z{{zz{zzzzzzzzz{{{z{yyyzzzzz|{|{z{{yxzzyy{yzzzz{z{{zzzzz{yzzyz{{{{|{zzzzyyyzzz{{{{{yzzy{zzzz{zzz{zzzzzyzyyz{{z{y{{zyzyyyyzzz{zzz{zzyzyyyxxxyy{yzzz{yyyzyxyyz{{zz{{{yzzyyyzyz{zzy{{zyyzzyzxyyzz{zzzzyzyxyzzyzzzzzzy{yyyzzzzyzzzzyyzzyyzyzyyyzyzzzzzyyyzyyzzzzzyzxzzzzyyzzxyyxzxzzz{zzyyzzzzzy{zz{zz{yyzyyyyyyzzz{{{zyyzzyyzyzzzyyzz{yzxzzyyyy{zyyz{{yzyyzzyx{xy{z{|{zzzyzyzzz{zyzz{zzyz{zyzzz{yz{z{|zzzzxzzyz{{zzz{zyyyzyzyzz{zz{{zzzzzyzzzzzz{{y{{{zy{zzzyy{zz{zzzyzzyzzyzzz{{{{{yz{y{{z{{z{{z{{{{{zzzzyzzzzzz{||{{{yzzzz{zzzz{z|{{{z{zyy{zz{{{{{{{|zzzzzz{z|{{{|{{zzyzy{zz{zz{{{{{|zzzzzzyzz{z|{|{{{y{zz{z{y{{{{z{{wzyyzz{zz{z|{zzzzzzzzzyzzz{z{{{y{zzyyxyzz{zz{{zzzyzzzyyz{zz{yyzyyyzzyzyzz{z{{z{zzyyyzyxzz{zzzz{zzzyyzyyzz{zzzzzyzyyzyzyzz{zzzzzzzyzyzzxz{zzyyzzyyzxzyyzzzzzy{zyyzzx{xyzzzyzzzz{zzzzyyzyzy{zyz{zyyzyy{yyzzz{yzz{yz{zyyzyzyyz{zz{zzzyzzyyzzzzyz{zzyzyyyyzz{zyzz{zzyzyzzyxzzzy{{{{zzyzyyzzzz{{{zz{{zzzzzyzzzy{z{z{zyzyyzzzzyzzz{{{zzzzyzzz{{{z{z{zzz{yzzzz{zz{zz{|{{zz{zzyz{{zz{zz{{zyzyz{{z{|{{z{zzzyz{{{z{{{{{{|zzzzzzzz|{{|zz{{{zzzyz{{{{{{{|{z{z{zz{zz{|zz{{{{{zzzzzzz|{z{||{{|zz{yzzz{y{{{{{{{yzz{zzzz{{{{{{|{{{{zzzz{{z{z{{{zzzzz{yz{{zzz{{{{yz{zzzyzz|{y{{{z{{{zyyzz{zzz{{{zzyzyyyzzy{z{z{zzyyzyyzyzzz{{z{{zyyyyzzxyyzzz{zyyz{yyzyyz{{{yzyzzzxyxyyzzzzzzzzzzzzzzyyy{zxyz{zzzzyyzyyyzzzzzyyzyyyyyxyy{z{zzzzzyyyyyzyyyzzzzz{zzyyxyyx{zzz{zz{{yzzyzzyzyzzzzz{{zyzyyxyzzzzzyz{{zyzyyzyyyz{zyzzzzyzzzyyzxzy{zz{{zzzzyzyyy{zz{zzzzzyyzxzzz{z{z{zzxzzyyzyzz{zzz{zyzzzyzzzzz{z{{{{zyzzzzzyzz{{zzz{zzzyzzzyzzz{z{{z{{zzzzzzzzz|{{zz{zz{yzzzz{{zz{{{|z{z{zzzyz{{{|z{zzyyzzzzz{z{{z||{{zzyz{z{z{z{{|{{{zz{zzzz{|{|{zz{zz{{zzz{{{z{{{{{zyzzzzz{{z{z{y{{{z{z{zz{z{{{{z{{zz{zyzzzzzz{{z{{zzyzzzyyz{{zzz{{zzzyzyz{z{z{zz{yyyzxyzyyyyyyz{z{yyyyyyyyzyzzzzz{z{yyyy{xzzy{{zzz{yyzyyyzyzz{zzzzzzzyyyyzyzzzzzz|yzyyxyyyy|zzzzzyzyzzzyyyyz{zy{zzxzzyyyyzyyyzzzz{xyyzyyzyyz{zyzzzyzyyyyyzzz{zzzzzyyyyyyyzyyyzzy{{yyzyzxzyyzzzzzz{zyzyyyyyz{yzzzzzzyzyzzyyz{zzzzzzzyzyzyzyyyz{zzzzzzz{zxzzzzz{zzz{zyzyyzyzz{{yz|{zzyzzzzzzz{z{zz{zzzyzzzyzz{{zz{{zyyzzzzyzz{z{zz{{yz{{yzyzzz{{{{{{yzyy{zzzzzz{z|||zzy{{yzzz{{|||{zzzzyzzzz{zz{{{{|{{y{{z{z{z{zz|{{{zzzz{{{z{{{{{{{zz{{zzzz{{z{|{zz{zzzzyzy{z|{{{{{{{zzzzy{{{z{{{{z{{zy{zzyz{z{z{|{zzzzzz{y{{{|z{zz{yzyzxzzzzzzz{z{yyyyzyzyzyzyy{{{{zyzyzzyzzz{z{zzzyyxyyyyy{zy{{{zzzyyyyyzzyzzzz{zyyzyyzzyzzzyzzy{yyzxyyyyzyzyyz{zyyyyzyyyzz{zz{{zzyyyxzzyyzyzyyzzyxyyyyyyzzzzzzzzzzzyyzyyxzzyzzzzzyyzyyyyy{zzyz{zyzyyzyyyzzzzzzzzyyxyyyxyzzyyzzz{yyzyzzzzyyz{zzzzzzzyyyzzyzzyzz{zyzzyyyyzzz{zz{zzyzzzyzzzz{z{zz{{{zzyzzzyy{zzzyzyyyyyzyyzzzzzzz{zzzzzzz{yzz{{zzzzzzzzyzzz{y{z{{{{zzyy{zzz{zzzz|{|y{yzzzyz{z{zzyz{{yz{{zzz{{z{{{{|z{zzy{{zzzz{{{{{|yzzy{zzz{z{|{{z{zz{zy{{{{{|{||{{zzyzzzzzzz{{{{zzzzzzzzzzz{{{{{|zzzyzzzy{zzzz{{{{zzzzzyyz{{zzz{zzz{zyyyyzz{zz{z|yyzyyyyyzzzzzy{zzyyyzzyyzzzzz{zzzzzxyzyyz{{z{{zzzzzyxyzy{z{zzzz{zyxxzyzyzy{zzzzzzyyzyzzzy{zyyzzzzyyyyyxyzzzzyzzzyyyyzyyyzzzyzzzzxzzyyyzxzzzzyzzzyyzxzyyyzz{{zyz{xzzzyzyzyy{zyz{zyzzyyyyyyzzzzzz{yzyzyyyzyzzzzzzzyyzzyzyyyzzzzz{zzzyzyyyyz{zzz{z{zyyy{xyyz{yzyzzzyyzyzzyzyyzzzz{zzzzzzyyyz{{zzz{zzyzzzyzyz{{{zz{z{yyzzzyzz{{{zz{{zyzyzyyz{z|z{z{{yz{yzzzzzzz|z{{|{xzz{zzzzzz{zzzzz{z{zzzz||z{{z{zzzzzzz{zz|zy{{{{{yy{yzzzz{{{{{|z{zzzyzy{{z{|{{|{{zzyzzz{|{{{||{{zzy|{zzz{{z{z|z{zz{zzzzzzzzzz{{{zz{{yyzz{z{zz{zzzzzyzyyzzzzzz{yzzyyzyyyyyz{zzyzzzzxzyyzyzyzyz{z{zzzxyyyxzzyyyzzzzyyzzyyyyzzzzz{yzyyzxyyyzzyzzz{zyzyzyzyzyzzzz{zzzyyzyyzyzzzyzzyzzyyzzyxyyyzzxzyzyyyxzyyyzzzyyz{yzzzzxxxyyzyzzyzzyzzyyyyyzzzyzz{zzyyyyxzzyyyzzzzz{zzyyyyyz{zyzzyzxyyyyyzyz{yzz{z|zzyzzyzzzzzyyz{zyyyzyy{yz{zzzzzzyyyyyzyzzzzzzzz{zzyyzyzyz{z{z{{yzyzyyyyyzyz{zzz{zzyyyy{z{yzzz{zzzzyzyyyzz{z{z{{zzz{yzz{zzzz{{|{|{zzz{zzyz{{z{{{{zxzyzzzz{{{z{{{|z{zyzzzz{{{z{{{|zzzzyzzy{{{{{{{{zyy{zzzz{{z{{{z{{yzyzyzzzz{zz{z{{zzzzzzz{{z|z{{|{z{yz{zzz{{{{z{z{zyzyzzyzyz{z{z{yzzzyzzz{{zzzz{zzzxyzxxyz{zzyz{zzyxzyyyyyzyz{zz{zyyzzzzy{zzzzz{zzzzyzyyzzzz{zz{zzzzzyyzyy{zzzz{{yzxzyyyyyzz{yzz{zyzyyyyyy{zzz{yyyxzxyzyyyyz{yz{zzyzzyyyyzzxz{zyyyzyyyzyyyzzyyzzzyyyyyyyyzzzzy{zzyyxyzyzyy{yyzzzzzzzyxy{zzzzyz{zzzyzzyzyyzzzyz{{zyzyxyyzyz{zzz{{{{zzzyxzzzz{zz{z{yzyyz{yzzyzzzzzzyyzyyzyzzzzzz{z{zzyyzzzzz{{z{z{zzzyzyyzzzzzz{{zzzzyz{{zyzy{{zz{{zzz{zy{zzyz|{{z{yyzyzyzy{{{z{z{zzzzz{zzzzzzz{z||{zzzz{yzzz{z{{{z{zz{zzzz{z{{{{|z{zyzz{y{z{{z{{z|zzyzzyzz{zz{z{{|{zz{zzzzz{{{{{zyzyyyy{{{zz{z{{{zzyzzyz{zzzy{{{|zyz{yzyzz{zzzzzzzzzyzyyyxyzzzzzzzyyyyyxyyyzzzzzz|zzyyzzyyzyzzz{zzzyyyyxyyzzyzyzz{zzyyyyyyzzzyzzz{yyyyyyzxz{yzzzz{zyyxxzxyzyyyzzzzzyyyyzzyyyyyzz{yzzzxxyyyzzyzzzyzyzy{yzyzzyzy{zz{yyyyxzzyzzzzzyyzyyyyyyzyzyyyyzzyyyyy{zyzyyyyy{z{yyyzzyyyzzyzy{{zyyyyzyyzz{xzyzz{zzzzzyxzzyzyzzzzzzyzyzyyzyzzzyz{yzzzyxyyzzzz{{z{zyzzzzyzz{z{zz|zz{{yz{yy{{yyz{{zzzzyzzyyzzz{z{{zzzzzzyzzzzz{zyz|zzy{z{zyy{zzz{{{zyzyzyzz{|{z{{{zyzzzyz{zyzzz{{|{{yzzyzzzzzz{{||z{zzzz{zz{z{{z{{z{yyyyzz{zz{{{zz|zzzzzyzz{{z{{{z{yzzzzxyyz{{{zz{{zzzzzyyzz{zzzz{yyz{yyyzz{zzzzzzzyyzxyyyyzyzyzyzzyyyzyxyyzzzzzzzzzyzzyyyyzzyzz{zzzyzyxyzyyz{{yz{zzyyyyyzyzzzzzzz{yyzyyzzwzzzy{zzzzzyyxzzyzzzyzy{zzzyyyzyyzzz{y{zz{yzyyyyzzzzzy{{yzzyyyyyyzzzzzzzzyzyyyyyzyzzzz{{z{yyyzzyyyyzzz{{zzzzyzxyyyzyyy{zzxyyxzzyxzzzzzzz{zyyzzyzzyz{{z{z{zzzyzyyz{zzyzz{{yzzzzzzyz{zz{z{{yy{zyyzy{zzzz{zzyzzzzzz{zzz{zz{y{yzyzzzyzz{zz{{z{zzzy{zz{{z{zzz{y{zzzyyz{{{{zz{{{z{{zyyz{{zz{{|z{y{zyyzzz{{{|{|{zz{zz{{zz|{{z{{{zy{y{zzzz|z{{{{{{yzzzzzyzzzzz{{{{zy{zz{{z{z{zz{{z{zz{yyyzzz|z{{{zzzyzzzz{zz{z{{{{zzyzzzyzz{{{z{{zy{yyzyzzzz{yyyxyzyzzxyxyzzyyzzzz{yyzyzyzzzzyz{zzyzyzxzyzzyzzx{yyzzxyyzzyzzzyzzzzzxyyyzxzz{{yzyzxyyzzyyyyzyyzz{yzyzyzzyzzyzzyzyzyzyyyyxyzyzzyyz{xzxwyyyyyzz{zy{zyyyyyyyzyyyz{z{zzxzyxyzyyzzzzyzzyyyzyzyyyyyyy{y{zzzyzyyxzzy{yzzzyxyzzzyyzzzyyyz{yzzz{yzyzyzz{zz{zzzyzyzyzzy{zzzzzzzyzyzyyzyzz{{{zzyzzyyzz{{{{zzzzyzzyzyyzzzzyy{z{zzyyzxzzzzz{z{|zzzzyyyz{zz{z{zzzyyyzyzzz{z{{y{{zzxzzyyyzz{{{z{{{zyzzzzzz{{z{{{zzz{yz{zzy{zz{{zz{zzyzzzzz{{{{{|}{z{{zzzyzz{{z{zzzyyyzy{z{z{zzzz{{{zz{zzz{|z{{z{{zyzyyyzzzzzzzyzz{{zzzzzyy{zyz{{zyxyyzyzzzz{zyzzzyyzyzyzzzz{yzyzzyyyyyyyyy{x{zz{{yzzyyyzyzzz{{z{zzyzyyzyyzzzzzzzzzyzyyzyy{zyzzzyzzzyyyzyyyzzzzz{z{yzyzxyyyy{yzzzzzyyzyyxyy{zzyzzzzzzyzyyyzyyzzzzzzyyyxyyyzyzzzzyzyzyyyzyyyzz{z{zzzzzy{yyzyzyzzz{{yzyzyyyzzzzyzz{zzyzzzzyyz{zzzzz{zyzyyyxyzyzz{zz{yzyyyyyyyzzzzz{zyyzyyzyz{yzzzz{zzyyzyzzyz{{z{{z{{yzyyyyz{{yzz{|zzzy{zyyz{z{zyzz{zzzzzzzz{{{{zz{{yzzzzyzzz{{{{{|zzzyzzzyzz|zz{z{zzxyz{yxz{{{{zzz{zzzzzz{{zzzz{|{|zzzzzzzzz{z|{z|z{zz{{z{z{{zz{zz{zz{yzz{zz{{zz{{{|{zzz{zz{{z{zz{|zz{y{yyzz{{{{{{{zzzzzzzzz{{zzz{zzz{yzxzzyzzzzzz{yyzzyzzzyzzy{{{zzzyxzyyyyyzz{yzzzzzzyyyyzz{{zzz{zzyzzyxyyyzzzzz{yzyyyyyyyyz{z{z{yyzyyzzyzzyzz{zz{yzyxyyyzyzzzzyyyyzzyzyyyzzz{{zzzyzyyxyyzzzzzyz{{zyzzzyyzzzz{{z{zyzyyxzxyzzyyyz|zzyyxyzyyzzzzz{z{zyzxyyzyzyzy{zyzyyyyzyxzyzzz{{zyyzzzyz{z{{z{z|zxzzzyyzzyzzzyz{{zyzzyyyyz{{zzz{z{yzzyyzzzzzz{zz{zzzzyzyy{zz{{zzyzzzzzzyz{{zzz{zz{zzyzxy{y{z{{{{zz{zzzzzyz{z{z{|z{{zz{yzzz{{{zz|z{yyzzzzz{{zz{{{{zz{yzzzz{{{z{|{z{yyzyzzzy{{{{{zz{yzzzzzz{{|z{{{{zyzyzzzz{z{{||{{z{{zzzzzz|{|{||z{zzyzzzzzyzzz{{{{{zz{zyzz{{|z{{zzyzzyyzxzz{{z{zzzzyyyzyxyzzyz{zzyyzzyyyyz{zzzzzyzzyyyyyyzzz{z{{{{yyyyyyzyzz{yz{zzyzyyyzyzyz{zzy{yzyzyxyyzzzyxyyzzyzzzyyxzz{yyz|zzyyyyzzyxyyzzzyzyzyyzyyzzyzyzzzzyxyyyyxyzzzzzyz{yyzyxyzyyz{zzyzyzzzyzxyyyyyyzzzzzzyyyyyyzzzyyzzzyxyz{zyxz{zzzyzzzyyyzzyzyzzyzzzzzyzzzyzyz{{zz{{zyyzzyzyz{zzzzz{zzyyyyyzzzzzzyzyzzyyyyzyyz{zyzz{z{zyyyzyyz{{y{{{{zzzzyzzzyzzzzz{zzzyzzzzzy{z|z{{|zzz{zzyz{{z{z|{{{yzz{zz{zz{zzz{{{yzzz{z{zz{{zzz{{zzyyyzzz|z{{{|{zy{yz{z{{{{zzz{z{zyzyzz{zz{{{z{{{zzz{zyyz{{|{z{{yzzzzzzz{zzz{z{z{yzzzzzzzz{{zzzzyzzyzyyyzzz{z{zzzyzxyxyyz{zyzzz{y{yyyyxyz{zyzzz{zyyyzzyyzzyyzzz|zxyyzyyz{zzzzy{zzzyyyyzxzzzzzzz{zyzyzyzyyzyyzzyyzzzzzzyyyyzzxyzzyyzyzyzyzy{yyzz{yxyxxyzyxyzzyzzzzxyyyyxzzy{zz{zzyyyyyyyxyyzyzz{zzyyzyyzyzyzyzyzzzzzzyxzyyyzzz{{zyy{zzzyyyzzz{y{zyzzyyyzyzzzzzzz{zzyzxxzzzyzzzzy{yyzyyyzzzzzzxz{zzzzyyyzyzzzzzzzzyz{zyzxyz{zzz{z{zyyyzzyzzzzzyz{zy{zzzyyzzz{{z{{{y{zyzzyy{z{zz{{{zzzyyyyzz{zzz{{zzzzzzzzyz{zzz|{{zzyyzz{yz{{{{{{z|yzzzz{zzz{{{|zzzz{{{zzz{y{z{{{{zyzzzzzzzz{{{zz{zzzzzyyzz{zz{|{{z{zzzzzz|zzz{|zyzzyzzyzz{zy{zz{{zyzyzyzyz{zzyzzyzzzyzyyyz{{z{yz{zxyyyzxyzzzzzz{zzzzyzyyxzzyzy{{zyzzyzxxyzzzzzyzz{xyzyyywyyzzzzz{xzzyyyyxyyzzzzzzzyyyyzyyyzzyy{zyzyxyyzyyzzzzyyz{yzyxyyyyzzzz{zyzzyyzyyyyyyzzzzzzz{zzyyyyyyzzzz{{zyyyyyyzzzyyzzzzyzyyzyyyyzyyzzzzyyyyzyyxzzyzzzzz{yzyzzyxzyzzy{z{yyzzzyyzzyyzyzzzyyzzyzyzzzzz{zz{zzzyzyzy{zzzzzzzzyzzyzyzyzzzyzzzzzyz{xyzzz{{z{z{zzyyzzyzzzzz{{z{yzyzzzzz{{{{zz|{zyzzzyyz{z{z{z||{xzyy{zz{z{{{{|{zzzzzz{z{z{z{{|{{zyzyzyzz{z{{|z{zz{yzzzy{{{{{{z{{zzzzyyzzz{zz{|zzzzzzzyy{zz{z{{{yzzyyzzzz{z{{z{{zzzz{zyyz{y{{{|zzzzxzyzzzzzzz{zzyzyzyyzyxzzzzz{zzyzyxyxzyy{zzzzzzyyxyyzyzzz{{z{zzyyyyzyzzyzzyzzzzxyxyyyyzz{zyzz{zyxxyyzyzzzyy{zzzzzyzyyyzyzzyzzzyyzyyyyyzyyzyzzzyzzyzyyyyzzyzzzzyyxyxzy{zzz{zz{zyyzyyzyyyzzyz{zzzyzxzyzyyyyyzyyyyzyxyyyxzzzyz|yzzyyyyzyyzzz{zy{zzyyxzyyyzzz{zzzz{yzyzyyyzzzyzzzzzzzyzzyyz{z{{z{zyyzzyyyzzzzz{{{zzzzxzzyyy{zzz{|{{zzzyzyyz{{zzyz{zz{zy{yzzz|{{{z{yzzzzzzyzzzzz{{{zzyz{yyyzzz{|{{{zyzyzyyzz{{{{{{{zzzyzyzzzz{{z{z{zzzzzzzy{|z{{{{{{z{zzyzzz{{y{{yz{yyzyzzzz{{zy{{{{zzz{zyy{{{z{zz|zzzzyzzz{zz{zz{{zz{yzyzzzz{{zzz{zyzzzzyzzy{zyyzyyyxzyyyyyzzyyzyzyzyyxyyyzzzyz{y{zyyzyzzyxyyyzzzzzyzyyyyyyzzzzzzyzyzyyxzyyyzyz{{zyyzyyyyyyzzzzyzyyyyzyyyzyyyyzyzyyxyyyyyyyyzyy{zzyzyyyxyyyzyzzzy{yxzyzyyyyyyyy{zzzyyzxzyxzzyyz{{{yyyyyyyxyyyyzzyzzyyyyyyyyzyyyzzzyyzyy{yyzyy{zyz{zyyyyyyyzyzzzyzzyzyyyzzyzzzzyzy{zyzzyxyyzzzz{{{zzzzyzyzyzzy{yzzzzyzyzyyyzyzyzz{yzyyzyzxy{{zzzzzzyyzyzzzzzz{|z{{zzzzzzz{y{{zzzz{z{zzyzyyzz{zzzzzz{yzzyzzy||zz{z{{zz{zz{zzzzz{{zzzzz{yyzz{z{{z|{{{zzzzzzyz{{zz{zz{zzzzzz{{z{z{zz{{z{yzzyzzz{{{z{{{zyzyyzyyzz{z{{{zyzzyzyyyyzz{z{{zyzyxyyzy{zzzz{yzyzzxzyyyyzzyzz{zyzzyxyyyzzz{z{zzzzyxyxyyzyzzzz{yzzzzzyy{z{z{zy{yyyzyxyyy{zzyzyzzzyyyzyyxy{zyyzz{yy{xyzyyzzyzyz{yzyyxyyyzyyzzz{yzyzxyyyyyyzz{zyzzzxyyyyyzzyzzyzzzzzyyyyyyz{zzzyzzyyyzyyyzzzzxyyzzzzzxyyyyyz{yzzz{xzzyyzzyzzyzzyzzzyzzzyyyzzzzzyz{zzzzzyyzyzz{zzzzzzyzyzzz{zzzz{zz{z{yzzzyyzz{z{{z{zzyzyyyz{z{z{zzzzyzzzyyzzzz{|zzzyzzzzzzyzz{{z{zzz{yzz{{z{z|z{{{zyy{yy{x{z{z{{{{{yyzzzzzz{z{z{{{zzy{zzzzz{{z{z{{{yzyzzzz{|z{{{{{zzzzzzzz{{z{{z{zzz{{zyzzzzzz{{|zzz{z{zz{zz|{z{z{z{zyzzz{{z{zz{z|zzzyzzyyzz{zzzzzzzzzxyyyzz{z{zzzyyyxyxyyyzyz{z{zyzzyyzyyzyzyy{|zyyzyyzyz{yzyzzyzyyyyyyyyyzy{zzzzzzzxyxzxzzyzyzzzzzzyyyyzyzyyyzz{zzyyyyxyy{zyzyzyyyyyyyzyyyzzzzzyyxyyyyyzzyzzz{yzzyxyyyyyyyzzzzzzyzyyyyyyyzyzzzz{zyzyyxyxyyzyz{yzzyxzyyyyy{zzyz{{yzyyyyzx{zzz{{zzzzyyzyyyzzzzyz{{yzzzzyyzzzzzz{z{yyzyyyz{zzyz{zzzzyzyzzyyz{yz{{z{zyzz{zyzzzz{z{{zzzyxzzzzzz{zy{zzzzzzyyz{zzzz{{z{zz{zyzzy{{{{{{z{yyzzzzzy{z{{{{{z{zzzzzzy{{zzzzz{zyyzzzz{{{{{z{{z{z{zzzzzz{|z{z{{zz{zzzy{{{z{{{zzzzzzzzyz{{z{z|z|{{z{{zzz{|z{{z{z{yzzyzzzzy{yz{{{zyyzzzzyzzz{z{{zzyyzyyzyzyzzzzzzzzxyyyyxxyzy{zzzyyzyxyyzyzzzzz{{yzyzzyzyy{yzzz{zyyzyyxyzzzzzyz{zzzyxyxyyyzzzzzzzyxzzyyyzzzz{y{z{yyyxxyyyzy{zyzzzzzyyyyyyyxzzzyzzyxzzyyyxyyzyyz{zzyyzyyxyzzzz{zzzyzyxxxzxyzzzzx{{y{zyzzxyyyyyzzzyzyyzyyyyzyzzyzzzyzzy{yyyyyzzz{{{zyzyyyzyzzzzzzzzzxzzzxzzzzzyz{z{yyyzzzzzzzzzzz{zzzzyzzyyy{zzz{{{zzzzzyyyzyzyzz{zzzzzyyzzzzzyz{zyzzxzzz{z{zzzz{z{zzy{yzyzzzzz{z{{{zzzyyyyz{|{zz{zzzzzzzy{z{{z{z{{zzyzzz{{z{z{zzz{zz{zy{zzz|{{{{zzzyz{zzzz{{z{zz{{zzz{{yzyzz{{z{{{zzzzzyzz{{z{z{|{yzyyyzyzz{z{{{{yyyzzyyyyz{{{zz{{yzzyzzzzzy{z{zzz{zyzyzyyzzzyz{zzyxzzzxyyz{zy{{{{zyzyzyzyzzzzyz|{{yyyzzzyyz{zyz{zyyzyyyzyyzzzz{z{yzzyzyzyzz{{zz{zzzzyxyyzz{|yzzzyyzzyyyy{zzy{zzzzyyyyzzzyzzz{{{z{zzzzyyxzzyzzzzzzzz{zyzyyyz{{zzy|zyyzyzzyzzzyzzzzzyzzyxyyzzyzx{zzyyyyzzyyyzzzzzz{zzy{yx{yzzzyz{z{yzyzzzzzzzzyzzz{yyzyzzzzzzzzz{zzzz{yzyzyz{zzy{zzz{zzzyzy{zzz{z|{zzz{zyy{{zz{y{{zzzzy{z{yz{zzz{z{yz{yzzzzz{{{{{{{{yzzyzxz{{{zzz{zzzy{zyzyz{z{{z{|zzzyyzzz{{z{{{{z{zzzzzzzzzz|{|{{{{zzzzzzz|{{z{|{zyzzzzzyzzz|{{{|zz{zz{zzz{|||{zzz{zyxz{zz{{z{{{{{zy{zzyzz{z{{z{zzzzzzzzyz{zz{zyzzyyxyyyyy{zzyzz{xyyxyzzxzzzyzz{{zzzyyzyyzzyyzz{{yyx{zzyyzz{z{yzzyzzyxzzyzzzzyzzzzyyyyyyyyzzyyzzyzyyxzyyyzzzyyyzzzyyyyyyyyyzzzzyzyyxxyyzyyzz{zz{yzyyzyyxzxzyzzzzyyyyzxyyyzzzzyz{{zyyxxyxyyzzyzxzzyzyyzyyzzyyzz{zzzzzyyyyzzzz{zzz{zyzyyyyyz{yy{y{zzyzyyyzyyzzzyz{zyzzzyyzyzzzz{z{zzzzzzyzxzzz{{zzzyy{xzyzyzz{zz|{{zzzyzzzzzzzzzz{zzzyyyzzzy{z{|{z{zzz{zyzz{z{z{y{{zyzzzzyzy{{{{{{zzyyzyyzz{|{zz{{zyzzzz{zzy{{{{zz{{{zyy{zzz|{|{{{{{zzzyzzzz{zzz{|z{zz{{{y{{|z{z{{{{zyzzy{z{z{{zz{zzzzyzz{{z{z{zzz{z{zzyzyyz{z{{z{zzzzyyyyyzyzzzzyzxzyyyyzyyz{yzzz{yyxzyxyyzzzzzzzzzz{yyyyyyyzzzzzz{yzyxxyyy{zzzz{yyzzyxyyyzyyz{{yzzyyxzzyyyzyyyzzzyzyyyzyxyzzyzzzyyx{xyyyyyyyzzzyzzxxyyzzyyzzyyyzxxzzyzyyyyzzzzzzzzzyyyyyxyzyzyyzzzyxzyyxyxzyzzzzzyyyxxyyzzyzyy{z{zxyyzzyyxyyzyzzzzyyzyyzyyyyyyz{{yyyzyzzzzyzzzy{{zzzzyyyyzz{z{{z{zyzzzzyyyzzzzzzzzzyyyyyxzzzzzz{zzzzzzyyyzzzzzzz|zzzyzyzzzzzz{zzzyz{zzyzxz{z{zy{zzyzzyyyy{z{zzzz{zzzzzzzzz{zzz{{zzyyyyzzzz{zzz|{{zzz{zzzzy{{z{|{{{zz{yzyy{{yz{{{zzxyyy{zzzzy{{{z{zzyzzzy{zzzz{|{{yyzzzzyzz{z{yzzzz{yzzzyyzzz{zz{zzyyzzyzyzzzzyzyzyyyyxxzyy{zzzzzzyyzzyxyxzzzxzzz{zyxzyyyy{yyyzzzyzyyyyyyzzzzyyyzzzyzyyzzxyzy{{zyzyyyyyyyyzzyyzzyzzzyyzzxyyyyyyzyzzyzyyyyyzyzzzyzzzzyxyyyyzy{yyzzzyxyyxyyyyyzzzzzyxyyzxyyyyyz{zzzz{yzyzyyyzyzyzzzzyyyyyyzyxzyyzzzzyyzz{yyyzzzzzzzzyzyyzzzzzzyzyzzyzzzzyyzz{yz{z{{{zyyzyzyyz{zzzzzzzzyyzyyzzyzzzzzyzzzzzyzx{zzy{zzzzyzzyzyyy{zzzz{{yzyyzzzzz{z{z{{{zzzzzzzzz{z{{{{{yz{zzyyzzz{{zz{z{yzzyzzz{{z{{z{{{{zzzzzz{zzzzzz|zzzyy{{zz{z{{{{{{{yzyzzzzz{|yz|{{yz{{yy{z{z{{z{{{zzyzzzzzz{{{{{zzzzyzzzzz{z{zz{{yyyyzyyzz{zz{{zzzzyzyzzyzzz{zzyzzyzyyyxyyzzyz{zzzzyzyyyyyzz{z{z{zzzyyyyyzz{zz{{yyzzyyzzyyzyzyy{{{yxxyyyyzzyzzzzzyzyxyxyxyzzzyzzzzzyyyyzyxy{yyyzzyyyyyzyyyyyzzzzzyyyyyxyyzyzzzzxyzzyzxxxyyzzzzyzyyyzxyyyxyzzzyy{zzyyyzyyyyyzzzz{yzyyzyyyxyzzyzzzyzyzyzxxxzy{zzzzzzyyzzzyxyzzzzzz|yzyyyyyyzzyzz{zzzxyzyzzx{{zyzz{yyyyyyyyxyzzzzzzyyxyzyyzz{z{zzyzzzyzzyyzzz{{zzz{zzyyy{zyzzzyzyzzzxzz{zzyzzzz{zzz{yzyzyxyxy{{{{z{z{zyzzzzxz|{y{{z{{zzyzzzz{{{z{{z{zzzyyzzz{|z{zz{{{z{zzzzzzzz{z{{{{zyzzzx{zz{zz{z{{{z{{y{z{{z{{|{{zzyyzzzzy{zzz{{{zzzzyyxzy{z{zz{zyzzyyxz{zzzzyzzzyyyxzyyzyzzzzyzyzyyzyyzzyzzyz{z{{yyyyzyyzzzzzz{yyyyyyxyyyzzzzzy{{yzyx{yyzzz|zzzzzzyzxyyyyzyyzyzzyyzyyyyyzzyyyyzzyyzyyzyyyyzyyzzzyyyyyyyzyzzyyzzzyxyyyyyyyyzzzzyzyyyyyyyyyzyyy{zyyyyyyxxzyzzyzyzzyyxxyyyyzzyzzz{{yxzyxyxxyzzzz{{yzyyyzyzzyz{zzzy{zyyzyxyzz{z{zyx{zyyzzzzyz{zz{{zzzzzyyxyxy{yyzzzzyzzyzzzyzz{zz{zyz{yyzyzy{{zzzzzzyzzzyz{zzzz{zzzzzyzzzzzxz{zzz{{{{yzyzyyz{|{{zz{z{zzzyyyz{{yyz{{zzyzyy{zzzzyz|{zzzzzzzzyz{zz{zz{{{zzzzyyy|z{{{{zz{yz{zzz{{{z{{|{{{{zz{zz{zzzyzzz{zzyyzzzz{{z{z{zzzyyyzyyyz{zzz{{yzyyyxzyzyy{zzyyzyxzyxzyyyyyyyyy{yxzyyyyxyyzyzyzzyzxyyyyyyyz{yy{zyyxyyyyyzzz{zzzyyzyxzxyxzyzzzzyzyzyzxxzyxyzyzzzyzyyyyxyyyyyyyzzzyyyzyyyzyzzy{yzyzxyxyxyy{zzyzyzyyyyyyyyyzz{zyzzyyyyyyyzyyzzzyzzzyyyyyyyzyzzyzzyzzxyzyzzxyzzzyzyzyyyzyxzyzyz{{yy{zyzyyyyyy{{z{{zyyxyzyyyzy{zzy{yzyzyyyyzyy{{{zzz{zzzyyyyyzz{{{yzzyzyyyyyzyzzzzzzzzzyyzz{yyzzzyzzzzzzzzyyzzzz{{z{{yyzzzzyzz{{{y{{zzyz{zyyyz{yz{z{yzy{zzzzz{{z{{z{zzyy{y{{{z{{z{{zz{yzzyzzzy|{{{z{|{zz{zy{yzzz{z{{{zzzzyzy{y{z{zz{|zzyzzzyz{yzzzz{{z{zzzyyy{{zz{{{zzz{zzyyyyzzzzzzyzy{yyyyyyz{zzyzyyxyxyzyxyzzyzy{zzxzzyxxyzzyzzzzzyyzyyzyxzyzy{zzzxyzzzyyyyzzzzyz{zyyzxyyxzzzzzy{{yzyyyyyyyyyxzzzzyxyyyyxzyzzxyyzyyyx{yxyyzzyzzzzzyyxyyyyyyzyzzzzyyxzxxyyzzzzyzyzzzzzyyyxyzzy{yzzzyzzyzyyzyyzxyzz{zxyyyyxyyz{zyzzzyyzyzzyyzzzzyyzzyyyyzyzyzzyyyz{{zyyzzyyzyzzyzzz{zyzyyxyyz{zz{z{zzyzyzyyyyzzz{zzzzzzyzyzzyz{yyz{zzyyzz{zzz{{zzzz{zzyzzyzzzzz{z{|zzzzzzyzy{z{zz{z{zyz{yyzyzz{{{{zyzzy{zzzy{{{{zz{{zzzzzzz{{zzz{|{|{zzz{zzzz|z{{{{{zyzzyyyz{zz{{{zzzzyz{zyz{z{{{{{{zzzz{zzz{{zzz{z{yzzyzzzzzzzz{|{{z{zyyzzyyz{zy{{zzzyxyyzy{z{z{zzzzxyyyyyyzzyyzy{zyyyyyyyyzyyzzzzyzyyyyyyyyzzzzzzzzyzyyzyxzzzzxzz{yzzyxyyyyyzzy{zyzyyxzyyyzzxyyz{yyzyyyyyzzzzxyyzy{yyxyxyy{zz{yzz{yyyyyyyyzzzzyzzzzxzyyyyyzzzyyyzyzxzyyyxyzyyzyzy{yxyzyyzyxyzzzzy{zzyyyzzyy{yyy{z{yyzyyyyyzyzzyyzzzyyzzzyzzzzzzzz{yzyyxzzzzzyzz{zzzzzyyzzy{z{yzz{{{zzzzyzyz{yzz{yzzyzyyzxxzz{z{z{zzzyzyzyzzzzyy{{z{yzyyyzzzzzzz{zzz{yzzyyz{{zzzz{{zzzzyyyz{{z{z{z{zyzyzzzzz{{{zz{{zzzzyy{zzz{z{{zzzzyzyzzzz|z{{|{|zyzzzyzzzz{z{{{{{zzzzzzzz{zzz{z|zzzz{zzz{{{z{{z{yyzzyz{zzzzy{z{zzzzzz{zyy{yz{zzzzzzxzyzy{y{zz{zyyzzxyyyyxyz{zzz{yyyyyxyzzzzzz{zz{yyyyyyxzzz{zyzzzyyyyyyyyyzzzyzzzzzyxyzxyyzzyzz{yzyyzyyxy{zzzzyyyyyyxxxyz{yzzzyzzyyyyyxyzyyyyzzzyyyywyxzyyyzzzzzzyyyyzxyyzzyz{yzzxyzxyzyzzz{zzz{yzyyyxyxyzzyzyyz{zxyxxyyy{zyyz{{zyyxyyyyzzyzxyzzzzyyzyyzzyyzzzz{zzyyyyxzyzzy{{{zyyyyxyyyzzzy{zzzzzzyzyyyzyzz{z{zzyyyyzzyzz{zy{{yyyzzyzzzzzzz{{z{zzyy{yyyzz{{{|zzzyzyzzyzz{y{yzz{zxzyzzzzz{zzzzz{zyzzyxzz{zz{{{{{zzzz{zz{zz{{zzzz{yzzzzyzy{|{{z{{yzzzyyz{{{z{z{z{zyyzzyyzzz{{{{{{{{z{zzz{{{{{z{{{{zzzzyzyyzz{{z|zzz{yzzzzyzy{z{zzy{zzzyyyyyyzzy{zyyzyzyyyyy{zzzz{yyzyyyzyzy{{z{zzyzzzyyxyzzzzyz{{yxzyyyyyyyz{zz{zzzzyyzzxzz{zzy{zyzyyyzyyyzzzzzzzyx{yyyxxzyzxxzzzzyzxxyyyzyyzy{z{zyzzyyyyzzyyyzzzzyxyzxyyzzxzy{zzyyyzxyyzyyz{yz{zzyyyyxzyzyyyyy{zzyyyzzyyzzyz{{zzyyyxyyyyz{zzzz{yzyzzyx{zyzz{{z{zyz{yyyzzzy{zzzz{zz{zyxyyy{zy{zz|zyzyzzzxy{zzzzzzzzyzyyyyzz{zzzz{z{zyzyyzzzzz{{z|y{zz{zyyzzzz{z{{zyzz{{{zzzzzz{{{zzzzyyyzy|zz{z{z{zzzzzzzz{{z{{|{zzz{zzz{zzz{zzz{{zzyy{zz{|y{z{{{{yyzzzyzz{{{{{{z{yzzzzzzzzzz{|z{{zzy{{zz{{{{z{z{{zzyzzzzz{yz{y{{{zyzzy{zz{{{yz{{zyzyyyyxz{zz{{zzyyyzyyyxz{yzzyzzyyyyxzyyyyzyy{{{zyzyzz{yzzz{zzzzzzzy{yzyzzzz{yzzzxyyzyzyzyzz{zz{zzyxzzzyz{{yz{{yzyzyyyyyyzzzzzzz{zzzyzyyzyyzzzyzyyzxyyyyyzy{zy{zzyzyyzxzyz{z{zyzyxyyyyzzz{zy{z{zyyzyyyyxyzzy{zzzzzyzyyyyzzz{z{{zzzzyzzyxzzxzz{z{zyyzzyzyyzzz{zz{{z{zyyzzzz{zz{zzyzyyyyyzzzzz{z{zzzzzyyyy{z{{{{z{zzyyzzyz{z{zzzzzyyzzyyyy{z{zy{{zzzzz{zzzzzz{{|{{yzyzzz{z{z{{{{{{zzzzzyyyz{{{z{{{zzzz{yzz{{{{{z|{zyz{zz{{{z{{z{{|{{zzzzzzz{|{z|{{zzzzzzyzz{{{{{{{{zzzzzz|zzz{{z|||z{zz{zzz{z{{{{z{z{yz{yzz{{zzz{{yzzzzzzz{z{zz{{yyzyyyzzyzz{zzzzz{yyzyxxyy{zyzzzzyzyzxyzxyz{{{{zzyyyyyzyzzzzzyzzz{yzyzzzzyzz{z{zxyyxyyyyx{{zyz{zzyyzxzzzyyyyz{zzzyzyyxyyyzzyyzyzyyyyxyzyyyyzz{zzzzyzyyyyyyzzzyzz{yyzyxzyyzzzzyzzzzzzyyyyzzzzzyzzyyxyzzzyyyzzzzyzzxyyyyxyzyz{yz|zzyzyzy{yyzy{zz{{zyzzyyzzzzzzyz{z{yzzyyzzz{yzzzy{zyyzzyyzxzzzy{z{zzzzzzyzyy{yz{{z{zyzzyyzyzzzzz{|zzzyzzzzyz{yz{{{zzyzz{zyzzzz{zzzzzzzzzyzy{zz{zz{{zzzyzzyy{{z{{{|z{yzzyz{z{{zzz|{|z{{{zz{zzz|{zz{{{zyzzzzz{|zz{{|z{yzzz{yz{z{{{z{{{yzzzzz{z{z{{{{{|{zyzzy{z{{{{z{zzzzy{zz{{{{zz{{{|y{yz{yz{zz{z|zzz{zzyyzyzzyzzyy{zyzyyzyyyzzzyyzzzyyxyyyzzzzzzz{{zyyyyyzzzzyzyz{zyxyyyyy{zzzzzyyzzzzzyyyyzyzyzzzzyyzyyyyyzzzxz{zzzyxyyyyyzy{zyzyyzzxyyyyxzzyzyyzzzyyyyyyzzyy{zzyyyzyyyyyyyzzzyzzzzzzyxyxyyyyyy{zzxyyyxyyxyzzyzzzzzyyzxyyyyzy{y{zzyyyyxzyzzyyzyzzyyzyxyxyzzz{zyzzzzx{yzy{yzzyyzyyzzyyzyyyzzzzzz{zzyzyyyyzy{zzzzzzzzzyzyyyzy{z{zz{zyyzzzzyyy{zyzzzzyyy{yyyzz{{{{{{zz{zzyyyyzzzz{yz{zz{yyzyyz{z{zzzzzyyzzyzzz{{z{{{{{zzzzz{zzzzy{{{{|zzz{zy{{{{{{{{{zzz{zzzy{{z{z{z{{yzyzz{zzz{z{z{|zzzzzyz{{z{{zz{{yzzzzyzyz{z{{{{z{yzzzyyyzzz{zz{zzz{zyyzzzzyzzzyzyzyxyyyyyzzzyyyzzyyyyyxxyzzyzy{zzyxyyzyyzzzzzz{{zxzyyyyyyzyyyyzzzyyyxyyyzz{zy{zyyxyxyzxxyyzyyz{yyyyyyyyzyyyyyzyyzyyxxyzyy{yzyzyyxyxxyyxyyyzzxz{zyxyyxyyyyzzyzzzzyzyyxyyxzzyyzzy{yyyzyxzxzyzzzyzyxxxyyyyyxyz{yy{zzxyyyyyyzyzzzyzyzxz{yyyxyzzzyyz{yzyyyyzzzzyyzzzzzyyyyyyzzyy{z{zzyzyzyyzyy{yy{{zyyyzzzxxyz{zzzz{zzxzyzyyyzx{zyzyzzzzyyyyzzzz{zz{{zzzyyx{z{z|{z{{{yyzyyzyxz{{z{{{z{zyzyzzy{{zzzz{{yzzyzz{yzzzzzzzzzyy{{zyyz{{y{{z|zzzyzyzyzzzz{z{zzyzzzyz{|{yz{zzzzzyyzxzy{z{zz{{zz{yyyzzzzzz{zzz{z{yyyz{yy{zyzzzyzyzyzyyxzyzyzzyyyyyyzyzyyzyzyzzyxyxyyyyxyyzzzzzzyyyyyyzx{yy{z{zzyyyzzyyzyyzyyzzyyzyyyxyxzyzyyzzzyxyyyyyyxzzyyzzyyyxyyyyyzzzzyzyzyyyyxyyyyyyyyyyzyyzxyxyyyzyzyyzxyyyyxyyzyyzzyzyyzxyyxyxyyzzzyzzyyyyyyxyzxz{zzzyzxzxxyxxxxyzzzz{zyyyyyzyyyzzyxzzyzyyzzyyxyyyzzzzzyyzyzyyyyy{zzzzyyyzxyzyyzzzzzz{{zzzzzyyyyzz{zzzyzy{zzyyzzz{zzz{yyyyy{yzyzyzzzzyzyzyyzzyzyyzzz{z{y{zzzyyyyzz{zzzz{yzz{yyzzzzzz{z{{yzzzyzzy{zzz{{zzzzz{zzyzy{zzzz{{{zyyzyyy{{z{|{{zzzzyyzy{{{z{zz{zzzzzzyyz{{z{{{z{zyzzyyyzz{zzz{{y{zyyyzyzzzz{zzzyyyzyyzyz{zzzzzzyyzxyxzyzzyzzxzyzzyyyyzyyzyzyzzzzyxzzxzyzyyy{zzzyyzxyyyyzzzzzz{yzxyyyzzyzzyzzzy{zyyyyyyy{zzyy{zzzyzyxzyyyzzyzzzyzyyxzzxyzy{xyzyzyxzzzzyxyyzzzyzzyyyyzwyyyzyyyzyzzyyyyyyyyyzz{zyzzyyyxzyyx{zzyzyzyxzyyyyxyzyyzzzyyyyxzyyyxyyyyyzyyyyzyyyxyzyzzy{zzxyy{xyyz{zyy{{zyzzzzyyzyyz{{zy{yyyyyyxyzyz{zz{zy{zyyzyyyyzzyz{yyzyyyxzyzzzy{zzzyyyzzyyzz{z{yzzzyyyy{zyzzzzz{zz{zzxyzyzzzzy{zz|{{zyyzzyyz{{{{{zz{zzzzyzz{z{{{{zzzzz{zzyzy|zz{{z{{zzyzzyzz|{{{z{{{zzzzzyzzyz{zzzz{zy{zzz{z{{{zz{{{zzzzyz|{{z{zz{{yyyzzzzzz{{yz{{{yyzzxyyyzzzzzzzzzyzzzyyyzyzzzzzzzzyyzzyyyzzzzzzzyzyzzxyyzyy{zz{z{yzyyyxyyzzzzzz|yyyyyyyyzzzzzz{zzzyyyyyyzzzzzzzyzxyyzzyyzzyyyyzyzyzyyyyyzy{yyyzzzyzyyyyyzyzzzzzzzzzyzyyyzyyzzzyyyyyyzyyyzyzz{z{zzyyyzyyzzzzzzyzzyzyyyyyyyyyzz{zzyzyyyxzxyyyyyzzzyyzzzyzxzyzyzyz{zzyzyyyzyyzyzzz|yzzyxxzzzy{zz{zzyyyyyzyyz{zzyzz{zzzzyyyyz{{{zz{zzzzyzyyzzz{yzz{{{yzyyxzyy{zyzz{zzzyyzyyzz{{zz{z{zzzzzzyzz{{{yz{zzyzzzyzyz{{zz{{zzyzzzzzzz{{{z{z{{zzyyzz{{z{zz{{z{yz{zzyyz{{zz{{{zzzz{zzzz{{{zy{z{zzyzzz{zzz{{{{{{z{y{yy{{zz{z{{z{zzzyzyzyzzz|z{{z{yyxzzz{zy{zzzzyzzzyyyyzzzzzzzzzzzzzyyxz{{yzzzzzzzyyyyzyyzyzz{zyzyzyyyyyyzzzzz{zxyyzyyyzy{{zz{zzyyyyyyyzzyyy{{{zyyyzyyyxzzyzzzzzzyyzzzyyyz{zzyyzyyyzyyzzyzzyyzzzyzyzyyyyzzzyyzzxyxyxyyyyyzzzzz{yzzyzzyyyzz{zy{zzyyxzyyxyzzyzzyyyyyyzyxyzzxyyzzzyzyyyyyyzzyz|{{zyyzyzyzzyzzzzzz{yxyyyyzyzzzzzzz{zzyzzyyzy|zzz{zzzyzyzxzzzzzz|{zzzyzzyzyzzz{zzzzzzyyyyzzyz{zyzzz{zzzz{zzzyz{{zz{|{zyzyzzzy{zzzz{z{zyzzyzzy{{{{z{{{zzzzzzzz{zzzz{{zzzzzzzzz{{z{{z{{zzzzzyzz|{{z{z{yyz{zyz{zz{{{{{{zyz{zzzzzz{z{z{{z{{z{zz{z{{{|zz{zzzzyzzzzzz{{{{zzzzzyzzzz{zzzzz{zzzyyz{zy{{zz{yzyzyxy{zzzyzy{zzzyzyyyyyx|zzzzzzzzyyyyzyyzzzzyz{z{zyyzyzxzyzzy{{{yyyyyyyyzyzz{zzzzyyyzzyyzzyyyz{zzzyyyzyzyyzzzzzzyyyyyyzzzzzz{zzyyyzyzyyyyzzyyzzyzyyyyyxzzzyyyzyzyyzyyzxyyzyz{y{zzzzyyxyyyzyyzzzzzyxzzzzyyzyy{zyzyzyyz{yzyyzzyyz{zyzxzyyzzzzyzzz{yyzyyxzxzzzzzzzz{zzyyyyyz{{zz{zz{zzzyyzzzz{zz{{{yyzzzyyyz{{y{z{zzyyzyyzzz{zzz{zzyyzzyyzzz{{z{z{{zzzzzzy{z{zzz{{{yz{{yzyyzzzzzz{z{yyzzzzz{z{z{z{{zyzz{{zzz{{z|{z{zzyzzzyzz{z{{zz{zzz{{yy{{{zz{{zzzz{zzzzzzz{{z{{zz{z|{yzz{z{zz{{{zxzzyzz{zzzz{z{{{yzyzzzzz{{y{z{zyzyyyzyzzz{zz{{zyzyyzyyyzzz{z{yzyzzzyyyyyzzzz{y{{yzyyyyyzzyzzzzzzyyxzyzyyyzyyz{{yzyxyzzyzyy{zzz{yzyyyzyyyzzzyz{zzxyyyyzyyz{zx{zyzyzyzyyzzyzzyzz{yyyzyyzyzzzyzzzyzzyyyzyyzzzy{z{zyyyyyyyyzyy{yzz{yyxyxxyyyzzzzzyzyzyzyyzyyyyzz{zzyyyzzzzzzzz{zyzzzzzxzzxzzzzzz{zzzzyyyyyzzzzzz{zyzyz{yyzyzzzzzzzzzzzyyxyyz{yzzz{zzyzyzzyyzzz{zzz{zzyyzzzzzzzz{zy{yzzyzzy{z{zz{{|{zzyzyyzz{{{{{{{{zyyzzzzyzz{{zz{{zzzzz{zy{{z|{{{{z{zzyz{yz{{{zzz{zzzzzzzzz{{|z{{{z{z{zzyzz{{zz{{|zz{zyzzz{{zzz{z{{{yzzzzz{zz{{z{{zzzyzzyzz{zy{|z{{{yzzzzzzy|z{zzzzzzzzyzy{zz{zyzzyyyyxyxyy{zzyz{zzyyyyyyxzz{zzyz{zzyyxyyzzyyyzzzyzzyzzxyzyzzzyyzzyyzyxyzyzzzyyyz|xyyyyyyyyyyzyz{yzyzzxxyzzzyyzzzyyyyyyyxyzyyyzyzzxyyyyzyzzyyzyz{yyyyxyyxxyzzz{zzzzzzyyzyxyzzzy{zzyyyxyxxyzzyyzzyzxyyyyxyyyz{y{zzzyxyyyzxxzyzzzzzyzzxyyyyyy{zzy{zzyyzyzxzzz{zyzzzzyzzxyyzzyzzzzzz{yzzzyyzzz{zzzzzzzzzyyyyyy{zz{y|{yyyyzzxyz{zzy{zzzyyzyz{y{yzz{zz|zzzzy{zzz{z{z{{{zzzzzyzzz|{{{z|zyzzyzzyyz{z{{{{z{yzyzzzzz{z{zzz{zyyzz{zyz|{{z{{{zzzzyyzzz{{{zzz{{zyzzzz{yz{{z{{{zy{zzzxzz{z{{{{{zzzyzyzyz|zzz|{zzzyzzzyzzz|zzz{{yzzyyxzzyzzyzzzzyyyyyyxyyyzyz{z{yzxyyxyzyy{{zyzzyyyyyzyyyzzz{zzyzyzyzyyyzzzzzzz|zyyxxzzxyzzzzyzzyyyyyyyyzzyzzzyyyyyyyzyzzzzyz{yzzxzyyyyzzzyzzzzzzyyxxzyyyzyzzyzzzyyyyzyyyyzyzyzyzyyxyzxyzzyzzzz{yyyxyyyzzzyyzzzzzxzyzzyyzzz{yz{{yzzxzzzzy{zzzzz{zzzyyyyyzzzzzz{{xzyyzyzzzzzyzzz{yzyzzyzyz{{zzzzz{yyzyyzyz{{zzz{{zyzxyyzyzz{z{z{yzzzzyyyyzzzzz{zzzzyyzzyzz|{{|{zzyz{zyzzzz{zzz{{{zzzzzzyzzz{zzzzzzzzzzzzz{{{zzz{{zzzyzz{yzzz{z{{yzzzyyzzz{{{zz{{{{z{zyyzyz{{z{z{{zzyzyzzzy{zy{z{{{zz{zyzzy{zzzz{zzyzyzyz{xyz{yz{|{{yyz{yy{zz{y{zz{zzzzyyyzzz{y{yzyyxzyyyxyyzyzzzzyyyzzzyzzyzz{zy{zzyyzzxyyzzz{z{yzxyzyzyzz{z{z{{{zzxyxxyxzyz{yzyzyyyyxxyyyzyzyzzzxyyyzyxyyzzyyyzyzzzxyzyyyz{zzzzzyxyyyyyyyyyzzzyyzxyyyyxzyzy{xzzy{yyyxxyxyzzzzzz{{yyyyxyyyzz{yzyz{yyxxyyzyyzzzzzzyyyyyzyyzyz{zzzzyxyyyyyzyzzz{zz{zyzzyyzyzzzyyzz{yzzyyzyyzz{zzzz{zyz{yzyzyzzzz{zyzyzzyyyyx{{zy{{zzzyzyzwzyzzyzzzzzyyyzzzyyzz{zz{yzyzyzzzz|zz{zzz{zzzzyzzzy{{zzzzyzy{yzzzz{|{z{{z{{zzzzyzzzzz{{{z|{{zzyzzyz{{z{{z{zy{yz{zz{zz{zz{{{zzz{zzzzzyzzz{{zzzz{zz{||{zz{{{z{yzzyzzzz{y{z{zzzyz{yzyy{zzz{zzzyyyyyzyzyyyyzzzyzyyzyyyyzzzzz{{yxzzyyyzyzzy{z{zzyyyyzzzzzzz{{zzzyzzzyxzzy{zyy{zyzzyyxyyyzyyzzyzyyyyyyyxyzyzyz{zzyyyyyzxyy{zzyzzyzyzyzyzyzyyz{yzzzyzyyzyyzyzyzzyyyyyyyyyzzzyzzyz{yyyyyyzyyzzzzz{zyyyxyyyyyzxyzyzzzyzyyyyz{y{yzzyzzyyyzyzyzzzzz{zzzzyzyzzz{zzzzz{zyzyzzzyyzzzzz{zxzyyzzy{{z{z{{{{{zzyzyzzyzz{y{{zyzyy{yzyzz{z{z{zzyzzzzzzzy|zz{{zzzzzyyzzz{z|{z{zzyzzzzz|{{yyz{{{zzzzzzzyz{|{{z{z{yyz{yzyzz{z{{{{{zzzz{z{{{{z{{|{{zzzy{z{y{{zz{{{{zzzzzzz{{{z{z{yzyyyzzzy{{zz{z{z{zzyzyzz{{{{{{{|zz{zyyz{{{{zzz{z{{y{yz{yz{zzz{{zzzzyyyz{zz{{yzzyyyyyyzyywzyyyzz{z{yyyyyxzyyzz{zzzzzzyyxzyyy{zzz|zzyzxxyyzz{{yzzzzyyzyxyyzzzzzzz{zyyzzyzzy{zzzzzzzyyyxyyyzyzyyzzzyzzxyyzy{zzyzzzzyyxyxyyzyzzyzyzyyyzyyyyyyz{zzzz{xyyyxyzyzzzzy{zzzzzzzyyyzy{yyzzzzyyyzzzzyyyzy{z{yyyxzyxyyzyzzzz{zzzzyyyyyzy{{zzzz{zzyyxyzzzzzz{{zyzyyyxyzz{{zz{zz{{zyzyzz{y{{{zyzyyzzzyzz{zzzzz{zyzyzyyyz{z{{yzzzy{{zzzyz{yzzzzzyzzzyzzzzz{{z{{{zyyz{zyyz{z{yz{y{zxyzzyzz{z{{z{{zzzzzzz{zz{z{{z{zzy{zzyyzzz{z|{|{zzzyzzzzzz{zzzzzyzzzzyy{{zzz|{{|{z{zyxz{{z{{{{|z{{yzzzzzz{{{{{zzzzyzz{y{zz{zz{{zzzyyyyy{z{{zzxyzyzyyyyxyyzzzzzzyyyxyyzyzz{zyz{zzzyyxzzy{zyz{{zzyyyyzyzyzzyz{z{{yzyyxyzyzzyzzzzzyyyyzyyyzzzyzy{yzyyyyyzyyzzzyyzzzyyxxyyyzzyyyzz{xzyyz{yzzzyyzzz{zy{zyyyyzz{zzz{z{yyzxyxzy{z{zyz{yzyyyyzzzyzzz{zy{zyxzyyzyzyzz{z{yzyzzyyyzzzzyzzyzzyzzyzzzyzzzz{{yyzyxzyzzzzzzzzzzz{yyzyz{zzz{{z{zyyyyzzz{zzzz{{yzxzzzyzyzz{{zz{zzy{zzz|z{{yzz{z{zz{zyzyzy{z{{z|zzzzzz{zzz{z{zzz{zzzyzyzyzz{{{{z{zzzzzz{z{{{{{z{|zyz{zzzzz{zy{{{{|zzyzzzz{|z|{z{z{{{zzzyzzz{{|zzzz{zzzz{zz{z{{z{z{{z{{zzz{z{{z{{zz{{zzzzz{{{z{{{{zzyyyzzyyzzz{{{zyyzz{yzzzzzzzzy{yyyyyzzyx{zzzyzzy{yzyyyyzyzzzz{zzyyyzzzyzzzyzz{{zyzzyyyyyyzzzyzzzyyxxyzyyyyyzyz{yyzyyyyyy{zzzzzzzyzyyzzzyzzzzzz{yzyxzyzyy{zz{{zzyzzyyyyyzzyzy{{z{zyyyzxzy{yz{yyzyyyxyyyyzzyz{z|yzyxyyyyyyyyzzzzyyzzyyzzyy{zz{{z{yyyyyzyyzzzzzz{yyyyyyzyyyzzzz{{{zz{yyzyyzzzzzz{{y{zyyzyzy{zyz{zzzyyyzyyyz{z{z{zzzyzzzzyzzz{zzz{zzzzzy{zy{{{z{{z{{yzy{yzzz{{zzz{{zzyzyyyz{zz{z{{{zzzyzywz{zzz{{|zzyyz{zzz{|{z{z{{zzzzzzzzz{z{zz{{{zzzzzzyz{{z|{z{zzz{{zyyzzzz{{{zzzzzy{yyz{z{{{{{z{zzzz{z{z{{{{{{zzyyzzyz{{zzy|{z|zzzzyzyz|{|zz{{zz{yyyyyzyzzzzzyyyyyyyzxzzyzzzzzzyyyyzyzzyzyzzzzzyxyzyyyzy{zyz{yyzyyxzzyyyyzzyzzzyyyxyxxzyzzzyzzzzzzyzyyyyzzzzzzyyyzzzyyzyzzzzzzzyzyyyyyyzzzy{zzzyyyyzyyyzyzzzzyyyyyyzyyzyzy{z{yyyzyxxxzyzzzzzzzyyzyzyzyzzyyzzz{yyzxyyyxyzzzzzzzyzzzyyyxzzzzzz{zyyyyzyyz{zzyzyzzyxzzyyzyzzzyz{zzzxzyyyzzy{zzzy{zzyzzzyzzyzzzz{z{yzzyyyzzz{zz{yzyzyzzyzzyzzzz{yzzyyzyzzzzy{{{{zz{zzzzzz{z{zz{{{{{zzz{{yzzz{z{{zzzzzz{{zzy{z{z{{{{zzzyz{zy{{z{zz{|{{zyzzzyz{z{z{{{{y{zzyy{zzy{{{zz{z{yyzyz{y{{zzz{zzyyzzzzz{{z{{z{z{zzzy|zzzzzz{{yzzzzyzzzz{zzzyzz{yzyyzzyzzzzzzzzxzxyzyyyyzzy{z{yyyyyyyyyyzyzzzzzzyzyzyyzyyzzyzz{yyyzzyyzzzzzzy{zzyzyyyyxzz{zyzyzyyyyzyxyyzzyzzzzyyyzyyyyzyxyyyzzyyyyyzyyyzyyzzzzyxyyxyyyyzzyyzzzzyyyxzxyyzzzzzyzyzzyzyyyyzzy{z{zzwzyyxzyyyxyyzzyzzzyzyyyyzzyyzzzzzzyyyyyzyzzzy{{yyzyyzzzzzzyz{{zyxzxyyzzzzyy{zzzyzzyyyyyz{{{zzz{zyzzzxyy{{zzz{yzzzzzyzyzyz{{zy|yzyzzzyyzzyzzz{zzzzyzzzzy{zzzz{{zzzy{zyzzz{z{z{zzzzzzyyyxz{z{{{{zzzzzzyzz{{z{{z{zz{zzz{zz{z{zz{{{zz{zzzzzz{{{{|{{zz{{zz{zzzzzzzz{zzy{{yzzzzzzz{{{z{zzzyzzz{z{|{|{zzzyzzyzz{zzzz{{zzzyyzyyz{{yzz{{yzzxzyyxzzzzzyzzzzzyxyyxzzzzzzzxyzxyzxyyzyzyzzz{zyyxxzzzzzzzz{zzzzyyyzyyyzz{yyz{zzyyxyyyyyzzzzyzyzyyyyxxxyyyzyzzyyyyyyyx{zzyzzyzyzyyyyyyyyzyz{zzyzyxyxyyzzzzyzzzzyyyyyxzzzzzzzy{yzzzyzyxyzzyzz{y|zyyyyyyyyzz{{{zyyzyyyyyyzyyzz{yzyzzyzyzzzzzzzz{zy{yyyzz{zzy{{zyzyzyyyzzzzzyzzzzyyyyyzzxy{{yz{{{zyzzzyyzy{zz{{z{zyzzyyyyz{{zzzz{{yzyzyzzzzzzz{z{z{zyzz{zz{zz{z|{zyzzzzzzzzyzyz{|zz|zyyzyz{z{zzz{{yyyzyzzz{{{{{|zzzyzzy{{z{{{z{zzzyyzzzyzzz{{{{{{zyzzyyzz{z{{z|{zzyzzzyyz{zz{{{z|{{z{{yz{z{{{{zz{zzzyzzyzy{z{{{{{zzzyyyzyz{zz{|{yyzzyzyyyzz{yzyyyyyyxyyyyzzzz{zy{zyzyyyyyyzzy{zzzyyyyzzxyzyzzzy{yzzyzzyyzzyzyyy{zzzzyyzzxyzzzyzz{zyzxyyyyyzyyz{zzzxyyxyyxzzzyzyzzyyyyyyyyzyzzzzzyxyyyyxyyyzzzzzzyyyyyyyyyyz{yzzzyzyyyxxyyyzz{zzzzyyyyyyyxxyzzzzzzyyzyzxyyyzzzyzzzyyyzzyyyzzyyz{{{zzyyzxyyxzzzzzz{zxzyyzzz{zzzzzzzyyzyyyyzzzzyz{{zzyyyyyzyzyzzyzzzzzzxyyyzyz{{z{{{zyyyzzzyyz{zy{zz{zzz{zzzzy{zz{z{yzyzyyzz{zz{z{{{zzzzzyzyzz{{{{zy{yzyzzyyz{zz{z{zzz{zyzzz{{{{z{{z{zzy{z{yz|z{z{z{z{zzyzyy{z{z{{{{zzzyzy{yzz{{z{zzzzyz{zzzzy{{zz{{zy{zzyyyzzzz{{{{{zzzyzzzz{zzzz{zzzzzyyy{{zyzzyzyyxzyxyzyzzzzzzzzzzyyyyyyyz{y{{zzyzyyzyzyzz{yzzzzyxxzzyzyzzzzzyzzzyyzyyyxzyzxyzz{zzzyyxzyzz{yyzz{yzzxyzyyzzzxyzy{z{yyyyyzy{yxyzzzyyzyyxyyxzzzzzyzzzyzxzyyyyzyzzzzzyyywyyyyzyyzzzyyyxyzzzxy{yy{zzyyzyyyyyxzzzzzz{zzyzzyyyyyzz{zy{zzyyyzzyyyzyzz{z{yyyyyxyyzzyzyy{zyyzyyzy{zy{{{y{{zyyzzxzzzzz{z{zzyyzzyyyzzyyzzz{yzzyyyyzy{zyzzzzzzzzyzzzzz{{zz{zzyzzzzzzzz{zzz{{{zyy{yyyz{z{y{{{z{zzzzzzz{z{{{||zzzzyz{z{zzz{|{{{|x{zyyzzz|zz|z{{zzy{zz{{{yzz{{{zzzxy{yzzzz{zyz{zzyzzzzzz{{z{{y|{z{zyzzzzz{{{z{{zzzzyzzyyz{zzzz{{zzyzzzyyzzzyyzyyyyyyyxyyyzzzyzz{yzyyyxyyxyzyzzzyzyzyyxyyyyzyzzz{yyyzyxyyzzyzzzzzyzzyyyzxzyyzyzzzxyzyyyyyyzyyyzzyzyxyzxyyyzzyyzyzyxyzxxyyyyzxyyyzyxyxzxyxzzyyzzzzyyyyxyyyyyzy{zyzyyyzwyyyzyzzyzzzyyyyxyyyyyyyyz{zyyyyyyyyyzyzyzyzyxzyyyyyzyyyzyzzzyyyzyxzyyzy{zyzyyyzyyzyzyyyzzz{zyyyzzyzyzzzy{{yzyyyyyyyzzz{zyz{zyyyyxyyyyzyzz{zyzzzyzyyzzzzzzzzyzzzzyyzz{yzz{z{zyzzyyzyyyy{{z{zyyzzzzyyyzzzzyzzzzzzyyzyzz{{z{z|yyzyzzzy{zz{{{zz{zyzyyzyz|{{{{{{zzzzzzzzyzzz{{zz|yzyzyzy{z{zzz{{zzyz{{z{z{z{{{{{yz{zxz{zzzyyz{{zzyyzyzyyy{zzz{zzyzxyxyyyzzz{zzy{xyyzyyyyxzyzzzzxyzzxyxyyyzzyyz{{zyyzyzyyzzzyzzzzyyyzyyyzyyzyzyzzyyyxyxyyyzzzyz{{yxyyyyzyyyyyyyzzyyyxxyyzzzzxyyzzyyzyyyyzzzyzyyzyzyyyyyyzyyzxyz{yyyyyyyyzzzzyyzzzyyxxxzxxyzyyzzy{xyyxyxyxyzyyzyzzyyyyyyyzyyyzyz{zzzyyzzxyzzzzzzzzyyzyzyzyzzzyyzzzzyyzxxzyzzzy{yz{yzyyyyyyzyzyzz{zyyzzyyzyzzy{z{yyzzzxyyyxzz{{y{zzzzyzyyyy{zzy{yzzzz{zzzzyzz{{zz{{yyyy{yzzzyzzz{z{{zzzzyzyzz{{z{zzzzyzzzyy{{z{{z{zyy{{y{yyzzy{{{z{{zzzzzzyzz{{{{{{zz{zzzzzzzzz{z{{{yxzzzyz{{{z{{{zzzzzzyy{{{zz{z{|{{zyzzyy{{y{y{zzz{yyzzzxz{{zzz{zzzyzyxxyyz{z{yyzyyyxyxyxzzyz{yyzzzzzyzyxzyzzyyzzyxxyyyyyzzyzzzzzyyzzyyzxyzzzyzzzzyyyxyyyzyzzzzzyxyzyyyyyxyyzyzyzxyyyyzyyzzzyyzzy{yyyxyxyyyz{zzzzzyzyzyyyzyyzyzzyyyxxyyyyzzyzyzyzzzxzyxyyyzyzyzzyyzxyxxyyyyyyyzzzzyxyyxzzyzyyyzzzyxyyzzxzzzzyzyzzyzyzyyxzzzyzy{zyyyzyzyyzzzzyzzz{zyyyxyyyzzzyyzz{{xyzyyyyz{{zz{{zyyyzyzyzzzzzyy{zyzyyzyxyzzzzzzzz{yzyyyyyyzz{{zz{yzzyyzzz{{z{z{zzzzzzzyyyzyzz|{{y{yzzyzzzz{{yz{{zzzzyzzzzzzy{z{{|zzzxz{zyz{{{{{{{{zzzzzzzzz{zz|{zyzzzzzyzzyyzzz{zzyzy{zz{{{z|{{{{zzzyzz{yzzz{z|{zzzzzyyzzzz{z{zzzyzzzzyyzzzzyzz{yxx{xzxyxyzzyzzzzyzyyyyyzz{{yz{z{yyzyyzyxy|zyzz{zyyzzyyyzzzzzzzzyyyxyyyyyzzzzzxzyyyzyyyzyyzyzzz{zzyzyyyyzyyzzyzzyzyyxyyyyyyzyyyzzzyxxyyyyyzyzy|zyyzyyyyyyyyzzzzzzyzyxyyyyzzyyyzz{zzzyxxxyzyzxz{yzzzyzyy{yyzzyyzzzyxzyy{yxzzz{{{z{zzzxzyzzyzzzzzy{zyzyyyzyzyz{zzyzzzzzzyyyz{|zzzzzyzzzyxyyy{zzz{zzzxyzyzzyzz{{zy{zyyyzyyzyy{zyz{yzzyzyzzyzz{z{zzzzzyyyzzzzyzz{yz|{z{yzzyzzzzzz{z{{{yzyy{{z{{{zzzzzzzzz{{zzzzzzz{{z{yyzz{zyy|{{{{{{{y{{{yyz{{{{{{{zzyzyzzzz{zyz{{{z{z{zzyyyz{zz|zz{{zyyzzzzzzz{z{{zzzzyyzyzyzz{z{zzzyy{yyzxz{zyzyzyzzyzzyxyzzzzzz{yzyyyyxzyzzzy{zyzzyyxyyzzzyzz{zzzzxzzyxyyy{zzyyzz{yyyxyyyyzyzzy{zzzyyyyyyzzyyz{zyzyyyyyyzy{zyyzyy{yzyyyxyyzzzzzzzyyyyyyyyyzzxyzzzzy{yyzxzzzyzzzzzyzzxxxyyyzzzzzzzyxyzyyyyzzzzzzzy{zyyyyyyyyzzz{zzyyzzyzyxzzzyyzz{yyyyyyyzzzzzzzyzzxzzyy{yzzzz{zzzzyzyyyzyy{{yzzz{zyyzzxyyzz{{zzzzyzzyzyyy{zz{zzzzyzzyyyyyzzzz|{{zzyzz{zyz{zzz{zz{zyyyzy{{{{z{z{z{yzzzzzyyz{{zz{{yzyyzzyzz{{z{{zz{z{y{zzzz{{{zz{z{{zz{yzzy{{zz{{{{zzz{zzzz{zz|{{{{{zyzzzyz{{z{zz{{|{zzzzyzz{zz{zy{zz{zzz{yzzzz{|{{{zyzy{zzzzyzzzzzzxyyyyyy{yzzzyyzyzyzyxzxzyzzyzy{xyyxyzyyzzzzzzyzzyyyzyzyzyy{zzzzzyyyzzzyyzzzyzzzyyyyxyyyzzyzzzy{yyyyxyyzyzyxzyzyyyyyzyyxyy{yy{zyzxyzyyyyyyzzzzzzzyyyxyxxyyzzyyyzyyzyxyyxyyzyyzyyzyyzxxzxyyyzyzyyyxyyyyyxyyyxzy{zyyyyyzyyzzyzyzy{yxzyyyyyzyyyzzz{yzyyzyzyz{zyzz{zyyxyyyzy{yzzzz{zxyzxyzxyzyyz{zzzzzzyyzyyz{zyzz{yzyzyyyyyz{zzzzzzyxyyzy{zzz{{z{zz{yzyzzyyz{{z{{{zyyzzzyyzzyz{{{zzzzyzzyxyz{zzzz{{zyyzyzzy{{{z{{zz{yzzyzz{{zzyz|{{z{zyzzzzz{z{{{{z{yyzyzyz{z{zz{{{{zz{zzyzzzzzzz{{{zzz{yzzyzz{z{{zzzyyy{zyyzzzzzy{zzyzyyyyy{y{zz{zzzyyyyyyzzzzzzyxyyyzyzyyyyyyzyyzyxyyyyyyzyzyxyzzyyyxyyxyzyzyzzzyyx{xyxxyyzyyzzzzyzyyyxyxzyzzzyz{zyzxyzyzyyzyyzzyyxxyxxyyyyyzz{yzyyxyxyyyyyyzzyyyyyyxyyyxxyyzzzzxyxyxyyyyyyzyzyz{yyyyxyyyyyyzzzzzyxyxyyyyzzyyyzyyyyyyyxzzyyyzzzzzyyyyxyzyyzyzyz{zyyyxyyyzzyzzyy{zyyzzzyzzzyzzzzzzyzyxyyxyzyyyzzzzzyxzzzyyzzzzz{{zyzzzyyyyyzzzzz{y{yyzyyyzzzyyyzz{zyyzzyzy{yzz{zzzyzyzzzyyzzzzzzzzzzzzzyyzz{zz{zz{zzzzzzzyzz{z{z{zyzzzzz{yzzyzzzzzzyzyz{zxz|z{z{{{zzzzyyzy{zzz{zzyzyzyzyyzzyzzz{z{z{yzzzzzzzzzzy{{yzzyzzzyzzz{{z{zyzy{yzzz{zyzzyzzzyyzzxyyyzyz{zzzyxyyyyxyyzzyzzzzzyyyxxyzyyzyzzyyzzyyxyxyzyyzyzz{zz{zyyyyyyzyyyzzzyxxyyzxzy{zyzzzyyyyxyzyyzyyzyzyzzyyyzxyyyyzzz{yzyyyyyxyyyz{yyzyzxyyzyyyyyyzyyzxyyyyxyxxzzzyyzyzxyzyxyyyzzyzyy{yyzzyzzyyzzyzyx{yxyyyyyyyyzxyzzzzyzzyzyyxzy{yzyyyyyyyyyyyzzzyyyzzzyyyyyzyzzzzzzz{xyzyyyzzxzzyyzzzzy{yyyyyyzzzyzzy{yyyxzyyz{yzyzzzzyyzyxxy{yyzzz{|zy{zzyyzzy{zyzz{yyyyyyyxzzzzzz{{yzyzzyzy{z{{{zzz{yzz{yzzyz{yzz{{zzyzzzzzzz{z{|{zyzzzzzzyy{{|{{z{{y{z{zzy{zz{{{{zzyyyyzzyzzz{zzz{zyyzzyyz{zzz{y|zzzyzzyyyyzzzz{{{zzzyyyzyzzzzyzyzyzyyyyyyz{zyzzzyyyyzxyyyzyyyzz{zyzzxyxyyzyzyzz{{yyyzyyyyzyyyzzzzzxzyyyyyzyyzyyzzyzzzzyxyyyzzxyyzzzyyzyzzyyyzzz{zzyyyxxyyzz|zyz{{yzyyxzyyzzyzyzzzyyxzyyyyzzzyyz{zyyyyyyxyyyyyyz{yyyyxzyyzyyzzyzzyyxzyyyyyzzyzyzzzxyyyyyyyzzzyz{y{zyzyyyxxzyzyzz{zzyxyyyyzzzzyz{zzyzzzyyyzyyzzzy{{yyyzzyzyz{zyzzz{zyzyyyyzyz{y{zzzzzzyy{yyyz{{yz{{zyzzyyyyzzzyzzzzyyyyyzzzzzz|z{z{yzzzzyzyyzzz{{{zzzzyyzzyzz{zzz{zzyxyyzyz{{zzz{{{zzzzyz{yy{{z|{{z{yzzzyyzz{{|{{{{{yzzyyzz{z{{zz{|y{zyzzzz{z{{zz{{{y{y{zz{z{{{y{z{y{zyzyzyy{{zyz{zzzzyzzyyzzyzz{z{yzyxyyyzzzzzzyzzyyyyyxyzyyzyzyzzyxxyy{xyyzyyzzzzzyxyyxxyzzzyyzzyzyzyyyyy{zzzyyzzyzyxyyyyyxzzyzzzxyyyyxyyzyyyyyzzzyyyyyyyyy{yy{zzyyyxxyxyy{yxzyzzyyyyyyxyyzzyyyyzzyyyyyyzzyyzyzzzyyzyyyyyzyyzyyzzyyyyxzyxyzzyyyz{zzyyyyyyyzyzzzzyzzyyzzzxzyyzyzzzyyzyzyyyzyyyyyzzyxzzyyzz{zzz{zz{zyyywxzyzyyzy{zyzyzyzzzxzzzzz{zyzyyzyyyyz{zzzzz{zyzyzyyz{zyyz{{yyyyyzxxy{z{|z{zzzyyyzz{{{zz{z{{zzyyyzyyyz{{{zyzzzyzz{zyzzzz|{{{{yzzzzyyyz{z{{{{{zy{z{yzzz|{{yz{{{zzzyzzz{zz{z{z{zzzyyxyzzz{zzz{|zyy{zzzzzzy{{{{{zyyyyzzzz{z{{{{{{{yzzyzyy{zzzyyzzyzzyxyxyz{yyyzzxyzxzyyzzyzyzyzyzyyxyyyyzz{z{zzzxxyxzzzw{zzzz{z{zyyyzyzxzzzzzyzzyyyyyxzxyyyyzzxzxyyxyxyxyyyyy{zyzyyyyyyyyzzyzzyyyxyyyyxzyzyxyzy{yxxyyxyzzyzyyyyzzxyyyyxxyzyyzzzyzyyxxzyxzzyzzzzzyxyxxyyyxyyyzzzzyyyyyyzxxzyyzyz{yyyyzyyyxzyzzy{yzyzyyxyyzyyzyyzzzyyyyzyxyyzzzz{zyyyzyyzxyy{zz{zyyzzzzyzyzzyzzzz{zxyzyyzyyzzy{z{z{zyyyyxy{{{yy{z{y{yyyzzzzz{y{zzzyzyyzzz{yzz{{{{{{yzzyzxy{{zzzzzz{y{y{yzzz{{zz{{{zzzyzzzz{zzz{{{z{zzzyzzzy|z{{{{|zyzzzzzzzzz|z{z{z{zxzzyzz{zzz{{{z{zy{zyzzzz{zz{{{z{xzzxyz{z{z{{{zzzyyyzzyyzzzyzzyz{yyzxyz|zyzzzzyyyyyyxyzyzzzzyxyyxwyyzyzzzyzzzzyxyyyzyxzyyzzzzzzxyyyxxyzzzzzzzz{yyyxxxxyzyzzyyyyzxyzzyxyyyyyzzzyyyyyyyyyzzxyzzzyyyxyyyyzxyzzzzzxzyyywyyxyyyyyz{xyyxxyxyyyyyxyzzyzyyyxyyyzyzyzyyzxxyxyyyyxyyzyzyzyyyzyyyyyyyzzzzyxyyzyyyzzzyyyzz{yyyzyyxzzzxzzzzzzzy{yyzyyyyy{zzxyzyyyyyzyyyzyzzzyzyyyyyyzyyzzzyyyyyzyyyzzzzzyzyzyyyzyyzz{{zzzz{zyzyz{yzzyzz{zz|zzyyzzyyzzyzzzzzyyzzyxyyyzzyzz{z{yyyyzyz{{zyzz{{zyzzzzzzzzz{zzzz{zyyzyyyz{z{{{{{zyz{zyyyzy{{z{{{yyy{zyzz{{yzzzzzzzzyzzyy{zzz{{zzzzzyyyzzzzz{z{{zzzxyyyyxyzyzzyzzyzzzzyyyzzzzzzzzxxyyyyyyyzyzzyxzxyyyyxyyyzyyzzy|yyyxyzyxzyzyzzzy{{yyxyyzyzzzzzzyzyxyyyyyz{{{zzzzyyyyyyyyyzyxzzzyzyyyyzyyzyzyxzzzyzyyyyyxzzy{zzzzxxyyyyyxyzzyzyzzzzyyxzxyzyzzyyz{zzyzwxyzzzzyzzzzzyyyzxzyzyzyzzzzzxxyyxzyyzyyzyzzyxyyyyyzyzyzyzzzyyyy{yyzy{z{zzzzyyzzyxzyyzzzzzzzzyzyyyzyzzz{z{{yyzzyzyzyz{z{zyzzyzzyxyyyz{{zz{{{xzyyzyzzz{zz{zzzzzzyyzzyzz{zzz{{zzzzyzyzzzz{yz{z{zzzzzyyzy{{zz{{{zzyzy{zz{{{{zzzzzyyzzy{{{{yz{zzzzzzyzy{z{{zzz{zzzzzyzzzzzzz{{{z{zzzzzz|z{{{y{{{{yzzzzzz{{z{y{{{zzzzzzyyzzz{z{z{z{zyzyzzz{zzzxzyyyzzyzzyyxyzz{zyzyyxyzyyyzzzzzzzyzyyyxzy{zyzy|zzzyzzyyyyzzzzzz{zyyyyyyyyyy{{yzy{yyyyxy{yzyz{z{zzzzyyyyyxyyyzzzzyzy{zzyyyzzyzzzzzzzyyxzyyyzyyyyzzyyyzzxzxzzzzyz{xzyyyxyzxz{zzzzzzyyzyyyyxxyzyyzzzzyyxxyyxyyzyzzyzzyzyyxyxyzzyz{yzzyyxyyzyyzzzzzzz{yyxyyyzz{zzz{yzyzzyzyzy{zzzz{zzyz{zyzxyzyzzzyyzzyzzzyzyzzzz{{z{yyzyzyyy{zz{zzz{zyyzyyyyyzzyz{zzzzzz{zyz{zzz{zzz{zzzzzzz{zzyz{z|z{zzzzyzz{{yz{|yzyzzz{zz|{z{{{{{zz{zy{zzy{zzzz{zzzzzzzzzz{z{z|zz{zzzzz{yzz{{{{{{zzzyzzy{z|y{{z{z{zzz{{zzz{{{z|{|{zyyyyzy{{yz{{{{{yzzyz{zz{z{zz{{yyzzzzzzz{yzzz{{yyyyyyyyyzyzyzy{zzyzyxyyzyyzz{zzzyzxyzzxzzyyz{zzyxyyyyyy{{zzyz{yzyxwyyzyzyyzzzzzxyzyyzyyzzzyyz{yzyyyzyyyzzzyzyzzzyyyzyzyyyyyyyyzyyyyyyyyyzzzy{zzyxyyxyxzzzzyz{zzzzyyxyyxyzzzyyzzyyyxzyyxxzzyzzzyzyyxyxyyyzyzy{yyzyxyyyzzzzzyzz{zyzyyzyyyyzy{zzz{yzyyyyyzzzzzzzzzzzzyyxzyz{zzz{z{yyzzzzzyyzzzy{zzzyyzyzzy{zzz{zzzzwyyzzyyzzzyz{zzzyzyyzzz{y{{z{z{yzzyyzz{z{z{zzzzzyyzyzzzzz{z{yzzzzzzzyzz{{{zz{zzzzzzyz{{z{zzzzz|{{yzzyyzzzzz{|zzy{zz{zzz{zz{zzzz|zyzyzzzzzzzz{{{z{zz{zxz{{z{zzzzzzyzzzyzzy{zzzz{zzzyyzzyz{y{zz{{yzxyzzzzz{y{zzyyyyyyxxyyxzzzzyyzzzzyyyyzyyyzzzzzyyyyxyxyzzyzyz{zzzyyxyxyyzzzzzyzyyyxyyyxzyxyzyzzyyyyyxzxyzyyyz{zyyyyyyx{zyzzzzzyzxzyyxyyxyzyzz{yyyyzxyxyyyyyy{yzzxyyxyxxyzzzyyzzy{yyyyyyyzy{yyzzyzzyxyyxyyzyzzzzxyyxyyxyxzyyxz{{yxyyzyyxzzyzyz{zzxyyzzxzzzzzy{zzzzzyzzzzz{zzzzzzyzzyzyyy{zyzzzzzyyyyyyzxyzz{zzzzzyzzxyyyzzz{zyzzyyyyzzyy{{{z{zz{zzyyyzyzz{{{z{z{yzzzyyyz{{z{z{zzzyzyzyzy{{{z{{{zzyyyyyzy{z{z{z{z{y{zzz{zz{z{{z{z{yyyyyzyz{zzz{{{{zz{zzzzzz{z{{{{zzyy{zyzz{zz{z{{zyzyzyzzzzz{{{z{yzyyzyyyy{zz{z{{yyyy{zyyzzzzy{yzzyyyzzyzzz{yzzzyyyyxyzyyzyyzzzzzzyyyyxxyyzzyzzyzyzxyzzxxzyzzzzzzyyzyyyyzyzzzyzzzyyyzyyyxzzzzzzzzzyyzzyyyyyyzyyzzyyxzyyxyzyzzzzzyyyzxxyyzzyy{yzz{yyxyyyxyyxzxz{yzzyyyyyxxzyyzzyzzzyzyyyyxyzyzyzy{zyyyzxyyyyyyz{yyzxyyyxyxyzzzz{zzyyzyyzxyy{zzzz{zyxyyzyyzyzzyzyz{zyyyyyyzyzzzzzzzyzzyxzzzzzzyz{{{zyzyyyyyzzz{zzzyzzyzyzyzz{zzzzzzzyyzyyyyzz{zzzz{zzzzzzyy{{z{z{{zyzzzzyzzzyy{z{|{zzyzzyyzzzzzzz{zzzzzzyyyzz{zz{{{zz{yzyzzzzzzz{{{{zzyyzzzzzzyz|{z{zzzzz{zz{z{{{{{zzyzzzz{z{z{zz{|z{yzzyyzyzz{z{{{yzyzzyyyzz{{y{{{zzzyxzzy{zyz{zzyzyz{yyzzyzzzzzxyxzyxyzzxyyyyyyyzxzxxyyyxxzyyyzzzyyyxyyzxyzzyyzz{yyyyzyxzyzyzyyzyzyzwxyyxyyyyzzyzyyzyyzyxyyyzxyzzyyzyyyyxzzyyzz{yxxyyxyxyyzyzyyyyzxyxzxxxxzyyzzyyyyyyxxxzxzyzzzzzzyyzyyxyyzyyzyzyzyyywxyyyzyyyzyyzyyyxxxyyxyyyzzzyyxyyxyy{z{zzz{yyzyyzyxyzzyzzz{zzyyyxyzyzzyzzzzzyxzzyyzyzzzzzzz{z{yyzxyyzyz{{{zzyzzyyzzxz{yzyyzzyzzzzyyyy{yzz{zzzyxzzzzyzy{zzzzzyzzyzyzzz{zz{{zzzyzzyxyyzzz{yzzyzzyzzzyy{{yzzz{{zyzyyyzzyzzzzy{zzyz{zzyz{{zzzzz{zzyyzzzzz{zzzzz{{zzzzzzzz{z{z{zzzzzzzyzz{{zz{zzzzzyzzyxzzzy{yz{zzyzxyyyyyzzzz{{yzyyyzzyyzyzyyzyyyzzxyyyxyzyzzyzzyzyyyyxyzzyzzyzzzzywyyyyyyyzzzzzzyzyyzxyyzyzzzzyzyyyxyyyxyz{zzz{yyxxyyzyyzyzxyzzzyyzyzxyzyyyy{zyyyyzxzxy{yyzyyzyyyxxyxyxyyyzzz{yzxyzyyxyyyyzyzzzyyxyyyxyzyyzzzzzyzyxyxyxyyyyyyzyyyyyxyzzzzzyyzzzyxzyyyyy{zzzzyzzyzyyyyyyzzyzzyzzzzzyyzyyzzzzzzzzyy{yzyzzyzyyzz{yzzyzyxyyyzzzzzyyyzzyzyzyz{zzzy{zyyyzzyyzz{{y{z{zzyzzzyyy{z{{{z{zyzzzyzyzyzzzzzz{zxzzzyyyyzzzzz{z{zyz{yyzzzyz{z|zzyzz{zzzzzzz{{{z|zzzy{yyy{zzzzzzzy{zyyz{z{z{z{zz{zzzz{z{z{z{{{{{{zxzzzz{{{{z{z{zzzyzzyyyzzzzz{zzzzy{yzyzzzzzzz{{zyyzzyyyyzzzzzzzxyyxyyxyxzzzzyzzyyxxyxxyyyyzyyzzyyxyyxyyzyyzzyzyzyyzyyyyzzzzyyzzzyyyxyyxyzzxy{xzyzyxyxyxyzzyyyzyzxyyyxyyyyzyyyyyzyyxzyxyyyyyyyzyzyyxyyyyyyzyzxzyywyxyyyyyyyyyzyzzyyyxxxyyyzzyzzzyxyyyxyyyzxyy{xyzzxyyxyyyzzyyzzzxyzyyyyxyzzzz{yyyzyxyzyyyzzyzzzzyzzyyzyyzyyzyz{{yzxzyxxyzzyxyzzzzyzyyyyyyzzzyzzyyyyyzzyyzz{zyzzzzyyzz{yzyy{zzzz{zyzyyyyyy{zz{{zzzyzyyyzyzz{{z{{zyzyzzzzyz{zzyzz{zyyyyyzy{{yyzzy{zzzxzzzz{zyy{z{zzyzzzz{yz{z{zz{{zyz{yyzzzzzzzz{zzzyzyyzzz{zz{{{{zzyzzyyyzy{{{zzzyzyzzyyyz{yzz{yzzzyyyyyxzzz{{{{yyzyzzyyyzzzzyzyzyxyxxyxyyzyyzxyzyyzyxxxyyyyxzy{zzzxxyxyyzyyzyyzzzyyyyyyyyzzzyxzzyyyyxxyxzzzyyyzzxxyxzyyyyyyyzzyyyyyyxyyxyyyzyzzyzxyxyyyyyyyzzzyzxxyyzyxyyyyyyzzyyyxxxxyyyyyyyzyyxxyyyxyxyzyyzxzzyyxyyxyxyyzzyzyzyxyyyyyyyyyyzyzzyzyyyxyxxz{yzzyzzyyyyyyyyzzzzz{zyyyyyyzyyzz{zz{zyxyxyxyyzyzyxz{zyyyzzyxxzzzyzzzzyzzyyxyyzzzyzzzzzzxyyzyyzzzzyz{zzzzxzzyyzzzzzzzzyzyzzzzy{zyzzz{{zyzyyzxzy{{{zzzzzzyyyyyzzzzzz{z{yyzzyzyzyzzy{zyzzyzyyyzyy{z{z{z{zyyzzyzzzzy{z{{z{yxzyzzzy{{{zz{z{yzyzyyy{{z{z{{zyyyyyyxzz{yz{{|zzzzzxyzxzzy{y{z{zyyxyyxyzzzxzzyyyzyyyyyyyyzyxyzyyyyyxyyxyzyzzzzyzyzxyzxyyzzyz{{zzyyyyyxyyz{zzyzzzzxxxyyyzyzzzyyyzyyzzxzzzyyyzyzyyzyyxyyyzyzzy{yyxyyxyyyxyyzyzzzyyzyxyxyyzyzzyzzyyxyyxywyyyzyyzzyyyyzyyyxyzyyyzzzyzxyyyxxyzyyyzy{yyyyyyyyyyzyzzz{zyzyyyyyyzzzyzzzyzyyyyxyzzzzzzzzyyyyyxyyzyzzzzzyyyyxyyzzzz{zzzzzyyyy{yyyyzz{|{zzyxyyyyyyzzzzzzzzyzyyzyzzyy{zz{yzzzzyzzyzyzzy{{{zyyyyyzzyyzyzzy{{z{zzzyzzzzz{zzyzzyyyz{yz{|{z{z|z{zyzyzzyy{zzzz{{zzzzzzyyzzzzzz{zzyyzzz{zzzz|{{{z{yzyyzzzzzzz{z{{zyyyzzzz{{z{{zz{zy{yyxzzzzzyz{zz{z{zzyyzzzzyzzzzzyzyyyyyzz{zzzzyxyzyxyyzxyyyz{zzyyxzyzxyzzyyzy{yzyxyyyyyzyzy{zzzzyyyyyzyyzyzyyz{zzxzyxyxzxyzzyyyzyyyxyyyxyzyzzzyzyzyyyxyyzzxyzy{xyyyyyyzzyyyyyyzyyyyyyyxyzyzyyzxyyyzyxxyzyzyyyzyzxzzyyxxyzzzyyz{zyxzxxxxxyyzxzzzyzyyyyyyyzyzyzzyyxyzyyyyzx{zz{zzxyzyzyyyyyzzzz{zyyzyxyyzzyzzzzyzyzzyyyyyzy{zzyzzyzzyzyyyyz{zzzzyzyyyzyyzzzzz{z{zzyyzzyyyzzzzzzz{yyzxzzyzz{z{zzzzyyzzyzyzzzz{zzzzzyzzzyyyzzzzzz{z{zyyzzzz{|{z{z{zzyz{yzz{z{{{zz{{zyz{zzzzy|{zy{{{zzzzzzzzzy{z{{{{{zzzzzyz{zz{{{z{{{yzzzz{zzz{{z{zzyyyyyzyyzzz{z{{zyzzyxzyzzy{zzzzyy{xyzzzzz{yxyzzyyyxzyyxxzzyyyyyyyyyyyyyzyzzz|zyzzyxyyxyzyyzzz{{yyzyyxyyyzzzyzzzyyyxzyzzyzyzzzzzyyzxyyzyzzyzzzzyyyzyyyyzyzzyzzyzxxzxyyyyyyyyyyz{xyyyyzyyyzyyxzyyzzxyxxzyyyzxzzyzzxzyyyyzyzyyzyzxzzxxzyxyzyyyyzzyxyyzxyyxyzyyzz{zyxyzyyyxyyyzyyzyyyxxyyzzyzzzz{zzyyyyyyzyzzyzyy{zzxyyzzxyzzzzyzzzyzyyyyzyzzzzy{zyyyyyzyyy{zzzzz{{zyyyzyxzzzzzy{yzyzzzyxzyzzzzzzz{yzzzzzzzz|z{yz{{zyzyzyyyzz{z{z|{zzzzzyyzz{zzzz{zzzzyyzzz{zyzz{z{{yzzzzzzzzzzz{{{zyzz{zyyz{zzzzzz|z{zzyzzzzzzzzzzzzzyzyyzzzzyzz{{z{zzyzzzzyy{z{{z{{yyxyzzzzzzzz{zzzyyyyyyzyyyzyzzyyyxyyyyyzzyzyzzzyyyyyyy{zzzyzzzzyxyyyzy{yyyy{zzzyyyyyyyzzz{zyzzxyyyxyyyzyzzyzyzyyxxyyyyyyzyzy{zyzzyzxyxzzyzyzyyyyzyzyzxzxzyyzyzyxxxyyyyyyzyzz{zzyyzyyzzyyzyzzzzyyzxyzyyyyzyyyyzzzzzyxzyyyzzyzzzyyyxyyyzzzyyyzzzyyyxyyzyyzzzyy{yzyzzyyyxzyzyzzz{zzzzyxzzzzz{yzzzzyzyyyyyyy{zyzzzzyzzzyzyzzyzz{zzzyzyyyzzy{{yzzzyzzzyyyyyzzyyzz{zzzyxyyzyyzz{{z{z{zzzzzzz{zyy{{zzzyyzyzyz{z{{{z{zzyyzyzyz{zzz{{{zz{zzyyzzzyy{{{{z{zzzzzzyz{zz{zz{zy{zzzyyz{z{{{z{{yzzz{zzzzzzzz{{{zzzzyzzzzzzz{zzzzzyzyzxzz{z{{z{zzzyyzyzyzzzzy{{zyzyyyyyyzzzyzyyyzxyzyyxyzzyxyzyyyyyyxxyxzyyyyyzzyyxyyyxz{zyzzyyzyzyxyyzyyzyyy{yxzxyxyyyyzyyyzzzyyyxyyyxyzxyzzzyyyzyyzyyzzzzyyyyywzyyzxyyyyzyzyzyywxyxyxyyyzzyzyyxxyxzyyyyzyzyyzzyxzyyyxyzyxzzzzyyyyyxywxyzxyzyyyyyxzyyyyzyyyzyzyxyyzzyyzyyz{zzzyxyyzxyyzzzzzyz{zxzyxyzyzzzzzzzzyyzzyyyzzzzyzyzzyzyyyyzyzyzyyz{yyy{yzyyyzyzzyyzzzyyyxyyyz{zzz{{zyyyxzyyyz{zz{yzzzyyyzyyy{zzzzz{{yzyzyyzzzz{z{yzzzxzyzzzzz{z{{{{zyzzzyzyzz{{zz{z{{yzzyzzzy{{z{{z{{yy{zyz{z|{zz{z{yyzy{zy{z|zz{zz{zzzzzzyy{zzz{{zzyzzxyzyzz{zzyz{zzzzyzzzzyzz{zzzzyyzwyzzyyyzyzzzyyxwyxyyyzyxzzzyyyyyyyxyxyzyyyzzzzyxyyyyxyyzyz{zyyyyzyzxyz{z{zyzzzxzxyyyyyzzyyyy{yyyyyyyyxzzzyzyzzyyyzxxyzyyyzzyzzxxyxyyx{xzzzy{zyyxxyxyxyyyzyzyyzzzzxyxzzyyyzyzzzyyyzyyyyyyyyyzyyyxyzxzyyxyyyyzyyzzyyxxxyzyzzz{zyxzyyzyyz{zz{y{yzyyxyyyyz{zzzzzzzyzzyzyzzzzzzzzzyyyxxxyzz{zyzz{zzyyxzyyyyyz{zzzyzzyzyxyyyz{z{zzzyyyzzzyzz{zy{zzzyyyzzzzxzzzzz{{zyzzyyyzy{zz{zz{zzxz{zzyzzz{zyzzy{zzzzyzy{{yzz{{zz{zyzzzyz{z{z{{{zzzzzyyyzz{{zz{zzy{zz{yzyzzzzz{zzxzzz{xyzzz{{{{{yzzzzzy{z{zz{zzzz{yzzzyyz|zzz{{{{zzyyyyyy{z{zz{yyz{yyyyxzxzzyzxyyzxxxyxyyyyzz{zz{zxzzxyyzzzyzzzzyxyxzyzxyyyzzzzzyzzyyyxxy{zzzyzzyyyyyyzyyzzyzzzzyzyyyyxyyyzzyyzyzyyyyyyyyy|zyzyzzyxyyyyyyyyzzyzzyyxyzyyzyyzzyzzyxyyyxzyyyy{yzyzzzyzyxyyyyz{yzzzzzyzzyyyxxzyyzzzyyyzyyyyzyzy{z{z{xyyyzyyyyyyyzz{zzyyyyxyzzzzzzzzzzyyzyzzzzy{yyzy{zyzxxzzyyyzzzzyzzyxyyyyyzzzzyzzzzxzzzyyz{z{{zz{yzyzyzyyy{{zyyzyz{yyyyyyzzzz{z{{zzyy{yyzyzz{yzz|zzzyyyzzzy|z{zzzzzzyzzzzyz{zzz{{zzyzzzzzzz{z{{{{z{zzzyz{zzzzz{z{{zzz{zzzzzzz{{{zzzzyy{z{zzzz{|{{{yzzz{yyyzzz{{zz{{y{zyyzy{z{z{z{{zzzyyzyxyzzzzz{zyyzxzyyyzzyzzzyyyzyxyyyyyyyyzyyzyyyxzyxxyyyzyzzzyyyxxxyxyyyyyz{zyyyyyyyyxyyzyyyzyyyxxyyyyyzzyzzzyxxyxyyxyzzyyy{zzyyyxxyxyyzyyzzzyxyxyyyyyzyyyyyzyyxxyyxyyy{zyz{zyyyxyxxyxyzzzyzzxyyyxyyxyyzzyy{yzxyxxxyxxzzyyzzyzzxyyxyxyyyyzzzzxyyxyzyyzyyyyzzzyzyzzyyyz{yzz{zyyyyyyyyzyyzzzzy{yyzyyzxxxyyzyzz{yxzyxyyzyzxzzzzzzyyyzyyzzz{yyz{yzzyyzxyz{yzzzzzzyyzyyyzyyz{zzzzzyzyyyyyyzzz|zzz{yzyzyzyxyzzz{z{{zyzyzzzz{{{z{zzzzzzyzzzzzzzz{{{{{yzzzzyyz{yzzz{{zyy{zyzzyzzzzzzz{yzyyyzzzz{zzzzzzzzzy{yzzyzzz{z{zzzzzzzyyzz{yz{yzzyzxyyxyzy{yzzzzyyyyzyyyz{yzyyzyyyyxyyxzz{yyyzyzyyyxywyyzzzzzzzyyyyyxzx{zyx{z{yyzzyyxzyzzyzxzzzyyxyxxzyzzyyyzz{yyyxxyyyzzyyyzzy{xyxyyxyzyyzxyyyxzyyzyyyxyyyyzy{yyyxxyxyyyzyzzzyyyxyyywxyyyzzyyxyyxzxxyxyzxzzyyyyyyyyyywyyzyyzzyyxyyyxxyx{yyzzy{xxyyyxyyzyyzyzzyyyxzyyyxyyyzy{zzyzyyyyyyyzzzzzyzyyyyxyzzyyyzzzzzyxzzzyzyz{zyzzyyyxzyxyxzyzzzxzzzzxxzyzxyzzyzzzzyzzyzyzyzy{z{z{zzyzzyyzzzz{zz{y{zzyyyzxyzyyz{zz{zzzzyzzyyzzzzz{z{{zyyzzzyzyzzzz{z{zyzzzzyy{z{zz{{{zzyyzzyzzz{z{zzzzyy{zzz{yzzzz|zzzzzyzyzzz{|{{z{yyzxyyzyzzyzzzzzyzyzxyzxy|zzyzy{yxzxyyyyzz{yyzxzxyxxyyxxxyyxzzyyyyyxyxxxyyzzyzyyyyzyxyzyzyyyyzzyzxzyyyxyzyzyyzyyyyyyxxywzyzyyzy{yyzxxyzxzzzyyyzyzyyxyxxxzxyxxxyzyyxyxxxxzyyyxyyzxxzyzyyyyzyzyyyyyyxxyxxyxyzyyyyzyxyyxyxyyxzyzyy{xyxxxxxyyyyyyzzzyyywyyxxyyyyzyzyyxzyyyxxyyzzyyzzyzxzzxyxzyzyyyxzxyzzzyzyyzy{xzy{yyyyyyyyzyyyz{yzzxyzzyzyxyyyyzz{zxzzyyyyyzzyyzzzyyyzyyyxzyyyyz{{zyzyxyyzz{zzzyzzyyyyzyzyyzzzyz|zyyyzyyxyzyzzz{y{zyyxzzyyzzzzzz{|zzyyyzyzz{yzzy{zzzzzyzzzxzzzzzy{zzz{yxxzzz{{{{z{{zyzzzzy{zyyzzzzyzzy{zzyzzzzz{zz{zzyzzzyyz{zyz{yzzzzyyyyyzzzzz{zyzyyxyxxyyzyyzzyyxxyyxyxyzzyzyyzyyyzyyyyzzxyzzzzyyywxzzxzyxzyzzzzxyzyzyyyzzzzzz{xyyxyyyyzyyyyyyyyyxyyyyxyyyzyzzzyxyyxyyyzyyzyzyzyyyxyxyyzyzyyyyzyyyxyyxwyzzzxzyyzzyzyyxxyyzyyyyyyyyyyxxyzzyyzyzzzzyyxxxxyzzyyzzzyzyxyyyyzzzyy{yzyyyxxyyxyyyzzyyzzzxxzxzyzzyyyzzzzyxyxyyz{zzyzz{yxyxzyzyzyyyyyzzzzzzxyy{zyzzyyyzyzyyyyxzyzzzzzzzyyzyxyxyyyzyyzzyyzzzyyyzzyzzz{z{zyyzyzy{zz{yzzz{zzyzzyyyyzz{zz{{yzyzzz{zyzzz{zz{zzzyyzyyz{zzzy{yzyyyyzyzzz{zz{{{{{zzzzzzzzz{{y{{zzyzzyyyzzzz{zz{zzzyyzyy{{{zz{zz{yyzyyzyyyzyzz{{zzyzzyyzyzzzzzzzzyyzyyxyyyzzyyyzyyzyyyyyyyzzzyxzzzyxyxxyxzyzzzzzyyyyxyyzzyyyzyyyzyxyxyzxyyzzzyyzzyyyxxyyyyyyzyyy{xyyxyzxyyyxyyxyyyzyyyyxyyyyyxzyyyyyyxyxyzxzzzzzyyxyxywyxzzyzyyzyyyyyyyxyyyyzzzyzyzxxyyzxzyyyz{zzyyyyyxyyyzzzyzzyyyyyyyzyx{yxzzzyyxzxyyxyyzzyzzzzzyyyyyxyy{yzyzz{yyzxyzzzy{yzyzzzyyzyyyyzzyyzz|z{zyyyzyyyzyz{zzzzzzzxxyxxyzzzzyzyyyyzzyzxzz{yzzyyyzyzyyzyzzzzyz{zzzzzyzzyzzyzyz{{zyyyzxyzyzyzz{zzzzzyyzyz{{z{z{y{zzzzyy{zzz{zz{{{yyzzyyzyy{z{{z{{zzzzyzzyyyzz{z{z{z{zy{yzzz{zz{{{zzyy{zyz{{zz{{{zyzyzyzyzz{zzy{zzzzzzyzzyzzz{z{zzzyzyzyyy|zzzzyyzxyyyxxyyz{yzyyzyyyxyyxxy{yyyzzzz{yxyxyxyyxyzzzyyzxyyyyyxyzyzyy{yyyy{zxzyyyzzy{y{xyyxyxyxyzyxxzyzxyxxxxxyzzzxzzyyyyzxxxxyyyzyzyzzxyyyxyxyyyyxyyzzyxyxxyxyzyyyzzzyyyxyxyxwyyzyzzzyzyxyyyyxyyzyyyyzzzyzzyyyyyyyyzyzyxyyyxxyzyyyzy{zyzyyyxxyzyzyzzy{yyzyzyyxzyyyyzyzyyzyyxyxzyzyzzzzyyyyyxyyy{zzzzzzyyzxzyzyzzyyy{zzzzxyyzyyzzzyzzzzyzyyyzyzyzy{zzyzzzyzzyzzz{zzzzz|zyyyzyzxzzyz{{zzyzzyyzyy{|yzzz{|zyzyyzzzyyz{z|{zzzyzyzyyyz{z{z{yzyzzzzyz{z{{zzy{xzzyyzzyzz{{zzzzzzzyzzzzzzzyzz{zzzyzzyyzzzyzyzz{z{yzyzzyyzzzyz{zyzzwyyyyzyyzyyzyxzyxxxyxyyyyyyyzzyyxywxyzzzyzzyyxyyxyxyyzzyyzzyyzyyyywxzyyzyyxzyxyxyyzzxyxzxzzyzzxxxxxyyyyzxyzyzyxyxxxxyxyyyyyyyyxyyyyxxzyyyyxyxyyyyyyyxyyyyyyzzyxyyxyxyyyzyyyzzyxxxxxyxyyyyyzzyyyyxyyyxxyyyyyyzxzzxyyyxxzyyyzzzyyyyxyyyyyyyyyyzyyyyzxyxzzzyyyy{zyzyyxyyzyyyyzyzyzzxxyyyyyzz{yzyyxzyyxxxxxyzyzzzyyzxyyxyyzyyzz{xyyyyyzxyyzyyyzzyzzyxxzxy{zzzzyyyyzyyyzzzz{z{y{zyyyxzyyyy{{zzz{zyzyyzzz{yzyyzzzz{zyzyxyz{zzyzzzy{{yzyzyxyyzzzzzz{zzzzzyyzzz{zzzzz{zzzyzxzzzyz{z{{zyyzyyyzz{z{{{zzzyzyyyzzyzzz{{zzyyyzzyyyy{z{zzzyzyyyyyyxy{zyyzzyyywyyyxyyyzyyyyyyyyxwxwxyyyyyzzzzzxzyxyxzyyyyzyyzxyyyyyyyzyyyyyzyyyxxyxzyyzyyzzyyxyyyxxxxy{yyyzzyyzyyyyyyzzzyzyzzyyyyyyxyyyzyyzzyxxyxyxyyyyyyyzyyyyyxyxyyzyyzzzzxzyyyyyyzyzyyyz{yyyzzyxyzzyyyzyzxyyxyyxyyyyzyzyzzyyzyyyyzzyxyz{zzyxyyyzyyzzyyzzzyxzyyyzyyyyyyzzzxyyzyyyzzyzyz{yyyyyyyyyxy{zzzzyzyyyzyzyy{zyyzyyzyyyyyyxyy{zyzz{zzzyzyxzzyz{zzzzzzzzzzyyzzzzzz{zzyyyzzyyyzzzz{|{zzyzzzzyyz{z{zz{yzzzzyzyzy{{zz{zz{zyzxzzyy{{{{z{zzyzzyy{zzz{zz{zzzyyyyzyzzzzyzzz{zyzzzzzyzzz{{z{zzzyyyyzzz{zzy{{zzyyzyyyzxzzyzz{zzyyyzyyyyyzzy{yyxyyyxxyxyyyyzyzyzyxxyxxyzzzyyzzyyyyyyyzxyyzyyzyzzxyyyyxxyxzzzzzzyxyyxxzyzyzzyzzzyyxxxyzxyyyyyyzzxyyyxxxxyyyyyzyzxyxyyyxzyyyyyyxyyxxwyyxyyyzyzyxxyyyyyzyxyyyyzyyzyyzyxxxxyzyyyyzyyxyyyxyxyzyxyyyyxxyyxxzyyzxyyzyyyxyzyxxyyzyyyyzzyyyy{yyxyyzyyzyzzyyzyzyzzyyyy{zzyyxxxyyyyyzzzyzyzyzxyyyyyzz{yz{yyyyzyyyyzzzzzz{zxxzyzyxyzzzyyyzzzzyyzyyzyzzzzzz{yyyy{yzzyyyzyz{zyyzyyyyyzzy{z{zz{zyzyyyyz{{{{{zzzyyyxzy{zzzyz{{zzzyyzzzz{zz{zzzzzzzzzzzy{z{{{zzz{yyyyzxyz{yz{z{{zzyxzxyyzyz{zzzzzzzyzzzzz{zzz{zzzyxzyyzyzzz{yzzyzzyxyzyxyyzyzyzzyyxyyyyyyyyyyzyzyxxyyxyxyyyyyzzyyxxyyzxyzyzyzzzzyxxyyyxyyzzzzyzzyyxyxxxxxy{yzyyyxyzxyyxxyyzyyyzyyzyyyyxxyyzyyyyzxyzyyxxyyyyzzzyzzyxyxyyxyzzyyyyzxywyxyyyzyzyxzyyyxyzxyyywz{zzzzzyxyxyyyxyyyyxyzxyyzxyxyxxzzyyzyyyyyyxyzyyyzzzzyxyzzyyxyyzyzzyzzzxzzyyyyyzyyzyz{zyxyyyyxyzzyzyyzzyyyyyyyzyyy{yyzyzzyyyyyyzzyyxy{yyzxyyyyyyzyyzyzyyyyyyyzyzzz{z{yzyyzyyyzzyyyzzzy{zyzzyxzx{zzzzz{zzxyzyyyyzy{zzzzz{zyyzzzyzzz{zzyz{yzzzzzzy{{zzzy{yzzzyyyzzzzzzzz{zyzyzx{zzzz{z{{zzyyzyyyz{{zz{{zyyzzyyzyyzyzzz{{{yzyzzyyyyz{zy{zyyyyzyxzyzzzyzyyxyxyyyxyyyyzyzyzyxxxyyxyyyyyzyzzzyxyxyyyxyzyyzzzzxyxyxyyyxyzyyyzzyxxxxxxyyzzyyyzyyxyyxyxyzyyzyzyyyyzwyxxwyyz{xzzyyxyyxyyxxyyyyzxzxxxyyxyxyyyyxzyzxxxxyxxzyyzyyyzyyxyxxxyyyyyzyy{yyyxy{yxyyyzyyyxzyxxxyyxxxyyyyyyyyyyyxyxyyyzzzyzzyyyyzyyyyyzyzzzzzxyyyyyyyyyzz{zzxzyyyzyyyyyzyy{zzyyxyxxyy{zyyzzyxyyzyzxyzzzyyzyyzyyzyxyyzyyzzzzyyyxzyzzyzyyz{z{{yyyyyyzyyzyzzzyzyyyyzxyyzzzzzz{zzyzzzyyz{z{yy{|{zyzyzzzzzzzzzz{{yyyzzzyyy{zyz{zyzyzyyzyzzzzyzz{{zzyyyzyyyzyzzy{zzzyyyzyzzzyzzz{zzzzyzyyyzzzzzz{zzzyyyxzyy{yzzzzzyyyyyxyyyz{y{yzyyxxywyxyyyyyyxzzyxxxxxyyzxzyzyzzyyxxyyxwzy{yzyz{yxyyyyzxxyyzzyzxzxxywyyyxyyzyzyzyxxyxzyxxxyyyyyyyxywxxxxyyyzxyzzyyxyxyxyxyyyzyzzyxxyyxxyyyxyyyzyxyyxxxxyyyyyyzyzyyyyyxyxxzzzyyzzxyyyxxxxzyyyyyzyyyyxxxxxyyyxyzyzyzyxyzxyzzzzyzzzyxyxzyxyxzzyyzzzyyyyxyyyyyzzx{yzxwxyxyyyzzyyyzz{yyyyxxyyxzzzzzzzyyzyyxyyzyzyyzyzzzyyyyyyzzzzyyyzyyzxyyyyyzzzzzzzyxxyyzzyz{{zzz{zzyyyyyyy{zzzyzzzzzyyyyzyzzyx{{{{xzyzzyyyzzyy{zyz{zyyyzzzy{zzyzz{zzzzzyz{zzzzzz{yzzzyzyzzzzzzzzz{zyyyyxzyzzy{zzzzz{zyzzyyzzzyyzzzzyzyxxyxy{yzyz|yzxzxyyyyyyyyyxyzxyxyyxyxxzyyzzyzxyyyzxyyzzzyzzz{yywyyyxyyyxyzyyyyyyyyxyyyyzyyy{zyzyyyyyyzzyyzyyzyxyzyxyyyyyyyzyyyyyyxxyyyzzyzzyyyyyxyyxyzyyzyyyyxyyxyxxyzyzzyyzzxxyzxyxyxyzxyxzyyzzxyyyyzyzyxzzyxxyyyxyyxyxyzyyyyzyyyyyyyyzzyzyzyxyyxyyxy{yzzyzzyyzyzxyyyzyzzzzz{yyyyyyyyyzyyyyzyzyyxxyyzzzxyzzzz{zxyyyyyyyyzzzzzyyxyyyyzyyyyzzzzyzyyyyyyzyzy{zyzyyyzyzyyzzz|zzzyyzyzy{yyzzzzzz{yyyxyxyyzzzz{{z{zxyzzxyyz{zyzzz{zyzzyzyy{zzzzzzz{{{yzzzyzzyzzz{{zxzyzyyzzzz{zzzzzyzzzzyzzzzy{zy{zzz{{y{y{zzzzzz{zzzyyyyzyyyzzzzzyzyyxyzyz{yyyzxyzyyyyyzyzyyzyyzzyxyxyyyyyz{yzz{zyyxyyxyxzyzyzzzyzyxxxzyxyzzyyzzyzxyyyyzyzyyzzyyzyxyyyxyxyzz{zyzzyzzxyyyxyzzyyzzyzxzyxyxyzzzyyyzyyxzyyyyyyxyzyzzzyxzyxyzyxyyyyz{zzxyzxyyyyyzzyyzzyyyxyzxxyyyzzzyzyzyyyyxyyzyyzzyyyyyyxxyxzyzyyzzzzyyzy{zxz{zyyzzzzyyyyyxyyzyyzyyyyyzyxxzyyzzzzyzzxzyxxyyxzzzzzyzzyyyzyxyyyzzzzzzzzyxzzyx{yz{yzz{zzyzyyyxzz{zzzzzyzzyyzzzzzzz{zzz{yyyzzz{zzzzzzz{zzzzyzyyzzzyzzy{{zzzyyzzzz{zzzz{{zyzzyzzzyzzzzzzz{yzyy{zzz{{{z{zzyzzzzzyy{{{z{{zzzzyzyzzz{{zz{zz{zzzzzzyzzz{zzzz{zzyxyyyyzzyzy{{zzyzzxyyzz{zyzyzzyyzzyxyyyz{zzxyyyxwxxyxxyyyyyyyyzxxyyxxxzyyyzxyzyxyxyyyyyyyzyzz{zxxyzxwxzyyzyzyyyyyzyyyxyyyzzzyyxxyxyyzxyzxyzzzzyyxyzyxxyyzyzxzywxyyyxxyyyyyyzyxyyxxxyyxyxyyyzyyyxyyxxxzyyyxzyzyyyyxxxyxyyzxyyyyyxyyxyyxyyyxyyyyxwyyxxxxyyyyyy{yyyyxyyxwyzyyyyzzyyzyxyyyyyyxyzyzyyyzyyzxyyyxxyzzyyywxxxzyyzyzyyzyyyyyxxxyzzzyyzyyxyyyxxyyz{xyzzzzyxzyxyzzzzzzzzzzyyzzyzyzyzzzzzzzyyyyxzzzzyzy{zzzyyyzyyxzzz{{yzzzyyzxyzyy{zyz{zzzyyyzyyyz{zzzzzzzzzyyzyzzzyzzzyz{yz{zyzyyyyy{{zz{xzyyxyzzzzz{zzz{yyyzzyz{zz{{z{zyyzxzyyyyzzyzz{zzzyyyyyxyzz{yyzzyyzxzxzyyyyyyyyzyyxxzyyyyyyyzyzzyzyyyyyyyyzyzz{zzyxyyyyxzyyzzz{yzxyyyzyyyyzyzzzzyzyxyyyyyy{zyzz{yyxwyyzyyzzyzyzzyxyxyyxyzxyyzzzzzzyzyyyyyyyzzyzyyyxxyxyxxzyzyyzzzyyyxyxzyy{yzyzzzxyxyyyxzzyyzyyyxxyyzyzxzzyyzyyyyxxxyxyyzyyyyzyzyxzyyzzyzzyzzzzzyyyyyyyzzzzyzzyyyyyyzxyxzzyzyyzzyyzzxyyyyzyzy|zzzyyyyyz{y{yzy{yzyyzyyyyyzzzzy{yyzyyyyyyyzzzzzzzzzzyzyyzyzyzzzzzzzzyyyzyyz{zzzz{zzzyzyyyyzzyzzz{z{yxyzyyzz{{zzz{{zy{zz{zzz{zzz{zzzyzzyzz{z{{z{{{{{{zyyzyz{z{z{{{zzzyzzyzzzzzzz{{|zz{yzzzy{{zzzzz{zzzyyz{z{y{zz{zzzyyxyyyzzzzzyzzzyyyyxzyyzxzzyyyzyxxxyyyxyzzyzy{zyxzyxxxyyzxx{yyzyyyxyxyxzyzzyyzzyyyyxxyzzzyyyyzyyxyyyxxxyyzyyyyzzxyxyzyxyzyyyzzyzyyxyyyxyyzyzyyyzyyxyyyyzzyzyyzyyyxyxxyyyzyyyzzyxyyyyxyyyyyyzyzzxyxxxyxyyyyzyyzzxyxyxxzxyzyxzyyyyyyyyxxxz{zzzz{yyyyyyyyyyyzy{{z{yyyyyyyzyz{zzyzyzzyyyyzyzyzzz{{{yyyxzyyyzyzz{z{yzyyyzxzxxz{zz{zzzyzyzyxyyzz{zzzzzyyzyzyzzz{zy{{zz{zyzyyzzzzz{zz{yzzyzzzyy{z{z{z{yyzyzyyyz{{{yz{yyxzzyyyzz{zzzz{zzy{yy{yzzzyzzz{{z{zzyyzx{{zzz|{{zzzyxyzyzzzyzz{zz{zzzyzzzzzz{zz{zyzzyyzzzyz{zz{{yzyyyyzz{|zzzz{{{zzyzyzyz{zzzyzyzyzyyyzyzzz{yzyyyxyxzxzxyzyxyyzxyyxyxxyxyzzzyyzzyxyyyyyzyyyzzzyzzyxzyxyyxyyzyzzyyyyxxyxyzzyyyyyyxxzyyyyxyyzxzzyyzyxxxxyyyxyyyxyyyyyyyyxyzyyyyyyzxxxxxxxxxyyzyyzyywyxxxxyyzyyzy{yyyxzxyyyzyyyyyyzyyxyyyxyxyyyyzzyyxxyxyyxyyxyzzyzyyzyzyyyyzyyyzzyyyyyyxzyyzzzxzzzyxyzxxyyzzzzyzyzyyyyxyzzyz{zy{zzyyzyyxxyyzzzzzyzzyyzyxxyyzzyyz{yyyyxxyzyyyzzyzzzyyzyzyyxzzzz{zzzyzzyyyyyyzzzzzzzyyyyyyyzyzzzzz{zzyyyyyzyzyzzy{z{yyyyzzzzyzzzzz|zzzyyzzxyzz{z{zzzzzyzxzzz{{zzz{zzyyyzy{yzyzzz{yzzzyzyzzyzzzzzyzzzzzyyzy{yzzz{yy{{zzzzyyzzzzzz{zzzzyyyyxyyyzzzzxxyywxyyxxxyzzyyzzzyxwxyxyyyyyyyzyzyywxxyyxyyyxyzzyxyyyyxxyyyyzxx{zzyyyyyxxyyyyzzz{yyyyyyzxxyzyzzxxyyyyxyxyyyzyyyzzyyxzyyxyyyzzyyyyyxxyyyxxyyyyxzyyyxxyyzwyyxzyzyzyzyxxxyxxyyyyyzz{yyzxyxxxzyyyyyzxxzxyyxxxyyyxxzyyxxyyyzxyyyyzzyzzyyyxyywyyzyyzyzyxzyyyxyyyyzzzzyzyyyxyyyxyyyzyzyzxxyxyxxyyzy{zyyzyyzxyyxxyzzyyy{zzyyyxyyyzyyyzzzyyyzxyyyzzzz{zzz{yyy{yzzyzyzzzzyzzxyzyyyyy{{zyz{zzyyyzyyyzz{{yzzzzxzxyyzyzzzz{zz{zzyyyzyzzzzz{z{zzzzyyxyzz{zz{{zzzzyyzzzzzy{zz{z{yyzzzyzzyyyz{zzzzzyxyyzyyzzzzz{zyyyxyyyxxzy{yzyzzxyyyxyxyxzyyzxzxxyxyxyxyyzyyxyzzyyyxyxxzyyzzyyyyxyxxyxxyyzyzzyzyyyyyyyxzyyyyzzzyyxyxxxwyyyyzzzyyyyyyyxyyyyyyxyyyyyxxxxxyyyyyzyyyxyyxxxyyxyyyyzyxxyxxzyyyyyyyyxyxyxxyyxxyxyyyyyyyyyxyyxxxzyzyyyyyyxyyxxxyzyyyyyyxzyxyxxyxyxzyzyyyxzyxyywyzzyzyzyyyyyyyzyyzyzzyzz{yxzyxyxyzzzyzyzzzyxyyxyxzyxzyyyzxyywyyyyzzzyz{yzyyyyzxxyzzzyyzyxyxyyyxyyyzyy{y{yyyyyzyyyzz{z{zzyxyyzzzyzzyzyzzzzzyzzxyxy{zy{{zyzzyyyyzyyzzzyyzyyzyyyzzyzzzzyz{zzzyyyyxyzz{zzz{|yyzyzzyy{{{{z{zzzyzzzyyyyzzyzzz{zxzyyyyy{zzzzz{{yyyyyxzyz{zyz{{zzyyyxyyxyz{zzz{yzyxyyxzyyzzyzyzyyxxyxxyyxyzyyxyzyzyyyyxyzyyyzzzzzxyxxyyyzyyyzyzyyxyzxxyyyyzzxyyzzxyxxzyxyxyzyzzzyyyxxxxxyzyyyzzzzyyxxxyxyyyyyzyzxxyxwyxyyyyyyyxyxyxzyxyxyyyxyxzyxywxxyxyxyyyyxyyzyyyxyxyyyyzx{zzyyxyyxxxxzyyyyyyxxywyxyxxzyyxzxzxyyxzyxxzyyxzyyzyyyyyzyxyyzzyzyzyyyyyxxxzyyzzyyzyyyyxyxxyzyyyyzzyyzyyxyyx{zzzyz{zyzyyzyxzzyyyzzyzyxyzyyyzzyzyyzzzzyxzyxyyyz{{z{yyyyyyzzzz{{zzzz{zyyyxyxyzzzyyzzzzxyyyxyzzzyyzyzzyyzyyyyzzy{zzzzz{zzyyzyzzzzzz{zzyyzyzyy{zyzzz{zyzyzzzxyzzz{zz{z{zzyzzyyyyzyyzz{zzyzxyzxxyzzzyy{zzzzyyxxxzzz{yzzzyxyyyyzyzzzyzyyzyzwxxxxxyyyyzyyzyyyxwwyxyzyyyzzzzyxxyyywyzxyz{{yzxyzyyyyyyyyyyyyyyywxxyyyyyyyyzyyxxxxzxyyyyyyyzyyxyxyyyxxyyxxyyyxzzyyyyyyyyyyyyywyxxyxxxzyyyzzyyxxyyxyxzyzzyyyzyyyy{yxyyyyyywzz{xyxyyxxxxyyyyzyyxyyxxyyxxzzyyyyzyyxxyzyxyyyyyzzzyxyyyxyyzzzyzzzzzyyxyyyyyzzyyzyyzyyyyyyyyzzyzzzyzzyyyyxyyzy{yzzzyyzyyyyyzx{zyxzzyyzyxzyyzzzzzzyzzyxyzzyyy{{z{zyzyyxyyzyyzzzzy{zzzyyyzyyzz{zz{{{zzzyyyzzzzzz{zz{zy{zzyyzyzyyzzyzzzzyyyzzzy{z{z{zzzyyyyyyzzzzzzzyzyyzyyyzyzzzz{z{yyzyyzzyz{{zyzz{{zzyyzzyyzzy{yyzzzyyyzyxyyz{{{zzzzyyyyxyyyxzyzyyyxyyxyyxxyyyyxxzyyxyyzyyyxxyyyyyyyxyxxyyyyzzzzzzzzxxxyzxyyzyzyyz{yyyxxxyxyyxyyzyzywyxxxyxyzyyyzyzzyxxyyxxyyxyxyzxxyyxxxxyxyyyyzzywyyxxxyxxyzyyzzyyyyyxyxwxyzyyyyyyyxxxyyyyyyyyzzyzzxxyyyxyyyyyxzyyxywxyyyxzyyz{yzzyyxyyyxy{zyzyyzzyzyyxyyyyyyyzzzyxzxywxyyyyzyzzzyzxyxyyyzyzyzzzzzyzyyyxxyyzyyyyyyyyyyyxyyzzyyzzzzyyyyyyxzyyzxyyz{yyxyzzyyzzz{zzyyyyzyzzyzzxzyyzzzyxyzzzyzz{z{{{zzyzyyyzyyzzzz{{{zyyzyzyzx{yzzzzzzzyxyyyyyzzzy{{{{yzyyyyyzyzzy{{{zyyyzxxzzyz{zzzyzyyyyyyzzyyz{zzz{zyyzzyyzzyyzzz{zyyzyzyyzzzyzzzzyyuyzyzxyyzyzzyyyxyxyzyyzyzzzyzzxxyzyxxyyyzyyyzzyxxyyzxyyyyyzzzzxxxxxxxxxyyzzz{zzyyyxyyxxyzzyyyyyyyxyyxxyyyyyzyyzyyyyyyxyyzyx{zxyyyxwxxxxzyzzzyyyyxxyxyyzxzyyyzzxxxyxxxxyxzxyyzyyxzyxxyxyyxyyyzzyyyyxyxyyyzyyzyyzxxyyxyyyyxyyzzzyyyyyyxyyyxyyyzzyyyyzxyyzzzyyzzzzxzyxxyyzy{zzzzzyyyyyyyzyzzyzzzzyzyyyxyyzzzzyzyyzyzyyzxyyyyzzz{zyyyyyyyyzzz{yzzzyyzzzzzyzzyyyzzyxyzzyyzyzzyzzy{{yyyyyyzyzzzzzzzyzyzzzyz{zzz{zz{zyyyzzzzzzzyz{{{zzyyzxzyyzzzzzy{{zzzzzyyy|zz{z{|zyyzyzyyzzz{zzz|zzyzzzzyzzzyzz{{zzzzyyzzyzzzzz{zz{zxyyyzyyzzzzzzyzyyyyyyyyzzzyyzyyyxyxxxyyzxyyyyzxxzxyyyyyyzzzzyzyyyyxxyyyzyyyzzxyxzyxxyxyyzzzyyyzxyyxyyxyyyzzzzyyyyyyyzyyzy{xyzyzzyxxxzwxyyxxyxyxyyxxzyxzyzyzzz{yyxxxyxxyyyyxyzyyyzyyyyyyyzyzzxyyxxyxxyxyyyyyyyyxxyyxxxxzyyxzzzzxyyxyxxxyyxyzzyzyxyzzyyxyyyyyyyzyyxyyxxyxzzyyyzzzyyxxyyyzyxzzyzzyyyyxxzyzzzzyzz{zzzyyxyxzzxyyzyzyyyyzyyxyyxy{x{yyyyxxyxxzzzzyzzzxzzzzzzyzyzzzzzzyyyyyyyzzzyzz{zzzyzyyyyyz{zzzzzyyzzyzyzyz{zzzzzzzyzzyyyzzz{zzzyzzxzzyzyzzzzyzzz{{yyzzyyyzzzz{zzzyyyzzyzzzzzzz{zzyyyzzyyyzyzz{z{yzyyx{yyyz{zz{zzzzyyyyyyyyzzzyyzzyzzxyzzyzzzyzzyyxywyxxxyxzyzzyzyyxyxxyyxyyyzzyz{yyxwxxyyzyzxzyzzyyzxyxxyzyyzyyzyyxyxxyyyyzyzyzyyyzyyyxxyyzyyyyzyyyyyyyxwzyzyyzyzyxxywxyyyxyyyzyzxxyxyxxxzyyyxyyxyyxyxyxyxyzxzyzyxyxxxxwyyzyyzzzzyyyxzxxxyyxyyyyyyyyyyyxxyzyxyyyzyxyyyzyxyyyyyzzyxyyyyxxyyzyyzzzzzxyyxzyzzzyyyzzzzyxyyyyyzyzzyzyzyxyyyzyzzzzyzzzyyzxyyzyyyzzzyz{yyyyyyzyyzzyxyzy{yyzxyyyzxyz{{zyzzyyyxzyyzzyzy{zzyxyzyzzzzzzzy{yzzyyzzxyzyzzzzzzzyyyyzyyzzyzz{z{zzyyzzzzzy{zy{{{z{zzzzyyzzzzzz{yyzyyyzzyzzzzzzzzzzyzzyxyzyyyzzzzzzyyxyyyzyzzzzyz{zyyyyyyyyyzzzy{zyzyxyxyxyzyyyzyxyxxxxyyxyyzxyyzzyyyyzyxyzyyyzzzzyyzwyzxyyyyyzyzyzyzxxyyyyzzyxyzyzyxyxxyyxyzyyyyyyxxyxxxxyyyyxzyyyyxyyxxyyyyzyyyyyyxxxxyxyxzyyyzyxyxyyyyxyyzzyyzyzyxywyxyxxyyzzzzyyyxyyxxxzzzyzzzyyyyxyyxyyxzy{yxyzxxxyxyyyzyzzzzyxyyyyyyyyyyzyzzxyyyyxyzyyyzxzz{xyyxyyzyzzzzzzz{yyzyyyyyzzyyyzzzzyyyyyzxzzzyyzzzyyyyxyyyy{{zzzzzzyxyyzyyzyyyyyzzyyyzyyyzzzy{zzzzyzyyzyzyyzzzz{{{zzyzyyxyzzzz{zzzyyyzyzzz{{yzyz{zyyz{zyyzzyyz{z{zzyyyyzzzy{z{zz{z{z{yzzyz{zz{yz{y{zyzzyzzyzzyyz{zzzyzzyyyzzz{{y{zzzzyzzyzzy{zzzz{yyyyyxyyzzyyzx{zyyzyyxyyyzzyzyxyxyyyyyyxyyyzyxyyxyyyxyyxxyzyyyzzxyyxxyxyzzyyyyyzyyyyyyyyyzzxyyzzyxxyyxyxxyzyyyzzyyxyyxwxyyyyyzyyyyxyxxxxyyyzyyzyyxxxxyyyzyyxzzzyxxyyyyxxxyyyyyzxxxyxyzxyyyzyyyxyyyxyxxxyyzzyyyzyyyzyxxxwxyyyxxyyyyyxyxxyxyyyyyyzxxyxxxyxyyyzzzyyxyzyyyxyyzzyyyy{yzxxyxyyyyyyyzzzyxyyzxyyyyyyzzzzzyyyyxzyyyyyzyzzyyxxzxzxzzyzyz{yzxyyyyyxyyzyzyy{yyyxzzzyzyzzzzyzyzzyyyzxyzy{zzzzyyyyyyyx{zzzzz{zzyyxyyyyzyyz{zzzyzyyyzzzzzzyzz{z{yyyyzyyy{zz{{{{zzyxzxyy{zzzz{zzyyzzzzyzyzyyz{{zyyxyzzyz{{zzzzzzyzyyzyyyzzyyyyz{zzzxyyyyyyzyyyzzyzxxyyxzxyzyzxyxyzyxxyyxzzyy{zyzyyxyxxwxyyyyyzzzyxyxyyyyyyzyyzzyyxyzyyyyyzyyzyzyyyyxxxyxyyy|yyyyxyxxxyyyyyyzz{yzyxxyyyyxzxyyyyzzyxyxxxxxzxyyyzyzyxyyxxyxzxyxyzyzyywyxyxxyz{zzyyyyyywyxxyyyyyzzzyyxxyxxyxxyyzyyyyyxyxyxyyxyxyyzyzxyyyyyyxyyyyyyyzzxxxxxxzyyzyyzzzyyxxyxyxzzyzzyzyyyyxyxwxyzzyyzyzyyyxyxyyxzyyzyzzyyyzyxyyzyyyyyzyyxyyxyxyzzyyyzyyyyyyzxxyxzz{zyzzzzyzyzxyzyzyyzz{z{zyyyyzyzzy{zzzzyzyzyyzzzzzzyzzzzzxzyzzzzzzz{zzzyyyyzyzzzzzz{zyzyzzzyyyzzzzyzzz{yyyzyzyyyzyy{zzz{zzyyxzz{z{zzzzzyzyyyyyzzzzzzzyyyzzyyyxzzzzyzz{yyzyzyyyyzzyyyyyyxyyyxyyyyyxyzyzxxyyxxyyyyyyy{yzyyyyyyyyyzzyyzzzyyxyyxxyzyzyyzyzyyyxxyyyzyyyyzyzxyyyzyyyyzyyyzzyyyxyxyxzyyyyyzzzyyyyxyyyyyyyyzyzyyyyyxxyyyyzyzyyzxyzxxxyyzzzyzzzzzyyyyxxzzyyyyzzyyxyyyxyxyyyyyzyyyzyyyxyyzyzyz{zxyyxyxxxzzzzyzyzyyyyyxyyyzzyzzyzyyyyzxyyzyzzyzzzyyyyyxyyyzzyyzzzyxyyyyzxzzzyzzz{zyzyyyxyyzzzz{{zzyxzxzxyzzyzyzzyyzyyyyyyzy{{zzzzyyzzyyzyzzz{y{z{yyyyyyxz{{zzzyzyzyyyzzzyy{{yy{zzzzzyzzzyx{zz{{y{|yzyyyzyy{z{zz{{zyzxzyyzzzzzz{zzzyyzyyyzzzzzy{zzz{yz{zxz{{y{zyzzyzzyyyzyzyz{zzzzzyyyxyzxzyz{zyz{yyyzxxxyzzzyzyyyxywyxxyxxyyyyzyyyzxyyxxyyyzyxzzzyyyxyyxxzyyyzzz{xyzyyxxyyyzyxyyyyyyxxxyxyyzyyzyzyxxxxxxxxyzyyyyyyyzyxyyxyyyyyyzyxyyxyyyyyyyyyyxzxwyyxyxyzyzzyyyyyyyxxxxxyzzyzyyyyyyxwxyxxxzzyyyyzyyyxwxxyyyyyyyyxyxxyxxyyzyyyzyzzyyxyyywyyyyyz{yzyyyyyyyz{yyyzzzxyyyyyzyzyzyyzzyyyyyyyyyzzzyzy{yyyyx{xyyyyy{zyzyyzyxyyxxyyzyzzzzyyyyyyyxzxzzyyyzyyzyyyyyyyzzzzzzy{yzyyyyzzzzz{z{yzzyzyxyz{zzzzyzzyzyyyzzzz{zz{zzyyzzxyyzzyzzzzz{zxzyyzyyz{zz{yzz{yyyxyyzzzz{zyyyzxyyyyyzyxyyz{zzzyyzzzyyy{zzyzz{z{yzyyyzyz|zy{{zzyzyyzyzy{zzzz{zyyzxyyzxy{zzyyzyxyxxyzyxxzxyzzyyzxxyyxyyyyyzzzyzyyxxzyyxxyyzzy{yyyyyzyyyzxyyyz{yyyzxxzxxyzzzxzzzzwxxyyzwyzzyyyzzzyyyyzxxyyzyyzzyxxyxxyyxyyzzzyzzyyyxyyxxxyyyyyxxxxzxyzxyyzzyzyyzxyxxxyxxyxyyxyyzyzzyyzyxyyxyyyzzxyzxyyxyyzyyyzzzyyzzyxzxyyyzyyyyyyyy{yyxyzzyyz{zzyxyxyyxzzzyzyzzyyyxyyzyyzzyyzyzyxzxyxyyyy{yyyyyyyyyyzyyy{{zzz{zyzyyzyyyzzyyzyyzzxyxyzzzyyyy{{zzzzyxyzzyzzzy{z{zzyyyyyxyz{zz{zzzzyzyyyyyzzyz{z{zzyzzzy{zyyyzzzyyzyzyxyyzyzz{zz{{zyyzyyyzzyzyy{zzyyyyyzzzzzy{{zz{z{zyzyyzzzzzzzzzyyyxyzyzy{zzzzzzyyzzxzyzz{yzzz{zxzyxxyyzyyzyyzyyyxyyyyxyxzyyyzyzyyyxyxyyzy{zyyzzyxxxywyxzyyzzzzzyzxyyxxyyzzxzyyzzyxyyxxxzyyyyzyzyxyxxyzxyzyxxyzzzyyyyyyyyyyyyzzyyyyxyyyxyyyyxzzzyxzyyxyxyyyyyyyyxyyzyxyyxzyxyyyzyyyyxxyxzyzyyyzyyyyyyyxxxyxyyyzyzyxyxxxxxzzzyzyyzxyyyyzyyzzzyzzyzxyyyxxyyzzyzyyzzyyyyxzxzzzzxyzyyyyyxyyxzz{zzzzzyx{zyzzzyyyzxzyyzyyyxzxyzzzzzzzyzxyyywyyzzzyyzyzyyyyzyyxzzzyz{zzxyyyxzyyzyzzz{z{yyzyzyyxz{z{zyzzzyzzyyzzyz{zz{zzzyzzyzzzz{zzz{|zzyzzxyyyy{{{zyz{zyzyyzyzzzz{zz{zzz{zzzzyzzyzzzzzyzzzzyyzzzyz{y{zyyyyzyyxyyzzyz{yyzyyyyyzyzzzzyyzzzyxyxyyzzzzzyyyxyxyxyxxxyzyyyzzzzxyyxyyyyzyyzzzyxxxxxyyyyyyyyzxyyyyxxxyyyxzyyzzyyyyxwxwyyyzyyyyzyyyxxxyyzyyyzyyyyyxxxxyyyzxxyxyyxyxxyxyyzyzyzzyyyxxyxyxxyzyyzyyyyyxyyxxyzyxyxyyxyyxxyyyyzzyzyyzyyxyxyyyyzyyyyyxyxyxxxxxyyxyyyzyyxxyxyyxzzzzxyzzzyxxyxzyzzyzyzyzyzxxxwxxyyxyxy{zyyzxyxyyzyzyyz{zyyzxyxyxx{zyzzyzzzyzzyyyyzzzyzzzyzzzyzyyzzzyzzyzzzyxyyzyzzzzzzzzyyyyyzzyzzyzzzz{yyzzzyyxz{yzz{zzyyyyzyyzyzz{zzzzzyyyzyzzyyyzz{|zzyyzyyyzy{z{zz{{zzzzzyzyyyzz{zzzzzyzyzzzzzy{zz{z{zxzzzzyz{zzzzzzyxyxyyzxzzzzzzzyyzzxxyxyyzyyzyz{yyyyxxyyyyzyyzzyxxyyyyxxyyzzyzzzzyyyyxyxyzyyz{yzyyxzyxxxzzyy{zzyyyzyyxyyyzyyzyyyyyxxxxyxxxzzzyzyyxyyxxyxyyxzyzzyzxxxyxxyyyzyxzyyyyyyxywxzxyzyzxyzxyyyyyxyyyyyyzzxyyxyxxyyzyzx{zyyzyxxxyxyzzzyzzzyxyxxxyxyzyyxzzyxyxwyyyyxyyyyzzzxxyyzzyyyyyzyyyzxzyyyxxyyzxyyy{zxyyyyyyyzzyzzzzzyyyyyzyyzzzyzyyzyxzyzyyyzyzzzzyzxyyyzyyyz{yzyzzyzyyyzzyzyzzyxzzzyyyxzzyyzz{zz{zzyzzzzyyzy{z{yzzzyxyzyyyyz{zyzz{zzyzyzzyyz|zzy{z{zzzyyzyzyzzz|z{{zyzzyzyzzz{{y{zzzzzzyzy{zz{{zz{zzzyyzzy{z{yy{z{{zzyzzyyyzyz{yyzyzyzyzyyyz{zzzzz{zzyyyzyyzyyyzyzyyzzyyyzyzyyyzyxyxxxxwzyxzy{yyyyzxzyxyxxxxzyyzzzzzyxxyyyxzyzzzyzyxzyxxyyyyyz{yxyzyyzxyyywyzyyzyyzyyyxxyyyyyyyzz{zyyyxyywxyyzyyyyyyyyyxxxxyzxyyzyyyyyxzyyyxzyzyy{yyyxyxyxxyyzyyyzzyyyyyxyyyzyyzzzzyzyzyxyyyzyxxyzyyxyyyyxyxyyzzzzyzyyxyywxyyzzzyzzzyyxyxyyz{yzyzz{yyyyxxxyyzzzyzzzxyyxyyyyyyzzz{{zyyzxyyzxzyyzzzzyzyzyyxxyyz{yz{zyyyywyyxyzzz{xzzzzyzyzyzyyzzzzzz{zyyyzyyyzzyzzz{{zyzyyxzyzzz{zzzzzzzzzzyzzzyzy{{|xyzyyyyzzzzzyzz{{yyzyzyyz{zzzzzzyzzzzzyyzy{zzzz{{yyzyyzzzzzy{y{zzzyyzzzyzzzz{{{zzzyyyy{yz{y{{zzyzyxyyyzx{zyzzyzzzyzxyyzyyyyzyyyzyyyxxxxxyxyzyxyzyyxxyxyyyyyyyzzzyyyxyxyyzyyxzyyzxxyyxywyyyzyzy{yxyxxxxxyyyyyyyxzyyywyyxxyzyyyyzzyyxyxyyyyyyyyzyyyxxxxxyxyyxyyzzyxxyyyyxxyzyyyzzyzxwyxwxxyyyyyxzyyyyxyxyyxzyyyyzyyxxyyyyyyyyxyyxyyxxxzwyyxyzyyyzzyyyyyyxyyzyyyyzzzyyxzxyyyzzyyzzzyyyxyxyxyzyzyzyyxyzzyxzxyzzyzzyzyyyyzzyxy{zzyzyyzx{yyyyyyzzzyzzyyyxxyzxzz{zzy{yyzyzyyxyzyyyzzy{zxyxxyyzzyzyyz{z{xzyyyzxyyy{zyzzyzyxzyxyyzzzzzzzzzzzyyyzyyyyzzzzz{xyzyzyyz|z{{{yzzyy{yzzyzzzzz|zyzyyyzyyy{zyzzz{|zyyxzzyzz{yzzz{zzyyxyyyyz{yyyzzzzzyyyzxxzzyzzzzzyyyzxxyyzzyyyyyxyxyxyyyxyzzxyyyzyyyyyyxyxyyyyzzz{yyxyyyxzxzyzzyyyxyyxyywyxyyzyyzzxyyyxxyzyyyxzyyxxyxyxyyxyyyyyzyxxyxxyxxxyxxyyyyzyyxyyxxyxyyyyyyxyxwyxyxzyyyyxzyxyxyxxyxyxyxzzyzxxyxxyyzzyzxxxzyzxyyyxxywzyxxyyyzyyyxxxxyyyyyzzzyyyyxyyyyyzyzyz{yxzyyyyyyyyzyyzzyxyyyxyxyyyzzzzyyyyxxxxxyzzyzy{yyyyzzxyxyzzyy{zzyxzyyyzyxyzy{z{zzzyzzxyyyyyyyzzzzzzzyzyyzyz{{z{zyyyyyzyyzzyzz{z|zyzyyyyzzzzz{y{zzxyxyzyyz{zzzz{yzzzzzzzyz{zzz{zzzyyyzzyyz{{zzy|{yyzyzzyz{z{yz{zyzyyyzyyyzzzzzxzyzzyzzyyzzzzzzyzzyyyyyzzyyzzzzzz{zzxyxyyyyzzzzyzzzzyxyxxyyzzzzzyzyxxxxxyxyzyzzxyyyyxxyyxyxxxxyzyzzyyxyyyxyyyyyzzzxyyyxyxyyyyzyyzzyxyxyzxyyyzyyzz{yyyxxyxxyzxyyyzzyyyxyxxyxyzzxyyyxxxyxyxyyxyyyyyyxxxyxxyyxxzzzyzyyyyyyyxyyyzyzyyyxyyxyxxyyyyyyyzzyxxyyxyyxyyyxyyzyyyxxxxxyyxyyzzyyyyyyyyyxzyzxyzyyyxxyxyyyzyyyyyzzyzxxxyyyzzzzyzzxzxyyxzxyzzyzzzyyzyzyxyyyyy{zz{yyxyyyyyxyzzxzzyyzxyyyxxyzzyyzzyyyyyxyzyyzy{zzz{zyxzyyzyz{zzzyzyzyyzyzxyyyzzzzz{zzzyxzzyxzzzz{zzzzzzxyy{zz{zz{{zz{zzy{zzyyzz{{{{yzyzzzx{yzy{zzzzzyzyxzyxzzyzzyzzzyzzzyyyyyzzzz{{{zyxxyyyxxzzzzzzzyzyyyyyyzyyz{zzzyyyyyyyxyzzzzyyyyyyyyyyxzyyzyyyzxxxyyyxyyzyyxzxzyxxxyyxxyzzzyyzzxxyyyyxyyzyzyxzzyyyxxyywyy{yzyyzywyyxxxxxyyyyyyyzxyyxxxxzyyyzyyyyyxxxyyxyyyzyzxzwxxxxyxyyyyyyzyxyxyyyyxyyyyzzzzyxywyxyxyyzzzxxyzyyyyxxyxxyzyxyx{yzxxyxxxzyzxzzzzyyxyyyxyyyxyyzzzyyzyzyxyyzz{zzyzyyyxwxyzyyyyyzzzyyyyyxyxyyyxyzzzzyyxyyxyyzyyzzzyzyyzyyyyzzzzyyyyyxxyzyyy{zzyzyyzxyyyx{yzyyy{yzzzxyyyyzzzzzz{{zzzzzzyyyzyz{zy{{zzzyyxzxyzzzzzzzzzzzyyzyyzzzzzz{z{zzzzzzyyx{zzz{zzzyyzyyzzz{z{{{{zyyyyzzzzzzzyzzz{zzyyzyzyy{zzzzzzyzyyyyyyz{yzyyzzzzxyyxyzyyyzyy{yyyyx{xxxyzzzzzxyyyyxyxzxxzzxyzzyyyyxxxyyzyyzyzz{zyxxyyyxyyyzyzzyyxyyyxxyzzzyyzyyyyzzyxxxyxzyyyyzyyyyxyxwxzzyyxyyzyyyyxyxxyyyyyyyxyxzwyyyxyyyyyyzxyyyxxxyyyyyyzyxyyyyxyxyyzyyyzxzyyyxxxyyyyzyyyzyyyyxyyyyyyyyyyyzyyyxxyywyyxyyy{zyxyyxzxxyxyzyy{yzyyyyyzyyyyzzyzzxyyyyyxxyyyyzzzzxy{xxyxyzy{xzzyzzyyzyyyyy{yyyyyzyyzyyzyzyz{yyyzzyyxyyyxyyzyyyzzyyzzyzzyyzyyyzz{{yyzyyzzyyzzzzzzzyyyzyyyyyzzzz{zyzyyzzzyyz{zz{z{{zyyyyyzzy{zy{z{{{zyzzyyxy{|zzzz{zyzzyyzyzzzz{zz{zyzyyzzyyzzzzzz{zyz{zzyzzyzz{zzyzzzxzzzyyzzzyzzzyzzyxyzyyyzyyxyzzyyzxxzyzyzyyyyzyxyxyyyyyzyxyyyzzwyyyxyyyyzyzz{zzzyyxyyyzzyzzzzzzxyyyyyyyzyyyzz{xyyyxxzxyzyyyyyzyyyxyyywyyyzyz{{yyxyyyxyzyzzyyyyyyxxxyxzyyyyzzxyyyyyyxxyzyzzyyzyzyzyxyyxyyzyyyzyyzyyyyxxxzzyzy{yzyyyxyxyyxzzzzyzyyyyyyxyyyzzy{zyxzzyyyyxyyyzyyzzzyxy{xzyyyzyyzzyyzzzyyzzzzyzyzyyzyyyyyyyyzzzzzzzzyyyzzzyyzzzzzyzyzzyxzzzz{zzzy{zzzyyyyzzzzzzyyzzyyyzzyyzzzz{{{yzyyzyzzzy{z{{zz{{yzyzyxyzyzzyzz{zyyyzzyzyzz{z{{zzzy{{y{zy{z{zz{{z{z{zyzyyy|{{z{{{zzyzyyyx{zzyzzzzzzyzzzyzzzzz{|{zzzzzyyyyzzyzzzz{zzzyyzzyxzzzy{{zzyzzyyyzzzyzzz{{zyywy{yyzzyyyyxyyzywyxxyxyzxyzzzzxyyxxyzyyzzzzzzxzyxyxyyzyyyzyyy{yyxyxxyyyyzyzzzyxyyxxxyyyyzyzzyyyyyxyxwxyyyyzyzyzxxyxyxyzyxyzzxxyxxxyyxyzyyyzyyyyxxyyyxy{yzyxyyyyyxxxxyyyyyyzyyxyxzyyxxxyyyxy{zxzyxxxyyxyxyyyyzyxxyyyyyxyzyyyzzyyyxyyxxyyyxzy{zzyyxxxywy{yzyyyzyyyyxyyxyzzzzyzzyzzyyxyyzyzzzyzzzxzyyxzxyz{zyzzyyyyxzyyyzzzzzyz{yyyyyyyzyzyyyzyyyzzxzzyyzzzzzzzzyyyyyyzyyzzzzzz{yyyyyyyyyzzzzzzyzzyyzyyyzzzzzz{zzzyzyzzzyzyzz{{{zyyzxzyyyzzzzzzzzzzzyyzyzzzzzz{zzyyzzyyzzz{{zz{|zyzzz{yy{zyzyz{zzyzyyyxzyzz{zz{zyzyzyyxxzzzzyyzyyyyyyxyxyz{z{z{zyyyxyxyxyyxyyyyzzyywyyxxyyzzyz{zyxzyxyxyyyyzzzzyzxyzyxxyyzyzyzz{yyzxxxyyzzyzyyzzxxzxxyyxyyyzxy{yyyxyyyyxzzzyxzyyxxyzxyxyyyyyy{zyyyxxyyyxyzxyzzyzyyyyyyyyyzyyzzzzyxzyxyyyyyyyxyyzyyyyyxyxwyxyz{zyyyyyyyyywyyxyyzzyyzyyxyzzyyzyzzzzyyzxxyyyzz{zyyzyxyyyyyzyzzyyzyzyyyyyyyyzzzyyy{yyyzxzyyyyyzzzzzyyyyzyxzyzzzzy{zyyzzyyzyyzz{zyzzzzyyzzyzyz{zzzzzzzzyyzyyzzzzzzy{{zyyzyyxyz{z{{zzy{zzyzyyyzzzzz{{zzyzzxzzzyzzy{{zz{yzyxzzzy{{{zz{{{zzzyzyyz{{zzzz{xyyy{zxzzyyz{{{{{yzzzzzzyz{zy{{{yzyyyyyzzzzyz{zzzyyyyzyyyzzzz{{yzyyyxyyyz{zzzyyyxyxxyxwyxyzyyyzyyxxxyyxyyyxxyxyzyyyyyyyyyyyyyyzzzxxwxwxyxyyzzzzxxxyxxxxxxxyyzzyyyyyxyyyxyzxyyzyyxxxyyyyyxyyxxyyywyyxxyxyzz{zyzzyxyxxxwxyyyyyyyyyxyyxyxxxxxyxyyyzxxyxxxyxyyxyxzyyyyxxxyywxyzyzzyyzyxyyxxyxyyxzzzyzwzyxyyyyyxzyzzyxyyxyyyyyyyxzyyyyxyyxxxyyyyxzzyzzxyyxxyyzzzyzzzzyxyyzyyxyzyzyxyyzyxyyxyxzyyyyyyzyyxyyyyxzzzyzyzyxyyxyzxzzyzz{z{yxyyzyyzyyzyzyzz{yzyyxyyyyzzzzzzz{zyyzzyyz{yyzz{zyyzzyzyzzzzz{zzzzyzzyyxyz{zyzz{{zyzyzyzy{yyzz|{{zyzyzyzzy{zzy{z{zyyyzyyzzzyzz{{{zyyzyyxzzzzzz{zzzyyxyyyyyzzyyxzzxyyyyyyzyyzzyyzyxxyxxxyxyyyzyzyyxyxxyxxxyyyyzzzyxzyxxxyyzxz{yyzyyxyzxxyywxyzyyyzzyxwxxyxyyzxxzzzxyyyyxyxyyyzyyzyyzzxyyxxyyyzyzzyxxyxyyyyyyyzxyyywxyxwxxxyxzyyyyxxyzyyxxzyxyyzyyyyyyxxxyxyyyzyyzyyyxzyxxyxyyxxxyyyxxyxyyxyyyyxyzzyxzxyywxyyzzyyyxyyyyzyxyzyzyzyzzxxyyyxxyyxxzyzyzyxyxyxywzyzzyzzzyyyzzyxzyzyzy{yzyyzyyyyyyzzyzz{zzyyzxyyxy{zzyzzzzzyxyyxyyzzzz{zzyyyyzyzyzyz{zzzzyyyyyyzyzzzzyzzzzyzyzyzzz{{zyzz{z{xyyzyyzzzyy{zzzyyzyzzyyzz{z{z{yyzzyyyzzz{yzzz{yzyzzxzyzzz{zz{zzyyyzzzzzzzyzzy{zzzyy{xyzzyyyzyzzzyyyyyxzzzzzzx{zyyyyyzyzzzy{zzzxxxyywxxxyyyyyxzxxyyxxxxzzyxyzzyyxxyxxxxyxyyyyzyyyyxxxxxxyyyyzzyxxxywyyzyyyzyyyyyxyzyxyxyyyxxyyyyxyyxzxxxyzxyyyyxyxxxyyzxxyzxyyyyyxxxxyxxyyyyyzzyxxyxyxyxyyyyyyyyywxwxxxyyzyyzyyyxyxyyxxyzyzyyyyyyxxxyxwyyzyyyzyxxyxyyxxzyxyyzzzyxyxxyxyxyyyyzyzyxxywxyxyzyyyzyzyxyyxyzyyyyxyyzzzyyyzwyxzyyzyzzzxzzzyywxyzzyzzzzyzyyyyxyyzyy{yzyzyyxyyyyzyzzyzyyyyzyzyyyzyyzzzzzyzyyzxyyzy{zzyzyyxyyyyyyzyzyz{zzyz{yzyzyzz{zzzz{zyzyxzxzy|{zzzzyzyzyyzzz{zz{zz{zyxyyyyyyxyzzz{zyzyyyzyyyzzzyz{zzzyyxyyyyzzzy{yzzzxzyyyyyyz{yzyzzyyzyzxyxzyzzzxxzyzyyxxxxyzyyzyx{xzyyxxxxxyyyzyzyyxxyxxzyyyyyyy{yzyxxyywxyyzzyxzyyyxyxyyyxyxzyyzyyxyxyxyxzyyyxyyxyyyxxxyxyxzyyzzyyyxyyyyxyzyxxyyyzxxyyyyxxyxxyyyxyxyxyyyxxyyzxyyxyyyyxyxyyxyyyyzyyxyyyxxwxyyyxzyyyyyxyzyyyyzyyyyyyyxyzxyyzyyyzyzzyyxzxxyyzyyzzxzxxywyzxyyzyzyzzyzyxyxxxxyzyyyyyyzyyxyxyyxxzz{zzyzyxyyyzxxzyzzy{yzyyzyxyxzyzzyzzyyzyyxyyxyyyyzyzzzyyxyyzyyyzzz{zzzzyyyzzxyzz{z{{zy{xyzyyzz{{z{{zzzyyzzzyyyzzyyzzz{{zzyxzzyz{{{z{z|yyzyyzyyyzzyzz{{zyzzyzyzyyyzz{{{zzyzzxyzyzzz{z{{yyyyzyyyzzyzyz{{zzyzyyzyy|zzzzzyzzyyyzyyxzzyy{yxyxyxyxxyxzyxyzyyyyxyyyxyyzyzyxzyyyyxyyyyyxzyzzy{yyyyxzyyyy{zyyzyyzyxxxyyyyzyzzzyyxxxyxxxxyzyyzyzyyyywxxxyzyyxyyyxyyxyyyyyyxzyyyzywxxzwxxyyzzxzzyyyyxxxxyyxyzyxyyyyxxxyyxyzyyyyzxyyyyxxxyyyzxyyxzyxzxyxxxzyyyzzyyyxyyzxxxyyyyyzzyyzxxyyyxzzyzyzyyzxyxyxyyyzyzzyyzyyyxyzyxxyzyzyyxyzyyyyzyzzzzyyzzxyyyyyxxxyzzyy{zyxzyyyxzzyyyxzzzyyzxyxyyyxzzz{zyyyzyzyyyzyyz{zzzyyyzyzyyzz{z{yz{{yyxyzyzzyzyz{{{zyxyyyyzzzyyz{{zzyyyyzyzz{z{yzzyzzyzyyyxyzzzzzz{zzxyzyzyxyzzzz{zzyyyyyyy{{zzzzzzyzxyyyyyyzzyzzzzyyyyyyyxyyyzyzzyzzyxzyzyyzyyyzyyxxxxyxyyzzzzzyzzxyxxxyyyxzyyyyyzyyxxyxxyyyyyxzyyywxxxyxyyyyxxyxyyyxywxxyyyyyyyzzyyyxxyxwxyyxzyzyyxxyxyxyxyyyyyxyxyxyyyxyyxxzyxxyxxyxyyyxyyyywyyyyxxxxyxyyxyxzyyzyxyyxxyxyzzzyyzyyyyyxzxxxyyxyzyyzzyyxxwyyyyzy{yyyxxyyyyxyyyxzyzzyzzyyxyyzxzyyyyzzyyzxxxyyxyzyzyzxyyyyyyxyzzyzy{zxyxyyyyxyyyyz{yyzyxxyxyxyzyzyz{zzyyyxyxyzyzyzyzzzxyyyxxyzyzzzzzzy{yyyyzyyyyzzzzzyyyzyyyyyzzyzy{zzyxyxzyy{zyyzy{zzyzzxyzzzzzzz{yz{xyzyyyyzzzy{yzzyzz{yyyyzzyzz{z{zzyyyxyyzzzzzzzzyyyyzyxz{yzzzzyzyyyxyzyyzzz{zzz{zzxyyyyxxyzzzyzyyxyxyyyxzyzzyyyyxxyxxyyxxyzyyyyzywyyyyyxyyyzyzyzyzyxyxyyzyyzzzzyzyyyyyxyyyzzyyzyyxyyxyyxyyyyy{yzzyyxyyyxyzyyzyzyyzzxzxyyyzyyyyyzzyzxyyxxyyyzyyyyyyxyyxyyyzyzxyzyyxwxyxyyyyzyyyzxzyzyyyyxxyzzzzzyyyyxxxyxxyyyyyyzxyxxxxyzyzzyyyyzxyyyxyyyxzzzzyzzyyyxzyxyyzyzyzz{zyzxxyyyyyyxzzzzyxyyyyyxzzzyzzzzyzyxxxyyyzyzyzzzzyyyyyxyyzzzyy{yzxxyyzyyzyzyzzzzyzyzzyyyzzzzzzzzxzyzzyzxzzyzzzz{yyyyzzyyzzzzz{zzzxyzyy{y{{{zzy{zzyzyyyzzz{yyz{zz{yyyyzyyz{zzy{{zzzzzyxyy{yz{zz{z{yyyzzyyzz{zyzzzyyyyyyzz{yzyzzzzyyzyzzxzzzzzzz{zyzxyyyyyyzyzyzyyz{xyzyzzyyyzyzyyxxxyyyxxyyxyyyyzzxyxyxxyxyyzzyzzyyxwxyyyyxzyy{zyyyxxyxxwyyzyyyyzzxyxxxxyyzzyxzy{zzyxyxyyxyyyxyyxzyyxxyyxzyzyyzyyxxxyxxxyxyyxyyzzyxxxyyyxxyyyxyzyzyyzxyxyyyzyyyzyxyyyxyyyyyyzyzzyyyxxxxxxyzzyzyxzzyxxxxxyxzyyyzzzyyxzyxzxyzyzzyzzyxyyyyyyyzyzyyzzyyxyxyyxyy{yzz{zxyyyzyyxzyyzyzyzyzyzyyxyzzyzzzzzyyyzyyyyyzzzx{zzzyzzyyyyzzyyyyzyyyyzzzyyyzzyzzzyyyyxxzzyyzzzzzzzyzyzyyyy{{zz{zzzzyyyyyxxy{y{{z{zzyyyz{yzy{zzzz{zzz{zzzyzzzyzzzz{{z{{yzzzyz{zzzzzyyyyyyzyzzzzzzzzzzzzzyyyzyzzz{zzzyyyzzyyzzyzz{zzyyzyxyxxyzyzzyzyyyxyyxyyzzzzzyyxxyxyyxyyyzzyyyzyxyyxyyxxyyzyxy{zyyywyyyxyyyzyzzyyxxxxyxyyyyyyzzzyyxyyyyxyyzyyyxzyxyxxyyx{yyyyyyyyyyxyyyzyyzyzyyzyyyyyyyyyyyyyzyyyyxxyyzxxyyyyzyyxyyyxyxyxzzxyyyzxxxxyyxyzyy{yzzyyyyxxwyyxyyxyzyy{yyyyyywyzyyyzyyyyyyyzxyxyxzy{zyyxwyzxxyzzyzyzzzyyzyyxyyzyzzyzzzxyxxyxwzyzyyzzzyzxyyyyyxzzyyzzzzzzzyyyxyyzzzyz{yyyyyzyyyyzzyyzyyyxyyyxyyzyzyzz{zyyyy{y{yzzzzz{z{yyyxyyyyzzyz{zzzzyzzzzyy{{zyzzzzzyyyyyz{yzyzzz{{zyyyyyzyz{zzzz{zzyzyyyzyzz{zzzyz{zzy{yyyyzzzzzzzzzzyzyzy{z{{yz{{zyyxyxyyzzzyy{{{zzzzzyyxyxyzyz{yyyzyxyzzzyzyzzyzyyyyxyyxyyzyxzyyyxxyxyyyyyyyzzzyyyyyyyxxxyyzzyyyyxyyxyyxyyzyyyyyyzyxxyxxyyyzxzyyxy{xyxxxxzzzyzzyyxyxyxyxxzyyzyxyyyyxxyxyyyyzyyyxwzyxxyyxyyzyyyyyyyxyxyxyyyyxyzzyyyyxyyzxxxyzzyzzyzxxxxxyyyyxyzzyxyxyyyxyyyyyzzyzyxyxyyxwyyyzyyzzzzxyyyxxyyzzyzzzyyxyyyyyyyyyzzyyyyyyzwyxzzzyzyyzyxyxzyxyyzy{yzz{zyyyyyzxxzzyyzzzyyzyxxxxzzzyyzzzzyyxyzzyzzz{z{zyyzyzzzyzyzyzy{{zzyyyxyxyzzzzzzzyzyyyzyzy{{yzzzyzzyyyyyzzzzyzzz{{{zyzyzyyz{{{zy{{zy{zyyyz{zzzzz{zyzyzxyz{zzzzzzz|zyyyyzyz{zzzzzyzzyxxyzzy{y{zz{{zzyyxyzyzyzyzzyzzyyzyyyxzzzyzyyyyxyxxyxyx{yzyxzzyzyxxyxxyyyyzyzyzyyxyxyyxyyxyyyyyzxzyxxyyyyyyxyyzyxyyxyxwyyzyyyyzyxyxywyxwyyyxyyyyxyyxxxyyyxxxxzzyyzxyyyyxzyyyzzyxyxwxyyxxyxzyyyyyxxxxxyxxzzyyyyyxxxxyxxwxyxzyzyyxxyyyyyxwxxyxyyzzxxxyyxyxzxzzyzzyyxxyyywyxzzzzyyyyyxyyxxzyyyxyyzyxzxyyyyyxxzyzyyxyyyxyyzyyyzzyyzzyyyyxyyyzyyzzyyyyxyyyxyyzyyyzy{yxyxyyyyzyzyyyzyxxyxzyzz{y{zzyzzyzyyzyyzyyzzyzz{zyzyzyyxzzyyz{zzzyzzyyyzy{yzz{z{yyzxyzzyzzyyyzz{zyzzzzyyyzzzy{{zyzyzyyzx{zzzz{zzzyzzyyyyzzyzzzz{zyxyyyyyzzyzyzzzyyzzyyzxzzyzyz{zzzyyxzyyyzzyyzzzxyyxyxxx{yzzyyyyyyyzyxyxxzzyzxyzzyyxwxxyzzyzyzzzyyxyyxywzyyyyy{{zyxxyxwzyzyyxyyyyxyyyxyxyyyxxxyzyyxyxxxyyxyxyzyyyxyxxxyxzzyyyzyyyyyyxyyxyyyyyyyzyyzxxxxxyxyyyyzzyxyxxywyyyyyyyzzxyyyxxyxxzzyzyyyyzzxyxyxyxzxyyzyxxxxyxwxyyyzzxzzyxzxxxyxyzzyyyzzyyyyxyyyzyyyzzy{zxyyyzyyzyzyyzzzxyyyxyyyzyzyzzzzyxxyxxzyyzzzzzy{yzyyyyyyzyyyzzzyyyyzyxyxyyyyyzzxzzxyzyzyzyz{zzz{yyyyyyzzyzz{yzzyzyx{yzxxzzzzzyzyzzyyzzyyyzzyzzz{yyzyyzyzy{yzzzzzzzyxxzyzy{zz{y{zzyzyyyzy{zzyzzyz{xzyzzyy{zzzzz{zzyxyyzyyzzzzzy{zyyyyyxzyzzyzzz{yzzyyxyyxzzzzzyyyyzzyyyyxxzzyyzyyxyxxyxxwyyyxyzzzyxxxyyxxzyyzzyzyzyyxxyyxzzyyzyyzyxxyxxyxyzzyyyzzyyxwwxyyyyyyxyzyyyxxxxxxxyzxy{zyzxyxxxxyyxzyyyyyyxxyxxyxyxxyxxyyyxyxxxyxxxxyyzyyyyyyxyxxyxyyzxyyyxyxyxxyxyyyyyyzxxyxxyxxxzyxyzxyyxxwyxyyxyyyzxzyxxyyxzxxyzxyyzzzyzzxxyyyxzyyzyzzyyyyyyyyzyyzyyyzyyyzxzyyyy{zyzyzyyyyyxyxyyzyyzzyyyyyyxxyzzyyyyzyyyyyzxzyzyx{xyyzzyyyyyyyzyz{zyzyyyzwyzzzyzyyzz{zzyyyzyyxzzzzyz{zzxyyzzyxy{zyzzzzzyyzyzzyzzyzyzzzzzyyxxyyz|yyzzzzy{{zyxzyyz{zzzzzzyyzzzxy{yzzz{zzyzzzyyyzzzzzzyzzzyyyyyyyxzyyyz{{yyzyyxyyyz{zxzzzyzzyyyyyzyyyzzxyzxyxxyyxy{yyzxyyyyzxyyyyxxxyyzzyyyyyyyxxyyyyyyyyyyyxyyyxxzxyyyzyyyyxyyyyyyyzyzyzyyyxzyywyzyyxyxzyyzyzyxxyzyyxzyyyxxwwyxxyxyzzyzzxyxyywxyyyyyzxyyxxyyxxxyxyyyzyyyxyyxwxxyxzxyzyzzzyxyxxywxyyxyyyzyyyxyxxxxxyyxyzyyxyyyyxxyyzzyzyyyyyxyxzyzzzyzzz{xxyyxyzyzyzyyz{yyyxyyzxyzzzzyyz{zxyzyxyxyzzyzzyzyzyxywwyyy{zyzzzyyyyyxzzzzzyzyyyzyyzyxyyzzzzz{zzzzyyxyzzyzzzzzyzyyyyzyzyzyzzzzyzyyyyyyyyzzzzyy{{yyzyzzzyzzzyzz{{zxyyzzyzy{zzzzzyzyyzyyyz{yzzz{zyzzyyzzzzyzyzz{{|yzyzzyyzzyyzzzzzzyzyxyyyyzy{yzyzzxxyyyyxyzzz{{zyyyyyxyyyyyzyyFy5 b z{|{{{{||}||||||{{|{|zz{{|{{||||{|||{zy|{|||{{||{{z{{{|{||{{{||{{{{z{{z}{|{{||}|{zz{zz{{{{{{{|{{{z{|{z{{{|{|||z{zzz{{{{{}z|{||{|{z{zzzz|z|{|{|z{z{{{zz{{||z|{{||{|zz{zz{{{|{{||{{{|zz{zz|||z||||z|{{z|{{|{{z|{|z{{z{{|{{|{|{{|{{{z{|y{{z|{z{|{|{z{{{z|{{{|{z{{|{|{zzz{{{{{|||}{{{{{{z{{z|||{||{{|{z{{{{|{||{||||{{{|z{{|||{|||||z|z{{{|||~|||}||||{z{z||||}|||}|{{{{{z{{|||}}|||{{|{|z||}|}|}||{||{{|{||||{|{|{||z{|z{{|||||||||{|{z{|{|}|{{|{}||{{{{|{|{|||{||{{|{|{{{{|{|||}|{|{z{{{||{{}|{||||z|{{{{{||||||{||z{{{zz{|{|{||}|||{z{}z||}|{{|||||}{z{{{||{}||||{z{|{{{|{{{|{}|||||{{|z|{|{|||{|{{{z{|{|{{||}|}{{{zz{{z|||{||{{||{{z{{{{}|||||{{{{{{{{z{z{||{{|{{{zzz{{{{}{{{{{|z{z{{z{{}|z||||{{z{z{{z{{{|{|{{{z{{{z{z{|{{z|{|{zz{zz{yz{|{{|||{{{{{zzz{|{|{|}}|{{{{{z|{{||{|{|{{|{{{z{|{{{z{|{{{|{{{{{{{{||}}|{{{z|z|{|||||{||{{{{{{{|z||{|{{||{{{{{{|||z|||{|z{||{{{{||}||||}|||{{{{{||{|{|||{z|{{|{{|||||||||{{{||}z{||{|~}}{{{{{|||{{|||}{}}{{||{{|{}}|}}|}{{{|{{|{|}||}}}|||{{{{{{|{||}|}|{|{{||{{{}|||||{{|{{{{{{{}{{|{||{|{{zz{{|{|{{||z|{{y{{zz{{{{||||{|{z{{|{|||||{|}|{{{{{{{{{{||{|||{{{{{{{|{z|{|}|{{{z{{{z{{|{{||{{{{zz{|z{{z{{|{|{||{{z{{{{{|||||{{zzz{zz{{{{{|{{{{{{{zzz{{{{|{||{zz{{{{{z{{{{{|{{{{zzyzz||z|z||||z{{zz{{{|{||z{{{z{z{z{zz{|{{{||z{|zzzzz{{{{z{|{|z{{{z{{{{{}{||{{{{{{{{{{|{{{|{{{{{z{{z|||{{||||{|{zzz{{||}{|{{||z{{|{{z{}{}|||{|z{z{zyz{{|{|{{{{{{{z|{z{|}|{|{|{{{{{{||{||}{{||z{y{|{|{{||{||{||{{|{|{{{|{|}|||{{|{{|{{{|||}{||{{|{{{{|{|{{}|||{{{{{{z{|}||}}|}}|{}z{{|||{|}|}||{{{{|{|||||{{||{|||{|{|{{||}}}}|{z|z|{|{{|||||}{{|{z{{|||{}{||{{{{{{z{z|||}{{||z|{{{{||{{|{{|||{{|z{|{{|{}{{}}}{{{{{z{{|{|{z|||{zz{z{{z|{{{{{||zz{|z|{z{z{|{{{|{||{z{{zy{{{{{z{{{zzzzz{{{}{|{z{{{zzzz{z{{z|{{{|{{z{z{zz{{z{{{|zzyyzy{z{z|{{{z{|{{{zzz{z{{{{{{}{{{{yy{zz{{{{z{{{z{zz{zzzz|{{{{|{{|z|{{{z{{|{{{{{z{z{{{{{{{{{|{|||z{zzz{z|{|{{{||{{{{z{zy{{|{|||{zz{y{{z|z|{|{{|{{{z{{{z{{||{{{}{z{{{|{|{|||{|{{||{{||{{{|||||{||{|zz|zz|{{||{||{{z{|{{{{{||{|{|||{z{{{{{{{||||}||{{{{|{{||{{||}|}z{{{{{|{}{{|||}|||{{{{{|{|||{|{|{{{z{{{{||}|||}|{{|{z||{|{|||||{{{|{{z{{}|}z{|{||z{{z{{{{z|{{{{{z|zzz|{z{{{{}{|||{{{z|{||}|||}|||||{{||||}{{|}||{{{{{{{{|{{{|}}{{{{{{z{||{|||||{{|z{{z{{{|||{z|{{|{{{|{{|{|{|}|{{z{{z{{{{{z||||{|{{{{{z{{z{{{{}{{{{z{{z{{|{{z|{}{{{zzz{z{{{}|{z{{{zz{{z{{z|{}||z{{{{z{{{{{{z{|{z||z{{{{z|{{|{{|{{{{|{{zz{{{|{||{|{{|{{z{{|{{||{{|{{{{{{{{||{{||{{{{{z{|||||}|{{{z{{{{|z{||{{|{||{z{|{{{|{||{|}|{{|||||||{||{{{{{{||z|{{{{|}|{}|{{{{|z{{}|{||||||z{{{{{{|{{||}|||{|{{|z{|||||}}|||{|{{{{|}|{|||}||||{{{||}}}|}~}}}}{{{{{|}|}{|{}{{{{||z|||||}|||||{||||{|||||{|{|}{|{{{z{{{}{{||}|||{z{{{|{|}|||{{{zz{{{{||{{}|}|}||}{{{|}}|{|||{{{||zz|{}{{|{~||{{{|{{{{||{}}}}{z{{{{{z{{||{||||{{{z{zz{|||||{|{z{{{{{zz||{{||{{{{z{z{z|||{||{|{zz{z{{zz{z{|{||{{z{zzzz||z{{{|{|{z|zz{{z|{{{|{z{zzzzz{z{{{|z{||{zzzz{{z{{{{{|{{|{{{{{zz{{zzz|{{{{z{{{{zz|{|{||}{zzz|{|{|||{{{||{{z{y{{|{{{{{}{|{z{z{z{{{||{{~|||{{{{z{|{|||}|||{{|{{z{{{||||{}{{z{{||z|{|{||||{|{||{{{{{|||{}{{{}{|{z|{||||{{|||{{{|{{z||||}}|||{|z{{|||}||{|}}||{|{z{||}}|}||||{||{{|||}}}~||}|||||{{||}|||}}|||{{{{{{||||||||||{|{|{{{|{|{}{|{|{{{}{{{||||||||{z|z{z{|||||z|{{{{{z|{{z}|||z||z|{{|{|{{|}|{}|||{|{||{|}|||}||}|{{{{{||}||||{||}z{{|{{{{{|{z||{|{||{{|z||{||{||{{z{{{y{||{{{||{{{{{zy{{{||{||{|{{zzz{{{|{z{{{||z{|{zz{{{|{z||||{z{{z{z{{{z{||||yz{z{{zzz{{||||{{z{{{{{{{|{z{{||{{yzzz{z{|z{{|||{{{z{{|z||{{|||||{z{z{|{||{{{|||{|{{{|||{|{{||{|{||{{{z{{|{|{{|{{zzz{zz{z|||||||{{{zzz{{{{||||||{{z|{{z|{{{|{{|}{{||}|{{{|}}||||{{}{|{|{|{{}|}|}||{z{{|{{||||||{|{{||||{||}{|||||||{{||||}}||~|||{{{||||||}|}||||{{|{{z{}|}{|||||{{{{{{{{||{||||{{{{||{{}|{|||||{{{|}|{{{|{|{|||{{{z|{}{|}}|{z{|{|zz{{|z|||{z}|||||{|||{|}||||||||{|{{{z|||{||}{}{||{||z|{{|||}}}|{{z{{z{|{{|z|{||{zzz{{|{|{||||{{|{{{{{{{|{|||{||{{}z{{|{||{{{{{{zzzz{z|{{{{|{|z{z{z{zz||{{z|||z{z{z{{{{{|{}|{{{|{z{z{z{|z{{{{|z{z{|zzz{{{{{{{{|{{{{{z{z{{|||{{{{{{z{zz|{||||||{z{{{{|{|{z|{{{||{{{zzz{{{{|{|{|z{{zz{{{|{||{|{}|z{{|z|{{{}{||{{z{{{|z|{|||{{|}{|{z{{z{{z||{{|||{{z{{{|{|{{||||}|{{{{|{{||{|{~|}|{{||{{{}|{|||||{{|{|{{{|||||{~||{||{{~{||{|||}|}{{{{{|{{||||{|~|||||{||}||}}|}}|z{{{||{|||||}}}|{{{||{{|{{}}|}|{{||{|z{{{||{|||{|{{|{{z{{||{|||z{{{{zzz{{{{{||~||{{{{{|z}}|{||}{zz{{{{||||||||}|z|{{|{{{|{{{|}||z{{|z{{{{||{{||{{|{z{{{|||{||||z|z|{{{{{{|{z|{||z{zz|{z{{|{{|{{|{{z{z|{{{{{|{z|{{|zz{{{{{{{{{|{{{yzz{zzz{|{{{z|{{{{zz{z{{|{||}{zzz{{z|{{{{z|{{{{{z{zz{{z|||{|{|{z|{z{z{{{{{{||{z{{{{{z{{{||{{{|{|z{{z{|{{|{|{{{zz||zzz{|{{{||||{{{{{zz{{||{{||{zz{{z{{{{{||{{|{{zz{{{z{|}|{|{{||{{z{{{{|||||||}{{{{||{{{||{|||||{{|{{z{{||{|||{{{{{{z{{{}}{}||}{||{|||||{{|{}|{|{{|{{|{{||{|}}||{{|{{|||}{|||{|{|{{{|{{{}|{|||}|{{{{{{|||{{}|}|{{{{{z{{{{{|{|}|{|{{|{|z{||||{|{z{|{{z{{|{{{{|}|{|{{{|{{|{{|{|}||{{{|{{{|{||||||||zzz{{{}|{|||{|{{{z{z{|{||{{||||||{{{{z{{||||z{{{zz{zz{{}z|{{{|{{{{zz{{{{||{||{z{{zz{{{{{|||{|{{zzz{{zz|{{{{{|{{{{zz{zzzz|{{{|{zz{zzzzz{{{{{{z|{{yzz{{{|{{z{{{{{{zz{|{z{||{{{{|{z{{{{z{|z|{|{}|z{{{{z{z{{|{{{{{{z{z{zz{|{{}{{|{{{z{zz{zz{||{|{||{z{{{|z{{{|z|||{{{{{z{{|{|{{|}{{{{{{{|{{|{{z||{|{|{z{|z|{|{{|||{||z{{|{|{{|{|||z{{|{z|z{}{}||{{||{||{{z||||{}{}|{|{{|{{||{|}||||{|{|{{{{}|||||||{{|z{|||||||{|||z{{{{|z||}|{{}||{{{||{||{{|{{||{{{{|{{{|{{|}||||z{{{{zz||{}{{|{|||zzz{zz{|{|||{{{{|{~|{{}|}|||}|{{||z{z{|{}||||{||{{|{{||{{|{||{z{{{z{|{{|||||{|{{zz{{z{|{|{|{}{|{{z{{{|{|z{||{|z{{zyz|{|||{{|{zz{{{{z{{{z{z|||zz{{{zzz{{{{{||{{z{zzz{z{{{{{{|z{{{{{|{z{{|{|{{|zzzzzz{z{{{{|{||}{{z{z{{{{z|{||{zz|{{zzz|{{|{{|{{{{z{{z|||||||||{|{{z{{{|{|{{{{{{{|{{{zz{|||{{||{{{z{{{||||{||{{{{{{z|{{{{|{|||||{|{{{{{{||{|{{|{{{z{z{z|z|}||||{{{{{||{||||||||{|{{{{{{{|{{{|}{|{|||{|{}||{{|}|{|{{z{{{||{{|||}|{{{|{z||}|||}}||{||z{|{}}}|}{|||{{{{{{z|{|}||{}{|{|{{{||{}{{|}||{{{{{{|{{|{|}{{{z{{{|{{{||{}|}z{{z{z{{{{|z{}|}||{|{||||}|}||}|||{{{|{|||}|||||}|{{{{{z{|{|}||{||zzz{{{{||||}||{{|{{{{zz|||{}||{{{zzz{{{||{|{|{{|{{{z{yz|||||{||z{z{|z{{{|{{||}{|zzzz{{{{z||{|{{z{{z{{z{{z{|{{{{z|zy{{{z{{{{||{{zz|zz{{z{{{{{|}z{z{{{{z|{{{{|z{{||{{{{z{{z{{z{||{{z{{zy|{{{{}{|{{{|{{{{{{||{|||{z|{{{{{{|{|{|||{{|||{{z{{|||{||{{|{{{|{{||||||{{{{|{{{{{||{{||{{{{z|{|||||~|}||{{|{{z{{||{|}{||{{{|{{z{{||||{{|{{{{{z{{|||{||||||{z||||{{||||||{{|{|{{|{|||}||||z{|{z{{|}|||}{||{{||{|{|{|{|}||||{{|}|{|{|}|}|}{{{{|{{{{||||{|}{{|{{{{z|||||||z|{{|{{{z|{z{|||}|{||{}{z|||||||}{|{z{{||||}{||}|{{{{z{zz||{|}||{|{{{|{z{{||{|||{{|{zz{zz{||||||}zz{{z{z{||{{{{{{{{{z{z{z{||{{{|{z|{zz{z{{{|{||{{{zz{{z{z{{||{{{{|{|{zzzz{z||}|}|{{{{z{zz{{{|z{{|{{z{yy{z{{{{|{|zz{|{|zz{|{z{{{{{{{{{{{{{z{{{{{}{zz{zzz||{|{{{|{|{z{{{zzz||{{{{|}{{{{z{{{{|{{{}|{{z{{|{{{|{z{{|{|z{{z{{{|{||{{{}{|{{{{z|{{{|{{{||{z{{|||{|{|}{{||{{|{{|{||||||||}{{{{{{z{||||{|{{{{{z{{|{|{|{|||||{|{{{{|||}{||~|}{z{{|{|{|}||}}{|{{|{{{{|{|||}|}|{{{||z|||}{}||{|z{{|{{{|||{|||||{{{{{zz|||{{|}{{{{{{|{z{|{{{||{z|{{{{zy{{{{{|}}|||{|{{{{|||{|||{|{{|{|z{||||||}|||z{{{z|{{|||||||{|z{{|{|{|{|{{||zy{{{{{||{{|{{{{zz{{{zz{{{{|{{{z{{zz{y{{{z|{|{z{z{z{z{{z{{{|{{z{zzzzzzzz|{{||{|z{zzzzz{{{||z{|zzzzzz{z{|{{{{||z{z{{zzz{{|{{|z{{zz{z{z{{{{|{{|{{z{{z{{{||{{{{}{{{{z{z{|{{{|{{||{|{{zz{{{{z{|{{|{|zz{{z{{{{||{|{{z{z{z{z{|{{{|{{{|{z{{{{{|{{{||{|z{{{{{{||{|||||{{|{{|{{||||{}|}|{|{z{{{{||||}}|||{{{{}z|||||{||{{|{{{{z{}|{|||||{{{z{|{|{{|||}}}|||{{||{|}|{|}||z{{{{z{|{|||||||{|{|{{{||}{|{|}{{{|{{{{||||||||z{{{{{||{{|{||||{{{{{{|{||||{{||{{{{z{z{{y|{|||}{|{{{{{{||}|{|}}{z{{{{{z{{|}|||}{|{z{||z{|{{{|||z{z{{y{zz|{|{||}{{{zz|z{{{|||}||{{{{z|{{z|||{{|y|{|z{z{z{||{{{|{{z{zz{zz{{z{y{{{zzzyzzzz|{|{|{|{{{{z{{zzz{|{{|{{{{{{zzz{z{|{{{|{{{zzz{zzz{{{z{z{{z{z{z{zz|{{{|{||z{|{z{{z||{|{{{{{{z{{{z||{{{{||z{zz{{|z{||{{|{|{z{{|zz{{|{{|{|||{{{z{{zz{|{{{{|{{|{{z{{{{{z{{|{z{{zzz{{{{{{{}{z{{z{{||z|{||||{|{{{{{{zy{|||{|}|{z{{{z{z}|||||{||{{{{{{{|||}|||}{{{{{{||{{{||{||{{|{|{{{|||||||||{|{{{{|{|{{{}{}|{{{{|{{||{|{{}|{{|{|{{||}||||}|{{{{z|{{{{{{{||{{{{|z{|{|{|{|{{|{{zz{{zz|{{{{}}}|||{||{||}{||||}~{z||z|{|||{}|}|||{z|||{{{|{|||{{{{{{{zzz{||{}|}{{|z{{zy|{{z{|||{{|zzzzz{|{|{z}{{{{{{zz{|z|{{{z{{{{{y{{{{{|{{|{|zzz{{{{zz{z{|{|{|zzz{zz{{{|z|{{{z{{{z{z|z{|{|z{{zzzz|{{{{{{{|||{{{{z{{zzz{{|{}{{{{{{{{zzz{{{{|}{{{z{{z|{|{|{{{}||{{{{z{z{||{{|||{{{{|{{{{}||{||{{{{{{z{|{||{||||{{{{{{{{|{{|{{||{{{{|z{{{||z{{|{|z{{{{{{|{||||}|{{{{{{|{{||||||}{|{{{z{{|}|z|{|||zzz{z{{|{{||~}|{{||{}||||||||}{|{{{|{{|{||||||||{{||z{|{}|}{|||}|z{|{{{|||||{}||{|{||{||}|||}}}z{{{{{{{{{|~||{||{{||y{||{||z{||{{z{zz{z{{{{{}}~}{}|}{||}}||}|}||{}||{{z||||||}}||{z||{{|{|}}||||z{{|{{{|{}{|{|{{{{{|z{|{||}||{{|z{{|z{z{|||{|{{|{{||z{z{{{{||{{{{|z{{{{{{{||{{||{{{zzz{||{z|{|zzz{z|{z{|{{|||||z{|{zz{{{||{{|||z{{z|{{{||{{{{|}{{{{z{{z{{{z{|{|z{z{z{{z{{{{z{||{|{{|z{{{||||{|||{||{{|{z}{{||{{{{{z{{|z{|{{|{}|z{{|{{|z||{||}{|{||{{z{{{{|{{z|{{|||z{{|||||||||{{{{{{{{||{{{||}|{{{|z|{|||}{|||{{{{{{{z|||||}{||{|{{||||}|{|||||||{{||||}|}|||||{{|||z{|}||}}}||{}||{{{|||{|||||{{{{z|{|{||}|}}||{{|{{z|{{|{|||||{{{{{{{||||}{||{{{{{{{{||{|{||{||{{{{{{|{||}|}||}||{|}|}}|||}}||{{{|{|||||||||{||{{{|{|{||||||{{{||{|{|{||{{|{{{{{z|{{{{|||{||{z{{{{{{z{{||}|{||{z{{{{{{{|z|}||{{{{{{{z|{||{||{{zz{{zz{|{z|{||{{yzz{{z{{|{{||{{z{zz{z{|{{{{|||z{{{{{{{zz{{{{{{{{{zzz{{{{z{|{|||zz{{{zz{{z||{||{{{{{{{{{{{{||||{z|zzzz{{{{{{|||z{{{{z|{|{{{||||{{{{{z{{{||{}}||{{{z{{|{|||{{{|{|zz{{{{{|{|{{||{{{{|{{{{{{}}|}|}{{|z{|z{|||{|{|||{z{z|z{|||||{|||{{z|{{{|||{||}||{|{{{||||||||||{||{|}{|{}|}{}|}}|z|{{{{|{|||||||z{{|zz|||{|||}||{{|||{{}||||||||{{{{{{{{|}|||}{||{{{{{{{||}{|{|{{{{{{zz|{||{}}~}|||}{}{}}~|}||}{|{{{{{||{{|||||||{|{|{{{{||||||z{|||z{{||||{|{|z{{z{z{z{||{{{||{{|{{|{|{{|{{|||}z{{zzzz{{||{{|{z|{{{|{z{{{{{|z|zz{zzz{{{{{{{{{|{{{zz{{|{{{{{{{{{{|zz{zz{{|{{{{{{{{{zyz{{{|{{||{|{{yzz{{{z|{{{||{{{{{{z{{{|z{|{|{{{{{{|{|||{{}|}|{z{{{{{{|{{||{|{{{z{{{{z{|{{||{{z{z|{zz{{||{||{{{{|zzz{|{{||{|{|{z{{{|{{||||||||{{{{z{|||||||||{{{z{{|{{|{}|{|||{{|{z{{|||||||}{{{{{{{{||}{{|}z{{{|z{|{{||||}|||{|||z{|{}||{}|||{{||{{{|}{||}|||z{{{{z||||||||||||{z{|{||{{|}||{|{{{|{z}|{{{|||{{z{z{{{{{{|{||{{|{{{z{z{{|{{|}}}|}}{||||||}|}|||{{||||||}{||}|~{|{|{{{{||||}}|z|}z{{{{|{|}z||||z|zzyz{{{}{|||||{z{{{{zz|{{{|||{|{{{{z{{z{{z|{{{{z{z{{{|{{{{{{||{{z{zzyz{{{|{|{zzz{z{zz{{{|{|{|{{|{{{{yz{|||{{{{zzz|{{z|{{|{{{{{{z{|zzzz{{|z||{{{{{{|{z{{|{{|||{zzz{{{{{|{||{|{{z{z{z|{||{{|{{{{{|{z{{{z||{|||{||{|{z{{{||||{{|{{zz|{{z{||{{z|{{{{{|{|{|{|{||{||{||z{{{{||{||||{|z{{z{||{{|{}||{{{{{z{{|{|||{|||{{||{{||}|||}|{|{|{{|{{||||{|}}{||{{|||{|}|||}}|{{|{|{{||{{|{|{|z|{{{|||||||||}|{{{|{{{||z|{|||||{{{{{||||}{{||{|{|{{z{{{|{z{|{|zzzyyz{|{{{{}~}}||||||||}||||}|}||{|{{||{{|||{||{{{{|{{|{|{|||}||{y|z{{{{{{{||{|{{zz{zz{{{|{|||{{{z|{||{||{{||{|{{{{{{z||}{{{{|z{z{{{{{{|{|z{{{z{{{zzzzz{||{{|{{z{{{zzz{{{{|{{|{{}{yz{{z{{||||||{z|{zz{{z|z{|{z||{{zzzz{{{{z|{{{{|z{{{{z{{z||{||{z{{z{z{|{|z{|{{z{z{z{z|z{{{|{|z{|{{{{{|||{{{|||z{|{zzz{}{{||{}{{zzz{{|{|||{|{{z{z{|{z{{}||{||{{{{{z{{||{{|||{}{{|{{{{{|{{{{|||{y{{{|z{{|{{|||||{|{{{{|{{{}|{{|{{{{{}|{{|||}||||||{|{||{}|{{}|{|{|||{{{||z|||{||z|{|{{{||{||{}{||{{|{{{{{|{{||||{{zzz{|z|{|{{|}||z{{z{{{|||{||{{y{{z|{z|{{|{}}}}|{}|{}||}}~|}}|||||{{||{|||||}|{|{{{{|||{||}}|||{{{z{{z||{|{{|}{{{{z{zz|{|{{|}{{z{zzz{{{{{{|{|{{{{{z{{{|{{{{{{{zz{zz{zz{{||{{{{z{zz{{zy{{{{{{|{zzyy{{{z{{|{{{|{zz{z{zz{||||||||{{{{|z{zz{{z|z{{{{{zzzzz{{{{{|{{zz{z{z{z{{{|||{{{z{z{zz{|{z{{{{|z{|z{{{{|{{zz||{{{{{{{{{|||{|{{}|{{{{{z|z||{{|||z{{{z{zz{|{||||{{{{{{zz|{||z{{}|{{{z{{||{{|{|{||{{{{z{{{{{{{|||{z{{||{z|{}{|{||{|{{{|{|{|}{|||}{}{{{{|{{|{}|{|}~{|{{{|z|{}{}|}||{{{|{{{||}{}|{||z{{{|{{||||||||}|{{||{{{z{||{|{||{z{{{{{{|||{{|||{{{{|{z|||{|||{{{{{z{zz{z|{|}}~~~}}||}||}~}|}}|{{|}||{||{}}|}||}|{{{{{z|{|{||||{y||{{z{{{{}{{|{|{||zz{z{|{{|{||{z|{{{zz{{{|z|{{{z{{{{z{{{|z{{{|z{z{{z{z{{{{{{|{zzzyzz{{{{{z||{{zz{zy{{{}z{|{z{{z{{{zzz{{{{{{{|{z{{{{z{z{z{{{{{{y{{zzzzz{{{z{|{|{z{{{z{z{|{{{||{|z|{zz{z{||{{{||{|{{z{|z{{z{{|||{z{y{zzz{|{|{||{{{z{{z{{{|{{z}{{|zz{zzz{|||{|{|||{z{|{{{{{|{||{z|{{z{z{|z{{|{{||{{{z|{|{{{|}|{||{|{{z{{z||{}|}}|{z{|{{{{|}}{|||{{{{{|||{{|||{||||{{|{{{||}|}}}|||{|{{{z{||||{{{|{{{{|{{{{{|}||||||z{{|{||||||}||{z|{{{{{z||{||}}|{{{{{z||{{{{z{|zz{{{zz|{{|{|}}|}|||}|||}}|||{}||||{{{|||}|{|||||{|{{|{|{z{z|{|||{{{{|z{{||{{|||{{|zz{|{|||{||{|{{{zzz{z{{{{{{{{{z{yz|{{{{|z{|{|z{{z{{zzz|{{{{{zzzyz{z{z{yz{{{{{{{{zz{zzz{|{||{|{z|{{{{{|{z|z{||{z{zzzzz{|zy{|{z{z{{{z{zz{z{{{|{{z{y{z{z{|{{{{||||{z{z{|{{}{|{|||{{|zz{{|{|{{{||z{{z{zzz{{}|{|{|{{{{{{|{{|||}||{{{{{|{{z{{|||{{{{{{z{{z{|{|{{||{|{{{{{zz||||}|}|{||{{z|||{{|||{|{{{{{z{z{|{{||}||{{{{|{{{|{{|||{{{|{{|{{{||||{{|}|{{|{|{{}||{|{{{z{{{|{{||||{{}||{{{{{|||{|{{}}|}{z|||{|{{{|||||{{|{{z{|{|{|{{||{{{z{z{{{|||||}|z{{z{{z{z{|{{}}}|{|}|}|}}~}{}}}}{||{{|z|{|}}|}}}z|{||{{|||{|}|||z|{{{{{{{||{||{z{{z{|{z|}{|||{|{|z{z{{z{|{{{|{{|z{{|z{{|{|{{{{{{z{{{{y{{{{{|{||{zz{{zz{{{|{{{{z{{|zzzzz{z{{|{{{|{{{zz{{z{{|||}|zzzz{{zzz{{{{|{{{{|zz{{z{{{{{||{|z|{z{z{{|{{||}|z{z{zz|{|{||{{}{{{{{zz|{{||{||{|{{zz{{{||||{y||||{||{{{{{||{||}{{{{{}z|{{||{{{||{{{|{zz{|||{|||||{z{{{|{{||||}||{{{{{{||||||{||}|{|{|z|{{|{{}{|||z|||z{{{{}{{|}|{zz{{||{||{|||{|}|{{||z{{~{|{}|}{|||z{|{{|{|||}{|{{{|{|||{{|||}}|||{||{{}||}|||||z{{{{{{z{{|{||{{{{{{|{{|{||{||||{z{{z{{{{|{{~}~~|}}~}}}}~~}~}}}}|}|{{||{|}|||||||{||{}||||{}|}||{|{{|{|||{|{||}|{|{|{{z||{|{||||||{{|{zz{{{||||{z{|{{z{|||z|||{{z|{z|z{{{{|{||{z{{{{y{{||{{{|{{{{{{{{{z||||{{|z{{z{z{{z{|{{{{{|{z|zzz{z{{{z{{|||{|{{z{zzz{{{}||{{|{|{yz|||{||{|{{{{{{z||{{{{{}|{{{{{z{z||{}{||||{{{{z{{{|||{||{{|{{{{{z|{||||{{{{||{{{{||||{|||{{{|{{{|{|{||{|{{|{{{|{{||{|{}}}z|z{{}}{|}{}}|}|{|||{{z{{||||||}|{|{{||||||}}|||||{{||||{}}||}|}}||z{{{{{}{|}{|}{z|||z|z|||||||{}{z|{|{{{|{|||}|{{||||{}||}||}{|{{{z{z{|{{{|{{|||{{{{{|{||{|{{||{{{z|{z{z||{|}~}}~}}}|||~}}}}}}~||{{{||{|}}{|}|||{{||{|||{{||{||{||z{{z||||||{|}||z|{{{||||{{|{|z{{{{{zz|{{{|{{{z|{{{{z|{||||{{{zzz{{z{{{{{z|||zzz{{zz{||{|{||{{z{zz{{{{{|{{{{|z{{{z{{zz|{{{||{{{{{{{zz{{{{z|{{|z|{{{zz{{{{{{{|{{{|{{|z{|{|{|||{{{{{z{{|||{|||}{z{{zz{{|||{{{}|z{{{{{{{|||{{{|{{{zz{z{{{z|||{|{{|{{|{{z|||||}|{{{{z{{{z{|{{{|{|||{z{{{{{{||||}|z||{{{}{||{||}{|{|{{||z{}||{||||{z|z{{|{|||}}|}|{|{{{{{{||{|{}||}{|{{{||{||}|}}}}||{{z{|||}||}|{|{||{|{|{}||||}}{||||||{|||||}||{||{|{{{{|{||{||{{{z{||{|{{|||{|{{{z{{zz{{|{{~~~}~}~}||||~|}}|}}|||||{{||||}||}}|{|{{|{{|||{|{||||{z|{{{{{||{|{|{{y{z{{y{{{|||||{{z|{{yz{{|z{{|||{{{z{zz|{|{|{{{{z|z{z{z{{|||{z{{{{z{{z{{{z{{||zz{{{z{{{{|{{|{||z{{z{zzz{{||{|{|{zz{{{{z{{{{{|{{{z|{{|zz{{{{{|{|zz{||{{z{{z|{{||{z{zz{{{{{{{{{{|{z{{zzz{|||{{|||zz{{{zz{{{{||{|||{|{{z{z{||||||{{{{z{|{{|{||{{}{|{|{z{z{{|{|||||{{{{{{{|{{|{|||}z{{{{{|{{{|||||}{{{{zz{{||{{|{{{|{{{|{{|||||{||}|{|{{||{{||||||||{{{{{{{{}}}{||||{{}z|{|||{}}|{|||{{{||||{{|||}|}|{|{{{|{|{}}|{|{|{z{|{z{|{{||}}{z{|{{{z{|||||||{{{{z{{z|{{{|~~}}}~~}||}}}|}}||}{|||{{|}|||||}|}{{|{}y|}|{{|||{{{{|z{{|{{|{||||z{{z|{z||{|{{{}|{{z{{|{z|{{{{{|{{{{z{{|{|{{{||{{{{z{zz{z{zz{|{{zz{zzz{z|{|{|{|{z{{yz{yz|||{{{|}{{{{zz{{|{{{{{||z{z{{z{y{{{{{|{|{{z{{z{z{{zz{{{|{{{z|{{{{{||{{{||{{{{zz{{|{{{|{{{{{{{z{{{{{{||||zz{{z{z{|{|{||{||{{|{zzz|{|{||{}{z{{{|{{{|{{{{||{{{{{z{{{|z{{|||{{{{{||{|||||}{|{{z{|||{||||||{}{z{{{{zz|{|{}{|||zz{{{{{|~{{||||{z|{||||{|||}|{|}{{{|{|{{}|||}{}{||{{{{|{||}|||}|{{{{{|{{{||{}}~{|{||||}{}|}||{}{z{z{z|{{}|{{|{|||zz{{|{|{{{{{|{|{{z{{{{{|||{~~}~}}|~|}}~}}}}||}||||{||{|{||}}|{|{{{{|||}|||{||{|z{{{{{{}{|{||{{|yz{z{||{|{|{|{{{zz{{{z{{{{||{{z{{{zzz{{|{z{|{z{{zz{z|{{z|z{{|{{zzzzz{{{{{{{|z{{z{z{z{z{{{{{{{z||{{zzz{{{|z|{{{{yzzz{zz{{{{{|}{zzz|{z{{|||||||{zzz{z{{|z{|{|||{z{{{z{||{{{{{||z{{|{{{z{|z{{{|||{{{z{{{{{{}}{{|{|{zz{{{{z{}|}||zz{zz{{{{|{{||||{{zz{{{{{{|{z|{{||{z{{|{{||||||{{{{{{||{{|{|{}|}|{{{}{{z{|{|}|||}{|{{{|{|||{{||||{{|{|{{{{{{}|||||||{|{{|}||||{||{{{|{{{}|||||||}{{{|}{{|{|{||||{{{{{{{z{|}|||||{|{|{{{{{||||||}{{{{z{{{{||||{|{|{{|{{z{|||{{}~~}~}}}}|}}~~~}}}}|{||{{|||||}}}|}{{||{||{{||{{{||{z{{z{{z{|{{{||{z{{|{|zz{{z{||{{{z{z{z{{{{{z{{|{zzzzz{{{|||{z{{{{{z{zz{{z{z{|{{|z{{z{{zzz{{|{{||{zzzy{zz{{{{{{{{|z|zyzz{{{{{z{{{{{zz|zzz{{{z|z{{{z{zyzzyz|z{{{{{zz{{{{zz{{{||{||{z{z|zzz{{|{{{||{zz{{zz|{{|{{{||z{{{{z{{|{{{|{{|zzzzz{{{{{|{||||{z{zzzz{{{|z{{||zz{z{{z{|||{|{{||z{{{zzz{}{}{|{|z|{{{z{{{{|{{||{|z{{|z{{{{{{{{{||z{{|{{{{||{{}{||{{{{{||{{||||{|{z{{{|{{z||{{||||{||{{z{}||}||||{{{{{{{{|{{|{|{||{{z{{{{{{|{|||}||{z{{{{||{|||}|{{z{|z{{|{|{{|}{{z{{|{{{z||{{}~}~}|~~|~|}}~|}}}|}{}{|||}}|||||}|{{{{{|{||{||||{{{|z{zz{|||{{||{|{{z{{{z||||{||{{{yzyzzz{|zz{{{{{{|{zzy{z{{z{{{z{z{zzzz{z{{|{||{z{z{{zz{{|{|{z{{{y{{zyzz{z{|{{{{{z|yyzzz{{{{{{{{{{zzzz{yz{{z{|{{{{zz{{zy{{zz{{{zy{{zz{{z{{z|{|||{{zzzz{{{{||z|||{z{{{{zz{{{|z||{{|{{z{zz{|{{{{|}{{{zzz|z||{{{{{|{|{{{{{z|}|z{|{z|{{{{{zz|{{{{||||{{{{zz{||}||{{{z{{{{{{{|{|||}{{{z{z{{{{{|||{{|{{|{{{{zz{||{{|||{{{{{{{{{|}||||||{{{|z{z{||||}||{{{||z|z|{|||||{{{z{{|{{{|{||||||{z{|{{{{|z|{{||{zz{{zz{|{{{||||{{{{z|{zz|}|{||{{{{zzzzzz{{|{~}~}|}|}~}|}|}}}}||{|{||{|}{|}}}||||{{{|||||}|||{{{{zz{|{}{||{|||{|{{z{{||{{||{{{{{{{z{{zz{{{|{{|z{{{yy{{z{{{|{|{zzzzyz{z{{{{||{{{{z|{{z{{|zz{{{z{{zzzz{{z|zz{{{z{|{zz{z{|{{{{{|{|{{zyz{zzz{z{{|{z{{zzzz{{{{z{{{z{{{{|{{{{|{{{{|{{{{{zzzz{{|{|z|z{{z{z{z{{{{}|{{{z{zzyzz{{|{|||{z{{{z{{{z{{{{|{|{{{{|{z{||{|||{{{{{{{z{z{|{{{{{{z{{{{{z{{{{|{|{{{|{z{{|{|{|||}|}|||{{{yz{||||{|{|{{{{{{{||||||{|{z{{{||{{}|{|{|||z|z{{{|{||||{|{|z||{{z{{|}||}|||{{{{z{z|||||{}||z{{{{{{z||{|{{}||z{{{{{{|}z||}{|{|{z{{z|}||{{|{|{{{{y{z|{{|{~~}}~}~~}}}~~}}||{}{}|}|}}|}|||||z|{{|||{||||{z{{z{z{{{||{}|||{}z{|{{|{{{||{||{{{z{|zz{|{|||{{{|zz{zz{|{zz|{|{zz{{{zz{{z{z{z|yz{z{zz{{{{|{{{{{{{{zzz{{z{||||{z{{z{{{{{{|{||||{z{zz{z{{{{{|{{|{z{{{{z{z{{{||z||z{{{{zzz{||{|{||{|{{zz|{{|{{||{zz{z{zz{{{|{||||{{z{z{z{{|||||}|{z|{{z{z{{||{||{{{{{|{{{|||{|{|{|{z|{{z{{|{{|{{|{{{z{z{{{{{||||{{z{{{{{{{{||}|{}{{{{{{{z{||||||||{{{{{|{|}{|||}||||{{|{{||{{}}{||}{{{|||{||{{|}|||||{|{{{|||{|||{{{{||{|{||{||||{{||}{{|{{}||{||{|{z{z|{{||||{||||{{y{{{z|||{||z|z{{{{|{{{{{{~~~}}}||~~~}~~}}}|}|}|||}|}|}|}}{{||{{|{{||}||{{{{|{{{||{{||||{|{{{|{{|{|{{{|}{{{{z{{z{}|||{||zz|z|{{z{{||{|{|zz{{{{{{zz|{|}{|z{{zzyz{{{{{|{{{{{z{{{z{{z{{}{|{|{{{z{z{{{|{{{||{z{|zzz{{{{|{||{{z|{{{{zz|{z|}{{{{}{{{{{{{||{|||{z{z{{{{{||{{{{|{{{{|z{{{{{{||||{{{z{zz|||||{{}{z{{{{{{z{{|}|}||{{zz|{z{{||{|{||{z{|{z{{{{|{||{{|z|{{{{||||||||{z|{|{{|{{|||||{}{{{{{}{{{}|}|||||{{{|{{{|{|{|{|||{{{|}{||||{|{||}{{|{{|{{}}}|{||{{|||{|{{|}||}{||{|{{|{{{||{}||}|{{{|{{{}|}|||}}{{{{{|{||||||{||{{{{{{{z|}z{||||{{|{{|{z{|||{~~}~|}~}~}}~}}}|||}|}|}}||}||}|{z{{|{{{||{|||}|{|{{zzy||||{{||{z|{{z{z||{{|||z{{{z{{z{{}{|{{{|{z|{{{{{||{{{{{|{{{z{|{z{{||zz{|{zz{{{{{{{{{{{|{{{{{{{zz{{{{{{||{z{{zz{{{{||{{|{{z{{z{{zz{{z{{{|{|{z{z{{z{{{{|{{{{{zz|z{{{{{{||||z{{{z{|{{|{||}|{{{{{y{{|{{{|{||{{{{z{{z{{{|{{{{|z|{{{||{{||{|{|{{|{{zz{{||{{|}|||{{{{z{}|{{{||||{{{{z{{|||}{|||z{z{|z|{|{{|}}}|||{{{|{{{|{|||{{||z{{{|z||{|||}|{|{{z||{||}|{}}||{{{{{{{{|||}|}||{||{|{{||{{{|||}|{|||||{|||}||}|{||{|{{{||{|||}||{{{{{{||{|{||}{{z{{||||||}{||{|{{z{z{z|{|{|~}}}~}~~~~}|}|||||||||}}}}~{|{z|{||{|||}|}|{|{{|{{{|{||{||||{z{z{zz|{|{{||{{|{zzy{y||{{z|||{{zzzzz{|{||||z|{{{zzzzz|{z{{|{z{zz{zz{{{{{{{||{zzzz{{z{{z{{||{|{{{{z{zzz||{|{{{{z{{{zzz{{{z{{z|{y{{{z{z{||{z|{{{{{z{{{z{{{{|||{|z{z}{{z{{{{{|z{{{{zz{{{{|{|{{||z|{|zz{|{{|z||}|{z{{|{{{{{|{|{{{{{z{{{{{{{{{|{|}{z{{{{{{{|{|{{|{zzz{{z||||||{||zz{{||{|z{|{{|||||||{{zzz}||||||{{{{{|{{z||}||||}{{{{{{{z|{|{|||{{{{{{{{|{}|||}||||{{{{{|||||||||{{{{{{{z{{{||{}|{zz{|{|}|{|}|||{||{{{|{{{||{{|||||{z{{{z{}{{{|||{{{z{{{{||{{{~~}}~~}}}~~~~~}|||||||~|}}}}||||}{|{zz||||||}}|||{{{z{{|}|{{||{{zyyzzz|{|{||||zy{z{{{z{z{|{{|{z{{{z{yzz{|z{{{|z{{zz{zz{{{{{{{|{{z{zzzzz{{zz{|{|{{z{{z{zz{|{|{{{zz{zzz{|{{z|{{{zz{z{zyzz|{z{{{{z{zz{{{z{{{|{|{||z{{{{{{z{|{{{z{{{yz{z{{{{{{{{|{|{{{{z{{{||{z{zzzzzz{{{{|{|{{{{{{z|{{z{z{{{{{|{{|z{|{zzz{{||{|{{|{{{z{{{{{{{z|{{z{|{zz{z{{|||{||{{{{{{{{{|{{|}|{{|{{z{{{|||{|{{||{{z{z{z||{{{}{{{|{{z{|{{|||{|{|{|{{z{z|{}}|}||}|{||z{{{|}|{|||}{{{|{{{{{{||||||||{{|{{{|||{{|{||{|zz{{z||{|||||||{|zz{{{|||z{{|{z{{{{{{{z{{{}~~}}}~~~}~~~}|~|}}|||}}}}}||||{{||{{{||{}|}||{{{{{{z{{{{{{|}{z|{{{{{{{{{{{{}{{{{|z{{{|{z{{{{z{{{{zz{z{|{{||{{{{zzzzz{{{{{{{{{zzz{z{{{|{{{z{|{z{zz{y{{{z{{{|{{{z{z{{{{z}|{z||{zz{{{{{{{{z{||{{zzyz{{{{|{|z}{|{z{{{{{{{{{{{||{{{zz|{{z{|{||||||||z{zz{{{{{{|||y{{{zz{z{|{{{{||{yz{z{{z||{|{{|{{{{{z{{{|{|z{||{{{z{{zz{|||{z{{{||zz{{|{{|{|||}{{{{{{{{{||||||||{{{{z{{{{{{|||{{|z{{{{{{}|||{|||{|{{|{{|{|{||{|||{{|{{|{|{||||{|{|{|{|{{||||||}|{{{{{{{|{|{||||}{||{{{||}{|{|||{|{zzz|{{{||{|{z|{{{{{{{z{|{{||{|z{z{{z{z{{{{{~}~~~}~}}}}}}|{|}||}}||{|{|{|{|z{|{|{|||{|{{}{{z{{|||||||{z{z{{|z|{{{{{{|z{{z{{{y{{zzz{{{z||{{zzzzz|{z|{{{z{{{{{z{{z{{||{z{{{{{z{z{|z{{{{{zzzzzz{|||{||||zzzyz{z{{{{||{{z{y{z{{zy{{{{{{|{{{{z{{z{{{{{z|{}{y{z{{zzz{{{|z|{z{{zzz{{z{{|{{||zz{{z{{{{||z||{{{{|{{{z{{z|{{|{||{{{{{{{{||||{||{{|{zzz{{|||{{|z{{z{{|{z{|{{{{{{{||zz{{{||{|||{{{|{{{||{{{{{{|||{z{|{{{z{|{|{}{|zzz{{{{{|||{|||||z{{{{|{|||||~|||{z|{{{|{||{|||||z|{{{{{{|||||||{{z|{{{|{||{|||}{{{{{|{{||{|}|{{|{{{{{|{|{{z||}|{{z{z{|z{||{{|{{{z{z{z{{{||{{~~~~~~~~}}||}|{||||}|}}|||||{|{|||||}|{}}||{{|z{{|||||{}|{{|z{{{{z||{z|z|{{{z{zzz{|{{z||{{{z{{zzz{{|{{{{{{{{z{{zz{{z|{||{yzzz{{z{{{{{{|{{{{{zzz{{{z{{|{|{z{{z{{zy{|||z||{z{{z|{{z{z{{{{|{|z{zz{{zz|{{{{{|z{{{zz{z|{{{|{||{{z{{z{{{{|z{||}zy{{zz{{{|{||{||zzzz{zzz{{|{z||{{|{{{z{{{{||{|{|{zz{z{{z|}||{{}||{{z{{|{|||{|{{||{{z{{{{{|{|{|||{{{|{{z{||{||{|||z{|{z{{|}}|{{|||z{{{|{{|||}{|}||{|{|{|{|{|{|}|{|{|||zz{{||}|}|||{{{{|{{|||||||{|{z{z{{||{||||}|{{|{{{{{|{{||}{|{{{{{z{{z{||{||{{{z{{{{y{|{|||}||{z{{{zzz{||{~~~}~~~}~}|}|}z}}}}{}~}|}{{|{|{{{|{||{{{|{{{{{||{{|{|{|{{|{{{zz{z{{{{{|{|{{|zz{zzz{{{{z{{zz{z{z{{{{|{z{{|{{{zz{z{z{{{z||{z{zz{zyzz{z{{||{{zz{zzy{{{|{z{|{{z|{z{zzz|z||z{{z{{z{zzyz{{{{z|{zz{z{z{{{{z{{|{{{z{z{{{z{{|||||{{{z{{zz{{|{{|{{|{{{{{{{{{{{{{{|{zz{z{yz{|{{{{|{{|{z{{{{{|{{{|{|||{{{{{{{{{|{{{||{{{{{{z{{{}{||{|{|{{{z{{{{{{}|||{{{{|z{|{{||{{}}{{{{{zz||{}}||||{zz{{zzz{}|||{|||{|{{{{{{|{|{|||{{|{{{{||}||||}{|||{{{{{||||||{||y{{{{{{{||{|{|{||{{{{{z{{{{{||{{{{{{{{{{}{|{{|||{{{{|{{z{|||||{{{|{zz{{{|{{{~}~}}~}}}|{}|}{}}~|}}|z|{}{{{||||{{}{|{{{{{|z|{{{{{||{{z{{{|{|{|{|||{{{z{{{|{{}{|{|{{|{{{z{{z|{{{|{{|{{{zzzz{{{z|{{||z|zz{z{zz{{z{||z{{|{y{z|{{|{}||||z{zz{z{{{z{{|}{z{z{zzzz{{{{{{{{{{zzzzzz{{{zz{||{z{{zzzz|{{|{{{|{{{|{z{z||{|{|{||z|{zz{{|{{|{{|{{{{{{{zz|||{{{|{z{{z{zzz{|{{{||}z{{||zz{||}||{{|{|{{zz{{|{{|{{|||{z{|z{z||{{}|{|{{{||{{{|{{|{{|}|{|{{{{{{}||||}|{{{{|{{{|||}||||||{{}{{|||||{|{||{{{{{|{{|||{}|||{{{{{|{||||}||||{z{{{{{{||||||}{{|{||{z{||||||||{|z{{z{|||{||}|{|{{{{{z{|{{|{|{|{{{{z{z{||{{~~~~~~}}||}}||}}}}}|}|}{|{{{|||{}|}}|{{{|{{{z|||}{{}|{{z{z|z{{{}||{{|{{|{{{z{|{{{|{{{z{{{{zy{|{{z|{|zz{z{{z|zz|{z{|{{{{z{z{{{{{{|{|zz{yzz{y{|||z{{{{{z{{y{z{z{{|{z|||z{{{{zy{{{{z{||{{{{|{{zz|{{|{{{{z{zz{{z{z{|{||||{{zz{{z{|{{||||{|{z{z|{{{{||{}|{z{{{{{{{||{{||{z||{{zzz{|||{{||{zzzz{{{{|{||||z|{{|{{{{{|||{||{{z|{{{z{{|||}{|{z{|zz{{{|||{||}||{{{{z{{{{|{{|||}{|{|{z{|||{{|||{{{{{|||{}{|||}||{|{{|{{{||}}}||||||{{||}||}||{|{{{{{{||{||||{|}}{|{z|{{{|||||{|{|{{{z{{{|{|{}|||{|{{{{{|||}{{|{{z{{{{{{{|{{|~~~~~~~~}}}|}}}||}|}}}}}|||{||{||||}||||||{z{{|{||{|{{|{{|{{{{z|{{{|{{|{{{{z{z{z{{|{{{{{{{zz{{z|||zz{z|z{zzzzz{{{z{{{|{zz{z{z{zz{{{{{|{{z{z{{zz{z{{|z|{|{{z{{{z||{{|||{z{zzz{{{|{{{z||{|{{yz{{zz{z{{{z|{{z{{{z{||||||||{{z{{{{{{{|{||{{{{{|{{{{{{||||{{{z{z{{z{zz{|||{||{{{{{{{{{||{}{{{{z{{z{{|}|{z|{|{{|{z{|z||{{{|||{{{{z|{{{|||{}|{z{{z{||{{{{||{|}{{{{{{z|{{}||{{{{z{||z{z}{||{|}}|{{z{{{{{|{||{|||{{|{|{{|}{|{|||||{{{{{{{|{|}}|||{{{||{{|||{|||||{{{|{|{{|{|{||}|{{{{z{{{{{{|{|||{{{z|z{{{||{|z{|z{z{y{{{||{{~~~~}|}}}}|}}|}}||}}|||{{{{{{{{|||}||{|{{{{{{{||z{}|||z{{z{y|||{{|||{y{{|{{z{zz{{||{{|zzy{{{{{||||{|{{{z{zz{z{z{{||{z{{{{zz{zz{|{{{{{zz{{zz{{|{{|{||{|zzz{zz{{|{{{|{|z{{zzzz{{z{{{}{z{zz{{{z|z{{{|z{{{z{z|zz{{{|{|||{{{{{{{z{||z{|||{|{{{{{y{|{z{|{}{z{{z{{{|}{{{{||{{{{{z{z||{{{|{{{{|{{{z{{{|{{||||z{{z{{y|{|{{{||{{|z{{{|||{{{|{|z||{|{{z||||z|||{z{{||{{|{|}|{|}|{{|{z{z{|}{||}{{{{{{{{||}{{|||||{|{{||{{||||||}||z{|{{{|{|{|||||z{||{{||}|{{|{||{{{|{{|}|||||{|{zzzzz{{{|{|{||{{{{{{{{{{|{{|{||{|{z{{z{{}|{{~}~~~}}||}{|||}|}|}}|}|{{{{{z|{|{|}|{{|{{z{{z{||||{|||{|{{{{{|z{{{|||{{{z{z{z{|{|{|{|{|zzz{{z|{|{z{{zzzzzz{z{z{z{{{z|{zz{{zzz{{{{|{{{{zzz{zzz{|{{||z{z{{{{zz{{z{}{{|{|{{zz{zzzz|z{{|z|zz{{z{zz{{{{|z{zz{z||zz{z|{{{|{{{{z{||}{||{{{{|zz|{zz{{z{{||{|{{zz{{zz{{{|{{{|||{|{|z{{{|{{{|{|{{{{{z{z{{||{{{{{|z|{{{{{||{{|{{{{{{{z{z{{||{||||{|zz{{|{||{{||{||{{{z{z|||{||||z{z{{z{{|||{||||{||{{{{|{{|{||}|{{{{{|{||}|||{}{||{{{{{{|}{{|{|||{{|{{{{{|{||{||{zz{|{||||||{|||{{{z{{{{|{}|{|||{|{{|{{{{|}{{{{{{{{{{z{{{{{{{~~~}}}||||{||||}||~}}|{{|{{{{|||{{{||{z||{{{y|{|{{{{{|{z{{zzz{{||{|{}{||{{{{z{|{{{{{zzz{y{zz|||{{{{z{|zz{{{z|{zzz|{|{{{{z|{{z{{{{{{||zz{zz{z{||{z||{z{{{{yz{zz{{|{{|{zz{{{z{{z|{{|{{{{z{{{z{{{{y|{|{{{{{{|{zz{{{{{|{|{{z{|{z{{||{{||||{{z{zz{|z|{|{z}z{|z{{zz{{|{||{|{{{zzz{{{|||{||{z|{{z{{z{{||{|{{{{{{{{{{{||{{|||||{|{{{{||{|||{|{{|{{z{{{|{}|{||}{{{{{{z{{|||}||{{{||{{|}|||}|}||{{{{{{||{{|{|||}|{{{{{{{||}|||}|{{{{{|z|}|||{|{|{|{{|{{|{{{|||}{|zz{{{{||||{|||{|{{{{z{|{|}|||||{z{{{{{|||{{|{{z{{{z{{{|{{|{~~~}}|}||}{}|}|}|}}||{{z{{{z{{|}{{||{z{{{{z{{||||{|{}|{zy{{z{{||||{|z{{z{zzzz{{{{|{{z{y{{zz{|{|{{{{{{{zzz{z{|{{{{{{{{z{{{zz{{{{{{|{{{{zzz{z{z|{z||}{z{{{zz{z{{{||{|{{{zy{yzz{{{{z{{|{{{z{{zz{{zz{{||z{z{{zz{{}{|{{{{|{z{zz|{|{{{{|||{z{{{{{{||||{{|{{{|{{z{{{{{|{||{{|{{{{{{|{|{||||z{{z{{{{{{||||||{zy{{z|{||{{{|{|{z{{z{{{|{||||||{{z|z||{}{{|{|}}{{{{|{|z{||{|||}|z|{z{{{||||||||{{|{{||z|{|||{|{|{{|{{|{|}{|}||||z{{{{{{|||{|||{|{{{|{{{|{{|||||{{z{{z{{{|{|{||||{|{|{|{|{|z{{}|||{|{{{{{|z{{{{{{{|{{{z{{{|{{}~~~}|}}|{}|}|}||}{{|||{{{||{|{}}{}{|{{{{{{z{|||z|}||{{z{{{z||{{|{{||{{z{{{{z{{{z||{{{{z|{z{|{|z{|{|{{z{{{{{z{{{{{{|z{zz|{z{{{{{{|}{z{{zz{z{{|{z{{|{{{{zz{{{z{{zz|{|{z{{{{{y{{{z||||{{{{z{{zz{{{{|{|{zz{{|zzzz||{{{{{{{{|z{z{|{{{|{}{{{zzy{{||{{{{{}{|z{{z{z{|{z{{{|z{|{zz{z{z||{{{|{{{{{{{{{{|{{{{|{{|{{{z{{z|{||||{{z{||{{|||{||{|{{{{{{{{|{||{|}|{|||{{{{||{{|{||{{{|{{{{}|||{|}|{|{z{{|{|{||{{|}}z|{z{{|{}|}}|||{|{|{{{|{{||{|}||{{{{|{|{||||||||{|||{z{{|||{||}{{{{}{z{||{|||}|{{{{zz|{{|{|{||{z{|z{z{{|{|z{~~~}~~||}{|||}|}||}}{||{|||{{}{|}|||{{{{{|{|{{{|{{|||{{|zz{{{{{||{{||{{{{z{{{z||{{||||{z|{zyz{{{z{{||z{zz{{{zz{z{{{{{z{{zzz{{y{{{{|{{{z{z{zz{{|{{|{|{{{|{zzzz{{{{{z{{zz{{zy{z{{{{z|{{z{z{{{{{z|z{|{|{{zz{z{{{{z{{z{}{{{{z|{z{{{|{{{{{{{zz{zzz{{z{||{{{{{z{z{{{|{|{{}{|{|z{{{zz{{{{|{|{z{{{{{z|{{{{{||{{{{z{z{{|{z{|{z|{z{z{{z|{||{|||z|z{{{{z{|||{||||zz{{{{z|||||||{{z{{z{{{{{{|||}|{{{{{{{zz|||{{|{|{{{{{{{{|||{}||{z{{z{{{{|||{||}{{{{z{{{{|{{||||{{{||{{{{|{||||{{{{z{{{z|{{||||{{z|{{{{{{z{{{{||{{{{{z{{{{{{{~}~|~~}}|}{}||~|}}~}|{}|z{{||{||}{|||{|{{z{||{|{{||{{{{zz|z|||{{{||{z{y{{|{{{{{{{{{zz|{zzz|{{{{{{{{zy{{{|{{{{||{{{{{z{z{zzzz{|z|{{|{z{{z|y{{|{zz|||{{{{y{zy{|{z{{|{zzzz{z{z{{{z{{{{z|{z{{{{{|{|z{{|zzz{{{zzz{z|{|||{{{z{{zz||{|{{{|{{{{z{{{|{zz|{{|z{z{zz{{{z{||{{{zzz{{zz{{|{{{|||{z{z{{{{{{|{{{|{{{{{|{{|{{{{z|}zzzzz{z{{{||}||}{{{|zz||z|||}{||||zz|zzz|{{{||}{{{{{{{z{{|||||{||{{|{{{|||{||}|{||{z|{{|{{|||||}|{{{|{z{{||}}|||||{|{{|{{}||{{{{||{{{|{{|||{|{|{|{{z{{|{z|{{|||{{{zzz{{{z{|{{{{||{{{{{{z{{{|{{~~~~~|~}}||}}|}|}}}|{{{{{|{{|||}|||{{z{{z{{|{|||{||||{{{{z{{{|||{||zz{zz|{z{||{z{{{{z{{{{{z{{{{{||{z{{zzz{{|{|{{|{{{zzz{z{z{{{{{{{{{z{{{{{{z||{{|{|z{|{{{{{z{z{{|{{{z{z{zzzy|{{{|{}z{{y{{{{|{{{|{{|{|{{{z{{{{z{{{||{{{{{z{z{|{{{|{{zz{|{z|{{{{||{||{z{{{|{{{|z|{{{{{{{|{z{{|{z}||{{{y{{z{{{|||{|{}|{{{{zz{{|{||{|{{{zz{{{{||||{{|}{{|z{|{|{|{{|{{|}||{|{|{z|||{|}|||{{||{||||||||}}|zz{{{|{{||}{}z|||||{||{|}{|{|||}|{}|{{||{|{||}||{z{|{||}|{{|||||{|z{z|{|{||||}}{{{{{{|{{|{|{||{|zzz{z{{{{||{{||{{z{{{{{|{|z{~}~}|}}|||}}}||}|}}}||{{{|{|}||||||}{{|{{{||}{||{}}{{{zzz{z|||{{{{|z{{zzz{z{{{{{|z|z{{{{zz{z{{|{{{|{{{{{{{z{{{{{{{{|{{zzzzz{z{{zz{z{{z{zzzz{{{{{{|{|{z{z{zz{{{zz{{{{z{{{z{zz{{{{|{{||zzz{{|{|||z{||zz{{zz{{{{{|{||{{{{{{z{{z|{|{{{|{{|z{{z{||{{|{{||{{zz{{|{||{|||||||zzy{{{|{||{|{}{{z{{{z{|{|||}{|{z{{{{{{|{{{|{|{{{{{z{{|{||~{}|{{{{{{{{{{z{|||{|{{{{{{z||||||||{{{z{{{{|||{|}}|{{|{{|{|{|{|{|||}||{{{{||}|||}|||{|||z||||{|||{{|{{{{{{|||{}{{{||{{{{z{|||{|{}||||{{z{{|{|{|{{||||{|{z}{|{{{{|}}{{z{{z{{{|}||~}~~~}|||||}}~|||}}|}{{{{{{|~||||}||{{|z|z|||{|||}||{{{zz{z{||z{{z}|z{zzz{z{{||{{{{{{zz{{z{{{{{{{||{{zzz{zzzz{|{{|||z{zy{z{{|{z{{{{{{zzzzzz{{|{{||{|{{z{{y{{{{{{{||{z{{|zzzz{|{{{{{{{z{zzyz{{{|{{|{{{{|z|{z{{|{|{|{z{{zz{{z{{|||||||{{z{z|{{{{|{||{|{{{{z||{||||||{{|z{{{{{{||{|{{|z{{z{{{{||{{{{|}|{zzzzz{|{{|{|{{{z{z|{{{{{|{||}|{{{{{{{{||z}|||||{z{{{{{{}|||{|{|{z{{|{{||{{}{||{{{{}{|}{{|{}{{||{||{z|{{|{|{|}||{{{{{{{{|}|||{{{{|z{{y|||||||||}{{{{{{{z{||}|||{{{z||z{{}{{{|||{{{z{z{z{|{{{{|{{|{z{z{{{|{{{~~~|}}|~|||}}}}|{|~|||||{{{}{|}|{||{||{{{{{|||{|||||{{{{z{{|{|}{|{{{z{{z{z{{||{{{|{{{{{{zz{{|{||{|{zzz{{z{{{{{{z{{|{zzzz{z|z|{{{{{{{z{z{{zz{{|{{||{{{{{{zz|{{{{{{||{zzz{{{z{{z{{|{||{{zzz|{z{{||||{|z{z{{{z|zz{{|||{{{z{{{z{{{{|z|{{{{{|z{|{|{|{|||{zz{z{{z||{||||{|{z{|{{{{{{|||{}|||{{{{z{|{||{|{{{{{{{{{{||{|}{||||{{{{{{|{|||||{{{{|{|{{|||||}||{|{z{z{{|||}||||{z{{{{z|}||||||{{|||{|{{||{|||}||{||{{{{}{|}}||||||z{||||||||}{|{{|{{{{|{||}|}|{{|}|{{{||{||||{||{z{{{|{||||{|{|{{{{{{{|{{||||}|{zz{z{z{||{|~~~~~}|}|}|}}~|}}}}||}{||}{}{{||}}{|{||{z{||{{||{||{{|{{{{{||{|{{{|{{{zz{y{z|{{{||{|{{{{zzz{{{{}{{{|{{{zzzzz|{|{z||{zzz{{z{z|{{{{}{z{zz{zzz{|{{{|{{{{{z{zz{{{{{{{|{{{z|z{{z{z{z||{{{{|zzz{z{|{{{|z{{z{{|{{{{{|{|{{|{z|{{z{z|{|{{||||{z{{z{{{{{{|}{||{{{{z{{{|{{{|{|{z{zz{|{{{{||||||{{{{{z{{{||{{|z{z{z{{z|||}{{{|{|{|{{{{{z|||||{|{{|z{{{|{||{{|{|{{{z{{{z|{||}|}{|{{{{{|{|}|||||||z||{{|||||}||}{}|{}||{{|}}|}}|||{||||{{|}||||||||{{}|{{{|{|||}|{||{|{|{}|{}|}||{{{{|{|{|}|{||||{|{{{{{z|{|{{||{{{{{zz{z||{{|~~}~}~}|}|}}}}||}{||{||}{||}||||{}|{{||{z{|||z{||||{{{{{{|{||||{|{{z{{z{{{|||{{||{{{{zzz{{{|{{{{||{zzy{{{{{{{{|z{{z{zzz{{{|{{{{|{{z{yz{zzz||{{||{{z{{{{z{z{{z{|{|{zz{z{zz{{zz{{{|{{zzz{{zz{z{{|{{{{{{{z{{|||{{{}{{{{z{{{z{|{{||||z{{{z{{{{z||{|||z{{z{{{{{{{|{||z{|z|{z{{{||{{||{|z{|{{z{{|||||}{||{{|{{z{{z|{{{|{{|{{{z{|{}|{|}|{{|{{{|{{{{|||}|{{{{{z{{|{{|{|}||{z{{{{{{||{{||}z{|{{{{{||||}||{|{{{{|{{|{|||}{||{||{z|{{|||||}{{{{{{{{z||||}}|||{z{}{{|}|}|||{|{|z{{{{{{||{{}|||{{z{z{{{|{{||{|{z{z{{{{{{|{{~~~~}||||||}{}}|}|~|{{{|z{|{|||||{}z{{{zz{{||{{{|||{zzz{z{|{{z|||{zzzz{{zz{||z{z|{z{{{zyzz{{z{{|z{{z{zz|z{|zz{{{{{{{zzzz{zz|{z{{{{{{{zzzz{z|{{||{{zz{yzyz{z{{z{{|{zz{{zzzz{{{{{{||{{{y{zzzzz{z{{{|z{{{{|{z{{{{z{{z{{zzzyz{||{z{{|{{z{{{z{z{{z|{|{|{zz{zz{z||z{{{{|{{zz{zz{{|{{{z|{{{{z{{zz{||{||{{{{zzz{z{{{|{|||{{}{{{{{{{||}{||{z|{{{|{z{|{||||}{{{|{zz{{{}|{||{|{{zz{{{|||{{{||{{||{|{{{|{||}{}|{{|{{{{{|||||{|||{{{z|{|||||||{|z{{{|z{{||{{{|||{{{|{{{{|{|||{||{zz{{{{{}{{||||{z{{{zzz{{{{z{}z|z|z{z|z{z|{{~~~~~|~}}}{|}~~}|}~||}|z{|z{|||{{{}|||{{{z{{{|{{|z{||{z{{{|{z{|{{{{{|{{{zzz{y{{{{{{|{{{{{{zzz{z|{zz{{{{z{zzz{{z{{{zz{zzzzz{z{z{{{{{|zzz{{z{z{{|{{{z{{{{zzz{{z{{{||{|{z{{{{zzz{{{{zz{{{zzz{z{{z{z|{{|{zy{{{{zz{{{{{{{|{{{z{zz{{{{{|{|}{z{zz{z{{{{{{{{||z{{zz{z{z|z{{{{{z{z{{|{z}|{{|{{{{{{z|zz{{{{{||{{{{{{zz{{||{{{|z{{z{z{|z{{{{|{{|{{{{|{|{z|{||}}|{z{{{{{{|{{{{{|z{{z{{{{{{{{|{{{{||{{{{{z{|{{||{||{{{zz|||}||{||||{||{||{{{{|{|{|||{{{{z{z|{{{|||{{{|||{z{|||{}|||zzz{|{{||{|{|||{{z|{{{{{|||||{|{{{{{z{z{||z{~~}~}}{||}}}|}|}}|||{{{{z|||||||}|{{{{{||z{{|{{||{z{{zzzz|{|{||||{{{{zzyz{|z{z{||{{{{{zzz{|{{z|{z{{{y{{z{{{z{{{|{{{zz{{{z{{{z|{{{{{{zz{zzz{|{{|{|{|{{yzz{{{|||z{{zz{|zzzz||{{|z{|{{zz{{{z{|z{{{{|{zz{{{{z{{{|{|{{z{{z{zz{{{{{{|z{z{z{{z|z{|{||{|{z{||z{{{z|{z{|{{{z{{z{{{z{{||||{{{|{{{zz{|||{{||{{{{{{{z{{||{|{|{{|{{z{||||{}|||{{{{{{{||{|{}{||{{{{{{zz|||{{{|{|z{{{{{||}}{}{||{{{|z{|{{{|||||}|{{|{{{||}||||||{{|{{{|{}{||{||||{zz{z{{||}|||||{{z||{{|||||{|||{|{z{z{|{{{|||||{|{z{z{{{}||{{{||z{zzzzz{{{{{~~~}}}}}}}}|~|}|}}|{||{|}{}{||}|{{|{{|{{{z{|||{||||{z{z{|y|{|||{{||z{{{|{{{|z|z||{{z{zz|z{{{|{{||{{z{{z{{|zz{{{||||zzz{z{{z{|{{{{{{z{{{{{z{{z{|}|{z|zz{z{{{{|{|{|{z{{{|zz{|{{z{{|{|z{{{y|z{{{{{||{|{{|{{{{{{{{{||{z{{z|z{z||||{|||{{{{{z{z|{{{||||{z{z{{{z{{|{||{|{{z{|||}{|{{{|}{|{{{{{{{{|||||||{z{|{{z|{{||{{||{{|{|||{{{|||{{{z{{zz{|{}|||{|}}{{|{z|{{||||{}|{|{{{|{{z|||||||||{{|{|{|}|{|||||{||||{{{|||}||||}{||{{{{||{{{}|||{|||{||{|||||{||{{{{{{||}{|}{|||{|{{{{z{||{|{|||{|z{z{{{{||z{{|{zz{{z{z{{|||~~~|}}{|}}}}|}}}}|||{|{{z}}{{|||||{||{|{{{{|{{{{||{{{{{{z|{|{{{{}{|{{{zzzz{{{{|{{|{z{{{y{|{|{{{{|z{zy|z{{{{{{||{|{z{z{|{z{{{||{{{z{zzz{z{|{|{|||{z{zz{{z|{{{{||||z{zz{zz{z{{zz{{z{zz{{zz{{|{{{|||{{{{{{{z{|||{{}{{{{z{z|z|{{{{{}{{z{{zz{{{{{{{{||{{|zzz{{|||{|{||{{{{{zz|{}||||{|{{{{z|z{z{|{|{|{{{{|{{{{{{|||{||{{z|{{{{||{|||{|{|{{{|{{|{{||}||{{|{{{{{|{|||||||{|{|{{z}}|{|}|{z{|{{|{{|||{{}|}}|{{{{|{||}||||||{{|{{{|}|||{||||{{{{{{|{||}{||}|{{{{{{z{|}||}||{{|{{{{{||{{{||}{{{{{{{{|{|{||{||{{{{z|{|{|z{~}~}~~}||}||}}}}}}}}|{}{{|{{{{||||{}||{|{{z|{{}|{||||{{{{{z|y{||{{{{|{{z{{{{z{||{|||{{{{z{{z{{{|{{||{{|zz{|z|{{||{{|{{{z{|z{z|{|{{{{{|z{{z{z{{|{{|{||z{{{{{{y{{{||{||{||zzz{{{{{{{||{{{{{{{z{{{{{{|{|{y|{|{zz{|{|z|||{{{z{{{||{{|{{||{z{{|{{z|{{|||||{|{{z{{{|||{{|{|{|{z{{zzz{{|{{||{{|{{{{{{||{|{|{{{{|zz{{{}{{|{|{{|{|{{|{{|}}}|}}{{|{z{{{{{||||||{{||{{{{{}|||{}|}z{{|{|{|}|{}|||{{{{|{|{||}}|}||}{{{{{{|{||||{|||}|{{{{||{||||||{{||{{{{{||{|{|}}|{|||||||{||||||{z{{zz{{|{|{||}{{|{{{{{|}|||{{|{{{{{{{{|}|{{~~~}}~}|}}}}}}}|}}}|{{|z|||}{||||}||{{|{z{|{{|||||||{{{{{{{}{|{{|{|{{{{{{{z{{|{||{z{z|{{z{z|||{z{{|{{{z|{{{{{{{{{{zz{zzz{zz||{{{{||{{{z{{zy{{|{{|{|z{{{{z{{{{||{{||z{z{{zzz{{z{||z|{{|{zy{{z{{{{{{|{{|{{{z{{||||||{{{{{{zz|{|{{||{{{{{{{{{{{|z|{||}{z{z{z{{|||{|||{{z{z|{{z{{|{|{||{{{{{|zy{}|{{|}}{z{z|{{z|{||{||{||{z{{{{{{|||||{|||z|{}|||{|{|||{{{{||zz}|||||{||{{{|{{{|||||}|}|{|z{|{{{||||{|||{||{{{z{}{|}||{|{{|{{{{|||{||||||{{{{|{{||||||}||z{{{|{|||{|{}||{{{{{{||{}}|{}||{|{{{{{|{||{||||{|{{{{{{{||{~~~~~|~~||||}|}}}|}|||}{{||{{|}|}}|||z|{{|y|{|}}{||{||{zz{zy{}{|}||}{{{zz{{{{|{{{|z{{{{{zy{{|{{{|{{{{zz{z{{{{|{{z|||z{{{{z{{{{{{||{{{{zzz{z{{z{{|||{{{{{{zyz|{{{|{|{|zz{{{{z{{|{{{|||{zyz{z{z{{|||{{z{{zz{z{||{||||{{{zz{z{z{{{z{{||{z{{{z{{||||{{}}{z{{z{{{{||{{{{|{||z{{zz{|||||{{{{{{{{{zz{}{||||{{zz{{{{|{|{{||{{{z{{{{{{||{}{||{z{|{{|{}|{|}||{{{{{z{zz|||||||||zzz|{{z{}}|}|}}{{{|{||{z|{|{}|}|||||{{|||{|}||||{}||||{|||}|||||||{{{|||{}|{|||||||{||{{|||{}}|||{z{{{{|{{}{||{z|{z{{{{|||||{}|{zz{{z{{{{|{|~~}~}}|||}}|}|}}}~|{|{z{|{|||{|{|||z|{{{zz|{|{|||}}z{|{{{z{|{{{{{}{{z{{zzz{{||{{|{||{zzzyz{{|{{|{{{zzz{zzzz{z{z{{{{z{{zzzzz{{z{||{{{|zzzzz||{z{|{|zy{zz{zy{|||{{||{{|{{z{{{||{z||{zzzzzzzz{{{|||||{y|{{{zz{{{|{|{|{{{{{zzz{{|z{{||zz{z{{{{{{{|{{}|{{{{zz{|{|{{|{{{{{{{{{{{{||{{|||{zz{{{z|{}||{{{{{{{{{zz|{|{{|{||{{|{{{|||{|}|||}{{{{|{{{||{{||}||z|{{{y{{|||||{|}{{{|{{{|||}||||||{{||{|{||||{|||{{{{|z||||||}|}{z{{{{{|||{}}||||z{{{{|z|{{|||}|||{{|z{{||}||||||{{{{{{|{|{{||}|{||zz{{{||{}|{||{{{{{|{z||{{|~~}}}}}||{|||}|}|}}}{|{{{{{z|||{|||{zz{{z{{{}||{{|{{||{{{{{{|||{|{||{{{z{z{{{|zz|{z|{{z{{zz|{|{{{{|{z{zz{{zz{{||{{{{zz{{z{{{z{{{|{{{z{{z|z{{|{{|{{|{|z{z|z{y{|{{|{{|zz{{{{{{{z{|{{{{{zzz{zzz{z{{||{z{{{{{{{z|{|{{|}{{{zzzzz||{{{||{{z{{z{{{{{z{{}|}{{zzz{z{{{{{||}}|{|{|{z{{||z{{|||z{{{{{{{{||||{{|{y{{z{z{{|{{}|||{|{||{{|}||{|||{{{{{|{{|{||||}{|zz{|z{{||||{|||{z{|{||{|||||||}||{{{|||{|{||}||||{{{||{}|}}|}}}|{|{z{||{|||||{||z{|zz{{|{{|||}}||{{{{z{|}|{|||}{{{{{z|{{||{|||||{{{{|{{{|||||||{{|zz{{z{{|{{}~}}}|}|{{}||~}}}|||{{|{{{||{|{|{|{{|{{|{|{{{|{{}|{{{{z{|{{{|||{|{z{{{{{zz{|{z|{||{{{z{{{z{{y{{|z{{{z{{zz{zz{|{z{{{zzzzz{||{|{z{|{zz{{y{z{{z|{{{{||{z{zz{{{|z|||{|{z{z{{{z{{{{{{{|{zz{z{{z{{{{{{||zz{|{{{{{|{{{{|{{{{{z{z{{|{{{|||z{z{|z|z{||{{|||{{{{{zzz{||{{{||zz|{z{{|{|{{z|{{z{{{{{|{{{{{|{|||{{zz{{{||||{{||{|{||{z{{|||||}|z{zz|{{{|{{||}}|{{{z{{{z{|||||||{{{{{{{{||{{|{|||{{{|{|z{{{}|||{|{{|{|{{|}|||}|||z{{{|||||{{||||{z|z|z{{|{|{|{|||{{|{{{{{|{|{}||{|{z{{{|||{{|{||||{{{z{{{{{}{{{|{z|z{{{{{{||{~~~~}|||||}|||||||||}zz||z|||{|{|{|z{{|{{{z{|{{{|}||||zz{{z{{|{{{|{{zzz{z{zz{|{z|||{z{z{zz{z{|{||{{z{{zzzz{{{{{{||||z{{z{zz{{{|{{|{{{{zy{z{{z|{{{{{{{{zz{zz{{{{{{|{{{{z{zzzzz{|z{{{z{{zz{z{zz{{|z{|z{{{zz{{{||z|{||{{zz{z{{{|{{{{{{{z{z{zz{{{|{{{{|zz{{{{z{|{||{|||zz{z{y{zz|{{{|||{|{{{zz{{{{{|{|{{{{zz{z{{|{{{||||{{{zz|{{{}{{|{{{{zz|{|{{{{|{|||{z{{z{|zz|{{}|{||z{{{z{z{|{{||{{|{{{{{{|}||}|}{{|{||{{{z|||{|{||||{{|{{{|||||}|||{{{{{{{{{||{|}||{||||{{|{{{{|{|z{{{{{{{{{{{{|{||{{{z{{z{||{|{||{z|{{{{z{|{{|~~~}}}~}|{{}|}|||}|}|||{||||{{||}||}{{{{||{{{{|{{||{|{z{zz{{||||{||{z|{||{{{{{{z||{{||{{{z{{{|{z{||{z{{{{z{{{{{{{{|{{z{{z{z{|{|{z|z{z|z{zzz{{|{{{{|{{z{{{zz{{z|{{||z{{z{z{{{|{z{{{{{{{{zz{{yzzz{||{{{{{{|{{z{z{{{z{{{z{|{{y||||z{{|{{}{{{{{{{{{|||||{{zzz{z{|||z||{{{{|{z|z|||{{}|{{z{{{{z{{{}{{||}{{{z{{z{|||{{{{{{z{z{z{{{{{|||{|{{{z|{{{{|z}|{|{|{|{{{{z{||{{}|{{zz{|{{||}|||{|}{{{{{{{{|}{||||||z{||||{||}{{||||{||{|{{}{}{||}||{{{|{{{|{{{}|||||z{{|{{||{|}{|{{{{{{z{{|{z|{{{|{{z{{{{z{||{{{|{{{{{z|{{{{{||}~}|}}|~}}}||}}|}|}}{{||{{}{||||}}|{||{{{{|{{|{{|||{{z{zz{{||{|||{{{{{z{{y{||{{||{zzzz{z{{|{|{z{{|{|{{{zz{|{{|{||{{z|z{zzz{{{|{{{{|{{{zz{{|{||{|{||{z{z{{zz{{|{||{{{|{z{z{{{z{{|{zz|{{z{zzzz{|z||{z{z{{{{{|{|}}||||{z{|z{|z{{{{z|}{z{|zz{{{|{{|{{|||{|{{{{{{||{||{z{{z|z{z{}|{{|||{z{{{{{{||||{|{{{{{{{{{{{|{{|||{|{{|{z{{{|{{}||{{|{{{{{z}{{||{||{||{{{zz{|{||||{}{zz{{|{{|{||||||{{{z{|{|||||}|}}z{{||{|{}||||}}|{{|{{{{|||||||||{{|z|{||{||{||}||{|||{{{|||{||||{{{z{{{{|||{|||{z{{{{{{{|{|||||{{{{{z{{{|||{~~~~}}}}}|}}|||||}}|||{{||{||||{||||{{||z{{|{}|{||{{{{{z{{z{{z{||{{{{{zz|zz{|z{{}||{z{{{{{z{{|{{|{{{{{zy{{{{z{|{{{{z{{z{{y{{{{zz{||{{{{z{{{{z{{|{{{{zz{yz{{{z{{z|||z{{{{zzzz|{{{{{|{z{z{{{z|z{{{}|{zzzzz{{z|{{{{|{|{z|z|{{{{|{|{|{{{{{z{{{z|z||{|{|{{{zz{z{{{|{}{||{{{{{z{{|||{||{|{{{zz{zy{{||{{|{|{{{{{{{||{|||{{{{{z|{{z{{{}{|}|z|z{|{{|{{|||{||{|{|zz{z|{}{|{}{|z{|{{{|||{{{}||{{{{|{||{||||}||}{||{{|{{|||{||||}|z{{z{||{|||}|}{{{|{{|{{|{||||{{{{}{|{||||{|||{{{zzz{z{{||||||{|{{{{{{{|{|{{||{{z{zzz{{{||{~}~~~}}}}|}{||}||||}|}}|||{{{z||{||}|{{z{{{{{{{{||{{|}|zz{{{{|{{{{z}{|z{{|{z{z{{z{{{|{{{{zzzzz{{{z{{|{{{{z{{z{{z{{{{{|zzzyzzzz|{{{||{{zz{zz{{{|y{{|{{zzzzzzzzz{{{{{{{|z{{zzzzz{{{{{{{{{{{{{z{z{{zz{{{{zzz{|zzz|{{{{|{|{z{z{yz{{|{{{{{||{zzz{{z{{{{{{{|{z{{z{{{|{{{{{|{{{|z{z{z{|{{{|||{{{{{zz{{{{{{{|||z{||{zzz{|{{|||{{{|{|z{{{|||{{|{|{z{{{z{|||{|{|||z|{{{z{{|{|{|||{{|{{z{{|||{|}}{{|{{{|{{||{||{||||z|||{|}{}|||}{{|{{{zz{|||||}|{zz{z{{z|{||{|}||{{{|{{{{{{}|||||{{z{{|{|{{{z{|||{{zz{z{{|{||{{|{z|z{zzz{{|||~~~~~}|}}|{|}}}}}|}||{|{{||z|{|{||||{z{{|{{{{|||||||{|z|z|{z{|}{|}{||z{z|{{{|{{{||}{{{z{zzz{{{|{{|{|{zzzzzz{{|{|{{{{{z|z{{{zz{|{{{{{z{{{z{{{{|{{|{{|{{{{{z{{{{||{|{{{z{{{{{{|{{{{{||{zz{{{z{z||||||{{{{{{{zz{||||||||{{z{{z{{||{|||||{|y{{{{{{||{|{|{{{zz{zz{{|{}{|||z{{{z{z||{}||||{z|{{{{{{{|{|{|||{{{|{zz{|||{{{|{{{{|{|z}}|{|||}{|z||{{{|||||}||{{{z{z{{||||{|||}{|{{{|z{|||||||{|||{~{{}|{|{|||||{{z|{{||{|{|||{{{|{{|{||{{|}|||{{||{||||{|||||}{z|{||{{|{|||||{{|z{{{{||{||{||{}{{{|{{{|{|||||{{{||{||{||{{~~}}}~~}|~}||}{{}||}}}|{||z{{z{|{{||||||{{{{z|{||{|{z{}{z{zz|{{z{|{{{{{{z{{{z{{z{|{{||{{z{z{zz{{{z|{{{||zz{zz{{zz{{z{{{zzzz{zzy{{{{{z|{{{z{zzz{{{|{||{{zz{{{zzz{z{{|{{{{zz{zzz{{|{{z{{|{|{zz{{z{{z{{|{|{z{{zzzz{{||{{z|{{{{{|z{|{|{{{|z|z|z{{{z{z|{z{{{z{{z{zzz{{{{{||{|{{z{z{{{|{||||{{{{zz{{z{{|{{||||zz{z{{z{{{z{|||{|{z{{z{|{{|||{|{{|{{{{{||{|{|||{{||{{zz||||{||{{{|{|{{|||}z|{}|{{{{{{|||||{{|}|{{{|{{{{{||||}|}{{{|{{{z||{||{|z|{{{{|{|{{||||{|{|z{|{{{|||{{|||{{{{{{{{|{{{{|||{{{z{{{z|{{|{||{|{{z{y{z|{|||~~~~~}|}|}|{}}}||}||}|{|||{{||{||}}|||{|{{zz{{{|}z{{|{{{zzz{{||{|{{{{{z{{zz{z{{|{z|{|{zzzz{z{{{{{{||z{{{z{{|zz{{|z|||zz{zzz{z{|{z|{{{{z{{y{zz{{{{z|{zzz{zzz{zz{|{|{|}z{zzzz{yz{z{z{{{{{zyzz{zz{{{{||{{z{{z{{{{||{|{|||{{||zz{{||z{|||{z{{{{zz{{|z{|{}{{|z{{z{|{{|{|{|z{|{|{{z||{|{|{|{{{{|{{z{|{||{||{{{{{{{{{|{{||||{{{{{{z|{}{||||{{{z||z{||||||}||z{{{{|{{{{|{|{|{{z{{{{{{|||{|||||{{{||{{||{}|||||{|{{|{{||{|{|}|~{||{|{{|{|{|{|||{{{{|{z||{|||||{{{||{{|{|||||{|{{{|{||{{|{|{|}}{{z|{z{z{{||{{{{|{{{{{{z{|{{|~~~~}~~}~~}~||}|||||}}|||~}|}z|{{{{|{|}||{{{{{zz{{{z{|{{{||{{{{{{{z{{|{||{|{{{{zz{z{{|z{z{{|{|zzzz{|z|z{z{z{{zzzz{{{|{{{{{{z{z{zz{z|||z|{{z{{zzz{y{{|}{|{|{{{{zzz{z{{{|{|{{{zz{zz{y{{z{{{{{{zzzz{zz{{{zz||}{z{z{zz{|zz{{||{{{{z|{zz{{z{{||{{{{zz{zz{{{{{|||z{{{{{{|{{{||{{{{zz{z{{z{{|}{|{{{{{{{zz|{{|{|{||{zzz{{{z|}||{{||{{z{{{{{|{|||||{{z|{{{|||{||{|{{{{|{z{{z|{|||{}{|{|{{{|{|||{|||{|{|{|{||{|{|}||||{||{|{{{|}}|}{~|{|{{{{{{|||||||{{||{z|||}||||}||{zz|{{|z||||{|}|||z{|{{{|{{|{|{{{z{zz|{{{{z|||}{|{zzz{{zz{{{}~}~}~~}|}||{|{|}||}}|}|||{{{{z}||{|{||{{{z{zz|{{|{z|z|{{z{{zzz|{{|{{{}{zz{{{zzy{|{{|{|z{z{z{zz{{{{z{{z{{{zzzzz{{z{{|{|zz{z{zyz|{{{{{|y{zzz{|zz{{{{z{||{{{zz{z{{{{{z{{{{z{zzzy{z{|{z{|{z{zzzzzzz{z{||{{{{{{{{{{{{{{{|||zz{{{{zz{||{{{||z{{{zzz{{{z{||{|zzz{zzz||z{|{}{{|{|zz{{z{{|{{{{|{{|{{zz{||{|{{|{|z{{zz|{{|{{{|{{{z|{z|{{|{{|||{|{{|z{{{{||{|||{}z||{{|z{|||||{|||z{{|{z{||{|{||}||{{{||||{|{||{||{{{{{z{{|||}|}{{{|{{{{{{{||{{|||z|{|{{{{{{{{{}||{{{{z{{||{|{|||z|zz{{||{|{{|{}||{{{|{{{|{|||{{|{z{z|z{{||{z|~}~~~}|~~~}}}|}|||}|||}||~|{{{{|{{{{{{{{||{{||{{z{{|{|{{{|||z{z{{{{z{{{{{|{|{{zz{{z{{z{z{{{z{{{{zzzz{{{{{{{z{{{z{z{z{{{|{|zz{{{yz{z{{||{{{zzzzzzz{{{zzz||{{z{{zzzz{zz}|{||{z{{{zz{z{{z{{{z|{zzzzzz{|z{{{{{{z{z{{zzz|{{|{{|{z{{|{{z||{{{|||z{{{{{{{{{||{|{|{{{z{{{{z{|{|{}|zz{{zz{z{{{|||{{{z{z{zz{|{|{|||z{{{{z{{|||{{{{||{{{|{{{z{{{||{||{|{z|z{z|||||||||{{{{zzz||{|||{|{{{{{{{{{|{|{||{|{|{|{{{{||{{||||zz{{|{|{||{{}}|{{{|||{|||||{|{|{z{|{{{{|}|{|||}|||{|{{{{{{||||||z{{|zzz{||{{||}{{z|{{{{{{|{{{||{{{{z{zz|{|{{~~~}}~}}|~}|{}||}|||}}|{|{{||{{{{{|{||||{{z{{{{{||{|{|||{{z{|{{||{{{|{||z{{{{yz||z{z{{{|{{{{z{{|{{{{|{{z{{z{{{{{{{|{|{|zz{{{y{z{{{{{|{{{zz{{{z{{{|{{{{|{z|z{{z{{z||{{{{{zzz{zzzz{{z|{|{{{zz{zzz{|{z{||{{{z{{{{z|{{{{{}{{|{{z{|{{{{|z{|{{zyzz{{{|{z{{|||z{{{{{z{|{|{{||{z|z{|z{||{|{{|{{{{{z{|{{{||{{{{z|z{{z{z{{{{{{||{|{}z{|{{{|{||}{{{{z{{{|{{{{{{||||z{z{{z{||||{{|{|z{z||{{|||||||||z{{{||{|}{{||}}|z{z{{||||||||||||{z||{{}|}|{|~||z{z{z{|{{}|||}}||{||{|{||||{|}{{|{zz{{{{|{{||||{|{{{|{{{|{|{|||{||{{{{{{||{{~}~~~~~~~~~}}|{|{{{|}|}|}}}}|{{|{|{{|{|{||||{z{{z{{{{{}{{|z{{|zz{{{{{z||||||{{zz{z{{|{{{||{z{{z{{z{|{|z{{{{z{|{z|{z|{{{{|||{{z{{{{z|}|{||{{{z{z{{{z{z|{{||{|{{{z{{z{|{{{|{{{{{z{{zz{{{z|{{|{|zz|z{zz{||z{|{{z{{{zzz{|||{||{{z{|{{z||{{{{{|}{{{{{|{{||{|{{{|{y{z{{{{{|z{{|{|{{{{{z{|{{{|{||{{{z{{{{{{}{|{{}{|||{|}{|{||{|||{{|z{{{{{||}{|||{{{{{{|||{|{{|{|||{{{{{{{|||{|||{{{{{{{{z||{}|||{||{{z{|{||||||}||{{{{{|{|||}|||||zz||{{||}|||}||{|{|{{{{{}|{}|||}|{{{{{z{{||}|}}||{{z{{z{|{{{{{|||{{|{{{|}|||{{}{{{{{{z{{}|{z~~}~}}~~}}~~}|||}|||{|{}|}}|{{z|||{{|{||||{{{{{{zz{z{{||{{||{{{{{{{z{z||{{{{{{|zzzzzz{z{z{{{{z{zzzzz{{{{||{|zz{{z{{{{z|{{|{{{z{{{zzy{{|{z{{|{z{zzzzzz{z{{{z{{{{{{{{z{|z{{{z|{{{zz{{zz{{{{|{{{{{zzz{z{{{{{||{zz{{zz{z{{{||z|||yz{{z{z{{|{{|{|{z{z{z{|z{{{||||zz{{z{{z{|{{{||{{z|{{z|z{{|||||{{z{{{zzz{}|{{||||{zz{{y||||{{|z|{{|{{z{|{|{|{||}{{z|{z{{{{||{{{||z{{{{{{||}||||||z{||{{|}||||{||||{z{{{{{{{{|{|}}{{{{|{{{|||||}||{{{{{{||{{|||{{{|{{{{z|{|z||||}||z{|{z||{{|||{||{{{{{{{{|{||||||{{{z{{{{||||{{|{||{{z{z|{{{}~}}~~~|}~}~~}~~|||||{{|||}|}}|||||{{{{{|{|{}|||{zzz{z{{{{|||{|{{{z{z{{zz{z{||}{zz{{z|zz{|{{{{{|{{{z{zzzz|{{{{{|{z{{z|z{{{{|{z{{{{{{z{zz{{|{{{{{{zz{z{zz{{{{{|||{{{y{yzz{{{||z|{{{zz{zy{z{|z{|z{|{{{z{zzz{{{|{|{{{|z{{zz{{|z{{|{z{{zzz{{{|z{z|{}{z|{{z{{{{{|||{{zz{z{zzy{|||{||{{{{{{z{{{|z{||{|{{{z{zzz{{||{{|z{{||{{z|{{z{{}||{|{{z{z{|{{|{||{|{{{|{{{|{||||||{{{{z{zz|{|{{||}|z{||{|{||{{{|}|||{{||{|{{{}||{||{z{|{{{||{|||{}|{||{{{{|{||{|}||{|{{{z{||{{||}|{{z{{{{z|{{||{|}|z{{{{{{|{|{||||{{{{z{{z|||{{|||{{|{z{{z{||{{~}}~|~||}}||{||{{|}}|}}|}|{|||{||{}|}|}||}|{{|{|z{{{||{|{{{z|zz{{z|{{{{{z|{|{{{z{{z{{{{|zz{{|{zz{{{{{z{|||{{{zz{z{{{{|{z{{{zzz{z{{z{{{{|{{zz{zz{y{|{{{{||}{z{zzz{z{|{|{{|{{{zzzzzz{{|{z{{{{{zz{{zy{{{{{{|{{{z|z{zy{{||z{{|{zz{|yzz{||{|}{|{{{z{z|{||||{|{|{{z{{|{y{{{|{||{{{{{zz{{{{|{{|||{z{{{{z{{{||{|}{|{{{{z{{{{{|{|{|{{{{z|{{{|||||||{z{|{{||{{||||||{z{{|{{z{||{|{|||z{{|{{{||||||}|{{{{{}{{{||{||||{{|{{||{|}|{||||}{|{{{{{{||{{{|||z{{{{{||{||{||||||{{|z{{||}||||{|{{{{|{{|}|{{||z{{{{{z{{{|||{||{{{{{{zz{{{|{~~~~}}}}~}}~|}}|||{}{{||{||}|{||{{{{|{{{{||}||{z{z|{{{{{{|{{z{{{{{z{{{{{z|{|{{{{{z{{z{yz{|{{||{|{z{z{z{{{|zz|z{z{{{zzzz{z{z{{{{{{zz{z{zzz{{{{|{{{z{z{z{z|{{{{{{z{{{x{{z{{{|{{{|z{{z{yzzz||zz{z{z{{{{z{y{zzz{{{z|{z|{zzz{{{z|{|{zzz{{zzz{||z{{{|{{{zyz{{{{||{|{{z{zzzz{{{{z{||{|{{z{{z{{z|{{|{{{{z{z{z{z{{{{||{{{{z|{zz{{}{{{{{{z{|z{{{z{|{}{|||{{{{{{z{}{|{{||||z{{{{zz{{|||{{{|z{{|{{z{||{}|||{{{{{|{|{{|||||||{{{z|{|{|}||{}}|{{{{{|{{|||||||{{{{{||{{|{{||{}|{{{|{{{{z||||||{z|{z{{{{|{{{||}{{{{{{{z||||||{|z{{{{{{{{|{{{~}~}~}|}|}}|}}~|||||z{|{|}}|||}||{{{{{{}|{{|z}||{}{{zzz{{{|z|{{||z|zzzz|z{{{||{z{{z{y{{{|zz{{||{{{zzz{{z{|{z{{{z{z{yzy{{{z{zzz{|{{{{zzz|{|{{{|{{{y{y{z{{z{z||{z{z|zzz{zz{z{{{|{{zzyz{{{|z{z{{|||{zzz{{z{{z|{|{||zzzzzzz{zz{{{|{{{y{{z{{{{{{|z{|{{{{z{{{{{{{{|{}zz{{z{zz{|{z{||{{zz{zz{{z{|z{z{{{{z{z{{{z|{{{|zz{{{{{|{z{{{|{{{{|z{{z{{{{|||{|{|z{zz{{z{|{|{z|||{{yz{z|{{|||{||||{{{{{{{|{|{|||{{{{{z||{|{{|{||||{{{{{{{{|||}{}|{{{{z{{{||||{{|||z{z|{{{|||{|||{||z{{{{{{{{|{|}|{{z{z{{{|{|{|{{{||{z{z{z|||{|z||{{zz{z{{{|{{{~~~}}}}}~}~~~}~}|||{|||}||||||}|}{{z|{{|||}{|}|{|{{{{{{{z{|{|{{}{{{{z{zz|z|{{||{{z{{zz{{|||{{{|{{z{y{zzzz|{{{{{{{{{zz{{{|z|{{{z{{{z{{{{{{z{|{{{{{{z{{|{z|{|{||{|{zz{z{zz{||z{{{|z{zz{{zz{{{z{{||{{y{zzz{{|z{{{z{z{{z{{z{||{|{|{}|{z{z{{{||z|||{|{{{{z{z{{{{{{|{{{|{{{{{z{{{{{||{|z|{|{|z{|{{{{{|{{{{{z{z||{{||||{z{yz{{{{|{{{||{||{{{{{{{}||||{|{|{{z|{z{{{|{||||{{|z{{{{|{|||||{{{{{{{{{{||||}|{||z{{{{{||}||{||{{{{|{}|||||}|}|{{|{{{{{|||{|||{z{||{{|||||||||{{{|||{{||||}|{|{{|{{{z{{|{{{|}|{{{{{{{z{{||||{{|{zz{{{z{{||z}~}~~~}~}}~|}}}}||||||||||}|~}|{z|{{{{|||{{{|||z{{{z|{{{}|{{||{{{z{zz{{{{}{{{|z{{{{{|z{|{{{{||{{{y{z{{{{{{{{||{{{{y{{{{z{|{|{|{z{zz{z{y|{|{|{{|{z{{{{{z{{{|{|{{{{zz{zz{z{|{||||z{{zz{z{{{{z{{|{{{{{z{zz|{{{||{{{zy{{{z||{|{{}||{{z{{|z{|z{{|||{{z{{{{zz|{{|{|{z{{z|{z{|||{||||{|z{{{{z{||{{|{|{{z{{z{{{|{{{|{{{{z|{{{|{{{{{|{|{{{{{{{z{{{|||||{{z{z|{{{{{|{{}|{{|||z{z|{|{{{}||{{{{{{{||{|{{||{{{{||{{|}{|||}||{{{|{z{||||}|}|}{||{z{{||}|||||||{{{{{|{||{||}}|{{|{|z{||||||||z{{{{{{{|}{||}||{{{{{|{|{{|||{||{{|z{z{{{{||{~}}~}}|}~~}}~}~|||}||||}}||~}|||{{{{{{z|{||{|||z{{|{{z{{{|{{||{{{z{{{zz{{||z|z{{{{yz{zz{{{{{{|||zzz{zzz{{{z{{{{{{{z{z{z|z{|{{{|{z{zzz{{{{{z{||zzz{{y{z{{{|{||z{z{{z{{{z{|{{{|{{zzzzzzzz{{{{{|{|{{{z{z{zz{{{{|{{|{{z{{{zz|{{|||{{{{|{y{{|{|{{{||{{z{{{{{zz{|{||{{zzzz{{{|{|{{{{|{{|{{||z{|{{{|||{{{{y{{z{}|{{{|{{z||{|{{|{||z{|{{{{|zzz{||||{|{|{|{{z{{{||{|||||{{{{{{|{|||||||{{{{{|{{||}{||{|||{{{{{{{{||{{|||{{|{{{{z{}||{}|{|{z|{{|{||||z||{|{{{{{z||||{|{|||{{}||{{{|||}||||z{{{{|{|||{||||{|{z{{|z{|||{{||{|{{{{z{{{{|{}~}~~~|}|~~}~}~}~|}{||{{{{{||}}|}||}{{{{{{||{||}}{|{{{{{{{||{||||{||z{{zz||{|{{|}{{{{z{{z{|}{{|}|z{{{{zzz|{|z{{z|{{{{y{{z{{z{{|{z{{{yzzz{zz{{{{|{{z{{{z{{{{|{|||||{{z{z{{|{{|{{z{{z{|{zzz{|{{z{{|{{|zz{z{{{z|{{|zz|{{{zz{{{||{|||{z|{|z{{|||{{|{|{{zz{{}z|{|{z|{|{{{zz{{{{{|{|{|{|z{{{y|z{{{{{|||{{{z{{zz{|{{{{||{|{{{{{{{||{{{|||{{|{z{{{|{||||{||{{{{z{{{{||||}{|{|z{{{{|}|||}||zzz{{|{{||{|||||{|{{||{|||||||}|||{{|{{{}||}||||||{|||{|||||{|{|{{||{{|||{|||||||{z{{{{|||||}|}{{{{{{{{{|||||}{|{{{zz{|||||{}||zz|{{{{z|{|{{~~}~}}~~|}}}}}}~|~{{{||||{||{|||}|||{z{{z|||{||{||{z{{zz{|{|||||{{z{z|z{z{{{|||{{zz{{|{|z{|z|z{}{{{{{zzz{{z{{{{{{{zz{z{{{zz{{{z{|{{zz{z{{z{{{{{{{{z{{z{zz{{{z{|{{|z{zzz{{z{{|{{{}{z{{{yzz{{|{{|{|{z{zzzz{{|{{z}{zz{{{{zyzz||{{||{{zz{{{{{{{{{{{{||{z|zz{{{|{|{||{{{{{{{{{|{|{||}|{{{{{z{{{{{{{}|{{{z{{zzz{|{{{{}{|{z{zz{{{|{{{{|{{{{{{{z{||||{|||{{|{|{{{|{|{{|}||z{{{zzz{||||||}|{{{|{{{|||{{||||{{{{{{{|{{|{||||{{|{||||}{|||}||||||{|z}}{{{||||z{{{||{||||}{||}{{z{|z||{||||||{|{z|z|{{{|{||||{{{{z{{z{}||||||{y{{{{{{{{|||}}}~}||}||~|||||}||z{|{{||{{|{}{||{{{|{{z|z{{{{|}z{{|{zzzz{{|||||{z{{z{{z{{{{{|{|{zzzz{zz{|{{{{|{{z{{{{y{{{{z{{{{zz{z{{z{{z{z{{{{{zzzzzzz{{{{{{|{{{{{zzzzz{{{z{{|{z{{z|zz|{{{{{{z{|{z{z{zz{|{{{{{z{{{zzz|{|z{z|{{{z{|z{{{|{{|{z{|{zzz{{{z{{|{{||{|{{{{z{{{{{{{{|{z{{{zzz{{{|{{{{{{z{{|y{{{{|||{|{{z{|{zz{{}|{{{|{{|z|{zz|{||{{{{{{{zz{{{{{|{{{||{{{|z{{{{{|{|{{{|{z{zzz|{{|}||||{|z|{|zz{}|{|{||{{{z{{{{|||{{{}{||{{{{|{{{{{|{|}||{|z{{z|{{{||||||{{|{{{{||{{|||||{{|{{{|{{{|{|{|{{|{{{{z||{|{{|{|{z{z{z{z|{|z||{{{{{z|{{z|{|{~~}~}}}}{{}}||}}|}|||{z{{|{|{||||||||{{{{{{{||{}}|||{z{{{z{||{{{||{|{{{{zz{{{}|{{{|{z{z{{{z{{zz{|{zzz|{zzzzz{{zz|{{{zzz{{{z{|{{{|{{zzzzzy{{{|{{z{{z{{{{yzzzz{|{{|{{{z{{z{zzzz{{{{|zzzzz{z{zz{zzz|{{zzz{{zzzz{zz{{{{{z{{z{zzz{z}{|{|{{zy{z{{{|{|{{|{{{{zz{{{|{z{{z|{zzz{zzz{{{{||{{|{|{{{yz{{|{|||{{{{{{{zz{|{|z{{}{z{{{{z{z{{{|z||{{z{{{zz{{|||||||{{{{z{{{||}|||||{{z{{y{{}|||{||{|{|z{{|{|}{|{{|||||zz{|{z|z{||||{{{{{{{|{|}{}||||||{{{|{||}||{|||{{{{|{|{|{{|||{|{{{|{{{{|{|{}||{{{z{{{{||||{|{}{{zzzz{{{|{|{||{z|{{{{zz{{{{{~}~~}~}}|}|}}||}~~|{||{{|z|}|||}||||||{{|{{|{{z{|||{{|{{{z|{||{|||{|{z{zz|zz{{|{{{|{{zz|z{z{{{z|{|{z{{z{{z{{{zz{{z{{zz{{{z{{zz{{{{{{zz{{{z{{{|{|{|{|z{zz{zz|{{{|z|{|{|{zz{z{|{~}{|{{z{zz{zzz|{{z{y{{{{{{{{z{|{{{|||zz{z{{{z|{{{|{{|z{z{{z{{{{{{|{{|{z{{{{{{{{{{|{{|{z{{{zzz{{|{|||{{{z{{z{z{{{|}|{{|zz{{{z{{|{{{{|||{{z{{z{|{|{{{z||{|y|{||{|{|{{||{|{z{{z{|{{{|}{|{{z||{{{||||||}{{{{{{{{{}}||||||{{{{||{{z|{{{}|}|{{|||||{}||{}}||{||{{|{{||||}||{|{z{zz{|{|{}|||{{{||{{|{|||{}|||{{z{{{{{|||{|{|{{zz{{{z||{|{||||{{{{{|{{|{{{}~}~}|}{|}|~|||~||}}||{|zz}{|||{||}{|||{|zz||{{{{{|{|{|{{{z|z{|z{|{{z{{zz|z{|{|{{{|z{{z{z{{{{{{{{|z{zzz{{z{{{{zz{{{z{z{zzzz{|{{z|{{zz|{{{{{z{z{{|{{{zz{{zyz|{|{{{{{{y{{z{yzz|z|{{{{{{z{z{zzz|{{{{{|{{{zzzz{{{{z{|||{{{{z{z{{z{z{||{{zz{{{z{zz{{|{{{zz{{zzz{{{|{{{{|z{zzzz{z{{{{z||{{{z{{{|{{{{{{||{z{{{{|{{{{{|{||{{z{{{{{{|{{||{|{{|z|{{{z{|{z{|||z{{{{{{|{{|||{||{|{|{{z{{{|{||||{{z{{{{{||{{{|}|{{|{|{|{|{{|{|{}{z{{{{{{{|{{||||||{|{{|{|||{{||{|{zz|{{{||{{{|}|||z{||{|{|||{|{|{{|{{z{{z{|}|z||||{{{{zz|{||{|{|z{{{z{{z||||{~}}}|||}||{{|}}}}{|{||{|z{{|||{{|}|{{{{{||y{{{|||{||zz{{{zz{{{|z||{|zzzzzzz{{z{{|{{{zzzz{zzz|{zz{|{zz{zz{zy{{{|z{{z{{{z{{{z{{{z{{{{{{{z{{{z{{z{{{{{{zzz{{zzzz|z|{{{zzz{zz{{{{{{{{{{zz{zzzzzz{{{{{{{{{{{zzyz{{{z{{{|zzz{{zyzzz{{{{{{{{{{z{{zz{{{{zz{{{{{zzzz{zz{|z{}{|{{z{zzz{{z{{{{{z{z|z{z{{{{{|{{{{{z{{yz{{|{|{}{|z{{{{{{|{{{z{{|{zz{{{z{z}|||{{zz{{z{{z{{|{|{{||{|zz{zzz{||{|{{{{z|{}{{z{|{z{|{||{{{{{{|z{|{|||}{z{{{{z{{|{||||{|{{{{{{z{{||{|{|{z|{{zz||{|{||{||{z{{{zz{z||{{|}{||{|zz{{{|{|{|||{{z{z{{{|||{{}{{{zzz{z{{{{{|~~}}|}|||{{}}}||}~}{|{{{|{{|{|{||||{{{z{{y{{{{||{}{|{{{{z{{{|||{||{{z{yz{{z{z||{{{{{{{z{zzz{|zzy{|{{z{z{z{zz{{{z{z{z{y{zzz|{zzz{{z{zzzz{zzz{z|{{{{zzzzzzzz{z{{{{{{{{zz{zzzyzzz{{z|{|z{zzz{y{{|z{{{z{{{{{z{{zz{{{{{|zz{|zz{{{{{z{z||{zzz{z{z{|{{z{{{zzzz{z|{{{|{{{||{{{yzzz{|{{{{|{|{{zz{{yz{{|z{{{{{{{{{z{zz{|{y{{{|{{{{{y{{||{{||z{{{|{z{z{{|}||{|{{{z{{{{|{{{{{{|{zz{{{zz{{||{|{|{z{zz{zz|||{{{|{{z{{z{|{{|{|||{|{{{{{{{z{}|{||||||{{{{||{{|{{{}{z{{z{{{{{z{{{{{|{{{{{{z{{|z{{{{|{{{zz{zz{{|||{|{{z{z{{{z{{|z|{{{{zz{y{{z{{|{||~~}}|}|}|{|}}|||}|{||{|{{{|{|{{}||{|{z{{{{{||{z|||z|zz{zz{|{}}{{|{{zz{z{{z||{{{|{|{{{y|z{{{{|z{|{{z{{z{{zz{|{{||{{zzz{zzy{{{{{{{|{zz|z{z{y{{{zz{||{z|zzzz{{|{{||{{zz|{{{{|{{z{|{{|zz{zzy{yz{{z|{{|{zz{{{z{z{{y{{{{{z{zz|zy{{|{{{||{{{{|{zzz{{{z||{z{z{{z{z{zzz{|{{|zzz|{{zz|{{{|{}{z{{{z{z{z{z|{|{{|{{z{{{{|{{{|}{{{{|zz{{{|{|{{|{{z{{{{zzz{|||||}z|{{{z{{{||{||{{|{{{z{{{|{{||||||{z{{{{{||||||||{{|||{|{{||{|||||{{{z|{{{|||{||||z|||z{{||{{|{|||{z{|{|{{||||||||z{{|{{{|||}||||{{{|zzz{{|z{||||||z|zz{{||{{|{|{{{z{|{{z|{{z|}~}{{~}||{|}}||}{}}{{|{{{|||||}||||||{{z|{{}{{|{}||{{z{|{{{{{|{{{|{|{z{|{zzz|{{||}|z{|z{{zz{{{z{{|{{z{{{{{{{|{z{|z|{{z{{{{{{zz{{|{zzzz{{zz{{{{y|{|{{{zzz{zz{z|{{{{|zz{yz|z{{{||{|{|{{|zz{{yzz|z{{{||{zzzzzz{{z{{}{{{z{z|{z{{{{{{{||{{{z{z{{{{{{z{||{z{{{{{{{{z{||z|{{{{{z{{|z|}|{{{|{{{|{{z{||{{|{{zz{{{z{{{}{|||{z{{{{{z{{{|}{{||{{{{{{z{{|{{||{{{||{{{{|{||z|||||{{{{{{zz{{|||||{}z{{|{{|||||||{||{z{||{{{{{|{}}||z{{{{z{{}|{{{||}{{{{{{z}{|{||||{{{{{{zz{|{{|||}{{{{{{|||||{}|{|{zzz|z{|||{|{{|}{|{{z{{z{|||||||z{{|{z{z{{{|{|}|||}||{}|||~}||}}||{|{||z}|{{||||||z{{z{{{|{||{|||{{z{z{{{{|{{{{{{z{{{z{z{{{{||{|zz{z{{{{{{z{{{{{{zzzzzy{{{|zz||{zzzz{y{z{{{{{z{|z{{yzz{z{{{{{|{{zzz{zzy{{|{{{|||{{z{zzzzz{z{{{{{{zzz{zz{{{{z|{{{{zzzyzzz{zz{{|{{{{{z{{{zz{|{|{|{{|zz{y{|{{{|z{{|{{{{z{zzz{{{{z}|z{zzzz{{z{|{{{}|{{{{{z{z{{{||{{{{z{{{z{z{|{{|||{{{z{{{{{{{|{{{|z{{{{{{{|{||}{|{|{{{{{{{{{|{|z}|||{{{{{{z||||}||||{{{{{{|}|{{|{|{|{|{|||{z||||||||{{{{{{{|}|{||||{{{||||{{{|{|||||{{{{{z{|{||{|||{z{{{{{|{{{}||||z{{z{{{{z{{|||{{z{z{z{{{{{{|{{||z{{{{z{{|z{{{}}|||||{}||||||}|~|}}|{{{{{||{|{|}{{{{{|{{{{{{{|||{{|{{{z{{{|{|{{{|yzy{zzz{{{{{{{}zz{{{zzzzz{{{{|{{zz{zy{z{{{z{{z|zzz{yzzz{{{{{|{{z{z{{zz{z|{{z{{{zzz{zzzz{{{z{{|{z{{zz{zz{{z|{||{{zzz{{{zz{{{{{{z{z{{zzzzz{z{z{||z{{zz{zz{z{|{||{{z{yz{{{{|{{{{|{{z{zzz{z{{z{{|{{zzz{zzz{{{{{|{{|{{{zz{z{z{|||||{{{{{{{{z||{{{z|{{{|{zz{zz{|{|{{{||{||{{{{{{{||||{{}{{{{{|{{}{{|||{{{|{{{{|||{|}||z{z{{z{||{{|||||z{{z{{{{||{|||{{{{{zz{{{}||{|}||z{|z{{||||{|||{}{zzz{{{{{|{|{||{{{{z{{{||{}{{{}{{|{{z|{{{||{{|}{{{{z{{{z{|{{{{{{{zz{z{{{{|{z}}}}|{|{{|||}}}{}||}{{{{{{{|||{|{||{{z|{{{{z{{{||{||{z{zzz|{|{{{{z|{{{{zz{z{{{{{{{{{{zz|{{z{z|z{|{|{z{{z{zz{{{{z{{{z{z{zzz{{z{{z{{{{zz{{zzz|{{{{{|{{z{zz{{{{z{{{|{{{{z{z{zzz|{{{|{{{{{{{zzyz{{{y{{zy{{zzz{zzz{{{|z{z{{z{{{z{{|z{{{{zzzz{{zz{{{{{z|{{z|z{{{z{|{{{|||{{zz{{{z{zz{z{|{{{{{zzzzz{|{{{{{{{{z{{zz{z|{{|||{yz{zz{z{{{|{{{|{{z{{{{zz{|{{||{z{|z{{{{z{{||{}||z|{{{z|{{|||||{|z{{|{{{||{|{|{|{z{{{{{{{|z}|{||||z{z{{{{}{{{||||{{{{z{|||{|{||{{z{{{|{{z}{{|||||z|zz|z|{|||{{{|{zzz{z{z{{|{{|{{|{z{{{zz{|{}{|{{zzz{{{zz{z{|{}}}||{{|{|||||}|{|}{|{{z{z{{{{|}|}||{{{z{z{||{|{||{|zz{{{{|z{{||{z||z{z{zzz{|{{{|z|{zzzzz|zz{z{{{||{{z{zzyz{{{z{{|z{zzzzzyz{z{{|{||{z{z{zzzz{{{{{|{|z{zzzzz{|{{z||{z|zyzzzz{{{|{{{{zzz{{{zzz{zz{{|zz{{z{zy{{{{{{||{z{{{{z{z{{{{{||zzz{z{z{z|{{{|{{{{zzz{{zz|{|{{{{|{{{{zz{y{|{z{{|{{{{{{z{z|{{{{|{{{{{{{{zz{|{{{{|{{{z{{{{|z|{{{{{||{{{z{z{{{{|{{||z{{z{z{{|{{||||||{{{{{|{{|||||{{}{{z{{z{{||||||}|{}z{{{{||{|}|}||{{|z|{z{}|||||}}z{|z|{{{{{|{||{{{|z{z{z{||{{{}|{{z{{{z{||{{|{||z|{{{z{||||{{|{|{{{{{z{{{|{||{||zz{zzz|{{{{{{}}|||}||{{|}|||||}|{|{{{zz{|{|{{|||{{zzz|zz}|{{||||{zzz{yz{{||{z{|||z{z{{{z{{{{{{|{zzz{|zz{z{{{{{{{{{{z|zzzzz{{z{|{{zzzzzyy{z|z{{|{zzzz{z{z{{{{z{{{z{{{zzzz{|{z||{|{zz{zzzy{{z{{|||{yzz{{zyz{|zzz{{zz{zz{zz{{{y{{z|z{{z{{zz{z|{{|{{{z{zzzz{{|{{z{||{{{zzz{z{z|{{{|{zz{zz{{z{z{{{{||{{|{{{{{{{{{z{{|zz{{{z{{z|{||{|{{{|y{{{z{{{{z|||{{{zz{{||{|}{|||{{|{{{|||{{||{||{{|||zzzz|{{||{{{{{{{{{z||{|||||{z{{|{{z{{|z{|||{{{||{{{z|||||}||{||{{z{|}{||{{||z{|{{{{z{|{{|||{{{{z{{|{|{||z|||{z{{{z{{{{||{}{{z{z{z{{{|{{|{}{{z{{zzz{{|||{}|}|||{{{|{||}|||}~|{{{{{{{{}|}{|}}{{z|{zz{|{||{{||{z{z{zzz{{||z{|||z{z{{zz{{|z{{{{{{{z{{{{y|z{{{{{{zz{{{{zzz|z{{|{z{{zy{zz{{z{{z{{z{z{{{zz{{{{{|{{|{z{z{{{{{{{{{{{{{{zzz{z{zz{zz|{|{zzzy{z{{|{z{|{z{{zz{zzz{{{z||{zz{zz{{{z|{|{{|{{zzz|z{{{{{{{{|{{z{z{y{zzzz{{{{zz{|{{zz{{||{||{||z{{{z{{z{{z{{{{|{{z{{{z{{|{||{{{{{{{zy{|||{{{{|{{zz{z{{|{|{||{|z{|{{{{{{|{{{|}}{{|{{z{z{}{|{{||{{{z{|{{{{{{{|||{{{{z{{||{{{|||||{{{|{{|{}{|}||{|{{|{{z{|{|||{||{{{z|{z|{{{{||||{|{{{{|{||{||{||{{{{|{z{{{z|{{|{{{{{{{{{{|{|{{|{{{|z{|{{{||{z~}||}{||z|{|~{{||{}||{{||z{{|||{|{{{{{{{|zzz{z{|{||{{{{zzz{||{|{{||{{{z{zzz{{{{{|{|{z{z{z{z{{zzz{|z{z{zzzyz|{{yz{|zzzzyy{{y{{{{{|{{zzzz{{zy{{{{z|}zzzzzz{{z{{|{|{{{{{{zzzzyzz{{{|{|{{{{zyzzz{{{{{{{zz{{yzz{zzzzz{{{zz{{zzyzz|{{{{|||{z{z{{z|{{|{{{{{{z{z{{z{|z|{|{{{{z{zz{{z{{{z{{|zy{{zz{z{||{{{{}{z{z{z{z{|{|{{{{|{z{{{{z{{{|{{{{{z{z|{{zz{{||}||{{{z{z{{||{|{{||{{{{{|{z|{{{{z||{z{z{|z{{|{{{||{z{|z{{{{|{{{||}z|z{{{|{{z|{|{|||{{{{zz{z{{{|{|||{z{{{{|{||{{{||}{|{{{{z{|{|{|||||{{y{{{{{{||{|{{{{{{z{{{{{||{{{|{z|{z{zz{||{{}}|{||{{{|||}|||}||{||{{||z{||{{|}|{{|{{zzz{{y|{||{{z{{zz{z{|z{|{|{|{zz{z{y|{{{{{z{z{zzz{zzz{{{{|{{z{{{z{{z{z{{{|||z{zzz{z{{{{{{{z{z{zzzzzz{{|z{{|zz{z{z{zy{{{{{{{{{{zz{zzz{{{z{{|{{zy{zzzzzzzzz{{{zzyyyzzzzzzz{{z{|zzzz{yz{{z{{{z{{zzzz{{z{z{{{||{z{{z{zzz{z{|{|{{{zz{z{z{{z{y{{||{zz{z{zz{}||{|{{zz{{{zz{{|{{|{|{z{z{{z{{z|{{{{{{{zzz{|zz{{||{|||{{{y{|{{{||{||z{{{{{{{z{{|{{|||||zz|z{{{||zz|{|{z|{{{|{{||{{z|||{{{{{{{z{|||{{||{{{|{{{{||||{|{|{zz{z{{z{{{{||{{||{z{{{{|{|{||||{|{z{|z{|{|z{|{|{{zzz{{z{{{|||{{|z{{zz{zz{{{{}}|||||{{{{||||}{{}||{{|zzz||||{{|}{{{z{z{{{{z{}||{{{{{{{y{{{|{{||z{{{yz{z{z{|{{{{{{{zzzz{z{{{z{{|{z{zz{zzz{{{{{{|{y{{{zz{zzz{|{{{{{z{{{zzz{{|{{{|zz{z{z{zz|z{{{{|z{{{zzyz{z{{{z{|{z{z|zzzzzz{z{z{{z{{zzzz{{{{{{|{{z{|zzzz{{{{{{{{|{z{{zyz{z{{{{{||{z{{|{{z{{{{{z||z{{{z{{{z{{||||{{zz{z|{zz|{{|||{zz{{{zzzz{{{|{{{|zz{|{zz{||{{}{|{{z{{{{{|}|||}||{|{z{z{{|z{|{}||{z{{z{{{{{{|}||{|zz{{z{|{}|{|{|{|{{{{{|z|{{||||{{{{|z|{{{{|||||{|||{{{{{{{|{||{}{z{{|{{{{{|{||||{{|{|{{{{|{|||||{{{{{z{{|{||{||{{z{zzz{{{{|}{|{{{{|{{zy|z|{{{|~}|{{{{{}{{}}|{}}|||{|{|{{|{{||||}|z{{z{{{||||{{{{{|{z|{zz{{{|{|{z{zzzzzzy{|{{{|{|{zzz|y{z{{{zz{{z{{zy{zzz{{{{{|{{{zzzz{z{{{{|{{||zzz{{yz|{|z{|{{{zzz{z{zz{z}z{{{{z{{{zz{z{{{z{z{||z{zzz{z{{{{{|{{{zzz{z{{{|z{z{{{|{|{{{{{{{{{{{|{{z{z{z{{z{{{|z||z{|{y{z{{|{{{{{|zz{{{{{z|{{{z{{|{{|{z{{{||{{|{{||z{{{y{z||}|{{}|{{z|{{z{{{{{{|{{|{{zz{|{|{{|{{{}z|{{{{{z{{||||||{zz|{zz{{||||||{{{||{{|z|}{|||||{{|z{z|{{{||}||{|{{|{{|{||||{{|||z{{{{{|{||||||||{{z{{{{{{|{}|{{{{{z{|{{|{|{|{||{{{zz{|||||{|||||{|{{{z{||{|{|{|{{{z{{{{{{|{|||}|{{||{|||}{}|||||z{{z{z|{{{|}||}|z{{|{{z{{||||||{|{zzzy{|{{|{{||{z{{zzz{z{|{{{{{zz{{|{zz{{{{{|{z{z{zzzz{{{{{{{{z{z{zz{zz{|{{{{|{{zzzzzzz{{{||z|zzzz{{zzz{{{{{{z{z{{{zzzzz{{{{{||{{z{z{{z{{{{{{{{{{|z{z{{{|{{{{|{zzz{{z{z{{{{{{|{z{zzyzz{{{{z{}{{|y|zzzz{z{z{|{|{{{{zzzz{{{{{{{||{{zzyz|z{{z|{{{{{zzz{z{z{{{{{{|{|z{|{{{zz|{|z{|{{zzz{{{{|{|{{||{{z{z{{z{{{|{|}|{{z{{z{{z|{||{|{}|{|{{zz{||{{|}}|{{|{z{||{|{|||}}||{|{{||{}{||||||{z|{z|{|||{}}|||{z|zzz|}||}||{}|{|{{{z{||{{{|||{z{{z{{|{{|{{{||{|{{{{{z{|||{{{{{zz{zz|z{|{|{}~{|z||||||||||{|{|{{{z{{{{{{z|{{}z||{{{z{{{z{{{{{}{z|{{zzz{{||{{{zz{zzzz{z{{|z{{{{zzzz{z{z{|{{{{|{zzzz{z{{|z{{z{|{z{{zzz{zzz{{{{{{zzzzzz{zz{z{{{{{|{zzyzz{z{{z{{{{zzzzyzyz{|z{|{{|zzz{zyyzz{{z{{{{{{zzzzzzzz{z{|{{zy{{zzzyz{{{{|z{|yzz{zzz{{{{{{z|zy{zzz{{|{z{{|{|{|{z{{z{{{z{||{{{z{z{yz{{{{{z{{{{{{{zzzz{{{{||{zz{{{z{zz{||{{{{{|{zz{{{z||{|{|{|zz{{{z{{{|{|||}|{{{|zzzz{|{{{||{{zz{{z{{{|{{||||{z{zz{{{{|{{}|}{|z{{z{{z{|}|||{||{||{{{z|{||{|||{{{|z{{{{|{{{{|||{{z{{{{{{||||{||{{z{{{{z{z{{{{||{{zzz{zz{{|{||{z{{z{zzz{{{{{}{{{{{{{|{{{|{||{||z{|{{z{||{{|{||||{{zz{z{{{|{{|{|{z{z{zzz|{{{{{{{{{zzz{zz{{|{{{|{zz{z{zzz{{zzy|{zzzz{zz{{z{|zz{z{{z{z{zzyzz{{{y{z{zzz{yzzz|{{z{|{z{{{z{zz{z{{{z{{zz{zzyz{{{{z{z{z{zz{zy{zz{z{{{{{{z{zz{{{z{{zz{{|{{{{zz{y{{z{{|{{{zzz{zzzz{|zz{{|{{z{zzz{{z{z{{||zzz{zz{z{{{zz||{{z{{{z{z{{{{{{{{|z{y{zy{||{|z{|{zzz{{z{{||z{{|{|{{z{|{{{z{|{{|||{{{|zz{{{|{|{|{|{{zz{{{z{{||{|{||z{{{zz{{|{{}||||{{zz|{|{||{{{{{|z{{z{|{{|}||||{|{{z{{{{{{{{|{|||z{{|{{{{{{{|||||{{{{{z{{{{||{{|z{{{z{z{{|{|{|||z{z{zz|z{|{|{|{{{{z{{zz{z{|{{||}z||||{{{{|}{||{|{{{{{z{{{|{{|{||{{{{{{zz|{|{|z|{zy{{{zz{z{{{z{{|z|{{zzzzz{z{|{{{{{zzzz|zy{z{z|{{{{yzz{zz{{zzz|{zzz{zzzy{z{zz|{{{zzzzz{zzz{{{{z{z{zyz{{yz{{{{|{{{{zzzzzzzz{{{z{{{z{{z{{zz{z{{|z{{z{{zzz{zy{z{y{zz{zz{zz{z{{{zz{|{|zzz{zz{{{{{{{{{{z{{zz{{{{{{{{{|zz{z{{z{{{|z|{|{{zzy{{zz{|||z{{{{z{{zzzz{||{{{|{{{zz{{{{z|{{|{||{{{{{{y{{|{||{|{{{{{z{z{{|{|{{||{{{{z{{{y||{{{||{{z{{{z{{|||{|||{{|{{{z|{{{z{|||{{y|{{z{{{{{|{{|{zz|{||{|{||{}{{|zz|{{{{{|||{||{{|{z{{z|{{z|{{{|{{{zz{{z{|{{|{}|{|{{z{|zz|{{{{{{zzz{zzzz{{zz{}|{|{|{|{|z{{||{{||{|{{zz{{||{{{}||zz{{z{z{|{{|{|{|{z{{{{{{z{{|{{{{{{zzz{zzz{z{{|}{z{{{z{{z{{{{z{{z|{zz{{{{{|{zz|{{{z{z{zz{{{{|z{z{zzyzzyz{{{z{{z|{{z{zzzyz{z{{{{{|{zzyz{z{z|{{z{{{{zzzzzyyzz{zz{{zzz{zzzzz||{{{{{zz{zz{zzz{{z{z{{{zzzz{z{z{z{zz{{|zy{z{y{yz{{{{{{{z{z{{zz{{{{{{{{|z{y{{z{zz{{||{|{{{z{zzz{{|{{|{|z{{{|z{z|{||{{|{|{{z{z{zzz{{{|{{{z|{|z{{z{{{{{}}}{{z{z{z{z}|||{|{{z|{zz{z{|{|{{|{|z{{{z|{z{|||{|||{z{{{{{{|{||{||{zz{{{{|{{}|{|{|{{{{{{{{{|{|{||{|{{{{{z{{{|{}|{|{|z{{z{{{|{|{{{{{{{{{{{z{{{{|{|{z{{{{|{z{|{|{~|{{|}~z{{{{||{||{|{{{z|z{{{{{{|||}{{z{z{{z{{{{{{|{|z{{{zzz{{{{z{{{{z{zzz{z{{|z{z{{{{{zzzzyz{{|{{|{{{zzzz{{{{|yz||{{zy{z{zyz{{{{|{{zz|{{{z{z{|{|{{zzzzzzzz{{{z{{{{{zz{{{z{yz{z{{{||zz{z{zzzz{{{z{{{{z{zz{{{z|{{{}{|{z{yz{yz{{{z{{{{{zzz{zyz{{|{{{||z{{{{zzzz{{z{{{{{z{{{z{z||{{{z{{{zz{zz{z{{{|}{{{z{{z{|{{{{{z{|{{{{z{{{{{||{|{{{|{z{|{||{{||{|||{{{{{{zz{{{{||||}{{{{z{{z{{|{{||z|{{z{|z{||}{}{{|{{{{{{{{||z{|||||{z{z{{z{|{}||||}{{|{z{z||||{{{||{{{{z{|{|{z}|{|z{|||{z{z{|z|{||z{{{{{zz{|{}{{|{{{{{zz{{z|{{{{|{{{{{{y|zz{{{{|{}{|{{||{||{||{{||{|||z{{{{||||{|}{zzz{z{z{{{z|{}{{{yy{|{{{|{|{|||{{{yzz|z{{{{{{{|{zzzzzzz{|{{z{|{{zzzzzzyz{|{{|z|{{z{{{zz{zz{{{{{z{z{{zz{z{z{{{{{{zzzzzzz{{{{|{{|{{zz|z{{{|{z{{{|zz{z{z{z{{{{|{||z{zy{{zzz{{{{{z{{zz{z{zz{|{{{{{|{z{z{z{z{{{{{{{{{{{{zzz{{{{{z{||zz{zy{z{{{{{|{{{{{{z{zzz{||{||{|{{{zzz{{{}{|{{{{{{zz{z{{{{|{z{|{{{{|{{||{{|{}{|}z{{{{{||||{|||||{z|{{{z{{{{{||{{|{{z{{{{{|||{|{|{{{{z{{{||{|{{|{|{z{z{{z{}|{{|||{||{z{z{{||||||||{|{{{{{{|{||{|||{z{{{zz{{|||||{{{{z{z{{z||{|{}{{{z{{zz{{|{{|{|{{z{z{z|{{{{{|{{|z{{|{{z||||{{||{{{{zzz{z{{|{z||||{zz{{zz{{|{||{{{yzz{zzz{{{||{{|zz{zzz{{{{{{||z{zz{zzz{yy{{z{{{z|zz{{{y{z{{{|{{{z{zz{|z{|{z{{|z{zz{yzz{{z{z{{z{{zz{zz{z{{z{y{z{{{{z|z{{zz{{|{z|zzzzy{zyz{{z{{z|{{zy{{z{zy{{|{{{{{zz{z{zzz{{{{{|{zz{z|{{{{{{{z{{{zz{{zzz{|{{z{{z{{{{{yzzz{|z{{{{{{zz{zzz{{||||{{{zz{z{{z{{{|{{z{{{{z{{{z{{{{|{{{|{{z|{{{{|||{{|||z{|{z{{{}{||{{||{{|{{zzz{|}{|{~|{{{z{z{{{{{{{{||z{z{||{z{|||{{}{{{{{z{{{||}||{}{{{||{z{{|{|{{{||{z|z{|{|||||||||{z{z{{{{{|||{||{{{|{{{{{{{{||{|||{{{{{{y{{{|{{{|{z{z|{{z{{|{|}{|{|{|{{{z|}{{}|||{|z{|z{{{|{||||||||{{||{{}|{{|||{z{|zzz{{{||{{||z{zyyz{z{{{{{{z{{z{z{{{y{{z{z{{z{{zz{{yz{{|{{||z{{{zzzzz{{|{|{{{zz{z{y{{|{|{{{|{{z{{zzy{{z{z|{{}{zzzzzzyz{z{{||{{zzzz{{zzz{{{{{{{{zzzzyzz{{z{{{{{z{zzz{y{{{zz{|{{yzz{zzz{{{{{{{{{z{{zzz{{|z{{z||{{{{{z{{|{{|{|||{{|{z{zz{{{{{z|{zz{{z{|{|{||{||{zz|{zz{z||{{z|{{{{{{{z{y{|||{||}{{{|{z{{||{|{|||{|z||z{{{{|}{{|{|{{{z{zz|{||{|||{{z{{||z{|z|||{|||{{{|{{{|{|{|{|{{{{{{z{{{|||||{|{{{|{{{||||{|||{{{{{{{{|||||||}{|{z{{{{{|{||{||||zzzz|{{|||{{{|{{{{{zzz{z||||}{{{z{{{{{||||{|||{z{{{{{{{{{{{||{|{zzz{|y|z{{{||{|{{z{{{|{{{|zz|{zzz{zz{z{{|z{{{|zy{zz|zz{|zz{{{{{zzz{z{zz{{{z{{{{{{{yz{{{zz{{{{{z{zyz{{zz{{{{{{{z{z{z|z{z|{{{{|{{z{zz{zz{{{zz{z{{z{zz{{zz{z{{{{|{zz{y{yzz{{z{{|{zy{zzzzzz{{{{{|{{{{{{{zz{z{{{{{|{z{z{y{zz|||{||{{{zzz{|{{{{{{{|{|{{{zz{z{|{|||{{{z{z{{zz{{|z{{{{{z{{{{z{|{||{{||{{{{{{zz|{|||{{{{{z{{z{{|{||||||{{{|{zz{||||}{{||zzz{{|z{|||||}{{z{zz{|{}||{|{|}|||{{{z|z|{||{|{|z{{|z{{{|{{{{{|{{{|{{{{|{{|||{{{{z{|{{z||{||{||{{{z{z{{{|{{|}||{z{{|{z{{||{{|{{{{{{{zz{|{|{z|}||{{{{{{z}|{}{{|}{|{z{z{z{{{{{{|{|{zzz{{{{{z{||{{z{zz{zzzz{|{z||{{{{zyz{z{|{{{{{|{{z{z{{zzz|z{{{{{zzzz{y{z{|{z{|z{zzzy{yz{z{|{{z|z{yzzzzzzz{{{z{{zz{zy{z|{{|{z{{z{z{zzyzzzz{|{{{{zzz{yzzzxzzzz{|{{{{yyzzy{{y{zz{zzzzzz{zzzz||zz{{{zzz{z{z|z{{|y{|{z{{{zzz{z{|z{|{zz{zzz{z{|||{{{{{zz{zzzzz{z{|{|{|{{z{z{yz{{{{{{{{{zzzzz{||{{{{z{zzzz{zz{{||{|{||{{|z{{|{{}{{{{{{{zz{{{{z||||{||||{{{{{zz||{{||||{z{{{{{{z||{{|||{{{{z{{{z{|{{{}|{{|{{{{z||{|{z|{{{{{{{{{{|{z|{{{|{{z{z{z{|||||z|{{z{{zz{|{z{{|{|z{{{{z{{{|{|{z{|{z{zzzyz{{|{{{|}{z{{{{{{{|}{||}|{{z{{z{{|{{{{|{{{{{z{{|z{|z|{{|{|z{{z{{z{{|{y{|||{{zzzzz{{}{z{{{{{{{zzzzz{{{{{{z|yz{zzyz{{|zz{zz{{zz{zz{z{{{z{{|{z{yzzzz{z{zy||{{z{zzz|{{{z{z{{{{y{{zzzz{{{|{z|{{zy{{x{{zz{z{{{{z{{zzzzzz{{z{|||{{{{zzzzz{{{{|{{{z{z{z{z{z{{z{{~|zz{zz|z{{{z{{{|zzz{zzzz{{{{{{||{{{z{z{z{|{z{||{|zz{zzz{z{{{{{|{{zzzzz{{{{z{{|{{{zzy{{{z|{|{{|{|z|z{{z{{{|{{||||{z{{{{yz|{{{{{|{{{{{zz|{{|{||{||{z{z{{{{|{|{{|{|||{z{{z{{||}{||{{{{{|{{{|{{|{|{{|{{{{{{{{|{|{||{{{zz{{z{{{{{{||||z|zzz{{{||{{{|{{zz{z|{{z||||{{{{z{z{{zz{{{{{}z|z{|{{{{{|||{{{||{{{{zz{{||{|{|z|{|zz{{{z{{|{{{{|{{{zzzz{{{{{{||||{zzy{{y||{{zz{|{{{{zzzzz{|{{{{{zz{zzz{z{||{|||{{zzz{{{{{zz|z{|{zzy{{{{z{{z{{{|{{zzzyzzzz{{{|{|{z|{{z{zz{{z|{{{|z{{zz{zzz{{{z{{|{{{z{zzzz{zzz{z{{{{{z{z{{|{{|||{zzzz{{|z{{{{{z||zz{zzy|z{{|{z{{{{z{{yzzz{|||{{{{{z{z{y{z|||||{{zzz{{{zz{{{{{{{|{{z{{{{{z{{|{{||{{z{{|{{z{|{|{||{z{{{{{{{||z|||{|{|{{{{{{{|||{|}|{z|{{zzz|{{|||{|{{|{z{|{|||{||z||z{{{{{{{{{|||||{{{|{{{{{|{||{|||{|||{{{{||||{|{{|{{|{{{{||{||{|{z|yzz{{||{{z|}|{{{{{{{{{||}{|{{|{{zz{{z{|{{{|{{{z|{z|z{|{{|{{{||{{z{{yz{|{{{||{|z{{zzzz{z{{{{}{{|z{zzz{{z{|z{|{z{z{yz{z{{{|z{z|{{|zzz{y{{{zz{{{z{|y{zyz{{{zzz{{zzy{{{zz{{{{z{{|z{z{{zyy|{{{{|{{zzz{yzyz{{{z{|z{|yz{zzz{z{|{{zz{zz{{zz{zyzz|yzzzzyzyyz{zz{yzzz|{{{z{{yzzz{z{z{|{{zz|zzzz|{{z{{{{zz{z{yzz{{z{z{|zzz{zzzz{{{{{{|{{{{zy{zzz{|{{{{{{zyz{{z{z{{{{{z|{{{{z{z{{{{{{{{{|zz{{|zy||{||{{{{{|{{{z{{{{||z||}{{{|z{zy|}|{||{|{{{z{z{zz|||{{{||{{{{{{{|{zz{|{{|z{{z{{{||{|||||{{{{zzz{|{{{|{{|{zzz{z{|{{{{|{||{zz{z{{{{{{|{|||{z{zz{{{{{{|{|{|{{z{{{{zz{{}|{||{{{y{zzz{{{{{}||z{z{z{{z{||{{|{}{{{zzy{{{|{|{||||zzz{{zz{{z|{{|||z{{{{zzz{||{{{{{zzz{zzz|{{|{|{{zzzz{y{y{{{zz{{{{{zz{{zz{{{z{{z{z{zzz{{{{|{z{{{{yzz{{zz{{{{{z|{{{{zzzzzz{{|{|z{|{z{zzzzz{|{{{{{{{zzzzz{z{{{{{{|{zzzzzzzz{{{z{{z{yz{zz{{{z|{z{{{|{z{{{{{z{z{zz{{{{z{zyz{{{{{{{{{{z{zzzz{z||{{{{|{{{{{|{{{|{{|{||{{{z{zzz{{|||{||{{{{{{{z{|}{{{{z|{{zz{z{|{|||{{{|z{{zz{{{{{{{|||}{{{|z{{z|{{{|{||{{zz{||z||{|{|{|{{{{{{{||{}||}|{||{{|{{z{|||{||||{||{z{{{{||{{|{{z{zzz{z|{||{|||{{{||{{{|{{|{{|{{|{zz{{{{{||z||{{{{zz{zz{|{{|{{{{z{z{{{{{||{{||{{z{{{{z{{||{{||{{y{|z{z{|{|{{{|z{z{zzz{z{{|z{|{|zzzzz{{z{|{{{z|{{{{zyz{z{z|{{{||zzzzzz{zz{z{z|{{{zzzzzz{|{{zzz{zz{{zzzzz{zz{{z{zzzzyzzz{z{z{zz|{zz{zzzzzz{{z{{{{zzzzzzz{{z{zz{{{{zzz{{zyzzz{z|z{z{zzzz{zz{{{{|{|z{zzzyyz{{z{{{{|{zzz{z{zz{{z}|{{z{{zzz{zz{{{{{{z{z{zzz{z{{z{{{{{zzzz{zzzyz{|{{{{{z{z{z{zz{{|{{{{{zz{zzzz|{{|{||{{{{{{zz{||z||{{{{{{{{{{{{|||{|||{{z{|{{{{|}{{||{{|zzzzz{{|{|{{{|{{{{z{{{{}{{|{|||{zz{{z{{{{|{{|||{{{{{{{{|{{|}{|{{{{{|{{{|{||{{||{z{|zz{||{||{{|{{{z{zz|{{|{||{{|{zzz{{z|||{{{{|{{{zzz{z{|{z{||{z|{{z{{zz{}{{z|{{{{{{{{z{|||{|{{{{z{zz|{{||zz{||{z{z{z{zz{|{{{|{{{{z{{{yzz{{{{|{{{zyzzzz{|z{{{|z{zzzzzyz{z{{z{{{z{{zzzzz{{{{{{z|z{zzzzz{zzz{{{{z{z|zzzyzyz{{|{{|yzz{zzzzz{zzzz||{zz{{yzzz{zz{{{{z{zzzzz{{zz|z{z{z{zx{{zzz{{{z{{{{zzzzyzzz|{z{||{{zz{z{zz{{zz{|{{z{zzzzyz{|{|{{}|z{z{{zzz{{{|{||{{{z{{zz{{||{{{|{|z{{{zz{||{{{{||{{zz{{{z{{{{||z{{{{{z{zz|{{{{|||{{{zz{{z||{||{{|{{{zz{{{{|{|{|||{{zz{{{||}|{|||||{zz{z|z||{{}|{|{{{|{{|{||{|{||{|{{|{z{{z{{{{{{{|{z{{|{|{{||{|||zz{z{{{z{{z{{{|{|{{y{z{z{|{{z|||{{|yzyyz{{|{z||{{|{z{zz{z||{{{||{{{{{z{z{{z{{||{{{zzz{z{{||{z{}{|{zzz{zzz{|{z{{|{z{y{zzy{{z{{|{{zz{{zzz{{{{{{{{{zzzzz{zz|z|zzz{{zz{z{{zy{{zz|{{{{{zz{zzzz{|{{z{{{zzzzzzz{{zz{zz{zzzzzzzz{zz{{{||{{zzyzzz{{{zz||zzzyzzzy{{|{z{{{z{z{zz{{z{{{{{z|{zzzz{zz{z{z{z{{z{zz|{y{{z{{|{|{|{zzzzz{{z|{{{{}|{z{z{zzy{|{{{{||{z{{zzz{{|||{z|{{zz{zz{{{|{{z{||{z{z{z|{{|{||{|z{{{{z{{z{||}{|||{{{z{z|z{||}{{{}{{{{{{{{|{{{|||{|z{z||{|{||||||}|{{{z{z{{{||||{{|{{{{z{z||{||{}{{y{{{{{|{z{}}{}{|{{{{{z|{{{{{{{{{{{z{z{{z{|{{{||{{zzz{{z{|{{{z|{|{z{z{{{zz|{||{{z{|z{z|z{|{{{{|{{{z{{zz{{{{{}{|{{z{|{{{{{|{|{||{{z|zz{{z{|{{{||{{{zzz{yz{||{{|{|zz{zz{{zz{{|z{z{{{zzzzzz{{{{z|{{y{{{zz{z{{z{{|{|{{zzz{zzzz{z{{{{{z{zzzz{{|{{{z{{{z{{z{zz{{{z{{||z{yz{z{zzz{z{{y{|z{zzzz{zz{{{|{|z{zz{{{zz{{{{||{{z{{{z{{{z{zzz|{zz{zzy{|{|{{|{z{{{{|zzzyz{{{{{|{{z{{z{zz{|{{{|{{{z|yzz{zz{|z{{{{{z{{{z{z{z|{{{{|zz{{|z{{{|{{||||{{{{{{|{||{||{{|z{{z{{{{{}|||{}{|{{|{z{{|||{|||{{{{{||{{{|{|||||{{{{{{z||}{|}|{|{{|{|z{{||{{|||{{zz|z{{{{{|{||||||z{|z{{||{{|}}||{{z{||{{||{{|z|||{z{{{z{{||{z{{zz{zzz{z||z{z{{||{zz{zzzz|z|z{{{|{{{{{z{z{{{{|||{zz{{{{y{|||{{||{{{z{yzzzz||{{{{{{zzz{zzz{|{{{{|{{zz{zzzz{{z{{|{{{{{zz{z{z|{z{{z{{zyyzzz{{|{{{{{yzzzzzzz{{{{{||z|zz{zzzz{{{z{zz|zzz{zzyz{z{{{z{|{yzzzz{zz{zzz||{{z{z{zz|{{{{z|{{zz{zzzzzyzzzz{||z{z{{zzz{{{{{{|{zzzyzz{z|{{{{{{{zzz{z{{{z{{{{z{|zz{{zz{z{{{||{|zzzz{{{z{{{|{{{|{{y{{{{|z{{||{}|{|{z{{z{{{{||{}{|{{z{|{{{{{|{{|{{{{z|zz{z||||{|||{{{{|z{z}{{{{||}{{{{z{z{{|z|{{|{{{{{|{{|||{|{||}{{{{{{{{|{}z{|{z{{{{z{z{|{{|{||{{|z{{{z{z{|{{z{||z{{zz{{{{{{{||||{z{z{{{{{z|{{|{{zz{{zzz{{{{|{z|{{{z{{zz{||{{zz{|{z{{{zz{|{{||{||{{z{z{z{{{{z{}{z{{{z{zz{z|zz{}{{{{zz{zz{{{{z{{{{zzzz{zz{{{z{{{z{{z{zzzz{z{z{|{{z{{yzzyz{z{{{|{{zzzy{y{{{{{{z{|{{{{zy{zz{z|{{{{|zzzzy{zzzz{|{{{z{zzyzyzyzzz{{{{|z{zzzzz{z{{z{{{zyzz{zzzzz{{{{z|{z{{zz{{zzz{{|{z|{z{z{y{z{{{|{z|{z{{{|{zzz||{z{|{{z|{zz{zz|{{{{|{{{{{{z{z{|{{{{|{zzz{z{{{|{z{z|||{{{{{z{{{{||}|{|zz|{{{{{{{{|{}}|{z{}{z{z|{|||||z|zz{zzz{{{|||||{{{{{z{{{{{}|{{|{{{z{{z{{{|||{||||{|{z{{z{{{|||||{{{z{{{|{|{{||||z{|{{{|{{{{|{{{{z{{zzzz{{{{{{{||{{zzz{{z{{{{|{||{z{{z{{zz{}|{|{{z{{{|{{{{{{{{|{|{{z{zzzz{|z|{|{}|{{{z|{z||{{{||{{{{zz{z{z{{|z|z|z{{z{z{zz{{{z{z|{z{zy{zzz{z{{{|{zyzzy{zy{z{zzz{{{z{z{zzzyz{z{z{zyz{zzz{zz|{z{{{yz{yzzzyzzzzzz{{{zz{zzzzz{{{|{{{{zzyy{zzzz{{z{{{z{z{z{z{zy{{z{{{zzz{zyzz{z{{{z{|{{zzzz{y{{{{zz|{{zz{zzz{{{z{zz{{|z{{{{zzy{{{{{{{|{z{zzzz{z{{{{zz{zz|zzzzz|{{{{{}{z{z{zz{{{{z{z{|{{{{zz{z{{|||||{{{z{{{{{{|{{||{||{|{{z{{{{}|z|{|||zz{{{{z|{{z{|{|{{z{{{{z{{{{{{{||{{{|z{{{{|||{|}{{|{z{{z{|||{|{{{{{z{{{zz{{{z||{{{z{|{z{z{|}{{{{z{|{{{{{{{{|z{{||{zzzz{y{|{{|{|{{{{z{zzz{{{{|{{|{{zy{zzz{|{{|{|{z|zzzz{|{{{{z{||{{{{zzzz{{{z{||{{{zz{yzzz{|{{{{{{zzyy{{{|{z{{{{|{zzzy{zz{|{{{{{|{zz{|{z{{{{zz{{yz{zzz{y{{z{{{{{{yyz{zz{{{z{{{z|{zz{{zzy|z{{{{{{zzz{zz{zyzz|||{{{zzz{zyzz{z{z{{{{zzzzzy{zzzz|{zz|zz{z{zzy{y{z{z|{|zyzzzzyz{{z{{{|zz{{zz{{{{|{{{{z{y{zz{z{|{{{{{|{z{z{zyzy{{||{{{{{z{z{{{z|{{{{|{{{zzzzyz{{||{z{{|{{z{zzz{{{{|{{|{{|{|{zz{{{{z|{|}|y{zzz{{{{||{||||{{{{{z{||{|{|||{{{z{{{{{{|}|{||{{{|{|zz||||{{|||{{{z{{z{|{z||}|}{{z{{{z{{{{||{||{{z{{z{||{{{{||z{{z{{zz|zz{||||zzz{z{zz{|{||{{{z{zzzzzz{z{|{{|{{zzz{z{z{z||||{|z{zzz|{z}{{{{|{|{{{zzzzz{z{{{{|{{{{{yzy{z{|{z{z|{{{yzzz{{{{z|zz|{zzz{z{zz{|zz{|{zzyz{{zz{{{{{|{z{z{z{z{y{{{z{z{|{zyyzz{zz{{{{{zzz{z{x{yyzz{z{zz{zzzzyzzzyz{z{{|{|zz{zzzzz{{|{{z{{zzz{yzzz{z{{{{{zz{{z{yzzzzzz{{|{z{{zzz{{z{{z|{{{{{yzz{{|{{{{z{||zzzzy{zz{{|{{z{{zzz{zz{z{z{{|{{z{z{zzyy{{{{{{{{{{z|{yyz|{{{z|{|{{zz{{z{z{|{{|||{z|z{{{z{{{|{{||{z{{z{{z{{|{|{{{{zz|{zzz||{{|||{{z{{z{|{{{{{|{{{{{{z|{{{{|||{{|{{{{{{{{{||{|{||{{{{|{zzz{{|{|||||{z{{{z{|||{}{|{||zz|zzzz{z{|{|{|{z{{{{z{|||{{|{{z|y{zzz{{zz{{|{{{{{{{z{{{{|{z|{{{zzyz{z{{{{{{}{|{zzz{zzz|{|z{{{{|z{{zzz{|{{|z{{z|zzzz{z{{z{{z{{zz{{z{yz{{{{z||{{yzz{{zz{{{{z||z{zz{zzzz{z{{{{{|{y{y{{zz{{|{{{{{{{z{z{z{{z|{{z{{{{{zz{zzz{{z|{{z{zz{z{{zz{z{{{{|zz{y{{zzy{zz{{{{{zzz{{zy{z{|{{|{{zzzzzzzz|{|z{{{{zz{{{|z{{{z{{{|z{z{zzz{{{{{{|{||{{z{yz{z|{{|{{{{{{zzzzz|{||{{{{z{zz{{y{{{|{{{{{{{zz{|{{{{|}||{{{{z{z{|{{|||{{||zz{z{{zz|{{|||}|{zzzzz{{{{{{||{}||{z{|{{{{|{{||{|{{zz|{{}}|||||{|{{{z{{{|{{|{|{|z{{z{{{{{{||{{|||{z{{{{{{}||||||{{|{{zz{{{|{{{|||zz{{{z{{{z{{|||{|{zzzzy|{{{{{{{|zzzz{{|z|{{{z||{{z|z{z{|{{{{{{{|z{zzz{z|z|||{{||{y|z{{zz{{{z{{{{{zzzzyz{|{|{{{|zz{{z{{z{{z{zz{{zz{zzyzz{{z{z{}{z{zzzzz{{zz{{|||zzzzyz{z{{z|{{|{{zzzzzzz{{{{{{{{{z{zzzzzzz{zz|{{{{z{{zzz{{z{zz{{zzzzyzzz{z{z{{|{{zz{{{zzz||{{{|{zz{z{{{z{{{{z{{{{{zzzzzz{z{|{|{|zzzzz{z{{||{{{|{{z{{zz{{{{{{{{|z{{|{zzz{|{|z|{{}z|{{{z{z{|{{{{|||zzz{z{{|{{||||{{{{{{z|{||||{||}|{{{{{{{|{{{{{|{{z{z{z{{||{{{||||{|z{{{{|{|{{|{{|{|z{{||{|||||}{|{{{{{||{{{|||||{{z{{yz|{zz||||||{z{{{{{{{{|{{{}|zyy{{|{{{{{{{{|{|{zzzz{z|{{{{||{z{{{z{z{{{z||z{{{z{{zz{{||{{{|{z{{{z{z{{{|||{{|{z{z{{{z|{{{{{{{|z{zzyz{|zzzz{|{{{{yyzzz|z{{{{z{{zz{{{{zz||z{{|{zzz{zzzz{{{{z{{{zz{zzzzz{zz|z{{{zzzzz{zz{{z{{{{z{zz{z{yz{{|{z{{{{{z{y{zzz{{|{|||{zzz{yz{{{{{{z{|z{{{y{yz{{z{{{{{{{{zzzzzz{{{z||{{{zyzzz|z{{{{{{{zz{{{z{zz{z{{|{{z{{zzz{z{{{{{||{{{{z{z|z{{{|||z|{{{z{zzz|{|{{{|{{z{z||zz{{|z{z|{{z|z|y{{z||{{||{z{{{{z|{|{{|||||||z||{zz{|{{||}||||z{{{{{|{z|||{|||{{z{||{{|||{||z{{{{{||}|||||||{||{{{z{{||{|{{{{{{{||{z|{{||{|{{{{zz{{|{{||||||{{z|z{{|{{}{||{{{{z{{{z{{||||{|zz{z{z{{{{{{z{||{{{z{z|z{||{{{|||{||{z{{{{|{|||||{z{z{{y{{|{{||{|zz{{|zz{{{{z{|||{|z{{{y{||{{{||{{{{{z|zz{{{{{|{|{{yz{{zz{{y{{z{{{zyy{z{|{{|{|||z{{zz{{z{{{|{{{{{z{{{z{{{||{|{||{{z|z{zz{}z{{|{{{{{{z{z{{{{{{{}||z|y{zzzzz{{{|{{{z{zz{{z{{{{{|||{{z{{zz{z{|{{|{|z{{z{{z{{{{z{{||{{{{{{{{{{{{{|||{{|{{z{z||||{|{|{|{{{{z{||||||||{{{|{{{{||}{{||{{{|{{{{{|{||{|{|{{{{{{{{{|{|{}||{{{{{{{{}{|||||{|z|{{{{{{}||{|||||{||||{|{}|||{}{|{{{||{{}||{||||{{||{{{{{{}|{{{||{z|{{|{||{}}}|}{{{}{z|{|z||||{{{|{z|{z{||||}||{{z{{z|{{}|{{|||{{{{{|{z{{|{{{z|z{{{{z|z{||{{||}{{zz{z{z{z{{||{|{{{yzy{zz{{{{{|{{zz{{|zzz{{|{{{{{z{zzz{z{z|{{{{{z{{yyz{zz|{{{{|{{{{zyzzzz{z{z|{z{z{z{z{z{zz{{{z{zz{z{y{{z{{{z{||zz{zzzyz|{z{z{|{{zzzzz{z{zz{z{|{|z{z{yzz{z{{z|{{{y{zyzzzz{z{{{{{{y{z{{{{{{{z{zz{{z{z{zzz|{{|{{||zyz{zyzzz{{z{{{{zzz{zz{z{{|{{{{{{z{{zzzz{|{{{{{|zz{{{{zz{|||{{||{z{{zy{{{|||{{||{{z{{{{{{{{|}|{|{{z{{{z{{|{{{|||{zz|{{|z{|{{{||{{{{{{{{z||{|||||||{{{{{z|{|{|||{|{{{|||{{||{|||{|{z|{{{z|||{|}{{{z{|{zz{{{{{|||{|{{{|{{{{|{|||||{{{z{{zz{|{{{||{z{zzz{|z{|{||z{{z|{{z{zz{{z{{{{{{zy{zz{zz{|{{{{|{{{z{{z{{{||{{||{zzzzzzz{{{{{{|{{{z{{z{{z{{|zz{{{zzzzz{z{z{|{{z|{z{zzzzz{{{{z{|{|z{z{zzz{|{z{{{zzzzzyzz{{z{zz{|{z{{zyzzz{{{{{z{{zzzzzzzzz{zz{z{{z{z{yzz{zz{|z{z{{zzzzy{zz{{z{z}{zzzyzz{zzzz{{|{|zz{yzz{zzz{{{{{zzzzzzzz{z||{|{{|zz{zzzzz{z{z{z{{zz{{zy{z{{z{{{{|zz{z{yzzz{{|{z{zzz{zzzzz|{{{{|{{z{{z|{z|{}{{{|{|{{zyz{zy{||{{{{{{z{zz{|{{z{|{{||{{{{z{zz{|{||{z{|{{z{{|z{|{z|{|{z{{|{{{{{{{{{||{{{{{z{{{z{{||||}|zz|z|{{|{|{|z|{|{zzz{|{{{||||||{{{{{|z{||{{{{{|zz{{z{zz{|{|{{|{z{y{{{zz{||z{{|{z{{zyz{y{z|{{{z|{|{z{y{{{|{{{|{|{{{z{zzz{||{||{||||{{z{{{{{{z{|{{z{{{yz|{{z|z{{|z{zzzyz{|{{{{{||{z{zzz{zzzzz{|{{{zz{zzzzzz{|{{{{{{{{z{zzzzz{z{{|zz{y{zz{z{{{{{|{zzzyz{z{{|{|{{||{{z{{yzz{{zz{{|{{z{{zzzyzz{{z{z|z{zz{zzzz{z{{{{{{{z{z{{z{z{{{{{zzzzz{yz{{z|{z{|{{zzz|zz{{{{{|{||yz{z{zzz{|{z{{{{{{{zzzz{z{z|{{}{zzz{zzz{{{{{|{|{{{z{z{z{{{|{{|{{|z{{z{{|{{{||{||{{{|{{z{{|{||{||{{{{{{{{{|||||{|{{{{{||{{||{||||z{|{|{{{|{{{{|{{}{{z{{{{{}{|{{|||z{{{{{{{|||{||{|{{||z{{||z|{}|{{{z{|{|{{|{}||||{{{{{{{z{|{||{{{{{z{z{{{|{{||{|{z{{zzz{{||||{{{|{zzz{zy{{{{{{{|{zzzz{{zy{{{{||||zzzz{{z{{{{y{{{z{zzzz{{zz{{{z{|{zy{{yzzzzz{{z{|{{z{z{z{z{{{{{{|{{z{zz{zz{{{{z{{{y{zzz{yyzzzy{{||{{zzzy{yz{{{z{{{zyzzzyzz{{z{{|{zz{z{yzzzy{{{{{{{zyz{{z{yzzzzz{{{zzyz{zyz{{zz{|{{y{{zzz{z{|{{{{||{zzz{zzz{{{z{{z{{y{z{yz{{{{{z|{|zz{z{zz{z{|{{{{{{{{z{z{{z{{||{|{{z|{{zzz|{{|{{z{{zz{{zz{{{z{{{{zz{zzzz{z{{||z||{zz{z{|z}|z||||||{{{zz{z{||{{{||{{{{{{{{z{|{|||{|{z{|z|{{|{{||}{|{z{{{{z{{}|{|{|{{zz|{{z{||{|{{{{{{{{z|z{|{{{|}|||{z{|zz{{|{|||{{|{yz{{{z|{{{{|{{{{zzzzzz|{||{{|{zzz{{z{yz{{z|{z{z{{{{z{zz{{z{{{{zz{{{zzz|{{|{{{{{zz{z{zz{z{z{{|{{zzz{zzzzz{|{z|z{zz{zzzy{|z{{{{|{{{z{{zzz|zz{{{{|zzzz{yz{{zzzz{{{{{z{zyz{y{{{z{{{zyyzzzzz{{{{{|{|zzzzzzzz{{z{{|{{zzzzzz{{{|z{{|{z{yzzzzzzzz{{z{{zzzz{zyz{|zz{{{{z{zzz{zz{{{{{|{{{zz{zzzz{|{|{z{|{yzzz{{{{{|{zz{{{{{z{y{{zzz{{{|{{{{z{z{zz{{{{{{{{z{yzzyy{{{{||{|{zz{{{z{|||{{|{|z{{{zz{{|{||||{||zz{|{{{|{{{{{{|{z{{{{z{{}||||{{{z{{zzz{{{{{|{|z|{|{z{||{||{|{{{|{|{{{|{{|{}|{|{|z{{{z{zz|{{|z{||{zz|{{z{||{{{||{z{{{|z{||{||{{|{{{zzz{z{z||z{|{{{zzz{{z{|{|{{{zz{{{{zz{{{||{{zz{z{{z{{y|{|{{{{{{z{{zzz{{|{z{{||{z{zzzzz|{{{|z{zzz{zzzz{{z{zz{{{{{zzzzzz{{{{{{{|{{zz{zz{z{zz{|z|{{{yzzz{{{zy{|z{zyzzz{zzzzz{{{z|zzzzzzzzz{{z{y{{zyyzz{y{{{{{{{{{z{zzzz{zz{{{{{{|zz{z{zzyz{z{|{{{zzzyzz{{{z{{{z{{zzz{zzzz{|{{{z|{{zzz{{z{z{z{{z{|zz{zzz{{{{{|{{z{zz{zyzz{|{{{{||{zzz{{zzzz{|{{{{|{z{z|zz{{|{{{z{{{{{{{zzz{|{{{{{{{{{zz{{z{{|z|||{zz{z{z{z{z{|z{||zz{zz{{{z{|{{{{{{z{zz{|z{||||||{{{z{{z{{{{|{|||{{{{{z{|{||{||z|{|{{||zz|||{|{|||{z{z{z|{|z{{{|{||{zz{{{z||{|||{{z|{{zzzz{{{{z{{{{{x{{zzzz{{{z{|{{{z{zzzzz|{{{|{{z|zyzzzzz{{{{{{|{zz{zzzz{{|{|{|{{zz|{{zz|z{{{|{{zz{|zzzzz{{|{{{{zz{z{zzz{{{|{|||{zzzzz{y{{|zz{{{zz{z{{zz{z{{z|{z{{{zz{yz{zz{z{{{zzzyzz{{z{|z{{{{zzyzzzyz{z{{zz{z{y{zzzzzzzzz{{{{zzzyzyzy{zzzz{{{|z{zzzyzz{{z{z{z{z{{z{yzz{zz{{z{{z{yzy{|{{|z{zz{z{z{zz{z{zz{|{|{zzzzzz{|zz{{{{|||zzzzz{z{z{{{|{{|zz{{{zz|{{z{{|{{zzzz{zz{|{{{{{|z|{zz{{z{|{{{{|{{{{{{{{{z{{|{|{}{z|{|zz{{|{{||||{{zz{|z{{||{||||}z{{{z{{{||{|||||z{zz{{{{|{{|||||{{{z{{{||{|||{|{z{{{{{z{{{|{||{{{{|{z{z{z{{|z{|z{{z{{{z{{{z{|||{z{{z{{zzz{z{||{{{{z{z{y{z{z{{{{{|{zzz{z{{|{z{{|{zy{{{{{{|{|{{{|z{zz{z{{{{{{{{|{{zz{zzz{{{||{{|{|zzzz{zz{z{{{|{{|z{{{y{{{|{{{|{{{z{{zzz{{|{z{|{{{{y{z{{z{|{z{|{|{zzz|y{|{{|zz{{{zzzzz{zz{zzzz{|{{{zzz{zz{{{{{{{{zzz{zz{yz{{{z{{|{zz{{z{z{zz{z{|{zz|zz{zz{z{|{{{{|{zz{z{{{{{z{|{|{z{z{zz{z{{{{{{{{z{zzz{{zz{|{|{{{z{z{z|{{|{{{|z|{{{z{{|z{z|||z{{{{{z{|{{{{{{{|{{{z{{{z{{{|{|||{{{{{z{{{{{{{{||||{{{{{z{z{||~{{|{{{{zz{{z||{z||||{z{{z{|{{|||||||{{{{{{{|{||||{|{|{{|{{|{||||||||{{{{{{{{{{||{||||{{{|{{{|{||{|||{|z{z{{|{||||{||{{|{zz{z{||||z|{zz{zzzzz{{{{{|z{{z{{z{yz{{{{|{||zzz{yzzzzz{|{||||zzzz{zz{{{z{{|{|zzzzzzz{{|{{{|{{{{z{zz{{{{|{z{|{zy{yzzzz{zz{{{z{{zz{zzzz||{{{zz{{zz{zzz{{z|zzz{z{y{{z{yzz{zz{{{zzzyyyzyz|{{{z{zzz{z{zzz{{{{zz{{{{{zz{zyzz{yz{{{z{zzyzzzz{z{z{{zz{zzzzyy{zz{{{{z{{{zzz{{z|{{z{{|zy{yzz{z{z{z{{{{zz{z{zy{{{|z{zz{{{{zzz{{{||{{{|{{z{{zy{y{{|{z{{|{z{zzz|z{{|{{|{{z{z{|zzz|{{{{|{{{{{{{|{{|{{|{{{|{{|{z{z{||{|{{{{|zz{{z{z{||{||}|{z{{z{{{{|{{|||{|{{{||{{|}z|{|||{{{|{{{{{||||||{{{{zz{{{|{{|{{|||{z{{|{{{{|||{||{{{{{{yzz||{z{|{{{{z{{{yz{{|{|||zzzz{{zzz|{z|||{z|{zz{zz|{{{{||||{z{zz{z{{|{{|{|{{yyz{{z{{{{{z{{{{zzz{{{{{zz{z{{{{{{{zzz{|z{|{{|{{{{zzzz{z|{zzz{|zzz{{z{{z{z{{{{z{{zyzz{{{{z{{{{zzz{zyzzz{{zy{|z{yz{zzx{zz{{||z|{z{z{zzy{{{zz|{|{z{zzz|zz{{{{{{{{{{zzzzz{{{{z{{zzz|{{zz{{z|{{{|{zzz{zz{z||{{{z{{z{zyz{z{z{{{{{|{{{z{zzzz{{|{{{|{{{{{{z{z{{|||{|||z{{z{{{{{|{|{|{zz||{{|z||{{{|{{|{{z{zzz|{|{{{{{zz{{{{{{{|{||{||{{z{{{{{{|{{|{{||{{{{z{zz|||||}||{{{z}|{||{{{{{|||{|{|{{{{||{|}{{y{{{zz{{{||||{||{{{{{z||{{||{{}|{{{z||||{{||{{|{z|z{|{{z{{{||||{zz{{z{{{{||{|{|z{zz{{{{{{{|{{||z{{{zzz{{{{|{{|{{{zzzz{|{|{zz|||{{zz{z{{{|{z{{|{zz{zz{y{z{|{{{|{{{z{zz{z{|{{{{|{{z{zzzz{z|{z{{|}{{{{z{z{z{|zz{z{z{{{zzzzzz{{z{{{{{z{z{{zz|z{{{{{{yzzz{zz{z{{|{{{zz{zzzz{z{{{z{{{zyzz{zzzyz{z{|{{z{zyzz{zz{|yz{{{{{{z{y{y{|||{z|{{zzzz{z{{{{{{{{{z{z{zz{z{{{{{|{}zz{{zzz{|{{{{{{z{{{zzzz{z{|{{{{{{z|z{z{{{{{{{||{zz{{zz{{{|{z{|||{|{z{|{{{||{||{{{{|z{z|z||{||||{|z{{{zz{{|{{|{|||z|{{{{{||{|||{|{z{|{{{{{{{{{{|{{{{{z|{{{|{|{}}||{{{zz{|{{|||||{{{{{{|z{{{{|z|||{{z{{{z|||{{{||||z{z{{{z{{|{||}|{{zzy{{|{||{||{{{z{z{zz{{||{{|{|zzz{{zzz{{{zz{||{{z{{zzz{{{{zz{|{z{z{{yz{{{{{|||{{zz{zz{{{{|{z||{z{{zzzy{{{{{{|{|y{zz{zzz}z{z{{{zzyzzzzz|{|{z{{z{zz{zzz{zz{{zz{{z{zzz{zz{{{zz{{zzzyzzzzzzz{{{{z{yz{{{{zz{{{{zz|{{zzyzzzzyz{{{z{{zzyz{zzzz{{{z{z{{z{zz{{yz{{z{{|{{zzzzzzzzz{z{{z{{{{z{yzy{zzz{|z{zz{z{zzz{{{{{{{zzzzzzz{zz|{|{|{|{{zzz{{z{{{{{{{{|{{|{yz{z{|{|{{|z{z{{zzz{{|{{|{|{||{{{{{{{{||||||zz|{{zz||||{{{z|zz{{{{{|||{|{|||z|zz|{{|z{{|||||{z{{{||{|||{|||{{|{{{z{|{{|{|||{{{{zz{{{|||{{|{{|{|{{{{|{{{||{|z{{y{{z{{|{||}|{{{{{zzz{z|z{{{{{{{zy{{{z|{||z{{{{zzz{{zz|z{y{{{{{{zz{yz{{{{{{{z|zy{zzzzz{{|{{{{|{{{z{zzz{{|{{{{{zz{y{zzy{zz{|{z|{{z{zz{z{{zz{{{{{{zzzyzyz{{{{zz{zy{zz{z{zz{{z|{{zz{zzzz{z{z{{{{z{{y{zzyz{z{zz{z{{{{zzzz{z{zzz{{zz{{z{zzyzzzzzz{{{z{yz|z{{{zz{{z{zzzz{z{zzzyzzz{{{zz{zzzzz{{z{{{{|z|{zz{{{{z{z{z|zzzyzzzy{{|{{{{|{|{zzz{z||{z|{z{z{{zz{{z{{zz|z}{zz|{{zz{{|{z{{{{|zz{{|z{|{{{||||z|{{z{z{{|{}{{||{{z{{zzz||||z{{{|{zz{z{z|||{{{{|{{{{z{{zz{{|{|{|}{{|{z{{z|||||{{z{|z{{{z{{}{|{{|{{z{{z{{{|{{{|||{|z{{z{z{{||||z|{|{z{{z{{{z{{|}{{{z|{{{{{{z|{{||{{{z{z{z{|{{z{|zzzzz{z{z{{{{{|{{|zzzzyyzzz|{{|{{|{zz{{{{{z|{{{|{{{{zz{{zz|{|{{{z{zzzzyz{|{{{|{{|{zz{zzzz{{{z{{{zzzz{zzzzz{{z{{z{zz{{{{yyz{{{{||{zzyzzyzzy{{{{{|{z{zyz{yz{{z{z{{{zz{zz{zy{{{{{{|z{{yz{zzyz{{{yz{{z{zyyzzz{|{{{{z{{zz|{zzyz{|{{{{z{{zzz{{z{{|{z{||yzz{zz{z{z{zz{|{zz{zy{z{{{|{{|{zzz{{zy{z{|{{{{|{zzzzzzzzz{{{{z|z{zz|z{zz{{{zz{{{|{z{{z{|z{{|{|{|zy{{{z{z|{{|{|{|{zz{zz{{{|{||{{z{{{{{{zz|||{|||||{}{{{|{{|{|||{{{{{|{{{{z{{|{{{}z{{{{{{{|{{{||||{{{z||z|z{|{|{{|{{{{|{{z|{z||}{|{{{{z{zzz{{z|||{|{zz{z{z{|{|{{{|z{z{{y{{{z{{{{|{zzzz{{zz{||z{{||z{{zzyzz{{{z{||{z{{zzzzy{{zz{{{{z{z{zyzz{z{{{{{|{{zyzyyz{z|{{||{||zz{{zy{zzyz{{zz{zxzzzzz{{{zz{{yzyzz{yzzzz|zzzzzyzzyzzyzzzz{z{{zz{{y{z{z{zz{{z{{zz{yzzyzzz{z{{{zzzzyzzzyz{z||{zzzzyzzyzz{zy{{z{zyzzyzyz{z{{z{{|{{{z{z{zzzzzz{{{{z{zzzy{{{{z{|{{z{{zzzzz{{{z{z{|z{z{{yzzz{{{z||{{{zzzzz{{{{{{|||{z{{zzz{{zz{z|{{{z{{{z{zz{|{z{{{z{{zzy|z||{|}|||{{{{{zzz{||{{{{{{z|{|z{z{||{|||{{{z{z{|z{|{{|||{}{{{{{{{{||||{{{|{{{{z{{{{||{{|{|{{z{{{{{|{{{|||{z{{|z{{||{|{||{{{{y{z{zz|||{{{||{{|zy|zz|||{||{{z|zzz{z{{{{z{{{{{z{zzz{{||{{{{|{zz{yyzzzz{{{{{{{|yzz{{{{{{z{{{{{{{zz{zzzz|{zz{{|zyyz{zz{z{{|{{{z{{zyy{z{{{zy{{{{yzyzyz{{{zz{z{zz{{zzzzz{zy{{z{zzz{z{zzzz{|{z|{zz{zzzzz{zz{{{{{{{y{zzzyzzzz|{{{{{yzzzzzzz{{z{{{yzzzzyzyzz|zzz{{{zyzz{zzz|zzz|z|{zz{z{yyzz{z{{{{|{y{zzz{z{{{{{|{{zzzy{z{zz{||{||{{{z{{zzz{|z{||{{{zzzzzz{{|{{z{|z{zyz|{{{{{z{{z{|{{zz{{{|{{|{|{{|z{zz{{{{||{{{|{{|{{{zzz{{{z{{||{{{|z{{{z{||{|{||{{{{{|{{{|{{{|}||{{{{|z{{|||||{|{z{{{z{|||||z|{|z{{z{{{{{{|{{|{|{{z{z{z{||{|||{{{{{{{{{{{|{{{{z{{{zz{zzyz{{{{||{{{{zzzzz{z{z{||z{{{zzz{zz|{{{|{{zz{zz{z{{||{{{||{zzzzzz{{{z||{|{{{zz{z{{{{{{zzz|{z{zzzzz{|{{z{|{yyzy{{{y{|{|z|{z{zzz{zz{zz{z{{{{zz{{zz{{{{{{{{|{{zzzzzz{{{z{|{{zz{z{y{zyz{|z{{{{zzzzzyz{zzzz{{{|z{zz{zzzz{{z{{{{z{zyz{{{z{z{{z{{zy{z{yyyzz{{{|||{zzz{{y{{{{z{|{|{z{zzz{z{|{{{{{{zzzzzz{z{z{|{{{{z{z{zz{zz{{{|}z|{z{z{{{z{{{{{{}{zz{|{|{z{{|{{{|{{zz{{zzz|||}||||{z|{{{{{z|z{{{||{{{y{z{{{|{{|{||{zzz{{{{|{{{{{}||{|zz{|{{{||{{|{{z{z{{|z{||{|||{|{{{{{{{|||{|||||{zz{zz{{{{||{||{|{z{zz{{|{{z|||{{{{{|{z{|{}{{|{|zz{{{{{{{z|{|{||{{zzz{zz{{{z|{{z{zzzzzz{{{{|{||zzzzzzz{{z{{|{{{{|zzz{zz|{{|}|{{zzzzzzzyz{{z{zz{z{zzz{zzz{{z{zz}{zzzzzzzz{{z{z{z{zzz{zzz{{|{{{|{z{zz{zz{|{z{z{z|{y{yzzzy{z{{{z{z{y{zzzyzz{{z{{{{zz{zyzzzzz{{z{||{{z{zzzzzzzzz{{{{yzzzzzzz{{zz{{{{z{zzzy{{{z{zz{{y{zy{z{{|{{z{{||{{zzz{{zz{{{z|||zz{z{z{{z{{{{z{{{{{zzz{{z{||{{{{{zzz{zz{{{{{|{|{{zzz{{zzz|||{|z{{z{zzzy{z|{}|z|{{{{z{z{z{|{||{|{{{{zz{z{|||z{|{{|{{{{{{{|{|{|||{|{z{{|{|||{{|{}||{{{{zz{{{{{{{|||{z{{{{{{|{||||||zz{z|z|{||{{{|{{z{|{{{{|||{{{|{z{{zz{zz|{z|{|{|{{z{zzzz{{{{{{{{zz{zzz{z{{{{{{z{{z{{{zz{z||z|{||{{zzzzz{|{{{{{{{{{zz{z{z{{|{|{|{|zz{zz{{z{{{{{{{{|zyzz{z{{{z{{z{zzzzzzzzz{|z{zzzzz{zzzzyz{zz{{{{z{yzzzyz{{{{z{{zzz{yzzzyzz{|z{{zzzz{z{zz{{{zzz{z|zzzxzz{z{{{{{|{zzzzzzzz{{zzz{z{zzyyyz{z{{zzy{{{yzz{y{{yz{{{{z|{{{zyzz{zz{|{{{{{{{{zz{zz{{{{{|{{{{{zzzz{{z{{|{|{{z{z{zzzzz{{|{||{z{z{{zz{||z|||{{z|z{|{z|||z{||{{zz|z{zz{{{|||{|{z{{zy{{{{|{{{{|z{z{{zz{|{||{||{|z{z{{{{|||{||{}{z|{|z{|{{{|{{{{zz{z{z{{{||||{}{{{{{{{{|{{|{{|||{z{zz{{{|{|{{|||{{{{|{{|{|{|{|{{{{{z{z{z{{{||||{|{{zzzzz{{{{z{{|{z{zzz{z{{{{{{z|z{{zz{zz{{{{|{}{{{{zyz{z{{{{{|{{{{zz{z{z{zz{{{{{{zz{zzzzzz|{{{{{zzzzzyzz{z|{|||{{{zyzyzz{|{z{{|{{zzzz{zz{|{zzzzzz{{{{zzzzz{{zz{{zzzz{zzz{zz{z{||{zz{zzyz{{zz{{{{zz{{z{yzz{||z{{{{zzzz{zyz{{zzzz|zzzzzy{{z{zzz{zzz{zzzzzz{z{z{{|{{z{y{zzz{{{{z{{|{z{zz{z{z{{z{{{{{{{zyzzzz{z{{{{{zz|{z{zz{{{z{|{|{z|{zzzz{|{{{{|{{z{z{y{{{{{{{{|{{zzzz{{z|z|{z|{|{z{{{{|{{{{{|{|{{{z{{{{zz{|{{{{||{{{zz{{}{{{||||{{{zz{{{||{{|{}{{zzzz|z{{|{|{{||{{|{{{{{|||{||{|{zz{z{|{|{{|{|{{{{z{|{z{|{|{||{|z{z{{z{{{z{||{|||z{{{{{{{|{z{||{{{|z{{zz{{{{{zz{y{{zz{{z{||{{z{|z{{zzyzz{|z{{z|{{{zzz{z{z{{{{||{zyzyzzz{z{{z{y{{z{zyyzyz{{{z|zz|{yzyzy{zzz{{z|z{{z{{zyzy{z{z{{{{|zzzz{{zzz{{{{z{y{zzzzzz{{{{z{{{zzzzy{y{{z{{{{{zz{{zy{zzz{{zy{{zzy{yzz{zyzz{{{{{zzzyzzzz{zz{{{zzzzzyzzyyz{{z{z{zzyzzyzyz{|{{{{|{zzzzzyzzz{{zz{{{yzz{yz{zz{{{z{|{{z{zzz{z|zz{z{{{zzzz{{zz{|||{{|{zzz{{zzz{{{z|{{{{zz{|{zz{{{{{{{|z{{{{{{{{z{{|{|||{z{{zz{{|{{|{|{|zz{{{{{{|||{|{{{{{zz{z{||{{|{|{{{{z{{{{z|{||{||{z{zzz{{|{||||{||zz{z|{|{|{|{{|{{{z{|{z{z{{|{||{{{{yzzzz{{{{{{|{{{z{z{{z{{{{{{{{{z{zzzzz{z||zz{{{{{z{zzzz{{z{z{|{zzzzz{z{{{z{{{|zz{z{z{z{{{{{||z{zzzzz{{z|{{{{z|{z{z{{{zzy{{{|{{{z{{zz{zz{{{{{{{zzzzz{zz{{z{{|{zzzzzzzzz{{zz{{{{zzzzz{zz{{{{|{{{{z{zzzz{{{{{{{{{zzzzz{{z{{{{{{{{zz{zzyzzz{zzzz{{zzyzzzz{z{z{{{{{zz{y{{yzy{z{zzz{{zzz{zyzz|{z{{z{zy{{yy{{{z|zz{{{zz{z{zzz{|{z|{{{{z{{|z{zzz{{{|{|zyzzzzyz{|{{{{|z{zz{{zyz{|{{{{{||z{zz{zz{{|{{|z{z{{z{|{z{{{|{{||{z{{{z{z{|{|{|||{zzz{z{z{|{||||||{{{{|{z{|{||||{|{{zz{|{||{|||||{{{{|{{z{{{|{|{{{{zzzz{{{{{|{{{|{{{{z{z{z{{{{{|}{{{{zz{z{||{{|||{{z{z{zz{|z{|{|zz|zz{zzz{{{{|{{|{z{zzzzz{{z{{{{|zzzyzzzz{z{{{z|{zzzz{zzz{zz{z{||{z{{zzzzz{{z{{|zzzz{yzzz{{z{{{{{zzzzzzzy{{{{{|{{yzzzyzyyz{zzzz{zzz{zzzyz{z{{{|z{zzzzzzzzz{zzzz|{{yzz{yzz{{{{|zz{{{z{zzzzyz{{{{z|zyzzzzzyzzzz{z{{zzz{zyz{z{y{z{z{zzzzzzzyzz{{{{{zzzzzz{zzz{{{{z{{{zzzzzyz{{{z{{{{zzz{{zzzyz|{z{{{{zzz{y{zz{{z||z{{zz{zzzzz{{{{{|{|zy{|{zz|{{{{||zzyzz{{zz{{{{}{{|{{{{{{zz{|{z{{||{{{{z{{z||}|{||{{zzzzz{{{|{{{{|{zz{z{z{y{{|{{{{{|{{z{{z{z{||{{{|{{|zzz{{||{|{{}{{{z{{y{z{{{{||{|{{{{|{z{{z{|{|{{{z{zzzzz{}{|{{|{{{{{{zzz||{{{{|{{z{z{{|{{z{{{|y{{zzz{{zzz|{{|{||z{zzz{{{{z|{|{}|{{|{{zzzz||{|{{{{zzzz{z{z{{{z{{{{{{zz{|y{{|z{{|{{{{zzy{z{{z{{z{{zzzzzzzzz{zzz{|zzz{zzzzzz{z{z{z|{zzzzyzz{{{z{{{{zz{zzzyz{{{{z{{zzz{zzzyz{{z{zz{{z{zy{zzxzz{z||{zzz{zzyzzzz{{{{{{zzzzzzzz{zz{{{{|{{zz{z{{z{z{{{{{z{zzz{zzz|z{{|{{{z{yzz{z|{{z{{||z{{{{yz{z{||{|{zzy{zz{z{{|{||{|{z{z{z{z{||{{{{{{{zz{z{z{z{|{|||{{{z{z{|{|{|z||{|{|z{{z{z{{{{{}|{{z{|z{z{{||z||||{{{z{|z||{{|{{||{{{{{{|{{|||{{{|||{|zz{z|||||{|||zz{{{{{|z{{|||{{{z{{{zz{}||{{|{zz{{|zzz{|{}{|{{{|z{zz{z|z{{||{{{{{z{z{z}|{|{{{{{{zz{{z{z|{{{z|{z{z{{yyz|z{{{{{{zzyyyzzz{z{{|{||{z{zyzz{{{|{{{{z{{yz{{zz{z|z{{z|z{z{{{z{{{z{z{|z{z{z{zyy{{{zz{zz{z{z{yzzzzz{z{{{zz{{zz{zy{z{{{|{{zz{zzyxy|{y{zz{zzzzzyzzzz{z{{{{{yzz{zzyz{zzz{z{{zzyzy{zz{zz{{z{z{zzzzyzzz{y{z{{{z{zzyzzy{z{{{{{zzyyzz{z{z|{{{{|zyzz{zzz|{{z{{|{{{{{{y{z{{|{||{{{z{z{zzzzz{{{{|zz{{{{{z|{{{{{{{{{zz{zz{z{{|{{|||zz{{{z{{||||{|{|z{z{zzzz{{{{||{{zzzzz{{{{|{|{{{||{{{z{{{{{||||{|{{zz{{{z{||{|{{|{{|{{z|{{||{{{{{|z{z{{z{{{{|{{{{{z{{{{{{|{{|{|||{z{zz{z{{{{{{{|{|{y{{z{{{{{|{|{|{z{zzyzz{|z|z{{{z{{zz{yzyz|{{{{z{zzz{{z{{{{{z|||{{yyz{zzz{|{{|{||z{{zyzz{{{{z{{|{{z{zz{z{{z{{{{|{yzz{z{{zz{{z{||zz{{zzzz{{{{{{z{zzz{{zzzz{z{{{|{zzzxyyzzz{z{{|{{z{zyzzzy{{{{{{z{{z{zy{yy{{{{{{{{zzz{zxzz{z{yz{z{{{zz{zzyz{z{{{|zzzzzzy{{zz||{{{|{zzzz{zzz{{z{{{{{{{{{z{{|{{zz{z{|{z{yyzz{z{z{{{{{y{{{zz{z{{{{|{{zz{zyzyz{z{{|{{{{zz{{zzz{|{{{||{{zzz{{zz{{|||z{|yz{zz{{{{{{|{|||{{{z{zzz{|{||{{{{{{zzzz{{|{{|{{{{|{{z{z{{{|{||{|{z{zz{{|{{|{|{|{|{||{{z{||||||{{{z|{z{{{{{{||||||{{z{{z{||{|{{||{{{{{{z{z{{{{{{|{{{zzzz{|{{{{|{z{zz{{{zz{{{{{|{|z{z{{{yyz{{|z{{{{z{z{{zz{|{{{{z{{{{z{y{zzz{{{{{{{{zzzzzzz{{z{z{|{{{yyz{zz{{{z{{{zzzzzzzyzzz{{{{zzzyyzzzzzz{{z{{{{{zz{yz{z{z{z{{{{{zzzy{{{zzz{||{{yyzzzzzz{{z{{{z{zz{zzzzz{zzz{|{zzzzyyzzz{{z|{{{zzyzz{yyz{y{z||{yzzzzz{{zz{{y{zz{zzzzzzy{{z{{z{|{z{zzy|yz{{{{|{{z{z{z{{zz{|{z{{{{{{z{yzz{||{{{{z{{{y{{yz{{{{z{{|{{{z{{zz{||{{{||{y{{{|{{{|{{{|||{{{zzz{{|{{{{||}{{{{zzzz|{|}{{||{z{{|{{{{}{|{{|}{zzz{{{{y{|{{|}{{{zz{{{{{|{||}|||z{|{z{{}{z|{{|{|{{z{{{|{|{{{{||{{{{{zz{{{{|{{{{z{zz{zzz{{{{|||{{{zzz{zz||{|{z|{|z{y{{z{{{{{{z{{y{zz{{{z{{{|{{{{z{zz{yzzzz{{|{{{{zzyzzz{{{{y{{{{zz{z{{|{z|{{{{{{{{{{zzzz{z{{{|{{zzzzz{zz{{{zz{{{{yz{yz{zzz{zz{{{zz{{zzyy{{yz{{|}zz{yzzyz{{{|z{|yzzyyzzy{{{{{z{zzzzzzyy{{zzz{z|{zz{zzzyzz{{{{zz{zzz{zyzyy{zz{|{{{y{zzzzzz{{|z{{||zzyz{x{z{{{{zz|||{zzzy{{{{{{{|{{{{z{zzzyz{{{{z|{{zzzz{{zy{{{z{{zzzzy{zyz||{{z{|{{{zz{z{y{{{{{|z|z{{{|zz{z{|{{|{|z{{{zzz{|{{{{|||{{z{{z{z{{{z{{||{zz{{{{{{|||||||{{zz{z{{{|||||{|{z{{{{{{{|||||}|{z||{{zz{{{{{|{||z{z||z{{{{|{|{|{{{zzz{||{{{{||{{{{yz{{{z}{|{{||{{{zyzz{{z{{{||{{z{{zzz{{{{{{|zzz|zz{z{zy|z{{{z|zzyzyzzz{z{{{{{|{zzyzz{{{z{{{{|{{y{{{{{{z||{zz|{{zzzzzzy|z{{{{{|{zz{z{{{z{{z{{z|{z{zy{z{{{zzz{{zzzzzyzzz{zz{{{z{zzzzzz{zz{{|{{z{zzzzzzyzz|{z{zz{{zzyzyyz{{{{{z|zzzzzyyzzz{{zz{{{y{zzz{zzz{zzz|{{zzzzy{{zz{{{z{{z{z{z{zzz|z{{{z{{z{{{yzzz{{z{|z{|z{zzz{zz{z{{{z|{{zzzzz{zz{z|{{|z{z{y{z{z{{|{z|{{zzzz{{{{{{{|z{{{zzzz{z{{{z{{|z||{|{y{{{{{{|}{{||{{z{{{z{||{{{{{{{z{z{|{{|{|z{||}{{{{z{{|{{{{{|||{z{y{{z{{|||{|{}|{z{{{zz{||{{{|||{zzz{{z|{{{|{|{|z{||{{{|{||{|{|{{z{|{{{{{|z{{}||{z{zz{zz{{|{{{|{zzzzzzz{{|{{}{|{y{{{{zy{{|z{{|{{zz{yzy{{{{|{{||{{zz{{zzzzz{{{{{z{zyz|z{{{{{{z{{{zzzz{zy|z{{{|{{zzzzzz{zzzz{zz|z{{{zzzzz{z{zz{zzzyzzz{zy{z{{z{zz{zzzzzzz{{zz{{{{zzyzzzzzz{{{{{{{zz{zzzyyz{z|{z{{{zzzzzzyzz{zz{{{{zzzz{zzz|{z{{z|zzzz{zzy{{{{{{{{zy{zzyzz{{{{{z{{{z{zzyzy{zz{{z{|yz{{{|z{{{{zz{|{z{{z{z{{z{|{{{{|zzzzzyz{|{{{z{}{{z{{z{zz{{{z{{{{zzzzz{yz|{{|{}z|{{{zz{{z{{{|z{||{{{{{z{{{{|{{z{|{z{{{{|{|{|||||{z{z{{{z|{{|{|{{{{z{{{z|{{|{{|||||z|{{z{{{{{{{|}{{z{{z{{z{{{|{|}{|{z{{{{z{|{|{|||{{{{{zzz{{{|{{{|{{z{z{{{{{|{{{|{{z{{{{z{z{{{{{{{{z{{zz{z{zz{{{z{z{z{yz|zzz{{||{|{{zz{{zzzz{{|{||{zz{{zzzz{{{|z{|zz{{zy{zz{yz{|{{{zz{zzzzyz{{{{{z{zyzzyyz{z{{{zz{{{zzzzzyzzz{{zz{zzzz{yzz{z{zz{{{{z{z{{zz{{{{{{z{z{zzzyyzz|z|zz{|{zzyzzzzyz{z{{z{z{zzyzyzzzz{z{{{zzz{zz{y{z|{z{{zzzzzzz{{z{z{{}{{zy{z{zzzz{|{{|{|zzz{zy{{{{{{{{{{zz{z{zzz{|{z|{{{{z{{z{y{{{|z{{||zzzz{zy{{|zz{{{{{{zz{{{z|{|{{||}z{zz{z{z{{z{||||{zzzzzz{{{{{{{{||z{{{z{{{|{{{||{|{{{{||{|{|z{}{||{z{y{z{z{||{{|||{{{|{|{{{|{|{|{{zz{{zzz{{{{|{}}{{{{{{{{|{{{|{||{{zzz{z{{{|{{{{{|{{{zzz{{{|{{{{{z{zzzzz{{{{{{{|zzz{yzzz{{{{z|{z|{{zzz{{z{{z{z{{{z{zz{zzz{|{{{{{z{y|zzzz|{{{z{zz{zz{yzzzz{z{{{{{{{zzzzz{yz{{{z{{{zzzzzzzz|zz{{{|{{zzyzzzy{zz{z{|{zzyzyz{zz{||z{{zzz{zzzyz{zzz{{{{zzzzzzzzzyzzzz{{{zzyzzzzzzzzz{zzzzzyzyzzz{zz{{{{yzyyzyzzy{{z{{{{zzyy{yzyz{z{z{{z{z{zzz{zzy{z{{{{zz{yzzzz{{{zz{z{zzz{yy{zzzz{|{|{|zzzz{zz{z{{z{{z{zz{z{zzz{{z{{z{{{z{|{z{z{{{{{{{z{zz{{z{{{z{{{{|{{zz{zzz{|}|{{|||z{{zzz{|{|{|{|{{{{z{{zz||{{}||||{y{{{{z|}{|{|{{|{z{{{{{|{{{{{|{{|{{zy{{z|{{|{}|{{{{|{z{|{|||{|{{z{zz{{y{|{z|{|{|z{{{{yz{|{||{{|{zzzz{{z{{{{{{{|zzzz{yzy{{|z{{{{yzzzy{z{{z{{{{||{zzzz{{y{z{z{|{{zzz{zzzz{zz{zz{{zz{z{zzzz|{|{{{|z{{z{zzy{z}zzz{{{zzzz{zzzz{{z|{z{z{yy{yzzzz{{{z{zzzzzyzz{{{{{{{{zz{zyzyzzzzz{{z{z{zyyzzzz{{y{{{{{zzzyyzzz{zzz|{z{zzyzyyyy{{zz{{{zzzzzzzzzzy{z{|{{z{yzz{{zz{{{z{{{zz{zy{z{z{{z{{{z{{zyzzz{z{z{{|{z{{{{yzzzz|{|{{{{z{z{zz{z||{z{{{{{z{{z{{{||z{{{{{z{{{z|{{{|{{{{{{{zz{{|{||{|{{||{{{zzz{z{{{{|{{{{|{{{z{{{}{||{{|{{{{z{|{z|{|{|||{|z{{{{{|}|{{|||{z|zy|{{|{{||{|{{{|{|zz{{{||{|{{|{z{{zz{z{{{{|{{{{{z{zzz{{|{|{}|{{yz{zz{{{{{{|}|{zzz{zz{||{{{|{zzz{z{zz{z{{z{{{{{zzzzzzz{z{{z{{|{zz{{|zzzz{{{z{{{zzzzzzz{{z{z{|{{z{zy{{x{z{{{{z{{zzzyy{z{{{{{{{z{y|{zzy{yzz{zz{{zzzzz{yyzz{zx{z{zzzyyzzz{z{{{z{zzzzyz{zz{z{{{{{{{zzzzzzzyzz{zz{{{zyyy{zyyz{zz{zz{zzyzzzzz{zzz|z{zzyzzz{y{zzz{{{{|zzzzzzzz{{{|{{}{z{zzzzzzz{{z{z{{z{zzz{zz{zz{{{z|z{zzz{zz{{|{{|{{zzz{zz{{{||z{|{z{{{{{zz{{|{{{{{{z{zz{zzz|||{{{{zzzzy{z{{|z{{|||zz{z{{z{{{{{{z|{zz{{{z{z||{{|{{{z{{z{{{{{|{z{||}z{|{{{{z{{||{||{{zz{z{zz{|{{{{|{{zzz{{z{|{{zz{{|{z{z|{{{{{{|{{z|{z{zz{z{{{{||{|{|{{{zzz{{{{z{||{zz{{zzz{{{|z|{||{zzzz{yzz{|{z{{{{{zzzzzz{{zzz{{|{{{zz{{z{{{{z|||{{zzz{zzz{||{{{|{{zzz{|zzz{{{|{{z{zzzzzzy{{{{|{{{{{{{zzzz{{{z{{zy{{y{{zzzzzzy{{|zy{{{zzzzz{yz{{{zz{{z{zy{z{zz|{zy{zzzz{{{{zz{z{{zzzzzz{zzzzz{z{{zzzzy{yyzz{{z{{{zzz{z{zzz{{{zz|{{{{zzzzz|{{{{{{{{z{z{zzz{{z{{{{{z{zzzz{zz{zz{{{z{{|{{z{zz{z{||{{{zz{z{yz{{{{{{|{zzz{{{{{{{{||{{{z{{z|z{|{{{||{||{zz{{{{z{{{|{{|{{{zzz{zy||{|{||{|z{{{{|{||{{{{||{|{{{{{{{|{{{{{||{z{{{{z{||{z||{{{|{zz{z|{|||{{|{{{{zz{{||{{{{||{{{{{{{{||{|||{}{z{{{{{|{{{|{{||{{{z{{z{{||{||{{{{{y{z|z{|{{{z{{{zzzzzyz{{zz{{||zzzzzzzz{{z{{{{{{{{yzz{z{|z{{{||zzz{zzzz{|{|zz{{{z{yz{zz{{|{{{z{zzzzz{zzz{|{{{{{{zzzzzzzz{{{zz{|z{zz{{zz{zz{{{|zzzyyzzzzz{{{z{{zzzzzyyzzzzzz{z{zzz{zzzy{z|{zzz{yz{zzzzzzz{z{zzz{zzyzyzzz{{z|{{{|{z{zzyzzz{{{{{{zzyz{{zyzz{zz{{{|z{{{zy{z{|z{z||{{{{zyz{z{{z{|{|{{z{zzzz{{|z{{{{|{y{z{zzz{{z{{{}{{z{z{{zz|{{{|{{z{{{{{{{z{{{{{{||z{y{zz||{{{|{|{|{zzz{z{z{||{{|{{|z{{{zz{{||{|{||{{{{{|{{{|{||||||{z{{{z{z|{|{||{|{{{{{{{|{||{}{{|zz{{{zz||{{|{|{{{{{{{z{|z||{|{{}{|zz{{z{|z||{{{||zz{zzy{|{{{{|{z{{{{y|{{}|{{y{{zzzzzzzyy{{{{{{zz{zzzyyz{{z{{{|{{zzzzz{zy{||{{{{z{{z{{zzz{{{z{|{zzz{zzzz{{zy{|{{yzzyyz{zz|{{z{{{zzzyzzzzzz|{{|{{zzzzz{zzzzz{z{z{yzzzzzzyzz{z{{yzzzzyzzzyzz{z{{zzzzzyzyzzz{{{zz|z{yzzz{zzzz{y{zzzz{{zyyzzzzz{{{z{{{z{y{zyz{{{{|{{{zzz{z{{z{|{{|{|zz{zzzz{zzz{z{{|zzzzzzyy{zzz{{{|{zzzzzzz{|z{{{{|{zzzzz{{{{|{{{{{{zzzz{zzz{{z|{y{{{{{{y{{{||||{{{z{z{{zzz{{{|{{||z{{|{{{z{{|||||||{{zzzzz}|{||||||z{{z|{|{||{|{{|}{y{{{{{{|{|{z|||{{{z{{z|{{|zz||{{{z{{z{{{{|||{{z{zzz{{{{|{|{|||{z{yzzzz{|{{|{{{zz{{z{{{{{{{{zz{{z{z{y{z{||{{|{{z{{zzz|{z{|z{{{zzzz{zyz{{{{z{{{{{zzzz{zz{z{|{{{z{z{zz{zz{{{{|{|{{{{zz{zy{{{|{z{{zz{z{zz{{{{{{{z{{z{zz{zzz{z|{{{zz{{zzzyzzz{|z{{{z{zzyzzzzz{{z{{{{zzzzyz{zz{z{{z{z{zzzzyzz{{|z{{{zzz{zzzzzz{zzz{|{zzzzzzzzzz{{{{{zzzy{zzy{{z{z{{{zzz{{yzz|{{|z{{|{{{z{z{zz{{{|{{|{{zz{{zz{|z{{|z||{z{zz{zz{||||{{{zz{{y{z{{{z{{|z{{{z{z{{{||z{{{{|{z{{zzz{{{{||{{z{|{{z|z{{z|{{{|{z{{{zz{{{{z|||{{|{{|{{{||||{{}|{|{zz{{{||{{|||{{{{|z|z{{||||{||{{{{{{|z||{|{{|{{|z{{{z{|{{{|{{||{z{zz|{{{{|{{||{{{zz|z{z|{|z||||{z{{{{z{|{|{{{|z{{{{{z{{|{|z{z{zz|zzz{{z|z{z{z{z{z{zzzzz{{z{{|{{zzzz{{y{z{z{{{{{{zzzz|z|{{{zz{z{zz{zz{zz{{{{{{|zz{{yz{z{|{zz||z{y{zzzyzzz{z{{{{|{zyzzzzz{zzz{y{zzzz{yzzy{z{y|{{zzzzzzx{z{z{{|{zzzzzyzyzz{{zz{{zzzzyzyzyzy{{z{z|zz{{zzzzz{z{z|zzzzzzzzzzz{zzz{{|{{z{zyzy{{z{z|{{{{z{zzzz{{{zz|{{{z{zy{z{{{{{{|{{{{z{{y{{z{||{{|zz{{z{{zz{{{zz||{{z{z|{{z{|{{zz|{z{zz|{{{{{z|||{|z{z{{{{{{{|{||{|{z{zzz{y||{|{}|{{{{z{{{z{{||||||{{{{z{}{||{|{||z{{{{z|{z{|{|{}{{{{{{zz|{{{{||||{|zz{|{z{{||{{|{|{{{z{{z|{|{|||||z{{{z{z{{|z|{{|{}|{{{z{{z|{|{{{|z{|z{{z||{{||{{{z{zz{zzzz|zzz{{{z{yzyyyy{z{{{{{{zzzyz{zyz{{z{z|{{{zz{z{zz{{{zz|{{zzzzzzz{zzzz||}zz{zzzzy{{zz{{{{{{zyzyzz{z{zzy{zzzzz{zyyzzz{{z{{yyyyzzyyz|zz{zzyz{zyz{yzzzzz{{zzzzzyyzyz|{|{{{{{{z{z{zzzyyyyz{{{zzzzz{yzz{zzz{z{zz{zzyzz{{{zz{|z{zzyzzzzzz{z{{{{{zzyyz{y|{zzz{{|{zz{zzzz{z{z{{z{{zzz{z{{y{{{yz|{zzzzzz{z{z{zz{{{zzzz{zzy{{|{{{||zz{y{{z{{{||{{{{zz{z{z{{||z{{|{|{{{zz{zz{|||{{{z{z{zz{z{}{{{|||{{{zz{{{{{{z{{{{|}z{{z{zzz||||z||z{{{{{{z|||{{{|{{z{{{{{{z{|{{||{{{{{|zy{{|{{{|{|zz{z{zz{{||z{||{z{z{zz{z{|{|{{{{{zz{{z|{|z|{|{{{z|z{zzzzz{zz{zz{|{zzzyzy{{{{zz{{zyzyzzzz{zzz{{{|{z{zz{yzzzzz{{||z{{{yzzz{|{z{{z{zzyzz{{zz{{z{{{|z{{zzzzz{{{z{|{{zz{zz{zz{z{{{z{{{zzzzzzz{z{{|z{yzyzyzzzyzz{z{{{zzzzzzyz{zz{zzz{{{zz{zyyzyz{z{{z|{zzyzzzzyzzz{{{|{z{{zzzzz{z{zzzz{{zz{yzzz{|z{z|zzz{zzz{z{{z{z{{|{zzzzyzz{zzzz{{{|{zzzz{z{{{z{{{{zzzzz{y{z{|{{{{|{zz{y{zz|{{{{||{{zzzzzz{{{{||{z{z{zzz{{{|{||{{||{y|{zy{z{{|{{{|{{zz{z{y{{|{|{||{{{{{||{{|{|{{||{||{{z{{{{{{|{||{|{{{z{{z{{{{{{||{{z{{zzz{}|{||{{|{z{zzzz{|{{|{}|z{z{{zzz{|{|{{{{|{{{z{zy{{{|{||{{z{y{{{z{{||{{|{{{zzzzzy{{{{{{{{{z{zzzzzzzz{{{|||z{z{z{z{z{{{{{{{z{{zzz{zz|z{{z{{zzzzzzy{{{{{z{zzz{zzyzyz{z{z||z{{zz{z{zz{{z{z{z{yzz{z{z{{z{z{{{zzzzzzzyz{{{zz{z{{zzzzyyzz{{{z{{{z{yzyzyzzzzzz{zzzzyyxyyzzz{zzz|z{yzzyyzzzzyy{{zzzzzz{zyzz{{{z{{{zzz{yz{zz{{z{{{zz{z{zzz{{{{z{{{{{zyzyzz{z{{{{{|zzzzzz{z{{{|{{{{z{zz{{zz{{|{{z|{{{z{zy{zz|{{z{{{{{{z{{{z{{|{|{|{zzzzz{|{|z{{z|||{{{{zzzz{|{{{{|{{|{{zzz{|{{{||}|z{{{z{{z||{||||{|{{zz{{{|}||{{{|{z|{{zz{{|{{||}|{zz{{{zz{{{|{{|{||{{zzz{|{{{{{z|z{z{z{{z{z{z{{|{{{{{z{yz{{{||{z|{z{{{z{z{}|}~{{{{{zzzzzyy{z{{{{{zz{z{{{z{z{{{{{{{zzzzzz{{z{z{{|z{z{zzyz{{{|{zz{{zzzzyzzy{zz{z|{|{zy{yzzz{{{z{{zz{zzzyz{z{{{zz|zz|zzz{zzzzzzzz{{{zzzyzyzzzzz{{{z{zyzyzzz{zz{{{zz{z{zzzzyyz{zz{z{z{zzz{zzyzz{zz{z{{yyzzzz{z|{z{{zz{yz{zzzyzzzzz{{{{zzzzzzzz{{z{{{{{z{zz{{z{{{{{{{{zzzzyz{{{{|zz{{z{{{yzzz{{{z{{{{{{z{{zy{z{{{{|{|{{z{{zzz{{{{{{|z|z{{{z{{z{{{{{|{|{{|z{z{{{|{{{{{z{{z{z{z{{{{|{{|{|z{z{z{z{|{{{|||z{z{z{{{||{|{{||||{{z{z{{|{|{|||{z{{{{zz||||{|{{|zzz{{{z|{{{{z|{{z{zz{{z{{{|{|||z{zzz{{{|{z{{||{z{{|zzzy{{{{|||z{{{{yz{z{||}}{{|zzz{zyzz{{{zz{{{zzzzzzz{z|{{|zz|z{{yzzz{zzz{|{|{zzzz{zz{|z{|z{|{zz{yzyzzz{{{{{{{{z{{zzzzzzzz{{{{|zzyzzzz{z|{zzz{zz{zyzyy{z{z{{zzzzzzyzzyz{z{{{yzzzzzyzyz{{zzzzzzyz{zzzzyz{{{z{z{{y{zzzzz{z{zy{{{z{{zz{yzz|zz{zzzzzzzzzzzzzz|zz{zzzzyzzz{{{z{z{{z{z{y{zzz{zz{z{{{zy{zz{zyzzz{{{{|z{{zzz{zz{{{{|{{{{z{{zzz{{{z{||{{{zzzzz{z{{z{|||zzzz{{z{{{|{{||{{{{|{{|{|{{{|{||z{{{{{{{{|{|{{|{{z{{zz{{{{{{|{||{|{{{{{|{{{|{|{|{|{zzz{{{{{{{||{|{z{{z{{{{{|{{|z{{{zz{z{||{||{}|{z{|{z{z|z{|{{||z{zyz{z{{{{{{z{|{{{{z{yz{{|{||{{{z{{z{{{|}|~}{{{zzzz{{{z{{|{{{z{zz{zzzz{{{{{{|}z{zzzzzzy{{z{{{{|{zz{{{{z{{z{{zz||{z{zzzz{{{{{{{{zz{zz{zy{{z{{{|{{|{{{y{{z{z{z|z{{z{zyzzzz|z{y{z{zz{{zzyzyz{zz{|zzzzyzyzzzy{z{{|{zzzzyzyyzzz{{{{{zzyzzyyz{zzyz{{{z|z{zzzzz{z{z{{{{z|zzzzyz{{{{z{z{{zz{zyzz{{{||{|z{{{zzzz|z{zz{{|{yy{{z{z{{{|{{{{|{{z{{zyz{z{{|{{z{z{zzyz|{{{|{|{{{{{{{{z{{{{{{||{zzz{{{z{{||{|{{z|zz{{{{||{||||||{{{|{z{{{|{{{|{{{{z{y|z|||{{|||{{|{|z{{z{|{{|{|{{{{z{{{z||{||{}|{{|z{{{{|{|}{|{|{{{{{zz|||{|{|{|{{{|{{{{{||{|{|{{zzz{z{|{{z||{{z{|z{z{{z|{|{|||{{|z{zz{|}}~}{{{zzzyz{{zz|z{{{{||{zzzzz{{|{|z{{{{zzz{{zzz|{{|{|{{yzzzzy{{{||z{|{{{|zy{{z{{|{{zz{zz{zzzzzz|{zz{z{zzzzzzzzz{{zz{{zzzzzz{yy{{{{{zy{zyzzzyzzzzzz{{|z{zyzyzyzzzz{{z|{zz|zzzzz{{{zz{{{zzzyzyzyz{{zzz{{zzzzzzzzzz{zz{|{zzz{z{zz{{{{z{|{z{zzz{zz{z{{{zz|{z{{{yz{{{{z{||{zzzzzzyz|{{{{{|{{z{{{z{{z{{z{{|{{zzzzzzzz{|zz||{{{{{zzz{z{|z{}{|{zzz{z|z{{{{|{||z{z{z{{z{}{{zz||z{{|{{{z|||||{{{{z{{z{||||{{{{|{{{{{{z{z{||{{||||z{z{{{z{||{{||}|z{{{{{{{|{}{|{{|z{{{{{||z{{{{{|{{{{{{{|{{||{{{||{{{z{z{z{{{{|{{|{z{z{{z{{{||{{{{{{z{{{{||||}{{{{z{yzzz{{{|{{{{{{{{zz{z{zz{{{|||z{zzzzzz{{{{{{{|zzzz{{{z{|{{z{{|{{{zz{zz|{{|{|{{{zzzzz{z{{{z{{|{|yzyzzzyz{{{{{|{{{{zzzzzz{z{z{{{{y{zzz{zzzz{{|{{zzzz{y{{{{|{{{{{zzz{zzzyz{z{{{{{{z{{zyzyzzz{{{{{zzyzzzz{{{{z{|z{z{z{{zzzz{z||{{{{z{{zz{{z{zz{|{{zzz{yzzzz{{{{{|{zz{z{zz{||{{{{|{{{{zz{zy{{{|z|{{{{{|zz{{{{|{{{|{zzzz|zzz{{{||{|{|{z{z{|{{{|{{{||z{{z{||{|||{{|{|{z{|{z{z{||{|{|{|{{{{{{zz{{||{||{z{{z{|{{}|{|||{|zz{|{z{z|||||}{|z{{{{{{{{{|{|||{z{{{{zz|{||{|||{{z{{z{{|{{|||||z{{z{z{{z{{{{|{{|||{{{{{{{{{{{|{z||{{{{||||}||{{z{yzzzzz{|{{{{|{z{z{zzzy{z|zz{{{{zzzz{{{{|{||{{z|zzzzzz{{z{|{{z|{zzzzz{z{{{{{{{{zz{z{zzz{{|z{{{{{{{zzzzy{{|{z{z{y{zz{zyzz{|z{{{{zz{{yyzzzzz{z{{|zy{zzzyz|z{{|{{|z{zzzzz{z{{{{{z{zz{zyzyz{z{z{{{zyzz{{{zyz{zzz{{{z{yzz{zy{{{{{{z{zzz{{yyz{{|z{{{{{{{zzzz{{|zz{{{|z{zz{y{{{z|z{{|{{z{|{z{z{{|{|{||z{zz{{zz|{{{{{{z{{z{{{y{{{{{{z{|{zzzzzz{{||||||{z{||{{{{|z{{{}{{{z{z{zz{{||{|{|||{|{{{{z{|{{|{}||{{z|{{|z|||{|||{z{{{|{|{}||||{{|{z{{{|z{{|{{|||{{{|||{{{{||||{{{||z{z{{{{{{|{{{z{{{{{{{|{{|z{|||{|zyz{{z|{{{{|{|{{z|zz{{|}}}{{{{zzz{zzzz{{{z{|{zzz{zzzyz{z{{{||zz{zzzyz{z{z{{{{zz{y{zz|z{|zzzz{{zzzzz{yz{{z{{{{z{{zz{zyz|zyzz{{{zzz{{zz{{{zzzz{{{z{yzzz{{zzzz{{zzzzzz{yzz{zz{{z{zyzzzyy{zz{{{{{zzzzyzzz{{zz{{{{zzzyyy{yzzz{z{zzz|zzzzzzz{zzz{{z{z{zzyyzz{{{z{z|{zz{{{{yz{z|zz{zzzz|zzzz{zz{{|{{zz{{zyzyz{{zz{{{{z{z{zz{zz{{{{z{{z{z{zzz{{{{{{{{{zz{{z{{{{z{{{z|{zzz{{{{{{|{{|{||{{{{z{{{{z|{{||{z{{{zzz{|{{|||{z{{z{z{{||{{{{||{{{{{z{|{{{{{{||{{{zz{{{{}|||{|||{|z{{{{{{{|{{||{zzzzzz{{{{{{||{{{zz|{{{z||{||||zy{z{{zz{{{z{z||z{{{z{zzz|{|||{{{{zzz{z{|{|||{z{{{zzzz{z{{{z{z|{zzzyzyz{{z{z{{{{{{zzyzz{|z{{{{{{zzzyyzzz{{{{yzzz{{zzzyzy{{{{{{{{{zzz{yzzz{{yz{{{zyzzzyyzz|zzz{{{{zzzz{zzz{zzz{{{yzzzyzzzz{{{zzz{zzyzyzzzy{z{{z{{{zzyzyyyyzz{{z{zz{{zzyyyzz{y{{{{{zyyzzzzzzzz{{zzz{{{yzzyzyz{{{|{z{zz{zz{{{zz{|zzzzz{zzzz{{{{{{{{zz{zzzz{{{{{{{{z{{zz{z{z{z{{{||{z{{{zzzz|{{{z{{{zzz{zz{{{{{{{z|{z{{z{{zz{||{z{|{|zz{{{z{{{{|{|||{z{z{{{z{{|{{{{{{z|z|z{z{{}{{|||{{|{z{{z{{{{{{{{{{{{z|{{{{|{||{|{{z{{z{{{|{|||{{{{{{yzz{{z{{{|||{z|{{{zz{{{|{|||{{zz{z{z{{z{{{||z{{zyz{{z{|{zz{zz{{zz{zz{{||}{zzzyzyyy{yz|{z{{{{zz{yzzyz{{{z{{{{{zzzz{zz{{{z|{{{{z{zyzzyzz{{{zz{{{{zyz{y|{z{{z|{zzz{zzzy{z{z{|zzzzzzzyyz{{|z{{{{zzyyzzzz{zzzzz{z{yzzyyzzzz{zzzzz{zzzzzyzz{{z{z{{z{zzzzzzzzzz{z{{{yzyyzzyyzzzzzzzzy{xzyyzzz{{zz{{zzyzyzyzz{zzz{{zzzyzzyzzy{{y{z{{z{yyzyzzz{{{{z{{zzzyyz{z{{{z{{{{|z{{zzy{{z{{|z{|{z{z{{zz{{|z{{|{yz{z{zzzz{{{z{{{z{z{{{zy{{{||{|{{{z{zz{{|{{{{{{{{{{{z{zz|{||{{|{{z{{{z{{{|{z|{||{{{zy{{z{{z{||||{|z{{{{z{|{{|{{{{{{zzz{z{{{{{{{|{{{{{{{{|z{{|{{{{zz{{{z{{|{{||{{zzy{zzzz{{{{{{{{{zzz{{zzz{{||{{{zz{zzz{{{{|}|{{{zzz{zyzzz{{{{{{{{{{zzzzzzz{{z{{{yz{yzzzy{{{{z{{z{zzz{zzzz|||z{|{{zzyzzzz{z{{z|{{zyzzzy{zz{zzzz{zzyzzzyzzzz{{z{z{zzzyyzzy{z{{zzzzzzzzzzzzzzz{zzz{zzz{z{zy{{{z{z{|{zzzyyyxzz{zz{{{zzzzyyzyz{{z|zyzzyzzzzzzz{zz{{z{zzzz{z{zzzz{zz|{|zzzzyz{|{{{zzz{{yzzzzzz{z{{{{||zz{zyzz{{{{{{{z{zz{{zzzz{{z{{{{zz{{zz{{yz|y{{{{zzzzzzzz{zz{{z{|{z{z{zz{z{{||z{{{y{zzz{{z{|{{{{{|{{{{{{zz|{{{{||z{{{z{{{{{|{||{{{z{|zz{{zz||{{|{{{{{{{{{{{}{|{{||zz{{{|z|||||z|||z{{z{zz{{|{{|{{}|{y|{zzz{{{|z{{|{{z{{|yzzz{{z{{||{zzyzzzz{{{z{{{{{{z{z{z|{{{{{{zzzyzzz{yz{{{z{{z{zzzzyzz{{|{{{z{{z{y{zzy{{z{{{|{zzz{zzzz{z{{{{{{|z{yzzyzzz{{{{{{yzzyz{zyyz{{z{{z{yzzyzyzy{{z{{{yzz{zyzyzzzz{zz{{z{zzzzzzz{{z{{{{zzzzyzz{zz{zz{||zzzzzzzyzzz{{{{zzzzzzyz{{{zyz|{|zyzzzzzz{z{zz{{{zz{zzyzzz{{{{zz{z{yz{zzz{{{{{{|{{zzz{y{z{{{{{{||{{{z{zzzz{{{{|{|z{{z{zzz{|{z|{{{{z{z{{{zz{{{z{{{{y{{yzz{{{{{|{{{{z{zz{{{{{{{|||{zz{zzzzz|{{|{{|{{z{zz|zz{|||{{{||{zz|{{{z|{{{{|{z{{{y{{{z}{|{{|{|{{{{{{{|{{{|||||{{{z{z{||{{{||{{{{z{{{{{|{}||||{{{{{{{{||{}||{|z{zyzy{zz|z||{|{{zz{{z{zz{|{z{|{{z{zzz{{{||||{{|{zyzzzzz{{{{{{{|z{zzy{yy{zzz||{{zzzz{y{{{{z{{z|{{z{yzzzzz{{|z}|{{{zzzzzyzz{{{{z{zz{z{z{yz{{z{zz{{{zz{zz{{z{z{{zzzzzzz{zzzz{{yz{{zyzzzzzzz{{z{{{{zzz{z{zy{{{{zz|zzzzzzyzzzz{{z{{{zzy{yz{y{{zzz{z{{zyyyzyy{{zz|{{z{{{z{{yyz{z{{{||zy{zy{zz{{{{{{{{zz{zzzyy{z|{{|{{{z{z{{zz||{{{|{{{z{{{z{{{{z{{|{{zz{z{{{{|z|z{{{z{|zz{{{z|{|zzz{{{z{{{{{{{z|{{{|{{{z{{{{{|{|z{|||{z{{|zz{{{|zz|{|{z{{zz{{{|{||}{{{z|{z{{|{{|{||{{|z{|y{{{|}{|{{|{|{{{z|{z|{|{|{|z{z{{{{z|{{||{||{{{z{|{{z{{{||{{|{{zz{{{{{{{{{{}|{z{z{zzzz{z{{{||{{z{zz{z{{{||{{{{{{{{z{z{{|{{{||}{z{zz{z|{{{|}z|z|zz{{z{{{{{||||z{{z{zzy{||{{z{{{{{z{{{{{||{{{{|{z{{{{{zz|{y{{||z{{zz{z{{z||||{{zzz{{{z{z{z{{{|z{{zzzzzz{{|{{{{{{{z{y|{{{|{{{{{{{{y{zzz{z|{{{{{|{z{z|{zyz{{{z|{{{zz{{zzz{zz{||{z{y{zz{zzz{z{{{|{{{{|z{{z|{{{{||{{z{zzz{z|{|{{|{{|{{{{{{{{{|{{||z{{{|{zz{{|{|{||{|{z|{z{z{|}|{{|||{{|{{z{|||{{||{{|||{z{{||||{|||{{|{{z{||{{|}||{|{{|{{z{{{|||{{{|{{||{z||}||||}}|{{{|||||||||}|}|{{|{|||{||||||||z|{{{{{||{|{|||}{{z||{|||{|||||||{{{{{||||{{{|}{|{{|z{{||z|||||{{{{{{|{{{{|{{||{{{{{z{{{||{{{zzzzz{{zz|{{{z{{z|{|{{zzzzz{{z{{{{zzz{{zzz{{{{{|z|zz{z{z{{{z||{z|{{{zz{{{z{{|{{{|{{zzzzzyz{{{z{{|{{{z{zzzz{{{z{{||z{{zzzzzz{{|z|{{{y{{zyzz{zz{z{z{{z{{z{zz{{{z{{{{z{z{yzyzz{{{{{||{z{{z{zz{|z{{{{z{zzz{zzz{zzzz||{zzzzz{{yz{{zz||{{zzz|z{z{|{y{|{|{z{zy{|{{{{{{|{|zzz{z{{{zz{z{|{{{{z{yz{{{|{|{{{{|z{zzzzz{{|{{{|{z{{z{{{z{{||{{{{{zz{{z{{||||||||{{|{z{{{||{|{{{}{z|{{{z{}|{{{}|{|{{{{{{z|}|}{{||zz|z{|{|||||{||||{{{{z|z{|{|{||||z{{{{{||||{||||{{{{{zzz{||{|{{{|{{{{{{||{{|{||{{{{{{z{{z|{{z|}||{{z{{zz||{{{|{{z{{{{y{|{||{{{{|z{zy{{|z{|{{z{||{{z{{{{z|{{|{{|{{{{{z{{z{{{{{|}|{{z{zz{||{}}y{}{z|{y{z|z{{{|{{|}{z{{{z{z{{{{{{{{{{z{|zyz{||{{||{{z{zzz{||{z{{{{{yzzz{z{z{{{|{{|{{z{{z{z{{{{z|{|{z{z{{zyzz{{{{{{|{{{z{{zzz{{{{||{{|z{{{z{{|{{{|{|z{zz{yyzz{{|{{{{{zzzzz{|{{|{{||{|{{{zz{z{{{|}{{{{||z{{{{{{}{{||{{{{{zzzz{||z}{{{{z|zz{{z|{|{{}|{|zz{zz{|}|{|{{|{|{z{{|{|||||||{|zz{{z{|{{|{|||}}{{||{{{z||{{|{|||{{{{{|{||||}|}}{{{{{||||||{|{||}{{{{{|{z~}|{||||{|{z{||{||||||||{{{{z|||||{{|}|{{{|{|z{|{{||}||{{{z{{{{||{z{{||{|{{z{|{{|{}{|{{{{{{{zzz|||{|{|{{{{{zy{{{{{{{{{|{{{{zz|{{||{|z{||y{zz{zy{|{z||{|{z|zzzzz|{{{{{{{{zzz{{{y|}{|{{{|z{|{{{|z{{|{{|{{||{{zzzz|{{{{{{|{zz{z{zz{{|{{{{{{{zzzz{zz{{|{{{{zzzzz{z{z|{{{{{{{{{{zy{z{{{{{{|{{zzzz{{{z{{{{{||{z{zz{z{z|{{{{|{{z{{{zzzz{{{{{{{{zzz{z{z|{|{z|{{zzz{{z{{{{z{{{{|{z{|{z{{{{{{{}{|{|{{{z{{{|z{||{z|{{z{{zz{{|{{{|{{{{{{z{{|||{{|{{{{{{{|{{||{|||||{{z|{{{{{{{|||{||{{{{|{{|{}{{|{{|z{|}{z{||{{|||}|{|{{|{{{||{{}{}|{{{z|{{|}{||{{||{{{{|{{{{|}|||||z{|{{z|||||}||||{|{z{|{{{||{||{{zzz{{zz|{||||||{{{{z|{{{}{||{{|||{z|{{{|{{{|{{|zzz{{zzzz|{{{{{|{{{{zz{y|{{{||{||{{zz{{{{{{{{{{{{|{zz{yz{{|z{{|{zzz{{z{{zz|{z{{|zzz{{{{zy{z{||z{{zzzy{zz|{{{{|{z{zyz{{zy{{{{{{z{zzz{zz{z{{z{{z{{zzz{zz{z|z{{|z{{zz{z{{zy{{z{{{z|{{{{{zzy{|{{{{{|zzyy{z{zz{z{{||{{y{{z|z{z{{zz{|z{z{y{z{z{|{{{{{||{||{{{z{|{|{{{z{z{z{{z{{|{|{{{{||z{yzzzz|{|{||{{{zzzzz{|{|z{{|||z{zzzzz||z{||{{{{{{{{{{{||{|||{{{zyz|{{|{|||||||{{{{{zz{{|}|{|||z{{|z{z{|{||||||z{{|{{|{}{|{||||{{z{}|||||||{}{|{{|{{{{||}|{||{{{{{{z{{z|{{||||||{{{{{{{|{}|{|||{{{{{{||{|||{|{|z{{y{{{||||{||{{|{{z{z{{|{{{{{z{{{z{{{z{z}{}{||{{{z|zz{z{{||{{{z{z{{{{z{{|{{{||{{{{{{z{{{{{{{||{{{{zy{z{|||{{{{{yzzzy{z{z{z{{|{{z{{{y{zz{|{z{{{{z{zzzz{|z{z{{z{{{|{{{zz{|{{z{|{{z{{zzzz{{z{{||{{{{{zz{z{{{|||||zz{z{z{z{z{zz|{|{z{z{{zzz{{{y|{|{z{y{zzz{|{|{|{|{{{z{zzz|{{|{{||{{{{zz{{{||z|{|{z|{{z{{{{|{{{}|{|{{|{{{{{|{|{}||{|z{z{{{{{||||}|{|z|{{zz|||{||{|{{|{|z{{{|||}|}}{||z{z|{{{}|}}}}||{{{z{{||||{|}{|{{{||{{{||{|}}}|{|||{{|||{{|||||{z{{{{{{|||||}|{{{|||||}|||||{{|{|{{{{{|||{||||{|{{||{{||||{|||z{|z|{{{{|{{{{||||||{{}{{|{|{|||z|{{|z{z{{{{{{{{z{{z{z{{{{{y{{{|z{{{zzzz{{{{||{|}{z{{z{z{|z{|{{{{z{zzzzy{{{|z{|{z{zzz{{z{z{z||{}z{{y{yz{zz{z{{|{{{zz{zzz{|{{zz|{z{zz{{{{{{{{{|{{{yz{{yzz{|{z{{{{z{{zy{zz{{{z||{{zz{zzzzzyz{{|z{{{zzyzzzzz{{{z|{{zzz{zzzzz{{z{{||{zzz{{zz{z{z{{{{zz{y{y{z{{|z{{|{{z|{zzzz{z|{{||{{{{z{z{{|z{|{{{{{z{yz{{z{||||{||{{{|zz{z{||{{|||{z{{zz{{|{{{{|{|{z{{{{{{{{||{||||z{{zz||{|{{z}|}{{{||z{{{|||||{{{z{z|{{||||{{}{}{z|{{|{{|||{|||}|{z|{}{z||||||{||{{{|z{{||{||{|||{z{|||z|{||{|||{z{{|{{{|{|||}}||{|zz{z{{{{|||}|zz|z{{{z{{{|{||||{{{|{zz|{||}{{{|z{{z{{{z{|{{||{z{z{{z{z{{|{{||{zzzz{z{z{{||||{|zz{{z{zz{zz|{{{{z{zzz{zz{{{{{{{{z{{{z|{{{|z{z{{|z|{{{{zzz{{{{{{zz{zyz{zz{z{|{|{{{zzz{zzz{{{zzz{{z{zzzzzz{|{{zz||{zzzzzz{z{{{z{{{zzzyzyzzz{{{{|{{{zzz{{zz{{z{|||{zzzz{{yyz|{{{{{{{{{{|zzz{|{{zz{{z{{z{{{|{{|{{|{{{zzzz{|{{{||||{|{{{|{{{|{|{}{|{{{z{|{{{z||{{zz{|zz{{{zz{{|{{{{{||{|{|z{|||}|{||{{z{|{{{{||||{|}{|z{{{z{z|{|{{||{{{{{{{y{|||{{|||{|{|{{{{||z{||}||{{{{{|z|~{|{|||{{|{{zz{|||||{|{|{z{{{z{{{{|{||}|{{{|z{{{|{{}||||{{zz|z{z{|{{||{|{zz{zzz{||{|}|||{||{{{{{||||{z|{{{z{zzzz{||{{{{z{yzzz{z|{{z{|{{{zz{zz{z{z|{|{||{z|z{zzz|z||zz}{{z{{zzyy{{z{||{{{zz{z{zzz{{|{|{z{zz{{{yzz}{{z{z{yzzzyz{z{{{zz|||z{zz{yzy{z|z{z{{zyzyyzyz{z{{{{||{z{{z{zzy{{{z{{zz{{z|zzyz{z{{{{{z{zyzz{{z{zz{{{{{z{z{{{zz{{{|{|{z{z{yz{z{{|{{z|{{{{{{z{|{{|{{{{{{{zz{zzz{|{{{{{|{{{{|z{zz{{{{{z{{z{zz{z{{|{{{{|{{{{y{{{{{||{{{|{|{{z{z{{{||{{{||{{{{{{{{|z{{||||{z{{{{{{||{|{||z|{{{|{z{|||{|||{{{{{{|{{||z|{||||{z{{{{{{||}|{|{}z{||{{{{|{{||{|{{z{{{z|{{{{|}}||{{z|{{{z|||{|||{{{{{z{}||{|{|{||{z{{{{{{|{|{{{{{{{z{{{|{{{{zz||z{yyy{zz{|{zz{z||{zzzzzz{||z||{{||zzzzzz{{|{{{{{{zyz{z{zz{{|{{|{{{{z|zzz{z{|{{||{z{zzzzzyz{|z|{{|zzzz{yz{{{z{{{{{zzz{zzz{z{zzz{|{zzzzz{{z{{{{z{zzz|zzzyzz{{{|{{|zz{{zzzz{z{{z{{{{zzzzz{yzz{zz{{{{yzzzz{{{|z{{{{{zz{{{{yzy{{{{z|{|zzz{z{z{z{{{|{|{z{{z{z{z{{z|{|{{{zzz{z{|{{{{{{||zzz{z{z{{{{||{||{|z{z{zz|{||{|{{{{{{z{zz{{|||{{{z{z|z{zz{|{|{|{|z{{zz|{{|{|{{||{{{{{{{z{||}{|||{{{{{z{|{|||}{{{{{z{{{{{{{|{{|{||{{{{{{{||z{}{{||{|{{{{z|{{}|||||{{{{{z{|{|{|||||{{{{z{{||{}||z|||zz{z{{{{z||||{|{{zzz{z|{|{{z|{{zzz{{z{{|{|||{{zz{zzzzzz{}{{|{z{z{||y{z|{|{{||{{{{zzz{z{{{zz|{{|z|zz{{{{{{|z{{|z{{zy{{y{|{{|{{|{{z{{{{z||{{{||z{z{{z{zzzz{{{|{z{z{{yzzz{{{{{{{{zzz{{{{zz{z{{{z|{{{{zzzzz{||{{{{z{zzzz{z{|{{{|||{zzzzz{zz{zz{{z{z{{z{{zy{{z{{{||{y{z{zz{z{|{{z|{{{zz{zzzz|{{{{||z{zzzy{z{{z{{{|{{{{{{{zz{|{{{|{|{z{z{z{{{||}{|||{zzzz{{z{{|{|{|{{z{{z{{{{||{|{|{{{{z{zz{{{{{{||{{{z{{{{{{{{||||||{|{z{{{|||||{{{{{{{{{z{{{{|{|}{zz{{{{{|||||{{|{|{{{z{|{||{|||||{{|{|z{|}|||||}{|{z{|zz{{||{{{|||{{{{|{{||z|{|||{{{zzzz{{|{||||{{{{{{{zz{{||{|||{{{zzz{{{{||||{z{{zz{{{{z||{{{{{z{zzz{zzz{{{{|}{zzz{z{{z||{|{|{{{zzy{{{zz{{{|{{|{{{{yzzz{{{|{{{|{{zz{{{{{{{z{{|{{{{zyzz{z{{z{|{{{{zzy{z{{|z{{{|{{{zz{y{z{{{{{{{{{z{{zzzzz|{{{{{{{z{zyzz{z{{{z{{{zzzzzzzz{{{{z{{{{zzz{{{z{{z{|{|{zz{zzz{{|{{{{{{{{{z{{z{{z|{|{|{|{{{{z{{{{{{{|{{|{z{{zy|z{}z{{{|{|{{{{zzzzz{{|}||{{{zzzyy{|{{{{}{{z{{z{{{|}{||{{|||{{{{{{{|||{|{|{{{|{{{{|z{}|||}{{{{{z{{|{{||||||{|{{{{{}}|{|{|||||zy{{{{}{}}||||{z{{{{{{}|}|}|}{{{|{{{{}{{{|||{{{||{{{{{||||{{||zz}}|{{{z{}|||||||zzz{{||||||{|{|}{z{{{||{||||{|{|z{zzz{{||||z{{z{{zy{z{{{z||{{{z{{z{zz{||||||{{{zz{{{z|{{|{{||z{{{zzzz{||{{{||z{{zzz{z|z|{z{{{|z{{{z{z{{{{{||{z{{z{{zz{{{{{z{{zz{z{y{z{z{|{zz{y{{z{zzz|z{{{|{{{{{zzzz{z{{z{}|{{{z{z{zy{{{{{{||{zzzyyyzz{z{{{{zz{z{zz{zz{y{{|{{zzzzz{zz{{{{{{|{{{yzzz{z{{{{|{|{{{{zzz{{z{}{{|||{zz{{{{{{||{{{|{{{{z{{{z{{{|{|{{{{|{{{{{|{|{|{|{{zz|zzz{{{||{|{|{{{{{{{{{{}|{|{{{||{{{{|||||{}||{{z{|{z{|{|||{|{|{|{{|{|||{}|}|{{{{z{{{{|{||||}{|{{{{|{||}{|||||{{{{{{|||||}{||{{||}{||{|||{|{|{|{{z|{{{||}|{{|||{z{{y{{{||||||||{{{{z{{{|}{{{|}z{{z{{zz|||{{|z{{zzzzz{y{z{{|{|{{zz{z{z{{|{{{{{|{{{z{{{z|{z|||{{{{{zz{{{{{|||{||{{zz{zzzzz|zz{{|{z{{zy{zz{|{{||{{|{z{|{{{||{||{{{z{{{{zz{{{{z{{{zzzzzzzzz|{||{{{{z{{zzzz{{{{{{|z{{{{z{z{z|{{zz|{{zzzzz{zz{{{z{{z{{zzzz{z{{zz{|{{{{{z||zzzzz|{{{|{{zzzz{{|{{|{{{|{{{{{|{z{{{{{|{|{z{|z{{{{||{{|{{|{{|z{z{|{{{|||||z{{|zz{|{|{||{{|{{{{{z|{|}{{|{{{z{{z|{z|||}||||{|z{{{{{{||||||}|{{{{{z||||{||{||{{{|{z{|||||}||{||{|{{{{||||}||{{||{|{|}{||||{|}{{||z{{||{|}||{|{{|{{{{{|{{{|||||z{{{{{{|{|||||{{{z{z{{||z|||||{{|{{{{{|||||||{{{|{{{zzz{|}|{{{z{zz{z|z{{|{{|||{{zz{z{{z{{|{{{|{{{zzy{{{{{||||||z|{z{|z{{{{{{z|{{zzzz{{|{{{|{z||{{{z{{z{z{{z{{{|{{{{{{zz{}{{{{{{{{y{z{z{{z{{{{{zzzz{{z{{z{|{z||zzzzz{yzz|{z{{{|{|{{yzzz{|{{{|||||z{zy{z{|zzz{{{{zzz{zzz{{{{{{{{{{z{{yzy{{{{z{|{{{|{{{{z{||{{|||z{{{{{zz{{||{|{||{zz{{{{{{{{z|}|{z|z{z{z||{||{|{|zz{z{{||{|{{||{{{{{z{z{{||{{{||{{|{|{{{{|||||}{{{{{|z{{||{|{{||{{{{{{{{{||}{||{|{{{|{z{{||{}|{|||zz{|{{{|||||||}{{{{{{{|}|||||}|z{z{{{||{{|{|{|}{|{|{{{||||{}}}{|{||{z{||||||||{||z{y{{z|||{|||||z{{|{z||{}||||||{{{{{{|{||{}{|{|zyzz{y{|z{|{{|{{{{zzz{{zz{||z||{{zzz{z|{|{{{{|}z{z{zz{{{{}{{{|{{|zzz{z{zz{z{||yz{{zzyz{||{{{{{{z{z{zz{{{{{{{z{{{zzzz{{{||{z{||z{{zzzzz{{z{{{|{{{{zzzzzz{||{{{{{{{zzzzzz|{{{{|{{z{{zzzzzz{y{{{{z{{z{{{{{|z{|{{|zz{y{y{z|{{{|{|{{zzzzzz{{{|||||{{{zzzzz{{{z|{{{|{z{{z{{z{{{|{{|{zz{{{z{{|||||{{||{z{{{zz{{z{{{}||z{{|{{{|{|{{|{||z{z|||z|||||{|}|{{{{{{z{{|{||||{z{{{{{{{|{||}||{{z||z{||{||||{||{zz{{{|{{{{|{}|||{{||{||}||{|{||{{{z{|{||{|{||{|{{~||z{{||{|{{|{{{|{||{|{|{{|{|{z{{|{|{{{|||{|||{{{{{zz{{{||z|{{{zz{||z{||z{|||{{z{|zzz{{{{{{|{|{{{z{{{{{|{||{|{{{yz|{z|z{{{||{{{zz{{{z{{||{z{}{{z{z|zz{{{{{{||||zzz{{z{{{|z{{z{z|{zzzz|||{{{{{z{{{y{z{{z{{{{|{zz{zzz{z{{|{z{|{zzz{yzz{{z{{|{{{{z{zzzz{{|{|z|{|zzzzzz{zz{{{|{z{y{{z{zz{{|{|{|{{{z{{{zzz{{|{|{{|{z{z|y{{|||{z|}|{{{zzz{z{{{{{{{|{{z{{z{{|||{||{}{{{{{zzz{{{|{|}||z{|{{z|{||{||}{|||{{z{||{|{||{{|{|{||zz|{{{||{|{{{{{{|{|{{|{|||{||{{z{z|}}|||||||{{|z|{|||{|}|}{{{{{|}|||{}|{}|}{{{{z|{|}||||{||z{{|||{{||}|}}||{{{{{z{||{||}}}{{{{{{z|{}|||{||{{{{{{|{|||{|||||{{z|{|{z||{{|{|{{{{{{z||||{{|z{{z{z{zzzz{{z{{|{{zzzyz{yz{{{|{{{{{zyzzzy{{{zz{z|{zz{z{zz{|{{{{|z{z{zzzzz{{z{{{{{zzzzz{yz{{{{{{{{{zz{z{zz{{|{{|{{z{{{zzy{{{z{z{|{yzzy{yyzz{z{zz|{{zz{yzz{{|z{{{|{z{{{{{{z{{{{{{||yzzz{{zyy{{{{{{{{{zzzz{z{{{z{|{}|z{|zzzz{{{{z{|{{z{{zzz{||z{|}{}{z{{z{{z{{z{{|{|z{{{{z{{{{{z|{{{z{{zz{{{z{{{{{||{{{{zzzz||||{||z{z{z{{zzz|z{{{||zz{{{z{{{|{|{|{||{z{{{{{|z||{{}||zz|{zz{|{{{||{{|{{{zz{{|}||{}|{}{{{{|{z|{}{|}|{|{{{{{y{{|{{|||||{||{z|{{|}||||{|z{{|{{{|{|||{}|{{|{{{{|{|{|||||{{{z{{z{{{{|{{|}{{{zzz{{{}{||||{{y{zzz|{{{{{z{z{zz{z{zyzz{{z{{{|{z{zzzzz{|{{||{|zzzz{{{z{zz{|{|{{y{{yzzzz{{|y{{|z{{z{{{{z{{{{{{{z{|zzzz{z{{zz||{|z{{zz{z{z|{{{{{|zzz{{{z{{{{{{{|zzzzzzzzz|z{{z{{{zz{z{z{z{{z{z|{{{{zzzyzz{zz{z{{yzyz{{zzzyzzz|{{z{z{zzzzz{{{{{{{{zz{{zzz{{{{{|{{{zzzzz{zzz||z{z|{z{{zzz|{{||{{z|{zzzzz{{{{|{||{{{{{{zy{{z{{||||{z{{{{{zz|{{{|{{{|{{{{zz{{}{{||{{{{{z{{{|z{|}{{|}|y{z{{{{||{|||||{{{{{zzz|{}{{{||{{{{{{{{{|{{|{||{{{{{||{|{||||||}{{{{{{{{|||||{||{{|{{zz|{{||{||{zz{{z{|{{{{z}|||{{|{{{{{{|}{||||z|z{z{{{{{{{{|{{{z{{zz{{|{||||{{{{z{{zz|zz||{{{{{{zz{zz|{z{z{|{y{z{zzzz{{{{{{|{z{zz{zzz||z|{||{|{{z{{z{z{z{z{{{{{{xzyzzy{{|{{|{|{{z{zzz{{{zz{{|zzz{{{|z|{{z{|{{z{{zz{zz{{{{{{||zz{z{z{{z{|{z{{{zzzz{{y{{{{|z{|zyz{{{{zz{z{{{{{{zzz{zzzzzz{{{{z|zzz{{zzzz{z{{{{{zz{{{{zz{z||{{{|{zy|{zzz{{{{{{{||{{z{{{z{z{|{{{||z{{{{zz||{{|{|{zz{z|{{{{}{{|||||{{|{{{z{{{|{{{{|z{{z{{{{z||{{||{{{{{|z{|||}{|||{|z{}||z||{}||||{{|{|zz{|||||||||z{{|{{{{|||{|||{{{|{{}|{{{}|{|||z{{{||||{{}||}{{z}{|z{|||{|{}|{}{{{|{{||{|{{|}|{{{{|{{{|}{{{||}{{{{{z{{{{}|{{||||{zz|{{||{|{{||{{{{{z{|{|{{{{||{{zyz{zz{z||{|{{{{{z{z{z{{{z{|{{{{{yz{zzz{{z|{|z{{{{{{y{{|{{z{|{zzzz{zzz}{{|{|{z{{{{z{z{z{{zz|||z{{z{zzyz{zz{{{{zz{zzzzzzz{|{{{z{z{{zy{z{{{{z{{{{|y{zyz{{{{}|{{{zzz{z{zz{|{|z{{|{{z{zyzyz|zz{z{{{{zz{yzzz{{z{||{{z{zz{zz{z{zz{|{|zzz{z{z{{{z{{|{{{{{zz{{|{{|{{{|{z{{zzyz{{{|{|||z{z{{z{y{{|}|{{|{{{z{{zzz|{||}|{|{||{zzz||{|{||{{{{{{{{{{{{|{|||z{z|{{{{}{{|{{|}{{{zz{{|{|{|{||{||{{|z|{{|}||}||{|{|z{{{{||{{|}}|{{|{|{{||}||{|}{{|{{{|{}{{|||||}{{{|{||{{{||~|{{{{{{{{{|||{|||||{{z{zzz{|{|{{|z{{{{z{{{{}|||{{{{zzz{zz{{{|{}{{{{{zzz{zz{{{{z|}|{|y{{zzz{||{{{|||{{zzz{z{{{{{||z{{z{{{{z{{{|{|z|{{{{yz{z|z|z{{{|z{{z{{{z{{{|{{z{{zzzz{{z{{{z{|z|{z{zz|zz{z{{{z{{{{zzzzyy|{{{{||{{{zzzzzz|{|{|{{{z|{{z{{z{{|{{{|{{z{{z{z{{{z{{{z{{{z{{zz{z{{{||{|z{{{z{z{{z|||||||zzzz{{{{{{{{{||z{{{{z{{{{||{}||z{{{z{zz|{{z{|||{z{{{z{{{|||{{||{z{|{zzz{|||z||||z{|{z{{|{|{{|||{{{{{z{{{{|{||||{{{|{z{|{{|{{|||{{{{{z{z{|}||}}{|{{{|{{{||{}||}{{|||{|{z{|{{{|{|{{{|z{{{|||{|{{|}z{|{{|{{{||||||{{{{{{z{{|{{||||||{||{{{}||||||~z{{{z{{z{|{|{||||z{{{{|{z|{||{|{{{{z|{{{||{|{{z{|{zz|z{{|{|z{{{{{{z{{{{zz{|{|{{|{|z{{{{z{{{{|{{|{z{zzzzz{|{{z{{{{{{z{{{{{{||{z{|{{{{{{{{{{{{{|{z{{z{z{zz{{{z{{{zz{{zzzyz{{z{{{|{zzzz{zzz{{{{{{|{{zzzzzzz{{|{|{||{zzzz{zz{|{z{{{{{{z{|z{zz||z{|{|y|{{{zz{{z{z{{{{{{{z{{zz|{{{{{z{{{{z|y{{{{{|{{||{zz{zzzz|{{||{{{|{|yzzzz|{||{|{||{{z{z{z{{||{|||{{{z{{zz{{|{{|}|{{|{{{z|{||{|||z{|{|z|{{||{|{|||{{{{{{{||||{{|||{{{{|{z{{{|||||||{zz|z{|||{{||{|||{{|{{||||{|||}|{|||{|z{}||}}}{|z|{{{{||}|}{|{|{|{{{{{{{|||}|||{z{{|{|{||||}||||{{{{|z{{{|{||||||{{{{z{{{|{|{|{{{{{zz{z||||||{{{zzz{z{z{||{|{{|{zz{{y{z{{||{{||{|{zz{{{z{{{{{||{z{{z{z{{{{{|z{{|{|zz{{z{|{{{{|{z{{z{z{z{{|{|||{{{{z{yzz{{|zz|{|{z{zy|{z{z{z{z{{zzzzzzzzz{{{|{{{{zz{zzzz{{{||{{|{z{zz{{zz{{{{z||{{zzzzzzz|{z|{{zzz{yz{zz{{z|{|{|z{zz{zzz|{{z{{{z{zzz{z{z{{{z{z{{{z{zzz{z|{|{{||{z{{{z{{z|{{zz{{|{{{zzz|{z|{|{|{||{{{zz{{{z}{|||{|z{zzyz{{{|{{{z|{{{z{{z{{z||||{{||{z|{|{|{{|{||||{z{|{z{|||||}|{|{{{|{{{}}||{{|||{{{{{{|{|}||}|||{{{{z{|||{|||}||{}{{{zz||}|||||{z|{{{z||}{|{||}{{{|{{{||{|||{{{{|{{{{{{{{|{||}|{{{z|}{zz{{}{|{{{{||zzz{{{||{{zzz|z{y{{y{z{zz{|{{zzzz{zz{{{|{|{|{{yzzzzz{{{|{z||||{{y{zz{{{{{|||{z{y{zzy{{{{|{||{{|yzzzz{{{z{z{{zzz{{zzy{{{zzz{{zz{{y{{zzzz{{{{|{zy{{zzzz{zz{{{{|{z{zzzz{{{{{z{{zz{z{zz{{{{{{{{{{z{zzy{zzz{{{{{|zz{zzzz{z{{zzz||zzz{zz{z{{{z{|{|{zzz{zzz{{|{{{{|{zz{zz{{{|{{|||{{{{{zz{|{|||{{|||z{zz{{{{|{|{}||{{z{{{{z|{|{{|{{z{{{z{{{|||{{}||{|{z{{{|||{|||{|{z{{|{|{||||{|||{{z{{{z{{|{|||||{{|{|{|{||||}}{{{{{zz|{{|}||{|}|{|{{z|{|{|||||{|{{{|{{{|}|}||||{|{zz|{{|{{|{{{{}||{{{{{|{{||||{|{{z{z{{{{|||{|||{{{z{{{{{{{z{|}||{{{{{z{z{{|{{{{{zyzz{zzzz|{z{{||zzy{zzz|{{z{z{{{z{z{zy{{{{|{}|{{zz{zy{y|z{|{z{{z{{zzzz{z{{{{{{{{y{zz{{z{{{{{{|z{zzz{zzz{{|zzy{{{zzy{zz{z{{|{{z{{z{{zy{zzz{{{{{zz{z{yzzzzz{z{{|{{zzzzzzzz{zz{{{zzzzzyyzz{{zzz{|{z{{z{zzzz{{z{||{zz{{yzzz{{{z{z|{{{z{{{zy{{|{{|}|zz{zzz{|z{{z{{{|{z{zz{{|||{{|{|||{{{z{{z{{{{{|{{zz{z|{z{{|{{{{|{|{zzz{{|{{{{{{{{{z|{{{{|||{{}|||{zzz{{{{{|{{|||{{z{z{{|z{{{||{|{|{{|{{{{{||{|{||zz{{|||{{{||{|{{|{{{zz{z{|{||||||{{{{{z{{{{{{|||{{z{|{{|{|}{|{{|{{{{|{{{|{|}{{{|{{{z{{zz}{{|{|||{{{{{zz{|{{{{{{{zz{z{{zz|z||{{zzz{{{{zyz{z|zz{{|{{{yz{zz{{z{{{||{{zzz{zzz{z{{{{{zz{zz{z{{z{|zz{{{zzyzzzz{{{|z{z{{{zzzz{y{|{zz{{{{z{zzy{z{z{{{yz{z{{yz{zz|zz{z|{{z{{zyzzz{z{z{{|{z{zzzzzz{z{{{{{{{zzzz{zzz{|{{{{{{zzzzyyy{{{z{{{{zzz{zzzzzzz{z{{z{z{zz{zyz|{{{|{|{{{zzzy{z|{{{{{zzzzz{z{z||z||{|{z{{{z{zz{{{{z||{{{{{zzzz}{||z|{|{{{{{zyz|{{{|{}{|{zz{{{{{{{{z{{{{{{{{{|{{|{|||||{{{|{{||||{{z|||{z{|{z{{|{|{{{{|{z{{{{{{||{{||{|{{{z{{|{{z{|||{||{{{|{z{{|}|||{{{{{{{{{z{{z{{||{{{zz{|{{||{|{|{||{{{{{{{|{{{{{|{{z|{{{{z{{{{{z||{{{{zz{z{{{{z||{{z{zzyz{{zz{{{z{{z{zzzzzy{zz{{{{{{z{zyzz{{{z|{z|z{zzzzzz{{{{{{|{z{z{{y{{{{{z{{z{{{{zz{zzzz|{{|{{{z{{{z{z{{{|z|{|{zz{z{zyzzz{{{{|{{zzy{{zzz{zz{{zzz{zzzz{{{{{z{{{{z{zzzyzz{{{{{y{{{yzzz{zzz{{zz{|z{zz{yzz{zzz|{{{zzzzz{zz{|{y|{{{{{{z{yzz{{{{{{{{{{zz{z{z{{{{|{||{{zzz{z{{z{|{{||{{{{zz{z{{{{|{|{|{{z{z{{{{{||{{z{z|y{{z{||z||{|{{zz{zzz{{|{{z|{{{{{{{{{z||{|{||||{{z{{|z||{{{||{{{{{{{{z{||{{{{|{{|{z{{{{||||{{{{{{{|z{||{{|||}||||{||{{{|{}|}||{{||{zz{|{|{{|{||{{{{{{{{||||}}|{{{|{{{{{{||{{||{z{zz{{{|z|{{{{{|{{{{{|z{|{{|{{z{z|{{z{z{{{{|z{z{{z{{zzz{|{{{z|{z{{{zyzz{{{{{|{}{zz{zzzy{z{{{||{{z{{{zzz{z|{{{{{{{{z{{zz{z{{z|{}zy{zzz{{z|{{z{{{zzzzz{zyzz|z{{{z{zzzz{z{z{{|z|z{{y{{{y{{zz{{{{{{zzzyz{y{{{{{||{|{z{zzyzzz|z{z{|{{{{z{y{y{{z{{{{{z{zz{z{{z{{z|{z{yzz{z{zzz{{z{z{|z{z{{{{z{|{z{{{|zzzzyz{{{{{{{{|{z{|zyzzyz{{{||z|{{|zzz|z{|{|}}|{{zz{z{{{{||{{z{|{{||{{yz{|{|||{{{{z{{{z{|||{{{z{z{{z{y{{{{||{|{{{z{{{z{z{||{|z}||{zz{z{{{}|||||||{{{{{{{|}{|{||||{{{{|{{{}|}|||||z{|{{{{{|}||||{{{{{{{|{{||}{||||{{|z{z|{||||{||{{{{zz{z{{|z|{||{z{{{z{z|{z|{{|{{{|zzz{z{{{}{{z{{{z|{{|{z|{zz||{{{zz{z{{||{{{}||{{zzz{{z{{{zz{|{{z{{{yz||{{z{{{{{zzzz{zyz{{|z{||{{{z{zzy{|{{z|z|zz{{zzyz{{{zzz{zy{{{z{zz|z{{{{{||{zz{zzzz{{z{{z{zz{z{{yzz{{{{{{{{{{{z{z{{{|{{{{{{zz{{{yzz{{{{{{y{{zzz{zz{{{{{{{{zz{zz{{zz{{{z||{|z{z{z|{{z{z|{|||zzzz{{{{z{{{|{|{{|y{z{z{{|{{||{{{{{zzzz{{z|z{{|z{{yz{{{|{|{|{|{{z{{{{{{{{{|{|{|zz{z{z||{{{{{|||{|{{{{{|||{{{|}}|{{z{z{{||{||||}|z{z{{{{|}{{|||||{{{||{||{{{{||||{{|{|{{{||{{||}{|{|z{{{|||||||{|z{{{{{|{|{||||}|||||{{{{{{||{||{{{{{{{z{z{{{|{{|{{{z{{{{|}{{z||{{|z{z{z{||{|zz{y{zy{{zz{||yz||{z{zzz{zz|{{{{{||{zzzz{zz{z{{z{||{zzzzz{y{{{{{||{{zzz{zzy{{z|{{{|{{{zzz{y{{{zz{{{zzzz{zzz{z{yz{z{zzzzzzzz{z{{z{{{z{zzzyyz{{{z{z|zz{zzzzyzzz{z|{{{zz{yzzyz||zz{z{|{{z{zzzz{{|{z{z{{{zzzzz{{|z{{|{zy{{zz{zz{{zz{{{|{z{{{z{{zz{{z{{{|z{zzzyz|{|{{{{{{{{z{{{z{|{{z{||{z{{{y{{{{||{|||{{{z{{zz{{||{{|{zzz{z{{z{{|{||{|{|z{zz{{{{||{|{{{{{{{{{z{{||{{|||{z{|z{z{{|{{||{|{|z|{zz{{{{{{||{{{z{{{|||{||{}||{{z{|z{|||{||||z{||{{{{|}}}z{}|{z{{{{z{|{{||||{||{{{{{{{|{{}|||zz{z{{z{{{|{{{|{|{{{{zzz{{||{{{{{{{zzzzz{{{|{|z{{z{z{z{z{zz|{{|}{{z{zz{z{{|{|{{{{zzzzzz{{{{{z{{{{zzzzz|z{{{{z|{|{{zzzzzz||{{|{{{zz{{z{zz{{{{{{{zzyzz{zzz{{{{zz{{zzyzyzzzz|{zz{{|{zzz{zzzzz{zz{{zzzzzyzzzz{{z|{z{{{{zzzzzz{z{z{||zzz{yzzy{{{{{{{|z{z{{zzyy|{z{{{{{z{zy{{z{z|{z{{|{zz{{zzy{{{{{{|||{{{{z{z{|{{|z{|{{zzz{{zzz{|{{|{{z{{{z{z{|{|{}{{{y{zzzz{|{|{}||{{z{{{{z||{{{{||{|{{{z{z{||||{||{{|{{{{||||{|}{||zz{{{{z{|}|}{|{||zz{{{{|}|{{{{||{z{{{{||{||||}|}}{|{{|z|{}|{||}||{|{|{{{|{{|}||{{{|{{|||{{z{{||{{|{{{z{{{{||{||}{z{{{z{{||{|{{|||zyz{{z{||||{|z{{z{z{z{z{{{|{|||zz{zz{{z{{{z{z{{zz{{{z{{{{z{||{{{zzzzz{{{{{{{{|{{{z{zzzz{|{|{z{|{{{zzzzyzz{{z{||z{{zz{zy{|zzz{{|{z{z{zz{{{|z{z{z{{z{z{zz{y{|{{{|z{z{zzzz{z|{z{{{z{y{zzzzz{{{{{z{{{zz{zzy{{{zz{{{y{zzzzzzz{{zz{{|{z{zyzzyz|z{{|z{{{{zzz{z{{|{{||{{z|z{{{zz|{|{{{|{z{zzy{{{{z{{{{{{z|{{zzz{z{{|{}|{{|z{yz{z{{{{}{{{{z{|z{{{||{{{|{{{z|zz{{{{}{|{|{{z|z|{{{z|}||{|{{{|{|{z|}{{|||}{{{{{zz{y|}{||||{|{z{{|{z}|{|{|{}{{||{|z{||||||}||z{{{{{||}||||||{{{{{{||{||{{|||{{{{{{{{{|{|||}}|{||{{{{{z{{||}|{{{z{{{z}||{|}||{{|zz{z{{|{|||||{{{z{z{z{|{{{{||{{{z|yxzzz|z|{||zzzzzzzz{{{{{|||z{{{zzzz{zz||z{{{zzz{{{z{{{{zz{|{zyzz{zz{{z|z{{{zzz{z|{z{zz{{{|{zzzz{z{z{{|z{|{{|z{y{yyz{z{{z{{zz{z{z{zz|{z{{{{{{zzzzzzz{{{z{z{{{{{{zzzy{{{z{{||zz{zzzzzz{z{z{{{{{{zzzz{z|{z{|{zzz{{{{|z{|{z{{{||{zz{{{zz{|{{|{{{{|{zz{z{{z|{{|{{z{{{{zz{{{{||||{z{{{z{{||}|{||{{|{zzz{z{|||{z{|{{z{{z{{||{||z|{|{{z{zz{{|||{{{|{|z||{{{|||{{{||{{||{{z{{z||{{||{z{{|{{z{||||||}{{{{{||||||||}|{{{{|z{z{{||{{||||{|{{{{z}{|||||{|{{{z{{z|||{{|||{{{||{{z{|||{}||{{|{{{{{z{{||||}|{z|{{{{z|{{{||{z{{{|{{z{{|{}|{{zzzyyzzzzz{z{{{{{zz{zz{y|z|z{{{{{zzz{zz{{{{z{|||{zzz{{{{{|{|zz{{|{zz{zzz{z{{{|{zzzzz{{zyz{{z{{z{zzzz{{yz{{{z{||{z{zyzzzzzz{z{{z{{{z{{z{{{z{{z{|{{z{zyzyz{{{z{{{{zzzzyzzyz{z{{{{{{yzz{yzz{{{z{{{|zzz{{{zz{z{{{|{{{zzzzz{yz{{{{{{{z{zz{z{{z|{z{{{{zz{zzz|{|z{{{z|{{{{{{z{z{{{{{{{|{{{{{yz{||{|{{{{{z{{{{{z{{{|{|}{{{z|{{z{{{{{{|{{{|{zz|{{{{||{|{{{{zz{{{{|{|z{{||{|{{zzzz{||z{||{|{z{{|{{}||{||||z{|{|{{{{|{{z{}||z{{{{{{{}|||}{||{{{{{{z||||{||{{z{{{{|{|{||{{|}{{{{{{{{|z||||||{{{z{{{{z|||{|{|{{|z{zz{{||{{{|{{{|{z{{{z{{{{{z{|z{zz{zy{{{{z{{{zzz{z{zz|{{{{}|{{{zz|zzz{zz{{|{|{{{{{zz{{z{{{{|{{zzzzzzy{{|{{{z{zz{zy{{zyz{{{{|{{yy{yzz{|{{{y|{{zzzyz{zz{zz{zzz|zyzz{z{y{z{zz{{z{{zzzyzz{{{{{{{{{y{zz{z{y{zz{{|{zzzzzzzyzy{z{{{|{zzzzyzzz{{{z{{{zzz{zzzz{{{{z{{{zyyyzzz{{|{{{{||zz{{{{zz{z{z|{||{{zz{z{zz|{{{{{{zz{{{{{zz{{{{{|{|{z|z{{z|{{{{|}{{{z|{zzz|{{z{{{|{{{z{{{{{{|{|{|{|{|z{{{{{|||{||||{{{{y{z{{|{{|||}{{{zzz{||{|{|z{{z|{{||{{||{|{|||z||z|{{{|{|||||{{{{z{z|{{|{{|{{{{z{{|{{{{{{{|}||{z{|z||{{{}{||||{{{{{z{{|{{||{|z{z|{{{zz{{|{{||{|zzzzzzz{{|{{|zz{z{{{zyzz{{z{|{{{{zzz{{{{{{{{{{|{{yzz{{{{z|{{{{|z{{zzzzz{{{z{{|{z{zzzzz{z{zz{{|zzz{zzzzzz{{{{|{z{{|{zz{{{{z{|z{zzzz{{zyz{z{zzzzz{zzzzzy{{z{z{|{{yzz{zzz{{|z|{{z{{{zzzzz{|z|z{|zzzzyzz{yyz{z{{{zzzyyzz{zz{z{||{{{zzyz{zz{{z{{{|{z{zz{z{{{{z{|{{|{yzzzz|{{{|{z||{{{{zzzzz{{|z{||{{{{z{z{z{||{||{|{{{z{zz{z{|{{{}{{zz{{z|{||{{z|{{z{{{|{||||{|{||{z{{|z{{{{{||z||}{{{{{{{{{{|||{||{{z{{{{{|||}}{|{|{{|{z{{z{||{{||||{{{|{{{|||{||||z{|{{z||||||||||{{{|{{{|{{|{{||{{{{|{{{|{||||||{{{z{z{{{|||{||{{|{{{{|z{|{z{{|{{z{{zzzz{{|{{{zy{zyz{zzy{{|{{{||zzzy{z{z{|z{z|{{{z{zzzzz{{z{{{{|{z{zzzy{z{{||z{{z{zzzzzz{{{|{{{|zzzzzzzzy{{zz{{{{{zzzzzz{z{|z{z{zzzzz{y{z{{z{{{|zzzz{zzyz|z|{{{{zyz{z{y{{{{z{{{zzz|zzzyzz{{{{{|zzzzz{z{zzzzz{{z{zzyyzzzzz{{zz{z{{{{zzzzzz{{|z|{{{{z{{y{zz|{{||{}{zyy{{z{{{{{{{{|z{zzzz{z{z{{z{|{{z{{{zz{z{{{z|zzz|zzz{zz{{{{{||{{zz{{z{{{{|||{{|{z{{|{{{||z|||z{z{{{z{{z{|{|{|||{{{||z{{{}{{||{||{z{|{{{{|{|{|{||{{{{{||||{|{|{|{{|{zz|{{|{|{||{{zz{{{{{||{{{{|{|{z{{zzz||{|||||{{z{{{z{|{{{|{|{{z{y{zzz{|{||{|{{{{z{z{y{{{{{{||{{{{{zzzz{{|{{{zz{z{{yzzz{{{{z{|zyz{{y{z{{{{z{{zzyz{z|yyyzz{{zz{{{{zzzz{z{y{z{{z|zzyzz|y{z{{z{|{zz{yyzzzz{{z{{zzz{yz{yzzz{{zzz{{zzzzz{zz{zyzzzz{|zzyzzzzz{{z{|{y{zyzyzz{z{{{z{|zz{z{y{zzzz{z{z{z{{z{yzzy{{z{{{{{z{zzzzzzz|zz{||{zz{zz{yzy{{z{{{{zzzzzzzz{z{{z{|{|z{z{z{y{{zz{||{{{z{zz{zz|{{{{{{{|{{zz{z{{||{|zzzzzzyzy{{{||{||{{{z{z{{y{{{z{|z{z{{zzzz{{z{|z|||z{yz{||{|{{{|||{{{zz{{{{{|{{|||{{{{{{{{z||{{||{{|z{zz{{{{{z{||{||y{|{z|{{{{||||{|{{{{{{z||}{||||{{{z{{z||{|||}|}|}{||{{z{||{|{{{{z{{{z{{|{{|{{{{{|zzzz{z{|{{{{{{{z{z{y{{{{{{{{{{z{zzzy{{z||{{zz{{zzy{zzy{{{z||{{zz{zz{zyz|{z{|z{zz{zzzz{{z{zzz{{z{{zz{{z{{{{{|{{zz{zzz{z{{{z{{{z{z{zzzyzzz{z{|{{{zzzzzzz{z{z{zz{z{yz{{{y{zz{z{{{zyzzzzzz{{zyz{{y{z{zz{zzz{z{zy|{{zz{zzzyzzz{{|{zzzz{z{{yz|zz{{{{{zyzz{{zz{{z{{{zzyzz{y{zz{{|{z{|{zzz{z{{{{{{{|||{z{y|{zz|{||{}{{{z{{|z{z{{|{||{{z{{z{zzz{|{{z{|{{zzzz{z{|||{{|{||{zz{{z{z{{|{||{{{{{|{||{||{||{{|{{{{{zz{{|||{}{{{{{{{{{{}{z||}||{|{z{||{}|{{|{||{{{{zz{{}|}|{{||{|{z{{{{{}|||||{{{z{{z{{|{|{{{|{{{y{|{{{|{|{|{|{z{z{z{{|||{{z|{|{{{{zzz{{|{{z||{zzz{z{{|{|{|z{|zzzz{zzzy|{{{|{{z{z{{y{z|{{{{{|{{{zyz{{z{{z{{{{{zz{zzzzz{{{{zz{|{zzyy{{z{z{{z{{|{z{z{zzzz{z{z{z{zzyz{z{zz{{zzz{|zzzzzzz{{z{{z{{{{yxzzzzy{||z{{{{{zzzzzzz{z{{{{zz{zz{zyz{z{{{{|{{yy{zzz{zzzyz{{z{{{zzzzzz{{{z{{{{zzzz{{{z{{{{{{||{{{zzzz{|{z{{{{{{zzzzyzz}z{|{||{{{zzz{{z{{|{z{||z{{{{{zz{|{{{|{{{zz{z{zzz{{|{{||{{z{z{{{{{|{{|{{{z{z{{|z{||||{{|z{z{z|{|zz{|}|{|{zz{{z{z{{{||||{{z{{{z{z{{{||{||{z{{{{{{|||z||{||z{{{{z{{|{|{|{|{z{{|{{{||{|}}|{||{z{{z{{{||{|{|{{{{{|{{|{|{|{{|{{zz{|{{{{||||{|{|z{{z{{{{{|{{|{zz{z{{{z{z|{{{z{zzz{z{y{{{{{|{|zz{{{{{{zzz|z{{{{{z{z{{z{{{z{{{{{|{{{{{{z{|{{{{z|{z{{z{{y{z|z{{{|zzzz{zzz{{{{{{{{{yy{zzzyz{{zz|{z{z{z{zzz|{{zz{zzzzzzzzzz{{|z{|{{z{{zyyyz{{{{z|{{z{{{zzzzz{z{{||{{zz{zzzy{{z{z{|{{z{zzz{{zz{{z|{{{z{zz{yz{|{{{|{{{z{zz{{zz{|{z|{{{{{{zzzz{{{{|||{z|{z{{zz|{{|{|{{{|{{zzz{{{||{|{{z{zz{{zz|{{{||||{z{{{{z{{||zz{|||{{z|z{{||||||{{{{{zz{z{|{||{{}|{{{|{{{z||||}|||||{|{{{{}{{{|||{{||{z{{|{{{{|||||z{|||{z||{|}|||{{{{{{{||{|||{|{{z{z{{z|}||||{|}|{{{|{{||{|{{|||{{{{{{{{{}{|{|||{{{{zz{{{||{{{|{{|zzz{{z|{|{{{{{z{{zzzzzz|{{{{|{zzzz{yz{{{{z{{z{zzy{z{zz{{{{|z|{{{zzzzz{{{{{z{{{{zzzz{{zzz||{|{{zz{yyz{zz{{zz{z{{{|zzzzz{{{{{{|zz{{{zzzzz{{zzzz{y{zzzyzz{{{{z{{{zzzzyzzz{{zz{{{||zzzyzz{z{{{{{{yz{zz{zzxz{{{zz{z{z{y{zzz{{z{z{z{{z{z{{zz{{{{{z|{{{zyzz{zz{{{{{{{|{{{zz{z{zz{{{|{zz{{{{{|{{{{{|{{{z{z{zzz{|{{{{{|{{zzzzz{{||{{{|{{{z{z{|{{{{{{{||{{z{{{{{{|{||{|}{{{z{{{{{|{z|{||{{{{{z{z{||{|{|||z{z{{zz||{|{z||{{{{z{z{||}||||{|z{|{zz{{|{}{||{|{{|{{{||}|||||||z{{{{|z|{{||{}||{{{{{z|||||{|{{|{{z{{z{z|{|{{||{{{{z{{z{|{z{z|{z|{zzzzz{{{{{{{{zzzzzzyzz{{z|{z{{zyzzz{z{{zzz|{|{yyzzzzz{{zzz{{{z{{{zzz{z{{|{{|{z{|zy{{z{{{{{{{{zz{zz{zzz{z{y{{|{{{yzzzz{{{z{|{zzzz{zz{z{z{|{{z{zzz{zzzzz{{z|{{{|{zzz{{z{{{z{{|{zzyzyz{zz{{{z{z{zz{zzz{z{{{{z|{{z{{zzzzy{{zz{z||{zzzz{zz|{{z|z|{{zz{y{z{{{|{{{|}{{{z{zzz{z||{|||zz{zzz{z{z{{|{|{{z{{zzz{z|{{|{{{{z{zzz{z|{|{{z|{{{zzyz{{{{{|z{{{{|zz{z{zz{{|||{{|{|{{z|z{{{{||||{{{|{z{{{|||{||||zz{{{z{||{|{||{{z{{z{|z{|||}||||{{|{|z{||{||||||{|{||z{|{|{|}{|{{{{{{z{{{|{{{|{|z{{{{{|{|||{|||{{{{{{{{|{{{||||{{{{zz{{{z{|z{{{{{{|z{zz{{|{|{|{zz{z{{y{z{{{z{z{{zzzzzzz{{|{z||{{{{{{z{z{{{zz{{{{{yzzzzz{{z{z{|{{{zzzzzzzz||z{{|{zyzzzyz{zz{z{{y{z{zzzyzz{{{{z{{{z{zzzzy{{{|z{{zzzz{zzzz{{z{{{{{{yz{{zzzz{{z{{|{{{{zzzzyzzz{{{|{z{zyyyzz{zz{{{{|{z{z{z{z{{zzz|{{zzz{{zz{{{|z{z||zz{{zzzzz|{|{z{|zz{|{yz{{{{zz{{{{{{z{{{{{{{{{|{z{z{{|z{z{|{{|{{{|z{{z{{{|{|{{{|{|{{|zzz{|{|{z||{{{{{{{zz{||{{|{{|z{|{z|z{{{|{{|||}{|{{z{{|||{||{{{{||{{z||||{|}|{zz{{|{{|{{{||{{}{{|{{{{{}{|{||}}{{|z{{{|{{{|}|{{{{{||{|{|||{{||{|{|{{zz{|{{|{|{{|{{{{z{{{|{||}|{{{|{zzz|}{|zz|{{{z{zz{z{{{{{z{z{{{{{yzz{|{{zz|{z{{{z{yz{{{y{{|{|zzz{y{z{{|{{{{{{zzz{zzzzz{{z{|{{zzz{{{y{zz{z{{}zzzzz{{z{{zz{z|zz{{zzzzz{z|z{{zz{z{zzy{z{z{{z{{{z{zyzzzzz|zz{{|{zzz{zzzzz{{|{|{||{zzzzzy{{z|{z{zzzz{zzz{z{zz{{{{{|zy{zzzzz{{{{{{zz{{zzzz{{|{{z|zz{{zz{zy{{|{{|zz{z{{{z{z{{|y{z{|{{{{zz{{{{{{|{}{z{{{{z{{{zy{|{{{{z{{{zy{|{|{|z|{{z{{{z{{{|{{{|{{{{|zz{{{{|{}|||{{{{{{{{{{{{{{||||zz{{zzz{{|||{|||z{{|{{|{|z{|{|}{{|{z{|z{{|{||{{|{|z{|{{{||||z||{z{|z{{{|{{|{||{|{zy{{z{|{|||{{||{{{|{{{|{||||{|{{zz{{z{{{{||{{||{{z{{{{{{{{|{|{{z{y{z{z{{|||{{{{{{zzx{z{z{{{z{{{zzzzzzzz{{{{||{|z{yzz{z{{{|{|{{{zzz{zzzz}z{{|{|z{{xzzzz{{{{z{{{zz{{{zzz{|z|{{zzzzzzyz{zz{{{{{{{{zzzzz{{zzz{{|{{yzzzzzzz{{{{{z{{zz{zzzyz{{{{{{{{zzzzzzz|zzzz{{{zzzzzzzzyz|{{zz{{{{{{zzzz{{{{{z{{zz{zz{{{{|z{{{{{{zzz{yzz{z{z{{{|{zz{zyz{z{|z|{|{{z|{z{y{{z{|z{|{{z{{|{{z{|{{{{{|{z{{z{{{z{{{|{|{{zzzz{{{z{{z{{||{z{{{{{{{z||||||z|{{{z{{|{|{{|||zzzz{zzzz{{}{{{{{zzzz{{|{|{{||{{{{{{{|{z|{{||}{|{{|{{|z{{}{}{{{}|{z{{z{{|{{||||{{|{{{{{{||||||||{zzz{|{{{|||{{{|{{zz{{z{{|{|z{{|{{{{z{|z{{{|{|{{|y{zz{{z{{|zyzyzzzzy{zzzz{{{{z{{zzzzzyyz{zzz{{{{z{zz{z{z{|z{{{{{{y{{zy{zz{{{zz|{{zzyz{zy{z{z{{{{z{z{zzzzz|{{z{zz{zzz{z{zy{z{z{{z{{zyz{yzz{z{zz|zzz{yyz{zzz{{|{{{zz{yzzzzzzz|{z{{{z{zyz{y{{{|zz|{z{{zzz{yz{{zzz{z|zzyzzzzzzzzz||{zzzz{{zy{{{{{|{{zz{z{zz{zzz|{||{{z{zzz{{z{z{{{{{z{zz{zz{{{{|{{}|{z{{z{{z{|{{||{{z{zzyz{{{|||z|||{z|{{z{z|{{{z{{{{zzz{{z|||{|{{}{{{z{{z|{{|{{{{|{{{z{{z{{{|{z|{{{|z{||{{{{{{}|||||{{zz{|{{z|{|||||{|{{{{{z|{{||||{{{{z{z{{|{|{|{}|{|{{z|{|{|||{||{{{z{{{|{|{|{|{|{zzz{z{{{{{}|{|||{{zz{{z{{{{|{{{{z{zzz{{{{|{{|{{{{zzzz{y{z|{z{|{zz{{{yz{z{{{{{{|{zz{zzzz{{{{z{|||z{yz{{z{{{z{z|{{{{zyzzy{{{{{z{{zz{z{zzzz|{{{|{{|z{{{{zy{|{{z{{|zzy{zz{z{z{{zz|{yzyzzzzz{{{{{{{{{zz{yzyz|{z{|z{{zzzzz{zyzz{{z{{{zz{{zzzy{{zz{{{z{{zz{z{{z{zzz|{|zz{zz{{z{z{{z|||zzyzz{{z{{{{{{|{{zzzzz{{|{||{{z{{zyzzz{{{z|{|{{{|z{z|{{{{|{{|||{{{z{z|{zz|}{{|{|{{{{{z{z{||z{||{z{{{{{{{{|{|}|{|z{{z{{{{||{{}{|{{{{{|{z{{{|{{|||{z{{{{{|||||{|||{{|{z|{||{|||||{|{|zy||{{||}{{}|||{{{{|{|{{|{{|{|{{{{z{{{{{||||}{{z{|z{|{|{|||||{{|{z{{{||{{{{||{{{{{z{{{|z||z|{zz{{zz{{{{|{|{z{zzzz|z|yz{|{{{{{yz{zz{{z{{|{zz{{{z{zz{zz{{{{{|{{zz{zzyzz{{{{{{|{|z|{zyzz{z{{{|{|{{{zzzzzz{{{{{{{z{z{{z{zz{|{z{{zzzz{z{yz{{{z{{{zzz{zzzz{{{zzz{{{zz{{{zz{{{|z{{z{{zzzzyzzz{{z{z|{{zyzz{{z{|z{{{zzzzzz{zzy{{{z{}|{{z{zz{z{zz{{{|{{{z{zzz{{z{{{{{{{z{|{zz{z{{{{{{{|zy{{zz{z{{{{{{{|z|{{{zzzz{{|{}{{{z{zzz{zz{{{{z{z|{z{z{z{{{|{|{{|z{{{z|z{{|{{{{||{{{z}{{{|zz||{}|{{zz{{zz|{|{{|{{{y{z{z{{|||}|||{{||{zz||{||{|{|{|{|{{{|{{}|{|||||{||||{{||||}}|{{{{{{{{{{{|{}|||||{{{{{{|{{|||}{{zzz|z|{||{|{||||{z{zz{{{|{{{{{|z|{zzzz{{{{|z|z{{{{zz{zyy{{zzzzz{zzzzyzz{{z{{{{{|z{zzzyz{{zz{{|{z{{y{{zz{{|{zz{{|z{zzy{zzz{{{{{|zzzyyyzzzzzy{{{{{zzzz{zy{zzzy{{zzzzzyzzzz{z{z{{{zzzzyyzyyz{y|{{zzzzzzzz{{{z{{{{{z{{zzzzyz{z{{{y{{zzzzzzzzzzzz{{{{zyyz{z{{{zz{{z{{zzzz{yz{{{{{{|{zz{{zz{y{|{{z{}{{zzz{z{{z{|{z{{{zz{zz{zz{{{|{{||{{z{{z{{{{{{{|{{{zz|{{y{|||z{|{{{yz{zz{{{{{{{{z|{{z{zzz{{{z{|||{{z{{{{|{|{|{z{{|z{{z{{z{||{{{|||{{{{{{{{||{|||||{{{z{{|{|{|z{||{|{z{z{{{{|{|z|z|{{{{{{{{{|{|||{{|{{{{{{z{{{{{|||{z{{{{{{{|z||{||{zz{z{z{{|{{|||z|{{z{z{z{{{{{z{{{{{yzz{{|z{|{}{{y{z{{z{z{|{{{z{zz{|z{{{z{{{zz{{|{{{zzzz{{z{{|{|{|zzzzzzzz|{{{{||{{yz{zzz|{{{z|{{{zzzzz{z{{{z{|{{|zzz{{z{z{{zz{{|z{zzyzz{{z{{{{{{{zy{yz{zz{z{|z{{{z{zzzzzzz|z{{|{{{{z{z{zz{z|{{{||zzzzz{y{{yzy{z|{{{{{{zy{|z{{|{{z{{z{zzz{{{{{{{|{{{{zz{z{{{{{}|{|{|y{z{z{{{{{|||zz{{z{z{{{{z|{|{{{{{{z{z|||{{|{|zz{{z|z{{{|{|{|{z{{|{zz{||{z{||||z{{{zz{||{||}|{{{z|{{{{{|{|{{}{{{{{{{{z{{}{}||{{{{{|zz{||{||||||{{|z{{{{|{{||{||{{{{||{|||{|||||{{{{{{{}{|}|||{{{{{{|{z|{{}{}|}||{{{||{||{||{|{{{{{{|z{z|{{{|||{{z{{{zz|}z|||{|{{zz{z{{{{|z|zz|z{{zzz{zzz|{{z{{{{{y{z{{{{{|z||||{zyz{zz{{{{{{|{{z{z{zzz{{z|z{|{{{z{zzzzzz|{z||{{{yzzz{z{{z{{{}{z{{z{{z{zz|{zz{{|{zzz{zz{zzzzz{|zzzzzzzzy{{zz{{{zz{zy{yz{z{z{{{{{zzz{zyzzzz{{z{{zzyz{zz{z{z{{{{{|{zyzzzzz|{{z{{{{{zzz{{zz{{{z{{|{{zzzy{z{|{{{{{{|zzz{zzz{{z|z|{{zzz{{{zz{{{{{{{||z{{|{z{{{z{z{|{|{zz{{zz|{|{{z||{z{{{{z{|{{{{||{{{|{z{z|{}{{||{{{{{{{z{{{{||||{||z{{zz{zz||{|{{{|z|z{|{z|||{|}|||{z{z||{{|{{||{|{{z{{|z{{|z|||{}|z|{{z||||{|{|||{{z|zzz{z{{{|{{|{|{{{{{|{{{||z|{|z|z{{{z{{|||||{{{z{z{{z{{||{{||{zzzzzzz{{{{|{{{{yzz{yzz{z{{zz{{zzz{zzzz{{{{|{|{zzz{zzzyz{{z{{{z{z{{zzzzz{|{z|{{|{{{z{z{{zzz{{z|{zzzzz{zz{|{z{{{{z{z{zzz|{{z{zz{zz{yyzzzzzzzzzz{{zz{zzyyzzz{z|{zzz{zz{{zzz{z{{{{{zzzz{zz|{{zz{|{zzz{yy{{{{{y{{|{{{{zz{zzy{zz{{{{zzz{{zy{z{z{{||{{z{zzz{zz{|z{{{||z{{zzz{{{z{{|z|{z{{zzzz{{|{|{{{{{{{zz{{z|{z{{{zzzz|zzzz{{||z||{z{z|z{{z{{|z{z{{{{z{zzz{|z{{||{{{{zz{z|{|{{|{|{|{{{{{{z{|{{|||||{z{{{zzz|||{{||||{|{{{{{{{{{{{{|{{{{{z{z{}|||}|||z{{{{z{{|||||||{{zz{{zz{{{{|{|}|{|{{{z|{{{|{|{|{{z{{z{{|{|{{|{{{zz{{zzzz|{|{{|{zz|zz{zz|{z{{{{{{zzzyzzzz|{||{z{zz{{{y{{z{zz{{|{z{{zy{yz{{{{|{|{{{z{{zyzz{{{z{|{{z{zz{zz{{{{{{{|{{zzzzyz{{zzz{|{z{zyzzzz{{{{{{z{{yzzy{z{z{{{{|{{z{zzzzzz{{{{{zzz|yz{yzzz|z{z{{|z{z{zzzzz{{{{{{|zzzyzzz{zzzzz{zzzzzzy{y{yz{zz{{{{zzzz{{zz{{{{{{{z{{zz{zzz{{}|z{|{z{{zyz|{{zz|{{||z{z{y{{y{{{{{{{{z|{zzz{{{{{{{|{|z{{{zz{z|{{{{{{{{{zz|{zz{|}{|{|{{|{z{{zz{||||||{z{yz{z{{|{{{}{|{{{z{{zzz{||||||||zz{z{{{{||{|||||{{{{{|{{{{||{|||{{{{||{|||{|||||z|{z{|z||{}{||||{z{{{{z{{||||{|{|{{{|z{|{{|}}|{{{{z{z{z{||{z|{{{{y{z{{{{{|z||{{{{zzz{zz{{{{{{z{zzyzzzzy{{{z{zz{z{yyzyz{zz{|{{{||zzyzzzz{{{z{{{|{zzzzyz{zz{{{{{|{z{yyz{y|{{|{{{{zzzzzyzz{z{zz{{{zz{z{yzzz|z{zz{{yzzzzzyz{{{z{|{{zyzzzyzzzzz{{zz{yzzzyzyz{z{z{z{{{{z{zy{{{{{{{zz{zyyzyzzyzz{zz{{zzzzzzzzzzzzz{{{{zz{z{yyyzzz{{{{{|y{z{z{y|{{{{|{|{z{z{{zz{{z{{|{{{z{zzzzz{{{|{z|{z{z{z{{{{{{{{{{{zz{zz{{z{{|{{{{{zz{{z{y{|{{z{zz|{{{z{z{z{|{|||||{z{{|{{{{{|||{||zz{{z{{z{{{|}|}|{z{|{{{{||{|{{}{{{{{z||z{{{{|||||{{{z|{z{{{{|{|{{z|{z{{{|{|{}||{{{{{z|{{{{|||{|{{}{{|{z||{{{||||z{{z{z{z{{{{z|}|{{z{{z{z{|{||{|{{{zzz{{z{z{zzz{{zzyzyzzy{z{{zz{{zzyzzyzzzz|{{{|{zzz{y{zy{{{z{{{{{{zz{zzy{z{{{y{|{zzzyzzyz{{{{{{{zz{zzzzzy|z{y{{z{zzyyz{yz{{{zyzz{zzzzzyzzzzzz{zzyz{{zzzz{|{{{z{z{z{zyzyzzz{z{z{z{zz{yzyzz{z{z{{z{zzzyzyyzzzz{z{zzyyzzy{z{|z{{|{{y{z{zzzzzz{{zz{{{zzz{z{{|y{zzzz|zzz{zz{zz|{{{z{{{{{yz{|zz{{zz|{{z{{{{yzz{|{{{|zzz|zzzzzz{|{z{{{{{{zz{{zzz||{{z{{{zz{{{{z|{{|{{{|zz{{{{{|{|{|{||{{{{z{zz{{z||{|{{{z{{{z{z|{||{|||{z|{z{|{{{{{|{||{zz{z|z{{{}{{}}{|{{z{z{{{||{|||z{{{yy{{{z{{}||||{z{z{{{z{{{{|{{{z|{zzzzz{{{{{|{{{{|zzz{{|{{{|||{{zzz{{{{{{zz|z{{zzy{y{zz{z{z{{z|{{zzy{yz{|z{|z{{{{zzzzzy{|zz{{|{{zzy{{zzzz|zz{{|zzzzzyzy{|{z{{{|yzyzz{zzy{|z{{{zzz{zzzyzz{{yy{z{{zy{zyzyz{z{zz{|y{yyzz{zz{{z||{{{{y{zzz{z{{{{zzzzzzyyzzy{z{{{{{{yzyy{zyy{yzzzz{{{{{z{zzzz{z{z{|{yzyzz{zz{{|{z{||{y{y{z{{{{z{zz{{y{zzzzzz{{{{{{|{{|zzzz{{{{{z{{{{|{z{{zz{z{{|{|{{zz{zzy{z{{zz{|{{{{z{z{zz{z{{{{{{|{{z{z{{{{{|{{|{{{|{zz{{{|{}{{||{{{z{zz{|{{{{{{{{z{z|{{{||{{{|}{{z{{{{z{||z|{{|{|zzz{{{{{|{{|{||{z|{z{{{|{||{{|{{zz{{zz|{|z{|||}{{{z|z{z{|{{|{||{{{z{{zz{|{|z{|{{{{{{{{z{|{|{||{{zz{{{yz{{{z{{{z{zz{z{{zz{z{{{{{{zz{z{{{{|{{|{||{z{zz{yz|{|z{z|{{z{{{zzz{{{zz{|{{zz{zzzy{{{{{{{|zz{zz{{yz{{z{|{{{{zz{zzzzz{{z{{{z{{zzzz{z{{z{{{|{yzzzzzzz{z{{{{{{zzzzzy{{z{{{{{{{{{zz{z{yz{||{{{{{zyzzzy{{{{{{{{{{yzz{zzy{||{{|{zz{z{|zz{{{z{{{zz{z{{{zz{{z{z{{|{{z{{{z{{{{|z{||zz{{zz{{{|{{{z|{z{|{{z{z{||||}|{{{z{y{zz{||||{||z{|{{{z{{{{{{|{{|{{{{{{{{{||{|||{{{}{||z{{{}{|||z|{zz{{{{{|{{|||}{{{{z{z|||z{{||{z{z|{|{|{||||{|{z|z{{{{{}{||}||{z{|{|{{||{|{}|}{{z{{{z{{|{|{{|{{{{{{}z|{|||{|||{{{z{{{z{|{{{|}{|{{|z{||z|z|{{|{z{{z{zzz{{|{|||{{{{{zzz{z|{zz{{{{zz{{zzzz|{{{|{|z{zzyzz{{{|{{{{||{{z{{zz{z{{z{{{{z{z{{zz{{{{z{{{{y{zz{{zz{{{z{{||z{{zzz{{z{z{z{{yzzzzzzzz{{{zzzzzzzzzzzz{{{{|{{z{zzzzzzzy{{{{|{{zy{yzy{z{{{{{{{{{zzyz{zzz{{z{|{zz{{y{z{z{|{{z{z{{zzz{{zy{{{{z|{{{z{z{{{z{{{z{{{{{{{zyzz{{{{z{{z{z{z{{zz{{||{{{{|{{z{{z{{|{||{|{|{{{{z{{z|{{{|{{{{{{{zzzz{{{{{{|{{z{|{zyz{{{||||}zzzzzz{|{|{|{||}|{{{{{zz||}z|{|{{{{{{{|{{}|}{||{{{{{{z{{|{{{{}{||{{{{z{||}|||||}{{{{{zz{|||||{|{|{{|{{{{{{{||||{{{|z{|{{{{{|||{|{z|z{z{{{|||{|{{{{z{z{{{{|||||{{{{{{{z{y{{|{|{{|z{zzzz{yz|{{{{{|z{zyzzzzz{z{{{{|{{{z{zzz{|{z{{|{{zy{z{{z{z|{{z{{{{yzz{zz{{{|{{z{zzyzzzzz{zzz{z{{z{{zzzzzz{{z{zz{{z{zy{zzz{z{z{{{zzzyzyzz{{{{{z{zzzzz{zz{zz{z{{{{{{zzxzyyz{zz{{{{{{z{zz{zy{{yzz{zz{zyzzzz{{{z{{{{zz{{z{zy{z{{{{||zzzz{{{z{{z{z{{{|{{zyzzzz{{{z{{{y{{zy{zzz{{{z{{{z{z{{zz{{|{{{{{{{z{{z{{{{|{|z{||zz{{{{z{{||{{||{{{|{|{zz{z{|{{{{{{{{|{z|{|{|{|{}{{{{{{{|{{{|{|{{|{{{{zzz{}||||||{{|{{zz{|}||||{{||{{{{{z{||||{{{{{{|{{{{{{|{{|{{{zz{|{{{||{z|}|{|{{{{{{|{|{}||{{{{zz|{z|{{{z|{{{z{zz{{{z|{|}z{{|{z{z{zzy{{|y{|z{z{z{{{zy|{{|{z|{{z{zzyz{{{{z{|{{|zzzyzyy{z{{{{|{||zzzzzz{z|{zz|zz{{yzzzyzzz{{{{{z{z{zyzz{{{{z{|{zzzzyyzyz{{||{{|z{{z{{z{{z{{z{{{{z{zzzz{z{z{{{{zzzzzzzz{{z{z{{{|{z{{zyzz{{{{{{{{{{z{{z{zz{zzy|{||z{z{zzzy|z||{{{{{{y{{z{{zz{{z{{{z{z|zz{{z{|{{{|{zz{zz{z{z{|{|{|{z{{zz|z|{{{{{{{|zz{{z|zz{|{||{|{z{{zzz|{{|z|{{{|zzzz{zz{{|{{{|{{{z|{{{{{{||{{||{|{zzz|{{|{|{|{||{{{{{{{z||}|{|{|zzz|{{{}{|{|||||{z||||||{|}|{||{zz{{{y{{|{|{||{|z{|{z|z}{|||||||{{{{{|{{|{{|{|{{{{||{z{||||||{{z{{z{|z||||{|{||{{{{{{{z{|{}{|{|zz{{zz{z{{{{z{{z{{z{z{zz{{{{|{{{|z{y{zzy{{z{{{||{zzz{zzy{{{{||{{{zzzzzz{{{{{z{{{{zzzzzyz{z|{{{zzzyy{zzyzy{{{z{zz{zzzzzzz{{z{{{{z{zz{zzzzzz{{zz{{zzzzz{{zz{{zzzzzz{zzzzzzz{{{{{{{zz{zy{zzz{{{z{{|{{{zzzzzyyz{{{{{{{zzzzzzz{z{z{z{{zzzzzzz{{{{{z{{|zzzzz{zz{{{{z{{zz{zzz{y{{|{z|{|zzz{zy{z{{y|||{{{z{zzz{{zzz{z{|{z{{{z{zz{{{z{{{z{{zz{{zz{|{|{||{z{{{{{{{z{{||}{||z|z{{|z{|z|{{|}{{{{{{zz{|{||{|||z{{zzz{||{|||||{z{z{{|{{}||{|}{|{{{{{{{{{||{{}||{z{{z{|{|{|{{|{{{{z{{{|{{}|||}|||z|{zz{|{{||{|}{{{z{z|{{|{|{||||{{{{{{{||||{{{{zz{{{{zzz{{{{||{{{z{yzzz{{|z{{{|{zzyzzzzz|{{{{{{{{z{z{{{{|{zz{{{{zzzzzzy{{{{{{{{zzzzzzzy{z{{{{{{z{zyzzzy{{{z{{{{zzzz{zzz{{{zzz|zzzz{zzzzzyz{{{z{{zzz{yz{{{{zzz{{yzz{z{y{zzzzz{||z{{zyzzzzz{|{{{{y{zzzy{zz{{{{{{{{{zz{zzyz{{z{{|{zzz{{z{z|z{{{z{{{zzzzzzzzz{{{zz|z{z{z{{z{|||{{}z{{{{{{{z{{{{{|{{{{z{{zzz{|z{{||{{z{zz{{z|||{{{}|{{z{{{z{|{|z{{{|{z{{z{{{|||{|||{{{|{|{|z||{|{{{}{{|{{{zz{|{|||||{zz{{{zy{|{{{|{||{z|z|{{|||{{{{|{{|{{z{{z}|||{|{|z{{{z{{|{{{|{|{{|{{|z{{||{{{|}||z{{{{z{|{{|{{{}{z{z{zz{{{|{z{||{{{{{zzz{|z||{{{{z{{zzz{{z|{{{{{z{z{yzzyz{{{z|{|{z{zzz{yz{{{{|{|z{yyz{{z{{z{{{{|zz{{zy{z{{{{{z{z{zzzyz{z{z{|{{{{z{zzy{yzz{zz|{{zzzyz{yzy|{{{zz{{{z{zyzz{zzy|z{{{zzzzzyzz{{{zz{{zzzzzyzz{{z{z|{zzzz{zzzzzz|zzzz{{{zzzzzzz{z{zzzz||{zzzy{zz{y{{{{zzzzzz{yy|z{{{{|{zzzzzy{{{{zz{{|{{{{{zzyz{{{||{{{yy{zzz{{|{{z{z{|{z{{|z{zz{{{{|{{{z{yzyyz{|{{{{|z{yzz{zzz{{z{{|{{{{|z{{{{{|{}|{|zz{zzz{|{{{{|{{||{{{|{{zz{{{z|||||z{z|z{{{||{{z{|{zz{{z|{{{||{{{{|{z{{z|{{{}}{z}||{{{|z{z|{|{|{|{{z{{zy{|||{{||}}z{{z{|{{|{z|{}}|{{{z|{{zz{z{{{|}{zz{z|z{{{|{{||zz{zyzzz{{{{{{{z{z{yzz{yyz{z{{{|{zzzzyyyz{|zzz|z|{{yzz{zz{{{{{{|{{z{zz{zzz{{{z|{{zzyzzyzz{{{zz|z{{zzzzzzzz|{yzz|zzz{z{yzyz{{zz{zz{zyyzyyz{{zz|z{zyzz{zzzzz|zzz{{{zzzzyzy{zz{{{z{{zzzzzzz{z{{zz{||zzyz{{zzzzzzyz{{zzzyzyyzz{{zz{{{{zzyz|zzz|{z{{{{z{zzzzzz{z|z{|{{zzzzzzz{{{{{{{{{z{zz{zzz{{{|{{|zzyz{{zz{z{z|{{{{z{{{zyz{{|{{{{{{{z{zzzz{z|{z{{{{{{zz|{{{{{{|{|{{{z{|{{{z{{{{{{{|zzy{|{z{|{z{{{{z{{{z|{{z{{|{{||{{{{z{{{|{|{|{}{|{zz{||z{z||||{|}|zz{{zzz{|{|{{|}|{z{{{{{{|{|{{}{|{{{{z{z{z{{{{{|{{{zz{z{|{|{{{{|zzzzz{{z|{{{{{{{{{{z{z{{{z{z{{{{{{{zzzzz{z{z{{z{{zzzzxyz{zzzz{{{z{zyzy{z{z{y{z|{{y{zzzzzz{{{zz{{zzyxzzzz{z{{{{{{{{zzzzyyzz{z{{zzzzzzzzzzzz{zz{{{{zzyzzzy{zz{z{{{yyzzzzzzzz{y{z{zzzzzyzzzzz{|z{{{yz{zy{zzz{{z{z{|zzzzzyzy{{{zz{{{{zzyzzz{y{z{{{{{{zzyzz{y{{z{{{{|{{yzzzzzz{||z{|zyzyzz{z{{z{{z|{zz{{yzz{z{{z{z{{{{{{{zzzz{{|{{|zz{{z{zz{zz{{{{z{z{zzzz{{zz{{z{{{|{|{z{z{{{{z{||{|z{{z|z{{z{||{{||{y{{{zyz{{{}{{|{{zz{zz{z{|{{||{{{{{{z{{{{|z{{|{|{{z{z|z{{||{z{|{|{{{z{{z||{{{|{{zz{{{{z{{z{{{z{{{|z{{{{{|{{{{{{|{z{zz{{zz{{{|||{{z{{zz{{z|{|z{|z{{{zzy{z{{z|{|zzz{y{zzzy{z{zzz{zzzzyyyyzz{|z{{z{zz{y{{{z{{{{{{{{{yz{zzzyz{||z{{|z{z{zzzz{z{{{{z{y{zy{{zzzz{z{{{z|z{{yzyzzzzz{{z{{zzzyzzz{zy{|z{{yyzzzy{z{{zz{|zzzzyzy{z{zzzz{z|{z{{{zzzyzz{{{z|{z{z{{z{z{{zzz{zzz{z{z{zyzz{{z{{{zz{{{zyz{{zz{{{|{{{{zzzz{{{{{{{{{x{zzzy{z|{z{{z{{{z{zzzz{|{|{|z{z{z{{z{{{{{{||{{{z{zzzzz{{z{|{{{{{{z{zy{{|{{{{{{{z{{{zz{{{{|{|{|z|{{{z{{{{{|{{||{{{{{{zz{||||{{|{{zz{{{{{{|{|{||{{zz{{|z{|{|{}}|{zz{z{{{{{{||{||{{{z{{{z{{||{{}||z{zzz{|{{|{|}||{zz{{|z{{{{|||{|{{{{{{{z{{{{|{||{{z{zz{{y{{{z|{z|{|zzzzz{z{{{{z{z{y{zzzyz||{zz{{zzzzzzzz{z||z|||z{zz{zzz{{{z{z{{{zzzzzz{{{{z{{{{{zzyz{yyz{{{{{|{{zzz{{zzz{zzzz{{zz{yzzzz{z{zzz{{zy{zzzyzz{{z|{z|zzyz{yzzz{z{zz{{zz{zy{y{{{{{{{{{z{{zzzzzzzz{{{||zy{{{zzyy{{z{{{{{zzzzz{zz|{z{|{{zz{zzz{yz{{{{{|{|z{zzz{z{{{{zz{{{zz{z{{z{{{{{|{|z{{yzz{{{|{z{{{|{zzz{z{zz|||{{{{{{z{{{{z{{{{{z{{{z{{{{z{{{{{{{{{{{{{|z{z{|{||}{{{{|{{{||{||{}{{||z{|{{zz|||||{{|zz{{{z{{|||{{{}}{{{{{{{{z|{||||{|{{{{|{|{|{|||||{{||{z{z{|||{||{{z{z|{z{|||||||{{{z{z{{{||{|{{|}{{zz{y{z{{{|{|{||{{|y{{z{|{{z{|{{z{{zzz{{{|{||y|zzzyy{zzz{||{z{zzz{{zz{zz{{{{|{{{{{yz{{z{{zz{{{z{zzzyzyz{{{{{{{{{{{zyyzzz{|{z{{{zzzzzy{z{{zyz{zzzzzz{z{yzyz{zz{zz{zzzyyzz{zz{{{{zzzyzzzz{z{zz{z{{y{yz{yzzzzz{||{z{z{zzyzzz{{yz{{{{{zzzz{z{{yy{{{{zyzzzzyzzz{{{z{{zzz{zzyzz|z|{z{{zzz{z{z|{{z{{|{zz{yz{{z|{{{z{{{{zyz{z|z{{{z{{|{{z{{{zzz{{||{{{{{{zy{{y{{{{|z{{{z{{{{zz|{{{{z{{{|{z{z{{{z{{|{{||{{{z{{|{{|{{|||{{{{z{{zzz{{}|||{{{z{{{|{{|{{}{{||z{{|{{{{|{{||{}{{{{{{{{{}z{|{||{z{{{{{{|||||||||z|{{{{z{{{{{||{|{|{zzz{{{{{{|||{{{{{zzzz{|||{{{||z{z{{{z{{|z{|{zz{z{yzz{{|{{|z|zzzz{zzy{z{zz{{{zyzyyyzzz{z{{{{|{zzzy{{zzz{{{{{{{yzy{zz{z|zzzz|{|zzzzyzzzz{z{{z{zzzz{y{zzz{z{{|{{zzzz{zzz{{zy{z{zzzzyyyzzzz|{{{zzzzz{zyyz{{{z{z{{yzzzzzz{{zzz{zzyyyzyzyyz{{|{z{|z{zzzzzyz{{z{{{{yzzzzzzzzzy{{{{{zyz{{zzyzz{z{{{z{zzzzzzz{|{zz{z|{zzzzyzzz{|{{{{{zzzzyzz{|{zzz{{zz{{{zz{zz{{{{|||zz{{{{zz{{{z{{{{{zy{z{{z|{{{{{{z{z{|z{{{{{{{{{|{{{{{z{{{{{||{||{{zzz{{{z{||{|{{{{z{{z{zz|{||{{||{{{{{zz{{|{{||{|{{{{z{{{{{{{|{|||{{{{|{{{{{{|{|{}{z{|{z{{|{|{{||{{z||{{{{|{|{|{|z{{zzz{{{|||||{{|{zz{{{yz||{{|{{{{{z{y{y{{{{zz{{{{y{zyzzz{{z{{{{zzzzzzzz{zzz{|{zzzzyy{{zz{z{{{{{zzzyzyyz{{{z{{z{z{zzzz{z{{{z{{z{zzz{zzzyz{{{{{{z{yz{zzy{z{zzzzz{zyzyzzzzzzz{yzzzzz{yzzzzzzzz{{{{{zz{zy{zz{|z{{zzzzzzyzzy{{{|{zzzy{zzyz{zz{zzz{{{yz{zzzyzy{zz{{{{yyzzzxzz{z{|zzzzzzzz{zz{z{{{{{{{{y|zzzzz||{{{z{{y{z{z{zz{|z{{|{{{z{{zz{zz{{{|z|{zz{{{zy{z{{{|z{|{{zz{{zz|{|{{{{{{{z{zzzz|{|{{|{|z{zz||{{{|z||{|{z{z{|{z{z{{{{{|z|z{z{{{z{|{{|{||zz{{z{|{|||{|||||z{{{z{{|||||||{{{|{z{{{|{|{|||{|z{zzz{{{{{{|{{{|z{|{{{{{|{{|{{{zz{{z{{zz{{{z{||zzz{{z{{{||{{z{{{zz{zzzz{{{{{{z|z{z{zyzyz{z{z{z|z{{{zz{{z|{|{{|{zzyzzz{z{zzzzzzzzzzzzzz{zz{{zzzz{z{yz{zzzz{|{z{{zzzyzzzzz{z{{{{{{zzyz{zzzzz{zz|zz{zy{yy{zzz{{{z{zz{zzzyzz{zy{zz{zzzzzyzzzzzyz{{{zzz{y{zzz|{{zz{|zyzzzzzzz{zzz{||y{{zyz{{z{z{z{{{z{zzzy{{z{{{zz|{z{{z{zzyz{{z{zz|{z{{yz{z{{{{z{||z{yyyzz{{z{{z{{{z{zz{yz{z{{{{{{|{z{zzzz{{{|{zy||{zzz{z{z{{{z{|{{|z{z{{z{{{{|{|{|z{{{{|z{|{{|||{{{|z{zz{{{{{}{|{||y{{{|{|||{{{|||{{|zz|z{{|{z{}||{|{{{{{z|||}||||{z{zz{|{{{{{|{z{{zz|{{{{z||{{{{||{{{|{z{{|{{|{z|{{{{{zzz{{|{|{{}{{{{zzzz{{{{{{{|z{{zzzzz{{z{z|zz{zzzzzzzz{{{z{{{{zz{zyzyzz{{{z|z{z{xzyzzz{{{{{|{zzzzyzyzz{z{z{|zzzzzzzzz{{z{zzz{zxz{zz{z{z|y{{{zzy{zzzzy{z{z{{z{zzzzyzyy{zz{{{{zzzzy{zzzzzz{{zz{zzzzzzyyzz{z{|z{zzzzzzz{yz{z{z{{zzzzz{yzzz{zzzz{{z{{zzzzy{z{{{{{zy{zz{yzz{z{zz{{zzyy{yzz{{z{z||{zzzzz{{z|{{z{{{{y{zzz{{{{||z{{z|{z{zzz{{{{{{{{{{z{zz|zyz{{{{|{{{{z{z{{{{||{z{{{|z{{z{zzz{{{{{{}|{{{zz{zz|{z{||{{{{z{zzzz|{{{{{{{{{z{{{zz||{{{{||{{{zz{{z{{{{|{{|{z{{|{{z{|{|{{}{{zz{z{{{{{{{{||{{z{z{{z{{{{z|{{|{zz{{{zzz{{z{{{|{z{{{{{{{{{{{{||{{{zzy{z{{{{{{{{{z{z{zzz{{{{{zyzz|zyzyzyzz|y{{z{z{yzxzzzzzz{{{|{{z{yyz{z{{{zzzz{zz{zzzyzz{zzz{{{zzyyzzzz{zz{z|z{zzzzzyzyz{{{yzzzzy{zzzzz{zzzz{{zzzyzzyzy{zzz{z{{zzyzzzyy{|{{{{{{y{z{zzy{z{{y{z{{zzz{yyzy{{z{{{{{zzzyzzzz{{zzzz{zz{zyzyzyzzz{z|{z{zzyzz{yzzzzzz{{{|{zzzyzzzz{{{{|{yzzzy{{{z{{{z{|{zz{{zzzz{|{{z{{z{zz{y{z{{{{z{{{{zzzz{yz|{|{{{|{{zzzy{{z{|{z{{{|{zz{z{{z{{{|{{||z{z{{z|z{|{{{||}{{|{zz{{|{{{{z||{z{zzz|{{|{|{||{{|{{z|{{|||{|{{|||y|z|{{{}{|{{|{{z|{zz{z|{{z|||{|{{z{{z{{{{|{{{{{{z{{{z|}|z{|||{{zzz{{zzz{{|{{{||{{zzzzz{|{|z{{{zzzyzzyzz{z{{{{zzzzzzyzz{z{z{{{{zzzzyzyzyz|{{{z{zz{yz{yy{{{z{zz{z{zz{zyzz{{{z{z{zyzzzz{z{z{z{{{{zz{zzy{yz|zz{{z|{zyzzzyyz{{{zzz{zzyyyyyzzzy{{zzz{z{{zzzyz{z{{{{{zzy{zyyy{zzzzzz{yz{zzz{z{z{{{{{z{zzz{z{xy{zzz{z{zzy{zzzzz{{{{zz{zyzzyzzyz{zz{{{{zzzyzz{z{{{{z{{|{zzzzyzz{{{{{{{|zz{{{{{zz{|z{{{z{z{{zzy{{||{z{|{{|zy{zzzz{{zz{{zz{zz{z{{{{z{z|{{{{zz{{{{z{{}|{|{z{{{{{{z{{|{{|{{{z{zzzyz{z{|{{|||z{z{{{{{||{{|||{{z{{z{{{{|{{}{||z{{z{z{{|{|{{|}{{{{z{{{|{z|{{|{{z{z{{zzz{{y|{||{{zz{zzz|{{{z||{zzzz{{{|{{{{z{{}{z{z{z{z{{{{{{{{{{{{zzzy{{z{{{z|{yzzyzz{y{{zz{{{{zyzzz{yzz{z{{z{{z{zzzzz{{{z{|{{zzz{zzzzzzz{z{{z{{zyzzyzz{zz{{{{zzyzyzzzz{|y{zzz{zyzzz{zz{zz{zzzzzzzzzzzzzz{zzz{z{zzzzzzy{z{{{{{zyy{zzyz{{{{{{{z{z{yzyzzzzz{{z{{{zzzz{{zyz{{zz{zzz{y{zzzyzz|z{z{{y{zzyzyzz{{{{zz{zzy{zzz{{{z{{{{{zzzzz{y|{{{{{{{{z{{zzz{{|z{{z||{{{zzy{{{}{{|{{z{{zz{{{y{|}{{{{{|{y{z{{zzzz{{{{{zz|{{{{{{z|{{|{{z{{{{{{|z{{|z|||{y{|{{z{|{|{{{|{|zz{{{{{|||{{||{{{{{{{{{||{|{|{{}z|{{{{z{|{{|||}zz{zz{{{{|{|{|||zzz{y|{z|{{|||}|{{{{{{{{||{|{{||y|z|{{z{{{{|{{}{|z{{zz{{{{{|z{{{{z|zz{z{zz{{|{{{zzzzyzzzz{{{{{zz{zzyyzzz{z{{z{{{{zzzzzzz{z{|{{z{zzzzz{{z{{{zzz{|{{{zzzzxz{{{z{||{yzyz{zzz||y{{z{zyzzy{{z{{{{{z{zzy{y{{zz{z{{y|{{yyyzz{yzz{{{zz{zzzy{zyzz{z{zzz{{zyzyzyyz{{z{z{{{{zyyzz{zyz{zzz{{z{{zz{zzzz{zy{{{{{z{zzzzzz{zz{|{|zzzzyzzz{{zz{|zzz{{{zzz{{{{{{|{y{zzzzzzz{{z{{{|zz{y{{zzz{{{{{}{zz{{{zz{|z{z{{||{zzzzzzy{{{{|z{z{{zzz{{z{{|}{|||zzz{{{{{{{{|||{{{{{{zz{z{|{{z{{{|z{{{z{{||{{|{{|{{z{{{{|{|{{{|{||zz{{{{z{|||{|z|{{z{{zz{{|||{{}{{y{z{y{{{|{|{{}{{{z{|{z{{{{|{{{{{{z{{{{zz{{{|{|{|{z{zz{zz{||{{{{{z{{zyy{{{{{|{z{z{zzyzzzy{{{z{{{{{{y{zyyz{{{{z{{z{zyzzyz|z{{{zz{zzzz{zzzz{z{z{{{z{zzz{{yz{z{{{|{{yz{{zzy{z{zz{|zzz{zyyyy{zyzzz{{{yzzyzzzzz{z{{zzyzzy{zyz{{{{y{|{zyzyzyzyz{{{zz{{zyzzyzzzzz{{{z}{zzyzz{zzzzz{{z{z{zzzzzzzz{z{z{{{{zyz{zzzz{z{{{{z{zz{zy{zy{{{|{z{zyz{zzzz{{{{{{|{{{{zz{zz{{z{{{|{z{{{{zzz{z{z||{{{z{{zzzz{{|z{{|{zz{{zz{z{{{{z{{z{{{{{|z{{z|{||{{|z{z{{|{|{{{{}||{{{{yz{zz|z{|{{||{{z|zzz||||{{|{{{z{{{{z{{|{|{|||z{z{{z|{||||{|{|{{{z{|{{|{||{|||{{z{{{z|{{{||{||{{{{{z{{{}|z||||zzz{z{{{|{{|||{{zz{zzz{{|z{z{|{zz{yyzzz{{{|{zz{{zzzzz{zz{{{z{{{{zyzzyyy{z{{z{{z|zzyzzzz{z{z{zz{{zz{yxz{{z{z|z{z{{zyyzzzzz{z{zz{zzzyzy{y{zyzy{{zzzzzzzzz{{{zz{z{zzzzy{zzzzz{z{{{zzzzzyzz{z{zzz|{zy{zyyyzz{{{z{{{y|{{zyzzy{yzzz{|zyzzzzzzzz{zz{{{z{zzzzzzzzz{z{|{zy{z{{zzz|{z{z|{zzzz{{zzz{z|{{z{{zzzzz|{{z{z{{{{zz{zyz{zz|z{{||{zz{zyzzzz{{{{{zzz{zzz{z{{{z{{z|{{{{{{{zz{|{{{{{{{{{{{z{{zzz|{{{|{{{{|z{{{{{|{}||{{z{{z{{{{{|{{{z|{{zzz{{{}|{|{||{|{zz{{{{{{{{||||{{{{{z|{|{|}||||z{{{z|||{{{|{||{|{z{{zz|{|{||{||{z{{yz{{{{{{{||{|{z{{zy{z{{|{}{{{{zzz{{z{{{z{{{|zz{zz{z{{|{z{{{yzzyzzz{z{{{z{z{{z{zzyzzzzz{{{|z{z{{zzzz{z{z{{zz|zzyzyyz{z|{y{z{zzzyz{{z{{{{z{{z{{zzzzzzz{{zz{{{zzzzzzzz{z{{z{{z{{z{{zyzzzz{{{{{yzzzzyzzy{{z{|{{zzzzy{yy{{{{{{|zzz{zyyyz{|zzzz{|z{zz{zz{{zzzz{z{{{yyzzzzzzz{{{{{zz{z{{zzzz{{zz{{zyzy{yzz{z{{{zz|zzzyyz{zz{{{zz{{yz{{{yz{{{|{{{{{z{{zzzzzz||{|||zz{zzzz{z{z|z{{|{{{|{{{z{{{zz{||{{{z{{{zz{{{|{|{|{z{z{{{{{{{|{||{{{{{{z{z{||||{|||{{{zz||||{{|{||{{z{{{{{{{{{|{{||{{{z{{{{{{|{||z|{{{{{z{{|{{z{||{{{{{z{{{{{|||}||{z{{{zzz{{{{|||z{{zz{zz{{{|z{|{z{z{zzzz{{{{{{|{zz{zz{zz{{z{|{zzz{{zyxzzyzzz{zz{zzzzzyy{{z{{{|{{{{{zz{yy{z{{{{|{{yzzyzyzyzzz{{{{zzzyy{zy{{z{zzz|{zzzz{zzyz{{{z{{{z{zzzyzzz|zz{zzzzzzzzzyz{zzzz{{zyyzzyzyz{{zz{z{yzzzzzyz{z{zzzzz{zyzyzzyzz{z{z{{zzyz{zzz{{z{z{{zzzzyzzzzz{{{{{{{{yz{{zz{zzzz{zz{yz{{zzzzz|zzz{z{{zz{yzyz{{z{{{{{{z{{{z{z{{{{{{||{z{{zzzzz{{{zz{{z{{{{zzz{{|z{z{{{{zzzzzz{{{{{{{z|zzz{zzzz{{{|{{|z{{{{z{z{|{|{|{{{z{{{zz{{||||{|{{{{{{{zz||z{||}|{z{y{z{{{z{|{|||{{y{z{{yz{{||{||zz{|{y|{|{{{|{{|{{{{z{{zz{|{||{{|}zz|z{{z||||{{{z{zz{zzz{{{z{{|{{{zzz{zz{{z{{{{{y{{zzz{z{{z{{{z|zzyzzxyyz{{zz{{{yzzzzzzzzz{{{z{{{zzzz{yzzzzzz{{zzyzyzzz{zz{{{{{|zzyyyzzzy{{|zzz{zzzzyzzzy{zzzz{z|z{zz{yz{{{z{zzzzyzzyzyzzzz{zzz{zzzyzzyz{zzzz{zzzyzzy{yz{z{{{zzzzzzzzzzyzzzzz{|{zyyzzy{zyzz{y{{{zzzz{zyy{{{z{{{zyzzyzzzy{zz{{{|{|yzy{z{zz{{z{{{{zz{z{zzz{{{{zz{|yzzzzzzz{{{{{{{{z{{{zz{z{{zz{{|{{zzyzzzz{{{{{{{z{z{{zzzz{{z{z{{{{z{{{{z{{{{|||{{zzz{{z{{|}{{||{{{{z{zz{zz{||{|{{|{zz{{{{{|{z|{|||{{z{z|z|{{|z|{|{{{{z{z{{{z{{{||{z{{{zz{|z{{{|{|{{zzz{{z|{{{{{||z{{{|{z{{{||{{{{{{{z{{zzz{{{{||{{{{{zz{{z{{z|||{{z{zzzzy{||{{{z{{{zyzz{zy{{z{{z|{yzyzyzyzyz{{{y|{zzzzzzzzz{z{{{zzzzz{yy{z{{{zy|{zzzzzzzy{{{zz{{zyz|yyzzzz{{{y{{yzzzzyyyz{{{zzzzzz{yzzzy{zzzyz{zzy{yy{zzzz{{{{|z{zz{zzzyyzz|z{{{z{{zzzzyzz{z{zz{z{{yzzy{yz{zz{{z{{yzyzz{zzzy{{{{{zyz{zyzy{zz{{{{{{zzzyyzz{{{zz{{|{{zz{y{{{z{{{{|{zzyyzzzzz{zz|{{|{{z{yzzzz|z{z{{|{{{zzz{z{{|{{{||{{z{{zz{{{{z{{{{{{zyzzz{z|{}{{|}z{{zzz{z{|{{{|}||{y{{zz{|{}z{{{{{zz{z|zy||z|||{{{z{zzz|{||{{{|{||{{{{{{{{|{{{{{|{z{|y{{{{{|{||{|zz{zzz{{{{z{{||{}{{z{{zz{{{|||{|{z{zzzzz{||{{{{{zzzzz{zy{|{{{{{{{{{yyzzyz{{{z{z{z{{zyzzzy{{{zz{|zz{zzyzy{{{z{{{{zzzzyyz{{{z{{{|zzz{zzyzyz{{{zzz{{zzzzyzzzz{yz{z|z{zzzzzyz{{y{{z{zzzzzzyyzz{yy{z{z{zzzyzyzzy{zz|{zzzzzyyz{zzzyzzzzyzzyzyzzz{z{{z{zzzyyzzzyz{{{{{zzzzy{yzyzzzz{zz{yzzzzzzy{zzz{z|{{zzzyzzy{zz{{|{{z{yy{zyy{|{z{{{|zzzzyzz{{zz{{|{{{z|zyz{yzz}{{{{{zz{yyzzyz{z|{|{|{{{zyzzz{{|{||{z{{{zzzz{{{|{z{|{zz{y{{zy{|||||{|{{{{{{z{{{{}{{{||{{zzzzz{{{|{{{{{zy{{z{z{}{{|{||{z{|{zz{z{{{{|{|{{zzzz{{z||z||||zz{|{{{z|{{{{{z{|{{{{z{{{|{{{|||{|{z|{{{{{|{{z}{{zzzzz{z{{{z{{{{{{zzzzzzz|{|{{{{{{zzzyzy|{{{{z{{zzzzzzzzz{{{{zz{zzzyzyyzz{{z{{{zzyyzzzzzz{{z{z{{zyzzz{zyzz{|z{zz{zzzyyyzzz{{z{z|zzzyzzzyy{z{zz{zzz{z{zzyzz|{{{{zzzzzzzzzz{{yz{z{zyzzzzzzz{z{{z{{{yyzzzzzz{{{{zz{yzzzy{zzzz{zy{{{{zyy{yzz{zzzzz{{y{zyyyzzz{zz{zzzzyzyzzyy{|{{{{z{zz{zzz{yzz{z{{{{zzz{y{zzzz{zz|{|z{z{y{zzzz{{z{|{{zz{zy{z{{{|z{{z{zz{{z{zzz||{{|{{zzz{{{{{{z{z|{{{z|{{{zz{{{|{{|{zz{{z{|z{{{|{|{|{z{zz{z{{{{|{{{||z{{{{{{|{|{|{||{{z{{z{{{z{|{{{{|{{|z{y{{|{|{||{|z{{{{{{{{|||{|{{zzzz{z{{{|{||{|z{z{{{z{|zz|{|||{{zzz{{y{|||{z{|{zzzzzzz{z{z{{{{zz{{zz|z{{{z{{{{yzzyyzyzyzzzz{{{{{{zz{yzz{{z{zz||zzzzzzz{{{z{{{|{{zzzyzy{z{zzz{|{{{yzzyyz{{z{|{zzzzyyxzzz{z{{{{zzz{zzzzz{zzzz{{yzy{zzzz{{zzz{{|{zzyzyzzzz{{z{{zzzzzz{zyzzz{{{zzzzz{zyzzyz{{z{{{{zyzz{yyzzz{z{{{{zzzzyzzzzz{z{|{{zzzyzzzyz{z{z{{{{z{zzy{{{{{{{{|{zzzzzzz{|zz|{|{|yz{yz{{zz{|{{{z|y{zzzzyzzz{{z{{{{{zzzzzz{|{{||{{{zyz{z{z|z{{{{{{z{zz{zz{{||}||||z{{z{||||{{{{{{{{{z{{z{y{{{{{{}{|z{z{z{z||{|{|{}{|{{z{||{{z{z{|{{{|y{{{{{|{{z{|||z{z|z{z{{{{{{{||{zz{{z|{{|{|||||{{z|zz{{{{{{{|{{|z{z{zz|{{{{{{{{{z{{z{z{z|{{|{{{z{zzzz{{{{z{{z{z{zzzzzzy|{z{z{{zzzzzzzz{{{zz{|zz{yyz{yyz{{z|{{{zyz{zyzzz{{{{z{{zz{zzzzz{z{{zz{{{yxz{zzzzz{zz{z{{z{zyzzzzz{{{zzz{zzyyzzyzz{zy|z{yzzzyzyyzzzyz{{zzyzyyzzzzzz{zz{{zzy{yzzzzzz{z{{{zzyz{xzzzyzz{{{|{zyz{zyyzzzz{z{zzy{zz{zyz{zz{{{|z{yz{zzzz{{{{{{{{y{zyyzy{zz{z{z|{yzzz{yz{{{{z|z{{z{z{z{{{|{{|{{z{{zzzzzzz{{z{||{{{{y{{yz{|{z{{{{{z{{z{{|{{||z|{{{|{{zz{{{|z|{{{||{z{{{zz{{{|{{}{|zz{{{{{{|{{{}|{{z{zz|{{{{{{z{{||{{zz{{{{||{||||zzz{{z{{{{|{{{|{{y{{zzz{zz{{{||||{{z{|{{{{{{|{|{{{{{{{{{{{{||{||{{z{z{{zz{{{|{{{zzzy{z{z{{|{{{z{{zyzzzzxz{|zzz{{{yzzzzzyzy{{{{{{zyz{z{zyzzz{{{|{{zzy{zzz{z{{{z{{z{yzzzzz{{{{zz{{zz{y{zzz{{{yz{{{{zzzzzyzzzzyz{{zzzzyyzzzyz{|z|{{zzyzyyyyzzz{{z{y{z{zyzyyzz{zz{{{{yzzzzzxz{z{{z|zzzzzzzzz{zzz{{{|{zz{z{zyyz{z{z{{zzz{zzzyzzz|{{{{z{zz{zyz{{zz{z|zz{{zzyzzz{z{z{{{z{zzzzz{z{{z{{{{zzz{zz{zz{{{z{{zzz{zzzzy{{|||{|{zz{{z{y|{{||{{{|z{z{{{zz{{{{|z{{{{z{zz{{{|{|{|||{zzz{zyz{|{{{||z|y{z{z{z{{{||{z{{{zz{{{|{{{{{|{|{z{{{{z{{||{{{}||z{{{z{|{{{||{{{{z{{z{{{{{||z{{|{|z{{{z{{{{{|{{|z{zz{z{zz|||{{|||z{{yzz{z|{{{{{{z{zzz{{z|||z{{yz{yzzzzzz{z|zyzz{zzyyyzy{{zz{zz{{{z{yyyzyzz{z{{z{{zzzzzzy{z{{z{{zzzzyyzzzz{z{z{z{zyyzzzzzzz{{{|zz{{zzzzyyz{{z{zz{zzzzyzyz{{z|z{{z{zzzzzzzy{{z{{z{zzz{z{zy{{|z{yzz{zyyyyyzyzz{{{{z{{zz{yyyz{{zzzzzyzzyyzy{{zzz{{zzzy{zzzzy{{|{z{{{zyyz{yzzz{zz{{{zyzzzzyz{{{{z{{z{{yz{zzzz{{{z|{{{z|zz{yzyz{zz{|{{{zzzzyzzy{{|zz{{{{zzzzyzz{{zz{|zz{zzzz{{|{{{{{{|z{{z{z{z{{{|{{{|{z{z{zzz{|{{{{|{zzy{{zzz{|{{{{||z{zz{{z{z||{{|{{{{z{zz{{{|{z|{}{{z{{z{z{{{|{{{||{z{z{zz{{{z{|{|||z{{{{{{|{{|{{{{{{{zzzz|z{{z|{{{{{zzzzzz|z{|{{|{zzzzzzzzz|zzz{{{zzz{zyzz{{{{z||zzzzzyzzz{z{{{{|z{zzzyz{y{z{z{zz{zy{zy{zzzz{{zz{{zzzyzzzyzzz{zz{{zzzyzzzzz{{z{|{z{zyz{zzz{{zzy{zz{yzzyzz{{zz{z{zzyzzyzzzy{{{{zz{zzzzyzyyzzzzzzzzzzzzzyyzzz{z{{{{{zyyzzzzyzzzzz{{|zzyyzzzzz{zzz{{zyyzzzzzyzzzzz{|zzzzyzyzzy{{{z|{{{y{yzyyzzz{{{{|{z{zy{yz{{zzz{{||{zzzzz{yz||{{{{zzz{zz{zz{|{z|{{z{z{zzzzzz{{z{zz{zzz{z||{|{{{{|{{z{z{{z|z|{{{{||}{z{{{zzz{|{{{|{||{{z|{{z{{{{|||}{{z{{z{zz{{{{||{{z{zz{{{{{z{|{{{{z{{zz{z}|||{|||{{zz{|z{{{{{{|||{z|{{zzz{{|{|{||z{{z{{{z{{{{z{{{z{zz{z{{z|z{{{{{zz{{zz{{z{z{z{zz{{zzzzzyz{|yz{{{{zzz{zzz{{{{{{{{z{zyzzz{z{z{{{{|zyzyzzyz{{z{yz{{zzy{zzyz{{{zz{{{{zyzzz{y{z{z{z{zzzzzzyzzzz{{z{z|{zyyyzzz{z{{z{{zzzzyzzzzzzz{z{{zzzz{yyyzzzz{|{{zzzzzzzz{z{{{z{{|zyzzzzzzz{{{z{{{yzz{yyzzzzz{z{{{zyzz{zzy{zz{{{{{z{zyzzzyz{zz{{{{zz{zzyzzzz{{{z{}zzzzzzyzz{{{{|z|zy{zzzzz{{{zz{|{{{zzzzy{{{|||||z{{z{zzz{{{{{{|{{}z{zzz{z{{{|{}{z{{{{zy{||{{{|{{{{z{{z|{z|z|{z||{{{{{z{z{{|{{{{{|{{{|z{{{{{z{{||{{{z{z{{{{}{{{|}||{zzzz{{|{||{{||{z{zz{zz{||||{{||{z{{z{{{{{|z{{{zy{zyz{z{|z{{{{{{zzz{zzzz{|{z{{z{zyzzz{z{{{{{zz{{zzzzzyyz{zyz{zzzzyyzzzyzz{{z{{zzzzzz{{zzzzzz{|zzzzzzzzy{{zzz{zzzzzzyyzy{{yz{{zzyzzyyyzyyz{z{{{{zz{zzzyz{{{zzzzzzyzyyzy{zzz{z{zzyz{yzzzzz{{zzzzzzzzzyyyzzz{zzz{zzzzzxzyxz{zz{|zzzzz{yzzzz{yzyzz|yyzyzyyzx{{z{{{z{yyz{z{x{z{zz{{{{{zyzzyyzzz{{{{{{zyyzzzz{|zzz{{|zyzyzz{zzz{zz||{{z{{zzyzyz{z{{{{zz{z{zzz{z{y{z{{{zzzzzz{{{|{z{{{{{{z{zzzz|{z|{{{{{{zz{{z|{y|||||{z{z{z{z{{||{{|{{yzzz{z{{{{|{{|{|{zzz{{z{z{|{{{||z{{{{zz{|{{{{||{{{{zz{{|{{{|||{{{{zzzzzz{{{|{|{{{z{{{{{{|{{|{{|{{{{{zz{{{{{{||{{zz{zzz{{{|{{{{|zzzzzzzzz{{y{zz{zyyzzzyzzzzzz{z{{zzzzzzz{z{{zz{{zzz{y{zzy{zzzzz{z{zyzzyz{zz|z{z{zzyzzxyyzz{{z{{|zzzzzxzyz{zzzz{z{z{yzyyzyz{zz{z{yzzyyzyyzzz{zzzzzzzy{zyz{z{zzz{zzzxzzzy{zz{zz{z|zz{zzzzzzzz{z{|{zyzyzzyz{{zzz{z{y{zzzzzz{{z{z{z{{y{zzzzyz{{z{|{zzzyzz{z{z{{z{{z{{y{{yyzzz{zz{|{|zzz{zzzzz{z{z{{{{{{z{z{y{{zz{{{z{{zz{z{zz{|z{z{{z{z{zzzz{{{{{|{zzz{z{|{{{{{|||{{z{zz{zz{|{{{|{|{{|zz{zzz{{|{|{{{|y{z{zzz{|{{|{||{z{{{{{|{{{z{{|{|{{|{{zzz}{{{||{{z{zzz{||||}{|{{|zy{{{z{|{||{|}||{z{|{z|{{{|{{z|z{yzyzzy{{|{{|{|{zzzz{{zz|{zz||{{z{yzy{z{{{z{{|yyz{yzzz{zz|{{{z{z{{z{zzzzz{z|{{{{yzzy{zyzzz{|{{{{zyzzzzz{{zz{zzz{{zzyzzz{z{{z{{{{z{zzz{y{y{zz{{zzzzzzz{z{z{zz{{{{yz{y{zzzzz{zz{zzzyyzyzzz{zzz{{{{zzzzzy{{z{z{{{zzyzzyz{yyz{{z{{zzzzzyzz{z{zzz{{z|zzzzzzyz{yzz|z|z{zz{z{{z{{|zz{{{z{zzzzz|{{zzz{|yzzzzzz{zz{{{z||zzzzzzzy|zz{{{{{zz{{z{zz{{{{|{|{zy|zz{zz{{|{{{{{|{z{{yzz{{{{{{{zz{{zz{{{{{{||{|{zzz{{{z{{{|{{|{|{{zz{{zzz{{||z{|{z{{z{{{||z|{{|{{{{|zz|z{{{|||{{{z{{{z{{{{|{{|{||z{|{{{{}{{|||{{{{z{z{z|{{{|||||{z{z{{z|{{|||{{|{{zz{{z{{|{{{{|{{zz{{z{z{|{{{|z{{{zzzzzz{{{z|z|{zyzyyzzyzz{zyz{zzzyzyzzz{{zz{{{{{zyyz{zzz{{{z{|zzz{yzyzzzzz{y{{zzz{zyzxz{{{z{{{zzzyyyyyyyzzzz{zzzzzzzy{yzz{zyzzzyzz{yyyyzzy{zzz{{zzyyyyyzzzzz{zz{yzzzyyyzzzzz{zz{zzzyyzyz{zzzz{zzyyz{z{xz{zzzzzzzzzyyzyzzzz{{{{{{yyyzzyyzz{{{z{{zzzzzzzz{z{z{{z{{{{zzzzzz{yzzz||zzzzz{zzzz{{z{{z{zzzy{{z{{{y{{{zzz{yz{zzzz{{zz|zz{zzzyzzz{{{{{{{zz{{z{{z{z{{{{{{zzzyzz{{|zz|{z{{y{zzzz{z{{{{z{{{{{zy{{{z{|{{{{|{zzzzzz{{{{z{{|{{{z{{zzz{z|{{{|{|zzzz{z{z{{{{{{{{|{{zz{zz{{zz{{{{zzzzzzzzzz{{{|{|zzzy{{zy{{z{{{|{{{{zzyyzy{{z|z|{z{zzzzzzzz{{zz{{zzy{zzzzyz{zy{{{z{zzyyzz{zz{zz{{zyyyzzzz{zzzzzz{{zzzyzxzyzzzz{|{zzzzyzyyzzzzzzz{zzzyzzzy{zz{z{z{zzzz{zyzzzy{y|z{zyzyzyyyzzy{z{zzyyzyyyyyz{z{z{{zyyzzzyyyzz{zz{z{zz{yyzzyz|{{z||zzzzzzxzzzzzz{zzz{{{yyzzyz{zzyz{{{z{yz{zzz{zzz{z{{yzzzzzz{z{z{{{z{zzzyzzzz{{z{{{|zzzzzzz{{{{{zzz|{yzz{zzz{|z{{{{{{y{zzzzzz{z{{z{{zzz{yzyy{{{{z|{{{{{z{{zz{zzz|||{{{zz{zz{|{{|{z||{zz{{{{{{{z||{|||zzz{zz{{|{{{{||{{{{{{{{{|z{{{{||z{z{{{z{|{{|{{|{{z{{z{z{z|{|||{|{{{{yzz{z{{{{{{{{{{z{z{{{{|{{|{{{{yzz|zz{z|{z{|zz{{z{{zz{{|zz{{{z{zzz{zz|{{{{{|zzy{yyzyz{zzz{z{{zz{zzyzzzz{{{{z{zyyyzyzz{zzz{{{zzz{zyzzy{z{zzzz{zyzyzzz{zz{z{z{z{{yzzyyzzzzzzzz{yzzyzxzzzzzy{zyz{zzzyzxzyz{zz{{zzyzyyzzyz{zz{zy{zyzyzz{{z{y{zzz{{zyyzyzy{{{{{{|{zzzyzzyzy{zzzzzyy{yzzzyzz{{y{{zzzzyzzzy{z{zzz{{zzzyzzyzz{z{{z{zzyzzzyzzz{zz{z{|z{zzyzzy{{{{{{{{z{{{{yzyz{{{{zzzzz{{yzyyz{{{z{|zzzzz{zzz{|{{{{{|{{{z{{{{{zz{|||{{z{zzzz{{|{{{|{|{z{{zyz{{{||{{{{|zz{{{z{{{{||{}|zzz{z{{{|z{z||{{{zz{zzzzz{{{{{{|{{{z{yz|{zz{{|{z{zzz{z{{{{z{{z{||zzzzyzz{{{{{z{{z{z{zz{z{z{{{{{{{z{zzz{zz{z{z{{z{{zzzyzzz{{{zzz{zzzyzy{z{z{y{{z{zzzzzzyyzz{{zzzzzyyyzzzyzz{zz{{z{yy{zyyyyzz{z{zz{zyyz{yzzyzzy{zzzyzyzzzyy{{zz{{zzyyzyyy{z{{zzz{z{yyzyzyzzzyzzzz{y{zyyyzzzz{zyzzz{zzzxzy{zz{y{{z{zz{zyyzyzyzz{z{zzyzzzyyxyzzyy{z{zzzyyy{yzzzzzz{z{y{yzzzyzz{{{{{zzyzzzyzzzzz{{zz|yyzzyy{z{zzzz|z{{z{zzzy{{zz{{zzzzyzzzyz{z{{{{zz{zzzzyyzz{{{zzz{z{zzzzz{{|{{zz{{z{yzzz{{z{{{{{{z|{zz{{zzz{{z{{{{{z{zz{yyy{{{z{{{{{{{z{{zz{{{{|{|{z{{{{z{zz{z{{|{{{{yz{{zyz|{||{|{{{{{zz{{{z|z{{{{{zz{{{{{{|{||{|{{|{{z{{z{z{|{z{|z{z{z{zz{{{{z{|{zzzzyzzyz{z|{{zzzzzzzzyz{zzzzzzzzyzy{{yx{{zzz{zzzz{zxzyz{zz{{z{{zzyzzyzz{zzz{z{{zyyyyzyyzzzz{{{{zzzyyyyyzyzzzzy{zyzyyzyyz{{yzzzzzyzyyyyyzy{zyyzzzzzyyyyyzzyzz{zzzzyxzyzzz{yzzzzzzzyyyyyz{{y{z{zzzxzzyyyyxzzzz{zz{yyyyzzyyz{yz{zzzyyyzyzyyzzzzzz{zyzxzzyz{zyz{zzyzzyz{xz{z{{zzyz{zzzzyzzz{zzyzz{{zzzzyzyzzz{{z{{{z{zzzzzzzzz{{{z{{z{{zzyz{{{z{z{z{z{z{yz{{{{z{{z{z{zz{{z{{z{{{||{zz{zz{z{{{z|{{{{zz{zz{zzy{zz|{{{{{zzy{z{{{{z{{z{|zz{y{z{z{|{{zz|{zz{zzzzz{{{{{{zzz{|zz{{{{{{|{{{{{{z{{zz{zz{z{{{{{zzzzzz{{{{|{{|{z{zzzzz{{{{{z|{zzy{yzzzzz{z{|zzzzzyzyzz{z{z{zzzyxzy{yyyzz{zzz{|zyyzzyyzzzz{{zzzyzyyz{zzzz{z{{{zzzzzzzzzz{{zzz{{{yyyzxyyyzzzz{zzz{yzyyyyyz{yy{zyzyzyzyzzzzzzy{zzzzyxyyzyzyzzzzyzzxyzyyzzyzzzzzzzzzyyyyxz{zzyz|{yzy{yzyyzz{zzz{{zzyyyzyzyyz{yzzzzzyyyyyzzzzz{z{{{zzzzzzyyzzz{{zz{{zzyzyzzy{z{zz{{yyyzzyzy{z{{zz{z{{zzzzzz{{z{zz{zz{zzyyzzzzz{{{z{zzzz{zzy{{{{z{{zzzyzzzzzz{z{{{z{zzzz{zz{z|{{z|||zz{zzzz{z{{{{{{|z{{zzzzz{zz{z{{z|{yzzz{yz{{{{|{|z{zzz{{{z{{{{||{{{zz{{{{z{{{{{||zzzzz{{{{{{{{{{{{zzzzzyz{{{{zz|{zzzz{z{|{{{{{{{|{z{yzy{zz|zzz{{{{{yzzyzyz|{{zz{zz{yzz{zyyzzz|{zzzzyzzy{zyy{z{zz{{yzyyzyz{zzzzz{{zzzyzzzyzyzzz{|yzyzzyzzzz{z{{zz{zzyzyzzy{zz{{{{{zzyzzzyzz{yyyyzz{yzzyzzyz{zyz|z{z{{zzyzzzyyzxyz{yyzyzzyyyzyzzz{zzzzzyyyzy{z{{zz{yzzyzyyyz{z{z{z{zzzyyxyyyzz{zy{{zzzyyzyy{{z{zz{zzzzy{{zzz{z{zzz{zzzzzyzyz{z|{z{{{yzzzy{{{z{{{zz{zzz{zzzz{y{|z{|{zz{zzz{z{z{{||{y{zz{{zyzz|z{{{{{{z{{z{zz{{z{||zzzzzz{zzz{{{{|{{zzz{zzz{{|{{{z{|{{y{zzzzz{{{z{{|{{zz{zzy{{{|{||{{{{{zzy{{{z||||{|{{zzz{zyz|{|{{|z{y{{zz{{{{{{{|{{{yzzzzzy|{{{{z{{{|zz{{z{||{{{{{{z{zzzzzzz{{{{zz||{z|yzzz{zz{{z{zzzzyyzyzz{{{{{zyzyyzzyzzz{{zz{{zzyzzyyyzzyz{{z{{zzzzyyzyzz{{yzz{yzyzzzxzzzz{yz{zy{zyxyzzzzz{{{zzzyzyyyzyz{zy{{zzzzzyyzyzzzzxz{zzyzzyyxyzzzzzyzy{yyyyyzxyyz{zz{{zzyzzyzyyzzzyzz{zzyzyxyzzz{yzz{{zyzzzyzzzyzz{zzyzyzzyyyzyyzyzz{{zzzyzzyzyyzzzz{{zzzzyzzyzyz{zz{z{zzy{yyzzzz{zzzy{yyzzyzz{yyz{z{{{yzzz{y{zz{{zz{zzz{{zzzzz|z|{z{{z{{{zyzzz{{zy{{{z{z{z{{z{{{{z|{|{zz{{zz{{{{{zz{{|zzzzzz{yy{{{{{{{{zz{zz{z{|{z{{{{z{z{z{{zz{{{{{{z|zzzzzz|yz{|{|{{zz{zzz{zz{|{z{|{zzzz{zzz{zz{{{z|{z{z|yz{{{{|{{{{zz{zz{yz{zz{{z{{z{{{zzzz{{z{yz{{zyyyzzzzzzzzzz{zz{zzzyzzyyzzzyz|yyzzyy{zzzzzyz{{zyyyyzzyzzzzyzyzzyzzyyyzzzz{zz{{yyzxyzyyzyzzz{z{zzzzzzyyz{yyzz{{{zyzzyyzyzzzyzzzyyxyyyzyz{yzzzzzyzyyyyyzx{{yzzzyyzyzyzyzzy{{zzzzzzyzzyyzzzz{zyzz{zyyzyzyyzzzzzzzzyyyyyyxyzzzzz|{zyyzz{zyzzzz{z{{{z{yzyyyz{zyz{{z|zzyyzzzzzzzz{z{yzyzyyzzzzzz{zzz{zzzzyzyzz{{yzz{{yzzz{yz{{{z{z{zzyzz{{zzzz{{{zz{zzz{{zzz{{{{{|{zz{zzz{zzz|{{z|{{zzzzzzzy{{{{{{{{zy{z{yzz{{{|{z{{{z{{z{{zzz{z{|z{{zzzy{zz||{|{{{{{{z{zyzzz{z{z{{{{zy{zzzz{{{z{{{{{{zy{zz{|{{|z{z{z{{zyzzzz||{{{{{{z{{zzzyz{{|{z{zzz{zz{{z{{{zy{z{zzzzzzyyy{zzzzz{zyyzzxyy{|{{{{{{{yz{yyy{zz{z{{z{yzzyzyzy{{{{{{z{{zz{xyzzzz{zzzz|yzyzzyzy{z{yz{zzyzzzzzyz{{{yzz{zzyzyyzyzzzzz{{{zzzyzzyzyzzyz{zz{yy{zyyyz{zzz{zz{zyzyyyzxz{zy{zz{zzzyxzyzzzzyz{{z{zzyzyz{z{zyz{|{zzzzzzzzzz{zz{{{yzzyyz{zzzzz{|zzzyyzzy{z{zz{zz{{{{zz{yyzzz{zzz|zzyzzzy{zz|z|{{{z{zzzy{z{{{z{{{{{zzzzz{y{z{{z{{{{zzz{{z{{z{{|||{{zzzzz{z{{z{{{{{{{z{{zzxz{{{{{{{z{{zzzy{z{|{||||{zzz{{{{{z{{{{{|{{{zz{zy{z{{{{|{|{z{{{z{{{{{{|{z|{zzyz{z{{{{{{|||{{{z|{yz{z{{|{{{{zzz{{{{z|z{{{{{{{zzzz{{{{{{{{{{z{{zyzzz{|{{z{zzyzzyzyzy{{zzzyzz{zzzyzyyy{{yz{z{zzzyyzzyzz{zz{zzzzzzzzyzyz{{y{z{zzzzzyyyzz{zz{z{zyzyz{zz{zyzzzzzzyzyxzzyzzzzy{zzyyzyyzyyz{yzy{{{yzzyzyyyy{{yz{zyzyxzzzyzzz{z{zzzzyyzyzyzz{zzzz{zzyyyzyxyzzzzyzzzzzzzzzyyz{z{z|z{yyzzzzyyzz{{{z{z{{zzzzyyz{zzz{z{zyzzyzzy{z{zz{zzzz{z{yz{zz{zz{{{zzzzzzyzzzz{{z{{{yzy{zy{{{{{z{{|z{yyzzy{zz{{zzzz{{zz{{{zz{|{{{z{z{{{z{z{zz{{|{{|{zyzzzzyz{z{|z{{|z{z{{zyz{z{|{{{{z{zz{|z{{{{{{{{{{z{zz{z{}||{{{||y{zzz{z|{{{{|{||{|zz|{zz{{{{{{|{{{{{yz{z{{{{{||{z{y{{{zz{z{{z{{{{{zy{zz{zz{z{{{z{{y{yzzz{z{{zzzyzyzyyyzyz{zzz{{yzzzyyzzzzzzzzz{zzyyyyzyzzzzz{z{zy{zzyzzzz{yzyz{{{yyxyzyzz{z{{{{zzzxyzzy{zz{z{zzzzzyz{yyzyzzyzzzzyzyyyxz{zzzz{zzyyzzyyzyyzzzzzzzzyzzzyyzzzz{zz{zzz{yxyzzyz{zz{zzzyyyyyzzy{{{{z{zzzyyyyyyyyzyz{{zyyzzyzyyyz{{zz{{zzy{zyzyyzzy{yzyzyzzyzzz{zzz{zz{yzzyzzzzz|{zyz{{zz{zyyzy{zy{z|{yy{zzyzyyz{{|z{|{zz{zyzy{zz{zz{{{z{{{yzz{{|z{|{|{zz{zyzzz{z{{z{{|{z{zzz{zz{{zz{|{{yzzzyzz{{{z{||{{zzzyz{z{zz{{{|{{zzz{yz{z||{{|{{{{{{zzzzz||{|{{{{zzzzzzzz{|{{{{|z{z{{z{{{{{{{{|{{{zyz{zz{{z{{{{{{zy{y{zz{{{{zz{zzzzzzy{zzzzzz{{{zzzyzzzyz|zzzz{zz{zyzzy{zzz{{{z{zzyyzzzyzzzz{zzzz{z{yzyyyzzyz{{{zyzyzyzyzyzzz{z|zxzyzzyyzzyzy{zzz{zyzyzyz{{yyzzzyyzyzyzzzz{zz{zyyyyzyyzzyzz{zzzzzyzzyyxzzy{zzzzzyzzyyyyzzzzz{zz{yyzzyzzzzzzyz{z{z{yzyyyzyzy{z{z{zzzzzzzy{zzz{{{{{z{zzzyzz{|yzzzz{zyzzzz{{zz{{{{z{zzzyzyzz{zzz{|{z{{yzy{zz{zzz{{z{zyyzyzzz{{{z{|{{yzzzzzzz{zz{{zz{{z{{{zy{{|z{{{{zy|yzzzz{{{{z{z{zzzzz{zzz{{zz{|z{z{z{z{z{{{{|{|z{{zyz{{z{|{|{{zz{{z{zzzz{|{|{{{|{zz||zzzz{z{||{{{z{zzzzz{z|{z|{{{{z{{{zz|{{{|{{{y{{z{z{{{{z{{|{{zzzzy{zzz|{{{z|zzyyzyz{y{{{z{{z{zyzzyzzyz{z{{zzzzzzyzxyzzzzz{{zzzzzxzyzz{{{zz{{zzzyyzyyyzz{z{zz{zzzyyzzy{{{{{zyzzy{zzz{zz{{zz{zzzxzyzxzyzzyzz{y{yzyyzzzyzzz{zzzyzyyzzxyyyzzzzzzzzzyzxzyyz{zzzzzyzzzzyzyzzzz{z{{{zyy{yzyyyzzzzzz{{yzyyzzzy{zzzz{{zzxzyxzyz{zzzz{{zyyyyzzz{z{yzz{{{zzzzyzzzzzzzz{{yzzzyyzz{z{y{{z{{yyzzyzzz{z{{{{zzzyz{zyz{{{|z{{zzyz{zzzz{zzzz{{zz{zzyyzz{{{|{{{{z|zzz{{{{{{{{{|{zzzyzzz{zz{|{{{z{zz{{zzz{{|{{z{|zzzzzz{z||{{z{{{{zzz{z{{{}z{{|{{{z{{zz{{{{{{z{{{}zzzy{zy{{z{|z||{zzz{{zz{{{{|{z{|{yzzzzzz{{z{{{|z{z{{zzzz{{{zz{{zyzzzzzz{y{z{{{zzyy{yyzyzz{yz{z{yyzyyyzyyzzy{zzz{zyxzzyzzzxz{zz{zyzxyzyyzzzz{z{{{zzyzzyyz{yzyzz{zzyz{xyzz{yzzzzzzyzzyyyzzz{zy{yzyzyyyyyyyyzzzzzzzyyyyyzxzzyzzzzzyyzyxzxzzzzz{zzzzyzyyyyyyyzzzzzzyzzyzzzxz{{yzyzz{yyyyyzzxyyzzzzzyzzyzzyy{|zzyzzzzzzzyyyyz{zz{zz{{yzzyyzzyyz{zzz{zzzzyzyzzz{{{|{|z{{zzyzyzz{z{{{|zzzzyzyyzzz{z{{zzzzz{zzyy|{zz{{{{zzyzzzyz{{{{{z{z{{yzz{z{z{{z{z{zzzz{yzzz{{{z|{{{z{zzzzz{{z{{{{|{{zzz{{z{{z{{{{{{z{zzzz{z|{{{{{{{y{zyzz{{{{z|{{{{{zzzzy{z{z{{{{|{{zz{zyz{{{{{zz{zz{zzzzz{z{{z{|{{zyyzzz{z{z{zz{{z{z{zy{{zzzzy{{zzyyzzyyyy{{zzy{{zyyyyyyy{zzyz{zzzzyyzzyyyzzzzzz{yzxzyzyyzzzyzzzyyxzxyyyy{{zyz{zz{yzzzzzyzzzzyzzzzzzyyyyyzzzz{zzzzyyyxyzyzyzzyyzzzyzzyzzxy{zzz{{yzyzyyyyzyyzyzzzz{zzyyzyzz{yzy{z{zxyzzyyyzzzzzz{zzyyxzz{zy{zzyzzzyyzz{zzxyzz{{yyzzyzzzzzzzzzzy{z|{yz{zzzyyzzzz|{{yy{zzzyyzz{z{zzz|zzzzzyyz{{{y{z{zyyyzzzz{zz{zz{{zzyz{zzz{zzzz{|zzzzzzzzz{{|{z{{|{z{z{zzyz{z|{{{{{yz{{zzyzzz{{{{{|zy{zzzz{{{zz{{{{{z{zz{z{zzz{{{{{zz{zzz{z|{z{{{{z{zzzyzz{{|{z{{z{zzzzzzz{{{{{z{{zzz{zzzy{{zz{{{|zzz{{yzzz{{z{z{zzzyy{yyzz{{zzz{zzz{{zzzzzzzyzzz{zyzz{yyzyzzzyz{yzzzzyxx{yzyzz{{{zzzyyzzy{yzzzzzzyz{yzyyzyy{{yy{{zyzyyy{yzzyy{{z{yyzxzyzxyzzzyzzzzyyzzyzy{yzyzz{zzyyyxxzzyzzzyz{yxzxzyyyzyzzyzz{zyyzyyzyyyzzxzz{zzzzzzzyyzzz{zz|zzzyzyyyyyzyzz{zzyzyyyzyyzzzz{z{zzyzz{zzzzyzzzz{zyy{zzzyyxzzz{{z{zz{yzy{zyzzzz{z{yzzzyzyyy{z{{zzzxzzz{zzyzzzzz{{{yyyzyzzy{{{{{z{{zzyzzzz{z{{{z{{zzyyzyzzzz{{{{z{zz{yz|zzz{z{{z{{{z{z{zzyz{{{{|z|{zyzz{y{z{{|{{{{{z{zzzy{z{{z{z{{z{zyzz{y{{z{{z{z{{zzzzzzyz{{{{||{{zzz{y{zzz{zzz{{{zzz|z{z|{z{z{{{zzzyzzzzz{z{z{z{{yyzzzyzz{z{{z{z{{zzzzz{zzzz{{zzzy{zyzzyz{{{zzzz{zyyzyyyz{zzzzz{yzzyzzzxyyzz|z}zzz{zyzzzyzzyyzz{zzyzyyzy{y{zzzz{zyyyzyyyzzzxz{{zzzyyzy{yyzyzzzz{zyzyxyyzy{zyzzy{xyyyzxyyzzz{z{zzzyzzyyzyzzyzzzzz{zyzyyzyyzzzzzz{zzyzyxzzxyzzzzz{zzzyxxyzyzzzyzyzyyzzyzzyz{z{{zzyzzzzzyzyzzzzz{|{zzzyzyzyz{zzzz{zyzyyzzyyzyzzzz{zzzzzzyyyzzz{{{zzzz{yzzzzzz{{z{|z{{zzyzzzzz|zzz{{zzzy{yy{z{{|z{{{yyz{zzzz{zyzz{|{zzz{zzzzz{{z|{{{zyz{{y{zz{{{{|{{zy{zy|{{{{{{z{{{|zz{yzzz{|{|{{z{{z{zzzzzz{{|{zz{zzz{zzz{{{z{|{|{{{z{z{zz{{{{{z{{z{xy{zzy{zzzz{z{zzz{zzyy{zz{zz{{zzzzzzyyzz{z{z{{yzxzzzyyzzzzzz{zzzyyyzyyzyzzz{zy{yyyyyzyzz{z{{{|zyyyzyyyzzzzzz{yzyyyyyyyzzzzz{{zzzyyz{zyz{yzz{z{zzxyyzyy{zzzyyzzzyzzyyyyzzyzz{zyyyyyzzzzzzy{zzzzyyzzxzz{zz{zzzzzzzzzyzyyz{z{z|zzzzzzzxzyzzyz{zzzyzy{{zzzyzzzyzzyyyzyzzyxzzzzz{{|{zzy{yyyzzzzzzy{zzzyyyzz{{{zz{{{zzzyzyyzzy{z{{{{z{x{zzzyzzzzz{{z|yy{yzyyz{y{{zz{{zy{{zyzz{z{z{y{zzyzz{zzz{z|z{z{{z{zyz{z{{z{{{||zz{zzyy{{{z{{zz{zyzzz{z{{{z{{{{z{{zz{z{{{{{z{{{{|{zz{yz{{{z|{{{|zzz{zzzz{{{{||||{z{{{zzzz{{|||||{{yz{zzz{{{|z{{{zzzzz{zz{{z{{||{{zzzzyzzyzz{z{{{zzzyzzzzzx{z{zzzzyzzzzxyy{{zzyz{yzzzyyyzzzyzzzz{zzzyzyzzz{{zzz{{zzzzzyyyzz{z{z{zzyzyzyzy{{zzz{z|zyzyyzyyzzy{zzzz{zyzyyyzyzzzz{yzzyyzyzyyyyz{zzzzyyzyyzzzzzzzzzzz{zzzyzyyzzzz{{zzzyzyxzxyzzzzz{{zzzzzzxyzzzzzzzzzzyzyyzyyzyzzz{z{zzyzzzzy{zzzzz{{zzzzzyyzzzzzzz{{{y{zzyz{zzzzzzz{yz{zzzzyzzzzzzz{zzzzzzzzzz{{zzyzzzyzzzyyzz|{zz{z{yzzz{{y{z{{z{z{zyzy{zzz{{{||{zzz{zyzzzy{{z{{{{|{zzyzyyzz{|{{z{{zzzzzyyz{{{{zz|{zz{zz{{{z||z{{{{{{zzz{{zz{z{{z|{{{{z{{z|zz{{{{{{{zy{zzzzz{{z{{{{|{{{{{y{{{{{|{|{{zzzz{zzz{z{{{||{zz{yzzzy{|{{z|{zzzzyz{zzzz{z{yzy{yzzzzzyzzyzyz|yzzzzxzzyzzzz{z{zz{yyzzzzz{z{zzzzzyzzzyy{z{{zzz{zyzzzyyyyz{zzzz{zzzyyyzzz{zzz{zzzyzyzyzyzyzzzzzzyzyyy{yzyyzzzz{{yzzzzzzyyzyzy{zzzzyxyzzzz{zzz{yzzzzzxzzyz{yzzz{zzzzyzyyyzzzzzzz{yyzyyzzzz{zz{zz{yz{yzyzz{{{{{zz{zzyzzzxzzzzz{yz{yyyzyzzzzz{{{{z{yzzy{zzzz{z{{{{zz{zzzyyy{z{{{{zz{zz{z{zyz|||zz{yzzzzzzz{{{{{z{{zzz{{zz{{{{{{{|{{{z{z{z{{||{{{{{{{{{z{zz{{{z{{z|{zz{z{zzz{{|{{||{{z{zz{{zz{z|z|{{{{{zzz{z{|{{{{{|{zz|zy{zzzzz{{|||z{{zz{zz{{{z|{||{z{|{z{|{{{{{z|z{zzzz{zzz{z{|{|z{zzzyz{z{{{z|{{{y{yy{yy{{{{z{y{yzyzz{zzy{yzzyzzzzxzzyzy{zzzyy{yzzzzyzyyzzzzzz{zyzzyzyxy{y{zzz{zzzzyyzzxz{{zzzy{yzzyyzzzz{zzzz{zzzzzzyzzzz{yz{yzyzyyzxxyzyzyz{{{zyzyzzzyyzzzyzz{zyzzyzyyz{{yz{zzzyzzyyzzyz{zzz{{zyyyyyzyyyzzz{zzzzzyyzz{z{zzz{zzyzyzzzzxzy{{yz{{z{zzyyyz{zz{zzyzzyzyyy{yz{{zz|{{zxzy{{z{zz{{{{{{zzzzzyzzyzy{z{{zzzzzzyzz{z{{{{|{{zzzzzzzzzzzzz{{zzyzz{{{{{{z{{{{yyzz{zzz{{{{|{{{{{zzz{z{{{{{z{|{{z{{zz{z{|z{{{|||{zzz|{z{|{z{{{z{{{{{z{{{|{{{{{{{{z{zz{z{|{{{{{{{zzzzzz{z|{z{{|{{{zz|{y{|{{|||{{zzzyz{z{zz{{z{|{{{z{y{zzz|y|zz{zyz{zzzyy{{{zyzzzyzyyzyzyz{{z{yz{yyzzzzyzyzzzz{z{zzzzyyzzy{zz{{{z{zyzyzyyyz{zzz|{zy{yxyyyzzyzzzzzzzzyzzzyyzzyyzzyzyzzyzyyzzzzzzzzz{zyyzyzy{yzy{zzyyyyzzyyz{zyz{{zyyyyyyzyyz{zzz{{zz{zyzzyzz{yzzzzzyzyzxyyzzzyzzzzzyyzzyyzxyz{zzy{zzzzy{yy{{zyzz{zzzyyzzzyzzz{zzy{{zzzzyzzzyz{z{z{{zzzyyzy{z{zzz{zyz{zyy{zzzz{z{{{{zzzzzyyz|z{z{{{zzz{y{zz{z{zy{z{zzzzz{z{{{z|z{|{{zzzzzzz{zz|{{{{{z{zzzzy{z{{{z{|zz{z{zzz{{z{zz{|{{zzz{z{{{{{{{{{{{{{{zzzz|zz{{||{zyzzzz{{{yzz{z{zzyzyzzzz{{{z|{|z{zz{y{z{zz{z|{z{z{y{zyz{z{z{{{||zzzzzzz{z{z{z{zzzzzzyyz{z{{{zz{yzzyyyyxz{zzzz{zy{yyzyyyyzzzz{{y{{yyyzyxzzz{{zzzz{zzyyyzzzzzzzzzzzzyyyzyyyzzz{z{yyzzyyzxyyzxzz{zzzzzzzzy{{yyzzz{yyzxzzyzyyz{yy{zz{zyyyyzzzzyyz{yyyzyyyyyxz{zz{{zyzzzxyyyy{z{zz{yzzzzyzzyzzzzzz{zyz{yyzzxy{yyz{zzzyzxyzyxzz{{zzzz{zxyzzzzzz{zzz{zzzzzzyzyzzzzzzz{yzyzyzzzz{zz{yzzzzzyzyzy{zzzz{z{zzz{zzzyz{zzz{|zzzzzzz{{{zzzz{|z{zzzzzzzz{{{{{z{zz{z{{{{{{{{{||{z{yz{{y{{z{z{{{{{zz{|zzz{{{z{{{{zz{{zz{{{zz{{{|{{{zzz{z{z|{z|z{|zz{z{zzzz{{|{{z{z{zzzzz{{z{z|z{{zzz{zzzzzzz{{|zzzzzzzzzyz{{{z{|zz{zzz{z{zy{|zzz{zyzyzzyz{{|{{{{zzyyxxyxxzzz{yzzzzyyyzyxyyzzz{z{zzyzyyyzyyzzzzz{{zyzy{xyyzzz{z{{zyzyxzzzyyyzzzzz{zzzyyyzyyzzyzyzzzxzzyyy{zzzyyzzyxyzyxzyyzzyy{zzzyyyyzyzzzzz{zzzyzyyzyyzzyzzzzz{zzzzyyyzyzyzz{y{zyzxzyxyzyz|zz{zzyyyyzxzyyzzzz{y{zyzyyzyzzzzzzy{{yzzzyyyyzz{{yz{{{yyyyyyzy{{zyz{zzyyyy{yzzzzzzz{zzzzzzyyzzz{zzzzzzy{zzyyyz{{{zzzzzzyzy{zyz{{zzzzzyzzzzzzzzzz|z{zzzzzyzzzz{zzzz{|y{{yzyzzzz{{z{zzzzzyy{{zyz{{z{{{{zz{zzy{z{zz{z{{{{{{yzz{zz||{{{{|{zz{zyz{z{|{z{{{zz{zyzzz{{{|z{zzzzyz{zz{{|{{{{{{zzzzzy{yz{zzz{{{{yzzyzy{z{{zyz{zzzz{zzyyzzz{zzzzzzyyyxzxyzzzzyyzzyzyyyyyzzzyzzzz{zyyyzzxyyzz{zzzyyyyzyyyzyy{zy{{yzzyzzzyzyz{zz{{yzyyzyyyz{zz{zzzzyyyxyyzyyzzyy{zzzzyyzxzyyzzzzzzzzyzy{yyzxzzy{zzzzzzzzyzy{yzzz{yzzyyyzyyyzyzz{zzzzyyzyyyzzyzzz{yyyzyzyyyyyz{zzzzyxyyyzzy{z{zzz{z{zzyyyzzzzzzzzz{z{{yyzyy{zzz{{{zyzzzyzyy{z{{zz{{yzzz{yzz{z{z{{zzzy{zzyzz|{{|{|{zzyzzy{zz{{{zz{{z{zyzzzzzz{{{|{{zzyzzzzzz{z{zzz{{{{z{z{zy{{{{{{{z{yzzzzzzz{{z{{|{{z{zzz{z{{zz{{{{{zz{{z{zz{|z{{}{{zz{z{yz{z{z{{{zzyzy{{{z{{z{{{{z{{zz{z{z{z{|{}{{z|zzzy{z{{{{{{{{{zyyyz{{zz{|z{{zzzzzzzyzzz{zzzzzzyzzyyzzzzzz{y{zzzzyzyxzzzzz{{{{zzzzyyzyzzzzz{zzzyzzxyyyzzzzyz{{yzyyzyyy{zyzzzzzzyyyyxyzzy{zzzzzzyyyz{zyzyzyzzzzyzyyzzxyzzyzzz{zzyyyyzyyxyzzzzzzzyzzzzz{zzz{z{zzyyzyzzyzyzz{{zzzzzyzyyzyy{y{yzz{zyyzyyyzyzzzzzyzzzz{zzyyzzzz{z{zzzzyzyzyzzzzzz{{zzzz{yyzz{z{zz|{z{{yzyzzzzzzz{{{{{{zzyzyyzz{{zzzzyzzzzzxz{{zzy|{{{yzzzzz{zzz{{{{zzzzzzzzz{{{{{z{yzzzzzzzz{zz{{{{zzz{yyyz{z{{||{{{zz{zzzz{|{z{{{{zzy{zz{z{{{z||{{{yzzzzzz{{{{{z{{{y{zz{{z|zz||{{|zyyzzzz{{{{z|{||{zzz{zz{{{{{{{|{z{zzzzzz{zz{{|{|zzzzz{zyzzz{{zz{zzzzzz{z{{{zzzzzyzyyyx{yy{z{zz{zzzyyxyzzz{z{{{zzzyyyzzyy{zzz{{zzzxzyyyyyy{{zz{{z{zyyxyzyzzz{y{{{zyyzyyzyyzzzz{{zzyyyyyxyzzzyzz{zyyyyzyyy{yzzyz{{zyzyzyyyyzyzzzzz{yzyxzyzz{zzzzz{yyzzzyzyzzyzzz{zzyyzxyyyzzyzzz{{yzyyzyzxx|zzzzzzyyyyyyyy{zzy{z{zzzzyzz{z{{{{zzzzyyzzyyyyzzzyz{zzzyzzyyzyzz{zz{{zzzz{{zyyz{zz{||z|zzzzzzyzz{zzz{{{zy{yy{zz{{{z{yz{z{zzzyyzz{|{{zz{yzyzzzzz{y{{{{{z{{zzyz{z{{z{z{{{{yzz{yzz{z{|z{zzzyzy{{yz{z{{{{|{z{{{zz{z{z{z{{z|{{zzzz{{z{zzz|z{yz|zzz{zz{z{y{z{zzz{z{{|{{{{{z{{zzyz{zzz{z{{{{{{zz{yzzzz{y{{z|{zzzzzyzyzz|{z{zzzyzyyy{zyz{x{zz{{zyyyyyzyzzzzz{zyyyxxyzz{zzz{z{zzyyyzzyyzyz{zzyzzzyyyyyyzyz{y{zzyyzyyyyzyzz{y{{zzyyyzyyzyzzzzz{yzzyyyy{xzyzzyzz{zzyyyxyyzyzzzz{yyzzzyxzzyz{yz{z{yy{{yyyyyz{{zzz{zyyyzyyyyzy{z{y{yzzyyzzxzzz{zzz{yzz{xzyyzzzzzzzzz{yyzyyxzyzy{z{{{zyzzyyzzy{zzzz{{{zyzyzy{z{|{{{zzyzz{z{zzz{z{{{zyzzzzzyz{y{zz{{zzyz|zyzz{{{{{{{zyzzzzz{zzz{z||z{yzzzzz{z{{{{{z||{y{zzzzz{{|{{{{{{zzz{xzz{zzz{{{|zzzzz{zz{z{z{|{{{zzzz{zz{{{||{{{{z{|zzz{{{|{{{{{{yz{{yzz{{zz{{{|||zz{zzz{{|{{{{zz{zzzyzz{{{{z|zz{zzz{zzzz{{{{{zzz{yyzyzzz{zzyzzzzyyyzzyyz{{yyzzzzyzzyyzyzzzz{{z|zzxyyyxyzz{y{zzzz{yyzyyyzy{zzzzz{yzzyyyzyz{zzz{zzyzzzzzyzzzzzzzzzzzyyyzyzzzzzz{zyzzzxzyzyzzzyzzyzyyyzyyzzzzyz{zzzzyyyzyzzyzzz{zzzyzyyyyxz{{zzzz{zzzzyyyzzzzzyz{zzyyzzzyxy{zzz{zz{yzyzyy{z{zyz{{yzzyzzzzyzz{zz{{{zyzzzyzzzy{z{{{{zz{y{zy{z{zz{{z|yz{{zzzzzz{zz{{{zzzzzzyzz{|{{{{{zzzzzzzz{|{z{{{|{zzz{{zzzz{{{{|{z{zzz{{z{z{{{{{{zzz{zzzzz{{{zz{z{zzz{zzzz{|{|z{{zz{z{zz{{yz{{{{|{z{|z{y{z{z{{|{{|yz{z{{{{|z|{{z{{zy{zzzz{|z{{|{{{zzz|z{{{zz|z{z|z{zzyyzzzz{{{{{{z{z{zz{zz{z{z{|{zz{zzzzzzz{zz{zzzyxzzyzzy{{zzyz{zzzyzxyyz{zzz{{zzzzyyzyxzzzy{{|zzzzyzyyyyzzzzy{zzzyxyyyzyzzzzzy{zzzzyzzzzzzzy{zyyyyyy{yyyz{yyz{zzyyyzzzyzz{{zzzzzyzyyyzyyyyyyzzzzyyzxzyyzzzzzzzzzzz{yzyyz{z{{z{|zzyzyyyyzz{zzz{yyxyyzyzyyyyyz{zzxzyyyzzyzzzzzz{{yyzzzzzy{zzyxzz{zzzyyyzyzzy{{z{{zzzyzzyy{z{zz{z{zzzyzyzyz|zzz{|{z{zyzzzzzzz|z{zzzzzzyyzz{z{{zzzzzzzz{{yz{z{|{|z|zzz{z{{{{z{{z{{z{{zzzzyy|{z{{zzz{zzz{zzz{{{z{|{|{zz{z{z{{|{z{{y|{y{{{|zzz|z{{z{{|z{zy{z{{|{{{|{z|zzzz{{zz{{{{{{{{{z{zz{{|{{{{{z|{{{zzz{{y{z|z{{{{zyz{y{zz{z|{{{zzyzy{z{zzz{zzzz{|zxyyyzzzzzzz{zzzyyzyyyy{zzzz{yzzzzzyyzz{zyz{z{zzyyzyxyy{z{zyz{zzzzyyyyyzzzzyzz{zzxzyyzxzzzzy{z{yyzyzzyyzz{yzzzzzyzyyzzyyzz{zyyzyzyzzzzyzzzzy{{zzyyzyzzyyzzzz|{zyyzzyyyyyz{zzzzzzyyzxzyzyzzzzzz{zy{xyzzyyz{zz{{zzzzyzyyz{{{{zzzzzzyyzyzzzzyzz{zz{zzzzzzz{{zzz{zzzzxzzzzz{zz{{{{z{yzzzzzzz{z{zz{z{yyzzzyyz{{zz{{z{yyyzyzzz{{zz{zyzzz{zzzz{{{{{|z{z{zzz{zz{zz|{z|{{{yyyzzz{{{{z{{{zyzzzzzy{{{{{|{|{z{z{{{z{{{{{{{|{y{zz{{z{{{{z|{|{z{{{zx{zzz{{{{{zzzz{zzz{{z{{{{{{yzzzzzz{{{z{zz{z{zzz{y{zz{z{{{{{zzzyzzz{{z{z{{z{yzzyyzzzz{z{zx{{yzy{yyxzz{zzz{{z{zzyzzyzzzzyz{zzyyyzzzzyzzz{{{{zyyyzyzx{zy{y{{{zyzzxzzyzzyzyzzzzzyyyyzyzzyyzzz{zzzzyzzzz{zyyzy{zyyyyzyyzzzyzyz{yyyyyyzyyzzzyz{zzzzzzyyzzy{zzzzzzzzzzzzyzzz{zzzzxyyyyyyzyzzyzzyyyzzyzzyyyzzyy{z{zxz{zyyzzyzzzzzy{zzzyzyy{z{{zzz{{yzyyzzyzz{{z{{{zzzyxyzzzzyzzz{{zzyzzzyzyz|{{{{zzy{zzyzz{{{{{{|{zzz{yyzz{{z{zz{{zyzz{zyz{{z|{{z{{z{zyzzzzzy{z{{|{zz{z{yzzz{|z{{z{zzzzz{{{{{z{{||zyzzzzzzz{z{{|{{{yzzzzz{z|{{{{{{{z{zzy{{{{|{z{|{{{zz{{zz{{{{{{{{|{zyz{zz{{|{z{{{{{zyzz{yz{yz{z|{zyzzzzz{z{z{{{z{z{zzyyyz{{{zz{zzzzyyzzzyyy{z{{{{yyyyzyzyz{zzzz{zzzyyyyzy{yyzzy{{zzzyyyyxz{y{yz{z{zyyyyzy{yzzzzz{zyyyyzzyzzzyzzzyzyzyzzyyyzzyyz{zyyyyyyzzzyzzzyzzzzyyyzyxzyzyzzzzyxyzyzyyyz{z{zzzzzzyyzyyzz{{z{zzzzzyyxyzzzzyyzzzyzyxzyyzyzyzzzzz{zyyy{xxzz{{zz{zzyzyzzyzzzz{zz{{{zzyyzyyzzzzzz{{zyyyzyyyyz{{{zz{zzzyzzzzzz{{{{{zzyzzyzzzzzzz{{{{z{y{y{yz{{{zzz{z{yzzzz{zzz{{{{{{z{z{{z{z{{zzz|{{{z{|zz{z{{{|{z{{{zz{{{{z{|zz{z{{{z{zzzz{z{z{z|{{|z{zz|{zz|{{|z|{{{{zz{zz{z{z{z{{{zz{{{zz{{{z{{||zy{z{{yz{{{z{|{{{zzx{{y{z{{zz{{{zz{zyyyyz|{{zz{{zz{yzzzzy{zz{zyyzzyyzxyyz|{zz{zzyzyyyyzy{zzzzz{{zyzyzy{zz{zzzzzzzyzyzzyyyzyzzzz{{yzzyyzyyzyzz{z{zyyzzzzyzyzzzzzzzyzzzyyzyz{y{z{yzzzxyyzyzzxzz{zzzzyyyyyyzzyzzyzzzyzzyyyyyyzyzzzzzzzzzyyyzyyz{z{|yyyyyzyxz{{{z{y{zyzy{yzyy{yzz{yzzyzzzzzy{zz{zz{zzyzzzyyyzzz{{z{z{zyzzzyzzy{z{zz{yyyyzyzzzz{y{{{z{yzyzzzxyz{{{zz{zyzyyzzy{z{z{{zzzxzzy{zzz{zz{{{zzzyzzzyz{zz|{{{z{{{yyz{zz{z{{z{zzyzz{zz{z{{{zz{{{zzyzzzz{{{{{{{{z|{zzzzzz{y{{{{z{zzzzz{{{{{{||{zzzzzzzzz{z{{z{z{{z{yz{{z|{zzzz{|{{{{{{zzz{z{{{{z{zzyz{zzy{{{zz{{yzyzzzzzz{{{zzz{yy{zzzzz{z{zyzzzzyyyzyzyyzzyzy{{zyyyzyzy{yzz{z{z{yyyzyyyzzz{{z{z{yzyyzyzzzy{zz{zzyzzyyyxzzzzzz{zzzyyyzyyzzzz{z{zyzzzzxzyyz{zzz{zyyyyyzyzyzzzzzyzyyyyzyyxzzzzzz{zyyzzyyyyzz{z{zzzzyzyyzyxy{yz{{{zy{zzzzzyyzyyzzz{zzzyzyzyyyzzz{zzyyzzz{xxzzzz{zzzy{zzzxzyzzzzzzz{zzzyzyyz{{zzz{|zzzzyzzzzzz{{{y{z{zzzyyyzz{zz{|zzzyzyyzzzzz{zz{{{zzzzzyzz{{{{zz{z{zzzzzyzz{{zz{{{yzzzyzzzz{z{z{{{zzzzzzxz{|zz{{{{{z|zzz{z{{{{{{{|z{zzzz{{z|{z{z{z{{z{y{zz{}{{zz{{zz{{zzzz{{z|{{{{{yzzzzzzz{zz{{{{z{zz{yzzzz{{{|{|{zzzz{zzzzz{{{{z{zzyzyyz{{|zyzzzz{{zyzzyz{{{zyyzzyyyyyyyzzzyzyzzyxyyzxxxzyzzy{z{zxyyyzyyy{zzzyzz{yyzyxzyy{yzxz|{{zzyyzyz{zzzzyyzyzyyyyzyyzzzxzzyyyyyyzyyyzzyyzzyyyyyyzyyyzzyz{zyyyyyyyyyyyzzyzzzzyyyzzyzyy{{zzz{zyyyyyyyzyzzzzzzyyzyzyyyzzyy{{zzyyyyyyyyz{zzzzz{zzxzzyzyzyzzyz{zzzyzzzzyz{zzzzzzyyyyyzzzzzyzzy{zzyzzxyzzyzzyz{{zzyyz{yyyzz{{{{{{zzyzzzzyzyzzzz{{zyyzyzxzz{zyzz{{zyzyzzzz{zzz{z{zyzyzzzz{||{{{{{{{zzyzzzy{{z{{{z{{{zzzyyz{{{z{{{zyzzyz{{{|z{{{{{z{yzzzzyz{{{{z{{{zzy{{zzzzzz{{{z{zzy{zyzzz{zzz{{|zzzzzzz{{zz{{z{{zzyyyzzyzzyzz{{{{zzyzyzz{z{{zzz{zzzzzyyzzzzy{{zzyzzzzzyyzzzzzzyzzyyzyyyzzzz{yzz{yyzyxzzyz{zzz{{{zyzzyyzy{zz{zy{{yzzyyyyyzz{yzz{zy{zyzzzy{zyzzz{zzyzyyyyz{z{zy{{zyyzxyzyyzyzz{zz{yzyyzzzwzzzz{zzzzzzyyyyyzzzz{{{zzzzyzzzyzzzzzz{{yzyyzyyyyzzyyzzzzyzzyyzyyzz{y{y{zyz{xzyyzz{zzzzzzyzyzyzzzzyzzzz{zzzyzyyz{z{{zyzzz{zzzz{z{{zzzzzzzzzzyyzzyzz{{{|zyzzzzyyxzzzzyz|{zzyy{zzy{{{z{{z{zyzzzzzz{{{|{{z{zzzy{z{zz|{{{{|{zy{y{yzzz|{|z{{{zz{zzzzz{|z{z{{{{{{zzz{z{z{z{{|{|zz|y{zzz||{{{{{|zz{{{z{{{{z{{{{zz{y{yz{zzz{{{||{zy{{zz{{{{{z{{|z{zzzzz{z{zz{|{{{{zzzzzz{{{{{{{{zy{zzzyzzz{{zy{zyxzzyyzyy{zzzzzzzyyyyyzxyzy{{z{zzz{zzzyyzzzyz{z{{z{zzzzyz{{zz{z|{yyxzyzyzzz{zzz{yxyyyzyyzyzyyz{{zzzz{zzzzz{zz{zyyyzzzyyyzzy{zzzzzyzxyxyzzzz{zzzzzxzyyyzzy{{z|zzzzzz{yzxzzz{zzz{zzzyyzyyyzz{z{z{zzzzyzyzyzzyyy{{zzyzyzzzx{yy{z{{z{yyyzyz{zzyzzzz|zyzzzzyyzz{{{z{zyyzyzy{z{z{{{yy{z{zzzzyyz{{z{zzzz{zzzzz{z{{{{z|zzzzzzyyzzzz{z{z{zzzz{z{zz{zz{|{{z{zyzyzz{{z{{z{{{zzzzyzzzzzz{||{{yzy|zzy{|{zz{{|zy{yz{z{{zz{{z{{zzzzzy{zz|{{{|{|{yz{{y{z{z{{{z{{{z{z{zzz|z{{{{{{{yzz{zzzz{z{z{{{{{{{yzzzyzz|{{|{zzzz{zzzz|z{{z|{zyzzyzy{zz{zz{zzzzyyxyxyyz{yz{z|zxzzyyyyz{yz{yzzzzzyyyzzzzzz{y{yzyzyyyzzz{z{z{{{zyzyyxzzzy{zzzz{yyyxzzzxz{{zxz{z{yyyyyzyzyzyzzzzzy{yyyxyzzyzyy{{yyzzzyyzyz{yz{{yzzyzyyyyzyzyzzzzzzxyyxyyy{{zzzzzyzyzyzzzzzyyzz{zzyyzxyyy{zyyz{zzyyzzzzzxy{yz{z{{zyzyyzyyz{{zz{{{zzzyyxzzzz|zy{z{{zzzzyzy{{z{zzzzzyzzzzz{z{{{zzzzzzzyyzyzz{{z{z{{{z{{zzyy{{zz{y{zzzzzyzyy{{{z{zz{{{zzz{{z|z{{{|{{zzzzzzyy{|{{z{{|{z{zzzzyz{{z|{{{{z{{z{{{z{z|z{{z{zzz{{{{z|{zzz{{{z{zyyzz{{z{{{{{zzzyzzy{{yzz{{{}zzzzzzzz{zzz{{{{{{zzyzzyz{|z{z|{zz{zzyzzy{{{z{|zyzzzyzyzyz{z{z{zzyzyyzyyzzzyyzzz{zzyyyyyy{zzz{{zyyyyyyyyzzz{z{{zzzzyyyzyzyzzz{zz{xyyyyyyz{z{z{z|yyyyyzzyzz{zy{zyzzzyyyzyyzzyz{z{{yyxxyzzyzyyzy{{xyzx{zzzyzzyyz{zyyyyyzxyzz{z{zzzzyyyyzxyyzyzzzzzyzzyzyzy{zyyzz{{yzyyyyxyz{{zzzzzzyzzyyzyzyzzzz{{zyzyzyzzzzyzzzz{zzzyzyyy{y{yz{{{yyzyyzzyzz{yzzzzzzzzyyyyyzzzz{{y{zzzzyzyz{z{{z{zzzzyzzzz{y{zz{zzz{zzzzyzzz{{{zzzzzyzzzz{|z{{{||{{yzzyzyzz{{z{z{{zy{z{zzz{{{{{|{zzz{zzz{z{y{{{zz{{yyzy{{zz|{zz{{{zz{zzzz{z{{{{{{|{yyzz{zzzz{{{z|{zz{zzzz{z|{zz|{{zz{xyzzz{z{{z|{{{z{{{z{zz{{zy{{z{yzyy{yyz{zzzzzzyyyxyyyxyzyzyy{zyzyxyyzzzzzzyzz{yyyyzyzyyz{zzzzyz{{yyyyyyzzzzz{{zzyyyyzyzzz{z{z{yyyyyyyyy{y{yzzzzyyyzzyyyyyyyzzzyyzyyzyyzzzzyyzzyyyyzzyyyxyzzzzzyyzyxyyyzzzzzzzzzzyyyyzxzzzzz{zzyyyzyyzyxyzz{y{zzyyyyxxyyzz{zzzzzyzzzzzyyzzyzzzzzzzyzzzy{zzzzz{{zz{yzyzzzz{zyz{{zyzyyzyyz{{zzyzzzyzzzyyyz{z{zz{zzyzzyzzz{zz{zzz{{yyzzyzz{zzyy{z{zzz{zzyy{z{{zzz{z{yzzzyzzz{{z|z{zzzzyyyzz{{{z{{zzyzzz{yz|||{z{{zz{zz{zzzz{{{zz{{{zzy{zz{z|{{{{{{{{zzzyzz|{{{z{{{{z{zzyzz{{zz{{z|zzxyzyzz{z{{z|{|zzyyzy{zzzz{{{{{zzyzzzzy{yzz{zzzzz{yyyzzzzzz{yyzzzzzyzyyzzzzy{zzzzzyzyyyzzzzzz{{zyyyzzyyzzzyz{z{{z{yyxyyz{zzyzz{yyyyxyxxzyzzzz{{zzzzyzyyzzzzz{zz{zzzzyyzzyzyzzzyyzzyyyzyz{yzzzzyyzzyyyzyzzzzzzzz{yyyyzzyzzzzzy{zyyzxzyyx{zzzz{zyzyyzzzzyy{zzzzzzzyyzxzyzzyzzz{{{zyyyzyyzyyz{zz{zzzyyyyzyz{zzyzz{zyzzyyzzz{z{|{{{zzzzxyzzz{{zyzzzzyzzzzzzzzzzzyzz{zzyyzyzzzzz{zzzzyzzzzyyz{{yzzz{zyyz{zyzzzz{zz{zzzzy{zyy{{{|z{z{zzzzz{yx{{{z{{|{zyz{zzzy{{{z{{|{z{zyzzz{|zzz{{{|zzzzz{{{{||||{|{|zz{z{zzz{{zz{{z|y{z{zzzz{{z{{|{{{zyz{zz{{{zz{{{{zyzzy{yy{{{{{{{zyzyz{zzz{zzz{{z{yzyzyyzzyzz{zzz{zyzyxzzyz{yz{zzyyyzyzzzyzzzzz{z{zyyzyyyzyzzyzzzyyzyzyyyzyzzyzzzyzyyyyzz{yz{yzyzzyxzzyzxyzzzz{zzzzzyyyyyyz{zyzzyyzyzyxyzzyyzxzyzyzyzxyyxzzzzzz{yyyyyyyxyy{zz{zzyzzzyyxyyzzyzzzz{yyzyzzzxyzzzyyzzyyzzzzyzyzzzzzz{zzzyzyyy{y{yzz{zyyzzzy{yzzy{yzz{zyzzyzyzzz{zzz{{yyyzyzyzz{{{z{{{zyyyzyzzzzz{y{zzyzz{zzzyzz{zz{{{{yyzzyyzz{z{z{{z{zzzzzyzy{z|z{zz{zzy{zzz{z{z{{z{zyz{z{zz{{{{{z{z{yzz{zzzz{z{{{{{zz{zz{{{y|z{{{{{{y{{zzz{z{{{yz{{{{z{z{zzz{|z{{{{zzzzzzzy{{z{{zzz|yzz{zz{{{z{{{||z{zzyz{z{|z{z{|||z{zzzzzz|{{zzzzzyzzyzzzz{zy{{zyyzyyzyyyyzzyyzzzyzyyyyzyz{yzzzz{{yyxzzzyyxzzy{zzzzzyyyyyzz{zzzzzzzyxyyyyyyzyz{zzyxyzyyyyzzzzyy{{zyzyyzzyzy{yzyzyyyyyyy{zyzyyzzzzzyzyyyyxzz|zzyzyyxyzxzyzyzyzzzzz{yyyyyyzyzzzyzzyyyzyzzzyyzzyyzzzzzyxyyyzy{yyzz{zzzyyzyzxzyz{zzzzyyzyyyyyzzzz{{z{zzzzzzy{zzzyzz{{zzyyyyyzy{{zz{z{zyyyzyzzz{z{z{z{zzzyyzzzzyzzzz{zzzyz{yzzzzz{yzz{zzzyzyzz{{{{{zz{z{zzzzzz{zz{{{z{zyz{zx{yz{z{{{{z{yzzz{zzz{|{{|{{zzzzzz{zzz{{{{{{zzzzz{{z{|z{{{{{{{zzzzzy|{z{{{{|{zyzzzyzz{{{z{{{{{{z{{zz{{z{z{{{yzy{zyyzzzz{{{{{{{{zyzzyyz{|z|{zzyzyzyzyz{x{zyzzyzzyzyyyyz{zyzz{zzyzyxyy{{zz{zz{zzzyzyyx{zzzzz{zyzzzyyzzzyz{yzz{zz{yxzyy{yzzy{zzyyyyzyzy{yyyzz{yzyzzyyxyz{zzyzzzzyxzyyyzyyz{{{yzyyyzzyyyy{yzzyzzxy{zzxxzz{zyz{zzzzzzyyyyzyz{zz{zyyyzyyzyzzyzz{zz{yzzzzyyyzyyyyzzzyz{yyyyy{y{zz{{zyz|zyzyzz{zz{{{zyzxyyzyzzzz{zzz{yzyyzyzzz{z{zz{zzzzzyzzz{{zzz{yzzzzzzzyz{{z{y{{{zzzzzyz{zzzz{{zzzzzyz{z|zz{{z{zzzzyzz{{{{{{{{{zzzzzzyyyzz{zz{z{{yzz{zzy{{|zz{{|{z{yzz{z|z{{{{{{{yzz{z{zz|{z{{|{{zzzyy{{{{z{z{{{{zzz{zzzz{{z{{{{z{zyzzzz{{z{{||{z{zzzzzzz{z{{{{zzyyzyyzzz{{{z{{{zyzzz{zzzz{z{zyzzyzyyyyyyz{{{zz{zzyxyx{yzzzzzzz{yzzyxyyzzzzzzy{zyzyzyyyyzzzzzyyzzyyxyyzxyz{zy{{zyyzyzyyyzzzzyzzzzyyxyyzyzzzyzzzzzyzyyyyxzyz{z{zzyzyyyzyyyzz{{zzzzzyzyyxzyxzzzzyzzz{yyyzyz{z{yzzzzyyzzyzxzzzyzzzzzzxyyyyyy{z{yzzzyzzzzzyyyzzz{z{{yzyzyyzzzzzzzz{{zyzyzyyy{zyzzyzzzy{zyyyyzyz{{z{zyzyyzzzz{zzzz{zzzzzzzzzyzzzzz||zzyz{zyyzz{zz{zy{yzyxzyzyzz{{{zz{zzzzz{zzz{zzz{{{{zzzzyzyz{{zzz{{zzzzzzzz{{{z{{{{{yzyzzzzyz{{z{{{{zz{{{zzz|zzz{|{{z{zzz{zzzz{y{{{{zyzzy{|{{z{{z{z{zzzzyzz{{{zz{|{zzzzzyzyz{{zzz|zzz{yzy{yzz{{z{{zzz{yyzzzz{{z{yzzyyzxzzyyyzzzyzzzzzzyzzyzzzzzz{z{zyyzyzzyzzzy{z{zyyyxzyy{zzzyyz{yzyyyxyyyzyzzyzz{zzyzzyyyzzzzyzz{zyzyzzzyyyzzzzzyyzyzyyyxzyyzy{{zyyzyyyyzy{zzzzzzyzyzyzyyzzzzzzzzzyzxyyyyy{zzyzzzzyzyzzzyzzzzyzz{zzyzzyyzz{zyz{zzyz{yyzyyzyzzzzz{yzyzyyzzz{zzzzy{zzzz{zzz{zzyy{{{yyzzzyzyzzy{y{z{{{zyzyzxz{zz{{{zzzzyyzyx{zzzzzzzzzyzzzzz{{z{{{{{zzzzzzxyz{|{z{z{zzzyzzzz{{z{zzz{zzyzzzyzzzz{z|{zzyzzz{zx{{{zz{{|zzzzz{{xz{{z{{{{z{z{zz{zz|{{z{{|{zzzzzzz{{|{{|{{zzzzyzyzz{zz{z{|{zzz{zzz{{{{{{{|z{yyzzzyzzz{{|{{zzyzyzzz{{{{z{z{zyzzzzyyzyzz{zz{yzzyyzyzzzyyzz{{yyyyyyyzz{{zzz{zyzyyzzyy{yzyzz|z{yzzzyyzzzz{yz{yzyyyyyyz{{{zzzz{zz{zyyzxyzz{z{zzyzzyzzyxyzzzy{zzzyzxxzzzzyz{zzzyyyyyzyyyyzzzyz{zzzxzzyzyy{zy{{{zyzzyyyyzyz{{zyz{zyyy{zyzyyzzzzyyzyyxzyzyyzzzzzz{yzzyzzzyzzz{zz{{{{yzzzyzzz{zz{z{zyyzyyzzzzz{z{zz{zyzyyyz{{{zzz{zzzzyyyyzzz{{{|zzzzzzzyzx{zz{zz|z{z{{yyz{zzzzzzzz{yzzyzzyz{{zz{|{{zzzzz{zz{{{z{{{{zz{zyzz{{{{{{{{|zzz{yzy{{{{z{{|yyz{zz{zz{z{{{z{zyzz{{zz{{{{{{zz{z|zzzzz{||{zz{{{zzzzzzzz{{z{z{||zzzz{zyzzz{|{{{zzzzzzzzy{{z{|z{{zz{yzyy{{{{{|z{zz{yzyzzzz{{zzyzzzxzyyyxyz{zzzzzzzyyzzxyyyzzz{{zzyyyzyzyz{yzyz{zyzzyyxyzzz{zyxzzzxyyxxyyzzyzyzz{yyzyxxyxzzzzyyzzyyyyyyxxyyzyzzzzyzzy{yyyzzyzyyyzzzzyyxxxyzzzzyzzyzyyyyzyy{{zzzzzyyzyyyyyzyyzzz{{zyyyzyzyzzzyzzyzzyzyzyyyyyzyzzzyyzzzyyzyzy{{z{{{zyzzzyzzzzzy{{zzzyyzyyzyzzzzy{z{yyyyyyyzzzzzyz{zzzzzzyyzzzzz{{{zzzzxzzyyz{zzzz{{zzzzzzzzy{zyzyz{zyzz{{zzz{zzzzz|y{zyzzyz{{{{zz{{zzz{{zyxz{|{{{{{{yzyzzyyz|zz{z{|{yz{zz{zz{z{z|z{{zz{zzzz{{|{{{{{{y{zyz{z{{z{{{{{zyzzzz{{yzzzzzz{zzzz{yzz{zz{{zz{z{yyzyyzy{zzz{{{zzzzyzzyz{z{{{z{yzzyyyzyzz{{{zzzyyyzzyzyzyzzzzzyyyzyy{yyzzzzzzy{zyyyzzzy{{zzy{zzzzzyyyyxyz{zzz{{{yyxzyyy{zz{zz{zzzzzyyyyzyzyzzyyyzzyyyxzzy{zyzzzzzzyzzyy{zyzyzz{zzzyyxyyyzzzzzzzzzyyzyzyzzzy{zzzyyzzx{yzzz{zzz{{yzzyz{yyyyzyyzzz{yzyzzzyzzyyzzzzyyzyzzyyzzyzyz{zyzyyzyzyz{zzzz{{zyzyyxyzzzz{zzz{zzyyyzzyzzz{zzzzzyzzyyzyzzz{z{zzzzzzzzyyzz{{{z|{zzy{yzzz{z{{z{{z{zyy{zzzz{{{{{{zyzzzzzzyzz{{{{{{{zz{zy{zz|zy{z{{zyz{zzzz{{{z{{{zzzzzy{{z{{{{{{{{{{{{zzz{z|z{{|z{{yz{zzzz{zz{{{{{{{zzz{z{{zz{{{z{{{zzzzyz{{{z{|{{zzzyzyzy{z{{z{z{|zzzzzyyz{{|zz{{zzzyzy{y{z{zzzz{yzyyyyyyzzzyzzyzxyyzzyyx{zxz{{{{zz{yyyzyyyzzzzz{yzzyzyyyzz{zzy{{yzyyyyzyzzzz{zz{yzyyzyyyzyzyzzyyzyxyyyyyyyzyyyzzxz{zyzxyzyyyyzzzyyyxyyyyzyzz{zzyzyxzyzyyyzzzz{zzyyyzyyzyyzzy{{zzyzyzyzyzy{zxyzzxzyyyyyyyyzz{zzzzzyzy{zyyzz{zzz{{zzyyzxyzzzz{z{{{zyyyyyzyzz{zyzzzyzzzyzyzzzzzzzz{{yzyzzyzzzzzz{{zzzyzyzyyz{{zyy{yyyz{zzyyzzzzz{zz{zzzzzzzz{z{{{z{yzzyzyyyzyz|z{z{zyzyzzzz{z{{{{|{zyzyzzyyy|z{{{{zzzzzyz{zz{y{z{z{{zzyyzzy{|zy{{z{zz{zzzy{z{{{{{{z|zzzyzzz{{{z{z{{{z{yz{z{zzzzzz{{zzy{zzzzzzzz{{{z{zzzyzyzz{zzzz{zyzzy{yyz{z{zzzzzzyyyzxyyyzzzzzzzyyxxxxyyzyzy{{{zz{yyyzyyzzzz{zzyzyzyyyyyyzz{z{zzzyzyyyyyzz{yzzy{zxxzyzyxyzyzyz{zyyyzzyxyzz{zzzzzyyyyyyyxyzyzyzz{yzxyxyyyz{yyzz{yyyyxyyxyzzzz{zz{zyyyyyyyzzzzyz{zzzxyxxyyyzyzzzyzyyyyyxyxyy{yzzy{yyyxy{yz{zyzyzzzzzzyzyyyzzzzyzz{zyzzyyyy{zzzyzz|zyyyx{xyz{zzyzz{{yzyyz{z{zzzyz{zzyzyyyyzz{{zzyzyzyzyzzyyz{z{z{z{{yyz{zzyzyz{{{|{y{{yzyzz{zz{z{z{yzyzyyyyz{{z{{{{yyyzz{zzz{zzzz{{zzyzz{{zz{z{zzz{zzyzzzyzz{{{z{{{{zz{{zzzzz{{zz{{zzz{zzzzzyz{z{{{{{{zzz{zz{z{zz{zzzzyz{zyyzzzz{{{zyzzzzyyz{zzyz{{yyyyzyyyzz{zyyzzyyzzxyyyyyyyzzz{yyyyxxyy|zz{yzzzzyzyyyyyzzzyzzzzzxyyyyzyzzz{yzzzyzyyyzyyzyzzz{zzzyyyyzyxyzzzzyzyzyzyyyyy{{zzyzzyyyzyzyyz{zzzy{yz{yyyzyzxyzzyzzyzzyxyzzyzyzy{zzzzyzyzyyyyyzyz{zz{xyzyyxyyyzzxzzzzyzyyzyzyyzzzyzzzyyz{yzxz{yzz{zz{zyyxzyyyzyzzz{z{zzyzyyyzzzz{zzz{yzyzzyzyzz{zzzz{z{yyzxyy{{zzz|z{yzyzyyzzzyz{{{{zzzxyyzzyzzzzzzzzzyyyzyzzz{{{y{{yyyzyzz{yzz{z{z{{{zzz{zyzzz{z{{{zzzz{zyzz{{z{{{{{zz{zzz{{{{z{{{z{{zy{z{zzz{{{{z{zzzzzzzzyzz{{zzz{{zzzyzyz{{{zz{{{zzzzyzyz{yz{{z{{zzzyyz{zzz{y{{{{{zyyyyyyzzz{zz{zzyzzxyyyzz{{zzzzxyyyyzxyyzzzzzzyzzyyyyyy{{{zyzz{zzxyyzyyzyzy{zzzyyyyxyyyzzzzyyzzz{zyyyyyyzz{zzy{zyyyyzzyy{zzzzyzzyyxyyzz{zzzyzyzyzyxyyyzzzyyyzy{yyyyyyyyyyzzyz|zyxzxyyyyzx{zyzzyzyzzzyyxyz{zyzzzyxzyyyyyyzzzyyzzzyyyyzyzyyy{zzzzyyyyyyyyzzzzzz{{zxzzzyyzzzzzzz{{yzzyyzyzy{zz{zzzyzzyyyzy{zzzzzzzzx{xyyyy{{z{y{zzzyzzzzyyzzzzzz{{yzxyzyyzy{zyz{{{{yzyzzzzz{z{z{{zzzzz{yyzyzz{{{z{zzzyzzzy{zzz{{{z{yyzzyyz{z{{{|{{yzzzyzyzzzzzzzy{{y{zzzzyz{{{zzz{zzzzyyzzzzzzz{zzyzz{zzyzz{z{{{{{zzzz{zyzz{{|zz{{zzzzzzzzzzyzzz{z{yyzzzzzyzzzz{yzzzzzyyxyzx{zz{zyxyyzzyzyzzzzzy{{zzyyxyyxzzzzy{z{{yyzzzzyyyyzzzzzzzyyyyyyzy{zzyzzzzyyyzyyyy{zyzzzzyyxzyzyzzzzzz{zyxyyyyyyyzzyzzyyzyzxyyzy{zyzyzzzyyzyyzzyzzzyyy{zzyzyyzzzzz{zzzyyyyzyyyzyyzzzzy{zyyzyzyyyzzzzzzzzyyyyzzyyy{zy{zz{yzzyzyzyyzyz{z{|zyzzzyyyzzzyz{{{zzzxyy{zy{z{y|{{zxzyyzzyzzzzz{{zy{yyyzzyzz{z{{{z{zzyyyyzy{z{z{{{{yz{zzzzzzyyz{z{{z{zzyzzzzz{|{z{zyyyzzyzzzz{{{{{|{z{zzzzzz|{{z{z{yyyzzyzzz{{{{{|zzyzz{zz{{{{{{{|{z{zzzzzz|zz{{{{|y{zyzzz{{|z{zz{{z{zyz{zz{z{z{{{z{zzz{{z{{{zy|{{{{zzyzzy{{{zz{{|||{zyzzzz{zz{z{{yzzzzz{yzz{zzzyyzyyyyyyzzzz{zzzzzyyyzxyzzzzzz{z{zzzyyyzyzzyyzy{zzyzzzyyxyyzzyyzyyzyxyyyxzzz{zzz{yyyyzyyxyz{zz{yyzyzzyyyyy{{zzzzzyzzxy{yyzzyyzyzzyzzyyxyyyzzzzyzyzzyyyyyzz{zzzzz{yyzyzzxyyzzzyz{zyyyzyyzyyyzyyzzzzyzyzxyxz{zzz{zzzyzyzyyyzzyz{yzzzyzyzyzzzzyzzzz{zyzyzyzzz{zy{z{{yzzxxzyzz{zzzzzz{zzzzzzzz{zz{{{zzzzyzzzzy{{zz{{{zyyzzyzz{zzzy{zzzzzzyyyzzz{{{{{zzzzzzzzy{zz{y{{|zyyzzzzz{{{{{z{zz{zzzyzz{{zzz{{{{z{zzzzzz{zz{{z{{zzxy{{zz|{|{{|{|zzzyzyz|{z{{{zz{yz{yzzzzz{z{{|{{{z{{yz{z{{{{{{{zz{yyy{y{z{{{z{{{{zzyy{yzzz{{z{zzzzy{yzyy{z{yzzz{zyy{yyxyz{zzy{zzyyzzyyyyzzzzzyzzzzyzyyzzz{yzzzzzz{yyxxyyzzzz{zzzzyyyyzyzyzyzy{zzyzxyy{xzyzyzzzzzyyyzyzyzyzyyyzyyzzxyyyyzzyzzyzzyxyxzyyyzzzzyzzzyyzzyyyzyyzzyzzzyyyxyyzyzyz{yzzzyzyyyyyyyzzyzyyzzyyyyyxyyzyzzzzzyyzzzzyyzyzzz{zzzyyzzyyyz{zyzzyz{zzzyyyyyzzzyz{zzzzzyzyzyz{{zz{zzzzzzyzzzy{zzzz{yyzzzzyyzz{zyz{zzyxzzyyzzz{yz{yzzzyzzz{zz{{z{{zzz{yy{zzzzz{zzz{{zzz{zzzz{zz{{{{{{zzzyzzz||zzz{{z{zz|zzzy{{{z{{z{|{zzyzz{z|z{{{{z{yzzzzzzz{zz{zzz{yzyzzz{{zzzz{zzzzzzzz{yz{{{{z{|zzyyzzzz{{zzzzz{{zz{zyzzz{zzzz|z{zyzyzyyz{zy{{y{yzyyyxzyyzzzzz{zyyyzyzyyzyyzzz{{zyyzyyzyz{zz{zzzzz{yzxzyzzyyzz{zzzxxxyyzzzzzzzz{yzzzyyyyyzzzz{yzzzzyyxyyzyzzz{zzzyzyzyyyyyzzzyzzyyyyyyzxy{yyyzyzyxyyyyyy{zzz{y{zyyzyzzxwzz{z{z{zzyzyyyyyxzyzz{z{yyyyzyyyyzzzzzyzzzy{yyyzy{zzy{zzzzyyzyyyzzy{z{z{{yyyyzzzyzzzzzyzyyzyy{zyzyzz{zzzyzzz{zzzyzzzz{zz{zzyyzzzz{{zzyzzzzzzzyyxzz{zyz{zyzzzzyzzzz{{zzz{zyyzzzzyzz{{z{{{zyz{yyzy{z{{{{{{{zzzzzzz{{{{z{{z{yz{zyzzz|zzz{z{zzzyyz{zz|z{|{{{zz{zzz{{z{{{{z{z|zzzzzzz{z{z{z{{{zzyyzyy{zz{{z{{z{zyzyy{yzzzz{{{{{{zzyzyy{{{{zzzzzzzzzzz{{zz{{{zzzyzyxyyyzyzzzz{zyxyyyyyzyzzzzz{zzzxyyzxyyz{yzzzzyxzyyyzy{zyzzzyzz{yyyyyzzzzyzz{yyyyyyzzy{zzyzzyzyyzzyyyzy{zyzzzyxyyyyxyyyyzyzzzyyyyzyywyzyyyz{yzyyyyyxxzzyz{yzzyyzxyxyyzzzyyy{zyyyyxxyxyyzyzzzzyzzzyxyyyyzzzyzyyyzzyyzyzzzyyz{{zxyy{yyyzzzyz{z{zyzzyyyyzz{zz{zzzzyyyzyyzzzyz{{{yyyz{yzyy{zz{z{yzzzyzyyzzz{z{{z{zyyyzyyzzyz{yz{zzyzzyzyy{zzz{{{zzzzyyzzy{zzzzzz{zzyzzzyzz{{{zy{zzyyzzzzzz{{{{{{{zyz{z{yzzz{z{{{{zyyyzzzz{{{zz{{{z{zzzzzzzzzzzzz{zzzzzzy{zz{zz{zz{yzzyyzzz{z|y{{zzzyyzzyyz|z{yzz{zzzzzyzyyzyzy{z{zzzyyyzyz{z{zzzzzyyzzyyyyzzzyz{zzyyyxyyzzzyz{zzzyyzxyzzzzzzyzzzzzxyyzyyyx{zzyz{zyzzyyyxxzzzzz{z{xyzyyyyyy{zyyyzyzyxxyzxyyyzyyzyzyyyyyyzyyxzyyz{yyxyyzyyyzzyyyyyyzyyxyyxxzyyyyzzzzyyyxzyyyzzyzzzzyyyzyxzyyzzz{zyzyyyzyyzzzzzyzzzzzyzyzzzyxyzzz{zzzyyzzxyzz{zzzz{z{zyzyxyzyyzyyzzzzzyyyzyzzzz{z{z{zyzyzz{yzz{z{zz{zzyyzyyzzy{yz{{yzzyzzy{z{zyzz{zz{yyyz{zy{z{zz{z{y{yyzzzzzzzz{z{{zyzzz{yyz{z{{{{z{yyyzyzzz{{z{{{{zzzzzzyzzz{zzzz{{yzyyzzzz{{{{{{|zzzzzyyyzz{zzz{{zyzz{zzzzyz{{z|{z{zyyyzzz{{{{{{{zzzzzyzy{{zzz{zzyzz{yzyyyzz{{{{{zzzyyyyy{{z{z{yyzxyzyyyxyzzzyyxzyyxzyxyyyy{yz{{{zyyxxzyzzyyzzzzz{xyyyyyyyyzyzyyzzzyxyzyyyyzzzzyzzxyzyyxyzyzzx{zzyxxyyyzyyyzyyzyyzyyyyyyyxyyzy{zzyyyxyyyxzzzyyzzzzyzzyyyyyzzyzyzzyyxyxzyyyyxzyzyzzxyyyyyyzxyzyyzzzyyzyyyyyyxzyyz{zyzyyyyyzzzyy{zzzyyyyyyyyzyzyy{zyxzyyyyyzyzyyyyzyzzyyyyyzyzzzzzzzzzzyyzzyzzzzzz{yxzyzyzyz{zyyy|zzxyyzyzzzzzz{{z{yzyyzzyzzzzzy{z{zzzyzyzz{yz{zz{{zzzzyzzzz|zy{z{{zzzzzyyy{{{{{z{zz{yzyy{zz{zzz{{zyyzyzzyzz|z{{|{zzyzzyzzzzzz{z{zz|yyyzy{zz{z{{z{{zzyyyzzz{yzzz{z{zzzyzyzz{z{zzz{|zzzzyzyyzzz{zzzzzzzyyzyxz{z{y{yzyzxyzyyyyyz{yzzzzyyzyxzxz{{zzzz{yyyyyyyyzzzzy{zzzxyyyyzyyzyzyz{yzyyxyyzyzzzzzz{zyyyyzzyyzyzzzzzyyzzzzzyyzzzzzyzyzyzxyzzyzzzzy{zyzyyyyzyyzzzyzzzyyyyyyzxyyzzzzzyyzyzzyyxxyz{zzz{{yyzxyxyyzyyzzzzyyyyxyyzyyzyyyzzzyy{zzyzyzzyzzzz{zzyz{yzyzz{zzz{{zyzyzyzzzzzz{yyzyzyzzyzz{zzzzzzzyyzzzyzzzzzyzzzzyzyzzzyyzz{z{zzzzyyyxyzyy{{{zz{{{zzyyzyzzzz{z{z{yyzzy{zzzzz{{z{z{zz{zyyyzz{{z{zz{zzzyzzzz{{{{z|{{yyyzz{zzz{{z{{{{zzyz{zzz{zzz{{zzyyzzzzzzzz{z{|zzyzy{zzzzzzzz{{z{{zyzyzy{{{{{|zzzz{y{y{zz{z{z{{z{yz{zyzxz{z{zz{{yyyyxyzyzzzzyzzzz{yzyxyyyzzzyzzzyzyyyyxy{xzyzzz{zyzzyzzzzy{y{yz{yyzyyyyzyzyzzz{zyzyxzxxyzzzzzyyzzyzyyyzyzy{zz{zzzy{zzyxy{y{yyyzyyzzxyzyyyyyzyzyzyxyyyyyyz{zyyy{yyyyyzyxyzz{zzyzzzyzyyyyyzz{yzzzyyyzyyzzzyzyzxyyzyyyyzyyyzyyzy{zzyyyz{zzxyyyzzz{{zzyyzyyyzz{yzzy{zzzzxyzzy{zzzzzzyzzyyyyxzzzzzzz{zzzzyyzzz{{z{{z{zyz{yyzzzz{z{z{z{yyzyzxzz{zy{zz{yzzyzyzzz{{z{zzzzzzzzzzzzz{{z{z{zzzzzyzzz{{|zz{{{zy{z{z{{{zz{z{zzyyyz{zzyz{zz{zzzzyyyz{z{|{{{{{{{zzzzzzz{{{{zz{zzyzyzyz{{zzzy{|{{yz{zzzzz{z{z{z{zz{yzzyyzzz{{{zz{zyzz{yy{{zzzzzzyyzzyyxxyzzzyzzzzyyyyyzyyz{zyzzyzyyyyyyxyzzzzz{zzyyxyyyyzzz{zyzyzyzyyyyzyyz{yzzzzyyyyyyxzzzzzyyzzyyyyyzyzzyyy{z{yzyyzyyyzzzzyzyzyzyyxyxzz{zzzzzyyyyyyxyyzzzyzz{zzyxyzyxy{zyzzzzzzzyyyyyyyzyzzzzzzxyyyyyyzyyzzzy{zyyzyxyxyzzyzzz{yyzyxzyxz{zyzzyzzzzzzxyyzzzzzzzz{yzzxzzz{{zz{{z{yxzyyyzzyyzz{z{zzzzyyyyyyz{zzz{yzyyyzzzyy{z{zz}zzzyzzyzyz{zyzzz{{zzzyzyzz{{{zz{zzzzzzyzzz{zzzz{yzzyzzzzy{{|zyy{{{yzzzyzz{{{zz{{zz{zzzzzzz{zzz{{{{zzzyzzzz{{{zz{zzyzzzzzzzz{{{{|{zyzyyyz{{y{z{z{{zzy{z{yz{{z{z{{zzzzzzyzzzz{zz{{{z{zzyzzyy{z{zz{{z{yzzxzyzyzzzz{zyyxyyxzyyzzxzzzyyyyzyyyy{x{zz{zzzyyyyyzzzz{{z{{zyyzyzyxyzz{yzz{zyyyyxzyyzzzzz{zzzzzyyyyyyyzyz{zzzyxyxyyyzz{zzzzzxyzzxyzyzzzzyzzzzyyyyyxyy{zzyyyyzzyyyyxyyyzzzzyzzzzyzxxzzzzzzzzzzyyyyyyzyzzxyzzzzzyzzxyzzzyzy{zzyyyzzzyyzyzzzz{{yyzyyyyzz{zyzzzzzzzzyyzyy{zzzzzzyyzzyyyzzz{zz{zzyyzyyzzzyzz{z{yzzzzzyyyyzz{zyz{y{zyz{yyzz{zzzzzzyzyyyzyzzzzzzz{zzzzzzyzzz{yz{{{z{zz{zzyzz{{zzzzzzyzzzzz{|y{{z{{{yy{yyzyz{zzzyz{z{zz{yyzzz|{z{{{{{yyzzzzzzzz{{{zzzzzz{yzzz{{{{{{|{zzzzzzzzzz{z{{zz{yzzzzx{zz{zz{{{zy{zzzy{z{{{z{zzyzyyyzzy{zzzzy{yyyyyxyxyy{zzzzzyyyzyyzyy{zy{zz{yzzxyzzyyy{yz{z{zyxzyyyxzy{{zzzzzyzyyyzxyz{zyzz{zyzzyzyyzzzzzzzzzyyzzzyyy{{zyzzzyzyyxyyyzzzzz{z{y{zyzzyyzzzz{yzyyyzyyyxyyzzyzyy{yyzzyxzxy{yy{y{{zxyyzxyyyyzzyzyzzyyxzyzzzzzyzyz{yyzzzyyy{zzzzyz{zzyzyyzzyzzyzzyzzy{zzyzyyzy{z{{{zyzzzyyyz{z{|z{{zzzzzyzzzz{zzzz{{yzzzzxzz{z{z{{zzzyzzzzzz{{y{{z{zzzyzzyzzzzzzz{zzyz{zzzzz{{z{z{zzyzzzzz{{{{{zzzzzzzzyyzzz{{{z{z{{yzyyzz{zz{z{z|zzyzzyzzzz{z{z|{{{zy{yzzy{zzzzz{zzyy{z{zyz{{{{{z{{zyyzyzzzz{zzzz{zzzzzz{zzzzzzz{{zzzzzyyzzzz{{zz{zzzyzzzyzy{{zzyyzzzxyywyyzzzyzzzyyzy{yzzz{zzz{zzyyyyxzyyyzzzyy{zzzzyyxzyzzz{zz{{yyzyxyzzzyzyyyz{yxyxyxzyyyzyyzzzyzyxyzyyzyzzzzzyyyyyyyyzxyzyz{{zyzxyyyyxzyzzy{zzyzzyxxz{yzzyyz{yyyyzzyyxyz{yzzzzzyyzzzzzyyzzzyzzzyzyyzyyx{z{zzzzzyzzyyyyzzzzzz{z{zzyyyzzzzzzzyz{{zzzyyzy{zz{zz{zzzyyyyxz{yzz{z{zzyyzzyzzzzzz{zy{zy{yyzxzzz{zz{{yzzzz{zxy{{zzzz{z{yzzzyyzyz{{zz{{zzzzzzzyzz{z{z{zyxzyzxzyz{{{{{{{zyzzzzzz{{{{z{{{{{zzz{zzzz{z{{z{{y{zzzyzz{z{{{{{{y{zzzzzz{{{{{{zzyzzzzzzz{z{zz{{zzz{zzzzz{{zz{{|{zzz{zz{zzzz{}|zzz{zzy{yz{{{y{z{zyzyzzzyzyzzzzzzzyzxyyyxyyz{zyzzzyyyyzyyzyz{zzyyzzxxyxzxzyzyyy{zyzyyyyx{zyyzzzzzyyyyyyyxyzzzzzzzyzzyyzyxyzzyy{zyxyyzyyxyzzzzyzyzzyyzyzyz{yzzzyyzxxxyxyyyzyzzzzzzzyzyxzwyz{z{zzy{yzyyyyyxyyzyz{{{yyyyyyyyyz{zyzzzzyxxyyyyyzzzyyy{zxzzzzxyzzy{zzzzzyxzyyyyzyzyzyy{zzzyyxzzyzzzz{yzyzyyxyzzz{yzzz{zyzyyzyyzzzyzy{zzzyzyzyzyzzzzyz{zyyz{zzzzy{z{yzzzzyzyzyzzzzzzzzzzzyyzzzzz{z{{{z||zyyyzzzyzzzzz{z{zzzyyzzy{zzzz{{z{zzzz{{z{|zz{{zzzzzzyzzzz{zz{{{{{zz{zxz{{z{{z{{{zyyyzyyzzz{zz{{{zzyzzzyyzzzz{{zyy{zyzyzxzzzz{{{zzzzzzzzyzz|zzy{yyyzxxxzyzzyzz{zzzyyyxyyyyzzzzzzzyyzzyzyzyyzyzzz{{yyyxyxxzzzzzz{zzyyzyyyzyyzzyzzzzyzyyzyzz{zzz{zzyzyyyyyxyzyzzzyzzyzzyyzyyzzyz{z{zxyyyzyyzxzzzz{{zzyzyyyyyyzyzzz{zyyyzzyzyzzzyy{zzzzyyyyyy{zyyz{yzyzzzxzyzzzyyyz{zzyyzyzxzzyzzz{{zyyzzzyyzzyzzz{zyyyyyyyyz{y{zzy{zyzyyyyzzzzz{zz{zyyzzzzzzzzz{y{{{zzyyyyyzzzz{{zzz{zzyz{zz{{zy{{zzzzzyyyyzz{zyzzzzyzyyzyzzzzzzz{zyzzzz{zz{zz{zz{|zzz{zyzz{z{yzzz{zzzzzzzz{|{|z{|{zzzz{zzzz{y{zz{{{z{zy{zzzzz{{{{{{yzzyzzzz{{z{{zz{z{yzzz{z{z{{z{{{zzzzyzy{{z|{|{{z{zyzyzzzzz{|zz{y{{zzzxyzz{{zz{{{yzyzzzyyyzzzyzyyyxyxyyxy{yzyzzyxyyyyxyxyzzzzzzzzyyyyzyxzzyyzyzzyxyxzxyyyzyzzzzyzyyzyyyzyz{yyzzzyyzzxxzyyzyzyzzzyyyzzxyyzyzzzzyyyyzyyyzzyyzzzzzyyxyyzyyyyz{zzzzzzyyxxxzyyzyzzzzzyyzzxyzyyzzzyy{zzzyzzyyzyyyyyyzz{zyxyyzxyzzzxzzyyyzyyyyxzzzyyz{{zyyyyyyyyzzzzz{zzyyzyyzzzzyyzzz{yxzyyxyyzzzyzzzzyyyyzxyyzzzzzzzzyzzzyyzyzzzzyy{zzzzzzyz{z{zyzz{zzzzzyzzyy{zz|z{yzzzyy{zy{{z{z{{{zzzzyzyzz|{{{{z{zyyzzzyyz{{{{{z{zyzyz{zzzz{{|{{{|{z{zzzzz{zz{{{{zzzzzzzz{{zzz{zz{yzzzyzzz{{zzz|{zzzzzzzy{z{{yzz{{zzzzzzzz{zzz|{{zyyzyyzzzzz{zz{zzzyzzyyyyzzzyzyzyyyxyyyxyzyyzy{zzzzzyyyxzyy{zzyzzzyyyyyxyyyyzyzzyxyxyxyyyzyyzzyyyyyyxyzyyzzzzzyzyxzzyyyxyyzzyz{yzzzyxyyxyxzzyzzzyzyyy{wyzyzz{yyzzzxyzyyyyzzzyzzzzxxyxyyyyzzyyxzyzyzyxxzyyzyzyyzzyzyzyzyyxzzxzzzyyyxyyyyyyyyzyzzzzyzyzyyyzyyzzz{zzyyyyxyyz{zzzzyzyzzxyyzyyzz{zyzzyyyyyyyy{yzzzyzzyzyyzyyzyz{zz{{zyzyyyyzyyzzzzzzzzzyzzyyz{{zyz{zzyyzyyzxzyz{zyzzyyzyzyzyzyz{zz{{|zyzzzyyz{{{z{z{yzyyyzzzyz{yz{{z{yyzzyzzyz|{z{zz{{zzyzzzyz{z{z{z{zz{zzzyyz{{zz{{{{yz{y{yzzxzz{y{zzz{zyzzzz{{{yzzzzzyzyzzzz{{zzz{{yzzyyyyyyzzzz{{zzzzyxyyxzzzzyzzzxzzxxyyyxzzzzyz{yyyyyzyyzyzzyz{zyyyxzzyzyyyyzyzzyzyxyzyyzzyzyz{yyyyxyyyxzyzyzzzzyxzyyyyxzzyy{yzzzyyyzyyyzyzzyyyzzxzyxyxxyyyzyyzzyyyxywzyyyz{zzzzyyyyyxyzyyzyyzzzyyyyxyyxyzyz{xzzyyxxyyxxzxyyyzyzzyyxyyxyyyzzyzz{yzzyzyyyyzyyyzzzzyzxyyxxzzzzzzzzyzzzyzyzzyyzyzyzyyzxxzyyzyy{yzzzzyzyyxyyyzzzz{zz{yzyzyyyzz{zzy{zyyyyzzzzzz{zyzzyyzyyz{yzzz{{|zz{zzyyzzyz{zzzz{{{zyyzzzyy{{{y|{zzzzyyzzzy{{{{zzzzzzzzzyyzz{z{{{{{{yzzzzzyz{{{{zz{yzzzzyzzz{{zzz{zzyzyyyyzz{z{zz{|{zzyz{zzzz{z{{{|yzyzzzzy{zzyzz{|{yzzzzzyyyyzzzzzzzzyyyzxzzyzyyyyzzxyyzyyzz{zzyzyzyyyyyyyyzzzzz{zzyyzyzyzzzzyyzzzzzzyyyzyyzzyzzzzzzyyyyzxzzzzy{z{zyzzyxyyyzyzzz{zzyyyyxxxzxzzyzz{{yyyyyyyzzzzyzyzxyzyyyyyyyyzyzzzzyxyxyxyzyyzzz{zyyyyyzyzyyz{zzyzzyyyyyyyyyyyyzzy{zyyzz{zzzyzz{zyzyzyyyyyyzzz{zz{zyzy{yyyzz{{{{z{zyzzyyyzzzzzyzzzzyzzzzyyzz{yzz{{zyyyyyyyzz{zz{zzzyzyyxyyzzzzz{|zzzz{zyzyzzyzzzzyzzyyyyyy{z{{zz{{yzzzzy{z{{z{z{zzzzzyyyzyzz{zz{|zzyzzy{zzz{{zzz{|zyzzz{zzzz{z{{z{zzzyz{zyy{z{{{{zzz{zzzzzzz{{z{{z|{zz{yzyzzzz{z{{zzzzzyzzz{{{z{{{yzyyzzyzz{zzzz{{zyyyzyzyz{{{zz{zzzzyyzyyzz{zzzzzzyyzyyxwzyzyzzyzyzyzyxyzzz{yz{z{{xzzzyyyzyzzzzzzyyyxyyzxyzzzyz{zzxzyyxyyzzyzzzzzyyzyyyxyzzyyyzzzzyzxxxyxz{zyzzyzyyyzyyyzyyy{yyzzyxxyyyyxzzzzyz{yzyzyyyxyzyyyz{{yyyyzyyyyy{z{yzzyzzy{zxyzyyzyzzzyzzzyyzyyz{yzz{zyzyyyyzyyxyzzzyzyzzxyyyzyzzzyz{zzxyyyyyyxzzyzyzzzyzzyyyyz{z{zzzyzyyxyyyzzy|zzz{zzzzzyzxyz{zy{{z{zzyyzzyzzz{{zzzz{zyzyy{zzyy{{{{zzzzzzz{zz{{z{{zz{zzzzyzyy{{{zzz{{zyzzzz{y{z{{{z{{zzzyzzzzz{z{{{z{{z{{zzzy{|zzz{z{{zyzzzzzy{z{y{{z{yyz{z{z{{{{z{{{zzyy{y{z{{{{z{z{zzzzzyzzz{{{z{{{{yyzzzzy{yz{zy{zz{zxzyzy{zzzz{zzzyyyzyyxyzxyy{zzyyyzyyyyyzzzz{zzzyyz{zyz|zzzyzzzzyyyyyyzzyz{yyyzzzyyyzxyzyzyzzzzzyyxyyyxzzzzz{zzzyzyyyyx{zzyyyz{yzyyzzyyzzyzzzzzyyyxzyyyzzzz{yzyzyzzzyyyzzzyzy{zzzyzxzzxyzz{z{{{zyyyyyywyyyzyzzzyzxyzzyyyzzzzz{yyyzyzzyyz{z{z{z{zzzzzyzyzzzzy{zzzyzyzyzzzzzzyzzzyyzzyyxzzz{z{zzzzyzzzyyzzzz{z{zzzy{yzzyyzz|{{{{zzzyzzzyy{zzz{yzyzzyyzzzzzy{{z{zz{zzzzzyy{{z{z{{|yyzzzyyx{z{{z|zzzzz{zyzz{{zzzy|zzzzyyzzzy{{|{{z{{yzyz{yzz|z{{{{z{zzzyzzz{zzz{{z{zzyzzy{z{zzzzz{{{zzzzyz{zz{{z{z{zz{zzy{zz{z{{{{{zzzyzzzzz{z{zzzzzzyzzzyzzy{zzzzzzyyzyyyxzz{zzzzzyzyzxyyzyz{zyzz{yyyyyyyzzyzyz{zzzzyzyyyyzzyzzy{{zyyyzzzyz{yzz{yyzyyyyzxyzzzyz{z{zyzyyyyyzyyzzyzzyyzyyyyyyyyzzzzyzxyyyxyyz{zzzzzzyyyyzyyzzyzzzy{zyyyyyyyyyyzzzzyzyyyzzyyzyzyzzyz{zzyyyyzyyzzyzzzzzxyzy{yyyzyzyz{{zyyxyyzyzzzz{|y{zyyyyyz{zyzyz{zzzyzyyxzy{{{zz{zzyzyzzyyyzzzzz{{zyyzyyyzyzy{zzz{zyyyzzxzyzzzzyz{zzzyzzzzy{z{{{{{zzzz{yzzz{zz{zzzz{yyyzzzy{z{{zzzzzyzzzzzyz|z{{{{zzyzzzz{zzz{{|{{{{zzz{zzzy|{{{{{{zy{zyyzx{zz{z{z|zyzyz{zzzzy{{{z{{zzzy{xzzz{zy{{|yzyy{zyyzz|z{{zzzzyzyzzz{{zzzzzzzyzzyyyzzyzzzzzzxyyxxyzyyzzyyzz{zyyyxyyyz{zyzzzzzzzxyzzyzy{zzz{zyyyzyyzyyzzzyy{zzzzyyzyx{zzyyzzzyyyxy{{yyzzzzyz{yxyzzyyy{zzzyzxzyyyyyyyyzyz{yzz{yzyxyyyxzzzyzyyyyxxyyyyzyyzzyzyyyyzyxyzzyxy{zzzzzyyyzyzzyzyzyzyyzyyyyyyyyzyzzzzzzxyxyyyyy{zyzzzzzyyyzyyzyzzzzzzzzyyzyyzzzzx{z{zzzyyzyyyzz{zzzzzzyzyzzyzyzzzzx{zzyyzyyyzyz{{zz{{zyzyyz{zzz{z{{z{zyzzyzzyzy{z{zzz{yzzzz{zzz{z{zzz{{zzzzzzyz{{{{{{|{yzyzyz{{zzzz|{{{zzzzzz{{{{{z{{{zzzzy{zzz{z{{{zz{yz{zzzz{y||{{|{{{zzzzzzz{y{{{|{zzzyyzyz{zz{{{{{zzzzzyzxy{y{z{{{yz{zzyyz{{{zzz{zzzyzyyyyzy{yy{yzyyyyyyyyzyzyzyzzyyzzzyzxzyzyzzzzz{yxyzyy{z{zyz{zzyyyyyyyzzzyz{{zzyzyyzzyzxzyzyy{yzyzxxyxyyzzzyzz{yyyyyyyz{zyzzzzyyyyyyyyzzzzzzzzzyyxyyxxzzzyyzzzyyyyyzyyyzzyyyzzzxyxyyzyzzyzzzzzyyyyyyyxyzzzyzz{zyzyyyyyyzyzzyyzyyyyzyzyyzzzzzzzyyyzyyyzyzzyzz{{zyyyzzyyzyzzzzyzzyzxyyxyzzzyzz{zzyzyyyyyz{{{{yzyyyzyzxyyz{zzzzzzzyyzyxyzyzyzyzyzzyzzzzzzz{zzz{{zyz{yyyyzzyzzz{|zyyzzzzyy{zzz{z{{zzzyyy{yz{{{z{{zz{yzy{yzz{{{{{z{zzyzzzzyz{|{zz{{zz{{yyyzz{{{z{{{zzzyzz{z{zzzzzz|{{zzzyyz{zz{{zz{yzzyy{zzz|z|{{{{zzyzyyzzz{z{yzzzzyzzyyzyzzzzy{zzyzyyyyxyzzzzyzzzyyyzzyyzyzyy{z{{zyyyyzyyyyyzzzz{yyyyzyxyyz{zyyyzzzyyxyzyzzy{{zzzzzyyyyyyyzzzzzz{zzzzyyyyzzzzxzzyyyzzyzyzy{yyyzzzzyyzyyyyyzzzyzzz{zyxyyyyzzzy{zzyyyzzzyyzy{yzzzzzyzyyyzyyzy{yzyzyzzxxyxyyy{yyyzz{yyzyxzyyzzzzyzzzzyyyyyyyyzzzzzy{zyzyyyzzzzzzzzz{zy{zyyzyy|{y{zzzzzzyzyyyz{yz|zzzzyzyyzyzzz{zz{{zyzyzyyzy{{{{zzzz{zzzyyyyyz{{z{{{zyzzz{yy{{y{{{{{yzzyy{zyz{{{{zzzzzzyzzzy{{zyzy{|zyzzzzzzz{{zzz{z|yzzz{zz{{|{z{{{zyz{zyyz{z{{z{{{zx{yzyyy{{z{z|zz{zzz{yzzzz{{z{|{{zzxyyzz{z{{z{{{zzzzyzyyz{zzzz{zzxzzzzyyzz{z{zzzxyzyyyzxz{yxzzz{zyyzxxxyzzzyzzy{yyxyxyyyzyzyzy{zzzzyyyxyzy{zzzzyzyyxyyyyzzzzzzyzyzyxyyyxyzyzzzzz{yyzyyyxzzzzzzzzxzzyyyyyyyyzyzy{yyyyxzyy{yzzyyzzzzxxyyyyzzzzzzzzyzyyyyyzyzyzzyzzyyxyyyyxyzyzzzyyyyywyyyxzyzzyzzzzyyyzyyxzyzzy{zzyyyy{yzyzzzyyzzzzyzyyzzzzzy{yz{zyyzyyyzyyz{zyzyzzzzyyyyyy{z{{zzyz{zyzyyz{zz{zz{zzyzyzyzyzzzzy{{zzyzyzyyz{z{{zzzzzyyzyzyz{{z{zz{{{zyz{yyzz{zzzz{zzzzyzzzzz|{{zzy{zyy{y{zyz{{{{z{|{yzzzzzzz{{z{{{{zyz{y{zy{{{z{{{{yyzyzzzzzz{zz{{|zzzy{zzz{zzzz{{|z{yyzzzyzzzz{{z{yyzzzzyyyzz{{z{zzyyyzzxyzzzzzyyzyyyyyyxxzzzyzzzzyzzyyyyyzyy{{y{yzyyyxyyxyzzzzz{zzxyyzyxyyzyzy{{zzzxxyyyxzzzyyzz{yzyyyyyzyzzyy{zyzyyyzxyyyyzyzzzzyzzyyyyyzyyyyz{yyyxyyxxyy{z{yzzzxxzyyyxyy{yzzzzzyzzxyyxyyzzzzzzzzyyyzyyxyzyyzzzzxzzyx{yzyzyyyzzzzxzyyyzzzzzzzz{yzyzzzyzyzzyyzzzzyzzyyyyyy{yyzzzyzzyyzyyyz{zzzyzzyzzyyyzyyzzzz{zy{yzyzz{yyzzyzzzzzzyzzyzzzzzz{zzzzzyzzyzzy{yzz{z{yzzzzyzyz{zzz{zz{yyzyzy{zz{zz{zz{zyyzyzz{{z{{{{zzzzyz{zzzzy{{{|z{yz{zzzzz|z{z{{|zzzzzzzzyz{{|{{zzzyzzyzz{z{z{{{{{zzy{zzz{{{{zz{|z{zyzyzzzzzzzz{zzz{yyzyyyz{zzzzzzzyyyyzxzzxzzyyyyyyyzzyy{zzzyzzyyyxyyyzyzzzy{zz{zyxyyyyyzzzyzzzzyyyyxzyzxz{zyy{zzyyyyyyyzzyzyzzzyzxyyyzyzzzzzzzzyyyxyyyy{yzyyzzzyyyxyyyyyyzzzzyzzyyyzyxxxzzz{zzzyyzxyyyyzy{yzzyyyyyyxyyyzzz{zy{zzyyyzxyyyzyyyzy{zzxyzyyyxzzyzzyzyyzyyzyyzyzzzzzyzzzyzzyzzzyzzzzzzyzyyyzyyyz{{zzzyyzyzyyyz{{y{z{zzxyyyzzyzzzzy{zzyyzyzyyyzz{zyz{yzyyyzyyyyzzyyz|z{zyzzyzyyyzz{{{zyzzyzz{z{yzzz{{zzyzzzzyyz{zz{z{{zyyzzyzzzz{z{{{zzyyy{zyzy{{{{{{zzzzzzzzz{{{zzz{zzz{yyzyz|zzz{{{z{zzzzzzy{{z{{{{{zzzzzyyzz{{{zz{|zzyyyyzzzzzzz{zzz{{yzz{yz{y{y{zzyzyyzyyyzz{zzz{yzzyxxyyyx{zzzzyzzzxyyyyzzzyyzzz{zzyzzyyxzzzzyzzzyyyyyyyyyzzyzzzzzzzyyyyxzzzyzzz{yzyzzzyyzzyyzzzzyyzzxyyyzyzy{yzyyyxyyzyzyyyzyzz{zyyxyyyyyzz{zz{zzyyyyxxyyzzzyzzzzxzyyzxxzyzzyyzyyyyxyxxxyzzyzzyzzzzxyyyyyzzzyzzzyyyyyyyy{zzzzyzzzyyyzyyy{{zyyzzzzzzyzyyyyzzyzz{{yyzyyyyyz{zzyzz{yzyyyyzzy|zzyzzzzzyzzzyyzzzzzz{zyyzzzzyy{zzzzzzzzzy{{xzyzzz{{{{zyzzyzz{zzzz{{z{zzyzzy{yz{zzzzy{z{yzzzzzz{|{z{|{{{{zzyzzyz|{z{{{z{yzyyzyzz{{{zz{{{yyzzz{yz{zz{{z{{yz{yzzz{z{|{{|{zzzz{zz{zz{|z{{{zzxyzyzy{yzzzzzzzzy{zzyzz{{{{{zzzzzy{yyyyzzyzzz{yyyyxxyyzyzzyzz{yyyyxzxzyz{zz{zzzyx{xzzyzy{zzzz{zyzyzyyz{zz{yyzz{zyxxyzyyzzyzzzzyxyyyyzyyyzzzz{yyyzyxyzyyyzyy{{zzyzyxzyxzyyzy{zzyxxzyxyyz{zzyzzzzzyyxyyyzyzyz{zyyxyzyzzxyz{zz{zzzxyxyyyyyzzyzz{{yzyzyxzzzzyzzzzzzzzzyzyxyzzzzz{zzzzyyx{yz{z{zz{{yyyzyzzzzzzyzz{zzyzzyyzyzzzzzzzzyzzyzxyzyzzzz{yz{zzzyyzyz{z{zz{zzyyzzxyyz{z{zz{{zzzy{zzzzzz{z|{|yyzzzyzyzz{{z{z{zyyyzzyzzz{z{zz{{zzzzzyzz{z{{z{z{yzzz{zzy{zz{{z{zzzyz{zzz{z{{{{{zzzzzyzz{z{|{|{zzzy{zy{zzzz{{{|{{zyzz|yz{{z{{{z{{zzzzzz{{{yz{{z{z{zzzzyyzz{{zz{{zy{yzyyyy{{zz{yzxzzyzyyxyyzz{zzzyyzyyyzyyzzzzzz|zzzxzyzyyyz{zzzzzzyxyyyyz{zz{zzzyyzyyyzyzy{zzzy{yzyxyzzyyy{yz{zzzzzyyyyxzz{{{zzzyyzyzyyzyyzzyyzzyyyzzxxy{yzyzz{zzyzzyyyzzzzzzzxyzyyyyxzyzzzyzzz{yxyzyyyxyzzyzzzzzyyyyxyxyzzzzzzzyzzxzzyy{yyzyzzzyzyyzzzyzzzyzzzzyy{zzyzz{yzzzzz{yyzzzyyzz{zzzzzzyyzzyxzy{{zzz{z{zzzyxyyzz{{yzzzzz{zyzzzy{{zyzy{zzzzzzzzzzzzz{|zzzzzz{z{{{zz{z{{{zz{zyyzzzz{{z{{zzzz{yyz{{{z{{{{zzzz{|z{{{{{z{{{{{yy{z{zy{{z{zz{{zzzzyz{z{{{zz{{z{zzyzzyzzzzz{{{{{z{zzzzzz{z{||{{zyyy{zz{{{zz{{{zzzzyz{yz{{{z{z{zzyzzyyyzz{zzzzzzzyyzyxyyyzzy{yz{yzyyyzzxzzzyyzz{zyyyyzyyyyyzzzzzzzzzzyyyy{yyyyzzzzyxyxzyzzzz{yzzyyzyyyyyyyzyy{y{zzyyyyyyyzzyyzy{yxyzyyyzyyzzzyyzyyzyxxyyzzyyzzzzxxzyxxyyyyzyyxzzyzyxyyyyzzyx{zzzzxyyyxyyyzzzyyyzzyyxyxyyz{xyzy{zyyzyzzyyyzzz{y{yyyyyyzxzyz{zzzz{zyyyyyzzyzzzzzz{yzyyzxyyzz{zzz{zyy{zzxyzy{{{{zzzyxyyxyyyz{zzzz{{yyzzzzwyz{{zz{{zyyy{zzzzyz{zz{{zzzzz{zzzzzz{zzz{yzzy{zyyzz{{z{{{zzzzzyzzz{{zz{zzzzzyzz{zzz|z{{{{{yzzzzzzy{{z{{{zzzzzz{xz{{{zzz{zz{yzzyzz{zz{zz{{{zzzzzyzz{zz{y{{zzzxyzz{zzz{{{{z{zzzzzzyzzzzzzzzz{z{{yyyzz{{{yzzxxyyyxywy|{z{yzzzyxxyxyyyzzyyz{{zyyzyyzxzyzyzz{zyyzyyzyxyzyzzy{zzzyyyyyxzzyzz{zzyyzxzyzyzz{yzzyyzzyyyyyyyzyyzzzyzxyyyyyyyyy|zzzzyyyyxxxyyyzzzy{yzyyyyzyyzyzyzzzyzyzzyyxxzzzzzzzzzyzzyyyxyzzzzzz{yyyzyyyyzzxzzzzzyyyyzyxzzyzyyy{yyzyxxyyyzzzyzz{zyxzyyxyzz{zzzzz{zyyzyyzzzzzzzzzzzyyyzyzzyzzzz{zzzyzzzyzyz{{zz{zzyzyzyyyzy{zy{y{yyzzyyyzyz{{{z{{zzzzyzz{z{zz{{zz{zyyyzzyy{zzz{y{zzyzzyzzzz{zz{{{{zzzxzzz{zzzz{zz{zzyzzyzzz{{zz{{{{yzzyzzy{zz{{{{z{yzyzzzzzzz{zyz{{y{{yzz{zz{{{zzzzzzxyzzy{zzz{z{{{zzzzyyyz{y{{zzzzzzyzyyyy{z{zzyzzyxyyyzyxzzzyy{yzzyyyyyyzzzzyz{zyyyyyzyy{{zzzz{zyzyyyyzzyzzzzzy{zyyxzyzyyzzyz{zzyxyxyzzyzzzyz{yyzyzyyyyzyz{zz{yzyyzxyyyyzzyzxyyzxyyyyyyyyzzzz{yzxyzyxzxyzzzzyzzzzyyyxyyyzzyzzzzzyzyzyyyyyzzyyyzyzyyyyzyzyzyyz{zzyyyzzzyy{z{|zz{yyyyyyyyyy{yyzzz{zyyyzzzxzzyz{y{{zzzyyyyyzzzyy{zzzzzyzzzyzzzzzz{zzzzyyyzxy{{yyy{zzxz{yyyzz|{zzzzzz{zzyzzyz{{zz{zzy{{yyyzz{z{{z{z{yyzzyzzzzz{{zz{zzzyyzzzyz{{zy{{zz{{yyy{z{yzz|zzz{zyzzzyzzz{zz{{zyzz{zyzy{zz{z{{{zyzzz{zy{{z{{{zzzyy{zzzyz{zz{z{{z{zyzzzyz{zyzz{zzzyzz{zyyzz{{{zyzyzxxzxyyy{zy{yzyyxyzxyxxzzzyzzzzzyzyxyyzzyzzz{{zyzzyzzy{zz{z{zzyyzzyyxzyzzzxyz{zyzyyzyxzyyz{zzzzzzyzyzyyzyyyzzyyyyyyzzy{yzzzzyzyyzyxyyyyzyyz{yyyyzyzyyyzzyz{{zyzyyyyzyyyy{zyzzzyyyyxyxxyzyzzzzzzzyzyyyyzzyyyyyzyzxx{yyzxyzzyzy{zyyzyzyyyzyzzzz{yzyzzyxyz{yyz{z{zyzzzyyyyzyzzyyzzxyyyzzyy{{{zz{{zyzyzyzzzz{zzz{zzyyyzyzzz{yzzy{yyyz{zyzyzz{zz{z{yyzyy{zyzzz{z{{{yzzzzy{zz{{zzz{|zyz{{zyyz|{z{{{z{zzyzzyy{|zz{z{{zzzzzy{z{{z{z|z{{z{zzzzzy|{zz{z{yz{zyyzzzzz{yzz{zzy{yxyzzzz{z{{zzzzzzzy{z{z{{z{{zzzzzz{y{z{{{{{{{zzzzyzzzyz{zzz{yz{zyyyzzzzzyy{yyzyyzzyyyyzzzzyzyyyzyxyyyyyyz{z{yzyyyyyyzyzyzzzzyyzyzzyzzz{zyzzzyzyyzyyxyzz{yzyzyxyy{zyyzzzyxzzzzyyyyzxyyzzzyzzzyxxyyzyyyzyyyzyzzyyyzyyxzy{yzyzyyyyxyyxyzyyyzzzzzxyzxyyyy{zzzzyzzyyzzyzxxzyyyzyyzzyxyyyyzyyyyzzzyyzzzywxzzz{zzzzyyzyyyyyyzzzzzzzxzzzyzzyzyzzz{zzyzzyxxyyyzzzzzz{zyyyzyyyyzzz{{zzzyzyyyxyyzzyzz{zzyyzyyyzzzzzyzzzzyzxyyyz{zz{z|{{yzzzzzzy{{z{zz{|zzzyyyyyz|{y{z{{zyyzzyzyzzzz{z{zzzz{zzzzz{{z{zz{{z{zzzyz{|{{{{z{{z{zzzzzz{z{z{z{{yzzyyyz{zz{{{{z{zzzzyzzy{{{{|{{zyzzzzyzz{zzz{z{yz{yzyzzz{z{z{zzyyyzzzyxzzzzzzzyyzyxyzxxyyzz{y{zzzzyyxyyyyzzzzyzzyxxyzyy{yz{zyzzzzyzyzyyzyz{yy{zzzzyxzyxzzyzzzyzyyxyyyyyyzzzyzzyzyzyyyyyxzzyzyzyyyyyyyyyzzyyyz{zyzyxyyyxyzzyzzzzyyxyyxxyyyyzz{zzyxxyyyyyyzz{yzzzzzxzyzyyyzyzy{yzzzyyyyxzyyzyyzyzyyyyzyxyyzzy{z{zyyyyyyyyyzzzzzyzyzyzyyyyzzzzzzyzyzyyyyzyzzzyyzzzzzyyyyzzyzzzz{yzyxyxyyzxzy{yyz{yzyy{yzyzyzzyzzzzzzyyzzzyzz{|z{{{zzzzyyzyzzzzzz|{{zzy{yzz{z{{zz{zzzzzyzyzz|z{{{zzzyzzyzz{yz{yz|{{zzy{yzyyz{zzz{{{zzzzzzzxz{{zz{{zzzyx{yyz{yyz{zz{zzyzzy{zzzy{{z{zz|zyyyy{z{zz{{z{zyxxyyzz{zzz{zzzyyzyyyxxzzz{yzxyyyyxyyxxyyyzyzzzyyyyyxzxz{zyzzzyyyyzyzyxyyzzzyzzxyyyyyyyzyzzyyzzzyyxyyyx{yzxyz{yzyyzyyyyxzyy{yzyyxyxyyyyxzzyzzzzzxyxyxyxyyyyyyzzzyyxyxyyzyyyyzzyyyxyyyxxyy{zyzzyyyyyxyyzyyyzzx{{yyxwyyxxzyzyzzzzyyyyyyyyyzyyyzyzyzyxyyxxyyyyzyzzzyzyzzyyzzzyyzz{zyzyyxyzzyzzy{zyzxzyyzyyzz{{yzyyzyyzzxzyx{zzyzzzzyyyzyzxzz{zzzzzywzzyyyzzzzzzzy{yyy{zyyyz{z{zz{zzyzzyzyzyzzz{{{zyyyzzyyzzzzzz{zzz{zzyzzyzzzzz{{{zzzzy{zyy{zzz{{{zyzyzzzz{{zz{{z{zyz{yzzyz{{zzz{zzzy{yz{zz{zzzz{{zyzzzyzzzz{{zy{{zzzzzzzzyzz{{zz{zzyzyyzyy{zzyz{{zyzy{xzyyyzyz{yzzyyyyxyyz{zzyzyyyzyyyyyxzzyyyzzzyyzyyzxyzzyzzzz{zyyyyzzxyzzyyzyzzzzyzyyyyzzzzzzzyzyyyyyxzzzzz{zyzyyyzyyyzzzzyzyyyyyzzywyyzyzzzzzyyyyxyyyyzzzzyzyzyzyyzxzyzzzzzyzyyyzyyyyzz{yzz{zzyxxxyzyxzyyzzzzyyzzyyxyzzxzyyzzyyzyzzyyzyzz{yzzyyzzzxyyzzzzz{z{yzyyzyyzzyyzyzz{xzzzyyzyzzzzz{{zzyzzzzzyzzzzz|{zyzzzyyzyzzzz{{{zzyz{zyyzz|{zz{zyyyyzyzyy{{z{zz{{zzzzz{{y{{yz{{z|yy{zyyzyyz{{yz{zzyzzzz{z{{|z{{{{{zzzz|{zzz{z|{zz{zzyz{{zz{{{{{{{zyzyzyzy{{zz{{{z{yzzz{zzz{z{zzz{zzyy{yzzz{{{zz{{zzzzzyzzyyz|{y{zzyzzzzyzz{{zz{yz{zyyyyzxzyzzzzy{yzyxyyyyyzzzyzz{zyyxyzyyyzyyyzzzz{zzyyzy{zyz{zzz{xzzzyyyzz{zzzzyyz{yyyyyzy{zyzzzxyyzzyxyyzyyyz{zyyyzyyyyyy{zyzzyzyzzxzyzzyyzzzz|yzzyyyyyzyzzyyzyzyyyyxyyzyyzz{zzyyyzyyxyzyzzzy{{yyyyyyyyyzzyyz{yyyyzzyyyyyyyyzy{yx{yz{zyz{zyzyzzzyzyyyzzzz{zz{{zzzzyzyyyzyzzy{zzzyyzzyyzz{zzzzzzzyzy|xyyzzzyzzzzzyzyyyyyz{zzzzzzyyyz{yzzyzyzzzzzyyzxz{{zzzz{zz{{yyyzz{zy{zz{{zz{yzy{zzzy{z|zzzzzzyzyzzyyz{{{{zz{z{{{zzzz{|{zz{zz{{{zz{z{y{{{|{{|yz{zzzzyzzz{z|yzzy{{zzyzzzz{{{z{zzzyz{z{{zz{zz{{zyzyzzzzzzzz{{{zzzy{zyzyz{zzzzz{zzzy{yzyzzz{zzzzzyyyyzxyyy|yyzyy{yyzyyxyzz{y{zzzzyxyzxyyzzz{zz{zyyyyyzyyzzyzz{zzyxzzxxyyzzzzyzyzyzyyzyyyyzyzzzyyyxyyyzyzzzyzy{zyyxzyzzyyyyyyzyzyyzyxyxyyyyzzyyzxyyxzyyyyyyzyz{zzyyxxxyxyzzzzzzzzyzyyyyzyyyzyyzzzyxyyyyxyyzzzyyzzyzyzzzyzz{yyzzyzyyzyyyyyzzzzzzzzyyzyyyyyzzzzzzzzyyzyyyzyzzyzzzzzzyzyyyzyzzzzz{zyyzzyyzyzz{zz{yzyzzyyyzyyzzyzzz{{zyyzyzzyzz{zz{|zyzyyzy{zzzzzz{{zzzy{yyyzz{{zz|{zzzzyzzyz{zzzzz{z{zzyzzzzyz{{{{z{zyzzyz{zz{{z|{zzzyzzyyzzzzzzz{{{zzzyyyyzz{z{z{|{zzz{zzyzz{y{{{{|z{z{zzzyzz{zz{{zzxzz{yyyyzz{yzzzz{{yzxzyzyyyzzzzyyyyyxxyyxz{xzyzyzxyyxyyyyzzy{zyyzyzyxyxzzzzzzzyzyyyzyyyzzzzyzz{yzyxyxzyzy{zyzzzyzyyzxyyyyzyyzyzzyyyxxxzzyzyyyzzyyxzyyzyyzyzyzzzyxyyyyxyyyzzyyyzyxyzxyxyyzyyzyzzzxyzxyxyzzzyyyz{yz{yyxyyyzzzyyyyyyyyzxyyyyyzzzzzzyyyzzyxyyzzzyz{zzzyzyzyzzzyzyzzzyyyyyyyyzzy{zz{yxzzzzyzyzzzz{zyzzyzzxzyzyz{z{zzyyyyyxyyzzzzzzzzyzyzzzyyzzyzy{zzz{zyzyyyzzz|z|yzyzzz{zzyzzzzy{{zzyz{zyy{z{z{{{{{{zzz{yxz{{{zz{{|{zzzyyzz{z{{{|{z{yzzzzyzz|{z{{{z{zzzzzzzzz{yz{z{{zyzyyzzzzzz{{z{zzzzzzyzz{{z{z{zyzzyzzzyy{zz{z{zzzzyzzzzyz{zzzyyzyyyzxyyzzzzzzz{zyyzxyyxzzyyzzzzyyyyyzxyzyzzz{zzyyyyyxyxzyyzyyzzzyyyxzxyyzzzy{z{yzyyyyxxyxyzzzz{yyzyyzxyyzyzyzzzyywy{yxyzz{xyzz{yxyxzzyyyzyzzyz{yyzyzzyyzzzzyzyyzxyyyyyyyyyzzzz{zyyxxyyxyzyyy{z{zxzyzyxyzxyyzzzzzyyyzyyxxzzzzzzzyyyxzzyyzyzzzzzzyyyzzyyyzzzzyzzzyyyxxzyz{zzyyz{{zyyxyzyy{z{zzy{z{yyyzxyzy|{zz{{{zyyyzxyyz{zzzz{zyzyzzzy{zzzzzy{zzzzzzyzzzzz{{{{zyyyyyzyzzzzy{z{{zzz{zyyy{{zyzz{zzzyzzyzy{{{zz||{zzzzzzzyzz{zz{{{{yzzzyzzz|{z{{{z{zzzz{yz{zz{{{{{{zzz{{zzzzy{zzzzzyzzzzz{{{{{{zz{z{yyyzyz{zz{zz{{{yyz{y{yy{zyzyzz{yzzyyy{zyzyzzyzyxyyzyxyyy{zzyzyxyyyxyyzzz{zz{z{yzyxyzzzzyzyzzz{zyyzyyyyzzzzyzzzzzyyyxyyyyyxyzyzyyyyyzyyzzz{zy{yzyyyyyyyyyyzyzyzyyzyzyyxyzzyzyzyyyyxzyyyyzyzzyzyyyxzyyyxzyzyzzzzzyxyyyxyyzyyyz{{zzxzyyxyzzzyy{yzyyxxyxzyyyzzyy{zyyxzzzyxzzzzzzzzyzxyzyxyyz{zz{z{yxzyzyzyyyzzyzzzyzyzyzyyz{z{{z{zzzzyzyzzzzzzzzzzyyyxzyyzzz{zzzzzyyzyzyyzzzzzzz{yzzyyzyyzzz{{z{{zzzzzzzzzz{z{z{z|zz{zyyyzzzzzz{{yzyzzzzz{z|{{{{{{zzzzzzzy{zzz{{{{{zzzz{yzz{zzzz{z{zyzyzzzz{zz{{zyzzzzyy{zzz{zz{{{zyyzyyzzz{z{z{z{zzzzzzzzzz{zzz{z{zzzzyzzzzzzzzzzz{zzzyzzzzz{{yyzyxyyyxzyyzzzyyzzyzyyyxxyzzyy{zy{yyxxyzyzzyzyzzzzyyzyyyyyyzzzzzzzyyyyyyzxyzyxyzzyyzyxxxyyzzzyzzyyzxyyyzxyzyyzzzzzzyzxyzxyzyyzz{yzxyyyyxyxyyzzyyzzyyzyyyyyzzzyzz{zyyzyyyyxyzzzyzzzzyyzxyyxxyzxyzyzzyyxzyxyyzzyzzyzyyyzyyzyzyyzzyzzzyxyyyzzzzzzzyzyyzzyyyyyzz{zzyzzzyyyyyyzyyzzyzzzxyzyyyzxzzyzzzzzzzzzxzyxzzzyzzzzzyzyzyzzzzzyzyyzzyzzzzyzz{z{z{{zyyyzzyzyz{{{{{zzzzyzzyyxz{zzzz{{yyyyyzzyz{y{zyz{yyyyzzzzz{zz{z{{{yzzx{{zz{{zyy{{zyzyyzz{{zz{z{zzzzzzy{zz{{{z{{{{{{{{zzyz{zz{{z{{z{zxzyyyzzz{zz{{zzzyyyyz{|zz{z{zzyyyyyxyzzzzzzx{yzyyxyyxzyzyzzz{yyxyyyxyyzzyyzzz{yyzyyyyzzyzyzzyxyyyzyyzyyyzzyzzzyyyxyyyzzz{zzz{zyyyyyyyxzzyyzzyzzyyyyxxyzzyzzzzxyyyzzyyxyyzzyzyxyyyzyyzzyzyzzzzzxyyyyxyyyzyz{zzyyyzyyyyzzyzzzzzyyyzyxyyyzzyzzzzzyyyyyyxx{zyz{zzyyyzyyzyyyzz{zz{zyyyyyyzyzzyzz{{yz{yyzzzyzzzyzzzyzyzyyyy{zyyzzzzzxzyzzzyyzzzz{zzyzzyyzzyzzz{yzzyzyzyyzzzzzzzyzzyzzyyzyyyy{{{{z{zzyzy{zzzz{{z{{z{yyyzzyyz{{{z{{z{{yzyzyz{{{{y{z{{z{zyyz{{{{z{{|{z{{yyz{zyz{{{zy{{zy{zzzzzzz{yzzzz{yzzyyzzy{{{zz{zzzyzyy{zzzz|z{{zzzzzzzxzyz{z{{z{zzyzyyyyyz{zz{zzyy{yyxzyyzyyz{yzxyyyxyzxyzzzyzzzyzxyxxyyyyzzz{zzyyyxzyzyyzzyzzy{yxyzyyyyyzzzzzyyyyyyxyyyzzzzyzxzyyyyxyyxzyzyzzzyzyyzyyzyyyzyyzyzyyxyyyyzyzyzzzyzyxyzyyyxyzzyzzzyyyxyxyxyyyyyyxzzyyyyxzxyzzyyzz{xyzyxyyyyyyyyyzyzyyyxyxzxyzyyzzzzyyzyyyyyzzyzyy{zzzyyxyzzyyyzzz{zzyzyyyzzyzzzzzzzzyyzxyxzzzyz{{zzzyyzzzyyyzzyyzzyyxyyyyzzzzzzyyzyzzyzyzyyzzzzz{zzyyzyyzyzzz{z{z{{zyyyyyzyzzz{zzz{zzzzzzzyzzz{{z{z{yyyzyzyz{{y{z{zyzyzzzzyyzzzzz{{zyyzzzzyz{{zzzz{z{zzxyyzzzzzz|zzzx{zyzyxzzz{{z{{zzzzzzzzz{{zz{|{zzzyzzzyzz{y{{{zyyzyzyxy{|{{yyz{zyyyyyyzyzzzzzzzyyyyxxzyzyyyyyyzyyyyzyyyyzzzzzz{zyyyyyzzyzzy{z{zyxyzyyyyyxzzzyzyzyyxyyyyyyzyzzzzyyyxyzyxy{zxyzzzzyzyyyyyzzzyzzyzyzyyyyxzzzyyzzzzyyyyzzyxyzyyzzzyyxzyyyyyzyzzzxzyzzzyyyxyyyzzzz{zyxyyzyyyxzyzyyyyzyxxyyyyyzzyz{yzyyyzzzyyyzzzyz{zxxxyyyyyyzzz{zz{zyyzyyzz{zzzzzzzyyyzyzzyz{zzzz{{zzyyyzzyy{zzz{zzzyzy{yzyzz{zzz|{zzzzzyzyzy{zzzy{yyzyzzyz{zz{{yyzzzzyyzzyzzzzzz{{yyzzzyzy{{z{{{z{{zyzzzzy{{yz{{{zzyzyzzzyzz{{zzz{{zzzy{{zzz{{z{zzzy{zzyz{{zzz{z{zzzzzyzzyz{zz{{z|zzyyzz{zz{{z{z{{{zzzzyzz{zzzz{z{yyzyyyyyzzzzz{{z{yyxyzzy{zz{zzyzyzyyzyzxyzzzyzyzyyxyyyyzy|zzzzzyzyyyyyyxzzyzyy{{yxyxxzyyzzyxzyzyyyywyyyxyy{zyyyzyyyyzyyyyzyy{zyzyzyzyyzzyyzzyzyyyyxyyyyyyzzyzyzzyyyyyyxyyyzyyzzyyxyywxxyyyz{zyzzzzzyyyxyzyzzzzzzzxzyyyxyxzyzzzzzzzyyzzyyzyyyzz{zzyxxyyxyzzy{zz{zyzzyyyyyyyzzzyz{yzyyyyzzzyzzzyz{yyyyzyyyzz{{zzzzzyyyzyyzz{{zzz{zyyzzzzzy{z{yzz{zyyyz{zyzz{yzyzy{zzzzzzzz{yz{zzz{zzyyzyyzyz{{z{{{zzzzzzzzz{{{z{{zyyyzzyzy{{zyzz{|z{zzz{zz{zzzzzz{{x{zz{y{z{zz{z|z{zzzzzzy{{zzz{zz{zzzzz{z{{z|{{{{zzy{zzzzz{{{{z{{z{zyzyzzzzzz{yzzzzyyyyzzz{zyzyzzzzyyyyzyyzzzyzyzzyxzyyyyzzzyzyzzyyyyyxyyz{zzzzz{zyyyyyzyzzz{z{{zyyyyxxyzyz{zyzzzzyyyxzzyzz{zzzzyyyyyyyyyzzzyzyzyyxyyzzyyzzzyzz{zyyzyxyzzyyyzyz{zzyzyyxyyzzzyyyzz{yzyxyyyyyzyzyz{zzzzzxyxzzzz{yzzzzyyzyyzyyyyz{zzyyyyyzyyy{zyzzyzyyyyyyzzzzzyzz{z{zyyyyxzzzzzz{z{yyzyzxzzz{zzzzz{yyzyyyzzzzyyzz{{zyzzzyyyzyzz{{zzzzzxzyyyz{{zzzzzzzyzyyxzzzzz{z{zzzyyzyzyyzz{{{{yzy{zyzzyz{z{z{{|{yzzyy{zz|zz{z{zzxyy{yzz{{zzzzzz{{{zzz{{zzzzz{|{zzzz{zzzzz{zy|{{zy{zzzzyz{{z{{{z{zzzzyzzzz{{{{{{{zzzzzyyzz{z|{{{yzyyzyyzzzzzz{{z{zyzyzzyz{z{{z{{yzyyzxyxzz{zzyxzyxyxyyyzyzzzzzz{yyzyxyzyyyyzzzz{zyzyyyyy{zyzz{zyzyzyyyyyzzz{yyzzzyyxyyzyzz{zyzzzyyyxxyyyyzzyyzzyyyxyzzxx{zzyzzz{zyzyxyzzyz{zzzzyyzyyyxyxyyzz{{zzyyyyyyxzzz{zyzzzzzyyyyxyzzy{yzzyyyzyzxyyyyyyyzzyyyyyyyyyyzzzzyzzyyyzzyyyz{yy{z{zzzyxyzzyy{zyzz{zzxzyyzzyzzzzzyzyzzzyyzyy{zzzzz{yzyzz{y{xyzzyz{{{zzzyyzzz{{{zz{{y{zyyyyxyzzzzzzzzzz{yzzzzzz{z{{{{zzyyzyzzyyz{{z{{zzzzzzzyzzz{{zzz{{zzzzzz{{zz{{z{zz{z{zzy{zz|zz{{zzyyyzzzz|{{{z{{zyz|yzyz{zz{z{z{yyz{zyzy{zz{zz{{{{y{yzzz{z{zz{{zzzzyyzz{z{z{{{{{|z{zzyzzyzzz{z{{zzyyzyzzz{zyzzzzyyyyzxyyyzzyzzzyyzyzzyyyyzzzzz{zzyyyyyzyy{zyzyzzzyzyzyxzyzyzyzzzyyyyxyyyyzzy{zyzyyzxzyyyy{zyyyzyyyyyyyyyz{zyyyyzzyyyyzzyzyyzzzzzyzyzyyxyyyyzzy{yyyyyxyyyzyzz{yyyyyyyxyxyyyyzyzzyzyyyyxyxyzxyzyzzyyzyyyyyzyzzzz{yyzzyyzzyzzzzyy{zzyyyzyyzzzyzz{z{yxyyyyyzzzyzzz{zyyzyzyxzzzzzz{{{zzzyzyzyzzzzzz{zyyzzyxzyzz{zyzzzzyzzyzyzzzzz{zzzzzyz{yzzz{zzz|zzzyzzz{{zz{{zz{{{zzzzyzxyz{zzzzzzzzzzyyzy{|{z{{{z{yyyzy{{zzzz{{{{zzzzzyzz{{z{{|{{zyzzyyzxz{{{z{{zzyyzyyzzz{zz{z{{{zzzzyzyyzzzzzz{{yzyzx{y{{{zzy|zzzzzyzyzzzzzz{{z{z{zyzzzz{zzzzzyyyyyxxxzzzzzyzyyyzxyyyzyyyzz{zzzzyyyyyyzyyzzz{zzzxyzzyyyzz{zzzz{zzyxyxyxyyzzz{z{yyzyzxzyyzyzyzyyzyzzzzyyyzzzyzzzyxyyyyyyzzyyyy|{yyzxyzyxyzzzzzzzyyyyyzyzyzyyzzzzyyyyxxyyyzzyzz{zzyxyzyyyyzyzzzzzyyyyyxzyyzyzyzzzyyyyzyyyzzzyzzzzzyyyxyzzzyzyz{zzzyxzyyyz{zyyyzz{yyzyyyxyyyzzyz{zzzyzyyyzzzzzzz{{yyzyzyyzyz{zzzzzzzyyzyyyzy{z{zzyzyz{zyyyzzz{z{z{yyyzzzzz{zy{z{{{{yyyzzyz{{zz{z{{{zzyzzzzzzz|z{{{zyzzzzzy{zzz{{{z{zzyyzzzz{{z{{z{{yzzzzzz{zz{{{{z|zzz{zzzz{{z{{{|zzzzyyyzz{zzz{{zy{|yy{zyy{{zz{|z{zzzzyyyz{zzyyzzzzyxxyyyzzz{yyyyzxzzyyyxyyzyyyzyzyyyxxyyyzyzz{{{yyzxyxyyzyzy{zzzzyzzzxzyzyzzyyzzyyyyyyyyyzyzzy{zyyyyyyyyz{yyyz{yyyzyzyyzyzzyyzzzzyyxyyyyzyzzzzyzyyzyyzyyyyzyyzzzzyyyxyxzyyzyyzz{yyyyxxzzzyyzyzzyyyyyyyxyyzyzzzzzyyyyzxyxyzzzyzzzzyyyyzyyyzyzyy{zyyyyzyzxzzzyyzzzyzyyyyyxzzyzzzz{zyzzyyzz{y{yz{{zyyzyzyzyzzyzzzzyyyzxyzzyz{{zzzyyzyyyzyyzzzz{z{zyzzzzzzzyzzzzz{z|zzzzyzzy|{yzzzz{yyzyzyzz{{zz{{yyzyxyzyzyz{{zz{{{yzzzyzzzz{{z{z{{{yzzzzzzzzz{{{z{zyy{yzzz{z{z{z{zzyzzzyzy{z{z{{z{{zzy{zyz{{{{zz{{zzzzzzzyzzyzy{{{{zzzy{zyz{{zzzyzzyyzyyyx{zzzzzyyyxxyxyxyyzzyyzzzzyyyyyyxyyzzzzzzyyxyzyxxzzyzzzz{yyyxyyyxyyzzzz{zzzyyyxyyyyyzyzyyyxyyxyxxyyyyzzzzyyyyzyyxzzzx{zzzyzyyyyyyzyyzzzzyyyzyxyyyyyyzzyzxyyxzyyyyzyzyyzzzyyxxxxyyyyzxyxzzyyxyyxxxyzzyyyzyzyxyzyyxxyyyxzxzyxxyyxxxyzzzyyzzyxyyyyyxyyzyzyzyyyyyzyyzzzzzyzz{y{yzyzzyzy{yzz{zyyyzyyyyyzzzzzzzzyxzzzyzz{zzzy{zzzyyyyzzzzyzz{yy{zzyyyzzzyyzzzz{yyzzzzzzzzyz{{z{zzzyzyyxzzzy{{{zzyxyyzzyzz{z{z{zyyzzyyzzyz{y{zzzzzzz{zyzy{z{z{{{{yzzyyzz|{zzzzz{{yzyzzy{zz{yz{zzzzzyzzzz{{z{z{{{zzzyzyzyz{y{zzz{{yyyyzzzyzzyyzzzyyyyyyyyzy{yzzyxyyyxyxzyyzzyzzzzyyyzzxyyyzzyyzzyzyzyyyzzzyzzz{zzzzzyyyyyzzz{yzzzzzxyyxyxyzyzzyyyzyzyyyyxxyyyzz{yyzzyyzyyyyzyyzzyzyyyxyxyzyzyz{zzyyzxxyzyyyyyyy{yzyyyyyyyzzzzzzzzzyyyxzwyyyxyyyz{zyyyyxyxzzzyzzzyxzyyxyyzxzzyyzzzzyyyyyyxzzzzyzzyyzyyzyyyyyyzzyz{{zyyzxzyyyxzzzz{zxxzzyyyy{{yy{{yzyzyzyzyyyzz{z{zzzyzzzzyzz{{zz|yzyxzyyzzy{{y{z{{zzzzzzzy{zyzzzzzy{zy{zzyzzzzy{{{zyzyzyzyz{{{{z{{{yzzz{{z{zzz{z{{z{zyzz{{zyzz{z{{{yyzyyz{y|{zz{{{{z{zzyzy{z{{{{zz{y{{{{zz{zyyzz{{zyyy{yxz{{z{z{{zzzzyzyzyz{zzz{{|zzyzzyyzy{{{zzzzzzyzyyyyy{zzyyzyzyzyyxyxz{zzzyzzzyzyyyxyzzzzzzyzyyzxyyyxzyzyz{{zzyzyyyxzzz{zz{yyzyzxyyyzzyyyyz{zzyyyyyzyyzzzzzzyyyyxyzyyzyzyzzzyzyyyyyxyyyyzxyy{zzyxyyyxz{zzyz{zyyxxyyxzyyzzyzzzxyyyyyxzz{yyzzz{xyyyyxyyyyzyzz|zyyyyyyyyyzyyy{zzzx{yyyyyzzzzyzzzyyywxyzyzzzzzzzz{xzyyyzyzzzzzzz{yzzxzyzyyy{yyzy{yyyyzyzyzzyzzzzzzzyzyyyzzyz{{z{yyzzzzzyzzzzz{zzyzzyyzyyyzz{zz{z{{{{zyzy{zzzz{{{z{zyzzzzzzz{z{{zy{zzzzyzyy{{{{zz{zzzzzzzzz{zz{{zz{zyzyzyzz|zzz{{zzy{yzyzzzzzz{{{{{zyzzzyz{zzz|z{|z{zzzzy{zzzz{{{|zzzzzyzyzzyz{z{{{{yzyzzzzz{{{zzzyzzzyyxyzzyzzzzzyzxyyyyyy{zzzzzzxyyyyyyz{zz{zzzzzzxzyzzz{zyzyzzzzyyxz{yxzzz{yyzzzzyyyzyyxzzyzyzzyyzyyzyyzzzzzzzyyzyyyyyyzyzyz{zyyyyzyzyzzyzyzyyzyzzyxyxyzzzyzyzyzyyzyyyyyzzyzzz{yyyyxyzzyyyzyzzzyyyyxzyyyyyxyxzzyyyxyzyyyyyzyzzzyz{zzzyyyzzzzzy{zyyzyyyyzz{zyzzzzzzyyzxyy{zzy{yzzyzyx{yyyzz{zz{zzzzyzyyyzzzz{zzzyyzyzyxzz{zzzzzzyyy{yzxzyzz{zzzzzzzyzzz{zzz|{{zzyyz{{z{yzzzzzzzzz{yzyzyyzz{zyy{{zyzzyyyyz{z{{{|{zzyzzzzz{z{{{{{|zyzyz{y{z{{{yz|{zyzzyzzz{|z{z{{z{{z{zzzzzz{{z{{{zz{zzzzz{{{{{{{{zzyyzzzzyzzz{{{z{{zyyzyxz{zzzz{{zzyyzyyz{yzyzzyzyxxyzyyyyyzzyzzzzyyyyyyyyyzzzyy{zyyxyyzy{zzz{z{y{zyyyxyyzyzyx{z{yyyyyyyyyyzzyyyzyyzyzyyxyyzzz{zyzyyyxxzyyyzzyyzyyyyyyyyyyyyyyzzzyxyyyyyyyyyzzzzyxzyyyyxxyzyy{y{zzyzzyyyxxzzzyzzzyxzyyyyyy{zzyyzyyyzxyyyyyyyyzzzzyyzyxyzxzzyyzzzzzyyxzxyyyzzyyzzzzzzzxyxxyzzzy{zz{yzyxyxxyz{zzz{zyzyx{yxyyzzzzz{zzzzzzyzzz{zzzz|{xzzzzzyyz{zzz{zzzyzxzzzy{zz{zzy{zzzzzz{zzyzyzzz{zzz{zyyzz{yz{zz|{zzyzzzz{{yz{|{{{z{zyzyz{z{z{zzz{yzzyyzz{{z{zz{{zyzyzzzz{z{zzz{{zy{yzy{zzz{zzz|zz{yz{{zz{z{{z{{{zzzyyyzy{{z{{{{yzzyyyyyzzzzzzyyyzxyyxyyxyyzz{zy{yyyyyxyyyz{zzz{zyyyyyyyyxzzzzzy{yyzyyyxyzzzyzzzzyxyyxyyzyyzzyyzyzyyxxyyy{yzzzzzzyzxyyyxxzyyz{y{yzzzyyyyxzyzyyzzyyyyyyyxxyzzzzyyzxzyyyxyxzyx{zzzyyzyyyyxxz{zyyyzzyxzxyxxxyyyyzyyzyyyyzyyyyzyxyyzzyzyxyxyzzzyyz{z{zyzyxyyyyzz{zzzzzyzyyxyxzzzzyyz{zyzyyyzyzyyzzzzzyyxyyyyyzzyzzyz{zzzz{yzyzz{zz{yzyxzyzzyyzzz{yz{{yyyzyyyyzzzzz{z{zyzzzyyyzy{{zz{zyzyyzzzyz{zzy{z{zyyzyzyzzz{zzz{zzzyzzzzyzz{z{zz{zyzzyyzzy{{zzz|{{zyyz{yzyz{{z{{{zzyzyy{y|zz{z{{{zzzyzzyyzzz{{{zzzyzyzzyzzzzz{{{zyzyyzzyzzzz{zz{zzzyzyxyyzzyzzyzyzyyyyyyyz|{zzzxyxyyyxyyxxyzyzzy{yyyyyyxyzyyzzzzzyyyyyyyxyzzzyyxzyyyzxzyxzzzyzyyz{zzyyyyxzyzzzyyzzxyyxz{xyzyyzzzzyzyyyyyyzzzzyyzzyyzyxzyyyzyzxyyzxyxyyyyyzyzyzxyyyyxyxyxzyyyyyzyzyzyyzyxyzzyyzzzyyyxyywyyxyyyxyzzzyyxyyzxzyzz{zyyyxxyyyyyyyzzzz{zzyyyzxyzzzzyyzzzyxyyyyzzyzyzzz{zyzyzxyzzzzyzzzzyzyyyzxyzzzzzzzzyyyyxyzzyzzz{zzzzzzxzyzyxzzzzy{zyzzzyzzxyzz{z{{{zzzzyzyzyzzyzzy{zzz{yyzxyzz{zzzzzzzyyzyzy{{{zy{{|zzz{y{yy{{z{zzzzzyyzzyyz{{y{{z{zzzyzyzz{zz{z{z{{zzzyzz{z{zzz{{{zzzzzzz{zz{z{zz{{zyyyyzzyzzzyz{{z{yyyyzzyzyzzyzzzyzzyxxyyzz{y{zzyyzyxxyyxyyzyzzyzyzyyzyxyzyzyzzzzyyyyzyxyzyzzzzzyyxyyxxyyyzzyyyy{zzyyxyyyzyzyyzzzyzyxyzyxyzyxzyzxzzyyyyyyzyzyyyyzyyyxxxyyyzyyyyzzxyyxyyyyzyzyyzzzyyyyxyxyyzzyzyyyzyzyyyyyzyzyxzyzyyxyyyyxyyzzzzzzzyyzzyyyzzzzyzzyyyzyyyyyzz{zy{zyzxyyzxzzzzzyzzzzzxzyyyzyzzyzyzz{yyyzyzzyyyyzzzzzyzyyyzzzyzyzzzzzzyzyzzyx{{{yzzzzzzyzyzzzzzzzzzzzzyzzyzzzzzz{z{{zyyzyyzz{{z{z{z{{zyyzzzyxyzz{zz{zzyyz{zzzz{z{{zz{zyyzy{zzz{zzzzzzzyz{yz{zz{{zz{|{{zzzyyzzz{zzz{{zzyyzzzy{yzzzzz|{zzy{zzz{y{zz|z{{zyzyyyzz{zzzz{z{yzyzzzzyzzzzyzyzzxzyyxyzzz{yzyzyyyyyzyyyzyzyyyyzzyyyyyyyyzzyyzyzyyyxyyzxzzyzyzyzzzyyyyyyyzyzyyzzyyxyyxzxyzyyyyzzyzyyyyyyyyyyxzzyzyxyyyyxzyyyzyzzyyyxxxxyzzyyyzzzyyyyxyyyyyzyzzyyyyyxxyxyyyzzyzzyyyyxxyxyzyyyzyzzyzyyyyyxyyyyyzxzyxyyyzyyyzyyzyzzyxyyyyyyzzyzzz{zyxyyxxxyy|zyzyzyyyxyyxyyzzyz{yzzzyyyzzyyzyzyyzzzyyzyyzzzy{yyz{zyyzzyyzyyzz{yzz{zzyzzyzyy{zzzzzyzzyyzzyzyzz{{{{zzyzyyzzzzzzzzz{{yzyyzyyyyz{z{z{{yzzxz{zzyzzzzzzz{zz{yzy{zzzz{z{{{|yyyyzzyz{zzzz{{zzyzzyzyzz|{{zzzzzzyzyyz{{zz{z{zzzy{{yyzzyzzzzz{{zyxzzzzyz{{z{{{zzzzyzzyzyyzzzzzyyyzyyyyzzzyy{zyyxyyyyyyyzyzzzzz{yyxyzyyzyyzz{zzzyyyzyyzyyyy{z{{zyzyyyxyzzzzyy{zzxyyyyyyzzyzyzyzyzyyzxzyyzyzyzzyyyyyzwyxzyzyyzzyzyyyxyyyyyzzyzzzyzyyyyyxzyzzyzzyyyzyyyxzyzzyyz{zyyxyyyxyxyzzyzzzyyyyyzxyyyyyyzxyzyyxxyxxyyyzzzzzzxyzzzyzyzzzyzz{zyxyzyyyyzyyzz{zzzyy{yzzyyyzzy{zyyzzyxyzzzz{zzzzzz{zyyzyz{zyzzzzzzyzzyzyz{zyzyzzzzyyzyyzxzzzzzz{zzzyzzxyzzyzz{zzyyyy{yzzzzyzy{{zyyzzyyzzz{{z{zzyzyyzzyyzz{{zzz{{yz{zz{{z{{zz{{{yzzzyzzzyz|{zzz{zzz{zzzzyzz{{{z{{zyzzzzyzzz{zz{{zzyz{zzzzzzy{y{z{zyzxzyzyzzzzzz{zzyyzzzzy{zzz{z{zyyzyyyyyzzzyzyzyzyyyzyyyyzyzzzyyyxyxyyxyyzzzzzzzzyxyyyyyzxyyzz{zzzyxxyxyyzyzxzz{yzxyyyyyzzzyzyyyyzyyxyxy{zyzyy{yzyxyyyyxzxyxzzyzxzyxyyyyxyz{yzzyyxxyxxyyxyzyyxzyyyyyxxyyyyyyzzzyxyzyxyyyxzzxzzz{yyyxyyyyzzyyzyyzyyyxyxyyyzyyzzyzyyyyzzyyzzzyzzzzzyzy{yyyyzzzzzy{zzzyzxzyyzzyzzyzzzyyyxyyyzzyzzzzyyzyyxyyyzz{y{zzzyzyyzxyzzzzzzzzyyyzzzyyyzyz{zzyzyzyyyyy{{{z{zzzyzzzzzyyzzzzy{{{{yyzyyyzzyzzzz{|xzyyyyzy{zzzzzz{zzyyz{yzz{zz|{{zzzzzzyzzzzyz{{{{zyzzyzzyzz{{{zzzzyyyzzyzzyzzzz{{zyzzzzyzz{yz{{{{yz{yyyzyyzz{zz{{{zyyyyzzyzz{{zz{zxyyzyyyzzyzzzyyyyyyyxxxyzzyzyyyzyyzyxyyzzzyy{yzzzyyxyzyzzzzy{zzyyyyyyyyyyyzyy{zyyzyyyyxyzzzzyxzyyzyyzyyzyyyyz{xyyzxyzyyyzzyzyyzzyyxxyyyyyyxyzyzyyyyzyyyyzzzyzzyzxyxyyyyzzzy{yyyxxyyyyxyyzyyyz|zzyyyyxxxzzzyyzxzyyyyyyyxyzzyxz{zyzy{yxzyy{zyzzzzyyzyxyyyzzzyyzz{{zyzzyzy{zzzy{{zyyzyzyyyzzzy{zzzzxzzyyyxzzzz{zzzzxzyyyyyyzzzz{zzzyyzzzyzz{zyz{z{yyzyzzyy{z{|{z{{zzzy{zz{zyzzzz{{zzzzzzxyzzzyyzzz{yyyzyz{z{yzz|{zzzzzzzzyyz{z{zzzz{x{zz{zz{z{zzz{zyzyzzzzzzzz{z{{{zyz{zzy{zz{|z{{{yyyzzzzzz{zzz{zzzzzyyzzz{{z{{{zzyyzxzzy{{zzzzzz{yzzyyxzyzzzzz{yzzyyyxyxyyyzzzzzzyyyzxxyzz{zy{zyyyxyxzyxzyyz{z{zyxyyyyxyzy{zzzzzyyyxyxyyzyzyyyz{xzzzyyzxxyyzy{zzzyzyzyzyyy{yyzzyzyyyyyxzyyzyzyyzyzyxyxyzyzyzyzzzzyyzxyxyyy{yz{zzzzzyyzyxzyyzyyzyyyyyyxzyxzzxyzyzyyyxyyyyxzyzzzzzyyyyzyyyyyzyzzzzyzyyyyyzzzyyzzzzzyzyyyy{zzz{{zzzyy{zyzzzzzzyz{{zzyzzyyyyzyzzzzzzyyzzzyyzy{zyy{{zyyyzzzyzzzzy{zzzzzyzzzyyzzzz{yz{zzyzxzzzzyzz{{y{zyyzzzxyz{zz{{z{zzyzzyyz{{zz{{zzyzyzzz{{{zzzz{{{{zzyzzyz{{{z{{{{zzzzzy{yzz{z{{z{{zyyzzyzz{{zz{z{yyy{zzzyzzzz{zz{zzzzyyzzzz{z{|{zzyyyyzzzy{zz{{zyzyyyzyyyyy{yzzyyzzyzxxxxzyzzzyyzyyzyyyyyzyzyzy{zzxxxyyyyzzzz{z{zyyzzyyyyyyz{zyzzyzzyyxyxxzyzyyz{zyzzyzyxyyxxzyyzzxzyzyyyyzyyyzyzyyxyyyyyyzzyxz{zxyxxyyxxzzzyy{zyyyyyyxxyzyz{zy{yyyyxxyxxzyzzyzzzyyxyyxyxyyyyyzzyyzyyxyyyyyyyzzzzzxyxxyyyzyyzzy{zzyyyyzxzyz{{yzz{yyyzyzyyzzzyzyz{yyyyyyzyy{yzyzzzzyyyzyyyz{zzyzzz{xzyzxyyzzzyyzzzzzzzy{zzz{zzyzzzyzxyyzyzzzzzzz{zyzyzzzyyzzzzy{zzzzyyyyyy{zzz{yzzzyyyzz{yzz{{z{z{zy{yyzzzz{{zzz{zzzzyzz{zy{zz{{{zzzzzzzzyzz{z{zz|zzzy{zz{{zzzzz{{zzzzzzy{{zzzz{{{yyyyzyzyzz{zzzzzxzyyzzyx{{{zzyyzyxzyzyyyzzzzzyyyxxxyyxyxyyzyyzzyyzyyzyxyzzzzy{zzzyyxzzyzzz{zyzzzyxyxzxzxzzzyzyzyyyyyyxyyyxzzzzzzyzyyyyzyzyyyyyyzzyyyyywyyyzyyzzyzyyyyyyyyyzzyzz{yyyxxzzxxy{zyyy{yyyzxyyyyzzyzyzzxyzyxyxyyzzyzzzzzzyyzxyyzzyyyzzzzzyyyyyyzzzyyzzzyyyxyzyyzzzyzz{zzyyy{xyyy{zyzyz{yy{yxyyxyzzzzzz{zyzyyyyzyzzzz{zzyxyyzyzyzz{zzzzy{yzyyzyy{zzyyzzzzyzzyyyx{z{zzzzzzzyzyzyzzzz{{{{{zyyzzyzy{zz{zz{{zyyzzzyyz{{{zzyyzyyzzz{zyzy{{{zzzyzyzzzyz{z{yz{zzyy{zyzyz|{{zz{yzz{yyzzzzzyzz{{{z{yzz{zz{zyzzzz{{zzz{zy{zzy{z{z{yyzzzzzy{y{yzz{|z{zyyzzyzzzzzzz{zyzyxzxyzzzzy{yyxyyyzxzyyzyzyzyzyxyxyxxyyzyzyzzzyyyyyzyxyyzyyzzzyyyzzyxyyyzzyyzzxyywxyyxyyyyzzyzyyzxyxzzxzyyyzzyxyyyxxxxyzzxyy{zxzyxyzxyyyzzyzyzzxyyyxyyxzyyxzzyyyyyyyxyyyzzzyzyzyyyyzyzzyzyzyzyzyxyyxzxyzyyyyzyyxxxyyzxzzyyzyyzyyyyzyyxyyzyyzzzyxyyyxyxzyzyzzyyyyyyyyzyzzyyz{yzyyzzxyxzyyz{z{{zyyzyyyyyyz{z{zzzyyzzyyyyzzz{zyzzzyzyzyxyz{zyyzzyzyzyyzzy{y{zzzzzyzzyyzz{y{z{zz{{yzzzyyzyyzzz{{zzzyzzzxyyz{zzzyzzzyyyzz{yzzy{z{{zzyzzyzzyzzy{{z{z{yyzxxyz{zzzzzzzzz{{z{yzzzz{z{z{zzyy{zzyz{zzy{{zyzyzyzyzyzz{z{{{zzzzzzyxyzyzzzz{zyzxxyzzzyzzzzxyzyyxxyxyzxzzzyzyyzxyyxyyyzzzzzzyxzxxyzyxyzzyzzzzzxyyyyyyzyyzzzzzzyzyxxyyz{zyzzz{yyyxxyyyyzyzyzzyzzyyxxxxzyyxzzzyyyyyyzyy{yyzyzyzyzyxzyyyzyzyzzzyyyyyyxxxyyy{yzzyyyzxyyxyyzyyzyzyxyyzyyxxyyyyyzzzzyzxyxzyyzzzzzzzyyyxyzyxyzz{zyzzyzyyzyyyyz{zzzyzzzyzyyzzyzzzzzyzyyzyzyyxyz{z{zzyzyz{yxzzyzzzzzzzzxxzyyyyzzzzzy{zzyzzzyyzzzzzzyyzyyyyzyyyzzz{zzz{zzzyzyzyz{yzz{{{yyyyzzxzz{{{z{{zzyzyzyzy{{zzzz{{yyyyz{zzyzzzz{{{{zzzyzzzz{z{zzz{zzzzzzzz{{{zzz{z{yyzzzzzz{zz{{z|zzy{zyyz{{zyz{{zzzyyyxzy{yzzz{{z{yyzyzzyyyzzzzzzzyyyyzyyzyzzzzyzxzyxyyyyyzyzzxzzyyyyxxxyyzyzyz{yyxyyyzyyyyyyyyyzzyyzyyyxyyzzyyzzzzyxxxzxyzyyzzzzzxyxyzyxzzzzy{zyzxyxyyxyyyyyxzyzzyxyyzxyzyyzyxyyzyyyyyxxyyyzyzzyxyzyyyxzyyyyyzyzzyzyxx{yxzzzzyzzyxyyyxxxyyzyxyyzyxyyyyyxyyzyxzzzyyzyzyyxzyyzyzzyyzyyyyyyzyzzyzz{yzzyyxxyyzzzz{{zyyyyyyzyyzzzyzzyzyzyzyyzyzzyzzzzzyxzyyxyyyzyyzzzzzzyzyyyyzzzzzzzzyzyzyyzzzzyz{zzyyzyxzyzzyzzy{z{{zyzzyyyy{zzzz{zzyyyyyyy{z{zzz{|zzzzxzzzzyyz{{zzzyyzzzzz{y{{{{{{zz{yyyyz{z{{zz{{zyzzzzzzz{yz{{{{zyyz{zzzz{z{{|z{yyzyzyyyyzyzz{zzz{yyyyzyzzzzy{{zyyyyyxzyzy{yyzyyxyxxxyyyzyyzyzzzyyyzyyxyyyzyyzzzzyyyyyyyzyzzzzzzyyxyxyzzzyyyyzzzyyzyxxyxzzyzyyzzyyxyxxyzyzzxyyyzyxyzyyxxyyyyxyyyyxxyyxxxxyyzyyxzyxyyxyxxyyzyzyzyzyxxyyyzyyyy{zyyyyyxyxyxyyyzzy{zyxxyzyxxyyzyzzyzyyyyxzxyyyxzyyzzxyzyzyyyzyzz{y{zyyyzyxyyyzzyyyzzzxzyyyxyyxyzzzzzyyzxxyyyzzzz{y{yyyyyyyzyy{yyyzyzzyyyyzzxyzz{zzzzzyzyzyyyzyzyzyzzzzzyzzzyyyz{yz{zyyyyzyzzzzzyyzzzzyzyyxxyzzz{zzzyzyzxyyzzzzzy{z{yzzzzzyzzyyzz{{{zzyyzyzzyz{y|{zz{{zyzzz{zzzzzz{zzzyxzzzyzzzyzz{z{zzyzzzyyzzz{y{zyzyyxyyyzzzyyzz{zzyxzyzyyzzzyxzz{yyzzxxzxyzyzyzzzxyyyxyywxyyyzyzzyyyxyxyyzzzzz{zzyxxyyyywzxzyzzzy{yzxxyxxzyzzzzzyzzxyyyyyyz{zzzzxyyzxxxyyyyyyz{zyyyzyyxxxyyzzyyzxyyyyyyyxzyzyyzzzyyyxyxyyxzyzyzzzyxxxxyxxzzzyzzyyxyxxyzyxxyzyzzyyyyyyyyyzxzzzyyyzyyxxxxyxyyxyzzyzxyyyyyxxzxzzzz{yyxyxxyyyzyyzyyyzyyyyyyyyzyyzz{zyyzyzyyyzzzy{zzyzzzyyxyyyyzyyyzyzyzyxyyyyyzzzzzzzyyyyyzyyyyzzzzzzzyzyxyzzyyz{zzzzyyyzzzxyyzz{z{y{yyzxyxyzzzyzzzzzzyxyzyyzzzzz{{{yzzzyzyzz{yzyzzz{zzzyz{zyy{{zzzz{yyyzzyzy{zz{z{{{zzyzzyyz{zzzz{{zyzyzyxyzzzzzzzz{zzzyyzzyzyzzzzz{zyyyyyyzyzyzzzzy{zzyyyyyy{{{zzyzyyzxxyyyzyyyzzzzyyxxxyyxyzyyyzxyyyxyyywyzxyyyzzyyyxyyxyyyzz{xyzzzzxyyyxxzzzzzyzzxyzxyzyxyzyyzyyzzxyxyyxyyzzyyyyyyxyxxyyxyyxzzzyzyyyyxyyyyyy{yy{yyxyyxyxyyyyxyzzzyyyyyyxyxzzyyyzyyxyyyxyyzyyyyyyzyxxxxyxzyyyzyzzzyxyyzyyyyyyzzzzzyyyyyxyyyzzzz{zzyyyyyyyzzzzyz{yzyyz{zzzyzzzzyzzzyyyyzyzyxzzzzzyyyyyyyyxyz{yzzzzyyyyyyzzzz{y{zzyyz{zyzzyyyz{zyzzzyyzzyyzz{yz{zzzzzyyzzxyyz{zzzz{zzyzyzzyzzzzz{{zzzzyyyzz{y|{zz{zzzzzzy{zzy|z{z{{zzyzzzyzz{zz{{z{{zzzzzyyzzy{|zzz{{zyzzzyzz{zyzzzzzyyyz{zzyzzyy{{zzzyyyyyzy{yzzz{yzyzyzxyxzyzyzyyyyzyxyyyyyzzyzzzzzyyyyyyxyzyyyyzzyyxyxyyxyyyzz{zzyyyyyyyyyyzzyyzyyyyyyyyyzyzyy{zyyyzyyyxxzyzxzzzyyyyxyyxxzzzzzzyyyzyxyxxyyzyzyzzyxzxyxyxyyyyyzzzyzyyyyzyyyyyyyzyyzyyywxxyzzyyzzyyyyyyzyyxyyyyzyzzyyxyyyzxyzzyyz{yzyyyzyyxxzyyzzzzyxyxyyyyzyzyzzzzzyzyzxyxyzzyzzzxyx{yyzxyzyzzyz{yyyzx{yzyzzyzz{z{zxyyzyyzxzzzyyzyzyyzyzxyy{zzyzzzyyyyzxyyzzzzzzzzyzyzzyzzz{z{zz{zyzyyyyyyzz{y{zzzzyyyzyyyzzzzzz{zzz{yz{zzzzzz{{{|{yyzzyzyz{{{{{z{zyzyzyzzz{z{z{{zzzzzzzzy{{z{zz{z{zyy{{xzzzzzzz{{z{yyzyyzyzz{z{{z{xyyyyzyz{yyzzzzyyyyyyzyzzyyzyzzyzyyyyyyxz{zzyyzyxyyyzxyyzzzzyzzyxzyzyzyyzyy{{zyzyzyyzxxzyy{yzzzyyzyxxyyyxzzzzz{yyyyzyyyxzzzzzzyzzyxzyyyzyzyyzyzyyxyxyzyzzyzyyz{xyxxyyyyyyzzyyzzyyyyyyzyzzyyyzzyyyyyxyxyyzzyzyzyyyyzyyyyxyyyyzzzyxxyzyzyyyzzyyzyyyyyyzyyyyzyzz{zzyyzyyzy{zyzzyzzyzzzxyzx{{zzyzzz{yyyyzyzzzz{zzy{zyyzzzzyzzyz{zzzyyzyyyxyz{{{{z{z{zyzzyyyz{zzz|zzzzxyyyzyzzz{z{|{zzzzyz|zzyzz{z{zzzyzzzyzz{{z{zzzzyzyzyyz{{zz{{{zzz{yz{yz{zz{z{{z{zzyyzyyz{{{zz{z{{zzzzzyzzz{z{zzzyzzz{yz{zz{z{{{zzz{z{yzzzyz{{{{zyzy{yzzzzzz{{{zzzzyzyzyyzzzz{zzzyyxzyyxzz{zyyyzyyyy{yyxx{zzyxz{yyyzyyyyyyzyyzzyzyyyyyyyyzzxyyzyyxxxyxy{x{yzyzz{yyzyyzyyyzzyyzzyyyyyyzyyxzyyyzzzxyzzzyzyz{{yyzyyyxzyyzxxzyzzyzzzyxzxxxxxyyzxyz{yyyyxzyyxyyyyzz{yzyyyxyyxyzzyyyzzyxyyyyyxxzyyyyzzxyyyyyyyyzyyyyyyyyxyzyyxyzxzyzzzzyyzyyzyyzzzzyzzyzyzyxyzzz{z{yzzyzyyyyyzyyzzy{zzyzyzyyzyzzzzyyzzyyyyyyzyzyyyzz{zzyzyyzyzzzzyy{zzyyxzzyzyz{zzzzzyzyyyzyyyy{zz{zz{zz{zyzyzy{zyzz{{zyyz{yyyzzzzzz{zyzzxyzzzzzz{zz{zzyy{zyyyz{zz{{{z{zzyzxzzzzy{zzzzzyyz{zzzyy{{zzz|zzzzzzzz{zzz{{z{yzzyzzzzz{z{{zzz{zyyzyyzyzzzzzzzzyzyyzyxzyyzyzzyyxyxyzxyyyyyyyyyyyyxxyyxyzzzzyz{zyxyyyzxyzyyzzzzyyxxzyyyyyzzzyyzzyyxyyzxyzzyyzz{yzyyxyyxyzxzzzyzzxzyyzyyyzzxyxyzyyyyyywxyyyyzzzzzyyxxyyyyyyyyyyyyyxyyyxyzyyyzzyyxzyxyyyxyyyzyzyyyyyzxxyyyyzyyyyxyyyxxyxyyzyzyzyyyxyyyzyyzyz{{zzzzyyyyyyyyyzyzzzz{yyyyyxyzxyzzzy{yyzzxyyyz{zz{{{zyyzzyyyyzzzzzz{zzyyzzzyyzzzzz{zzyyyxyxyyzyzyyyzzzyzyyzzyzz{zzzzzzzzzzzzzzy{{zy{zzzzzzzzzzz{{zyzzzzyzzyyzzzz{yz{{zyxzz{zyzzzz{zx{zzzzzyzyz{{{{{zz{yyzzyyzz{{zzzzzzyyz{yzzzzyzzz{|{zz{{zyzzyzzzyzzzzzyzzzy{zzz{z{zz{yyzxzxzzzyzz{zzy{yxyyyyzyyzy{xxyxyyyyyxyzyyzyyzyxyxyyyyxzyzzz{yxxxyyxyzyyyzzzzzzyzyxyxyzzyzyyyyyyyyyyyyzyyyzyz{yyyyyyyzzyyyyzxywzyyyyyyyzyyzyyyyxxxyyyxyyyzyz{yxyyyyyzyzyyzzzyyyyyxxxxyyyyzyzzyzyyyzyyxyzyzyzzyxyyxxyxyyyyyyyyyyyyxxxzyzyzzzyyzyxzyxyxyyyzyzzzzxyyyxyyyzzyzzzyyyzzyyyyzyyzzzy{yyyxyyzyzzzzzzyzyyyyyyzyyyzzyz{yzyyyzyyyzz{yz{zzxyyyzzzyyzzyzyzyzyzxzyxzzzz{zz{zyyzzzyzyzz{zyz{{zyyzzyxzy{z{zzzyyyyz{yzyz{{zzzz{zyzzzzyzz{zz{|zzzyz{zzzzzzzyz{z{yyz{yzzzzzzz{z{{zzzzzyzyzzzz{{{{zzzzzzzzzzz{{yzzzzyyzyyzzzzz{{zzyzzyxzyyy{zzzz{zyzzyywyxzyzzzzxyyzyyyyyxyyxyzzyzyzxyyzyxyyyzzyzzyyyyyyyyyxzyzz{zyyyyyyxyzyyyyxyzyxyxzyyxyyyzzzy{yyzyyyyyyzzzyzzyzyzyyyyxxyyyzyyyyyyxxyyyyxyzyzzzyyxyyyxyzzzzyxzyxyywyyxyyzyyzyzzyxyyyyxyzzxzzyyzyyxyyyxwxyxyy{zyzzyyxyyzyzxzyzzzyxyzyzyxyzzyyzy{yxyyyyzxyyyzzzz{zyyyyyyzzyzzy{yzyyyyyyyyzzzzyzzyzxyzzyxyyyy{zzzzzzzyyxyxzz{yyzzyzyyzzxyyz{zx{zyzyyzzzyzzy{y|zz{zzyzzzyzz{zy{{{{{yzyzyyyzyzzzz{z{{yyyyzzy{zyx{{{z{y{zyzzzyzzz{zz{{zyzyzzzy{zz{z{{zyzyzzzyyyzzz{zzzzzyyxy{zzzz{z{zzzzzzyzy{yzzzzz{yyyyyyyz{zz{z{zz{yyzyyzyz{y{zzzzzxyxyzzyzyzzyyzzyyyyxzxxyzzzyzz{yzyyyxxyxyxzzyzzyyxxyxyyzyyy{z{yyyyyzwxyyyyzyyzzyyywxxyyzzyyyzyzyyyzyyyxyzyzy{{xyyywyyyyyzzyyzyzyyzxyyyyxyyzyyx{xyxyxxyxyzyyyyyyyxyxyywxyy{yzzxyyyyyxyyyyyyyyzzyyyzyzxzxyyyyyzzzyyyyxyxyyyyzyzzzyxxyyzyxzyyzy{y{yxyyzxyyyzyzxy{zzzxyyyyyyzyyxy{{xyyyxyxyyz{xyz{zyyyzzxyyzzzyzzyyyyyyyyyyzzzyyzzyzyzzyyzzzzyzzzzyyyzyzyyzzzz{yzzzyzzyzyyyyyz{z{zzzyyyzzzzyzzyzy{yzyzyyyyxz{z{{{zzzzzyzyyzzzzz{{{{zzyyxzyyz{zzzz{zzzzyx{zyzzzz{|z{zyyyzyyzzyzzzz{zzzzzzyzzz{zzzz{{zyzxzyzyzzz{{{z{zyyyyyxyx{zzzzzyyyyyzxyxyzzzyyxyxyxyxxyxzyyxzzzyyyxxxxyyyyzzzzzzzyyxxyyxyzyyyyzyzyyyyyxyyyy{zyyzyxwyxyxyxzzyzzzyyyzyxxzwzzzyzzyyyyzxxyxyyyzzyyzyyyyxyyyyyyyyzzyzyxxyyxxyyyyyyzyxyxxyyyxwyzzyyyzzzyyyxyyxyyzyzyyzyyxyyzxxzzyyyyzyxxyywyxxzxyzxzz{yx{yyyxzxyyyyy{zxyyyyyyxyyz{yyyzyxyzxyyxzyyzzyz{yzyyxyzz{zyyyyyzzyyyzyyyyzzyzzzyyyzxyyyyzzzzyy{yyzyyyyyyzzzyyzzzzzzyyyyzyz{z{zzzyxyzzzz{yyzzzzzz{zyzyyzzzyz{{z{zzzzyyyyzz{zyzyy{zz{yyzyyzzz{zz{zzzyyxzzyyz{zzz{z{zzzyyyzz{zzz{z{{zyyzyyyyzyz{{zzzyz{{zzxzz{{yz{z{zyyyzyzyzzzyz{zzxzyyzzyyzz{{zzxzyzxyyxxyzzzyzyyyxyxyyyxyzyzyzzyyxyyxxxyyyyyyzzyxyzxxyxxzyyzzzzzzyzyyxxyyzzyyyzzyyyxzxyyyxzxyyzzyyyyxxxyxyxyyzyyyyyyyyxyyzzzyyyzyxxxxxyxyyyyyyyzyyyxyxxxyyyyzzyyzyxyyxxyyzzyzzyzzyyxxyyxyyyzyxzzxyxxyyxyxxzxzyyyyyyxyyzx{yxyyzzyyxyyyzyxyzzyyzyyzyyyxzyxyzzyyyzzzyzyyxyy{yzzy{yyyxxzxyyyyzzzyzzzyzyyzxyyyzyyy{z{zyyyyyyyzyzyzzzzyyyyyxyyy{zyyzz{zzyyyzyzzy{zzyz{zyyyyyzz{zy{zz{{zyzzzyzyyzzzzz{y{zxzzyyyzzyz{zzzyyyyyzyyyzzzyz{zyyzyyzyzzzz{zz{{zyzzzyzxz{{{zzzzzxyzzyzy{zzzzzzyzzxyyxyz{{z{zzz|yyyxyzyyyzyzy{zzyzzyyyyxyzyzzyzyzxyxxwyyzyzyzzyyyywyyyyxyyzyyyyzyxxxyyyyyyyyy{{zyyyxyyyxyzyyzzzyyyyzyyxxyyy{yzzyyxxyxyzxzyzyyyzzxyyyyxxxxzzzyyzyyxyyyxyyyzzyyyyyyxxxxyxyzxzzxzzyyyyxyxxxzzzzyy{zyyyyyywyyyyyyzzyzyyyyyzyyzy{yzzzyyyyyxxxxyyyyyyzzyyxyyyyy{yyyyzzyyyyzyxxyyyzz{z{yyyyyzyxyzyyyzyzyy{yyyzyyzyzzzyyyyzyzyzzzzzz{zzz{xyyzyyxzyyzzz{zyyxyxxyyyzzyzzy{zyzyyzzzzyzzyzyzzzzxyyyzyzzzzzz{yyyxyyzyyzyzzyzz{yyyzzxyzzzzzz{zzzyzzyzz{{{{zzzzzzyyyy{zz{zzz{z{zyyyzyzzy{{z{z{{zz{zyzzyz{{zz{{zzzzyyzzzzzzzzz{z{yxzyyyzz|{z{z{zzyyyyyyzzzzzyzzz{zyyyyyyyy{{zzyzzyyzzzyy{yyz{yxzxyyyxxzyzzzzyzyzzxxxyxxyzzzzyyzzzyywxxyxyyzyzzzzyxyyyyyyzyzzyyzzyyyxyyzxyyzyzyyzxyyyyyzyyyxyyzzyzyyxxzxyzyzxyyzzyyyxyxyyzxyzyzzzyxzyxxyxyzyyyyyzyxyyxxyzyyyyzyzyyyyyyzxxyyyyyzzyyyxyyyyxxyzyyxyzxyxyyyyyyzyzzzzyyyyyxxxyyyyzyyzzyyyyyyyyyzzzzzz{yyyzyyyyzzzyyzyzyyxyyyyyzz{zzz{zzyzzzxyyyzzzzzzzzyyyxyyyz{zzyzzyyyxzyyyzzzzzzz{zzyyyyyzzyz|zz{zzyyzyzyzzyz{{yz{zzyyyyyyzy{zzzzz{zzyyzyyyy{yzzzz{zyyyyyzzyzzzzz{{zzyyyzyyz{z{z{{{zyzzyzzzzz{{zzzzzzz{zyzzz{zzzz{{zzzyzzzzzzzyzz{{yyyy{zyyzzzzyzzz{yyyyzyy{zzzyzzxyyyxyyyyzyzzyyyyxyxwxyxxxyyyyyyzxxzxyyxyyzyyzzzyyyxyyxwyyyzxzzx{yyyxxwyyyy{zyyyyyyzxyxyyyyyxyzy{yyyyxxyxxzyyyzyyyyyyxxxyyyyyyyyyxxyxzyyxyzxyxyzyyxxxxyxxyzyyzyyzxxyyzyxxzyzzyzyyyxyywyxyyyyyzyzzyyyyyxywxyxzzyzzyzyxyyyyxzzzyzxzzyzyyxyyzxyyyyyzyxyzyyyxzzzyyyzzyyyyyyyyyzyzyzzzyyyyxxyyyyyzyzzzzyyyyyyxxzy{{zyyyxyxzxxyyzzyyzzzzxyyyyyyz{yzyzyzyyyyzzyyzzzz{zyyyzyzyzyyzzzzyzzzzzyzzyyyzzyzyz{yzzzzzy{zzzyzzzzzxyzzzzz{z{yz{{zz{yzyyzyxy{{z{z{{zyyyxzyzzz{z{{{zzyyyzzyyyyzz{z{zyyyyyzyzyzy{{z{zzyxyyzyyzzyzzzzz{yyyzyyyz{yzz{yyzzyxzyzzzyzzyzyyxyxxyyyxyzzyyyyzyyyxxzyxyyyyzyzyyzywxxxyzzyyzzzyzyzzxxxxyyzyzzyyxyyxyyxyzzyxyyzzxyyxxyyyxzyyyyzzyxzyxxxyyyyyyzzxyxyxxyyyyzyyyzzzxxyyxyxxxyyxyzzyyyyyyxwyxzzyyzyzyyyxxxxxxyyxyyyyyxyxxxwxyxxyzzyyxzyxyxyxxyxyyzzzyyyxxxxxyzyyyxyzzyyyzyyyyzzyzxyyyzyyyzzxzyzyyzyzyyyxxxxxzzyyy{zyzyzyyyxyyzzzzzzzyyxzyzyyzzyyzz{{zxxxyyyyzzzyyyzzzyyzzxzyyz{zzzzzyyzzyzyzzyyzy{z{zyxyzzyy{y{zz{{zyyzzyyyyyzyzzz|zyzzyyzzyzyzzz|z{{yzyyyzzyzz{zz{{zyzzzyzxzzyxz{z{{zzzzzxyzzzzz{z{yzzyyyz{{zz{{zzzyyyxyyyyzzyy{z{zyyyzyyzzyyyzyz{yyyyyyyxyzzzyzzxyyyyyxxyyxzyxzy{yzyxyzyxyyzyyxyyyxyxxzyyyzyyxzyzzyxyyyywxyyyzzyzzyzyxxxyxyxxzzzyzxyyyyyyxyyyyyyzzyxyyzyyzzy{yyzzzyyyxyyxxyyzyxyyyyxyyyyyyyyzyyyyyxyyyxxyxxxzyxyzzyyyxxyxxyyzzyzzyyyyyyxyxyyyyyyyzyyxxyyyxyyyzyzzzyxyxyzyyzzyyzzyzzyyyzyyyyz{zyzyzyxzyyxzyyyyyyyz{zyxyxxyyzzzzzyzyzyyyzyyyzzzzz{zxzyyyzyyyyzzzzz{yyyzyyyyxzyzzzzzyyzxyzyyyzzz{z{yzyzyyyyyzyzyzz{z{zyyxyxyyz{{{{{zy{yyzzzyzz{zzzzzzzyyzyyzzz{zzy{zyzyzyzzzzy{yzz{z{zyyzzzyz{zzzzzzy{zyzyyzzzzz{zzz{zyyxyzyzzzzz|z{zzzzyyyzyyzyzyz{z{zyzyyyyyzz{yzyyzyyyyyyyzzzzyyyyyxxxxxxyyyzyzyyzyyyxyywxyxyyzyy{yxxyyyxxyyyy{yzyzyxyyyyxyzy{yyyyyyyxxxxwxy{yzzyzyxyxxyyxxzyyxyyyyyyxyyxxxzyyyzyyyyyxyyxxxyyyyzzzyyxxxxyxyyyyyyyzyzyyxxxxyyyyyxyyyyyxyyyxyyyyzzyzyxxyyyywxyzyxyyzyyyxyxyxzzyyyyyzyywyyyyyzyyzyzyzyyzxyxyyyyzyyyy{yyyxwyyxyzzyzzzyyyyyyxxxyzyzzyyyyyyyyyyyxzyzyzzyyyzxyyyzyzzyyzzyyyyyxxxzyzyzzzxyyyyyyyzyyzzzzzyyyyyyyxyyzzzzzzzyyxyyyxxyzyzzzzzzzzyyyyyyzzyzz{{zzyzzyzyyzzzzy{{y{yyyyzzzyzzzz{zzzyzyzzzyz{zyzy{yzyyzyzyyyzzzz{z{zyyyyyzzzzzzzzyzyyyyxzyyzyzzz{z{yzyyxxyxyzyzyyyzzyxyxxyyzyyyzyyyyyyxxxxyyzzzzyzzyyyyywyxyzzyzzzyxyyyxxyyyzyyyzyyzyyyyyxyyyyyyzy{yxyyxyxxzyyyzyzzxxyxyyyyzyzzyyzyzyyyyyxxyyzyzzyyyyyxyzxyxyyzzzyzxxyyyxxwyxyyyyzyyxyyxyyyyzzyyzzyyy{xyyyzxyyzyyyzyxxxxyyyyzyyxzyyyxyxyyyyxzzyyyzzyyzyyzyxyzzzyzzyyyyxyxzyyyyzzy{{yyzyyyyyzyyyyyyzyzyyyyyzzyzzyzz{zyzyxxyyyz{xz{zzyxyyyyyyzzzyyyy{yzzyyzyyzzzy{zz{yyyzzyxyzzzzzzzzyxzyzyzzyzyzzz{{zyzzyxxxzzxyz{zyzzzzyyyz{{zzz{{{zzzyzyyzyyzzz{{zyyyzzyzyzzz{yzzzzzyzyyzz{{zz{{z{{xxyyzyyy{zz{{z{zzzyzzyz|yy{zz{{zzxzzzyzyzz{zz{zzzzzyxyyyzyy{zz{zzzzyyyxzzyz{zyzxyxxxxyyxyyzyxzyzxxxxyyxzyyyyzyzyyxxxyyxyyyyzy{zyyyyzxyxyzzyyyzzxyxyxyxxzyyzxzyxyzyxyxyxyyzyyyzyyyxxxxzyyzyyyzyzyyyxyyyyyyzzyzyyyyyxyxxxyyxxyyzzyyxyyyxxyyyyyyyyyyxxxxyxxyyzzzzyzyyyyxyyyyyzyyyzyyywyyyxxyzxzyyyxxxyxyyxxzyyxyzzyxyxyyyyyzzzxzzzyyxxyyyyyyyyyyyzyxyyxyyyzyyyzzzzyyyyxxyzyzyzzz{zyyyyzxxxy{zzzyzzxyyyyyyyyzzzzyyzzyyyzzyyzzzyzzzyxyyyyzyyzzz{zz{{{yyyyxzy{zzyz{y{zxyzzyzy{yzyzz{zyyzyyzzz{zyyzzzz{yzzyyyzyzz{zz{yzyz{zyyzzzzzz{zzzyzyzxyzzy{yzyz{z{yyzxzzyzy{xzzzyyyyyyyyyzyzxzyzzyzyyyzyyzzzyzzyyyzyzxzxyzzyyyyyyxyyyxywyzzxyzyyyxxxywxxxzzxyzyyyyxxyyxyyyyxzzzyyxyyxyxyyyzyyyyzyyyxxyzyzzyyyyzyyxyxyxywyyyxzyzxxyxwyyxyyxyyyzxyxyxyxxxyyyxyyzyzyyxxxxyyyzyyyyyyxxxyxxxyxxyyyxyyyyyxxyxxyyzzyyzzxyxyywyxxyyzxyyyxxxxyxyyxyyzyzyyxyyyxyxyyyyyxyzzyxyxyyxzyxyzzyzzyxyyyxyyzzyzxyxzxyyxxxyzyyyyzyyxyzyzyxxyyyzzzyzyyyyxxwwyyyzyyzzyyyxyyyyzyzzyzzzzyyyxyyyyzzyzzyzzyyzyyyzyzzzzy{zyzyzyyyxyyzzzzzzzyxyyyyxyzzzyzz{{zzzyzzzyzzzyyzzyzzx{yz{yyzzz{z{{yyyyzyxxzzyzzzzzyyyyzyyyyyzz{zz{yzyx{xyyyzzzzzz{{yyxyyyyyyyzzzzyzyyxyyyxzzzzyzzyyyyyyxyxyzyyyzzyxyzxyxzyyzzxzyyzzyxxxxxyzyzyyzzzyzzyyyyxzyyxzzzzyyyyyyyxyyyzzyyyyyyyxwyxyzyzyz{zyxyxyxxxyyzxyy{yyxyxxyxyzyyyzzyzxyyyxyxyxzyyyyyyyxyyxxxxxx{x{zzxyxyyxyxxzyzyyyyyyyxxxxzyyzz{yxyzzyxxyxxxxzyxzzyyyzxxyyxyyyzzyzzyzyyxzyyxyyzyyz{zzzyxyyyzyyyyyzzzyyzxyyyxyzzzxzyzxzyyyyyyyyzyyyzzyyyyzyyyyzyzzyzzzyyyyxxxzzyyyzzzyyxyzxxzz{yzzzzzzzzyyyzyzzzzzzzzxyyyyxzyzzyzy{{zzzzzzyyzzy{zzz{|zzzyyzyzzzzzzyzzyyzyyyzy{{yzzz{zzyxyyzyyyzzzzz{yzyzzzzyy{zz{zzzyzyyyzyzyyy{y{zzz{zyyyyy{{zzzzyzzzzzyyzzyzy{yz{{zyzzzyyyyyzzzzyzyyyyxyyyyy{z{zyzyxxxxxxxxyzyxzyyyyxyyyyxxzzzyyyyzyyzxyyxyzzyyzzzzyyxyyyyzyyyzxxyyxzxyxxyxyzyyyzzyxxyyyyyxyzxyyyzzzxyzyyyzyyzxxzzyyyyxyxyxzyyyyyzzyxwyxyyyzyzyyyzxyyyywyyzzzyyzyzyyxyyxxwxxyzyyyzzzyxxxxyyxyxyyzyyyyyxxxzxyyyzyyzzyxyyyyyyyxzzyyzzyyyyyzxyzzyyzz{zyzzyyxxzyy{yyyzyyyyyyxyxyyzyyzz{xyzyyyyyyzzz{{yzyxzxxyyyzzzzyy{yyxzyyyyzzy{zz{zzyzyyyzzyyzzzyzzzyxzyyyzyzyzzyzzzyyyyzyyyz{zz{zzz{yyyyzzxz{zzz{z{yyyyyzyy{z{zzzzzzyzyyzyzy{yzzz{{zyz{yyyzzzzyzzzzzyyzyyzyy{zzzz{z{yyyzzyy{zz{zzz{yyyzyyyzyyy{yz{yzzyyyyyxyyyzyy{zzyyzyyyzzxyxyx{yxyxyyyyxyyxyyyzyyyyxyxxyyyyyzyzzyyyyxxxwyyyyyyzyzxyxyxyxyzzyyyyyyzyxxxyxzy{zyyzyyxyxxyyxzyzyzzyyyyxxxxyyxyyzyyyzyyxyyzxyxyyyzyyyzyyxywyxxyyyzzyyzyyywxxyxxzxyyyzyyzyxyyxzxyyyzzyyxyyxyywyyzyzzyyyxyxyxxyxyyyzzzzyyyyyyzxzzzyyzyz{zyxxwyzzzyzzzyzyyyyzyxyzxyzyzz{yyyyyyyyyzzyyzzyzyxyzxxyyzzzzzyzyxyxyyxyyzzzyyzyzyzyxyxxz{yzyzzyzyzzyzyzzy{zz{y{yyyzyyzyyzzzzzyzzyyzyzyyzzzzzzzz{yyyzyyyzz{yz{{{yyyzzzzzzzyz|zzz{zzyyyzzy{z{zzz{zyzzyyyz{{zyzzzzzzy{yyyzyyyzzzzzz{zyzzyz{zzzzz{{yyxxyy{yyzyz{zzz{yyxxyzyyzzzyz{zyyyyxxyyzzyzzyxwxyxyzxywzz{yzyzzyxxyywyyzyzzyyzzyzzxyyyxyzzzyz{zyyzyxxxzzzyyxyzzyyxxyyxxyy{zzyzzyxyxxzxyyyzyy{{yzyyyyyyyyyyyxzyyxzzyxyxxyyyzzyzyyxyyzyyxzyyxzyyyyyxyxyxzyzyx{yzzxyyxxyyxyyyy{yzyyyxxxxyyzyxyyzxyzyyyyxyxy{yyzzzzzzyxyyyxzyzzzzzyyzyxyyyyyyzzzyzzzzyyyyzyzxzzyzzzyyzyxxxzzzzyzzz{yyzyyyyyyzyzyzzyxyzzzyyyyz{xyyzzzyyyy{yyyzzzz{zzzzyyzzzzz|zz{zy{yyzyzzzz{zz{z{{zyzyyyzyzzzzzzz{{zyyyzxyyz{yz{{zzzzzyyz{zzzzzzy{z{yzzyyyyz{zzzz|zz{z{yyyzzzzzz{zzzyzyzyzyzzz{yz{{zzxzzzz{z{zzzzz{zyyyzzzyzzzzzzz{zzzzzzyyy{zzyyyyzy{yzyyyzzyzzxyzxxxyywyyyyzzxyyyyyyzyyyyyyzyyzyzyxxxxyyyyyyyyzzyyxzyyxwyzyzyyyyyzyyyxyyyyyzyyzyyyyxxyxzyxyyxzzyxyyxyxxyyzxyzyzyyxyxyxyxxyyxzyyzzyxyxyxyxyxzyyzyyxxyyxxxxyyzyzyzyyxyzxyxyyyxzyyyzyxxxyxyyxyyxyyzyyxyyxyxxyzyzyzzzyyyxyyxxzyy{yzzzxxyyyyyxyzzyyy{zxyzyxyyy{yzyyzzzxyyzyyyyzy{yzyzzyxzyyyxyyyzyyzyzyyyyxxwxzyzzyy{zyyyyxzyyzzyzy{yzyyzyyzzyzzz{z{yzyzyzzzzyzzzzzz{yzyyyyyxyz{yyzzz{zyzyzyyy{zyyzzz{zzyyzyzyzz{zy{{z{yzyzzzzzzzz{zzz{yyzyyyy{zzzzzzyzyyyzyyzyzzzyyzzzyzyzyyyzzzyyyzzyyyyzyyyzzz{{zzz{yyzyzyxz{zyzzzzzxzyzxzzzzzyyyyyxyxyxxywxzzzyyz{yxwxzyyyyyyyzzyyyyyxxxyxxyzyyyzyxxxyyxxyyxxywyyzzxyyyxxxyxyxyzyzxxyyxyxxyxyzzyyyyyyxxxyyyzyxyyyzyyyxzyxxyxzyyxyyxwxyyxxyxyyzxyzyxxyxyxxyyyyyxyzyyxxxxyywxyyyyzxzyxyyywywxyyyyyzyyyyyxxwxyxxyyyyyxyyyxyywyyyz{zyzyyywzxxxz{yzyyzzyxxyyxyyzxyxyyyzyyxyyyxyyyyzxzzyzxzyyxyxyyz{zzyzxxyyyyyyyyyyzzzyzyyyxyyyzzzzyzyzyyyyxyyyzy{zzzzzyyzyyyxyyzzzyz{yzxyyxyxyyz{zzzzz{yyyyyyyz{zz{{zzyyyyyxzzyzzzzzz{{zzyyyxyy{zyzz{zzyyzxxyyz{zyz{z{{zyy{yzzzy{zyzz{zyzy{yyyzzyzzzyzzzxyyyyyyyyzzz{{yyyywyyxyzy{yzzyyyyxyxxxxzyyyxyyyyxxyyyyyyzyyyyzyzxyyyyyyyyyy{zzzyyxxyxxzyxyyzzyyxxyyywyyzyzyyzzyyxxyyyyyyyyyzzyyxyyxyyyyyzzxzzyyxyyxyyxyzzxyyzyzxyxxxxyyxyyyyzyxyxyxyxzyyzyyyzzxxxxxyxxyxzyyzzzyxyyyxxxyzyzzyyyxyxyxxyxxxyyxzzyxyyxxyyxyzyyyxyzxyzxyzxyyzzyzyyxyyyyyxyxxzzyyyzzzxzyyxxyyxyx{z{zyyyyyxyyyyzyzyzzzxzyxxyyyzzzzyzyyyxyxxyzy{zzzxzyyxyzzyyyzzzyzzzzxyyyxxyzzyzzzzzzyyyyzzzyyzzzzz{zyyyyzyzyzzyzzzzzzyzyyyzyzzyzzz|yzzzyzzyzzzzzzz{{{yyyyyyyy{zz{z{{{yzzyyzz{zzyzz{yzzyyyyyzyzyy{yy{zzzyzzzzzyzzzzz{yyyxyxzyyzzz{zz{yyyzzyyxyzzzyyzzzyzyxyyyyzzyzyyyyxyyxxxxxzyzyzzzzyxyyywyyzyyyyzzyxxyxyxyyyyyyyzzxwyyxxxxzyyyxyzyxyxxxxyxzyyyyyyzyxzxxxxwyyxyyzyyzyyyxxxyyyyxyyzyxxxxyyxxyyyyyyxzxxyxxxyxyxyxyyzxxyxyxxxxyyyyxzzzyxyxyywxxyxzzxzyxwyyxyyxxyyyyzyzwxyxxyyyxyyzyzzzxxxxyyxxyyyyzzxyyxxxxyxyyzyyzyyzxyxzyzzyyyyzyxyyyyzyyyxxzzzyyyyzzyxyyyyxyzzzzzzyyyyyxzyxzyyyyzzzzzxzzxxyyzzyzzzzzyyyyyzyyyzzy{xxxxxyyy{yyzzzzz{yzyyyyzyzyyzzyzzzyxzxyyzzzzyy{z{{zyyyxyyzzyyz{z{zzyzyz{yxzzzzz{zzyz{yyyzxzzzzz{zzyyyzzzyyyzzyzz{zy{zyzzxyzz{zyz{zyzyyyyyyyz{zyzzzyzyzxzyyyzz{yzzzyyzyyyzyzzzyzyzyyyxxywxxyxyzyyxzxyyxwyyyy{zyzzzzyyyxxyyxyyyyzzzzxyxxzyyxyyyyxyzyzyyxxyyxzzyzzyxzyxxxyyxxyxxzyyyzyyyxyxxyyyzxyxyyzyywxyxyxyyxyyyzxxyxxyxxyxyyyyyyxxxyxzwyyyyxyzyyyxzyxwyxyyyywyzyywxxxxxyxyyyyyzzyyzxyyyxyyzyzzyzyxxyyxxxyyyyyyyzyyyyyyyyxzyyzzz{yxyzyxyyzyzyyyyyzyyxxyyxyyzzzyyzyzyyyyyxzyyyyzyzyyxyyxxyyzzyzyzzxyyzxxyyyzzzyyzyyxxyyyxxzyz|zyzyxyyzzyyyzzz{yzz{zyyyzzyyyyzzyz{yzzyzyzzyzzzzzzz{yyyzy{yyzzyzzzzzzyzyyxxyzzy|z{zyzyyyyyyyyyzz{zzzzyzyyyxxyzzyyyz{yxyyyyyyzzyzzz{yyyyyyzxyyyzyzzzzzyyzyyyxx{zzzz{zyyzxxxyyyyyzzzxzyxyyyyywzzyyxyyyyxyyyyyxyyzxyyzzyxxxxyyyzyyzzzyzyxyxxyyxyzyzyzzzyxyzxxyxyyzzzzxzxxxxxzyyyxyzyzzzyyyxxyxwyyyyyyzzyxyyxyxyyyzzyzyyyyxyyxxxyyyyyyxyyyywxyxyxxzzyyzyyxyxxxyxyyyzxyz{yyyxxyyyyyzzyzyyyyxxyyxyxzyyyzz{yyyxzyxxyzyyyyyz{xyyyyyzxxzyyzz{yxyxywyyzxyzxyzzzyyyxyxyzyzyzzy{zyzyyyzyyyyzyz{xyyyyyywyyzyzzy{zzyyzyyxyzzyxyzzzzyyyyzyyyzz{zzyyyyyyzzzyzyzzzzyzyzyzyyyyzzzzzzz{zxyyzyyyzzyyzzz|zzzyyzzzyzyzzzzzzzyyzzyyy{zz{zzzzyyzyyzyzz{{yyzzzyyyzzzzzzz{zzzzyzyzyxyz{yzzzz{zzyzyyxyz{zyzzz{zzywyyyyyzzyzzyzzyytyzyyxzyzyyyyyxyyyyywyyyzyyzyzyxyyxyzyyxzyzzyzyzyyyxyxyyyyzyzzzyyxxxxxyyyzzyyzyxyyxxyyyxxyyzzzxwyyyyxyxyyxyyzyzyzyyyyxyyzyyyyzxyyxxyxyyyzyxyyyxyyxxxxxzyzzyyzyyyyyxxxzyxzyyzzyzyyyyyxwzyxyyyzzyxyyyyxyzyyyxzxzzyxyyyyzxzxyyzz{yxyyxyxyyyyzyzzyyxyxyxxxzyyyyzzyy{zyzxzz{yzzzyz{xzyyyxxxzzzyzzzzzyxyzyyxyyzyzyzyyyyyyyyyzyzyxyzzyyyyyyyyyzzyyzzzyyyyzxyyzyzzzyyzyzz{yyyyyyyy{z{|zzyzxyzyyzz{y{{yzyyzxzzyz{zzy{zzyyzzyzzzzzzzzzzzzyzyy{zyz{zy{zz{zyyzzyzyz{zzz{zzzyyyyzyzzyz{yz{zzyzyz{yzzzzyyy{{zzyxyxyzyzzzzzz{zyxzyzyxy{zyzzzzzxyyyyyyyyzzyzyzyyyxxwyxzyyyzzzyxxyxxyyyyyzzyyzzxyxyyyxxyzyyyzzzyyyxyyxxzzyyyyzzyyyyxyxyyyyyzzz{yxyxzxywxyzyzzzyyzxxxywyyyzyxyyyyyyxyyxyyxyyyzyyxxxyyxxxzyyyyyzyyyyyyyxyxxyyyyzzyyyyyyyxyzyzxyzyyyxyyxyxyyyzyzyzyyyxyxyxxyyzzzyzyzxxxyyxzyzzyyzzyyyxxyxzyzzzzxzzzyxyxyyyzzyxxzzzyyyyxyzzzyxyzzyzyyzxyyyxyzzyzzzyyzxzyyzxyzzyyyzyyzxyyyyxyzzzyyzyzzzyyxzy{zyzyzyzyzzyzyzyzz{{zz{zzyyzzzyyyzzzz{x{zx{yzzzyz{{zyz|{zzzxxyzzy{zzzzz{{yzyyzzyz{z{z{z{{yyzyzzz{zzzzz{yzzyyzyyxzzzyzzyzzyxyzyzxyzz{zz|yyzzxyyzyy{zyyzzzzyyzyxyyz{y{zyzzyyzyzxyyzz{zyzyyxyxzxyxyzyxyyyzzxyxxywyxxyyyzyzzxxxxyyyyzyyyzyzyzxyyyyyyzyyzyyzyyyxwyyyxyzzyyyzyzyyxyyyxyyyyzzzyyzyyxyywxzzyxyzzyxxxxxxyyyxyyyzyxvxyxxxxyxyxzyyyxyyyxyxxyxyyxyzyyxyyxyxxyyyyxyzzyxxzzxyyxyxyzzyyyxxyyxxxzyyyxzyyyyyyyyyxyyyyyyyzyyxxyxxyxzzxyyyyzxyxyyzzyy{yxyyyxyyxxyxyyzzzyzzyzyyyxxzyyxyzyyzzyyyyyzyxzzzyzzzzxyyxyyyyyzzyyzzyyyxyyxxyzzz{zzzyxzyyyyyyzyzzyzyzyyyyxxyyyzzzy{zzzyyzzxyzzz{z{z{zzzyy{zzzyzzyz{zzzyyzyzyzz{zzzzzz{zzzyyyy{zzz{yzyyxyxyyxyyzzzzzzzzyzzzxyzzzyyzzz{{yyxzzyyyyz{z{{zzyyyyyyyzzzzzzzzyzyzyxzxyzyyzyyyxywxxxyxyzzxzzzzyxzyyyyyzyzzzyzyyyxxxxwyyyzxzyzzyyyyxyyyyzyyyyyzyxyyxyxxyzzzxyyyyyxxyxxxyyyyyzyyyxzyxxxyyyyzyzyyxyxyyxxxyzzyyzyzxyyyyzzyyzyzyzzzxyyxwzyyxzyyzyyzyyxxwxwxyyzzyyyyyyyyxyyxxzyzyzzzxyyxyyyyyzzyzzyxyxyyxyywyzyzzzzzyxyxxxyyyyzzxyzzyyyxxyyyzyzzz{yyyzyyyyyyzyzzyzzzyxyzyxzxyyzyyzyyyzyzyyyyyzzyzz{zyzzyyyyy{zyyyyyyyxyzzzzzzyyzzyzyzyyyyzzyzyy{{zzyyzxyyyyyx{zz{zzzyzyyyzz{{{z{zyzzzyyyzzyyzzzz{z{zzyyyyzzzzzz{zzzzzyzzzyyz{zzzz{{y{zzyzzxzyzz{zz{{zyzy{yyyzzzzzzz{yz{yzzyyyzzzzzzzyyyyyzyyzzzzzyzxzyzzxzyxyyzyzyxyyyxxyxxwxzyyyyyyxyxyyxyyyyyyyyz{zyxxwyxyzyzyyyzyzyzyxyyyyyyyxyzyzzzyxyyxyyzzyyyzyzyxxyxyyyyyx{yyzxyzyyyyzzzxyyzyxyyyyyxxyyyxzzzzxxzyxyyxxyyyyyyyyyxxxxxxyyzxyyyzyyxyxxyzzyzzyyyyyyyyxxyxxyyyyxzyxzxyywyyzzyxyzyzyyyyyyyxyyzyyyyyyyyyyxyzzzyyzyyzyyzyxyzxzyzyzzyzyyzzzxyyzzzyzzzxyyyyyyyzyzy{zyzyzzyyyyzyyzz{yxzzzyzyxyyyzzxzyzzzyzyzxyyyzzzzzzyzzzzyyyyyzyyz{{{{zzzzyyyy{{zzzzzzyyyyyyyzz{zzzz|{zzyyzzyyzyzzzz{{zyyzzzzyz{zzzzz{y{zy{zzzz{yzzyzzzyyzzzzzyzzzyyz{zzy{yyyzz{zzzzz{yzyxzzyxzzzzyz|zyzyyxyxxyzyyyzzyzyzyyyzzyzz{zyxyxyyxxxyxyyzyyyzzyyxywyyyxyzzyzyyyxyxxyxzzyyyxzzyyxyzxxyxyzzyyyzyyyxxxxxwyyyzyzyyxyzxxzxxyzyy{{yyzyyyyzyyyyyyyzzyxyyxxyxxyyyyyyyyxyxyyxyxyyyxyyyzyywzyyxyyyyyzzzyyxyxyxyyyxyzyyzyyxyyyxwxyyyxzzzzxyyxyyxyxxxxyzyzxwzyxyywyxyzyyyyyxyxyxwyzzzyyyyzyyyxyxyzyyyzzzyzxyzyyxyyyyzzxzzyzxzyyyzyxzyyzzzzyyyyzyyyzzyyyxzyyyyzxyxyyzzyzyyzzyyyyyyyyzyz{zxzxzyyyyzzyzzzyzz{zyyzyyyyyzyy{{zzzyyzyzxyyzyzzyzzyzzzzzzzzzzzzzz{{yxyzzzzzzz{zzz{zyyyzxyyyyyz{yzzyyyzyyyyzyzzzzz{zyyzyyxyzzzzzzyzyyzxyyyyzzzyzzzyyzyyyyzyyzyzyzzzyzxyxzxyzzzzzyyxyxyyyxxxyyyyyyzyyxxywxxxxzyyzzzyyyyxyxyyxyyzy{yyyxxxwyyyyxyzyzyzyyxxxxxxyyyyyyyzyyxxyyyxyyyyyyyyzxzxxxwyxzyyxyzyyxxyzyyxyyyzyxyyyyyxxyyxxyzyxyzyyyyyvxxyxyyyxzzzyyyyxxxyyyyyyyzzyyxxwwyyxyyyyxyyzyyxyyywyyyzyyyzyyxyxyyxyyzyyzzyyyyxyxzyyzyyy{zyzyzyyyyzzyyyyzzzyyyywyxxyzyzyyzzyyzyyxyyzzzzy{yyzzxwxyzyyyyyxzzyyyyyyyzyyzyzyz{yyyxzyyzyyy{{zzzyzzxyyyyzzyz{{z{zyyyyyxyyzzzyyzzzzyyzzzyz{{zzz{z{yyzyyzyyyz{y{zzzzyzyyyyyxz{zz{{zzxyxxyyyzzzzz{{{zyyyyzxyzzzyzzzzyyzyzyzyzzzyzzzzzzzyzyyxyyzzzzzzzyyyyyzyzyxzyzzyzxzyyyxyyzyyzyyyxwxyyxyxyyyyyzyxyyxxxxxxyyxyyzzzyxyyxxzyzyyxzzyyzyzwyxxyyyyyyxyyyyxxwxxxyyyzyzyzyyxwyxyxzyywzyyyzyxyxyyyxxyyyyyxyyyyyzxxyyzzyyyyxxyxyyyxyzyyyzyyyywwxyyxyzyxzyyzyyxyxxxxxxyyyxzyzyyxyxxwyzyxyyyyzxxxyxxxyzyxyyyyxyyyxyxyyyyyyzzzyxxyxxyxyzyyxz{yyyyyyxyzyyyyyyzyxyyyyyxyyzyyzyyzzyzyyyywyyxyzzyyyxyyyzyxyzyyyyyyyyxyyyxxzyyzyzzzyyzyyyyyyzzzyyz{yxyxyzzyz{yzzyzzyzzyzzyyzzzzzyyzzyyyyyyyyzzzzzzyyyyyyzyyzzzzzzz{yyyzzzyyzzz{z{zyyyyyyzxyyz{zzzzzzxzyyzyxzyzyzzyyzyyyzyzzyzyx{yzzzzxyyyyzyz{zz{z{yyzyyyyxxzyyzy{{yxyyxyyzyz{zzyyyxxyxxyxyyyyxyyxyyyxyyxyxyyzyyyyzxyyyxxxxzzyxzyzzxyyxzyxyyyyyzzzzyyxxwzxxyzyxzyyzxwyyxzxwyyxxyyzyyyyxyyxxxxyxyxyyzyxwwyyxyyxyyzyzyyyyxyxxyxyzyyyxxyyxxxxyyyyyzyyzyyyyxyxyyzxyyzzyxyxyxxxxyyyyyzxxyyyxzyyyyyyyxzyyxxyxzxxyxyzyyzyyyxyyyyywyzyzyxzyzyyyxyyyzyxyyyyzxyyxwyxyyyyyyzyyyyzyyyyyyyyyyyyzyyyxxyyyyzzyyzzyyyxyyxyyzz{xzzzyzyzyyyyyzyzzzyzzzyyxyyyyzzzyzzz{zyyyyyyyz{{y{yzyzyxzyyzyz{zz{zyzyyyyxzzyyzzyz{yyzyyyzzxyyzzzzzz{{xyyyyyyzyyzzz{yzyyyyzyz{yyzzyzzxzzzzyyyzyzz{zz{yyyxyyyyzzzyy{zyzyzyyzxyxzyyyzzyxzyxyxyzyyzyzzzyyyxxyxyxxzyyzyyzyyxyxyxyzzzzzzy{yyyyxyzyzyyzyy{zyyyyyyxyyyyzyyzzyxyxyxyyzyyzyzyzyxyyyyyyxzyxxzyzyxzxzxzyyyzyyzyyyxyywyyxyxxzxzzzyxyyyyywyyzyxyzxxxyyxywxyyzyzyzzyyyxyyxxyyyyzyzyzyyxywyxyyxyzzzyzxxxyyxxyzyyxzzzyyyxyyyxy{yzyyzyyyyyyxyyyyzyzyzzyxyyyxyyyzyzyzyzyyyyyzyyzyzyyzzyyyyyyyzyxzzyzy{yyxzxxxxyzzzyyzzzzyyyyxyyzyyyyzzzzzzzyzyzzyzyzyzzyyzzzyzxzzy{z{{{yyyyyyzyy{{zz{zzzyzzyyzx{z{{zzz{zyyyzyzzy{zzz{{zzyzyy{z{yzzzzz{zzzyzyyzyzzz{{zzzzyyyzzyyzzyzzz{{zyyyyyyzzzzzz|z{zyxyyxzyyzyyzy{zzzzzyyyzzzzzzzzzzyzyyxyyzyyzxzxzyyxyxyyxyyyyxzzzyywyyxxxxyzzzzzzyxxxxyyxzyzyzzzyzyyxxyxxxyyzyyzzyyyxyyyxzxyyyzyyyyyyyyxyxyyyyzzzyzyxyxyyyyzyyyyyyyxxxyyxxxzzyyyzyxxzzxyyzyzyxzzyyxxyyyxyyyyyyyyzyyyyxyxyyxyyyyzyxxyyyyyxxyyyyyyzzyyxxyyyyyyyyyy{yzyyyzyxyzyzzzz{zzyxyxxxyzzzyyzzyyyyywyyyyyzyyyyzyzyyyyyzyyyzyzzyyyyywyxyzyzzy{yzyyyzxyyxzyyzzzzyyyzyzyyy{zyyzzzzyyyyxyyyzzzzzzzyzy{zyzzzzyzzzz{zyyyyyyyzyyzz{zzyxyxyyxyzzzz{z{yyyzy{zzzzz{zzzz{zzzyyyyzy{z{zz{z{yzy{yyy{zy{zzzz{zzyzzyzzzzzz{|zzzyzzxyzyyzzz{{{zyzyyyyyyzzzyzzyzzyyyyyyzzzyzzzzzyzzxxyyyzzyyyyyzyxxyxwxxzzxyyzzxyyyyxyxzyyzyyyyyyxxyyxyyzyyyzzzxxyxxxyxyyyyyyzyxyxwwyzxyyy{zxzzxzyxyywxyzyyxzzyyxxxyxxzyxzzyzzzxyyxyyxyyxyyyzyyxwxyyyxyzyyzzzyyyxyxyyyyyyzyyyzzzxxyyxyxyzyyyz{zyxxyxxyxyyyyxyyzxxyyyxyyxzxzyzzzyxxyyzyyzyyzzyzyyyyxyzyxyyyzyzz{yyxyyyyyyyyzzzzzyyyyyyxxzyyzyzzyzyyyyyzyxzzzzyzzyyyxyyxyyzzzyzzzzyxyzyzyzzyxzzzzzyyzyzyzzzzzzzzyyzzyyyyzzzzzz{zzzyzyyxyyyzzzyz{{zyzyzyyyz{yzz{{zzyzyyzyyzyzz{z{{{zzyzzyyy{zzyzz{zz{zyyzyzzzz{{{zzxyyzzyzzzzzzzz{zyyzzyyy{yzzz{z{yzyxzyyzz{zzz{z{zyzyzyxyz{yzzzyzzyyyyyxxzyzyyyyyyyxwyyxxyy{yyyzyxxxxyxxxyyyxzzyyyyyxxyxx{yyyyzzyxyxxxxyxyy{yyxyzyyywxyxxyyyyyzyzyyyxyyyxyyyyyyyyyxyxxyyyxxyyyyxyyxyyxxyxxyyyyyyxyyxyyyxxwzxzyyyyyyywxyxyyxyxzyyyxyyyxyxyyzxzyyyzxxywyyxxyzyyxyzyyxywyyyyxyyyyzyzyyxyyyxxyzyzyxzzzyxxyyyyxzyzyyzzzxxxyyyyyzyzyyzyyxyyxxyyyzzzyzzzyzyxyxzyy{zyyyzyyyxzyyyxzyzzyzzzyxyyyyxzyzyyzzyyyyyyyyyyyzzyzyyzyyzxyyyyzzyz{zz{zyyzyyyyzyz|zzzyyyyzzzyyzyy{zy{{yzyxyzyzyzzyzyz{yyyzzyyyyzzzyzzzzyzyzxyyyzzy{zzzzyzyyyyzyzyzzyz{yyyxzxyyyzy{y{yzxzyxxyyyxzzzyzzzzyzyxyyyyyyzyzzzyyyxyyyzyzzzyyxzyxxxyyyyyyzxyzyyzyyxyywyzzyyzyzyyywxyxywyxyyyyyyywyxyxyxyyzyyyyyyyxxxxxyyy{zyzyzzxzyyxyyyyzyyyyyyyywxxyxxzyxxxyxyyyxxyxxyyzyzzyzxyxxzxwyyyzxyyyxxxxxxyxyxyzyyyyyyyxxxxxxxzyyzyyyyyyyzxxyxyyyyyyyyyxxyxxxxzzxyzzyyxyzxzyyyzzzzyzyzwyxyxzxyzzzzyz{yyyxxxxyzzyzyzzzyyyyyyyyyzyxyyyzyyyyyyxyzyyyyyyzyxzyxyyxzzyzyzzyyyxyxyxz{z{zzzzzzyyyzzzzzyzzzzzzyyyxxyzy{zzzzyzzzxyyyyyyzzzzzzzyyyy{yyyyzzzyz{z{yyzyzyzyy{zzzzzzzyyzyzzyyzz{{zzzzyzyzyyzzzz{y{zzyxxyzyxzyyzzz{{{{zxyyyyyz{yzzzzzyyzxxyyyyzyyy{{zyzyzyzyyzyyzzzzyyyy{zyyxyz{yzyyyyyyxywyxxyyyyyzzzyxxyxyxxyyzyzyzyyxxxyyyyyyyzyzyxxyxyxxxzyyyyyzzyyxyxyxxyyxxyyzyyyyyyyyyyzzyzyzyxxyxyxyxzyyyxyyyyyyxxywxyxzxxyzyyxwxyyxxyyyy{yyyyxwxzywyyyyyyyzzyxyyxyyxyyyyyyzyxxxyyyyyyyyyxxyyyxyxxyyxxzyxyzzzyyxxyyyyyyzzyyyzyyyyyyxzxyzyyzyyyyzyxxyyxyxzzz{zxyyyxyyzyyzyyyyyxxyzyxyxzyzzyyzyyxyyyyyyzzzzzy{yyyyyyyyyyyyzzzzzzzxyyzy{{yzyzyyyyxyyyyzyzzz{yzzzyzyyzzyyzzzzyy{{yyyzxzyzzzzzzz{yyzzzyzz{zzzzz{z{zzyyyyzxy{zzzz{{yyyyzzzyyzzzzzzz{yzx{yzyyzyzyy{zzzxyyyyz{zzyz{z{yyyyzyzyyzzyzz{zxyxyyzyyzzzzyzzyyyzyyyxxyzzzzzxyyxxxxxyxxyyzyyzzyyyxxxxyzzyzzzzzyyyxxyxxyyyyyyyyyyyyyxxxyyyyyyzyyyywxyxxyxyyzyzyyxyxxxyyyzyy{xyyyxxxxxyyyyyyyyzzxyyyxzxyyyyzyzzxxxxyxxxxyyxyyzzyyyyxyyxyxyyzzyzzyyyyxyyyxyyxyyyzyyyyxxwyxyyzxzzxxzyxyxxwwyyyyyzxyyyyyyxxxyzyyyzyyyyyyyxyyyzyzzzzzyyxyxzyyzzzzzzzyzyyyyzyyyzyzyzyyzyyzyyxyyyzzz{yyyyyyyyyzzzzyzzyyyyyyyyxzyyxzyyyyyyyyzxzyyyzzyzzyyyxyyzy{yyz{zy{zyyzyyzzzzyzz{zyyzyyzyyyzzzzz{zzzzyyy{yyyzyz{{z{{z{yyzyzz{{zzzz{{zzzzyyzzzzzzzzyzyyyyyyzzy{zzzzz{zyzzzyzzyzz{zy{zyzzyyzyzyzyzy{zzxxyyzyx{yzyzyyzyxzyyyyxzyzzzyyyyxxxyyyxyyzyxyyyzyxywxxxyyyxyzzyyyywyxyxzxxyzzyyyxyyxyxxyyyzxyxyyyyzwxyxzyyxyyyzyyyxxwxyxyyyyxyxyyyyxwyyyxzyxzyyyyyyyyxxyyyyyyxzwwwyyxxxxyxyxyzyyyxyxyxxyyyyzyyyyxyxxxxxxxyxxyzzyxyxyxxxxyyyyxxyyyxwyyxxxzyxyyzyyxyxxzxxyyyyyyzzyyyxyxyyyzyyz{zzxxyyyxyyzyzyyzyzyxxyxxxxxyzyxyzyyyyyyxxyzyyyzzyxyxzxxyyyyzzzz{{zyyxyyyzxzyzyz{yyzyxxyyxyyzzzzyyzyyzyzyzzzzyzyyzzzyxyzxyyyyzyz{yz{yyyzzyyzzzzzzzzyyyyzyzzz{zzzzz{zzyyyzyyz{zzyzzzyyyzyxzzzzzzz{zzzyyzzyyzzzzzzzz{zzyyyzyyyzzzyzyzz{yyyxyzyyyyzzyzyyxyyyyyxzxzyy{yyyyyxxxxzzyyyzyyyyyyxxxwyzyzyzyzxzzxxxyyyyyyyzzzyyyxxxyxyyzzyzzzxxxyyxxwzyzyyzyyyyyxxxxxyyzyyzyyyyyyyzxwxzyyyxyyzxyxyyyxyyyyyyyyyyyyxyyxyxyyy{yyxyyxxyxyyzzyyxzyxxwxxywxyy{yzzyyyyyzwyxxzyyyzyzyyyyxzyyxwyyxyxxzzxyxywyxyyxyyzyzxxyyyzxyyyyzyyzzyyyxyxxxyyzzyyzzzyxxyyyyxyxyyyyzxxyxyzxyyyyzyyzzyxzyyxyyzyzyyyyzyyxyyxxyyyzyyyzyzyyyzyyyzyzxyzzzzyyxxyxyyyzzzyyzyzyyyzzyz{zyxy{zzy{zz{xzyzy{{z{yzyyzyyzyzyzxz{{zzzyyyzyyyzyyzzzzzzzzyzyxy{zz{z{{zyzzxyyxy{zzzzzyzzyyyyzzxzyz{zzzyyy{zzy{zyzzz{y{yyyyyyyyyzzyz{zzyyyzyyzyyzzzxzzzyyzyxxzyzzyyyyyyxwyxyxxyyyyyzyyyyxyyyxyxyzyyyyzzyyyxxzyyyyzyzzzyywyyyxxxyyyyyyz{yxyxxxyxyyzyyyyzyxyzzyywxzxxyzzyxxyyyxxxyxzyxyzyxywxxyxyyyyyzyyzxxxyyyxyyyxyyzyxxxxyxyxyyyxyyyzy{yxxxxxxzzyzyyyzyxyxxxxxzxzyxyyyzxyxyywxxyyyyzyzyyyyxyyyyyyyyyyyyyyyyxyyyzzyyzyzxyyyxxyyyyyzzzzyyyzyxyzxyzyzzyyzyzzyyzyyyyzzz{zzyxzyyzyxzzzzyxzzzyyyyxyyxyyyxzyz{xyzyxyxzzz{zzyzyyxyyyyxyzzzzzz{zyzyyxyyyzzy{zz{zyzyyyzxz{{y{z{zzzzzyzzz{zzyyzzzzzzzyzyzz{zzzy{yzyzzzzyyzzzzz{y{zyyyzyzyz{zzzzz{yzyyzyyyzzyzz{zzxyzyzzyyyzyyy{zzzzyyzyyyxzzyyyzyyxxxyxyxyyyyy{wyxyyxxxxxxzyyxyzzyyxyxxyxyyzzyzyyxxxxxxyxyzyxyzyxzxyxyxyxyyyzzyyyxzyxxwyxyxyyyyyzxxzyxxxxxyyyyyzyxxyyyyxxxxyxyzzyyyyyyxyyyzyyyyyzyxxxyxxyyyyyyyyzyyyyyyxyxzyyyyxzyyxyyyxxxzyxyyzyyyyxxxxxyyxyyyxyyyyxxyyxxyyyyyyzywyyyyyxyyyyzy{{yyxxzxxyxzzyyxzyyzxyyxxyxzzyyzzzxxyzyyyyzzzzzzyzyyyyxxywyzzzyz{yyyyzyzyyzyzxyzzzxyxzxyyyzyyyyzzyyyyyzyyyzzzzzz{zyzyyyzyyyzzyyz{zzzyyzyxyzzzz{yzyyzzyzzzyzzzxzz{zzyyyyyzyy{zzzzzzzyzyyzyyzzz{zz{z{zzyxyyyz{zzz{{z{xyyzyzzzzz{z{z{zyyyzzyzzyx{yzzzyyzyyyzyyyz{y{z{yzyyxyzxzzzzzz{{xyyyyxyxyzzzzyzyxyyxxyyxyyyxyyyyzxxxxyxxyyyzzyyyyxxyyxxxyyyyyz{yyyyyyyyyyyyyyyzzywxxxxyxzyyzyxzzxxyxxwxxxyxzyyzyzzxxyxxyzxzyyzyxxyyxyyxxxxyyyzzzyxxyyxxxyzxxyzzyyxxywyxyxyyxzxyzzyyxyyyxzzyyyyxyyyyyxyyxyyxyyzyyyyxxxxxwxyyyyyyzyxyyxyzyyyyyyzzzyxyyyyyzyzyyzzxzxxzyxyyyyyzzyyzzyyyxxyyxyyxyyyzzyyyyywzyxzz{zzzyyyyyxxxyyzyyzzyzyyxzxzyzzzyyyzyzzyzyyyzyzzzyzzyzyyyxyyyyzyyzzyyzyxyyyyzyyzzzyzzzyzyyzyzyzzzyzzzyzyyzyzzzzzy{y{zzzxyyyzyyz{zyzz{{zzzyzzyyyzzzzzz{yzyyyzxzzzzyzzzz{zyyzzzz{y{zzzzzzzyyxzzxyzyzyyzzyyzyyyyxzzzzzyzyxwyxyyyxyzzy{yxyzyyxyxwxxzyyxyyyxxxyyxyxzyyyzzzzxxxxyxxxyzyzzyyyxxyzxyyzxyyyxyzyzxyxyxxxwxyyy{xzxxxyxxyxyyxyyyyyyyxxyxyxyyyyxzyzxyyxwyyyyyyxyyxyyxyxxwxxxyzyxzyyzxxywxyxxyyyyzyyyxxxxwwyxyzxyxyyzyxxxxyxyyzyzyyxxxxyxxyyyyyxyyzxxxyyyyxxzyyyyyzyyyxxyxzxyzzyxyyzyyyyywyxzzyyyyz{yxyyzyyyzyzyyyz{zyyyxxxyxzyzzzyzyxzxyxxyzzzzyyzyyyxyxyxyyzyyzyyyzyyyyyyzzzyzy{zyyyyyzyyyyzy{zzz{zyyyyyyyyyy{zz{zyyyyyyzzzzzzzzzz{yyyyyyyyyyzzzzzyxzyyzyyz|z{z{z{zyyyxyyyzyzzz{{yzyyxyyyxz{zzzz{{zyzyzyyyzzyzyzzz{xyzyyyzyyyzzzzxzxyyyyyyyzzyyzzzyyyyyxxyyxzyyzyyyyyxxxxwyyyyzyyyyyxyzxxyyxyyzzzzyxyyxxxyyyyyzzyyyxyxyzxyxzxzyyyzyxywyxyxyyzxxzzzyxyyxxyyyxyyyzyxyxyyyzxxxyzzy{zyxxyxxyxyxyxzyyzzxxyxxxyxyxyyxzzyyxyxxyyzyyyyyyzxyxxyxxxwyxyyxyzyyxyxyxyyyyyyyzzxyyxyyxzyxzyyyzxyzxxxyxxxyyyyyyzyyyyyyyyyyyyzyyyzxxxyyyxyyxzyyzyzyzyyyyxxzyzyzyzyyyxzyyzyxxzzzzzyzyyyyyyyzzzyzzzyyyyyyxyyyzyzyzzzyyyxzzyyyzy{zy{zyyyxyxzyyzyyzy{{zxzzyyyyzzyyzzzzzyzxzzzz{zyzz{yzyyyzyzzzyzzzzzy{zzzzyyyyz{yzzzzzzxyzyyyyzzzzzzzzzxxzyyzyyzyzyzz{yzyyyyzyyzy{zzzzyyyyyzyzzzyzzzzzyzyyyyyyy{zzyyyzyxxyyyxyzzzxyyzzxyyxyxxxyyzyzyyyxxyyyxxxzyyyzzyzyyxxyyyyyyyyzyyzxxxyyxxxxyxyyzyyyyyxxxxyzxyyzyxzzyzxxyyxxzyxyzyzzxyyyyxxxyyyxzzzxyxyxyyzyyyyxyzzyyxyyyyxyzzyxyyzxxxyxyxyyzzyyzyyyyxxxywxyyyyyyyyyyyyzyxxzyzyyyyyywyxxxyyxyyxyyyxyyxxyyywzyzyyzyyyxyxyyyyxyzyxyzyyyyyyxyyzyzyyzz{yxyxxyyyzyyyzzzyzxyyzxyyyyzzyzyyxyyyyyxxyzyzyz{yzyxyyyyyyyzzyyzzzyyyzyyzyzyzyzzzyzyyyyyzyzzzzzzyyyyzzyyyzyzzyyzz{zzyzzyyyzzzzzyzzyyyzzyzyyyyy{{z{xyyzxyyy{zyzzzzyyzzyzyy{yz{yz{yzzxyzyxzzyzzz{{zzzyzz{yzz{zzy|zzzyyzzyyyyzzzzzzzzzxyyyxxyy{zzz{zyyzyyyyyyyzzyxxzxxwxxyxxyzyxxyzyxyyzxwxxyyzxzyzzyxxxyyywyxzyxyzyyxyxyyxxyyzzxyzyyyyxxyyxxzyyyyyyxxyxxxyxyyyyyyyyyyzxxyyyxyyyyzyyxxxyxxxxyyyyyzzyxyyyxxxwyyxyyyyyyxxyxxwywyyyyyyyyxxyxwxwyyzyyyyxyxxyxxxxwyyzyyyzyxyxyyyxxyyyyyyyxyxyyxxyyzyyyy{yyzyxyyyyyzzyzyyyyyxzxyxzxyyzyyzzxxyyxxyx{zyzzzyyyyyyyyzxxyzzyzyzyxywxzyxyyzyyz{yyyyzxxxxyy{yyyzzzyyyyyyyzzzz{zzyyyyzyy{zyzyyz{zzyyyzxyyyyzyyz{zzyyyyzzyzy{zz{zz{yzyyzyyxyyyzzz{z{yyyyzyyz{{zyy{zyyzzyyyyzzyzzzzzzyzzzxyzzzzzzzy{zyyyyyyzzzyzzzzyzzyyyzzxzzxyzzz{zyyxyzzzyzzzz{z{yyyxxyyyzzyzzyxyyyxxyxyxyzyyxyzyyzxxyxwyyyyyyyzyzyxxyyxxyxyxyyzzyxxxxyyxyyzyyyzyyxxxyxxxzyyyyzyzxxyyyyxyzyyxyzyxxzyyyxxxyzzxyzyyxxxwyyxwxxxxyxyyxxyxxxxwyxyyyyzyyxywxywxyzyyyyyyyxyxxxxxxyyyyyyzyxyxyxyxyyyyyyxxyyyyzxyyxxzyyzyyzxyzyywxyyyzyy{yzxyyxwyxzyzyyyyyyyxxyyyyyxyyyyyyxyyyxyxyyyyyyyyyyyyxyxyxyyzzyzzyyxyywxyxxyyzyyzyzxxy{yxyyyyyzzyzzzxyyyyyzyzzzxyzyyyyyzyyyzz{zz{zyyyzyyyy{zzyzzz|zyyyyyxyzzzzzyzzxzyyyzzzzzzyzzzy{zyyyzzyz{zzy{zzzyyzyyzzzzzyzzzxyyyzyyzyzzzyyzzzzzyyyzxyzz{z{{{zzyyyzyyyyyzyyyzyzyxzyyyyyzz{yzzzyyzxyxyyxzzyzyzxywywyxyyyzyzyyzzyyyyxxxyzxyyyyzzyyywxyyxyyyyyyyyyxxyxyxyyyzyyyyyzyzxwyxxyyyyxyyzyxzxxxyxxyyzyy{xyyxyyyxyxxxyyyyyyyxyyxxxyxyyyyyyxwxxxwxyyyyyyzyyxyxyyxxyyzyyzyzyyxyxxyxxzzyxyyzyyyyxyyyxxyyyyyzyxzxyxxxyxyyyxzzzyxxxzyxxyyzxyyzyxyzyzxxzyyyyy{z{zyxyxyzyyyyyyzzzyxyyyyyxzzzzyyzzyyyyxxxyyyyzzzyxzzxwyyyxyzzyzyzzyyyyzxzzyzzzzyyzzyyyyyxyyzzyyzzzyzyyzxyyyyyzzzz{zyyxyyyxzyyyzyzyzxxyxzyzzzzyyz{zzzzyyxzzyzyzyzz{zyzyyyyyzz{zzyzzyyxzzyyyyzz{{zyz{yyy{yyyyzyzzyz{zzy{zyzzzzyzzzz{yzzyyxxzyzzz{zzyzzyyxyyyyzyzyzzyyzzyyyxyzyyyzxyyxxzxyxwwxyzyyyyzxxzxxxyxxzzyzzzzzyxxxxxyyxyyzzzyyxyxyyxxzxyyxyzzxzzxxyxxyyzzyyxzyyxwyyzyyyxyyzyzxxyxxxyxyyzxxyzzyxxxyyyxxyyyyyyyzxywyyxxyyzyyyyyyxxxyyxyyyyzyyyyyxyxxxxyxzyzyyyzxyxyyxxxxyyzyyyyxxxxyxyyxzxyxzy{xyyyyxxxyzyzyyzzyyxyzxxxyyxyxzyzyxzxyyyyyzyzyzzzxxxyyyyyyyzyzzyzyyyyxxyxyzyyzyyxyxxyyxxx{zzyyz{zyxyyyyyyyyzzzyzzyxxyxzyyyzy{zxyzyzyyyyyyyyyzyzy{zyzzzxyyzzzzzzzzzyyzxyyyyz{zyzyzzyyzyzzyz{zz{{yz{yyyyyyyz{z{zzzz{yyzzyzyyzyzyzzzyxyyyyyyzzzzzzzzxzyy{yxzzyzzz{yzyzyyyyxxyzyzz{zzzyyzyxyxzzxzxz{yzyzxzyyyyzyz{zyzzyxwxxxwyzyyzyxzyyxyyyxyyyyzyyyzyyyxyyxxyyy{yxzyxyyxxxyxyyyzyyyzyyyxxyxxzzyzxyzyyyxxyxzxzyzzyzyxyyyxxxyyzxyxxyyyyyyyxxyyyzxzyxzyyxyxyxxxxyzzyzzyzyyxxxyyyyzzyyzzyyyyyyyyxyzyyzyzxyyyywyxyyzzzxyzxyyyxyyxxywyyzyzzyyxyyyxzyyyyyyyyyyxzyzyyyzxzyyzyyyyyxyyzxzyyzyzzyyzxxzyyyyzyzzzyyyyyyxyzzyyzzyyzyzyyyyyyyzyzzzyyzyyzyyzyyzyyzyzyyzyyyyyzzyz{zzyyyywzyyyyyy{zzz{yzyzyzzxzzzzzzz{{yyyzyyyzzyyzzzzyyzzxyzzzzzyz{zzzyzzy{zyy{z{z{z{zyzzyyzzzz{{{y{zyzxzyzyyyyyzyzz{yyyyzzyyzzzzz{{{zzyxyzyyz{zzzzzyyyxyxyxyzzzzzyzyyyxxyxyxxzzyyyyzyyzxyyyxyyzyzyxyyxxxxyxxyyyyyyyyyxyxxyyyyyzyyyyyyyxxxxyxyxyzyyzyyyyxwyxxxyyyyzxyxxywxxyxxyyyxyyyzyxwxxyyyy{yyyzzyxyxyxyxzyyyyzwzyxxyyxyyyyyyyyyzyxxyxyxxxyyyyzyzyxxzxywxxxxyyyzzyxyyxxyxyzyxyyyzyyyxxwyyxxyyzzyyyxzxyywxyzyyyyzzyxxyzyywzyyyyyxyxyzyxxyyzyyyyzyzyyyyyxwyyyzyyyzzzyyyyyxxyyzzzzzzzyyyyxyyyzzyyzzyyyzyyyyyyyyyzzzyyxyxyyzyyzzyzzzyyzyyzxzzzzz{{zzyyyxwyyxxzzzz{y{yzyyyzyzyzzzzzzzzyyyyyyyzyyyz{zyzzx{yyzyyyzzz{zzzzyzyxzyyzz{zzyzzzyyyzyyyyyyzyzz{yyxyzyyyzzyzzzz{zyyyyyyyyyzyyz{zyzyxyxyyzyzyzyyxyyyyzyyyyyzzyyzyyyyyxxyxxzyyyyyyxxyxxxxyxyxyyyyzyyxyxyyxyyyyyzyyyxwxyyyyxyyyxyzxyyxxwyywyyyyzzyzxyxxxxxyxxyyyyyyyxxxyxyyyyzxyzyyxyxxxxxxyyxyxyyzxzzxxxxxzyyxyyyxyxyxwxyxxzyywzyyyyxxywyywxzzyxyzyxxywxxxxyyxyyzxyxyxxxxxyyyxzzyyyxyyxxyyyyyyyxyzzyxyxyyyyxyyxzyzzyxzxwyyyzyz{zyzyyxywxxyyyzyzyyzzyyyyxyxyzzyyyy{zyzyxzyyzzyzxzzzyyyyyyxxyzzyyzzzzyyxzyyzzyz{zyzzxyyzyyyyyzzzyzyzzxzxzxyyxzzzzz{yzwyzyyyyyzzyyyz{zyyyyxzyyyyzzy{{{xxyzzyzyzzzzzzzyyyyxyyzyzzz{yy{z{yyyxyzzzzzyzzzzzyzzyyyyyyzyzzzyyyxyyyxyzzzyzzzzyzxyzyyzyzzyzyzyxyyxyxyxyzyzzyyxyxzxyxxzyyyyyzyzyyyyyxxzyyyyyzyzyyxxyxxzyzzzxzyzxyxyxyxyyyywyy{xyyxxyyxyyyyyzyyxxyyyyyyxyxyyzzyxyxyyyywyyyyyyzyyyyyyxyxyyyyyxxzwxxxyyyxxyzxyyzzyyyywyyyxzzyyyzyxyxxyzxxyzxyyzzzyyyyxyxyyyxyyyyzzxzyxxxxxzyyyzyzzxyxyyxxyyyzyyzzyyzxyxyyzzzxzyz{yyzyyxyyyyzzzzy{yyyyxyyyzzzyzzzzzxyyyzxyyyzyzzyyyyyxyxyxyzzzyyzyzyzyxzxyz{zzyyyzzyxxyyxyzy{z{zzzyyxyyxyyyzzyzyzzyzyzyzyy{{zyz{zzzxzzyyyyzzzz{{zyyyyyzzz{yy{zzyzz|yyzyzxzzzzzz|zzzyzzyyzzzyyy{{|zzyzyzzzyz{zzz{{zzzx{yyyzzzyzzzzzyyyzyyxyzzz{zzzzyzyyyzzyzzzzzzzzyxyzyyyyzz{zzzyyyyyxyyxxxyyzzxyyyxxyxxxyzyyyyyzzzyxyyyxxyyyzzyzyyyxyyxxyyyyyyyzyyyxxxxyyzxyxyyyzyyyyyyxxyyyyyy{yzxyxxyxyyzzyyyyzyyywxyyyzyxxyyy{xyyxxxywyyzyxyzyyyyxyzyyyyyyzyyyyyxxxxyyyxyzyyzzzxxxyyyxyyyxyxzyxxyxyyxyyzxzyzyyyxxyxyxxyzzyyyzzyywyyxyzxxzyzzzzyyzzyxyyzyyyyyyzyxzzyxyxzyzyyzyyyxyxxxyyyzzzyyyzzxyyyyyyzzzyyzzzyyyzzzxzzzyzyz{zzyyyzzxyzyy{yzzzxxzyxyzyzzy{yz{zyyyxyyyy{z{zyzzzzyyyzyyyz{zzzz{zzyzzyzzyzzzzzz{zzyxyxyy{z|z{zzzzzyzzzzyzy{{zy{zzzyyzzyyzzzzzyzzzzzxzzyxz{zzz{z{{yyzyyzxyzzyyyzzzzyyyxxyxz{yzzzzzyzyyyxyxyyyzyzyyyyxxxxxxxzzyyyzzyyxxyyyxyyxxyyyzyyxxxyyxzzyzyzzyyyzyxxywyyyyyxyyyyxxwxxxxzyzzyyzxzyxyyyxxzzyyyzyyyxxwxxxyyyyxxyyyyyxyyxxyxxyzyyyxxxxxxxxyyxxyzyzyxyyyxxxyxyyyxzzyyyxxxyyxxyyyxyyxyxxxyyxxyyyyyyzzyxxxxzyzzyyyzyyyzyzyzxxxzxyzz{yzyxyyxyxyyzzyyyzyxyyxxyyyxzyzyzzxxyxyyxxyyyxzyyyyxyyzwyyyyzyzzyzyxywyxwyzyzyyyyzyyyyyyzyyyzyzzyyyyyyzyyzyxzzyyzzyyyyzxyxz{yzzyzzzyzyzyxxzyyz{zzzzxxyzxzyzz{yzzzzxyyzyyyyyzzz{zyz{yyyyyyy{{yzzyzzzyz{yxyyzzyyzz{zzzyyyzx{yzzzyyz{zyyzyxyz{zzyzzzzyyyyyyyyzzzz{y{yyyzyyyyyzzzzzzzzyyyxyxyyzxzyzxzzyyxxxyxxyzyyyxyyyyyyxxxxzyyyyzyzzyyxyyyyyyyyzyzyyxyxxxyyyzyxxyzxyyxxyxyyyzyyyyyyxxyxxyyxyyyxyyyyxxzyxxxxxyyyyyyzyxyxxxxyxzyyyyyyyxxyyxyxyyzzyxyyxyxyxxxxyyyxyyxxyyyxwxyyxzzzzyyyyxxyyxyxxyxxyyyyyxxxywxxyxyyxzyyxyyyyyxxzyyzyyyzyxyxxyxyyyyyyyzzzxxyxxzxzyyzyzzzzyyyxxxyzzyyzyy{yyxxxxyxyyyyzzzyxyyyxyyyyzzyyzzzyyyyxyyyyzyyzzzxyyxyxxyyyyzzz{zzyzyyyzyyyyzyzzz{yyyyyxyyyzzzzzyzzyyyzyyzzzyzzy{zyyyyzyzyzzy{yz{zzyyyzzzxz{zz{z{{zzz{xyyz{zzzyzzyzzzzzyyyyzzyzzzzzyyy{yyyzyzzzyzzzzyyyyyyzzz{zzzzzxyyyyyyxzz{zzzzyyyyxxyxxyzzzFw5#`<z{|{{zz{|{{{{|||{||{{{|||z{{}{{{{{{|{{yz|{|{{|||{|{{{z|z{|zzz|{{{{zz{z{{{{{{{{{{{z{zzz{z{{{{|{{{zzz{{{z{{{|{{|{z{zzz{zz{{z{{{{|zzzz{zzyz{}z||{{{zzyzzzz{{|{{{z{z{{{z{zz{{{zz|||{{zz{zz{{{{zy{||{z{zzzy{{{{|{|z{y{{zz{zz|{z{z|{{zzz{zy{z{|{{z{{|{{{{{z{z{{{{z{{{z{|zz{{{{{{||||{z{zz{z{z{|{|{{{|zzz{{|{{z{{|{{|{|{||{{z{{{{{{|{{{{{|{zz{{{|||||{{z{{{z{||{{||}{{|{{{{z{zz|||||||{zz||z|z{|||||||{{|{{{{{{{||}{{||{{{{{z{{|{{{|{|{{{zz{{{{{{|{||||{{|{{|{{|{||{||}{|{|{z{|{{|{||{|z|z|{{z{{{{|{}|{{y{z{{{{{{{|{|{|z{|zz{{|z{{z|{{{|z{{{z{{|||{|{{|{{{{z{{z|{{|||||{{z{{zz|{{{{|{|z{{{|{{|{{{|{||{z||{{{{z{{{{||{|z{zzz{zz{|{|{{|{{{{{z|{{{{{z}{z{{zz{{z{z{|{z{|{{{z{z{z{{|{}{z{|z{z{{zzz{{{|{||{|z{z{{{{{z{|z{{||{zzzzz{zzz|{zz{{z{z{z{z{{{z{{||||{z{|{z|{{z{{||{{z{{z{{{{{|{z{{|{{{zzz{z|{zz{{|{|{|z{{{z|{}{{||{{{{zz{{{{|{{z|{|{{z{{{{z|{{|{{{{|{{yz{zz{|{{{{|{{{|{{||{||{||{||{{{|{|{z{{||{|||{{{{{{{z||||{||{||{{|{{{||{||||{{{{||{||{{|||||}}z||{}{{|}{|{|||{{{{zz{|}{|||{|||{{{|{{z{|{||||{{{{|{{|z{|||}|}||{{{{|{{|||||||{|{{{zz{|{||||{||}z{{zzz{{{{z{{||{||{{|{{|}|{|||}|{{|{{z{|{|}{{{||{{zz{{{|{|||||||{|{|z{{{{|}|||{|{|zz|{{{||||{{|{{{zz{{{{{|{{||{|{|zzzzz{|{{{||{|{z{zz{{{{{||}|{z{zzz{zz|{{{{|||{{{{zzz{|{|{||{{{{{{z{{z{{{{{{||{{{zz{z{{{{{||z|z{{{z|{zz{|z{||{{{z{|zz{||{|{{}||{{z|{|{z|{|{|{{{z{{z{{{{z{|||{{{{{zzzz{|{|{|||{{{{{{{{|{}{||||{|z{{{{{z{||{{{|{|}{z{||||||{{}||{|{z|z|z{||}||{||{{{{{{{|{{||||||{||||{{{}|||{|}|z{z{|{{|}||}|}||{{{{{{||{||||}}|{{{{||{||{|}|}|}|||{{|}|{||||}|{z{|{z{{{{|}|||}{{|{{}z||||||}{{||{z|{{|{{{|}|}|{{z{{{{{||{|{{}{{{||{{z{{{|||{{|{|{{||{|{{||{|||z||{{{{|||}||}}}|{{{{{z||{|||||{||{{{{{||{|||{{~{{z{{{{z{||||||||{{z{z{{||{z{||{{{zzz|z{{|{|{{|{{{{{z{}{{z{{|{|{zzz{{{{z{z{z{||{|z{{z{{z{||{||||{{{zzz{z{{}{z|}z{{zz{{{{{{z{||{|z{|z{zz{{{{||||{{{{z{{{z|{{|{{|}{{z{|z{{|{{||{||{{|z{y{z|||}|{||z{{|z{||{{||{|{{|{{z|{{{|||||||{{z{{{{{z|{{}||}|{{|||{{{||{}|||||z|}||{{{}|||}||||{{{|{{||{}|{||{{||{{z||}||||}||{{|{|{|{{||||}}|{{{{|}||}||}}}|}{|{|||{|}{|}|}|||||{{||||}||}||||{||{||{||||}|}|||{||{z{||{{}}|{{z{{z||{|{}{||}{{{zzz||||||{|{|{{||{|||{z{||||{}}|{{{{{{|}{|}||{}{|{{|||||}|||}|{{{{z{|{||{|{{|{||{{|{|{|{{{|||{z|{{{{{|{||||{||{{{|{z|||z|||}z{|{{{z{z{|||{||{|||{z{{z{{{|{{{{{{{{{z{z{{{{|{{{|||zz{{zz{|z{||{{|z{z|zz{{{}zz|{{z{{{{{z{{|z|{{{z{zz{{z{{{{{|{{|zz{{z{{{|{{{{{||{{{{{{|{{}|{|{|}{z{|{{{{|{{|{|{{z|{zz{}{|{}{}}|||{|{{{{||||{|||{{{{{{{zz|{|{||||{|{{{{{{{{{{|}{|{{|{{{{{|{||||}|z||z{|{|{|{{||}||||{{z{{||{{||||{{||{{{{||}||||{{{{|{}|{}||{|}|}||||{||{{}}}||||||||{{{||}{||~|||{|{}||{}}|{||}}}{{|}{{{}{{{||}||{|{{{{|||z|||}}{||{{{{{{{{|{||{z{{{|z{{|{}{|}|}|{|{{{{{|||||~}||{|{|{z{{{||}|||{zz{z|{{|{{{||}||{{{{zz{|{{|{||||{z{{{{{{{|{|{|}z{|z{{{{z{||{{{{{{zz|{yzz{|z{|{{|{yyy{z{{{z{{{{||yzy{z{z{|z|z{{{{{{{z|z|{{{z{{{{{|z{zz{z|{{|{|{{z{{z{{{zz|{{{{|{{z{z{z{{z||z{|z|zz{|z{zz|{{{{||||zzzzzz{{||{{{||{|{{z{z{{}{{{|||{z|z{zz{{||||||||z{{{zz{{{{{||{|{{z{|{{{{|{{{{|z{z{{{{z{{{}{|||{|{{{{{{{|{{{||||{|z|{|||||||||||{|{{z{{{{{||{{|||z{|{{|z|||||||{|{|{{{{{||||}{||}{||{{||{{}||}}||{|{{{|||||||}||}{{{||{{}{||{{}||{||{||z{||}|}||{{zz{||{{{{|||||{{{{{{{{{|||{{|{{|z{{z{{|{|||}|}}|{{{{{{}|}}}|||{||z||{||{|{|}|}|{zz{{{{}{|||||{|{|z{zz|{|||{|{{{||z{||{{{|||||}z{{{{}z{|||{||{{{{{z{{z{{|}{{}||{zzz{{z{|z{{|{{|{z|zz{zz{{|z{||{{z{zz{z{{|{z{||{{z{{y{zz{{{{z||{{z|{zz{zz{{{{||z{{yzzzz{z|{|{|{{zz|z|{{z{|||{|||{{|{{{|{{||{{{{|{|{{zz|{}|{{{|||{{|{{{{{|||||||{{{|{{z{{{|{|{}{{{||{{{{{|z|{|||{{{{{{{z{z|||{{|||{{{|{{{{|||{}||z{{{|||{||{||}||||{{{z{{||||||{{|{|{}{|{|}||||||||||z||{||||{}||}{||{{{{|}}||||||||{{z|{}||||||{{{{{||{|||}{{|}|{{||{|{{||||}|{{||{{{{|{{|z|||||||{{{|{{|||{|{||||{{{zzz{|}|{||}||||{{||||||}|~|{|{{|{z||{||{|||||{|{{{z||{|||||{||z{|{z{{{|||{{{{{zzz{{{z||{|||zz|{{z{{|}{{{|}{{{{{{{zz{{|||||||{z{{{{{{|{|{||{{{{zz{zz{{{|{{||{{{{{|z{{z}{|||{{{{z{{zz{|{|{|||{{z{{z{{{{|{{{{{{z{{z{||zz{||||{|{{{{{z{|{{|||||{{{{zz|}{|{{{{||{z{{{{z{{{||{|{|{{|{{z|z|{||{|||{{|{|{z{{{||||{{{{{{z{{z{|{{|{|||z{||{z{{||{||||||{{{{{|{|{|||||||{z{||{{|{|{{||{|{{{z{{}}|{{}}|||{{z{||{}|{|{~}|{|{{{{|{{|||||||{{{{{|{|||||}}}{|{{{{{|||{||}}||z{{{|{||||||||||{{{||{|}{{|{|}|{{|||z{{|||{{}}|||{|{|{{{|{|{|}|{{{z{z{{{{|{{}|}}z|||{|z{}}||||||{{||{{||||||||||{{{z{{||||||{|{|{{{{z{||{|{|{|{|{{|{{{z|||z||||{{{z{{{z{|||{|}|{zz{y{z{||}||}|{{{y{z{{{|{{{|{{}{zzzzz{{zz{}{{|{{{{{zzy{{{|zz{{{{|{z{zzz{|||{{||{{z{{z{{{{|{{{{|{{z{zz{{{}{|{{||zz{{{{yyz{{{{|||{|{{{{{|{|{{|{{|z{{z|{|z{{|{{{|{{{z{{{{|{|||{|{|{{{{{{{{z{||{||{{{{{{z{y{|{|{{|||{{z{|{{||{z{{{{zz{{||||{||||{}}|||z|{{{||{|}}|}||{{|z|{{}|||||||{z{{z|||}|||||}|{||{{||||||{||{|{{{{{}|||{|}||||||{|{{{|{|||}}||{{{{||||||{||||||{{|{{{|||z|}}|{{{{zz{||||||{}|||{z{z{{{{{|{{{|{{{{{z{z{|{{{||||{z|{{|z||||{||}|{|{{{{z{{|{}{||||{y{{{{{{|{||||{||{{zz{{|||{{|{{{{zz|{z{z{|{{{}{zz{zz{z{|{|||{{{z{zz{z{{{{{{|{|{|{zz|zz{{{{{z{|zy{zzyz{z{{|{{{z|zz{|y{{|{{{|{|{z{{zz{z{{|{|{{|{z{{{{zzz{{z{{{{zzz{zzzz{z|{{z|zzzyyzzz{{{|{{{{||zz{z{zz|{z|z|{{{|{{{|{{{{{{|||{{{{{zzz{zz{{{z|{{{{|{{z{{{{||{|||{{{{{{{{{|}|||}{{{zz|{{{||{{z|z|||{z{z{z{{{|{}|}{{{{z{{{|{{|{|}|z{z{{{{z{{|}|}|{{|||{{zz|||{{{|||{|{{|{{||{||||||{{||{|{|}}||{}}|{{|zz{||||||||||z{{{z|{{||||{|||{{{|{z{}||||||||{{z|{z|z{{}||{||{z|z{z|{{|||{{{{z{yzzz{zy{z||}}|||{|}{{|||{|}~}|{|{{{{|{|{||||||{{z{{|z{{{{||||{|{|||{|{{{|{{}{|{{z|z{{{{|{{}|}{z{{{{zz|{|{||{{{{|{z{z|}|{z{{{{{zzzzzzz|zz{{{{}{zzzzy|z{{{{{||{{z{z{z{z{{{z{||z{z{z{zzz{{|{{{{{zz{{{{{z{zzz{{{||z{z|zzz{{z|{|{||zz{z{z{{{{z||||||{{{{{{|{|||{{|{{{{|{{z{{|{{{||{{|{{z{z||{{{{||{{{{|y{{{{{{{||{{{{{{|{{|{{|}{}{||{{{zz{|{||{z{}{{{z{{{z{{|}|||}{{z{{{{z|}{{||{||{|||{{{{|||{|}{{{{|z{|z||{|{}|||{|{||{|{|||{|{||{{{|{{||||||||{|{}|{|{{||{||{|||z{{{{z{|{|{|{}|||{{{{|{|{|||||||{{{{{{{||{||||}|zz{{{z{{|||||||{{{y{{{{|z{{{}}|{|{{|z|}||{||{|||||{{|{{{{}||}~}{{{{z{{z||||}|}|{|{|{{z{|||||{{||{{z{||{{|||||{||{{{{{{z{{}{z|{|{|{{{{{z{{|{{|{|{{zz||z{{{{|{|||{{{{|y{{{{{{{||{{{{{z{{zz|{{||{{{{{|zzz|z|{{{{|||z{zz{{{{{{{{z{||{zz|z{{{{{{{|{{{zz{{{{y{|z{z{{|{{{{{{{z{|{|{|||{{{{{z|{||{{{||{{z{{z{{{|}||{|{{{{{z{zz{{|{||{||{{{z{zzz||||z{|{{{z{|{z{|||{z{||{|{z{{|{||}|{|{}z{{{z|{|{{{|}|{|z{z{|{{{||}{|}}|{{{|z{{{|||{|}}|{|{||{{}{{||}}|{|{{||{{{{}|||}}}{||{{{{z|||}||||}{{{{||{|{|{||}}{|{{|z{{|{{}{{|||z|z|{{||||||||||{{{{{{{||||{{||{{{{{{{{{|{{z{{~||{{z{{||}{|{|{|||{{{z{{|{||}||||{{{{z{{||{}|}|}|{|{|z|{|||||{{|{{{zy{{{|}||{|||{z{{z{z{z{|z{|z{{z{{{{{{|||||{||{{{z|{zz{|||z|z|{z{{{zz{|{{{z{{{{{{{z{{zz{{{|{||zzzzz{|y{{{{||{{{{zz{y{zz{{{{{|{{{{z{{{zz{z{{|||z{{yzzzzz{{{{{}||{{{{{|{{||{|{|{{{{{{z{{{|{{{{||{{{z{z{{|{{{||||{{{{{z{z|{|{}|{||{{z{|||z|||{{}|{{z{{y|z|{|||{{|{{||{z{|{|{|||||{{|z{|{z||||{|||{|{zz{{z|||||{{||{{{|z{z|||{|||||{||zz{{|{}}||{{}{|{{{{|||}||||}|{{{|||{|z|||}|{{|{{{{{|}{|{}{||||{{|{||{|||}|||}{{{z|{|{{||{|||{|z{z|{{||}z|{|{z||{|{{z{|{{{~~}|}{{|||{}|}}{}|}||{{|||z}|{||}z}{|{|{|{z|||{{|{|{{{{{{{{||{{||{||{{z{{{{|}|{|{{{{|{{{z{z{|zz|{}|{{|z{{{z{||||||z{{{z{zz{{{{|z{{{{{z{{{{z{|{{|{|{zz{{{z{z{||||||{|{{{zz{{z||{{|||zzzz{{{{{z}{z{z{{{zz{y{z{{z|||{|{{{z{|{{|{{{{{|{z{|{{z{z{{{{{|{|{{{{|{{{z{|||{{|{|{z{{z{{{|{|||||{{|{{{{z{||||{|||{{{{{z{|{|{{{|{z|{{{{{{|{{|{|{|||{|{{{{|{}|||}{{{|{{||}{||{|||{{|{{z{{|}||{||{}{{{|{{{{}|||||~}||{z||||||}}||}|{|{{{||{|}||}|||||{|{{{{||||{|||{{|{{{{}|{|}|}}|}{||{|||{||}|{||{{{|{{||{||||}{|{z{{{{{{|{}{{{|{{|{{z{{{|{|z||}}}{{{||{{}}||}}|||{{|z|{|{|}}}}}{|{{{{{z|||{{|~}{{{{{{{z{|||{||||{{{{{{{||{{}|||{{{|z|||{}|{{|||{z{{{{{{{|{{|{|{{z{{{{zz|{{{z{{{{{zz{z{zz{|{|{|{zzz{{{{z{||{{|{{{{{zz{{yz|z{{{||{{zz{{{{zz{{{z{z||{z{{{{z{{{|}||{yz{|z{{{|{||{||{{|{|{{z|{|z{|{}{{{{{{{{|{|{{{||{{z{{{{z{|}|||{|{{z{{{|zz||{|{{|z{{|{z|{{|{{|{}|z{z{{zz{|{{{{}|{|{{{{{{}{{}{||||{|{||{{z|{|}}{}||{{{|{|{||||}{||}{|||{{{|}{|{|||{{{{||||||{||{|||{{{|||{|}}||||}{{{{|{{{{|||{}|||{{||z{{{}|{||||{||z||{{||||||||{{{{{{|{{|{|{||{z{z{z{zz|}}{|{{||{{z{{{z{{{{z|}}||{{|{|||{|||}}|{{|}|{z{||||||}}|}{{{z||{{{|||||{{{{{z{{{||||{{|{{{zz{{z{|{|{|}||{{{{{|{z|{{{|{{{{{{|{{{|{|y{{{zz{z{|z{z|{||{|{|{zzzzz{zz{{{|z{{{{{|z{z{z{|z{{|{|{{{z{{zz{|||{{{|{{zz{z{{{|z{{||{zzz{zz{z{{|{||{{z{zzz{{|||||{||{{{zzz{{{|{|{{{||{zz{{{||{{{{|||{{{zz{||{{|||{}}{{zz{z{{{|||{{{|{{zz{{|{{{||{{|{|{{|z{z{|{||{|{|z{z|{|z{||{|||||{{||{|{{{|{|{{||||{|{{{{{||||{}|{{{z{{{|{||||}}}z{{|{||{||}|{|||}{{|||||||||||}}|||||z|{||||{{|}||{{|{{{{|||||||{{{{||{{{||||}|}{{{{z|{|{}||}|{{|{{{{{|{||z{||{{{z|z{z{z{|{||}|||z|{|||{}}|}}||}|z|{{{{||||{{{||}{z||{|{||}{|}|}{zz||z{z{z||{|{|{{{{z{{{{{||{|{|{{z{{z{z{||{{{|{{{{z{{{z|{{z||{{{z{zz{z{{{{{{|{||{{{z{zz{{zz|||z{zzzz{z{z{{|||{|{{z{zzz{{z|||||{{{z{|z{z{{{{{{{{{{|{z{zz{|{{|||{{|{|{{{z{|{|{|}{{{{{yyz|{{{{{{|||{{{{z{{{||{{{{{{{{z|zzz{z|{z|{{||{{{z{{{{{|||{|{{|{{{|z{{{|{||{{|{|yzz{{||{z{||{{{z{{{z||{|{|||z||{{{|{{|{|||{||z|{{{{z{{||||{{|{{z{{||{||z|}}{|{{{{|||{|{|||}||{{{||{z{~|{}||||z{{{z{{|||||{||{{z{{|{{{{|{||||{|{{{{{{||{{{||}{|{z{{{{{|{{||||{{{{{{|z||{{|z}{{{{{{{z{{{z{{~|}}|{|}|||}}|}}}||||{{|{{|||}}|}|}||{|{{z{|z{{{|||{|{|{{{z{|{|z{||{z{z{{|{{z{||{|||z{z{{{zz{z{{|{{{{{zz{z{{{{|||||z{zz{zz{|{y}{{}|{{zz{zzz{{{{z|||zzzzz{z{{{|{||{{{{{zz{{z{{z{{z||z{z{{{{zz{zz{{{z{{{z|{zz{{{{{{{{{zzzzz{zz{{|{||{||{{z{zzz||{{{||{{{z{z{||{{|{z||{{{{{z|{{||{{||{||{zzzz{{||{}|||{z|{{z{{{{||||||{z{|{{zz|z|{{|{|{{{z{{{||||}|}{|{z{{}|{z{|||{||||{{{{{{{|||||{|{|{|{|z{z}{}|{|||{z{{{||{{|{}||}}}|{{{}{|{}{||||||z{|{{||{|||{}|{|{{||{{{||{|||||||z|{|{||{{}|}||||{{{{{z{{{|{|{|||{{{{{{z|{}|||{z{{{{{{z{|{{|~~}||}||{|{|}{|||~|||{|||{|}||||}|||{{{|{{{|||{|{|}|{|||z|z{{|{||}|{{|{{z{z||||{|z|{{{zz{{{|{|{||{{{{zz{z{{zz|{{}|{{zzz{|zz{||z{{{z{z{z{y{zz|{{zz|||z|{{{z{{{|z{{||z{|z{{zzz{{{{||{zz{z{z{zz{||{{z|{z{z{{{z{|{{z|{|z{{zy{zz{}|{{|{{{{{z{z{{|{|{{|||z{{{{{{{{{{|||{|{z{{z|{{|{|z{|{|{{z{{{z{||{{{||{zz{{{z{{|||||||{{{{{{{{{|||{{||{|{{{z{{{{{{|{{||}{{z{z||{{|||||||{{||z{{||||{|{|{{{{{zz|{|}{}||||{|{||}|}|||}}||}{{{{|{|||}|||}|{{{|||{{{||{|}|||{{{||{|||||||||}|{{{{||{|{|}|||{{{zzz{|{||{z|||}z{{{{{{{|||{|{|{{zz{z{zzz{|{||~|||||{{{}}}|}||}||{{{{||||{|{|||||{{{{z{|{}{|}}||{|zzzz{{{|{{||{{{{zzz{z|{||z|{{{zzzzz{z{|{z{||{{{{z{{{{{{{{{|{{|{zzzz{z{z{{{|{{z{{{zzzzzz{|||z{{zz{zzzz{{{|||{|{{{|z{|{{{{z{z{|z{{{|{zz{zz{{{z{{z{zz{yzz{{{z{|{{z{{{{zz{{|{{{|}|{zz{zzz||{{|{|{{{{{zyz{{{||{{|{{|{z{z{{{{{||{||{{{{z{{{{||{{{|{{{{{zz{z{{}||{{{{{z{{z{{z{{|{|{||z{{y{{z|{|{|}||{{{||{zz|{{|{{||{{{{{{{{|{|||{{||{{{{||{|||||}}|{{{{{|{{{{{|||||}z{||{{|{|{||||||{{{{{z{}||||{|{|{|{{{|{{||}|||}|{||||{{|{|{||}{{zzy{z{|{{||{~{|{z{{zz|z{|{||{{||zz{{zzz{{{{|}~~||{|||z{|}||{|{}|||{{{{z||||{}}|||{z{|{||||{{{||{z{z{{{{||||{|}{||{|zz{z{{{|{{{}{{{z{{{{z||{z{{z{zzy{{{z|{|{{{{z|z{zz{{zz{{{{{z|zzzzzzyz{zz{{z|{{zzy{zzzz{{{{||||{{{yzz{z{z{{|{{{{zz{z{zz{{{{|{{{z{{zzz{z{z{{{{{zz{{{{{z{{z{{||{|{{{{zzz{||{|{{|{{{z{y{z|{{|{|{|{z|{{{z{||||{{||{{{{{z{z{}{{|{||zzzz{{{{{{{|z|{zz{{{{z{{{|{|{|{{{|{{zyzz|||||{|{{{{{z{|{|{||{|{||{{|z{z{||{|{|}||{{|{{{{{||z{{|{|||{|{{{{{{|||}}|z{{{|{|{}|{|||||||{|{z{||||||{|{{|z{{{{|{|{|{|{{{{{{|||{|{||{|}{{{y{{{{{||{{{|||{{z{{{{||{{{{{{{z{zzzzz|{z{z~|~|}{|}|}|}}|~}}}||||{{||{|{}|{|}|||zz{{|{{{|~||{||{|{|{{{||{}{{{||{z|{{{z{{||{|{{{||{z{{|z{|{{}|{|{{{|zz{{{|{{|{{zz{{{{{{|{{{|{|{{{zz{zzz{|{|{}|{{{zyz{y{{{|{{{{{{{{{{zzz{}{{{{|||z{{zz{z{||{{{|{{{{{{{zy{z{z{{|{{zz{{{zz{{{{{||||{z|zzz{|{z|{|{|{{{{{{{|{|{{z{|{{{{z{zz{{{|||}||||{{{{||{{|{||||zz{zz{{{{|||{}||||{{|{{{|||{{||{{{z{||{{|{|||}}{{|{{{||{||{}|}|{z{|{|{{z{|{||{|{{{{{|{{{{|{||{|{{{|{{|{{{||||||||{|{||{{z}}}|}}||{{|{||{|||}|{||z{{||{{|}}||{{}}|{{||{{||{||||{|{|{{{|{{{}{|{{|||z{{z|z{|||{|z{|{{{|{{{z{{{{{}}~~|}}|}||||~}}|||}|||{|{|{||}|}|||{{{|||y{||}{||||{{|{{z{{||{{||{|{{z{{{z{{{{|{{{{{{z{{zz{{{{{|{z{{{z{zz|{{|{{{{{{{z{z{z{{{{{{||{{z{{zz{z{{z{|{||{{{{{{zz{{{{{{{|{{zzz{z{|zzz{|||{{{z{z{z{{{z{||{z{{z{{zy{|{z{|z{zz{z{z{{{{|{|||{{z{zz{{z{|{|{||{{{{{{{{{{{{|{||{{z{z{zzz{|{|{|||{{{|{{{{z{|||{|{{{z{z{z{||zz|{{|z{{{{{{{{{{{{||{|{{{z{{{{||||{||{{{{{{|z{{{}|}||{|{{z{{{|||{||{|zz{|{{{||{|||}||{{|{|{}{{||||||}|{{{|{|{{||||}||}z{|{{z|{|||||}||z{{{zz{z{{||||}|z{|||{{|||||{||{{{{|z{{{|||{{}|{{|{{{{z{{|{{{||zz{{{{{{{{|{{}~}|}|||}{{}}{}|~|}|{|||{||||}|~|}|{||{{|{{|||{||}|||{{{{z|{|||||{|{|{z|y{z||{||{{|{||z{{|zz{z{z{|{|{{{{{{z|{|z|{||{{|z{zz|{{|{{||{{z{{{{{z{{{{z||z||{{z{zz{{||{{|{{{{zzz{{{|||||{{{{{{yz{{{{{{||{{{|{z{{{z{{z|{{{|{{|{{{{zz{z{|{}{{{zzz{z{{{|{{}{}{{{{z{{{{{{|{||z{{{{{zzz|{|{{||}z{{z{{{{{}{|||{|{z{{{z{z{z|{{|}|{|z{{{{{{|{||||||{{{{{z{|{||||}||{|{{}z|||||||}{{{{{{{{{|}}|||}|{{{{{||{{}|||}||{|{{|||{|{{||}|}|{|{|{|{||||{||}}|{}|{{z|{||}|||||{{|{|{||{|||}|{{|{|{{||{{|||}}{{||{{{|{|}{||||z{{||{|{{||{{|}|{{{{{{zz{{||{~~~}}~||}|{}}}}}|}}|||||{||}|}||||||||{{{{z||||{}|||{|{z{{{z|{|{z||{z{{z{zz{|{{||{||z|zz{{z|{{{|{||{{{{{{z{{{{z||||z|{zzzz{{{{|{}{|z{{{z{zzzz{|{{|{{{{z{{{{{|z{{{|{{z{{zy{{{{|{|{}{{{z{|{{z{{z{{{{|z{|zzzz{{{{{z{|{{{{{|z{{|{{{||||{z{{{z{{{{||{{||zz{|{z|{{||{{{||{{{{|z||||||||||{{|{|z{{z{{}|||{{{{{{|z{{||||||{{{z{{{z{{||z||{{{{z{||z{{|{|||}|{|{|{|{|{{{|{|}{|{|{|{{{{{{{|{|{|{{|z{|{}|{|||}}{|{{{|{|{||||}||||||{{{{{||}|||||{|{||||||z||}|{|z{|||{{{||{|{{}{|{{{{{{|{{|{|||{{{{{z{|{|{||{||}{{{{{|{{||{{|{|{{{zzzz{{{|{|~~}||}}||}}}~|||}}}}{{|{{||{}|||||}{{{}||z|||{}||}{z{{{|{{{|||z||{|{{{{{{{{|}{{|{|{{{{{z{y{{{{{|}{{{{{{zzz|z|{{{{|{{{{z{{{|{{{{||{{{{{z{zz{{|z{{{z{z{z{{zz{z{{|z{{{{{{z}zz|{{{{|{{{z{z{z{{{|{|{{{{|{zzzy{zz{|{|{{{{{zzz{zz{|{{{|{|{{|{{zy|{||}z|||{{{{{{{{||{|{{}|{{|z{z|z{{z{|{||}z{{{z|z{||}|}{|{{{{zz{{|||||||{{{{{zzzz{|{{{|||{{{|{{{{||{|||}|z|{{{{|{||}{||||z{|{{{{{{||||}|||{|||{{{|||||{||{{{{{{{{||{|}|||{||{z{|{{}||||}|{{{||{{{|{|}|{|||{{|{z{|{|||{{|}|{{|}{{{{{|||||{{zz{|zz{{{{|{||||||{z{{{z{||{{|{|zzyzzz{z|||{~~~}}|}}||}}}||}}}~}{}||{|{|}||}||}|||{|}{|{||||||||z{{{{{z||{|{||}|||{{{{{|z|z{|}|zz|{z{{z{||{{{{{|{{{{{zz|{||{{{{{z{{|{zz|z{{z|{|{zzz{z{z{{z|{||{z{{zz{{{{z|{|{||z{{{zzz{z{{{{{|{|{zzzz|z{{zy{||{|y{z{yzz{{{|||}{{z|z{{zz{{{{||||{{z{{{{{{||{{|{|{{{{{z{{{{|{{{|{{{z{{{{z{{}z{|{||{{{{{{z{||||{||{{{{z{{{{{{||{|{{|{|{z{{z||{{{|}{{z{|{{{z{||||}{{{|z{z{{||}|{|||{{|{|{z{|}{||||||z{{||}z|{||||}|{|{{{{{|{|||{|||}{{{|{{{||||{}{}}|{{|z{{}{|}|{}||z|{{{{|||||||||{|{||{{{|{{{{||{{{{{z{{{{|||{{}||{{{zz|{{{||{|{{{z{{zz|{|{{{|~~||}||~||}~}{}}}}}||{|{|{|}||||}}}z{z||{{|{|||{|}||{|z{{{|{|{{{|||{z{z{zz{|{{|}|{{{z{|{{{z{|{|{|||z{{{{yz{{|{{{{{{z{{zy{{|z{|{{{zz{zz{zzz{{y{|||{{{{{{{z{{{{{|z|{{{{{zzzz{{{||{|{{z{z{zz{zz{{{{z{{|{z{zz{{{{{||{{{{{{|{{{{z{|{|{|{{zzzz{|{{|{{zz|{z{zz||{{||{||}|z{{zzz{|{||{|}{|{{{{{zz{{{{|{||||{{{{{{{{||{{|}{{{{z{zy{{||||{|{{{{{{{|{{||||||||{{z{z|{|z{|{|}|{|z|{z{{{||||||{{z{z{{{{|||}{|{}||{{{{{|{}||{{||{{{{{}{{{}||||||}|||{{|||}|}||||{{|{{{{{{{||||||}{z{{{{|{||}{|{|{{z{{{{{{|}|{{}||{{{z{{z{|{|{||{|{{z{{zz{{{|{}~~}|}}~|}}~}}~}}}|}||}|{|||||}}|}|}{{|{{z{}|||{|}{{{|zzzz||||{{|{|||{{{{z||{{|{{|{{{{z|{{z|{{{{|{{z{{z{{z{{{{z{{z{z{{|zz{{{{{{{{|zzzy{z{y{{||{{|{zy{zzzzz{{{{{z{{{zzz{{zzz{||{{{{|{{z{z{z{{{{{{{{|zz{{zz{zz||{||{|z{{z{z{{||{{{{|}{{{{{z{{{{{{{z{|{{{|{{{{{{|||{|{{{{zz{{{||{|{||{{z{z{{{|||{{|||{{{{|zz{{|{{|||z{{z{{{{z{{z{z|{{||{{{{{{{||{|}{|{{z|{|{{{{{||{{|{|{|{zz{||}|||{||{{{{|z|{|{|||}|{{|{{{||{||||}||{{{{{{{{|}}|{||}|z|{{{{{}{{{}}||||{{{{{{|{{|}|}}|{{{{|{|||||||{|{{{{|z|{{{{|{|}{{{z{{{|{|{|{|{{{{{{z{z{{|{{{{~~}}||}|}}}}}~}}{}||{|}}}{||{{|}|||{{||||{{|{|{|||{{|z|zy{{{||{z|{|zz{{{{z{{}|z{{{{y|z{z{zz|{{{{{z{z{{{zzzz{{zz{{{{{{zz{z{{{{z{{{{{zzz{{zzz{{zz{{{{{z{{{zzzzz|{{{|{z{{zzzy{{{z{{{{|{{zyz{{y{{yz{z{zzzyzzz{{{|{{{||{yz{{z{z{z|{{{|{{z{z{{{zz{{|||z|{{{{zz|{||{{{{||z{{zz{{{|{|{{{{{z||z{y{z{{||{{z{{z{{z{{{|{{||{{{z{z{{{z{{{zz|||{|{z{{{{z{{{|}|||z{{z{||{|{{|{|{{{{{|{{{z{||{||||{yzz|||{||||{{||||{{z{||z{|||||{{{|{{{z{z}|{{||||z|{{{{{{||||}|||z|{{{{|||{{|||}{{{{{{{|{|||{}|}{|z{{|z{z|{|{||{{{{{{zzz{{|{z|{{|{{z{yz{{{|{{~}}}~}}}}|}~}|}}|~|}{||{{z|{}{}|{}{{{{{{{{|}||}{||{{{z{{{|{|{{z{{{{zzzz{zz{{{{{|{{{{{zzz{zz{z{z{||{z{{zz{{{{{{{}{{z{{{zz{z{z{{{{{{zz{z{zzzz{{{{{{{zzzzyzzz{z{z|{{|zzzzz|zz{{|{{{{{z{z{{zzzz{{{{z{||{{zzz{y{{{{z{|{{z{zzz{{{|z{{{|{{{z|{{{z{{{{z{{{|{{{yz{z{{z{{{|{{{z{zz|z{{{{{|{|{{{z{{zz|{{z{||{{z{zzzzz{|{{{{|{{z{{|{zz{||{{{|{|{z{zz{{|{{|{~|{{{{{{z{z|{||{||||{z|{zzzz{{|{{|{{{z{{{{{|||{{||{{{z{{||{z{{|}|}||{{{{{|{|}{|}{||||{{{{{{{|{|{|{|{|z{{{{{||{{|}||{{z{z{|{|{||{|}|{{{zz{|z{{||{{}{{{{{{z{z{|{{{{{{|{{{{z{z{z{{|}~}}}|}|~|}}}|}}~}||{||{{|||||}||}|{{{{{{{{|{{{|||{||{{z{||{{{{{|{|{z{{zzz|{{{{|||zz{zz{{{{{z|{{|{|{{{{z{{z{|z{{zz{z{zz{z|{{z{z|{{zzzz{zyz{{{{{{{{zz{zy{z{{{zz{{{{zz{z{yz{{{{{{{||{{z{zz{zz{{{{{|{{{zzzz{z|{{{{{|{yz{{{|{z{{z|{||||{z{|{zz{{{||{{|{{|z{{z{{z{|{{{|zz|{{{{{{{||{|||{z{zz{{{{|||{||{{{{{z{{z|||{{{|{{{{{zz{{{{|{{{|||{{z{{{{{||{{|{|{z{z{|{z{|{||||{|{{{{{{{{{}{{{{||{{|{{{z{}{{||}{{z|{{z||{|{||||}{z|{z{|z{}||||}||{{|{{{z|{|{||}{|{{{|{z|}|||||}|||{{|{||}{|||{|{{{zz|{{z{{z}||{||{{{{z{y{{{}|{|{{{|zzz{{{{{{z~~}~}|}~~~}~}}}{|||}|}|||}}|}}}}||{{{{|}|||}}}|z{|{{{{|{|||{|||{{zz{{{z{{||||||{|z|{z{{{||{{|{||z{{zzz{{{||{|}{{{z{{{{{|{||||{{{{{z{zzz{||{{|{|{{{z{{{{z{{z|{{z|{{{zz{{{|{{{{|||{{z{{{{{{{z{{{|z{z{zz{{z{{{|{}{{{{{{{{{|{{{|||{{{{zz{{z{|||{{{|{{{{{z{{z|{{|}||{{{zz{{{{|{|||||{{{{{{{{|{||{}|{|{|{|{y{{{|{{|{{{z{{{{z{|{||{{{{|z{{{|{{{|||||{|}{||||{||{{{||}}{||||{|{{|||}||{|{{{{|{|}}||{||}{{{{{{}||}||}|{||z|{{{|z||||~|||}z||{{{{||}|{|}|{{|{|{{{|||||}}|}|{{}|{{{|||}}|||{{|{{{{|{|{{}|||{||{{{{{|{|||||{{|z{{{z{|{|{~~~~}||}~}~}~~}}||||{|}|}|}}}}|}||{{|{||||{||||{{{{{{{|z|{{|{{|{{z{zz{|{|z|}{||z{zz{{z{|{{{{{{{|{z{zz|{{{z{|||zz{{z{zzz{{|{|||{zz{{z{z{|{|{||{{z{zz{{{{{{{|{|{|{{z{|zz|{|{|{}|{{{|{zz{{{{||z|{{zz{{{zz{{{z|{{|zz|{{{zzz{{||{{{||{z{|{{{{|{{|{||{||z{zz{{||{|{}{z{z{|{{|||{|{}{{{{z{{{{{|{{||{|{{{|{z{{}||{|||{{{{{{zz{|||{{|{{{|{{{{{{|{|||||||{{z{|}zz{|||||{{{|{{{z{|{}{|||||{{{{z{{||{|}|}|{|{{{|z{|||{}||||||||||{{}|}|}}|{{{|z{{{{{|||||||z{{||{|||||||}}|{|{|||||||||{{|{|{|||{{{}|}{||}|{{{{{{{{||||{|||z{|{{|{{{|{{}~}|}}~~~~~~}~}}|||}}|||}}}}}}|{{|||{{||{|||}{{|{z{z{{{}{||{|{{{z|zzz}{|||{|}{z{z{z{z{|z|{|{||{{zz{{{{{|{{|{|{zz{z{{{{|{{{|||z{{z{z{{{{z{{{|{z{{zzzz{{||{||{{{z{{z{zz|{{|{||||{{{z{{z{||{{{|{{{{z{zzzz{{z||{{{{{{z{z{|{|{|{|{|z||{z{z{{{{{{||{{z{{z|z{|{{|{|{z{|{{zz|{{||{|||{z{{{{|z{{{}|{{{{{z{||z|{||{||||{{zz|z{z{||{{{|||{|{{|{||}|}||{|{|{||||{|}||{|{|{|{|{{{{|||{}||||{{|||{{||}{||}||{||{||{|||}|{}}|{{|{{|{|}|}||||{{{|{z{}{||||}|||{{{|{{||{|{|{||||{{|{{|||||}}||{z{z|{{{||{|||z{{{z{{||{{||{|{|{{{|z|z{z{|{|{~~~~}}}~~~~|}~}{|{|||||}|}||}}}{{|{|||||{z||}}|{{|{{{{{{{|||||{|{{{{|{y|{|||{||{{|z{z{y{||{{}{{|{{{{zzz|{|{{|{|{{{{z{{y{{||z{|{{{z{{z{y{{{{z{{{|{z{zzz{{||{||{{{zz|z{zz{{{{{{|{{{z{z{zz|{{{{{{|{{{zzz{{{{{{{{|{{{{{zzy{{{||{|z|{{z{{z{|z|{{||{{{{{z{z{{{|||{{}|z|{{zz{{||||{|{|{{{zz{zz{{}|{|{{{{{|{{zz{|||{{||{{zzz{z{||{{||{||z{{{{|{|{||{|||z{{{{{|{{}||||||{{}{{{z{|{|}{||{{{|{{{{|{|{|{||}|||{z{{{{|{{||}||zz{|||{{}|{{||}||{|{{{z|||{|||||{{{|z||z||||||}||z||{{{||{{~}||{{|{{{{{{{z||||{|||{{{{{{{|{z||||{{z{zzz{z|{{~~~~}~~}}~}}~}}|}||||{{}|{|}}}||}{{|{{{{|||||||{|{{{{{{||{|{{|||{{{z{|z{{}{{|z{|{{z{{{z{|{{|||{{{zz{{yz|z|{{{{{{{{{{z{z{z{{|||{zzy{z{|zz{{{{{||zzy{zz{{{z|{|||{||zzzzzzzz{z{{|{z{{{{zzy{z|{{z{{zzz{{zz{z}{{{|{{z{{{z|z{z{|{|||{{{{z{z{{||{{{|{}{{||zz{{{{|{{{||{z|{z{z||{||{{|{zz{|{{zz{{|{{||||{|z{z{z{z|{{{||{{z|{z{{||{{{{{{{{{|{{{|||{|||||z{{{{{|{{|||||{}{|||{{z{|}||||}{{{{{{|{{|||{|||}{{||{{|{{||||{||||{||{||{||||||}{|||{{|{|{|}||{||{||z|{{|{|{{}}|||{{{{|{}|{z||{{||{{{|z{|||{||||{{z{{{zz{}{}||||{z{z{{{{|{{{{~}~~|~}~}~}}}~}}}|||}||}}|}}|||{{|z{{{{{{{}}}{{{{{{{{|{|{|z||{{{zyz{z{{{|z|{|{{{zz|{zz{{{{|{{{z{zz|zz{{{{{{{{{zzz{zzz{{z{{|||zzz{{z{z{{|z{|{|{{{zz{zz{{{zz||{zz{zzzz{z{{{{{||{{|{{{{z{z{z{{{z{{zzzzzz{|zz{|{{|{{zzzzz{|{{z|||{{{{z{|yz{{{{||||{{|{{{z{{|{{{z|{z{zzz{{{{|{{}|{{z|z{z{{{|{z{||||z|{{{{y||{{|{{{{{|{z{zz{|{{z}}{{|{|{|z||{|{{|||{{z{{|{{|||{|}|{|{z{{{|z{|||}}|||z{{{{{{{|||{{|||{{|{||{z{{{{||||{|{z{{|{|||{||||z{|z{{{||||||{||{z{{||{||||{||||{|{|{{z|||||||{z{|{{z{{{||{{|{{||z{{z{{{}{{z{{{{{|{z{{z|z||{~~}~~}}}}~~}}|}}|{{|}|||}|||{|{{||z|}{|{{|}{{z{{{{{||}|{{||{{zzzzzzz{|{|{{|z{{{{zz{{{{{{z{{{{{|{zz{{{|{{z{{zz{zyz{z{z{{{{{{zy{{{z{z{{|z|{{{{{{{{{z{z{{{{{|{{{{zz{{zzz{{{|{zzzzz{z{{z{|{{z|{z{zy{zz{{{{{{{{|{z{{zz{z{{{{{{||{{{{{z{z{{{{{{|{{{{{{{z{z{{{|{||zzzz{zzz|||{|||{{{zzzz|z{|{|||{{|z{{z{z{{{|{|{||{{z{{zz{}|||{|{{{|{{{{zz{|{||{|{{z{{{{|{|{|{{}{|z{{zz{{z{||{|{|||{{{{{{z||{|{{{|z{{{z{{{{|||||}||{{|{{{{||}|{}|||{{|||zz||||{|}||{{|{zz|||{||{|{{z{{{z{||}||||{|{{{zz{{{{|{{{{{{z|{z{{z{{|{{{|||{{|z{zzz|{zzz~~~~~}~}~}}~|}|{{{}{||}||}||{|{|{|{{|||}|||z|{{{{|{}}{|{{|{{{z{{zz|{{{||{}{{{z{z{y{{{{z{z|{{{{{z{zz{{z{||{{{z{z{{z{{{{z|{z{{z{z{{z{{{{z{|{{zzzz{{z{z|z{|{|{z{{{{zz{{|z{{{{{z{{{{zz{{{z{z{{|{z{{{{z{{{z{|||zz{y{z{z{{|{|{{|{{z{{{{z{||{{{|}{{|zzz{{||{{{|}|zzz{z{z{z{{{|{|}|{|y{{z{{}|{||{{{{{z|zz{{{|{|{|{{z{||{{{{{{{z|||||{{{{z{{||{}||{||z{{{{{||{||}{||z{|{|{z{|||{|{||{{{{{{|||}{|{}|{{{{{|||||||||||{|{{{{{|{}}{|{||}z|}{z|z|||||||{|{{{|zz{{{{}{|{||||zz{z|||||||}||{{z{z{{{|||{|}|{{z{{{{{{{{{{{{|{{{{zz{{{|{{{~~}~}~~~~~}~}}||{|||{}}}|}||{{{{|{{{|{|||}||{{|{{{z{|{||{z||{z{zzzz{{{{{{{{|{{zy{zz{{|{yz|{zzzz{zz{zzz|{z|{{|zz{zzzz{|{{{{|{zzzz{z{{{|zz{z{{|{z{zz{{z|{z||{{{{{{{zzy{{||{{{{{{{zz{z{z{{z{{{{{z{{zzzz{|z{{|{{zz{z{{{z{{{{{{|{|z{{{{zz{{||zz||{{zzz{|zz|{|z{{|z{z{{z{{{{{z{{||{{{z|z|{z{|{{{{{{{{{y{zz{|{}{|||{{z{{{z{||||||||{z{z{z{{{{{||}}|z{{{z{z|{|{{|{|||zy{{z|z||{|{||{|{|{{{{{{|{|{{}{{{{z|||{{|{{|||||{{||{{{{}|}||||{z{{{{{{{||{|{|{|zz{{z{|{{|{||||{{{{z|{{{|||}|{|{{{{{{{{{||{{||{{{|{{{{{{|||||{{{z{yzz{z{{{{{~~~~~}}~~~|||||}|}}}||}}|{}{{{|{|||}{}|||{||{{{|}}}|{{{{{{{{{{|y||||{{{{{{z{{z{z{{|{{{|{{{zz{{{z{{z{{|{|{|z{zzz{z{{|{|{{{{{zzzz{{{z{|{{z|{{{z{yzz{|||{|{{z{zyzzz{{z{{||{{{{zzz{{|{z{{||z{{{{{y{z{{{{|}{{{z{{z{{z{{||||||{{|z{z|{||{|{{||{{|zz{{{|z{{{{||{{{{z{{{{{|||{{{{z{{{{|y{|{|{|{{{{|{{{{|{||{|{|{z{|z{{z{z|||{{~{{{{z{{{{||{|}{||{{{{{{z{|{|}{{|}{z{{{zz{{|||{||}|{{{|{|{}||{{{||{{{|{{|{{||{|||~}{{{z||{|}||{||{|{|{{{{||||||||{|z{{{{{{{{||{|||}{|{{{{{{|||||||{{|{{{{{||{{{|||{z{{z{{{{{||{{}||z|{{zzz{|{{|}~~~~}}}}|||||{~||}}|}||{{{{{z{{}||{||{}{{|z{{{{|}|{{{|{{|z{{{z|{{{{||{zz{{{z{{{{z{{{|{{{{z{{{{{z{{{{|}{{{zz{zz||{{|||{{{zzzzz{z{zz{|{{{{z{{{{z{{{z||||{z{z{zzz{|{{{{{{{zz{{{{y{{{z{{{{{{yz{zy{|}zz{{{{{zzz|z{z|{{|{{z{{{{{zzzz||z|{|||{{{{{{{{|z{{{{|{|{{{z{z{{{|{{|{|{{||zzz{||{|{||||z|{|zz{{z|{{{|||{z{|{{{||{{{}||{{||{{{{{||{|}||{{{{{{|{||{|{||}{zz{{|{{||{}{{||}{{{{{z||}||||||||{{{|||{|{|||{}|{{{{||z{}|}{||}|{|{|{z|{||||}|||{z|{{{||{{||}{}|{||{{{|{||{|||||z|{{{{{|{{{|{|{{{{{zz{{|{{||{||{{{z|{{y|z|{|}}~~~~~||}||||||}}}}|}}|||||{{|}|{}|||{{{{{{{zz||||||{{{{z{{|{|{|}{{{}{{{|{{{{{||{{{|||{{{{z{{|{{{|||||z{{{{{{{{z|z|||{{z{{z{{{z{z|{|{{{{zz{z{||{{|||{|{{zz{{z{|||z{||{z{{{y{{{|{{{{{{{z{z{z{zz{z{{}{{{z{{{|{z{|||{|}|}{{{{z{{{||{{|{|||{{{{{z{{{{|||{{z{{{z{|||{||||{{{{{|{z{{{|{{}}||z{{y{z|{{|{|{|||{{{{|z{{|{|||||{{{|{{|{{{|{}|||z{{{|{|{|}|||}}{|{{|{{{{{{}}||}{|{{{|{{|{|}{||}}{z{{{|{{|}{|{}|||{||z|{||}}}}}|||||||{|||}{||||||{{{|z|{{}|||||}||||{{|{{}|||||||}z{{{{{||||{{||{{{{{{{{||||{{|||{{zz{z{{{{{{~}~}}}}|}{{|}}|}|}}||{{|{{{|{}{||{|{}z{{{z{{{|||{|{{||z{{|{|{|{|{}|z{{zzz{zz||{|||{{{{z{zzz{{{{|{{{{{z{z{|{z|{{{|{|zz{{z{z{z|{|{|||z{{z{|zz{{{{{{{z{z{zz{{z{||{|||{zyz{{z{{{{{{{{{{|{{z{zz{z|{{{|{|{{{z{{{{||{{{{{{{z{{|z{{{||{||{{z||zz{{{{{{{{{{|{{{{{{z{{{{{||{||z{{{y{z{{{{{|{{{{zz{z{{|{|{z||{|{z{{{{{{|{||}{{{{{{|{{z{}||||||{|{z{{{{{|||{{{||{z{{{{|||{}||{{|z{{|{{z}|||{{}|||{{{{{||||||||||{{{{|{{{}||||}|{{{{{z|{|}{||||||z|z{|{|{{|{|||}|{z{}||{{|{|||||{{{{{{{|{||{|{|}{{{|z{{{|{{||}{{|{z{{{zz{{{|{~~~~~~~}}}|||||||||~|}}}||{{|{z}||}||}|{||{{{{z{|{|{||{||{z|z{z{{{{{||{{{{zz{{z{{{{z|{{zz{z{{{{{|{z{z{{{{z{zzzz{{{{{|{{zy{{zzzz{{{{||{{{{zzz{zz{{{{||||{z{{z{{{z{{{z{|{|zzzzz{zz|y{{{|{z{zz{{{{{{{{{||{zz{{{{z{{{z|{{}{|{{{|{{z{|{{{|{|{{|{zz{{{{{||{{{{zz{{zz{{|{z{z|{|z{z{{{z{|{{|{{{{z{{|{{z{|}{{|{|{{z{{{z{{z|{{||{z{{{{z{{{||{{}||{{{{{{{{|{{|{|||{z|{||{{{{|||}|{|{{z{{z{|}{{|{||{{{z{|||{|||{||{{{{{z{{{{}||{}||{{{{{{}|||{|{}|{|yz|{z{{|{|||{|||{{{{{z||||||}{{{{{{|z{z{|{{{|||{{{z{{{z{||{||||{yzz{z|z{|{{{~~~~~~}}|}|}||}}}|}}}|~|}{{|{||||||{|}{|{{{{{{{{|{||{||{{{{{{{{|{|{||z{|z{z|{{{z{|{|{z|zzz{z{||{{z{|{|{{{{{{zz|{|{|||{z|{{zz{z{{{||{|z{{{z{z{{{{{}|{{{z{z|{z{z{|}|{{{|z{z{zz{z{|{|{|{{z{{zzy{{|zz{|{{{{{z{|{{{{{{{||{{{{z{z|{{|{{||{}|z|||z{z}|||{||||z{{{z{||{|{{|{|{{{{{z{{{|||{{{{|{|{{{z{{||{{||{{{{{{z|{{||{z{||{{{|{{{|||||||||{{{|{{|}{|{|{||}||||{|{{|}{||{||{{{|{|{z{|||{|{|{{|{|{||{}}{|}|}|{{{{|{{|}|||}}|{{{|zz{{}|||||||}z||{{z|}{||||}{}{{{{{|{|{{|{|||{|{z||{{{||{|||||||{{{{{{|||z|{|{{{{{|z{z{{{|~~~~~~~||}{|||}|}{|||||{|z{||}|{||}|}{zz{z{zz{{z|{|||{z{z{|{z|z|{||{{{{|{zz{zz{{{z||{zzzz{{z{z{{{{{{zz{z{{{{{z{{{|{{{{|{{zyyz{|{{{||zz{zzzzzz{{{{|{{{{{{zyz{{{{z|{{{{{z{z{z{z{{|z{{{{{{zzz{{z{{{{{|{{z{{{zz{z{{{{{{||{zzz{zz{z{{|{|}{||z{zz{{{{|{z|{|z{{{z{{{|{{{||{{{z{{{z{{{{{||||{{{|zyz|z{|||{{|{|z{z{|{{{|{{|{{{|{{{{|{z{|}|}|||{{{|{||z|{||{{||{z{{{{zz|||{|{||{{{{{z{{}|{{|||||{{|{|{{{{|||||}||{|{{z{||{|{}||{{{{{z|{||}||{|{|{{{{z{|{||{|{|}|||||{{z||{{{|||z{{{{|z{{{||||}||{{{{{{{|{|{|{||{z{{z{{{{|{{|~~~~~}}}}||}{||{{|||{}{||||{|{}{{|||{{|{|{z|zzz{z{{|{{|{{{|z{{{z{{|{{|{|z{{{{{{z{{{{z{{{{|{z{zyz{z{{{{zz{zzzz{z{{{{{z{{zz{{zzz{z{{{z{|{|{{zzz{zzz|{|{z{{{z{zzz{zzzz{{||{z{zz{zzz{{{{||z|{z{{{zzzzz{{{{||zzzz{{{{z{{|{{|{{{zz{z{{{||{||||{{zzzz|{{{{||{{{z{{z{yz{{||{|{|{{|{{zz{z|{|{{|{{z{{{{{{{z|||z||{{{zz{{{z{{|{{|{||{z|z{z{{{||||||{{z{{{{z||{|z{||{{{{{z{{|{|{|||||{|{{{{{||{|{{}|{{|z{{{{||||||||{{{|{|{{|||{|||}|{{{z{{{||{||}{||{z{{{{z{|{{{|}||z{{|{{|{||{z|||{{|z|{{{{|}|{|||z|{{zz{z{|{||z}|{{{z{{zzzz||{~}}~~~}|}}|{|{|||}}}|||{|{|{|{||{|}{|}|{{{|{{{{}{|z{||{z{zz{{z{|{|{z{|{{|zz|{z{|{zz{||{{{{{{{{{|}z|{||z{z{{z{{z{z{{{{|zz{z{z{{{||{{{|z{z{zy{zz|{z||{||{{|zzz{{z|z{{|z{{zzzz{{{|{{{z{{|{zz{{{{{{|{{|{|{zz{z{|{z{{z}{|||{{{{{zzz{{||}|{|z{{zzz{{|{{{z{{{{{{{z|z{||{|{|{}|{{{{{{z|{{{{|{|{{{{{{{z{|||||{|{{{z{{{{|{|{{{{||}{{||z{{{||||}|{{|{{{|{|{|{|{||{z{{{{{z{|{||{{}{{zz{{{{||||||}||{{{{{{z{{||||{||{||{{{|{}||{}}|}{{}{z||{{}|{}}|{|{{{{{{{|{||||||{{|{{z|{|{||}||{{z{{z{{|||||||{|{{zz|{{{}{{{|||{{{{|{z{{|{{z~~~~~|}}}||}}||}~}}|}{|{|z}{||||||}|||{{{{z{{{{{{{{||{{{{{z{z|{{{|{||{{|{{y{{z|{yz{||{{{{z{z{{{|zz|z|{zz{z{zz{{{{{{z|zz{{zz{{z|{{{z|{{zz{{z{z{{|{{{{{zz{z|{{zz{|{z{||{{{zz{zzz|z{{{|{{{zyz{zz{{{{{{{|{z{{z{{z{{{{{||{{z{zzz{|{{{{|{{|{{{zz{{zz{z{|{{{{{{z{z{{|{||{|{{y{{{{z{{z{{z{}|z|{{{{|{{{{|{|{}{{{{{|z{{{|||{}|{|{z{||{z|{{|{|{|{{{{|z{{{{{}||{||z{|{{zz{||||{||{{{{{{{||}|{|}||{||y|{{zz{||{|}||{{|{{|{{~||{||{{{||{{{|||||{}{{|{{z{{{{|{{}|{||{|{{|{{|{|{|||||{{{{z|z{|{|{|{}||zz{z|{z{{|{{{{{|z{zz{zz{{|{{~~~~~|~}|||||~}||}}~|||{{{|{}||}|||}|{|{z{z|{|{|{||||{{{{{{z|{|{||||z{{z{{|z{|z{||{zzz|{{zz{{{{z{|{{{{{{zzz{{{{}{{{|{zz{{xzz{{zzz{|{z{{{zzz{{{{zz|{{{z|z{zzz{{|{{||}{{{zzy{z{{{{{z{|z{zz{zzz|{{{{{{|{{{{{{{|{|{||{{|{{zz|{{{|||{{{{{{y{{{z{{||{{|{||{z|{zzzz{{|||{{||{{z{{{|{||{|||{|{z|{zz{{{||||{{|z{|{{zz|{{|{||z|z|zz|{{|{|||{||{||{{|{{||{}||}||{{{{{{{{||||||||{||{{{{||}}||||{{|{{{{||{{|||}}|{||{{{||}||||}||{||{{{||{|}|||}|{{{{|{||{|||}||}|}|{||{||{|||||{{{{{|{{{}||||{|{|{|{z{{{{|||{}{{{{{{{{{z||{{~~~~}}}}}}|}~}~}|}||||{{|{|{|{|}||}{{{{{{z|{{|}|||}||{|{{{z{|||{{|{|zzz{zz{z{|||y{|z|{{{|{{{{{|{{{|z{{|zz{z{{{|{{|{{{zzz|z{zzz|{z}{z{zz{{{{z{{|{{{||z{||z{{{z{{z{{||{{|{{z|yz||{z{{{{{{{|z{{||{{{{|{{{|z{{zz{z{{|}|{{|{z{z{z{{{|{|||{z{z{{|{|||{|{||{z{{z{{z{z|{||||{{{|z{{{{|{||||{{z{||{{{||||||}z{{||{z{{}{|}{||||{{{{{{{|||}|{||{{{{||{{|}{{{{||{|{{{{{{{}}|||}||{{{|{||||||}||}{{{{{||{|{{||||}||}|z{|||||||}}}|{||{|{|{}|||}|||z{{{||||{{|{}|}|{{|{|{||}||{||}|{{|z{{{}}|||{|{|{{{{{|z{||{{{}||z{z{{|{|{|||~~~~}}}}||}}}}}{}{|||||{|||{|{|}}|z{|z{z{||{||{|}{z|zz{{{{{||{||}{|{z{{{z|{|{{}||{|{zz{{{{|{{{||{{{{zz|z{|{{{{{{{{{zz{{z{{{{{{{{{|zz{z{z{{{|||{{{{{{{zz{{{z{|{{{{{{{{z{zz{|{|{|{{{{|{{{{{z|{||{||{{y{{{zy{|{||{||{|z{zy{{{|{{{{{|{{{z{{z{||||||{|{{|z{{||{|{{{|||{{}z|{|z{{|||}||{z|{{{{z}||}|{{|{{{|{{|z|||{|||||{||{{{{|{|}||}}{{{{{{||{{{||||||z{|{{{{{||||}}{|{{{{z{{|||{|||}|{||{{{|{{||||||}|{{{|{{{|}||}||}{{||{{||{{}|{||{|{{|{{||{|||||}|||||{{|||||||||{||{{{{|{|||{|||{{|{z||z{{|{||z}{{{zzz{{{{|{|}~~~|}|{||}}|~|}~}}|}{||{{||{|}||||{{||{{{|{|||z|||{zz|{{{z||{{}{|}{{{z{{zz{{{{{{{{z{zzz{zz{|{z|{{{{zzz{{zz{{|{||||z{zzzz{zz{{{{||{|zzzzz{{{{{{{{{|{{{z{{{z{|{{{{{{{{{{zz{{{{{z{{{{|{{z{z{{{{{{{{{|{{z{|{zz{|{z{{||{z{{{{{zz|{}{{{|{{{z{z{z{{{|{|||{|{z|z{{{|}||{{||{{{{y|{{{{||{{{{z{|{{zz{||{{{}|{z{{{{z{{|{{{{|||{{z{{z|{{{{{||{{{{{{z|{}{{|||||{z{{z{{{{|||||{||{{z{z{z||{{|||||{{zz|||{|{{||||||{|{{{|{}{|||{}|{{{{{z{|||{{|{|||{{{{{{{{|}||{||{{{|{{||{|||{|}{{{{z||{{|||{|}|{{{z{zzz||{|{{||{{{{{{{{{{{{{~}||{}|}|~|{}}}|||{||}|}|}{{||{}{{z|||{{{|{{|{|||{|z|{{{z{{||{{{|{{|zz{zz||{{{||{{z{z{z|{{{{z{|{|{z{{z{{z{{{||{{{{z{z{{z{z||{{{{{{{{{{{{z{{{{}z{{|{zz{{z|{{||{{||z{{{zz{z{{{{{{||{{{zzz||z|{z{{{{z{{{{}{{{{||{|{|{{{{|{{{{{{|{{{|zz{{{z{{{{{}{z{|{{{{{z{{|z|{{}{|{|{|{z|{{|||{|||{z|zz{zz{{||{|{{|{{{{{|{|}|{|{||||z{{{|{{|||||{}{|{{{|||||{}|||}{{{{{{|z|||||||}||{|{{{{|}||{||}z||{{{||{|{||}|}}{{|{{|}z||}|}}||||||{{{|||{{|}|||{z{{{||{|{||}|{{||{{{|||||||||{{{{{|{|{{z|}||||{{{{{{z{|{{{||{|z{z{z{z{z||{}~~~}}}||}|}~|||}}|||{|{{{|{|}|||{|{||{{|{{{||{|||{{zz{{|{{{|{{|{{z|{{z{{{{{{{{||{|{{z{{{{{{|{{{{{{{{{z{{{{|{{{{{|{zz}z{zz|{|{z||{{zzzyz{{{{{|z{||{{{{{zyz{{z|{{{{|z{{{{{yz{{{{{{{|{{z{{zz{{{{{|{|z{z{|{zz{||{|{||{||{{zz{|||{|}{|{|zz{y{||{|{{{{{{zz{z{{z|{{{|{|{|z{{{z{zz{{||{}{{{{{{{{z||{{z{}|{{z{{{|{{|||z|{{zz|{{{{{||{}|||{{{{z{{{{||{||}{{{{||{{|{|{{||{|{|{{||{|{||||||}|{{{|z}|{{|{}}||||{{||||z||}||}||||z|{{|{}|}||}|}|{{|{{{{||{{|||||{{z||{|||{{{|||}|{z{{{zz|{|||}|{|{{{z|z{{|{|{}{z{{{|{z{{{|{|~~}}}~~~}}||}}|}}}}}|{||{{{||}{||}|{|{{|{{z{|{||{|{{z{z{{{{|{{{|{{|{{{{{{zz{|{|{|{{{z{{z{{{{{{|z{{{z|{{{|zzz|z{z{|{{zzzzzz{{{{{{{|{{z{zz{zz|{|{|||{{zzzz{z{{{|z{{||{z{z{{z{z{z{{{|z{|z{z{{z{|{|z|{|zz{{{{{{z{|{{||{{{|z{zz{|{{{{|{|{{{{{{{{|z|{{{}|z{zzz{{z{{|{{{||{{z{{z|z{||{{||{|{|{{{z{{{||{||{{{z{{{{{|{{{{{{{{{{z{{{||{{{}|}||{|{|{{{{|{|{|||{{{{{{{z{|||{|{||{{{|z{{||||{|||{{{{{}||{|}|{||||{{{{{|{{||}{|}|||{|{{{{||z{|||{|z{z|{zz|}|{|{|{{|{{{{{|{{|{{|||||{{{{{|{|{|||{|{||{{z{{||||{||}{|{{{z{{{z|{z~}}||||||||}}}}||}{|{{|||||||||||}{|{{{{z|||{|{|{}|{z{{zz||{||{}}{{{{{{{z{|zzz{}{{{{zzz{{|{|z{|||zzzzz{zz{|z||{{{zzz|{zzz{{{y{{||{z{{zzzzz|{{|{{|{{{zzz{z{|{|{{|{{{z{zzzzz{|z{|{|{{zz{{z{{{|{{{|{{|{z{{zzz{|z{{|z{{{{{{z{{{|{z{||{{|z|z{z{{{|||||{{{z{{|{|{{|{{||{{{{{z{{{{{{{{{{{z|{z{{{{|{{|{{|{{{{|z{{|{||{||{{|{{{{{{{{||||{|{{{||{|{||||{|}{|{z|{zz{{|{||||z|{z||{{{|}}|||}}{{{|{||{{||}{||}|{z|{|{|{|{}{{|||{|{{{{{|{|{|||{{{|}{|{{{||{||}||{{{{|||{|{|{}||{z{{{{{{{|{|||}}{{{{zzzz{|{{{{|||||z{{{{{{|}{~~~~~}|}|{}}}|}|}|{}|z{||{|}{|{|}||||{|{{{z||{|z{{{{{z{y{{y|{{{{{{{{{{{zyyz{{{{z|{{{z{zzy{z{{{{z{{{{z{{{{z{{z{|z{{{z{{{zz{z{{{zz{{{z{zzzzz{z{{{z{{z{{{{{zyz{{{{|{|{{{zzzzyy{{z|{z{{{zyz{{{z{{z|z{{{{z{zz{{z{{|{{{|{{{z{z{|z{{z|{{||{z{{zzz||z|{{||{z{|{zz{y{{{{{{||{zzz{z{z{||{{{{{{{{{{{{yz{||{|{|{{z{{{z||||{z|||{z{{zz{z{||{{{|{z{{{{{{{|}{{|||||z{{zz{{{{||{|{|{y{{{{{z{|{{{|{{{{{{{{{{{|{{|{|}{z{{{{{z|~|||{|||{{|{|{|{z|||||{{z{{{{{{|||{z||{|{z{{}{z|||||{|||{{z{{{{{|||{|{}{{zz{{{z{{|{{{{|{z{zy{zz{{{|{~~~}}||}|}~}}|}}}|}|||||{||{||||||{||{{{|z|{||{|{|||{{{{{{{{{{{{}|{{|z{z{{|{{|{|}|{z{zz{{zz{{|{||{{{{z{{z{{{{{{||{{{zz{z{{{|{{|{|z|{{{{{z{{z||||{|{{|{z{zz{|||{{|{zz{{{z{zz{{{{|{|{|{z{{{zz{||||{{{z{z{z{z|{||{||{{{z{zz{{||||||{{{{{{z{{{||{{||||z||{{{{{{|{{{||||{|{{|zz{|{{{|{{{z{|{{z{|{|{{||{|{|{{{{|{|{{{||{{{{|{{{||{|}|||{{{z{{|||{||||{}|{{{{{{zz|}}||}||{zzz{{{z}||{{|||z{z|{||{|||{|||}}|{{z{||{|{||}}||{|{{{{{{||||||||{z{{z|{||{|||||||{{||z|||}|||}|{{|{{z{{{{|{|}||{{z{{{|{|{||{{|||{|{{z|z||{{{}~~~|~|}}}}}}||}}~~|}|||{||z|}}|||}|{{{|{{{z|{{|||||||z|z{{{|}||||{|{{{{{|{{{{||{||{{z{{z{z{{|{{|{|{||{{z{{{{{{{{{{{{z{{zzzz{{{{{{{{{zz{z{zz{{|||}||{{{{{{{{{|{|z{||z{{{{zz{{{{{|{{||zzy{z{{{|{{z||{|{{|zzz{{||{{|||{z{z|z|z{||{}|||{z{{zz{{{{|{{|||{{|{z{z{{{{|{|{|{|{{{{{{{||{|||{{z|{{{{{{|}|||||z{{{z{|{{{{|||{{{|{{{{{{|||||}||{{{{{{{{{|{|}||{|{||{|{{||||{}||{{|{|z{z|||||||||{|{z{{{|}|{|}|{|{{|||{|{||||||||{|{{z|{|{||{|{|{|{{{{z|||{|}|}}|}||{{z||{||||{}|{{z|{{{{||||}}|{{{{{z{z||{{{zz{{z{{{{z{|{|||~~}~}}}||||}|~|||}}{{|{||{}{|{||}|{{{{z{{z{||}{{{{{{{zy{{z|{|{|{{{{{|z{{{{|{{{{||{{zz{z{z{{|{{{{{|z{{zzzz|{|{{|||{zz{{{zy{z{|{|{{{{{z{{{z{{{{{|{z{{{{zzzz{{{{{{{{{{zzz{{zz{|z|{|{{{zz|{z{zy|{{||{|{y|zz{zzz{|{{{{{}{{z{z{{{{{||{{{zz{{zyz{{{{{{|{{{z{{zz{{|{|{||{|z{{{zzzz{||||||{{{{{{{zz||{|{|{{|{{{zz{{{||||{{|||{{{{{{z{||{|{{{{{{z{{{{|{|||||{{{|{{{{||{|{|}|{z{{{{{{|||{||}|z{|{{}||{{|{||||{{{{|{{{|||{}}||{|||{{{|||}||||z{{z{{z{|{{{|{{|{{|{{z{{||{{{|}{{|{{z|{z{{|{|{|}{{z|{{{|z{{{|{{{z{{|{{z{{|{}{{~~~}}}~|{|{}}}}}}}|||{|{|{|{{}||}|{{{{{{{|||{{|{||{z{{{{z{{{{{{{||{z{{{{{z{{{{{{||{zzz{{yzz{{|{{z{zzzz{{zz{{{|{{|{zzz{{{{z{{|{{{|{{z{{{{z{{{{z|{||{z{{zz{y{{{||||{{{{zzz{zz{|{{|{{{{z{zz{z{|{{{|{|z{{z{|z{{{{{{{|||{{{{{{{{{{{|}{|z{{{{{z{||{||}{{|z|{{{|{{|||z{{{||{{{z{{{{||{{|{{{{{{{{{{{{{{|}|{{{{{|z{|{|z|{{|{|{{|{|{{{{{||{}{{{{{{{{z|{}|}}|{|{{{z{{{}|{|{||{{{{{{{{|||||{}{|{||{||{{}|||||||z{{{{{{}}|{}|||{|{||{|{||}||}{{|{|||{{{|{|}||}||{{|{|{|{{{{{|{{||z{{{{{{|{|||}||{||{|{z|{{||{||{{|{{{|z{{|{{~}~}}|||||}|}}}}}~}{{|{||||||{|}{|{{{{{{{|{|||{||||{{{{z|z{||{|{||{{{z{{{zz{|{{||{{|{{{z{z{z{{{z{{z|z{{{z{{{{{{|||{zzzz{{{{{{{{{|{{|y{{zz{y{z{{|{{zzzzzzz{zzz{{{{{{{{{{{{yz{{z{{{|{|{y{z{{zz{{{{{|y{{z{{zzz{{{|||{{{{{zzz{{{{{{{||{{{{{z{|{{{|||{|{{|{zz{{{{}{|{{|{{zz|{{{{{{{{||{{{{{{z{z{{||{|||{y{z{z{{{||{{{{{{{z{{z{{}{|||{||{{{{z{|{{{{|||||{z{{{{zz|{|{||{|{{{{{{{{|}|{{|||{{{z|||{||||{||||{||{|{{||}||{||||||{{{{|||||||||{||{|||{|||||}~|{{{|{{{||}||||{z|{z{|{{{{z||{}||}{{z|{{||{||{|}{{|z{z{z{{|{|~~~~}}}||{||}}}}}||}|}}||||{|||||||}}{{|zzz{||||||{{{{{yyz{z{{||{{|{{{|zz{{{{z{{z|{{{{zz{{{z{{|{{{{z{z{zz{z{{{{zz{{|zzzzz{zz{{{|{{{{|z{z{zzz{{{|{{{{{z{zzzyy{z{|{{{|{zz{zy{y{{zz{|{{{zzy{{z{z{z{{||{zz{zz{zz{|{{{{{|{{z{zzzz{{|{{{||{z{zzz{z{{{{{z{{|zzzzzz{z{{{{{{}{{{{{z{{|{z{|{{{{{zz|{{{|{|{{|||{{{{{zz{|||{{{}|{{{{|z{{{||{|||{|{z{{{{z{{|{|||||{{zzz{{{{{|{||{|{z{{{{{{|||||{||{{z{}||{|z{|}{|||{{z{{{{}|{|{|||z|{z{|{|{{||||{||{z{{{|{{|{||}|||||||{{|||||||{{{|z{|{{{{{||||{{{{zz{{{{}||{{||{{z|zz|{{{{|{~~~~~~}~}}|}||~}}}}}}{|{|{}|{{{||{}|{|{{{z{{|}}|}{{}||{{z{{{{|z|{{{{}{z{{zz{{z{{|{||||{z{z{z{|||{{|{{|{z{{{{{|{{|z|{|zz{z{zzz{{|{{|{z{|{{{z{zz{{{|{{{{z{zzzzz||}|{{||{{{z{{{z{{{{{||{z{zzzz{z{{||||{|{{z{|z{{{{{|{{}{z{|z{z|z||{{{|||{z{{{{{{{{|{|{||zzzz{z{{{|||{{||{{{z{zz{{|{{{||{|z{{{{zz|}{{{{{{{{|{{|{z||{|{|||{z|{{{{z||{||||{z|{{{||{|||||||}{{{}|{z{||}||||{|||||{{||||||}}||{{{{{{{{|||||}|{{||{{{{|}{||}}{{{{z{{{||||||||||{{|{{|{{{{|}||||||{|{{{{|{|}}||||{{{|{{||{}|||z{{|{{{{z{|{}||||||{{z{{{|{{{{~}~~}~}|~|}|~}~|||}}|z|{{|{||{{{|||||{}{{{{{||{}{{||{{{y{y{z{{{z||{||{{{{{{z{||{{{||{{z{{zz{||{{{{{{||{y|z{{{{{{z|{|{z{z{zzzz{{z{|{|{zz{zzzz{{{{{{{|z{{{y{zz{{{{{|{{{{{{{z{{z{{{{{{|zzz{{z{{{{{{{{z{|z{{{{{z{{{||z||{{{{|zzz||{{z||{{z{{zz{{{{{{{|||{{z{z{zz{||{||}|{{|{|z{{{{{|{|{|{z|{{z{||||||{{|{{z{{z{{z{}z{{|{|{{{{{z{z{||{}{||zz{|{{{|{{||{||{{{{{zz{{{|{|{||{z{{{{{{|}{|||{|{{{|{||{|}{|||||||z{z{{{{~|{}||||{{|{{|{|||{}}|||{{{{z{||{|{{|||||{|{{|||{{|{}|}{|{{{|{||||{||{{{}{{{{|{{|{||||{z{{zzz{{{{|{{}~~~|}}|}||{}}}|~|}|{{{{z{zz{{||||||{{{{|zzyz{|||{|||{{z{zz{zz{|{{{{{{zz{{zzz{z|{{|{{{{{{zzz{{{{{|zz{z{zzzzz{{{{{{|{{zz{zyz{{{z|{}z{{{{z{{z{z{{{{{{{{z{{zzz{{{zzzz{|{z{zzz{yz{zz{{{{{{z{{z{z{{{{z{{|zzz{z{{z{{{{{{|zz{{zzz{{{{||z{||zzz{{z{zz|{|{{{{{{{z{z{z{{|{{{{{z{{z{yzz{{||z|{{z{{{z|{z{{{{{{{|{z{z{{{{z|{{|{{z{zz{{{{{||||{|||z||{z{{z|||||{|{{{{z{zz{{{||{{{||z{{|{{{|}{{||||{{{{{{{z{{{{{|{|}{{{z{{|{|}|{||{{z{{{{z{|{{||{|{{{{zz{{|{{{}{||{|{{{}z|{z{|{{|||{zz{{{{z|{|{|{||{|zzz{{z{}{{z{{|zz{{{z{z{||{{~~~|}}|||||||}||}|}||{{|}{{}{|||{{||z{||{{{|{{{|{}z|z{{|{{z{{|{{|}{{{{{z{{z{{zz{{{||{z{{zz{|{{{{{{{zz{zz{z{{{{{{|{{{zyzz{z{z{|{{{|{|{{zz{zz{{{{{{|{{{zzzzyz{{|{{{{{zz{z{z{{y{{||{|{{{{zzz{y{{{{{{|{z{||z{|{z|{{{|z{{zzz{z{{{||{z{{}|{|{{{z{{{{{{||{{z{zz{z{|{{|||||zy{z{z{{z||{{{|{{{{z{z{{{|{{{||{{{{|{{{{|{|{{||{{{|{zy|{{{{{|||}z{{{{{{z|}{|{|}|{{{{{{{zz{|{|{|{|z{|{{z{||{||{|||z{z{{z{{||||||||{{{{{{{{~||||}||{z{{z|{{|||||{|{{{{|zy{||{{|{{}{{z||{{{{{||||||{|{z{z{{{{{{{||{|z{{{zzzz|{{{{{|{{{{zz{z{||{||~~}|}||}}||{}}}|||{||z|z||||||}||zzzz{{{{{|{||||{||zzz|z{|||{}{|{{|z{{|{z{zzz|}{{{z{{{z{{{|{z{{{{{z{zz{z{{{{{{{|{{zz{z{z||{|zz{{zzzzzzz{zz{{||z{{{{zz{{z{}z{z{{{z{{z{z{z{{{{{{{|{yzzzz{{{{{{{||z{{{{{{{z{{{{{{z{{{{{|{zz||||z{{|{z{{{z{{{{|{|{{{{z{{{{{{{z{{{{||{{{{{z{{{||{||{|{{|{{{{{{|}{{{||{z{{{{{{|||{{{{|zzz{{z{{{{||{||{{z||{{{|{{|{||{|{{{{{zz|{{||{}|||{{{{y{z||}|}|||{z|{z|{|||{||||||{{|{|{{{}|||}||z|{{z{{{{|{||{||||{{{{{{{z||}|}}||{{|{{||{|{}|}|{{|z{z{z||||||z{|{z|z{{z{{||{||{|{|z{{z{{{{{{~~~~}~~||||}}}}|||~}|{{z||z||{|{|||{{||{z{{{|}}{{}||{|zz{{{{|{{{|{|{{{{{z{z{|z{{{|{zz{z{zz{{{|{{{{zz{zzzzz{{{z{{|{zzz{z|{zz{{{|zz{{{{{{z{z{{{{z{{{{{z{{{{{z{|z{|z{{{zzzz{{{z{z|z{||{{z{{z{{y||{y{{{{zzz{|{{|z|{{|||{zz{{z{{{|{{{{{|{z{{{z{{{{z{{||{{z{zyzz{{|{{}|||z{{zzzz{{|{{||{|{{{||z{|{{|{{{{{|z{|{zz{{||{z||{{{{{{{z{{||||{||{|{{{{|{{{{{|}||z{{{{{z{||||{||{{||{{{{{{|||{|||{|{{z|{|{{{||{{||{||{|{{z||{||}|{{{{{||{|||}||}|{{z{{{|{{{{|||{|{|{{{|z{|{||||{|{{{{{{{{{||||||||{{{{{zz||{|{}|{{{zz{{{{{||{|~~~~~}}}}||||}}||}||}||{{|z{||||}|||||z{{{zzz{|}|{|}{{{z{z{z{{{{{z||{{z{{{{z{z{{{|}{{{z{z{z{z{{{z{{{|{z{zzzyz{z{{{{{{zzz{{{{{{|{{{||z|z{{z{z{{|{{||{{{{{{z{zz{z|{{{||{{{{{{{zz{{{|{|{z|{zzz{{z|{{{|{{{z{z{z{{{{{{{{||{zzz{z{{{{{{{{{{|z{{z{z{||{|{{{|{{{{{{{{{{{{{|||||{|{{z{{{{{{|||{y{{{z{{||||{||||{{{{{{{{|{||{{|{|{{{|{z|{||||||{{{z{{|{{||}{||||z{{{z{{||}|{||||z{{{|{z||}||}||{|{{|||{|||||||||{||{|{||||||{~||{|||z{{||{{||||{{{z{{||||{|{}|||||{{{{{|||{{{||{}|zz{{{{|{||}|}|{{{{{zz{{|{|{{{{{{z|{|{{|z{{~~~}}}~}{}}|}}~||}}~}|}|{{|||{{{}|||||{{{|z{|{}{{{{||||{{{z{{{||||z|{{z{{{z{{{z{{zz{|{|z{{z{{{|{|z{{|{{{yz{z{{z||{{|{{|y{{{zzz{{{{{{}{{{z{zz{z{{{{|{|{{z{zzzzyz{{{{{{|{zzz{{zz{{|z{{{{{{z|{z{zz|{{zz{|{z{{{z{z{{{|{{{{{|{z{{zz{||{{|}{z{z{z{z{{{{||{{|}{|{z{z|||{{{}||{{{{{{|{|{{||||{{{zz{{z{||||||||{{{{{z{{|{{||||{|z|{{||{|{|}{}||{|{{{{{{|{{|{||||{z{{{{{|{{{{|}{|{|{|{|{|{|||}||{{|z{|{z{}||{}|||{||{|{|{}||}{|||{|{{|{{{|{|}||}|{{z{{{{{||||||||{{{|{|||}{||{{}{{||{{{|||{{|||}{|{{z|||{}{||{|{||{{{{|{{z|||~~}~}}~}~||{|{}}}|}|||||{|{{|z{{{|{|||{{{z{|z{{|{||{|{{{{{y{{{|{{|{|{|{{{z|z{z{{{{|{{{{{{{z{z{|{{|z{{{{z{{z{{zz{{{{{}{z{{{zz{z{zz{{{{{|{zzy{z{{z{{{{{{y{{{{{{{z||{{|{{{{z{{z{z{{z{zz{{{zzz{zzzz|{{{z}|zz{z{zzz{{{{z{}|{{{{zy{z{{|{{{{|z{|z{z{{{{{{{z{{|{zz{{{{{z{{|{|||z{{{{zz{{||{|||{zz{{{z{{{{{{zzz|{{{{{z{{{{{{||{|{{{{z{z{z|}||||{{{{||{|{|{|||||{{{{z{{{|||{|}|{|z{{{|{|||||||||{|{{z{{|{|{{}}|||{{{|||{{|{}|||}{{{{{|{z|{||||}|{{{{|{z{||{{|||||{{|{zz|{|||}|}|{|{{{{{|||||||{}|{z|{{{{{{{|||}|{|{{{z{{|||{{~~~~~|||||}|}|}||}||||{{{z{|{{{||{|||{{{{z{{{||}{||}{{{|{{{z{{|{z|{}{z{z{z|z{||{{{{{{{{{{{z{|{{{{|||{{{{zyz{z|{||||{{{zz|z{zz{{{{{|{zzz{zzz{|{|{{{{{z{{z{{{z{{{{{{|{{zzz{{zz{{{z{z{{|{{zz{{z{{z{|{{{|{{zz{{z|z{}{{{|{z{zzzz{z{z|{|{|{z|{{z{{{{{{{{||{{{{|z{z{{}{{|||{{{z{z{z{|{||||||zzz{{z{||||||}||{{{{z{z{|{|{|}{{{{z{|{{{|}|{|}{{{{{|{{{|{|||{{}|{||{z{z{}|||||||{|{{{{{{{||{|}|{{yz|{||||||}||z}{{{{||{{}{||}}|}|{{||{{{}}|{|||{{{|z||{||||}|{|z{{||{{{|{|}||{|{{{||{{|{}{{{||||{{{{z|{|{||{{{|{{|z{{{z||{{|~}~~~}}|||||}}}}}}}}|{}||{|||{|{|{}}||{|z{z{{||{{{|||z{{{zz{|{|{{{{|{{{{zz|{{{{zz||{{{{{{zzz{|{{{|||{{{{{zz|zz{{{{|{{{zzz{{{{|{{||{{|z{{z{{{{{{{|{|{{{{z{z{{{|{{{{}{zz{{z{{z{{z{z|{{|{{z{{z{{{|{{{||z{{{{{{{|{{{||||{{z{z{{{{|z|{{{{{{{{{{zz{{{|{|||{{z{z{z|{z|{{{||z{{{|{{{{|{|z|{{{{z{{z{{{|}||||{|||{{z{{|||{{|{||{z{{{{{{{||}|||{{{{{{|{|||}}{|}{|{{z{{{|{|{|{}{|z{z{{{{||||{|||{z{{{{||{|||||}}{|{{z|{{{}{||{}}|{|{{z{{|{|{||{||z{|z|{{{|{|||||{{{{|{{{{|}}||{|{|z{{z{|||z{{}}||{z{|{|{|{||{{||{{{|{{z{{|{|{~}~}~~~~~}}}|||}||}|}}||}}|||{{{{|{|||{}}|{|{{{{{|{|{{|}|{{{{{z{z|{{{||{|z{{z{{{z{||z||{{{{{zy{|z{{{{{{{{zz{{y{{{|{{{{{z|z{z{|zz{{||{||{{{zy{{{zz{{|{{{{|zz{{{z{zz{|{z|||{{z{zz{zz|{z|{||{zz{z{{zz|z{{}{||zz{{{{z{z|{{{{|zzz{{{{{z|{{{||||{|{{{{{{{|{z|||{y|{z{z{|{|{|||{|z{{zy{{{{|||{{{{z{{zz{z{{{{z{||{{{{{{{z|||{z|{{{z{z{{}{{||||{||zz{{{{{|{|{|{||{|{{{{{{{|}}{{||}{{z{{{{||||||}|||{{|{{||{}{{|||{||{|{|{{z|||||||{{z{{{|{|{{{{|}||z{|{{{{|{{|{||{|||{||z{|}|||||||{{{{||{||||||}|{|||zzz{{||||{||z{{{zz{{{{{{{~~}~~~}}}}}}}}|{}z}}~}|}|{|}||{{z{{||{}||||{{{zzzz{{{|z|{||{{zzz{z{{|{{|||{z{{{{{{z{|{{{|{{{z{{zz{z{{{{|{{zz{yzzzzz{{zz{||{zz{zzzz{|{{|{{{zzzyz{{zz|{{{{z{{{|zz{zz{z{{z|{{|z{{yzzzz{{{{{{z{{{{zzzz{zz{{{{|{{zz{zzz{|{{{{{{z{{{|{yz{{{||{{|{z{{{zz{{{{{{{{|{z{{zzz{z{|{{{{|{{{{{zz{{{z{{}{|{{{{z{{{|{{{{{|{z{{{{{zz|{||{}z{z{{y|{{{|{}|{{||z{{{{{z{{|{||}{|||{{{{z{{|{|||}{|z|z{{|{||{{{|}|{z{{|{|{|{{{}|{||{|{{|{z|||||{}||z|{{{{z|}{||{|||{{{|z{{|{|{|||}{{{||{{z|{|{||||{{{{|{|{{|{{||||z|{||{{z{|||||{{|zzz{{{||{{{{~~~}~~~}~}}~}|||{|{}}}}}|}}|{|{{{{{|{||{||||{{{{{{zz{{|{|{{{{z{z{zz|{{{{{{{zz{{{{{z{{{zz|z{{zzy{zzz{{|{z{{{{y{zzyzz{{z{z|{|zzzzzzzyz{{{{z{{{{zzzzy{{|{z{{{|zy{zzyzzz|z|{{{{zz{zz{z{{{||{{{{{{{{z{zz{{|{{{{{{z{zzz{zz{{{{{{{z{z{{z{{{|{{|{{|{y{{z{{{{{{z{{{|{{{zz{{{{{{{|z|{{{{{z{{{{|{{{{{|{{{{z{{zz|{{|{{z{{zz{{{z{{|{|{{{{zzz{{{z|{|{{||{{{z{{{{z||{|{|}||{z{|{{{||z{|{{||{{{{{z{||{|{||{|{|{{{{{{{||{|||{z{zz{|{|}|||{||{z|{|{{z{|}|{{{|{{z|{|z||{{{{|||{{{{{{{|{{{|||{|{{{{{{{{z||}{{||{{{{z{{{{{||{{{{{z{{zy{z|{|z{}~~~~~~~}~||||{|||}||||}}}||{{||{|||||||{|{{|{{{{{|||{{|||{{{z{zzz|{||{|{|{z{{z{zz{||z{{z{{zz{z{z{{{|{{{{|z{z{z{z}||{{{{|{{{{{zz|{{{{{{{{{{z{{z{{z{{||{|{|z|{{{zzz|{{{{{{|{z{{{{{y{{{{{{{{{{{zz{{z{{{{|{|{{zzz{|z{z{z|{||{zz{{{{{z{{{{{{|{{z{{zz|{{{{z{{{{{{{{{{{{|||{|||{{|{{zz{{{{{|{|||z{|{{{{|}{|{{|~{{zz}{{z{{|{{z||{|||{{|z|{}}|{}}|{{|z{{{||{{|{||}{{{{zzzz{{}|||}||{{{|{|{{||}{||}|z|{{{{|||{{}||||z{{z|z{}||||||||{||{{{||||||||||{{{|{{||||||||}{|{{|{|{{|}|||||{{{{{|{{|{||||||{{z{z{{{|{||{|||{{|z{{z{}{||{~}}~~~~}~}}~}}|{|{|~||}||}||{{z||{|||{{||{{{z{{{z{{{|{|||{|{{{z{{z|{z|||{|{{{zz|{{{{z||{||{{{{{{{{z{{z|||{{{{{{{{z{|{{{|{|zz{{y{zz{|{{{|{{zz{zz{z{z{{{||||{{{y{zzz{{{{{|}{{{{{zz{{z{{{|||{{{{z{{|z{{{{{{||{{{{{zzz{{{{|{}|{z{z|zzz|{{||{{{z{|{{z{{||{|||{|{{{zz{{z{{|{||||{{{{zz{{{}{{|{}{|{z{{z{{|}{|{||{{|{|zz{|{}{{{{|{{|{{{{{z||||||{|{||||z|{{|{{{{|||{{{{{z||{{{|||{{{{{{{{{||z|{|}{|{{|{{{||}|||}|}{{{z|{{{{}}{|||~|{z|{z||}{|||||}{z{{{|{{{||{|||}}{{{||{{}{|}|||||}zz{{{{{|||{|}||{||||||{||}{|||z{{{{{{{|||{|~}}|}~~}|~~}~}||~}|{||||{}}}{{z|z{{{}||z{||||{{{{{{{{||{{{||{{{zz{{z{z{{{{|{{{z{|{zz{{{z{{||{{{z{{{{z{{z{{|{{z{zz{z{{{{{{|{|z{zzzz{{{|{z{{|{{z{zzzzz|{|z|{{{{y{zzz{z{{{{{|z|zzz{{{{zz{{z{{|{{zzzzzz{{|z{z{{{{{{z{zzz{||{|{{|{{yz{{{y{{{|z|{}{z{{{z{{|{z{{{{{{{|{z{z{{{{||{|{zzz{{z{z{|{||{||{||{{{{z|{{{|{|{|z{{{{{{z{{{z{|{{{||{{z{{{|{{{||{||{{z|{|}||{|||{{|{{{zz|||||{{||z{{{{|{z|{||{||{|{zz{{{|||{|||{|{{|{|{{|}{}|||}{z{{{{{|{|||}|{|{{{zz|{{{|{|||||||z{|{{|||z|||}|{{{{{|{{z{||{||||{{{z{z{{||{{{|{{{{{{z{z||{{|~~~~}~~~~~~~}}{|}{||||||{|}|||{z{||{||{{|||{|{{{{z{{{|}|{{||z{zz{{{{|||{z{{{{{{{z|{z{|{{{||}|{{z{{zz{|z{{||{{z{{z{z{{|{{z|{|z{{{{z{{|||z{{|{|zz{z{zz{{|{{|||z{{zzzz{|{{{{{{{{{z{z{z{|{{|z{|z{{z{zz{{z{|{{{|{{z{z{{{{{{|{||}|{{{zyzzz||z{{{|{z{z|{{|{{|{||{{}z{{{{{{z{{|{{|}|{z|z{z{{{||||||{{z{{{{{{{|{{{||{{{||{{|{|{|zz}||{{z{{{{{{||{||||{{{||{{{{}|{{||||{{|{zz{|||||}|||{{||{{{|}{z{|||{|zz{{{{z{|}||||{z{{{{{|||||}|{{{{z{{{|{|{{}|||||z{{z|{{|{|||||||{{|{{{{||{{}|||{z{{{{{{||{{|||{{|{{{zz{{|{||{||{{|{{z{z||||{~}}~~~~~~~~~}}{|}|||{}|}||}|||}{|{|}{{||}|||}}{{z{z{{z|{{|{{|||z{zzz{z|{|{{|||{z{{{z{zz||{{|{{|{{z{{z{{||z{||{z{zzz{{{{||{|{z{{zyzzy{zz|{{{{{{{{z{z{{z{|{{{|{{{z{{zyzz{{|{|{{|{{z{yzzz{|{{{{{|z{zyz{{z{|{{{{|{{zz{|{zz{{|{{|||{z{z{z{z|||{||{|{|{{{zz{{{{{||||zz{{{|{{{{{{{|}{|z{{|z{zz|{{{||}{zzz{zz{||||{||{|{zz{{{z|||{{{|{|z{z{{|{|{||||{{zz{{{{|{{|{{|{}}|{{z{{zz{{||{|}|{z||{{{{|||{||||{|{{z|{{{||||||}|{z|{|{||||||}|||{{{{||{|{}{|{||{|{{{{{{|{{|{|}|||{{|{{||{{|{||{z|{z{{{{{|}{{{|{{{{z{zz{|{{||{|{|{|z|{{{|||{{~}}~~~}}}}~}}~~}||||z|{|}}|}|}|{|{{||{z|||||||||||{z{{z{{{}|{}|{{|z{z{z{{{{z|{||{{{zz{z{|{{{|||{{{{{z{zzz|{{{{{{{{{{{z{{{z{{{{|z{zy{{zz{{{}{{{{{{{{{{zzz{{{{{{|zzz{yz|{{{{{|{|{{{z{zzz{z{{zz|{{|zzzzz{yz{{{{|z|{{zz{z{z{{{z|{{{z{zzz{{{z||{{{{{{z{{{z{{{{{{||{|y{z{z{{z{{{{{{z{{{zz{{{{||{{{{{|{{{{{z{{{||{|{|{{{{{{{{{|||{{||||{|z{{{{|{||{}|{{{{{{{{{|{||{{|||zz{{{zz{||{||{{{{z|{{{z|||||||||{{|{{z|||{|||||||{|{||{{||||{}|||{|{{{z{|||||{|}{{{z|{|{|{z|||||{|{||{||}{|||||{{z{{{{{{||{||||{{|{{{{z|{{{{||{{|z{zz{{|{{{|~~}}}~~}~}~}~}~~}||}|}|}|}}~}}||{|{{{{{|{|{||}||{{z{{{{{{|{z{|||{z{z{|{||||{{|}z{{{zzz{{{{{{{{{{{z{{z{zz{|{{{z{{z{y{{z{zz{{{z|{{{{{zz{z{{|{{|{{z|z{y|{zz|{{{||{z|{{{{{z{|{|z{||{z{{{z{{{|{{{{{{|zzy{zzz|{{{z||{|z|{zzz{{{|{zz|{{{{zzy|z{||{{||||{{{{{{{|{{{||{|z{{{{{{z{|{{{{{|{{{{{{{{{{|{{{{{|{{{zz{z{|{{{{||{{z{{z{{z|{|{{{}|{z{z{{|{{||}|||{{{{{||{|||||{|}|{{{{{z{z||||||{|{{{{{{{||||}||||z{{{|{z||{||}}||{{{{{{{|}{}||}|{|z|{{{{{|{|{||||{{{{{|||{{{}|||||{{{z{{|{{}|}||{||{z{{{{|{|||||||{z{{||{|{|}||{z{{z{{{{{{{{|}}}|}~|~}~}}~}~||{|{{|{|}|{}}}{|{{|{{{}|}{|{{{|z|{{z||||{||{{||{|zzz{z|{{|{{{{zzzzz{z{{{{z{{|{{z{{{{z{{{|{{{{{{{z{z{{zzz{{{{z{z{{zz{{z{z{||{{{||z{z{zz{{{{{{||{z{{z{{z{|{|{{{|z{{{zzzzz{{{z{{{z{zzzz{z{{{y{{||{z|z{z{{|{{|{||{{z{|{z{zz{{{z{||{z{{{{{{{{{{{{{|{{{{z|{z{||{||||z{z{|z{{{|{{{|{||{{{{{{{|{{|{{||{{{{{{{{||||{|{{z{{{|{{z|{|{{||{{z{z{z{{{{||{{|}{{{{{{zz|{||||||{{z{{|{|}|{{||{{{{|{z|{{{||||}{{|{||{|{{{}||{|{}{{{||{|{{|{||||{{{{|{{{{|||||||||{|{{|{||{z|||z||{zzz|{z{|{|{|}|z{z{zzz{{{||{||{|{{z{z{{|{{z{}~~{|}||~}}}}}|}|}|{{{|||}{|{||||{{z{{{z|{{z|{|||y{|{z{{|{{|{z|{{{{{{z{zz|z{{|{|zzz{{{zzz|{{z{{z{zzzzy{z|{{{{|{zzyzz{z{zz{{{{|{{z{{zzzzzz{|{{{{{{{zzzzzz{{|{{{|{y{zzz{zz{{{z{{|{zzzzzzzz{{zz{{{z{z{{{zzz{{{z{z{{{{{z{zzzyz|{{|||{z{z{z{{{{|{{{{{|z{z{z|{z{{{{{|{zz{zz{y{{{{|{{{z{{{{{z{z{{{{{|{{{{{{{{{z{||{zz|{z{zzzz{{{|{z{|{|{{z{{{zz{||{{|{|{{z{{{{|{|{|||||{{{||{z{||z{{||{|{{{{z|{{||{{|{{{{z{{|{{||{{|}|{|{{{{{z{{||||||||{{|{{{|{{{{{|||{{{{{zz{|{{|{{{}|z{{{z{{}{||{|||{zz{{|z{z{{|||{{|{z{{{z{|{||{||{zz{z{zz{{{{|{~~~}}~{||}}|}}|||||||{z{|{|}}}|~{{{||{|z{||{|||{{{|{zz{|||{{{|{{{zz{zz{{z{{|{{z|{z{zzzzz{zz{{{|{|z{zz{{z|{{{{{z{z{{{z{{{zz{|{{{|{{|{zzzzz|{{{{{{zzz{z{z{{{zz{{z{zy{zz{z{z{|{|{{|{{{z{zzy|{{z{{{|z{z{{zzz{z{{{z{{{{z{|{{zz|{{{{{{zz{z{z{zz{||{z{|{{{{{z{{{y{|||{{|z{zzz{{||||{{{{zzz{{{{{z|{{|{{{{{zz{z{z{{||{{{||z{z{{{{{{||{{{{|{|z{z{|{|||||||{{{{{{{{||{|{{{{|z{{{{z{{{||{{}}z{z{|{{{|{|}|{|||{|{{{{{z|{{{||||{{{{{{{{}||||||{{z{{{{{|{|{|{|||zz{{{|{|{|||{||{{z{|{zz{|||{{|}{{{{{zzz|}{{||||z|{{zz{{z}{{{{||{{{z{zz{{|{||~}}~~}}}}}}~}}|~}}||}||z||}{||}|}||}{{z{{|}}||||}||{{z{{z|{||{{{||{{zzz{{z{|{|||||{z{{z{z{{|{|{{{{{z{z{z{{|||{{|z{{{{zz{{z{{{|{|{{z{{z{{{z{{|z{{|{{{{{zz{{{{{z|{{|{{|{zz{z{{{|{{{{zz{z{zy{zzz{|{{|{|{{zz{z{{{|{{|zz{{z{{{z{|{{{|||{zz{{zz{|{{{{|{|{{{zzz{z{{{{{|}{{z{zzz{{{{{||{{{{{{z{{{{{|{|{}||{{{{z|{{{|{||{|{|{{{|{{{{|{{|||}|z{{|{{{||||||||{{|{{{|{{|{|{|}|{{||{{z|||}||{}{|{|{|{||||||{|||z{{|z|{{||{{}|{||{{z{{{{z}|||{|}|{{|{{{{||||}{|{{{{}||z||{|{|||}}|z{|{{|||||||||}{{z|z{{{{{||}{|{{z{{{{z{}||{|||{{{||{|z|||{|~~~~}}}~|}}}~}}|~|||{||||{|}||{||}|{{{{|z{|{|{||||{z{{|{{z{{{{{z|{|{|z{z{z{{{{{{{|z{{{{|{{z{{{{|{{{zzzzz{{{z{|{|{{{{{z{{zz{z{{{|{|zz{{{{{{z{|||{|{{zz{z{zz{z|{{{|||z{{zzz{z{|{|{||{z{z{zzy|||{{{{{{z{{zyzz{|z{z{{|zz{z{{zz{{{{{|||{z{z{z{{{|{{{{{|{z{zzz{{{{{|{|{{{{z{z{z{{{{{{{||z{|{{zz{{|{||}{||z{{z{z{{{||{{|{{{z{{{{|{z{{|||{|{{{{{{{||}{{{|{{|{z{{{{{|{{|{{||z{{zz{{}|||||{||{{z{{{|{||||||}|{{{{z{z|{|{|||}|{{{{{{{|||||||||{{{yy{{||z|{||{|{z{{{{{{||||{|||||{{{|{|||{|}|{{|{{{{|{{{|||||{{z{z{{{|{|{}{{{|{z{|{zz{{|||z~~~}}~}}||}|}||}|}}|||{{|||}||{}|||{||{{{{|{{||{}{|{{{|{{{||{{{{|||{{{{{{z||||||{||{{z{{{{{{{|{{|{{z{{{z{z|{zz|||{{zz{zzz{{{|{{{z|{z{zz{zz{{{{z{|{{{{zz{z{{z||{|||{zzzzzzz{{z|{|{zz{{zz{{z{{{{{{{|zz{z{zz{zz{z{{{{{zzz{{{z|{||{{{z{{zyzzz|{|{{{||{{{{{|zz{{{{|{|{|{z|{||z{{{|{{|||z{zz{z{{{||{||||{{|{zzz{||{{{|{{|{z{{{z{|}||||{{|{{z|z{z||||}|}{{||{z{|{|||||||||{{||z{{{|}{||{|{z||z{{{|{{|{||}{z{{{||||||{}|{}{{||{{{{z||}{|}|{{}{{|{{|{{|}|}{|{{|{{{||{|}|||}}{{{{{{{||||}}||{||z|{zz|||{|}{{|{{{{|zz{{{{{{|{{{{z|{z{{{|{z}~~}~|~}}|~||}}}}}}|{}{{{||}|}|||}|||{{|}{{|{|z}}||{y|{{{zz{{{|||||{|{{z{{|||||{|}{|z{zzz{z{{|z{{|{z{{z{|zz|||{|||{|z{z{{{z{{z{|{|{{{{zz{{{z{{{{{|{{|{{{zzz{{||{|{||{{{y{{|zz|{z{{|{{{z{{{z{{{{{|{{zyz{zz{{{{z{{|||z{{{{{|z{zz|||||z{{z{z{{||{{{{|{{zzzz{z{|{{|{|{|{{{{zy{{{{{||}||z|{z{{{{{{||{{||{{{{{{{{{{|z{||{{|z{{{z{z||{||||{{{|{z{|{{{|{||{{z{{|{{{|}||{}||{|||{{{{|}}|||}}|{{{{{{|{||{|||}{{{{{z{{|||||}|{|{|{|{|{|}|||}|{||||{||{||{|}||}{{|{{z|{{|{|}||}||z{{|{z||}|{||||{{z{{{{{|||}{|||{{{{z|z{|{||{|{|{{{{{z{{{|||~}~}}}}|~||||}}|}}||}|{|{||}|||||}{{|{z{{z||||{|}{|yz|{{z{{{{|{z|{z|zzzzzz{{{{{{||{{|{z{{{{{|{z{|{zz{{z{yy{z{{{{z{{{{zzzzz{{{{{{{{|zzzzz{{z{{{{|{{{{zzy{z{{{{z|{{{{z|zz{yz{{|{{{{{{z{{zzzyz|{z{{z{{{zzzzzzzzzzz|{|z{{z{{{{{{{z{{||{{z{{z{{|{{{{{|{|{{z{zzz|{z|{{||zz{{zz{{{z||||{|{{zzzzz{{|{||{|{{{{{{yz{{{|z{{|{{z{{{{|{|{|{{{|{|z{y{{{{{{|{|{||{{{{{z{{{{{{||||{{{|{{{zz{|{{{|{{{{{|{|z|}|{}||{{{{z{{|{z|z{||}}{|{{||{{{{|||||||{{|{{|{}||{|}||{{{z{|{{{||{||||{{{{|{z{||{||}||{{{z{{{{|{||{{|||{|z{{zz{||{}||{{{z{{{{z{|{{|}~}}|}}|~}||}}|}||}}}||{|z|}{||{}||{{{{||{{{{{|}{{||z{{{{{{{|||{{|||||zz{zz{{{|{{||z{z{y{zy{{{z{{{|{{{{z{zz{z|zz{|{y{{{z{{{z{{|{||{{{zyzzz{z{{{|{{{z{{{{{z{{|{{{{|{{z{{zzz{{|z{{{{z{z{{{z{z|{{z{|{|zz{z{z{z{{{z{|{{{{{z{z{z{z|{{||{|{z{zzz{z{{{{z{|{{{{{{{|{||{||||z{{zz|zz{z{|{|{|{{z{{{|{{|z{{{{{{{{{{z{{|z|{{{||{zz{{{{|{|{{z||{{{{{z{{z{||||}{}{{{{|zz{{{{}{|||{{{{{{{z{||{|||{}{||{{{{{}{{{|}{{{{{{{{|{{{{|||||{{|{|{{{}|||||||zz|{{{{|||}|{||}|{{|{z{||||||}|{{{|{z|{|{}|{||}{{{{{{|z{|{{||{||{y{{zz{|{||{{{|{z{zzz{{{{{|{}~}|}|~}||z|}}|}}|~|{||{{{{||{|||{{|||z{{zz|{|{{{{||{|z{{zz|||}{{||{zz{z{{z{{{|{|{|{{{zz{{z{{|{{{|{|zzzz{zz|{{z{{{{{{zzz|{{z{|z{{{{z{zzzzz{{|{{{{|{{z{{yzz{{{{{|{||{{{zzzzz{|{{{{{|{z{z{{zzz{|{|{{{{{{zzzzz{{{zz||{z{{{z{{zz||{|{|{{{{z{{{zz{|{|||z{{z{{z{z{{|{{{{|{{{z{z{z{{|||||{{{zz{z{{{|{{{||||{{{{{{z{z|{{{||{{{{|{{{{{|{{{|{{z{{z{{{{|{|{|{|||{z|z{{{{{|{|{}{{z{z{zz{|{{|||{|z{z{{{{||||{||||{|{z{|{{||{}||||{zz{|||{|{||{|||{{{|{|{|{|||||||z{{{z{||{|{|||}{|{{|{{{|{||{{|}{z{{{|{|||{||{}{{{{{{{{z||||{{{{|{z{z{z{{{|z|~}}||~}}|}{|}|{}|}|{{|{{{z{|{{{|{||{{zz{z{z{||{|{||{{{|{z{z{{|||{|{{{{yyz{z{z||zz{z{z{z{{zzz{zzz{{|zzzzzzzz{{{{z{{zz{zzzzy{|zz{z{{{zzzzzzzy{{{{{{|{{zzzzzz{z|{z|{zzz{z{z{zzzz{{|{{{zzzz{zzzz{z{z|{z{zzz{z{zz{{{{{{|{y{z{{zzz{{{|{|{{{zzzzzz{{{{{{{{zzz{{{{{{{|{{{|{{z{zz{zzz{{z|{{{z{zz{y{z{{{{{{{{{z{{zz{z|{|z{|{|{zzzz{{{|||{{{||{zz{zzzzz|{|{|{|{z{{{{{z{{{{{{||{z{{{{zz{|{z|{||{zz{{z{z||{|{|||{{|{{{{{{{{||{{|}zz|z{y{{|{{||||{|{{{{|{|{|{{{|{||{|{z{}{{|{z{{{{z{{{{{{{{{|{||{|{{z{{zz{|{{{||{{{z|zz{z{{{{{z|{zz{{{zz{{{{{{}}~|||}|}|{}}}|||||{|||{{{{{{|{}{}||{|zz{|{|{{|{|{{{{{zz{zz{{{{{z|{{zzxz{{z|z{{{|{|z{{z{z{zy{{{z|{{{{{{zzzyz{{{z||{zyzzzzz{z{{}{{{|{{{{{zzz{{{zz{{{{z{zz{yz{{{z||{|zz{{z{zzz{{{{{{|zz{zzyzy{{{{{{{{{{y{zz{zz|{{{{{{{zzzz{zz{{{z||||{{zy{z{z{{{|z{|{{{zz{y{z{{{{{{{|{z{{zzz{{z|{{{||{z{z{z{{{|{|{{{zz{{{z{{z{{{{{||{z{{{{zzz{|{{{|{{{{z{{{{z{{{||||{z|z{{{{{{|z{{{||{z{z{z{z{|{||{|{{z{{{{z{{|{{{{||{z{{{z|{}||{|{{{|zz{z{z{{|{{|{||{{{{||z{{{|z|||{|{{{zz{{|{|{|{||{{{{{{{{||{{||||{z{{z{z{{|{{|||{{zzz{z{{{||{z{||z{{z{{{{|{{{{}}~}|}}|{|||}}}}|}}||{{{{|{{|||{}{||{|z{{zz|{|{||{|z{|{{zzz{z|}|||{{{zzzzzz{{|{{{||{{{zz{{zy|{z{{{{z{z{zzzyz{|{{|{{{z{zzzz{{z{{{{{{z{z{{z{z{z{{|||{{z{{z{yz{{{z{{{{z{{zz{{{{{{{{|{}{z{{{z{z{{zzzz{{{{zzzzzy{z||{||z{zzzz{{z|{{{z{|}zzzyzz{z{{{{zz|{|zz{yz{z{|z{{|z|{{z{zz{{z{||{||{{{{{{y|z||{{{|{|{z{z{z|{{{{{||{z{{z{zz{{{||{{||{{{zz{{z{{|{{|{|{zz{{|z{{||{|}|||{{{{{{{z|{{|z||{|{{{{{{{{||||||}||{{{|{{{{{{|||||zz{{|zz{{|||{|{|{{{{{{{||}{|{{{|{z{{{{z{{|{|||||{{|{|{{|{|{||{|{{{{{y{{{|{|{|||{{zz{zz{{|z|{|{|{{{{{zyzz{|{{}||}|||||{{}|||}|}|}|{|{||||}||}}|||{z{z{z|{|{{||{{|z{zz{z|z{||{{||{{z{{z{{{{{{{||{{z{zzzzz{{{{{{|{{{z{{{zy{{|{z{|{{zzy{{zz{{|{{z{{zzzzzyzzz|{{{||{z{{z{zzz{{{z{{{{z{zzz{z{|{{|{{||{zz{{y{{z{{z{{{{zzzzz|yyz{{{z{{{zz{zzz{z{{{{z||{{z{{zz{z{|{zz{{{zz{z{z{z{|{{{|||zz{{y{zz{{{|{{{|z{{{zyzz{{||{||{{zzzzz{z{|{|z||{{zz{{{{z|{|{{}{{{{{{|{z|{|||||z|{{{{{{{{{|||{|{}|z{{{z{{{{{|{||||{{|{{{{|||{|||{{z||||{{|{{{|||||{{{z|{{z{|||}|{|{{{z{{{{}|}{|{{|{z|{{z||{|{{||||{z|{{zz|||{{|||y|{{{{{zz|{|||||{||{{{{z{{|}z{||{{{z{z{{{{{{|}}~}}|{}|}~}}||}||}|||{||{{|{|{{||}{{{z{{|{{|{{}|||{{zz{{{z|||}{||{|{{z{z{{|{{{z|{}{{{{{zzz{{||||{{{{||{yzz{{|{{{{{{{{{z{zz{{{{{||{{{z{{zzzz{{|{{{{{{{|{{{{{{{{{{||{|{|y{zz{|{|{{{}{zz{{{zz{|{{{|{z|z{zzzzz||z|{|{{zz{{{{{zz{{{{{|{|{{{z{z{|{{{|z{|{z{|z{{{{{|||{{}{zzz{{z{z|||{{{|{{|{{z|{|||{{||{{{{|{{{z|||z{{|{{{z{{{z{{{{{{|||zz{{zz{z|||{}||}{{{{||{|{{||||{|{{z|{{{{{||{{||||{{{|{{{|||{|{{}|{{{z{||||{|||{||{|{zz{z|||||}||{z{|{{|||||{||}{{{{{|{z{{{|z{|}}|{||{{{{}|{|||||{{{{{z{{{{{|}{}|z{zzz{{{{||{{|{{{{{{zzzz{{||{}}}{{|||{||}}}{{|}||{||{{{||}||{{{{}|{zz|z{{{{{|{{}{{{z{z{z{{||{||{{{{zzzzz{{{zz{{{zzzz{z{y{{{{{|||{{{{zzz{{{{{{|{{{z{zz{{z{{{{z{{{{zy{{z{{{{{||{{{{zzzz{zz|{|{{|{{{zzzzzzz{|z{{|{{{{{z{z{zz{{{{{{{zzz{{zyzz{z{{|{{{zz{z{zy{{{|{{|{{zz{zz{y{{{{{{z|z{{zz{zz{{{|{{{|{{yyzz{z{zz{{{{{{z{{{zzzz||{z||{||{z{{zz{{|{z{{{{z{|{{{{|{{{|{|{|{z{{{{{z{}|||{|{{{{{|{{{|{}||||{{{zz{||{|{{{||{|z{{|{|{||{{|{{|{{{{{{|{||{{||{|{{{{{|{|{|||||{|}{z|{z|{||||||{|z{{|{{{{{|{{||||||z{{{z{||{|z{{|{{{z{z{{{{|{{|{{{{{{zz|z{|z}{{|z{zzz{zz{{|{{z}}}}}|{|{}||}||{}|}|{|z{{{{||z{|{}{|{{{z{{z|{}{{||{z{{zzyz{{{||{{{{{{|{z{|{{|z{{{{|zy{zz{{y{{|{{|{{{{z{zzzz{{|{{{{{|z{{z{{z{z{z|{{{{{zz{{z{{{|{{|{{{zz{{zzz{|{{{{|{zzzz{{{z{z{{{{{zzzz{zzzzz{{z{{{z{z{z{zzzzz{{{||{zz{{{{z{{{|z{{|{zzzz{z{z|{{z{{{{{z{z{{{{z{|z{{{|{{|zzz{y|{}{z{{{{{|zzz{z{|{{{|{{|{{y{zz{{{{zz|}{{{zz{zz{{|{{{{||{zz{|zz{{{||{{|{{|z{{{{{|{{{||||{{|{{{z{||||||||{{{z{z{{|{|{|{{}{{}{z{z{|}{|||||{z{||{{z{|{{|||||{{{{{{{{{}|{|}}|{{{{|{|||{{|{||{{z{{{z{{{{|||||{{zz{yz{z{||{||{|zz{{{||{|{|{{{{z{{zzz{{{{{{z}||||{{|||{|}}}|}}|{{z{{z{{|}|||{}||{{z{|{z|{{|{||}|z{z{zz{{|||{{|{{|zzzz{z{{|{{|{|zz{{{zzz{{zzz|{{{{{z{zzzyz|{z|{{{z{zz{|z{z{zz|{{z|z{{zzzz{||z|{{zz{{y{{{z{{{|{{||z{{{z{z|{{{z{{{zz{z{zzzz{{{{|z|zzyzz{zzz{zzz|{|y{zz{{zz|{{|{|{{{{zzzzzz{{{{{{{||z{zz{{z{z{{{{|{z{{zz{{{{z{|{{||{{{||zz{|||{|||{{{|{{zz{{{}{||}{{{z{{{z{||{{{|{|{{z|z{{{{|||{|{|z|z|||||||{}||||{{{{|z{|{||{|||z{{{{z{|{|||||{|||{{{{{|{{{|{|}|{||{{{{{{{}|{||||{z||{z{{{{z|{||||z{{z|{{||||{|{|{|{z{z{{{|||||}}||{z{{{z|||{|||{{{|z{{{{{z||{{{z|z{{{z{{{{|{{~~|}|||{|{|}|}||||}|||{{{{{}{|{|||}|zzz{{z{{|{|{{||{z{{z{{{{{}{|{{|{|{{zzz{z{|zz{y{{{{{{{zz||zzzz||{z{zyzzz|{{{{{{{{{{zyz{{{{{|}{{{{zyzzz{z{z|{{||{{{{zz{{zzz{{{{{{{{|{z{zz{zz{{z{{zzzzzz{zz{{{{{{{|{z{zz{{z{{z{{{|{{z|zz{{{{{{{{|{zzzzy{{{z{{{zz|{{z{{{z|z{{{{{{{{{z{{{z{y{{|{|||{{zzzzzzz{|{|{{{zz{z{{{zz{|{{z{{{{{z{{{zz||{{{{||{{{{{z{{{{|}|{||{{|{{{{|z||{{{||{{{{{{{{{{{}{{{|{{|z{{{z|||||}{|{z{{z{{|||{||||||{{{|{{|{||||{|}|{z{{{{{|||||{||{|{{|{{|z{|{|{|||{{{{z{{||{|||||{z{{{z{{{|{|{|||{{{{z{{zz|{}{z|{{z{y{yz{z{{{|||}}||{||{||||{|||}z{|{{z{{{|||{||}||zz{{|{|z{{||||||z{zz{zz{{z|z|{{z|zzz{y{{{|z|{|z{{{z{{zz|{z{{{|{zz{zz{{|zz{{{{{{z{{y{y{{{{{|{{|z{{y{zzz{z|{{{{{{zz{zzz{z{{z|z|{|z{zzz{yz|{z{{{{{zyzzz{z{zz{{{|{{{z{xz{zz|zz{{{{{{zz{{zz{{{{{{||{z{|{{zyz{{{{{{{|z|{zz{z{{|{{{|{{|z|zzzz{{{{{|||z{{zzyzz{{|||{{{{{{{zzz{{{|{{{|{{z{z{{{z|{|{{|{{{{{{{{{{{||||||{zz{{{{|{{||{z|||{{{{{{{{{{|{|{{z|{{|{zy{{|{|||||{{{{{z|{||z|{{|{|{z|{|z{{}{|||||{{||{{{z||{||||||{{{|z{||{{{{}|||{||{{{{||||{||{{|{z{|{{{{|{|{||{z{{{{z{{|{zz||{|{{zzzzzz{{|{|{||}||{z|{|}}{|||{||{{|{{{{|{{{{|{|{{{{{|{||{{||{||zyzzzz{z{{|{{{|{{zzzz{z||{{{||{z{{{y{zzz{{{{{{{{{zzzzzz{z{{z|{{{{zzz{yz|{{{{z{|z{z{z|z{{{{{{{|{y{z{{{z{{{{z|{{{{zz{zzzy{{{{{{{|zzzzzz{z{z{zzzz{{{zy{z{{{{{z{{{|{z{zz{zzz{|{{|{|{zz|zz{{{z{z{||{{{{z{zzz{z||z{{|{{zzz{z{z{{zzz{{zzz{zzzz{{{|{{{{{{z{{z{z{|{||{|{{zy{zz{{{{{z{|||{z{{zzz{|{||{{{|{{{{{z{{{|{||{}|{zz{zz{{{{|{||||{zzyzz{{||{z}{|{{{{{{z|{{|{||||{}z{z{{{{{|||{|{|{z{|{|{z{{|{{{{{{{zz|{{|||{{{|{|}{{z{{z{||{|{{||z{z{{{zz|{{{{||{{{zzzz{z{|{{{{|||{{z{zzzy{{{{}}||{{{{{|{z{{|{}||{{|{{z{z||{|{|{}{{{yzz{z{|z{|||{{|{z{{zzz|||{{|{||zzzz{{{{{{{{|{zzzzzz{z{{{{{z{{{{{zy{zz{{{{z{{{{z{zzz{z{{|{z{z{{zz{{{z{{{|z{{{{{zz{{z{z{z{{{{z{{zz{yzz{{{{zz|{|{{z{zzzzzzz{{zzzzz{zzzzzz{|{{|{{{{zzzzzzz{{{{{{zzyz{zzyz{|{{y{{{{y{z{z{z|zz{{z{{zz{yz{zz||zz|{|{|zz{{{zz{||{z|{{{z{zz{zz{||z{z|z{{z{zz{{z{{{{|{{{z{{{zzz{|{{||||{{z|{{|{|{||{|{}{z{z{zz{{{{|{||{|{{{{z{{|||{|{{{{zz{{{|{{|{{|{{|{{{{z||{z|{{|{|{|||{{z{{{{{|||z{|{{{|z{{{{{|{{{|{{|z{zz{|{{||{{{{{y{|{|zz{{{z{|z||z{{zzzz{{{{|{{z{{zy{zz{{{zz|}}|}{|{{{{|}{{|||}|{{{|z{{{{|{{{{|{{{z{{zz{{{{{||{{zzz{zyz{{{{z{||zz{zzzzzzz{{{{||{z{z|zzz{{{z{|{{z{{z{zzz{{{zz{z{z{{z{{zz{{{{{{}{{{{zzz{z{{zy{z|{{{z{zyzzz{{{{{{|{zzyy{zy|{{{{{{{z{{z{y{z{{|z{{z{{z{z{zzzz{zz{|{{zz{z{zzzz{{z{z||{z{{{z{z{{{{z|||zz{zzzzz{{z|{|{|zzzzzz{y{{{{{|{{{{{zyz{z{|{z{|{||zzzz{{z{|||z||{{zz{z{|{{{||{{|{|{{z{{{{{{{||||{{|{{||{z{{}|{|{|{zz{|{z{{{|{|||{{z{{{{{{{{{|||||{{{{||{|{|{{{|{{}z|{z|{{z}{|{|{||{|{{zz{||{{{{||{{zzz{{{||{{||||{{{{{{z{{{{{{|}|{z{z{{z{{{{{{{{{z{{{{{{z{{|{{{|{{zz{{||zz{|||}}{|{{||{}{{|||||{|{{{z{{{z{{||{{|}{{z{{{zz{z{{{|{||{{{zz|{{|||z{||{|{zzzzy{{{{{|{|{y{z{zzz{{{|z{{{{zzyyzzz{z{{{{{{z{{zzzzzz{|{zzz{{{zzzz{{zz{{|z|{zzzzzzz{{{zz||{zzz{{yzzyz{{{|||||{z{{zzzzz{{{{|{z{{z{zz{z|{{|{{|z{zz{z{z{|{|{{{|{{{{{{z|{{|{{{{|{z|z{z{zz{z{{{{|z{zy{{{z{||{{|||zzzz{zz{{|{||{|{{z{{zzzz{{|{{||z|{{{{{{z|}|{{{|{|{zzzzzz||{||{{|{z|{{{{z}|{{{||{{z||{{{{|{|{{{{{{zz{{|{{||{z|{}{{{|z{{{{{{{||||||{{{{{{{{}||{{{|{|||{z{{{}||z|{{||{{{{{{z|{{|||||z|{{{{{{|{||{}|{z{{{{{|{|{{}{{||{z{zzzz{{||{||{|{{zz{{z{{{|{}{|||||{{{{|||}|||}||{{|{z{{|{||||||{{{{{{{{|{|{}||{{{{{zzz{{{|{{|{{{{zz{{z{z{{{{{{{{{{z{{zz{z{{|{{|z|{{z{zz{|{{z{|{{{z{|{zz{{{{{|{zz{z{z{{{{|||{|{zz{{z{yz|z|{z{|z{{z{z{zz{{{z|{{|{zz{{zz{zz||z{z{{{zz{zzzz{|{{{|{zz{{zz{yz{{{{{{z{{{{{{{{{z{{{{{|{z{{z{zz{{{{{|}|{{{z{{z{{{zz{{{{{{{{{{zz{{{|{}|}z{|{|{{{z{||{||{{{{{z{{|{{|{{{{{{{{{{z{{||{{{{||zz|{|{{{{{||||{|{{|{{{zz}||{|||{|zz{|{z{{|{{||}|zz{{{{|{|}||||||z{{{{{{{|}|||||{{{|||{{{||}|z|||{{{{{{{|||{||}|}{{{{{{{{{|{||{||{z{{{{{{{{{|{||||z|{yz{{{{{{||{|{{zz{zzzz{z|{||||||{||{{||{{{|}||{{{|y{{|{{|{|{|{{z{z{{{|{{|{{|{{z{{z{z{{{{{{{|{{z{z{z{z{{{{z{{{zzzzzzzy{{|{{||{z{{{zzyzz{{|z{z|{{zz{{z{zzzz|z|{{z{z{zzzz{{{{{|z{{{yyzzz{{|{|||{{zz{z{{zz{{{{{{{zzz{zz{{{z{{{z{{zz{zz{z{zz{z{{||yzz{z{zz||{|z{z{{{{y{z{z{||{{{{z{{z{z{{z{z{|||{{zz{{zz{{}{|{{||{{z{z{y{{{{{{{{{}{{{y{{z|{{{||||{z{{|{{{z{{{|{|z{{z{z|{z{z{{}{{{{z|{{zz|{||{}{{||{{{|{{zzz{{}{|{||z{{{{|{z}{{{||{{{{{{{{{{{||||{||{|{{{{z{|{|{|{||{{{|{|{|{{{{{|{|z||{{{{{|{{|{}}|zz|z{z{{|{{{{|{z{{z{{z{|{{||||}{z{{z{|{{{{{z{{{{zzz{y{zz{|{||||{||z{{{}{{||}|||||{{{{z{{{|{{{}{{{z{{{zz|z|{{{|{zz{zy{z{{{{|{{|{z{{zyzzz|{{}|{|{{z{zzzzz{{{z{{{{{{zzyyy{|z|{z||{zzzz{zz{zz{{{{{{z{zyzz{zzz{{{{{zzzzzz|zz{|{|{|{y|{{zyz{yz{z{{{{{{{zzzz{z{{zz{|z{zz{{zz{y{{z{z{{{{z{{{z{z{{{{z{{{{zyz{zzy{{{z{{z{|z{{zzzz{z{z{{{|zzzz{|zz{z{z{|{|{{{z{y|z{{||{|{zyz{z{zz{z||zz{}|{|{z{{z{{||{z|||{{{z{{{z{{|||{||z{|z||{{{|{|{{|{{{{{{{{y{||{|{{|}|z{{{{|{|||{{}|{{{{{{z{|{|{|}{{{{z{{{z{{~||}|{||z{|z{{z{}|}z}{|{{|{{zz{{{{||{{|{{z|{zz|{{z|{}||{{{yz{z{|{|{{{|{{{z{z{zzz|||{{{{{{{z{z{z{z{{{{|{{{{{{|{z|||{{z{||{{{z{{{{|{{{{{{zz{z{{|z|{z{{|||{{z{zzy{{{{{z|z|{{zzy{zz{{{{{{{zy{zzzzyzz|z{{{|{{z{zzyyz|{{zz{{z|{zzzzzzz{{{{|{{zzzzzzzz{{{{z|{z{zzyzzyzz{{{{|{{zzzzz{zyz{|{z{{{{z{zzzzzz{zz{{z{{{{zz{z{z{{zz{{zzz{z{zzzzzz{z{{}{zz{zzz{{{zz{|||{zz{zzz{z|{{{|{|{zzyyyz{|{{{{{{{{{zzzzzzz{{{{|{{z{{{zzz{{z{{{{|z{{zz{{{z|{{{{||{{z{{zzz{{{{z{|}|{zz{{{{{|{z{{{|}z{{{z{z|{||{||||{zzzzz{zz||{{z{||z{zz{{{|{{||{|{||z|{{{{|{{|{|||{z{|{{{{{{|{z|{{|{{z{|{|{{{||{{{{{z{|{{{{|{{|{|zz{z{zzz{|{{{z|||z|{|y{zz{|{||{{{{zz{z{{{{{{{{}|}|{{{z|{{{||{|}|}{{z{{{{{z{|{{{{|{{z{z{{z{{{{{{||{{{{zzzz{zz|{z|{{||{{z{{|{{|z|{{{zz{{{{z{z{z{|{|z{{y{zz{{{{zz{{{z{{yzzzz{{{{{{{{{zz{zyzz{{z{z{{zz{yzzzzy{{{z{{||zy{{{zzzz{{z|z{{{zzz{xzz{{zz{{{|{{z{|zzz{{{zz|{{{zzz{{{yz|{{|{|{zz{z{yzzz|{z{{{|{zzzzzz{|z{{{{||{{{{zyz{{{{|z{||{zz{{{{{|||||{{{{z{zzzzzz{|{z|}{{{z{{z{{{{|||{{|{{{z{z{{{{|{|||{{{{{{{{{|{{{{|||{|{{{zz{{{||{|{{{{z{{{{{{{|{{||{zz{{z{|{|||{|{{{|{|z{{||{||{|||||{{|z{{{}{|||{|{{zz|z{{{{{|{{{}{|{z|{zz{{{||||{|{{{{{{zz{{{{{{|{||{{zzzz{|{|{||z{{{z{zz{|{{|||}|{{{{{{|{||z{z{||{{{{{{{{|{|{{||||zzzzz{z{|{{|{{|z{{zzz{{||{{||{{{{y{z{zzz|z|z|{{{zzzz{{z{{{zz||{zzzzz{{zz|{{{|{{{{zzzzy||z{{{|z{z{yz{zzzzzz{zz|z{{{zz{zzz{|{{{{{{{zzzy{z{{{{|{{{y{zzzzzy{{{{{{{|{{zy{z{zzzz{{|{{zzz{zz{z{{{|z{{{{{{{zyzz{{{z{{{{{{{zzzz{z{{{{{||zz{{z{zzz{{z|{{{{{zzz{{{{|{{{|{{{{zz{{zz{{{{||||{{zzz{z||{|z|{||{{{z{z{|{{|{{|{|{{{{{z||{{{|{{{|{|{{{{z{{||{||||{{{{zz{z||{|{{||{{{{z{{||{{{||||{{{z{{{z{}||}|{|{{{{zz{{{||{{}{{{{{{{{{{{|{||||{|{z|{{z{{|{|{{|{z{{y|z{{{{||{{|z{{zz{{{z{|{{|z|{{{{z{zxz{{|{{}|{{|{|z||{{}{}|}{|{|{z{z{{{{{|{}||{zzz{zzz{z|{{|z|{zz{{yzz|{{||{{{z{zyzzzzz|{{{|{{{{zz{zzzz{{z{{{z{z{zzz{zz{{{{{z{z{z{zz{y|{zzzzz|{z{zzyzzz{z{{z|z{zzyz{zy{z{{z{z{{|{{zzzzz{{{zz{{{{zzzzzz{zz{{|{{zyz{yzzzz{z{{{{|{zz{zz{z{{z{{z|{{{zzz{{zz|{{{{{{zzzz{y{z{z{z{{{|{z{z{zzz{{{{{{{{{z{z{{z{z{{{{|{|{{zz{zzz{{{{{{|{{zz{{z{{{{{{{||{{{{{z{{z}{}{{|||{{|{{|{{{{z|{|||{zz{{{zz{|{{|{|||zzzzz{{|||z|z{|{{{zy|{{{|{{|{|{{|z{{z|z{|{|||||{{{{{{{z|||{{|||{z{zz|{{||||||||{{{{{{{{{||{|z||{{{{z|z{{z{|{|{||{z{z{{z{{{{{|||{{{z{{zz{{{z{|||||{|z|{z{||{|{|{|z{{{zzz{{{{{|{||{{{{z{{{|{{z|||{zz{zzzz{z||z{|{{{{yzzz{z|{{{{{{{zzzzz{z{{{z{||{|z|z{zzy{||{z{|{z{{{zzzzz{{{{{{|{y{zzz{zz{{{|{{{{z{zzzyyz{{{{{|z{yz{zzzzz{|{zzz{{{{{zyzzzzz{{|z{{{zyzzzzz{{{{{{|{{z{zzzy{zzz{{{|{{zz{z{z{{{{{{{|{zzz{zzz{{|{{{{|{zzzzzzz{{{{{{|{zz{{{zzz{z{{{|{{{zzzzz{{{{{{{|||zz{{zzz{{||z{||{{{z|{{zz{|{{|{|{{{{z|{{{{{{|{}||{{{{{{{{{|||||{{{z{zz{{{{|{{|{}{z{{{||zz{{||||||||z{{|{{||||||||{z{{z{{{{||{|{{||{{z|{|z{|||{{|}|{{{{z{z{||{{{{|{{{z{zz{{||{}{{{|{zzz{{{{{||{{{|{{{z{zz{|{|z{|{{{{z{|{{{|}{||{||{{{{zz{{{{{{|{{{{zzz{{{{{||||{|{{z{{z{zyz{{z|||{{{{z{yzzz{|{{{{|zz{z{{zy{zzz{{{z{zzz{zzz{{{{{{z{zz{zz{z{{{y{z{{|z{{{{y{zz{{{{||{{zz|zzzzz{||{{{z{z{zzz{{z||{z{{{{{z{zzzy{{z{zz{{{zz{zzzyz{z{{{z{zzz|{{z{|{{|{||{zz{z{zzz{z{z{{z{zzzzzz{{{{{z{{{{{{{zzz{|{{|{{{{|{{z{{{{z{{{|z{{|{|{{z{{{|{{{z{||zz{z{z{{{{{{{|{{{{{z{{{z{{{||{{{{|{z{{|z{||||||||{{z{zz{{|{|z||||z{{|{{z||||{||{{{{{z{|{{{||||{{|{||{|||{|}||||}{zz{{{{z|{{{|{||{{{z{{{{{{{{||{{{{||{{z{{{{{|z|||{z{{{{{{{{{|||{z{z{{zzz{|}{{{|z{{{zzy{{|{{{{||||{{|{zzz|{|}|{|{|{{{{z{{{{{{z|||{{zz{z|{{||}{||{|y{z{z{z|{{z{{|{{z{zzzzz{{z{{{{{{{{zz{{yz{z{|{z{z{{zz{{z{{|zz{{|zzzzz{zz{{z|{{{{zzzzzzyzz{{|{{{|{zzz{zz{{z{{{{|{zzzzzzzy{z{zz{{|{zz{z{zz{z{zzz{{{{zz{{zzz{z{{{{{zz{zz{{yzz{{z{|{|zzzz{zy{{z{{{||zz{{{yz{|zzz{{||{z{zz{{z||{{z||}{z{zzz{zz|{{|{|||z{{{|zz{{{z{{||{{z{zzz{|{|{z{{|z{|z{{{{{{{{|{||z{{{{{||{{{|{|||{z{{{zz{|{||||{{|{{zz{{z|||||{|{z{{z{z{{{z|||||||{{{z{{{{|}{||}{|{{{{z|z|||||||||{{|z{z{{||z{|||{|{{}{{|{{{|{||{|{{|{{z{{{{|{|}{z{zz{z{z{{{{{{||z{zy{zzzz|{{{||}|{{{{{{{|||||||}|{{{z{{z{{{z{{{|||z{|{{{|{{|{||{{{|{{yyzz{||z{|||{zz{yzz{{{{{{{|zz{zzz{y{zz{{{{z{z{{{zz{z{{z{{{zzzz{zzz{{z{{{{|{{z{{z{zz{z{|{{{{{{z{{{zz{{{{|{{{{{{zzz{z{{{{|{z{zzzzzzzzz{{z{{{{|zzzzyz{{z{y|z||zzzz{z{z{{{|{{||{z{{zy{{|{{|{{{|zz{{zy{z|z{{{{||{z{{zz{z|{{{||||{z{z{{{z{{{{|||{{zz{{{z{z{{|{{|{{y{z{{{{{||{{|||{z{{{{{z{|{||{||z{{{{{{|z{|{}{z{|{{{{{zz{{{||{{{|z{{{{{|||||{||}||{{|{|{|{{||{|}||{{{z{{z|}{{{}||z{z{z{{|||}|}||{|{{|{{zz{||{||||{{z{{|{{{{|||{}{z{{zz{{{{{{||}{|{z{{{zz{|||{|||{z|{{{{z{{{{{}|{z{||zz{z}{|||{|}{{{{yzz{{|||||{|{{z{{z|{{|{{{z|{|z{zzz{z{z{z{|{{z|{zyzzz{{zz{|z{{z{{{y{z{{zzz{{{{{{zzz{{z{|z|{{zzzzzzzzzzz{{{{{{{zz|zzzzz{z{{{{{zzz{z{yz{{{{{{{{zz{{zzz{{{{{{z{{{z{{{z{z{{{yzz{{z{zzyz{zz{{z{{z{{zzz{zz{{z|z{{z{{z{zzy{z{{{{z{{{{zz{zzzz{{|{{z{zzzzzzzz{z{||{{{zz{{{{z{z{{|{|{|{{{z{zzz{{|zz{z}{{zzzzz{{{||{z|{|{z{{z{zz|{{|||}|z{{{{{{{{|z{{|||{z{{{zzz|{|||{|{{{{z{{{{|{|||||||z{z|z{{{||{z|{{|{{{{z{||}||{||}{z{zz{{|{{{{||||z{z{{{{|||{{{|{|{{{z{z{{{|{{{|{}z{zz|{{{{{{{{|||{z|{z|{z{{{}{||{{{|{{y{z{{|z{{{{{{z{z{{{{{|{||{{|z||{z{z{|{{z{||{{z{{{{{|||{{||{{{{zzzz{z{{{{{||{{{zzz{y{{{zz{|z{z{zz{{y{{{{{{{zz{zzyzzzz{|{z{|z{{{z{zzz{{{|{|{z{z{zy{{z{|{|z||{{zzyz{yz{{zz{{{|{{yzzzzz|{{{{z|{z{zzyzzzz{{{{{{zzzz{z{|{z{zzz{{{zz{zzzz{|{{{{z{|{{{zzzzz{{{||{{|{{{zzzzz|{z{z{{{zz{y{z{z{|{{{|{{{{{z{z{{{|{||}z{{{z{{zz{z{|{{z{{{zzz{{zz{{{{{{{{{{z{{{z{{{||||||{{{z|{{{|{{{{}||||{{z{zz{|}{{{{|{{{zz{{z{}||{|||{{{{{|{|{{{{||||{{z|{{|{{||{{{}||{{{y{{{{{{||{{{{{|{z{|{{{|{{||||{{z{{z|||||{|{|z{{zz|{{z{{|{{{|{{{{zz{z{|||{{|zzzzzzzz{{{{|{|{{{{{{z{{{{{|||{|}zz{z{{{z{z{{z|{|z{zzz{|z{{{{{||||{zz{{{z{z{{z{|{{z{zyz{zz{|{{{||{{yzzz{yz{z{z|{{{zz{{zzzz{|{{{{{z{zzz{{zzz{{{{{{{{{zzzz{z{{{z|{{z{z{{zz{{{{{{z{{{{zzyzyz||{{{{{{zyzzyzzz{{{zz|{|{zzyzzzzzz{{{|{zzz{zy{z{z{{||{|{{z{zzzzzz{|{|{z{{z{zzzz{|{{{{z{{zz{zzz{{|{|{{{|||z{zz{z{z{{{{z{{{{{zzz{z{{{|{z|{{{z{{zy{{{{{{||z|{{z{zz{{{|||{|{{{{zz|{{{||{{|{|{|{|zz{{{{{{|{{|||zzz{{z||||{||||{|{z|{{z{{||||||{{{{{zz{{||{}|||{|{zz{{||||{||{z{{z{{{{{{{{|{|||{{{|{{z{|{{{|}|{{zz{{|||{||{{||{{{zy{{zz{{{|{||{{{zz|z{||{|{||{{{{{{{|{{z|{{{{{{zz{{{{z|{{{|{||zz{zzzzzz{{{{{{{zyzzzz{z{{||z||{{z{zyz{z{|{{|z{{zzzzzzzzzz{{z|{{{y{zzzzz{zzzz{{z{zzzzz{z|z{{z{{{z{zzzzyz{zzzz{|{z{{z{zzzzz{{{{zzzzzzz{{z{z{{z{|{z{{z{{zzz{{zzz{{{zzyzzzzz{{{|{{{zzzzz{z{zzzz{zz{zzzzzz{z{{z|{{{{{zzzzz{{zz{{{{{{{z{{z{z{{||{{{{{{z{z{y{zy{{{{{zz{{|zzzzzz{{z{{}{zzz|z{z{{|{{{||{{z{z{z{z{z{|{|||{{z|{{{z{{{{|{|{{zz{{z{zz||{{|||{{zz{{z{{}|{{|||{{{{{{z{{|{{||{|||{{{{{{|{{{{|{||{{{{z{{||||{{{{{{{{|{z{{{{|{{|{{zzz{{z{{}{{{|||{|{z{{z{{{|{z||{{{zz|z{z{|{{{||{|z{zyzzz{{|z|||z{{{{{z{|||{|||{{|z{z{{{{{|{{||||{zzz{{z{|{{{{|{{zz{{z{{zzz|||{{|{{{zz{{y{|{||{{||zzz{zzzz{{{{||{{zzzzyz{{z{{{{{{{{zzz{y{{{{{z{|{z{{zzz|{{z{{z||y{zzz{zyzz{|{||z||{zzzzzz{{{|{{|{z{zzyyy{z{{z{{{z{{{zzzz{zzzz{{{{{zz{{zzzz{{|{z|{{zzzzzzz{{z{{|{|{zzz{z{{{{{{{|}{{z{{|z{{{{|{{{|||z{{{zz{{{{{{||{{z{zzz{{z|{z|{|{{{{{{{zz{|{{{{{{{{|{{{{z{{||{{{|{{{{z{{{{{{|{|{|{{{{z{z{{|{||{|}|{{{|{{{{|{{||||||{z{|{{{|{{||||z{{{zz|{{}{|{{|}{z{{{{{{{{||||{{||{{{z|{{{{{|{{{|{{{{{{z{|||||||{{{z{{z{{{|{|{{|{{z{z{{z{|{{{}z|{{{y{{{z{|{{{|||{{{z{{{{||{{|||{{z{{{z{{{z{{|{{{{{z{{{|z|{{{|||{{z{{z{zy{{{{z{{|{{{yz{zy{{|{|{|{zzz|{zzz{zz{y{{|}{zzzzz{{z{{z{{{{z{yzyzzzzz{{{|{{{yzzzzz{{{{z{|{zyyzz{yz{{|z|{{|{zz{y{{{{|z{{|{{{zzzzz{yz{{z{|z{z{zzzzzz{zz{{{{{zz{zz{{zz{|{{{|{{{z{{y{{y|{z{z{{zz{zzz{{{|{{{{{{{{{z{zz{{{{{||{|{y{{z{zz{{|{{|{|{z{zzzzz{{|{{{{{|zz{zzz{{{{zz{|{{z{z{zz{||||{|{z{z{{{{|{|{|{{|||{{{{{{{z||||{{|||z{{|z{{|{{||||{|{z{z|{{|||{||{|{{{{z{|{{}{||||||{|{{{z{{|{|{{|||{{{{zz{|{{{{||||{{{{{{{||||||{{{{{{{{zz{{{{|||{|{z{{z{{z|{|{{|{{{{{{zzy{{|{{|{{|{{zzz{yz|{z{{{|z{{{{{zzz{zz{{|{{|{z{zzz{{{{|{{{{y{zzyzz{{{z{{{{{y{yzzzy{z{{{|{{zz{z{{{yz|{{zz{{{{{yzz{{zz{{zz{{zzz{zzyyzz{{{z{{zzzzzzzyzz{z{||yzzz{y{z{{z{z{z||{{zzzzzz{z{z{{|{{zz{zzzz{{z{z{z{zzyz{zz{zz|z{|{z{z{yz{zz{|zz{{{zzzzz{{zyz{{{{||{{z{{{z{{{{|z{{||zzzzzzzzz{{{{{{|{z{z{z{zz{||{{{{zz{zzzz{{{{z{z{{{{z|{zz{{{{{z{{z{{{{{{{||{|||{||z{z{z{{{{{{|{|||{{z{{{z{{{z{|{{||z{z{{{z{||{{|||{{|{{{{z{|{{|||{{{{{{{z{{}{{{|||{{{{{{{{z{||{{|||{yz{{{{|{|||{|||{{z{z{{{{||{|||{{zz{{{zz|{|{||z{{zzz{{z{{{|zz{|{{{zzy{{|{{zz|{|{{{zz{zz{{|{z{z{|{zzzzzz{{z|{{|{zzzz{{zz{z{z{z{{zzzyzzyyzz{|{{z{zz{zyzzyzz|{{|z{zzzzzyzyzzzz{{|{{y{z{zyyzy{zy{{{zzzyyzzz{zzz{zzzzyz{yzzzz{z{{z|zzzzyzzyzz{{|{{z|zyzzzzzzz{zz{z{zzxy{zyzyyzzz{z{zzzzzzzzzz{zz|{{zzzzz{zzy{z{z{{{zz{z{{yzz{{z|zzz{zyzzyzzz{{{z|z{{zz{{zzz{|{|{z{z{{z{zzzzzz|||{{zzz{{zz{zz{{|{{z{{zz{zzz{{z{{|z{{{{{z{{zz{z{||{||{{zzz|{zz|{{{z{{}zzz{zzzy{{{{{{|{{z{{{z{{{{{{{{|}{zz{z{{{|{{z{{{||z{{{z{z{{{{{|||z{|zzzzz||{{{{{{{{{zz{z{|{{|{|{{{{{|zzzz{|{{{{{{{zy{{zzz{|{|{{|{{{zz{{z{z{|{zz|{z{{zzyz{z{zz{{{|z{{z|{{z{|{z|{||||{{z{{z||{{||||z{{|{{{|{|{|{|{|{zz{{{z{{{|{{{||z{zzzzzzz{||{{{||z{zzzzz{}|z{{z{{{{{z{{z{||{{|{|z{z{zz|{{z{z{{{{{{z{{yz{{|{{{|{|{{{{{zz{{{{{|||{{{z{z{zyz{{|y{}|{z{z{z{{z{{zz{{{zzzzz{zz{{{{z|z{zzz{zz{{z{{zzz{{|z{{{z{z{z{|{{z|z{z{{zz||{{{{{|{zz{z{zzz{|{{z{|{|{z{{zz{{|z|z|{{zz{{z{{z{{||{{|||{zzzz{z{{|{{|||{{z{{{{{|{{|||||{{{{|{{{{|{||}}|{{{{|zz{{{||||}||{{{{{z{|{||}|||{{{{{{{{{{{{||{|{{|z|{{{{|{||{||}{|{|{{|{||{{{||{{{{{{{|||z{{||||||{{z{{{}|}||{|{{{z{{{{|||{{|}|{{zz{z|||{{|||{{{{{{{{zz|||{{{|{z{{{{{{y{||{||{|{{{{{zzz|{||{|||{zzzz{{z{}|||||{{z{z{{{{z{{{{{z{{{z{zy{z{{|z{{{|zz{{{zzzz|{zzz{{{z{{z{{{z{|{{{zzzy{{z{z{{|{{{{{{zzzzzz{zz{{{|||{zz{{yzzz{{{{{{{z{z{{yzyz{{{{|{||{{zz{{zyz{|{{|{{{{{z{z{z{{{{{{{{{{{z{zzz{{z{{{{{zzzyzzzzz|{{|{|||{{{z{{y{{|{{|{|{z{z{{zz{{{|{|{{{{{{{zzzzz{|{{{{{z{|{y{z|{||{{}{{{z{{{z{||{{{||{{{{{{{{zz|{|{||{{z|z{{{z|{{|{|}{{{{|z{{{||}||{|{|z{|||{{|||{{{||{{{{|{|{{|||||{|{{{{|{{{||||{{||{{{|{{{|{{|}{}|{{{z{|z{{|{||{{{|{{z{{z{{{{{{|{||{{{z{z{{{|||{|{{{{{{{z|z{{||{|{|{{{y{z{z||{|z|{{|{zz{{zy{||{{{{|{{{{zz{{{{||{{{|{{{z{|zz|{{{{||{|zzzzzzz{z{|{{{{{{zzzz{z{{{{{{z|{{zzzz{y{{{{{|{{{{{{zz{z{{z{zz{{{{z{z{zz{z{{z|{{yzz{z{zzzzzz{zz{{{zzyyyz{{{z{z|z{zz{z{zy{{{{|z|{z{{z{y{z{z|{|{{|{z|z{yz{z{|zz|z{zz{zz{yy{zz{{{z{{{yz{zzzz||{{{|{{yzzzzz{{{{{{|{{{z{zz{{zz{{zz{{{{{{{{z{z{{|||{{{{y{{{z{z{z|{{|{{{z{{zz{{||{{|||{{|zz{z|{{{{|{|{{z|{{{{{{{|{|z}}|{{{zz{{|{{|{|{{{|z{||z{{{{|{{|}|{{zz{||{||{|{{|}|z{|||zz|}||{||{|{{{{{|{z||{{||||z{{zz|||{z||{|{{z{z|{{z|||||{||{{|{{|{{{|z{{{|||zzzzz{{{|{{{|{{{zz{zyzz{{{z{{{{{y{{{{{{{||{{{{{{zz{zz{{{z{{{|{||z{z{{yzz{|{{z{{zz{z{{zz{{{{zz|{z{{{zzzzz{{||zz|zz{zzzzyz{{z{{{{{z{zz{zz{{zz{{{{zz{yz{z{{z{{{{{{yzz{yzzzz{{z{{{z{y{{zzy{zz{{{{y{{z{zzzyyz{{{z{{|{zzz{zzzz{{{z{z{zyzzyzzzz{y{{||{zzzzz{{zz{{{{{||{{yz{y{z{{zyz{{|{|yy{zz{{{z|{{{|{{{zyzzzz{|{{z{|{zzy{z{z{|{{{{{{{z{{{zzy{{{{{{{|{zz{{z{z{{|{z||{z|zzyzzz{|||||||{zzz{{{z|{{|{{}|{z{{{zzz{||||{|||{{{{|{z|||{||||{{|z{z{{{{{||||||z{|{{{z||||{|||}{{z{zzz|{{|{|||{z|z{{{|z{|{|{||{{z{{{z{{{{{{{|{z{zz|zzz{|{{{|}z{{{z{zz{{|{{{|{{{z{z{{{{zz{{|{||{{|{{{z{{||}||||{{z{z|{{{{{|||||{{{{{{{|{{{{{|}||z{y{{{{|{||{z{{|{yzz{z{{||{{|{{|{{z{{zz{||{|{|||{zz{{{||{{z{{{{{{z{z{{{|{{|z{|{z{zzzy{{|{{|{{{{{z{{zyz{{{{|||||z{{{zz{|z{{{{{{zzzzzz{zzy{z{|{{|{{{z{z{zz{{{{|{{{z{{{{z{{z{{||{{{{{z{z{z{{|z{|{{{zzzz{z{|{z|z|{{{{{z|{{z{{|{{||{|{{{{z{{z|{{|{||{{|zz{{{||{|{z|{{{{{{{{||{{{{|{||{{{{{z{{||{||{{z|{{||{z||}|{|}|{{{|{{{{|{{||||||z{{{{z|}||{||||{|z|{||{|{{|{||{{{{yz{{z|||||}{{{|{{|{{{}||}||}{|z{z{||||{{}{||}|z{|{|{{|{||||||{{{|{{||{z|{|{||{{|z{z{{z|{{|{||{z{{{{{z{{|{|{|{|{zz{z{zz{||{||{|z{z{zzz|{|z{{{{zzzzz{z{z{{{{{{{zzz{{zz{{{{{z{{{z{zzzzzy|{{z{|{|{zz{{zzz{{|{{{{{{{{zzzzyz{{z{{{{zzy{{z{z{zz{{{{{zz{z{yzz{{{{{{{{zzzzzzzz{z{{{{|{{zz{zz{yzz{{z{{{zzzzyy{{z{{z|{{{|{zzzzzzz{{{{{{zzz{yy{zz{{{z|||{z{{z{zzz{|{{{{{{{{{zzz{zz{{{{{{{zzzzzz{{{z{{{{{{zzz{{y|{{{||||{{{z{{z{{z{||{{{}{{{{{z{z{{|{{z|{{{z|{z{zz{{|{z||z{{{z{{{|{{{|{{||{{{{{z{z{{|{{|{{{z|{|z{{{|{{|||{|{{{{|{{|||{|||{}z|{{{{z|||||||{|{|{{{{||||||{}|{{{{{zz{{{}|}|{||zz|{{z{{{||||{|{z{{zy{{{||{{{}|{z{{{zzz{|z{|||{{zzzzzz||{{{|{z{zz{yzzz|{{||{z{{|{{z{zzz{{{{}{||z{zy{{zz{{{{{{||{zz{{zyz{{z}z|{|{|zzzzzy|{zzzz{{{yzz{zzzy{z{z{|{{zzz{{zzzzzzz{|zz{z{zz{z{z{{z{{{zzyxzzzxz|zz{{|{{{{zyzzzz|{{{z|{zzzyzzzzzz{{z{{{yzzzyzzzy{{{y{{{zy{yzzzyz{z{{{{{{{{zzzzzy{{{z{|{{zyzzzzz{{{z{z{{zz{{zzz{{{|z|z||zz{{yzz{{{{{{z|{zzzz{z{zz|{|{{{|{zz{zzz{{|{|z{|{zzzzz{zz{{{z{|{{zz{z{zz{z{{{|{{{zz{{z{{{{|z|{{||{{{{{{{z|{||{||{{|{{{z{z{{|{{{|{{{{{z{{{{{{{{{{{{{z|{|zz{}{{|||{{z|{zz{{{{{}{{|{{{z{{{z{{||{|{|||z{{z{z{{|||||||{{{z{{z{{|{{{|{{{{zzz{zz{{{|z{{|{{zyzzzz{z{{{{||z{{yzz{zz{z{|{{{|{zzzyzz{{{{z{|{{z{zzzzz{{{{{|||zz{{{{zz{{{{zz{{{{zzzz{y{{{{{|{|zz{|{{zzzz{z{{|{{{{zz{{y{{{zz{{zzzz{y|zz{{z{{{{{zz{zz{{{{zz{|{{{{z{zzzz{{z{{{z{{{z{zz{zy{|zy{|{|{{zzzzzz{{z{{{{{z{zy{zz{yyzzzz|{zzzz{zzz{{z{z{|{{yz{{yy{{{{{{zz{y{{zzzz|{z{{{||{z{{zz{zz{{|{||{z{zzz{z{zzz{{{|{{|z{{{y{z{{|z{{|{{zz{zzzz{{|{{{|{{zz{zz{{||{{|{z|{z|{{{|{||z|{|}||{z|z{y{{{||{{|{|z{{{{|{||||{|||{z|{{{{{||||{||}{{{|zz{{{|{{{||{|{|{{{{{{{z{|{{{|zz{{{y{||{||||{{{{{{{z{|{{|{|||z{{{zzz{{|{|{{||{|{{zzz{{|{|{{|{{zzzz{{{z|}{{{{{z{z{zz{{||{|{{{{|{z{{{{{{|{{{{{{|{{z{{{z|z|{|{z{zz{{z{zzz|{|{{z{{|z{zzzy{{|z{{||{{{zzzzy|{{{{{{z{{{{{z{{{{|{z|{z{z{{{{z|zzz{{z{zyz{z{zyz{{{z{{|{zy{z{{zz{{{{{||{z{|{zz{{y|||{{|{{zzz{zzz{z{z{{{zz{zzzzzzy{{{{|||z{zzy{zz{z{{{{{|{zzzzz|z{{|{z{|{zz{z{yzzz|{{z{{|{zzzz{zz{{|{{z||zzzzzz{zz{{{{{{|{z{{zzzz|{|{{{|{zz{{{zzz|{{{{{||{{z{{{{z{{{|{{{|{{|{z{|{{|{|z||||y{{z{zz||{|{||{|z{{{z{{{}|||||||{{|{{{|{{|||||||z{{|{{{{}{|||}{{z{{{{{{}|{||||{|z{{zz{{{{||{{|{||{z||z|{{{|{{}|{z{{{{{{{|{{{{}{|{z{z{zz{|{{||z{|z{yzz{{{{{{{}|{|zz{{z{{|||{{z{|{{{{{{z{|{|||{{|{{{z{zz{{|||z|}{{|zz{z{{z{{|{|||{{{{z{z{{z|{{|{{{y{{zz{z{|{z{|{{{{z{{{zy{{{z{|{{zzzzzzzz{y|{{|{{{y{{zzzz{{{z|z{{{zzzzzyz{{{|z{{{z{{zz{zz{z|{|{|{{zz{{y|{z{{z{{z{z{zz{{zzz{z{{{{{zz{{zzzz{z{{z{{{{z{z{yyz}{{{{{{|zz{zz{{zz{||{{{|{z{y{{z{{{{|{{||{{{z{z{z{{{{|{{{{{z{{{{y{{{|{{|{{z{{{{z{{||{z{|{|{|z{{{{{|||{{{|{{{z{z|z|{{{{|{|{{{{{{{{{|{||{|||{{{{{z{||||||||{{z{{{{{{{z|||}|{{|{z|{|{}{|||}|{{{{{{{{|{|{|||{{{{{{{{{|{{{||||{|z|{{{|||{|||{}{{{{{{yz{|||{{||{{{z{z|{{|{{{{||{{{{zz{{|z|z{{{{|{z{zzzz|{{{{{{{{{z{{z{{z|{{|{|{{{zzzzz{|{{{{{{{{{zzzzyz{{{{{{{|{{{{zx{z{z{{{{{|{z{z{z|{{{{{z|zz{z{zz{{z|z{{{{{{{zz{{{z{|{{z{{{|zzyzz{yzzz{{|z|zzz{zzzz{z{z{{{{|z{{zxyxz{{z{{|{|zzzzyzzz{{{zz{zzzzzzyzzzz{zz{|{z{zz{z{zzz{z|{{{{zzzzz{y{z{z{z{{|{z{{zz{z{{{{|{{|z{y{z{{{|{{{{{|{z{{{z{{zz|{|{{||{z{{z{zzz{{z|||{zzz{zz{zz|{{|{{z{{zzz{z{{|{|||{|z{|{{z{z|{|{|||{{{{|z{{z{||{|||{{z{{{{{z||{{||{{{{|{|||{||{|{}|{}{{zz{{{||{{{{|||{{{{{{{{{{{{{{|{{{{y{{|{{||{~|{{{z{{{z{{|z|||{|zz{z||{{{{{|||{{{{{{yz|z{{{|||{{{|{z{zzy|{|{{|{{{z{zz{{zz|{|{{{|zz{zzz{z{{{||{||{z{{{{zz{{|{{|{{|z{zzz{z|{|{{{{||{{z{zzzz{{{z{{{z{{{{z{z{{{|zzz{z{{zzzz|{z{z{{{{z{zzz{z{|zz{{{{{zzz{zzz{|{{{z||{{zzz{yzz{{{{{|z{zz{{yzyz{{{|z{|}{z{z{zzzy{{zz{{{{|zzzzz{z{zz{{{{yz{zz{zz{{|{z{{{{zzzzzzz{z{{{|{{{zz{{zz{{z{|{{{zz{zzzz{{{|{|z{{|z{zz{{{z{|{{{|||z{{{{z{z{{{|{||{{{z{z{z{{{{{{|{|{{{{|{{{{{||{|||{{{{||{{{{|{{|||z{{|{z{{|{|}|}}||{{{{|{z|}{|||||{{|{{{z{|{|{||||{z{{{{||{||||}||||{|zz{|||||||{}|z{zzz{{|z|z{||{|{{z{{z{{||{|{{{z||z{{z{||{||||}|{{zz{{{|{{||{||{{z{{z{{{{|{||z{{z{y{{zz{{|{{|{|yzzzzzzz{{{{{{{}{{z{zzz|{zzz{|{{{zzzzzz{y{{{{{{z{z{zzzzz||{{{{{|zzz{yz{z{{{zzz|{zzz{y{{z{zz{z{{{{zyyzzzz{{z{zzz{z{zyzzzzzz{{z{{{{yzzzzxzzz{z{|{{zz{{yyzz{|zzz|{{{zzz{zyzzzzzz{{|{zzyzzzzz|{|{{zz{zzzz{zyzzz{{{{{{zzyyzyz{{{{z|{zzzzz{zz{{{z|{{{|yzz{zzzzzzz{z{|{{z{zzz{|z|{|{{z{{{{z{z{{{{{||{{{{{z{{{z||{{{{{{|{{z{{z{{{{{}|{||z{{z{z{|{{{|{|||z{{|{{z{{||{|z||{z{{|{z{{{|||{||{{{z{{{z{{||{|{{|{z{{|{{{|{||{{||z{{|z{z|{{||||{{{{z{{{{{{{{|{{|{{z{{{z{{|{|{z|{{|{zzzz{{|{|{|{{{{{|zz|z{{{{{{{|z{zzzzzz{{{{{}{{{z{zz{{{{||{{{{{|z{z{zz{{|{|||||{{zzzzz{{{|{{{|{{{zzzzz{{z|zy{|{{zz{z{{zz{{{{||{z{{zzzz{{{{|{|{{{{{z{y{{{{{z{|{{{yz{yzzz||z{{z{{{zzzzzzzz{zz{{||{zz{zzzz{z{z{{{z{zz{y{{z{{{{z{|{{zz{zz{zzzz{{{|z{zyy{{zzz{{zz{{{yzzz{zzy|z{z{{|{zzzzzzzz|{{{{{z|z{z|yzz{{{{z|{||{z{zzzzy{{{{||{|zz{{|z{zz{{{{|{{z{zzz{{{{{|{{}{{{z{{{z{{{{|{{{||z{{{{zz{{|{{|{|{zz{{{{z{{{{|{{||z{{zz{{z{||{|{{{}{{|z{z{{|||||||{{{{{{{{||{||||{|zz{{{{|{||||z}{{{{|{{{{|||||{||{{{z{{{{|{{{|{{|z{{z|{{{{||{||||{{{zz||{|{{|{{{|{{{{zz{z{{{|{{{{{{|zyz{z|{||{{z{{{z{zz|z{{{zz{|{{{z{zz{z{{{|{||{{{zzzzzz{z{{{{{{{z{z{zz{{{||z{|{{{zz{z{{{|{{{{{{z{{y{{zz{{{{{z{{{{zy{y{zz{|z{{zzzzz{z{zzz{{{z{{z{zzzzzy{{zz{{{{zzzzzyz{z{{{z|{|{z{z{zz{z{|{|{|{{zz{z{yzz{zzz{{{{zz{zzyzzzz{{z{{zzy{{{zz{{{{z{{{|{z{z{{z{{{{zz||{{{{{zzzz{{{{z{{{{{{zz{y{{{||z{{{{zzz{z{{z{z{{|z{z{|{zzz{{|{z{{|{{zz{{y{{|{||||{|zz{z{{{z{|{||{{{{z{{{|{{|{||{|}|{{{{{{|||{|||||{|{zz{{|{{|{{{}||{{{{{{|{z|{{|{|}|{|{z{{{{}|||||||{{z{{{z{|{|{}||{{{{{|z{{{{{{|{|{|z||zz{|{|||{||{{{zzz{z{||{{||{{{{{z{zz{z|{z||{z{|zzzzz{z|z|{|z{z{z{z{zz{{{{{{|{z|{zz{zz{{{|}{|{zz{zz{z{z{{{}|{{{{|{zz{|{}|z{{{{{{z{zzz{{z|z|{{{{zz{{{zz{{{z|zz{z{z{zzzz{{{{{{{{z{zz{{{{z{zz|{{z{zz{z{z{{|{{{{|{{zzzzzzz{z{{|{{z{zzyzz{z{z|{z{z{{zzzzzyzz{z{z{{zzzzzz{z{z{{y{zzzz{yzz{zz{{{{z{{{{zz{y{z{{{z|{|{zzzzzzzz{{{{z{z{{z{z{z{{|z|{z||{zz|{zz{zz|{{{{zz{{{z{zz{|{{||{{|{zz{{zzz{{{{{|{|{{{z{z{{{{{{z||{{{{zz|{z{{{{|{{{|z{{zz{z{{{||{|{|z{{{zz{{|{z|{||z{|{{|z{|||{{{|}{{|z{{z|z}||{{|{|z{{{z{|||||}|||{|{{{{|{{z|{||{}{{z{{z{||{{{{|{|z{{{z{|z{{{{{{||zzz{{z{z{|{{{{{|zzzzzyz{z|z{z{{{{{zzzzyz{{||{{z|{z{z{{{z{z|{z|{{{{{z{{zz{zz{||}{|zz{z{z||{z|z{{{{z{zzzyz{y{{{{{|zyz{zzz{z{{z{{{{zy{zz{zzz{{|z|{{{zzzyz{zzzz{z{z{zzyzzzyy{{{z{|z|{z{zyzyz{z{{zz{{z{{zyy{{{zz{zz{{{y{z{{zzzzzz{{{{yz{zzzzz{{z{{{{{z{{zz{zzzz{z{{|{{zzzzy{zz{{{z|z{zz{{zyzzz{{{{{|{zzzz{zyz{{{z{{{{{zzzz{{zz|{{z{{{{zzzz{zz{{|z{{{{zzz{{{{{z|{z|{{|{{{{|zzz|{||z|{|{{{{{{|z|{{{{|||{|z{{{zz||{}{{|{{{|z{z{z{|{z|{||{{{zz{{|z|||}||{{{{|{{{z{||{{{|||{{{{{|||{|}{||z{z{z{{zz|{{|||||{{{z{z{{{{{|||{|{{{zz{y{{|z|{{|{|{zzzzzz{{{{{||{{{zz{zzz{{|{z{||{zzzzzzz{{|{z{{{{{{zzyz{z{|{{{|{zzzzzz{z{zz{{{{|{z{zzyzyzz{{z{{{zzzzzz{y{{{{|{{{z{{zzzzzzz{{zz|{{{zzzyyz{{{z{{z{zzz{zzyzz{{z{|{{{yyzzyzz{||zz{{{{yyzz{yz{zzz{{{y{{zyy|zz{{z{zz{{zzzyzzzzz{zzy{{|zy{zzzzyz{z{z{z{zyyzzz{zzz{zz{|zyzzyyzzzz{z|{zz{zz{zz{z{{zz{z{z{z{{{{zzz{{{z|{{{{{z{{yz{z||{{|{{y{{zzzzzzz{{{z{{zyzzz{zz{{{z{{{{{{{{{zz{z{{{{{|{{{zzzzzz|{z||{|{z{zzzzzz{|z{{z{z{z{zzz{{{{{{{{|{{{zz{{||{{{{{{||{z{{z{{{|{{|zz|{{z{{{zz{{{{|||{z{z{z{zz{{{{{{{{|{{z{{{{{|{{{{|||{zyz{{z{{|{{{|}{{zy{zzzz||{|z{{{{z{yyz{z|{{z{zz{{{{zzzzz{{{{zz}{{z{zy{z{{|{{{{||{zzzzz{zz{{{z{{{z{z{z{z{{{{{zz|{z{{zzzzz{{|z{{{{{zzzzy{zz{{z{{||{zzzyzzzz{|{zz{zz{zzzzz{z{z{zz{{zzyzyzzzz{{{z{{zzzzzz{y{{{{z{z{{{zzzyzyyzzzzz{{{{zzz{zzzz{z{z{zz{zyyzz{zzzzzz{z{zz{yzz{z{z{z{{{{{zzzzzzzz{z{{{{{{zz{zzz{|z{{z{{|{zzzzzz{{{{{z{{{zzzy{yzzz{{{|{z{{{{zz{zzz{|{zz|{{{|{{z{{zz|zz{z{{{{z{{{zz{{||{|{{{zzz{{z{{{z|{{{{|z{{{{{{||{{||z{{|z{{{zz|{z{|||{|{|{|{{{|{{|||{|{{{{|{zz{|{z||{{{z|{{{{{z{{{{{{{y{{{{z|{|z{{|||{zzz{{z{||{{{|{{{z{z{{zz{{{{{{|{{z{zzz{z{{{{{z{{{y{zzzz{{{z{z|{z|z{{zyzz{{}z{{z{z{z{zyz{{{zzzz||{{zzz{{y{z{{||{|{z{z{zz|z{{{{{{{{z{yzzzz{{{}{|{|{{{z{zzzz{|zz{{{zzzyzzzyzz{{z{z{zy{{yzzzzz|{{zz{yzzzyzyzz{{z{{zz{yzyz|zzz{{{{{z|zz{{yy{{{z{{zz|{zz{zzxzy{zzz{{zzzzzz{zzy{zz{zz{{zzz{zzzyz{z{{|{{zzzzzyyzzz{{z{{|{zzy{y{zz{{{z{|{{z{yzz{{z{{zz|{{{z{{zyzzz{{{|{{{z{{{zzzz{{|{{{{{zzz{y{zz{|{{z{{{z{z|{{{z|{|{{|{zz{{z{z{z|{{{|{|{zz{{{zz{{||||||{{z{z|{{{{|{{|{|{{|{z{{{z{z{z}|{{|{{{z|{{{||{{||{{{{{{{{z|{{{{|||z{{{z{zz{|{|z{|{{{{{{{{{{{|{||||z|{{{zz{z{|{|}|{{{zz|{z{{{{{z|z{{z{yzzzzz|{|z{|{{z{zzzz{zz{{{|{{{zzz{{zz{|{{{|{{yz{z{z{zzz{{|{{|{{{{zz{z{{z{{{{{{y{zzzzz{{{{||{{{{zzzz{zz{{z{z{{{{{zzzzz{{z{z{z{{zzzz{zz|{{|z{{zzy{{zz{z{{{{zz{{z{y{zzzzz{{z{{z{{zzzyyzzz{z{{z{|zzzz{zyy{zzzz{{{{zzy{{zz{{{{z{{|zz{{zzz{y{z{|{{|zzzz{zzz|z{{{z{{|y{{{zzz{|{|||{|zz{zz{{{z{{{z}{{|{{zzzz{{{{||{|{{yzz{zz{{|}{{z|{{z{{zz{{{|zz{{}{{zz{{{{{{|{||||{{|{{{{|||{{{{{||{|z{{{z{z{|{|{|||{{{|{z{{||z|{|{{{{zz||z{|z||{{{{{{|{|{{||{}{}}|{{{{{|{{{|{||}|||{{z{{{||||{{||{{{{{|{|{{|||||{{{z{z|z{{{|||z||||{{{z{{z{|||{||{{zzzzz{{|{{{{{{|{zzzz{{z{z|{{|||{{{zz{zzz{|{z{{}{{zzz{{z{z{{z||||{{zz{zzz{{|{z{{zz{{y|zz{||{{{z{{z{z|z{{|{{z{||z{z{zz{{z{|z{{{z{{z{zzz{yz{{{{{{{zyzzzz{{z{{{{{|{zzzzzzy{{z{{|zzz{yzzzz{z{z{{{{|{z{z{zz{zz{z{{{{{zzzy{|zzz{z{z|{{{{zz{{z{z{{y{{{{|z{y{zz{{{{|{z{}zz{{zz{{zz{{{|||{z{{{{zz{{{|{{|{zz{{z{{z{{|{{|{{{z{z{zy{z{{{{{||zz{{z{z{{|{{{{{|z{|{{zzz||{{|{z{{{{z|{{{|{{|{{||{{{zzz{{{}|{{{|{{{|z{{{{{{|{{{|{{{z{z{|{{||{||}{{|z{{{{{{|z{|||||z{{z{{|{|{{{|{{|{|{|zz|{{|||{||{{{{{{{|{|{{||||z{{zz{|zz{z{{||||{z{zzzy{|{|{{|zz{{zz{{z|{{{{|{|{zyz{zz{z{|{{{{{zz|{{zyzzz{|{{{|{{zy{{zz{z{z|{|{zz{{z{z|{z{{{|z}{zzzzzzz{z|{{{zz{{zz{z{y{|{zz{|{{z{zzzzz{{{z{{zzz{zzzz|z{z{{{{z{zzzyzzzzz{zz|{{{zzyzxzzz{{{z{{{{zzzzz{zz{{{{{{||{zzzzyzzyz{z{{{{zzzzzyzzy{zyz|{{zzz{y{z{z{|{{{{|{{zz{zzz{zz||{zz{zzzzzz{{zz{||{|zzzzzzy{|{{{z{{|zz{z|zzz{|{{{||{{zz{{{zz{|{{{{|{{{z{{{{{{{{{|{{{{zz{{zzzzz|{||{{{{yz{z{{|{|{{|{|{{{|{{z{{||||{|{{z{z{z{{|||{{{|{{{|{z{{{z|{{|{}}{{{{{{{{z|||{|{|{z{{{{{{|{||||{{{{z{zzz|||{||{{||{{|{{{|{|{|{|}}{{{z|{zz{|{{z{||{{{{{{{{{}{{{{|{{|{{z{zz{{{|z{{|z{z{z{{{z{|{yz{{z{zzz{zz{|z|{{||{{yzzzzzz|z{|{||{{{zzz{{{{{{{z{{{z{zzzzzz{|{{|||z{zz{zzzz|{z{{{{zzzzz{zzzz|zz{{{zz{{z{zz{{z|z{{|{z{zzzz{{|zyz{|{zzzz{zz{|z|{{|{{zzzzzzyz{zz{{{{{zzzzyzzzz{{zzz|{{zzz{z{zz{z{z|z|{zy{z{{z{{z{{{|{zzzzz{{{z{{{z{{|zyzzzz{z{{{{{{||{{zz{zzz{{|{{{{{y{{yz|{{{{{{{|z{zzz{zzzzz{|{{z|{{z{{zzz{{{{{{{|{z{{y{|{{{|{{|z{|{z{{{z{{{{{|{{||{z{|{{{z{|{{|{|{{{|zz{{{{|{{|{||{z||{|{{{||{{}|{{{{{{|z{{|{|{|||}z{{{{{{||{{{||{|z{{{{{{|zz|{{|||{{|{{zz{|{|{{|{{{{z{{{z||{{|||{{{|{z{{zz{{{z{|{|zzz{zzz{{|}{{||{{yzzzzzz|{z{{{{{z{zz|zz{y{z{{{{{zzzzzzz{zz{{z|{{{{{zzyz{{{{z{{{|{|zzz{z{z{z{{{{zzzz{z{z{{{{{z{zz{{z{zy{z{|{{{|{zzz{y{yz{z{{z{|zz{zzzzzz{{z{{{{yz{zzzzzyz{zy{{{{{{zzyzyzy{{{{{{{{zy{zzzy{zzz{{{zz{{zzyzzzzz{|{{zzzzy{{yyzzz{{{|{zzzzzzzz{{zzz{||zzz{zz{|z{{{z{z|zzz{{z{z|||{{{{{{{zzzy{zy{{|{{{|{z{{{{zy{z{{z{|{{{{{z{{zz{{{z{{|{z{{{{{{|{||{{||z{{{{z{{z{z{||}|{{zz{z{{}z|z||{||zz{{{{{{|{|{{{{{|{z{{{|{{|{||}{{{{z{|z{{||{{{{{{{||z{{z{|||{||{|{{{z{z{|{||||||{{|{{{zz||{|{||{{z{zz{{{{{{|{|||{zz{zzz{{|||{{{{{yzzzz{{z|{{{{{zzzz{zzyzz{{{{{||z{{zzzzz{{{{z{{{|{zz{yzyz{{{{|{{{{zzzzzz{{zzzz{{{zzzyzzzz{{{{|{{{z{z{yzzz{{z{z{{zzzzzyyz{{|{z{{{{z{zzzzz{zzz{{{yzz{zzzzyzz{zz{{zzzzzzyzzyzzz{|{{{zzzyzzzyz{zzz{zzzzyzyzyyz{zzz{{zzzzyzzzzz{zz{y|zzzzz{zyzzz{z{{zzzzzzzzz{{{zz{{|z{{zz{{zz{z{yz|zzzzyyzz{{z|{{zz{z{{yzzzz{|{{{{{{zyzzz{z{z{{|{{{{zz{{{{{zz||{{{|{z{zz{{z{{{{{{{{|z{zz{z{zz{z|z{{|z{{z{z{z{{{{{|{|{{{z{{{{{|{z{||{{{{zz|{{|{z}{|{{{zz{{{z|z{|{|{|||{z{{{|zz{{||{{||{z{{zy{{{{z{{|||y{{{|{z}{{||{|{{{{zzz{{||z{{||{{{{{zzz{{z{{{{|{{{zz{z{z{{{z{{|{{zzzz{zzzz|y{{{|{zzz{yzz{{{zz{{{{zyyzzzz{{z{{{z{{{{zzzzzzz{zz{z{{{zzzz{y{|z{{{{{zzzzzzzzz{{{z{zz{yzzzzzy{z{z{{{{yzzzyyzz{zzz{{{{zzzzzzzyy{z{{{{{z{zzzzyz{z{zz{{{{zzzyzzyz{z{{{{{zzzz{yzyz{zz{{{z{zzyzzzz{zz{{{{{zzzzzyzz{{{{z{|zzyzzzz{zz{{{zzz{zz{zzz{z{zz{{{{{{zz{z{zzzz{{{|{{zzzz{yz{z|||{{|{zz{{z{zz{y{|{||zzz{{z{z{{{z{z{|zzzz{{{z{{z{{{{{|z{{z{z{{{{{{{|{{zzz{zzzz{{|{z{|{{{{zzz{{{||{||||zzzz{z{{zzz|{{|{{{{{{zz|{|{{{||zz{{{zz|z{|{|{||{{z{z{{zz{{{{{z|||z{zz{zzz|z|{{||zz|zzz{z{{|{{||{|{{yz{zy{z{z{|}{z{{y{zzy{z{{{z{{zz{z{zyzz|{{{z{|zzz{zyzz{{{|{z{zzzzzzz{{{{{z{{{|zzzzzzzzz{||{z{{zz{z{zzz{{|{{{{|{z{zzzz{z{|zz|z{{z{zzzzzz{z{z{z{{zz{z{zy{{{{z{z|z{zzzzyzyzz{{{{z{zzzz{zzz|{z|{|zy{zzyzzzz{{{{{|{{{z{{z{yyz{z{{z|yzzyzyzz{{{zy{zzzyzzzzzzzzz{{z{{zyzzzyzzz{|zzzz{zzzzzzzzz{{{{{{{z{{zzzzz||{{z{{zz{{yzz{y{{{z|{{{{{|z|zzz{{{|{z|{{z{{zz{z||{z{{||z{zzzzz{{{|{{{{|z{{{z{|{z|z|{{{|{{{zz{zz{{|{|{||{z{{{{{{|}|{{{||{z{z{{{{{{{{{||||{z{{{{z{}|}{{|{|{|z{{{{|{|||{{{|zzz{{zz{{|{|{||{{z{{|zz|{||||{|{{z{z{z{|{{{|{|{{zz{z{zz{{{|{{|{{z{y{{yz{{||z{z{z{{zz{zy{{{zz{{|{{zzzzzz{{{|z{|{{{z{z{{z{{{{{|{{zz{zz{{yz{{{{{{{z{{{yzzz|{{{z{z|z{zyzzzzz{}{{{z|zz{yzzxz{z{{z|{|{zz{zzy{{z{|{{z{yzzzzzzz{|{{{z|{zzz{zyyzzz{{{{{{{zzzyzzyz|{zz{|{{zzyzzzzzzzzz{{{z{zyz{zyyzzzy{|{yyz{z{yyz|{zyz|{zyyz{{{{{|{|z{{{{{z{{zy{{z{zz{{{{{z{zzyz{{{{z{{{zzz{{yy{{{zzz{{|{zyzzyzzz{|{z{{{{{{{{zz{z{{{z{{{z{zzzz{z{{{|||||{{{{{{{|{|{{{|z|||z{{{{yz{{{{{{{{z{z{zz{||z{{{|{{{{{{|{{{{{z|||{{{{{z{|{z||{||{||{{{{{{{{|{}|{{{|{yzzzz{|{|{||||{{z{|{{||{{||z{|{z{z{z{zz{{{{|{||{zz{zzz{||{{{|{{z{zzz{z{{||{{|{zz{{{zzy{z{{{{z{zz{zzzyz{{|{{{{|{{{zzzz{{{{z{{{{zzz{{y{zz|{{{z{{{{{{zz{zz{{z{z{{zyzzzz{z{{z{z{{z{{zzzzzz{zzz{z{z{z{zyzyz{zzz{z{{{zzyzyzz{zzz{z{{{zzyzzzzz{{z|z|{zzz{zzzyz{{{{z{{zzyz{zyzzzzzy{{zz{zz{zzzzzz|z{{z{zzzz{zy{{z{zz{{{{yzzzyzz{{{zz{{zzzzyz{zzz{{z{z{zzzzzzzz{|{{{{{|{{{zzyz{{z{{{{{{zyzz{zzz{{{{{{{{z{z{zzy{z|{|z{{{{zz{{z{{{{{{{{{zz{zz{z{|z|{{{z|||z|z{zz{||{{|{||{zz{{{{z{{||{{|{zz|z{{{{{{||{|{|{z{zz{{||{|||||{{{|{{{{z{{{|{{{||{{{{z{{{{{{||{||{{{{zz|z{{{{{{|{{{z{{zz{{{|{|{|{zzz{{z{{{{{|{|{zzzz{z{z{|{{|{{|{{|zzzzyz{|{{{{{{{zzyzzzz{{{{{{|{{yyz{{z{z{|{{{{{z{{z{yzz{z{{{{|z{|{zzzz|{{{z{z{z{zyzz{z{{{z{|{{z{zzzzyz{{{{yz{{zz{zyzzz{zz{z{z{{zzyzzzz{|{{z{{z{zzzzzzz{y{{|{{zz{z{zzzz{{{z{{zz{zzzzy{xyzzzzz{zzzz{zxz{{{{{{|z{zyzzz{zy{{{{zz{zz{zzzzy{z|{z{{z|{zz{yzz{{zy{{{{|{{{zzz{z|{||y{{|{{zz{z{{z{{z|{{zz{{z{zzz{{|{{{|zzzz{{z{{{z|z{{{|zyzzz{{z|||{{|{|z{z{{||{|{}{{|}|{z{z{zz{}}}||||||{z|{{{{{|z|{|||{zz{zz|z{{{{{||||{{|z|{z{|||||{|{{|{zz|{|{{{|{|||{{{|zz{{||{|{{|{{{{{{zz{|{|||{{{{{y{zz{{{z|{{|{{{{zzz{{{}{{{{}{z{|z{zz{|{{{{zz|{zzz{z{{z{|{|{||z{z{{{zz{|{|{||{|{{{{{zy|{{{|{{{{{{{zzzz{{{{{{|{|{{{yzzz{{{{{{{zzzzz{z{z{|{{{{||{zzzzzzz{{{z{{{{{z{yz{zzz{y{z{{|zzzzzyz{{{z{{z{{zzzzzzyz{{|z{{z|zzzzzzzz{|{z{{|{{{zz{zzy{{zz{{{z{zyzyzz{{z{{{{{zzzzz{{zz{{{{{{|zz{z{{zz{{{{{y{|{zzzzzzz{|{{|{{{{{zzzz{y{{{{{z{||{z{z{z{z{{{{|{|{{{{zz{{z{{||||{{z{z{{{zz{||{{||{{z{{{yz{{|{||{|{z{{z{{{z|{{{||}{{{{z{z{{{||{{}|{|zz||{{{||{||||{{z{{|{{{{||{{{|||{{{{{{z{{||{|||{{z{{z{{{|{||{{|}{{y{{z||{{|}||||{{zz{z{|}{|}|{{{{{{{{z{{|{|{{|}||z{zz{z{{{|{{{||z{{{zz{{|{{{|{{{zzzzzz{z|{||||z{z{{{zzz{{|{{{{|z|{yy{{z{{{{{{{|{{zzzz{{{z{{{{||{z{yzz{z{z|zzz{{z{{{zz{zz{{{{|{{{z{{{zzz{{|{z|{{zzzzz{{zzz{{{{||zzyzzz{zzz{zz{{zzzzz{zzzzz{z{zz{z{yzzzzyz{{{{{{{{zzz{{zz{{zzz{{{{zz{zyzzy|zz{{{zzyzyzzzzzz{zz{|{{zyz{z{{zz{zzz||z{zzzyz{{z{{{z{{z{zy{z{zzz{zz{{{zz{{zz{{z{{{{||{zzz{{{zzzz{{{{{{{zz{{{zzz{zzz{{{{zzz{{{{{|{{||||{{{{zz{{{|{{{z||z|{{zzzz{|{|{{|{{|{z|z{{|||{{|}|{|{|{{{z||}{|}{|{{{|{{z{{|{|{{||{{{zz{{{{|{{|{{{|{{z{{{z|{|{{|{|{{{{{z{{|{zz{|}||{{z{zzz{|||{|{{{{z{{z{z{{|{|{|{{{|{zz{z{|{|{{{{{zzzz{zzz{z{{z{||zzzz{zzz{{{{{{|z{y{{zzz{{{|{{{{{z{{{{{{z{{|zzz|z{zzzz{z}{|{{{{|{{z{zzyzz{{zzz|z{yzz{z{zzz|z{{{zzzz{yzzzzz{{z|z{zzzzyy{zz{{{zz{{zyzzyzyzzzzzz{{zzzzzz{zzy{{z{{{z{z{zzyzzzz{zz{z{z{zzzzzyz{{{z{{|zzzzzz{yzz{{{{{z{{{zzz{{|{z{{{{|{zzz{{zz{{z{zz{|{{z{zzz{{z{z{|{{{z{{zyz{zz{{{|z{zzzz{zzy|z{}|{{|zz{{z{z{z|zz{{|{z|y{|zz{z|z|{z|{{z{z{|{{|{{|{|||{z{|z|{z{{{{{z|{|z{{{{{{{{{{{{||z{{{z{{{{{{{z|{||{zz{|{{{}|{|{{{{{{{z{{z||||}|{{|z{{{z{{{|{z|||||{{{{{{z|{|{z{||z{{z{zzzz{|{{{|{z{{{zzzz{|z{z{}{{z{{zz{{{{{|{{z{zzy{zyzz{{|{zz{{zz{z{{zz{{{{{{{{{{zz{z{z{z{{|{{{{zzzzzzy{z{{{{|{{zzzzyzzzz|zzz{{zyz{{{{zz{zzz{{{zzzzzyzz{|{{z{z{{z{zzyz{{z{z{{{{zzz{zzzz{z{zz{z{{zy{zzy{zzzz{{z{zz{zzzz{z{{z{{zzz{zz{zzy{zzzz{{{z{zz{zzzz{{z{{{zyzz{z{zzzzzz{zz{{z{z{yzyz{z{z|{|zz{zyzzz{{{z{{z{zz{z{z{z{{{z{|{z{{z{zzzzz{{|{{{{{{zz{zzz{{{{{{}|{zz{{{z{z|{z{{{z{{{{{yz{{{{{||{{{{z{{{|z|{{{{|||{z{{zzyzz{|{{{||{{{z{zzz|}||{{|{{{{zzzzz{{|{||||{{{{{{|{{|{{||{||{{{{{zz|}|||z{{{{{zzz{z{|{{{|||{zz{{{zz{{{{{{|{{|z{{{{{{{{|z{|{{z{zz{{z{{{|zz|{z{{|zz{z{{{{{{{{zzyzyzzy{{zz{zz|{z{zzyzz{{{{|{{z{{{z{{zz{{{{{|z{{y{z{z{{z|{{{{{{{zzzzzyz{y{{{{{|y{{zzz{yy{{{{{{{{z{y{z{{{z|{zz|zzz{yz{zzyzz{{{{{y{{yzzz{{{{{zz{zzzzzzyyz{{{z{{z|zzz{yz{zz{{{y{{|zyzzzzzyzzzyz{{{zy{zzzyzz{z{{{{|yz{zz{zzz{{{z{{{zzzzzyzz{z{{zz{{{y{zzyzzz{{{z|z{{{z{zy{z{{{z{{{{{{z{{z{yzz{{z|{{zy{z{{zz{{{z{{{{{z{{z{zz{||{{{z{{|{{zy{{z||{{||{z{{zzzz{|{|{{||{{z{z{{y{z{{z||||{zz{{{zz|}|{{{|{{z|z{{{{{|{{||{||{z{{{{{|{{|{|||{{{z{{z{{{||{|}|{yzz{{z{{|{{{{{{z{z{z{z{{{|{|{|}{{{{{{{{{|{|z{||{z{zz{zz{{{}z{{{{zzzzz{z{z{{z{z|{zy{zz{zzzzz|{{{|zzz{yz{z{{{{{|{z{{zzz{{zzy{{|{{zzzzyz{zz{z{zz{z{z{yz{zz{zz{z|{{z{zyyzzzz|zzzzz{z{{z{zz{zz{{zz{zzzz{y{zzzzzzz{z{zyzz{zzzy{{{{{z{yzzzyzzzz{{zzz{{zzzzzzzzz{{{zy{|zzz|{zzzzzzz{{{z{zyzz{yy{|z{z{{{{zzyzzzzz{{yzz|{zzzzzzzz{zz{yz{{{z{zzy{z{{{{z{{{yzzzzzzzz{{{{|{z{{{z{yyzz{{{yzzzzz{z{z{z|z|zz|{{z{z{zzzzz{{{z{{{z{z{{{{z{{{{{{|{y{{z{z{z{{{{{{|{{{z{{{zz{{|z{{{{zz{yzzz{{|{|{|{{{{{z{{|{{{{{{|||{{zz{||{{{||{{{{{z{{{zz{{{{{{{{{{{{z|zz{{{{z|{||{z{{|zzz{{{{{{{|z{zz{{{z{{z{{{{{{yzzzz{zz{{{{{{|{zzzzzzz{|{{{|{{zyz{zzzzzz{zz{}{{zzzzz{z{z{{{z{{{{{zzz{z{{{|z|{|{z{{z{z{z{z{{z{|z{z{yzzz{{{{z{{{zzzy{z{zzz{z{{{{zzzzyzyyz{{zz{z{zyzzzzzyz{{{z|{{zzyzzz{{y{{zz{{{zzzzzyy{y{{zzz{{zzzz{xzy{zz|zz{zyzzzyzyz{z{yz{zz{zzzyzzzz{{zz{{{zzzz{zzzz{{{{{zz{z{zzyyyz{{{yz{{z{zzzzzz{yz{z{{{yzzzz{{z{{zz{{|{zz{zzy{zz{{{{{{{{zzz{zzzz{{{{{||zzz{y{{z{|zz{z{zzz{zz{zz|z||{|{{{zy{{{{{{{z{{{||{{z|{zzy{{{{|{{|zz{z{y{z{{{|{{|{z{{{{{{|{{{{{{{{|{{{zz{{{|{{|{|{{{{zyz{{{{{{|||{{z|{z{{z{{{{{{{{{{{z{z{{{}{|z|{|{{{zzz{{{|z{{|||{{{{{{{z{{z{{z||{{z{zzzz{{{{{z{{{{yzzy{zz{{{z{z{{zzz{z|z{{y{{{{|{zz{z{yz{z{z{||{zzzz{{zz{{{z{{|{{z{zzyzy{{{z{|{|zzy{yzz{y{z{{{{{zz{yzz{zzzz{z{{{{z{zzyyy{zz{zz{{zzzz{yyyzz{{z{zzzyzy{yzzy|{z{{{{yzzzzzzz{{z{zzz|zyzzyzzzzyzz{z{yz{yz{zzz{zz{z{{{{z{zyz{zzzzzz{|{{zzz{{{z{{{z{{{{{zz{zy{{{{{z{{{|zy{zzyzz{{{z|{|{zy{z{zzz{{{{{|{{{zz{z{yz{{{{z{|{|y{zzzzz{|{{{zz{{z{{z{{{{{{{{{{{zz{zzzz{{{{{||||z{z{z{zz|{{{|{|{{z|{{{{{|{{{||||z{{{{{{{{{{{{{{{|{{{z{{{{{{{{||{}z{{zz{{{|{{||{|{z{z{zzyz{|z{{{{z{{{zyz{{z{|{||{{{{zz|{zz{{z||z{z{z{z{z{{{{{{{{z{zz{{zz{{{||||{{{yzzyzzzzz|z{|{{z{zz{z{{z{{{{{||z{{{{zz{{|{zzz|{{{{z{zzz{{{z{y{zzzzzzzzz{{{{z{{{{zzzzzzzz{{{||{|{zzzzzzzzzzz{z|{{zzyzzzyzzz{{{{{zyzzzzzz{z{{yz{zz{zzzyyzz{z{{z{{{zzyzzzzz{zz{{|{zzyzzzzzz{{zz|zz{zzy{yzyz|zz{{{{yzzzy{zzyzzzz{{|zzzz{zzy{{{{z{{{zzzy{yzy|z{{z|{zzz{zzz{z{z|{{{{{{z{{yzz|z{|z{||z{z|{zzzz{{{|{{{z{{z{{{{{{{z{{{{{{{{{{{z{{z|{|{|{{{zzzzz|{{{{z}|||{{{{{z{{{{{{{{|{zy{{{{z||{{{z|{{z{{{|z{|{z{{||{{z{{z{z{{{{|||{|{zz{{}{{{|{{{{|{||z{{{z{z|{z|||{{{{z{{{{|z|||{|{{zzz{{{z{|{{|{|{{zz{y{zz{||z{{{{{z{zzz|z|{|||{{|z{zzzzzy{{|{{|{{zzzyzzy{z{{{{z{{{{zz{z{{|z{{{||{z{zzzzzzzz{{{{{{{|zzzzzz{{{{{{{{zz{{z{|z{{{z{{{z{z{z{{y{{{{{z|{z{{zyz{zz{zz{{{||zzzzzyzzzzzz|{|{{zzz{zz{{zzz{{{|zzzyzzzz{z{{|{{{zzzzzzzzz{zzz{z{{zzzyyzzzzzz{{{z{zzy{{zzzzz{z{}{{{{zzz|z{z{{{{{{zyzzzzzy{{{{{|{{{{zzzzz{z|{zz|{|{z{z{zz{{|{|{{|{{{{z{{z{{|{{{|{|{{y{z{z{{|{z{{z{{{z{{zz{{{|{|||||z{{{{|{||{||{{||{{{{zzz{|{{|||{|{{z|{{z||{{|{||{{{|{{|{z{|}{|||{{||{{|{|}|}||||{{|{zz|{||||{{{||{z{{||{{{||{{{|||{{|{z{||{|{{||{zzz{zzzz{|{{||{{y{|{|{z{|{|{{{z{z{{{z{{{{|{|{{z{zz{{zy{z{|{{{{{{yzzy{{zz{{z{{z|zz{z{{zz{{z|{{||z{{zzzzz{{{|z{{|z{zzzzzz{{||{{{{{{{z{{{zz{{{zz{z{z{{y{zz{{zz{z{{zz{zzzzz{{z|{z{{zzzzzyzz{|{z{z{z{yzzz{z{zz{z||{{zzzzyzy{{z{{{{{{{zz{zzzyzz{zz{{zzz{zzz{zyzz{z|z{{zzzzzzzz{{zz|z{{z{{zz{z{z{{{{{|zz{{zyzz{{|{z{{z{z{zyzzzz{{z|{||{{z{zzzz{z{{{|{|{z{zz{yz|{{{{{}{{zzz{y{z|||z{{{{{{{{{{{zz{|||{||zz{z{{z{|||||}||{z|{{zzz{{{|{{}{{{{|{{{|{|{{{}|||{{{{{{z{|{|{|}||{||{{z{|{|}||||||z{{|{|{{{||{{|{|z{{z{|{||||{|||z{{||z|{{|{{|{|{zzzz{z{{|||{{}{{zzzz{{{{z{{|{|{{{zz{{z{{|{|{y{{zzzzzzyy{{{|{|{z{{zzzz{{{{{{y{{|{zz{yzz{z{{{{{|{{yzyzzzzz{||z{||{{zyzzz{{z{{{z{{z{zz{zz{z{zzz{{z|z{z{zzzz{|z{z{zzz{z{zzzy{{zz{z{zzz{yyzzzzzz{{{{{zyyzzzzzz{{z{z{|yzzzzyyz{|z{|z{zzzzyzzy{zzzzzzzzzzzy{zyz{z{{{zzzz{z{zyzz{{z{z|{{{z{zzzzz{{{zz{{z{{zzz{{{{{{{{{|zzz{zzzzz{{{{||{{{{z{z{zz{{{|{{{{z{{zzzz{{{{{{{z{z{z{z{{{|{{{{z{z{z{|z{{||{||{{|{{{{z{{z||{|{||{{zz{{zzyz{|{|{|||{{{{{zz{{{|{||{{z{{z{{{{z{|}||{|zz{z{{|z}||{||{{{{{{{{{|{{{{|{|{zz{{{{{{||{||}||z{{{{{{{{{|||||{{{y{{{zz|{||{{|{{{zzz{z{{{||{{{{z{{z{zz|{||{{z{{z{yzyz{{{{z{}{{z{{{zzzz{{{z{||zzzzzy{yzz{{{{|||zzzz{zzzzz|{z{{{|zzyzzzzz{{{z{{{zz{zzzzz{zy{z{{{zzzzzyzzzzz{z{{{zzzzzy{z{{z{{z{z{zzzxyzzz{|{{{{zzzzzzzzzyzzzz{{{zzzzz{y{z{{zzzz{zzy{zyyzzzzz{|{{zzzzzyzyzzy{z{{|zyzyzzyyzzz{zz{z{zzz{{zz{z{{{{{|{z{y{zzzz{z{{{{|{z{zyzz{{{{zz{{{{{zz{z{{z|{{{|{||x{zzzzzz{{{{{|{{{{{|{zz{{|{|{{zz{zz{z{{{{||||||zzzz{{{{|}{|||{{z{{{{{yz{{|{{||{|z{{{{{z{||{{{{{|{{{{{{{{{z||{{{|{zz{{{{||{|z{||{z{{zz{{|{{{{{|{{z{{z{yz{|{{{{|{{{{|{{{||z||{|{{{|zzz{{{{{{{{{|{{|zz{{{z|{{||{|{{{z{{{{{{{{||{{{{z{z{z{zz|{{{{{{{{yzz{z{{{{{{{}|{z{zzz{z{zz|{{||zyzyyzzz{{{{{{{{{{zzzzzzz{{{z{{|z{yzzz{z{zzz{{{{{z{zzzzz{z{zzzz{{zzyzzz{{z{z{{{{{zz{zzzzz{{{{z{{{zyzzzyzzz{{{|z{{zzzzzzz{{{{{{{z{zzy{yzyyzzz{z{z{zzzzzzyzz{{{z{{zzzzy{{z{{{z{z{{zzzzz{{zzz{zz{z|{{{zzz{zz{z{z{||zzz{y{zzzzz{z{{{{z{z{z{z{{zz|{{{y{{{{|y{{{z|{||z{{{{zzz{z{{{{{z{zz{zzz{{z{|{|{||{zz{{{||||{|{{|{{{{{zzzz{{||{||{{{z{zzzz{|{{{{|{{{{z{{{{||{z{{|{|{{{z{{{||{||||||{{zzz{z|{||{{|{|{|z|{zz{|{{}{||{zz{{zzz{{||||{|{{{{{zz{{|{{{{{{|{z{{zyzz|{{|z||{{{{{zz{|{|}|{y|z{z{{z{{{{{zz{{}{zz{zxyy{{z{|{{z{yzzz{{z{y{z|{|{{y{zzzzz{{{z{{|{{z{{zz{z{{{z{{{|{zz{zzzz{{z{{z{zzzzyzzy{{{{|{{zz{zzzyzz{zz{{z|zz{z{zyzzz{{{{|{|{{zy{y{yzz{{z{|zz|z{yxzzzzzz{{|{zz{yyzyzyzzzzz{{{z{zyyzzyz{{{{{{{zzzy{zyyzz{{z|{zyzzzzz{{y{{{z{|{zz|z{{zzz{{{{|{|z{{zzzzy{{{{{|z|yzzzzz{{z{{{{{|z{{z{zz{z{{|zz{|{{zzz{zz{z|{{{||y{z{zzz{{{{z}||z{{{{z{z{{{|{{{{||{zz{{zz{{{|z{|{{{zzzzz{z|}{||||{{{{y{{{{{}{{{{|}|z{{z{{|||{|{{||{z{z{z{{|{{{{||{{{{{{zz{{{{{|{||{{{z{zz{|{{||{{{|{{{{z{{{|{z{|||{{z{{{zz{{{{|z||{z{z{z{{||}{|{{|{zyyz{zyy{zz{{{{zzzz{yzz{{{{{{z{{zyyzzyz{z{{{{{zzyx{zz{{{{{|zz{{z{yzzzzyz{{{{{z{{zz{yz{y{zz{{{|{zzzzzzzzzz{zzz{{{z{zyzz{z{z|{{z{zyzzzyzz{zzz{{zzzyzzzzyzzz{zzz{{zzzyzzyzzz{{z{{z{zzzzyzzy{{zz{z{x{zyzyzyz{y{zz{zzyzz{zyzzz|{{{{|z{zz{yzzzzz{z{{{zyzzzyzyz{{zzz{{zz{{yzz{z{{{{|{{{zzz{y{{z{{{{||{zzz{z{yz|{|{yz|{{zzyzyzz{{zz{|{|zzz{{{{z{z{{{|{{{zz{z{{{{{||||{|{zzzzzzz|{|{{{{|{{{zzzz|{||{{}{|{z|{{{|{{{{|z{|{|{{{z{zzz}{{|||{{z{|z{{z|{{{{}{{|zzzz{zz{||{{|{|{|{z{{z{||{|{{||{{zyzzzzz||{{{{{{{|zzz{z{{{{{{{{{zz{{z{z|{{|{{zzzzzy{yzyz{z{{{{zzyzzy{{z{z{{{{{{{z{yz{zy{z|z|{z{|z{{zzzz{{{|z{{{zzzzzy{z{{zzz{zzzz{zz{zzz|zy{{{z|zzzzyzzzz{zz{|zzzzzz{zzz{z|{{{{yzzyzzzyzzz{{{zzzzzyyyz{zz|{{|{zzzzzz{zz{z{{z{{zzzyzyyyzzz{zzz{zzyzy{yzzz{{{{{z{{y{zz{zyz{zz{||{zzzzzzzz{zz{{{{{{zzzzzzz{{{{{{z{z{zzzzzz{{{{{|{|{zzzzzzzz{|{z{{zz{{z{zzz{{|{z{|{zz{zzz{{{|}|{{|{|z{z{{zz|||{{{|{zzz|{|{{{{{|{|||{z{{{zzz{{|{{||{z{{z|zz{|{{{|||{{{z{{|{{{{||{|{{{{{z{z{z|{{|{|}|{{{{|z{{|z|{{|{{|{{{{z{{{{|{|||{|{{|{{zz||{{{||{zzz{z{zz{|{{{{||{zzzz|z{{||{|{{|{{{z{{{{}z}}|||{{{zzyyzz{|{{{z|{z|{zzyzz{{{{{{{{{zzzzzzz{z{{|{{||z{z{zzz{zz|{{{||zz{zz{yz{{{{{z{{{zzzy{{z{z{zz{{zz{zzzzz{z|z{zy{zzzyzzz{z{{z{{z{zzzzy{{zz{{{z{{zzy{zzzzy{z{{|{z{{z{zzzyz{{{{{z{|zyzzzzzyz{{z{{zz{zyzzzzzz|z{z|{{zzz{{yzz{{{{{{|{{{zz{yzzz{{{{{|{{{{zzy{z|{{{{{{{z{{zzzzz{{{{z{{{{z{zyz{z{{|{}{z|{z{z{{zz{{|z{{{{{{{{z{zz{z|{{|{{{{zzzz{{{{{|{}{{{|{z|z{{|{{||}}{{y{{|{z{z|{||{z|{y{{z{zz|{{|{|||{z|{|{{{{}{||{|{||{z{|{||}|}{|{z||{|zz{{||{|{|||{z{z{zz{{{{{{{{{z{z{{zzz||{{}{}{{{z{zzz{{z{{{|}{|{{zzzzzz{{{{{{{{{{z{z{{|}}}|z|zzzzz{{zzz|{{{{{{{z{zzzzy{{{z{|{{{zzzz{zz{{zz{{{z{y{zzzzz{{{{z|{{{{{zzz{z|{{{{zz{{{{zz{zz{{{y{|{{{zzzzzy{{{{zzzz{{{{yzzzz{{z{z{z{{zzzzyz{z|{z{{{zzzzz{yyzz|zz{{{{z{zzxzzz{{{zz{||zyzzzyzy{{{zzz|{zzzzyzzzz{yzzz{{zzz{z{zz{z{|{{{{|{{z{zzyz{{{{{|{{y{zzzzz|{z{z|{|{z{z{zzzz{{{{{}|{{zzzzzzz{{{{{{{{z{z{zzzz{{z{|{|{{z{|z{{{|{z{{|{{{zz|y{{|{||||||{{{z{{}z{{z{{{{||{{{{{z{{|{||{|||{{z{z{|}|}{||||z{|zzz{|{|{{|||{|{{{|z|{{}|{|||||z{{{zz{{|{{|{||{{{{{{{{|{{{||||{{{{|{{|{}{|{{{|{{z{zzzz{{{z|||{{{|{zzz{{{|{{||||{{{zzz{{}||~z{z{{zzzzzzzzz{{{zz{{zz{zzz{zz{{{{|{zzz{z{y{{{|{z{{{zzzzzzz{z{{zz{{{zzzyzzz{yz{||z|{zzy{zzzz{{{{{zz{zzzyy{z|z{{z{{z{{{zzz{{z{z{zzz{yzz{zzyz{zz{{|z{zzz{zzyzzz{z{{{{{{zzzy{zy{{{z{z{zyzzyyzyzzzzyzzz{zzzzyyzy{z{z{zzyyzzz{zzzzzzzz{{z{zyzzzzz{|{yz|zzzyzzz{zz{{{{{z{z{{zyzz{z|{z||{{zz{{{{zz{{{{{||{z{{z{{{z{{{{{||{{zzz{{z{{{{z{{{}||{z{z{z|{{{{|z|zz{z{{{{{{{|{z||{{z{zzy{||{|{{}|}z{||{{z{|{|||}{{{{{zz{{{{|z{|{{|{{{z{{{{||{|{|{{z{{{{z{{|{{|{||{|{z{{{{{{z{{{||{{zz{{z{{{{||||{zzzzz{z{{zzz{{||z{|zzyzz{{|{|{}{z{{{{y{z|}|}}|{{zz{{zzzzy{{z{{|{zzz{zzzz{|zz{{{}{zzzzz{z{{{{|z{{z{{z{zzz{zz|z{{{{z|zzz{zz{z{{{{|{zzzzz{y{zz{{{{z{{zzzzyz{z{zz{{zzzzzzyzz{{zzz{{{zzzzz{zz{{{{{{zzyy{zyzzz|{zz{{z{yzzzzz{zz{|{z{{{{{{{zyzzzz{zz{{{z{{z{{z{zz{{z{{{z{zz{zz{z{{{{{{{z{z{zyz{z{z{{{|{yz{{{z{z{{{{{{||{yz{{{z{z{{{{zz|{{{{zz{yzz{{{{{{z{zzzz{z{{{{{{|{{zz{zzz{{{{{{{|z{{{zzz{{{z{{||{|{zz{{{{{|{{|{{}|{{{zzzzz{{{{|||z|z{|{{zz||{{||}|{|{z{|{{{{{|||||{{{{{z||{|{{|||{|{{{z{z{z||}{{{{{|z{{{{{|{||{{{||{z{{|{||{{|{{}{z{{{{|z{{{{{{|{{{{{{{|{z{{|{|{{{{{zz{z{{{||~|{{{zyzzz{yzz{{z{z{{{yzzzy{z{{{z{|{{z{zzz{zz{z{z|{{|{zzzzzzy{{zz{z{{}{{yzz{z{z{z{{||y{|zzz{zz{{zz{|{z{zzzzzzz{{{{zz{z{{zzzz{z{{|{{z{zz{yzzyz{z|z{z{z{z{zz{zzzzzz{{{|{zzzzzzz{{{{{zz{z{{zyzzzzzz{{z{yyzyzz{yzz{z{{{{{zzzzzz{z{zz{{|{|{z{zz{zz{|{{{{{|{{zz{{zz{{{{{|{|{zz{zzz{{|z|{{{{{|zz{{zz||zz|{z|zzzz{yz{z{|{|z||{z{{z{z{{{{{{{{{{yz{{{{z{|{|{||z{{{{{zzz|{z||z||{z{{{{z{{||}{||{{z{zzy{{|||{||}{|z|{{|z{{{|{|{|||z{zz{|{{||{|{{{{{{{|{z{|{{||}|{{{{{{{{{{{{|{{||{zz{{{{|{|{{|||||z|{zz{zz{{{|||{{z{{|y{z{|}|{{|{{{|{{{{{z||}}|{{yzzz{z{zz|z{{{{{{zzz{yz{{|{|{{{{z{yzz{zz{|{z{z{z{zz{zzz{z{{{{{{{{yzzzz{y{{zz{|{{zzzzz{{zz{{zzz{{{zzz{z{{{z{{{zz{zz{zy{{zz{{z{z{zzzy{zyzz{{z{{z|z{zzzzzyzz{{z{{|{zzz{{zzzz{{z{z{{z{zy{yzzz{{z||{{zzzzzzzy{zzz{|z{{yzz{{zzz{{{zz{{{zzz|yzz{{{y{zz}{{{zzzzz{zz{{|{{zzzzzzzz{{{zz|{|{{{|{{{{z{z{z{{{{zzzz{yy{{{{{{||z{{{zz{{{{|z{{{{{{zzz{{{{{{}{{|}z{z{z|{{||{|{{}{{z{{z{zz{{|{||{{{{zz{{{{{{{z|{||zzz{{{|{{|||{{|||{{{{zzzz||{{{{{{z{{z{{zz|{|||{{|{{z{y{{{y{|z|||y{{||{{||{|{|{{{{{{zz{z{{{{{{{|{{{{zz{{z|||{{|||{{{zzz{{{{{|}{{zy{zyyzzz{|{{zz{{zzz{zz{z{z{{{{||z{zyy{zy|zz|{|{{{{z{{zzzz{{{z|{{{z{zzzzyz{{zz|||z{zz{{zxzz{z{{{{{{{z{yzzz{{z{{z{{z{zyzyzz{{{{{{{zyxyzz{z{zzzzz{yzzzz{{zzyz{z{{z{zz{zzzzy{{{{z{{{{yyz{yzyzz{zz{{zzz{zzzzzz{{|zz{zzzzzzyyzz|zzz{|{{z{{zzzzz{{{z{{{zy{zzzzz{{z{{{z|{z{zzzzzzz{|{{{{{z{|{zzy{z{|z|{|zzzz{zzz{{|{{{|{zzzzzz{{z{{zz||{zz{{{zzz{{{|z{||z{{z{z{||{{{|{{|{z{{z{z{|{|||||{z{{z{z|y|{|{||||{{{|z{{|{{{||}|{{||{{z|{}|z||{|||zz{zz{{{|{{|||||z|z{{{z||{|{{|{|{z{{{{{{{{|{|{|{{zzzz{z||{{{{|||{{zz{{{{{{||{||{z{z{|z{||}||z|{z{zz{zzzz{{|{{{{z{zzzzzy{{|{z|{{zyzz{{{z{z{z{{z{{yz{zyzyz{{{{|{{{{zzzz{yzzz{z{{|{{zyzzz{z{{{{{{z|zzzzzzzz{{zy{{{zzzz{zzz{{{z{{{{zzzyzyyzz{{yz{{{z{zzyzzz{z{{{{{{zzzyyzzzzz{{{zz{zzz{yzzyzzzzz{{{z{yzzyzyz{zz{{|{zzzyy{zy{z{{{{{{zy{yyyz{{{{zz|{|zzzzzz{zz{z{{{{{zz{zz{{z{zzz{z{{{z{y{z{z{{{{{{{{z{z{z{yz{{||{{{z{zz{{zz{{{z||{z{zzz{{{{{{{{||||{zz|{{{{{|{{{{|{|{{{{{{z{|{||||||{zzzzz{{||||{{||z{z{|{{{{||||||||{{{{z{{|}z{|||{{z{z|zz{||{{|||{{{{{||{z{{{{{{|{|zz{{{{y{zy||{{|{yyzzz{{|{{{z|{{{z{zzzz{z||{z{|z{|{z{zzz{{}{}{|{zzzzyzzz{|{{z{{|z{zzzzz{|{zz{{{|{zyzzzyyzz{{{{|zzz{zzyz{{z{{y{z{z{zzzz{z{y{z{z{{{z{zzzzyz{zzz{{{{zzzz{zzz{zzz{{{z{z{y{yzzz{{{{{zyzyyyz{{zzzzzz{zzzzzyzyz{{{{{|{{z{{{yz{yz{zzz{{zzzzyzzzzyzyzyzz{zzzyzzzyz{zz{{{{zzz{zzz{{z{zz{{zzzzzzy{z{{{{{{{{zz{zzzz{z{z{{z{|{z{zzy{{{{||{{{|{yz{zzzz{{||||{{{z{{{zz{|{{{{{||zzzz|yz{{{||{|{z{z{z{{z{||{{{{{|{{z{{{{z|{z{{{{{z{{{zz{{}{{{{{{|zzz{{y{{}|{{|{||z|z{{{{zz{{{{|}||z{{yzzz{|||{|{|||{{{{{|{{|{|||{z||{{zz{{{|{|||{|{z{|{z{{{{||{||{{{{{zz{z{{{{||{{{{{zz{z|{|{z{|{{{z{zzz{|{|||{{zz{zzy{zz|{z{{{||zzzz{y{z{zz{{{||zzzzzzzz{z{z{{{|{{{zzzzyz{{{z{{{zz{zzz{yz{z{z{z{zzzz{yzy{{{y{{zzzzy{{yz{{{{{{{{{zzzzzzyzyzzzz{{zz{y{yzzz{z{zz{{{zzyzzzyzz{{{z{|{z{yzy{yyz{{z{{{{{{z{zyzx{zzzzzz{{zzyzzzzzzy{z{{zzzzz{zzzzy{{{{{{z{z{yzzyz{{{{{{zzzzz{yz{|{{{{{{zzzzzz{{{{z{{{{z{{{zzzz{yz{{z{}||{{{z{{zy{|{|zz{|{{z{zy{{{{|{{{{|{{zz{yzzz|{{{|{||zz{z{{{{||{|{{|{z{{zzzz|{{||z{|{z{z{{{{{||{|||{{{{{z{|{{{{z|{|{|{{z||{{{{{|||||{{{{{z{{|{||{||{{z{{zz{{{|{{{|}||zz|{{{z{{{{|{{}{zzzzz{{|{|{zz{zz{zz{zzzz||{zz{|{zzz{z{||||}|{zz|zz{{zzy{{{zzz{{{{z{yzzzz{z{{{|z{zzz{yzzz{z{z||{{zzyzzyyz{{zz{z{z{{yz{zz{{zzz{{|z{zz{yz{zzzzz|{{{yyzyzzzz{{zz{zzzzzy{zzz{zzyy{zzzzz{zyzzz{z{{zzz{zyzzy{{z{{zz{|{zz{yzzzzz{zz{zz|z{yyyyzyzzyzz{zzzz{zzzzyz{{{{{z{zzzzz{{z{{zzz{{{{zy{{z{z{z{z{z{{zzzzyyz{{z{{|z{{zzz{zzzyz{{{{{{{z{{zzzzz{{{{{{|{z{{z{zzz|{{{z{{{zz{{zzzz{{{{{{|{{{z{zzz{|{{|{|{{{{{z{zz{{{|{z{{{{{{|{zzz{|{{{{|{{z{{{{{|{}|{|{{|{{zzz|{{{{z{{{|{|z{{{{{z{|{|{|{{{z{{z{{{|{||||{{{{z{{{{{{|{||{|{{{{{{{zz|{{{{{{|{z{zzz{z{{{||{|{|{zz{zzz{|{{|{|{zz{yzz{z||||{{|{{z{z{|zz|{{z{{{{{z{{{z{y{{zz{||{zzzzzzzz{{{z{z{{zz{z{zz{{{zzzz{{{z{zyzzz{{{{z|{{{z{yzz{zzzz{z{z{zzzzzyzzz{|z{{zzz{zzzyzz{z{{{z{{zzzyzzzz{z{zzz|{zyzzy{zzz{{{{{{{{{{yy{zz{z{z{{{{zzyzz{zyz{{z{{z{zyyzzzyzzz{zz{z{z{{zzzzz{{{zz{{{z{yzzyzz{{z{z{{{zzz{zz{zyz{{{{{{{z{{zz{{{{{{{{{{zz{{zz{y{|{|z{{{|z{{zzzz{|{{{{{|{z{{zz{|{{z{z{{|z{zz{z{z{{{}||{{z{{z|{|z{{{{||||{zzz{{zz{|{{|{|{{z{{{{{{{|{|||{|{z|z{{{z{{{{||{|||{{{{{{||||||||{z||{{{{|{||{|{{|{z|{{z{z{{{{{||{{z|zzz{|||{{||{z{{{y{y{{{{{{|{{{z{zzzz{z{{{{z{z{{{{{{{z||{{||{{z{z{zzzyz|{{z|{z{zzzzzz{{z{{{|{z{zzzzz{z{z{{{z{{{{z{yyzz{z{z{{|{{{|zz{zy{z{|{zz{z{{{z{yzzz{zz{|{{z{zzzzy{zz{{z{zzzzzzzy{{{{zz{{{zzzzzzzzz|z{zz|{zzzzzzyz{{z{{{|{zzzyyz{zy{{|{z{{{{zzyy{zzz{zz|{{zz{yzzyzyzz{{{z{zzzzz{zz{{z{{{{|zzzzzzzzzz|{{{{{{z{zzzz{z{{z{|{{{{z{{z{{{z{{{||{{{zz{zzzz{{{{{|{{z{zyzz{{{{|{{|zzz{{z{z{{{{z{{|{{{{{{z{{{|}{|||{z{{{{{{{|{{|{{|}|z{{{zzz{|{|{{|||zz{{{{{z||{|{||{{{{z{zz{|||{{{}{z{{|{|{||z|{{|||{{|{|z{{||||||{zz{{{{{{{||{{|||{z{{z{{|||{|{{||{{{{{{z{{|{|{{|||{z{z{{zz|{{{|{{|{{zz{{z|||||{z{{zzzzzzzz|{{{{zzyzzzy{z{|{z{{|zzz{zzz{zz|{yz|||{z{{zzzyy{{z|z{|{{zzzzz{zz{z{z{z|{{{{zzzyz{|{{|zz{z{z{zzz{{{{zz{{{{{y{zzy{zz{{z{{zyzzzzzyzz{{{{{zzyzzzyzz{{{z{z{{zyzyyzz{y{{{{{{{{zzzzzyxzzzz{{z{zzzzyzyyz{zzzz{|yzyyzzzy{{{{{{|{zzz{zzzzz{{{{{|{|z{yzzzy{|{||{{{z{{y{zzz{{{{||||zy{{zz{{{z|{{{|{zzzzzyzz{{|{z{{{{{{z{{{z{{{z{z{{z{|{{{{{{z|||{||z|{{z{{{|{{{{{{}{{|{z{{{{{|{{{{||zz|{{{z||{{|}}|{{{{{{z||||{{{||{{{{{|{{{}|||{||{z{{z}{{|}|||||{{{{{z{z{{{{|{{||{{z{z{zz{{{||{{}{{{{||z{{{{{{|||{{{zzz{{z{{{{|{{{{{{zzy{{|{|{{||{{{{{{zz{{|{{{{|{{{{z{{{{{{{{|z|{{z{z{zz{||z{||{zz{{{|{{{||{{{|{|{z{{{|z|{|{|||{{z{z{z{z||z{{{{{{{z{|{z{z{{z{{{{z{{{{z{{{{||||z{{zzzzzz{{{|{{|{{zzzzz{{{{{{||{{{{{z{{{{{z{||{{|{{z{{{zzz{||{{{|{{z{zz{yzz{{{{{z{{z{z{{{z{{{{{{{|{{{{{z{{{{{{|{||{{|z{z{z|{|{{|||{{z{{z{{{|{{{{|{|{{{{y|z{|{{{{|{{{{{{{{{|{|}{||||{|{{z|z{|{{{|||{||{{{|{|{||||{|{}{{{||{|{{|||}{{{{|{{{{{{|||||||{{{|{|||||}{}|}|{|{{|{{||||{|{{}|{|||{z|~{|}{|||{||{z|{||{||}|||z{|{{|{{{{{|||}||{{||{|||{||||||{{{{{{{{|{{||||{{{{{zz{|{|||||{|z{{{{{{{}||{{||{{zzz{{z{{|{{{z|{zz{zz{z{||{{{|{{{{zzzyz{|z|||{{|{{|{z{{{z|{{{||z{{z{{{zz|{|z{{|zzzzy{zzz{{{{||z{z{zzz{yz{{z{z||{{zzzzzzzz{{{||{zyzzz{zz{z{{z{{zzzzzzzz{|{{{{{{{{{{{zyzz{{{{{{{{{zzzzzzz{z{z{{{{{{{z{z{{zz{{{{{{{y{{z{zz{|{{{||{z{z{{zz{{{|{{{{{{{{zzzzz{{{|z||{z{zz{z{{{{{{{||{{z|z{z{y{|{|||z{{{{zz{zz{{|{{|||{z|z|{z{{{{{||{||{{{{{z{}{||||{|{{z{{{||||{||}|{|{{{{{z{|||||}|||{||z{|{|}||{|{|{{{{z|{|||}{|||}|{{||{|{|}|||||||{{{{z||||{||}|||{|{{z{{{||{|||}{|z|{{{{}|{||{{}z{|z{{{{||{{|||||{zzz{{{{}{|||{{{{{z{{{{|{|||{||{zz{{z{z{{|{{{{|{z{z{z{z||{{{{{{{{{zz{{z|{|{{|{{||{{{{z{{{{{z{{|{{z{zzzz|zz{{{|}|zzyzzz{{{zzz{{{{{zzz{{zz{|{||{zz{{zz{z{zz{{{{|z{{{zz{{{{{{{{{{{zy{{z{z{zz|{{|{{zzzzyy{z{{{|{z|{{zyz{{{zz{{zz|||{{{zzzyzz{z{{{{{{z{z{zz{{{{|||{|{{zzzzzz|{|{{{{|{z{{zzz{{{{|{{|{{{{zzz{{{{|{{|{|{{|{{zz{{{{{{|||{z{{z|{z{|||{|{|z{z{zz{{|{{|{|{{{{{{{{{{|}{||||}{{zy{z|{z{{|{{||{z|||z{{{|{|||||||z{{|{{|||||||}{||{z|||{||{}||{|{|{z|{z{~|{||||||||{{||{|}{|}|{|z{||{{|||{{{|{|}{z{}{z|||{|||}{{{{{{{{{||||{|}}{{|{z{{{z|}|{{||{{z{z{{{{|{||{{||{zzzz|{z{{{{z||{{z{{zz|{|{{{{{||z|z{{{{{{}{z{{|{{{{{{z{{{{|{||{|{{zz{{z{{{|{|{||z{z{{{{|||{{|}{{{z{{zzz{||{||z{{{zzz{z||{{|{|{{zyz{{zzz{{{{||{{{{zzz{z{{{{{{zz|z|{z{z{{z{{zz||{{z{zz{{zz|{{{{||{zzzzzzzz{{z{|||{zz{{{{yz{{{{{|{{{{|z{{|{|{|||{{}{{|{{{{z{{|z{|{{z|{zz{|z{|{{{||||{|z{zz{{||{||{{|z{|zzz{|||||||{{||zz{{|||{|{{{{{{{{{{{|||||{|{||{||{{{|{||}||{|{z|{|{{{{|||||{|{{{||{z}{||{||}||z{|||{{{{||}|||{{{{z|}||}||}||}{|{{|{z{{|}|}}||{{{{|{||||{|||||{{{}z{{|{|||{|{{{{{{{|{{||||||{{{{{{|z{{|{||{|{{|{|{{{{{||||{{yzz{{zzy{||{{{z{{{zzyzz{{|{{{{z||z{{zzzz{{|{{{{{{{z{z{zzz{|{{zz|{{{zzzz{z{|{{{{z|zz{z{{zz{z{|z{{{zz{zzzyyz{{{{|{{{{yz{zzz{z{z{{zzyz{z{z{zzz{z{z{{zyzzz{yz{{zz{{{{{zz{{zzzzz{z{|{|zz|z{zzyz{zzz||{zzzyzzz{{zzz{{|{z{{zz{{z{{{{{{{{{{{{{z{yz{{{z{||{{{{{{zz{{||{{{z|z{{zzyz{{{{|{{{{yz{zz{z{{{{||z|{{{zzzz{{|{{{||||{{{zz{{z{{|{|{{|{z{{{zz|{||||{|{{{z{z{{{|{{{{|||{{z{{{{{|{||||{{{{{|{z{|||z{{||{{{|{z{{{|{{||||{{{|{{{{{||{|||||z{z{{{z{|}||{{||z{{{{|z{}{|||||z{{{|{z{{z||||{|{{|{{{z|{{{|{||{{|{{zyzz{|{|||{|zz{{{z{z{|{|z{{{{zzzz{zz|{|{{z|{{zzzzz{z{{|{{{z{{zz{zz{y{|{{|{||{z{z{yyzz{{{|{|{zzzzzz{{{{{z{{{{{{{zzzzz{{{{{{|{{zz{{zzy{{{{{{{{{{|zzzzz{z{{{{{|yyzyzzzzz{{zz{{z{z{{zzzz{{{{{{z{{{z{zyzzz{{zz{{z{zz{{zzyy{z{{{{|{{{zzz{{z{{{{{{{zz|{{{yzz{{z{|{{{z{zzzzzz|z{{zz|{zzz{{zz{z{{{{{{{z{z{z{zz{{{{{||{zz{z{z{{{{|{{|{{z{y{{{{{{{{{{{{{z{{{{zz{||{{|{{z{{z|{{{{{}{{|||{{{zz{|{|||{|{||{{{{{{z{|{|}||||{{|zz|{z|||{||{|{{|{{{|{{{{{||{||z||}{{{|{{{{||||{{{|{}{||{}{{{||y{{{{{{{|{{{|||||{{{{{{{|||||||zzz{|{{{|{{{{|||{{y{{{|{{|{||{||{z{{z{zz|{{{|{z{{z|{zz|z{{{{{|{|z{y{|z{z|{{{{|||{{yz{zzz{z{z{z{{|{zzyzzz{{{{{{{{{zzzz{zz{{{z|{{|yz{z{zzzz{{z{{{||z{zzz{z{{{z{|{|{y{zzzzzzz{{{{{{{zzz{zzzzz{|{{|zzy{zzz{z{|zz{{z{z{{z{zyy{z{{|{z{zzzz{yzzz{{{y{{{{zyzzzy{{{{{{{{{zzy{|{zz{zz{{{{{{{zz{zz{{||{z{{{{z|z{z{{|z{||}{|{{{z{z{{|{{|{|||{{{zz{{z{|{}{{|{{{{{{{{{{||{||||{{{{zz{{{{{{{||{|{{z{zz{{z|{}{|{{{{z{z|{||{{{|||{{{{{z{{||||{}{||{z{{{{{||{|||||{{||||{{{|{|{||||{{{|||{||||{||||{{{z||{||{||||||{{z{{|z{{{||||||{{{{{{||||{||}|{{{{|{z{|{{{|||{{|{{{{{z{|{|{||||z{{{{{{{|{||{||zzz|{|{{z{{z{{{||z{z{{{{{{{|{|{{{{zyzzz{{|{{|{|{{z{zzz{{|{{{{{{{{zzzzzzz{|z{{{|{{z{z{zzz{{|{z{||{z{z{zz{{{{{z|{|z{{{yz{{{z{{z{{zz{zzzzzz{{{{z{{{{zzzyzz{z{{{{|{{{z|zzzz{zzyz{z{{{zzzzzzz{z{zz{{|{{z{z{zz{{{{|||zz{yy{zzzz{{{|{{{|{zzzyzz{{z{{z{{{{{{z{{{|z{{||||{zyz{{zzzz{{|{|||{{{{z{{{|{||||{{{{{{{z{|{{{{|{{|z{{y{|z|z{{|}{{{{}z{{|z{|{||}||{z{|{{{{{||}{}|}{{z{{|{{|{{|||{{|{z||{{{{{|{{|||z|zz|{||z}{{|||{|{|{{{{|{|||{|}}|z{|zz{{{{{||}|{{{|||{{{||{{|||}||{{{{{{{|||{|||{{zzz{z{{{z{{{||{{z{z{{zz||{{|||{z{z{{z{|z}||{{{|{z}z{zz{{{{|{{{z|z{z{zz{{{{z||{{{zz{{{z{z{{|{|{{z|z{zzz{{}}{{{{{|{zz{{z{{||{{{{{|z{zzz{{|{{{{||{{{{zzyz{|{{|{zz{{{{{z{{z{{{{|{}z{zzzz{zz{{{|{{{{z|{zzz|z{{z|{{|{{{zz{{|{{{|z{|{{z{{zz{zz|{{{{{{{zyzzz{{{{zz{{{{zz|zzz{zz{|{|{|{z|zz{z{zz{|{{z|||z{zz{{{z{{{{{|{{zzzzzz{{{|||||||{{{{{{{{|{{{||{{y{{{{{{|{}{{|||{{z{{{{{{{|{|{|{|{|{{{{|{||||||||zzz{||{{{|{{|{{{|{{|{z{|||||||{|{{{|{{{}||{{||{{{{|{{{{||{|{|}}|{|{{|{{|}|}||{|{|{||{{{|||{}||||z{|{|||{|z|{}||{||}{{{||||}{|}}{{zz{|{{||||{{||z{z{{{{{||{|{|||{||z{|{z||||{{||z{{zz{zz{|{{{{{{z{{{{{{z{||||{|{{{z{z{zz|{{{|||{{z{{|yz{{{{{zz|{{{{{{z{z{{{|{{}|{zz{z{z{|z{{||||{{{{{{zz{|z{|{|{{zzzz{z{{{z{{z{zzz{{zz{z{{{{{{{{{z{zzzz{{{{z{||{{z|zzz|z{zz{{{{|{zzz{zzzz{{{z{{{z{yz{zzz{|z{z{{{zz{z{zzzy{{{{{|{|z{{zz{{||{z{|{|{{{{zz{{{{|{||||zz|{z{z{{{|{|{|}}{z{{z{{{{||||{|||{zz{{{|{{||{{{|zz{{{zz{|{{|}|{{{z{{z|{{{{||}|{z||{{z||||{||}|||z{{{{{{{{|}||}|{{{{{z}{|{}{|{|||{|{{|}|{|}|||{}||{{|{|{{||}}||||||{{{{|||{||||{|{{|{|{|{|{|||{}}{{{{{z{{|||}{}}|{{z|{{{{||||||{{{{{z{{{{|{{|}||{{{{{{|{{{}|}{{|z{zz{{{zz|{{{|{{zz{{{{z{z{{{{|{{z{{zzz{zz{{{{||{{{{{{z|z{{{||z}|{{zzzzzzz{{zz|{{{z{zz{yz{{z{{|{z{z{{{{{z|{{zz{{{{z{zzzzz{{{{{||{zz{zzz{z{{{{|{{{{z{zyzy{z{||z|{z{{zzzzzzz{{zz||{z{z{zzzzz{{{{{{{{{zz{{{{{{{z{{|{zz{{zzzzz{{{{{{|zzzzzz|z{|{{|{{{z{{{zzzz{|z{|{|||{{{||{{z{{|{||{{{{{zz{zz|{{{{{z|z{{{{z{{|{|||{{|z|{zz{z{|{{{||||{{{z{z|{||{||}{{{zz}{|{{|{{{|||{{{{{{|{|||{|{|{|{z||{z{||||{{~||{{{z{||{{|{||}|{{{{z{}|{|{||}|}|z{{{z{{|{|||}{||zz{{{{|{{|{|}{|}{|{||{{{|||||}|||{zz{{z{|||{|||{|{{{{zz{{||{{|{|z|zzy|z|||{}|{{{zzzz{{zzz{{{||{z{zz{z{z{{|{{{||{zzz{z{{{{{|{||{{{{z{{zz{|{{{z{{{{|yzzzy{{{|{{{{{zzzy{zzz{zz{z|{{z{zz{{z{{||{||{{zzz{{zz{{{zz{{{z{zyzzzz{{{|{{{{{zzz{yz{zzz{{{{|zzz{zz{zzz{{{{{{{z|z{y{zz{z{z{z|zyzyzyzzz{z{z|{|zzz{z{zz|{{{{{||{{{zz{{zz|{{{{|}{{z{zz|zz{{|{{{|{{{{y{{{{||{{{{|{{{z{{{{{||{|{|{{{{{{{zyz{||||}{{z{z{{{{{|{|{z{z{{z{{{z{{{|}{||{{{{|{{{|{|{|||{}|{{{{zz{{|}||{{|{z{{{z{{|||{||||{{|{zz||{|{|||||{|{{zz|{{}||}||||{||{{zz||}|||||{z{{{{|{{|||||{|||{||{{{{|||}|||{z|{{z{{{|{||||||{{{{{{{{{{|||{{{z{{z{z{|{||{|{{{z{{{{zz|{{{{z{{{z{zzzz{{z{|{{{{z{z{{{zz|{|{{{||{z{|{yzyzz|{|z{}{{{{y{{z{{{{z|{{zzz{{zzzz{{zz{{{|z{z{{z{zz{{{{{{z{zzzzz{{{{{z||{zy{yzz{z{{{|{{{{zz{zzzz{zz|z||{{{{z{z{zyz{{|z{{{{z{zzzyzzz{{{|{z{{zzzzzz{|{{{||{zzz{z{zy{{|{{{|{{{z{zzzz|||{{{{{zz|zzz|{{{{|{|{|{{{z{{{{{{{{{{|{{{{z{zz|z{{}|{{{{z{zzyzz{{||{{|z{{{{{{{z|{{{{{{{{{{{zz{{{{}|||{{{{|{{{{|{|||{|||{{z||{y{|{{|||||{z{{{|{{{||||||{{{{z{{{z|{{{}|}||{||z{{|{}{||{|{|z{||{}z|{}|{}{{|z|{{{{{|||||}||{{{{{{{{{|||{||{zz{|{{{{|{z|{||{|{{z{z{{||{{{{||z{{{{{{y||{|{|z|zz{zzz|zz{{{z{{|{{zzy{y{z{{{{z{|{zz{zz{z{{{z{{{|{zzzz{zzz{{{{{|{{{{zz{{zz{|{z{{|{z{yzzzzz{{{{{|{{zz{{zy{{{zz{z{{{z{{{{{{{{z{{{{{{zzzzzyzz{{z{{{{{zzzz{yzzzz{{{{{{z{{y{zzz{{{{{{{{zzzzyzzz{{{z{{{{z{z{zzzz|z{{|z{{zzzzzyz{{z{{{{{{{z{zy{{{{{z{{{|zzz{{{{{|{{{{|{|zzz{y{{|{|z|{|{{{{|zy{{z{|{{{|||z{{zzzz{{{|||{|{{|zz{z{z{|{z{|}z{zz{z{{{}{{|||}||{z|{{z{{{||||}||z{z{zy|{|||||{||{{|{{z|{|{{|{{|{{{|{||||||||||||{{{{{z{||{{|{||{{{|{{{|{||||||||{{{{z{{{{}||||||zz|z{{{|{z{||{{{{{z|{{z{|z|{|{||{|{z|{z||{|{||{{{{{{zz|{||||{{|z{z{zzzz{zz{z|{|{{{||z{{z{{{{|{|z{yzyzzz{{{{||||{z{z|{zz{||{|{|{{{{z|z{{|{|{{{|||zz{zzzz{{{{{{|{{{{{{{zz{z|{z|z{{zzzz{z{{{{{{||{zz|zzz{z{{z{z{|{{{{zzzzzz{{z{|{{z{{|y{zzz{{zz|{{|zz{zyzy{zzzz{z{{z{yzyzz{|z{{|{{{z{zz{zz{|||{{{{{{zz{zzzz{||{|{{{yz{zz{z{{||{{{{z{zz{z{z{|||{{|{{z{{{z{z{{{{||||{zzzzz{{z{|z{{}{|zz|{z{{|{|z{|{{||{{|{{{{{||||||{{{|}{{|||y||||||{{{|{{{{{|{|{|{}{z{|z{z{}{|{||||{|{|||{{||{|{|||{{|{|{z{}|||||}{z{{zz{{||{|||||{{{|{{{{|{{{|{||{{z{{|{{{}||{{{|{{{{{{z{{{|{|||{}{{{{z{{{{||{|||{{{{z{{|{}{|}{|{zzzzzzzy{{|{z{{{{{zz{{{{zzy{|}|||{{z{{zzz{{{{{{{{zz{{zy{{{{|z{|{{zzz{{zz{{{{z{||zzzzz{zz{{{{{z{z|zzzzzyz{z|{{{{z{z{zy{zz|{{{z{{{zz{zzz{z{{{{{|{z{yzzz{yzzz{{{|{{{{{zzzzzz{z{{z|{zzzz{zzyz{{y{|{{z{zzz{zz{zzzz|{{zzz{{zyz{{z{|{{{z{{z{zz{|{{{|{{|z{z{z{zz||{{{{{{{z{{zz{z{z{{|{{|{z{{{z{{{{|{{{{{z{zz{z{zz{{||||||zzzz{zz{{{{z||{||{{|{{z{{||||||{{||{{|z{{||{|||{z{||z{{||z|{||{|{{{{z{{{|{||{||{{{z{|{{{{||{|||{{z|z{{zz}{{|{||}{{zz{{{{||||||}|{{{{{|{{|{{{{||{|{{{{{{|}{{||{}{{{{{{{{{{{|{z|{|{{zz|{{{{{{|z{|{zzzzz{{{|{{{|{|zz{zzzzz{{{y|{||zz{|z{zzz{{{|{{{|zz{{{zz{{z{|{|{{zzzzyz{{|{|{{||{|z{zyzz{{{{z{{{{zzzz{z{{{z{{{|||{z{zz{{z{|{{{{{{zzzy{z{zz{||{{|zzzz{z{zz|{|{z{{{zzzy{{{y{{z|{|{{{{zzz{y{{{|{{{z{{z{z{{zz{{{{|z{{{{y{zzyz{{z{{{{yzzz{{zz{zz|{{z{{zzy{zzz{{{{{{|{{{{{zzz{||||{{||zz{{{{{{{}|{{{|{{|z{{zzzz|{||{{|{z|{{{zz|||z{{{|{z{{z{yz{{{{{{|{{{{{{|{{||||{{{}z{{|z{{{||{|z{||{|{{{{{{{{{|{||{{{{{{||{||{|||||{{zz{{{{|}{}|||{|{z{{{|{{}|||||||{z{{{{{{|{||{|||z{{{y{{{|{{||||{{{||{{||{{{||||{{{{{{{{|{{|{{|}{{{z{z|{z{|{{{{||{{z{z{z{{|{z|z{{zzzy{{zz{z{{}{|{{{zzz{{|{z||{|{{{zz{yzz{{{|z{{{{{{z{{{z{{{|{{{{{{{zyz{y{{|{{{{|zz{zzzy{{|{{{|{{{z{zz{{{{{{{{|{z{{{{{{z{{{{zzz|{z{zzzzzz{{{|{{{|{z{{zzzz{z{{|{{{zzzzz|zz{{{{{{|{{{{zz{z{{{zz{{{{{zyzz{zy{|{{{{{|zzz{{z{{{{{{zz|{{z{z{zz{|{{{|{{|{z{{{z{{z{{|||||{||z{zz{{{z{|{||{{zz|z{zz{{|z|{|{{{zzzz{{||{|||{{z{{{{z{|{{{|{|{{{|z{{{{|{||{|||{{|z{{{{|{{||{|{{z{{{{{z|||||||||{z{{{{{|||{|}{|{{{z{{{{{|{|||}|{{{{||{|{{|||||}{{}{z{z{||{{{||||zz{zz{|||{{|||||{z{|z{{{|||||{|{{{z{{{{{|{|{|{{{|{|{z{z{|{}{|||{{|zz{{{z|{{{{{{zzzz{{zz{{|{{|||z{z{z{z{{|{{z{}{{{{zz{z{{z{{{|||{{|{zzzy{{{|{{{{{{{zzzzz{{{|{{||{z{{zz{zz{{{{}{|z{zzzzz{{z|{{{{{z{zzzzzz{zz{z{{{{{zzyz|zz{zz{{{{zzz{y{z{zz{z{{{z{{{zzzyzz{z|{z{{{z{{z{zzz{{{{{{{z{zzzzzz{{{{z|{|{zz{|{zzz||{{zz{{zzz{z{z{{{{{{{|{{{{z{{z{{||{{{|{z{{{zz{{{}{||{{{|{z{z{{z|||{|{}{{{{{{{|{{{|{|{{|{{z{zz{|{||{|{z|z{{{z{{|{{{{{|{z|{|{{|{|}{|{|}||{{{{z{z{||||||{{z{{||{{{||||||}{||z{|z{{|||}||||{{|{||z{}{||~|{{|{{{{z{}|{|}}|||z{{{|z{|{||{|||}|{{{{{||{{|||}|{{{{{z{{||{{|{{{{|{|{{{z{|||{{|{{{{z{{zz|{{{||{z{{{zzyzz|z{{{{z|yzz{z{zz{{{z|{{{|{zzz{y{{{|{{{{{{yz{zzzz{{{{{{{||z{z{zzzz|z|{{{{{z{{z{z{{z{{{|{{zzz{{{z{{{{{|{{{z{{{{zzzz|{{{{||{zz{zyyzz{|{{{{|z{zzzzyz{{{zz|{zzz{{zzzzz{zzz{|{{zz{zzzz{{{{{{z|{{zy{zzy{zzz{{z|zz{{{zzy{z{{{z{|{{{{{zz{{{{{{{||{{zy{z{z{{{{|{{|zz{z{z{y|{|{{|||{z{{z{zzz{||||{{{z|z{|zy{|z|{{|{{z{|{z{|||{{{{z{{{|z{{{{|||{{{|{{{z{{{|{|{{|{||{|{|{{{{{{{{{|z|{{z{z||z{{|||{{|||{|{{|{zz|||}||{|z}{|z||||||{|||{{||{|{{}}|||||||{{{|z{{||{{{|||}{|{{{{|{{}|||||{{{z{{{|{||{|||{||z{{z{z||{|{||{{z{{zy|{{{{{{{|{{{zz{y{z{z|{{||{{{{zzz{{{z{|||{|{{y{zz{{{{|{{{z{{{{{{z{z{{{|z{{}{z{{zz|{|{|{z|{|z{z{z{{{{|{{{|{zz{{{z{|z{z{z{|{{zz{z{{zz{{z{{{|{z{z{z{{{{||{{{|{{zzzzzzzz|{{|{{z{zz{{{zy{|{{{||}{zzzzzzz{}{z{{||z{zz{{zz{{z{{|{{{z{zz||z{|z{{|{|{|z{{zzy{{{z{{{|z{{{y{{z{{{|{{||zz{z{{z{{{||||||{{{|{y{z{}||{|z|zzz{{{z{||{{{}}{{z{{{{z{|{{z{|{{z{{{{{{{{{{||{|}|{z{{{{{|{{|{{}{|{z{{z{{{||||{|||{{{{{|{{||||{|}{|{{zz{|{|||{|}||{|{|||{{~}}|{|||{{|{{{z}|{||}}||{{||{|{|||||||||||{{{{{{|}|{{|}{{zzzz{|{{{{||||{{|{|{z{||{||{|{{{{{zzz{{{|{{||{{{{yz{z{{{{{z{{||{{zzzz{{{{{|{||z{zz{|zzz{|{|{|{|{{{z{zz{{{{{{|{{{zzzz{z{z|{z|{|z{zz{zzz|{{z{{{z|zzzz{zz{{{{{{{|{{{yz{z{{zz{{{{{zzz{zzz{z|{z{|{{{z{{zz{{{{|{z{{{{{{{zzzzz|{{z{{{zz{z{zzyz{|{{|{|zz{zyzyzz|z{{{|{|{{{zz{z{||{||{{|zz{{zz{{{{{{{{|{{zz{{{z{{{z{||||{{{z{{{{{{z{||{{{{z||{z{{|{{{{{zz{{{{{{|||||||{{zz|zz{{||z|z|{{{|{|{{z{{|}|||||{{{z{{|{||{||{}|{{|{{{{{{||}|{{{|{{{{z|{{}{|||}|{{||z{{|||{||}}||{{zz{{{{}|||{{|{z|{|{|{||||}||||{z|{{|||{{}{|}||{{|}{{{||||{|||{{{y{|z{{|{{{{|}{{|{{{{{|{|{|||{{{zz||{z||||{z{|zz{z{|z{{z{{{{{{{{zzzzyzzz|{|{||{{{z{zzz{{{|z|{|zzzzz{z{||{{z|||{z{{zy{zz{|}{{{|zz{|{z|{zz{{{{|z|zzzz{{z{{zz|{z{zz{{zz{{{{{{z{{{zzzz{zz{|z{{||{{zz{zyzzz{{{{{{{{{z{zz{z{z}|{{|{z{zzz{{{zz{{zz{z{|{{z{zzy{||zz|{{{z|zzz{z{{{|{|||{|{zzy{{{|{{{||{zz{{z{{{{{{{{|||{{{zz{z{{{{{z{{{{{|{{z{y{{||{|{{{{{zz{z{{{{{{||{zz{{{zz{{||{{||{{zz{z|{|||||||{|z{{{z|||{}|z{|{}||{{{z{zz{{|{|z|{{{{{{z{{||{||||{{z|{{{{{{|{||||{z|{{{|{{|{}}|||||{{{{||||{|{|{||{{{{{|{{{|||||}|{{{|{{{|{{|{|{|{{{zz{z{||{{{{}|{{z{{yz{{||||{{|z{{z{{{|z|{|{{zz{{z{{yzz{}|{|{{{zzzzyyyzz{|{|{z|z{zyzzzz{z{{|||z{{zzzyy{{{|{z{|{{{zzzzzz{{{{z{||{z|zzzzyz{{|{|{{{z{{{yz{z{zzy|{{{zzzy{zzz{z{z{z{yzzz{zzz{z{|{{{zzz{{{{zzz{|zz{{{{z{zzzzz{{{||{{{{{zyzzzy{z{{{|{{zzzzzz{zz{z{z{z{zz{|zzzy{{z{|z|{zz{zzx{z{{zy{|{{{z{zzz{y{{{{|{{|z{{zzzzy||{z|{|}|z{z{y{{{{||{{{{{{{zzzzz{{{{|||{zzz{{zzz{{|{{|{{{{{z{zz{{{}|{|||{{{z|{{|||||{|||{{{{|{y{|{|||||{{{{z|{z{{||{{|{|||{{z|{{|||{{}|{|{{{z{z|{||{{||{{z{z{{{{|{{|{||{{{z{{zz{{||{||||{{{||{{{{}||{|{|{{{z{|{{{|{{{||{z|zz{{{z{|||z{|{{{{{{{z{|||{{|||{{zz{zzyz{{{z{|{{y{zy{{{z{z{{{z{{{zyzz{zz{z{z{{{{zz{zzzz{{{|z{{{z{{{{zyy{{z{|{{{zz{yzzz{{|zzz{|{{z{z{zz{{{{{z{{{{{xzz{zzz{|zz{{|zzzzz{zyy{|{{z{{zzzzzzyyz{zz|{z{{zzzzz{yz|{||{{{{zzzzy{zz{{{zz{zz|z{y{z{zzz{{{{{zz{{z{yzzz{z{|{|{z{z{zzz{|{}{z{{zz{zz{{{{|zz|||{zzzzz{{{z|{{{{{{{z{|{z{{{||{{|{{z{{z{{{{{{{|{{{{{zz{{{zz{|{{{{|{|z{{|{{{||{|}|{|{z{yz{{|{}{|||||{{{{{{{z||{{|||{|{{||{{{|{{{|||{{{{{{{{|{{|||{{|{{{{z{{{||{||{|||{z{{|z||{|{||||||{{{z{{{{{{{{{{|z{{|{{{{|{{{|||{{zzz|z{{{||{{{{|zzzzzz{{{{|{||{zz{{zzz{{{{{{{{{{zyzzzzzzz{{{{{{{{{z{y{{{{{{{{{|zzzz{zzz|{{{{{|{{zz{zzzzzz|{{{{{z{yzzzzzz{{{|{{{{{{zyz{z{{{zz|{{{z{{zzzz{{{{{{z{|{yz{z{z{{{z{z{{zzzz{z{{z{{z{z{{{zy{zzzzzz{{{{{{{{{zz{zy{{z{zz|{{yzzzyzyz{{z{{{zzz{{zz{{{{{{z{{{zzzzyzzzzz{||{|{{{yzz{zy{{{{{||{{zzzzzz{{z{{{{{|{{zzz{{zz{|{z||||{{{zz|{|{{{{|{{z{{{{|z{|{{|{{{||{{|{{{|{||{z{|{{{|{{{{{{{{|}{||{|{{|{z|{{{{|||||z{{{{{{{|||{{|{{{{{{z{{{||{{|}|{||z{||{z{|{{||||{{{{{|{{}||{|}|{{|{z{{z||{}{||{{{{{{|z{{|z{|||||{{z|{z{|||{|||{{z|{{||{|||{{|||{{z{{zzz{|||{{z{z|{z{{zzz{{{||{{zz|{{{|zzz|{z{z{{z{zz|z{{{{z{||{||{z{{zz{{{{{{||{z|yzzzzz{|{z{z{{{{z{z|z{{{|z|{|z{zzz{{zz{|{z{{{{z{z{zzy|{{{z{z{|{zzzyzz{z{z{{zz{zzzzzzz{{{z{z{{zzzz{zy{{z{z{{|{{z{zzzzz{{|{{{{z{zy{zzzzz{{{{{|}{{{{{{{y{z{{{|z{{{{z{z{y{{{|{||||{z{|{{{|{{|z|{{{z{zzzz{|{z{|zz{{{{{zz{zz{{z{|||{{{{{zzz{|{{{||{{z{{{{z{{{|{|{}|||{|{{zz||{{z{{{{{{{{{{z{{|{||||{{|{{{|{|{|}{||}{{{{|{{{}|||{|||{{||{|{{{|{{|||||{{{{{{||{}||||||{z{{{{{|{}||||{{{|{{|{{{{{|||}||{{{{{{|||{{{|||{{|{{{{{|{{{||||{{{{{z|z{{{|{{||z{{z{|{{{|{}||||{{{z{y{{{}{{|{|{{{z{z{z{z{{{||{{{zzyz{zz|z{{{|{{zzzz{{z{zz{|z{|{{z{z{zy{{{|{{z|z{z{zzz{y{|{{z{z{{z{zyzzyzz{|{{{{{z{yzzzzzz{{z{{{{{z{zz||{z{{{z|z{zyyzz{zz{{|zz{z{{{zz{zy{{{{z{{{{{zzzzzz{{{{{{z|{zzz{zyy{zzz{z{{zyyzyzzzz{{{{z{{{z{zzz{z|{zzz{{{zz{zzzyz{|{{{{{|{{{zz{zz|z{|{{{|{z{{{z{z{{|||}{|{{{zz{zz{{|z||{|{{{z{{{{{|{{{{|{{zz{{{z{{{{{z{|{{{{{{{|{||{||{||{{{{|{|{{|{{{}{{||{{{z{z{||{|{{||{{z{zzz{|{|{|{{{|z{{z{{|{{}{|{||{{{{{{{{|||||||{|{{{{|{{||{{}{{|{z{{|z|{|{}|||{{{{{{{{{{|{|{{|{{z{{{{zz{|{|||{{{{|z|z{|{|||{{{{{z{zz{{{{{|{{|{z{zz{zzzz{|{{|{{|{{zzzyzzz{|{{{{|{zzz{{{z{|{{{{|{|{zzzz{zz{{{{z{{|{{{zz{z{{||z{z|{{zzz|z{{{{z{|{z{z{{|{zz{z|{{{{z{z{{zzz{z{z|{{{|zz{{zzzz{{{{{z|{zyz{z{z{{|z{{{{|{z{zz{{z{{|||{|{{{zzzzzy{{zz{{{{|zzzzzzz{{{|||{|{zz{{{zz{{{z{{{{z{{{{zzzz|{{|{||{{{zzy{{{{{||{|||{{{z{{z{|{{{{{||{|{yz{z{||{|}{|{{{{{|{{{{{{|{}{{{{{|{{{|{|{{|{||zz{{z{||||||||{{{{{{{{||{{}|{||}z{|{{{||||||||||z{{|{z{|}||||}|{{||{{}{|}|||||||{||{{{{|}|||||}{{{{|z|{|{|||}||||{{||{|{|{||||}{{|{|{z|{|||}||}z{{{zz{{{|{{{}|||z{|z{zz{{}}|{|{zz{zzz{z{{{{|{{{z{{{{{zzz|{zz{{z{zzzzzzy|{{{{|||{{zzzz{z{|{zz|{{{z{{{z{zz|{{{z{|z{zzz{zz{|{|{z|{zzzy{zzzzz{{{{{{{{{zyzzz{y{zz{{|{z{{z{zz|{{z{{{z{zzz{zz{z{zz{zzzz{zzz{y{{{{z{{{{z{zzzzzz{{{|{{{{zzzz{{zz{{{{z{{{{z{z{{{{zz{|{{{zzz{zz{zzz{z{z||z{{zzzzz{|{z|{{||{|zyzyz{{{|z{|||{z{z{{{z{{{{{|{{|{z{zzz{{{|||{|||zzzzz{{|{||{{|||{{{{{z{||{{|||{{{{{{zzz|{{|{{|{{{{{{{|{}{{|{||{{{{|{z{{|||}|}|{{{{{|{{{}||||{{|{{|{{{||{{|{|{{{|{||{|z|{||||}}}{{{|{{{{||{|}|||{|{z{{{{{{{{|||||{{|{|zz||{|||{|{{{z{{{z|{{|{}|||zz{z{{{{||{{||{zz{zzzzz|{|{|{{{zzzz{z{zz|{{{|{{{z{z{z{z|{{{z||{{zz{zzz{{{{|{{|{{zz{yzy{{zz{{z{|{zzzz{zz{{{||{||zz{zz{z{zzz{z{z|{{{zz{yz|{|y{{{{zzzyy{zzzz{{z{z{zzzz{zzz{|||{{{{zz{zzzzzz{{{{|{|zy|zyzzz{|{|{z{|{{{{zyzz{|zy|z{|{{zzz{zzz{{{{{{{{zzyz{{{{{{{z{{{{zz{z{z{{{|z|zz{{zz{zzzz{{|{{|{{{z{zz{{{{||{z{|{|z{{{z{{z{{{||{|{{z{{zz{||||{{|{{{z{z{z{|{{z|{{{{{z{zz{{{||{{|||{{{{{|{{||||{{|||{{{{|{zz{||{{}{|zz{|z{{|||||{}{{{{{{||z{||{|{|||{{{{|{{{}{|||||{z{{zz{{}|||{|}}|z{{{{z{{|{|{{{|}|z{{{{{{|{|||||{|{{z{{z{}{z{||}{{z{zz{z|{||z{{||z{yzyz{{{{{z{|{z{zy{zzzzz|{|z{{zzzz{{{z{z{{|{||{z{zz{zz|z{z{|{{{zzzzz{z{{{|{|||zzzzzz{zz{{{{z{|zz{zz{{zz|{z{{{{{{zzzz{zz{{{zzz{zzzzzzz{z{z{z{{{zzz{zz{zz{{z{{|z{zy{yyyz{{{z{|{{z{{zz{zzz{z{{{{{{z{zzzzz{{{{{{|{{{{zzz{zz{zzz{{zzyzz{z{zz{{|z{z||{{z{z{z{{{{z{{{zz|{{z{z{{{{{|{{z{zzz{zz{{{{{{}||z{z{{{zz{{|||zz{zzz|z{{|{{{{{|{|z{{{{{{||{{{z|{{z{{z{{{{|||}||{z{|{z{{z|||||{||z{||{{z{{{{|{|{{{z|{{{{{||z{||{|{z{{z{{{{|||{|{{}{{|{{{{{||||||}|{{{{{{{|}|{{||||z{z{{{}{{|{{{{{{|{{|{{{{||{|{|}{|{z{{{z{{{||{|{||z{{|zz{{||{{|{{{{yzz{{{|{{{|{{{zz{zz{yzz|{{{z{{{zz{yz{{{{z{{{|zz{{{{|z{z{zzz{|{{z|{zyyz||{z{{{{z{{{zzzz{|{{{{zz{{zzzzz{{z{z{{|{z{yzzz{{{{{zz{{zzz{z|z{{{{{{z{{{|{zzzzz{z{{{{{|zzz{zzy{{{{{{{{|{z{zyzzzz{z{z{{{{{{z{y{{{{{zzz{z{z{yzz{{z|z{z|z{z{|zzz{z|{{|{|{{{{zz{z{{{{z{z{{|zz{zz||{{{{|{{|{{|{z{{zz{{{z|{{{|z{{z{{z{{|{{|{{{{{{{|zy{{|{{{{||zz|{{{{{{{{|{{z|{{{{|{{{{|}{{{|{{{{{{{z|{z{{|}|{z|{{z{z{|{||{|||{zz{z{z|}{|{}|}{{|{z{|{|{{|||{|{{{{{|{{||}||{|||{{|{{z|{{|{|}||||{{|{z{{}{{||||{{{{}{z|{{|{{|||{{{{{{{{{|{|||||{{{zzz{{{{{{{|||{z{{{z{z|{{{{|zzzz{zz{zzz|{{{z{{yz{zz{zyz{{z{{{{{zzzz{zz{{{{{|{{|zzzzzz|{{{|{z{z{zzzyzzzzzzz{{{|zz{z{z{z{z{zz{{{zzyzzzz{zz{zz{|z{yzzzzzy{zz{{z{{z{yzyzzzz{{{z{{zzyzzzzyzzz{{z{{{zzzzyzzzz{{zz{{{zzzzyzzzy|zz{z|{{{yzzzzz{{zz{{{{{{zyzzzyz{{{{{|{{{{zzz{{|{{zz{|{{zz{zz{y{{{{{{{{zz{{zz{z{{{|{|{{z{{z{y{z{||{|||{{zzyzzzz{{{{{{{{|z{z{zz{{{|{{|{{{{{z{{y{{|{|||{{z{{{|||{{{{{||{|z{|{{{{z{||{|||||{z{{{{{{||||||{{{{{z{{{{{{{{||{|{{{z{{{{}}||}|||{z}{{{{||{|{|||{{z{zz{|{||{{{|{|{{|{{z{|||{{|{}z{{zz{zz{||{|{{{|{z{{z{zz{||{{{{{{{zzz{z{{{{||{|y{zyzyyy{{z{{{|z{{{z{xzz{zzz{{{|{y{yzzz{z|z{{{{||y{{zzyz{{{zzz{{{zzzzzzyz{{{z|{{z{zzzzz{z{|z{|{zzzz{zzzy{{z{z{z{{zzyzzyz{z{zz{zzzzyz{zzzzzzz{{|{{zz{zzzz{{{{z|{{zz{yyzzyz{{{{{|{zzzzzz{zzzzz{z{{zzzz{zzzy{y{{{{{{zzzz{zzzz{{zz{{zzzz{z{zz|{|z{{{|{{zy{|zzzz{z{|z{z{z{z{{|{{{{|{{{{zzzzyz{{{|{{{zzz{{{zzz{{{{{{{{{{{{zzz{{{{{z{{{{|{{{|z{{{{}{}|{{z{z|{z{{{{{|{||zz{{zzzz{|{{{{|||z{zz{{{|||{||||zzz|{{{zz{{{z||z{zz|{{{|{|{{||{|zz{{{{|z{{{{{|{||{{{{{{{{{|{{{||{|zz|{{||{{|}{||{{{z{z{zz}|{|{z{{|{{{{{zy{|{z{|{{{|{zz{z{|z|{{{{|zzyzzzz{{{zz|z{{yzzyyzy{z|{z{|{{{{zz{{{{{{{|||z{{{{zzz{{{{{{{{{{z{zyyzzz{{|{{{{{{{zz{{zz{{{z{{z{zzzzzzz{z{{y|{zz{zyyzzz{{z{z{{{zzzzz{zy{|{{z{{{zzzzyzy{z{{{{{{zzzyzzzzy{zz{|{{|z{{zzzzzzzzz|{{z{zyzzzzz{{{|{{|{zzz{{zzzzz{|{|}{{zyyz{z{{{{{{{{{zz{zzy{{{{z{{{||{zzzzz{{{{{||z|{z{{z{z{{z{|{{||{|{zz{{{z{{|{{{|z{z{{|{{z{{{|{||{{z{|{{{z{{{{{}|{z{z{{{{{{{|{|{|||{{zzz{z||{|{z{{|{z{z{|{|||||{{|{{{{{z{{{{{{|||{|{||zz{{||||{|||{|{{z{{{||||||{z|z{{{{{{|{{|}|||{{|{{{|{{|{|{{||{{{y{zz{{{|{{{|{||zz{{{{{|{z{||{{{{{{{{z{{{|{{z{zzyz{zzz{|{{z{|{|{{zzzzz{{z{{|{z{z{zzz{{z{z{{{{|{{{zzzzy{z|{{{|{{{{zzzzz|{{z{{|}z{zz{z{{z{{z{{{{zz{{zzz{{{{{{{{{{{zyz|zz{zz{z{yzz{zzyyzzz{{{{z{{zyzz{{zyzy|{z|{{{{z{z{zzz{{{z|{{z{{y{z{zzzz{z{{z{zzz{z{yz{{{|{z{zzz{z{z{{|z{|{{{zz{{zz{y||{{{{{|z{{{{{{{{{|{|{z{{{{y{z{z{{|{|z{{{z{z{z{{z|{|{||{{{z{{{zz{{{{{||{{zz{z{|{|{{z{{|{{{{{|{{|{|{{|||z{|zzz{{{|{z|{|}|{|z{|zzz||||{{|||{{z{{{{|{}{|||||{{{zz{{{|{|{{|||{{|||{{{||||{}||{||{{{||}|||}||{z{{{{{|{|{{{||||z{{{{{{|{||||{|{|{{{z{{{|{|{||{{{{{{{{z{||{{{{|{{{zz{{zz{{{z{{{zzy{zz{y{{{z{z|{{zzy{z{{|{|{{|{{{{zzz{{z{z{{{{|{{z{z{{zzz{z{{{|{{z{z{z{z{{{|{|||yzzzz{zzzz{z{{{{{z{{{{zzz{|{{z{zz{z{y{z{{y{{{z||zzzzzzzz|{{{z{{zzz{{zz{zzz{z|{{{{zz{z{{{{{{z{{{z{zzz{zzzzzzzz{{{{{zzzzzyz{{z{{{|zzzz{z{zz{{{{y|{|zzz{{{y{{|{z{|z{zzz{z{{z{|{z|{{|z{z{{{z{{{z{{{}{{{{{z{{{|{|{{{{{{{{{{zz|{{|{||{{{z{z{{{{{{z{{|{{{{z{{|z{||||{|{{{{|{z{{{|{|{||}{{z{{{|{{||{|{|{|{z{|{|z|||{|{||{||{z{||{}{{|}|||{{{y{{{{}{|||{||{{||{|{{||||{|{{{|{{{|{{|{||}}||{z{{|zz|{|{|}|}z{{zz{{z{|||{|{{z{{z{{{{{{{||{||z{{zzyz{{{{{{{{{{z{zzyzzz{{{|z{|yzz{z{{z{z{{z{{{{{{zz{zz|{|{{|{{{zz{zzzzz|{{z{zz{z{zz{zy{{{{z{zzz{{zyzzzz{{{z{{{{zzzzyzyzzzz{{{{{zzzy{zz{zzz{{{{{{zzzzyzzzz{{{{zzz{{xzzz{{z|z{{{z{z{zzzy{zz|z{{|{z{{{yzzz{{{{{{{{z{zzz{yz|{{{|{{{zyz{zzz{zz|{z||zz{z{yzzz{|{z|{{zz{{zyzz|{{z{{{}{|||z{{{{|{{{|{{||{z{{{{{{{|{|{{zzz|y{{{||{{{||{{zz{{{{{{{{{{|{{{{{{z|z{{|{|{{||{{{z{{{|{{||||}|{{{z{{{{{|{|||||{{{|{}{z{||{{}|{{{|z{||{{z{|}|{|}{z{{z{z{}||{|{{|{|{{{{{|}|||||||{{|zz{||z{{|{}{||||}|z{|||{{|{|{{{{{z{{{{z{||||{{{{{{z{z||||{{{{{{z{z{{{{{|{zz{yzz{yzzzz{{|{z{zzyz{zyzz{{z{{{|{{zz{zzzz{{{z|{|{{z{zzzz{z{|{{z{{zz{zy{{y{|{|{|{{zz{zzz{zz{{z{z{{{z{{zzzzz{{{{|{{{yzzy{y{z{{{z{z|{z{zz{zz{zzz{{{z{{{yzzzz{|{{{z|zy{zzzzzz{{z|zz|{{zzyzzyzz{z{{|{{z{{{{yzz{{zz{||{zy{z{yzz{{|z{{|{{z{zzzzz{{{{{|z|{yz{{zz{{{{{{{|{{zzzzz|z{{z|{|{zzzzz|{z{{{{{{{{{{{zz{zzz{||{z{{{z{{zz{{{{{|{{|||{{|y{{{{{{||{|{{{zzz{{zz{||{||||{{z{z{{{{{{||{|{{{{|{z{{||||||||zz|zz||{{{{{||z{}{{{z{{z{}||||||{|{{{{z{|{{{|||||z{{z{{{{{{{{||}|{{{{|{|{{{|}{||z{{{{{{{{{{|||||{{{zzz{{{{|{{{|{|zzz{zy{|{||{{|{z{zzzzzzzz{{{{{{z{{{zzz{z{|z{{{{|z{zz|zyzz{zzz||zz{yyzz|{{{{{{{{z{zzzyzz|{{{{{z{{zzyzzzz{{{z{z{z{zzyzzzz{{|z{z{zyzzzyzzz{z{z{{{{zy{{z{zzz{{{{{|{zy{zyzzy{{|{z{{{{zzzzyzzz{zz{zz|zzzz{yzy{{{zz{{{{zzzzz{zz{zzz{{{zzzzz{zz{{z|{{{{{{zzzy{{{z{{{{{|zzzzzz{{|{{|{|{|{{z{z{zy{{{|{{{|{{{z{z{zz|{z{||{{z{zz{zz{{{|z{|{{z{{{{{z{|{z{{{|{{{{{z{{{{}{||||{|{|zy{|||||||}||z{z{zzz|{{|{{{{|{{{{{{{{{zz|{{}{||z{{|{{{|||||{|{{{zz{{{|||{||||z{{{z{||{{{|||||{{|{{{{{|{|{{|}{{|{{||z}{{||{{{|{zz{{{|{{{{{{||{{{|{{{z|{|{{|{|{{zz{zzz{{{{{{{{yz{yy{z{{z{{{{zz{zzz{yzz{{{{{{{{{zzzzzyz{{{|{{{{{{zz{{{{{{{{{{z{{zzzzyyz{z{z{z{|z{zz{z{z|{{{{{{z{zz{zyzyz{zzy{{zz{z{zzzzz{z{z{{z{yzzyzyyz{zz{{{zyyz{zzzz|z{y{{{|zzz{zz{{{{z{zzzz{zyzz{zyzzzz{z{zzz{z{{zz{z{zzz{{zz{yzzzz{z{|{{z{{{zzzz{zz{{|{|z{{yzz{{{{z{{{{{||zzzzzz{z{{{|{{|}{{z{zzzz{{|{{|{|{{zzz{zz{|{{{{{{{zz{{zzz{{|{z{|{{zz{{{y{{{||{{{{z{{z{{{{{z{||{}|{zz{{{{{{{{{||{{{z{{{zz|z||||||||{{{{z|{||{{{|{{{z{{{{zz{{||}|{|{z{zz{zz{|{|{{||{{z{{{zz{|{|{z{|{{{{|zz{|{{}{|||z|{zyzz{z|{{|{|{{z{zzy{z{{||{||{{{|{{{{z||{|{{{{zzz{{z{zx{{{{{{{{yz{zzyy{{|z{{z{z{zzzz{{{{zzz{{z{zy{zzzz{z{{z{{{zzz{zzzzz{{{z|{|zz{zz{zyz{|{{z{{y{{zzzz{{{|{z{{zzz{zzzzzzzzz{{{|zzyz{yyy{z{{{{|z{zzz{yzy{zz{{|z{zzzzyzz{zzzz{z{{zzzzzyyyz{{|{z{{zzzyzzzz{{z{{z{{zyzyzz{yz{{{z{||{{{z{z{z{z{{z{{z{z{zzy{z|{{{{{|{{zz{yz{{z{{z{{z{{z{z{zzzz||{{{{||z{zyzzzz|{{z{|z{zz{{zzz{{{z{|{|z{||zz{z{|{{{z{|z{{{{{{{{|{|{||{{{{{{z{z{|{|||{||{z{z{z{{|{||{}||{z|z{{{{||{||}||{{{{{{{|||{|{{}|z{{{z{{{|||{{{{{zz{{zz|{|{|{|||{{{{{{z{{{{{|||{{{{z|{z{||{|{{||z{z{z{{z|{{{|{}{{{{zzzzz{{{{z{z{yzzz{zzzz{{z{|{|zz{{zyzzzz{|z{|{z{zy{z{z|{||z{{z{z{zzzzz{{{{z{|{{z{zy{zzz{{zz{{{zzzz{zzz{{{zzz{z{{zz{zzz{z|y{|{{{zzz{{zy{zz{{|{{zyzzzzzzzz{{{{{{zzz{{{zz{{{z{{{||y{zz{yz{{{z{{|{{zzyzyzzz{zzzz{{{{zzzzzzz{z{z{|{zz{zz{yz{{{{{{{{{z{yzzy{{||z{{|{z{{yz{{zzz|{{{||{zzzzz{z{{{{}{|{zzzzzz{{z{{{{}{{|{{zyzzz|||{{{|{{zz{{{{{{||{|{|{{{|{{{z{{||{|{{{{{{z{{|{{|{|||{|z{{{{{z{{|||{|{||zzz{{{{}|{||||{{zz{z{{{{|z|||||{z{|{{{{{}||||{}|{{z|{z{{||{{|{|{z{{{{{{|{{{{||||{{|{{{{{}{{|}||z{|z{{zz{{{{{|{}|{z{{{zzz{|z|{{{z{zzzyzzz{z|{|zz{z{z{zyzz{{{{{{|{yz{yyzz{z{|{{|{{{zzz{zz{zzz{{||zzzzzyzz{{{{{{||zzzzzz{zzz{z{{{{z{zzzzzzz{|{y{{z{{{zz{zzz|{{z{{{{zzzzzzz{{|{z{{|{yzyzyz{z{{z{{|z{y{zy{yzz{|{{{{{{zzzzz{yy{{{zz{|zzz{zzz{zyzy{zzzz{yzyzz{z{{zz{{{z{{{{{zzzz{{{{|zzz{{zz{zz{{{z{|{zz{z{z{{{{zzz{{|z{z{|zyz{|zz{{{|{z{{|z{z{|{{|z{{{{zz{{{z{|{{{{{{{{z{z{zz{||||{{{{{{z|{zz||||||{|z{z{z{zz||{{z{||{{{{z{{z{|{{||{|{z{z{|{z{|||{{||{z{z{{|{{|{{{}|{|{{{{z{z{|{|{{||{{{{{{{z|{{{||||{{z{{{z|{{{{{{{||{{|{z{{|{||{{||{{|{|{z{{||||{||{{{{z{zz{|{|{{{{|{zyz{{z{{{{{{{{zzyzz{yyz{zzz{||zz{z{zyz{{{{{{{{{z{{zzzy{z{{{{{{{{zzzzzzzz|{zz{|zzz{{zzz{z{{{|z{zzzz{zzzz{{{y{{{z{zzzzzz{z{z{z{{zy{yzzzz{zzz{zzzzzzyzzzzzzz{{{{|z{y{zz{z{z{{{{|{zzyxzzzzy{zz{z|{zz{{yzzyz{{zzz{{{{zzzzzyyzz{{{{{zz{zzzzzz{{{z{{zz{{zzz{zzz|{{|{{{z{{zz{z{z{{{{||{z{zzyz{{z{y|}|||{{|{z{z{{|{{{{{{{z{{{zz{|{{{{|{{{{{{zz||{{{{{z{{z{{{{{{|zz||{|{{z|{{|{{{|{|{||||zz{{z{z|||||}|||{{{z{z{{||||{|{|{{{}z{z{|{{|{|||{{{{{z{|}||{{}|z{{{{{{z||}|{|{||z{z{y{{{{{{{||||{{{{{{z{|{||{{|z{{{|z{zz||{{{|{|{{{{z{z{{||{z{{{{{z{{{z{{|{{{{{z{zzz{zz{z|{{{|zz{zzzzzz{{{z|||{{z{zzzz{zz{{|{{{zz{z{zy{{{|{{{{{{z{z{{zz{{{|{{{{{z{{|zzz{|zzz{{z{zzzzzz{|{|y{|zz{zzyz{z{zz{{{|{{zzz{yzy{z{zzzz{yzz{zz{zzz{{z{{||zzzyzzz{{z{{z|z{z{zzz{zzz{{{{{{{{z{{zz{{zz{|{{z{yzz{{{zz{|{{{{{{zz{{z{z{{{{{z{|{{z{z{z{{{{{zz{|{{{{{z{zy{|{{{{{}{{{{z{{zz||{{{|{|z{{{{{z{{{{{|z{{{{{{{z{||{{{{|{|{z{{{|{{{{|{||{{{{z{z{{{{||{z|||{z{{{z{{||{}|||{{z|{zy{||||||{{{{{{z{{|}|{{||{|{{{|{|z||}{}||}|{{{{|{zz|{||||}||{{{{{|z{||{|}}{|{z{{{{{{|{|||{|{||{|{{{{|{{{{{{{{zz{{{z{{|{{{{||{{z{{{z{}{||z|{zzzyzzzz{z{{{{{{zz{{z{zz{z{|{z{|{zyzy{zz{{{{|z{z{{{zzzz{z{{|{{{{zzzzz{{y{{|z{zz{z{zz{zz{z{{{{{{{z{z{zzzzz{|{{{{z{zzzzzzz{{{zzz{{{z{yzz{yzz{{{{{{{{{zzyzz{z{z{{|{{z{{z{yzz{{{{{{||zzzzz{y{zzzz{|z{zzzzz{z{{{zz{{{{zzzz{{z{{{{{|{{{zz{zz{z||z{{z|{|{{{{z{{{{{|{||{z|{z{zzz{{z{{{||{{zzz{{z{||{||{{{zz{{z{z{||{|||{|z{{{y{{{|{{{|{|{z{{|{{{|||}||||{|{{zz{{{{||{||{|zz{{z{{||||{|{{|z{{{z{{|}{{{|{|{|{z{{z|{||{|~|||z{|z{{{{|{}|||||{||{{{{||{{||||{z{{{{zz{{{}{{{|{z{{|{{{|{z||||{zz|z{{{{{|{{|{|{|{{{zz|zz{|{{|{{{z{z{{{z{{{{{|z{{zz{zz{y{{{{{|{{z{z{zzzz{{z{|{z{|{zzzz{z{{{{{{{z|zz{z{zz{{{|zz||{{{{zyzzz{{{{z{|zy{{zz{zz|{zz{|{{{zzzzzz{{zzz{{y{{{z{zzzz{{{zz{{{zzzzzz{z{{{{|{z|zyzzzzzz{{{{{{{{z{{zz{y|{zzy{{{{{{yyzzyzzzz{{{{{{zz{y{zz{zz{{{|zy{{{{{z{{{{{||{yyzy{zzz{{z{|{{|{{z{zzz{{|{|{{||{z{zzzz|{{{{|||{z{{{{y{{|{z|{||{{z{{z{zz{{||z{{{{{yz{zz{{{}{{|{{{{{{{zz{{{||{|||z{|z{{{{{|||{{|||{{z{zzz{||{|{|{{{{z{{{{|||z{|{}{z|z{{|{|{{{{||{{|{z{{{{||||{|}||{{z{z|{{{{|{{|{{{{{{{{|{{{{|{||||{z{{z{{|{}z{||{{{{zzz|{{z{||||{z{z{{zz{|{|{{|{{z{{{{z{z{|{z||{yzzyzz{{z{|zz|{zzzzzzy{z{{{{{{||zzzy{zzz{{{{z|{{{z{zzzzz{zz|{z|{{y{zyzyzz{z{{z{{{zzz{zzzz{z{z{|{{z{zzzzzz{{yz{z{zzzzyzyyzzzzz{{{zzzyzzzzz{{zz{z|zz{z{zyz{{{z{z{{{zzzzzzzzzy|{z{{y{yzzz{zzz{zz{z|{z{zzz{yzzzz{{|{zyzy{{zzy{{{{{|z{zz{yz{z{|z{z{{zzz|zyzzz{{z{{{{{zz{{{z{z{{{{{||{zz|{zyz{z{{{{||{z{zzz{zz{|zz{{|{zz|zyz{z|{{{||{|z{{{z{{z{||{{||||{{{{z{{{zz{{{||{{z{zz{{{{|z{{}{{zzz{z{{{|{{|}{{{|{{{{|{|{{{|||||{{{{{|zz{||{z|||z||y{zz{||{||{{{zzz{{{{{|{{{||||z{z{{zz{{{{|{|{|zzz{{{z{{|||{||{z{zz{{{{|{{z{{{{zzzzy{zz{z{{{{|z{zz{z|z{{||{z{{{z{zzzzzz|z{{{{{zyzy{{zz|{z{|{|{z{{zzzzzzz|{z||{zz|yzzzz{z{{z{|{{{zzyzyzzzzz{|{z{y{zzz{zz|{{{|{{zzyzzyzzy{z{z{{{zyzzzyz{zzzzzz|zzyzzzz{z{{z|z{z{zzz{xz{zz{z{{{{|z{zz{z{z{z{{{|{{y{zzzz{z{{{z|{{{{zyzzzzzz{{{{{{{{z{z|zzz{{zz{zz|zz{z{z{{{{|{|{{{zz{zzzz{{|{|{|{|{zzzzz{z{{{{|{||{{{{zz{z{||{{|||{z{{{{{{z{zz{{{{|zz{{z{{{{{{|{|{z{{{{||{z{{{{||}{|{{{z{z{{{||||||z{{{{{z||{{z||}{{{{z{{||{{z{}|||{z{z{z{||}}|||||z|{zz{||{{|{{{|{z{z{{{|{{|||{||{{{{{z{{|||||{|||{{{z{{{{{{z{{|||{z{z{zzz||{z{{{{z{z{{{{{{{|{|{zz{zz{zzyz{|{zz{|z{{{{yzzz{{{{{{{z{{yzzzzzz{zz{{{||zzz{zzz{z|{zz{{zz{zzzz{y{zz|{{zz{yz{zz{|{z{{|z{{{zzzz{{{{zz{{{z{zzz{{z{{z{zz{{zyzzzyzz{{{|{{{z{{zzz{z{{z||z{{{z{zz{yzzz{{|{{{{zzz{zyy{{zyz{|{{zzz{{zzzz|{|||{{yzzz{{yz{z{{z{|{{{z{zzzy{zz{{||{zz{zzz{{{{{{{{{{zzzzz{z{{{|{|{||zz{{{zzz{{|{{}{{zz|z{|{{|{|{{{{{{|{{{{{z|{{z{|{|z{{{|z{{z{{|{|{|{{{{{{{{{||||{|||y{{|z{{{||{{|||{z{{{{{{|}{||||}|{{{{{|{{{{||||||z{|{{||z{|||}|}}{{{{{{{|{||}||{|{zz}{z{{{{|||}}{{{{{zz{||{||{||{z{{z|{z{}{|{|||{{{{{zzz|{|{{||{{{{z{{{{{{{{{zz{zzzzzyzyyz{zzz{zz{z{zzzz{z{z{|{{z{{zzzzy{{{z|{|{z{zzzzyyzz{{z{z{zz{zyz{zzz{{{{{{zzyzyzzyz{{z{zzzzzzyz{yz{{{zz{z{{zzyyzzzzzx{z{{{zxzzzzz{z{{{z{z{{zzyzzyzzz{{{{|{zzy{zzzyz{z{zz|{zzyzzyzzzzzzyz|{zzzyzyzyz{z{{{{{{zzzzzzzz{|{{{z{{zyzzzyz{{{{{z|{{zzz{z{y|{z{{{{{zz|{zz{{{|{z{{{{zzz{{{z{z|{{{{{{{|y{z{zz{{{{{{||{zz{{{zz{{|z{|{||z{z{z{{{}{{z{{zz{{{{{{{{||{{|{|{{{{{{zz|{{{{|{{|z{zzzz{{|{{||||{zz{{{{|{|{|||{||{{{z{z{||{|{{||{{{{{z|z|{|{z|{{zz{{z{{z{{{{{||{{{z{{{z{{z{{||}|zz{z{{{z{{{|{{|{|z{{{zzz{||{{{|{{z{zzzzz{{z{{{zz{y{zzyzzz{{zz|z|zz{z{zyzz{{{z{{|{zzzy{{y{{{{{{{{{yzzzzzzz{{{zz{z{{{yzzzy{{z{z{zz{{zyzzz{z|{zz{zzy{y{zzxz{z{zz{{{zy{z{{zzzzz{zzyzzzzzzyyzzzz{{{{zzzzzyzy{z{{{zz{{z{zzyzyz{{z{{y{z{{{z{yzxzz{zy{zzzzzzz{zzz{yzy{{{{zzzz{xzzzzz{}|{zzzy{zz{{|{{z{{{{z{zzy{z{zz|{{{}zzz{zzzzz|{{{{|{z{{z{zzzz{|{{{|{{z{z{zyy||{{{{{{yzz{{zzz|{{{{{{{zz{|z|{{|{{}{{{{{{z{zz{{{{{|{{|{{{{{{zyz|{{{{{|{{{z{zz{{{{|zz||}{z{z{{|{|{{||{{}{{z{z{zz{|{{{||}{{{z{{zz}|{|{|{{{{zz{{{z{||z|{{{|{{z{zz{z{{|{|||{z|zzz{{{|{{{{{{|{{{zz{{z{{|z{{{zzzzzzzzz{zz{||{z{zzzzz{{||y{{z{yzzzzyzy{{{|z{{z{zzzzz{z{{y{z{|z|{zyz{zz{{{{zz{|{{zy{zzzz{|{y{z{z{{z{zzz{{{y{}{{{{zy{zyy{{{{{|{{zyzzzz{{{z{{z{{{zzzzzzz{{zz{z{{z{zzzzyyzz{z{{{|{{zzzzzzzz{z{zz{{{yzyzyzyzz{{z{{yzzzzzzzyy{{{z{{{zzzzz{{zz{z|z||{zzyzzzzz{{{zzz{|zz{{zz{z{{{{{{{|{{yzy{{z|{|{{||{z{{{z{zz{z{|{{{zzy{z{{zz{{{{{{{|{{{{{{z{|{{{{|{|z{{z{|zzz|{{||||z|zz{z{|{{{|{|{|z{{{{{zz|{|{z{||{{{zzz{{{|||}|{|{{|z|{|{{{{|{||}|{{{{{{{||{||||}{z{{|{|z}|{{||||{zzz{{{{{z{|{|{|{{{{{{z{{{|||{||z{{zzzzz{{{|{|||z{z{z{zz{|{{z|{{{z{{z{yz|{{{{|{{{{y{zzzy{{|{zzz|z{zyzzzz{{{{z{||{z{z{zzy{{{{{{||{z{zzzzy{{{{||{{zz{{yz{zz{{z{{z{{yzzzzzz{||{{z{{{y{zzyzz{{{z{|{{yzzyz{zz{z{z{{{{zzzzzy{z{{{{z{{zy{zzyzzzz{{zz{{|{{{{zyzzz{{zz{{{zzzzzz{yzz{z{{{{{{zzzzzzzzzz{|{{z{{yzz{zzz{{z|{{{zzz{zzy{|{{{|||{z{zzzzz{|{{{{||zzz{z{{{{{|{{{{{z{y{z{{{{|||{|{zz{{{z{zz|{{{z{||{z{{z{y{z|{|{|{{{{{{z{z{{{{|{|||{{{{|z{{{|||||{|{z{z{{z{|{|{||||{{{{{zzyz}|{{|||zz{|z{|{{|{{||{{{{{|z{{zz|{{|{||{z{{{{{|||{|{|{|{{z{{{z|||{{|{}|{{||{{z{|||{||||{{{z{z{z{{{z|{|{{{{{{{{{{|{{|{{{{{{{{{{{{{{{{|z{{zzzzzzz{|{|{{{{{zzz{zzzz{z{{{}zzz{z{{{y{z{{|z|{{{z{zz{{zzz{{{|{{z{yzz{zy{{zz{{|yy|zzz|zz|zz{{|{{z{z{yy{{z{{z{z|{zzzzzzz{{{|z{|{yzz{z{zzzz{|z{{{zzzyzzy{zz{{{zz{{zzzzzz{{{z{{{z{zz{z{zyz{{zzz{||zz{zzz{{{{z{{||zzzzz{zy{|z{|{{{|z{{z|z{z{z|{{{{{{z{z{z{z{{{|zz{{zz{yzz{z{{|{{}|{{{zy{y|{z{{{{|zz{|{{zzz{|{{{{{|{{{y{{{{{{|{{{|{{|{{{{{zz{{{||{{|{{{{{zz{|{{|||||{z{{{z{{{{{{{||||z{z|{{{{}|{|||}{||zz{||{|{{|||}|{z{z|||{{|||}}{|{||{z{{{|{}|{|||{zzz|{{|{|{||{}}|{z{||{{|{|||||{{|{{z|{|{{z{{|{|{z{z{{z{|{{{||{|z{{{z{{|{||z}{z{z{{z{{z{{{{{{{|z{z{{zy{{{{{{z{|{z{{zy{z{{zz{{{|{{{{z{z{{z{{{||{{zzzzzzz|z{z{{{{|yzzz{zyz{{{zz{{{yzzzzz{{z{{{{{{zzzzy|zzz{z{z{z{y{zzzyz{{z|{{|{{{{yyzzz{{|{|{{{{{z{zzzzzzzzz{{{{{zzz{zzzyz|z{z{{zzzzz{zzzz{z{{{zz{zy{zyzz{{{{|{{{zz{zzzz{{{zz{{{{{{z{zz{{z{{{{|{{{z{z{{{z{{{{{|{{zzy{zyz{{{{{{{{{z{zz{zz{{{{||||z{{zz{zz{z{{z|{{|{{{{{y{{|||{{|{{z{{{{{{{{{{{|z|{zz{{{z{{||{{||{{zzz{{{{|}}{|}|{{{{{{|{{|||{{|||{zz{{{{{||{{{|}{|z||{{{{{{{|}|||||{{{z{{|{{{{{|||{z{{z{{{|{{{|||{|{{z{{{{{{{{|}{{{{{{{{z{{{|{{|{{zzz{z{z||{{{{zz{{zzz{yz{{zz{z{|z{zzz{zz{{{{{{{{{zy{yzzz{y{z{|{{{zz{zyyy||{{{z}{{zzzzz{y{{{{{{z|zzyzy{{yzz{{{||z{z{z{zy{{z{{{{{{{{zzzzzz{{{{{{{}z{zzzy{zz{{{{{{z{z{{{yzzz{{z{{{}{zzzzzyzz{z{{{{zzyzzzz{zzzz{{{{z|{zzzyz{y|z{z{{|z{{z{z{z{z{{{{{{{{{z{zzz{{z{zz{{zz{{zzzz{{{z{z{|z{z{z{{{z{{{|z{{{z{{{zzzz{{{{{{{zz{yzz{{{||{{{|zz{zzzz{z{z{{{|{{|z{|{{{{{{||{||{z{{{zz{{{|||}{{|{{{zz{{z{||}|||{{z{{|z{{{{|{|||||{z{{|{{{{{{||{}{{{z{|z{|{z|||||{z|{y{|{|{z|||{|||{{z{{{||{|{{|{{{{{|{{{|{{|{{||{{{{yzz{{|z{{{|{z|z{z{{{|{||z{{{{{{zzz{{{z|{{z{zzzyzzzzzz|z{z{{|{z{z{{zz{{{|{{||zzzzz{zz{{z{{{||z{{{{zzz{{{zzz{{{{{zz{{y{||{z{{zz{{zz{zzzz{z{{z||zzyzzzz{{{z{{{{zzyyzzzz{{{zz{|{zzzz{z{{z{{{{{|z{yz|zzy{z{{z|{|z{zyyzz{z{{z{{z{{{z{z{yzzzzzzz{z{{zzyzzyzzzzzz{{|{zz{zzyy{|{{{{{||zzz{z{y{{{{z{{{{z{zzz{|{z|{z{|{{{{{zzy{{{{{{{|{zzzz{z{z|{|{{||{{zzz{z{z{{z{z{{{{{{{zz{{{||z{||z{{|{{z{z|{|{|z||z{|{|{{z||{z{|}{{{{{{zzz|{|{|{|{|{|{{{{{z}{|{{||{{{{z{{{||{{}}{{|{{|{z{z||{||{||{|||z{{|||{|{{|{zz{{{{z{{{z}|||||z|{{{z{|{|}{{||{{{{{{{{{|{||z|{{{zz{z{z{|{||||{|z{zzzzy|{{{{{z{zzzzzz{zz{{{{{z{zzz{{zyzz|{{|{{||zzzzzyy{{{zz{|{zzz{{zzzz{|{{{{|{zzzzzzy{z{||z{|{z{zzzyzz|||z||z{{{yzzyz{z{zz{{z{zz{{{z{y{zzzzz|zzzz{xzzz{{{{z{zzzzzz{zzz{{z{{{{z{{zyyyyz{{{{{z{z{zzzz{z{z{z{{z{z{{{zzzzz{{z{{{|zzz{zzyyzz{{{{||{{z{{zzz{{zz|{{z{{z{yyz{{{{{||{{{z{{z{zz{||{|{{{{z{{zzz{z{{z{z{{{z{{{{z{{{{|{{|{zyz{{zz{|||{{{|{z{{{{{z|{{|{{{|{{{{{{{||||{|{|||{{z{{{{{{|{|{||{{z{{{{{{|||||{|{|z|{{|{||{{{|||{{{{{{z|{z||||{{{{{|{zz|{|{|{||||}{{{|{z{{{{||||{||{{|{z}z|{|||||z{{z{zz{{{{{|||{{{{{zz{{{|{|z{|{{{zzzzz{{||z{{{{{zyz{z{zz{|{|{z{z{y{{zzzz{z{{|{{{{{z{z{z{{|{{|{{{z{zzzzzz{{{zz{z{{yzzzzz{{{{{{z{zz{yzz{zz{{zz{z{{z{zz{yz{{z{{{{|z{{{{{{zzz|{z{{|z{z{zzzz{{{zz{|{|{z{{{zy|{{{{||{{z{zzzzzz{{zz{||{|{z{z{{z{{z{{z{{{{zzzzz{{{{z{{{zzzz{zzz{{z{{{{|{zzz{y{z{z|{{{{{{z{zzz{z{{||{|{|{z{z{zz{{{{{{|{{{{{|{zz{z|{{{{||z{{z|zz{||{{{z|{{yz{{zz{{{|z{{|{{{z{{|{{{{{|{{||z||{{zzz{|{|{||||||{{z{|{|||{||||{{{z||{|||{{||||{{{{||{{|{{||||{zz{|{{|{|||{||{|z{{zz{{|{|}{|{||z{|{{{{|{||{||||{{{{z{{||||{|{{z{z{{|zz{||z||{|||{|{z{{{||{||}|{{{{{z{z{|{z{{{{zzzyz{zyz{{{{{|{{z{z{zzz{|{{{{{{z{zz{yzz{|{{{{|{zz{{{z{{z{{{{{{{zzyzzzzy{{{zz{{{z{z{zzyzz|{zz{{z{{{zzzzz{{{z{z{{{zzyz{zyz{z{{{z{z{zzzz{{zz|zy{|zz{zz{zy{{{{{||zz{{|zy{zzz{z{{{{{{zzz|y{zzz{{{z{{zz{zzzzyz{z{z|{{{zy{zzzz{z|||{{{{{{zzzyzy|{{|{{{z{zz{zzzz{{zz{|{|z{{zz{zzz{|{{|{{zzz{z{{z{{{{{{{zz{zz{zz{{{zz{{zzz{{{zzz|||{{|{|z{{{{{{{{|{{{{|{zz{z{{{z{|{}{{{|{|{{{{z{{{{|{{}||{{{{z|z|||{{||{{{{z|{{{{||{{{|||{{{{|{{{}||{||||z{{y{{{|{|||{||{{{{|z{|{|{|z{||{{{|{zz{{{{}|{||{zz{z|{z{{z{||||{zz{z{{{{|||{{|{|z{z{{zz{z|z}{z{{zzzzz{{z{{{z{{{zzyyzyz{zz{|{|z|zzzz{zzz|z{z{{|{zzzz{{zzz{z{z{|{{yzzyzyy{zz{{{{{zzzyzz{z{{zz{{{|{zzzzzzzz{z{z|{{zyzyyzz{zzz{z{{zzzzzzy{{{z{zz{z{z{zzzzyz{zz{z{{{zz{zyzyy{zz{|{|{zzzzzy{zzzzz{{zzz{{zzzzyz{z{z{z|{zzzzzzz{z|{{z{{{zzz|zzy{z{{|{{{zzyzzzz{{z{{zz||z{zzz{zy|{{{{{zz|{{{{z{{{z{{{|{|{z{z{zzz{{{{{z|{{z{{zzz{|{{zz|||{z{{zz{{|{|z{||{zzz{{{{z{|{{{|||{z|zz{zz||{|{{|{{z{{z{z{}{{{|||z|{{{{|z{{{|{{{{|{{{{{{{{z{{{||}{{z|{z{{{|{|{|{}{|z{{z{z{{{{z{||{{|zz{zz{{{{|||||{z{z{{{z{|{{|{{|zz{{z{{z{{{{{||{{{{z{zz{{{{{z{y|zz{zz{zzz{z{{{|{{{zyyzzy{{{z{{|{z{{zz{yy{{z{{{{|{zz{zzyzz{{{zz|{z{zzyzzz{z{{{{{{{z{y{{zzzz{{z{{{{zzyzzyzzz{zz{{zzz{zxzz{{z{|zzz{zzzzz{yyyz{z{{z{{zzz{zz{z{{{{{{{zz{zzzyyz{{{{z{|{zyz{zzyzy{z{{z{zy{zzzz{z|{{{{{z{zzyzzzz{{zz{{{|{zzzzz{{{z{|{{{{{z{zy{{z{zz|z{{zzzzy{zz{{{{{{{{{{{{z{{zz{{{{{{{z{{{z{{zz{{|{{||{{y{{zzzz{|zz{}{{{|{{{{{{{{{{{||{{{zz{{z{{{{|{|{{{{{{zzzz|||}|{{||zzzzz{{{||{||||{{{{{{{{||||{{|{{z{{||{{{|||{{|||{{{{|{z{{{|{{|||{{{z{{{{|{|{|||{{{{{|{|{{|{{{|{{{{z{zz{z{{|{|||{{{{{{z{{|{|{{|yzz|y{z{{{{{z{{z|{zz{zzzzz{z{z||{{zzzzyz{{z{z|{z|{zzyzzzz{{{z{|{|zzyz{zzzz{z{{{{{zz{{{z{y{yz{{{z{zzzzz{zz{{{z{{{{z{zy{zzz{z{{{{z|{y{zzyz{{zz{{z{zzz{z{zzy{{{{z{{{z{zzz{y{{{|{{{{|{z{zzzyzz{||z{{|y{yz{zzzzz{z{{{z{zyz{zzzy{{{{{{z{{|yz{{z{|{{{{{{{zy{{{z{zz{{{{||z{{zzzz{{{{{{{{{{{{zzz{z|{{{||{|{zz{{z{z{{||{|{{|zzzz{y{{|{{{{|{{zz{{{{z{{{z{z{|z{z{z{{{{||||{{|{{{zz{{z{{{|z{|||z{{{{{z{|{|||{|{z{{{z{z|||{||}{{{z{z|{{{{|{{||||{{{{{{z{{|||||||z{{{{{{{||{{|{||z{{{z{{|{|||{||{|{z{z{||{{{||||{|zz{{{z{|z|{{{|{{z{{{{zz{{{{{{|z{{{{{|z{{{{{z{{z{yzzzz{z{{z|{{zz{zyzyzzz|{{z{{|z{{zyz{z{zzz{{{{{yz{zyz{{z{{z{{{z{yyzzzz{zzzz{|{z{zy{zyzzz{zz{{{{y{zzzyyzz{zz{{{{z{y{z{yzzzzz{zz{{zzyy{z{{{{zzz{{zzzyzy{z{{{{{{{z{zzy{zzz{{{{{{{z{zzyzzy{{{zz{{|yzzz{zzzz{{z{|{|zz{z{{zz|{{{{z{|zzz{zzzz{{||z{{{zzzz{zzz{{{z{{|{{z{{{z{z|z{|{{{{{zz{{{zzy{{{}{|{{zz{|{{y{{{{{||{{zzzz{{z{|z{{{{||{{z{{zz{{{|{||{zzzz{{{{{|{|{{{||zz{|{z{{{{}{{{{|{z{{z{z|{{{{|||z{z{{{z{{|{z{{|}|z{{{|z{{{||{{|||{|{{{|{||{|{|{|{zz{z|{{|{{{|{{|{{z{{|z{{z{|z||{{{|z{z{zz{z|{{|{{{{{{zz{z{{|{|}{{y{zzy{{||||{|{{z{z{zz{yz|{zzz{{{{zzzy{z{z{z{{||z{{{z{{z{{z{z{{{{zzzzyyz{{{{z|z{{{zzz{zyz{{z{|{{zz{zzzzy{{|z{{{{{{z{yz{z{z{y{|z{z{yzzzzzzzz{{{{{{yzz{zy{{{{zz|{{zzzyzzzz{{{{z{{{{{{{zzzzz{{|{{{{yzzzzyzy{{z{z{|{{z{{zz{y{z{z{|z{zzzz{{z{{zz{{|{{{{zzzz{{|{{{|{{{{yzzzzzzz{{{z|{z{{{{zz{z{{{|{{|{{z{{{z{{z{{{z{|{{|{zz{z{{{|{{{|{|{{{{{z{{{{{{{{{{{{{zzz{{{{{{}{{{||z{z{{|||||||{{z|{z{zz{|}|{{{z|{zz|{{z|}|{}|}{{|z{z{{{{||{||||{{{|{z|{{}{|||||{z|{{{{z{|{{{|||{zz{{{{|{||{|}||{z{{{{{||||||{||{{zz|{|{|{{{{{||{zz{{{{z{{|{{||{|{|{{zzz{{{{{{zzz{zyzzzzz{{z{{{{z{zyzy{{z{{{zzz{|{zzyzzzz{{{{{{{{zz{zxz{{{{{z{{z{zzyzzzy{{{zz{z|zzz{zyzy{{{z{{{zz{zzyzyzzz|{zz{zz{zyyzzz{z{{{zz|zyyzzyy{{zyz{z{z{yzyzzyzzz|zz{{{zzzzyyzz{{{zzz||yzzzzyzy{{zz{{z{{zzyzzzz{{{zz|z{zyzzz{zzzz{|{z|z{z{zzy{zzz{{{|zz{zzzyz{z{zz{{|z{zzzz{{zz{{{zz{||{z{zzyz{z||{{{zz{{{{{z{y{{{{{{|z{{z{z|z{{{|{{{{{{{{{z{z{z{|||{{zzz{{{{|z{{{|{{|||{{{{{zzz|{{{{{{|z{{z{|z}}|{|{{|{{zz||{z{{|{{|{{|z{{{{||z}{|||||{{{{y{z{|{{{{|}|{{{{{z{{z||{{|||{{{{{{{{{{{|{||{{{{{zz{z{{{|z{{{|{z{zz{z{{{{|{{|{{{z{z{z{z{{|{z{{zzzzzyzz{{|{{{{zzzzzz|yz{{{{|{}{z{z{{{z{z{z{{{zzyzzy{zzyzz|{{||{{zyxzzyzz{{{{{{zyzzzz{zz{{zz{{{zzzzz{{zzy{{zz|{z{zzyzz{zzz{z{{zzzzyzz{z{{z{{{{{{zzzy{yyz{{{{{{{z{zzzyzzz|zzzz{{{z{yyzzz{{zyz{{{zzyzzz{yzzz{z{{{yz{z{zzz{z{z{{{z{zzz{z{{{z{{{{{{{zz{zz{{zz{{z{|{{{zzzzzy{|zzz||{{yzzzz{z{{{{||{|{zzzz{z{{{{||{}{{{{{zzz{|{{{|||{{{zz{{y{{{||{{{|{{{z{{{|{|||{||{{z{{{{{{{{{|||{{{z{{{y{z{{{{{||||{{{|z{{{||{|{{|{{{{||{z{||||{||{{{|z{{|{{{{{}||{zz{{{{z|{||{|{{|zzz|z{|{{||||{{{{{zzz{z|{|{|||||zzzzy{y{|||{{{{{z|yzzzz{z{z{{{{zzyzzzyzzz{zz{{{zyzzzyz{{zz{z|z|zzzzyz{z{|zzz{{{zyz{zzzyz{z{z{{{z{zyy{zy{z{z{{{{{zzzzzzzzyzz{{{z{zyzzzzy{zz{y{z{{yzzyyzzz{z|{z{{yyzzzzzzy{{{zzzzzzzzzzyyy{{z{z{zz{{yzyzzzz{zzz{|z{zzyzzyz{{yyzz{zyz{zzzz{{{zz{z{zyzzzzyzzzz{z{{z{zzzyzzzy|{z{yz{{z{zyz{z{{z{zz{{zyzz{{zz{zzzzz{{zz{{zy{{z{{{{{{{zz{{z{zz{{{zzz{{z{z{z{{{{{{{{{{{zz{z{{zz{{}{{z{{{zz{z{{{|z{|zz|{{zzz{zz{{|{{{{{{{zz{{{z{|{|{{{|{{{|{z{|{||{}{||{{{{{{{{{||z||{{{{z{{z{z{}{||{|}{|{yzzzzz|{|{||{|{{z{{z{{|{{{{{}|zzzzzy{z{{{z{{||{z{z{{zzz||{{{{{yzzy{{zzz{|{zz{z{zzzyz{{z{|z{{{{{zyzzzz{{{|z{{{|z{zzzzzz{z|{z{{{zz{zyyzz{{{|zz{{zzzzxzzy{{z{{{z{{zzzzzzy{{zzz{|z{zzyyyzz{{|z{{{{{{{{yzyz{zzzz{{{xzzy{yzyzz{{zz{zyzyzzzzzzzz{z{{zz{{zzzzyzz{{{z{z{zzyzyzzzzzzz{{{zzzz{zyyzzzz{z{{zz{z{zzzzz{{{{z|{zzzzzzyz{{zz{|z{zzzyzzy{{{{{{{|zzz|zzz{{|{zz{{{{z{{{{|{z{z{{{{z{z{zz{z{{{zz{{|{z{z{zz{z{||{{|{{{zz{{z{{{|{}{|{{{zzz{z{{{{{|{{|{{{{{{zz{{|z{|{|z{z{zz{{{|}|{{}{|{z{{|z{{{|{{|{{{|z||{z|{{|{|||}|{z{{{{zz{{|{|{|{|zz{zzz{z{{{{{{||{{{{zz{{{|{{||{|||{z|{z{|{z|{{||zz{{zzz{{||{z{|{{z{{zzz{{{{{{zz{yzzzzzyyz{z{z{{{{zzzzyyz{z{z{{|{zzzzzzyz{{{{{{{{zzzzyzz{{z{zz{{{{zy{zzz{z{z{{{{zzzyzz{zzyz{{{{zzzzyzzzyz{y{zz{{{zzzzyyyzyy{z{{zzzzyzyzzzzzzy{{zzzzzzzzzzzzz{z{{zzzxzzzzzzz|{{z{yyyyzzzyzzyz{{z|{zyxzyz{{zzzz{{{zz{z{zzyz{{{z{{{{zzzzz{{y{|zz{{{zzz{zz{{zz{z{{{{z{zyzzzz{yz{z{|{{{zzzy{zz{{{{{{{{zzz{{yyy{{{{z|{{zz{zz{z{{{z{|z{{zzz{{{z|{{|{|{|{{zz{z{z|{{||{||{{z{z{{z{{|{{{{|{z{{zz{{{||{||||{{{{z{{z{{{{{{{}{zzz{{z{|||}{}|{{|{||z{{{{{{{|{|{{zzz{zz|{|z{|{||{|||{z{||{{||z|{{{{{{{zz{{{{|||z||zz{zz{{{z{{{|z{{{z{yz{{z{||{{zzyzyyzzz{{{z{{{y{{yzyzyzz{|{{{{zzyyzzz{z{{{{{|z{zyzzyyzyz{{z{{{zzzyyyzzz{{z{zz{{zzzyzzyz{zz{{{yzzzz{zyyzz{zzy{zz{zyzyzyzz{zzz{z{yzyzyyyz{zz{{{yzzzzzyzz{zzzz{z{{y{yyyyyz{{{{z{zzyyzzzzzzz{z{zz{zzzzzzzyy{{zz{z{yzzzzzzz{z{zz{{zzzz{yzyyz{{zz{|zyzzzz{zzzz{z{{{{yzzzy{yz{{{z|{{{zzzy{zyzzz|{{{{{yz{{{zzz{{|{{{{{{zzzzzz{{{{{{{{|z{{y{yzzz{|{{{|{{zzzz{z{{|z{{{||zzzz{{{y{||{{{|{|zz{{{z{{{{{z|{|{{{zz|z{zz{{{{{{|z{{zz{{{||{{|{z|{{{{z{{|{{{{||{{zzzz{{zz{{{{|{|z{|z{z{z{|{zz|{{{{zzz{zz{|{{{{||{zzy{yzzz|{{{|{{{{{{zy{yzzz{{{{{{zzz{y{zyz{z{{{{zz{zz{yzz{{{{{|z{zzzzzyz{zz{{{{{{yzyzzy{zz{{zzz{zzz{z{{z{{{{{zz{zzzzzzzz{{|{z{{{{zzz{yyyzz{{{{{zy{z{zzzz{z{{{{z{yzzyzzzzz|z{z{{zz{{{yzzz{{zz{{{{zzz{yyzyzz{z{{{{z{zzzyzzzz{yzzz{{zz{zzzzzzz{{|{{{zzyz{zzz|{zz{{{{{z{z{zzz{zz{z||{zzzzz{{{z{{z{||{zz{yz{zz{|{{{{{{{{z{zz{z{{|{z{{{z||{zy{{z||{||{{zyzz{{{{|{|{{{|{zz{{zz{{{|||||{yzzz{{{y{|||{{||{{z{{z{{|{{{{z||{z{{{{z{{|{||{||{{{{z{{{|z|{|{|{|{{|z|z{{||||||{|y||z{{z{{|{|{}{|z{z{{{z|{{{{|{}{{{{||z|{|{|{{||{{zzz{{{{{{|{{|{|{{{zzzz{{{{{||{z{{y{zz{z|z{{{{z{zzz{y{yz{{{{|{{zzzzzzzzzz{z{{|{{zzy{zyz{{{{{|{{{zzzzzzyz{{{{{{{zyzzzz{yzz{z{{{{z{{yyzzzy{z{{{|{z{{zzzyzz{|{|{zzzyzyzzyz{{y{|{{{zzzzzzzzzz{zz{{z{z{{zzyzzz{{{{{{{z{zzz{z{{{z{z|{{zy{zyzzz{{{{{{zz{zzzz{z{{{{{{{{zz{zzzyyz|{{zz|{zz{zzz{{z{|{{{{|z{z{{{{z{{{|{{|{{z{z{{{{{|{{|{|z{z|{{z{zz{{{{|{{{{z{z{z{{{{{{||{|zzzzzz{{|{{{{||{{zz}z{{{z{|||}{z{|{{{{{{{{||||{z{{{{yz{||||{{|{{{|{{|{z||{{|{}|{zz{{|{{{{{z|}{||{{{{{{{z|||||||{z{{z{{{z{{|||{{|{{{{{z{{||z||||{{{{{z{|{{{||{{||{{{{{{{{|{{{{|{{{{z{z{{z{}|z{|{|{z{yzzz{{|{|z{{zyzz{zz{{{{{{{z{{z{zzz{yzz{zz{{{{{z{{{zz{{{|zz|z{yz{yzzy{{|{z{{z{z{yzzzzyz{{{{z|{zzzzzyzz{{{zzzzzyyzzzyyzz{z{zz{zzz{zzzzzz{{{{z{yzzzyzyzz{|{z|{z{yzzzzzz{z{zz{z{{z{zzyz{{zz{zz{{yyzzzzzzz{zzz{{{zzzz{yzzz{y{{zzz{zyyzzy{{z{z{z{{{yzzzz{yzz{z{{z|zxzzzzzzzz{z{{z|{zzz{{{y{{z{{z|{{{zz{zzzz{{|{{{z|{y{z{zz{|{{z{z{|zz{yz{{{{|{{{{zz{zz{{z{{{|||{{z{{{{{{{{{}{|z{|{zzz|y|z{{{{{{{{{{{zz{{yz{{{{{{||{|{{zz{{{|{|z{|{|z{{{{|{{|{|{|}|{{||zzzz|{{|{{|{{zzz{{{{{{{{{{|{{{{{{zz{{{{z||{|zz|{{{zzz{{||{{z{|{{zzzzz{z{{|{|{z{yzzyz|z{z{|zz{z{zzy{yz|{{{{{{zzzzz{zzz{{z{{{z{{zzzz{{zzzz|{{{{zzzz{{zy{{{z|{{{zzyzy{zyz{{y{{{{y{y{{zzz{zz{{{{zzzz{{zz|{{zz{{zzzzzzyzy{{z{zzz{zzzyzzzyz{zzy{zy{zz{yzyzyz{zz{{{zyzzy{zyzzzzz{{|zyyyyzyyyz{zz{z{|zzyzz{zz{{{{|{zz{z{z{z{zz{z{|{z{z{yzyzzzz{zz{|{{zzzzz{zz{{{|{{{yz{zyzzz{zz|{|z{z{{z{yzzz|{{z{z{zzz{zz{z{z{{{{{{zz{{z{yz{{{z{{{zz{zzy|{z{{|{{{|{zz{z{{z{{|{z|{|{{{zzz{y{{{|{{{{{|y{{{{z|||{{{{||{z{{{{|{|{{|||{||{{{z{{{||{{{|{{|{|{{zz{{|{|{|{{{z{z{z{{|{{{{z{{|zz{{{z{z{{||{{{|{z{{{zzz{{{{{|{{z{{z{zzz{|||{{{{z{zzzzy|{z{{zzz{z{zzyzyz{{|z{|zzzyzzzzzzz{{z{{|zzyyzz{x{{{{{|{{y{zzyzyzzzz|z{{|zzzzyzzyzzz{zz{{yzz{zzzy|{{yz{{{{z{{zzyyzzz{zz{|{z{yz{z{zz{{z{|zzzzyyzzyzz{{z{z{zyzyyzz{{z{z{{z{z{z{zzzzz{{zzz{{{{yzz{zzz{zyzz{{zzzyzyz{z{z{{{{{z{zz|zyz{{{{{z{{{yzyzyzzz{zzz{{{{yzz{zzz{{z{{{{{zz{{zzzz{|{{{{|{{{zzzzzz{z{z|||{{{{{{{zz{{{{{{z{{zz|zzz{{{{{z|zzz|{z{zzzz{{|||{{z{{{zzz{{}{z{|{|{{{{zzzz{z{||{|{{{zz{{{{|{{|{||{|zzz{{|z{{{{{z|{{{{{z{z{{|||||||{|{|zz{z{|z|{{|}{z{zzz{{|{{{{{{|{{{{|{{{{{{{|||{|zzz{zzz{|{z{{|{{{{{zzzy{|{{{||{zz{{zyzzz{{z{|y{zz{zzzzyz{z{{{z{{{zzzzzy{z{{{{{zz{zyz{zzzz{z{{{{{zzz{yy{{{|{zz|{zzzzzyzz{{{{z|z{z{zzyzzyz{zz{{z{{zzzzyyz{{zz{{{{z{yzz{yzz{y{{zzzzzzzzyzz{{z{|{zzzyyzy{zzzz{|zzz{zzzzzzzyz{zzzzz{zzz{{zzy{{zz{{{z{zyzzyzzz{z{{{|{zzyzzzzyz{z{{{{{zz{zz{zz{{{z{{{{{y{zyz{z{{{{z{{{zzzz{{{zzz|{{{|{zzz{zzyzz{{|z{|{zzz{{{z{{{{{{{{{{{{{zzzz|{{{{{{{zz{{{{{{|{{|{|{|{{{z{{{z{{{|||{{{z{{{{z{||{|{{{z{z{{{{{z||{{{|}{{z|z{|{|{|{|||||{{{{{|z{z}{||||{|zz{z{z{{{|{||{}{zzz{zz{|{{{|{||{{{z{zz|{{{{{|{{{{{z{zz{{{{{{|||{{zzzy{z{|{|{{{|z{zzzzzzzz{{{|{{zzzz{zzz{zzz{{{{{zzzzyyzz{{z{{zz{zzzzz{y{yz{{{{zz{zz{zzyz{z{z{zz{zzyzz{zz{{z{zz{zzzzzzzyz{{z{{{{{zzzzz{z{z{zz{{zz{zzyzzzz|zzz|z{zzyzyy{zy{{zzz|zzyyzzzzz{{{zz{|{z{zyxz{z{{{{{{{{{zyzzzzyz{zzz{{{zzz{{yzzzzzz{{{{yzzzyzzyz|{{{{{|{zy{{zzz{z|{{z{{zzzz{{{zz|{{{{{|{{{{zzzz{||z{{{{{zzzzzzzz{{{{{{{z{{{{{{{{z{{{{|{{zz{|{zz{|{{|{{z{z|{{{{{zz{{{{{|z{{z{{{zz{{{{|z{{|z{|zz{{{|{|{|{||{{{zz{||z|{{||{{{{{{||{{{{{|||{{z|{{z{{||{|||||{{{{z{{|||{z{|||{{{{zz{{{|{|||||{{{{{{z{|z{{{|||z{{{{{{{z{{z{||{zz{z{zz{z{zz{|z{z{zz{zz{{zz{{{{{y{zyyzzzzz|zzz{zz{yzzzy{{{zz{z{{zzzyzzz{zzzzz{{z{z{{zyz{{{{zzz|{{zyzz{yz{zzz{{|zzzyzzyzzzzzz{|{zzyzzzyz{z{zz{zzzyzyy{yzyzz{z{z{{zyzyyzz|{{{{z{{zzzzyzzz{{{z{z{{zzzzzyzyzz{{zz{zzzzz{zzyz{z{z{zzy{zyzzyzzzz{{{z{zzyyz{yz{z{{{zz{{yzzzzzz{z{{z{{{{z{zyzzzz|zz{{{{zz{zyzzz{{{{zz{|{{zz{y{zz{{{{|z{{{{y{zz{{{z{zz|{{{zz{yzy{|{{z{{z{zzy{{{zz{{|z{{{{z|{{z{{|{{|{|{}|{zzz{y{{{{|{{||{{zz{{{{{}||||{||z{{{{{{z|{|{|||{{z{z{zz{||{|{|{{z{||z{z{{|{||{|{{z{{{z{{{{{||||{{{z|zzz|||||{{|{{{z{zz{zz|{|{|{|{{z{{zz{{{|{z{{{{zz{yzzzz|z{z{{zzyzzy{zy{|z{{{{zz{{zzzz{{zz{{{{{{zz{zyy{{z{{|||zyxzz{yy{{z{z{{|zzzzzz{z{{{|z{z{zzzy{zyz{z{{zzz{{yyzyzyz{{z{z{zyzzzyz{xzzzz{{{z{zyzzzzyyz{zzz{{zzyzyzzyz{{{zzz{zzyzzyy{z{zzzzz{zzzyzzyzyzzz{z{z{{zzyzzz{zzzz{|{zzzzyz{zzz{{zzz||zzzzzz{z{{{{{z{{{{{z{yz{z{{{z|z|{zzzzzzz{{{{{{{{{{yzzy{zz{z{{{{z{zzzzyzz{{{{{{||{y{zzz{{{{z{z{{{z{zz{zz{||{||||{zz{{|z|z{{|z{{||z{{{zz{z{{{{{|{|{z{{{{z{{|{|||{|{z{zz{z{{{{z{||{{{{zz{{|z||||{{{z{{{z|zz|{|{{|{{|zz{{zz|{{{{|{{{{{{zz{z{{{{|{|{{z{zzzzz{z|{z{{{|z{{{z{{z||z|z{||zz{z{yzy{{{z{{zzzzzzzz{y{{{{{{z{zzzzzzzyzy{{{{{{{z{y{z{yzzzzz|z{{zyzzzzzz{z{z{{|{yzyyz{yzzz{{{zzzzzzzzzz{{z{z{zzzzyyzzyz{z{zy{zz{zz{zzyzy{zyzzz{zzyy{zzyzzy{z||zyzzzyzyzz{zz{{zzzzz{y{yyzzzz{z{z{zzzyzzy{z{z{{{zzzzzzzzzz{{{{z{zzz|zzzzz{{{z{{z{|yyzzzzz{z{zz{{|zzzzzy{z{z{zzz{zzzzyzzzy{{z{{{{{{z{zzyz{z{{z{|{|{zyzzzzz{|{z{{|zz{{{zzz{{{{z{z{{{z{z{zz{z|{|{{{|z{{{{z{z{z{{{{}{zzz{{zzz{{|{{{|||{{{{{{{{{}{{||{z{{zz{{z{{|{{{|{{z{{z{{{{~{||{||{y|{z{{{{{|{{|{||yzzz{{{{{|{||{||{z{{{z{{{|{{{{}{{zz{z{z||{z{|{{{{{{z{{zz|{{z{|{{{{zzyzz{{{{|{z{zyyyzzzy{{{zz{{{zzzyzzyyzyz{{{|{z{{yyzzz{y{z{{{{zzzzzyy{zz{{zz{|zzzzyzzyzz|zz{zzyyzzzyzxz{{zz{{{yzzzzyxz{{{z|zz{{zzzyyyzzzzzzzz{zyzyyzyyzz{zzz{zyzzzy{yzyzzzz|z{{zzyyyyyz{{{z{{{zzzzzzyyzzzy{{z{{{zy{zzy{z{{{{|z{yzzzz{yz{{z{{zzz{yy{zyy{zzz{{z{zz{zz{zz{{z{{zz|{zz{zzzzz{{z{|{{z{zy{z{zz{z{{{{{{{zzz{zy{z{{{{{{{{{{zzzz{|{{z|{{{{{{z{zz{{|{{{z{zzzz{||{{zz|||||{z{zz{zz|{{{{{{{{z{{zz{z{|{{{{||zz{{{{{|z{{{{{|{{zzzz{z{{{{{|{|{{{|{{zzz||{{{||}{z{|{{z{{z{{||{}{z{{{zzz{|{{{{{{{{{{zz{|{{z{{||{{zzz{z{zz{{|z{{{zz{yzzzzz{{z{{y{zzzyzzzyzz{{{{{{{z{yzzzzz{{{z{{zzzzyzzz{{z{z{{{zzzzzzz{z{{{{z{{{zzzyyyzzz{z{{{z{zzzyyzyyz|{{z{z{{y{zzzyyzz{z{{zz{{{zzzz{z{z{zz{zyzzzzyz{{{{zzzzzzzzzzzz{{z{{{z|{zz{zzz{y{{{{{{{|{zyzzzzzz{{z{{zyzzyzzyzy{{{zz{z{{{{zyzz{z{{z{{{{{{zz{z{{zz{z{{{|zzzzzzzz{{|z{{{{z|z{zzzzz{{{{z|{{{zzzy{yz{|{|{z{zz{z{zyz{{|{z{|{|yyzz{zz{|{{{||{{||{|{zzz{{||z|{z{{{|{{{||{{||||{{{{z{{z{|||{{|{|{zz|{||{|{{|||||{{zz{{{{{|{{||||zz{{{{z||||{|{|||||{{{{{{{|{||||{zzz{zz|{{{{{{|{z{{{{zz{|||{|{|{{{zz{{|z{||{{{{{|{{{{zz{{{|{{{z{{{{zz{zz{{|{{z{z{yz{zyyzzz{{{{{|zzzzyyz{{{{z{{{z{zzz{zzzzz{{{{{{y{zyzzxzz{z{z|{{{z{yzyyzz{|{{{{zzzzzzzz{{zyz{{{{zzz{z{{{yzz{z{zzz{zzzzyzyzzzyz|zzyzzyzz{z{zzz{zzzzyzzyz{{zzz{z{zz{zyyzy{{{{z{z{|yzz|yzyzzzzzz|{{y{yzzyy{{yz{{y{{z{zz{{y{{{{{{{z{{zzzz{z{y{{z{{{{{z{zzzzzz|z{|{|z{zzzz{z{{{z{{{{zz{zzyy{z{{{z{z{{z{z|zzz{{{{{|{{{zzzzz{z{|{{z{{{{{zzzzy{{{{|{|{{z||z{{{z{{|||{|{{zz{{zyz{||{{{{{|{zz{{zz{{{{{{||{z{z{{|{{{{{{{||{{y{{z{z|||{{|{z|z{z{{{z{{|{{||{{{z{{zz{{{|{{{{|{{z{|y{{{{{||}{|{{{z|z|z{{}{z{{{|{{{zy{{z|z{{{{z{z{zyz{z{{}zz{{{zzzzz{zzz{{z{{z{{{zzzzyzzz{{z{{{zzzyzzzzyz{{|z{|zz{zzzzz{z{|z{{{{zzzzzzz{{|zz{{{{yzz{zzzz{{{z{{|zz{zyz{yz{zzz{z|zyzzzzzyzy{{zz{{zzzzzyyzzzz{z{{{zy{zz{z{zzzz{{{{zzzzyzyzz{{{zz{|{zyzzyzx{zz{{{{{zzzz{zzz{zz{{|{{z{{|z{{y{{{{{z{{zzzzzz{{z|{{z{{{zz{zzy{z{{z{|{z{{zzzy{zzzz||{||z{z{z{y{{{|{{{{|z{z{{zzzzz{{{{z{{z{|{{{z{{{|y{|{{{z{zz{z|z{|z{{||{{{z{z{{{{||z{||{{{{zzz{{||{{{||{z{{{{|{|{|{|}}{{{{z{z{}{z|{||}{{{{|{{{||{{|{|}|{z{{{z{{{{{|zz|{{z{{z{z|{||{{|}{{{z{{{z{|{||{{||{z{zzz|z|{{{|||{{{{{{{{yz{{||{{z{z{zz{{z{|{|z{zzy{yyzx{yzzz{zz{{zzzzz{yzzzz{{|{zz{zyzyzy{zzz{{{{{zz{{zyzz{{{z{zzz{zzzyzzyz{{zz{|z{{y{zzzz{{z{{{{zzzzyzy{zyz{z{{zzzzzyyzz{zzzz{y{zyzyzyyzzzzzz{{zzzzzyzyzz{{zz{z{zyzyyz{yz{z{{{|zzzzz{z{z|zyz{{{zzz{yzyzyyz{{{{{{{z{yz{zzz{y|zz{{{zzzzz{z{{{z{zz{{zzz{yzz{{{{{|{{{zzzzzy{zz{{z|{zzz{{z{zzz{z{{{|z{z{z{{zy{{{{{z{{{zz{zzzzz|{|zz|z{z{z|{zz{|{{{|z|{{|{zz{{{{{{{{||{zz{zy{zz{{z{z|{|y|{|{{{{{{{{|{|{{|z{{|z{|||||||{|{zz{{{z}{|{|{{{z{{z{z{||{|{|{||z{{z{z{{{|{{|{|{{{{{{{{|{{||{|}|z{zzz{{z{{|z{{{|{{{zz{{{|{{z{|{z{zzzzzz{{{z{|zz{zzz{zy{{{{{zzzz{zzzzzz{zz{{z{zz{zzz{yyzz{zz{{{z{yyzzzyy{{zzzz|{zzzzyzzzz{z{{z{{{zzzzz{zz{zzzz{yzyz{zyyyz{{yzzzyzzy{{zyzzzzy{z{|zzzyzzyz{zz{yz{yyyzzzzzzz{{{{zz{zz{zz{zz{zzzzz{{{zzzzzzyyz{zz{z{zz{zyzzyz{yz{{{zz{z{zzzz{zzzz{|{zyzzzz|z{{{{{{{{zzzzzy{z{{{{z{{{z{zyzzzyz|{{z{{{zzz|{yz{{{{{{zz{{zzy{zyz{{{{z{|{{{{{z{zz{{z{{{|{{zz{{{z{|||}{||{z{{zz{{zz||{|}|{zz{{{z{{{{|{{|||{z{{{{{z{||||}||{{{{{|{|{{{||||||{{zz{{{{|||{||{{{|{{{{z{{{|{|{|{zz{{|{z{{{|{|||{zzzz{{|{z|{|{{|{{{zzz{z{|z{{{{|{zzzzz{z{{{{{{{|{{zy{zzz{z{{z{{z{yzzzzyzz{y{{{{{{{zzzyzx{{{z|{{{zzyyzzzz{{{z{z{{zzzzzzyzyz{z{{zz{z{yzyzz{{{zzzz{yzzzyyz{z|{zy|{zzzzyzyyzz{{{y{{zzz{zyzyy{zz{z{{zzyyy{yyzz{{z{z{{zzzzzzyzz{z{z{{{{z{zzzyzz{{{z{{{zzzy{yzyzz{zz{{{{{zzzzzzyy{zz{{|yzzzzzz{z{z{z{|zzzzzzz{yzz{z{{{{zzzy{y{z{{z{z{{|zzzzy{zz{{{{{{|{{zzzzzzy{z{{|{{z{y{{zzzzz{|{zz|{zy{{zzz{z{|{{{{zzz{{{{{{|z{{{{|{z{z{z{{{{|{|{{||{z{{zzzz|||{||}{{{zz|z{z{}{|||||z{{{{|zzz{{{||{{|{|{{{zzz{z{|{||{|{z{{zy||{||{{{{{zz|{z{{{|{{{||{z{{{{z{||{|{|||{{zz{{{y{{z{{{{{z{{yy{{zz{z{{{{{|y{{yzzzzz||z{z{zyyzyzzzy{|zzz{z{zzzzyzz{{z{z{z{zz{yzyyyzz{{{{{{zy{zzzyzzzy{z{{{{zyzyz{yzzzzz|{{zzyyzzzzzzz|{{zz{z{zzyy{zzzzzzyzzz{yzzzz{y{zz{zzyzzyzyzzzz{zy{{z{zzzz{zzzz{{zz{zz{yzyzzz{{{{{{zzzzzyzzzzz{yzz{{zyzzyyyzyyzz{zzzzzyzzz{yzz{z{{{{|zyzzzyzy{z|{z{{|{y{zzy{z{{zz{{z{z{zzy{zzz{{{{{{{{z{z{yzy{{{z{{{{z{z{|{zz{{{{{z|z{yz{{{zzz{|{{|{z{z{y{{zz|zz|||z{{z{{{{{z{{z||{{{{zzzzzz{{{z||z|z{zzz{zz{{|{{{{{|{z{{z{{z{{{||{|{{z{zz{{{{{z{||||{z{{z{zz{{||{{{|{z{{{{zzz|z{{{|{|z{{{zz{||||z|z|{{y{{zyz{|{{{{||zzzzzy{zz{{{z{{{{{{zzzzz|z{{{{{{zzzyzyyy{yz{{{{{zzzzzyzyzzzzzzy{zzxzzzzz{zzzzzzzzzzyzyzz{z{zz{zzzzzzyyyyzzyz{{z{zy{zzy{zy{{z{z{zyzz{yzzyzz{zzz{{zzzz{zzz{yzzzzz{{xzzzxyzz{zzzzzz{zzzzzyyzz{zzyz{zz{yyzyzy{zzz|{{zzzzzyzyyzzzyzz|zyzyzyyyxz{zzzz{yyzz{zzzzz{z{z{z{yzzzzyzzz{{zz{{{zzzzzzz|{{{z{z{z{zyz{{zz{{z{{{{{zzzzyzzy{|{{{{{{{zzzzzy{{{{zz{{{zzzzzz{|{{{{|{|z{zzzz{{|{||z|{{{z{zz{|{{|{{{||}{z{z{z{z{{{{z{{{|z{{zzz{{{{{|{||{z{{{{{{{{{{{{{||{yzzz{{|{{|z{{}{{z{zz{z{{zz{|{{|{zz{z{z{z{{{|{{{z{{{{z{{{|{|{{|{zz{z{zz{{{{{||{z{z|yzz{z{{{{{|zz{{zzzzyz{{z{{z{zyzzyxyyzz{zx{z|zz{yyzzy{z{z{zz{{zzzzyyyzzzzz{{{z{zzzzyzz{{{zz{|zzzzzzyyzz||z{{{zyzzyzzzz|{{y|{y{zz{zyyyzz{zzz{zzyzzyzyzzzy{zz{zyzz{zzyzzz{zz{{zyzzzyzyzzy{{{{z{zyyyzzzzyzzzz{{{zzyzzyy{z{z{zzz{zz{{zzyyy{z{{{{{yyzyzzzzyz{{y{{{zzzzz{yzz|{zzzz{zz{{zx{zz{{{{|{{zz{zyz{y{|zy{z{{z{zzzzzz{zzz{|{{{zzzzzy{z{{{{{{|z{zzz{zz{|{zz{z{{yzz{{zz{{{{{|{{{{z{{|z{||{{z|{{{{{{{{{z{{{{{{{{|{zz{z{{{||{|{|{z{zz{||}{{|{{{{{|{z{{zzz{|{||{{|{zy|z|z{{{{|{||z|{z||{{{z{{{{|{|{zzzzzz{|{{{z|{{|zz{z{z{z{{|{{{|{zzzzzzy{{{|{|{|{zzzzzzz{{{{z{z{{{yyzyyzz{{zz{z{zzzzzzyzz{zz{{z|{{zzzyzzz{{{z{{{{z{zzzzzzz{z{zz{{zyyyz{z|z{z{{{{zyzzyy{zzz{|yzzz{z{zzz{zzz{z{|{{{y{zzzzzzzz{{{{{zzzzzyzzy{{|{{{{zz{zzzz{z{zz{{|{z{{yy{zzzz{zz{{z{zzzzzzz{{{{z{{{{zzzzzzzz{{y{|z|zzzyzzzz{{zzzz{{zzzzzzzzzz{z{|{|{{zzzzzz{z{|{{{zzzzzy{{z{{{{{{z|zzz{zzzz{{z{{|{{zzzx{{z{{{|{z{{{{zz{y{zzz{{{{{{{|{{y{{|z{{{{{{{|{|z{|{{{{|{||{{|{{z{z{z||{{|{||{{y{zz{{{||{{|{{||{{{{{{{|{{{|{|{|z{z{{{{||||{|{{{z|{z{{{{|{||||{{}{{z{z{{{{{{{||{{{{{z{{||{{{|{|{{{z{z{z{{{|{|{{{{{z{z{{{{{|{{{{{zzyzzzzzz{{{{{zzzz{zy{zz{zz{z{{zzyzzyz{{zzz{{{{{zzzzzzzzzzzzz}{zzzzzzyzz{{{z{{{{zzzyzyz{{z{{yz{zyyzyzzzz{{zz{{{{zzzyzzzzzz{z{{{zzzyzzyzzzzzz{{{zzyzyyzyzzz{{{zz{zyzzzyyzzzz|z{zzy{zzzxyzzz{{zz{zzz{zzzzyzzz{{zzz{{zzzyzzzz{z{{zzzzzz{zyzz{{z{{{z{zyzyzzz{{{z{{zzzzzyzzz{{z{{z{{z{z{{zyzz{{z{{|{z{{{{zz{{{|{{|{z{{zzz{{{zz{{z{{zzzz{zz{{|{{{{|{{{z{z{zzz|{||{{{{{{{z|{zz{zz}{|z{{{{{|{zz{|||{{{|{{z{{{zz|}z||{||{zz{{{{{{{{{||{}}|z{z{{{{||{{{|{|{z|zz{{{{{{{||{{z{{zzzz|{{|||{|{{{{{zzz||{|||{|z{{y|{z{z||{{|||{{z{zy{z{{{{{|{{z|zzzzzz{{{{zy{yz{zxyzyzzzzz{z{zzzzzzyyyzzy{{|z{yyzzzyzy{zzzzzz{{zzyyzzzzzz{zzz{zzzyyzzy{{z{{zz{zzzyzyzyzzzzz{{zzzzyyyyyzz{yyzzzzyzyzzyyzzzyzz{zyyzyyyyzyzz{z{zzyzzyzyx{z{z{{z{z{y{yzzy{zz{{zz{{zyyzyzyyz{{yz{{zzyyy{yzyzzzzz{z{zz{zzz{yz{zyzzz{zyzzzzzy{z{zz{y{zyzyyzyzzz{{zz{{z{zyzyzzzz{{zz{{zzzy{|{z{z{zzz{zzz{zzzzzz{z|{{|z{z{zzzzz{{yz{{{{{yzzz{zz{{{{{||zzzzzzzzz|{zz|{{|zzz{{z{zz|{{{{{z{{zzzz{z{{|{{|{{zzz{y{z{{{{z{|{|{zzzz{zz{|||{{|||{z|{zzz{{|{||z|{yzyz{z{{{{{{{{{{{{{{zzz{zzzz{|z{zzyzz{z{{z|{{{{z{{zzz{zz{{zz{z{zz{yzy{z{z{zzzz{zzzyzyyyz{zzzzz{zzzzyyzz{zyzz{zyzzzyzyyzzzzyzzzz{y{zzyzzz{{{yz{z{zzyyyyy{zzzzyzzzy{yzyzzy{zyzz|zyyyyyyyzyzyyyzzzyyyyxzyyyzz{{{{{yxyyzyzyyzzyyz{zzyzzzzxxzyzz{zzzzzzzyzyzy{zyzzzzyzzzyzzyzyzy{zyzzyzyy{zxzzz{z{zzyyyyzzzzzzz{zy{{zzzyzyyzz{zz{z{{{zy{yzzyz{zzz{z{yzzyyyyyz{zyy{{{zyzzyzzzyzzz{z{zzyzzyzyzz{{{zz{{zzyzzzzzz{{zy|{{zzzyzzzzzzz{|{{zzz{zzyzzz{y{zz{{zzzzzyzzz{{{z{{{zzyzzz{z{{|{{{{{z{z{zzz{{z{{{{{|{y{{{{zz{{z{|||{z{{zzz{y{{{{{|{{{zzz{zzz{{z{|{{{{{zz{zzzz{zz|{z{zzzzzz{z{{z{{z|{{zy{xz{zzz{{{{{{zy{yzzzzzzzz{y{{{yyzzyzyzy{{z{{{{zyyyyyyzzz{{{{{zzyyzzzyzzzyy{{zzzzzzyyzzzz{yzz{zyzyzyyyzzzyyzzzzzzzyyxyy{zzzzy{zy{zyyyyzzzyz{zzzyzyyzzyyyz{zz{zzzy{yxzxzyz{{z{yzzzyy{yzyz{z{yyy{zyzzzyzzz{z{{z{yyzzzzyyzz{yzzz{{yzxzyzyz{z{y{{{yzzzzyyyzz{zz{zz{zzzzyzzzy{z{{{{yz{zzy{z{zzz{{zzzzzzzzyyz{{{{{z{{yzzzyzyzzzz{{{zyzyzyyzz{z{z{zzz{{zyz{zyzz{zz{z{zzzz{{{y{{{|z|{{zzzzzz{z{{zz{|zzzzzyzzzz|{|{{zzz{zz{|z{{{|{z|{{{yzz{z{{{zzz{z{{z{zzzzz{zz|z{{{|{{{z{zzz{}{{{{{{{{zz{{z{{|z{|{{{{{zy{zzz{z|z||{{{{z{{{zzzz|z{{z}{{zzzzzzzzzz|{zz{z{{zyzz{zzz{zz{z{yzyzyyxzzzzz{{{yzyzyyyyzyz{z{z{yzzz{zzzzz{{{y{zzzzyy{zz{yzzzz{zzzzyyzyyzzzzzz{zyyzzyzzyz{zyzzzzzzzyzyzz{z{yzzzzyyzzyzzzzyz{zzzzzyzyz{zyz{zz{{zyzzyzzzyyy{z{zzzzzyzzxzyyy{zzyzz|{xzyyyzyzzyzy{yzzzyzyyzyy{{z{zzxyz{zyzyyzzyzz{zyzzzyzyzzzz{zzzz{zzzzxzzzyzzz{{{{zzzyzzyyzzz{{{{z{yz{|yyzz{{z{zz{z{zzzzzz{z{{{z{zzyzzy{z{{|{zz{{{zzzzzzz{{{z{z{z{z{{yzzyzz{{|{{{|{{z|{{zz|{{z{{|z{z{{|{z{{|{zz{z{z{z{zzzz{{{{{{{|{z{zzzzzz{zz|{{|zz{|{zz{{{{|{z{{zyzz{z{z{zz|{{|{{{zz{{z{{|{{{z|zy{{yzzzzz{|{{z{{z{zzzzzzz{{{z{{|zyzzzzzz{z{z{y{zzzzzyzyzy{{y{{z{zzyyyzy{yz{{zz{zzzyyzzzzz{z{z{zzzzyzzzyyyz{{zz{{yyyyyyzyzzzzz{zzzzyyzyyyzzyzz{{zyzyzyzxyz{{zzzzy{{zzzzyzz{z{zzy{yzzxyyyzyzzzzzzzzzzyxzzzzzyzzz{zzzzzzyyyzzyzz{z{zyzzzyzxzzzyzzzzzyzzzyzyzzzzzzzzzzzyz{yzzzz{z{{{zy{zzyz{yzzyzzz{zz{zzyzzz{{{yz{zzzz{y{{zz{{z{{{zzzzzzzyyzzz{{{{{zz{yzzzxz{zz{{{zzyzz{z{y{{{{z{{{zzzz{zyz{|z{{{{{zzzzzz{zz{y{z|||zzzzyzzz{{zz{{{{{yzy{zzzz{{|{}|{zz{{{zzz{{{{z{{{{{{{yzzyz|{{{{|{{z{{{zz{{||{z{{{zzzz{zz{{|{{{{{{zzz{{z{z{|{{{{{|{zzzzzzzz{{z{z{{z{zz{zzzzzzzzz{{zzyzzyyzzzz{{z{{yzzyzyyyzzzzz{z{zzyyyyyy|zzz{y{zzzzzyyz{{zy{|{|zzzzzyzyyzyzz{zz{{{yyyyyyzzz|yzzzyzzyzyyyzzzyzz|yzyzyyyyy{zzz{{zzyzyzyzzzzyzyyzzzyyyyzyzyz{{zz{{|yzzzyzyzzz{zz{{{yyzzzzyzzzz{zzzz{yyzyzyzzzzz{zzz{zzyzyzxz{{zz{{z{zzyzzyz{|zz{z{zzzzz{yzz{{zz{z{{zyzzyyzz{{|{{z{{yz{zzz{{{{{{{{{z{zzz{yzz{{z{z|{zzzzz{zzz{|{z{{{zzyzzzzyy{{{zz{zyzzzz{zzyz{{{{zz{zzzyzz{{{{{{{{{|zzz{zzzzz||z{{{{{zy{{zzzz{{{|{z{{z{{y{z{{zz||{{}{y{z{{{{z|{{z{|{{z{zzzzz{|z{{{|{{yzzy{zz{{{{{|{|{{z{zz{z{{{{|{|{zz{y{yz{{z{|z{||zzzyyzzyzzz{{{{z{z{yzzyzzzzz{zzzzyzyzzyyyz{{zz{{zyyzzzzzzy{{zz{{zyyyyzzz{{zzz{{{zzyzzyzzzzzzzz{zzy{xzxyzzz{{y{{{zyzyyzzxzzzyz{{zzzyy{zzz{zzzz{zzyyyzyzyzyzyzz{{{yxyyyyxyzzz{{{zzyzzzzzy{zzzzz{|zzzzzyzzyzzz{z{zzyyzzzyyzyz{zzzz{zz{zz{zzzzzyy{{zzyz{zyyxyzz{{{{{zzzzzyzzzzzyz{{zyzzzzzz{zzz{zz{{yyzzzyzzyzzz{{{|zzzzzzzzy{z{{{zzy{{z{zzzzz{z{z|{zy{zzzzz{{zz{|{zzz{{z{{z{zz{{{{{{{{{z{yz{|{{z|{|z{z|zzzzz{{{{||{z{zzzzzz|{{{z|{{zz{{{{{z{|{{{||{|z{{z{z{{{{|{||{{z{{y{z{{{{|{{|{{{zzzz{{{{{{{{||{{zzzzz{|{{{zz{|{zzy{{z|{zz{{{{{|zzzzy{{z{z{|z{{zzzzzzyyz{zzzzzyzzyyzyyzyz{z{zz{zzzyyzzzzz{z{z{{{zzz{zzz{zz{{zzzyzyzzyzyyz|y{zz{zzzyyzyy{zzzz{z|{zyyzzyyy{zyzzz{zzyyyyyyzz{yzzzzyyzyyyzzzz{zzy{zyzzzzyzzzzzzzz{yzzyzyzzzyz{{z{{{yyzyzzyy{zz{yzzzzyzy{yyyyzyzzzz{zzzyzxzyz{{{zz{{zyzzz{zy{zzzzz{zzzzyzyyzz{zz{z{zzzzzyzzz{zz{{{|{yzz{zzzzz{z{z{{{zzzzzzz{yz{|zy{{{z{y{zzzz{{{z{{{zzyzzzzz{{zzz{{{{zz{|z{zyzzz{{{{{{zzzzzz{|z{z{{{{zzzyzyy|{z{{{{{{yzzz{zz{{||{z{{{zzzz{z{{z{z{{{{{zzzy{z{{|{||{|{{{{{zz|{z{{{{{{|{{z{z{{z|{{z{{{|{{zyz{{{{y{{{z{{z{zzzz{zz{{z{{{{{zzzzz{y{{{{{z|{{z{y{yzy|z{z{zzyzzzyyyyyyz|zzz{{yyzzzxxz{z{yzzy{yyzyyyxyzzzzz{zzzzzyyzyzyzz{z{zz{zzzxyzzzzyzzzz|yzzzyzzyz{yyyz{yyyzyyzyzzzzzzzzzzyzzyzyyzz{{yz{{yyzyyxzyzzzzzz{{yyyyyzyy{zzzzzyz{yzzzzxyyzz{yzz{zzyyyyyyzzzyz{z{{zyyzzyxzzyzzz{zyzzyyyzz{zy|{{zzyzyzzyzz{zzzzzzzzxyzyy{yz|{zz{z{zzzzzyzxz{zy{{{{yyzyzy{yzz{{{|zzzzz{zzyz{{zzzz{z{zzzy{z{z{z{{{{zyz{y{zzzzz{{z{zzzzz|zzzz{|{z{z|{zzz{y{yy|{z{{{|{{yzz{{yz{{{{{|{{zzzzzzz{{|{|z||z{{yzz{{{z|{z{{{{{z{{z{{{{{{z{{{{{y{{zzzzz|{{{{|}{zzz{{zzz{{{{zz{zzzzzzzzz{{{z{{|{zzzz{zz{{{{zz{{zz{zyyzy{z{{{{zzzyyz{yzyz{{yzz{zz{yyyyyyz{z{z{{{yyyyzzzyzyzzz{z{yyzzzyyyz{zzz{z|zyyzyyyyzz{{zzz{zxyzyzzyzzyzzzzz{yzyzxyyzz{zy|z{zyzzzyyzy{z{yz{{yzyyzyyyyzzzzzzzzz{zzzx{zzzzzyzz{zyzzzyzz{zzzz{zzzzzzyyzz{zz{{y{zzyyyzyzzz{{z{zzzzzy{zyyzzzz|zzzz{yzzzyzzzzzzzz{zyzzyyzz{z{zz{{zzz{{yzz{zzz{{z||{zzzzyzyz{z{z{{zzz{{zzz{{z{{{{|z{{zzzyyy{{z{{|{{zzzz{zz{{{z|{{{{zzzz{zzz{{z{{{{|zzzyzyzyz{z{{{{{{{{zzzzyz{z{|||zzz{y{{{z{{{{{{|{{z{{z{zzz|{{{|{|{z{{z{y{{{{{|{|{{z{zzz{{z{{{{{{{{z{z{zz{{{z{{{|{{z{zyzzzz{{zz||{{{{|z{zzz{{{zz{zzz{yzz{z{{{zzyy{yzyzzyyyyz{zzy{zzyyzxyyyz{yzzzz{zzyyzyyzyzz{{{z{zyzzzyyzyz{{yzz{zzyzxyyzz{z{zz{zyyzzyyyyzyyzy{{zyyzxyyyzzyzzzzzzzzzyyzyyzyzzzz{zyyyzyyyzzzzzyzzzzyyyzyyzzzzzzzy{zzyzzyyzzzzzy{{zzzzzzzzyyzyzyzzyyyyyzxyyyz{zzz{zzzzyy{yyyz{{zy{{zzyy{zyzzzzz{zzyzzzzyzyz{yyz{z{zyyy{yzzzzzzzzz{z{z{zzy{{y{{{{{{zyzzzyzzyz{zzz{{{zz{zzzyz{zzy|z{{{zz{z{z{z{{{{{{{{zyz{zzz|zz{{z{{{z{zz{{zzzz{{{z{{zzz{yzz{{{{{{{{z{zzzz|z{z{zz{|||{{{{zzz{|{{{{|{zy{z{z{{{{{{{|{{zzz{{zz{z{{{|{{{zzzzzzzz{{{{{z{|z{{yzzzy{{z{{z{{zz{zzzzz{z{{z{|{{x{zzzyyzzzzzz{{xyyzyzzy{z{zzz{{zzzyyyzxzzxyzzz{y{yzyyxyzzzzy{|{zzyyyzzyzy{zzzz{zy{yyyzxyz{zzzzzzzzyyzyyzzzzy{zzzyyxzzyyzy{zyzzzyyyyyyyzzyy{zz{{yzzzzyyyzzz{zzzyzzyzxyzyzz{{zz{{zyzyyyyzz{yzzy{{zyzyyyyzyzyzzzzzyyzyyzxyyzzzzz{{{zzyzzyyzzyzz{{zzzzyyyyy{zz{zzz{zzyzzzzzz{z|{{{{zzz{yzyz{{{{z{{zzyzyzyyy{zzz{z{{zyzzzzzz{{{{z{{{{yzzz{yz{|{z{{{zz{{zzzz{{{{{z{{{zz{z{z{zz{z|z{{|zzzzzzyy{{z{{{zz|zz{{zzzzz{{{|{{z{{zzz{{{{{{{z{{z{z{{z{{{||zz{{{{{{{zzzz|{z{{|{{{yzzzyzzz{z|y{{{{zz{zz{z{{{{{z{{z{zzzzzzzz{{z{|{z{zzz{zzy{z{{{{zyyzzzzzzz{zzz{z{zyyyyzzyyzyyz{zzzz{xzxyyyyzy{{zz{zyyyyyxzzzz{zz{zyzyxyzzzy{zzzz{zz{yzzyy{zy{zz{{zzyyzzzz{{zyz{zxzyyyyyzzzzyzyzzzzyyyzzyzyzzzzyzzyyyyzzzyyy{zz{zzz{yzzzyxx{{z{zy{zyzyyyyzy{zzzz{{yzz{zyyzx{yzz{zzzyzzzyzyyzzzzz{{zyzyzyyyzz{zzzzzzzyyyyzzyzzyzzzzzyy{zy{z{zzzz{zzyyzyzzzz{{z{{{zzzzzzzyzz{{y{zzzzyz{z{zzyzzz{{{{yzzyzyzzz{{{z{z{{zz{z{z{y{|{|{|{{zyy{zz{z{{{{z{{zyyyyyzyyz{{{z{{z{zzz{{zz{|{{{{{{{zzz{z{zz{{{{{{{{z{zzyzzz|{z{{{|{z{z{z{zzz{{{{{{zzzyz{{z{z{z{{{{yz{z{{y{z{z{{|{{zzz{zz{z{{{zz{{z|{zzzz{zzz{{{{{zzz{yzyzzzy{zz{y{zzyzyyxyyz{zzz{{yzyyzzyxyzzzy{zzzzyxzxyz{yz{zzz{zyyzyzyzzzz{zyz{z{yzzzyzzyyzy{z{yyyyyzyyz{z{z{zyzxzyzyyyzyzzzzzzzzyyzyxyyyyzy{yzzzyyxzzzzyzzz{zyzyyzxyxz{zzz{zzzzzzyyxyyyzz{zz|yyzzyyzywyzzyyzzzzzzyxyxyyzyzyzzzyzzyyzzyzzz{{z{zzyyxyzyyz{z{zz{{zz{zzxzzzz{zzzzzzx{yyzzyyzzz{{{{zy{{zzzz{{z{{{z{yyzyzzzyzz{z{{{zzzzzzzyyzzyzyy{{zzzyz{zzzzz{{z{{z{zzzz{{{{z{z{{z{zyzzzzzz|{|{{{|{{zz{y{y{|{z{{{{z{zzzzzy{{yz{{{z{zyzzzz{z|{{{{{}{y{zzzzzz{{{{{{{{yzy{yzzzz{z{{{|{zzzzyzzzz|{zz{z{z{zzzyzy{{z{{|{{{{z{zyy{z{{{y|{yzzzyzzyzyzzzzzzzzyyyyyzzzzyyz{zzyyyyyyz{zz{zz{zzzxzzyzyzzy{yzzzzyzzyzzyyyzzyyyzzzzzyxyy{zzyzz{zyyyyzzzyzzzzzzzzyzzzyyzz{zzzz{z{yyzyyyzzzyzzyzzzyyzyyzzzz{{zzz{zzzzzyzyyzyzzzzzzyzzzzzzzz{{z{z{zzzyzzz{yyzyz{{{zzyyyyzzyyzz{{z{zzzyyzyzx{yy{zyz{zyzyzyzzyzz{y{zzyyyzzyyzzz{z{|{{{x{yyyyyyz{{zzzzzzzyzyyz{zz{{zzzyzzyzyyz{z{zzzz{{zzzzzzz{zzzzz{zzzzz{zyz{z{{{{|{zz{{zzyz{{z{{{|{zzyz{zzz{z{{{z|{{z{zzzzz{|{z{{{{z{zzz{zzzz{z{{|{zz{zz{y{z{{z{{{|z{{zzzzz|z{{z{{{zzzzyz{y{{z{z{|{zzz{{{zy{|{{zz{|{{yyz{zy{{zz{{zzzzyyzzzzz{zz{z{zzzzy{yzzy|{zz{zzxy{zzyzyyzzyzz{zzzzzzyyzyzz{zz{{zyyyyyzyyyzx|zz{zyzzyyzy{{zzyzz{zyzyzyyyzzzyzzzzzzzyyyyxzyzzxzyzzyzyzzyyzz{yyz{z{yxyyzyzyzyzyz{zyyyxyyzyyzzzz{zzzzyyyzyyyy{yzzzzzzzyzzzzzyy{{z{{zzyzyyyyzzyzzzz{zyzyzzyxzzy{zz{{yyzyzyzyzyzzz{{zyzzzzyzzz{{zzzz|yzzzxy{zzz{zy{zzzzzzzz{{zzzzzzzzyyzzzzzzz{zzz|z{yzzy{yzyz{z{{y|{zyyzz{zzzzzzyzzz{zzzzzyzz{{||{{|zzzzzzzz{{{|{{{{zzzz{zzzz{|{{{{{{xzzzyzz|{{z{{|{z{zzz{{{{||{{z{z{zzzzzzzz{{{|{{{{zz{zzzyz{{{|{{|zzz{z{zz{{z{{zzz{zzz{z{z{{{{{{|{|z{zz|{z{z{{z{z{{{{yzz{zzzzzzz{{{{zyyzy{zz{zyz{zyyzyyyzzzzzzzzz{{zzyzyzxyzzzzzyz{zyzxzyyzzyz{zzzzyyzzyzyyzzzzz{zz{zyyyzy{zzzzyzzzyzzyyyzzzyzz{{{{zzzzxy{yyyzzzzzyyzyyyyyyyzzy{z{yzzyzzzzz{zzzyyyzyyzxzyyzzzzzzy{zyyzyzyzzzzz{z{|yyzzyyyyzzz{zzz{zzyzyzyyz{zzz{zzzyzyzyyzzzz{{zzzyzzy{yyyzz{y{z{{zyzyzzzzz{{{z{zzzzzzzzyx{z{zz|z{zzzzzyyzzz{z{{}zzzzzzzzyz{z{zz{z{yzyzzy{z{{z{{{{zzzzzzyzz{{{z{{{yzz{zyzz{z{|z{{{zy{zzzyzz{{z{{|{zz{{z{yz{{{{z{{{zz{zz{zz{|{{{{zz{zzzzzzzz}{|{{{{|{{zzzyzzz{{{{{{{y{z{{{zz{{{|{{{{{{yz{z{{{{z{z|{zzzyzzzzz{z{{{{|zzz{zzzz{}{{z{zzzzzzzzzzzzzz{z{zy{yzyyyyzz{z{zzzzzyyyzzxzzzzzzzzzzzyzyzyz{z{zz{{zyzzyxyzzzz{yz{zzyzzzx{yzzz{y{{zzzyzyzzzzzzzyzzzzzyzyzyyzz{zz{zzzyzyzzz{yzzzzzy{yyyzzy{zzzzzzz{yzyzyyzyzzz{z{z{zzz{zzzyyy{z{z{{zzzzyyxzyzzyzzy{|zyzyzyzyyzz{zz{zzyzzzz{yz{z{y{{z{yyz{{zyz{z|zz{zzzzyyyzz{zz{zz{z{yyyzzzzzzzzz{z{zyyyzyz{z{{{z{{z{{zzyzzyz{zzz{{z{zyzzzz{z|{zz{{z{zzzzzyz{{z{{|{{zy{yzz|{{{{|{{|{{z{{{{yz{{|{z{{z{zyyyzz{{}{{{z{{z|zz{{{{|{{zz{{||zzy{{z{{{|{{|{{{zz{z{{{{{{|{{|z{z{{zzz{z{{{|{|{{zzz{{z{{{z{z{|{{yzyzyzzzzzz{{z{{{zzzzzzz{{z{{{{zzzzzzyzy{z{{{z|zyyzyzyzzzyzzz{zzzyzyyyzzzz{zz|{{yzyzzzyzzyyz{zzzyzyzzyzzz{yzyzzzzzzyyzy{zyzyz{{zyzyyyzyyzzyzz{y{yzzzyyzz{z{zzz{zyzzxzyzzzzzzzzzzy{zyyyzzy{y{{{zzzyyyyzzzz{zyzzyzzyyyyxzzz{{zzzzzzyzyyyyyy{zyzz{zzzzyyyyzzzzy{zzyyyyz{zyzzz{zz{{zzzz{yy{zz{{{zz|zzzzzy{zzyzy{z{{yy{yyzzyzz{yz{z{zzyzzyzz{z{zz{{y{zzyzzyzzz{z{z{{{yzzyyzzz{zz{{{{{y{z{zz{{{{{|{{{{zzy{yz{{{z|z||z{zzzy{zy{z{{{{|zzz{zyyyy{|yz|{||{zz{{z{z{{z{{zz{{zzzyzzz{{{{{{{{{z{zzzz{||zz{{{z{zzzzz{zz{{zzz{{{zz{zz{{{||{z|{z{zxzzzzzz{zz|z{{zyzzzzzzz{zzz{{{zzzzyzyzzz{{y{{zzzzyzxzzz{{zzzz{zzzz{yzzyzyzzzzzzz{yyzyyzzzyzz{{{yzzyzyyzz{zzy{{zyyzyzyyzz|zzzz{zzzyyzyyzzz{y{zz{{{yzyyzzzzzzzzzz{zyyzyy{yzzz{{{zyzxzyyy{{{zz{{zyzzyxyyyyz{{y{{{{zzzzzyzzzz{{{{yzyzzyyyyzzz{z{z{zzzyyzyyyy{{z|{{zyzzzzzz{z{zz{{{zzzz{yyzyzzz{z{{zzz{zzyzyz{{{{{{y{zz{yz{{zz{{zz{zzz{{zxz{{z{}z{zzy{{zzzzzz{{zz{yzzz{zzzz{{z{z{z{zzzz{zzz{{z{|{{{zzzz{z|z{{z||{{{|z{zzzzz{|{{{y{{{zyz{zz{{{{zz{{|{{|{zz{{zzz{{|{{{zzz{{{{{||{{{{{zy{{{zz{z{{{|{{{{y{zzzz{zz{{{{|{z{zz{zzz{|zzz{|{zzzzzzzyz{z{{z{{{zzzz{zzzzz{y{z{{z{zy{zxz{{{{yz{y{yyzzzyzzzzzyy{zyyyzyyyzzz{zz{{zzyyzzyyyyzzz{{zzyzyzzyzyz{{z{{{{zyxzyyxz{z{{zzzzzzyzzzyyzzzzzzzyz{yzzyyzyzyzz|zzyzyyyxyzxzzyz{zyzzyyzyyyzzzzzz{yzzyyyyxyzzzzz{{yzyzzzyyzz{zzzzyzyyzzzyyy{zzzzyzyyyyzyyyy{zzz{{{y{zzzy{yy{zzzzzzyzzzyyzzz{z{z{yzzyyyzzzyzzzzyz{{zyyz{zzyz{{z{z{{zzzyzz|zy{z{{{{zzzyzzzzy{zzz{{|zzzy{zyzzz{{{|zz{zzzzz{zz{{z|z{zz{zzzzz{{{zz{{|||{yzyzzzzz{{{{{{{zz{z{y{zzz{{{||{z{zyzzzy{z{{{z{{zz{z{{zz{||{{z|z{{zzzzzz{|{z{{{|{yzzz{zz{{{z{{{{{{zz{{zz{{{{{{z{zzy{zz{zz{z{{z{zzzyz{zzy{{{{zz{zzz{{zzzzyz{|zzzzzzyzzzyyyy{zzzz{zyz{yyyyz{{zzz{{zyzzyzzyyzzzz{z{{xyyyzzyy{z{zzz{yyzzyyzy{y{yyzz{zyzyyzyyz{{zzy{z{yzzzyyyzzzyzzzyzyyzyzzzz{zzyzzzyzzxzzzyz{{zz{yzyzyyyyyzzzzzz{z{z{yyyzzzzzzyzzz{zyzyyyzyzyz{yzzyyyyyzyzyzzz{zzzzyxzzyyyxy{y{zz{zzyyyyzyy{{zz{zz|zyzzyyzy{zzzz{z{yyz{y{zyzzzy{{z{{zy{zy{y{z{zz{{z{zzzzzyzz{{{z{{y{y{z{{zz{zzz{{{zzzy{{{zz{z{{{|{{yzzzzzz{z{z{{{|{zzzzzz{zz{|{{{{{zy{zzzzy{{{{{z{{{zzzzzz{z{z{{{{{{zzz{zzz{{{{z{{{{{{z{zzz{{{{{|z{{zz{zzzzz{{zz|{|{z{{zzy{{{zz{{{{z{zz{yzz{{{{zz{{zyzzyyzz{{{{{{|z{{zyzzyzzz{zz{yzyyzzzzyzz{zyz{z{zzyyzyyyyyzzz{zzyzyzyz{z{zzz{{{{zyzyyyzyzzzzzz{y{x{yzyyyzzyzz{y{zxzyzzzzzzzzzyzzzzzyzyyyyzzxzzzzzyzyyzyzyzzyzz{zzzyyyy{zyzzzzz{zzyyyzzyyyz{zyz{{yzyyyyyyyzzzyzz{zyzy{zyyxzz{zzzzzzzzzyzyy|zzz{zyzyzyyzzzzzyzzz{z{yyzzyz{y{{zz{{{zzzzzyzy{zzzz{zzzyzzyzyyz{{z{z{{zyzzzyyzzz{{y|z{zzzxyyzzy{{zzz{{yzzz{zzzz{zz{{{{{zzzzz{zz{z{{z|{{zz{{zzz|zz{z{|z|zz{{zyz{{zz|{{zzzzz{z{z{{z{{{z|z{z{zz{{{z|z{{{{{{zzzzz{{{{z|z{|zz{z{zzz{{{{zzzz{{zzzzz{{{{zz{{|{zz{zz{{{{zz{|{{{zzzzzyz{|zz{{|{zzzzy{{yzz{{z{{z{zzzyyyzzzzzz{z{zyyxzyzxzyzzyzz{yyyyzyzyzyzzzy{zzzzyyyzxyzzyy{zzzyyyyxyzzyzyyzzzzzzyyyzyzzzzzyz{yyyyyz{yxzzzxzyzzxyzyxyyzzzyyzzyyzyyyyyyyzzzzzzzxzyyxyzyyyzzyz{yzxyyzyyyyzzyzz{zzzzzyyyyzz{zzzz{yyzyzyyxyzzzz{yyzyyyyyyzxzzzz{yzyyyyyyzyy{{{zzz{zyyyzyyyzyzzzy{{zxyzzyzyyy{zzz{{zzyyyyyyzzz{z{zzzyzyzzyyz{zzz{zz{yzzyxyz{{zz{z{zzzzzzzzzzzzzzzzzzzyzzzyzzz{{{z{{zzyyz{zz{zz|{z{z{{{zyyzz{z{{{zzz{zzx{zzzz{{z{{{{zzzzzzz{zz{zz{{|{zzzzzzz{|{{z{z{{z{{zzzz{{{{|{{{{zzzzzzzzz{z{{z{zzzy{zz{{{zz{{{{zz{{zyzyz{zz{{|{{zz{zzyyy{{zzz{zyyzzzyzy{zz{zzzzyzzyyyyyyzzzyz{zzyyyyyzyz{zz{{zzzzzxzzyyzzzyz{zzzyzyyyyxzyzzyy{{{yzyyyzyzzzzzzyzzyzzyzzyzz{zyy{zyz{zyyyzzzyzzyzyyyyyyzyzyyy{z{zzzyyxzyzzyzz{{zzzyzyyyyyyyzyzzzzyyyzyy{yyzzz{yzzzzyyxzyyxzzzzyz{zzyyxyzyzyzyyz{z{yyzyyyyzyzzzzz{zyyzzzyzzyzzyzzzzzzzyzyzzzzyz{z{{{zzzy{yyzz{zzz{{{zzyzyzyzyz{{zzz{yzzzyyy{zzzzz{{yzxzzzzzz|{{z{zzz{{zzzzyy{{{{{{{y{zz{zzzz{z{{z{{zzyyzzzy{{{{{z{z{yzzzzzy|{z{z{{|{z{zyz{zz|z{{y{z{zzz{y{z{|{{{{||zzzzzy{{zz{{{{z{{zyzz{z{{z{|{z{|{{yzz{zyzz||{{z{{{zzyzzzz{z{z{|{{{yzyzzzz{z{z{{{zzzzzzyyzz{zzzzzzzyzzyyxyzzyyyzzzyyyyyyzzzzzz|z{zzyyzzzyzz{zzzzzzzzyyyyzz{zzyyz{zzzyyyzyzzzz{{zzzyzzxzzyzzzzyzzzyzyzzzxzzz{zyzzz{yzyzzyzyzzzzzzzzyyyzyyzzzz{yzzzzxzyyzyyzz{zz{z{zyyyyzzyz{yy{z{{zyzyzyyyyzzzyz{z{yyyzyxyyyzzyzzzzyzzzzyzzy{z{{{{yzzyzyyzzzz{zzz{zxyzyy{zzyzzz{{{zyzzzyzyzzzyyz{zzzzzyzyzzz{zz{{{zy{yzyzy{{{z{z{{z{{zzzzzz{zz{z{{{{zzzzzzz{{|{{{zzz{zzzzz{z{{|{{{zzy{zyzz{{{z{{{|zzy{zyzz{zy{{z{|{{zzzzzz{{zz{{{{{z{{zzzz{{{{{{|{{zzzyzz{{{{{{{{z{yy{yzzz{zz{{{{{{zzyzzz{{zz{z{z{{{zyz{zzzzzz{z||z{yzyzzyzzzz{zz{zz{zyzyyzzzzz{{zzyyzyyzzy{{zzyzzzzyzyzyyzzzzz{z{zyzyzzyyzz{zzz{zzzzzzyzzz{zzzzzzzzzzyxyx{y{zy{{{zyzzyy{yyzyyz{zzzyyyyyyyy{{zzzy{yyyzyyzzy{zzyz{{zzzyyzyyyzzz{{zzzyzyx{zyz{{zzzzzzzzyyzzxzzzzzz{{yyzzzzyyzzyyzzzzzzyy{yxyz{z{zzzzzyyyyyzyyzzy{y{z{yyzzzzzzzzz{{z{zyzzzzzyzzyzzz|zzyzyyzyyzzzz{{{zzz{zzzzyzzyz{{{|z{zzzzzy{z{{zz{z{zzyzyzz{z{zz{z{{{zyzzyzz|{{{z{{zzzz{zzzz{zz{{|z{yz{zzyyz{|{{z{{{yyzz{zzz{z{{|{{zzyz{{{{{{{z{{{zzzyzzz{{z|{{{{{{|yzzzyz{{{{z|z{z{yy{zzzz{{zz{{{z{{{z{z{{{z{{{{{|zy{zzzyzz{{zz{{{{yzyzyyzz{{{{{{zyzzy{zzzzzzy{zyzzzxyyx{yz{{zyzzzzyzzyzyyzzzz{z{{zyzzyzzyzz{zzzzzzzzyzyzyzz{yzzz{yzyyyyzyzyzzy{{{zzzyyyzyy{{zzz{zyyzzzzyyzzzz{z{{zyyzzyzzzzz{zzzzzzyyzyzz{zz{zzz{zzyyyxzzzzzyzzzzyzzyyyyzzz{zyzzzzzzz{yzzzzy{zzy{zzyyzyzyyzzzzzz{zzzzzzyy{z{yzz{{{zzzyyzyz{zzy{{{zzzyzy{{zzz{{{{zzyyzxyy{z{zz{{zzyzzzzxzyyz{z{{z{zzyzy{zzzyz{{{zz{zy{{z{{z{{z{{|z{zzzz{z{zz{{{{{{yzzz{zz{z{{{yz{{{z|z{z{y{{{z{|z{zzzzzyz{{{{{{{{|{z{z{zz{zz{{z||{{zz{z{{{z|z|{{{|{{{{zz{z{{{{z{|{{yyzzz{z{zz|{z{{zzzzzzz{{z{|{zz{z{z{zzzzz{{zzz|{{zz{zzzzzz{|z{{{yz{zzyyz{{y{{zzzzzyyzzyyzz{zzz{{zyyyyyyyzz{{{z{|zzzz{yyy{z{z{{zzzzyzzzyzz{zz{{{{zzyyyxyxzyyz{zzyzyzyyzzxz{zzzzzzz{yzyyyyz{zyz{zzzyyyzzyzy{{zz{zzzzyzzyyzyzzzz{{zzyzzyzzy{y{z{z{{yz{xyyyyzzzzzz{zzzz{yyzzzyzyy{{zyzyyzyzz{zzyz{z{{{zzz{yyzz{zzz{{zzyyzyzz{zzzz{{{zy{zzzzzzz{zz{{{zz{zyyzz{z{{{z|zzz{{zyzyz{{{{|{{zzzyz{y{{z{{z{{|zzyzyyzyzz{z{z{{yyzzzz{yzzz||{{zzzzz{zz{|{zz{|{|{zz{z{zzzz{{z|||zyz{{zzz{z{{{{{{z{|{zz{z{{{{{|||z{{{z{z{z{{|{{|z{zy{zz{z{{z{{|{{|yzyz{z{{{z{{{{{{{zzzzzz{{z{{{{{{zzzzzyzz{{{{{{|{zz{zz{zz{{|z{{{zz|{zyyy{{{zzz{yyyyzzzzzzz{zzyz{zzzzyzzyyzyzz|{{z{zyyzxxzzz{z{{zzyzzzzyyzy{zy{z{zzzyyyzz{z{yzzzzyzyzyyyyzzzzyz{zzyzyyyyz{z{zy{zzzyzxyzyyzyzzzzz{yyzzzyyyzz{zzzzzzzzzyzyyzzzzz{z{zzzzyzxyzz{zzz{yyyyyyyyxzy{zyz{zzzyyyyz{yzzzz{zzyyzzyzyzzzzzzz|{yy{zyyzyz{zyz{{zzzzyzyyzyyz{{{{zzzzzyyyz{{{{zzz{yzzzyyzz{{z{z|{zzzzy{yzz{zz{{z{zzzzz{z{yz{zz{{zz{yzzyz{z{{{{{{|{zzzzz{{zz{{z{{zy{{zyzzyz{{{{zz|{zzz{zzz{{{{zz|{{zz{zz{z{z{{{{{{|{zzzzz{{z{{{{{{{{z{{z{zz{{{zz{{z{zxz{zz{{zzzz{{|{zzzzzzz{{z|zz{{zzyzzyzzz|z{y{{{{zzyyzzy{{{{{{z{yz{yz{{yzz{zyzyz{zzzyyzyzz{{{{{zzyyzyzxyzzzz{{y{yyyzzyyyzzzz{{{zzzzzzyyzzzzzz{{zzyyzyzzyzzzzzz{zzzz{zzyyzzzyxz{zzzyzzzyyyy{zzzzyzyxxyzyyzzzzzzzzyzyyyyyxzy{zzzzzzyz{yyyyzz{{z{{{{yzzyyyxyz{yzzz{zzzzzyzyyzyz{zzz{yzyyzzzzzzzz{zzzyzzzzzyzz{zz|zz{yyzxyz{yyzz{{{zzzzzzzzyzzyzzz{|zyzyzzzz{{{z{{{zzzz{zzzzz{{{z{{zzyzz{zzzzzz{{{zz{{y{z{yzz{{zz{z{{zzzzyzzzz{|{||{zz{{zzzzz{z|{z{{{zz{zzz{{z{}z{{z{z{zzzzz{{{{|{{{zzzz{{z{zz{{{|{|{zz{z{{zz{{{{{{{{{z{zzzz{{|{{{{{{z{z{{{{{{{{{{{|{zz{zzzzz{|{|z{{{zzyz{zzz{{{{z|{z{zzzzzz{z{{{{{z{z{yyz{yzzz{{zz{zyzzzyxzzyzz{y{z{yyzyyzy{{zzz{{zzyzyzzzxz{zzzzz{yzzyyzyzy{{zz{{{zzzyxyzyyzyzz{zz|zzyzyzzyzyyzzzzzyzyyzyzyyzzzzyzzyyyzyyyzz{zzzzzzyyyzxzyz{yzzzzz{xyyyzyzyzzz{{zzzzyzyyyyy{zz{zzzzzyzzyzyz{yyzzzzyzyyyyyzy{zzz{{{zzyzyzzyzzz{z{zzzzyzyyzyzzz{y{z|yyzyyyyyzy{yz{z{zyzyx{yzzz{zz{zzz{yzzyzzzz{zz{yzz{z{yxzzz{z{z{{{zzyzzyzz{{z{zz{{yzz{{zzz{{{{{{{{zz{z{z{zz{{{{||zzyzzzzzz{z|{{{{{{zzzzyzz{{z{z{{}zz{zyz|z{z{z{{||{zz{zzzz{|{z{{{|{{{{zzzzz{{{{{{{{zz{z{zzz{{{z{|{{{zzz{y{{{{{{{{z{z{zyz{zz{{{{{|{zzzz{zzzz{{{z{{{zz{z{yzy{zz|zzzz{{zzzyyyzzzyyz{zzyyyzyzz{yzzz{zzzzyyyyzzyzzz{z|{zyyzzyyyyz{zzyzyzyzyyyzxzz{yz{{zzyzyzyzyzyzy{zzzzyzyz{yyyzz{zz{zyyyyyzyyyzzzzzzzzyyzy{yzzzzyzz{zyyyzxyyyzz{{zz{zyyyyyyyzzzz{{zzzyyyzzyzzyzyzyzzzyzyyzyzzyzxyz{{z{zzyzyyxz{zyzz{zzxzyyyyyzzzzzyzzy{yzyyyzzzzzzz{zzzzyzyzz{zz{|{z{zzzzyzz{z{zz{{zzzyzzzzzz{z|{{z|{zzz{yzz{{{zzzzzz{yzzzz{z{{{|{{{|zzzy{z{z{{{{z{{{{y{{{zzz{z{{{{{{{yyy{z{z{|zz{{|{zzzzz{|zzz{{z||z{{zzz{{zz|z{z|{|z{{{zzz{|y{{{{|z{{{zzyzyzz{{{z||{z{{{zz{z{z{z{{{zyzyz{zz{{zz{{{{|y{zzzzzzzz{zzz{yy{zzzxzzzzzz{yzyxxxyyyzy{{zzzzzzyzyzxyyyzyzzzzzzzyzzzyyzyzyz{zyzy{z{yyzz{yzy{z{yzyzzyyyyzy{yzzzyzzyzyyxzz{z{{yzzzyyyxzyzz{zzzzzzyyxyyzyyz{zzzy{yyzyyyxyzyzyyzzyzyyyyyxzzzyzzzzzzyyzyzyzzzzz{z{{zyyzyzzzzzzyzzzzyyzyzzyyyz{zzz{zzyzzzzxyz{yzz{zyzyzzzzyyzz{z{zzzzyyzzyyzzzzzyzzzzxyyyyyzzyzy{zz{{zyyzzzyzzzz{{{zyyzyyxzy{zzzz{{zzzzzzyzz{{zz{z{{{zyzzzz{zz{{zz{{z{zyzzzzz{z{{|{{zyyzzyzzz{{{zz||{zyz{zzzz{{{{{{{{zzzyy{y{zz{|{{|{z{zyzz{z{{{z{{{zy{{{zz{{{yz{{{z{z{zzzyz{{zz{{{{{zzzzyzzz{{{z{{{zzzyy{zzz{zzz{{|zzzzzzzy{{zzzz{zyy{y{yzzzz{z{zzzzyyyyyyyyzy{yzzzyzyzzyzyyzzyz{zz{zyyyyyy{zzzz{zzzyzyzyxyzzyzzyzzzzyzyyyxzzzyzzyzyzzyyzyzzzyyz{{zyyzzzzzyy{zxz{z{zyyyyyyyyyzyz{z{yyyyzyyyzzz{z{zyyyyzyyxzzyzzzzzzyzz{yyyxy{{z{z{zzzzzyyzxzyyyzzzzzzyyzyyyzyzzzzzzzzyzzzyyzzy{{zzzzzyyyyzyzzzzyzzzz{zzyyzyz{{zzzz{yyyyyyyzzz{{{y{z{yy{zyyzzzz{{{zzzyyyzzzzy{zzzzzzzyyzzzzzz|{{zzzz{zzyzzz{{z{{z|{{yzzz{zz{{z{z{{z{zzy{zzyy{z{z{{{{{zzzzz{zz{z{{|{{zzyzzzz{z|{{{{z{zzzzz{zzz|{|{{|{{{{zy{zz{z{{z{{zzzzzy{z{{z{z{{{{{zz{zyz{z{{{{{{{zzzyyzyz{zzz{{z|{zyyyyyzz{|{zz{zyz{zyyzyz{z|z{z{yzxyyyyzzz{zzzzzzzzyyxzyzzz{zz{{yyzyyzzyz{{z{{{zzzzzzxzzzzz{yzzzzzzzyzyyz{z{z{{{zzzyyyyzzz|zy{zyzyzzzyzzzz{yzzzyzzzyyyzyzzzzz{zyyyyzzzyyzz{zyzzzzzzzyzyyzzz{{{z{zyzyzyzyzz{y{zzzzyzzzyzxyzz{zzzzz{zyyzyyy{zzy{z|{zzzzzzzyz{z{{{zzzzzyzyyz{z{zz{{zzzzzyzyzz{zzz{{zzy{yyzz{{{{z{{{zzzz{zyyzzz{zzzzzzzz{z{zzz{zzzzz{zzzzyzz{{zzzz{z{zzzzzzz{{z|{{{{z{{{z{{zz{{|{{{z{yzzzyzy{|{|{{{{{zz{{zz{{{z{{||{y{{y{{zz{{{{||{{|{z{{{yz{{{|z|{{{zz{yzzz{zz||{{{zzzzz{{z{{z{{{{|{{zz{zy{z{{z||{{{zzzzz{zz{y{{{{|{{z{zzyzz{{{{z{{zzz{yy{zzz{zzzzzzyzyzzyyz{zzzzzzzzzyzyyyzyzzzzzzzyyyyyzyzzyz{z|zyyyzyzyyzz{{zzz{zzzzyyzyzz{zyz{{zyyy{yzy{zzyzzzyzzyyzyyyzzzzz{{{yz{yyzyzyyzzzy{zzyzyzyyzzzzyzz{yyyyzzyyzz{zz{zz{zy{yyyzyz{z{yz{zyzzzzyzzyzzyyz{zzyyyzzyyyzzzz{z{yyz{zzyz{z{zz{zzzyyyzyzyz{zyz|{{zyyyzzzyz{{{z{{{yzzyy{zzz{zz{zzzzzzzzz{yy{{zz{z{{yzz{zyyz{{zzz{{zy{zyzzz|{{z{{{{zy{zzzyzzz{{{{z{z{{z{{{z{{{{|{{|zzzy{zyzz{{{zz{z{z{zzzzz|z{{z{{{z{zzz{{z{{{{{{zz{zz{z{{zy||{{z|{{{{zzzz{{{{{{{{|{z{z{zyz{{z|zz{{{zzz{yzzz{{|||{|{|zyy{z{z{{{{{{{zz{zzzzz||z{zzz{{yzzyyzz{zz{{zzyyyy{yzzyzz{{zzzzzyzyzyyz{{yzzzzzz{zzzzzzyzzzz{{{{zyxzzzzzzzzz{{{z{yyyyzyz{y{zzyzyyyyyyyyzzyzy{{zzzzyzyyyyzzz{zzzyzyyzyyzyyyzz{zyyzzyyzzxzzyzyzzzzyyzzyyyy{{z{{zyzzyyyzyyzzzzz{{{yzzzyyzzzyzzzz{yy{zyzzyyzzzzy{{zzyzyzzyyz{{zzzzzzyzzzyzzz{z{zz{{yyzyyyzyzz{{{{z{yzzxzyzzyz{z{z{zyyzyzz{yz{{{z{zz{zyzzyzz{z{zzz{{{zyzzxzz{zzzzzz{zzzz{z{z{{{z{|{{zzzz{y{z{z{{|{{|zzzzzy{z{{{{|{|||z{z{zzz{{{z{{||yzy{zyzz{{z{{{{{{z{{{{{{z|{z{{{{{z{{{{{z{z{{{z{zzyy{zzzz{{zzz{{{|{{{{zyz{{|{|{||{z|yzzyz{{z{{{||z{z{{zzzz{{zz{|zzzzyzyyz{{{zzz{zyzyzyzyyyz{zzzzzzyzyyyyyzzzy{zy{zzyzzzyyzzzyyzzzyzzyy{zyyzzzz{zzzyzyzyxyzzzzz{zzzzzyzyyy{{zz{{zzzyzyxzzzzy{yz{zyzzzyxyxyyzzzyz{yyyzyzzzyyzzz{zzz{zyyyzxyyz{zzzzzzzzyyyyyz{{zyzzzzzyyzzyzzzyzzzz{zyzzyyyyzzyzz{zzyyzzzyzyzzzzzz{{yzzyzyyyz{{{z{{z|zyxyyzyzzzzz{z{zyzzyyzzz{zzz{zzyzyzyyzzzz{zzzzyyzzyzzzzy{{zzz{{{zyzyzzz{zzz{{z{{yzzyzzzz{{{{z{{zz{z{{{{zz{z{{|{{z{zzzzz{z{{{{z{{zzz{zzz{{zz{{{|{zzyzz{{z{zzz{{{{zyzzzz{y{{{{{{{zzy{y{z{{|zz{{{zzzzz{zzz{{{{{{{{zyz{{zzz{z|{{{zzzz{zyzy{{{{{{z|{{{y{zzzzzz{{zz{zzzzyzyzzz{zzz{{zz{zyyzyyyzzzyzzzyyyyzxyyzz{zz{zzyzyxyzyyyz{zy{z{zyzyzyzzyyzyyzzzzxzxyyxyzz{xzzz{zzyxyy{xy{{yz{zzzyyzyyzyzz{yzz{zyyzyyyyyyyyzzzzzzyzyyzzyyzyzy{zzyyyyyxyzy{zzz{zzzxyyyyxyzzzzzzz{zyzyyyxyyzzzzyzzzyzxyyyyyzyzy{{zzyyzzyyyyzzyyzz{zzzyyyzyyy{yz{zzyy{yyyzz{{yz{{{{yyyyzzzyzz{zzzzyyzzzzzyyz{{zzzzzzzzyzzyy{zzz{z{zzyzyzyyz{z{{{z{|zyzyz{zzz{{{z{|z{zzyzzzz}zzzz{{{|yzzzz{yz{{{{z{zzyyzzyzz{z{{{{{zzzzzz{zzzz{{{z{z{zzzzz{zy|zzz{{{{zzzzz{z{{zz{{{z{zyzz{z{{{{z|{{{zzz{zyz{{{z{|z{{{zzzzzzz{zy{z{{{zzz{z{zzz{z|z{||zyz{zyzy{{zzz{zzzxyzzyxyy{z{zz|{zzzyzzyyz{yz{zz{yzyzyzyx{zyzzz{zzzzyzzzyzzz{zz{{zyzyyyyyyyzzzzzz{zyyyyzyyyz{z{{zzyzyyyyyzyzzzy{zyyyyzyyyzzyzyzyzyyyyzxzyzz{zzzyyyzzyyyzyzzzzzyzzzyyyyy{xzz{zz{zzzyyzzyyxyzzzyzz{zzzzzzyyyzyz{zz{yyzzzyzyyz{zzz{yzzyxyyzyzz{z{zzzzyz{xxzz{zzzzzz{zz{yyzyyyz{zzz{z{zzzyz{zzzzzzzyzzzyzzzyz|zz{z{z{{yzzzyyz{{|zzz{|zzzz{zyzzz|{zz{zz{yyzzz{{z{{{{{|{zzzzzyzz{|zzz|z{yyz{zyz{{{z{{z{{{{{{y{zz{{z{z{{{z{zzzzz{{z{zzz{zzz{zz{z{{{{{{{{{zz{zy{{z{zz{z{|zzz{{yzz{zz{z{|}{zzzzz{zz{zz{{{|{zyzzzzz{zz{{zzzzyzzyyyx{z{z{zzzyzyyzyyxzz{zzzz{zzzyyyyyyyzy{zz{zzxyzzyyyz{yz{zzzyzyxyyyyz{{zyyzzzyyyyzxzzyyzyzzzy{zzyyyzyzzyzyzzzzyzyxyzyzyzyyzzyyyyzyzzzyzyzzyyzyyyyxyzzzzzzzzzzyyyyyzz{zz{zzzzzzyyzyzyzz{zz|{yzxzzyyyzzyyyzzzzyyzyyxyzzzzz{z{yyzyzyyyyzzzzz{zzy{yzyz{z{yzz{zz{yzyzzzyzyz{z{{zyzzzyxyzzz{z{z{{{zyy{yyzzz{z{{{zzzzyyzyzyz{|z{zzzyzzzzzz{{zzzz{{zzzzzzxzzzz{{{{{z{zyz{{z{zz{{{{{zzzzzzxz{z{{z{||{z{{{zzz{|{{{{{{zzz{zzzz{|zz{{|{{zz{zyzzz|z|{{{{{z{zyzzz{{zz{{{{{y{zzzz{yz{{{{{{{{z{yzyzz{z{zz{z{zzyzzzyzz{{z{zz{{zyyzyz{{z{zzz{zyzyzyyyyzzz{zzzyzyzzyyzyzzy{{{zyzyyyyzyyyzzz{{zzyzyzyyy{yyyzy{zzyyyzxyyzzzzzzzz{yyyyyyy{yzzz{z{xyzzyzzzz{{yzz{{yzzyxyyyzyzyyzzzyyyxyxyzzyyzyzy{xzxzxyy{y{yzzzzyxzyyyzxzyzzyyzzzyzzyyyyxyyz{zy{|yyyyzyzxzyzyyyzzzzyyzyyyyzzy{z{zyyyyzzyzyz{y{{{yzzzy{yzyzzzzzz{zzyzzyxzzzz{zzzzzy{yzxyzyzzzz{{{zzyzzzyzyzzzzzzyzyyz{yzyyz{{yyz{{zyy{zzyzzzzzy{yz{zyzyzzzz{z{z{z{yz{y{zzz{{z{z{z|zyy{zzz{{z{{{z|zyzyzzzzyz{{zzz{{{{{zzzzzz{z{z{{{{yzzzzzyz|zzzz{{zzz{zyzz{|{z{{{zzyyyzzyz{{zz{|{{{yzz{z{z{zzzz{{zzyzzyzzyz{{zz{{{z{{yzyzy{{{{{z{zzyzyzzzyz{zzz{zyyyyyyxyyzzyyzzzzzyyyzyyyzzzzzzzzyyyyzyyxzyzyzzzyzzzyxyzyyzzzyy{zzzyyyyyyyyzzzzz{zyyyyyyz{zzyzzzzzzzyyzzyzzzyyzyyzyyyzyyz{yz{zyzzzyyyyxyxzzz{zy{yyxyyxxyyyz{zzzzzzyyyyyxyyzz{zzzzyxzyzyyyzzyyzzzyyyyyyzzyyzyzyzzzzyyyzyzyzyzzyzzyyzyyyyzyyyyyzz{yzyyzyzzzzzy{zzz{zzyzyyzzyzzzz{zzzyyyzyyyzzzz{zzzzxzyzyyy{zz{zz{zzzzyzyyyzzzzzzzzzzyyzzzzzzz{{{z{z{zyzzzzzzzzz{z|zyyz{{zyzzzz{{{z{yy{zyy{zz{{{{{|zzz{z{zzz{zz{zz|{yzzzzzyz|z{|z{zzzzzzzzzz{{z{{{{zyzzzzzzz{zz{{|{{zzzzzzz{{z{{{{{zzyyyxzz{zzy{{{{yzzzzyyzz{zzz{{zyzyzzyyzzzzzzzyy{zyyzyzxyzyzzzzzzzyyyyxyzyzz{z{zzzyyzyzx{z{yz|zy{zzzxyyzyy{{yz{zzyyxyyzyzzyzzzzzyzyzyyzyzzyzzzzyzzyyzyyyzz{zyzzzzzyyyyyyxzzz{zy{yyyyzyyyz{zyzz|zyyzyyyyyyzzyzzz{zyyyyyyyzzzzyz{zyxzzyyzyyzyzy{yzzyyyyzyzzyzyyzzz{yzzzyyxzzz{yy{y{yyyzyyyz{{yy{zzzyzxzyzzzzzzzzzzzzyzyzzyzzzzz{yzy{zyzyzzyz{zzz{zz{zzyzzyzz{{{xz{yzyz{yzz|z{zz{{zzzyzzzzz{{zz{z{{yzyyyzzzzzz{zz{|yzyzzz{yz{{z{zzzzyzzzzzz{{{z{{{{yzzyyz{z{z{{{{{|{z{{zzzzz{|z{zz{zzz{zy{zz{z{zz{zzzzyzzzzzzz{{{|{{{zz{zzzzz{{{{|{z{yzyy{zzzzzz{z{zzzyxzzy{zzz{z{{zzyyzzyyyyzz{zzxyyzyzyyxyz{zz{z|yyzyyxzyy{zy{{z|{zyzyyzyzzy{zz{zyzzyyyyzzz{yzzzzzyzyzyyyzzzzyz{zyyyyyyyyy{y{z{yz{yzzyyyzzzzzyzy{zyyyyyzyzzzzy{zzzzzyzzyzy{zz{z{zz{yyxzzyzz{yzzzzzzz{zyyyyz{zz{yzzzyyyyzyzzzzyzzzzyyyzyzy{{z{zz{zyzzyyzzzyzz{{{zzzyyyzzzzzy{yzz|zzzyzzyzyzzzz{{zzyyyzyyzyzzzzzz{{zzz{zzzzzyzzz{yzzzzyzzzzz{zzy{{{zzyzzzzz{{z{{z{zyzzzzz{zz{{{{{{{zzzzzzz{{|z{zz{{zzzzzyzy{{{|{z||{yz{{zzz{|{{{{{{{z{zz{z{z{z{|{{{{{{{zz{zy{z{z{z{zz{zz{{yz{z{{{z{{y{{zz{{{{{{zz{{{zz{{yz{{zz|{{{{z{zzyzzzz|z{{z|zzyz{zzzyz{{z{zzzzzzyzyzzz{{z{zzyyyyyyzzyzzzzy{{zzyzyzyzzzzzz{zz{yyzzyzzy{yzz{{yzzyzyyzzyzzzz{zzzzxzyyyzxzzz{z{zzzyzzzzzyzzzzzz{yyyzzyyyyzzzzyzzzyzyxyyzzzyzzzz{{yyzxzyyzz{yzzzzzyyzyyzyyyz{{z{{yzzzyyzyzzzzzyzz{zxzyxyyyzzzzz{zzyy{yzyzyzzyzzzzzx{zyzyyzzz{yzz{{zzzzzyzzzz{y{zyyzxzzzzzzz{zy{zy{zzzyyyzyz{{zz{zzyzyyyyyyz{{z{z{{{y{zyyzz{z{{zzz{zzz{zzzyyz{zz{{{yzyzzyyyz{{z{z{zzyzy{zzzz{z{{z{{{yyyzzzy{y{zzzz{zx{zzzyzz{zz{{{{{yzyy{{|z{z{{{{{{zz{zzz{{|{|{z{{{zy{yyzzz{{{{{{{zyzzyzzz{{z{z{{{{{zzz{{{z{z{z{{|zzzyyyzzz{z{{|{zzzy{yzzyzz{{zz{zzzzyyyzy{z{z{{zzzzyyyyyyy{z{yyy|yyyzyzyyzzzz{{{zyzyzzyyyz{zz{{{zzy{yzyzzzz{zyz{{zyzzyyxzyz{zzzzzzyyyyyxyyzzzzzzzzzzzzzyyyzzzzzz{yxyyyyyyzzzyz{{yyyyyzyzzyy{{yz{zzzyzzyxyyzzyzzzzzyzyyyyzyzyyzzz{zzzyzyyyyzzzzyyzzzyyyyyzzzzzzzzzyzzzyzyyy{{{zz{zzzxzzyzzzzzzzzz{yyzyzyzyyzzz{yzyzzzyzzyz{zzzz{z{zzzzzyzzyzzzzzzz{yzyzzyyzzzz{z{z{yz{zzzzz{zzzz|zyzyzzz{y{{{{{z{{zzz{zzzz{{{{z{{{zzz{zyzz{{{z{zz|zzzy{zzz{{{{{{{{z|zzy{{zz{{z{{{|{yyz{{{zz{{{z{{{zz{yyyz{{z{{z{{z{zzzz{zz{zz{{z{z{zzzzz{z|{z{{{{z{z{xzzzz{{yzz{z{zzzzzzyzz{{{{{z{yyzyzyz{{zzz{zyyyyyyzyzyyzzz{z{|zzyyyyyyzyz{{{zzzyzzyzzy{yzzy{z{zyyyzzyyzzzzzzzzzyyxyxyyzzzyyzy{zyzyyxyyzz{y{zz{zzzyzyyyzz{zyzy{yzzzzzyzzzzzz{z{yyyyyzyyyzz{yz{zzzzyyyyyz{z{zz{yyyyyzyyyy{zyyz{{zyzzzyzyyzzyz{{{zzyy{yyyyzyz{z{zyyzyyzzz{zzzy{{zzyyyzyz{zzzzyzz|zzyzzyzzz{zzz{z{yzzyzzzzzzzzz{zzzyzzzzyz{zy{zz{z{yzxzzyzzz{z{z|yzzzzyzz{y{z{zz|{{zzz{{zz{{z{zy{{{zzzzz{y{zz{z{z|zzyzz{yzzz{{z||{{yyyzyzzz{{z{{{|yz{yyz{zz{z{z{z{zy{{zzzzz|||z{{{{zz{zyzzz{{{{{{{zzzzzzyz{z{{{z{|{{{zzzzyz{z{z{z{zy{z{zzzzzz{{{|{z{z{yzzyzy{{yzzyzzzzzzzzz{{{{zzyyyyyzzzzzyzzyzyyzzyyyyyxzz{xz{zzzyyyyzyzzzzzzzz{zyzyyzyyy{zyzz{{yzyyxyzy{zzzzzzzzyyxzyxyzyzzzzyzzyyyzyzzzzzyzyyzzzxyyzyyzzzzz{z{yyzyxyyzzzzzzzyyzyzzyzxzzzzz{zyzyyyyyyyzyzzzzzzzyzyyy{zyyzzyzzzzyzyyyzyzz{zyy{zyyyzyzyzyyzzzz{{zzzyyzyzzz{zzyz{zyyzzyyzzz{z{zzz{yzyxyzyyzz{zzyzzzzzzzyyyz{zzy{z{zz{yzzzyz{{zz{zzz{zzzzyz{z{zz{{{yzzzzzzyyzz{{{{zzz{zzzzz{{{{yz{zzyzzyyyz{{z{z{{{zyy{zzzyz{{{{{|{zzyzzz{y{z{{z{{|z{zyzzyyz|z{{{z|{yz{yz{{{z{{zz{|zzyzzzz{{{z{{z||{zyz{zz{{{{zzz{{zzzzz{yy{{zz{{{{z{zzyzyy{{z|z{zzyzzyzyyz{z{zzyy|yzyzyyyyyzzzxzzyyyyzyyyyzzyyz{{{zyyyyzzyyzzzzzz{zyyyzyzzyzzzzzzzyzyyzyyy{yzzyyyzzyzxyzyyzz{z{yyzyyyyyxzzzyzzyz{yyyyyyyyxyyzzy{zzyyzxyyy{yz{zy{zzyyzzyyyyzyy{yzzzzyzxxzyyzz{{zyz{yxyyzyyxyzzzy{z{{zzyzyzyyzyyy{zzzyyzzzyyzz{zzzzzzzyyzyyzz{{yzz{{zzyyxzyyzzzzzzz{zxzzzzzyz{{zzz{z{zyzzzzzzzz{z|{zzzzzzzzyzzyzzz{{zyyzyzz{zz{z{{{{{zyzzyyyzz||{z{{yyzzz{{z{z{{{{{|{zyzzyyy{z{{y{{z{yz{zyz{z|z{{{{z{yzz{zzy{z{{{zzz|zzzzyzzz|{yzz{zzzz{{z{y{{{{z{{{zy{{zyzzzz{z{z{{zzzyz{xzz|y{z{{|zz{zzzzzzzz{{z{{zz{yyzzzzzz{{{z{yzzyzzyy{yy{zzyzyyzxzzyyyy{zzzy{yyxyyxxyyzz{zzz{yyxyyzzyzyzzzzzzzzyyyyyyzzyzzzyzzzxxyyzxzyzyzzzzyyyxxyyxzy{yyzzzyyyyyxyxzz{zzzzzyyyyxyyyyyyzzzzzzyyxyzyzzyzzyz{y{zzyxyyyzz{z{z{zzyzyxyyyyzzyzy|zyyyyyyyyyzzyz{{zyyyyzxyxx{yy{zyzyyyyyzyyzzzyzzzzzyzyzyyzz|{yzz{zyxzzyyzyyzzzzzy{yyzyyyyyzzzzzzz{zyyyzyzyzzzzzzzyyyzzyyyyzzyyzzzz{yxzzyxz{zzzzzzyzyyy{yzzzzz{{yz{zzzyzyyz{zz{{zzzzyyzyzzzyzz{zz{{yyzz{yzyz{{zz{{{zzzzyz{zz{z|z{{{{zzzyzzzyz{|{{z{zy{zyyzz{{{z{z{{zyzzyzyz{zz{{{z{zzzzzyzyz{{{zz{zyzyzz{zzyzzz{{{zzzyyyzyyz{yzzzzzzzzzzyyyzzzzyzzzyzyzxyzyyzzyyzzzzzy{yxyyzz{zzzz{zyzyzyzyzyzyzzzzzxxyyyxyzy{zzy{zzzzxyyzzyzzzzzzzyzzyxyzzzz{y{{zzyyyzyyyyzzyyyzzzyzyzyyzyzzyy{zyzzyyzyyyyyzyzzzzzzxyxyzyzz{zz{zzzzzzyyyzyyz{zzzzzyyyyzyzyyzzyyzyzzzxyyyyyz{zyy{z{y{zzzyyyyyyzyzz{zyyyzyyyzzzzy{zzzyyzyxyyzyz{zz{{zzzzyyyxz{yyz{zzzzzzzzzyzzzzz{zzzzzyyyzyzz{z{z{{z{zyyyyz{zzzz{zzyyyz{zzzz{{z{{{zyz{z{zzzz{zzz{z|z{zzzz{yzzz{{z{{{yzzz{zz{|{zz{y{{z{{zz{yz{y{{{z|{zzzzzz{z|{{{{{|{{zzzzzz{z{z{z{{{zzzzzyy{{z{{{{|{{yyzzyz{zz|z{z{zzzyzyyzz{{zz|z{zzyzyyzyz{{{zz{{zzyyyzyyz{zz|zyyyyyxyyxxyzzzzyzzxzyyyyyy{zzzz{z{zyyyxyxyzyyyzzzzyyyyxyyyzzzzzyzzyyyxyyxxzzyzzzyzzyzyyyyxy{zzy{zzyyzxyyyyyxzxzzzxzyyxyzyyzxyzyzzzyzxyyxyyzzyzzzzzzyyxxyxyyzzyzzzzyyyzyyyxzzzzz{zyzyyyzxyyyzzyyyyzzzyxzzyyyyyzyzzzyyyyzyxyzzzyyzzzzyzyzxyyy{yz{yz{zzzyyyzyyzzyyz{zyzyyyyyzy{zzzzzzzyzyyzyzzzz{z{zzyyzyzzzzzzzyzz}z{zyzzyzzyyzyz{z{zzzzyzyyzz{z{zz{yzzzzyzzzzz|zz{{zyyyyzyzzzzzzy{zzzyzyzyy{|z{z{{{zzzzzyzzy{{zzz{|zy{zzzyzz{z{zzz{{xyzyzzz{z{|y{{zyxz{{zzyz{zzz{z{{zzzzyzxzzzzz{zzyzzyzz{zz{y{zzzyzyzzzzyyyzz|z{zzzzzyyyyyyyzzzzzzyzzzyyzyyzyyzzzz{zyyyyyzzzzzz{{{zyyyyyyyyy{z{zzzyyzzyyyyy{zyyyz{zzyyzyyyzzzzyzzzyyzyzyzyzzzyyzyzzzzyyyzzzz{yyyzyyyzxyyyyzzyyzyzzyyyyxyzzyyz{yzzz{yzyyyyzyzzz{zzzzzyyzxzyzz{zyz{zzyzzyyzyyzzzz{zzzyyyxyyzy{zzzzz{zyzyyzzxyzyzy{{zyzyyzxyyzz{yzzz{zyzyzxyxz{zzzzy{zzzzzzzyzzzyz{zyzyzyzxyzzzzyzz{zzzzzzyzyy{{zzyzzzzzy{zyz{{{zzz{{zzzyyyzz{z{|z{{zzzzzz{yzz{{{zz{{yyzzzzzz{{{{{y|{{yyzzzyyz{{z{{{zzzzzz{zzz{zz{{{{{zzzz{{zz{{{z{zz{z{zzzzzz{{zz{z{{yyzz{yzzzz{{zz{{zzzzz{zzzz{zz{{zzzyzzzz{zzz{{{{zzzyzzyyz{{z{z{zyzzzzyzyz{yyzzzzzzyyxzyyxzzyyz{{zyzyyxyyyyzyz{{zzzzyzyzyy{zy{zyzzzz{yyyyyzzzzzzzzyyyyyzz{zzzyzz{zyzzyzyxzzz{{{zyzyzzyyyz{zzzz{yyzzzyzzyzzz{zzzzzyzzyyyyyyzzyyyzzyyyzxxyyyyzzzzzyyyzzyxyyyzzyyzzzzyyyyxyxzyzyyz{zxxzyzyyxzzzzz{z{yxzxzyyyyz{{zzzzzzzyzyzyyyzz{zzzzzzy{xzzzz{{{zzzyzzyyzzyz{zzyz{zzzzyzyy{zzzz{z{zyyyyzzyyyz{{yz{zzyz{zzzy{zzzz{z{zzzyzyzyzz|{z{{{y{yzzz{z{{{{{||{zzzzyyxyzz|z{{{{{zyzzyzz{{z{{{{|z{zyzzzyyzz{z{{z{z{zzzyz{{{{z|{{|y{{zzzzz{z{{{z{{yzzyz{zzz{{z{{{{{z{{zzzz{{{{{|{{z{yzzyzz{z{zz{z{zzzzzzyz{z{zz{zzyyzzxzzyz{zzzzzyzyzyz{xy{zzyzzzyyyzzyxyyzzzzzzz{zzyzzyzzzzz{z{zzzzzyyyyzz{zzzzzzzzzzzzyz{{zyzz{{y{yyyyyzzzyzz{zzyzyyzzzzzzyyzzzzzyyyzyyyzz{{zzzzyyyyxyyzzzzyzzzzy{yyyyyzz{zzz{{zyyzyyzyzzzzzzzzzzyzzyyyyzzzzyz{zyzzyyyyzyzzz{z{zyzzyzyyyzzz{z{zzyyzzyzzz{zz{z{{yyyyyyyzzz{z{{{{zz{zyyzyz{z{zz|{zzyzzz{z{{{zy{yzzyzzzzzzz{zzzz{zzzz{zzyyzzzzzzy{zyzzzz{zz{|{|z{{yzz{{z{z|{{{{{{{zzz{yzyy{z{zz|{z{yzz{{{z{{{{{||{zzzzyz{z{z{z{{{{{z{yzzzz{|z{{||{zyz{zzzz{{z|{{{{{yzzzy{{|zz{zz{{{{z{zzzz{{z{{z{zzzzzz{zzzz{z{zzz{zyzzzzz{{z{{z{{zzzzyzzzyy{zz{y{zxyyyyzyzzyzzzyzzzyyyyzzzyzy{{z{zzzyzxzzzzyz{zz{yzzyyyzyzyzzyyz{zyyyyyyyzzzzyzyzzyyyzzzyyyzzz{zzyyzyyzxyy{{yzzzyzyzyyzzxzyzzyyzzzyyyyyyxyzzzyzzyzyyyzyyyyz{yzzzzyzyzzzxyyzzz{yzyzyyzyxyyzz{zyzzzzzyzzyyyyzyzy{zzzyyyzzyyzzzzzyzzyzyyzyyzyzzzzzz{zyyyyxzyzzzzz{zzyyzzzzyzzzzyz{{zyzzyzyyzz{z{zz{{zyzzzzzyyz{zzyzz{yzzzzz{z{{zz{z{{z{zzyzzz{{{{z{{zzzzzzyyz{z{z{{{zzz{zzzyz{zz{{z{z{zzzz{{z{{zz{{z{zzzyz{z{zz{{{zy{zzyyzzyz{z{{z{{{z{zzyzz{{{{{{{zz{zzzzzz{{{z{{{{z{zzzz{{{zz{z{z{z{{yzzzzz{z{z{{{{yyzzzzyz{y{zz{{zyyyyzzzzzyz{yzz{yzyyyzyy{zzzzzzzzxzyyyyz{zzz{{zzyyyzzzzyzyzzz{{zzyyyzxzyxzzzz{yzzwyyyywzzzyzzzzzyyyzzzyyzzyy{zyzzyyyyyz{zz{zzz{zzyzyyyyzyzyzzz{zyyyzyyyzzzzzyzyzzyyyxxxyzz{zy|yzyyyyyyyzzzyzz|zzyyzzxyy{zyzzzzzyyzxyzzyyzzzz{zzyyzyzyzyzzz{y{z{zzzyyxzyzzzyyy|{zxzzzy{zz{z{{{{{yzzyzzyzzz{zz{z{yzzz{yzxyzzzzzzyyzzyzzzyzyz|{{zzzzz{yzzz{zzzy|{{yzyzzyzz{z{zz{z{yzz{zzzz{zz{{{{{{zzyyzyyz{zz{z{zzz{zzyzz|{{z{{{|z{{z{{{z|zz{{z{{{zzzz{zz{|{|zz{zz{zzzyz{{{zy{{z{zxy{zyzzyzzzz|{{{{y{zyzy{zy{zz{{zzzyzzz{zz{z{{{zzzzzyyzyz|z{zzzzzzzzzyz{{zzzyzyyyzyyyxzyyzyzzzzzzyxyyxzy{zzzz{zz{yzyyyzzzzzyzz{zzzyz{yyyxzzyyyyyxzyyxyyyyyzzy{zzzzyxyyyyz{zyzzzyyyyzyzyzyyzzyyyzzy{xyyyxyxyyx{z{yyyzyyxyzzyyzz{yyxyyyyyyzyyyzzyzyzyyxyyxyyyyzzzzyyzyzyyyxyzxyyyzyyzxyyzzyzzyy{yzyyzyyyyxzzzz{yzzzyyyyyzzyz{zz{|{zyyzyxzzyzyzzyzzyyzyyyyyzzy{zz{{yyzyzyzyyz{zz{zzyzyyyyzz{z{y{z{zyzyzzyzy{zzyzzz{zzyxy{yzzz{{z{z{yzzzzzzzzzz{zzyzyyyyzzyy{{{{z{|{zyzyzzyz{{zz{y{{{y{zz{z{z{z{z{{{zzzzz{zzz{{{{{zz{zzzzzzz{{{z{{z{zyyz{zyyyz{zzz{{{{zzyzz{zzz|{{z{z{yy{zzzz{zzzz{{zzz{yyzzyzz{zzzzyzzzyyzzz{zz{{x{xyxzyyyxy{{yzzyzyyxyyyxyz{yyzz{{zzyyyzyxzzyz{{zzzzzyyzyyyyzzzzzzyzyyxxzyzz{yyzy{yyzyxyyxzzzyz{zzzzyxxxzyzxzyzyzzyyyyyyyxyyzyyy{yzyyxyyyxyzy{zzzzzzy{yxyyyzzzzzzzzyzyyzyyzzzyyzz|yyzyzxzxyyyyyyyzyyzyzxyyxyzyzyy{zyyyzyxyzzzyyz{zzyxyyzzyzzyzyzz{zy{yyyyy{zyyyzzzxzzzyzyxzzz{{zz{zzyzzyzyz{zzzzzzzzyyzyzyy{zzzz{zzyzyyyyyzzz{z{zzzyzzzzzyz{{{|{zzzyzzzzzyzzz{zzz{zyzzyzyzy{{z{{{z{yzyzyzzzz{{yz{zz{zyzzzz{{z{{z{z{zyzyzzz{|z{{{{{zzzyzy{zz{y{zz{zzyyyzxz{zz{{{{z{{zzyzzzzzz{{yz{zyzyyyz{yy{{{{zzzzzzzzyyyzzzzzz{z{yyyzzyyyzz{zzzzzyzyyyyyzzzzzzzzzyy{xyzyyzzyzz{zzzzwxxzxzyzzyyzzyyyyxxzyzzyyyzzzyyzxxyyyzyzzy{yzyzyyyyyxy{yzyzyzzzzyyyyxzyzzzzyzyyyyzyyzzyzyyzzyyyyyyyyyzzyyzzzzzyyzxyxyyyzyzyzyyyzyyyyyyz{{yz{zyxzzyyyyyyyzyzzyyzyxyyzyxyzzzzz{xzyzyyxxzzzy{z{zzzyzzxyxzzzzzz{|zyzzyyyyzzyzyyz{yyyzzyyyzzyzyzzzyzyyzyzzzzzzzzz{yxzyzzzyzzzzzzzzzyyyzzyxy{{zzz{{zzyyzzyzzzy{{{zzyzzzzyyy{zy{z{{{zyz{zyyyz{zz{{z{zzzyzzyy{z{{y{{{zzyyzy{zz{z{{{{|zyyyyzzzy{{zz{{zzzzyzzyyzzzzzzzzzzy{zzzzz{zyz{{{zzyyzyyzzzz|yzzzyzyzzyzz{zzzz{{{{{zzzyzyy{z{zz{zzxzyxyyyzyz{yzzzyyyyyyyxyzyyyy{yyyzxyyxyyzzzyz{zzx{yyyzyzzyzzzzzyyzyyyzyzzzzz{zyyyyyyzzyyyzzyzyzzyyzyxyxzzzyzzzzzxyyzxyyzzyyzyzzyzxyyyxxyyyyxzy{yyyxyyxy{zyzyzzyyzyxxyxyyzzyzzz{yxyyxyyyyyzzzyzzzyyyyyzyzy{yzzyyyxxyzyyxyzyzzzzzyyzyzyyxzzyzyzzyyyzxzyzyz{zzyz{zyyzzyyzyzzzzyzzzyzyxyyyxzzzzzz{yzyzyzyyz{{{{zyzzzyyzyyyy{{z{zzzzzzyzzzy{zzzyzzzyyzyyzyyzzy|zzzzyzyzzzyzz{yz{{zzzzzzyzyzyzz{{zyzz{zxzzzzz{zzzzz{zzyyzzzzzz{zzz{{z{zzzy{zyz{zz{z|z{yzzyzzzzz{{{zzzzyz{zzzzzzzzz{{zz{zyzyzzz{zz{{{zzyyzy{zzy{zyzzy{{zzzyyzyz{yzz{zzzyyyzyzyyy{z{zz{zyzyyzyyyzzyzzz{yyyzyxzyyzy{{{zyzyyyyyyyzyzyzz{zzzyyyyyyzz{zy{z{zyyyyyzyyzyyyyyz{yzyzzyzyyzyy{{yyyzyzyzyzzzyyz{zzyzyyxzzyzyzz{zzzyzzyxyyyyyyzzyyyxyyyyyyzzzyzzzzyzzyzyyxzy{zzyzzzyzyzzyzzyzzyzz{zyyzyyyxyyzzz{zzyyzyzyzyzzzzy{{{{yyyyyxyzzzz{zz{zyyyyyzyzz{zz{z{yxyzyyzzzzzzzz{{zyyyyyyyz{{zz{yzzyyzyyzyyzz{yz|zzyzzzyyzz{{zy{zzzzyzz{yz{{z{{zz{yzyz{yzz{z{z{{{{zzzz{yzyzz{y{z{z{zzz{yzz{{z{{z{zzzzyy{{{{zyzzz{|zyzzyzzzz{{{{{{{{zzzzyzyz{{z{{{{zzzz{zz{{zzzzzy{{{{zzzzz{{{z{{{{zyyzzzyzz{{|z{z{yzzzzzzxz{z{z{{zyzyyyyzz{zyyzzzzyzyzzyyxyzzzz{zzzyxyzyzyyyzyzzzzyzyzyzzyzyzyz{{zzyxyzyyzzzzzyzzzzyzxyyyyzzyzyzyz{zyyyyzy{zyzzyzzzyzxxyzyzzzyzzzzzzyyxyzzyzyzzzzzyxzxzxyxzzyzzyyzzyyyzzzzzzzzzzzzz{zyyyxxyzyzyzzzzyyyyyyyzzyzyz{{{yzzzyyzyzzzzzz{{zzyzzyyzzyzzz{{yx{yzyzzzz{zy{zzzzyzyyyzzzzzzzz{yyzzyyzz{z{zyz|z{zzzzyzy{{zy{zzzzzzzyzzy{{zz{z|{zyyyzzy{{{{y{zyzzyzyyzyz{{{z{z{{zzz{zzzz{{zz{{|zzyzzzyyzy{{z{{|{{zzzyzzy{zzzz{zzzy{yz{{z{{{{zz{{{zyzyzzzz|{{zz{{{yz{zz|{zzzzy{{zzzzzzzyzz{{|{{{{|z{z{zy{y{{{z{{{zzzzzz{zzzzzz{z{z{zzzzyzz{z{{{zzzzzyyyyzzzz{{zyzyyzzzzyxzyzzy{zyyzzyyyyyyzzzzzzzzyyyyzyyzzzyz{{zzyyzyyyyz{z{zz{zyyzyyxzyzzzzy|zzzxyzzyyyxzzzyzzzzyyzzyyyzz{zyzyzyyyyyyyzzyzzyzzzyyyzzyyxzyzzzz{yyzyyxzxxyyyz{yzzzy{zyzyyyzyz{zzzyyyyyxyyyzyzzzyzyzyyzyyxyzzyz{zzyxyzzyyy{zzyzx{zzyxyzyzyyzzzzzzzzzzxyyyxzzzyzz{{yyzyyyyzzz{{zzz{zyzzzyzyz{zyzz{zyxyzzy{yzzzzz{{{zyy{zyyzzzzz{{zzzyyzyyzy{zzzzzzzzzyzyzzzzzz{z{z{zzzzzyzzz{{{{z{zzyzzzyzz{{{y{{z{{{zzyyz{zzz{{{|{{zzzzzzyz{zzz{{zzzzzzzzzz{{{zzz{zzzzyzz|yzz{{z{||zz{z{y{zz{|{{{|z{zyyzzyzzz{{{{{{yzzyyzyzzz{{z{zyy{zyyzzzy{zz{{yyyzzxzyxyzyzyyzzzzzyyyyzzzzzzzz{zzxxyzyyzzyyzz|zzzyzyyyyzyzz{yz{zzyxxyzzyzzyzzzzzxyyyyyyyzy{zzzzyzzyyxyyyzzzyzzyzyyzzyzyyzyzzz{zyyyyyxzyyy{zxzzzzyyyyyyzy{zzzzzzzyzyyyyyyzz{zzzzzzzyzyzzyzzzyzzzxzzyzyyyyyzzzzzzyyzzyyyyyzzzzz{zzzzzzyzzz{{{{zz{zyzzyx{{yzzzyzz{yzzyzyyyzzzzzz{zyzzyyyyyz{yz{{zzzyzyzyyzz{zzz{zzyyzzzzyy{{{zz{zz{zzzyzzyzz{z{{{zzzy{zz{zz{{{{{{{yzyzzyyzy{{{zz{}{zzzzzyzz{{zz{{{{zzzz{z{zzzzz{{z{yyz{{zzz{{{{z{{|zz{yzzzzz{zz{{zzy{zzzzz{zz{{{{{zzzz{zyzy{zz{{{{zzyyzyyz{zz{{{{z|zyyzzzzz{y{zyz{yzzzzzzy{zzzzzzzzyzyyyyyyzzzyzzzzzyyyyzyzyzzzyzzyyzyzzzxy{z{z{z{yzyzyyyzyzzyzzzyzzyyxyyxzzyzzzz{yyyxzyzyz{zyzzzzzzyzyzyyzzzzyz{zxz{y{yyyyyzyz{yzxzyyzyyyyzzzzzzzzyyzyzxyyzzyz{zzz{zzyzzzyyzzzzz{zzxyyyzzxzzyzzzzzyyzzyxyzzyzyzzzyyyyzzyyyyyzyzz{zyyyzyzyzyzzyz{zyz{yyyzzzzz{y{{{yz{yyzzzz{z{zy{zy{zzzyzzzz{zz|zyzzzzzzyzxz{zzz{zzzzzzyyzz{{zyz{z{{zyzzyzzz{{z|{{zy{yzy{y{zz|{{|{zzzy{zzyz{{z{y{{{zyzzz{z{{zz{{{|zzzyzzzzy{{{{z{{{{zzyzzzz{{{z{{{{z{zzzzz|z{{{{zzzy{zyzzzzz|zz{{{{zzzz{zzz{z{{{{|{zzyyzyzzzz{{zz{zzyzzzzyyzz{zz{zyyzzyxzzzz{zzz{zyyyzzzzyzzyz{y{zyyyzzyyyzyzyzz{{y{xyyzyyzyzzz|z{zyzzyyyyzy{zzz{zzzyyyzyyzyzzz{z{yzzyyyzyzyyzzz{yzyyzxxyyyyzzzyzzzyyzyxyxyyz{yzzzzyyyyyyyzyyyyzzyzyyzyyyyyyzyzyzyyyyzyzyxz{{{zzzyyyyyzzzxyyzyzzzzyyyxyzyyzzy{z{zzzyzzzzyy{{{zzz{{zyyyzyyyzzzyz{z{zxzyzxzzz{yz{zzz{zyyyzyzzzzz{z{{zyzyzzzzzzy{z{{zzzyyzzzzz{{zzzz{yyzzyyyzzz{zzzzzzzzzzz{zzzz{|z{{yyzzz{zzzyz{z{|{{yyzyyzzzzzz{{zz{yyzyyyy{{{{{{{zzyzzzz{y{z{{z{|{|zzzxz{zzz{zz{z{zzz{zz{{{z{{{z{zzzzzz{z{{{zz{{{|{zz{zzz{zz{{z{{{z{zy{{zz{{{{{z{zzzzzyzyyyz{zz{y{zyzzzyyyzyzzz{yyyyyzxyyyy{yz{zzyxyyyyyyyzzzzz{{zzzyyyyyzyzzyzzzyyzzyyyyyzzz{zzzyy{yxxxzxzz{zzzzzyyyxyyyyyzzzzzzzzzyyyyyyzzzyz{zzzyyyyyyyyzzzzyzzzzzxzyyyzzzzzzzzzyyzyxxzzyzyyy{yzzyxyyyyzyzyzzzzyyzyyxyyyzzyyyzzyzyyy{xyzzyzyzzzyyzyzyyyzzzzz{zyyyzyyyzz{zzzz{z|yyyzyyzz{zzzyz{zyyzxyyzxyzyzzzz{zyyyyyyzzzzy{z{zyyzyzyyy{zz{z{{{zzzzyyzz{{zzyyzzzyzzyzzzz{{{{{{zyyzzyzzzz{zzzz{z{yzzzyyyy{{zz{yz{z{zzzyyz{{zz{{zzzzyzyzzzzz{zzz{zzzz{yzzz|z{{|{z{zzzzzyz{{z{zz{z{yzzzzzyzz{z{{{z{zyzzyz{z{{{z{zzzzyyy{zy{{zz{z{zy{yyy{zzz{z{zyzzzzzzyzyyyzzz{yzzyyzzyzyzyzyyzyzzyyxxyyyyz{yzz{{{{yyxzyxxzzyyyyzzyzyyzxyyzzzzyz{yzzyyxyxyz{zzzzyzyyyyzyzyy{zzyzzzzyyyxzyxzzyzyyzyyyyxyyyyzz{yzy{{yyyyyyxyz{zzyyzzzyyyyyyyyyzyyzzzzzyyyyyyyzzyyyyzyxyyyyyxyzzyz{zzxyyyywyyyzzzyzzzzyzyzzyyzyyzzzzzzyyyyyzyzzy{zzyzzyyyyzyzyyzzzzyz{yyyyzzyzzz{zzzyzzyzzzzzyzz{{{zzzzyyzzyyzzzzyz{zzyxzzyyyzzzyz{z{zyzzyzy{zz{|zzzzzzzyzyzxz{{{{z{{yyzzyxyy{{{zzz{zzyyyzz{yz{zzz{{{zyyyzzzzz{zz{{z{zyyyyzzzz|{zzzzzzyyyyzzyzz{zz{{{{yyzzzzyzzz{zz|{y{yyzyzzzyz{{{zzzzyyzyyzz{zzzz{{zyyzyyyzyzyzy{zzzzyzyxzyyz{zzz{zyzyyxyzxyz{zzyzzzyzyzyyzzzzyz{{zzzyyyzyzzzzzyzzzzyyyyyyzzyzz{z{zzyzyyyyzzzyzy{zzzzzxyyzxyzzzzz{zyyyyyyyyzzyzz{zyyxzyyyyyyzyzz{yyyyyzyyyyzyyzz{{yyzxyzzyyyyyzzzzyzzzzxyzyyyzzzyz{zyzyzxyyyzzyyzyzzzxyzyyyz{zzyzz{yzzzyzyy{zzyz{{zzzzyyyzzz{zzzy{{yzzzzyyzzz{zzzz{zyzyzyzxy{zyz{zz{zzyzyyzzzzy{{y{{yzyzzzzz{{z{zzzzzyzyy{zz{zy{{{z{zzzyzyzz{zz|z{zzzzz{zzz{{{{z{{z{yyzyzzzzz{z{z|zzzyyyyzz{zzz{z|{zzy{zzzz|{{{{{z{zyyzyzz{|}{{|{{{{z|zzzzz{{{zz|z{zzzz{zyz{{zzz{z|zz{zz{z{{{y{y{{z{zzzzzzzzzzzyz|{z{zzzzyzzzzzz{zz{yyzyy{yzzzz{yzzyyyzzyzxyzzyzz{zyyyzyyxxyy{yzzzzzyyyyyzyyzzyzzzzyyyyyyzyy{zzyzzyyyzywzyyzyzzzyzzzxyyxyyzzzz{zyzyyxyyyxxyyxzyyzzyxzyxyyyyzzyyzzzyyxyyyyyxyyzyzzzzyzyyyyyyyy{zzzzyyyzyxyzxzzyzzyzzzxyzyxxzyzyxzyzzzzyyyyzzyzyzz{zzyyyyzxyzz{zzzz{zyyyyzyyzzzzz{zz{zzyzyyyyzzzzzzzz{yzyyyx{zzzzzyyzzz{zzzyxz{{zz{zyyyzyyyzyyy{zyzzzyzyzyyzzzzzyzzzz{zzyyzzz{z{{zz{zyzzzyyzzz{{zz{z{yyzyyzyy{{zyzz{zzyzzyzzzzz{z{{{yyzzz{z{yz{z{z{z{{zzzyyzzz{zzz|{|z{zzyzzzzyz{{zz{zzzz{yzyyz{z{{zzyzzzzzzz{zz{{z|{zzyyzzzy{zz{zzzz{yzyyzzyzz{{zz{zyyzzyzzyyzzzy{zyxyyyxzyyyyzzyzzzyyxzyxxyyzzzyzz|yzyyzxyyzzyzzyzyzyzyxyyyzzyzxz{zyyzyyyyxzzyyyzy{zyzyxyyyyzzyyzyyyyyxxxyxzzzzyyzyyxyxyzyyyyzzyzzzxyyzxyzyyyyyz{{zyzxyxyxzzyyzzyzzyzyyyyyxzzzzy{z{yyyzyy{xyzyzyz{yxyyyzyxxyzzzyzzyyyzyyzxyyzzyyzzzyyyyzyyxyy{zzzyzyzyzyzzyzyzyzz{{yyyyyyyz{zzz{zzzyy{zzxyzy{zzzzzzyzzyyxyyzyzyzz{zzz{zzyzyzzzzy|zzy{z{yzzzzzzzzzz{yzzyzzyz{{zzzz{{{yzyyyzy{{{yz{{z{yy{z{yyz{z{{{{{{zzyyzzzyy{|zz{z{zyy{z{yy{{z{{z{zzz{zzzzz{z{zzzyzyzzzyyzzzz{z{z{zzyzzyzz{z{|{{z{zzzyzzzzyzz{{{{{zzyyzyyy{zzzzz{yyxyzyyzyzzy{zzz{yyyyyyyyyzzzyzz{zzyyxy{zzz{{zzzzzzyyzzzxzyzzzz{zyzzzyzzyzzy{zzzzzzzyxyyxzzzzzzzzzyyyyyyyyy{zzz{yyzyzyyxz{z{yyzz{z{zyyzyxyyyyzz{zyyxyyyyyzzzyzzzzzzyzyyyyyyzzyy{zyzyyyyzxz{zzzz{zzyyzzyxyyzzzyyzzyzyyzyyzyzyzz{zzyzzzyyyyzyyz{zz{{zzyyyyzzz{{zyyzzzyyzyyzzz{zzzz{zxzzyzzz{{zyz{zzzzzzzyyyy{{{z{zzyyzzzyyzzz|zz{{{zyzyzzzy{{zzyy{zzzzyzx{zzz{{{z{{zzyzyz{z{{{z{zz{z{z{zzyzz{{z{{{{zzz{zzzz{{{z{|{{zzyzyz{zz{{{zz|z{yzzz{yz{{{{z{{{{zy{zzzz|{z{zz{{{zzyzz{z{|zzz{z|{zyz{zzy|{z{z{{zzzzyzzzzz{zzz{{zzz{zzzzzzz{z|zz{yzzzzzyzzz{z{zzyzyyyzyyyzz{zyzzzyzyzyxzyyzzyzyz|{xyyyzzyzz{z{{zzyyyyyyyzzzzzyzzzzyzyzyyyzyzzz{yzzzyyyzyyyyyyyzzzzyzyzyyyyyzzzzzyxyzyyyzyyyzyzz{{yyyyyxzyyzzzy{zyyzzzyyzyyzz{zzzzyyzzxzyzyyz{yyzzzzyyzyyyzzxzyy{zzyyxyyyyyzzzyzzzzyzzy{yzzzyzz{zzzyyxyyzyzzyzzzz{zyyzyzzzz{zyz{z{yyzyyyyyz{zz{z{zzyzzzyzxyzzzz{zzzyyyzzzyzzzz{z{yzyzzzyyyz{zzy{{zzzyyzzzy{zzz{{z{zzzzyy{z{z{zz{{zzyzyyyzyz{{yz{zz{zz{zz{y{|zzz{{{{zyzzz{{z{y{{{{|zzz{z{zzy{{{z{{{{zz{yzzy{{{{{z{{zyzzzzzz{zz{{{{{z{zzzz{{{z{{z{zzzzzzzyzzz{z{{{{z{zzzzyy{z{yzzyzzyxyyyzyy{y{yzzyzzyzzxyyzzyzyyzzzyyyyyyyyzzzyzzz{zyyxyzzyzzxzyy{{zzyyzxxyzz{zyyzzzzyyyyyx{zyyzzzzzyyyyyzzyzzyzyyzzyzzz{yyzzzxy{zzyyzyxyyyzyyzzzzyyyxyzyyyyzyyyzyzyyxyxzxzzz{yzzyyyxyxyyxyzzyzzyzzyzzyzxxzyzzzyzyzyyyyyyzyy{zzzz{yzxyyyyxyz{zyyzzzyyxyyyzzyzyz{zzzzyyyzzyyzzzzz{y{xyxyyzzzzz{zyz{z{zyzyyyyz{zzzzzyyzzyyyzyzzzzz{{{zyzzxyzz{zy{z{z{yzyyyzzzz{{{zz{{zyzyz{{zzz{zz{{{{y{zyzyyzz{zyz{zzyzzzyz{{{zzz{{zzzyyyzzzzzz{z{{{zyyz{{{zy{{|zzzzzzzzyz{{{zz{z{{{zyzzzzyzzzz{{z{zzzzzyyy{y{{z{z{{zzzzyyyyzzzzz{{{zzyz{zzzz{{zz{z{zzyyzyyzzy{yyzyzzzzyyxyxyzzyzz{zzyyzyyyzzyzyz{{zzzyyyyzyzzzzzyzyyzyzyyyyzzz{zzz{zyyxyyyzzyzzyyz{yyzyzyzyzzyyyzy{zzyyyyxyyzyzyzzzyyyyyyzy{zyzyzzzzxyzzyyyyzyyyzyzyyyyzzxzyyzzzzzzyxyzyyyyzzzzyyzzzyzyyyyxyzzyyz{zyyzxyyzyyzyzzzz{zyyyz{yyzzzyzz{zzyyyzyxyy{zzzzz{{zy{yzyxzzyzyzzzyyzyyzyy{yz{zz{{yyyzyyyyz{z{{{zzyzzyzyyzy{zzzzzzzzyzzzyzz{{zzzzz{zyz{zzzzzzz{z{zyzz{zzyzzz{{zzz{{zzzzzzyz{{z{z{zzyyy{yzz{|{z{z|{{zzzy{{{zzz{{{z|{zyyz{zzz{|{zzzz{zz{zzz{{zzz|{z{zzz{yyzz{z{{{{z{{zzz{{zzzz{{zzz{yzzz{zyzz{z{{{zz{yzyyzyyy|zzyzzzzzzyzyyyzyzzzy{zzzyzyyzyyyzzyz{zxyyzyyyyyz{z{zz{zzyyyyzyzyzzzy{zzxzyyyyyzz{zyz{z{zyyyyyyzzzzzzz{zzxyyyzxyzyyz{{zzzyyyyyyzyyzzzzzyyzzyxzzzz{yy{{{yyxyyyyyyzzz{zzzzyyyxyyzzyzzyyzyxzzyxyxyyzyz{zz{xyyyzzyyyzzzyzyzzzyxyzxxy{zzzyz{zyzyyzyyyzyzzzzyzyzyyzzyz{z{{zzzzzzzzxzyyzyzzzz{yyyzzyzyz{zz{zzzzyzzyxyyzz{zzzz{zyyxzxyyzyzzzz{{zzyzzyyzzz{zy{zzzzzz{yyz{zzzzz{{yyzzzyzz{{{{zz{z{yzyyzyzz{{zz|{{{{yzzzzy{|zzz{{{zyzzz{z{{z{{||{{{zyzyzzz{zz{z|{{{zz{xzyyzz{{zz{zzyzyzzy{z{z{{{{z{zz{zzyzzzz{{z{|y{yyzzzzzzz{{{{z{zyzy{zyyz{{zzzzzyzzyzyyzy{yzzzzzyxyxyyyyzyxyzy{zyzyyyyzzzzyzyzzzyyxyyyyzyzzy{{zyyzxzzyzzzzyzy{zzzyxxxyyyyz{zzyzyyzyxxyyyzyyzzzzzyzzyyzyzyzzzzzzyyyyyyxyzzzzzzzzyyyxxyxyyyyyzzzyyzzyyzyyyzzzzzzyyyzyxzzzyyzzzzzyzxyzyxyyyzzzyzz{yyyxzyzyyzyzyzzzzxyzzyzyzzzyzy{zyyyyyyyzzzzzzzz{zyyzzyyzzzzzz{zzyzzyzzyyz{{zyzzzyyyzyxzzyzz{z{{yzyzyzyyyyy{{zzzz{zyzzzzzzz{zy{{z{{zzzzzzzz{|z{{{yz{xzzyy{{zzzzz{{zzzyyzzz{z{{{{zzzyyzzzzz{zz{z|{{yz{yz{zz{z{{{{{{z{zzy{zy{zzy|{{{z{zzzzz{{zz{{z{{{zzzzy{zz{{{z{{{yzzzzzzzz{{{{{{{y{y{zyz{z{zz{{{zzyzyyzyzz{{yzzy{y{yxzyyzzzzyzzzzyxzyyyyyzzxyzzzzyyzyzxyzyz{zzzzzxyyyyyyzzyzz{zzzyyxyzzyyzzzxy{zyzyzyyyyz{zzzyzzyyzyyzyyzzy{zzyzyyyxyyxyyzyzyz{yzzzyxxyzzzzzzzzzyyxzyyyyyyyzyzzzzyzyxyyzzyzzzyzzzyyyyzyyxz{zzz{zyyyyxxyxyyyzzzyzzzxyyxyyyyzzyzz{yyzyyxyzzyzyzyzyzy{yyyzzyzyxzzzzyzzyyyzyzz{zzzzzzyzyyzyyyyyy{zzzzzzyyxyyyzyzzzzzyyzxyzyyyzzyzz{yzzzyzzyzz{{zz{z{z{yzzyzzzzy{{z{zzyzyyzyz{zz{{zz{zzz{zyzzz{{z{{{zzyyzyz{z{{z{{z{{z{zyzz{z{zyz{{{|{zzzz{zzz{z{zz{{zy{{yzyz{{z{zzz{zzzzyzyz{|{z{{|{zzzyzzyz{{y{zz{{zzzyy{zzyyz{{z{{zyzzzzyzzz{zzzz|zzzyyzyxz{{zzzzzzxyzzzzyzzzzyzyzyzyyyzyzyzzzzzyzzyyxyyzyzz{z{zzzzyzyyyyyyyyyzz{{zyyyxyzyzyyzyyzzyyyxxyzyyzxyyzzzyyyyyzyyyyzyyzyzyxxyyxxyzyxyzzyyyzyyyyxyzzyzyyzyyxyzxyxyyyz{yy{zzyzzxyxyzyzyzyzzxyyyyxyyyz{zyzyyyzyxxyyyyzyzyzyzyyyyyzzyyyzyzzzyzyyyyyyzzzzzzzzzyyzyzxyyyzzzyy{zxyzyyzyzzy{zzzzzzyyyyyzyzyyzzzzyzzyzyyyyxzzzyz{zzzzzzzyzyy{yyzzzzyzzyzyzyzz{{z{yzzzyzy{zz{zzzzz{zyzzyyyzz{{{{{{z{zzzyyyyzz|{z{{z{zyzzzzyz{{{zzzzzz{zz{yzz{{{{{{{zzzyyyyz{yz{z{{{{yyzzyzz{{z{z|||zz{zzzxz|zzz{{{{zzzzzy{zy{zzz{{{{zyzyzzyzzyzzzzzzzzyyyyyzz{zzyzzyzzxzyyyyzzzzzzzyyxyyzzyzyzzzzzzzzyyzyyxzzzyzzy{yxyyzzyxz{{yyz{zzzyzzzyyzzyyyzz{yzyyyxyxyzy{zzzzyxzyyzyzzyyyy{yzzyyyyyyzzyyzyzzzyyyzzzyyyzyzzzzzzyzyyyyzy{zyzzzzyyyzyyyyyzzyyzzzyzyzyyzyzzyyzzzyzzzyyzyzy{zzyzzzyyzzyyyyzyz{yz{zzyyzzyyyzzzzzyy{zyzyyzzzzz{zyzzzzyyzyyyzy{{yzzzzyyyyyyyzzz{{zzzzzyyzyyyyz{zzz{{{yzyzzyyzz{zyyzz{zyyzyzzzzzzzz{{|zyzyzz{zzzzzz{z{z{zzzzzy{{{z{{{{zyzzzz{z{|{zzz{zyyzzz{zzz{zz{zz{{zzzz{zzy{{{z{{z{z{{zzzy{z{{z{z{zzzyzzzzzzz{|z|{{zyzzzzz{{z|z{{{{{zyzzzyzzzz{{{{{zzzzzzy{yzzyzzzyz{xzyzyyzyyyzy{zyyyyyyyyzzyz{zzxyyxyxzzy{{zzzzyzyyyyyyx{zzzzz{zyyyzzyxyyyzyyy{z{zyyyyzyyzzyzzzzzyyywyyzy{zyzzzzyzzyyyyyyyzxzzyzyyzzyzyxzyyzy{yzyzzyyxyzzzzyyzzzyyyzyyyyzyzyzzzyyzyyxxxyyyzzyy{zy{yxxxyyzzyyy{zzzzxyyyyyy{yzy{zzzyzyzzzyyzyzzz{yyyyzyyzyyzzzzz{zzyzyy{{y{yzzz{{zyy{zxyyyy{y{zzzzzzyzyxzzyz{zzzz{yyyyyyxyz{{z{yzzzyyzzzyyzzz{zyzzzzyyzzzzzzzzz{{{yyyyzz{z{zzzz{{{{{zzyyzz{{{zz{zz{yyzzzzz{zz{z{{zz{z{zzzzzzzz{{{{zzzzy{zy{{{zy{||{yz{yzz{{{z{{{{z{zyz{{{yzzzy{{{{zzzzzzyz{{z{{z{{|zyyzzzzzzzzz{{{z{zzyzzyz{{zzz{{zzzyyzzyy{{{zzzzzyxzyyyyyzz{yzzzxxzyxyzxzyzzzyz|zzyxyzyyz{yz{zzzzyyxyyyxyyzzzyzzyzyxxyyyyyzzzzyzyyyyzzzyyzzyyz{zzyzyyzyyyzzzyzyzyyzyyzyyyyyzzz{zyyyxyyxyzyzyyz{zyyyyxxyyyyz{zzyyyyzxyzyyzzzzyzzzyyyyyxyzz{zzzzzzzzyzzxyyyzz{yzyzyyyyyzxxyyyyzzz|zyyyzy{xzzzyzz{{zzyzyyzzzzzzzzy{yyyyyyyyyzzz{z{zyzy{zyzxzzz{{{zzyzzzyyyyzz{zzzzzzyzzzyzyzzzzzzzzyzyyzyyyzzz{z|{zyyzz{zzyzzz{{{{{zzzzyzyyz{z{z{{zyzzyzy{z{zzz{{{{yyy{zz{z{{z{z{z{{yzzzzyyz|{|z{{{{zzzzzyzz{zzz{{{zyyzyyyzzzzz{{|{zzz{zzzyz{z{|zz{z|zy{{zzzzzz{z{{zyzzzz{z{z{{zzzzzzyzyyzzyzzzyyzyzyxzxxxyz{{yy{zzyzyzzyxyzzzzzzzzzyyyyyzy{yzzy{{yzyzxyzyxyzzyyyzyzxyxxxyxyzzzz{z{xzyxyzyyyzzyy{zzyzyxxzyyzz{yyzzzzzyyyyzyyyzyzz{zyyyyxyyyyzzyyy{zyzyyyyyyzzzyzyzzyzzyxyyzzyyzzyzzzyzyyyzyyzyzyyzzyzyyyyyyyzzyzzzyzyzyyzzyzyyyzz{zzzyyzzzyzzzz{z{zzzzzyyyzyyz{yzy{yyyyyyyzzzzzyzzzzzyzzyzyyyzzz{z{yzzzxyyyzzzzzz{z{zyzzyzy{zzyzzzzzyzyzzyyzz{z{z{yyyyzzzyy{{y{zz{zyyzyy{yzz{{{z{|z{yzz{y{yz{zzz{z{{zzyzyzzzy|{z{{{zzzzzzzzz{zz{{{z{yzzzzyz|{{z{z{{zyyyzzzzzzz{z{{{zzyzzzy{{z{{{z{|zzzxyyzz{{z{{{{zzyyyzzzxy{z{zyzzyz{yyzyyyz{z{yz{yyxyyyyxz{zzzzyzzyyzyyyyzz{zzz{{zzxyyyzyz{zyzz{zyyyzzzzyzz{zzz{zzzzxyyxyzzzyyyyyyyyxyzzyyzyyy{zzyyxxyzyyzz{yyz{z{xyyyyxzyyzzzzzyzyyyyyxyyzyzzz{zyzxyyzyyzxzyzy{xyyyyyywxyzzzzzzzxyzzxzyyxzyyz{zzyzyyzzzyyzzzzzzzyyyyyzyyyzzzyz{zzzyyzyyyyzyzyz{|zyzzyyzy{zz{yzz{zyyzyyz{zzyzzzzy{{zzyyzyzzzzzzzz{zzyyyzyzz{yzzz{zzxzzzyxz{yzzz|zzyy{zyyz{{zzzz{zzzzzzyzyzzz{zzz{zzzzyzyzzzz{{{{z{zzzz{zz{{{{{|{{{zzy{{{zzz{{{{z{{zzzzz{zz{{{z{{{zz{{{z{zzz{z{{zz{yzyzz{z{z{{zz{{z{zzzzzzzzz{zzz{z{zyzyzz{z{{{zz{{yzzyyzzz{y{z{{zzzzyyyz{zzz{zyyzyyyzyyyxyzzzzyyyzzzyzyyyzzzzzz{zyzzyyyxzyyzyyzzzzzzzxyxyyyzzzzz{zzzyyzyxzzzzyzzzzyzxxzzxyyzyzzzz{yzyyxyyyzzyzzz{yyyyxyyzyzyzyzzzxyzxxyyyyyzzzzyyyzyyyyyyyzyzzzzzzyz{yzzyzzzzzy{zzyzzxyzyzzyzzz{zzxxyzyyyy{yzy{zzzyyyzzyzzzy{yz{zyyzyzyzyy{zyzz{zzy{zzyzyzzzz{zz{zzyyyzyzzz{{z{{zyzyzyzzzzy{zzzyyzzzyy{yyzzzzzzy{zyyyzyzyz{{{zzzzzzzzyyyzz{{zzz{{zzzzzzyzz{{zz{{{zzzzzzzzz{z{{z{{zzzzyyzzzzzz{zz{zzzzzz{z{z{z{{z{zzz{zyzzz{{{{{z{zz{zzyyz{zzz{{|z{zzyyyzz{zzz{{{z{{zzzzyzz{zz{z{zz{zyyzz{{zzzz{{{{yyzyzzyy{zzzz{zzzyyz{yyzz{{y{yzzyxyyyzyy{zyzzzzyzyyyyyyyyzzzz{zyyyyzyyy{zyzz{zzyyzyzzxyyz{zyzzzzyyxxyzyyyzyzyyyyyzxxyzyzyzzyzzyyyxyxyxzzzyzyzz{yyyxyzxyyyyyyzzzxxyyyyyxzzzyzzzyzyyxyyyzzzzyyyzzxxyzxyyxyzyzxz{xzyyyzyzyyzyyzyzzzyyxyxzyyyyyyzzy{xyxyzzyzzy{{yzzzyyyyyyzyyy{zzzzyzzzyyzyyyyzzzz{yyyxzyxyzz{y{z{{yyyzzxyyyzyzzzzzzyyzyzyxzzz{zzzzzyyyyxyyy{zzy{zzy{zyyz{zyyz{zz{zzzzzzyzyzzzzz{{{zyyzzzyz{{{zzz{z{yzzzyyzz{zzzz{{zzzzzzzz{{{zz{z{{yzzyzyzy|{zz{{{zzzyzyyz{z{{{{zzzyzzzyz{{zzzz{{{{zy{zzzyy{zz{zz{zzzyzzzzz{z{z{{{zzyz{yyzz{yzz{z{yyzxzyzyyzzzyzzyyyzxyyyyyyzzzzy{zyzzyyyyyyzyzzzzyyzyyzyyzxzyzzyzyyyyyyzyyz{zz{z{zzzyxyzy{yzyzzzyyyxyyzyyyzyzyz{zzyyxyyyyzzzzyzzzzxxyyyxxyyyzyzzzxyyxyxyxzzyyzyzyzzyyyyyzzzzyz{zyzxyyyyyyyzzyyzz{zyyzyxyxzzyzyyzzyzxyyzzyyzyyyzyzyyzyyzxyzy{zzzz{zyyyyxyzy{zyzz{zzyzyyxzyyyzzzyzzyyyyyyyyzyyzyz{yyxzxyyxyyzzzzz{zyyzyyzxyyzzzzzzzzyzzxyzzzyzzzzzzzyzzzyyzyz{z{{zyzzy{zyzz{z{{zzzzzyyzyyzyz{{{zz{zzzzyyyzzz{{{zzz{zyyzzzzzz{zzzz{{{yzyy{zyz{|{z{{{{yyzzyzyzzzz{z{{{zyzzzyzzzzz{{{{|zzzzzyyz{zz{{{{zyyyzxyyz{zzyz{{zzzzxyyyy{{{zzz|zyzyzzyzzz{zzzzyzxxyxyzxyy{zzzyzzyxyyyyyzyyyzz{zyyzyyywy{zzyzzz{yzyzzyzyzyzzyzzzyyyzyyzyzzyzyz{zyyxxxyyyzzzyyzzyyyzyxzxyyyyyzyzzyxyxxxxyzy{zyyzzyyyxyzzyyzzzzz{zyyyxyyxyzyzy{zzyyyzyxyzxzy{yyz{zzyyxyyzyyzzyzzyzzyyyyyyzzyzzyzzyxyxyzyyyyyzyzz{zzyyyyyzzzz{zzzzzxzyyyxzzyzzzzz{zyxzyyyzyyzzyzzyzyyyyzyyyxzzzzzz{yyzzzzyyzz{zyyzz{zxyzyxzyzzzz{yzyyzz{zzz{zz{{{z{zzzyzzzy{z{{zz{{yy{yzzzy{{z{zz{zzyzyzyyz{zzzzzzzzzzyyz{z{|{y{{zzzyzzyzzy{{{{{z|{{z{{zyzy{{{{yy{zzyzyyzzzyz{zz{{{zy{zzzzzzzz{zzzzz{zyzyzzzzz{{{{{zzyyyyzy{{{zzzzzyzyxyyzyzyzz{zyyzyyzyxxyyy{xzyzzyzyyyyzxzzzzzyyyyzyyxzyyzzzyzzyzzzzzyxyxzzzzyz{zyyzzxyxxzzzyyzy{zyyxzyyxyzzyzzzzzzzzyyyxyyzzyzzyyyyyyyxyyxzzzyzyyyyxyyxyyyyyyzzyyyxyxyyyyyzyzzz{yzyyyyxyzzzzyxzzzyyxyyyyzzzyyy{zwzyxzyyyyzxyzzyzzyyyyyzzzzy{zzzzzyyyzyyyzzyzzzzzyyzyyy{zzzzzzzzzyyzyyyyyzyz{zzzzyyzzyyzyzzzyzzzzyyzxyyzy{zzzyz{yzyzyyzyxz{zzz{z{zzzyzyyzzzzy{{{zzzyzzyzyzzyzzz|{zyzzzzyxzzzzz|z{zzzzzzzzz{{y{z{{z{zzy{{zz{{{{z{{zzzyzzzzz{y{zzzzzyyyzzyyz{{zz{z{zyzzzzzzzzzz{{{|{yzy{yzzz{zzzy{{{{zyyzyzzzz{z{{{zzzzyzzzyzzz{yzzyyyyyyzyzzzzzzyxyzyyyzzxyzzyzzyzyyyyyxxyyzyyyyzzzyyyyyyyyyyyyzz{{yyyyyzyyyzzzyzzzyyxxyxyzyyzzzzzyxxxzxyyyyyzz{zzyyyyyyyyyyzyyzyzxyzyzyxxzzyyyzzzyyyyzyxyyyyzy{{yyyyxxyyyzyzzzzz{zyyyxyxyyzyzyzzzzxzyyxywy{yyyzzzyyyyyxyyyyyzyxzzyzxyyyyx{yy{z{zyzzxyyyxyzy{yyzzzyyyyxyxzyzzzzzzzyyyzxyzyzzzzz{{{zzyyyyzyzzzzzyzzxyyzyyyyzzzzzz|zzyzzzyyzz{zyz{yyzyzzzzyyzz{{zz{zzzzyzyzz{zzz{{{{zzzyyzyyzz{yzzzzzyzzzyzzzz{z{{{{yxzz{zzyz{z{{{zzzyzyzzzyz|zz{z{{zz{zzyzzzz{z{{zz{zzzzzyz{{{z{z{{yzyzzzyzz{zyz{z{yzzzy{yyyz{zzzzzzzyyyyzyz{zzzz{{yzyzyyyyzzzy{z{yzyyyyyyyyzyyyzyzyyzyxyxyxyzyyzz{yzyyzxyyzzzz{yzzzxzyyyyyzyzzzxzzyxyxyzyyzyyzzzzzyyyyyyzxyzyyyz{zyyyyyyyyzyzzyzyyxyyyyzyyyyyyzzzzyyyyywyyxyzyz{zzyyyyzzxzyyzyyyzzyyzyzyyyyzzzyyz{yyzyxxyxzyy{zyyzyyyyyyyyzzzzz{zzyyyzyzyxzzyzzzzyyxxyzxyyzzzzzzzzyzyyyxzzyyz{yzz{zyyyyzzyyzyyy{{yzyyyyxxxx{zzzy{zzy{zzyzyzz{{{yzyyyyyyyzyzzzzzzyy{zzyzzzzyyzz{zzzyzyzyzzzyyz{z{{zzyzzyzyyyz{{zz{y{yzyyyyyz{zz{{|{zyzzyyzzzzzz{{zz{z{yzzzzzz{z{{{|{zy{zyyy|{{zzz{{zyzzzyzz{y{z{{{zy{zzzzz{z{z{z{z{zyzyzyyz{{zz{z|zzzzyyyzyzz{yzyzzz{yzyyzxzzzyzzzyyyxzyyyyyzzzzy{zyyyzyzyzzzxz{zzzzyzzyzzyzzzzzzzyzyyyyxyzz{z{yzz{zyyywxyyyyzyzyz{zyzyyzyyz{yzyzzz{xyyyyyyzy{zzyyzyyzyzyzzzzyzzz{zyyyxxyyyyyyzyz{zyyyxyyyxzzzzyzyyyyzyyxzyyyzzzyzzzyyzyyyyzyyyzzzzyyxyyyyyyyzzzz{zyxzzyyyyzzzz{zzzyzzyzxyyyz{zyzz{zyyyzyzyzyzzyzzzyyyzzyyyz{yzyy{{zzzzyyzxzzz{{zzzzz{xyyzyyzz{zy{zyyzyyyyzzzzzz{{zzzzz{zzyzzzz{{{zyzzzzzzyzzz{{{{{yyzzyzyzz{zzz{zzzzyzzzzzz{zz{{{z{z{yzzzzzz{z{|z{{xzz{{zy{|z|zz{{zyz{yzzyzzzzzz{{yyxzzzxzz{z{{{{{zyzz{{z{z{z{{{}|zy{z{yzz{{{zz{{zzyzzzyzzz{{|zz|{zyzzyxzyyzzzzzyyyyxyyxyyyyzzyzzzxzxyyxxxzzyzzzzyyyyyxzzyzzzzzzzyyyzzyyxzyz{zzzz{yzxyxyyxzyyyyzzyyyyyxxzyzzzzzyyzzzzzyyyyzzzyzzxyxxyxyxzyyyy{zzyzzyxyyxyxzzzyzyzzyyxyxyxzzyyz{zzzyyyxyyyyzzyzzzyzzxyyzyyxyzyyzzzywxzyyyyyzyyyzy{zyyyyyyxyyzzzzyzyyyyyyyyyzzzzzzzzyyyyzxyzzzzzyzzyyzyxyzyyzz{zzzzzzzy{zyyyz{zz{zzzzyzxzyzyzzz{zz{zzzzzyzzzyyz{zz{zzyzzyyzyzz{{zzzyyzyzzzzzzzzzzzzzzzzzy{yyz{|zzzzzzyyzzyy{z{{{zz{{zyzzzzzy{zzz{z{{zzzzyzyzz{zz{{{zzyz{yzzz{{z{z{z{zzzyzzyzzzzz{{z{{yzy{yyzzzzzz{{{zyyyzzyzzzzzzz{{{zyzzzyy{{z{zzzzyyyyzzyy{yy{{yyyyyxyyxyyyzzzyyz{zyxyyyyyyz{yz{zzzyyyyyyyzzzyzzzzzyyyzzyzyzzzzyzzyzxyyyzxzyzzzzz{yyyyyzxzx{zyzzzyyxyyyzyzyyyyz{yyyzzxxzyyyyz{yy{zzyyzyyyyzzzzzzzyyyyzxzyyyzyyzyzzyzzyyzyyy{yyzyz{zyyyyxyyzzyyz{zz{zyyyyzxxzzyzzzzyyzyyyyyzzz{zzzzyzyxzzyyzzzzz{zzyyzyyyzzyzzzyy{zyyzyzyzzzzzyz{zzyzyzzzyyy{zzz{{zyzxyzyyzz{zy{zzzzyzyyyzyzyzzz{y{zzyyzyzzzzzz{{|zyzzzzzzy{zzz|z{|zyyyyyzxz{{{z{{y|yyyzzzy{{{z{{z{z{{{yzzzzzzz{z{{zz{zzz{zzz{zz|{z{{z{zyzz{zz{zz{{zyzyzz{z{zzz{{{zzzyzyzy{{{zz{{zzyyzzzzzzzzz{{{zzzzyz{yzzzzz{zz{zzzyxzyyzzzzyyyy{yyyyyyyyyy{zyyzzyyyyyyyzyyzzzyzzzxyxyyyyzyyz{y{zyzyzyxyyzyzyyzzyyzyxyyzyzzzzyyy{zyzxzxyyzzyzyy{zyyyy{yxyzyzyyzzyyxyyxyxzyzyyzzyyyyyxxyyyyzzyy{xyxyyyzyxxyyzyyzzzzyyyyxzzyzyzyy{{yyxyzyzyyzyyzzy{yzzxxyyyyyxyyyyyzzyyzyyxzzzzyy{zzyyxyyyzyzzzyzzzyxyyzyzyzzzzzyzzyyzxyyzyzyzz{z{zyyyyzyyzzzz{z{zzzyxyyzzyzzzz{z{{yyxzzyzyzzz{zyzzzyzyzyyzzzz{z{{{zyzy{zzy{zz{zz{|{zzzyzzy{z{zzz{zzzyzy{yy{{{z{{{zyyzyz{zzzzz{{{{{{yzzyzzzz{yzz{|z{yzz{zyzzzz{zz{z{yzzzyzyzzzz{z{zzzzzzyyz{zzz{zz{zy{zzyzyzzz{{z{{zzzyzyyyz{zz{{z{yy{x{yyzyyzzyzzzyyyyyyxzzyzyzyz{yzyyzxzyzzzyzz{{zxyzyzyyzyzzyzz{zzzyyyyyyzz{zzzzyyzyyyxxzzyzzzz{yzyyzzxyzzyyyzyzyyyyxyyzzyyzzzzzzyyyzyyzyzzzyyzzxxyyyyxyzzzzyyz{zxzzyzxzyy{z{zyzzyyxyxyzzzyzzyzzzyyyzzyyyyzyyzyyyyyyxyyyy{yyzzy{yyyyyzyxzyzzyz{zzzyyyyyyzzzzzz{zyzyyzyyzzz{yyzz{yyyyxyzzyyzyy{{zzyzzzzyzzzzzyzzzzyzzyzyyzzyzzz{{zy{yyyyyyyzzzzzzzyzyyzzzzz{zz{zzyzyzzzzzz{{zy{|zzyzz{zyxz{{z|zy{zyzyyzzyz{z{zzzzzzzy{z{zz{zz{z{{{zzyzzzyzz{{{{|{zzzzzzyyzz{{{{zzzyzzzzz{z{{yz|{{zzyzzyz{z{z{{{z{zz{yzzyy{{{{{{{{zzyyzyyzz{z{{z{zzzyxzyyy{yzz{zzzyxzyzyzyzyyyzzz{yxyyyxxyxzzyzz|zyyyyyyyyzzzy{{zzyyyyyxyy{zy{zyyzyyyyyyyyzzyzyzz{zxxxzxxzyzyyzzzyxyzyxyxzzy{yyy{yyyyyyyyzzzyyzzzzxyxyyyyyzyyyyyzxxyxzyzyyzzzzzzzzyyxzwxxxyyyyzzzzyxyzxyzzyyyyy{yzyzzyyxxyyzyyzyyyyzzyzxxxxyzzzzzzyyyzyyyyzzyyz{yzzzzyyyyyyzzzz{zzzzzyyzzyzz{zz{zzyzzyzyzy{zyzy{{zyzyyyyzyzzzyzy{z{zxzzyyzz{{{zzzzzzyxzzyy{{zzzzzzxzzzzzzzzz{zz{{zzzyzzzzyyz{y{{z{zz{yyzzzz{z{{z{|zzzzzy{zz{z{{{|{zy{zy{y{y{z{{{{z{zzyz{yz{{{z{zz{{yzzyyyzzzzz{z|y{zzzzyzz{z{zy{{{zzzyzzyzzzzzzzzzzyzyyyyyzzyzyz{{zyzzyxyzzy{z{yyzzxyyyxyyyyxyzzzzyyyyyyyyyyyyzz{zzyyyzyyxzzzzy{{{yyyyzyxzzzz{xzz{zyyyyzzyyyzzyzz{zyyxyyyyyyzzzz{yzyyzyyzyyyzyzz{yxyxxyxyyzyzzzyzzyyyzyyyyzzzzzzzzzyzyzzxzzzzyzy{yyyzyyyyyzzyzzzzzzyyyyzzzyyyzyzzyyyyyxxzyyzyzz{{yzyzyyyyyzzyzzz{zzyzyyzyyyz{zyzzzzzyzyyyzzyzz{zyzzyyyxxyyz{zz{zzzyyzzyyyyz{zzyzzzyyzyzyyyzzzz{y{yzzzyyyyzzzzzz{zyzzzzzzyyzz{{z{z{yxzyzyzyzz{zz{z{zzzzyyzz{{z{{z{z{yzzzzyzz{{{{z{{zz{zyzzz{{{zzz{{{zzxzzzyz{y{{z{{{zzzyzzz{{zz{{{z{z{zz{zz{zz{z{|{{zz{{zzzz{{{{{{{z{zyz{zzzzzz{{{{zzzyzxyxz{{{y{{zzzzxyxyyzy{yzzyyyzyyzyyyzzzyzyzzyyxyyxyyzzzy{{{{zyyyyz{yzzzzyz{zyyzyyyyzzzzzyy{zyzyxyxyyzzzzyzzzzzyyyyyyz{yzzzzzyxyzyyyyyyzyyzz{yyyyyxyyyyzyzz{yxzyxyyyxxzzyyzzzzxzyyyxzyzyyz{zyzyyzxyyyzyyzzzzzyyzzzyywyzzz{zyyyzyxxyyyyyyyzzzzzyzyyzyyzzzzyzz{yzyzyyzzzzzzzzz{{yyzyyzxz{zzzzz{yyyyyzzzy{yy{z{zyzxyzxzyy{{zyzzzyyzyyyyyzzz{zy{zzxzzyzzzzy{zz{zz{zzyzzy{z{zz{yzzzzz{zyyz|{zzzzzzyzz{{zzzz{{z{z|zzyyyzyzyz{z{{z{zzzzzzzzzz{z{{{z{zyyy{zz{y{{{zzz{{yzzzzzyz{zzz{zz{yyzyzzyyzzzzzz|zzzzzzzz{{{yz{z{z{zyyzyzyyz{y{zzzzy{zyyyyzzz{{{{zyzwyzyz{zzyzzyzyzxxzyyxyzzzyzz{yyzyxxyyyzyzzzzzzyzxzyyyzzzyzyzzzxyyyyyyzzyzzzzyyyyyyyyyyxzzzyyyzxzzzyyxyzzyyzyyzyyyyyyyyyyzy{zyzyyywyyyzyyyyzz{yyxyyyyyxyzxyzzyzyxyxxxzyyzyzyyyyyyyyyxyyyzzzzyyyyzyxyyyzyyyyzzyyzyxyyyzyyyyy{zxyxyxyyyzzyyzyzzyyyyzxyzzyyzzyz{zyyyzyyzyzzyzzzzzx{zyyxzxyzz{yzzyzyzyyyyyyzzzzzyyzyzyyyzyzz{zyz{yzyyzzyyzzzzzzzzzyzzzzyyz{yz{yz{zyzyzyyzz{zz{zzy{zzzzyzyzzz{zzz{{yyyzz{zz{{{{zy{{zyzzzzzy{zz{zzy{zyyzyzyzzz{{{z{zzxyzzyyy|zzzz{zz{yzzzyz{zzz{{zz{{zzzzzz{z{{{zzzyzzzyy{zyz{zzzz{zzzyzyz{zzz{z{zzzzyzyyyzzzy{zyzzzyyzyyyyyyzzy{zz{yzyyyxyzyzzyz{z{zxzyyyyxzzzzzz{{zyzzyyyyyyyzzzz{zzyxxyzxzyzzyyzyyyyyyyyzzyzzzzzzyyyyyyxyzzzyyzz{yyyyxyyyzyyyyyzzyxxxzyyxzyyyyyzyzyyyxyxzzzzzyyzzzyyyyyxzyzy{zyzzzyxyyyzyyyyyzyz{yyyy{xyyyyyzz|zzyyyyyzzyzzzyzzzzzyyxyyyyzzzzz{zyzzxzyyyyzzzzzz{{zyyyyyyyyy{zyz{zzyzzzyyyzz{zy{{zyyzxzzyzz{zzyz{{zyzzzzyyzz{zzzzzyyzyyx{zy{z{{z{zyzzyzzzy{{z{zz{{zyzzzy{y{{zzz{{zzxyz{zzz{{{{{{{|zyzzzy{yzzz{z{{z{yyyz{zzz|z{yzzzzz{zzyyzzz{{{{{zy{yyyzyzyzzz{z{|zzzyzzy{{{z{{zz{yzyyzyy{zzzz{z{{{zyzzy{yzzzzzzz{yyzzyxzxzzzyz{zyyyyyyyyyzyzzyzyzyyxzyyyzyxzyyzzzzyzyyzyyzyzzzzzzzzzyzxyyz{yzzyz{yzyxyyyxzzzyyz{{yyyyyzyyyyyyxzzyzxzxyyyxyzyyyzyzzxxyyzyyzyzzyzzyyyxzyxxxyzyy{yzzzyyyyzyyzzyzzzzzyzyyyyyyyzzzzyzz{yzyyxyzyyzyzyzzyzzxzyyyyzz{zzzyzyyxzyzyzzzzzzzyzzyxzzzxzzyzz{y{yyyyxyyyzy{zzzz|yzyzyzzxzzyzz{{{yyyzzzy{zz{yzzy{yyyxzxzzy{z{y{{y{yyzyzyyzzzzzzyz{zzzyyzyz{zz{{{zzzzyzyzyzzz|zzz{yzzzyzyyzzzzzzzzzy{zzzzz{{{zz{{{zxzzyzyz|{y{{|{{zzyzzzzyz|{{z{zzzzz{{yyy{zz{zzz{zzzzzzzy{zyzz{z{zzz{z{zz{zz{{z{z{zyzzyyy{zy{{{{z{zzzzzyy{zz{zzz{yyzzzzyzzzyyz{zzyxyyyxyxzz{zyzzzyyyzzxyyzz{z{yzzzyxyzyyxyzzzzz{{{yzzxzyyzyzz{zz{zyyzyzzxyzz{{zz{yxzyyyyyyzyzzzzzzzyzyzyy{zzzzyzzzzyyzzyzzzyyzz{zzxzyyxyxyzzyyzzzzzyzyyzyyzzy{yzyyyzyxyyyzzyzzyzyzyyyyzyyyzyyzzzzzyyyzzzxzyyyzz{yyyzyyyyyzzy|zz{zyyzyzyyxyyyyzy{zyzzyyyyyyyyzyzzzzzyyyzzzzzzz{yz{yyzyzyyyyzzzz{{{yzzzyzzyzzzzz{{zyyzzzz{y{zz{||zzzzyzzyzz{{z{{zzzzzzz{yyz{{z{{z{}zyzzyyxyz{z{zzzzzzzzyzzz{zzy{{{zzzzzzzzz{zzz|{{{{yzzyzzzy|zz{{{{{{zz{zzzzz{{{{{z{zzzyzzyz{z{{{z{{zzz{yy{z{z{zzz|{zzyzyzz{{yzzz{zzyzxzyzy{{{{zzzyyz{xyyzzyz{zzzzxyzzyxyzzyzzyzzzzyyyzxxyyyyzz{z{zzzxyyyyzzzyzz{zzyyyzyxzyy{zzzzzzzzzyyzzxzyzyyyz{yyyyyyzzzzyyyzz{zyzyyyyyzyzyzzy{zyyyzyxyy{yzy{yzyyzyyyzxyzyzyxzzzyxyyzyyyzyzzyzz{yzxxxyzyzzzzzzzzyyyyxxyyyyzzzyzxyyyyyyzzzyzzzzyyyzyzyzyzzzyz{zzzyyxzyyyzzzzzzy{zyzzyyzyzzzy{z{{zyzzzzyxzzzz{{z{zyzyyxzyzzzz{zz{zyzyyyyyzz{zzzzyzyyyz{xzzz{z{zzz{zyzyzzyz{z{zzz{yyzyzzyzzzy{zz{{zyzzyyyyz{z{{z{z{yyy{zzz{{z{zz{zzzzzzzzz{zzz{||z{yyzzzzyz{zz{{|z{zzzz{{z{{zz{{{{{yzz{zyz{{zy|zz|{zzzzyz{zzzzzzy{z{zyyzzzzzz{yzzzzyzyyyzyzzz{zz{yyzzxyzyyzzz{zzzzxyyzyxxyyyyyzyyzzzyyyyyyzyyzzz{{yzyyyxzyzzzz{zy{zyyyxzzzzz{zzz{zyyyxyxyxyzzz{zzzyyzyyyyyyyzyyzzzzxyyyxyyyyyzyyzyyyxxxzyyyyxzyzyyyzyyyyxyyyzyxzzyyxxxxzyyxyzzzyzzxyyxxyyyzzyzzyzyyyyyyyywxyyzyyyy{yyyzyzyyzyzyyzyyxyxyyxyyzy{zyzzzyyyzyzy{z{yzzzzzyzyxyzyyyzzyzzzyz{xxyyyzyzyzzzyzyzyzyyzz{zz{zzxzyyxzyyxzz{z{{zzzyzyyyyyzzyzyz{zzzy{zzzyz{{{zyz{yzzyzzzzzzzzy{z{zyyzyyzyzzzzzzzzzyxzzzzz{zzzz|{{yyzyyz{yzz{z{{{zzzzzzzzyz{z{{|{{zyzzyyzy{{{yzzyy{zz{{yz{zzzz{{zzzzyzyyy{{zz{{zy|z{yyzzzyz{zz{{{{yyzyz{yzz{yzzzz{zzzyyyyyzyzyzzzyyyyyyyyzxzzyyz{yyyyyyyyx{zz{yzzz{yyyzyyzyyzzzz{{zyyyxyyxzyzzyzzzyyyyxwxyzyzyzzzyzxzyxyyyyyzxyyz{yzxxyzyyzyzzz{zyzzzyyxyxyyy{zzzzxyyyyxyxzyyyzzzzyzyyxyxyyy{zzyz{yxyyxxyxyyzzzzzyzyxyyyyyyyzyxzzyyyyyyxxzyyyyzzzzyyyzyyyyyzzzzzzzzzyzxzyzzyzzzyz|zyzyzyzyzyzzyzz{yyyyyzyyyzzz{zzzzzyyzxyyyyx{zzzzzxyyyzyyyzzzzzyzzzyzyzyzzzzzzz{z{zyyyyyzyzzz{{{zzy{yyzyzzzy{{{zzzyyzzyyzzyzzzz{{zyyzyzyyzzzz{{{zzzzzz{{zzy{zz{{{{zyyyz{zz{z{zzz{zzzyzzzzz{z{z{z{zzyy{zyzzzyz{{z{{zzzzyyyzzz{zzz{zzzyyyzyzzz{{zzzyzyyzy{zz{|z{z{zyyzyzyyzzzz{{yzyyyyyyyxxyyyzyzzzzyyyyyyyyzzzzzz{zyzyyyzxz{z{zzz{zzyxyzzzzy{zzyzyzzyzyyzyzzyzzzzy{yzxyxzxxzzyzzyzzxyxyxzzyxzyyyyzyyxxxzyxzxyzyzzyzyyxyyyxyzzyyyzyzyzzyyxyzyzzzzzyyzzxxyyyyy{zzzzzyyyzxyyyyzyzyzyzxzyyyyyxyzyyz{z{yzyyyyyxzyzzz{z{zyzyzxzyyzzzzyzzyyzzyxzzzyyzzzzzzzzzyyyzzz{zzzzzzyzyyyyzz{zzzz{zzyyyyzyyzzzzyzzzzyzzxyyyyzzzz{zz{zzzyzyyz{zyz{zzzzzyzz{zz{zzyz|zzzyzzyzyzz{{{z{zzzzzzzzzz{{z{{z{z{zyz{{zzz{zzz{{|yzzzyyzy|z{zz{|zzzzzzzz|z{zz{y{{zxzzz{z{zzz{z{{zzzzzxz{z{y{z{{{{zzyzz{zzzzzz{{{{yyyzzyyy{{zyzz{zzyzyyyzyzyy{yyywxyyyxxyyzyzyzzzzzyyyxxyyyzz{yyzyyyxxyxyzzzyzz{zyyzxyyyyyzzyyyzzzwzyyxxxyzyzyzzyyxyxyyzyyzzyzyzzyyyxyyyyyxzyxzyxzzyxyyyxyyzyzzyzyyxxxyxyzzyzzz{yzyyzxyxyyzyyyz{yyyyxyyzxyzyyzzz{zxzyyyyyzxzyyzzyxxxyxyzyyzzyyzyzyxzyyyyxzyzzyyzzyyzxxxyyyzzzz{yyzyyxyyyyzzzyzzyyyyyxyyzyyyyyyzyzzzyyxyyyzzyyz{yyxyyyyyyyyzz{yz{zyyyzyyyy{zyyzzzyyyzzzyyyzzz{z{z{zxyyzzzzzzy{{z{{zzzzzzyyy{{zzzzyzzzyzxyzzz{z{{{zzzy{y{zzzzzy{{{z{zzzzzzzz{zzzz{{{y{yzyxz{z{z{{{z{yyzyyzyzz{zz{{{yzyzz{yyzzz{zz{{zzyy{yzy{zy{{zzzzyzxyzyyzzzzzz{zyzzyzyyyz{zyzzzyyzyyyyzyxyzzzzzzyyyyzyzyyzzzzz{{{yyzyyzyyyyzzzzzzyyyyzyyy{zzyzz{yyzyxzyyzzzzzzzzzyzyyyzyzzzzzzzzyyxyyzyyzy{zyzyzzyzyyyyyxzyzyzzzzxyyzyyxzyzyzyzyyxyyyyyyyyzzyz{zyyzzyxyyyzyzyz{{yzxyyyyyyyyyzyzzyyyyyxyyzzyzyzyzyzzyyyzxzz{zzzyzzzyyyyyzzzzyzz{zyyyyyyzzzz{zyzz{zzzxyzyyyyzyzz{zzyyyzyyz{z{zyyzzzyzzyzyyz{zzy|zzyzyzyyzzz{z{y{zzzzzyyyzyzyz{{{{zxzzzzzzzzz{yz{{{yyyzz{zyz{z{{z{z{xzyzy{yzz{yz{|{zzzzz{{z{zz{zzzzzzzyyyzz{{{{{{{{z{zzyyzzz{{{z{|zzzzzzzzzzzz{z{zzzzzy{zzyzzz{}{{{{z{yyyzyyzz{z{zz{zzzzyzxz{z{zzz{yyzyzyyzzzzzyzyyyyyyxyyyyyzyzzyzyxyyyxyyyy{zyzzzyzyyyyzyzyyy{yzzyyzyyyyzyzzzyzzzzzyyyyyyzyzz{zyzyzxzyzyyzyzyyyzzyyyxxxyzzzyyyzzyxyzyyzyzzzyyyzzyyxxyyyyyyyzzyyzyyyyyyyzxzyzyzzzzyyzzyzyyyyyzzyzzzzxzyyyxzzzyx{zzzzyyyyzyxzzyy{{zzyyyyyzxyzzy{z{zyzxyyyyyzzzzyyz{xzzyyzzyzyzyzzyzyy{zzyxyz{zz{yzz{yzzzyyxy{zyy{zzyz{zzzzzyzz{z{{zzyyzzzxyyzyzyz{yzyyzyzz{{z{yzz{{zzzzzz{zzyyzzz{z{zzzzyy{z{zzzzz{{yzyz{{y{zzzz{{{zzzzy{{zzz{z{{z{{zzzyzzyzzz{{z|{zz{z{yzz{z{{zzzzzy{z{yz{{z{{z{{|y{zzzzz{yz{zz{{{yyyxzzzyz{{z{z{|{zyyyyzyzzy{zyzzzyzyyyzzzzyzyyzzywzxyyyyy{zyzyzzyzyxyxyzyyyzyzzzzyyyxyyxzzzy{zyzyyzzyyxzyzzzyz{zzyzyxxyyzyzzyzz{zyzyzyyxzzyzzy{yzyyyyyyxzyzyyyzzyyyyyyyyyyzxyzzzyxxxyxyxyzzyzz{xyzxyyyyyzyyyyzzyyyyyyyyxyy{zyy{zyyzyyyyyyzyyyyzzyyzyzxyyyzzz{yzzzyzyyyzyyzyyzzyzyyyyzyyyyzzzzzzzzyyxyyzyzyzzzyzzyyyyyxzyzzzzzyy{yzzyzyzxzzz{yzzzzyyzzzyyz{{zzzzzyyyzyyyzzzzyyzzzyyyz{zzyzz{zzz{zzzzzzyyy{zzzyz{zyyyzyyyzz{{{yz{zzyzyzzyzy{{zz{{{zzzzzz{z{z{z{{{{{zzyzzyyz|{{{{{{{zzzzzzz{zz{zz{{zzzzzzzy{yzz{zz{zzzzzzyz{zzz{z{yzyzzyyzzz{z{{{zz{yyzzyyyzzz{zy{zzzyyxyzyz{zyzyzyxyyyzyyxzzzyzyzzyxzyyxyyzyzzz{yzzyyyyyyxyzzzzzyyyyyyxyzyzzzzzzzzzzzyxzyxzzzz{zzzxyzyyyyxyzzyy{{zyyyyxyyzzyzzyz{zyzyyyyzyzyyzyz{yyyyyxxyzyyzyzyzzzyzyxyxxyzyzzyyzzyyyyxxyyy{zyzzyxyyxyyyxyzzzy{zzyyyyyyyxyzzy{z{yzyzyyyyyzzzzzz{zzyyyzyzyzy{zzzyzyyyzyxzyzyzzz{{zyyzzxyyzzzzzyzyyzyzzzxzz{zzyzzzzzyyyy{yyy{{zz{zzyzyyyxyyz{{z{zzz{yzyzzyyz{zz{{{zyzzzzz{yzzzzzz{{zzzyyyzx{z{zz|{yzzzzzyyy{zzzz|{{z{yyzzzyzz{z{{zzzyy|zzzz{{z|zzzz{yyzzyzz{zz{{z{{zyzyzzyyzz{{{{{|{zzyz{yz{zz{zzz|zzzyzyyzz{zyzz{{zzyzzzzy{yz{zzzzzyzzyxyxyyzzyyxzzzyyyyyzzzzzyz{zzyxyzzyyyzzyzzzzyyzyzxyzzzz{zzz{zzyyxyyyyzyzyyzzzzzyxyyyzyzzyzzzyyyxyyyxzzzzzzzyyyzyzxyyyzzyyy{yzyzxxyzyzzzzzzzzyyzyyyyyyyzyyzzyyzyyyyyyzyyzzyzzyyzyxxyyxyzyyyyzyyyyxyyyyyzyzyzyyyyyzyyzzzzzyzyzyzyzyzzyyzzz{zzzzyyyzxyyzzzzzzzzzyyyzxyz{{zzyzzzzyyzzyzyzy{z{z{zyzyyyzyyyzyzz{zz{z{yzzyyzzz|z{z{zzyyyzzzz{{yzzzzyyyyzyxy{{{zz{{zyy{zzyzy{{z{zzzzzzzzyzyyz{zzzz{zzyzzyzzz{zzz{{{{{zzzz{zyz|{{{{{zzy|zyyzyz{|z{y{zzzzzy{zz{zz{zzz{yxzzzyyzzz{z{{{zzyz{{zz{{{yz{z{{{zyzyyyyyzyzz{zz{zzzzzyyz{zyzyzzzzzzyxzyyz{zzyyzyyyyyyyxyzzyyyzzyyzxzyyyzzzz{z{zyxxxzzzy{yzzzzyzzyyyyyyyzzz{yzzzyyyyxxyxyyzyzzzzyzzyzyzyyzyyyzyzzyyyyyyyyzzyyzyzyyyxyyzzyyzyyyyzxyzzyxyyzyzzxzyxyyyyxyxyyxzzzzzzzyzzxyxyyzzxzzzzyzyxzyyyyyyyzzzzyyyyyyyxyzyz{zzzyzyzyxyyzzyzzz{zxzyyzxyxz{yzzzzzyyyyyyz{yz{yz{{zxyzzxyyzzz{z{{|{yyzzzxyzzz{zzz{zzzzxyyyyyzzzz{zzzyyzzzyzzzzzzzz{zz{zyzzz{{z{{|z{z{zyzyyyz{{{z{{{z{yzzyyyz{zz{z|z{zzzzzyzz{z{z{{{{yxzzz{yzzzz{{{{zzzzyzyy{|z|z|z{zzzzzz{zz{z{z{{zzyzy{yzyzzzz{{{z{zzzzyyy{z{{{z{{{zzyzzzzyzzz{{{{zzyyyz{yzzzz{z{zzyzywyyyzzzzyzzzzyyxxxyyyzy{yz{zyzxyxxyxxzzzz{zz{xzyyzxyyzyyz{zyyzyzyyyxyzyyyzzzzyzxyxyyzyyzyyzzyzyyyyzxzyzzyzzzxyyyzxzyyzyyyzyyzyzyyyzyyyyzzzyzxyyxyyyxyzzzzy{yzxyxyyyzzzzzyzyzyyyyyxxyyzzyyzyzyyyyxxxxz{zzyzzyzyzyyxxyyzyzz{zyyyxyzyyxyyzzyz{yzyyyzyzyyzzzyzzzzyyxyxyzzzyzzz{{zyzyxzyy{zzzyzzzyyyyyxyyzzzzz{{zzzyzyyyzz{zzzy{zyyxxzzxzzzzyzyzzzzyyzzzzzzzzz{{zzyzyzyyzzzz{yz|zzzyzyyyy{{zz{zzy{yyyzy{z{{{zzz|{{z{zz{{zzzz{z{{{zzy{yzy{z{z{zz|{{zzzzyyxzzz{z{zzzzzyzyyzyzz{{z{{{zzzzyzzzzz{{{z{zyzzyyzxy{y{{zz{yyxzzyyx{z{z{z|zzyyyyxyyyyyzzzzzyyyxzxyyyzyyyzzyyyyzzzxyyzzzzz{zyyyxzyxyzyyyz{zyzzzyyyxyzzzxzzzzyzyyxyyyzzzzzyzzyyyyyyyyzzyyyz{yzyyxxxyyzzyyyzyzxyyyyyyyyyyzyyzzyyyxzxxyzyyyyzyzxyxyyywxxyyzyzyzyyyyxxxyzyzzyz{zzyyyzyzyyyyyzzzzyxyzyxzyyzxxxyzzzyyzzyyxyzzzzyzzyyyyzyyzzzyzzzy{yyyyyyyxz{{zzzzzzzyzyyzzyzzzz{zzzyyzyxyzzzzzzzzyzyyzyzyyzzzzzz{{zzxzzzyyy{zzzzzzyzzyyyzzz{z{y|zzyzzyyzyyzz{zz{z{zyzzzyyzzz{{zz{zzyyyyyzz{zzzz|zz{yyzzyyzz{zz{{zzzzz{yyyzy{zzzz{zzzzyyyzzzy{z{{{zzyzyzzzz{{z{z{zz{{{zzzyyz{zzz|{{yyyzzyyyyz{zzz{{{{yzyyzzz{zzzzzyxzyxyyxzyzzzzzxyyxyxyyyyyzzyyzxzyyxyzxxyzzzzy{y{zzyxxxxyyyyzyyyzzzyyyxyzyzz{zyzzzzzyxxzyzzyzyzyzyyyyzyxyzzyzyzzyzyzyzyyyzzyyyzzyyzxyyyyyyyzzzzzzyzyxyyxyyzzyyzzxyxyyyyyyyyzzzyyyzyzyyxyyyzzzyy{zzyyyyyyyzyyyzzyyxzyxxyxzyyzyy{zyzzzyyzyyzyzyzyz{zyyyyyyzyzzzzzzzyyzyxyzzzy{zz{zzzzzyxzyyzyzzzzzzyyzzzyyyyz{zz{zzzyyyyyzyy{zyyyzz{yxyzzyyz{{zzzzz{zyzzyyzzxzzzz{zzzzyzyyz{{yzz{{{{yzzzyyy{y{y{{{zzyzzzzzzzzzzzzzzyzyyzzzyyzyyz{{{{zz{zzyz{{{{z|zyzzzzzzzzz{{zzzzyzyyyzyzyzyzz{{{{zzyyzzzzz{{{{zzzzzyxyzyxz{z{zz{z{zyzyzyzyzzyzyz{yyyzzyz{zyzzzzzyyyxyzyyyy{yzyzzzyyyxzxxyzyzzyzyzzyyxyyxxyyyzyz{zyxyyyyyyyzzzyzzzyxyyzxyyyyzzyzzzyxyyyyyyyzyzyzzyyyyyxxyyyzzyyyyyyyyyyyxyyxyzyyyyywyyyyyyyzyyyyyyxyyzxyyxyzzyzzzzyyyyyyyyy{zzzy{yzyyxxxyyxzzyzzyyyzzwyyyxzzzzyzyzyxzyyzyyyyyyzzzzzxyyyyyyyyyzyzyzyyzyxyyyzzzzyzyzyyyzxyyyyyyyzzz{{yzyyxyyyzz{z{{zzxyyyyzxyyyzyz{zyyyyyzyyzyzzzyzz{yyzzyzzzzzzz{{{yyzyy{zz{zyzyzzzzzzzyzyzzzzz{{yzzyzzyyyyz{z{{z{{zzyyyz{{zzz{zzz{{zzzyyzzyzz{{zzzzzzyyzzz{zz{zzzzzzzyyzyyzzz{{{{{zzzzzzyz{{z{zzz{yzyyzzzzyzz{zz{zzzzzyyyyyzzyz{{zyyyyyyyzyz{zyyzzyyyyxyyxyzyzzzzzyzyxxxyzy{zyzyzzxzzxyzyyzz{zzz{yzyyyyyyyyyyzyzz{yzxyzyxyxzzzyzz{zyyyyyyyyzxyyyyyxyxyxyyyzzzzyy{yzyzyyyzyyyzyyyyzyxyxyzxyzzzxyy{yyyzyzyyyzzyxyy{yyyyxxxyyy{zyzyzzxxxyyyxyyyyyyzz{yyyxyxxyxzyyz{zzzyzyyyyy{yzyyyzzyxzyyyyyyzzzyzzzzyyxzzzzyzzzzyzzyyzyyyyyzyyzz{yyzy{yyxyyy{yzzzzyzxyzzyyyzz{z{y{zzzyzyyyzy{zzz{zz{zyzyzxz{{{{z{{{zzzzyyy{{{z{z{yzzzz{zyyxzzzz{zz{zyyzzyzy{z{zzz|{z|{yzzz{zz{zz{{y{yyzyyzzz|yz{{zzzzz{z{yzz{{{z{{{zzzz{zzz{z{zzz{zzzzyzzz{{z{{zz{{zyyzyxzzz|yzzz{zzzzzzzyyyz{zzyzzyzyzyyyxzyzzyzyyzxywzyxyyzyzyz{zzyyyyyxyzzzyzyyzzzyyzxyy{y{yyzzzyxzyyyyyyzzzyyzzyzxyyyxyyyzzzzy{zzyyyxzxyyyyyyzyzyyyyxyzyy{zzzzzywzyxxxyzyzzyyyyyyxyxxyxyzzzzzzzyyyxyzxyzyyzzyzz{xxyxyxyyzzzzyzzzyxxyxyxyyyxyzzyzyxwyyzyyyyzy{zyyyzxzzyzzzzzzz{{zyzyzxyzyy{yzyyzzyzzyyyy{yzzzyy{zyzyyyyyzzzzy{zyzyyzyzzyyzzzz{yyzzyyxzzy{{zzy{zzyyzyyzzx{{z{zzzyzyzz{zyyzzzz{|zzzyzzzzzyzzy{yzz{zzz{zyyzy{zzzzzzzyyzzzyyyyz{{z{{yyzyy{zzz{yzzz{zz{zyzzzyz{zz{{{{zzzzz{zzzzz{{{|zzzzzzz{zyz{zz{{{zyyzzzyyz{zz{zz{zzyzzzyyzy{zyz{{{zzyyzyy{{z{z{{zzyyyyzzyzzzzzzzyyyyxyy{yzyyyyzyzyzyyyyyyyzzyyzzzyyxwyyzy{zzyyzzzzyzyyyyxyzyzyzz{yzyxyyyyyyzyz{{zyyyyxyzyyzzyyyzyxyyyyyyyzzyyyz{{zyyyxyyzyzzyy{zyyyxyxxyxyzzzz{{yzzzyyyxyyyyyzzzzyyyyyyxyzy{zyyzzyyyzyyyxyzyyyyzzzyxyyyzyzzyyyzzzyxzxyyyzyzyzzz{zzyzzzxyyzzyyzzzzyzzyzyyyyyzyzyzzyxyyzyyz{zzzzz{{yyzz{yyyz{z{z{zzyxzyzyzyyzzzzz{zyyzzzzxyzzz{{zzzzyzzzzzyzyz|z{{{yzzzzyzzzzz{zzz{yyyz{zyzy{zz{{zz{yyzzyyzzzzz{zzz{zzzxzzz{zyz{zz{zyzzyzzzz{{zzz{zzyzyzzzyzzz{{{z{|z{zyzz{z{zz{{z{zyzz{zzzzzzz{z{|yzxyyzyzyzzzzzzzzzzzyyzxy{y{{yzyzyzyyyzyzy{zyzyyyyyxzxyyyzzyzzzzy{yzyxyyzzzzzzzyzyyyyzyyzzzyzzzzzzzyxxyyzz{yyzz{{zyyyyyyyzzzzz{zzyyxxzyzyyzyzy{zzzzyyyxx{yyzy{{{yyyxyyxyzyzzyzzyyyyyyzyyyzyyyy{zyyzyzyxyzzzyzzzyyzyyxyyyyzy|z{z{yzzyyxyxyzyzyzy{zzxxyyzzyyzyzzzzyyxyyyxyy{zzzzzzyyyzzyyzzyz{yyy{yzy{yyyyyyzzz{zzyzzzzyxz{z{x{zzz{zzzzxyzy{z{{{zyyyyyyyzyzz{zzzzzzzyyzyyzzzzz{yyzzzyzzzzzzz{zzzzzz{zzyzzzzzzz{{zz{yyzyyxy{z{zzzzyzyzzzyyzz{zyzz{yyzy{z{zzzz{z{{{z|zzzz{zzz|{{zz{{{zzzzyzzz{zz{{{zzzzzzzz{z{z{z|{{{zyz{yzyz{{{|{zzzzyyzyzzyzzz{z{{zzzyzzzzy{{zzz{zzyzyzyxyzzzzzyy{yyxyxxzxzzyyzyzyzyyyyxyxyyyyz{zzzyxxyywx{yyyzzzzzyyzyyxxyzzyxzzzzzyyxxyxzzzxy{y{yyyxyxyxyyyzyzzzyyzyyyyyyyyyxyyzyzyyyyyyyyyyyyzzyzyyyyyyyzzzzz{yzyyyzxxyyzzyy{zzzyxxyyxyyzzzzzzzzxwyxyyxzzyyxxyzyyywzyyyxzzyxyzzyyzyyyyyzzyzz{yzzzyyzyyzzzzyyy{zyzzyyyyzyzzzyzzzyyzyyxyyzy{zyzy{zyzzyyyyyzyzy{{zyyzyyxyyzz{{yy{zyzyyyxyzzzzzzzzyy{yyyzyyzy{y{zzzyyzzyyzyzyz{{z{zyyzzzzyzzz{z{z{zzxzyzzzy{zzy{{{{zyyzyzzz{{y{z{{{zyyzyzzyz{zzzz{{zy{zyzyz{zz{{zz{zzyzzzzzzzzz{{z{zyyzz{zzzz{y{zzzyzzxzyyzzzyzz{{yzzyzyxyzzzzyzzyzyxzzyyzyyy{zyyyzxyxyxyyyyzzyyz{yyyzyyy{yzyzzyy{{yzywyzyyzyzyzzzyyyyyyyzyyzzzyzyzzyyxyyyyzxzzyzyzyxyyxxxxzzyyyyy{yyyyxxxxyzyyyyyzyyyxxyyzyzzyzyyzyxxyyxyyyyxyyz{zxyyxxyxyyyyyzzyyxyyyyxxxyzy{zyzzxyyyyyzyyyyyyzzyyyyyxzyxyyzyy{{yyyyyyzyxzyzz{yzyyyyzyyyyyzzzzzz{zzxyyyzyz{zzzz{{yyzyxyyxzzyzyzzzyxyzzyyyzyyyzyz{yzxyyyzyz{{zzyzyzyxyzzzyzz{zy{{zzzzyyyyyzz{|y{zzzyzyzzzzyzz{z{y{zzzyyyyx{{{zz|zz{yzyzyyyzzzzy{{yzyzzzzzzy{yz{{{{zyzzyzzzzzz{z{zzzyzzzzzzz{z{z{{zzyzyzzzzy{{{{{{z{zzyzzzzzzzzz{{zzyyyyyzyzzzzzz{zzzyyxzyyz{zz{yzzzyyyzyyyy{zyzzzyyyyyxyxyzyzyxyyyxyyyyxxyyzzzyyyzzyyxyxyyzyyyzzyyzyyyyyxyyyzzy{{zyyxyyxyyzyzyyzzzyyzxyyzyzyyzzyzzxyyyyxxxyyyyzyyzyyyyyyyyzzyzyzy{xyxyzyyzyzyyyzzyyyxyxyxzyyxyyzxyyyyyyyyyxyyyyyzzzzzyyxxyzyzzy{yzyyyyxyyyzyyyyyyzyyyyzzyyyyzzyzz{yyyxyzyzz{zzyz{{zzzyyyzyzyzzyyzzyyyyzyyyyyyzzzzzzyzyyyyzzzzyzzzzzyzzyyyzyz{zyzzzyyyzyzzyz{zyyzzyzzzyyyzyzy{zz{zzzyzyzyyzy{zzzzzzyyyyyyzxzzz{y{{zzyyzyzyyz{{zzzzz{yzyzzzyyzzz{yzzzyzyzyzzy{zz{{zz{zzzzzzyzzz{{{{zzzyyzzxz{zzz|{{|zzyyzz{y{zzz{{zzzzzyyyyyyyzyzzz{{zzzyyzyyzz{yyzxyyzyyxxyzzzyzzyzxzzxyyyyzzyzyyzyxyxxzyyyzyyzzzyzyyxxyzxyyxzzyzzzyxyxywxyyzyyyyz{zxyyxxyxyzyzzzzyxxyxyyyyyzyzyzyzzyxyyxyyyyzyyyyzyyzyzzyzyxyxyzyzyyyyzxyyyyyyyyzyyzyyxyxyxyzyyyzzyyzyxxxyyyyyz{yyyyxyyyxxyzzyxzzzxyyzyyyyyyyyyyzyyzyyyyyxzyyyyzzyzzxyyxyzx{yyyyz{yxzyxxzyzyzzyzyzyyzyxzyyyyzzyzzyyyzyyxyyyy{z{zzyyzyyyyyyz{zyzy{zzzyzyyyzzzzzzzzzzyzyyyyzyzy{z{{zzzzyyyzyz{yz{{y{zzyzyyyxzz{z{z{{{zzyzzxyzzzz{z{|zzzzyy{{zz{{zzz{{zyzzyz{z{z{z{z{zzzxyzzyy{y{{{zz{yyzzzzz{zz{z{z|{z{zzzzzzy{{{z{{{zxzzyyyzzzzz{{|{zzzyyyxzzyzzz{zzyzyyxzyzyzyxzzyzyxyyyyxyyzzzyzyzyxxyyyxzzyzy{zzyyzwwxyyyyyzzzzyyzyyzyxyyyzyyzyzyxxwxyyxzzyxyzzyzyxyyyyyzzyyyzzyzyzyyyxyyzzyyzzyyyzxwyxyyyyzzy{yyxyyyyxyyyzxz{yyzzyyxxxyyzyyyyzyzyyyxyxyzzyyzyzyyzyzxyyxyyzyyzzzzzxyyyyyyzzzzz{yyxyyyyyyzzyyzzyzyyyyyyyyzzzyyyy{zy{yyyyyzzzyyzzzzyyyyyyyyzzxzzyyyyyyyyzxzyzyzzzyzzyzzyyzzyzzzyzzzxzyxyxyzzyzyyyzyyyzyyyyzzzzzzzzz{yyzzzzzzy{y{{{zyxzyyyyz{zzy{z{zyyzzyy{z{{zzzzzzyzzyzyzyz{yzz{{{zz{yzyyzzz{z{z{zyyzxyzyz{z{z{zzzyyzzyyyzz{z{zz{zzzy{yyzzzz{{zzzzzzxyyxzz{y{{z{zzyyyyzyxzzzzzz{zyxyxyyzyzyyy{yzyyyyyyyxyyzyyzyzzxxyyxyxyyzzyyzzyzyyxyzyyzyyyz{zzzxyyxyyyyzyzyyyzyzyyyyxyyyyyy{yzyyxxyyyyyyyyyzyzyyyyyzxxzzzyyyzyyxyyxyyxyzyyzyyzyxyyxxyyy{yyzyzzyyxxyyyzyyxyzzzzzyyyyyyxyyz{zyzzzyxzyxyyxyzyyzzzzzyyxyyzyzyzyzyzzyyyyyzyzyzzzx{zzyyyyyyzzyzxzzzzzxzzyyzy{yyzyyzzyyyxyyyyyzzzyzzzzxyxyyzxzzyyyzzyzzzyxxzyzzz{yx{yzyyyyxyyzzzzzz{{yxyzzyxyyzzz{zzzzzyxyyyyzzyz{{zzyyzzyyzxzyz|zz{{zyzyzzyz{zzyzzzzyyyyzzzy{yzzzz{{zzzzzyzyz|zz{zzzzyzzyyzzyz{{zzzzzyyzzzzzz{{zy{{{zzzz{zyzzzz{z{zzzzyyzzyxzz{{{z{zzzzyzyzz{y{zyz{yyyyxyyzyzzzyyzxxzzyyyxxyyyyzyy{zzyyyyxxyzyzyzzzzzzyxyyyxzzzyy{zzyyyyyyyxzyy{yyzzyyyxyyyxyyzyy{zzyyyyxxyyzzyyyyyzzyyyyxxyyyzzzyyyyyyyxyyxyyzzzzyyyzzxyyyyyzzyyyzyyxxyzyyyzyzzyzzzzyyxxzyxyzzzyyyzyyyyyyxxyyyyyyzzyyxyyyxyyzzyz{zzyyxyyyyxyzyyzzzzyzyyyyxyzyz{zyzz{yzzxzyzzzzzzz{{yyzzyyyzyyzyzzzzzyzyzzzzyzzzzy{xyzyyyyyyz{zzzyzzyzyyxyyzzzzzz{zyyzyyzyzyy{z{z{yzyyzyzxzxz{zzz{zzyzzzyyzzzzzz{{zzzyyzyyzyzz{y{{z{yzxyxzz{zzzy{z{zzyzyz{y{z{zzz{{{zz{{yzz{z{zzzzzzzyyyzzzzzzzz{zz{zz{z{zyz{zzzz{zzyzzyzxzzzzz{zzzzzzyzzyzzzzzzzzzzzyyxyxyyzyyzyzyyxyyxxxxxyyyyyyyyyyxyxyxyyyzxzzzzzxxyxzyxyxzzzzzzyxxyyyyyyzzzyx{zyyzwyxxxyy{yyyzzyyyyyyzxzyyxyzyzzyzyyyxyxzzzyyyzzyzyyyyyzxyyyyzzyyyxyxyxyyyyyzyyyyyyyyyxyyyyzzyyyyzyyyxxyyyyy{zzyyzyxyyyxxxyyzyzyyyyyyxxyzyyyzzzxyyyyzxxzzyzyyyyyyyyyxyyyzyyyyyzyyyyyyzyzyxzzyz{yzyzxxyyzzyz{zz{yxzyyxyzzzzzyzzzzyzyyxyxzzzyzz{zyyyzzyyyzyyyzzzzzyyyyyzyzz{zz{z{yyzyyyyzzz{zz{{{zzyy{zyyz{zzzzyyzz{zzyzzzzz{zz{{zzyzzzzz{{|zzyz{{yzzzzzyzzz{{zzzyzzyzyyzz{{zzzz{yyz{zzyzzzzzzzz{zxzzzzyyzz{zzz{z{zyxyyzzzyyyzz{zyzyzzyzyy{zzyyzzyzyyyyxyzzzyzyyyyzxwyxyxyyzzyzzyyyyyxxzzyyxzyzzzzxxyyyyxzyxyyzz{zzwyzyxyy{zyyzyyzyyyyxzxyzyzzyyzzyzyxxxyzzzxyyzyzyzyxyxyyyzyyzyyyyyxxyyxzyxzzzzyxyxyyyyyzyyyyyyyyxyxwyyyyzzyzzzyyyxywyxyyyzyzzzzzyyzyyyxyyyyyyyyzzyxyyyxyyzzzyyzxxyyyyyxyyzyyzzzxzyyyxzzyyzyzyzzyyyzyxyzzzzzzzzzzyyyyzzzzzzyzzz{zzyyzyyyyz{yzzzzyxzz{yxzzzzzzzyyyyyzzxyyzyzzzz{z{yyyz{yyzzz{zzzzyzzzzyzyzzz{z{z{yyyy{yyyzzzz{z{zyyyyzyzy{zzzzz{{{zzyyz{zzz{zzzzz{yyyy{yzz{yzz{z{zyz{zyyzzzzyzz{z{xyyzyzyzzzzz{{{{zzyzzyzz{z{{zz{zyyxzzzzzzyzyz{zzzyzyyyxyzzzyz{zz{yyyyyxyzyyzzyzzyzxyyxwzyzyyzzyyyxyxzxyyzzzzzy{yzyyyyyyzzxzzz{zyxzyyzyzyzzzyyyzyyxyyyzxyzyzzyzzyzzxxyxyzzzzzz{zxyzyyyyxyyyxyxzyyyyyxzxyyxxzyyzyyyyxyyyyyyxzzzzzxzyxxyyyxyzyzyyyzxzxyyxyzyzzyyzzzxyzyyyyyyyyy{zyyyyyyyxyxzyzzzzzyyyxyzyxzyzzzyzyyzyxzyyzy{{zzyzzzyyyzyyyyyyzyz{{yyyzyyyyyzzyz{{zzyyyyyyyyzyzzzzzzzyzzyxz{zzyzz{zzyzzzzzzyyzy{zzzzzyzyzyzzzzzzy{zyzzzzzzzz{z{{{z{yyzyyzzyy{{zz{{{{yyyzyzz{z{zzzz{yz{yzzzzz{z{{zz{{zyzz{zyy{z{z{{|{yz{zyyyzzzzz|{{{yyzyyyz{{yy{{z{{yzzzzzzzzzyzz{{yzzyzzyyzyzyzzz{zzxyzzzyz{zz{yzzzzzxyyzyzzzyzzzyyyxyyzyyzzzyyyyzyzyyyyxyyyzyzzzzzyyxxyyyyyzzzzzyzxyyxyyxyzzyyyzzyyxxyxxyyyzyxzyyyyyxyyxyyyzyzyzzyyyyyxxyzyywzyzzyzyyyzyxyxyzyyyzxyyyyxxxyzyzyyxyyzxxyxxyyyyyyyyyzxxyyyxzyyyyyyyyyyyyyyxxyyzyyzzzyyyxyxyxyzyzyzyzyxxyzxxyzxyyyy{zyyyyzxyyyyzzyz{yzzzyxyyyzyyyz{zzyzyxzyxyyy{zzzzzyyy{yyyxyzzzzzzzzyyzzyxyyyyyyz{yyyyyyyyyyz{zy{zzyyyyyzzyyzz{x{zyyzzyyzyzzzz{zz{zyyyzyyyxz{yzzz{zzyzzzyzzzz{zz{y{zyzyy{zzz{zz{z{{{yyyzyzyzzz{z{{zzzyzyzzzzyzzz|z{zzyyzyyzzzz{zz{{z{yzzzzzzzz{{{z|zyzyzyzyzzzzz{{zzyzzzyyyyzzyyzz{yxzxyyyyzyzz{zzyyyxyyyxyyy{zzzyz{yyyxxyxyzyyyz{zyyyzyzxyzzzxyzzyyzyyxyyzyzyzyyyzzyyxxyxxyyyzyzyzxzyyyyyxyzyxyzyy{xzyyzxyyyzxxyyyyyxxxzyxzyyzyzyzxxyyyyyxyyyyyzzyyzyyyxxyyyzzyyzyyyxxyxyxyzyzyzzyyyyyyyyxyzyyyyyzyxyxzyxyyzxzyzyyyxyxyzxxzzzyzzzyyzxyyyzxzzyyyyyyyyzyyyzxyyyyy{{zyyzyyyyzyyyyz{{zyyzyyzyxzzyyyyyyyyzxxzyyzz{yyyzzyzyzyzyyzzzxyzzzzyyyzzyyyz{zz{z{yzzyzzzyzyyzzz{{zyzyxyyyzzzz{z{z{yyzyzyxzzz{{{zzzyzyyyyyzzyzzz{zzzyyz{zzy{z{{zz{zy{zzzxyz{zzz{zzzzyyzyyzyzzz{{z|zzzyzzzzzzzzz{z{z{zyyyyzzzzzz{|yyzyyyyzzyz{zyzzyyzyyxyyyzz{zyyyzxxyyxyyxyzyyzyzxyyzywyxyyyyyyzzzyyyyyxyxyyzyy{zyyxzyyxxyyyy{yyzyxxxyxxxxyxyzzzyyyyyyyyyxyyzyyyyzzyyyxyxxzyyyzyyxyyywxxxxyyyzxyyzxxxxyxxxyyyyyyyyyyxxyywxyyzxyzzyzxyxxywwyyzxzyzyyywyxyyxxyzxyyyzyyxxyxxxyyxxzzy{yxyxxxyyyzyzyyyyyyyyyxyyyyyyzzyzyyyyyyyyyyzyyzyzyzxyyyyzyzzyzyzzxyyyzyyyzzyzzyy{yyzyxxyyzzzyyz{yyyzyzyyyyzzzyzzzzyxyyzzyy{{zzyz{yyyyyyzy{zz{yzzzyzxyyyyxzzzz{z{yzyyyyzyyy{zz{zzzy{yyyzzxzzyzz{zzzyyxyzyzz{zyz{zzzzzzyyzyz{z{zzzzyxzzyxxyz{zz{z{{zzyzzxyzzzy{zzz{yzzxzyyyyzzzz{|zyyyyxyyxyzyzy{yzzzyyyzyzy{yyyzyyyzzyxxyxxyzyyy{zyzyxxxyxxyzyyz{zyyxyxxyxzxyyyyyzxyxxyyyyyyyyxyyzyyyyyyyyxyyyyyyyxyyxxyyxxyyxxxyyxxyzxyyyzyzyyzxyyxxyxxxyxyyyyzyzxyxxzwyxzzyxyyzxyyxywyxyyyzyyzy{xxyyyxxxxzyyxzzzzyyyxxxyxzyyyzyyxzyxyyyxyzyyyyzzzyzxyyzyxzyyzyzzyyyyyyxxyyzyzyzzzyyxxyyyyyzyzzzzxxyzyxxyzzyzzyzzyyzxzxyy{zyzzzzyyyyyyxyyzyy{z{zyyyyyyyzyz{zyyzzyyzyyyyxzzyzzz{zzyyyyzyzxz{zzy{z{zzyzyyz{zzyyzzyzzyyyzzzyz{z{zzz{yzyzyyzyzzzzz{zzzyxzzzyzy{z{z{{{zzyyyyzyyzzzzzzz{yzzyzzyzzzzyz{yzzxyyyyz{z{zz{{zyzzyyzxyy{zyzzzzz{yyyyywzyzyzzyzzzyyyyxyyyyyzyyyxyyyxxyyy{yyzyzzxyxyxyxyzyyyyyzzyzyxxyyyyyyyyzzzzyyyyzyyyyyzzy{zyyyxxxywyyyyyyyzxxyxxzxxyzyyyzzyxyyxxwxyxyzxyzzzyxyxxxyxyyzyyxyzxyxxwyxyyzzyyzyyxyxxyyxxyyyyyzyzxyyyxxxxyzzzzyzyyyxxxxxxxxyzxyzzyyyxyxyxyyyzyzzzyxyyxyxxyxyyyyzyyyyyxxyyyzzzyyy{yyzyzxyzyzzyzzy|zyyzzyxyyyzzyyzyzxzzyyxxzzzzyzzzyxyyyxyxyyzyyzzzyyyyxyxzzzyyyzzzyyzyyyyyzzzzz{zzyyzzzx|yzzzyzzz{yzyyzxyyzzzzy{zyzyxyzzyxzzzzzzz{yzxyyyzzyzy{zy{yzzyyxzyy{{yzzz{zzyzyyzyy{z{{y{zzzyyyzyyzzzzz{zzzzyyyyyyyy{zzz{z{yyxyzzyyyzyzzz{{zyyyyxyxyzzzyzzyyzzzyxxxzxyyyzyxxyxxxyxxy{xzyzyzxxywxxyyzyyzzzyzzwyyyywyyyzyyzyyyyyyyyxyyyyzxyyzyyyxyxyxxyyzyzyzyyyxyxzyyyzyzyzyxyyyxyxyyyxxxyyyzyyyyyxxxyxyyyyxxxyxyxxyyyyyyzyyxyxxxxxxzxyyyzxzxxyxyyxyyyzyyyzzyxxxxyzxxyyyzyyzyzzxyxxwyzyyyzyzyxxxxywxyyzzzyyyyxyzxyyzzzzzx{yyyyyyyxyyyyyyzyyzyyzyyyxyzzyyzzzyyyyyyyyxyzyzzzzzzxxxyyzzyzzyxz{xzyyzzyyyzzyxyzyzyyxyzzyyyzzzzz{zyyyyyzyzzzyyzzzz{yyzxxyyyzzyzzzzzyzzzyzyzzyzyzzz{xzyyyzyzyy{zzy{{yyyzyxzyzzzzz{zzyzzxyz{zz{zzzzzzyyyzzyzzzyzzz{zz{yyyyyyyzzzz{zzzyyyyyzzzyyzzzzzyyyzxxyzzzyzyzzzyyyzyyzyzzyyyyzyywxyyzyzxyzyyzyzyzyxxxyyxzyyyzzzzzxwyxxxzyyzz{yzzyyyxwxyxyyxxyzyyyywxxxxyzzyyyzzyxyyyyyyyyyxzzzyyyyxyyxyzyxzyzyzyyxxxyyyyzyzyzyyyxyyyyyyyzyxzyzxyyyyxyxyyyzzzzzzyyyzywxyyyyzyyyzyyxxxxywxyyyzyyzxyzyxxxyyyxyyz{yyyyyyyxyyzyyzy{xzzxyyxyxzyyyxzyzyyyyyyzyyyzyzyy{xyyyyyyyzzzyzzz{yyyxzxyyy{yyyzyzyyxyyyzzxzyyzzzzyyyzyyyxzzyzzzzyzyyyyyyyyzzzzzzzzyyyzyzyzzzz{{yzzzz{zyyyzyz{z{z{{xzzyyyzz{zzz{{{zyyzzzzyy{zzz{{{{y{zyyyyyzz{zz{zzyzzyyyzyzzzz{zzzyzyzzzxzyzzzzz{zzzyyyyz{zz{zz{zyyyyxyyyzzzzy{zzyzxzyxyyx{zzzzyzzyyxyyyyzyzzyyxyyyxxyxxyzyyyzyzzxyyyyxyxyyyzzyzzzzxyyyxyzyzyzyzzyxyyxxyy{yyyyxyzxzyxyxxyyzyyyzyzzyyxyyyxzzyyyzyzyyzyywyxyyzyxzzzxyyxyyzyyyyyzzyyyxyyxyyyyyyzwzyzyyzxyyxyzyzyyyyzyxyyxxyxyzyyzxzyyyyzyyyxxzyyzyyzzyxyxzzxyzy{zzyzyyyyyzyyyyzzzzyzyxyyyxzyyzzyzzz{yyyzyyzz{{zyyzz{zyyyxzxyzzzyy{zzyxyyzyyyyz{zyzzyzyzyyzyxzzzyzy{yzyyyzyyyzz{yzz{yzyyyzzzyzzzzzz{zzzyyyyzyyzyzzz{zzxzyxxyzz{zz{|zyzyyyyyzyz{zzzzzzzyyzzzzzzzzzzzzzzzzzyyyy{zzzzz{zzz{zyyzz{z{zzz{zzyyzyzzzz|zzz{z|yyyxzzyzz{yz{{zyzyyyyyyzzyyz{z{zzyzyyzyyzzz{yyzzyyzyxyyxzyzzzzyzyxxyyyxxyyzyyyyzzzyyyyyyyyzy{{zzyyyyzyyxyyyyyzzzyxzyxyxyyyzzxzz{yzyxyxzyyyzzyyzyzxzyxxzxxzzyx{zzzzyyyyyyxxz{yxzzyyyxzxyyyxyyyzyyyxyxxxyyxzyyyyzxyxxyxyxxyxzxyzyyzyzxyxyxyzzzzzyzxzyxyxxywyyyyyyyxyzxxxxyyzyyxzzzzxyxyyyxzxzzyyzzyzzzzxzxyyyzyyz{yyyzzyyyyzyzyzz{yxyyyyyyyzzyzzzyyyzyyyyyyzzzyzzyzyzyyzyyzzzyzz{xyzzzxxzxzyzyzzyyzzyxzyxyzzzzz{zzzyyxzyzyzzz{{z{{yyzyyxzyzzzzzyz{{yzyyyzzzzzy{z{yzyzzyzyz{{{zzzz{{yzzyyyzyz{z{zzzzz{yyyyz{zzzzy{z{yzzzzyzyzzzzzz{zyyyyyy{z{y{z{{{zyzyzzzzzzy{zzz{yzyxyzyyzyyzzzz{zxyxyzyxyyyyzzyyxxyzyxxyyzzyzyzzyxwzxyyyyzzzyyyzyyyyyxzzyzyz{zyzyxyxyyxyxyzzyzzyyyyyyyxyzzzyzyzzxyyyxyyxyyyyyyzzyyzyyxxyyyzyyzzyzyyyyyxxyyzzyzyzyyyyzyzwzzyyyyyzxyyyyyyyyzzzyzzyyyzyyyxyxzzzzzzxzxyyyxyxyzyyzzyzzxxzyxyxyzzyyyzzyyzxyzyzyyz{zyzzyywxyxzxzzzyzyz{zyzzyyyzyzzzyz{zyzyyyyzyzxzzzyzzzyyzyyyyyyzyzzzzyzzzzyyzyzyzz{zz{yzzyzzyzzzzz{zzyyzzzzyyyz{zzz{{zyyyyzzyy{{yzz{zyxyyyyyyyzzy{z{z{zyyyzyz{{{zz{{{zzzzzzzyzzzxz|z{yzzzyz{zy{{z{zzz{zyyzyzzzzz{{{zzzyyyyzzzyzz{z|{z{yzy{zyy{zyz{{{zzyyyzyzzzzzz{{{zyyyzyy{yy{yyzz{zyyyyyzyyzz{zzyzyxyxxyxyxyzyxyzyyzyxxwyyyzyzyzyzzxyxyxyxxyxyx{yyyyyyyyyxyyzzyyyyyyxyyxyyxxzzzyyyzyzyxyzxyyyyyyyzyzyyxyxxxyyyyxyyyzxyxyxyzzyzyyyzyyxyyyxyyxyyyzzzxyxxxxyyyyyxyyyyyyyzyyyyxxzyyyy{xyyyyyxyxyzyzyzzyyyyyxyyyyzzyyyzzxyzyzyxxzyzyyzzzyyyxyyyxyzzyyyxzzyyzyxyyzzyyyzzzxyyyxyzyzy{y{yzzyyyyzyyxyyzyzzzzzyxzzzyyzyzzzzzyyyxxyyyy{zyyz{yzyzyzzzzxzzzz{yzzzxyzzyzyzzzyz{z{zyzyyxyxzz{yz{zz{yzxyzyyzzzyz{{{yyzy{{yyzzy{z{zzzyyyzzyyyzzzzy{{{zzzzyyyz{zy{{zzzyyyyyyyyzyzyzzzzyyzzyzzzzyzyyz{yyzyzzyxzzzzy{zz{yyzyyyzyyzzyzzzzyyxzyyyyz{zyyyyyyyzyxyyyzzyyyzyyyyyzwxyzzyyzzzzyyyyyyzxyyyyzzyyxyyyxyyxyzyzyzz{yxyyxyyxzyyzzyyzxxyyxxyxyyzyyzyxzxyyxxxxyyzyzyyzyyxxxyxyyyyyyyyyyxywxxyxyyyyzzyyyxxyyxyyyzzyyyyyzyyxxyyyyyzzyzyzyyxyywyxxzyyxxxyyzyxxyxyxzyyy{zyyxyyxzxxyyyzzyz{zyyxyyyzxyzyyyy{yyyxyxzyyyyzy{yyyzxyxxyyyzzzzzzzyyyyyxyyyzz{yzyyyyzxyyxyyzyzyzzyyzyyyzyyzzzzyzzzyyyzyyzzzzzzzzyzx{zyzyxz{zyyzzz{yyzyyyyyyz{yzzzy{xyzyzyzyzyzzz{{zyzyyzzyy{yzz{{z{xyzzyzzz|z{{{{zzyyzyzyyzzzz{zzzzxyyzyyyzyzzzzzzzyyzyzyzzzz{zy{zzzyyzyzzyzzzzz|zzyxyyzzyzzxzyzzzyxyyxyyxzyzzyxyzyxzyxxyxxzyyyyyzyyxyyxxxyzyzyyyyzyyxyxxyyyzxzyyzzyyxxxwyyyzyyyyzyyyxyxyyyzzzyzzzyxyxyxxxyyzyxyyzxxzxyywyzyzxyyzyyxyxyyyyxzyyyyyzyyyyxxxxxzyxyxzyxxxxxyxxyyyzzyzzxxyxxyyxyzyyxzyyyzwxyyyyx{zzyzyxyyxxyyyxyyzzzzyyxyyxyyyxzyyzzyzyyzxyyxyxyzzyyzzyxyzyyxyxzyyzzyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyxyyzyyyyzyyzyyzyyyzzyyyzz{yyyzyxyyzy{{z{zyzyyyyzzyzzzzyzzzzyzyyyyzzzyzyz{{{xyyzyyyzzzyzz{{yyzyzzyyy{zzzzzzzyyzyzxyzz{zz{zz{yzyyzyyzzz{zzyyzzzzyyzy{yzyz{zzzyyyzxzyzzz{{zz{{yzxyyyyyyyyzzzzyzyyyxyyzzyzyzzzyyyxxyxyzyzzyyyyxzyyxxxxyyzxyxyxxxyyxxyyyzyyyxyzyxyxxyyxyyyzyyzzyxyxxzxzyzzzyyzyyyxyxxxxyyyzyyyyyxyyyyyyyzyyyyyyyyyxxxyyzyzyyyyzzxyyxyxyyyzyzyzyxyzyyxxxyyzyyyxxyxyyxyyxxxzyzyzzyxzyyxxxyyzxyyzxyxxxyxyyyyyyzyyyyxyyxyyyxzyxxzzzyyyyxyyxyyzzyzzyyyyyyyyxyy{yy{zzzyyxxxyyyyyzzzzzyxzxyyxyyzzyyzz{yyyyyyyyyzzyyzzyyxzyxyxyzzzxyzzyzxzyxyyyxz{yyzyyzxyyzzxzz{{{yzyzzyyyyzyyyzyzyz{zzyyyzxyyzzzz{zzzzxzyzyyzy{zzyy{{zyzzyzzyz{{zzz{{zzyyyyzz{{yzz{zyyz{{zyzyzz{{zzzz{xyzzyyzzyyzyzzz{yxx{yzyz{z{zzz{yyyxzyyyyzyzzzzzyyyzyyzyyzzzzyzyzyyywxyyzzyyzyyyyyxxyyxxyxyzyyyyyyyxyywwzxzyyzzzzxwxyxyxzyyyxyzyzyyywwyzyyyyxyzzxyyxwwxxyyzyyyy{yxzxxyyyyyzyyzyxyyxxxxyyyxyyxyyyxxxwxzxyyxyyyyyyyyyxywyyxyzzyyyyyyxyxyyyyxyxyyyyxyxyyxyxyyzzyzzyyyxxyxxxyyyyxyxzzyxxxxxwxzzyyzzyyxxyyxyxxyyyyyyyyxxyxxyyxzyyxyzzxyyyyxxyxyzzyyyzxxxyyxxyxyyyyyzzyyyxxyxyyzy{xyyyyyxxzyxxyzzyyzyzyyxyyyyxyzyyyyzyyyyyzyyyzyzzyzzzxzxzyyzzyzy{zyzzyyyyyyyyy{yzzz{{zxyyyyyyzzz{zzzzyyyxyzzyy{zzzzzyzxyzyyyzy{y{zzzzzyzyyzyyzzyzy{yzzyyyzxyzyzzyzyzyyyxxzyyy{yyz{yzzyyxyyyyxx{xzzzzyyzzxxyyxxzyyyzzzxyyyxwzxzyzzzyyzyyxxxzyxxyyyyyzyyxyyxwyxyyyzzyyzyyyxxyyxxyyyyyzyyyxxxxyyyyzzyyzyyyyyxxxxzzzyzyzyyxyxxyzxzyzyyzyxyyyxyyxyyxzyyyyyxyyxxyxyzyzzyxyyyxxxyyxyyyyyzyyyyyyzyyxyyxyyzyyxyxyyxyxxyyyzxyzzyyxyxxyyyyzyyzzzyyxyxxyxyzyyy{zyxyyxyxyxyyzyyzzzyzyxxxyyzzyyyyzyyzyyyxzyyyzyyyzzzyyyyyxzyyyyyyzyyzyyyyyyzyzzzyyzzyyyyyxxyzzzyyzyyyyyyzzxyzzyzy{zzzyyzxxyz{zzzzzzyxyyzyyzzzyzyzzzzyyyzyyyz{{zzz{yzzyyyxyyyzzzzz|{zzyyyzzzy{yyzz{zzzyzzyyxyz{z{zzzzzyzzzzyzy{zz{{zyyyzyyyyyzzzzzzzzzyzzyyyz{y{yzzzzzzxzyzzzzzyzyzzyyyyyyyzz{zzzyyzyyyzyyyyyyzzyzyyyxyyxyxyyzyyxyyyyyyyyxxxyzzyyyzyyyxyxzzyzzyzyzyyzyyxxyyxyyyyyyzyyyxxxyxyyyyyyzzzyzyxyxyxzyzxzzzzzyyyyxxxzyzyyzzzyyxxyyzxzyz{yzzzzxxxxyyxyy{yyzyyxxxwxxxzyyzyyyyyyyyxxyyyxzyzyyyyyywzyxyxzyzzyyyyyyywxyyxxxyzyyzyyyyywxyxzyyyzyzzyyyxxyzyzzyzyyyzzyyyyxyxzyzzzyzzyyxyxyyyzz{zyzzzyyyzyyxyyyzzzzyz{xyyyyyyyyzzy{zzxyyyyyyyyzyyyyzyzyyxyyyyyzyz{{zzyzyyzyzyzzz{zzzyyyzyzxyyzzzzzzzz|yzyyyzyzzzzz{{{yzzz{yyzyzzyz{z{{yyyzzyzz{zy{z{zzzzyyyzzzyzzzzzzyyyzyyxzyzy{zz{{zyzxyyyz{z{zz{{zzy{xyzzzyzz{zzzz{yyyyyyxyzyzzzzzyyyzyyxyyzyyzyyzyyyxyyxxxzyyyyzzyxxxxxxxzyyyzzzzzyxxyxxxyxyxzzzyyxyyzxxzyyyyxyzzzyxxxxywyyyyyyyzxxzxxzxxyyzzyzyyyyyyyyxyyyzyyyzzyyxyyxxyyyyyyzzyxxxyxywxyyyyyyxzyyxyxyxyyzzyyyyxyyyyxyxxxyyyyzzzzyxyywyxxyyyyyzzyxyyxxwxxyxyxzyyxxyyxxyxyyyyzyy{zyzyyxxyyzxyyzzyyyyyyyyzyyyzyyy{zyyyzyyyzyzzzzzyzxxzyxyxyzyzzyzzyxyyzyxyyyyyyyzyzyyyxyyyzzzzyyzzzyyyyyxzzyzzyzzyyyyyyzzyyzy{z{zz{xzyyxyzzz{yyzyyzxyyyyyyzzzz{zzzyyzyzyyy{zz{zzzzzyyzxyyzz{zz{{{zzyxyzxyyz{{zz{{{{yyzyyyzz{zzzzy{yzyyzyyyyzzzzyz{z{zyyyyyyzyyzz{zzyyyzyzyyzxzyzz{zyyyyyxxyzzzyzyyyyyxyyyxyyzzyzzzzyxxxyywyyzyzzzzyxxzyxxxzyyyzzyyyxyyxyxxyzzzzzyzyyxyzyxwzyzzyzxyyyyxxyxyyzzyxyyyyyyxyyyyyzyyyzzyyzyyxxxyyyyyzzyyyywyxxyxzyyyyyyzyyyyxyyxyyyxyzyzzzyxxyyxxzyzzzzyxxxyyxxwyxzyyyyzyyyyyzyyxyyzzzzzyxyyyzyyyyyy{zzyyyyxxyyxyyzyzzzzzyzyzxyyyyzzzzzzzyyyxyxyxzz{zzyzyyzyzxyyyzzzzzyyyyyzzxxzzz{zyyz{zxyyyyyzyyyyyz{zyyyyyzzzyyzzz{zzyyxxzyyy{yzz{y{zyyyyzyyyz{zzzz{zzxyzyyzyzzyzyzz{yyyzyzzzzzyzyzzzzzxzzzyzz{{yzzz{yyyyyyzy{z{yz{{zzyzyz{xzyxyzzz{zzyyzyyyyz{zzzzz{zzzyyzyyz{zy|{zzyyzzyyyyz{z{zzzzyyyyxxxyy{zyyzxyyyxxxxxyxyyxyyzyyyxyxxyyzyzzyyyyyyyxxyyyzyyzzyzzyzxyxxyyzzyzyyzzxyxyxyzyzyxyyyyzzxzxyyxxxzxyyzzyzyyyyyxxyyyyxyzzyxyyyyyxyyyzyzyzxyyyxyxyyyyyyyyyyyxxxywyzyyyzzyyzyxxxyyyyxyyyzzzxxyxxyywyyyxxyyyxxywxyyxyzyzyzzzyxxxyzyyyyxy{yyzyyyyyyyyzzyzzyyzyxyzzyyxzzyzzzyzxyyxyyxyyzzzyzyyyyzxyyyyyyyzzzx{zyyxyyyyzzzyzzzzyyyyzyy{{zzzyy{zzzzyyzzyyz{zzzz{yzzzyzzyzzzz{zz{yyzzyyzyyyyz{z{zzyyyzyyzzy{z{zz{yyyyyyzzzyz{{{yzzzyzzzzyzzz{zz{{zzzzzyyzzyyzzz{z{zyyzyyyzzzzzzzzzyyyz{xzzzz{zz{zzzyyzzyxzzzyzz{{zzzzyyxz{zzzyz{zzyzxyxyxzz{yzzyyyxyxyyyxyyzyzzzzyyyzxxxxyzzzzzzyyzxyxyyxyzyzzzzyxyyzyyyyyzyyyyzzzyyyxxyxyyyzyyyzyxyyxxyyxyxzyyyyzxxxyyxxyyzyyyzyyxyxxyyxxyyzyyyzyyyxyyyxyyyzy{yyyxyyyyxyyyyyzyyyzxyyxxxxyyyyyzzyyyyyyxxxyxzxyzyxyyxyyy{yyzzzzzyyyxyyyyyyyyyzyy{yyxyyyxyxzzzyz{yyyxzyyyzzzyyzzzzyyyyyyyxyyyzz{zzyyzyzzyxzyzy{z{yyyyyyyxyxyzzzzzzyyyyyyxxzyzzzy{yyyyyzyzyyyzzzzy{zyyyyzzzyyzz{zzzzyyyzyyyyzzzzzyz{zyyzzyyyxzz{z{zzyyyzzzyzyzyzzzzzzzyyyyyzz{z|z{{zzz{{yzyyz{z{zzz{yyzyzzyxzzzzzz{zzyyzzzyzzzzzzz{zyzyyzzyzyzzzyzzzzxyyzy{xy{zzzyzzzyzyzxxyzyyy{zyxxxxyxxywxyyyyxzyxxxyxxxxzyzyzzzzzyywzyxxzyyyyzzzyzyxxzyyyyyzxyzyxyxxxyxxzzyzyyyyyxyxyyzyyyyyyyyzyxyyzyyyzyzyyyyxzxyxyyxyyxyzzz{yzxxxxyxzyzyzyxyzyxyyyywxxzyyyyyyzyxyxxyxyyxzzyzzxyyxyxyxyyzyyxyyyyyyyxxyyyyzzzzyyyyxyyxxzyyyyzyzyyyyywyyyyxzyyyzxyyxyxzxyxyzyyzyyxzxyyxxzyyyzzzyzyyzyxyyyyz{z{zyzyzzyyyyyzzzzyzyzyyzyyyyzzyzyzzyyyyy{zyyyz{{zzzyyxyyzzyyyzzzzz{{zzyzzzyzyz{zyz{zzyzzyyzyzzzyz{zzyyzyxzzyxzy{zzzzzzyyzz{yzzyz{z{zzyzzyyyy{zzzzzzzzyyzyzyyyxzzyy{zzyzyyzyzzzyzzz{zzyyyzyyyzyzyzzzz{yxxzyyyyyyzy{yzyzuzxxyxzyyyxxyyxyxyyxxxzzyxzyyyyxxyyyxxyyzzyzzxyyyyxyyxyyyy{zzzyxxyxxxxyyzyyyyzyzyzwxywzyyxyzzxxyxwyyxwyxyyyzyzyyyxyxyyyyzyyzyyyyyxxyxyyxyyxyyyxxxxxwyxyyyyyyyyyxxxxxxxyyyxyzzyyxyxxxyxyyyyyyzzyxyyxyxxxyyxyyxxzyyxyxxyyzxyyzzzyxyyxzwwyyxy{yyyyxyxyxxxyyzyyyzyyyyyyxyxyyyzzxzzxyyxxyyxyzzyyyzyyyyyyxxyyyzzyxzyyxxyyyxyzyy{yyzyzyyxyyyyyzzyzyyzzyyyyxyyzyzy{zy{wyyyzyzyy{yzyzzyxyyyyyyyzz{zyz{yyyzyyzyyzzzzzz{zzz{yyyyzyzyyzzzzyyzyxyxzzzzzz{z{zyyzyyyyzzzyyz{yzyyy{yyyzyzyyzzzzyzzzzyzzzyzy{zzyzyyyxzzzzyy{zzzzxxyyzxxy{yyzzzyyyzyxyxyyxzzyyyxxxxyyxxxyyyyyyyxyyyyywyxyxyyyyy{xxxxyzxyzx{yxzyyyxyxxxxxyyyzzyzyyyxxxyxxzxzyyzyzwxyxyxxyyyzyxy{zyxxyxyyxwyyyyyyyyxyxyyxyyyzyyzyyxxyxxxxxyyyyyzzyyyyxxxyyxxyyyyyyyxyyxxxwyyyzyzyzxwxyxxxwyyxxzyyyzxxxxxxxxyyxyzzyzyyyyzxxyyzyyyzyyxxxyxyxxyyzyyyzzyyyyyyyzyyyxzzzyxyyyxyzyzyyzzyyyyyxyyxyzzyzyzyyyyxxyxyxzzzxzzzyyyyyxxyyyzyyyyzyzxyzyyyyyyyzyzz{yyzyzyzyzyz|yzzyzzzyzzxxyzyzzzyzzzzyyzyz{yzzzzz{zyzyzyzyzyyyzyzzyyyyyyy{y{yzzy{{zyzyyyzxzzyzy{z{xyzzyzzyzyzzzzzzzzyyzyxyzzzzz{yzyzzxy{yyzzyzxzyzzyyyxyyyyzyyzzzzyyyxxxxzyzzzzzzyzyxyyxxxxzyyyyyzxyxxyxyxxyyyyyyzyxxxyxxxzyzyzzzzyyzxyyyyzyyzyyzyyywxyxwyzyzyyxyyxyyyyyxxxyyyyyyyzxyxyxxxyzzxyyyyyxxxyyxyxxzyxyzzyxyxyxyyyxzzyyyxxyyzxxyyyyyyxyzzyyyzxyxxyyxzyyzzyyxyyyyyxyxyyyy{yyxyxwxxyyxyyyyzyyyyxxxyyyxyyxyyyyyxzyzyxzyyzzzzyxyxxwyyyyzzyzzyyxyxxyxyyyyzyzzyyyyyyzyxyzyyzzyyxxyyyyxyyzzzyzzyyyyyyyyyzzzyzzzzyzyxyyyyyzz{zzzzyyxyzzyy{zzzyzzzyyyyyyyyzzzzzzzyzyyyyyyyz{zy{{zzyyyzyzyyyyzzzzzzzyyyyzyzy|zzzyzz{yzzyzzy{zzzzzyzzxzyyyyyzzyz{z{yyzyzyyxyzzyzzzyyzyxyzyyyyzzyzzzzzyyyyxxxyz{yyyzyyyzyyxyyzzzyyzxzyxxyzxyxyyzxyx{yyxyyyxxyzyzyzyyzyyyzxxxxyzxzyy{zyyyzyyyzyyyyyyyzzyyxyxyyyyyzyzxzyyyyxxxxyyyxyzzxzxxyyywxyyzxxyyyzywxxxyxyyzyyyyzxyxxyyyxyzyzyyzzxyxyxyxxyyyyyzzyxyxxxyxxxzzyzyyyxxyxyxywyzxzzyzyyxyxyxzxzyyyyyyyxxxxyyyyzyxzzyzyyyyyyyyyyzyzyzyzzyzyyyyyyzyzzzyzyyzyyxxzxzzzyzzzyyyyyyyxzzzyzzzzzzyyyyyyzz{zzy{zyyxzyxzyzzzyyzzzy{yyzyzyzyzzyz{zyzzzyyyzyzzzzzzzyzyyyzyxyzzzy{zzzzzzyxzzzzzzzzzzzzyyyzyzy{yyzzzzzyyxyyzxz{zzzzzzzyyzzzyyzzzz{yzz{yxyyyxzyyyzzzz{{yzyzyyzzzzzzyzzyyzyzyyyyzzzzy{zyyyyyzyyyzyzzzzyyzzzxxyxzyzyzzxxxyyxyxxxyyyxyyxyyxxzxxyyyyyzzyzzyyxxxxxyyyyyyzzyyyyzyxyyzzyzyy{zzyyxxyywyzyyxzyzyyyxyyxxyzzxyxyyxxyyyxxxyx{yzzyyxyyxyyyxyyxzzzzyyxyxyyyxyyxxzyzyxyxyxxxyyyyyyyyzyyzywyxyyyxyyzyyyyxzxxyxxyxyyzzyyyywyxxyyyzxy{zyyyyxyyxyyzyyzzyyyyyxxyzzzzzyzzz{yyzxxyyyzyzzyyy{zyyyxyyyzyzyyyyxzyyyyyyyyzxzzzyzyyxyyxzyyzyzxzzzyyxzyxyyzzyzyyy{yyzyyyyyzz{{zzyzyzzyyyzyzyy{zzzzzzzyzyxyz{z{z{{zyyyxyyyyzz{z{z{zyyxyzyzzyy{z{zzz{xyyzyyyz{z{z{{zzzzzzxzzzzzzzyzyzyyzzzyzzzz{y{zzzyyzzyyzyzzzzzyzzyyxyzyyz{yyzz{yzzyyyyyyxzyzzz{yzyxyyyyyz{zyx{yzxzxwyxxxyxyyzzzzyxyyxxyyyyyyzzyzxxyxxyyyzyzyzyzxyyyzyyxyxyzzyyzyxxyyyxyyyyyzyzyyxxzxyyyxyzzzzyyyyxxyyxxxzyyyyyyzyxyyyyxyzyzyyzyzyxxyxxyxzyzyyyyzyyyyyzxyyyyzyxyzyyzyyxxxyxxyyyzyyxyyyywxxzxyxyzyzyxyzxxyyyyyzzzzxxyyyzyyyzyyzyzzyxyxzyyyzzyyzz{zyyzyzxxyzzyyzzzzyyxyyxxyyyzzyzyzzyzyzyzzyzzz{{zyyyzyyxyyzyzzzzzzxxyyyyxzzzzyyzzzzxzyzyxyxz{{y{zzzyzzzyyxzzz{yzzzyzyyzyxyzzzz{zzyyyyzzzyyyyzz{zzzzyxyzyzyzzzyz{{zzyzzyzyyyz{zz{{zzyzyzzzyzzzz{{zzyyyzzyxzyyz{z{z{yzyzzyyzyzzz{y{zyyzxyxyyyy{yzzyzyzxyxyxx{yyzzzzyyyyzzzyyyxzyyyyyyyyxzwzxxyyxzyzyyyxxyxxxxzzyyzzzyxyyyyxyyyyyz{yyyyyyyyyxzyyzzyzyyyyxxxyyyzyzxzzzyyxyyyyxzyyyzzyyzxxyxyyxzyxyyzzyxxxxzyxyxxyyzy{yyyxyyyxyyxyyy{zyyxyyxxyyxyzyx{zzyyyxyxyyzyxyyy{zzzyyyxxxyyyyzyyzyxyyzyyxyyxyzzzzyyzyzywyyzzzzyzzzzyyyyzyzyyyzzzyyxxyxyzy{{zyyzzzyzyyyzzyyyzyzzzyyyyyyzzyzzzzzzzyyyyxyyxzzzyzzzzzyyyzyyyzyyzzzzzzzyyxyzyzz{{{zz{yyyzzzyyyz{yzy{{zyyyyyyxyyyzzy{zzzyyyzzyy{zzyzzzzyyzzxyyzxzzyz{z{zyzyy{yzzzz{zz{zyyzyyyzyzzzzzz{zzzzyzyyzyyzyy{yyyzzzyzxz{{zzzy{{zzzyzzzyyyzzzz{zzzyzyyyyzzzzz{{zzyyyxyzyzzzyzyyyxwxyyxxyyyyyxyzxyyxxxyxyyyyxy{zzxxxyyyxxyyyyyyzzyyxyyxyxzyzyyzyyyyyxxyyxzzyyzzyzyyyyyxyyyyyyyyzyyyyzyyyxyyyyyzyxyyxxxyyxzyyyyxzxyxyxxxxyyyyyyzyyyxyyxxyxyzzyzyyyxyyyxyyxyxxzxyyzyyyyzxxxyyyxyyyzzzxxxxxxzzzyzyzzyyyxxxyxyyyyzyzzyyxyxxzxyzyzyzyyyyyyyxxxyyzyyzzzxyzyyyyyyyyxzyyzzzyxzxyzy{xzzzzzyyyxzxxxyyyzyyzzzzzzyxyyzyyyzy{zzzyzzyyxzyzzzz{zyyzyyyzyyzyyyzzzzy{yzyxyz{yzzzyzzyzyyyyyzzz{zyzzyyyyyzyzyzzzy{zz{yyyxyyzyz{z{{{{zyyzzyyyzzz{z{z{zyyzzyyxzzzz{z{{zyyzzyzzyzyzzzyzzzyyzyyyzyzzyz{z{xzzyzzyzzzzyzzzyyyyyzyyzyzzyzyyxyyxyyzxyzyxyxyyzxyxxyyxyxzyyzzyyyyyyyyxyyyzyyzyxxyxyyxxyzyyyyyyyzxxwzxwzzzxzyzzyxyxy{ywxzyyyyzyzyyxyyxzyxzyyzyyyxyxxyyxyyxyzzzzxyxxxxyyyyzz{yyxxxyxyxxxzyyyzyzzxyyyxyxwyyyzyyyyxyzyyyzxyyxxyzyyxyyyyywxxyyzyyzyyxyxxyyyyyzzzyyzzyyyyxyyyzzyyyyzyxzyyyyyyyyzzyzzyzyyyxyyyxzyyyyzyyyyyyyyxyyyyyzzyyyyyyyxyzzzyyzzyyxyzyzyz{yxyzzyzxyyyxyyzy{zzzzzzyzzzzzxzyz{{zz{zzyyyyyyzzzyzzzz{yyzzyzzyzzzz{z{yyyzyyzzyzyzzzzzzzzyzzyyyyzzz{{{zyyyyyxzzzz{zzz{zzzyyzyyyzy{zzzzzzyzzzyyzyzzyzzz{yyyyzyyz{zyzyzzyzyzxyyzyzzyzzy{yyyxyxzxyyzyzyyzzyyxyzyyxyzxyzzzxzxwxxxyyzzxxzzyyzyxyxyxzyyzzyzzxxyyyxyzyyyzyyzyyyxyxyxyzy{xzzzyyxxxxyyxyyyyyyyyyzxyyyxyyyyyzyyyxyzxyyxxxyyyxyy{yxyyxxyxxyyxyyzyzxyxyxxyyxzyzzxxyyzwxyyxyyyzzyzzyyyxywyxxyyzzzyyxxyyyyxxyzyyyzzyyyxxyxyyyzzyzyzyxxyyyxxxyyzyyyzzyyzxyxyxyzyyyy{zyxyxxyyyzzyyyzzzzxyxxyyzwyzyyzyyyyyyyyyxyz{yyy{yyyxyyyyyz{zyy{zzyyyyyzyyyyzzzyzzyzzxzyzyyzyzzzzyyzxyxyyxyzzyz{zyzxxyzyzyyzzzz{zz{yzyyzyyz{{zz{zyzxyzxzzyyzzz{yyzyxyxyyzzyzzzzz{zzyzzzzyz{zzyyzzzyyzyzyyzzzyyzzzzyzyyyyyzyzzzzz|zyyyzyxyyyyzzzz{yzyzxyxyxzzzyyyxyyyyyxxxxyyyyzyzyyyyxyywxzyyyzyzyxxxxxyzyyyy{zyzyyxxxxxyyyyzzyyzzyyzwxxyxzyyzzyyzyyyyyyzxyzyyxyzyyzzwxxxyyxzxxxzzyxyyxyxxzyyzyzyzxyxyywyxxyzyyyzzzyxxxxxywyyyzzyyxyyyxwyxyxyzyyzxyyxxyxyyyyyyyzzyyyyxyxxxyyxyzyzyxyyyxyyyzxyyyzzzzyxyyxyyzzyyyyyzyyyzxxxyyxyzzyzzyyyxyyyyzzyzz{yzxzxyywxxyzyzzyzzyyyxxyyyzyzyyyzzzyyzxyyyyzyyzzzzyzzyyzyyzyzzzz{zyzz{yyyzzzyyy{z{zzyyyyyyzyyyzzzzzzzyyyyyyzyyz{z{{xyyyyzzyzzyy{zzzzyzzzyyy{z{zz{zyyzzzyzy{yz{zyzzzyyzyzyzzzyz{z{zyyzzyyzzyzy{{zzzzzyyyyyyzzyyyz{zyzyyzyyyyzyyzzzyyyyzxyyyxyzyyyyxxxxxywxxy{yyzxyzyyxyxxxxyzyyyzzzyyxxxyxxyzzzxzzzyyyxxwxyyyy{zyzzyyxxxxyyyyxyyzyyxxyyxywyxyxyyyzyyyxxyyxxyyyzxzzyyzyyyywxyxyyyzyyxxyyywyyxyyyyzzyxxzxxxxyyyzyxzzxyyyxxyxyyxyyyyzzyyxyxxxxyyyyxyyxyyyxxxyyyyxyxzzzyxxyzyyxyyxyyyyyxxzxyxzxyyyyyzyyyyyyxyyxyyyyzy{zyyyxxyyyyyzyyzzyzyyyxxyyyzyyyzyyxyyxyyyxyzzzzzzyxyxyyyxyzyzyyyzz{yxxyyyyzz{yzzzyyzxxxyzyyyzzyzzzzzyxxyyyzyzzzz{zyyyyzyzyzzzzzzzzyy{yyyzzyyzyzyzz{yzyyzzyy{zz{{zyzyyzyzzyzzyzz{zzyyyyzyyyzzyyzyzzzyxyyyzyzyz{zzzzyzyyyyyzyzz{yyyzzzyyyzyxyzyyzzzyyyyyxxxyzyyzzyzyxxxwyyxyxzzyyyxyxxxyyxxxyzyzyzyzxyyxyyyxyyyzyzzyxyxwyxxyyzyyxxzzyyxxyxyxyzyyyyyzyxyxyyxyxyzyyyzzxyyyxyxyyyzyyxxyyyzxxxyxxyxzyyyyyyxyxxxyxyyyzzyzyyxyxyxxyyyzzzyyyzyxwwxxxyyyzzyzyyyyyxxxyyzyxyxyzzyyyxyzyyyxyyyyyxyyyyxxzyyyyzyzyyxxyxxxyzyzyzzzyyzyxxyyyzzyzyyzwyyyxyxxxzzzyzzzyxxyyyzyyzyyzzxzyyyyyyyyyz{zyzzyzyxyyyyyyyyzzzzyzzxyzyyyyzzz{{yzyzzyyzyyy{zyz{{zzyyzzxyyzzzzyzzzyyyxxzxyz{y{{{zzzzzxzyzzzzyy{zzzzyzzyzyyyzzzzzzzzz{yyzyyzyz{yz{zyzzyzzyyyyzzzzz{zzyzzyxzy{zyzzzzzzzyxyzyyzzzzz{yzyyyxyyyzyyyzyzzyyyxyxxxyyzyyzzzyxxyxxxxyyzyxyyzyyyzyxxyyyyyzzzzyyyxyyyxyxyyyzzzyxxxyxxxyzzyzyyzxxyxxxyxyyyz{zyzzyyxyyyxyzzyxzyyxzxxxyyxyxzyyyyzxyywyyyxyyyyyzzzzxyyyyxyyyyyyyzyzxxyxyxyyzzzzyyyyxyyxxyxzxyyxyzzxyyxyxwxxyyxyzyyzyywxxxxxyzxxyyzxyyyyyyxzyyyyyyyyyyxyxyyzzxyzzzzyxyyxxzyyyxzyyzzyyyzzxyyzyzyzzzzzyzyyxyxyyzzyzzzyxzyxxyzyy{yzzzzyyyyzyyyyzzyzzzzyxzxzxyzzyz{yz{yyyxyyyzzzyyzzzzzyzzyyyzyyz{zz{zzyyyzyyxyz{zyz{{zyzyyzzzzy{yzz{{zzyyzyzzzyzzzz{{z{yyyyzzyz{z{z{zzzyyzzyzyy{zzz{zz{yzyzyzyyzzzzzzzy{yxyyyzzzyyz{{{yyzyyzyyzzzzzzyyyyyyyyyyyzzzz{xyxyyxyxyyxyzyyyzzxyxyyyxxyyyzyyzyzzyxyyyxyyyzyzyyyxzyyyxwyyzzyyzzyyzyxyyxyyzxxyyzyyzxyzyyyyyzyyyyyyzyyyxxzyyyyyyzyyyyyyxyzxzyxyzzxyyyxyxyyyyxyzzyyxzyxxxyyzyzxyyyxxzxxywxyyzyyxyzyyyyxxzxxyyxyzzyzzyyyyxxxzyyyzyzzxyyyzyxyyzzyyz{yyxxyyxyyyzyzyyyyxzyzxyzy{zzzzzyyyyyxzyxy{yyyzzyyxyxyxyyzyzzyz{zyxxxyyzyyyzzzz{zyzzzzyyyzyyzzzzzyyzyzyxyz{z{zzzzyyyyyzyx{{y{zzzzyzyxzzyyzy{zyzzz{yyzyzyzz{zzzzzzzzzyzzz{z{yy{{zz{zyyyzyxy{zz{z{{zyzyzyyyzzzzz{zzzyxyzzzyyzzzzz{yyzzyzyxzzz{zzy{zyzzyyyyyzy{zzz{zyzzyyzyyzyz{zzyzyyzyyxyyzzz{zyyyyxyyxxxyxzzxyyzzyxyxxxxxyzzyz{{zzyyyyyxxzzyxz{zyyzyxyyxxyyzzyy{yyxyyyyxxzyzzyyyzyyyyyxxyyzxzyyzzzyxyxyyyyzyzyyzzzxxxzyyyyyxyyzyzyyyzxyyxxxzzyyzyxyyyzyxxxyyyzyyyyxyxyxyxyzzxzyzzzxxyxyyxy{zyyyzzyyyxxyzxx{yzyzzxxyyyyyyxyzzyyzz{zxxyyyyyyzzzyzy{yzyyzyzyyyz{zzzzyyxyyyyyyzyzzz{zzyzzzyzzyyzzyzzyzyyyzzyy{{zzy{zzzyyyyyzyzzzyzzyyzzyyyzxyyz{{z{{{zyyyyzzyyzyz{z{zyyz{yyyyzzz{zzzzzyyyzzyyzz{zzzz{zyyyy{zzzyzzzzzzzzzzzyyyzz{zyz{{zy{{yz{z{z{zz{{zzyyyyzyzzxzzyyz{zyyyzyz{zyzzzz{zzyzzzyzyyzzz{y{zyzyyyzzyzzy{yzzyyyyxzxyyyzxzzzyyxxyyyxyxxyzzyyzyyxzyyxxyzzyyyyzzyyxxyyyyyxyyzzyyzxzyxxyxyzyyyyyzxxyxxyywyy{yyzyzyyyxxxwxzyyxyyyyyyxyzxyyyyyyxyzyyyzxxyyyyxyzyzzywyyyyyyxyyyzxyyyyxyxyxwxyxzyzzyyyyyxxyxxyyxyyyzzzxxzyxxyyx{yyyz{zxyxwywyxyyyxy{yyxzxxyyyzyyyyzzzyyzxxyyyzzzzyzyzxyyxyxyyzyzyyyz{zyyyxxyxyyzyyzzzxxyzzxyyzzyz{zzxyyzyxyzyyyyzz{zyyzyyyyzyyzyyzzyyzzyyzyyzyzzzyzzzyzyyzyyyyzzzyy{yyxyyyxyyz{zyyz{z{yyyzyyyz{zzzzzyyyyzyzyy{zzzz{{z{yy{zyyxz{zzxzzzzyz{zyzyzzzzz{|zyzyzzzzzzzzzyzz{zyyyzyzyzzz{zzz{zz{yyzzyzzyzz{z{zzyxyyyyzzzzyzzzzyyyyxyyyyzzyyyyxyxyxxxyyzzyyxyyyxyxxyxyxzyyyzzzzzyxyyyxyzyyyyzzyyxxxxxxxyyyxzzyzyyxxyyxyyzyyyyzyyzyyyyxzyzxyzxzzyyyyxyxyyyxzyzxyyxxyyyxyyyxyyzyyxyxxxwxzyyyyyzyyyyxxyxyyyzyzyzzyyyyyyxwxyzzzzyzyzyxyyyxyzyxyxyyyyyxxyxyyzyyxzzzxxyyzyxyyyxyyyyzyxyyyyyyyyyzyzzyyyyyyyyyyzyyzyzzyyxyxxzyyyzzzyzzyyyyywzyyzyyyyyyyyyyzyyyyzzzyzzzyyyyyyxxyzzyzyzzyyyyy{xzyyzzzzyzxyxyyzzyzzz{yzzyyyzzyzyyzzzzzz{yyzyyyyyzz{yyzz{zzyzzyyyxyzzzy{zzzzyzyzyyz{zzyz{{zzzyyzxyyzz{{yzz{yyyzzy{zzyzzzzzzyzzzzyzzzzzzz{zzzzyyyzxyz{zzz{{zzyzxzyxyzyzyyzzyyyzxyzyyyzyzywzyyywyxxxxzxyyzyyyxyxyywxyyyyyzyzyyxxyyyxyxyxyzzyyyyyxyxxxyzyxxzzyyywxxxxxzxyzyyzywywxxxwyyyyxzzyyxxxxxxxxyyyxyzzyyyyxzyzwzyyyyyzxzxxyxxyyyzxyyyyyyzxxyxyxyxzzyyyyyxwyyyxyzyyxyyyyyxyxxyxyxyyyyy{zyxyyxyxyyxyxyzzxxxxxyyyyxzyyy{yzyxyyxzxyzzzyyzxyyyyyxyyzzyzyxyzzyyyxxzyyyzxyzzzyyyxyzyxyzzzz{xyyzyyyyxzyzzyzyzzzxyzyxxyyyyyyzzyyxyyyyyyyzzzz{zzzyyyzyyxzzzzzzzzyzxyyxyyyyzz{zzzzyzyyyyyzz{zzzzzzyzzyzyyyyzzzz{zzyzzyyyyy{zzzz{yzzzzyzzy{z{zz{{yzyyyzyzzyzzyyzzzzyyzzyzyzzzzzzzzzzyyyyxzxzzyz{{zyyyyxyzyyyyyyzzyzxyxyyyxzyzyyyyyyyxyyyyyyzzyxyxzyxyxyxxyyxyzyzyyyyxwyyxxyyzyzyyyzyyyxyyxyyyxxyyzyyyyyxxyxyyyzzyyxxyxyzyxyzzyyyyyyyzxyyyxyyzyyyyyyyxxxyxyyyxzyzyyxxxxxyyyyyzyyyzyxyxyyyxxyyyxyzzyyyxzxyyxzyyyzyzzyxxyxxyxyyxyyzyzyzyxyxyxxzyyyyzyzyyyzyyxyyyzyyzyzyyyyyyyzzyyyyyzxyyyyxyyyzzzy{zzyyyyyyyyzxzzzzyzyxyyyxyyyzzzyzyyyzzyyxxzzzzzzyzzyyyyyxzyyzyyzzzzzzyyzyyzzzzyzy{zyyxxyyzyyzyzz{{zyyzyzyzxzyzzzy{zzxzy{yyxzzzyzzzzzyzzzy{yzzyyz{{zzyyyyzyzy|zzyz{zzyyyzxyy{zyzzzy{{yyyyzzzy{zzz{{|zyyyyzzzy{zz{zzz{yzxyyzzzzzzyzz{yzzyyyyxzz{zyzzzzyzzyxyxyzyzzzyyyxwxyyyxxyyyyzyyyxxxxxxxywyyyyz{zxyxxyyxyzzyyzyyyxxyxyyxxyyyyyyyyxyxxxyxyzxyyyzzxxyyyxxxyxyyyyxyxxywxyxxyxzzyyzzyyxyxyywxwyyxyyyyxxxxyywxyyyxzzyyxyxwzyyxyzyyyxyyyxxxyzwyyzxyzyzyyyxyyyyxyxxy{yyyxyyxxyxxyxxyyyyyxzyxyyxyxyyyyzyzyxyxyxyyyzyyyzyyyyxxyyxyyzyzzzzxyyxyyxxyzyyyzzxyyyyyxxxxyzzyzyyxxyyxyyxzxzyxyyyyyyyyyxyzyzxyzzyzxxyyyyyzzzy{yyzyyyyyyzyyzyyzzz{yxxyxyyyyzyz{zzzzyyyzxyyzyyyzzyzyyyyyzyzyxyyzzzyzyzyyyyzyzzzyzyzzyzyzxxyz{zzzzyzyyyyyyyyyzzzz{z{zzxzzzyyzz{z{zzzyyxyyzyyyyzzzzzyzxzyyyxyzzzzzz{yyxyywxyyyyzyzzzyyyyxyxyxwyzyyzyyzywyyxyyyyzyyyyyyzyxxyxxxyxyyyyyywxxxyyyxzyyxyzyyzyxxxxyyyyyyyyzxxxyyxyxwxyyyyzxxzxxxyxwyyyxyyyzxzyxxxxyzyzzxyxzwxxxywxyyzyxxyyyyyyyxxxxyzzzyzyyyxxxxxxxyyxyxyyzxxyxxyxxyyzxyyyxyyxyxxxxzyzxyzzyzxyyxyxyyzyyzyzyyyzyyyxxyyyyyyyzyyyyxxxxyyzyyyzzxxzxyxyyzzzyyyzzzxzyyxyxyzyyyzyzzyyyyyxxyzyyyyzyzyxyyxyxyzyyxyzyyyyzzyyyyzyzyzzzyxyxyxzzzzzzz{{zyzyxyyxxyzzzzzzzyyyyyyzyyzzyyz{zyyyyyzyzzzyz{z{{zzzxzzyyz{y{zzz|yyzzyyzyzzzzzz{zzyyyyyyyyz{yzz{{{yyy{yzy{yyzzzz{yyyxyyzyzzzzyyzzyyxyzzyyzzyyzx{zzyzxzyzyyzyyzyxxxyyxxyyxzyyyzyzyxxxxyxxyyyxyyyzzyyxxxyyxyyxyyyyyxyyxyyxxxyyyyyyyxyxwwxyxxyxzxyzzyxyyxxxxyyyyyzzyyyyyxyxwyyxyxyyyxywxyxwwyyyyxzyyyxyxxxyxyxyxxyzyyxyxxxxxyxyxyyyyyxyxxyxyxyyyxzyyyyyywxxyyyyxy{yyxywxxyyxyyyyyzyxyxywyyxwyzzyzyyzyxxyxxxyzzzxyzzzxxyxyyxyyyxzyxzzyxyyyxxxyyzyyzyyyxxxywxyyxyzyzyxyxyywxyyyzyyyyzzxxyyzyyyz{zyzzyyzyyyyyzyxyzyzyzzxyzxyyyyyxzzzzz{zyyxzyyyzzzyzzyyyxzyzxyy{zzzzzzzyzyyyyyyyzz{yzz{zzyyzzyyz{zzy{z{zyyzzyyxzyyzzzzzzzxyyxyyyyyzzz{zyzyyzyyyy{y{zzyzyzyyxyxyzzyyyzzzzyyxwyyzzzyzzzzzyyyyyxxzzzyyzyzxyxxxyxyyyxyyzxzyyxyyyxxxyyxyzzzyyxxxxyxxyxyzzyxxyxyxyxxyxyzyyzyyzyyyxxxxyxyyyyxyyyxyxxyxxzwyyzzxxxyxxyyxxyzyyyyyxyxyxxyzxxxxxyyyxxxwxxxyxxyyyyzyxxxxxyxyxxyxyzyyyyyyxxxxyyyyzyyyzyxyyyyxyyyyxyyyyxxxxyxyyxyxyyyzxyxyyyxxzzyyyyzzxxyxyzxyyyzyyzyyyyyxxxwxyzxzzzxzxxxyxyxzyyyyzyzyzyyxyxxxzzyyyzzzwyyxyyyyzzyyxzzyyyxyxxyzyzzyyzzyxxxxxxyzy{zzzz{zyyzyzyyyzyyzyzzzyxwyzxyzyzyyzzzzyxxzzyyzzzzzzzyzyyzzzyzxzyzyz{zzzzyzxzyyyzz{zy{{zzyyzyyyzyz{yyyzzyzyyyyzxzzz{z{yzyyyyxzyzyyzzyzzzyxyxyxyyyzyzzyzyyyyyxyyzzyyyyzzxxyyyxxyyyzyxzyyxyywyyyxyyxxxzyyyxyyxxxyyyyz{zyzyyyxyyxyyxzyyzyzyyzyxyxxyzy{yyzzzyxxxxxyyyyyyyyzxyyxyxxyyzyyyyxyxyyyyxyxzxyyyzyzyxyxxxxyyzyyyzzxyxxxyyxyxyxxzyyxxyyxyyxyyxyxyzyzxyxxyxxxxyzzyzzyyyxyxyxxxyyxyyyyyxyxyyyyxyyyyzzzyyzzyzyyyyyyzyzzyyxzxxyyyzyyzzzyyxzyyyyyyzyyyz{zxyyyxxyyyzyyzzyzzxyyzxyyyzyzyyzzzxyyyxxwxzz{yxzzzyyyyyxzzzyyyzzyyyyxzyyyy{zzzzzyyyyxyzyyyzzzzzzzzxyzyyyyyzzzzzz{yxzzyxzzz{zzzzz{xyzzyzz{zyyzzzzzxyyyyzzyz{yzyz{{yyzyyyyyyyyzzzzyzyzzyyyzyzzzzzz|z{yzzyyz{y{{zyzyzyzyzyyyzzyzyyz{yzyyyzyzx{yzzzy{yyzxyyyyyzzzzxxxyyxyyyyxxyyyxxyyyxyxyxyyyyyzyyyzzyxxxxxyxxxyzyzyyxxxxxyxyzzzyyzyyyyxxyyxyyyyyzyzxxxyxyxxyyxxyxyyywzyxxxxzyyxxyzyxyxxxyxyyyyyzyyzxxwxyxxyyxxzyzyyyxxyxxxxyyyyyzyyyxyyxxyyyyzyyyyyyxxxxxywyyyyyzyyyyyxyyxyzyzxyzzyyyyxyyyxxyzzyyyyzzyyyxxxyzxyyzzyxyxxxyyyyyyzyyzzyzzyxyxyyyyyyyyxzyyxyxyxxyyyyyzzyxyxxyyxzyzzyyzzyxyyyyxzyyyyyyzyyyzyyyzyyzzzzzzyxyzyyyzyzzzz{{zzzyyyyyyyz{zzyzzyzyyyzzyyzyzyz{zzyyzzyzyzz{zyy{{{zzzyyzyz{{zzyz{zyyyzyxyzyzzz{zzzyyxyyxy{zyzzzy{zzzxzzyy{zzzzyz{zzyyyyxzyzzzzzy{zxzyyxxzxyzyzzyyzyzxxzxyyyzzzyyyyxyyyxwxxxyyzyxyzyxyyyyyyxyxyyyzyyyxxxyyyyyxxyyyzxxyyxxxxxyxyyxyz{xywxxxwyyyyyzyzyyzxyxxxxxxyyyzyyyzyyxyxyyyxyzzxyyyyyzxyxyyyyyyyxyxxyyxxyyyyxzyywxyyxyxyyzzxzzyyyxyxyyxyyzzxxyzxxyxxyzyyxyzyyxyyyxxxyxxyxzyyyyyyyxyyyyyxyyyyyzzyxzxxywxyyy{yyyzzzyyyyxyyyxyzyzzzyzxxyxyzyzzzzyzyxyxxxxyxzzzzyzyy{yxyxyyyxzzyzyzzyyyyyxyyzzzzzyzzyyyyzyyyy{{yzzzzxyyxyxzy{yyzyzz{zzzzzxyyzzzzyz{{yzyyzzyyz{zzzzz{zyzzyyyy{zzzz|{zzxzyyzyzz{{zzzzzyyzyzyzyzzzyzz{zzzyyzzyz{zyzzzz{yyzyzyyyzzyz{zzzzyzyyyxzyzyzyzzz{yzyyzyyzzyzyyzyyyzyyyyxyzyxyyyyxyxxyyxyxyyyyyzyyxyxyxwxyyxyyyyzyyxxyyxxyxyxzyyzxyxxyxxyyyyyyxzzzyyyxxxxyyzyyzzzyxyxxwwxyyyxyyyyxxxyxxyyzzywxyzzxxywyxwwxzyyyyyyyywxyxzwyzzzxyyyxywxyxxyxyzxzzyyyyyyxxwxyyyzyxyyyxyxzxyyxzxyyxyyxzxxyywxxyyxwzyzyyyyyyyxyxyzyyzyyxyxyyzyxyyyxyzzyyzyyxyyyyyyyzzzyxyyyyyxyyzxz{zyzyxyxyyyyzyyzzzxxyxyyxxxyyyyyy{yzxyxyzxxyyzyyyyzyyyxzyyyyxyzzyyyyyxyyyzyzzxzyzzzzzyzyxxyzy{zyzzyzyyyyyyyzyzyzzzzxyzzyzzyyzyyzz{zzyzyyzyyx{{{y{zzyyyyyxxxzzzzzzzzzyyzzyxzxyyzy{{z{yxzzyyzzyzzzzzzzyyyyyyyyzzzyzzzzyyyxxyxyzyyyyzyxyzyxyyyyzyyyzxzyywxyxzxyxyyzyyyxwxxxwxyyyyyyzzzyywxxxxyyyxzyyyyywxyxxyxzyyyyxyzxyyxxyyxyzyyyxyzyxyywxxxxxxyxxzyyyxyyyxxyyyxyyyzxxyxxyxyyxxyyxyyxwxxxyyxwywyy{zyyyyyxxyxyyxyyyyzyyyxxxxyyywzyyyzxxyxxxyxxyyyyyyyyxyxyxxxyzxyyzyyzzyyxyyxyyyxyyzzyyxxxxxyzyxyyyyzyxzxyxyyyyzzxyzyxyzxyxyxyyyyyzzzyxyxzyyyyzxzyyzzyxyyzywyyyyyzyyyxyzyxyxzzyzyz{zyzyxyyzyyyyzy{yzzyzyxyzzyyy{{yzyzyyxxzxyyyyzzzyyyyyyzxyyzxzzy{{{yzzyyxzzyyyzyzzzyzyxyzzyyxzzzy{{zzyz{yyyyyzz{yzzzyxyxzyyyyzzzzyzyzzzyyyzyzzz{zzzzyyyyyyyyyyyyyzy{yyyyyxxxyyzyyz{yyxyxyzxyyyyzyzyxyxxyxxwxyzyyxyyyxyyxxxyxxyyyxyyyyxxxyyxwxyyyyzyyzyyyyyyxyyzyyyzyyywyxyxxyxzyyyyyxyyxxxxxyyyyxzzyyxxxyyxyyzyxyxyyywxxxxxyyyxyxzvyyxxxxxyxyyxyzyyyxxxyxyxwxyyyyyyyxyxywyxxyyxyyyzxyyyxxxyxzyzxxzxyyyxxxyxyxyxyyyyyxxyxxyyxxyxyxyyyyyyxyyxwyyyzyzzzyyyyyxxxyyyyy{yzxxxyxxxxyyzyyzzzxyyxxxyyxzyxyyy{xxxxyyyyyyzzyzzyzyyyxyxyyyzyyzzzxxyyxyxyyyz{yyzzyzzyzyyyy{y{zzzzyxyyyxxxzyzy{yzzyyyyyyyxzzzyyy{zyxzzzyzzzzyzzzzzzyzyzzyzyz{zzzzy{yzyyxyyzzzzy{zzzyzyzyyyyzyyzz{zyyyzyzyyzyyzyzz{yyzxxyyyzzyzzzzzyyyyyyzyyyyyzzzzzxzyyxyxyyzyyyyzxxyxyyyxxyyzyyxyxyxxyyxyyzyyzyyzxyxyyxyyyyzxzyzyzyxxyxxyxyyyyzyyyyyxxxyxyyyyyzyyyyxwxxxyyzzxyzzzxyxxyyyyyyzxyyyyxyxyxxyxyxyyyyyyzyxxxxxyyyzyyyzxyxyzxyyxxzzyxyyyyyxyxwyxyyzzyxyzxxxyyxxxyxyxyyyzxyyywyxxxyyyyyyzywyyxyyxyyy{zyyzyyxyyyxyyyzyyzzzyzyxxxyzyyyzy{zzyzxyyxyyyyyyyyzzyxxyyxyyyy{zyyyzzxyyxyzyyyzyyzzyywyzyyyyyzyzxzzzyyyxyyyzzyyzzzyzyxzyyzxy{zzzxzz{{zzyyxyyxzyzzyzzzxyyyxxzyzzyzz{zyyzyzzzyxzyzz{zzzzyyzzyyzzz{zy{zyyyzzyzzzzy{zzzzzyyyyyzyyzzzyz{{zzxyyyyzzzzzzyzzzzzyyzyyyzzzyzzzyzyyyyxxyzz{zyzzyyyyyyyxyyzzzzxyxyxxxxwywyyyzyyyzyxyyxxyzyxyxzyyyyxxxyyyzxyzyyzyzxyxxxxxyzyyxxzyxxxxxyxxxyzyzyyyyyxxxyxxyxyzyzyzyzxxyyxxyxyyxxxyxxxyyxyyxyxyyzyyxxxxwyxxyyzxzzyyxxwxxyxzxyyyyyyyyyzxyyxyxyyyyzyzyxwxxxywyxyxyyyyyyxxxxxxxyyyxyyzyyxyxyyxyyyzyyzyyyxxyyyyxxyyyzy{yxyyxyyyyyyyzzzzyyyyyyyyyyyyzyxzyyyyyyyyyzzyyzxyyyzxyxyxyyyzyyxyyzxxxyxzyzzyyzzxyyyyyyyyzx{zzzzyyyyyyxyzyzzyyzz{zxzxyyzxyyyzzzz{zyyzzyyyzzy{z{{|yyyyzzzzyzyyzyzy{yyzzyyyyyzzzzzzyzyyxyzyyzzzyzzzzyyxzyzyzzzz{zzzyxyzzyzyzzzyyzzzyyzxyyyxyyz{{zzzyyyyyzyyyzyyyyyyyzyxzyyxyyyzyyzxxxxyyzxxxzyxyxyyyyxxyxyyzyyyzyyzyyxxxxyxyyyyxyxzyxxyxxxyyyyyxxyyyyyxyyxxxxyyyxyyyyzyxxxyyyxxxzyzyyyxxxxxxyyxyyyyyxywxxxyzyxyyyyyxxywyxxxxxzyyyzzyxxxwxxyyyzxzzzxwyyywxyxxyyyyxzzyxxxxxxxyyyyxxyzxxyxyyyyyzxyxyzzyyxyxxyyxzyyyyzyxxxyyxzyxxzyyyzzyxyxyxyyyyyyyzyyxyxyzxxyzzyxzzyyzzyyywyyyyyyyzyzxxzxxxyyyzxzyzyyxyyxyyxyyyyyyzyz{yyxyyyyyzzzyzzzyzyyzxyyzzzzzzz{yyyyyxxxyzyzyzyyzyxyzxyyyyzzyz{{zzyyzzzyzyzzzzz{zzyyyyyzyyzzzzzyyxzzyywxyzzzy{yzzyyyzzxyzzzyzzzzyxzzyyyzzyyzyzz{yyzyyxzyyzxyyzzzzyxxyxzxyyyzzyzyxyzyxyyxyyyyzzxyyywxxxxwxyzxyyyxyxxxyyyxxxxzyzxyzxyxxyxxyxyzxyzzxxxyyxyxyxyzyyyyxxxxxxyxwxyyyyzyyyyyxxyxxyyxx{zzyxyxxxxyyyzyyzzyxxyxyyxyxxwyzyyyxyyxxxxxyyxyyz{xyxxxxyyyxzyyzxxxyxxxxxxyyzyyyyzyyxxxxyxxyyyxyzyzyxxxyxzxyyyyyzyyyyyyxyxxyyyyxyzyyxyyzxxyyyyyzyzyxyyyxxyzzyyzzyxyxyxxxxyxyyyxzzzzyyzyywxxyzyyyzyzyxyxyyxzyyzyzzzyxxyzxzxyzyzyxzyyyyyyxyyyzzzzyz{yyyzxyxyxyyyzzyyzzyxyyyxxyyzyzzzyyyyyyyyzz{{yzz{{yyxyyzyzxyyzzyzyyyyzyzyyzzyyzz{yzyyzzyyzyzyzzzzzyyzyyyyyyzzz{zzzzyyzzyyxzzyzzyzzyzyyyyyyyzzzz{yzyyzzxxzzzyyyyyyzzxyyyyyyzyzyyzyyxxyxyyyxyzyxyyzyyyxyyyyxyzzyy{zyyyyxyyyxzxyyzyzyyyxzxwyxyzzzyxzyyyzxxyyyyyxzyyz{yxywyyxyxzyxyyyxyyzxyxyxyyzyyzzzyxyxxyxxxxyyyyyyyyyxyxxxyzyyyxzyyxyxwyxyzyyyzzxxzxyxwyyxxyzyyzzzyyyyyxxxyxxxyyyyyyxyywxxxyyyyyzyyxyyzyxx{yzyxzzzyxzxyxyyyyyyzyzzyxxyxyyyzyyyzzzzzyyyyxxyzzzyyzzzyyyyyxyyyzyzyzzyzzyyxxyyxyyyzyzyyxyyxxxyyzzzzzzyzyyyzxyyyyyzzzyzyyzzyyzyyzzzyzzzyyyyyyxzzzzyyzz{yyzzyyzzzzyzzz{yyzyyzzyyyzzzz{zzyzyyyzyyy{z{zz{zzyz{yyzyz{{z{yzyzyyzyyzyzzzyzzz{yzyyyyyyyzyzz{zyzzzyyyyzyzyyzz{{yxyxyyyyyzz{yyz{yxxyyyxxzyyzzFs7$alzz|zz{{|}|||z||{{{{{{|{{||{}|||{{{{{|{{{{{{||||{|{{{|z|z{|{{||{z|z{{||z{||{{{{|{|{{{{{z||{{{{{||{zz{zz{z||z{{|||y{z{{{zz{{||{{||zz{{{{{z{{{|{{z{{zz{{z{{{||{{{{zz{{zzz{{{||{{|}z{z{zzzz|{{zy{|{{{zy{{zzz|{{{|{|{{|z{{{z{{{{{z|z{z{zz{{zz||z||||{z{{{{|{|{{{|z|{{{z{{z|{z{{|}||{{{{z{z|{{|{{}||{|{|{{{z{{|}|{{|||{{{|{z||||{||||{{{z{{{{||||}}||{{{{|{zz|{{{||}|{{z|{z{z{|||}|{|{{{|{z{{{}|||}|}{{{{{|{|{}|||||||||{|||{}}}|}|||}{|{{|{{||}||}||}{{{|||{{|{||{|||{{{||{||||||}||{|{z{|{{{|||{||{||{{z{{{|}|{{|||{{{{|{{z|{||{||}}{z||{z{||}}{|{|{{|{{{{{{|{{|}}|{{{{{{{z||{||||{{{z|{{z{{{{{{|{{}||{z{zy{{{||{|{yz{{z{{zz{|||||{{{{{zz{{|{|||{{{{z{zzz{zz{{|z{{|zzzzzz{{z{z|{|{||{{{z{y{{{|{}|}|{z{{zz{z{{{||{{{{zz{zz{z{{|{z||{|{{yz{{{{{{zz||z|zz{|{z{{{{{{||||{|z{{{{z|}{{|||{{|{zzz{{{||{{||z{{{{{{z{{|{}||||{{{{zyz{||{{||{||z{|{{{|{|||{}{{|{z{z}|||{}{{|{{{|{{{|z||||||||{|{|{||{||}|||}}{|{{{z{{{|||{||{}{{{{{{{{||{}}{}{{{|||{|z{||||||}{{|||||||}}|}}}||{|{{{||}|||||}{{||{{{z|||||}}}{||{{{{{||||||||{{{z{{||{}{||||{|{{{z{z{|}|{{|}|{{|zzz|z|{{|{z}{{||z{{|{|}}||}|}|{{{|z{{|{|||}}|{{z|{z{z{{}{|||{|{{|{{{{{|{|||{|{z|{{{|z{|{|{{{{{{{z{z{z{||{{|{{|{{{z{zz|{{{{|{|{{{{{{{{{z{|||||{{z{z{zzz{{|{{}{{{z{{zzz{|{{{{||{{|{{{{{{{{|{||{{z{z{zzz|{{zz{{{{||zz{{{{{||{|||{{{z|z{||{{|{|{||z{z{yzz{{||{|z|z{{{{{{{|z{|||{||{zz{{|{|{|{{||{{{||{|{{z|{{{{{{|{z{{{z{{{|{||}{{|{{{{z{{|}{{|{|{|||{{{{|||||||||{{{{{{{{}{}||}}{{{}{zz{|{{{||}||{{{{|{{||||||||{{{|{{||||||{||}{{z{|{||{}{|||||~|{{{{z||}}}|}|||{{{{z{{|{{|{|||{z{{|{{{{||{|}{}||{{{|{|{|||}{}||{{{z{z{|}z|{||||{|z{z{|{{||}||~||{|{{{{{}|}{{||{{{|{{zz{}||{||}{{zz{z{{{{|{||}||zzzz||{{{|||{|}{zz{{{|z||||{|{||{{{{z{{z{z{{}||z{{zz{{{{{||{{{{{|{{{{{{{|{{|{|{zzzz|{{{{{{{{{{{{z{zzz{{{|{|{{||{z{zz{{{z|||{{}{{{{{zzz{{||{{{|{{{zzzz{{{|zz|{||{{{{{{z{||{{{{||{|z|{{{z{{|{{z}{{{{{{zz{|}|}{|{|z{{{z{{|{|||||||{{{z|z{|{|{||{|{|{{{{{{|{|||||}{|{{||z{{{|{}|{|||{||{{{|||{{|{{|||{{{{|{|{|}|{||{{{|{{{{|||||||}||{||{{{||}||}|}||{{{|}|||}|||}{}{{{|{|{||||}}|||{|||{||{|z|||}||{{{{{|||||{~||}|{{|}{{{{|{}{|||{{{{{{{{|{{|{|||{||{{{z{{{||{{||{{}zz{|{||z||}|{{|{{{{{{|}}{}|}|z|{{{{{{|{|||}}}||{{|{{z{{{{|{||{|{z{|z{||||{|||}{{zz{{z{{||||{{z{{zz{{{|}||||||{z{{|z{||{}{|{{{{{|z{{{{|{{|z|{{{y{{{z{z{z}{|||z{z|zzz{{{|{{{||{{|{zz{z|||||z{|{{z{{{z|{{{z{z||{|{zzzz|zz{z{{|z{{{z{{|z{||{||{{{z{{|{{z{{||{|||}{{z{{z{||{|{|{|}{}|{{z{|{||{{{||{{{z{y{{{||{|||{{|{{{|{{||||||||{zz|{{{{||{|{{||{{||{{{{{|||}||{{|||{{|||}|}{|||||{{{{{{||{{}}|{{{|z|zz|}}||{|||{{z{||{|}||||}|||{{||||||}||{}}}}{{|{{{{|}||}||}|{|{|{{||{||{||}|{||{{{|||{||{{||||{z{{{}|||||||{{|{{{{{z|z|{{}}||{zzz{{{{}|}||{{{|z|{{|{|}}||}{{{{{z{{{{||||}||{z{{{{{{{|{|{||}{{|z|{{z{z||{|}|{zzzy|{{{|{|||||z{{zz{zz{{|{{{{{{|z{zzy{{{|{z{{{z{z{{{{{{{{|{{||{{{z{z{z|{{{{{{{{z{{z{{{{z{{{{{{zz{z{zzz{{|{z||{zzz{{z{{z{{{|{|{{zz{{{{{{|{{{||}{{{{{z{z|{{{{{||{{z{{y{{{{{{{z|{|{{{{z{{{||{z|{|{zz{{{{y||{||{|{{{{{|z{{{{|{{|{|{{{z{{z{{|}||{|{{z{{{zzz{{|{{||{|{{|{|{|||{|||{|{{{{z{|z|||||{|||{|{{{{{|{||||}||{{|{{{{||}}||||{{|{{{|||||}|||||z||{{|{{|||}}}|}{||{{{|}}||||{||{{{|{{|{||}{|||}{}{||{{||||||||{|{{{{{z{{|{{}}}|{{{{zzz{|||{z||{{|zz{|z{||{z}{||{|{{||{{|}||||{{{{{|{||||||||}|||{{{{{{{|||||}{{|}z{{{z||}{{|||||{{z{{z||{||{}}{|{{{|{z{|{|{||{|{{z{|zz|{{{{}{||{zzz{{|{|{{{{|{{z{{{z{z{{|{}{|||{{{{{y{{{{|||||{z{{yz{zz||||{||{{{{{{{{z{{{|{{|{{{{{{{{{{{{{|{|{{{|{|{{||||{|||{z{{{{{|{||||{|}{{|{{{|{|{||{{|}{||z{{{|{|{{||{||||{|{{{{|{{||{||z{{{}{z{|{}|{|{|{|{|{{|{||{|{{|{{|||{||{{}|||||{{{{{{|{||||}||}}{||z{{{||}|||}}}{{{|{{{}}}{||}|{z||{{{{|}|||}}||||{|{|{|||||||}|{{{{z|{}{|||||}|{{||{{{||}{||}||||{|z}{|}|||||}{{{{{z{|||{|{{|||{{|{|{{|}||zz}||||zzz|{{{|{{}|}|||||{|{|||{{|~|{{{{{{|{|{|{|||||{{{{{zz|{||}{|}{{{{{|{z|||}{||||{{|z{|z|{{{|||||z{{{{{z{|{{|||{{{z{{{{{{{|{|||||z|{z{{{{{{{{||{{{{zzz{{|{|{|||{||z{{zz{{{~{{|{||{{{{{z{z|{{||||z{{zz{|{z{{|{{{|{zz{{{{z{{{|z||{{|{|{{{{|{|}{|||{zz{z{{||{{||{||{{{{{{{z{{{}||||z{|zz||{z||{{||||{|{{{{{{{|||{z|{|z{{z{{{{|||{{{|{{{{z{{||}{{{|||{{||{|{||}|{|{|{|{{|{|{||{|{|||{{{{|{{z{|||}}||||{}{|zz|||{|||||{{{||}{||{{|||}|{z||}{||}|||||}||{}{{{|{}||{|}}}{{{|||{{||||}|}|||||{|{||{|||}}{||||{{z{{||{||||{{{{{|{{|{{|||{{{{{{{zz{{||{|||{z|{{{|z||||||}|{{{{|{{{||||||}}|{|{{|{{|||{}{|{}{|{{z{||{}}{||}{{{{z{{z|{}|||||{||{z|z{zz{|{||||{{{y{|{{|}z||{|{z{{z{{{}{{|z{{{{z{zz{{{zz{||{|{|z{{zz{{{|||||{|{zz{zz{{{|{|{||{{{{|{z{{{zz{{{{|{{z{{|{{{}|||{||{zy{{{yz{{{|||||||{{|{{{{|{{|{{|{{{{{{{|{|{{||{|{{{{{{z{{|||||{|{{|{{|{{{|{{{|}||z{z{z{z|||||{|}{{{z|||{}{|{||}{{{{|||{|z|||}||}||{||{|||{|||}|}{{|{{{{{|||{||}{{{{{{|{{{}{|||}|{|{z{||||}||{}|}}||||}|{{|}|{||{||||{{{|{|||{}||{{{||{{{{|{|{}||||||{{|{||||}|}|||{||z{{|{||}|}|||{{|z{z||||{|{|{{}{{{{z{|{||}~|||||{{{{|}}}{||}|{{z{||{|{|}||||||z{{{{||~{{||}||{{z||z{z{||z{|}||{|{{|{|z||||{|||{{{{{zz{{|{||{|z{{{||{{|||{||{|{{{{{{{{z{|{{|{{y{z{zz{|||{{{|{|{|{{{z{{{|{||{{|{|z{zz|{||||{||{z{z{{{{{{z{{||{||{{{{{{{|{{||{|{{{z{{{z|{{||}{|{|{z{z{z{{}||||{{{{{z{|{|{{}}}{|{|{z{z{{|{}|||||}z{{|{{{{{{|{}|{{{{{{{zz|||{{{|{|{{|{||{||{|z||{{{{{{{{{||}{|}}|{||z|{{{|||}|||}|z{|{z{{{||||{}{{{||||{y||}|||}}||||{|}|}||}}|||||{||||||}}}|}}}|{{||{|}||}|||||{|{|{{{|{|||||}|||{{|{{|}|{{|{}||{{{{||{}{{}|}|}||{|{{{{{|{}||{{||{{zzz{{|}||}|{|||||||||||}|||}||{{|{|||{|||||}||{z{||{|{{|||||{{{||z{|{|||{||||{|y{|{zz{||}||{{{{{{{zz|{{{z|||{|z{{{zzz{{|{|{|zzzzz{{z|{{zz{|{zzzzz{z{{}{{{||{{{{z{z{|{{|{{|}{{{}{{zzzz||||{{{{{{z{zz{{z|{|{{}{{{{{{{z{|z{{|{{|zz{{z{{{{{||{|{{{z{z{{{||||||{|||{z{{z{|{{|{{{{{{{{{{{z{||{{z||{{{|{{{{{{{{|}{{|{{{{{z{||{{||}|||{{{|z{{~{|||||{{z{{z{{|{|}||}|{{{{{{||{|||||}}{|{{{|{z||}{|||{|{{||{||||||{}|{|z{{{||{}||||}|||{{{{{|{|}||}{}||z|||{{|||||}||}|{|{{{||{||}||}||{{{{{|{|{|~}||}{{|{{|{{|{||{|}||{|z{{{{|z|||||}{{|z{|z{|{|{{||}{|{{{|||{||}|||||{{|{{{{{||{|{|||{{z{{{z||}|||}{{{{{{{{zz{}|{|{{{z{zzz{{{{|{{{||{{{{z{|{{||{{{|{z{zzzz{z{||{|{|{{z|{z{z{|{z{{|{{{{{{{{{{{{{{{{{{zzzz{{{z{{{{|{{{{{|{yz{z{z|{|||{{{{zz{z{{|{{{|{{{{zzzzz{{{{{{|||{z{||{z{{{{{{|{{{{{{{z{{{{{{|{{|{{|{zz{{{||{{{|{{{{z{{zz|||{||{|{{{{|{{{{{|{|||||z|z{{{{z{{}|||{|{|{z|{{{||{{{{||z{{z{{{|||||}{|{z{||{}|{{{}}||{{{|{{z{z{{|{{||{{{{{{{||}{|{|{{|{{{z{|||{{{||||||{|{{{|{||||||}||{{|{{{z}{{}||}{}{{{|{|{|||{|||~{{|{|{{{{{z||{}|{|{{{z|{{}|{|}}|z{|{{{{{|{||{{{{{|{z{{{{{z||{{|}||{|z||z{}}{|||||{{|{z{{||}}|||}{||{{{|{|{{|}||{{{z|{zy{{{||{|||{|{{y|zz|{{|{|||{z{{{{{{{{|{{||{{z{{{zz{{|}{{|{{{zzzz{zz|{{|{{{{{z{{{zz{{{{|{{|{|{z{z{{{{{{||{|z{zzzzzzz|{{}|{{|z{z{{{{zz{|{||||{|{z{z{{{zz{{{{{z{z{{{{z{{|{z|}|{z{z{{{z{{{{}|||{z{{{z|{||{|||||z{{{{zz{||{{{|||{z{{{{{{{{{|{|}{{{|{|{|{|}|{{||||{{{|{{{|||{{{{|{{|}{{{z{|||||||{|{|{|{{|||}{|||{{{|{{|||||}|||||{z{|{{{|||{|}|||{{{{|||||{||}}|}|{{||||{}}}||}|}|||{||||||}||}||{{{|{{|{{||||||}|{||{{z|||{|||}{{{|{{z{||||||||||{{{z{z|||||||z{{{{z{{zz|{{{}||||{{|{|{|||||||}||z{|{{z}{||||{|{{z{{{{{||}||||||z|{{{{{{{|{{{{|{|{zz{{z{|{{{|{{{zz{{{{z{{|{{{|||{{{{zzz{{{{{{z{{{{{{{z{|{{{{||{z{{zz{{z{{{{{{{|zz{{zzz{|||||{{{{{{z{z{{z{|{|{||{{|zz{{{{z{|{{{{{{yzz{{z{|z|z{{{{z{|{{zz|{{{{{||{|{zz{{y{z{{{|{|{{zz{{{{z{z{{|||{z{{{{z{{{{{||}|{zz{{z{z{}|{{|z{{|zzz{{z{||{||{|{z{{z{{||{{|{||{|{{{{{|{||{}{||}{{{|z{|{|{{|{|{|zz|z{{{{||}|{||||z{{{{{{|||||{|}|{{{{{||||}||}|||z|{z{||{}||||}|||{||{{||||||{|||z{||{{{|}||||{}||{|}{{{|{{||}|}{{{{{{{{z}||||}|{{z{{{z{|{{|||||{{{{zzy{{|{{{}{}{|{z|{|z}|||||}|{{{{|{{|||||||}|||z{z{{{|{{}{|||{||{{{{{{{|{{|||{z{zz{{z{{||{|{|{{{{{z{zz{|z{||z{{{{{z{z{{z{z||{|z{{zzzzz{{{{{z{{zzyzzzzzz||{{{zz{{zzzz{{{{{}||{{z{zyzzz{{{{|{||{{yz{y{zz{|{{{z|{zzz|zzzz|{{z|{{z{{{{zzzz{||{{{|{{{z{{z|z{|{{|{{{{z{{||{{{||{{{|{z{{{{{{{{{{{{{{{z{|{{z|{|||z|{|{{{{z{z{{{|{z{{z{|{{{z{z{{{z{{{{{|{{z|z{{{{|{{||{z{|{{z{|{{{{{||{{|{{z{{||{|{|}{{{|{{{{{|{||||||{{{{|{|{{||||||{|{z{{{|{}}|{|{{||{|z|}z{{||}||||||{|{|{{z||||{}}{|{||||{||||{{|{|{{{z{{{|{{{{||{|{z{z{{zz{|z{|{}{y{yz{{z{||{z|{||}||||}|||{}||}}||{|}{{{}|}{}||}||{{{zz{{{|}||{||z{{{|{{{||{{{|{||{z{{{z||{{||{|z{{{{{{zz|{{{|{{|{{{{zz{{||{{{{{{zz{{{{{{{{{{|{|{{{z{{zz{{{z{{}{{z{{yzzz{{|z{{{}z{{zz|z{zz{{{{{{{{{{{zzz{{{|{{}{{{zzz{{{{|{{z{}{{{{zzzz{|{{z{||{{|{{{z{z{{|}{|||{z|{|z{{|z|{|{{}{{{z{z{{|{|{||||{{{|{z|{{{||{}||{||z{z{z|{{|{{|{{{{{{z{|||{{{|{|{z{{z|{{{|{}||}{|zz{{{{{||||{|}|{{{|{z{z|}|{|||||{z{|{|{|{{|}}|}{z{{z{}{{||||{||{z{|{{{{{~{{||||{||{{{{|||{||||||{{{{zz{||||||||{{|{{||{{{|{|||}{{z{{{{{z{{{|||{||{{z{{{{|{|z{|{{z{z{z|{{{||{|~}|}|{|{|{}}||||{|||||{|{{}|||||}||{{z{{|{|{{{|||||{{}|{{{|{||{}|{{z|{{z{{|||{{||}{{z{{zzzz|{{{|{z{{zz{{{{{z{{{{{|z{zzz{{z{{||{|{||{{zzzzy{{{{{{{zz{zzzzz{z||||{||{|{y{{z{{||{z|{|z{{{{{{z{{{{{|{|{z{{{z|zzz{{|{||{z{{{{{|{||{{{||{{{{{{z{{{{{{|||{zz{{z{|{{|{||||{zzz{{zz{{|{{|{|{||{{{{{{|{{||||{||{{zzz|{|{z{|{{{{{{{z{{||{{{||{|{z{{{{{||{{{||zz|{{{|{{}||{|{z{{{{{|{{||}|||{|||{|{{{|{||{}||{|{{{|||||}{}|}|||{{|{|{|{}{|}|}||||{{{{{|}}||{|||z{{{{{{|}|{||||}|{|{||{|{{}||{}|{{z{{{{{{{||||{{|{{{{{{{{{{|{{|{{|zzz{z{z|{|}}~}||{}||||}||}}}}}||{}|{{{{|}{|}}||{{|{||||||{|||{{{|z|{{}{||{|}|{{z{{|{{|{|||||{{{|zzz{zz{{{|}{zz{{|z{zy|{{{{{|{z{{zz|{z{{||{{||{z{zz{{{z{|z|{|||z{zzzz{z{{{|{|{{z{|{{{{z{{|||||{z{{|zz{{||{{{}{{zz{{{z{z|z{{z|{{{zzz{z{|{||{}{|{{{{|{{{{{|{|{{|{{{{|{{||{z|||||{{z{zz{{|{{|{{|}{{{{{{|{{{|{|}||{{|{z{{{{{{||{||{zz{{{|||||{{||{{{{|||z{|||}|||}z{{{|{{z{||||||||{z{z{{{|||{|{}||{|{{{{{}{{||||{{|{{{||{|}{|{|||{{{{{|||{}||}{}|}{||{{|{|}}||||{|{{{zzz}||||}||}||{{||{}{{|}||||z{{||z|{{|{||||}||{{{{{{||{|||{{||{z{z|{||{{{|~||}{{|||{|}}|{{}}|{||{{z{|{|||}|}|{{{{{{{|{|{{{|{{{{z{{{{{{}|z{}|{{zzz{{z{{{{z{{|zz{z{zzy{{{{{||z|z{{z{z{{{{{{{{|}{{z{{zz{{|z{{{{zz{{zzzz{||{{|{{{z{{z{z{{{z{|{|{z{{{zz{{{{{||{||{{{{zz{|z{{{z{{|z{{z{y{{z{{{{|{{z{|{z{yz{{{{z}||{{zz{{{|{{{{{{z|{{{{z{{z{|{z||||{|{{{{{{{{|{|{{{|z{z{{z{{{{{{|||{{{{{{{z{{|{{{|{{{{{|zzz{|{{||{{|z{zz{{z{|||{|{|{{{{{z{{{|||{|||{{{z{{{z|}{{||||{z{{{{{|}{}{||}|{|{|{{{{|||{|||{|||||{|{|}||{||}{{||{{{{||||||{{|{{z{|z{}{|||||||{{{{{{{{z|{|||||{{zz{z{||{|{}|||zzzz{z{{{{|{{{z{{{z{z{{{{{|{~}}~{}|{{||{}}|}|}|||||{{{{||||||}}||{{z|{z{{|{}}{|z||{|{{{|{||{{|||{{zz{{z|||{{}{|||{{|{{y{{||{|||{{{{{zz{{z{|{||{{zz{z{{{{z{{{||{z{{z{zzz{||{||z{{z{zz{{z{|{{||{{z{{z{{{{{|{|z|||z{zz{{zz{{{{{{|{{{zz{{z{{|{{|{|{|z{{{zzz{{{{{{{|||{{{zz{{{{{{{|{z{{zzz{{{|||||{{z{|{{{{|{||||||{{{{{{z|{{|||{||}{{{{{{zz|{{||{{{|{{|{z{{{{{{{||z|{{{{{{z{{|{{|}|{{|{{{||{|z||||}{|{{{z|{{|||||||||{||||{|{}{|}}||{{{{{||{|{||}{||{{{{{{{{||}}|}}||||{{{|||}|||||}{|{{{{|||||}||||{z{{{||}|{|}|||{{{{{z{z{||{|{|||{z{|{{z{{{||{{{{|{{zzz{|{|{|}}}}|{}|||{||}{}}}||||{{|{{||||}}||{|{{|{z{|{{{|||||{{{{z{z{{|{z{|{|{{{{{{{{{z||{||{|{{{zzzz{|{{|{{{zz{z{{z{{|{{|z{zz{{z{zz{{{{{z{{zzz{yz{z{z||}{||{{{zz{{z{|{{{{{{{{{zzz{z{z{{{|{|{zzz{zyzz{{{{{{||{zzzzz{y{{{{||{y{{{z|z{{{z{{|{{|{|z|z{z{{|{{|{|{{{{{z{z{z{{z{{|zz{{{{zz{{{|{{{|{{{{zzz{{|{|{|z{{{{|{{z{{|{|{|||{{{{{{zz{{{|{{{||{z|{{z{{{{|}|||{{{{z{{{|{|{|||||{z|z{z{{||{||}||{{{|{{{{{}||||{{{{{||{|{|{|||}|}{{{||{{|||{|}||{||{{{||{|||||{{}{|{||{{}|{|{{||{z|z}|{{|{||{{|}{{{{{{{{|{||{z|||{|{{z{{|||{{{|{{{{{z{{z||{{{~}}|}||||||~}}|}}|}||{{z{||{|{{|}}|{{z{{|{{{||{|~{{|}|z{|{||{||{||{|{||{{{|z||{||{{{{{{{{{{|{{|{{{{|{{z|{{{{{|{{{|{zz{z{{{|{{||{|{zzzz{zzz{{{{z||{z{{{{{{{|||||{{{z{{{z|z{{{||||||{z{z{zz{z|}z{{{{{{{{|{{z{z{{||{||{{{{{zz{{|{||||{{z{|{{{{{{|z||{{|{{zz{{|||z{|||{{{{zzz{||{||{|}|{{||{{{{||{|||||z|{{|{{{|{{|||{|{{{z{z{}|{{{|{{|z{{|{{{{|}||||{z|{{{{{|{|{|{||}{z{{{{{{||{||{|{|{z{|z|{|||{|}|}||{|{}|{||}{}}|}||{{|{|{|~||{}}{|{{|{{{|||{}||{|{{{|{|{||{{|||}}{|{|}|{|{|||||{}{|{{{z{{{}{{|||||{{{{{{{{{||{z{|{{{{{z|{{{|{|~}}|}}|||}{}}}}||}}||{}{}{|}|}|}}|}|{{{{|{z||||{|||{z{|{z{{||||{{{{{{{z{{|{{{|z{|{||{{{{{{z{||{|||z{{{{{{{{{{{z{{{|{zzz{{zz{{|{|{{{z{{z{{{z{{{|{|||z{{zz{zz{{{{{{{zz{|{yzz{{{{{{{|{{zzz{{{{{zz{{|{|z{{zz{{z{z{z|{||zz{zzz{z{{|{{{|{{{{zzz|{|{z{{|||{|z{zz{{{{{|{|{|{z{z{z{z||{{{{|{{{{|{z|{{{||{||{|z||{{{z|{{{|{|}|{{{{{{{{{{{|||{{{{{|{{z||||||||{{{z{{|{z|{{||||{{{{z{|{||||{|{|{{{|{|{{||||{|||{{{{{|{{||{|{|}|{|z{|{{||}||{}|||||{{zz{{|{{|{{||{|{{z{}|||||{|}|{{{|{||{{{|||}}{{|z{{{{z{{{||{|{{z|{z{z{|{{{|{|z||{{zz{{{{z|}||}}|~||{}}|}~{}}||{||{{|}{}}|}|||||{{{{|{{||{{||||{|{{z{{{|}|{{|{{{zz{{z|{{{|{||{z{z{{{{z|{|{{|{|{{zzz{{|}|z{{|{{z{{zz{zz{{{{{{|zz{z{{z{{{{{z{|{zz{{{{zz||{|{{{||{z{zz{{{|||{{{{{zzzzzzzz{zz{{|{{z{y{{{z{{z{{|{|{{zz|zz{{|||{{||{{zz{zzz||||||{|{{z{zy{{|{||{||{{z{{|{zz{z||{|{{|{{|{{{{{|{|{z|{{{|z{z{{{{||{}|{z{z{z{{{|{{{{|{|{|{z|{{z|||||}||{{|{{{{{||||{}|}||{{{|zz|}||}{|{|{{|{|{{{||||||}{{{|{{|{{{{}|}{|}{{|{|{{{|||{||{{{|{{{zz||{|||}|{z|{{|{||{{{||{}||{{|{{||{{||||||{|z{{|{{{|{{{||{{{{{z|{{{{{{{{{{{{{{{z{{z||{}}~}~|}}}}{|}}}}}}}|{}|{{|{|}|}|~|}||||||{{|}|||||}|{{{{z{z|}||z{||{{{zz||z{}||{|{|{z||z{{z{|{z{{{|{{{{z{{z{|{z{{|{{{{zz|{z|{|z||{}{zz{{{z{{{{{||{{{{|{zz{|{{|{||||{zz|zzzz{{|{|{||{zzzz{{z{|{{|{|}{{{zz{{{{{{|{{{|{{z{{{zzz{|{||{|{y{{{z{||{|{{|{|z{{{{{|z{||{|||}{zzz{{{{{||{{||||{|{{{{z|{{{|||{{{|||zz{{|{{|||||{{{{{y{||{z{{|||{{{{z{{||z|}}||{{{{z{{{|{|||{||{z{||{{{||{{|{|{|z|{{{{{|{||||||{{|{{|{{{|{||||{|||{{|{||}||||}{||||z{|||||{|}}||z||{{{{||{{|{||||||{{{{}||||||||{{{{z{{{|||}{}{|{{{{{|{|{{||{||z{{z{{{{{||{|~~~}|}|}|}~}~}|}}|}|}||{{{|||~}}||||{{||{|{|||{||}||z{|z}{{|||||{||{||{{{z{{|}{{}||{{z{|z{{{{|z{||{|{{{{{zz{{|{{|||{z{yz|{zz{{{|{|{{{{{{{zz{{{{{||z{{{z{zzz{{|z}|{||z{zz{{{{|{{{|{{{y{{{zzz{{{{{|{{|{{|z{{{z{{|{|{{{|{z{|z{||{{{}{{{|{{{|{{{||||{}|||{{{z{||{|{{|}|||{{|z{z{||{{||}{{{{{{{z{{}|{}{|{z{{{{{{|{|||||{{||{{{{{||{{|||{{{z{{{{|||{|{||||{{{z|{|||||||}||||{{{{{||{{{||{|{{||||{{|||}||||{z|{|||{||||}|}}{{||{}{|}||}}}|{{|{{{{|||{{{||||{{|{{z{z{|{{}||}|||||||{||||||||{{z{{||z|{||{||{{{{{|z{||||{|{{|{{z{{zz{||{{~~~|~}}~|}}~}}}|}}}|}{|{{{{~}}||}~}|{{{}{||||}|||{}|}{{{{{{|||{{||{{|{|{|{|{||{{||{{|{{{zz{{|{{||}{z{{{zzz||{{{||{|z|z{{zz{{{{z||||zz{{z{{{{|{|{}{z{z{z{{{{{|{{|{|y{||z{z{|{{{{{|{|{z{{{|{{{{{{|||{z|{|{{{{||{{||{|{|{z{|z{z{z{|z{{{|z{z{{{{||{||}{{{{{z{||{||{|||{z{{|{{{{{{{{|{||||{{z{|{|||{|{{{{{{{{{{||{|{|||{{z|z{{{|||{||||{{{|{{{{{|||}{||{{|z{{|{||||{}||||{{{{{{}||}}||{|{|{||||{||{|}}||{||{|{{{||}|}|||{|{|{|{||||||||}{{{{|{||{}}}}{||z{|{||{{|||||||||{{{|z|}||||||}{||{{|{{||{|{||}|{{{{z|{{|{|{{||{{{{z|z{{{{{|~|}}}}}~|}~~}}~~||}|||{}{||}}|||}{{|{|{||~||{}{}}{|{|z{{{||||z|||{{{{zz{z||||{|{|zz{{{|z{{{{{{{||{{{z{{zz|||{{{z||y{{{z{{{{{|z{{{{{|zz{{{z{|{{||{z|{{z{{|{{{||{|{zz{yzzz{{|{{||{{{zz{{{{z{{{{||||{{||{{z{|{{z{|{|zz{{zz{{{|{|{{||{z|zz{|{{|{||{{}{{{|zz{z{|{|z||}{z|zzzz{{|{|}|{|{{||{{zzz|{|{|{|{{{{{{{z{{{{{{}|{z|{{{{{{|{{}{||{{{||{|||{|||{||{{{{{|}{{|||{{}}|{{|{{z{{{}{||||{{{{|{|{|{}{||{}||{{{||{|||||||{|{{{{{{{{|}|||}{||{{{z{|}{|||||||{||{{{|||{||}}}|{{{|{{|||{}|}|{|{{|{z|{|{|||{|||{{{zz{{||}|}|{|{|{z{z{z|{|{{~|~~}}}}}~~}|}|}}}}}||||}}||{||}}|{{{||{{||||{{|}|||{{{||||}|{{|{|{{{{|zz|{|{{{||{z{z{{{{{|{{{|z{z{{{z{{z{||zz|{||z{z{{zz{{z|{|{|{z{z{z{z{z{{{{{z{z{|yz{{{{|{|{||{{{zz|z{|{{|{{|{{zzzz{z{{||{{{|{{{{{{zz{{{{{z||{{z{z{||z{|||{{|||yz{{{zz|{|{{|z{{{|{|zz{{{{|{||}{{z{{z{{|||{|||||{{|{z{z{||{||||{z|{{{z{||||{|{{|{z|{{{z{|{{{{|{z||{|{{{|z{||||{|{|{{|{|{|{{|}{|||{|{{z{{|}||}||||{|{{|{{||||{|}{{|{||{|{|{||}|}}{z{|{{{|}}||||||||{z{}||{||||||}{|||{|{{}|{||}~||{{z{{||}{|||||{|{{{||{{|||{|}}{{z{|{|z|||||{|||{{zz{{z{||||~~}}~}}|}||~{||||}}{||||{}}||}|}}|||{z||{||{|||||{{|{{{{z{{{|{|||{{{{{{{{{{{{z|{|z{|z{{zzz{{|{{{{|{zz{zzz{{{{{z{{{z{{zz{z{{{|z|{{z{z{z{z{{z{{{{|{{z{{z{y{z{{z{|{zz{{{z{zyz|{|{|z{{{zz{z{z{z|z{{|{{zz{zzz{{{||{{{|{zzz{zzz|{|{|}{|{{zz{z{{|{|||{||{{{{z{{{|{z{{|{|{{|{z|{{{{{||{{|{{{z{zz{{{||||||{{z{{{zz|{{{|{{||zz{{{z{{z|||||{|{|{{||{{{|||}}|{{{{{{{{|{z{||||||z{|{{z||||{|}||z{{{|{||{||||||{{{|{{{{{{{||||{}{|{{{|{|}{||~}||{{{{{{{{|||||||{z{{{{||{|||{|||{|{{{y{{{|}|}z|{|{z{{{z{{|{{||||{{|{{z{z{{|{{{|{{{z{{zz{{{{||~~~~}~|||}}}}}}||||{||||}}|}|}|{{|{|{{{{|{{|||}{{{{|z{}|{|{{|}{{{{{z||z|{{|{{{{{zz{{{z{z|{{|||{{{{z{{zz{{|z{|{{{{{zz{{{z{{z{|{{z{{{{yzz{|{{{{{{{{{|zzz{{{{{|{{{|{|zzz{{{{{{{{{{{zz{{zzyz{{{{{{|z{{{zz{zz{{|{|{z{z|z{zz{zz|||{}|{z{{{{z{|{|{{|||{{|{{{z{{{|{|}{{{{z{zz{|{{{|{|{|{{{{{{{z{||{||||z{|z{{z{||{z{|}{{zzz{z{z{|||{|{{|{{{{{|{{{{}{}||{{||{|{{|{{{{{|||{z|{z|z{|{||||{{z|{{{{zz{|||}{}}{{{{{|{{}||{|}|{{{|{|{{|||}|||||{{{{{||{|||{|{|||{{{{|{{||}}||}|{{|{|{{|{{~||{|{{{{z|{z{|z|{{}||{{{{zzz||{|{||{{{|{yzyz|{{|{~}~|~}~~}|~|}}}|~{{|}|{||||}}||}||||||z|||{{|{{}|||{{z{{z{{||{z|||{|||{y{z||||{|{{z{zz{{zzz{{{z{|z{{z{z{{{{{|{{{|{zz{{z{zz{{{{{|{|{{z{{zzz{{{{{{{{|{z{zz{z{{|{{||{{y{zzz{{{{{||{{z|zz{zz{{{|z{{|{|{zzz|{zz{|{|{{||{{{z{z{{{}{|z|{||{{{{z{z{{{|{{||{z{|{{z{{{{{|{||{{|{z{|z|z|{{|||{{{z{zzz{|{|z||{{|z{{{{{||||{{|{{{{{zz{{{{|{||||{{z{{z{{{{{|{|||{{{{{{{{{|{||||{}||{|zzz{{}{|||||{z{{{z{{|||||}{{{{{z{|{|{||||||{{{{||{|z||{||||||}{z{{{|}|{|}|{|{{{{{{{|{{||||}||{|{{|{|{{{|}||z{{z{{zz||{|{{{|{{{{z{{{{{{{{{|{z|z{{zzzz{|{|~~}}}}}}}}}}}}|~~|||{}|{|{{~||}}}}{||{|{|||{}|||}{{{{z{z{{{{||{{{{|{{zz{z{|{|||||z{{{z{{z{|{{{{{{{z{{{{zz|z|{{{{|{z{z{zz{{}||{|||{{{zzz{z{|{{|{{{{{{{{{z{{|z{{z|zz{{z{zz{{{{{{{{|{{z{zz{z{{{{{{{{zzz|zzz{z{{{z{{{zz{z{{{{{{|{{|||{{{y{{{{{{z{{{||{{zzz{{{{{z{||||{{{z{yz{{{{||{}{{z{{zz{{{{{{||{||{{{{{{z|{{|z{|{z{{{{zz{|{{{{{|{{zz{z{{{{{{||}|||{{{{||{||{||{|||{|{{{z{z|z||||z}z{z|{{{||}||||{{{{{{{||{|||||{{{z{{{||{{}||}{|||{||{{|{|||{{|||{{{|z{{{{||{{|||{|{{|{{{||||}|||{|{z{|{{{||z{|}||{|{zz{{z|{|{|||z{{{{{{y{{||{~}~}}}}}}~~|}~}}|}||{||{}}}}|||||{{{z{{{|||{||}|{|zz{{{{{{||z|||{{{{{||z|{{{|{{|zz{zz{|{z{|{z||{|{{z{y{z|||{z|z{z{z{{z{zz{{|z|{{y{{z{zz|{|{{{{{{{{{yzz{{{{{{{{|{z{zzz{{zz{|{{|{|{z{{z{{{{}{{{||{{zzzzzzzz{z||{{|zz|{{{z{z{{|||||{{zz{{{|z{|zz|{||{|{z{{z{|||{}|}{z{{{{z{{|{}{|}||{|{{{{z{|{{{{{{{{{{{{{z||||z{|||zz|{{{{|||{z|{|{||{z{z{||||{}{{|z{z{{|{{|{|{{|{{z{{{{z{{{||{||||{|{z|||||||{}|||{{{{|{||}|{}|||z{{|{{z{||{|||||{|{|{{z{||||}{||}|||||{{{|{{{||}||{{{{||{}|}|{||{||{|{{{{}{{|{}{}{{zz|{z{{{|||||{{{z{z{{{||{{}~~|}}}~}}}~~~|||{|}{}|}}}}}}}|||}{{{|{|{}|||}||{{{{||||{{||{|{||{{{z{{||{|{||z{z{{|{{{{|{|||{{|zz{z{{||{{|||zz{{{{{|{|{{|{{|z{{{{{z{{{|{{{|{|z|zz{z{zz|{||{|{z|{{{{{{{{|{{|{z{{z{|{{{{|{|{{{z{{zz{zz{{{||}{{{{}{{|{{z||||||{{z|{{{{{|}||{||{{z{{{{{{|{{{||}|{zzz{z{z{{||||||{z{z||{{{{||{|}{{{|{|{{z|||||||{{z|}{{|{|||{|}|{{{{{|{||||||{}|{{{|||z|||{{|{|{|{{{{|{{|||{|||}{|{{|||{|}|}|{|}||{{{||{{|||}}|{}}|{{{{|{|}}|}}|}||{{z{}|||}z|}}|||z{|{||||||||}}|{|}{|{{||||}||||{{|{{|{{||{|{||||{|{{{z{|{||{}}{||{{z{z|||}{~~}}}~}}~~~}}}~~||{}}{|}}||||}}}|{|{||{{}|{|||}|{{|{{{{z{{||z{||{{{{|z{y||||{|}{{{{z{{|{{{|{{|{{zz{{z{z{|{|{|{|||{zz{z{{{{||{|{|{z{zyzzz{{{{|{|{{{{{z{{z{||{|{|{{{{{zzz{{{{{{{{|z|{z{z{z{{{{{||{{z{zzz{{|{||{||{|z|z{{zz{{|{{{|{{zz{{z{{{||{|||||{|z{{{{{|{{{{||{{{{{{zz|z||{|{||{|z{z{{||||{||{|{{{{z{z{|}|{|}{{|z{{|z|{|||||}||z{{{{{z{|||{|||{z|{{{{{|}||}|{}|{|{|z{z{|||}|||{{{{|{{{||||{}{||z{|{{|{{~||{||}|{{||||{z|||{|}|}{{||{{{||||||||}{{|||z|||{{|||}|{{||||||||||}|}|{{{{{|z{||{|||||{|{|{{{||{}||{|z{|{{{{{{|{{{~~~~}}~~~~~}~||}||||||}|}}}|}||{{||{{||||||||}{|{{{{{||||{{||||{z{zzz{{|||{||{|zz{z{{{}{|{||{{z|z{zzz|||{{{{{{zz{{{zz{{{{||{{{{zzzy{{{||{{{||{zz{z{{|{z{z}||{{{|{{zy{{{{|{{|{zz{{{{zy{{{{{|||{{{z|z{zz|{{{{{|{z{z{{{{{{{|z|{||{{{{{zy|{|{{{{|{z|z{z{{||{|{{{|{{{{z{{z||||{||{|z||{{{{{||||{{|{{|z{{z{{{{|{|||{z{{|{{{||}{{|{{{|{{{{|{{|}||||{z{{{|{|{{|||{|{||{{|{{|{{||}||||}z{{{{z{}|||||||||zz{|}||{|{|}}{|{|{{{|{{}}||}}|}{{{{{{{{|{||||||z{{z{{||||{||}|{|{{{{{|{||||}{|{|{{{|{{||||}|{|{{|{{{{z||||{|{{{{|z{{{{{}||{~}}|~~~}~~}~}||||||}}{||}}||||{{|||{||{{{|~||z{{{|{{{|||}|{|{{|{{{zz|{{{|{|||{z{{{{{|{{|{|{|{{{z{{{{|{{{{||{{z{{{{zz{{||z|{|{zz{{{yzz|||{{|{zz{z{zzyzz{{z|{{{{z{z|{{||z{{z{{{z{z{zzy{{{zz{{||{{zz{z{{z{{{||||z{zzzz{{||||||{{{z{z{{{|{|zz||||z{{{z|{{{{{{{|{{{{{z{{{{{||{||{{{|{{z{{{{|{{{{{{{{{{{{{{|{|z{|zzz{{z{z{||{|{|{{{{zz{z{z{{|{|{||{{{{|{|{{|||{{~||{{{{{{||}|{|}{{||z{{{z|||||{|{|{{||{{{|||{}||{||{{{{z{{{{|}{||||{{|{{{{|}|}||||{z{{{{|{|{||||}|z{{|{|{{|{|||||||{{{{|{{z}||{}||||{{{{{{{{||z{z{{||{{{z||{|{|~}~~}~~}~|||{}|}||||}}}|}}{{|||{{|||{|||}{{z|z{{{{{||{{|}{{{z|zzz|{{{||{|{{zzz{z{z|{{{z{{|z{z{{{{{z{|{{|{|z{zzzzzzz{|{{||{zzzzzz{z|{{{{}{{{{zz{zz{{{{{||{|{{{z{z{{{{|{{|{{z{{{|zzz{|{{{||{{z{zz{|z|{{{}{{{z{{|{zz{|{{{{||z{z|{{{{{||{{|{|{||y{zz{{|{|{z||{{{zz{{z{{{{|||{{{z{{{{z{||{{||||{|{{||z{{|{{{}|||{{{{z{|||{{|{||{{{{{{|{||}{||{{{{{||{{||{|{|}|{{{{}|{{||{{|}|{|{z|{{{{||{}|}|}|{|{z{}{|||||||||{z{{{|{{||||}}||{||{|{z||||{||||{{||{|{||||||{||{|{|{{||||}|||}{|{zz{{|z|}}{|{|{{{{z{{z{||{}||{{{{z{z{{{|z{|}~~~~}}~}~||}|||{|}||}|}|||||||{{||{{{||}||{|||{{{|||{{{|||{{zzz{z||{{|{z{{{{{{z{z||{yz{|||{{{{z{z|{{{z{|{{z{zz{z{{|{|{z{{zz{z|zz{{|{z{{{{{{zz{z|z{{{{{||{{z{zzz{{{{{||||{{zzz|zzzz|{z{{||{{{z{{{z{{|{{{{{|{{{{zzz{{||{{{{{{zz{z{||||{{{||{{{{zz{{{{{|||{|{{{{z{|{{{{z||}||{|{{zzz{{{||{{{{{|{{|z|{|||{|{|{z{|{|{{{{|{||{|||{z{{{|{|{|{||{{{{z|{{z|{{{{||||{||||{{z|{|{||z{zz{{|{|||{|{|||{z{{||||{||||||}{{{{{{{|{}||||}||z{|{{||||}||{}{|{|{{{{|{{|||{||||||z{{{{||||||||{|z|{{{{|{||}|||{||z{{{||||||{{{{{{|zz{{}||{~}~}~~~}~~}}|}}{|||{|||}}}||{{{{{{|{|{|}|||{{{{{{{|||{{{|{|{{z{{{{z{|{{|z|{{z{{z{z{|{{|{|{{zz{{z{z{z|{z{{{{{{{{zz{{|||{{{{{zzz{{{z{{||{|{zzzzzz{zy{{{z|{{|{{{{z{{{{{||||{|{{z{{z{z{|{z{|{z{{{zzz{{{|{||{{{{z{{z{z{{|||{{||{{{z{zz{{{|{{{||{zzzzz{{|{{{||{{{z{z{{z{{{{{z{|||{|{{{{{|{|{||{{{{{{{{z{|||{{{||{zz{z{z{||||{{{}|{{zz|zz{{|||{||z|zzz{z||}||}}|}|{{|{{{{|||{|}|{|{{{{|z|||{||}||}{{|{||{|{{||||||{{|z{{z{}||}||}||||||{{|||{||{{}{z{{{||{||||||||{{{||{||||{||||{{{y{z{{}||}|{{{||{{z{{z|{{{{||{{z{{z{zz|{{{|~~~}}~~~~{|}||{}}{}~}|}}{}{|{||{}{||}}||{{||{{{|{|}|{||{|{|z{{z}}|{||||{{{{zz{{{|{z{{|{{{zz{{zz{{{||{{|{{zyz{zz{{{|||z|{|yzzyz{z{{||{||zz{zz{{{{{{{|||{{{{{z{{z{|{{{{|{{{{zzzz{{z{z|{|z{{z{zy{{{{z||~{|z{{{{{zz{||{{{{|{{{z{z{{|{{{|{{||z{{{{{z{{{|{{{|z|{{{{{z|||{{|{||z{{yz{{{{{|{|{|{{{{{z|y{|{|||}|{|{{z{{zz|||{{|{|{|{{{{z{|{|||||{z{{{{||{|||||||{z{|{{{{{|{{}|}|{z{|{{|{|}{||||}{{|z|{||||{|||||}{|{{|zz|{{|}}|{|{{||{|{{{{|||}||z|||{||||}|}|}}}{{|{z{{|{|||}||{|z{||{||}|{||||||{|{z|{||{|{|||{{{{{z{|{|||{~~~~~~}|}|||||~||}||}}}|{{{||{|{|{}|||{|{|z{zz{|||{{|{|{{zz{{z{|{{||{{{{|{{||z{|{{{{{|{z{{{{{z|{|{{z{{{{{z{{z{{{{{{||{{{{{zy{z{{|z|{|z{{zzz{z{{{|z|||{{zzzz{zz{{{{{{|{{zz{zzzz{||{{{{{{{yyzz|z{{{{||||{{{{{zzz{{{{{||{{{{|{z{z{{||{|{|{z{|z{{{{{z|z|{|{{{{{{z{{|{|}|{{zz|z{z{z{|{|{}{|{{{{{{{z|||{{|||{{{{{{{z{||{{{{||{{|{{{z||{{}{}{z{{{|z{{||{|{{|}{z{{{{|{{|{|||||{z{z|{{{||||||}|{||{|{|{|}||||{||||{z|{z||||{}{}|z||{|{{||{{||||}{{|{{{||{{|}||}{{{{z{z{||||}||{{{|z{z{{{{{{|||||{{{zz{{||||{{}|{{|{{{z{{{|{z~~~~~~~~}||}{{||}}}||}}}|z||{||{|{||{||}|}{{z{z{{{{|{||{{zzzz{{|{|}|{{|{{{{{{{{z|{{{|{{{z{{{{z{{|{{{|{|z{z{z|z{{{{{{|{|{z{zzz{z{{z|{{{{{{zzz{{z}|{{z{{{{zzzz{zz{{{|{|{|{z{{zz{z{{{z{z{|{y|{{z{zz|{{{{{{zz|{{{{zz{|{{|{{{z{z{z{z{|}{||||{{{z{z{{{{z|||||{z|{y|{{{|{|{{||{{{{{z{z{{||{||{|z{{z{{{{}{||||{{{{{z{{{}|||||{|zz{z{{{z{|{||{||{{{{{{{||}{|{|||{{{z{z{z|{|{||~||{{{{{{{}|{{|}}{{{{{{||{||||||}||{||{{|||||}||{{|{{|{{{{|||}|{|{{{|{{|{|||||{|{||||||||{{}||{||{||{{{{{z{|||{|}|{|{z|{|{{|}||z|{{{{zzz{{{{{||~~~~}~~~||}}|||{~|{}}}}~|{|z||{||||||{}{{{z{{{{||||||}|{{{{z{{z{{{{||||z{{{z|{zz{|{|{||{{{yzz|{{{{z{{|{zz{{|zz{|{{{{z{|{{{y{zz{{{{z{{{|zz{{z{z{z{{z{{|z{{{zzz{z{{{|{{{|z|{z{z{z{{{|{||{{{{{{{{{z{{|{||{z{|y{|{{{{|||{|{{|{z{z{z{||||{{|{{|{{||z{|{|||||{z{z{{z{{|{|||||{z{{{zz{|z{||{{||{z{z{|{{|{|{|||{{|{{{z{|||{|||{{{{{{{{{{||||{||{{{{{{}z|||||{|}|{z|{{{{|}||}||{|z{||{|z||||||}|||{{|{|{{|{}}||}|{{{{{{|}}}{||{}|{{{|{{{{||||{|||{||||{||||||{}||{{{|{{{}||}||{|{|{|{z{|z}|{{||}{{z|zz{{||||{{{{|{{{{{{{{||{|~~~~}~|~~{{}}|}}}}}}}|{{|{|||{|}||}{|{|z{{|z{|}|{|}|}||z{z{{|z{|||||zy{zz{{z{|||z||z|{z{{z{z|{|z{{{{{|{{zzz{z{{zz||{{zz{{{zzz|{||{|{{{{{{{z{{{{{|||{z{|z{{zz{||{z||{{{{|{{z{z{|{|||{||{{z{{z|z{z{|{{{{z{{{z{{{||{|||||{{{zz{{{{{||{|{{z|zzz{{{{|{||{{z{{zzz{|{|{|{}|{{{{||zz{|{||{||{z|{|{{z|||||||}{{z{z{{{|||{||||{|{{{{{|||||{||{{{{{|{||{{|}||}|{z{|{|{{|{{||||{|{{z{{{{|||{}|||{{|{{||{||}|}}{}|{{|{{|||||||||}|{{{|{|{{|}|||}|{{{||||{||}|}||||{{{{{{|{|{}{}|{|{{{{{{|z|{|{||{{|{{{{zz{{|{||||{{{{{z{{|{|{|~~}}}}}|}}|}}{|~}}||||{||z|{|}||}||{{{{{{||||}{{{|{||{z{{{|{|{{|||{{{{{{{{{{{|{{|{{|{{{{{z{||zz||{{{zzz{{{{|z{||{{z{z{{{z{{{{{|||{{{{zzz{{{||{|{z{|{{{{{{z{z||{{|{{{zzzzz{{{|{{{|z|zz{{zz{{{{{{|{{{{z{z{{{{|{{z||||{{{{z{z{|{|{|||zz|{{z|{||||{||||{z{{zz{||}||||||{|{{{{{||{{||{{{{{||z{||||}|||{{{{|{{{z{{|{{{{{|{{{|{|{{|{|{||||z{|z{||{||{{||}{|{{{{{||||||||||{{{|z|{|}|{|}}|{{|{{{{{z|||||}||{{{{{|{{}||||}||{}{{{|||}{|{{||}{{}||{||||||||}}|{{|{{{|||||}||{||z{{{{|||}||||{{{{{{{z{||||{{|{z|{{z{{{{|{|~}~}}}}||||}}}||}||}||{|{{{|}|||{}}{|z{||zz{|||{|||{z|{{{{{{{||||{|{|{|{{z{{}{{{{|{{{{z{{{z|{{{{{{|{{z{{{z{|{z{{|{{{z{{zz{z{|{{{{{{{{{z{zzz{{||||z{{{|{yz{{z{z{{||{{z{{|z{{{{{{{|{{{z{{zz{zz{z{{{||{z{z{|{{{|{z{{||{z{{{z{{{||z|{||{{{{zz{{{z{{{{|}{{z{{{{z}{{{|{||{z{{|z{{{|||{||{{|{{z{{{|{|{||{|{{{zz{{{{{|{||||}{||{{{{{|{{}|{|{{z{{{{{{{{|{{||{z||{|zz|||{|{|}{z{{||{{||{||{||{{z|{|z{||{||||}|{{|{{|{|}||{||}|{||{z{|||||{}}||z|{|{|||{||||{}{|{|{|{|||||z||}|||{{{{|{{{|{|||||{{{|{|||||{{|}{{{{|z|{{{|{{~~~~}~||}|}~{}}}||||}}|{|||{|{{{{{|{}{|{{z|{{||}{||{}{|{|{zz{{{|{{{{||z{{{{{{z{||{{|||{z{{zzzz{{{{z|{{|{{zz{{{{z{{z|{|{z{zzzz{{{{{{|{{z{|{z{zz{{{z{{|{zzz{zzz{{{{{{|}{{z{zzzzz{|{{{{z||{{{{{z{{|z{||{|{{{{z|zzz|{|{{{||zz{{{{z{{|{{|||z{{zzz|{{|||{{{|{{{z{z{{z|{|{|||{z|{{zzz{|}|}||{{z{{{{{{{|{|{|}{{{z{zz{||||{{{{{{z{{{z{|{|||||||{|{zz{{|||||{{}||{|{z{|{||||||{||{{||{{{|}|||||{{||{{{}{{|{||||||||{{|{|||{}{||||{z|{{{z||||||||{|z{{{{z{|{|{|||}{|{|{{{{|{|{|||||{{{|{{|{|{||||{|{{z{{z|{{|z{|{{z{{{{{{{|{{|~}~}}~}}|}{|||||}|||}|}{{|||{{|{||||||{||{{{{{|{{|{|{|{|z{z{z{{{{{{{|{{|{z{{z{|{{{z|{{{z{z{{{|{|zz{z{{zz{{{{z{zz{{|{{{{{{z{zz{{{{{{|{{zzzy|z{{{{{{{||z{|zzzzzyz{{{||{|zy{{zz{{{{{{||{||{{zz{{z||{z{z|z|{{{{zz{{z{z{||z{zz{{z{{||{{z{{{z{{{z{{{{{|{{||{z|{zzz{{{{{{{|{{{{z{z|{{{|{||{{{{{|{{{{{|{{|||{z{{{{{z||{}{{}{{{{z{|{z{|{||||||zz{{{z{{|||||}|{{|{z|{{{{|||||||{{z{|{{{}||{||||z{{{|z|{|{{|||||{z|{z|{{||{|{|}||{{|{{{||{}|||}{|||y||{{{|{||||||{|}{{{{{|||}|||{{{z|{{||{{||}{|||z{z{zz{{||{|{|{{{z{{zzz|z{{~~~~}~~|}||}|}}}||~~}{|{||{||||{}{||{{{{{zz{|{{{{|}|{{{|{{{z|{}z{{{|{{{z{{z{z|{z{||{{{{z{{z|z{{{z{{{|z{zz{{{|{{{{|{{{{{{z{zzz{z{{||{{{|{zzz|{{{{|{{{{z{yz{zzz|||||{{{zz{zz{{y{{{|{||z{z{z{{z{{{{{|||{z{{|zzz{|{{z}||{z{z{z{{{{||{{|||{{{{zzzz{{{z|||{{{z{{{{{||{|||{{{{z{{{z{{z{||{{||{{z{{z|{{{{{||z|||{{z{||{{{||||{{{z|{z|}}|||}}||z{|z{|||z||}{}|z|{z{{z||}}||{{|{|{{{{{|}||||}}{{{{|||{|||||||||{|{{{|{{}{|}||||z{{{{{{||||{|{|||||{{z}{{{{|}||{{{|||z{{||}|||||{{{{|{{|||}||||{{{{{{|{{|{{|{||{{{{{|{{{||||~~}|~}|{|}|}}|}}}|}|}|{{{||||||}|{{|{{{z{||{{{|}}{{{{{{z{|{||{|{|{{{{||{y|{{{||{{{z|zz{zz|{{{{{||{{{{{{{{{z{{{{{|{z{z{{z{{{|{{{{zz{{{z{z{{{{z{|{{{z{zzz{z{{{|{{||{z{{zz{z{{{z{z{{|z{z|zz{{|z|{|{{zz{zz{{{z|{||||{{{{{|{{z||{||{z}|{{{|{{{{|z|{|||{||{z{{z|{{||}{||{{zz{{{|||z{|{{|{{zzz{{||||||{|{{{{|{{{{||{{|||{z{{zz{{|||||}|{{||{{||z|{|||}|}{|{|{{z{{{||}{|{{{{|||{{}||}||}{|{|{{{|{|{||||||}{|{z{||{||||||}{{{{|||z||}|||}}||{{{{||{{||{|}}{{{|{|{||||||}|||{{z{{{{{|{}{||{|{|{{{|{{{||{||{{{{{{zz{z|{{|~~~~}}||||}}}}|}|}}|{{|{||{{|{||}||z{|{{{z{|{{{{|||{{{{{{{{{|{{{}{zz{zzz{y{{{|{z|z|{zz{z{z{{{z{||{z{{zz{{{{z{{{|{{{z{{{z{{z{{{{|{{{{z{zzyzz|{{{{{{|{z{{z{z{{{{{{|||y{zz{{z{{{zz{|{{{zzz{z{{{{z|{||z{|z{{zz{{{{{|{{|{{y{{zz{|{{{{||{y{z{{|{{{{{|||{|{||z{{z|{{{{{|{{{{{z{{{z|z|||{|{z{|{|{{{||{|{|{z{{{z{{{|{|{{|{|{zz|{|{{|{|{|{||z{{z{{||||{|{||||{zz{{zz{|}||||||{{|{{{{|||||||||z|{|{{{{{{||||||{{|{{{|{||}{|}}||}{{{|{||{|{{|||{{{|{{{{}{{|||}||z{|{{{|{{|{|}||{{zz||{|{{|{|}|{{|{zz|{{||{{{{{{{{zz{{{|{{|{~~~~~|}|}}}|}|||}||}}}|{|||||{{{||}|{z{{|{{{{}{}{}|}|z{{z{{z{{|||{{||{|z{{{z{{|{|{||z{{zz{z{{{}{{z|{{{{{{zzz{{{z|{|{z{zzz|z{{|{z{||{{z{zz{z{{|||z{{{{|zzz{{{{{{|z{|{zz{z{{zz{z{{{|{{{{z{{zz{z{||{||||{z{z{{z{z{|z{|{|{{{{z|{{{{{|{||{z{zz{{{{{|{{{||{z|{z{|{{{|{{|||{{|z{{{{{{{||{{{{{|{{{{{||{|{||{||z{{z{{{||{{}}||{z{|{{{}|{|{||||{{{{{|}{{{{{||||{{{|||{||}|{|||{{z{|||{||}||||||{|{{{||{{{{{{}||{{|{{{|{|}|{{}{}{|~||{{|||||||{{|{{{{|{|{||||||||{{{{{{|{{|}|{}||{{{{|||{{|||}||{{{{{}{{|||{|||{{|{{{{{{{{{{~~~~~}}|}}|}}}~|}~|}||||||{{|}||||}{{{}{{|{z{|||{||||{{|z{{z|}|{|||}z{|{{{{{{{{{z{}{{{{{{{zz{{|{{|||z{z{zz{zzzz{||z||z{z{z{{{|{z{|{{{zzzzz{z{{|{|{{{{y|z{{zz{{{{|{{|{{{{zz|{{{{|{{{||{{zzzzz{{{{{{||{z{{{{{{{{{{|{||{{{{{z{{{{||}||}{{}{{z{{|{|||{||z{{{{{{{{|{||||||{{|{y{zz{|{}|{||z{{{{{y{{{|{{||z{{{{||{{{{||{|||{{{|{z||||{||||{{{{{||{}|{||||||{{|{|{z|}|{|}||{{{{{z{}|||}|||}{z||{{{|||||}|}{||{|{|{{|}||}{|||{|||z|{{||{|||}|{{{{|{{|||{}||}}|zz|{{||||}|{||{{{z{{||{}{{||||{{|{{z{z|{|||}}{{{{{{z{z{{|{|~{}}|}}|}}|}}}~|}}|{{|z|z}|||}{}}|{{{{z{{{{{|{{||{{{{{z{z|{||{{|{z{|z{{z|{{|{{{|{z{z{z{{{{||z{z||{z{{{{{{{{{|{{||{{{zz{zzz||{{{{{{{zy{{{{z|{{{|{{{z{{{|{{{{{|{|||zz{{{z|z|{{{{{{{{zzz{{z{{|{z||{}{{{{{{{z{z||{|||{{{z{{|{{{|||{||{{{|{z|||z|{{{{|{z{{{z|z{{|{{||||{zz|z|{{{|{{|{||{{|z{z{z||||||||{{|{{{{||{|{|||{{||{{{||||~||||{{z{||{{{|{|||{||{z||{{z|{|{|||{{{{{|{{{{|{{|}||{{|||{|{{{{|||{|{||||{{{{|}}}|||}{|{{{{||||}}||{||{{||{{||{|||}|||||{|{{|{||{{||{{|{||{{|{|||||||{z{||{{{}|||{||{|z{|zzz|{{{{~~~~||||}||~~}||}~|{||{|{|||||{||{|{|{{{{||||}|{}|{|{z{{{{{||{||{}{z{{z{zz|z{{|{||{{{z{{{{{|{{|{{{{z{z{yzz{}{{{z||{z{|{z{z|{{{{{|{{z{zz{z{{{{{{z|{||{zzz{{z{{|{{{||z{z{{zzy|{z{{{||{{z{{zz{{{||}z{{zz{{{{{{{{{|{{|{{{zzz{{{{|{{|{|{{z{|{{z{|{{{|{|{{{{z{{z|{|||{{{|{|{|z{{{{||||}{|{zz{{{{{{|{||||{{zz{|{||}{{{{{|{{{{z{z{{{|||}||{{{|{{|{||||||{|{{{{|{{z|{}||||{}{z|||{{}||}{|||{{{z{|||{|||{|{|{|{|{||{|}||}}}|}||{|{||}|{}}|||{z{{{{{||}{{|{||||{{||{|{{{}{|||{}|z{{{{|||{||||{z{{|z{z{}{|{|}|z{{zzz{z{{|{|~~~~~}~}}}|}}{}}~{{|}|||||{{}||||}}|||}{{|{{||{{{|||{{z{{z|{zz{{{{{||{{{{{{z{||{{|||{{{|{{{{{{{{{{{{{z{{{z{{{{{{{{|{{{{{{z|{{|}{|{|{{{zz{{{{{{|{{||{{z{{zzz{{|{{{{{|||zzzz{yz{{{{{{z{{{zz{{y{{{{{||z{zz{zz{{||{|||}|z{yz{zz|||||z|{|z|{{y{{{{{|{{{|}{{zz{{z{|{|||{|{{{{{{z|z{}|||}{{{|{{{{z{{||{{|{|{|{{{z|{||z||{{||{|{{{zz{||{||||{{||{||||{}|{{}||{|z{{{{}|}{|{{||z||{|{{|}|||}||{z{|{{|{||{||{||}{{||{z{||||{|}|{|||||{{||||||}||{{z{{zz{||||{}}|{{{||{||z||||||{{{{{{{z{|{|{|}||{{{z||{|{|{{{||||{|{zzz{z|z|~~~}}}}}||}}}|}}}}}|||||{}|{}{}|}{}||{{|||{|||{{{{|{{zzz{z{||||{|{}{{{{{{{z{|z{{||{{{{|{{{{{{|z{||z{|z{z{z{|{{{z|{{z{zz{{z{{{|{{|||{{{z|{{{z{{z{||{zz{yz{{{{|z|{{|{{z|{zz{z{|z{{{|{{{{zz|{{{{|||{||{|{|z|zy|{{{z||z{{zzzz{{{{|{{{|{{{|{{z{z{{{||{{|{{{{z{{{|}{{||||{{{{zz{z{{|{{||||{{{|z{{|{{||||{{z{{z{{{|}{|z|{{|z{||{{{{|{|}}||z{{|{{|{||{}||||{|{{|zz{z||||||||z{|{||{|}||{|{|{|{{z|||||||||||||z{{{|z|}{}||}|}z{||{{{||}{|{|{{{{|{{{{{||{}{}|}|{z|{{{|{{|{||||{|z{||{|}{{|||||{{{{{z{{|{{{||||{{zz{{{|{|{z~~||}}}||}|}|}|}}|||{{|}|||||{|||||{{|{{z{||}|{|{|||z|z|zz{{{{|{|}{{zzzz{z{{{{z|{{|{{{{zzz{||{z|{{{{{{{{z{{z|{{{z{{z{zz{{|{{{z||{{{z{{zzz{{||||{{{{z|zyz{{z|{||{|zz{z{{{{zz|z{zz|{{zzzzz{{z|{{{{{{{zz{{|{z{{{{|{|{zz|z{{|{{{|{||||{{{z{z{{|{|{|{{|}{{{{{{{{{{{||{{{{{z|zz{|||||{{|{{{z{{z{{{{{||||{z{|{{{{|{|{{{||{{{|{{{{{{||||{{{{{|{z|{||{|{||||{z{z{{z|||{{||{{z{|{{{z{{||{|{|||{z{z{{|||{|||||{|||{|{{}{|{|{|}{{|z{||{{}||||||{|{||{|{||{{||~{|{|{{{{{{||||||{{{{{{{z{|||||{|||z{z{{z{}|{{|||{{{zzzz{|||||~~~~~}}}}|||}||}}||}}|{||||{{|||{||{}|}{|{{{{|{|{||{|{{{{z{{z{|{{|{{|zz{zzz{z{|{{{z||{z{{{z{zz{{{z}|{z{{z{z{{{{{{{{|{{{zy{zzy{{{{{||z{zzzz{yzz{|{{{{{zz{{z{zzzz{{{{|{z|z{{y{z{|{{{{{{|{z{{{zz{{z{|{||zz{z{{{z{|z{|{{{{{{{zz{zz||{{{||{{y{{{{{{{{{|{{|{{|{{zzz{|{{{|{|{z{{{|{z{|||{|||z{{z{zzz{|{||||{{{{{{zz{||{{{|||{{{{{{{{{z||||{|{{{|{{{|||{|||||{{{{y{zz||{}|{|||z{z||{{|||{|}|}||{{{{|{{|{{{|{|{{{{z{z{||}||{||{{{{{z{{}||||||||{z{{{{||{{{|||}{{z{|{{{||||||{}{{{z{{zz{{{|{|{|{{{{{z{|z{{|{|{||z{{{z{z|{||{~~}}}}}|||}|}|~}|}|}{|{{||{{||{||{{{{{{|z{{|{|||||{{{{zzz{|{||{|{|}zzy{{{{{{zz{|{|{z{zz{zz{{||{{{{|{{zz{z{z{zz{|{|{z{zzzzz{{{{{{{{{{zzz{zzz{||z|{{{{zzzzzz{{{{{{||{z|z{z{{z|{{{z{|{{z{zy{{z{{{{|z{{z{z{{{z{{{|{|||{z{{{z{z{{|{|||{{{{zzzz{{{z{{|{{{z{|{zz{{{{{{||}{{z{z{{z{|{}|{|{{{{{z{zz{}||{|||zz{{{{z|{{{{{{{||{{{{|{{{|{||{|{{{{|{{{{{|{{||||{{{|{{{z||{{|{}{z{{|z{{{||||}{|{|{{{{||z{||||}|{{{||{|z{{{||||||}{|{{{{{|{{||{{{{{|{{{{{{{{||{||{|{{{{|||||{|||||{{z{{zz{}{{{|||{{{{{z{{{z|{{||{z{{{{z{{|{{|{~~~~}}}|||~}|}}}}}}||{|||||||{}||}}|{{{z|z{|||{|{|||z{{{{{z||{{{{{|{|z{{{{{z|{{{|{{|{{{z{zz{|{{{|||{{{z{{z{|{{{{}{|{zy{|zzzz{z{z{{{{z{{{{{{z{{||{||{{z{zzz{{{{|{{|{{z{z{{z{{{{{{z|{{{z{{z{zz{{|||{||{{z{{{z{{||{||||z{{{z|{{{|{{z{|{z{{zz{{{{{{{||}z{{{{{{{|||{||||||{{zyz{{||{|{{{{|z{{z{{{{||{{}||zz{{{{{|{|{||||{{{|{z{{{|}|{|||{{{{z{|{{|{|{}}|{{{|{||{{}{}|||{|{||{{{{||||||||{{|{{}{{{|||}}|}{{{{|{|{|}}|||||{z||{{{|}|||||{}|{{|{{||{|||||~||{{|{||||||{{||}||{{z{{{z}{|||||{{{{z{|{{|||||||z||z{z|{||||{~}~~}~}}|{||}|||||}}||{||{|||{{{||}|z{{{{{{|z||{{||||{{{{{{z{}|{|{||{z{zzz{y|||{z||||{{zzzz{z|{{z{{{{zz{z{z|{{{{{{{{zzz{{zzz{{z{{{{z{{z{z{z{{{{z|{{|zz{{{|{z{{{||{|{{{{{{z{z{{{{{|{{{{zz{{z{{{{{{|{|zz{{z{zy||{|{|{{{{|zzz{{||{|{|||{{{|{z|{{{{{|{|{{{{z{{{z{||z{{||{{z{|{{{{|||{||}{{||{{z{|||{||{{{{|{z{z{||{{{|{{{z|{{{z{{{||||{}{{|{{{|{{|{{~||}{{{|{|{z|}{||}|{||{{{{{{{||||{}|{{{{{||{||{{||||||||{{{|{}{|||||||||{{{{}||||||||z|{|{z|{{||{|{{||z{||{{|{{|{||}|{{|z{z{z{|{|||{{{{{{{z{||{z|||{{{{{{z{{|{{{|~~}}||||}}}}}|{}|{{{{|||}{|z|{}{{{{|{{z||{}|{{|||{z{zz{y{{{{|{{|{{{z{{z{{{{{{||{{zzz{{{{{{{z|{|z|z{z{zz{{{{|{|{{zzz{{z{{{{z||{||{|{{z{{zz|{||||{{{{|zz|z|||{{{||{{{z{zzz{{z{{|{||{z{zz{{{|{{z{{{zz{{{{z{z|{|{||{{||z{z{{{||||||{|{{{z{{z{{z{||||{{{{z{{{{|||{|{{{{z{{{{{z{|{{{{{|{|{{z{{||||{|||{z{zzz{z}{{{}|{{|{|{{{{z{{{||{|{{{{{{||{{|{{|||{{{|{{{{y|||}||}{|||{{{{|{}||{}|||||{{||{{{|{||||}{{|z|{|{|||{{|||{{{|{z{|}|||}}||||{|{||{|zz||}||||{|{z||||||||}{||z{|||{{{||}||{z{z{{{{|{|}||||z{|z{z{z|z{{{~~~|}}}|}{}}}|}||}}{}|{|{|||||}|||||{{{|{|{{|}|{||{||{z{{{{{|{{||}{{zzzz{{z{{{{{|||{{{{zzz|||z{||z|{z{zzy{{{z{{|{{{yz{{y{{{{{|{|{{{{z{z{z{z{{{|{|{{zzz|{z{{|{{{|||{z{{{z{z{{{|{{{|z|{z{{z{z{{{{||{z{|{{{zz{{{|z{||{{z{{{z{{{{{{|{|{{|{{z{{{||{{||}{{zz{z{z{{{||{{{|{{{{z{z{|||||||{{{z|z{z|{{|{{|{{z{{{{|{|||{||{|{{{{z{{{{||||}|}|{z|{||{|{||{}|||{{{{{z{{|{|{|}|}zzz|z{{{|||{|}|{{{{{{|{{|{|||||}|{{{{{{{}|||}}||{{{{{{{}{|||{||{|{{{{{||{||{|||}|}|{|{{{z||}}||{|{{{|{{{{{{|||||{{{z{{{{{|{||||{z{z{z{z{{|{|~~}}~}|||{~}||}}|~|}||{z{|{||||||}||{{{{{{z||{||{|}}|{{z{{{{{{|{|{|{z{{{{{zz{|z|{||{{|{{{z{z{{{z|{z{z{{{zz||{{|{|{{{{z{zzzzz{{{{{{{{{||z{zz{{z|||{|{{|zzz{z{{z|{{|{{z{y{z{{{|{{{|||{|zz{z{{{{{{{|{{|{{{{z{{{{{||{|{{y{{{{{{|{||{|}|||{z{z|{{z{|||||{{zzz{{{}||}|}|||{{{{{{z|}|{|{{{{{{z{{zz||{|{{}|{|{{{{{{|||{z||||{{{{{|{|{{||||{{|{||{|{{}{|||||{z|||{z{{|||}||||{{|{|{{|}~||||||{{{{|{{{}||||}||{z{||{|{|||||}}|{|{|{{{|||||}|||{|{{{{{{{{|||}|||z|{{{{||{||}|||{|{|{{{|{{{|{{|||{|{{{z||{{||}|{{{z{{{{{{{{{~~~~~}~}}~}|}{||}||}|}|}|{{|{{|{{||{|{|{{|z{{{{z|{{{{|||{|{zz{zz{{{{{{{{z{{{zz{zz{|z{{|z{yz{z{zzz{{{||{{{z{z{{zz{zz|z{{{{zzz{|zzz{{{{||{{{{{zzzyz{{{{{{|z{zzz{z{{{{{{z{{{zz{zz{z{{{{{{||{{zy{z|zz{z{{{{{{{{{|{{z{{{|{||{{{{{{z{{||{|{z{|{zz{zz{|{{{{{{||z{{{{zz||{z{|||{{{z{{{z{z{{|{|{|{z{{|z{{{||z{{|{||z{z{zz{{z{{|{}|{zz{{zz|||{|}|{|{{{{||{||{||{|{|{z{{z{{{||}{{|||{{z{{z{{||{|{{{{{{{{{|z|}||{|||{|{{{{{z{|{|z||}|{|{zz{{|||||||z{{z{z{{||||{{{|}||z{{z|{{|{||}|||{{z{{{z|||||{{{|{|{{{|zz||{|{|{||{y{{z{{|z{z~~}~~}}|}|}{{|}}|}~||{|{{}||{||{|{{||{z{{zzzz{|{|{||{{|z{zzz{{{{{||{z{zzz{zz||{zz||z|z{{{zzz{{{z{{|{{{{z{{{z{{z{z||{zzzyzzzz{{{|{|{|{{{zz{zzzz{||{{|{{zz{{y{{{z{{{z|zy{z{zzz{{{{|z|{{{z{{zzz{{{{||}{{zzzz{zz{|z{{{{{{{{{{y{|z{|||{|z|z{{{{{z{{{|||{|{zz{z|{{{{|{||{|zz{z{{{{z{{{|||{z{{{{{z{{{||{{|{zz{{{zz{||{{{{|{{z{|||{{{|{{|||||{{{{{{|{|{}{||{|z{{{zz{{{{{|z{{{{z{{zz{|||{|||{|{|{||{{{}|{||||{{{{{{{{|||{}}}{}{{{{{{|{|{|||}|{zz|{{{{{{|{|{||{{{{|{{z{|{|{|{}|{zzz{||{{{{||||{{zz{zzz{|||{{{{z{|z{z{{{|||{|}}~|||}}z||}|}}}|}||{|{|z|||||||||||{{{{{{{||z|}|{z|z{{{z{{{{||||{{{{{z{{{|{{{|}{z{{zz{z{{{{{{|||{{{{{{z{{{{{{{|{{zzzz{zzz{{{{||{|{{{zzz{{{{{|{||{{z{{{y{{||{{{|{{z{{zz{{{||{{{{|{{{zy|{z{{{{{{||z{{zz{zz||{{|{||{|{z{z{{{|||z{{||{|{|z|{|{|{{||{{z{{{{z{|{{{||}{{z{{{zz{||{{{|||{{|{{{{{||||{|||{z{{{z{|{|{||||||{{|z{{{{||{||{|{{{{{{||}||{||||{z|{{{{{{||{|{||}{{|{|z{||||{||{{||{|{{{|||||||||{{{{{{|{|||||}|||{|{{{{||{}|}||{{z{{|{||{|||||||{{{{|{{|||||||}{{{z{z{{{||{|}||{z{{|{{{{|||{{{{|{|{{z{z{{||{~~}}|}}|||~}}}}}}}{{{|{{|{|||}}|}||{{{|{{{|{{|{|{|{|z{{{{{{{|{{{|{{z|z{{{z{{{{{{z|{{{{{{{{{{|{z{|{{z{{{{{{z||{{{{{{z{|{z{z{|||{|{{{{{zzz{z{{||{{{|{{{{{|{zz|{{{||{{{zzz{{{{{{{{{|{z|{yzz{z{{z{||z{{{z{{z{z{{{{{z{|||z{|z{z{|{{|{|||{{{zz{{|{{{{{||{{{{zz{z|{||{||}{{|{{{{{{||{{{{{{z|||{{z||||{{||{{{|{z{{|||{|||||{{{{{zz{|||||||{{{{z{}|{{{||{|{{{{{{{{{||||{{|{}z{z{{{|||||{}|}{||zz||||{|{|||}|{|{{|{{|}|}|||}{{{|||{{}|||{|||}{{|z|{{|{||||}|}|{}|{{||{|{}||||{|{{{{{{|{{|}||{|{{z{z{||{|z|||{{||zz{{|||||}~~~~~}}}||}|}|{|}||}}||{|{{{}{{{||~|{{{|{{|z{{||{{}||{{{{zzz{||{|{{{{|zz{{{{{{zz|||{{{z{{zyz|{{z{{{{{{{z{zzz{{z{{|{{{{zzzzz{z|z{}||{|z{{z{z{{{{{||{{{{{{{{{zz|{{|z|z{z{zzz{{{|{z{|{z{{z{{{{zz||{z|{{{{{{z{{z}{{|{{||{{z{|{|{{{|{{z{{{zz{z{{{{z{{{|{|{{|{z{zz{{{||{||{|{{{{{{z|}{||{{{{{{{{{{{{||{{{|{{{||zz{|||{{{}|{{z|{|{{|{{|||{{{{z{{{{{|z{}{{}}|{{{|{z{{}|{{|{||{{{{{z|||||||{|{|{{z||||{|||{||||{{{|{{|}||{||||}{|{{|{{|||{{}||{{{{{{{{|{|||}|{|z{|{{{|||{||||{{{{{{{{{|{{{||||{zz{{{{{|||{|{|{{|{z{{{{{|||~|~~}~||}||}}|}}}|}}|}||{|||{{{{||||{|{{{z{z{{|||{|||{z|{z{{z|{{|}||{{|{z||{zy|{z{}||{{{{yz{{{{{{z|{{|z{z{{{{{z{{{{{{zzz{{{z{{|{z{{|{z{z|z{{{z{{{{|||zz{{zz{{|z|{{{{{|{{{{z{zz{|{{|z{{{|{{zz{{{{|||{{{z{zy{z{z{}{{{{|{{zz{{{z{||z|{{|{z{zz{{{||{{zz{{{z{z{z{{{||z|||{||z{{{zz{|{{{|{{{{{z{{z{|||{{{|{{{{{{z|{|||{|}}{{|{{{{z{|||||}|{{{z{|z{z|z{|||||{z{|z{zz||}{{}|||z{{{||z||}{||}||||{{{{{{{{|||||}{{{z{{{{}{{|{||{{|{|{{{}||||||}||{{{|{{{{{{{|||{{{||{{|}|{{||||{{{{{{{||||||{||{{{{z{{z{{|||||{{{{zz{zz{}|{{~~~}~}~}||||}~}}~}~}}{{z|{{|}|}}|}{||{{||{z{{{|{{{|||{{{z|{{{{|||||{z{{{z{{zz||{{||{|{{|{{{z{||z{{|{{{{zzz{{{{|{{}{|{z{z{{zz|{|{|{|{{{{zzzz{{|z{|{}|{{|{{z{z|{{|{z||{{z{z{{{|{z{|{{{|{{{z{{zz|{z{|{||{{|||zz||{|{||||{{z{z{{{|{{{|||{|{{{{{{{|{|{||||z|||zz|||{|}|||{{|{{{{z{{{{|||{{{|{{{zz|||{|{}}{|z|{{{{{||{||||{{||{{|{{||||~||||{||{|{|||}{{||{{{{{{z{|{||||}{}{{{z{{{z|||}|}}{|{{z{{|}|{|||}||{{{|z{{|}|||{{|}{||{{{|{|{|}||}{{|{{|{{{|{|||}||{||{{{{|}{||||}|{{z{|||{{||{|||{|{z|{{{|{{|||||||{{{z{{z{|||~~~~}}~}}|{|}}}}}|}|{|{{|{||||}|{|||{{{{{{{||||{||}{|{{{{{{|{}{{{||{{|{{||z{|{|{|{z|{|{{z{{{{z|{|{{{{{{z{z{{{|{||||{{|z{z|z{{z{|{{||{z{zzz{{{{|{|||{{{|z{{z{{||||{||{z{{{{z{z{{z|||{{z{z{z{{{{|{{|||{{{{{{z{|{{{{||{{{{{{zz{||{|{{{{z{{{z|z|{{|{|{|{{{zz{{{|{||{||||z{|{{{z{||{||||{{{|{{{z{||{||||zz{||zz||{{{||}||{{{{{||}||}|}||{||{{{|{{|{||}||{{|||z{{}|||||}||{{|{{{{||||}|}||||z{{|{{{{|}|}||{|{||{{|}||{|}|}|||{{{{|}||||||{{{||{{||||}z||{}{{|{{{|{|{||}}}{}{{{{|||}}|}{{|||{|||{z|{{|||||{{{{{{{z|{{{|~~~~~~~}}}}~||||}}}}||}{{|}{{|{|{{{{|||{|{{{{{|{{|||}{|{{{zz{{z||||{|{|zzzz{{{{||{|{{|{{|{zz{zz{z{{{|z{|{zzz{{z{{{{{{|{z{zz{zzyz|{{{{{|{{yzzzyz{{|{{{|{zz{z{{zzz{{{{{|{z{{z{{z{{{{{{{{{z{{z{{{{{{{{{|{|{{{{{{zz{||{||||{z{{z{{{||z{{{{|{z{{{{{z{{{|{z{|{{zz{{zzz||z{|}||{|{{y{zz|{{||{|{z{zzz{z{||{{{|{{{{|z|{{|{{{{{{{}{{z{{{{{|{||{|{z{{zz|{{}{||{}{|{|{|z{{{{}}|||||{{{|{{{{{{|{||{{|z|z|{|{{|{{{||{|{{{{|{{z}{|||}|||{|{{{|||||{||||{{{{|{{{||}|||}|{{{{|{{{|{|{||{{{{{{z|{{|{||{||{{{z{{{z|{||{{{||z{{|z{{|{{|{~~~~~|||}|||||}}}||~||{{|{|||{||||||{|{z|{{|{|||{{||z{{{{z{{{{{|{|||{z|{{{{z{|{{{{{{{zzz{z|z{|{{{}|{z{{{z{z{z{{{z{}{zzz{{{{{{{{{{{{|zz{{{z{{{{{||{|{{{{zzz{zz|{{|||z|{{{{z{zz|{}{|{{|{{{{{{{{{{{{{|||y{{zy|z{|{|{|{{{{{{{{{{{{||||||z{zzzz{{|{{{{|{|{{{z{{{{{{z|||||{|{{{z{{{|{||}{|{{{{{|z{||{{|{{||{{{{{{{|{{||||||{|{{{{|{|{{{}|{z||{{{{{|}|}|}|}{{{{{{z{|||{{{|{{z{{{z{{|{|{|{||{{{|||||{|{|}{}|{{{{{|{||}|}}}|||{|{{{||||||{|}}|{{|{|{{z|}{||}||{|||z{{||||}}||{|{{{{{{z|{{|}|}{|{{{{|{{{{||||{{{{z{{{{||{|z}}~~~~}}}|}|||{|}}}}}}|}{{|{z||{|}||||{|{z{z{z{{|{||||{{{{{zzz{{||{|{{z{z|z{{{{||z{|{{|{{z{{z{|||{z{{z|{{{z{{z||{{{|{|zzzz{yzz{{|{{{zz{{{zz{z{{{|||{||{{{{z{{{{{{{{{|{|{zzzz{zzz{{z{|zzzzz{z{{{z{z{|{||{z{{{{{z{|{{{|{{{zz{{zz{{{{|{{|{{z{zzzz{{{{{|{{z{{{z{{{{{{{{z}{{|{z{z{{{{{|z|{{z{{z{z{{z|{|{{|{z{z{{{{z{{{{{|{{{{{{{{{{{{|||||{z{{{{{{||||{||||z{{|{{{z|}|{{||{{z|{|{|z||||||}{{{{z|{|{|{|||}}||{{|zz{{{{|||}|}|||||{{||{|||||}{{{{|{{{||{|z{|}{||{|z|z||{|||}|{{{zz{{{{||z{{|z{|{{{z|{||{{{{||||{zzz{{{||{{~}~~~~}~~}|}}|{~{||}||}}}|||{||{{|{{|||||{{{|{{zz{{}|z{|{|{{{y{{z{||{{|{|zz{{{z{{{{{{{{{z{z{z{{zz{{|{z|{{|{{{z{z{{|{{|z{||zzz{zz{{{{|z|{|{zz{z{zzz||z{||{z{{{{{zz{|{||||{z{y{z{zzz{{{z{||z{{zzzzz{{{{{|||{{z{z{{z{{{{{||{{{{z|{zz{{|{||||{{|{zz{{z{{{|{{|zz{{z{{{{{|{{{{|z||{{z{{{{{|{|{{z{{{{{{{{{|{{|}{{{{{{{z{|{{|{{|z|z{{{{||||{{||||{{{{{|{{||||{|}|{{z|{{z{{|{|{||||z|{z|z||}{{||}|{||{{{|{|||||||||{{{}{{{|||{}|||||||{{{{z{{|||||{{|z{{{{|{|}{}}}|{|||{|z{|{||}|||||z{{{{|{||{|}|{{{{|{{{|}||{|||{||z{zz{{||{{}~~~}~}~}}}~}||}||||||||||||{{{z{z{{{|||{|{|z{z{|{{{z{|{{|{|zz{{{{{{{{{z{{|{z{{z{{{{{z{{z{{{zz{z{{{zz|zz{|{zzz{zzzz|{z{{{||{zzzzzzzzzz{z{{{|{{{zzzz{{{{{|{|{{{{y{{{{{{|{{{{{zz{zz{z{{{{z{z|z{{z{z{z{{{{{{{{{{{{z{{zz{{{{{||{zz{zzzy{|{|{|{|{z{zz{{z{|z{{|{z{{{z{z{z{||{|{}|{{z{zz{z{{{|{|{{zzz{z{zz{}||{||z{zz{{{z{{{{{||{|{zy{|{{|{{||{{||z{{{{{{y||z|{|{|{{{{|zzz{|{|{{|{{{{{{{z{||{{||{{|{{{z{{|{{{{||}|}{{{{}{{|}}||{||{z{|{|{{||||||{}{{{{{{{{|{||{|||{{{{{{{||{||||}|{{{{zz{{{{||{{|||{z{{{{{{|||{||zz{{zz{{{||{{{~~~}~~}~~~~~}|||||{||{}||||}||||||{|{{{||||z}zz{{zz||{{{{||||z}z{{z{{|||{|{{{z{{{zzzz|{{z|{{|{{z{zzz{{|z||{{{{zz{{z{{{||{|z{z{zz{y{z{|{{{|{z|{{{z{zz|{{|z{||{{{zzzzy{{||{z|{{{{{{{{zz{z{{z{{{{{y{z{zz{{{|{|z{z{z{|z{{{z{{{{|{{|{{{{{{{z{{{{|{z{{{zz{|z||{|{|z{z{{z{z|{|z|}{|{{{{zz||{||{{|||z{{{||z{||||{{{{|{zzzzz{|||{{{|{|z|{{{{|{||{{||{{{|{|{|||{{{|}}|{{{z{{{z||z|{{|{|z{z|{z{|}||||}||{|z{||{|{{|}|||{{|{{{{{{||||}|||{{{{{{{|||}||}|{{{||{{{{|{||{|}|||{{{{|{|||{|}|{{{zz{z{{{|{{|{||{{{{{{{{{{}{{||{{{{{{{|{{|{{~}}|~~}~}}||||{{|{}}}|||}||z{z{{||||||{||~{z|{{z{z|{|||||||z{z{{zz{{{{{|{}{{z{z{{z{{|{{{|{zz{zzzz{{{{z||{{{z{{{zy{{{{{{|{{{z{z{zzz{{{{|{{|z{{{z{zz|{{{{{|{{|{{z{{z|{|{{||{z|z{{{{{z{{z||{{{{{zz{zz{||{|{{{yz{z{{zz{{{{{{|{|zzz|{{|{{z{{||{{z{{zzz{{{{{{|{|{{{{z{{{|{|{{|{{{{{{{z{{{}||{|z|z{{{z{{z{{|{{|||{|{|{{z|{||{{{|{|{{{|{z{{||{||{|{{|||{{{|}{|||||{{{{{|{z|{{|||||{{{{{zz{}{{{||{||z{{{{}{{|{||}{|}z|{{{{{{}||||}|{{{|{{{|}||||||||{{|zz{{{|{|}{|||{{{|{{|{}{||{|||{{z{{{{{|{{{|}{|{{z{{{{{{{|{||}{z{zz{z{|{{{|~~|~}~~~~}}~}|}}}|}}|{}{||}|{||{{{|{|||||||}z}z{z{|||{{|z{|{{{{z{{{{|{|{{|}{{{{z{{z{|{{|{{|{{{z|{{z|z{{{{{{z{z|z{{{{|{{|{||{{{{{z{z{||{||{{{{{{{{yz|{{z{{{{{z{zzzzz{{z||{{||z{z{z{z{|{z||||{{{zzz{{z|{|{|{||{|{{{zzz|{|{{|{{{{z{zzz|||{{|{||{{{z{{{|{{{{||}{{{{{z{z{||{{||{{{|{{z{z{|}{{||{{z{|{{|{{{{{{{}|{{{{{z{{||||{|{{||{{{{{||||{{|}|{{|||{|{||||{|}}{z{{z{{|{||}||}|{z{{{|{{|||||{||{{|{|||{{{}{|{|}}{z|{{{{|}}|}|}}}{{{|{{{||||{||||{{{|{{||||||||}||{{||||{}|||z|||{{|{{|z|{{|z|||{{{{{{{{||||||{{{|{z|{{{{||||~~~~}}~~~}~|}~}{}}|{|{|||||}|}||{{||{|||{||}}||{{z|z{z{||}|z||{|{zzz{y{{}{{|||{z{{z|z{z{{|{|{{|{{zz{{{{}|{{{{z{z{zz{zz|{{|{{||z{zzz{z{|{z{z||{{z{z{z{z{{|{||||{|{yz{zz{|{{{||{{z{y{{zz{{|{z{}z|{z{z{{{{{|{{|{|zz{zz{z{{{|{{||{{{{{{z{{{|{z|{{||{|{zz{{{{|{{|||{zy{zz{{{{|{{|||{{{|zy{z{{{|||||{{|{{{|z{||{{z|{|{{{{{{{|{|{||||{{{{{|z||||||~|{{{{||||{||{}||}|{{{{{zz{{||||||{|z|{{{|z|||{||||{|{{||z|{}||||{|{{{|z{{{}}|}|}|||{|{|{{{||}}{}|||{|{|{|{||{|{||||||||{{{||{}|{||{{{{{|{{|{|{||||||z{{{z{{||}{||{{{{zzz{{{z|{|~~~}}~|}~}}}~|||~{|z}|}|||}{}|{|{||{{|{}{|}{}{|{zz|{z|||{{||}{{|z{|{{|{{|{{{{{{zzz{z{{{{z{{{{{{{{{{{z{{|{|||{{{{yz{z{{{}|{{{|{zyzz{{{z{{{{|z{{zz{zzzz{{zz|{{|zzz{z{z{{||{{{z{|z{{zzzy{{|z{z{z{{{zz{{z{{{{{{{{{zz{zz{z{z|{{||||{{{{{{z{|{{{|{|{yzzzz||z{{{|{{|zzzz{{|{z|||{|}{{z{{{{{zz{{|{|{z{{z{zz{{|||{{||{{{{{{{{||}|{{||{{{z{{z{z|||{|||{{{{{z|{{{||||{{}{{{{{{z{{||||{|||z|{|z|{|||{||}{{{{{{|{{{{{{|||}|z{{{|||||||}|}|{{|{z{{||{||{|||{{|{{{{{{|||||||||||{||{{{{|{|||{|{{z{{|{||||||{|{{z{z{z{|||z{||{{|z{|{z{||{|~~~~}~~}}}}|}}}{}{|||}|{|}|||{{{{||{||||||}|{|{{{{{{{{||{{|{{{{z|{{{{{{{|||{{|{z{{{{{||{z{{|z|{zzz{|{{|z{{{z{{zzz{{{{{{|{{{{{z{zz{z{z{||{{|{z{{{z{{{{{{|{|{{{{{z{z|{{||{|{|{{zzz{zzzz{{{z{|{{z{z{{zzz|zz{{{{{{{{{{{z|{{{|{|{y{zzz{{{{|{z{|||{{{zzzz{|z{{||{|{zz|z{{{{{|||{||{{z||{{z{{||{~||{|z{{{{{{||||{||{{{{{zzz{||{|{{|z{z|{{z||{||{|||{{z{{{{{|{|{||||{{{||{z{z|}|||{{{{{{|{{{||||{|||{{{{|||{|{{||||}|{{|||z{{|}}}|||{|{{{{{{|||||{{||{|{{{{{{{{{|}|~||{{{||||}{||||||{{{zz|z|{|{|||||{{{{{|y|{||{{|{z{|{{z|z{|{|{~~~}}}~}~}|}~}~}{|||||}|}|||||}|{{||{{|||{|||}|||{{z{{|||{{{|}||{z{{|{|{||{|{||{{z{{{zz{{z|||{{{{zzzzz|{||{|{|{{{yzzz{|{{{||{|z{{zzz{{{{|{|||{{{z{{{z{{{{{{{{z{{z{zz{z{{{{{{|{{zz{zz{z{{{z{{{z|{{z{{z{{{{|{|{{{{{{zz{{{{|{|{|{{z{{{{{{{||||{}|{z{{{{z{|{|{||{|{{|{{{z{{|{|{{|{{{{{{{{{||{{{{{||{{{z{{z{|{|{{}{||||{{z{{{{{{||{|{{{{{{|{|||||{|z{{{{{}|||{{||}}|{{z{{{{|||{|||{|{|{{z{{||||}||||{{{{|{{|}||||}}||{{{||||~|}}|}||{||{|{{||||||}||{|||{|{|{|{|||||{|{{{{|{|{||}|||{{{{{{{{}||{{{|{{z{{{{z{||}||||{||z{zzz{{{{{~~}}}}}}~}}~|}~}||||}|||}}|}}}||{{{z|{|{{{|}}{{|z|{z{{{{{{{{||||{{{z{{z|{{{{{|||{{zz{{z{{{{z|{{{{{{z{{|zz{z|{{{{{{yz{z{{{{|z{{|{{{zzz{z{z{{{|{{{z{{{{z{{z{{|{||{z{{z{{{{{{{{{{|{zzyz{{z{{|zz{z{z{z{z{{{{{{{|{{|z{{{z{{{{{{|{{{{zz{|{zz{{|{|{|{|{{z{{{{{||{z{z{{zz{{{zz{{{|{|||||z{{{z|{||{{{{|{{{|{{z{{|||||||{{zz{z{z{{||{{|{|{z{{{|{z{|}|||||{{{zz{{{{{|||{}}{{{|{{{z|||{}|||{z|{|z{{|}|{|}||||{{{{{z{|||||}||{{{{||{{|||{}|||{{{||{{||||{||||{z||z{||||{||}||{|{{{{{||{||||||{z{{{{z{|{|||||{|{{{zz{{}{|{||{|{z{{{{{|{{{|~~~~}}}}}~~~~}|}~~|||}|}|{}|{|}|}}||{{}{|zz}{||||||{{zz{zz{||||{|{{|{{z{{z{{||{{{{{{z{z{zz{{{{||||{{z{zzz{{{{{z{{{zz|{{{z{z{{{{|||{z{zz{{z{|z{{{|{{|{{zzzzz{{{|{||z{{y{{zz{{{{{{||zz{zzz{z{{|{z{|{{{|zz{z{z{{{{||{{{{zz{{{{|{{{{|{{{{{z|zz|{z|||{|{{|{zz{{{|{{{{||z{zzzzz{{{|{{||{{{{z|{z{|||{{|{{|{{{{{{{|{||}{||{z{{z|z{{||{{||||{{{{{zz||{{||{|{|z|{{{|{|z||{|}{{{{{{{{|{{|||||}{{|||{||{||||||{zz{{||{||{{{|}|}{{{z|{{{|||}}|}}|{|{{|{}{|{||}{|{{{||{{{|{{||||{{{{{{z{|{||||||{|{{{{{z|{{{|{||{{{{z{{{|{{{z{{|{z|z{z{z||{|z~}}~~|}|}}}~}}~~{{|||{||}||}}{|~||{{{{|{|||{|}{{|z||{{z||{|{|||}|{z|z{zz{z||||{{{{|zzz{{z{{{{|{|{{{{z{{z{{|{{|{{{{zzzz{{{{{{{{{{{{{{|z{{{{{{{{{{zz{{z{{zzz{|{|{{{||{z{zz{{{{{||{{z{{zy{z{{zz{|||zzzz|{{z|{{z{{|{z{{z{{{z{{|{|{{}{{z{{zz{{|{{{{{|{{{{{z{{{z{|{|{|zz{z{{{{|||{{|}||{{{{z{{{|{|||{{{{{{{{zz||}||{|||z{{{{{{}||{|||{|{{|{{{||{||||}|{{{{{{{z|||||||||{{|{{|{|||{||||}||{{z{{||||||{|||{|{|{{{|z||}|}{{{{{|{|{}}|}|||{{{|||{{{|}{{{|{|z{|{z{|{{||||}|{|{{|{z|{{||{||}||{{{{{{{|{||{|}{{zzz{{{{|||{{||{|{{{{{{{|}z{~~}}~~}}|}}~~}}|~}|}||{|{{{}}|||}|{{}{{||||{||||{{|z|{zz{|{{|{z|}|{{{zzzz{|{|z|||{zzz{{zz{{{{{||{{{{z{{{z{|{zz||{{{{z{zzz|{{|{|{|{z|z{{{y{{|z{{z{{{{{zz{z{z{{||||{{{zz{{z|z{{{{{|{zzz{z{zz{{z{|{z{zzzzz{y{{{{z||{{{z{z{{{{|{||{{{{z{{{z{{{{{||{{|{{{{zz{{|{|{{{|||{z{z{z{{||{{|{{{{|{{z|{z||{{|{{z{|{|{{z{{||{|||{{{{|{{{||{{|||||z{||{|||||||}|{{{{z{{{{||{|}||||{{{{{{|{{|||{|{|{z{||{{||||||~||{z{z{{{|||{||}|{|{|{|{|{}||{|}}}z{{|{{{|z{{||||||z|{|z||{|{}||||{|{|{{{|||||}||{z|{{{z{|{{|{|{||{z{zz{{{|{{{}|{{{|{z{{{|{|{{~~}~~}}}}||}}|}|}}||{{{{|z|{{||{|}|{{||z{{{{|{||{|{{{{{{z{z{|||}|||z|z{{z|{{{|{{z}{{{z{z{z{|{{z||{{{{|zz{{z{{{z{{|{{|{{zz{{{{|{{||{{{{{{zz{{{{{z|y|y{{{zzz{{|||{{}{zzzy{z{z{{{|{{{{{{zzzzz|{{{{|||zzz{{{zz{|z{{{z{{{{zz{zz{{{{z|{|{{{z{z{{|{|{{|{|{|{{zzz{|z|{{{{{|{{z{{{z{{|{{|||{{{{{z{{{||{|||||z{{{{{{{||{{z|{|{{{|z|{{|{|{{{|{{{{{{{{{|{|{||{{{z{|{{{{|{|{|||{|{||{{{{{{||{{||{zz{{{{{}|{{|{||{|{{||{{|{}|||||z|{|||}{}{{||||{|{|{{{{||||||}{|z{||{{{{|{{||||||{||z{{z||{||{|{|{{zz{z{{{|{|||{z|{|{{{||{|{||||{{z{{zz{{{z{~~~~}}~~}|}~}}}|~}}|||{|||{}||{}|||{{|{{{{{{{|||||{{{{{z|{{|||{{{{|{{{z{{z|{{{{|{|{{zz{{zz{|||{{{||{z{{{zy{{|{{{{{z{zzzzyz{{{{{{{{{{z{z{{z{|{{{{}{|z{zz|zzz{{z{{{{|{{{zzzz{z|{{|{{|z{{{{z{z{{{{{|{{zzzzz|z{{||{z{{{{z|zzy{|{{|{{||{zz{{z{z{|||{{|{{{{{{z{{{{z{||}{{{{{{{{{|||{{{|{{z|{{{{z{{{|{}|||zzz||{z|{|{{{||{{z{z{{|{{|{{{|{{{{{z|{z{{{||}{||||{{||{{|{||{||{{{{{{|{||}||{||{{|||{{{{||{{|||{{z|{|{|||||||}|{{{{{{{|{}|||||}|{|{{z{{|||||{{|{{z{{{{{||{}||}|}{{{{|z|{|{|||||{|{{{{{{{|}|||}||{{{{{|{{|||{|}{{z{{{z{{|{|{{~~~|}}}}}}|}|}}||~|}z{{{||{|||||}|}{{|{{{|{}{||||||{z{z{{{{{{{{{|||zz{{zzz{||{||{||z{{z{{{zz{z|z|zz{z{{z{z{z{|z{|{{|z{z|{{{z{{{{y{{z{{zzz{{z{z{{{|z{z{{zzz{zz{|{|{{{{{zz{zzz{|{z||z{zz{z{zz{{z{z{|{yz{z{zz{z{{{{{{{{{|{||{z|zz{{{{|{{zz{zz{{||z||{{{{{zy{{z{{{{{|{|{{|{zz{{{{{{|{{||{{y{zzzz|{{|{|{{z{{z{{{{{|{{{|{|{{|{z{z|||{||{||{|{z|{{|{|||||{{{{{{z{{{{{|{||{{z{{{{{{{{||{|{}|{|{z{{|{||{|{||{{|{{|{|{|{||||}|{{{|zz|{}|||||{|{|{{{{{||||||}|||||z|{{||}|}{|||{{{{|{||||{||{|{{{{{|zz||{||{}||{zz{zz{|{{{{||{z{{z{z{z{|{||~~~}~}}}}~}}}~~~}~~|||}|{||}}}}}{||}|{|z{{{{{|{||}{{z||{{{{{|{|{{}{|{{{{{{z|{||{{|}|z{{{z|z{||{|{|{{{zzz{{{||||{{{zz{zzzzz{{{{z{{{|{z{zzz{z{{{|{||{zzz{{{zzz{{{|||||z|z{{{{{|{{|{|||z{{z{{zz{|z{{{|{{zz{{zz{{{{{{||{{{{{{z{{{{|{{||{{z{{{{{|{{{{{{||z{z{z{{||z{|{{}{z{zz{{{z|{||{{|{{{|{zz{{|{}{|{||{z{|{{{{{|{{||{{{{z{{{{{{||{||{{||{{z{{{|{|{|}}{|{{{z|||{{}}||||{{{|||{{|||{}}|{{{{|{{|||{||{{|{{{{{{|{{|}|||{}||{{|{|{{}|||}}{|{{{{{{|{{|{|}~|{{|||{||||{|{{||{|z{{{{|{||}}|}{{{{{{z{{{|{}{|}|{{{zz{{{{|{{|{|{|{{z{zz{{{{|{|~}~}|}|||~}}|}}}~}{|{||zz}{||{}||{||{{{{{||}{{{||}z|{{{z{||||||||{{|y{z|z|{|{|{||{{zz|zzz{{{zz||{||zzzy{{|{|zz||{{zz{zzzz{{z{{{{{{zzzzzzy{{{{{{{{{zzz{z{{{|{z{|{{{{|{z{{zz{z|{{{{{z{{{zzz{|{{{z{||{|zz{{z{{{z|{{{{{|{{z{zz{{z{||{|{{{z{{z{{{z|{|{{z{{|z|{{{{{{{{|{{{{z|z{|{{|{|{||{{z{z{{{|{{{|{{{{z{{|{{||||{{|{{{{|zzz{{{{|z{|{{{{|{{{{{||{{|||{|{z{{{{{||}{}|}{{z{|{{z{|}|}|{}|{{{{{{{{|||{{~{{|{{{|{||||||}}||{{|{{{{{}{||||||{{||||{|{|}{||{|zz|{{|{{||{}|||{{|{}|{{|{|}||||{{{z||{y{|||{|||{{z||{{{|||{||||{{|{z{z{{{{{|~~~}}~|||||}}}}|}|}||}||||{||||||||||{{{{{z{{{{|||{{{{{{z{|{{|}|{{{{{{zz{zz{z{|{|{|{{{{zz{{{|{{z}{{{{{z{{zz|{{z{||{{z{zzz{{{{|{|z{zz{{{{zzz{z{{{{{{{{{{z{zz{{{{|||{{{zzz{zz{{z{{{{{{{{{zyzzzzz|{|{|{zzzz{{zz{z{{|{{{{z{{{zz{{z{|{{{z{{{zz{z{{{{{||{|z{{zzzz||{|{|{{z{zz{z{z{|{z{|{||zz{|z{zz|{||||{{z{z{{zz{|||{|}{{{{{{{{z{{{{z|{|z{z{{|{{z{{|}|||{{{z{{{{|{||{{||{{z{{y{z||}z|{{|{{{{{z{{{|{z|{{{{z|{{||z{||||||||z{{|{z|{|{|||||{{||{{|||{||||||||{{{{zz{|{{||{|{{|{{|{{|{|}{{|{{|{{z{{{|{|{|||||{{{{{zz||||{||{{z|z{{{{|{|{}}}|}||{}{|{}}||||||{}||{{{{||||{|}}{{|{z{zz||{{{|}{{z{{|{|{{||{{{{||{{z{{{z{{|||z{{{z{z{|{{||{{{|{||zzzzz{{{{{{{|{{{{z{{{{z{{{{{{{|{{z{zzz|{||{{|{{zzz{zzz{{|{z||{|{{z{zz{z|{{{{{|{{{|z{{|y{{{z{{{{zzzz{{{{{z{{{||{{{{{{|{z{{z{{{{|{zz{{z{z{|{{z{{{{zz{{z{{{{{{|{|{{z{zz{{{{z{{z||{z{{{{yz|{||{{||{{|zz{{{z{||{{|{|{{{{z{zz}|||{{}|{z{{|z{z{||}||{|{z{{{|{z{|z||{||{{{{|z{{|{{|{|||{z{{{{{z}{{|{|||{z||{{|{|}||||{}{{|{{{z|{|{|||}||{{{{{{{||||||||{{{|||{|{{||z|||{||{{{{{{|{|||}|{{{z|{{{{{|{{||{|{{|z{|{|||{{{}|{{{zz{{z{z|{{}}}}~}~||}{||}|{|||{{{|{{|{|||{||||{{{z{{z{{{{{{{|{|z{zzz{{{{|{z{|{|zy{zzz{z{{zz|z{zz{yz{zy{|{zz{|z{{|zzzzz{{{z{{{|zzzzz{z{{|z{|{{|{z{zzzzy{{{y{{{{z{z{yzz{{z{{{{|{{{{z{z{z{{{{{{{{{{zz{yz{y{{z{z{z{{zzzyyyz|{z{{{{zy{zz{zzz{z|z|{{{zyy}zzzz{{|{{z}{z{{{{{z{|{z{||{|{y{z{zzz{|zzz{zzz{{zz{{z{{{{{{{z{{zz{{zzz{{{z|{z{z{{zzz{{|z{{{{|{{{{|{||z|||{||z{{{{{zz|{z|{||{{{{{{{{{z{{|{{|{{zz{z{{{||{{{|{||{|{{||{|{{{|{||{zz|z|{z{{|{{|||{zz{{{{{|{||||{||z{z{z{z{{{||{||{{zz|{{{|{|{||{|{z{z{{z{{|{{|||{{{z{z{{{{{{|z{|{z{zz{z{z{|{{{}}}}}}}}|||{}}||{||{{}{||{{||{|||}|}{|{{zzz|{{{{|||{z{{{{{{{{|{|||z|{z{||zzz{|{{||{{z{z{z{zz{{zz{{{{{zzzz{{z{{{z{{z{{{yzzz{{{z{{{{|z{{z{{zz{{{{{{{{{zzzzzzzzz{{{{{z{z{zz{zzz{{{|{{|{zzz{zzyy{zzz{z{z{{zzz{z{z{z{}{{z{|z{{zzz{{z{{{{|zzzzz{zz{{{{{||||z{{z{z{{z{{|{{z{{{z{{{{{||{|z{z{{{{z{{{|||{z{{{{zz{z{{{{{{{|{{zz|{{{z{|{{{{}{|{z{{{{z{{{{|||{{{{{z|}{{z{{{{{||{{{{{{zz|||{z||||{z{{zzz{{{{{|||||{zz{{|{|{||{{|{z|zz{{{{{{|{{{{|{{{{z{{|{|{{||||||||{|{{|{{|||}{|{{{{{{}{|||{{{{|{{{{z{{{z||{||{{zz{z{{{|{|||{{{{{{{z{z{|{{{}}}||{||{||}}|||{||{{{||z{{{|{{||}||zz|z{{{{{{|}{|||z{{{{{{||{{z{|{z{|yzzzz{z{|{|{{{{{yz{{z{|{{z{{{{{z{zzyy{y|{{||{{zzzz{zz{zz{{{{{zz{zzzzz{{{{y|{{{zz{z{zzzz{{{z{{yz{zyzzzz{{{{|{{{y{{zzzzzz{{{z{{{{zzzzyzzzz{{|{z{y{z{{zz{z{z{{{{zzzz{zz{z{{|{{{|{{zzzy{{zzz{z{|{{z|zzzzy{{{z{{}{{z{zzz{z{{{{{{{|zz{{zzz{{||{{{{{{{{{zzz{{{{z|||{{{{{|zz{|||{{||{z{{{zzz{{|{|{||{{zz{{zz{{{{{||{{{z{{{{|{||{{{|{|{{zz{{{{{||{{|||{{{z{|z{{{|||||{{z{{{{{{|{{|||||{{zzz{z{{{|{{||}{{{z{z{{{|{|||{|{{{z{{{{z{|{|{|{{||{zz|y{{{{{{}z{{z{{y{y|{{{{}|~}|||}|}|{||||{|}|{||||{||||{{||||{{z{{{{{|||||{|zzz|z{{{|{||{{{||{{z{{z{{|{{{|{|z|{zzz{{{{{{{z|{{z{{{{{z|||{{z{z{zzz{z{z{{z|{{{{{{{{{zzz{|{|z{|{z{{{{z{z{{zz{|||{{{yz{{|{{{{{z|{zzz{{zzzz{{{{z{{{z{zzzz{z||{{{|{zz{z{z{{{{{{{{|{z{zzzz{{{{{|z{{|z{{{{z{{{{|{{{||{z{zzz{z{{{{{{|}{{|{{{{{|||||{{{{{{{{{|{|{|{{{|{||{{{z{{{{{{{{|||z|{{{}||{|{||||z|{{{{|{|{||{{||{{z{{{{z{|||{|}||{{{{zz{{}{||}||{||{z|{{{|||||}{|{|{{|{{|}||||||}{{|z{{{}|||{|||{{{{{|zzz||{||{||{{|{{z{{|z||||||{{{{{{{|||{{{|}{{{{z{{{{{{||{|{z{{{z{{z{|||{}}}|}||||{{}|}|||}||{||z|{{||{||{||}{{z{{z|{{{{|||{{{{{|{{{zz{{{|{|||{zz{zz{|{|{{|{zzzz{zzz{{{{{z|{{z{yzzzz{|{zz||{{z{zz{{{{z{{z{|{{{{{z{zz{|z{{{|{{{zzzzzz|{|z{|zzzzzyzzzz{{{||{||{z{z{zzz{{zz{{{|{{{{{z{z{|{z{|{{{{zz{{{z{|{{{{|{{zzzz{{|{{|zz|{|{z{zz{{{z{{{{{{||z{zz{{z{{z{{z|||{{{zz{zz{{|{|{{{|{z{{yz{{{{{||{{z{{z|{z{{{{{{||{z{{{zz{zz||||{|z{{z|{|{|{z|{|{|{{|zz{z||||{}|{z|zz{|{|{||{|z{|}|zz{{{{{z|{|}||{{{||{{{{{|{{|{||{|{|{{{{|||||}|{|z{{{{{{{|{||{||{|{{{{{{|{|{{|{{{z{z|{{{{z|{|{|{|{{{zz{z{{{|{||{{{|{zzyz{|{{{~{||||{|{{{|}}{}{||}{z{{{{{|||||{||||{z{{{z{{{{|{{|{|{{{{{{z{{{{||{{{{z{z|z||||||{{{{{zz{zzz{{z{{{{{zz{yzzz{z{{{{{{{z{zzzz{|{{||{{|zzzz{zzzzz|z{{{{{zz{yz{zz{|{{{{{z{yzzzzy{{{|{{|{{zy{{zzzz{{z{|{{{|zy{{zzzzzz{{{{zz{{{{z{z|{{{||{{zz{z{zz|{{{{|{z{z{zzzzz{{{{{}||zzz{{{{{{{{{{{|{{{{{z{{z{||{{}{{|{{{zzzzz{|{{||{|zzzzzzz{{{|{{||{{{{{{{{{||{|{{z{{{{{|{{z{{|||||{{{|z{zz||{{|}|{|{{{{{z{|}{||||{{|{|z|{{{}{{|||||{{|z|{{||{{}|||{z|{{z{{}|||{|{{|{{z{{{|{||{||||{|||{z{{{|{|{|}||{z{{y{{{{||{{{{{{{{z{{{{}|{{||{{z{z{z{{{{{|{|~|}||{{{{{{}|}||}|{|||{{|{|||{|{{|{{{z||{z|{||{|{|{zz{zzz{z{{z{{||||zzz{zy{{|{{z{|z{{z{zzzy|{{||{|{{{yz{z{z{{{zz{{{{z{zzzz{{|{|{{{{z{yzz{{{|{{{{|{{zz{{{z{{{{{{{||zz{{{zzz{{z{{{{{{zz{z{zzz{{{{{{{zzzyz{z{z{zy{|{{z{{{{{zz|{||{{|{{{zzz{z{z{|{{||{|{yzy{{{{{{{|{{|{z|z{zzz|{|z{{{{|{{z{yz{{||{|z||{{|{{z{{{{{{{||{|z{{{yz{{|{|{{|{{|zz{{{{{|||{|{|z{{|{{{||||}|{||{|{{{zz{{|{}|{|{{z{|zz{z||{{{{||||{z|{{{{||{|}|{|{{{{{{{{}|{|{{||{|{{z|{{{|||||||z{{{|{|{{|{|{|{{z{{{{{|{|{{||||{{|z{{{{|||{|{|||z|zzzz{{|{{{{{z|{{{zzzz|{{{{}|||}}{{{}{{|}}|{|||{{{|{{{|||||||}{z|{{|z{||||{{|}|{{{{zy{|{|{{{{{|{{zz{zz{{{||{{|z{{z{{{zz{z{{{{{{{z{z{zz{{{zz{||zzzz{{zy{z{zz{|{{zyz{z{z{|{{{|{{|z{zz{z{{||{{}{|{z{{zzz{z|z{|{{|{zz{{{zzz{{{{|{{{{{y{z{zz{{zz|||zy{{{{{z{{z|{{}|{zz|z{{{{{|z{{|{z{{{{{zz|{{|{{|{{z{{{z{z|z{{{|||{zz{zz{z{{{{|{||{z{|{zz{{z{|{||{}{z{|zy{|||{{{|{{zz{z||{{{}|{||{z{{{z{|{|}||||{{{{{{{{z{z{|{|||{{{{{|{{{{||||}|}{z{|z|{|{|{{{}||{{{{{{{{|||||{|||z{|{{z{}{||{{}||{{{{zy||{{{||||{{{{{{{{|||||{{}{z|{{zz{|{{|{{{|{{{{z{z{z|{|{{||{{{zzz{{{{||{}}}}||{{{|z{}|{||{}||{{{z{z{{{{{|||{{{zz|y{|z{||{||{zz{zzzz{{{}{{{{{{{yz{zy|{{{{|{{zz{zzzzyzz{{z{zz{zz{zzzzz{|{{|{{zz{{z{zz{z{{{{{{zyzz{{zz|{|z{{||{zzzz{y{{|{{{{{{{zzzzzyz{{|{{{zz{zzzyzzz{{}z{{z|{{zzzyz{z{{z{{{|zzzzzz{z{{{|z{|{zzzz{z{{z{{|{{{{{zz{zz{{|{{z{|||z{zy{{{{{|{{|{{|{{{zzz{zz{{|z{|{zzy|z|{{{{||{{|{|{z{{{{{{{{{||{|{{{{z{{{{{{|||||z{{|{{{|{|{{{{||{{z{{|{z{|{|{{|{{{{{{{{{{|{{{{{|{z{z||{{}|{|{||{|{{{{{{{{}{||{|{|{{{{{|||{}}|||||{z{{{z{|||{|{||||z{{{{|{{{|{{|||{{z{{|z|{|{|{{||{{zz{{z{{{{{{|{{{{zz{z{{||{z||}||{|{z{{{}||}||{||{{{|{z{{{z{||{{{|{{{{||{z{|{|{z{{{z{zz{{z|{{||z{z{yz{zz|{{z{{|{{zz{zzzz{{{{{{{{z{z{zz{{{{{z{{{zy{zz{zz{{{{{{{{yzz{zzzzz{{{{z{{zzzzzzy{{z{{|z||z{zzzzzz{{{{{z{z{zz{zzzy{{zzz{{{zzyzzzzzz{{{{{z{zz{z{{zz{{{{{{||{zzz{zy{zz{{||||{z{zzz{{|{{{z|{{{|{zzz{z|{|zz{{y{{z{zzyzz|{{||{|{z{z{zzz{{{{|{|{{{z{zz{z{|{{{{|{{z{zzz|z{{{}|||{{{{{{{|{{|||{{||{{{|{z{z{{|{{{|||{|z{z}{{|{|||}|z{z{{{{z||{{||}||{{{{{|z{}z|||||{{{{zz{{|{{||{||{{{{{{{zz{{|||||{|z{|{{{zz|{||{||{zy{z{|{{|{{|||{{zzz{zz{{{|z{||z{{z{zz{z{{|{|||{|{||{|{||{||{|||{{{{{{{|||}|||}{zzzz{{z{|{|{|||{zz{{zz{z{{{{|||{{{{zz{z{{|{{{{{{{{zzz{y{|z{{{|{{zzzz{z{z{{{z|{|z{{{{yzz{{{{z{{|{z{{z{zy{z{z|z|{y{z{{zzzz{{|{|{z{{{zzzz{{{{||{{{{z{{z{{zzz|{{z{{zz{yzzzz{{{|z{{{{yzz{{zz{{{{{{{{{y{z{zz{{{{{{{{{{zzz{{z{z{{|{{{|{{zzz{{z|z{|{|{||{z{zz{z{|z|{|{{zzz{z{y{z|{{z{|{{zz{{zzz{}|{{|{{{{{{zz{z{{|{{||{{{{{z{{z{|z{{}{||z{{z{{zz{|{|||{|zzz{{z{{}|{{||{{{zz|{|{|||{|||||{z{{||z|{{|}||}|{{z{{{{z||{||{||{{z{{{|{|{{{|||{{|z{z{{{|||{{||{{z{{{{z{||{{||||z{{|z{zz{{|{|{|z{{{zzz{{{{|{|}{}|||||{{|}}|{|{||}{{{{{{|{{|{{{||{{{{z|||{{{{||{{z{{zz{{{|z|{{{|{z{zzzzz{|z|z{{|{z{z{{{zz{{{{{|{{{{zzz{z{{{{{zz|{z{yz{zz{{{{|{{{{{zz{z{z{{zz{{|z{zzzzzz{{{|{{z{|yzzzzz{z||{{{z{|z{zzzzzz{{y{{{{{{{zyz{z{z|{zz|z{zz{{|{{z{{{{{||{{zzzyz{zz{|{z{||{z{{{{z{{|z{{|z|{z{z{{{{|{|{{{{|zz{{zzzz|||{|{{{z{{{{{{z{{{{|{}{{zz{{{y|{{}{{|||{{zz{z{z|{|||{|{{{{{z{|{{{{{|||{{zz{z{z{{{|||{|{{zz{{z{z|{|{{{||{{{{{{{z{{}{||{|}|{z{|{{{}||{{{|{{{{{{||{|||{|{{||{{{{{|{{|{||{||{{z{{z{|{|{{}||z{{z{{{z|||{{|||{{{{{{{z{||{{{|{{{{{{{{z{{{|{}}||||{{{|{{|||{||||{zzz|{|z{{{{|z|{z{zz{z{{{{{{|{{{z|z{zz{{{{{{{|{{{{{{{{z{z|{{{{{{zzz{zzy{{{{z{{{|z{z{zz{{zz{zz{{zzz{yyzz{zz{z{{{z{zyz{{{z|zzzz{|zzzzz{z{{{{z{zz{z{zzyzzzz|{{{{||{{z{zz{z{{{{z{z{{{zz{zzzz{{z{{{{zyz{zzzzz{|{z{{z{zz{zzzy{{{z{{{{{{z{zz{zzzz|{{{|{{{zzz{{z{|{{{{|zz{{{zz|z|{{{{{zzzz{z{z{|{{{|}{zzzz{{zz{{{{{{{|{{{{{{zz{||{|{{|{z{{{{{{{{|{|{||{{z{{{{zz{{{{z|||{{z{z{{{||{|}|||{{{{|z|{{|{|||{||z{{{z{z|}{|{|||{z||{{{{|{|{}{|{|z|z{{{||{{{{||{{{{{{{z{||{|{||}{{{zz|z{{|{|||}|{{{|zzzz{{{|{{{{{{{{zzzz{||z{|||{{{|{{{z||||{|}|{{{||zz{{|{z|||{{{zz|{zz{{|{||||{|{{zz{y{{{|z||{{{zzyz{y{|{{{z{{z{zz{{zz{{{{|z{{z{{z{z{z{{|z{zz{{{{zz{{z{zz|z{{{{zz{y{zzz|{{{||{zzz{zzz{{z{{{z{{z{{{z{{z{{{{{|{|{zz{{z{zz{{{{{{{zzyzzzzzz{{{{{{{{zz{{{{z{{{{{{z{{{z{{zzz{z{{z{{|z{{{{yzzz{|{z|||z{{z{zzzz{{z{{z{zzzzz{{{z|{{z||{{yz|{zzz{{}{{|{{{zzz{|zz|{{{|{|{{{{{{zzz||{|{|{|{z{{{{{{{||{|||{|z{z{z{{|}{{{{|{{{{zz{{{{||{|||||zz{z{|{||{||{|||{{zz{{{z}}||{|||{|{zz{{|{|{|{{||zz{{zz{{{{}{{||{{|{{|{{{{{{{|||{{{zzz{zz{{{|{|||zzz{{{zz|{{{{{|zz{{{zzz{z|{{}}||z{{|{|{||||{|{|{|z{{z{{|}|{{|{}{|zzz{{z|z{|{{|||{{z{{{{{||{{{|{{z{zzz|y{z|{{||{{z{z{{zz{{{{{{{{{{|z{zz{{{{{{|{{{{{z{{z{zz{z{{{{{zzzzzzz{{{z{z{z{{zzz{zzzz{||{||{{zz{z{zz{|{{|{|z{z{zy{zz{{{{{|{{{{{yzzzz|{z|{{|{{z{{{zz{{{{{{|{{z|zzz{{{{|{{{}{|{{{{{{{{{{{{{|{z{{zzz{{{{{{{{{|{{{{{y{{{|{{|{{}z{{{{{{z|||{z{}{{{z{{z{{{{|{{|||{{{{|{{{|{|||{|z{{{{{{z{||{}|||}{|z{{|{z{}{|||{}|{{||zz{{|{|{|||{{|{{{|{z{{{{|{||zz|{|||{{||{{|||{z{{z{{|{|||{|||{{{{{z{{{{{|{||{{{{{{z{{{|{{|||z{{{z{z|z|{|{{|||{{z{{{z{||{{||{{{{z{zzz{{|{{||||{|z{||{{|}|{|{|{{{z{zz{{|}{{||}}{{{{{z{|{{{|{{||zz{z{z|{{{{{|}|{{zz{{zz{{{||{{{{{{{{z{{{|{z{z|{||z{{{y{{{{z{{{{z{{z{|{z{{z{||{{{{zz{z{z{|{zz{{{zzzz{zzz{{{{z{{{|zz{zz{z{{zz{{|{{z{{zzzz{zz{z{|z{z{zz{{{z{zz{|{z|z{z{z{zz{{|{|{{{zz{zzz{{|{|{{|||{{zy{{{{{{|{{{{{z{z|{z{{{|{{{{||zzz{{{z{||||{||{z{zzz{{{{{|{|{{{{z{{zz{|||{{|||{{{{{{{z{|{|{{||z{|{{{{{||{|{|||z{{{|{{z{{|{{|||{z{|z{||{|{||{|||{|{{{{|||{{{|||{{z|{{{{|}||||||{|z{{z{{||{|{|{||{{|{{{{|{|||{||{|{{{z||||{|z||||{{{z{{{|{{{|{}||{{{z{{z{||{{{{{{z{zz{{{|{{|||}{|||{|z{{{{||||}||{z{{z|{||{{{|||{z{{{z|z|{{{{{{|{{z{{zzz{{{{{|{}|{zzzzzy|{z|{{{{z{zzyzzz{{z{z{zz{{{zyzyz{{{z{z{z|z{zz{y{{|{{{|z{z{zzzzzyz|zz{{{{{zzyz{zz|{{z|z{{zzzzz{{zz{z{|{|{{{{z|z{zz{{zz{{z{{{zzyzzz{{{{|{zzz{{|{{y{z{|{{||zzz{zz{z{{{{{|{{z{{{z{zz{|{z{|{|z{zzz{{z{{{{{|||{{y{{z{{z{|{{{{{zz{{zzz{|{{{|{{{{z{{{z{z{|{{{{{|{{{{{{z|{|{{{{||{{{{|{{{|{{|{}||{{{{{{z{{|||||{|{{z{{z{{{{{{{{|||{{{{{|{{{{{||||{{{|z|{{{|{|{||{{z{{{{z{|{||{||{|z{{{{{z{||{{||||}yz|{z{{}||{{}{|{{{{z|z{|{|{{{||{{zz{{{|||{{z|{zzz{{z{z{||{{}||{{|{{|z{{{|{}|||{{{{|{z{{|||{{|||{{zy{{z|{{{{{|{zzzzzzzzz{{{zy|{{zzy{zzzz{|{{{{|{{{zzzzzz{{z{|{{{{zz{{zz{{|zz|z{{{zyz{zzz{{|{||{yzyzzzzz{{{{{z{zzzzzzzz{{{{{{{|{{zz{zzzz{{||{|||z{zzzzy{z{zz{{||zzz{zz|{zzz{z{{{zzzyz{{y{|{{z|{|{z{{{{zz{|{{|{|{{z{{zzz|{zzz{{{{{{{z{{{{{z{|{{{{z{{{{z{{{z|{{{|{{{{{z{{{|z{||{{{{{z{zz{{|||{|{{{|z{{z|{{|{|||||{{{{z{{{{{{{|{{{||{z{{z{y|{||||{|{z{z{{{{|||{{{||{z{z{|{{{||{||||{{zzz{z{{|{||{||{{{{{|{{|{{|{}}{|z{{{z{|{{{|||{{{|z||{{}|{|{|{{|{{|{|zzz{|{||||{|{{{z{|zz|||{{|{{{z{zz{z{{{{{||{{{|z{{zz|||{{|}~z{{{{yz{|{}||||{{{{zzz{z{{{{{{}|{zzzzz{zz{|{z{{|||z{zzzzz{|{|{{|{zzzz|zz{{zz{|{zz{zzz{zzz{{{z{{{{{{z{zz{z{{{{{|{z{yzzzzzzz{{{{{zzzz{z{z{{{|{{{{{|{{z{z{z|{{{{|{{{zz{zz{yz{{{{||{{{{zzzz{zz{{|{z{z{z{zzzzz{||{{{z{zz{|z{{{{|z{{{{{zz{{y{zzz{{{{{|{z{{{{{{{z|{{z{{|zzz{{{z{{{{{|{{{{{{{{z{z{{{|{{{{{|{{z{{|||{{{|{{{z{{{{{{|||{|||{{{{{{|{{|{|||{||{{{{{z{z|{|{|{||z{z|{{z|}||||{{{|{zz{{{|||{{{}|||{{{|{{z}|{|{|{|{{|z{z{{|{||}||}{{{|{{{||{||{||{|z{{zz{|||||||}{{{z{{z{|||{{|||{{z{zzzz||{{|zz|{y{y{{{{|z{{|{||{|{{|||{{|||||||{{{|{zz{|{||{|||zz{z{{z{{{|{||{{|z{z{zzz{{{{{z{|{{{zzy{y{{|{{|z{zzz{z{{zz{{z{{{z{zzzzzz{{{{{{zz{{{zzz{zz{zz|{z{|zzyzzzzzz{{zz{||{{z{{{zz|z|z{{{{{{y{z{zy{z{{{||zz{zz{z{zzz{{{|{{zyzzzyzzz{{z{{z{zy{{{z{zz{{{{{|{{{zzz{z{{{{z{|{{|{|zzz{z{||{{|{{{{|zz{z{|{|{|{{|{{zzzzz{{{{{||{|{z|z{z{{z{||z{}{{zz{{{z{{|||{||{{{zz|z|{|{|{||{|{|{|{z{z{|{|z{||zz{{{{z{{{{{|{|{|z{z|{{{{|{{|}{|{{{{z{{{{|{|||||{{|{{|z{{||||{||{{{{{{{|{|||{|{|{{{{{{{{{{||||}||{{{{{{z||{{{{|}z|zzz{z{{{z{{{{}|z{|z{{{{{{{z|{|{{{{{{{{|{||||z|y|{z{{|{{{|{|||||{z|z{{z{|z|{||{{{{{zz{z{{{{|||{{{z{{zzz{{|{{{{z{{yyyyzz|z{{z{|{{z{zyz{zy{{zz{{{{zzzzzzz{z|z{|{{{zzy{zyz{{{{z{{|xz{z{z{{|z{{{{{{{zzzzzzz{z{{{{{{{zzzyz{zzz{{{{z{|z{zyzzzzz{z{z{{zy{{{yzzz{{{zz{zzyyz{z{zz{zzz||{{zzzz{{{zz{{{{{{zz{{zz{z{{{{{|{{{{zzzyz|{z{{{{|{|{{z|zzz{{{{{||{{zzz{zz{{{|{{z{|{z{{z{zzz{{{{{{zz{{z|z{{{{||{{}|z{{{{{{{|{{{{|||{{{{{zz{{{||||{{|zz{{{zz{|{{|{}}z{z{{{|z{{{{|{{{|{z{z{{{|||{|||{|{|{{{{{|||{|||{|{{{{{zz{|||z|||{{{{{{{{{z{|{{|{{{{{{{z{{{zz{|||z{{{zzzz|||{{||{{{{{zz{z{{{{{{|{{{z{{z{{z|{|{{}|{{{zz{zz{z||{{}{|zzz{{zz{{z{{{{{{zzzz{{{||{{{||{{{zzzzzzz{z{{z{|{zzzzy{{{{z{z|{{z{zz{zzzzz{{zz{|yz{zz{zzzz{{z{{{{{{{z{zz{{{{|z|{zzzzzzzz{z{z{{{z{z{zyzz{z{{{{{{{zzzzzzzzz{{zz{{z{z{zy{zzzzzzz{{{zzz{|{zz{{z{{{|{{zzzzz{{{{zz|{|{{z{y{z{z{{{{z{{{{{zz{zz{zz{z{{{{{{z{zz{z{|z|{{{{{z{{z{zz{{{{{{{{zyzz{{{{|{{{{z{{{{zz|zz{{{|}{{||z{{{{{zz{{{||||{{{z{zzzz|z{|{}|{{zz{|{{{{{{z{{||{z{z{{{z}{{||{|||{{{z{{{{}z|{||{zz{{{{{{{{|{||{{}{zz{z{{z{{}{|{|{{{{{z{{{{|{|{{|{z{y{{{{z||{{{|z{|z{{z{zz{{|{{{|{zzzzz{{{|||{|||{{{{{{}{|{|{||{|{||{{z{{||{|{|||{{yzz{zz{{{{|||||zz{z{{{{{{|{{||{|{zzzzz{{{|{|{|{{{zzzzyz{{z{{{{zzzz{z{{|{|{z{{{{zz{z{{{zz{z{|{|{zz{zzzzz{{{{z{{{z{zz{{{{{{{{{{{{{{zzzzz{{z|{{{{zzz{z{zz{{{z{{||z{zy{{zzyzz{{|{{{z{{zzzzz{||{{|{z{z{z{{{||{{|{|||{{|z{zz|{{{{{||{{z{{z{{||{{{{||{{z{{zzz{|{{|{|{{{|{z{zz{|{{{|{{{{{{z{{z{|{{{{|{{{z{{{{{{{|||||{zz{{{{{|{|||{|}|{{{{z{|{{{|{|{|}{{{z{z{{||{|{||{{z{{|{||{|{||{|}}{{|{{|{{|}|{||||{{{{zz{{|||{|}|z|z{{{{|{z||{|||{|{{{z{{||{{{|||z|zz{z{z{|||{|||{{{{{z{z{{{{{|||{{{z{zzz|{{z{{|}|z{|{z{z{||z||}|||{|zzz{{z|{|{{{{{z{{{{z{{{{{||{{zzzzzz{zz{|{|{|{{{zyz{z{z{{{{{{{{{zz{zz{{z{z{{{|y{{zzz{{{{{{{{{{{zz{zz{z{{zzz{{zyzzyzzz{z{zz|{{{z{{{zzzz{{{z{|{{z{{zzz{{{{{{{{|zzz{zz{yzz{z{{{z{zzzzzzzzz{{{{z{|yzz{zzy{{{|{||{{z{{{z{z{{|{z{z}z{z{zz{y||z|z||zzzz{yz{z{{{{{|||{{{{{z{{{{{|{||z{z{{zzz{||{|{{|{z{{{zzz{{{{{z|{{|{{{{z{z{||}{{{|{{{{{{{z{z{||{{{{z{{{z{{{|{|{|}{{zzzz|{{{|{{|{}|{|{{{{{{z|{{{|||||{zz|{{{}||{{||{{{{zz{{{||||||{{{{{{{{|{|{{{{{}z{{{{{z{{{|||}||{{{zz{{|z||{|}{|{zz{z|zz{|{|{{|{{z{{{{z{z{{{{|||{||{{z{{||||{|||{{{{zz{|{{|||}||{|zz{{|{{{{{|{{|{{|{{{{{{|{{z|{{{{{{zz{z{|{|||||{zzzzz{{{{{{|{||{{|{{zzz{{{z{{{{{{{{z{zzz|z|{|||{{z|{z{z{{{{|{{{|{{{z{xz{{|{{{{{zz|zzzzz{{{{{{{|{zzzzz{z{{z{{{z{}{{z{z{yz{{{{{|{{|{{{{{z{{{{{z{{{|zzzz{{{{z{{{z{{z{zz{{{{{{|{|{{{{{{{z{{z{|{{|{{{{{{{z|{{|||{|{{zz{z{{{z|{{{zz|{{z{{{{zz{||{|{z|{{{{{||{{||||{||{|{||{{z|{{|{{|}{{z{|{{{{||}|||{{{{z{{z{||}{|{}||{{{{|{{|{|{{|||{{{{{{{{z{|}|}|~{z{|{{{{||{{{{||{{{|{|{{}|{{{|||{z{||{z{{|||||||{z{{|{{{|{{|{||{|{{{zz{{||{{|{|||{{{{z{{{{|{{{||}{z{{{z{||{{|{||||z{{zz{{z{|{|||{z{|{{zz{{{z||{{{{{z{zzz{{{{{{|{z{z{z{{z|z{{z||z{{zzzzzz{{{|{{{|zz{z{zzz|zz{{{|{zyzz{{{zz{{{{{{{zz{{{yzz|{z|z|{{{{zyyyz{{{|{{{||zyzzz{zz{{{{zz{{z{{{|zzzz{z{{{zzyz{zy{zz{{z{y||{{z{yz{{zz|zz{{||{z{z{zyy|z{z{{{{{z{{zz{{{{{{z{{{zzzy{{|{{|{{{||{{{zz{z{{{|{{{||{{z{z{{{{|||{||||{{{{{zzy{{|{{{{{{{{{|{zz{{||{|{{{{{z|{|{{{||{||||z||{{{{{}|{||z{{{zz{{{z||||{{|||z{|{|{|{{{{||}|}{{{|{{{{||||{|}|{||z|z{|||||||{{{{{{z{{{{|||{||||{{||{||{||||||{{{z{z{z{}||{|{||{{z{{zz{{|||||{z{{z{|{z{{|||{|{{{z{|z{{|{{{{{||{|{z{zz{|z{{{|{||{{zz{z{{{{{{{{|{z{{y{{z{{{{z{{|zz{zyy{z|z{z||{{z{{{zz{{z{{|z{|{|zzz{{yz|{|zy{z{{z{zyzz{{{{|{{z{y{z{zzz{{|z{z|zzzyzzyzz{z{|z{{{{zzzzyzzzz{{|z|{{zzz{zzzyzz{{z{z{{zzzzzyzz{zz{{{{zyzzz{{zz{{{{{{{|zz{zzz{{{z{{{{{{zzzzy{{{|{{{{|{zz{zzyzz{{{||{{z{zz|{zz{z{z{{|||{{|z{{{|{{{||{||{{z{y{z{{}|z|{|z{{zz{{zz{|{||{{|{{{{{{|{|||{||||z{{{z{{z||{|{{|||{zz{{{z|||{{||{{{{{{|{{||||||}}|{|z{{{{{|{|{||||{{|{{{z{|{|{{{{{{{{{zz|||{{{|{|{{z{{z{{||{{{||{z{{z{z|{z{{{{{||z|zzz{{zz|{||{{|{{{z|{z{z{{{{|||{{{{|{{z{{{|{{{|{z{{z{z{|{z{}||{zz{zzzz{{{{|{{|{{{zzzz{zz{|{z{|{{z{y{z{{|{{{{{{|{zzzyy{z{{{zz{{{{zzz{zzz{{{z{{{{{{{zzzzzz{{{{{{{yz{zzyzz{{{|{z|{zz{zzzzz{{{z{{{{{{zzzzzzz{{{{z|{z{zzyzzy{z|zz{{z{{zzz{y{z{{zz{{{zz{zz{yzzz{{{z{|zz{z{zz{{{{z{{{|z{{{zz{zzzz{{|{|{{zz{z{{|{{|{|||zz{{z{{zz|{{|z{{{{{zz{zyz{||{|{|{z{zz{zz{|z{{|||{{{z{z{{{|{||{||{z{|z{{z{||||{|{|z}z{zz{z|{z{{|{|{{zz{{{z{|||||||z{{{|{{z{{{|||}|{{{{|z{{|||{{|||z{|{{{|{||{{||||{z{{{z{|||{||{|{{{{z{{{{||||{{}{|{z{{z{{{{{{|||{{{{{z{zz|{{|{|}{{{zzyzz{z{z||{{{|{{{z{{{{{|{||}||{{{zzzz|{||||{{{{z{zzz{{{{zz{|{{{z{{{zz{{|{|||{z{zzzzz{{|{{|{|z{{{{yzzz|{{{z{{{{zz{zz{{{|zz||{zzz{zzz{{{z{{{{{zzzz{z{zz|{|z{zzz{y{zzzzzz|{{{{|{zzzzzzz{z{y{{||{{zzzzzzzz{{z{{{z{zz{z{|{zz|z{{{zzzzz{zy{{zz{{{zz{z{{yzzzzz{{|{|{zzzzz{{z|||{{{{{z{{zz{z{||{{|{{zz{{{zzz|z||{||{{z{z{{zz{}|{|{|{|z{{{{||||{|{|{|{z{|{z{{|{|{|||||z{{{|{{{|{|{{|||z{{{z{{{{|||||||{|{{{{{{||{|{|}{{z{{{{{z{||{|{{|z{|{{{{||{|{{||{{{{{{||||}|z||{|{{{{zz{{{|{{|{}{{{{z{{{{}|{{|}{|zzzz{{{{{z{{{|{|{zzz{zzz|||{{||{{{zzz{zz|||{|{{z{zzz{zz{{}{{|{|zz{z{zz{{{{{z{{|{{zz{z{z{|{|{{{{{{zzzzzzz{{{{z||{{{y{zzy{{{{{{{zzzzzzzy{{{z{z|{{{zzyzzy{zz{zyzzzzzzzzzzy{zz{|{z{zz{yzzy{{z{z|{{zzzz{zyyzz{z{z{{{zzzzyzzyz{z{z{|z{yyzzzzz{{{y{zzz{{zyzzyzz{zy{{z{{{zzzz{y{{{{{z{|{zzz{z{zz{{{zzz|{z{zzz{z{yzz{{{{zzzzzzz{z{{z{{||{zzzzz{zz{{|{{{|{{{zzyzzz{{{|||{{{z{y{z{{{z{{{{{{z{{{z{z{{|{{|zz{{z{{z{{{|{z{}|||z{zzzyzz{|{|{|{{zzz{{z{{||z{||{|z{{z{|{{{{||{|{{{z{{||{{|{|{|{|{z{|{{z{|{{|{||{{{{zz{{{{{{|{{|{|zz{{{{||{{{|{|{{{zy{z{{{{{{{{{|{{zzzzz{{|z{{||{{z|z{{zzz{{{z}{|{z{{{z{y{{{{|{z|{{{{zzzz{z{|{|}|{{{z{z{z{{z|{||{|{zz{{zz||{{zz{z|{zzzzz{z{{{z{{|z{{|{z{yz{{{{{{{{z|zyy|{{{|zy{z{{{yzy{yz{zz|z{z}z{zzzz{z{{{{{z|z{zzzzzz{z{{|zz{|{z{{zzzz{|{zz{}{{zzzz{yz{{{{z{zz{zzz{zz{z{zz{|{{{zzz|{zz{{{{{|{|{zz{{{zz{{zzz{}zzz{|{{{y{z{z{{||{{{{z{z{z{{{{{{|{{zzzz{zz{{|{||{{z{y{zz{{{|{{{{{{zz{zz{{{{{{z||{{z{{{{{{{||}|{{{{{z{z{|z|{{||{||{{z{{{z{{{{{}{}|{z{|{zz{{|||||{{{zz{|{|z|{{|{|||{{{z{z{{{|{|{|||{z|{{|zz||{|{{|{|zz{{{{{|{{|||||}{{{|{{{{{{|{||{{{{z{{|{{{||z||{|{{{{z{{{|{|{{{{{|{zz{zzz|{{{|z{z||{zy{{{{{{{{|||z{|z|zz|{||{{||{{z{{{zzz{|zzz|{{zz{{zz{{{{|{{{{{z|zz{{z{{{|{|{|z{{{{zzz||{z{{|{{z{zzzzzzz{z{{|{{|zzz{z{{zzzzz{zz{zyzz{zz{{|z{{{zzyzz{z{z{{{{{{|zzz{yzyy{{{z{{||zzz{{zzy{z{z{{{{{{{z{zz{z{zzz|{{zz{yz{zz{{z{{{{{{{zz{zzz{{{{{{{{{zzzz{{{{|{{{{{{{zz{z{zy{|{{z||z{z{{z{zz{{{|{{|{{{{{zzzz{{|{{z}{{zzz{{{zz|{{|z{{||{z|{{{|{||{z||{z{{z{{|{{|{{{{|{z{|z{zz|{|{{{{{{z{{|z{z|||{|{}||{|z{{|{{{{{||{|}{{{|{{{|}{{{|||||{{z{|{|{|||||||{{{{{{{{{{|{||||{{{{{{||}{{||{{z{{{{z{z||{|||}|{zy{{{{|{{{{z{|{z{{z{z{z{{{z{|{|{{{{{z{{|{{{{{|{|{{{{{{z||||||||{{{z{{|{|{z{|||{{{{{|z{{{|||{||{{{{{z{{z{{{||{{||{{{{zz{z{{{{|{{{{z{zz{z{||{{}{{{zzzzzzz{{z{{z{{{z{z|zzzzz|z{{{|{{{zzzzz{{{{{{||{{{{zzzz{{{|z{{|z|z{{yzzz|{zz{{|zzzzz|zzz{{z|||zz{{z{z{{|z{|{{||{{{{{{{zz{{|{{{{zz{{zz{{{{{{{{{{z{{{{{z{{||z{{|}zzzz{y{{z|{|{}{|{z{{|{{z||{{{{|{|{{{|{{z{{||{{{|{{{{|{{{|{||{{||z{{{|z|{z|{|{}}|{{{|{z|z||{{z|||{{{{{{z{|}}||}|||{|{z|{{|||||{|{{|z{z|{{{}||||||{{|{{{|{}||{|{{{|z{{{{|||{|||||||{|{}{{z||{||{||{{{z{{{z{|||||||{zz{{{z{|||{|{|{{|{z{z{z{||{{{|{z{{z{{z{{|{|{|{||{{{z{|{{|{||||{||zz{|{{{{{{||{||{{{{|z||{{|z|{{{z{z{z{z|{||{|{|{{{{z{{{{{{{{{|{{zzzy{zz{{|z{{z{{y{zz{{zz{{{z||{{{{{zzzz{||{{|{{z{{zz{|{{{|{|{z|{{||z{zy{{{{zz|{{z{{{zz{z|z{{{{{z{{zzzz{z{{{{|{|zz{z{{zzz{{{{{{z{zzz{zz{{{{{z{{|{{z{{y{zz{{{{|{{{{{{{{{{{{z{{{|zzz{{zzzz{{{|z{{{zz{{zz{z{z||{|{{{{{{z{{|{||{{|}||{{z{|{{{{|{||||{{{{z{|z||||{{}{{{||{{{{|{|{|||{{z{{|{{z{||}||{|{{{{{|{|{}{||||||{{||{|{{|{|||||{|{|{{{||||{|{|{|zz{{z|{{{{{{|||{z{{|{{{{{||}}||{{{z{{{|{||{{|{}|z{{{{|z||{|{|{}{z{{{{{zz{{{{{|{{{{{{zz{{||{{{{}{zz{{{zz|{{||{||||z{{zz{{z{z{z|{z{{{zzz{{{z{z|{{|{zyyz|y{z{{{{{{zzzzz{zy{{{{{{{{|{{z{zyzz{zzz{{{z{zyzzz{zzz{z{{}zzz{{zzz{z{z{{{zzzz{zzyz{{{{{{{{z{{{{{z{z|{{|{{|zz{{{y{z{zzzz{{z{z{zzy{yz{zzzz{{zz{{zzzzz{|{{|{{{zz{{z{zz{zz|{{{zzzzzz{z{{|{{z|{|z{{z{zz{z|z{{{|{{zzz{z{z{{{{{|{{zzzzzz{{{|{{|{{{|zz{z{{{|z{{{{{zz{y{z{{||{|}{{{z|{z{z|{{||}{|{|{{{{z{z{z{||||||{z{{{{{{|{{{|{|||||z{{z{{|{||{}}|{z{z|{{{||||||}{||{{{|{{||{{|}||{{z{{z{|{{||{|||{{z{||{|{{|}|{}{{{z{{{z||{|{{|{zz{z{z|{{|||{{{{{z{z{{zz{{z{{{{{{z{z{{zy|||z{||{{zzz{{{{z{|{|{|{z{z{{z{{{z{z{{{|{{{{zz{{|{||z{{|zz{zz{zzz|{z{{z}zz|z{z{z{{{{z|{|{zz{{{zz{{{{{{{|{{zz{zzz{{{z{{{|{{{zzzz{z{{|{|{{{z{{yzzz{{{{{{|}{zzzzzyzz{|{z{|||{{{zz{zz{{zz{zzzyzzyzzzz{z{{|{{zzzz{zzz{{{{{{|{{{{zzz{{{|{{|{{|z{zzz{{{|{{{|{{{{{{{{z{yz{{{{y{zzzz{zz{{{{{{{|{{{{{z{{yz{{{{{{{{{{z{{{z{|{{{{|{|{{{z|{{{{||||{||z{{z{{|{|{{|{||}|{{{{{{{||{||{|||zzz{z{z|||{}{|{z{zz{{|{|||{|||||{{|{{|{{||{{{{|{|{|{{z{{{||{{{{|{{{|{{{{|{{{||||{{|{{z{||{{|~||{{{{|z{z{{{|{||{{{{|{z{{{||{{{{{{y{z{zzz{{{{{|{{|{zzz{z{{||||{||{{|{z{{z{{{|{||{{{z{{{{{z{{{||}{{{|zzz{{{|||{{|{z|{{zz{z{{||{|{|{{z{z{{z{z{z|{{{zz{{{{zz{{|{|{zz{zzzz{z{{{z{z{{{{z{zzzz{z{{|z{{{z{{{zz{z{{|{|{|{{zz{{{{{z{{|{{{{zzzzzzzzz{z{{{{|{y{z|zzzz|{{z|||{yzz{{z{{z{|z{{|{zzzzz{{{{{{{{|{|z|{{z|zz{{|{{{{{{{{z{{{{|{{|{{{|z{zzz{{{{}|z|{{{{{z{z{{||{|{{|{{{z{zz{{{{z||||{{z{|{|{{{||{|{|{y|z{{|{z|||{{|{|{{{|z{{z||{||||||{{{{{{|{|||{|||{{{z{{|{{|{}{}|{|{{{z}{z{}|||}||{z|{z{{{||{}||}|{{{z|z|{{{|}{|{||{{{{z{{||||||||{|{{{{{{{|z{||||{{{z{||{{{||{|||zz{z{{{z{{{{{|{{|{z{{{y{|{}{{{{|{{{{{zz{|{|{{{||{{zzzz|z{{{{{{{{{y|z{zz{{{{|{{||{{{zz{|z{{|||{{}{{z{{zz{z{|{{{{z{{{{zzzz{{|zzz{{{{z{{zzzz{{{z|{|{zzzzzyz{{z|{{{{|zzzyzz{{{|{|{{{{z{zyzzz{{z|{|{{z{zzzzzzyz{zz{{{{z{zyzz{{{z{z|{{{{{zzzzz{{{|{||||z{z{zz|{{{{{zzz{{{|{{{z{{|{{{||{z{zzz|zz|{{|z{||yz{{y|{z{{{{{{|{zzzzz{{{{|{{||{{{{{z{|{{||||z|{|z{z{{y{|{|{{{||{{{z{{{|{|{{{{||zz|{zzz{{{|{||||{z{{{y{z|{{||}}}|zz{{{|z{}{{||{|{z||{{|{z}||}||}|{|{{{{|{||||{|}||{{z{z}{{{{|{|||z{z{|z{{{|||{{|{z|z{{{zz|{|}||{{{{z{{z{{|{|||z{{zzz{{zz|||z|{{{{zyz{{zzz{|{{{{{{zz{z{z{{z{{|{|{z{zzz{zy{{zz{{{|{{yz{zyz{||{z{{|z{zzzzzz{|{{{{||{zyzzzzzz||{z{{z{z{yz{zzzzz|z{{zz{zyzzzzz{z{z{z{yzzzzyyzzz{zz{|{|{zz{zyzz{{z{zz|yyzzyzzy{{{{{z||zzz{y{zz{zz|{{zz{zzzz{zyy{{{|{{{{{{zzzzy{zzz{||zz{zy{zz{{|{z{z|{yzzzzzyzzzz|{z{{zz{{yzzz{{zz{{|zzz{zyzzz{{{{|{|{zz{zzz{{{|z|{{|{{z{z{{z{{{{z{z|{|{z{{zz{z{{{{{{zz{zzzz|{{{|{||||{z{{z{{z{||{{|{{|{||{z{z||{z|||{{{{|z|{{z|{{}|{{zz{{z{{z{|{|||||{z{|{z{{|{{{{||{{{{{z{||{|z{|{z|{{{{{{{{z|{|||{{{z{z{{zzz{||{|||{{{z{zz{{{||{{{|{zzzzzz{{{{{{|{{zz{z{z{zz|{{{{{{|z{zzzzz{||{{{{{z{{zzz{{{z{{{|||{zzz{yzy{z{{z{|||{z{zy{z{{{{z|{|{z{{{{zzzz{{|{|{{{yyzzzzz{{yz{zzzzzzzz{y{{z{{{{|{zzz{z{{{{{{{{|{z{{zzzzz{{|{{{|{zzzzz{z{{{zzz|{|{{zzzzzzz{{{{|{z{zzyzz{zzzzz{{{{{zz{zzzz{{{zz{|{{zz{zy{{{|{{{{{|zzzzzy{{{z{z{{{{{z{|{z{{{{{{{{|{{{{z{z{z|{{{{{{{{{zz{z{z{|{{z|||z{zzz{{{|{|{{|{{||{z{{{{{{{|{||z{{z{zz|{{|{{{|||{{{z{zz{{{|{{|{{{{{||{{{||||{|||{{{{{{|z||||||{{|z{{{||z{}{{|||{|z|{{{z{z}{||{|{{|{{{z{|{|{{||{||{z{{{{{}|{{||{|{{|{zz{|||||{||{z{{{z{{z{||{|{|{{{{{zz{{{{|{||{|{zz{z{{{{{|{{|||z{{z{z{{{|{{{{{|{{{{{{zz{{{{{{|{{z{z{z{zz{z{{{{|{z{{zz|y|{{{z{||{|{{{{{{z|{{{{|{|{zzzz{z{{{zz{{{{z{{zzz{|zz{{{{{zzzzzzz{|{|{z{{{{z{z{zz{zz{{{{{{{{zzyz{yz{{{{{{{{z{z{yzzzzzz{{|z{{zz{{z{z{{{{|{{{z{{{zzy||{z{{|z{z{zzzzz{|{{{|{|{zzzzz{z{z|{z{{||{|zz{z{{{{{{{}|z{zz{{zz{||z||{zzzz{{{{z||{{z{}{{zz|{zz|{{{{{|z|z{{z{{z{{{{|{{{{zz|{|y|{z|{||||}zz{{{{z{||{|{|{{|z{z{{z{|||{{|{{|{|{{|{|{||{|}|||z{{{||{{|z{}{||{z|{{{{{}|||{||{|{{||{{{z{{{{||||{{|{zz{{|{{{}|{|z{{{{{z{{{{{|}|z{{{z{{{||{{|||{{{{z{{{{}{z|{{{{{{z{{z{z{{{{|||{{{{{{{{z{|zz||||{{zz{{{{z{{{{|||{z{z{zz{{{|{{{{{z{zz{z{z|z{{{{{}{zzzzz{y{{z{z|{{|z{{{{zz{{{{z|zzz{zzx{zzz{{z{{||{y{zzz{zz{{|{{{|z{zzzzzzzz{{{z{{{z{{zzz{{zz{z{|{zzzzzzzz{{{{{{{|zz{{zz{{z{z{z{{{zyzy{{z{|zzz{{{{{zz{{{{z|z{{{{{|{|zz{zzz{{z|z|{{z{{zzz{{{{z|{{{{{{zz{zzz{{{{{||{z{zz{zzz{{{|{{|{{{z{{zz{|{|{z{{|{{zz|{{{{{|{|||{{|{|z{|{||{{{||}|{||{{zz{{|{|{|{|z{{{{{z||{{}|{}{zy{|{{|{{||{||}|{{{z|z|{||{|{|||z{{{|{z{{||||||{z{{|{{{{{z{|||||{{{|{z{|}|||{}|{{zz{{{{{{||{|||{{{{{z{zz|{{{{}|{z{z{{zz{||{|{{{||z{{{zz{{{{{{}||{{{zzz{|||{||z{|{{{z{{z{|z{|}{|{zz{{zz{z||{{z}|{{zzz{zz{z{z|{||{z{z{{{z{|z{{{{{{z{{zz{{{{{{{{{{z{|z{z{{z{{|{{||zzzzzzzzzzz{{{|{z{{zzz{{{{{|{|{{zz{{zzyz|{{{{|z{{z{zzz{z{z{{{{z{{zzyzzyy{z{{{{{{{zz{{{{zz|{{{{{{{{zz{y{{{{{{z{|{zyzz{z{{zzzz||{{z{z{{z{{|{{|{|{|{{z{{z{z{||{|{~{zz{zz{yz{{{{{{|{zz{{{{z{|{{{z{{{{z{{{{z|{{||||||{{{{{z|{||{|{||{{{{{z{z{{|{|||||{{{{{{|{|||z||||{{|{z|{{{{|||||{|{|{{{|||}|{|{}||{{|{{|{{||{{|{||z{|z{{{{|{}|}|||{{{{|{{||||}||{{{{{||{{|||{{|{}{{z{z{{{||{||||{||{z{zy{{||z{|||{z{{{z{|{}{{{||||{z{{x{z||||{{|{|{{{{{zz||{{{{{{|{zz{{{z|{|{|{||{zz{z{zy{{{{{|z|z{z{{z{{{{{{z{{z|{zz{z{z{{{{z|{{z{z{{{{zzz{{z{|{z{{{{{{z{z{{{|||{z{{zz{zz||{z{|{zz{zz{zz{{{{|{{{zz{z{zz{zz{{z{{{z{zz|{zy{{zz{{{{zyzz{{{{{|{{|{{{{zz{{zz{{z{{{{{{{z|||z{{{{{{{|{|{{{{{{{{{|{{{{|{{{{z{{{z{{{{{||{{{{z{{{z||zz{{|{{z{{{{z{{|z{{|{{zzz{z{{{|{{}|||{z|{{{|{{z{{}||{}{|{{{{zz{{||{{}{{z{{|{{{{||{|{||{|{{{||{{||||}|||{{{{|{{{|}}{|||||{{zz{||||}||}||{{{|z{{{|z{|||||{{}|{z{|{||}|{{||{zz{{{||{{{||{|{zz{{{{{{{z|{{|{{{{|zzz{{{{|{z{|{{{zzzy{|{{{|{|{{{z{zzz||{{{|||{{z{zzzz{{{z|{{{{zzz{{z{z{||{{{{|{{{zz{y|{|}{{||{y{yzz{zz{z{{{||z{z{zzzz{{|{z{{{z{{yzz{z{z{|{{{{y{zyzzzz{{{zz{|{{zz{z{zzz|{z{{|{{{zyyyz{zzzzz{{{{{yzzzzyzz{{z{{z{{{zz{zzz{zzz|y{zzzz{zz{{{{{{{{{z{{zz{z{{{{|{z{|{zzzzz{z|{{{{{{{z{z{zzzz{{z{zz|{|z{z{zz{z{{|{{{|{z{zz{zz{{|{{{|{{zz|z|{|{{|{{{|{{y{zzz{|{|{|{|||z{|z{{{{|||{{{||{{z{{z{z{||}{{||{{{{{{z|{|{{|{||{{{z{{|{{{{|{||||{{{z{|{{|{|{{||{z{{{z{{|}|||z||{{{{|{{{|{{|{{{{{{{{{|z{}|||{{}|{{|zz{{{{{{{|{{|{{{{{{{zz|{|{{{{{zz{y{{z{{{|{|{|{{|zzz{{|{|{{{|{z{{{zz{{z|{|||||{{{z{zzzzzz{{{|{{{{{z{zz{{{|{{|{{zyyz{zy{|{|{}{||zzzzy{{z|zz{|{{z|{{zzzz{{z|{|{{{zz{zzz{{{{|{{z{z{zzzzzzz|{z{z{{zyzy|{zz{{|{{{{{zzzzzy{z{{{|{{||z{zzzz{yz{z|{z{{z|zyzzz{{{z{{{z|{zzz{{zzz{{{{{{{{{zzzz{z{{z{z{{{{zzyzzzzz{|{{{{{{{{zzzzz|{{{{{{|zz{{{{{z{|{{{{||{y{{{{{z{|{{|||{{{zzzzzz{|{{z{{|{{{z{z{{{||{{||}z{{zzz{{|{||{{||z||z{{{{{|{}|{|{|z{{{z{{||{{|||||{||z{z{z{{{|||}}{{{{{z{{|||}||{{|z|{{{{}|||}}|||{{{{zzz|{|{{|||{{{{|{{{|{||{{{|{z|z{{zz{|{{||||{zz{z{{z{|{{{{|{{z|{{z{z{|}{{{{{y{y{z{{zzzz{{|{{{{{{zzz{{||{|{{|zz{zzz|z{{z|{|{|{{z{{yz{{{z|{|{{zzzz{{{z{{{{z{|{{zzz{{zz{{{{{{{{{z{y{zz{{{|zz|z{{zz{z{y{{zz|{{zzz{zz{{{{{z{{z|{{zzzz{{zzz{{{z{{{z{zzyyyzz{{{{{{{zz{zzzzzzz{{{{z{zzzyzzzzz|z{z{|{zzz{{zzz{z{zz{{|yyzzzzz{{{{zzz{{{{{{zzzzz{zzz|{|zz|zzzz{z{{zzz{zzzz{{{{zz{{|||{{zz{zz{zz|{||{{|{{zzz{{yz{{|{z{z|z{{{{z{{{{{z{{|{{{{z{|{{|||{{{{{}{{{{{{{|{{|{|||{|zz{yz{{}|{{{|||z{z{z{{{{|{{|{}|{{{zz|z{|{{||}{|{{{zz{z}|{|||{{{z{z{|{|{{{{{||{z{{{{{{{{{{{||||{z|yz{z{{{|||||{{{zz{zzz|{{{z{{{{{z{yzzz|{{{{{{{{{z{{z{z{{{{{z||{z{{z{|z{z{{z|{{z{zzzzzz{{z{|||{{z{{z{{zz{{{zz||{{z|yzzzzzz{{{|}zzzzzzzzyz{{z|z|{z{zzz{zzz{zz{zyzyyzzzz{zzz{z|z{z{yzzy{z{{zzy{{{z{zzzzzyzz{{|{{{{z{zyzyyyz|yz{{zzzzzzzzzz{zzzzz|z{yzyyzzzz{{{{zzyzy{zzyyzzz{{{{z{zzz{yyzz{{{z{{{z{zzzzzz{{||zz|{zz{zyzz{|{{{{|{{zz{{{z{{z{{{{|z{zz{zz{z{{z{{{z{|{{z{yzz{{|{{{z{{{{zz{z{zzz{|z{{zzzzzz{|{z{{{|z}|{y|z{zz{{{{|{|{{{zzzzz|z}|{{{|{|{{{zz{|{|{|{||||{z{{{{{{{|{|{|{{{{{{{{{z{|{|{|{z{{{{|z{|z{{{||||{{z{{{z{|{{z|{{|z{{y{z{{{|{{{{||{{{{{yzz|{{z||}{|z{y{z{zz{{{{{|{{{{z{zzz{||{z{||{{zzzyzz{z|z|}|{{{{{{zzz{zz{{{{{{{{zzz{{{z{{y{{{zz{yyz{zzz{{{z{|z{zzzz{{zzz{{{{|zz{z{z{{z{{zz{{{zyzyzyzy{z{{z{{{zzyzzy{zzy{{zz{z{z{zzzz{z{z{{{{|zzz{z{zz{z{{{{|{zzzzzzzy{yzz{z{{zz{{{zzzz{zzz{{zzzzzzz{y{{{yz{|{{zyz{zz{z{z{z{|{zzz{zzz{zz{{{{{z{z{z{{zz{z{{{|{zzz{z{z{{z{{|{{|z{z{zzzzz{{{{zz|{z{zzzz{{{{{z{||{{{{{{{zzzy{{{{{{z{z{|{|z{{zz||{|{{{{{{zz|{{||{|||z{{{z{z|}{{{}{|{{|{z{{{|{{{||{{{{z{{z{{{}{||{||{zz{{{{{}{{|{|{z{zzz{{{{{{{{{{|||zz{{z{{||{z{|{|{{zz{zzz{{z|{{|{{zz{z{zzz{||{{|{{zzzzzzzz{{{|z{{{yyz{{{yzz{{zz|{zzzz{zzz{{{{{{{{{{zz{z{{zzz{{{z{zy{{{z{zz{{zz{z|{z{z{zzzzz{{{{z|{zzz{{{zzzzzzz{{{{zyzzyz{{{zz{{{{zzzyzy{zz{zz{{{{zzyzyyzzzzy{z{zzyzzzzyz{z{z{{|z{zzyyzzzz{z{z{|{{y|zzzzyzzzzzz{zzz{zzzyyz{z{z|{{zyzzzzzzzz{zzz{{z{yyyzzzzz{z{z{{z{{yzz{z{{z{{{{{{{{{zyzz{z{{{{|{{{zz{y{{z{{{{|{|zz{{zzzz{|{{{{{{{z{{{{zz{{{{z{{z|{{z{{{z{z|{{{{|{zzz{z{{{|{zz{{{z{z{z{yzz||{|{|{zz{{z{{z{|{{|||{{z{z{|{|{|{{|{|||{z{z|{{z}||{}|||z{{{z{{{|{|{{{{{{z{zzz{z{|{{{|{{{{zz{{{|z{{|{||z{{z{{z{z{{{z||{{{z|zzzzz{{{{|||{z{zzzzz{{{{{}{|zz{zz{|z{{|{{{||{zzzz{z{|{{{{|{|{{{z{y{z{|z{{|{|zzz{z{{z{{{|{z|{{{{yzzyzz{|{{{{{|{zz{{zzz|{z{{|{{{{zz{zzzz|z{{{{zzzyzzz{z{{z{{|{zyzyzzzzz|{{{z{z{zzyyzy{{z{{z{{|zyzzzzzzz{z|z|z{{zy{zzzyzz{zz{zz{zzzzyzz{{zz{z{{zyz{{zzz{|{z}||{{zzzzz{{z{{{|{|{{{{zzy{z{|{{{{{|zz{zy{{{{|{{zz|{zzzz{z{zzz|{{{{{{{z{z|{z{{{{{{|z{{zz{{{{{{|zz{{{}{zy|zz{{{z{{{{{{{zz{{{{|{z{{{|{|{{{{zzz||{{{|{|{{{{|z{z{{||{||{{z{{z{{|{{{||{|||z{{{{|z{{{|||||{z{|{{{|{|{z|{|||{{z{{{{{{{{{|{|{{{{{{{z|{{{}||{z{z{z{zzz{{{{||{{{{{{{zz|{{{|{{z|y{zz{{z{|z{{|{{{|{{{|{{{{|z{{{{z{{|zz{{z|{|{{{|{{zz{{zz{{{{{|{{zzz{{{z{{|{{{{||{|{{z{{z||||{|z|{z{{{zyzz|{z{|{{{{z{zzzz{{|{z{{{{{z{z{{y{{{|{z{|y|zzzzz{{{{{{zzzzzz{{{zz{z|{{{{|z{{zzzzzz{{{{{}{{yzzzzy{{z{zz||{yzzz|zzzz|{z{{z{{zy|{zyz{z{{{{|{{z{{{zzz{|{{{{{{zz{zzz{z{{{z{{{{|z|zzz{{|||{{{{{z|{z{{{z{|{|{|{|{z{{{{z{{||{{|}{{zz{{{{{|||{{{{|{{{{|{{z||||{|{{z|{z{z{{{{{{||{|{{z|{{zz|{}{|||{{z{|{{{z||||}{|||{{{{{|}{}|{|}}|}{{}{{{{{}}{||||{z{{|{|{|||||}|||{{{{z||||||||||{z{{{{{z{{|}||{|{z|{{{{{{|{||{}|{{||z{{{z||}{{||z{{{{z{z{{|}{|{z{{{{{zzz{{z{z{z{{{zz{z{zz{{|{||}zz{{{z|z{{{{{z||{zzzz{{zz{|{{{{{zz|zzzzz{{{{zz{|z{{zzz{z{{z{{{{{|zzzzz{y{{{z{{{z{zyzzz{{{{{{z{{{{z{zzzzy{{{{|{{zzzz{{|yz{{zz{{{{{zz{yzzzz{z{{{{{{z{zz{zzz{{{{{{{{{z{{z{{z{{{{{{|zyzzyz{{zz|{{{{{{z{z{{{z{{{{{{{{{z{z{zz{|z{{{{||zz|zzzzzz{{{{|}{{z{zzzzz{{{{|{z{{z{{{{zz{{{{{{}{{z{{{{z{{|{{|||z{{{zz{{{z{{{{||{z{{{{{{{|{z|||||{z{|{{z{{}}||{{||z{z{{{{||{||{||{{|{z{{{||{|{{|||z{{{{{{{}|||||}{{||{{{{{{{{{||{|{{{{{|{|{{|{||}{|{{|{{|{|}{||{|{{{{z{{{{{|{|}||{{z{z{zz{|||z{|}z{zz{{zz{{{z|{{{{zzyz{{z{{{|{{{|{{{yzz{{{z{{{z|{|z{|z{{|{{{{|{{||y{z{{zzz{{{|z{{z{{zzz{{{z{{{{{|{z{z{zzz{|{{|{{z{{{z{z{z{{|zzz{{{|zyzzzz{{{{{{z{yzyzzz{{{{z{{z{zzz{{y{yzzzz{{{||{{zz{zyz{{{zz{{zzzz{{zyzz{{{z{{{{{zyz{zz{{{|z{{{{z{|{zzz{{{{{{z{{zzyzzy{z{{z{z{{z{{zz{{{{{|{{|||zz{zzzz{{{{{{{|{zz{{zz{{{{||{{|||{zz{yz{{{{{{{|{{z{{zz{z|{{{z{{{z{z{z|z{{z||||{{{{{{|z{{|{z{{{{|{{{{{zyz{||{{||{|z{{|{{z{|{{|||{{{zz{||{|{{|{|{|{{{{z{||{{|||{||{{{|{{{{{{|z|{|{{{|{{{{|{}|||{|{|{{{{{{{|z{||||||{zz{{{{z|{|{||{{{zz{z{y||{|{||{{{{zzzz{{{{|{{{|{{z{{zz{{{|{{|{{{{{{zzy{{{{|||||{zzzy{{z{{zz{{||{zzy{{z{{{{|{{{|zz{{z{z{|z{{|{z{{{{zzzzyz{zzz{{{{z{z{zzz{{zz{z{z{z{{zyzzz{z{z{{{zz{yzzzyz{{{zz|{zz{zzzzzz{{{{{z{zzzzz{zz{{{{{{{{{{{zzzzzy|{z{{{|{zzzzzyz{z{z{{{{{z{{zzzz{{{{z|{|{zzz{z{{z{{{{{{{{zyz{zz{{{z{z|{{z{zzz{zz{z|{{{{{{{{{{{zz{z{{{{}{{zz{zz{{{{|{{{{{{{{zz{{{z{||{|{{|{z{z{{{{{|{{|||zz{z|z|{|{{||||{{{{{{zz{{z|{|{|{{z{zz{{|{||{{{}|z{{{{{|{{{|{|{||{{{{{{{|}|||||||}zzzzz{{|{|{{{|{{{|z{{z{{|{{{|||{{zz|{{{||{{|{||zz{zz{{z{{|{{{|||{{z{zzz{|{|{{{{{{|zzzz{{}|{|z{|{|{zzy{z{{|z{{{{z{{zz{zz{z{{||y{{zzy{z{z{zy{|z|{{yzzzzzzz{{|{z{{z{z{{zzy{{{{{|{||{z{zz{zz{{{z|{{zzzzzzz{{{{{{{z{{zzzyzzzzzzzzzz{yzz{zzzzz{zz{z{{zzzzz{zzzz{z{|{{|zzzzzyz{{z{z{{|{zzzzyzzz{{{{{{zyzzy{zzzy{{{{{z{zzyzzzxy{zz{{{|zzzzzzzy{y{{|{{{|{yyzz{zzz{z{{{|{zzyzzz{z{{{{{|{{zz{z{{{zy|z{{{z{{z{z{zz{z{{{{{|z|z{z{z{{{{{{{{{{{{{z{z{zz{|{{{{{zz{z{|{{{|{|z|{|{|{zzzzz{z{||{|{{z|{{{{{{|{||{{|zz{{z{|{||{{{||{{z{{z{{{|||{{|||}{{{{{z{||||{{||{|{{{z{z{|{{||{||{{{{{z{{{|{|{|||{z{z{{{{{{{|{|{{{{|z{{zz||{{|z{z|zzzzzy{{{{{||zz|z{{zz{{|{{|{{{|z{zz{zzz{||{z{|{{yz{zzy|z{{|{{|{{{z{{{z|{{{{{{|{z{{z{{z{{{z{{{|{zz{{z{z{{z{{{|{{z{z{yz{{{{z{{{{{z{{yzz{zzz{z|{{zy{zzzy{z{zz{{|{z{zyzz{z{{{{|{{{{{zzzzz{zzz{{|{|{z{zzz{yyzzz{{z{{{zzz{zzz{z{{{{{zyzyz{zy{{z{{z{|{{zzz|zzy{{z{{{|zz{{z{{zz{z{|{{{z{zzzyzz{{|{{{|{{{{zzz{zz{{{{{{{{z{z{zz{zz{{{|}{zzzz{zz{{{|{z|{{{z{{{z{{{{{{|{||{{{{{zz{{|{||||}|{{{{{{z|{{{{{}{{{{z{z{|||||{{|||{{z{{zz|||{|{||{{{z{|{{|}|{{{||{{{{z{{{{{|{|{|{|z{zz{z{{z{||{||{z{|{{{{{|{|{{|||{|y{{{{{{{{{|{{|{|{{{{z{|{|{||z|{z{zz{zz{{{{{z{{zzz{zzy{{{z{zz{{zz{{zy{||zz{{zz{{{z{{zz{{z|{{|{zz{z{z{{{{|{zz|{zz{zzzzz{{|{{{{{zzzz{z{zz|{zz{{{|z{{zzzz|{zzy{|{{{{zzzzz{{z{z|zzzyzzzz{zzzz{{{{z{zzzyzy{z{zy|{{zz{{zz{yzz{{{{{z{zzzzzzzzzz{z{{{{zzzzzzzyzzzzz|{|{z{{zzzz{{{|{{z{z{zz{z{z{z{z{{{{z{z{{zzz{z{{{||{z{yz{z{z{{|z{{||{{{{zz{zz{{{{{|{zz{{z{zz{z|||{{{{zz|{{z{{{{{{{{z{{{z{{y|{{{|{|||{{y{{z{z{{{{{|{|z{{z{{{{{||{{{|||z{z{{{||||{{||||{{zz{|{|{|z|{{{}|{{{|z{{{||{||||{{z{{{|{{{{||||{z{zz{z{|||{{|||{z{|z{{{{{{{||{{{{{yzz{z{{{{{{{||{{z{{zz{{{|{{||{{|{zz{{z{{{{{{{yzzzzz{z{{{{|z{{{{zzzzzzz{z{{|||zzzzz{{zz||{{{||zz{{zzyzz{{{z{{{z{zzzz{y{zz{|{z|{zzz{yzyz{z{{z{zzzz{zzzy{{{z|{z{{z{{zzyzzz{|z{{{yzzy{zzzyz|{{z{{zzzzzzyzz{{{|{|{{{zzzz{z{{yz{{{{zyyzzzzyz{z{z{{zzz{zzy{yz{{zy{{zzzy{zyzzzzzzz{|{zzzyzzzz{{{y{z{{zz{zxzzz{|{{{{{{zzzyz{yz{z{{{{{z{{z{{z{{{z|zz{{{|y{{{{zz{{{{||{{zz{z{zzz|||z{|{{y{zz{{{|zz{||{{{z{{z{{{{{{{{{|}|{zz{zzz{{{|{{{|{{z{z{|{z{||{{}|{z{zz|{z{{{z{{||{|{zy{z{{||{{{{|{{z{{z{z{{{{|{||{{z{z|zz{|z{|||||{{zz|{z{{{{|||{}{z{yzzzz{{|{{|{z{{zzz{{zz{z{{||{{z{zyy{zz{{{{{{z{z{zyzyz{|{z|{}{zz{y{zzzz{{{|{{|z{zy{zzz|{{||{{|zz{zz{{z{z{zzz{|z{{yyzz{z||{z{{{{|zy{zzz{{{zzz{z{y{zy{yzz|{{zz{{z{zzzzyz{zz{z{z{zyzy{{yy{zzyz{{{{zzyzzyz{z{z{z{{zy{zzyyzzz{{z{{zz{zzz{yyy{z{{{{{{yzzzx{zz{yzz{z|zzyzzyzz{yzyz{{{z{{zzzzzz{zzz{|{z{{y{{zzz{z{{{{{zy{zzzzz{{{{{{{{{z{zzz{{{{z{{|z|zzzzzz{z{{{{{{z{z{{y{z{{{{{|z{|||z{z{{|z{{{z|{{{z|{{{{{z|{z{||{{{{{{{yzz{||{{|||{z|{{{zz{|{{|{|||{{z{{{{|z{||{|||{z{yzz{{|{||{||{z|zz{{{{{{{{}{{{zy{{{z{{{{{|{||{{{z{zzz|z|{{{||{{{zzzz{z|{{{{|{{{{{zzzzz|z{{{{{{z{z{zzz{{|z{zz{zzzzy{zy{|{{z|{zz{{{|zzz{{{{{|||z{zzzzzz{{z{{{z{{zz{zzzzz{|{z{{|{{zzz{z{z{{{zzz|z{zyzzzz{z|{{{z{zz{z{{zzz{{z{{{|{z{zyz{z{{{z{{{|zzzz{yzz{{z{zz{z{zz{zzz{z{z|{{|{yzzyyzzy|{{{z{|{z{{zyyzzzz{{{{{zzzzzzyzzy{|zz{|{z{z{{zzzz{{{z{{|yyzzzz{{{{{|{|{{z{{zzz{z{{{{z{{{{{{{zzz{{{{{{|{{zz{z{zzzzzz|{|{{{yzzz{zy{||{||{{z{z|zz{{{{{|z|{|{z{|{{z{z|{||{{|{{zz{|{{{{{{{|||{{z{{{|y{{|{{||{{{{{zzz{|}{||{{|{{{{{{z{z||z{{|||{{{{{|zz|{|{zz||z{z{||{{}{|{|{{||z{{{z{z{{{||||{|{z{|z{{{{|{{||zz{z{z{|{{{{z|||||z{z{{{{{{{|{{{zz{{{yzzz{|{{z{{{{z{{{{zz{|yzz||{zzzz{z{{{{z{|{|{z{|zz{{{{z{{||{{{z{yyz{z{{{z{|{z{{z{{z{{zz{|{{|z{zzzzzz{zz{{{{|{z{z{zzzz{{{{{{z{z{zzzz{z{zzzzz{zzz{{{zz{{{z{z{|{zyzyzz{z{{{{{{{{{{zzzzzzzzz{{|{yzzz{z{yzz{z{zz{zz{zzzzzzz{{{{|{yzzyzyzz{{z{{|z{zzzyzzzzz{{z{z{{{z{zzz|z{z{{{|{zzz{{z{y{{{{z{|{|zz{zzz{z{{{{||{{zzzzz{zz{{{{|{|z{{z{{}z{{{z{{||{|{z{{z{||{||||{|{{z{|{{{|{{||{||z{{{{{zz{{||||||{z{z{||{{|{{|{{|z{{{{{{{|{{{{|||{{zzz{{{z|||||||{{|{{zz{{|||{|||{z{{{{zz|{{|{||{|{|{zzz||{{|{{||{|zz{{zz{||{|{|}{|{{z{{z{{z{||{{{z{z{zz{{{|{{{{{z{{z{zzz{||z{{|z{{{{zz{z{|{{{{|{|{z{{{{{{{{{|{||z{z{{z|{{|z{{{{z{zzzzzzz{{|{{{|zzz{zz{zzz{z{z{|{zz{zzzyz{{{{zzz{zyzz{z{{z{{{{||z{{yzzzyz{{{zz{{{zz{zzz{zzz|{{{{|z{z{yy{{{{zz{{{{zzzzz{{xz{zz{{{{{zzzzy{zz{zyzz{{{zzzz{zyzz{{{{{{zzzz{z{{z{{{{|||zz{{{{zz{z{{{|{{zzzz{|zy{{{{{{||{z{{zzzz{|{{{{{{{{{zzzy{{}|{{|||{zz{{z{{{{{{{{|{{z{{{{{z{||}{{|{{|{{|z{z{{||||{|{{{{zzz{||||z|{||{{{|zzz||{|{}||{z|{zz{{|z|{{|{||z{{{|zz{}||||{|{{{{{z|{||{|{|||||z{|{{z{|{{}{|z{|{{{z{{{{|}{{{|z{{zzzzz{{{|{||{{{{{zzzz{{{|{{}{{{{zzz{{{{{|z{{{{{z{zzz{z{|z{{{{{zzzzyzz{{z{|z||{zzz{zzz{{{z{z|{z{zzzzzzzz{|{{{{{yzzyzzy{{{|z{{|zzzzz{yzz{zz{{|{{zz{zz{yy{{{z{{zz{zzzzy{z{zz{{{|zzz{zyzz{z{zz{z{zzzzz{yz{z{{{{zzzz{zyzzzzzz{z{|zzzzzzyzy{{zz{{{{{zzyzzzz{zz{{{z{z{zz{{zy{{z{{{{z{yz{zy{{{{{zz{|{z{{zzyzzz|{{zz{|zz|zz{zz{{z{z{|{{zzz{yz{{{{|{|{zz|{z{{z{z{|{{{{{{z{{zzzzz|{{z{{{|{{{z{z{|{||{|{{{zz{{{{{|{{{{|||zzzzzzzz{|{|z||z|{z{{{zz|||||{|{{z{z{{{{{|{{|||}|{z{|z{{{}|||{|||{{{{z{{{||||{||{z{{zz||{{{|||{||z{|zz{{{|{z{||{|{{{{{y{z|{{{|||{{{{y{zz{|{{{|{|{z{{z{{z{z{{||{{{|zzzzzz{{{{|{{{zz{z|zyz|{zz{{{|{zyzz{zz|z{{|{{{{{zzzyz{z{|{{{|{{z{zzz{{{{{{{|{|z{yz{z{z{{{|z|{zzy{{{zz{{z{z{|{{{z{zz{yzzz{{z|{{zzzzzz{z{{{{{z|z{{zzz{zz{z{z{{z{z{zzzyyzz{{z|{zz{z{zzzz{z{{{z{{zzyzyz{{zz{z{{{{z{yyzz{zz{yz{|z{{{{yz{zzzzz|{{{{{zz{zz{{z{|{|z|{{zz{zz{z{{{{zz{|{zz{{|yzzz{z{z{{{{zzzzzzz{z|{|{{{{{{z{{{{{{z{||z{{z{z{{y||{|z{|{|{z{{{{{{{}{|{||{zyzzzzz{{||{||||{{{z{{|{|||||{|{{z||{|{{||||{|{|{{{{|{{z{||{{||{{{{{{z{{{{|z{{{z{z{{{{{{{|{{{{|}|{{{z{{|{{{|{|}{{{zy{{{z|||{|{||{{{{|zz{{|||{{{{{{|{zyz{{|{|z||{z{z{zzzyz{|{|z{{{zz{{{zz{{{zzz{{{{zz|{zz{{{{{{|{{zz{{{zzz|{|{{{{|{{{zz{z{{z{{|{{zzzz{z{zz{zzz{{{z{z{zz{{{{zzz{{{zzz{{{zzz{z{|{{{z{{zzyyz{{{{{{zz{zzyzzyzz{z{|||{z{{zzzzzzzzzz{{{{zzzzzzzzz{{z{z|z|zzzz{zz{z{z{|{zyz{y{zzzz{zz{{{zyzz{{zyz{{z{{{zyzy{yyz{z{zz{|{{{z{z{zzz{{{{{{|{{zz{zz{{z{|{{||{{{z{{zzz{|{{{{|{{{y{zzzz|{|{z{{|{{zy{{zz{|||{{{{{z{{{|{z|{{|{||{{{zzz{{{{||||z}{|z{z{{{{||{{{}|}|{{{{{z{{|||{|z{||{{{{{{{|||||||{{||z{{{{|{{|||||zz{z{{{|}{{|||||{z{{{{z||{{{{|}{{{z{z{{z||{{||||{{{z{z{{|||||{|{z{{z{zy{{{||{z|zzz{{zyzzz|{{{{zzz{z{zz{{{{|{||{z{{{{{z{{{{{{{z{{z{zzzzz{{{{z{z{zzzyzy{zz{|{z{{|{zzz{zzz{z{{z{{zzyzyzzzzz{|{z{{z{{{zz{zzzz|zz{{|{zyzzyzz{z{z|{{{z{z{zzzzyz{z{{{{{z{z{zyzy{{{{{z{zzzzzy{z{zzzz{{z{z{zz{yz{zz{zz{zzyzzz{yyz{{{zzzzzz{{yzz{z{|{z{|{{z{zzzzz{{z|{{{{{{{zz{{{z{|{{{{{{{{z{z{zz{|z{|z|{{{zzzzz{{{{{{{|{zz{zz{zz{|{{{{{{|z{|{z{|{{||||z{{{z{z|z||{{||||{{zzzzz{z|||zz|{{{|{{{{{||{||{|{{z{{{{|{z{||{|{||y{{z{{z{|{{|{|||{{{{z{{{{{{{{||{|{{|z|{{|{|{|{||z{{{zz||{|{{}|||{zz{{{{{|z{{{{{{zzzz{{{{||z{{||{z{|zzz{{{{{{{zz{zzzzzzzz|{zzz{|{y{{zzzz|z{y{{{|{{zz{z{y{|{z{{|{|yzzyzz{z{z{z{|{yz{zy{zy{z{{{z{|{z{zy{zz{{zzz{|z{zzz{zyzy{|zz|{{{zzzzy{zz{zyz{{{zz{y{yyzzz{{z{|zyyy{zzy{{zzz{{{{zz{yyyzz{|zzyz{{{zzyzyzy{{zyzz{{zz{zzzyyz{{{z||{zzzzzz{y{z{zzz{{z{{z{zz{{{z{{{{|{zzzzyzz|{z{{{{{{z{zzzzz{z{z{{{{{z{{{z{yz|{z{{|{zz{zzzz{zz{{z{{{{{{{{{zz{{{{{{z{{{zz{z{zz{||{|||z{{z{{{{|{{|{||{{|{{z{z|{|{{|{||zz{{{{{z{||||{||z{zzz{|{{{{z|{z|{z{zz{{{{||||{|{{z{{{zzy||z{{||{|zzz{{z{{||{{{}{{{{z{|z{{zz{|{|{{{{{zzzz{{{|z{{{{{{zzzz{|{{{|{{{zzzzzz{z{{{{{|{{{zyzzzzzz{{{{y|{{zz{{y{yz{{zz|{{{{{zz{z{{{{z|||{{zzz{zy{y{{{zz{{{zzyzzzzz{|{z{{{zzzzz{{{z{{y{{{{{z{{zy{z{{|{z{{zzzzzzzy{zz{zzzz{z{zzzzzy{{{|{{{zzz{zyzyzz|{zz{{zzzzzyzyy{{{{z{z{z{zzz{z{{{zzz{{zyyyz{zzz{{{{z|z{{{zzzzzzzz{z{{{{{yzz{yz{zzz{z{{z{z{zyzz{{{{{z{{{z{z{zzzz{z{{{{z{z{zz{z{zz{{z{||zy{zzzzzzz||{{||{zzz{{{z{z{{{{|{|{zz{{z{{z{z{|{{|{{{z{{{z||{|{||{{z{{zzzz|{|||{|{{{z{z{{||{||{}{{z{{{{z{{{{{z{{|||{{zz{z{{{|{|{|||{{{z{{{{||{{{|{|{{{zz{{|z{{{{|{{z{{|zzz{{{||||{{zzzz{zz{{z{{||{{{z{z{zz{|{{{||{{{{zzz{{|{|{z|{|{zz{zz{zz{|z{{{{{zz{yzyz{{{{{|{|z{z{z{z{z{{{{{{|{zzzz{z{{{|{z{{{zz{zzyzzz{|{{|{{zz{z{zzyz{|z{z{{zzzzyzz{{z{z{{z{z{z{z{yz{{|{z{z|zzyzzzzyz{{zz{z{zyzzzzz{z{{z{z{z{zzzzz{zy{{|z{zzzzyz{yzzyz{z{z{{|zzyzzzzy{z{{{||{z{z{zzzz{|{{{{zzzzzzyyzzz|{z{{zz{zzzz{{{yzz{{|{z{zzzz{z{{{z{z||{{{z{y{{y{{z{|{||{zzz{zz{|{|{{|{{zz{zzz{{{|{{{{|z{{{z{{||z{|{|{|zz{{{{zz{{{|z{|}|{{{{{{{{||||{||{yz{{{{z|}{{|{|{z{|{{{{{|{|{}}{|{zzzz{{{{|{||||}|z|{zz{z{{{z{{|{|z{z{{{{|{{||{|{{{zz{{z{{}{{{||{{|zzz{{z||{{{{{z{{{z{{z{{{{|{z{|{{{{z{yz{|{{{zz{{z{zz{|y{z{{z|{{{{zz|zyz{{{{{|||{{zzzzzz{{{z{{||{{{{{zzz{||z{|{|{{z{{z{z{{z|zz{{z{z{zz|zzz{z{|{{{{{{zzzz{z{{z{{{zzzzz{z{zy|z{z{{z{z{zzz{zz|{{z{{{z{zzzyzy{{{{{z{{{{zzzzz{{{{{zzz{zzzzyzyyz{z{{{{{zzzzz{zz{z{{||{yyzz{{|z|z{{zz{{{zzzzz{{{{|z{|||zz{{zzz{z{{{{{{{{y{zzzzz{{z{zz{{zzz{{z{zz{|{||{{{{z{{{zzzz|{|{|{{{{{{{zz{|z{{{{{zzzz{{{z{{|{{||}{z{{{z{|{{{||{|{zz{{{yz{|||||{|{|z{{{zzz||{{|}||{{{zzzz{{|{|{|||||{{z|{|{}{|}{|{{{{{z|{{{{{||{|{{z{z{z{zz{{||{||{{{|z{{{{{{|{{||{z{z{z{{{{{{|{||{{{{{{z{z{{{{||{{{|{z{{|||||||{{z{{{zzz{{z|{|z||zzyzzzz{{{z{{{|{{{zzzzz{z{{{|z|{|zzzzzzzz{|{zz{|{{zzzzzz{{{|{{{{{zzzz{zz{|z{{{z{zz{yzzz{{z|{{{{{{zzz{yzz{z{zz{{{zzzz{z{zz{{yz{z{{{zzz{zz{{z|{|{{{{{zzzzzzz{|{z|{{zzz{zzzyzzz{{{{{z{z{yzzz{{{|{z{zyzzz{{z{zz{{{|{|zzzzz{z{{{{z{||zzz{zz{z{z{zz{{{zz{z{{zz|{|{z||{zz{{{{{{{{{{{|||{z{z{z{{|||{{||z{{z{{{{}y{{z{|{{|{{{{zz{{{||{{{|y{{{{{{{||z|||||{{{{|{z{{}}|{{|{|z{{{{|{|||{|||||z||{{z|||{{{}|||{z{{|{{{|{|{|||{{z}zzz{{||||{|||{{z|{{|{{|z{{}{z{{z|{z{{|{z||{|{{zzzz{{z|||{|||||{|{{{z{|||{{}{{{{zzz{{{{|{|{y|{zzzzzzzzz{z{{{{zz{yzzzzz{{{{|{|{zzy{y{{{{{{|{{{{zzzz{{{{z{{{{|{{{{y{yyz|{|{{|{{zzzzzz{zz{z{z{{{zz{zyzzz{{{zz{{zz{zzz{yzzzz{{{|{zzzzzyzz{z{{{{{{zy{yyzzzz{{zzz{|zzzyz{z{{{{{|{|{zzzzyzzyzz{z{zz{{zzzz{zzy{z{y|{{zz{zzzzzzzz{{{||{z{z{zyz{{{{{z||{zzzzz{z|{{|{{z{{z{zz{zz{z{{{||{{z{z{zzzz{{{{{z{{{{zzzyz{{{|{{{{{{z{zz{{{{{z{|{{{{z{|zzz{|{|{|{{z{{z{z{z{|{{|{{|{{{z{{z{{{{{|||{|{{z{{{y|{||{|||{{{{zz{{z|z|{|}{|{z{z{{{{||||{||{{|z|{{|||{{{{{|{z{{{{|z{{{||{}||zz{z{|{{|z}{{{{{{{z{{{{{{{|||{|z{z{zz|zz|{|{||{{z{z{z{z{{}{|{{{{yzz{zzzz{{{z||{z{z{zzzz{z|{{{|{{{zz{z{y{zzz|{{{{{|zzzzzzz{|{{{|{{{zyz{zzz{|{|z|y{zyzz{z{z{{z{{z{z{zzzyz{z{{yyz{zy{zz{yyzzz{z{{|zyzyzyz{z{{{|z{{{zzzyzzzzz{{{{z{{zzzyzzy{z{zz{{{{zz{zzzyz{{{z{{zzzyzz{zzz{zz{|{{zzz{yzzyz{{zz|{{|zz{{z{z{{{{{|{|z{zz{{{z{y|{z{{{{z{{zy{y{{{{{{z{{z{z{{{z{|{||{|{{{{y{zyz{{{z{z|{{z{zzz{z{{{z{{|{{z{z{zzz{{{|||||z{{z|{z{||||{|}|{z{{zz{{{|{|{{}{{zz{{z{{|{||{|||zz{zz{{{{|||{|{|{{z|zz{{{{{||||{{|{{{zz{|{|{{|{|}{z{{zz{{{||{{|||z{z|{z{||{|}{{|z{zz{{{{{{{|{{{||{{zzzz{{{{|{{{{|{{z{{{{{{|{{{z{{y{yz{{zz{{{{{|{{zz{zzzz{{{|zz{|{{zyzzzy{z{{{{||zy{zzz{zz{{{{|{{z{z{zzzzzy{{{{{|y{yy{zzyz{z{z|{{{zz{y{zz{{{zz{|{z{zzyzyzz{{zyz{{zyyzzyzzzzz{{|z{zzzzz{yzzz|zz{{{{{zzz{zz{{z{{z{|zzzyzyzyz{{zz{{{zzzzyzzzyzy|{{{{yzzzzzzy{{z{z{{{{zzz{yz{z|{{{{{{{y{{zzzzz{{zz{||{zzz{zzy{{{{|z{{zz{z{zzz{{{{{{{zzzzzz{yz{{||{{{{{zz{zzzzz{{z{{z|{z{{{z{|{||{{{||zzz{z{{{{{{}|{}{{y{|{z{{{|{{{{}||zzzz{{z{|{{{{|{{zz{z{{||{{|{|||{{{{{{z{||{{z|}|{z{{{z{z{{{|{{{{|{{{z{{{{{{{{{{|{{zz{z{{{{{z{{{|z{{{{z{z{{{{{{|{{{{zzzz{{|{|{{{|zz{{{{z{{{{z{{{{zzzzzz|z{z|{{|{{{zz{yzzzz|z{z{{{{yzyzzzz{{{{z||{{{z{zzz{{{{{{zz|zzz{zyzzz{||{{{{{z{zz{{zz{{{z|{{zz{zy{yzz{{{z{{z{zzyzzzzzz{{|z{zzzzzzzzyz{{z{{|{{zyzyzzzz{{|{{{{zzzzzzzzz{{z{z{{zzzzzzzzzzzzzzz{zzzyyzzzz{z{z{z{zz{{zzzyz{{{{{|z{zzz{zyy{{z{z{z}zz{zzzzz{{{{{|z{{zzzzzzz{{{{{{{|zz{{{{zz{{{{{|z{{z{{z{zz{{{{{z|z{zyzz{z{{{{{|{{z{{{{{{{z{{{|||{{zzz{z{{{{{{{{|{{zzz{{zz{{||{|{|{{z{{z{z{{|{{|{|{z{{{{|z|{{|z{}|{|z{{{{z{{}|||||{|z{|{z{{{||{{{||{{{{z{{{{{z|{||{|{{{{z{{{{{|{{{|{{{z{{zz}{{{{{|{{{{zz{z{{{{{{z{{{{zz{zzz{|||{{{{zzzzzzzzz{{{|{{{zzzy{zzyz{{{{{{}z{zzzzzz{{zz|{|z{z{{zzyz{{{|z{|{z{zzz{{zz{{{y{z{zzzz{zzy{z||z{{{zzzzzyzz{{zzzzz{zzyzz{zzzz{{z{|zzyzzyzzy{{{zzz{zzzz{zzzz{{{z{{{{zzzzyyzzz{{zz{{z{yzz{zzxzzzz{zzz{zzz{zzzzzz{z{|{y{zzz{yz{z{{{|{zzz{z{yz{zz|z{|z|zz{zyz{{z{z{{|z{zzzzzzzz{{{|{|{|z{{z{z{zz|{z{{{{zzzzz{zz{{{{{||{{{z{z{zz{{{{{|{{{{z{zz|{{{||{{|{zzzzzzz{{{{|{{|||y{z{zzzz|{{{|{|zz{z{{z{|||{{||{{z|z|{z{||{{|{{|{z{{z{z{{|{{|{||{z{|z{|||{|}{z{{{zyzz{zz|{|{{|{}{{{{zz{y|{||{|{{{{{zzzz{{{z|{||{{{zzy{{{{}z|{{{{{{|{{z{z{|||||{zz{z{zz{zy{zz{{{|{zzzzyz{{|{{{z{{{{yzzzzz{zzzz{|zyzzyz{zy|{zzzz{{{z{zzy{zzz{{{z{{zzzzzyzzzzzz{z{z{{zyzyz{zz{z{{{zz{z{zzz{{zz{z{{zzzzzzzzy{z{{z{{{zzzzzzyz{{zz{|{zzzzzyyzz{z|{z{{{zyyzzyzyzz{zzyz{yzzzyyzzzzy{z{z{yyzzz{{zz{z{{{{{z{yzzzzzz{z|{{|{zzzzzzyz{{z{{z{{zyyzyzzzz{{z{|{{zzz{z{y{{{|{z{|zzzzz{zz{{z{{{z{z{zz{{zz{{{{z{{|{z{z{yzy{{{{{{{{{{{z{zz|z||{{z{|{{z{z{z{z{{|z{|{{{{{{{z{z{{{|{{|{|{{zz{{{{|{{{||{{{{|z{{yz||{||}|}{zzz{{z{{{{{|{{|zy{{{z{{{{{{{||{zz{z{z{{zzz{{|{zyzzz{{|{{{zz}{{{zzzzz{z|{{z{{|{{{{zzz{z{|{{{{z{zzzzzzzzz|{z{{||z{{{z{zy{{{z{{{{{z{zzzzz{{{|{{{{zzzy{zzz{z|zz{{|zzyzzz{y{z{{{{{}zzz{zzzyz{{zz{{zzzzyzzzz{z{{z{{{{zzzyzzzzz|{z{z{zzz{zy{yyzzzz{zzzzzzz{zzz{{z{{zzzzzzz{zy{{zzz{|zzz{zzz{y{{z{{z{{{zyyzzzzzzzz{{{{{zzz{zzzz{{{z|{{{zzxzz{{{{{|z{{{zz{{yz{zz{zzz{{|zzzzzzz{{zz{||{{{{z{{zzz{{{{{|{zzz{{{zzz{{|{{|{{{{{{}z{z{|{{{{|{{{{{{z|z{{{{||{{zz{{zz{{|{{{||{|{{{z{zz{{||{{{{{{{{zzz{z{|||{||{{{z{z{||{z{|{||{|{{{{{z{|{{|{|{{|{{z{|{{||||{|}{{zz{|{z|{|{|{{{||zz{{{yz}{z||}|{{{|{{{{z{{|{{||{|z{zz{{z{{||{|{{{{{z|{z|{{|||{{{{zzz{{{y{zz{{|{{zzzzzz{z{||z{{{|zz{zz{{y{zzz|{{{{{{{{zzz{{|{{{{|{zzz{zzyzzz{{{{{{{z{y{zzz{{z{{{{{{zzzzzzz{zzz{{{{zzzyzzzz{y{z{z{zz{zzyzz{z{{{|zz{zyzz{yyz{{{{{{zzzzyzzzz|{z{{z{z{{{zzz{zzz{{zz{zz{zz{{{zz{{z{{{zzy{zz{zzz{y{||{{zyzz{zzz{{{{{{z|{y{zzz{z{{{z{{{{z{zyzzzy|{zz{{{|{z{zzz{z{|z{{||{{zzzzzzz{{{|{||{zzz{z{zz{|{{{||{|{z{z{{z||{|{||{z{{zz{{z{{||{{||{{|z{zzz|{{|{|{{|z{zz{|{}{{{{|}{{{|{{{{|{z{|||||{z{{{{|{||}{{}||{z{{{{|{{z|{{{{{|{{zz|{{{|||||{|{|{{{{y{|{{{||||z{{{z{yz{{||{{|z{{zz{{{{||}{{|||{{|z{z{|{|}|||zzzz{zzyzz{{|z|{z{zz{yzzzz|z{{z|{zzz{z{zzz|{|y{z{|zz{{zz{z{z{{|{{{{{zzzzzz{{z{{{{{{zzz{{{zz{zz{|z{{zzzzz{y{{{|z{{{{zzzz{zz{zzzz{z{zzzz{zzzz{{{z{{{zzzyzzzyzz{z{{{{zzzzz{zz{{{{{{|zzzzzzyzyyzzzy{{{{z{zzzzz{{z{z{{{zzzzz{zz{{z{z|{{{zzz{y{z{{|z{{|{zz{yzzz{z{{{z|{|z{{{zz{z{{z{z|||zz{zzz{z{z|{{{{{|z{zzzzz{{{{{{}{{zzz{zz{{{{|{|z{zz{{z{{{|{{|z|||z|{y|{{{{{||||||{z{{{zzz{|{||z|||z|{{{z{|||{||||{z{{z{|{{{{|||{}||{z{{{{z|||{|{{|z|zzz{{|{z{{|||{{{z{{{{{|{{||{{|{{z{{{z{|{{{||{{{zz{zz{{|{{z{{{{{{{zzzz{{||{}|{{{{zzz|z{||||{z{z{zzzzzz{{{{z{{{{{{zzzz{{{{{|{|{|{{yyz{z{{{{{z{|{z{z{zz{{{{{{zzzzzzzyyyz|{{{{{{{zzzzzy{{zz{{{||z{y{zyzzzz{{z{{{{{yzzzz{{zzy{{{z{zy{yzy{y{{zzy|{zzzzzyzz{{{z{|zzz{z{yyzzy{zzzz{{z{yzzzz{zz{{yz{z{{zyzzzzyz{yz{zz{zzzzzzzzzz{{{{{zz{{zzyzz{z{|{{{{{z{zzz{y{{{{z{|{{zyzzz{y{{|z{{|{{yzzy{zz{{{{{|{z{{zz|zy{{{||{|{{{zzzz{{z{|{{{{|{y{{{{zz|{{||||||{{{{{{{z{{{|{|{|{{z{zzz{{}|{|||{}|{{{z{{|||||{{|{{{{z||{z|{|||{{{|z{|{{{{|||{||}|{{{{|{|{||{{|{|{z{{{{{{{{|{|||||{z{|{{{{|{{{{{|{zzz{{{{{z{{{||{{{{{zzzzz{{|{z{|{{|zz{{{{}|}}{{{z{z{zy{zz{{{{{z{zz{zzzzz{z{zz{{{z{zz{{{y|z{{{{{z{zzzx{z{{{{z{{z{{zzyzzzz{zz{{{z|{{zzy{zyz{|{z{{z{zzzzz{z|z{zz{{zz{zz{zzy{{{zz{z{zzzz{yzyzz{z{z{zzzzzzyyzz{zz{{{zzyzzy|yzz{z{{|{{{yyzy{zzzz{zz{{{zzyzzzyzz|zz{|z{{yyzzzzz{zz{zz|z{zzzzzzz{{{|z{{{{zyzzz{z{z{{z{{|{zzzzzzzz{|{{|{{zzzzz{{{{z{|z||{{z{zzy{z{{{{{{||zyz{z{z{{{{z{{|{{{zz{{{z{{{{{}{|{{z{zzz{{{{{{{{|z{{{{{zy||{{{{|{|z|{{y{{{{|{{||{{{{{z{{{|{{{{{}||{{{z{zz|{||{{|{{zz{{{{{|{|||{{{{zz{{z{z{{{|{{|{{z{{{{{z{|{{||||zzyz{{zz{zz{|{{{z{{{zzzy{{{{|{|{z{|z{y{{||}}}z{{zzzzz{z{{{|z{{{z{zzz{zyz{z{{{{{|zz{zyzzz|{{{|z{z{{{z{yzzzz{|z{|{{{zzzzzz{{|{{{{{zzzzz{zy{zz{{|{z{{{yzzz{{y{{y{{{y{zzyzzzzz|{{z{{zyzzzz{z{{zzz|z{zzzzzyz{{{z{{|{{yzzzyzzyz{z{z{{{{z{zyzzzyz{z{{{zz{z{yzzyz{{z{{z{z{yy{{zz{{{|{z|{{z{{zyzz{z{z{{z{z{{zzzzz||z{z|{{{y|{zzzzz{|{z{{{{{{zzzzzz{{|{{{||{z{{{{yzz{{z||z{{z{{{z{{zz{{{{z|zz{{{z{{z|||{|{{{zzz{{{{{{{{|{|{z{{{zz{{|{{|}}{|{{{{z{{||{{{||||z{z|{{{z{{|{{{||{{{{{|z{}|{|||||z|{{z{{||{||{||{z{{{{{{|{z{|||||{{z{{{{{|||||||{zzz{z{z{z{{|{|{{z{z{{{zz|{{|{{{{{{zzz{{z|{~~|{{{zz{{zzy{{z{|zzzzzz{{yz{{{|{z{{{{{{zyyzz{{{{{{|{{{zz{z{{||{{{z{{{{{z{{{z{{{{z{{|{{{{zz{z|{z{{{{|{{z{zzzyz{{z{{{{zzzyzzyz{{{{z{{{zyzzzzzz{{|{z{|{{{zyyzz{z{{z|{|{zzzzyzzzzzz{{{{{{zzyzzzz{zzz{{{zzzyyzzzz{{z{{|{{{zz{zzyy{{{{{||||zz{{zzz{{{z{{||{{zzzz{z||{{{{|{z{z{z{{z{z{|z{{{{zzzz{zz{{{{||z{{{z{z{{{|{|{z|{|zz{{{{{z{|{{zz|{{{{{{|{z{||{|{|{zzz{{|{{|{{{{z|||zz|{zz{{|{{{||{|z{{{z{{|{|{{||||{{{|{{{|{|{|||||{{{{{{{{}{{|{{||{{|{{{|||{{|||{{{{z{{{z{{|{||||{{||{{z{{|{{||||{{z{z{{{{{|||{{{z{z{zz{{z||||{{{{{{|{z{z{}~|}|zzzzzzzzzzz{z{{|||{z{zzzzz{z||{z{|z{zzyzzz{{{z{{||{zzzzzz{z|{{zz{z{z{yyzzzz{z{z{{{{{{zy{{z{|{{{{{{zy{zzzzzz{{{z{z{zzzzzzzz{zz|{{{{z{zyzzzy{z{zz{|{zzy{zyyzz{zz{z{{{{{zyzzz{{{{zz||z{zzzyzzz{zzz{z{{zzyz{z{{z{zz{|{zzz{{zy{z{z{{{|{{z{{{y{y{{{z{z{{zz|zzzz{z{zz{{|{{zzzzzzz{|{{z{||{{{{zz{zz{|{{{{{{z{z{{yz|||z{{||{{z{z{{{||{{{{{|{{{{|z{{||{||{{|z{{{{zz{{|{{{{|{{zz{zz{z{|{{|{|z{{{{|{{{{{|{{||z{|{{z{{z|{{|{|||}z{z{{{{{{{||{{|{{{{{{|z{||||||{|z{zzy{|{z{{{{{|{{{{{z{|{{{||{z|{z{zz{zz{{{{{{{{{{z{zz{z{{z|{{{||z{{|z{z|{|}~|{{zzzz|zzz||{|z|z|zzzz{zzzyz|{{{{|z{zzzyzyzz{z{{|{z{zzz{zz{{{zz{{{zzzyyzzzz{|{{{{|zzzyzzzzz{{zz|{zzzzz{zzz{z{z{{{{{y{yyzyz{{{|z{z{zzzzzzyzzz{{z{|z{z{{zzyzy{{{{zz{zzyzzzzyy{{z{{{{zzzyyz{yy{z{z{z{zyz{zzzzy{zz{{|{zzzzzzzzzzzz{z{{{zzyzzzyy|z|z{{{zz{yzzzz{z{|z{{{zzz{z{zzz{{|{z{{z{z{zzzzz{z{z|z{{{zzy{zz{{|{{{{{{z{zzz{y{{{|z{{{{z{zz{{z{{|{{{||{{z{{{{{{{{|{|{{{z{z{{zz{{||{|||{|{{z{{z{|z{|||{|z{{z{||{}|{||||{{{{z{z{{|{{||||{{{z{{{||{||{|{|{zz{{{{{{{{||{{{zz{z|{z{{{|{{||{z|zz{{zzz}|{{{||{zz{{{zz{|{|{||{{{|z{z{{|||{|{{{z{yzz{{zz{{zz{{|zzzz{yzzz{{{z{||{z{zzyzzz{z{{|{{yzzzyzyz{{|{z{|{{zzzz{zy{{{{z{{|zzzyz{zy|{z{z{|{zz{zyzzzz{{z{|{|z{zzzzzz{z{{{{{{{yzzyz{zzz{{{zz|{z{z{zyy{zz{{{z{z{zzyyz{{{{{{{{|zzzzyzyy{z{zz{{{yzz{z{zzz{zzz{{zzzzzy{zy{{{{{{|{{zy{{{xzz{{{z{z{zzzyzzzz{{{{z{{zzz{z{{{zz{{{|{{{{z{{zy{{z{{|{|{{{{zzzzyz{|{{{{|z{z{{{{yz{||{{{{{{|yz{{{z{{||{{|{z{z{z{{{{{{||||||{z{zz{z{{{|{z|{|{{z{|{|{|{{||}{{|{{z{{{{|{|{|{|{z{z{{{{z}{{{|||{z{{{yzz{{||||{{{{zzz{{{{{|{||}{{{{z|zy{|{|{z{{}{{{{z{{{{|{{{z{{{|{{z{zz{|{|z{{{zz{z{z{z{||||{{{{zzyzz{y{{{zz{|{{zzyzz{zz{{{{z||z{zz{zz{z{{z{{|{{z{z|zyyzz{|{{{{{z{z{{zzz|{{{{{|z{zyz{zy{z{z{{{{{yzzzyyz{{z{z{|{zzz{{yzzzz{{{z{{{zzyxzzzz{{|{||{{zzzyzzyz|{{{{|{zz{zzz{yz|zz{{{{zz{zzzyy{{zzz{z{z{{yzzzzz{{{{{{{z{{{zzzzz|{{zz{{{{z{{z{{z{{z{z{{{yzzzy{{{{z{{z|{{z{z{y{z{{|{{{{|{{{z{{{z{||{{|{{z{{zz{y{|{{{{z|{{{{{{{zz|{||{|{{{z{{|{{{{||||{|{{z}{z{{z{{z|{|||{{{|{zzz|{{|||||z{{{|{{{|{{||||}{{{zz{{|{|{{{||{|{{|z{z{{}|}||}||z|z{|{|{z||{||{{{{{|{z{{{{|{{||{zy{|{{{z{{{|{||{{{zz{zz{{{{|{|{{{{{zy|{{|{|{{{{{z{z{z{z|}||}z{zy{zzzz{z{{z{{z{|{zzz{zzz{z{{{{||{zzzzzy{|{zz{{{{|zzzzzzzz{|z{z{{|zzzzz{z{{{|z{{{zyzz{|{zz{{yzz{{{zzzzyzz{{{{z{{zzz{zz{zz{{z{z{{{zyzzyyzzzz{{{z{{zzzzyzzz{{|{{{{{z{{zzyzzz{zzz{{{zzzzzyzzyzzz{|zz{zzzzyzzy{z{z{|{zz{yz{{zzzzzzz{{z{zz{zzzz{{{z{{|{zz{zz{z{{{{{z{zzz{z{zz{|{{{{|{{zzz{z{{zz|{||}|{{{{z{zzz|{{{{{|{{z{{{zzz{{|z{{{{{zz{{|{z|{{{|||{{z{z{{{z{}z|{||||{{{z{z{|{{|{}{{|{zz{{zz|||{|||z|{{|{{|||{|{|||{|{{{{|{|{{}{{}{}|{{{{z{{z||{{||{{zz{{zz{{||{{{|{{{{{zzz{{{{|||{{{yz{zz{z{{{{z||{zzzzz{zz||||{{|zz{{{{z|z|{|}}|z{zzzz|zzzzz{{{{|{{zz{z{zz||z|{{|}zyzzz{zzz{{z{{{{|y{zz{{yzz{{{z||z{zzz{zz{{zzz{|{{|{{zzzyz{|{{{{{{z{zzyyzz{{z{{z{z{zyyzzzyzzzyz{z{zzzzzz{{{{zz{zyzz{zzzyz{{zz{{{{{zzyzzzy{{{{{{z{{zyyzyzzy{yzzz{{{zzyzzzz|z{{{{{{z{{zyzz{z{yz{{{{{{zzzz{zz{zzzz{{zzyzzy{z{{zz{{{{z{zzzzzz{{{{{{{{zz{z|zz{{|z{{|||{{{{{{{{{z{{{{|{zz{{zzzz{{{|{|{z{zzzz{{z{{||{{|{z{|z{{|{{{z|{|z{{|{|zzzy{{||{{{{{z{{{{{{z{|{{{|}z|zzyz{{|{|{|{|{z{{{{{z|z{{|{{{||{|{zz|z{z{|{|||{{{zz{{{|{{z{{{|{{zz{{z{|{{{{|||{{zzzzz|z|{{{{|{{z{{{zzzz{{|{{{{zz{z{{{{|{|||y{z{zzzz{zz{{|{z{{{{zzyz{{z{{{{z{{{|yzzz{{z{{{{{z{{zz{z{{{{zz{z{{{{{z{z{{zy{{{{{{z{{zzzzzzyzz|z{{{{zzzzzzzzzz{z{|zzy{zzzz{yz{|z|zz{yzzyzzyy{{z{zz{z{yzzz{zy{{{z{z{z{zzzyz{{y{{{z{{{zzzzzy{yzz{z|zz|{zzyzzzzy{{z{{{{yyzy{zzzz{|{{{|{zzyzzz{{{z{z{|{{z{zzzyz{z{{z{{{|{{zzzz{{{z{|{|{|{{z{zzzz{{{{{{|z{{zzzyz{{|{{z|{{{{{zzzz|{|{{|{|{{zz{{{zz{{{|{{{|z{{zzz|z||z|{|{{|{{z{z{z{|{{|{{{|{{{{{{{||{||{|{{|{yz{{z{|{|{{z{|{|{{{|{{|z{|{|{{z||{zz{{{||{{{|{{z{{{zz{|{{||||{{z{zzz{{|{{{||{{{{zzzz{z{{{{|||{z{zzzzzz|{{{||{z|zzy{zy{|||{|{{yz{zzzzzz{{zz{{zzzzz{y{y{z{z{|||{zzzz{zz{{{{{{|{{zzzyzzz{z{|{z|{|{{zyzzzz{{{|{{{zyzzzzzy{{z{z|{{zz{y{yzzzy{{|{{{{{zyyz{{zz{{{{{{{zzyzz{zz{z{z|z{{zz{z{y{{z{{{z{{zzzyz{zyzzzz{{{{z{{zzzzzz{{z{{z{zyzz{zzyz{z{{{z{{z{zz{zyz{{zz{z|{zyz{zz|z{{z{{{|zxzz{z{{z|{{||{{{{{zzz{z{{{||{{{zzzzz{zz{{{{{|{{z{zzzzz{{{||{{{{{zz{zzzz||{{{{{{{{{|{{z{|||{{{{{z{{z{{{{{{{|{|}||{|zz{z{{||{}||||{z{{{{{{||{{|||{{{{{{z|{{{{||}{|{z{{z|{{|{||{||{{z|{{{|||{{|||{{{{{{{{{||{{||||{{{z|{z{{|{{|{{|{{{z{z{z{}{{{|}|{{z{zz{z{||{{{|{{z|z{zz{|||{{{{zzzz{zyzzz{{{{{{|z{z{zzyy{{z{{z{|y{zzzzzzz{{{|zzz{|{{zzzzz{z{z{{zz{zzzzyzzy{{{{z{z{{{zzzz{{z{{{{zzzzzz{zzz{zz{z{{{zzzyzzz{zzzzyz{zyzzzyzzz{{{z{{y{zzzyyyy{{{z{z{z{zzzzz{zz{{{zzz{zzzzzyzzz{{{zz{{zzzyzzzzy{zzz{{{zzzzzzyzz{{{{{{{zzzzzyz{z{z|z{{|{zzzyzzzz{zz{{{|z{{zz{zz{{{zz{{{{y{z{z{zz{z{{|{z{z{y{zzy{{|{z|||zz{{z{zz{z{{{z{{{{{{{zz{{z{{{{||{{zz{z{z{|{{{|||{{{{zzzz|{{{{{||z{{{{{{{{{|{{{||zz{{|{{{{{||{{|{{{{|{|{{{||{{{{||z||{{{z||{{{{||{zz{z{z{{{{{}||{{{zzz{{z{{{{{{z|{{{z{{{{{||{z{|||{z{{{z{|{{{{||zzz{z{{y{z{{|{|||{{{zz{{z|{|{zz{{{zzz{zzz{{{z{{{||{{{yz{{{{|z|{{{zzzz{zz{{||{z|{z{{{{z{{{{{|z{|||{zzz{zzz|{|{{z{{{z{{z{zz{{{{{{|{z{z{|{y{{{{{|{{|z{z{zzzzzz|{z{{|{zz{yz{z{{|{{z|{{zzzz{zzz|{{{{{{zz{{{zzz|{z{{{{{zzzzz{zzzz{{{{z{{y|{z{{yyz{{||{{{{zz{y{z{{{{{{{{{{{{z{z{|{{|{||{z{{{{zz{{{{{|{|{{z{{z{{z{{||}|{{|{z{{{{{{{{|{{{||{{{{z||{{||||{{{z{|z{{z{||||{||{||{|{{{|||{||}}{{{{{{z{}{{||||{|{||{|{{|{|||}|}{{|{{|||{||||||||z|{z{{{{}{{|{}|{{{{|{{z||}{|}|{|z|{{{{{||{{|||}||z|||{|||||{||~{{{{{{{{{}{|{||||{|{z{{{{{|||||{|{{{{{|{{{|}|{|{zzzz{z{{z{|{{z{{{{{z{{{zz{|{z|{{|{zzzy{z{{{{{{{{|zzz{{z{z{{{{z{{{{z{zz{z{{{z{{{|zzzzz{zyz{{{{z|||zz{zyzz{{{z{{{|{{zzz{zyzzz{{{||zzzz{z{z{z{|{z{{{zz{zzz|{{{|{{{{zzzzzzzz|{{{{{z{{zy{zzzzz{{{{{z{{zzzzzzzzz{zz|{|z{{zz{zz{{z{{{{|{{zzzz{z{{{{{{{|{{zzz{{{{{||{{{|{{z{{{{{{z{{|z{|{{{z{z{z|z{{{|{{{{|z{z{{{{{|{{|{{z|{{{zz{||{|{||{{{z{{{{|{||||||z{{{z{{{}}{{{||{z{{{{z{{|}|{|||||{{{{{{{||{||||}{z{z{}|{{||{|||||{{|{{z||}~~|||||y{|{{{{|||||||||zz{{z{|{{{|{||}{{{||{z{{{{{||||{{{z{z{{z||}||}|{{{{{{z{||{{||{{{z{{{{|z{{{{{{||zz{{zzzzz{{|{{{|{{z||z{z{z{|{{|{{{{{zzzz{z{||||||{{z{z{{{|{|z{|{{{zz{{{z{{{{{{{{{z{{z{{z{{{||{{{{{{{{zz{{{{{z{{{{z{z{yzz{{{{{||{zzzz{{z{z{{{{|}|zz{zzzz{{z|z|z|{z{{{{zzz{{{{|z{|zzzzzy{z{{{{{||{{{{zz{z{{|{{{|{zz{z{{{zz{{{{{|{{|z{z{{z{{|||z|z{{{{|{z{{||{|||||||{z{zz{{||{z|{|{{{{{{{{||{{{|{{|z{{z{{{z|{|{|||{{z|{{{|{{||{||{z{{{{{{{||{||}{}{|{{{{{{{||||{||{z|{|{{{||{}|{||{{z{{{{{||{|}||}{||{|{|{{z{{}||||{{{{{|{|}||{}}|{{{{|{{{{||||}}|{{z{|{{{|||z|||}|{{|{{z{{|{||}}}z|{{{{{{|}{{|||||{{{{z{{|{||{{||{|{{{z{{{|||||{|{|z{{z{{z|{{z{{{{zzz{z{zz{{||||}{z{z{{{{{{{{{|{|{zz{zz{{{{{{|{}{{{{z{z{z{|||{{||{z{{{{{z{{{{{{{zz{{{z{{y{{|{{{{|{zzz{zz{{{{{{{{{zz{{{zzz{{{{z||{zz{zyz{zz{{||{z|z{|zzyzz{{{{z{||zz{zzz{yz{{|z{{{{zzzz{zzz|{z{{{{{y{{z{zz{z{{|{{{{{{{zz{z{{{||{{{{z{{{y{{{{z{{|}|{z{|{y{{{|{|{|z|{z{{{{{{{{{{|{z{|{zz|z{z|{|{|{|{{{z{{{{{{}||{{{{|{{{{{z{|{||}}|}z{{z{{|{{|{|{||||{{{{{{{|{||}|{|zz{{|{{z{|||{{||{{|{||{|||{|}}|||{|{|{{|{}|||{||}{{{|{{{|{{|{}|||{{{z|{{||{||{|}|{|{{{|{|||||||{z{z{{{{||||}|{||{{{zz|{zz|{||||{||{{|{{z|||{|{z|{{{{{zzz{{{{{|{{z{{{zz{{}|{z|}|||zz{{{z{{{{z|||{{{{z{{{z{|||{z||{{{z{zzz{{|{}||||zz{zzzz{{{{{|{{|z{{{{{zz{{{z{{{z{zz{z{{{z{{{|{{{zz{{z{z{{|z{{||{{zzz{{{{{{||{|{{z{{{z{z{z{{|{||{zz{{z{zz{{z{{{|{zzz{{{{z|{||{|{{z|{{{{{|{{{{|{{{{{z{{{{z||{{|{{z{|{{{{z{{z{{{}{z{{z{{zz{{||{{||{{{{{zzz{{||||{||{|zz{{z{||{{{|{||{||{{z|{|||}{{}{{{{{z|{|||}{||{{{{{|{||||}|{|||{{{|{{|||{|}|||{z{{{{{z|}|{{|}||{{{{|||z|||}|||}{{{||{z{~|||}}}|||{|||{||||{{|||{{||||{{|{|}||||z|||{{z}{||{{||{|{{{{{{{{|{{}}|||{|{{{{{||}||||{|{zz{{z{||{{|{{|{{{{z{z|z|z{{|{|{|{z|{z{{|{{||{{{z{z{zzz{{|{|||{z{{{{z{{{{|{{||z{{zz{{z{{z|{|{|{{z{zzz{z{{{{{||{{{z{zzz|{{z|{{{{z{zzzz{{{{{{{{|{{z{zzzz{||{{z{{{z{{z{z{z{{z{{{|{{zzz{zz{{{{{{||zzz{{{zzz{{{||{z{zzzzzzzz|{{{|{|{{{zz{zz{{{{{{||z{z{|y{z{|{{{z}|z|z{zzz{{z{{{||{{z|{|{z|{||{{||||{{{|{{z{{{|||}|{z{z{{{{{{}|{||||{{{|{{{||{{|||{{|{{{{{{||{}|}|}{{|{|{|{|||||{{||{{|{{{{||}||}|{|{{z{{|||||{{}|||{|{|{|{{||||}||}|{{{{||{||{|}||}{{{{{|{||{}|}|}}{{{{{{}{{{|||}|{{{{|{|{|||}||{||{{{||{{{}|||||{{{||{{{|{{|}|||}{{z{z{|z{||{|||{{zz{|z{||z|{{{{}z{z{{{{z{|{{|{{{{z{{z{zz{|{z|{|||{{{{{{{{|z|{||{{{{{{{z|{|{{{{{}{{{{{z{zz{{{{|||{{{{z{{z{|||{|{|{z{zz{zz{{{{{{{{zzzzyz{z|{{{{|{|z{{{{zzz{{|{{{z{{z{{z{zzz|z{{{{|z{{{|{zzz{{{z|{|{|z{{zzzy{zz|{|{z{{z{{{{zz{z{{{|z{{z|z{z{|{{{|||{{|{|z{{{z{|||||{z{{{z{{{{||||{{z{|z{{{{{|||{{|{{{||z{{z||||||}|{zz{{|{z{|||{||||{{{|{{{{|||}||{|{|{{{{||{||{}|{|{{{z{{{{||||||}|{{{{{|{}}{{|||}||{{{{|||||||}|||{z|{|{||}||}|{|||||{||||}||}}||{{{{|{||{||}}{}}|{||{{{{||||||}|{|{{{{{{{||||}}||{{{z{{z{{{|{}||}{{{{z{|{||}}{{{{{{z{|{zz||{||}|{{{{|y{{{|||{||{{{{{zz{{{{{{{|{|{{{{{z{{{|{|{{||{{zzzz{{{|{{||||z{z{zz{y{{z{{|}|{{z{{{{{{{|z{{{|zz{{{{{{|{z|{|{{z|{z{zyzz{z{{{|{{{{{zzzzz{||{{{{{{{zzzz{{|z{{{{|zzz{zzz{z{{z{{{{{zzzzyzzz{{{z|{}z{{{zz{{z{{{{{||{{{{zz{z{{{{|{{||{{{{zz{{{|z{|z|{z{{zz{{{{{|{|||{|{{z{{{{|{|{{{|{z{{{{{{}{}|{{||{z{z{z{z{{|z{{|{{{{{{{{{{|||||{}{{|{{{|||||||}{||z{|{{{z|{||||}|{{{{{zz{||||}|}|{{|{{{|{{|{|}|||}{{z{|{{||{||}{}{{||{z{{{{||{}|||{z{{{{{|{{}||{|||{{{{{{||{|}|}}{z{z{{z{{||||||}|{{{{z{{z|||}|}|{{|{{y{{|||}||{|{zzzzzzz{{{zz{{|z{z{zz{z{|||{{||{z{zz{{y{{z{|{{{{zzzzy|{|{|{{||{{{{zzz{z{{{{{{{{z{{{{{{{{|{{{||{{z{zz{zz{z{{{{z{{{zz{{z{{{zz{{{|zzz{zzzz{{{{|{{{{{{zz{zzz{z{{||{{z{zz{{{z{y{z{{|{zzzz{zz{{{{{{{{{zzzzzz|z{{|{{{{{z{z|z{y{{|{|{|{{{zyyz{z{{{{||{{{{{{zz{{{||{|{{||z{{{{zz{{|{{{{|{{{{zz{zz|z{{|{|zz{{{{{{{|||z{|{{{{z|{{{{{{{|z|||{z{{{{{{|||{{||{{z{z{|z|||||{|{{{z|{z{{||}{|||{|{{{|{z|{|{{|{|}||||z|{{{|{{|||||{|{{|{{|}||||}|||||{{|{{|{{}}}{||z{{{{|||{{{}|||{{{{z{{||}{||{}{{|{{{{|{{||}{|{{{zzz{{z{}|||||{|{{{z{|{|{||{{{{{{y{{{{{{||{|{{{{{{{{z{z{|{|||||{{{{z{{z|{|{}{|{{z{z{zzz|{{|z{{|zyz|{zzz{z|{{|{{{z{|z{{z{{|{{z{||y{zz{zz{zzzz{{{{zyzz{{{{{{|{{z{z{zz{{{z{{{{|z{{{{zzz{z{{|{{|{|{zz{zzzzzz{{{{{|{zzzz{z{zz{{{{|{{{{zz{z{{{|zzz||{z{{{{zzz{{{{|{|{{zz{{z{z{||{z|||{z{z{}{{z{{{{|||z{{z{{zz{||||{{{{|{z{z{{z|{|{|z{{{{{{{z{{|{{{|{|{{z{{{{{{||{{~|{{z{{{{z|{|{||{||{{|{{z|{{|||||||{{{|{{|{|}}{|{||{{{{|z|{|{|{}{}|{{|zz|}|||||||{||z{{{z|{||||||||{z}{{{{{|{||{}|||{|{{{{{{|||}||}{|{||{{{|{}{||{|{{||{{|{|{||{{||{{{{{{{{|||{{||||zz{z{{{|z|}|}{{{|zzzz{{y{{z|{|{{zzzz{z{{z{z{|{{zz{yz|z{{z{{|{{{{{zzzz{zz{{|z{{{|{{zy{zz{{{{{|{{{z{{zy{z{{z{{{|{{z{z{{{z{z|{{{{{{{zzy{yz{{{{z|{zzz{{zzzzz|z|{{{yzzzzz{{z{{|{{{||{z{{zzz{z{{|{{{{z{z{zyzzzz{z{z{z{{zz{zz{z{{{{|{{{{z|z{{yz|{{z{|{z|zzz{{zz|{{{{||z|{{{z{z{|{{{{|{z{|{{{{{{{{{z|{|{{{z{z{{z|{|{{{{|{zzz{{z||{|{{}{{{{{{z{z{}{{{{{{|{{z{zzz{||{{|||y{}{{{{|{|||{|||{{{{{{{|{|||}|{{|{|{z|{|}{|{|||||{{{{z{|{{|{||{~|{{|z{}{{|}{||{||{|{|{{|{{|}{||{{z{|{{{{|{{||{||{|{|{{{{||{}|{||{}{{{{||{{||||||{{{{{|{z{|{{|{||z{{zz{zz|||{||{{z{zzz{{zz{{z{{|{{{zzzzzy{z|{|{z{{z{{{zzz{{{|{||{{{zz{{zy{{|{{z{{{z{zzz{z{z{|{z{|{zzzzz{{z{z{{|{z{zzzzzz{{z{z{|{{z{zz{z{{z{{{{{{|zzyz{zz|{{{z|{{{yzz{{{zzz{z{{z|{{{z{z{{zzz{{{|{|z{{{zz{zz{{z{{z{{{{zzyz{y{{z{{||{z{{{{zz{z{|{{|{zzz{z{|z{|z{z{{}|{{{z{{zzz{{{{{|{{{{{{z{z{|{{{|{{z{{{z|{{{{{z||{{z{{{{zz{||||{|{{{|zyz{{{|{z{|{{{{{{|{{{{{||{|{|{{{{{{{{{{||||||{|z{{{{z|{||{||||{{{{{{z||||{|}|{{|z{{{{{|||}||||z{{{{{{{||{|}}|{z{||{z|||||||{|{{z{{{{z{||}{||{{{{{z{{{{{{{|||||||{z{{{{{{|||||{|{|{z{y{|{}|{|{{{{{{{z{|{|{|{{{zz{{{zy{{|{||{{{{{z{{z{z{z|||||{zzz{z{|{{{{|{{|{zzz{{zz{z|||{{{{{{{{y|{z{{z{z{{|{zz|{{{zz|z{{{|{{{{z{{{{{{{{{{|{{{{{{{{zz{|{{{{|y{{{{zzz{{{{{||{{y{{zz{zzz|z|||{{{z{{{{yz{|{{{||{z{zzzzzzz|{z{z{z{{{zzzz{|{{{|{{|z{zz{{z{{{{{{|{{z{zz{{z|{{{{|{|z{{z{zz{|z|||||||{zz{{z{z{z|z|||{{|z{zz{{{{{|}{{|{{{z{{z{z|{{{||{{{z|{{{}z|{{|{|{{{|z{{z|{}|{}{|{|{{{{{{{|||||}{|{{|{{z{|{{||{||{{{||{|{{||{}}|||||{||{{{|~{}}}||{{|{{{|{||||}|||||{z{{{||||{|{|||{{||{{||||{||||{{{|{{{|}|{|{|||{{{{zzz||{||||||{z|z{{{{}|||{||zz|{{{{{{|{{|{{|zzzzyz{z{{{z|{}|{z{{{z{{{z||{{{}{z{zz{{||z{z{{{{{{z|zzzz{{{}{|||{z{z{zzz{{{{{||{{{{z{z{z{{|{|||{|zz{zz{z{z|z{|{{{z{{z{{z{{{zzz{{{zz{{zz{z{zyzz||{z{zzzz{{{{{{{{|{y{{z{z{z{|{z{{{|zzz|zz{z{{{{z{{{z{{{zz{z{z{{{{|z{{{{{|z{y||{|{{{{zzzz{{{{{{{{|{zz{z|{|{{{{|{||{{{{{z{{{{{{||{|{z{{{zz{{{{|{|}{|z{{zzz{{{{|{|{||{{{{{{{{||{{{||{{z{{{{{{||{||{||{{|{z{{{{|||{|}{|z{{|z{{{||{|{{|||z||{{|{}|{|||}|{{|{||{{||||||||{{z||{|{}||}||||{{|{{{{|{{|{||{|z{{z{|{||||{{{||{zz|{{{{|||||||{{{{{{|{|{{|}{|||{{{{{{{{|{{z||{{{{{{{{{{{}{|{{|{{y{{z{z{{{{{{{|{{{{zzzz{|{{||{|{{{zz{{{|{{|{|||{y{{{{z{{{|{{|{||{zzy{{{{{{{|{{|{{{{{{{zz{||zz{{{{z{z{z{{z|zzz|{{{{{zz{z{zz{{{|{{zzz{z{z{z{{{|{{zzzzyzzz{{z|{{{{zy{zz{{zz{{{{{{{{zzz{zzz{{{z{{z{z{{z{{z{z{||{{|{{{|z{zz{||{|{{{|{{zz{zzz{{|{{{|{{{z{z{{{|{{||{||y{{{{{z{||z{{{{|{{{z{{{{z{|{{|{||{{z|{{{{{}|{{||{|||{{{{|{{{||||{|{zz|{|{|||||||||{{{{{{||{|{{|}|{|{{{}{||{||||{|{|{{|zz|||||||}{||{{{{|{|||||||}{|||{{{|~}|||{}|{|{{|{|{{{{{||||{z|{{{||{||{|}|||z{||{{||{}|{|}{|{zz{|z|{z||||||{{{{|{{||||z{|{||{zzz{{{||||{{z{zz{{zzz{{zz{{{{z{{{z{zy{{{{|}|z{{{zz{{{{|{|{|{{z{{{z{z{{{{{z||{{{{zz{{z{||{{{{|{z{{{z{z{{{z{{|{{zzz{zzz{{{|z{{{z{zz{zz{{{z{{{{|z{yz{{zz{{zz{{{{zz{yz{zy{y{{{{{{zz{yz{zzz{{{{z{{zz{zzzzz{z{yz{{{|zzzzyz{zzz{z|z|z{zz{z{{{{{{|{|z{{{{{{{z{{{{{{{{{{|zz{{z{{|||{{|{{{{{zzz{|{{{||{{z|{zzzz{|{{|{|{{||z{{|z{{{{||||{{{|{|{{||||z{||{{|{{{{{|{|||{{||{{{|{{{||z|||}}{|{|{|{z{||{{}||}{{{|{{|||{{}||||z|{{}|{|}|||}||{{z{{{{{{~||}|||{{{{||{{{|||||{|||{||{|{|{{|{|||{|z|{z{|||{||||}{{{{{{|{{{|||{{{{|{{z{|{||{||{|{{|{{zz{{{{}{{}{{{{{z{zzzz|{y{{}{{z{z{zzz{{{{||||z{zz{zzz{{{{||||{{zzzzz{z|{|y{{{|z{zyzz{{{z{{|{|{zzzzz{{{{{{{{|{{zzz{|{zzz|z{||{z{{zz{z{{z{{z||{zz{z{{{{z{{|{|{{{{zzyzz{zz{{{{||zzzzy{zzzz{{z{{{{zz{{{{y{{zz{{z{z{{z{z{z{{{{{{zzzz{{{{{{{{{{{{{||zyzz{zz{|{{{|{{{y{{zzz{||{{|{{||{{{{z{{{|{{{|{{{{z{{z{{{|{|{|{|{z{{{{zz{{||{|||{{{{|{{z{{z{{{{{{z{{{{{{{{{{{{{|{{{{{z{{|{||{{||{{{{{{z{{||||{}{||{{|{|{|}||{{|||{|{|{{{||||||||}{{{{|{{}}|||||{|zz{{{{{{|||{|{|{{{{{{{{|||{||}}{{z{{{{{||z{}{{||{{{{{|||{||||}|{{z{{{{{|{|}|{|{{{{z{{z|{{{{{|{|zz{zzz{{{{{{{{|{zz{{zzzz{z|{||{|{{|z{z{zzz{{||{||{z{|zzz|{|{{{||zzzz{zzy{{{{{{{|{y{{zzyzz{{{{{{{{z{zzzzzzz|{{{z{{{{zz{y{zz{{z|{|zz|yzzz{{{{|{{z{zzzz{zzz{||{{{|{{z{zz{{yz{{|{{|{{{zz{zzyz{{{{{|{{{zzzzzzz{{{{z|{{z{z{z|{{{{|{{{{{{{{z{{|{{{{{|||{z|y{z{{|{{{||||||{{{{z{{|{z{{{|z{|{{z{{{}{|z|||{z{zz{{{{|{|{{|{|{{{{{z|{|z{{{|{{{{z{{{{{|{|||||{{{{{|{{}|{||{||{zz{{{{{z||{||{{|{|z{{{|||{|{}}||{{{{|{{{}{||||{{{{|{|{{|||}|||}|{||||{||||}|||{{{z{|{{{|||{}}||}{|||z{{{|{|{|{||z|z{{{|{||{||{{{{{{zz{zz|{z||||{z|{{|{{|{||z|{{zz{z{{zz{{{{z{{{{|zz{zzz{{{z{|||{{zz{{{{{|{|{|||{{{|{{z{{{{|z{|{{{{zzzz{{{{|{{{|zz{|z|zz{{|{{}{{{z{{{zz{zz{{z{{{{z{{{{zz{{z{{{|{zzzzz{z{{{z{{{||zzz{zzz|{{|{{|{{{zzzzzyz{{|{zz{{{zzzzz{{{{{{z{|{zzzzz|zy{{z{z}{|{{{|z{{y{{{{{|{{|zzzz{{z{{{{{|}|{z{{zz{{{{}{{{{|z{{{{z{{{{}{}|{|{{{{{zz{{|{{{|{{|{{z{|z{{|{{{|{{|{zzz{|{||{{z||{{{{z|{{{{{{}{||{{{{{|{|{{|{|{|||{{{{|{{|{|||||}||z{z|z|z||||}{|||z|{|{{}||||{|||}z{|{{{{z|||||}|{{||{|z{|||}|||||{{|{{z{{{{|{|||{{|{{|||||||||{|||zz|{{{{{|}}{|{{{{{{{zzz|{{||||{{{z{y{{{||{|zzz{z{{zyyz{{{{zz|{z{yzzzzz{|{|{{||z{{z{{zz{{{{{|{{|{zz{{zz{z{{z|{{{zzzzzzzzz{{|{{|{z{zzz{yzz{{{{{|zz{zzzzz{z{z|{||z{zzz{z{{|{{{{z|{z{zzzzzzzz{z{z{z{zyzzyz{{{zz|{{zy{{{zzz{{z|{||{z{{zzyzzz{{{{z{zzz{zzz{z{zz{z|{{zzz{z{zzz{z{{{z|{z{{{zz{{{|{{{z{z{{z{z{{{zzz{{|{zzz{|{zz{{{{|{{|{zz{z{z{{|{{{{|{{{z{z|zz{|{|z{|{|{{{{{{{|{{{{|{|{{{{{{{{|}{|{||{{{{{{||z|{|||{}|{{{{|z{z|{|}||{{|zzz|{{|{|{{}||}{z{{z{|{{{{|{|{|{{{{{{{|{|{}|||||{z|{{|{||{||||{|{z|z|{||{{{|{|||{{|{z{{{||{||||{{{z|{{{{{{{|{|||{{z{zzz{{{||{{{zz{|{{z{{|||{{{|{z{zzzzz{z{{{|||{{zzzz{{{|{z{}|{{{zz{{zz|{{{{{z|{z{{z{zzz{{{{{{|{{y{zzzz{z|z{{{|zz{yz{{z{|{zz{{|z{{zzzzz{|{{z{|{{y{zz{yzzz{{{z{zzzzzzzzzz{{{{{{z{{zzzzzzz{{|{{z{z{yzzzzy{{{{{z{zzzyzyzzyy{zz{z{|{{zz{zyzyz{z{{z{zzzzz{zz{{{{|{{{{{{zzz{y{{z{{{{{zzzzz{zz{z{{{|{{{{{zzzzzz{{{{z|{z{{{zzzz{{|{{|{|{zzzzz{z{|{||{||{{y{{zz{|z{{z{|{zz{z{zz{|{{|{{{{z{{{{{{{|{z{||||{z{{{z{{{{|{||{{||z{{{{{||||{}||{{{{{{{{{|||||{}|{{|{{{y{|{{|||{{{|{z{z{||{|{}|||{{{{|{||{{||||{||{{{{{{{||{z{|{zz{{{{{z{z{|{|{{{|{{{z|z|{{|{z||{{zz{z{z{{{{|z{|zzzz{z{z{{z{z{|{zzz{z{z{{{|{{{{|{z{z{zz{{{|{|{||{{zz{zzz|{z{z{z{{zzyzzzz{{|{|{|{{zzyz{zzz|{{{|{{{zz{{zzz{{{z{|{{z|zzz{{z{z{{zz{{yz{zzz{y{{|z{{|z{{z{zz{{zz{{|{{{z{|{yyz{z{||zz{|{{zy{y{{z{{{{{z{zz{zz{zzz{{|{|{{zzzz{{z{{{{{{|{|{{z{zzzzzz{z{{|{{{{y|{|{{{{z{||zz{{{zz{z{z{z{z{}{{{{{z|z{{{{{}{z{{{{zzzz{{{|{{|{{z{{{{{|{||{z||{{z{z{{z{||{{{}{|z{{z{{{{|{{||{{|{|{{|z{{{|{|{{|{||{{|{{z{||{{{}|zz|{{{z|||{{|||{{z{{{{||{||{||z|{z{{|{|{{{||{|}||{{{{{{{||||{||||{|{|z{|||{|{||{|{{z{{{z{{{|||}z{z|{{{{zz|{|{{{{zz{z{zz{||{{z{|{|z{{z{z{z|{{|{|{{zz{z{{z{z|{{{{||{{zzzy{{z{{|{{{{{{{zzzz|z|{z{{{{|zzzz{zz{||{{{|{{zz{z{zz{{|{|{{|y{{z{zzz{zz|{{|{|zz{zzzzz{{{z{{zy{zzz{z{{z{{|{{zzzzzzzz{|{{{|{{|{{z{{zzz{{{{{{|{zz{{zz{zz|zz{{|{{zz{zzzy|{{{{{{{z{zzz{z{zz{}{|{z{{{{zzzz{|||{||{zzz{z{{z{|{{{{|z{{zyzzz|{|||||~|z{{{z{{{||{{}|{{{{|z{{z{{|{||}{{zzz{{z{|{|{{||{{z{zz{zz}{|}||~|{{{||z{{{{||{|||{zz{{{{{|||||||||{{z{{|z|{{|}|||{|{{z||||||{|}{|{||{{{|z||||}|}{{{|z{{{{{|||||{}{{|zzz{||{{|||||{{z{{z||{{{}||||{{{zz{y{y}{{|{{{{{{{{yz{}{||{{|{z{{{{{|{{{|{{|{{{zz{{{z{{||{z{||{{zzz{{{{{|{|{}|{{{zzzzz{{|{{{}|{{{zz{{{z{{y{{||z{{{{z{{{{{{{|{{{zzz{{{{{{{{z{{|{||zz{yz{{{|{|{{z{z{zz{zz|z{{|{{zzzz{yzzy{{{{{|{z{zzz{z{{{{{{{z{zz{yy{zz{{{{{{{z{{zz{{{yz|{z{{{{{zzz{zzz{|{{z{z{zz{{z{{y{|zz|||{|{z{|zz{z{{{z||{|z{{zzz|{{{{||{{{{{zzyzz|{|{{|||{{z{{{|{{||{{{{||||{z|{{{{{{||{{{z{{z{{{{|{|||{|{{|{{{|{{|}||{{|zz||{|z{|}|}}|||{{{{{{{{{{|}||{||z{||{{{||||{|{{|||{{{|{{|{|||||}{{{{{{{{}{||||||z{z{z|||||}||||{{{{{{{|||{|{{||||{||{z|{||}|{|{|{|{{{{{{{||||||{{z{z||{z|{{z{||{zy{{{{{{|{{{{{zz|{{zzz{{{{zz{{{{zz{{{{z{|{{{|{{{{zzzzyy{z{|{{|{{yz{z|z{{|{{{{||{{z{zzzz{{{{{{{|{{{zz{z{z|{z{||{{z{{zzzy{z{|{{{{{{z{z{zz{{{{{|{|zzzzzzzz{{{zz{|{{zzzzzy{{{{{{{z{{{{{zz{z{}{{{{|||{{{z{zy{|{{z{{|z{z{z{{zz|{{z|{{zz|z{z{zz|{{{||||zzz{{z|{||{{{|{|{zzz{z|{{{|||{||{z{{{|{{||{{||{{{{zzy{z{|{|{|{|{{z{{{|{{||||||zz|{|{{z{|}|{{||{{{{{{|z{{||{|{|}{{{{||||{}||}|}|{{|{{{z{{|||||||{zz{|{|{{{|||||}{||{{{{|{|}|}||~|{{{{|||{|{|||{}|{z}}|z|}||}|||{{{{z{{||z|{||||||||{|{z{{|{||||}{{zzz{{z{{||{{}{||{z{|{z{{z|{{{||{zz{z{{z{{{{z|{{z{{z{{z{{|{z{{}{{zz{y{z{{|{{z{|{z{{{zz{{{{{{{||{zz{z{z{{z{{{{|{{zz{{z{z{{{|{{{{zzzzzz{y|{|z{{{{{{zz{zzz{{{{z{{|z{{z{{z{{{z|{|||zzz{zyz{{{z{zz{{{{zzzyzy{{{{{z||{z{{zz{zz{z{{{|z{{{zzz{{zz{zzz{{z{{{{{z{z{{{{z|{z{zzz{zz{|{{{|{{z{{{z{{z{|{{{{||zz|{zz|{{{{{{{{|{{z{{{{{{||{{{||{{|{{z{{||{||}zz{z{z{{{{{}|{{|{|{{}{{{zz{{|{|||||{|{{{z{{|{{||||{z|{{{|{||{|||||{z{{{{{{|{|||{|||{{{|{{{{}}||||}|z{{{|{{||{{||||||{{|{|{{|}|{||||{|z{{z{}||{||}||{|||{|{|}|||}}||{{{{|{{}{{|{|{|zz{{{{{z|{{}{|}||||||{zz{|||z|}{{z{{{z{z{{z|||{|{{z{{z{zz{{{z{{|{z{yzz{zz{zz{|||||{{z{zz|{{{|{||{y{{zz{{z{||z{{{{z{y{z{zz{{|{{||{zzz{|{y|||{{{|{{{{{zz{z{{{|{zz{{{zzy{y{{{zz{|{{{{zyzzzzzz{z{{{{{{zzzzy{{{{{{{{{z{{zz{yzz{{{{||{zzzz{z{z{{{{{{{{{zzz{zzzz{{z{{{zzz{z{{zz|z{|{{{{{{zz{zz{{{{{{|||{{{zz{{z|z{{{{}{z{{|{zzz|z{{|z|{{{{{{yz{|||||z|{z{{{|{{{|{|{|{||{zz{zzz{||{|z||{{{{{{{{{{{||||||{{{{|{|{|{|{{|{}{z{{{z{{{|}|{|{|{z{|{|z{||||}||{{{{{||{{z{{|{|{}||{{z|{{|||}{||}{{{|{{{{||||z||||{|z{{|{{{z|{}}{{{|{{|{{|||{|{|{|{z{{{{{{{{|{|||{{zz{{{{{{{|z||{{|{|{y{{z{{||z{{{{zzzyz{{{|{||{{{zzzzzzz{{{{{|}|{{zzz{z{{zz{{||{{|z{{zzzz||{z{|{{{{{z{zz{{{{{{z|{{zzzz{{{{{{z{|z|z{zzzzz{{z{{{{{|{z{{zz{{yz|z{{zz{zzzzz{{{z{{|{z{{zzy{yy{{{z{{{{{zz{zzz{zz{{{{{{z{z{{{{zz{{{zzzzzzzzzzzz{|{{|{{||zzzzz{{z{zzzz{{{z{{{y{z{{|{{|||{z{{{z{|{{|}z{{|{{{{|{zzz|{{{|{{|{{{{{{{||{{|{{{z{zz{{{{{{{|{{{{{{z{{{{{{{{{|{{z{{{|{{{{{||||{||{|{{{{|{|||{|{|{{{{|zzzz{{|{|z{{{{{{zz{{{||||{{|{{{|{{z{{{{{|||||z{|{{{{{}|{|||||{|{{{z{}||{{|{||z{{{zzz|{{||{||||zz{{{{{{||{{{|{{{z{{{z{{||{|{{|{{{{z{{{||||||{{z{z{{|{|{{{{|{{{{zzz{zzz|{z}z||z{{{yzzz{{{{{|{|{z{y{z{{{|{{{|||{z{zzzzz{{{{{}{{{{{zz{{y{||{zz||y{{{{{{zz{{{z|||{{{y{{{{{{z{{{{|zzzz{{z{zzz{{{z{zz{zzz{zz{{{{{z{zzzzz{z{{{|{|{z|zz{zzzzz{{{||{|{{zy{zzzz{zz{z{|{|{z{yzzzz{z{{|{|{{z{{z{yz|{|||{{{{z{|z{z{|{{{|{|{|{{{z{|{{{{{{{|{{{zzz{z{{{{{|{{z{{zzz|z{{||||{{|{|z{{{{{|{|{{}||{{|{{|z{}||||{{{{{{z{{{{||||||{z{{||{z{{|{|{|||{{{{{{z{{|{||||{|{|{|{{{|||||||}{{{{{{|{|||||}{||{z|{{z{{}||||{}|{{{|{{z}|}|{{}|{{z|}{{{|{|{||||{|z{{||z{||{}{{|{{|{y{{{|||{|{}||{|{z{{{{||{{|z{||{{z{{{{{{z||{{{{zz|z{z{{||{{}z|{zzzzz{{{|{{{z{{{{z{z{zz||z{{|{|zz{z{{{{{{|{|||z{{zzz{zz{z{|{{{{zzz{{zz{|{{{{{{zzzyzzz{{{{{z||{zz{zzz{z{z{{{{|{{zzzzzz{z{zz{{{{z{zz{{zzz{{z{z|zzzzzzzyyy{{|{{|{{zzzz{zzz{|z{{z{|{{z{{zzzzz{{{{{{z{{{{zzz{{{z||{{zzz{zz{{{{{{|{||{{zz{z{{{|{{|{|{z{zzz{z{{{{{|{|{{{|z{{zz|{||{{{{z|{{zzz{|||{{|||{{{{{{{{|{|z{{{zz{{z{z{{{|{||||{|z{|{|{{|{}||}}|{||{{z{||{||{|||zz{{{z{|{|||||||z{{{{{||{{|||}||z{|z|{{z{|{||}|{{{|{z{{|{{{{|||{{{{{{{{||||{||}||z||{{{{{{{||}{{z{{{{y{|{|{||{|{z{{{{{{||||{{}}{{{{|z{z{{||{{zzz{yzy{zzzz{|{{z{{{zzzzzz{{{{{|{|zz{zzyzy{{{{{{{|zz{zzzzz{{z{{{{z{{zzzzzz{z||{||{{{{zzzzzz{z{z{|{{z{{zzyz{{{{{|{{z{zy{zzzzzz{z{{{z{yz{zzy{z{{z{{{zzzzzzzyz{|z{{{zzz{zz{yyzz{{{{{|y{z{zzzyz{z{z{{z{z{{zyzzz{zz{{z{{zzy{zzy{{z{z{{|{{zzzyzz{{{z{{{z{{zzzzz{z{{|{{{|{{zzz{{zz||z{}{|{z{{{y{z{{|{{{|{{zzz{{zz{{|z{z{{zzz{zz{z{{{{{{||{{|{{{z{{{}|{||{z{{{{{{z{{|{{z||{{{{{zzz{{{||{{{|zzz|z{|{||{{||{z{||{{{|||{{|{}|{{{z{|z{{|||||||z{|{{{z{{|{|{|}}{{{|{{z{||{{{|||{|{{{{{{{{{||}{|z|{{|z{z{{{z{{}||{zzzzz{{||{{{|{{z{z{zyz{{|{z{z{{z{zzy|zz{{{{{|{z{z{zz{zzz{{{{|z{|zzzzzz{z{{{z|{{z{zzz{{|{|{{|{{zzzzz{{z|{{|{{z|{zzz{{{z{z{z{{|zzz{z{zzzzz{{{{{|{{{zzzzz{z{|z{{{zzzzz{zzz{{{{{|zz{zzzzy{z{|z{{{|zzz{zzzzz{{{{{||{zzzzzzyz{{{{|{|{{zzzyzyz|{z{{{{zzzzzz{z{z|{{{{{{z{z{z{{{{{z{{||{{{z{{z{z{{{|{{{z|{{zz{z|{{{{{{{|{|z{z{z{{{{||{{|z{{{zy{|z{}{}||z{zzz{{z|{{{|}|{{{{{z{z{{||{{|||{{{{{{|{|{{{|{}|{{{|||z{{||{|{{|{{{{{{|{||{|{|||{|}{|{{{|}{||||||{{{z|{{||||||}|{{{{{{{{{||{{||||z{||{z||{|}{|||||z|||{{|{|||}||{|{{{{{z{{{{{{||{|{z{z{{z|{{||{{{{zy{z{z{{||{|{zzzzzzz{{{{{{|{||{zz{zyyz|{{{{|||{{zzz{y{{{{z|{{{{{|z{{{{z{|{{{z|{|zzzy{z{||{{{|{{{{zzy|{{{zz{{{||z{{z{zzz|{z{{{|zzzz{{zz{z{{{zz|z{{{z{{{|{{{z{z{{z{{z{z{{z{|{z{{{{{zz{z{{z{{{{|{zzzzzz|z{{z{z{{}{z{{{z{zz|z{{{{|zzz{z{|z|{{{{{{|{z{zzz{|z{z{{||{{{{{zy{{|{|{||||{|z{{z|z{zz{{|{{|{{{{z{{{||{||{{||{z{z{z{{{{{{}|{{z}z{{{{||{{||{{{|||{|{|{|||||||{{{|z|{|||{|}|}{{{{{{{z{||||||{|{{{{{{{||||||{}{z{{{||{|{||||{|{{{|{|{{{}}{z|||{{{||{|{|||z|}}}|{|{{{{||{||{||||{|{|{||{}{}{|}{z{|{{{{{{{||||||{z{{z}|{||||||{||z|z{z{z|{|{|{zzzzy{{z{zz{|{{{{{{z{z{{{z{{||{|||{y{y{z{{{{{{{z||{{{zz|{{{{|{{{|{|{zz{{{zzz{{{}{{z|{zz{{z{{{{{|{{{zzz{z{zzz{{{||{{{z{yzz{{{y{{|{{z{z{z{zzz{||zz{|{z{{zzzzzz{{{{{|{yz{zyzz{z{{{{{|zz{{{y{{z{|zzz{{zzzzzz{z{|z|{{z{{{{z{{zz{|{z{{||{z{z|z{z{{{{{||||{{{z{zz{{|{||{|{{{{z|z{{{{{|{{|{{{{|z{z{||{||}{zz{z{y{{||{|{|||{{{zz{|{|{{{{{|{{{{{z{{{|{|{z|{|z{z{{{{{|{}|||||zz{{{{|z{||||||||{z{{{{{|||{}}}}z{||{{{{||||}}|||{{|{{{{{|}||||||{||{{}{}}{||{{||{{{||{|{{||{|||{{z{{{{||||||z||{{{z{z|{z{{{|||{|||z{z{{{|{{|||{{z{zz|zz|{{|||z}{{zz{z{{{{{|{{|{{{{z{z{z{{|{{{{|{z{z{{z|{{{{{|}{{|z{z{{z{z{{z|{{{z{z{{{y{{{||{{z{{{{zzzzz{|{{{z{{{{{|{z{{|{zz{{{{{{{z{z{z{|{{|{{{z{{{z{z{z{{{{{{{{z{{zyz{{{{|{z{|{zzzz{z{{{||{{{{zzzzz{y{z{{{{{{|z{{{z{yz{{{{{||{{{{{{{{{{|{{{||{{{y|z{{{{|{{||||{{{z{||{{{{||{{{z{z{{z{{{}{{{||{{|{{{z{|{|}|||}{{z{{{{z{|||||||{{{{{{z|||{{{||{||{{{{|{{||||||{{||{||{{{||}||}||{||{{{{{}{{|||}|{{z{{|{|{{{||}}{{{{||z{{|{{|{|{}{|{|{|{|||}|||||{|{{{||||}||||}{{{{{{{|{}|||{|}|{{{{{|{||||||||{||{{{{{{}|{|}||||{{{{{{{{{{{|||{{{|{zyz|{||{{z|zz{{{{zz{{{|{{{z{{zyyz{{|{{{{|{{{z{zz{z{|{{{{||{zz{zzzz{{z{|{zz|{{zzzy{z{z{|z{|{{yzyzz{zz{{zz||{zzzz{zzz{{{{|{|{{{{{zzzzz{{zz{{{zyz|{{zzzz{z{{zzzzz{yyz{{{{||z{{z{zzyzzzz|{z{{|{z{z{zzzz{{z{{|{{zzzz{z{z{{{zz{{|z{{{{{zy{{{{{{||{zzz{zz{{{{{{{|{{zz{||{z|{{{|{{{zzzzz{{{|{|{z|{}zzz{{z{{{|{|||{|{{{{{z{{|||{{{|{{z{{{z{z{{{{{|||{|{{{{{{{||{||{{{{{|{{||{||}|||{{{{z|{{{{|||{{{{|z{{{{{{}{|||{{}{{|{|{||||||z||}|{{|{{{z{}||}||{{{z{z{{{|||{||{||{|{{{{{z{{{|||}|{|z{{{{{{z{{|}}|{{{{{z{|}||||||{z{zzzz{{{{|{}|{|{{{{zz{z{{||{|{zzz{|z{zz{{{z{}{{{zzz{zz{z|z|{|z{{{zz{zz{{z{|{|||z{{zz{{{{z|{|{{{{zy{{zzzz|{{{|{{zzzzz{{z|{{z}z{zz{|yzzz|z{zz{{{zz{z{{zz{zz{{||{zzz{zzzz{|{{{z||{y{zzz{{z{{{{{{|{{{z{zzz|{{{zz|{{z{yzyzzz{{{z{{{zzzzz{{{{{{|||{{{zzzz{zz{{}{{{|{{{{{zz{z{{{{{{||z{{{zzzz|||{z|||{{{{zz{z{||{|}||{z{zz|{{{{||||{{{{z{{{z{{{|{|||z{z{{{z{z|||{{|||{zz|{{{{{{||{{|zz{{{{|{{{{||{}|||{{|{zz{||}|{||}{{z|{{{|||{|}|{{|{|{{z{z|}|{{|{||{z|{|{|{}||||{||{{{z{{{||||{}|||{{{|{{{{||||||||z{z|{{{{{|||}|{|{zz{z{{{}{{{||{|{{{{{zz||{{{{|{{{|zzzz{||{|{{z{z{zz{yzz{{{{{{||{z{y{z{z{{{{z{{|{{zz{z{z{{{z{||{zzz{{z{z{{{{|{{|{{{zyz{xz{{{{|{{zzzzy{zz{z{{z{{{zz{z{zzz{{|{{z{{{{zzz{zzzzzzzz{{zzzz{z{y{{zz{{{{z{z{{{{z{{{zzz{{z{{zz{{zz{{{z{{{{zzz{zyyzz{yz{zzzz{zzzzz{|{{{{|zzz{{{zzy{z{{|z||{zzz{zzz{{{{{{{|{{{{zz{{{{|{zzz{{z{{yzz{{|{{{|{|{z{z{zz{{{||{|z|{z{{{{{z{{{{{|||{{z|z{{{|||{{{{|{z{z{{{{{|{|{{{|z{{|{{{{||{{||||z|{{{z{{{|z{|{||{{z{{z|{|{|{|{|{{|{zz||{{||{||{||{||z{z|{}{|{|||{{{{{{{{||||{||||{z{{{||{{{|||||{{z{|{{{|{{||}|{{{|y{|{zz{{{{{{{{{z{{{{z{{|{|{|zz|z|zzz{{z{||{z{{zzzzzzy{{|{{z{|z{z{zyzz{z{{z{{{z{zzz{zzz{|{{{{{{z{{{zy{{z{{zz{z{zzzz{{y{z{{{{{}z{{zzzyz{{{{|{{{{zz{{zzzz{{y{{{{zz{yy{zzzzz{zzz{|{zzzzzzz{{z{{{{yyzzyzzzzz|{{{z{{zz{zzzz{zz{zz{{{zyzzz{z{{{z{z{{{yzzyzzzy{{{{{|{{z{z{{yz{{{{{{|{{{{zzz{{{{{||{||z{{{zy{z|{{z{|||{z{|zzz{{|{|{|{|{{{{zz{zz{{{|{{{zz|zzzz{||||||}{{{zz{z{{{|{|{z{{{{{zzzz{{||||{}|z{{z{{{{||{|{||{{{z{{z{{{{{||{|||z{{{|{{||{{|{|{{z{{{||{{|{{}{{||{{{{{{|z|{{|}||}z{|{{z{||}||{}|}z{{{{{{{|{{||||||{}{{{{{{|{|{||{|{{{{zz{{{|}{||{{z{{{zz{{{{{z|||z{{zy{z|{z{{{z{z{{{{zzzz|{z{{{{zzzy{zz{{{y{}|{|{z{zzzyzzz{{|{{}zz{z{{zzz{|z{z{{z{zz{z{z{z{z{}{{z{yzz{{z{z{{z{|{{|zzzzzzz{{{z{|{{z{{zzy{zz{{{{{|zzy{z{zz{z|{z||{zzzzyzzzz{zz{zz{{zzyz{zyz{|{|{z{{zzzyyzzz{zz{{z{z{zz{zzz{{zzz{{{zz{{z{zz{{{{{{{|{z{zzz{{{|{|{{|{{z{{zzz{{{{{z{|{z{zzzz{z|||{||{{{zzz{z{{{|{|{{{{{{zz{|{z{z|z|{{z{zz{z{zz||{{{|{|{{{{{z{{z{{|||{{z{{z{z|z{{{{||||{{{zz{yz{{{|{{|||z{{{{{{||{|{||{{z||{{||||{|||{||{{{z{{|{}|||||||{{||{|{{||{|{|{{z|z{{|{{||{|}{|{{{z{{{{{||{||{|{{zzz{{{z{{{{|{{|{{z{z{{{|{{{||{z|{z{zz{{|{z{{{|zzy{zz{{z||{{{{{zz{{zzz{{{|z|{{{{{zzzz{z||{{|{|{{{{zz|z{{z{z{{{|{{zzyz{z{{{{{{|{{z{zz{{z{{z{{|{z{{{{{zzz{z{zz{|{zzzz{zzz{zz|z|z{{{yzz{zzzzzz{{{{{zzzz{z{|zzz{{{{|zz{zyzzz{{z{{|zzzzz{yz{zz{zzz{{z{z{zzzzz|z{{{|z{z{zz{zz{|{{{z|||{zzyzzz{{zz{{z{|z{{z{{{{{{{||||{{{z{zz{{{{{||||zz|{{z{{||{|{{{{z{{{z{{z{{{||{|{{z{{{{{z|||||{{{}{{z{{{z{||{{}||{|{|{{{{{}{{||||{z{{{|z{{||||||{|z{{{{{{}|{{||}|{{|{|{|{{{{|||}||{{{{|{{|||||{}||z{|{{{{|||}|||{{{z{{|zz{}{||{{||{{{{{{|{{||||{|z{{{{{{{{{||{||||{{{{z{z{||||{{|{{{z{z{z{{||{{z{z{{{zzzy{{{|{{|z{zzz{zz{{{{{{{{||{{{{zzzz{{||||{{{z{{{{z{{|{z|{|{z{{y{{z{{{z{{{|{zzy{{|zz||{||}{{zzzzzzz|{{{z{||{{zz|{zz{{z{z{{{zzz{yzzzz{|{|{|{zzzzzzzz{{{{}{||zz{zyzzz{|zz{{{|{{z{{zzyzy{{{{||z{z{{z|{zz{{{{{|zz{{z{z{{{{{|||{{||zyz|{{{||z|||{z{{zzz{|z|{{|{{{z|y{{{z{{{||||{{{{zzz{{{|{{{{{|{|z{{zz{{}{{|{{|z{|{{{{|{|}{{{{||z{{{{{|{|||{{|||{{{{{{{{{||{{}||z|{{z{z{||{||{{{{{|{{{{|||{{||||z||{z|||}{||||||{|{{{{{{|||}||||{{{||z{|{||{||||z{{|{{||{|||||}{{z{|{{{{|||{||}{{{{{z{{{{||||}|{{{{z{{{{|||{{|{{{{{{zz{{||{{|{|yzz{zzzzz{{{{|{|{{zz{{zz{|{z|z|{{{{{{{{|{{|||{}|{{z{{{{{z{z{z{|{{{{{z{z{{{{|z|{{{{{zz{zzz{{z{{||{|zz{{z{{{||{|{|{{z{zzzz{{{zz{{{{z{z|yzzz{{{||{{zz{{zz{z{{{{{|{{|zz{y{zz{{{|z|{{{{|z{z{zz{{z|{{{zzzy{zz{{{{|{|{|zzzz{{{z{||{{||{{|{z{z{z||{{{{{|{z{{{zzz}{z{{||{{{{zz{z{{||z|{{|{{{|{y{z{|{{{||||{{|zz|{{{{{||}|{z{{{{{{{}||{|{|{{{{{{{{{|{|{{||{{|{z{|{{|{|{{|{{{{z{z{z|}||||||{{{|{{|{||||}{}|{{{{{|||{}|||}{{||{|||{|||||}|||{|{|||{{{}|||||||{z{{{{{{|{{|||}|{{{{{z{|||{|||}|{{{{{{|{||}{||{|{{{z{z{|||{{{||{|{zzyz{||||{z|{zy{y{zyzz{{{{|{{{z{{{z{yz{|zz|{{z{{zzz{z{{z|z{{|{{{zzzyz{z|{{{{|zz{yzz{y{{z{{{{|zz{zzz{{z{{zz{z{{z{zzzyz{{{z{{z{{z{{yz{y{{|zzz{|zzzzz{zz{{{{{|{z{z{zyzz{z{{{{{{{{z{zzzzz{{zz{}|{zzzzzzzyz{{{{|{{{zzzzy{zz{z{{{{|zz{z{{zz{{{{z{|zzzz{z{{{z{|{{|||{{zzzz{z{{{|{{{||zz|zz{{|}{{{|{{{z{{zzz{z{|||{|{{zz{z{z{{{|{{{||{zz{{{z{{{|{|||z{z|zzz{z{{||{|||{{{z{||z{||||{|{{zz{{{{{{||||{||{{{{{{{{|{{{{{{|{{{{z{|{{{z|}|{|{||{{{{{||{|||z}{{{{{z{{{||{|{{{|z{|{z{z|{{|{||||{{{{{z{{}{|{||||{{{{{|{{|{{||{|z{{{zz{{z{||z{|{z{zy{z{zzz{zz{{{zzzz{{yzzzz{{||{z{zz{zzz{{{{{|{{{|zzzyz{z{{{{{{|{{{{{zz{{|{{zz|{{{{zyz{y{{{{{{|{{zyzz{zz{{{{z|{z{{|zz{zz{{{{{|{{{{{zzzzz{z{{{{{|{yzyzzzzz||{z{|zzz{zzzz{z{|{z{z|z{zzz{zzz{z{|{{|{z{zyzzz{{zz{{{||{zzz{{zz{|{{|||{z{|{{z{{{z||{{{{z{{{z{z{{||{z{{z{{{|z{{|||{{{{{{z|{{{zz|{{||{|{{z{|{{z{{||{{{{||z{z{|{{||||{{{|{z{zz{{{{{{{z|{{{{{{z{z{||||||{{{{{{z|{z||{|{||{{{||z{|z{{||{}{|{{|{{{{{||{{{|}}|z{|{{{{|{{|{|||||{{{{|{|{{{|{|}{{{{{{{{}{|}{|{{|{||{{{|{{||{{|||{{||{{{||{}||||{{{{zzz{{{|{{||}|{z{z{{z{||{||{{{z{{z{zz{{{|{|{z{{y{zz{yz|{{{{{|{{zzz{{z|{{{|{{|zz{z{z|z{||{{{{|{z{z|yz{{{{|z{|{{{{{{{zz{{{|z|{z{z{{z{zzz{{{|{{{{{{yz{z{|z{z{{{{{z{yzzz{{{{{z{{{zz{z{zzz{z|{{{{zzyzzz{z{{{{z{{{{zzzz{zzz{zz|{z|{zy{{{zzy{{zz{{{{{zy{yzzzz|z{{{||z{{{{{{y|||{{{|{{z{{zyz{{z{{{|{{{z{{zz{{|||{{{{|{|z{{z{{{{{{{|}|z{z{{{z{|{||}||{{{{z{{z{{||{|||{z{{{zz|{||{{{|{||{{zz{z{{|||||}||{|{{z||{{{}{|{||{z{{{{y{{|||||||y|{{{zz||{{|||}{{{{z{|{||{|||{|}{{zz|{||}||{{}||{{|{{{{}{|||{|{{{|{{{{||{||||{|}{z{{|{{}|{{||{|{{{{||{{{{{{|{||||{{{z|{{|{}{{}{{z{{{z{z|{|{|{{{{{{zzzzz|{{{|z{z{zzyzz{z{{{{{{{{{z{zzzzz{{|{|{{|{z{z{zz{{{|{{z{{{z{zzz{{{z|{{||{{{zz{zzz{zz{z{||zzz{zzzz{{{{{{z{z{{y{{zzzzz{z{{{yz{y{zzz{{{z{{{|{z{zzzz{z{{z{{{|z{zzzz{{{{{{{|z{{z{zzzzzz{{zzzz{{{z{zz{zz{zz{{z{zzz{{{zz{{|{{{{{{zzzzyzz{||{{{|{{z{{zy{z{{{{{|{|{z{{z|zz{{|{z{{||{|{{z{{{|{{{{|{z{zzzzzz{|{|{z{||{z{{{{z{{|{||{{|{{{|{z{{{|||{{|{z{{|{|{|||{{|||{|{{{{{y{||{{|{|{{{zz{{z{|{|{|{{{{{{z{||}{|{||{}{z{{{{||{{|{}{|}|{{{z{z{|{{|{||}{{{{{||{|{{|||}|{{zz{{z{{||||{||{|z{{z{{{{z{{}{||{{{zz|{{|{|{{{{yzz{zzzz{|z||{{zzz{yzy{zz{{z{z{{z{{zzzzz|z{{{|z|{{{{zzzz{{{{{|{{{z{y{zzz{{{zz{{{zzzyzzzy{{|{{z{|{{{z{zy{{{zz{{zz{{zz{zzzz{zzzz{{zzzzz{yz{{|zzz|{yz{yzy{y{zz{{{z{{z{z{zy{z{|z{{{{{{{z{z{z|{z|z{{}{zzy{yzzzz{{z{||{{z{z{zzzz{{z|{{z{{zz|zy|z{{{{{{{zzz{{{z|{{{{{{|{{{{{y{{z{{{{{{{{{z{{{z{{{{{{{{|{{|zz{{z|||{|||{{{z{{{z{zz{{|z|{{z{zz{{{{|zz{}|{|zzz{zz{{||}{{|{z{z|{z|{{{}||{|||zzz{{z{{{{|z{{|z{{{{{{{{|{{{|||{{{zz{|{{||{||{||{{{{{{|{}||{|}|{{{|{{{||{{|||||{{{z{z{{||{{{{{|{{{{{{z{|{||||{|{z|zz{zz|{{{{||{|{z{zz|zz{{|{{{{{z{z{z{z{{{z|z{{z{zzzzzzzzzz|{{zzz{{{zzzz{z{z|{{|{zzzzz{{{{{z|||zyzzzzz{{{{{zz{{z{zyyzzz{{z{{{z|{z{{{yzzz{|z{{{{z{zzz{yz{{{z{{{{z{zzzz{{{|{{{{|{{yzzzzzz{zz{zz{{{{yyzzyzz{{{|z|{z{{{yz{zz{{{z{{{{{{z{z{yy{{z{z{{{{zz{z{zz{|z{{|{z{{zz{zzzz{{z{|{{yzz{z{{{{{z{{{{{{z{yz{{|{{{|{{{{{{{zzz{{{{|{||{{{{{|{z{{|{|{{|{z{{{z{z{|{|{{||{{z{{{{{z{{|{z{{{{z{{{{{z{{{{{}||z{{{{||{|{|{{{|||z{{z{{{{}|{|||{{|{z{{zz|||{|||||{{{|||{{{|{{||||{{{z{{{z||||{{{{{|{{|z{|{|{{|||{{z|{{z||{|{{||{|{zz{{{{{|{|{zz|{|{{{{{{{{{}z{||{{z{yzz{{{{||}|{{{{{{z{z{{z{|{|{z{zz{{zzzz{z{{{z{z{y{{zz{{{{{{|zz{zz{yzzzzz|{{|{zyy{zzzzz{{{{{|{{zzzzz|zz{{{{{|{z{zyzzzyz{z{{|{{|zzz{zz{{{{z{{{{zzzzzzzy{zz{{{zzzyzzzyzz{z{{{{|zz{z{y{yzz{{{{zz{zz{zz{zz{z{|{z{{z{yzzzz{{{zz{{{{yyzzz{{yz{{zz|{|zy{z{|{zz{{{z{|{zzzzzzz{{{z{|z{{{z{z{z{{|zz|{|||{yzzzz{z{{{|{|}|{{{{|yzz{{z|{{{z{{z{{{{zz{|||||{{zzz{z{{{||z||z{{z{{{z{{{{|{{||{{{{{{z|||{{|{{|}z|z|{{{z{||{{||{|y{{{{{zz|{||||{{{{{|{|{||{{|||||{{{{|{{{||{{||{||{{{{z{|{|{|}||{{z{|{z|{|{{{{||{{{zz{z{|{|||}|}{zzz{{z{|{|{|{{|{zzz{{{{{{{{z{{|zz{zzzzzz|{{{{z{z{z{{zz{z{{{z{z|{{z{|zyz{{{|{|||zz{z{{z{|z{z|{||{{{zzz{{{{||{z{zzz{zz{{z{{z|z{||z{{zy{zzz{zzz{||{z|zz{zz{|{{{{{{zzzzz{zz{z{{z{zzz{z{z{zz{{{{{||zzy{zzz{z{{|{|{|{z{zyzzzz{|{{{{z|{zz{{zzz{{{{{{{{z{z{{{{{{|{|z{|{{{zz{zzz{{{{{{{{{z{{{{{z{z{|{|{{{{{{z{|{{||{{||}{{{{{{{{{{{{{|}|{{{{{z{z{{{z|||{{{y{{z{z|{{{{|||{zy|{{{z|z|{||{||{z{{{{|||||||||z{{{|{z|||{||}|}||{|{{{z|}|}|{|||z|{{|{{|{|{|||{{{{{z{{|{{||{|||~{z|z{{|{|}|{|{|{{{{{|||{|{{|{|||{{{{{{{|{|{}{}}{{{|z{|||{||||{||{z{{|{{{|{}||||||{{{{{z||{|z{||{{{z|{{{{||}}{{{zz{zz{|z{{{|{{|{{z{{{zz{{{{{|{{|z{zzz{zzz{|{|||{|z{zzyzz{{||zz{{{{{{{zzz{||{z{{{{z{zzz{z{{z{z|{{zzzz{{zzz||zz{zzz{{yz{zz|zz{{{{{zz{zzz{{{{{|{{{{zzzzz{z{{{|{z|||{zzzzzzzz{z{{{||{z{zz{zzz{{{z{{{z{{z{zzzz|{|||{{z{z{{zzz{z|{|{|||{zzz{{{{{{{||{|{z|z{z{zz{{{{{||{z{{{z{{{{|z{{||{{{{|y{{{|||{{{{|{{{{{{|{{|{{{|{{|z{{{{{{{|{{||||z{{{{{{|{||||||{|z{{{{{||{||{}|{{{{{{{{|||{{|{|||{z{{{{||}|||}||{}{{{|z|||}{|}|}{z|z|{z{||||{|{|{|z|{{z||{|||{}|{{z{{z{{||{{}|||{{{{z{{||||{|||{{{|{{{{||{||||{{{{{{z{{|{{||||{{{{{{z{{{{{z{{||zz{{{zzzz{{{|{|{z{z{{zzz{{|{{|{}{{zz|{{z{{{||{||z{|{zyzz{{{{z|{|{z|z{z{z{{|{z|{|{{z{z{zz{{{{{{{{{{|yz{z{z{|||{{z|zzzzz{{{{{{{z{|{yzz{yzz{{{{z|}{zzz{yzyz|{{|{{{|{{zz{z{y{||{{{|{{{{zzyzzz||zz{{z{{{z{zzzz{z{{{z{{{{{{{{z{z|{{|{{{{zzzzz{{{{{{{|{z{{{{y{{{{{{y{|{z{|{{{z{|{{{{|{{{z{{|{zz{{{{z{|{{{{{z{{{{||{{{|z|z{{{{{{|{|||{{{|z{|{{z{||||}|||||{|{{{{|{{|{{{|{{||{z{{|}|{{|{|{{z{{{{z{|{|{|||}{|{|{|||||||}{||||{{{|{{|{|}||{{{|{{{|||{{|{|{{|z|{{||z{||||{|||{{{{{z|{|{||{||{{{{{zz{{{{{{||{{{}{{{||{||||{|{{z{{{{z{|{{{{{{|{zzz{zzz{{{{z{|{zz{z{yz{{|{zz{{|{{z{zz{z|{{{{{|{{z{|zz{{{{|{{{{{z{{zz{zz|{{|{{{{{{zzz{zz{|{{z{|{z{zz{zzz{||z{z{{zz{y{{zzzzy{zzz{zzy{{zzzzzz{{{{{{zzzz{zzz{{{zz{{zzyzz{z{{{{|{|{|y{z{zzzzz{{{{{|{z|zyz{{z{{z{z}{{zz{zzzzzz{z|z{|{zz{z{z{z{{{{z{{|{z|{z{zz{{|{{{{}z{zz{{{z|{{{{{{|{{{z|{{z|{{|{{{{zy|z{{z{{|{|{z||z{{|{{zz{{{{{{{|{{yz{{z{|{||||{||{{{{{|z|{{{{|||{{|{{{z{|{{|{||{{{{{{{{||||||{}|{{|{{|{|{{|||||||{|{{{|z|{}|{{||{{{{|{{{|{|||||{|{{{|{{{{|{{{|{{|{|{{|{{{{|{{||}{{|z{{{{{||{z||{|z{{{z{{z{||{z{{z{z{{|zz{{|{{{{{{{z{{zzz{|{{{{||{z{{zyzzz{{{{z{{{{zzz{z{{zz||{|{{{{zzzz{{{||{{{{{{|z{zzz|z|{{{{{{zzzzyzz{{y{{{|{{{zzz{zy|z{{z{{z{{{zz{{z{{{{zzz{z{zzz{{z|{{zz{{z{z{zzz{z{|{{{{{{{z{zzyzz{{||{{{|{z{|{zzyz{{z{z{{z{{z{zz{z{{|{{z{z{{z{{zz{{{{{{{{{zzz{zz{{{|{{{|{{z{{zz{|{z|{|{||{zz{z{{{|{|z||{|{{|{{z{{z{|{{z{{{z{||{{{||||z{||{{{{|{z{{||{{{{{{{z{{z{z{{||{|||{z{{{{|{{{||{{{|{z{{{zzz{||}{{||{{{|{{{{||{||}||{{{{|{}|{{|||}||||z{{{{{{|||||}|{z|{|{|{|{||||}{|z{{{{|{|{|{{}}||{{z||{z|{{||}}|{{|z{zz{{{{{{|||{z{{{{{zz{|||{{{{{{zzzzz{{}z|{{{z|zzyyz{z{|z|{{|{zyzzx{zzy{{{{{|{zzzzyzz{{{z{|{{|zzzzzy{z{z{|{{{{zz{zzzz{z{z{z{{{{{zzzzz{{{{{{|{y{|zzzzz}{{|{{|z{zzyz{zzz{{zz{{{yzzzy{zz{{|{|{{zyzzzyzy{{{{z{{{{zzzz{z{{z{{z{zz{zz{{zzzz{{z{{{{{z{zzzz{z{{{z{|||{{z{{zzzz{|{zz{{{yzz{z{z{{|{{|||z{{{{z{z{{|{z{{|zz{zyz{z{z||{{{}{{{z{{{z{{{{{{{{{z|zz{{z|{|}{{||{{z{{|z|{||{|}{|{|{{{{{{{|{|{|{|{|{z{{{|{{{}{{||z{{|{zy{{{{{{|}||z{{|{zz{|{{|{||z{zz{{{{||||||||{{{{{{{|z|{{}{}{{z{|z{{{}|{}||{||{{{{{{|||{|||||{{{{|{z{||{||||}{{{y{zzz{{{||{|{{zzz{z{{{|{{|||{{z{z{zz{|{|{{z{{{zz{yzzzz{{|z|{|{{yzzz{{{{{{{z}{zzzzzzzz{{{{{{{{{{{z{z{z{{{|{z{{{{{zzzzyz{|{{{z{{zzzz{{zy||{z||{{{zzz{zz{z{{{{z{{zyzyzyzz{{z{zz|yz{zyz{zzzz{{{{{zz{zy{zz{z{z|zz|{y{yzzzz{zzz{{{{zzzzzzzz{{{{{z{z{z{zyz{z{{z{{{{{zz{z{z{zz{{{{{{|zzz{{yz{{{{zz|||zzz{zz{z{{{{z|{{{z{yz{{{{{{{|{|{{zzz{yz{z{{z||{{z{z{|zzz{{{|{{||{zy{z{{zz|{{{||||{zz|{z|{{{{|{||z{||{{{z}||{|||||{{{{{{{{{||{||z|z{{{{{{|{||||||{z|{z{|{{|z|||}||z{{{|{{{|{|{}|{|z||zz|{{{||{||||{{z{{{|z{{{||||{{{{{z{|z{{|{|{|{||{{z{z{{{{{{{{|z{{zzzz{{z{|||{{zzz{{{{{{{{{||{{{z{y{zzz{{zz{{|zz{{z{|{z|{{|||{{{zzz{{z{{zz{|{z{y{zz{zz{z{{z{|{{{zz{z{zzz|{z{{{zz{yzz{zz{{zz{{{{z{yzzzzzz{zzzz{{z{{xzy{{{{z{{z{{zzzzzyz{{zz{{{zzzz{zzz{{{{z{z{{zz{zz{{{z{{{{{|{z{zyyzzyzz{z|{{{{zzz{{yzz{{z{{{{{{zzz{zyzzz|y|{{zz{z{zzz{{{zz{|{{{z{{zz{{{{{{{{{zzzzz|{{|{{||{|{|{{|zzz{z{|{{{z|z{{z{zy|||{|{|||zzz{{{zzz{{{||{{{z{z{{z{{|{||{||{{|{{{{{{{{|{|{}{{z{z{{||{|{|{{|{{|z{{|{|||{{}{|{{{{{{{{{||{{||||{{{{{zzz||{{|||{z|{|z{|{{|||||{{z{{{|{{{{{{{|||{zz{{{{{{||{||||{z{z{{{{{||{||}|{{z{z|{z{|{|||{{zz{{{{{z|{{{|z|zzzzzz{{zz{|y{{{{zzzzz{{z{{{{|{{|z{zz{zz{{{{{|{{{zyz{{yzzz{||zy{{zzzzzzzzzz{zz{{|{zzzzy{yz{zz{{{zzyzyzzyzy{{zz{{z{zzy{zz{zzz{zz{{yz{y{zzz{zz{z{z{zyzz{zzzzz{z{{{{{zz{zzyzz{{{{||{{zyzzz{yy{zz{z{{{{zyzy{z{{{zz{{zzz{z{z{x{z{z|{{|{zzy{yzz{||{{{{zzzy|zzz{z{{{zz||z{{zzz{zz{{{z{{|z{{{{yzzz{{|{{{}|z{z{{zz{|{|{{|{{zzz{z{{{z{z|{|{{z{zz{{{{||{z{||{z{{zz{z||{{{|{{{{z{z{z{{{||{|{{{zzz|{{z{}{z|||{{z|zz{{{{||{{||{{z{z|{z{{|{|||{|{z{{|{{{{{||{{{|{{z{{{z{{z{{{{|{{{{{{{z{|{{{{{||{|{zy{z{{|{|{{}|{{zzz{zz{{z|||{|{zzzz{zz{{|{{|{{zzzzzyzyyzz{{{|{zz{zyyyyy{{{z|{|{{zzyzyz{zz{{||{{{yyzzzzz{zzz{{{{zzy{zzy{{{{{{{{{zzzzzzzz{zzz{z{{zz{zzzz{z{z{z{{zzzzyzzzy{{{z{{{zyzyzyzzzz{zy||{{zz{yzyzz{{z{|{zzzyy{yz{z{{{{z{|zzzzzyzyzzzzy{{z{zyzzzyz{|{{z{|{zz{zz{{{{{|{zz{{zzyyzzzy{|{|{zz{{z{z{{zz{{{{z{|{zzz{zzyz{{{zzz|{{zzzzzz{z||z{{{{{|{y{yzz{|{{{{|{{zz{{y{z{||{{|{z|{{{{{{{{{{{{|{{zz{zy{{{{|{{|||{{{{{y{zzz{|{{{|{{zzz{{zz|||}|{||{z{z{{|{{|z{{|}{|z{{z{{{{{{{||||{{zz{{z{||||{{|{{z{{{{z{{||{{||||{{||zzz{{|{|{|{{z|z{{{{{|z|{{||z{{{yzzz{{{|z{{{zzz{zzzy{||{zzz{z{zzyzyz{z{z{{{{z{zzzzzzz|{|{{{|z{{zzz{zz{z{{{{{{{zzzzyz{zz{z{{{zzyyyzzzz{{{{{z{{yz{zzzz{{{yz{{{{zzyzzzyz{{{{zzyzzzz{{z{zzz{y{{{zy{yzxzy{{{{zz{{{yyyz{yzzz|z{{{|{zzyzzzz{{z{|{zzzzyzzzzzzz{zz{z{zzzzzzyy{z{zz|{{{zz{{zzy{z{z{{{|zzzz|{zzz{z{{|{z{y{{zz{{{{z{|{{{z{{{zzzz|{z{|{z|zzzy{zzzz{{{z|{{zz|{{{{{|{{|{z|{{zzzzzz{|{{|z|||zzzz{{z{{||}|{{}{z{y|z|{{{|{{||{{{zzz{{zz{{{{|{{|{{{{{{z{||{|{|{{z|{{{{z{|{||{|{{{z{zzzz{|||{||{|z{{{{z{{|{{|{||{{z{{{{{{{{||}{|{|{{|{{{{{{{|{||zzz{{{zz{|||{{|{{z{zz{{z{{|||{{{zzzzzyzzz{z{z{zz{zz{{{{zz{{{{zz{{zyz{yz{zz{{{|{{z{z{zzzz{{zz{{z{}{zzzzzz{{|{{z{{z|zzyzzy|{z{{zz{|zzzzzzzz{|zz{zz{zzyzyzz|{{{{{{||zz{z{zzzz{{{{z{{zyz{yzz{{z{zz{zzz{{zzz{{{{y{||{{{{{zyz{{z|{{{||{z{zz{{z{{{z{{z{z{zz{zzzz{z{y|{{zzzz{{zyz{{{z{{{zzzzzy{z{z|zz{{{{z{{z{|z{{{|{{{|{z{{z{{{{{|{{|||{z{{{z|{{||||||{{{z{zzy{{|{||{|{{zzzzzzy{|{|{|{{z{z{{zyz|{|{|{||{|{{{{||{z{{{{{}|{{{z{zz{|{||||||{{z{z{{{|||||||{{{|{}|{|{{|{{|||{{{z|{{{||}z|||{z|{{z{{|{||{||{|{{|{z|{{|{{|{}||{z{{z{|||{|||{|{z{zzz{|{{{{||||{{{{|zz{||{|{|{{z{{zzzzz{{{|{|{{{zzz{zzz{{z{{{|zz{zzzzzz{{z{{{|||zzzzzzz{{{{|{{{{zzzz{z{{|zz{z|{{zzzzzzy{{|{{zz{z{zzzzzz{|{z{{{{{zzz{zzzzzz{{{{{{{zzzzzy{{{|zz{{zzzzzz{z{|z{{z{{z{z{{zy{{z{z{z{z{z{zzzzz{zy|z{{|z{{z{yzyzy{z{|{{{zz{zzzz{{zz{{|{{zyy{zzz{{{{|{|{{z{{zzzzz{{z{{{{{{{zz{{z|{{{{{||{{{{zz{z|{z{|||{zy{zz{z{z{{|{|{{z{{z|{z{{||{|{{{{{{z{{zz||{|||{|{{zz{{{{{{|||{{|{z|{{|{{{|z|{|||{|{{{zz{{{|||||{{z|{zz|{{{|{|||||z{z{{{{{{{|||}{{{{|z|{z{||}{{||{{{|z{{|}{|||{||{{{{{{{{{|||{|{||{|{|zz||{{{{||{{z{{{{{z{|z{{{|{{{{z{{{z{|{{{{|{{|{{{zz{{|{|{{{{{zzz{zzz{{|{{{z{{zzzz{zz{|{{{|{|z{zzzzzz{zy{{{|{zyyz{zzzzz{|{{{{{z{{zzyz{{{{{{z|{zzyz{{z{||{z{{{{zzz{zzzzzzyz{{z{zzzy{{zzzz{z{z{{zyz{yzzzyz{{z{{zzz{zzyz{{|zz{{{z{yzzzzzz{z{{z{|{z{zzz{zzzzz{{{{zzzyzzzyzz{{|{}{zyz{{zzy{{{{|{|{z{zz{zz{{{{{{z|{{{{|{zz{|{z{{{||{{{z{z{z{||{{||z{{zz{z{z{{{{{{z||{{z{{{y{||z|{|{|y{{z{{{|{{z{{{||{z{y{{{{{||||||{|{||{{{{|||{|{|{{{|{{|z{||{{}|{|{{|zz{z{|{|||||{{{{{{|{|||{||||{z|{z{z{|}|||||||{{{{z{{|{{|{|||{{{|{{||||{{{{||{{z{{zz{{||{|{}{{{{zz{z{z{{z{{|{{{{{{zz{{|{{{|{{{z{z{zzzzz{|z{{zzzz{zzz{z{{{{{z{z{yyzz{z{z{y{{{{z{zz{{zy{zz{|z|{{{zzzzzz|{{z{{|{{{zzyz{z{{{{y{|{yz{zzzzzz{{{{{{z{{zzzzzz{z{z{{{{{{zzzzz{z{{{{{{{zzyzzzz|{z{{{{zzzzyzzzzyz{{{|{{{{||zzzzzy{{z{zz{{zzzzzyyzz{{z{{|zzz{{yyzy{z{{{{{zzzyzzzz{{{z|{{{{zz{z{{{{zz{{{{{{zz{yz{zzy{{z{{|zzzy{z{z{{{{{{|{{z{z{{{z{|z{|{|{{z|zzz{z{{|{{||z{y{zz{z{{{{{||{{{{{z{{{{{{z||{{|{z{{z{z{{|{|z|}|z{{|{z{z{{{{z|}{{z{{{zzz|{{{|z||z{z{{{z{{|{|{}|||{|{|{{{{|{|{||||z|{{{zz{{|||||{{z{{{{{{{{|{{||{{{zzz{z{|{{|{|||z{{z{z{{{{{{|{{{{{|{{{z{||{{{|{z{{{y{y|z{{z{|z{{{{yzzyzz{{z{{|{{z{{{zyy{{{{z{|{|{z{z{zy{z{{zz{{{{|zz{{zz{{|z{{{{{zzzzzzzz{zz{{z{{{{zzzzz{{{{z{{|{zzz{zz{zz{zz|{{zyzzzyzz|z{{z{|{zzy{zzzyz{z{{{{{yz{{yzzzzz{{{{{|zy|{zzzzz{{|{{|{{{zyzzzyzz{z{z{{{{zyzzzzz{{{{|{{yz{z{{{yzz{z{{|zzzz{{z{{z{{{z{||{z|{zzz{{{{zz{{||{{{zzzz{|{{{{|{z{{z|z{{z{{{||{{{{|z{{zz{|{{{||{{z{z{{z|{{||{{{|{{{{{|z|||||{||{{{z{zz{{||z|||{{|{zz{|{y|{{|{|||{z{{{|{{{||{|||{|{{z{|{{{{|{||||{z{{{|{z{||}|}|}{{{||z{z||{|{{|{|z|{{z{|{{{||}{|{{zz{{|{{{{||{||{{{{{{{{{{z{|||{{zz{z{z{{{|{|{{{{zzzzz{z{|{{|{{|{zyyzzzzzz{{z{{{{zzzzzzzz{{{{|{{{{z{z{{{z{z|{{{{|z|zzzyzz{{{z{{|zzzyzzzz{{{{z{yzz{zyz{{y{{{{{{{z{y{yz{y{{{{{{{{{{zzzzz{y{{z{{{{{zyyyzzzy{{zzzz|z{zz{zzyy{{zz{|{{{z{yzyyzz{z{{{|{{{z{{zzy{{{{{{z{z{zyzzzzz{{|{|{{{{{z{z{zzz{{{{{{{{zz{zzz{{{z{{{zzz{{{z{z{{{{{{{|z{|{z{zy{z|z{{{|{z{{{zzzz{{{||{{zzz{{|{{{{{{{{{{{z{{z|{{||z{{{|{{{{{{{{z{|{|{}||{{{zz{{{||{|{{|}|z{{{zzz|{|}|{}||y{|{z{z||}|{||{|z|z{{zz|}{|{|{||z{{{|{{{|}|{|}|{{||{{{{{||{{||{|{{{{{z{|{{{|{|{||{{||{|{|{|zz{|{{|zzz|||{{|{|||{|{z{z{|z|{|{|{{|z{z{yzz{{{{{{|zz{zzzyzzy{{{{z{|z{zzzzzz{{{z{{{z{z{zz{{z{zzy|{|{zzzzyz{z{|{{z{{{zzz{zz{z{{{zz{{{zz{zzyyzz{zzz{|{{z{zyzyz{z{zz{zz{{{zzzyz{zzzzz{|{yyzzyz{{{{{|{{zzzz{zzzzzzz{{{{zzzz{zzzzzz{{{z{{{zzzzzz{z{zzz{{{{z{zzzzy{{yz{{{zzy{z{{zz{z{{zz{{|{zzzzzz{{{||{z|zz{zzz{{{z{{z|{{z{{zzyzz{z{{{|{z|{{{zzz{{{|{|{{{{{{zyzzz{{|{z{{{{z{z{zz{||{{z{{{{zzz{{zz{|{{{|{|{{{z|{|{}|||{{|}{{{{z{{{{||{{||{|z{z{{|{|||{|{|{{{{zz{{{|||{{|||{{{zz{{{{|{|||}{|{{{|z{{|z{{||{{{{z|{z{{{{|||{|||{z{|{z{|{||||{|{{{zz{{z{|{{||||{zzzz{{z{||{|{{{zz{{{z{z{|{z{{zz{{zy{z{yz{{{zz|{zzyz{z{y{{||z{||{{zyzzzy{|{z{{{zzz{zzzzzzz|z{{{{{zzzzz{zz{z{{z{{zzzyzzyzyzzy|{|{zz{zz{y{|{zzy{{zzyzyzzzz{zz{{{|{zzzzyyz{z{z{zz{z{zzzyyyz{{z{{{{{{zzzzzzyzz{|{z{{{zz{zzzyz{zzyz{{zzzzzzzzz{z|z{{{zzzyz{zzzz{{z{{{{zzy{zzz{{zz{{{{zzzzyz{{{zz|y|{|zz{z{{{{z{{zzz|{zz{zzzzz{|{{z{z{{zz{{z{{{{{{{z{{{z{{zzz{{|{zz{{{{{{z{{z{{||||}|{{zz{{{zz{|{|{{|{{{{{{{{zz{|{z{|{{zzz{{{{{|{{|||{{z{z{{{|{|{{{{||||{zz{{z{||{{{|||{{{{z{{{{{{{}{{{z{{{z{{{{{{{|||{zz}{z{{{{{{||{|{{z{zzzz{{|{{{|{{{{{zz{z{|{{{{{{z{zz{{{z{{{{{{z{{y{z{{zzzzz{{{|{zz{z{z{y{{|z{||z{z{yzz{{{{zz{{|z{zzzz{y{z{zzzz{{{{zzyzz{{{{z{{{|zzyzzzzyzz{z{z{{yz{zzzyzzz{zz{zz{zz{zyzz{{z{{{{zzzzzzzzz{yzy{zzzzzzzzzzzy{{{{{{|zz{zzyzyz|z{z{{zzz{zy{zzzzzyz{{z{zyy{yzzz{zzz|z{zzz{{zzzz{{{{z|{{z{zzz{zz{{{zz{{zyzyz{{z{z{z{{{{{{{y{{z{{z{{{|{{{{{y{z{zz{{|{zz{{{|z|zy{|z{{{{{|z{{z{zz{|{{{{||{zzz{z{{|z{{{{|{{z{|z{{|zz{||{||{{zzz{|zz{{{{{}{{{zzz{z{zz{|{||||{z{{|{{{|||||||{{||{{|z|||{{|{{{{||{z{{{{|{|{||z{zz{{{z{{{||{|{|{{{||{{{|{||{|||{zzz{z{{z{{|{{|{{{z{{z{z{|{}zz|{{z{yzyz{|{{{z{z{{zzzz{zz{z{{{|{{zz{{zzz{{{{{{{{|{zz{zzzz{{{zz{{{{yzzzzy{{{{{|y{|{|zyzzz{|z{zz{{|{z{zzz{{{z{{z{{zz{zy{zz{{z{zz{{{zyz{{zzz{z{{{{{{{z{zzzzzzzzzz{{{{zyzzz{z{z|z||{{yzz{zyyz{{z{y{{{zzzz{yzzz{{{{z{|zz{yzzyzzzzz{{{{zz{z{{zzz{|{z{{{{zzyz{|z{{{{{{{{{zz{{z{{{{{z{{{{z{z{z{{z{z{{{|{{{{{{z{zz{|{{||{{{z{{z{{{{z{{{|{{|{z{zz}{{|{|{|{{zz{{z|{{{||}{{}|zz|{z{{||{||||}{|z{{{{{z}{}{z|{||{{{||{{|{}z||{}{z{|z{|{{|{|||}{||z{{{|||||||||{||||{||z||||{{|||zz{{{z{|{|{|||}{|z{zz{{|{|}||||{{z{|zzz{{{||}||{{{{z{{z|{{{{||{{{zyzzz{z{|||{{{{zz{zz{z{{}{|{{{zz{zzzz{{{{{z|z{{{zzzzzz{{{{|z{z{{zzzzyz{{|zz{{|{{zzz{{{z{{z{{z}{{yz{yzyzzzz{{zz{z{yzzzzz||zz{{z{zzz{zzzzz{{{z{{zz{yzyzzzz{{z{{{z{z{zzyyzz{{{{{|zzzzzzzy{{{z{{{|{|yy{zz{zzzz{z{z{z{yzzzz{{{|z{{|zzzz{zzzzz{{{{||zzzzzz{zz{{{z{|{{z|{zzz{{{{{{{{|{{{z{zyyz{{zz|||{z{zz{{zz|{|{{|{|{{{z{z{z|{{{{}|{z{z{z{z||{{{|||{{{{{{z{|{|{||{{zz{z{{{{{{|||||{{{{{z{{{{}|{|||{|{{{{z{{{|||||{}{z{z{z|{{{{|||{{|zz{zz{{{|}|{||{||{}{{{{{|{{{{||{{{{{{z|z{{|{|{||{z|{{z{||{|{||||{{zz{{z{|zz{||{{z{{z{|y||||{|||{zz|z{zz{{{{|{{{zzzzzz{zz{{{z{z{{zzzz{yzz{{{z{{{{{zyyzy{{{z{z|z{zzz{{zzyz{{{yz|{z{{zz{z{z{{{{z{|z{{zzzzz{|{|z|zzzzzz{{z{z{{zy{{{zzzzzzz{zyz|zzz{zzzzzzyyzz|{y{{{zzz{yzzzzz{zzzz{zzzzz{zzz{z|{{{zzzzzy{zzz{z{{{{{zzzyzzzzz{{{y|{{zz|{zz{zz{z{{{{{{{z|zz{z{z{{{{|{zzz{zy{{{z{{{{|{{{zzzzzz{{||{{{{z{{z{zzz{|{{{{{{zz{z{zyzz{{{|z|{zzz{{{{{{z|{{||{{{{{{|zz|{|{|}||z{{z{z{|{|{|}|}{|{{|{{z{{{{|{{{||yz{{z{||}||||||{{{{z|||{|{}{|}{|{zz{z{{{|||{||||z{{z{{|{|{{|{{|z{zzzzz{{||{{{||}{{||zz||}{{{{{}|{{{{{z{{{|{|||{|{z{z{z{{|z{{{{{{|zzzzzz{|{|{z|{zyz{yzzzz{|{{{{{|{zyzzz{{z{{z{{{zzzzzzzz|z{z{{|{yzzzyzz{zz{{{{{{zzzz{zzzz{{{{{z{zyyzzzz{y{zzz{{zzz{z{yyyzzzzzz{{zzzzzzzzyzzz{z{{zzzyzzzzzz{{z{|zzyzy{{x{zzz{z{{{zyzzyzzzz{z{zzzz{zyz{{zzyz{{{y{|{{zzyzzzzzzz{{{zzzzy{zzzy{y{z{|{zzzy{zyz{|{zy{z{zy{z{{zz{{z{{|{{z{{zzzzz{{{{{{{{y{{zzyzz{{{{|{z|zz{z|zyz|z|{zz{|zzzzzz{z{{{{{{{|{z{{{yz{{{{||||{z{{z{{{z|{z{{{|{z{{zzz{z{{|{|{|{|z{{z{z{{}{{|{||{{|z{{{|{|{|{||||{{{{|{{{||||||{{z|{{{{{{{{|{{{{{z{{z{{z{{{|{|{|{|zz{zzz{{{{{|{|{|{{z{z{{{|{z{||{{z{zy{z{{|{{{{{{{{z{zzzz|{z{z{{zzyz{zzyz{|z{{|{zzzzzzzyz{{{|{{zzz{zzzz{{zz|{|{{zyzzzzyzzz{{z{zz{zzyzz{zzz{{{z{|zz{{zzzzz}z{z{{z{z{zzyzz{z{zz{zzzy{zz{zzz{{|zz{{zyyzyy{z{{{{{{|zz{zzzzzz{|{z{{{{yz{zyzzzz{{{{z{{z{z{z{{y{zzz{z{{{zzz{zzyz|z{z|z|zz{zzzyzz{{zz{{z{{zz{zy{{|zzzz{{{{zz{z{{{{{{z|{{{zzzzzz{zz{z{{||{zyz{{z{{{{{{{|{|z{{z{zz|{z||{|||{{{z{{z||{|{|{{{z{{{z||{|||||||{{z{{{{z{|z||{}|{zz{{|zz|{|{|||}|{z{{z{{||z{{{||{{{{{{||{||{|}||{{{|{|{{{|{||{||{{|{zz{z}{z{|{|{|{{zz{y{|{{{{{{|{{{{{{{{|{z{||||{|{{z{z{{{{|{{{{|{{zzz{z|{{{{|{{{{{{zyzz{{{{{|}{zzxzyyyyzy{{{{{zyz{zzzzzy{{{z{{{{zyzzzzz{{{z{|{{{zzyz{{zz{{{y{|{{yzzz{{yzz{z{{{{zzzz{zzzz{{{z{{z{zzzzyzzz{{zz{{{z{zyzzzzz{zz{{z{zzzyzzzyz{z{zz|{zzy{yzzzz{{{||{|zz{zyzy{z{{{{{{{{zz{zxzyyz{z{{z{{{zyzy{zzzz{{z{{{zzzzyzy{{{{{{|{z{{zzzz{{z{{{yz{{zzzzz{z|{{{{{|{z{{zzzzzz{{{z{|z{zz{zzz{zz{{{{{z{zzzzz{z{{{|z{||{zz{z{{{{{|{{{{{{{zzzz{z{{|{|||zzzz{{|{{{{{|z|{{{zz{zzzy{z{|||{||z{{{z{{{|{|||||{{{|{|{z{{{z{}{{||{{{{{z{|{{z{|||z{{zzz{{{{{|||{|z{{zzz{|{|z|{{{{z{{{{{z{||{|{|{{{zzzzz{{|{{{{|{{{{{{zzz|{{|{{{{z{z{y{{z{|{z{|{{zzz{zzzz{{{z{{|{{zzyz{{zyz{zz{z{{{zzzzzz{zzzz{{{|zzy{zzzz{{{{|z{zzzyzzzz{{z{z{||{yy{z{zz{zzz{{z{zyyzzzzzzzzz{zz{{{zzzz{{yzz{{{z{zzzzzyyy{zz{zz{{zzzyzyzzz{{z{{{z{{z{zzyzz{y{{z{{{{zzzzzy{{{{z{{zzzzyzzyyzzzyz|{|zz{zyyyz{z{|{zz{{zzz{zzzz{{{{{||zzzz{{{z{z{z|z{{{z{{zzz|z|z{{zz|z{{zzz{{z{{|{|{{{zzz{{zz{{{{{z{z{z{zzzzz{{{{{{{z{{{z{z{{|{{||{||{{{z{{|z{|{{{||{{z{{{zzz{|{|{{{{}z{{{zzz||{{{}{{zzz{|{{{{}{{{|||{{{{{{{z{|{||{}{|z{{{z{z{||{{|{{{{yzz{z{{z{{{{|{{{|{{{z{{{{|{|z|{{|zz{zz{{{z{{{{{{zz{{{z{z{{z||{{zzyzz{z{{{{{{z{zzyz{zzy{{zzz{z{z{zyz{zzz{{{z{||z{zz{zzz{{{{z{{{zzzy{{zzz{{{zz{|z{zyyyzy{{|{z{{{zzzzy{zzz{{zz{{zzz{zzyzzzz{zzzzz{z{zyzyzz{{zzz{zyzz{zzyyz{{zyzzz{zz{zzz{z{zzz{{{zzzzyyzzz||z{{{|{{zyzyzzzzzz{z{{{z{zzzyzzzzz{{|{z{zyzzzz{{{{{{z{z{zzzzz{z{{{zz{|{y{z{zzz{{{{{z{|yzz{zzzz{{{|{{z{z{{z{zzzy{{|z{{|zyzzzy{zy{{{{{||zz{|{z{z{{zzz{{{{|{z{|{{{|{{{||{yzzz{{z{|{|{|||{{{zyzz{z{{|{|||z|zz{|z{{||{{{{||{{{{|{{{|{z{|{{||{{{{z{{||}{|{|||{{z{yz{|{||{||{|{{{{yz{z{zz{z{{{{z{{{{||{{z|||||{{{zz{{{|z{|{|{{{{{{{|zz{{|||{{{{{zz{{{{|{z{{{{zyzyzyzxy{{{{{z{yzzzzzyzzzz{{{{{z{zzzyyz|{{z{{zz{z{{zz{z{z{{z{{{zzzzzzzzzzz{z{z|{z{zyzyyz{zz{{{zzyzzzzzy{{{z{z{{{zzzyzyzzzzzz{{{zzzyzzyyzzzzzz{{yzzzyyzyz{|z{|{{zzzzzzyyzzzz{y{{zzy{zzyzz{{z{{zz{zzzzzzyzzzz{{{{z{yzzz{zzz{z{{|{{{zzzzz{z{zz{zz{{z{z{zzz{{z{zz{|y{{zzyz{{z{{z{|{{{z{zzzzzz{z||{{{z{z{{z{z{{z{||{zz{{zzzz{{{{z|z{{zz{zz{{|z{|{|{|{{|{z{zz||z|{{{|z{{{{{zz|{||{{|{|z{zz{{y}|{{|{{{{z{z||{{{|{{||||{zz{{}{{{}{{{{|{{{zzyz{{{}{|z{||}{{z{{z{|{{{{|{|{|{z{z{{{{{|{{{|{{zz{{{{{|{|{{|{{zz{z{zz{{|{{{{{zz{zzzzz{{{{{{zz{z{yzyz{yzz{zyz{{zzyzyz{zz{{z{{{zz{zzzzy{zzz{{{|zzz{zyz{{z{{{{{{{{zzzzzzzy{{zz{|{zzyzzzzzzzzzz{{z{yyzzzy{zzz{zzz{{yyz{zzzzzzzzz{zz{zzzzzyzz{{{{zzxz{zzzzzzy{z{{zzzzzyzzzzz{z{{{{z{zyyzzzz{zz{{z{{{yzzzzzz{{{z{|{yz{z{z{y{{{{z{{{{zzzz{{z{{{{{{{{{zzzzzz{|z{{{{{{zzyzz{zz{|{{{{z|{zz{zy{zz{{{||z{z{{{{zz{z{{{|{|{{zz{z{zz{{|{z{{{{{{|{|{{z||{|{{|{{{z{|zy{{{}{}{{||z{z{{z||{|{{|{|z{{{z{{{{|{|{||{z{zz{{|z{{{|}|{|{z{{{{zz|}}|||}{z{{{{{{{{}{|{||{{{z{z{{{{{{|{{{{{z{{z{{{|{{|||{|z{{z{{z{|{{{||{{{zzzzzz{{{z{{{{{{{{zzzz{{{{z{||zzyzzzzz{{|{z{{{{zzzzzzz{{{{z{{z|zzzzzzz|zz|z{zz{zzzzzzy{zzz{zz{zz{zzzzyzz{{|{z|zzy{yzzyz{{z{z{z{{zzyzzz{{{zz{z{z{{zzzzyzzz{{{{{{zzy{zyz{{zy{{{{zyzzyyxzz|zz{{{{z{{zzzzz{|{y{||{zz{zz{{zz{yzz{{{{z{{yy{y{{{{{{|zzzzzzzzz{{{zyz{|{zzyzzy{{z|{{z{}|zzzzzzzz{{{{{||zz{zzy{y{{{z{{{z{z{{{zzyz{{{{{|{zz{{z{{z{{|z{{{|{zzz{{z{{{zz|{{{{{|{{|zz{z}|{{||{z{{z{{z{|{}{|||{zz{{{{{{{||{|||{z{z{{|{{|{|{||{{{z{|z|zz{|{{|{||{z|{zz{{|{|}||||{|{|{z{{|||{{|||{{z{{{{{|{|{||{{{{{{{{{{{|{z{{}{{zz{{zz|{{{{z|{{zz{zzz{{{{{z{{{{{{{zz{z|{{{{{{|zzzzzzzzzzz{{{z{zzzzzyzyz{{{z|{z{{{y{zz{{zz{|z||{zz{z{{{z{y{z{||zz{{zz{zz{zzz{{|zzzy{zzzzz{{z{{{{z{z{{zzzz{{zz{zz{{zyzzzzz{{z{{zyzyyzyzzz{{z{{|zyzzzzzyz{{z{{{{z{zzzy{zyz{{{|{|{zyzzzzzy{{z{{{zzzyzzzzzz{{{z|z{|{z{{z{yzzz{z{yz{zz{z{{z{{zz{z{{{{zz|zyzz{zz{|{||{z{zzz{zz|{z{{||{{{z{yzyz{z{z{z{{{{z{z{{{{|{{{{{{z{z{zzzz||{{{{{{{{{z{z{}{{||{||{z{zzz{{{{z|{{||{{z{|yy{|{||{{|{{z{|{z{{||}}{{|}{{|zz|||{{|{{|}|{{{|{zzy{|{{{||{{{{|{z{|{{|{{{|{{{{{z{z{{||{{||||{{z|{{{||{|{{{||{{z{{y|{{{{||{|{{z{{{{{{{z{{|z{z{{{{z{z|z{{{|{zzzy{yz{zzz|z{|{{{{z{{z{z{{{zz|{|{zzyzzzzz{{z|z{{zzzzz{y{zz{{z||{{zzzzzzz{|{{{{{{{zzzz{zyzz{{{{{{{zzzzyzz|{{{{{{zzzzzzzzy{{{{z{{{zz{zzzzz{{zz{||z{zz{{{zz{{{{|{{{zzz{yyzz{|{zz{{|zyz{zz{yy{{zz{{{zzzyyzzz{{z{z|{zyzzz{zzz{|{{{{{|{zzzzz{{{|{{{{z|{{z{{zzzz{{z{{{{zz{zzzzzz{|{{{{{{{{{{zzz{{z{{{{{{z{zzzzz{{{{|{||yz{|z{z{{|{{z|{|zz|{zz{z||{|{|{{{{{zz{{{||{|{{||{z|{z{zz{|{||{|{{{{{|z|{{}|{{|||{{{z{{{{{{{{{{{||{{{z{{{|{||{{{|{{{{{{{{||||{{{{{z{|{{{z{|{|{{||{{{z|{{{{{|}||{{{{{y{{zz{{{{{|{|{{z{{{{{{z|{|{||z{{z{z{z{{|{|{z{zzzzzzzyzz|{|z{|zzzzzzzz{z{z{{z{{z{zzz{y{zz{{|{{{z{z{zzz{{{|z|{{{zzzzyzyz{|{z{z{yzzz{zzzz|z{z{{zz{zzzzzzzz{{zz{{zy{yzzy{{z{z{{{zzzyyzzz{|{z{z{{{{zzzy{z{zz{y{{zzzzzzyzzzyzz{{{|{{zzzzyyyzz|z{{{z{{zz{y{zzz{{z{|{zzzzzzzz{{zz|zz{{{yz|zzz{{||z{{|yz{{{zz{{{z|{{{{{z{z{zzz|{{{{|{{{{{{{zzzz||{{||{{{{z{zzy{|{{{{{{{{zzzzz{{{{{{{}{|z{z|{z{{}{||{{|{{|zzzzz{{{|{}}|{{z{{{{{|z|{{{{{|{z{{{{{|{{{||||{||z|z{{|{{{|||{|{|{{z{{{}{|||||{z{{{|{||{|{||{||{z{||{{||{{|{{{{{|z|zzz{{{}||||{z{z{z{z{{{{{{|{{{{{{{{z{|||{{{|z{{zzzzy{{|{zzzz{{zzyzyz{|z{{{z{{{zzyxzz{{{{{z{{{zyzzzzz{z{z|{{{{yzyzzzz{zz{zz{{{yyzyzz{yz{{z{z{zzzzzzyzzzz{z{{{{{yzyyzz{zzy|{z{zzyyyzzz{zy{zz{{{zyzzyyz{zzzz{{zzzzzz{yzz{{z{{{zzzzyzzzzz{{{z{{z{yzzyzyyyz{{z{{{zzzzyzzzz{zz{{|{zyzyzzz{|{{zz{{z{zzzz{yz{{zz{{{|zz{zz{zz{z{{|z{|z{zzzzzzy{{{{{|{zzz{{z{{z{{{{|{{{y{{zzzz|{z{{z{{{{{zz{{z{{{{{z{{{{{{z{{z{{||{|||z{{{{zz{{{{{|||||y|{z{zz{{|||{|z{zzz|z{z||{|{|||{{{{z||{{||{{||{{z{{|||{z|{{|||{{z{|{z{z{{{{||{z|{{{{z{{{{{{|{||{{{{{{zz{{{|{||{z{{{zz{{z{{z{{||{{{zz{zz{|{|{{zz{zzy{yz{{{|{z{{{{yzzzzzzz{z{{z{{zzzyzzz{zz{z{z{{z{yzzzy{{{{z{zzzzy{zzzzyy{z{{z{{{{yzzy{y{{z{{{|{{z{zzzzzz{zzz{zzzzz{zzyyzz{zz{z{zyzz{{yz{zzzzz{|{zyyzzzyz{zzz{{y{zyyyzzzzz{|{{{{{yz{yzzzz|{|z{z{{{yzzy{yz{{{z{{{{zzzzyzzz{{y{{{{{zz{zzyz{zz{{{z{zzz{{zzzzzz{{{{|{yzzz{z{{{|{{{{|{{{z{zzz{{{|{{|z{{{|zy{{z{||z|z{z{{{{zzz{{|||||{zzz{{zzz{{z{{}z|{{{{{z{z|{{{||{|z{{z{z{{|{z|{||}{{{{{z{{||{||{|{|{{z{{{{{{{{|||{|{z{z{{{{{{|||{}|z{z{|zz{|{{||||{zz|z{{|||}|{||{{{{zz{z{|{|||{||{{z{{z{z{{{{{{{}{||{zz{zz{||{{{||zzzzzzz{{{{{z{{{{{{z{{{{{|{{{z{z{zzzzzz{z{zz{{{zz{yzyzz{z{z{{{z{{zzzzyz{{{{z{{{{zzyyzyzzz||{z||{{zzz{zyzz{|z{{{{zy{zzzzzz{z{{{z{zzzzzzz|{{zz{{zzzzz{{z{{z{{z|zzzzzyzyyy{z{z{z{{z{{yzzyzz{zz{z{z{zzzyzz{{z{{z{{{{zzyzzyz{z{zz{z{zz{z{zz{zz{zz{{{zzz{z{{y{{{{|{{{zz{z{yzz{{{z{|z{zzzzzyzzz{{{||{|zz{zz{{zz{{{{|||{z{yzzz{z|z|z{{|{{{|{zz{{|{{z|zzy{{{{zzz{z{{{{{z{{zzz{{{{{||{||{z{{{zz{{{{{{{{|{{{{|zzz{{{||{{{{|{{{z{|z|||{{{|}z{{{{{|{{}|{{{{{{{{zzz{zz|||||}{|{{|zz{||{||||}z{z{{{zzz|{{{||{|{z{{{z{{{|||}{{|{{{zz{{{{{|{{{|z{{{{{{{z{z{{{{{{{zz{zzz{z{z{{zz{zz{{y{{zz|zzzz{|{zzz{y{z{zzz{||{yzyzz{zyz{{{|z|{{z{zzyyzz{{{zz{z{zzzzzzz{z{zzzz{{zzzzzzzz{zzz{zzzzz{zzzzzz{zzzz{zxzzz{yz{{z{z{zzzzzzyyzz{{{z{{zz{zyzyzzzzz{{zz{zzz{zyyzy{{z{{|{{zzz{{yzyyz{z{z{zzzyzzzz{zzz{{{{{yyzzzzzz{{z{{z|{{zzzzzzz{{{{{zz{zz{{yyzz{zz{z{|{zyzzzzyz|{|{z{{{{{|zyy|z|{{|{{{{{{{{yz{z{z{z{z{|zzz{{{{z{zzzz{{{{{zz{{z{{z|||||{z|{{{{{z{{{|{|||{{z{z{zz||{||{||{zz{|{z{||{|{|||z{{z{||{{||{{||{{{|{{{{{{||{{|||{z{{{zz{{{{{{|{{zz{{{{z{{{|{|||||{{{{{{{{{|{{{|{{{{z{{z{z{{{{{|z|{z{zz|z{|{{{{|{zz{y{yzz{{{z{{{zzzyz{yyzzzzz{z{{{y{{zzzyzyzzz{zzzzzzyzzy{z{{{{{{zzzyz{zz{{{{z{|{{{yzyy{z{z{|z{z{zzzxzzzzzz{zz{zz{zzzzzzz{{{{{{{z{zzzyzyyzzz{y{z{zzyzyyyyz{zz{{{z{zzzzyzz{z{yz{|{{zzzzzzz{z{{{{|z{{yz{y{zz{{zz{{{{zzzz{y{{{z{{{{z{zzzz{zy{z{|zz{{{zyz{zz{{z{z{{{|{z{{zzz{z{zz|{{{zz{zzz{{{{{z{|{{z{{zzz{{{{z{zz}{zz{z{zzy{{|z|{{|{zz{{{z{{zz{{||z{zzz{{{z{{{|{zz{{{|{zz{{z{{||{|}z{z{zzzz{|{|||z{|zz{{{{y{|{{||{|{z{{{{|{{|{{}||{|{{{z|{{{}{{{{{|{{{{{{{{{||}{|{{|zz{z{{{{z{{{|{||{{{{{{z{|{z{{{|{{z{{zz{zz||{z{z|{zzzzzz{|{{{|}{{zy{zz{z{z{z{zzz{y{yzzz|z{{{{{zz{zyzzzyzzz{z{{{z{{zzzzyzz{{z{{z{zzzzz{zz{z{zzz|{{zzzyzzz{{{{z{{|{zy{z{yzz{zy{z{{zzz{zzzyz{{z{zz{zzzzzzzzz{z{z{{{zyy{zzzzz{{zzz{zzzzzy{zzz{z{|z{{{{{zyzzzz{zz{z|{{zzzzzzy{zzzz{z{yyzzzyyz{|y{zzz{yz{zzzzzzz{{{{|zzyz{{{zz{{z{z{{{zyz{zz{z{z{{{z{|y{{zzzzz{{{{|z{{zzz{zzz{{{|{{{||{yzz{zzz|{|{|{{{{{z{z{{zz|{z{{{{{{z{zzz{||{{{{{{z{z{{{|zz{z|{{|{{z{zzzzz{|{{{|{{zzz{zz{{|}||{|{||{{z{{z{||{|{{}{{z{{z{{{|}|||{|{{{{{z{zz{{{||{{||{zz{{{|z{{{{{||{{z|{{{{{{{z{|{{{{{zzz{z{|{{{z||{{z{{z{z{{z||{{|zz{yzzzzzz|{z{{zzzzzzzyzz{{zz|{{zy{zzz{z{{{{{|{{z{{zzzzyzz{{{z{zzzyzzzzzzz{{{{{{zz{zzzyyz{{zzz{{zzzzzzz{{z{{z{{zyyzy{yyz{zzzz{zzzyz{xzyzzzzzz{zzzzzzzzzzyzz{zz{{z{zyzyyy{z{z{z{{zz{zyyzzz|y{z{|zzyzzzzzy{{zz{{z{{{yz{yzyyzzzz|{{zyzzyzzxz{{{z{{{z{z{zzz{{{{z{{z{{zzz{yzz{{{z{{{{zzzz{z{zzz|{{z{{yyz|zz{zz{{{|{{zzz{{z{zz{{|z{{{{{zzzzzzz{{z{{|{{{z{{z{{|{|{||}{|z{{{|{{{|{{||{{|{zzz{{{z{||||{}||zz{|z{z||{{|||{z{|zz{z{{{{{|||{|zz{{{{zz}{|{{{||z||{{{{|{{{{|{{|y{z{{z{|{{{{{{|{z{z{{{{{|{{{{||{{|z{z{z|{{{|{|{zzz{{{z{{{{{z{|{{{{z{z{zz{{{z{{{zz{zz{yzz{|z|z{{zz{zzzzz{{{z{{{|zz{zyzzz{yz{{{{{zz{zzzzzzzz{{z{{yzyzzz{yzz{{{{{{y{y{zzzz{z{z{{zzzz{{zzyzzzzzz{z{{zzzyzyz{z{zzz{|zzyz{yzzyzy{{{{{zzyz{zyz{y{z{y{{{zz{yz{z{|{|{z{{zzz{zzz{zz{|{|{{zyz{yyyzzzz{{|{zzzzy{z{zy{{z{z{{{zyzzzzy{{|{{{{{{z{zyx{{{{{{zz{|z{zzzz{zz{{z{|zz{z{{{z{z{{{{z{{{z{{{{{zz{{{{z{{z{{{{z|zz{{{{{{{{|zzz{z{z|{{|{|{{{{|z{z{z{{z|{|{||{{z{{zz{{{|{{}{{z{{z{{{{||{|{||{{{{z{{{{||{|{|||{z{{{z{z|z||{||{|{{z{{||{{|{||{z{z{z{{{{{{{|{|{|z{{z|z|||{{{{{{z{z{{{{{{|{|{{||{|{zzz{z{{{{z{{|{zzzzzz{z{{{{z{{zzzy{zzz{{{{{{|{{{zzzyyzz{z{z{{{{z{yzz{z{{{{{{|{zzyzzyy{z{{{z{{{{zzzyyzzz{zz{{z{zzzzyz{zz{{zz|zzzy{yzyzzz{zzz{z{yyyy{z{{{z{{z{zzzz{zzxzyz{zz{z{z{yyzzz{zzz{zzz{{yzzzyzyy{{zz{z{z{zyzzyyzy{zz{z{{{zzyzyyzzzzy{{{{z{yzz{{{z{{zz{{{zyzzzzzy{{{z{{{{zzzz{zz{{{zz|{||{yzzyzzzyz{zz{{{z{|{{yzyz{{z{{{{{z{{zzzz{{|{zz|{zzz{{z{{{z{{{|{{z{z{{{{z{||{{{|{{{{z{{{{{|{||{||{zzzzzzz{z||}{{z{{z|{zzz{|{{|{|{|zzz{{{{{{{{{{|||{{|z{{{z{{{{{|||{{{zz{z||||||z|{{zzz{{{z|{{{{{|{z{{{{z{||||z{{{{|zzz{z{{z{z{{}|z|{{z{{z{z{{{|{{z{{zzzzz{z{|z{z|{zzzzzzy{{{{{{z{y{zzyzzz{{|{{{{{{{zzzz{zzzz{{{z{z{{zzzzzz{{|z{|z{{{zzzzz{{{{{{{{{zzzzzzz{{zzz{|{{{zzzyzz{{zz{zz{z{zzy{zzzzz{z{{zy{zzzzzzz{{{z{z{y{zzzzzz{z{{|{|zzzzzzzzzz{{{|{{|{{zzzyzyz{zy{{{{{z{zzzzy{z{{z{{{zz{{{zzyz{|{|{{{z{{zzzz{{{{z{{{|zzzzzyzzz{{{{{{|{{{zz{zzz{z{{z{z{{{z{z{{{{{zz{{{{z{zzzz{{{|{{{||{{z{{{zz{{{{{}z{{{{{z{{z||||||||{{z{{{{{|{||{|{|{{z{{{{z{||{|{|{|z{{{{|z{||{||{|{{{z|{{{|{}{{|||{|z{z{{|{}|{{{|||z||{z{{{|||{{{{{z{z{{z|{{||{||||{|{{{z{{|||||||{{z{{zzy{{||{{||{{{{zzzz||z{z{|{{{{z{z{{|{|z|{{{{|yyzzzy{{{{{{y{{zzzzzzyz{zz{z{{{|z{yz{z{z{{z{z{zz{{{yyzz{{{{{{{zzzzyzzy{{{{z{{|zyzyzzyyyz|zz{{z{z{yyzzzyz{zzz{z{zyzz{yz{zzzz|{{{zz{zzzz{z{z{{{zzzzzyyzzzzzz{z{{{{{zzz{yz{{|zzz{{yzzyzyz{{z{{z{{zzzyyz{{zzzz{|{{z{zzzzz{zz{{{{{|zzz{{zzz{{{zz|{zz{z{{y{{zz{|{{|{zyzzzz{z{{|{{z{|{zz{zzy{z|{{{z||zz{zy{z{{{{{{z|{{zz{zzy{z{{{{{|{z{zz{{{{{|||||{{|{{{{{{{{|{|z{||{{z{zzz{|{||{{{|{zz|z{|z|{{||{||{{{zz{{{|||{|{|{{{{{z|{z{|{|{||{|{|{{zz{|{||z||{z{z{||zz{{||{||{{{{|{{zzz|||}||}{{{{z|z{z{z{{}{{{{{{{{zz{|{|zz{{{z{zy{zz{{{{|z{{zyzzzz{zzz{z{{z{{zzzzyzz{{{{{{{zz{yyyyyz{zzyzz{{z{zzzyz{y{z{zz{z{y{yzzzyz{{zz{z{zzzyzzzy{zzzz{z{{z{zyzz{zzyyz{zz{yyzzzzzzz{zy{{zyzyyzyzzzz{zzz{zzzzzzzyzzzz{z{z{{z{zzzyzzzzz{{||{yzz{yzzy{zzz{{zz{zyz{xyzzz{z{{{{zzz{zzyzzzzzz{{{zyzzzzyz{zzzzz{z{zzzzz{zzzz{{z{z{yyzzzz{{{{{{{|{yzy{z{yz{{|{{{{zz{zzzzz{{|{{z{z{zy{{zzz{{{{{{zz|zzzz{{z{{{{{{|{z{z{{{{{||{{{{{{{{{|zzzzz{{{z{{{{zzz{{{|{|{|{{|{{z{|{z{{{{{{|{{|{z{zz{{{{||||{}|{{z{{zzz|{|}{||}zzz{z{{zz{z{z|{{{{zz{zzz|z{{{{}|{{z{|{z|z{|z{|{{{{{{{z{zz{||{||{{{zzyzzzzz|{{zz{yzyzyzyyyz{zz{{zzz{{yyzyz{y{{{z{zzzyyyyyz{{{zzz{zzzyzyyyyzzzyz{{{yzyyyyyzz{{zzz{zzzyyzyyz{zzzz{zzz{yyyzzzzzzyzyzyyzyzzyzzzzyyyy{zyyzzyxxyzy{zz{zzzzyzzyzz{zzz{{{z{zzyyzyzz{zzz{z{yyyyyzzzyyyzzzzzyzyyyyzzzzzzzz{zzyzzz{yzyz{z{zz{yyzzyzx{{{zzzzzzzzyz{z{{{{z{{{{|zzzzzyzzzzz{zz|z{z{z|yyz{{{{{{zzzyzzz{z{{{zz{{{zzzyyyzz{z{zz{z{z{{zzy{{y{{{|z{z{zyzzzzzz}{{|{|{z{{zzyy{z{|{{{zz{{zzzz{zzz{{{z{{z{{zz{z{{{{{z{|{{zzzz{{|{}|z|{||{z{{{{{{{{{z|{{|{z{{z{zz{{{{z{{{z{{{{z{{{z{z{{{|{{zy{zzzzz{{z{{{{zzzz{zzz{{zzz{{zzz{yy{zz{{{zzz{zzzzyyyyz{zzzz{zzzzyyyxyzzzz{zzz{{zzzzzzyzzz{{z{{zyzyyz{zzz{yzzz{zzyyyzzzz{zzzz{zzzzyzzzzyz{zzzzzyyyyzzzzzz{yzy{{zzzyyyzyy{zz{{zyyzyyzzyz{{zz{{yyzzyyzzyzz{zzz{{zzyyyyyzzzz{zz{{zzzzzzzzzyzyz{zzzyzyzzyxz{zzz{{zyyyzzzzz{{z{{z{zzzzzyzzzzzz{z{{{zzzzzz{z{zzzz{{{z{zzzzzzz{{zz{z{{zz|yyyyz{z{zzz{zzyzzzyzzzz{{z|{zzz{zyzz{{zzzz{{{{zyyyzz{zz{{{{{zz{zyy{z{{z|{{{{zz{{zzz{z{{{z{{{|{z{{zzz{{{z{{|}zzz{z|{z|{{z{{{{{z{z{zz{{||z{{{|{{{zzz{z|{{{z{{{{zzzzyzz|{z{{{{{z{z|zzzzz|{{|{{{z{zzzz{z{{{{z{|{zzz{zzzzz{{{{{z|yyzyzzyz{z{{|{{zy{yyyzzyz{{{zz{zzzyzzzzzzzz{z{z{zzzyyyzyzzzzzzzz{zzz{yyzzzzzz{zzzzyyzyzyyz{zzzz{yzyzyyzyzz{yz{zzzyyzyxzyzyz{yz{z{zyyxyyzzzxzzzzzy{yyzyyyxzzzzzzzzyyyzyyyzzzzz{{zyyzzyzzyz{yyzzz{yyyzyyyzyy{z{z{zzzzzyyzyzzzzzzz{zyzyzzyyzz{zz{zzzzzzzzzzzzzzz{{{zzzzzzyzzzzzz{z{zzyzyyyyzzzzz{{zzzzzzyyzz{z{z|zzyzzyyzyz{{z|zz{{zzyzyyy{z{{zy{zyzz{z{{{z{{{{{{{|yzyzyzzz{{z{||z{zzz{{zy{{{|{{{{{{y{{{yzy{{{z{{{|{{zzz{{z{z{{|{z{{zzzzzz|{{z{{{{{zzzz{zzz{z{z{{{{zzzzzzy{zz{{{{{|{{{zz{zz{y{{zz{z{{{{{zzz{{{{{{{z{zzzzzyzz{{z{{yzzz{yzzzz{zyz{zzz{zyzz{zyzz|z{z{zyzzyzzzzzyzz|z|{zzyyzyzyz{zz{zz{yyyyzyzyz{yzz{{{zzzzyzyy{z{{y{z{yyzzyzzy{{zzyz{zyyzyzzzy{yzzzz{zyzyyyzxyzyzzzzy{zzyyzyyzz{{zz{{yyzzyyzyzzy{z{zzzzyzzy{yyz{zz{z{zzzyyzyzzzzzzzzzzzyzyzzzyz{yzz{z{zy{y{zyyyyz{zzz{zyzzzy{zz{{zzzz{z{zzyzzyzyzy{z{zzzzyyzzyzz{z{{{|zzzzzzzz{{{{{{{z{zz{z{y{z{z{{z{z{zzzzzzzz{{y|{{{{zzz{zz{z{{{{|}|{z{z{zzz{{{{{{||{{zzzzz{{{zz{{{{{z{{{{zzz{||z{{{{zzzy{{zz{|{|{{{{z{zz{zz{|z{{|{{{zz{zzz{{{z{{z{{z{yyzzzzz{z{z{{|z{zz{z{{{{{z{{|{{zzy{yz{z{{|{{{{{zz{zyzzz{{z{{zzz{{yzxzzzzzz{{{{yyz{zzzyzz{zz{{{zzyzzzzyzzyzzzz{z{{zzyyyz{z{{{zzzyyyyzzyzz{{zz{{{zyyyzzy{{{{z{{{zyyzzzzyzzzzzz{{xzyzzyy{zz{zz{zzyyyyzyyyyzzz{{z|zzzzzzyzz{zy{zz{zzzzyyyzyz{zz{{{zzzzzxzxzzz{z|{|zyyzzyzzyzzyzz|zzzzzyyzzzz{z{{|{yzzyzzyyz{{{{z|{zyzzzyzz{z{zzzz{zyzyzyzzyzz{zzz{{zyyyzzzzzzz{z{zzz{zzyyzz{{{z{z{zy{{z{yz{{{zz{{{zzzzzz{yz{{{{|{{yzy{{zzzz{{z{{z|zzzzz{zz{{{|y||{z{{zzzzz{{{z{{{{z{{zzzzz|{{|{|{{z{{zz{{zz{y{||{{zz{{{{{{z|{{{{||z{{zzzzz|{|{{{{{{{yzzzz{{|z{{{|zzzzz{zz{{{|{{{{{{zzz{zzz{{{{{{{|{{zz{{zzz|z{{{zzzz{zzy{zz{z{{{zzzzyyzyzzyz{zzzz{yyyxyzyzzz{zzzz{zz{z{zzzzzz{z{|z{yzyyzzyzy{z{zz{yyxzz{yzzzz{yzz{zyzzyyyz{{{zzzzzzyzyzzzyzzzzyz{zzzyxyzzz{{{{yzz{yzzyzzzy{z{{y{zzzyyzzzyzz{zz{{z{zzzxyyxyzzz{z{{{zzzyzyyzyyzzz{{z{yzzzzyyzzy{z{{{yyzyzzzy{{{z{zz{{zzyzyzz{|{{z|{zzzz{zz{y{zz|z{{{zy{zzzz{{{zzzz{z{yzzzyzzzzz|{{{zzzzz{zz{{{{|{z{{zzzzyzzzz{z{{{{z{{zzz{z{|{|{{{{|zz{z{zz{{{{|{|{|{zy{{zzzz{z{{{|{{zz{{zz{{{|{{{{{z{zyyzzz{{{{{{|{{z{z{zz{{{{||{|||z{zzzz{|{{|z|{{zzz{zz{{{{{{{|{{{{z{zzzz{{{z{|||{zzyyzzzz{{{zz|}|y{{zz{y{z|{{z{{zzz{{yx{zzzz{zzzzyzzzzzzz{{zzzy{{zzzzzzz{z{{{z||yzyz{zyzzzy{{z{{zzzzzzzyzzzzzzz{zzyyzzyyzzz{{z{{zzyzzzyy{z{z{{{{y{zzyzyyzzzz{{z{zzyzzzyzzzzzyz{zyyzzyzzzzz{zzz|{zzzyyyyzzzzz{{z{zz{zyzzz{z{{zz{{yyzzzxzxzzzzzzz{yyzyzzzyzzz{z{{z{zzz{z{xzz{{z{zz{zzyzzzzzz{zzz{{zzz{zzz{{z{{zz{|zzzzzzz{z{zz{{{|{zz{zyzyz{|{{{z{zz{z{zzzz{{{{{{z{zzzzz{z{{{{{{z{{{{z{z|z|z{|{||{{zz{z{{{{{|{z{z{{{z{zzy{y|{{{{|{{z{{{z{z|{z|{{||zz|{{{zzz{{{{|{}|z{zz{zzz{{|{|{z{z{{zzz{|{{{{|{z|zzzz{zz|{||{{||{z{{{zz{{|{|{z||{{{z{zz{{{{{{|{{{{{z{{zz{{{|z|{{{zyzyzzzzzz{{{zzzzyzzyzyz{z{{z{zy{zzyzzzz{{{z{{{zyzzzzzz{zzz{zz{zz{zyyzyz{{{zz{{yzyxyyyyzzzz{z{{zzzyzyzzzzzz{{{{{zzyyyzzz{zzz{z{zyzzyyyx{{zyzzz{{zzyzyyyyzzyz{zzzzyzzzyzy{{z{zz{zyyzyzzyzzz{{z|z{zyzzzyzyyzzzzzzzzzyyyzzzy{z{{{zyzzzzzzz{zyz{y{zzyzxyzzzyz{{{{z{yz{zzzzzz{{{zz{{yyyzzzyzz{|{{z{{{zzzzyzzz{{zzz{{zzzzzzz{{{z{zz|{{y{{zzzz{z{zz{{|zyz{z{zzz{{z{{|zz{zzz{zzz{{{z|{zzzzzz{{y{{z{{{{{{{{z{z{z|zz{{{{{{yz{{{z{z{z{{{|{|{{zzzzy{|{||{{|{zz{zzzz{{{{{{||zzz{zzz{{{{{|{||{zzz{{z{|z{{{{{{zzz{zzz{{{z{z{{{{zzzyz{zz{|{z|||zzz{zzzzz{{{zz{zzzzyyyyxzz{zyz{{{zyyzyyzzzzzzz{zzyyyzyyy{zyzz{{zzzzzyyyz{z{zzzzzzzzzyzzy{z{zz{z|zzzzyzzzzzzzz{zzyz{zyyyzzzzzzy{zyyyzyzyyzzz{z{{zzyyyzyxyzzyzyzzzzyyyyzzyzzz{zzz{z{zyxzzzz{z{zzz{{zzyzyyy{zzyz{z{xzzyzzzzzzyz{{zzzyzyyzzyzzzzzzzzzy{yzyyzyz{zz{zzzzzy{zzz{zz{{{z{yzzzyzyzzzzy{z{{{zzzyyzyz{{{{{{zzzzzyyzz{{z{y{{zzzz{zzzzz{{{{{{{z{y{zyz{z{{{||{{zz{{{{{{{{{{||{{{y{y{{zz{|zz{{{{{zzzzzzzz{{{|{{{zzzy{z{{z{{{{|{|{{zzz{y{{|{{{{{{{{{{zz{{z{{{{{{z{z{{zyy{{{z{{|{|{z|z{zy{{{z|{{{|zz{z{z{{z|{z{z|z{zzzzzz{{|z{z{{zzz{zzyzyz{{{{{zyzzzyzyyyzzzyz{zzzzy{yyyyzyz{z{zzzyzyyyyyz{z{z{{z{zzyzzyyz{zyzyzyzzzyzyyyzzzzz{z{yxzyyyyzyzyzzzzzzzzyyyyxzz{zyz{{zyzyyzyyzyyzzzzzzyzyzzzyzz{{z{{zzyyzyzxyzz{yzzz{yzyyyzzyzzz{zz{{yxzyyyyz{zzzz{{zzzzzzyyyy{yzz{zzzzyzz{yzy{y{{{{z{yyzzyzy{z{yzzz{{zz{zyzzy{zz{zz{zzzzzzzzz{{{zzz{zyzzzz{xz{yzzz{zzzz{zzzzz{{zz{|zz{zyyyyz{{zz{z{{{zz{{zzzzz{|{|{{{zz{{z{{{z{{{{||{zzzy{z{y{z{z{{z{zz{zz{z|||{|{|{{zzzz{{{z|{z||{{{zyz{z{zz|||{{{{zz|{{z{zzz{{{z{{{xyz{zz{y{{{{||}{{{y{zzz{{{z{z{|z{{zz{yzz{z{z{|z{zzzzzzyz{{{zz{z{y{zyyzzzz{{|zzzzzyyzzzzy{{z{z{zzzyzzyyz|zz{zz{{zzyzxzzzzz{{zz{|zyy{yyzzz{{{zzz{z{yyzzzyzzzz{{{{yz{yyzzyzzzzzz{zzzzxyyyzzzzzy{zzzzzyyzzzyzz{zz{zyzyyyyzyyzzyyz{zzzy{{zyzzz{z{z|{{zzzyxzyyzz{zzz|zyzyzyyzzzy{{zzyyzyzyyzyyzzzzzzzzy{zzzyyyzz{{z|{zz{yzyzzy{zz{zz{zyyyz{zzz{{z{zz{zzzzzzy{z{{z{{z{z{{z{zzz{{z{z{yzzzzzyyzz{{|{y{}{zyz{zzzzz{zzz{{{zzz{{y{z{|z{{z{zzz{z{{{zz{|{z{{|{{{{zzz{{{{|z{{{{{zz{{zy{{{{z{{{z{yzzz{z{{{{z|{{|zzzz{{{{|{{{{{{z{{{{zz{{{{{{{z{zzy{z{z{z{{|{|{|zzz{z{zz{{||{z{||z{zz{zzz{z{{{|{z{yzz{yzz{{{z{{{zzz{zyyzzzz{{{{zyyzyzyyyzzzzzz{{zzyyyyyyzzyzz{z{{zyxyyzzzyzzy{{zzyzzyyyy{z{zzzzzyyzyzyzyzzzyyzy{zyyzyyzyyzz{yz{z{zzyzzyyzz{zzzzyzyyyyyzzzyz{{{{zzyyyyyyyz{zyzyzzzzxzyzyzyz{zzzzzzzzzyyyyzzz{{z{{zyyyzzzzzzyz{{zzzzyzzyxzyzyzzzzzzzyzz{yyyz{zyy{{{zzzyzzzyzzzz{zzzzzzzxzzzzz{{{{{zy{zyyyz{{zzzz|{zyzyzxyzz{zz{z{zzyzzzzzyz{{{{z{{zzyzzyzz{{{z|zz{zz{yzz{z{z{{{|{{zy{zz{{{z{zzz{{||y{{zyzz|z|zz{{{{zyzz{{{{|{{{{|{{zzyy{{z{{z{{{{{{zzzzzy{||{{z{|{{y{zzz{z|zz|z{{{{z{{zz{{z{{{{{{|zz{zz{zz{{{{{{{{zz{z{yzyz{z{{{{{zz{zzzyyz{z{{{{z{zyzyyzz{{{{z{{zzyzzzzzyzzzz{zzzzzzyzyyzyz{zz{{{yzzxzyyzzzzz{{{y{zyzzyyyzzzz{z{zzz{xzzyyzzzz{{z{zzzzyzzzzzzzz{zyzyyxxyzz{zyyz{{{zzyzzyzyyzy{zz{zyyzzzzyz{{zy{{{{zyyzzzyzyz{z{zz{zzzzyzyyz{{{zz{{zyy{zzzyzzzz{zz{zyyzyzzzyz{zzzz{zzzyzzzzyzz{yz{y{yzz{yzyz{|zz{z{yzzy{zzyzzzzz{{zzzzzzz{yzzzyzz{{zyzy{zzz{{{z{{{{{{{y{{zzz{{z{zzzzxyzzzzy{{y{{z|zzz{z{{{zzz{{{|{zz{{zzz{z}z{{z{{zzzzzz{zz{z{{{{zz|{{zz{{{{}{{z||{{{z{{zzzz|{{{{|{{{zzz{|z{{zz{{{{{z{{{zz{{{z{{|{|{z{zzzzzzzzz{{{|{{zz{yz{z{{{||{|{zyzzzz{z{{{{{{{{{y{zzzyzz{{|z{{z{zyyyyy{{y{{{z|zzzzyyzyz{{zz{{zzzzzyzzyzzzyzz{{z{yyzzyyyzzy{zz{{z{zyzzzz{z{zzz{{zzyyyzyzz{zz{z{yzzzyyzyy{{zz{zzzyzyzyyx{yzzyz{{{yz{yyzzzzzyyzzzyyyzyyzzy{zzzzzzzyzzyzyzzzzzz{z{zzzyyyyxxyyz{z{zzyzyzyxyyzzzzz{zzyyyyyyyyzz{z{zzzzzzzzzzzyz{{z{z{yyyzyzyyyz{zzz{zz{yyy{zyz{zz{|zzzzzyzzyz{{zzz{{zyzzzzzzzzz|zz{zzzzyzyzyyz|zzz{{z{zzy{zz{{{z{zz{{zzzy{yzzzz|{z{{zzzz{zzzz{z{{{{z{zy{zzyyz{z{{{{zzz{{zzz{z{z{{{{{zzz{y{zzz{{{{z{{{zy{z{{zzzz{{{|{{yz{zzz{{{zz{{|{{zzzzzyz{{||{||zzzy{{zz{z|{{z{{|{{zz{{yzy{{{{z{{{zyz{zzy{{z{z{{z{zzzzzzzzzz{z{{z{zxyzzyy{z{yzzz{{yyyzzzy{zz{{{{zzzyyzyyyyzz{{z|{{zzzzz{{{zzzzyz|zzzzyyyyzzzz{zz{yzzzyyyyz{zzz{zzzzyyzxxyzz{yy{{{zzyyxzzy{zzzz{z{zyyyyzyyz{yzz{z{zyyyyyzyy{{zzz{zyz{yyzzyzz{zzz{zzyyyyyyzyz{zz{{zzyzyyyyyzzz{zzzzzyzzzzzzyzzzzzz{zzzz{yzyzzz{{z{{zz{zzyy{zzzz{zz{yzzzyyzy|{z{|{zz{{zz{zzzz{z{z{{{{zzzzzyz{{{{zz|{zyzzz{yz{{|{{|z{zzzz{zzzzzz|{}|}{z{{zzzz{{z{{{|||zzz{{zz{{{{z{||{{{zz{zz{{|z{{{|zz{{z{{{{z{{{{{|{z{{z|zz{|}{{|{|zzzzzzzy||{|{{|{{zz{{z{{zzz|z{{|{{{{{{zz{|zz|{{{zzzzzzzz{{{z{{{{zzzyy{zzzz|zz{{{z{zyzy{zyy{z{{z{yyzz{zzxy{{zy{{zzzyzzzyz{z{zz{{{zzzyyyzzyzy{yzz{zz{zyyzy{{{z{zz|zzzzzzzy{{|z{{z{z{{{zyyxy{yzzz{yzzzyzyyyzy{yzyzyz{yyyyzzyzzzzzzzyyzyzxzyy{zzzzz|{zzyyyyzz{zzz{z{zyzyzzzzz{zzzz{{{zz{yzzyz{zzzzzzzzzz{yzzzzzzz{{zyy{yz{zyz{{zzzzzzzzz{{yz{zzz{z{{yz{zyyzz{zzzzz{{z{zzyzzz{{zzz{z|yzz{{zz{z{{zz{z{{zyzzz{z{zz{zz|{z{yz{zz{{{|{z{{{zzzz{{z{{{z{|{||y{z{{zzz{|{|{|||zzz{z{zz{{|||{{{|zz{{z{z|{{{||z{{{{zz{{{||{|z{{{|zzzz{|{z|||{{{|{zzz{{{z{|{|{{{{{yz{z{zz{z{{{{|{|zz{{{z{{{{z{||{{z{zz{{z{z|{{{{{{zzzz{zz{{{z{{{{{{{yyzzzz{|z{z|{yyyzyyzyz{zzzz{{yz{zyzzyzzzzzzzz{zzzyz{yzz{z{z|{zzzyzyzzzzz{y{{{z{xzyzzy{zzz{zz{{yyyzyzyzzyyz{z{{yyyyyyzyzzzz{{zzzzxxzyzyzzzy{zzyzzyzxyzzzzz{y{z{zzzyzzzzz{zz{zzzzzyy{zzz{zzzz{{zyzyyyzxzz{{z{zz{zyyxyzyz{zzz{zzyyzzyzy{z{{{{{{{zzyyyzyy{{{zzz{{{yzyzyzy{{z{zz{{zy{zzyzyzz{{{{{{{zzyzyzzz{{{{{{{zzzzzyzzzzz{{{|zzz{zzz{z{{{{zz{{zz{{z{{zzz|{{{{{z{z{zz{y|{{{{{||{{zzz{zz{|{{{{{{{z{{{zzzz{|{||{|{z{{y{z{{|{{{z{z{{y{{{z{z}{{||{{{z{zz{yz{z{|{{{{{{zzzyzz{zzz|{{|{zz{{{z{{{{{{|{{zzzzz{yz{z{zz|{{yyz{zy{z{{{{{{{{zzzzzzzz{zzzzzzyzzzzyyzzz{{{{z{{zyzyyzyy{z{z{{z{yzzyyxz{{{yz{{{zzz{yzzxzzzz{zz{yzzyyyyyyzzz{{{{{zzzzzyyyzz{{yzzzzzzyxyzy{z{zzzz{zyzzzzyyzzyzz{z{yyyyyzzyzz{{z{{{zzzzxyyzzzz{{z{{yzzyyzyyy{{{{z|zzzyyyxzyy{yy{zz|zzzzyyzzy{z{zz{zyxyzzzzyzzzzz{z|{zyy{z{zz{zzzzz{{zzzzyzzzz{{{{{{zzz{zyy{z{z{z{{z{yzzzz{zy{{zz{z{{z{z{zyy{{zzzz{{zyzy{{{z{{{{z{{{{zzz{zz{{{{{||{zzzzzzz{zzzz{zz{|{{{zz{{{{|{{{z{{zz{z{{zz{{{{{{{z{{zz{|{{{{{{{{{||zzz{{y{{{{{{zz|{{{zz{z{{{{|{{{{{z{zz{yz{{{|{|||z{z{{zzz{{{{{{{{z{zz{zzzzz|{{{|{{{zzzz{z{zz{z{z{zzzzzyy{zz{z{zyzyyzyyyzyy{{z{y{zzyyzzyyzzy{zy{{{zzzyzzzzzz{yz{{z{yzy{yyyy{{{zz{zzyzzyyyxz{zyzzz|zxyzzzyyzz{yyz{zzyzzzyzyzzzzy{zzzyyyxyzzyzyz{{zzzyzyzzyzzyzzyzzzyzyzxyyyzzz{{zzzzyzyyyxxzzyz{z{zyyzzyyzzyzzyz{zyzzyzzxzyyzzzzzz{zyzyzzzyzz|{zzzzzyzyzzzyzyy{z{zzzzzzyyzz{{yz{{{zyyzzy{zyz{z{zz{zzyzz{zyzz{z{yy|zyzzzyzyy{zz{zz{zzyzzzyz{zz{{{{{{{y{yz{{zz|{{{z{zzz{z{z{z{zyz{{|{zzzzyzzyzyz|{{{|{zz{zzzz{{{z{{{|zzz{zzz{{{{{{zz{{yyzz{z{z{z{{z|zzyzzzzz{{{|z||{{{yyyzzzzz{{z|z{|zz{{{z{{z|{{{{|{zzzyzyzzz|z{{{{z{zyzzyzzz{z{zz{{zzzzyyzz{{{{{zzzyzxyzyzzy{z{zy{{zzyzzxyzz{zzzz{zzyzxxzzyz{{zz{{{yyzyyzxyzz{zzz{{zyzzzyzzzz|{zzyyzyzyyyyzz{y{zzzzzyzzzyzy{zzzz{zzyyyyyyyyzyzzz{zzzzyyyyzzzyzzz{{zz{zyxyyyz{{z{zzzyyzzzzyzzzzzz|zzzyzzzyyyyzyzzzz{zzzyyzzyyyyzz{{zzzzyyzzzzyzz{zz{{zzyzyyzyzy{zyzzzyzzyyzyzzzz{z{zxz{zzzzyzy|{|{zzzzz{yyyzz{z{zz{{yzyz{zzzz{z|{z{yzz{zz{zzzz{{z{{{{z{yzzzzz{{{|{{{zzz{{zzyz|{|{z||{zzzzzzzz|{{z{z{zzz{{yzz{{{{{|{{{z{{z{z{{{{{z{{{{zz{{zzz{{{|{{{z{zzz{zzz{{{{{{{||zz{zzz{{{z{yz{|{{zzzzzz{z{|{{|{z{zzzzzzzz{{{{{{{zzzzyzzzz{|zz|zzz{zyzzyzz{zzzz{yzyyzzyyz{{zyzzzzzzzzzzyzzzzzzz{zzzyzzyy{zzzzz{zzyyzyxyzyzzzz{z{zzzyzyyxzz{yyzzzzzzyzy{zzzzyyzzyyyyyyyzxzyzyz{zyyzyyzyxyzyzzz{zzyyyyzyyzxzz{y{{zyzzzzzyzzzzyyzzzzyyzyzzyz{{zzz{{zzyyzzzyyzzzy{zyyzyzzyxxy{zzzy{{zzzyyzyyzzz{{zzzzzzyzxzyzz{zzzzzyyzyxyzz{yz{z{z{zzzy{zyyy{{|z|zzzzzyzyzzy{y{{|{zzzz{yzy{z{{{{z{zzyyzzy{z{zzzz{{{zzyzyzzz{{z{{z{|z{|zyz{zy{{{||{{{zzzzzzzz{z{{{|{{y{z{z{z{{{{|{{|z{{y{{zyz{{z{z{z|z{zz{zzz|z{{{{||z{{zyyz{{{|{{{{zyzzyzyz{{z|{z|{{{zz{zyz}z{{{{z{zzzzzzzzzz{{zz{{{zz{zzyz{z{{z{{zzzzzzzzzzy{{z|zzyyzzyzyyyz{zzzzzzyyzyyzzyzzzyz{zzz{yzyyzzzz{{{zzzxzyzyxyyzzzzy{{zyyxxxyzzyzzzzzzyyyzzyyyzzzyz{yzzyzzyzyyyyyzzzz{yzyyyyyyyz{{z{{{yyxyyxyy{zzzzzzzzyyzyyyzzzz{z|zzzzyyyyyyzyzzyzz{zyyzzxyyzzyzz{zzzzzzyzzyyzzzyz{zzyyzzyzyzzzy{{{zzyyyxzzyy{zzzzy{yxyzzyyzzzzzyzzzzzzzyzzy{z{zzz{{zzyzzy{yzz{{{{z{zzz{zyyzz{{{zz{{zzzyzzzz{zzzzz{{{zyzy|z{{zz|{{z{y{{yyzzz{{z{{zz{zz{zyyzy{|zz{zz{z{zzzzzz{{|z{{|z{zzzzzz{z{zz{{{{{yzzzzzzy{{{{|{{z|{{{zzz{{zz{|{{zzzzz{zz{z{{z|{{{zzy{yzz{{{z{z{z{zzyyzyzz|z{{{|{{{zzzzyzzz{{zz{zzzzzyyyzyyzz{{zzzyyzzyyyy{{zzz{{zz{zzzyzzzzzyzzz{zzyzzzyzzzz{{zzyzzyzyz{zzz{zz{{yzzyyyyyz{zy{z{{zyzyzzzzzyyyz{{|zyzzzzyzz{{yzz{zyyzzzyyzyzzzzzz{zzzzyxyyyzzzz{{zz{yyzzzyz{{zz{|{yzz{yyzxzzzzzzzzzxzzzzzyz{zyzz{zzyyyzzyyz{z{{{{{zzzyzzzzyzzz{z{{{zxyzyzy{{{zz{{zzyzzyyzz{{z{z{z|z{zzyzzz{{{z{{z{zz{{zzzzzy{zz{{{{zzzzzzzz{{{{{{{z{y{zzyz{|{{{{{z{zz{{{z{|{{{{|}{zzzzz{{z||{|{||}zzzz|{zy{{{{{{{|{zz{{y{{{{{z{{{}zzzzzz|z{{{{|{{{|{{z|{z|z|||{{{}zzz{{zz{|{z{{{{z{{z{z{z{z{z||{{|{z{{{zzzz{{z{{|{z{zz{yzz|{{{{{{{{{zzzyzx{{{{{{{{|{z{zyzz{zzy{z{zzyzxyyyxz{zz{z{yzzyzzyzy{z{{zz{|{yzzzyzyzzzzz{{zyz{zzyyyzz{zyzzzzz{yzyzyz{yzz{z{zyyzxz{zyz{zyzzz{yyyyyyyzzzzyzzzzzzyyyzyzzyzzz{zyzzzzyzyzyzyyz|y{yzzzyzyzz{yz{zzzy{yzzzyz{z|{z{|zyyyyyyyzzzyz{{zz{yyzyzzyzyzzzyyzzyz{zyzzzz{{zz{zzzzzxyzz{z{zzz|{yzyzyzzzz{{z{{{yzzzzzy{{z{z{{{zzzyyzzyzz{{z{}z{z{zzzzzzz{|yzz{|z{zzz{yz{z{z{{{z{{z{zz{zzz{{{|{{zzzzz{{z{{z{{|{{{zzzzzyzz{{{{{{{|zzzy{{z{{|zz{||z{{z{z{z{{zz{{|{z{{{yzz{z{|{|{z{{yz{{zzzz{{{{{{{{yzzz{{z{z||{{{{z{zz{zz{||{{|{{|yzzzz{zz{{{{{{{{{zzzzzzzz{{{z{{zzzzzyzzz{{{{zyzz{zzyyyzzzzz{{yy{yyzyzzzyz{zzyz{zyzyyzzzyyyzzz{z{zzzzzyyzzyzzzz{{zzzyyzzx{z{zy{z{zyyyzyzyzzzyz{zzzyzyyzyy{z{zy{zzzzyxxzxzzyy{{z{{yzyyzyzzzzzzzzzyzy{zyyyy{zzy{z{zzy{yyzzyz{{|zzzz{zyzyyzy{yzz{z{zzyzzyyyzy{yz{{zzzzzzz{yz{yz{{z|{zzzyyyzzzz{zz{{|yz{yzzyy{zz{{{{|z{zzzzyzzzzz{z{z{{{zzz{zz{z{z{{{zzzzyzzy{{{{z{|{{zyz{zzz{{zzz{{{{zzz{zzz{z{{{{z{z{zzz{{{{{{{{{{{zzz{{{zz|{|{{{{{{zzzzz{{{{z{zz{|zz{zzyz{{{{z{{{{{z{z{z{z{|{{{|{zz{zzzzz{zy{{{{|{{z{z{{z{{|{{{{{|{{zz{zz{zz||||{{z{{zz{zzz{{{{{|{{{zz{z{zz{z{z{}z{y{zzzzzz{zzy{zyzzzzzzyyzzz{zyzzzzzzzyyzyz{z{z{{zzyxyyyzzzzzyzz{zyzzyzyyz{z{yz{{zz{yx{yyzz{{yzy{zyzzzzzxz{{zzzzzzxyyyzxzzzz{yzzzzzyxxzzzyyzzz{zzzxxyzyyyzzzz{zzy{yzzyyyzzzzzzzzzyxzyzyzzz{yzz{{zzxyyzyyyyzzzzzzyzy{zyzyzzzyzz{{zzyzyz{zzzz{z{{{zzzzyzzzzy{z{yzyzzzzzyyzzzy{|{{{{zzzyyyzyzzz{z{{{{{{zzz{zyz{z{{z{zy{{yzzyz{{z{z|zzzzyzzzz{||zzy{{{zzz{zy{|{{{{{{{zzzzzzz{{{{z{{{{zzyzzzzy|z{{{{{{{zz{zzzz{{{{{z{{{zzzy{zz{{z{{{{{{zz{zzzzz}|{|{|z{z{{zz{z{{z|{{||{zz{{zz{{zzz{{|{{z{zzzy{z{z{{{|{zzyyz{zzz{zzz|{zzzz{zzzzz{{|z{{zzz{yyzyzz{z{zzzzyzyzyyzyz{{zzzzzyzyyzyzzyzzyzzz{zzyxyzyx{yzzzzzzyxzyyzyyzzzyzyz{zy{xxyzyzzzyz{{zzyzyyyyyzz{zzzzzyyyyyyyyyzzxxzzzzyzzzyyyyyz{y{zzyxyyyyzzyzzz{z{yyyyyzyxzzzzzyzzzzyzzyyzz{zz{zz{zyyyzyyyyxy|zyz{{yzzzzyyyyzyzzzzzzzxyzyyy{zz{{y{zzyzz{xzzzzzz{{z{zzzzzyzz{zzy{z{{yzzzzyzyz{zzz|{{zzzzzzyzz{zz{z{zzy{yzzzyz{{{{zzzzyzzzyzzz{zzz{z|zzzzzzzzzz{{z{{{zzyzzzzzz{{|{{{{zzzzzzzz{{{{{{{zz{{zz{{y|||{{{{{{zzzz{zzz{zz{{{{z{zzz{{zy{{|{zz{zyyzxzz{z{|{{{{zzx{zyz{{{z{{{{z{z{zy{yy{zz{{{zz{zy{yy{zz{{{{z{z{zzy{zzzzz|z{zz{zzzzy{zyyzz{{{zz{zzz{yyzyyzzzyzzzyzzyzyyyyzzzzzz{zyzyyzzzzz{y{z{zzyyyyyyzzyz{zzzzzzzyyyyzzz{yzzzzzyzyzyzyz{yzzzzzzzzzyyyyyzzzzzzzyzxzyyzxzyyzyzyzzyyyzyzyyzzzzzzzzyyzzxyzyzzz{z{{zz{zyzyz{zzzyzzzyzzzzyzzyyz{z{z{yyyzzyyyzzzzzzz{zyzzzzyxz{zyyzzzzyyzzyzzzyzzzz{{yzz{yyzzzz{{{{{{{zyyzyyz{{|{{{{{zzzz{zyyzz{zz{zzzzzzzyyzzz{{z{{{{zz{zz{zzz{zz{{zzzyz{z{{z{{{{{{{zzz{zzzz{{{{z{|zzzzzzzyyz{{{{{{z|zzzzzzy{{{{{{{{{zzzzz{z{|z{{{{{{{zzz{z{{}{{{z|{{z{{{z{{{{|{z{{{zy{z{z{z{zz{|{{{{{zzzzzzz{{{{{{{{{zzzzzz{z{z{{{{{{yzzyyzy{zzz{|zyzzyzzzz{{{{{yy{yzzyyyyyzzzzzzzzzyzzzzxzzzz{zz{{yzzzyyyx{zz{zzzzzzzxyyzzzz{zzzz{zyyzyzzx{zzz{z{yzxzzzyzyz{zy{z{zzzzyyyzyzzyzzzzzzzzyyzxzzzy{zzzzyzyyyxzyyzyzzzzyyzyzyzyyzz{{zzz{yz{yyzyyzzzzzz|zzyz{yyzyyz{yy{{{zzyzzyyyyzzz{{zz{zzxzzyyzzzyzzz{zzyzzzzy{z{zyz{{zzzzzzzy{zy{{z{zyzzzzzy{zzzzz{{{{zzzzyzzz{zzyz{zzyzzzy{z{{{{{{{{{yzzzzzzz{{{{|zzzy{z{{zz{{{{|{{{{zyz{z{z{{{{{{z|zz{z|yzz{z{{{z{{zzzz{zzz{{|z{z|zz{{zzz{zz{{zz{|{{zz{zz{z{|{|}||{|zz{z{{{{{{{{{z|zzzz{zz{z{{{{{z|zz{{{{zz{z{{z{z{zz{yzzzzz{{{{|{z{zzzzyzzz{{z{{{zyy{yzyyzz{|z{zzzzyyzyzzxy{{z{z{{zzzyyyzyzz{z{zz{zyzyxy{zzzzyzzzzzxzxyyzyz{{zzz{{zzyyyyyzzz{zzzzzyzyyzyzxzzzzyz{zzyzyyzyyzz{yzz{zzxzyyyyzzyzzyzy{zyzyzyyyyzyzzz{{yxyyxzyzzzzzyz{z{zyzxyyzzzzzyyzzzyxzzyyyzyyzyzzzyzyyyzyyyzyyzzz{yyz{yzyzzzyyzz{{{yyyzzzyzz{{{z{zzyzz{yzz{zyzzz{{zzzzzyyzz{z{zz{{zzz{y{zzzzz{y{{z{yzxzzzz{{z|{zzyyzz{zzyyz{{zz|{zz{{zzzzz{{{{{zz{z{yyz{z{{{{|z{{{z{yyzzyz{z{{{z{{{yy{zz{{z|{{{|{{zzzzzz{{{|{{{{{}{z{zy{z{z{z{{{|{{y{{yzz{{z{{{{{|zzyzzyzz{{|zz{{{{zyzzz{yzz{{{|{|zzzyzzy{z{{{zz{z{{zyzyzyzzz{z{{{zzzzyzzzzz|{{zz{zyyyyyxzz{{z{zy{zyyyzyzzzzzy{z{zzzyzyyzyzyyzz{{{{xyyyyzzzz{yzz{zzzzyyyzyzyzzyz{zzzyzyzzyzzyzz{zzzyyyzyxzzzzyyzzzyyyyx{yyzzyzzzzzyzyyyyyyzzzzzzzzzyxzzzxzz{zzz{{{yyyzyyzyyyzzzz|zzyxzzyyzyz{zzz{{zzzyyyyyzzzzz{{{yyyzyzyzyzzzz{{{zyyyzyzzzzzzz{zzzyyzyyyy{zzyy{{zyyyyyzzzz{zzz{z{zzz{zxzyz{zzz{{{zyyy{yyzz{{{z{{z{zyz{zzzzzzzz{zy{{zzzzzy{{{{{{zzzzzzzz{z{{{|{|{{zyzzzzzzz{{{{{|{zzzzz{zz{{z{|||{|z{zz{zzz{{{{z{{zzyzz{z{z{{|{z{z{zzzzz{z|{{{z{|{{zz{zz{z{z{{{{{zzzyzy{zzz{zz}z|{z{{yzyzy{zz{z{{{|yyz{yzz{zz{{{{zzzzyzyyyzzzzzzzzzyzyzyyyzzzzz{zzzyzzyzyzzzz{zzzzzyyzy{yzzzzy{z{z{yyyzxyyzzz{zz|yzyzyyyyy{zzzzz{zzy{yyzzyz{yyyzzzzzzyyzzyzzyyyzy{zxyzzzyyzzzzzzzzyz{zzxyxzzzzzzzyzzyyyzyyzzz{z{z{{zzyzyzyz{z{zz{zzzyzzyyzyzyyyz{{yz{yxyyxyz{yzzz{yyzzyyyyzzzzz{zzzyzyyyzzz{z{zzz{zz{zyzzz{{{zz{{{yxzzyzy{{z{zz{zzzyzzzyyyzzzzz{{zzyzyzyy{{{z|z{{zzzzzzyyz{|z{zz{{zzzyzyzzz|{{{{|{zz{zyzzz{z{{z{{{zzz{zzzzz{{{{{{{{yzz{zz{{{z{zz|{zzz{zyz{zz||{{{zz{y{z{zz{{{z{{{{zz{zzyz{{|{{z{z|{zz{zzyz{z{z{{}{{{{zz{zzzzz{{{z{zz{yzz{zy{z{z|{{{zz{y{zzzzz{z{{z{zzz{zyz{z{y{{{zyzyzzzz{zz{{zzzzzzzz{yyy{{z{{{z|zzzzzzzz{z{zyz{{zyyzyyzzzzyyzz{|zzzxyyzyzz{{z{z{zyzzzzzzzz{zz{zzzy{yyzyzzzzzzzz{zzyxzyzyzyy{z{zzyyyzzyzyyzzzz{zzzyzzyyzzz{{z{zzzyzzzyyzzzzzzz{{zzzzyzyzzzzyzz{z{yzzzyzyzyz{{yzzzy{yzyzzyzyzzzyz{zyzzzzz{z{zy{zz{{zzyzz{z{{{{{zz{{zzyzzzy{{|z|{yzzz{{zz{z|{{{{|zz{yzzzzyyz{zzzz|{zyzzz{zz{{{|z{|zzzyzzzzz{{{{||{{z{z{zz{z{{{{z{{}{zz{{zzz|{{|{{z|zzzzzz{z|{{{zzz{z{zz{{{{z{{z{{{{|zzzy{z{z||{||{{{{{|zzz{|{|{z{{{{zy{{{{zz{{{{{|{zzz{{z{{{|{{||{{{yzz{{z{{z{{{{{{|{{yzzzz{z{|z{{{{y{zzyzzzzzzzzzyzyxyyyzzyz{y{zzzz{yzyyzyz{zyzz{zzzzyzzyyzz{zz{{{yyzyzyyyzzzzyzzzzzyxzzyzzz{zzzz{zzzyzzxxzzzyz{yzzy{zxzyyyzzzzy{yzyyyyyyzy{z{zzyzyyyyzzzyz{zzyz{zzzyzyzyyzyzz{zy{zzzyyzyzyzzzz{{{zyzzyz{xzyzzzzz{yzzzzyyyy{zzzz{zyy{yzzyzz{z{{zz{zzx{yyzzzz{zzyz{yyzyyzyz{zzz{z{{yzzzyxzzy{z{{z{{zzzzzzzyz{z{{{{zzzzyzzzzz{{zzzz{zzzzzzzzz{{{y{zzzzzzzzzzz{|z{{{zzz{{z{{z{{z{{|{{zzz{{yzyz|{{{|{{{zyzzzyzz|z{{||{zzzzzz{zzzz{{{{{zz{zzzzzz{{||z{{z{{z{zz{|zz{{{{{|z{zzyz{zzz{{z{{{{{{{{zz{{{{{{{{zzz{zzzz{{{zz{{{{{zy{zzzz{z{{{{{{zzzzzzzzyyz{{y{zzyzyzzyzzyzzzzzzyzyyzzzzzzz{{z{zzyyyyyyzzyzz{zzzyyyzyyzzzz{yzzzzzyzyyzyzyzyz{z{zyzzyyyyzzzzzz{zzzzyyyyyzz{yzzz{yyzyyyyzzyz{zyyzxyzyzyyyyzzzyzyyyyyxxxxzzzzyzz{{yyzyyyyyzzz{zz{zzzzyyzyyzzyyy{z{zzzyzyzyyzz{z{{zzy{yz{zzzy{z{yzzzz|zyyyyzzz{z{z{yyyzzyyyzzzzzz{{zyzzzzyyzzzy{zz{z{yzyzyyy|zzzy{zzyzzy{zzz{|{z{{{zyzzzyzz{{z{zzzz{yzzz{zzzzz{{{{{zzzyzyz{{{{{{{{{z{z{zzzy{zz{{{{{{yzzzyzyz{{z||{z{{yzz{z{{{{{{{z{{yzzzzzz{{z{{{{{z{{z{zzzz{z{{|z{{zzyzzz{{|zzz{{|{zz{z{z{z{z{{{{{zz{zzzzz{{z{z{{|zzzzzzzyz{z{{zyzzz{zzzzyz{zzzzzzzzyyyyzyzz{y{zz{yzzzzzzz{yzz{zz{zyzyzzyzzzzzz{{zzzyyzyzzzzyz{zz{zzzzyz{z{zz{y{zzzzzzzyzzzzzzy{zxzyyzzzxyzzzyzzzzzyyyyzxyzzzyyzzzyyzyyxyyyz{{y{zzzzyyzyzzzzz{{zzzyyyyyzyyzzzz{z{zzyzyzyzyzyzyz{z{yzzyzzxzy{zzz{zz{zzyzzzyyzzzzzz{zyyzyzzyy{zzzzzzzyzyzzzz{z{{{{{zz{zzyzxzzzzzz{{z{zzz{zyyzzz{{z{{zzz{yzzz{{z{{{zzzy{zyzzz{zzzzzz{z{zz{zzz{{{|z{z{z{{zz{zzz{{{z{{|{z{zyzzyz{{|z|{{|zzzzyz{|{{z{{{zyz{zzz{z{{{zz{{{{zzzzzz{z{{{z{{{z{{{zzzz{{{{z{{{{zzzzzzz{{{{{{{{{{y{{{yz|{{{{{{{zyzzzzzzz{zz{{|{z{zyzzyz{{{{zz{zz{yzyyyzz{zzzzz{zyyzyzzzz{{yz{z{zzyxyzyyzzzzzzyzyzzzzyyyzyy{{y{zzzyzyyzzzz{{zzz{zzzyxyyy{zzzzzz{zzzyyzzyzzzyzy{{yyyyzyyzzz{zzzz{zyyxzyzzzzzzzy{{yyyzyzzzzzy{zzyyzyzzyzyzzz{z{{{zzyz{yyzy{zzzzzzzzyzyzyzyyzyzzz{zzyzyyzyyyyzyzzzyzzz{y{xzz{{z{y{zxzzzyzzyzzzzyzz{zzzyzz{yzz{{zzzz{zyzzzyzz{z{z{zzyzzzzyzyzzzz{{{{zzzzzzyyz{{{zzz{z{zzzzzz{{{zzz{zzyzzz{{z{{z{{{{|z{zzzzz{zzyz{z{{{zzz{{zz{z{{{{|{{yz{zzzy{{z{z|{z{{{{z{zz|zzzz{|{{zzzz{y{{|{{|{{{zzzy{z{{|{z{z{{zz{{{z{z{{{{{zz{{{zzz{zzzz{{{{{{{{{zyyzzz{{z{z{{{zzyzz{zy{{{{z{||zzzzyyzzzz{zz{zzzzzyyzzyzzzz{zzzzzzzzyzz{zzzzzyyzyzzy{zyzzz{{{{zzzzyzyyzzz{{zzz{zzzzyyzzzyzzzz{zzzzyyyzzzzy{y{zzzzzyzzyyzz{z{{zzyyyyzzyzyyz{zzzzzzzyzyzzzzzzyzzzyxzyyyzzyyz{{z{zzyzzyyyxzy{y{zz{zzzyzy{zyzzzz{{{zyzyyyzxzzyzz{{{yzyzzyzy{{z{{{{zzxyzyyzzyz{zzz{{yyyzyzzyy{zzzz{{yzzyyzz{z{zz{z{{zzzz{yzyzz{zz{zzzyyzzyzzz{zz|{|{zyyzzyzzz{{zzzz{{{yz{z{z{{|{{{z{yzz{z{z{z|{{{{{z{zzz{yyz{{{{z{{{{zzzyz{z{|{z{z{zzz{yyzzz{{{{{{{|zz{zz{{{z|{z{|{{zzz{{zz{{{{z|{{{zzz{zzzy{{{z{{{|zzz|zzzz{z{{{{{{z|zy{zzzz{{{{{{{|zyzzz{z{{zyzz|{zzzzzzzy|yz{zz}zyzyyyyyyzzzy{zzzzyyyyxzyyxzz{zzz{yyyyyzzzyzzzz{zzxzyyzzyzyyzyzzzyyyyyyyyz{{zzz{{zxzyyzyxz{zzy{{z{zyzzxyy{yzyy{{{zyzzyzyyyzzzyyzzyyyyyzyzyy{yz{zyzyyzyyzyzzzz{yzzzzyyyyxzyzyzyz{{yzyyyzzzyzyzzzy{zyyzyyzyzzyzzzzzzyxyyyyzzzzyzzz{zzyyyzzyyz{yz{zzzzyyzzzz{z{{zzzzzyy{yzzzy{zzzzzzzyzyzzyzzz{zz{{z{yzyyyzzzz{zzzzz{zzyzyyz{{zy{z{{|zyz{z{yy{{zz{zz{zzzzz{zz{zz{{{{{zzzyzyzz{{{zzzz{y{zzyyzz|{{z{z{{z{zzz{{z{{{z{{{{{yzzy{zy|zz{z{{|z{{zzz{z{z|zzzz{zz{zyzz{zyzz{|{zzzz{zzz{z{zz{zzzzzzzzzz{{z{z{|{z{z{zzyyz{{{zz{{{y{yyyyzzzz{z{zzyyyyyzyyyzzzzzzyyyyzyyyyzzzzy{z{zyzyyyyyzzyzzz{yzxzzzxzyzz{yy{{{zxyyyzyz{zz{zzzzyyyyyzzyyz{zyzzzyyzzyyzzyyz{y{{zzxyyyyzyzyzzyyz{yzyyzyzzyzzzzzzzyxyzzyyyzzzyzzzzyyzyyyyyzzyzzz{zyyyyyzyyyzzyyzzzzzyyyyxyzzzzyzzzzzzyzzyyyx{zzzzz{zzyzyzzzzzzzzz{{zz{zyyzzyzzzy{{zzyyyyzyz{zyz{zzzyzyzyzyz{zzz{zy{yzyzyyyzzz{z{{{{zzzzz{z{y{zzzzy|zzyyzyyzz{{z{z{z{y{zzzz{{{|{{{zzyzzzyzzy{{z{zzyz{{yzzzz{z{z{{{{yzy{{z|zzzzz{{{{{zzzzz{zy|{z{|{{{{{zzz{{{z{z{{{{{zzzzzzz{{{z{{{{{zzyzzyz{{zz{{{{z{yz{zzzz{z{zz{{{zyzzzzyz{{{zz{zzzyzyyyzz{zzzyzzyzzyyyyxyzzzzz{zyyzyyyyxzzzzzz{{yzxyyyzyzyzzzzzyzyzzyyxyyy{{zzz{zyyzyyyyzyzzzzzzyyyyzyzyyyz{y{{yzyzxyyyyzyzzzzyzzyzxzzzzzzzyyz{zyzyxzyzyyzzz{zzyzzyyxyzyzz{{zzzzzzzyyzzyyy{{zyzyzyyyzxzyyz{zzyzzzyyyzzzyyzz{z{z{yyyzzyyzz{{zzzz{z{yyzyyxzzzzzz{{zzzyyyzz{z{zz{{|yzzzzyy{yz|zzz{zz{z{zxzzzzyzzz{z{zzzyyxyzzz{{{zzzyxyyyzyz{zzz{zzzzzzyzzzz{{zzz{z{yz{zzzzy{z{zzz{{yzzyyy{z{{{{z{z{yyzzz{yz{{zz{zzzzzz{z{zz{z{zz{{{yzyzzzyz{{zz{z{yzzzyyzy{zz{|{z{zyzzzz{yz{zz{{{{zzzzzzzz{zz{y{{{zzzzzzyzz{{z{|{{zzyzyyyyzyzz{{{y{xzzzyyzzzzz{zzyx{zxyyxzyzyyyzzzzzzzzyzyzzzz{zzzzzyzzyyyzyzzz{zzyyzzyyyyzzzzyzz{zyzyyyxyy{zz{yzzzzyzyyyxzyzyz{yzzzzyzxxyyyzyyzzzyzyyyzyzzzxzz{{yyyyyyyyyyzyzzzzz{yyyyzyyz{{z{{zzzyyzyzzyzzzzzzzzzyx{zzyyzzyzyzzyzyyyyxyyzyyyz{{{zyzyzyyzzzzzz{|{zyyyyzzzy{zyzzz{yyzyzxzz{zz{z{{zzyzxyxyzz{{z{zzz{yyzzyyyz{y{y{zz{yz{zzzyyzzzz{z{zzyyyzzz{|{yz{yzzzzzzzy{z{{{{{zzzyzzzzzz{{{{zzz{{zzzyzzz{{{{{|{{{y{{zyzzz|zz{{|{{zzzy{zz{zz{{{{{{{zzzz{z{|{{{{|z{zz{z{z{{|zz{||{zzyzz{zy{{zz{{|{{zzz{zxzz{zzz{zzzyzyyzy{yz{zz{z{zzzzzyzz{{z{{{{{yy{xzyzy{zz{zz|zzyzyyzyzz{{z{zzzzzzzyzzyzyzz{{{zzzyyzzz{zzzzyzz{zzzzyyzzzzz{yz{yzyzxyyzzzyz{yzz{yzzzzyzyzzzxz{{{zzzyxyyyyzzyz{zzyyyyxyyzyyz{{zz{yyzzzyyyzzz{zz{zzxyzyyyz{zzzyzzzzzzyyyyyzz{{zzzyyzyyzyzxzz{zy{{zzzzyyz{yzz{zy{z{yzzzzyyyzy{z{z|{zzyy{yyzz{zzyz{zz{zzyzzzzzzz{{{{yzyzyzzz{{|zzzz{zz{zzzzzz{z{z{{{zyzyzyzyz{{z{z{z{zz{z{zyzzz{{{{{zz{zzzz{z{{{|z{zzyzzzzz{{{{|{{{{zyz{{{yz{|zz{{{{{z{z{y{z{{|z{|{{|z{{z{{{{{z|{{{{{{zz{zyz{|||z{{{|zyz{zz{{{{{{{|zzzzzzzz|z{{{z||{{z{{{zzz{{{{{{z{z{{zz{zzz|{{y{|{z{{yzzzyz{z{{{{zzz{yzzzyzz{z{{{yzzyzzyyyyz{{z{zzzyyyyyyyzzz{zzzzzyyyzyzzzzzzzzzzzyyyyyyzzzz{z{z{{zzyyzyyzz{z{{z{yzyzyy{yzzzzzz{zzyzyyzyzyzzzzzyyyyyyyzyzzz{{zzzz{yzyzxyxyz{zzz{zyyyyyzyzzz{zzzzzzyzzyyxzyy{zyz{zyxzzzy{yzzyzz{zz{zyy{zyyzzz{y{{zzzzyyzyxzzzzzz{{z{zzzzzz{z{z{z{{{yy{zxzz{y{{zz{{yzzyzyzyzzzz{{{z{{zyzz{yzzz{zz{zzyzzzyyzz{{{{z{zzzzzzzzz{zzzy{z{zz{{zzzz{z{{{{{zz{yzzyzzz{{{z{zzzzyz{yzyz{{{zy{{zzz{yyz{{z{{|{{|{zzzyz{z{{z|{{{{{zzzz{{zz}{{{||{{z{zzy{z{|}z{z{{zyzzyz{z{{{{z{{{{{{zzzyzz{{{{{|{{{yz{zzz{zz{zz|{z{zz{{yyz{{{|{|{zyy{{y{y{zyz{zzzzzzyyyyyzzzyzyzzzyzyyyyyyzzzzz{{zzzyzy{yzy{z{{zzzyzzzyyyyzz{zz{{z{yyyzzyzzy{{z{{zzzyyzzy{zzz{{zzzyyyzzyyzzzzz{z{zyyzzyyzzy{zz{zzzzyyyzyxyz{zyz{zyyyzyyxzyz{{zzzzzzzzyzyzzzz{zz{{yyyyzy{zyzzzyzz{{yzyzy{zyz{zzzzzzyzyzyyxz{zz{zzzzzzzzzzyzzz{y{{{yyzyyyzzz{zzzzzzyyzyyyzyzzzzzz{{zzzzzyzyz{{zz{{y{zzzzyxzz{{{zz{{zyzyzzy{{{{zzz{{zzyzzzzz{{{{{z{{zzzzyz{z{zz{z{|{{yyzzyzz{{{{z{{{zyyz{zzz{{{{{{{|zzz{zzzyzz{z{{{z{{zz|yzzz|{{{{|{zz{z{z{z{|{z{{{{|zzz{{{zz{{{{{{|{yzz{{z{{z||{{{{zzyzzz{zyzzz{z{{{y{{zzzx{z|{yzz{zyzzyzz{z{zzzyz{zzyzyyzx{zzzzzzzzzyyzxyyzyyzzz{zzzzyyzzzzzz{zz||yyyzyyyyzzyzzzyzzzyyxxzyzzzzzzzzxyyyyzyxy|yzyzzyzyyyzyyyzzzyyz{{zyzyyyyx{yz{zzzzzyyyyyzyzz{zz{zzyyyzxyyzyzzz{yzzyyzzzzzyzz{{yzzyzyzxyyzyzyzzz|z{zzzzyyzyz{z{yzyzzyzyzyzyzyzz{z{zzyzyzxzzzzzzz{{{y{zzzyzyzzzzzz{{zyyyyyzyzz{zz{{{zzzyyzzzy{{z|zzz{zzz{yzzzzzzz{{|{zzzyzyzz{zz{{z{zzyyzz{zz{||{{z{zzzzz{{zz{z{z{z|zzzzzyzyyz{{z|{{zyz{{zzz{{{zzz{zyzzzzzzz{zy{{{{|{zz{{{zzz{{z{{{{{y{z{z{z{{{{{{{{{zzzz{zzz|{{{z{{z{y{zz{zz|{{{{{{{{zzzyz{{{zzzz|zzz{zyzyz{{{{{{{|zy|zzyzzzz{z{zzzyzzyyxyxyzzyzy{{zyyxzyyyyyzzyzzzzyyzyzzxyy{zz{z{zyzyzyyzzzyzyz{zzzyyyyyyzzz{yz{zzzyyyyzxyzzzzzz{zyzzyzyzyzz{z{yzyzz{wzzyzyzyyzyzxyyyzyyyyz{zzzyzyyyyxyyyzyzzzzzzzzzzzyyxzzy{yzzzzyyyzyyyyzzzyz{yzyyxyyxyzzyzyzyzzyzyy{yyzzzz{zz{yzyyzyyzy{zz{zzzzyzzyyz{z{zzzzzzyzzzzyzzzz{zzzzzzzzzzyzzy{zz{{{{zzyzyyyz{zzzzz{yzyyzyyzyz{z{z{zzzy{zzyyzzzzzzzzzzzzzyzzyz{{{z{zzz{zyzzzz{z{{zzzz{yyzz{{yz{{{{{{{zzzz{zzy{{{zz{{|{zyyzzzz{{{{y{{|zz{zzy{z{zz{z{z{zzzzzyzz{z{{z{z{zzzzz{{{{{yz{{z{zzzzz{zy{{z{z|{z{zzzyyzxz{{zzzzzy{{yyyyzzzzz{z{zzzyyzzyxzyzzyzz{yyyyyxyyzzzz{zyzxyyzzyyyz{zzzz{yyyzyyxyyyyzyyz{yyxyyzyyyyzzzzzz{yyzyyyyxzzyzxzyyzzyxyzyzzyzzyzzzyyyyyyyyzzyzzz{zyzxyzyyzyzzzzyzzzxyzzyxyyzzzy|zzyzyxxyyyxyzzzyzzzzyyyyyzzyyyyzzzyzzxyzzzzzzyyzy{yzyzyyyzz{yzzz{zzzyz{zyyyzzzz{{{zzzyyyzyzz{zy{zzyzyyyyyzzzzzzzzzzzyyyyyyyzzzz{zzyy{yzzyx{z{zzzzz{yzyzzzzzzzzz{zzzyz{z{zzyzz{{z{{{z{zz{zz{z{zz{|z{zy{zzzyz{{zzzzzzzzz{yzy{z{{{{{zzzzyyzzzy{{z{zz{zyzy{{z{z|||z|{{{z{{yzzz{z{{z{zz{zzyzzx{zz{z{{z|zz{yzzzy{zzz{{{{{{zzy{yy{zz{{zzz{{zzyzy{{zz{{zz{yyzzzyzzz{z{zzyyyzyyzx{xyzzyyzzzyzyyyyyxzzzz{z{yyyzyyyzyzzy{zyzzyxyyyyyy{zzzyzzzzyzxyxzyzyz{z{zzyyzyyyyyyzzzzzzzzxzyyyyyyyzzzyzzyyyxyyyyzyzyyyzzyzyyyxxyyzyzzzzzyyzyyyxyyyzz{zzzyzzyzyyyyzzzyz{zyzxyyyzyyyyyzzyzxzyyyy{yxzyyyy{zyzzxyyzyzzzzz{{yzzyyyxyzyzzzyzzzzyzyyyyyzzzyzzz{zyzyzzzyzzzzy|{zzyzzyxyyx{zyzzyzzzzyzyy{{{{z{{{zyyy{zzyzxzzzyzzzzzzzz{yyz{y{{zz{yzzyzyxyzzzzy{{{zzz{zzyzz{{z{zz{{yz{{yyyz|{{{zz{yzzzy{{zzzz{{zy{{zzzz{|yz{z{{{{z{yz{yyz{z{z{z{{zzzzzzzzzz{{zz{z{zzzzzyyzzzz{|{{{yzzyzxzyy{zz{{{|zzzyzzyzyyz{zz{{yyyyyyzyyz{zzzzzyyyzxyxyzzyyyzyyyxyyzyyyzzzy{zzzyyzyyzxyzyz{{yzzzzxzyyxxyyzyzzyzzyyxxyyyzzzz{zz{zyyxyyyyz{{yxzyyzyyzyxyyyz{yzzzzzzzxyzyyyzyzzzyzyzzyyxyzzyyyyyyyzyyzyyyyzzzx{zzzzyzxxyyyzzzzyzzzyyxzzxyyzyyyzyzzyyyyyxyyyyzwz{yzyzzyzyxyyzyzzz{{yyyxzyyyzyyyyzzzyxzxyxyyzzzzyzyzyyzy{yzxzzzyzzzzzzyyzyyyzyzzzzzzyzzyzzyz{{{zzz{zzyzyyyzzzzzzz{yzzzzzzyyxz{{z{{zzxz{yyyzzzzzzzz{z{xyzzyzzy{{{{z{{zzz{zzzz{{{{zz{{zzzzzy{z{{{{y{{{zzzzzzzzz{|{z{{{{zz{zzz{zz{zzzz{zzz{zzz{{zzzzzz{{{zzzzzz{{z{yz{{yyzyzzyyz{yzz{z{{zzzyyyyyzzzzyzzzzzyzyyzzz{{{zzzzyyyzxyzy{zyyyzzzzyzzyyyzzyyzzzzyzyzyyzzzzyzzzz{zyyzyyyzzyz{zzz{yzzzyyyyyzzzzzyzzyyyyzxyzyzzzzzzyzzyyxxyzzzzyzzyzyyyyzyyyyz{yyzzyyzyyzyyzzzzyzzzyyyzzzyyyzzzyyzyyyzyyzyyzz{zzy{zyyyyyzyyyyzyyyz{yzyyyyzzyyyyy{{zyyyyyyzyyz{{zz{{{zyxyyyzzzz{yz{{{zyyzyzy{z{zz{{{zyzzzyyzzzyzzz{zzyyyzyzxzz{zz{{zyyzyyzzyz{zzzz{zzyzzzyyzzzz{zz{{zzyzzzyzzz{{{|{{y{{zzyzzzzy|z{z{zzyzzzzyz{{{{zzzzz{zzzz{z|{{{zzz{y{yzzz{z{{z|{zz|zzzyzyzz{zz{z{{|zzzzzz{zzyz|{{|{zyz{zzz{zz{{|z{{z{{zzzz{{z{{zz{zz{zzzyz{z{zz{{{zzzyyzzzz{{zzz{{yzzyzyyy{zy{{zzzzzyyzyyyzz|zzzz{yzyyyyzzzzz{z{zzzzyyzzyyzzyzzy{{zzzyzyyyzz{zzyzzyyyyxyzyzzzyy{y{zyzzyxyyzzyyz{{zyzzzyyyyzzzzzz{{xxyyxyyy{yzzzzzzyxyzzyzyyzzzzz{yyzyyyzzzy|zz{{zyzyzyyyzyzzzyzy{zzyyzyyyyzzyzzzzzyyyzyyyxy{yyz{zzyzzyy{yzzzzzzz{yzzzyzyzyz{zzzzzzzyzzzyyzzzy{y{{{yzzyxzyzzzz{zz{zyzyzzy{zzzyzzz{zzzzyzzyzz{zzz{|zzzzyzzxzz{zzy{zz{zzz{{{yzz{{zz{{zzzzyzzyz{z{{{}{zzzzzzyyzz{{z{|{yyy{zyzzz{z{|{{zzz{zyz{{z{zzzz{{{{y{z{zz{{|{{z{{{{{zzzzz|{{z{|{{{z{zzzz{z{{z|{z|zzz{{zzz{{{{{{|{zzzyzz{zz|zz{z{{zzz{{zyzz|z{{{zzzzzyzyzzz{{zzzzzyyyyyxyyy{zyzz{zzzy{zyyyzz{yz{x|{yzyyxzyyyzz{z{zyyz{yyyz{zz{zzzzzzzyxzzyzzz{zzzzzzzzzyzyzzzxy{zzyyzyyyyxyzzzyyzyzzyzyyyyzzzzz{zz{zzzyzyyyzzzyz{zzyyyzzyzzzzzz{zzy{zyzzzyzzyzzzzzyxyzyyyyxzzyzzyzyyzyzyyzzzzyyzzzzyzzyzyyzzz{zz{zzyyyzzyz{yzzz{{{zyzzzyyzzz{z{{z{zzzzzzzyzzzzzz{{zz{z{yyzz{zz{{{zzyzzzyzyzz{{{z{zzzzyyzzzzz{zz{{{zy{zzzzz{{{z{z{zz{{zy{zz{z{{{{{|zzzzz{yyzz{{|{{z{yy{yzzz{z{z{{zzyyzyz{z{{{{{{z{{{zzzzzz{z{|{|{|y{{{{{{{z{z{{{zz|{zzy{zyz|z{z{{||z{z{z{z{{zz|{{|z{zzzzzzzyzz{z{{{{zz{zzzyz{z{z|{zyy{yzzzyz{zz{{yzyzyzzzyyz{zzzyzzzyzzyxyy{y{zy{z{zyyyzyyyzzzyz{{zzyyyyyxzyyzyyy{z{z{yyzzyy{yzzzyzzyzyyyzyyyzyyzzzzzyyyzyyzyzyyzzyzyyxzzyyzyyzzzzzx{yyzyyyyzzyyz{zyzzyyyxyzyzzzzzzzzyyyyyyzz{zzzzzzyzzzyzyzzzzyzzzzzzyzzyyyzyzz{zzyyyzyyyyzyyyyzzzzzyyyyyzzzzz{z{zzzzzyyzyyy{zy{zzzzzyyzzzyzzz{{{zzzzyy{zyzy{zz{zzyzzzyzzzz{zyz{{zzyzyzzyzz{zyyzzzzyzyzyyzz{{{zzzzyzzzzy{zz{z{zz{{zz{zzyz{{{{z{{zz{zyzzzyzz{{{z{{{zzz{yyzz{zz{{{{|{yzzyzzzz||{{{{{{yy{yzzz{{|z{|z{{zy{zyyzzzz{z{{{z{{yyzzz{{z{z{{|zzzyzzzzzz{{{{{z{zyyzzzyyzz{{{zzzzzyzxyzzzzzyz{zxyyyyzzxzzyz{zz{zxzyzxxyzy{{yzz|yzzyyyzxzy{zy{zzyxxxyyzzyzzzzxzzzzzzxyyyzzzzzzzzxzzyyyywyzyyy{zyzyyyzyzyzzyzyzzyzzyyyzyyyzyzxyzyyxyyzyyyxzy{zz{yyyyyyyyzy{zyz{zzzyzyzzyyyzzyzz{zzzz{yyyzzzyzzzz{zzzzzzyyxzyyyzz{zyzyzyyxyzz{z{{zyzzyyxyyzz{zz{yzzxxyzxzyz{yzzz{|zzzzyyzyzzyzz{{zyzzzzxyyzz{zzz{yzyyyzyyzyzzz{zzzzzyzzy{zzzzyy{zzz{yyyyyz{z{{{zz{zyzyyzzz{zzzz||{{zzzyyzxz{{{{z{z{yyz{yyzzz{z{z|yyzzyz{{{yz{zz{{{zz{zzzzyzz{z{{{{{y{zzyzz{{zz{{{{{z{yzyyz{z{{zz{{{z{z{yyz{zz|z{{{{zzzzyzyzz{{{{{{zzyzzzyzzz{zzz{{zyzyzyyzyzzzzzy{yyxwxzzzzyzxyzz{yyzyzyxyyzyzyzz{zzyzyyyzzzzz{y{zzyzyzyyyyzz{zzzzzzyyyyzyyy{z{zzzzxyyyyyyzzz{y{{{zzy{yxyzyxzyyzzzyyzyyzxyzzyzzyzzyyyxxyzyyzzzzzzzyzyzxyyyzyzzzy{yzyzxyyxxyzzxzy{zyzyyyyyyyyyyzzz{zyzyyyzyy{xyyz{{zzyzzyzzzyzzzzzzzzzyzyyy{zyyzz{zyzyyyxyz{zzzzyzzzyzyxzyyz{zzz{zzzyzzzzzyy{{zz{zyyyzyyzyzyzzzzz{{zyz{z{yzz{{z{zzyzyzxyzyyzzz{z{|zzzyzzyz{zzy{z{z{zzzzzzyyz{{{{z{zz{z{zyzz{{{zz{{{{zzzzz{zy{zzz{{{{zzxz{zy{|z|{{{{zz{z{y{z{zzzz{{z{yz{y{zy{z{zz|{{z{zyzyzzz{zzz|{zz{{yzyzyzzzzzz{{zz{{zzzzzzz{{{zzzzyy{yyyzzzzzzzzyzzzyyzxz{yz{zzzyzzyzxyyzzyzzzzzzzzyyzxzyzzz{y{zzyyyzyyyzzzyyzzzzyyyyyyyzz{yz{z{zyyxyyxyzyzyzzzzzyyyzzzyzzzzzzzzzzyxyyyyyyzyzy{zzyyxyyzz{zzzzzzyzyyyyyyzyzz{zyyzzyyyyyyyyzz{yzzzzzyyyyzxyzzzyzyzyyyzyzzzzzzzzzzzyzyyyzzyzz{zz{zzzzyz{yzzyzzzz{y{zzzzyyyzzzzz{z{zyzzyyzyyzzzz{{z{zzzzyyy{y{zzy{{zzzzzzzyzzzz{yz{zzzzyzzxzzzz{z{zzzyzyzzzz{{{{{zzzy{zzzzzz{{zz{{{{yzz{zyzzz{y{z{{zzzzz{{{z{|zz{{z{zzzzzzzyz{zzz{z{|yz{yzzz{{{{z{{{{zzzzyz{{{zz{z|{{yzyzyz{zyz{||z|{zzzzzzzz{z{|{z{{zyyzzzz{{zy{{z|{zy{yzyyzz{zzz{zzzzzz{zz{z{yzzzzyyzzyyyyyzzyyzzzxyyyzxyzzzzz{y{zzyzyyyyzzzzzz{zzyyzzzxzyyz{zzzzzzzxyxyzyzzyzzzzzzzyyyyzyzzzyyzzzyzyyyzyyyzzzyzyzzzzzyyyyzyyzzzzyyzzyxyyxzzyzyy{zyyzyzzyyyyzzzyzzyz{yzzxyyz{zzzzzxyzzyyyyyz{zzzzzzyyyyyxyyzyzzzz{yzyzyzyyzzz{zzz{zyyzyyyyz{yzzzzzyxyzyzyzzyyzzzz{{yzyyzyz{zz{{{{zzyyzzyyzzzz{{z{yz{zzzyzxzzzzyy{{zzzyzzyyz{{zz{{{{yzzzyzzyz{{z|{{zz{yyzzz{{yzz|{{zyzzzyzzzz{z{{{{{zyzzyzz{{{{{{z{zzyyzz{zzzzzz{{{{zzzzz{zz|{{{{{{zzzzyy{{zz{{||{{{{yz{zzzzy|{{{|{zzzzzzzz{zzz{{z{y{zzzyzzz{zz{zz{{yzzzyzz|zzzyz{yzzyyyzyyz{zzz{zzzyzyzxxyyz{zz{z{zyyyzxyyzzzyz{zzyzxyyzzxzzyzyz{zyyyyxyyyyzyyzz{{yyzyxyyyzzzzzzyzzyyyzzyyzyyzyzzyyyzyzyyy{yyzzzzzyzyyzyyyyyyyyzzzyyyyzyzyyxzyzy{zzyyyxxyyyzzzzzzzyzyyyyyxzzyxzy{zyyyyzxxyyyzyzyyzyyyxzyzyyzyyzyzzzzzzyyyzzzyzzz{zyxyyzxzzyyzzzyy{yyyyzxzzzzzz{zy{xyyyzyyzz{zy{z{{zyyyzxzxyzzzzzzyzy{yyyzyzzz{|{{|{yy{yzz{{{z{y{{yzzyxzyzz{zz{z{{zzz{{yy{z{z{zz{{{zzy{zyyyzzzzzz{zzyyzzy{z{|{zz{{zzzzzzzzz{z{z{{zzzzzy{y{zz{z|z{|{{zzzyz{{{z{zy{zz{xyyyz{yzzz{zzz{zzy{yzzz{{z{yzz{zzzzyzyzz{zzz{{zzzzyzzzyzyzz{yzzyyzyzyzyyz{zyzzzyzyyyyyxyzzzzyzzzyyxyxyzzzzyzz{zzyxyyzyy{{zyzz{zyyzyxzzyxzzyyzzzyzyxyxxy{zyyyzzzxyzyyzyyxzyzzzzzzxxyzyyyxzzzxzyyzyyyyxzxzyyyzzzzyxyzzxyyyzyyzyzyzyxyyyxyzz{yzyyyzzzyyyyyyz{zz{zzzyzzyyyzyyzyyzyzzyzyxxyyyzzyz{yzzzzzyzyxzyy{z{zzzzyzyzzyyzzyz{{zzzyzyxzyyzzzzzyzyzyyyyzzzzzzzz{{zy{yzzyzz{z{y{zzzzyyxyyz{{zzzzzzyzzzzyyzzyzzz{zyzzzyzzyy{{z{zz{{yzyyzz{z{zzzzz{{yyzyyzxz{{zz{z{z|zyz{zzzzz{zzzz{zzzzz{z{yz{{z{{z{zzzyzyzz{{z{{{z{zzzyzzz{{{zzz{zzyyzzzzzzzz{z{{|z{zzzzzzz{{{{{z{zzzy{zzzzzz{{{{zzyyzyzzyzz{{zz{{yzzyzyyyz{|zz{yyyzyyyyxxzzzzzzzzyyyyyxxyyyzyzzz{yyzyyyyx{zyzy{{zzxyyyyyyyzzzzyyzzyxxyyzyzz{yz{z{zyyyyxyyxzyzyzzzzyzyxxyyyzzyzzzzzzzyyyzyzyxzyy{zyyxxyyzyzyzzzzzyyyxyxyyyzzzzyyzzzyxzxzzyzzzzyzy{yyyzyxyzzyyzzzzyzyyyzzyyyzzyzzzzyyyyyzyyzyzzzzzzzyyyyyzyzzyzzz{zzyzzyyyzzzzyzzzzyzyyyzyyzzzy{zz{zzzzzyzyzz{zzzzzzyyzyxyxz{zzz{{zzyxzyyzzz{zzz{{zyyyyyz{yzz{zz{{zyy{zyzyz|yyz{{{|zyyzyzyzy{{zz{{z{yzzzzyy{{{zz{|{yzzzz{zzyzz{{{{{|zzzzzzzz{{{zz{z{zzzzyzz{zz{z{z{|zzz{zzyzzzz{z{{zzyzzzz{{z{zzz{zyzzzzyyzz{z{z{{{z{yyzyzzy{z|yz{{zy{yzyxyyz{zzzyzzyyzyxyyzz{zzzzzyzxzxyyyzzzzyz{{zzyyzyyyzzzz{{y{z{zzzyzyzzzzzz{zzzzyyyyy{zz{z{z|yyyyzzzyzyzyyzzzyyzyyyyzyzzz{zyzzyyzyzzy{zz{y{zzzxyzyzyyz{{zzzyzzyzzyzyzzy{zzz{zyzzzxxyxyzz{zy{{zyzzzyzyyyzzzzzzyzyxyyzyyzyy{{{{yyzzz{yx{yzzy{zzz{zz{yyz{zzz{{yzzzzzyyzzz{zzz{z{yyzzzzzyzz{zz{z{y{z{yyzyzzz{zzzzyzzzyzzyz{{z{zzzzzzxyzyzzz{zzz{{z{{y{zzz{zy{{|z{yz{{{yzzz{{{z{||{y{{zyzyyzzz{{{{{yzzyzzzz|{{|z{{zzzzz{z{z|zz|{|{{yzyz{yzz|{{{{{{{yzzy{zz{z{{{{|{{zzzzzzz{zzy{z{{z{yzzzyz{{z{z{{{{zzzzy{zz{{{{{{z{yzzz{zyz{{{zzzz{zzzy{yz{{{{yz{{yzxy{y{yx{{zzzzzzzyxzyzyy{zzy{{z{zzzyyzy{zzz{zzzyyyxyyyyyzz{yz{{zzyzyzyxzzz{yzzzzyyzyx{yzzzzyzzzyzzzzyyz{z{zy{{zzzyxzyyyzy{zzyzyyzyzyzzzzyzzzzzyyzyyzxyzyzzyyy{{yyzyyzyyzzzzzz{zyyyzzyzy{zyzzz{{zzyzyyxzxyzzz{zzyyyz{yyzzyzyzz{zzzzyzy{yzz{y{zz{{yzzzyzyzzyzz{z{zzzzyzyzyzzzz{{zz{{z{yzyzzzzz{z{zy{zzzyzzy{{{z{{zzzzzyyzz{{zz{zzz{zzzyzzz{{{{zzzzzzyzzzz{z{z{{z{zzz{zzzzy{{z{{{z{zyzzyzz{{{z|{{{yz{{zz{zz{zzz|zz|{z{zzyz{|{z{{{{zzyz{zzzz{z{{z|zz{zz{yzz{z|{zz{{{zz{{zy{|z{{zz{zzzyxzzz{yz{{zz{{{zzzzzzzzzzz{{{zyzzzzyyzz{{{zzzzyzzzzzyyyzzzzyzzzyyyzxyzzzy{{zz{{yzxyyyzz{zz{zzzzzzzyyyyzzzzyzz{zzxyyyzzzz{zzzzzzyyyyyyyyzzzz{zzzzyzzzyyzy{yyz{zzyyzxxzzyz{zzzzzyyzyzxzyzzzzy{zzzyxzyzzy{zzyzzzzzzyyyyyyzzzzzz{zzzyyzzyzzzzzz{zzy{zzyyzyz{zyz{zzzyzyzzyzzzy{zzz{zyyy{yzzyzzzzyz{{zzyyyzz{z{z{{{{yxzxyyzyzzzz{{zzyz{zzyyzz{zz{{z{{zyyyzzyzzzzzz{{{z{{zyyzz{{zyz{{{zyzz{zzzzz{{zzzzzyyzyzzz{{{{|{zz{yzzzzzz{zzzz|{zyzz{yzzzzzz{|{|z{zz{{z{{zzz{{|{zzzzzz{z{{|z{{{z{zzzzz{z{z{{{{{z{{zzzz{zzzz{{{{|{{zz{zz{z{zzz{{{zzzzyyzz{{z{y{{{{zzzzzyzz{{{{{{yzz{zzyzz{{zz{z|zzyzzzyyzzzzyzzyzzyyyyyyyzyzz{z{{yzzzzzyyz{zz{zyz{zyzzyyyyyzzzzzzzyyyzyzy{{zzz{zzzyyyzyzyzzzzzzz{zz{yzyzyzzzzyzzzzzzyyyyyyzzzyzzzyzyzyyxzzzzzyzzyyzyzyzyzyzzzzyzzyzyzzyyzyzyzz{{zzzxyzzyyzzzzy{zzzzzzzyzzyyzzyzzzyyz{zzyyzxzyzzzzzyyyzyyyyzzz{zzzzzzyyxzyzzzzzz{{zzzzyyzyzzz{{{z{{zzzzxyyz{{zy{{yzzzzz{yy{zzyyz|{yx{zyyyz{zzzz{zzzzzyzzyz{{z{{z{{zzzzzzyzz{z{z{|{zzy{zyyz{|{{z{{z{yz{zyzz{{zz{|{{{z{zy{{y{{{zz|z{{yzzzzyz{{{z{{{{{zz{y{zz{z{{z{{{zzzyzzyz{zz|z{z{z{{z{zzzz{{{|{{z{zzzyy{zz{zzzz{{z{{z{zzzz{{{{z{|zz{zyz{yzz{{zzzzzyzyzzzyzz{zyyzzyzzxzyxyzzzzzzz{zzyyzzyyz{zyzzzzzyzyzzzyy{z|zz{zzyzyzyyy{zzzzz{zzyyyyxzyzy{zyzzyzyyzyyyyzzzyy{zzz{yyyzzy{yzzyyy{zyyyyyxzzyzzzyzzzyyyxyxyxy{yzzz{zyyyxyyyz{zzzz{zzxyyyyzyyyyyzzzzyyyyyzyxy{zyyzzzyzxyyyyzzz{z{y{zzyzz{yzyzzzyzzy{zxzyzzzyz{zzzzz{zzzzzyyzzzzyz{{z{y{zzyzyy{zzyz{yzy{zzzxyzz{{z{{zzzzzyyyyz{{y{zz{z{z{zzzzzzzzz{{zzyzzyzzz{zz{{{{{zzz{yzz{zz{{{{{{zyzzzy{z{z{zyz{{{yzzzyz|z{zzzz{{zz{z{zzzz{z{{{{{{zzyzzzy|{{{zzz{zzyz{zyzz{z{{z{{{zyyz{y{{{z{{{{{zzzzzzyzzzzz{z{{{zzyyyzzzzz|z{{{xy{zzyyyzzz{z{zyzzyyyyzyyzzzz{{{yzyyyyyyy{zyz{zzzzyzzyxyzzzyzz{zzyzzyyyyzz{{{{zzzzyyyzyzyzzzzzzzyyyyzyzxyzzxyzyyzyzyxyxzyz{yy{zzzzyyzzyyzyzzzzzzyyyyzyxy{{yz{{yzzyyyyyyyzzzzzzz{yzyzyyyyyzyzzz{{zyyyzyyzyy{zzzzzyzzzyyyyzzyyzzz{yyzzzzyxy{zyzzzyzyyzyyyyz{{{zzzzyyzyyyzzzzzzzzzzzzyyzzy{{zzzz{zzy{zzzyzzzzyzzzz{yy{yyzyzy{{z{{|zzzzz{zyyzzz{yz|zzz{y{zzzyz{z{{z{zzyzzzzyzz{zz{{|{{zzzyyz{z{{z{{z{zz{z{zz|{{{{|{zzzzxzz{yz{zz{{{{{yzzzzyzz{{z{|{|zz{{zzzz{z{{{z{z{yyzzzy{yzz{z{|{zzzz{{yzz{z{zz{|zzyyz{zzz{zzz{|{zzy{zzzzz{z{z{z{zzzzyzyzzyzzy{yzyzzxxyyyyzzyzy{{zyzyzyzzzyyzy{zzzzzxxyyzzzzzyz|{zyyyyyxyyyz{yz{zyzyyxzyyzzzyzzzzzzyzyxyxyzzyy{zyzyyyyyzyyyyyzyzyyyzyzzyyzzyzzzyyxxyxzxzyzzy{zzzzzzyyyzxxzzzyzzz{zyyzxzyyyyzzzzz{zzyxyzyzzzyzzzzzyzyyyyzyzzzzy{zzzyzyyyyy{{yzzzz{yyyyzzyyzz{yzzzzzyzyyyzy{zz{z{zyzzzzyyzyz{zzzzzzyzzyzyzzyzzzzzzyyxzzyyyzzzzyzz{zzz{zzyyzzzz{z{{{zyzzzzyzzz{{{{{{zyzz{y{y{zz|z{{{{zzzzzzyz{zz{{z{{xy{zy{z{zz{{z{{{zzzyzzzzzzz{{{z{zzzyzzzz{{{z|{{z{z{zzzz{zz{z{{z{zzyyzz{zzzzz{|{{yzzz{zzzzzzz{zzzzzyy{zxzz{{y|{{{zyyzzyyzzyzzzzzyyzyxyzzzz{zzzzzyzyzzxyzyzzzzzyzyyyyyyyyyyzzyyzzzyyyyyyyzyzyzy{yzzzxxyyyyy{zyy{zyyzyxyyxyzzzzy{zyyzzyyyxzz{{yzyzyyyyyxyyzyzyyzzzyxxxyzyz{yyzzzzzyyyyyxxyzxzzyyzyyyyyxyyyzzzzzz{yyyzyyzyyyzzzz{zyyyzyyyzyyyzyyzyzyzyyyyyyyzzzz{z{zyyyz{yyzzzzz{{{zyzzyxzzzzzyyz{{zyyyyzyzz{zzzzzz{yzyzyzyzyzzzz{z{zyzyyyyzzzzz{z{zyzzyzyyz|zzz{{z{zzzzzyzzz{zzzzzzzzzzzzyzz{z|{{zyzzzzzyz{{y{zz{zzyzz{zzyzzzz{{{{{yzzz{zyz{z{{z|{zy{yzyzzzzz{z{{{zyzzyzzzz{z{zzz{zzyzyzzz{{{{{{{z{zyzyzyzz{zzz{{{{zzzzyzy{{{{{{{{yzyyz{yy{{zzzz{{zzz{zzzxz{zzzz{z{xyzzyyyyyz{zzzyxzzyyyzyzyyyz{z{yzzzyxzzzyzz{{{zzyzyyzzyzyyz{zz{yy{yyyzyy{{zyz{zzzzyyyyyyzyyyzy{yxyyyzzyzyz{yyzzzyzyzyzzz{zzz{zzyzzyxxyyzzzyzzyzxyyzyyyyyzz{yzz{zyzyzyzyyzyyyzzzyyzxxzzyyzyzyzzzzzzyzzyyyzzyyy{{zzyzyzzzy{yyyyzzzyzzzyzzzyzzz{zzzyzyzxyzzz{{{yy{{yzyzzzzz{{zyzzzyzzyyzzxzzzzzz{yzzzzyxzxyzyyz{z{zzzzzzzzzz{zz{{z{zyzzxzzzzzzzz{{zzzzz{yzz{{{{{{zxy{yyzyz{{z{{{{|zyyzzyzyz{{{z{z{zzzzyzzz{zz{|z|{zz{zy{{z{z{{z{{z{{zyyzz{z|z{|{{{{yyz{zyz{{zzz{z{{zzzz{|{{zzzzz{{{{zz{zzzy{{zzz{zzzzzz|{yzzzz{{|{yyyzzzzzz|{{yz{zzzzzyyzyz{{|z{yzzzyzyyzyyzyzzyzzyzzyyzzyzy{{yzzz{yyxyzyyyzyzzzzyzyzyzyyyyyy{yzz{yzyxyzyzzzyzzz{{yyyzzyzyzz{yyz{z{yyyyzyzz{zyzzzzzyyyyyyy{zy{zz{{yzyyxxyyyzz{yz{zzyyyyyxyy{zzyzzzzzyyyyxxyzzzzy{zyyyyzyzyyzyyzzzzzzzyyyyzz{zzz{{yyzzzyzyzzzz{zz{zzzyyzyzyy{yz{z{zzyyyzzzz{yz{{zzzyzzyyzyz{zzzzzzzzzzyzyyzzzzzzz{zz{zyzyyzzzzzzz{z{zzyzyzzz{{{zzyzyyyzyzz{zz{zzyzzzzz{zzzyzzz{zz{{zzyzzzzzz{{z{{|zzyyzzzzy{{zzz{{{zy{yzz{{z{{{zz{z{zzz{{zz{{zzz{{|zzzyzzzz{{|z{{{{zyzzz{zz{y{{{{|{zzz{z{zz{{{{{z{|{zzzyzzzyz{zz{{{zzzyyzzzz{z{z{z{yyzzyyyyyzzz{zzz{zzzyzyyyy{zyz{yyzzzyyzzyy{zzz{yzyzyyyzzyyy{zzzyyyyyyyxzzzzzzzzzzzzyyyyxy{{yz{zzzzzyyzyyzyzyy{yyzyzyyyyyzzzzzzzyzxzyyzyyzyyzzzzyyyzxzzzyzyyyyz{zyzyyyyyzyyzzyzzyyyzyxzyyzzyyzyz{zzyyyyzzyyyzyyzzyyzyxzyyzzzzz{{zyyyyzyyyz{{z|z{yzzzyzyyzzzyyzyz{yzzzzx{zzz{z{zy{zyyzzzyyyzzzzz{zzzyzzyzzzzzz{{{zzyyzzzzyz{{zzzzzyzzzzyyzzzzzz{z{{yzzz{xz{zz{|{{{zzzyzzzzzzz{{{{z{zzzyyzyzz{{{{{zz{{yzyzzz{{z{{{{yzy{zyz{{{{{|z|{{{yz{zzyz|{{{{{{z{zz{{y{z{z{|{{zzzz{{{zyz{z{{zy{zzzzz{yzzzz{{{{{|y{yyzzzzzz{zz{{zyyzzzzyzz{z{{{zzzyyzyzyzyzzzzyzxzyyzxyyzzz{zzzzzxyyzyyyyzyz{zz{zyzyyzxxzyyyz{z{zyzyzxzzz{yyzz{{zyzxyyyxzz{zyz{zyzzyzxzyyyz{y{zzyyzyyyzy{yyzyzzzzzzxzzyzyyyzzzzzyyzzyyyxyyzyyz{{yyyzyyyyyz{yzzz{zyyyyyyy{zzzzzzzzyzxzyxyzzyyyzzz{yyy{zzzzzyzzz{zyyzyyzyyzzzzzz{zzyyzzzz{zzzzz{z{yzzyzyyzzz{{z{z{zyyyyyy{{zzzz{zzzyzzzyzzzz{zz{z{zyzyyyzyz{{zzz{zyzz{zz{yz{{yzz{y{zzzzzyy{z{{{z{{zyzyzzzz{{zzz{zzz{{zyzzzz{zz{zzz|zyzzzzy{{|zzz{{yz{zz{z{z{z{z{{{zzzyzzyz{{{zz{{{zzzzzzz{zzz{z{z{zz{z{zyzzzzzz{||z{zyzzzz{zz{{{{{{yyyzzz{{|{zz{{z{{zyzzzxzz{{zz{z{z{y{zzzzz{yzzzyyyyzyzyyyzy{zz{zyzyzyxyy{z{y{zz{zyyyyyxxzzyzyyzzzyzyzxyxzz{zyy{yyzzyyyzyzyzzzzyzyzzzyy{xyzzzzzzzzyyyyxzyzzzyzzzzzyzxyyyzzyzzzzz{yxzzzyzy{zzyzzz{zyyzyzyyyyyzzzzyyyyxzyyyzzz{yzz{zyzzyyzyyzyzyyyzyzyyzyyyyzyzy{zzzyyyyyyzyzyyzzz{yzyzzyzyzzzz{{{{yzzzyzy{zzzzy{zyyyyyzzyzzz{yzzzzzzzz{yzyy{zyz{zzyzzyzyzz{z{yzz{{yyzyzzzzz{z|{|zzzzzz{zyzzzz{z{z|zyzy{{zz{{z{z{{{zyzzzyxz{{z{{z{zzyzzzyyy{z{{{{{{z{{yz{z{z|zz|{{{zyyzzzz{z{z{z{zz|{zzzz{zz|{zzz{{{zyzzyz{{z{{{{z{{zzz{{zz{z{{{{{{{y{yz{yyz{{zzz|{zzyzyzzz{|zzzzzzzzzzyyyyzz{zyzy{zxyxyyzxyzyyzzzzyxyyyxyzz{yyzzzyzzyzyyzyzzyzyy{zyzyzyzzyyzzzyzzzzyyyxyyyzyzzzz{zyxxyzzyyyzyzzz{xzxzyyxyzzzzyyzzz{xzyzyyyyzyyyzzzyyzyzyxyzzyy{z{z{zyzyxyyxyzzzz{zzzyzyyyzzzzzzz{zyyyyyyxxyzzzzzzyyzyyyyyzyzyzzz{zzzzzzyyyz{zzyz{zzzyyzzyyzz{{zz{zzzzzzyz{zzyyzzz{yyzzzyyzyzzzzzzzzyzzzyzy{{{z{{{zzyzyyyzyzzzzzz{zzzzzzyyyzzz{zzzzyyzyzzzzz{{z{{{zzyyyzzzz{zz{{z{{{zzzzyyz{z{zz{zzzzz{yzzz{{{z{||zyyz{z{{z{{{{zzz{{zzzyzzyz|{zz{{{{zyzzy{z{z{{zz|{zzzyz{zyzzzzz{z{{zyzzzzz{z{{z|{{zzzzzzzyyzzz{zz{{zyzyzyzz|zzzz{zzzyzzzzzzyzzzzz{yyyyyxzzzzzyzzzzyzyzyxyyz{z{zyz{zyzzzzyyzyz{{zzyzzzyyzxyzzz{zz{{zyzyy{yyzyyzz{zyzzzyyyyyzzzzzzzzywzzxzyyzyzzzzzzyyyzyzyyzzyzz{z{zyyzyxzyyzzzzzzzzyzyyyzyyz{{zz{zyyzzyyyxyzzzzzzyyzzzywyyyyzzzzzzzzzyyyyyzz{yz{zzyyzzyyxyzzzzyzz{{yyyzxzyyyzzyz{|yzzzzzzzz{y{zzz{zyzzzyxxzzzzzz{{zzzzyyzyzzz{zzzzzz{zzzyzz{zz{z|zzzzzzyzyy{zzzz{z{zzzyy{x{{{{{|zzyz{{zzzy|{zz{|{|zzzyzyzz{{{z{{z{{yyz{zz{z{{z{{{{zzzz{{{zz|z{{{{{{zz{z{zzz|{{{{{{zz{zzyzzz{{{{{{{zyy{yz{{zyz{z{|{z{z{{zyz{|{{z{{|z{zzzzzz{zyz{{{{{zyyzzzzz|zzz{|zzyzzzyyzy{{{zzy{yy{yyyyxzzzzzzzzzyyzxyyyyzzzzzzz{yyxyyyy{zzzzzzyyyzyzyxz{y{z{yzzyyzxyyyxyyzzzzyzzyyyyxyyz{zyyzzyzzyyyzxyzy{zyzzzyyzzyyyyzyyzyyzyzyxyyyzyzyzzyzzzyyyzyzxzyyzy{zzzyzyyyzyzz{yzzyzzzzyyyyyyxyy{zz{zzyzyzyxyyyyyzzzzyyyyyyyy{zzzzz{{zyzy{yyzyz{zzz{yyyzyzyyyzyy{zz{{zzzyyyzzy|{z{{z{yzzyzxzzyz{zz{{zyyzzzyzy{zzzzzzzzzzzyyzzz{y{{{zy{zyyzzzzzz{{z{zzzzyzzzzzzz{{z{{{zzzzyzyz{y{z{z{{{y{yzyyy{{zzzz{zzzyzzy{z{{{{z{z{{yzzz{zzz|{{z{{zzz{{yzzzzz{|{z{z{yyzzyyzzyyz{{{zzzzzzzzzz{{{{zz{zzzzzzyyz|zzz{|{yzzzzyzzy{{zz{zzzzz{zzyzzzzyz{zyxzyzyxyxzz{yyy{zyyyyxxyyzz{yzzzzyzzxzyzzzzzyzzzzyyyzyzyyzzzzy{z{zyyzyyyzzyyyzyzzyyyyyyxyyzyzyzzxzyyyzyyxyyzzyzzzyyyyxyxyzyzzy{yzyxxyyyyxy{yzyzyzzyxyyyyxyyzyzyzzyyzyyyxyy{yzzyzyzzyyyyyxxzzyzzzyzyzyyyzzyyy{yzzyyyyyy{yyyzyzzz{zzyxyyxyzzzzzyz{{yzyyzzyxyyy{zzyzyyyzyzyzzz{z{z{zyyyyyyyyz{zzzzzzyxzzyyyzz{{zzzzzzyyzyyzy{{z{z{z{zzzy{zyzzz{{zzz{zyz{zzzy{z{{zzz{zyyzyzyxz{{zyz{{zyyzzyzzz{zy{{zzzz{zzzzzz{{z{{{{zzzzzyzzz|z{zzzzzy{zyzzzzzz{z{|{{yz{zyyz{zz{z{{{zzzzzzzzz|{zzzz{zzzxzzzzyzz{{|{zz{zyzyzyzzy{zzzzzzyyzyzyz{yzzyxyyzxyyyyxyzzyzzyz{yyyyzyxyz{{y{zzzzyxyyzyzyzzzzy{zyyxyyyxzyzzyy{zyyyxxzzxyyzzyyyzzyyyyyyxyzzzyyzzzyzzyxyyyzyyxzzzyzyyzxyxyyyzzyzyyxyyxzyyzzyzyzzyzyzyyyyzyz{z{yzyyyyyyxxz{yzzzzzzzyxzzyyyzyzyzxzyyyxxyyzyyzyyyzz{yzzyyzyyzzzzzzzyzyyyzyyyzzzzyzzzzzzyyxzz{zzyz{xzyyyyyzyzzzzy{yzzyyzzyxyxzzzz{zzzyyyzyyyy{y{y{z{zzyyyyyzy{yyzyz{zzzyyy{yyzzyzz{z{yyyyyzzy{y{yzzz{zyyyzyyyz{zz{z{zzyzzzz{y{zz{zz{zzyzyyzzyy{{{z{|z{yyzzzz{{|zzz{y{zyyzyzyz{z{zzzzzzyzyzyzzz{zy{{{{{yxzzzyzzz{z{z{{zzyxzzzzz{z{z{zzzzyzyzyyzzyzyzzzzzyzxyzyzyzy{{zzzzyyzyzyyzzzzzyzyzyzzxyyyzzzy{zzzyxyyzyyzyyzyy{zzyzxzyyyzzz{zzz{zzxyxxyyzyz{zzy{zyyyyyyyyzzyyyzyzzzyyyxyzyzyzyzyxzyyxzxyzzyzyyzzxyyyyyyyzyyzyz{zyzzyyyyyzyzzzzzzzyzzyyzzyz{zzyzzyyzyxyyyxzyyy{z{yyzxyyxxyzxyzzyyzyzzyzyyzzzyzz{{zyzzyx{yxzzzzzzzyyyzzyyzzy{zzzyzyyxzzyzz{{z{zzz{yyzyyzyyyz{zzzyzyyzyyzyzzzz{zzzzzzzzzyzyz{{zz{{zzzzyyyzyzz{z{{{{y{{zzzyy{yz|yy{{zyyzzyyyz{z{{zzzzyy{zyyz{|zzzzzzzzyzzz{{zz{{z|z{{zzyzzzzy{z{{z{z{zzzzzzyz{z{z|y{zzzzzyzzyzzz{{{|zzzzzz{{zzz{{{z{z{{yyz{z{z{zzzzzz{zzzyyyz{z{zz{{zyyzzzzzzyzyzz{yyyyzyyyxyzzyyzzzyzyyxyzyzyxz{zzz{yzzyyyyyyzzzz{zyxzyzyyyyzyzyzz{zyyxyyyxzyzzyzzzxyyyxyzyzzyzzzz{yyzyyyyyyyzzyz{zzyzyyyzz{yyyzz{zyzyyzzyyyzz{zzzyzyyyxxyyzzz{z{zyyyzyxzxyyzzyyy{zzyyyyyyzzyyyzzzzyzyyyyyzyzzzzyzzzzzyyyyzyzzyz{{zzyyyzxzyy{zyzzzzyyzyzzyzzzzzy{zzyzzzzyyyyyzzzzz{zz{yzyzzy{zz{{zz{yyyyyzzy|zzz{zzzzyzzz{zzzzzzzzzzzxzzzzyz{z{zz{zzyzyzzzzzz{zzzz{zzzz{zzz{{{zzz|z{yzzyz{z{{z{{z{zzz{zzz{yz{z{{{{z{zz{z{yyz{{{{{|{zy{{z{zz{{{z{zzz{{zzzyzzz{{{{{{{|zzyzzzz{|z{{zz{zzzxzzyyzzz{{z{zzyzzyzzyz{zzzz|{zyzyyx{yyzzzyzzzyyyzzyyyyzzyzyzz{yzyyxyyyyyzy{{z{zxyyyyzzyzzyzzzzyyyyyxyzzyzyy{zyzyyyxyyyyzzz{zzzyyyyy{x{zzyyz{yzzzxxzyzyyzyzyyyyzyyyyyxyyzzyzyzzyzyzyxyyzyzzxzzyyyxyyyyyyyzzyzzyxyyxyxyzyzzzy{zzyyyyxzyyzzyyzyzzyyyyxyyy{zyyzzzyyyzyyyyzyyzzyzzyyyyyzyyzzzyzzzzzyzyyy{yyzzy{{zzzzzyzyxz{z{zzzzzzzyzyyzyz{zzzzzyyyzzyzyzzzzyzz{{zyzyyzyzyz{yzzzz{yzzzzyyy{z{yz{zyzzzzzzyzzz{z{zzzzzzyzzyz{zzz{{{zz{y{zxyz{{zzz{{{zzyzzzzy{{{{{z{{{zzzyz{z{{{z{{z{y{zz{yz{zzzz{{{zzzzzyyz{zz{{zz{{{xzzyyy|z{{{{{zzzzyzzzz{{yz{{|{{zyyyzzyz{yz{z{zzzyyzzzyzyzzzz{zxyyxyyyyy{z{zyyzzyyyzyzyz{zzzz{{{yyzzyyyzzyzyzzzzyyyzzzzyzz{zyzzyzyyyyyyzzzzyzz{yyxyyxzyzzyzyyz{yyyyyyyzyzzzzzzzzyyyzzyxyxz{zzy{yxyxyyzyxz{zzz{zyyyzzyxzyyzzzzyzzy{zyxzyzzzzyzzzyzyzyxyyyzzzzzyzzzzyzzyzyyzzy{z{zyzyyxyx{zzx{yzzzyyzyzyyzzzzzzzzzzzzzzzyzzzz|z{{yyyzyyyzyz{y{zzzzzzyzyyz{z{{zzzzzyzyyxyyyzzzzzzzzzyzyzzz{zzzzzy{yyzzzzxzzzz{{zz{yz{yyz{zz{z{zzz{{z{zzzyyy{yz{z{zzzzyzyzz{z{{y{{zzzzzzyyzz{{z{{{|{zzzyzyzz|{{{{{z|yzzyzz{z{{zy{z{zzzzzzzzzzzz{z|zzzyz{zzz|z{{z{|{z{zyzzyz|{z{{|{zzzzzz{{zzzzzzzzzyyzyzzyzzz{zzzzzzxyxyxyxzz{{y{{{yyzyxyyyzzz{zz{{zyyzzyyy{y{zzzzzzxzyyyxzzzzzzy{zzzyxyyyyy{yzzzzzzzyzyyzzzz{zyzzzzxzyyyzxzz{zy{zzzyzxzzyyyyyzyzz{yyyyyzzyyyyzyyzyzyxzzxyyyy{zzzzzzyyzxyyyyyzyzy{zxyzyyxzzy{zyz{zzzzyyxxyyzyzzyzzzzyzyyzxyzzzzzzzzzyyyyxzzy{zz{yyzyyyyyyzzyzzzy{zzzy{zyyyyy{z{zzy{{zzzyyzyz{z{z{{zyyzyyyzzzz{zzz{zzxyzyyy{zz{zzz{zzzzyzyyzzzz{z{{zzyz{y{{{{z{|zzz{{zyyzzyz{zzz{{yzzyzz{zyz{{z{zz{{zzz{zzzzz|y{{{|{zzzzyzzzz{{zzz|{|yy{zzzy{z{{{{z{{yzzyzz{zzz{{{{{{z{{zz{z{|{{z{{{zzzyyyzzzzz{{{{{z{yzzz{yz{{zzz{zzy{yyyzyxzzyz{yyzyyxxyxyz{zzzzzzzyyyxyyyyyyzy{{zzyyxzzzxzzyzzzzzzyyyyyyyyxzyzyzzyxzyxxyyyzyzzyy{yyzyyyyzyzz{zzyyyyyyyyyyyzzzyyzyyzyxyyyyyyzzzyy{yyyyzxxxzzzyzyzyyyzyyzxxyzyzzzyyyyyyyyzyzyzyzyzyzyzxyzxxyzyzyyzzxyyyyyyyyzzzzzyzyyzyzzxyyyyzzzzzzyyyyxyyyyzy{zyzyyz{yxyz{zzzyzzzyzyyyyyzyyz{zzzyzyyyzyyyzy{{{y{zzzyyyzyyzzzzyz{zzxyxyyyzzzzyy{zzy{yyzyyzzzzz{{zzyzyzzyzz{{z{z{{zzzz{zy{zz{zz{zzyyyy{{zzzz{zy{{{{z{zz{y{yz{{{z{z{zyyzyzzzz{{zz{{{{zzz{{zz{zzzz{{zzyzz{zy{zzzz{z{{{zzz{yzzz{z{{zz{zz{yz{yyyzzzzzzzzyzzzyzzz{{zzz{zzyyyyyyzzzzzyzzzyzyyyyyxy{zz{zzyzzyyzyyyyyzzzz{{zyyxyyzyzyz{zz{zzzyzyyyzzzzzxyzyzyyyxyyxyzzzyzyyyzzyyyzyyyy{yzzyyzyyyyyxzyzyyzzyyyyyyxxyzyzyzzzzyyyyyyyyyzyzzy{zyzyyxzxyyzzzyyzzyyyxyzyxyzzz{{zyyyyyyyyyxzyzzyzzzzyyyyyyyyzyy{zzzyxyyyzzzz{yyzzyyyxyyyyyyzzzz{{zzyzzyzzzz{zyzzzzyyyyyyyyzy{{zzzzyzzzzy{{y{zz{z{zzyyyxyyyzzz{yzz{yyxzyzzyzzzz{zzzzyzzzxzz{z{zz{{zyyzyyzzyzzzzz{{zzzyxzyyy{z{zzz{zzyyzzy{zz{zz{{z{zyzzzz{{{{|zz{z{{yyzzzz{z{{y{{zz{zzzxyzzz{zzzzzz|yzzzyzz{y{zzzz{|{zzzzyz{zyz{zz{{zzyzyyz{z{z{{zz{zyzyyzyzzzzzyzzzzzyyyyz{zzz{zzzyyyyyyzyzz{zzyzzyyyzyxyzyzzzyzz{yzyxzyxxzy{zzy|{xzzyzxyzzzz{yz{{y{zyxxzxzyzzyzzzyzzyzyyyyzzzz{zyzyyyzyzyyyzzzzz{zxyyyyy{zzyyyzzyzyyyyyxyz{yzyz{zyzyzxyyyyxzz{{{zyyyyxyyzy{zyyzzzyyyxyxzxzzzzyzzzyzzyzyyyyzyyzz{zzyzyyzzyyyzzzz{zzzyzzxxzzzzzz{{{yyzzyyzzzzzz{zzzzzzyyyyyzyzzy{zzzyzzyzzz{zzz{zzzzzzyzyyyyzz{z{{zzzyzyyyyyzzyyzz{yyyzzyzzzz{{z{z{y{{zyzzzzz{{{zzzzzzzxzyyzzzzz{{{{zzz{zzz{{{z{zz{z{{zzzy{{zz{{{{{zzzyzzzz{{z{z{|{{xyzz{yz|{zz{zzyzyyzz{zz{z{{z{{{{z{{zzzz{{{{{zz{zzyyzzzzz{z{{|{zzzzzzyyyz{zz{{zyyyz{zzyy{z{zzzyzzyyyyxywyzyzxyyzyyyzzyyyyyzyyyzyyxyxxzyxyzyyz{zzzyzyyyzzyyzzyyzyyzxxyyyxzz{zzzz{yyyyxyyyyzyyzzzzyyyxyyyyyyzyzzzyzyxxyyyyzyzyyyyzxyyxyyyyyyzyyzzyyyxyyxxyyy{yz{zyyzyxxyyyyzyzzyzzyzyyyyyyyyyyyz{zyxxzyyyyyzyyyzzzzxyzy{yyzyzyzyyzzxxyyyzxyzyzzzzzzzzzyxzyzzy{zyyzyyyzxyyzyzzzyzzzyyyyxyyzzzzzzyyzzzzzyxyyzzzzy{{zzyyyyzzyzz{yzyzzzzzyzz{z{{|{zz{zxzyzyzzzzzz{z|z{zyzyyyzyzzzzzz|zzzyzxzz{z{z{zz{{zzzz{z{z{yz{{{{zyzzzyzyyz{{{zzz{zzzyyyyyzzz{zzz{{yzyzzyzzzz{{z{zzzyzzzyyyz{{{zz{zzzyyyzzzzzz{zzzzzzyyyzyzzzzyz{zzyzyyzzyyzyzy{yzzyxyyyzxxzyyzyzzyyyyyyyzzyz{zzz{yyyyxyzxzzyzzyzyzxyyyyxxzzy{zyzyzyyxxyyxyxzyzzzzzyzyyxzzz{zyy{zyyyxyyyyzyzyzzzzyyyyyxyyzzzxzyzy{yyyyyyyyyzzyzyyyxyyzxyyxzyzyyzzyyyzzxzxyy{zzzzyzyyxyxyzyyzzyyzyyzyzyzyyyyzyyzyyyyyyyzyyzyzzzzzzyyxyzzyyyxzyzyyz{yyzzyxyzzzyz{zz{yyzxyzyyyz{zzyzzyyzyzxyzy{zzx{zzzyzzzyz{{zzzyz{zzzzzzyyzzzzzzzy{zzyzyyzzzyz{{{z{yy{yzyzzzzz{z{z{zyzzyyyyzy{{zzz{zyzzzyy{y{{zzz{|{zzyy{{zzzzzzzz{|zzyzyzyz{|z{{z{zzzzzzzzzzz{{{{{{zyzzzz{{{z{{{{z{zyzzzzy{{{zzz{{yzzz{yzzzyy{z{{zzzyzzz{yz{zyzz{zyyzyzyy{{{zzyxzyzyyyyzxxyzzz{{yzzxyyxyyyzzyzzzzzzyyyxyyxzyzzyz{zzxzzzyyy{zzzyzz{zzzyyyzyzyzzz{zzzyzyyyyxyzzyzzzzyyxxyyzxzyyxy{zzyxyyyyyzzyzzzy{zyyyyxyyxyyyyzy{yyyyyyxyyyz{y{z{zzyzyxyyyyyzxzzzzxyyyyzyxyyyyzzyyzxzyzyzyyyzzzzz{zzzyzzyzzzzzyzzz{yyyyxyzy{zzzz{zzyzzyzzyyyzzzz{zyz{yyyzyzzzz{z{zyyyyzyyyyzzzz{{zyyzyzyyyyz{zzy{{zzzyzyyzzzz{zz{yzzzyzzzz{{z{z{{zzzyzyzzzz{y{y{z{zyz{yyyyz{{y{{{{{y{yyzzz{zzzz{{zzzzyzzx{z{zzzz{{{{zz{zzzz|z{{z{{{z{zzzyz{zz{zzz{{zz{yzyzz|z{{{{{{zzzzzzy{z{z{z{|zzyyyyzyyzyzz{|{{z{zyyzyz{{{zzzzzzzzyyxyyz{zzzzzxyyyzxyyxzyyz{z{zzyzzxyyyzzzz{z{zyyxxyzyzyz{zyz{yzxzyzyzzzzzyzzzyyyxyyyxzzyzzzzzzyyyzzyyyzzyyyyyzzzxzxyyyyzzzz{yzyzyyyxyzyzxzzz{yyyxyzyzyyyy{zzyzzzyyxyyyyzyzyzyyyyxyyyyyyyyzzzzyyyxyxxyyzzzzz{yzyzzyyyyxzyyzzyyyyyyyyzyyzzyyz{{zyyyzyyzyyzy{{yzzyzzxyzzzzyzzzz{zyzzyzyyzzzyzzz{yzyyzyyyy{zz{zzzyyzyyyxz{{{zyz{|zyzyyyzzyz{zz{zzzzzzzzzzzzzzz{zzyzyyzyzyyzzzzz{{yyzzzzyz{{{zzz{z{zzzyzzyz{{zzz{zzzyzzzzyz{{zz{|z{zzzzzzyz|{{z{{zzyz{yzzzz{|{{zzz{y{zzyzzyzzz{zz{{zzyzzzz{zz{{z{{{zyzzyyzzzz{zz|zz{zyzzyyzz{{z{{zyyzyzyxy{y{y{yyyzxyyyyyyzyzzzzzzzzyzzyyzyz{z{z{|yzzxzyyyzyzz{zy{yzzyzzyyyzzyyzzzzxzyyyyxzz{zzy{zzzyyzyxyyzyyzz{zzyzzyyyyyxzzyyzyyzyxzyxyyyzzzzzyyzyxyyxyyyyzzzzyzyxyxzyyzzzyyzzzzx{zxyxzyzyzyxzzyyzxyyxxyy{yzz{yxyyyyyyy{zyzyzzzzyyyzzyyy{zyzz{{yyyz{zzyzzyzzyz{zxzyyxzyyyz{zzzzzyyyyzxy{y{zzz{zzzyyzxzyzzz{zyz{{yzyzyyz{zzzyz{zyzzyzzzzzzzzzyz{zzzx{zyzz{{{{{z{yzyyyzyzzzzzzz|zzyyzzzzy{z{{{{{z{zyzzzzyz{{zzz{z{z{zz|zz{zzz|{z{zyyzzz{zz{zz{{{{zzzzzz{z{{{zzzzzzyz{zzz{z{z{z{z|zyyz{{{z{{{z{{{{zzzyzzzy|{{zzz{zzyz{z{zyzzz{z{|zzzzyzzyyzz{yzz{zyyyzyyyzzyzyyzzzyzzyyyyy{zzzzzy{zyyxzzxxzyzz{zzzzzxyzyyyzz{yyzzzyyxyyxyyzzzz{zz{zyyyyyxyzzyzyzyzzzyyyyxyyyyzyyyyyyyzyzxyyyyyzzyzyyzxyyyyzzyzzz{yyyyyxzxzzzzyzzzzzyzxxyxzyzzzzyz{yyzyyxzwxyyyxzzzyyyyyyzyy{zy{zzzyzxyyzyyzyzzyzzzyzyyzyzyzz{zyzz{zyzyzxxxzzyzz{y{zyyzxzyyyzzzy{zzzzzyzzyzz{zzz{z{zzzzzyyy{z{zzzzzzyzzzyyy{z{{y{{zzzzyzyzzz{yzzz{zyy{{z{zz{{zzy{z{zzzzzzyy{{{zzz{z{xzzzyyz{{{z|{{zzyzy{{zzz{{{{{z{zz{yz{zz{{{{{{|z{{{z{yyz{{zz{{{yzzzzzzyyz{{z{zz{zzz{{zyyzz{zyzz{zyzzzyzyzzzz{{{{{yyyyyzzzzzy{z{{zzyyyyyzzz{{zzzzzzxyyzxxyz{yyzzzzyyxyxxy{zzyzz{zzyyyyyyzyzz{zz{zzyzxzxxzyz{{zy{zzyzyyzyyzyzzyyy{yyzyyyyxyyzy{zzzzyyzxxzzyzzyy{zyyzyyyyyzzyzzyyzzyyyyyyzyzz{zzzzzzyxyyyxzyzzzyyzzzzyyyyxzyzzyzzz{yyyyyyzyyzyyyyzzyyyyyyzzxzz{yzzzyyyyzyzyyzzzz{zyxyyy{zyzyzz{zzzzzzzyyyyyyyzz{{{yzyyyxyzzzyzzzz{zyzzyzxyzyzz{zzzzzyyyzyzyz{{zzyzzzxyzz{zyzzzz{zzzyzzzzz{{{zz{zzz{zyzzzzzzz{z{z{{{yzyzzzyzy{{{{zzzzyzyyzzzz|{z{{|zyyzzz{{yy{{{{{z{zzzzzz{zy|{{z|z|zzy{zyyz{{z{z{|{zxyzzzyzzz{{z{{{{zyzzzzz{{z{z{|{zzzyyzyzzzzzzz|{zzyyyyxyzzzzz{{zzzzyyyzxzz{zyzzzyyyyxyxxyzzzyyzzyyxyxzyyyzzzzzzzyyzyyzxyzyyz{zzyzyyzyyzyyzz{yzzzzyyxxyyxzyzzxzyzyyzxyyzyyyyzyyzzyyyyzxyyxzxyzzzyyyyyzyyyzyyyzzzzxxyxyxyxzzzyyyzyyyxxyzxyzyyzyzzyyyyxxzyyyzz{yyzzyyyyyyxxzzyyzyzzyyxxyyxyxzzyzzzzyyzyyyxxzyyzzzzzzyzyyyyxyzzzyyzzyyzyzxzzzyzzz{zzzxyyyyzyz|yyzzzyyyyy{yzyzyyyzzzzyyzyzzyyzy{{z{zzyyyyzzzyzzzyz{zzyyy{zyyz{y{z{z|zyyyyyzzyyzzzz{z{yzzzxyyyz{zy{z{{zzzyzzz{z{{zz{{{zyzy{zyzzzzz{{z|{x{zyzzzz|z{{{{|zzzyzyzzzzz{zz{zzzyyzzy{z{{zzzzzzzzzzzy{z{z{|z|zzyzzzyyz{yzzz|zyyyyyzxzyzzzzzzyzzzzxyyyyzz{yzzyyyyyyyywyyy{zyy{zyzyyyyyxxzzzyzyzxyxyyzyyzyzyzzzzzyyyyxyzxzyzy{z{zzyyxyzyyz{yyyzzyzyyxxyxzzyzzzzyyyyzyyzzzz{yyyyzyyyzyyyxyzzzzzzzzzxxyyyxzzxzyyzzzyxyxzxyzzyzzyzzyzzxxyyyzzzzyzzzyyyyyxzyyzzyyzzyyyyyyyyyzyyzzzz{yyzzzzyyzzyzyzzzzyyyyyyyzzzyz{yzzyzyzyzyzzzzzyz{yzzyxyzxz{zyz{z{zzzyzyzyyz{zzzy{yzyzzzyyz{{z{{{zyzzzzzzyyzzzy{z{yy{zzzzyy{{z{{zzxzyzzzz{{zzzz{z{zzzzzyyz{zz|zz{z{yyyzz{zz{z{{z{zzz{zyz{z{z{z{{{{{zzzz{zzz|zz{{{{yzzzzy{z|{z{z{{z{zzzzyzzzyzz{z{{{zz{z{yy{{z{{{zzzzzyzzzzz{zzzz|zzzzyy{yyzzz|zzzzzyzx{yyyzy{zzzzzyzxzyyzxzzzzzzyyyyzzzyyyyyzzzzzzyyyyzyzx{zzzzz{zzyzzyyzxyzz{xz{{zzyyyxyyzzzzyzyzyyyyyxyyyzzyzzzzzyzyzyyxzzzyzyzzzzzxyyyyzyyzzzzzxyyyyyyyxzzzzyyxzwxyxyxzzxzzyyzzyyyyzyyyzzzzzzzzzyyyyxyxzyyzyzzzzyxyzxyyyzzy{zz{yxyyyyyyzzz{zzz{zyyyzzyyyzzyzzzyzyzyzyyy{zzyyzz{zzyyyyyzzyzzz{z{yzzyzyzyy{zzz{{zzzxyyyyyzzyzz{zzzyyzyzyyzyyzz{z{{zzyyyzz{z{{z{{{yyzzzyzz|{y{{{z{zzzzzyzz{{{z{{zzzzzz{z{z{{{{z{{{zz{zzzzzzz{{{{zzzyyzzzzy{{|{y{{{z{zzzyzzzz{{z{{{{zyyzyzzzzzzzzz{{{zz{zy{{{{{z{{zzzyyzzzz{zy{{{{{yzzyzyyzyzzzy{{{zzzyzyyzzzyz{yzzzyxxzyyxyzyzzzz{yyyyyyyzyzzz{zzyzzxxyzyyy{zyyzzzxzzyxxxyxzzzxyzzyyzyyyyxzzzzyzzyyyzyyxyxyzzyzzzyzyyxyyzyyyzzyzzzyyzxyzxzzyzyyzzzyyyxxyyxyzyyzy{yyxyyyxyyyyzyz{zzzyxyyyyyyyzzyyzzyyyzyyyyzzzxyzyzyyyyxzyyzzxyyyzzyyzzyyyyyzy{zyzyzyxyzywyzzyyzzz{zyyyyyyyyyyzzyyzyzzyzyxyyzzzyzyzzyzyzyzyyz{{zzzzyyzzzyzzzzyzz{zzzyyzy{yzz{{y{z{zzzzzzyyz{zzzzzzzyzyxyzyyzzz{yz{{yzzzzyyyzzzz{zzz{xzyzyyy{{{{{{{zz{yzzz{yzz{z{{z{zyyzzzz{z|{z{zzz{yyyyyyyzzz{zzzyzyzzxxyy{{yz{{{zzyy{yzz{{{zzzzz{zzyzzzzyz{z{z{{{zyzyzzyyz{yzz{zzzy{zzyyzyzyz{zzzzxyyxyzxyzzxyyyzzzyzzyyyzyzx{{zzzyyzzyyyyyzyyzzzzyxyzzzyyzzzyz{zzyyzyyxxzyyyzzx{xyyyxzyyy{zyyzzyzxyxyyxyyzzyx{zyyyzyyyyyyzzzzzzzyyxyzyyyy{zzyzzzzyyyyyyyzzzyzzzzyzzyyyyxzzzyyzz{yyyyzyyxzzzzyzyzzyzxyxyyyzyyy{zzzyyyyxyxyzyzyz{zyyyyyyyyzzzzzyzzxzyzyyxyzyzzzzz{zyyzyyxzzzzz{z{yzzzyyzyyyzzyyzzzzzzzyzyy{zzzzzzzzzyzzzyyz{zzz{zzzyzy{yy{zz{{{{zzyzyyzzzy{{{z{zzzzzzyyyzyzz{z{{zzzzzyyzzzz{zz{z{zzzzzyzzzyzzz{z{z{z{z{{zyz{{{z{{{zy{zzzyz{z{{zzzzyyyzzyyz{z{zz{{{{{{{zzzz{zzz{{{{z{zyzyyzy{zzzy{{zzyyyyzyz|{zzy{zzyzxyzzyzzzzy{z{yyyzyyzyyzyzzzyzzyzzzyyyyzzzzz{zzyzyyyzyzzyzzzzzyyyzzyxyzzzz{yyzzyzzyyyyzzyzzzzzzyyyzyzyyzzyyy{zzyyyyzyyzzzxzzzzyzyxyyxzyyzzyyzzyyzyzyyyyzzyzzzzzyyyyyxyyzzzz{zzzyyyxyyzyzzy{zzzyzyyzyyyyzzzz{zyyzzyyzyyyzzyzzzzyyzzyzyyyzzzyzyzzzzzzyyzzyzzzz{{zzzxyyz{zzyzz{z{zzyzy{zzzyzyzz{y{yzzzyyyzyzz{zzzzyzzzzyyy{{zzz{{zyzyzyzzzzzzyzzzyzzzyy{zz|z{{zzzzzyzzzyz{{{{{z{zzzyzzzyyyz{|{|zz{yz{yy{z{{z{zz{{zyzyz{z{zzzyz{zzzy{yz{z{z|{|{|{{{zzz{zz{z{zzzzzzzzyyzz{zz{{{zz{{{zzzzzz{zz{zz|{{zzzzzzzzz{{{zz{{zzyyyzyyyzz{z{{zzzzyzyyzzzzz{yzyyyzyyyyyzzyzzyzzyyyzyxzyzzz{zz{zzzyxyzzy{zzzyz{zyyzyyzyxzyzzzzzzzyyyxyyyyzxyyzzzyzzyyyxyzz{zzzz{zzyyyxyzyzzyyz{zzyyxz{zyzyzyzzzzyyzzxxyxzzzyyz{zzzxyyyyzzyzyyz{z{yzyxyyyzzyzyyzzyyxyyyzzyzyz{zyzzzyyyxzxyzzyy{zzyyyyyyzzzzyzzyz{zyzyyyzzzyz{{zz{zzyzzzzzzzyzyzy{zzzyyyyzzzyy{zzyzzzzyyzzyzyz{z{zyzzyzzyz{z{{z{{zzyyzyyz{{{{y{{z{zyzzyzzz{{{zz{{zyyzzzzzy{z{zz{{|z{zyyyyzz|z{z{{{{zy{zzzz{{zz|z{{zzyzzz{z{{zz{{|{{z{zzzzyz{z{{|z{{zzzz{z{{{zz{{z{{zzzzzyyz{z{{{|{{z{z{zz|{{{{{{|zyzzyzyzyz{z{{{|{z{zyyyyzz{{zzzzzzzzyyyy{zzzzzzzyzxyyyyyyyyzyyyy{yyyyyxyyzyyzzzzyyyyyzzyyyzzzyz{zyzzyyzyyyzzzyzyzzz{xyyzxzzzzyzy{yxxyyyzyzzxxyzzzzyzyyyyzzzzzzzzzzzyyxxyyzzzzyzyzyyyxyyyyzyyzzz{zyyyyyyyzxzzzzzzyyyyxyyxyyyzzzzzzzyyyyzyyyyzzyzzyyyyyyyzyzzzzzzzzzyyyxyyyzz{zzyzzyzyyyzzzzyzzz{zzyyzzyyzzzzzzzzzzzyzyyzzz{{zz{z{zzzyzyyzyz{z{zzy{zyzyzyyyyzyzzz{zyyyzzzzzyyzz{{{zyyzyzzzzzz{{{yzzyzzzzz{yzzzzz{{{zzzz{zyyzzzzzzz{zyzyzzyyyzzzz{{z{zzyyz{z{z{{z{z{zzzyzzzzz{{zz{zzzzzzzyzz{zzzz|{zzzzzzzzz{zzyzzz{zzyzzzyzz{z{z{z{{yzzzzz{zzzzz{zz{zzzzzzyz{z{zzzzyyzxxzyzzzyzzzzzxyxzzyyyyzzyyzzzzyyyyyxyzzzz{y{zzzxyzyxyzyzyzyzzzyyxxyyyyyzzyz{zyzzyzyyyzyzzzyzzyzxyyyyyyzyyzzzyyxzyyzyyzzy{zzyzyyxyyyyyyzzzyzzzyyyyyyyyyyyzyzzyyyyywyyyzyzy{zzzzyyyyyxzzzzyyzzzyxyxyyyyxzyzyzzzzzyxyyyyyzyxzz{yyyyyyyzyzzzzzzzzzyyyyyzyz{y{zz{{xzyyyyzyzzzzzzzzz{zyyxyyzyz{yzz{zzzyzyzyz{zzyzzzyzyxyzz{zzzzzz{zzxzzyyzzzz{zyz{zzzzzzyyzzyz{z{{{yzzyzzzz|{z{{zzzyzyzzzyyzzz{zz{{{yzzzzzy{{{z{z{|zzzzzz{zzz{z{z{{{zyzz{yz{{zz{{{z{zzzzz{z{z{zzz{{zyzzzyz{z{z{zzz{{zz{{yzzz{z{{{{{zz{yx{zzzz{{{{zzzzzzyyyzz{{z{z{zzyyyyyzzyz{zzzzyzzwzyyyyyzzzzzzzxyzyyzzxyzyz{zzz{xxxyyyyzzzzz{z{zyy{zyyzxzyyz{{zzyzxyyzyz{zzz{yyyyxyyzzzzzzzyyzzzyyzzzyxyz{yyzz{yyyxyyyyzxzyyzyzyyzyzyyyyzzyzyyyzyyyyyyyyz{zzzyzzzyzzyxxzz{{zzzzyzxyyyyzxzzzzzz{zyxzxyyyyzyyz{{zyxyyyzyyyzzyzzzzzyzyyzyzyzzyy{zzyzyzzyzyy{z{z{{zzxzyz{zzzzzzz{z{zzzzzzyzyzzyzz{zzyzyyzzz{{zzzzzzyyyzyyyyzzzyzzz{zyzzzyzzz{zz{{z{zzyyzz{z|{zz{zz{zy{{zzzyzz{zz{{{{yyz|{{zz{{{z|{{zzzxyzzzzzzzz{zz{y{zyzz{z{{zz{{{zzzzzzzzzzz{{{{zzzzy{yz{{z{zz{{{z{yz{z{{{{z{zzzzzzzyyyzz{zyz{z{z{zzzyy{zz|z{{{{zyyzyyyzyzzzzzzzzyzyyyyzzzzzyzz{zyyxzxyyyyyyyzzzzyxyyyzyy{zzz{zzyzxyzzzxzzyyzyy{zzyyyxyyxzyzyyz{zyxzxyyyyyyyyzzzzzxzyyyxyzyyyxzzzzyyyyyy{zyzyyzyzzxyyyyyyyzyzzyzyyzxyyyyyzyzyyz{yzzyyyyyyyzzzzy{{yzyyyyyyyzzyyyzzyzyyyyyyyyyz{zzyyxzyyzyyyzyyzzz{zyzxzyzyzyyyyzzzyzyyxy{zyz{zzzyzyyzyyyyz{yyyyzzzyyyzzyzyzzzzzzzzzyxyyzxyz{zzyz{zzzxyzzyyzz{yzzzzyy{z{yyyzzzz{{zzyyzyzzzzzzzzzz{|yyyzzxyyzzzz{z{z{zz{yyyz{z{zz{{{zzzzz{zzzzz{z{z{{yzyy{zzz{z{z{|z{zzyzzzzzzz{zzz{zzzzzz{xzz{z{{z{zzzyzzzz{z|zz{{zzzyzyy{zzzzzz{{zz{zzzyzyyzz{zz{zzzyzyyyzzzz{{yzyzyyxyxzyzzzyyzzzxyyxyyyyzyzzzz{zzyyyzzyxzzzzzz{zyyyzyzxzy{yzxzzzzzzyxyyxzzzzzyyzzxyyyzyyyzyzyz{zzyzxyyyyz{{zzzyzyyxyyzyyzyzyzyzzzyyyzxzyyzyzyzyyy{xxxyyzzyzzzyzy{yyyxyyyyyyzzzzzzxyyzyzyyyyyzyzyyyyxyyyyyzyz{{zzyyzxyyyyyzzy{zzzzzyyyyxzz{zzyzy{yxyzyxzzyzzyyzz{zzzyzyyyzyzz{z{{zzzyzzzzyz{z{z{yyzyzyyzxz{zy{{{zzzyyzzzy{zyzzzzzzzz{yzyyzz{zz{{zz{yzzzyzzzzzz{{{zyzzyzyxz{{zzzzzzzy{zzzzzz{y{{zzzyzyz{zz{z{{{{{z{yzzyzzzz{zz{z{{{zzzyz{y{zzyz{{z{zzzyy{zzz{zz|{z{zzzzzyzz{z{z{{zzyzyzyyyzzzzzz{zzzzyyyyyzzzzz{{zyyzyzyyyz{zzzzzyyxxyyyzyyzy{yyzzyyyyyxyyzzzyy{zz{yxyyxzxzzyzyzz{zyyyyyyyyzyzzzzyzzxyyyxxzyzzyzyzyyzyyzzyyzzzzz{yyyzy{yyyyyzyyy{{zyyzyzyyyyzzyzzzzyyxyyyyyyyzzzzyyzxyxzyzyyyzzyzzyyyyxyyzyzzzyz{zzzzyyxyyyyyyyzz{zzyyyxyyyzzzx{zzzzzyzyyyzzyyzyz{zzyxzyzyzzzzzyzzzyzyzyyyzyzz{yzzzyyzyyyyzyzzz{z{yyyzzyzz{z{{zzzzzyzyyyxyzzzzzzzzzyzzzzzyz{{yz{y{yzyyzyzz{zz{{zz|zzzzyzzzz{y{z{{zzzyzyzyyz{y{{{z{{{zzzyyzz{z{{{{{yyzzzzyzzz{{{{{|zzyzzzzz{{zz{z{{zyy{zyzzz|z{zz|zyyzz{y{zz{{zz{z{zzzzz{yzy{z{zzz{zzzyy{yzzzzzzz{{zzyzyzyy{|z{yzzzyyyyyyyyzzzzz{yzyyxyyyyyxzzzzy{yzyzyywyzzzzyzzz{y{xyyyyyz{zzyz{zzyzyyyyyyzz{zxzzzzxyzyyyzzzzzzzzzyyyyyyxy{yzyyzyzyzxyyyyz{zxyz{zyyzxxzyyzyyzzyyyzyyyyzyzzyyxyyyzzyyyyyyzyyzyzzzzyyyyxyyxyy{zyzzzyzzyzyyyzyyzzxzzyyyyzzyyyzyzz{zyzyyzyyyxyzz{yz{z{zyyyyyyzy{yy{z{zyyyzyyyzzzy{zzyzzzzyyyzzzzyz{z{yyzzzyyzz{zzyz{zzyyyyzzyzz{yzz{zzzzyxyzzzzzzzzzyzzzzyzyzzzy{{zzzxzzyzyzy{{zzz{{{{y{zzzyyz{zzzzz{zyyyzzyz{{zz{zz{zzyyzzz{{zzz{z{{zzzzzzzzyz{{z{{z{yzzzzyyzz|yz{z{{zzyz{{zzz{{z{{{zzzzzzzz{{z{{zz{zzzzz{xyz{zzyz{{{{yyyzzzz{zzyyzzxyzzyxyyxyzzzyyzyzyzyyyxxzzzzzzyyyzyyyyxzyzzzyz{yzyyyyyyzzzyzy{zyyzyyyyyyzzyyyy{yyyxyyyyzzzzzzyyzyyxyyzzyzxxzzzyzyyyzzywzy{yz{zzy{yzyyyyzzyzzzyzyyyzyyxyyyzyzzzyzyyzxyxzzzzyzzzzyyyyxzyxyzzzyz{{yzxzyyz{yyzyyyz{{yyzyxyxzyzzzyzzzzyyzzyzyzyyyyzzzzyzyzyxzzzzzzzzzyyyyzyzzz{zzzz{yzyyyzyzzzzzz{zzzyyyzyyyzz{{zzzzyyyzyxyxzzzzyyzzyzzyxzyyz{{yzzzz{yyzyyyzzzz{zzz{zzzzzzzz{zyzyzzzzyxzzyzyzzzyz{{{{yyzzyyzzzzz{z|zzzyzzy{y{z{z{z{{{zyz{zzzzzz{{z{{yzyzzzzzzzzzzz{zzyyyyzzzzzz{z{{{zzzzzzz{zz{{zz{{zzzyzzyx{zzzz{{z{y{zyzyxz{|zzzzzyyzyyyzzzzz{zyzzzzzxyyyxz{{yz{zzyyyyzyyx{zzzzzzzzzyyy{yxz{zzzz{yzzzyyxyyyzzzzzzzzzyxyyyxzyyzzzzzyzyyyyzyyzyyzzzyzxzxzyxyxyzxyzzzyzyzzyyyyzyxzzyzxzyxyyyyyz{zyz{zzyyyyzyyzy{zzzzyyyyxxyyyyzzzzzzyyyzzyxyyz{zyzzzzxzyyzyzyyzzxz{zzzyzzyyywzzz{yz{zzzzxyyyzzy{yzyzzyyyzzwyyzyyzzzzzzzyyzzzzz{zy{zzz{yzyyyyzzz{yzzzzyyzyyyyzz{{z{z{zzxxzyyyzzzzz{z{{yzzy|yzyz{zzz{{zzz{yzzzy{{z{z|{{{zxzzzyyzzzz{z{{{y{zzzzz{{{{{|{{zzz{z{zzz{z{{|{z|yzzz{zzz{z{zz{{zzzzyzzzz{{|zzz{{yzy{yzz{zzz{{|{zzyyyzyyz{{{z{{{zzzzzzyzz|zz{{{{zzyzyzzyz{{{{z|z{yzzyyyyz{z{yyzyyyyxxyyyy{zzzzz|yyyyzyyyzzzzzzzzzyxxzyzyyzzz{zzzzzyzzzyyyzyyzyyzzyyyyyyyzzzzyzz{zyyyyyzyy{yyy{zyyzyxzyyyzyzzyzzyyyyxxyyyxyzzxyyzzyzyyyzyyzyyyzzzyzyyyzwzzzyyzzyzzyyyyyyyyzyxyyzzzyyxyyyyzzzyzzzzyyyyyzyyyyzzz{zzzxzyzyyyyzz{zzzyyxyyyxyxyzz{z{{zyyzxyzyy{zzyyz{{yy{zyyyyyyyyzzzzzzzzzyyyy{zzyzz{y{yzzyzyz{{zzz{zzyyzyzzz{{{zz{zyzzzzzyzzzz|zzz{{zzzyzz{zyz{zzz{zzzzyzzyyzz|z{z{zzyzzzzzy|zzz|{{{zzzyzyzz{}yzz{zzzyzyz{zzz{zzz{{{zy{zyzz{{{z{{{{{{zy{{zzz|zz{{z|{zzzzyyzyzz{|{{{{zzzzyzzzyzzzz{zz{yyzzzzy{zy{{{z{zyyyzyxzzz{zzzyzyzyyyyxyyzzzyzzzxyyxxxyyzyzz{zzzyzyyzxzy{yzzyzzzzzyyzzxzzyyzzyzzzzzyyzyyzzz{zyz{yyzzyzyyzzzzyzyyzxyzyyyzzyzxzz{zzyzyyyxzzyyzyzzzyxyyxxxxyyzzyyyyzyyyxzxyyzyzyyyzyxzyyxyyyzyyzz{yzyyyzyyxyyyyyzzyyxyyyxxxyzzzzzyzzzzxyyzyyzzz{zzzzyzyzxzzz{yyzzyzzyyyzyyyzzzzzzyzzzzyyzzyzyz{zz{yyzzyyxyyyy{{zz{zyzyyzxyzyzyyz{yzyyyyyyyzzzz{zzzz{{zzzzy{zz{{{{{zyyyz{zyzzzy{{zz{zyzzzyyyzzzz{{zzzxzzyzzzz{{z{||zzzzyyyzzzz{|z|zzzz{yzz{zz{{{z{|{{zyyyzzzz{{{{{{zzyyzzyyz{zz{zz{{zzz{zyzz{{z{{{{zz{zyyzzzy{y{zzz{z{yzy{{yyzyzyzz{yzzzyzzyzyyzyzyzyyxyxyxzyzzyzy{zyyzzyyyzzz{yzzzzzzzyyxyxzyzzzzzzzzzyyyyyzzzzzzzzzzxxxxyxzyzzyzyzzyyyyzzyyzzzyzxzyyyyyyyyzyzyzzzzyyyyyyyyyzyyyzyyyyxyyxzyzzzzzy{zxzxyyyxzzzzzzzzzzyzzxzyyyyz{zyzzzyyyzyxyzzzzzy{zxzzxyyyyyyyzzzyzzxzyyzzyyzzzyz{zyyxyyyyzzzyzzzzyyyyyzyzyzzzzzzy{zzzyyyxxzz{zzy|zzzzzzyzyyzzzz{zzzzzyzyyyz{zzzz|zzyxy{zyyz{{zyy{zzzzzyyzz{z{{{{{{zzzyzyzz{zzz{z{{zz{{yzzz{{{{{{z{{y{z{zzyz{{zzz{zzyzzzz|z{z{{|{zzzzzzzzzzz|z{{z{zzy{zy{yz{{{zzzz{{yzzzzy{z{zzz{{z{zzz{{zzz{zy{|z||{yyyzzzzzzz{{z{zzzyzzyzzy{zzy{yz{zzyyyyxzzzzzzzyyyxzyyzy{yzzyzzzyyyyzyzyzzzzyz{{zyyyyyzzzzzzz{{zzzyzyyzzzzzzz{zzyyxzyyyyy{zyzzzzyyxyzyyzzzzzzzzzyzyyxyzyzzzyzyzzyzzyyyyzzzzzzzzyyyyyyxyzzyzyzzzzzyyyyzxyyzzzz{zzxzyyxyxzyzyzzzyzyyyyzyyyzzyyzzzyzzyzyzyzzyyzzzzzyzzyzyxzzz{{zz{zyyzyyyyzzzzzyz{zzyzxyzzzzzz{z{zzyzxyyyyz{zzzzz{zzzyyyzyzzzzyzzz{yzyzyyyz{zyyz{zyyz{yzzz{{zzz{zzzyzxz{zzzzz{zz{zyzyzy{zyzzzzz{|{zyzzyyzz{zz{{{zz{{yyyz{zzz{z{{{zz{yzzzzzyz{{{{z{zzzzzzyzy{{{{{{{|zz{zzzy{{{z{{{z|yyzzzz{z{{z{zzz{zy{zzyz{{{{{{z{zzzzzzzz{{z{z{{z{zzzyzxyzzzzz{zyzzzyyzyyzz{yyyzyyyzzyyyxyzzyzyzzzxyyxyxyyxyy{zz{yxyzyyxyzzzyyyyzzyyyxzyyyzzzyzzzyzyyyyyxzyyzyzy{yyzzxzyxyzyyyzzyyyyyxyxxzz{yyzzxyyyxyyyyyzyzyxyzxxyxyzyyyyzzyyzzyxyyxyyyyzyz{zzzyzyzyyyzzzzyz{yyyxyyyyxyzyzyzy{yzy{yyyzyzzyzyzzyyyyyyyxyzyzyyzzzyyyyyyyyzz{zyzzzyyzyyyyyyzzzzy{zyzyyyxxyyzzzzzzyyyy{zyyy{{zzzz{yyzyyyyxzzz{{xzzyyzyzyzyyz{{yzzzzzzzzzyyy{z{z{z{zzyzyyyzyzzyz{z{zzzzzyxxyz{z{zy{yzyyyzyyy{{zzzz{zzzzzzzzzy{{{{{yzzzyyzzzyzzzzzz{zzyyzyz{zzz{{zzz{zzyyzyyzzzzzz{z|zyzyzzzyzzzz{zzzz{yyzyyzz{{zzz{z{zyyzzzyzyy{z{zzyzywzyyyyy{zzzyzzyyyyxyyzyyyyyzyyyxyzxyyyyzyyyz{zyyyxxyyz{zzzzyz{yzyyxyzyzzyyyy{zzyyxyzxyyzyyzyzzzyxyyyyyyyyyzzzzyzyzxyyzzzzyyzzyyzxxzyxyzyzxyzyxxyxyyyxyzyyxyzzzyyyyyyyyzzyzzzzyyzzxxyyyzzyyyyzyyyyyyzyyzzzzxzyzyyzyyxyyzzzyzzzyxyyyxzxyyzzzzzyzyyzzyyz{z{zyyzzyyzxzyyzy{yzzz{yzyyyxyyyzzyzy{zyzyzxzzzzzzzz{zzyzyxyzxzz{z{{yz{zyxyyyyzyyzzy{{{zyyy{z{zyzz{zzzzzy{zzzyzzzyzzz{z{{zy{yzyxz{zzy{{zzyzzyyzy{z{z{{{zyz{zzzyzz{zzz{{z{zzzyzzzzzz{{y{{zyzzy{zzzz{zzzz{z{zzyyyyz{{zzy{zzzyzyzzzzzz{z{|{yzyzzyyyz{yyz{{{z{yyzyzyzz{zzzyyyzzxyyyyxzzzyzy{zyyzxyywyzzyzyyzyyxyxxyyzyyyzyzzyzyxyzyxzzzyzzzzyzyxyyyyzy{|zy{zyxyyyxyxyxzyxyyyyyyyyzxxyyyyyz{yzyyyxxyxyyzyzzyyyxxxyxyyyzyyyyzyyxxxywyyzzyzyyyyyyzyyzxxyy{zzzzyxyyyxyxxyzzzzzzzyyzyyyxyyzzyyyyzzyyyyxzxxzyyxyzyyxyyyyzyzzzzzzzzyyyyzyyyzzzyzzy{zzxzyyyyzyzzzzzyyyzyxyyyyyzzyzzzzxyyyyyzyzzzzzzzxyyyyyyy{{yyzzzzzyzyyzxy{zzyz{y{yzyyxzyyzzz{{zy{yzzyyzz{zzzzz{z{{yzzyxyzz{zzyy{yzyzy{zyyz{yzzzz{zzzzzz{zz{zzz{{{{zyzxzzyy{zz{{z{zzyzyyzyzz{z{z{{zzzy{yzzzzz{z{z{z{z{{zyz{yz{{zzzyzyyzyzzzzzzz{{z{zzzyzzyyz{z{zzzzyxyyyyyzzzzyzzyyzxyyyzzzzyzzzz{yyyyyzyyyyzyzzzyyyxyyzyzzzyy{z{{zzzzzyyyyzzzzzzzzyyyyyzyzzyzzyyzyzzyyyyyyyzyzyzyzyzyyyxxzzzy{yzyyxyyxzxyyyyzzzzzyyzyyxyyyzzyxyyyyzyyxyyzzzzyzyzzzzyyyyzyyzyzzzyzyyxyyxyzxzzzyzyyzyyzyyyzzyzzy{zzzxyzzyzyzz{yyzzzyxyzyxxzyz{x{z{zzzyzzyyzzzzyz{zzzyzyyyyzzzy{zz{zzzyyzyyyyz{zz|{{zyyzyzyyyy{z{yzz{zyyyzyzz{zzz{zzzzyzyzzyz{zz{z{{yyzyzzzz{{zzzy{{zyzyyyyz{{zy{z{z{zzzzyy{z{{{zz||zyzyz{{{z{zzz{zy{zzzyzzzz|{zyz{z{yzzzzzzzzz|zz{{zzyz{zzzzzz{zz{{{{zz{zzz{zy|{zz{z{zyyzzyy{y{yz|yzzxzz{yyzzz{z{{{zyyyyx{yyzzzzyzzzxzzyyzyyyzyzzzzyyyyyxxxyzzzzzzzyxyyzyyyy{zzzyz{z{zyyxxyzzy{zzzyyyxxyxyyyz{zzyyzyyyyyyxxzyzyyz{yzyxyyzyyzzzzyzzzyzzyyyyyyzyzyz{zyxxyzzxyyzyzyyyyyyyzxyyyyzzyzzzyxyzyxyyxyzzz{z{zzyyzyzywyyzzyzzzzzyz{xyzyyyyyzzzzyyzyzzyzzzyzz{zzzyyyyzyzzzzzzz{zzzzzxzyzzx{zz{zzyyyzyzyzy{zz{zy{yzxyxyyzz{zz{{yzyyyzz{yzzyz{zz{zzxzzzyzyzzzz{{zyyzyzzyyyzz{{{zzzzzzzzzyzy{{{{{{zy{zzzzz{zz{{{{zzzzzzyzyzz{{z{z{zzy{yzzz{zzy{{{{zzzzzzzzz{z{{z{{{zzzyyzzz{z{{{{{zyzzyyyzzz{{|zz{zyzzyzyz{{{z{{{{zyzzzzzzyzz{{z{{zyzzxyyyyzzzzyyzzz{xyy{{zyzyyzzyzyyxyxyyzzzyzyzzzzyzyxzx{z{yzz{zzyzyyzzzxzz{{zyzyyyyyyzyyyzzyyzzyzxyyyzyyzzzzzz{yyyyzzyyyzyzyyzzzyzyzzyyzzyzzzzzxyyzyxyxyzxyzzy{zyyyzxxzyy{zzz{yzzyyyyyy{zzzzzyyyyyzyyxyyyzyzy{zzyzyyyyxzyzyzzzzzzxyxzyyyzyyyzz{yyyzyyyzzyzyzzz{yyyyyyyzz{zzzzzzzyzyyyyzz{zy{|zzzzzzzzyzzz{zzz{zzyzzzyyyy{zy{zzzzyzyyzzyz{{{yzzzyzxzyyyyzz{zz{zzzzyyyzzzzz{z{z{{zzyzzz{y{{zzz{{{{zyzzyyy{z{z{z{yzyzzzzzzzzzz{{z{z{zzzz{yy{{{zz{|{yzzzzzzz{{{{{{{zzzzzzzzz{zz{z{{zzx{{zyzz{zz{z{zzzzzz{zzz{z|z{{{zzyyzzyy{{yzz{{z{zyzyzzzy{{zzzz{yzzzyyzzzzzzzzzzyyxyyyyxyzyyzzzzyzyyxxyyzyzzyzzzzzyxyzyzzzyzz{yzzzzyyyxyzzzzy{zzyy{xyyyzyz{zyzzzyyzyyyyxzyyyzzzzyyyxyyzzyyzyyzzyyyyyyxyyzyyyzxzzyxyxyxyyyzzyyzzyyxyxxyyyyz{yyzyzyyzyyyyyzyyxzyzyyyyyyyyxyzyzyzyzzyzxyyyyzzzyy{z{zyyyzzzyyzzzzyz{yyxyzxzyyzzzzzzzyyxzxyzzyzyzy{zzxyzxyzyyzzyzyz{zzyyyzyzzyzzzzzyzyxyyzzyyyzy{y{{yyyzyyyyzzzzzzz{zzyzzxzzyzzzzzzzzyzyzxzy{zzz{yzyz{yyzzyxz{zz{z{zzzyyyyzyy{{zzz{{|zzyzyzzzy{{yzzz||zzzzyzzy{zzz{{z{{yz{yzzz{z{{zz{{yyyyzyyzzzzzz{zzzzzzyzz{z{zyz{{yzzyzyzzz{zzzzz{zyxyzxyyzzz{zz{yzyzyyyyyzyxz{yzzyzyyxyyyy{yyyzyzyxyyzxyyx{yyyz{|yyyzzyyzzzzyzz{yzzyyyyyyyyzzzyzzzzyxyyyyyyyyzyzyyyyzxxzyyzzyyzzyyyzzyyzz{zzzyyzyyyyzyyyzyzyyzzzyyyyxyyyyyzyzyyzyyyyyyyxyyzyyzzzzzyxzxyyyyzyzzzzzyyyyyyyyxyyxyyzzyyywyyzyyzyzz{{zyyzyyzyyyzzyyzyzyyyyyzyzzzzzyzzzyzyzyyzyyzzzzzzzyyyzzyzyzyyzyzzzyzyyzxyyyz{z{y{zyzzzzzyyzz{{zzzzyyzzzyzzz{zzz{zzzzyxyyzzyzz{zzz{zzzyzyyzzzzzzzy|zyyyzyyzz{zzzz{{{zzy{yzyz{zz{y{{zyz{z{{zz{zzzz{zzzyyyzyz{{{z{|{{{zyzzz{z{zz{z{z{{zz{yy{{z{yz{z{{yzzy{zz{{zz{|{zzzzyx{yzz{{z{z{{zyzzyzyzzz{{yzz{zzxzzxyzyzy{zyyyzxyyyyyyzyyyyyy{zyzzyyxxyyx{y{zzzzyyyzyyyzyzzyyyzyyyyyyzyyz{zzyzyzzyyyzxyxyzzzzzzzyzxxxyxxyyyyzzzxzzyyxxyzyzyyzzyyyzxxyyxzyyzyyyzxxyxxzxyxyzyzzyyzyyzyzxzyyyzzyzyyzyyyyyyyyyzzz{zzzyyyyywyzxyyzyyyzzxxyyyzzzzyzzzyyyyzyxxzz{zzzzzyyyxyxxyyyzyzzzzyxyzyyzyzzz{zzzzyzzyyyyzzy{yy{y{yzzyyzyyyzzyz{zzyyzyyyyzz{zzz{{z{zyyzzzzz{zzzz{zyzzyzzyzzzzy{z|zzzyzzy{xz{y{yz{|zyyzzyyxz{{zzyz{{zyyyxyzzz{zz{zz{yzyyyzzzzzyz{{z{zyyzyzzz{zzy{{zzyzy{zyyzz|zz{{z{zyy{zyzz|{{{{{{zzyzyzyzzzz{z{yzzzyzyzyyzyz{y{{zzzzyyzyyyzzzz{{zyzzzyzzyyy{yy{zyxxzzyy{zyzzyyyzzxyyyyyxyyzzzyzyzzxyzyyyxzyzyz{zyyyzxzxxyzyyxyyzzzzywxyzyyyyyyzz{yyzyyyyxyzzyxzzyzyzyyxxyyzzzyzxyyyyyyyyyyzy{xzzyyyyyyxyyyzzzyzzzyxyyyyyyzyyyyyzxyxyxyyxyyy{yzzzyyzyyxyyyxzxyzzxzzyxyyyxyyyzyyzzzyyyxyxyxz{zzzzzzyyyyzyyxzzzzyzzzzyzxyzyyzyzzyzyyyyzyzyzyyyyzzyzzyy{zzyyxy{zzz{yzyyxxyzyyzz{z{zzzyyyyzzxzzzzzy{zyyyzzyzyzzy{{zzy{yzyzzyyzzzzzz{{{zzyzyyyyyz{yyz{yzyyz{yzy{{zyzzzzyzyyyzzyz{zyz{z{zyyzyzzzyzz{zy{z{zyyyzzyzzzz{zzz{yzyzyxz{zzzzz{zzyzzzzzz{zz{z{z{zzyyzyzz{{zzzzzzyzzyzyyyyyzzyzzzzxyyzyzzyyzzzzzzyyyxxyxyzyzzzzz{yzyzxyyzyyyzzzzzyyzxyzxyyzyz{zzy{yyyyzxzyyyyyyzyzyzxxxzxyzzzyzyzyzyyyyzyxzzxzyzzzyxyyyyyzzyyyzzyzyxzzyyxyyyyyzzzxyyyyyyxyzyxzz{yyzyyxxxyxyzyzyzzzxxxyyxyzzzy{y{zyyyxyyyxxyyzyzzyyxxxzyyyxzzyyzyyyyxyyzyyzzzzzzzzyyyyzyyyzzyzzyyzzyyzyyyyyyzzzzyzxzzyyyxzzzzyz{zy|zyzzxyyyzzz{y{{zyzxzyzyy{z{zzzyzyyyzxzz{zzz{zzzzzyyzzyzzzzz{z{zzzyyyyzxzzyz{z{zzzzyzzyzzz{z|{{{{zyzzyyyyzz{{y|{yzzzyz{zyzzzzz{{{zzzzzyyz{{{z{{{zy{yyyzzz{zzzz{z{yzzyzzzzzz{{{|{{zzz{y{zzzzy{z{{y{zyzzyzzzzz{yzzzzzyxzzzzzz{zz{zzyyyyyxxyzzyyzzyyxyyyyyxyz{zyyz{zyyyxyxyzzyxzy{zzyyyyyzyzyzyzyyzzyyyyyxxy{zzyzzzyyxyyxxxzzyxzyyzyxyyyyxyyyzyyyzyyxzxzyyyyyyzzyyzzzxxyyyyzyzzzyzzxyxxzxzxyyyzyzzyyyyyyzyyyz|yyzyzzyyxxyxyyzzzyzyzyxyyxyyyyyzyy{zzxzyyyyyxxzzzzyyzyyzyyzxyzzzzy{yzyzyyyyyzzzzyzzzyyzyyxyyyzyzzzzzzyyyyyxyx{zzzz{zyzzyy{xzyz{zzyyzyyzzyyxyyzz{yyzzzzyyyzzyyyz{zzzzzzyyzzzyyyz{zz{zzzzzzyyzyyz{zz{{{zyyyyyyy{{zz{zzzzyzzyyzz{{zz{zzzzzzyzz{zzzzzz{{z{xzzyzy{zz{z{y{{zzzzzzzy{zz{yzz{{zxyyzzzzzzz{{||z{yzzyyz|zzz{{{{zzzyyzzy{yzzzzz{zzzzzyzyz{zz{z{{yyyyxyzyzyzzzzzzxxxxxyyyyyzyzyyzyzyxxwyxzyyzzzzzyyxxyyyxzyyyzyzzzyxyyyyxzyzzzzyzyyzyxxzyyyzzyyzzxyxyxxyxzyyyyyyzyyyyyyyyzyzyyy{zyyyyyxyyxyzyyzyyxxxyyyxyyyzyyyz{xxyxyyyxyyyy{yyzyyyyyxxxxyyyzyzzyzxxzxyyyxyyzyzyzyyxyyyyyyxy{yzyyyxzyyyyyzyz{zzzyxzyyxyyzzyzzzzzzyxzxyyyyyzzzzz{xyzyyyyzzyzyyzzyzyyzzyyxzyyzy{zyxyyyxyyyy{zzzzzyzyyzyyxy{zz{z{zzyyyyyzzyzzz{y|zzyzzxzzyyzzzyz{z{zzzyyxyx{zz{{{yzzzzxzyzzz{zzz{{zyyyyyzzzyzzzzz{zzyzzyzyyzzzzzz{{{zzzyyzyyzz{z{{z{yyyzzyzyzzyzy{{zyzyyzyz{zyzzz{zyyxyyyzzy{zyzz{{zyyyyyyzzzyzzzzzzyyywxyyyzzyzzzyyxxyyxxyzyzzyyyyyyzyxxyyyyyyzzzzzxxyyyyxzy{yyzzzyxzyxyyyyzzyzyzzzyyyyyxxyzzyyzyyxyyyxyyyzxzyyzzyyxzyyxyyxyzzyyyyyyyyyxyyzyyzyyyzxxyxyxyxyzyyzzzzzyxyyyxxyzyyyzzzxyyyxyxzyyzzzzzyxyyyyyyxyzzxyyyyxyxyyxyxyyyzzzyzxxxxzxyyyyzzzyyzyyyyyxxyz{zzzyzyzyyyzyzyzzy{yzzzyzyxyyyyzzz|yyzzyyzyxxyyyyyzz{yyyyxyzyzzyzzz{z{{zyyyzyyxzzzzy{{zzy{yyyyy{yyyz{yzyzzyzzzzzyy{zzz{zxyzyyzyzzz{zz{zzzyy{zzzzyzzy{{{zyyzzzzyz{z{zz{zzyzyyzzyyzzzzz{zzzzzzy{zzzy{{z{z{yzzzzyyzzyz{z{zzyyyyyzz{zzzz{{{zyyyxyzzzzzzzz{yzzzyxzzyzzyzyz{yzyzyxyzx{zyzzzzzzzyyxyyyyzyzzyz{yyyyxxyxyz{zzzz{zyxyyyyyyyzyy{z{zzzyyyxyyzzyzyyzzzzxxxyxyyzzzzzzyxyxyyyzzyz{yzzzzyzyyyxyzyzyyzyxyyzyyyyyyzxzyzyxyyyxzyyyyzy{yyzyzxzyxxxxzzzyzyzyzxxxyyyyxzyyzy{{yywyyyyxzzyyzy{zyzyxyyxxzzzzz{zzzyyzzyzyyzyzzzz{zyyyzzzyyzyzz{z{yyyyyxzzzyzyzzzzzzyzxzyyyz{y{z{zzzyzyxyzyyzzz{xyzyzyzyzxyzzy{zzz{yyzzzyyzzzzz{y{zzyyyzyzzzz{zz{{yyzyyzzzzzzzz}{zzyzyzyyz{z{z{z|zzyxyzzzzz{{{{{{{yzyzzzzzz{z{y{{{{zzyyyzzz{yz{z{{{yz{zzzzz{{{{{{zzzzyzzzz{z{zzy{{{z{zzz{z{{z{{z{zzzz{zy{yzz{zzz{{zzyzzyzzzzz{zzzyzy{yzyyzzzzyyzzzyxzyyyyxzyzyzzzyzzyyyyxyyyyzy{z{zyyyxyyxyzzyzzzzzzyzzyyyzxzyxzzzyyxxxyyzyzzzyzzxyyyyyyyyyzyyyzzyyzzzxzxyyyyzyzzyyxzwyxyyyyzzyzzzxyxyyyxyyzzyyyzyxxxyxyyyyyzzzyy{yyyyxyyyyzzyzzzzyyyxyxywzyzyxzyyzyyxyyyyz{yyyz{zzyyyxyyxy{yyzyz{yyxyyyxyzz{zzyzzyyyyyzzyyzyzzzzzyxyyzyzyyz{zzzzzzyyxywyyzzz{y{yzyyzyyyyzy{zzzzz{{yzyyyyyz{zzzyzzzyyzzyzyz{{z{zyzyzzyzy{{zzz{{{zzyzyyzyyyz{{zzzz{{zzz{yyzz{zzzz{z{yzzyzz{zzzzzz{z{zzzx{{zz{zz{z{{zyzzzzyy{z{zz{{{zyzzzyzz{{{zzz{{zyyyzyy{z{{{{|{zzzzyzzyzzzzzzzzyzyzyyyzyyzz{{zzyzxyzyyyzzyyy{zzzyyxzxyxyyyyxyzzzzyyxyyxyzzzyzzzzyyzyyxzxzyyyxzzzyyzyyyyzyzzyzyzzyyyxyyyyyyyyzzzzyyxxyyyyzyyyyzzzyzyxzyxyzzzxzyzzxxxyxyyxyyzzyyyzyyyyyyyxyzyzyy{yzyyxxyxyyzzzzyzyyyyzyyxyyzyyxyyzzyyyxyyyyzzyyzyzzyyyyxyyxyzyxzzzzyyxyzyyyyzzyy{yyzyyyxzyyzyzz{zzyzyyxxyz{yyzyzz{zyzyxyyzzzzz{{yzzxyyzyzyzzzzzzyzyyzyyyyyzzzzyy{xzyyyyyyxzzzzy|zzzyxyzyyyzzzzz{z{zzzyyyzzzzyzz{{{zzzzzzyz{z{zzz{{{yyzyyyzzz{z{{{zzzzzzz{zzyy{zzzzzzzzyzzy{{{{zzz{zy{yyyzy{|z{z{zz{yzzz{{zz{z{zzyzzzzzzzyzz{zzz{z{yzyyzyzyz{{{zzz{yzyyyzzyzzzyyzyzzzzyxyyyzzzyyzyyyywyyyxywzzyzyyzyzxzyxyyzzzyyzzzyyzxyxxyzzyyyzzyyx{yxyxyy{zzxy{yyyyxyxyyzyyzyzzyzyyxzyyyyzzzyyzyyyxzyyyyyyzzzzzzxyzyyxyyzyzyzyzyxyyxxyyyyyzyyzyyyxyyyyxyzzzyyyzyzyyyxyyxyzzyyzzzyxxyyyxzyyyzyyzyyyyxxxxyyzzyyzyyyyyxyzyxzyx{yzz{yxyyyyyyyzyyzz{zzzyyxzyyzyzzzzz{yzyyyzyzzzzzzz{zzyzyyzyyyzzyzzzzyzxyzyyyzyzzzzzzyyxyyyyzzzzyz{yyyxyyyyyzyzz{zz{yyyzyzxzyyzzzzz{zzyzyzyxyyzzzz{{yzxzyzyyzzz{z{z|zyzyyyyzyzzzzz{{y{yzzyzzyz{{{zz{z{yyzyzzzzzy{zz{{zyzz{zyzz{zy{{{{yzyz{{zy{zzz{{zzyzyyzzz{z{yz{{{zyzyxyzzyzzz{zzyzzyyyxyyyyyzzyzzyyxyxyxyxyxzyzyyyyyyyyyxxzzyyyzzzyyyxyyzyyyzyyzzzzyyyyyyyyzyzyzzzzyyyxxyxyyzyyzzzyxzyzyxxyyyyyzyxzxyzyyyyzyzxxzyyzxyxwyxyzyyyyyzyyzxxxzyxyyyyzyyyzwyyyyxxyyyyzzzzyyyyxxxxxzyzz{yyyyyyyyyyyyyzzyyzxzyxyxyyyzyyyzzzxzxxyzyyzzyy{zzzzyyyyyzyzyzzzzzzyyzyyyyyzzzyz{zzyyyxyxyyzzzyzzzzyzzyyyyzzzzzz{zzzzzzyyzyzzzzz{zzyzzyyyyzzyyy{zzzzzzyzyyzzzzz{zz{zzzzyzzzzz{{zz{{zzyzyyzyzzz{{zzzzzyyzyzzzzzzzzz{yyyzxzzzz{y{{{yzzyyzyzzzyz{zz{z{{zzzzzzyzz{{z{zy{yzzzzy{z{zzzz{{{zzzzzyzz{{zzyzzyzzyzzzyzzzz{zzzzzzzzxyyz{yzyz{zyyzyzyyxyyyyzzzyyxyxyxyyx{zzzyzyyyyzxxxzzyzzzzzzzxyyyzyyyyzyzzzyzzxyyyyyzyyyzzz{yyyyxxyxyyyyyyyyyyyyzxyxyyyyxzzyyyyyyyyyyyyyyzyyyxyywyyxxyyzyyyyyxxyyyzyyzzyyyzyyxyxxyxyxyyyzzzyxyyyxxyyyyyyzzzyzxyyzxxxzyyyyzzyyxyyyyxyzyyzz{yyyyyzyyyzzyzyyzzzzyxyxwzyyzxzz{zzzyzzyxyzzyy{yyzzzyy{yyzyzyzzzzyzyyyyyzyxyz{yyzzy{xzyyyzzzz{zzz{{zyzzyyxyz{zyzzzzzyzyyzyzyzz{zz{{yyzxzyyy{zzzzz{zzzzyzxyyy{zz{zzzyyyyzzzyz{yz{{zzzyyzyz{zzz{zzzz{zyzzy{zyzzzyzz{{zz{{zzz{zzy{zzzz{zzyzzzyyz{yz{{{zzyzyzyzzzzzz{{{{zyyzyzyzz{zzzzzzzyyyzxwyzzz{z{yyzzyyyzzyyzyzzxyyyyyxwyxyzzyzyyzxyyzyyyyyyzyyzyzyyyxyyxxxzyyzzzyyyyxyyxyyyzzyyyzyxyxxyyxxzyyyxzyyxyyxyzxyyyyxzzyxyxxyyxxyyzxyzxyxzxyyzzyyxyyyxzzyyxwyyxyyyxyyyzzzzxxyywxxyzy{xzyxyzwxxywzyyzyyzzzxyxyxxyyyyxyyzzzyyyyyxyyzyzyzzzyyxyyyyyyzzyzy{yxyxyxyyxyzzzzzzyzyyyyyzxzzyzyyyzzyzxyxyyzzzzzzzyzxzxzyyzy{yzxzyzyyyxyyyxzzyz{y{zzyyzyxyyzyzzyyyzyyzyzzyzzzzy{z{zzyyzzyz{zzyzyzz|yyyzyyyyyzzzzzzyzyyzyzzzz{yyyzzzzzzyzyzzy{zz{{z{{yyyyzyzz{zzzz{zzyyzyyyzyzz{y{z{zzyzzyyzyzzz{z{{zz{zzyyz{z{y{zyzyyzyyyyzzzzyyyzzzzyyyxyxzzyzy{zz{yzyxxyyzzzzyzzyyyxyxyyxyzyxyzxzzyxyyxyyyyzzyzyyyxxxxxyyzxyzz{zyyyyyzyyyzyyyyyzzyyyyyyxxyyyzyyzzyyyyyxxzxyyyyyzzyyzxyxxyxyzxxzyywyyzxyyzyyyzyzyyzyyxyxxxyyyyxyyyzyyxyzxyyyyzzzyyxyyxxxxxzzxyzzzzyxzzyyxxyyyyzzzyyyyxyxyyyzyyzzyzyxyyyyyyyyyzyyzzzyxzzxxyyzzyyz{zzzxyxyyyzzzzyyzzyyyxyyyxzzzyzzzzzyzxxyyxzzzyyzzzyxyyyyyyz{yyyz{zzyzyyyyxzyzzz{yzzyyyzzyyzzyz{z{zxyyyyyzyzzyzzyz{yyyyyyyzzzzz{{z{zyyzyzyyzzzz{{zzyyyyzyzz{{zzzz{{zxzzyzyyyz{{{zzzyyyyyzzy{zzzz{z{yyzzzzzzzzy{zz{zzzzzzzzyyzzzzzz{yzzxzzzyyy{zzzzyzxyzxyzyy{zyyzzyyyzxyyzxzzyzzyzzyyxyxxyxxxzxxy{zyyyyyxyxzzzzyzzzyyyxxxyyzzyyyzzzxyyyyxxyzyzyyyzzyxyyxxyyzzyzyzzzyxyxyxxxyyzyzzzyzyyxyyxxyyzxyxyyyxyyyzxwyxyyxyzzxyxxxxyxyzyzzyzyzxzxxxyzzyzyzyzzyyyyxxyyyyzyyzzzxyxyxyzxyyyzyyyzxxxwyyxyyyyyxzyzyyyyxyyxzzyyyyzyyxxyyyyyyzzzzyzzyyyyzyyxzzyzyyzyxyyyyxxzyzyyzzzzyyzyyyxyyz{zyzzyyxyyyyyyyyzyzzzyyyyxzxxxzzyxzyzyzzzyzyyzz{{yzyzzzyzy{y{yzyzzz{zzzyyyzxyyzyzz{y{{zyyxzyyyyzyz{yzzzyzxyzzzz{yz{z{zzzyzyz{zyzzzzyz{zyzzzzzy{zzz{zz{zyzyzyxzzzy{{{z{{zzy{yzyzz{zy{zzyyzyyxyyyzzzyzzyyyyzyyzzzzz{zzzyzzyyzyyxzyyzzyzyyyxyyyzxyzzyxyzzxxyyxxxxzyzyzz{yyyxyyzzxzyzzyzy{zxyzyyyxyzyzyzzzyzyyxyywzyzyzyzyxxyyxyzxyyzyzy{yzyxyyyxzyzxzzyzyxyyxxxyyzyyzyzy{zyyxyyyyzzzzzzyyyxxyxyxyyyzxyzyzzyyxxxyyyzyzzyzzyyyyxxyyyyxyyzyyzzxyyxyyyyyxzzzzyyzyyyyyzyyzzzy{zyxxyxxzzyyzxzz{zzyyyxzz{yyyzz{zyyyxyyyyzyzyzzzzzyzyyxzyyzz{zzzz{xyyyyyxzzzzzzzyzyzzyyyzzzyyz{{zzzyzzzyzzzzz{yzzy{yzyyzzzzzyzzzzzzyzyxyy{zzzzzzyyyyzzzzxz{zzzz{{zzyyyyyzy{zz{|z{yyzyyzyz{{zz{z{{zzyzzzzyz{zz{{zz{zyzzyyzzzzz{zzyzyzzzxyzzzzzzyz{y{zyyyzyzzyzz{{zzyyyzyyyyzx{yzyzzzzyxxzyyzzyzyyzyyxyyzxwyzzzxy{yzzyxxxyyxyzyzz{zyyyzyyyyyzzz{zzzzyyyyzyyyyzzyxy{zyyyxyxxzxzyyyzzyxyyyyyxzyyyyzzzzyyyxyyzzzyyyzyyyyyyxyyyzyzyzzzyzyyyyxyxyz{yyyzxyyyyxwxyyyyyyzzyyyxxxyyyyyyzyzzzyyxyyyzxyyyyyyzyyyyyxxxxyzyyzyzzyxzyyyyyyzzzy{zzyxyyzyyyyzzyyyyzyyyxyyyxyzzzzzyzyy{zxyzyzzy{{zzzzxyzzyyzzzzyyzzyyyzyxyzyyzzyyzzzyyyzzyzzzyzzyyzzzzzyyzzyzyz{z{zzzzyyyyzyz{zyzz{{zzzzyyyyz{{z{yz{zzyz{yyyz{zzzz|zzyzzzzzzzzzzz{zz{zyzy{zzz|{{{{{{{zzyyzyz{{{z{{zz{yzzyzzyzzzyzz{{{zyyzzyz{{zz{{{{zyzzyzzzz{zzz{{{zzyyxyyxyyzyzzzzzyzzyzyy{zyzyy{yyyyxwyzyyzyzzzzzzyxyyyyyyzzzyz{zzyyxyxyxzyyyzzzzyyzxyyyyyzyzzyzzyyyxyyxyzyzzy{zzyyyyxyxyyyyxyzyyyyyxyxxzyyyyxyyzyyyxxxzyyyyyyzzyxxyxyyxyyzyyyyzyyzxxyzxxyyzyzzzyyyyxyyxxzyzzyyzzyyxyyyyxxyzyyzyyzzyyyyxzyyy{zyzyxwzyyzxxyzyzyyyzyzyxyyxyyzzyyzzzyyyzyyyyyzzzz{zzyyzyzyzyzyzzzyzzyyzzzxyzyzyzzzyzzyyxyyyyyyzzzzzyyzy{xyyzzyzyy{zzyyyyzyyyzz{z{zzzzzyzyyzyyzzyzzz{zzzyzzzy{{zzy|{{yyyzzzyyz{{{{zz{z{yyzzzyzz{zz{zzzzzzyyyzz{zzzz{zzyzzzzy{{zzzzzzzzyyyyyyy{{zz{{{|zzzzzzyyz{zzzz{zzyyzzyzyyzz{zzyzzzyzyxzzzzzzyyz{zyyzyyzyzyyzzzzxxyxwxxxxyzyyyzy{yzxxyyyyyyzyzzyzyxyyyywyyzzy{zzzyyxyyxyyzyzyzyyzyyyyyzzxyzyyyzy{yyyxyyyxzzxzyyzyyyyzxxxyyyyzyzyyyxyxyzxxyyyyyyzxyxxyyxyxyyyzzyyyyxyyxxxxyyzyyyzzyxyyxyxxzyzyzyy{yyyyxxyxyyyyzyxzzxxxyzyyxzzyyzzyzxxyyzxxyzyxyzyyxyyxyyyyzz{zyzzzzyyyyyzyyyyy{yyzyyzyxyzzxzzyzyzzyyzyzyyxyyzzzzzyyzyxyyyzzzzyyy{zzyzyxyyyy{zyz{z{zyyy{zyxyyzzzyzzyyyyyzzzyzzyz{zz{yyyyyzy{xz{zzzyzyyzzyzyz{z{{zz{yyzyyyzzzzyzz{zzzzzzzyzyz{zzzz{{{yyzyzzzyz{zz{z{zyyzzyyyzzzzz{{zzzyyzyyzzzz{{yzzzzyyzxzzyzyzzz{{{yyyyyyz{zzzyyz{yyyyzyyzzzzyzyyyyxxxyywyyzzyyyzyyyxxxywyxyyyzyz{zzxyyyyxyxyyzyzzzyyxyyyyyyzyyzzyzyyxyyyyyzzyyyyzxyyyyxxyyzyyyyzyyxyxzyxxyyzyyyyzyyyzyyxxyzyzzyzyxxyyyyyxxyzyzyzzyxyyyyxyyyzzzyxyyxzxyyyxyyyyxzzzyyxyyyxyyyyyzzyyyyyxyyyyxyxzyyyyzyyxyxxxzyyzyyzzzyyyzwxxzyzzyyzzzyyyyyyxyyzzyzy{yyzxxxyxyyyz{{zzyzyyyxyzyzyzzyzyyyyyyyyxzzyzyz{yyyyyzyzyyzzzzzzzzzzz{yyy{z{zzy{{zy{zyyyyzyz{zzzzzyyzzyzyyz{z{{{zzyyzzzyyz{zzzz{{zyyyyzzzzzzzz{{z{z{yyyyyyz{{z{{{{yyzzzzzzz{{{{zzzyzzzyy{zzz{zz{{zzyyzyzzzzzz{{{zzyyyyyyzzyy{z{{{zzz{yzyyx{xzyzzzzyzyyyzyyy{yyyyyyyxyxwyxyyyyyyzyyyyyxyyxy{zzzzzyyyxxyyxxyyzyyzzzyxzyyyyyyxyyyxyyyyyxxxyxyyzzxzyzyyyyyyyxxzzyyy{yyxyyxyxzyyzyyzzyzzyxzyyxzyxzxxyyyyxxxyyxxxzzyyyzyxyyxyyyyzyxzyyyxyxxxyyxyyzzyyzyyyxyyyyxy{yyzxyyzxxyxyxwyyyzyzzyyyyyyxyzyzxzzyzzzyxyzyzyyzzyzzzzyyyyxxyzyzyxzzzzzyyyxxyyzzyzyzzyzyyyzxyzyzyzyzzzzzyyyxyyz{zzzzzyyxzzyzyy{zzyzzzzyyyzyzyzyz{zz{{{zyzzzzzyzzz{z{{zyzzzyxzyz{zz{{zyzyyyzy{yz{zzyzzzzyyyyy{zzzzz{zz{zzzzzzyzz{zzzz{zzyzzzyyy{zz{{zzz{yzzzzzzz{zz{{{{zyyyyxzzzzzz{z{yzyyzyyzzzzz{z{{zzzxyyzyxyzzzzz{zzyzyzyyyyzzyyzyzyyxxyyxyyyyyzyyzxyxyxxyyyyyyz{zyyxyxxyxxyyzyyyzyyyxyxxxyyyzyyyyyzzyxxxyyyyzzyyy{yxzyyxyxzyyyyzyyzyyyyxxyyzzyyyzxzyzxxxwyyyyyyyxzxxyxxzxxyzzyyzyzyyyxyyyyyxyzyzyxyzxxxxxxyzzzzyzzyxxxyyyxyyyyyxyyyyyxxxyyyxxzyzzzzyyyxyyxyyzzyzzzzzyzzyyxyyyyyzzzzyyzyyzxyyzyyyyyyxzyyxxyzzzzyyzyzyyzyyzxyyxzzy{yyyzyxyyyyzyyyyyzyyyxyyzzzzyzzzzyzyxzzxxyzz{zz{zyyyyyyyyyzzzzz{zzyxyyzxxxzzyyyz{{z{zyzzzyyyzzyz{zyyyzyzyzyyzzzzzzzyzyyyzxy{{zzzzz{xzyzzyyz{zzzyzzzyyzxyyzyzxyyz{{zyyyzzzzzzxzy{zzyyyyzyzyzyzzzzzz{zyyyyxyyz{zzzzzyyyyyzyyyyzyyzzxyyxxxyxyzyzzzyyzxxyyxywxyyyyxzzzzyyyxyyxyzyyzzyyzxyxyyyyxyyzxzyzzyyxxyyyyzyzyyyzyyyxyyxwyyzyzxyyyyyyyxyxyzyyyyzxyyxxyyxxyyyyyyyyxyyyyyyxyxyyzyzyxxyyyxxxxyyxzyyzyxxxxyxyyyyyyyzzyyyyyzxyyzzyyyyzxyyxxxyxzzyxzzyzxyyxyxyxyyzzyzzyzyxxyxyyyzyzyzyzyyxxyxyzyyzyx{y{yyxyyyxyyzyyzzzyyyyyyyzyy{zyyyyyyxyyyyxyzzyyzz{yzxyyzzyyzzyyy{zzyyzzyzyzyzyzyz{{yyyyyx{yzzy{yy{{yyyzzyyyyy{yzzzzzyyyyxyzyzzzyzz{zzyzyyzzz{zyy{{{{zyzyz{y{|z{z{zz{yzzyzzyyzz{yzz{zyyzzyyyz{{{zzzzzzzyzzzy{zzz{zz{yyxzyyyxyzzzzzz{yyyyyyyyyzy{{yzzyyzxzyyyzyyz{yyyyyzwxyxyxyzyzyzyyyxxxxzxzyzyyyzyxyxyxyyyzxzyzyzzyxxyyzxyyxzyxzzyzyyxwyyxxxzzzzyyxyyxxxyyyyyyzyzzyyxxxxxxzxyyzyy{yyyxxyxyyyzxxyyyyyzxxxyxyyzxyyzyyxwxxywyxyyxzyyyyyzxyxxxyzyyyzzyyyyyyxywyyyzzyzyxyyxyxxyyzyyyzzzzxxyxxyyzyyyyy{zxxxyyyyyyzzzzzyzyzyyyyyyzzzzyzzzyxyyxyxyyyyzyzzzyyzyzyyyyzyyyzzzzyzyzyyyyyzyyzyyyyyyxzyyyzzxzyzzyyyyzyyyyzzzzzzyyyyyyyyy{zyzz{zzzyyzyyyyzzzzz{z{zyzyy{zy{{yyzzz{yyzyzzzyzzzzz{{zzyzzzzyyzzzzzz{{zyyzyyzzzzzyzy{z{yzyzyzzyzyy{zzzzzyzzzzzz{{zyzzzyyyxyzyyz{yzz{z{yyzxyyyyyzzzyzyyyyyyyyyyz{yzzyzzxxzxyxxxyzyzyzzzyxyyxxzyyyzz{yzzyyxyxxzyyxyyzzzzyzyxyyyyzzzzyyzzyxyyxxyyzyzzyyyzyyyxyyzxzzyyyyzzyyyyyyyxyzzyzzxzyyyyyyxyyzyxyzzyyxyyzxxxxyyzyyzzzxyyxyxzyzyxzyzyzyxzxyxyzzyyyzzyxxxyyxyyxyyyyzyzyzxxyxxyyyyzyzyyxyyyyyyxyzyzzyzzzyzxyyyzxyy{yyyyzyyyyyzyzyyyzzyyyzzyyxxyzzzyzzyyyyyyyxyyzzyzyzyzyzxzxyyx{zyzyzzzyyyyzzzy{zzzy{zzzyyzzzzy{yzz{{zzyzzzzyzy{yzz{z{zzyyxzyyyz{{{{{{zzyyyzyzzz{zzz{{{yzzzxyzyz{zzz{{z{zzzyzyzz{zyzzz{zyzzzzyyzzz{{zzzzxzzyyyzzz{zzzz{zyzzzyyyzzz{zz{zzyzzyzyzyyz{zzz{zyyyyyzxzyzzyyzzzyyyyyyyzyyyyyy{yyyyxyzxyyyzyzzzyyyyxxxxyyyyyyzzyyyyyzyxyyzyyzzyyyyzxxxy{yzzzyyzzzyxxxxxyyzyyzzzxyyyzyxxyyyyyzzzzyxyxxyxyzzzyyyyzxyyyyzyyxxyzzzzzyyxyxyyxxyyyyzxyyxxxyxxyzyzzzzyzyzxyyxxyzzyyyyzxyyyyyxxxzyyyzyzyyyxxyxxyyzzzzyzxxyyxyxxyzzyxzzzzxyyyxyyyyzyyzzzyzzyyxyxzzzyy{zzxyyyxzyyyzyyzyzzyyyyyyyyy{zzzyyzzyxxyyxxzyyyyzzxyxyzyyyyz{zyyzzzxzyyyzzyyyzzz{z{yyyyyyzzyz{zy{zzzyyyyyyy{zzzzz{{z{yyzzyzy{yyzz{zyy{yyzzyyz{zzyzz{yz{xyyyz{{{{{z{zzyyyzzyyzy{{z{zyyyyzyyzyzzz{z{{zyxzzyyzy{{zzyzzzyzxxzzyyzzzzzzzzyxyyxyyzzzyzzzzzzzyyxyzzzyyzyzyyyyyyxxxxyyyyyxy{yyyxyyyyyzyyzxzzyyxyywxyxzyyzzzyzyzyyyxyyzyyzyyyyyyyyzxyyyzzzyzyxyxzyyyxyyyzz{zyxyyxyxyzzzzyyyyxxyyxywzzyzyxyzyyzxyyxzzyyzyzyyyzxyzwyyyyyyyyzzyzxyyxxxyyzzyzyyzyxyxyyyxyyyyyyyyyxyyyyyyyzyzyy{yxxzyyyxxyzzzyz{yzxyyyyyyzzzyy{z{yxzyyyyyyyyyzzzyyzzyyyyyyyzyyzzzyyzyyyyyxzzzx{zyywyxyzxyyzzyzz{yyyzzyzyzyzzz{zyyzzzyzzzyyzz{zz{zzzzyzyyzzyy|y{z{{yyzzyyyyzzzzz{zzyzyzz{z{{yzzzz{{zzyy{zyzzz{z{z{{zzzzzyyz|z{zzzzzzzzyzzzzzy{zz{{{yzyyyyzzzzzz{{yzzyzzyyz{zzzz{y{xyyyyzyzzzzzzzzzzzyyyyyyyzz{zzzzzyyyyyxyzyz{{xzzyzwxxyxwyyyyyyzxyyyxyxyzxyzzzzzzyyxyyyxyxzyyyyyyzyxyyyyxyyzzxyzyyxxyxyxyyyyyyyzzyxyyxyzyxyyxyyzyyyyxyyyyyyyyyyzyxyyxyyyyyyzzzyyyxxyxywxxyyy{y{zyxyxyxywyyyzyyyzyzyyzxyxyyy{yyzzyyyyyyxyxyyyyyyzzxxyyyxxxyzzyyzyzxyyyyyyxxzzyzyzyyxyxzyyzzzzyzzzzyxzyyxyyxyyzyxzzzyzzxyzyy{zzyzzzyxyzzyyyyyzzyzyyzyzyxyyzyzyyyy{yyywyyyxyzzzyyzz{yyyyzxxyzyzz{zzyyzzz{yzxzzyzzzzzzxy{yxyyz{{z{zzz{xzyyyzyzzzzzz{{zzyyzzyzzzzzzzzzzzxyzzzyz{z{zz{z{yzzyzzyy{zzyz{{zyyzzyzzyz{zzz{{z{yy{yzzzzy{zzzzyyyyyyzyyzyzzzzyyyzyxyyxyzyzzz{yyyyyyyzyzyzzyyyzxyxxyxxxyyyyyzzyzxyxxxywyyzzyyzzzyyyyyyxyyzzzyyyzyyyyxxyzyzxyy{yzzyxyxxwyzzzyyzzyyyxzyxxyyzyxzyyyzzxyxxxyyzyyyyxyyyxxyxyyxyxyzyzyxyxyyxxxzyyzzzyyyxyyyxyyyyzzzyyxyxyyyyyyzyyzzzyyyyyxxxyxyyxzzyzyyyyxxxyyzyyzzzzxxyxxyyyzz{yzyzzyyzxxxxyyzzzyyzyyyyyxxy{yyzyyyzzzxwxyyyyyyzyzyy{yyyyzyyyyzyyzzzzzxyxyxyzzy{zzyzzyyzzwzyyyyyyyzyzzyyyzyyxzzyzz{zzyyyxyyyyy{zzz{z{yyyyzyyyzzz{zyzzz{yyyyyyy{yzzzz{zzzyyzzyyzzzzzzz{yzyyzyzyz{zzzzz{{zyyzzzyzzyz{zzyyzyyxzzyyzzzzz{zzyyzzyzzzzzzy{zyyy{yyyyyzzzzz{zzzzyyxyyzyyyyz{yyyyyyyyxyy{zzzyyyyxxxxyxzzzyzxyxyyzyxxxzyyzyzzzzyyyyxyyyyyyyyzzzzyyxyxyyyyzzyyzyyzyxxyzxzyyyyzyzyzyxyyyxyz{yyyzzyyxxxxyyyyzyyzzyzyyyxzxyyyyyyyyywyywxyyxyyzyxyzyyxxxxxwyyzzzzyzzyxyzyyxxyzyzzxzyxyywyyyxxyzyyzzzyyxxxxxyyyyzzzzzyyyyzyyyzyz{zzzzxxyxyxzyyzyzyyzzyyyxyyyzzyzzyzy{yyyyyyyyzy{zzzz{zyzzzxyy{xzzyzzzzyzyxyxxzyzyyy{yyyzyxyyyzzzzxyzzyyyyzyzyzyzzz{zyyzzzzyyyzzzzzz{zyyyzyyyy{{z{{z{zzyzyyz{zzzzyzz{{yzzy{zzzzy{zzzzz{yxyyzzzzzyz{zzzzyzyyyzyzzz{zzz{{yyzzzyyyzzzyy{yzyzx{zzz{{zzyzzzyzzyzzzzzzzzyz{zzzyyyyyyz{{zyz{zyyyyxyyzyzyyzyyyxyyzxyxwzyyyxxzyzxxyxyyxyyzyzyzyzyzyyzxyyyyyzzzzyyzzyywzyyzyxyzyyyyyxyyyyyyyzzy{xyyxxyyxyyxyyyxyyyyyyxxxzyyxyyyzyyxyxyxxxxzzyzzyxxxyxyxyyyyxyzyyywxyyyxxyyyzzxyzyyyxxxxxyxxyyyyzyxxxzxyyyyyzzyyyzxyxxxxxxzyyyzxywxyyyyxxyxzzyzzzyyzxzxzyyyyyxyyzyxyyyyyyzzyyyzyyyyyyyyyxzyyyzzzzyxyzzyyyyzzzzzyzxxyyyyyyyyyzyyzzyzyzxyxyz{zyyzzzzyyyyyxxzyzzzzzyyxzyyyyzyyyzzy{{zyyzyxyyz{{yzzyz{xyyzyzzzzzzzzzzzyzyyzyzz{zzzz{{zzyyzzyyy{zzy{|zzyzzyyyzzzy{zz{zzzyzzxyzzyzzzyyzzyyyzyzz{zzzzzz{z{yxxyzxyzyzzy{zzyyyyyzxzz{{y{zzzyyyyyxyyzzzyzyyyyyxyxxxxzxyzyxzzyyxxxxx{yyyzzyyxyxyyyxxyy{xzzzzyxzyyyxyy{yzyyzzxxyxxxwxzyzzyzzyxyzyyyyxyxzyyyyyzyxyyxyyyyyyyzzzyyxyxyyzzyyyxyyyxxyzyxxyyyyyzyyyyyyyxyxyyyyyzyyzyyzyxyxxyzxzyzyyyyxyyxyyyyyyyyzyyyyyyyxyyyyzyyzzyxyxyyyxzzyxzyyyyyyyyxyxzyzyzyzzyyyxyxyxyzzzzzyyyyxzxyzyyzyz{zzzyyyyxxzyxzzyzzzxxyzyyyxzxzzzzzyzyyyyzzyxzzzzz{zzxyyyzyyyzy{zzzyyzyyyyyyyyyzzzz{zzyyyzzyyzzyz{{zzzyyzyzzyzzzzyyzzyzzyyyzyzzzzzzz{yyyzzyyyxz{y{y{{zzzyyyzzzzzzy{{zyyxyzyyzyzzyzy{{zzyzzzyzzzzzz{|zzzyxyxzyzyzzzzz{xyyyzxyzzzyzzyzzyyyyxxyxyzzyzyyyyyxyxxyxyyyyyyzyyyxxxyxxyyyyyxzzyyxxyyyyyyyyyzyzyxxyxyyxyyy{yyzyyyyxxxyyzyyyxyyzxwyyyyxwyzyxyyzyzyxyxyyxyxyxxyyyyyyyxxyzxyyyzyxyxyyyyyxxyyyyxzzyyxxywyxyzyzyzxzzyzyyxxyyxyzyzyzyxxyywxyxyzyyzyyyyyxxzxxxyzyzxyyyxyyyxyxxyyyxyyzzyyyyyxzxyzyyzyyyyyzyyxzxyyyyzzyzyyxyxyxxyzzyyzyzyyyxyxyxyyyzzzyzyyyyyyyxyzzxyyzyyyyyzyxyzzyzyzyyyyyyyyzyxyzyyzzzyyyzzzy{zyyy{zzzzxzyxxyzyyzzzzzzzxyxyxyyzzyz{zyzzyzyyxzzzyzzzzzz{yyyyyyyyzz{zzzzyyzzxzzyzzzzzzzzyyyzyxxzy{zyzz{zyyxyzyzyyz{zzyzzyyyyyyyxyyyzzy{{zyzyxyyyyzy{yyyzzyyxyxyyzyzyzyzyyyxxwxywyyyzzwzzyyyyxxyzxzzyyyzzxywxxyyyzzyyzz{yzxxyyyyyzyyzxyyyzyyxxwyxyxyyzyyzyxzxxxyxyyyyxzzyyyywyxxyyxzyxyzzxyyyxxyyyxyxzyyzxxyxyyywyyyyyyyyyxyzxyxyyyzzyyzyyxyzyxxxyyyyyyyyxyyyyxyxyxywyyzyyzyxxyxyyyyyyyyyyxyyyzywxyyyyyzzyzyyyxzyyyzzyzyzyyyzzyzyzyzzyyzzxxyyyyxyyzzzzz{yzyyzxyyyyzzzyyyzzxzzyyxyzzyzzz{zyxxzxzyyzzzyyyzyyyzyyyzyxzyzzyzzyzyxyyzyyy{zyzz|zxzzyyxyzzzz{{zyzxyzzzyzz{{{zz{zyyzzzyyyzzyzzzz{zyyyzyzzz{z{z{{zzyzzzyyyyz{z{zzz{yzxyyyxzzz{zzz{yyxyyyyyz{zzz{zzzyyyyyyyyzzzyz{z{zyyzyyxyzzzzz{zzyyyxxyyyzyyzyywyxyyxxxyyyyxyyzyyyyyxyyyyyzyzzzzyyxyyxyyzxyyzyyyzyzyxyyxyyzzzyyzyyyzxyyyzyzzz{y{xxzxyyyyyyyyyzzzyyyxyxxyyyzyyyzyyyyyyyxyyyzzyzyyyxyxxxyyyyyyyzyzyxyyyzxxxzyyyzyyyyyyyxyxyxzyzyzzyxxyzyyyyzyyyyzzzyyxywyyxzyyzzzzyyxyzyyxxzyyyyzzyyxxyyyxzxzyyyzzyyyyyxyzyzyzyzyyyxyyyyxxzy{zz{yzzxyyyyxyyzzzzy{zyxyxyyzzyyyzyzzzzyzyyyyyzzzyz{zzyyxxyyyyzzzzzzzyyzyyyyzyzzyyyz{zzyzzyyyyz{zzz{zzzyyyyyzzz{zzz{z{yyzyzzzzyzzyz{zzzzzyz{xxy{z{zz{{zyzzyzyyyyz{zzz{yyzzzyyzzzzz{{{{yzyz{yzzzzzzzz{{yyyxzyyyyzz{zz{{yzyyzyyyyzzyyzzzyxtzyyyxyzyyzyyyyxyxzyxyxyzyzzyzyyyyxyyxzzzzyzzyyyxyxyxyzzzxzzzzzxyyyzyyxzzzzyzzzyzxxyyxxyzyyyzyyyzxyxyyz{yyzz{yyzxxzyyyzyyyyzyyyyyxyyyyyxzyyzzyxyyyyxxyyyzyzyyyxyyzyxxyzwzyzzzyzyxxxxxwxzyyyyzzzxyyyyyzyxyzyyyzyyyzyxzyyzyyzzy|zyzyyxyyyyyyyzyyzxyyyyxxzyzyyzzyzxyyyxyzzyzzzzyzyyyzyyyxzyzyzyzzyyyy{xzxy{zyyzzzyxyyyxzxzyzzyyzzzyyyyyxyzzzzyzy{zyyyyyzyz{zzzzz{zyzzzzyyzzyzzz{{zzyyyxzy{yyzzz{zzxyzzyzzz{zz{{zzzyzyyzzzxzyzzzzzzzyyyzz{yzzzyy{z{zzzyyyz{yzzz{{z{yyzyyyzzyyzyz||zyzy{zyzzyzzy{{{zzyyyyyyyzzyz{{{zyyy{yzyz{zzzz{yzyzxyyyzzzzzzzyyyyyyxxxyyzyzyyyyzxyyyxyxyyyzzzyzyyyyyyzyyyzzyzyyyxzxyyxxzzy{zzzzxyyyyxyxyyyzzyyyxxyyyyzyyzyzyzzyzxzyxyyyyzyyyyyyyyzxyyxyyyzyzzzzyxxxyxyxxyyyyxzzxxyyxxyxxxzyyyyyyyyzxyyxyyyzyyzyyyyxxxxxyxxyyyyzzxxxyyyxzyyyyz{zzxyxyz{xyyyyzxzyyyxyyzyxzzzyzyzzzyyyyxyxzzzyzzyzyyzxyxzyyz{yzzz{zyyyyxzxyz{yzzzyyyxxzyyxzyzyyzy{yzyyyyyxzzyyy{zzzzyyzyzyyzzzzz{{yxyzxyzyzz{zz{{{zxyyyyyyz{zzzzzzzyyzyzzzz{zzz{{{zyzzzzzyz{z{z{zzzyzyz{yzz{zyzz{{yyzzxzyy{{z{zz{{zyyzyxzy{zzzzzzzyyzyyzyy{yzz{z{zzzzxyyyyyzzzz{zzyzyzyzzxy{zzz{zzyzzyyzxyzyzyyzyzxyyxyyyxyzyyyyyzyyyyyxxyyyzzy{yzyywxyxywzxyyzyzzzxyxyyxxzyxzyy{zzyyxxyyyyxyzzyxzyyxyxxyxyy{yzyzzyzxyyxyxzyzxxyyyzyxxxyxyyyxyyzzyyxyyyxxxyxyzzyyxxyyyxxxyxxzy{zzyxyyyxxxyyyyzyyzzxyyyyzyxxyxyxzyzxyyyzwyxxyyyyzzyyxyyxyyxyzyyyzyzxwyxyxyzyyzyzzyzzxyxyxyyzyzyyzzzzzyyyyxy{zyzz{zzyxyzyyyxz{zzz{zzyyxxxyyyzyzyzyzxyyyyyyxyzzyyzy{zxzxxyxyyxzz{{zzyyyyyyzzxz{yzz{{{yyy{yyxyzzzzyzzy{yyxzyxyyz{zzzz{zyzyyzzyyzzzzzyzzzyyzzzyz{{zzz{{yyzzyyyzz{yy{zzzyyzyyyyz{zy{zzz{zzzzzyxzyzzyzyzzzzzyzyyyyyzyzzzzzyyyyyyzyyzz{zzzzyyyzxzyzyyzyyyyxyxxyxxyyzzxyyyzyxyyzyxyxxzyyzzzzzyyxyyxyyzx{yzzyyxyxyyyyyyzyzyyyyzxzyyyyyyyzzyzyyxyxxxyyyyyxzzxyyyyyywxzyyxxyxyyyyyyyyxxzyyyyzyxyxyyyyxyyyzyyyyyyyyxywxyyyyzzzzyyyxxxxyxyyzyxzyyyyxxwyyzyyyyzzzyyyyyxxxyzyxyzzyxxxyxzxwyxyzyyy{yyxyyxyzyzzzyzyzyxyyyxyyyyzyyzyzyyyyyxyyzzzzz{yzzyyzyxzxyyzyz{zzzyxyyxyyyyzyzz{yzyyyyyyyzzyyyzzzzyzyyzyzz{y{y{yzyyyzxyyyyzy{yzzzzzyyyyxyy{zyzz{zzyyzzxzzz{zy{z{yyzzzzyyyzzzzzzzz{zyyyyyyz{z{yyzz{yzzyyzy{yzzyzzz{yyyzyyzzzy{zz{{yyyyzyyyzyz{zzzyzyzxyzyzzyzzzzzzzyxyyzzxzzz{yzyyyxzyyyxxyy{yyyyyyyxxyyxxyzyyyyyyyyxzxxyxzzzyzzzzyyyyxyyxyxyyzzzzyxyyyxyyyzzzyz{yyzyyxxyxyzzzyzyzyyxxyxxyyyzyxyzyyxyyyxxyyxzyyyyxyyyyyxyxzzyzyzzzyyyyyyzxyyyzzyyxyyxyxyyzyzyyyyyyyxzyxyyyyxzyyyyyyyzyxxyxyxyxxyyyyyywxxyyyyyyzzzzyyzyyzxyyyzzyyyyyzyyyywyzy{yyzy{zyzyyxzyyyyyyzz{x{zyyxyyzyz{y{zzzyyxxxyxyzzyyy{yzyyxyyyxzyzzzyzzyyzzxyyyyzzyzzzy{yyyyyyyzzzzzzz{yyzyyzzyzzy{zzz{yyzzyyxy{zz{zzzzyyyyzzyzzzy{{zzzzzyyzyzzyzzzzz{zzyyyyzzyz{zzz{{{yyzzzyzxzzz{zzzzzyyyzzyzz{z{yzz{zyyzyzyzzyzzz{{zzyyxzyyzy{z{zz{{yyxxzzzxzzzzyzzzzyyxzyyzyzzyzzzxxyxwyyxyyyyy{zyzyyyywxxyxyzzyyzyzwywxywxyyyyzzzyzzxyyyxxyyyyyyyyywyxyxyxzzzzyyxzxwyxyyyxxzxyyyyyyyyxxyyyyzyyyyzyyxyxxxxyyzyxy{yzxyyxxxyyzxzyyzyyxyyxxxxxyyyyyzyyyyyxxyxxyzzyzyzzzyyxxxxxxyyyyzyyzxxyxyyyxzyy{yyzxxyxxyyxyyzyzy{yzyyyxyxyzzzyyzy{yzyyxyyyyyzzxzyzyyyyyyyxyyyyy{zz{xzxzxyyyyzzzzzzxyyyyyyyzzzyyyzzyyyyyyyxz{yyyzzyzyyyzyyzzyzzzzyzyzyxyyyyzzzzyzzyzzzyyyyyzzzzzz{xzyyzyyyyzzzz{zzzyzyyzyyzzz{z{zz{zzzyzzyzyz{z{zzz{yyyzyzzzyzzyzzy{yxyzyzzzzzzzzzzzyyzzzyzyzz{z{{zyyzxyzyyxzyzyyyz{yyyyyyyyzyyzzzzyyyzyyyzyxzyyyzzxyyyyxyyyzzxyyzzzxxyxwxyyyyzz{zzyxzxxyyyzyxyzzzyyxxyyyxyyyyzyzzyyyyyxxyzyyzyzzzzyyxxyxyxxyzyyzzyzzzxyxxyzyzyzzyzyyxxxyxyyyzzzzyzxyyyyxyxyyyzxzyzyxyyxxxyyzzyyy{zyzyyxywxyyyyyzzyxyxxyxyxyyzyzzyyywyzxxyxyzyzyyzzxxxyxywyyyzyzyzzzyxyxxxyyyzyyy{zyxzyywyyzzyzzzzzyyyyyyyyyyzzzzzyzyyyyyyyyzyyyzzzyyyyyzxyy{zyzz|zzyyxyzyzzzzzy{zyyzyxzyyyzzzzzzzzyzyyyyzyzzzzzz{yzzyyyzyyy{z{{zzzzyzyzzzzzzzzy{zzyzzzyzz{yzzzzzzzz{yyyyyyzz{zz{{{{y{yyyzyyz{z{|zz{yyxzyzzzzzzz{zzyz{yzzyzzz{{y{y{zxyyzyyxyyzzzz{zzzyyyzyxzzy{zzzzyxzyxxzyyzzzzyxzxxwyyxyxyyyyyxyyzyxyxxyyyyyyyyzzyyyyxzxxzyyxyyzzzyzyzyyyyyxzxzyzzxxxxyyyzyxyzyyyyxyyyxyxyzzyzyyyyyzxyyyyyyzyyyyzzxzxyxxxxyyzyxzyxxxyyyyyyzyyyzyyyxxyyxxyyzzyzxzzyyyxxxyxyyyzyy{zyyyyywyxyyxyyyyyyxyxxyzxyzyyyzzyyyyyyyyyyxyxz{zzzyyyzyyyzyzzzzzyyyyyxxyzzzyyy{zyyxzyyxyyyyyyz{yyzyyxyyyyyzx{z{yyyyyxyyxxzzyzzzzzyxxzyyxyzzzzyzzzzyyyzyzyyzyzzyzyyyyxyyyyzyyz{yzzyzzzyzyzz{zz{yyzzyzyyyyzzzzy{yz{zzzyzyy{yzzzzzzzyyzyyzzyx{{zyz|zzxzyyxyzyzzzzzz{zyyzzyyyyyzzyz{zyyyyzzzyyzyzyzzzyzyyzyyyyz{yyzz{yyyyyxyyy{yyyzzyyyzxyzyyyx{z{zyzyyyxxxyxyyyxyyyzzyxyyxxyyyyyzz{yyyyxxyxyzyy{zzyzzxxxyyyzyyyyxyzzyyxxxxxxxyzyzzzyyxxxyyywxyyxyzyyyyyyyxxyyz{zyyzyyxyxxyyyyyyyyyzzyyyxyyxxyyyzzyzyyxxxyyxxy{yy{yzyyyxyyxwyzxyzyyzyyyzywxyyyzyxyzxyxxzyyyyyxyyyyzxzzxyyyyyyyyyyyzzzzyyyyxxyyzzzyyz{zxyxyyzzyzzzyzyzyyyzyxxyyzyzyyyzyyxxyxyxyzzyzyyyxyyxzyyyyzzzyzzyzyyzyzyyzzzxyzzyxyyyzyyyzzz{zzzzyzyyzzyzy{yyzzzzzyyzyyyzzzzzyzzz{yzyzzzyzzzz{z{{zyyyzzzzxzzzzzzz{yzyyzyzzzz{{z{|{xyzyyzzzzzzzz{zyy{y{{z{yzzyzzzzyzzzyzyzzyyzz{zzxzzyxzzyy{zyyzzzyxzyyyzyy{y{zz{yyyzyyyyxzzzyy{zzyxxyyxxyxzzzyyzyxyxxxxzyy{yzyzzyzzyyxzyxyzyzyzzzyyyyxxxyyyxzyzzyyyxyyyxyyyyyy{zzyxyyxxyxyxyzxyzzyzxxxyzyzyyyyyzyyyyyxyyyyxyzyzyzyxxyxxywxzzyyyzyyyyyyyyyyyzxyyyyyyyyyxxxyyzzzy{yzyxyyxzxzyyxyyzzyyyyyyyyxyxyyzyzyxyzyyyxyyyyzzzzyxxxxxyzzyzyzzzzzxyyyxyzxyzzzzzzzyyzyyyy{zyzzzzzzzyyyzxyxy{zyzzyyxyzxyxyyzyxyzyyzyyyyyzxzyzzzzyzyyzyzyyzyyzyzzzzyzyy{zzyyzzzzzzyyyzzzyyxz{{zzzz{yzyyzy{y{zz{z{zz{zyyzzzyyzzzzzzyzyyzyyyzzz{{y{yyzxxyxzyzzy{{zz{zzyzyzzyy{zzzzzzzzyyzyzyzzzyzzzz{zyyyzyxyyzz{zy{zzyyzyyyyzy{{zzzzyyyyyyyzzyzzzyyzxyxyxwyyyzzyyyyyxyyyyxyxzyyzyyy{yxyxxyyxyzzyyzzyzyyyxyyxyyxzzzzzyyyxyxyxyyyzyzxyzxyyzyxxyzyyxzzyzyyxyxxxyzzyxzzzzxyyyzxxxyyzyzyyxxyyywyyyyyyyyzyyyyxyxxxyyzyzyyyyyxyyyxxyyzyx{zyyxyzxxyyyyyxzzyzyyyxxyxxyyxzzzyyxyyzxyyxyzzyzzz{yyyxyyyxzyyzzxy{yyxyyyxyyyzzzzzzyyzyyyyzzyyy{zzzxyzyzwyxyzzzzyyzyxyxzyzyyyyzzz{yyyyyzyyyz{zyz{zzyyyyyyyyzzzzzzzyyzzzzyzzzyzzy{zzzzzyzyyyzzz{zzzyzyyzyyzz{zzzz{zzyzyyyzzyyyzzz{z{zzyyyzyzz{{z{{{{zzzyzzzz{zzzzzyzzzyyzzzzzzz{y{{z{xyzzzyzzzzzzzz{zyyzzyzyyzzzy{zyzzyyxyxyzzzyzz{zyyzyxxyzyzzyzzyyyywxyxyyyzyxzzyzyzxxyyxxzzyyzyzyyyyyyzxyzyyyyyzzyyyxyyxyyyyzyyyzyyyxyxxyyzyxyyzzzxzyxxxxxxyyyyyyyyyxzxyxyyzyxzzzzyyyxywxyyyyyzxyxyyxyyyxxxzxyyzxyxxxyyxyyyzzyzzyyyxwxxxxyyy{yzzzzxyyxxzxyyzyyyyzwyyxyxyyxyxyy{z{xxxyxyyxyzyyyzzyyyyxyyyyzyyyyzzzyyzxyyyyzyyzyzyzyyzxyyyyzyyzzzzzyyzyxyzyyzzyyzyyxyzyzyxyzzyzyzzzzyzyxyyyz{zzzzyyxyyyyyyyzy{{zyzzzyzxyzzyzzzzy{zzzyzyyzyxyzzzzyzzzzzyzyzzzzz{y{{zyzzyyzzzyzzzzzzzzyyzyyyzyzz{z{z{yy{zyyzyzzz{zz{z{yyyzzzzyyzyzyy{yyyyzzyzyzz{zzy{yzzxyyyzy{zzzzz{zzyxyxxyzzxzzz{zyyyyxyyxzzzyyyyyxxxyxyyyyyyyyzzzyxyyxyyxyzyy{yyzyyywyyyyzyyzxzzzyyxxyxxyyyx{xyyzyxxxwwyxyyyzyxzzyxxyyyyyxyxyyyyyzxxxyyxxzyzzxyyyyyxyxxxyxzxyyzyyxyxyxxxyxzyyyyzxyxxxxyxxyyyxzyyyxyyxxxxyxyyzyyyzyyyzyxxxyzzyxzyzyyyyyyxxxxyyyyyyyyxxxyxxzyyyyzzyyxxxzyyyyzyyyzzzyxyxzyyyyyyyyzyyxxyyyyyyxzzzzz{zzyyyyxyyy{yzyzyxyyyyyyxxyyzzzzzyyyyxyyzyyyyzyzzyyyyzyyyyzzzzyzyzyzzyyyyyzzyzzz{yzyzxyyyyz{zzzy{yyyyz{yyyzzz{zzz{yyyyyzzzyyzzzzz{zyyzyyyyy{zz{z{yzyzyyzzyzzzzzz{zzyzyyzyzyyzz{zz{zyyyyyyz{zyzzzzzzzzyyyyyzzzzyz{zzyyzyyzyzyzzzzzzzyzyyyyxyyzyyyyzyxyxyyyyxyyyxyyyyyxyyxyyyyyyzyzyyyzxyxyxyyyzyyyzyxxyyxyyxxzyyyzyxyyxyyxxyyyyyyyzxxyyxyxxxzzxyzzyxzzxxxyyyyyyyyyyyxxxyzxxyyyyxzzyxxxyyxyyyzyyyyzzxyxxxxwyzzyzyzyzyxyyxxxyxyyxyz{zyyzyyxwyyyyyxzyy{yyxxyxyxyyyyzzyxxyyzzyyzyzyyyyyzyyxyyyxyyyyyzzzzxyxyxyyzzyyzzyzyxzyxyyyyzyzyzzzyyzyyyxyzyzyxzzyyyyyyxxxyzzzyzzyyxyyzyyxyzzyyyzzzyyyyxzzy{z{z{{zyzzyyyzyz{zzzzzzzyzxyzxyz{{z{y{zyyyzyyyy{{{zzzz{zyzxyzzyyzzzz{zzyyzzyyzyzzz{zzzzzzyyyzyyzzzyzzzzzyyzyyyyyzyzzz{{{zyyyzyzyzyyzzz{yzzyxyzyyz{yzz{zzyyyyyyyy{zzzzzzyyyxyxyxyyzyzzzyxyyxxxxxxyzxyyzzyyyyxxxyyxyyyyyzyxyxyyyxzyyyyzzyyxzyyxyxyzyzyyyyyyyxxxyxyzxyyyyxyyyyyyyyxzyyyyyyyxyyyzxxzyyzyzyyxxyyyxwyxxzyyyyyyxyxyyxxyyyyyyzyxxxyxywyyyyxyyxyzxzxxyyxyyzzyzzyyxyyyxyyzzyyyzzyyyxxyyyxyyxxxzzzxyyxyyyyyyyyyy{zyyyxxxyzyyyyyyyzyxyxyxzyzyzzyzyzxyzyyxyyyzzzyzyzyyyxyxyyyzzyzyxzyxyyyyyxzyzzyyyyzyyyzyyyzyyy{zzzyzyyxzyyzyzzzzzzyxyyyyzyyyzzyzz{{yyyzyzyzzzzzzzzzyyyzzyyzzzzy{{zzy{{zy{zz{zzzzzzzzyz{yxzyz{zzz{zyxzyyxzzz{zzz{zzzyzxyyyyzzzzzy{yyzzz{yyzzyzz{zz{yyyyyyyzzzzzzz{{zzyzyyxyyzzzzyzyzyzyyyxzzyzzzyyxyxxxxxxxxyyyxzyzyyxxxxwxyyyyyz{y{yywyyxxyyyyzyyzzyzyxxyxyxzyx{yyyxyxwwxxzxzzxzzzzy{xyyxxyzxyyyyyyyyyyyxxxzzyyyyyyyzyxyxyyxyzyyzzyxxxwxxyyxyyxyzzxyxyyyxxyxyyyyyyyxxxxywxxyy{yyy{yxxyxyyxzyyyxyyyyyxxyxxyyyyyyyyxxyyyyyyyyyyzyz{y{yyxxxyyzzzzzyxyyyyyyxxyyyyyzyzzyyyyyyyyyzyyyxzzyyyxyyzxxzyzyyxyzyyxxyxyzzzyzzzzzxyxyyxxyyzyzzzxyyxxyyyyyzyzzzz{yxzxyzzy{yyzyyz{zyzzyyyz{yz{yzzyyzyyzzxzzzzzz{{zyzzyxzyzzz{zzzz{yyyzzzzyy{zzzz{{zzyyzyzy{z{yy{zyyyzx{zxyzzzzzzzzzyzzyyzzzzzzxzzzzyyyzyyyyzzxzyzzyyzzyyyyzyzyyyzzyyzxyxyxyzy{zyyxwxxyyxxwyyyzyzzyyyyxyxyyyyyxzyzzyyyxyxyxxxyxyyzyywyyyywwyyxyyyyxyyyxxxxwyxyyyzyzyxxyxyyyyyxyxyzyyyyyxxxxyyyzxyxyxxyyyyyzyyyzxzyzwxxxxyyyyyyyyzyxyxyyxyxxyyzyyyyyyyyxxyxxyyyyyzyzyxyyyyyxyxxyxxyyxzxwxyxwwzyyzyzzyyyyyxxyxyzzyyzyyyyxyyyyyzzzy{yyyyyyyxyz{yzyyyzzyzzyyxyxxzyzyzzyxyyyyxyyzyyyzzzyyyxyyxxyyzzyyyzyxxyyyyxxzy{yy{yzzyyyyzyyyyyzyyz{xzyxyxyzyzyy{zyzzyzyyyyyz{{z{yzy{xzyyyzyzzzzyzzzzzzyyzyyzyzzzyyzyzyyyyyzyzzzyz{zyyy{yyzyzzy{yzzyzyyyzyxyzzzyzzyzzyzxyzzzyzyyyyyyyyxzyyyyxzyzzzzz{yyyyyxyyyyzyzzzzxyxyxxxzyyzzyxyyxxxywxwyyyxyyzzyxyxxxxyxyyzyzyzyyyxxxxxyzyyzzyyyyyxyxxxzzyxyzzyyyyxxxyxyyyzxzyyyyxxyyxxxyzyzyyyyyyyyxxxyyzxxyyzyxzyxyxyyyyyyyyyyxxyxyxyyyyyyzzxxyxxxyxxzxyyyyyzxyyywyyxyyyxyzyyxyyyyxyxxyxyyyy{yyxyxwyxzyyyyyyyyyyyyzyxyyzzxyzzyxyyxyyxyzyzyzyyxyxyxxyxyzyyyyyzxzyxxxxxzyyzzzzzzyyyzwyxyzxzyyyyyyyxyxxyyzzyzy{yyxyyyyyzyyzyyzzzyzyxzyyxyzz{y{zzyyyzyzyyyzzyyz{{yyyzyzzyyyzzz{zy{yyyyyyyyzzz{y{zyzyzyzyyyzzzy{zz{yyyzzyyyzz{{zz{zxyzzzzyyzzz{zzzzyzyzyxzzz{yzzzzyzyyyzyzzz{zyzzzyzyyyzyyxy{zzz{zzyyzyzzyyyzyyxyyyyzyxxxzyxzzyyy{zxyxyxyxyzzzzzyzyyyyyxyxyyyyyyyyyyxzyzxyyyxzyzzzxxyyyyxyxyzyyyz{yxxyyyyyyzyxxyxzyxyyxxyxxyyxzyzyyyyxxxxxyxyxyyyyyyyxxxyxxyyyyzyyyxyyxxxxyyyyyyzyyyyyxxwxyyyyyyzyyxxyxyyxyyyyyyyyyxyxxyxxyyyzyxxyyyxyyxxxyzyyyzzyxxyxyxyxzyzyzy{yyxyxzxyyyzyyyyyzyxzxyyzyyyyzzzyyyyzyxyyxyyyyyyzzzxyyyyyyxzyzzzzzyyyyxxyxyyzyyzzz{yxyyyyyyyyzyzyzyyyyyyxyyzzyzyz{yzyyyyzxzzzzz{z{yyzzzyyyyzzzzzz{yxyyzzyyy{zyyzzzzxyzzyzzzzzzzz{zyyyzxzyzz{z{yzzyzzyyxyyzzzyzxyzzzyyyzyyyyyyzzzzzyyzzzyxyzzyzz{zzyz{yxyxyzzzxzzz{zyyyyyyyyzy{yyyzzyzyyyyyxzyyxzzyyyyyyyxxyzzxzyyzyyxyyxxyzyyzzyyzyxywyyyxyyxyyyzzyxyxxxyyxyyzyyzzyyyxxxxxyxyyzzyzyyyyyyyxy{yxyyyyyyxxzxxyyzzyzyyyzxyxxyyxyzyyyyzyxyxxxyxyyzzyzxyyyyyxyxyyyzzyyyyzyxyyyyxxyyzzzxzyyxxyywxxyxyyyyyyzyyxyyxxxzxyzzzzzyxyyyyxyzzyyyzzyyywyxyxyzyzyyzyyyxxyyxyzzyzzzzzzzyyxyyyyxzzyzyzyyyyyyzyy{zyy{zzzyxyxwxxzzzzzyzyyzzyyzxyz{zyxyzzzzzyyzyyzzzzz{zzzzzxzzyzyz{y{{{zyzyyzyyyyzzy{z{yzyzyzyzxzzzzzz{zz{zyyzzzzzz{zz{z{xzzyzyyy{{{{{{{zzyyyyzyzzyzz{zz{zyzzzzzz{zzzz{{zzzyzzyzz{zzzzz{zyyyyyyyzzzyyyz{zzyyxyyyzzzzzyyzyyyyyxyyyyyyzxyzzxyxyxywzyyyxyyzzxxxyxxyxy{yyz{zzxyyyxywyyyyz{zzyyxyyxyxyzzzyy{yyxxxyxyxxzyyyyzzxxyyyxyxyyyzxyzyzyxyyyxzyxzyzzzyzxywyyyyyyyyzzyxyzyyyyzxx{zyyy{yyyyxyyxyyyyyyzyyxxyxyyxyyyxyzyzyzyyyyyyyyzyyyzyzyyyyxyyxzzzyyyyxxzyxyzyyyyyzyy{yzyxyzzzyzzzyzzzzyyyyyxzyyzzzyzzzyyyyyyxxzzzyzz{yyyyyyxyyyzyzzzzz{xyyyzyy{zzzzz{{yzyyyyyyzzzyy{yzzyyyzyyyyyzz{zzzyyyzxyzyzzz{yzyzzyyzzyyyyzzzzzzy{xzxzyyzzzzzyzz{zyzzyzyzzzzzy{zz{yyxyzyzz|zzzzz{zz{yzyyyyzzz{zzzyxx{zyyzz{{y{z{zzyyzyzyzzzz{zzz{zzzyxzyyzzzzzzzzzyxzyxyyxz{{{yzzyxzyxxyxyyzzyyyzxyyxyywxyyzyyyzxxxxxxxyxxyyxyyyzyyxyyyzyyyyyyyyyyxxxxxyyxzyzzyyzyxxyxxyxzxzyyyyyxyxxxxxxxyyyxyzxxzxyyzwxyyyyyzzyxxyxxxxxyxzxxyzxyyyxyxxyyyyyyyxxxywyyxxxyxyyzyxyyxyxxwxyxyyyyyzxyxyxwxywxyzyyyxyxzxxxwyyxzyyyyzzyxywyyxyyyyzxyzzzzyxyyxxyyyyyyzyyxxxxxxxzyzyyyyzyyyzxxxxxzzyzyyyzxyyxxyyyyzyyyxyyxyyyxyyyzxyyyyyzzyzyxxyzyzyzzzyyyyyzyxyyzzyzzzyyzyxyyzzzyzzzy{{yyzyyxxyyyyzzz{zzzyxyzyyzz{zzz{zzyyzyyzzyzyzz{z{zyzyyzyyz{zzz{zzyyyzyyyyzyzzzzz{zyzzxyyyzyzz{zzzyyzyzyyy{zz{z{zzyzyzyyyyyzzzyzzzzyyyyyyxyyyyyzzyyyyyxxxyyyzyyyyyyyywxxyxzyyyyyyyzyyxxxyxzzyzzzzzxyxxxyxxyxzyyyzzyxyyyyxyyyyzyzyzyyxxyyxwyxyyyyzzyxyxxxyxyyzxxyyxxxxxxyyyyyyxyyyyxzyxyxxzxyyyyyyyxxyyxwyyxyyyyxzxyyxyyyxyyyyxxzzyyxxyyyxxyyxyyxzyxyyzwyxxyyyyyzyyxyywxxxywyyxxzzyyxxxyxxwyyzzyyyzzyzyyyyyyyyyyyyyyyxyyxxyyzzyzzyzyyyyxyyxyyyzzzzyyyzyzxyyyyxyyzyyxyyxxyxyzyzzyz{yyyyyyyyy{zzzzyyzzyxyyyyyyyzyzz{zxzyxyyzyzyyzy{zzyyzzyyzyzzy{zz{z{xyxzyxyzz{zzzy{z{yyzzzxz{zyz{zzzzyyyx{yy{zzy{zzyyyyyxyyzzzy{zzzzyyzzyyyyzxzzzz{zyzyyyyyyy{zzyz{zzyxyyyzyzzzzzzyzzyzxyyyzzzzzyzyyy{yzxxzyyzyxzyzyyxywxyxxzzzyyxyyxxyxwyxyyzzyzzzyxwxyyyxxyyzzyyyyxyyxxwywxzyyzzyxyxxyxxxyy{yyzzzxyyyyyywyzzyzzzyzyyyxyyxyyzxyzzzyxyxxyxyyyyyzyyyyyxxxyyxyyzyzzyxyxxyyywxyyyyzzyzxxxyyyyxyyzxzzzyyxxxyyxxyzyxyxyyyxxywyyxxxyyyyzyxyxxyyxxzyzzyyzyyyyyyxxyyyyxyyzzyyxyyyxyzzyyyzzzxyyyyxyyxzyyzxyyzzzyzxyzxyzzyzzzzyyyyyyxyyyyy{zzyyzyyyxzyzyy{zzyyyxyyyyyzz{yzyzyxyyyzzxyzyzzz{z{yyyyyyzyyyzyz{{yzyyyzxyzzzzzzyzzyyyyyzyyyzyyyyzzyxyyzzyyy{z{zz{zzyzyzyyzzzz{zzzyyyzyyyyyyzzzzyz{zzyxyyyz{zzz{zz{zzzyzyzyzyzyz{yzzxyyxzzyzyzyzzzzxyzxyyyyyzzxzyyyxyywyxxwxyxwyxyyyyxyyyxyyyyyyzzzyyxyxxxyxyyyyzyyxyxyyxyxyyzyxxzyyyxxxyyyyyzyxyyzyxyyxxxxzxyyyyyyxyxxwyyxxyzyxzzxxxyxxyxxyxyyxzyyyxyxxxyxzyyyxzzyyxxxwyxyyyyyyyyyywyxxxxxzyyyyzyzxyxyyxyxwyxyyyyzyyxxyyyyxzyyyzz{yzyyyxyyzzyyyz{yyyyxxxzyyzyyyyzzyyzyxxyyyzyyyzzzyzyxxxyzyyyyzzzzzzyyyyzyyzzzzzyzzyyxyxyyyyzyyzzyxyyzzzyyyyzyyzzyyxyyyyxyzzyzzzzzzyxyzzyyyzzzyzzzyyyxzyzyyzzzz{zz{yyyyyyyzyzz{zzzzyzyxyyyzyyzzz{zzyyyxzzyz{zzzzz{zzyyyzzzzyzzyyzzzyzyyzyyyzzzzzz{zzyyzzyzzzzzzzzzxzyyyyyyyzxzzz{zzyyyyyyyyzyzyzzzyx{xyzzyyyzz{zyzzyxxxxyyyyyyxxyyzzyyywyxyzyyzyzyzyxxxyyyyyxyyzzyyyxyxyyxyyzzyyyzxyxxyxyxyxyyyyyyxyyyyxxxxzxyyzzyyxyyxxxxyyzxzyyyxxyyxyyyzyyxxyzyxxxyyyyxyyyyzyzyyyxzyywxyxyyzzyyzxyyxxyxxzyzyyzyxxyxyxyxyzyxyyxyxxyyyyxxzyyxxzzyxyyyzyxxxzzzyzzyyyyyxxyyzzxyy{{zyyxyxyyzyyyyyzyzyzzxwyxyzyzyyyyzyxxxzyzxzzzzzzzzyxyyyzyyyzy{zzyzzxzyzxyy{yyyyzzzyyyyzxyyyzzzz{zzzyzzyzzyyzzz{zz{yyzyyzywyyzz{{zz{zyzyyzyz{{yyzz{zzzzyyzyz{zyzzzzyyyyzzyyy{zzyzzzyyyyyyyzzzzzz{z{zzxyyyzyyyzzyzzzzzyzzyzy{zzzzzz{yyxyzyyyyzzzyz{yyzyyyzyyz{zzzy{{yzxxzyzxyzzzyyyxxxyxxyyxyzyyyxyyyxwxyyyxyy{yyyyzyyywyyxxyyxxyyyyyyyxxxxyyyyzxyyyxyxxxxxxzyyyyyxzxyyyxxxwyyyzxyzxyyxxyxxxxyyxzzzzyzxywyxxyxxzyxyyxyxyyyyxyyyyyxxyyyxzyxxxyyyxyyzzyxwxxxxxyyyxzyyyxxyywxyxyyxxzyyyyyxywxyyxzyyxzxyxxxxyxxxyyyyyxzyxyyxyxyyxyzyyzzyzyxxyxxyxyxyyyzyxxxyyyyxzzyzyzzyyyxxxyyyxzyyyyzyyyxyyyxyyyzzzzzyyyyxyxxx{yyyzyzyyxxzyyxyyzzzzyzzyzyxxyzxzyyzyzz{zyxyzyyxyyyyzyzzzxyxyxyxyzyzy{yzzyzyyzyyzyzzz{yzzzzyyzyyz{yzzzzzyyyyyyzzzyyzz{zzzyyyyyyzzzzzzzzzyzyzyxyzzyzyzzzzyy{yyyxyyzyzzzzzzzxyyxxxyzyzxz{yyyyyxxxxyzyzyzyyyyyxzyyxyzyyxzyzywyyyxyxyzyyyzyzyyyxxyxxwyzyzzzzyyyxyxyzyyyyyyzyyyxxxxyxyzyzyyyzzyyyxyyxxyyyyzyyyyyxyyxyyyxxxyyyyxywyxyxyzyzyzzxyyxxyyyxyyyzyyzyzxxxyxxxyyyyyyzyzyyyxyxxyyyzzyzyxxxxywwxyyyxxyzzyyyxxxxyyzyzyyyzyyyyyyyxyzzxzyyzyxyyzyyyyyyyxzyzyyxyxyyyzyzyyyzzyyyxyxzyyyzzy{zzyyzyyxywyzzzz{zyzxyxyyyxyzyyyzyyyxxyzxxyzz{yzzzzyyzxyxyzzyz{yz{zyyyyyyyyzzy{xyzzzyyyzyyxzz{zzzzz{yyyzyyyyzzyzyzzzyzyzy{yzzyzz{zzzzzzyzxzy|zzy{{zyxzzyyxyzzyzyyz{yyyyyyyzyz{zzyzzyzyyzyyyzxyzz{zzzzzxyyyyzyyzzz{zyyyyyyzxyyzyyyzzyyxyyxyyy{zyzzyyyxxxyxxwyyyyzzyzyxyyywxyyyzyyzzzzyyxxyxxyzyyyyzyzxyxyxyxyyzyyyzyxyzxxyyxzyzyyyz{zyzyyxxxyyzyyyyyyxyyyxxyyyzxyzzyxyxxyyxzxxyyyzyzyxyxyxywyzyzyyyyzxzyxyxxyyyyyyyyyyyyxxxzyzzzyyzzyyxyyxyxxzzxxzyzyyyxxxyxxzyyyyzzyzyyyyyxzyyyyyzyzxxyzyyyyxyyzyyzyyyyyyyyzyzyyyyzyyyyyyyxyyzyzyzyzyzyzyxyyzyzzzzxyyyyyyxyyyzzzzzyyyzyyyyyzzyyyyzzyzyyzyyyyzz{zzzzyzxyyzyyzzzzxzz{zyxzyxyyzzzzz{{zzyy{yyzyzzzyyz{zzyyzyzyzxzzyy{zz{yyzyzyzz{zyzzzzyz{zyyyzzyzz{{zzyyyyzzzzyyzzzzz{zyyzyzzzzzz{{{zzzzyyyzzzz{zzy{yzzzzyzzxyyzyzzy{zzzyyyxyyyzzzzyzzyyxyyxxxzzyzy{yzzyxyxyyyyyyzzzzyzyyxyyyyyyyzzyzzzyyxxyxyxyzzyyyyyyxxyyxwyyyzyzz{xxyxxwyxyyxxyyzyxxyxyyyyyzzyxyzyyyyyxxyxyxxyyyyyyxyxyxyyyyyzyyyyxyyywxwyxzzyzyyzxxyxxyxyyyyzyzyzyyxyxxywxyyxyzyzyyyxyxyxyyyzzyzzywyxxyxxzyyyyyyzzxxyyyyxyyzzzzzzzyyxyyzxyyzyyzzzyyyxyyxyyzyzyzzzzyzyyxyyyzzzxzzzzxyyyyxxxzzyyzzyzyyzyyxyyzzyzzzzyzxyxyxxzzyy{z{zyyyxyzyzzzzzz{y{zzxzyxyyy{zyzy{zzyyzzyzyzyzyyzzzzyyxzzzzzzz{zzz|{xzxzyyzzzzzz{zzzzyzyyyy{zzzz{yzzyzxzyxyzyzzz{{{zyyyzzxzzzz{{zz{zyzyyyyyzyzyz{{zzyzzzyyxzzyzyz{zyyyyyzyyyyzzyzyyyyxxxxyxxzyyyyzzyyyxyxxyyyzyzyzyxyxyyxyyyzyxyyyzyyyyxxyxyzyzzzyyxyxyxyyxyyxyyyyyyxyyxyxyyzyyzy{yxyxyyyxyzyyzxyyyzyxxxxxxxzxyyzyyyyxyyyxxzxzyyyzxyyxyxyyyxzzwxyyyyxyyxxyxzwzyyyyzyyyxxwywxyyyy{yyyyywyxxyyyxyyzy{yxyyxxyx{yyzyz{zyyyxyxyyyyzyyzyzyyxxywyyzyyzz{zzyyxyxxyyyzzyzy{zyyyyyxzyyyzzyzyzyyzxyzyxyz{yyzzzyyyyxyzxzzyzyy{{yyzyzyzyzzzzzzyzyyzzzzyzyzyyz{z{zxyyyyyxzzzz{{{{zyyzzyzzzzzyzzyzz{yyzy{{y{zzz{z{zzzzyzzyy{z{zz{zzzyzzxyyyz{zz{zzzyzzyyxyzzyyzz{zzzzyyyyzzyzzzyzyzyzyyzxyyzzzzz{zyzzyzxyxyzz{{z{zyzyzyzyyyz{zzzyyyyyyywxyyyzzzzy{yxyyxywxyyzyyyzzyzxxyyyxzyzyyzyyyyyyyxxyyzzzyyyzyyyyxxxyxyzyzzyzyxxxyzyxyxzyyzyzyyzyyyyxyyzyyxzyzyyzyxywyyyyyyxzxxxxyxyxyyyyxyxyxwxxxyxyxzyzxzyyyxyxyzyyyyyyyzzzyzxxyyyyyyxxzzyyyyyxyxyyxzyzyyz{xxyxyxyxzyzzyzyzzzyxyxyzyzzyyzzzyyzyyyzxyzyzzzy{xyyyyyyyzyyzzzzzzyyyzyyyxzyzzz{yzyzyyzyxyzzzyzzyyyxxyzxyzyzzzyyzzyyyyyyyzxzzzzzzzyyyxzyzzzyzzzz{zyzy{xyyzzyzy{zz{yzyzyyyzzzz{{z{yyy{yzzzyyzzzy{{zzyyyyyzy{zzzzzzzzzzyyyz{{zyz{{{zyyyzyyzzyz{{zz{{yyxzyxy{{{zzz{zyyyxzxyzyzzzz{zzzzyyyzyzzzyzzy{zyzzxyyyyzyzyzzzxxyxxyyyxyzzyyyyzyyxxxwwyzyyyyyyzyxxxyzxyyyyyzzzyzyxyxyyyyyyyyzzyyyxxxwxxyxzyxyzzyxxxxxxyxzyxyzyyyxyyxxxyyxyzyyyyyyzwxxzxyyxyxyyxyxyxxxxxxyyyyyyzyxyyyyx{xzyzzyyyxzyywyxyyyyyzyzyxxxyxxxxxyyyyxyyxyxyxxxxyyxyyyyyyyyyxxxwzzzyyyzzyxyyxyxzyyyyy{zzzyxyzwyyyxzyyyzzyyyyyyzxzyzyzyzzyxyxyyyyyzyyzzzzzxyyyxxzyyzyyyzyyzyyyzxyyyyzyz{{zzyyzyyzz{z{yz{zyxyyyyzyyzy{zz{{yzyyyzyyz{zzzzyzyyyyyxyyzzyzzz{zzz{yzzzyyyy{yz{{{zzyyyxzy{zz{yzzzyzzyyyyzzzzz{zy{yzzyyyyzyzz{zzyzyxyzzxzzzzzzzzzzzyxyzyzzyzzzzz{{zxyyyyxzyyzzzzyyyzyyyxxyyzzyzzyyxxxyxxwzzzyyyyzyzyxyxxyyyyyzyzzyyyxxyyxzzyzyzzyyyxyxyyxyyxyyyzyyxxxxxyvyzyyxyyyyyyxxxxxyyxxyyyxyyyyxyxyyyyyyzyxyyxxxxyyzyxyyyyyyxyxxxyxxxxxzzyzwyyyxxyxyxyyyyyyyyxyxxyxxyzyyyzzyxyyxxxxxyxyzyzyyyxwyxyyxyyxyzzyxyxyyyxxyzyyyyyzyyyxyxyyyyyyzzz{xxyyxxyyyyyyzzyyyyyyzyyzyyzyzzyyyxyyywzyyzz{yyyzzwyxyyxzzz{zz{{yyyyzyyyzzxyyyzyzzyyyxyyyyyzzy{zzyzyxyyyxz{yzzzzzyyxyzyyyzzyy{zzzzyyyyyyy{|zzy{zzzxyyzzyzy{yzzzzz{yyyyyzyy{x{zz{zyyyyxyzzzzyzzzzzyzyyyyy{zz{yzzyzy{zxyyyyz{zzzzzzyyzxyyyyzyyzzz{yzyyyyxyyzzzzyzzzyyyxxzyxyyzzzyyyxxxyyyyxyzyxxyzyxyyyyyyxyyyyyyyzyyyyyxyyxyxyyyzyyzyxwwyyyyxyxzyyyzyxyywwyyyzyyyzxxxyxyyxyyyxyyyyyxyyxwwxyyzyyzzyyyyxxyxxxzyyyyyyxyzyzwxxyyzyyyzyyxxyxxxzzxyx{yyyyyyxwxwxxyxxxyyxyxxxxwyxyxyyyyzyyyxxywwxxyyyxzyyyyyxyzyxyyzzyyyyyzyzyxyyzyyyyzzzzxyyxyyyyyw{zyzzxyyxwxxxyzzzyyzzzxxxxxzyyzzyzyzyzyzxxyyxxzzyyy{zyyyzyxyxzyyzyzyyyyxyyyxyyyzzzzzyxyzxyyzyzyyyzzzzyyyzyyyyyzzyzzzzzyyyyyzzzzzyyzzzyyxzyyzzyzyzzz{zzyyxyzyyyzz{zyzzzyyzzzxy{z{z{{zzzyxzzyyyyyzzz{z{zzzzyyyy{zz{yzyzzyyyxyxyyzyzz{zzzyyyyyzyyzzzyy{yxxyzyyxyyzzyyFv3N$az{|{z|{|{|||z{{|{z{|{z{||z||||{{{{zz{{z||{}{{||z|{{zz{{{{|{|z|||{z{|zz{{{z{{{{|{{z{{{{|z{z{{{|{{{{{{zz{z|{z{{||{zzz{{{{{|{|{|{{zzzz{y{{{{{{{|{zzz{{{yz{|z{{{{{{{{{zyz{{z{|{z{|{{{{{zz{{{{{zzz{{|zzzz{zzz{{z||||{{z{|{zz|{{|z{|z{{{{{y{{{{{{{||{{{{{{{{z{|{|{||{{|{z{{{{z{{|{{|}{z{z{{{{{||{{{|{{{{{z{z{||{|{|||{}z{{zz{{|{{{|{{{{zz||yz||||{{}|{{|{{z|{|||}||||{{z|{{{{{|}||}|||{{||z|{{}{|||}|{{{z{{{{|||{}|}||y{{{|{{{}||||||{{{{{{{{||||{||}|{z{||{z{||{|{{||{{{||z|||z||||{{z{z{{{{{{|z|{}{{{y{z{{z|||{{|||{{{z{{{|{|{{|}z}|{{{{{{{}|{|||||{z|{|{{{z{|{||||{||z{{{{|{{|||{||{{|{{{{||||{|{{{{z{{{zy{{{{|{{}{{z{{{{{{||{{{|{{{{{{zz{zz{{|{{{|y{{{{{{{{{z|{{{zz{zzz{{z{|{{{{z|{zzzz{zz{{{{|{|{{{{z{{z{{{|{{{{|zz{z{|z{{|{z|{{|{z{{zzzz{{z{|{|{z{{{{z{{||{}||{{z|zzzz{{||{{|||zz|{{{{{|{{|{|||{{{{{{{z{|||}{|{{{{{zz{z||{{{{{||zz{{{z{{||}|{|{{|{zz{{{||||||||{||z{{|{}|{|{}|}{{|y{|{{||||{}|{{{{|{{{{|||||{||||z}|{{z|||{|}|||{|{{|||{||||}}||{{{{||{{}{{}|}{{{||{{{{||||||{|{{{{{{{{|}||}}{||||{|{{{|||||||}{|{{{{|{{{||||||{|{|z{{{{{|||||{|{z{{{{{{{|{|}|{{{{{|{||{||||}{}}{|z{|z{|z|||||}{{{z{{|||{{|||}|{{|{|{{{|{||||{z|{{{{{z{}|}|{||{||{{z{{{||}{{||{|z||{{{{{{|{|||{{|{zz{{{{||}|{{{zzz{zz{{{{{{{{||{zzz{zy{|{{{{|{{|{{{{{{z{{|||{||z{{z{{{{{{{{{}{|{{{{zzz|{|{{{|{|{{{{{|{|{|||{||||{z|z{{z{{|{||||{|z{|{{{||z{|||||||{{{|{|{}{z|}}|||{|z{{|||{|||{z{{{{{{z|||{|{|{z{{|||{{|||{|{||{{{|{{{{||||}|||{{{{}{{||}||||{|{{{}|z{{}{}||||{{{{{{{{{|}||||||{z{{{|{{||||||}}}{z{|{|||||}}}}|||{|{{|||||}||}}|{{{|{{|||{|||{}{{{{z|{{|}|}}||}{|{{{{{{{|{|||||}|{{{{{|{~||{||{{{{|z{{{{z{{}|}|||{}{||{{{|{||{~|||{|{{|{}}}}}}|||{{|{z{|z||{|}||{{|{{{{{||}{||}z{{{{{|{|{|||||}}z|{{{{{{|||{}||{{{z{{z|{{||{|{{{|{zz{|{{{{{{|||{zz{{z{{{z{z{}||{{{{z{{{{{{|||||{{{|{{{{{{||{{|{|zzz{{{{{{{|{}{{||{z{{{{}|{{{|}|z|z|{{{z{||{|{|||{zzz{|{z||}||}||{|{{{{{|{{|||{z{||{z{{|{}}|||}||{{{{|{{|{||||}||{||z{{||||}||}|{{||{{{|||||||}|{||{}{{{{||||||}{|{{{|||}}||{|}|{{z|{{z|||||}|||}{z|||{||}||||}}|{{{||}||||{|||}}{|{|{|||}||}}|}|||{|{|{|}}}|}||}{{{|{||{||{}|{}||||||{|}||}|}{}|{|{|{|{|}{|||}{|||{{{||{||{|||}{|{||z{{{{z{{||}||{||{|{|}||||||}|{{{{|{{||||||}}{{{|{{|}}{{||||||{{{{|{{|{|{{||{z{{{|zz|z}|{{{|{{{|{z|{{||{|||{{z{|{yzz||}||{|{{{|{{{|z|{{z|{{|{z{z|z{z{{||{||{{zz{z{z{{||{{{{{{z{zzz{z{|{|z{||{zz{{{{{{{{{{{{{{{{{{{{{{{|||{{{{{{{{{|z{{{||{}{|{{{{{{z{{|{{|||{{{{{zz{|{|{{{{{{z{{z{|{|{{|{|{|||z{{z|{{||||}|{||{{{|{z|||{||{|{|{|{{{{||{|z||{{||{{{{{z|||||}|{{|{{|||{|{||||||{|{{{{{|||}|||||||z|{|{{}||||}|{|{|{|z||||||||}|{|{{|||}|}}|}}}||{|{{|{|||}}||}|z{|{{{|{|{{|}}}|}|}|||{|{|||{|}|||z|{|z||{|{{}||z|{{{{z|}|{{|}{{{{{{{{z{|{|{~}|{|{{|{{|{|||||||{{z|{zzz|{||}|}||{|zz{|{{|{{|{||{{{{{z{y{{|{|{}}{z{zz{{{|||{{{{|{{{{{|z{{{|{||{|{z{||{{z{|{{{|{z|z{{{{{z{|{{||{{zz{{{zzzz{{|{|||{zz{z{{zz||{|{|{{{yyz{{{{|||{|{|{zz{zz{z{|{|{|{{z{{z|zz{{{z{{|{{{|zz{{{{{|{{|{{|{{zzzz{|{{||{|{||{{z{zz{{{z{{|{{z{{{{{{z{||{|||}{{{{{{{{||||{|{{|{zz|{{{|{}|{{}{{{{|{{z{{{{{{||||z||{{{{||{|{{||{{z{zz|{||||z}{|{|{{|{{{||{||||}|{{{{{{{|||||||||{{{{|{|{||~|||||{||{z|||||}}|}{|{{{|{{|}|}|{}|||{{{|{{|||{|||}||{|||{||{||{||||{|{{z||{||||{|{|}z{{{{yz{|{||{||{z{zzz{z{|{|||}||||z{z|{{|||{|||||{{|{{{z||{{}{{{{{z{z|{{||{||}|{{{{{{{{{{|{z{||{{|{zz{{{{||{|{|{z{{{z{{{{{{{||{|{{zzyz{{|{{{{{|{z{zz{{|{{}z{{{{{z{{|zzz{{|{||{|zyz{zzyz{{{|{|{{{z|z{{y{z{{||||||{{{zz{zy{{{{{{||zzz{{z{|{z{{{||{{{z{|zz{{{{{{}|z|z{z{{{{{}{|||||{{{zz|{||{|{{}}{{{z{{{{{}z{|||}|z|{{{z{{{{{}|z{{z|{{{{{{{|{{||||{{|zz{{||{|{|||{{||{z{|{{{|||||z{{{{{|{{|}||}}|{|{{{{{{{|{||||||{|z|{|||||||}||{{{|{{{{||{|{|||{}{|{{{{{{}|||}~|z{{{{|z||||{{{{|{{{|{{z||||||}}|{|{{{{||||||||||{z{|zz{|||{|{}|{{{{z{|{{}|||{||{{{z{z|{{||{{~|}}|{{{{|{}||}{|}|{|{{||{{|{}|}{}||{{{{{|{|{||||||{{|{|{z{z|{|||||{{{zz{{{|{{|{}|{{y{{z{|{{z{{||{|{|{{zzz{||{|{|{{{z{z{{{{{{{|z{|{z{{{zzzz|{{{{||z{zz|{{z{{{{{||{{{{{{{{z{{{{{|||{zz{{{{z{z{zz{{{{{z{z{{zzz{|||||{{{{z{{{|{z|{|{||{{{z{{zzz{{}{|z||{|z{z{z{{{||{{|{|{{{{{{{{|}{{{|{{|z|z{{{{||{|zz{{z{{{{z{||{||{{{|z{{z|{z|||{{{|{{{{{{{||||{||||{zz{{{|{||{{{|||{{{{{{|{|}||||}}|{{{{||}||||{|}||z{||{}|{}{||||}|{{{|z{{|||||{}|||{|{z{}|||||||}}|z|{|||||{{}||}{{{|{{|}|{|||||}||{{||{z|{|{{}}{{|{|{{{{||||{|}|z{{|zy{{{|{{||{}||{{|{{z|~}|||}}}{{{{z{{|||||{|}|{z|{|{{|}|{|{|{|{{|{z{{{||{{||{{{{zz{|z{{|z||{|{{{{|{z{{{||{|||{{{{z{{{{||z|{|||{z{z{z{{|{{|{||z{{{zzz{{|{||{|{{zzz{z{{{{{{{{{{||||z{yz{{||{{||{{|{{z{z{{zz||{{z{z{{z{{{|{{{{|{{{{z|{zz|{{{{||{{{{z{z{{|{|{{{{{{{{{|{{{{}}||{|{{||||z{|{||||{||{{{{{z{{{||{||||{z|z|z{z{||||{|{|{{{|{|}}{{||}{||{{{|{{|||{|}|||||z{{{{{{|}}|}|||z{|{z|{|}||}|||{{{||{||}|||}|}|{{|{{{||||{}{|}|||{{{||{z||||}||}|{|z|{|}|{||{}|}{{{|{|{{||}{|}}|||||{|||{||||{|{{{{{{{{|{||||}|||z{{|{z{|||{{{|{{{|zy{z{|}|{|||}|{|||{{||||z}{{|}|{{{{{{{}||||}{{{z{{{y|{||||{|{{|{{{z{z|||||||{{{{{z|z{{||||{|{|{z{z|z|{|{|||{{z{z{{{{||{|||||{{{z{|z{{z|{{{z{zy{{{z{{z{{{|{|{z{{{zzzz{{{{{{}{{{{{z{y{{|{{{|{|{z|{{z{{{{zzz{z{{{{y{zz{{|zzy|{{{z{{{{{z{z{|{{||{{{z{{z{{{|{|z{|{z{|{z{{{|{|}|{|{{zz{{{z{|||||{||z|z{{zy{{{||||{{{|{{{{z{|{||||||{{z{{|{|}{{{||{{{{zz{z|||}{{|}|{|{z{{{{|z{}|}||{{{|{{{|||{||||{{{{{z{{{|||{|||}{{|{z|{{|||}||}|||{|{|{{|}||||||{{{|{{{|||||}}|||{{{|{{|{|{{}||||{||{{{|||{{}|}||{|{|{{|{|{|||{{|{z{{{{{|||||||{z{{{z{zz{|}{{|||||{{{}|zz||||}|}}||{z{{{|{}||{}||{|{{||{||{||}||{{|{{{{{{{|{{{}{{|{z{|{{{{{||||{{|{z{z{z{}{{{z|{{{{{{zz{{{{{{}{{zzzz{z{z{{{|{{||{z{{zyz{{z{|||{|z{{{|z{{||{{|||{{z|zzz|{{|{|{{{||{zz{z{{z{{{|{{|{{{{zz{z{{z|z|{|{{{z{{{z{{|{|{}|{{{{{zzz||||{|{|{{z|{{{{{|{|{|{|{{{{zzz{{||{{{{||{{{|{{|{{|{{{{|{z{|{{{z{||{{{{||{{|{z{{||{{{{|{{{{{zz||{|||}|}|z|{z{|z{|{{{||||{{{{z{{z||{||{|{|{{|{{|{}}{|{||{{|{{{{|{{{|{{||}{|{|{||{{}}|||||||}|{||{|}|||{|}|{z{{{||||{||{||||{|{{z|}||}|||}||{{{z{{|||{{|||{{|{|{z|{{||{{||{{{z{z{{{{{{{|||{||}||{{|~||}|||{{{|{z{{{|}{||~{{{{zz|z{||}}{{}{{{{{z{{{||{{{|{}|{{{z|{{{||{|{|||{z|{{|{{|{{|{{{z{{z{z{{z{||{||z{{zz{zz{|z{|{||{z{|{{yzz{{z{|{||z{{{{zyz{|{{||||{{{{z{{zz{z{{|||{{{|{{{z{{zz{{{|{{{{{{z{z{{{{|{|{z{z{|z{{{{{{z|||{z{|{z{{{|||||||{z|{z||{|{|||}|{z{z{{z{{|{{{|}{|{{{z|{z|{{{|{|{|{|z{z{{{|{{{|{{|{z{{{{{|{{{{{|||{z{{z{{|||||}{}|{z||{z{|z{{|{||{{{||{z{{||}{{|{|{|z{{{{|||{|{}|{{{{|{{|{{{|||{||{{{|{{||}||{|}~{{|}|||{{{||}|||}{z|{{|{}||{||}|||{|{{{{}{{}{||{{{|z{{{{{||{{|||}{{{{{{z||||z{{{{{{{{|{{{{{{{||}||{{z|{||}||}||}|{z{{|z{|{|}|}}}||{{||{z||||||||{{}|{{{|||}|{|||||{|z{zz{||}|||{z{{{|{zz{{{{z{|{{{{|{{{z{{|{|||{{{{zz{zzz{{}||{|{{{{zz{z{|||||{|{{{{{{z{{{{{|||{|{{{{{{z{|||{|||{{{|{{{z{{{{|{|{{|{{{{{{{{{||{|{z||{|{{z{{|{|{|{|{z{{{{{|}|{|}||{{|{{{{z|||{{}|}{{|{{{|{|||{||}||z{{{{{{{|{}|}||||{{{z}{{|{{{{|{||{|{|{{||{|{}{|{{{}{{{|||||{}{|{{||{||{{{||}}||z{z{|{{{|}|||||||{{{|{|{|}||||}||{{|{|||||||}}}|}|z{||{{}|}|}||||||||||||{||||}}|||||{z{||||}{|{||{z|{{|}}|||}}}{{{{{{{|{|{||}}|{|{{|{zz{{||z{||{{{z||z{|{{{{}}}}{|{||||}|}}|||}||{z~{|{|||{}}|}||{{{||{|}|{}||}}{{{{{{|||||||{|{{{{{|{{z|||||{{|{{{{z{||{{|{{|||z{z|zz{{{{{{{|||{{zy|z{{{{{{}|{{{{{{{{z{{|{|{{|{z{{z{{{{{|{||{{{{|{{{{z{{|{|||{{{{{zzzz{||{{{||{|{{zz{{||z{z|{|{{|{z{z{{{{{{|}|{{{{{z|z|{|{{||}{{{|{{{|{{|{||{}|{|{{zzz{|||{{||{{{z{z{{{}{{{|||||{|||{{{{|||{|{{||{{{|||||{{||||{|{{{{{{}|}z}|}{z||{||||{{}|||||{{|{{{{{}}}}||||{|{|z{{||}||}}}|{|{{{|||||}|||~}{{|||||{}|}}}||{||{|{{}||||}}|~||||||{||{|||||||}||}{|{||||{}|||{|z|{|{{|||||}{{|y{||{||{{||{}{|{{z{zz{{{}{z}{}{|{{|{{{||}|{|}|{{|{}z{||||||||}|||{{||{}|{{{|}|{{|{{|{{{{|{||}|{{{{{{{{{{||}||||{z{{{|z||||{|||{{{{{zzz{{||{{||{{{{{{{z||{{z|{{{{{zz{{z{|||{||{zz{|z{zz{}|{|||{{{{{y{{z{|{{{|{|{|{z{{{z{z|{{|{|{{{{{z{{{{|{|{||{{{{{{{{{|{{|||||zz{{|z{|||{{}|{|z{|{{{{{|||{|{{{z{{{{{{|{{{||||{{{{{{|z{|}{||{|z{{{{z{{||}{{|{|{{{|{{{{{||{||||{{{{z{{{||{||||||{|{|{||{|{}|{|}|z|{|z{z|||{|{}|{z{|||{|||||||}~|{{{{{||||{}|{}|}|}{z|{{|}}}|}}||}|{{{{|||}}|}|||{z{{|{||||{}|}|{{{|{{{{}||||||||{{|{{|{{|{|||}{||{{{{{z{|{z{|{|{{{z{{{{|{{z|}}|}}|}|{||{}|||||}|}|}{{{{||||}}|}{||||{{{|||{|||{{{{{|{{z{|}{|||{~{|zz{zz|||{||||||{|{|zz{|{{{|{{{{{{{z||{{|{{|{{|{{{{|{z{{|{{}{{z{zz{z{{z{}{{|{{{{{{z{{{{{|{{{|{z{{{{{|{{{|{|{{|{{{{|{z{{{{{{{|{{|z{{z{zz{{|z|{|y{{{{{z{|||||||{{|{{{z|{{{||{||{|{|{{z{{|{{{{|||{z{{zz{|{|}|||{|{|zz{{{{{{{|||{{{{zz{{|{||||{{|{{{{{|{z{|||{{{}|zy{|z{{{{|||}}}||{{|{{{|{}{||{||{||{{{{||||||||||{{z{{}||||||}||||||||}|{|{|{||||{{{{{{{||||}||||{||{{z{}}|||}|||{z|}{{|{}{|}|}}{{|{||{{|}|{{}}}{{{{{{{{{}||}|}{|{{z{{|{|}|||{}|{|z{zzz{{||{{|||}~|||||||}|}}|||{{{|{{{{|||{}|}||{{||{z{z|||}||{|y{{{{{z{{}||||}|{{z{{{z{||{||}}{{{z{z|zz||{||{{zzz{|z{z|{|{{|{{{{{zzzz{|{{||{{|{{{z{yz{|z{z{||zz{z{{{{{{{{{|{||{|{zzzz{{z|{{||}{{z{{z{z{{{|{||{|{{{{zz{{|||||{|zzz{z|{yz|{{{||{{||z{z{||{|||{{|{{{{zz{{}|||{|}|{{{zzz{z{z{|{{{|{{z{{z{z||{|{{{||{|z{{{{|{|{{|{{{{{{{{{{||{|||||{{{{{{{{|||||||}{{|{{||{{|{||||||{{{|{{{|||{|||||{|z|z|{||{|}||||||z|||{{||||}||}{{|{{{{{}{|||}|}|{|{{{{|}}|{||}{{{z||||{}|{||}|||{{z|{{{||||||||{{{z|{{{|||}|||{{{z{{{z{|{{{|||{{z{{zz{{z{{|}|}|}{|{||||}|||}|}}|{||{{{{||}|||}{{z{{||||{{{|||{z{z{|{{|{||{{||{|{zy{{{z{{|{||||{{{y{{{{{{{{||{{{zz{{z{{{z{|{||{{{{{{|{{{{{}{{{{zz{zzz{z{|{||||{zzz{y{z{{{{{{||{z{|zy{zzz||{|{||{{z{zz{z{{{{{{{{{{{{{{zz{|z|{{{{{{zzz{{{z{{{{{|{{{{{{yz||{{{{{||{y{|zz{||{{{{{||z{{{zz|{|{|z{|||{|{{{z{{|||||{{{z{{{|z{z|{|||{||{{{{{{z{{{|{|{{|{{{{{{|{|{}|}}{|z{{|{z|{{}z{||}}{|{{z{{{||||||||{{{{{{{{||||||}{z{|{{|}{{|{{|||||{||{||{||}|{||}|{|{{{{|{|||{||}}y{|{z{|{||{||}||{{{{{z{||||}{||{{|{{|{{|}{{|||}|{{{{zzz||{|{||{z{|z{z{z|{|{{}|}}|}}|{||}}~}|}|}||{|}z{||{}}}}}||{{|{|{|}||||||||||{|z{|{{||{|}|||}z{{{{||||{|{||{|||{zz{{|||||{{z{{|{z{{||{{{{|{{|{z|{{{{{{{{z{{z{zzz{z{{{{{{{{{{{{{|{{{{{{|z||z{{{zzz{{{{}{{{{|{z{{zz{{{{{{{|||z{zzz{{{{{{{||{{z{zz|z{{|{z{||z{{{z{{{|{{{{||{}|z{z{{{{{{|{||{|{z||yz{z|{|{{{{||{z|{{{z||{{||||{{{{|{{{|||{{|}|{{{|{|{{|}{|{||||{{{z{|{||{||{|~{{|{z|{|||{|||}}|{{}}{{{||}||}|{|{{|{{|||||{||||{{{{{||||{||}}|||{||{{||{}|||}}||{||{|||}||||}}||z|{||{{|{|}}|}||||{{|{|{|||~||}||{{z|{{|||{{|||}{z{{{{{|||{{{|||z{z{{|{{z{|{}}}}{}|||{{||}|}}||{{{{|z||||{{{|}||{|{{{{{|||{|~||z||{{{{{|{~}{|||{{{zz{z{{{}|{||{{{{{z{{{z{{{{||||{{z{{{{|{{{z{{{z{zzz{{z{z{{|{z{zzz{{zzy{{|{{{||{{{zzz{{{|{{{{|||z{{zz|{z{|{{{{{z{zz{{zz{z{z{{||{{z{{{{z{{{{z|{{|{{{z{{z|{{||||{{|zz{zz{{|{{|||{{{{{zz{|{{|{{{{{{{{|{z{{{||||||zz|{{|{z{{|||||||{{{z|{{z{||||{}{|{z{{zz{{{|{{{{||{|z{|{{{|{{{|||{zzz{{{{{|{{||||{{{|{{{z{||}{{||}{{||||{|}|{||}||{||{{|{{|||}}}}||{{||{||||||||}|{{||{{||||||{||{{{{{{{{{||||||}|{|{{z||{{{{|{}||{{{{{{{{||{}|}||{{{{{|{{||||{}||{{|zz{z{||{{|}}||||||}{|}}{|}}{||{{{||}||}}}|z{|{|{|{{|{|{||||||{zz{{||{{|{z||||{{z{{z|{{|{{{|{{{{{{|{z||z{{{|{zz{zzzz{|||z|z|{z{z{zzzzzz{|{{|zzzyzzzzz{{{zz{||{z{zz{yzz{{{{{{{{{{{{{{{{|{|{{|{z{zzzzyz{{{z{|{|{{{{zz{{{||{|||{zzz{{{y{|z{{{|||{{z{{{{{|{{{||||z|{{z{z{{{z||||{{{{z{{{|||||{|||{{||z{{{||{||{|{{{{z{zz{{{|z{|{{zz{{{|{{|||{{{z|{|{zzz{z|{|||||{{|z|{{{|||||{}|{{{|z{z{}|{{|{|{|{{z{{{|{{|z|{||{{|{{}{{{|{||}||{{{||{|||}||{||}{{||{z{|{|{|||{|{z{|{{{{{||{|{||||z{{{{{}{||{{|||{zz|{|{|||{|||}|{z{|{{z{|{}{{{{{z{{{{z{{{{{{~|}}}|}||{|~~}||}}|}|{||{{|||||}|}}z{{z{|{{{||||||}{||{{{{|{|||{{}|{{{{{{{z|{||||{{{|{|z|{{{{{{|{}{{{{{{{z{{{{{z{{{{{z{z{{{z{||{{{{{{{{zzz{|zz{{{{zz{zz{zz{{{|{{|||{{{|z{{{{||||{||z|{{{{zzz{{{{z|{|{{{{{z{{{{{{|{|{{{{z{zz{{|z|||||{{zz{z{{|z{z{|}{z{|{{{{{{{z{{||{{y|{z{{||{{|{||||{{z{{zz||{||||{z{{{{zz{|{{{{}{{{|{|{z{{{|z{{||||{z{{|{|||||{|{{{|{{{|{|{|{|||}|{|{|{z{{}{||||||{{{|{||{}||{|}{|{}{||{{{{{|||}}|{{{{{|||}|}|}||{{{|{{{z|}{}|}{|{{{||{{{}|{|{|}|{{z{}{|{|||||{||||{{{{z{||||{||||{|{{|{{{{}{}{||{{{{|z|{{{|{{|}}~}{}}}|{{}}}}|||}||||{|||||}|}}||{{{||zz{{|{{|{|}{|{{{z{{|||{{}|{{{z{{|y{||||||}{z{z{{|z{|{||{|{|z{{{{{{z{|{z{{|{{z{{{zzz{{{{{{{|{z{z{{{z{{|{||||z|{{zzz|{}|{{{|zzz{{zz{|{||z{||{{{{{{{z{{{{{{z{{z|{{|zzzz{z||{|{z{{z|z{{|{{{|||{y|zz{{{{|||{|||||{{zzz{z{{{{{{|{{{z{z{z{||{{|{|{z{|{y|{z|}||||{||||y{{{|{{{{|}|{{|{{{{||{{|{}{}||{z}{{{||{|{{||{|{{||{z{|||{{||{|{|z|{{|}||{}||{z|{|{{{|||{|~||z{{|{||{|}{}{||||{||{{|{|}||}}|{{{{||{{{{|{|||}|}{{{|{{|||||}{||{{{||{{||{||||||{|{{|{{z|}}{|}||||{{{z{{|{|{|{{||{{{zz|{z{|{}~~}}}}|}}}||}}||}|}}|{||||||||{||}}|{|{{|{|{{|{|{}||{|{{{{|{|||||{||{{z{||{{}{|||}|{{{z{{{z{||{{{{{|{{zzy{|||{{z|||{z{{zz{{|{{|||{|{z{{{{zz{{|{|{{{{{{{{{z{{|}|{{{{|{|z|z{{{|z{{{|{{z{z{z{{{{{{{{{{|{{z{{zz{|{{{{|}{{{z{{{z{|{|||||{{{{{{{|{|}{{|||||{|z{z{{{|}{|{|{{zz{z{{{||||}|||{{|{{{{|||||||{{{{{{z{{||||{||{zz|{z|{{{||{|}{{|{{z|{{||||}|||}{|{{||{{|{|}||||||{|{|z{}||||||||{{{|||||}|{|}|}||{{{|{|{}|||||||{{{{||{|||||}|||{{{z|{{|||{{|~}|z{{||{||}||{|}}|{}{{{|{{z}|||{}{{|{{{|}|||{{{}|{z{|{{{z{{{|{|}}{{{z{|{{{{|||~~}}|}|{}}}~~|||}~}|||{{||z|}||{}}{{{||{z{||{||}}|{|||zzz{||{}{{}||{|{{|zzz|{|||{}{z|{z|{z}|{{|{}{{|z{{zzzy{{z|}z||{{z{z{{{{|{{|||z{z{{{{zz{||{|{{{z|{zzzz{z|||{{{{{||yzzz{|{{{|}|zz{{zzz{|||{|{{{{{|zz{{{{{{{{||{{{{{z{{z{{{}|{{||z{zz{{||{{|{{{|{{{{{{|{{{||{|{||{{z{{{{{{||{|{}|{|{{yzz{{||}|{|{{|{||{{{|}{{||{{|{{{{z{}||{{||||{{|||{{||{|||||{{|{z|}{~|||{|||||{{{{{||||||{|||{{|{{{{||}|{|||}{{{{|{|{}{|||{||||{||{||}|}}|}||{||z|||}||||}}|}{{|{|||}{||}|}|||{{||{{|{|||||||{|{|z|{|||||||}{{{|{|{{|||{|{|{{|{z|{{z|{}|{~}||}}}|}{~}}||}}}}{}||{{|}{}}}|||{|{z|{|{|{|{|}||||{z||{{{||}{{|}|{{{{z{z{{{|z|{|zz{{z{{z{{|}{{|||{{|{{{z{{||{|||z{zz{{z{z{|{{|{{{z{{{z{{z|z{{{|{{z{z{{y{{{||||{{{zz{z{zzz{|{{|{{{z|z|zzz{||{{{|{{{{z{zz{{{|{{|||{{{{{{z{{||{{{{z{{{{{zy{z{|{|{||{{{{{z{{|{{||{}{|{{z{{{z{|z{||}|{z{{{zzzz{|||}|{{{{|zz{{{||{{{|{||{{{{{{|||{||||{{z|{{|{{|||{|||z{||{{|{{|{}{||||z||{{{z|{|||||{|{{{{{{z|||||{||{z||{|||{}{||||}||{zz|{{{}{|}||}|{{{{{z||{|||}|}{z{{{{{{{{|{|||||{|{{||{|}}|{|||{{{{{{z|z{{|||~||{z{{{{{{{}{{{|{{z{{{{zz{{|{|~}}}~}~|}}~|}{}~}{|||||{||}}}}|}|{||{||{||}}|}|{||}{{|{{{|||{{{}|||{{z{{|{{||{|||{|{{|z{{||{{{{||{|{{z{z|{}{{{|{{{z{{{z{{|{{{|{|{zzz{z{{{|||{{{{{zzzz{{{{{|{|{{|{|{{{z{{{{{{|{|{{{{{{{{{{{{|{||{{{zzz{{{{|{||{}|z{{z|{{{{{{{{{|{{{{{{zz{|||{{|||{{|{{{{||||}{|}|{{{{{z{z{{{|{|}||||{{{{{|{{|{{||{{{|{z{z|}|{|{|||{z{||{z|||{||||{{|{|{{{{|||}}|}||{{{{}{{|{||}}}{{|{|zzz||||{|{{|{{|{{{{{|}||}}}{|{|{{{|{|||||||}||{|||{|}|}{}}||z||{z{||{||}}}{|{||{{{|{||}|||}|||{||{{|}||||||{{|{{|z|{|{|||||}{{z{{|||||||{||{{{{{z|z{{{{{|~~~|}}|~{}}}}}}~|||}|{{{}||||{}}{{{{|{{{||||}|{|{}{|{zz{{{{|{{||{{{{z{{z~|{{{{||{{z{z{{z{{|z{}{|{z{zz{zz{|{|z|{|{y|{{{z{{{|{|||{z{{zz{zz{{{{{{{z{{z{z{z{{{z||{{||zzzzyzz{{z|{||{zzzz{zzzz|{{{{|{{{{{{z{zz{{{||{|{z{z{{{z{{{||{||{{{zz{{{||{{{z|||z{{{z{{|{{{||||{{{z{{{z{{{{|||}|{{{{zz{{|{}||||{{{z{|{{||}|{{||{{{{{{{{||{{|{{|{{{{{||{|||||||}{{||{{{{|{{|{|}}{|zz|zz|{{||}|||{{|{{{{{}{||||{||{z|{{|{||{}||{||z|{{{|{||}||}}{||z|{{|{||{|}~}|{z||{|||||{{|||||{z|{|{{||z{{{}|{{{{{{{{{{{{|{}|||z{{{{{{|{{z{|{{{|zz{z{{{|{z~~~~}~~|}|}}~||}}}{|{}}{{}}||}{|}|||{{{||{{{{||||}||{{{{{|{{{{|||{|{{z{{{z|{{{{|z}{z{{z{{{{|{z{|z|zz{{z{{{{{|z{|{z{{{{{zzzz{{{z{{{|z|z{zy{|{{|{{{{{z{z{{{{{{{z|{|{{{{z{zz{{{{{|{|z|{zz{z{{z{z{{{{{{zzz{zz|{|zz{}{{zz{z{{{{{{{z{|{|{{{{|z{{{{||{|||{{{{{z{z{{|{z}||{z|{{zz{||{||||||{||zz|z||{{{|{{zz{|{z{z|{{{{||||z{{{|{{}|{{{{{{|{{z|{{{|{|||}||{{{{|{{z|z{|{||||||{zz{z{{|{||{|{{{{|||z{}{{|}|}{{|{{{||{{|{||||||{{{||{||}||||}}|{z|z|{|{|{|||||{{{{|{|{|||||{||}{||{{|||||}|{||{{z|{{z{{{|{}|||||{{{{z{|{|{||{{{{|z{{{{{{{|}~}}}}||}~|}}}}~|||||}{|||z|}|}}{|{|{{{{|{{|}||}{{{{{{{{{||{|||||{z{z{{||||{|{|z{{zz{{z{z|{{|{z{{{|zzz{{|{|{{|{{{{zz{{z{{{{{z||{y{{{zzy{{{||{{{|zz{{zz{{{{{{{{{{|{z{zzz{{{|{{{{{{{z{{zzz{|z|||{{{zz{zz{{|{|{}{{|zz{{z{||z|{{{{||{{z|zzz{{{|{|||z{{{{z{{|}{{{|}}{{{{z{{|{{||{{{|{{|z{{|{{|||{|{||{{{{|z{{|{{|{|||z||{z{{|{{{{|{||{{{{{|{|||}||||{{{||{{{||{|{|||{{{}{{{{{||{|||{|z{{{{|{{||{|{|{{{{{{}|||{|{{|||}{|zz|{|||z}|{|||{{{{{{{{|}||}{|{z{{||{{||{{{{|||{{|{{{{{||{|||}{|z{{{{{{}|{|}}|{||{{{{z{{|{|{|{{z{{{y{{{{{{|}~}}}}~}~~~}}}~|}|||||||}}}|}}}~|{||||z}}}||}}}|{{z{{z||}|||{}|{{{{z{{{{{||{{{|{{{{{{{{{{||{||}|z{z{{z{{||{{}{{{z|{{{{{{{z{{{|{{{{{{z{z{z{{z{|z{{z{z{{z{{|||{{|z{{{zzzzz{||{{{{{{{{{{{{z{{z{{{{{{{{{{{yz|{{{||z{z{{{|zz||||{{||{{z{|{{{||{|{||{{{{{z{{{{{{{{|||{{{{z{|{{|{|{|{|{{|z{{{{{{|{z}||{{|z{zz{z{|{|{|{{z{{|{{z|{|{|||{|z{{{z{{|}|}|}{|zz|{|{|{{|}|||}|||{{|{{{{|||||}||z{z||z{}||||||{{{z{|{{|||||||||{{{{{||{|}||}||||{{|{{z{|{|||}{}|||}{|z{|{||||}}||{{{{{{{||}||}||||{|{|z||{{{|}||{z||{|{{|{|||||{{{{zz{|{||||}~~}}}}|}~}}}|}|}|{||{}}|||}||}||{{{|||}{{||{}||||{zz{{|{{|{{{|{{{{{z{z{{{{|{||{{{zz{{{zz{{{|{{{{{zz{{{z{{{{|{z{{zz{{z{|{{|{{{|{z{zzyzz{{{z|{{{{zz{zzyz{{{{|{{{{{{zz{z{||{{|{|{{zzzzz{zz{{z{{|{{{zz{{{zz{{{{z|z{{z{z{{zz{{{{||{z{{z{z{{{{{|{||{{{zz{{{{|{{|{|||{{{{z{{z{||{|{||{{{z{z{{{|{{|{{zz{z{{|{z{|{{|{}{{|{{{{|{{|{{{{|{{{y{{{z{{|{}|{{|{z|{{{{|{{{||||||{|{{{{{{{|{z||||{{z{{|{}||{|{|{{||{{{{{{|||||{|{z|z{{{{||||}||}{z{{{{|{||{||||{{z{{{|{{{|{{||}|{{{|{{{{{||||}|}{{{{z{{{|||{|}{|}|{{{z{z|{{|}||{{{|zzz{{{{{{{|}|~~}|~~~}}}|}|{|||}{}||}|}||}{|z|{{|}|||}|||{{{{z{{{||||{|||{{{zz{|z{z||{|{|z{{{z{{z{{{{{|{{{zz{{zzz{z|{{|{|{{{z{{z{{{{{z{||{{z{zz{z||{{{z||{{{{z{{z||z{|{|{z{{{z{zz{{{|{{||{z{{{z{yz{{{{|{{{{y{{z{|{|{|{|z{{{z{{zzz{{||{{||{{{{|z{z{{{{|{||{{z{{{{z||zz||||{{|z{{z{||{{|{|{{{z|{{{{{|{|{{||{{{{z{|z{{{{{||{{z||{{z|{||z{z|||{z{{{{{{|{||||||{{z{{||{{||{}||{{{|{{{z{|{|||||}{{|||{{||||||{}{{{{{||z|{{||}|}|z{{{{{{{}|||{|}|{{{{{|{|{|}||}{{{{{{{{{{|||||}||{{|{|{{{|{}||||z||z{{{z{|||{|||{|{{z{{z{}||||}|{||{{z|z{|||{~~~~~}~|~~~}}~}}}|{||||}}}|}}|||||{{{{z|||||}{{|{|{{{{|{|||{||||||z{{{{{||{{{|||z|{z{{z{|{{{|||{|z{z{z{{{|{{|{|{|{z{{z{|{|{|{|{z{{z{zz{{||{z{{||{{z{{zz{||{|{|{{{zz{{{zz|{{|{}}{zzz|{{z{{{{{{|||z{z{{zz|{{|||{|{{{{{{zzz|||||{|{{{z|z{||{|{{{{{|{|zzz{z||||||||{z{{{{{|{|||||||{{{{|{{z|{|||}||z{{{{{z{|{|{|{|||{{|{{z|{||{{|{{|||z||{{|{{||||||{|{{|{|{{||{}|||{{{{|z{|||}|}|||{{z||{{|}||}}}||{|{{{{||||}|}|||{{|{|z{||{{}|}|||{||{||}|}{|{|||{{{|||||||{{|||||{{|||}||||{|||{|{{|{{{{|{|||}|{{{|{{|{z||}||}|{{{{{||{{{||{~~}~~}~~}~~~}~~}~}||||{||}}|}}}}}{|{{{{}{{|~}|{|{|{|{{|{|{{||{|{{{z{zzy|||||{{||{{{zz{z{{{{z}|{|{|z{{zz{z|{{{{{{{{{{{{y{|||{}{{zz{z{zz{zz|{{{||zz{{{{z|z{|{|{{{{|{z{{{z{{||||}{|{{z{z{zz{{|{{{|{{{y{z{z{|{{{||{{{|{}|{{{{|{{{|||{{{{z{z||{|{z|}{{{{{z{{{|||||}|{{|{|z{{|{}|{{}||{z{{{|{|||||||{|z{{||z{{{|||}|{{{{{{{{{{{z{||}|||{z{|{{|||}||||{{{{|{|{||{{{||||{{|{z{{{||{||||{{{|||{||{{{|{||{{|{|||{}||{|||}||{{|}|{{|}||}{}}{{|{{{|{{||||||||{|{{{||||{}||}||{{{{{|{|}}|||{{{|z{{||{|{||{||{|{{{{{z{}||{{|{{{{{{{|{{{|||}~~~}}~}~~~}}~}}||||}{||{}}{}}|}{{||||}{||{{}}|{{{{{{|{{|{||{|{||{{z{||z{{{}{|{{{z|z|{{z{{|||{{{|{{{{zz{{{{{{{{{|{{zy{{{{z||{{||{{{{zz{zz{{{|{|{zz{z{|zz{||{{{{{{{{{z{{{{{{{{{|{{{{{{{{zzz{z{{||z{z{{{zz{||{{|{{{{z{{{{{{{{|{{{|{{{{zz{{{{{{||||zz{{zz|{{|{|{|{|{|{zz{{z|{{|{|{|{{{{|z|{{}|{||{|{{{{{{{{{||{{{}|{{{{{{y{|||{||||{{{{{z{{|{|||{{|y||||z|{||{||||||z}{{zzz|||{{}|||{|{{{|z{}{{|}}|{|||{||{|~|||||}|{|{||{{{|||||}}|{||{{{|||||}||{|{{|{{{{|}{|{||{|{{|{{||}}{{|||}||{{||z{|{|}{|}|||{{{|{{{|||{|||||{zz{zz{|{{{~}}}~~}}~~|}||{||{|}}}|}}}||{{|{{{|{|{||}|{{{|{z{{{|{||{{|{{{|{{{z|{z{||{{{|{{{y{y{||{{|{{{{{z{zzz{{{{{||{|z{{z{zz{{{{{{{{zzzzz{{zz{{z{{{{{zz|zzz{|{|{{{{||{{{{zzz{{|{{z|{{z{{zz{z{{|zz{z|z{z{{zzzz{{{{{z{zz{{{z{{{{{{||||{{{|z{{z|||{||{|{{|{{z{{{{|||{||{{{{zz{{{{||{|{{{{{{{z{{||{z|{{{{z{z|{zz{||{{||{{z|{{{{|{{||{{{{{z{|{{{|||||}|||z{z{{z|{|{||||||{|||z{z{{}|}{||{|z{{{{z{||||||||{{zz{{{|{||{}{|||{|{|{{{{||||}|}{{{||{{{{{||||{||{{{||{{|{{{|}||{{{{{{{|||||{||}|z{{{|z|{||{|{||{{{{{{{z|{{||||{zz{zzzz{|{{{{~~~}~}}}}|~}}}|{{{}|||}|}|}|{{|{{{{{|||}|||{{|{||{{{|{||{|||||{yz{{|{|{{||}|{{z{|{{{{}{{|{{{z{{{|zz||{||{|{|{{{yzzzzzz{{{{{{{z{{zzzz{{{{|{{z{zzy|zz{{{z|||z{z{zzz{z|{zz{{{|zz{|z{zzzz{z{{{{{zzz{{z{{|{{{|{||{z{|{yz{{}{{|||{{z{{{{z|{|{z|{||{{{{z{z{{|{|{{|{{z{zz|{|{|{{|}}{{|{{z|{{}{{{z|{{{||{{z{{||}z||{{z{|{{zz{{|{{|{|{{{{{{{z|{|{||{|{|{{{{{|||{|{||{{|{{{{zz{||||||{|{{{|zzz|}|{||{|{{|{z|{|z{||{||}|{{{|{{||||||}|||{|{{y{{{|}||||}{{{{|{{z{|{{||||||||{{|||{{{|{||{{{{{z{z{||||}||{|{|{{|z{|}|{|{|{||z{y{{{{{{{~}~~~~~~~~~~}}}}|}{|}}||}|}|}{{{||{|{|}|||}|{{||z{z{||{{{||{{{zzzzz|{{||{||{{zzzz{{{{{{{{|{{{{{zz{{{{{{z{||{{|{zz{z{{|{{{|{{z{zzy{z{{{{|{||{{z{z{zz{{{{|{|{zz{z{|{{{{{{|{||{zzz{{|zzz{{{{{||{z{{z{z{|{{||{{{{{{{{{y{|{{{{|||{{{{{|{|{}{{{{|{{z{z{{|{{|{|{||z{{{{z{{{{{{|||z|{{{|{{{{}{}{|}|{{{{{{{z{{|{|{{|{|{{{z{{|z||{||{{|{z{{|{{|{|{|}{y|{z|{z{|{}||}|||{{{{{{{|||||||{|{||{{{{||||{}|}{{{|{{{{{||||||||{{|{{{{|}|||{}|{{|z{{{|}|{|||}{|{{z{|z||{{||}|}{{}{|{z||}||{|||{{{zz{{{z{|{|{}|{{z{{{{z{||{{|}||||||y|z{{{{{~~~~~~}}~}}}|}{{|}||}}}|||||{{{|{|{{|||{|||||{{z{{|||{{||{{{{{{{{||{{{|{|{{|{{{|{{|{zz|}{z|zz|{yz{{{{{|{{{{zzz{zzz|{{|||{z{zzzzz{{{|z{|{{{zzz{|{{{|{z{|||z{{z{{{{{||{{|{{{zzz{{|z{|{z|{{|z{{zzz{|{{zzz|{|zz{z{{{z{||{{|||{{{{{z|{{||{{{{|{{{{{z{{{{{||}|{zz{{{|z{{|{{}|}|{|z|{z{{{}{|||||{{{z|{{z|{{|{||{{z{{{|z||{|{z|{|||{z{{{{{|{|}{||{|z|{|{||{{|{|||{{{|{{{zz|||{|{|{{z{{||{|||{{||}{{{{{|{{||||||}}|{|{{{||{}{|}|}||{{|{{|||}|}|||{{{{{{{{{{||}||}{|||{{{{{}|{|||{|{{{y{{{{|{{{{|}||z|{{|{{{{{{{{||{{{{{{{{|||{z~~~}~~~~~~}}|||{|||}}}||}|}||z{|{z{|{{|||||{|{{zz{{|{|{|||{z|{z{z{{{|{{|z{{zzz|{{{||{{{||{{}z{z{{z{|{{z{z{{zzz{{zz{{{{z{{{zz{z{{zz{{|{{|||{zz{zzz{{{|{{{{|{{{zzzzz{{{{||{|{{{{z{{{z{{||{{z{z{z{z|zz|zz{{{{{zz{{zzz|{|{{{{{|{{{{z{{{{|z{{|{{z{{{z|{{z||||{|{{{z{z{{{{{{{{{{{{|z{z{{|{{|{|{|{{{z{|{z}||{|{}{{z{{{{z{{||{{||{{{{z{|{{}}|||{||{z{{{{z{{|{}|{|||z{{{z{{|{|{{||||{|{{{{|||||||{{|{{|{|}{{{{|||{||{{{{||{|{|||||{|{{|{{|{{}|||||{|{z{{{{{||||||}}}{||{{{|||||||||{{|z{{{{||z|{{|||{|z{{{z{|{{{{||{z{zz{zz|z|{{~~~~~}}~~~}}|}||||}}|||~}}{{|{|{{z|{{|||||}{{|{{{{|||{{|}|{{|{z{z{{{{|||{|{{{z{{{z{||{{|{{{{zz{z{z{z||{|{{{{{zz{zz{{{|{|{|{{{zz{z{{{{{{{|{{{zzz{z{{{||||||zzzzy{{z{{{{{{{{{|zz{zzz|zzz{||z{z{z{z{{z{{|{{{{zzz{z{{z|{{z||{{|{{zzz{z}{{{|z||{{{z{{|z|{{z{{||{|{{zz{{|{||{}||{{{z{y{y||{}||||{z{|{z{|z{|{{{|{{{{z{{{z{{|||{|{{z{{|{{z{{{|||{}{{{{{z{|{{{}{||||{{{{{z{{||||||{|z{{{z{{||}{{{}}||{{|{{{||{|{|}||{z{{|{z|}|||||{}{||z{{{{}||||{||{{{{|{{|{{||{|}{{{{{{{{{z{||||{|{{{zz{{{{||||||{{z{|z{{|||{{|||{{|z{zzz||{|}~}~~~~}}|~||||}}}}}|}}|{{{||||||||||||}{{|z{{|{}|||{{|{{zz{{{{|||{{{|{{{{{{||z|||{||{{||zz{zzz{{|{{|||{{{{z|zz{{{||{{{z{{{z{z{{{|{{{{{{{{{y|{z{{||||||z{|z{z{{z{{|{||{{z{{{zz{{|{{z{{{z{zzz{zz{|{{|||{{z{|{|zz{{{|{{{|{{{{{{z{|||||||}|zz|{z{{{|||{{|{{z{{{z{{{{{{{||{|||{{{{{z||{||{{|z{{{{{z{||{|||{{{|z{{{|{||{||{{|||{|z{{|{}{|{||{{{{{{{|||{|||{|{{|{{{{||}||||||{{{|{{{{|}||||}}{{{{{{{|||||}||}||{{|{{{{}|}}||||{{||{{{||||}|||}{{|{{{||||{{|||{{{|}z{{|}||||||||{|{{{{{|{{||}{|||{z||{||||{{{|{{{z{{{z{{{{{~~~~~}}}|}||}}|}}}}||}|}{{|{{||}|}{}|{{{}{{{{z|}|{|||{{{{z{{z|||||{|}{{{{{|{{|{{{{{|{{{{{|{zz||||{|{{{{z{|{{{{{|{{{{}zz{{{{{{{{{{|{{zzz{zz{{{{||{|{|{|||z{{z{{{|}|z||{{z{{{{{{{{{{{||{{{z{{zzz|{{|||{z|{{{{{{{|{{{{|||{{z{zz|{{{{|{||{{{{{{{{{|z{{|{{{|{{{{{|||||||}|{{{{|z|{{{{{|}|||{{|z||{{|{|{|{{{{{{{z{{}|||{|||z{{{{{{{||{|||||{}{{{{|{||{}{|}||{{{|{z{{||||||||{{{||{|||||}}}||||{z|{|||{}||}|}||{||{{|}}||||||{{{|{|||||||}||{{|{z|{|}||}{|}}||{{{{{||}|{||||||{{}z{{|||||}}||{{{{{{{|||||{|{|{{z{{{{|z{||~~~}~~{}||||}}|}|~~|}}||{{|{{|}}||||||{{{{{{{|}|}|||||{|{{{{{{{{|{{{|z|{{{{zz{{{|{||{{z{{z{{z|{||||{|{{z{{zz{{{z{{{|{{{{{{{{z|{{{{}{|||zzz|z{z|{{|{{{z{zzz|{z{{{z{z||{z{zzzzz{z||{{|z||{{z{{zz|{{z|{|{{{zz{{||||{{{|z{{{{{{{{{|||||{{{|{{{{{|{{|{|{||{{z{{{{{{|{{||||{{{{{{{|||{|{|{{{{{{zz{{{}|}{{||||z{|{{{||||{|||{{{{||{|{{||{|||{||{||{{{|||{||||{{||{z{||}}{|{|{{{||{{{}||{{||}|{{z{||}||}|}|||}{|||||{||{|}|}||{|{{{|{|}{{}||||{|{||z||{}{||}}|}{|||{{{|{}|||}{{|{{{{|{||||}}||{{|{{{{|||{{}}|{{{z{{{{|{|||~~~}~|}}~|}||{}}~||~}|{{{{{z{|||{|{||{||{{{{||||{|{}{|{||{z{{{{}|||||{y{{z|{{{|{{z||{||{{z{z{{{{{{{z|{{zz{z{{z{|{{|||zz{z{{zz{{{|{{{{{{z{{{{{z|{{||{|{||z{{z{{|{{|{||{{z{{{{zz{|{{{||{z{zz{{z{||{{{{|{z{|{|z{{{||{|||||zz{zz{{{{|{||}{zz{{z{z{}|{{{{|{{|{z{z{|||{|{{|{||z{z{z{|{||{{{|z|{||zz|{}{|{}|z{z{{z{z|{|{{|{{{{{{{z{{||}{||{{{{{{{{{{|{{|||||{{{{{{{z||||||||{{|{|z{{|}{|||{||{|{{{{||}|||}|}|{|||}|{|||{|}}}||{||z{|||||||}{{{{{|{{{|}||||||{{{{{{{|{||||}{{{{{{{{{{{|{|||{|||{{z{{z{||{||||||{z{{z{|{||{~}~~~~|||{|{}|||}||}}|||{|{{{{|{||}||}|{|{{zz{|||||{|{|{{{z{{{|{|{z|{|{{{z|{{|z{||{|||{{{zz{{z|{{z{{{{z{{z{{z{z{z|}|{{{z{zz{z{{{zz{|{{zzzzz{z{z{z{||{{{{z{{{z{{z|{{{||{z{z{{{z{z{z{{|||z{{{z{{z||{|{{|z{{{{y{z{z{{{{|{{{z{{{{z{{{{|{{}z{{{{z{{{{z||||{{{{{{zz{||||{{{{|{|{{z{z{{||{|{|{{{{{|{{|{||{{|{{{{{z{{{{{|{{{{{{{{{{{{{|{|}|{|{{{{{z{|{||{{||}|{{||{{z{}}|||||{|{{{|zz|}||{||||z|{{{{|{{|||{||{|{{|||{{|}||||}||{{{zz{{|{|}||||{{|{z{{{}||||||||{z{{{|||||||}}}||z{{{{{{{|}|||||{{{{{{z{||{||{{{z{{{{{{|{|||~~~}~}}}}}|}{||}}|}}}{{|{{{{{}{|{{}}}}{{||{{|{{||{||{{{{{{{{z{{{{|{{||{{yz{{zz{|{{{|{{{{z{{{{{|{{{{z{{z{{{z{{{{yz{|{{{zz{{{zz{|{{{{{{z{{z{zzy{}|z||{{zz{|zz{z{z{|{{||{{{{z{{z{{||{{{{{z{z{{yz{{{{{}{|{{{{{{{{{{{{{||{{{z||zz{|{|{{||}|z{{{z{{|{|{{|{|{{{{|{{z{{|{{{}{{{|{{{{{{||{{||{{{{{z{{z{||{|{||{{z{{|{{{{|{|{{||{{{{{{z{|{||{||{|{{{{|{||{||||}{{||||{||||{{|{|{{{|||{||{|{|}}|{z{{{|z{{|{|}{}||{{||{{||}|}}|}|}|{|{z{{|}}}|||||||{|z{{|}|{{{|}{{{||{{||||{z}||{{{|{{{{{|||||||{{{{{|z{{|{|{|||{zzzz{z{{||{{~~}}||}|{}|}}}}~}}|||{{{}|{{}||||{{z{|{z{{{|||{|}{|{{zzz{||{{z||{|{{{{z{{{{||{{|{{{z|zzzyz{{z{{|{{{{zzz{z{{{{zz|{{zz{{z{{{{{{{||{z{zz{{{z{z{{z{|{{|{{{{zzy{{|z|{||{z{zzz{z{{{{z{{{{{{zz{{zz{{{{{||z{{|{z{{|{{||{||{zz{{z{{z{{{{|||{{{{zz{{{{{{{{{|{z{{zzzz{{|{{|{|{{{{|z{{|{||{{|{{zz{{{{z{{|{{|}|{{z{{z{{{{{|{|{{{{{{{{z{{{|||}||z{z{{|{z|||}{|{{{{{{|z{z|{||||}|{|{{{z{{||||{||{{{|{{{|{{{|||||{}{{{{|{{{}||||}|{z{{{||||{{{||||{z{{|{{{||||{|{{|z{|{{zz{{{||||||{|{{{{{||{|{|||||{zz|{z{{||{{||{{{{{{zz{{{||~~~}}}||{|||||}}}}}||{||{|{||{{}|}}|{{|{{{{{|{|z||{|z{zz{{z{{{|{{{{{{{{z{{zz|z{z{{|y{{zy{{{{{}z{{{|{{zzz{yzzzz{|{{{z{z{z{zz|{{{{||{{zyzz{{{{{{z{{|{{{z{zz{|{{z{{{{||{zzzzz{{{{{z{||{{{{z{{z{{{|{|z{{z{z{{{z{{{{z|}{{{{z{zz{|{z{{|{|{{|{zz{|{{{{{|||z{z{z{{|{{{{||{|{z{{|{{z{{{{|}|z|{z|{{{{|{{{{|||{{{{{{z{{||{|{|{z|{{|{z||{|||}{{z{{|{zz{||||}{|}{{{|{{{{||||}{|}|zz{{z{z}}|{||}||{{z|{|{{{{{|}{||{{{|{{{{|||}|}||{{|{{{||{}{{|}{|{{{{{{{|{{||}}}}{||{|z{|}{|{||{{{{z{z{{{|{||}||{{{{{{{{{|{{|||{{{{z{{{{||{{|~~~~~}~}}|{|||}|}|||}|||{||{{}}|||||||{||{{z{|{|{{}||{{{{{z{z{{|||||{{{{{{z{zz|{{{{{{|z{{z{y{||{{{{{{z{zzz{{z{{z{z{{|{z{{zz{zzz{{{||{z{{z|{{{{{{|{|{|{{{z{z{z{{||zz|{{zz|zzz{{|z{{{|{{zzzzz{{{{{z{{|{{z{{{|{z{{{{{{}|{zzz{zz{{{{{{{||{{z|zzzy{{{{{|{|zz|{{{{z||||{{||{{{z{{{{{|{{||{{{z{zz{{{{{}{z{||{{{{{|z{{|{|{{{{z{{z{||{{|||||}|z{{{{z|z||{||||{{z{zz{zz{}}{|{|{|{|z{{z{|}||}|}}{{{|{z{{{{|{|}|}}{|{{{{|{}{|{|{|{z||zz{|{||z||||{|{{{z{|||{|||||{|{{|{{||{{|{|{|{|{z{{{{|{|||}|||{{z{z|z||||||||{{{z{{|{z{{{|~~}~~|{}||}|}}|}}|}}}|{|{{{|||||||||}z{|{}z{||{||{|||{|{z{{z{||{{|||{z{{|{zz{||{{{{z{{|z{zz{{{zz{{|{{{zz{{{y|{|{{|{{{{z{{zzz{{|{{{{zzz{{zzz{z|{z{{{|{{|zzz{zz|{|{{||{z{{z{{z{{{{|{{{{z{z{{{z{|{{{|{{{{{{z{{{{{|{|}||{{{z|{{z||{{|{{{{z{{zz{z{|{|||{|{{{{z{z{||{{||{{{{{{|{{{{|{||}|||{{z{zz{{||||||}{{z{|{{{|{|{{||{{{{{z{{{|||||{||{||z{|{{|||||||||z{{{z{{{|{}|||{{{|{{{{||||||||}{{|{{{{|{{|||}|}}{{|{{{||||||||||{|{{|{{|{|}|||||{{z|{||{||}|{{||{{{||z||{{||||||{{{{z{z|||{||}||z{{{{{||{||{||{{z{{|z|{{{|{{~}~~||}{}}}}}||~~|{{{|{|{|{{||}||}||{{{{{{||}|{||||{{zzzz{||{|}||{{{{z{|z{|{{{}|{{{{|{{{{{{{{{||{{{{{{{{{|{{{||z{zzzz{{{{{{|{||{{z{z{{{{{{|{{|{{||{|{z{|{{{{{|||||{{z{z{{{|{{{{{|z{z{|{z{{{|{{|{{{{{z{{z{{z{|{||{{z|z{z{{{|}{|{{|{{{zyz{|z|{}|||{{|{{z{|{||{|{}{z|{|{{z{{{|z||||{|{{|{z{{{||||||}|{{|z{{z|||{|||}{{{{{{z{{{|||{}|zz{{{|{|||{|{{|||{|{{z{{||}{||{||{{||{{|||}{}||{{{|{{|{{|{|}}||}|{{|{{{|{}||{|||}|{|{{z||{|}||||}{{||||{|{{|||}}}{z{{{{{{{|}|}||{|{zz{{|||||{||{{{{|{{z{{|{|{|||{{zz{{{{|||{{~~}~}}{}}|}~}|}|}|||{||{z}|{|||||||{|{{{{{||||{||{{|z{{{{{z||z}}}{z{z{|zyz{{{|||{{z{zzzz{{{{{z{||{|{{z{zz{{z{{|{{{z{zzz{z{{{{{{|{{{{z{{y{z||{z|{{{{{{yzz{{{{{{z{||{{zzz{zy|{{z|z{z{z{{{{{{{{{{|{{{z{z{{{z||{{{{||||{{{y|{{|{||{||{z|zzzzz{z||||{||{|{{|{{|}|{{|||{{{z{{{{{||{||{||z||z{|z|{||{||{{|{{z{{{{|{{{|||{||{{{{{|{}}|||||||{{||{|{{||{||{zz|{z{{|}|||||{|{{||{|{|||||}}}||z{{{{||{{{{||}|{{{{{{||}}||{|||z|{{{|{{|{||{||{z||{|{{||||z|||||{{|{|||{{|{|||{{{{z|{|{|||{|}||{zz{z|{{|}|||z{z{{z{{{z{||{{~}}~}}||}}}}}~|}~|||{|{|{|||}|}||{{||{{{{||{|||||{{{|z{{z{|{||{||{{{z{z{z{{|{{|||{{z{{{{{|{|{||||{{{{zz{z|{z|{{{|{z{z{|{{{||{|{{||zyzy{{{z{{{|{{|{z{{{{zy{{||{|||{z{zz{{{{{{{{{{{{{zz{zz{{{||{||{{{{z{z{z{{{|{{{|{z{z{{{|{z{|||{|{z}{{z{z}|{||||}{|{{{z{|{||||{||{{{|{z{zz{|{|||||{z{{{z{{|{|z|}|{{z{{{{{{{|}||{{{{|zz{|{{|}}||}|{{|{{|{{{{||||||{{{{{{y{{}||~||||{{{{z{{|||||{||{||{{{||||{||||||{{|{|{|{}}|||||||||{|{||||{|||{|{|{z{{|{{}{|}|||{z{{||{|||}}}|}{|{zz||z{|{|||}|{{{|{z|z{}{||{}|{{|{|{{{{|{{{~~}}}}|||||}}}|}|{|||{{{z|||||||||{|{{{{{{||||{{{{|z{{z{{{{|{{|{|z{{{{{zz|{{{||{{{{{|{zz{{{||{{{|{{z{z{{{{{{{{{{|z{z{z{zz{||{{{|{{z{{z{{{{{{{{{|{{{z{zy{{|{||{{{}z{zz|{{z{{{{{{|{{{zz|{|{z|{{{{||z{{{{|{z|z||{{|{|{{zz|{{{z|{{{||zz{{|z{||{{|{{{|{zz{z{{{|{{||||}|z{{|{|z|{||{|||{|{{{{{{{{|z{|}|{|{||{|{{||{{||}|{{z{|{{{{|}|}|{{|{{|{|{||{|{||}|{{|{{|z{|||}||||{{z{|{{||}{}{||{{|{{|}}|{|||{}}{{{|{{|{{}|}}}}||{{{|{{||{}||{}|{{{|z{|{{|{}||||}|{|{{{|||{||||||||{|{{{||{{|}||{{{{|{|z{|{{|||{{{{{{{{z{}|||~}~}~}}}}~{||}|}}~}|}{|{{{{}{||{|}{{{|{{{{{{||}|||}{|{{{||{|{{{{|||{{{{z{{{z{{|{|{||{{z{{{{{{{{||{{{z{{{z{|{{z{{z{{{{{{zz{{{{|{{{||{z|{yyz{{|{{{{||{|z{{z{z{{|{|{{z{|{{{{{z{{{{{|{z{|{z{{{{{}{{||{{{z{{zz{z{{|||{}||z{z{{{{{||{{}{{{{{zzz|{{{|{{|{|{{||z{||||{|||||{{{{|z{{{|{|||{{|{z{{{{{{|||{||{{|{z{{z{|||{{|{||{{{z|{{{||}}|{|z{|||{||}}{{|||}{{{{{{{z||||||}||{{|{{|{||}||||}|{{{{||{|||}|}{}}z|{|{|{||{|}||}|{|{|{|{}}|||{|||{{{{|{{||{{|}|||{z{{|{}||||}||}}{{{{{{{{}||{|{|{|{{{{|z||{{{|}{{{|zzz{z{|||{~~~}|}}~}|}|}~}}}}}}{{{}{{{||}{|}}}|{|{{{z{{{|{{{}|{|{||{y{{{|z{|{{{{{{|y{zz{|{|{z{|{{{zy{z{{|{zz|{{{zz{|{{{|{{||||{{z{zz{z||{z|{|{zz{z{zzz{z|{|{|{zz{zz{zzz{{{|{|{{{zz{z{zz{{z|{{{zz{{{{{z{|{|{|||zz{{{zzz{{|{{{||{{zz{{{z|}||{{{|{{{zz{|z{z|{{z||{z{{{{{{{{{{|{{{{{z{{z|{{|z{||{{|z|{zz{{{{{}|{||{{yz{||{|{{{|{|{{{{z{|z|||||{|||z{{{{{{{}{{||||}|{zz{{{|||||||{|{{z{{z|{||||||||{{z{{||{{|||||}||{{|||{{{}|}{{}|}{{|{{{{||{||}|{|{{{{{{|||}||||}|{|{|{{|{|{{||||{{{{|{{{{{{{{||||{{z{{{|{|{{{{|||{|{{{|{{{{{{~}}~|||{|}}}|}}}}|}|{||{|{||{|}||||||{|{z||}||{{|{|{zzz{z{{{{{|||{{z{{{{z{|{{{{{{{{{zz{{z{{}z{{{|{{{zz{y{{z{|{{||z{zz{yzz{{||z{{{{zz{z{{zz|{{|{|z{z{zz{zz{|{{{{{zz{{{{z{z{{z{{{|{zzyz{{z{||zz|{{{z{z{{{z{|{z{z{|{{{zzzz{zz{|{{{{|{z|{{zzz{{{{|||{{{zzz{{{{||{{||||{z{zz{z{|z{||||{{{zz{zzz|||||||{{{{{{{{{||{{}|||z{{z{{{||||||{|{{{z{{{||{||{||||{|{|{z{{|||{||{|z{{{{{{||{|{|||{{{{||{|{}|||{|||{{{{||{{{|}|{}||{||{z{{|||||||{{{z{{{{|{||||{|}|{|{|||{|}{|{|||{{{z{{{{z||{|{|||{{{{zz{{{{{{{{{{{|z{z{{{{|{z~~~~~~}}}}|}}}}||}|}|}|||{{{{||{|||||{{{{{{{{{|||z|{|{{{{z{{z{{|{z|{{z|{{zzzz{{|z{{{{{{{{{zzzz{|{{{{{{z{{z{{|{z|{{||{zzzzzz{z|z|{{||{zz{z{{zz{{z{{{|{{|zz{{z|{{||{{{z{{{z{zzzz|{|{{{{{{zzzzzz{{{|z|{{{{z{{z{{{{{{{{|{{{{{{zzzz||{||{|{{{z{{{{{{||{|{{{{z{{{{{zz{{|{|{|{{zz{{{{|{z{}{{|z|zzzz{z{||{|{{|{z{{|z|{|{z||||{z{z{{|{|||||{|{{|{{{{z||||}{|{|{z{|{{{{{||{{||{{{z{{|{{||z|{}}{{{{{{{{{||||{||{{|{{{{{{|}|||}|}|{|{{|||{|}||{|||z{{|{|z{{{|{|}}|{{}|{{|||||{||{|{|z{z|{{|{|{||{|{{{{{{|||||{{}|{zzzzz{{{{|||}~~~~~}}||{}}}||||~|||z{{{|}|||||||||{z{{{{|{|{|||}||{{z|{zz|||{{||{|{{{zz{z{{{{{||{z{zzz{zy{{{{|{{z{{yz{y{{|{{|{|{{{{z{zzzz|{z|{{{z{{{z{zz{{{{{{{|{{|z{zzz||||{|{{{{z{zz{zz{{{z{{||{zzzz{z{|{{||{|z{{{|{{z{{{{|{|{{zzz{z{{{|{{{|{|z{z{{z{{{{|{||{|zz|z{{|{{{|{{|{{{z{{{{{{{|||{||{z{{{z{{{{{}{{|||{{||{{{{{|{{{{{|{z{|zz||||{}||||{{z{|||{||{|{|}|z{{{z{z{||}|{||||{{{{{{z||{{{|{}{|{{||{{|{||{||||{|{{{{{|||}|||||||||{{z|}|||||}|{{z{{{{{|||||}|{|z||{{|||||}||}{|{z{|{{{{|{||}{{|z{{{{{||{}{z||{z{{{z{z|}|{|~|~|~}}}}}|}|}}}|{}{{{||{{||||{}||{{|{zy{{{{|||}|z|z{{{zz{{|||}{|{{{zz{{{{z{|{{|{{zzz{|{z{z|{|{{||{{{z{{{{||{|{||zz{zz{{z{|||{{{{{|z{z{zz{zz|{}|{{{{{zz{z{|{{|{||zz{{zzzz{|{{|{{|{{z{{z{{z{{{{||{{z{z{{zzz{{{{{|{{y{z|y|{{{|{{{|}|{{{z{{{{|{{|{{~{z{{zz{{{|{|{|||{{|{z{{z{|{||{}{{z|{{{{{z||{{||{{{{{{{{||{||{{{{|{|{{z{{{||{|||{{|{{z|{{{|{|{|||{z{|{{|{|{{|{|}|{{{{{z|z|||||||{{||{{{|{|{{|||}|{|{||{z||}|||}{|}{{{{{{{{|{|||z{{{{{|z{{{|{{||}}||||||{|{{{||||||{{{{{{|{|||{{}{{|{{{{{z|{||{{||{{z{{{{{{{||{~~~~}~~}|}|~|}}|}}||{|{||{|||{||||||{{|{|{z{}{|{{|{{{{z{|{z|{|||{|{{|z{{zzz{{{|{{{{{{zz{zy{|{|{{||{{|z{z{z{|z{{{{{|{zz{{zz{{{{{{|{{{{z{{zzz{{|{{|{||{zz{{{{{{z{|{||{{{{|{{{{{{zz|||{{{|zz|z{{{{{{|{{z{{{{z{{||||{|{z{{{{z{{|{}{{||{{{{{{z|{{{|{|{||z{{{z{{{{{|{||{||{{{zz{{|||{|||||z{|{|{z{||{{||{|{{{{|{|||{|||}|{{||{{||{|||{}{{|{{z{|{{{|{|{||~|{|{{{{{|{||}|||||||z{{|||}||}|{||||{||{{|||{||}{{{{{||{|}||}||}||{|{{{|||||||{||{{{{{{|||{{|{|{|{{{{||||{|{{}|||{z{{{{{{|{||||||z{{{{|z{{}||{{|{{{{z{{|||{{{~~~~~~}||||}}}|}}}}||||}z{{||{|||}||{}{{{{{{||{|{|}|{{z{z{{{{{||}{{{{{{z{zz{{{{{|||{{{z{{zz|{{{{|{|{{z{zy{z{|z{{{{z{z{z{z|{{|||{|{{|{{{zz{zz|{{||||{{{{{|{{{|||{|{|{{z|z{{{{{{{{{|||{y{{|z{{{{{{||{zz|z{{z{||||{{||{zzzzz{{{{{|{|z|{{{z|z{{{|{|{|||{z{{{{|z{{||{||||{z||z{{{{}|{||||{{z|{zz|||{||{|{{{{z{{z{||{{{{|{{{{||{{|{||||||{{{{{{{||||}|{|||{{|{{{z{||{|||||z{{|{{{}~{|{|||{{||{||{||||}}||||{{{z|{|}|}||||{{||{{{z|{}}{|}}|{{z|{{{||}|{|}|||z{{}|{||||{{}||{{z{|z{|||{|||{|{{||{{{{{||{z||{{{{{z{z{||{{~~~~~~~}}|{~|||||~~}|z{|{}||||}|||}{}{{{|{{|{{{{{|||||{z{{{z|{{|{|||z{{z{z{z{|{{z|||{{{z{zz{|{|z{|{{{z{{{{zz{{{{}}{{z{z{{zz{{{{|{z|{zz{zz{{{{{z{||{}{{{z{{{z{z{{z|}{z{z{zz{{{{||{|{|{{{z{{{{{{{{||{{zz{z{|{{{|||{|{|{{{{{z{z{|{{{{|}{{{{{{{{{{z{z||{{{|{zzzz|{||||||{|{|{{z{||||||{|{{z{|{z{{|||||{|{z||zz|{{|{{{{{{{{|{||z{}{}||||}{|{{|{{|{|{}{{|}|{{{{{zz{{{|||{|{{{{{{{{{}}{||}|{||{{||||{{{|{||{|||{z{{{|||||}||||{|z{||||}||}|||||||{|{|z|||}||}{{{|{{{{||{|||{||{|{{|{|{|||}{|z{{{{{|{}||||{|{||{{{zz|{{{{~}}~~~||}{}||}~}}||}||{{{||||||||{||{z{|{|z{{|}|{{{||{|zz{zz{{{}{{{|{{{zzz{{{z|z||{||z{zzzzz{{{{|{{{{{zzz{{{{zz|{{{{z{{{{{{z{{{{{|||{{z{zzz{{z{z|{||{{{zzzzzz{||{|{{{z{{{y{{{{{{{{{{{{{y{{{{zz{{||||zz|z{{{{z{{{{{||{{{zz{{z|{{{{{|{{{{{{z{{{{{{{z||{zzzz{z{||{{zz||{{|z|z{{{{{{{|{{{{{zzzzz{{|{|||{{z{|{{z{||{{{{||{{{{{{z{{|{|{|}||zz{{{|z||{{|}||{z{{z{zz{|z|}{|{}{{{|{{z|||{}||||{{{z{|{{||||||}|z{|{|zz{}||{|}}|z{{{{|{|||}|{|}|{|{{{{||{|}|||||||{|{z|}{{||}}|{{|{{z{||{{|||{|{{{z{{{z{{{{||}|{{{||{{z{{||{~~~~~~}|||||}|}|}|}}}||{{||z|{|||||{||{{{{{{{{{{{{}||{{zz{{zz{{{||{||z{zz{{zzz|z{{|{{{{zz{z{z{{{z{{{{{zz{{{z|{{|{{{{{z{z{|zz{{{z|{|{{{{zzzzzz{}z{{{{|z{{yz{{{{{|z{|{{z{zzzzz{{|{z||{z{z{{zz{{||||{{{{zz{{zzz{{{||||{{z{z{{{z{||z{|}||z{{{z{{{{|{{|{|{{{{z{{z||{{|}||{{{|{zz{z|z{||{||z|{{{zz{{{{|||{{|{{{{{{{||z|{|{|zz{{z{{|{{|||}{{zz{z|{{||{|||{|{{{{z{zz{{|||||{{{{{{{{||}|{|}||{{{{||{{{|{|}}||{{{|{{{|{||||}||{{z{{{{||{{}|||{|z{|||{{{{|{|||{|{|{|{{{}||{||||{|{z{z{{||{{|||{||{z|{z{z|{|{||||{{z{z{|{|{z{~~~~}}|}|{|}}}}}||~||{{|{{{|}{{}}|}{{|{|{zz{|||{{{}{{|{{{zz{{|{z{{{|{{{z{{|{|{{{||{{{{z{zzz|{{|{{||z{{{{z{{z{{z{{{{{z{{{zz{{{{z|{{{{zzzz{zz{{|{{{{{{{{{z{z|z{{}{{|{{{z{zy{zz{{{{{{{{z{z{{z{{{zz{{{|{z{{{|{zz{{|||||{zzz|z|{{{{|{|{|{yzzzz{{{|{{||||{z{{zzz{{||{||||{{|{|{{{{|{{{||{{{z{{z{y{|}z||{|{{z{zzz{{|{{{{|{{{z{{{||{|||{}{|{{{{{{||{||{|||{||{{{{{{{||||||{|{|{{|{{|}|}|||||||{z||{||||||||||{{{{{{|~}}{|}{|{{{{{|{}|||}}|||{|{|z|{|||{||{}||{z|{z|||{}|||}{{|z|{{{{}|{||||||{zz{{z|{{|}{{|{{|{{{z{{{|{{~~}}}{}}|}}|||~|}}}|||{{|{{|{|{~|||{z{z|{z|z||||{|||z|{zz|{|{{{{|||{{{zz|{z{{{{|{{z{z{{{{z{|||z{{{z{z{{{zzz{{{|{{{||zz{zzzz{{{{{||||{zz{{z{{{{||{{|z{{{z{{{{{|{{|{|{z|z{z{{z|{{{{{{{{zz{yz{{{{{|{||{{{{z{{zz{{||{|{{z{{{{z|{{||{{|||{{{{{{{{{|{{|||{{{{z{{{{|{{{|||{{{z{z{z{}||{{|{{{z{{|{z{|||{{||{{{zz||{{}{||{{}{{{|||{{{{||||{|{{{z{|{{||{|{||}|{{|z{z{{||||||{|{{{{z{{{|||||}|{{|z{|{{|{||}|||{{{{||{{|||}|||}{{|{{{|{|}{||}}||{{{||{|{|{|}||}|z{{{{|{|{|{|||||zzz|{|{{|{||}||{{z{{{{z{|{|{||{{z|z{{{|{{|{{~~~~~}|~}{}||{||}|}~}{|{z{{|{|{|{{|{|{{{{{zz{{|{|{{|{|z|zy|{z{z||{{|{{z{zzz{{{|{{{|{{{zz{{{z{{{}z{{|zzz{z{{z{{z{{{{|{{zyzzzzzz{{{|{{{|{zzzzz{z{{z{|z{{z{{z{zzz{{{|{|||{zz{zzzz{{{z{{z{|{yyzzzz{{{||{|z{{{z{zz{{{|{|z{{{{zz{{|{{{|{|{|{z{{{{|{z{{z|{|{{z{{z{z{{{|{||||z{{{{z|{{||{{|{{|{{|{{{z{|{|||}{{{y{zz{z||{{{{{{{{{z{z|{{{||||||zzz{{{|{||||||}|{z{{{{z{z|{|||{{|z{{|zz{{{|{|}||{{|{{{{{{{|||{}||{{|||||z}|{|}}{}{|{{{{{{|||||||{{zz{{|{{|||||||{{{{{|{{{|{{|||}{{{{{{{{|z|}|||||{{|{{{z|{|||{{||{{zzzz{{|{{{~~~}}}}|||{}}|}}}}}||{|{|{|||{||}|{}|{{z{{{||||{{{|{|{{|z{z{|||{|||{{{{{{z{{{{|{|{||{zz{zzz{{{|{|{{z{{zzzz{{{{{|{|{z{{z{z{z{{{}z{{z|{{zzzzz{{{{{|{|{z{zz{{zz{{z{{|{zzzzzzzz|{{{{|{|y||z{z{z{{|z{|{{{z{z{{z{{{{|||{|{zz{{{z{|||{z{{|z{|z{z{{{{{|{|{|z{|{z{{{{{||{{||{z{{{z{{{{|||}{{{z{{{{{z{|{|{{||{{{{{{{z|||{{{||{{{{z{z{{{|||}{|{{{z{{|{|{{|||||{z{{{{z{|{{|||}}|z|{{{{{||{{}|||{{{z{|{{}{||}||||{{{{{{z{||||{|}|{|{{{z{||{|{|}{||{{{{{{{{|{|||{{{|{|{{{{{{|{}|}|{{{{z{z||{{{|}|{{{{{{{{|{{||||{z|{z{zzz{||{{}~}~}|||{|}}|}|}||}|{{|||{}{|||||}|{z{{{{{|{|||{}{|{{z{z|z{{||{{{|{{{z{{z{{{{{{{|{{z{z{{yz{{|{{{{{{zzz{{z{{{{{{|{{{zzz{zzzz{{{z{{||zz{z{z{z{{{{{{{zz{z{z{zz{{{|z{{|y{zyzz{z|{{z{|z{z{{z{{z{|{{z|{{{z|{{{{{|{||{|{{|{z{{z{{|{|{{{{|{{zyzz{{|{{{{||{{{{{{{zz{||{{{|}{|{{|{{{{||{{|{|||{zz{zz|||{|||}{z{z|{{{||{z||||z{{|{{{{{{{{{||{z|{{{{{{{{{||{|}{{{{{{z{||||{|{|||{z{|{{||{|{|||{{{{z{{{{{|}||{|}z{{{{{{{}||{|||{{{z||||{||{|||||{{{{{{{{{{{|}|||{|||{z{|{|||||}{{|{|{{{{|z|{||||zz{{z{{{||||{{|{z{z{{{{{{|||~~~}~|~}|}|}}~|~}}|}|||{|{{{|{|}}||||{|{|{{z{||||{{|{z{|{{{z||{|{|||{||{{{{z{}|{{}|{{z{z{{{{{|||{||{{{{{{{zz{{{||{{{z{{zz{{{{|{{z|{|{{z{{{z{{|{z|{|{{{{{zz{{{{|{{|||{{{y{{{z{|{{{|{{|{{{zzz{z{{{{}{{z||{z{z{{{||z|{|{{{z|{|{|{{{||||{{|{{z{{|{{|{|{{z|{{{{{{|||{||{|{{{{{{{{{|||{|||{{{z{{{z||||||}|{{|{{{{{|{|{||{|{{|{{z{||||||||{{{{{{{|{||{||{||{{{{|{{{{|||{{|}|{{{{{|{|||{||{|{{{z{|{|||{|{}||}|}||{{|||||}{}}|{|||{||}|||||}}|{{|{|{{|{|{}|}}|||{|{||}||}||||{|{{{{{|{{||||||{{{{{z|{{}{||{{||{|{zz{{|||{|~~~~~~}}}|||}}}}||}}}|||{|{|{|||||}||||{{|{{z{|||{|||}{{{{z{z{z|{z||}{{zzz{{z{{|{{|{{{{z{{z{z{{|{z{{{{{{{z{{{{z|{|{{|y{{z{z{z{|z|{{|{{{{{{{{|{{{{|{||{{{{zz{{{|{{|||{z{zz{z{z{|{z|{z{|{{{{{{zz{{||{{{{{{{z{{{||{{{||||z{{{z{{{|{{|{|{{{{zzzz{{|{|z{{||z{|zzy{{{{||{{|{|{{|{|{{|{{|||{|{{{{{zz|{z|||||{{{|{{{{{|}{z|{{{{{z{z||{{||||||{{|z{|{z{{z|z{||{{{z{z{{{{{|||||}{{z|{z|||||||||{|||{||||}||||}}}||{{{|{|}}|}||}|{{|z|{{||||||}||z{{{{||{|||||}{|{{|z{||||{||{{}|z{{|{{z}||z||||{{{{|{{{{|{||{{{{{|{{{{{{{{{{}|~~|}}}}}}|}}|}{}}||||{{{||}z{{{}|{{{|{{|zz||}|z{}|{|{{zz{z{||{|||{{{{z{{|zz{{{{|{|{zzzzzz|||||{|{|{|{{|z{{{|{|{z{{{{{z{z|{{z{|||{{{{z{z{z{{{|{{{{|{{{{z{{z||{{||{{{zz{{{{{{{{||z{|{{{z{{zz{|{{{||{{z{{{{{z{{{|{{||{z{z{{{{|{|||{||zz{z{||{||||z|{|{{{zy{zz{{{|||{|{{{{}z{{|||{z|{{|{|{|z{z{{{{{||{|z|z{{z{|||{{{{{{z{{|{{{||{}}|{{{{{{|||{{{|}{}}||{{|{z{{||||{}|||z{||{||}|{|}|||{||{{{||||{||}}||{{{{{{||}||{|}}|z|||{|{|z{||{|}{{{{{{{||{{{}||}||{{{|{{{|||}|}}{{|z{{{{z||{{{||{|{{{{z{|||{{{}{{{{||{{z{||z{~~}~}~~}~}~}{||~}|}|}}|{|{{{|z}{{||||||{{z{y|||{|}{{|}|{{|{z{z{{||z|||{{|{{z{{{|{z|||{|z{{{{zz{||{|{{{{{{zz{{{{{{{z|{{{zzz{{{z{|{{{{{{z{z|zzzz{||{|{||{{z{z|{z{z{|{z||{{|{{z{z{|{{{{{|zzzz{{|z{{z{{|{{{{{{{|{{{|{||{{}{{|{{{{{|{|{|{{{z{{{|{{{|{|{|{{{{|z{|{zz{||{{||{|{{z|{{{{|{|||{|{{{z{{{{||||{||{z{z{zz{{}||z{|{{{|{z|{{z}|{|}||{{{{z{{{{||{}||||{{||z{{{|}|||||{|{{{{z{{|||||||||{zz|z|{}||{|}|z}{{z{|{|{|||||||{||{|{z{||||||}||{{|z{{{z|{}||||{|z||||{{|||||||{{|{{{{{|||||||{{|{y|z{{}|}|||||{z{z{{{{{}{{|~~}~~}~}}}}||||~}|}|}|{|{{||{}||}||}||{{|{z{{|{|{{{||{{}{yz{z|{|{{||{{{{{|z{z{|}{{|{{|{{{{z{{{z|{{{{|{{{{z|z|{z{|{|}{zz{{{{{z{{{{z{{{{{{zz{z{{||{|{{{z{{{y{{zz|{{|{|{|{zzzz{zz{{{z|{|{z{z{{zz{|{{{|{|{zz{{{{{|{|{|||{z{zy{z{{{||{|{|{{{{{{{{{|||{z{|||{{{zzz{{|{{|{||{{{{{z{z{|{|{|{|{{{{z{z{{{{{|||||{||z{z|||{{|{{|{{{{{{{|{{|{}||{{|{{{z|{{{||{||}{|{z{|{z|{|{|||{|z{|{{z{|{||||}|{{{||{{||||||||}{{z{||{|||||||}||{|{z{|z|}}{{|||{z{{z{{{z||||}}|{{||||{{{||||||||{|{z|{{{}{{||}|{{{|{{{{{||||{|{|{{zz|{|{||||~~~}~~~}|{||||}}{|}~|}||z{|{{{|{|{|{||{|{{{{{{|{{|{||{|z{{zz{z{|{||{{|{{|{z{zzz{{y{||{zz{{zz{{{{|{{{{zzz{zzz{z{z|zzz{{zzzz{z{z{{}z||{{{zz{z{{{{{{{|{|{z{{{z{{{z|{{{{||{{z{zyzy{{z{|{{|{{y{{{{{{{z{{|{{{zz{zzz{z{|{{{|z{z{z{{{{{|{{{{|{{{{zzz{{{{{{{|{{{z{zz{{{{{{|{{|z|{{{{zzz{|{z||{{{{|{{{{zz|{z{{|||{z{{{{z{{{z{||||{{{z|{||{|{||||{{z{{{{{{{||||||{{z{{{zz||||{||{|z{{|{||||||{|||{{{{|{{|{{z{|||||{{{z{|{{||||}}|{z||{{{{{{}|||}}{z{{{{{||||{|{}}|{{{zz{z{|{{|{}}{{{{z{|{{{{||{||{{z|yz{{||{{||{{{{{{zzz|{{{{|}~}}}~}~~}|~}}||{|}|}}}|}|}{|z|{{}{|||||}|{{{{z{{{||{{||}{{{{z|{z||{{||{|z{{z{z{zz{z{{||{{z{|z{z{|{|{{{zz{z{{z{{z{{z{{{{||y{{|zzz{{|{|{{{z{zz{{yz{||{||{|{{{zz{{z{{{{{{{|z{zzyz{z{z{{|z{|{zz{z{z{{z{{{|||{{z{{{zzz{{|{{||{{{{{{{{|{{{{{{|z{{{z{{{{{{{{{|{{{{{z{{{{{{|{|{{{|||{z{z{|{{{{||{{{{{{{||{||{{|{|zz|zzz{{|{{{|z|{{|{|||{||{{{||{|{z{{z{|||||{|||{{||||{z||{|{||{{{{z{z{{}|}{}{}||||{{{||{|{||}|||{{||{{||}||}|}||{|{{{{{||||{|}|{{||{{{{||{||||}{{{{{{{{||{||{||||{||||{{|||||||{{{{{{zz{{|}||{}z{{{{{zz{{|{{}~~}}~~~|~}~}}|||||||}||}}|{{z|||z{{|||{}||{{{{|{{|||||}|{{{{yzz{{{z|{z{|{zzzzz{{{z|{|{{z{{{z{{{{{{{|z{||zzz{{{|zz{|{{z{||z{zz{zzz{{{{||{{zz{zz{yy{{z{{{|{zz{{zzz{{|{||{|{{zzz{zy{{z||{{{{{{z{{zz{{{{z||{{{zzz{{{{z{{{{{||zz{{{z{y|||{|{{{z{{zz{{{{{{{{{{|zz{zzzzz{||{|{}|{|{{{{{z|||{{{{{{z{{zz{{{{|{{|{{{{{{{{{|||{{{{|{{{z|{{|{|{{{{{||{{|{z{|{||{|||}}{{{{{z{{{|{{{|||{{z{{{|z{||{|}|||{{{{{||{{|||{}||{{{{{|{{}|||||{{{{{|{|{||||{||||{{|{{{{{{||||}|{{{||z||{{{|{{||{z||{{z{{}|{{||}|zz{{{{{{|||||||{|zz{{{z{||||~~~~~~~}~}|}}|{||||~||~~||||{|{|{{||{|{|||zz|{{{{|{{{|z||||{{zy{{z{||{{|{|{{z{{{{{{{z{{{||{z{zz{{z{{|{{|{|{z{{z{y{z{{z|{{|{z{z{z{zz{{|{{{{zzzyz{zz|{{z{z||z{z{zzz{{z{||{|{z{{zzzzzz{{|z{||{zzz{{zz{{|{|||{{z{{{zzz{{{{z|{|{||{{z{z{{|{{z|}{{{{zz|z{|{|{||{{z{z{|zz|||{{||{{{{{{z|{{{{|||||{{{z{z{{||{{{||{{{}{{{z{{{{{{{|{{zz|z{z{{}|~||{|{z|z{|z{|{||{}}{{z{{|z{z{|||||}{{{{{||||{|{|{|||{{{{{}{{{|||||}}|{{{{{{{||{|||}||{|||{{{|}|||{|{|z{{{{{|{||{{||||{|{|{z{{|}|{|{|{|zz{{{z}|{|||{{{{{{{{z{|{||{}|||{{z{{|{{z|||~~~}~~}~~~}}}|}|{||}||}|}|}{{{{{{}{||||{|}|{{|{{z|{{||{{{|{|{|zz{{{|{{||{{||{|{zz{z{{{|{{|{|z{{{z{{|z{{{||{z{|{{zzz{z{{z|{{{zzzzzzz|||z{{{{zz{z{{zz{{||||{|{||{{{zyz{{||}{|zzz{zz{z{|{{{{{|{|z{{{{z{{||||||{z{zz{z{{|||{{|{{{{z|{|z||{{|{||z{zzzz{|{|||||||{{{{{{{{|{||{||||{{z{z{{{{{{|{||{{{{{{{z|{|{{{|{{{z||{{||{{|{{|||{{{|{{{||||{}||z{{{|{{{{|||{{||z{{z{{z{|{{}||{||{{{{|{z||{{|{}{|{{{z{{|{||||~{}{||{{zz{|}}|}||||z||z{{{{|{||}|||{{|{{{|z{|||||}}{{||{{{{}|||||||z{zz{|{|{{{|}||{z{{z{|{{||}{{|||{{z{{zz{||{y~~~~~}~~}}~~}|}}|}{|}|}|~|}}|{}||||z|||}||{{|{z{zz|{|{{|{{{|{{{{z{z{{|||{||{{{{|{|{{{{{{||{|{{{{{{{{{{{{|{{{{z{zz{{{{|{|{|||{{{{{{{{{{{{|z{|z{{zz{z{|{{{{{{{|{{{|z{z{{{{{|{}{{{{zzz{{|{{{|{||z|zz|{{{{{{{|{|{zzz{z{z{{{||{|||{z{{z{{{|{|{|||{z|z{{{{|z|{||{|z{{{{{z{|{|||}||z{z{{z|z||}z}}{{{{{z{{{{||}|{|||}|{{{z{{{|||z{|{||{{|||{{|}{{||{||{{{{|{{|{}{|||{{|||z{{{||||||{|{{|||{{|||{}|||||{|{{|{{||{}{|||{{|{|{|{||||}}}|{{{{z{{||}}||||}{|{|||{|}{|{||||{z|}{{{|||||||}{{|{{|{{{|z}{||{|{{z|||{|||||||||||z|{{{||{{|~~~}}}}}~~}|}|}|{|||}{||}}}}|{{{|{{|}{|||||||{{{{|{{||}{z|{{{{{{|{{{{|||{|}{z|{{z{y{|||{{|{{z{{|{{{z|{{{{|{z{z{z{zz{{{|{|{|||{{y{{{{{{z|||{{{z{z{{{{{{|{{||z{|z{|z{{{{{{{|{|{z{zzz{{|||{|{{{{z{{{{zz{{{{|{{{z|{{{{z|{{||{|{{{{{z{{{{{{{|{|||z{|zz{{{{{|||{|{{z{{z{z|{|||||}{z{{{{|z||{{|}||z|{{zz{{|{|}{|||{{||z|{z||{{|}||{{{{{z{{|{|||||{|{|||||{{}||{|}}|{||{{|{{|{||||}||{|||||||||||}}|}{||}|{{|||}|}|||{|{||||||}}|{|}{|||||||{{||}|||{|{|{z|||||{|||||{{|{{|}{{|||}|{{||{|{{||{{}|||{|{|{||{|{}|{|{{|{|{z{z{{{||{~|~~}}~~~}~}}}~||||{|}|}|}||}||{{||z{|{|||||}|z{|{z{|{{{|{||{{z{{{{{z{{|{{|{{{{zz{zz{z{{z{|{z{{{zz{{{{|{{|{|{|z{{y{z{{|z}{{{|z{{z{yz{z{||{|z|{{{{z{zy{{{{{|{|{zzz{z{z{||{|{{|{{{{y{z{{{{{{{{{{z{{{z{zz{||{|{{{z{{{{{z{{||{|||{{zzzzz{||{{z{{{zzzz{{{||{||{{{|z{{z{{{{{z||{|}||{{{{{zz{|||z|||{z{{{{{z{{{{{||{{{{{{zz{|{{{{{||{{{{{{{{{{|||||{{{zz{|{{||{||{||{z{|{|z{|||{{|{{{z|{|{{{||{{||||z|{{{{|{{||||{|||{{{{|{{|||||{|}|||{{{{z}{|||||{|{{{{|{|||{|{}|||||{{{z|{{}|||}|{{{{|{{{{{|{|}|}{z|{{z{|{|{||{}{{{|zz{{{|}}{{~~~~~}}~}}}|~}{||}}|||}|~|}}||{|{||}{|||||}}}{{zz{{zz{{}|{z||{{{|{{{{{{||{{{{z{{{z{zz{{{z{{||{z{zz{{{z{{zz{{{zzzz{zzz{z{{{{|{{{{z{{{z|{{{z{{{zzz{z|{z{{{|{{{{{{z{z{{zz{z|{{|z{{{{{{{zz{{z{|{{{zz||z{zz|zz||{{z{z{{{{z{{{|{{||z{{z{z{{{{{z|||{zz|zz{|{|{{{{|{|z{{{z{{{{|||{{{|{{{{zz{z|||{{{{{{{{z{{{{|{||{||||{{{|zz{|{{{||{|{{zzz{zzz|||{||}z{{z|{{{}{|||||||{{{|z{z{|||{|{{{z|{|{{{|{|||{}{{{{{{{|{||{{{||||{{|{|||{}}|||||||{|{{{|||}}||||{{{{{|{||{{{||||||{{|{{{{||{{|||{{|zz{{z{|{{{|}||y{{z{{z{}{{|{{{{{{{zz|z|||{}}~~~|}}~}|}~}}|}|}|||}}|~||}}||{||}|{||||}|||||{{{{{y||}}|{{|||{{{{{{{{{{{{||}{z{z{{{|{|{{{|{{{|{z|z{||||{{|{{{z{z{{y{{{z{{||||{z{zz{{{{{|{{{{{{z{y{{z|z{|{||zz{||z{{{{{||{{||{{{{{zz{|{{{{}{|{{zz{{z{{{||{|||{{{{z|{{{{{{{{{{{{|z{{{{||{{||{||{{|{{{|{{{||||}{{{{z{{{{|{|{{|{{{{|z{{|{|||||}||{{zzz{{|||{{|}|{{{{{{{{|||{||{|{|{{{{||||||}}{|z{{z{||{||||{|}}|{{|{{{{|||||{|||{|{|{{{{|{|}||}{{{{{|{{|}|}|}||{{{{||z||~}|}||||{{|||{{}||||||}|{{||||||{}|{}}|{{{|{z{|{}||}}}|{|{{{{{{{|||||||||{z{{{z|{{|{|}||||{{z|{{|{{|}}~}~}~~}}}~}||{}{{{{||}{}|||||{{{|z}|{}{{}}{{z|{{z||{{{|||{{{|{{{{|z||{{{{||{{z{z{z{{|{{{{{{|{{z{z{z|{|||{{{{{{z{zz{{{{|{{{{zzz|zz{z{{{{{{{{{{{{z{zz|{||{{|}|z{{z{{z|{{{{||{zzz{z{{zz{{{{{z{|zzzz{{{{|{{|{|{{z|{{{{{{{{|{|{{{{zz{{{{{{{{z|{|{z{{z{{{{{{{{{{{z{||{z{z{{{|||{{{}||zz{{|{||{||{{{|{|{{z|{||{||{|z{z{{{|{|}{{|||{{{{{{|z||||{}{|z{{zz{|z{{{||{{|{z|{{{{{||||{}|{|zz||{{|}|||{}}|||{{z{{{}|||||{|}{{||{|{{|||{{||{{{|{{||{||{{||||{|{{{{|{{|||}}}{|{{|{{||z||{|||{|{{z{{{z|{||{}|{{z{z{z{{|{|{||||z{{{{z{|{|{|~~|}}~}}}~}}}|}}~{|||{||||}||}}|}||{{|{|{||{{|||}{{|{{z{{|{{{{{||{{{{{z{y{|||||z{{{{{{z{z{{|{z{||{{zz{z{z||{{{|{{zzzzzz|z{{z|{||{{z{z{z{z{{|{{{{{{zz{yz{z|{{|{{{|z{{zz{zy{{{{{{{{{yz{{z{zz{zzz{|{{{{z{{{{z{{z{|{||y{zz{zz||{|{{{{{{{z{zz|{{{{{{{{{{z{zzz{{{{{{{{{{zz{zz{{{{{{{|||{{{{z{zz{|||{{{||{{{z{{{|{{{|{{{{zz|z{{zz{{{{|{{{{{y{{{{|{|{{|||{{z|z{{{{|{|{{{}|{{|{z{z{{{||{|{|{|{|z{{{}{{|{}{{z{z{{{|{|{|}||}|{{{{|{{{}||||}}|{{{{z||}{{{|{|||{z{|{z||{{|||{}{{{{z|z{{{{|{|{|{{{{{{z{||{{}|{|{}z{{z|{{||{|||{{{zz{{zz{|{||~~}|~}}}}}~~||}}|}|}}||{{{|}|}}}}||{{{z{{|||||||{|z|||{{{{|{||{|{{{{{zz{z{|{{{|||{{zy{|{z||{|{{||{z{z{{{z{z{{{|{{zzz}z{{{{{{{|{||zy{zzyz{{{{z{||{{{{{z{z{{{{{{|{||{{z{{zzz|{{{{{|{{z{zz{{{{{z{{{{{{z{z{{z{||{{|{|zz{z{{{z|||{|{||{{}|{zzz{|}|{{|{{z|{z{|{{{||{{{|z{{{{{{{|||||{|{|z{z{{{{{}|||~|{{z{{{{{||||||{{||{{{z{{{||{|{|}{{||{{{z{|{|{||||{||{{||z}|{{{|}||{{{|{|{||}|||}{|{{{|{{{}}||}||||{|{|{|{{}{{||{}|{{||{{{}||}||}|{{{|{{{{{|}|{{||}{{|{|{|{{{|||}{|{|{|{{||||{|||}|{|||{{{|||{|||}{{{{{|{z{|z{{{|{{{{{{{{{z|{|{~~~}~|~}|}}~~}}}}~||||}}z{|{|{}||}||{{{{{|{||{|{|{|{z{z{{{{|||{{|{{|zzzz{{{{{}z{||{{{z{|{z{||z{||{{zz{{yz{{|{{{|{{{{zz{zzz{{|||{{{z{{z{{{{{z{zz{{{{{{{yz{{{{|{{|{{||{{{zyy{z{{{{{{{z{z{z{zz{{{zz{{{{z{{{z{{{{z|||z{z{{{{{{{|{||{||zz{{{z{{{||z{|{|{{{z{z{{{{|{{{{||{z{zz{|{||||{||{z{{{z{{{z{||{|{{{{{{|zz|{||{|||{{{{{z{{{|||||||{{z{{{{z|{{||||{{{{z{z{z||{{|||{{{|{{{z{|||z|{||}z|z|{|{|{}{||||{{{z{{|{|{|{|||||{{{z{z||}{||}|{}{||{{|||{{||||||{{z{|z{|{{|{{}}{||||{{}|{||||}~{{zz{{{z||{{||||||z|{{zz{|{||||{{{|{{z{{{|}{{~}}}}||}|~~}~~}|{z|{||{|||}|}||}{{||zz{{{||||{|{z{{{z{{z{|||{|{{{|zz{{{{{{{{{{|z{{{|{|{|||{{||z{{{zz{{{|{{{zz|{{{z{z{z{z{{|{|{|zzz{z{{z|{{||{{{{{z{z{{z{{{{z|{|{{{{zzz{z|{{|{{|{{zz{{zz{{|{{||{zz{zz{y{{{{{{|z{z|{{{{{z{|{{{|{|z{{z|zz{{{{{||{|{zzz{zz{{{{z{|{{{{|{{{{||||{{|{{z{|{{{{z{z||{|{|{{{{{{{{{{{{{{|{{z{{{{{z{{|{||{|{|{{{|{z{||||{||z{|{{{{z|{{{||{}|{{{{{{z|||}|||{|z{{|{{|||{{|||}{{{{{|{z{|{{||}|||{{{|{|{||||}}|{{{{z{{{}{||||||||{|||{|{|{|||}||{|{z{{{{|z{|}{|{{|{{z|{{||{||}|{{{{z{|{||||||||||||{z{z{{{|{~}~~}|}~~}}~}~~}|}|}}z{{{|}}||||}|}{{|{{{{|||{||}{{{{{{{{{{||||||||{z|{{{z{{||{|{|{{{z|z|{{|{|||{||z{z{{{z{{{z{{{{|{{z{{{|{{{|{|||z{{zzz{{{{{|{||{|zz{{{zzz{|{||{||{z{z{{{{{{{||{z||{z{z{z{{{|{|||{|{{{{{{z{{|{||{{z{z{|zz{{{|{{|z|{z{{zz{{||{{{{|{{zz{{{{{{|{|||{{{{{{{|{{||{|{{{z{|{{{|z{||{{|||{z{{zzz{{|{|{||{{{{{{{|{{}|{||{{{{z||z{{||||{||{{{{{z|{{||{|{|}}{{||{{{z|}|||{{||z{{{{{||}|||}}|{{{{||}||}{|||||||{|{|{{|}}|{|}||z|{|{{||||}|||{|{{{|{{||}|||||{|{||z{{{|||||||||{{z{z|{{|{{|||{|{|{{z{{|||{{|}|{{{{{{|{{||{{~~~~~}}}|{~}~~}~~}|||{||{|}}}}||}|{}{{||{{{||{|}||z|{z|z||{|}|||||{z{{z{z|{||{{|{z{|{{|{{{|{||{|{|{{|{{z{{{{{||{{|z|z|{{|{{|{{|{|{zzzzz{|{{{{{{}{{{{{{{zzz||{||{{{{{{{{{z{{{|{|{{{{z{z{z{{{zz{|{|z{{z{z{z{{{|{|{|{{||{|{z{{{|{{{|{|{z{z{{{}{{{{||{z{{{{z{{{{{||{}{{|{{z{|{|{}{{{|{{z{{z{z{z{|{{|||{{||{|{||{{||}{{|{{{{|{||||||||{{{{{zz{|||||{}||z{{|{{||{||z|||{{}|{{{{|}|||||||{|{{||{|||}{{}|{||{{|||||{|||||}{|{||z||}||}|}||{}{{||{~||||{|||{||{{{||||}|||}||{{}|{|}||}}||{{{|z{{{||{||||{|||{{{z{{{||{|{}{{|{z{z{{{{{{|~~}|}|~}{}}}|}}|}}||||{|||||}||}}|}|}{|z{||{|{{}|{{|{{{{{z{||{|{||z{{{z{{{|{||{||{{{{{z|z{{||{z||{{z{|zzz{{{|z{|{{{{{zz{{|z{{|zz|{z|{|{{z{||{|{{{|{{{{{z{{{{{{{|{{{{z{{{z|{|}{|{|{zzz{y{zz{{{{||{z{{y{{|{{z{|{|||{{zz{|{z{{|{{{||{{yz{yzz{{|{{||{{zzz{{{z|{{z{{||{{{{{{{z{|{{||{{|{{{{z{{z|{||||}{{{|{{{zz{|{{||{{{{{{{{{{{||{|||{|{z{{z{{|||{}}{{{{{|z||{|{}|||}|{{{||{{{{||||||{{||{|{{{|||}||{|{|z{{||{||||}|}{{{|{||{|||}}}|||z}{{|||{|||{||}|{{|{|{{}|}||{|||{zz||{{|}|}|||}|{{{{{{{{|{{||||}{|{{{zz{|{||||{{{{{z{z{{|{||}~}}}~}}|}{|}}}}|||{||{||||||||||||}{{{|||{{|}||||{{{{z|||||{{||{{{z{{{z||{|{||||z{{{{{zz|{{{||{z|zzzz{{{z{z{{{{{{{{{{{zz{|{|{{|{{{zz{z{{{{{{{|{z{{{{zz{{|}{{||{|{{zz{{{{|{|{|}|{{{z{z{z{{z{{{{{z{{{{zzz{{||{||z{{{|z{|z{z{{|{|z{z{{{{zz{{{{{z{|z{{z{{z{|{}{{|{|{{z{{{{z|{||||{|{{{{|{|{|{|{|||{|{{{|{{{}{{|{|}z{{y||{z{||z{{|{{{{{{{|{z|{{|||{|{{|{{zz{|}{||||}{{|||{{{||{}|||||{{{{{{{|||{||}|||{|{||||{{{||{|}|{|{{{{{}|}{}|||{{{{{|{||||{{||}{{{|{{{{{|{}|||{{|{|{{{{{|||||||{{{|{|zz|{}||{||{{{{{{z|{|||||{}{|{{z{{{|||{~~}|}}}}}}|}}}|}}{|{||{{{|{{||{|||{{{z{{{{y{||{|||{|{{{{zzz{{{|{{}|{z{zzzzz{{{|z|{{zzz{z{{{{{|z{|{{{zzzzzzz{z{{z|{z{z{zz{z{{{{z{z{{zzzzzz|z{|z{z{{{z{zzz{zzz{{{{{{||{{{z{{z{{{{{{{{zzzz{zzz{{{{z{z|{z{{z{z{z|{{z{{{{z{z{{z{{{{{|{{|{zzy{zzz{{{zz{|{|{{z{{{z{{|{{{{|zz{{zy{{z|z{|{||{z{zzzz{|{||||{{{{{z{{zy{||z|{|z{{{|z{z{|{|{{|||{zz{z{z{{|||{|{|{z{z{z{z|||{{|||{{{{z{{z{|{|||{{{z{{||{{||{||{|{|{|{{{{{{|{{||}||{{|z{z{{||||||{|{{{{{{{{{|{{{||{z{{{{{{{{{{|||||{{{{{{{{|{{{{{{{}{z|{{|{z{||{||{{{{|z{{{{|}{{||{{{{{{zz{|{{|}~||}||{|||~}}}|}}|||{{{{{||{z{||||{{z{{||||}|||||{{{{zz{{{{|{{{|{|z{{z{{zzz|{{z||{zzz{zz{{{z{z}{{{zzz{z{{z{|{z|{{z{{z{zyz{zz{z{{z{{{zz{zz{{{{{{|{{{{{z{z{|||{||{{{{{zz{zz{{|{|||{{{z{{zzzz|{{{{{{{{{z{{zzz{{{{{|{z{zzz{zz{{{|{{|||z{z{{{{{{{{{|||{{z{zz|{z{{|{{{{{{zy{z{{zz{{{{|{zz{z{zzzz{{{|{{{{z{y{{zz{{{{{{|{{{|{z{{{|{|z{{|{z{|{{{{z{||}||{{{z{||||{|{{|||}|z{{|{{zz|||{|{||{z{{{{{z||{|z{||{{|{{{{|z{{{{|}|}{{{{{|z||}}}{||||{{|z{{}{{|{{|||{{|{{z|{{{|{|||{{{{|{{{||{|{{|}||z{{zz{|||{||{{{{{{{z{z{|z|{|||{zz{z{{z{{|{|~}}}~|}|}|{}}|}{|}|{||z{{|{||{{||{}{{{{{||{{z{|{}|{|{{z{zzz|{{{{{}{{{zz{{{zz{{|{{{|{z{z{{{zzz{yz{{{{z{zz{{z{{|z{{{|{zyzz{z{{z{|{z|{z{z{{zzyzz{{z{{|{zz{y{zz{{|{||{{z{z{z{zz{{{|{{{{{zz{{zzzz{{{{{{{z{z{z{zz{{z{{{{{{z{zz{zz{zz{{{||{zzz{z{yz{{{|{||zz{zzz{{z{{z{{||{z{{z{{{z{{z|z{{{z{|{zzzz{|{{||{{z{zz|zzz|{|{{|{{{||{{{{{|{{{{{{{{{z|{{{{||{}{||{{{z{{{{|{{|{{|}{{{{z{{{{{|||{{||zzz{z{{|||||||||{{|zz{||{|{||}|{|{{z{{{||{||||}{{{|{{{z|{|{|||||{{{{zz|{|||||}}|{|{z{{z{{{{|{||{{{z{{zz{z|{{||||{{{{z{{{|{{{{||{{|{zzzz{|{{{}|}|}}|{}|{|}||||}|{|{{{{{{||||}}||}|{{{z{{|z{|z||{|{{||zzz{{||{||{{{{zzz{z{{|{{{{|{{zz{{z{{{{{{|{{{zz{zzzz{zz{z{{z{z{yzzz{{{z{{z||zzyzzzzz{zzzz|{{{z{{{{zz{z|{z{{zz{{{yzzz{{{{{{{{zzzzz{zzyzzzz|{{{z{{{z{{{{{{{{{{{z{z{{z{z{{{{{|{{z{z{zyz{{{{z{|||{{z{yzz{{{{z|{{z{|{zzz{zz{|{|{{{{{z{z{z{|{{{|||{{{z{y{z{{{{{{{{{z{z{zz{{||{z|{|zz{z{{{z{|{||||{{|{{z{{{{{|{||||{{{{{zz{{{|{{|||{{z{{z{{|}||||||z{{{z{{|{{|||||{|{{{{{z{{}{|||{{{|{{|z{{|||{{|||{{{{{{{z{{||||{{{{|{{{{{|{{|{{{|{|z{{{{|{|{||{||{|z{z{{y|{{|{{{{|{{{{z{z{{{{{~|}}}{|||{||}|{|||}|{z{{|{{|||{|{}|{{z{z{z{|{{{}{{|{{z||zzz{{|{{||{{{zz{yzy{{z{{|{|zzzzyz{z{zz{{{|{{{z{{yyz|z|z{z|zzyzz{{zz{z{z{{{{zzzyz{zz{{z{z{zzzzz{zzzzz|{{z{|{z{zzy{zz{|z{z{z{{yzzzzz{zzz{{zzz{zz{{zzzz{{z{{{{|zz{{zzz|{{{z{{{zz{y{{zz{{|z{|{{|zz{yz{zzz|{z{{{{{zzyzz{{{{|{{||{{zz{zzz{{||{{{{|y{{z{zz{||{{|{{{zz|{{{{|{|{z|{{{{{{{z{{{||{||{|z{{{{|z{{{||{{|{{z{{{z{z||{{{|{||zz{{z{{{|z{||||{z{{{{{|{{{{}||||{{z{{{{{|||{||||{||zy{{||{||{|{|zz{{{z|{|||{|}|||{{{{|{{{{{|{|{{{zz|{{{z{{|{|{{{{{|{{|z{{{{{||{{{{zzy{z{|{{|}}~||{||}}}||}}|{}}{{|||{|{|||||||}{{{{{{{{|{{||||{{|{z{zz{{||{z{{{{{zy{zzz|||{{|||z|{zzzz{{{{{z{|z{z{{{z{zz{|zz{z{{zz{{zzz{{z{{|{{zzz{zzzz{z{{z{{{{{z{y{zz{|{z{{||{z{zzzzz|{z{|z|{z{zzz{zz{z{{{{{z|z{z{zzzz|{{{{|{zzzz{{zz{{z{{||{{{{{zz|zz{{{|{||z{z{{zz{z{{|z{{{{z{{zz{zz{{{{{{}{{z{{{z{|{|{|{{z|{zzz{{{{{|{{{}{{|{{{yzz|{{{z|||z{{zzzz{|{z|||||{{{{{{{{||{||{{|{{z||{z{{|{|{{|||z{{{{z|||||||||||{{{{{{{|{|{{{||{{z||{|{{||{||||z{|{{|{|||{|{||{z{{{{{{||{{{||||{{{{{{|{|z|{}}|zz{{|zz{||||{{{}{{{{{{{{|||||{|{{z{{zy{{{{{{{~}|}}||{{{{|}}{{|}|{{{|{{{{{|||}|||{|zz{{z||{{{|{||{{{{{zz|{{|{z{|{{{z{{{{{{{{{{{{{{z{z{|{z|{{{{|{|{{z{{{z{{{|{{{|z|z{{zz{z{{{z{{{{{z{{{zzzz{{z|{|{{{z{{{zz{||{{}|{{z{zzz{zzz{{{{{|zz{zzz|yz{{zz{{{{z{z{z{z|{|{{{{|{z{zzzzyz{{{{z{{zz{zzyzz{|zzz{||z{{{z{{z{{{{z{{{{{{{{z{z|{{{{{|}{{{{{zz{|||{{{|{|z{zzzzz{||{{{||{z{|{|z{{{||{{{||{{z{|z{|z||||{|{{{z|{{{|{{|{||||{{{z{z{||{{||{{{{|{{{{{{||z{||||{{{{{||{|{}{{||{{{{{||z{}|{|||{{{{|z{{{{}|{{|||{{{{|{{|{|{{||}|{{{{z{{z||{}{}{||{zzzz{{{|{z{||{{|{{z{z|{}{|{{{z{z{{{zz{{|{{z}}|}~{||{|}||}}||{~|||{|z|{{|||}{}}||{{{|{{|{|}|{}}|{||{{z|{|||{|{|{{{{{{z{||||||||{{{{z{{{z{{|{|{{{{{{{{{{{{{{{{{{{z{zzzz{{{||{{||{zz{zz{z|{{{|||{|zzz{{{z{}|{|{{{{{{{zzz{{{|||{{{zzz{{{{yz{{||{|{|{yz{zz{z{|z{|{{{{{{{{{{{|||{{|{{z{{{z{{||{{{{{{{{{{z{{z{{{{||{{{z{zz{{{{|{{{{{|{{{{zz{{{{|{{|||{||z|{{z||||{{}{|{{z{|z||}{{{|||{{{{{|z{||{||||{z{{{{{{{{{{|||||||||{|z{|{{||}||||{z|{{{|||{|{|}|||{z|{{{|{||}{||{|{{{{{|||{||||{z{|||||}|||}}}|}{z|||{{{||{{}||{{z|||{{{||}{}{|{|z{{{zz{{{{{{||{{{{{z{{||{|{{||{z|{z{{{||{{|}|}}{|{|z|||}}|||||||{{{||{{|{z||||z{zyz{|z|z||{||{{{z{|zzz{{{{{{||{{{|{zyz{|z|z{{|zzzz{{z{z|zz{{|{{zzz{{z{{{{{z|{{zzzyzzzz{z{{|}{{z{zzzy{{z{{zz{|{{{zzzz{z{z{{|{{||zz{z{zzz{{{{||{{z{{zz{zz{{zz|{{z{zzzzzzyzz{{|{|{zzz{{{z{z{{z||{{zzzyzzz|{{{{{{|{z{zzy{zz{|{{{{|{{{{{z{{{{{{{{|{|{{{zz{{{{|{z|{{{{{|{zz{z{{{{{{{z{z{{z{{{{{{{{z|z{{{{z{{z{|||||{z{{zzz{|{{{|||||{{z|}{{{{{{|||{z{z{zz|{{||{{|{}|{{y{{z{{{{|}|{||{{{{{{|zz~|{||}{|{{|{{{{||||||||{z{{z|{{{||{|{||{{{{{{z{{|{|{{{}{{{z{zzz{{{||{|{{{{{z{{{|{{|{{|{{zzz{{{zzz||{}}}}|{|{{{{|}}|||||||||{zz{}{{{|||}{||z{|z{|{{{{{||{{|{{zz{zz|{{|{||{{{zzzzz{{{z{{{|{{yz{z{z{z{z{z|zz{z{zzz{{|{{{{{{{{zy{zz{{{z{{{{{zzz{{{z{{{{{z{z|zzzz|zzz}{{{{{{{z{z{z{{{{z{{{{{{{{zzzzzz{{{z||{|z{zzz{zz|{{{{{|z{z{{zzz{z{{{{||zzz{{z{{{||{z{|{{{{zzz{|{{{{|{{{zz{{{{{zz|{{{{{{{z{y{yzz{|{{{{|{z{{z{zz{z{||{{||{{z{{z{z{||{z{{|zz|{{y|z{|{{|||{{{{{z{{z|{{|||{||zz{{z{{{{||{}||{{{{{{|z|||{{||{{z{{{{{|{|{|||||{{z{z|{{{}{||||||{{|{zzz|{{||}{||zz{{z{{|||{||{||{{{{z{{|{{||}||{{{{{{{|{|{|{|{{{{zz{{{{{{|||z|z{z{y{zzz{{{{{}}}||||{|{||}~|}|{}{|{{|{z{|{|||}||{{{||{{{{z{||{|}{{z{{{{{{{||{||{{{|{{{{z{{{|{|{{{z{z{{{{|{{{{{{z{{{zzzzz{{|{z{{{{z{zz{zz|z{{z{{}y{{{{zzz{{z{{{|{{z{zy{z{{|{{|{||{{{{zzzzz{|{||{|z{{zzzzz{|{{{|{|{{zzzz{z{|zz{{z|{{{||zzz{{{{{}|{{z{{zz{|{{{{{|{{{{{{zzzz{{{|{{{{{zz{{{{{{|{{{z{||{{z{{zz{|{|{{{|{{{zyzy{||||{{||{{zzzzz{{||{|{z{{|{{{z{{{|z|{}{|zz{{z{{{|}|{{{|}{z|{{{{{|}{|||||{{|z|z{{}||||{||{|{{{|{{|{{|{|||}{{{{{{{{|{|{||{{{|{|{|{|{}||{|}{{{z{{{{{|{{{||~|{{{{zz||{||{|||{||{{z{{{{{|{{{||zz{z{{{|{||{||{{{|y{z{z{z{{||||{|||}{|{|}||||{|z|zz{|{{{|{|{{|||{|z|zzz{{{y|{{|{{z{{{{z{{{||z{|{{z{zz{zz|{|{{{|zz|zzz{y{zzz{|z{{zzz{{zz{{{{z||{{zzzy{zz{zzz{{{{z{zzzzyzz{{{{z|zzzzzy{zz{{{z|{||{zzzzzzz{{{z{z{|z{zzzyzy{zz{z|{z|{zz{z{zzz|z{{z{{zz{z{{{z{z{z{{{|zzz{zzz{z{z{|{{{z{z{z{{{||{z|{|zz{zz{y{{|{z{{|z{zz{zzzz{{||z|{||z{{|{x{z{{z{||{{z{{zzzz{|{{{{{|{{{z{{{{z{|}||||z|zz|{{{|{||||{{|{{{z{{z{{||{|{{{{z{{z{{||{{{|}|{{|{{{{{{|{|}||||{|z{{{z{|{|{{|||{{|{{{{|{|{{{{||z{{{{z{|{|{||{|||{{{zz{{{|{|||}{|{z{zzz{{{|{|||{{yzzzzz{{{{|{|{z{zz{{zz{{{{{|||{{||||||{{||}|||{{{|zz|z|{{|{|||{zzz{z|{{{{||||||{{{zzz{{{{||||{z{z{z{zz|{{z{{|{z{zz{z|{z{{{z{{|zzz{zz{zz{{{{{{{yz{z{z{z{z{{{{z{zzz|{zzyz|zz{{{{{zz{zzz{{z{{|{{{z{{z{zzz{|z{z{|{{zzzzzzy{z{z{{{zz{{zyzyy{{z{z{{{zzzzz{z{{{{{{{|z{z{zzyzz{|{{{|||{{{z{{z|{{z{{z||{{y{z{z{{||{|||{{z{{{{{yz||{|{||{{{z{{zzz|}{{{|y{{{{{|{z{{|{{{|{{{|{{{z{{{{|{|||{z{{{{|z{z{||{{|{{{z{{{{{{|{{}|{|{{{z{|{|{{{||{|{{z{{{{{{||||{||{{{|{{{{{|{||{|}|{|{{z{|||{{{|{|{{{{{{{|{{|||||{||{z{{{{|{||{{||{{{zz{{{{{|{|{{}{{z|{z{|{|{{{|{{{z{y{z{zzzzz{|}||{||{{{{|~||||||{{{{{{{{z{{{|{||{zzzzzzz{{|{{{{{{zz{{z{{{{{{{{{{{z{{zzzz{{{{{{{{zz{zzz{y{{{z{|{{zzzyzyzy|{{{z{z{{zzzzzzz{z{{{{{zz{{z{zz{z{|{{{{{{z{zzzzz{{{{{|z{{z{yzzzy{{{{{{{{zzzz{y{yz{zz{{|{zz{z{z{zzzz{z{{{{z{{{{{z|{{z{{|{{zzzzzzzz|{{{z{{{{|{zzzz{zz{|{{|{zyz{z|{z{{{{{{{{z{{zzzz{|{z|{{{{zz{{{{z|{{{{{|}{{{{z{z{{{{{|{{{{{z{|{{{|{|}||||{{z{z||z{{{|{{|{{zy{{{z{|{|{{{|{{{{{{z{|{|||||}{{|{{{||{z{|{z|{{{z|{{{z{{||||{{|{{|{{z{{{{|{|||{{{{|zz{{{{|{|||{|{{{{{z{|{{|{|||{{z{z{{{|{{{{{||{|{|{z{z|{|{{{|z{{{{{z{z{{|{{}|}|{{||{{{||}{||||}{{|z{{{{|}|||{|{zz{{{{z|{|{{|||{{{z{zzz{{|{{|{||{|zz{zz{{zzz|||zy{z{z{z{{|zz|{{{|zzzyzz{{{{zz{{zzzzyzzz{{{{{{{{zz{{y{zz{{z{{{|{z{{zzzy{zz{{{|||{{zzz{{zzz{{{{|{|{z{{z{{z{{zzz{zz{z{zz{zz{zz{{|{zz{{{{zzz|z|{{||z|zzz{{z|{{{{|{|{zzzz{zz{{{{{||{zyzz{z{z{{|{{{|{{zzzzz{zz{{||z|{{{{z{z{{}{|{{{|z{zz{{{zzz{z{||{}{{{{{{|{{|{|{|{|{{{{{{y{{||{||}{{{{{{{{{||{||{{{{{z{z{|{{{|{|||{{||z{||{{{|||{||{{{{|{||{||||||}|{z||{{{{|{|{{{|{z{{{|z||{{||}||{{{{|{{{{|{{|{|{|{zzzz{{{|{||{|{{{y{{{{z|{{{{{|{{{{z{{{z{{||z~}{{|{{{{|{||{{|}{||||{|{|{{{}}||||||{z{{{z{z{{|||||zzz{{{z{|{|{z||z{{{zzzz{|{|{{{|{{{zz{{z{|{{z|{zz{{z{{zz|{|{{|{{{{{zzzz{||{{{{{{zzz{z{yz{{{|{{|{{z{{z{z{{{{z{{|{z{zzzz{{{{{{{{|{{|{zzz{zz{|{{zz{{{zz{{y{|{z|{{{z{z{{{{zz{{z{||{{{{{{{zy{{|{zz{|{zz{{{zz{{{{{{{{|{{{{yz{{z{{{z|{z{z{{zz{z{{|{||||{{{zz{zz{{{|{{{{{{|{{{{z{||{{{|{|z{{z{{z{{||||{|z{{{{{|{{{{|||}{{z{{|z{z|||{}||{{|{|{{{{{||{|{|||z{{{{|{|}|||||||z{z{||{|||}|||{{{{z{{{{}||||||{|{{{{{{||{||{|{}z{|z{{{{||||||||{{{{z{{{z{||{|}||{zz{{{z{||||{||{{{zz{{{{|{{|||||z||{z{{{||{}{{{|{{{|{{{{{|{||{|{z{{{{|z||{{|z|{{z{z{zz{{{{{|||z{{zzz{{z{{|{{{|{{{|z{{zz{{{{z|z{{{{{z{{z{z|z{zz{{zzzzzzz{z|{{z{{{zzzzzzzz{|{{|{z{{zyzzyz{z|{||{{yz{zz{zz{{{{|{{{{zzz{z{zz{{{{|{|{{zz{{z{z{{{z{|{zz{z{z{zz{z|{{||{{{z{zzy{{{|{z{{z{z{{{zz{{{|{|{|{z{zzzz{||{{{{z{{{z{{yz{z{{{{|z|{z{{|{{z|{{{{{}{{{{{{{zz{{{{{{{|{{{z{z{{{{{||{|{z{z|{|{z{{{}z{{|{{{z{{y{||{|{||||{{{{z{{{|{{{|||{z{zz|{{{{||||{}{z||{|z{{{|}}{|{|{{{z{|{}{{{|{{||{{z{{{{z|{z||||{{{z{{{|{|{||{{{{{{{z{{{{z{||{|||{{z{{{{z{||||||{{zzzz{{zz||{|||{||||{{{}|||}||}||z|z{{{||}{|||{|zzz|{{z|{|{|{|{{z{|zzz{{{{|{{|{{zzz{z{z{{{{{{{{{z{z|{{z{{|{{{|{{{z{{z{z{z|{{{||{{z{zz{{{{{|{||{zy{{zzz{zz{{{{|z{{z{{zzzz{{{{{|z{{{zzy{{{{|z{{{{{{z{yz{zzz{{{{|{{zzyz{{zz{z{{|{{{zzz{{{zz|{{||{|{z{z{{z{{{{z{{||{{{{{z{z||{{{{{{{z{z{{{{{{|{||{|{{z{|y{{{||{||{{{z{|zz{{zz{z{|{{|{{{{{{z||{|{}{{|{{|{{{z{||{|{|{z{|{|{|{|{{}|||}{{{{|{{z{|||||||{{|zz|{{||{|{|||{{|z||{|{{}{||}|{{z|{{{{|}|{{{{||{{{{zz{|||{||||{{z|{z{{||{||||}{||||{z|{|{|{}||||{z{{{zz||{||}|||{{|{{{z{{|||z|{{|yz{{z{{{{|||{||{{{{{{|}||{{||{}{|{z{z|{{{}}|}{zz{{zzz{|{{||||{{{{{z{{|{{|{|{}{{y{z{zy||{|||||{{zzzz{{z|{{{{{z{{{z{{z{{{|z{{{{{{|zz{z{|{z|z|{{z{yzz{{z{{{{{{{{{{z{{zzz{{|{{{{{{{{{{{{z{z{{{{{{{{zz{z{zz{{{{{{z|{|{z|zz{{{|{{||{{{zzzz{{{z{z|{|{{{zzz{{|{|{{{||zz|{{z{{|{{{{{{|{|{z{z{{||{{{|||{|{{{z{zz{{||{{{|{|{zz{{{|||{{{{{z{{{z{{{{{z{||{{{{z|{{{{|{{|{||{||{{{|{|{{|{|||{{{{{{z{z||{|{||{{{{{{{z|||{{|{||{{{|||{|{||||||{{{{{}{|||||{{|||{{{{z|{|{|{{||||z{{{{z{||||{{{||{y{{{z{||{{}{||{{{{z{{{{|{{|||{{|z{z{{{{|{|{{{{{zzzzz{{|||{|{{{{|{{{{{|{{|{|}}}|z{{zz{{z{||{||{|{{z{zy{z{z||||{|{z{z{zz{z{{{{|||{{y{zzy||{{{||{z{{{{{zy{{{{z{{z{{{z{yz|{|{zz{{{{zzy{|{zy{z{{{{{zz{zzzzzzz{{{z{z{zzzzzz{{{z{{|||{z{{y{zzz{zy{||{{{y{|z{{z{{zz{{|{zz{zzz{{{yz{|{{{z{z{zzzz{{{{{{{zzz{zz{{{{{zz{{|z{|{{{{z{z{z||{|{{{zzzzz{|{{{}||{{{{zz{z{{{|{|{{{zz{{zzz{{||{|{z{{z{{{{{{{||{|z|{{{z{{{{{||}|||{{{z{zz{{{{{{{{|}|{{{{{{z|||{|{z{zzz{{z{{{||{||||{{{zz{||z{{{|{|||z{{{{{|z|{{|}|||z{{z{{{{||{{{|||{z{{{{{|}|{{{{}{{z{|{z|{|{||||}z{y{zzzzz|{{|||{{{z{{zzz{{{|{||{{z{{zzzzz{|{{|||{|{{z||z||{|{||}{}{{|z{{{||{|{}|{z{zz{{z{|{{{|||{z{{zz{{{{|{{{{{{{zzz{{z{{{|{|{|{|zz{{{z{{{y{|{{z{z{zz{{z{{{{{|{zz{{{{z{{{{{{{|zz{z{zzzzz{{{{{{{{{zz{{zz|{||{{||{{{zzz{z{{{{|{|{{{zz{{z{{{zz|z{|z{{z{{{z{{{{{{z{{z{zz{z{{{|{{{|z|z{z{{zz{{||z{||zz{z{z{{{{{z{{|{zz{{yzz{{||z{{|||{z{{{{{z|{{{}|{z{{{z{{{{}{|{{{|{z{z|z{{{{}{{{{{{{||{z|{|||||{{|{{{{{{{|||{|{|||{||{{{{{|{||}|||{{{|{{{z|}|{{{|}z{{|{{{{{||{}{|||{|z{{{zz|||||||{{||{{{||||}||{{{{{z|{{{||{|}||{}{{{|z{{||{{{}||{{|z{{z{||z|{||{{{{{{z{z||{{{|{{{{z{{{{{|z||{}||{|{{z{{z||}|||}||{{{{z{z||{|{||{z|{{{{{z{|{{||{{{{{{{zzz||{|{z|}{{zzz{{{{{{{|{||{{{{zzzzz{{zz{{zz{z{{{zzzz{{{|{|z{{zzzz{{zz{{{{|zzzz{yzz{{{{z{|{z{{zzzzz{{{z|{||z{z{z{zz{z{||{|{{{z{{z{{{zz{{{{{{zzzzz{{z{zz{{z{{zzzz{zz|{{{{z{|{zz{{zz{{|{{{||zzz{{z{{z{{|{{{|{{{{{zzz|||{{|||||{{zz{{{||{|||{|z{{zz{{z{{|{z||{z{z{{yz{{z||{||{{{{|{z{{|{||{||{{{{z{|{{||{||{}|{||{{zz{{z{||{||{z{z{{{{{|{{{||{{{{z{{|{{}{||||||{{{{|z{{}|{|||||{{{zz|z{||}{||}|z{{{{{||{|||||{{{{{z{z{z{|}{||}{{|{{{{{{|z|{|{||{{|z{|z{{{||{|}{{z{||{z{|||{}}}z||z{{{|{{|{||||||{z{{{{{{|{{|{||{{z{{{z{|{{{|||{{z{yzzz{{{|{{{{{{{{zzzzz{{{{{{{{{{zz{{{z{{z{|{{{|zz{{{|{{|{{{|{{{zzzzz{|{{z{|{{{yzz{z{zz{{{{||{zz{yzzzz{{{{{|{{{z{{yzzzz{{|{{{{{zzzy{yzzz{{{{{{{zz{{zzyzzzz{||zzy{{z|{yz{{z{{{z{y{zzz{z{z{zz{{|zz{zzz{z{{{z{{{|{{{z{zz{|{{z|||{z{{{{zzzz{{{{{|{{{zz{z{z{{||{{|{{z{{zz{{||{{{}|{|{zz|{zz{|||||{{zz{{{{{{{|{|{|||{z|{|z{{{{|||{{{|{z|z{z{|{||{{}{{{{z{{{{{{z||||||{{{z{|{|||||{||{{{{{||||{|||||||{|{{{yz{|{|||||{z{{|{{z|||{}{{||{z{{{{{{{{{{{|{|{{{y{{{{|{||{||{|{z{{{{|{|{{}{{}{z||{{||{|{||||z|zz{{zz{{{{{||z|{zzz{zz{|{{|{|{{zzzzzy{{{||{{|{{{{zzzz{{{z{{|zzzz{yz{{z{{{{{z{{{{z{z{zz{{{z{z{{{{{zyz{z{{{|{z{zz{zzzzzz{z{{z{{{zzzzzzzz|z{{{{{|zy{{yyz{{|z|z{{{z{{{zyzzz{{zz{z{{{{zzzzzy{zz{{z|{z{{zzyy{z{|{{||z{{{{zzz{{|z{{{{{zzzz{{z{{{{||{{zzzzzz{|{{{{z||{{{{z{z{{|{||{{{|{{z{{{{{{|z{z{{{zz{zz{{{{{{|{||{|{z{{{zz{{|{{{{z{{{{{z{{|{{}|{|||{{{{z{{|{|{{{{{{zz{{z{z{{|{{|{}{{{zzz{{{|{{|{{||{|zz||{||{|{{||{z{{z|{{{{{{|{|||{zz{z{|{|{|{{{}{{{{{{zz{}z|{{|}{{{{{{{{{|{{|{{{|{{{{{{{{{{{{{{{zzzzz{{{{z{{z||{{{z{z{zz{||{{{{}{{{z{z|z{{{{{|{|{{zzz{{z{{{z|||{|{zzzz{{{{|{|{{|{zzz{zz{{z{|{||{{z{zz{zzzz|z{|{{{z{z{{zz{|{{zz|{{{z{z{z{{zzz|{{{zz{z{zzz{{{|z|||zzz{y{z{{{{|{{{{z{{{z{{z{{z|{||{{z{{zzzzy{{zz{z|{zzz{zz{{z{z{|||{z{zz{zy{{|{zz|{{{zzz{z{{{{z{z{{{{z{zxzz|{{{{{||{zz{zzyz{{}{{{{|zz{zzz{{{{{{|||{{z{zz{z{{{{{|||{z{z|z{{{|{|{{{|{{|zz{{{|{{||{{||{{{{|{{{{|z}{{||{{{|{z{{||||||}{}z{{z{{{||{{||||{|z{{{{{{{|{}||||{{{z||z{|{||{|||z{{{{zz{{}||||{{{{{|{{z{|{{{||}|{|{{{{{{{||||{|{{zz{{z{{|{|||}}{{z{z{|z{|{||{{{{{{yz{{z{z{{{|||{z|{{z{{|}{{{|{||{z|{z{z{|{|{||{|{{{z{{{|{{|{{||{{{zz|zz{{||{{{{|{yz{z{z{|{{{{{|{z{{z{zzz{{{z{{{{z{{{{zz|{{{{|{{{z{{z{z{{{{{{|{{{{{zz{{{{z{|z{{{{{{{{zz{{{z||{z|{{{zz{zz{zz{z||{{{z{{z{z{{{zz{{{|{yzzzz{{{{{||{{zz{{{z{z{{{{{{{{|zzzzz{zz|{{{{z|{zzz{{{z||{{{||{{{z{y{z{|{|{|||{{{{{zz{{{{{||{||{{zz{z{{{{|{{||{{{{z{{{{|||{{||{{z{{|{{z}{{{{|{|{{{{|{{{{|{|}|{{{|z{{{{z||||||}|{||{z{{{{{{|||}}{z{{|||{||{||||||{|{|{{{{}|{|{|}z{|{|{{{{||}|||}|{{z{{zz{{{|{{|{||{{{|{{||||}|}}z{zzz{{|{|||||}{{{zz{z{z{|||||}||z{{{{zz|{{{{}||{{{|{zz{|||{|{|{|||{{{{{{||||{||{{{z{{{{{{|{{{{z}{{{zzz{{{{{{{{|{{z{zyzz{|{{{|{|{{zz{z{{{|{{|{{||z{{{{zz{{{{{|{{{{zz{zzy{z{|z|z|{zz{{z{zzz|{|{{{{{{{zzzz{{{{|{|{{{|{zzz{z{{{{|{{{{z{{y{z{{{{{{z|{{{y{zzzz{{{{{|{z{{{{{z{{{{{{||{z{{{|z|{{||{z{|{{zzzz{|z{{|{{{z{{{{z{z{z{{{||{{||{|{|z|z{{|{{|{{{z{zz{z|||{{|{{{{zz{zzz{{|{{|{z|{z{z{|z{|{|||||}{{z{{{{{{|{||||}{{|{{zz{{}|{|||{|{{{{{zz|||{{||||{|zz{|{{{{|||||}{{|{{z|{|{||||}z}{{zz{|||||||||{z{{{{{|{{{|{|}}|{{z{{{{{||}|{||{z{{{|{{|{{{{||||{z{zz{z{}|||{||{{{z{zzz{|{{{|{|{{z{z{{{{|{||{|||{||z{{z{{{|||}|{z|zzzz{{|zz|||||{{zy{{z|{{{{|||{{{z{{zz{z{{z|{{zz{{{{zz{{{{z{{{{z{zzzz{{{{{{{{|{zz{z{{yz|{{z{{{{zzzzz{{z{{{{{{|zzzzzzzzz{{{{{{{{yzzz{zz{{z{|z|z{zyzzz{{z{{zz{{{{zzzzz{zz|zz{|{{{z{z{{{y{||{{{|{{{zz{zzz|{{|z{|{{{zzzz{{z||{z{{{yzzz{z{z{|{{{{{{zz{y|z{{{|||{{{|{z{z{{{{{|{|{{}|{{{{{z{{|{{zz|{{{{z{|{zz{|||{|{|z|{{{z{{{{{}{{|}|zz{z{zz{{}{{{|{{y{{z{{{{|||{{|{{{z{z||z{{{|{|{{|{z{{{{|||||{||||{z{{{{{|{{||{|{{{{{{{{{{||{||{||zz{|{{||{|{||||{z{{z{{z{|{}{||||{{|z{{|{{{||{}|{{{zz{z{|{||z}{{||z{{|{z{{{{{{|}z{{{{z{{||||||||{{z{{{{z|{{{{{z||{zz{{zz{{{|{z{|{{{zz{{z{z{{{{|{|zz{{z{y{|}{z|||{z{z{{zzz||{z{|{{zz{z{zz{{{|{{{{zz{{{zzz{||{{||{z{{{yzzz{z{{|{{{{{z{zzzz{|{|}{||{z{{zz{zz|{{{{{|z{{zzz{{z{{{{|{{z{z{z{{{{|z{{{{{{zzz{{{{z{|{z{{{{{{z{z{{{{{{|{||z|{zz{{{{{|}||{{{{{{{{{{{|{||{{{{||{{{z{{|||{|||{z{|z{{|||{{||{||{z|{{z{{|||||{|{{||{z{{{{{||||||{{{{{{z|{|{||}{{{{z{{{z{|{}||||{|z{{||{||{|||}||||z{{{z{}|||||||{{||{{{{{}|{||{|z{{|{{{||{||||||{{{{{{{||{|||||{{z{|{z{{z|{||||{|}|z{{{z||||{{|{{{{{{{{{||{{{|}|z{|{{{{{|||{|||{{{z{zz{|{|{}{{|{zzzzzz{{|{{|{|{{zzz{{{y{{{{{{|{{{|{zz{z{{|{{|{|zz{{zz|{{{|{z|{{{{{z{{zz{|{||{zz{{{yyzz{y{{{{{z{zz{zzzx{{{{{{z{{z{{zzzzz{{{{{{|{zz{y{z{zz{zz{{||{{z{yzzyz{{z{{|{z{zzz{{{z|{{z|{z{{zz{{{zz{{|{{||{{{|z{z{|{{{z{|{{z{{zy{z{{z{{|{|{z{z{zzz{{{{{{|{zz{{{y{z|{{{|{|{|{{z}{z{{|{|{||{{{{{|z|{|{|{|||{{{|zz{{{{|{||||{{|{{||{z{|{|||||{z{{{{{|{{}|||{||{{zzz{||{{||}{{{{{{{||{|{||||{{}{{{{{{|{|{|||||||z{{z{||{{{{|||{|{|z{{|{|||{||{{{{z|{{{||{|||||{{{{{{{|{||{z|}|{{z{{{{z{{|||{{}{{|z{zzzz{{{{}{||{{{z{{{{||{{|{|{|{z{zzz{||{|||{{|{{{z{z{|||{{||{{zzz{z{{{{|{{||{{{{{{zz{|{{{{{|{z{z{zzz{{|{z{{{{z{{{{{z{{{z{{{{zz{{y{zz{{{{{{|{{zz{{z{{{{{{{{{{{{|{{zzz{||{|{{{zz{z{z{z{|z{{|||{{zzzzzz|{{z{{{{{{zz{zz{z{{zz||{{{{z{{zz{{{{{||{{zzz{z{{z|{{{}{|{{zz{{z{|{{{{{|{{{{{z{zz{|{{{|||{{|{{{{{|{|{{||{z|{z{{zz{{|{{{|{|z{{{{{||{|{|||||{z{{z{|{||{|{{{|{{{z|{z||{{||}}|z|{{{{z{|{{||{|}z{{|{{{{}{{||}|{{zz{{|{{|{||{|z{|{{|z|{|}|}|}|||{{{|{{|{|{{{||||||z{z{{{|{{||}||{{z|{{||{|{|{{{{z{z{zzz{|{|||||{{{zz{z{{{{{{|{|{{{z{z{z{{||{|||{{{{{{|z}||{{{||{z{{{{zz{z{{}|z||{zz{z{z{{{{{|{|{{{{zzy{{{{{z{||{{zzzzzy{|zzz|||z{{{zzzz{{z{z|||{z{{{{z{{z|z{{{{{y{z{zzz{{{{z{{{zzzz{zz{{{{{{|||z{zzzzz{z{|z{{{|{{zyz{z{zzz|{{{{{{zz{z{yz{{z{|{{z{{z|yzzz{{{{z{z{{{yzz{z{{{{{||{{{{z|zzzzz|{{{|{{zz{{z{z|{|{z|{|{{{zzzyz{||{{|{||{{z{z{zz{{{{|{z{z{zzzzz||{{{{|{z{{{zzzz{{{|{|{{{z{{|{{{{{|{||{{{zz{zz{|||||||{{|z{{{{zy||{|{||{{z{{|z{z|{}{{|||{|{z{{|{{{|||{|}|{{{z||{{|z{}|||{z{{{{{{||{}|||{|{{{zz{{{{{|||}||z{{|{{||{{{||||{|zz{{{{{{|{{||{|{{zz{{z{|{}{|{|{{{{z{{z|{|{{}{{{{{{{|z{{||{{{||||z{{yz{{{|z{|{{{zz{{z{z{{{{{|{{z{{zz{{z|{{zz{{{zy{z{{yzz{{{{|{|z{z{zz{z{{|{{z||zzzzy{zz{z{zz{zzzz{zz{zz{{{zz{{|zz{zzzzz{{{zzz{{{zzzzzyzz{{{{{{|{zzzzzyz{{{zz{|{{{zzzzzy{zzz{{zzz|{{zz{zz{z{{|z|z{zzz{zyz{{{{{|{zzzz{zzzz|{{{{{{zz{{zz{z|z{{{{|{z{{zz{zzzz|{{z|{{z{{zzzzz{{|{{{|zz{zz{z{|{{{{{|{z{zzz{zz{z{z{{|{|{zz{{{{|{{||{{{{{zzzz{{{|{{||||z{z{z{y{{||||{{{|z{{{{zz{|{{||||{{{{|||z{|{|}|{|{{{{{|{{{|{|||||{{{{{|{{{{|{{|{|{zz{{{{|{{|{{||{|{z{|zz{{{|{{|{{{{{zz{{{{||{{}|{{z{{z{{zz{{{{|{|{{zzzzzz{z{{{{{|{{{y{z{{{||||}{|z{zz{{{{{{{|z{|{z{{zzz{{z|{{{||{zzz{{{{{{{{{{{||{{zz{zzz{z{{{|{{zy|z{{zz{{{{z|{{{z{z{zzz{{|{{z{{{{zyy{z{zzz{z{{{zyzyz{z{{{z{z||z{zzzz|yy{y{z{z|{zz{{{zyz{|{z{{{{{y{zzz{zzz{y{{||{zzzzzzzz|yz{|{|z{zz{z{z{z{z{{{{z{{{{z{zz{z{{{{|zz{z{z{z{|{{{{{{{zzzyz{z{{{{z||{zz{z{zz{{||z{|{|{{zzz{{{{{|{|{|{{y{{{|{z{{|z{}|{{{{{zzzz{|{|||}{{{z{|z{{{{{{{|{{zz{{zz|z{|||{||||zz{|z{z||{|{{||{{{z{|{{|{{{|{||}{{|||{{{{||{||||{{|zz{{{{||{{|{||{{{|{{|{|||||||{{{{{z{{}{|||{{{z{{{{{{{{{{{{|{{|{{z|{{{|||{|{|{z{{{zz{z|{{z{{|z{z{{{{{{{}{{{z|||{{{zz{{{||{}{|{{{{{|z{|{{{{{||zzzz{{{{{{{{|z|{{{{{zzzz{{{{{|{||z|{z{zyz{{{z{|{{z{{zzzzzz{{{{{{z{zzz{zz{{{{|{{zz{zzzyzzz{{zz{|{zzzzyzzz{{{z{{|{|z{{yz{z|{{{zz{zzzzzzzz{{{{zy{z{{{zzz{z{z{z{{|{{{z{{z{{z{zz{{{{{zzz{zzzz{zz{z{{{{z{zzz{{|{{z{{{|z{{zzz{zz|{z{{{zz{{z{zzzz{{|{{{{z{{zzzz{{{{{{{{{{z{|zzz{{{|{z{{||{|z{{{z{{{|{||{{zz{{{z|{|{|{||}{zz|{z{{{|{|{}||{{{|zz{{{|{|{|||{z{{{{{{{{{|{|{|{{{{{{{|||||||{{{{{{{{|{|{|{||{|{{{{{{||{{{{{{|||{{z|z{{|{|{z|||z{{{zzz{{||{{{||{|{zzz{z|{{{{{{{z{{{{y|y{|{|{{{|zz{z{|{{{||{|{{{{{{|zzzz{{|{|{{|{{zz{{{{{{{{{{|{|{z{{{z{{{{z{{||{{{zz{yyz|{{z|{|zz{zzzzz{{z{|z{{yzz{yzz{{{|{z|{{{{z{z{zz{{{zz{{z{zzzzz{y{{{z{|{zz{zzzz{zzzz{{{{{zz{{y{zz{{z{z{|zzzzz{zzz{|{z{{{{{z{yzz{{zz{|z|{{z{{zz{zyz|z{{||zzzzzz{{z{{{{|{{|{yzzzz{{{{{|{{z{zzz{{zzz{{{{|{{{{{{{{{{{z|{|z{{{zz{{{z{||{|{|{}{zzz{{zzz{||zz||{|z{z|z{z||{{|{{{z{{{z{{z|{{{{{||{{{{{zz{{|{||{|{|{z{|{zz|||{{|{|{{z{{{|{{||||||{{|{{{{z{{{|{{{}||{{{{{z{|||{{|{||{z{{{{{z{|{{||||zz{{{{{{{|{{}{|zz{{{{{z{|z{{||}|z{z{{{z{|{||||{{z{z{z{{z{|{{{||{|{z{z{z{||{z{}}{|{{{{zz|{{{||{{{{{zzzz{||{{|{|||zzzzzz{z{{{{{{{{{{zzzzy{|{{{{{|{{z{z{zzz{{z{z|{|{{zzzz{{{{zz|{z{zzzzzzyzz{{|{z{z{yzzzz{{{{{|{{{yzzzyzzz{{|z|{{z{{{zz{zyy{|{{{{{zzz{{zzyzz{{{||{z|z{zzzzz||{z{|{{z{zz{{y{{{{{}{|{z{{{z{z{{{{|{z|{z{|{z{{{{{{|||{|z{y{{{z|z|{{{|{z{{{{y{y{|{{|{|{|z{{{zzz{{|{|{{{|zzz{zz{{}{z{|{{{{{z{zz{|{||{{|{{{{{|{{{{|{|{|||{{{{{{{z{|}||{}{|{{{|{{z|||}|{|{|z{{{|{{{{{}|{|||z{{{|z{|{|{{||{{z{{z|z{{{|{|{|{{{||z{|{||{||{}|{{{{{z{||{{|||||{{zz{{{|{{z|{{{{{z{zz{zz|{{|{|{{{z{{{zz{{{|{{{|{|{zzz{{z{|{|{{||{{zz{{z{{z|{||{|{|{{{z{{|{|{{{{|{z{{{zzzz{{|{z{{{z{zy{z{{{{||{{|z{{zzzzz{zz{{{{zz{zzzzz{{|{{z{z{zz{zz{{zz{{{{z{|zzz{zz{{z{{z{||zzy{zyzyz{z{{|{{{{{{z{zzyz|z{|{{{z{z{zzzzz{{{|{z|yz{zzz{z{{z{{|{{{yzzzz{{{{{{{{{|{z{z{yzz{|{{{{|{{{zz{{|{{{{{{{{{z|{zzzzzz{}{{{{{{zzz{{{{{|z{{{{{zz{{{zzz|||{{{}{{{{{zzz{|||{z|{z{{{y{z{{{|{|||||z{|{{{{{{||||||||{|{{z{{{||||{z|{z{{||{{|||||{}|{{{{|{{z{{{{|{{|}z{{{{z{{{||||{||{{{zz|{||{{|}|{||{{|{{{z|{||||}{{z{{{{|}{|{||||||zz{{{{|{{||||{{{{{z{{{{{||{{|}{z|zzz{z{{{{|{{||{|{{{zz{||{{{||||z{{{{z{{{{||{|{{{z{{z{{{{{{{{|{yzyz{zz{{{{{z|{{{{zz{{z{z{{z|{{zz{{z{zz{{{{{|{{zz{{{yz{{{zzz{|z{zz{z{z{{z{z{|{{z{zzzzzz{{{|{{{{zzzzz{yy{{{|{{{|zzzzzz{{z||{{z{{z{z{z{yyz{{{z{|{{{zz{{zzz{{z{|{{zz{z{{yz{{{{{{|{{z{{{yz{|{{|z|{|{z{z{z{z{{{{{{{|z{{z{zz{|{{{z{||{{{z{z{z{||{{{{|{z{z{zz{|{{|{|}{z|y{zzz{{{{{{}|{z{z{{{z{{{|}|{|{{|y{z{{{|{||{{||{{{{zzzz|{{||||||{||||{||||{||||z{{|z{{|{|{|{||||{{|z|{{|}{||}||{{{|{{{{|{|||||{|zzz{zz{|}{}{|||{z{|{z{{{|{||||{{||z{|{|{{{||{|{{{|||z{{z|{|{z{{{|{z{|{z{{|{{|{|{zz{zz{{{|{{{|{|z|{zz{z{{z{{{|{{{z{z{|z{{{{{|z|{{{{z{zzzz{{{{z{{z{{zyz{z|{{{||{|{z|{yz{zz{{z{{{{{z{zzzz{z{{{{|{{{zzyzyy{zz{|{|{|zyzz{yzz{{z{{{{z{zz{zyyz{{{{{z{z{zzzzzzzzz{{||{z{{zzzz{zz{{{zz{{z{{zy{yzzz{{z{{zz{{z{{{{|{{{{|{{z{{{{z{z{{{z{{{{z{{{{z{{{{z{{|{{{{zzzz{z{{|{{{||zzz{{y{zz{z||{{{{z{{z{{{{{{{{{|{{{z{z{{{{{}z{|{{}{z{{{z{|||{{{{{{{{z{{|z|{||{{|||{{zz{{{{{{||||{|z{{{z{{||{|{|||{{zzz{|z{|{{{{{||{{{z|{{{|{}|||{{{{|{{{||{{|||{|{{{{{z{|{{{{{{|||{z||{z{||||||||{z{{{{{z{|||{|}{{z{{{zz{{|{|{{||{{yz{zzy|{}{{|{|{{z{z{{{{|}{{z|{{z{z{z{{{zz{{{|{{{zzz{|z{{z{{|||{{z{{zyz|{{{||{||{{zzzz{{{{{z|||{zz{z{{zy{{{{||{{z{yz{{zz{{{{{z{{{zz{z{z{|z{z{{{zzzzzzzzz{{{{{|{{z{zz{zzz{{{{z{{zzz{z{{z{{|{z{{|y{zzzz{{{{zz{z{|zzyzzz{zzz{{z{|{y{{z{zz|{{{z{|{{{{{z{zy{z{{{}{{{{z{{zz{z{{|{{z||{{zz{zy{{z|{{{{{{zz{z{z{{|z{{|{|z{{{{z{{{|{{{{|{{zz|{{z{{{{z{{|{{|zz{{{{{{|||{{{{z{z{{{z||||||||{{z|{|{z{{}{|{}||z{|{{{{{{|{{|{|{{{zz|{{|{|z||{||z|{z|{{z}{||{|||z{|{{|z|{}{||||||{{{{||{{{||||||z{z{{{{z{||||||z{{z{zz{||{{||}{|{z{z{z{z|{|{{||zz{{zzzyz{{{{|||z{{{z{zz{||{{{{|{{{{{zzz|{|{|{{||{{{{zzz{{|z||{{yzzz{zzzz{{zz{|{{z{zzzzz{{{|{{z{zz{{{z{z{{{z{{|{{{zy{zzyzz{|zz{{{zz{y{z{{{y{z{z{{zzzzz{z{{z{{{{{{zy{yzzzzz{{{z{{{zzzy{{z{{{zz{|{{zzzzzzzz{z{{{|{z{zzzzzzzzz{z{{{zz{z{zzz{z{{{{|{zzzzzzz{{{zz{{{|{zzyz{z{|z{z{}{{{|z{z{z{{z{|{{|zzz{z{z{z{{{{{|{{{z{z{yz{{|{{{||{z{zzz{{z{{{{{{{{z{{z{{{{||{{{|||{z{z{z|{{{{{z{|{|z{{z{zz|{||{|{{{{{{{{{{||{{||}|{zz{|z{{|||{|||||z{{{{|{{|||}|||{z{|z{z{{|{{|{||{z{{{{{|{{{{|{||{{{{{{{{{|{{{|}|{{{zz{z{{||{|{|{z{{|{zzzz{{|{|{{|{{zz{{{{{{z{{{{z{{{{z{zz||z{z|{{{z|{zzz{{{{{{{{{z{yzzzz{{{{||{{{z{zzz{zy{{|z|z{{zzzyzz{|{|z{{{{z{{zz{{{zz{{z{zzzzz{zzzzz{{{z{{{z{zzyzz{|{z{{{{{zzxzzz{z{{z{z{{{zyz{zzz{{z{{z{{|y{zzyzz{z{{z{z{{{yz{zy{{y{zz{{|{zz{z{zzzzzz{z|{{zzz{z{z{z{{{{|{{z{zz{yzzz|{{z||zzyz{{yz{{{{{|{{|zz{z{{{z{z}{{|{|zyzzzzzzz|{{|||zzzz{{zzy{{{z{||{{zz{{{{{{|{{zz{{z{{{{|{z{{{|{{{{{z{{{{{{z|{{{||{{zz{{{zz{|{|{|z{{z{z{z{z{|{{{||||z{{{{|{{}{{|||||{|{{z{{{|{{|}|{{{|{|{{|}||{{{|{{z{z{z{{{|{|{{{||{{z{{z{{{{z|{{|{z{{{{{z{|zz{{|{{{zzz{{z{{|{{||{z{{{z{{{z{{{z|z|{{z{zzzzz|{{{||{z{|||zz||{{{z{||{zz{z{{zz{{||||{zz{zzyy{{{{{{{|{{zzzzyzz{{|{z{{|{y{{zz{z{{{z{{{{|{{zzzzy{{zzz{|{yz{zyz{{yyz{z|{{yy{{{yzzzz{{{{|{zzzzyzzz{z{{{z{{z{z{yz{z{{{{z{{{{zzzzzzy{{{{{|z{zz{z{{y{zzz{{{{zzz{z{{zzzzzz{{{z{zzzzz{z{{{{||{|{yzy{{yz{zz{{{{{zz{{y{{z|{{|{{{{zz{{{y{z{{{{{{|{z{{{z{{{{{{{{|{zz{{z{zz{z|{{{|{{{{zy{|z{z{||{|||z{z{{{|{|{|{{||||{{{{{zz{{|{|{|{{{{z{{{{||{|||||{{z{|{{{|z}|{||{|{{{{|||{|z||||||{{{{{{{}{{{{||||{z{{{{{|||{|{|}{|{{{{{|z|{|{|{|{{{zzzzzz{{{{||{{{zzzz{z{|{{{||{{|zyz{{{{{{{{{z{{zyz{zzyz{z{z||{zyzz{{{{{z{{|{{|{zyzz{{z|{{{{{{z{zzz{zyz{zz|{z{{{zyzyyzz{{{{z{||{z{z{yz{{{{{{{z{{zzzzzzz{{{z{zz{{y{{z{zzz|z{{{{|zzzzzyyzz{y{{{|{zz{zzyy{{z{{{|z{{yz{yzyzz{{{{|{z{zyz{yzz{{{{{z{|z{zyzzyzz{{{|||{zz{z{zyzzz{z{{{{z{zzzzzzz{{|{{{|{z{zzzzzz{{{{|{|z{zzzyz{|{{{{{{|{zz{{z{zzz{z|{||z{z{zzzz{z{z{{{{{{{{{zz{{{|zz{z{zy{z{{{{{z|{{|||{zzzz{{{{||{|{{{{zz{{zzzz||{{|{||{{{{{|{{{{{||||{z{{{{{{{{||{|{{|{z{{{{{{|{{{{|}|z{|zz{z{|{|||{|{z{{{zz{{|{|{|{||z{{{|z{{|{{||{|{{{{{}{{z{{|{{{{|{zz{z{{{{{{{|{{|z{zzyz{|{{{{|{|{z|zz{z{z|z|z||{{{{{{{{{|||z|{{{z{{zz{yz|{z{|{z{{z{z{zzz{{{z{{|{zzzzz{{y{{{{{{{{{{zz{{zy{{z|zz{zz{{{zzzz{{{zz|zy{zzz{{z{zzz{{{{zzzzzzzzzz{z{{{{{{z{zzzz{{{||{{|{{zz{yzzzz{z{{|{{{{zzzz{yy{zzz{z{zzzyzzyzz|zz{{z{yzzzzzzz{{z|{{{zz{z{{z{z{{zz{|{{zyz|zz{{{{{z{{|{{{{|z{z{{{{{|{z|{{z|{z{{z{{{|||{|zyz{{z{{{|{{{|{{{z{{zzz{{{||{{|{{||{z{{{|||{||{|{zz{{|{{{{|||||{{{{z{|{}}{||||{}z{{{zz{{|{|{|||{z{{z{||{}{{{{}|{{{{{|z{{||{}{|||z{{{z{{{||{|{{{|z{z{z{|{{{{|z{{{z{{{{z{{{{|{|{||zz{|z{{||{z{|||{||{z{{z{{{{{|{{{z{{zz|{{|{{{|{{{zy{zzzz{}{{{|||{{z{{{{z{{{{{||{|zzzzz{y|{{{z{{|{{zzzzzz{{||{|{{zzzzz{zz|{|{z{{{z{{zzz{{z{{{{{{{zzzz{zzzz{zzz|{zz{{yyzzz{zz{zz{{zzzz{z{zz{{zz|zzzzzz{{zzz{{z{{{{{y{zzzzzz{z|{|{{zzzz{z{zzzz{z{{|zzzy{zz{z{{{z|zzyzz{{{zz|{z{{z{{{zzzzzz{{{{z{z{{{zzzyzz{{{{{{{{{zz{zzzzz{{z{{{{|zz{z{zz{{{|{{|||zz|z{zzz{{|{{{||zzz{{{z{||{{{|{{{{{{{z{{{|||||||zz|z{||{{{{|{||||z{{{zz{{||||{|{{{z{zz{|{||||{|{{{{z{{{{{{|{|{{{|||{{{|{|||||||||{{{|z{{{|{{|||||{z{{{{{|{|||{||{{{{|{zz|{|||{{{|{{zz{zz{||{{||{|zy{zz{{{|{|{{|{z{{z{z{z{{|{{{z{{{|{zz{{z{|z{z|{{{{z{zzz{|{|||||{z{z{z{{|{|{{||{{z{zz{z{z{|{z{||zz{{zzzy{{|{{|{{{{z{{{{{z{{{{{z{z{{{{zzzzz{{z|{zzzy{z{{{|zzz{{{|{z{y{zz{z{{z{{{|{z{{z{zzz{{z{{z{zzz{zzzzzz{|{{{|{{z{{yzyz{{{|{{{z{zyyyzzz{zz|z{zzz{{z{{y{{{{{||{{z{zyzzz|z{{{{{|zz{{yz||{{{{|{{{zz{zzzz{{{{{||{|z{{{{z{{{{z{||{z{{zz{zzz|||{|{}{{{|z{zzz||{{|{|{{{{zz{{{{{|{|||}z{zzzz||{{|||}||z{{{z{{{{||{{{|{{{{{{|z{}{|{|}||{|zz|z{|{|||{}{||z{{{{z||{}}|{|{|z{{|{{{{||}||}|{{{z{{{{|{{{|{|||z|{{{z{|||{{||}{{{z{{z{{|{{{{||{{{|||{z{{{|{|||{{{z{{{{{{|{{{{{{z{{{z{z{|{|{{}{|{z{{zzzz{{|{z{|{zz{z{zz{{{|{{{{{{z{zzy{{|{{{{|zz{zz{zzz{{{{{{{{{zzz{zz{{{|{zz|{z{{z{{y{{{|{z|{|{zzzz{z{z{{{{{{{zzzzzzzzzz{{{{{{zzzzzzz{z{{{{{|{{yz{z{z{z{|}|||{zzzyzzzyzzz{{{{}{z{zyyzzz|{z{|{z{z{z{z{yz{{{|{{|zzzzzzz{z|{{{{{||{{{zz{{{{{{{{{{|{{z{{z{{z{{{|{{{zz{{{z{{z||{|{{{z{{{{{z{{|{{||{{{{z{{z{|{||{{||{z{zzzyz{|{{z|{z{{{z{{{{|{{||||||z|{zzz{{{|}||z|{z{{{{{{|}{z{}|{{{|{{|{zz}{{||{||{{{z{zz{}{|{|{|{{|{{|{z||z|{|{||{{{{{{{{{{|{|}{z{{{z{{z{{{|||{|z{{y{z{{||{{{{{{{{{{{z{z{{|{z{|{{{{zzz{z{{|z{{{{{|{zzzzy{||{|{|}{{z||yzz{||{{{{||{{z{{{z{yz{{{{|{{{|zy{{{{{{{z|{{|{zzz{z{{|z{{{}|{zz{{zzz{{{{{z{zz{{{zzzz|{{{{{{{{z{yzz{{{z{{|z{zzzyzz{{{zz{{{{{{{zzzzzzz{{{{{|{{z{z{{zzz{{{{{z{{zzzz{zz{zz{{zz{{zzz{z{y{{zzzz{{zzzzz{zz{z{{|{z{{{zz{zzz{{z{{z{{zz{zzzy{{{{{{{||zz{zzz{{|{{{{||{{{{zz{z{z|z{{zz{|{{{{z{z||{{{{{|{z|{zzz{||zz|{{|{{z{{{{{z||{|z|{{{|zz{{{|{{||||{{z{{{{z{{{|}|||{{{zz{zzz|{{y{|||{z{{{||{|{{||{||{{{{z|{{{}|{{}|||{{|{{{{|{{||}{{{{|z{{z|{{{{||||{{z{{{z|{|{||{{|{|z{{{{{z|{|zz|{||z{{{{z{{{{{{{{z{zz{{{{{{|z||z{}zz{{zyz{{}|{{||{zzzy{{z{{{|{|{{{zzz{z{{{{{{|{||{{{zz{z|{{{|{z|{|{{zyzzyz{{z{{{|zz{{zz{zz{{{{{z|||z{|zzz{{|{{{{|{{|zzz{{{zz|z{{{zzzz{zyz{{{z|{{|{z{{zzyzzz{{{{{zz{z{zzz{{{{{{{|{z{z{yz{z{zz{z{{zzzzz{{zzz{z{{{{{z{zyz{zz{{{{{{{{|z{z{zzz{{z|{{{|zz{zz{z{zz{{z{{{z{{zz{z{{{||{|{{|{{{zy{z{{{|{{{{|{{{{zz{{{{{{{|{|{{|{zzz{{|{|}|{{{z{{|{{{|{{|{{|{||{{{{{{||{||{|{z{{|zzz||||{{||{z{{{z{z}||{|}{}{{{{z||{{{|||||{|{|{{{zz|{|||||||{|{{{{{{|{}||||{{{z{{{{|{{{}|}{{{{{|{|{{{{|{||{{{{z{{{{z|{|{||{|{zz{{zz{|{{|{{{{z{z|zzzz{|{{{z|{{z{z{{z{||{{|{{{{zz{zz{{z{{{||{{z{{{{{zz{{{{{{|{{{z{zz{{z|{{{{{z{{yzzzz{{{z{{z|zy{z{zzyz{z{z{{||zzz{yzz{{{zz{z|z{yyzzz{zzzz{{{{yyzz{{yz{{z{{{{{{zz{z{z{zz{z{|{{z{{zzz{z{{z{zz{{{y{z{zyz{|z{{{|z{zzyxyzzz{z{zz{{{zzz{z{z{z{z{{{{zzzzy{zz{{|zz{{{zzzyzzz{{{{{z{{|z{z{zz{z{z{{{{{|{{{{{zzz{||{{{|{{zzzzzzz{||{z||z{z{{z{{z{|zz{{{{{z{z|z{{{{{|{|||z{{z{{z|{{z|{|{|{zzz{zzz{{{||{{{{z{zy{z{{{{{|{||{{{z{{{||{|{{{{|{{{|{||{{||||z|{{z{z|z{|{|||||{{|{z{{z{{{{|{}{{|{{zz|{{{{{{{}{{|{{|z{{{{|{{{|{|z|z{|{{z{{{||{{||{{{z{z{{z{|{{{|zzzzyzzz{{{{{|z||{{{zzzzzz{{{{{{{zzzzz{{{{{{{{|||{zzzzz{{{{|{zz{z{{{zzz{z|{{{z|z{zy{zz{zzz|{{z|{|z{z{zz{zzzzzz{|zzzz{yzzzz{{z{{{{{zyzzzy{zz|{zz{z{zyz{zyz{{{{zz{{zzz{{zzz{{{|z{{{{zzzzz{yz{{{z{z|zzy{{zzz{zz{{{{{{{{z{{zy|z{{{z|{zz{yz{zzz{{{z{{zz|{{zz{z|{zz{||{{{{zzzz{|{{{{{|{{zzzzzzzz{{z{|{{{z{{y{{z{|{{z{||{{{{{{z{{{|{z|{{|{|z{{zz{{{{{}|{{{{z{z||{{|{{{||{{{{zyzz{|{||z|{|{zz||{z||{{|{}|{|{{{{z|{|{{|{|||{{{{{{z{|{|||||{|||{z{{|{{|{||{|zzz{{{{{{|{|||}{{{{{||{||{{|{||{{zz{{|{z{{{|{{||{zzzz{{{{|{|{||{z{z{{{{{{|||{{{{{z{z{zz{{{{{{{{{{z{z{zz{zz|{{{|zz{{zz{z{z{|{{|{|z{zzzz{z{{|z{{{{{{zzzzz|{{|{|{{{zz{z{{z{|z{zz|z{zyzzzzy{{|{z{{{{{zzzzzz{{{{z{{{z{zzzz{z{{{zy|{z{zzzzzy{zy{z|{{z{zz{z{zz{{|{{{|zz{zzzzzyz{{{z{zz{zz{zzzzz{zzz|{{zzz{z{zyzzz{{z|{{z{z{y{zz{{{{{z{{z{zzz{y{z{z{zz{zzzzzz{{|{{z{|{{{z|z{zzz|zz{||{{z{y{{{z{{z|z{{|{{z{{{{{{|{{z{{{|{{{z{z{z{{||||{|z{{z{{{{|{{{|||{zz{|{{z{{|{||{|{{{{|{{z|||{||{|{{{z{z{||z{{{||z||{z{{{|{{||{{|||{{|{{|{{||{{{{|||z{z{zz{{{{{{|||||z{{{{{{z{|||||{{{{{{{z{|{{{|||{{z{z{{z{|||{||{{z{z{z{{{{||{|{{z{{{{zzz{{{{{{z{{{zyz{z{{|{{||||zzz{{{z{{{{{{{{{{{{{zyzz{z|{{{|{{{zzyzzz|{{z{{z|z{{zz{{z{{|{z{{{|zzzzz{{{|{|z{{{{{yzzzzzz{{{{||zy{zzzyy{|{{{{{|{{zzzzzyyz{{{{{z{{{zzzzzz{{|{z{{|zz{zz{zyz{zz{zz{z{zy{zz{z|{{{{z|{z{z{zzz{zz{{z{{{z{{zyzy{{|{|{{{z|zz{y{{{{z{{{{{{{{zz{zzz{z|{}{{||z{zz{zz{{{||{{zz{zz{zz{|{{{{|{{z{z{z{z{{|{|{{{{{zzz{{{{|{{|{|{z|{{z{{z{|{||{{{{zzz{{{{{|||{|{||{|z{{z{||||{||||{||{||{{|||||}||z{|z|{{{}{}{{|||{||{{{{{|||{{{|{{{|{{|{z|{|||{||{{||{{{z|{}||{{{{{{{{{{{{{|{||{{{y{z{z{{{z|||{{{{zzzz{z{|{{{{{}zzzz{{{zz||{{z|{{{{z{zzz|{{{|{|||{zz{{zz|{z|||||{y{z{|z{z{||z{{{{z{zzz{{{zz{z{z{{zz{zzz{{{{{{|z{{{z{{{zz{{|{z||{{{z{z{z{{|{{z{{|zzz{zzzz{{{{{z|{{zzyz{yz{|z{{|{{z{zz{zzz{|{{z|||{zzz{zz{z{zzz|{|zzzzzzzzz{z{{{{{{zzzz{zzz{{{{{||{{{{{|{zz||{{z{{z{z{zzzz{z|{{{||zzz{{zzz|{|{|{|{{z{{{{{zz{|{{||{z{zz{{{z|||{{z|{{z{{z{z{{{{{z|{{z{{{|{{{{{||}{{|{z{{{z{z||{{||}|{{{|{{z{{|}||||||{{{|z{{z||{||||{{{{|{|{{|{||}|{||{{{|{{||{{|}}||z{{{{{{{{{||{|{|{{|{z{{{||{|{||{{{|||{{{{{||||{zzz{{{|z{|{{{|||{{zz{z{{{}|}{{|{{||{{z{zz{{{z|||z{{zzz|{{z|{||}{|{{z{zzz||||{|{|{{zzzz{zz{{{{{|{{{{{{zz{zz||z{||{{{yzz{z{|{|z|{{{{{z{|z{z|zz{{|{{z{zzzzz{{{{{{|zzzzz{zz{{z{{{{{{zz{zzyzyz|z{{z|{{z{zyzzzz{{|{|z{{{zzzz{zz{{{z||{z{{zzzzyz{{zz{z|{zzyyzzzz{zz{{|{z{z{z|zzzzz|{{{{{z{z{zzzz{{{{|{||zy{zz{{{|{{{|||z{z{zzzz{{{{||{{|{{{{zyz{{|{||{{zz{zzzz{{{|{||}{z{|z{zz{{{{|z||{{z{{|z{{{|{{|{{|zzz{z|{{||{|{|}||{|{{{zz{||{|{|{|{|{{||{|}||{{|}{{|{{{||{{||||}||{{z|{{{||||||||{z{{{{{z{{|||||||{{|{z{{{{{{{{||{{{|{{{zz|||{|||{|{{||{z||||{{||}{{{zz|z{{{||||{||{{{z{z{{z|{zz{{zz{zz{{{|{{z{{{zzz{{zzyz{|{z{{{{{{z{z{{{z{||{|{{yzzzzz{{{z|z{|{z{zz{zzy{{{{z{z{{{{{yzzzz{{zz|{{zyzzyzzz{{{{z{{{z{zzzzyzz{{z{zz{zz{zz{{{zzz{z{{{zyzyz{{zzz{{zz{{z{zzzzzy{{{{z{|{z|{zzzzzyzzz|z{zz{{z{{zzz{{{{|{zzzzz{{zz|{z{{|||{{{zzzy{z|{{{{{{{zz{zz{zz{|z{{{{{{zzzz{z{|{{|z|{{z{{{yzzz{{{z{{|zz{{zzz{{{{{{{|||{zzzzzz{{{|z{{|{{{|{{|{{{|{|{{|z{|{{{{{{|{{{{{||{{{{{{z{{z{|{||{z{{{z{{{{z{{|||{|z{z{{|||{|{|||{z{{{{zz{|||{||{|z{|zz{{{{{{{{|{|z{z{zzz{|{{|}|}{{{{{z{{{|{}{|{|{{zz{zz{{{z{||{{{z{{{{{{z||{z{||{|{z{z{z{z||z{||{{{{zz{zz||z{{{{{z{z{{zz{{{{{{{|{y{{{zzy{z{{{{{{{{z{{zzz{{|{|z|{z{zz{z{z{{{{{{{{zzzzzz{z{{|{|{|{{y{z{z{{{{|z{|z{zzz{yy{z{zzz{{{{zz{zzzzz{{zz{{|{yzz{{zz{{{{{{{z{{zyzzyyz{{z{z{{{zzzzzyzzzzzy{{{z{z{zzz{zzzz{{{{{zzzzyzzz|z{{{{{|{{zzzzzyz{{z{{{{zzzzz{{z{{{{||{{{{{{zz{{{|z{{{||{{{{zzz|{|{{{{{|{{{y{z{{{{{|{{{{{z{{zzzz{{{{{{{|{{{{{{z{{|{|{{|{{zzyz{{|{|{{{{}{{{{{z{{|{{|{|{{{}{{{{z{{{||{|{||{{zz|{{||{|{||||{z{{{{{||||{{|{|{{{{zz|{|||{{|{|{|z{{{z||||{|{|{z{{{{{z{{{{{z|{|{{{zz{zz{|{{{{{{{{zzz{{{{{{{{|{{z{{{zz{{z{|{z}{{{zz{|{z{{{||{{{|{{zzzzzz{{|z{||{{{{{z{zz{{{|||||{{{z{zzzz{{{{z{{|{{zzyzz|{|{{{{{{zyz{z{zz||zz||{{z{zz|zz{{{z{{{|z{{{{{z{{{{|{|{{{zzz{zzzz|{z{{{z{zzzyzz{zz{{{{z{{{{{zzzyz{{{|{{{z{z{zzzz{{zzz{{{zzzzzzzzz{{z{{{{zz{zz{zz{{{{{{{|{{zzzz{{{z{{{{{|z{|zz{{{{|{z{|{{{zz{yz{z{{|zz{{|{{zz{z{z{z|{{|{|{z{{{zzz{{||z{|{{zz{{z{z|{|{{{{zz{zz{{{{{{||{{{|{|{{z{{z{{||{{||{{{z{{z{{||{||||{|{|z{{{{||||{}{{{{{z|{{z}{||||{{|{y||{||||{}|{||z|{{y{{|{|{||||{{{{{{zz|||{{|{|{{{{|{{{{{|{|{||z{{z{{{z{{{{||z|{{{{{{zz{{||{||{{|z{z{{z{||{z{{{{{z{z{z{{{{{{{||{zzzzzzzz{z{z{||z{{z{z{z|z{{{{{|{{{z{{zzz{{{z{|{z{{y{zz{z|zz{|{{zzzzyzzyz{{zz{|{z{z{{zzyzz{zzz{{{zzzyzzz{zz{{{z{{zzy{z{z{{{{z|{{zyz{zzyzz{{z{||{{zz{zzzz{{{|{{{zzz{zzx{yz{{z{{{yzzzyz{zyzz{{z{{{yyy{{z{z{{{{zz{{zzy{zz{zz{{{{{{{{{{zyz|z|{{{z{{{z{{{zzzz{z{{{|{{{z{{{{zzz|{|{{{{{z{zz{zzz{|{z||{{{z{{zzz|{{{|}|{y{{zz{z{{{}|{{{{{{{z{{||{|{}{z{|{z{{{z{zz{{|{||{|z{z{{|{|}{{{|||{zz{|{{{{|{{|z||{{{z{{{z|}||{|||||{{{{{{{||{{||||z{zz{|{{{{{||||{{{||{z{|{{|{|||{{z{{z{{{{|{{|}|||{{{{z{z||{{{|{z{{zzzz{{z{{{||{{{{z{zzz{{|{|{||z{zzzz{z|{|{{|{||{{zz{|z{{{{|{{|z{zzz{zz{{{z{{{z{|{yzzzzz{||z{|{{z{zz{z{z{zz{z{{zz{{{{zzz{{zz|{{zzzyz{zz{yz{z{{{zzzz{zz{zz{{{{{{{yzz{zz{{{z{||{{zz{zyz{zzz{{z{|{zyzzzzzy{{z{{{{{{y{yzyzz{|z{z{{{yzzzzzzz{{z{|{{|{yz{zyz{z||{z{{|zz{zy{z{{{{|{{{|{z{zzzzz{{{{{{{{{{|zzz{zzzz{{|{{|{{z{{{z{z|{||{|{{|z{z{{{|{{{{{{|z{z{{z{|{||{{||z{{{|{{{{|{{{{}z{{{{z{zz{|||{||}|{z{zz|z|{{|{|}|{{{z{|{{|z|{|{|{|z{{{{{{{{|}||||}{|{|{{{||{||{|{{zy{|{z{{{||{{||{{|{{{{{z{{{|{{|z{{zz{{{{{{{{z||{{{{z{{{{||{{{|{{z|zzzzy{{{|{{{{z|z{y{zz{||z{{{{{{{zzz{z{{z{{{{{zzzzz{zz{{{z{{|z{z{zyzzzz{{{z{|{zyzzzzzzz{{|zz{{{{{zzz{yyz{zz{{|{{zzy{zzz{{z{{{{{zzzzz{{zz{{zz{|{{zz{xz{{{zzz{{yz{{{z{yz{{|z{{||zzzyyzyy{zz{z{{{{zzzzyzz{zz{z{z{{zzy{zzzz{z{z{{{zz{zz{zzz{{zzz{zzzzz{{z{{{|{zz{|z{zz{z{z{{zz{{||zzzzzz{z{zz|z{|{{z{zz{zzz{z{z||{{zzyzzzy{||{{{|{{{{zzzzzz||{zz{{z{{z{{{{{{{{{|{{zz|{{{{{{{{|{{{{z{{{{z{z{||{|{{{{z{{{{{{||{{|{||{{{{{{{z{||{{|{||{{{z|{zz||{{{||{zzz{z|{{|||}{||zzz{{|{{{|{{{|{||{{{|z{{|{z{|{||{{|y{{z{|{{{{|{{{{z{z{{{z{{|{{|{{z{zz{zz{|||{{{{{{z{{{zy{{|zz{{{{z{zzz{z{{z{||{{{z{zzzzy{|{{{|{z{z{zzzzy{{{zzz{{z{{zzz{zzz{{z{{|zz{z{{zzzzy{{|{z{zzz{zzz{z{z{{{{{zzzzzz{zyz{{{{{{yzz{zzyz{{zz{{{zzzzzzz{zz{z{{{{zzzyzzzzz{{{z{z{zz{{{yzz{{zz{z{zz{zz{zzzzzz{z{{|zzzyzzyz{z{|y{{{{zzzzzyzz{{{z{{|{zzz{{{{{{{{z{zz{y{zz{zz{|{{|{{zz{{z{zz{{{|{||z{zzzzzzzzzz{{{{|{z{z{{{z{{{{{{{{{{z{z{z{{{z|{|zz|zzzz{z{{{{|{{{|}{{{{{{zy{||{|||{{{zz{zz{{||{{|}|{z{{{z|z{{{||||{{{{{z|z{|||{||||{|{z|zz{{|{{{{{|{y{{z{{{{{z{||{z{zy{{{z{{{{{|{{|{zzz{zzzz{|{z|{|{z{zzz{z{z|{}|{{|zzzzzyz{|{|{{{|{{{zzzzyzz||{{||{zz{z{zz{{z{{{||{{{z{zzz{{{||{|||z{|{{zzz{{{z{{{{z{zzzz{{z{{z{{{{z{zz{{y{{|z{{|{z{{zz{zy{{{{{{z{z{zzzzzzzz{|{{{|zzzzzzz{|{{zzz|zzzz{yz{zzz|z{zy{z{z{zy{zz{{|{z{{{yzzzz{yz{zz{{{{{{y{zz{{z{{zz{z{zzyz{zzzzz{||{{{zz{z|z{{z{{|{{z|{z{{zz{z{{z{{{{{{z{{{{zz{|{{{{|{{z{z{z{{{{|{|{z{z{{z{{{{{|{{{||{z{{{{z{{|{|{{z{z{z{{zz{{||{|{|{|z{{{|{|{||||||{|{z{{{{{|z}|{{|{{|{{{zz{{||{{|||{|z|{zz{z||{{{{|||{{{|{{z{|{||{||{z{{|y{{{|{||||||{{|{{z{{||||{}||{z{|{z{|{||{z{{{{z{{{{{{|{{|{|{{{{z{z{{{|{{|{{{{|{{{{{{{z{z{{||{{z{z{z{{||{{{|{zz{zyzzz{{{|{z{|{{{zzzzz{{{|||{||z{z{zz{{|z{{zz|{{zzzz{zz{{zz{{|{z{{zz{zzz{zz||{zz{zy{{z{{|z||{{z{zzzzyz{{{{z{{|{zzzzz{{z{|{zz{{zzzz{zz{{z|{z{{{zzzzy{{y{{{{{{|{y{zz{zzzz{{zz{{z{{zzzzzz{zzz{{|{zzz{zz{zzz{|{{||{z{z{{{{{|{{z|{z{{{z{zzz{{|{|{z|{z{zyz{z{||{{{{|{z{y{z{zz{{|{|{{{zzzzzzz{|{|{||{{{z{z{{{{{|{{{{|{{{{{zz{{{|{|{|{y{{zz{|{|{||{}|}{z{|z{zz}{||{{||{z{|{{{{|{{|{{||{{{|z{{{z||{||}{|{z{{{{{{|||{||{{{{z{{{|{{||{||{|z{zz|{{|{{|{||||z{{{|{{|||{{||||||z{{{z{|z}|||{{{{{{{zz{{{{{|||{{{z{z{z{{|zz{{|{|z{{zzz|{|y{{|{{z{{zzyz{{|{{{{|{zyzzzzzzz{{{{{{{zz{y{z{{{|{{{||{zzz{{zz|{{{{|{{{{zy{z{zz{{zz{{{zz{|{zz{{z{zz|{{{z{{{{{z{{zzz|{{zzzz{z{z{{zz{zz{zzzzzzyz{{{{|z{|zzz{yy{zz|{zz{{{{zz{{zzyz|z{z{y{{z{zz{{yy{zzy{{zzz{zzzzy{z{z{{{{{z{yzzzzz{|{z{{{zzzzzz{zz{{{{{z{y|zzzz{{{{|z{||{{{zzzz{zzzz{||{{{z{zzz{z{{{{{{|zzz{{{{{{|{|{{||{zzz{{z{{{{{{||{|{{{z{{{{{|{|{|||{zz{{{yz{|{||{|{{|{{{z{z|||{|||}|{{|{|{{||||{||||z{{z{{{{||{{||{{{{{zz|{|||||{||{{{|{{{{|{{{|||}{z|z{z{||{{|{|}|{{{z{{{z{{|z{{{|{|z{{zz{{{{|{{{{{zz{z{z{{|{|{|{z{zzz{zzy{|{{{{{{{zzzz{zzz{{{z{{{{zzz{{zy{{{{|||z{z{z{y{{z{{z{{||{{{{z{{z{{|{{{{||{{zzzzzz{{{{{{{{y{{{z{zz{z{z{{y{yz{zzz{{{{|{{zzzz{zyzyzz{|{{{|{z{yzzzy{{{z{|{{zzz{z{{zy{zzzz{{zzz{{zzzzzzz{zzz{{{zy{{yzz|{{z{{{zyz{z{z{zz{{{{|{zzzz{{zy{{{z{{z|zzzzyzyz{zzzz|{{z{zzzzz{{{|{z{{z{{z{{y{{zz{{{}{{{z{z{|zz{||{{{}{{zz{{z{{{{{z||{|zzz{{{z{||{{|}|{{{{zz{{{{{{||{||{{zz{z{z{{|{{||||{zz{{{y||{{}|||{z{z{{|{{||{{||||{{z|{|z{||||||{{{{|{{{{|||}{|{|{{{{|{{z||{{}{|{|{zz{{z{{|{||{||{{{z{z{{z||{||||{{zzzzy{||{{{{}{{{{{{zzz{z||{{z|{zzz{{zz{{z{{|zzz{{z{zzz{{{{{{{||zzz{zyzz{{{{|{|{{{{{zz{{{{|{z{{{zzyyz{{{{{{{{{{z{{z{z{z{{{z{{{zzzzyzzzz{{|{z{|z{zyzyzyzzz{{z{|{zzzzzz{z{{zz{{{{{zzyzzyzzz{{|{z{{z{zyzzzz{{zz{{zz{zyzzzzz{{z{z{{zzzzzzzzyz{{{{zzzzz{{z{{{zz{zzzz{zzzyzzz{{{{zz{|{{{zzzz{z{zz{{{{z{|z{{{zzz{{z{{{zz{{zyz{z||{{|{{{{{{zzz{z|z{|{{{|z{{z{zzz||{{{{{{{{{z{{z{{{||{||z|{z{{|{{{z{}|{{zz{zzz{z{|||{{{{|z{{z{z{|{|{{|||{{{z|{|z|{{{{|||{{{z{|zz{||{|z|}|z{{z|{||{{|||z||z{zzz{{}|{{||||{{z{|z{{{|{}{{}||{{z{{{{|{||{||{{{zzz{z{{{|{{{{{{{|{zz{z{z{{|{z{zzz|{z{z{|{{{z||{{zzzyyz{{|{|{|{zzzzz|z{{}|z||||zy{z{zzzzz{{z{|{{z{zzz{z{{|{z|||{z{zzzz{zz|{{{{z|{zyzzzzz{|zz{|{zzz{z{yz{{zyz{{zz{{zzzzzz{{zzz{z{zyzzzyzz|{yz{{{{zzzzzz{z{z{y{{{{z{zz{{y{{z{z|z{z{zz{{yyy{z{{z||yzzy{zzz{{{|z{|{{{zzzy{z|{z{y{|{{z{{zy{{|{{|zz{{zzz{zzzz{{{zz{{{{{z{{z{zz|{|{{{{{y{zz{{z{z{z{{{||{|{zzz{|{|z{{{{{|z{{z{z{||{{|{|{{{z{zz{|{{||{{|{{{{zzz{{||{{{|{|z{{z{{|{|z|||||z{{z{|||z{{{||||||zzz{{z{|||{|||{z|{{{{{z|{{{|{|{z{z{{{{{{||||||{|z{{{{|{|{{{{||{z{z{{z{{|{|{||{|{|{z{z{{{{}{{|{{{zzzz{{{{{|z|{{z{zy{zzz{{|{{{{|zz{{zyzzz|{{{{z{{zzzy{zz{{{|{||{{zz{zzz{z{|zz{{{{{{{{{zy|z{{{{{{{z{{zzz{z{{{{{{{{z{zzz{{{{|{z{{{zy{zzzzzz{{{{{z{{zzzzzzzyz{{{z{{zzz{yzzz{{{zz{{{{zzzzyzzz{{z{||{zyzzzz{z{{zz{z{z{zyzz{zz{|z{{{z{z{yz{{zz{zz{z{|{{zzzzz{{z{|z{{{z{z{zzzyz{zzz{z{{{z{z{{z{|{{{{{z{{{{zzzzzzzz{{|z{zz|zzzz{{{{{{||{{zzz{zy{{z{{{|z{{{zz|{{z|{|{{{{{{||z{z{{{{{|||||zz|{y{{z{||{||{z|z{{{{{{{{|{{|||{{{zz||z{|{{{|||{{{zz|z{{|{|{||{|{|{{{{{|}}{|{{{|{{{|{{{{{|{|||{zz{{|z{{{{{|||}|{{zz}|{{{|z||{||{|zz{{{z{|{{{{|||{{zz{{{{{{|{z{|{zzz{zz{z{{yz|||{{z{zzzz{{|{{{|}z{{z{{y{z{{{{|{{z{{z{yz{{{{{zz|{z{{zzzzzz{{{{{{{zzzzz{zzz{zzzz{zzz{{zzyy{{{zzz{z{yzz{zzz{{{{zzz{zzyzzzzzz{{zzzz|zzzzzzzy{{{z{{{z{zzzzzyy{{z{z|{{zzzzzyzyz{{z{zz{{z{zyzyxzzz{{{{{zyz{z{zz{{{{{z{zyyzz{yy{{{{z{z{{|{zzzzzz|{{{z{||zz{z{z{z|{zz{{|{{{{zzzz{z{{z{|{{{z{{y{zz{{{|zz|{zz{{{zz{{{{{{{{{{zzzz{z{|{{|{{{|zzzy{zzz{{{|{||}{zz{{y{{|{{}{{{|{z{z{z{{||{|{|{{zz{{{z|z{||{||{{|{{{z{z{{{{{|||||z{{{zz{{{||z|z{{z|z{{{{{{||{{{|{z|{{{{zz|{{{||{z{{{{{zz{{|{{||||z{|{{{{{{|{{z{{{{zz{{z{{{{z{{{|{zyzzz{yz|{zz{{zz{{zzzz{{{{{{{{|{{{zzzyyzzzzz{|{{z|zz{z{|{{{{{{{zzzzzzzy{|{z{z{||yyz{zzyz{zz{|{{{z{yzzzz{{{zz{{zzzzzzz{zzy{{{zz{zzyyzzzzzzz{{{{{{zz{zzzzzz{z{{z{|z{zzyzyz{{zzzz{zzzzzzzyyzzzz{z{zyzyzzzzzzyzz{{{{yy{z{zz|{{{{{{{zzz{zy{z{{|{{{z|zy{{zzz{z{|{z{|{zy{{zzz{z{{zzz|{zzzz{{{y{{{{{{{{zz{y{{zzz{|{||||{{z{{{zzz|z{{{{z|{zzzzzz|{{|||{|z{{zz{{{{{z{{{||{{{{{{{z{{|z{{{{{z{{z{z{||{z|{||{{{{zz|{{{||{{|z|zz{{{{|{|{|{|{{|{{{{z{{{{|{{z{{{zzz{zzzz|z|}|{{{z{{{{z{{{{}{{{{{{zy{{{{z|{{{{{{{zz|z{{{{{{|z{{{{z{{yxz{|{|{{{{|z{zzzzzzz{{{||z{zzzyzyz{{z{{{z|{{{zyzzz{{z{{{{z{{z{{zzzz{{|{zz{{{zzyzz{z|{z{{z{{|zzzzzzz{{{{z|{{{z{z{z|zz{zzz|{{{zzzzzzzzzz{z{{{yzzzzzzzzz{z{{{zz{zyyzyz{{{|{{{{z{z{zyzzzz{{zz{{z{{{{zzyz{|zz{{{zzzyyzzzz{z{{{{{zzyzyzzy{zz{zz{{{zyzyzzzz{z{z|{{{yyy{y{z{{{{z{{|zz{zzz{{{{{z{{|{{{{{zy{zz{|{{|{{zzzz|{{{|||{{{|z{zz{zzz{z|zz{|{{||{z|z{z|z{|{{{|{{{z{z|z{|z||{{||z{{{|z{{|{{|{{{{z{{{{z|{|||{{}|{{{zz|{{{|{{||{{|{{{{{{z{|{|{{{|{zz{{z{{{|{||{|{z{{z{z|{{{{{{{||zz{z{{{z{|{{{|{|z{zy{z{zz{{{|||{{z{{zzzz{{{{{z{{{z{zzzzz{|{{{{{{{z{{{zzzz{{{z{|{zz{zzzzz{{|{{{{|{zzz{z{z{{{{{{{{zyy{{{{zz{{{{{|{z{z{{zzz{{{{|{{}{{{{{z{z{|{{z{{{{zzzzzz{z{|zz{{{zzzzzzzzz{{{{{{{zzzz{z{z{z{z{z|{zyzzyyzz{zzz|zz{{zzzy{z{z{{{{z{z{zzzzzzyz{{zzzzz{zzzyzzy{{{{z|{{zzz{z{{{zz{{{z{{{zzz{yz{{z{||{{|zzz{zzyz{|z{{{{{z{{zz{z{z|{z{|{{{{z{{z{{{{{{{{{{{z{z{{z{{||{z{|{{z{{{{{{{{{{z|{{{zz{{zz{|{|{{|{|{{zz{{{{||z{{{{|{{{{|z{{||{||||{{z{{{{|{{}|{|||{{{{z{{{||||{{||}{{{{z|{{{{|}}{||{||{zz{{{|{}||{||z{{{{{{|z||||{{{{{{{z{|{|z|{{|||{|{{{zz{{{{||{||{{zz{zz{|{{{||{{{{{{zz||{{|z||{zzzz{zzzz{{{{{}{{zzzzzzz{{||{|{|{{{zzzzzzz{{z{{{{zz{zz{z{{{zzz|{z{zzyzzy|{{|{|{|{z{y{z{zy{|{{{{zz{z{{{{{{{{y{z{{zy{zzzyz{z{{{{{|{zz{yzzzz{z{{{|{zz|z{{z{z{|z{{{{zyzzzyzz{{{{|z|{{zyyyz{zz{zzyz{{{{zzy{z{zzzz{|{|zyy{{yzy{z{zz{}|{zz{zyzzz{{z{{{{zz{{{{zyzz{{z{{{zzzzzzz{z|{{{{{{zz{{{{{yz{{{{|{{{{{z{z{|{|||z{{{z{zzzz|z|{|z{{|z{z|zzz{{{{||{{||zz{zz{{{|{{|{{||z{zz{z{{{|||{||{zzz{{z{{|{|{{{|}z{{|{|{|{|{{||{|{|z{{zzz{}{}{||||{z{{|{|{|{{||{|{{{{{z{|{|{{{|||{{|{|{{{||{||||}{{zz{|z{{|{{||}||{{{z{{{{z|{{{{{{{{z{z{z{{|{{zz{yzz{zzzyzz{z{|{{|zzzzzzy{{{{z|{{zz{z{zzz|{zz{|{{zzzz{zz{{{{{{{z{|zzzzzzzz{{{|{z{zz{yzz{yzz|zz|{z{{z{zz{y{|zzz|{{{{zzzyz{z{zzz{z{y{zzzzz{yzzz{{{z{z{zzz{zzz{zzz{{{y{zzzzyz{{{{{{|{z{zzzzyz{{{{zzzzz{zyzyyz|{{{|{zzzzz{{{y{{{|{z{{zyzzzzzz{{{z{{{{{z{{{z{yzzz{{|{|y{zzzzzzz{|{|{{z{{zz{{{y{{|||{{{zzzzz{{{{|||{{|{zz{z{{{{|{{z{||{{zz{|{{{{|{||{||{{{{|{{z|{{|{{|{{{z{{{zz||{{|{||{{{z{{{z{||{{{||zz{{{|{{{{{|||{||{{{z{{{{{{{{{|{{z|{z|{{{{||{||{{{z{{{{{|{{{{{{{{{{{|{{z{{{||{||{z{z{zz|{{z{|{{{{{zz{{z{{{{|{{z{|{{zzz{{||}|zzzz{{zzz{{z{{{{{|{{|{z{z{{z{{{{{{|||zzzyz{zz{{z{{{{zzzz{zzzz{z{{z{z{zzyzz{y{{{|{{{|z{{zz{zyz||z{{{z|z{z{zzz{{{{{|{zz{zzzzzz{z{{{z{{{zzzzzzy|{|{|{{{{z{zzzy{zz{{z|{{zzzzyzyzz||z{{{z{zzz{zz{yz{zz{z{z{z{zz{zz{z{z{z|zyz{{zyyz{{|z{{z{zzz{{zz{{|zz|{{{{z{{z{z{z{{{||{zzz{{zz{{z|{{||{{zzzzy{{{|{{{{{{zz{z{zzzz{|z{||{{z{{{{z{{z{|{|{{{{zzz{{z||{{|{{{{|zzzz{{{|{}{|}|{{{|{z{|}||{{{{||{{{{z{{{|||{||{{{{{{{z{{||{||}|{{z{z{{{||{}|{|||z{{z|{{|{{{z{{|{zz{|{z{{|z{|{|{|{{z{{{{{{{{{{{{{|z{z{z{{{|{{{{|{{{z{{z{{|{{{{{z{|{{{z{z{{{||{{zzz{zz{zz{{{|y{|{z{zzzzz{zz{{{|||zz{{y{zzz{{z{{|{|y|yzzzz{||||{{{zzzzz{{{z{|z{{z{{{zyzzz{{{{zz{{|z{z{zz{zz{{z{{{{zz{z{z{zzzzz{||{yzzzzyz{z{{z{{{{{zzzyzy{zz{{{{{zzzzzzzzzz{{z{{{{zz{z{zzyz{yy{{{zzyyzzyzyz{zy{{{|zzzzy|{z|z{zy|||zy{zzyzz{z{{z|{|z{zzzzz{zz{z{{{{z{{z{z|z{{{{{{||z{zzzz{z{|{z{{{|{zzzy{{z{||{{{|z{{{{{{z{{|{{|{{{|zy{{z||{{||{|{{zz{{z{{|{{{||{|{zz{{{{zzz{{{|{{||z{{zzz{{}|{{{|||{|{{|{{{||z{|||||zz{{z{{}||||||{{{z{{{{||{|||||{{{{zz{{{|{||{{}{{z{y{{z{|||||z||z{{{{z{{{{{{{|{{yzz{zzz{||{{{{|{{|zzzz{{|{|{{z{zzz{{z{z{{{zz{{{{|{zyzzyz{{{{{{z{{zzzz|{{{{{{{|z{zzzzzzz|{{{{{|{{zz{zzzzzzz{{{{{zyz{{z{z{{{{z{z{{zzzz{yzz{{z|{{|zz{zzzzzzz{{z|{zzzzyzy{zz{{{{{{{zzyzzzzzz{z{{{{{{z{zxzzy{zz{z{zzyyzy{yzyy{{zzz{{zyzzzzzz{{{z{{{{zzzz{zzzz{{|{{{{{zyzzzz{{{{z{{{{{y{zzz{yz{|z||{{zz{{z{y{z{|{|{{|{{{{zzzz{|||||{{{z{{{z{z|{{z{||{z{y{{{y{{{||{}||{z{z{zzz{{{|||{{{{{|{z{z{|{|{||{{z{{{z{zz|}{{{|z{{{z{{{{||||||{|{z{zz{|{{|}{{{|||{z{z{zz||{|{{|{|{{{|z|z||{{|{}z{{{{z{{z|{{{{|||{|{{{{{z{||{|{|}zz{yz{z{{{{{{{|{{zz{z{z{{{{{{{||z{{{{{{{|{{{||{zzzz{yz{z{|{{z{|z{zy{zyzy{|{{z{{{y{zyz{zz{{|{{{|{{z{{zz{z{{{|z{{{zzzzyz{z{z{z{{z|zzz{z{{y{{zz{|{|zz|zzzz{{z{{y|{{zzzy{zz|{{y|{zzzz{zz{zzzyz{zzz{zzzzzy{yz{{{z{{{{zzzzyzyz{z{zzz{zz{zzzz{yzzzzz{{{zzzzzzzz{zzzz|zzzzzzzzzz{z{{{z{|z{y{{zzz{zzz{|{{{z{zzzyz{z{{{{{zzz{{yzzz{|{{{{{{||{z{zzzz{{|{{{zz{zzzzzz|{{{zz|{zz|z{{z{|{|{z{||{{{z{{{{{|{|{||{zzz{yz{{{|{{{|||{{zz{zzz{{|{{{|{{{{z{z{z{|{|||||{z{{{{|{{{{|{|{{{{|{z{{|{{z||{||{{|{{{{z{{{|{|}|{{z{{z{z{{{z|{}|{{{{{{{|z{{{{||{{{|z{{zz{|{|{{|{{z|{{{{zz{|{{{|{zzz{{z{{}|||{{yzz{zz{zzyy{z|{{|{{{{zzzzz{{zzz{{{zzyyzz{y{z{zz{|{zz{zz{zzz{z{{{z{{zzzzzzyzzz{zzz{{{{zz{zyz{{z{{{{zzzzzyz{yzyzy{z{zzzzzzz{z{zzzzzzzzy{zyyzzzzyz{{zzzzyyzyzz{{zz{{zyzz{yzyzzzzzzz{|{zzzzzzzz{zzzzz{yzz{y{zzy{{z{{{{zzzzzz{y{zzz{{{{{zzyzz{{z{{z{{{|z{zyzy{{{z{z{{zzz{zzy{z{{{{zz{{|{z{{{{z{z{{{{{{{zzz{{zzzzz{z{{|{y{z{zyzzz{z{{|{|{{{zy{zz{|{{|{{{zzz{z{|{z{{|{{{||zzz{z{z{{|{|{|{{{{z{{z{}{z{||{{{{{z{||{{|{{|{z{{{z{{zzz||||||z{|{{{{{{z{{|||{|{{z{{zz|{{{{||||{}{z{{{z{{{{{{{|{{{z{{zzz{{z{}|{{{{zzz{{y{|{{z{{|{zzz{{{{{|||{{{|{z{zzzzzzz|y{zz|zz{zzzyz{{{z{|{|{zzzzz{z{{{z{{{{z{{{y{zz{{{{z{{{{zzz{zzz{{{zz{z{zzzzzz{yz|{{z|z{{{{zyzyzzz{{{z{{z{yzyzy{y{{{zzz{yyzzyy{z{{{{z{{zzzzzzzxy{z{zz{{{z{zyyzzzyz{{{{{{yzz{zyzy{zz{z{||{zzzzyy{z{zzz{{{zzzzzyyzz|z{z{zz{zzzzyzzz|{{{{|{zz|zyyzzz{zz{{{{zzzz{z{y{zz{y{{{{z{zzzzyz{{||{{{{z{zzzzzz|||{|{{{{{z{zz{{|{{{{{{{{zzzzyz{|{|{|{{{{z{{z{{{|{{||{}{{z{{zz{{||{{{{{{yz{z{z{|||{||||{{{zz|{{|{{{|{||{{{{{|{{||{|{||||{|{{{{{|{{||||{{z{z{{z{{||{{|||{{{z{z{z{{z|{||||{z{{z{{{{{{{|||}{{zzzzz{|{|{}{{{|{z{{}{||}||{}|{{z{{{zz{z{|z{|{{z{z{z{zzz{{{{{{|{zzy{{y{{z{{{{{{{zzzz{zz|z{{{{{{{{yzz{y{{{{{{|z{{{zz{|z|{{z{||{{zzzz{zz{{{{z{{{zzzz{z{zzz{{{{{{z{{zzyzy{{{{z{{{zzzzyzyz{zz|{{z{zzz{y{zzzzz{zz{{{z{z{z{yy{{z{{|{{{zyzy{z{zz{z{{{yzzzzzzz{z{{{{{{z{{{{zzz{z{{{{z{{{z{zz{z{{z|y|{{z{zzzz{{z{{{{{{{{z{zzyzzz{{{{|{|zz{{{{{|z{{{{z|{|{zz{zz{|}{{{{||{z{{|z{z{{||{|}|{z{{{{|{|{{{{{{|{{z{zzz{|}||}{{||{{zz{{z|{|||{|{|{{{{{{{||{{{||{|{z{|z|{z}|}{||||{{{|{|z{|||{|}|{{{{{{z{{{{|{|{||{z{{{||{||{|{|{{{{zz{{{{||{{|{{{{z{zzz{{{{{||{||z{z{{{z{}|}}{{{z{zz{zyz{{{{{{|{{{zz{z{{|{{zzz{|{zz{{yz{{{{{z{{z{zz{z{z{{|{|{{z|y{zyyzzz{{{z{|z|{zzzz{{z{z{zz{|{{{{{zzzz|z|{{{z{{zyzzzzy|{z{z{{|{zzzzzz{{{{{{{z{{z{zzzz{{{z{{{|{zzz{zzyzzz{{{{zzzz{zzzzzz{z{{zz{z{zzzyzz{z|{z{{zzzzyz{zz{{{{{{|{{{{z{z{{z{|{z|{{zz{{z{{{{{|{{{{{{{{zzz{{z|{|{{{|zz{z{z{z{{{{{||{z{{{z|z{{{{{{{|{zz{{{{{{{|{|{||{z{|{{z{{{z||{|{{{||{|{{||{z{{|||{{{{{{|{{|}{}|{{|{z{|{|{||}|||||{{|{{|{{{{{{{|}}|{{{{{{{{||||||{||{{||{z|||{||||}z{z{{{{{{{||{|||{{{{{|{|{||{{|||{{{{{{z{}{{{{{|||{{{{{zz||||{{|{{{{{{|{||}|~{{{{{zz{{y{zz{{{|{{z{{zzzz{z{|{{{{{z{zzzyz{{z{||{|{z{yzzzz{|z||{{{z{{{zzzzy{{|{{{{|{{{z{zzz{||z{z{z{{zz{zzz|{{z{z|z{z{zz{zzzz{z{{{{z{z{z{{z{z{zzzz{zz{zz{zz{z{{{{z{zzzzyz{y{{||z|{{zzzzzyzzzz{{z{{z{z{{zzyyz{|z{{{{zzzzz{zz{zzz{z{{zz{zzz{z{{{{{|{{{zzz{zz|{{z{z{||z{{{z{zz{z{{{|{{zz{{zzz{z{{|}||{{{z{|{{z{{{z||||{z{{{{{{{{{|{||{{{y|z|{|zz|{{{{|{{z{{{{{{{{{|}{|{zz{{z{{|{||{||{{z{{{z{{|||||||}|{|z{{{{{|{|{||||{{{z{|||}||||{{}{||{{z{|{||{||{z{{{{z{{|||||}|||{{{|{{{|||{|{||z{{z{|z{|{||{{{||z{zzz{z|{||}{{{{{{z{{{{{}}}~{z|y{{z{{{zz{{{{{{{zzzzzzz{zz{z{{z{z{zzzzzyz{zzz|z{zyyy{z{z{{zz|z{z{{zzyzzzz{{{{{{{{yzzzz{yz{{z{z{z{zz{zzzz{{{zzz{zy{|zzzzz{z{{zzz{zzzzyzzzzz{zz{{z{z{yyzzzz{{zz{{z{zyyzzyzz{{{{{{zzzyzzxzyz{zzzzzzz{yzzzzzz{zz{{{{zzzyzyzzzz{zz|{{zyzzzyzz{zz{zz{zzy{z{zz{{|{z{{{|zzzzzzzy{z{{{{z|{zz{z{yy{{{{|{z{{zz{zzzy{{{{{{{zzzzzzz{zz{|{{{{{zzz{{{{z{{{{|{|zzzz{{{zz|{{{|{{{|z{{{{z{{{{|{||{|{{z{y{z|{{{{|||{z|{{{{{{{{{{{||{{{{z{{{{{|{{{{||{z{{{|z|{z{|||{zz{z{{z{z|{{{{{{{zzzz{{{|{{{{{|{{z{z{zz{{{{{|{||{yzyzz{{z{{||{{{z|{z{{zz{|}}{|{{z{zyz{zzz|{{zz{{z{zzy{yzz{z{|{{{z{yyzz{z{{zz|{{{zz{zzzyz{{z{{y{{{{{zzzzz{{zz{zz{yz{{zz{z{{{{z{{|{z{{{{zz{z{{{{{zyz{zz{z{|{{{{{{{zyyzyzzzzzz{zz{{{zzzzyyzzx{yz|{{yz{{yyz{{{{{{z{|{{zyyzzzz{zyz{{zzz{zyz{zz{zzz{{{zzzz{z{z{{zzzz{zz{{zzzyz{{zz{z{{zz{{zzzz{z{{z||{{zzz{zzz{z{{z{||zz{{{z|zzz{z{{{{zzz{z{yz{z|{z{|{{z{{yzz{{{{{{{|{{zyz{{z{|{{|{{{{z{{{{{{{{|{{{|{|{{{|{z{z|{{{{{{{{z{z{{{z|||{{{||{{zz{z|{{{|{||{{|z|{z{{z{|||||||{{|{z{|{{{{|{{{{{zzz{z{||{{{z|{|{{{{|zz{{{{{|{{|z{zzzz{{{{{{|{{{{{{{yz{z{|{{{{||{zz{zzzz|}}{}{{{zzzz{yzz{|{|z{{{zzy{zzyz{{|{|{{{{{zz{y{z{{{{|{|{{{zz{zz{{{{{y|{{|{{zzzzz{||{z{{{yzzzzz{zz{{{{{|{|z{{{{zz{{|{{|{zzzzzzzz{{zz|{{{{zzyzyyyyz{{zz{{zz{zzz{zzzz{z{{{{z{{zyzzz{{{{{{|{zz{zzyzyzz{zz{y{{{{{{zzzzz|zz{|zzz{{zzzzy{{{{{{{zzzz{z{z{{z{{{||zz{{yzz{{z{|z{|{{{z{zz{zz{{{|{|zz{z{zzzz{{||z||{zz{zz{z{{{{{z{|zzzzz{zzz{|{|{||{{{zz{zzz{|||{|{|z{|{{{{{{{{||}||{y{{{z{z{|{||{||{{{{|{{{|{|{{{|}|z{{zz{{{{|{{|||{{{{{z{{|||||}||{|z|{z{{|{||||||{z{|{zz|{{||{|{{{{{{|{{|{{|{{{|{{{{zzz{{||{|{|{{{{{z{{{z{|{||||{{{{z{{{|||}|}{|{zzzz{z{z{||{{z{{{{zz|zzzzz{{{{{{{zzzyzz{{{{{||{|{{{z{{z{{{{{{|{||yzzzyzy{{{{z{{|{{{y{{zz{{{z|{|z{z{zzz{z{z{{{{|{{{zzzz{z{{{{{|{{z{z{zyzzzz{z{{|{zzz{zzzzz{|{{{z{zz{zzzzy{{{{|z{{zzzyzzzyzz{z|{{{zzzz{{zyz{zz{|z{zzzzzzyz{{{{|z{|{{zz{zy{z{z|y|{{{zz{z{{{z{z{{|{|z{{z{{{zzz||{z{|zz{z|z{{{{z{||{{zzz{z{zz{{|{{||{{{zz{{zzz{{{z||{z{y{{z{{z||{|||{z{{{{|{|z|{{||||{{{{{{z{|||{|{||}|{{|{|{z|{|||}|{z{{{{{{{{|{||||{{{{z{{{|{|}{|}|{z{z{zz{{{|{|}|}{{|{{{{||{{|||||{{{{||z{{{{|{{{{{{zzzzzz|{{{{z|||{{zzzz|{{||z{{|{{{z{zz||{|~}{{{zzzz{z{zz{|{|{{z{zz{zzy{z||{{{||{zzzyzyz{{{{{{||{z{y{zy{z|{z{{{{{z{zzzzz{zzz{{|{z{zzzzzyz{z{z{{{zyzz{zzy{zzzy{{z{{zzzzy{zzz{{||zzzz{y{yzz{{yz{{{zzzzyyyz{|z{{{{{zz{{zzz{z{z{z{{{zzzzzz{yzzz{z{y|z{zzzzz{{z{z|{{zzy{{zyzz{z{{zz{{{z{{zzzz|||{{{{zzz{zz{z{zz{{{{z{z{{{zz{z{|||z{{|zzzz{z{z{z|{z|{{{zz{{zzz||{z{{{{|{{{|zzz{||z{{{{{z{zzz{z{|||{||{z{{z{z|{{{{||{|{{{zz{zzz{||{|{{|{{{z{{{z||{{||}{{z{z{z{z|{z{{|{||z{{{{{{{{|{{}{||z{{{{zz|{{|{{{|{{z{|z{{||{{{{|{{{z{{z{{{||{||||{{{zz{z{z{z|||||{zzz{{z{z|{|z||{|z{z{{zz|{|{|{{{z{{z{{{z{{{z{{{|{{zzzzyyzzzz{z{|z{zyzzzz{|zz||{{|z{zzzzy{{{{z{|zz{yzzy|zz{{z{{{{z{yyyyzz{{zz{z{zzyzzzy{{zzzzz{|{zzzzzyzz{{yyz{{{zzzyzzzyz{zz{{z{zzyyyzzzzz{zz{{|{{{yzzyzzzz{z{|z{zz{zyyyzzzyz|zz{zyzzyzzzzy{z{z|{yzzzzyz{zzz{{z{zzzzzzzzz{{z|z{{zyzy{z{z{|{z{zz{zzyz{zz{{z{z{{{{{{zz{z{zz{{{|{{{zz|z{{zz{{{{{{{{{z{zzz{{{{zz{{{{{{{z{{yy{||{|{{{zzy{zz{zz|||{|{|z{{{y{{z{{{{z|{{|z{{{zzz|{|{||||{z{z{z{z{{{{{{|{{{{z|{{{z{||||{}{{|{zz{{||{|{|{{{{{{{{z{z{zzz{{|{{z{z{{z{{z{{{||{zzzz{{z{{{|{{{{{{{z{{{{z|{{z||{{{{{{{{z{{|{||z{|{{zzz{zz{{zzz{{zz{{zzzy||{z{{|{{{z{zz{z{{{z{||{zz{z{{yz{z|z{{{|z{z{yzzzz{{z{{z{{zz{zzzzz{z{{{{{zzzzzyzzz{zz{|{{z{zzzzzz{zz{z|zzz{{zyz{z{{{{{z{{{yzzzzyzzzzz{{{zzz{zzzyz|{zz{{{{zzzzyz{zz{{z{{z{{zzzzzzzz{{{z|{{zz{z{zz{{{y{z{|{{zyzzzzz{|{zz{|{z{{z{yz{zzz{z{{{{{{{zzzz|z{{{{|{{z{{{zzzz{{{{{|{{{{{{z{z{{{zz{|z{zzzzz{{{{|{{||{zzzz{zz{{{{|{||zz{{{{{{z||{{{{{{zz{{{{z{{|{|{{{|{z{{{{{||}}{{{||z{{{|{{{|z{|||}||{{{{{{{{||{{{|{{z{{z{{z|{{|{{{{{z{{{{z{{{z{{z{{z{{{z{z|{||{{|{{{z{{z{{{z{{||{|{{{{zzzzzz{z{z{|{{z{zz{z{{||{|{{|{z{zzzyz{{|{{||{{z{zzzzz{{{z{{{zy{zzz{zz{{{{{||{{z{{{zz{{{{||{{{{{{zzz{z{{{{{|{|zz{z{y{z{{z{z{{z|zz{zz{y{{{zz{zzz{{zz{zzz{zz{z|{z{yzzz{y{z{{z{zzzz{yzzyz{{z{{{{{{{{{y{yz{{z{{|{{{y{zzy{zzz{{{z{{zzzyzzz{{zz{{{z{{zzzzy{{{{zzz{|{{zzy{zzz|{z{{||{z{{zzz{zz{{{{{{|{{z{zz{|{|{|{||{{{||zz{z{{{zz|{{||{zzzzz|||{z|{z{z{|zzz{{{{{{{{||{{{{z{{|{z}{||{z{z{z{{z{||{||{}{{{{|{z{{{|||||{{z|zz{{{||{{{|{|{z|zz{{|{|{{{{||||{z{||{{||||{}|{zz{{{{z{{{|{|||{{{{{{{{||||||{|{{z{{{z{{||{{|||{|z{z{z{|{{{{||||{z{y{z{z|{|{{{{{|{z{{zz|{{|||{{zz{|{{zz{{{zz{{|{z{yzz{z{{{{|{{||zzzzz{z{{{{{{{{{zz{z{zz{{||{z|{{{{zz{{z{z{{{{z|zzzzzyzyz|{{z{|z{z{{{yzzzz{z{z{{zzzzzzzz{zzz{{{{zzzzyyzzz{z{{|{z{zyzy{yzz{{z{|{{{z{{y{zy{zz{||z{{zzy{zzzzz{z{|{|{z{zzzzzz{{{{{yzzz{zz{zyy{y{{z|{z{z{{zzy{{{|{{||{yz{{z{{{{{{|{{{{{z{z{{{{{|{z|{{z{{z{{{z{}{{{|{|{z{zz{{z{|{|z|{{{z{{{z{{||z{z{|{{z|z{{{{|{{||{|zzz{{{{{{|{{{{|{|{{|{z{zz||||{{||||z{zz{{|||{||}|{{{{{{|{{|{|||{{|{{{|{|||{z||||}z{||{{{z|{{{|||||z|{||{{{{{||||||{z{||{{{{|{||{||{{{y{{z{||{{{|{|{{{zzzy{|||{{{|{|zz{}z{|||}|{z}z{z{z{{{{{{{|{{{zzzzzyzz{zz{{z{{{zz{zzzz||z{{{{{{{zyzzy{z{{{zz{|{{zzzzz{{z{{{{z|zz{zzzyz{z|zz|{zzzzzzzyz{z{z{|{{zzzzz{{z{z{zz{{{{yzz{zzzz{{z{{{{zzzzzzyz{{{z{{|{{z{{yzyzzz{zzz{zz{zzzzzzzz{z{{z|zyzzz{zyy{{z{|{z{yzzz{zz{{z{{|{|z{{yzzz{{{{{{{{{{z{zy{zy{{{|{{{z{yzzzzzz{{{z{{{{{{z{zzzz{|{{{|z{{{zy{y{z{{{{{{|zzz{{{z{{{{{{{|{{{z{{z{{{{{z{{|||z|{{{{{z|{{{{}||{{z{{{yz{||{|{|||z{{{{{z||{||{||zz|{|{{{{|zz||{|{{{{{z{{||||{|{{{|{zz||{{|{||{|{{{{{{{{{{|{{{||||{{|{z{{||{||{{|{|{{{zz{{|{{{{|{{{z{{{{{{{z|{|{{{z{zz{{z|||{|{|{|z{zz{{z{|{z{{{|z{{z{zzz{{||{{{{{{zzzz{z{{{z{||{z{{zzy{z{|{{{{|{{{{zz{{z{{{{{{{|{{{z{{{z{zz{{||{{z{zzzzzz{{|{{{{z{|zz{z{{zz{{{zzzzzzzzzz{{||zz{|z{{zzzzzzz{{{{{{{zz{y{zz|{{{z{}{{zz{z|zzz{{{{z{|z{z{{zzz{{z{{|{z{z{{{{{zz{||z{|{{z{zz{z{{{{{{{|{{{{y{zz{{|{{{||{{{{{{{{{z||{{|||{z|zz{{z{{{{{{{{{z{{zzzy|{{{z{}{{z{z{zz{{|{{{|{{|{{|zz{{{{{{|z|{z{{{|{{{{|}{|{|}|z{|{z{{{{{{{{{{{z{|{{{{{{|{|||}{{||{||{{{|||||||{|{z|z{|}|}||||{{{{zz{{||||||||{yz{||z{|{{{{{||{{{{{z{|||{{}|||||{{{y{{z{{|{||{|{{|z{zzz|{||{|{|z|{{zz||{{{{{|{{{|z{{{z{|{{{{z{{{{z{{{zz|{{{|||zzzzzz|{{{||{{||||{z{{{{{{{|{{||||{y{{{z{{||{{{{{{{z{z{z{{z{z|{{|{z{z|{{{{|z{z||{{{yzzzzz|z|{|{|{{z{{y{{{{{{{|{{{{z{y{zz{{{||z{{{|{{yzzz|{|{{{|{{{z{{{zzz{|{{|{{{z{{{{{{{{|{{|{{{z{{z||{{{{|z{{{{{zzz{z|{{{{|z|||{{{zz{z{{{||||{z{{||{{{||{{{}{{{{{z{y{{{|||{|{{|z{zz{{{{{|{{{{{{z|{|{z{{|||{||{|z{{{{{{{||{{|||{||{|{|{|{z{|}{{|{|z{yz{|{{||}||}{{{|{{{||z||||}{{{{{{|||||||}}}|{|||{{{|}|}||}||{||{{{|{|{||||}|{{{{z|{{||{||{}{{{{{{|||||{}||{{{{{{{{{|||||||||{{|z{{{||||{{||{{{{{|z{|||{|{{|{{{z{y{z{||{{{{|{{zz{{zyz|{|{{|{{{{zz{z{|{{{|||{{z{{{{zz{{}|{{{||{{z{{zz{{{{||{|{zz{z{{{{|zz{{|{|{{{|z{z{||{z{{{{zzz{zzzzz{{{|{{zzzz{zzz|{z|{{||{{{{z{z{{|{z}||{{{|zz{zzz{z|{{|{{{{{z{{zz{{{{{{{{zz{{z{{z{{{{{{{zz{{|zzz{z{{{|}{{{{{{zz{{||z{|||{{{{|y{{z{|||||{{{{zzzzz{{|{{|||{{||{z|{|||{|}||{z{{{{{z{||{{{}{{{zy|{z||||||||{z{z{{|{{{|{|}|||{{|{{||{{{{|{{~}|{{{{{zz|{|||||{{{|{{|z{{|||||}}|{{z||{{z||||||}|{|{{{{{|}|{||}|}{||{{{z{|{{{|}{{z{{|{{{|{|{|}}}}{z{z|z{{|{}||||{|{z{{|{|{||{{|}|{{|{{{||||}{{}{|{{{||{{||||||{{{{{z{zz{z{{{|{||{{{{zz{z|{|{{{}|{{{yz||{{{|z{|||{z{{zyzz{{{|{{{|{{{z{z{{{{{{{{{|{{{{{{{z|{{z{{|{{z{z{{{{{||zz{{{{{{zzzy{{{{{{{{}{{z{zyzy{{{{{|{|{zzzzzzz{{{{{{{|{{{yzzz{z{{z{|{z{{z{{z{{z{{{{|{{|zzz{{zzz{{z{|{{{z{zzzyzz{z|{{{{{{zz{{z{{|{|{{||{z{{{z|{{{{{{{{|{{{{{{{{{|{{{||||z||{zzz{{{{{|{|{|{z|z{zz||{{|}{{z{{{{{{{||{||{|{{{{{{z{}{|||{|||{{|{{|{{||||||||{zz{{{|{|||||{}{{{{{{{||||{|{}}|{{{||||{}{}}}|}|{{{{|{{{|}}|||}|{{z{{z{|{|}|||||{{z{{{{|{|{|||||||z{|{|{{|{||||{{z{{{|{|{|{{|||{zzz{{|{{|{||{}|{z{{zz{{{|{|{{z{|zz{|z{{z{{{|{{}|z{{|{z{{{{{|||{|{z{{|z{{z|z{|{{{z{{{{zz{{{|||||{{{{z{{z{{||{|{||z|zzz{z|{{{||{{{z{{zz{{{{{|{{{{{{z{{z{z{{{{{z{{{zzz{z{{{{|z{z||{z{zzzz{|z{{{|{{zzzz{{zz{zz{{{|{{yz{{zz{z{zz{{z{{{z{z{{z||{{{{||{y{zz{y{z{{{{||{{z{{{z{{z{{z{{|}z{|{{z{z{{{{{{{{{zz{{{{z{{||{{|||{{{zz{{{||{{{|||z|yzz{{|{{{|{}||{{{{z{{}|||{||{{|z{{{{{{{||}{||{{{{|z|{|}||{||||{{|{{{{{{||}||{|{{||z{{||}||||||{{{||||{||||||||{{||{{|{}||||}|{{{{|{{{|{|}||{{|z{|{{|{{{||||}{|{|{{{|{|||||||}{{{z{||{z|}||||{|{{|{{{{{|||{|||{{|z{{{{||||{||{|{{{|z{z|||{{{{|{{{|z{{{{{|z{z{|{|{{zzzy{{|{{|{|zz|{zz{|{{}|{{||{{{zzz{zz{{|z{{}{{{{{y{z|{|zz{|{{z|{zz{{{{{{{{{{zy{y{z{z{z|{z{|{{{zz{zzz{{}{{||z{z{zz|z{{{zz|{{|{|z{zzzzz{{{|||{{zz{{z{{{{{z{|z{{{{zzzz{z{{{{{|{zzzz{z{{{{{|{||{{{{{{zz{{{{{|z{|||z{{{z{{}|zz|z{{z{zz|{{{|{{{{{||{|{{{{{{|{{||}|{z{zzz{{|||||z~{|{z{{{{{|||||{{||{{{|{|{{{{|}|||{|{{{z|{{|||||||{{|{{z{{||}||||||{z|{|{{|{||}{|}|{}{z||{{||||||||{|||{||{}|||||}||}{{z|{|}{||||||{{z{{{{{{|{{||||{{z|{{{{{|}|||}|{{z{|z{||{{{|{||{|{{{{{{||}{{{{z{{{{{{z}{{{{|{{|{{{{{{{{{|{{{{{z{z{|{z{{||{{|||{{zz{{zz{{{{|{|{z{{{zzz{{z|{{{|{{|{z{{z{{{{{{{{{{{z{{{|z{{|{|}|{{z{{z{{{{|{zz{{{{z{z{{zz{{{{||z{{zzz{z{{{{{{z{|z{|{zz|zz{{{{|{{{{z{zzzyzzz{zzz{|z{z{{{zzz{{{{{{|z{zzz{{zz{z||{{|zz{|{{{zzz{{{}{|zz{{{{z{{|z{{{|{{z{{{{z{|{|{{{{{|{{{{z{{{{{{|||{z{|z{zz{{{z||{||{z{{{|{|{{|{{||{|{{z{{{{||{|{||{|{{|{{|{{{{||||||{{|z{|{{{|{{|||{z|||{{|||||||{||{{{{|{||}|{||||{{|z{||{{|||{|}}|{{{z{{|{}}|}|{|{{{{{z|{||||{||{|{{||{{{{{{}}|}|{z{||{{{||{|||||{{{z{||||||||||||{{z{{{{{|||||z{|{|zz{{{{||||{{|z|{{y{{zz||{{}{{z{yyzz{{{{}{|{|{{{{yz{{{{z{{}|||{z{z{{z{|z|{z||{{{{zzz{z{{{{{|{{z{{z{zzy{{{{|{|{{{{z{zz|||{z{{{|zz{{zzz{{zz{z{{|{zz{{yz{z{{{{{|{{z{{zzzz{{{z{|{z{zzzy{{zzz{||}||{z{z{z{z{{{{z|z{{z{zz{zzz{{{z{|{{{z{{zyz{{{{{|{z{{{{zy{{{{{z{{{zz{{{zz{{{{{|||{{{zz|{zzz{{|{||{}|{{z{{{{{|z{{||{{{|{z{zz|{|{{{|{zz{}{{{{|{{{{||||{{{z{{|{|}}{|{{zz{z{{{{||{}{|{||{z{{zzz|{||{||}|{{{|{{{||{|||||{||zz{|{{|{{|||||{{|{||z{|{|||{}{|||z{{||||}||}||{|{{{||}|{|||||||{{{|{{||||||{|{{{y{{{|{{||{|}|{zz{{z{{{{{{{|}|{{|zzzzz}{{}||{|{zz{|{zzz|{{|z||{{z{z{zzz{zz{{}{{{{zz{{|{{{||{{{|{{{zy{{|{{|{{|z{zzzzzzz|{|z{|{|{{zzy{zzz{{{{|{{{z{zzyzz{zz|{||{zzzz{zyz{{z{{|z|z{zz{y{z{z|||z{zzzzzz{zz{z{{{|{{yz{{{|{zzz{|{{{{{{z{zzzzz{|{{{{{zzzzzzz{{{{{{{{{{{{zz{zz{{|{{|{|z{zzzz{{{||z{{|{{z{{{{|{{{||{{{|{{z{{zz{{||{z{{|{{z{{{{{{|{|{|{{{z{{z{z{{|}|{{{|{{{{z|{{{{|{|{{{|{{|{{{{||}|{{||{z{{{{{{|{{|{||||{{{z{{|||{|{{|{{z|{|{z{||||||}|{{{{z{{{}|{||||}|{{|z|{|{||||{||||{||{{{{{||{||||z{|{z|{{|||{||||{{{|||{|{{{|}||{z{{{z{{|||||z{}|{{{{{{{{|{|{}}z{{{z{z{{|{|}|{{{{{{|z{yz{{|{||{{{{{{z{z{{|z{{|{{{{{{z{{z{z|||{{{zz{{{zzz{{{|z{{|{z{zzzzz{z|{z{{|{z{|{zzz{{{z{{|{{zzzz{{{|{{z{{{{{zzz{zz{{zz{{{|zzzzz{zzzz{|z{zz{{{{z{{{{z{{||{||zz{zz{{zz{{{||{{zzzzzy{{{zz{z{{{{{zz{y{zz{y{z{{{{z{z{{yz{{|{{{|{{{{zz{{{{{|{{|{|{{{zz{zz{|{{||||{z{zzz{z{|{{{||||{{{z{{zz{|||{{{|{{{|{{{{|{|||{{{{{z{{{z{{{|{|||{{z{{{|{{|{}{||||{{{z{|{|{|{{|{|zz{{z{{{|}|}{|||{z{{{{|{{{|{|||{{||{{{|{||||{}|||{{|z{{{{||{||||{||||{{{{{{||}}}{{{{{{{z|{||{{|}{{{|{{z{}{|z||||{{{{{{z{{||{{|||||zz{z{{{{{|||}}{{{zz{|{{|||{|{{{{z{{zzz{|{{{{||{z{z{{z{z{|{|{||{{{y|{{z{{|z|{||z{|z{z{{{|{|{z{||{{{{z{z|{{||}{{z{{{z{{y{{{{{|{{{{z|{yzz{{|z{|{{zzz{zzz{|{{{z{{zzz{{{{zz{{{|}z{{zzz{{{z{z||{|{{{z{{{{zzzz||zz}|{{{z{{zzz{{{{{{{{z{{{{{{{z{{{{}{||{{z{z{z{{|{{|||zzz{zzz{z{{|{{{||{zzzz{{||{|{{|{{{{|{{{||{|{|{{{z{{{{{||z{{||{{{{{z{{{{{|{||{|{{{{{{{{|z{|{{{|||||zz|{{{{|}}{||||{{{{z{|{|{|||||{{|{{}|z{{{||{|{}|||z{|{|{|{{|}}{{{{z{|||{||{|||||||{||||}|}|}{}|{{{{|{{||||{|}|{zz{{{{{{}||}{|||{{{|{{{||||||{|{|{{{{|{{|||{~||{|{z{|{{|||{{{|{{z{{|z{{||}|{{{{z{z{z{{{{|{{||{{z{{|zy{{{|{|{||}{{z{{zzz{{{{|||{|{|zz{zz{{{|||{|{{{z{{{z{{||{{{|{z{z{z{{z{z{{{|{|zz{{{zz{z{{z|{{zz{zz{{{|z{{{{|{{zy{z{zzz|{{|{|{{{{z{{z{{{|{{{|{{zz{z{zz{{{{z|||{z{z{z{zz{{z{|{{|z{z|zz{z{{{{{|{{{{{z{{z{{{|||{{{|{|zzz{|}|{|{||||z{{z{{{{||{||}{|{{{{z{{|||{|{|{||{{z{{{}{{||||{{}{{|z{||||||}|{z{z{|{{{|||{|||{{|{{|{{{{||||{||}|{{|{||{{|||{||{|{z{{z{|}}|||||{|{{{|{|}|{}|||||{{{}|{||||||||||||{{||||{||~}||{{{||{{}||}||{||{|||{|{||{{||}|{{z{|z{{|||{||{|{||{{z{{{|||{||{||||{|{{{|{|{||}{{{{{{{{{||{||{{z{z{zz{y|{{{|{{|{{z{{z|{{|{{{}}{{{{z{{{{|{|{|||{|{{{z{zzz{{{{|{||{{zzz{y{{||z{{{|{{zz{{zz||{{{{{|zz{{{{{z{|||{{{y{zz{zzz|{{{{{||zzzz{{zz{{z{|{|{{z{zy{{{{{{{|{{z{zz{zz|zzz{{{{}{{{{z{zzyz{{{{{{{{{z{{zzzz|{{{|{|z{zzz{zy{{z|{}|{{{zzz{{{{{{{|{{|{{{{z{{{{{|{{{|||{{z{z{{{{{z{||{{z|z|{{{||{|||{{{{{z{{{z{{|z{{|{z|{{{{z{{{{{{}|{{{|{{|{{{||||}||{|{|{{|{|}||{}{|||{{|{z{||||{{|{|{{|{z|{|||||||{|{{{{{|{||{||}|}|{{{{{{||}{||{{||{{||{|{||{}||{||{||{||{}||{||}|{|z{|{{{}}{|||}{{{{z{{{{{{|{{||{|{z|{z|{||{{|{{|{{{z|{{{|{|{||{z{{zzzzz{|{|{{|||{{{{zzz{z{|z||{||z{{z{z{|{{|{||{{|{{{{z{{{{}z{{|{{{{{z{z{{{{{|}{{{|z{{|{z{|{z{{{{{{{{{{||{|z{{z{z{{{zz{{{z|{{{|{{z{z{zz{{{{{{{{{{z{zzzz{z{{{|{{{{zz{{{zzz{{|z{|{zz{z{zzzz{zz{{{|zz{{{zz{z{{z{{{|zzz{z{zz{{{|z{{z{{{{zz{{{{{{{|{|{{{z{z{{{{{{|{|{{{{{z{|{{||{|{{{|{|{z{{{{z|{{|{z{z|{{z{{{z||{z|{{{z{{{{|{{{{|||{{z{{{{z{||||}||}{|{{{{{{}{{}{{}|{{z{|z{{||||}{{||z{{||z{}||{{{||{{{{|{{||{|{{|{}{|{{||{{{|{|}||||{{{{{{{}|||}|{{|{||{{{z||{|||||}{{{||{{{|{||||{{{{z|{|{|||{|||}{z|{zz|{{{{{{|}}yz{{{{z{{{|{{{|{{{zzzzz{{{|||{{{z{{z{y{z{z{{|||{{{{z{{{z{|{||||{|z{{{zz{|{|{{{{{{{z{{{{{z{z{{{z|z{{|zzzz{{{{{|{zz{|{z{z{|{{|z{{{zzz{z{z{{|z{{|{|zzzz|{z{{{z{z|{z{{{zy{{{z{{{{{{{z{{{z{{{|z||z||{{z{{zz{z{{|z{|{{{z{zyzzzz{{{{{{}{zzz{zz{{|{|{{{|z|zz{zz{z{{|z{|{|z{{{{zy|{{|{||{z{zz{{{{{{|{||{|{{z{{||{{||{{{|||{{|z{z|{{{|{{}||{||z{{{{|{{|||||{{|{{|{||||||{{{{{||{{{|||}||||{{{|{{{||||{||||}||{{{{|||||||||||{{{||{{||{|||{}|{|{{{z|}|}|||||z|zz{{|}{|}{|||}{{{{|{{||||||||||zz|{z|{||||||||{{z|z{{|{|||}{}|{{{{{{z|z{||{||}{|z{z{{|{|}{{{|{{{{{z{z|{{{{|{{{zz{z{z{{{{z|{|z{{zzz|{z{{{{{||||z{z{{z{{|{|z{{||{{z{zz{{{|{{{{{{zzz{y{z{z|{zz{{{z{z{{zz{{{z{{{{|zz{z{zzz{{{z|{|zzzzzzzz{{{{{||{{zzzzzzzz{{{||zz{z{{zyz{{{{{{{|{{zzzzz|zy{{{{{{zz{zzz{zz{{z|z{{|zz{z{zzz{{{|{{{{{{z{{{{{{{|{{|z{|{z{{{{{|{{{{{|{zzz{z{{zz|{{{||{{z{{z{z{{{{{{{|{|{{z{{z{{y|{{{|{|zz{{{|{{{{{z|||z{{{z{{{{||{{||{{{{{z{{{|{||||||{{{{|{{{{|{|{{{{||{{|z{{{|||{||{{{z{|{{{{|||}|||{{z{{{z|{}||{||||{{z{{{{{|{|{{|||z{{{{{|{|{{{{|{{{{|{|{{}|||||{{|{|z|{{{||{{||}{z{{{z|{z|{{{{{||{zz{{{{{{{|{||{{z{z{{y{{{{|{{{||{{{z{z{z{|{{||{{|{{yzzzz|{{z|{||{z{{zy{{z{{|{{{{{{zzz{{z{z{{{|{|{{{{{z{{|{z{{{{|{{{{{zzzz{|z{{{|{{zzzz{z{z{{||{{yzz{z{zz{{{|{|{{zz{zyzy{{{{|{z|{{{{zz{zy|{{{z{||{{z{{zzzz{z{{|{{{z{z{{zz{{|{{{{{{zyzz{{zz{|{{{z|{z{zzzz{{|{{{{{}z{{|{z{{{z{{{|{{zz{{{z{{{{{{|||{{{{{|yz{y{{{{|{{{z|{{{z{||||{||||{{|{{{||{||{||{{|z{{||{|{|{||||{z{{z{{||||||{||{|{z{{zz||{{{{}||{{z|{{{{|||}{||{{{{{|{{||{{|{|{}||{z{{{|}|||||||{z{z|{{z|||||||{z{||z{{{{||}}||||z|{{{z||||{|{|{{{{{{{{||{|||||{|{{{z{{z|{{||{||{|{|{y|{z|{{|{{{zz{{zz{{|{{{|{{{z{zz|y{}{||{{{{z{{zz{|{y{{{{{{|{{z{{z{{||}|{{|{{{{zzz|y{{z{{|{{{z{z{z{zz{{{{|{{{z{y|{z{{||{{|{|{{{z{zy{{{{{z|{|{z{zzzz{z{{{{{{{zzz{z{zzzz{{|||{{{{{z{{{zzz{{{|{{zz{zyz{z{|{{{|{|zz{zzz{z{zz|{{|{z{{{zz{{{|{z{{{{{z{z{z||{{{{|{|{z{{z{z{{z||{|||{|{z{yzz{z|{|||{|||{{z{z{|{|{|{{||{{zy{z{||{z|{z|{{z{{{||{|{|{|{{{{zz{{{{|{{|||}z|{{{{{{|}|}|{|}|{z|zzz{{|{{{||||{{{|{{{|}|}||||{{|{{|{|||||||{||{|{{|{|||||{}{|{{{{{{{{{||{{||{{z{|{|z{|{{{||}||{{||{{|{|||{||{|{z{{|z{{|||{|||{{{{z{{z{}{|{||{{z{{{{{{{{}|{{|{{zz{{z{z|{{{{{||{{{{{zz{|||{{||{|zzz{{yzz{{{|||{zz{zz{{{{z|{{{||{{{zzz{{{||{z{||{z{zz{{zz{|{z|}{{{{{zzzz{z{{{{||{{zz{{z{zz|{{|{|{{zz{{z{{{{{{{{{{zz{{{z{{{{{{{|{zz{z{y{{z{zz{{|{{zz|{{zyz{{{{{{|z{{zz{zy{{{{||}|{{z{{z{z{|{|{|{{{{{zz{zz{z{{{{{{{z{z{z{{{{|{{|{}{z{{{z{{{{|{||{|{{z{zz|z{|{{z|{{|zzz{{z{{|||{}{|{zzz{z{{|||{z|{{{{|z|{{{{|{}{||{{{|{{{|{|||}{}||z{{{|{{{||||{}||}{{{{{{{|||{}||}{z{{{||{|{}||||{|{z{z||{{{|{|||||{{{{|{{|{|||}}|}{{|{{y{|||{{|}||{{|||z{{||}||}|{|{{|{z{|{|{|||{||{|{{{{{|{}||||{{{z|z{z{|{||{z{{{{zzz|y{||{{{z{z{y{zzyz{{{|||{|{zzz{{{y{{{|||{{{z|{{zzz{||z{||{{z{zzy{z{{{|{{{{{z{z{{zzz{{{{{z|{{z{{{z{{z{{{{{{zzzz{{yz{z{zz{|}{z{{z{zz{z{{z{{{{zz{{zyz{{|{z{{{zzzzzzz{y|z{||{{z{{z{zzzzz{{{{{|{z{z{zzzz{z|z|{{z{{{{{{z{{{{{|{|{zz{{y{z{{{{z{|||{{{zz|{|{|{{{{|zz{z{{{z{{|{{||z{z{z{{{{z{||}{|||z{{z{zz{{z|z|}{{z{{{zz{||{{|{|{{{{{{{zz||||{||{z|z|{{{{{||||}||{z{{||{{|{|||{{|{z{{|{{{{||||{}|{{|z|||||}||{||}|{{{{{{{{{}||{|||{|{|{{{|}||{}}||{{{{{{|{|||{}}{|z|z|{{{{|{}{{{|{|zz{{{{{{||||{z{|z{|{z{||||{}|{{{z{{{z{{{|{z{{{{zz{{{z{z{{z{z|{{{{|{yzzz{{{||{|{{zzz{z{{{|{{|{|{{{zzzzz{{{{{z{|{{{zz{{z|z{|||||{z|{{{z{z{{{{|{zzyz{zzzz|{{|{{{{{{{{z{{zz{{{{z{|{{{zzzz{{{{{{{{{{{zzy{z{z{|z{|{{{zzzzzzzz|{{|{{|zzz{{zzzz{zz|z{|{z{{zz{zz{{{{{{{zz|{{{{z{|z{z||{{{|{z{{z{||{{{{|{{|yz{{z|{{|{{{}{{{{{z{{{{|{{||{{|{{zz{z{|{{|{||{zz{{{zz{||}{|{|{{{{z{yz|{|{{|||z{{{{{{|{|||{{|{{{z{|{{{|{{||}}}{{zz{{{{{||||}|{|{{|{{{{|{||{||}|{|{||||{|{|||}|||{|{|||{}{||{{||z|{{z{z{||||||||{{{{{{{{{{|{||{|}{z|{{{|{||z|||{z{z{{{{{{||{{||{{{z{{{z}|{|{||{{zzzzz{z||||{{||{{{z{{|{||{{{{{|{{{z{{{{{{|{|||{{{zz{z{{{{{{{{}{{|{{{z{{{|z|{{{||{{z{y{z|{|{{z{|z|{{z{{z{|z|{|{{|z{zz{z{{{|zz{{{{zzzz{{{{|{|z{{|{zz{zzzz{z{{{|{{{z{{z{y{||{|{{{|z{|z{zzz{|{{z{|{{zz{{z{zz{{{||{{{{z{z{zzz{{{|||{|{{z{zz{{{|z||{|{{z|{z{{{{{|{|{}{zz{{{z{|z{{||||z{{{{z{{|{|{{|{}zz{z{y|{||{||}{|{z|{z{{{|||{{|{{|{{|{{{|||||z|||}z{{{z{z|{||}|||z{{|{z{{{}{||}||{{{{z{z|||}{||{{|{{||{z|{||{||||{|{||||{{||{||}}|{{|{|{{|}|}|||}|z{{{z|z|{||{|{|{{{{{||||||}|||}|{{{|{{{||{|{|}z|{{z{{{|||{|{||}|{||{zzz{|||{|}|{z{z{}{z{}{{}{{|}{zz{zzzz||{|{{|z}{{|z{{{z|{{{}||z{z{z{{|z|{|{{|{zz|{{z{z|{|{{{{{|{zzzzz||{{||{}zz{zzz{{z{z{{||{{|{zzzz{zz|{{|{|{z{{{{z{{{z|{z|{zzz{{z{z||{|{|||z{{{yzz{{|{z{{{|z{{{z{{y||{{{|{{z{{z{zzz{{{z{|{|zz{{{zz{{{z|{z{|{z|{{zz{{{||{||{{{{{{{{z{||{{|||{zzz{{|{|{z{{||||{{z{z{{|{||{|}|{{{|{zz{{{}{||{{|{{|{{z{|||z{{|||z||z{z{{}||||{|{{{{{{{{|{}}}|||{||{{zz{|{{|{||||{{|{{||}{{||{{||z||{{{z{{|{||}|||{|z{|{{||{|||||{|{{{{{||~|}|}}{{{{{{|{||||{||||{|{{{{{{||||}}}|{{||{{{|{||{}|{|{zz{{z{|{||{|||||z{{{{{|}{|{|}|{{{{z{{|{|||{|z|{zz{{{{z{|{{{{{|zz{zzzz{z|{z||||{z{zzz{z{{{{{{{|{{|{z|zz{{||{{||{{{{yz{{{|{{{{|{{y{zz{zz{|{{{{|{zz{{{z{z{{{z{{{|{zz{{{{z{z{|z{z{{zzz{zzz{|{z|||{{{{{z{z{{{{|{{z|{zzzzzz{{{{z{{|{zz{{{y{zz{{{{||{z{zzy{{z{|z|{{{{zz{z{{{{{|{|{||{zz{{{z{{{{{z|{{{{{{{{zz|{{{z|{||z{{zzzz{{{{z||{||{{{|z|{z||{{{{}{z|z{{{{z|{{|}||{{{{z{{z{||||||||{z|{{{{{{}{||||{{{{z|{{||{}|||||{{{{{{{|{||{||{|{{{|z|{|}{|{||}{z{{{{{z|||||||{|}{|||{{||{{}|}}|{{{{}{z{}{|}||||z|{{{{||}|{|||||||{{{{|||{|||||{{z{{{||{{{{{||||{zz{{|{|||{|||{{{{z{{{{{{|{z{{{{{z{{yzyz{{{{z|{{{{{{z{{{{|{{|||{z{{{zzz{{{{{{{{|{{{y{zz||{|z{{|zzzz{zzz|{{|{{{{{z{y{zzz{{zz|{|zzz{{{z{{{{{{z|z{{zzzz{{z{{{{zz{{{z{z{zzz{{{{{{z{|zz{y{{{{yz{||{{{z{zzzzzzz{{z{z|{zyz{zzz{{{z{|{|z{zzz{z{z{{|{{{|zz{{{{{z{{{|{{{|{{{y{zz{{{{{{{|||{z{{z{{||z{|||{{{{{z{{z||{|{|{|{zz{{z{z{|{|{}z|{{z|{{z{{|{{||||zz{{{{{{}||{{||{|{{{||{{{z|{}|{|{{{{{||{{||||||}|{{{z|z{{{|||||}|{z{{z{{{|||||}}{|{|{z||||||||{||{|{{|z{||}||||||{{{{{z{||||||{||z{{{{{||||{|{|{||{{{{{{{{||}||}|{{{||{{{|{|{}}|{{z{z{{{{z{||{||{|{{{z{{{|||z{{||{z{z{{zy{{{{z{|{{{{zz{{{{|{{{||{z|zzzzz||z||{{|{{{{zzz{zz{|zz{{|{{zzz{{|{z{{{{{{{{z{{{{{{z{{{{|{|{{zz{z{{|{{{||{zzz{{{y{{{|{{{|z{zz{z{{{{|{{{|z{zzz{zzzz{{{{|{z{z{{{{zy{{z{{||{{zz{zzz{{|zz{{{zz{{z{z{zz|z{{{||zz|zzzzz{|||||{{{{z{zzzz{{{|||}|zz{{{z{{{{{|z{{|z{{{y{{{{|{|{{||{z{|{y|{||{{||{{{{|{|{{{{||||{||{|{{||{{{{}{{||{||||||{|{|{|{|||{||{|{{||}{||}||{{z{{{{{}||||||{|{|z|{|z||||||}}{z{{{||{{|||{|~||{{{{||{{}{|{|||||||z|{{|||||||{||{{{|{{{||{|||{||{|{zz{}{|||}{|{{{{z||{||{||}|{|{zz{{{{{||{{|||{|{y{zz{|}{||||{{z|z{{{zz{||{{{|{z{y{zzz{{{{{{||||z{z|zz{{z|{|||{z{zy{z{z{{{{|{{{{{zz{{z{z|{{||{{{{{{{{yz||{{{|{z{{z{z{{||{zzz{{{{zy{y{||z{{z{{{zzz{zzz{z{{z{|{|zzz{{zz{{{{|{{{{{z{zzzz{{{{{{{{{{zzz|{{z{{{{{{{zzz{z{z{{{{{zz{{{{z{{z{zy{z{{{z||{z{{{{|{|||{z{{|zyz{{y{|{{{|||||{zz{{zz{{{|{{{|{{{{z{z{|{{{{{||{{{zz{z{|||{||{|{{{z{|{{{{|||z|{{{{{{|{{{{|||||||{||{|{{{}|||z||}{{{|{{{{||||||||||||{|{{|||||||{|||{{{|{|{||{||}||{{{||{|}}}|{|}{{{|{z{{|{|}||}{||{zz{z{|||{{|}}{{||{{{{||{|}|{{{|{{{|z{{|||{{{}{|zzz{{z{{{|z|}||z{{{z{{{||||{{|{{z{yy{zy{{z||||{{z|{z{{|{{{|{{|{{zz{zzz{{{{||{{{zzzz{z{{|{{{{{z|zz{z{yz{{|{z{z{{|z{z{{z{{{z{{{|{z{zzzzz{{{{z{{{{{zz{zz{{zzz{zz{yzzzz{zzzz{{{|{{zz{zyzyz{{{{{z{{zz{zz{z{zz{{{|{}z{zz{zyz{zzz|z{zzzz{{z{{z|z{{{{z{z{zzzzz{{{{|{||{{zz{yzzz{{{{{||z{{{{z|{|{|z{{||{z{z{{{{{z{{{{|{{z{{{{z{{{|z|{|{|||z{zzz{|{|{{|{{zz|zzzz|z{{{{{{{{zzz{{{||{{||{|||{{|{{{{|{{{|||||{{{zzy{{|{|||{{{{{{z{y||{|||||{{{|{{{{{|{|}|}|{z|{{{|{{}|||}{|||{{{z{{{|{{||{||y{{{{{{{{||{||}|{|{{{z{|||{|||||{{{{z{{{{{{{||||{{{|{{zz}{z|{|{{z|z{{{{{{|{{z{{{{{zz{yy{{||{z|{zzzyzzzz{z{{||{||{zzzyzz|{{z{{{{{z{zz{zz{{{{{|{{z{{zzz{{{{{|z{{|{zzzyzzz{|{{{||{{zzzzzzzzz{zz{{{{z{zz{zzz{z{{{||z{zzzyyz{{z{{{{{z{y{zzzyz{{{{|{{{zzzzzzy{|{|{{{z{{z{zyzz{{{zzz|{|{yzy{zz{z{z{|{z{{z{{zzzz{z|{{{{{zzz{z{|z{{{z{{||z{zzzz|{{{{{||{zz{{zz{z{|{{{|{{||{{zzzy||||||{||z{{{zz{z}|||{{{{zz||{z{{{{{{|{|{z{{{{z|||{|{|{|{{{z{z{{{{{{|{||{zz|{{{z|||}}{||{z|z{{{{{}||||}|{|{{z{{|||||{}|||{{|{|{{{||}|{{||{{|{|{z||||{|{{|{zz{{{{||{{||{}{{{{{{{{{|{|{||{{{z{zz{{||{{{||{{z{{{{|{{|{{{{||{z{zz{zz{{|{{{z{{zz{{z{zz{|zzz{{{{yzzzzy{{{{{z||zzzz{z{zzz{{{|{|{zzzzzz{{{{{{{{{z|zzzz{{{z{zz{{{zzzzzzzz{{{{z||zzzzzzzz{z{z{{z{{z{{z{zzz|{{{z{{{zyzzzyz{{{{zyz|zzyzz{zy{{z{{{|{{{{zzzzzzzz{{{{{{{zzzyzzzzz{{z{|z{zzz|zzz{zz{{|{{zzzzz{{zzz{{{{{{{{{{zy{z|{z|{{||{{{zzzzz{z{{{{{|zz|yzz{{{z|{{{{|{{{{yzz{{{{{{{|{{z{z{{z{z|{{{|{|{z{{z{{{{|{{{{{{z{zz{y{{|{{{|{|}z{{{|z{{||{|||}|{{{{z{{{{{{{|||||z|z|zzz|||{{{}||{{|z}{{||{{{{}}{{z{{|z{{}{||}}}||}{{{{||{||||||{zzz{z{{{{{||||{{{{{{{zzz{{|{||{{z{|{{{z|z{|{|{|z{{zz{|{||||{{{{zz{{{zzz|{{{z{{|yzzz{{{{{|{z{{{{{|zyzzzz{{z{|{{{|{{zzz{z|{|{{|{{{{{zz{zzzz{{|z{{{{zz{zzz{{{{{|{{{z{z{zzz{{{{{{{{{zzzy{{zz{|zz{{{{zzz{zz{z{zz{{{zzzzz{zzz{z{{{z|{{{zzzzyzy{{||{{|zy{zyzzzzzzy{z{zzzz{{zzyz|zz{{z{{{zz{{{z{z{{{|z|{zz{{zzz|{{zzz{{|z{{zz{{|{{z{{|{{{{{z{{{{{{{{||{{z|{zz{{z{|z{{{{|z{{zyzz{|{z|||{|{{{{{z{||{{{{{|{z{{{zz{{{{{|||{z{{{{{{|{{||{|{{{{{{zz{{{|{}{}||{{z{z{{{|{|||{}{||{z{{{z}|{{|||{{|{{||||||{||{||{{{z{|z{{||{{{||zz{{zz{{||||{|}{{z{{{{{{||{{||}}{z{{{{z{||{||{||{z{z{{{z{|{{|{||{{{{z{zz|z||{{{{{zz{{zzyz{||z{{{{z{z{{{zz{{{z{{|{{zzzz{z{|{{{{|{{|zzz|yz{z{z{|}{{z{{{{{{{{{|z|{|{{zzzzzz|{{{{z{{{{{{zzzz{{{z{{|{{{zzz|zz{{{{z{z{{z{yz{{zzyz|{|z|zzzz{{{zz{{{z|{{zzz{zzzz{{{{{|z{{z{zz{yzzzz|{{}|{z{{zzzzz{zzz{{|zzzzzz{{yz{z{|{z|z{z{zz{{z{|{|||{z{{z{{z||{{z|{||z|z{zzz|{{{{|{|z{{{{zzz{{{|{||{{{{{|z{z{||{z|{{|z{{z{zz|{{{|{{||z{y{{z{|{||{||{{z{{{z{{{|{{{|||{{{{{{{{|||}||||{|{{|{{{{{|{||{||z{{{|{{|||||{|||{||{{{|{||{|{{|{{|{{|{|{}||}}|||||{|{|{{|{|{||||{{{{{{{|{{}{{}|{|{{{{z{|{|||||||{zz{{{{{{{{|{|}|{|{{z{z||{|z|{{{{zzz|{{{{{{{|{|zz{{{z{zzz{||{{{z{{zzzz{{{{{|{|{|{zzz{y{{{{{{z{|{z{{y{z{{|||{z{{|zz{{z{z{z|{|{||z{{zzz{y|z{z{|z{{z|z{zy{{{|{{z{{{{{{z{zz{zzzzzz{{{{zz{zzzz{{{|{{{zzzzzyzz{{{{z{|{{{zzzz{{|{{{z{{zzz{{z{zz{{zz{{{{yzzzyzy{|z{{|{{zz{{{{z{{|{{{{{{z{zzzz{}{{{zz|||zzzzzzz{|{{{{|{|{{z{{z|{{z{z||||{{z{z{{z||||{{z|{{z|z{{z{||{{z|{{{{{z{{{{|{{||{{{{{{{|{{z{||||}|{{{{{{{||{||||||{z|{z|{{{{{|{|{{|{{{{{z{{||||||||||{{{{{{{{{|}}|{{{|z{{|||}|{|||||{|{{{{{|}||||||{{{{|z||||||||}|{z||{{{{||z||||{{{{{z{z{|{|{||}{{{{z{{z{||{|||{{|{{zz|{{|||{|}{{zzzzzzzyz|{{{|||{{z{{zz{{||{{{{z{z{{z{{|{{||{||yz{{y{zzz{{|{{{|{{{{zyzz|{|{{|{|zz{yz{{z{{{{{||{zy{zz{zzz{{|{|{{zz{zzzyz|zz|{{{{zzzz{zzz{z{{{||{{z{{{yy{|z|z{|z{{zzzzyzy{{{|{{{{zzzzzzz{zz{{{{{{|{{z{{z{y{z{{|{{z{{z{z{z{{z{{{|{zy{z{z{z|{{{{||{{y|zz{{zz{{{|{||{z{{{z{{z{{{|{|{{{{|{z{{|{|{z|{{{z{zzz{{|{{||{|{|{{|{{z{{||{|{|{|{|{z|z{||||||{{z{{z{|zz{|||{|||{{{z{z{z{|{{{|||{{z{|{{z||{||{||zz|{{{{{|{{{}{|}|{{{{{||{}|}|||||{||{{{{z||||||}|{{z{z{|{~}{{{{|{{{|{{{{||{|{{}|{z|{{{|{{z||||||||{{z{{z{{|{{{{{|z{||{{{{z{{{{{{z{zzzz{z{zzz|{|{{{z{|z{{{{||{{{|{z{zz{{{{{{{}|{{{{{z{{{z{{z|y|{{{{{z{z{z{{|}{{{z{{z{{{{yz{|{{{{{|zzz{{z{{{|{{|z|{{zz{zzz{z{z{{{{zyzz{z{z{z{zz{{{zz{{{yz{{|{{{|{{zzzzzzzzz{|{{|{{{zzzzzzz{{{{|{|{{zz{{z{z{{{{{}{|zzz{yzz{{z{{{{}{{zz{{z{yz{|||{|{{{|{z{{{{{{{{||{{{{z{{zz}|{{||{{z|{{{{z{{|z{|||{{|{{{|{z|||}|||{z{{{{{z{||{||{||{{{{{|{z{||}{||{{|{||{{{{|{||}||{{{{{|{{{}||||}|{{{{||{{||||||||{{{{||{{{||||||{}zzz|{|{||{|{{|||{{{{{}|{|}||}|}|y{|{{{{{{{||||{{{{{zz||||||{}}||||{{|{{{|||{}{|||zz|z{z{|{{{||||{|{z{{z|{{{|z{z{zzzzzzz{||{z|{{{z{{z{zz{{{{{{{||{{z{{{z{{{{{||{|{zz{z{z{z{z{{{{z{{zzyzz|{{{|{{|zz{y{{|{z{|{{{|z{{zzzz{z{{{{z{{z{{{zz{y{{{z{{{z{{y{{{z{z{{{|{{{z|{z{z{z{{{{{{{{{z{{zzzzzz{z{{{|{z{{{{yz{yzzz{{{{{{{z{{z{z|{{|{{{{z{{{zzz{{{}{{}{{zzzzz{z|{||||{|{|{z{{{z{{zz{{{|{{{{{{{{{{|{||||{z{{{|{{|{{|||||{{|{|{{{|{{{||}|{z{{{{{{{{{||||||{|{{{zz{|||{|{{{|||z{|{{{|{|||||{z|{{{{|}||{{|{||{{{z{{||{{||{|{{{|{||{z{{|||{|{{z{{z{|{}|}|}}||{{{z{|{||}|{|||{{{z{||{{|{|{{|||{{{|{{{||{|||||{{{zz|{{|z|||{}{{{{{z{{z{|{|{{{{{{{{|{{z{{{|{{{{zzyz{{zz{z|{|z}{{{zzzzzz|{{{{{{{{{{{{z{{{|{{{{{|{{{{{yzzzzz{z{z{{zzzzz{z|{{zz|{{{{z{{z{z{{{z{{{{z{{zzzzy{{z{{{{{zz{z{{zyzzz{z{z{{z{yz{{zz{zzz{{zzzz{zz{yzz{{{{z{z{y|{zzzz{{z{||{{z{zzzzzzz{z{{{{{zzzz{{{{|z{{{{{zz{zy{zz|{|{|z{|{{{z{{z{||{||{{|{{|{z{z{{}|z{||{{z{z{{z{{{{|{{|{{z{{{{{{{|{{||{|{|{|{zz{z{||{||{zz{{{{|{{{|{{|||{z|{{{{{{||||||{{{{y{{|{|{}{|||||{{|{z{z{{{||||||{{|{z{{||{{||||{{{{{{{{{|}|}|{||{{{{|{|{}||||}{}{{{zz{{||}||}|||{{{|{{{{|||{{||{{{{|{{{||||{|||{zzz{{{|z|||{{||{|z{{|{{||{}{{|||z{z{{{z{{zz{|{{{{{z{{zz{|{{{|}{{zz{zzz{{{{z{{{|{{{zzz{{|y{|{{{{{z{zz{z{{z|}||{{{|{zz{zz|{{{z||{z{{{yy{z{{zzy{|{zyz{{{yz|{{z{{||zzzzy{z{zz{{z{{{zzzyzzzy|z{z{||zzzyzz{{zz{{{{z||{z{zz{{{{{{{{{{{{zzz{z{yyzzz{|yz|{zz{{{{{{{{{z{|zz{{{zzz{{|{z||{{z{{zz{z{{|{|||{{{zzzz{{z|||{{|{|{{{z{{z{{|{|||}zz{{{{zz{|{|{{{|{{z|{z{{{|z{{|||{zzzz{zz||{{||{|{|{|{||{{{||{|{{|{{{z{{|{||{{||{{z{{||{{{~{{|{{{|{{{|z{{|||{{{}|{|{|{{{|{{||}}|}z{{{z|z|{}{||||}|{zz{{{{|}||{|{z|{{{{{z{{{|{|{||{|{||{z|{|||{{{|{z|z{{zz{||z{||||{{{{{{z{|{||{||{{{z|z{{{{{{|{}{|{z{{yzy{{{{z{{|zzzz{y{y{|{{{{{{{y|z{{{z{{{{{|{|{z{zzzzzz{{{y{|{{zzzz{zy|{{{{{{{zz{zz{|{{{z{{{{{{zz{{z{zzz{{{{{|{z{zyz{z{zz|z{{{{z{zzzzz|{|{z{{{{yzzyzyz{{{zzz|z{zz{zzyzzz|{{zz{{{{zzzzz{zz{z{||{|{{z{zzz{{{z{{{zzz{{{z{{{{{{{{|{{zzzz{z{z{{{{{|{z{zzzzz{zzz{|{{{{zz{||zz|||{{|{|z{z{z|zz|{|{|{{z{z{{{{z{{|{|{{z{{{{z{{z{|{|{|z{z{{{z{{|{}|}|{{|{|{z{{|{|{z|{|||{{{z{{z{{|||{||{|{|{{z|{||||{|}|{z|{z{{{|{{{|{{{{{{{|{z|{}|||{||z{{{{|{{{|{{{||||{{{{z{|{{{{||||{{{{|{||{|||||{}{{z{{z{z|{{{{{||{|zzz{z{{|z|{{{|{zzzzzzz{{{|{z{zz{{zyz{{z||{z{{{{zzz{z{z{|z|{|{{{z{yy{zyzz|{{||{y{{{z{zz{{|{{{{{z{z{{{{zz{{{{{{{{zzzzz{z{z{{zz{{{{z{{zyzzz{z{{{{z{zzzzyz{zz|{zz{z{zzzy{zzz{zz{y{{zzzz{zzz{|{{{zz{z{zzyz{{zzzyzz{{zzzzzzzz{zz{{{z{{{z{zzzz{{{z|z{{zzzzz{zz{{{{{{{{zzz{zz{{{{{{{{{zz{{{y{z{{{{z|{|zzzyz{{z{{{|{|||{{{{{{{z{{|{z|{{{{{y{{{z{{|{|{|{{{{{{zz{z||z{{||{zzz{|z{{{|{{||}zz{zz{{zz{{{||||{{{z{{y{{{|{{||||z{{{{{{|||{|||||{{{{|{{{{||{||||{{zz{z{{}||||||{{||{{{z||{|{||||{|{{|{{}|{||{{{{{{|{{{{{{}{||||{z{{{{|z|{|{||{|{|zz{|z{{{||z{|{{{{yzz{{{{|{{|{{y{zz{zzz{z{{z|||{z{z{z{z|||{|{|{|{{zz{zz{{{z{{|{|z{z{zzz{z|{{{{{{z{z{{{z{{{{|{{{{z{zz{z{z{z{{|{{{{{{zz{z{{{{z{{zz{z{{zz{{{z{z{{{zyzz{zzzz{z{{|{{zzzzzzzz{|z{{|{{{z{{yzyzz{{zzz|z{{{zzz{zz{{{{{{zzzzzyzzzz{zz{{{{{z{{y{|yz|z{{{{{{{zz{zzz{{{{z{{|zz{{{{{zz{{|{{||{{{z{zzz{{{|{|{|z{{{{{{{z|||{{{{zzzzzzz{{|{{{{}|z{{{{z{{{|{|{}|{|{|{z|{z{|{|{{{|{{|{z{{|||z|{|{|{{{{{{z{||||{||||z{z{|{{}{z}{}|}|{|{{|||{|{{|||||{{|{|{|{|{{|||{}{|{{{{|||{|{|}|{{{{{{z{z{{}{{{||{{{{|{{{{||||||{{zz{{{{{{{{||||{{{{zzzz{{||{{|{|{{z{z{z{||||{{{z{zz{zz{{|{{zz{{{{{|{{{z{{{{{{z|{zzz{z{z{{z{z|{|{{|{z|zz|{||{||{{z{zzzzz{{{{{{{|zz{y{{{zz{z{||{{{{zzzzzz{{{z{{{|{z{zzz{z{{z{z{{{zyz{{zzzz{{{z|{{{zz{zzz{{{{z{{{zz{|zyzzz{{{{{{}{z{zz{zzzz{{z{{{|zzzz{zzz{z{{{|{|{{{{zzz{z{{{{|{{{{|{zz{{z{{{{{{|z{{{zy{z{{{{{|||zz{z{{zz{{{|{{|{{{z{{zz{{|{{|}z|{{z{{z{z{||{{{|{{{{zz{zz{||z{{{|{||{z{{{||||||||z|{z{{{{|{{|{{||{z|{{zzz{{||||{|{{{z{|{{||||{}||{{{|z||{}{{|||||{{|{{{zz{|||{|{}{{{|{{{{||{{|{{{|{{{{|{|||{||{{|{{|||{{{{{|}{||z{{{z{{{{z|{||||||{zz|{{{|||{{{{{{{{{{{zz{|{{|{{|zzzz{zzzy{{|||{|{zz{zzz{{|{{{{{|{{zzzzzz|z{{{{{{{zz{{{{{z{|{{{{{{{{{z{zzz{{{z{{}{{zzz{zzz|z{z}{{zzzz{zz{{||{{{z{{{zzzzz{{z{{{zz{{zzzzz{z{{zz{{{{{z{zzzz{{z{{{|{|{z{z{zzzz{{{{z{|{{zz{yzzz{{{{||{{{zz|z{z{zzzz{{|{zzzzzzz{{{{{{|||{zyzzz{{{z{|{||{{{{{z{z{{{{{||{{z{{|{{|zz|{{|||{z{{yz{{z|{|{|{{|{|{zzzz|{|{|{}{zzz{{{{{z{}{{||||{{{{z{{{{|||{||z{{z{z|{{|{{{}||{{{z{z|z{||{||||{{{{{|{{||{|}{||{{|{{||{{|}{{|||{{||{|{|{||{|||{|{{{{{|{|}{|{||}|z{{{{{{{|||{{|||{{{|{{{|||{{|||{|zz{{{z|{}|{|||z|{z{{z{||{|{{}|z{{z{zzz{{|{z||{{{zzzzzy{{{{|{z{zz{z{zz{z{{{z{|{{{zz{z{{{{z{{{{|{z{{zzz{|z{{z{||{{{zz{|z{z|{z{{|z|z{zz{zz|{z{|{{{z|zzzz{{{y{z||{zz{{z{zz{{{{{{{{z{{{{yyz{z{{{{|{{{{zz{zz{z{{|{{|{zz{z{zzz|z||{{}{{zzzz{zzz{z{{{{{zzy{z{z{{{zz{{{{{zz{{{z{zz{||{{{{zz{z{z{{||{{{{{{{{z{{z{z{{{|{}{||yz{{y||||{||||{|zzzzz{{{|z|{||||{{z{{|{|{{{|{|z{z{{{{||||{|}{{{|{|{|z||||||{|{{{|{{|{|{{{{|{}{z{{{{{{|}{||||||{{{|{{||{||{||{{z{|{z||{|{||||||||{||{{|}||||||{{|{{z{{{{|{||{||{|{|{|}|||||||||{|||{{||}|{|||||{{|{{{{{|{{||||{{z{{zz{{{|{{||{{{{z{zzz{{||{{{|{{zy{zyzz{{{{{{{{{{{z{z{{|||{|{{{|z{z{{{{z|{|{||{{zz{z{{{{{|{{||{{{{zz{z{{{{zz{{|zz{zzzz{z{|z{|z{{zzzzzz|z{{z{{{z{zzz{{z|{{{{|||{z{zzzzz{{{{{{|{|zyzz{zzz||{|{{{{{zzy{{z{{|{{{{|{{z|{zzz{{z{|{z{{|{zz{{{z{{{{{{|{z{{{{{z{|{{{{|{|z{zzz|{{|{{{{|{{zz{{z|z{{|{|{|{z{{zz{z{{{||{||{|y||zz{z{||||||z{z{{{{zz{||||||z|z{{z|{{{{||z{{||{|z|{{{|||||||{{{{{{{|z|||}|||||{|{|{{{||{{{|||{{|{{|{z||||{}}}{{|{{{||{{{|{|}{|{z{{{{{z||}{||}|{{{{|{||||||}|{}||{{|{|{||{|}}}||{{|{{{{||}{}|||{{{|{|{|||{|||}||{z{{{{|||{{{|{|{{zzz{z{z||z{{{z{y{{zyz{{{{|{{|{{{zzzzy{{zz{|{{|{{{z{{z|{{{{z||z{z{{zz{{z{{z{||z{zz{{zz{||{{|{|{{{z{|zz{{{{{{{{z{zz{zy|z{|z{z{{{z{zzzzz{z{{{{{{yz{z{zz{{{{z{{|z{zy{z{zz{z{{|{{{{{z{yz{z{{{{zz{z{zz{zz{{{{z{z{{{{{zyz{zzz{zz{{|{z{{{{z{x{|{{{{{{{{{{zz|{|{|{{|||{z{{{z{{{{{|{{|||{z{|{{{zz{{{||{{y{{|z{z{{{{|{{z{{{{{{z{||{||{|{|zz{|{z{{}{|{{{|{{{zz{z{{|||{|||{{z|{||{|{|{{||}{{z{|{{z{||{}||{}zz||{{{||{|}{|}|{{{|{{{|{{|||}||{{z{{{{{}}||||}{{||{{|z|{{|}|{|}{{{{{|||||{{||||{{{z{{{|{||}|{|z{{z{{{{|{|||{||{|{{{{z{{{{||{||{z|{{{{{{{{{{{zz{{{yzz{z{{{{{{|{{zzy{zzz{{{{{{{z|zzz{zz{{{z{||{||z{yz{{{{{{|{{{{{{{{zzz{{z|{{|{{{y{{z{{y{|z|{|}|{y{z{zzz{{{z|{{{{yzzzzz{{{{{{{z{z{zz{zz{{z{{{z|zzzzzyyy{{{{{{{z{{z{yzz{zzz{{{{{{zzzy{zzzy{{{z||{{zzz{z{{z{{{{|{{{zzzz{yz{|{{{{{|{{{zzyzzz{|z{|{|{{{zzzz{{{z|z{|{{{{zz{{{{{||{|||{|{{{z{{{|{|{|{{{{z{{|{{{}{||{{{{{z{z|{{{{{{|}{{{{zz{{z|{z{||||{{{{{{|z|}|{|}{|}{{z{{{{z{||||{{{|y{z{{zz|{{|||{{{{|{{||{{||{{}||{{{{z{zz|}||{}{|{|{|{{{{||||{|{|||{{{|{{{|{{{|||{{|{{{{{|{{|}{{|{{{zzz{{{|{|{||{{{{|zz{{{{{{{{|{z{{zzz{z|{{{||z{zz{{{z{yzz{|{{{|yz{zz{z|{z{{{{{{{zz{y{zz{z{|{{|{{{{{zz{{{|{{z{{|{zzz{zzz{z|{{{z{{z{z{yzz|{{|z|{z{z{z{z{yz{{{z{{zzz{zy{zy{{{{{zz{{zzzzyzzz{zz}{z{|zzz{{yz{||z{{{{zz{{yyzz{{{{z{{{{{zzzzz{{z{z{{{{z{z{zzz{z{{{z{{|y{zy|zyy{{{{{{|{{{zzzzz{{{{{{{{|{z{{z{{{||{{{|{{|z{{{{{z{{{|{||||{{{z{{zzz|{||{{zy{z{{{z|||{|{|{{{y{zzz{{|{{{|||{{{z{{{{|{|{{{{|{|zz|z{{|{{}{{||{zz|z{{{{{||{{}{{{{{{z{{||{|{}|{{{z{zz{{{|{{{||||z|{|{{{{{{|||}|{z{{{{|z|{|{||||{{|{{{|{||||{||}{{|{{z{{||||{{{|zz{z{zz|{{{{{{|{|{|{z||{z|{{||||{zzy{{{{{{|z{|||z{zzzyyy{|{{{||{{{y{zyz{{{z{{|{|{{yzzzzz{{{{z|{|{z{{{zz{|zz{zz|{zzzyyz{z{{{|{{||z{z{z{zzz{z{{{|{{z{zzzzy{{z{z{{{zzzy{{zzz|zz{{{zzyzzzzzyz{{zz{z{{{zzzzzzz{|{{z{{z{zzzzzzzz{z{{{|zz{zzzzz|{{{{{{zz{zz{yzzzzzz{z{|zz|zz|yzz{zz{{||zzyzzz{{|{{z|z{{|z{zzy{{{z{|zz{{z{{{zz{z{{|{{||{{z|z{zzz{z{{|||{zz{z{{z{{|||{{||z{zz{{z{{||zz{{{{{z{{{z{|{{{{{{|z{{z{{{{||{{{|}}{{{{z|z{{{{{||{{{{{z{{{{|}||{|}|{{{{z|{{|{{|{||||{z{{|{{{||||{}~|z{{{{{{|{{{|||||{z{{{{||||{{||}|{{{|{z{{{{|{{{{z{z{zz{z{z{||{||{{z{{{{{{{||{{|{{z{{{{{z{{{{|{{{z{yz{zz{{z|z{|||zzzzzzz{{z{{{{|{|{zzyzz{z{{{{{{|{{zzzyzz{z{zz{{{zzzzzzyzz{|{{{{|{z{z{yzzzz{zz{{{{zyy{zzz{||z{{z{zz{zzzzzzz{{z|{{{zzzzzzzz{|{{{{zzzz{zzzz{{{{{{z{{zz{yzzzzz{z{{{zzyz{zz{y{z{zzz{|zzy{{{yyy{z{{{|{zyzzzzz{{{{{{||{|z{{{z{{{{{{{z{|z{{yzyz{{{zz{{{{z{{{zz{z{{{{|||{{zz{zz{{{|{{{{{{|zzzz{{{{{{{|{{{{z{|{z{z{|{z|}{{z{{{{|{{{|{|{{||{z|{{|||{|||{|||{{{|{zzz{{{|{|{{|z{||{{{z||{||{|z|{{|{{z|{{||||||z{{{{{{z}|}|z|||{{|{{{{||||||{{|{z{{z{{|}{||{||{{{z{zz{{{{|||||{z{|z|{{||{|{|{{{{{zz{{{{{z|z{{{{zz{z{zz{|{{{{z{z{zyzz{zz{{|{zz{{{{{{z{z{z{{{|||{{zzzzzy{z{z{z||{zzzzzz{{{{z{{{z{z{yyzzzzz{{z|{{{zzzyz{{z|z{{{{z{yzzzzzz{zzzzz{{zz{zzzzz{{{{z{z{zzzzzyzzzzz{{{||zz{z{zzzz{{{{{{|z{zyyzzz{{{{{|||z{zz{z{z{z{{z{{|zzz{zz{{{{{{||||{{zzzz{z|z{{{|{{zz{zzz{{{{|{{{|}{{{zz{z{{|{|{|{|zz{z{z{z{|{{{||{{{{z|z{z{{{{||{{{z{z{{{z{|{{{{|{{z{{{z{{{{|z{{||z{z{||{{{{|{|||}{{|{||{|{|||z||}{{|{{{{z{||{|z{{|{|{{{{{|{{{{{{|{|{{{{{|{|{{{}||{|z|z{{|{|}{}{|{{zz{|{{{{||||{{{{z{z{{{||{{||||||{|{{{{{{{{{{||}{{{{y{{z{|{{{|}||{{z{{{zz{|||{{{|{{yz{{z{{{}|{||zzz{{y|z{|||yz{}{{{{{zz{zz{z{||{{{z{zzzy|z{|{|{{{z{zzzzzz{z|{{z{{{{{zzzz{z||z{{||zzzz{zz|zy{{{{z{zzzzzzz{{|z|{z{zzzz{{z{{zz{z{{{zy{{{z{z{z{{|{z{{zz{{zz{zz{{{{{|z{{{zyzzz{{{z{{|{zz{|{zy{|{z{{{zz{z{{z{z{{{{{{{{zzz{zzz{z{|z||~{|zzy{z{y{|z{|{|||z{{{zz{{{{{||{{z{|{zz{{}{{z|{|{|zz{{{{{{||{{||z{zzz{{{|||{||{}{{{y{|{{{{{|{{||||{{z{{{{||{|}|||z|{{{||{{|{{|{|||{{|{z{z||||{|||{zz{|z{{||}}{||}|{{|z{||{|{|{||||{{{{|{|{|{}|{|{|{{{{||{|||{|}|}|{{{{{z{|{||{{{|||{{|{{z{|{|{|{||zzzz{{{{|||{|||{{|z|z{z|{{{|{}{{z{zzz{{|{|{{zz|z{{zzzzz{{{|{||{z{{{{{{z{{|{{|{|{}zy{yzz{{{|{{||{z{zz{{zz{|{||||{z|{{{{{{{{{{|{}zzyzz{z{z{{{{||{{{zyz{{z{{{{z{{{|z{zzzz{|{{z{zz{{zy{{z{zz{{{z{|{{{zzzzy{z{|{z|{{{{{zz{z{{{{{z{{|{zy{{zzzz{{z{{|z{{zz{zzzz{z{{{{{{{|{z{{z{{{||z||z{{z{z{{{{zz{{|{{{{{{z{{|{{{{{{{{{|{{{|z{|{{|{||{{z{|{z{{|{|||{|{z{{|{{z{||||{|{{{{{{z{z{{|}{|{{{{|{{|{z{}{|||||{|{z{{{|||||||||zz{{z{{z||||{||{|{{{{|}{||{{}||}{{{{{||{{{{|||||{{z{{|{{|}|||||||{|{|{z{}||{||}|{z|{{|{{{|{{{{}|||z|{{{{||{||{|}{|{{{{{{||z}{|{{{z|{{{{z|{|{{{|{{z{z{zz{{{|{|{{{{z{zzzyy{{{|{{{{z{zzyzzz|{{||z||zzz{zz{z{{{z{{{z{yz|{{{z||{{z{|{{{{zz{z{|z{{z{z{z{zzyzzz{|z|z{{{{z{z{zz|{z|{z{{|{zzyy{zz{{z{z{{{{zyz{zzzz|{z{{{{zy{zy{zzzz{{{{}{z{z{zzzz{{{|z{||{zz{zzzzz{z{z{{{{zzz{{{{z{zz{|{{{{zzz{z{zzz{{||{{yz{zz{zz|zz{|{|z{z{zzz{{|{|z{{{zz|y{{{{{|{{z{{z{{z{|{{z{{|{{|{{zz{{z{zz{|{{z{|{{{{{{z{z{{|{z{||{{{{{{|{||{|z|}{{{{zzz{{|{||{||}|{|{{{{{|{|{}||||{|{z{{z||||{|||{{{{{|{{{{||||||{{{|{{{{{|{|{{}||{{{{z{z{{||{||{{{|{|{{{{{|{{||||{{{{{{{{{|{{|{|{{|{{z{{|{||{||{{|z{{zzz{|{{{{|{{z{|z{{{{{{{|zz{z{{yz{yzz{|z|z{|zz{{|z{zz{{{z{{{{z{z{zyz{zz{{{{z{zy{zzyz{{||{{|{z{|zz{zz{{|z{{|{{z{zzzzzz{z{{|{zzzzz{zzz{{zzz{{{zzzzzzzzz{{z{{z{zzz{zz{zzzz{z{{z{zz{zzz{||{z|{|{{z{zzzz{{{{{{{|{{zzzzy{yzz{z{z{z{|z{yz{zy{{{{|{|zz{z{{{z{|z|{z|{{{{z{zzz{{{{{||{{{{{zzz{{z{{{{{||z{zy{{{{{{{|{||{z{{zz{{{|{z|{{{z{{{{{{z|||{{{{{|z{{|{z|{{|{||{|{{z{{{|{{{{{{|{|z|{{|{{{|{{{||{|{{{{{z{{|{|||{|}{{{{{{z{{|||{}{||||{|z|{{{|{||||{|{{{{{|{|}||{||{z||{{{z|{{{{||{|{z{{{{{|{z{||||{|z{|{{z||{|{{|{z{|z{{{z{|||{|}||zz|z{{z|{|||{{|{z{{yzyz|{|{{{{z|{z{zzzzz{{{zz{{{|zzzz{y{z|{{||{{{{zzzzzzzzz||{|{zzzz{zz{{|{|z||z{|zzzzz{{{{|{{{{z{zzzzzz{{z{{{{{z{{zz{{{{{{z{{zyz{zz{zz{z{{z{{{z{zzzyyz{{|{{{{zzzyzy{zz{zzy{||{{{{zyz{zz{z|{{{|{yzzzy{zz{{{z{{z{{zzzz{zz{zz||{{z{{zz{zz{{{|{{{{{zzz{{{z{{{{{{||{{{zzz{z{z||{{{|z{{|zz{{|{{|{{{z|{z{{{z|{{{{||{{|{|{z{{{{|||{{||{z{{zzz{{||{{{{|{{{{{zz{{{|||{|{z{|{{{||{{||{|{{z{{{{{{{{{|}{{||{z{{|z{z{}{||||{{{|zz{}|{|{||{{{|{{{{||{{}|||{|{|{{|zz{z||{{{{|||{{|{{{{{|{{|{||z{z|{{{||{|{||||z{{z{{{{{{|{|||||{|{{z{{{{|}|||{{{{y{zz{{{{z{{z{zzyzzzzzz|{{{zz|z{z{z{zz{{{{{{||{zzz{z{z||{z{{|{{z{{zy{z{{z{{{||{{z{z{{yz{|zz{z|{zz{z{{zz|z{z{{{|{{zyzzz{z{z{{{z{{{zzzyz{|zz{{{{{zzyzzzz{z{{z{{zzzzzz{zyz{{{{z{zzzz{zz{z{z|{z{{{{zz{zzzyy{{{{z|z{y{zzyzzzzy{{|{{z{{z{zz{|z{|{{{z{{{z{zz{|{{{{{||z{z{zz{z{{{{{||{zz{zzz{z{|{|{|{{|{{{zz{{{|{|||{{{zz{{zzz|{{{{{|{z{z{z{z{{{||{{||{{z||{{{{{{}||||{z{z|{{{|{{}|||||{|z{z{z||||{{{|{z{{z|{z{}{{||}|||{{{{{|{{||~||||{{|{||{z|||{}|||{{{{{z{|||{|{|{|z{z{{||{z|{{||{||{z{|z{||{{{|{}{{{{{{{{z{{{{||{{{z{{{{{z|{{|{{|{z|z{{{{{z|z{{zz{z{|zzzz{{{z|z{|{zzzz{zz|{z{{{{{{zyzzyz{z{z{{{{{{zz{{{{zzz{{y{|{z{{z{yzzz{{|{{{{{zzzz{{z{{{{zz{zzzzzz{zzz{{{zz{{zzzyz{zzzzz{z{{|zyzzz{zyz{{{z{{{zzzzzzyz{{{{{z{{zzzzyzzz|{{{|z|{{{yz{zyzzz{z{{z{zzz{zyz{zz{{z|{{zz{z{{zz{zz{z{{{{zz{yzzy{|zz{{{|{{{zzzzz{z|{|{{{|{{{{{{{{{{{{{{{{|{zzz{{z|{{{|{z{zz{z{{{|||{z|||z{{{{zz{{z|{{||{|zz{z{{{|{|{{{||{{{|{z{{{|{|{|||z{z{{zz{{{||{{|{|{zz|{z{{~|{{||{{{{{|{{|{{|{|}{||{|{{{zz{|{{{}|||z|{z{|{|{||{}{{{{{|{{{|{|{|{||{{{{z|z{{|||||{|}{z{z{{|z|{|z{||{{{|{{{{z{{{{{{||{{z{{{y{{{|{{{|z|zz{z{z{{{zz{|{|zzz{z{{z{{{|{{}|{{zz{zz{{z{{{{|{{z{{{z{zz{|{zz{z{{zzzz{{{z{z{z{|{yzzzzzzzzzz{|{{{{{zzyyy{y|z{|{{z{{zzzz{{zz|zz{{yz{yz{zy{z{{{{|{{zzzzz{{z{zz{{{{|{zzz{yzzz{zz{{|{zzzz{zyz{zz{|{||{zzzzzz{{z{{|{{{z{yzzzzz{|{{z{|z{zzz{{|{z{{{{{{{zz{{yz{{|{|{z||{y{{z{{{{{{{|{||{z{||{{{{{{}{{||{{{z{zzz{|{{{{||z{{z{z{{{{zz{|{{|z{{{{{|{{||{|||z{z{zz{{{{{{|||{|{{{{z{{z{|{|{||{z{{z{{{||||||{|{{{{{|{{{{|{|}|{|{{z{{zz{}{}|||||z|{{}{{||||||{|{z{|{{{|||{{||||{|{{||{{{{|||{{||{{z{{z{{{z{{{||{z{{z{{{||{{{|{|zz{zzz{z{{|||{{{z{zz{zzyz{{{z{{{zz{zzyzz{zz{{{{|{z{zzzzz{zz{{{|{{{{{zy{zzz{zzz|{z{{{zzz{{{{{{{{zzyzzzzzyz{|zz{{zzzzzzzzy{z{zz{{{{{zzyzzz{{z{y{{zzz{z{{zzz|{z{{{{z|zyzyzz{{{z{{{{{zzzzy{zz{{|{{{|zzzyzzzzz{z{{z{{zzzzzz{{z{{{{{{{zz{z{{y{{|{{{z|{{zyz{zz{{z{{{{z{{{{z{zzz{{|{{z|{z{z{z{z{{{{{{{{{{{{zzz{{{|{{||{{|{zzzz|{{{{{{{|{{{|zzyz{||{{{||{{z{{{{{{|{|||||{{z{{{{|{{{{|{||{{{{z{{zz{{|||{|{|{z{|{{||||{|{||{{{{{z{{{|{{|{||}z{{{{{{{||||{|{{{|{{z{{{|||{|{{{{{{z{{{||||||||{{{{{{z{{{{{|||}{{zzz{{{{|{}{{||{{|zz{z{z{{||{{{{z{{zzzzz{|{z{z|zzzzyzzzzz{z|{{{zzzz{z{yz{{{{||{z|zy{zzzz{zz{{{{{zzzzzy{z{{|z{{{{{zzyzzz|{{|{{{{{zz|zzz{{{zz{{{z{{zyzzz{{{{z{{{|yzzzy{zz{z{{zz{|{yzyzzzzz{zzz{{{zzz|y{yzz{{z{{{{zzzyz{yyz{z{{{{|zz{zz{{z{zzz{{zz{zzzzzzz{z{z{|{{z{{{z|zz{{zz||{|{{zz{zzz{{z{z{{{{{{{{zzzz{z{{|{{z|{zzz{{{|{z{{{|zzzz{{z{{{{|z{||{zz{{{zz{|||{{}|{zz{{z{{z|||{{|||z{{{{{{z{{||{{{{zz{{{|z{|{|{|{|{z{{{zz{{}{{{||||{||{{|{|{||||}|{{{{{z{{|||{{|{||{z{{z|{{|{}|||||z{{z{{{||||||||z{{z|{z{|{{{z||||{|z{{{|{z{|||{|{{{zzzz{{{{|||}|{{zz{z{y{{{||{{{{{zzzz{z|z{{{zz{{zzz{{zy{{|{{{z{{{z{{zzz{{{{{|{|{{z{{{zyzz{{{{z||{zyzzyzz{|{{{{z{|z{zzzz|{{|{z{{{{zzz{zz{{{zz{{{{z{y{zyz{{{{{{{{{zzzz{z{{zz{zz{{z{zz{zzzzz{|{zz{{zz{z{z{z{{|{{{{{{{zzz{z{{|{{{|{z{{y{z{{z{{zzz{|{zyzzyzz{{z|z{{zz{zzzz{{{|{{{z{{zzzz{zzy|{{{{{z{z{z{zz|{|{{|{|{|{{{zzzz{{|{{{|||{{z{{z{{{{{{|{||y{z{zzz|||{{{{||{z{z{{z{{|{{||}|{{z{{z{z{||{|{{|{{{|{z|z{{||{|||{{|{{{z{{}||}}|{|{{{|{|z{|{|{||{{{||{{|{{|||||}}{{{{{{z{|}|||||||{{{zz{{|||||||||{z{|z{z{{{|{{|||z{{{{{|{|z|||{{|{{{{{{{{|{{|{{}{{|{{|{z||{||||{{z{{{{zz{|{{z{{{{zzzz{{y{z{{{z{|z{{yzzzzz{z{{|}||z{y{yzy{{{{|{{|{{{zz{z{{{||{{z{{{{zzzzz{{{||{{{zzzzzzz{z|{z{z{z{zz{zzzzz{{zyzz{{z{yzz{zz{zz{z{{zzzyzzzzz{{z{z{z{zy{{y{z{{{z|{{|zz{zzz{zz{{{zzz|{{zzzyzzy{{{{{{|{yzzzzyz{zz{{|{|z{z{z{zy|z|{z{{z|z{z{zzyz{{{|{{|z{zzzz{{z{|{{{z|zz{zyz{z{{{z|||||z{{zz{{zz{|{||{{|z{|{{z{{{{|||{{zz{z{zz{|{{{|||{|{{z|{{{|z|{|||{{{|{{{||{{|{}{|{{{{{zz{{||||{}{|y{{{z||{|||{||{{z{{z{{{{{{{|{||{z{|z{z{{}|{|{|||{z|{z{{||{{|{{{|{{{{{{{{|{{{||{{{z{|zz{{z{|||||{z{z{z{z{{z||{||{zz{z{{z{|||{||{{z{{zz{{{|{{{{z{{zzzz{{{z{|zzz||zzzy{{{z{||{{{||z|{z|{{z{{{{|{{{{zzzzzzy{{{|z{z|{{zzyzzz{|{|{{||{{zzz{{zz{z{z{{{z{z{zzzy{z{z|{{{yyz{z{zy{{z{{|{{zzyz{yzzzzz{{{|{zzzzyzzzzzz{z{|{z{z{zzz{{|{{z{{{z{z{{z{zz{{|{{z|z{zzz{zzz{{{{|{{zz{z{zzy{{|{{{{{|zzz{|{z{{|{{|{{z{z{{z{{}{{{{z|{{z{zz{|z{{|{||||{{{{zzzz{{z{{{z{{{z{{z|{|{{|{||||{zz{z{{{{|{{{||{|{{{{{||{}{||{}{{z{{{|{{||{{|{||{{{{zzz|{|{{{{{|z{{{z{z|||{||{{{{|{{{|{||{|{{{|{{z{{{z{{{||}|||{|{{{z{{|{{||{|{{{{{|{{{||{||||||zz{||{{||||||{{{zzzzz{{z|{|{||}{z{{{zz{z{||{|}{{z{zzzzz{{{{{|{{zzzzzzzyy{{z{z{{z{z{yzzzz{{{{|{{z{zzy{zy{{|z{{{|z{{zzz|{{{|{z{{|{{{{yz{z{{||{|{zzy{zz{y{z{{{{{{zz{z{zzx{{z{z{{{|{yzzzyyz{{{|z{{{zzzzzyyzz{zz{{{|{yzzyzzzzz{z{{{{{{{z{zzzz{|y{|{|zz{zzzzy{y{{z{z{{zz{{zzzz{z{{{{{zzzzzzzzz{{{z|||{z{{{y{{{{{{|{{||zzzyy{z{{{{{z{{{{{z{{zz{|{{|{{{z{{z{{zy{||{{{|z{zzzzzzy{{{{{||{{z|z{z{{{{zz|||{z{{{{{{{{{{}||{|zzz{{{|{|{{||{||{||zz{{zz{|{||||{{{{{{{{||{|{||{{z{{||{{{}|}{|{||z{{{{{z|}}|{||||z{|{z{{{{{{{||{{zz{{{{{{{||{{|{{{{{{|z{{{{|{||{{{{z{zz{{{|{z{{|{{z{z{{{{{{|{{}|z{{z{z{z{{{{{{{{zzzzzxzy{{{{{|{{{zzzyzz{{{{z{|{{{zzzzzy{zz{z{z{{zzzz{y{zzz{{zz{z{zzzzzzyzz{z|{{{{{zyz{{zz{{z{zz{{zz{zzyz{|zz{{{{{zyyzzzyzzzz{zzzzzzzyzzyz{{zz{{zzzzzzyyz{{zz{zz{yz{zy{yzz{{zz{|{{{zzzyzzzz{zz|{{y{zyzz|zzz{|{|{{zzzzz{zz{|{{{z{zzz{z{y{z{z{z{|{||z{{zz{{{{{zz{{{{zz{z{zz{z{z{{{{{{{{zz{{{{{{z{z|{z{zzzzz||z{|z|{{zzz{z{z{{|{{{{{{{zz{{z{z{{{{{{{{{{{{{{{{{{|z{||{zz{|{{{||{{{|{{{z{z{{|z{||{|{{||zz{z|{|z{{|||||{{{z{|{{z}||{{|||z{z{zzz||{|||{|{z{z{{z{{|{{|{||{{{{{z{|{z{{}{{{{|{z{|{z|{{{{{{|z{zzzzz{z{{{|{|{{zzz|z|z{z{{z{{{z{zz{z{{zz{y{{{{{z{z{zyz{{{z{|{|{zzz{z{z{{{z|{{zzy{{{{yz{{{{z{|{{{z{zz{z{||{z{|{zz{z{z{yy{|{{{|zyzz{zzyz{{|{z{{{zzzzz{{yz|{{{{zz{yzy{zzzyz{{z{|zzzzz{zzzz{|{{{{{z{yzzzzzzz{{z{{|z{{zz{{yz{{|{{{|z{yzz{zzyzz{||{{zz{zz{zz|z{{{z|{z{zzzxyz{{|{{{{{{z{yz{z{{{z{{|{{{{|z{z{z|z{{||{{|z{{{zz{{|{{|{{|zzz{z{{{{{{|{{|z{zz{{|z{|{{z||{|{{{z|{{z{{{{{{|{{{{{{z{{{|{{{|{|{{z{{{{y{{{||{|||{{z||zz||||{|{{||{{{{{{||{|{||||z{{|{{{|||}|||||z|{{{{{{}|||{{||z{{{{{{z{|||||{{zz{|z{{{|{|{{{{z{{z{z|z{{|{{|{|{{z{z{|zz|{|z||{|z|y{z{z{|{{z{{zz{zzz{yzy{{zz{{{{{zzzyyyz{zy{{{|{yzzyz{{|{z|{{{{|y{{zz{{z|{{y{{|zzy{zyzy{{{{{z{{zzzzzzzzz{{y{{{{zzz|zyzzz{|z{{z{{zyzz{yzzzz{z{zz{yzzzyzzz{z{{{z{zzzzzzzzz{{{z{{{{z{zyyzyz{{|{{{{zz{z{zzzz{zzz{{|zzzz{zzyzzz{z{{{{zzzzzzz{{|{{z{{{zzzzyzz{{zz{{{{{z{zzzz{y{{{{{{{zz{zzz{z{{|{{{|z{zzy{{{z{{{z{|{{{{zz{zzz{z{{{{{z{{{z{zz{||{zz{||{zz{z{y{z|{||{{{z{{{{z|{|{||{{{|{z{z{z{z{|}{{{{{|{zz{zz{||{{}||{{{{{z{{z|||{||{|{{{{{{z|{{{|||||{{{{z{{{|{|{{{||{|{{{z{|{{{{{{||{{{{z{{z{{{|||||{{{{{{z{z||{{{||{{z{{z{zz{|||z{{{{{zzzzz{{{{zz||z{yy{zzz{{{zz{{{yzzzzzyzz{|{{{|{{{{yzz{zzz{z|{|z{z{zzzyzz{|{{y{z{{{zzzzy{{z{{zz{zz{zzzzyy{{{||z|{zzzzzyz{z{zz{{z{zzyzzyz{zzzz{z{zzyyzyz{zzzz{z{{{z{zy{yz{{{z{|{{{{zzyzzz{z|{z{{{zy{zyyyzy|zzzy{{zzzyzzzzz{{z{{{{{zzzyzyyz{{{z{{|z{zy{zzz{z{{{{{{z{yzzzzz{{zz{|{|yz{zzz{z{{|z{|{|zz{z{{z{z{{{z{|{z{z{|zzzz{{{{{|{{{{{zz{{{|}{|{{{{{{z{{zz|{{{{||{z{{{|z{z||{{|z{|zz{{zzzz{||{||{{|z{yz{{z||{{{{}|{{{{z{{||||{{{|{|z{|{|{{{{{|{||||z|z{|{{||{{{|||{{{{{zz{{|||{|||{{z{{{z{{|{{{|||{{z{zz{{z{{{{|{{{{{{{{zz{||{{z|{zz{z{{{z{z|{z{z{{y{zzzyyzz{{z{{{zz{{zz{z|z{z{{|{zzzzzy{z{{zz{{{{{yzzyzyzyzz|{z{|{{{zzzzz{{z{z{|{zzzzzz{zz{zzz{|{z{zz{zyz{{{zz{zzzzz{y{zzy{zzz{{zyyzzzzzz{{{z{y{{zyzyzzz{z{zzz{{{zzzzyzyyz{{{z{{z{zzyzzzyzzzz{{{zz{{yzzzzz{z{{{{zyzzzzyzzz{|z{{{{{zy{zz{z{{{{{{{{{z{zzy{{{zz{|{|{zy{zzzzz{{{{{{{{{z{{z{zz{|{{{|{|{{{zzzzz{{{{{|}|{y|{zzz{{{{{{{||{zz{z{{{{{||||{|zz|z{{|{{{{|{|||{z{z|zz{{|{||||{|{{{{y{{||{{{}|}|{|{{{|{{|{{{|{|{zz{z{z{{|{||||||{{|z{{{{||{{||{|z{{{{{{|{|{{|{|{{z{{{{{{{{|{{|{{{{z{{{{z{|{||{{{z{z{{yzz|{}z||{zz{zzzzz{z|z{{{{zzyzz{yyz{{yzz{{z{z{y{{{{{{{zz{{{{zzz{{z{{{{{{|{zz{{zzy{{z{{{{{|{zzyzy{y{z{{{||{zz{zzzzzz{yzz{z{{zzyzzzzzz{zz{{z{zzzyzzzzzz{{{{{zzzyzzyzyzzz{z|z{yyyyzy{{{{z{{z{zzzzzzzzz{{{z|{{z{zzzzyyzz{zzzz{zyzzzzz{z{zzz{{{{zzzzzzz{z{{|{{|yzzyyzzyz{{z{{z|{zzzzz{z{{{{z{{|z{z{z{yzz{{{z|{{{z{z{z{z{zz{{|{{{zz{zzzz|{{{z{|{{{zzzzzz|{{{{{{z{{z{{{z{{|{|{{|{{|{zz|{z|{{|{|||{{{{|||z||{|z{|{|zzzz{z{||}{{{||{{|zz{z{{{{}||||{{{z{{{{z|{{{{}|{{|{zz{{|{||{||||{{z|{{|{{{{|{}}{{z{|zz{{{{|{||}{|{z{z{zz{{{{|||{{zz{z{yz||{{{||{{|{zyy{{{||{{{zz{{{zy{{zzzz|{{{zzzzz{{z{z{{{{z|{zzzzzzzz{z||z{{{zzzzzy{{z{|zz{{zzzzyz{z{z|{{{z{{zyzz{zzy{{z{z|zz{{z|zy{z{{zz|z{zzzzz{zzzz{z{z{zzyzzzzzzzzzzz{{zyzz{yzz{z{{{{{z{zz{yz{zyzzz{{{|{z{{z{yzz{z{zz{{zyzz{zzzyy{zzz{{{zyzyz{zz{{{{z{||{z|{{{{{z{|{{z{{zzzzyzzz|z{{{{{|{z{z{zzz||{z{z{|{{{z{y{zz{{{{{{{z{{{z{zz{|{{||{{zzzz{z{{z{|{z|}{z{zy{{{{{{{||{||zz{{{y{||z{||{||{z{{zzz{|||{{{}z|z{{zy{z{|{{{||{{z|{{{{|{|{{{z{||z{{{z{{{||{|{|{{|{{|{{{{|||{|||{{z{{{z{{||{|{{|{{{{{z{{{||{||{{|{z{z{zz{{{}{{|{z{{{{z|{{{|{|{{{zz{z{z{{{z{z{{{{zyz{zz{zzzz{z{{{zz{zzzz{z|z{{|{{|{yzz{zz{z{{{{|{zz{{z{zy{|{|{z{|{zzzy{zz{z{{{|{{zz{z{yyzz{z{z{{{{zzzzz{zzz{z{z{{{{zzzyzy{yy{zz{{zzzzzzzzzz{zz{z{z{zzy{yzzzz{|{z{{y{zzzz{z{z{{{{}yzzz{zyz{{{z{{{{{{zyyzzzz{{{{{||y{z{{zzzz{{|{{{{z{z{zzzyz{{{{{||yz{{zy{{{{{{{z{{{zzzzz{z{{|{|{{{{{zz{{zzz{|{{{{|{z{z{{zy{{|z{|||{zz{{{{z|{{{{{}{|{{z||z{{|||||{|{{{|{z{{||{{}{|{{{{}|{z{{{|||{|{|{{{z|{{||{{{|||{{{{{{z{||{{}|{||{{z|{{|{|||||||{z|{{z|{|{|{||{{{{{{{z{{{{||}||}|{{z|z{{||{||{{|{|{{{z{z{||{|{{|{{{z{{zz{|||{{|{zz{{zzy{{{{{{{|{y{{zz{{zz{|z{{{{z{zz{yzzz|{{{{{{zzzz{zyz{{{{{|{zz{z{zzz{{{z|{z{z{{{zyyzz{{{z{{{|zyyzz{z{z{z{{z|zzzzzzzyzz|{zz{z{yzyyzzyzzzz{z||{zzzz{zzz{{{zz{|zzz{yzzzzzzzz{{{z{z{zyzzz{{z{z{{zzzzyzzzz{z{zzz{{z{zzz{{zy|z{{{z{zz{zz{zz{|{z{z{|zzyzz{zz{z{{z|{{zz{z{zzz{|{{{z{{z{{zz{z{|{{{|{{|{{zz{zzz|{{{|||{{zz{{z{z{{{{z|{{{{z{{z{|{zz|{|||{z{{{zzz{{{}|{}|{{{|z|{|||{{|{||{{{{{z{{{{|{|{|||{z{|{{z||{|}||{|{|z{{|{z{{|{||||{{{{{{{{||}|{||{{{{y{{|}{|{{||{{{zz{|z{{{z|||{|{{{{{{{{{{{{{}{|{{{z{zz{z|{|{|||||{{{z{{{|||{|{{z{{z{{zz{|{{{{z|zzzzzzzy{{{{{{{{{z{zyzyzz{z{{{{|zz{zzyz{|zz{|{}|{zzzzzz{z{zz{{{{{zzzyz{z{{|{{{z|zz{zzyzzz{zzz|{z{yz{zzzzyzz{z{{z{zyyzzzz{z{{zz{{zzyzyy{z{{zz{zz{zz{zz{zz{{{z{{zzzzz|yzzy{{z{{z{{zz{z{zzz{{zzzz{{{zzz{yzyzzz{{|{|zz{yz{zz|{{{z{{|{|z{zzy{z{{z{{|{{zz{zy{z{z{{y|{{z{{{zzz{z{{{{{||{zz{zz{z{|{{{{|{|z{{zzyz{{{{{{|{{{zzzz{z{{{{z|{|{zz{{{|{{|{|{|{{zzz|{z{z||{|{|{{{{|{z{z{|{|||{{}|zz{{z{z||{{||{|{z{||{{||||{}|||{{y{{z{z{}||{{}|{z|{z{|z{{{||||{z{{z{{z{{{{{|{{{|{z{{{{|||{||{||{{zz{z{{{|z{{{|{|{z{zz{z{{{|z|{|{{{yzz{zzz{{|{{{zzzzzzzyz{z{{z{{z{yzzyzzz{{{z{{z{zzyzz|zz{z{{{{z{z{zyzzzz{{{z{{{{{zzyzzzzy{{y{|{zzzy{zyyzzzzz{zz{zzyzyyzzzzz{{z{zzzyzzzzz{zz{z{|zzyzyyzyz{z{zz{zz{{zzzzyzz{{zz{|z{z{yz{y{{|zz{{{zzzzzyzzyzzzz{zz{zzzzyyzy{{z{z{{{zyzzz{zz{z{{{{{{zzy{zz{z|{z{{{{zyzz{y{{{{{{z{{{z{{zzz{{{z{{|{|z{zz{zyzz{|{{{{{zzzz{{zzzz{z|{{|{zzz{zyz{{|{{{|{|{{zz{zz{{{{|{||{{z|{{{{{|{{{||||{z|z{z{{{{||z||||z{{z{{{{{{||{{{{z{{{|{{{|{{{|{{{{|{z|z|z|||{{{{{z{{{z{{|{{{||{{|{zz{{z{{{{{||{{{z|{|{{{z{{|{|{{zz{zzz{z{{{{{|{|{{{{{zzz{|||{}{{{zz{yyyz{{|z{|{{|{zz{zyzz{{{{{|{|zzzzz{z{zzz{|z|{{{zzz{z|{{{|{{{{zzz{zzzy{||z{{{z{zzzzzz{{{{{z{|{{{zz{{zz{z{{{|zzyzzzzzzz{{{{{z{zz{{zzzyz{z{z{{{z{{zzzzyz{z{{{{zzzzzzz{zzz{z{{{{{{zzzzzzzzzzzz{{{zz{zzzzz|z{z|{{{zzz{zzzz{zzz{{{zzz{z{z{zz{{{{|{|zzzz{zz{||{{z{|{z{zzz{z{{{{{{z|zz{{zz{{{{|{{{{|{{{yz{zzz|{{|{{z|zz{z|{z||{|{z|{{{{z{zzz{{{{{{{|z{{zz{{z|{|||{|{{{{||z{{|{||{||}{z{{{{yz|{|||{|z{z{{{{{{{||{{}|{{{||{{|z{{{|||||}{z{{{{{|}{|||||{z|{{{{{{|{{||||{z{{z{{{||{{z|||{{z{{{{{{{{||||{z{{zz{{z{|{{|||{|{z{z{zz|{|{{{||{z|zz{yz}{{z{{{|zzzzzy{zz{{z{{z{yzzzzyzzz{{z{{{{{z{zz{{zzzz{{{|{zzzz{{zzz{|z{z{{zzzyzyzy{{{{z{z{{zzyzzzzz{{zz{{{{z{zzzzzzz{{{{zzzzzzzzyy{z{{zz{{zyzyz{zzz{{z{z{z{zz{zyzz{z{z{z|zzzz{zzz{z|z{z{{{{z{zzzzzz{{{z{zz{zzzzz{zz{zzz{|{zzzz{{zy|zz{z{z{{zy{{zz{zz{zz{{|{z{{{zzzz|{{|{{{zzz{zzyz|{z{{{{{z{z{{zzzz|{|{|z{zz{z{{{z{z{{{|{|{{z|{{zz{{{{{{{{|z{z{{z{z{{||{|{{z{{{{{z{{{||||||{zzzzz{z{|{{||{|{|z{z{z{|z|{|}|{{{z{{|{z{{{|{|{|{{{z|{z{|||{||}{z|{{{zz||{{|{|{{z{{zz{|{||{{{||{{z||z{{{z|{|{{{|{{{z{{{{{{{{||{|zzzzzz{{{{{{||z{z{{z{zz{{{{{zz{yy{zyyyzy{{{z{zzyzzz{yy{z{{|{{{{zz{zzzyy{zzz{|{zzz{xyz{zy{z{zz{{zz{zzzyzz{{{z{z{{zyzyyyy{z{{z{{{zzzz{yzzzz{{{{{{zzyzyzyzzzzz{{zzyzzyyyyyz{z{zz{{zzzzyyzz{{zzz{z{{{{zyz{zz{{z{{{{y{zyz{yzz{zzz{{z{z{yzz{zzzzzz{{{zyzz{{zyz{z|{{|{{zzzzy{{z{{{z{||{yz{{zzz{{{{}{{|yz|yzzzz{|z{{z{{|{zz{zy{zz{{{{{{{zzz{zz{{z{{{||{{z|{zzz{{|{z{{{z{{{{{{{{{z{|||{{{{{z{{||{{z{||{|z{{{zzzz{{{{|{||{{{{{{{z|||||{{|zz{{z{{{{{{{|z{|{zz{z{{z||{|{{||{{{{z{{{||{|{{{||{{{{{{{{{{{{{|||{z{{z{{|{|{{{{|{zz{{z{{z{||{|{||zzz{y{z{|{|z{{{z{{yz{zz{{{z{{z|zzzz{zzyz{{|z{z{{zzzyzzy{{z{y|{{zzzyzyzzzz{{{{{zzzy{yyzzz{zz{z{|{zzzzyzyzz{{{z{{zzzxzzzzz{zzy|{zzzzzzz{zz{{zz{z{z{zz{zyyzzz{{zz{zy{zzz{zz{z{{{zzzyzzzz{zz{{{{{{zz{zzzzy{zzzzz{{yz{{z{yzyz{z{{{{{z{zzzyzz{{z{z{z{zyz{z{zz{z{{z{z{zyzzyzzzz{{z{{{{zzzzyyz{zz|zz{||zyzzzzzz{{|{{z{|z{zzzz{zz|{z{{z{zz{{z{zzz{{|z{|{{zz{zzzzz|z{{zz|zz{z{zz{{{||{{{{{{zz|zz{z|{|{|||{zzz{zz{{}|{{{{{{z{z{{{{{|{|{|}|{z{{{{{{{|{|{{|||{{{{{zzz}|{{{||{{{|{z{{|z{{{z||{{{{|z{{{{{|{{{|{{{z{{{zz{|z|{||{zzzz{z{{{{{{||{{{zzzz{{{z{|{{{||{z{zyzz{z{|{|yz{zzzzy{zz{{{{{{{{zzzzzzz{{{{{|{z{zyz{zyz{{{|{{{zzzzzzzz{z{zzy{{{z{zzzzzy{z{{{{{{zzzzz{{y{{zz{{|zzzzzzy{z{{z{z{zzzz{yz{yzzzz{z|{zyz{zzzzzz{z{{zz{zyzzzz{zz{{{{{{{zz{zyzzzz{z}{|z{{{{y{{{zz{{zz{{{zzzzzzzzz{{{{|{{{zzzz{zzz||{|z{{z{{{{yzz{{|{{z{{{zzzzzzzz{z{z|||y{{{{{zz|{{{{{{|{zz{{z{{z||{|{{{zzz{{{|{{{||{{|{|z{|{z{z{z{{{{|{{{{zz{zzz|{|||{|z{{{|z{{{{{|||{}{z{z{{{{|{{||{||{{{{zy{|{|{{||||z{{{|{||{|{{{|||{{z{{z|z{{|||}|{|{{|zz{{}|||{{|{|{{zzzz{{{{|||}|{{z{|{{{|||{|||{{z{{{{{{|{}}{|||{{{{z{{zzz|{{||zz{{z{zz{{|{{|z{zzzz{zzyzzz{z{z{{zzzz{yzz{z{{{{|{{{zzy{yz{{{{{{||{y{zzzz{z{{{{{{{{z{zyz{z{|zzz{z{{z{y{zyzz{z{{{{z{zzzzz{z{z{{z{zz{{{zyzyzy{{{{{{zzyzzyzzz{{{z{{{{z{zzzyz{{{{{{{{{{zzzyzzyz{zzz{{{zyzz{zzzz{{z{{{{z{zz{zz{z{{{z{{{{zzzz{zz{z{{|z{{|z{z{zz{z{{{{{{{zz{{yyz{{zz{{{{{z{{{zzzz{|{{{z{|{z{{{z{{zz{|{|{z{zzzzyzy{|{{{{|z{zz{zz{{{{|{{{{{|{{{{z{{|{{|{{|{{zz{z{{{{{{|{{||{{{{{zzz|{{{{{|{{|{{{z{z||||{|||{z|{{{{{z{{|{{|{|z{{{{|z{|{{|||{|{{{{zzz|{{|||{|{z{z{{z|||{{|{{{|z{z{z{{{|{||{|{z{{z{{{{z{|{{{}{||z{z{{z{|z{{{{|{{{{zz{z{zz{|{z{zzzz{yzzzz|yz{{|zzzz{z{z{zz{{{{{{zzzzyz{zzz{{{z{{{{zzzz{z|{{z{|{{zz{yz{z{{|{{{{|{yzzzzzzz{z{{{{zzzzzzxyy{{{zz{zzzyz{{zz{zzz{z{zzzz{zz{{{yz{{z|{{zzzzz{zz|{|z{{{z{zzzzz{{z{z{{{{{{zz{zz{zzz{{z|{{|z{zzzzzzzzzz{{zzzzy{{zz{{{{{|{{{{{y{zzzzz{{z|||zz{zzy{z{||{z{{{zzzyzzzy{{{{{{{{{{{{zzz{z|{{{|{zzz{{zzzz|z{{{{{z{{{{{z{z|{|{{|{{{z|{||z{{{|||}|{{{{z|{{z{|{|||||{{|{z{{z{{||||||z{{{|z{z|||{|||{{{{{z{{z{||z{|||}{{z{{{{{{||{{|{{z{{{{{zz{{{{|{|zz{{{z{|{|{{{|}}z{{{{{z|{||}|{|{{z{z{{zy{|{{|{|z|{{|z{{z{|{|||||{z{{zz{z{{{z{|{zz{zzzzzzz{{z{{{{zzzzyzzy{zz{{{{{{{zzzz{{zz|z{z{z{{zz{zzy{z{{{|{{{zzz{{zy{z|{{|{{{{{y{{zyz{|{z{zz{yz{yzyzz{zzz{{{zzzzzzz{{z{zz|{{yyzyz{z{{{{{{{{z{{{z{zyzzz|{{{{{{{{zzz{zz|z{{z{{z{yzzzzzzz{z{z{|zzz{zz{{z{{{{|{{{z{{z{yz{{zz{z{{{{zy{y{{||{{|{{|{zzz{yz{{z{|{{||{{{z{{{z{|{|{||{z{{z{{{{{{{{z{{|{{z{|{zz{|{{|||{{z{{{z{{{||{{||{zz|y{|z|{|||{|}{{{{{|{{{||{|z}||{{{{{{{{|||z|{|||{z|z{{z|||||}|}{{{{|{|{}|{||||{|{{{||z|{|{{||{|{z{|z{{|{}|{|||{{z{{{{z{||{|{{}||{|{|{{{|{{|||||{{z{|{{z{|{{{|{|{{{{zz{z{{{|{{{{zz{z{z{z{{|{|{{{z|z{zzz{z{{{{{z{zzzzzyzz{{{{{{{{{zzz{z{{{zzz{{|{zzzz{z{zz{||{z|{zzzzzyzy{{{{{|{|zz{zyzzzz|{zz{{{zzz{zzzz{{{zz{{{{{{yyyz{{{{{{z{zzzy{zzyyzz{zzz|{zzzzzyyzz{{{zz{{zzzzz{zyz{{z{{{|{{zzzzzzz{zz{zz{{z{w{{zz{{{z{z{{zz{z{zyzz{|z{|||{zzz{zyzz|zy{||{zz{zzzz{z{{{{{{{zzzzyyzz{||{{{{{zzz{{z|z{{z{{{z{{y{{{z{y{||{{{|{{{{zzzzz{{{{{{|{{{z{{{z{{{||{{|{z{{{{z{{{{{}|||||z{zy{{z|{{||||{{{zz{{{|||||{|||{|{{{z{{z{||{|||{{{zzz{{{||{||}|{{||{{{{|{{{}{|||z{{{zzz{{{{{|||{{{{|{{{|||{{|{|{{z{{z{zz{zz{|||{zz{z{{z{|{|z{z{{z{z{zzz{{{{{{{{z{yyz{zzz{|z{{{zzzzzzzzzzz{{|{z{zzyzyyyz{{{{|{|zz{{z{zzzz{{{{zz{zzzzzyzz{z{{{{z{zz|zy{zzz{z{{{{{{zyzzyyzzz|{{{zz{z{yyzyzy{z{z{{{zzzyzzzz{{z{zz{zzzzzzzzzzz{{{{{{zy{{yzzz{{z{{zz{{{zzzzzzy{zzzz{{{{zyzy{z{{zz{{{{z{zyzzyz{z{{{{{|{zzzyzzzzz{zzzz|zzz{zzzyz{{{z|{{{{{z{zzz{{z{z{|{{z{zzyzy{{{|{{{{z{{z{{{z{{||{{{{{zzzzzzzz{{|{|{{{{{z|{{{|{|{{|||z{{|z{{||{{|{|||{|{{z{{{|}|{{|}||zzz{z{{{||{||||{{{{z|{{||{{|{|{|{{{z{{{{}{{{|{|{|{{zz{{{||{{|{{{{{{{z{|{{|{{{||{z{{{|z{|{{|{{||z{zzzz{{z{{{|{|{{{{{|{{z|{|{{z{{z{{z{yz{{{{{{{{{zzzz{{yyz{{{{{{{zyzzzzzz|{{z{{zzz{{{zzzy|{zz{|{{zz{xzzzz{{z{zz|{{zzzzyyzzzz{{z{{{z{zzz{zz{zz{{{z{zzyzyz{{zzyzzzyyzzyyz{z{zz{z{{{zzzyyyzyz{zz{{z{z{yyz{yy{zzz{{zzzyzzyzyzzz{{{{{{{yzzzyzy{zzzz{{{zzzzzzzyzzyzz|zzzzzzzzzy{zz{{z||{yzz{z{yzz{z{{{|zz{zzz{z{{{{{|{{zz|{zz{|{{{{{{{}{zzzzzzzz{{{{|{{{z{z{zzz{{z{{{{{|zzzzz{{{{{{z{||{zzy{zz{{{|{|{|{{{{{{z{z{{{|{||{{{{z{z{z{||{|||||{|{|z{z{{{|||{|{z{{{z{|{|||||{{{{y{{{{{|||{{||{{z{|{{zz{{{|{||{{{zz{z{|{{|{{|{{{{{{|{z{z{{z{{{|{z{yz|{{{z{{{{||{{{z{{z{{{{{z{|{{{{zzyzz{{{{{z{z{zzzyzzy{{{z{z{{z{zzzzzzz{{{z{{{z{zzz{zz{z{{{{{{zzz{zzzzz{|z{z{{zz{zyzzz{{|zz{{|zzzzzyz{zzzz{{{zy{{{zyz{{{{zzzz{{zzzzzyyzzz{z{{{zzzzzzyzz{{{{{z{zz{zyzzy{z{z{{{{zzzzzyzzz{{z{{{|{yzz{yzyzz{zz{{{{{zzzzzz|yz{{{z{z{yzzzzyzz{{{z{|{{z{zz{{{{{{z{{{{zzzyyz{{{{z{{||zy{yy{y{{{{{{{{{{{zz{z{z{|{{{{{{{{|zzzzy|{{{{{{{|{z{zzzzz|{{|{{{{z{z{z{{{{|{{{|{{{{{|{z{||{{{{{{{{{{{zz{{|{|z{|{{yzz|z{{{||{{|||{|{{{z{{||{{|{||{{|{{{{z{{{|{{|{{z{|z{z{{{{||||||{{{zzz{|||{|||}{z{{}|z|{}|{{||{zz{{zzz{y{{{||{{{|z{zz{{{{{{{{|zz{{zzzz{{{{{z}z{{zzz{zzyz{zz{z{{{zzzzzzy{{{z|{{|{zyzzzzz{{{{{z|{zzzzzzzyz{{zzz|{{{yzz{zzzz{{{{{{zzzzzyzzzz{z{z{zzz{zzyyy{{{{z{{{zzzzzzyzz{z{z{{{zxyyzzzzzzzzz{zzzzzzy{zz{zzz{{{zzzzyyyyzz{z{|z{{zzzzzyzzz{{{z{{z|zyzzxyzz{zzz{{{zzyz{{zzz{{{{{{{{{{zzyz{xz{{{z{z{zz{zyyz{{z{{{{|zzzzzzzyz{{{{||{zzz{z{zz{|z{{{{{zy{{{zyz{|{|{{|{zz{{zzzz{|{{{{|{|{{z{zzz|{{{{{z{z{z{z|{|{||{{z|{{{zz{zzz{{{{|{|{|zz{{{zz{||||{}{{z|{{{||{{|z}}|{{{||{{{{{||{|{{|{zz{{{{{|{{|{||{|{{{z{{z|{z|z|||{{zz{{{{{|{{{{{|{y{zz{{z{|{|||||{z{{zz{z{|{{{||{zyzzzzzy{{{{{{zz{zyzzzzyz{{{{{z{{zzzyzz{{{{z{{z{{zzzz{zy{z{z{{{|{yzyzzy{z|{yz{z{{{zzzzzz{z{{{{z{zzzy{zzzzzzz{{{z{zzzzyzzz{{zzzz{{zzzz{zz{{z{{{z{{zz{z{zzz{{zzz{y{z{zzzzzz{{{{{z{|z{zzzzzz{{{{z{{zzzy{zyzzz{{{z{{zzzzzzzzz{z{{{z{{z{{zzzyz{z{{z|zzz{zzz{{z{z{{{{{zz{z|z{z{{|{zz{|{{{zz{zzz||{|{|}{{zz{yz{{{{z||{{{{{zzzyz|||{{{|zz{{zz{zz{{{|{{{|{zzz{{z{{z{|{{|{{z{z{{{{z||{{|||yzzzzzyz{|{{{||{{zz{zyzy|{{{|{|{{{{z{zz{z|{||||{{{z{{{{z{}{{|{|{{{z|{z|{|{{|||{|{zzz|{zzz{|{{|}||{{{{z{|{{||{{{|{z{z|z|{{{{{|{|{|{{{{{{z{{||{{{{{{{z{zz{y{{{z{{zzzz{zz|zz{zz{{{{{|{zzy{z{z{|{{zz{yyz{{zy{z{{{z{z{{{yyzz{{{{|zz|zzz|yzzzy{{z{z{{|zzyx{zz{{z|z{||zzzzzzzzz{{{{z{zz{zzzzzzzzy{{z|{{{zzzzzzzz{zz{z{|zzzz{yzzz{{{{{zz{z|z{zyzzzz{{{{{{zzzz{zy{yzyzy{{{zzzzz{zz{zzz{{|zz{{zz{z{{z{{{|{zzzzzzz{zz{{{|z|zzzz{yzz{{{{{|z|{zzzz{{{{{{{{{{|zz{zzz{{z|{{{{{{{{|zz{y{{{{{|||{zz{zz{zz{{{{{|z{{{z{zz{{{{{|||{{{{zz{|||z{|{|{|||z{{{z{{||{|{|||{{{z{zz{|||z{||}{{{{{zz{{|{{|}|z{{{{{{{{{}{|{{||{z{{z{{z||{{|{{{|zzz{zzz|{|{||||{{|{{{z{{|{|{{{|z{z{{{z{{{{||{{|z{z|zzz|{{|{{{|{{{zy{{{{z{|{|zz{{{zzy{yzz|z{{z{{{|yzzz{{{{{z|{{|{{zzyzzyz{{z{z|{zz{zzzzz{{{|y{{{{zzzzyzy{{zzzzz{zz{zzz{zz{|{{{{z{{zy{zzz{zzzz{z{zzzyzzzzzzz{z{{{yz{{{y{zzz{z{z|{zyzzzyzzz{{z{{{zzzz{zzyzz{z{{zz{zz{z{yzyz{{|{|{{{zzyzzz{z{zz{z{{zzzz{{zz{zz{{{|z|z{zzzzy{z|{z{{{{{|{zy{{{z{{||{{z|{zzz{{{{z|{{{|{{z{{z{y{z{{{{{{zz{{{yz{{|{}{||||zz{{zzz{{{{|{{{|zzz{{zz{{{{{{{{{{|{{z{z{|{{|{|{{z|{zzy{|{|||{|{{z{z{zzz|||{||{}{z{|{z|{{{{{|{|{{{{{{{z|||z{{{{{|{|{{z{{{|||{{||{z{||{z{z|||{{||{z{{{{{||{|{{}||{{zz{z{z{{{{{{||||{z{zzzz{{|z||{{z{z{{{{{{|z{{z{z{zyzzzz{|{zzzzzz{yzzzzzzz|zzzz{{zzz{{z{{{z{{|}{{z{y{zzzz{{{zz|{{{{zyzyzz{{z{{z{z{{zz{zzyzzz{||{{zyyzzzz{{{zz{z{yzyy{zzz{zy{{{{zzz{zzyzzz{{{zz{z{{zzyyzzzzz{{z{{{{zyyzzzzz{z{{{{zzzzyzzyyzzzz{z{{zzyzzzzz{{{{{{|zzzyzzzz{z{{{z|{zz{yzzzzz{}{{zz{z{zzzyz{{z|{{{{{zz{yz{zzz|{{{|z{{{z{zz{z{{{{z||z{{{z{zzz|{|z{z{{{z{{{z{z{{{zz{{{{{{z{{{|{{{|{{||{{{z{zz|z{{{{||||z{{|{z{|{{{{{{|{yzz{z{{z{|||{|{{|{{{{z{{{{||{||{z{|z{z{||{{{}||{z|zz{{{||{|{}||{z{z{{{{z|z{||}{{{{||{{{{|{{|{{|z{zz{{{{||||{{||zzz{z{zy{{z||{{{z{{zz{zz{|{|{zzzzzyzzzzzz{{z{z{{{zzzz{{z{|{{z{{z{zzzz{zz{{z{{{{{zzzzzzy{{z{|zz{{zzzzyyzy{z{z|z{|zz{{zyzz{{{z{{|yzzzzzzzzzz{{z{zzzy{{zyyyzzzz{{z{zz{z{z{yzzzzz{{zzzyzzzzz{{{{{{{{zyzzyzz{y{y{{z{|zzzz{yyzzzzzzzz{{zz{zzyzz{zz{{{{yz{zz{zyzz{{z{|{{yzzzzyz{|{{{{||zy{{zy{{{{{{{z|{{{{{y{z{{|z{z{|{{|{z{yzz{{|{}{{{zz{zzz{z{z{{|{{|{{z{z{z{{|zz{|{|{z{zzz{{|{{||||{{z{{{z{}|||{{|||{zy{{z{z{||||{{z{{{{|zz|{||{|{|{{{{zz{{{{{{||||{{{{z{{{z{|{{|{|z{{{{{{{{{z||{{{{{{z|{{{{{{{{{|}|{{z{{{z|||{{|{|||zz{{zyz{{{|{{{z|{z{zz{z{{{|z|||zz{z{z{z|{{{{{z{zz{zz{zzz{{zz{z{zzzzzy{z{{{{{z{{zz{zyzzz{{z{{{{{{zzyzyzzz{zzz{z|{{{yzzz{|zzzz{z{{yzyzzzzyzz{{{{{zz{{zzzzyz{z{{{z|zy{zzzzzzz{{{{zzzzyzzyzzz{{z{{z{z{{zyzz{zzzzz{{z{{zzzzyyzz{y{{{zz{zyyzzz{zz{{{yzzzzzzzyz{z{{{{zy{zz{{{{{{z{zzzz|zzy{yyzz{{z{|{|{{zzzzzz{|{{z{}zzzzy{z{z{z{{{{{{zz{z{zzz{|{{{{|z{z|zzzzz{z||{{{z{zz{|z{{{z{zz{{||{{z{{{{{{{|{||{{{z{|{{{{{{{||||{{{z{{z||{{{|||z{z{{{z{{||||{{||{{zzz{|{||{||z|||z{{|zzz{||{{||}{{{z{{{{{||}{|{{{{{z{zz{{{{|{{|{{z{{{|z{|{||{{{{{{zz{{zzz|{|{|||{z{zzz{z{||{{{{{{{{z{yzz|z{{z{{zyzyzyzyz{{zzzzzz{zyyyzzyzzzy{{{|zzxzyzzzzzzzzzz{zyzzzyyyz{{zzz{z{zzyzzyyz{z{{{z{yzyyy{yyzzzzy{z{zyyyzyyzyz{zz{z{yxzyyzzzz{{zzz{zzzyzzyyyzz{zzzzzzzzzzzyzz{{{{{{z{zzyxzyx{zzz{z{{zyzz{yzyyzzzzz|{{zzzzy{yzzzzz{z{{{zz{{{y{zzzz{{z{zzzzzzz{{{{{zz{{zz{zz{zz{z{{{{{zzzyzzzz{{{z{{{{{yzz{yzzz{{{{z{zzzzz{zzyz{{z{{z{{{zz{yzz{{{{z{{{zzzyy{{z{z{z{{{{y{zzz{{{{|z{{{{|zzz{zzzz|{{|z{{{{zy{{z{{{{{{|{{{z{z{{{{{{{z{{{{{{zzzz{y|{||{{{||{z{{{z{{{{{||{||{yzyzzzz{z{z{{|{zzz{|{zz|z{{z{{|{{zzzzzz{{{{{{{{zzzzzzzzy{{{y{|{z{zzyyzy{z{{zz{{zzyzz|yzy{z{z{z{z{yzzyzz{{{{{|{{zzzzz{zz{{{zzz|{zyzzy{zzz{{{{z{zz{zyyzzzz{zz{zz{zz{yzyzy{z{{z{z{yyzzyzzzyz{zz{z{{{yyzzyyzyzzz{zz{zyzzzyzzz{{{z{{zzzzzyyzz{{{z{{z{z{zyzzyz{z{z{z{zzzzzyzz{y{yyzyzzzzzzzzzz{zzy|z{zy{yzzzy{{z{z{{|zyzz{zz{{{{z|{{{yz{zzz{z{z{z{z{{zyzzzzz{{{{z{z{|z{z{z{zz{{{|{|{{{{{{yzzzz{{{z{|{zz{{zyy{{{z{z{y|z{{z{{{{{{{||{|{z{{{{zzz{{{{{{|zzzz{{yzz{|{{|{{|{{{z{{{z{|||{{}|z{{{{{|{{|z||z{||{{{z{{z{{{{{|{{{zz{z|{z{{{{{|z{zzzz{{|{{{{{{|{|{{{{{zz{z{||{{|||{{y{z{zz{|||||{|{{{z{zy{||zz{{zzzzzzy|yz{{{z{z{zz{{yzzyz{{zz{z{z{z{{yyz{z{{z{{{zzzxzyzy{zyzzz{zzyzyzyzzz{z{y{{{zzzzzzzy{z{zz{z{zyzyzz{yzz{zz{{z{zyyyzyzzz{{{{zzz{zyxzyzyzzzzzz{zzyzzzzyz{zzzzzz{yyzxzyzzzzzz{{zzz{zyzyyzz{z{{zzzzzzzzzyzzzy{zzzyzzzzzzyzzzzz{{zzzzy{z{yzyzz{z{{zyzyzzyzz{zz{{{{zzzy{z{z{{{z|{{|z{z{yzzz{{{{zz{{{zzy{y{zz{{|{z{zzyzy{zzzz{|{{{{{zzzzz{zz{|zzzz{|{zzz{{z{{{z{{||{{z{zyz{{{{{{{{||z{{z{{{zz|{{{{{z{zyz||yz{|||{||{zzzzzz{{||{{{{{|{zzz{{zy{||z{|{{{{{zzz{z{||||{{{{zzz{z{{|{{{|{{|{z{{zzz{z{{{{{|{{zzz{{{y|z{|z{{|zz{z{zzz{{{|{{{{z{{yzzzz{{|zzz{{z{yzzyzyzzz{zz{zzzyyzzzzzz{zz{{|zzzyz{yzzzzzzzzz{zz{zyyzzzzzzzz{{zzzzz{yzzzyz{yzzzzyzzyyzzzz{{z{zy{yyyzz{z{zzzzzyzzyyzzzyzzzz{{{yxzyyyxyzz{zz{zzzzzzyyyy{zzz{{{zzzzy{zzzzzz|y{{zyyyzyzyzzzzzz{z{zzzzzyzzyzy{zz{{zz{xzzzzzzzyz{{z{zzzyxz{zzz{zz{|y{y{zyyzzz{z{{zz{zzzyyzzz{{{z{{{zz{zzzzyz{zzz{{zzyzyzzzy{{{zz{{z{zzzyzz{z{{zzz{{{zzz{zzzz{{|{z{{{{z{yzz{z{{z{{{{|{zzzzzz{{|{|{z{zzzz|zzz||{|{{{|zz{{{{z{z{{{{|{{{{z{{zzz{|{z{z{{zyzzz{zz|{{{{z{{{zz{{{z{z|{{{{{{{{z{zy{z{{{{{|{|{{zzzz{zzz{z{{{{z{zyzzzyz{{{z{z{z{zy{zzzzzz{{z{zzz{yzyyyzzz{zz{zz{y{zzzz|zz{{|{{zzyyzzzz|{{zzz|{y{zzzxyyz{z{{z{{zzzzyyzyzzzzzzz{yyyz{{zyy{yyyz{zzzzzzxyy{z{zzzzzyzzyyzyyzzz{zz{zzzyyzyzz{z{z{zzzzyzzyyzyzzzzz{{{zzzzy{yzz{{{|zzzzzyzyyzyz{zzz{{zz{zzzzzzz{z{{zzzyzzzzzzzzz{zzz{{zzyzzyzzzz{{z{{|zyzzzzzz{{zz{{{z{zzzyzzyz{{z|z{zzyzzzzzy{z{{{{z{zz{{{zzz{{{{{z|{{zz{{zzz{|{{{zz{zzyz{z{{{{{|{{|{zz{zz{zy{zz|||{|z{y{yzzz{{{{{{{{{z{z{{z{{|{{{{{{{z{{{{{{{{{{{{z{{{z{zzzzz|z{{}{{z{z{{z{z|z{{{{{{|zz{{zz{{{{|z{{z{z{z{{{z{{{|{{{|zz{y{zy{z{zz{{{{{{zzzz{{z|zzz{z{zy{yz{zz{yz{{{{{zyyzzyyyz{{y{{zzzzyzzzyy{zz{{{z{{zyzzzyz{z{yz|{zyzyzyyyyzz{{yzz{zzyxyyzx{z{zyzyz{yzzyyzzy{{yy{{{yy{yyxyyyz{yzzzzzzzxzzyyzzy{z{{zyyzyzzzzyyzyyz{zzzyzxyxzzyzz{z{zyyzyzyyyzzz{y{{{zzyyzyyyzzzyzzz{yyzyyzzyy{zzz{z{yyzzyyyyzz{{zz{{zzyy{zzzy{zzzzz{zzzzyzzz{z{z{zz{yzzzyzzzz{{zzz{zzzzzzzzz{z{zz{zz{zz{zzzyz{z{{{zzzz{zz{{y{{zzz{{zyyzy{zzzz{{{{{{|zz{zz{zz{{|{{z{{{zzzzzyzzz{{z{|{{zz{zzzz{{{{{{||{{{z{zzzz{{{{{||{zzz{z{zz|z{|{|zyzz{zzzz{{|zz{z{|{zy{zy{{|{z{{{z{zzz{zzz{{zz{{{|{zzzzzyz{{{{{{{{z{{{{z{zz{y{z{z{{{yzzyyzz{yzz{zzz{yyzzzzzzzzzz{{zyyzzyyyzz{z{{{{zzzyzyyzzz{{z{||{zzyyzxzyy{z{{{{z{yyyyzyzzz{z{zzzyzyzzyyzzzz{z{y{zyzyzzxz{{zzzzzzz{zyzzyzzy{yyzzyyzzzzyyzzz{z{{zzyyyzyyxzzzy{z{z{{zzyzzyzzz{z|yzzyyyzyzyzyyzzzzzzyzyzzzzyz{{z|z{{zzyz{zy{z{zzzzz{zzzzy{{zz{z{z{{zyzyzyzz{z{{zzz{zzyzzzyz{zzzz{|{zzzy{zzzzzz{{zzy{zyyzzzzzz{z{z|{{zzzzz{z{zz{|{{{z{zzyzzz{z{~{{|{yzzx{{z{{{|{{{|{zz{z{zy{zzz{{{|{{zz{{{zz{{z{{{{{{zz{y{z{{z|{{{{||zz{zz{z{|{{{{|{{y{zzz{{{{||{{{{|zz{zzz{{{{{{{{|{{z{{|{zzz{{{{{{{zzyzzzz{{||{{{{{yzzzzzz{{z{{{{zyz{zzzzzzz{zzzzzzy{zzzzyyz|zyz{|zyzzyyyzzzzzz{zzyzzyzyzz{z{{{z{zzyyz{yyzyzz{yz{zyzyyyyyzzzzzzzy{zzzzyxyyyyz{zz{{zyzzzyzy{zzy{{{{yyzzyzxyzyzzz{zzyyzzyxzyz{yzzz{{z{yzzzyzzzzz{z{{zzzyxzzzz{{z{{{zyzzzzxzzzzzzzzzzzyzyzzzzzzzzzzzzzzyz{zyy{zz{{z{zz{zzzyzzzz|zzz{{yy{zyz{y{{{{zzz{zzzzzz{yzzz{z{{zz{z{{yzxz{{z{{{yzz{{zz{z{z{z|{{{zyzzzyzyz{{z{z|zzz{{zzy{{z|z{{{{zzzyz{z{{{{{z{{|{{z{z{{zzzzzz{|{{zzz{zzz|{{{{||z{z{{z{z{z{{|{|{}{zzzz{y{{{{|{{{|{zz{yy{{zz{{{{|zzzzz|{{{|{|{{{||{{z{z{{{{{{{{{{{{{{zz|zzz{z{z{{{zzzzzzzz{zz{{z{zzzzz{yzyzz{zz{zz{zxzzyzyyz{z|zzzzzzzzzyzz{z{{|{{{{zyzzzzyz{zz{zz{y{zzzzzzzzzzzyzzzzyyzzyzzyzzz{{zzyzzzzzyz{yy{zzyzzzyy{y{zzzz{zzzzz{zzzzyzzzzzz{y{zyzxyzyzz{zzzzzyzzyzyyzzzz{{{{{z{zyyzyzzz{zzz{zzyz{xzyy{zyz{{{yyzzyxzyzz{{{{||yyzzyzyz{{zyz{{{zzyzzyyzzz{zz{{{zzzzzzz{{z{{{{{z{zyy{yyzzz{{{{z{{zzzzyzz{{zz{{{{zz{z{{zzz{{z{{|{zy{zzzy{{{z{zz{|{z{{z{zz{{z{{{{{z{zzz{zz{|{|{|{{z{{{z{yy{{{{{{{{zz{z{{zz{|{{{{|{{z{{{{{{{{{{|{|{{z{{z{{yz|||{{{{{{{z}zzz{|{z{{{z|{z{zz{{{{{{{{||{{{z{{zz{z{{|{{{{{zzzz{{{|z{{{|{z|{zzz{yz{|{{{{|zz{zzyzz{zzz{z{{zzzzzyzyzzzzzz{{z{yzzxzzz{zzzz{zzzzzzzzyzzzyzz{{zzyzzyyz{{{zz{zz{yyzyzzzzyz{zzz|zyyzzyyzz{yyy{{zzyyzzyyzzz{zzzzzzyzzzyyyzyz{z{z{zyyyzyyzzzy{zz{yzzyzzzyzzzz{{{{z{zz{yzzxyzz{{{z{{zzyzyyxzzzzzyz{zzzyxyzzy{yyy{{{zy{yyzzzzzzz{{{zzzzyzyzzzzzz{{{{zyzz{yzy{zzz{{{{zzzzzz{yzz{z{{z{zzzzyzzyzz{z{|zzzyzzzyzzz{{zzz{z{yzzzyzzz{z{{{{{yzzzzy{zz{{|{{{{z{zz{zz{|{z{{{||{z{yy{{y{{zz{{{z|zzy{yzzz{{|||||{{{zz{{z{{z{{{||{z{{z{zzz{{z{{{{{z{{{z{zz{{{{|z{|z{z{yzz{{{{||{|{{{z{{{z{{{{{{{|{zz{zzzz{z{{z{|{{zzzyzz{{{|||z{{zzzzyyzz{{z{z{yy{zzzzyyyyz{zz{zzzzyzzzyyzz{zzzz{{zzzyyzyzz{zzz{{{yzzzyyzz{z{y{zzz{zyyzyyyz{{zzzz{zzzyzzyzz{zzzzzzzyxzzyz{zzzzyzzyyzzzyzzzzx{yzzzyzyzzyzyz{zzzz{{yyyyzzyzzzzy{zyzyyzzyyzyzzzzz{|zzyzzzzyzzzyzzz{{zyzzyy{yz{{zz|zzyzzzyyyzzz{z{{{zzzyzzyyz{{zzz{z{zzzzzzzy{z{zz{z{z{zzzzzzzz{{{{|{{zzz{zzzzzz|{{{z{zyzzzzz{z{{{z{{z{yyyzzzz{{{{{{{yzzz{{z{{{zz{|{{zzyz{yz{|zz{{|{|{{zz{zzzz|{z|{|{|zz{zz{zz|{z|||{{{zzz{{|{{{{|{{||{{z{zzz{{}|{|{}{{{{zzz{|{{{{|{{{zz{z{zzzz{|{|z|{z{z{zy{{z{{|{{{z{{y{zz{z{{{{||{{zzzzyzzz{{{z{{zyz{zzzy{{yz{{{zzy{{zzyyzz{{zz{z{zxzzzyzz{{zzz{z{zzzzyzyy{z{z{{z{zyzz{zzyy{{{z{{{{zyzyyzzzz{zzzz|zzzzzzzyzzzzy{zyzzzyy{zzzzzz{{yzyzyyyyzzzzzzzzz{zyzzyyyyyz{zzzzzzyyzzzyzz{{z{{zzzyyyyzzyzz{{z{zz{xyzzyyyyzyzyz{zyyyzyyyyy{zz{{zz{zzzzzyzyzzzzz{zzyzy{yzzzzyy{zz{zyzyyzzz{{zz{z{{{zzzyzzz{{{z{{zz{{{zzyzzy{yz{zzyyzzzzzzzz{{{zz|{{zz{zzzzz{zz{z{z|zz{zz{yz{{|{{|{zz{yyz{{{z{{{{|{{zzzzzzz{z{z{{|{{z{zzzzz{|{z{{||z{z{z{{zzz{{{{|{zz{zzz{z{{|{z{{{{{|{z{zz|{{{{|{{{zzzyz{yz{{{|{{{zzz{{zz|{{z|z{{|z{{zzzzzz{z{{{{{{zzzzyzz{{{{zz{zz{yzzzzzzz{{z{yzy{yyzyyyy{zz{yzzzzyyzzyzzzz{zzz{zzyyy{zzzy{zzz{|zyzzyyyyz{z{yzz{zzzzyyyy{zzzz{z{{zzyyzzyyz{yy{zzzyzzyzyzz{zzyzzz{zzyzzzyyyzzz{z{xyyyyzzzy{yyzzzzzzzyyyyzz{z{zzzz{yzyyyzyzzzzzz{z{xzyzzzzzzyzz{{zzyyyzzyzyzzzy{y{zy{zzzyzzzz{zz{|{zzyyzzyz{zyzz{zzzzzzyzzz{zz{{{{zzzyyy{z{zz{z{{zzzzzzyyzyzz{{{zzzz{yz{zzz{{{zz{{{yzzzzzz{{{z{{{z{zzzyzzz{zzz|{{zzz{zzzz{{{{zz{{{yzzzzzyzz{z{z{{{zzyz|zz{{{z{{|{{z{zzz{|zz{{{{{{{{{zzzz{{|{{{z{{|{{z{zzzz{{|{{{{{{yz{zzzz{y{{{|{{zzz{zzzz{{{|{{{zz{zzzzz{z{{{{|{|{zzzz{zzz{z{{{{zzyyzzz{y{zzzz{zzzyyyyzzxyzz{zzzzzzzyzyyzzzzzz{{zzzzxyyz{z{{{zzzzz{zyyyyzzz{zzy{zzzzyyzyyzz{y{{zyzyzyzz{zzz{yyzzzyzzyyyyyzzzzz{z{zzzyyzyyyzzyz{zzzyy{zyzyzz{z{zzzzzyzzz{zyzzzzzzz{zzzyzyyzyz{z{z{yzyzzzzyz{zz{zz{zy{yzzzyyzzzz{{zyzzyyzxzzzzz{z{z{zzz{yzzy||zy{z{zxzzzyzy{zz|zz|{zzyyyzzyyz{z{zzzzyzz{yzzz{zz{{{{z{zzzzzz{{{zz{{zzzzzz{zzz{{z{|{y{{zzzzzzz|{{{{{{zzz{{z{{{{{{{|{{z{zzzzyz|{{z{zzzz{{z{{{{z{|{{zz|{{{{{z{z{|{z{{{{{z{zzz{zz|z{{|{{|z{{zzzz|{z{{|{|{z{{zzz{{{{{|z|{{zz{{zz{z|{{||{{zzzzzz{zz{{{{{|{{{z{zzyzz{{|z{{{zz{yzyz{y{zz{{{{zzzzyzzzzzyzzzzz{zzyyxzyyz{zz{zzzzyxxyzzyyy{zz{{zzzyxzxzzzz{{yz{{zzzyzyyz{z{yzz{yyzz{zzyyzzyzz{{zyyyz{yyyzzzyyzyzzyxyzxyyxzzzzzzzyyyzyzzzzzz{zzzzyyzyyyzyzzz{zzzzz{zyzzx{yz{zz{{yzzyzyyyzzyzyzzzzzyyzyyyyzzz{{z{yzzyzyyzzzz{zz{{zyzyyyzyzzz{{{z|zzzyzy{zzzzz{{{zyzzzyzzyzz{zz{zzzyzzyzzy{zz{z{{zzzyyzzyyzzz{y{{z{yzzyzzz{|{zz{{z{zy{zzzz{z{{z{{{zzzyzz|y{z{{zz{{{{z{zzyzz{{{zz{|zzzy{y{y{{{{{{{{y{zzzzzzz{y{{{{|{z{{{{z{y{z{{|}{{zyz{yz{{{{{{zz|{zzyzyzzz{{{|{{{{zzy{zzz{{{{z{z{z{zzzzyzz{zzz{{{z{{yzyzy{{z{z{{zzzzyzzzyyzz{{{{zzzzyzzyxyzzz{y{z{zzyyxzzzzyz{{{z{{yxzyzxzyzyz{{{zyyzyz{yzyzzzyy{zyzxyyzyzzzzz|zzzzyyzyzyz{yzy{z{zzzyyyyyyzzyz{y{zyyyxzyyzzzyzzzzzyzzzyzzz{yyz{|zzyzzzyzyzz{{zzz|yz{zyxyyz{y{zz{zzyzyyyyzyzzzyz{zzyyyzyyzy{{zzzz{yzzzzzyzzzzzz{{{zyyzzzyz{{zyxz{zzzzzzyzyzzzz{z{|zzyzzzyyzz{zz{zz{y{z{y{zz{{{z{zz{yyzyzzy{z{{z{{zzz{z{zzz{{|z{z{{z{zzzy{z{z|{z|{{zzyyz{{y{z{{y{{zzz{zz{xz{{{z{|z{{y{z{zzz{{z{y||{{zzzzz{z{{z{{{|{zzzzzzzzz|{{|{{{{{{{y{zz{{{{z{|z{z{zzzy{{{z|zz{{{zzzzzz{{{{{|{|{{zyz{yyz{z{zzz{zyzxyzyzz{{{z{{{zzzzzzz{yz{z{zzzzzyzyzzzyzzzyyz{yyyyzyyyyzyzzzz{z{{yxzzyyyyy{{{z{yyzzyzzyzzz{zzzzzzyyyyyyz{zyz{z{yy{zyyyxz{z{yzzzzyzyzzyyzz{yzyzzyyyyyzyzyzzzyzzzyyzxyyzyz{{yyyzzzyyyyyyzyzzz{z{y{yzyzzzxyzyz{z{zzyyzyy{yzzzzzzzzyyzyyzzzyzyz{{{zzyzzzyyy{zzzyzzzyyz{zyzyzz{z{zz{zzyzyyzz{zyzz{zzyzzzyzyzy{{z{z{zzy{yyyzzyzz{z{z|{zzzzzzy{zz{{z{zzzxyzzzzz{{{y{{{zzzzyz{z{|{{|{z{zzyz{zz{{{{|{{{{zzzzzzzz{z{{{{|{{yzzzzzz{z{z{|{|{zzzz{|{z|{{{{{|{z{yz{{zz{{|{|{{zz{{{z{z{{|{{z{{{zz{zzz{z{{{{{{|{zzzzzzz{{z{{{{{{{yyyyz{{{zz{z{|yzzzzzzyz|z{zz{{zyzyzyzyzz{z{z{zxyzzzyyxz{zz{zzzzzzyzyzyzzzzzzzzzzyzyzzyzzzzz{z|zzzzyz{xyzzz{zzz{yzzxyyyzzzyzzz{zzyyyyyyz{zy{{zzzyyyzxyyyzzzzzyzzzzyyyy{yzz{zzzzy{zzyyzzzyz{zzzz{zyyyzzyzzzz{zzzzz{yy{yzyyzzzz{{zzzyyy{zy{zzzyzyy{zzyzyyzzzzzzz{zzzzyyzzzzy{{{z{zyzy{zyzzz{zzz{z{yzz{zzzzzz{{{zz{zzzzyyzzz{{z{{z{zzyzyy{z{{z{{zzyzz{zzzzzz{{{z{z{{yzzzyz{{{zz{{{zzy{z{zzz|{{{{{{yz}{yzzz{{{{{{|{zyz{zzzzz{{{{{{{{zz{zzz{{{{{{{{|zzzzz{zz{{z{{|{{|{y{y{zzz|{|{{{{zy{zzzzz|{{{{{|{{zzz{{yzz{zzz{{{{z{z{{z{{z{{|{{{zzyyzz{z{{{{{{{|zzyz{zzzz{|zz{{zzy{yzzzz{{{z{{z{zyzzzzyzyzz{zz{{z{yzzyzzz{z{zz{{yyyyzzzz{zzz{{{{zyzz{zxzz{{{y{z{{yzyyzzyzzzyzzz{zyyyzzzz{{|zz{zz{zyz{yzy{z{zz{{{zz{yyzyzyzzz{zy{zzzzyzzzzz{zz{{yzyyyyyz{z{{z{zz{zzzzyzyzy{zzz{zzz{zzyyzyyzzyzz|z{zyzyzyzzz{zzz{zzy{yy{yy{zzy{zz{zzzyzzzyz{{z{zz{z{zzyyzz{{{{z{{{zzyz{zz{z{zz{{{{zzzzzzzzz{{y{{z{y{zxy{yy{{{{{y|z{zzzzz{zz{zzz{z{zyzzzzz{{{{{{{||{{{zy{{{z{z{{{}{{zzzzz{z{{{{y{{|{z|{{zzz{|{z{{|{{{zzz{{{{|{{|{{{{z{{{{z{z{|{{{|{{zz{{z{{{z{{{||{zz{zyzzyz{{{{{{|{zz{{{{{{{{{zzz|zzzzzzz{z{{{{z|{z{zz{z{z{{{{z{{z{z{z{yzz{z{z{{y{yzyyyzzyyzzzz{zzzzyzzzyyzzzzzzzz|{zz{zzyz{zyz{{{{zyyyzzyzzz{{z{{zz{yyyzyzzzzz{z|zyzzyyzyzzzzy{{{{zyzzyyzzz{yzzzzyzzyzzyz{zzz{zz{yzyyzyyzyzzzyzyzzzyyzyzyzy{zzzz{{yzyyzz{yzy{z{zyzzzzzyyxzzzz{zzyzzzzyyyyyz{{z{zz{yyyzzzy{z{{{z{{z{zzyyy{{z{{zyzzzzzyyzzzzzyz{|z{zzzyzzz{zyzz{{z{z{zyyzyz{{z{z|{{zzzzzzz{z{|zzzzzyzzyzz{z{zzz{{{zzzzy{{zz{z{{{|{{{zzzzzzz{zz{{|||zyzz{{zyzz{{||||{yz{{zzzz{{z|{{{zzzz{z{{{{{{||{{{{{yzzzzz|{|{{{{z{{zzzz{{{{{|{{{{zzz{z{zzz{z{{{|{{zz{z{z{{{{z|{{y{zyzz{y{}z{{{||{zzz{zzzz|{{{z{{zzzyzyzy{z|{z{z{yyyyyzyyyzzzyzz{zzyyyxzyz{zzz{{z{yyyzyzzzzzzz{{{yyzyzyyyzzzzzy{zzzyyzyyzzz{zz{z{zzyyyy{yz{x{zzzz{yzyzyzy{yzyzzyzyzyyxzyzyxzzz|zzyyyyzzyyzzzyzz{{zyyyxyzzzzzzz{{yyyzzzzyz{zz{zz{zzyzz{zyxz{zyz|{zzyxzzyzzzzz{{{zzzzzzyyzy{yy{zz{{zzzzzzzzz{zz{zz{zzzyyy{yz{{zz|{{zz{zzzz{z{zz{z{{z{z{{yzyy{yz|{{{zyzzzzyzz{{|{{{zy{yzzyzzz{{zz|zz{yzzzz{zz{{{|{|{{zzzzz|{z|z{|{|{zz{zzzyyz||{{y{y{{z{{zzz{{zz{{{zzyz{z{{{|{{{|{|{{{zz{{zz{{z{{{z{z{{{yzz{zz{{|{|{|z{{{zz{z|{{{{||{{z{{{{zzzz{z{{{{z{z{yzzz{{{z{{{{{zyyz{{z{{{z|{{zz{zz{zy{{z{zzy{yzyzyyzzz{zz{zzzzzyzzyxzz{zzzy{{zzzz{yzzyzzz{{zzzyzyyyzzzz{zz{zzzzzyzzzy{{zzz{zyzzzyyzzyz{zzzzy{zzzyzyzyz{{zy{zyyyyyzzyz{zzyzzzzyzyyyyzzyzzzz{zzzzzyyzyzzz{y{z{zzyzzyzyzzyzzzyzzzyzyzyzyyzzzz{z{yzyzyyyyy{{zzz{{zzyyzzyyzyzz{{{zzz{y{y{z{z{zz{z{zy{yyzzzzzzz{{{{zzzzyzzzzzzzz{{|zyzzzzzzy{z{{{{zzy{zzzzzzz|y{{|{zzzzzz{z{{zzz|{zzzz{{{zz{z{z{{{{zzzz{{{{z{{|{||{{{zzyzzzz{{|{{{{zz{zzzzzz|{{{||{{{zz{|{zz|{{{{{{|z|zz{zz{}{|{z{{{{z{zz{z{z{{{{{{{{zzz{z{{{zz|{{|{|{{{{y{{z{{||{|z{yyzz{z{zz{z{|{{{z{{z{y{{z{{z|{{|{zyzyzzzz{z{{zzyzzzzzzyz|zzyz{zzzzyyzzzzz{z{z{{zyyzyzxzzxz{z{{zyzy{zz{yzzzzzzzzyyyzzzyz{zzzzy{yzzyzzzzyyzz{zzzzz{yyyyyyzzzy{zzzzzyyyyzyzzy{zz{yyzyyyzzzz{z{zzzyyzyyyy{zzzzzz{z{zzzyyyy{zzyzz{yz{zzzyzy{zzyzzz{zyzyzzzyy{zyzzzzzyzzzzzz{zzz{zz{zzyzxzyzzzz{zz{{yzyz{zyz{zzzz{{{|zzzyzzy{z{zyz{{{zy{{yzyzzz{{{zz{zzzzzyyzz{zzz{{{z{{zzyzzz{zz{{{{yyzzzz{z{{{z{{{zzzzzyzzy{{|z{{{{{|zzzyyzz{|{z|{{zyz{z{z{{{{{z|{{z{zzz{{{{{{{{z|z{z{{z{|z||{{{|{{z{{z{z{z{{{|{z{zyy|z{zz|zz{{|{{{zzz{zz{zz{{{{{{{zzy{zzy{|{{{z||zzzzy{{y{{{{z{z{zz{yyyzzz{{zz{zzzzzzyyyzyz{zzy{zzzyyzyyyyy{zz{{{zzyzyzzyzzzyz{{zz{{yyyyzzzzzzzz{{zzzyzzzyyyzz|zzzzyzyyzyyzzzzzzz{zzyzyzyzz{zzzz{yyzzzyxzyyx{z{{{yyyyyyyzzyzzzzzzzzz{xyyzzzzzz{zzzzyzyzzyzzzzzy{{yzyzzyzyyzzyzz{yyzzyzyyzy{yzz{zzzyzzzzzyyzzz{z{zzzyyzxzzz{{zz{{{{zzyzy{zzzz{zz{z{y{{y{yyzz{{zz{zzz{zzzyyzz{zz{{{zy{zzyz{{z{zzz|{z{zzyzzzzzz{{{zzzzzzzz{z{{z{{{|{yy{zyzzz{{{|z|||zzz{zzyzy{|z{|{{{yzz{{{{z|{{||{{zzyz{z{{{{|{{{{{{{z{zzyz{}{{{|{|{z{{{zzz{|{{|{{{{zyzzyz{{{{{{{z{{{zzzzzz{{{{z{{{{zzzzyzz|{z{z{{z{yzzzzzzz{z{{{{z{{{zzzzzzz{zzzyzzxyzyzzzz{{zzz|z{zzzzyyy{z{zzzz|zzzyzzyzzz{zz{{{{yzz{zzyyyz{z{{{{yzyyzzyyzz{{zz{zyzyyzyyzz{{zy{zzy{zyzzzzzzyz{zzzyyzxzxyyy{zzzzzyzyzzy{yxy{zz{|zzy{zyyyy{{zz{zzzzzzzzyzyzzz{{z{zzyyzxyyyzzzzy{zzyyyyyyzyzzyzzzy{zyzyzz{yzzzz{zzz{yz{{zzzzzz{{z{{zyzyyy{zyzz{{{z{zzzyzzyzzz{{{y|{{zzzzyyz{z{{{zzzzzzzzyzz{{{z{{{zzyzz{z{yz{z{{z{zzzzyzzzz{{{{z|{{z{{z{zzz{{{{{{{zz|zzzyzz{{{{{z{{{zzzz{z{{z{{|{{{{{{zz{z{{{zz|{|{{z{zzzz{{{z{{|{||{zzzzzz{{{{{{{{zz{{{zyz{{|z{{{{z{z{{{zz{z{z{{z{{zzzzyz{y{z{|{{z{zzzyzz{{z{{zz{{{{z{zyzzzzzz{zzzzyzzyzzyz{{{zz{{{zyyzyzy{zzz{zz{zzzzzyyyzzzzzz{{{zyzzzzzzzzyzy{zzyyyyxzy{zzzzzy{zyzzyzzyyzyz{{{zzyzyy{yyyz{zzzzzzzzyzzyyyyz{zzzzyzyzyzzyz{zy|yz{{yzzyzxz{zzz{z{zzyyyyzyyzyzyzyz{{yyyzyzyyyzzzz{zyzzyyyyyzzzzzz{{zyzyzzzz{zz{z{{z{yzyzzz{z{{zzz{{zyzz{z{yzy{zz|{{yzzyyzyzzz{zz{{zzzzzzzzzz{{zz{zzzyzzzyyz{{{zzz}zzzzzzzzzz{{{z{{{{zzzzz{zz{{{{{|{z|z{{zzz{{z{z{|{{{z{{{zz{{{z{{{z{zzzzzzz|{{{{{{{{z{zzz{{{{z{{|||{z{{zy{{z||{{{{|zz{z{zz{zz{{{{{zz|zz{{zzz{{{{{||{{{zz{zz{z{{|{{{z{{{zzzzzz{|{{{{{zxzyzy{z|||z{{{zzzzzzzy{{z{z{z{yzzyzzyyy{zyzy{zz{zyyyzzzzyzz{{{zzyyyzyy{{{zzzzz{yzyyyzzz{zzzz{{{zzyxyyyzyy{{{yz{yzyzzzyzyzy{{{zzzzzyyyyzyzyyz{yzyyyyzy{zzzyzzzzyyyyyzxzyzzyyzzzzzyyyzzyzz{zzzzzzyyyyzyyy{zzz{{{zyyyyyyxyzzyzzzzyyyyzyyyzzzzzzzzyyzzzzzzyzyzzz{{zy{yyzzzy{|zz{{z{zyzzyzz{y{{z{{{zzzyzyzyzz{zzz|z{{{zyyzyzzzz{{zzyzzzyzzyz{{zz{{{{zzzyyy{{z|zzz{zz{zzzz{{{|z|z{{{zyzzzzz{z{z{{{{{zzzzyyzz{{z{{|{{{yzzzyzz{|z{{{z|zz{zzzzzz{z{|{{||{zzyzz{{{z{{z|{{zz{zz{z{zz{{{{|zy{{yzy{z{{{zz{{{zzzzzzzz{{{{{{{zzzyz{z{{{zz{{|{z|z|zzzzzzz{{z{zz{zzyzyzzz{{{{zzzzzyzyyyz{zzyyzzzzyzyzyzzyy{z{{zyzyzyyyyyzzz{{yzyzyyzyyyy{zzz{z{{yyxzyxyyz{zz{zzzzzyzzzzzzzzzz{zzyzyzzyzzzzxzzyzyyzyyzyyzyzzyzzzzyxyyyzy{zzzyzzzyzzyyzyyz{{zz{z{yz{yyzyzzz{z{{{zyyzzyyywyyyzz{zz{z{zzyzyy{yzz{zzz{yzzy{yzz{zzzz{zzzzyyzz{zz{z|z|yzzx{yzzzzzzz{z{zzzzzyzzzz{zz{{zzzzzzyzzz{z{{{{zzzzyyzzzzzz{zz{z{zzyyzyz{{{yzzz{{zzzzzzzz{z{{z|{zzzzyzzzz{{{z{{{zzzzzyyz{|{z{{{{{zzzyy{y{{|{{{{{|{zyyzzz{|z{{|{z{zzzz{{{z{{{{|{z{yzzzzz{{|{||{{{{yzzzzzzz{z{|z|{{y{yzzzz{z{|z{{{{zzyyzzz{z{zz{zz{zzzzzzyy{z{{{|{zy{zzyyy{zzz{{zzzzyyzyzyz{{zzzzzyyzyzzyyzz{z{{z{zzyzzzzzzz{zzzz{zzzzzzzzzzz{{z{{yyyyyy{zzz|{zz{{z{{zzzyzzzz{zz{|zzzzzyzzzz{zz{zzzzyy{yyyyyy{z{{{{zzy{xzy{{z{zz{{zzzzzyyyzz{yzyz{yy{yzyzyzzzzz{{{zzyzyzzyyzzzz{zzzyyyzyyyzz{zz{z{{yz{zyyy{z{zz{z|{zzzzyzyzzyzzz{|z{yzzyzz|z{z{|{z{zzzzyzzz{{zz{zzzzz{{zz{y{{{{|{{zzzzzyyz{z{{{{{{{yzzzyyzzz{{{{zzzzzzzy{{{z|{{|{{zzz{zz{{{{{|{|{{{{z{zy{yz||{{{}{{y{z{yzz{|{{z{{{{zz{{{{z{z{|{{|||{z{{zz|{|{||{{{|{{z{zz{{|z{{{{{{{zz{{{z{z{z{{{|{zzz{{z{{{{|{|{|{zzz{{{z{{{{{{||z{z{zzzzzzz|z{|zzz{yzz{zz{{{zyzzzyyzzyyyz{zzzz{zzyyzxzyyzy{{{z{{zzyzzyyzzz{zzzzzzyzyzyzzz{yzzzz|zzzyxzyyzyzyzz{{zzzyzzzyzyzyzzzzyyzzyyyz{zyzzzz{yyzxyzzyyzz{z{zzzzzyyzzzzzxzz{zz{yyzyzzzzyzzzz{zzzzyyyzxz{zzzz{zzyyzyyzyyzzzy{z{zxyxyyyyzzzyzzzzyzzyy{zzz{z{{zz{z{zyyyzzzz{zy{zzzzz{zzyyzyz{{z{{yz{zzyzz{{z{z||{{zzzzyzzz{zz{|{zzzzzzzyyzz{{zz{zz{yzyxxy{|{|{{z{zz{z{zzz{z{|{{|{z{{z{{zz{{z|{{{|zz{{{zyz{||{|{|z{zzz{z{z{z{{|z{|zzzzz{{z{zzzz{|{|zz{{|zz{{{|{{|{|y{{z{zz{|z{z{zz{z{z|yzzz{{||z{{{{{zzz{{{zzz{{z{{zzzz{{zz{zz{|{|{zzz{zzzz|{|y{zz{y{yyyyzzz{z{{zzzzxzyzzzzz{zzy{{zzyyyxyyy{zz{zzzyzzyxzyxzzy{{{zyzyyyzxyyzyz{zzz{zyyyzxyy{zzzz{z{yzyyyyyyyzzzyz{zzyyyyzyyzzzzzz{yyyzyyyyy{xzzyzyzyyyzyzyyzzyyz{zzyzzyyzxyzzzzzz{zyy{zyyyyy{|zzzzzyzyzzyzyyyzz{{z{yzyyyyzzzzzyzzz{yzyyyzyyzyzzzzzy{zzzyyzyzzzz{z{zzzz{yyyyzzyzzzzzyyzzzy{zzz|z{{{{zzy{zzz{z{zzz|{zyzyyzzyy{{{zzz{zzyz{zzzyzz{zzz{zzzzzzzyzzzz{{{z{zzzzyzzyzz{zz|{z{zy{zzyz{{{{{|{z{{zz{zzy{{{{{{z{zzyyz|zz{zz{z{|{{zzzzzz{{{{{{{{|{z{zzzzz{{{z{{{z|yzzy{z{{z{{{|||{zy{{zz{{{z{z{{{{yzyzy{z{{{{z{{|{zzy{z{yz{y{{{{zzyyzzzyyzzzzz{xzzzyz{yyzyz|{zz{{zzzzzxyyzzzzzz{{{yyy{yyyzyy{z{{{zyyzzzzz{y{{z{{zzzyxyyyyyy{zz{{{zyyy{yyyyzyzzz{zzzyzzzz{{zzzzz{z{yzyz{yyzzz{zzzzyzzyy{yyz{z{zz{{yxyzzzyzzzzyz{zzzyzzyyyyz{zz{z{zzyzyzzzxzzzzzzz|zyzyzyzzzzzzz{{{zyyzyz{zz{{z{zzzyzyzyzzyy{zzzzz{z{zyyzyz{zzzz{{{yzyzyz{z{{z{{{{z{zzzzzzz|z{{z{|zzxzzzyyzzz{z{{zzzzzzz{zzz|{y{zzy{zyzzzyzzz|{||{{zz{zz{zz{{z|{{|{{zy|zy{zzz{zzz|{{yzzzzzz{|{{{{|z{zz{{{{z|zz{{{{zzzz{y{zzz||{{{z{|{|{zzzy||z|z{||zzzzzz{|{{{{{{{{|z{{{zzz{{|{|z{|z{zz{zyz{{z|{{{|{zzzzz{z{z{zz|{yzz{yzyzy{zzzzzzyzyyzzzyy{z{yz{{{zyzzyyyzzzzzz{{zzzyyyzyyzzzz{{{{zzyyyzzyzzz|{zz{yzzzxxzyzz{|z{z{y{yyzyyzyzyzyz{z{yyyyyyyz{zyxyz{yzyyzxyyyzzzzz{zxyyyzyyyz{{{zz{zzyyyzzyzyzzzzzzzzzzzzyyyyzyyzzzzzyyyyyyyyzzzzzz{yzyyxyyyyzzzy{z{zzyyyzyyzz{{{z{{{z{yyyzx{{zzzzz|yzyyyyzyzz{zzzz{zyzy{zzzzzzzzzz{yzzyzyyyz{z{zzzzyzzzzzzyz{zyzz|z{zzzzzy{{{zzzz{zzzzzzzy{{z{{z|{zzzzzzzzzz{z{z{{|zzzzz{y{z{|{zz|z{zzzzy{z{{{{{|{|zz{z{{zzzz{{{{{|{{{zzzzzz{{{{{{{z{zz{z{zzz{{{|{{{yy{{{z{z{|z{{|{|{yzzzzzz{|z{{||z{zzzzzzz{zz{z{||zzzz{yz{{z{z{{zz{{{zzyz{{zzzzz{zzzy{zyyzzzzzzz{yyzyzyzyzzzzzzzzzzyyyzyz{yyz{z{z{xzzz{zyzzzzyzzzzzzzxyzyzzyzzzy{zzyyzyzyz{yzyzzzzzzyyyxyzz{zz{zyyzyyzzyzyyzzzzzzyzzzzyyyzz{z{zyyyyyzyyzyy{zzz{z{z{zyyzzzzz{zzz{zyyyzzyzxyzzzz|zzzzyzzyyyzzyzzz{zzyzyyzyxzzz{{y{zyyzyyyyyz{zzz{z{zzzzzyz{{zz{{zz{yzzyyzzzzzzyzz{zzy{zyzyz{{z{z{|{yzzyzzzzz{z{z|zz{zzyyzz{{z{z{z{zzyyzy{{zz{{{{|{zzzy{zx{zz{{{{|{zz{zzyzzy{{{{z|z{{yz{zz{y{|z{z{|{{zzz|{{{{z{z{{{{{zzzz{zzz|{zzz{{{z{{zzz{{{{z{{z{|{z{{zyy{{{{z{{{{zz{{zzz{{{|{|{{{zyyzzzzz{{z{{||zzyyyy{yz{{{z{{{zzzyyyzzzy{zzzzzyyyyyxzy{zzyyzyzzzzyyxyzzzzzzz{{{yyyzyyyzz{yzy{{zzzyzyyxyzzzzzzzyzzyyyzyyyzzyz{{zyyyyyyyz{yzz{zzxzzyyzyyzyz{{{zyzzyyyyyzzzzyyzyzyxzyyyyy{zzzzzzyzzyxyzyyzzy{zzz{yy{zyzyzzyzzzzz{zxyyyyyyy{yzy{zzzyyzyyzyyzzzzzzzzzzz{zyzzzz{zy{{zyzyzy{{zzzy{zzzzzyzyyxzzzzzzz{{zzyzyyzzy{zy{zzzzzz{zzzzz{zz{{z{yyyyzyzzzz{{zz|zzzyzz{zzzzzzz{z{zzzzzyzz{{{{{|{{yzzz{y{zz{z{z{{|zzzy{zzyz{zzz{{{{zzzyyzz{{{zz{|zzzzzzzzzzzz{{{z{zz{zzzyz{z{z{{|{{|z{yz{{zzzzz{{{{{yzzzzz{{zzz{{{z{zyzzy{zz{{z{{|yz{yzzy{yzzz{{{|{zyzzzz{zzz{zzz{zyz{yyyy{zzzzzzzzzyxyzzyzz{zyzzyzyzyzyyy{z{z{{{{zzyyyyzyzy{z{zz{zzyyzyzyzzz{zyz{{yzzyyyyzz{{zzz{zzzxyzzy{zyyzz{z{zzyyzyyy{{yzzzzzzzxyzzzzz{zy{zzyzzzzyzzzz{zyzyzwx{yyyyzzzzz{z{zzyy{yyyy{{z{{zzzzyyzzzyyzyz{y{z{z{zxzxzyyyzzz{{{yzzzzzyyy{zz{{z{zzyyyyzzz{{zy{{{zzyyzyzzz{{{{{{{zzzzzzyyz{zz{z{{zzyzzzzyyzz{{{{{yzzyzzyzz{{zzz{zzz{zzzyzz|{zz{{{{zzzzzzy{z{|{z{{x{{yz{zzzz{zz|{{z{zzyzyz{{{z{{{|zzzy{zzz{{{z{|{{zzz{z{z{{{zz{{z{|{z{z{zz{{zz{{z{{{{zzzz{{{z{{z|{{z{zzzy{{{{z{z{|{{zzzzzz{{{{{z{{zzzzzzzz{{{z||{{{z{zyzyz{z|{z{zzz{zzyyzyz|zzzzy{zzyyzz{zzzzzzz{zzzyzzyzyzzzzz{z{yzyyzzyyz{{z|{z{zyzyzyyzy{z{yz{{yzzzyzyyzy{{{zzzzz{yyyyzyz{zy{zzzzyyyzxyz{{yzyzzzzzyyyzyzz{z{z{zyyzyyyy{zzzzzz{zyzyyzzyzz{{zzyz{zyyxyzyyz{z{{zz{yyyz{zzyyz{z{{zzx{yyyzyyy{zzy{{z{yzzzz{yz{zzzzzzzzzzzyyzz|{zz{|{zz{zzzyz{yzzz{{{zz{zyyzyzz{{{{{{zy{zzyyzy{{{|zzzzy{zz{zz{{{zzz{{{zz{{zzyz{z{{{{zzzz{zzzy{{{|{{{zzzzy{zz{z{{|{{{{{zz{zzzz{|{{{{zz|yzz|z{{{{|{{||zzzyzzz|{z{{{{{{z{zz{z{zz{|{{z{||{zz{{{{{{{{|zz{||zzzzzy{{{{{{z{{{zy|z{z{{{{{{{{|yzzzyzz{z{y{z{}{{{zzyyzzz||{zz{{{zyyzzyzzzzz{zy{zzzzzyyz{{{zzz{zzyyyzyzyyzz{zzz{zzyzyzzzz{zyzz{zzzyzzyyzyz|zzzzzyzzzyzyyzz{zz{zzzyyzzz{yy{zzz{{zzzyyy{yy{z{zyzz{zyzyyzyyzyzzzz{zy{yyzyzyzzyzzz{zzzyzzyyzzz{z{{zzzxzzyzzzz{z{{{{|zz{zyyzzzzz{z{{z{yzzz{zzy{zzz{{{{z{zz{yy{{z{{{{{zy{yzyyzz{zzz{{{zz{zzzz{zz{{{z{{zzzzzzzz{|z{z{{{zzzzzz{yzz{|z{|z{zzzzyyyzz{{{z{{|zzzzzz{{{{zz|z{zy{zz{zz{{z{|z{{z{{z{yzzz{|{{{|{{z{zz{zz{{{z{|{{{z{{{zzz||{{{{{{{z{zz{{{{{|z|||{zz{zz{{zz|z|{|{{zz{{z{{{{{{{{{{{{{{zzyzz{{z{{{|{|z{z{z{{{{{{|{||{{{zzzzz{{z{z||{zz{z{{zzz{{|z{z{zzzz{yzy{z{{z{zzyzzzzzyzz{{zz{z{zzzyzyzz{{zz{{z{zzzzyzyyyzzzzz{zzzzyzzyzy{z{z{zz|{xyzxzyzz{zy{z{yyyyzzyzzy{zzz{zzzzzzyzyzyzzz{y{yzyyyzxyzzzzyyyzzyzyyyyyzzyzyz{yzxzyzzzzz{zyz{zzzyzzyyxy{zzzz{zzyyzyzzzxz{zyz{z{zyzzy{yyyzyzzzz{{zzzyyzy{yz{z{{yzxyy{yzzz{{zzz{zzz{yzzzzzzz{z{zzzzzyzz{yz{{z}zzzzzyz{yzzyzzzzz{{{z{yy{zz{z{z{{{{zzz{zzzzz{{{z|zzyyy{{z{{{{{{|{z{zzzz{zzz{z{{z{{{z{zzyyzz{{{{z|{{zz{y{zzz{{|zz{|{xzzzz{{z{{{{z{|{zz{{zzz{{}{{{{{{{yzzz{{{{{z{{{{{zzzzzy{z{{{z{z|{{zz{{zzy{{{{{{||z{{zzzzzz|{zz{{{zzz{zzzy{{zzz{{zzzz{zzx{zzzz{yyzyzzzxyyyyz{{zyzzzzzyyzyzzzzzzz{zzyyyzzyzzz{{{z{zzzzyzz{yz{zzzzy{zzzyzyzyzz{zz{{{yzzyzzzyy{{zz{{z{yyzzzzyzzzzzz|{zzyyyyzyyzzzzzyzyyyyyxyz{zyzz{zzzzyyyxyzzz{y{{z{zzyyyyzyzz{{zz{zyzyyyz{zzyyz{{{yzzzzyzzyz{y{z{zzyyyzxzzyzzz{z{z{yyyyyzyzz{zzz{|{zy{zzxzzzz{|z{{{zzzyzzzzzzz{{zz{zzzzzzyzy{zz{z{zzzzyzzzzz{{{{z{z{z{zzzzz{z{{{z|{zzzzzzzzzz{{{z{zyzzz{z{zzz{{z|{|zz{zzyzz{|{{{{{z{zyz{zzzz|{z|{{{{zzz{{{{z{|{z{z||zzzyy{zy|{z{z{|{{{{zzz{z{{{{z|{{zz{{z{zz{{{{|{{{zz{zz{z{{{|{|{{{zzzyzz{{z{z{{{|z{z{y{zxz{{{z{{zzzzyzz{zz{{|{zzz{yzyyyyyyzz{zz{|zyzyyyyyzzzzz{zzzyyy{zyy{z{zzzzzzy{zyyyzyz{zzy{{zyzxzyyzyzz{yzz{zyzyzzzyz{zyz{zyzyzzzyxyzyzzzzzz{yzzzzzyyzyyyz{zzyzzyzzyy{zzz{{{yyz{yyyzyz{yzzzzzzyzxzyyzzz{zz{zzyzzzyyyyzzyzz{{yzzyzzyzzzzzz{{{zzzyyzzzzzzzz{{z{zzyzyzzzzz{zzz|zzzyzzzx}z|zz{|zyyzzyzz{{{zz{{zzzzzy{y{yz{zzz{zz{zzzzxzyzzz{zzzz{zzzzzzzzzz{z{{{zzzzzzzzz{y{z{z|zzz{zzz|z{z{z{{{{zz{zzzzz{|{{z|{yy{zzy{{||{{{{{{{{zzz{{z{{z{{|{|{yz{zz{zz{{z{{{{{{|zzzz{{z{{|{{||yzz{{{z{{zz{{{|{z{zz{y{|{{z{|z{zz{y{zzyz{{{zz{{{z{zzzzyz{{{zz{{{zzzyzzzz|zz{zzyz{{zyyyzxy{{zz{{yzyyyzzzzzzz{z{{yzzyzyzyzzzz{y{{{zzyyzyyzz{zzzz{zzzyyyyyyzyzz{{{yyzyyyyzz{zzy{{yyxzxyzyyzzzzz{z{yyyzzyzyz{zzyz{zyzyzxyyyyzzzzz{zzzyzxzyzzzzzzzz{zzyyzyxyz{zzyzzzyyyyyxyyyzzzzz{{yyzyyyyzyzyzz|{{yzyzyyxzzzzzzz|{zzzzzyzzzzzzz{yz{zzzyxz{zzzzz|{|zzzyzzyzzz{{zzyzyyzyzyzzz{zz{{z{{yxyzzyz{zzyzzz{zyzz{y{y{{{{zzz{zzzzzzyzzyz{{|z{zzzzz{z{|zz{yz{|zzz{zzzz{zzzz{|{{zzz{zzzz{{{{{||z{{zzz{zz{{{{z{{{zzzz{zzz{{{{|{{{zz{{y{{zz{{{zz{zyzzzz|z{{{zz{|{{{z{{z{z{zz{{{{|zzzzzz{zzz{{z{{|{zz{zyzyz{z{{z{zyzzzzzzz{{zzzzzzyzyyzyyz{zzz{zz{yyzyzxxyy{zzzzz{zzyzzyzzzz{z{z{{yzzzyxyzz{zzzz{{yyyyyzzxzz{{zzzzzyxzzyzyzz{zyzy{{yzyzyyzzzzyyzzyzzyyyyzyzzzyzz{zyzyyyyyyyzzy{{z{zzyyzzzzyzzzzz{zzzzyyyyyzzzzzzzyzzyyyyzyzyzzzz{zzzyyzyyyzzzyz{{zzyzzzzyy{{{{zz{|zyzyzyyyy{z{z{zy{yyyyzyzzzzz{z{zzyzyyyzz{z{z{{{zzyzzzzzzz{zzy{{zzzyzyzyzyz{{{z{|{zzyyzz{zzz{z{{{{yzzzzy{z{{{zz{{zz{zyzzz{{{yz{{{zyz{zzzy{z{{z{{zzzzzzzzz|{{zz{|{{zzyz{{zz|z{{|{|{zz{y{zz{{{{{{{{|zzzzz{z{{{z|{zz{y{zz{y{{{{z{|{{{|z{zzyzz{{{{zz{z{|yzy{yzz{{{{{{{zzzzzzz{z{{{{{zzzzyzzyyzz{zz{zzzyyyzyz{zz{zyyzzzzyyyyzyyz{{zzz{{zyxxyyyzz{yzzzzzzzzyyzyzyzzzzzyz{yyyzyxyzzzzzz{zyyyyxzyyzzzz{{zyzzyyxyxy{zzzzzyzyzyxxyzyzyzzzy{xyyyyzyyyzzyzzyy{zxyyzyz{zzzzzzzyzyyyxyyy{z{yzzzzxyz{zzxzzzyyzyzzyzzyyzyyzzyzzyzyzzzyzxyzzzzzz{zzzzyzyzyz{zzyzzzyyzyzyz{{yzzzz{zzzyzyyzyzzzzz{{{zyzzzyyzzz{{z{{zzzyzzzyzz{zzzz|zzzy{zzyzzz{{{{z{yzzz{yz{z{{{{{|yzzz{zz{z{{zzz{{{{z{zz{{y{{zz{z{{{zyzyzz{{|{{{{{|{zzz{{{{z|{{|{{{{z{{z{z{z{{{{{{{zzzz{yzz{z{{{{{{{zzyz{zz{zz{{{{{zz{zzzzzzzz{z{||{zyyzzzzzz{{{{{|zzy{{yzz{{{{{z{zzzzzzzzzz{{{zz{yzyyzyyzyz{yzy{z{xyyyzyzzzzyz{zy{zzzyyzzxzzyzzz{zzz{zyyyzyzz{yyzzyzzxyyyxzzzz{zyzyyzyzyzyy{{zzz{yzyzyyyyyzz{yzzyzzzzzyyzy{zzzzy{{zyzyyyyyyzyzzzzy{yyyxyyzyyzyzzz{zzzzyyzzy{z{zzzyyyzzzyzyyzyxzyzzzxxyyyyyz{yzyzzzzzzyzzyyzyz{zzzzy{zzzyzyzzzzzzyzyyzzyzzz{zz{{yz{zyzzzyyyzzzzzz{{zz{yzyzzz{{zzz{{{zzzzyyzzzz{|z{z{zzz{zzzzz{zz|zzzzzyzzzzzz|{{{z{yzzyyzzzz{zz{zz{zzzzz{yyz{{{{{|z{zy{{zz{{{{z{zz{{zzyzzzzzzz|z{z{{zzzzz{yz|{|{zz{zyz{{zzz{{{z||{{zyzy{zzyzz{{{{{}{zz{zyyz{z{{{zzzzzyzzyzzzz|{zzz{{zyzzzz{zzzzz{{zzyzzzyzy{{{zzzzzzyyxyyyyy{zzyyzyyzyzzxyzzyzz{{z{zyzyzzyyz{zzz{zzzzxyxyxyzz{zxyzz{zzyyzzyzzzzy{zzyzzyyyzyyyzyzz{zyyzyyyyzyzyyyyyzyxyzyyyyzzzzy{yzzyyyy{yyyyzzyy{zyyyyyyxzzz{zzz{{yzyyzyyxzzyzyy{zyyzzyyyyyyyzzyz{zzzyyyyyyzzzz{zyyy{zyyyyyzzzzz|zzyz{{zyyzz{zzz{{zyzx{zzzz{yzzzyzyyzxyzyyzz{zzz{{zyzzzyyzyz{zzz{zzzzyzyzzzz{zzzzyzzyzzzyy|z{{zz{zzzzyyzzyz{{{{z{{zzzzzy{zz{{yz{z{zzyzzzzyz{zzzz|zzyzzzyzz{{{z{z{{z{{zz{{z{zzz{{{{{zyz{z{zz{{{zz|z{yzzzyzz{{zz{|{{zyzzz{zzzz{{{{{|zzyz{{y{zzy{z{{{z{zz{yyzy{zz{|{zz{zyzzzzzzz{zzzzzyzyzzzzyz{zyzzzzyyzyyzyzz{zzzyzyzyyzyzz{yzy{zz{zzzzyzyzzxzzz{zyyzzyzzyy{yzzzyzzzyxyyxyxyyyzy{z{zyzyyyyyy{zzyzzzyyyzyyyyzzzyyz{zyyzzyyzyyzzzyzzzxyyxyyzyyyzzyzyzyzzzyxyzz{zzzy{zzyzyxyzyyzz|zzzzyzyyzyzxzyzyzzzzyyyzxyzyzyy{zzzyzzzzzyyyyzzzzzzyzyyyzyyzzyzzzz{zyyyzyyyyzzyzzzzzzyzyyyyyzzz{yz{zzzy{zy{yzyzzz{z{zyzzzyzz{|{zz|zzzyyzyz{y{zzz{y{{zzyyyyz{y{|{{|{yyzzzz{zzz{z{{z{zzzzyzxyxz{{{z{|{zyzzzzzz{{zz{{{zzy{yy{z{zzz{{{z{{zzzzz{{z|z{{{|{zz{zzy{y{z{|{z{zzzzzzzz{{zz{zz{z{zyyzzz{{z{{z{{|zzzyzzzzzzy{z{{zzzzzzzzzz{{z{{{zzyzzzyyzyzzz{zzzzzyxzzyyzz{{yzz{zyyyyyyzzzzzy{y{zyzyzzzyzzy{{zzzzzyyzzyz{zz{y{zzzyzxyzzz{yzzz{z{zyzyyy{yzzyyzz{{zy{zyyyyzzzzzzzzzyyyxzyxzyzzz{{zyzzyzyyyyzzzyyzzzyzyy{yzyzy{z{zzyyzyyyyyy{{{zz{{zzyyyyyyyzzzzyzyyyzyzzyyyzzzz{z{zzzzzzzzz{zzy{{zyzzzyxzzyzzzz{y{{zzzzyzz{zzzz{{|zyzyyyzyy{{zzz{{zzzyzyzyy{{y{{zzzyzzyzzyzz{{z{zzzzyzyy{zz|{zz{{{zzzzzzzz{{{z{z{{zy{{zz{{{{{|zz|{zyz{zz{yz{{z{{{{{yz{zzzz{{zz{{||yzzzzz{z{{z{z{z{{yyzzyzz{{{{z{{{zzz{zzzz{{z{{{{{zyzzzzy{z{{{z{z|zzzz{z{{{{{|{{{{{yzz{{zzzyz{{|{{{{z{zzzz{z{{|{{{{zzzzyzz{zzz|zzyzyxzzzyyzzzzz{{{yzzyyyzyzyzzz{zyzzzyyyyz{{{zz{{{yyzyyyzzzz{zzz|{yyzzyyyzzzz{zzzzzyyyyzzyzyzzyz{zyzzxzzxxzzzzzzzzyyzyyzzzzzy{zz{yzyyzzyyzyzzz{y{{zyyyzzyyyz{zz{{zzzzyyyzzzzzzzzyzzzyzzyzyzzzyzzz{zzyyyyzzzzzy{{z{zz|yzzyz{{zz{z{{zyzyyzyyzyzzzzz{yy{yzyzz{z{{z{|{zzzzyzzy{zzz{zzzyyz{yzzzz{{z{{{zzzzzzyzz{zz{zy{z{z{zzzzzz{{|z{{z{zzzzzzyzz{{z{{{zzz{zzzzy{{{{z{{yzz{yzzyz{{{{z{z{zzzz{{z{{{{{{{{zyzzz{z{zz{{|{{{zyyzzz{zz{{{z|{||y{{yz{z|{|{z{{zz{zzzzy{{zyz{||{{z{z{zz{{z{{|{{{{z{zz{{zzz{zz{{|{{{zyzzzzz{z{zz|zyzyzyzz{z{zzzzyyxzyyyywyz{yzzzz{zyzzyyzyy{z{{zzzyzyzyzy{zz{zz{z{yzyzyyzz{{zzyzzzyzyyxyyzzzzz{zzzzzzyyyzyzzzzz{{zyzzzyyyzzzyzzzzzyzy{zzz{zyzzzzzyzzyzyzxyzzz{zzzzyyyyyxzzzzzzzzzzz{yyyyyzzyzyz{zyzy{zyyyyzzzzyzzyzyyzyzyzzyz{z{zyzzyzyzyz{z{zzz{zzzyzzzyzyzz{{zzyyyzyyyyy{zzz{{zzzyyzzy{zzzzyz{{zzzzzzzyzzz{zzzzzx{yzzzyzz{zz{{{{zzzz{{zzz{zz{{zzzz{z{zzzzz{zz{|zyyyzzzz{zzzy{{|zzzzzzzzz{{{{{z{{z{{{yzzz{{{{{{|zz{zz{{{{z{zz{{|{zzzzzzzy{{|{}{|{yzzzzz{{{zzz{{{zyzzzzz{{{{|z{{{{{y{|yyzzz{{{{z{z{{y{zz{{{z{{{z{{zzzyyy{yzzz{{{{yzzzyzzyz{|{{{yzyyzzyzzzzyzzzz{zzzyyyyyxzyzyzzyzyyyyzyzyzyzzz{yzyyzyyyyyy{zyz{z{zyyyyzyyzyzzzzzzzyyyyyzxyzzzyz{zzyzyyxyzzz|zyzzzzyzyzzyyyzyzzz{{yzyyyyyyyyzyyyzzzzyzzyyyzyzzzyzzzyyzyyyxzz{zzy{zzzyxzyyyyyyyzzzzyyyyyyzyyzzzyz{zyyzxzzzyyyzzzz{zxyzyzzxyyzzzy{z{yxzyyyyy{zzzzzzzxz{yyyyyzzzz{zzzzyzzyyyyy|z{{{zzzyzyzzzyzz{{zyz{zz{zyyyy{z{zzzzzzzyzzzzzzz|z|{|z{zzzzyzyz{yz{z{zzzzzzyyz{z|{{z{|{zzz{yzy{{{{z{zz{zzzzz{z{z{{||{{z{zzz{zzz{{{{{z{{zz{zz{z{zz{{{z{z{{{zzy{z{{{{{{{|zzzy{z{{{{z|{{{yyzzzzyyz{zzz{z{{zzzyzyzz{z{{zy{yz{yyzzz{{{{{zz{zzyyzyzyyzz{yz{zyzzyzyyyzzzzzzzzyyzxzyzyzzz{{zzzyyyyzyzyzzz{z{z{yyzyzzzxzzyyzzzzyyzzyzzyy{yzzz{zz{yyyyyyyzzzxzzzyyyyyyz{zzy{yzzzzyzyxyxzzyyzz{zzyyzyyzxzzzyzyzzzyyyyyyyyxy{yzyz{zzzzyyyxy{z{zzz{zzzxyyzyyzzzzz{zzyzxzzzxzzz{yz{z{zzyzyyzzz{zzyz{zyzyzzyy{yy{y{{{yzzzz{zzzyzzzz{zzzzzzzzyy{zzz{zzyzyzzzzz{zzyzz{zzzzzzzy{{z{zzzzz{zyzz{zzz{{z{z{{zzzzzz|zzzz{z{{{{zzzzzzz{|{zzz{z{zy{zzyzz{{{z{||{z{zyzzzz{yz{{z{{z{zyz{yz|yz{{{z|zy{zzzzz{z{{{{z{yz{zzzz{{{{z{z{{zzyz{zz{{{z{{{{{zz{zy{yz{z{zz{{zz{zzz{zz{{y{zzzzz{yzxyz{zzzz{{zyyyxzzzyz{zzz{{{yyyzzzyz{{zzz{{{{zyyzzyz{zzzzz{zzz{zzzyzzyz|zzzz{zzyxzyyzy{zzzz{zzzyyyyyz{zyyzz{zyz{zyyyzzzzzzzzzzyzyyyyzzz{{{zyyyyyyyzzzyzyzz{zzzyyyzyz{{z{{{|{zz{yyyzyz{zz{{zzzzyyyyzyzzzzz{{zzzxyzyyyzzzyzzy{yyzyzzzyzz{y{zzzzyyzzyzzy{zzzz{{{zzzyy{zzzz{{zz{zzzzyzyyz{{{z{{z{zzzzzzz{zzzzzz{zzzyzzzz{zzzz{|z{yzzzyzzzz{zy{{z{zzz{zzz|{{{zzzzzy{zzzzz{{{{{z{|zzz{zyzzz|{z{z{{|zz{{z{z{|{{{z{{|{z{z{z{zzzzz{{{{zyzyzz{z{{{{|{{z{zzzzzz|{|z{zz{{zz{z{z{z{{z{{{|zz{zz{zzy{{z{{||zzzzzzz{z{{{{zz{zzzz{y{{z{yz{z{{yz{zyyzzy{zzzzxzyyyzxyzzyzzzzzz{yzyyxyzy{zzzzzy{zyyyyyyyyzzzz{{zzxyzyyyyyzyzzzzyzzyxyzyyzyzzyzyzyyyyyyyzyz{zyzzzzyyzxzyyy{yyyzzyzyyzzyzyzyyzyzxzyyzxyxzyzzzzyzzzzyzyyzxyyyy{z{zzyyzyxyyyyzzzzzzzyzzyzyyyyyzyyz{zzzyyzyyyz{zyyzyzyzyzzyyyzzz{yzz{zzzyzzzzyzzzyzzzzxyyyxzy{{zz{{zzyyzzzyyyxzzzzz|zzzzzzxzyzzzz{z{zzyyzyyyyz{zzzz{zzzzzyyzzzz{zzzzzzzzyzzzyz{zz{{|zy{zzyzzz{{z{{z|{{zzzzyzy{{{{z{zzzyzzzz{z{{z{{{{{zzzzzzzyz{{{{z{z|{yyzzzzy{{{zz|zzz{{z{zz{z{{zz{{{y{zzzy{z{yz{{{{zzzzzzyzz{{{{z{{zzzyzzzzz{{{{{{z{z{xzy{zy{zzzz{zzyzzzzxzzzy{{yzzzzyyzyxyy{z{zzyzyzxyxyxyyyyyz{zzzzyyyzzyzzyy{yz{zyzzyyxzyzzzzzyzzzyxzzyyyyzzyzy{zzyyyyzyxzyzyzzzyyzyzyxyzzzyzzzyyzyxzzzyyzyzyzy{yyxzyyyyzzzzyzzzyyyyyzyzzzzzzzzzzzyyyyyyzz{y{zzzzyyyyzyxyzzyyzzxzyyxyyzyyyzyz{zzyyyxyyyzyzzyzz{zyyyyzyzyyzz{{zz{{zzyyyzyzyzzz{zzzyyzzyzyz{{zzzzz{zzyzzzyzzz{z{{zyyzyzyyzzzz{zz{{zzzyzyzyzz{zz{zzzzyyzyyyzz{{{zzzzzzyyzzzzzz{{z{{zyyzzyzzyzzz{z{{{zyzz{yz{{{z{{{{yyz{zz{{{zzzz{z{{yzyz{zy{{z{{}z{{zyzzzzz{z{{{{{zzzyzzyzzz{zzz{{|{zzyzyzz{{z|z{{{zzyyyz{zz{y{yz{{yyyzzyyyy{{zzzyzyyzzzxyyzzzzyyz{yyy{yyyyy{{yyzzzzyzzyxyyyzzzzz{{yzxyzzyyyyzy{zy{zwzyyyyyyzyzyzz{zyyyyyyyzz{zzyzzyyzyyyyyzyzy{zzyyyzyzy{yy{zzyyzzzyzyxzyyyzyzyyy{yyyxyyyyzzzy{z{zzyyyzzyxzzyyzzzzzyzyyxyzzz{zyy{{yyzzzzyyyzyyy{{zzyyyyzzyyzzyyzz{zzzyzyzzyzyzz{{zyyyyyxyyyzzyzz{{zyzyyzzzzzz{{{z{yzyzyzyzz{zzzy{zyyzyzyyyz{{{z{z{yzzyzzyyz{zz{{zzzzyyzyzz{zz{yzzzy{zz{zzz{z|{zzz{yzzzyzyzzzzz{{{{zyyzzzzzz{{zzz{zzyzzzzzzz{{{{z|{zzzyzzzzzz{{{{{z|zz{z{yzz{{{z{zz{zzyzzyzz|{{zzz{{zyzzyzz|z{{{{{z|z{yzzzzz{zzzzzzzzzzy{zy{zz{{z{{yz{yzzyy{zz{zzz{yyzyzyzzz{{zz{yyyzzxyyzyy{zz{{yzyyyxzzyyzz{yz{{zyyyyzzzyyyyyzzzzzyzzzxyzyzzzzzzzzzzyzyyzzzzzzzz{zy{yyzyyyz{zyzzz{yzzzwyxyzzyy{zzyzyzyzy{zzyyzzz{yyyyyxzyyzzzzyzzyyzyxyyzzzz{{zzzyyyzyyyzz{zyzz{{yzyyyyzxyzyyz{zzy{yyyzyyyzzzyzzzzyzyy{yzzzz{zzzzyzzyzyzzzzz{zzzz{yzzzzyzzzz{{{yzzyzyzzzzzzz{z{yzzxzy{yyy{zz{{zzzzzzy{zzzzz{zzz{zzyzzzzyy{{zyzz{zzzyyyzzzz{{{{{{{z{zy{z{z{{z{y|{zzz{zyzyzz{{|{{{{{z{zzzzzz|z{z{{{{yzzz{{zz{z{{{{|{y{zzzzzz|{{{zz|{yzzzz{z|{{{{{z{zz{yyzzz{zz{z||{{zzz{zzy{{{|{{{{zzyzzyyz{|{{z{|{zzzzyzzyyz{{z{zzzzzxzxzzzzzzz{z{zyyyyzzyy{zzzz{zyz{yyyyzzzzzzzz{zyyyxyyyzz{y{{z{zzzyyyyyzyyzzyz{zyzyzyyzz{zyzzzzzyzyyyyyy{zzz{zzzyzyyzzy{y{xyzzzyzzyyzzyyzz{zzzzzzzyyxyyzzzzzz{yzyzzzzyyz{{yzy{{zyzyyzyz{{{zyyzzzzzyzyyyyzzzzzz{yyyxzzyyyz{z{{z{zy{zyyzy{yyzz{z{{zyy{yzz{z{zz{{{z{zzyyyz{z|zzz{zyyzyzzyzzz{{{{{zzzzyzyyzz{{zz{{zzzzzz{yzzz{yxyzzz{{zz{yy{z{zz{zzzzyzzzyzzzz{|z{{zz{z{z{z||zz{{{{{zzz{zzzzz|{{z{zzzzyz{zz{{zz{{{{{z{zzzzy{{zy||{z{zz{yzz{z|{{z{{{zyz{zyzz{{z{{{{{{{zzzy{z{z{z{z{{{zzzzzyzz{||{{|{zzzzzz{z{{y{{{z{{zzzzyzyz{z|z{zzzz{zzyyzz{{yzzzzzzyyyyyyz{zzzzzzyyzyyyyyzyyyzz{{zyyyzyzyy{zzzzz|zyzyyyyzzzzzyyzz{yyyyzzyy{yz{zzzzyyyyzyyzyz{yzzyyz{yxxyyzz{yyzyzzyzzyzzyyyzz{yyzyyyyyyyyyzzzyz{zyyzzzyyyzzzzzzzzyyzzzzyxzzz{zyzzzyyzyyyyzyy{zzz{zyyxzxyyxyzzyzzz{zyzyzyyzyzzzzzzzyyzyyyzyyyzzzzzzyzzzx{y{zzzyzzzzzzzyzyzzyzzzzz{yzzzzzyyzzzz|z{z{y{zzyyzzzzzyz{z{yzzyzzyz{zyzzz{zyzzyyzzz{{{{z{{zzzzzzzz{z{z{{zzzyy|zyzyzzzz{{|{{zzzzzzz{|z{|zz{zzzyy{|z{z{{z{z{{zyz{z{z{{|zzz{{zzy{{y{{z{{{{{zz{z{z{z{z{{{{|{|{{zyzzzzz{{zz{z{{{zyyzzyzzzzzzz{{zyzzzyzyzzyz{zzyzyzyyyyy{{zz{|zzzyzyzyyyzzzzzzzzzyxxyzzyzzzyzyzzzyyyzzyzz{{{zzzzzyyzyzxzzzz{yz{zzyzyyyyyzz{zyzz{zyzyzzyyyzzzy{zzzyzzyzzxzzz{yzzzxyyyyyyxzyzyzyzzxyyyzyzyzyzzyyzyzyzzyyyyzyzzyyzzzzzyyyzzzzzzzz{zzyzy{yyyyzz{zzzzzzzxzxyzzzzzzzz{zzzyyyzyzz{zzzzzzxyz{xyzz{zzz{z{zxz{zyzyzz{zz{{{zzzxyzzy{{z{{{{{{z{yyz{zyz{z{{zyzzzyzzzy{{{{{z{zzzyzzzyy{{zzzyzzzzy{y{{{zzzz{{|z{zzzzz{z|{z{{zz|z{zzyzzzz{{zzzz{{zzzyyzy|{{zz{{{z{zzyz{zzz{z{{{{z{zz{{zz{{{{zz{{zyzz{yzz{z{{{y{{zyzz{zzzz{z{z||{|zyy{zyzz|{zz{{{{zzyz{z{y{{zz{z{|zzzyyzzz{y{zz{{yzzzzyzz{{{{zzzzyyyzyyzyyzz{yz{{yyxzyyzz{zyzz{z{zyzyyyyyzz{z{{{zyyzzyyxyzzy{zz{zzzzyyyyxzzzzzy{zzyyyzzyyxzzzyzzyyxyyxyyyyzzzyy{yzxzyyzxxzyyyzzzzyyyyyxyyyyyyyyzzzyyyyyxyyzzyyzzzzyzywyzyyzzzzz{zyxyyzxyyyyyzzzzzxyzxyzzzyzzyy{y{zzzzzzzyyz{zz{zzzzyy{yzyzy{yzzzzzzzyyxzzzzzzzz{zzyyzzzzyyzzzzzzz{zzyzyyzyzz{{zz{zyzzxzzyzzzzzz|zzyzzy{{z{zyzzzzyzyyz{zyzzz{|{z{{zzzyzzzzz{z{{{z{zyzyyyzy{zz{z{{z{yzzzxzz{{zz{{{{zzzzz{zzzz{z{{{{zzyyzzzzz{{{zz|{{{{zzzzy{{{{{{{|{{yy{zzzz{z{{z{{{z{zzzyzzz{{{{{zzyzzz{zzz{{{{{|zzyzyyzzzyz{{zzzzzz{yzzyzyz{zzzzzyzzzzyyzy{{zzzz{yyxzzxyzyzzzz{{zzzzyzzzyzzz{{z{zzyzyzyyyzyzzzzzzyyzyyyzyz{{zzzyzyyzzzyyyzzzzyzzzxzzyyzzyzy{y{yzz{{zyyyyyzyzyzzzzzzyyyzyyzyyzyyzzz{xzzzyzzz{y{yzzzzzyyzyz{zzzyzy{yyyyzxyyyyzzyyzzzyzyyyyzyzyzzzz|zyzzzzzyzzz{zz{{zzyzyyyzzzzyzz{{yzyzzyyy{yzzzy{{yzyzyzy{zzzz{zzzzz{zzyzzzzzz{{zzzzzzyyzyz{{zz{|{zzyyyzy{{{{z{{{{zzzz{zzz|{{|z{{zz{{yzzzz{{z{zzzz{zz{yyzzz{z{{{{{zzzzzzzy{{{yz{{{zz{z{z{{{{{z{{{{z{{zzy{z{{{|z|{{{zyzzyzz{zz{zz{{{zzyzyz{{z{{{z{|{zyyzyzz{{z{z{{{zzzzzzzzzz{{zz{{{{zyyzzzz{{z{y{{{zzzzyzyyz{{z{zzyzyyzyzxzzz{zy{zzyzzyyyyzyzzz{{zyzyzyyzxyzzyzzzzzyyyyxyyzyyzyz{zzzyyyyzyzyzzz{z{yzzzyzyzzyyyyzzzzzyzyyyyyyz{zzzzyzyyxzyyzyyzz{{zzyxyzyxyyzzzyzzzzxyyyzyzzzzzzzzzyyzzyyxyyzzzyyzzzzzyzyyyzzz{zzzzzzyyyyyyzzzzzz{zyzzyyyyxyzzzy{z{{zzz{yyzyzzy{zzzyyzzyzzzyzzyzzz{zzyzzyyyyzzzyz{zzzzyzxyzzzzzyzzzzzzzyzzz{{zzzzzzyyyyyyyyzzz{zzz{{yzyzyyzz{z{{{zzzzzyzzyzz{z{{z{{zyzzzyyx{zzz{|{{zy{zzzyzz{{{zz{{{zzzzy{z{|{z{||{{zzzzyy{z|{z{{{{yzyzzzzzzzz{z{{{yzzzyzzzzzy{yz{{z{yzzzyz{z{|z{z|zz{yzy{{zzzz{|{{z{yzzyzyy|zzzy{zyyzzzzzyz{zzyzzzyyyyzyzyy{zyz{zzyzyzyyyyzz{zy{{{zz{yyyyzzzzz{z{{xzzyxyxzzzzzz{{zzyxyxyyzyz{zzyzzyzzyyxyzyzyzzz{{zzzzzyyyyzzyzyzzxzyyzzyzyzzzyzzzyzyxyyyzzzzzzz{zzzxyyyzyzzzzzzyzzyyyyzyyy{yzzzzzzyyyzzyxyzzyz{zzyzzzzyxzyzy{zzz{zyyzyyzyz{zzzy{zyzyy{yy{zzyzz{zzzyzzyyzzzzzzz{zzzyzyzyzzz{zz{z{zzzzzyyzzz{zzzz{zyzz{yyyzz{{zz{z{zyyzzzzyy{zzz{z{yzzy{yzz{{{||{zyzxzyyy{z{z{{{z{zz{z{zyzy{{{{{zz{zzyzzzz{{{z{z{zzy{zyzyzzz{{zz{{{{{z{zzzz{{{{{{{{{z{zzzzz{{{{{{zz{yzz{yyzz{{z{|{{{{yz{zz{{{{{z||zzzzz{{yyzzzzzz{z{z{yzz{{zz{z{z{{yyzzzyyyyz{zy{zzxxyyyyzyyzzzzy{yzzyyyyyyxzyyz{zzzyzxxxxzzzzy{z{zyyzyyxyyzzzzyzz{zyzyyyyyzzyyyzyzzyxyzyyyxzzzzz{zzyzzyyzyz{zyyyzzyyyzxyyzzzzzyzyyxyxyzyyyz{yzzzzzyxyyyyyyzzzy{yzyyzyzyyyyz{z{zzzzzxyyzzyzzzzzxzyzyyzzxyyyyyyyzz{zyyzyyzyyz{zzzyz{yyzxyyyzzzyzzzz{zzyzyyzzyzy{yz{|yyzyyyyzzyzzz{{zz{yy{yzyz{zzz|zzzyzzzyzyzzz{yz|zzzzyzzyyzz{zz{zzzyzzzzyzzzz{zz{{zzzzzzzyz{{{|{{zzzzyyzzyzz{{z{{zzyyyzy{y{z{zz{{zzzyzyz{zzzz{z{z{{zyyyyzzy{{{z|{{{yzzyzyyz{{zzz{z{zzzzzyzz{z{zz{|{zyzzzyzz{{{{{{{yzzzzzyz{{{{z{{{zzyzzyzx{{{{zz{zz{zyyyzy{z{yzz{zyyyyyx{yzyzyzzzzzyyzzzyzzyzzzzz{zzzyyzyyzzyz{z{{yyxyzyyyzzzzzzzzzyzyzxyyzzzzyzz{yyyyyzzyzzyzz{zzzzzyyyzyzzyzzzyyyxyyyyyyzzzzyzzzzxzyyxyyyzzzyyzzzyyyyzxzyy{z{y{{yzzxyyxyzzzzy{zzyyyyyxyyyzzyy{zzzzzzyyxyyxzzy{zyyyyzyzxyzz{zzzzzyyyzyzxzx{zzzz{zzzyyzyzyyzyzzzyzyyzyyyzyyzz{|z{zzzzyyxzyz{zzz|zzzyzzzyzyzz{{zz{{zyy{yzyzz{zz{{{zzzzyzyy{zyzzzzz{zzyzzz{zzzzz{{{zzzz{zyzy{{{zzz{{{zyzzyzy{z{zz{zzzzzyzz{zzzz{z{|{{zzyzz{y{{{{|{||{zz{zyzzzz{{|{z{{{yyzzyy{{{{{{{|{{{zzyzzzzzzz{{z{zzyy{yzy{yzz{z|zzzz{zzz{|z{zz{{zz{yyyzyzzz{zzzzyzyxyyyyzzzzzxz{yyzyxxyxy{zzz{zzyyyy{yyyzyzzzzzzyyzzzyyzzyz{zzz{yyxxyyyxyyzzzzz{zzyyyzyxyzzyyzzxzzyyyyyyzzzzyzzzyyyyyzyyzyzyzxzzzzyyyyzzzzzzzyyzxyyyyyyyz{zz{zyzzxyzyzzyyyzzzzz{zyzzyyyyzzyzyzz{{yyyyyyyzz{yzzz{yxy{yzyyzzzzzz{zzzyyzyy{yyzzz{{yzyyyzz{yyzyz{yz{zzyyyzyzzy{z{z{zzyzzzyzzyzyzzzzzzy{zzzyyy{zzy{{zzyzyzyzyzy{yzzzzzyyyyzzz{zz{zzzzyyyz{zzy{zz{zz{zyyzzzyz{z{z{z{{z{yzzzzzz{{{zz{{{{zzzy{zz{{z{{z{{{{{yzzzzy{zz|{{zz{zzyzzy{{z{y{{z{zyzz{zzyz{yzz{{{zzzzzzzz{zzzz|{zzzzzzyzzzzzzzz{{{zzyzyzzzz{{{{zyzzyyzzxyyzz{zzxzyyyzzyyzy{zzzzzzzyzyxzzzy{{z{{{zyyzzzyyzzzy{z{zyzzzyyyyz{{{zyzzzyyzxyzyyzzzy{{{{yzyzzzxyz{{yyz{{zzzyyyyzyzzzzyyyzyyyzxzyzz|zzzzyzzyyzyyzzz{{{z{yyzyxyyzzz{y{zz{zyzyyyzyyzzz{z{{zyzyyzyzzzzzzzz{{zyzyyyzyzzz{{{{zyzyzzyyy{z{zzz{zyzz{yzzzz{{zz{{zzzyzy{zzzzzzz{{yyzyyzzz{zzzz{{z{z{zzyzyzzz{{{zzzzzzzzyzz{|zz{zzzyzzzzzyzzz{|zzy{zzzzzyy{z{zz|z{zz{z{zzz{zz{zz|{zyzzzyzzz{z{zzz{{zzzzyzyz{zzzz{{zzzzzy{zz|zz{|{|{z{zzzy{z|{z{{z{{zzzzzzzy{{{{||{zzyyzzzzyzz{{z{{z{{z{zz{zzz{|}{|{{yzzzyz{|zzz{|{{zz{zyzy|{z{zz{{zyyzzzzy{y{zzzzzyzzzzzyyz|zzzyz{yzyzzyzzzyz{{{z{zzyyy{zyyyyzyzzzyzzy{xyzyzzzyy{zzzzyyyyyzz{{zzzzyyzyyzyyzzyyzzz{zyyyzyyyzyzzzzzyyyyzyzyzyzzzz{zzxzxyzyyzzyzzzzzzyyyyyyyzz{{zyzzzzyyzyyzxzyzzzz{{zzyyyzyyyzzyyyzyyyyyzzzyyzzzz{zzyzyyyyzyzz{yyz{{{yyzzyzyzzzzyzz{zzzyyzzy{yz{zzzzzzz{zxyzzyz{{{{zzzzzzxyzzzz{z{zzyzzzzyyyzzz{z{zzzzzzyyy{z{zzy{{z{zzzzzzzzz{z{z{{{zzyyyzy{{{{{zz{zyzyzyzz{{{z{z{{{zyyzyyy{{{{z{{|zyzyzz{z{z{z{zz{{{{zyzzy{{{|{{{{{z{zzyzz|z{{{|zz{yz{zyyzzzz{{{{{|{zzz{{z{{{{z{{{zz{zyz{y{{{{z{|{zzzzz{{yzz{{{{{z{yyyzxzzzzzz{{zzyyzzzyzyyz{zzzz{xyzzyzxyyzzz{{z{yyzzyzzyzzzzz{{{zxzyy{yyzyzz{yz{yzyyyzzxz{z{z{z{z{yyyyyyyzyzy{zzzyzyzyyzyzyyzz{zzyzyxzzyzyyzzzz{zyyyyzxzzy{yzzzzyzzxyzzyzzzz{zyzzzzzyzzyyzzyzz{yyy{zzyzzzzzyzzzzzzyyzyyyy{zzz{z{zzyyzzyyzz{{{{{zzzyyzzzxyzz{zzz{zzzxyyzzz{zzzz{zzzyzyzz{|{{y{{|z{yyy{zyzzzzzz{yzzyyyzzyyzzz{z{z{{{{{zzyzz{zzzzz{zyzy{{zz{{{z{z{zzz{z{{{z{{y{zz{{zzy{z{zzy{zzzz{{zzzzzzzz{{{z{{{{zz{z{z{z{z{{{{{{zzzzyzzz{{z{{{|{{zzzzzz{z{{|{{{z{zzzzyzz{{z{z{{|zz{zzz{{|{z{{z{|zzzzz{|{z|z{{{|{zz{yzzyyzz{{y{zz{zzzzxyyzz{{zz{zzzzzzyzzy{zyzzz{zyzzyyxyz{zyz{zzzzzyyyyyzzyzzzz{yyzzyzyyzzz{y{{zzyzyyyzyzzz{zzz{yzyyyzzyyzz{z{zyyyyyyyzy{yz{z{zzzyyzyxyyyzyzzz{zwyzyzyyyyzy{zzxzyzzyyyyzyzzzzzzzyzyzyyyyz{zyyyyzyyyyzyzzyzzzzyz{zzyzzzzyyzzzzzzzzyyzzyzyyzz{{{y{{zyyyyxy{zzzz{{{{yyyzyz{zz{zzzyzyzzzzzzyyz{zzz{zzyzzzxyyyzzz|{{zyzzyzyzzzzz{yz{zzyyz{zzzz{z{zzyz{zzyzzyz{{{{{{z{zyzzzzzy{{z{{|{{{zzzzzyzz{{|{{zzzyzyzzzz{{z{zz{{zzzy{{{{{{{y{{{{|{{zy{{{z}zz|{{{zzyzzzyzz{{{zzz{z{y{zzzzzz{{{z{{z{{{{{z{z{{{z{{|y{zzzzzzz|z{{z{{zyzzzzzzz{zzzz|{zzzzyyzy{z{zzzyzyyzyyyxyyzzzzyz{y{zyyzyyz{yzzzzzzzyxyyxxzyzzyzzzzyzyzyyyyyzzzyzzyzzyyyzy{zy{{z{zzyyyyxzyzzzzz{{zyyzyyzzzyz{zy{zzzzzxyzyyzz{zzzzzyzzyzzyzy{z{zyzz{yzyzyyyyyzzzzzzzzzzzyyyzzzzzzyyyzyyzyyyzzzx{zzzyzzyyyyyzz{zz{{zzyyyzzyy{zz{{zz{zyzyyzzzyzzyzzz{zzyyyyzyzz{yzzyzzyzzzzzzzzz{zz{{{{zz{yzy{{zz{{zz{yzyzzzyy{{{zz{zzzyyzyyyzzz{z|y{yzzxzyzzz{{{y{{{zzzzyyzz{zz{zz{{zzzzzzzy{zzz{{{zz{yzzzzzz|{{{z{{zy{x{yz{z{z{z{zz{{zyz{y{z{{{{z{z{z{zyzyzz{{{zz{{zzy{zzzy{yzz{{{{zzyzzzz{{z{z{z||yzzyzzzzzz|{{{zzz{{zyzyzz{zzzzzzzyzxyyyyz{{z{{{yyyzzyyxyyyzy{y{zzzzyyyyyzyz{yzzzyyyyyzzzyyzy{z{yyzyzyyzyzzzzzy{zzyyyyxzyzzyyyz{zzyyyyzyyz{zzzzzzzyzzyyxyzz{yz{zzyyyzzyyyzzyzzyzzyxyyyyyzzyzzy{{zyyxxyyxzxyzzzzyzyyzyyyyyzzy{zy{{yzyyyyzyyyyyzzy{yzzyyyyyzzy{yzz{yyzxyzyxzzzyzz{{zyyyyzzyz{zz{zz{zyzyyyzy{zzzzz{{zyzzyzzyzzzz{zzzyyzyzxzzzzyzz{zzzzyzz{yy{{zzz{zyzyzzzzzyy{zyyz{z{zzzyzzy{{zy|{{zyzzyzzzz{zzzz{{{yzz{yzyz{{{z{z|{zyyzyzzzzzz{zz|{zz{zy{y{zz{{{{{zzzzyyzzz{{{z{{{{{{zzzzz|z{{zz{{zzzz{{yz{{{{z{{{|{zzz{zzz{zzz{{z{zzzyzzzzzz{{zz{{{{yzzzzzzzz{z{zzzyyyxxzzzzzzzzzzyyxyyxzxyyyyz{zzzyzyyxxxzzzzy{{zyyyyyyyyzzyyy{zzyyyyyyyyzzy{y{{zyyyxyyyyyzzzzyz{zyzyzyzyzyzzyzzzyyzxyxyx{yzzyzzzyyxxyyyyzzzyzzyzyyyxyyyyyyzzyzzzyzxyxyxzyyzzzz{zyyyyxzyxzyyyzz{zyyyxzxyyyyyyzzzy{yxyxyyyyzzzzyzyzzyyzyxzzzz{zzyzzyyzyxyzy{zzzzz{zyzyyxzzzyy{z{y{zzyzyyyyzzzzz{{zzyzyyzyyzy{{yzyyzzzzyyzyyzzzzzzyzyzzyyzz{zzzzzzy{zyyzyyzz{{yzz{{yzyzyyzzz{z{z|{{zzzyyzzyy{{zzz{z{yzy{yyz{zz{zz{zyzzyzz{{zz{{|{z{{yzzzzzzy|{{z{z|{yzzzyyzzz{{{{z{{yyzzyzy{{{zz{zzzzyyzz{zz{z{z{{{yzyy{zzyzyzzzzz{yzzxyy{y{{zzzz{{zyzyzyzxzz{zyyzyyyxzyzyyyzyyzzzzxzyyyxyyzz{zyz{zzyyzzzzyzyzyz{{{zxy{zyyyyzzzyz{zyy{yyyyyyzyzyzzyyyyyyyyyyzyyz{zzzyzxyyyxzz{yyzzzxyyzyzy{zzzzz{z{yyyyzzyyzzyz{y{zyyyyyyyyyyzzz{zzzzyyyyyxzzzzyzzzzyyzzyyxyyyyzzzzz{zyyyxyyzzyy{yzzzyyzzyyzzzyz{z{zyyyzzzxyzyzyzzzyzzyzxzyzzzzy{zzxzyzyzyyyy{yzyzzzz{yyyyyz{zzz{zyzzzzyyyyzy{y{z{{zzyyzyyyyzzyzzz{zyyyyzzyzz{z{zz{zyyzzyyzzz{zzz{{zyzzzzy{z{{{{z{zzyz{yzzy{zy{y{{{zzzyyzzyz{zz{{{zz{zy{z{z{{z{{{{zz{zzzzz{z{{{z|{zzzzzyzyzzz{z{z{z{{zzzz{zyz{{z{z{zzzyzz{yz|{z{z{{{zxyyzyyy{zzzzzzzyzzyyyxyzz{zzzyyxyxyyzxyzyzzz{zyyyzyzzyyzzzzzz{yzyzyyzzzzzyzzzzzyyzyyyyzzzzzz{zzzyyyyyyzyyzzzz{yyzxyyyxyz{{z{{yzyzyyyzz{yzyx{z{yxxyyzyyzyzzzzzzyyzyzxzyyzzzyz{zzyzzzxyyyyyzzy{yyyzzyxyxzyz{zz{zyzyzzzxxxzzzyz{yyyyyyzyzzzyyzyz{zzzyzzzy{zzzzzy{yzyzzyzy{zzyzzzzzzzyyyzzyzyzzy{zyyyzyyzyzzzzz{zzyzzzyzyyz{z{zzz{yyyzzyyzzzzzzzzzzzyyy{zzzzzzz{{yzzzyzyzzzz{zz{{zzzyzyy{y{zzzz{{{zzzzzzyz{{{z{z{zzyzyzyzzz{{z{{|{z{{zy{zzz{{{{z{{{yyzyz{z{{zz{{{|{yy{z{z{z{{zz{zzzyz{{yzz{zz{{{z{{{{y{zzzzz{zz|zzz{zzyzzyz{{{z{{zzzzyzzzzz{{y{z{zzzzyyyyyzz{zyzz{yzyyxyyyz{zzzz{{yyzzzyyzzyz{z{z{zyzyyzzzzyzzzz{zzxzyyzzzyz{{yz{zzyzyyyyx{zzyz{zyzxzyyyzyyyyz{{zyzyzzyyyyzzzzyzyzyyzzzyyzzzzzz{zzyyzyzxzzzz{zzzyyyyyyzyzyzzzz{{z{yzzzyyyyzzz{zzzyyzzzzyxyzzxy{{{zzzxxxyyyyzzyz{{yzzzzz{yzz{zzyzzyzzyzzyzyzzzzzz{{zyzyzzyyzz{zy{z{zzzzyyzyz{zzzz{zyyzz{zzzz{{{{{z{zyyyyzyyz{|{z{{{zyz{yzzy{zzzzz{z{zx{y{{z{{{z||z{zzzzyy{y{{z{z|{{zyzzzzzz{|z{{z{z{zyzyzzzz{{z{||{{z{zzz{zz{z{{{z|{z{zzzz{z{zz{{{zz{z{yz{z{{{{z{{{{zzy{zz{zzz{{{|{{z{z{zzz{{z{z{{{zzyzzzzz{zz{z{|zzzzzzzzzz{z{{{{z{yzzyyzz|{{zyyyzxyyyyyyyy{zzz{zy{zyyyyzyzzyzz{zzzzyyyyyxz{zzzzzyyxyyyzyzyzzzyyzzzyyyyyyxzzzzz{z{zzyyzzyyzzzzyzyy{yyzyzxyzyzzyyyzyyyyxyyyyzzzz{y{yzxyxzyyzzyzzz{zyxzyyyyyzzzzzyzzzyyyxyxzyyz{zzzzyyyzyyyyyzzyxzzyyyzyyyzzzyyzzzzzzxyyyyxy{zzzzzy{zyyzzyyxyzyyzz|{zyzzyyzzzzz|zzzzyyyzzzyzzz|zz{{{yyyzzyyzzzzyy{yzzyyzyyyz{{z{yz{zyzzz{yyyzzy{zz{yzzyyz{yyzzzz{zzzz{zzzzzzz{zzz{zzyzyz{yyxzz{{{|{{{xyyzy{{{{{zz{z{{yzzyyz{{yzz{zzzzzzyz{zzz{{{{{z{z{zzyzyzzz|{{z{{{zy{yyzzzzzz{{{{zzzzz{zz{{{z|{{{zz{zzzyzz{y{yzzzy{zzzzzyz{zzzzzzzyzzyyyzzz{zzzyzyzyzyyzyy{zyzzzyyyyyyyzyzzzzz{z{z{yxyyyyz{zzzy{yzyyzzyyzzz{yzz{zzyyyzyyyzyzyzyzzzyyyyyzzyyyzz{zz{yxzyyyyzzzxyy{yxyyyyyyzyzz{z{zzyyyzzyzyzzy{zzzyzyyzyyyyzyz{zz{zzyyyzzyyyzzz{{zzyyyxzyyyyz{zy{zzyyzxyyyyyzyzz{y{yzzyzzzyzzzzzzzz{zzzzzzzz{zzyzy{zy{zyzzy{yzzyzzzzyyyyyxyz{y{z{z{yyzyzyyyz{zy{z{zyyzzyyyyz{{zzz{z{yyyzyzyz{{zzzyzzzyz{zyzzzzzzz{{zyyzzyzz{zz{{z{{{zzzyzyxz{{{{{|{zyzz{zzyz|{z{{{{zz{zzzz{z{zz{{{{{{{zzzzz{{{{{{{zzz{{yyzz{{z{z{{y{zzz{zz{{z{z{|{|{{z{{zz{{{{z{{z{zzzzy{zzyzz{{{z{zzz{yyzzzzz{z{yzyyzzyyzyzzzzzyz{zyyzyyyxzzz|zzzzyzyyyyzy{zzyy{zzzyyzyzyzzyzyzzzzyzzyzxyzyy{zzy{{yyyyxxyyy{z{zyzzyzzyyzyzzzz{zzzzzyzzyyzyzzzzzzzzzyzyzy{x{zyzyy{zzyyxyyzz{yzyzzz{zyyyxyxzyz{zyzzzzyzzxyzyzyzz{zzzyzzzyyzyzz{zz{zyzzxyzyyyz{zyy{zzzyzzyyyyzzzzyzzz{yyyyyzyyz{{zyzzzyyzzyzyyzzyzzzzzyzyyzyzz{zz{zzzzyyzyxyyz{zzz{z{zyyzzzyyzzz{zzzzzzyzzzyzzzzyz{z{zzyzxzzyzz{{z{{zzyyyzzz{zzz{{{z{{zzzzzyyz|{zz{{zzzzzzz{z{|{zzz{|{yyzy{{zz{{z{{z{|zyyzzyz{z{z{{{|{y{{zyyzzz{zz|{{{zzyzyyzzzzz{|{{{zzyzzyzz{{|z{{{z{yzzyzz{zzz{z{z{z{{zzzzz{{z{z{zzzyzyyyyzzzzzzzzyzzzyyyzyzzy{yzyyzzyyyyyzzzzzzzzyzyzyzzyzyzzz{{yzyyyzyzzz{z{zyzzzzyyyyyyzzzz{yz{zyzyyyyyyzyyzzzz{yzyyzyyzyzz{zzzyzzyyyyzzzzzyyzzyyxyyyyzyyzyzzzyzyyzxyyyzz{yz{z{zyzyyzyzyzz{zz{{zyxzyyyyyzyzzzzz{yzyyzyyyzzzyzzzyy{xzyzy{zz{zzzzzzzyyyzzy{zyzy{zzyz{zyzzzzzzzzzzzyyyz{yyz{z{y{{{yz{zzyzyzzzzzzzzzyyyzyxz{z{zzzz{zzyzzzzzz|{zz|{{zyzzzzzz{z|||{zzzzzyzzzzzz{{{zzzy{{{yzyzz{zz{{{zzzzz{zzzz|{z{{{{{{{{z{{{z{zzz{{z{z{zy{zzy{{{{{{{zzzzyzz{y{z{{{z{zzz{yzy{zz{{{z{|z{zzzz{zz{{{z{z{zzzzzzyzzz{z{{{zy{yzzzyxz{z{yzzzzzzyyzzyzzzyzzzzzyyyyyyxyzzyyyzzyyyyxzyyzyyzzzzz{yzyyzyxzzzyzzzzyyyzxyyyy{zyzyzyzyyzyxyxxzyzzz{zyyxyxyyyz{zzyzyzzyyzzyyyzyzzyyzyxyyyyyyyyzzzyzz{xzzzyxyyy{yzzzzyxzyyxyyzzzyzzzzzyyyyyyyyzyzzzzzzyyxyzxyyyyyyyzzyzyzyyxyyyzyyy{zzyyzyzyxyzzzzzzz{zyyyyyyzzzyyzzyzzyyzzzyyyz{zzz{zzzzyyyyyy{zyzz{{zxzyzyzyyzz{z{zzyzzx{zyyz{{zyzzz{zyzyzyyzzzzyzzz{zxzzzzzzyy{{z{{zz{zzzzzzzzzz{{zzyyzzyyz{{z{z{{zyyzzzz{y|{z{{y{zyzzzzz{{zzzz|z{z{zzyy{zzz{{{{z{{zyzzzy{zz{{{z{{yzzzzzzyy{zz|{{{|{zzz{zz{{zz{zz{{zzyzzzzzyy{zz{|{zzzyyyzyy{{zzzzzyzyyyyzy{{yzyy{yzyzxyyzyyzzzzyzzzyyyzxzyzz{zzyzyyxyxyyyyzyzzzyzzyyyyyzzzzzzzz{z{zyxzxxzxyzzzzzyyyyxyyyyyz{zzyzzzyyyxyyzyyzzyxyzzyyyyyzyzzzzxyzz{yyzyyyyzyyzyzzzyyyyyyxyxyyyzzzzzzxyyxyyyzyzzzy{zyxyxyyzyyzyzzyyyyzyxyxxyyzyzyzyzyxzxyyyzyyzz{zzzzyzzzzyzzzzzzzz{zzyxyyzyyzzzzzzzzyzyyyyyzzzzy{zzzyzxyyyyzzzzz{yyzyzyyyxyzzzzzz{zzzyyzzyyyzz{yyzzzzz{zyyyyz{z{{{{zyyzyzzzzy{{z{zzzyzzyzyzz{{zz{zzzyyyzyyzz{{z{{|zzyzy{{zzzz{z{{z{zzzzz{z{zzzz{{|zzzzzzzyyz{zz{{zzzyzzzzzzzzz{{{{{{zzzzyyzzz{zz{{{{zzyyz{zz{yzyzzz{zzzyzzzz{z{y{|zyyzyyzzzzz{yzz{zyyzxyxyxzz{yzyzzyyyyyzxzyzyz{zz{zzzyyxyyz{zyzzzzyzyzyyyyzzzzyyzyzzyyyy{xzzzyy{y{yyyzxyyyzzzzzzyyzxxzxyyzyz{yy{zyyyyxxyyzzxyyzzzzyyyyyyyyxzzzzzzzyyzyyxwyxzy{yzzzzyyyyyyyzzzyzy{zxyyyyyxxyyyyyzzyzyzzyzyyy{zzzzzzyyzyyyyyyzyzzyzyzyyyzyyyzzzyyzzzyzyyyyzyyzzzzzzzzyyyzyzyz{{z{z{zzzzz{yzyz{{zz{zzzzyzyzyyyz{zz{{{zzzzxyzz{{yyzz{{zzyyzyyyz{z{zz{zyyzyzzz{zzz{z{{{zyyzzzzzz{zz{{{{{yy{zyzzzz{zz{{{zzyzyyzzz{z{{z{|yzzyz{yzz{z{z{z{zzzzzzzzzz{zz{{{zyyzzzzzzz{{z{{{{zyz{yyy{zzz{{z{|zyzz{{y{yzzz{{z{zyyyzzxy{zzy{yzyyzyzzyyzzzzyz{zyyyyyyyyyzyzyzzzyyyzyyzyzzzzz{zzyzyyyyyyzz{zyzzzyzzyyyyyyzyyyyyz{zzyxyzyyzyyy{zzyyyyyzyzzyzyy{z{yyyyyxyyyy|yyzzzzwyyzxyyyyyzyyzzyyxyzyyyzzzzyzzyyyyyyyzzyxyyyzzzyzyyxyyxyzzyyyzzyyxyyyyyyyzzyyz{zzxxzyxyyzzzy{zzzyyzzxzzzzyzzz{yzyzyzxzzyyzzzzz{yyzyzyyyzyzzzzz{zyzyyyyyyzzzz{zzyzzzyyzyzzy{zz{zzz{yyyyyzz{yz{zzzzzzzyyz{yzzzz{{yzyz{zyy{zzzzzzzyzyzyzzyzzz{z{{zzyyyzxyzzzzz{{{{zyyzzyz{{{{z{z{{zyzzy{zyy{{z{{z{z{{zzzzyz|zzzz{{{zz{yxzyz{{{{zz{{yyzyz{zzzyz{{z|zyyzzyzy|z{zz{z{zzyzxzzzzzzz{{{zzzyzxxzyzz{zyz{zzyzzxyyzyz{yz{zyxzyxyxyyzyzzzzzzzyyyzyyyzy{zzzz{zzxxzzyzzzzzzzzzzzyyzyyzzyzzyyzzzzzyyxyyyy{yzzzzzyyxzzzyyz{yy{{{yyyyyzxxzzzzzz{z{yyyyyyyyyyyyzzzyyyyzxyxyyzyzzzzzyzyxyxyzyzyyyyyyzyyxyyyyzzzzzz{yyzyzzyxyzzzyzzzyzyxyyxyyyzzy{zyzyzyyzyyzyyzz{{zzyyyzzzyzzzyyzy{zy{yyxzzzyyz{zyzzzxyyyyyyzz{zzzzyzzyzyzyyz{zz{{zzzzxyzyyzzzzzzzzzy{xzxyyzzyyy{zzzzzzzzzzz{{{z{z|yz{yzyzy{{{{y{z{zyyzyyzyz{{zz{zzzyy{yyyzz{zzzz{{zyyzzz{{z{z{z{{z{zzyzzzzz|z{{|z{|zzzzyyzzz{zz{zzzyzzzy{yzz{{{{{{{yzzzz{z|{{z{z{{z{zz{zz{z{{zzz{zzzyzzzzyz{{|{z|yyzzx{yzyzzzyzzzzzyzyxyyyz{zzzzzzyyyyyyyyzzz{z{zzzyzyzyyy{zzz{z{{zxzzyzzyzzzzyzzzyyyzyyyyzzzyz{{zzzzyyzyyzyyzzz{zyzyyyyyyzzzzyzzzyzyyyxyyzy{zzzzzyyyyyyyyyyzzzz{zyyzzyxxzyz{yzzzzzzzyxyzxyzzzzzz{zzyyyyyyyyzzyzzzyyzyyzyzzzzyz{zzyyyyzyyyzz{zyzz{zyyz{yzzzyzz{{{{zyzzyyzyzyyyz{z{zyzyyyzyzz{z{zz{{zzzzzzzy{{zz{y{zyzyyyyzzzyzzz{{zyzzzyyy{z{zz{z{zzzzzzzzzz{z{{{{yzz{zyzzzzy{z{z{zz{yzzyzzz{z{{{z{y{z{y{yz{zz{{{{zz{{zy{zzzzz{|z{{yzzz{{z{|{z{z{{{yz{zy{{|zz{{{{z{zyz{z{zzz{{{{|{{{zzz{y{{y{{{z|{zzyzzzzz{zzz{|{z{zyyyzzzyzyzzzz{y{zyzyzyyzzz{zyzyyyyyyyxzzzzzzzyzzyyyxyzzzzzzzzz{yyyyzzyyy{zzz{{yyzyzyzzzzzzzzzzzzyyyyyy{yyzzzzzyzzyyzyyyyyyyy{yyzyzyzxxyy{zzzyzzyyzyyyzzzy{zyyzyzyxyyzyzzzzzyzyyyyyyzyyzyzzyzz{yyzzxyxyyzy{yyz{yyzyyyyxy{yzyzyzyyyyzyyxyzzzz{{zyyzyzyzyyzyzzzzzzzzyyyzyzzyyyz{{yyzzyxzyzzzyz{zzzzzyyyzzzzzz{zzzzyzyyxzzzzzzz{y{zzzzyz{yz{zzzzz{zyyzyzyyz{zzzzzyzzzzzzzz{zzz{{{zyy{zy{yyz{z{z{{{yyyzzyyyz{z{z{zz{yz{{yzz{{{{z{{zzzzyzz{z{{zzzzz{zzzzz|yzz|zz{{{{{zzzyzy{{{z{{{{z{zzzz{yyzyyz{{{{{zzz{zz{zz{{{z{|zzzzzzzzzz{{{{{{yyzzzyzz{|{zzz{zzzzyzyyzzzzy{zyzzyyyxyyyzzzzzyzzzyzyyzyyzzzz{{z{yxyyyzxzzyyzyzzzzyzyyzyzx{zyyzz{zzzxyyyyzzzzz{zz{zzyyxzyy{{zz{z{zzzyyyzzzzzzz{yzyyyxxzyyyzzzzzyzyyyyzyxxyzyy{zzzyzyyyzyyzzzzz|zzyyzyyzyyyzyzzyzzzyy{xyzxzzzzyyz{{yyyzyyyyzyzzzzzyyyy{zyyzyzzzz{zzxzyzxzyy{zzyzy{{yz{yyzyzzzz{{zzyyyyzyyzzzzyzyzzzzyz{zzyzz{{zzzzzyyyyxzzzz{yz{{{yyyzyzzzz{{zz|{{zzzzzzzzz{{zyz{{y{zzzzzzzzzz{{z{zzzyzzzyzzzzzz{z{yzzzzzy{{{z{{zzz{{zyzzz{z{zzz{zzzzzzz{zz{{z{z{{zzzyz{y{zzz{{{{zzzy{{zyz{zz{z{|{zzyzzz{yzz{{{z{{zzzzyyzzy{{{{{|zzzzzzzzzzzzzzz{zyzzyyzyyzzzzyzyzyyyz{xyxyyzzyz{zyyyxyyyxyzyyzzy{yxyzyyz{zzzzzzzzzzyyyyyyyyzzxy{zyyzyyyzxzyzzyzzzzzyyyyzyzyyzzzyyyyxyzxzyzyzzzyyzyxzyxyyyyyzzxzz{yyyyyyyxzzyzzyzzyyyyyzxyyyzzzzyzyyzyxyxyyyy{xyzyzyyyyzzyyzzzzzyzyzxyyyyyz{yzyzzyyyyyyzyyz{zyzzzyzyzyyxxxzyyzzzzzyyzzyyzzzzzz{yz{yzyyyyzyyz{yyzzzzyyzyyyxzyyzz{zzyyyyyyzyy{yz{z{yzzzzyyyyyz{zyzzzzzzyzzzzyzzzz{zzzyyyyyzyzzz{{{{zzyyzzzyy{z{{z{{z{yzzy{yzz{z{{{zzzzzyzzzz{{zz{{{z{zzyz{yyz{{{z{{{zzzzzzzzzz{{yz{z{yzzzzz{yz{zzz{{{zzz{zzyzzzzyz{{zyzyyyzz{zz{zz{yzzzzzzzzzzzzzz{zyyzyzyyyzyzzyzz{zzyyzzyyzyzyzzz{zzyyyyxyzyyzz{z{zyzyzyzxzzzy{z{yzyxyyzyyyz{{zzzzzyyyyyyxzz{zy{z{zyyyyzzyxzzzyzzzzyzyyzyxzzzyyzzzyxyyyyxyzyzzzzzyyyyxyyyyzy{yzzyz{yyyyxyyyz{z{{zzyzzzxyyyxzzzy{{zyyyyyyzyyyyy{yzzyzyyzyyyyyy{zzzzzzzyyzzxyzyzzz{zzzzzyxzzz{zyzyz{zyzzyyzzzzzz{zz{yyzyxzyzzzz{zz{zzyzyyyyyyzzzx{z{zzyyzzyxzzzy{z{z{yzzzzzyz{zzz{zz{yzzzzz{zzzz|{{{yzyzyzzzzzy{{zz{yyyyz{zzzz{z{z{z{zzzyyzz{zz{z{{zzzzzzzyzy{zzz{zz{z{zz{zzz|z{zz{zzz{yyzzz{|{zz{{{zzyyzzzzzzz{z{{{zzzzzy{{z{{z{zz{yzyzzyyzz{zzz{{{zzzzyyy{z{z{z{z{yy{yyzzzzyzzzzyzxxyyyzzyyzzyz{zzzzzyyxyyy{yzzzzzyyzyyzzyzzzyzz{zyyxyyyzyzyz{yzzzyyyyzyyy{yzzz{zzzyyyzxyyxy{{zyzzyzzxyyxzyyyzyz{zyyyyxyxyyzzzzzzzzzyyyyyyyyzyzzzzzyyyyyxyzyzyz{zzxxyyyyyxyzzyyzzzzxxwzyyyyzzzyzzyyzyyxxxzzzyzz{zzzzzyyzyzzzzzyz{zzyyyyxyyzzzy{zyyzzyyxyzzzyzzzzyzyyzzyyyzyzzzzz{zyzzzzzxyyzzy{{yzyyzzzxzyz{{zzz{{zyzzyyyzz{zzy{y{z{zyzzx{y{z{z{{{yzzzyz{yz{z{z{z{zyzzyzyz{zzzyzzz{yyzzzzy|z{z{{z{zzzyyzzzz{{zz{{{zyz{yzyyz|z{{{{z{{zzzzyyz{zz{y{{{yyz{zzzyzzz{{{|zzyxzyzz{zzz{zz{{{zyzzz{z{zzz{z{zzzzyyxyz|z{yzzyyzzxyyxzz{zzz{yxyzxyzyyxyzzy{zyzzyyyxyyyyy{yzzzzzyyzyyzyzzzyzzzzyyyxyyyzxzzzzy{{zyzyyyyyy{zzzzz{yyyyzyyyyyzyzzzyzyyxyyyyyzzzyyyyzyyyzzxzyyyzyz{zyyyyxxyyyyyzyzzz{yyyyyxxyyyz{zzzyzzyx{yyyzyzyzzzyyyyxzyxzzzyyzyywyzyyyyxzzyyzzy{yyzzzzyyzyzzyzzzzyyxzyyzy{zzyzzzyyzyyzzyzzyyz{z{yzzzxyyzyzzzyz{zxyzzyyzyz{zz{z{zzyy{zzyzzz{zzz{yzyzzyyyyz{zzy{{zzzy{yzzzzz{z{|zzy{zyzzzzy{z{z{|{{yzzyzyzz{z{zz{zzzzzzyzyz{{{z{{zz{{yz{{{z{{{z{z{|yzzzzz{{|z{z{{{yyzzzzzzzz{{z{{{zyz{zzyz{yyz{|{|zzzzzyzzz{zz{{{{z{{{zz{z{y{{{zz{zzzzyyzzzz{{zz{zzzyxzyzxzzz{zzyzyzyyyzzyyzzyzyzzyzyyxxyyzyyzzzzyzyyyyzyzyyyzz{z{zzyzyyyxzzzzzy{{yyzyxyyyzzzzzzzzyzzzyyyyz{zzyy{yzzyyyzyzyyzyyzyyyyyyzyyxzzzzyyzzyyzyyyyzyzyyzz{yyyyyzyxzzzzzz{zyzyyyyyxyzz{zzzzzzyyxyyyyxzzyyzzyy{xxyyyzyzyzzyzzyzyxzzyxzz{zzz{{zzyyyzzzzzzzzzz{zzzzyzyyyzzzzzzz{zyyzyzzzzzzyz{{zyyzyxyy{{zzzzzzyzy{yzyzyz{zzy{zyyzyyyyyzzzyzz{zzyzzzyzz{zzzzz{zzz{z{y{z{yzzz{z{zzzyyzyy{{{zzz{zzzyz{yzzz{{z{{{zzz{zz{{yz{{{z{{zzzzyz{zy{{z{z{{z{yzzzyyzzyzz{{zzzzzzzyzzzzzz{{zzzzzzzyzzz{{zzzz{{yzyzzzzyzzz{z{z{yyzzzyzz{yy{zzzzz{yyzyzz{{z{yyzyzyxyzyyy{zyyyzzyyyyxyyyyzzzyzz{zyyyyyxyzzyzzz{zzxyyzyxyyy{zzyzzyyzyxyyxzyy{yzxzyyyyzyzyyy{yzz|{yyyzxyyzyzzyzzzyzzzyyxyyzzzyzyz{yzyyyxyxyzzzyzz{zyyyyyyzzyzzzzzyzyzyyzyyzzyzz{zyyyyyyxyyyyzzyzzzzzyyzyxyyz{yyzzyyyyyyyyxyyyzzyz{yyyyzxzyyzyzy{zzzyzyyxzzz{yzz{{{zyyyzyyxyzy{zz{{yzyzzxyyz{{zzzzyzzzzyyzxzzzzyzzzzxzyzyzzzzyzzzyzzyyzzxzz{zzzzz{{yzyy{zyx{zz{z{z{zyzz{zzxzz{{zz{zzzyzzyzz{{zzzz{{zzzyzzzzz{z{{{{{{zzyy{zzzzz{{z{zzz{zyyyyzzz|z|zzyzzyzzyzzyzzz{{{{yyyzyy{yzz{zz{{zyyzyzzyzzyyzzzzzzz{zyyzzzz{{z{zzyzzyyzyzzzyzz{zzyxyyxxxz{{zzyzzyzy{yyzzzzzzz{{zzzyxzyyz{yyz{{zzzyyzzzyzzyyzyyzzyyzzxyyyzzzyzzzzzy{yyzyyxzxzyzyzzxzzyzyyy{yzyzzzyyzyzyyyzyyxyzzzyyzxxyyxzyzzzyzzyyyyyzyyzzyzzzyzzyyyyyyzyz{zzz{{zzyyyzyzyzyyyy{zzyyyyzyxzzyyy{zzzyzzzyyx{yzzzzzzzzyyzzyyzzzyzyzzzyzyyxzzzzz{y{z{zzyyyzyzyzzzzy{zzzzyyxzzz{zz{{z{yzyzyyzyyz{{zy{zyzzzzyzy{zzzzzzzzzyyyzzz{yz{{{{{zzzy{z{yzzzz{{{{yzz|zyzzz{{z{{z{zzzzzz{z{zzz{{{{zzzxzz|y{{{{{{z|zyzz{zyz{|{{{||{zz{zzzzy{z{zz{z{{z{yyyz|{{zz{{{{zzzzzzyzz{z|{z{{zzzzyz{zz{zz{{{yzyzzzyzyzz{{zz{z{zzxyyyzyz{z{zzzyyyyyyyzzzzyyzzzxzyzyxzzzz{zyzzzyzxzzyyyyzy{zyzzzyxyzyyyyzyzzy{zyzxyyyxxzzzyyzzzzzzyyyzyyyyzyzzzzzzyyzyyyy{zzzzzxyyyyzyyzzzzyyyzyyyyzyyyyzzyy{zzzyxzwzxyyyzzzzzzyyyxxxyyyzzzzzy{yyyyzyyxz{zyzzyzyyxyyyyyyyyzzzz{zzyyzyzyzyzzy{zzzyzyxyyyz{zzzy{{zyzyyyzzzzzzyzz{zzyzyzyzyzzzz{z{yyyyzyzyzzyzzz{zyyzyyyzy{z{zz{{zzyzzyzzxzzyzzzzzzzzzzyyzy{zz|{{zyzyzzy{yzz{zz|zz{yzzzzyyzz{{{z{y{y{zzx{z{{{{z|z{{yzzyzzzz{{z{{{y{zzzy{zz{z{{z{{{zyzzyzzzzzz{z{{zz{y{z{y{zz{z{zz{{zzzzzzz{{zzzzzzzzzzyzyzyzzzz{z{z{yz{zzzyz{zz{zzzzyyzxyx{{{zzzzzzyyzxyyxzzzzyzyzyyyyyyzy{y{zz{{zzyzyzyyyyz{yzzzzzyyzyyyzzzy{{z{zzzzzyzyxzzz{{{z{zyyxyzxyyzzzz{zzzyyyyzyy{zzyxzzzzzzyyyxzzyzz{zz{yyyzzyyyyzzz{zzyyxyyxyyyzyy{zyzzzzzyzzyzy{zzyzzzyyzyzzyyzzyzzyzzzyyyyyzyyy{yzzzzyyzyyzzyzyz{zzy{zyyzzyzyyzzzz{z{y{yyzyzz{zzzyyz{yzyyzxyz{{{zzy{{zzyyzy{zz{{zzzzyzy{zzyzzz{z{zz{{zyy{zyzyz{{yyzy{{yzzyzyz{{y{z{{zyyzyzzzz{zz{z{z{{zy{zyz{z{|z{{zzzzzzzz{z{{|{{|{|zz{zy{zzz{{{{{{|{{zzzzzzz{{zz{{{{{{{z{{z{z{z{{{{zzzz{{zzzz{zz{z{z{zz{z{{{{{|{||{zzyyzzzz|z{|z{{{{yzzzzzzz{zzz{{yyzzyzyyy{zzzyzyzyzzzzyxyyz{zzz{{yyyzyzyzyzzz{{yzzyzxyzzzzy{yz{y{zyzzzyzzzzyzzzz{zzzyxyzyzz{zzyz{yyzzzyzzzzz{yz{yzzzyzzyzyyzzyzz{zyyyzzyzyzyzzzzzyzyyyyyyxzxyyzzzyyzyxzyyz{yzzyzzzzxxxyzxzzzzzz{{zzyyyyyyyzzzzzy{yyyyyzzyzyzyz{{zyyzyzzyzyzzz{{{{zzyyzyyzzzzzzz{{zy{z{yzxzyyzzzyzzzzzzzyzyz{{{{zzzzzz{yyzz{zzzzz{yyzyyyzyzzz{zzzzzyzzz{zzzz|{zz{z{{yzzyzzzz{{zz{{zzzy{zzy{{{{{{|{{zzzzyyzz{zz{{{zzyzyzyz{{{{z{{|{{zzzzzzz{{{z{{|{{{zzz{z{y{{z{z{{{z{zzzzzz|y|{{{z{zzyy{z{{zz{{{{{z{zzzzzz{{{|{{{|zz{{zy{zz{{|z{{{zyzzzy{zz{{{z{zzzzz{zxzzzzz{zzz{zzzyyyxyyzzyzyyzzyyzxyzxzzzz{{zz{zzyyyzzzyzyz{y{yzzxyyyzyzz{zzyzxyzyyyzxz{zzyzz{xyzywyyyyzzzzzz{{xzyyzyyzyzzzzyzyyzyxyyzzzyz{yzzyyxxxxzzzzy{zy{yzzxyzyxzyy{z{zzyzxzyxyyyxzyzzzz{zyzyxyyyyyzyy{yyzyzyyyyyyzyzz{zzxzzzyzyy{zzyz{z{yzyyxzyyzzzyyzzzyzzzyyyyzzzzyzz{yyzyyyxyzz|zzz{zyzzzzyyxyzzzz{zzzyyzyzzyzzzz{z{zzyyyzzyyzz{{zzzzzzzzz{z{zzz{{{z{zzzzz{{zzz{{{{{zzzyyzyyy{{zz{{{{zyzyzzzzz{z{z{{{zzyzy{zzz{y{{zzz{yzyz{zzz|{zz{{{{zzzz{zz{{z{z{{{{zyzzyyz{{{{z|{|{z{{zyyzzzz{|{|{z{yyzzzyz{zz{z{|zzyzyz{yzz{zyz{{zzzyzyyyz{zzz{zyyyzxyyzyzyyyzzz{yzyzzyyyzzzy{z{z{yzyzyzyzzzzzzzzyyzyyxyyzzz{z{z{zzzyyyxyzyzzz{x{{zzyyxyyyyzyzzzzzyyyyyyyyz{yyyyzzyyyzzyyyzzzzzzyyyyyzzyyz{zzyzzzzyyyyxxyyzyzzzzzzyyyyyyzyzzzzz{yyzyzyzzxyzzzz{zyyyyxyyyyzzzzzzzzzzzzzzzyyzyzz{zyzzzyyyyyyyzzzzz{yyyzxyzz{yzzzzz{yzzzyyyyzz{y{zzyzyzyzyzzzzzzzzyyzyzzyzyz{z{z{z{{zzyzyz{yyzz{z{zz{zyyyzyzz{z{z{{{yzzzyz{z{zzzz{z{zzzz{yzzzz{{{z{{zzzzyzzy{{zz{zzzyzzyzzzzz{{z{{{z|zzz{|{{z{{{{{|z{zzz{yz{zzzz{{zz{zzzzzz{z{zz{{{{{zz{zzz{{z{z{z|zzzzzzzyzzzz|{{{{zyzzyyyyz{zz{z{zzzzzzzyz{{zy{zyzyyyyzzyzyzzzzzyzyzz{xyyzzzy{{{{zzyyyzyzyyzzzzzz{yzzyyzyzzyyzyy{{zzxyyyyxzzyzy{yzyyyyxyxyyzzx{zzyzyyyyzzzzyzzyzzzyzzyyzyzzyyzyzxzyzyyyxyzyy{zy{zzzxzxyzyzyyzzzzzyzyyyyyyyyzyz{zzzyzyxyxyzyyzzyzy{zzzyxyyzxzzzzz{zzyzyyzzyyyyyyzzyzyzyyyzyyzzzzz{{zyyyyyz{z{zzzy{{yzzyyyyzzzzz{{{{yzyzyxz{zzyzzzzyyyyxzyyyyz{zyz{yzyzyzyyzzzzzz{yzzzzyzzzz{{{{zz{{zyzzzyzzz{{{zzz{{zzzyyyz|{z{zz}{{zz{zzzzz{{y{{zyz{yzz{zy{{z{{z{{{zyz{zzyz{{z{z{yzzzyzyzyzzyz{|{z{z{z{{yyy{z{z{{{zzzzzzy{{z{{{|{zzzzyzzzzz{z{{{{{zzzzyzzzz{{zz{{yzz{xyyzy{zzzzxyzyyyyxxzyzzzxzzz{yzyyxyyyzyzz{{{{zzzyxyyyyyzzz{{zyyzzyzyyzzz{yyzzzyyyyyyyzyzzzzyzyyyyyyyyyzyyzzzzzyyyxyyzyx{{yzzzyyyyyyxyyyyzy{yzyyyyxyyyzzyzyyzzyxzzyzxyzyzz{zzzyzzyyyyyzzyz{yy{zzzyyyyxyzzzyzyyyyyyyyyyxzzzy{zzzzzzyzxxyzzzzzzzyyyzyzzzzzzzzzyzzxzzzyzyyzzzzz{{zzyzyzyyz{zzzyz{{yzyyxz{yz{zzzy{yz{zzyyyzzzzyz{zyzyzyyzz{y{zzzzzzzyyzyzyzzyz{{zzyzyzyzzzz{zz{{{{yzz{zyzy{{z{zzzz{yzz{zzzz}zzzz{z{zzz{zzzyz{|z{y{{zyyy{z{z{zzzzz{zyzzz{yzz{zzz{{y{yzzz{zzzzzz{zz{{yyyz{zzz{{{{{||z{zzyyzzzzzz{{{{z{yyzzzyzzyzzzzz{zyxyyyyyz{{zzyzzyxyyyyyxy{zzyz{yyyyyyyyzz{zz{zzzyyyyyzyz{zyzz{zyyyyyyyzyyzzyyzzzyxyyyyxzyzyyzyzyyyzzxxxyzyyyzyzzzyzzyzyyyzyyzyyyzxyyzyyyyzzzyyzyxzyyxyyyzzzyzyyzyyyxyxxyzzzzzy{yyxyzzyzzz{zzzzzxyyzyyyyyyyxyzzzzyzyyyyyy{zzzz{yzyyyyyyyzyyzz{yzyzyyyzzyzzzzzz{{zzyyyyzyzzz{z{zzzyyyyyyzz{zzy{zzzzyyzzyxz|z{z{zzzzzyyyzyz{{{yz{yzyyyyzzyzzz{zyyzyzzzyzyzzz{{z{{z{zyyyzy{zzz{z{z|zzy{yyyzzzz{{z{zzz{zzzzy{{zzzz{|zz{zyzzzzzzz{{z{zzzzzzzzz{z{{{{{zyzzyyzz|{z{{yzzzyzzzzyz{zzz{zz|{zz{zyzz{z{{{z{{zzzzyz{zzz{yzz|{{zxyyyzyzzzzzzzzzzzzyyzyzzzzzz{zzyyyyyyxyyzyzyz{zzyxyyyxzzzzzz{zzyzyxyzyyyzzzzzzzzzzyyzzyy{zxy{zzzyyxzzxyzz{y{zyyyyzyyzyyzzyzzzyyyyyzyyyyzyzzzzzzyzxxyyxzzzzyzyzyxxyyxzyy{{zyzyyyyyyyyxzyyyyyzz{zyyxyzyxyz{yzzzzzyyyzyzzyzzzyzz{yyyyxxyyyzxyzzzyxyyzyyyyzyzz{{zzyyyyzyzyzzzzz{zy{zzxyxyyzz{zyzzzzzyyzzzzzzzz{zyzyzzzzyxyyzzz{zzzyyzzzzyz{zzzzz{{zzzzyyzzzyzzz|{{zzzzyyzzz{{z{zzyzzyzz{{zzzz{zzz{zyzzyy{zz{{z{z{zzyyzzzzz{{{z{z{{y{zz{zzzzz{zz{{{zzzzzyzzyzzzz{|{{|zzzzzzzy{{{{z{zzzzzyzzzz{{{{{{zzzz{zyz{z{zzzy{yzyyyyyzzz{z{{z{zzz{zyzyyzzz{{{yyy{yzyzy{zz{zzyyyyxyyyyxzzyyyzz{zzzyyxyzyzzzyz{{zzzyxzyy{z{{{z{{zyzzyyyzzzz{yy{{yzyyyzyxzz{yzzzzyyzxxyzy{{zz{{zzzxzyyyxyzzzyyz{{yyzyyyyyzzyzy{zyzyyyyyyzyyy{yzyzzyyzyzyzyz{zzz{zzz{yyyyyz{zzzzyzyyyzyxyyzzyyzyzzz{yyzyyyyyzyzzzzyyzyyyzxz{zzzzzzyyyxzyzxxz{yzzzzzz{yyzzyzzzyzzz{zyzyyzx{{zyzy{z{yyzyyyyzy{zz{{zzzyzzyyzyy{zzz{{yzyyzzyzyzz{zzz{zzzzzzyz{{z{z{z{zzzz{|zzzz{z{zzzzzzzzzyyzzz{z{z{y{zzzzzzy{{{|zz{{zzzzyzzz{z{{zz{{zzzzz{yyz{{zzz{{z{{{zy{y|zz|zz{z{zz{zzzzz{|zz|z{z{zy{z{z|z{zzz{zz{zyzzzz{zz{{|{{{yz{zzzyzz{{zzzz{zzyzzx{{zz{zzzz{yzyyyzyz{z{zzyyzzyyzzxyyzzz{|z{zyzyzyzyzzyzzz}zzyyzyzyyyzy{zyzzyzyyzyyyyzzzzz{zzz{xyzyyzz{yzy{zzzxzyyyy{{{zzyzyzzzyzyyyzzzyyz{zzyzyzyyyyzz{y{{yyyyyyyyzzyzyzzzz{yyxyzyxz{yzzz{zzyyzzxyzyzzzzzzzzzzyxyyz{yyzzzzzyyyyzzzyzzz{{z{zzzzyzyyzzzyzz{zzyyzzzyzzz{{{zzz{zyzyyzyyzzz{{z{z{zzzzyyyzz{z{{{{yyzyyzzyz{{{z{zzyz{zz{zz{zyz{{y{{zyzzzyzy||{z{{zyzzzzyzz{{{z{|{{zzzzyzyyz{z{{zz{{zzzzzzzz|{z{{{{{{zzyzzz{{{z|z{z{z{zz{zzz{|{z{{{{zy{z{zy{zzz{{{zzzzz{zz{z{{{{||{z{zzz{z{zzzz|{|{zzzzzyyz{{zzz{|{{{zyzyzzyzxzzz{{zzzzzzyzzz{zzzy{yzyxyxzxz{yzzzz{yzyyyxyyyyzz{{zzzyyyyyyzzzzzz{zyyyxzxyyzyzz{zz{{zzzxxyyxzzzzz{zzyyzyyyzyyzyzy{yzzzyzyyxxyz{zzzyzzyyyyzyyy{yzyzzzyyzyyyzyyzyzyy{zzzyzyyyzyzyzzyzyzyzyxzyyzyyzzzyzyxyzxyyyyzyyzzzzzzyyyyyyyzz{z{zzyyyyzzyyz{zyzzzzzzyzyyyyzzzyz{zyzzyzxyzzzyzy{z{zzzyyzyzzzyzyyzzzyyzzyzzzyy{zzzzzzzzzzyyzzy{yzz{zzyyyzyyy{z{z{zzzzzzyyzz{z{z{zzz{zzyzzzzzzzz|{{{{{zzzzzyz{{zz{zzzzzyzzzzz{{{z{{{{zyzyyz{yzz{{{{{{{zzyzzzzz|{{|{{{{yzzzzyz{|{{z{{z{{zzzyzzz{{y{{{|zz{{{zz{zzzzzz{{zzzzzzyzz{zzzzzzzzyzyzyz{{{{zyz{yzzyzzxxzzzzz{{zyyzzxzzyzyzyy{y{zyyyyxyzzzzzzzz{zzyyyyyxzz{z{z{zzyzyzyyzzzzzzyzzzzzyxyyyzyz{zyzzzzyxzzyyzzzyzzyz{zzxyyzyzyzxyz{{zzyyxyyyyyyyyzzzxxzzxxxyyzzyzyzzzzxyyyxx{z{zy{zzzyyxyyyyyyyzzyzyyyyxzzyyyyzyyyzzzyyyzxxzyyzzx{zzyyyyyxyzy{yyzz{{zxyzyyyy{{{yzzz{zyzyyxzyzyzzzzzzzyzyx{zzzzzyzz{zyyzz{yyyz{yzzzzyzzyxzyzz{z{zzzz{{y{yzyyz{zzzz{{zzzzy{yzyzz{zzz{zyzyzzyz{z{z{y{{{{{zzyzzzzz{zzzz{zzzz{zzy|{z{z|{{{z{zzz{zzz{z{{{{zzzyyz{{y|||{{|{{xz{yzzzz{{zz{|zzyzz{zz{{{z{{|{{yzyz{zz{z{z{{{z{z{yzz{zyzzz|zzzzzzzzy{zzzz{{z{z{zzzyzxyzzyzy{{zzyyzyyyyyyzzz{zz{zyyyyyzyzyzzzzy{yyzyzzyyzzyyzz{zyy{zyxzyzzzzyzz{zzyyyyyyzz{zzzz{yyzyyyzzzzyzzz{z{yyyzzyzyzzyzzzzzyyyyyyzzzyzzzzyyyzzxyyyyzyzzzzzyyyyxzyz{zzyyzzzyyzyyyyyyyzyz{zzyzyyyxyyyz{zzz{yzyxyzyzzzzyyyzz{xyzzzzyyzzzzzz{z{{zzzzyzz{z{zzz{zyzyzzzzzzyzyzz{{zzyxyzzyzzzz{{{zyzyzzyyx{z{zz{{zy{zyyzzzzzz{y{{y{yzyzz{z{{zzzzzzzzzyzzz{{{zz{zzzzzzz{zzzzzzzz{{{zzzzzyzy{zz{z|z{yyzzyzz{z|{{{{zz{{{{z|zzzzz{z{z{zzzz{y{z{{z{{{|{yzzy{{yz{{z{zzzzyzzzyz{{zzz{{z{{{{{z{zz{{zz{{{{zzzyz{yzz{{zz{{{yz{zyzz{z{{zz{|zzyzzzzyzyzzzzzzyyyyy{yyxy{yzzz{yyyzzzyxxzzzyyzy{zyzyyzzyz{zzzz{zzyyyyyzz{zyzzzzzzyyyyxyxzyzxz{zzzyzzyyyzyzzyyz{zzxxyyzyzzz{zzzz{zyyzyzzyyzzyzzzzyyyyzyyyyzzzyz{yzyzyyzyxyzzz{zzzzzyyyyxxzzzyy{zzyyzzyxyxzzzz{zyzyzzxzzyyyzzyyz{zzzzyy{yyzz{zz{yzzzzyzyzy{{zxzz{zzzyyzzzyzyxzzzzzzzyzzyyzzy{z{{{{zzzyzzzyz{{zzzzzzyzyzxxyyz{z{z{z{yy{yzz{z{{z{{{{zzyyzzzzzz{z{{{{zyz{zz{z{zy{z{{zzzyy{zyz{z{z{z{{{zzzzz{z{{{{z{|{{zzz{{zzzzzz{{{z|zzzzzyzz{z{z{{z{z{zyzzz{zz{{zz{{z{{{zzzz{z{{z{{|{yzzyyy{{{y{{{{zyzyzzzzz{{z{{|{{{yyzyzzz{{{z{|zyzyzyzyzz{zzyyzzyyyyyxyyyz{zzy{zyyyyyyxyyzzzzzyzyzyyyzyzyzzzzz{yzyzzzyyyyzzzzzz{zyzyzyzy{zyzzzy{yyyyzyzyyzxyz{{yyyyyyyzyzy{yyzzyyyxxyxxxyyzy{zyzyyyxyyyyzyzzyzzyyyzyyxxyyzyzz{y{yzyyyzyxzyyyzzzzyyyyyxyxyzzyyzzzyyyxyxyyzzyzzzzyyx{xxzzyzzzzzzzzzyyxzyzxzzzy{zz{zyz{xxzyz{{zzz{yzxyyyyzyzyzyz{{zzyzyzyyyy{zzzzzzyzzyyyyy{z{{yzzy{yyzzzyyz{zz{{|{yyzzzyyzz{{{z|z{zzzyzz{zyzz|zzz{zyzzzzzz{|z{zzz{zyyzzzzz{{{z{z{|zz{zz{z{{{{zz|{z{zzzz{zzy|{zzz{z{yzzzzzyyz{{z{z{zyyzzyzz{zzzzz{{{zy{zzz{{z{z{{{{zzzyzyzyzzy{{zz{{zzzzyzzz{zzzzz{zyzyzzyyzyzyzxyzxyyyyxxyxzzzxzz{wyyxyyyyzyyzzzyzzyyxyyyyzyzyyzzzzyxyyzxyyyzzyz{zyxzyyzzyxz{yxyyzyyyyyyxxyyzyyyzyyxyyyyxxzy{xxzyyyyyyyxxyyyzyyyzzxwyyxxxxyzy{yyyyzxxyxyxyyzyxyzzzyzzyyxxyyzzyzyyzyyxyyyzyxyyyyzzzxzxyyzyyyzyyyzyzyyyyyyxyyyzzzzzzzy{yyxyyy{zzyzzyzyyyzyyyz{zyyzzzzzyyyzyyzzzyz{zzzyzzyzzzzzzz{{zyyyzyyyyyzz{zyz{yyyyzyyzzz{zzzzyzzyyzyyzyzzy{{zzzzzyzyyzyz{z{zzzzzzzzzyyzzzzzzz{zyyyzyy{z{{{{zz{{zzzzyzzy{zz{z{z{zyzzyyzzzz{{z{|{zyzzzyzyz{{{{y{yzzyyzyzzzzzz{z|zzzz{zzzzz{yz{z{zzzzxzzzyz{yzz{zz{yyyyzyzzzz{z{zzyzzyyzyzzyzzzyzzyyxyyyyyyzzzzyzzyy{yzyxyyy{zz{z{{zyxyzyyzzzzzyzzzyyyzxyzzzzyy{zzzyyzyyzyyzzyz{y|zyyyyxyyyzzzyyzzzyyyxxyyzyyzyzzyyyzyzyxyzzyyyzyyzyyyxxyyyyzyyyzyyzyyxyxyyyzzz{zzyyxyxyxyyyyzyzzzyyyzzyyyyzzyxzyzzyzxxyyxyyyyzzzzyyyyyzzxyyy{zzzzyyyyyyyz{zyz{zzzzyyzzyyxzzz{yz{zzzzyyyyyzz{{zzzz{y{zzzzzzzzzzzzzyyzxyxyyzzzzzz{{yyzzy{yzyzzzzzy{{zzyzyzx{zzzz{y{zyzzyyzzzzz{{z{{zzyyzyyzz{zz{zzz{zzyzzyxzzzz{{{{{yzzyzz{zz{z{|zz{yzzzzzzz{zzz{z{{yzzzz{z{z|z{{{{zzzzz{yzzz{z{z{zzzyy{zz{{{{{{z{{zzyzyzzzzzzzzzzzyzzzzyzyzyzz{yz{yyyyzxyyzyy{yzyzyzyyzyyzyzzyzzzzyyxyxyzyyyzyzyyyzyyyyyyyzzzzzzzz{zzyxyyyzyzzyy{yyzxxxxyyzzzyzzzzyyyzyyyyyzyzzzzyzyyyyyxzzzyyzzzzzzyyyyyyzxzyzzyyyxzyyxyxzzyzzzzyyzyyyzxyzzzxzzzzzxzyyyyxyyzyzz{{zyzyyxyyyzyyzyz{yxyyyyyyxzzzzzzzyyzyyyzx{z{zzyzzzyyyzxzzzzzzyzyzyzyzyyzzzyzz{zz{yyyyyyzzzzyz{z{{yzyyzzzyy{zzzzzzyyzyzzyzy{zzyz}yyyyyzyyz{zzyy{zzzzzzzxzyzz{{z{{zyzzyyzyyz{zzzz{z{yzzzyzzzzy{zz{zzzzzzyzy{{zzz{{{zzz{z{zzzz{z{zzz{zzyzyyzz|{|{z{y{{z{z{zy{|{{{{zzzyz{yzzyzyz{{{{zzzyzzyzyzz{{{{|{zzzzzzyzyzzzyz|{z{zzxxzzzzzz{zyzzzyyyyzyyzzzyzyzyxxyyyzxzzyyzzz{xyyxyyyyzyyy{z{{zzyyyyzyyzzzzz{zzyzzyzzyyyy{zzz{zzyyyxyxzy{zzzzyzzyyxzyxyzyxyzzyzyyzzzyyzz{zyzzzzyzxyzyz{yyzyyyzxxyyyxyxyzzzzyyyyyyyyxxyzyzyzyzzyyyyzxyyyzyzzzzyyyyyyxyxzyzyy{yyxzyzyyxxzz{zzzzzzyyzyyxyyyzzzz{zyyy{zyyyzy{zzyzzyyyyyyzzzyzxz{z{zzyyyyyzzzz{z{zzzyzzyy{zz{zz{yzzzzzyzzyyzzzzyz{zzzyzyzzyzz{zzzzz{zzyzzzyzzz{{{{{y{yyzzzyzzzz{{{{zy{zyyzy{{{{zzzzzzyyyzzz{{{z{|zz{yzyzzzzy{z{{z{z{yyzzzzz{|z|yz{zzzyzyyz{{zz{zz{zzyzzzzyzz{{{{zz{{{zzzzzz{z{{z{z|zzzxzyzyyzzzzz{{yzyzzzzyzzzzzz{zyyyyzyzy{zzzz{{zzxyxyyxyyzzzyzzzyyyyyyyzzyzzzz{zyyyzxyyxzyz{zz{y{yyzyyzxzy{zyzzzyyyxyyyyzzz{zzzzyzzyyzzyzzzyyzzzyyzyyzyyyyzzzz{zzzzyyzyzzzyzyz{zyxyxyxyxzzyyyzyzyzyzzyyyyzyyzzz{yzzyxxxyzzyzzyz{zyyxzyyyyyzzyzy{yyzyzyyxzzyzzzzzyzzzyzyxy{{{zzzzyz{yyyyyz{zyzzzzzyzxyy{yzzyyy{zz{yxyzyzxz{zzzz{zzzzyzy{yz{zzz{zzzzzyzzzy{|{{zz{z{{yzzzyzzy{yzzzzzzzzzzyz{z{{{{z{zzzzyzzz{z{{{{{z{zzyz{zyz{{{{z{zzyzzzyzz{{{y{{zzzz{{{|zzzz{|z{{{zzzzyzzzz{{|{{z|zzz{zzzzz{{zz{{{zzzzyzz{zz{z{z|zzzzzzzz{z{{{|{{{zzzyzyyzz{y{y{z{z{zzzzzzzz{zzzzzzz{zxyzxzzzzzzzzyyzxyzzyzzz{zzzzzyyyyxxyzzzzzz{zzxzyyzyzzzyy{zzzzyyzyyyyzzzzzz{{yxyzyxyxyzzzz{z{yyzyyzyyyzzyzzzzyzyzyyyxzzzyyzzzzzyyyyyyy{y{z{zyyyyyyyyyyyzyyzyzyyyyx{xyyy{{zzzzyzyyxyxyyyyyzzzzzzxyyyyyyzzyz{yzzyyyzyzxyzyyyzzzzyyzyyyzzyzzzzzzxyyxyyzy{{zzzzz{yyzyzzzyyxzzzzz|yzzzyzyy{zzzz{z{yzyyyzyzz{zzzzzzzzzyyxzyzzzzzzyz{zzzx{zzz{zyyzzzyyzyzyzyzy{z{zzzyyy{zzz{zz{{{{z{zyzzzzyy{{{{zzz{{zzyzzyy{{z{|z{|zzzzzzzzzz{{{{{{{zyyyz{{z{z{z{{{zzzzzzzyz{z{z|{{{{zz{zzzz{zzzz{{zzz{zyyzzzz{z{z|zzyy{zyxzzz{z{{z{zz{yzzzz{{{{zz{yyy{zzxy{{zz{zyyyyxyyxyyz{zyyzyzyyxyxxyxzzyyzzzzzyyyzyyyyyyz{zzzzyzyyzyyy{zy{z{yyyyyxzxxzzz{yzz{yyyyyyyxyy{yzzzyyyyzyxyyzyzyyzzzzyxyxyxyzyzzxzzzyyxxyxyyyyzzyyzzzyyzyxxzyyzzzyzzx{zyyzxxyyz{yyxzyyyyyxzyyyyxyzz{yyyyyyxxzzyyyzzzzyyyzzyyyyzzyzzzzyzxzxyyyzzz{zz{zyzyzyzzzyzzzzz{yyyzyyzzzzzzzzzyzyzzyxyyyyyzz{{yzzyzzzyyzyzx{z{zz{zyyzzyzz{{{z{|zzzyzyzzy{zy{y{{zzyyzz{y{{z{zzz{zzzyzy{zz{{yz{zzzzzyzzyz{{zy{z{{zzzzy{zz{{zzz{{z{zzzzzzzy{zz{{{{zyzzyyyzzzz|{z{{zyyz{zyzz{zz{{{zzzzy{zzzzzy|{{{{yzzyyyzyzzz{zz{{zzyz{yyxz{z{{y{zzyzyzxyyyzzyzzz{zxzyzyyyzzyzzyzyzzyyyxyyyzzyzy{zyyyyyyyxzz{yzyzyzxyyyyyxyyzz{z{zyzyyxyyz{zzyyzzzyyyyyyyyyzyyyz{zyzyyyyyzzzzzyzzzzyxxwyxyyzzzxzzzyxyyyyxxyz{zyyyyyzzzxyyyyzyzzzzzyyzyyyyyyzyxyzzzyyyzyyzxyz{zyzzyzyyxyxzyy{zyyzzyyzzyzyzyzyzzzzzzyyyyzyyzzz{zyzz{zzyzyyyzzyzzzzzyyzzzyyzyzz{zzz{zyyzyyyxyyz{zy{zzzx{yzyxzzz{zzzzzzzyyzzzyz{zyz{zz{yzyyzyy{{{{{{zzz{yyyyy{zzz{z|z{yzzzyzzyz{z{zz{zzyyyyyzz{{{zz|{zzzzzzz|yz|zz|{{{zyzzzzzzz{z{z{|{zy{zyzzzzzzzz{{z{zyzzyyyy{z{{{{{z{{yzzzz{zz{z{{{yzzyzzyzzzzzz{z|zzyzxzzzz{z{zzz{yyzyyzyyzyyzyyzxzyyyyyyyyy{yyyzzzyzyyxzxzyzzy{{zzyyyxyzyyyzzz{zyzyyxyxyzyyzzyzz{yzxyxyxxzzzzzzyzyyyyxyyyzzyyzzzzzxyyyyyyyyzyzzzzyzyyzyzyzyyyyzzzyzyzzyyyyyzyyyyyyyyxxyyxyyzzzzzyxxzxxyxyyzyzyzz{zzyxyyyyyzyyzzyyz{zyxzyyzzzyyzzzyzyyyzyyyzyzzzzzyzyxyyyyy{zzzz{zyzyyzxzzzzzzz{yzyyyyyyzyzzzyz{zzzyzzyyyyyzzzz{zzzyzyyyxyzzzzyzzyzyyzzyyyz{zzzz{zzzzyzyyzzz{zzz{z{zyyzy{{zzz{{{|{zzzzzyyyzz{{zzz{zyz{zzzyz{zzz|zzyzzzy{zyz{{zzz{{zyz{yzzyy{z{z{z{zzzzyzzzz{z{{{{{zyzyzz{zzz{{{{zzzzzzz{z{{zz{{{z{{yyy{zzzzzzzz{{zzyzzyyyyz{yzzzzzzzzzzyzyyzzzyyzyyxyxyyzxyyzzzyyzyyyxxyyyzyzzzzz{yyyyzyyxzzyzzzzzzyyyyyyyyzzzyzzzzxyyyyzxyyzxyyzzyyyyzyyyyzyzyzyyyyxyzyyxyyyyyzzzyxyxxzyyyyyzyyyyyyyyyyyyyyyyzz{zxyyyxzxyyzzyyzz{yyzyxyyxzzzyzzyyyyyzyyyyzzzyyzy{zzyxxyyyzzyzzzzzzyyzzyzxyyz{yzzyyyyyyzyyzyyzyzz{yyzyzyyyz{zzzzzzyzyzyzyyzzyzy{zzzyzyyyyzyyzzzzyzyzyyyyyyzzzyz{zzzyyyyzzyzzyyzzz{zzyyzyzyzz{zz{{zzzzyyzyzyzzzz{z{zyyzyyyz{{zzzzzzzzzyzzzyz{{zz{{{zzzyzzzzzzzzzzzzzzzyyzyzz|z{{{|zzzzzyxyz{zzzz{zz{zzzy{zzz{{zz{{{{zzy{z{z{z{zz{{{yzzyzzzyzzzz{z{{{{{zyzzyz{yz{z{zzyyxyzzyyxzyzyyyzxxxxxxxyzyzyzyzzyyxzyxyyyyyzzz{yzzzyyyy{zzyzz{zzyyzyxxyyzzyzzyzyxzxzxyxyyyzzzyzzyxxyzzxyzyxyzzyxyyyyxxyzzyzzxzzzyyxyxyyzyyyyzzyyzyxyyxxzzzyyyzyzyyyyyxyyzzzyy{{yyyxyxyyyyyyyzzyzxxyyxyyxyyzyyzzzzyyxyyyy{yxyz{yyxyyyzxxzyyzyz|zyyzyyyyyyzzzyzyzyyyyyyyxyzyzzzyzyyzzxyxyzzzyzzzzyy{yzyyyzzyzzyz{zxyzyzyzyzzyzyzzyzzzyzzzzzzyyzy{zyxyyzz{z{zz{{{{zzzzzyzyz{zzyzzzzxzyyzyz{z{zzzz{zzzzzzzyzzzzzz|{zyxzzz{yz{{z{{{{zyyzzzyzz|zy{z{|zzyzzzzzzyz{zzz|zyzyzyz{zzz{{{|{zzzyzyzz{{{{zz{zzyyxzyzyzzzzyzyzyzz{xyzxy{{zyzzz{yzzyyyyzyz{zzyyxxyxyxxxyzzzyyzzzyyxxyxyyzzz{yzzyzyxyyxxzyzzyy{{yxyyzzzyyzzzzyyzzyyxyyyyzyzyyyyyyyzyyyyxyyyyyzyyyxzyyxzyzxzyyzzyyyxyyyyy{xzyyzzyyyxxyyyyxyzzyyy{xyyzyyyzyyzyyyzzyxyyyyyyyzyz{zzz{yxzywzyy{yyyzyzyyyyxxyxyzzzzzzyyyyyyyzxyzzzzzzzyxyyzyyyyzzyzzyzzxzyyyyyzyzyyzz{yyzyyxyyzyzzz{zzyyyyyyyyzyy{zzyzzyzyyyyyzz{zyzzzzyyzyyzyz{zyyzzzzyzy{zyz{{z{zz{zzyzyzyzz{{x{zz{zzyyzyyzy{{y{zyzz{yyyzzyzzyzz|{zyzzzyyyy{z{yzzz{zzzzz{z{zz|y{z{{{zzz{yyyzy{zzz{{zzzzyyzyz{{{{z{z{{yyzz{yzzzzzzzzzyzzzzzzyyzzyy{{{zyzyzyyyzz{zzz{zyxzzyxxyx{zz{{zzyyxxyzyyyyyzzzyzyzyzyxxyzyzyzzzzyyyyyzyyzyy{yzzzzyyzyyyzzyzzzzzzyyxyyyyyyyyzyyz{yyyyyyzyxzzyxzzyyyzyyyxyzzzyzzzzyzzzyyyyyyzzyzz{zxyyyxyyyyyyyzzyyzyyxyxyyzzyzzzzyxzyxyyyzz{yzzzzzyyyxyzxyzzzzzyxyzyyxyzzzzyyz{{zzzyyyzyyzyz{z{zzyyzyyyzzzzyxzzyzyyzzzxyyzzyzyzyzyzyxyyyzzzz{zzzzzzzyyyzyzz{zzzz{yzzyyyyy{|zzyzzzyzzzzyyyz{yzzzzzzzyzzzyzzz{{{zz{zyyyzzyzyzzyz{{{zzz{zyyyz{zzzzyzzzzzzyyz{{zzzzz{zyyy{yzz{zzzzz{{{yzzzzyzz{z{{z{|{yzzzzzyz{{z{z{{{zzzz{yzzzz{{{{|{{zzz{{z{z{{z{yzzzyyzyyzzz{zyy{zz|zyzyzxyzzzzzyzzzzyzyyxzyz{yzxyzxyyyyyyyzzyyyz{zzyyyyxyzzzzz{zzzzyyyyzyyyzzzzzyyzzyxyyzyy{zzzz{zzyxyyzyyzzzyyy{zyyyxyzxyzzyyzzyzyyyyyyxzzzyzzzzyyyxyyyyyyyzy{yyxyyyzyyx{zyyzzzyyyyyyyyyyzzzzzzzzyyxyyyyzyzzzy{zyyyzyxyxyzyyyyyzyyxxyyyxy{zzzy{zyyyyzzyyy{z{{y{yzyyxyyyzzyzzzyyzzyzzyyzyzyzzzzzzxyzyzyyzzzzy{{z{zzzzzxyyz{zzz{zzzyyzzzyyz{zzyzzzyzxyyxyyzzzzz{zzzzy{zyzyz{zz{z{zzzyzz{zzy{zz{zz{zxy{zzzyz{zz{z{{zyy{zyyz{{{z{{|zzyzyzzzzzyzyz{{{|yzyzzyzy{{{zz|zzzzzyzzy{{zz{{{{zzyzzyyzzzzz{z{{zzyz{zzzzzzz{{{{{zzzyzyz{zzz{z|zzzzzyyzzz|zzzzzzzzyyyyyzzzz{yzyzyxyyyyxyyzzyyyz{yzyyyxyyxzzzzzyzzyyxzzyyzyzzzzzzzyyyyyxyzyz{yyyzzzyxyyyxzyzzz{z{yxzyyyzxzzyyxyzzzxzyyyyzyyzxyyyzyzyxyyyyxzyxzy{zyyyyzzyyyxzyyyyyzyyyyyyyyyzyzyzzzyyyxxyyy{zzzyzyzxyyyyzxzyyyzzyzzyyxxyyyy{yzyzzyyyyyzyyyzzzzzz{zyzzyyxyzzzzyzzz{zzyyyzyxzyzyyyzzzyyyxxyyyzyzyzzzzzzyzyyzy{zzz{zyyyzyzyyyzzzzz{{zzzzyzzzyzzzz{zzz{zzzzyzzyyzz{|zzyyzzzzzzzzzzzz{{zyyzzxyzz{zy{{zz{zzzyyzzz{zzz{{{zzzyzz{{{{zzz{{zzzzyzzzzyz{z{{|{{yz{zzzz|{z{zz{{{zyzyyy{z{{{zz|{{{zzzzzy{zz{{|zzyyzzzzzzzzzzz{z{zzyxyyzzzzzyz{{zyyyzzyxyyy{yyzzyyyxyyyxyzzyzzzyzyzyyywxyyzzyzz{zyzxxzyyyzzzyzzzyyyyyyyyzzzz{yzzyzyzxxxzyzyzzyyz{yyyyyxzyyzzyyyzzyxzyyyxzyyzyyyzzyyyzyzyxyyzzyyzzywyyzzyyyzyyzyzxyyxyxyxyyzyzyz{zyyxyyxyxzzyyzy{{yyxyxyyyyyzyz{zyxzyyyzywzzyxyzzyxyyy{zyyyyzzz{zzyxyzyxyxzzyzyzzzyyzyyyyyyz|{zz{{zyyyyxyzzzyzzz{zyzyyyxyxzzzyz{zyzyyzyzzyz{zyyzzzzzzyzyyzzzz{zz{zyzyyy{zzz{z{z{zzyzyzzzy{{zz{z{z{zzzyzyyxzz{zz{{zzyzzzyzyzzz{zz{zzzzyy{zzyzz|{zz{zzz{zzzyy{{zz{z{{zzyyy{z{zz|z{zz{yyzy{y{zzz{{z{z{zzyyzyzz{z{y|{{zyyy{yyyzzzz{{{{zyzyzyyyz{zzzzzzzyyyxyyyyzzyzzzzyyyyxyyxxyzzzzzyyzyyyyxyzzzy{{z{yzyyzxyyzzzyz{zyzyzzyyyzyyyzyzzzyyyxxyyyzzzzzzzyzyyyyyyxzyzyyzzyyyzyyxyyyyzyyyyyyzzyyyzyyzyzyyzzyxxyzyxzyyyzzzzyzxyyyyyxyyyyyz{yyyyxyzyyyzzyyzyzyyyyxyyyyzzzyzyyyyxyxyyyyzyyyzyzyyyyzxyyyzzyzz{zxyxxyzzyzzz{zzy{zzyyyzyyzyzzyzzzzzzyyyyyyzzzzyzyz{yzyyyyyzyz{zzy{yyzyzyzy{z{{z{zzzzyyzxyyzyzy{zyyyzyxyy{zyyzzzzzzzyzzyyyyzz{{zzzyzyz{yxyzzz{{{{zzzyyzyyz{z{{{zzz{zzzz{zzz{zzzz|{zyzzzzxzzz{yz{{zyyz{zzyy{zzzzyyzzyyxzzy{zz{zz{||zzzzyz{z{yz{{{{zzyzyy{zzy{{z{z{zzz{yyyzzyzzyy{{{yyzyxyyyzzzzyzzzzyyyyxxyyyyzzyzzzyxzyyxyzyyyy{zzyyxyyzyyyzzyz{zzzzzyxyyzyyyzyyzzyyzyxxyxzyzyzyzzzzyyyyzyyzyyzyzz{yxyxxwxzzzxyzyyyzzxyyyyzyyyzzzzzyxyyyyxyzyyyzzzyyxyxxxxzzzyzxzyzyyzxyyyyyyzyyzyyyyyyxyyyzzyyy{yyzyxzyyyxzyzyyy{yyyyzxyzzyzzzzyyyyyyzxzzyzzzzz{zyyyyyyyyyzzzzzyzyzyzyyyzzyyyzz{{yzyyzxyzyzzyz{zyyzyyyzyyzzzyzyz{{zyyyzxyzzz{yzzyzzzzzzzyyzzzzz{zzzzyyzzy{{zzzzz{zyz{yyyy{zzzz{{zzyyzyzyz{zyz{zzz{zzzzzzzzzzzyzzz{yzzzzz{z{y{zzzzzzzzzzzyz{z{{{{zzzzz{zzzzzzzzzz{{{yzzzzz{{zzzz{{zyzyzzyzzzz{zzz{yzzyyyyyy{zzzyzzzyyxzxyzzzzzyzyzyyyyyyxwzzzyyyzzyyxyxyzxyzzzyzzzzyyxyyyyyyyz{zzzzyyyzyyzyyzzxzzxzyyxyyzxzyzyyzyzyyzyyxxyzzyxzz{yyyyyyzyyyzzyzyzzyyzxyyyzyyxzyzz{xxyxyyyxyyyzyyzyyyxyyywyyyzzzzyyyzyyxxxxyzyzyzzzyxyyyxyxyzzzyyzyyyyyxxyyzzzyy{zyzxyyzyyxzyyzyzzzyzyyzyyyyz{zyyy{yyzyzyyyz{zzyzzzxyzyxzyzyyzz{{{zzzyyyxzyzzyzzzzzzyzyzzyzzzzzyzzzzyzyyyyzzz{zyzyzzyyzyyyyzz{zyzzzyzzzzzyyz{zzzzzzzxzyyxyy{{{z{{{z{yyzyzyzz{zz{z{{z{zzy{zyzyyzz{{{{zzyzyzzzz{{z{{{zzyzzzyz{z{{zz{{{yzzzzzzz{z{zzzz{zyz{zyzzyy{zz{{{zzyzzzyyzyz{zz{zy{yzyzyyzyzzyz{zyz{yxyxzz{zzzzzyyyxxzywyz{yyyyzyyyyyyyy{zzzz{yyyzxzzyyyyyyyzzzzyyyyxxyzyzyzyzzzyyyxyyzxzyyzzzzzyyyxzyyyxyzzzzzzyzyyyyyyzzzzxyyzxyyyyyxxyyyzyyzzyyxyxyyyyzyzyzyyzyyxxyyyyzzyzyyzyzzxyyxxzzy{zyz{yzyyxyxyxyyzyyzzxyzyyyyyyzyyzzzyyxyyyzyxyzyzyz{yzyzzyyyzzyzyz{zyzyzyxxzyyyyzyzy{yxzyyyyzz{zzy{zzzyyyzyzyzzyyzzyzzzyyzyyyz{{yzyz{zzzzyzyyzzzzzzyyzzyyyyzzz{{zzzzzyzzyzz{{yzzyz{z{zzyy{yyz{zz{{z{zzzyyzyzz{zy{z{{z{zzyyz{zzzzz{{z{zzzyzyzy{{{z{{z{zz{yyyzyz{zzz{|z{yy{zzzzzzyzz{{{{{zzzzzyzzyyz{{{yzyyyyz{zzzzzz{{{zyyxyyzyzz{z{{{zyyyzzyzzzzyyzxyzwyyzyxxyyzyzzy{yyyyzxyxzzzyzzzzzyyyxyyyyzyyyz{z{yyyyyyyxzzzyyzyyyyyyxyxyzyyy{zzyzyyyyyyzyyzyyzzyyyxxyyxyy{yzyyzyyyxxyxyzzzyyzy{xyzxyyyzyzzyzyz{xxyxxzxyyzzyzyyzzyyxxxxwyzzzyyzzzxyyyyywxzyyzyz{zzyxxyyzyzyyyz{yyyyyzzzxyzzzzzyyyyzzyxyyy{zzyzz{zyyyyzzzyz{zyzz{yzzyxyyzzzzzzzyzzzyyyzyyzzzzyzzyyyyyyyxyxzyyzz{{yyyyzyxyzzzzzzyzyzyzzyyyzzz{zzzyzyzyyyyyz{zz{{z{yyzzyzxyyzzz{{{zzyzyzzyzzz{zz{{{yzxzyzz{z{yzz{{zzyyzy{zzy{{z{z|zzyyyzzyyz{y{z{{zzzyzzzyz{{zzzzz{zyz{{{zy{zz{z{zyyzzy{yxzzyzzz{zzzyyyyyyxyzzzzzzyyzzxyyyyzyzxyzzyyxxyyyxyyyyyyyzxyyxyxyyyyxyxzz{{yyyyyyyyzxyyzy{zyxyyyyyyyzyzyxyyzyxwxywxzzzyyyy{yyxxyyyxyzyyyzzzyyyyyyxxxyzyyzyzzxyxyyxyyyyyyxy{xyyxyxyxyzyzxzyyyyyyxyxzyyyyyzzzyyzxyxyyyyyyy{zyyyyyyxyyyyzyyzzyyxyyxwyyxzyyzy{zxyyyyyxyzxzyyz{zyyyyyxzyyyyyxzzzyxzyyxzzzzyyzyz{yzyxxyyyyzzyzzzzzyyyzyzzyzyzzz{zyxzyzyyyzzzyz{zyyxyyyyxyyzzyz{zzyxzyyyyy{zz{{yzzyyz{zyyzzzzzy{zzzyzzyzzzzy{z{zyzzyzzzyzyzz{yz{zzyzyzzz{zzzzz{yz{zzy{yzyyy{z{z{{zzzyzzzzzz|zz{{{z{yz{zzzz{{zz{{zz{zyzzzyz{{z{zz{{yyzyzzzz{yz{zz{zzzzyzyyyxzy{zzyyyyyxyyyyyyzyzyzyyyyyyxyxxzyzzzyzyyxyyyxyyzzzy{zyzxyzyyyyyyzyzzzzyyyzyyyyyz{{yyyzyzyyyxzxyzzzyyyzyzzxyyyyzyyyyzzyzyyyzyyyyyyyyzyyy{yyyyyyyyyzyzzzxyyyxxxxyzyxzzzzxyyxxyxxy{yzy{yzyyyyyyyzyyxyzyzzzyyyxyyyyyyzzzyyyyxyyyzyyyyyzzyzyyyyyzzyyzzyy{zyzzxzzwyyyzyz{yzzzyyyyyyz{yzyyyz{zzzyyxyzyyzzzzxzzzyzzyyyy{zzzz{yzyyyzyzy{z{zz{{zyyzyyyyyyzzzz{zy{yyy{zyzyz{zzzzzyy{yzzzyzzz{z{{{{zyz{yzyz{z{z{{{{yzzzzyxz{zz{zz{zyzzyyzzzyzzz{zzzzzzz{zyz{{zz{{{zy{zzzzyzz{{{z{z{yyz{zyzzzy{zz{{yzzyzzyz{{y{{zz{zzxyzyyzzzz{yz{zzzyyyzyyy{zzz{zzyyyyyyyxyzxzzzyyyzyxyxyxyyzyyxzzxyyxyyxyyzzzzzyzyyyzyzzyyyyy{z{zyzzzyyyyyzzzzyyyyyyxyyyxyzyyyzyzyxzyyyyyzyzzzy{zxyxyyxyxxyyyyzyyzyyyyzxyyzyyyzzzyxxyyyyxyyxzyyzyyyxyyyxxyyzxzyzyxyzyyxxxzzzyyyzyyyxyyyyxxyzyyzzzxyyxzxyyyzzyyyz{yyyyzyyyzyzyzz{zyyyzzzzyzzzyz{y{zyyyyxzyyzzzzzzzyyyyyzzyyyzyzz{{zzyyzyyyyzyzz{zzzzyyyxzyzz{zyz{yzzyxyyyzz{zyyzzzzzzzzyyzz{zzz{{zzyzzyxy{zzz{{zzzzxzzy{yxy{{zzzzzyyzzzyzzz{zz{y{{zyzzzyzzzzzzz{{{{zzyzzyyz{z{{{{{{z{zzyzzyz{zz|{{zyzzzyzzzz{zz{{{{zzzz{yy{z{z{zy{yyzyzzyyzzzy{zzzzzyyzyyzz{{yyyyzyyyyxy{zzyz{yzzzyyyyyxzxy{zyyyyzyzxyxyxyyyzyzzzyyyyyyxxyzzy{yzzzzyzyyxyyzy{zyyzzzyyxxyyyxyzzyyzzzxyyxyxyxzzyyzzzyxyyyzyyzyzyyzyzyyyxxyxyxyzzyzyyzzyzxyywyyy{yzzyzyxyxyxyyyyy{zzyxzxyyyyxzzyzxzzzyyyzyxyxzyyyyyzyyyyyzxzxyzyzyzxzyyyzyyxxyyzzyzyyzxxzzxyyyzyzzz{zzzyyzy{zyyyzy{yzzyzyyyyyzxzyzyzzzyyyzyyyzzzyzyzzzyyzyyyxzyzzzzzzzyyzyyxzzzyzzyzzyzyzzzzyyz{zzzzzyyzyyzzzzzzzzz{{zyyyzzyyz|zzzy{zzyyzyyzyz{zzz{{{zzzzzzzzz{xzzzzyzyyzyyyzz{zzz{{{yzzzyz{y{zz{z{z{yyyzzzzzzzz{z{{zzzzzzzy{{zzzz{z{zyzxyyyxyyzzz{{zzzyzyyyyz{{zzyzzyyzyyyyxzzzzzyzzyzxyyxyyxyyyzzyyzyzwyxzyyzyzzy{zyyyyyyxy{yyzyzzy{yyyyyxyyzy{zzzzzyyxyyyxzxyyyzzzyyyyzyyyyz{yyzyzzzyyzzxxzzzyyyyyyyyyyyyxxxzyzyyyyyyxyxyxyzz{yzyyxyyyyxyyyzyzyzzzzz{yyyyyxzz{yzzzyxxyyyyxy{yyyyyzyxyyyyxyzyxyy{zzyyyyy{xxzyz{zyzzyyxyzxxzzzyzzzyzxyzzxyzyyzzzyz{yyyzyyyyyyzzyzzyzyzyyzyzyyzzzyzzzyyyyyyzzz{zyzzzyyzyyyzyxzzyzyzzz{zzyzzyzyz{yyz{{yyzzzzz{yz{zz{zz{zzyyyzy{zzz{zz{zyyyyxyzzzzz{zz{zz{yzzzzy|yzzz{yzyzzyzzzzzz{|y{{zyzy{zzzz{{z{yzzzyzzzyy{zyz{z{{{zzzy{zzzy{{zz|zzz{zzyzxyzzz{zz{zzzyyzyxzzzzzyyzzyzxyyzxyyzzzyzyzyyyyyxzxxzz{yyzzyyyyyyxxzyyyzyzyyxxwzzxxzzyzzzzyzyyyyyyxyzyzyyzzyzzxyyxxxyzyzzyzyyzyyxxxyzyxzzyyzyyyxzwyzyzzyyyzyyyxyyyyyyyyzz{zyyyxyyyxyyyzzzzxzxyxyxwxyzzyyyzyzyyxxyyxyzyyyyzzzyxyxyyxyyzyyzzzzzyxyyzxzyyyy{zzzyyxyyyxyyyyzzyyzzxyyyyyyzzyz{yzyyzzyyyyzyzzyzz{zxyyyyzzzzyzyyzzzyzyzyyyzzzyzzy{yxyzyzyyzzzzzz|yzyyyzyyzzzzzzz{zyzzyyzyzz{zz{z{{zyzyyyzy{{z{zzzzyyyzyyzyyy{y{{{z{yyzzyyyz{y{z{zzzzyzyzzxyy{{{{z|zyzyy{zz{{z{{z{{{yzyyzzzzz{{yzzzzyzyzzyyzzyzzz|zzzyzzxzzz{z{zzzzyyyyyyzyyzzzzz{zzyyzyzyyy{zzzzyzyyzyyyyyz{zzyyzzyzyyzzxyzyyzzyzzxyyxxyyxzyzzyzyyzzyxzxzxzzzyzzz{yyxyxyyyzzyzzy{zyyyyy{yxyzzyyzyyyyyyyxyxyzzyyy{yyyyyyyzyzyzxyzyyyzywyyyxzxyyyzyzyyyzyxyyzzzzzyzyzyyxyxyxyyyzzyzzxyyyyxyyyzy{yzzzyyxxyxyxyzyzyzyzyyxxxyyyyyzyyzyzyyzyxzyyyyzzyx{{yyyxyyxyyzyyyz{zzxzyyzyzyzzzzzz{yyzzyyzzzyzz{zzzzzzzzxyxzzzzz{zzyyyyyyyyzzzzyzzzzxyxyyyyyzzyyzzzzyzzyzzzzzz{y{{zyyzyyzzzy{zzy{z{zyyyyyyyz{zy{{{{zzzzzzyzz{z{z{z{zyzzyzzzzzzzzz{{zzyyzzz{z{z{{z{{zy{zzz{zzzzzz{{{yz{yyzzzzz|zz{{zz{zzzyy{z{z{{{{{zyyzyzzzzzzzy{z{{zxzyzzyzyzzzzzzzyzyzzxyy{yzzyyzxyxyxzxyyzyyzzyzyxyyyyyyzy{zzyzzzzyyyyyyyyyzzzzyyyyxyyyyyz{yzyzzzzyyyyyxzyyzyyzzyyzyxyyyzzzyzzyzyyyyzxxzyyyyxyzyxyyxyyyyyyyz{zzyyxxxyxyxzzxyzyyyyyxyyyxyyyyzyzzzyyzyyyyxyzzzyzzzyyyzyyzxyyyzyyyyzyyxzyyyxzyzyzzyxyyzxzyyyyzyyzzzzzzyyxyyyyzzzzyzyyzyzzyyzzzyy{y{zyyyzyyzzzzz{zzzzyyyyxzxyzyzzz{zyyzyyzyyzz{zzx{{zzyyyzyyzz{{zzzyyzzyzyyzzz{{{z{{yyyyzzzy{{zzzzzzyyzyzyzyzzzzz{z{zyzz{yzxyzzzz{{zzyzyyzzyz{z{{zzzzyyzzzzyy{{{{{{z{yzzzyyzzz{{z{{{zyzzyyyzzzzzz{z{zzyzzyy{y{{yzzz{zzyyzyyyzz{zzzz{yyyyyyzzzzzzy{zzzzyzyxyy{zyzzzyyyzxyyxzyxyxzyzyzxxyyyyyyyzzzz{yzyyyyyyxyzyzzzzyxyxyyxyyyzzzyyyyzyzyxyyzxxzzyzzzzzxyyxxxxyyzyyzyzyyyyzyyxxxzyyyzzzyyyyyyyyxyyxzyyyyyxxxxyyzyyyy{zyxxyxzxyzyzxzz{zyxyyzyxxyyxzzz{zyxxxyyyxyyyxyyyzyyzwyzxyxyzyyzyzyyxyyyyyyyyzyyyyyyxyyxzxyyyzyzz{yxzyyyyyyyzyyzzzyzyyxyxyyyyzzzyzyyyyyyyxyzzyzyyyzyyyzzyyzzzyzz{yzzyzyyyyzzzyyyz{yyzyzzyzz{zzzy{yxyyzy{yyzzzzyzzzzxyyyyyzz{z{zzzzzyzzzyzxzzy{z{{{zy{yz{zzz{zzz{z{{zzyyyyzz{zz{{{{{zzyzyzzzzzzzzz{zyyzzzyzzzzzzz{{zzyzyyzzzzzy{zzzzzzyzyyyzzzzzzz{zyyyyyyyzzy{y{zzzyyyyyzyy{zyyzyzyxxyyyyyxzzzyyzyyyyxxxyxyyzyyxzzzyxyxyyyxzyzy{yyyyyxxyxyzyyzxy{{zzyxyyyxyyyyyzyyyyyxyxyxyz{yyyzyyyxxyzyzyzyyzyyzyyyxxyyyyyyzyzzzyxyyzyxxyyzyzyzzyyxyxyxyxzzzzzyzxxzxyyxxyyywxyzzyyxyxxyyyyxyyyyyyzzyyyyyyyyyzzyyzyyzyxyxzyzzzzyzyxxxyxxxyyz{yyzyyzyzyyyyyyyyzz{zyzyyyyyyzzyzyy{yyyyyyyxxzzyzy{z{zyyzxyyyzzy{z{{{yyyzzyyzzzzzzzz{{yyz{zyzzy{zzzzzyyz{zyyyyzyy{zz{{yyy{yzyzz{yz{{zzyyyyyzzz{zzzz{zzyzyzzzzyyy{{{{{zzzyyyzzz{{zz{{{zy{zyyyz{zzyzz{z{yyzyzyyzzz{{zz{yzyz{zxyzzz{zz{zzyyxyyx{zzzzzz{{zzzyyzzyzzyyzxzyzyzyyxxyzzzyyzyzyyxyxxzyyzzyyyyzyyxyzwxxzzzyzzyyyyyyyyxxyyyzyyzyyyyyyyyyyzyzyyyyyyyyxxxyzyyzx{zzyyyyyyzxyzyyyzzzzyyyyyxzxyzyyzzzxyxyzxyxyy{zyyyyyyyyxxyxyyyzxzyyyxyxyxxyyyzyyyyzyyzyyyyyyyyyyyzyyxyyxyxxyyyyyyyzzzxxxyzyyzxzyzy{yxyyyyxxyyzzzzyzxzyzyxyxyz{yyzzzyxyyzyzzzzyyzzy{xyyyxzyyyzzzzz{yzzyyzxyyzyzzyzzyz{yyyyyyyyzyyzzyyxxyyzyxyyyyzz{zyyyzzyyzzzz{zzzyzyzyzzyz{zz{zzzzyyyyyxyyz{{z{{zzzzyyzzyyyzzzz{zz{zzyzyzz{zz{{{z{zzzyy{zz{z{z{z{{zzyzyyzz{z{zz{{z{yzzyzyz{{y{zzz{{y{zyyzyzzy{{z{z{yxzyzzzzzy{zz{zzzyyyxzyyzzzyy{{yzyyyyyyzzy{zyzzxyyyyxxyxxzyyzzzxyxyyxxyxyyzz{zzzyyyzyyyyyyzyzzzyyyyyyyxyyzzyy{zyzxxyyxxzyzzyyy{yxxxyyyyzzyyyzzzyyyxyyyyzz{zyyyzyyzxxxyyyxyyyzzyyyxyyzyyyyxzzzzzyyyyyyyzyyyzzzyzyzzyxyxyxzzzzz{yyzyyzyxxyyzyyyyzyzyxzxyyzzzyzzzzyyyyxyzyyxyyzzzzyyxyyxzzzzzyzy{zzyzyyyyzzzzzzzzzyzyzyxyyyzzyyzzzzyyyzxyyzzyzzzzzyyzyyyxyyzzyyy{zyzzyyyyzy{yzzzzyzzzyzyzzyz{zz{zzzzzyyyzy{yz{zz{|yzyzzyyxzz{{zzzzzyzzyyyyzzzzz{|{yyzyxzzyz{{{y{zzzyyzyzzyy{{z{z{zzyzyyyy{zz{{zzzzzyzzzyyz{zyyyzz{{zyxzyyzz{y|z{zzyyzyzyyyzyzzzz{yzzyzyzzxzzyzyz{zyzyyxyyzyzzzy{zzyxyzxyyyyy{zzyyzxyyyyxyyyzyyyy{zyyyyyzzyzxyzzzzyyxyyyxyzxyzzyzzzyyzyxxyxyzyzyzzzxxxyyyzxzyzyyzzyzxyxxxxyyyzwzzzzxxzyyzxzyxyyyyzzyyyzzxyxzyzz{yyyyxyyyyxyxzzzzy{yyyzxxyyyyzyzzyyzyxyyzwxyyyyzyzzzzzyyxzxyyzzzyzyyxyyyyxyyyyzzyzzzyzxyyxyyzyzzyyz{zyzyyyyyz{{yzzxzyxyyyzyzzyzzzzy{zyyyzyyyyzzzz{{zzyyyzyyxzzzy{yzzzyzzzzzzzyz{zzzzzzy{zzyz{zyzyz{zzyzyyzzyyzyzz{z{zyzyyzyz{{{y{zz{{zzyzzyyz{{zzz{zzyyzzzzzzzzzz{{{zzyyzz{yz{z{{{{z{yzyy{zyzzz{zy{{{yzzzzzzyz{zz{{z{{zz{zyz{zz{{{{{z{yzzyzzzzzzyz{zzyzyzxyzzzyz{zzzzyyyzxzyzyyyyyyyyyxxxyyxyyzzzyzzzxxxyyyxyzzyzyz{yyzxzyyyyyzyyyzzzyyyyyxyzz{zyyzzzyyyxzyyyzyyyzyzyyyyzzyyyy{yyzyyzxzyyxyzxzyzzzyzyyyyxyyyyyzzyzyyyyyzxxxyzzyyzzzzzxyyxyxyzzzyzzy{yyzyyzyxyzzzyz{zyxyzyyxyyzzyzyzzyyxxyyzzyyyzy{zyyzzyyyxzzy{yzzzzzyyzyyzyzyyzxyyyyyy{xyyyzyzzyzzzyyyyyzyyyyyzzyzzzz{xzyzyy{zzzzzzzyzyyyyyyyzyzzyzyyyyyzzyzyzzy{yzyyzyxzxzyz{y{zzzyzzyyzzyzzyzyzzzyzyyyzzzzz{{z{{zzzyzyzzyzzzyz{{zzzzyzyzyzzzzz{zz{zz{yzzzzy{{zz{{zy{{zzyz{{zz{{zz{yyzzzzyyzy{z{yzzzzzyz{z{zz{z{z|zyzyzzyzy{z{y{zz{xzyzyzyzzzyyyyzzyzyyyzzyz{zzyyyyxyyyyxxyy{yyzyyzxyzxxyyyyyyzyzzzyyxxyyxyxyyyzy{yxyyyyyyzyzzyyz{yyyyyxxxzyyyyzyyyxxxxyyxyzxyzzzyzyyyxxyxyyyzy{yzzxyxyywyyzyyyzzzxyyxxxxxyz{zyyzxzyyyxyxyzyyyyzzyyyyyyyxxyzyzxzzzxyxyyxzxxyxxzxyyzyyxxyyxxzyzz{zzyxyzxyyyyzyzyzzyyzzzzyxyyzzzzz{{zxyzyyyzyyyzxzzyyzyyyyxyyzzyzyzzyxxxyyyyyyyzzyyyyyyxyyxzzzyzyz{zzzzyyzzyzz{yyz{{yyyyyyyzzzz{zzzyyyzzzxzzyzyzzz{{zzzyzzyy{zz{{z{z{yzyyzyzz{z{{zz{zyyyzzzzzzzyz{zz{yzzzz{yz{yz{zz{zyyz{yyyyzzz{{zz{yz{zzzzyyzy{z{yzzzzzyzyzzzzzzz{yzzyyxyyyyyzz{{zzzzzyzyyyzy{zzz{yxzzzyyzzzyzyyzyzyyyyyyyyyzzyzy{yzzzxxxxyyyzzyyzyyzyyyyyyzyyzzzyyyzyyyxyyxzzyzyyzxyyyyyy{yyzyzz{zyyyzyxyxyzyxz{yzyzxyyyyzyzzyzz{yyxyxyyyyyyzzz{zzzyyyyxyzyyyzy{yyxyzxyxzyyyzzzzyyyyyyyyyyzyzzzzyxyxyzyxyyzyyz{yyyzyyyyyxyzyzyyzyzyyyyzyxyyzyzzzzzyyxxxyzyzzyz{y{yzyyyzyxzyzzy{zzyyzyyzyyzzzzzzyy{yyyyyyyyzzzzzy{zyyyzzxzzz{zxzzzzyyyyyyy{z{zyzzz{yyy{zzyzzzzyz{{yzyyyzyyz{zzy{{{zyzyzzyzzzzzzy{zz{yyzzzzz{zzzzzzz{zzzzzyy{zzzzz|yzzzzzzzzz|{z{{zzyzzzzyz{zz{{{zzzyyzzzyzz{zz{zz{zzz{zyyyzzz{{zzzzzzyyyzxzzzzyzzyzxyyyyyyz{yzzyxzzyyzyyyyyyzzzzyxxxyyyxyxyzzyyyyyyxxyyyyyyzyzyzyyzyyxyyxxyyzyzzyzyzyyxxyzzzxzzyzzyyyxyxyyyzyyyzzzyxyxyxyxyzzyyzyyyyyzzxzxzzzxxyzyyzzyyyyzzyzyyz{yyxyyxxyyyyzzyyyyyxzzyzyyyyyyyxzyyyzyxyywyyzzzzyyzxxyyyyxzyyzyzxzyyzyyxxyyyyyxzzzyyyyxyyyyyyyyzzzyxyyyzxxyzzyzz{zyyyyyxyyyz{yyzzzxyyyyyxyyyzx{{zzyxzyyyyyyzzzz{zyxxyyxyyzyzzzzyzyzxzzyyzyzz{zzyyzzxzzyyzyyz{{yz{{zzzyyy{y{yyzzzz{yyyyzyyzz{{zzy{{zxyzzzyyz|zyzz{zzyzyyzzyz{zz{{z{zzzyzyzzzyzzzzzzyzzzyyyzz{{zzzzzzx{yzxzzzyzyyzzz{zyzzzyzzzy{zzzzyyzyyyyzyyy{zzyzzyyyyyyyzyzzyzz{zyyyzyyzzzzyyyxzyyxyyyxyyzyzyzyzxzyzzyyyyyzyyzzzyyyxxxxwyyyyyzy{zxzyzyyyzyzyxxyzzzyxyyyyyx{yyyzzzyxxyyyyyzzyzyzzxxywxyyyyyyyyzyyyxyyyyyyyyxyzyyzxyxyxwyxyyyzyyyyyyzyxyxyyyzyyxyzyyyxxyxxyyzzyyzyzxyyxyzxyyyyzyyzxyxxyxyyxyxxy{yyyxyyxyyyzzyzyyyyyyyyxxyxyyzyyzyzzyzxyyyyyyyzzzzzyzyzyyzyzzzyzzzyyyzyxyzzyyzzzyyyzxxxxxyxzyzyyzzyyyyyxyyxzzzyzyyzzyyyzxyyzxzz{{zzyyyzyxyzyyyzzzz|zzyzyyyyzyzz{zzzzyyyzyyy{z{yzy{{yzyzyyzyzzzz{zzz{zzyyyyzy{zz{y{zzyyyyzyyzzzzzz{z{yyzyyyyzyy{z{z{zzyyzyzyzzyzzzz{yyzyxyzyyzzyzz{zzyzxyyyxzzzzyzzzyxyyxxyxyxyzyzzyyxxxxxyyyyzyzyxyyyyyyxyyyyyy{yyzzyzzxyyxzyzyyzzyyyyxyyxyyzyyyyzzzxxxyyyxzzyzyyyzyyzxyyzyzyyxyzzyzxyyxyyyyy{xzyyxyxxxyyyyyyyyyyxyyxyyxyyxyzyxyyyyxyxxyyxzxyyyyyzyyzxxyyxxxzxyzyzzyyyyyyyyxyyyzzyzyyxxyxxyyyyzzyzyyyzyyxxyzyzyzzzzyyyyzyyyzyzzzzyzxyyyyyyyyyzzyz{{yzyxyyxyzzzyzz{yzyzyyxyyzzzyzzyxyyzyzyyxyzzzyzzzzxyxxzyyz{zyyzzyzyyyzyzzzzzzz{yzzyzyzzzzz{yzzz{zyyyyyyxzyzyzyz{{zyyzyyyyzzzz{z{zzyyzy{{yzzz{|zzzyyzzzzyxyzzzz{zz{zzyyyyzzzzzz{{zzzzzzyzzzy{z{z|zz{yyzzyzzzzyzz{{yzyyyyyyzzzzzz|zzzyyxyyyyzzzzyzyzyxxyyyyyz{zzzyzzyyxyyxxyxzyxyzxzxyyxxyxyyyyyzzzyyyxyxyyzyzzzzzzzxyxyyxzzyyyyzzzyyyxxxyyzxyyzyyzzyyxyxyxxzxyxyzyzyyyxxxyzyzyyyyzyyxxxyyxyyxyyyzyxyyywyxxyyyzyyyxywyxyyxyyyyyzyyzyyyyyyxyyyyyzyzyyyxyzxyxxyzyxyzxyyxxyxyxyyyzyyzyyyyyyzyyzxyzyzzzzxxyyyxxzy{yyyzzyyyzxxyyzxzzyyzzxxyyyyyxzyyzyz{zyxyzyxyzzzzzzzyzzxyyyyyxyzyzzz{xyxxzzzyyyz{zy{zzyyzyyzzxyzzyzzzzzzyzyyyyzzyzzzz{zyy{yzyyzzzzzyzzzxyyyzzzyzyzz{{yzzyzzzzzyzzzzz{z{yzyyyyyz{zzzz{zzzzyzzzyyz{{zzzyzyzyzzy{yzzzz{{z{yzyzzyzzzzzzzzzzyyyzwzzz{y{{y{zzzzyyyzxyzzzyzzzyxzyzyyyyzzyzyyyxyxxxxxxxzyxxyzzyyyyyxxzyyxyzyyzyxxzxyyyzxyyyzzzxxyxzxyyxyyzxyzzzyxzyxxxzyyyyyyyyyyxxyxxxyxyyyyyyxyyyxyxyxyyyyyyyyxxzyxxyyyyyyyyxwxyyyxxzyyyzyzyyyxyxzwzyyxyyyzyzyyyxxxxyyyyyyzyyxxyyyyyyxyyyyyzzyyxxxxxxxxxyzzyxxyxxzxyyyyyy{zyyyxxzxxyyzyyxyzyyzyyyxyyyyzzyzzzyxxyyyyyyyzyyzz{yyzxyxyxyzzzx{yyyyxywyxyyzyyyyzyzyyyxyyzyyyzzzyzzzzwyyyzzzyzyz{yyyyyyyyyyyyzzz{z{yyyyyyzyzzyz{z{zxyyzyyzz|zzzz{zzyzzzyyz{y{{zzzyz{yyxyyyzyzz{|{yyz{yzyzxzzzzz{z{zzyyyyyzyy{yzz{{yyzxzyzzyzyzzzzzyyyxyyyyxyzzyz{{zyyyzzyxyzz{yzyyyzyyxyyyyzz{xzxyyyxwxyxwyyzyyzzyzyxyxyxyyyyyzyyyzyyxxyzyyyzyyzzzyyzyyyyyyzyzyzz{xzxxxyyyxzyyyzzzyzyxyyyxyyyzyzzyyyxyyyxyzyyzxyy{yyywyxxyyyyzyyzyxyyxxyyxxyyyzzzyyyxyxxxyyxyzzyyyyyzzwzyxyyyyyyyzyxxyxyxyyyyyxzyyyyyxxyyyyyzzyyz{yyyxyyyxyzzyzy{yyyyxywzxzyy{{yzzzwyyyyyxyy{zzzzzyyyyxyyyyzzy{zzzzyyyzxxyyzzzzzzyzzyxyxyyx{zzzx{zzyyyyyyyyyyzz{y{xyzyyzzzzzzzzzyzyyyyyzzyzyy{zz{zzyzzzyyyz{zzz{zzzxxzyzyyyzyyzz|zyz{yzyzzzzzzz{zz{yyyzzxzz{{z|zz{zyzzzyzyzzzzy{{z{zyyzyyzyzyyzyz{zzyyyzyzzy{yzzz{zzyyyyyyyzz{zzz{zyzxyzyyzzzzzzzzzyyyyyyyzzzyyxyyyzxyxyyyyzzzzyzyyxyzyxyxyzyzyzzyzyyyxxxzyzxxzyyzyyzyyyyyyyzzyz{zyxxxxyyyzzyzzyyy{yywxyyxyzyzy{yzyyyxyxxyyyzyyzyzxxyxyzxyyyyyzyyzyxyyyyyyyyzyyyzyyyxyxzxyyxyyzyzyzyyxxywyyzyyyyzyyyzyxxyyyyzxyyyyzyyxyyyxxyzyy{zzxyxyyyyyyxyyzyyzzyzyyxyxzyzyyzyzxyzyyyyyzzzyzyz{yyyyyxxyzzzzyy{yxxzxyyyzyyzzz{x{zyzxyyyxyyzzy{zyyyyzyzzyzzzzzzzzyzzyzyxz{z{z{zz{zyzzzyzyzxzzz{{zzyzyzyyz{zzzzzzzzyyyzzzx{{{y{{zzyzyyyzzzzzyz{{zzzyzyzzzzz|zz{y{zzyzyzzzyzy{{zzz{zyyyzzzzy{zyz{{zyyyzzzyzy{z{zzzzzyyyxyyxyzzyzy{zzyzzyzyyyzz{yzzzzyzxzyzy{{zyyyyyyxxyyxxxxyyyyzzzyyyyxxyyzzzyzzzzyxyxyyxxzzyzzzz{yyzxzzxyyzzyyyzyyyzxxxyxzzyyyyyzyyyxyzyxyxyzyzyzzyyxzxyyyzzyxyzyyyzxxyyyzyyzzyyzxxyyyyxyyzzzzzzxzyyxyyxxyyzyyyyyyyyxxyyyyyyzyzzzywyyyxxyyxxyyyyzyyyxzxxxxzzyyzzyyxyxxyyxyzzzyyzzyxyyzxyyzzzzzzz{yyyzyzzyyzzzzz{zyyzyyyyzyzyzzyzzyyzyyy{yyzzzzzyzyyyyyyzxzy{zyzzzzxxyyyyzy{zz{zzzyyzyyzzyzz{{zz{zzzyyxyzyyzzzyzzzzzzyzzyy{zzzz{{zzzzzyyzz{zzz{{{zz{yzzzzzzzz{zzzzzzyyzyzzz{z|z{{zzxyyyyyyyzzzz{z|{yyzxyy{{{yzzz|{{yzzzyzzz{z{zz{{zzyyzzyyzzzzzz{zzyzzyyyyyzzzy{z{zyzxyxyyzy{yyyyyyxyyzxxxxyzyzyzzxxyyxyyyzyzxzyy{yzyxxyyyyzyyzzyyyyxxyzxxyyyyxyzzyyzyyyyyyzy{yzz{yyyxyyyyyy{yxzzzzyyyyxzyzyyzyzyzyxyxxzyyyyyyyzyyxyxyyxxxyyzyyzxzyxxxxyyxyzyyyzzzyxyxyxxyxzyzzyzzyyzxyyyxyxzyzyyyyyyxyxxxyyyxyzzzyzxyyyyxyzyyyzzzzyyyxxyyxzzzzzzzyzyyxxyzyyyzyyyzzyyyyzyyzzzyzzz{yzzyxyyxyzyzzzzzyxyyzyyyyzyyyz{zzzyyzyxyzzyxzzzz{yyyyyxzyzz{zzzzzyxzyzzxzzzyyyzzzyzzzyyyy{zz{{zz{yzy{yzyzzzzzzzzyzzyzzyyyzyzyzzyzzzyyzzyzyzz{{{{zyzzzy{yyy{zzzzzzyyzzyyzz{z{{{{zzzyzzyy{{zz{{{zz{zzxxyyy{yyyz{{zzzzz{xyzy{zzzyzzzytxyyyxyxzzzyyzxxzyyyxxyyzyyyyyyyxyyyyyyyzyyzzxxyxxxyyxzyzyzzzzyyyxyyywzyxzyyzzyyyzyyyyxyyyyzyyyxyxxyxxyyxyy{zzyyxxyxyxzyyxyzyzxxyxxxxyyyyyyzzzxyyxyxyyyyzyzzzyyxyyxyxxyzzyzzzxyxyxxxyxyyxzzyyzyzyxxyyyyyxyxyzyyyyyyyxyxzyyyzzzzyyyyzyyzzyzyzzzyyyyzxxzyyyyz{zzzyzyyxyyzyzyyzzyyzyyyyyxzyyzzz{zyzzzyxzyxzyzyzzyzyyyzzyyzzzzzzyyyyyyyyyyzzzzzzyzzyyyzyzyzyzyyzyzyyzzyyzzzz{y{zz{zyyzzxzyyyz{z{zyzyzyyyyyyzzzzz{zzzzzzzzzyzzzzzzz{yzyyyyzyzzzzzzzzzzzyyyz{{{zz{{zzyzy{yxyyzzz{{zz{zzy{zyzzzzzzzz{zzyyzyyzzzzzzyz{zzyyzyyxzzzyzzzzyzyyzyxzzzyyyzyzxxyyyxxyyzyzzzzyyyyyxyxyzxyzyzz{yzyyyzyyyyzyyyzzzxyyyyxyzzzzzzzyzyzyyxyxzxzzzzyzxxyyzxyxyzyyzyyyyyyyxyxywyzxyzyxyyyyyyxyyyzyzzzyyxxxyyyyzyzzyyyzyyxxxyyyzyyyzzzzyyyyxyyxxzyyyyyzyyyxyxxwyxyyzzyyzyxyzyyxxyyxzyyzyxyyyzzxyzyyzyyzyyxyxyyzyzyzzyzzyxyyyzyyzyzyzzzzyyyyzyyzzzzzzzzzzzyyzyzxzzyzzzzyzyyyyyyyyzzzzzzzyyxzyxxyzzzzyzzzxzzyzz{z{zz{yzz{yzzyzyyzzzz{z{z{zyzyzyzxzzz{{yzzzyyyyzzz{{{{yzz{yzyzzzzzzzzzzzzzzzzzzyyyz{{zzz|zyyzzzzyy{{{zzz{zyzyzzyzzzyzz{{zzzyyzzzyzzzz{zz{zzzzyzyzyyz{zzzzyzyzzyyzyzzyyyz{zzzyyyxyyzzz{zyxzyyyyxyxyxyyyzzzzyzxyyyxxyyyzz|zzyyxwyyzwyyyzzzyyywyxyyxyyyyzyyyzzyyxxyyyyyyyy{yzzyyxyxyxyyzyyzyyyyyyyyxwyzyxxyyzyxxyyyyxyyyyyzyzxwyyxwywyxyywyzyzyyyyxyxyyzy{zzyyxyyyyxxzyzzyyzzxywxxyyxyyyyzyyyxyyxyxxxzzyyyyyzyyyyyyyxzyyyyzyyyyyyzyyxyzyyzzzzzxyyyxxzyyyyyzyzzyyyxxyyzyyyyzzzyyyyyyyyzzxzyzzxzyzyyzyyyyzzyz{zyxyyyzyyyzzzzzyzzzyyyzxyyzzzzzzzxyyyxyyyyzyzz{z{yyzzzyyyz{zyzyyyyyxyzyyzyz{zzz{zzyxyzz{yzzyz{{zz{yzyzyy{z{{zz{{{zyyzyyyzy{zzzzzzyyyyyxyyzzyzzzzzzyyzyyxzzyzzzzy{yyyzyyyzz{zyz{zzzxyzyzyyzzzzzzz{xzyyyyyyzzzzxzyyxyxxyxxyxyzyyyzxzxxyxyxyyzyzzyzyyxxyxyxxyyyyyy{zyyzyzyyyy{yyzzzzyxzyyxxxyzxz{yyyxxyzxxxyzyzxxzyyzyyyxyxyyyzzyyzyyywyxyyxyyyyyyzzyywxwyyxyxyzyyzyxyxywyxyyyyyzzyyyxyzxyxxxyzyyyyyyyyyyyxxxyxyyzzxyyyyxyzyyyyyyzyyyyyyyxxxxyyzyzzyxyxxyxyxyyyzxzzzyyyyyyxyzyzyyzzzyyyyyxyxyzzzzzzyyxxyyyyxy{zzzzyyzxzyyyyyyzzyyyz{zyzzyzyyzyyyyzzzzzyzyyyzyyzzz{yzyzyyzyyyzyy{z{{z{zzxzxyyzz{{{yzzyyyzzzyy{zzzzzzzyyyzyzzzzyzyzzz{zzyyzyzyz{z{zyzy{yzyyzzzzzz{zz{yzyzyzyzyzzz{yzyzzyzyyyyyzzzzzy{zyyyyxzzyzyyyz{z{zyxyyyyzzyyz{zyyyyzxzxyxyyyzyyzyyxyxywxwyyyyxxyzyxxxyxxxxzyyzyzzxyxxxxxzxyyyyyzyzxxyyyyyzyyzyz{zyzyywzyxyyzyyyzzxyyyxyxyzxyyy{zyyyyyyywxyyzwyzyyxyyyxxxxzyyzyyzyxyywwxxxxzyyyzyyyyyxxxxyyy{xyyyzyyyyxyyxzyyyxyzyxyyxxwyxyyyyxyyyyxxwyyyyyyxyyzzzyyyyyyyyxyzyyzyzyyyxzxxyy{zxyyzzyzyxyyzyyyxyzyzzyyzyyxyxyyzyzzzyzyyxyxyyyyzzyy{zyyyyyyxyzyzzyzyyyxyzxyyxzzzyyzyyzzyyyyyyzzz{zzyyyyyxyyyxzzyyy{yzyzyzyxxyz{zz{zzzzyyyzzzyzzzzzy{{zyyyyzyyzzzyzz{zzyyyzzzyyzzzzzz|yyyzyzyy{zzzyzzzzyyyzzyyzzyzyz{{yzxzzyyyyzzzzzz{xzxyyzxzyzzzyy{zzyyyxyyyyyyzy{yzyzxxxyyyyz{yyzxyyxxyxyxwyxyyyyzzyyyyyyxxyyyyyzyzyyyxxyxzyyxyyxzxyywyyxyyyyyyzyzyzyyyxxywyzzzyzyyxyxyyyyxyyyyyzyxyxyyyxxxyxyzzyzxxyyxxyxzyyzyzyzyxyyxyxxyyxzxyyxyyxxyyyxyyzzyyyyxzxzyxyyxxxxyyzyyxxxxywyxwyyyxzyyyxyyyyyxxyyyyzyzyxyyxyyxxyzxyyzxyyyyzywyyzzyyyzzyzyyyyyyzxyzzzyzxxyyyxxxyzyzyzyzzxzyzyyxyzyxzyyzyyyxxyyzzyzyyzzzxxyzxxyyyzyzzyyyzyyzzzxyyyzzzyyyyzyyzyyyyyy{y{zzzzyzyyyxz{zzyyzyzyyy{yzxzzz{zzzzzzzyzzyzzyzzzzz{yyyyzzx{yzzzzzzzzyyyxyyzzyzzzz{{zyyyyyyzyzz{zzz{zyyyyzyyz{zzzz{zzzyyyxxyxzzyzzzzxyyywxyxyyy{yz{yyyyxzyyxyzzyyyyyyyzyzxxyyyyxyzzyyyxyxxwxzyyyzyyzxxxyxyxyyyyyzzzyxyyyyyxzyzzzzzzyyyxxxyxxxzxyz{yzyyzxxyxzyzxyyzzyzyyxyyxxyzyyyzxyywyyyxyxxzyyyyzzyyxyyxwzyxyzzyzyyyyyxyxyyyzyyzyzyyxxxxyxyzyzyyzzyzxxxwyyyzyyyxyzyyxyxyyyxyyyyyzzxyxxwyyxyyyyyyyzyzyyxyyyyzyyy{y{zyyyyzyy{zyyyzzyyzxyxxyzyzzzyzzyxyzzyyzyyyyy{zyyzxzzyzyyyzzzyzzyyzxzzzyyx{zzxyzyzzyyzyyyyzzzz{{yzyyyyyyxz{zzzz{{yyyzyyyyxzy{zz{y{xyzzyyyy{zz{z{{zzzyyzzzx{yyz{zyzyzyyyyyz{z{zzz{{yzyxyyy{{zzyzzzzzyyzyyy{{yyz{{yzyzyzyyy{zzzz{zzzyyzyyzyyzzzzzzzyyyyyyyyzzz{{zzyyxzyxxzyy{{zzzzywxyxyyzzwyzzxzzyzxxyxywyyyyyyzyyyxzxyyzyyzyyyzzy{yzxyyzyzzzzyzzyxyyywyyyyyyyyzyzyyyxyyyyxyzyyyyzxyyyyxxyyyzyyzyyyyzxxxyyyyyyyxzyzxyxyzyyyyyyzz{yyyyyyyyyyz{yzyxzyyyyxzywyyyyzyzzyyzxyxyyyxyxyyyzyzyyyxxzxzzyyzzyyyyyyzyyyyxzy{zzyyyyyyyyzyzzzzzzyyyyxxyxyzzyyzzzzzyyxyzz{yzyzzzzyzyyyyxyyzx{zzyyzyzyyyzyzzz{zy|yzyyyzyxyzyzzyzzzzyyzzyzzzzzzyzyzyzyzyxzzzzzzzzzzyy{zyzzzy{yyzyyzzxyzyyzyz{zyz{{zzzyyzzz{z{zzzzz{{yyzxzzyyyzzzzzzzzzzyyyyzzzz{z{zyyyzyzyzzyzzzzz{zz{y{zyzzzyzzzz{zzyxzyxyzzz{zz{{zyxyyzzzy{yz{z{zzyzyxyzxzyyz{yxzzyyxyyyyxyyyyyzzzyxxyxxyzyzyyzyzxyyyyzyxyxzyzyzzyyyxyyxwyyzzxyzzyyzyxyyxzzyxyyzzzwxyyxyxyyyxyzzzzyxyyyyyyyzyzzxyxyxyyyyxyyyyzyzyxzyyyyyxyxyzxyzyyxxwyyxyxyyyzyyzyzyxxyyyyyyzyyzzzyyyxxyyyyyxyyyzyzyxzyxyyyyyyyzzzyyyxyyxyyyyyzzzzxyyyyzxzzzzyzzzyyyyyzyyyzyzzyzzxyzyxyyyyyzzyyzzzzyyyyyyyz{zyyzzzyyyyxxyyzzzzzzzyzyzzxxyz{{yzyzyyzyyyyyyzzzz{zzzzyyyyzzyyzz{zzzzyyy{yyyyz{y{zz{{zxyyzyxzzzyz{z{zyzyzzzzyzzzz{zzz{zzzzzzxyz{zzz{{yyzzyyzzzzyzzz{zzzzyyyy{zzyzzz{zzyzzzyyzz{zzzzz{zyzzzyyyyzyyzzzzzyxxyzxyyyzyzz{yyzyxzyyyzy{zzzyyyyyyyxyxxzzyyyzyyyyxyxyyyyyzyyzzzxyxyyzxzyz{zyzzywxyzyxxyzyzyyzyzyyxyyxyyyzyzzzzyxxxyyyxyzyzyzyyzxxxyyzyyzzyyzyyyyyxyyyyzyxyx{yyyyxxyxyyxyzzyy{yyxyxxywyyyyyzzxyzxyxyxxwxyzyzzzzyxyxyxxyxyyyyzyyyyyyxyyyy{zyzyyyyxyxyzzxzyzzyzzzzyxyxyyyyyyyzyzzyxyyyxyyyzyzxzzzxyyyxyyyyz{yzzzzyyzxyyzyyzzzzzyzxzyyyxzxzzzzyzzyzzzyyyyyzzyyyzyyzyzzyzx{{yzz{zzzyzzzyyyyzzzzzz{zyxxzyyyyzzzzy{zz{xyyzyzyy{z{zz{zzzyzzzzzx{{zy{{zzzzzyyyzy{{zzzzy{yzyxyyy{y{zzzzzzzyzyzyyzzzyzzz{zyzyzyzzzzzzz{zzzyxyyxxyzz{{zz{zzzyyyzyyzzzzyzzyzzyyyyxyzzzzyzyyxyyyyyzxzyyyyzyzzxyyxyxyyyyzyyz{yxxyyxzxyzyzzzyyzyzzxyyyxyyzxyzyyxyxyxyxyyz{yyyzzyzxyyxyzzyyyxyyxyyyxxxyyyzyxyyyxyyxxyxyyyyyyzzxyyzxyxyyyyyyyyzyyyyyxyyxxyyyzyzyyxyyxyxxyyzzyyz{yzyyyxyxyyyzyzyzyyyxyyyxyyyzyyzyyyyyxxyxyyzyzzzzyyyyzyyyxyyz{yzzzzyyyxyyyzyzyyzzyy{yyyxyzzyzzz{zxyyxzxyyyzyzzz{zyyyyzzyyyzzzyyzyzyyyyyyyyzzzzzzzzyxyyxxy{zy{zzzzzzyyzyyzzzzyy{zzzzyyyyyyzyzzzz{zzyzyyzzzzzyz{z{zzyyyyzzyyyzz{{{zzyzyyzyzz{z{zz{zzzyzyyzyzzy{{zyzzyzzzzzyyzzz{z{{zyyyyyyzz{{zzzzzyyyyyzzxzzyyzzzzzyyxyxyyyzyzyyzzyyzyxyyyyzyz{yyyyyxxxwxxyzyyxxzyyyxyyxxyyzyyyyyyyyxyxyxyzyyyzyzzxyxyxxyxyzyzyyzzyyxxxxyxzyyyzyyyyyyyxyxxyyyzyyyyyxxyxxwxxyyxxzzxyyyyyyxxzyyyyzyyxxxxzxxyyzyyyyzyxyyxxyxyyyyzzzyyyyxyxyyxxyzyyyyzyxyyxxxxyyyyyxxzzyxxyyxyyyyyyyzzyyyyxyyxyyyyzzzyxxzyxyyyyzyyzzzzyyxyyyyyzzzyzzyzyyyyxyyyyyzyzzzzyxyzyxzyzyzzyyyzyzyxzyyyyzzzyz{yyxyyyzzyzyyyyzyyyzyyyyzyzzzzzzzzyzyyyyzyyyzyxzyzzxyzyxyyy{zzyyz{yxzyzyyyzzzzy{{zyxzyyzzzzzyz{zz{zxyyyzyxzz{zyzyyzyzyyyzz{zzzz{zzzzyyzyyzyzzyzyzz{yyzz{yzzz{{yzz{zyyzzyyzyzzzzyzyzyywyyxxzyzzzyzyzyxyxxxyzyzyzyyywyxyyyxxzzzzxxyzxyyyyxxxyzyyyxzzyyyxyyxwzxyyyzzyzzxyxyxyyyzzyxyzxxyxxyyxyyyyzzyzxyyyxxzxyyxxyyzzxyyyxxyzzyzyyzyyyyxxxyxyyyxyyyyyxyyxxzxyxzyyzyzyyxxxxyxyyyyzyyyyyyyxxyxyyzyzyyzyyyyxyxxwyyyzyyyyxxyyxyzxyyyzyyyyyyxxxyywzyyxzyzyyxxyzxyyzyxyyyzyyyyxyxxxxxyyyyyzxzzyyyxxyyxzyzzyyyyyyyyyzzzzzzzzyxxyyyyyzyzzyyyzzxxzxzxyzyzz{zzyyxyyyyyyyzyyy{z{yyyyzzyyyzyz{z{zzzyyyyyyzzzzyz{zyyyyzyzyz{yzzz{zzzzxyzzyzzzyz{zz{zyzyzxyz{zzzzzzzyyzzzyy{yz{zzzzzzzzzzzyyzzzzyz{yzzyz{yyzzzzzzzzyzzxzyxxzyzzyz{zzzxyxyyyzyz{yyz{yyzyyyyyyyzzyzzzyxxyxyyxxyxyyyzyyxxxywxyyzyxyzzyyyzxyyyxyyxyy{yzyywxxxzxzyyyzyzzyxyyxwyxyxzyzxyyxxyxxxxyyzyyyzyyyyyyyxxyyyzxyzyyyxxxyxxyyyxywyxzyxxxyxxyxzyzyyzyyxwyxyyyyzzyzzyyyxyxyxyxyzyyzyyzyxyyyxxxxzyxxzyyxyyxxyxyyyzxxyyzxxzyyxxxyzyyzyzyyyxxyxyxyyxyyyzzyxyyxxzyyyyzyyzzyxzyyyzxyyyyzzyzxzzyyxyyyyyzyzyzxyyyyxyyzyzyzyzyyxzxyxyyyzzyyzzyyzzxyyyyzyyzyzzzyyyyyzyzzzz{zzzzzyzyyyyyzzyz{y{{yxyzyyzyzzzyz{zzyyyzzzzyyzyzzzzyzzzzyzzzy{z{yz{zzyyyzzzzzzyzz|zz{yyzzyyzyzzz{zzzzyzyzyyzzyyzzzzzzyxyyyyyzyyzy{zzyzzyyyyzzzzzzzzzyzyyxxyyyyzzzzxyxyzxyyyxyzyxzzyyzzyzyxxyyyyyyyzzyyxxxxyyyyzyyyyzyzxxyxyxyyzyyxyzyyzyxxyxyyxyyyyyxyyxyyyxxyxyzyzyyxyyyyxxyyyyyzyyzxzxxyxxxxzyyyyyyyxyxxxxyyyyzy{yyywxyxxyzyzxyyzzyxyyxyxxyyzyyyzzzywxxyyxyzxzyyyzyxyxxxxyxyxyzzzyyyxyzxyxyyyzzy{yzyzxzyyyyzzyzzzzzxzzxxyzzzyyzzzyxyyxxyxzyzzzzyyzyxyyyxyyxzzzyzzyywyyzyyxyzzyyzzzyyyyzxyzzyyyzzzzyyyyzyyzzyz{zzzzyyyyzzzxz{zyz{z{yyyzzyzzzzzzzzzyyxyzzzxzzz{yz{{zyzz{yzyzyzzyzzyzzzyyyyyyz{zzzz{|zyzyxyyzyz{{zzzz{yyzyyyyzyyz{y|zyyyyzyxz{zzzzyzzzyyyyyyyzzzyy{zzzzyyyzxyyzzzzyzzyyxyyyxyyzzyzzzzyxxxwyyyyzxzyyzyyzywyxxxyyyyyyy{yyyxyyxxzyyyyyzyzyzyxyxzyyyyxyzyyxyxxyyyyyzyyzz{xzxxyyyxyzwyzy{yyzxyxxxxyyzyyyzyzxyyyyxxzzxxy{zyxyyyxyyyyxyzyyzyxyyxxyxywyyyzyzyzyyxxxxxyxyyyxyzyxyxxyyyyzzyxyyyyyyxwyyxxyzyzyyzyxyyyyyxyzyzy{zyzxyyyxzyyzzyyyyzzy{yyyyyzzz{yyzzzyzzxyyxyzyyzyyzyyzzyxyyyyzzyzzz{yzyyyyxzz{yyyzyzzxyyzyyzzzyzzyzzzzyyzyzzzz{zyz{zyyyyyzyzzyzzyz{zxyzzyzy{zzzzzzyzyyyyyzy{zzz{{zzzzyyy{yzyyzzzzz{zyzzzyyyz{z{{{{z{{zzzyzy{zzyz{{z{zyy{zyz{zzyyzzzzyyyyyyzyzzzzzzzyyxyzzyyyyyyzzzzyzyyyyyw{zz{zy{zyzzyzyzyyzyyzyyzyxyxyxywx{zyxxzzzxyzxyyyxzyyzzzzxyxyyxyyyyyyyzzyyxzzxxyxzyyyyyzzyxxyxxxxyyzyyyxyyxyyyyxxyyyyyyzyzyyyxxzxyyyyyzzzxyyyxzyyyzyyzyzzxxxxyzyyyyxyyyzyyyyxxyxyyyzz{zyxxyyxxyxxyyyxzyzyyxyxyyyxxyzzyyyyyyxxzyxyyzyzyyzyyyxxyzxzyyyyzy{{yxzzyyxyyzzyzyyzyyzyxyyyyzzyyzzzyxyyxyyyyyyyyz{yyyyyzxxxyzyzyyzyyyzxyxyxyzzzyyzzzyyyxz{yzyyyzzyzyyyyzzyyyy{{zzyzyzxyyyzxyzyyzyzzzzzyyxyzzzzzzyzzzyxzyyyyzz{z{{zzz{zyyzyyz{{{zzz{{zyzyyz{yzyzyz{z{yzzyyzy{zzyz{yyzyyz{yzyzzzzz{z{yzzzyzzz{zzzzzz{xyzzzzyzyzzyzz{zyzxzxyyyzzzzzyzyzyyyzyxxzzyzzyyzyxyxyxzwx{yyyyzzyyxxyyyyyzyzyzz{zyyxxyyxzyyzzzzyzyyyxxyyzzzyxyzzyyxxxxyxzyyyyzyyyxyyyyyxzyzzxyzyzxyyyyxxyyyxyyyyzyxxxxyxyyyzyyyzxxyyyxyyyxyyyyyyyzyxxyxxyzyzyzyyxxzyxyxxyyyyyzzzyzyyyyyyyyyyzyzyzyyxyxyy{zyzyyzzywyy{zyxyzyyz{zzzyyyyxyxyzyyyyzzxyyyyyyyyzzyyzyyxyyxyyyyzyzyzy{yzyyyyyzzyzzyyzz{zyzyyyxyzy{yyy{zzyxzyyxyzzzyyz{zzzyzzzzyzyz{z{yzyyzzyzzyz{yzz{zyyyzzyzyyzzyz{z{zzyyyyzzzz{{{z{zzyzyyzzyzy{zzy{{{{zz{z{zzy|zzz{z|{zyyxzzyy{{z{zy{zyzyzzzzyzzzzzz{zzzzy{z{{yzyzzyzzyzyyzyxyzz{zz{zzyzzyxzyzz{{yzy{zyzzyxyxyyzzzyyyyxxxxxyyyyyyyxyyyxxyyxyxyy{yzzzzzyyxyzyyyyzzzzzyzxyxyxyzyzzzyyzzyyxxyyxxxyxzzyyzyxyxyyyyzyyyyzzxzyyyxyyxyxzyyzzyyyyxxzxyyyyyzzzzyyyyyyyxzzzyyyyyzzyxxyyxxxyzzzzzyyzxyxyyyyzyyxzzyxzyyyxyxyyzzzyzyzyzxyyxyyyxz{zzxyzyxyzxyzzyzxzzyyyyyxyyyyzyzzzzzyyyyyyyzzy{yzyyzyyyyxzzzzzzzy{zyyyzzzyzyzyzzzzzxyzyyyyz{yzzzyz{zyyyyyyyyz{zzzzyzzyzzyzyyz{z{y{{yzzyyyzyyzy{zzz{zyyyyyzyyzzy{zzzzzyzzzzyz{{y{zzzyzyxy{yyzzyzzzzyyzyyyyzzy{zzzz{yzzzzzyyy{zyzz{zzzyyzzyzzzzzzzzz{zzzyzzyyzzy{zzz{zzyyzyyyyzyzzzzyzyyzzxyzzzzzzyzz{zyxyyyzzyzyyzyyyyyyxxxxzzyyyy{zyxyyyyyyyyyzyyyzzyyxyyyxyyzyyzzzxyyxyxyxzyyyzyyzyyyxyyyxyyzzzzy{yyzyyyyxyyyyyyzzyyyyyxxyyyyyyyyyyxzxyzyzyzyyxzzzxxxyyxyyxzyzzxyzyxzyyyyxyyzyzzyyyyyyyyyxyyzyzyzyyyyxxyyxyzyxyyzzyyyzyyyyxyyxzzzzzyxyxzyxz{yzzzzzzxzyyyyyzzzyyyyzyyyyyyyyyyyyzzzzyzyxyyzyzyzzzzyzyyyzyyyyyyzyz{zzyyyxyxyyzzzzzzz{yzyyzyyyyzzyzzzzyzzzyyxzyz{yzzxzyzzxyyzyzzz{zz{{yzyzyzyyyzz{zzzyzzyzzyyyz|zzz{z{{zzzyzz{yzyyz{zzzzxyyzzyy{z{zz{{zzzzzyyy{{yzzzzzyyyzzzzzzzyy{{z{zzzy{yzzzzzzz{{zzyyxyyzzyz{{yzzzzzzzzyyyzzz{yzzyzyyyxyyyyy{yyzzyyyxxyyxxxxzyyyzyzxxxyyxxyyyzyzz{yxyyyxyxyzzyyzzyyyyxyxyyzzyyyyzzyyyyxxyyyzyyyxyyyxyyxyyxzzyyyyzxyyyyyxyyyyzyyyxzyyyyyyyxyyyyyyzyyyyxyyyxyzzyzy|yxyzyxyxxxyyyyzzyyxzzxxyyx{yyyxyzyxyyzxyyyyzyyzzzyyyyyyyxxyzzzyyyyyyzyzzyyzzyzz{zzyyxyyxyyzyzzzyzyyyxyxzyyzzzzyzyyyzyyyyyyzyzzzzzyyzxyxyyxz{zyzyzzzyyxyyyzzzzyyz{yyyyyyxzz{zyzzzzzyxy{yyyzyyzz{zyyzyzyyzyyyzzzzzyzxxzxyyyzzzzzzzzzzzy{yzyzzyyzzz{zxzyy{zzzzzzyzzyzyz{yyzyy{zzz{zzyyzxyzzyz{zyyz{zyyyzzzyyzz{zz{z|zzzyz{yzz{{zzzzzyyzyzzyyzzzzz{zzz{yyyzyyzzyzzz{yyyzxyyyyyzzzzyzyzxyxyxxxyyzxyzyzzyxyxxxxxyzyz{zzzzyyxxyxyyyzz{zyyyyzzyyyyzyzyzzzyyyxyyyyyyyyy{zzxyxyxyyxyyyyzzzyyxxyyzxyyzzyxzyyyyyyxzyzyyz{yyyzxxxyywyyyyyyyzyyyyxxxyxyxyzyyzzyyxxyxxxyyyyyyyzyyyyyyyyxxzzzzyyzyyyxyxyxx{yyyzzyyyxyyyxyzyzzzy{yzyzxyyxyyyzzyzzyyyyxxyyxyzzyz{zzyyzyzxyyzyzzzy{zyxzyzxzxyzyyzyyzzzyzyyyxyzzyyyzzzzyyyyyzzzzyzzzyzzyyzyzzy{zzyz{zxzyxzzzzy{z{{z{zyyyzyyzyyyz{z{zzzyyyxzzz{zzz{{{zzzzyy{zz{zz{zz{{zyzzyzyyy{zzzz{{zzzyyzzyzzz{y{{{{yyyyzzzz{zyzzzz{{yzzyzzzzzz{zzzzzzyyxyzyzzzyz{zzzzyyyzyyzyzzy{zzyyyyzzyzzzzzyzyyxyxyyyxyyyzyzyyyyxyxxxyxyyyyzzzyxxyyyxxyyzyzxzyyxxxxxxyxyzzxyyyyyxxyxxyyxzyxzyzyyyxxxyxxyyyyyyyyyyyxyyyyyyyyyyyyyyyxyxxyyzyyzzyyxyzxxxyyyzyyyyyyyyyxyyyyxyyzzyyyxyywzwxywyyyyzzyxyyxxyyyzxyyzzxxyxxyyxyxzzxzzyyxyyyxxxyyyyzyz{xxyxxyxzxyzyyyyzzxxyyxyyxyyzzzyzzyxyyzyxyyyyyyzyzyyxyxyzyyyyzyyyyyyyzwxxyz{zzzz{zyyyyzyyyzzzyzzyyyzxyyyxwyzzzz{zzxyyyzyzyyzyzzzzzzyyyyyyyzzzyy{{{zyzyzyyy{{yz{zzzyzyyyzzxyzzzz{yzzyxyzzzyz{zyzy{zzyzzyxyyyyzzz{zzzyyzzyyyzzyzzzzzyyzy{zzyzzzzzzzyzyxzxyyzxz{yyzzzzyxyxyzzxzzzzyzzyyzyzxyyzyzxyyyyyxyyxyyyxzyyzzyzzxyxxxxyyyyyyzzyyyxxyyxyyyy{zyyzyxyyxxxxyxzyyzzyyyyxxxyxyyzzyyyzyyyyyyzyyyxyyyyzxyyyyyxxyyzyyzyzyzyxxxyxyyyzyyyyxyxyxyyxyyzzyzyxyxyxyywxyxzyzzyyyyyxxxxxxyxyzyzyyxyyyyxyyyzxxyyzyzxxxyzxxyyyyz{zxyxyzyyxzzz{yyzzyyyxyyxyyzxyyzzzyzyyxxyxyyyyyyzyyyyyyyyzyzzyzyzzyyyyzxyyxzzzz{zzyyyzzyyxyyyyy{zzzyyyyzyyzzyzz{zyzyyxxyxyzzyzzzzzzyyyzyzyzzyzyzzzyxyxzxyyyzzzzyzzzyyzzyzzzzzzz{zzzzyyyyyzyzzyz{{zzyxzyyyzz{{{z{zzzzyzzzyyzzz{x{zzzzyyyyyyyzzyz{zzzyzzzyyyzzzzzzz{yyyyyyyzzzyzzzz{zzyyyzzyyz{zzyyzyxyxyyzzyzzyyzyyywxxyxywxyyyzyzzxxxyxxxyxyyzyzyyyyyyyyyxyzzxzyyyzyyyyxyyyyzzxxyyxxyyxxyyzyzyyyyyxxzzxxyyzyyxyyyyyyyyxxxyyyyyyxzyyyxyxxwwyyyzwy{yyyyxyyxxyzyyzyzyxyyyxywyyyxyyxzzyxxyxxyxyzyyxzyxxxyyyxyxxzyyxyyyzxyxyyyyxyyzyzyyyyyxyyyxyzyzyyz{yyxyyxxyyyyyyzyyyzxzyyyzyyyyzzzzyyyyyyzyyzyyyyyyzyxxzxyyyyzzzzyzzyyxyyyyyyzzyzzzyyyyyyyyyyzyzz{zyyzxyyyz{zzyzzzzyzyyzzyzzzz{zz{{yyyyyzyzzzzzzy{zzyzyyyyzzzz{zz{zyzyyzyyzz{yzz{zyzzyzxzzyy{zzz{zzyy{zyxyzzzzzzzy{zyzzyyzz{zyzzzz{zyzzzyyzzzzzzzzzyzyyyzyyyzyyzzzzyzyyzyyyyzzzzzzzyyzywyyxy{zyzyxyzxyxyzyxyyyyxyyzyyxxyxxxyzyzzzzzxyyxyyzzyyzyzzyzyyyxzyyxyyzyyyzyyzyyyyxxyyzyyzyzyyzxxyyxyyyyyzzzyyyxzxxyyyyxyzyzxyyxxyyyyxxzxyyyxxyyzyxxyyyyyyyyyyyzxyxxxxzyyzzyyxyyxxxyyzzzyyzzzyyyyxxxyxyxyzxyzxxyyxyyyyzxyzyyyxyyyxyxyzyyyy{yyyyxyyyyyyy{zzzyyyyxxyyyyzzyzyyyyzyxyyyyyyyyzzzzzyyxyyyxxzz{{{zyyyyyyzyy{xzzyyzzxyyyyzyzzzyyy{zzzyyyyyyzyzzz{zzzyyyyyyyzzzz{{zzzyyzzyzyy{zzz{z{zzyyzz{zzzz{yz{{zyzzzzzzyy{zyzz{{z{zyyzyyz{zzzz{z{yyzyyyyzzzyzzz{yyxzyzzzzx{zz{{zzyzyyzyxzz{zz{zzyyyxzyyzzzyzyy{{zzyzzzxz{zzzzyyyyyyyzxyyzzzyzyzyyyyyyyxxyzyy{yzyzxxzxxywzyyyyz{zywxxyxyyzyxyxzzyyyyxxyxyxyzyyyyzzyyyxyyxyxyyyyzzyyyxxxyxyxyxzyzzyyyyxyyxyyyxyzyyyxyxxzyyxyyzyyyyyyxyxxxyzyyzzyzyyyyyyywyyyyyzzxyyxxxxyyxyyzzyyzyyzyxyyyxyyzyyzyyyzyyyxyyxzyyyyyyxxzyyxxyyyzzzzzzyyyxyxyyzzyzzzzzxxyyyxyyyyyyyzy|zyzyxzzyzzzy{z{zyxyyzxyxyzyzyzyzyyyyyzyxyzyzzyyzzxxyxxxzzzzzzzzzyxxzzyxyyzzzz{zzxzzyy{zyz{y{z{zzyyx{yyxyz{{yzz{zyyzxyzzyy{zzzzzzzyzzyyzzy{y{{zz{{zzzyzzz{z{zzz{zzzyz{yzyz{z{{zzzzzzyzyyzzzz{zz{{zzzxzyyy{zy{{z{zxyyyyyxzy{zzzzzz{yyzzxyyy{zzzzzyzxyxyyyyyzzzzyzzxxyxyyzyyzyyyyy{zyyxyyxxyzzyzyxzyyxxyzxyyxzyzz{yyyxyyxxzyxzyyz{yyyyxyyywyzyxyzzyzyyxyyyxyzyyxz{yyyyxxyyxzzyyzzz{xxzxxyxxyyyyyzyzyyzxzxyxyyyyxyzzyyxxyyxyxyyyzzyzzyyyywyxzzyzyyzyxyxxyyxxxyyzzyxyxyxxxyzyx{yyyzzyyyzzxxxxxyyyyyzzyyxxzzyyyzyyyzz{yxzyxyzyyzzyz{zzyyzyyyxyyzzzzzyyyyzzywyxzzzzz{yzyxyyxyxxzzz{yy{zzxxyyzyxyyyyyzzzzyzyyyyzzyzzzzz{xzyzzxzzzyz{{zz{zyzyyxyyzz{yzzzzzzxyzyzyzzy{{yyzyzyyyyz{{zyzz{{{zyzyzyyyy{zz{zzzyyzzzyzzzzzzy{{zzxyzzyyyz{zzyzzzyyyyzyyy{yyzzzyzyyyyxyyy{{zzzy{{zzyzyxzyyzxzyy{yzzyyzyyxyzyzyzzyyyyyxxxxyyyzyyzzzxxxyxyxyyyyyzyzzyxxxyyxyyy{yy{zyxzyyxxyzyyzyyzyxyxxxyxyzzyyyzzyyzywzxywxyyxyzzyyyyyxxyxyzzyyzzyyyyyxyxyyxyyyzyzyyyyyxyxxxzyyyzzzyzyxxyyyyyyzyyyyxyyxyyyxyyzyyyzzxyyyxxxyzyyyyyzzyyyyyxyyzzyy{yzzyzyyyyyyyzzzyzyyyyyyxxyy{zyyyyzzyyyyyxxzyzzzzzzyyyxyzxxyyzzzzzyyyyyzzxxyyzyzyyyxzxzxzyyyzzyzz{zyyyyzyy{zzzyzzyzzzyyyzzyzzzzzzyyxzyyyzzy{z{{yyz{zzyyyyyxz{z{zzyzzyyy{yzyzzzzz{|zyyyyyzzzzyzzzzzzzyyyyzyzyzz{{zzzzzy{zyzyzzzzz{z{zzyyzzzyyzyyzyz{yzzyyzyyzzzzzz{yzzyyzzyyyyzyz{zyzzzyyyyx{zzzyyzzyzyyyyyyy{zzzzyzwxyyzxxwyyzzyyyzzyyyyxyyyyyyyzzzzxywxxyxyyyyyzzyyyyyyxyyyyzyyzzzyyxxwyxyxxy{zyzxyyyxxyyyxyzyzzzxywyyyyxxyyxxyzzyyxyyxyyyyxxyyzyyyxxxxxyxzyxyxyzyxyxyxxxyxzyxzyzzyyxyxzyxyyzyzyyyxyzyyxyxyyyyzyxzyyyyxxyyyyzzzzyzyxxyyzxyyyzyyzzyzzyyyyyyyyyzz{zzyyzyyxyyzyzyzzzzyyyyyyyxzzyyzxzyzxxyyyyyyzzzzzzzzyyyxzyyyzzyyy{zyxyzyyyyy{yz{zzzyyyzxyzyz{zzz{zzyyyyyzzyzyzzzz{zzzyzyyyyz{zy{y|{zyzyzyyxzzyzzz{zzxzzy{zz{zzyz{{z{xzzzzzyyzz{zz{{zyzzy{zz{z|{{{zzzyyxyyyyyzzzzz{{zzyzzzxz{yyyz{{zzyzyyxxyyyy{y{{zzzyzyzyyzzzzyyyzzyzyxyyyyzzzzyyzyxxxzxxwxyyyyyyzyxwxxxxxxyyzzyyyzyyxyxyyyyyyyyyzyyyxxyyxyyyyyyzyzyyxxyxxyyzyyzyzxyxxyxyxxzzxxyyxxxxxyxxyyyyyyyyxxxxyxzxyyyxyxxyxxxxyxxxxzyyxzyzyyxxxwyxyyxzyxyzyzxxyyxxwyxxyyyyyyxyxxxyxxxyxyzyyxyxxxyxxyyxxxzyzxxyyxxxxyyyzyyzzyyyyyyyyyy{yyzyzzyyxzxxyyyxzyzyzyyxxyxyyyzyyyzyzxyyxzyyyyzxyxyyzxyzxyzyyyzzzyzzyyyxzyyxxzyzyyzyzyyyyyzzyzzy{zzzyyyzyzzxzzzzzyzzzzx{yyyyyyzyyz{zzzxyxyyyyyy{yzzz{zyyyyyzyxzyzzyzz{zyyyzyzz{{zyy{{yyxyyyzyzzzz{zzyzyyyxzyzz{zz{zyzz{xzzzyyzzzzzyzyzyzyzzyxzzz{zy{zyzyxxyyyyzzzyyyyyyyxxyxyy{yyzyzzyxxxyyyyyyyyyzzyyyxyyyyyyyyzzzyyyyyywzyyzxzyyxyzzxxxyxyxyyyyyxyzyyyxwyxxyyyyyyyyyxyxyyzxzzzzyyzyyxyyyxywzyzzyyyxxyxxxyxxyzxyyzyyxyyxyxyyxyyyyyyyxxxxwywxxzyzyxyzywyyxyxyyywzxzyzyyxxxxyxyxyxyyyyyxxxywyyxzxyyzyyyxyyxxyxxyyzyyzyyyyxyxyzzzzxxyzzyyyyxxzyyyzzzy{{yyyyyzyyzzyzzzzzzyyyyyyyyyzzzyzyyyyxxyyyzzyyyzzxxyyzyxyyzzzyyyyzyyyyyyyzzy{zzz{yyzzyyyzyzzzz{zz{zyyxzxyxzzzzz{yzzyzzzzyy{{yyzzz{yzzzzzyyzzz{zyz{zzyyzzzzyzzzzzy{yyz{zyzzzzzzzzz{zyyyyzzyyzyzz{zzzyzyyyxyzzzzyz{zzyzxyyyyz{zz{{|yzyyzyyyyyzz{zyyzywyyyyyxz{yyzyzyxyyxyxxyzxyyzyyyyxyyyxxxzyzyyzzyyxxyxyxxzyyyyyyzyyyyyyxxyyyyyzyxyyxyxxyxyyzyxyyyyyzxyxyyxzyyyyzyyxyyxxyxyyyzxyyxyyxwyyyxyyyyxyyzxxxxxxyxyyyyxyzyyxxxxxxyxyzzyzyzyxxyxxwxxyyzxyyyyxxyyxyxyzyyxyzyxyyyxxyyyyyzyzzyyyyyxyxyxyzzzzzzyyyyyyyyyyyyxyzzyxxyyxyyyyzyy{yzyyyyyxyyzy{yxyyzyxxxyyyzy{zyzzzxyyzyyyyxyzzzyzzzyyxyzyxyyzzzyz{yzzyyyyyyzyzzyzzzyyzyyyyyzzyzyzyyzyyyzzzyzzzzyz{yyzzyzyxzzzzyyz{zyzzyzyyyyzyzzzyz{yzzy{yyy{{yzy{zzyz{yyzyyzy{z{{zyyyzyyyzxzzzyz{zzzyyzyyyzyzzyzzzzyyyyyyxzyyzyzyzyzxzyyyxyyy{yzzzxzyyzyywzyzyyzyyzywxyxxyyyzyzyyyyxxxyxyxyyxzzyyzzyxyxxyyzyzzyzyzxzxxxyyxzzyyzyzzyxxyyyyxxyyyyyzyyyyxyyyxxyyyyzzyxyxyxyxyyyyyxxyzyxxxxxxxyyxxxyyyxxyyxxxyzyxyyyzyxxyxyyxyyyyyyyxxyyxxxxxwyyzyyyzzxyxyyxxwyyzyyyyyyyyyxxyxxyyyyz{zyzyzxyyxyyyyyzzzyxyxyxyyzy{yzyz{yyzyxxzxyyyyzyyyyzzyyzyxzyzyzzzzyyyyyyyzxyzzzzyyxyyyxyxyyzyyyyyyyxxyyzyzzyyzzzzzzyyyyyyyyyzzzzzyxyyyyyyyzzyzzyzzzyxyyyyyzzzyzzzzzyyyyxyxzzyz{{zzzyxyyzzyyyzzz{{zzyyyyzzz{{y{zzzzzyzzyyyxzyz{yzzyzzyyzzyzzzzzzzyzyzyzzxyzzzz{{z{{yxyzyxyzzzzyy{zz{xyzyxyyzzyyyyzyyyzxxxxxyyyzzzyyyxyxxyxxyyyxxyyzyxxxywyyyyxyyzzyyyyxxyyyyyxzzzyxyyxxxyxxyzxzyzxzyxzxxxxxxyyzzzyzxyyyyyyxyyyxyzyzzxyyxxwyyxzyzyzzzxyyxxxxxyyxxyyyxyxxxxxxyyyyyyyyzxwyxyxxxyyxzyyyxxxwwwxxyzzyzxzzyxyxyxyxyyyxyyyyyyxxywxyzyyxyyyyyxyyyyyxyzyzyxzyyyxyywyy{yyyzzxzyxxyxxyyyxyyyzzxyyxyxzyyzzyyzzyyyywxxxyxxzzy|yzyyyxyyyyxyyxyxzyyyxxyyyyyzzyzzyzyyyxyyxyyyzzzyzzyyy{yxyyzy{yzyzzzzyyzxyyyy{zyzzz{zyzyyyyzy{zzyy{zzyyzyyyzzyzz{zz{{yzyyyyyyzz{zyzzyyzzzyyz{yzzzzzzzyxyyyyzzyzyzzz{zyyzyxxyzyzzzyzzyxzyyyyxyzxyyxzzzyxyyyzyyzzyzyzzyyyxyxyyyyzzyFv8'b{{zzz{{|{}{{{||}|||{{{|{||{|||}{|{{|{{{{{{}||{|z|{{z{z{{{{{{{|{z{{zz{{{||{|{{|||{{{{{z{{|{{||{{z{{z{{z|{|||{||{|{z{{{{{{{{|{{z|{{z{{{z{z{{|{||z{z|z{zzz{{|{|{{{z{{zz{yz{{z{||{|{{{z{{{z{|{|z{||{{{z{zzz{{z{{|{|{{zz{zzzz{{{|{{{{{zz|zz{{|{|{|}{{{{{|{z{|{{{{|{|{{{{|{{z||{{|||{{zz{|{|{z|{|{||z|z{{z{{{||||{{}||{|{zz{z|||{{}{|||zz{z{|{|}{||}{{|{{||{{|||{|}}||{{{{{{{}||}|{|||{{|{z{|||{||||}|{{{{|||{|||{}|{||z{{{{||}{|||}{|{{{{|{z||||||}~|{z|||{|{||||||{|{{|{{{{||{{{{}||{{{|{{{|||{|||}|}z{|{|z|{}||z|z{{{{{z|{{{|{|{||||{{|{{||{|{{||{{{|}zzz|z|{{|~|}|{{{{{zz|||{||||{|{||zz|{{{z{|}|{{{{{{{{{|{|{}{}{{{zz{{z|||{{||{{|{{z{zz{{{||{|{{z{{z{z{{{{{|{z{{z{{{z{{{{||{|{|{{z{{{y{{|{{{|{|{{zz{|{zzz|{||||{z{z{{{z{{{{{{||z|{zz{z{{{{{{|||{||{{{{{{||{|||{zz{y{{{z{{|{{{||{{|{zz{z|{{zz{|{{{{z||{zz|||||}{z{{{{{{{{|{|{{{|{{{{|{|{|{||{{}||{{{|{{{||{{|||}{{|{|||{|}|}}|||{|{z|{|{|}{||||}z{{{z|{{||}}{|}|}{|{{y{{{|{|}}||{||{{{|||{|||||~}{|{{||{|~}}|}}||||||{z|||}}|}}{||{{{{||}|{||}}||{{|}{{||||{{|}|||}{{|{{|||||{|||{{|zz{{|||{{}|{{z{{{{{z|{|{||{{{z{z|{{z{|{||||}|{|{}{{{|||||{||{zz{{z|{|{{||{|}zz{|{{{z|{{||||{z{zzzz|{|{||{|z{||{z{{|{|{|{{||{|{|zzz{z|{{z|{{{{|z{{{z|{z{|{||{z{{z{zzz{{{{{{||{{z{{{y{||{|{|{||z{{zz{{{{z{{{|{z{zz{z{zz|z{{{|{{{z{z{zz{{{{z|{|z{{z{{z{{|{||{{{||{{|{{{||{{|||}|{{{{{|{|z|{||||z{{{|{|{{{|{{|||{{|{z{|zz}{|{||{{{{{{{{z||}{}{||{|z{{{z||{{{|||{{{{|{{|z|{||{||}|zz{{{|{{{||{||||{{|{{{z{}{{}|{{{z{|{|{{||{||}||{z{{||{{|||}{}|}|{z{||{{|}|{|}{|}{z{|}{||}|}{{}||{{||{{{|||||||}||{{|{{||{{{{||}|{||z{{|{{{||{}||{{{{{{{|||||}|{|{{z|{{{||||{|{|{{{||||{{||}||{|{|{||zz{|||||}}||{{{|z|{|}|}{|}||zz{{{{{||||{{{|{{|{{|{{||}|||||{z{zz{|{{{{{{}{{|{z|z|zz|||{{{{{{{{{{{z{z{{|{{{|{{{z{|zz{{{{{||{{zzzy{zzz||{{{{|{{{{zz{z{{{||||{{{zy{{{{z|{zzz{{z{{{{{zz{{z{|{||{{{{{|{{{|{{{|||{|{{{z{z|{{||{{}{{z{{z{{|{||{}||{|{|z{{{{||{{||||z{z{{{{{{|||{||{z{{{|{{{z}||{|{{z|{{||||{}{}|}|||{{||{{{|{|}|}||{|{{{|{|||||{}|||z||{{{|{|{}|||{{|{{|{||}|}|}}|{{|{||}||}||}||||}|{|||{{|||}{}||||{|||{}}{}|||||{{{{{{|||||}||~}|{{|{{||{|||}|||{z{{|{{|||}{||}|||{{{z{{|{|{{{}z{{z{z{{||{|||{|||{{{{{{|}||||}{{|{{|z||{|||||{||{{z{{{|||{{{|||{{{z{{z{z|}|z||}{{|z{{|{{|||{|{|{{{|{{{z{{||{||{||{{{{{{|{|||{||{{{{z{{z{z{{{{{|{{{{z{|{{|{{{{z|}{z{{{zz{{{{{}{{|{{{{z{z{|{|z|{{{yzz{z{{{{{|z{{{{{z{zyz{{{{{|{{|z{zz{|{z|{||{{|||{{{|z{{||{z||{{|{{|{zz{|{{{{{z|{{{z{{z|{|||||||{z||zz{z{{{|||{{|{{{{{{{|{||{{||zz{{z{z{{}{||{|zz{|{{||{{|{{|}||z{|{|{||{|||||||{{{{|{{{|{|||||||{||{{z{{|||||}||{|{{|{|{{||}}}}|||{{}{{|}|}||}||||{{z|{|}||{}|}}||{||{|{|}}||}|||z{|{{|{||{||||{{{{|{|{||{||||||{{{{|||z|z{|{||{{{z{z{z{{|{{}|||z|{{{{{{~}|{|}}|{{{|zz{{||||||}|{{{{z{z{|{z|||{{{|{{z{z{{{{{{||{zzzz{z{{{{}{|{|z{z|z{{zz|z{||||{yzz{{z{{{{{z{z{z{zz{{{z{z{{z{{{|{z{zzzz{{{{{|{|{{{zz{z{{{{{{||{{zz|z{{{{{{{z{||z{zy{{zz{{{{{|{{{z{z{z{yz|z{{|{{zz{zz|{z{{{{|{|{|zzz{z{{|z{{||{|{{{{zzz{z{|{{|||zz{{{{|z{{{|}{{|{{z{{z|{{||{{|||{{|{{{zz{||{||{{z{z{{{{z|z|{|{{{|{{z{{z{{{|{|||{||{{{{|{{|{|{|}{{|{{{z|z{||{{}{}|{{{{z{{|||}||}}{|{{{{{{|}{|z||}||{|{{{|~}{{}||||{||{{{|{|||||||}{{{z{zz||||}{|{|{{|||{{{{{|||||{z{z{|{|{|{||{||{{z{z{{{{||||{|{zzzz{{{z{{|}{{{|||{{|{{{||||||||}{{||{{|||}||~|}}|{{z{{{||||}{||||{{{{{{{{}}z{|||{{zz{{{{||||}|}{|{{{{z{{{|{{|{}|{|{{{{z{{||{{{|{{zz{z{{|{{{{{{}zz{{z{{z{|{{{{||{{{{{zyz{||z|{}|{zzzzz{{{{{||||{||z|{{|{z{z{|{{{{zzz{{{z{{z{{{||{zz{{{{y||{|{||}|{{{z{{z|{}|{{||||{{{z||{{|{{||}{{|zz{z{{|{{|{{|zz|{{z{z|||}|||||{|{|{{||z|{|||{{|zz{{|{{|}||||}{z|{z{z{||}}|||{{{|{z|{{|||}|||}}{{{z{||{|{{|||}}{|{{|{{|||{||{}|{|{{||{|}}||}}}}||{{|{{|}|||}}}{|}||{{{||}{||}||z{||{z|||{|||}}{||{|{{{||||||||z|{{|{z{{|{{{|{|{|{z{{|{{||||{|{|{|{{z{{{||{z|||||{||z{z{}||||}{{|{|{|zz}{}{||}||{{{{z|z|{||{||}|z{|{{{z{{|{{{||||{z{{{{{z{{{||||{{z{{|{|{z{{{|{{{{{zz{{|{{||||z{|||{z{||{||{{{|z{{{{{zz{{||{||{z|zz{{{{{{|z||{{{{|zz{y{z|{{{|{{{{{zzz|zz{{z||{|{{{zz{{{z{{||}|{{{z{{{z{{|{|||||{z{{{z{{{{{|{{{||{|z{zz{{{{}{{|{{|||{{{{{{||{||}|{{{{z{|{|||{}{{z|z||z{{}|{{{||||z{z{z|{z}|{|{{{{|zz{{{{||}||{||z{|{|{|{{|{||||||{|{zz|{|{||{|||||{{{|{||}|z|||}{{{{{{{{{|{||||}|{{{{|{{{|}|{||||{{{{{|{|||}|||}}{{|{|||||{|}|}|{{}|||{{||{}||}|{{|z{{|{||{|{|}{}|{z{{{z||{|{||{z{|{zz{{z|z|{}}|||||{z||||}||||}|{{|z{|||||||}|}||{{{{|z||{|||}{|{|{{z{|}||}||||{|||z{{z}{|{{|||{|{{{{z{||||{||||zz{z{{z{||{|}||z{|{z{{||{|||{{{{{z{{{zz{{|||{|||{{{z{z{{{|{|||{{{{{{{{{z{||||}{{{{{|{z|{{{zz|{|zzz{zz{|{|{|{}{|zz{{z{{z{z{{{|||{{{{z{z|{{|||{||{{{{|{{|{||||{{|z{|{z{{|||}|||||{z{{{||{{|||{||||{{{{z{{|}}{||||{{{||{zz}{|{|}|{|{{{{{{{{}|}}{|||z||||z{{||||}}}||{{{{||{|}}||}|z{|{{|||||}||}||||{|{||||||}{}|{|{|||{|{{}}||}}||{{||{|{||{}|}}|}|{{||{{{}|||}}}{{{|{z{|||}|{~}}{|{{{{{{||||}}}}}||{{{{z{}|{|{||{|{{{z{{{|{{{||}||{|{|{{|}|||}|}||{{{{||||||}|||||zz{{{|{|{{}|}}{{{z|{{{|||}{|{||{|||{|z|{||{{{||{z{{z{z|{{|{||{{zz{{{{{|{|{|||{{{{z{|{{{y{{{{{|z{|{{z{z{}{z|||{{{z{zzz{{z|{}{|{|{{{z{z{{||{{|{|{{{||{{z{{z{{{|{z{|z{{{z{|{{{{{{{z{{{|z{||{{{|}|{z{z{z{|{{|{|{|{{{{{zz{{{{{||{||{{||zz{{{{|{|||||{{{{{{zz{|}|||{{{{{{z{{{|}|{||{||||{{{z{|{{{|}||z{{{{z{||||z|||{|zz{|{{}{{}|{}}zz{|{{{{}||||{}|{{|{{|z{||||}}|||z||z||{||||}|||}||||||{{||{|}|}}{|{||||}||||}||}z{{|{||||||}|}||{{{|{{{}|}|}|}|{{{z|{{z||{|}||||{|||zz{||{|||{{{{{{{{{{{||{{}|}{||{|}|{{||}|||}|{|{|zz{|}||}}|}{|{z{|{{|{|||{||{{{{|{{{{|{{{|}{||{{{|{{z{{{|||{{{{z{{{{{}{{||{|{{|{z{{{{{{{|{|{zz{{{{{z}z{{{{{|zzzzzzzz{||z{{}{{{{{{zz{{{|{{{{{{z{|{{zz{{{{zz|{{{z{{z{{{{{zz}{}|{|{{{z{|{{|{{{|{z{|{{{z{|z{{|{}{{{{{zz{{||||}|||{{{z{{||||{{{||z{{{{{{zz{}{{|||||{{{{|{z|}|{{|{{{{{|{{{|{}||||||{|{{{z{{|{{{{{{z{|{z{|{{{|}|||||{|{|{|z|||}||||{{||{z{|{||{}||{|{{{{{||{||||}||{{{|||||{{{||}}}|{{|||{|{}}|||}{||{|{{{|||||{|}{|{z|{|{{|||}|}|||{{|{{{||}|}|||||{{{{{{{|||||||}{{||{|{{{{{{{|}|{{|z{z{z{||z{|}}{}{z}}|||}}}||}}|{|{{{}z|||}||}||{|{{z{{}|||||}|{z|{zzzz{{|z||||{{{{{z{z{{||{|{|{{{{z{|{{{|}{|}{{{{{|{{z{{|{{{{{{z{{{{z{|{{|{}|}{z{z{z{z{|{{{{}|{z{zzz{z{{z|||{{{{||z{|{{||{|{||{z{{{{{{||{zz{{|{|{{{zz{z{{{||}|z{{z{{z{||{z{{}||{zz{z{z{{{{||{|{{||{{{{{{|{{{|}{z|z{{z{|{||{{{{{{|{{|{{{{{||||{{{{zz{{{{z|{||||{{|{{{z{||{{{{||{{z{{|}{|}{|||||{|{||{|{|z{|}||||{{}{{z{{||||||||{{|{{{{}||{|||{|{|{{{|{{{|}}||{||{{{|{|{~|{{}||}z{|{||{||}||}|||{{|{{|{|}|||}}|||{|z{{{||{|}||{|{{{|{{{{|||||{||{{{{{{z|{|{|{||{{{{{{{{{||{||{~{{{{||{||||}|}|||{|{||{{||{}|{}}{{{{{z{{|||||}|||z{{{zz{{|{z{{}|{|{z{z{z{|{||{||{z{{z{zzz{z|{{|||z{z{z|{z{{{z{{|z{{y{z{{{z{{||{{{zz{zyz{{{{|{{||{{{z{{{{z{{{|{|{{z{z{zzz{{{{|{|{|{z|{z{zz|{{|z||}|zz{zzyz{{{{|||{zz{{zzzz|{|{|}{zz{zzz{{z|{|{|{}z{z{{{{{|||{zz{|z{{zzzzz{|{{|||{zz|{{z{{{|{{||{{||{{|{{{{||{|{|||{{{z{{{|{{|{{z|{{{||{|||||{||{|z|{{{{{|{{|||{||{{{{zz{{||||||||{|{{|{{|}|{{{||||{z|{|}|||{|||~{|{{{||{{|||}|{||{{{{{{|||{||||}}|{{{|{{{{||||{||||z{|{zz{|{{}||{{{||{{{{|||||{||||{{{{zz{}{|z{}{{{{{{{{z{{{|{}}|{}|{|{{|}|}||}}}{{{|{||{}|{||||}{|{z|{{|}||z|}|||{|{{{z{{|||{{z{{|z{{z{z{|{{{|{|{{{z{{|{{|{{|||{{yz{{z{{{||||{|{|{||zzzz{{{{{{{{zz{zzzzz{{{{{{{{{y{{y{zz{{{||{{{{zzzzz{z{{|{z||{{{z{{{zz{{{{{{{z{{{{{{z{{{{zz{{{z{{{{|z{{{{{|{||zz{{{{{z{{{{|{{|{z{{{z{z{{{{||||z{{{{z{{{|{{||||zzzz{z{z{||{{||{{|{z{{{{z{{{{{{{{{{{{|z{{|{{{{||}{{{{z{{||||||}}{{{|{{|{|}||||}|{|{{{{{{|{||{{{||z{{{{{z|||||{|||{{|{|{{{||{|}|}||{{{{{|{|{|||{{{{{{{|{|{|}||||{|{|{|{{|||{|||}}||{{{{{{||||||{||{zz{{|{{{|{||||{{zz{z{z{|{|||||{{{z{zz{{{|{{|z}{|||{{{{||}{{}}|{|{{{{|{||{|}||{||z{z|{{}{|{|{|{{{||z{z{{||{{|{|{{{{{{{{||||||||{{{|{z{zz|{{|{|{|{{{|z{z{{{{z{}z{{{{z{zz{z{|{z|{zzzyzy{{{|{{|{{z{zzzz{zzz{{{{{{|zz{{yz{{{|{{{|{{{z{yzzzy{{{{{{|{|{|z{zz{y{{{|{{|zz{zz{{z{|{{{|||{{{z|z{z|{|{z|||zzz|zz{{{{|{|{{zz{z{|zy{||{{{||{{z{z{z{{z|||{|{{{zz{z{|z|{|{{{{|{{{{zz{{{|||{|{|}{z{z{z{z{||||||{{{{{{{{||{}||}|{z{{{zz{||||{|{{{{{{|z{|||{{{}{{{{{{|||{||{}|{|||{{z|||{{|}{||~||z{z{{{{|{{|}}||{{{zz{{|||||||}}{{{{|{{{||{||||}|{{{{{{{|}{{}{|{{{zz{{|{||{{{||{|z{z{{{{|{{{|}|}|}{{|{|{|{}||||}{z{{{{{{||||||}|||{{{{{{{{||{|}|{z|{{{{{{{|{{|}{{|{zz{zz|{|{}|||{{|{{{{z{{{{{|||{{{z{{{{|||z|{{{{{{zz|zz{{{{{|{{zz|{{{{{z{{{|{|{|{{{zzzz{{|{{|{|{{z{{{{{z{z{{{|{{{{z{{z{|{z{{{{|{{{zz{zz{|{{z|z{{{{zzzz{{|{{||||{{{|zz{z{|{{{{|{|z{{{z{{{{{|}|||{z{{z{{|{||||}|||{{{|z{{|{{{{|{{{{z{{{|{|z{{z{|{|zz{{{{{||{||}}|{z||{{|{{{{||||||{{zz||z|||{||||{z{|z{{{|}||}|||{{{{{z|{|||||}||{|{{|||||{||||||||z||{{||||{||}|{{{{{z{z}z||||||{|z|{z{{{|{|}}}||{{{z{{{{}{||}{|{{{z{}{{|{{}|||{{z{{{z{z|{{|z{|{z{{zzz{z{||{{|}}}|~}{{||}}}~}||||||||{{{}|}|{|}||{{{||{||}||}||||{{||{{||{}|||}||{{{{{{{|||||}|}{z{{{z|{{{{||{|{|{{z|z{z{|}z{{||{z{{z{{{|{{}||{|{zzz{z{{{{{{{{{z|{{z{{{{{{||}{}|z{{{{yzz{||{{|{{zzzzzz{z|{||{{{||{{{{{yz{|z{||||z{{zz{{{|{z|{||{{{{z|z|{{|{{||{||{{{z{{||{|{|||}{|{z{{{z|{|{{|{|{|{{|{|z||}|{|||{{{{{|{z{|||{||{{{{{{|{{||||{||||{{{{z{{|{{|{{{|z{{{{{||z|||{|||||{{{{z{{{|||||{||{{||{{{|||||}|{|||{{{|||{||||{|{{{{|||{|||}{|}|||{{{|||}||{||}{{||{{{{||||||}|{{{|{}}{|||}}}|}{||z{z{{{}{{{|||{{{{{{{{|{{{|{||z{{{{z{{{{{|||}}||{{}|{{|}~||}}}|{|{|{{{{|}}}|}||{{|{{|||{}{||{}|{{{{{|{{|||{{|{{z{zz|{z{{{{|{{|{{{{||{{{|{{{}{{|z{{{{z{{{{{{|||{z{z{{{{{z{|{|||{{yz{{{z{{{{{}|{{z{zy{zz{{{z}|{{{{{z{|z{zz|||{||{z{{{{{zz||{{{z|{z{{|{{z{|z{z|{|zz{z{z{{{{{||||{{{z{|z{|{{|{{{{{|{|{{z|{|{{|{||{|z{{zz|{{{{{{{{||{{{zz|{{|{||||||z{{{{{{{|||{{{{{{{|{zz{{{}||||{|{{{{{{||{||||||{{{{|{|z{||{|||||{{{z{{{|}|{||}||{|{{|zz|}{}||||{||{{||{|{||}||{|{{|z}|{||{~{|||||{|{{{||}||{||||{{{|{{{||{{||||||z||{{|{|||}||||{{z|{|y|{{|||||||{{|z{{z{}|z{|||{{z{{zz{||z{|~~{}|}}|{{~}~}}|}~||{||||{|{|}}|}|}|z{{|{{}|{}{{}|{{{{{{zz{{|{|||{{{{{{z{z{z{{||{{{{{{{{zzz|{{z|{{zzz{{{{{{{|{{||||{{{{{zz{{|zz{{{zzz{z{{zz{z{z{{|{z{z{zzz{{{z|{|{{{{{zzzzz|{|{{|{{z{zz{{z{z{y{{{{zzz{zzz{{{{|{||{{z{zz{y{{|{{{|{{{{{{{zz{{{|{{||||z{{z{{{{{{{||||{{{z{{{{|||{{{{|{z{{{{{z{|||{{|||z{{{z|{|||z||||{{{{zz{z{||{|{|{|{z{zz{{|{|}||{|{|{z{{{{{{{}||||{{{{{{|{||||{|||}{|{|z{{||{{}}|{{{{{{{{{|||}|||}{{||{{|{||||{||}{{|{|{|}}|{{||||{|{{{|{{|{|||||||{|{{|{z{||||{}|{{{{|{{|{||{{||}{{z{{{{||||||{}|{|{zz{z|{{|{{~}}}||||}||||~}|}|}|{{|{{{{||}||}}|||||{{{{||}|||}|{{|{{z{{|{||z}|||{|z{{{z{|||{|||{||{z{|{||z{||||z{{{{z{{{z|||||{{{{{{|{{z{{z{{{|zz{{zzyz{z{|{{{{{{{{zz{z{{{|||{{|z{zzz|zz|{|{{{{{zzz{zzz{{z{{{{{{{z{{{zz{{{|{||{|{{{{{z{{{}{|||||z{{z{zz{||z|||{{{|{zz{{{{{|{{||{{{{{{{{{{||{||{{z{{{{{{{||{||}|{{z{{z{z{||||{|{{{z{{y{zzz{||}{|{{||{{{{{{{|{||||{z||{{{|{||{||||{z{zzzz|z||{|||||||{||{|}||||||{{|z{|{{|||{{}|}}||{||{||}}|||}}|{|||{{{}||}|{||||{{z|{|{{{{|}}}|{}z{||||||{|}|}{{|z{{{{|{{||}||{z{{{{{{{|{|{|||{{{zzz{{{{{{{}}}||{}||}{}||}}||}}|||||||||{}}|}||{{|{|{}|{||||}|{{{z{{|{||{|||}{{|{{{{|{{{{|{||}{|{z{{|{{|}{|{{{{{|z|z{z{|}|{}{{z{{{zz{{{|{||{z{z{{z{{{zzz{|{{|{z{{zzzzzz{z|||||z{|{zz{{{|{{{{{{|z{{{{{yz{{{z|{{||{z{zz{{{{{z}{{zz{yz{{zz{{{||||{{{z{{{{z||{{|||{{|z{|{{|{|{{||}{{z{z{|z|z|||{}|{|{{zz{z{|{{}|||{{{z{|z|{{||{{|||{{|{{{{{||{|{{|{{z{{{{{|{}||||{|{|{{{{{{||}{||}{{{{{{{z{{{{||||{{||{{{{{|{{}|||{||{{||{{}|}}||}|{{{||||||||{~{{}|{}{{||}|||{{{}{{|{|{{|{||||||||z{{||{{}{{{}{}|||{z|{|{||z{|{|||{{{{z{{||{{||{||{|{z{{z||{{|~}~}}|||{||||||}|}|}||||{||}||}|}}|||{z{{{{|||||}|||{|||{z{{|||{||||{{{{||{|{|}||{|{|{{{{{{{||{{{}{{{{z{{z{|{|{{|{|{z{{||zz{|}{z{{|{{zz{z{{{{{{z{{{z{zz{zzz{{{{||{{z{{{{{z{z||||{|||{zz{{{{{{{{{z{{{{{z{zz{{|z{{}||zzz{z{zy{{{{||{|{{{{{z{{{|{{{}{}{{{{{{{||{{{{||{z{|{zz{{{}{{}{|}|{{{{zz{|{}z{|||{y{zz{{{|||{||}{{||{{z{{||{|{|||||{{{|z|{{|}}}|}{|{{z{{{}|{}||||{{|{{{{{||}|||}||{{{{{|{{|||||}||{|{{{{||||||||||{{{{|{|||||{}|}||||{{}{|}{|||||z{{{{{|{|||}{||}|||||{|{|||{}||{|{|y{{z{{}|{{{}||{{z{{{{||{{|{{|{z{{{z{{{{{{{}|~|}}|{|}{}}}}|}}||{{||{{|||{|||}}}{{{|z{z||||{|}|{z|{{{|{|{{{z{||{{|zzz{z{|{z{|{{{{{z{{{z{|{{{||z{z{z{zz{{{{{{z{z{zzzzz{{{{z{{{{{{z{z{z{z{{{{{{|{z{{z{zy{{{{|{z{|{{z{z{zz|{{{{{{|{{zz{z{{z{{||z{{zz{z|{zyz|{zz|{|yzz{{{z{z{{{{{||{z{z{z|{{{{z|{{|{{zz{{{{z|z{{{|{{z{zzz{z{{{z{{|||{|{zz{{{{{{{{|{{{zzy{z{{||{{{{|{|{{{{z{{|{{{{{{{z{{|{|z{{{||{||{{{z{z{{z{{|{|||{{{zzzz{||{{||||{{{{{||{|}{||{}|z{|{|{|{{||{{||}|{{}{{z{||}||}|{|{{z{|{{{||{|{||}{{{{{z{{{{{|{|||{{{{|{||}|||{{|{{{|{{{{{|{|{||{||{{{zzz{||||{{|{{{|zzz{{{{{{}}}|||}{{|}}}}}||}|~|z{{|{|{|}||}|||||{{|z{{z{|||||{z||{{z{{||||{{|{{zyzz{z|||{{{|{z{{{z{{z{|z{{{|z{{{z{zz{{{|{z{{||{{zzzzz{z||{|{{{zzz{zz{|z{{{{|zz{z{z{z{{z{{{{{||{zzzzzz{|{{{z|{zzz{{z{z{|z|{{{{{z{z{z|zz{{{{{|{|{{zz{zzz|{|{{}|{|z{zz{{{{{{{{{|{{z{{z{{{|||{|||{zz{{{{{|{||||{|{{{{{z{{z|{{{{|z{{{{{{zz|{|{z||{{{{|{{{{{{{|{|z{|{{{{{{{{||||{|||{{zz{||z|{||||||zzz{{zz{}{|{||{|z{{{|{{||||{|{|{{|{{|{{{||{||{}||{|z|{z||{||||||{|{{|{{{||||||||||{|z{|z|||z{||||{||{z|{{||{|{|{|{z{{{z||{{{|||{z{{{z{{||{|{{|{{||z{{yzz{{{{}~|}~}}|}{|~}}}}|}||{{}{{||||}}}{}|{{{{|{{|||{|||}{||{zz{||}|}{{{||z|{zz{{|{{|{|{|{z{{{{{{|{|z{||{zzzz{zzz{{{{{|{|z{{zzz{z{{{|||{|zzyzzzz{{{{{{{|{|{{{y{{z|{{|||{{yzz{{{{z{{|{{{|||z{z{z{zz{{{{|{|z{zzzzzz{{{{z{{|{z||{z{z|{{{{{|||zzzzz{{z|||{|{|{z{z{z|{{||z{{{{{{{{z{{{{||{{z{||{|{|zz{{|{|{|{|{{|z{{{z{||{z|}|{{{{|zzz|{|z{||{|{{{zz{|||||||{|{{{|{{|z||||{||{|{{|{z{{{|{|{||{|{|{{{z{|||||||{{||{z||{{{z{}}||}|||{{{{{}{|||{{||{{{{{|||||}}||{{|{|{||}{z|}{{||{{{||{{{||||||{|{{{{{|||}{}{|}{|{{{z{{z||||||{{z{{{|{{z{|{{{~}}|||}}|||}~~||~||{|{{{{{|||}||{|{{{{{{|{{|{||||{|{{z{z|z{{|{|||||z|{{z|{z{|{|{|{|{|{{{zzzz{{z{||{{{z{z{zz{{|{|{||{{{{{|y{z|z{{{|{{|{zzzzz{z}{{{|{{{{{z{{z|||||{|{{z{zz{{z{{|{{{{{zz{{zzzz||{z{{{z{{{zz{zz{|{{{||{z{|z{{yz{|{{{|{{|{zzzz{z{{|z{{{{zz{{{z{{||||z{||||{z{z{z{{|{{{||z{{{z{{{{|z|||{{|z{{{zzz{{|{|{|{{{|{zz{{{|{{{|{{||{{z{|{{||{{}||{{|z{{{{{|||{{||z{|||z{{{||{|||{{z{{{{{{{{|}|{||z{{|{|{|{|{|}||{||||{||{{|{||||||{{||z|||||{{|||}{{{{{{|{|{{|{||||z{{{z|{|{||z|}|{{z{z{{{||{|||{{z{z{{{z{|{||{||{{{z{{z{{{{{z~~}~|}|}}}||}}}|||}|||{{{|||}||}}}}|||{|{{||{{{{||||{{{{z|z{|||{|{||{|{{z{{|{|{{{{|{{{{{{{{{z{{{{|}{z{{z{zz|||{{{{{{z{{zz{{|{{{{|{||zz{zz{{{{{{{||{z{zzzz{z{{|||{{|{{{{{|zz{|{|{{{{{{{{{zz{zz|{{|z|{zzz{z{zz{{{|{{{z{|{|z{z{{{{{|{|{z{{{zz{||{{{|||z{{zzz{{|z{|{{|{z{{z{{{|{{{{{||{|{{{{z{z{|||{}|{{{z{{z{{{|||{||{{{z{{{z{|{|{{||}z|z{{{{|{{}|||||z{{||{|{{{||{||||{z{{{{{|||||{{||{{{|{{z{|}|}||}{{|{|{{{}}|}{|{}|{|||{{|||}|{}||||{|{{z{|{|||||{{{{{||{|{|||{{|}{{{|||z|||||{}|{{{|{{{|{{|{||{|}{{{|{||{||||{{{|{zzzzz{z{|{||~~||~|}|}{~|||||~}|{|||||{||||||}}|{{{{{{z}|||}}}||||{{z{z||{}{{|||{z{{{{z{{|{{|{|z{z{{{zz{{|{{{}||{{z{{z{|z{z{||||z{z{zz{{{|{||{{z{{{|{{{{||{|{|{{zzzzz{{z{{{|{{{z{{z{{zz{{{{{|{}{z{{zz{zz{{{z|{{|{|{{{y{{{{{|}||{z{z|{zzz|{|{{{{|{zzz{zz|{{{|{||{{{{{zzz|{||{|}|{{z{{zz{|{||||{|{{|z{{zz{{||||{|{{||{|{z|{{{{{|{{{{{{{{{{{||{{|{{{|{{||{|||{||||{{{{{{||||{|{{}|{{z{{{{||||{|{}|{{{{{{{{|{{|||{||{|{{|||||{|||||||{{zz{{{}{|||}|||||{{|{{|{||}|||{z{|{{zz|{|{|||||||{{{||{{|||}||{{{{z{{{{||||~||{z|z{{z|||{|||{z{|z{zzz{z|{{~|}}}}|}}~~}}}~~}|}||}|{|}~|}}}}}||{{|{{{{||||{}}{|z{z{{||||||{|||{|z{{{{|||z{{{}{{|zz{{{{|{{{||||z{{{{{{z{|z{{|z{z{z|{{z{|{{{|{|zz{zzz{{{|{{{|{|{{zz|{z{{{|{{{{|z|{zz{z{{|{{|{{{{z{{{z|{{|{{{{}||{z{{{z{{{{{|{|{{{z}{{{yz||{|z|||{{{z{{{||||||{||z{{{z{|{{||{||{{{|{{z{{||}|||{|||{{|{|z{|}|{||}{{{{z{{{|{|{{|||{{{{{|{|{{|{||||{{{{{|{{|{{||}{|{{{{{||{{|||{{}||{||{{{||||{|||}z{{{{||{{}||||}|{|{|{||{||{|{|{||{{||{{||}|}|||}|{||{{|{|{{|~}}||{{||{|||}|||||~||{|||z|{}{{}|||||{z{||{{{{|{|}|{|{{{{{{|||{{{|||{{{{{zz|||{|~}~~|~}|}{}~~~}~|}}|||}}}{|||}|}}}|{{z{{|{|||{}}||}{{{{{{|{||{|{}|{||y{{{{||{{|{{|{{|z{{|y{|{{{|{{{zz{{z{z{||{{||{{z{{{z{{|z{{{|{|zzzz{{zzz|{{{|{|{{z{{{{zzz|z{z{{{z{{zzz{{{{{{|{|{{zz{|{y{{{z{{|||{z{{{z{{{z||{{|{{{{{{{{|||{{|||{{{{{{{{z{z|z||{{z{{{zzz{|{{||||z{{{{z{{{|{{z{|{{{|{{z{{{|{}|||||z{{z{z{{|{||{{{{{z|{{{{|z||{|{|{{{{{{|{|{||||}{z{{{|||{|{{|{}|}|{{{{|{{|||||||||{{{|{{{||{||||||{{z{||{||{|{||||{|||{{|{}{||||||{{|{{{{z{||||{|}{z||{{{||}{|||{|{{{{z|{{|||}}|}{|{{{{{{{||{}}||{|{z{{{{||{|{||{|z{|{{z{{|||{}~~}~}~}}|{|~}}||}~|}{|{||{||}|}|}||{|{{||{|{{{||}||{||z{z{|{|{{{||z{{zz{z{{||{{{{|{z{{z{{{{{{|{||{{{|z{{{{{||zy{|{{{{z{z|{z{zz{||{zzzz{zzz{{|zz{|{{{z|zzyzzz{{{{{{|z{zy{z{{|{{{|{|{z|zz{zzy|{{{}|{{{{{{zzz{|{{{|{{{z{{z{zzzz|{|||{{{{{{{z{|{{{{{|{{{{{zzz{{{{|{|{{zz{{{{z{{{|{{|{|{z{{{{{{{{|{||}|{z{{zzz{|{{||{}{{{{z|{{{{|}{{||{|zz{|{{{||{}|}{|{{{{{{{{{z{{||{|{{{{{{zz{|}{||{{{{{{|{{{{|||{}{{{{{{{{{z{|{||||{||{||{{|{||||||||{||{{|||{||{|{|{{{y{{z|{|{}|||}|{z|{{|{|{||||||{{z{{z{{{{|{{||}{{z{{{zz{|{|||||{||{zz{{{{{{}~~~}~~~~~}|~}}}}~}}}||}|||}}|}|}}}}{|{||{|||}}|||||{|{{{{{{||{{||{||z{{|zz|||{{||}yz{{z||z{|{|{|{{{|{{zy{{{{{{|{|zzz|{zz{{|z{|{|{|z{{{{yzz{|{{{|{|{z|zzzz{|{{{|{{{{||{{zz{{{{||{{{|z{{zz{zz|{{{|{|z{{z{{{z{|{{|{{||zzz{{{z|{z}{{||{{{{zz|{{|}{{||{{{z{{{{|{{|{{{||}{|{{{{{z{{z}||||z|zz{|{{{|||||{{{{{{{zz||||{{|{{{z{{{{z||{{{}|||{{{z{{||||}{{||z{|{z{{{||||{|||{{{{{|{{{|~|{{}||{z|{{{{||}|{{||{{|{{|||||||||||}{{{{||z{}}|{||{{{{{{{|{{||||||||{{{{{{{}{{|||}}||{z{|||{|||||}}{{{|z{{{{|{}|||{|{|{{|{{||{}||||{{|z{zzz{||{{~~}}~|~~|}}|~~}}}}||}|||{|{}{||}}{||{||{{|{|}|}|{z{{{{{||{||||{{{{||{{{|y{{||{|{|{{z{{{|{{{||{{{{{z{{{{zz|{|{{|{{{{{z{zz{z{||||{{{{z{{zzz|{{{|{{{{z{{{{zzz{{z{|||{{|z{z{y{zz|{{|||{y{{z{z{{{{|{{{yzzzzzz{{{{|{|{{|{{{||{z{{{{||{{{{{z{z{z{||{{z{||{{z{{zz{{{{{{|{z{{zzzz{|||{{||{{{z{z{{z{{|||{|{{{{{|{{{{|{|zz|{{{{{|{zz{{|{||||{{{|{{{{{||||}|{{{{{|{|{|{{{{|||{{{z{{{zz|{||||{||z{|{z||}|{|}||||{{{{{|||{|||||}{{{{{{{|}|||||}|{z|{{|{{|{|{||||{|||{{{|{|||{||{{|{|{{{|||}|}||z{{zz|{{{|{{|||||{{|{{{{|}||{|||{z{z|{zz|||{{~~~}}}}}}}~~}}}}}|{||{|{|||}}||||||||z{{{|{{}||{{{{{{{{{{||{{{||{{yz{{z|||{{|{{{z{{{{zzz{{|{{|{|zz{zzz{{{{zz{z|z{z{{z{{{{||{{{|{z{{{zzzz{{{{{{{z{z{zzzzz{{{}{|{yz{{z|z{z{|{{{|{{z{zzyz{{|{{{{z{{z{z{zz{{zz|{{{{{z|{|{{z{{{{||{{{{{{{z{{{{{{{|{{{zz{zz{z{|{|z{||{{z{z{z{|{|{||}zz|{{{{{{{|{|z{|{{|{zz{zz{|||{||{{{{{{zx{z||{{{{{{|{{{{{{||||{|{{|zzz{z{|{|||{{|||z{{|{z{{|}||{}||{{{{{|z||{|{|{|{{|{||{||||{}|{||{||{{{{{}||||~{{{{z{z|{{|||||{}{{{{|{z{{|||{|||{{|{|{{{|||{||||z||{{z{z{|{|{{}{|{{zzzzz||{}{{|{{{z{z{|z{{|{z}~}~~}}}}~~|~}~|}}}|}{|{|}|}}|||||{{}{|z{{{z}||||||{|{{{|{|{{{||{z{z{{zz|{{|}{||{z{{{{{{{{{|{{{|{{{z{{{{{z{{zz{|{{{{{{{{{{{{z{|{{{zzzyz{{|{{{{{{|{{{yzy|{{{z{z{{{z{{zz{{{{||{{{|z{z{zzzz{|{{z|{{{{{zzz|z{|{{{|zz{z{z{|zz{|{{{|||{z|z{z{{{|{|||{{{{y{|{{{|{|{{{||{{{z{yzz{{{z{{||{{{z|{{z{|||||{{{z{{{{{{|||{{}||{{|{z{{z|{|{|}|{|{|{{|{{||||{|{|z{{{{{{{|{||{|}|{{|{{{z{||{{|||{|z|{{{{{|{|{{|}|{|{|{{||{|||{|||}|{|{{|||||||||{|{{|{{||||||||{|}{{{{zz{|||||}~|{{{{|{{{||{|||||{{{zz||{{|{|{|{|{{{|z{z{{|{|{{|{{{{{{z{zz||{|~}}~}~}~}~~~~~~|}|||{|||}|}}||}|{|{{|{{||||}||{{z{{|zzz{|{{|||{|{z{z||z||{||{}|{{{z{|{zz{{{{||{|{|zz{z{{}|{{{||{z|z{{{{{|{{z{||{zzzzz{{{{{{z|{{{{zzz{{{{{{||{{{zz{{zzzz{|{{{||{{z|z{z|z|{{{z{|{|{zzz|{zz|{{{|{{{{{{{{{{{{|{{{{|{{{z{{{{z{|{|}||{{{{|z{{|{||{{||||{{zzzz{{{{||{||{|z{y{{{z|||||{}{{z{{{z||}|{|||{{zzz{z{||||{|{{{{{{{{{{{{{|||||{zz|{y|{{||||||||{{{|{{{|{||{||{|{{{|{z{|||{|}|}||{{{{|{{|}|||}}}{{||{{|{|||||}}|{{|{{|{|||||||{|{{{|{{{|}{|||||{|{||{{|||{|||}||{{{z{{|{|{|{{|||{{|{z{z||||{|||{|{z{zz{{{|{{}}~~|}~~|~}~|||||||{{|}}|}}~}|||{|||{|{|||}||||{}{{{{||{|{z{||{{{{{{z{{||{|{|{{{{{z{{||zz{||z{{{z{{z{|||{{{|{{z{{zz{z|{{{{{{z{z{z{{{{zz{|{|z{{zz{zyzz{z|{||{|{zzzzzz{z|{{|{|{{{{zz{zzz{z{|z{{zz{{{zzz{|{|{}{z{{{|{{|{zz||{{|{{{{{{z{z{{|{{{{|{z{{zz{{z||{{{{|z{{{{zz{{||{|||{{{{{{z{{|{|{{{||{{z{{{{{{|}{{}|zz|{|{{z||||{{|||{{{z|{{{||||||||z|z{{{{{|||||}{|{{|{{{zz||||}|{{|{{||{{y|||{|||}{z{{|||}{{||||}||{|{{|{{{}|||}}|{{{{{{{|{{|||||{{|{{z{|{{{||||{|{{zz{{{||{{|||{||{{{z||{{|z{|||{|{{{z{{y{|{{{||{{{{{{{zz|{|{{~~~}}}~}~}~~~~}}~}}{}|}}|}|}|}|{z|{|z|||}||||||{{{|{|{{}||{|}|}|{z|{{|}{{{|{|{{{{{|{{{|{||{|{|{|{z{{{{{{{|{||z{{{{zzz{{{{|{||{|z{y{zzz|{|{{||{z{z{|zzz{{{{|{{|{{{z{{z{z|{{||||{{zzzzzz}z{z{||{{{z{{{{{{{{|||||{{{{{{{{||||{{|||{{z{{z{|{|}|{||{{{|{{{{|{{{|{|{{{{{{{{{||||{||{||{{z{{{||{|{|{|{{z|{{{{|{|{{{|{z{{{{z{|||}{}||{||{{{{{{{|||{||{||{{||{|||{}|||{{{|zz{{|}|}|}{||{{|{{{{|}||||||{{{{|{{|{{{}{{}||{{|{|{|{}}}|}}}{{||{{{{|}|||}||{{{{{{|{|{|{|||}|{|||{}{|{|||||{z{|{z{{{{|||}|}|||z|{|zz|{|||{|{{{{{{z{||{{{{~~~~~~}~}}}|}|}|}}}}}||~{{{|}||{|{|{||||{z{{{||z{}}{{|||{{|zz{{{||{{{|{}{{{z{{z{z{|{{||{{{{{zzz{||{{|{{{z{{|z{zz{{z{{|{{{zzz{{{z{||{|{||{z|{z{zz{|{|{{|{|z|{zz{{{{|z|{{{{{{z{z{{{|{z{{{|{{|{|{z|z|{{||||{zz{||{z{{|{{||{{{zzz{{{|{|||||}|{{zzz{|z|||||}|{{zzz{z{{||{|{|||zz{{{{{{}{|{||{|z{{{|{{{|||{|||{{z{{{{{}}}}||{{{|{z||{{{|{}||}|z{|||||{||||{|||{{{||{{{{|||||||}{{{z{|{}|||{|||z|||{{||{{|{{}}||||{{|{|{|}|{||{}|{{|{{||}}||||||{{|||z{{{||{}||{{||{{|||||||||}{{{z{{{{{|||{|{{{|{||{|{|{{||}}}{|{{{z{{{||{{~~}~~~~}}~}{|}||{||}|||||}|||{{|||{||||}{|{||{{{{|{||{}|||{z{{z||{||{{|{{||{|{z{{y|{{{{{|||{{{{{{{z{|zz||{|{{{{z{z||z|{{|{y{{{{{zy{{|{{{{{|{{y{{z{{{|{{|{{{z|zz{{z{{{{{{|{z{{zz{zz{{|z{{{|z{{{z{{{{|{{z|||zy{z{z{y|{{{|{||z{{z{{{{{{||{|||{{{{{{{{z{{|{||{z{zzy{zz{|{{|{}|{{{{|{{{{}||{||{{{|zz{z|{|}|{{|{zzz{{{{{{|{{{||{||{{{{{{{|||{||{{|{{{{{|{|||||{}{{|{{{{z{||{{|{|{{{{{|{{|||}|||||{{{{|{|{||||}|||{{{{|{{{|}||||||{||{z|||}{||||{|{{{{{{{{|{||z||||{|{{{||}|||}{|{{|{{z{{||}}|||||z{z{z{{{|{|{{|{z{|{{{{{z|{{{~~~~~~}~}}}}||||{{|}}}}}|}{{|{{{{{|||{|||{||z{z{{z{{{{{||{|{{z{{zz{{||z}{|{|{z{{z{{}|{{||{{{{|{zzz{{|zz{z{|{zzz{zz{{|{{z|{{zz{{{{{|{{{z|{{zz{zz{y{|{{z{{{|z{{zz{{{{{||{{||{z{{{{zz{{z{{{{{{{{zzz{{z{{|||||{{{{{z{z|||{|{{||{zz{{{{z||{zz{|zzz{{y|z||{|{||}zz{{{z{{{{|z{{|{|||{{z{{{||{{|{{z{{{{z{{|}|{{{||z|z{{{{{||{{{{||{{|z{{{|{|||{{||z|{z{{{{{{||||{||{{|{{{{|}|{{|||{{{{{{z|{}{||||||{{{{z|{|||||||{||z{|{{z{}|}|||||{|{|{{z|}}|||{|{{{{|{{{{||||}|||||{{|{|{|{|||{}||{{|z{|{|||}|{{{{{{{{{z{||{{|}||{{{zz{{{|{|{~~}~~}~}}||{|}}||}}}}}||||{{|{|}{|||||}{{||{|{|||{|z|{|{z{|{{z{|{{||||{{z{|{{{{{|{{||z|{|z|z{y{{|{{{z|{{{z{{z{{{{|||{|z{{{{zzz|||{|||{{zz{{{{z{|{z}||{zz{{{zzzz|{z|{|{{{{zzz{y{||z{{|{{{zzz{{z{{z|{|{|{{z|z{zz{{||||||{||{{z{z{|{{{{{||{{|{{{{|{{||{}|{{{|{z|||{{{{|{{|{{{||zz{|{||}{||{|z{{{{{{{|{{}{{{|{{{zz{|z{|||{{{|{{{{z|||||}||{{{{|{{|{|{{{{}|{{{||{{|||||{|{{|{{{{{{{{|{{|}|{{{{{{||{{|}|}|}}}{|{{{{{|||}{|}{||{|z{|{||||||||{{{|{{{{{{|{|{}|||||||{|{{||{||{{{{|{{|{{||{}|}||{{{z{{{{|||||}||{}{{{zz||{|{~~}~~~~}}|||{|}}}}|}}{}|{{{|||||||||||||{{{z{z|{||{{|||{{zzz{{z|{||{{{|{z{{|{z{|{{{|{{{{{z{{{|z{|{z{{{|{{zz{{{z{{{|{z{|{z{{zzz{{{|z{||{{z{{zzzz{{|{|||{zz{zz{z{{{{||{|z{{zzz{z{{|{||{{{z{zzz{{{{|z{{|||z{{{{{{y{||{{{{{{{{{|z{{{{{|z|{||z{{{{z{{z{{{|{|{z{|{{{z{{{{{|{|z{{z{{{{{|||||{|{z{z{zzz{||{{||{|{{{z{{z{|||{{{|{{}{{zz{|||||||{{{{||{{|||{|{||||{{{{{|{{||}}{~||{|{{{{{{|}|||||{||{|||{{|||||}}||{{{{{||}|||}|}|{{|{|{||||||{|||{{{{{||{|{{~||}||{{{{{{|||}||}||{{z{{|{{{}{||}|{{{z{{{{|{|}{|}|{{{z{{{z{{{{{~~~}}~~~}}|}}}}|||}||}}||}|{}{{{||{|{||||||{{{{{{{{{{||z||{{{zzz{{{{{|{|||{{{{{{z{{|{{{{{{{z{{z{{z{{{||{{{|zz{zz{{{{|{{{{|zzz{|zz{{{z{{{{{zzz{z{{{|{{|{|{{{zz{y{zzz{{||{||zz{{{zzz{|{zz|{|{z{{{zzzz{{{z|{zz{{z|{|z{{{|||{{{{{{zz{z{{{{{z{|{{{|zz{{{{{{|||{zz||z{{||z{{||||||{z{z{z{||{{|||{zy{zz{{{{|{||||{{{zz{{z|{|{{}{{|zz{{zz{{|{||||{z{{{{{|{{}|{|{||{{{{{zz{{{}}{|||{|||{{|{{||||||||||{{{|{{|{|||}||{{|{|{{||||}||{|{||||{|{|{||{|{|z{{{{{{{}||||{}||{{|{|{{||}{|}{|}|z{z{{{||{{|}||zz{{{{{{||}{|{{|{{{{{z{{|{z|~~~|||}{|{|}|}}}}|}|{|{||{{z{|||||||z|{|{{|{|||{{||{{{{y{{{}{{|{||{z{{z{{{{z|{{|{{{{{{{zzyy{{|z||z||{z{zz|{{zz{{{||zzzz{z{{z{|{{{||{{zzzzz{{{{z{|{z{{z{z{{{{{{{{|{|{{y{{zzz{z{|{{{z{|{{zzz{z|{|z|{{z{{yz{{{{{{{{|||{{{z{{{{z|{{|{{||z{{z{|{{{{|{{{|z{{z{{{{{||z{{{|{{{{{y{{|z|{{|{{{{{z{{z{|||{{|{|{{{|{{{{{|{||||{{{{{{{{z{|||{||{{|{zz|{{{|{{|||||{{|{{z{|{{{{{|||z{|{z{z||{{||||{{{{{|z{{{{|}{|||{{|z|{{|}{{}|{|}{{{{{{{{}{||||||{|{{{z||{|{||||{|||{{{{{|{||||{{{{{{z{|{|||{{|||{z{{z{z{|{|{|{||z{{{z{{z{|{{~~~}}}}||}||}}}||}~}|{||{|z{{|}||}||{{z{{{{{{||z||||{{{{{{{|{|{{|||zz|z{z{z{|{z{{{{|zzz{{{z{{|{{{{||{zzz{z|z{{{{|{{z{{{{z{z{{{||{{}{z{{z{z{{|{{|{{|{{{z{{{z{{||{{|||z{z|z{{y{|z{{|{{{zz{{{{{{{{{|{|zz{{{|{{{{{|{{|}|||{{z{{|{{{||{|{{{|{z{{|{||{{{|{z{{zzz{{|z||||}{{|{{y{{{||{{||z{z{{{z{z{|||{|{{{{{|{zz||{}{||{||{{{|z{|{||||~||{{{{|{{z||{}}||||{{{{{{|{{|||}}{|{|{|z{||||{||{|{{{{{|||{}||}||{{{||{{|{||{|||}|||z{|{|{|||||{|||{{|{z{||||{|||}|||{|{{{||{|{|||{{|zz{{{|||||||||{{|z{{|{||{{}}||{|z{{{z{|||{~~~~}}|}||||}||}|}}~}}{|{{|z{}|}|||{|{{{{zz||{|||{|}{|{{zz{{{{{{{||}{{{z{{|{{||{|}|{{{z{{|{z||{{{|{{{{{{{{z||{z|||{|{zz|z{z{{{{|{{{{zz{zzzz{|{{{||{|{{|{{{{z{{}||{}|{{{z{y{{{{{z{{||{z{{{z{{{{{{z|{{{z{{{{{z{{|{z||{{{z{{{{|{{{|}{||z{{z{y|{|{|{{||}{{{{|{zz{{{||||||{zz{{{z{}|{|||{{{|{z{z{||||{||{|{z{{{{|{||{|{{{|{{{z{|{||{|||||{{{|{{{|||{|{||||{z|{|z{{|||||{{{zz||{|z{}{}||}|{{||z{||{|||}||||{|{||{{||||||}||{{|{z{{||||{}|}|{||||z|||||}{}||{{{{z|{{||{||}|}{|{z{{||{|||||}|{{|{{{{{||||||}{{|z{{z{{|{||~~}~|}{|}|||}}}}}}|}|{||{{{}|{||}|||z{{{{{{{|||{|}{{|{{{{z{{{|{||||{|{y{zzzz||{{{|{z{{{{z{{{{|{{{{|{z{z|{z{{z{{{{||{zz{zzzz{{{{||{|{{{{y{{{{|{{z|z|{{{zz{{z|{{|||{|{z{{{zzz{{{{{{|{{zz{{{{{z|z{{|{{{{|{{|{{{{{{{{{{{z{||z|z{|||{||{{{|{zz{{|{{{{z|}{z{zz{{{|{|{|{{||z|{|{{{{{||{|{|{{{{z{zz{|||{||{{z||{{z{{||{{{{|{{{z{|{z|{|||{{}{|||z{{z||||{||{|{{{{{{z||{}||||{{{||||{|}|||}{|{|{{{{{|{||||||}}{||{{{{|}|||||||{{{{z{z||||{}|{|{{{|{{|||||}{|}{||{{{{|{{z{||}|{{{{|{z{{|||{|||||z{z{z|||||||||{{{{{{z{{{{{{~~~~|}}}}|}||}|}}}|}|||{{{||{{|||{||{{z{{z{{||}||{|{}z{{{z{z{{|{||{|{{{z{zzz|||z{|{{{{|z{{zz{{|{{|{|{{zz{{zz|{{zz{{zzz{z{{{{{{|{|{|{{z{zz{z{z|{{{{||{{{{z{zzzzzz{{||z{{z{z{{{{{{{|{}{{y{{zzzz{{{{{{|{zz{zz{z{|{{|{{|zzz{{z{z|||{{{{|zz{z{z|z{{|{z{|{zz|z{z{z{|{|{|{|{{z{zzzy{{|{||||{{{{{{{{z||{{{|}{{y{{{|{{{||{|{|{z{{z{{{{|{|||||{{z{z||{|{{|{||||{{|{z{{{{{}|{}{{{{{{{{{||{||{||{|{|{|}{{||{|||||{|zz{{||}||{||||{{{{|zz|}||}||{{{{||{{{|||||{|||{z{{{z|{|||{{|||{{zzz|{{||{{{~{{|{{{{{{{{{|{{{|{{{z{{{{{{|}|~~~~}}}}|{|{}{||}}}}{|{z|{|{|||{}{|}|{|{|zz{{||z{||||{|zyz{z||||{|{{z||z{{{z{||{{{|{{{{{zz{{|z|zz{{{{z{zz{{{z{{{{{{|zzzz{{zz{z{|{{{{{{{z{{z{{{|{{z|{{{{{zzz{z{{z{{{{{zz{zzzz{zz{{{||{zzzzz{zz{{{{|z{z{{{z{{z{|{{z{|{{{z{|{{{{||{{||||z{{{{{{{|{{|{{|{{{zzz|{|{z{z|{|{{|{|z|{{|{{{{|z{z{{{z{{||{|{{|{{{{{|{zz{{||||||{{z|{{z|{{||||{{z|{z{{{{||||{|||||{|{{{{{||{{|{{|{{|{z{{|}{|||}||||{|{|z{||{{}|{|{|{z{{{{{||{|}|||{{z{{{{|}|{|||{|z{{{|{||{|||||}|||{{{|||||||||{|zz{zz|||||||}{|{z{z{z{{|{z{|||{{{y{z{{{z|{z~~}~~}}}||}|}}}||}|}|||||{||}}{|}|||{{z{{||{|{|{{{{|{{|z{{zz{|{|}{||{{{z{z{{z{|z{||{|zz{zzy{|z|{{||{|zzz{z{z{z{{|{{|{{zz{|zzz{{{{{||{{z{zz{y{||||||{zz|yzzz{{||{z{||z{zzz|zzz{{{{{|{{{z{{zzz{zz{|{||{{{{{{{z{z{{z||{{z{z{z{zz|{{{||}{zz{{{{{{{z{{|||{|{{{z{{{{{{z{}|{{z|{z{|{z{{|||{{z{{{{{z|{|{z{}|{|z{{{{||{|{{|z{|{{{z{z{{{|}||}{{|{{{z{|||{|}|{|{{{{{zzz{{||||||{z|{{{{|||{||||}{{{{{{|{z|{||}|||{{z{{{{{||||}{||{{{{{z{}||{||{||{{z{{{|z{{{{||}|{{{{{{|||||||||{|{z|{|{{{{|||}|{|z{z{{|{|{|{||||z{z{{|{{{||{~~~}~}~~}}|}|}}}}{}}{{|||{{{|||||{|||{|{{|y{||{{{|||{{|{z{zy{{||{|{{{|{z|z{{{{{{{{|z{{|zzzzz{||{{{|{|z{{zzz{|{{|{zz{zz{{zz{{{{|z|||{z{{{z{z{{|}{{{{{{z{{yz{z|||{{{{|{z{z{z{{{|{{{|{|{z{{zzzzz|{{z||{{{{z{z{z{{{{|{{{{{{{|z{{}{|{{|||{{{{zz{{z{{}{|z}z{{{z|z{|{{{{||{|{z{z{{{{||{{}z|{{z{|{z{|{|{{|{|{{{{|{{{{|{{{||{{|zz{|{{{|}||{|{z|{{{||{||{}|{|||{{{{{{{{{||||||{z{{|{{{|}|||||~|{|{{{|}||{|}}|||z{|z{{{|||{|||||z|{{|{{||}||||}|z{{||{||||{|}|||{{||{{{||||{{|}||{{|{|{||||||}{{|{|zz{z{|||||{|{z{zz{{{{{|{|~~~||}~}||{}~|}|}||}||{|||{{|||||||{{{|{{{z||||||{|{{|{{{{{|{|{{{z|z{{{{{{z{||{|{|{{{{{z{z{{|{{{{|{{z{zz{{z{{{{{|z{{z{z{{{{z{{|z|{{{z{z{zzzz{|{{|{|{{{z{{{zz{{{{{|{zzzzzz{z{{{{{||{{{{zzzyz{{|{|{{{{{{{{{{{{{{{{{||z{{zz{z{|{{{{||{{{{{{{{|{|{|{{{{z{||z|{{{{{|{{{||z{zz{|{{{z{{{{|{{{{{{z{||{|{|||zz{|zz|z{z|{{{||z{z{zz{z}z||||{|{zz{{{||||{|{{}|{{{{{|{{{|||{|{|{z{{|{||{||{||}}{{}{z{{}||{{||||{}{{{|||||{|{}}||{||z{{{|}{||||||{{{{||{||||{|||||z{{{{z||||{{|{{||{|||{z|{|||{{|{z|y{{{{{{{{|}||z{{z{{{{||{z~~}~~}~}|}}}}}||}|}}|||{{||{{||z{||}|z{|{{{{{|{{{{|||{{zz{{{{{{|{|||{z|{z{zz|{{{{||{{{zzz{yzzz{|z{{|z{{zz{y{{{{{|{{|z{{zzz{zz{{{{|{{{zzzz{z{zz{{{{{{{|z{zzz{{{z{{|||zzzz{{z{{{{|{{|{z{z{{{y{{|{|{|{|{{{y{z{y{||{{|||{{z{z{{{{|z{{|||{{{{{{z{{|||{||{{{{zz{z|||{{|{||{{|z|z{zz{||{{|{{{|z{{z{||{{{||z{{z{z{zz{|{{{|{|{{{||z{z{|||}{||{{z{{{||{{z|||{{{zz|{z|{{||}||{||z{z{{|{|}|{|||}|{{{|{{|{}{|{{||||{{z{{{|}||||}|}{{|||{{|{|}||||{{{z{{||{{{|{|||||{{|z{||{|||||||{{{zz{|{||||||{{{{{{zz{{{|||{}|{{{z{z{z{|{{z~}~}}|}||}}}}~}}|~}{||{{|z{}||||{}{z|{{z{z|{{{{|||}{{{{{{{z|||{{||}{{{zzz{{|{{{{{|{{{z{{{{zzz|z{{{{{{zzzz{z|z{|{|{|z{{z{z{z{{|{{{{{|zzzzzz{{|z{|{{|{z{z{zzzz||{{{{{{zyzy{zzz{{{z{||{|z{zzyz||z{{{|{{{{{{{{{{{{|{{|{zy{{{{{{{{{{{|{|{z{{zz{z{{|{{}||{|{zz{z{{||{{{{{{{z{|z{z{{{{{||{{{{{{zz{{|{{{{|{|zz{{{{z||{{||}||z{{|{|{{||}{|||{{{z|{|{||{|{{{{|{{|{{{{{|}||{|{|z{{{{|{{{{||}||{{|{{{||{{{|}||||{{{{{|{{||{|z||||||{{{z|{||{{{}|{{{{{z||||{||||{{z|||{{{{||}||}{|{{{{z|{|||{}|{|{{z{{z{{{||{{||{|zzzz{z{{{{|~~||}}}}}|||}{}}}}||||{{|||||||{||{z{{{{{|{{{{{||{{z{zz{{z||{{{{{|{{|{z{zz{{{{|||{{|{z{zz{{{|{{{|{{zz{{z{z{z{{z{{{{{{{zzz{z{|{{|{z|z|{z{zzz{|{}||{{{{z{zz{{{|z{{||z|z{{{|{{{{z|{{||{zz{zzz{|{{|{|{zz{z{{{{{{||{{||{zzz|zz{{{{{||{{zy{{|z{{{{{{{|z|{{z|{{z||{{{||||{{z{{{{z|{||{||}{{{{|{{{||}{{{}{z{z{{{{z{||{|{{|{}z{{|z{|||||||||{{{{{|{z||||||}|{{||{{z||||||}||{z{|{{z{~||||}|{||||{||||}{}||||{|{{{{|{}|||}}}|{||{{z{||||||}}{|{{|{{{{|{|}|}}|{{{{z{{|||}|||{{||{|{||}{|{{||{{{{{z|zz||{}{|{{|z{{z{{z{||{{}~~}}||}|}}||~}~}||{{|{z|}||{||{{{|{{{|{{{||||||{|}z{{{{{|||||{|z{|zz|zz{z{||||{{{|{zzzz{{z||{||{z|{y{z{{|{{{||{{{{|yy{{|{{{{{||zzz{zzz{z|{||{|{{{{zzz{{z|{||{{{zz{zz{{z{{{{|{|{{{{{{|{z{|{|{||{|z{|{{{{|{{||{{|{{{z{z{{{|{{||||z{z|z{|zz{{|{||{|{{{{{z{z|{{{{|{|{{{{{{z{{{|{||{{{{{|{z|{|||{{}|{{{{{{z|||||{{|{|{||{{{{{||}}|{|{{{z{||{||{|{|||{|{{{|{{||||{||{|{{|{||{|||||||}|||{{|||{{||}|}||z|{{{{{|}||}||{|{{{{{}{||{||||{{{{{||{|||||||}||{{||{|{}|{||{|||{{{|{||{|}|||||||{|{z{{{{|z||}{{|||{z{|{{{{{~~~}~~}}}|}|}|~}}}|~|||z|{{||{|{}}}||{{{{{{z{||{{||}z||{{z{{||{|||{|{||z|z{z{||{{|||||{{|{{{|{|{{{{}yz{{z{{{{|z{{|z|{z{zz{zz||{z||||{{{z||z{{{|{|{|{{z|{z{zz|{{{{{||{{{{{{z{z|{{{{{{{z{{{{{{{{z{{|{{{{|{||z{|{{{{|}{{{zz{z||{||{||||{|{{{|{{|{||{}||{z{{{{{|{{|||||||{{{{{{zz}||{|{{{{{{|{{{{|||{||||{z{{{{{{{z{||{{|{|{{{|{|{{|||||{{{z|{|{}{|}{|||{|{z{{z{|{|||||||{z||{{{||||||}}{{{{||{{||||}}}{}{|{{|{{||}}||}||{||{|{{|||||{||||{{|{{{{|||||}||{||{|{|||||{{}}{||{z{|{|||}|}}|}{{{{|{{{||{{|||||{z|z{||{{{z}~~{||}{~}}|}|}}|||||||{z|}|||||{|{{||{{{{||{||{|{{|{z{{{{{{z{{||{z{z{{{z{{|{{{{{{zzzz{{{{{{{z{{{zz{zz{{{{zz|{|z{{{{z{z{z{{{{|{|{z{z{{zy{{{{z}{{|{{zzz{{zz|{|{||{{{{{z{zzz{{{{{||{{zz{{{z{{{{{{{{{{zz{{{z||{|{{|z{z{{{y{{{{z{|{}|{{{z{{{{{{|{||{{{z{z{z|{|||{{{{{{{z||{{z|{{{|||{z{{{|{{{{{|}{{|{{{zz{{z{{||{{|||{{||{{{{{{||||{|z{|{|{{{{|{|{|||{{{{{zz{||}{|{}||{z{|{|z}}|{||||{{z{||{{{}|{{}|}|z{|{{|{|}{||||||{{{|{{{{||{{{}|{||{||{|{{||||}}{{{||{{{{||{|}||z{|{{{{{{|||||||{{{|{{{{{|{||{}{|z{{zz{{{|||{~~}}~|||}}|}|}|}||{||{|{|||}{|}}}||{z|{{{}|}{|{||}{z{|z{{|||{|z|{z|{{z{zz|{{{|||{{{{|y{z{|}|{{|{{{{{{{z{{{z|{|{{zz{z{z{z{{{|{{|zz{{{{{{{z{{{{{|{z|{zz{z{z|z|{||{{{z{{{{y{{{|{||{|z{zzz{{{|{{{{{{{{{{{{||{||||{|{|z{{{{|z{}|||{|||{{{zz{{{|{||{{||{z{z{|{{||||{{{{{{{{{{z{|{|{|{||{{{{|z{{|{|||{||{{{{{{{|||||||{{z|{{||{{{|}}{||z{{{{{|{{}{}|||}|{{{{{{z{|||||||||{zz{{|{{|||{|||{z|{|{{|}|||||{{{{|||{{{}|}|||||{{{{||||{|}}|{|{{{{||{||||||{|}|{{{{{{{|{|||}||{|{{{{{{{|{||{|{{{z{zz{zz|||{|||{z{{zz{{|z|{{~~~}|}|||}}}~}||||~|||}{||||||||||||||{{{|{|||{z||{{|{{{{z{{|{{{{{}{{{{{z{{{{}{zz||{z{{zz{z|{|{{||{{{{z{{zz{{{{{{{{z{{zzz{z{{|{{{{zz{z{z{zzzz|{{|{|{{|{z{z{{|||{{{{{{{z{z{{{{{|{}{{|{{z{{zz{|{{|{{{z{{z|{zzz|{||||{{{zz{z{{{|{{{|||z{z|{{{|{|{|||||{{|{{zz{{||{||{{{{{{{{{zz||{{|{{{z{{{zz{{{{||||{|z|z{|z{|{|{{||{{{{z|{{{{|||||||||{z{{||{||}||}}{{{{{{z{}||||{}||z{{z{{{||}|{|||z{{|{||{{{||||{}}{{{z|{{|}||}}|||{{{{{{{||{}{|||{z{{|{|{|||{|{|}{|z{|z{|{{||}}|}|{{z{z{{||{||}}}||z|{{|{|{||||{{{z|{{{{{|{{||~|~~}}|}|||||}}~}|||{{|{z{|||{|}|{|z{|{{{||{}||}|{z{zz{{z|{{{{|{{|{{zz{{z|{z{{|{{|{zzz{z{||{{{{{{z{{zz{z{z{|{{|{|{{|{z{zzz{|z||{{{zz{zzzzz{{|{z|{{{{{z|z{{|||z{{|y{{|{z{{{{{z{{{{|z{zzy{{{{z{z|z{z{|{{zz{{{{{{|{|{z{z{{|{{|{{|{||{z|zzzz|{{|||{||zz|{z{z{{{{|z||{{|{z{{{{{||{|{{{{{{{{zz{{{}{{{{zz{z{z{{{{{{|z{{{{{{{{{zz{||||{{{{{z{{{{{|{|{{|}|{{||{{{{{z{{|{||{zz{{{{{||{|{{|{}{z{{|{||||{{|||{z{{{{{|{}|{{}|}|{|{zz{|||{||{{|{z|{{{{{||{{|||||{{|{|{|{}{||{}{{|zz{{|{{||||||||{z|{{|{|{{{{|||{{{z{{{{|||{{}~~~}|}}{||}}||||~}||{{|{z{}|{||}|||{{{z|{z{{||{|{||{{{{{{{{{|{{{|}{{{{z{zz{z{{z{{{|zz{{zyz{z|z|{{{zz{zzz{zz{{{{|{{{z{z|{zz{|{{z{|z|{z{zz{{z{{{|z{{{z{z{zzz{{||{{|{|{zzyz{{z{zz{{z{{{{z{zzzz{{|{|{|{{|z{z{z{{{{|||||{{zz{{z{{|{{{{{{z{{{{{{{|{{{{{|{z{{zz{z||||{||{|{{{{{{{{{|{|{z|{|z{zz{{{{|||{{{{z{{zz{z{{{{||{|{{{{{{|{z|||||{{{{{{{{|{{{{|{|{|{{|{{{|{|||{||||{z{z{z{{||{{}|{|{{{zz|{{||{||{|}{{||{z{{||}{{|}||{|{{{{{|{|||}|||z{{zz{{||{|||||{|{{{z{|||||||||{{{{{{{{{{{|||||{{z{{{{{{{||||{{{{{zzz{{|{|{{~~}~}}}}|}|}}}}}}|}||}{|{{||{||{|||{{{z{{{|{||{|{||z{{zzz{{z|||||{||{|zz{{{{|{{{{|||z{zzzzz{{{zz{z{{zz{{{zz{z||{{z{zzyz{zzz{{{{{||{z{zzzzzz{z{z|z||{z{zy{zy{{y|||{}{zz{z{{{zz{{{{{||{z{{z{z{{z{|}z{zz{zz{zz{{|||||{{{{{{{z{{{{||{|{zz{z{z|{{|z||{||{{|z{{{{{{{{{{|{{{{zzz{{{{||{{||{{{z{zzz}||||||{{{{{z{zzz{|{{||{{|{{{{{z{|||}||{{{|{zz{{|{{||{|}{z{{{{z{||{|}||||{{||{|{{}{||{|||{{|{{|{{|||||}|||{|{{{{{|{|||||{{{|{z{{{{|{{|||{z{||z{{||{||{|{}{{{|{{{{z|||{||||{{{{z{{|{|{||{|zz{{{{z{}{{|{|{z|{{z{{z{{|{{~~}~~||||{||}}|~}}||{{{}|{|{}||{||{|{{|z{{|{{|{||||{{y{{{{|{{{{|||{{{{{{zz{{{{{{|{|zz{|z{z{{{|{{|{|{{z{zyz{{{{|{|{zzz{zzz{z|{||{|{{{zzz{zz{{{zz|{{{{{{zz{{{z{z{{||z{{{{{{zz{{{{{|||{zzz{z{z{|{z|{{yz|zz{zz{{{{z{z{|{{{{z{{{{{||{{|{{z{{z{{{||{||||z{z{z{{z{||{{{||z{z{|{{z{|||{{||{y{{{{zz{{||{||{{zz{|{{{|||{|||{|{|{{{{{{|{{|{||z|z{|{|{{||}{|}}{{{{{{zz{||{|{}||z{{|{z||||||||}{{{z{{{{|||||{|}{{{{{|{|{|||||}||||{{{z{|{{||||}{{|z{{{|{|{{|{||||zz{|z{||{||}||z|{z{z{{|{{|{{}}{{z{{|z{|{{|{{||{{{z{z{{z{{{{~}~}|~}{}{}~}|||}}|{|{||||||||}||}|||z{z|{{|}{||||{{{zz{{{|{||{|{||z{z{zzy{{|{{{{|{z{{{zz{|{{{|{{zz{{|z{{|{{{{{{|{z{{{|yz{{|z{{{{|{z|z{zy{{z{{z|{{|{{{zz{zz|{|{|||{z{{zz{zz|{{|||{{{{z{{{{z{{{{||{{z{{z{z{z{{|||||||zz{{zz{||z{{||{{{{zz{z||{{{|||{{z{zzzz|||||||{{{|{|{zzz{{{|||{{{{{|{{z|||{{||{{{{{{|{{{{{{{{||z{z|{|{||{||}||}{{z{{||{|{{}||||{||{{{zz{|||{{}{|{z{|{|{|}|{|||}|{||{{{|{|{|||}|}{|{z}|{{}}||||}|{||{||{|{|}{||}|{|{|{|{{{{{|}|}|{|{|{{|}||||}||{|{z{|{|{{{{|{||{}{z{z{z{||{||||{{{}{y{z{{||{~~~~|}|||||}}}~}}}||||{{{{||||||}||{{|{{|{|{|{|{|{}z{z|{{z|||||||||z{z{z{zz|{z{}|||{{zz{zz{{}|{{zz{z|{{{z{{z{|z{{|z{z{|{z{{z|{{{|{{{{{zzz{z{|z|{|{{z{{{z{|{{|{z{|{{{{zz{{{z|{{{}||{|{{{{{zz|{|{|{{z{{{|{zz{|z|z{|{{{|{|{{z{||{{||||z{z|z{{|{{|||{|z{{{zz{z||{{{}{{{{{{{|zz{{{{||||{{{{{{{{|{{|{||{{||z{{{z|||{|{|{{{z{|z|z{|||||}}z|{{|{{{||{|{}||{{|{|{z{{}}|{||{|{{{|{|z{}|||}}|{{{{{{{{|{{}{||}|{{{|{{{{|||||}|{z{{{z{|||{}|||||{{|{{{z{|||{}|||{||{{|{{|{{||{|{{{{{|{|||||{||{||z{z{|{||{|||{|{{{{zz{z||{{|}~~~}}}~||||}|}|}}}}}|||{{|z}||||}|||{{{{{{{{||}|||||z|{|{{z|{|{{|||zzz{z||{z{{z{||{|z{z|{zz{z|{|||{z||zz{z{{{z|{{|{{zzzz|{z{{{z{{|{zz{{z{yz{{{{|{{|zzzzz{zzz{|{{{{{{{z{{{{zz||{{{{|{zz{{{{zz{{{{{{|{|z{{{{zz{{||{|{{{{||y{|{|{{{|||{z{zzz{{z|{z||||{{{{{|{z{|{z{|}{{{{{{{zzz{{{{||{|{{{|{||||{|{|{|{{{|{{{{{{|{{}||||{z{{{|z||{{|||{{{z||{{|{{|||||||{{{{{{|{||{|||{{{{{|{{|}|{{}||{|||{|{|{|||{|{|{{{{{|{{|||||}||{zz{{{{{|{||||||||{z|{{{||{{{}{}{|{{|{|{|{||}|}||{|{{{{|||{||||}|{{{{{|z{|||{}{}{z{{{{z{{{{||~~~~}||}~{||||}~}|}||||{{{||{{{|||||z{{{z|{{{{||{{{|{{{z{z|{|{{{{{{{z{{{{zzz||z{{{{{{{{|zz{{|{{{{|{{{|zzzzzz{{z{z{|z{{{zz{z{{|{z{{{{|zzzz{z{{{|z|{{|{{{z{{zzz{{{{{{z{z{|{z{zz|{y{{{|{{{{zz{{z{{{||{|zz{{{z{{z{z|{{|{{{{{zz{{||||{{{|{{{{{{{{{|{{{|||{z{zz|{z{{||||||{|{zz{zzz|{{|{{{|{{{{|{z{{{|{{||{zzz|z{|{|{|{|{|{{{{{{{{{{|||||{{{{||{|{{|{|||||{|{{{{z{{{||}||{|{{|{{{z|||{{|||{{|{{||{|}{|||{|}{{|||{{||||}|||}{|{{|{||||||||{{{{|{{{|{{}{}|||}{||{|||{{||{||}|{{y{{|y{||||{||{|z{|z{z{{{{{z||zz{z{z{{{{||{~~~}||~|{||||}}}}}|{{||{{z}z|z{|{}{{}|z{z{|{|||{}||{{z{{{{{|{|{||z{z{z{{{z|{{{z|{|{z{{z|{{z{}{||{{{{{{{|z{z{{{{|{{{zyzzzz{z|{{{{{{z{z{zzz{{|{z{|{|zzz{z|zz{|{||{|{{zz{z{{zz|{{{{|{}{{{z{{zz{z{{{{|z|{z{z{{{|{||{{|{z{{{{{{{|{{{||||z|z|{{{{{|{{{||z{{{{{z{{{{{z|}|{{{zzz{{{||{z|{|{{{{{{{{}{{|{||{|{{{{{{{{{{|{||}{|{z{z{{{{||{|||{{{{{|||}|}|{|}|{|z{z{z{{||{||{{|z|{{{z{||{|{}}|{|{||{||}||{||||}|{|{{{{|}||||||||{||||{|||{}}|||{z{{{z|{|}||{}}|{||{{zz{|{||}||{{{{{{{{{||||||||{z{{{|{{|{|{{|||{}{z{z{|{|||~~~}||}~}||~||}}}}|{}z{|{|||{{|{||}|{{{|{|z{|{|{{|}{|{z{y{z{{{{||{|{{|{{{{{{{{{z{||{|{{z|{z{{||{|||{{{zzzzz{|{{{|{|{{{zzz{z{{{|{{{{z{{zzzzzz{|{zz|||{{zz|zzz|||{|||{{z{{{y{{|{{{||{zz{z{z{{z||{{||{{{{{{|{{{{{{|{z||{z{|z{z{{{{{|}|{z|{{{{{{{|{{{|{{z|{z{{{{|{{{{||{||{{{|{||{{|}|{{{{||z{{{{{{{{}|{z{|{zzz|{|{||||{{{{{|{z{|||{{}{{{{{|z{{|||}|{|{|{{{{{{z|||{{|||||{{|{{{{}|||}||{{{{{{||||{||{|||{{|{{|{{}|||||}|||{{{{|||||{||||||z{|{{{{||||}}{{{{|{{||||||||{{{{{{{{{}|||{|}||{{{z{{{{||{||||{z{{z{z{{|{{|~~~~~}|}}}||||||||}}}}{{{{{|z||{{z{|||{{{{{|z{|{{{|}{||{zz{{z|||{{{{|{{{{|{z{{{{z{|{zzzzz{z{z|{||{{|{{z{zzzz{z{{|{{{{z{z{{{{{{{{{{{{|zz{|{{zz{{zz{|{{{{{{z{{{{{z|{{|{{z{{zz{{z{|{{{{|{{zzz{{z{{{{z||{z{z{{{z{{z{|{{|{{{z{{z{||{{{{{||z{z{{z{z{{{|{||{{|{z{{{|z||{||{|{||{{z{{{|{{||||{z{z{{{{{||{z{{{|z{{{zz{{|{||||||{z{{|zz|{||||}|{|{z{{{z{|{{|{{|z|{{{{zz||{|{|||{{{{{|{{||{|{|}}|{{{{|||{||||||}}{{{{{{{{}||||||||z{|{{{|{|}|||||{{{zz||{{{|{|||||z|{{|||||{{|||{{{z{|{z{{||||||{{z{{{{{||||||{z{{{z{zz{{||||~~~}}|||}}||}}||}}|}|{{z{|{{|}||{}|||{{{|z{z|||{{{||||{|{{{z{{|{{|{|{|{{{{{{{{{|z||{{{zzzz{{{|{{{{{{{{z{z{{z{z{|{{{|yzz{zzzz{{{{{{|{zz{zz{z{{{{{|{{{{{{{zz|z|{|{{{||{{z{zzzz{{{|z{z{{{{{|z{zz|{{{|{{{{z{{|{{{{{z{|{{|{zzzz|{|{|{|{}||{{{zzz{|z{|{|{|z{|z{{{{|{||||}{{{{|{{zz|{||{}{|{{|z{{zz|||{||||{{||{{z{{}{{{}|{{{|{{{{{{|{|||||{|y||{{{|{{}|z{|{{{|z{z|{||}{|{|{{{{{z||||{{{|||{|{|{{{||{|{|}}||z{{{|{{|}||}{}}||{{{z|{|||{}{|{|z{{{{{|{{{|{|}|||{|{z{||||{}}|}|{{{{{zz{|||||||{{{zzz{{{||{|{}{{||z{z{{{}|{|~~~~~~|}}}}}|}}}|}}|}|}|{|{|{{|||{}}{{{{{{zzz|{||z||{|{{z{z{{|{|{{|{|zz{{{z{y{||{z{||{z{{{{z{{{{z{|{{{zz{{z{zzz{{{|||zz{zz{zz{|{{{{|{z{z|z{z{{z{{{{{{{{|z{z{{{{{{{{{|zzzz{zzz|{{{zzz{{{zz{{{z{|{{{|{|z{{{{{zz||{{{|||{z{{{z{z{{{{{{||{zzzz{zzz{{{{|||y{{{{zz||||||{{|{{|{{z|z||{{|||{|{|z{{zz||||{||{{{{{{{zz{{|z{|{|{{{z{{|{||{|||||{|{{{{{{|{{|{}|||{{{{z{{|||{|{{{|{{||{{{{}||{||||{{{|{|{{}|{{|||{{{{|{|{|}|||{||{||{z{{|||||||{|}{{{{{{|{|{|||}|||{||||||||{|||||{{z{||{{||{{|}||}|{zz{{{|||{||{|{|z{z{zz{}{{~}~~|}}|}}}{}|}}||{|||||{{|{}{{}||||{{{{{{{{{|{|{{|}||zzzz|z{||{{{{{{|zz{{{{{}{{z{|{{{{z{{z{{||z||||{{|z{{z{{{{|||||{{zzzz{z{z{{{{{|{{{zy{z{z{|{{{{|{{|{z{{{{z{z|{{|||z{zz{z{z{{{|z{{|zzz{zzz{{{{|||zzzz{{yzz{{{|{}|{{{{|y{z||||{{{|{{|{|{z{{z{|{|{}{|zzzzy{{||{||||||{{|z{{{||{||{{{|{{{{{z{||{{{}{|{z{z{{{z|{z|||{{{{{|{|{{|||}|||{{z{|{{|{|{}{|}|{|{|{{{||||||{}{}{|{}{|||||{|{||||{{{|}{{{||}|}|{||{y{{{||{}|}|||{{|{|z{}||{|{||||{{||{|}|{||{}}}{{|{{|{{|||{}}|z||{}{{|{|{||{|||||{{{y{|{{{|{}|z{{{z|{{||{{{~~~~}}~}~}}}}||{|}}}}}}}{{|{|{{{|{{||}||}||{{{|{{||||{{|{{{{{{{z|{{|z|||{z|{{{zz|||{{|~{{{{{{zy{{{{{{|{{|{{{zz{{{|{|{||{zzzz{zz{{{z{{{|{{zz{{{y{{{|{{{|{{{{{z{{z{{z|{{||z{{{{{{{{{{z||{{|{{zz{zz{{z{{||{z{{{{zy{{{|||{{}{{{{{{{||{|{{{{|{z{{{{{|{z{||{}}{|zz{zzz{{}zz||{|{|{z|z{{z{{{|{{{{{z{zz{{{|{{{|||z{{{{|{{{{{||||z|{z{{{|||{{{||{{{{{||{z|||||{||{|{{|z{z|||||||||z{|{{{{|{||{|||{{|{|{||||{{||}}|{||{{|{|}}||}}|{z|{{|{||}{{||}||{{{{||{||}|}||}{{{{{{|||||}|||{{{{|{z{{|||||||||{{z|{zz{{|||{||{{|z{{zz||{||~~~~}||}|||||~~|}}|}|}|{{|{{|||||}{|{{z{{z{||}|{{|||{{{y{{z}{|{|||||{{zz||{z{{{|||{|{z{zz{{{{||{|{{{{z{z{z{z{{|{z||z{z{{{zz{{{{{{||{{z{z|{{{{{{{{||{{{zz{{y{||{{{||{{{z{z|z{{|{z|{{|zzzz{{zz{z{{{||{z|{|{{z||||||{{z{z{{{{{z{|{{||{{{{{{z{z|{|{{|{|{{{yz{{{{{z{||}||{{|{{{{{|{|||{}{zz{z{z{{|{|||||{{{{{{{|{|{{|||{{z{{{|z{{{|}|||{{{|{{{|z{|{{{}||{{z|{|z{|||}|||{{{{z{||||||{|||||{|||||{{||}||}||{|{|||||}|||}|||{||{||{||||{|{}|{{{{|{{{||{}|}}||{|||{|||{|||{|{|{{|{{{{{|||}}||{{{|{{|{|||{{|{{{z{z{{{z||{{~~~~}|}}}|{|}}||||}}}}}}||{{|z|||{||}||||{z|{z{y{||{|{}||{{|{{{z{{||{|z|z{{z{{{{||{{||{{{|{zz{{z{{|{{{|z{z{zz{{z{z{|{{{{{{zzzzz|{||{{{{{{zzzz{{{{||{{{||z{{{{z{{z{{{{{|}{{{z{z{zz{|{{{{|{{{zz{{{{{{{{{{}z|z{{y{zz{{{{{{{{zyz{{z{{|{|{|||z{{{zz|{z|||{|{{{z{zz{{{|{|{{z|{{{z{{zz{{|{|||||{{{zzzz|{{|}|{|{{{z{{{z{|||{{||{{{|{|{z{z|||}||}|{z{{{{{||||{||||{{||{{z||||{}||{zz{{{|{||{{{||||{{{{||||{|{|||}|{{{{|{||}|||||||{{|{{{||{|}{}|{|{|{{{||{{{{|||}||z|{{{{|~{||||||{{zz{{|z|{||||{{{{{z{|{{||||{|||{{|{{|z{|{|{~~~~~~~|{{|||}}}|||}|}|{|{{{{{|||z|}|||{{{{zz{{||{{|||{{{zy{{z|{|{{{||{{{{{{{z{{{|{{|{{{{{{{{z{{|{{{||{{|{z{zz{{{{{{{|{{{{zz{z|{{|{{{{{{z{{{z{{|{|{{{|{{{zz{zz{zz|{{|{{zzzzz{zz{{z{{{{{z{zzz{zz||{{||{|{{{{|{z{||{|||||{{z{{{{z{z|{{||{{{z{{{{|{{{{|{|{z{{z{zz|{||{|{{{|z{{{zz||||{|||z{|z{{{|||}|{|||{{{|{{zz|{{{{||z{{{{{{{{|{{|{|{|z|{z|{{{||{|{||}{z{{{{y{|}{||{|{|{{{{{|{||{{||~}|{{||||{||{}|}|||{|{{{|{||||||}|{{{|{{{{{{|||||}{{{{z{|{|||||{}||{{{{{{{{|{||{{|{{{z{|{|{}|||}}||{z{{{{{{|||}|||{{|{{{{z{|}{{~|~|~}~}}}}|{||}}{}~}}}||{|{{}|{{|{||}|{{{{{{{|{{{{||{||z{{{{{{{z{|{|{|zz|{zzz{{|z{{}{{{z{{{{{z{{}|{z{{{zz{{z{{{{z{{z||z{z{{zzy{zzz|{{z|z{{zzy{{|{{||{{{z{{z{{z{{{{z||||zz{zzz{{{|z{{{||{z{{{{{z{{{||{{{zz{{|{zy{{|}{{|{z{||{zz{{{{||{|{{{z{z{|{|{z{{{|{{{{zz{{|{|{|{|{{{{{{{|{|||{{|{{{{zzz{|{{{||{{||||{z{{||||{{{{{|{{z{{{z{{{|}|{||{|{z{{{z|{{}|||}{{|{|zz{{||{}|||{{{|{z{{|||||||{||{{{{|{|}{}}||||||{z|z{{}||||}||{||||{{||}|}|{||{z|{{{||{|||{}|||{||z|||}{|z|{||{{z{zzz{|||z{|}{{{{{{{|z||{|}}{||{{{y{z{{||{~~}~~~}~~~~||}|{{|{|}}}}|~|||{{|{{{z{{{}}||{{{{{{{z|{{{{{||{{{zzz{z{{{|||{{{z{z{zz{{{{{z{{{{{z{zzz{z{||{}{{{z{{zzz|{|{|z{z|zzzzz{{z{|{{{|{z|z{zz{yzzz|{|{{|{z{{zzzz{{{z{z{{{zz{{zzzz{{z{{{{{zzzz{z{{{{{{{{{{zzz{{zz|{z{{|z{{{{zz|{{|{|{{|||{z{z{y|{{{|{{{{|{{{{|{z{{||z|||{|{{z|z{{{{{|{|{{zz|{{|z{{{{|{{||{{{|{{z{{||{{||z{{{|{{{{{||||||{z|{{|{{{{{|||{}{{zz|{|{{{{{||}}{||{{{z{z|||{|{|||{|{{{{||{{|||||}{{{{{{{{}}||||}|z|{|{{{||}|||}|{z{{{{{{{|{{{}}}||{{|||{||{|||{||{z{{{{z{{|{{|}{{{z{{{{{{|||{{{{{{{z{{{{{{||{~}~}}~}~~}~}|}{||}}}}|||}|||{|{|{||||{}}}|{z{{{{z{|||{||{{{{{{{{z|z{{{{}|{z{{{{z{{{z{{{|z|{{{|zzz{{{z{{|{z{|z{{{{|{{{z|{{z{{z{{{{{z{{{{{{zzzz{{{{z|{{|{||{|{{zz{z{{{z{z||{{{z{{{z{{{|z{{{{{{z{z{zz{{{z|{|{{{{{{{{{||{{|||{{{{{z{z{{{{{|||{{{{{{{{{{{z{}||{||z{z{{||{{{|{|{{{z|{{|{{{|||||{{{{{{{{{|||{{}||{{|{{{{{|{{{{{{||{{|{{{{||||}z{||}{{z|{||{{{|{{{{{z{zz{{{{||||||z{{|{{z||{|||||z{{|y|{||}|{}||}|{{{|{{||}|||}|||{z{{{{{||{||}|||{{{{|{{{{}|||||{{{{{{{{|{|}{||||{{{|{|{{|{||{||{{{{|z|{{{||{||||{{z{{{{{{|z|~~}~~~}~}}}~|}|{|}{{||{{|}}}{{{{{||{|{|||{|||{|z{z{{{{||{{|||zzzzzz{{z|{z{||z|{{z{z{z{|{{{{{{{{{{zz{{{{{{{|z{zzzz{zzz|{{{{{|{z{{z{zzz{{{zz|{{{z{{zyz{{{z{|z{{zz{zz|z|{{{z{||{z{zzyz{z{|z{{{|{{zyz{zzz{{{z|{{zz{zzz{{{{{||{}{{zz{{zzy{{{{|{z}{zz{{zz{|{{z{{|}zz{{{zz{{{|z|{||{{{z{z{z{{|{{||{{{z{z{z{{||{{||||zy{z{{{||{z{|{|{{{z{|z{{|||||||{{|{z{{{{|{|{{|||{{{|{z{{}|{{|{{{{{{{{z{|{|{{|{|{{|{{|{{{||{{|}|{|{|{|z{|}{{||}}{z}{|z|{|}||{|{{{{{{||{{||{{||||}{{{{{{{{||||{||{{|{{{|{{|{{|{|}|{{{{{z{||||{z|{{{|zzzz{{{|{|~}}~|}}}}~~~}}|||{{{}||}}}}||||{{{{||{||||||{{{{zz{{{|||z{|}{{{{{zzz|{|{{{|{{{{zzz{{{{{|z|{|{z{{{zz{{{{{{|||{{|{{zz{{{z||{{|{{zzz{|{{{{{{|{{{z{zz{z|{{|{{{|}{{{{{{zz{{{||{||{|z{yzzz{{{{{{}{|z{{z{{{z|{z{|{{{z{z{|zz{||{{{|{{zz{|{{{{||{|{|||z{{zy|{{{{|{{{|zz{{{{{z{{|{{{||{{{{{z{{{{{|{|{{{{{zz|z{|{|{{|}{|{|{|z{{|{{{{||{|{{{{{z{|{||{|}{{|{{{{{{{}{}|}||{{{{zzz{{|||||{||z|{|{{|||||{||||{{|||{{|||{}|||||{||{|||||}|||||z{|z|{{|{|||}{{|{||{z{z|||}|||||{z{{{|z||{|||||{z{|{||{{}|{|||}||{{{|{{{|||{{||{||{zz{z{{||{~~}}~}}}~}~~}~|}|{{}}|||}||}|{{|}|{z|{}||}{|||{{{|{{||}|{|||{z{{z{{z{{{|{{{{{{{{zzy{z{{{|{|{{|{{{z{z{z{zz{{{{{{{zz{z{||}{{||zz{{{z{{||{{{{{{{z{{z{zz{{||{||{{{z{zzz{{|{{{z||{{{{zzzz{||z|{{|{{{z{{{yz{{{{{{{{{{{z|zz{{{|{z|{{{{{zz{{|{{{{||{|{{z{z{{|z{|{|||{z|zz|{{{|{{z|||||{{{y{{{{{{|||{{z{{zz{|{{|||{}{{{{{z||{|{|{z|{{{{{|{{{|}|{||{{{{z{z{{|{{|{{|}||{z{|{{{z{z||{{||{z{{{z{{|||{|}}{{|{z|{|||||||||{}{|{{{{||}|||{}||||{|{{|{{|||||||z{||{{{{|||{|||{|{|||z{|{||||||{{{{{{{z{|||}{|||{{{{{z{{|{{{|||z{|{{|{{{|}||~~~~}~}}~}~}||||||}|||}}}||||{{{z{|{||||||{||{|{|{{{{{{|{|}{|{{{{{{{||{|||{|{{z{|{{{{{{{|||||{{{{z|z{z|{z|{{{{{z{z{{{|{|{{|{zzz{{{{{z{{|z{{{{{{{z|z{|{|{|}{|zz{z{{{z{z{|{z{{{{|{zy{zz{|{{{{|{{z{{zz{z|{{{{{{{{{{zz{z{{{{|{||z|{zz{{|{||{|||}{{|zzz|{{{{||{{|z{|{yz|{|}{{{{||||z{{{{{{{|{||||{z{{{|{{{{||{||{|z{{z{z{{{{{||||{|||{{{{||{|z||}{{{z{{{{}||{|||}||{|z{{y|||||||||{{{|{{{|||||}||{{{{y|||{||||||}|{{|{||{|}|}}{|}}|{|{{{{|}||}|||{{{{{|{|}|{{|||}|{|{|{|||}||||||{{{zzz{{{{{{{|{}|z|{{{{z||{|{|}|z|||{{{{{|||z~~~~|~|}~}~|}}}}}}||}|{|||}|||}||{{{||{{|||||}|||z|{{{{{|{{|{{||{{{zzz{y|{|{z|{|{{{{z{{{z{{{{{{{{{{{{z{{{|{z{|{{|{{zz{z|{z{{{{{z{z{{{zzzz{{|||{{{|{zy{{{{{{{|||z{|{z{{{z{{{{{}|{{zz{z{{z{{{{|{|{{{zzy{{{|{{|{|{{{{{{{{{{zz{{|{|{|zz{|z}|{|{{{|{|{z{|{{{{{|{|||||z{|{zz{y||{|{{{|{{{|{z{z{||{{||{|{{zz{{z{{|{{}|{{{z|{{{{{|{|{|{||{{{{{{||{{|{{||{{{{{{||||{|{|}}{|zz{{{{||{|{||||z{z|{|{z||||{}||{{z{|{{|}|{{}|{|{{|||{{{|||||~|{{{{{{||||||{{|||z{{|{{{|{{|||||{{{{|{zz||{|{|||{{zzz{{{|||||}|||y{{|z{{|{|||{{{|{{{{{{{{|{{{~~~~~}}}|~}}~}}~}}|zz{}|||}||}}|||y{{{{|||||||{{{z{{{z{|{{||{|{{{{{{z{{z||{|{{|{{z{{{z{{{{|{{{|{{zz{{{zz{|{{{{{{{{{{zz{z{{{|{{{{{z{z{z{y{z{{z{|{{{z{z{z{{zz|{{{|{z|{{zzzzz{{|{{|{{{{{{{zz{{{{{{{{|yzzz{{{{{z|{{|{z{{z{{z{|{|z|{{|zzz{{zz{{{|{{||{z{zz||{|||z{|{|z{{{{z{z||{{{||}{{{{{z{{{|{{{|||{z{zz{z{{{{|{{|{{z{{{{{z{|{{||{{{|{{z{{{{|||||{{z{{{{{{{|{z|{||}{{||{{{{|{|{||||||{{{{zz{|||{}{{{{{{{{|{|||||{|||{{{{|{{||||{|||{{{|||{{{|||||||{z{||z{z|||||{||{|{{||{{{{{|||||{{{z{{{z{||||{||zz{zzzz{{|||{|{|{|{z{{|{{{{{{}~~}|}|}}|}~|}}}}}|{{|{|{}||||}}}|{{{{{{{|{|{||{}{{{|{{z{{{||{{||{{|{z|z{{|{{||{||z{{z{{z{|{{{||{{{z{{zzz{z|z|||{{zz{{z{{{{{{z{{|{zz{zz{z{|{{|{{||{{{zzz{{{z|{{|{zz{{{zzzz|{{{}||{zz{{zzz{{{{z{{y{z{z{{z|z{{{|{{|{zzzz{{z{{|{{|{{{{zzz{{{|}{|{||z|z{{{{{zzz|{|{{{{z{{z|z{{{|{{|}||||z|{z{|{{{|||{z{{{{z{z{{{{{z{{{{{{{{{{{|{{|{|{{|{z{{z{{{|{{||{{{z|{{{{{{{{{{|}|{{{z{{{|{|{{|}{|{|{|{{{|}|||{||z|{z{{{{|||{||}|||z{|{{||}|}||}|{{||{|{{}{}{||||{{{{|||||||||}{||{{{{{{{{||{{{|{{{z{{z{{{|{||{}|{{{{|{|{z|{|||}|{z{{|zz{{|{|{~~~|}~}{}|}~}}}}||||||{{||{}}}}}||{{z{{z|{|{{|{{{{|{{{{{{|{|{{}{z{{{zz{z{{|{{{{|z{|zz{{y{|{{{|{{{{{z{{y{|{z{{z{z{zzyzz{{|z{z{{{|{zzzzyz{z{|z|{|{zzzzyzy{{z|{{{|{{{|zy{z{z|||{|{|{{{z{z{z{{{z{{{{{{zzzz{zz{z{{|||{z{z{z{y{|{||{||{zz{zzzzz{{{{{z|{{zz{zz{{{{|{|{{z{z{zy{{||{{{|{{z{z{{z{z{|{|{|{{{{{zy{{{{{{{|{|{|z{z{zzz|{{z{|{|{|{{zyz{|||||{||z{|z|{{{||{|||||{{{{z{{z{||{||||{{z{{{z{{|{||||||{z|{{{{{||{|||||{|{{{z{{|||{||||{z{{{{{|||{||{||{{|{{{{|||}|z|{{|{{|{zz|{{|{{||{{z{|{{z{||{}}||{|{{{z{|{|{|{{||{{|{{{{z||{|}}~}}~}}}|}~}}}}}}|{||{{{}||||||}||{{z|{{||||}z||{{{|{zzz||}{|{||{{|{{z{{|{{|{{||{{{z{zzz{|y{||||zz{{{zzzz{|yy|{{|{|zzzz{{{{{{||{z{{z|{{z{z|{z{z{{{|z{zz{|{{|{{{|{{{{{z{z{{{{{|{||zzz{{{zz{{z{|{|{{{{{{zzz{z|z{{{yz{zz{zzz{{|{|||zzz{{yzy{{{{{|{{|{z{{z{{z{{{{|||{zzzz{z{{{||||}{|z{{{{|z{||{|}|{{z{{zzzz|{{||{{|{{z{{{{{{||{||||{{{z{z{{{||||{||z||{{{|{|{{}||||z{|{z{{{{||{}||{|z{{|{|{|||||{{||{{{{{|z{{||{|{}||{{{z{{{}{||||||{{|{{|{}|{||}||||{|||{|||{||||{{|z{{{|||{||{||}{{{z{|{{|{{||}|{{{z||{{{||{{{}|{{{{{zz{{{{|{{~~~~}}}|}|}}}}~}~||||}{|{{{{||{|}|~|{z{z{{z{|{|{||zz{zzz{z|{||{{||{{zz{{{{{{z|{z{|{{z{z{zz{zz{{||{{zzzzzyz{{|{z{{{z{y{z{z{zz{|{{zz{z{{yzzzzz{{|{{z{zzzy{zz{z{{{|{|{{{{zzzyz{{z{{{|zz{yz{{z{|{{{z{{z{zzzzz{{|z{{|{|yz{zzzyz{{{{{|{{|z{zz|{{z|{z{{z}{z{{{z{{z{|{{||{{{||{{z{{{{|{{{{z{{{{{{{z{{{{{{{{zzz{{zzz||||{|{{{{{{{{{{{{{{||z{{{z{{{{{{}||||{{{{|{z|{|||{{||{|z{|{z{{|||{{|{|{z{z{zz{{{{{|||||{{{z{{{|{||||||{{{|{{{{{|{|||||{{|{{{|{|||||{{}zzz{{{{{{{{|{{{|{{{{zz{{{{{|{|{||{{z{{{{{|{{|{||{|{z{z{z{|{{{|z{z|{z{{yz{{{{{~}~~|~~}~}}~}||}~}}|||{|||}|||{|||||{z{|{{||{|||}|{z{{{{zz{{|{{||||z{z{zzz{{{|{|||{{{zzzzz{||{{{{{|zzzz{zz|{{{{{{{{{zz{{zz{|{{z{z{{z|{zz{{{{{{z|}{{z{zzzzz{{|||{{{{{z{z{z{|z|z|{{{|{{zz{{z{{{{z{{|{{{zz{|z{|{{{{{{{|z|zzzz{{{|{|||}z{z{z{{{|{{{}{{{{{{{z{z{{{|{|||z{{zz{{|{|{|||{|{z|{|z{{{||}{}|{{{z{z|zz|}||{z{|{{{{{{z|{||{||{|{|{z{{{z{{|{||}{z{{{{{zz|||}|{||{{{{{{{{{||||{|z|{|{{||{||{}{||{{{|{{{{{|||||{|{|{{}z{{{||{{||}}|z|{{{{|||}}|}||}{z{{{|{|{{{|||||{{{|{{{||{|}|{|{{{z{z|{{}{{{{{{|{{{z{{{{{{|||||{{{{{z{{{|{|}~}~}}}|}}|}}}}}||}}|{}|{{||||||||{}{||z{{{{}|{||~|}|z{|z{{{||{||||||{{|{{{{|{|{{|||{|{zz{{z{|{||{|{{{{{z{{{z{}z{{{{{zz{{z{{z{z|{{||z{zz{z|{z|||z{{|{{{{zz{{{{|{{{{{{z{{zzzzz{{|{{{z{z{{zz{{{{zz{{|{{yyz{z{z{|{z||||{{{{z{zz{{{{{|||{{zz{y{{{{{|{||{{z|{zzzz{{|{{{||{{zzzz{{z||{|{}{{{zz|z{{z{||{||{{{{{{{{{{||{|{}{{z{{{{{z{{{{{{{{{{{{z{{{{|||||}||{{{{{|{|{||{||}|{|{|{z|z||}|}|||{{||||{||||{|}}{|||{{||{||||||}|{|z{{{|{}||||{{|{|{{{|{||}|{|||{{{||{{|{{||}||{{|{{}{|{{{|||}}||{{{{|{{|}||||}||{z{{{{z{|||{{{{{{|{{z{zz{|||~~}|}~}}}}}}|||}}|||}|||{{|||}}||}||||{||{|}||{}|||{{z{zz{|{||{||||{{zz{z{||{|{|||{{|{{z{{{|{{{||{{{zz{{{{{|{{{{|{z{zzzzzz{{{{z|||z|{{{|zzz{{{{|{{}{{{zzz{|||{{||{|{zzz{{{{|||{{{|z{{{zz{{{{{|{{z{{{{{z{{z{|z{{{||{z{z{{{z{||{{{|}{{z|{{{{{{|{|{||{{{{{z|{{{y|{{||{{||z|{{{{|{||{|{{{{{zz{{{|||||{{|{|{z{||||{|||{|z{{{{z|{}|{||{{{}|z{|{{{||{{|{}{|{{{{||{{{||||}{{|{{|z{{{{||{|{|{{{{{||}|{|}|||{{|z||||{}|||}|}|{{||{|{|}|||}|{|||||||{{|}}|}}{}{|{{|{|{{{|||}||{|||{{||}|}||}|{{{{|{{{|}||{|}|{|{{{|{{|}||{||{{{{{zz{{{||||~}}}|||}||}{}}}|}|}|||||{{}}|}|||||{{{||{||||||||{{|{{z{{|{}{z|||{{{z{{{z|{{|{|z|{{{{z{z{||{z{|z{{{z{{{zz{{}{{{|{zz{{{{{{z{|{{{||{zz{{{{y{{|{|{|{{{{{{{z{{||zz{|{z{{{z{z{{|{|||}{{{{{{z{z|{{{{{||{{|{{z{{{{{{{{|{|{}{z{{z|{{{{{}{|{z{{z{{{{{{{{||{z{z|{z{|{|{{|||z|{z{{z{|{{|{}||||z{{z{{{|{{|{|{|{{{{{{{||{|{{}||{{{{{{{{||{||||{|{{{{||||||{{||{z|{|{{{||}}|||}{{|}{{{{{|{}}|||{{{{{{{|{|||{|}}|{{z{{{||}{|||{{||{{|||||}||||{||z{}|{{||{}}||}||{{z|{{||}||||{||{||||{|}|}}{|||{{{{{{z{{{|||||}|||||z{{{{|{||||||{{z||{z||{|~}|}}|~}|{}}{|}}|{||{{{{{|{{|{{|||||{{z||{z{{|{{{{{{z{{{{zz{{{|||{{{{z{zzzz{{{|{{{{{z{z{z{zzz{|z{{{|z{zz{{z{{{z{{{{zzzz{zzz{{{{z|{{zz{{{z{{z{|{zz{z{{{zz{zz{{{z{|{{{{{zzzzz{{||z|{{{{{{zz{zz{{||{|{{{{zz{zzzzz{z||z{zzzzz{z{{zz{{z{z{zzzyzz{{{{{z{{{{zzz{{{{z|||{{{{{{zzzzz|||{|{{|{{{{zz{z|{|{{{|{{{{z{zz{{||z{{|{{{{{{{{{{{{{{{{{zz{{z{zz{|{|||{|{{{{{{{{{{{|z{||z{{{zz{z{{|{{||||{z{{z{{{||z{|{{{z{|{||{{|{{||{||{z{{z{{{}||{|}|{{||z{{{|||{}}|{{zz{|y{|{{{{{||}{{{{{{{{|{|{|{|}{|z{|{{{|{||||}|{{z{{z{zz||{{{{|{{z{{z{{{{{{{}~|}}}|}}}{|}}|||}}}|{|z|{{|{}{{|||{{{z{{{{{{{{||||{zz|z{yz{{||{{{{{{{zz{{y{z|{{{|{z{{{z{{zz{{{z||{{{zy{zz{{z|z{||z{{z{{{zz{{{|{{{z{{zzzzx{{|{z{{{zzzzzzzzz{{z{|{{|{z{zz{zzz{{{{|{{{{zzyzzy{{z{z{{|{yzzzz{z{zz{{{{{{zz{{|zz{zz{|{{|{{{z{zz{{z{{z{z{{zzz{z{z|{{{{|{{{z{zyz{z|{{{|z{{z{zzyz{{{{||{{{{{{zzzzz{{|{{{{{{{zz{z{z{{||{{||{{{{{z{zz{z|{{|{{{{{{{{{{|{||{{||z{z||{zz{{|||||||z{{{zzz{|{{{{}{z|{{zz|{{{{{|||||{|zz|{|{|{|{{}}{{{||{{||{||{|||||{|{z{{|{{{||||{{z{{{{||{{|||{|{{{{z{y{{{{{{|{{{{{z{{{zz{|{||||{{{zzz{z{{{{|~~}}}{}~}}}}|}||{}|{||{{{{{{|}}|||||z|z{{{zz{||{}|{{{{zzz{z{|{||{{|{zzyz{{y{{{|{{{|zz{z|zz{y{{z{||{{{{{z{yz{{{zz|||zy{zz{y{{{{{{{|{z{{{z{zy{{{{z|{{{zzzz{zz{z|z{||zzz{zzz{z{|{|{|{|zz{zz{{zz{{z{{zzz{{{z{zz{{{{{||{zz|{z|z{{{{{||||{{{{{zzz{{{{z{z|{{{{{z{z{{{{|{||{{{{{{z{{z|{{|{{|z{|{zz{z||{|{{{{{{{z{zz{{{{{|||{z|{{{{z{{{{{{{{{z{zz{{{||{{|{{{z|{{z{z|{{{}z{|||z{{{{{{{||{||{||z|{z{{|||||||{||{{{||{{|{{{|||{|{{{{|{|{}|}|{{||{|{|{{{||{{|||||{{z{{z{{{{||{|{{{{||{{{|{||||z|{{{{z|zz{z{{|}}{{{{z{zzz{}{|{{z{zz{{{z{{z||{{|{}||}|}||{||}||{|}|{z||{||||}{{{}||z|{zz{{|{{{||||z{{{z{{{{{|{|{{{|{zz{y{zzz{y{z{|{{{zzzzzz{{{{|}z{yzyzz{z{{|{z{|{zzzzzzz{{zyzz{{|zzz{zz{{{z{z|||z|{yzz{zzzz|{z{|{{z{zyzyz{{{{{|{{zzzz{z{zz{{z{|{{zzzzzz{zz{z{{{{{{{zy{{zz{{{|{{|{{{zy{z{z{{{{z{{|{z{z{y{yz{{{{}{{z{{{zzz{z{{{{|||{z{{|z{z{|{{||{{|{zz{zz{z{||z{}{zz|z{{zz{|}{{|{{{{{{{z{{z{||{{||{{||{z{{|{||||{|{zz{{zzz{{{{{||||{zz{{zz|{{{||||{{{z{{{|{|||{|{||{{{z{z{{{|||{|||z{z{z{z{{|{|||}{z{{z|zz||{{||{|{{zzz||{{|{{||{}{{|{z{zz{{z|{{||{|zzz{zz|{{|z{{{{{{zzzyz{{{{{~||}|{}|||{||}|}||||{|{|{||{|{{||||{|z{z{|{||{{{|}|||{|z{{{{{{z|{|{{{z{{z{zz{{{{{{{zz{z{{{{y|{{y{{{z{z{yzzzz{{zz{{zzy{zz{zzyz{{{|{{yzzzzzyz{zz{z|{{yzyzzzzzzzz{{{{{zy{zzz{zz{|z{{{|{z{zzzyz{zz|{{z{zzy{yzzzzz{zz{z{{{zz{{zyz|zz{{{{{zzy{zz{z{{{|{{{{z{{zzz{{{zzz{{{{{zz{{z{zz{{|{{|{zzz{zzz{{{{z{z|{{{{z{{y{{|{{{||z{{|{zz{{{{zz|{{{{{{z{zzz|{{||z{z{{{z{{{{|z{{}||{{z{{zz{|{{{{{||{z{zz{z{{|{{|||{{z{{||{{{{{||||{|{z{{{zzz|{{{||||z{{z{{||{{{{{|||{z{{z{|{z{|{||{{{{{|zz{{{{||{||z{zz{z{z{{z|{|{{{{{{z{{z{|{|{{}|{|{zzy{z{z{{{|}}||{}}}||||}}}|}}{}||{|{{|||z||}|{{{zz{{{{{|{||{|{{z{|z{{{{{||z||{{{z{{zz||{{{|{|z{{{{zyz{|{{||{z{{{{{{{zz{|z{{{{{zz{zzz{|z{|z|{{zzz{{{z{z{{||||{}{zzzz{z{{{{|{{{{z{zzz{z{|z{{{||{z{zz{zzz{{{{z{|{{zzzzzz{|{{|{{{|z{z{{zy|zz{|{{{{z{zz{{{{{zzz{|{{{{z{zz{z{z{{{z|{{z{zz{{{z{|{|{|{|{z{{{{|{}{||{{{z{{{{{z{{|{{||{{{{{z{{{|{{{{{|{{{{{|z{||{||||}|{{{z{||z{||}{{||{{z|{{{{z|||{{|{|z{{{{zz|{|{|||||{{|z|{z{|||}|{{|{{{|{{{{|{|{||}|z{{{|{{}|{||{||{{{{{{{{|||{{|}{{{{z{{{{|||{||}|{z{z{z{z{|{|{{|||{{z{{zz{||{{{{|{z{{z{{z{|||{}}}|{{}{|{|||}||}|||{{||||z|{|{}|||{|{z{|{{|{|||}{{{{{|{z{{{|||{|{{{{{{{{{{{|{|{{{|{zzz{{{z{z{{{{|{{{{zzzyz{{{|z{{{zzz{{{zz|{{{{{{||{yz{zzz{|zz{{{{{z{{{{z{{{|{zz{|{{zzz{zz{{{{{{{{{z{zzz{zzz|{{{{{z{z|{zz{{|zz{|zz|{{z{{z{{|{z{|{{{zzz{zzz{|{{{|||{{{zzz{{{{||{{{|z{{z{z{z{z{{|{||{z{{|{{{{{}{{|{{{{{z{{yz{{|{{{{|z{{{z|zz{||{|{{|{zz{|z{{{{{}}|{|z{{z{{|{{||||{|||z{z{{{{{|{|{|{{{zz{|z{{|||{{|||{z{{{z|{z|{}}|{}{{{{{|{|{}|||||||{{|z{|{{|||{}|{|zz{|||{{||||||{||{{{{{{|{{|{|{|{zzz{|{z{|{|||||{{{{z{{{|{{||{||z{{{{yz{|{||{~|~}{||}|{|||||{{{}||{{zz{|||||{||||{|{{|zz{z{|{{|{|z{|{z{{{{||{{||||{{{zz{{|{{|{|{{z{{z{{z{{{{z|{}zzz{z{zz|z{{{{{{{{{{zzzz{zz|{{{|z{{y|zz{{{|{||{zz{z{z{zz{|{{{{{||{{zz{zy{{{|{{{{zzzzzzzzz|{zz{{z{{zz|{z{{{{y{||{z{{|{{yz{z{|{{{{|z{zzz{y||{|{z{||z|{zz{{|{{|{{{{{|{{{z{{{||{{{|{{zzz{z{z{{|||{|{{{{z{zy{{z||{{|||{z{z{{{{{|{z{|{{zz{|zz{||||||||{|{{|{{{{|{|||}{||{|{{{z||}|||{{|z{{{{{z|||{||||{|{{{{{{|{{{{|{{|{|{z|{{|}{{|||||{|{{{{{||}|{{|{|{|{{{z|{|{|||||{|{{|z{{|}{|||||{{{z{{{|{|||{|||{{{z|{{{{||{||{{|{z{zz{{{|{{{}|}}||{|||||}||}||}|||{{|{|{||||||||{{zz|{{||{{|{||{{{{{z{{{|{||}||}{{zzz{z|{{|z{{|z{zz{zz{{|zz{||z{{{zz{zzz{{{{|{{{z{zyzz{{{{{z|||zz{{{z{zz|{{{|{{{zz{z{zzz||{||{{{z|zz{{zzz|{z|||zz{z{zzzz{z{z|{|{{{{{{zy{|{z{|z{z|{z{zy{|{{{{{{{{zzzzz{{{{|z{|||{z{zz{{{{{{{{{{}|{{zzy{{{{|{|||{{|{z|y{{z|||{||{{{|z{zz{||{{{{||z{{{z|{{||{{|||||{{{{{||{|||{|||{|{z{|||||{|}|||{z{z{{z{}|{|}|||{z{{{{{z|}{{||{}{{{z{|{{|||{||}{|{{{|{{{|||}||||{{{{{{{{{|{}|}}|{|{{|{{||{{{|||{||{{{{{|||{{}|}|{{{zz{zz{|{||{||{{{{{z{{{|}|{||{{z{zzz{{{z|||}}}{||{||{{|}|}|}{||}|{|{{{}{{|||}}{{{{|{{z{{}{{{}|{{}|yzzzz|}|{{{|||{{z{zz|{{{z{{{{{{zz|{z{{{z{{|{{{zzz{z{{{{z||}{{{{z{{zz{zz{{z{|{z{{{z{{{{|z{{{z{z{zz{z{{{|{|{|{z{zy{zzz{{z{{{{{z{{{z{zzz{z{{||{|{{{z{{zz{z{{|}|{{z{zzzzz{z{{{|{{{{z{z{zz{|{{{|{{{{{z{{z{{{{{{|{|{{z{zzz}{{{{|||{{{{zzzz{|{{|{{|{z{z{zzz|||{{||{|zz{{{{{{||{{|{|{{{z{{{{|{{|||{|z{{{{{{{||||{{||{{{{{z|{{|{|||||{z|z{{{{{|||||||{|{|{{|{||z||||{{{z{z{{|{||||||||{{|{|{z|||{{}|{{{{{|{z{|{||||}|{{{|{{z{|{{{|}||{zzz{{{{{z||{|{|||{|{{z|{|{{|{}z{{{z{zz{{{|{{}}}{|{|}||||}||}}}||{||{{z{{|{{|~{}{{|z{|z{{{{{|{||{{z{{z{{{{{|{|||{|{y{{{z|zz|{||{z{z{{|{{{{{{{{{z{z{{{z{z{{{z{{{zz{{|z{z{{{{{{{{z{{{z{z{z|{{{{{{|{{{zzzyzz{{|{|{||{{{{{z{{{{|{{||{{{{{z{{{{yz||z{{{{zz|{{z{{{{{z{{z|z{{z{{z|{||{|z{zz{{{{{{{{z|{|{{{|{y{z{|{|z|{|{{{{{z{{||{{{{{||z{zz{z{{|{|{||}{z{{{z{{{}|{{{|||{{{|zz|{{{{|{{{|{{{{z{{{{||||{|{{{|{|{{{}|{{||||z{z{z{{|{{z{||||{{||{{{|}{||||{|{|||||{{{{|{||||{{|{}{{{}{|{|||||{{{{|{|{|{|}|}{z{{|{{{|}|||||||{{|z{{{||{||||||{{z{{z{{|{}{{|||{z{z{{{{{{|{{{|{z|z{{z{{{{{{}}|{|{|{z{{||}{||||{|{|{{|z{|{{{}{|z{{|{{{z{z|{{{|{{z{z{{{z{z{{{{{||{z{zzzz|{|{|{{|z{{z{z{y{zz|{{{{|{zzzzzzz{{{z{{{zzz{z{zz{{{{{{||zz{z{z{{z{{{z|z{z{zz{zzz{{{|z{{{zzzzzz{zz{|{{z{|{{zz{zzyz{{z{|z{|zz{{zz{{z{|{{{{zy{z{{{{{{{{{{{|{z{zzzz{z{{z{|{{{zzzzz{{zz|{z|||zz{zyz{{{||{{{{{{z{{{zzzz{{{|{{|z{z{{z{z{|{{|{|{z{z{zzz{z|{|{|{{|z{zz{{z{|{|}|{|{|{{|{{{z{{}||{}{|{{|{{z|z|{|}|{}|{z{{{{|{|{|{|||{|{{{}{||{|{{|||{|{{{{zz|||||{|{{{|{z{{|{|{|{|||z|z{{z{||{|{||{|{|z|zz|z{{{||||{|{yzzz{{{{{||{|{{{{z{{z{|||z{|{{z{z|{{{|{{{{}}}z|||}{{{||}}||}||{{{z{{{{|||{||||z|yz{|z{{{{|{||{{{zzzz{z{|{|{{||{zzzy{yz{{|z{{{{{{zzz|z{{{z{|{{|z{zz{zz{|{z{|{{zz{z{{zzzz{|{z{{{zz{{{zy{{{{z||{{{y{|z{z{z{{{{|{{{{{zzz{{{{z|{|{{zz{{z{z{zzz{z{|{zzzzyzzz{{{{z{{zz|{{{yzz{{|{||{zy{zzzzz|{{{z|{{{{{zzzzz{{{{|z||{{{z{z{z{z{{{{{{zz{{zz{yz|{z|{{z{z|z{{z{{{|{{|{|{{z{zzzy{|{{||{{{z{{{z{{{|{{{||{{{|{{{||||{{||{|{{|{z{{{{|{|{||{{zz|{z{z||||||||{{zz{||{{|{{{{|||{||{{{z{|{|{||{|{{{zy{{{||{{}|{{z{{{{|{{{z||{|}||{{{{{z||{|{|{{{{{{{{zz{|{|{{|}z|{{yz{{{|{{{{|{{z{{zz{{zz{{{~}|{}|{|{}{{}}|z||}z{{{{zzz{{z||{||{{{zzz{z|{{{z{|{{z{{{z{z{{{{z||{{{yzzzzyz{{{z{{|{yzz{z{z{{{{z{{{z{{zzzz{{|{zz{|zzzzzzz{z{z{{{{{|{{zzzzzzyz{{z{|{zzz{zzzzz{|y{z||{{{zzz{zzz{{{z{{zzzz{y{zz{z{|{{zzzzzzzzzz{zzz{{{{zzz{zzzzz{{{{|{{yzzyzz{z{{{{z{|{z{zzzz{z{{z{|{{{z{{z{{{{z{{z{|{zyz{zz{zz{z{{|{{|z{z{y{{{{{{{z|{{{z|zz{{{{{{{|{{{{{y{{{{{|{|{||{{z{{{{{{|{{|{{||{zy{z{{zz{{|{|{z|z{|{{|{{{||||||{zz{{|{zz|||||{z|{{{z{|{{|{}||{|{{{{z{{{{z||{{{|{z|{zz{{{{||{|{{{{zz{|{|{{||z||{{{{zzzzz{{z{{{|{{{{zz{{{{{{{{{|{zz{zzz{z{{{{{~|}|{{{|{{|||{{|{}}|{{zzzz{{{||{|{|{|zz{|{z{z{{{|||{yyzzzz||{||z|{|{{z{z{{z{|{zz|{|zyzzzz{z{{{{{|{{{{{z{z{{zzz{{zzzz{{zyzzyz{|{{z{{yyzzzz{zz{{{{{{{zzzzzzyz{{zz|{{z{z{{{{zz{z{{z{{z{z{zy{zz{{{z{{{|{zzzzyzz{{zz{|{zz{{z{zzzzz{zz{|{|zzzzzz{{{|z{{{{{z{zzzzzzz{z{z||{z{{{{z{{z{{z{||{{z{z{{{z||{{{{{{|{z{{{z{{|{{|{{{{z{{zz{z{|{{{||{|zz{zz{|{||}|{{zz{z{z{{{|{{{|}{{{z{{z{z{{|{{||||zz{z{{{{|{z|}|{{{{{{{{|{|||{||{|z{|{z{|{|{|}|||{zz|z{{{||||{|||{{{zz{z{{||{|{|}|{{{{{zz||{{{{{|{{{z{{z{{{||z{|{{{{zyz{z{{z||{{z{z{zzz{{{{{{{||z{{{{{|{z|||{||||{{{{{{{z{{|{|{||{|zzz{zz{{{{{{{{|{{{z{z{zz}|{{}{{z{zy{zzz{{{{{{{z{{zz{{z{{{{|{{z{zzz{z{z{z{zz{{zzz{yzz{z{{{|{|{{zzzzz{zzzz{{{{{{z{y{z{yz{z{{{{{zzyzzz{zz{{z{z{{{{{{zzyzyz{{{zzyz{zzzz{zzz{{{z|{{|zzz{zy{{{{{{|zz{zz{|yy{zz{{{{{|zzzz{y{zz{z{{|{|{{{zzz{z{y{{{{{{{z{|zz{{z{|{{|{|{y{{{{z{{{{|{{}{{{{z{{z{||{|z||z{{{z|zzz{|{{||{{{{{z{{z{{|z|||{|{{{{zzzz{{|{{{{{{y{z{{{z{|{|{|||zz|zz{{{{|{{|||||z{{z{{{z{{||{}{|{{z{z{z|{|{{|{{{zy|{{{{|{z||{}|{{{z{zz{{{{|{|||{{zz{|{{zz||{||{{{{z{{{z{{|{{{|zzz{zzzzz{{|{z}|||z|{{{|{{|||{{}}|zz{z{{{{{{{{{z}|{{{{|z{||{zz{{||{{{zzz{{z{zzz|{{zzzzz{z{z{{{{{{{{{zzz{z{z{{{{{{y|{zyy{zzz{{z{z{|{{zzzyzz{{{{{zz{{{z{y{{{|{{{|{{{zzzzzz{{z{{{|{{{z{zzyzz{{{|{{{{{{{{zzzzz{{y{{{zz{{z{zzzy|{z{{{|{zy{z{zy{{{{{|{|{z{z{z{z{{{{{{{{{z{zzzz{{z{{||{{z{{{zzzz|{z{|||{z{{zzz{z{{{|{{{{{z{z{z{z{{||{{|{zz{|{zz{{{|{||{{{{{z|{z{{{{|{{|{z{z{{z{z{|{{z{||{z{|{zz{{{{{|{||{zz{z{{{{|{{}|{{{z|{{{{|{{{{{||||{{{z|{{{|{|{|||{{{|zz{{||{|{{{|{z{{{zz{z{{||z||{{z{{|z{{|{{|{{{{{{z{{{z|{{||{||{{{z{{|{{z||{||{z{{zz{z{{{{{{|}|{{|{|{{{{|||||}|{{||{z{{|||{{{||{|z{{{{{|{|{|{{|{{{{z{{{{{{{{||{{{{{{{zzz{{{{{||{{zzzz{zz||{|{||{{{{z{z{{{{z{{|{{z{zz{z{zz{{|{||zzzzzz{y{{{zz{|{zzz{{{zy{z{{|z{{{{{{z{zzz||z{{|{{zzz{z{z{z{{{{{{{{{{z{{{z|z{z{{|{{zz{yzz{{{{|{||{z{yz{z{{{|{{|{||{z{zz{z{z{|z{{{{zzzz{{{{{|z{||{{z{{|y{{|{||z|{{zz{{{zz|{{{|{||{|{{z{z{z|{{{{}{|{{{{|{|{{|{{{{||{{{{|{{|{}{||{||{|zz{{zz{{{{|{{||{{{{|{|||||||}{{{{|{||||||{|||{{{{{{{{{{}{|}|}||{{|{z{{|{||{||{{{{||{{{{|||||||{{{|{{{{{|{|{|||z{{{{zz{|{{{{|||||{{zz{{{|{|{{||{{|{{{{{{{|{{{{}||{{{|{{||||}||{||{{{{{{{{{|||||{{{{{zz{|{{{{{{}{y{z{z{{z||{|z{{{{{zzzzz{|{||}{{zzz{{z{{{|{zz{{{{zz{{zz{{{|yz{{{{{{{z{z{{{{{z{z{{zz{{yzz{{{z{{{zzzz{z{yz{{{{{{|{z{{zzzz{z{z{z{|{{{{zzz{zz{{z{z|{|z|z{{zz{{z{{{z{{z{z{{zz{{{{{{||{z{zz{{{{{{{{{{|{z|z{zz{{{{{z{{|{{{z{{z{|{|{||{|{{{{{zzz{{||{{|{{{zz{zz||{||{{|{{z{{{{{{|{|{z{|{{{{z{|z{{||||{||z{{{||{{{{{|{|}|{{{|{{z{{{|{|||{{{{{{zz{|}|{|||||{|{{{{{|{||||}|||zz{|{{|||||||||{{}{{{z||||{|}||{{|{z||{}{|{|{|{{{{|{z||{{|}|{{|{{z{{{{||||{|{|{|{{{{{{|{{|{||}{z{z{zzz{{|zz}{|{||{{{{{z||{||||{|{|{{z{||||||||{{{{zz{z{{{{|||||{z{{z{{zz{{|z|{{|zzzzzz{{{z{|{{{zz{zz{z{{{{{{{{{{{zzzz{z||zz||{{{{z{zzzz{|{zz|z{{z{zz{z{||{|{{z{zz{zz{{{{{z{{{|z{{{zyzzz{|z{|||{zz{{z{zzz{{z{{|zz{{zzzz{{{{z|{{{z{{zzzz{|{{|{{z|z{zzzz{z{|{{|{|z{{z{{{{{{{{{{|{z{{zzz{{{{{|||||{{{{{z{z{{||{{|{{{{{{{z{z|{{|{||{{z{|{{{{|z{{|{|{z{{z{{|{|||||{|{{{{{{{{||{|{||}||{{{zz{{|||}|{||z{{|{{{{||||||{{{{{{{{{|{{{||||||z{z|{{|}{|}}}||{{{{z{||{||{||||{{{{{{|||{{{{}|{{z{|{{{{{|{{|{{z{{{z{yzz{}{|{|{|{z{{{{{{{{{{||{|{{|{z{z{{{{{{||{|{{{{|z||{{{||||{|{{|{{|||}|{{|{z{{{{{y{{{|{{||{{{z{{{{|||{z{|{{{zzzz{z{|{{{|{}zzzzz{zzz|{{z{|{{{{zzzzz{|{{{zzz{z{z{{z{{z{{{{{{yzzzzyz{zz{{{{}z{zz{zzz{{{{{{{{{{{{zyzz{{{{{{{{{zzzz{zzz{z{z{{{{{{zzzzz{z{{{{{{|z{{zz{y{{||{{{{{{{{z{yzz{{{{{{{|zzzzzzz|{{{zz{z{{z{{z{{{{{{{{{{|{z{z{z{|{|{{{||{z{{z{{z{{|{||||z{{z{zz{{{|{{{{{||{{z{z{{|{||}||}{{{zzz|{}|{||||}|{{{{zz||{|}||}||{zz{{{z|}|||{|||{{{{{{{||||||||}|{{z{|{z||||{|{}{||{{z{|||{{|||{{|z{{{|{|{||{|||{z{{{z{||{|{|{|{||z{{z{{{{{|{{|{{zz{z{{||{|{{}|{z{y{zz{{{||{{{{{{|{z{{{{|{{|{|{|{{{z|{{{{|||}||z{z{{|{z{{{{|{||z{z{zzz{{{|{{{|{{z|{z{{z|{{|z|{{{{z{zz{z{{{{z{{{zz{zzzyz{zzz|{{z{{{zz{zz{{{{{{{|zzzzzzzzz{{zzz|zzyzyzz{zz{{z{|{{{{{zzzzzzy{z{{|{z{z{{yz{{zzzz{{{{zzzyyzyzz{{zz|zzzzzzz{z{{z{{z{{zzzz{{zzz{|{{{{|z{{zzzzz{||{z{|{z{zzz{zy{|{{{{|{{{zzzy{{{}{{z{|{{||{{{{||{{{z{|{{{zz{z{{{|{{{||{{{z|{{{{{{|{|{|{|{{{{{|||{{}|z||{{{{z{z{||||}{}{|zzz|y{{{||{|{}{{{{z{{{{{||{|||||{{{z{{z||||}||||z{{z{|{|{{|{|||{z{z{||{|{{{|||}|{{{{z{{|{|{{{||zz{zz{z{z{{||{|||{{|{{zyz|{{{|{{{z{zz{zz{{z{{}|{{{{{z{{z|{{||z|{{{zzzzz|{|||{{{{{|zz{{{{{|{{{|{zz{z{yzz{{{{|{{{{{zzzy|z{||{{{{z{{{|z{{{yzz{{z{z{{z{{zzzz{z|z{{{z{{yy{zyyzz{z{{{{zzzz{zzzz{{{z|{z{zyzyzyz{{|{{||{{zz{zzzzz{{{{z||zzzzz{zzzz{{zz{{{z{zzzzzz|zzzz{zy{{zz|{yz{{z{{{{zzzz{z{zz{{{{{z{z{zzz{{{{z{{{{{{z{{zy{z|{z|z{{{{zz{{{zzzz{{{{{{{|z{{{{zyz{{{z{||z{{{zz{z{{|{z|{{{zz{{{{{{{||{|{{|{{|{{{z{{{|{||||{{|{zzz{|{{||||{zz{{z{{||{||{|{{z{{z{{{z|{z{|{}{{{{{{{z|{{||{|||{{{{z{||||{{||{||z{|{z{{|{|{||{|{z|{{z{{{{|{|||z{zzz{{{{{{z|{|{{{{{zz{{{{|||{||{{z{{zzz|{{z{|||{|{||z{{{||{|{|}{{{z{{{{z{|{|||{|z{zz{zz||{{||||{z{z{{zzz{{{zz|{{{{zz{zz{{{z{{{|zz{zz{{y{|{z{|{|{{zz{{zz{z{{{{{|yzzzyzzzzz{{{{{{{zzzzzzz|{{{{z{{z{zzz{zz{|||{{|{zzzzz{z{z|{{{|z{{zzz{z{z{{{z{{{|{{zzzzzy{zzz{{z|zz{z{{zz|{{||||{z{|z|{z{{z|{{{{{{zzz{{{y{z|{{|{|{zz{{{{||||{{||{|{{{{{{zz{{{|{||{{z{{zz{{{|z{|{|zy{zzz{{|{{|{{|{{{zzz{{{{|{{{||{z}{z{{{{{{{|}{||{|{{{{{{|{|{|||||{z{{{{{{||{|{}{{{{z{{|{z||{||{{|{{{{{{|{}{||{|{|{{|{|{{|{{||||||zz{|{|{{||{{|{{{{z{{{{{{{{{{|||{z{{z|{z{|{{{|}||{{{{{{z{{|{{|{{{|{{{{{{{{{||||||{z{{{{z{|}{|||}{{{{{z{{{|{|z|||{|zz|{{z{{{{{{{{{zz{{zzz{{||{{|{{{zzzyzz|{{{{{{|{{{{zzzzzzz{z{{{{z|zz{{{zz{{{{{{{zzzyzzz{{{z{{{z{{zzzzzz{z{||{{|z{zz{{z{z{|{{{{{zz{zzzzz{{z{{|{|zzzzzzz{zz{{z{{{{z{z{zzzz{yzz|{{{yzz{|{zzz{|{z||{zzzz{{{z{{|{{|{zy{z{z{{{{z{{{|{{zz{zz{{{{|{{{{z{{{{zz{{{{{{{|{|{zz|{{z{|{{{{}{{z{z|{{zz{{|{{{|{{|{{|{{{{||||{|{{{{zz|{|||{}{||{|z{|z{z{||||||}||z{{{{z{}||{{{|{{{{|z{{{{||{|}|||{{{{|{z||||{{|{|{|{{{z{{{{|{|}|{{|z{{{|{{|{{{|{{{{{|{{z{{{|{|{||zzz{z{z{{z{||||{zz{zz{{{{{|{{|{{{zzz{zz{{{{|{|}{|{|{zzz||{{{z|}{|z{zz{z{{|{|{{|{{{{{|{z{{z}{{|{|{z{{{{z{{{|z{{|{{|zzz{z|{|{|z|}z{{zz{zyz|{{{||z{z|z{{z{{{{{{|{{zz{z{zz{{{z{z{{{{z|z{z{{zz{{{{{{zzy{zz{z|zz{{|{{|{{zzyzz{{{{{{{{zzzzzz{zz{{{{{{{|z{zyz{yz{{{{|{{zzz{{z{z||z}z{|z{z{zz{|z{{{z{zz}z{z{{zz{|{{|{|{|{{z{{z{{{z|z||||{z|{z{{zz{{}|{||{z{{z{z{{{|{{|||{z{z{z{{|{{z|{{{|z{z{{{z|{|{{{{{{{{|{||{{||}||{{{z{{|{zz|}||{||{{zzz{{|||||{{}|~{|{{|zz|||||{{||{{{{|{|{{|{{|||{{z{|{{{z||||{||{||zz{{{{{{|{{{||{{{|{|zz{|||||}{||{{{zz{{{|||{}|{{{{{{zz{|||{{|{{|{{{zzz{{||{||{{{{{{z{{{{||{|||{{|{{z{{|{|{||}}|{zz|zzz{{{{{{|{{{|{{{{z{{||z{|{|{z{z{zzz|{{{|z{z{zz{zzz{{{{zz{|{{{y{zz{{||{{|zz{zzz{{z{{{{{{{{{zzz{zyzz{{{{{z{{{zzzzzzz{{{{{z{|z{{zzzz{z{}|{{{{{z{z{zzz{zzz{||{|{{yzzzyz{{zz|{{{zz{{|z{z|{{{{|{z{zzzzzz{{{{z{|{{{{zzzz{{z|{{{{{{{{{{zz{{{{{{{{|{{{{{{|{{|{{{{{|z{{zz{z{||}|z{|{{{zz{z{{|||{||||{{{|{{{z{{||{{||{{{{{z{{||{||||||{{{{zz{|{{||{|||z{{|{{z{{|||{|||z{z{{{{|}{z{{{}|{{{z{{|{{|{{|{}{{|{z|{|{|{|||{{{{{{|{{|{|z{||||{{{{{{z{|{|{||||{||{|{{{||{|{||{{{{{zz{z{|{|{}{|{{{zz{zz|{|||||{z{{{{{{{{||{|{{z{{{|z{zz{{{{|{|||{{{{zz{|{|{|{|||{z{zzzzz{{|z{|{z{zzzz{y{{|z{||{{z{zz{zy{{{z{|z|{z{zzzz{{{{z{{z{|zzzzzzzz{{|{{{|z{zyzz{{{{z{{{||z{z{{zzz{{{z|{z{{z{z{zzz|{{|{z|{{zzz{zz{yzz|{{{zzzyzzzzz{|z{z{{{zz{{zzzz{{{{{{||{z{zzz{zz{{z{{{{{y{zzy{z{z{{z{|{{{{zz{{{{{{|{||{z||z{{{{{|z{{|{{zzzzzz{{{{|{|z|{{{z{{zzz{{{{|}||{zz{z{{z{{{{||{{z{zz{{|z|{|{{|{{{{{{{zzz{|||{||{|{zz{|{{{{|{||||{{{{{{{|{z{|||||{{{z|{|{||{{{|||{{z|{zz{{{|||{|{zy{z{{zz{{|{|||}{{{z{{z{|||{}}{|{{{{zz{{{|{|{||||{{|{zzzz{{|{|{|z{{zzz{{z|{{{|{{{{z{z{{z||{}{{|}{z{{{z{{{z{{{{{|{{zzzz{{{{{{{{|z{zz{zzzyz{{{{{}|{{|zy{zz{|{{z|z{{{zyz{{zz{z{z{{{|zzzzzyz{{{z{{|{{zz{z{y|yzz|{{{zzz{z{zzz{|{{{{{{zzz{zzzz{{|{z{{{{zzzyzzz{{z|{{{{{z{z{zzyz{z{z{{|z{zz{zzz|z{zz|zz{{zz{{zz{{{{{{{{|z{y{{zz{{{{{{{{|{{yzz{{|{{{{{{{{zzz{zz{{|{{{{|||z{z{z{z{{{|{|{{{||zz{|{{{||{{{{{z{{z{zz{{|{{{{|{|{z{{z{{|{|||||z{zzz{z{{{{|{|||{|{{{{{z|{{||{|{{{{z{{{{|{||||{{{{|zz|z{{|{|{|}|||zz||{{z|{|{}||{{{{{z{{}|||z|{{{{{{{{{z|z{{{|||{{{{{zz{|{{|{{|{|||z{{{{{|{{{|||{{{zzzzzy|{{|{z{{{{|zz{{|z|{{||{{{{|{{{{|}|{{||||{{|{{{z{{{{|}{z{z{z{{{{|{{{{{{|{{{zzzzy{{|{{||{{{zzyz{z{{{{{|||zz{z{yzzzz|{z||{z{{{zz{z{{{z{{{z|{zzz{z{{z{{{{{|zzz{zzz{zz{{{{{zzz{yzzyzz{{{{||{zz{zz{zz{{{{{}{z{zzzz{zz{{{zzzz|z{zzzzz{{{{{z}|{{z{{z{zzzz{|z|{|{{zz{z{{{{{{|||{{yzzzz{{{{z{{{||{yyzzz{zzzz{{|}{{{{{{{zzz{|{{|z{{{{z{z{{{|}{{|{||y{{zz{{{|{{{|{{{{{{zz{||{||||||{|{{{||{||{|||||{z{|{zzz{{|{}{{||{{{z|{{|{||}|{{{{{|{{|{|||{|||||z{{{{{{||||||}||{||{z{||{|{|{||{z{{|{{{{{{|}{}|{{z{|z|||{{{}|||{|zz{{z{{{|{{||||{{|{{{{{{{||z|{{{{{z{zy{z{{{|{{{{{{zzz{z|{{z|{{{z|{{z{z{}|{|||{|z{|z{z{|{{zz{{|{{|{z{zz{{||{|||{{{zzzzz{|{|{{||{{zzzz{z{z{{{|{{{zz{{zz{{{|zz{{{{{zzz{{{{{z|{{{|zyzz{z{{{{{|z{zzzzz{{zzz{{{{{|{|z{{{{zzz{{{z{{{{{{zzzzzzz{{{z{||{zz{{zz{z{{{z{{{zzzz{z{{z|{z{{{{{zyz{z{{{{{zz|{{zzz{zyz{{{|{{z|{z{{y{{{{||z{{{|{{z{zzzz{z{{{{||{{{{zzz{z{||{{{{|{{{{zzzz|{{{{|{|{{{{{{y{{{{{|{|{{{{|z{{{||||{|||{|{zz{{{|{|||{{{|{z{{{{{|{|{{{||||{{z|||{{|||{|||{{{z{|{||||{||||{z|{z{z}{}|||{{|{{z{z{{{z{{}}||{|{z|{{{|{{|{{||{{|{zz{z{{z{|{|||z{{{{{z{|||{|{|{{|z{{{|{{|{{~{{{{|{z{z|{||{{{|{{z{{zzy{{{{{z|{||zzzz{zz{|z{{|||{{zz{{yzzz|{z{{{yzzyzzzy{|{{{{{|{{zzzzzz{{{zz{|{{zzzzzz{z{{{zz|z{z{z{z{zzzzz{{{|{y{yzz{z{{|z{{{{zyyzzzz{{{z{z|{{zzzzzz{zzz{{{|{z{z{zzz{yz{{{{{{{{zyy{yzz{{z{{{{zz{zz{{zz{{{z|{|{|zzzzz{zz{{z{{{{{yzzzzzz{{{{z{{{{zzzzzzy{|{{{|{{{z{z{z{z{{|{{{{{zz{{{zzz{||{z{{{|zzzzz{{{|{{{||{|z{z{zz{z{{{|{{|{z{{{{zz{|{|{{|||z{|z{z{|{|{{||{|yzz{{z{|||{{{|{|{zz{z{{||{{|{{|{{{{{{zz||{||{|{|{{{{{|{{||}|{{|{|z{|{{{z||||z|||z{{|{z{{{{|{{{{|{{{{z{{{{{||||{{{{{{z{z||{|z{||{{{{z{|{||{z{||{{z|{{{zz{||{|||{|{{{z{{{{{|{{||z{{{{{{{y|{|||{{|{{zz{zz{{{zzz{|zzzzzzzzz{|{|||{|zzz{z{zy{{||z|{{{z{{{zzzz{{{z{{{z{z{z{yz{zzzzzz{zzy{{{zz{z{|{{{{zzzzyzz{{z{|{||{{z{{yzzzz{|{|{||{{z{zzzz{{{z{{z{{{yzzzzzz{z{z{{{zz{zz{zz{|{{{||{z{zz{{zz{{{{y{|{{z{{{z{{{|{{{}|{{z{{z{zzz|{{|yz|zz{{{{{zz||{|{{{{{{{z{z{{{{{{{|{{{z{z{{{||{{z{{||z{z{|{{{||{|{||{z|z{y{{{{{{|{||{{{|z{z|{||||{}||z{|{{z{{{{|{||||{|{|{{{z|{{|}{|{{{{z{{{|}||{}{|{{|z|{{{{{{|||||{{z{{{zz{{||||}}{{z||zz{|{||{|{|z{z{{{|{{{{{{{{|{{zzz{{z|{|{{{{|{{z{z{{z{{{{}{{{{{{{zz{z|{z|{|||z{{{{{{z||{{{{|{z{z{{{|z{{|z{{{{{zz{{zzz{{|{zz{|{z{yzz{yz|{|{|{|z{{z{{zz{z{|{|{{zz{zzyyz{z{zz{z{z{yyz{yz{zz{{{{zzzz{zzzz{{|zz{|z{zz{zzyzz{|{{{{|zz{zyzz{{z{{{{{z{zzzyz{zzz|z{{{{{z{zzzzzzzzz|||zyz{yzz{z{zz|{{{{z{zzzzzz{{{|{z{{{z{{zyz{{{{{{z{|zz{{{z{{{{|zz{z{{y{yzzy{z{{|{{{{{zzzz{{{{z{{{{|{zzz{{{{{z{{|{{{{{{zzz{z{{|{{|{|{{{{{{{|z{||{||{|{y{{zz{z{|||||||{{{{{{{{{{{|{|}{{{{{{{|z{{{{{||||{z{{{{|{||{|{}|{|{|{z{z{||{{||{}{{{z|z{|{{|{|||{{z{{{zz{|{{{||{{{zzz{z{{|{{{|{|{{zz|{{{|{{{{{{|{z{{zzz{{{{{z|{|{{|{zz{{|{{{{{{||{zzzzzz{{||{||{{{z{z{{|{|z||{|{{{{{z{z{{{{}|{||{{{{z{zz{{zzz{||{{z{zz{zz{{{{{{z{{{zzzz{{{{z{{{z{z{zyyzz{z{{{{{{{zzz|zzz{{{z{{{z{z{zzzz{{zzz{z{zz{{{zzzyzz|{{{||{z{z{z{z{{{{z{{|z{zzzz{zz{{{{|{{zz{zzz{{{{{{z{{{z{zy{z{zz{{{{{{{zz{{{z{{{{{{{z{|{z{{z{{zz{|{{||z|zzzzzzz{|{|{|{{{z{{z{{{z{{{|{|{{z{{{{zz{{||{{{{||{{{{{{{|{{||||{{{zzz{|{{{|{|}{z{{{z{{z|{{|{||||{|{{z{z|}{||||{{{|{z{|z{{|z{{}{{{{{{{{{z{|{{|||{{z{z{z||{{{{|{{|{{{zz{{|{|||||||{|{|z{{{|{}z{{|z|{z{{{{{{|{||||{|zz{zz{|{{{|{{|{{{zzzzy||{{{{{z{{{{|{{z{{{{z|{||{|{{{z{|{|{{||||z{z{|{z{{|{|{|{zzzz{{zzzz{{z{z{z{{zzz{z{{{|{|z|{{zzz{zy{{{{{z|z{z{{zzzzz{{{z{{{z{{yz|zyzzz{z{{{zzzzzzz{z{{{z{z{zzzzzzzz{zz{{{}{{zzzzz{zzz|{{{{{zz{z{z{yz{{zz{{{zz{{{z{zz{{z{{{{z{z{zzzzz{{{{{{{{zzzzzzz{{{{{|{|{{{zyz{{{{{{{||{{{zz{{zzz{zz{{{}{z{{zz{{{{|{z||{{z{zzzz{{|||{{{{{z{{{z{z{{{{zz|{zz{{|{{{{{|{||{{{{{{z{}z||{{z|{|{{|{z{z{}||{}{|{|z{z{z{{{|{{{{||z|{{z{{{|{{z||}||{{zzz{{{{{|{|||{{{{z{{{|z{{{||{{yzz|{zzz||{|{}|{{z{{z{{{{{|||{{{{{z{{{|{|{z||{|{{{{zz{zz{{|z|{{{z{z{z{z{{|{{||||{{z{z{{||{{{{||{|z{{{z{{{{|{{|{z{{z{zz{|||{||{{{z|z{z{z{{{{{|z{{{{yzz{z{{|{{z{|z{{z{zyz{||{{||{{{{z|zzz{z{{{{{{{{zyz{yz{zz{|{{{zzzzzz{{{{{zzz{{{{{zy{z{|{z{{{{{{z{{z{zz{||{{z{{zzz{zz{z{{{{z{|{{{{z{y{zz{{{z{|{zzzz{{zy{{{z{}{{{zz{{zyy{{{{{{{{{zz{zz{{{|{{{{|{z{{{z{{{|z{{{{{{z{z{yzzz{{{{|||{z{{{{zyz|{||{{{{|zzz{{zz{|{z{|{|{{|zz{{{|{|{||{z{z{{{{{{|{{||||||z{|{zz{{||{{{|{{{|||{{z{|{||||||{{{|{{{|{{|{{{||{{{{{z{|}|||}||||{z{{{z{|||{|}{{{z{{{{|z||||{||{z{||{{{||{{{||{|{zz{{{{{{z|||{{{{{z{{{z||{{{z||z{{z{yzz{{{{{||||{z{{{{{{}|{{{{{z{{{{|{{{{{|{{}|{|{|{{z{{{{|||{{{{zz{zzz|z||{{{{{z{{zz{zz{z{z{{|z{{zz{zzz{{{z|{{{{{y{{zz|{{z{{|{{zz{{zz{{{{{{{{|{z{{zyz{|{{z{{{z{yzzz{{z{{{{{|{{{{{{{{yzz{{|{{{|{zzzzzyzzz{z{{{|{{zzz{zzz{{{{|{{{y{zz{{{|{{{z|||{{zz{z{{{{{|z|{{{|zzz{zz{{|{||{|{{{{{{z{z{{||z{|{z{{|z{{{{{{{|{|{|{|z{z{|{{{||{z{{{z{zz{{|{|{{|{|{{{z{{{{||{}{|||{|z|{{z}{z{{{|||z{{z{z{|{|}}{||{{{|z{{{||{|||||||{{{{|{{{{|{{}|}{{||{|z{}|{||||||{|{|{{|{{|||{||{|{|z{{{|{{{||{{{{{{|{{||{|}|||{{{z{{{{{{{|||{||z{{{zz|{||{||{|{z|{{zz|{{|z||{|{{{|z{{{{|||{z|{{{{zzz{{{{{|{{|{|{{zz{zzz{|{{||||z{zzz{z{{{|{|{|{{zzz{{z{{{|{|{{zz{zy{{z{{z{{{{{{z{zzyz|z{|z{||z{z{{y{yz{zz|{z{|{zzzzz{z{{{{{{z{zzz{z{zzz{|z|z||z{{yz{z{{z{{{{{{{z{zzz{zz{{{z{|{z{zz{{{{z{{z||{{{z{{{{zzz{{{{{{{{{{z{zzzz{{{{|{{{{{z{z|z{{{|{{{{z{zz{|{{z{{{{|{{|z{{|{{{{|{{{{zz{{{zzz{z{|{|{{||{z{|z{{{|{z{{|{{{z{{|{{{{|||||||{{{{z{|z|{|{{{}|{z{{{{z{{||{|{{{{z{{{{{||{||||}}|{{{{|{{|{{|{||{{z|{{|zz{||{|}}|{zz||{{{|{||{{}|{{zz{{{{||{|||||||{{{{{{|{|{{{||{{{{|{z{|{{{{{||{{{{{z{{{{{{{z{|{{{{zz{z{|{{|{|{|z{|zzz{z|{{{{{|{zz{zzzz{{{{{{{{{z|zz{{{|{{{{{{{{zz{{{z{{{z{{{{{z{{{zzzy{|{z|z{}z{zz{yzz{z{zz|{z{zz{{zz{{|{{z{{{{{zzzzyz{z{{{{||zzzz{yzz{{{|{z{{{zz{y{yzz{{z{{{|zy{zyzzz{z||z{{{zzy{zyzz{{zzzz{|{{yy{zzzz{{zz{{z{zzzzzyz{{|zz{|{zzzz{z{{|z{{{{{{y{zz{z{zzz|{{|{{zzzzzz{{{{{{{{{|{{{zz{{{{{{|{|{{zzzz{{z{y{{{{{{{z{{{{zz{|||z|{{{{zz{{{z{{{|||{{{{zzz{{z{{{z|{||}{z{|{{zz{|{|{{||{z{|z{zz||{{{{{||{|{|{|{{|{{||{{|{{{{{{{|}||}||}{{{{{zz{||{|{{||{{{{z{{|{{{|{|{|{{yz|{z|{|{|||||{zzz{z{z{{{|{{}}{{{{{{yz{||zz|{{{zz{zzzy{{{{{|{|{{{{{{{{{{||{{{{{{zz{z{z{{|{{{z|{{zz{{{y{{z{{||{{z{{zzzz{z{|{{||z{{zzzz{{{z{{|z|zzzz{{{z{{{{{{{|{{zzzz{y{||{z{zzz{zzz{y{z{{{z{{{zzzyzzzz|{{{{{{zz{{zyzy{z{{{{z||zzz{z{zzz{{|z|{|zzzzzzz|zzzz{z{zz{zz{zz{y{z{{{|{{{{zz{zzz{z{{{|{{zzzzzz{z{{z{z{{zz{zyyz{{zzz{z|{z{zzz{y{z{}{{{{{|{zz{z{z|{{|||{|{z|z{zzz{{{{{{|zz{{z|zz{z|{{{{|{{{{z{{{{{{||{|||{{z{{{{{{{{}{{||{{{z{{{z{z{|{{|{{{{{{z{z}{||{||||{{zz|{||{{|{|{||zz{z{{{{}{||{|{{z{|{z||{{||{{||{{|{{{{|{|{|}||||{zzz{{{{|{||{}|zz{{{{zzz{{{|{|{{{{{y{zz{{{{|{{|{zz{{zz{{z{{|||}z{zz{{|z{{|{z|||{z{z{yz{||{|{{{|{z{{{{z{{{{z{{{|{|z{z{z{{{|{zz{|{z{z{zzz{z{{{|{{zzzz{z{zz{{z{{{z{zzz{zzz{z{z{{{{{{{{{zy{{z{zz{{{{{{zzzz{zz{{z{|{{zz{zzzz{|{z{z{z{z{{y{zz{|||{{{{{{{zzzzzzzzzz{{|{{zzzzz{z{zzz|y{yzz{z{{{{{{{z{{z{zz{zzzzz{{{{z{|{y{zzzz{z{{{{{|{{{{{zy{z|{{{{{{{{|{{yz|yz|{|{{z|z{zzz{|{{{{z{z{|{zzzz{z{{{{{{{{{{z{zz{zz{|z|||{{{{{z{{{{z|{{{{||z{{{{{{{}{{|{{{{|y{zzz{{|||{{|||z{{{|z|{{{||||{||z{{z{{{||{||||||{|{{{{{|{{{{||{{{{{{{z{|{{{{||{|{z{{{{{|{{|{}|{{|{z{z{z{{z{|||{{|{{z{{z{{}|{{|{{{|yzzzz{|}{{{{{z{{{z{zyy|{{{{||{{z{zzzz{{|{{|||{{{yzzzz{{{{|{|{{{{{{zz{{{|{z{z{{{{yyzzy{{{|}{{|{{zzzz{z{{{zz{{{zz{zzzzz{zzzz||{{zz{zzzzzzz|zzz{zz{{{z{z{{{{z{|z{{zzzzyz{{{{{{{{z{{{{zzzz{{zzy{z{zz{{zzzzz{{{|||{{zyzzzzz{{{z|||y{z{zzyy||{zz|{|{z{zzyzz{|{{{{||{{{zzyyz{{{{{{{|{zzzy{zz{{{{{{{{{z{{y{zz{{{z||z{{z{{{{zy{||{{{{|{{z{zz{{{{{{{{{|z{{{{z{{{z{}{||{{{{{{{{{{||{{||{{{{|z{{z||{{{||{{{z{z{{z||{||||||{{{{{{{|z{{{||||z{{{|{zz|{||{}|{z|{{{z{{|{{||{{{z{{{z{{{{{||{||{{z{{{z|{{{{{|{|{{{{{{{z{}z|{|||{||zz|{{||{|{{|{{zzy{{{{{zzz{{z{zzyz{z{z|{{{z{{|{{{{z{{{|{|{z{||zz{z{z{z{zz{|{|{zyz{zzz{y{{{{||{{z{zzz{z{{{{{{{|zyzzzzzy{{z{z{{z{yz{{yyy{{zzz|{{y{zzyzz{{zzzzz{{{zz{{yzzz{{z{z{zzzzzzzzzz{{{z{z{{zz{{zz{zz{{{{{|zz{yzzzzzz{z{{{z|zyzzz{y{zzz{{{{zz{z{z{y{{{{{|{{{zz{zyzzz{{{{{|{zy{zzy{z{{{||{{{z{{{{{zy{{z|{{{{z{z{{zzz{{{zz{{|z{z{{{{z{{|{|{{{{z{{zzz{{|z{{{z{{{{zz{z{{{{||{||{{{{{{{{{|{{{||{{z{{{zz{{{|{{||||z{yz{{z{||{{|||{{z{{z|z{{{{||||{{{{z{{|z||{{|||||{{{{zz|{|{{{|||zz{zz{z{{{{{{|{{{{{{{z{{}|{|{||{z{{{zzz{|{{{{|{{{z{{{{y|{z{{{{{zz{zzz{y{{{zz{{{{|{z{z{zz{{{{|{{{zzzzz{z{{z{{{|{z{{{{z{z{{{{{|{{{zz{zyzz{{z|z{{{{{{yyz{z{|{{z|||{z{z{z{y{{z{{{||y{z{zzzzz{{{{{{{{z{zy{zz{zz|z{||yzzzz{yy{{{{{{{|zzzyz{zz|z{z{z{{{zz{zyz{z{zy{{{{{zzyzzzzz{z{z{{|z{zzyyzzz{{zz|{{{z{{{{zyzzzz{|{{{zzzzyzz{{{{z{{|zzzz{zz{{{|{||{{zzzzzz{z{{zzz{{{{{{zzz{zz{z|z{|{{{{zz{yz{{zz|{|{{zzz{{{{{|{{{{{z{{{z{{{{{{{|{{{|z{z{{z{{{|{{{{{|{{|{{{{{{{{{{{|{{z{{{{z||||z|{|}{{{z|zz{|{|{{||||{|{{{{{|}{||{}{|{{{{{{{{|z{{|{||{|{{z{{{|{{|||{{|{{{z{{||{|}|{|z{{zz{{{{|{|||{||{z|{y{z||{{{{{{{y{z{z{zz|||z|{{{{{zz{z{{|||z{{{{{z{|{{z|||||{||z{{{z{yz{z{zz|{|{{{z{zzzz|{{|{{|zy{zzzzz|{{{zzz|{{zzz{{z{{{|z{|{{zzzz{zz{z||{z{zz{y{{|yy{z{{{{{{{zz{{{yy{{z{{{|{{zzzzzz{{{{{{|{{z{zyyz{z{|{{{{{{yzz{{y{zyzz{z{{{z{zz{zzzz{z|{|{|zzzyz{z{{{{{{{{|zzzz{yzz{z{zz{{{{zz|{zz{zz{|{{{{{z{zz{z{z{{z{{{|{{{z{{z|{{{{||||{{{{{z{z{{z{|{{{{z{|zzy{{{{{||{{{{z{{{{{|{z|{|{|z|z{{{|z{{{|||||{|{{z{{z}|||{|}{|{|{{z{{{{||{}{||z{{{{{||{{{||{{|{||{|z{|}|}}{|||{{||{z{{{{}|{|||z{{{z{z|{{||{||{z|{|{z||{{{{|{{z{{{{z{{{|{{{{||{{|{zz{z{{{{{{||{{z{{y{z|{{|{|z{|{zz{zz{z{|{{{{|{{|{{zzzz{{{{|{{z{{{{{{{{{{|{{{{{zz{z{z{z{|{{{{zz{z{z{zy{{|{{|z|z{{zz{z{z{{{{||{{{{zzzz{|{{{{{{{z{{zz{{{{{{||{{{{{{zzzzzyz|z{||z{zz{zzy{{{{zz{z{z{{{{zzzz{z{z{{|{{zz{z{zy{z{z{{|{z{zz{{{{|{z{|z{{zzzz{zyz{z{{{{||zzz{zzzz{z{{{|{{{{zz{{{{{{{{|{{zz{zzzyz{{z{{||{|{{{zyz{z{{|{|{{{z{z{{{{|{|}{|{|{z{{{{z|{z}|{|{||z{{{zz{{{{|{|||{{{{{{{{{||||{|||{|z{|{z|{||{||||{{{zz|{|||||||||{{{z{{|{||{||{z}{{{{|{|||||}{|{|{|{|y{z{|||{}{{{zz{{|z||}{||{|||z{{{{{{|||||||||{{zzz{z{|{{{{|{{z{{{z{z{{{|{|{{z|zzzz{z{|{|{zz{z{z{|{{z{z|{zzz||{zzz{z{z{{|{{|{{zzzzz{{{{{{z{{{{yzyzzzz{{{z{{{|zzzzzzzz{|{zz{|{{yzz{zy{z{{z||||z{z{zzzz{{zz{|{{zzzzzzz{{zzz{{z{zzzyz{zyz{zy{{{zzy{zyzzz{z|z{zz{z{zzy{zzz{{{z{{{{{zzyyyzz{{{{z{|{{zyz{zzzz{{{{{{yzzzz{{zz{{{zz}|{zzz{zzyz{{zzz{|{z{|zz{z{{{|||z|{{zyzzzz{{|{{|{|zz{{zzzz{{{{z|z{{z{{{zz{z{{{{{{|{{{{|zz{||{{{{{|{{|z{zzz{||||||{{{zz{z|{z{{|z}{|zz{{{zz{{|||{{|{{z{|z{z{||{|{|||{|z|zz{{{||{}||||zzz{{{{{|{||{{||||{{z{{|{{|{{}|{{z{{z{||{{||{{{zz{z{z{{{{|{|{{|{|{{|{z{{|{|z{||{{z{{{{z|{{{{{|{zz{z{zzz{{{{{zz{{{{{z{{z{{{{{{{{|z{{{{{{z||{{|||z{z{{z{{{{|{{zz|zzzzzzzz{|{{{{{z{{zzzz{zz{{|{{{zz{{zzzzyzz{{{{{{{z{{{zzzz{zz{|{{zzzzzzzzz{{{z{{{z{{yzzzzz{{{{{{{zzzzzzz{{{|{{z{|{{{{yz{y{{{{z|{{zzzz{zzzzz{z{|zzzzzzzzyz{|z{{{||{zz{{zz{{|zz{{{{{yzzzyzz{z{z{{|{{{z{z{zzz{{{{{{{{{zz{{z{z|z{|z{|{zz{{z{z{{|z{|zzz{zzz{{z{{|{|{|{{{z{{{{{{||{||||{{{zzzz{{{{{|{}{z{z{z|yz{{z}{|||{{{{{zz{||{||{{{{{{z{{{{{||{||||{{{y{{|{z||z||{|}{{|z{{zz|{|||}{{{|{{{{z|{{|||||{z{{{zzz{{{|||||{{{{zz{{{|z{|z{{z{{z{zz{{{{z{|||||z{z{|zz{{{{|{{|zzyzyzz{|{{{{{{zzz{z{zz{{|{{{|}|yz{{zzz{||{|{{{{|zzzzzz{z{{{{|{zzz|zz{{z{||{{|{{{{zz{z{{{|{{{{|{z{zzyzy{{zz{{{{{z{z{zzz{{{zz{z{zzzzzzzzz{{{{|{{zzzzzzz{z{{{{{{{{{zzzzzzz{{{{{{{{z{{yzzyzz{{z{{{z{zzzyzz{z{{zzz|z{zzz{{z{|zzz|{zzzzzz{{zzz{z{{{{{{z{zzzz{||z{|z|z{{zzz{{{|{zz{|{{z{z{yzz{{{{z||{{zzzzzzz{|{{{|{|{z{zzz{{{{|{z{{{{{{{z{z{{{{z{|{{{{z{{z{{z{{|{||{{{|{z{{z|{{|{{||{z{z{{{{{{|{{{}|{|{{{z{{{|{|{|||{{|z||||{|{{||||{{|{{{{{{||||{{{|{{{{{{zz{{{z{{{|{{{{||{{{||{{}||z{{{z{{||{{{{||{{{z{{{|{{{|{{||{{zzzzzz{z{{|{{{zzzz{{z{z{|{||||{|zzzzyz{{{z{{||{zzzzyzz{{{{{||{{{zy{{z{|z{|||||{z{{z{{{{|||{{{{{zzzz{z{{z{{z{{|z{{z{z{z{{{y{|{{{{{z{zzz{{{zz{{{zzz{y{zzzz{|z{{{zzxzzzzy{{{{|{z|{{{zzzzz{{{{{{{{y{|zzzz{{{{{z{||zzzzzzzyzzzzzz{{{zzzzzzy{zz{z|{z{zzz{zzzz{{{{{{z{zzzz{{zz{z{z{z{{z{zzz{zzz{{{z{}z{zzzzz{{z|{|{{{{zz{{zzzz{{{{{{{{z{|zz{{{{{{{{|{zzz{z{{{{||{|{{|{{{{{zz{{{{|{z|{z{zz|{{{{{||{||{{{{{z{yz{z|{{{|{|z{{{zzz|||{|}||z{{{z|{|||y{||{||{{{{{{{{|z|{|||{{z|z{{{{||}{{||{z{z{{{|{z|{||||z{z{{{{z{{|||{|||{{z{{{{{|{||z}|{|z{{zzz{{{{|||{{zzz{zzz||||{{z{zz{zzz{zz||{{{|{z{{{zzy{{zzz{||{zzzzzz{z{z{z|{z{{zz{zzzz{zzz{{|{zz{y{yzy|z|{{{{|zzzzz{zyz|z{{{z{zzzzzyz{{zzz{{{{{yyzzzzzz{{y{z{{{zzzzzzyz{{z{z{{zzz{zzyz{{z{{{{zzz{zzzzy{{z{{{|{{zzzzzzyz{zzz{z{zzzyzzzzz{zz{{{{zzzzz{{y{{{{z{z{{zyzzzz{z{{{z|{{z{zz{zz{{{{{{{{{zz{{zz{{{{{{{|||{{{zzy{{z{{{{{{{{z{zzzz{z|{{{z|{{z{{{zz{{{z{{{{{|{{{z{{|{{{{|{{{{z{z{z|{{{{{|{{{z{{z{||{z{{|||{|{z|z{zz{{{{||{{{{{zz{{z{{|{{{{{|{z{{|{z{|||{|{||{z{{{z{{{||{{{{|{{{{{{{{{{{|||||{{|z{{z|{{{{{{|{|{|{zz{{|{{{{z}{{zzyzzzz{{{{{{{{{z|zz{zz{z{{|}||z{{zz{{z{{z{{z|{{zz{zzzz{z{{{|{|{{zz{{yz{{{|{||{{zzyzzz{{z{{zz|{zz{zz{zy{{{|z{z|zzyzz{zzz{zzz|{{z{zzyz{z{|{{z{{{z{zzzyzzzzy{{{{|{zzzzzzz{|zz{z{z{zzzzzyz{|{{|z{{zzz{zzzzz{z{{{{z{yyzzyyxy{z{{|zzyyzzzzyzz{xzy{z{yzzzz{zy{zz{|{|{zzzzyzyzz{{z{{{{{y{{{z{z{{{z{{{{{yz{yyzz{z{{{z{|zzzzzzzzzz{||{{{zz{zzz{zz{{{{{{|{{{z{{z{{{{z{z|z{{zz{{{zzz{{{z{{{z{y{z{{{|{z{{{|{z{z{zzy|{||{|{||{{{z{zy|}{{||||{{z{{{{{{{{{||{||{z{{z{zz|{{||}|}{{{{{z{||||z{{{|zzz{z{{{z{{{{{|{{{{{{z{{{{{||{|{{{z{|zz{{|||{{{|zy{zzzz{{{|z||{{y{z{zz{{zz{{|{{{{zzzz{z|{{|z{{|z{{{{{zz{{zz{{{{zzzyz{zy{z|{z|z{{z{zz{{{{{{|z{|z{{{zyyzy|{{|z{{{{zzzzz{z{|z{{{{zzzzzzy{z{{z{zz{|zyzz{zzzz{zz{zz|{zyyzyz{{{z{yzzz{zzz{{y{zz{z{{z{zy{zyzzzzzzz{z{{{zzyz{zzzzzzzzzzz{yz{zzyzzzzz|{zzzzy{zyyzzzz{z|{z{zz{yzy{{z{{{|{{z{zzy{z{{{|z{z{zz{zzy{{zz{zz|{{{{yyzy{zz{{{{|z|{z{zz{{zz{|{{{|{{zzzzzz{zz{z{{{|{{{|{z{{{{{{||{z{{{{zz{{{{{||{{{zzz|{{zz{{{{{{{{|z{{{{{z|{{{|{|{z{{{z{|{{}z{{{{|{{{z{{{z{||{||{{{z{{z{{{}{||{{|{|{{{{{{{{{||{||{{z{z{zz{{{|{|||{{z{z{z{{{{{{{{|{{{z{{z{y{|{|z{||{{zy{zz{{{{|{|{{zz{{{{zzyz{zz{{|{{zzz{z{{|{z{{||zzz{{{{{{{{|{{{{{zzzz{zzz{|{{{{{zzzyz{{y{{{{{{{|{z{{zz{yz{{{{|{zzzzzzy{z{{|z{{||zzzyzzzz{z{{{{{{y{zzzyzzz{{{{{{z{z{{{z{zzz{{{zz{z{{zyzyy{{|{{z{z{zz{zzzyzzy{z{{{{z{z{{zzz{z{{{{{{z{z{zzzzzz{{|{{{zz{{{zy{{{{z{{{z{z{zzzy{z{|z{{|{z{zz{z{z{{{{|{{{{z|zz{{{{{{{|{{{{zz{{{y{|{{|z}{zz|{zzz{{{{{z{{||{{zz{{{{{{||||{z{|{z{{z||{|{{||||{{{{{{z|||{{z||z{z{z{z|{|{{{|||z|zz{{{{|{{||{||{z{z{{{{|||||{{{{|z{{{z{|}{|||{|{{z{zz{{{|{|{{||{{{{{{{{{{|||{{{|{z{z{{{{|}z}|{{|y{z{{z{{{|{z|{{zz{zzzz{|{|z{{|{zzz{{{{z{{{{{{{{{{zzzzzz{{{|{||{{zzz{{{{{|z{|||{z{{zzzy{|{{{{{{zz{{z{z{{{|{{zz{{zz{z{zyz|{z{{{z{zzzzzzzz{|z{{{|zyzzz{zz{{yz{{|{zz{y{zzzz{|z{z{{zz{zz{yz{{|{{{|z{z{zzyzz{|{|{{{zz{{{{zzzzz{{z{z{zz{zzzzyz{{{z{{{{zz{zzzz{{{{z{{{{zz{zz{z||{|{{{|{{{{zz{{zz{{{z{|{{{z{zzz{{{{{{|{{z{{{z{z{|{{|||{{{z{zzzzz{|{{{{{{z{|zz{zz|{{z{||{{{{{zz{z{{|{{{|zz{{{z{{{|z|{|{{{{{{zzz{z{||}{}{{{{{zz{z{||{|||{{{{{{|{y{{|{|||||{|{{{{{|||{{|{||{|z{{{|{{{}{||{{z{z{z{{{|{|{|{|{{{{{{{||{{|{|{|{{{z{{{{{|{{{{{|{z{zzz{z{|||{||{{|z{{yzz{{zzz{{|{z|{{z|z{{|{{{{{{z{zyz{z|{{{|{|{}zzz{z{z{{|{{{{{zz{zzyz{z{{{{|||{{{zzzzzz{{{{{z{{{{zz{zz{|{z{|||{zzzzyzz{{{{z|{z{zz{zz{zzzz{z{{|zzzzzzzzzz|z{{{{{y{zzyyz{z{{|{{|{{z{zzz{zzzzz{{{{zzzzzyyy{{z{{{z{zzyzyzyzz{{{{{|{zz{z{zz{{{|{{{|{z{zz{{{{{z{{||{|z{zyz{z{{{{|{z|{zzzzzzz{{{|z{z|{{{{{zzzz{|{{|{{{{zz{{zz{{{{|{{{{z{{zzzzz{{{{||{{{{z{{{{z{||{{||zyzz{{{z{|||{}||{{z{{{{{{|{||{{{{z{{{{{{||}{{||{{{}z{{{{||}||{|}{z|{{{{z{{|||{||{{{{{{{{|{|{{{|||z{{{z{|{{{||||{{z{||{{{{|||||||{{{z{{{z{{|{{}||{z{{zzz{||{||{{{z{zz{zzz{{{{||{{{z{|zz{z{{{{{{z{|zz{zzzz{{{|{{{|z{{y|{z|z{{|{|{{{{zzzzzzzz|{z{|{z{|zyzzz{{|{{|z|{{{zz{zz{{|z{{}|{z{zzzzz{z|{z{y{z{zyzzyz{{{|{{{|{yzz{{zz{{{{z{|{{zyzz{zz{z|z{{z|y{zzyzyz{{z{z{{{{{{zzy{zzz{z{{{{{zzz{yzy{zz{{|zzzzzyz{zz{zzz{z|{zzzz{z{{{{z{{{{}zzzy{{zyz{{z{|{|z{zz{{{zz{{{z|{{{{zzzz{{{{{{||zz|z{yzyz{|{{{z{|{{zz{{z{z{{{{{{||{|{{{z{z{|||{{|{zz{{{{{{{{z{z||{{{z{zzz{{{{|{{|{{{{{{{|{||z{{{{{{{z{{{||{|||||{||{{{z{{{{||||{||{{{|zz{{||{{|||{{{{{{{z{{{{{||{{{zz|{zzz|{||{|{|{{z|{z{{{|{{{{|z|{z{zz{{{|{{{|{{{zzy{{{yz{||{}z|y{z{zz{zz{|{z{|{{zzz{zzz|{|z{{{{z{{z{{zz{{zz{{|{{zzz{zzz{{z{z{{{{{zyz{{z{z{{{{{|{{zz{{|zz{{zz{|{{zzzz{yy{{{zz{{{{{y{zzzz{{{{zz{zzz{yzzzzz{{zz{{{zzz{zyzzz{{{{{{{z{{zzzy{{{{z{z{{zzzzzyzz{{zzz|{{zz{{{zzzzz{{z|{{{{yzzzzz{zz{{{|{|zzz{zzy||{{{{{|{{{{yzzzz{{{{{||zzy{zz{{zz{{{{{{{{|zzy{{{{{|z{{||z{{z{z{{{{{zz{|{{{{{z{{{z{{{|{{{{{|{{z|{{|||{||zz{zzz{|z||{|}||y{{{{zzz{|{{}{||{z{{{zzz{|{{{|}{{z{{{{{{||||{{{{|{{zz{z|||{||{{|zz{z{|{{|||{|||||z{{{{z}{{||{{||{z{z|zz{{||{z{||{z{z{{{{{||{z{||{{zz{{{z{{{|||{{z{{zzzzz{{||z{{|{z{|zzyzz{{{{{{{{zzyzzzz{{zz|{{z{z{z{{{{{{z||{{{{{{{zzz{z{|{zz{{{z{zyzzz{{|{{{{|{z{y{yzzz{y{z{|z{{zzzzzzz{{z{{{zzzzzzzy{zzz{z|{zz{{z{y{zzzz{||{{{zzz{zyz{z{z|{{zz{yz{{zzz{z{z{z{zzzz{zzyzzzy{{zz{z{zzz{zzz{z{{|{zz{zz{zzz{{{{{|{z{yzzzzz{z{{z{{{zz{{zz{zz{zz{{{|{z{{zz{z|{|{{z{{{{{z|{{z{{{{z{{{{z{zzz{z{z{{{{{zzzz{z{zz{{||{{{zzzz{z{z{z{|||||{{{zzzz{{{|{|{{{|{zz{{{z{{{{{{{|||{{{{{z{{{|{{|||{|z{{{{{||z|||||{z{{{{{{||{{{{{{|z|{z{|{|}|||||{|{{z{zy{{|{|||||{zz{|{z{{|{{|{{|{{{z{{zz{|{{{{{|{{{z{z{z{{{|}{||{{{{zzzz{|{{{{z{{{{zzzzzz|{{zz{|{z{zz{zz{{{{{{{{{z{zz{yy|{{||{{{{{yzzzzyz{{{{z|z{z{yzzzz{{z{z{z|{z{zzzzyz{z{{z{zz{zz{zz{{y{{{{{{{{yyyzyz{zzzz{{|zzyzzzzz{{z{z{{zyzzzyzzzz{{|{zz{{z{zzzz{zzz{{|{{zyyzzzzyzzzzzz{zzzzzzzzzz{z{z|{zzyzz{{{zzz|{{{{{{{zzzzzz{|zzzzz{z{zzzz{y{{z{{{{|{{z{zzzzzz{{z{|{{z{zzzz{z{|{{{{{zy{z{zzz{zz{z{{|z{{{zzz{{|z{{{{{z{{z{zz{{{|{|z{{z{{z{{{z|{{|{|||{{z{zzyz|{|{{|{{{{z{z{{{||{{|{{|{{|{{z{{{{z{|{{|{{{z{zz|{{{|}||{z{||{z{{{{{{{||{z{{{{{zz{{{|{{||z{{{|{{{{{z{{{{|{{{z|zy{{{|{|||{|{{z{z{y{{{{z|{{{{{y{yz{{{{{z|{z{zzzz{yz{{{{{{|{z{zzz{zyzz{{z|{{{{{zz{{{{{{||{z|zzzzzz{z{{z{{z||{zzzz{yzzz{z{{z{{z{yzzzzz{z{z{{z|y{zzzzzz{{{z{{{{{yzzzzz{z{{y{z|{zzzz{z{z{{z{{{{{zzzyzyz|{{y|{{{zzzzzz{zzz{{z|{{zzzyzzyyyzz{{z{{zzyzzyz{z|zzz{{zzz{{yzzzz{{z{|zzzzzyzzzzz{z{z{{{zyzyzzzz{{{{z|{|{zzyzyzz{{{{{{{z|z{zyzzz{{{{{{zz{{zzzzzy{{||{{{{zz{{{z{{||{|{z{{{zzz{{y{|{{|{{{{{zzz{{|{{|z{{||||z{z{y{zzz{|{|{{zzz{{{{{|}{z{|{{{zzzz{{{{|{{||{{|{{z{|{{{||||||||z{z{z{z{||{{||{{zyz{{z{{{|{z||{|z{{{|z{{{|{|||{z{zz{z{zz{{{|{{{zz{zz{zz{|{{{|{z{{{yz{z{|||{{{y{zzzz{{zy{{{z{z{{{zzz{zzy{{{{|||{zzyyzzz{{{{{||{{z{z{y{yz{{{zzzz{z{yzz{{zz{{z||{{zzzzy{zyz{z{z{z{{z{zzzyyz{{{{{{{zzzzz{zzz{{{{{{{z{zzzzzz{{{{z{zz{yzyyyy{z{{z{z{z{yzyyzyzz{{zy{{zzzzy{zzyzzzzzz{{zzzzzyzzzzz{z{{z{zz{{yzzzz{{{{|{yzz{zy{{|z|{{{{{zzyzzz{zz{zz{z{{zzzzzzzz{|{{{z{{zz{{{{y{{{z{z{|{{zzzyz{z|{{{{{{{z{{{{{yz{|{{{zz{{z{{z{zz{|{|{{{|yz{z{{{z{{{|{{{{|{{zzzzzz{{|{{{{{z{{|{z{{{{}z{{{zz{zz|z{z{{z|{|{|{{{z{{{z|{{{|{||{z{zz{z{{||{{|zzzy{zzz{z{|{z|||{|{{||z{z|{{||{{{{zz{{z{{{z{{{{{{{zzzzz{z||{{z{{zz{{{zzz|z{{z|{{{{{z{z{zz|{{{{{{z{z{zy{z{z{{z{|z{zzzzz{y{zzz{{|{zy{{zzz{zz{{{{{{zzz{{z|zzz{{{{||{{{zz{zyz{zz{{{{{{{{z{z{z}|{{{zz{y{zzzyz|{zzz{{{zzzzzzyz{z|zz{{{zzzzzzzz{{z{{z{{zz{zzzzzz{{|z{z{zzzzyyzz{{zzzzz{{{zzzzzzz{z{{{{{zz{zz{zzz{{{zz{{zzz{zzy{{{{z{{{{zz{zzzzzz{zzz{z{z{z{z{{zz{|z|{{|{{{z{{{z{{|{{{{{{zz{z{zzz{{{{{|{zz{z{zz{{{|{{{{{{zz{|zzzzz|||{{|{zz{{z{{y|||{||}{z{|{yzz||{|||{{{zzzz{zz{||||{{|{{{z{zz{{{|||}|{|{{{{{z|{|{|{||||{{{|zz{||{{{|{||{{zzz{z{|{{||{{|{z{{zz{{{{{{||{{{{zz{zz{||{{||||{{{{{zz{~{|{||{{z{{zzzz{{z{|{z{z{{zzzzz{{{{{z{{|{z|zz{z{{{{z{{{{{{|z{{z{z{|z{{{{{z{{z{zz|{{{{{|{z|zz{yz|{z|z|{{z{zz{z{zzz{zz{}|{zzzz{yz|{{|{{{{z{zyz{zzz{{{{{{z{zyzzzzzz{{{z{{{zyzzzzzz{{|z{{y{{{zz{y{{{zz||z{|{yz{{z{y{{zz{{{{{zzzzyz{z|zz{|{|{zzz{z{zz{z{zz{{{zzz{z{z{|{{{|{|{{{{zz{{{{z{z{|{|{{{z{{zz||{{{|{{{{z{yz{z{|{{|z{{{{{zzz{z|{{{{|{{{z{{{{{{{{{{||{{{{{zz|{{|{|||{|z|zz|{{z|{||{|||z{{zz{{z{{|||}{|{{{{{{{|||{{{|}|z{|{{z{{{{|||||}}z{{|{{z{}||{|||{z|{{zz{||{|{|||||{||{z{{{{||{{{{|{{|{y{{{||||{|{{{{zzzz{||{|{||{zz{{{zz{|||{||{z{|y{{{{{{{{{{|{{yz{zz{z|{||{z||{{{{{z{z|{{||{{|{{{{{{z{{|{{{|||{z|z{zz{{|||{z{|{{zzzzzz{{||{{{|{zyz{{{{{{{z{|||{z{zy{zzz{{{|{{|z{zzzzz{{{z{{z{{{zzzzyzzz{{{z{|zz{{zzzz{{z|z{|{{yyz{z{zzz{{{{{|{{{zz{z{zz{{z{{z{|zzz{zzzzzzz{||zyz{yz{zzzzz{{{{{{zz{{z{z||{zz||{zzzzzz{z{z{z{|{{{z{{zz{z{{z{z{{|{{{{{yzz{}{|||z{{z{{{z{{{{{{{||||{{zz|{{|{{{z|{{{{{{z{z{{|||||{|{{z{z{{z{|{z{|{|{|{{{{{{|}||{||{{z{{||z{|||||{||{{z{{{{{|{||||}||{{{{{|{{}{}|}||{{{{{|{{}}|{|{|{{{{{{|{{|{{|{|||{{{{{{{{{|{{|{|||{{z{{z{{{||||{|{{{{{{z{|{|||||{{{{zzz{{{{{{{{{{zz{zzzzz{{z||{{{{{{{zzzz{z{{{|{{|zzz{z{{|z{{{{{{zzzzzz{{{{|{z{{{{{zzzz{y{{{z{{{{{zz{{y{z{{{yz{{y{{{{zzzz{{|{zz|{zz{zzzz{{z{{{|{|z{zzyzz{z{|{z{|{{zz{zzzy{{|z{{{{zzzzzyzz{{z{{{||zz{z{{yz{{zzz{{{z{zz{zzzzzz{{{{{zzzzz{zzzz{{z{{{{zyz{yzzz|{{{{{{zy{{{zzz{{{{{{{|{zzyz{{zzz{z{{{{z{z|{z{{{z{{{||{z{|{{z{zz{{{{{{{{{{{{z{{{{{{{{{|{zzz{{{{{||||{|{z{{{zz{{{{{{z|||{{z{{{{z{|{||||||z{{|{z{||||{{|{{{|{{{{{{z||{{{{{{{z{|{|{}|{{{|}z{{{z{{{{|{|{||{|{{{|{{{{{{|||||{|{||z|{{z{|||||z{{{{z{{{{{{{{{|{{zzz{z{|||z{|{{{y|{{{{{{{{{{{|{{zz{z{zz{{{z{{{zzzz{zzz{{{{{{{|{{{{yz{z{{{z{|{||{zzzz{{z{{|{z{{|z{zzzzzyz{{{{{{{{zz{zzz{y{{{z{|{z{{{{y{z{z{{{{{{yz{zzzz{{z{{{{z{yzzzyyzzz{{z{{{{zzyzzzyz{z{z{{z{yzyz{zzzz{y{z{{{{yz{{zzzz{{yz{{{z{zy{zzzz|yzzz|{yzz{zzyz{z{{{{|{{zzzzz{z{{{{z{{{zzz{zz{zz{zzz{{{{z{yyyzz|z{{{{{{|{z{zz|{{z{{||{{{z{{y{zzz{{{{{|{{zzzzzz{{||{y|{{{z{{z{{{{{{||{|z{{{{{{z{{{|{||||{{z{{zz||{{|{{{{|{{z{{|{|{{{{{{|{z{z{|{z{{{||{{|{zz{z{{|{|{{}{|{{{|z{{{{{|{{{{{}{{z{{{z{{{{{|{{{{{z|{{|z{||{{z{|{{z{{{{zz|{|{|{{z|z{zzy{{||{{{||{zzzzzzz|{}{|{{z{zzz{{{z|{{{z|{|{{{zzzzz{|{{|{z|{{{z{{{z{{{{{|{{{z{|{{{zz{{||{||{zzzy|{z{z{{{{{|zz{{{zzzz{zz{{{z{zyzzzzz{{{{{z{|{{zzzy{z{z{{{{||yzzzzzyz{z{{{{|{{zyyz{zz{{{{|{z{zy{zzzyyz{{z{|{z{{zyzzzyzzzz{{{z{zzz{zzz{{{{{{z{zz{{{z{zz{z{z{{{{{zzzzzzz{{{{{z{{y{zzzz|{zzz{||{z{zzzzz{{{{|{{|{|{{{{z|zz|z{{}{{|{{zz{yz{|{{{|{{{zz{z{z{{{{{{{|{{{z{{{{{{{{{||{|{{{z{z{{||z{{|}|{{{{zz{z{{|}{||||{|{{{z{||||{{}|{zz{{{{{{{{||{{|{{{|z||{{}z||||||{||{{{{|{}|{{}|{{{{{{{{{||{{{|{|{{{|{{{||{{{||{||z{{z{z|{||||{{{{{{{zzz{|{|{{|{|{|{z{zz||{|{|{{{zy{z{{{{{{{{z{{{{z{zyzz{|z{{z{{{z{zzzz{|{{z|{{{|z{z{zz{{{{z{{{{{yzz{{zz{z{{{||{{z{zzzzyzzzz{{|{|{zzyzzzzz{zz{|{zzzzz{zzz{z{{|{{zzzy{zzz{{{zz{zzzyzyz{yy{z|z{{{{zzz{zyzzz|{{{{{{{zzzz{zy{zzzyzz{zzxzyzzyz{z{{{z{zz{yzzzyz{{zz{||z{zzzy{z{{{{{{||{zz{zzzz{{z{z|{{{z{z{zz{{{{z{{|{z{zzzz{zz|{{{}{|zz{{{{z{{{{{{|||{{{{zz{z|||{{{z{|{|z{y{z{||{{{||{zz|{z{{|{{|{||{{{|{{z{z{||{|{{{{z{{{{|{||||{{|{{{z{{{{{{|{|{{{|}{{{{|z{}|||{{|{{{{{{z{z{{|||{|{|zzz{zyz{{|{||||{{{|{zz{|{{{{{{|{|{{zz{{||{{{|z{{{{zz{{zz{z||{{|{z{{zzz{{{{||{{{yzz{zzzz{{{{|z{||zz{zz{zy{{z{{{|z{{{y{z{|{{{z{}{{zzzzzzz{{{{zz|{z{zzzz{z{z{{z|||z{zyz{zzz|{yz{z{{z{zzzyz{{{{z{{z{zzzyzzzz{zz{{{zzz{{zzy{y{zzzz{zzz{zzzzy{{{zz{{{y{zyzzz{{{{z{{|{zyyz{zzzzzzzz{{{yzzzyyyzz|z|{{{{{{zz{{zz{zz{{z{{z|zzzzz|{zz{z}{|z{{zzz{{{z{z{z{|{{{{zzy{{z{{{zzzz{zzzzzzz|{z{{{|{z{{{z{{{{{{{|||{zzz{{{{{{|{{|{|zyzz{z{{{{|{|{|{{{|z{{{{{|{||{|{{{{zz{z{||{{{{{||z{{|{{{{{{{{|{|{z{{|{{z||{{|}|||{{{z|{{z||}||{||{z{{{{z{||||{{|{z|{{{z{{{|{|{|{|{{{{zz{{{|{||||{z{z{{z|{{{||{}|{zzz{{{z{||{{|{|z{{z{zzz{||{{{{|{{{{{{z{{{|{zz{{{z{zzzzz{{{z{{{|{zz{{zzzzz{{{|{{{z{{zx{{zz{|{{{{{z{zzz{z{z{{{{z|zz{yzzzyz{{z{|{zzzzyyzzz{zz{|{zz{yzzzz{z{{z{{{{{{zzzzyyzz{{{{z{zzzzzzzy{{{{yz{{{zzyzzzz{z{z|{{z{zzzzzzyzz{zzzz|z{zzy{zzyz|{{zz||{z{z{zzzz{z{{zzzzzzyzzzzz{{{{{z{{zzzyzzz{{|z{{{{zz{{{z{{{{{{{{{{zz{{{zzzz{|{{|{{{yzzz{yy{|z}z{|{zz|{{{{z{|{z{z|{z{{zz{zz{z||{{||zz{zz{zz{|{{{|{|zz{|zzzzz||{||z{{z{z{{{z|{|{||||{|{{zz{|{{{{||{{{{{|z{{z{||{|||{|{{{zzzz||{|{||||z{z{z{{z|{|{{{{||{z|{{z{{||{||||{{z{z{zz|{{{{|{z{zz{zz{{{||{{z{{{|{z{{{{||{zz||{z{zz{|y{{z{|{z|{{{z|zyz{{|{{{|{zzy{{{yz{{{{{{{|{{{z{zzyzz{{{{|{z{{zzzzz{z|{||{{zzzz{y{yzz{{z||zzyzz{{zyz{z|{zz{{{zzzz{zz{{z{{z{{zyz{yzzzzzzz{{{{zz{{zzyz{|{|{{{z{zzyzzzz|{{zzz{{zyzzyyzzyzzz{z{{{{yzzzzzzzz{{{{zzzyzz{y{z{{zz{{yzzz{yz{{z{{z{|{{y{zzy{zz{|{{{{|zzzzyzzz{{{{{|||z{{z{z{y{|z|{|{{{{{z{zzz{|{{{{|{{{{{{y{zz|z{z{||{{z{z{{{|{{{||||{{z{|z{{{|{{||||{{zzz{z{{|{{{{|||z{{zzzz||||||{|{z{zz{{z||{{{{|{|zz{z{z{{||{{||||z{{zzz{|||{{|{z{zz{zz{zz{{{||}{{z{{{zz{{|{||{{}|z{{{zz{z{|||||{{{{|zzzz{|||{{{{}{zz{zz{{{|{{|z|zyzz{z{z{{||{{||y{z{{zy{{z{{|{||{{yz{z{{z{z|{{|z|zzz{zzz{{{{z|{|z{zzyy{{{{{{{{z{z{zzyz{yz|z{z{{{{zzz{yzzzzz{zzzz{zzzz{zzzyy{z{{zzzzzzzzz{{|{z{{yzz{zz{y{zz{z{{|{z{zyzyzzz{zzzz{{zzzz{y{y{y{zz{{{{zzzzzzyzz{zz{{zzz{{zzzyzz{zz{{{{zyyzz{z{{{{{{|{{yzzzyzz|z{{zzzz{zzzzy{{z{{{{{|{zzz{{z{zz{{{{{{{{zzyz{zyz||{{||{{zz{zzz|z{{z{{{{zz{z{{{{{z{|||{|z|{z{z{{{{z{{||{{|{{{|yz{{||{{||{zz{{zzz{{||||||{{{{z|{{|z|z|||||{{zz{{|{|{|{{{|{yz{|z{{{{{{||||{z{{{{zz{{{|{||{zz{{{{z{{|{{|{|{{{zz{y{z{{{z|{|{{z{{zzzz{{|{{{|{zz{{zz{z{{|{{||{zzzz{{{{z{{z{|{z{{zzzzzzz{|{{{{|{{zz{z{z|{|{{{{|{z{{zzz{{||{z}|{{zzzzy{zz{{{|{||{{{z{{{y{|zz{{|{{z{{{zz{{|{{{||z{zzy{{{zzz{{{||{z|zzz{zy{{{z{||{z|zzzzzz{zzzz{|{zz{zzzzzz{{{{{{{{zzz{yzzy{{{zzzz{zzyzzzyz{{{{{{{z{{zz|yz{{{z{{|{{zzz{zz{{{|{z{{|zzzzzyz{{{|{|{z|z{zyz{{{{|z{{{|{z{{{zy{{{|||z{{||zzzzzy{{}{{{{{{{{{|{{zz||{{{{||{z{{{z{{{|{|{{}|{|{{{{{|{|{||{}{{|{{{z{{|||||||{{z{{{z|z{|{|||{{{|{|{{|{{{{{|||}|{{||{{{||{{|}{|{z{{{{{{|||||}{{{z|{}{{{|{|{{||||{{{{{z{||{{|{||||zz|{{{{|{{|{{z|{|{z{{{{{{|{{||{z|zzz{|{|{{{|{{z{z{z{zz{|}{z{|{|z{{{zzz{{{{{|{|{|{z{{zyz{{{{||{{{{zzzz{{|{{zz}|zzz{yz{y|{{{|}{{{{{{zzzz||{{zz||{z{|z{zzzz{z{|{{zz{zzzzz{zz{{|{|{z{zz{zz{zz{{z{{{zzzz{z{zz|z{||{{zz{zyzz{{{{z{{||{z{zzzzz{{{z{{{{{zz{z{{zz{z{|{|{z{{{{zzzz{{z{|||{zz{z{{{|{{{{z|yzz{z{|{{{{{{{{{z{{{zy{z{|{{{{{{{{{{{z{z{{{{}{{{{{{{{zz{||}|{{|{{{z{zz{{{||{|{{|{zz{z{z{{z||||||{{{{{{{{{{|{{|||{zz{|zzz{{|||z{|{z||{z{{{|||{||||{{z{{|{{||||||}|{z{z{zz|{{||||{|z{{{zz{{|||||{|{y{|{{{{||||}{|{{|{{{|z{|||{||{{{|{{zz{z{|{{|||||z{|zz{z{||||{{{{{{z{{{{{|{||{{{zy{zzzyyzz{z{{{{{zzz{yzy|{{{zz{{zzyzzz{z{{zz{{|{{zzyz{{z{|||z{z{{{z{zy{{{z{{{{{{z|{yzy{z{{{zzz{{{{zzzzzzz{{zy{{zz{z{zzzzz{|zz{{zy|zzzy{zz{zzz{zzzzzzyzyzzz{z{z{{z{{zzzzzzzz{z{{{zy{{zzzy{{zz{{|zzzzzzzyyz{z{z{{{zzzzzzyzz{{|{{{{z{zyzzzy{{{z{{{{{y{z{zzzz|z{{{z|zzzz{zzzz{{z{{z{z{|{z{zzz{{{|{{{{zzz{{zz{{{{{{{{{zzzzz{z{||{z}{{zz{{{z{{{|{{|{{{{z{{{|{z|{z}{||{{zzz{zzy{|{|{|}{{z|{|{{{|{{{{||{{{{{z|zz{|{{{{|||{{zz{z{||{|{||{z{|{z{{{{|||{z||{zzz{{{{{|{{{|{{|z{{|{zz|{z{{{||{{{yz{z{{z{{|||{{zz|{{{{zz||}||{{{z{{z{z{{||{|||{zz{{{zzz{{z{{||zzz{z{zzz|z|{{{|{z{yzzzy{{|{{{|{{|z{{zzzzzz{zz{zz{yz{z{z{{{|{{{{|zzyz{yzz{{z{||{{z{{zyzz{|{{z{{{{{{z{zzz{{{|{{{zzzzzy{{yz{zz{{|z{z{{yzyz{z{{z|{{zyzzy{z{y{{z|{{z{{z{zzzzz{zzy{zzzzzzzzzzy{z{{{yzyzzzzzzz{zz{{{{{{zzzzzz{{{{{{z{|{zzyzzzzz{|{{zz|{z{yzzzzz{{|z|{{zzzzzz{z{{{z{{{{{zzz{yz{z{{{{{|z{{{zz{{|{|z{{|{{{{zz{{{z{{|{{||{{zzz{zz|{|{|{{{|{{z{{zz{{{|{{{{{|zz{{{{{{|{{{{{|{{||{{{z{||{z}|||{{{z{{{{}|{|||{|z||{|{{{||{{{|{{zz|{{{{z|{{{|{{||||{{z{z{{||{{{|z{{{{z{{|{{{||{z|{zzz{{{|||{{{|z{z{zz{z{||}|{{{zzz{z{yzz{|{{{{{z{y{{yzyz{{{{||}z{{zz{{z{{z{z|||zz{z{zzz{{{{{{{z{{{zzzzy{{zzz{{|z{z{{z{z{z{{{{{|{{z{yzzz{z{zzz{z{zzzz{y{{z{{z{{{zzzzzzzz{z{z{{{zzz{zzzzzz{{{{z{z{zzzyzzzz{{{z{|{|zzyzy{z{{{yz{{{{zzzzzzz{zz{zzz{zzz{z{zzz{|{{{|{z{zzzz{z{{|{z|{|zzzz{z{z{{{{z{||zzz{zzzz{{{{{{||{|zz{{{{||{{|{{{{{|zz{yz{{|{{|||z{{{{zz{{|{{{{{z{{zzzz|{{{{|{|z|y{{{{{{{{z{|{||{{{|{{z{z{{{{{||{zz|{zzz{{||{}{{{|z|z{{|{|||{{{|{|zzz{{z{||{|}|||{|{{zzz{||{{{{|{{|z{{z{{{{{{|{{{{z{||{{{|{{|||{|{z{zzzzzz{{{{||z}{zzzz{z{|{{{{||z|{{zy{{||{}|{{{zzzzzyzyzz|z{|{zz{yzy{{zzzz{{{{{{zzyyzzz{{z|z{|{{zzzzzyzzz|zzz{{zz{{{z{{zzz{{{{|{zz{{y{zzzz{y{{z{zzyyzyz{{{{{z{{{z{yz{zz{z{z{{{{{zyzyzzzz{{zz{z{zyzyzzz{yz{y{{{{{zzyzyzyzzzzz{{{zyzzz{{yzzzzzz{{{zzyyzyz{{z{z|{zzyzzzyzzz{{{{|{{yzzyzzzz{{zzzz{|{z{{{zzyz{zz{{|z{zzzzz{z{{{{{|{{|zzzzzz{{{{z{{zzz{{z{zzzz{{zz|{z{{zz|{zz{|{{{{{{{z{zzzyzz{|{|{|{{z{{{{|{{{{{{{||zzz{{{zzz|{|{{||{z{zzz{{}|{|{||{{{zz{{{{{{{|{|{|{{{|{{z{{}{|{|{{{z{zzzz{{{{z|{||{zz{{{{{{{{{{{{}|{z{{{{{{|{{|{||{{{z{{{{{{{{{{|{{zz{{z{{{{z|z{|{{{{z{{{z||{||z{{zz{zzzzzz{zz{z{zzzz{zzzzzz{z{z{{zzzyzyzzzz{{{{||{{z{z{zz{{|{z{{{z{zzyzzyzz{{{{z{zzzzzzzyz{zz|{|zz{{zz{{{zy{zz{{{zyzzzzyy{z{z{{y{zzzzzzyzzzzy{{{{{zzzzzyzzz{zz{{zzz{zzyzz{{zz{z{zzzyzzy{yzzz{zzz{zzzyzyzyzzzyzz|zzzzzzzzy{|z{{{{{{zzzyzzzzz{zy{{{zyzzyzz{{{z{{|{{zzzzy{z{z{{z|z{{{{zz{y{{zz{{{{{|zzz{|{z{{{{{{{|zz{zz{{zy{{{{{|z{{|zz|{|z|{||{{|{{{z{z{z{|{{{{}|}{{z|y{z{||{|{{{|{zzzz{{{{}{{{|{||{{{z{|{{{{{{z|{{z{z{{{zz|{|z|}{{z{{{|{z{{{{{|{{{zzz{|z|z|{|{{{|{{{{z{z{z{z|{|{{{{|{{zz{{{{{z||{|z{{zz{z{{{|{{{zz{zz{z||{|{}{{zzyz{z{{zz{{z{{{{{|zyzzyzzz{zz{{{||zzyzzzz{z|z{z|{{zz{{zzz{z{{z{{{{{zyz{zyz{{z{{{{z{zzyzzzz{{y{{{z{zzzyzz{{z{zz{{yzzyyzzzzy{z{z{{{yzzyyzzy{{z|{|z{zzyyyyzz{{{y{{{z{yyzyzzz{z{zzz{{zy{zzzzzyzzzyzz{{zyzzzz{z{{{{{z{yzzzzyz{z{z{{{{{zz{zzzzzz{{z{{{{{zzzzyyz{z{{z{zz{z{z{z{{{{|{{{z|{{{{zzzzzzz{z{|{zz{z{zzyz{{||{{{yzyzzzzz{{{{{z|{|zz{z{z{z{||{|{|zz{zzz{{||{|{|{{{|{y{zzy|{{|{{|{{z{z{{|{{{|{|{{{{{{z{|{{{{{|{|{{{z{zz{zy|{|{{{{||{z|{z{{{{|{{{z{|zzzz{|{|{{{{{{{{{{{{{zz{{z|{|{|{|{z{z{{z|{{{||{{zyz{z{z|{{{{z}{{{{z{{zz|{}{}{z{yz|zzzzy{{|z{zz|z{{{{yzz{{{{z||{{zzzzzzz{{{z|{{|{z{zzzyz{{{{{{{|{{{zzzzz{{{z{{zz{yzz{zy{z{{z{{{z{z{zzyyzz{{zz{{{zzzyy{zy{{{zz{|{yzzyzzzz{y{{z{{zzy{zyzzz{z{{z{z{zzzzyzzzz{zzz{{{zyzzzyzz{zzzz{{{{{zyzyzzz{z{z{{{{z{zyzyzz||zz{z{{zzz{zzz{{{z{{{zy{{{zy{z{{{z{{{{zy{zzzzzzz{{z{||zz{{{zzy{{z{{{|z|{{{{zz{z{{|z{|{{{z{zzyzz{{{||{z{{zzzzz{{{||{|{{{{{y|z{{|{z|{{||{zz{{z|zz||{{{{|{z|{z|{{z{|{{{|z{{{zyz{z{{|||||{{{z{{zz{{||||||{{{||{{z{{{{|{|{{{{{{zzz{{{{{|{{{{{{zzz{{{{{{{||{zzzyzyzz{||{{||||{||z{zz{{|{z|||{z{{zz{z{|{|{{}|{{zzzzzzz{{{z{|{{zz{zyzz{z{{{|{{{zzzz{zzyzz{z||{z{{{{zzz{{{{z{{z|zzzyz{z{{{{{z{{zzzzz{{z{{{z{{|zyzz{zzzz{{z{{{zzz{zz{zzzz{z|{{{{zzzzz{zz{{{{{{{{{{z|zzzzz||z{{z{z{{{yzzz{zz{{z{|zyz{{yzzy{zz{{{{yzzzyzzz{zzzz{{{z{zzzzzz|{{{{{{{{{{z{zz{{{zz|z{{zz{|zzzz|{{{z{{{{zz{zy{y{z|{|z|{{{zzzyzzz{|{{|{|zz{{{zzzzz|zz{{z{{zzz{zz{{||{{|{{{{{{y{z|{|{||{|{zzzz{{{{{{|{{|||{{|{{zz|||{|||||{{zyz{z|}|z|{||z{|{{||{z||||{{|{{z{}{{{{}{}{||||{{}{{{{{||||{}{|{z{{|z{{|{{||{|{{|z{{{|{|||{|{{z|zz{{{z{|z{||{|{|z{zzz{{{{{|}{}{{|z{z|{||}}~{{{zzzz{z{z{z{{{{{{z{zzzyzz{{{z{{||{zzz|{{z|z}z{{||z{{zzz|{|{{{{z}{z{zyyzzz{{z{{{{|zzzyyzzz{|{z{{|z{yzzzzzz{z|{zz{|{{y{{{zz{{{{{{{|zz{zzzzz{|{{{{{z|zzzzzzzy|{{{{{{{y{{y{zyz{z|{z{|z{{z{z{zzzz{z{z{z{yzzyy{z{yz{|{zzzz{zzyz{{{{|{{{{zzz{z{{z||{{z|{zzzz{{z{{{{{{|{|zzzzzzz{{z|z{{{{{{{{zzzz{{{|{{zzzz{{{zzzz{|{{{|{{z{{{{{{|z{{|{{{z{{{{{zzz|||{|||{{|z{{zz{|{{{{|{z{z{{{{{||{||{}||yz{{{{|||z{||||z{{{{{{{{||{||}|{{{||{{z|{|||||{}{zz{{{{{|{{{|||{z{{{{{{{{{|{||{|{{{z{{{{||{|}}{{{{zzzzz{|{{}}||{{{z{z{z|{{{|{|{{{{{}z{z|}|}~{{|{z{{{zyy{z|{{zz{zzz{{yy{z{{{{{||z|zzyyzz{{{{{{{{zz{zz{zz{{{{z{|{{z{zzyzyz{{zz{{{{zzzzz{z{{{{z{zzzzzy{yzz|z|yzz{z{zzyzzyzz{{{z{z{zyzyzzzzz{zzzz{y{yzzzyyzz{y{{{{{yzzyyzzyz{{z{z{|{{zzzzzzzzzzz{{zz{yzyzyz{z{{z|z{zy{yz{yzz{z{{{z{{zz{zy{zzzzzz{z|yzzzyz{{{{zzz{{|{zzzzz{{z{{{z{{{zz{zyy{y{z{{}{{zzzz|zzz{{|{{{z{|{{zz{{{{{{{{{{}{{{zzz{{{|{{z{||zz{zz{{zz||{|{{{|{{z{{z{{{{{{|{|{|z{zz{z{|||{|{||{{{z{{{|{{{||{{||{{z{{{{{|{{}|||}{{{|{{{{|||{{{{{{{{z{z{{{||||||{zz{{zzyz|{{|{|{z{z{{zzzz{{{|{|{{{zz{zz{|{{|{|{|{{z{z{|z{|{}}{{{{zzz{yzzz{|{zzz{{yzyyy{{zzz{{{{{{zzyzzzyz{z{{{{{{zzzzzzz{{{{{{{{{zzzzzzzz{z{{{{{yzzzy{{zz{z{{{|{{zzzzzzzz{z{z{{|zzzyyzzzz{{z{{{|zzzy{zzzzz|z{{{{z{yyyzy{z{|y{{{zzzzzyzyyz{{z|{{zzzzz{yzz|zzzzy{zzzzyzzyz{zzzz{{{zzzz{zzy{{{zz{{{{zzz{yzz|{{zzz{{yz{{zz{{|{{{z|{{zzz{z{zy{{{{{{{{{zz{{zzzz{z{|{zz{{z{z{zz|{|z{{||{zz{{zzz{{{z{{{{{{zz{{{z{{{|{||{{z{{{{{zz|z{{{{{{zz|zzz{{{|z{z|{|z{zzz|{|||{{|||{z{{{{|z{|{{|||{{{{{z{{{{|{{|{{|{{{{{{z{|{z|{{|{|zz{z{z{{{{||{{{{{z{{{{{{||{{|{{{{{zzzzz{z||{|{|{zzz{z{{z{||{{{{{|{{{{zz{|}}{z|zzzzzzzzy{{{{{{{zzzzzzzzzz||{{{{zz{zzzzyz{z{{{|{{{zz{yy{z|zzz{{{{{{zzyzyzz{z{{{z{z{zyzzy{{{zz{{z{zzzzy{zz{{{z{z{{z{zzzzy{{{z{{zzzzyzyyyz{zzzzz|zzzzzzzyz{zz{|{z{{{zzyzzzzzz{z{{{z{yyzz{zy{zzzz{{zzzzzzyy{zzz{|{{zyzyz{zz{y{{{z{{{zz{{zzzzz{{{zz{z{{zzy{z{zzz{{|{zz{yzzyz|z{{{{{{{zzzzz{zz{z{{{{zzz{yz{zz{{{{{z{{{{z{zzyzz|{z{{{zzzz{z{{|{{z}|{|{{{{{z{{{{{{{{|||{{{{zz{z{z{||{|{|{{z{{{z|{|{{{|{{yz{z{{{{{|{||{||z{{z{z{{|z||{{{|z{z|{|z|{||||{{{zzz{{{{{{{|{||||zz{{{{{||{|{|||z{{z{{{zz{z{z{{{z{{zz{{zz|{{|||{zz{zzyzz{}{|}|{{z{zz|yzzz|{zz{{{z{y{z{y{{z{{z{|{zz{yzz{z{{{{|{||{zzy{{zz{{{z{{{{{zzzzz{zz|{{{|z{{zzzz{zzz{z{{{{zzyzzzzzyzzz{z{{{zy{zy{y{zzz{{{{|zyzzzyzzz{{z|{z{{zzzzyzzzz{{{{{{z{zzzyzyzz{zz{{zyzzz{zzyy{zyzz{{zy{zzz{{zz{{{{{{zzzzz{y{zz{z{{{{zzyyzzzz{zz{{|||zy{zzyz{{{{{{{|{{zz{zzzy{{||{{{{{z{{|zzz{{{{z{|{{z{zz{z{{{z{z{{{{{zzzzzz{|{{z|{{z|zzz{zz{{|{|{{}z|{z{z{{|{{{{|z||z{y{z{z{|{{||{{zzz{{zzz{{{|{{{|{z{{z{{|||{{|||}|{{{|{{{{|{{{{||{{{{z{{{{|{{||{||z{{{{z{{||{{||{{zz{{{{{{{|{||{{z{{z{{{zz|{{{||{{{zzz|z{{{{|{|{{{z{zz{{{{||}}{z{z{zzzzzzz{z{yz{|{zzz{yzyz{z{zz{{zzz{yz{z{{zz{|{|{zz{{{zzz{{{z{z{{zzy{zzz{{{{{zz{{zzzzzzz{zzzz{{{{z{zzyyzyz{yz{zz{zzyzyzzzzz{z{{{{zzzzyyzz{{{{{{zzzyzzzyzzzzz{{z{z{{yzyzzz{z{{{{{zzyyyzzzzzzz{z{z{zyzzzzyz{zz{{{{zzzzzzyzzzz|zz{zzzz{{yy{z{{zzz{{{zyzzzz{zz{z{{|{z{zzzz{{z{{{|{|{|z{zzzz{z}{{|{{{zz{zz{zy{{{{{{zz{{{zzzzz{{{{{|z{{{{zz{z{|z|{{||{z{{{z{{zz{{{|{{|zz{{{{z{{{{z|{|{{{{zz{|{|}{{||||{{{{{|{z{|{{|{|||z{{zzz{{|{{{}{|{z{|{{{{{{||{{|{z{{{{y{z|{{{{{{{|zz{{{{|{{{{{{z|z{zzzzzz{{{{z{||{|{zzzzzz{{{{{{{{||zzzz|{||{|{{{{zz{zzzz{z{z{{{|zzzzzzzzy{z{{|{{z{zzzzyy{{{{{z|{zz{{zzzzz{{|yz{{{{zzzzzzzz|z{{{{z{z{yzz{z{zzz{{z{yz{zzzzz{zzz{{zz{yzzzyyzzzzz{{zzzzzzzzzzz|{z{{zzyzzzzzzzz{z{{{{zzz{zzzzzz{{z{{z{zzyzzzzyzz{z{y|zzyyzzzyy{zy{{{{{zzzzyzzzzz{y{{{{zzzzz{z{{|{z{{|z{{{zyzz{{z{{{{{{zzzzzzz{||{z{zz{{zzzzzzz{}z{|{{{z{zzzzz{|{zzz|z{zzz{zz{z{{{{{z{|{{{y{z{{{{||z{{z{{|zz|{||z{{|||{{{{{zzz{||z{|{{{{{{{{{{||{|{|||{{|z{z|{{{{||{|{|{z{zz{z{}{{{{|{{z|{z{{z|{{|{{{|||{z{zz{|{{{{{|{z{zz|z{|{||{||{|z{zyz{zz{{{{{{|{{zzzzz{z{{{z{||{{{{{{{yz|{||{{{{zzzzzz{z{{z{|{{zz{zzzzyz{zzz{{|{z{zzzyzz{z{z{{{{zzzzzzzzz{{zzzzz{zzzz{zz{z{zz{z{z{zzzzzy{{{yz{{z{yyzzzzz{{|zz{{{{zzz{{zzz{zzz{{{y{zz{{zzz{{z{z{{{zyzyyzzz{{|{z{{zzzyzzzzy{{{{{{zz{zzzyyyzzzzz{z{z{zyzzyzz{z{{{zzzzzzzzyzyz{zzz{{z{zyzzzzzz{{{{{|zzz{{z{z{{{{{z|{{zzzzzzz{{{{{{z{{zzzzzzzzz{{z|{{|y{zzzzy{{|{{{{z{{z{{z{z|{}z{|{|y{{z{{zz{{{||||{{{{{{{{{{|{{|||{zz{{{{{z|z|{{||{|zzzz{z{||{{{|||{z{z{z{{z{z|{||{{{{z{|{z{||||{{}|{{|{z{{{|{{{||{|{{|{z{{|{{{{{{|{z{{{z{z|{{||{||z{{zz{z{{{|z|{{{z{{z{zz{z|{|{{||z{{zz{|z|{|||{zzzzzzzzzz{zz{zzz{z{zzzzzz{{{{{{{{z{zzz{{z{{{{{{{{{{{{{zzyzz{{zz{{zz{zzyzy{{{yzy{{{y{zzzzzz{{{{{|{z{zzzzzy{{z{{{{{yzzzy{zzzzz|z{z{{zzz{zzzz{{{{{z{{z{zzzzzzz{z{{{{{z{yyzzz|zz{|{{z{zyyyzzzyzzzz{{{zyzzzyzyzz{{z|{{zzyzzzz{z{z{z{{|{z{yzzz{z{{{{{{{{{{zzy{z{z{{{{|{z{{{zz{z{{{{{|z|z{{z{z{{zz{{z|{zzz{{zzzzz|{{{{||{z{{z{z{{{{{{{{{{{zzzz{{{z{|{{}{{{z{{{zz|{{{{{||{{z{{{yz{{|{{{{{|{{{{{{zz||z||||z{{zz{|{{{{||{||{z{{{{{{{{{||}{{|z{{z{|{||{||||||{zzz{zz{{{{|{{|{z{z{zz{|{{{|{||z{zzzz{z{|{z{{{{{{{{yzzz{{|{{{{{{{{z{z{{{{{||{|{{zzzzyzz{{{z{{||{zzy{zz{{z{zzz{|{{{{{yyy{{{{{{|{{z{z{zzzzz|z{z{{{{zzzy{z{{{{{|{|zzzzzzzyzzz{z{{{zzzzz{zz{z{{z|z{zyzz{zzzzzzzz{z{{zzzzyzzz{{zzz{{{{zzzz{zz{{z{{{{zzzzyzzyz{z{{y|zzyzxyy{yz{zzz{z{{zzzzzzzz{zz{|z{zzzzzzz{{z{{{||zz{zzzzzz|{zzz{{{yzz{zzzzz{{z{{{{{{|zz{{{{|{{{{{{zz{z{{zz{|{{z||{{z{{zz{z{|z{{{|{{z{{z{{{{{{{z{||zz{{{z{{{|{|{{z|{{{z{|{{{|{{||{{{{{{{{{z|{{||{|{{{|z{{z{{|{{|{{}{{{z{{{{{{{||{{{|{{{{|{{|||{{||||{|z{{zz||||{|{{{zz{{zz{{{|||{||{{{}{zzz{}|{{||{{{{{yzz{|}{{|{||{{{{y{{zz|{|z{{z{{|{z{{z||{|{{z{z{{{zz{z{{|zz{zzzzzz{{{z{{|{|{{{{zzz{{z{|z{{{{{{{zz{{{z{{{|||{|{{{zyzzzz{z|{{|{{{z{zz{zzz|||{{{{{zz{{zzz{{{{{zz{z{zzzzz{{{|{{{|{z{zzzzzz{|z|{{{{{zzzzzy{{z|z{{{{zzzzzzyzzz{|zz{z{zz{{y{z{{{zz|z|{z{z{{yy{|{{z{{{{z{zz{{zzzz{|zz{zzzz|z{z{{{z|{{|{zzz{z{{{z{||z{|{zz{y{{z{|}{{|||{{z{zz{zz|{|{{{{|z{yz{zz||||z{{{zzz|{z{{||{{{|||{{z{|{|||{||||{{zz{{{||{{{{{{{{||{{{{z{{{|{|{{|||{z{z{{{||{{||{|{{{{z{|{{||{||{||z{z{z||{|{|||||{{{{{z{z{|{|{|||{{{{|{{|{{||{|}}{{{|{{z{}{{|{||{|{{{{{{{z{{{|||||{{zzz{{{{||{|{||z{z{{{{||||||{{{zz{{zz{{|{z{z{{zz{{zz{{{yz{{{{zz{zzzzz{z{z{{{{z{zzy{zz{zz{{z{{|zzzzz{{zz{{{{|z{zzz{zzzzz{zz{|{{{{{zzzy{{{z{{{|{{zyzzzy{{zz{zz{{zzz{yzzy|zzzz{|z{{y{zzzz{z{{{z|zzz{zzz{zzz|{{z|z{zzzyzzzz{{{{{z{z{zyyyzzz{{zz{{{{zzzz{{zz{z{{{|{zz{zzzzz{{|{z{{{zz{z{zzz{{z{{z{|zz{z|{zz{{{{||{{{z|{zzz|{|{{{{{z{|zzzzy{{{}z{{|{{{z{zzz{{{|{{||{z|{{|zzz||{|}{{|{{{|z{{z{{{||{||{zz{{zz{{|{{{{{{{z{{{{{{{{z|{||{z{{{{{|{{|{z|||||{{{z|{z|}}{{{{||{{{{{|{{{{|||{{|z{{{{zz{{z{{{|{{zz{{{|{{|{|{{z|{{{zz{{|{|{{{|{{{{zz{{{zz{{{{{|{zz{zz|z{{{{||{|{{{{z{yzz{|{{|z{z|{yz{z{{|z{{{|{|{{{zz{zzz{{{{|{{z{z{{{zz{{{{z{|{{{zzy{{z{{{|{|{{y{z{{{{z{{{{{|{||{zz{{z{{|{{{z{{zzz{y{yz{{{{{|{{{z{zzzzz{z{{{{{{{{zzz{zy{{|z{{{{zz{zzzzzz{{{{{{|zz{z|z{z{{{{z{{{zzzyz{{{zzz{{|{{zz{{{{zyz{{{z{{{{{{zzz{z{{{|{{|{{{z{zzz{{{{{{|{|{{{y{{{{{{|{}||{{{{|{{{z|{{|{{{{{z{{{z{z|{{{|{|||{z{zz{|z|{z{|||{|{{{{|z{|{{|||{|{{{{{{{|||{||||{{{{{{{{|{|||{{{}{|{{{z{||}|||}}|z{{{||{|}{z|||||{|{{{{z{}|||||{|z{{{{{{|{|{{||||{{{{|y||{||}{||}{{{{{{{{|{|||||{{{{|{{z{|{{{|{{|{{z{{z{{|{||}|z{{|{{{z{{||{z{{{{{{z{{{{z|}{{{{|{{z{{||zz|{{{||||{{{{y{z|}{||{{||{{{{{{z{{{{{{||{|{{z{{{|||{{{{||z{yz{z{z{{zz{{{{{{{zzz{{{{z||{{{{{zy{zzz{{|{|||{zzz{y{{z{{{{|{{{{{{{zz{||{{|{{|||{{zzz{{|||z{{|yzz{z{{zz{z{z|{|{z{{z{{{{{{{{|{{{z{{z{{z{|{{|{|{{{zz{zz{{{{{{{{{{{z{zz{{{{{{{|{|z{{{|{{{{{|z{|{|{zz{|{z{|||||{{{{{{zz{z{|||{|{|{{{{{z{z{{{{z{|||{z{z{{z|{|||{|}|{{|||z{{|||||}{||{{z|{|{|{{{|||{|{|{{{{z{}||{|||{{{{||}|{||{||}}|{{|{||{||||}||||z|{z{|{{|{}||||{||{{{zz{|{|||}}|||{|{z{|{||||z|z{{z{{|zz|}{|{}|||y|{{|{|||{|||{{{|{{{{{|}||{{{|z{{z|z|z{||{|||{|{{{{yzz|{|{|{||{{z{z{{{|||{{{}{{z{{{{z{{{||z{||{{zzz|{z{{|{|{|||y{{{z{z{||{|{}{{{yz{{z{z{|{{{{{zzzz{z{z{zz{{||{zzzz{{{{z|z|{{|{{z{{{{zzz{{z||{z{z{zzzzz{|{{{{||z{zzzzz{z{|z|||z|{{z{{zzz|{{{{|{{{{{{{z{{z|{||||{z{zzz{{{{{zz|{{{{{{{z{z{{|||{{{{|{z|{{{||}{{|||{{{{{{z{{|{{{{{z{{|{{|{z{||z|{|{{{{z{zz||||{|||{{zz{|||{{}||}}{|{{{{{|||{{||{||||{|{{{|{|||}|{|||{{{{{|{||{|{|}~{{|{|||{|{||||}{||z{{|{z||||{}||||{|{{z{|||{|||}{|{{|z{||||{||}}|{{{z{{}||{}||{||{{{{{{{{|||{}{}|{{|{{{z{|{|{|{||{z{z{{{{||||{{|{{z{{{|{{{{|{z{|{zzzzz{yz{||{{{|{{{{z{zz{{|{{{|{z{{{{{{z{|{{z|{{{z{y{|{z|{{{z{{|{{|{{{zz{|{{{||{{{z{{zzy{||{{{{{{z{{zzz{{|{{{{{{{zz{zz{z{|{{{{z{{z{zzzzz{||{|{z|zzzzzz{z{{z{z{|}{{z{{zzz{zz{{{z|{z{{{z{{z{|{{|{zzz{{|{{zz|{{{{{z{{|{{zz|{||||{|||{{{{z{{{{z{|{{{{{{|{{{z{|}||{||{{|||z{{|{{||{{{{{z{|{{z{|{{|||{|{{|{z{z{|{{||{{{{{{{{z{{||||{}{{{{{|{z{|{||}{}||{{{{{z{|{}{{|{|}z{{|{{z|}}|{{||{{|{|}|{{|{}}|{||}|{{|{{{}|}|{}|{{|{{||{||{||||||{z{{|{|||{{|{|}{|{z{{|z||{{||||{zz{{{|{{{|}{{|||{z|z{{{{|{||{|}{{|zzz{{}{|{|z{{{z{zzy{zz|{{|{||{z{zzz{z||{{|{{{{{zz{zz|{{{|||{|{{z{zzzz{{{{}||{{z{{z{{z{{{|{{{|{{{{z{{z{{{||||{z{{{{{zz{{|zz|{{{z{z{zzz{zz{{z{|z|zz{z{{{{|z{|||{z{{zzz{{{{{{{|{{zz{{{zz{{{{|z|{{z{z{z{z{|{{{{{|{zyz{zz{z{{|{{||zzzzz{{z{{{{{{{|{zz{{zz{{||{{|{{{{{z{{|z{{{{||z{{{{{z{{z{{||{|||{{|{{z{{{||{{|z{{{{z{{{{||{{{|}||z{{{|{{{{{||{{{}|{z{|{{||||||}||{{{{|{|{{|}||||||{{{z{{||}}|||}|z|{|{{||}|||{}|{{||{{||{||||}|}|{|{{{{{{}|||}}||{|{|{{{}||||||{|{{|{{{{{|||||}||{{{{{{{{||}||||{{{z{|{{|||}||||{{{|{{{{{{}|{{||z||{{{{z|||{|{{z{{zz{{z{{{{|{{||{|z{zz{{|z{|{|{{z{{z{{{z{|{|{{||zz{{zzz{{|{{{{||{|{zz{{zz||{z{{|{zzzzzz{{{{|{{||{{{zz{{z{{|{{{{{{{{yzzzz|{{|{{{|zzz{{zz{{{|{z{|{{y{zz|yz{{{z{{z|{|{zz{y{z{z|{|{{{z{|{z{{zz{|{{z{{yzz{{zzz{{|z|{{{z{z{{z{z{{z{{|{|z{{{z{z{z|{{{{|zz{{zz{|{|{{{|||{{{{{{{{{{{|{{|{{|{{{{z{{|||{||{{{{z{{{{|{|{|||{|{{|z{{|||{{{|||{{{zz{|{{{||||||z{|{{z|{|}{||{|{{{{{|{|{|}|}}|{||{|z{{{{|||z||||||||{{||z||z}||}||||{|||{|||||{||{}{|{||}||}|||||z{{{{{||||{|{}|{|{|}{|||||||||{{|{z{zz{{|||{|{||z{{{{{{{|||{|}{{z{{{{zz{||{|{|{{zz{{z{{{{{{{{z|z{zz{{z{|||{|{||{zzz{|{{{z{{|{|{|z{z{{zz|{{{{z{||{z{z{zy{{{{{{{||{|z{z{{{{{{z||{{zz{z{{z{|{{{{z{{{zy{zzz{{{{{{z{z{z{zz{z{{{{{{{{{z{{z{zz|z|{{|{{{zz{zz{zy{|{}{{{{zzzzzz{{z{|{|z|{zzzzz{{z{{{z{{{zz{z{{zz{{z|{{{{zz{y{y{z|{{{z{{|{{{{{z{z{{{||{{|{z|{z{{|{{{|{}|{z{|{z{{z{|{|{{{|{{{{{{{{{{{{{|{{{{{|{{|z{||{{||{{{{{z|z{{{||||||{{|{{{{{|{{{{}|||{{{{|{|{||||}|||{{{||{||||||}||{||{|}{}|||||||{}|{{||{{{}|{|{|||{{{{{{|{|{}{|}|{|{{{|{{|{|||{{||{|{|}{{{|||{}||||{z{{{{{||{{}|}{{zz{{{{z|{{z|{||{{{z{|{{|{||{{{{|z{{z{z{{{zz|{{|zyz{z{{{{{z|{|{{{{zzz{{{||{{|{|{z{{zzzz|{|{{z{|{y{|{zzz{{{{{|{|z{zz{|{z|{z{zz||{{zzz{zz{{{{{{{|{zzzzzzy{{z|z{|zz|zzzzyzy{{{{{|{{zzzzyzzz{{{|{{|{zzzzzzyzz{{{z{|{zzzzyzz{{{{z{{{z{zz{{yzzz{z{||{z{y{{zzz{|{{z||{{z{zzzz{z{|{{z{{zz{{z|{z{{{{|{{{{y{{{zz{{{{z{|{}|{{{z{z{{|z|||{{{{{z{{{{{z|{{|||{{{z|zz{|{{z|||{|{{zzz{{||||{|||{z{{{{{z|{{|||{||{{z{{zz|{{|{|||{{{{{|{{{||{||||{{|{{||{{{|{|{||||{{{{|{{}{|{}||||{{{{|||{|{|{|{|{{{zz{z{|{{{|||{{{{{|{{{{|{||||z{{z{{{{{{{{|||{{{{zzz{zy{|}|{|}|{{z{{{z|{||||{{{|zzz{zzz|{{|{||{zzz{z|{|{{{|{||zzzzz{z{z{{{{{{{|{zz{zzz{||{{{||{{zzz{{z|{{{{|{|{z{{zyy{z{{{|{{{{{z{zzzzz|{z{z|{{zz{zzz|z{z{{|{{yzz{{zzz{{{{|{{zzz{zz{z{{z{z{{{|{z{{y{zzzzz{z{|{zz{{{z{zz{z{{||{{z{{{zzz{{{{z{|{zz{zz{zz{{{{{{}|z{zz{z{{|{|z|{||{{{z{{|{{{{{||||{{z{{z{{zz{|||||{z{{{{zz{|{{{{{||zzz|{z{||||{{|||{{z|{{|{|{{{{|{{{z{z{|{{{{||{||{{z{z{|{|{|{{|||{|{|{{z{|||||{}z|{{|{{z{|||{|||{{|{{z|||{|{||||||{{|{|z{|||||}}|{z||{{{{|{{{|||{||{{{{{|}|{{z{|{{{{{|{{{||{{}||}{{z{{z{{|||{{||{{{{|{{{{z|{{{{{{|{|z{{{{|{{}||z{{{z{|{zz{|{zz||{{{{{{zzz{{|{||z|||z{z{z{{{{|{{|{{{|{zzzz|{{{{z{|{z{z{{{z{{{|{|{|z{{{zzz{{{{|{|}||z{{{z{{{|{{{|{z{{zzy|{z{{{||{{{{{{z{z{{{{{{|{||z{z{z{zz{||{{|{{{{{y{yz{{|||{{|{|zzz{z{zz|{{{{|{z|zz{z{{z|{{z|||z{{z{{zy|{{{{||{{{{z|z{|{||{{|{||z{{{{|{z||{|{|{{{{zz{{{{||{|||||{{z{z|{z||{}}|{||{{{z{{{{||}{|||z{z{{{{{}{{||{{{{{{{{||{||}|||{{{{{{{{||||}||}~z{{|||{z||||||||{z|||z{{|||||{}|{{{{z||{{|||{}}|}{|{|z|{{}{||}|||z||{zz{||{}{}|||{|{{{{||||{{||}||{||{z|||{||||}||{{z{{{{||{{|||{{{|{{z{{}|{{|||{zzzzz|{{||||}{{y{{{{{zzy||{{|{||{|{{z{{{{|z|||||{{z{z{{{{|{{|{||{{z{zzz{{{|{||{{{z{z{zz{{{{}{|{|{{{zz{z{{{{{||{|z{{z{zz{{{{{{|{z{{{z{{z{{{{{{|{zzzz|zzzz|{{||{z{z{z{{z{{|||z{{|{z{{zz{{{|||{||{z{zz{zz{{||{{{{{z{zzzzzyz{{|{{{{{{z{{zzy{||{{|{|{zz{zzz|{{{||{||{|{{{{|z||{||||}{{z||{z|{|||{||{{{zz{{{{z|{{||{||{z{|{{{|||}z|||||||{{|||{{{|||{|{{{|{{{{||}{|{|{{{z|{|||||||||||{{|z|{{|||||{||||{||{{||||{{{}}{{{|{}||||}{}||||||{{{|{|||||}|||z|{{{z{|}|}|}|||z{{|{z||||||||}|||{||z{{||||||}|||{{{|{{{|||}||z{{|z|zz||{{|||||{{{{|z{||{|||{{{zz{zzzz{|z{||||{{z{{{{zz{{{{}||{z{{zz{{{{{{|||{|{{{{{zz{{{{{{{{{z{zzz{{|||{{{{|{{{z{{{zz|{{{{{{{{{zzz{{{{|{{|z{{yz{zzz{{{{{zz{|{z{z{zzzz{{z{{}{{y{z{z{zz{{{z{{{{{{{z{{{z{{{|{||{{{{{z{z{{{{{{z{{zzzzyz{z{{z{{{{{{{{z{zz|{{{{|{{{{{{{{{z{{||z{|{{{zz{{{{{{|{|z||z{{{z{{{|{{|z|||{{{{zzz{z{|{||{z{z{zz{{z{{|{{}|z{{|{{|z|{|||{|{||{{z||{|{||||}||z{{||{}|||{||}|}|{{{{{{{{|{}{}||{||z}{|{|}|||||||{{||||{{{|||||{|{{zz{{{{}||}}}||||}{{{{|||}||{{{{|z|{{z{||}}||{{{{||{z{{}||||}|{{|zz{{|{||{||{||{{{{{|{{||}|z|{{{{{{{y|{||{|}|{zz{{{zzz{{{||{|{zz|zzyzz|{{{||||{z{zz{zz{{{{{{|||zz{{{zz{{||zz{{{{|zzzzz{{|{{{{|{z{z{{{z|{{{{|{}{{{{{{zzz{{z|{||{z{{{{zzz{{{{{|zzzz{z{zzz{z{{{{z{zz{zz{z{{{{{||{{zzzzz{yz{z{{{}|{z{{z{zy{{{{zz{z{{{z{zyzz{z{{|{{{z{{{{z{|{z{|{{{|{{{{zzz{|{{|{z{{{{zzz{{{{z|{|z|{{{{{zz{z{{{|{||z{|{|z{{z{|{{||{{z{{zz{{{{|{{{|{{{{{{{{{{z|{z{{||{{zz{{|{{||||||z{||{{||{|{|{}||{{{{{{zz||z{|{{z}z|{{||{{|||{||}{{{{{{{||{|{||||{{z{|{||{|||{|}||{||{{|{||||{||||{z|{{{z||}||||||{zz{|z{|||||{|{{{{{{z{{|{{||{||||{{{{|z|}z||{|}z{{z|||z|||z|{{{z{z{zz{y{{|zzz{|{{zz{{zz{{{{{{||{zzzzz{z{{{{{||~z{{zzzz{{{{|{||||z{zzz{zz{|{z{|{{zzzzz{{{{{z{||{{z{{{{{z{z|z{{|{{z{z{z{{{z{zzz{{{zzyz{z{{z{{{z{|{y{{z{zz{{{{{{{{{z{{z{zz{{z{zz{{{{z{{zzzy|{{{{{|zzz{zzzzz{{z{{{{{zzy{|wz{{{z{|{z{{zzzz{{{{{|{{{{zz{{{z{{{{{|{|z{{{y{z{z{{|{{{|||{{{{{{zz{{{{{||{{zz{{y{z{|||||}{{{zz{{z{{{{z{|{z|{{{{{z{{{|||}||{{{{{z|{{{|}{{|||y{||{{{|||}{}{|{z{{{{{{{}|{||{}z||{{|||{||z||{{{{{{z|{{{|{{|||{|{{|{{{{|{|{|||{||z{z||{{|{||||}|{zz{{{z{|{||{|{zz{zz{{{{|{}|{||{{{zz{{{|{{{{|{{z{{{{z{{{{||{||{z{zz{yzy{||{|{||z{{{{zz{{|{{{{||{zzy{{{{|z|{{||{{zz{{{{{z{{{|{{}{{{zz{z{|{||{{{|{{{{{z{z{{{{{{{{{zz{z{z{{{{{zz{{zz{z{{z{{{{{{{{{zz{z{zzzz{{{y{}{{z{zz{yzz{{{|{{{{zz|{z{z{z{{z{{{{{{zzy{y{{{z{{z{z{zz{{{{z{zz{{|{{zz{{{zzz{z|zz|{{{z{{{z{z|{{z||||zz{z{{z{{{{{{z|{{{zz{{{{||{{z|{{{z{{{{{z|{{{|{{{z{{{zz{{{{{|||||z{{{zzz|{|{|||}{{|{{z|{|||}||{{{{{{z{{z||{|{|{|{{{z|{z{|{|{{||{|{{{}{{{{||||}{}{{|{|{{{{{}|}|||}{|z{|z{{}|}}||}{|{{{||{{|||{{|}{{{{|{z{||{{{{|}||z{|{{|||{}|{|}|||{{{{z|{|{||}||{|{{{{{||||{{}|{{|{zz{z{|{|}{{{{zzz{zzz{|{{{z{|{{zzz{{z{{z|{{|{|y{yzzzz|{|{{|||{zz{zzzzz{{{zz{{{{{zz{zz{{{{{{{|{z{{{yzy{z{{z{{{{zz{zz{z{{{{{{{{z{zyzzyz{|{{{{{{zzyzz{zz{|{{{z{{{zzzzzyzy|{{{{{zzz{zyzzz{zz{|{|{zzzzzyzzz{{zz{{{{{{zyyzzzzz{z{{|z{{{z{z{zz{{{{{{{z{z{zzz{{{{{z|{{z{zzz{zz{{{{{{{{zzzzz{z{||{{||{{zzy{zzz{{{||{|{z{zz{{zz{{||||}|{z{{{zz{|{|{{{{{z{z{{{z{{{||{||{{z{{z|{|{{{{{|{|z{{z{{{{z|{{||{{|{z{{{{{|||||}{{|z{{||{{{||{{|{{{{z|{zz{{}{|||{|{|{{{{{{{|{|{||||z{{{{{{{{{|{{{||{{{{{z{{{|{|{{|{{|z{z{z{{{||{|||z{{z{{{{{{{{|}|{{z{{{{z{{|{{{{{{zz{{zyzz|z{{{|{{{z{{{zzz{z{||{|{{{zzz{z{{{{{||{|{zz{zzz{{|{{{{{{{{{z{{z{{|zz{{||{{{z{{z|z{{{||{{{z{{{yz{{{zz{y{zzzz{{z{|z{{z{z{{{z{zz{{z{z|z{{{z{zzzzzzzz{z{{|{{{{zzzzyz|{{{{{|z{zzzzzyz{{{{|{{zzzz{zzzz{zz{{{{zz{z{zzz{{z{{z{||{{|zzzz{{{{{{{|z{{|z{{{{{{{{{{|{{|{{{|{||{{|||{{|z{{{{{z{{{{{||zz{{|{zy|{|||{|{{{{|{{{{{|{|{{z|{{{z|{z{||{||{|{z{|{{z|{{{|||{||{{{||yz{z}|{|{|||{{{{z|{{|{{||||{z{z{{|{{{{||||||{{{{{|||||||||}|{{{|z{{{{||{|||{{{||{{{{{||||}|}{{|{z{{{||{|{{||{{z||{{||z|{|{{{{{zzz{{{|{|||{|{z|{{zz{{||z}|{{{z{{yz{z{{{|||{{z{{zzzy{z|{{|}{|{z{{z{{zz{{{{{||{{{{{zy{{|{||z|{{{{{{z{z|{{|{|{{{{z{z{z{{{{||{||{zzz{zz{zz{{z{{zzz{{zzz{zz{{{{|{zyz{z{{{{{zz{|||{zzzzzzzz{z{||{{{z{z{{{zzz{{z||{z{z{zzzz{{z{{{{{{zzzzzzzz|{{{{|{zz|z{z{z{{{{{{|||{{z{{z{{z|z{{|||{{zz{|{{{}{||{}{{{{{{z{{{{{z|}}{z{{{z{z{{{{{{{|{z|z{z{{|||{{||{{{{{{{{{||{|{||{{{{z{|{z||{|||}|z|z|{{{{||{}{|||}y|{||z{|{||||||}{{{|}{z||||{}|{{{||{||||||||||{{{{{{}{{|||{}|||{{|{{|{{|||||{|||{{{{{{{||||||}}{{{{{z{{||{||}{{{{|{|zzz{{{{{{||{|{|z{{z{|{{z|}||{{{{{|{{|{{{{{z{zzzz{z{{{{z{z||{z{{{zz{|{{{{||{{{z{y{y{{{{z|{{z|z{{zzyz{{{{z{|{|{{{{{zz{{||{{|{{|{zz{zz{{|{{{{{|z|{zzzz{{|{{{{{{{zzz{z{{z{{{|z{zzz{zzz{{{{{{{{{|z{z{zzz{{{|z{|{{{zzz{{zz|{{{{||{zy{{{zz|z{{{|{{{z{zzz{z{{z{{|{{zzz{{{{{{{{{{{{{{{{zzz{zz{{{{{|||{|z{z{{{{z{|{{{{z{zz|{z{{|{||z||{zzzy{{|{{{{||{{{zz{|{z{|{{{{{{|{{zz{z{{||{{||zz||z{{{{z|{{{|||{{{{|{{{{|{||||{{{{{{{{{{|||{||{|z{{{{{{|||{}|}}{{{{|{}{|||{}|{{|{{|{{|{{||}{{||||{|{{|||{{}{|{||{||{{z{||||{||||{||z{{{||{|||||{{{z|{{{{}{|||||||{z{zz|z{|||{||{|{{{zzz{{{{{{{{|{|{zz{z{{{{{z{|{{zzyzzz{{{{|{|{{z{z{zzz|{{{z|{{zy{y{zz{z{|{{z{||zzz|y{{z{{{{{{{z{{z{z{{z{{|{{{zzz{{{z{{{z|z{{{{{z{zz{zz{z{{{{}|{zzy{zzzz{{{{{|{|z{{zzy{{z{{{|{{z{{{zzyz{z{z{{{{{zyzzzzzz|zz{{{{zz{zzzzy{z{z{||{z{{zz{{z{{{z{{{{|{z{{z{z{{{|{{{{z{zz{{{{|z{{{|{|z{{zz{zz{{{{|||{{z{{||{z{|{{{||{{{{{{{zz|{z|||{||{z{zzz{|{|{|||{{{{{{{{z|||||{{|z{{{||zz{{{||{||{z|{{{{z}|{|||||{zz{|{{|{||{|{|}||{|{|||{|||||{{|{z|{{{|{}|{|{|{}{||{{{{||{||{||}{|{{z{||{}|{||{|{{{{{{{}{||||||{|{z|{{{{|{{}}{}{{z|{{zz{|||{}|{z{z{{z|{{{|{|||{{z{z{zz{{{{||||{zz|z{{{{|{{{|z||{{{z{{{z|{|{|{|z|{{{{{z|{|{||z||{{zz{{zz{z{z{|z|{zz{{{{{z{{{{{{{{z{z|zzz{||{{{||{zzzz{zzz|z|{{z{|z{z{zzz{{|{z||{{{yz{zz||{{z|z{|zzz{z{zz{{z{{z{|{{zzzz{z{{z{{{|{{{zz{z{{z{{{{||{{z{{z{{{{|{{{z|{{z{{z{|zz|{z{{{|{z|{z{{{{{{{{{||{yz{{{{z{{||||||{z|{{y{{z|{||{{{{{zz{z{{||{{|{||{{{{z{z{{{{{{||{{||{{{z{{|||||}|{{z|{|||}{{|{{|}|{{z{{z{{{|||{}||{|{|{{{{|{{|}}|{|{|||{{{|{||}|}}|{|{z|{{|}||{|||{|{z{{{||||||}||{{{|{{{|||||||||{||{{{{||||{|{|{{{z{{{{|{|{{{}||{{z{{|{||{||{{||{zzzz{{{{||{{{|yzzz{{z{{{z{z{{|{{zz{{{z{z|{{||{z{{z{{zzz{{{||||{{z{z{zz{{{|{|{|{{{zzzzz{z{{|{z}{z{{z{zz{|{{{{{z{z{zzyyy{{z{{{||{{zzzz{zzz{{zz{zy{zzzy{zz{{{{{|{{{zzz{zz{|zz|{z{zz{yzzzz{||{{{{{zzyzzzyzz{}zz{{|zz{zzz{z{{{z{|{{zz{{zzzz{|{{|{|{{{zzz{zz{z{{{{{|{{{{zy{z|z{{z|{|{zz{{{{z|{{{{{}}{zzy|z|zz{|{{||{z{{{z{zz{|||{{{{{z|{{z{z{||{{{{z|y{{{zzz{||{}|||{|z{zz{z{|{{}|||||{{z{|{|}{{{|{{{{{{{{{z|}||||}|z{{{z{z{|{|{|||||{{{zz|{{|||{}{|{z{{{{}{|{|||{|{|{{{{{|{|z|{{|{{}{z||{{|{|||{|||{|{z{zz{|||{{}||{{{{{{{{{{{}|{||{{z{{|z{{|{|z|{|{{{zz{z{{{|{{z|{{zzzzy{z{{{|{{||||{zzz{{{|{{{{{{{zz{zz{{||{zzz{|{{{zz{{z{{z|{{{|{zzzzz{zz{zz{{zzz{{yzz{y{z{{{|{|{zzzzzz{{zz{{{{{z{z{zz{z{|z{{|{{zzzyz{zzz|z{{||{|z{z{{z{{|}{|{{|zzz{zzzyz{{|z{{{|{zzzzzzz{{zz{zzzz{z{z{z{|{{|{{{{{zz|z{z{|{|{{}}{zzzyz{z{|{{{|{|{z{zyzz{{{|||||||{{{zz{z{{|{|{|{{{{{{{z{{|||||}{{{{{|zy{{|{{|{|||{z{|{{{|{|{|{||{{z{|z{{|||{{|||{{{{{z{z||{{||{||z{{{z{{|{|{|{}{|{z{|{{{{||z|~|||{{z{{|z{|{||||}{{|{{{{{}{z|{||{{{{{{zz{{||||}|}{{{||{{{{z{|{|{|{yzz{{{{{{{|||||{{z{{z{z{{{|{{||z{{zzz|||{|z{|{yzzz{{{zz{{|{|{||zz{z{zz{z{{{{z||z{{zzz{z|{{{{|{{|z{z{y{zz{{zz{{{{{{yyzzz|z||{{{|zz{z{z{zz{zz{{{{{{{z{z{{{{{{{|{|z{{zz{zz{zz{{{z{zzzzz|{z{{|{{{{{zzzzzzy{z{{{{|z{{z{zzzz{{{{z{{|z{{{yzyyzz{z{z{{z{zzz{zy{z{z|{|{{z{{{z{{y{{{{{|||{z{zzz{z{}{{||{|y{z|zz{y{{|{||{|{{{zzyz{{{{{{|{{{{{z|z{{{|||{{z{{{{zz{{zz|{{{{|{{{z{{{zz{{||{|{|{{{{{{{z{{{|{||{{{{z{{{{}|{}{||{zz{zz{{{{{||||||{{zz{{{{|||{{||}{|{z{{{{||||}}|{}{z{{{{{|~|||||||{|{|{{{|||||}|{{{|{{{z|{{|||{|||{{{{{z{{|{{}{{{{{zz{z{{{{|||||||{{{{{{{||||z|}z{{{{{zz{z{{{{{{{zzz{zyzz{{{zz{{|zzzyzzzz{{|{{|{{z{zzzzyzz{{{{{|{zz{{yzz{{|{{zz{{{|{zzzzzz{|{{{z||z{z{{{z{z{{z|{{z{z{{yyz{{z{{{|{{z{zy{{{{zz{z{z{{zzz{yzzz{{{{{{z{zyzzzyy{{{z|{{{|zz{yzyzz|{{{{{{{zz{zy{zz{{|z{{{z{z{zzzy{zzz{|{{zyzzz{z{z{{{z{||z{zzzz{z{{{{z{||z||z{zz{{z{{{{{{{z|zz{|{{||{||{{|{{{zz{{{|{{{|z{{{{z{z|z||{|{||{{z{{zz{{{{{z{{{{{|{zz{z|{||{||||z{{{{z|{|}|{|||{{{zz|{{{{|{{||||{z|{{{z{|}|}|{{||z{zz||{|{}{|{|{{|{{{{{zz|{{||||{{{||{{|{|||{{|{{z{z{z||||z{{{||{z|{{{{|{|z|||{{{{{zz{zzzz{{z|{|{{zy{{{z{|z{{||{{{{z{zz{z|{|{|{{{zzzzzz{{{{{{{{{z{|zzzzz{{{{{{|{{{zzz{zz|{z{{{||{zz{zzy{{z{|z{{|{z{z{z{{{{{{|{{{{zzzzz{y{{{zz|{|{{zz{zyzzz{{{z{|z{z{zzzzz{z|{{zz{{zyzzy{{z||{z{zzzzzzzz{{{{z{{{|{y{zzzzzz{{{{{{{{{zzyzzzz{{|z{{{z{{zzzzzz{{{||||zzz{zzzz{{{{||{|{{z{zzz{z{{z{|{{{y|{zz{|{{{|{|||{{|zzz{{|{{{{||{|z{{zz{{{{|{{}z{{{{{{{zz{||{|||{|{{{{{{{{{|||||{|{zzz{z|||{||}|{{zzz{{||||{|||}|{{{{{{{{||||{|{||z{{{|{{|}|||||{{{|{{{|{|}|||}|}|||{|{{{||{|{|||{{|z{{{{|||||||{{z{z{{{|{|||{|}|||z{{|z{|{|{{|||zz{z{{|z|{||{|{||zz{{{{z{|{|{z|z|zz{{z{z{{{||{{|{z{zzz{zzz{zz{{{{{zzzzzz{{{||{{||{{zz{{z{|{{z{{{{zzzzzz{z{||{{||{zzzz{zz{{{{z{{zzz{{z|{z{|{{{{{{zz{z{zzz{{|{z{{{zyzyzzyz{{{z{{zz{zzy{zz{{{|{z{z{{zyzzzzzz{z{{{{{zyyzzzzzzz{{|{z{zzzzzzzz{{z{{|{|zzzz{zzz{{{{{{z{{z{y{zzy{|{{{{{z{z{{zz{{{|{{{{{{{{{{zzz{{z{{{||{z{{{zzzzz{{{|{|||{{zzzz{z}{{{|{|{{{{{z{{||{{|{|{|{{{{zz{||{}{{|{|{{|{{z{{{{{||||z{{{z{{{{{{|{{||{z{{z{{{{{||{{|{{{||z{|{||||{|{{|{{z{{|{{|{{|{{}|{{z{z{{{{|||}|{{{{{|{{{|{{|{{{|{{{{{{{z{||{{|{{{{|z{{z|||{{{|{|{{{z{z{{{{||{{|||{zz{{{{{{{|{|||{z{y{{{z{z{{{{{{{{{zz{z{z{{z|{||{{zz{z{z||{{{{|{{z{{{{{z{{z{||{{{{{z{{zz{|{{{{|{{{{zzzz{{{{z{{{|zz{{{{{z{|{{{{}|zz|{{{z{z{{{||{z{{{zz{z{zz{{zz{{|zzzzzzzz{{{{z{{{zzzyy{zz|{{{{{{z{z{zyyzz{{|{{{{{{{y{zzz{{{{{{|{{zyzzzzyz|{z{|{{z{{z{zzzz|{{{{||{z{{{{{zz{{z|{|}{{zzz{{{|z{z||{{{zzzzz{{|{{{}||{{{{z{y{{{||{{|||{z{z|{{{||{{{{|{{{{{{{{{{z|{{|{|{{{{{|{z{{{{|||{|{|||{||{||{||}|{{{|{z{{||||}{{{|{|{z{{{{|{||||{{{z{{{{{||||||||||{{{{{{{|{||||}||||{zz|{||{{}||||{{{{{|{||{||{}|{|{||{{{|{||{|{{{||{{{{{{{|{|{{|{z{{{{{{|{|{|||z{|{{z{{{|{|{|{z{{zz{{z{{zz{{{{{{z{zzzzz|{|{||{|{zzz{zz{{{{{{{|{{zzzzyzz{|{{{{{{{{{zz{z{z|{|{{||z{{zz{z{z{z{{||{{{z{{{z{{{|z{{{{{{z{z{z{{z{{||{|{{zzzzzzz|{{{{|{|zzzzzyz{{{{|{{{{{{zz{z{{|{{z{|{|z{{y{{z{{{z{{{{{zzzzz{zz{|{|{{{z{z{zz{yz||{|{|{{{{{{y{z{{z|{|{||{z{{z{{{{{|{{|{{{{zz{{{|{{|{|||{{{{zz|z||||{{|{|{{z{|{{{|}{{z|{{{z|||{z{||{||{||{|z|{{{{|{||}}{{{{{{{{|}|||||{|{{{|zzzz{|||||}||{{z{{{{{|}|}{}||{||||{||||{|||||{z||{{{|}|||||}|{}|{{{{||||{||||zz{{{{{||{|||||||z{|{{|z{|||||}{{{{{{{z{{|{||||{{{{{{{{|{|{|{||zz{zzy{{{{{{|}{{{{zz{z{z|{{{z{{||{zzz{zz{zz{{{}{|{{z{{{{{||z|{|{|z{z{zzz{{{{{{{{{{zzzz{{{{z{{{|{{zzz{zzz{{{{z|{{z{zz{zzz{{|z|{|{zz|zz{{{{z{{zz||zz{z{y{{{{{{{{{{z{{z{{z{{{|{|{{{zz{zzzzz{z{||{||z{{{zzzyz{|{{||{{z{{z{{zzz{z{{{|zz{z{|z{z|z|{|{}|{{z{{{z{|{{||{|}{{{{zz|{||{{{|{{{{{z{{z{{{{{||{{{{{zz|{z{{{||||{{{z{{{{|{}}|{|||z{|{{{{||{{z{||{{{|{z{{{{{{|||}{{|z||{|||{|||}}{|{{{{{{||||||||{{{{{|{{||||||||{|{{{|{|{{{{z||||{z{|||z{~|{{}}}{{|{{{{{{|}|}{|{|z{{{{z{||{{|||}|{{{{{{{{}{|{}||{z{z{{{{|{|}|||||{{z{z{z|||{z|{|{z{z{z{z|{|{|{{{zzyzzz{z{{|z{||{{{yz{z{{{z{z|z|}zzzzzzz{{{|}{z{||{{{z{yz|{{{|{|{z{zzz{{z{{z|{{||{{{zzzz{z{||z{|z{{{{z{zy{||z{||{{z{yz{{zz{{{{{z{{z{zzz{{{{{{z{{zzz{z{zyzzz|||||{z{{zz{zzz|zz|{{|{{{{zyzz{|zz{{{{{z{zzz{zz{||z|{{{{|z{{zz{{{zz{{{|z{{{{{{{|{{{z{z{z{zz{z{{{|{{|{|{{|z{{zz{{|{{||{|{{{{z{z{|{|{|{{{zzz{{{z{|{{|||{yzz{{zy|{|||z|{{|{{z{{z{{|||{{|{{||{{{{{||}{||||{{z{{{{{|||||}}||z{{|{{{|||{{||~{|{{{{{{{{|||z|||{{{|{{|{}}{|{||{{|z{{{{|{||{||||z{|z{||||{|||}}|{{{{{{{||{|{{|}{z{z{{zz{|{{||}|||z{{{{z{{|z{||||z{z{z{z{||{{{z{zzzz{z|zyz|z{{||{{yz{z{{{z{|{{{{z{zzzzzz{zz{{z{||yz{{z{z{|||{||{z|zzz{zz{{{{{{z{yzz{zzzyyz{{z{{zzzzzy{yz{{{{z{{zzzzyz{zy{zzzz{{zyzzzzzz{z{{{{z{{zzz{zyyzz{{z{z{zz{zyz{z{zz|{z{{|zy{yzzzyy{|{{z||zzzz{zzyz{{zz{{{zzzzzzz{{{||z|{{z{{{{zzz{{{{z{{}{zzzzzzz|{{{{{|{yz{{zzzz{{{{{{{|{z{z{z{zzz{|z|z{{zyzz{{z{z{|{{|{{{{{z{z{{|{{{{|{{{||{{{{{{|{|||{z|z{{{{z||{{|{|}{{z{{{{{|||{z||{|z{{{z{{{}{|||||{{{|{{{{z|{|{}|{{{z{{{z{z|{}{|||{{||{{{{{}{|z{{||{|{{|{{{{|{|{||{{{z{{{z{{z||{{|{{{{{zz{{{{{{{}}|z{{{z{z{|||z{{|{{{zz{zz{{{|{|||{z{{zzzz{{{{{|{{{zzzz{z{{{|{{|{|zzzzz{{{{{{{{{|{|{{z{zzz{{{|{z|||{z{zz{{{{{{{|{|{{zz{zzy{{{{{{{{{{{zzz{{z|{{z{{|{zzzzz{yzzz{zz{{z{{z{z{z{{z{z{{|zzzz{zyz{{|{{{{|zz{zzzz{z|{{{||{{{{{yzyz{{|{|{{{{zzz{yzzz{z{{|z{z{{zz{zz{zz{{{|{z{{z{z{{z{|{z||||{{{z{z{||{{{{||{{{z{z{z{|{{{|{}{|{zzz{{{{{{{|{|{{{z{{zzz||{{{||{{z|z{|{|{|{|{|||z{|{{{{z{{|||}|z{{z{{{{|}|{}|{}|{}{{z{{{|{|||{|}{{{{z|||}|||{{|{{}|z{{{z{{{||{||zz{{||{|||{{||||{{~{{{{|||{{|}|||{{{{z{{|{z|||{|{z{|{{{{|{{}{|||{{{{|{z{{||{|||{{{zz{{{{}||{|{|{{|{{zzz{{{{{{{{{zz{zzz{yzzzz|{{{z{z{zz{{{{|{|{|{zz{z{{y|{{{{z|{zz|{z{zz|z{|{{|{|{{zz{zz{z{{{{{{zzz{z{{{z{|{z{z{{yzz|z{zz|{|z{|{z{y{{zzzz{{{{|{|z{zzzzzzz{{{{{{{zzz{z{zz{z{zz{|{z{{zzzzz{{{{{{||z{z{{yyzz{zz{{z{{zzzzz{z{|{{{||{{{{z{z{{z|{|{|||{{{z{y{{{|{{{{{{z{z{z{|z{zz{{|||{{|{{zzzz{|z}|{|{{{{{z|z{||{{||{{z{zz{{z|{{|z{}{{{z{{{{z{||{||{||z{z{{z{|}|{|{z|z{{|{{{{z|{{|{||{{{{z{{|{{||{||||{{||{z{{}|{|{}||{{|{|{||||{{||||{{z{{{|{|||||}|{{z{z{{{||{|||{||{{{{|{|z|{|z{||{zz{{|{{{{||{|||{{{{z{{{||{{{||{|{z{y{{|z{|||{|{{z{{zzz{{{|{|{||z{{zy{yzzz{{z{{|{z{{{zyz{{{{{|{{zzyzzzz{{{z{{|{|{z{zz{z{z{{}zz{{{zzz{{zyz{{{{|{{z{zy{zzzy{|z{{{{{{zz{zyz{{{{|{{{{{zzzz{{z{{{z{{zzyz{{zz{{zz|{z{{{z{zzzzz{{|{{{z{{zz{yz{yzz{|{{|{zzyzz{zz{{{{{zz|z{zz{zyz{z{{{|z{zyzz{zz{{z{{{{{{{{{z{zzz{{{{z{{{{z{{{yzz{{{{{{|{{{{{z{{z||{z{{|{z{zz{zz{{|||{{||{yzz{{zz{|{}{||z{{{{z{z{{{{{|||||zz{{{{{|{{}{|{||{z{{|{{{{{{|{||{|{{{zzz{|{|{{||{{{{{{|{{}{{|||{z{{{{}{{{}{|||{|}{{{{{{{{||{{|||{{{{|{|{|{|{||||{z|{|{{|{||{|||{{{{{{{{{|{||||||||{z{{{{z{|{{|{{{{{|zz{z{|{{{||{{{z{zz{z{|{{{|{{{y{zzzzzz{{{{{zzzzz{z{z{{{zzz||{{{{y{zz{zz{z{{{{zzzz{zz{z{{{{{{|zz{yzz{y{z{|{{{|zyz{yz{z{{{{{{{z{zzz{y{z{{{{z{{zz{{zzzz|z{y{z{{|zy{zzzzzz{zzz|{{{{z{zzy{zz{{z{{{{zzzyzzz{{{{{{}{zz{{zzyyyz{{{{{{zzzzzzzzzzzz{|||zzz{zzzz{{{{z||{{zzzzzz{{{{{{{{{zz{{{z{{{{{z||{|z{{{zzz{{|z|{{{|{z||zzzzzz||{|{{z{{{{{{zz{{{{{|{{zz{{zz{||{{{{|{{{|{z{z|{z{{|{{|{{{{z||{{|{{||||{{{{z{{{{||{||{|{{z{z{{{|{||||||{{z{|{{|{{{{{||||{{{{{z{{|||{{{||{zz{{z{|{||||{||{{{{|{z|{|{|{|}{{z{{{{|{{{{{||||{|zzz{{|{|{{{|{{{{z{{{z{{|{|||{{{{z{{z{|{{{{|{{zz{zzz{y{{zz|{{z{zzzzzyz{|zz{{zz{{{yzyzz{{{|z|||{{{z{{zz{{{{z{z{{{{zz{zz|z|z{|z|{|{zzzz{z{{zyzz{zzyyzzzz{{{zz{{zzy{zy{z|{{z{{{{{zyzz{zyz{{{{{{{zz{zzzzz{zz{{|{||{z|z{zzzz{z{z{{{{zzzzz{y{{zzz|zy{zzzz{{zz{z{{{{z{zz{{{zz{{{{{z|z{{z{zzz{{z{z{{{|zz{{zz{{{{{z||{{z{|zzzzz{z{|{||{zz{{{z|{{|||{{{{{|{z{{zzz{||{{|{|z{{zz{zz||{{|z|z{{{{zz{{||{{{{|{z{{{{|{{{{{|||}{{{{{z{z|{}||z{|{{{|zz{{|||||{|{{{z{zz{y{{||{||||{z{{{|{{}|||||{{z{|zz{{{}{{|||||{z{{{{{{||{||{|{{z{{z{{{|{{{|{||y{z{z{z{|{|{{|||{|{{z{z{|{{{{|{{z{{zz{{|{{{{|{{z{zz{{{y{{{{z{{|z|zy{zzz||{{z{{||{|zzzzz{{{{{{{{{zzz{zz{{||{{{{z{{{y{zzz{{{{{{||{z{zz{{zzzzz{{|zzzzz{zzy{{}zz{{|z{{zyzy{{zz{|z|{zz{{zzzzz{{{{z{{zzzzzzz{{z{{|z{zzzz{yzzz{{{{{{{{z{{z{zzzzz{z{|z{{{zzz{zz{{{zz{{{zz{{zz{z{z{{|||{{z{{z{zyz{{{{|{||{zz{z{zz|{{{{z|{z{zzz{{{zz{|{z|{y{{z{z{{{{||{{{{z|{zz{{{|{{{||{{{z{{{{{|{||{{z||{{{{{{{{{||{|{{{{{{{{|{{|||||||{{||{zz{||{|{||||zz||{{{||||||||{{{{{{{{{|{||||{|{{{z{{|{|{}|||||{z{|||{|||{|{|||{z{{zz|{|{{|{|||{{{{{{||{||||{|z{}z{|z{|{|{{|{{|{{{z{{z|{{{{||{z{{|{{zz{{{{{{{{{zzz{zzy{{{{z{{|{{zzzzz{{{z{||||{{z{{zz{{{{z{{|{||{{{z{{{{{{z||||{zz{{{z|{{{{{||{{zz{{{z{{{{|{z{{{{{{{{zz{|{{{{{zz{{{{z{zz{{{{{|{zzz{zz{{{{z|zz{{{zzz{z{{{{z{{z|z{{yy{zzz{{|z|||{{{zyz{zz{z{z|{{{{{z{zzz{|{{{{{{{z{{z|z{{|{{|}|{zzzz{{{{{{||||||{{|{{z|z{z{{{||}|{||{{{{||{{{|{|{{{{z{{{{||||||{{z{{zz{||||{|{}|{|{|{|{{{||{{{{{{{|{{{{{{{||{|}|z{{{|}|{|{{|{{||{{{{{{{|||{|{}||{{z{{{|{|}|{||}}{{{{|{||{|||}|{||{{{||{{{}||||||}||{{{z{||{||}|||{{{{{{|||||{}{||z||{|{||||||{||{|{||{{{{||{|}||||{z{z{{{}||{|||{{z{{{z{{{{|{{{{z{zzz{y{{{{{|z{{{{{zzz{z{{|{{{{{z{{{z|zz{|{{|{||{{{{{{zz{z{{|{{{{{{zzz{y{{|{{|||{z{zzz{z{{{z{{{{{zzz{zzz{|{z{|z{{zz{z{{{z{z{{{{|zzz{zz{z{{{z{{{|{z{yz{zz{{z{{||{{z|z{z{z{{{{{{|{zzzzzzzzz{zz{{{{{{{{{zzz{{{|z{||zzzz{z{{z|{{{{{|{zz{{z{z|{{{|{|{{|{{{z{z{z|||z||{{{z{{z{{{{{{{||z{z{|zz{|||||{{{|{z{{{{z|{|{|{{{|z||{{z{{||{|||||{z{{{{z|{{{{|||z||{{|{{{{|}|{}||{z{{{{{|||||}|{|{{{|{z{{|||||||{{|{{{{{{|||||||}{|zz|{|{}|}|||||z||{{{|{|||||||{{{zz||{|{|||{|||{{|||{{{|{{|}||{|{z{{{{{{||||||{zz{{z{{|{{|{|{}|{|{{{zz|||zz|{|zzyzzzy{{||{z|{{z{zy{z{{{{{{{{|{{zzyz{z{z{{{|{|zz{|zzy{z|{|zz{z{{zy{{z{z{z|{zz{{yz{{zz{z{zzzzz|zzz{zzyzz{{{{{|{zzzzzz{zz|{{{{{{|zzzz{{zzyz{{z{{zz{zzyzzz{{|z{z{{{z{zzyzzz{z{|{{{zzyy{{zzzzzz{|{{{zyyzzzzz|{{{||{zz{zz{zz{{{|z{{{{|zzzzzz|{z{{{||{y{zyz{{|{{{{|||{{{{zzzz{{|{{{||zz|z{z{{z{{|{{|{z{{{z{zz{|{|{{|{{zz{z{{z|||{{||{z{{zz{{z{||||||{{{|{z{|{|||{{|{|{{{{z{zz{{||{||||z{{z{{z|||{||||{z{z{{{{{{||{||{|zz{z{z{z|{|}{|||{{{{||{{|{|{||||{|{{{z|{||{{{||{{{{{z||{{|{||||{{{{|z{z{|{||||{z{z{|{z{{{||{|{}z{|z{z{zz|{z{{z{{{zz{zzzy{{|{|{{{{{{{zz{{{|{{{{{{y{z{{y{{{{{{|{{{zzzz{yzz{{|z{{{zz{{zzzzz{{z{{{|{y{z{zzz{{{z{{|{z{y{zzz{{z{zz|{{{z{zzzzzzzz{z{{{|zzy{zzzz|{{z{|{{yzyzyzy{z{{{z{{zz{zzzzzz{{{zz|z{zz{zzzyz{z{z{{{|z{yzzzz{zz|z{z{yzzzzzzz|zz{{{{{zzzyzz{zz{|{{z|{{z{{z{z{|{{{{{{{{zzz{zzy{||{{|{{}z{z{z{{{{{{{{{{{zz{z{{z{|{{{{|{|{z{z{zz{||{{{||{{y{{{{z{||||||{{{|{|z{{{{{||{||{z{{{||z{{|||||{|||{z{{{||||{{||{{|{z{{{{|{|{|{||{{{{|{{{}{|||||}z{{{{{{|{||{||{|z{{{{z||||{|||{}{{||{{|{||{|{|{{{{zz{{{{{{{{||||z{z{{{z|}||{{{{{z{{{z{z{{{{z{{{{zz{{yzzz{z{{|{{{{zzzyzz|{{z{|{{{zzz{{{yzz{|{{{{|{zzzzz{{{z{|z|{{{zzzz{zz{{|z|{|z{{zzz{{zz{zz{{{z{{zzzz{{{{z{{zz{{{{{zzz{{{{z{z{zzzzzyzzy{zzz{{z{zzz{{zz{{zz||z{zz{{yz{z{{{{{{{{zzzz{zzzz{{{{{z|{yzyzzz{{zz{z|{|zzzz{{{z||{{{}|{z{{zzy{z{|z{{{{|zz{{zzzzz{{{z||z{zzz{{z{{{{{{z{|zz{z{{||z|{{{||{{{|{zzz{{{{{|z||{yz{{{{zz{{|z{|{{{z{|{z{{|{{{||}{{zzz{{z{{{{z||||zzz{z{z{{|||||||{{z{z{{|||||||}{{{{{{|{{{{{{{||{y|{z|{|{||||||||z{|{{{|||{{||{|{{{{{{z{{{{{|{}||z{|{{{{||{{{||||{zz{{{{{{{|z{}|{z{{z{{z{{{|z{|{{{{yzzzy{z{{{{zzzz{zzzz{z{{{|{{{|{{zz{zz||{|||||{zzz{z{z{{{{{|{{z{{zzzy{{{|{{|||{|{zy{{z{z{{{||{zz{y{{{yz|{z{{{{{{{yy{zy{z{zz{{|{{z{zzyz{{{{z|{{{y{{zz|z|{{{z{|z{{z{z{zz{{zzz{{{zz{{{z{z{{{{|{{|{yzzzz{z{{{{{{{|{z{zz{zy{{{z|{|zzy{z{zy{{{|{{||{{zzzzzzz{{|zzz|{{|{z{{{{{{|{|||{{||zzz{{|||{{||{{{|{{z{{z|{|{||||{|{{{{z{|||{{|{|z{|{|z{||{|{{|z{{{{{|{z|{{|{|||{{|z{{{{{{||{|||||{{{{z{{|{{|}{||z{{|{|{||||{|||{{{{z{|{{|||{||{|{{{{||z{|}}|||||{}|{{{{{{|{|||||{{{|{z{{{{{|{}||{{|{{z|{|{}{||}|{|{|{|{{z{||||||z{{{z{{|{||{{{{{z|{{z{z{{{{|z{{z|zzzzz{z|{{{{{|z{z{z{z{z{{|z|{{{{zz{zzzzz{z|{{|z{zz{zzz{|{z{{|{|{zzzz{z{{{{{{{{{{zzz{{zzz{{{|{z{{{yzyy{zz{{z{{{{{{zzyzz{{{{{{{{{y{{zzzzzz{{{||{|{z{zzzzz|{{{{{{z{zzzzzzzz{{{{{{zz{zzzzyz|{z|z{|{{{{z{zz{{|zz{{|z{|zz{{yz|{{{|||zzzz{zz{{||{{{{{z|{z{z{{|{{{{{z{z{zz{{zz{|{{{{|{{y{zzz|z{|{|{{{|{{{{|{{z||{{{||{{zz{z{|z{|{{{|{{{{z{{{z{{{|}||||{|{{{{z{{|{|{{}||{{{{{zz{|||{|||{{{{{{{z||{{z|||{z|{{{{|z{{{|{{||zz|z{{{||{|{|{|}|{|{{{{|||{{|{||{{{{{{||{|||z}||z{|{{z{{|||||||||{z{{zz|{{|{|||z{{{z{{z||{|{{{{{{zzy{{z{{|{{{{z{{z{zyzy{|{{z{{|z{{zz{{zz{{{{|{|{{{{|{zz{z{z{{{|z{z{z{zz{zzzz{|{zz{zz{{z{{zz{{{{z{{{{zzy{{{z{{{zzz{zz{z{{{{{{|{{{zzzzzyz{z{{{{|zzyzzzyy{{{{}{{{z{zz{y|z{{z{{|{{{z|zzzyzzzz{{zz}{zz{{zzzzzz{{z{{zzzy{yz{zz{z{{z{{z{z{{{yz{zz{|{{{zz{zzzz{{{|{z{{|{z|{z|zz{{{{{{{|{zzzzz{{z{{z|{|{{z|{{z{zz||{|{{|{{{z{z{z|}{{{{||{z{|{{z{{}{{{{|{||{{z{{{|||||{}|{z{{|{{z|{{|{|}}{{z{{{{{|{|{||{{|{{||zz{||{{||}|{{|{{z|{{z|{|||||{{z{{||||{||||{{{||{|{{|||{{{{||{{{z{{{{|||||||{|{|{|zz{{{}|{{{z{{z|{{{{{|{|||{{{{z|z{z{{||{||{{zz{{z{z|{{{||{{{zzyzzzy{{{{{{|{zzzyzz{zz{z{{|{{{y{z{zz{{{z{{|{{{{{zz{zzz{|{{{{z|{{yy{{z{{{{{{{|{{{zzzzzzzy{z{{{{y{z{zyz{z{{{{z{zzzzzz{{{z{z{|z{yzzzzyzyz{{zz{|{{z{z{zyz{{{z{{z{z{yzzzzzz{{{{zz{{zzz{yzyyz{{z|zz{z{zyz{zzz{{{{|{z{zzzzzyz{|{z{{|{z{z{zzzz{{z{{{|{zz{zzzzz{{{{{{{{z{zzz{{|z{{zz{{{|{{{zz{z|{z{||{{{{{z{{z{||{|{|{{{{z{|z{{|{{{{{|z{zzzz{{||{|{}}|{{{{{{{{{||{|||||{{{{{zzz||{||{{|{{{|{{||{|||||{z|{{{{z{|||{|}||{{{{{{{|{|}}{||~{{{|yz{{{|}|{||{{z{{zz{{|{|{{{|||{z{{{{{||{|{{||{{{z{{z{|{{{{{}||{{z{z|{{{{{{||{{z{zzzzz{|{{{{z|zz{z{z{{z{{{{{||{{yz{{{z{{|{|}||{z{z|{z{{{{{|{||{{{zzy{zz{{{z{{zz{{zz{zzz||{{|{{{{|z{zzy{{{{{|{z{zzz{{z{{{|{z{z{{z{zz{zz{{{|{z{{zy{zzy{zz{||{|{{|{{{z{zz{{{||{{{{z{{z{z{{z{||z{z{{{{{zz{zz{{z||{{zz{zzz{{z{{z||{z{{z{{z{{||{{{|{z{z|{{{{{{|zz|{||z{{z{|{{|{|{z|{{|zz{z{{{||||||{{{||z{{{{|||{}{{{{{z{z{{{{}|{|{|{{z{z{{{||z{{{{|{|{{{z{{{{||{|}|{{|{{{|{||{|{|||{{{{{|{z|{{|{||{{z{{{{{||||{|||||{{zz{{{||||{}|||{||z|{{{||}{|||{{||{{{{|{||{{||{|{{{|{|{{||{||||{{||{|||{{||}||{{{{{{{z||{{|||||{z{{|{{z|||||{{|zzz{z{z|z|{{{{z{{|zzz{zzz{|{{{{{z{z{z{zz{z{{|{{|zzz{zz{zz|{z{{|{{{z{{{z{{|{zz|{{z{yyzz{{|{zz{{|{{z{{zzzz{{{{|{z{zzzy{zz{{{z{{||z|{{z{{zz{{|{z||{yzzzzzz{z{{{{z{|{zzzzyz|{{{zzz{z{{{y{zyzz{{z{{|{{{z{zzzzzz{{z{{{{{{zz{{zz{zz{||zz{zzzzzz{{{{{|{zzz{{{{z{||z{{{{zz{z{{{{{{{{z{{|{{{zzz{{|{{{{|||{{{{{z{z{{{{{{{{{z{zz{zz|{{|{{|{{{{{|{z{|||{{{{|{{z|{{{z{{{{||||{{{{{{{{|||{|||||z|zz{{{z{||{||||z|z{{|{||{||||}{{|{{|||{{|||||||{{zz|{||}{||{}||{{{{|{{{|{}|z|||{z{{{{z}{{}|||}|z{{|{|||{{|{{z}z|{{zz{z{|{||{{|{{{z{{{{||{||{}{z{{{{zz{{|{{{{{{z|zzzzzzz{|{{{{zzzzz{zz{z{{{{{|{|{{zzzyz{{|z{||{zz{{zz{{{z||z{{{{{{zyz{z{{{|{{z{z{zzzz{z{{|{{{|{{{{zzzzz{{{{z{{{{{z{yzzz{{{z{|{|z{zzzyz{{{{zz|{{zzzz{zz{zz{z{{{zzzzzyz{z{z{{{zzz{{z{z{{zz{zyzz{{|{y{z{{zzzzz{|}{zz{z{{z{{|{{{{{{{z{{{z{{z{{{{{{{|z|{{y{z{z{{{|||{z{{{{{z{|{||{|}{{}{zz{z|{{{{||{z|z{{{z{{||||{|{|z{{zz{{||{{|}{|{zz{{{|{|{z|{{|{{{||{{{||{||{|{|{{{z{{zz{{}||||||{{{|{|z|}{{|||{{z{{{{{}{||{|||}|{{|{|{{{|{}{||||z}|{{{{}{|||}{|{z{|{{|{|{{{{{|}{{{|{{{|{|{||||{{{z{{{z{||z{||}|{{{{z{{{||z{z{||{z{zzzz{{|{{{{z{zzzz{{zzy{||zz{|{{z{yyzz{{{{|{|{{zzyzz{{{{{||{|{zz{zzzz{z{{{{z{|{zzzyzyz{z{|{zz|{{zzzzz{{{{zz|{{zy{{zzz{z{zzzz{{zzyzzyyz{zy{z{zzyz{zyzzz{{z{{{{{{z{{{zzz{{zz|{z|zzzzz{{z{{{|{{{{{zzzzzzzzz{z{{z|zzzzzzz{z|zz{{{z{{zyzzyzzz{{z|{{zzz{zz{zz{{{{{|{{z{zzz{z{{|{{{z|z{{zzzz{|{{|{{||z{{{{z{zz{{z{||z{|{zzz{{{{{{{{||{zz{z{{z{{|z{{{|{{zzzzzz{{{|||z|z|{{{{||{|{|{|||{{{{z{{{||{}||||{{|{{{zz{||{{{}|z{{{z{{{{{{{{||{|{z{z|{||||{{|{||{{{{{{{||{{z|{{|{z{{z{|{{|{{||}{{{{|z{z{{|}|}||{{{zz{zz{|{|z{}|z{{{z{{z|{{{{{|{{z{{zzzz||||||{{z{y{zz{zy{{|{|}}z{{{{yz{{z{{{|{{z{{zzz{zz{{{||||zzzzz{z{{|{|{{|{{{{z{{yy{{|{{|{|{|zz{{{z{zz{{}|{|zzzzzzzz{|{z{{{{zzzz{zy|z{{{|{{zyz{{yyz{{z{{{{z|zzzzzy{{{||{{|{{{{zzzzzz{{{{z{{z{{z{{zzz{{{zz|{{{{{zzzz{|z{|{||zzzz{zzz{{|{{|{{|{zzzz{z|{||{{||{y{{zzy{|{{|{|{{{{{{{z{z|{{{||{{{{{{|{{{||{{{{||{{|zz{{z{{|{{|}|z{{{{|{||||{{|{|{{{|{{{|{{||}||||{{{z|z{|{{|{|}|{z{{||{{z||||||{|z{{|{{{{|{||||{{z|z{{||{||||}|||{{zz|z{||||{||{|||{|{{z}{||{||{{z|||{{{|{{{||{|{{{|{{{z|||||||}{{{{{{{{z|{{|{}|||{{{{{{{{z|}|||{{{{{{{{{{|{{{{zzz{zyyzyz{|zz{{|z{zzzz{z{{{{{|||{zzz{{{z{{zz{{|{zy{z{{zz{{|z{{{{{zzzz|zz{z{z{|z|{zzzzy{zzzzy{|{{z{{{zzz{z{{z{{|z{zzzyzz{{zz{{y{{zyzzzzzzz{{{{||zz{zzyzy{{{{{z|{zzzzzyyz{{z{|z{{|z{zzz{{zy{zzz{{{zzyzzzyzz{z{{z{|{zyz{{yy{zz{{{{|{zz{{z{z|{{z{{{{{z{{{yzz{zyz{{{{{{{{z{{{{{{{{{{{zzz{{z{{{z{{z|{{{{{z{{zzz|{|{||{{zz{{zzzz{|{{{{{|{{zz{{{||{{|||{z|zzzz|{|{{|{||{{z{{|{zz}|{{{{|||z{{{{{{{||{||{||{{{||||{{|||}||{{{{z|{z{{|||||||{{zz{{{{{{{{{{{z{{{z{z{{{{|{{||{z{{{zz{z|{||}{|{{{z{|{{|{{|{}|z{{z{{{{{|{|{{}|{{{z{zyzz{{|{{{{{{zzzzzyz{z{z{z{|zzzz{{zz{{|zz{||zzzyzyyz{{z|{z|{zz{zzzzz{{|{z{{{{zz{zzzz{{{z{{z{{z{zzzzyz{zzz{{{zzz{z{zz{{{zz{{{zzzyzzyz{zzz{zz{zyzz{yyzz{{{z{{{{y{zz{z{y{{{z{{|zz{zyzzy{{zzz{|{zzzzzz{yz{zz{{|{z{zy{zzzyz{{{{{|z{{zzzyz{{z{{{{{zz{{{yzzz|{z{{{{z{{zzzz{{{z{z{{|{z{z{{y{{{{{{|{|{{{{zzzz{|{{{zz{{zzz{{z{||{|{{|{z{z{{zzz{{zz{{{{{{{zz{{{{zz||||{z{{zz{{{{|||{|{}|{{zz{{z|{||||{|{{z{z{{z{|{|||||{{|{{{{|{|{||||||{{z{{z{{|{|{{|{{{{{{{zz{|{||{{|{z|{{z{z{{|{{|{{{{zz|{{{z|{}{|{|{{{zzz{||{{{{|{}{zz{z{{zz{||{{|{{{z{zz{{{{{{|{{{zzzyzzyz{||z|zz|zzyzzzzzzz{z{{{{{zzzz{{z|zz{{|}{|zzzyzzy{z|{z|{{zzz{{zzyzz{{{{z{{zz{zz{zz{zz{{|zzzzy{z{{z|zzz{{{zzzzyzz{z{zzy{{{yyzzzzzzzz{zz{zz{zz{{zz{{zzz{{{|{{zzz{zz{{{{z{{{zzy{{y{z{{{z{z{{{zzz{yzzz|z|z{{z{zzzz{zz{{z{{{|{{zz{zzzzz{{zz{|{{{zzzz{y{{{{{{{|{{z{zzzz{{{z{{{z{{zzzzz{z{{{||||zzz{z{zz{{{{{{||z{{{zzz{{{|{{{{{|z{z|zzz|{|{|{||{{{z{{{{{{{|{||{{{{{{{{{|{|{|{|{zz{{{{{{{||{|{{|{{{zz{{{{|||{||||z{{z{{{{}|||||||{{{|z{{{||{{{|{{{{z{{{z||||{{|{{{z{|{{{|{{|||||{z{z{z{{{{|zz||||{{|z{{zz{{|{{||{zzzzzyy{{{{{zz{z{yz{z{zy|{{{z{{yzzz{zz{z{z{{{{{zzz{zzyyzz{{{{{{{z{zzzzzz{||{|{|{z{zy{zz{z|z{{{{{z{zzzzz|{{z{{{{{z{zzzzy{{{|z|{|zzzyz{zzz{{{{|{{{zyzyyzz{{{{{z{zy{zyyzz{z{z{{{{|zzz{zzzyz{{|{z{{zzz{zzzyz{zzzz{z{|y{{zz{z{z{{|{{zzzy{zzz{{{z{z{{{z{z{{{z{{{z||{{{{{zz{z{{{{{{{{}zy{{zzzz{{|{{{{|{{z{zz{{{|z{||||{{}{z|{zz{|{{{|{{{zzzzz{{{|{{|{{{zzz{{{{{{{|||||{{z{{{{{||||{|{{{{{{{{{{|||||||||z{{|z|{{||z|{|{{{{{{z{{{|{|||{|{{{|z{{{z|{{||||{{{|{{|{|{}|{|||{zz{z{{{{{{{{|{|{|{|{{{z{{|{|{{|{||zz{{{{|{{{{}{|{zz{{{z{{{{{{|{y{{z{{zz{{|z{{{z{zyzz{zz{|{{{{|{{{yzzzyz{{|{{|{{{{zyy{zz{{z|{{{{z{{zz{{z{{{|{{{{{z|{{yzy{|{zz{{{zzyzzzzz{{{{z{|zzzzzzzzz|{{{z{{{{yzzzzzyz{{zz{{|z{zzzzyz{{{zz{{{{zz{zzzyz{{{{{{z{zz{yzzyzz|zz{{{{zyzz{yzz|{z{{{{{yz{z{{z{{zzz|z{{{zzyzzy{{{|{{{z{zz{|zzz{{{{{|{{z{zzzz{z{{|{||{|z{zyzz{zz|{z|||{z{z{zzzz{{{{||{{{zzz{{{{{{|z{{|{|{{{{{zz{|||{||{{{{{{|{z{{{|}|||{{{{{z{{}{{|{|{|{{|{{z{{||{|{|}{zz{{{{|{|||{{}|}{|{{z|{{{|{}|||||z{{{{{{z|{|{||{{|{{{y{{||}{|||||{{z{{{{{{{|{}{||||{z{{{|z|||||{z{{z{{zz{||z{{{{{{z{{{zz{{||z{{|zzzzzz|{z{z{{{{{{zz{zz{z{{{{{{{z{{zzzz{z|{z{{{|{{|{{y|zyz{|{{{{z{zz{z{z{{{{{y||}{{|zzyzzz{|{{{{{{{{zzzzy{||z{z|{|z{{zzzz{{{{{{z{{{yzzzzzz{z{{|{|z{zzzzzz||z{{{{{{zzzzzy{z{{{|{{{{{|zz{zyz{{{{z}{z{zyz{zz{{{zz|{{{zzz{{{z{{{{zz|z{z{zz{zz{z|{{{||{{{{zz{zz||{{{|{{{z{{zzz{z|{{{{|{z{{zz{{z{{{{{||z|{{{z{z{|{{{||{{z{z|zzz|{{{{|||z{{z{{{{z{|{{}|{{{{{{{{z{{|{{|{|{{{{{{{{||{|{|||{{{{|{{{{z|||{{{||{{{{{{{||{||||{|{|{|{{||{||{|{{{|{{{{{||}{||||{z|{{{{z||||{||{|{z|{{{{{|||{{}}{{{{{{{{||||{{|}zz{{|{{|{||{{|}{z{{{{{{{{{{||{|{{|{z{{|{|{{|{{{{zzzzyzzyz|{z{{|{zzzzzzyzz||{||{|zz{z{zzz{{{{{{|{{{zzzyzz{{{zzz{|z|zzzy{zzz{{z|{{zzzzz{z{zy{zz{z{{z{zyyzzz{z{z{{{zz{z{zzzzzz{zzzzzzzz{zzz{zz{|zzzyzzzyzzzz{{z{zz|zz{yyzz{{z{{zz{{zzzyzzzyz{{zz{{z{zz{zzzzz|z{z{|{zz{z{y{z{{{z{z|{{z{z{z{z{{{{{{|{{zz{zy{{{{{|{z{|{{{zzz{z{{{{{z{|{z{{zz{z{{{|{{{{{zzz{zzz{||{{{{{|zz{|{zz{{{{|||{z{||{z{{{{||{{{|{{{||z{{{|{|{{||z{z{z{{{{{|{||{||{zz{z{z||{{{{||{zz{{{{|{{||}||{{{{{|{zz|}z||||{{{||{{z{|{{|||{||{{{z{{{||{|{|{{{{{{{{zz||{|||||{{zz{z{|{{{|{{{||zzz{{{z{|{|{||{{z{{yzy{{{|z{|{{{{zzz{{zz|z|{{|z{zzzzzzzzzz{z||{{{z{zz{z{zzz{{|{{{zz{zzzz{|{zz{{zz{y{zzy|{{{{{{|zzz{z{zzz{{z{z{{{{z{{{z{{z{{{zzzz{zzzz{zz{{zz{{y{yz{{zzz{{{{{{|z{zzzzzz{{|{{{|{{zzzzzzzzz{{|{{{zzzzzzzz{z{z{{z{{{{zzzzyzz{{{{{{|zzzzz{zz{z|{{||{{{z{zzz{{{||{|{{{z{zz{{{|{{|{{|{{zzzzzzz{{{{{{|||{zzz{zz{{||{||{z{{zzz{z{{{||{{|z{{{{{z{|||{z{|{{{{{{{zz{{{|||||z{{{{{|{{|{{|{|{{{z{{{y{{{|{}||{|{{{|{{z{||||{|{{|{{{{{|{|z||}|{|z{{{z|z|}{|{{||{{|{zzzz|||||{{|{{{{{{{|z{{|{{{||{{{|{z{{{|{||{|{zzz|{{{{{z{{{|||z{zz{{z{||{|{{{z{z{{zzzz{{{|zyz{z{zy{yz{{{{|z|{{zz{zyyy{z{z|{{|{z{zzz{z{z{zz{{{zzzzzzyzz{{{{z{|z{zyyzzzz{|{{{{{zzzzzzyzz{z{z{{z{{zzzzz{{zz{zzzz{zzyzzzyzz{{z{zzzzzzzy{zz{{{{{{{zzzzz{z{{{{{{{z|z{zzzzzyy{{||{{zy{zyzz{zzz{{{{z{zzzzzz{zz{{{zz{{{zzz{{zz{{{{{{{{{zyz{z{zz{zzz{{{{z{{yzzz{{{{{|||{|{zzyzz{|{{{{{|{z{{{z{z{{{z{{{zzy{{{z|z{{{{{{}|{{{|{zz{{{{{z{{{{z{{|z{zz{{{{||{{{{{z{|z{|||||{|{{{{{zz|{|{{{||{|{{||z{{{{|||{}|{{|z|{|z|}{|{||{|{z{|z{z{{|||||{{{||zz|{|{{||||{|zz{{{{{{|z{{{|}{{|{{{z{||{||{{}zzz{{{{zz{{|{|{}{{zz{zz{z|||{{{{{{{zzzyz{{|z{{z{zzz{zz{zz{|{{z{{{{{zzyz{|{|z{{{|{{zy{{yzz{zz{{{{{yzzzz{{{|{{z{{{{zzzzzzz{z{{{{z|{z{zzzyyzz{{{{z{{zzzzzy{zz|z{{{{{{zy{zzzzzz{z{{{zzzzzzzz{z{zz{zz{zzz{yz{{z{{{{{|zz{{{zzz{z|zzz{{z{zzz{zy{{{z{{{|{y{z{zzyz{z{{{{|yzzzzzzz{{{{zz||{zzz{z{z{{{{{{z{zz|{y{{{{zz|{||{zzzzzzzz{{{z{||{{{zz{zzzz{z{|{{|{z{{{{{z|{||{{|z{yzy|{{{z{{{{|{{{{{{z{zz{|{{z{{{z{|z{z{{z{{{||{|{{{{{yz{|||{|{{{|{{{{{{z{||}{||||z{z{{||||||{||{|{z|{|zz{|{||}|{{{{{zz{{||{||||{{{{{{{|{{{{||||||{{{{{{{||{||{{|{|{{{{{{z{{{z{}{|{{{z{zzz|{{{{}{{y{zyz{zz|z{{{{z{zyyz{zyz{zzzzz|zzzzzzzz{zz{{{||zzzyzzzz{zzz{{{|{yzyzzzzz{{{z|{{zzzyxyzyz{{{|zz{yyzzzy{z{{zzz{z{y{yzzzz{z{z{z{{z{zzzz{zyz{zzzzz{zyyyzzzy{z{y{{{zyyzzzyz{zz{{{zzzzzzzzzzz{{zzzz{zzyzzzyzzzzzzz{{{z{{zzzyy{{z{z{{{zzzz{z{y{z{{{{{{zzzzzz{y{{z{{z|{z{{zzzzy{z{{z{z|zzzzzzzz{{z{|||{{{{zzz{{z{{|{|{{zz{zz{zy{{{z{||{{{|{zzzz||{{{||{zz{z{{z{|{{|{||{zz{z|{{z{{z|z{|{{{{{{z{z{|z{{{|{|z{zzz||{||{{{|{{z{z{{{zz{{{{{|{|{{{z|zz{|{}{{||{{z{zz{{{{z{{{|{{{zz{{{{{{{|{{|||{{{{zz{{|z||{z{zzzz{z{z{{{|{z{{{{z{z{z{z{{{{{||{z{z{zzz{{{{{z{{{zyzzyzyz{|{{z{{{zzzzzzz{{{z{{{{{{zzz{{yzz{z{{|{z{{{zz{z{zz|z{{{zz{zzz{y{z{{zz{|{zzyzyzz{zz{|{{{zz{yyzzz{z{z{z{|zz{z{zzz{zz{z{z{{z{yzzz{{{z{{z{zzzz{yzyzzzzzzz{{zzzzzzzzzz{|{z|{zzzzzy{zzzzzy{{{{{zzzzyyz{z{z{{{zz{{zzzy{{{{{z{{{z{{{z{z{z{{{z{zzz{zzz{z{|{|{{{{zz|z{y|z{{{{{{{{zz|z{z|zz{||{{{|{zzz{{zz{{|{{|{{|{zzzzz{{z{{{|{{zzzzzzz{z{|{|{|zz|zz{z{z|{{||||}|z|{{z{z|{{|{|{{|{{{{{zz{{||{|{|{z{{{{{{{|{|||||||{z{{{{z{{{|{|||{{{zzz{|{|||z||{{z{{z{{{|{{|{||{{z{{z{{|z||||||zz{{{{z{{{|{{|||{z{{zz{zz{{{{{|{{z{zz{zz{{{{{{{{{{zyyzzz{z{zz{{{zzyzy{yzzzz{{||{z{zzzzzzzz{z{|{|z{|z{zzz{{z{{z{zzzzzzz{z{zz{z{{{zz{zzzyzz{{z{{{{yz{zzzyzzz{{z|{{zzzzzzyz{z|{{zzzzzyzzzzz{zzz{{{{|yyzyzyz{zz{{zz{zz{y{yzzz{{{z{{|{zzzzy{zzzz{{{{{zzz{zz{zzzz{{{{{zzzzz{zz{{z{{{||{zzzzyzz{{z{{z{}z{{zzyz{{zz{zz{{zz{zy{zz|{|{{|{|{|{z{zzz{{{{{{|{{{{zzz{z|{|{{||{{z{{zzzz{|{{{{{{{{|{z{|z{{z{{||{{{{{|{{{{{{{{{}|{{{|z{zz{{{|||||{{zz{z{{|{|{||{{{{{z{{z{{|{||{{||z|{{{z{{|||{}{{|{{{{z{{|{}{{{|{|{{{z{{{{{{{|{{|{{{{{{zz|{||||||{{zy{{|{{{{|}{||{{{{{{z{{|{{{{|{zzzy{z{z{||{{{{|{z{z{z{zz{{z{{||{zzyzzyz{{{{{|{|zzzzzzzz{{{{{z{|{zy{|zyzz{||{{||z{zzzz{y{z|{{{{{y{zzzzzzz{{{y{{{{{zzzzz{z|{|z|{z{z{zy{zzy{z{z{z{{{{{z{{z{|{{{{{{{{zzzzzz{z{|{|{|{zz{zzzz{{z{{z|z{zx{{yzyzz{z{{zz{zyyzzzz{{{|{{{{zzyz{{zz|{z{{{{{{{z{zz{z{{{{{{{{{{{{{z{{{{|{{{|{zz{z{{{z{||{{{{{{z{{{z{{z{|{{|{{{{{zzz{{||z{z|{{|zz{{{{{{|{{|{zz{z{{{{z{{|{||{{{{{|{z{{||||||{|}{{{{{{{z|{|}|||z{{{{||{z|{|{{{|||{z{z|{{{||||}{{|{{{{|{{{||}|||||{{{||{{{z}{|{|||{|z{{z{{|||||}{|{{{{{|{|{|{|||||{{zz{zz{|{|{{|{{z{{zz{{{{|{{{|{|z{{z{{{{{{{|{{{|zzzzzzyzz||z{|{{z{yzyzz{zz{{|z|zy{z{z{y{zz{|z|zzzzzzzz{{{{{|z{{{{{zzzzz{{{{{{{{zzy{{yzy{{{{{{{zzz|zzzy{|z{z|{{{{z{z{zzyzz{{{z{{zzz{zzzzz{{z{{{{z{zzyzzz{z{{{{z{{z{zzyyzz{{{{|||zz|z{zzy{{{|{{{|{z{yzy{zz|z{{{{|{zz{{zz{{{z|{{{{z{zz{zzzz{|{z{{{zzzzzz{zz{{z{z{{zz{{{z{z{{{|{{||{{{{{z{{z{{|{{{{|{{{{{z{||{zz|}{{z{z{zz{{|z{|{|{{{{z{{z{|{{||{||y{|z{{z{||{|{||}{z{|zzz{{{|}{{|{|{{{{z{{||{{|}|{z{{z|{{{{|{||||||z{|{|zz{|||{||||{|{z{{{}||{|||{{{zz|{z|{||{|{{{|{z|{|{{{{||{||||{{z{{{{z{{{{|||z{{{{{|{z|{|z{|{{z{{zz{{|{z{z{{|z{z{zz{zz{|{{{|{{{z{zyy{{{|{{||{{{zyz{zz{{{|{{{|{zz{zz{zz{z{z{||{zz{yyzzz{{{{{{{{zz{z{z{z{{{{{{z{zzzzzzz{z{z{{{{zzzzyzyzzzz{{{{{zzzz{zz{{|{{{{z{zzzyyzzzz{{{|z|{{z{|y{zyz{{|{{{{{{{zzyzzz{{zz{|{z{zzz{z{zz{{{{{{{z{z{{z{{yzz{z{{|z{z|zz{{{{{{{{|{x|z{zz{{{{|{zzzzy{zzz{z{|{{{{|{{{{y{z{{{{|{{{{{{{{z{{{{|{|{|{||{{zz{z{{|{{{{|{||z|{z{{z||{{{}||z{{||{{y|{{||{|||z{|{{{{{|{||||{|{|{{{{{||{{|||{{zz{{||{{|||{|||{z{{{{{{|||||||||z{{||{{|||{|{|||{{{{z{||{{{||}|{{{{{{{{{|{{|{{|z{{yzz{{||{|||||{zz{z{{{z|{|{{|z{{{z{zz{{{{{{{{|yzyzzz{z{{|{{{{{{zyzzzz{{{{{{{{{{{zyzz{z{{{{{{{{zz{z{{z{{{{zz{{|{zzzz{yzz{z{{{{{zz{{zzzzz{zz{{{{{z{zzzzz{zzzz{{{zzyyyzyz{{z{zzz{zzzzzzz{{{|{{{{{{z{{zzyz{{{z{{z{{{{zzyz{{zz{|{{|z{z{{zzzz{{zz{{|z{zyzzzz{{{|{{z|zy{zz|zyzz|{z{z{{z{zzz{z|{{{z{{{{yz{zzz|{{{{{{{|zz{zzy|{{{{{{{{|{z{{{{{z{{{{{{{|{|{{{{zz{{{|{{|{{{z{z{{y{{|{{|z{{z{z{{{{{|{||{|||{zzzz{{{{{}{||||{{{z{z{|{|{||{{}{{z{{{{|{{{|||||{{{{|{{z||{{||{|{|{{{z||||}{|{{|z|{z{{{|{{{||{|z{{{|{{|{||{{|{||{{zzzy{{{{{}||{||zz{{{z||||{||{|zz{yz{z{{{{z||{{{{z{{zz{{|{{z{z{yzyzzzz{{{|{{{{zzzzyyzz{{{{z{||zzzzz{{y||z{{{{{{z{zzzz{zzz{{z{{zz{yzzzy{{|{{{{|{z{yzzzz{zzyz{{z{z{zzyzyzzzzzz{|{zzz{zzzz{z{{{{{z{{y{zzz{zyzz{z{zz{{yzzz{z{z{z{{{zz{y{zz{{z{{|{{zzzzzyzz{{{{{{|z{{zyzzzzzzy{{{{{yz{z{{{zzz{{z|{{{z{{{zzz{{{{z{{{{{{{zz{z{zzz{|}{zz|{z{{zz|zz{|}|{z{{yzyz{zz{{|||z{{{{{z{z{{{{{||{{{{{zz{|{{{|{{|{{zzzz{{{{{|{{||z{|z{{|{{|||||}{{{{{{z{{{{z||{{{{{z{{y{{{{{{|||||{{zz{{||||||{{{|{{|{{z{||{z|||{{{{|{{{{{{{|{}{{|z{{{{z||{z{{{{{{z|{|zz{|{{{|{{|zz{|z{{{{z{{{{|||{{{|{{z{||{{{|{z{{zzzz{z{{{|{{{zzzz{yzz{{{{{z{{zz{zzzzz{{{{{{{{{{zzz{zz{{{{{{{|{{{zzzy{z{{{z{{{z{zyzzzzzz{{z{{|z{{zzzzzz{{{{{{{zyz{zzzyzz{z{zz|zzz{zzy{zz{zz{{zzzzzzyyz{z{z{z{{{zzzzzzyz{{z{{{z{{zzyzzzzzz{z{{{zyzyz{zzz{zzzz{zzzzyzzzyz{z{zzz{zz{zzzzyz|zzz{|{zzzy{zzzz|{z{z{|{{{{{y{z{{{{{{{|{yzz{|{y{{zz{{|{zy{z{y{zz|{||{{|{z{{{{{{{{|z{z{{{{z{z{{{{{{{{{|{{z{{{{{z|{{|{{|{{z{zz{{{|{{|{{||{{{{{{{z|{{||{{{{{z{z{{z|||z|{|}{z{{{{{{{||||{|||{{{z{|{{|||z||||{{|{{{||{|||{||{{z{{{{{{|{{{{||{{{{{z{|{{{{{{{|||{z{zzz{||{{|||{z{{zy{z{||{{z|{{z{zzyzzz{{{{z{{{z{zzzz{zz|{{z{|{{zzzyz{{{|{{|{{{{{yz{zzz{{{{{{|{yzz{zzz|z|{{{||{{zzz{zz{{|{{{{{zzzzzzzzzz{{z{{{{zzzzzyzz{{{z{{{{yzzz{zz{z{{{{z{{z{yzzzyzz{{z{{{zz{z{zyzzy{z{{{{{{zzy{{y{{z|{{{{zz{zzyzzzz{zzz{zz{zz{zz{z{zz{{{{zz{z{zzz{z{|{|{{{y{{zzzzz{|zz{{z{zz{zyzz{{|{|{{{{z{{z{zz{{zzz|{|zz{{{z{{{|{|{|{{{zzz{{y{{{{z{z{{|{z{{z{{}{{{{{{|{{{{zzyz{{||{}{{{zz{{z{z{|{||{||{z{{z{{{{||{{||{{{{{{{{||}{|{{||{{|{{z{{{{{||||||z{z{{{{{||}{}|||{|{{|{||{{{{{{|{zz{{zz|{{{|{|{{{{{{|z{|{{{{|||{|zzz{{{yz|{{{z|||zzyz{zz{{{|{|{{{{{z{y{zz{{{|{z{{{{z{yzzy{z{{{zz{{zzzzz{z{{{{{{|{{zyzzzz{zzz{z||zzzzzzzzz{z{z{zz{{{xzzzy{z{{z{z{{{{zzzyzzzz{z{|{{zyzzyyzzz{{yz{{z{{zzzyz{{z{z{z{zzy{zzyzzzzzzz{{{zzzyzzzzz{zz{{{{z{zz{zyzzzzy{{{{zyyyzyzz{{zzz{zzz{yzzzyz{z{z{{|yzz{zz{zz{z|z{||zzzzzz{z{{{{{{{{{yzzzz|{z{{{{z{{zzzyzzzzz{{{{{|{yz{z{zzy{{{{z{{{yz{{{{zz{{|{z{{{zzz{{zzz{{{z{{{{z{{{z|{zz|||{|{{{{{z|z|{{z{|{{}{{{z{zz{{|{{{{|{|{yz{{{{{{{|{{|||{{{zz{z|{|{|{{{||zz{{{{z{|{}|}|{{{z{{{{{||zz||{{|z{z{z{z|{|{|{||{{{||z{||{{{{|||{{{zz{z{{{{{{||{|{{{zz{zz{{{{{|{{{{{z{zz{|{{{{{{{z{zzzzz{{|{{{{zzzzzzzzz{{{{{{{{{{zyzzz{zz{z{|{zzzzzyyzyzzy{{z{|zzzzyz{z{{{{{{{{zz{zzz{{z{z{{{zzzz{zzyyzy{{zzzz{zyzzzzzz|z{{{{z{zzzyzzzzz{zz{{|{{z{yzzzz{y{z{{{zzz{{zyzz{{{{zz{zzzzz{yyzz{zzy{{{{zyzyzzzy{z{|{{{zz{z{{zzzz{|z{{{zzzy{zzz{{{zy|{{zzzzzz{z{{z{{{|{z{zz{{yz{{{{z{{{{zzyzzz|{{{z{{|||{{z|{z{|{|{|{|{{{z{{{{z{{{{z{||z{{z|{zz|{|{{{||z{z{{{{{{{{{||{}{{z{{zz{{|{||{}z{z{{{{{{{||z|{|{{{|zz||{{|{{|}{}|{{{{|{{||||{{|{{z|{{{{||z{{{||{|{zzz{{yz{{|{{||{{{z{{z{{{zz{||}{{{zzzz{{{z|{|{|{{{zzz{z{{|{{{{zzz{{zz{zz|z{{|z{{zz{zz|z{{|{|{{{{yz{zzz{{|z{|{||{zzyyz{z|{z|{{|{zz{zz{zzz{zz{|{{{{zyzz{zz{{{zz{|{{zzzy{yz{{|z|{z{y{zz{zz|{|{z{{zyzzzzzyz{{{{z{{{zzzzzz{{{{{zz{{{zz{yzzzz{{{{|{{{z{zzyz{z{{{{z{{{zzzyyz{z{{zz{{||z{zzz{zzz{z{{|z{z{{yzzzzz{{{z{{{{{z{zzz{||{{z{{{{z|{{z{z{{{|z|||{zz{zzz{{{|{{{{|{z{{{{{{{z||{|{z{z{z{{zzz|{|{{|{{{zzz{{z|{||z|{||{{{{z{{{|{}|||{{{z{{{|{z{{||||}{{{{{|zz|{||{{}||z{{|{{z||{|}||||z{z{|{{{||{|{{||{{|{|{{{|{|{|}}z{{|z{{z{||{{||{|zz{z{{{|{{{||||{|{{{|{|{|{|{|||{{{z{{{{{{{{|{||{{{{z{{{|}{z||z{{{{zz{{{{z}{zz{{zzzzzyz{zz|{{z{{{|{zzz{z{{{z{{{{zyzy{z{z{z{{{{{|{z{zzzzz{z{z{z{{{zzzz{{yzz{{zz{{{zzzzzz{{{z{{{{zzzzzzzzz{{{z{{{zzzzyzzzzz{z{{{{{zz|z{zzz{{z{{{{{z{zzzzzyy{zz{|z{yy{zzz{zz|{{{|{{zzzzzz{yz{{zz|{{{zzzzy{{z|zz{{z|zzzz{{zzz{{{z{|{z{zzzzz{zz{z{{|{zz{z{yzz{{z{{z||zz{zz{z{{{z{{{||z{{z{zz{{{{z{{{{{{{z{zzz{{||{z}|{{{{{z{{|||z{|{{|{{z|{{{{{||{|||{{zz{|{{{{{{{{||{{z{{z{z|{{||{|||z{z{z{{|{{{|||||{||{{|{{|{{|||z|{z{{{z{z||{|||||{|{zz{|{{|||{|||{{|z{z{{{|{||{|{{{{{{z{z|{{||}{z{{z{{z{{{{{z{|z{z|{zz{z{|||{|{z|zzzzzz{{{zz|{|{z{zzy{zyz{|{{{{|zyzzzzzzzz{{{{{{{zzz{|zz{|zz|{{|{zzzzzzzzz|{z{|{{{zzzz{z|{z{z|{{zzzzzzzzz{{{{|{zzyz{zzz{{z{z{zz{zz{{zzz{{{{zz{{zzz{zzzzzy{{{{z{{|yyzzzz{{{{z{|{{z{zz{zzyy{{{y{|zzzz{{zzz{{{zz||{{{zzzz{zzyz{z{z||y{{zzyz{{|{{{|{{{zz{zzzz{||{{||{yz{zz{z|{{{z{{{z|zzzzz{{|z{{|||{z{z{z{{{||{{{{{z{yyz{z{|||{{z|{{{z{zzy{{{|{{{{{z{{|{{{z||{||{|{{{{z{{||||{|||||z{z|z{z{{{{{{z{{|{{|{|z{|||{{{||y{{{{|{z{|{|{{|{|{{{{|{{z}{||||{||{{{{{{|||{{|{{z{zzzz{{||{{||||{{|{{{{z|{{{||{|{{|{zz{z{{{|{{|{{{z|{{{z{{{{z{|||{{z{zzz{z{{|{z|zzyyzz{yz{z{{zz{zzzzzz{z{{{z{z|{{yzzzzzy|zz{{{{{zzzzz{zz{|{{z{{{{zzzyyzy{z{{z{{{{z{zz{zzzzzz{{|{{yzzzyzz{{z{zzz{zz{zzzzz{{z{z{{{zyyzzzzz{{{zyz{{|zz{y{zz{{zz{z{{{yzzzzzzz{{z{{||{zzzzyzzz{{zzz{{zzyz{z{zz{zz{zz{zyz{z{yz{{{{{{{|{zzzzz{{z{{{z{{|z{zy{y{z||{{{{{{zz{{yzzy|{|{{|{{{{{{zzz{z|{{z|{{yz{{z{{z{{{|{{||{z{{{{z{{{{{||z|z{{{{{{{{{{||{|{z{{z{z{{{||{{|{|{{{z{z{{{|{|{{{{{z{z|z{|||{|{{||{{|{{{{{||{{{|{||{{{{|{{{||||{|{|z{{zz{||{{{|{|{{z{zz{||z{{{{{|||{|{{{{{|{{{{||{{{{zz{{{{||{z{|||z{{zz{z{|z}{|{|{zz{{zz{z{{{z{{zz{yzzyzyz{{{{|{{z{yzzzz{{{{{{{{{z{yzzzzz{z{{z{zz{z{yzyzzz{{{{{z{{{zyzz{zzzz|{{{{zz{zzzyz{{{zz|zz{{zzy{zyzz{zz{{{zzzyz{yzzzzzz{{zzyzyyzzzz{z|{z{{zyzzy{yzz{{{z{zzzzzzzzzzz{{{{{z{{{yzyzzz|{zzz{{{zzzyyz{zz{{{{{|{zzzyz{zzzz{{{{{{{zzzzzzzz{{z{|{|{z{zz{zz{{{{{z{|z{{{{yzy{{{{{z}{zz{{{{zz{{{{{|||{yzzzzzz{|{|{{z{zzz{z|z{{{||{{{{{{{{y{{{{z{{{|{|{{{{{{|z||{{{|{|{{{{zz{z{{{{{|||{{zz{{{{|||{{{||{zzz{{{{{{{{|}{|{z{{z{z{{|{|{||{|z{{z{z{||{||||}|z{z{z|z{{{{||{{|{{{{z{{|{{{{|{|{{{z|zzz{{z||{{{|{{{{z|{z{{|{{{{zzz{zzzz{{|z{|z{{{{zzzzz|{{|{{{{z{zz{zyy{{{{z|{{{z{zzzz{{z{z{|{z{z{y{z{z{{{{{|{|zzzzzzyyzzz{z{z|{{yz{{zzz|z{z{|{{zzzzyzzz{{zz{{{zzyyzzzz{zzzz{z{zzzzzyzzz{{{{z{zzzy{z{zzzz{{{{{{zzy{zzzzz{zz{{z{zzz{{{zz{{z{{{{z{|zzzz{zz{{{{{{{{z|{zyzyz{z{z|{{zzzyzzzz{{{{{{{{zz{yyz{z{{z{z||{zy{zy{{z{{{{z{{{zzz{yz{zz{{{|{{{zz{{{{zzz{|{{z{zzyz{z{z{{{{{z{|{{{z|{{{|{{{{{{{{{{||{{{|{{{|z{|||zz{{{z{{|||{{{z|{{z{zz{|{|{||||{{zy{{{{{{{|||{{|{z{{{z{{}|||||{|z|{z{z{|{{{|||||zzz|z{{|{|||}{||zz{{z{{{{|{||{{|z{zzzzzzz{{|{|{{{{{zz{z|{|{{{{|{{z{{zz{{z|{{{{{zzyzyz{zz{z{z{{{{zz{zzzzz{{z|{{z{zzzzz{z{z{{{|{{{zzzzyzz{{zzzzz{zzzyzzyyzzz{z{z{{{zzzzzyz{{zz{{y{zzyzzzz{zzzz|{zyzzzzzz{{zy{{{{zzyzyzzyyz{{z{z|zzzyyyyyz{{{z{{{zz{zzyzzz{|z|{{|zzzzyzz{z{z{zzz{z{zzz{yzyy{zz{{{{zzzzzzzz{{{{{{|{{zzz{zz{{{{zzz{|z{z{zz{z{{z{{{|{zyzzz{zz{{{{{{{{{zzzzz{{y{z{{z|{zzzz{z{y{{{{{||{{zzzzzzzz{{z{|{{{{{{{{{{zz|{|z||zzzyzz{{{|{|z|{||z{|{y{{{|||{||{|{|{{z{{{}||||||{{{{{|z{{{{{|{|}|{{|z{||z|{||||}|{{{z{z{{||zz{|||{{{|y{z||{{||}{{{{{{{zz{{{{{{{|zz{{{{z{{{{z{||{{z{z{{{z{|{{{{||zz{zzzzzz|{z{z{{z{{yzzzzz|zz{{|zzyyzzyzyzz|zz{{{{z{z{zzz{{zzz||{zzzz{zz{zz{zz{{{zzzzyz{yzz|{z{z{{zzz{yzyzzz{zz{zzyyzz{zzz{{{z{{zzzzyzzy{yz{zzz|{zzzyzzzzz{{z{z{zzz{{yyzz{{z{zzzzzzzzyzzyyzzz{{y{zzz{{z{zz{{zzzzzzzzzzzyzzz{zz{{zzzzzzzyzz{|{{{zzzzzzzz{{z{{z{z{{zzz{yzzzz|{{{||z{{z{zzzz{{{z{{{{{{zyzyzzz{{{{|z{zz{zzyzzz|z{z|{{{zz|{z{|{{{|{|z{zzz{{z{{{{{{{{|{{y{{z{{z||{|{|||{zz{{yzz{|{|z|{{|z{{{{z{|{|||{{|{z{{{z{zy|||{}|{{zz{{z{zz{{{{||{{z{|{z{{|{|zz{|{zz{|{|{{{{|{||}{{z{{{{{{{|{{||||{|z{{{z{z{{|{||{{{zzz{{z|{{|{{{{{y{{z{zz{{|{{z{z{z{zzxzyz{{{z{{|y{zzz{y{z{{zz|{zz{{yz{zyzz{{z{z{zy{yyyz{z{{{zz||zzyzzz{yz|{{z{z|zyyyzz{zy{{{{{{{zzzzyyyy{{{zz{{zzzzzyzyz{zzyz{z{zz{{zzzzz{z{zz|{zzzz{zzz{{z{{z{zzzzzyzzyzz{{z{{{zzzzzy{{z{{{z{{{zzzzzzy{z{z{y{z{z{{yzzzzz{zzz{z{zzzzzz{{{{{{z{{z{z{{{z{z{{{{{{{{{z{zz{zz{|z{{{{{z{z{z{{y{|{{{|zzzzzzzyzyz||{|{{{{y{zzzz{{{{{{{{{{{z{z{zz||{{{}||z{{z{z{{|{{{|{{{{zz{z{{{{{{{{|{}z{|zzzz{{||{|{||{{{{{{{{{|z{{||{{z{{z{z{{{||{{|||{{|zz{z|{z{{|{|{{{z{z{z{{|{{{||z{z{|{zz{{{||||{{z{z{zzz{|{{{{{{{zz{zz{z{{{zz{{{zz{zzz{zz{|z{{zz{zz{yz{zz{{{|{{{zyz{zzzzz{z{{{{|{zzzzy{zzz{|z{{z{{zzzzzz{{{{z{{{|zzy{zzz{z{{{z{{{z{y{z{zzzzzz{{{zzzyzzzyz{{zy{{{yzzyzyzzzzz{{zy{zzzzzz{z{{{{zz|yyz{zyzz{{{{y{{zz{zzyyzxz{{z|z{|z{zzzyyyyz{{zz|{{{{{z{yzzz{z{z{|{{zz{z{zyz{{zz{|{|zzz{{{{{{{{z{z{{z{{{zzz{{z{{{{zzz{z{{{zz{{z|{{{{z{{z{{zy|{{{{}{{zzzz{zy{|{{{{{{z{zzzzzz|{{{|{{{{z{{{{z{{||||{||{{{z{{{{{{z|{{{|{{z|{zz{{{{||{{{{{z{{|{{{|{{||}{{z{zzz{{|{{{|{{||{zzzz{{{|{{|{||{{{|{{z{{||{{|{{|{{zz{{{{{z{||{||z{z|zzz|{||}}|{{zzzzz{y{{{|{{|||{z|z{z{z|{|z{{{z{zzzz{z{{}{{{z{zzzzzzzz{{|z{{{{{{zz{zz{|{{{z{{||z{zyy{y|zzz{{z{{zzzzzzzz{{{{{z{{{y{zzzzz{{z{{z{{{y{zyzzz{{zz{{z{zzzzzzzzz|{{z{{zzzz{yzzz{z|{z{{{yzzzzzzz{{zzz{z{{z{zzyzzz|{{|}{{zzyyz{yz{{{{{z|zzzzzzzzz{z{z{{{{z{zzzzzzz{{{{|{{zyy{{{zz{{{zz{{{zzz{{yz{z{{{z||{y{{z{y{{{{{|{{|{{z{zz{{{|{{{{{{{zzz{z{z{{{z||{{{yz{{{|z{{|{{{{{zz{{y{z{{|||{{{{|{{{{{zz{|||||{|yz{{{z{{||{||{|{|{{{{{{{{{{{|{|||z{|{zzz||{{||||{z{{{{||z|{||{}{|{{{{{{{{|{{|||||{{|{{|z|{|{}}|||{{||zz{|{{||{|||{z{{{|{}|{{{|{{{{z{{{{{||{z||||{{z{z{z{{{|{{|{{|zz{zy{zz{{{{z{zzzzyzzzz{z{z{z{{{yz{zyzz{{zzy||z{{zzzyzz{y|z|{{zzy{zzz{z{z{zzz{{{{yyzzy{{{{{z{{{z{zzyzzyz{zz{{{z{zzzz{z{{z{zz|{{{zzyzzy{zzzzy{z{zzyzz{z{z{z{{{{z{zz{zy{zzz{{{|{|zz{zz{zzz{zzzz{{{zzz{z{zz{z{z{zzz{zzzyz{z{zyz{z{zzzyz{yz{zz|{{z{{zzz{z{z{z{{|z{{{{zz{zy{{{|z{{z|z{{{z{zzz{{{{{|{{zzz{y{z{{{zzzy{{z{{zzzz{|{{{{{||z{{{zz|{|{{{{{|{z{{z{{z|{||{{|{z{{{{{|{{{|{|{}{{z|zz{{{{||{|{{|{{zz{z|z|||z{||{|{{{{|{{{{{{||}{||z{{{zz{||{|||{{{{{z{{{|{{{|{||{{zzz|{{{{{{{{||{{{{|{z{z{|{|||}{z{z{z{z{{{{{z||{|zz|{zz{{{|z{{||z{{zyzz{|{{{{{{{zzz{{zy{{z{zz{{{zzzzyyz{{{{z{{{z{z{z{zz{z{{|z{|{zzzzzzzz{||y{|{z{zzzyzz{z{|{zz{zz{z{zzzz{z{{{zzzz{zzyzy{z|yzz{zzzzzzyzzz{{z|{{{zzyy{yzy{zzzzz{zzzzzy{y{{yzz{{zzz{zzzy{xz{{|{{{{zzzzzyzz{{{{{z{{yzzyzy{yz|zz{{{{zyzzz{zz{zz{{{z|{zz{{yzzzz{z|{{|{{z{zzz{zzzz{{{{zzzzyzz{z{||z{|{zz{zzzzy{||{{{zz{z{{{{{z{{z{z{|z{yz{{y{{{{{{{{z{zz{{z{zz||{|{}{|z{{|z{|{{{{{|{|||zzz{zyzz{||{|{{{zz{{{{{{|{{{|}||{{{{z{|{|z{|{{|{zzzz{zz{|||{{{{|z||{z{z{{z{||{{{{zz{zz{z{{{|{{}{{{{{{z{|{{{{{{{|z{z{{{z{{{{{z{z|{{{z{zy{{{|z{{z|{z{{zzz{{|z{{{{yzzy{{zzz||z{{|{z{zzyzz{z{{{{{||zz{zzzyyz{{{{z{|zz{{zzyzz|{|z{|{{zzzzyzz|{{{z{|{{zz{zz{zz{{{z{zzzzz{yzzzz{|zzz{{zzzzzzzyzz{zz{{{zzzzyy{z{z{{z{zzz{zzyzzz{z{{z{||z{zzz{yyz{z{{{{zzzyz{yzzzzz{{{zzz{zz{{{z{{{{{{{{zzzzz{zz{{|z{z{{z{z{{y{z{{{{{zz{z{z{zyzz{zz{{{||{z{z{zyzz{{{{{{{{{z{{z{z{{{{{{z|{z{zzzzz{{zz{{||{{z{z{zzz{zz{|z|||{zz{{|{z|{{{{|{{{{{zz{|{||{||{{z{{{{z{{{||{{|||zz|{{{{{|||||}|{{{{z{{{{{{{z{}||{{z{{{{z|{|{{|}{{{{z{|{||||{}|{{zzz{{{{{{{|{{|||z{{{{|{z{{{{||z{{{z|{{z{|{|{{|{{z{{z{yz{{|{|{|||{{{{zz{{{{{{zzz{{zzyzzz{{zz{{{{zyzyzzyy{zz{{z|{{{yzzzyz{{z{{|{{{zzzzz{yzz{zz{{{{{zyzz{yz{{{z{z{{{zyyyzzz{zz{{z{zz{zzzz{{zzzz{zzzzzyzzzzzzz{y{z{zzzxyyzyz{|{z{{{z{zzyzzz{z{z{{{{zyzzyzzyz{z|{{{{zzyzzyyyz{zz{{{{zzyyyzzzz|z{z{{{zzzzz{{yzz{{z{{|{zz{zyz{z{{{{{{{zyyzzzz{zz{{{{{}z{{y{zz{z{{|{{{{{y{{{yzz{{{{z{{{zzz{z{zzz{|||z{{zy|z{{z|{{||{{{{{{{y{{zz{}{|||{{{{{{{{zz{{{{{{|||{{{{y{z{|{||z{{{zz{{{{z|{{|{{{|{{z{z{{zz{||}{|}|{{{{{z{{||{{||||{{{{{{{|z||{{{{{z{|zz{{{{||{|{{{|zzz|z{||{{z|||{z{z{{|{{z{{{{|{{{z{zzzz{{{{{{{z{zz{zz{{{z{z|{zzzyyzzyzzz|{zzzz{zzzzzy{zz{{{z{{z{zzzz{zzz{zzz{{z{y{zzzyz{z{zz{{{zzy{yzyzzz{{zz{{{zzzyzzyyzzz{|{zzzzyzzyzz{{zzz{{zzyyyzzyyzy{zz{{zz{yzzzzzz{z{{{zzyzzyyyzyzz{z{z{zz{zyzzyzz{zz{{{{zzx{zzyzzzzzz{zyzzzyz{yz{z{zzz{yz{zzzzzzzz{zz{zzyzzzyzzz{z{{z{{yyzyyz|z{{{zz|{|{zzzzzzzz{}{z|{{yz{z{yzzz{{{{{{|zyz{zzzyzz{{zz{{z{z{zzzzz|{{{{|{z{z{zzz{z|{|{{z|zzzz{z{zz{{{|{{{{zz{{zzz{z|{z{|{zzyzzzzz{{|{{{|{|yzz{zzzz{{{|{|||z{{{z{{z|{|{{|{{{z{z{yz{|{||{|{{z{z|zz|{{{{{||{z{z{z{|{{{{{{|||{zzzzzzz{|{{{{{{zz{zz{zz{z{{z{z{z{{yzzzz{{{{{|{y{zy{{zzyzzzzz{{zzzzzzzzzzzz{z{{z{zz{{zzyzz{{{{zz{y{yzzzz{{{{{zzzyz{yyyzx{zzyz{{{zzzyz{zzzz{zz{{{zyzxzyzzz{zzy{z{zzzzzzzyzzy{z{{{zyyzzzzyy{{{{z{zzzyzyyyzzz{{{{{zzzzzzyyyz{y{{|{zzyzz{zzx{{zzz{zz{zyzzzzz{zzzz{{{{zzzzzz{{z{zzzz{zyyyzzzyyz{{z{{{z{zz{zyzz{z{z{z|zz{zzz{zzz{{{z|{zzzzzz{zz{{z{{{{yz{{z{zz{{{{{z{{{z{zz{y{{{{{{{z|{{z{{zz{{{{{|||{z{{zzy{z{|{{{||{{z{{zzz{{{|{}|||{{zz|z{z|{{{{{{|{{{yz{{z{|{{{|{{}{{{{{z{z}z|{{{{|{|zz{{z{|{|{{|{{z{yz{z{{{|z{{|{z{{{{{{z{|{}z|{{z{{zz{zy{{{{{{|{{z{{yzzzz}{{z{{|{z{z{z{zz{{{z{{zzzyz{yyzz{zzzz{{{zzzzyyz{zzz{{{|z{yzzzzz{{{z{|{{{yz{yyyyzz{{z{zzyzzzzzzy{z{zz{{zyzzzzz{zzzzzz{y{{zzzzyzzzzzyz{yzzzzyzz{yzy{zzzz|yyzzyyzyzzz|{{{z{z{zzzzy{{{zz{{{zzzzyzzyzz{|{{zzzyyyzzzy{z{z{z{{zzzyzz{yz{zzz{{{zzyyzzzz{z{{z{|{{yzzzzzzzz|{{{{{zy|yzzz{z{z{{{{{zyzyzzyyz{zz{|{{{z{yzzzyzzz{z{{{{zzzz{z{{{{z{{{zz{z{zzzz{{|{{|{|{{{z{z{z{{{{{{{{{z{{{z|{{{{{|{{||z{{{yzz{{|{{{{{zzzz{{zz{{|{{{{|{z{{z{|{{|{{|}|{zz{{z{zz{|z{|||{|z{{zz{|{{{{{{|||yz{{zzz{|zz{{{|{|{{{z{z{{{|{z{}{{zz{z{z{|{|{{|{{zz{zzzz{{{|z{{zz{zz{zz{z{z{z{z{{zzzzyzyz||zz{{zzzyzzyzz{z{{{{z{{yzzyz{z{z{z{{|z{z{zzzzzzzz{{{{{{yzyyyyyzzz{{zz|zyzyyyzyyzzz{{y{{zzzyzyzzz{y{zzyyzzzzzzz{z{{zzz{yyzyzzyzz|zy{zzzzzzyzyzy{zzz{{{{z{{{zzyzzzz{{|{{zzzzzzzyzz{zz{z|zz{yzyz{yzz{zz{|zzz{y{zyyz{z{z{{zzzzzzzzz{{|{z{{{z{{zyz{{z{{|{||{zzyyz{z{{{z{{{{z{zz{y{zzz{{|{{|z{{zzzzy{{{zzz{{z{zz{zz{{z|{z|{{{{{z{z{z{||{|||{{zzy{z{z{zz{{{{||z{{{zzz{{}{z{{{{z{{z{{z{||{||||{zzzz|z{{|{{||||{{{|{|{z{{{{{|||{{z{z{{{}{{{|{{{{{zzz{{{z{{||{}|{{{{{{zz{|{|{{||z{{{{z{{{{{{{{|{z{zzzz{z{|z{{{|z{{{z{{{z{{z{{{{{zyyzyzyz{|{z{{{|zzy{yzzz{{{zz{{{{{|zyzz{{z{z{{z{zz{yz{zy{{|{{{{zzzzzzyzzzz|{{zzz{y{zzzyzzz{z{{|z{zzzzyzzzz{{z{y|yyzzyzzzzzzzzzz{yzz{zyzy{z{{zzz{z{{yz{yz{z{z{{{{{zz{zzyyzzzzz{{{z{zy{zyzz{zz{z{{{yzyzyzzzzz{z{{z{zzzzzzzy{{{{{|{z{zz{z{zz{{zz{z|z{{zzzzzzz{{z{|{z{zzzzzz{{{{{{{{z{z{{z{zzzz|{||{zzz{{zyz{{|{{{|{{{{{{z{{||zz{|z{{z{{{z{zz{||{z{{{|zz{{{z}|||}|||{zz{{z{zz|}{|{{{|{{y|z{{|||{||{|{{{z{{|{{{|{{||||z{z{|{|{|||{||{|zz|{{{{{{{|}{|{{{z|{{{{|||{z|||||zzzzz{|{{|{{||z{zzzz{{|{{{{|{||{z{{z{z{|{{z{{|z{|{{z{z{{|zz{zyz{yzzzzz{{{{z{{{zzz{yyzy{z{z{{z{z{{zyzzz|z{{{{z{{zz{{zzy{yz{{{{{{z{yyzzz{{{zzz{|zzzyzzzyz{z{zz{zzy{zzzzzz{zz{zzzzxzyyzzzz{y{zz{{y{zzyzzz{z{yzz{{zz{{zzyzzzzz{{{zz{zzzyzzz{{z{zzzzzyyyyzyz{{{z{{{{zzzzzzzzzzz{{{zz{{yzzzzz{{zzz{|{zzzz{zz{|{z{{z{{z{{y{{|{zz{{|z{zz{yzz{{{{zzz{||z{{{z{z{{{zz{|z{zzzz{{z{{||{{{|{{zzz{{z{}z{z{||{{z{zzzzz{{||{|{{y{{z{{z{z{{|{|{{{{{z{zz{{{{{{||{{y{{zz{{{|||{{|{zzz{{{{z{||{{{||{{z{{{{z|||{{|||{{{{y{{{zz{|{{|{{{z{{{{z{||||{|{|{{{{{{{{{{|{{{|{z{z{{zz{{{||||{z|{{zz{{{|{{||z{{zzz{yzz|{{|{zz{zzzyyzzzz{{{zzz{y{zzyzzy|{z{{{{{{zzyzyyyzzzzz{z{zzzy{yzzzz{{z{{zzzzzzyyzz{|{{{z|zyyyyzyyz{zzz{|zzyzzyyzzzzzzz{{{yz{zzzyzzzzzz{{{zyyzzyzzz{{zzz{zzyzzzzyz{z{{{zz{zyzzyzyy{zyz{{{{zyzzzy{yy{zyy{{zzzzzzz{z{zz{z{{zzzz{{yzyyzz{{{{{zz{z{z{zz{{{{{z{{yz{zz{y{z{z{z{{{{zzzzzyzzz{|{{{zzzz|y{zz{{{{{{z{zzy{{{zz|{{{{{zz{y{zzy{z{{{z{{{z{z{z{{zz{{||{||{z{z{{|||{{{{{{{{{{zz{zz|{z{z{{{{z{{z{{{|{{{{{|{{{z{{{zz{{{{||||}{{{{zzzz|{|{{{{|zz{yz{zz||{{|{{{{{{{{z{|z{{|{||{{zz{{zz|||{{{|{{z{{{{zz{{{{{{{||{z{zzzzz{{{{z{{{z{zyzzz{{{{z{z{{{yyyzxzy{y{{z{{zzzzyzxyz{{{z{{{{zyzyzzyzzzz{y{{zzyyzyyyyzzzz{{{{|zzxyzy{zzz{{{zyz{zzyyyzzz{{z{z{yzzzzzzzzzzy{z{zzzzyzyzzyz{yz{zyyyzyyyyyz{z{yzzzyzyzyyzzzz{{z{{zzzyyyzzy{z{zz{z{{yzzzzzzzyzzzzzyyyy{zzzyz{zy{z|zz{z{zzyz{{z{|zzzzzzyyyz{zzyzz{zzy{yzzzyz{z{{{z|zz{zzzz{z{zzz{{{{zzz{{zz{||zz{{{z{z{yzyz{z|{{{|{{zz{zyzzz{{{z{{{zz{{zz{z{{{z{{|{{{{{{zz{{{{|{z{{zzz{{zzz{{{{{{{z{{z{{y{zz{{z{{{zz{{{z{|z{{{{|{{|{{z{z{yzz{{{|{{{|{z{{z{zz|{{|||{{z{zzzyz{z{y{{|{{{{zz{z{{{|{z|{{yzzy{zyz{{z{|{{z{zz{zzyzz{{{zz|{{zzzyy{yz{{zzzz{yzz{yyzzz{zzzy{{zzzyzyyzzzzzz{{zzyxy{{zzzzzzz{z{zyxzzzzz{z{{z{z{zzyyzz{zzzzzz|z{zzzzzzzy{z{zz{{zzyyyyyxyzy{zzzyzzyzzzyzyzzz{y{zzyyyzzyzyzyzzzzzzzzyyzyyyzy{z{{{z{zyyyzy{z{{zz{{zzzz{zyyzzzyz{zzzzyyzyzzyzz{{y{zyyzzzzzzx{{zz{zzyzzzzyzz{z{zz{{{{yz{{yyzzzz{zz{{{yz{zzyzzz{|z{yz{zz{zzzzyzzz|z{{zzyzzzz{y{{|zz{{zzzz{zy{zzzz{y{{zzzzz{yz{{|{zz{{{zzz{{{{{{{{|{{|{zz{z{zz{z{z{z{{|{zz{zzy{{|{z{|{z{{zzz{{z{{{{|||{{zzzzzzz{|{{{|{}{{{zz{{{{|{{|||{|yz{{{zz{z{||{y|{zzzyz{{{{{{z{{{{{{z{z{y{{{{{{||yyzz{y{zzz{{zz||zz{zzyzz{z{z{zzzzz{yzy{yzz{{zz{zzzyzyzzzzz{{{|{{zzzyyyzyzzzzzzzzzy{y{yyzzzz{zz{{{zyzyyzzyzzz{zyzyzzyyyyxzzzz{{zzzz{yzzyxy{zzy{{zyzzzyzzyzzzzz{z{yzyzzyyzzzzyzzzyzyzyyzyy{y{yzzz{yzyzyzzyzyzzzz{z{zxyyzzzyzzzzzyzzyzyzyzyz{zzy|{z{xzy{{zyzzyzzz{zzz{zzyyzz{zz{zz|zyzzzyzz{z{{y{z{zy{zzzyyz{zz{z{zzzzyyz{yz{{z{{{{zzzzyzzzz{{z{z{zzzzzx{zz{{{zz{zz{{{z{zz{{{{{z{{{yzzzzzz{{{{|{{{{{zzzzzxyz{{{{{{|{yz{{{zz{|zz{{{{zyz{{z{{z|{{{{{z|z{{z{z{z{z|{|{{zzz{z{{{zz|z{|{{{zzzz{z{{}|{{{{{{zzzz{z{{{{{{{{|{zzzzzzz{z{z{{|{z{zz{zzyz{z{||z{zz{zzzzy{{{{zz{{zyzyzzzyzzzzzzz{zzzz{xzyzzz{{z{zyzzzyzyz|zzyzz{zzyzxyyzzz{|{z{{{z{yyzyyyzzz|z{{zyxzyzzzyx{yyz|{{zzzzzyyy{z{zz{zzzzzzyzyzzzz{zzz{yzyxyyyzz{|zzzzzzyzzxyyzz{zz{zzzzyzyyzyyzz|z{z{z{yyyzzzyyzzyzzz{{yyyyzzyyzz|z{{zzzyzzzyyz{zzzz{zzzzyzxyzzz{{y|{{yz{zyzzzz{zy{z|{zz{zyzz{y{{{|{|{{{yzzzzz{{{{z{z{{z{zzz{zz{{zzz{{{zz{zzyz{{{z{{{zzzz{{yz{{{{{{{z|zz{zzz{z|{{|{{{|zzy{{{zz{{{{|{|{{zz{{{{zz||{z{{{z{{zzz{{{{{{{{|{|{z{y{zz{{zz{|{{{z{{zz{z||{{zzz{zzzz{zz{{{{{{{{{{{zz{{z{{|z||{z|{z{z|zzzz|{{{{|{zzyzyzzzz|{z{{{zzz{yyyzz{{zz{z{{zyzzyy{yyz{zzzzzzzzzzyyzzzz{zz{{zzzzzyyy{zz{z{zzzzzyzyyzzz|{yz|{{zzxyyzyzyz{z{{zyzyyzy{yyz{yzz{zyzyyzzxyzzzzyzzzzzzyyzyy{zzyz{z{yyzy{yyzzyzzzzz{yyyyyyyzzz{z{|{zyzzzyyzyy{{yz{z{zyyyyyzyyzzyyz{yzzzzxyyyz{zzz{z{yzzyyzyyzz{|zz{zzzzz{zzzz{zz{z{zzzyzzyzzzzz{zzz{zzzzyzzyz{zz{z{{zzyzyyz{zz{z{{{zzzzz{zzy{{{{z{|zzzzzzzzzz|{{{z{zzzyy{z|z{{{{z{{{{zz{{|{z{{{{z{|{zzzzzzzz{{{{{{|{{{{zzzzz{{{{{{||yz{zzz{{z{z{z|{{}{{zz{zz{{{{{|{zzz{z{{zz{{||{|{{zz{{zzz{{zz{{{||z{z{{{z{{z{{{{{{{{|zzyyz{{{{{{||{{{zyzzzz{{{{{{{zzzzzyyyz{zzz{zzzyyzzyzyzz{{z{{{z{yzzyzz{{zz{{{{yyyzzzzyzzzz{{|{zzzyyzyyzzzz{y|zzzyzyyyzzzz{|zz|yzzzzyzyzzzyzzzzyzzzzyyyz{zy{{z{zyzzyzzyzzy{yzzzyzzzzzzyyzzzzzz{zzyyzyyyz{zy{{z{zzzzzzzzz{zzzzzzzyzzyyyzyzzzz{z{zzzzyzzyzz{zz{{{{yzzyzzyyzzzz{z{zz{z{yzzz{zzz{{z{yzyzyzzzz{z{{{|zzzzyzzz{zz{zz{{zyzzzzyzzz{{{z{zzy{z{zzzz{z{{{|{{zzzzzyz{{z{|{zzz{yyzzz{{||{{{{{yzzy{zzz{{{{{|{{{z{{zzzz{|zzy|{{|y{y{{z{{{{{{|{|{z{{z{{{{|z|{|{{{zz{z{z{z|{{|{|{{zz{{z{{{{{{{{||{z{zyz{z|{{z{{z{|{yy{zzz{z{{{{{{{zzyzzz{z{{{{{|{{zz{zz{z{|{{{z{zzz{zzzzzyz{{{zzzzzyzzyzzz{{zzz|zzyzzzyzyz{{z{z{zzzyyyyzz{|{z{zzzyzyyyyz{zz{{z{{zzyzyyzzzz{{zyz|{z{zzzzyy{zzz{{{zzzyzyyyzyzz{z{zzzzyzyzyyzyyzyyy{yyyzyzz{z{z{{{{zyzzzz{yzzzzz{{{zyzzxxzzzy{zyzzz{yzzzzyyyzzz{z{{zyyzyzzzyy{zzy{z{yzyyzzzyzz{{z{{z{z{yzyzzzzzzz{zzzyzz{zzz{z{z{{{zzzzyzzz{{|z{{{{{{zzzzz{yzz{zz{y{yz{yzz{z{z{{z{{zzzz{zzzyzzzz||{zzzzz{z{{{z{||{|{z{zz{z{y{{{{{{z|z{z{zz{{{z{|{{{{{zz{{{{{{{{z{z{{{{{{{{{{y{|{||{||z{zzzz{{{{|{||{|z{{zzz{{{z{{{{{{z{{{z{{{{|{{||}{{{{|zzz{{{{|z|{zz{zyzzz{z{z{{{z{zzzzz{zz{{|{{z{z{yyzzzyz{{{{{{z{{yyzzzzzzz{|z{{z{zyzzzz{{y{zzz{zzzyzyzz{z{{{zz{zyzzzyyzz{yzzz{{zzyzyxzyyz{z{zz{zzzzzzzzzzzy{{{z{yyzzyyzzzyyy{{yyyyyzzyyzzzyzzzzyzzyyxyzzzzz{zzz{yyzyzyzz{z{{{y{zz{zyyzyzzz{zzz{zzyyz{zx{zzz{{zzzzzyzxzzy{{{y{{{yyzzzz{zz{z{{z{zzzzy{zzyyy{zz{{zzyzzzyzzz{y{z{{|zzz{zzzz{z{z{{{{|zzzzy{z{{||z{{{{zzzz{{zz|z{z{{{{yzyzzz{z{y{{z{z{z{zz{z{zzz{{|{|z{zz{{{{z{{{{{{{{zzzzzyz{{{{{|{|{xzz{{zz{{z{{{z|{zz{{{{{z|{{||{{|z{{z|z{{|{|{|{{zz{z{zzz{{{{z||{{zz{{{z{{{{{|{{{zzzz{{zz{z{{||{{{{zzy{zz{{|z{{|{z{zzzzyzz{{{{z{|{z{zzzz{zz{zyz{yz{yzzyzz{{{zzz{{{zyyzyyxzz{yz{{zzzzz{xyzzz{z{{{{zyzzzyyz{zz{{{{{{{zzyyzyzz{z{z{{zyzzyzz{z{zzyz{{yyyyyzzy{{{zzz|zzxyzzzyxzyz{{zzzyzzzzyyy{zyz|zz{zzzzyyyyz{{z{yzzyzzyzy{yzzz{z{{{{yzyyyzz{zzzz{{{zz{zzyzyzzy{yz{{yzyzzzzzzzz{{{z|zzzzyzyyz{zz{{zz{yzzyz{z{|{|z|{zzzz{yz{y{zz{{z{{zzzzzy{z{|||{{{{zy{{yzzzz{{{zz{{zzz{zzzyz{{{z{{zzzzz{z{zzz{|{{{{z{{z{{{y|zz||z{{{z{zz{z{|{|{{{|z{{{z{{z{{{{{z||{{zzzz||zz{{z{|||{zz{z{z{{{|z{{z|{{z{{zzz||||{z{{{z{{{zz{zzz{{{|{|z{z{zyz{|z{{|{|{{z{{zzzz|zzz{|{{{{zzzzz{{{|{{{zz{zyzyyz{{{zz{zyzzzzzxzyzzzzzz{zz{yxzyyyy{zz{{zyz{zyzyyzzz{zzz{{zzzyzzzzz{{yzz{z{y{yyyzzzzz{zzz{zyyzyyzyzzyyzzzzzzzyyzyyz{{zzzzzyyzyyyzzzzzzz{z{yzzzyzzzyzzzzz{{zzzyxyyyzy{zzzz{zzzzyzzyz{zzzyzzyyzzzyyzz{zz{{{z{yyyzzyzzzy{z{{zyzyzzzyzz{z{{{{zzzzz{yzy{{zzz{z{zzzzzzyyzzzzz{{{yz{zzzy{z{{{{{z|{zyz{xzxzz{{z{z|zzzy{zz{zzz{{z{z{{zzzzyz{{{{{z{zzzz{{{{z{{{{{|{{{z{{{zz{{|{|{{{|zyz{zz{z{{|{|z{z{yzz{z{y{|{{|{{{{{zzz{{{{z|{{{|||{{zyy{zz|{{{|{{{z{{{zz{{{{{{{{z{zz{{z{{z{|{{{z|{|zzzzz{{{{z|{|{zz{z{yy|z{z|{z|{{z{zyzz{z{{zzz{{zy{zzyzz{z{zz{zzy{yzzzyzzz{zyz{z{zyyyyyyz{z{z{yzyyyyyzzzzy{z{zzzzzyzzyyzyz{zzyz{zy{yyzzz{z{zz{z{zyzyzzzyzzzzz{zzyyzy{zyzzz{zz{zzzzzyyzzzzyy{zzz{xxyzxyzyzz{zzz{zzyzyyzyzz{{{zy{zzyzzxzzyzy{zz{{{zzzyzyyyzzzz{z{z{{zzxyxyyzzzz{{zzyzzy{zyy{zz{z{z{yzy{zyy{zzzyyyzzzzzzzzzzzzz{zz{zzzzzzzz{zzy{{{{y{zzzyzz{{zz{{{zzyzzzzyzyzz{{y|{{zz{yzzy{{{{{zz{z{zzzz{z{zz|z{{{{{{zz{{z{|{{|{||zzzzzzyzz{|{{|||zzzzzy{z{|{{{{{{z{zzyz{z{{|{{|{z{z{{zzz{y{{|{{{|{{{{zzzzz{{{{|{{|zzzzzzzz{{{{|{|zzz{{{{zz{{{{|{|{z{zzzyzz{{{{{|{{zzzz{zz{{{{{zz{zzzzzz{yzz{zz{z{zzzyzyzzzzzzzzzzzzzyyyy{zyzzz{zzzzzyyyyyzz{zz{zzyy{yyy{zz{z{{zzz{z{xyzzzyz{yzzy{zzyzzzzyyzy{y{zzzyzzzyyyzzyzzz{zyzzyyyyyyzyzzz{{yzzzzyzzzzz{zz{{zyzzyyzyyzzy{y{zzzzzzyyyyzzzz{{{yyyyyzyyzzzzz{zzyzzzyyyzz{zzz{zzzyzzz{xxzz{zzz|{zzzyyzzzyzzyzzzzzzyzzzzzyz{yzzz{yzzzzyzz{zyzzz{zz{zy{zz{z{{{{{z{zz{zzyzz{{{{{z{{zyy{yzzzy{{{{{zzzzz{zzzzzz{{{{{zyzzzyz{{{|{{{{|{z{{{zzy{y{{{{{|z{zyz{zzz{{z{{|{{zz{yz{{{z|{{|{z{{yz{z{{{{{{{{|{z{z{z{zz{{{{{|{|{{z{{{zyz|{{{{{{{zz{zzzz{|{{z{{{|{zzzzz{{z{{{{{{}zz{{zzyzz{z|{z|{z{zzyyzy{{z|z{z{zzyyzyyyzzz{zzz{z{zzzyyzzzzzzz|z{zzzyyzyyzzzz{z{zzzyzyzzzz|zy{zz{zyzyyzyzyyz{{y{zyyyzzzyz|zzy{{yzzzyyzyzzz{zz{z{zyyxzyzzzyzzz{zzyzyzzyyyz{zy{{zzzzzzyzyyy{z{zzz{zzzyy{yyyzzzyzzzzzzzzyyyzzzz{{z{zyzzzyzyyzzzzz{{zzzzzzxyzzzzz{{zzzzzzyzyzz{zz{z{yyzzyz{y{z{{{z{{{{{yyz{zyz{y{{{z|zzzzyzyzzz{{{{zzzz{{zz{z{{{zzz{zyzzz{{y{{{z{z{zzzy{zyzz{{{{{{|{z{zzz{{z{z{{{{|zz{{zzzyzz{{{{{|z|zzz{{zz|{{{{{{{{{zz{{z{|{{{|{{{{z{z{{{zz|z{{|{{{z{yz{z{{{{{{|z{{z{zz{zz{{z{{{{{zzzz{zzz||{{{|{{{z{yzzz{z{{{{{{{|z{zzzyzz|{|z{zzzyzyzzyzz{{{z|{yzyyyyyzyzzzyy{zzzyyyyyzy{{zzz{z{yyyxyxzzzzz{{zzzz{zzyzyzzz{{{zz{zz{zzyyyyzzzzzzz{yzzyxzyz{yy{zzzyyyyyyzyzzyyx{{zyyyyzyyzzxzzzyyzzyzzzyyzzzzzyz{yzyyyyyyzzyzzzzyzyzyyxzzxyzzzzz{zzyzyzyyxyzzyzyz{yyzyyyzyx{zzz{{zzzzyyyyz{{zz{{zzyzzyzzzyzzy{z{z{zzz{yyzzzzzz{{{zzzzyy{zzzz|zzz{{yz{zyzzyzzz{z{zzzzzzxzyzzz{{zz|zzzzzzzyyzz{zzz{z{zz{z{zzzz{{{{{{z{yz{yz{{{z{z{z{zzzzzyyy{|z{|{{|z{zzzyzz{{{zz{|z{y{zzzz{{{z{{z{{{zzzz{{zz}zzy||{{z{{zzzz{{{{{||{{yzz{zzy{z{{{z|{zzzz{yz{{z{|{{|{{{{z{yzzz{z{{{{{{zzzzzyyz|z{zz{{zzzyzzzzyzz{z{{{zzzz{yyyy{zyyz{z{zyyzxyzzzzzzzz{zzyyzzzzzz{yz{{z{yyzyzyyzzz{zz{zzzzzyyzy{zzz{z{{yyzzyzzxzz{zz{zzzzzyyyyzz{{yyz{zyyyyyzyyzyzyz{zzzyyyyyzzz{{y{z{zzyyzyzzyy{zzzz{{y{yzzzzzz{{zzzzzyyyyzyyyyzzyzy{{zyzyzxzyyzzzz{zzzyzzzzzzzzzzzz{{zzyzzyyz{zzzzzzzzzzzzyzzzyzy{{{{zzyzxzyyzz{{{{z{z{{z{yzzz{zzz{zz{yzy{{zzz{zz{z{{zzzzzzzzz{{{|z{{{zzzzz{z{z{|{{{{zzzyzzzzz{{{{|{{{zzzzzz{{{{{||{{{z{z{yz{|{|{{||{{{{{z{{z{z{|z{|{{zzzzzz{{|{|{||{{z{{{zzz{{z{z{{{{zzzz|zy{{|{z{{{{zzzzzz{{|{{{z{{{zzzzzzzz{{{{{{|zzzzzzz{{{{{z{{{zzyyzz{yzy{y{zz{yyzxyzyyyzyzzzzzzzzzzyzzyz{{{zzzz{yyyyzyz{zzy{{{yyzyyyyyy{yzzz{zzzyzyyzy{zzzzzzzzyzyxzzxzzzzzzz{{zzyyyyyyzzyzzzyyzyxyzyyyzzzzzz{zyyyyyyzy{zzyzzzzyzxzzyyyzzzzz{|yzzyz{zyyzzzzz{{zzyyyzyyzzzyzzzzzyyyzzzyzzzzzzz{zyzyyzyy{z{z|z{zzyzzzzzyz{zz{{z{zzzzyyyzzzz{zzz{zzzzyzyz{z{zyz{zzz{zzzzzz{{{{{{{zzzzzzzy{zz{{z|{zzy{zzz{{{{{z{{{{zzz{zzz{zz{|{{{zzzzz{z{|zz|{{{{zzzzzzyzz{|z{z{{|y{{{zzz|{{z{{z|{{{zz{z{{{{{{|{z{zzz{zz{z{{|{|{|{z{zz{zz{{{{{z{{|z{|z{z{{zzz{z{{{yyzzzzz{zz{{{{{zzzyzy{{z{{{z{{{{z{zzzzzz{zz{z{{zzyzzyzy{{zz{{zzzzz{yyzyy{y{zz{{zy{yyzyyzzzzzz{{zzyyyzyx{z{zzzzzzzzyyzyzy{zzzzzzzzyzyzyy{zzz{zz{zzzzyyyyzz{zz||zzzzyzyzyyy{zz|zyyyyxyyyzzzz{zzz{{yyzzyyyzzzzz{|zzyyyyzzyyy|z{zz{{{zzyzyzzzz{zzz|zzzy{y{zyzzzz{z{yyzyxyyzyzzzzz{zzxzzz{zzz{zzzz{{yzzyzyyy{{z{{z{{zyzyzzzz{zzz{zz{zzzzzy{zzz{{{|{{zz{zzy{zz{{{{{|{{yzzyzzyzzzzz{{{z{zzzzz{{{{{z{{zzzzyz{zzz{||{||zyz{{yz{z{{{|{{{{zz{z{{zzz{|{|{{{zyz{z{{z|{|{{{{{zzz{zz{z{{{{{z{{{z{{{{z{{{|z{|{{{zzzzzzz|{{{z{{||z{{{z{z{{|{|{{{{z{{{{z{{{{{|{|{{z{zzzzz{z{z{|{{zy{z{yzzz{|{z{{{zzz{zzzz{yyz{{zzyzyyzzzyz{zzzy{zzyyzzyyyzyzzzz{zzyyyyzzzzzzz|{{{zzyz{yyyzzz{zz{{yzzzxzzzzzzz{{{zzzzyyy{yyzzzz{zzzzyyzyyz{zzyz{zzyyzzyzx{y{zzyzz{xzyzyzzzz|zzzy{z{zyyyzzzzz{z{{zzyzzyyyyzz{zzzzzz{yyyzzyxzzz{z{zzzyzyyzyyy{zzzzzz{zzzzzyzy{z{y{z|zzzxzyyyzzzz{z{zzzzzzxzzzzz{z{z{zzzzzy{z{z{{{z{|{y{zzyzzzz{zz|{{{zzyyzyy{z{zzz{zzzzzzyzz|{{{z{zz{zyz{zy{{{{{z|{{{{{zzz{{{|{z{{|||y{{zzzzz{{{{{{{{zyzzzzz|{{{{{|z{{{z{{z{{|z|{|{|}{{z{|{z{|{{{{||zz{{zz{z{{{|{|{{{y{{z{zz{{{{||{|{zy{|zz{z{{|{{{{zyzzy{yy{{{z{{|{{zzzzzzyzz{{|z{z{z{yz{yzyzzyzz{{zzyxzxzyzz{zzzz{zzy{zzzyz{zzzz{{{{zyzyyxzz{zz{zzzzyyzzyzzzzz{z{{{z{xyzzyzzz{yz{|zzzyzyyyzzzyyzzzzyyzyyyyzz{zyzzzzyzyyzxzzzzzyzz{zyzyzyyyyzz{yz{zzzyzyzyz{zzzz{{{zxyzyyyyyz{{{{zz{zyzzyyyzzzzz{z{yzyzyyzzz{z{yz{zyyzzz{yy{{{z{zyz{zzyzzzxzz{zzz{{{yzzzzzzzz{y|{{zyz{xz{zzz{{zz|{zzzzzzzzzz{z{{{{z{y{yz{{yz{{{yzzzyz{zzy{zz{{zz{{z{yz{z{y{{z{{{z|{zzzzy{z{{{zz{{{|zzyzzzzz{{{{{z{{{zy{{yzy||{{{|{{{zzzzz{zz{{z{{{{|z{{y{z{z{{{{z|{zzzz{z{{{{{{||{z{zzz{zzzz{z{{z{|{z{z|zz{z|{{{z|{zzzzzz{z{{z{{{|{zz{yzzzyzzzz{{{zzzzzyyyz{{z{z{z{yzyyyyyyy{z{zyz{zyzzyxzyyzzzy{{zzzzyyyzyzzzzzzzzzzzzyzyy{z{zzyzzzyyyzyzy{yzzz{zzzyyyyyzyyzzzz{zzyzzyzzzyzyyzzzzzyyyyyzyzyyzzyz{zzzyzzzyzy{{zzzzzzzzyyxyzz{zyzz{yyyzyyyxzyzyzz{z{{z{{zyyyzzyzzzzzzzzzz{yzyzy{{{z{zyzyzzyxzzzzzzyz{{zzzyzxyzz{zzz{zzzyyzzzz{{{z{{{zzzzzy{zzzzz{zzzzzz{{yyyz|z{|{{zzyzyzzzzzz{zz{{z{zzzz{zz{{{zz||zzzzz{yz{zzz|z{{{zzzzzz|{z{{{{{{{zzzzzzyz{{zz{z|{zzz{zzzz{{{y{{|{|zzz{z{z{{{z{|{{{{yzz{zzz|{{|z{{zz{{zz{{z{{{{{{y|zyz{yz{{{|{y{{{{{z{zzz{{{{{{z{{|{zzyy{z{z{{{zz{z{{zzz{zz{{{y{{{z{zzyzzzyz{zyzzzyzyyzzyyzzzz{zzzzyyzzxyzzz{{zzz{zyzyzyyyy{zzz{{zyzzyyyzyzzz{zzzzzzzyxzzxz{z{zzz{yzyzyzzzz{yzzzzzyyzzzyzyyzzzzzzyzzyyyxyz{yzzyz{zyyyyzyzzzz{zy{{zyxzyyyxyyzzzz{{{zyyzyyyyzzzzzz|zzyzyxxzyyzzxyzyyyzzyyzyyz{{zzzz|zyz{zzzyzzyzz{{{zzyyyyzyzyzzz{z{zz{yyzyzz{z{z{{{yyzzzzzyzz{|{{{zyyzzyy{z{|z{{{{zzzzzyyzz{z{z{{{{z{y{zzzz{z{{{{|z{z{zzzzzz|{{{{{|zz{z|zz{{{{{{{{zz{zzzzzyz{{z{z{{{y{{zz{z{{{{{z|{{{y{z{|zz{z{|{{{{zz{z{zzz|{z{{{z{z{zzy{zz{{|z{{{{zzzzzzz{{z{{{{|z{z{{{{z{{{z{z{|z{zzzyzzz{z|z{{{{{z{zzzyz{{{{{z{zzzyz{{zzz{zyz{y{yyyyzyyyy{zzzzzzyyzyyyyzzzzzzz{{zzzzzyyyzzyzz{zzyzzyyzyyz{{yzzzzyyyyxzyzzzy{zzzyyzzyyzyyzz{yzzzzzyzyyyxzzzzzy{zzzzyzxyzzzyzz{zyxyzyzyyyzzz{yzzzzxyyxyyyzyzz{z{zzzzyyzxxzz{zzzzzzyzzyyyzzzzzz{z{zzyyz{yxx{yzz{{zzxzzzzzxzzzzzz{{zzyzzy{yy{z{zz{{zyzyzyzyzyz{zzz{yzyzzyyy{{{z{{z{yzzyzyzyz{zzz|{{{{zzzzyz{{zzzz{yzzy{zzzzzz{zz{{{zzzzzzz{z{{z{|{{yz{z{zz{{yy{{z{zzzzzzyzy{{{{zz{z{zzy{zzz{{z{{{{|zz{zzzzzzzz|{{{|zzzz{zz{z{zz{{{|{{z{zyzy{{z{{|{{{zyzyyyz{z{{{{{{zzzzzyzy{yz{zz{{zyzyzzzzz{{zzz{{|y{yzzyyz{{{{|{zyz{yzyy{yz|{zz{zyzyzyzzyyz{zyzzzzyzyzyyyzz{zzzzzzyyxyzyyzzz{zzz{zz{xzyzyz{{zzzzz{zyyxzyyzzz{z{{{yyzyyyyyzzyyzzzzyzxzzyzyzz{zzzzzyzzyyzyzzzzzzzzzyyyyzxyyy{zzyz{zzyzzxzyyzzzzz{{zyzyzyyyyyz{y{zzzzyyyyyyxzyyzzz{zzzyyyzzzzzxzz|zz{yzyy{zzzzz{zzz{{yyzzyzyz{zzzz{{yyzyzyzy{yzzyzzzzz{{yyzzyzzz{z{{zzzzzyyzz{zzy{{{{y{yyzyy{{zyzz{zzyzz{yzzzz{zz{{{zz{{yzz{{z{z{{{{zz{{z{{z{{zzz{{{{yzzzzyzz{{y{zz{zzzzz{zz{{{{{|{{zz{{zzzzz{{{z{{{{z{z{{{{z|{z{{{{|{{zz{{{{|{{{{{zzzzyzyz{z{{{|{z{{z{z{zzzyz{zz|{{zzyy{zzzzzzzz{z{{yzzzzzy{{{{z{{z{zzzzyzy{{zzzzzzyyyzzyzyz{z{yz{zyyzzzyyyyyzzzzz{zzzyyzzyzzzzzzzy{zzzzyzy{z{{zzz{zzy{yzyyzzz{z{{{zy{yzzzzz{z{zzzz{{zyzyyzzz{zyzzxzy{yyzyyzyyyzzzzzzzzyyzyyzzzzzzzzyzzyyyzyzzy{zzzzyyzzzyyzzz{{z{|zyyyyyzyzz{zy{{{zyyyzyyzyzzzz{z{zyzyzzzzyzz{{{{zzyyz{yz{{z{{zzz{zyzyzzzz{zz{zz{{yzyyyzyz{zz{zzz{yzzyzyyyyz{{{zzz{z{zyxzzz{{z{z{{zzzzzz{zz{{z{zyyzzyzyzzz{z{{zz{{zzzzzzzz{{{z{{{{z{zzzyyzz|{zzz{{zyzz{zz{z{z{{{{{z{zz{{{{z{{{{{{z{yzyzzz{z|z|{{{{{zzzzzy{{{|{|{z{{{z{{zz{{z|{zzz{zzzzzzz{{|{z|{z|{zyzyz{{z{z{|z|{{zzzzzzzy{{{{{{{z{zzyzyz{{z{yzzzzzzyzzzyy{yzzzz|zzzyyyzyyz{{zzz{zzyyz{zzzy{z{|{zzyzyzzzzzzz{zz{{{yyyyyyy{yzzz{zzzzzzzz{zy{zzz{|zzzzzyyzzzzz{zzyyzzzzzzzyzzz{zz{{zyyzzyzz{zzzzz{{zzzyyyyyz{zy{z{zzyyyyyzxz{yzzyzzzzyzzyzyyyyzz{{z{yzyzzzxyzzz{z|{{yyyzyyzzzz{z{|zzyzzyyzzzz{zzzz|yzzyzyzzz|zz{z{|zyzzyyyz{z{zzz{{y{zyzy{yz{{{{{{zzzzz{yzz{z{{z{{{zzz{z{zzzz{z{{|{{{zz{yzz{z{{{{{{z{{zz{{z{zz{{z{{{zzzzyyz{z{{{|{{{yzzzzz{{|{z{{z|zzzy{z{z{{zz{{|{|z{zzz{z{|{{{{{{z{{{{yz{{{z{|{|{zz{z{{zz{z{{{{|{{z{y{z{y{{zz{{{|{z{{{{y{z{{|{{{{{{zzzz{yz|z{{{{z{yzz{yzz{z{{yzz{yzzyzzzyzz{zzzz{zzzyyyyy{zyzzz{|zzyyyyyyyyzyz{yzzyzyyyyyyzz{zzzzz{zyzyyyzz{yzz{zyyzyzzzzz{zzzzzzzyzzzyyyzyzzz{yzzyzxyyzzzz{zyzz{yyyzzyyyzyzzzzz{zyzzyyzzzy{zzzzzzyzyyzxyzzzzzzzzzyyy{zzyzzzyzzzyyyzxyzyxyzyzyz{zzyzzzzyyzyzz{z{zzzyyzzzzz{{{z{zzyzzzzz{z{zzz{{{zzyzyxyzzzz{zz{{zzz{yyzzzyzzz{zz{zyzzzyz{{z{zzz{zzzz{zzzzz{{yz{{zzz{zzzyzz|{{zz{|zzzz{z{z|z{|{z{{zz{zyzyzyz|{{{{zzzyzzzzy{{z{{{z|zz{{zz{{{{zz{{{{{{zzzzzz{{{{{{|{zy{{{yz{{{{{z{|{{yyyzzzz{z{z{|{|{zz{zzz{{{z{z{{{{{zzzzzz{z{{{{{z{yzzyzyyyzz{z{{zz{zyzzzzz{|zz{{z{zyzzyzyy{{yzzz{{{yzzyzz{{zz{z{{zzyz{yyy{yzy{{zzzyyzzyxyz{{zy{{yzzyyyyyzzy{{z{z{zzzyzyzyyzz{z{zzzyyy{yyzz{{zy{z{yzzzyzyzzzzzz{zzzxyyyyzyzzyzzz{zzzyyyyyzzzyzz{z{yzzyyyzyzzz{zz{zzyyzzxyyy{zzyz{zzyzyzxyzy{yy{z{zzyyyzyzyzzzzzz{{zyyyzzyzzzzz{{y{zzzzyyzz{{{z{{{{yzzzyzxyz{{{{{{z{zzzzzzyzz{y{{zz{z{zzyzz{zz{{y{{zyz{zyy{z{zzz{{{{zzzz{zzz|{z{{{{y{zyy{z{z{z{{{{{{yzzzyzzy{{{{{{{{zzyzzzz{|{{{{{{zy{yz{zzzz{{z{{{{z{z{|{zz|{|z|{{|zzzzz{{{{{{{||z{yz{{zzz{{{{||{|zzzz{zz{yz{z{{|{zzzyzz{zz{{{zz|{{zz{y{zy{{zz{z{zyz{zzzyz{{{{{{yzzzyyyz{zz{z{yzz{zzzyyzyzzzzz{{{{{zzzyzyy{zzzzzz{yyyzyzyyzzzz{zz{{yzyyxzyzzz{yzzzzyzy{yyyyzzzz{zzzzzzzyyyzzy{zz{{zzyzyzyy{zyzz{{{zyyyyyyzzzyz{y{yzy{zyxzyyzzy|z{{zy{|zyyyzzzzzz{{zzzzzyzyzzz{zzz{zzyxzyzzzz{zzz{{zyzzzzzyzz{zz{{|zzzzyzzyz{z{{z{zzzyzzyzy{z{{z|{{zyzzyyy{z{{{{z{yzzzyzzzzz{zz{{zzzz{{{yzzz{zz{{zz{zzzzyzzzz{z{{|zy{zzzz|zz{{{z{|{zyz{y{zzz|z{{{||{zz{{zzzy{{z{{zz{zzz{{zy{z{{{{|{zz{{{{z{z{{|{|||{zz{{zzz{|{{{|{{{{{zzzzz{{{|{{{{zzzzz{zzzz{z|z{{{z{zzzz{{{{{z{|{z{z{zzzzz|{yz{{{zzzzzzz{zz{z{z{{zzzyzzyz{zyzyzy{zzzyzzyyzzzzzz{yzyyyyyyyzyzzzz{{zzyzzyyyzyzyz{z{zy{yyzxzyzzzzz|{yyzzyzzxzzzzzzy{zyzyzy{yzzyzzzzzzzzzzyyyzyzzzzzyyyzzyzxyzzy{zyzzyzyyyxyyyzyzz{zzyzyzxzzyyz{zzzz{yzzyyyyyzzyzzzzzzzzzxxyxyyyyyz{{zzyyzyyyyzzyz{{zyyzyzzzzzzzzzyzzzzyyzzzzz{yzz{{{yzzzyzyyzzzzzz{{z{zyzyyyzzzzzzz{zzzzyyzzy{z{y|zyzyzyz{yyz{{{z{{{z{y{zyyy{{zz{{yz{zzzz{zz{{{{{{{{zzzzy{zz{{z{{{{|y{{y{yyy{{{||{{{{z{{{zyz{{{{{z|{zzzyz{{{z{z{z|{|{zzz{zzz{|{{{{|z{z{{zzzz{{{zz{z{{zyz{{z{z{{z|{{{{{y{{zz{z|{{|{z|zzzzzzzzz{{{{{{{zyzz{z{zz{z{z{zzzyzzyyzzzz{yz{yzzyyyzxyyyzzyyzzzzyzyxyzyz{{yzz{zzzzzzyyyzzyzzzzzzyyyyyyxyyzzzzz{yyyyyzzyzzzyy{zzzzzzyyyxyzyzzz{zzyyzyzzyyzzyz{{yyyyyzyxzz{yzyzzzyxzzyyyyzzz{zz{zzyzzxzxzzzzzzz{{yyzzyyxyyzzzyzz{yyyxzxyxyzyzz{zyzyyyzyyxyzzz{z{zxzyyzzyyyzyzzzz{yzzyzzzxzzyyxzz{zyzzyyyyzyzzz{{zyyzzyzyyzzz{zzz{zzyyzyz{zzz{z{{z{zzy{zyz{{zzz{{zzyyzzyy{{zzzz{z{zzyzyzyz{z{{{{{{yzyzzzzz{{zzzz{|{zzyzzyz{{{|zz|{zyzz{yzyzzz{{||{zzzzyzzz{{z{{{{{{yzzyzzz{{{{{{{|{z{{z{zz{{{z{z{zz{zzzzz{{|{{z|{|{zyz{zz{{zz{{{{{z{zzyyz{z{z{z{z{zzyyyyzz{{{{zzz{yyy{zz{zzz{{z{zz{zyzyyyzz{zzz{{zzzyyxyyyzz{zz{{{zzyzzyzy{{yz{z|z{yyyyyzyyzzzyz{{zyzzyyzyzz{zy{zzyzxzzzzy{y{z{zzzzzyyzyyzyyzzzzzyzyzyx{yy{zz{{yzzyzyzzyzyz{zzzz{zzyyzzyyzz{zz{zzz{zy{zyzyyyzzzyz{zyzyyz{yyzzz{{{{yzzzyyyzzyzyz{z{{zyz{zzyyz{{z{zzyyzzyyyyzzzzzzz{zzzyyzzyzzzzzzz{yzyzzzzzzz{z{{{z{zzzzzyzz{{{zz{z{zzyzyxz{zzzz{{zz{yyzyzzz{{z{{{zzz{zyzzz|z{{|{{{zzzzy{zz{z{{{z{{zyz{zyzzz{{{{|{{zzzz{{zzz{|z||{{{z{zz{{z{{{{z{{zzzz{y{yzz{{{{{|{{y{zyz{z||{{{z{zzzzzz|y{z{z{y||{{yzzz{{{z{{{||{{{zzyzzzz|z{{z{{{zzz{zyz{zzzz{z|zz{zzyyzzzzzz{zzyzyyyzyyyy{{zzz{zzyyz{yyzz{zzzz{z{yyzzzyz{z{yzzzzzyzzzy{yz{zzy{{zzyyyyzzzzzzzy{zz{yyzzyyzzzzzyzzz{zzyzyyyzyzzzzzzzzyxzyyyyzzzzzzzzxzzyxyyzzzzzzzzzzzyyzyyzzzyzzyzzzyzyyyyz{zz{zzyzzyyzyyxzz{yyzzzyyyyyzxyyzyyzyzzz{yzxzyyz{{zzzz{zzyyyyzxz{z{zz{{{zzyzzyzzzzzz{zzzzzyzzyz{{{y{{{{zzzzzz{z{z{{z{zzzzyyyyzy{{zzzz{{zzzzzzyyz{{zzz{{zzzzzzzz{z{{{{{{zzzzzz{z{zz{yz{{zzzz{|zz{z{{{{{z{{{{zz{{{{z{{{{|{z{zzzzz{{z{{||{{zzz{{zzz{|{|{{||z{|zzzz{|z{||{{{zz{{z{yz{z{z{{|z{z{z{zzz{{{{zz|zzzyzzzzz{z{{{|z|zz{yzzzy{z{{z{{zz{zzzyzzz{{{zyzzzzzyyzxy{zyzzz|zyzzyyyyzzzzzzzz{zyzyyyyzyyyzzz{zyyzyyzyz{{{zyz{zzzzyyzxyzzzz{z{zyyyzyzyyzzzzzz{zyzxzzyyzz{yz{zzyzyyyyyxzyzzyz{zzyyzyyzyzzzy{zzzzyyyyyyzyyzy{{zzyzzyyzzzyzzzz{{zzzyyzyyy{zzyzzyzzzyyyyzxyzyyzz{zzzyyy{yyzzzzzzzzzz{y{zzyzzzzzzz{zyzzyyzzyzzzy{z{zzzzyyyy{zzzz{zzzzzyzyzzzzz{{z{{zyzzyzzzzzz{{z{{{{zzyzzy{{zzzz{{zyzzzzyz{{{{z{{{zzz{zzzz{{zzz|zzzzzzyzyzz{{{{{zz{zy{zz{z{|{{{z{{y{zzy{z{{z{zzz|z{zzyz{zzz|z|{{|z{{{{zyzz{{{{{|{z{yzzzzxz{{zz{{{|{z{yzzyzz{|{{|{z{{zzzzzz{{{{{{z{zzzzzz{y{|{{zzzzzyzyzyyzzzzz{zzzzzzzyzzyz{zzzzz{zzyzyyxzyzzz{{z{zzzxzzzyzzzzzzz{zyzyyyzyz{{yz|{{zzz{yzzzyy{yzyz{yzzyzzyzzzzz{{yyzyzyxxyyyz{zyy{yzyzyzyyzyzz{{yzzyyyyyyyyzy{{z{zyzzzzyyyyzyzzzzz{zy{zyzxyyyz{yz{y{yyzyyzyzyzyzz{zyyyyzyyzyzzyz{z{zyzyzzyyzzz{zzzzzzzzzz{yzz{y{zzzzyyyyyzzz{zy{zz{zzy{zyzzyy{zzzzzzzyyzzzyzzy{{zz{zzzzzzzz{{z{zz{{z{z{zzyy{zz{zz{{yzz{zyzz{{zz{{{|y{zzzz{z{{{{{{{{zzzz{zzz{{z{{{{{|{zzyzz{{{z{z|zzzz{zzz{{{{z{z}{|{z{z{zz{z{{{zz{{{z{{zzz{{yzz{|{|{y{z{yz{zzz|{{{{|zzz{{{z{{{{z{{{{z{zyzzyzz{{zz|{zz{yz{zzzz{zzz{{{yzyzyzy{zzzzzzzyyyzyyyzy{z{yz{zyyyzzyyzyz{zzz{z{yzyyzzyzzzy{{{zzx{zzzyy{z{zzz{zzzyyyzyyyzzzy{z{yzyyyzyzzzzz{{{y{zzzyzyzzzzyy{zzzz{xyzyzzzzz{z{{yy{yyyyyyzyyzzzzzzzyyyy{zzzzz{z{zyzyyyzyzzzzy{z{{zyyzyyyyzzzzzzzz{yy{yzyyz{{z|zzzzzzzyyyzzz{zz{{yz{zzxyzzzz{y{z{zzyyzyzyz{{z{z{{zz{zyyyzz{{{{z{zzzzzzyzzzzz{zy{zzyzzyzyz{{|zz{|zzyzzzzzy{z{{zz{{zzzzzzyzz{z{{{{{zz{zzzzzzz{{{{{|zzzzzzyz{z{z{|z{zzzzzz{zz{{z{{||zz{z{z|{z{{{{{{||{z{{|zzz|{{{z{|{zz{zzzz{{z{{{|z{zzzzzy{zzzz{{||zz{z{zz{zz{{{{|{z{{yzzzz{{z{{{{{{{zzyzzy{{{{zz{{z{zzzyzy{z{z{zyzzyyyzzzzzzzzzzz{zzyyyzzzzzzzz{zzzzyyyyzyz|zy{xzzyzzyyxyz{{z{zz{zzyzyyzyzz{{zzzz{zzzyyyzyzz{yy|zzzzzzyzyyyz{yzzzyzzzxyzyyzyzzz{{zzyzyzzyyz{{zzz{z{zyzzzyyyyzzzzzz{yzyxzzz{{{zz{{yyzyzzyzyzzz{zz{{zzzzyyzyyzyzz{z|zyzyzz{yz|zzzz{{{yzzzzyzy{z{{{{zzzyxyzyz{zz{zzyzzz{zyzzz{z{{zz{{zyz{zyzzz{{{zz{{{y{zyyzz{|{zz{{{{yz{zzyz{{{zzzz{z{zzzz{zzz{{z{{{yzzz{{zzz|z{{|{{zzyzzzzz{{{z{z{{|z{z{yz{{|{{{{{zzzzzz{{z{|{{{{{{|{{{zz{{{}{{{|{|{zz{zzz{{{{{{z{{{z{{{z{{z{yz{{||zz{zzz{{{z{{{{{|{zzy{{{zz{z{{{{{zyzyzzzzz|z{|{{{zzzz{zyzz{zz{zxzzzyyyyzzz{zzz{{{yyyzzyzy{zzzzzzzzzyyyyzzyyzyzz{{zzzzyyyyz{{{y{{z{y{yyyyxzz{z{z{{z{{{zyzz{{zzz{{{{zzzyyyz{z{yzzz{zyzxyzzyzzzzzzzzyzzzzyzzzz{zzzzzzyzzyzzzz{{y{{z{zzzzzyzz{{zzz{{{yzzzzyzy{z{zz{zzyzzzyzz{yz{zz{{{z{zzzzyzy{{yz{{{{zzzzz{{z{zzz|{{yzzyzyzyz{zz{{{zzzzyzzyz{{{{{z{zyzzz{yz{z{|{{{|{zzzzzzzzzz{{zz{{zz{z{zyz{{{zzz{z{y{z{z{z{{{{{z{{zzzz{z{z{{{|z{{|zz{y{zzz{z|{|||{zz{{zz{z||{|z{||{z{zyz{{zz{|{|{{|{z{{z{zz||{}{||{{{{{z{|{{{{{|{{z{yz{{zz{{{{{{z{{z{{{{{z|{{{{z{}zz{zzzzz{{z|{|{{{zz{zzzz|{{{zz{|zzzzzzzy{z{{{{zzzyxyyyzyzz{{zzz{zzzzzyzzzyyz{z{zzzzzyyzyzzyzzzzz{yzy{zzyzz{zzzzzzzyyyyzyz{zzzy{{yyzyxyzxzzzz{y{{zzzzzzzzyzzzyzzzzzyyzzxxyzy{zyz{zxzzzyyyzzzzyzzzzyzyyzyyyzzzzzzz{zzzyzyyyzzz{z{{zyyyzyzyz{zzzzyyyzyzzyyyzzyzy{zzyzzzzyyyzyzzyzz{zyx{zyzzzz{z{zy{zyzzzyzyzzz{{z{{yy{zyzzz{z{{{zyzyzzz{yzyzzzzzzy{zyy{zyzyz{{zzz|z{zzzzyzz{{{zz|{z{yyzzzz{{|{z||z{zzzyzzzz{{{{{z|{yzzzzyzzz{{{{{z{{zzz{{zz{{{z{{{{yz{z{zz{{{{{{{{{{z{zzzzz{{{zzz{z|{y{{zzzz{{|{{{{z{zzzzz{{z{z{{zzzzz{{zz{zz{|{{{{{{zyzzzzz{|{{{||zzzzzzzzzzzzz{{{zyzyzzxyz{{{{zzzyzxyxyyzzzyyzz|zzyyyyyyy{zzz{z{{yyzyxy{y{yzzzzzzzz{yzzyyz{yzy{zzyyzyyyyyzzzzzzzzyy{yzzyxyzzyzzzzyzzzzyzyzzzyz{zzyyzxyzxxyzzzzzyzyyzyyyzyy{{zz{zzzyyyxyyyzy{z{zzzyyyyxzyyyzzyz{{zzzzzyyyyzzyzzzyzzyyyyyyyzzyyz{{zzzzzzzyyyzzzzzzzzzyyzyyz{{{{z{{zzzzzyyzzzzz|{{zzyzzzxy{yyz{{{z{{{zzyzyyzzzzz{{zzzzzzyzzzzz{zz{{zzzzzyzyzzz|{{{{zz{zz{zyz{z{{{{{zzzz{zzzzzy|zz|z|zzzzyyyz{zy{{{{{{zzz{yzy{|{zz{{{{zzzz{{{{|{z{{|{|zyyz{zzz{z{{{{{{zzzzzz{{{zzz{|{{yzzzzy{zzzz|{|{{{z{{z{{{{{{{{zzzzzyyzy{z{{zz{{{{yy{{zzzz{y{{z|z{zzzyzzyz{|{zzyzzyzyyy{yz{zyzzz|yyzyyyyyz{{{z{{{yzyzyyzyzzyzzz{{zz{zyzyyyyzzzzz{zyyyyxyyzzzzyz{{zzyyyz{yz{y{zzzzzyzzzyyyzz{yz{{zzy{yyyyz{zzzz{{{yzzzyzzy{{{yz{zzyyyzyyyyzz{z{z{zzyzyyzyzzzzzz{{zzzyzzzyyyz{zz{{|{{zyzxyzzz{zz{{{zyzzzzyzzz{zzzzzzzzy{yyyzzzz{z{{yzzzzyzz{z{{zy{{zyzzzzzzzz{z{{{zz{zzzzyzz{zz{{zzzzzzzzzz{zz{zz{|{zzzzzzz|{{{z{z{{zz{zzyyz{z{|{{{z{{zyzz{{{z{{{||{zzzzzzzz{zz{{{{zz{z{zzz|{{|z||zzz{z{{{z{zz{|{{|{zzzz{{z{|{{{{z{zz{{yz{{{{{{{{z{{zy{{zy{||z{{{{|zzz{{{z{z|{zz|{{zzzzzzzzz{{{z{{{zzzzyzz{z{zz|z|zz{yzyyzy{{zzzzzzzzyyyzyyyz{zzz{{yzzyyyzyzzz{yz{zyzyyyyzzzzyzyzz{{yzyzyyxzzz{zzyzzyyyyyyyzzyyzzz{yzzyyzyxyyyzzzzzzyzyzzyyzyyyyzzz{xyzyyyyyyzzzzzzyzyxxyyyyyzz{zzyzyyyxzyxzy{y{zyz{yzyyzyyx{zzyzzzyyzyzxyyyzzyyzz{yyzyzyzxyzyyzz{zyxzzyzyxzzzyyz{{zyzyzyzyzzzyzzz{zzyyyyzzzy|zz{{{yzyyyyyzz{{zy{yzzyzzyyyyy{zz{{zzzzyz{yyz{zzzz{zzzzyyyzzzz{z{zzz{{zz{zzzzzyy{z{z{zzzyzy{z{|z{zz{{zy{zzzzy{{zzz{{z{yzzzzzy{|{{z{{{zzzzz{{z{{zz{|{{{zz{y{yzz|z{z|{{{zzzzyzzzz{z{z{{zzzzzyyzzzyz{{{|zyyyzzzzz{{{z{{|zzzzzz{zzz{z|{z{zzyzyzzyz{zzz{{zz{zxyzzzyz{zzzyzy{zzyyzyz{{{yzz{zzz{yyyyyy{z{{zzzyxy{yzyzz{y{{{zzzzzyxzzz{{{zy{{yyyxyyyxzyyzzzz{zyyxyyyyzzz{yzzzzyzyzyzyyyzy{zyzyzzyxyyzzzyzy{zzyzzzyyyyyzzzz{yzzyyyyyyyzz{zzzz{yyyyzzyyzzy{zy{{yyyyyyzyzyzzzzzzzyzyzyyyyzzzy{z{{yzyyyyy{zzz{zzzyzyyzzzzz{zzzz{z{zzyzzzz{zz{z{{{yzzzyyzz{{zz{{{y{yzyzz{zz{z{{{{zzzyyzzzzzz{{zz{{zyyzzzzx{{{zyzzzzyzz{zyyzzz{{{{|zzzzy{zzzy{{z{{{zzzzzzyxzzz{{{|{zzzzzzzzz{{z{z|{z{zzzzzz{z{z{|{|{zzzzy{z{|{{{z{{{{z{z{zzz{z{{{{{{yzzzzzyz{zyz{|{{{zzzzy{zz{|{|{{zzzyzy{yz{{z{{{{{{zyz{xyzzz{zz{zzyzyyxzyzzzy{{zzzzyyzzzyzzz{z{zzzzyzzzzyzz{y{zzzzyzzxzzy{zzzyzzzyzxyyyyyzzzz{{{{zzyyyzzy{y{yzz{zyzzyzyyyyz{zy{y{zzyyyyyyyzzyyzzzyyzyxyyyzzzzyyzzyyxyyzyyzz{yyzzyyxzyyyyz{zzyzzz{yzyzyzyxyzz{yz{zyzzzzzyxzzzy{zzzzzyyzzzyzzyzz{{zyyzzyyyz{z{zz{|zzzzyyyzzyzz{zzyzzzzyzyzzzzzzzzz{zzzyyyzzzzz{z{z{zyzzzyzzz{z{z{{zzzzyzzyz{{{y{{{{{zyzzzy{{z|{{{zzzzzyzzyzzz{{z{{zyzyz{z{z{{|{{{{|zyz{zzyz{{{z{z{{{yzz{zzz{{{{{{{{{z{zz{{z{{z{{{{{|zzzz{z{|{{{{{{{|zz{zzzzz{{zz{{{{zzzzzz{zz{{|{|{{zzz{zyz{{z{z{{{{zyyz{z{y{z|z{{{{{zyzzyzz{zz{{z{yzzzzyyzz{zzz{zzzyyyyyzyz{zzy{zzyzxzyyyyzzzz{z{zzyzyzzyyzyz{{{zzzyzzzyyyzzz{yz{{zzyyyzzyzyzzzzzzyzzzzxyyzzzz{{z{zzyyyzyyyzzzzzzzyyyyzzyy{zzyzz{zzyyyzxyyz{z{z{{yzyyyyy{zy{zzzzzzzyzzyyyzzzzzzzzzzzyzzyzyzzyy{yzzyyzyyyzyzyz{yzzzzyyzyzyzyzzzyyz{yzzyzyzzzz{z{{{{zzzzzyz{zyyzzz{{zzzzyyzzz{{{{{z{zyyyzyyzz{{zzzzzzzzyzyzzzzzzz{{zzzz{zzzzzzz{y{{{{zz{zzzz{{{{{{{yzzzzyzzz{{{zz{{{zzz{zyzzz|z{{{z{{zzzzyzz{{{{{{{{zzzzy{|{zzz{{{{|{zzz{z{zz|z{zz|{zyzzzz{{{{|{{|{{zyzy{zzzzz{{z{||{zz{zzy{z{{{{z{{{zzzyyy{{{{{{{|{zzzzzzzyz{{z{{|{zzz{zxzz{zzy{zy{yzzyyyxyyzzzzy{{zzzzzyyyz{zy{{zzzyzyyyyy{zzzyz{{zyzxyyyx{z{zyz{zzyzzxzzyyzz{{{zzzyzzyyzyyz{yyzzzyzzzz{yzyyzxzzzzzyyzzyzyzyz{y{zzyyzzzyyyzzz{yzzzxyyyzzxzzzyx{zy{yyzyyyyyzzz{zz{zyyzzyzyyzzyzyzz{zyzyyxzxyzzzzz{{yyzz{zyy{z{zz{zzzzyzzyzyzz{yz{zz{xyyxyzz{yzy{{y{zzyzyyzz{zzy{zz{{zyzzxyyz{z{z{{zzzzzzyzyz{{z{z{{{zzzzzzy{zz{{{{zyzzzzzzzz{{|{z{|zzzyz{zzz{z{z{z{zyzzzyzzzz{{{{{{zy{{{z{z{{{z{{|{zzyyyz{zz{{{{{{z{{{{{zzzz{{{{zz{zz{zzyzz{z{zzz{{zzz{zzz{zzz{{|{{{zz{z{{{z{{{|{z{zz{zzz{yz{z{{|{z{zyzzyzy{z{|{z{{yzyyzyzz{z{zzzzz{zzzzyzxyzz{zzzzyzyyyyzyzzzzzz{{zzzzzzzyzzzzzz{zyzyyxyzzzy{zzzzz{zzyyzzxyyz{zz|{yyzyyxzyy{zzy{{yzzzyyzxyyz{{z{zyzyyyzyzy{zzzz{zzyzyzzxzyy{zxyzzzzyyzzyzyyzzzz{zyzyzzyyyzyzzzzzzzyzyyyxyxyzzzzz{{zzyyyxzyyzzzzzzzzzzzzzzzzzzzzzzzzzyzyyzy{{|zz{{{yzyzzyzzzzy{zz{|zyyyzzzzzzzzz{|{zzzz{zzyyzzz{{{zz{zzzzzy{zzzzz{{zzzzyzyzz{zzzz{{yzzzzzzzz{{{{z{zz{zzzzz{{{z{z{{{{y{z{zzz{{{{{z{{zzzzz{{z{{zz{{{{yz{z{{z{{|{z{{{|{z{{z{z{z|z|{|{|{z{yzzz{{{{|{{|{{z{{z{z{{z{z{{{{z{zz{{z{zz{{{z|{{z{yzzzz{z{zz{|zzzz{zzzy{{{z{{{{yz{yzzyyz{{z{zyzyzzzyzyyzzz{z{zzzyzyyyyyyzzzzzz{yyzyxyyzzyzz{{zzzyzxyyxyyyzzzz{zzyyyxyyxzz{zyz{zyxzyxyzxy{zyy{{yyyyzzyyyyzzzz{zzzyyyyyyy{yzzzz|zxzzyzyyyyzzyyzyzyyzyyzyyzyyzzzzzzyyzxyzyyyzzzz{yzyzyyyyzzzzzzyzyzyzyzyyxzz{zzzyzzyzyzzyyzyzz{yz{zyyyyyyyz{zz{{{z{yzzyyzzyzyzzzz{yyzzzzyyz{zzz{|zyzzyzyyxzz{z{|zzzzyyyzzyzz{zzzzzzzy{yyzzz{zz{z{zzzzy{zzyzzz{zzz{zzyy{yzz{{{{{|{{{yyzy{zxz{{{{{{{{yzzy{yy{{{zzz|{zz{zzzzzz|yz{{{{zyzz{zzz{{{{zz{{{zz{yzz{z{|z{{z{zyzzzzyz{{{{{|{{y{zzyzz{{{{{z{{{{zyzyzzzz{zz{|{z{zzyyyzzz{{{{z{zyyzyzyzy{y{z{yz{zyxzzzyyyzz{z{|zyzyyyyyzyyzzz{zzxzzyzyyxyyzzzz{{yyzyyyyzy{zzzzz{zyyxyzyyzz{zyyzzxyyyyyzxzzyzyzz{zyzyzzyxyzzzyzyzzyyxyzyzzyyyzzzzyzz{zyzzxzyy{y{zyyyyxxyyyzzzz{zzyyyyxzyxzyz{zzzzzyyyzxyxyzzyyzzz{zyxyyzyyzzyz{{{yyyzzzzyyzzzyz{zz{xzzyzzzzzzyzzzyyyxzyzyzz{zyy{zzzyyzyzzzzzyzz{{zyy{zyzyz{{{|{{zzyzyyzzy{zzzz{|zzzzzzzzyz{z{zz{zyyzzzzzyzzz{z{z{yzyyzzzz{{zzz{{{{zyzyyzy{|{{{z{{zzzzz{zzz{zz||z{zzzzzyzzz{z{{{z{zyzyz|z{z{{{{z{{zz{zyzy{z{{yyz{zzzzzzz{y{{z{{{{{{zzzzzzz{zz{z{y{zy{yzyzzz{zz{{{{{zzzyyzyz{zzzzz{yzzyzyzzzzz{{z{zyzyxyyyyzzzzzzy{zzyz{yzzzyzzz{{z{yzyyxyyzzyzz{zzzzzyyyzyzy{{zyzz{yxxyyyy{zz{zzyzzyzyyyzyy{zxzzzzzyzyzyyyzzzzzzzyzzzyyzyyyyyyz{z{xyzyzxzyyzzzzz{yyyzzxzxxyzzzzzyzyzyyzzxyyzyzzxzzyzyzzxyyyzyyzz{zyzyyzzyyzzz{z{{zyyzyyxyyzzzyyz{{zyxyzyyyyzzyzzz{yzzzyzzy{zzzz{zzyyzyyyzzzzyzz{{z{zzzzyyzy{zzz{zzzyzyzzzzzzzz{z{{zyzzzzzzyzzzz{{{{yzzz{zyz{zzzzz{yzzzzzzzz{zzzz{zz{zzzzzyz{{{z{{{zzzy{zyzzzzy{|{|zzyyy{zzz{zz{{{{zy{{yzzzy{{{{{{{{z{zzzy{{{{||{{{{zz{zzzzzz{{{zz{zzzzzzzzz{{{{{{{z{zzzzzzy{z{z{{{zyz{yzyzzy{{zzzzyzzyzyzyz{{z{zyyzyyyyyzyyzzzzzyzzyzyyxzyzzzzz{zzzzyyyyzxy{zzz{zzyyzyzyyyyzzy{zz{yzxxxyyy{yzzz{z|zzzyyyyxzzzzzz{zyzyyyyzyzyzyyzzzyzyyyzxzyzzzzzz{yyyzyyyyzzzyz{yzzyyyxyyyzzyzzzzzyxyyyyyxzzzyzzzzzzzzzzyyzxzxzzzyyzyyyyyyyzzyyzzzyyzyyzyyzzz{zz{{zzyzzzyzz{zzz{z{zyzyyyyyzzzzz{zzzyzxyyzy{zz{z{zzy|zz{zyy{zz{zzz{zyzyzyyzy{{{z{{z{yxzyzyy{zz{z{{zyzzy{zzyz{z{{{{{zzzyyzzzzzz{z{{zzzz{zzzz{{{{zz{{zy{zzyzz{{zz{{{{zzz{zy{y{z{{z}{{zzzyyzzzz{{|||{|zz{{zz|{z{{{{{{{z{zzyzzz{{{{|{{{zzz{{zzz{z{z{z{{{yyyy{zyzzz{y{{{{zyzzzyy{{z{{zzzzzzyyzzzzzz{zzzzyzzyyzyxyzzzyyyyzzxxyyxy{zyzzz{{yyyyxyzzzzz{yzzzxzyyzxyyzyzzzzz{zyyyyxzyyyzzzzyzyyyyyyzyzzzzzzzzzxyyyyyyzzzyyyzyyyzz{yyxzyy{yxz{yzyxzyyyzz{{zz{zzxzyyyxzzyzzzy{zyxyyxyyyyzz{yyz{yxyyyyyzy{yyzzz{yzyyyxyxzyyyy{zzzyyxzyyyyz{zzzzyzyzyyyzzzzyzyzzzyyzzyyzyzz{zzy{zzzxzzzzyzzzzz{zyzzzzzyyyy{zzz{z|yzzzyzyzyzzzzy|zzzzyzxyzz{{zz{z{{zzyzzzzz{{{z{z{xyzyyz{yzzzzzzz{zzzzyzyzz{{{z{{zzyzzzyz{{{z{z{{{zzzyzzzzy{{{zz{{{zzzzyz{z|zz{{{{zy{z{zzzz{{{{{{{zzzzzzzzzz{{{{z{zz{zz{z{{{{zz{{|zz{yzyzzzz{{yz{{yzyzyzzzz{{{z{{zy{zzzyzyzzy{{yzyyyzzzzzyzzzzzz{zzxyyyyzzzzzzz{zzzzyzyyzy{yz{zzzyzzyyyzyyzzzyzy|zzzzyyzyxyzzyz{yzyzyzyyzxz{{yyzzzzyyyzzyyzz{zyzzzyyyyyyyyzyz{z{{zyyyxyyyyzzyzz{yyzzxzyyyzzzzzz{{z{yyzyyyyzy|zyy{zyyyyyyzyyyyzzzzyyyyzyzzyy{zy{zzzyyzyzzxyzyzyyzzzyzzyzyzyzzy{zzzzyz{zzzzzzzyzz{{{yyzyyzz{zyzzzz{zzzzzzyyyz{zzz{{{{yyyzyzz{zzyzz{zzzzyyyyyzzzzyzzz{xzzzzyyz{z{{z{{yzzyzz{{{z{z{{{{zzyzzyzzz{zz{z{{{zzzzzyz{{zz{z{{z{zzz{zzz{z{{{z{{yzzzzyz{|{{|{|zzz{zzzzzz{{{{{{{zzzyzyzzz{y{{{{{{{yzzz{{{{z{{z{{zzyyzzzzz{z{zzz{{zzzzzyy{{zz{{z{zzyyyyyyzz{zzyzy{xzzyxyyxzzzyzz{yyzyzyzyz{{z{{y{zy{yyzyyzzz{z{zzzzyyzyzyzz{{zyzzzzzyzzyxzzzzzz{{yyyyyyyyzzzzyz{yyyyzzzzxzz{yzzzzzyyzyyzyzzyzzzzzxzyyzyxyyz{zz{zzyyzyyyzzz{{z{z{{zzzzxzyzz{zzz{{zyyzyzyzyyzzyzzy{y{zxyyyyy{zzzz|{yzzzyyzzzzyz{z|{zzzzzzzyzzz{z{{zzyzzzx{zzzz{zzz{yzzzyzzyzz{zzzzzyzzzzyzyyx{y{{zzzyyyzxzzzz{z{z{{zz{zyyyzzyzzzzzzzyzyzzyz{|{z{z{{zzzyyz{z{zzzz{||z{z{{zyyzzz{{{zz{zzz{yzy{{z{z|z{zzzzzzz{y{{{{z{zzzz{zzz{z{{|{z|z{zzzzzzz|z{{z{z{{zzzzzyzz{{z{z{{{{zzy{zz{zz|{{z{zzzzzz{{{{{{z{z{{z{zyz{zz{zzzzz{zzzyzzyzzyzz{z{zyyyyyzyyzzzyzzzzzyzyyyyzzzz{yz{zzyzyyzzzzzzy{z{zyyyzyyyzyyzyzzzzzyzxzyzyzzzzzzyzzzyyyyzwyzzzyzyyzzzzyxyyzz{xyzyzzzyyzzyyyyzzzzyzyyzyzyzyzzzzy{{zyyzyzyxy{yzyyzzyzyyzyyyyyzzzzzzzyyyyzyyyyzy{y{zzzzyzzxyyzzzzzzzzyyyzyzyy{zyzyz{{zyyyzzzyzzzzzz|{zyyyzzy{zy{zyzzzyyyzxzzyz{zy{zzz{zzzzzzyyyz{{zz{yy{zy{zy{{{zzzzzzzzyyyyyz{yzyzz{zzyzyzyzzz{zzzzzzzzz{zyz{|z{z{{{yzzzzyy{{{|zz{zz{zyzzzzz{{{{z|{zzzyzzzzzz{z|{{{|{zyzzzzz{{{{{|{{{zzzyzzz{{{{z|{{zzzy{zyzz{{{z{{{zzyzzyzy{{y{{{|{{zzyzyzzz{{{y{{{{zzzy{zzy{z{zzzzyz{zyxyzzzzyz{zzyyyzzyzyzyzzzy{{yzzyzzyyzz{zzzz{zzyyyzxyyzzzz{zzyyyyyyyy{{yzyzyzzyyyzyyyzz{zyzz{zyyyyyyyyyzyzzyyzyyxyyyyyyyyyzzyzzzyyyyxzyzzyzzzyyyyyyyyzzzyyy{zzyxxyzyzyzzzzyzzyzzyyyyyy{zzzzzzzxyzyxxzyz{zzzzzzyyzzzzyz{yy{{z|zyzzz{yyyzzz{y{zzzzyyyxyzyzyzzzzzyyyyyzyz{{zzy{zyzyyxyyyyzzzyz{zzzyyzyyyzyzzz|{yzyzyyyzyzz{zz{{yzzzyyzyzzzy{y{zz{zyyzyzz{{{{z{|{zz{z{yzzz{z{zz||zzzzyyzyz{|{{{|z{yyzzzzzz||{{{{{{zyzz{zzy{zz{||{{zz{zzzz{|{{z{{{{yzzzzzz{{{|zzz{|yzzzyzz{{{{{zz{{yzz{zz{zz{{y{{{yyzzy{zzzzzz||z{z{yyzzxzy{zz{z{{yzzzyzzzzz{yzzzzzzyyyzyzzyzzzz{{zzyyyxyzzzzzy{z|zzyyzyzyzzzzz{y{{yy{zzyzyyzzzzzyzyyyyzyzyz{yyzz|yzyxzyyyyzzzzzzzzyzzzyyzzzzyzzzzyzyxyzzzzzzyzzyzyyxyyxzyyyzyzzzzzzzyxyyzzyzzzzzzyzzzyyyyyzzzzzzzyzyzyyzyyzzzz{z{zzzzyzyyyzyzzzz{yyzzyzyzzzzz{z{z{zzy{xzyyzzzzz{{zyzzyyzzzzzzzz{{yzzxyzyz{|{zz{z{zzyyyzzzz{{{zzzzzzzyzzzy{{{{{zzz{zz{zz{zzzz{{z{{{z{zyyzz{{|{{z|{zzzzzzzz{z{{z|{{z{zzyyyzz{||{zz{{z{zzzz{{|{{{{|{{zzzzz{{zzz{{{z|{y{zz{{zz||{{{||{zzzzzzyz{{|{{z{zy{{zzzy{{|{z{{{{{zzzzzz{{{{z|{z{zzyzzzxzz{zz{{{{zzzyyyzzz{z{{zzyyzzzyzzz{{zzzzzzyzyzyzxz|zzyzzzzzzyyyyyzzyzzzzzzzyyyzyyzz{y{z{zzzzyzyyy{z{zyzzzzzyyzyyyzyzzzzzzzzzyxyyyyzzzzz{zzxzzyyxyyzzyzzz{yyzyyyzyyz{xyzy{zzyyyyzzyyzzzz{{yyzxyzyyyzzzyzzyzyyyyzyxzz{zzzz{zzyzzxyyy{zz{zz{zyzzyzyyzzzyz{z{yyyzzzzyzzyzz{{zzyyz{xyzzzzzzyz|zzzzyzzyzzzzzzy{yyyyzzyyzzzzz{zz{zzy{zzzzz{{zzzzzz{z{zzyz{zzzz{zzzz{zyzzzy{zzzz{yyzzyzzz{{{z{{z{zzz{zz{z{{{{z{{|{zzzyzyyz{{zzz{z{zz{zz{z{|zz{{z{zzzzyzz{{z{{{|{z{yyzyzzz{{{zz||{|zyzz{zz{zz{{{{{zyyz{y{z{zzz{{{{{zyz{yzz{{y{{{{zy{zyz{zzz{zy{{zzz{yzzzzyzzz{{{{zzzzyyzzyzzzzz{yzzzyyyyxxz{zzyzzzxyyzyxyxzzyzzyz{zzzyyyzyzzyzzz{{zyzyyxzyyyzzyzz{zzxxyyzyyyzzyzz{zyzyyzyzyzzyyzzzyyzyyzyyyzyyzzyyzxzzyzyzyyz{zyzzzyyyyyzyyyzzzz{zyyyzzyyyyz{z{zz{zyzzyzxyzzzzzzz{yyzzzzyyyyzzzzz{yyyzyyzzyyyzyzzzyyyyzzxzyz{{z{zzzyyyxyzyzzzz{zzyzzyzzyyyzzzyyz{{yxzyzzzyzz{{z{zzxzzyzyyzy{{zz{zy{yyzzyzyzz|zyy{zzzyyzzzyz{zzzzz{zzyyyyzzzz{z{z{zzz{zzy{zz{{yz{{{zzzzzzzzz{zz{|{z{zzyzyzy{{{{{{{{{|zyzz{{{{zzz{z{{zzzzz{zz|{zz{{{{{zyyzzz{{{{{{{{{zzz{zz{{z{{z{{{zzzzzzz{{zyz{{{{zzzyyyzzzzzzz||{{zyzzyyx{{{zzz{zzx{zyyzy{{z{yzzxzzyyyyzxyz{zzy{{zyyyyyzy{zzyz{zyyzyzyyyyyyzzzzzzyzyzxyxyyyzyzzzzzzzyyyyxz{yzyzzzyzyyzzyzxzzzzzy{{yzyzyyyzyzzzyz{zyzyyyxyzyyyyzyzyyyyyyyxzzyzyzyzzyyyyyyyzzzz{zzzzyzyyxyyzz{zzz{{yyyyyxyyyzzzzzz{yzyyyyzyyzzy{zyzyzyzyyzyzzyyzzz{zyyyzyyzz{{zy{yzzyzzyyzyzz{zzz{{yyyyyzyyzzzyzzzzyyzzzyzyyz{zz{zzyzzyzyyxzy{{{{{{zyxzyyzy{{z{y{z{yzzyy{yyzzz{{{z|z{zzyz{yzyzzzzzzzyzzzzyzzzzzzz{z{zzzzyzz{{z{z{{zzzzzyz{zzz{{{{z{{zzyzzzyzz{{{{z{yz{zzzzzz{{z{z{{{yzzzzyz{z{{zz{z{zzz{zzzzz{{{{z{zy{zzzzzzz{{zz{z{z{zzzzyzzzzzz{{zzzyy{zzz{zzyzyyyzyyyzyxyzzzyzzzyyyyxyzyzzzy{zyzzyyxyzzyzyzzzz{zyyzyyyyyyzywyyzzyzyyyxyyyzzzz{zyxyyyxyyyyzyyyzyyzyzyyyyyyyzzyzyzyyyxxzxxyyyyy{zzxzyyyyyyzzyyyyyyyzyzyyxyyzzyzzzzyyzyyxyzyzyyzzzzyyyzzyzxyzzyyzzzxzzyxyzzxzzyzzyzzzyyyzyyzzzzzy{zzyyyyzyzyzzzy{zzzyzzyyzzzzzz{yzzyyyyzzyyzzzzzzz{zyzzzyyzzzzzz{{{zyz{yyzy{{{z{zzzyzzzyxzzzy{zy{zzzzyyz{yzzy{{z{{{yzyzzyzzzzz{zzz{zyzx{zzy{{{{{z{{{yzyzyyz{|zzz{{{zz{yyzzzzz{{z{{{{yzzyzzz{z{|{{z{{y{zyyzz{zzz{z{zyyyy|zyz{zzzzzz{{zyzzzzz{z{{zzz{{{zyyzzyz{z{{{zz{yyyyxzyy{zzzzzzzz{yzzzzzzzzzzy{yyzyyzzxyzzyzyz{zyyzzxyyyzzy{{{zyyzyyyyxzzz{zzyzyyyxyyyzyyzz{zzzzyyxyzyyzyzyyzzzyyzyyyyyyyyzzz{zzyzzzxyyyzzyy{zzyzyyyyzxyzyzzzzyyyzxzyzyyyzyzyyzyyyyyyyyyyzz{zzzzzyyxyzxzzyzzzzyzyyzzyzxyz{xzyzzxyyyyzyyyzyyzzz{yyyyy{yzzyzy{zz{zyyzzyyzyzyzyzz{yzzzzzyzyzzy{zzyzzyyyyyyyy{yzyzzyzyzyxyyyzzyzzzzzyyzzyyzyz{{z{{zzzzzzyyzzz{zz{z{z{zyyzzzz{z|{{z{yzyyzzyzz{zzz{z{zyzzz{yzz{{{z{{zyzzyzy{yz{z{zzzzyzyzyz{zy{zzzzzzzzz{zz{{z{z{{{{{{{zzyyzzz{z{{{z{zyzyzzyzzz{z{{{|zzzyy{zzzzz{zzzz{z{yzyzzzzz{yz{zzzzzzzzyzzz{yz{zzzyz{zyyy{z{zzzzyyzxyyzyzz{zzx{{yyx{zxyyx{zzzz{zzyzzzyzz{zyzy{zyzzyyyyzyyyzzzzzzzyyyyyyyyzzzzzzzzxyyyyzxyzzyyzzyyyyzyyyyzz{zzzzzyzyyyyzyzzzzz{zzyyxxzyzzyzzzzzyzzxyyzyxzzzzz{yzyzyyzxxyxyzzzzzz{zzyyyyzyyy{zzzzyzzyzyxyzxzy{zzzzzyyyzzyyzzyzyzz{zzzyyxzzzzzyzzzzzyyzyyyyzyzzzzz{zyyyyzzzzzzzz{z{zyzyzyyyzzz{zzzzyzzz{zyzz{{z{z{yzzyzxzyy{z{z{z{{{{zyzzyzzzz{{{{{yyzzzzzy{{z|z{{|zy{zzzyzy{zzz|zzzyzzzyzzz{{{{z{|yzyzyz{{y|z{{{{{{yyzzzyzz{{{z{{{zyzzzyzzyz{|z{{zzyzzzyyz{z{{zz{{z{zz{zz{zz{{{{{z{zzyzyzzz{y{y{|{zyzzzzyxz{z{yz{zzz{yzyyzzzzzyzzzx{yyzzyxzzyzyz{zzzyyyyyyz{zzzzzzzzyyyyzyzy{z{zz{yyzzzyyyzz{{zzzzzzyzyxyyyy{{zyzzzzyzyyzyz{zyzzyz{zyyzzyy{{yzzzy{yzzyyyyzzyzzzzz{xyxzyzxyzzzzzy{z{zyyzyzzzzzzzzz{zyzzyzyyzz{z{zzzzyyyxyzx{zz{zyz{yzyyyyzyz{yzy{zzyyzyzyzyyyzy{{{zyyyyzyzzy|{y{zzzyyzyzyzy{yyzzz{{zz{zzyzz{z{{z{{z{zzz{yzyy{{zz{z{zz{{z{zzzz{zz{zz{zy{zzyz{z{z{{{zzyzz{zyzzz{|zzz{zzyzy{{zzzz{zz{{zzzzyzzz{{zzzz{{zyyyzzyz|{{{{|{{zzz{yzzzz{zzz{z{zzz{yyyy{{{{{{{{{{z{zz{zzz|{zz|{{zzz{zz|zz{{{z|z{zyz{z{z|{{{z{{zzzz{zy{z{zzz{|z{zzzzzzzzz{{{z{{{yyyyzyyz{{{yy{yzzy{zyyyyyyzzzy{zyyyyxyyzyzyzzzz{yyzxyyzyyyyzzzzzzyyyyyzyy{zzzzz{{yyyxyyyzz{yyzzzzyyyyzzxyyzyyz{zzyzyzyxzzz{zy{yzyyyxyxxzzzz{z{zyyyyyyxyyzyyyzzzzyxzyyyyyzzzzzzzyzyyyyyzyzzzyz{zzzyxyzyyyyyyzzyz{yyyzyyyyzyyz{y|zzyyzyyyyyz{zyyzzzzzyyyxyzyz{zzzzzzyyxyyyzzz{{{z{xyyyyyyzzzzzzy{zzzzyzx{zyzzzyz{zzzyyzyzyzzzyzz{z{yzzzyyzz{zyyzzzyz{z{zyzy{z{{{z{zzzyzzzz{{zzzz{{zyzzzzyyz{{zzz|yyy{z{zyyz{{{{{{{zzzzyzz{zzzz{||{{zzzzy{zy{zzz{{zzzzzzy{z{z{yz{{z{zzzzzyyzy{{zz{{z{z{zz{y{yz|zz|{zzyzzzyz{z{z{{{{{zxzz{yyz{{zz{z{zzzyyyzy{zzzzyz{yyyyzyzzyzyyz{zzzzzzzzxxzyzzyzzzyzyzzyyyzyyzzzzzzyzxzxyzzzzzzyzzz{zyyzzyyzz{zzz{zzyyyyzzzzzzz{zzzyyyxyzzyyzzyzyywyyyyzyy{yyzzzzzyzyxyxzyzzzzzzzzzyyzyyyzy{{z{{{zyyzxyyyxyzzzyz{{yzzyyyyyyzyyzzyz{yzyzyyyxzyzyz{zzxyzz{yyzyyzzz{{zyzz{yzyyz{zzzz{yyzzzyzzyyzzz{zzyzyyyzyzzzz{zz{z{yzzzzzzz{zz{z{zzz{zzzzzzz{{z{{zzzyzzzzyz{z{zz{zzzyzzxyzzz{z{{{{zzyz{zzzy{zzzz{zzzzzyyzz{{{zzz{yzzyy{zzyzz{|zzz{{{{zy{{{{{{{y|{{|{zzy{zyz|zz{{{{{zz{zz{zz{{{{{zz{zzyyzyyz{{{zz{{{{yzzzz{z{|{z{z|zzz{z{zzz|zzz{{{zz{zz{yzz{{zzz{zzzyyyyzzzz|{yz{yyzyyzxyyy{zzzyz{yyyyzxyzzz{zyzzzyyzyzzyzzxyzzz{zzzyyyyxzyzzzyzz{{yyyyyzyzzzzzzzyyyzyyxyyyzzzyyzyzyyyzyyxyzzzy{yyyyxyyzxxxzyzy{zzyyzyyxzyyzzyyzzzzzyyyzxyzzzyz{yyzxzxyyyxxzyyyzzyzyxxxxzyyyxzz{yzzyywyxyzzzzyzyz{zyzyzyyyzzzzzyzyz{yyyyzzzzzzy{yzzzyyyyzyzzyzz{z{yzz{yyyzz{{{{{zzyyzyyyzzzz{zz{{zyyzyxzyyzzzyzz{zzzyyyyyz{zzyzzzzyyzyyyyzz{{{zzzzyzzzzzyzzzzzz{z{yzyzyyzy{{{zz{{zzyzz{yzz{{|zz{{{{z{zzzzzzy{z{z{{{yzzyzzzy|{zz{{z{yyzzzzz{{{zyz{{zzz{zzyzzy{{{zzzz{zzz{yy{zz{zzz|yzzyzyyzz{zzz{z{z{yzyzzzzzzz{{zzyzzyzyzzyy{zy{zyz{yxyyyyzzzyz{{{zzzzzyyyz{zyz{{{zzyyzyxyzzy{zzzzzzzyyyyyzzzz{zzz{{zyxyzxyzzyyzz{yyyyyzyyyy{zyzzzzyzyyyxyzzzzz{yzyzyyyyyzzzy{zz{zxzyyxyxyzzzyzz{zzyyyxxzyzzzy{z{zzzzxyyyyzyzzzz{zzzzyyyyyyzzzyzzzzzyyyxzzyzyzz|{zyzzzyyyzyzzz{yz{zyyyzy{zz{{zy{y{yyzzyyzyzzyzzyzzyyyyzyyzzyzzzz{zzzzyzxzyyzzz{{zzyyzyzzzyzzzzz{zzzzzz{zzzz{{{zzz{zzz{zzzyzz{zz{{{z{z{yz{zz{{zzz{zyzzzzzzy{{zz{z{|zzyzyz{zzyzz{zz{zyzyzzzzz{zz{z{{{zzyzzzzz{{{{{{{{z{{zyzyz{{{{{{{{yzz{zzzz{zz{z{{z{zzzzxzz|zz{|{zzyzyyzzx{z{zz{|{zzzzyzyyz{z{y{{{zyyz{zzy{z{zz{zzzyyxyyzyy{zz{yyz{zyyzzyzzzzyzyzzzzyxxzyzzzzzyz{zyzyyyyz{zzzyzzzzzzyyzyzxzzy{yzz{yzyyyxyxyzzyz{zzzzyyzyxyzzzzz{yzzyyzzyzyzzy{zzz{yyxyyyzyyzxzzzzzyzyyyzyyzz{zz{zyyy{zyyyyzyzzzz{zzyyyxzyzyzyyyzz{zzzyzyyyzzzzyzzzxyyzzyxxz{{zzzzzyzxyzyyzzz{zzyzzyzzyyyyyzyz{z{{zyz{yyzyzzzz{zz{{zzyyzyzzzzz{y|zzzzzzzyyz{zz{zy{zzzzzyyzzzz{{y{z{{zzy{zzzzz{z{zz{zzzzzzzzz{{z{z{{zzzz{zyyz{zz{{{{zz{yzyzzz{{zz{{|z{yzz{{z{{z{{{{{zzzzyz{zz{z{z{z{{zzz{z{{{{{{z{{{|zz{zzzz{{{{z{{|{z{zzzyz{z{z|{{{z{zy{zzzzzy|{{z{{zyyzzyz{{{|{z{zzyzzzyzyzy{z{zyzyzzzyyyyyzzzzyzzz{yzyyxzzzzyz{z{zzyyyzzzzz{yzyzy{yyzyyzzyzyzzzzzzzzyyyyyzzzzzzz{yyyzyyyxzy{zyzzzzyzyzzyxyzzyz{yyyyyyzyyyyyz{yz{zzyyyyzzyyzzzyzzzyzxyyyyyyzzzzz{zyzzyzxzxyyzyyzzyyyzzzxzyzzzy{zz{zzxyzzyyyzzy{{y{zyzyyzyxyz{{z{{yzyyyyyyyzzz{zyzyzzzyyyzyyzzzzzz|yzyyzzzzzzyzzyzzzzzyzyyyy{yz{z{yzyzzzyyzz{{yz{z{zzzyzyyz{z{{{zz{zzzyzzzzz{{z{|{{{{zzzzzz{zzzzz||yzzz{zz{zz{{|{{{zzyz{zzz{{zz{{{{{y{zzzz{{{{zz{{{{z{{yzyyz{{{{|{zzzzzz{z{{z{{{{|z|zzzzzzzz{zzz{{|{zzz{yzzz{{z{{{{zzzzz{yz{{yz{z{{zzzyyzzyzzzz{z{{{yyyzyzyzzzzz{zxyzzzxyyyzzzzz{yzyyzzyxyxzzzy{zzzzyyyyz{z{zyzzz{zzzzzyyzyzzzyyzzzyzzyyyzyyy{zzzy{xyzyzyzyyzyyy{zyyzyyyyyyzzzzy{{zzzzyyyzyzzzzyzzzyyzyyyxyyzzzzyzyyyyyxyyzy{z{yyzzzzyzyyxyyzyyyzzzyyzzxzyyyzzyyyzzyzyyzxyyyzyyzzzzyyyy{zyyzzzzzzzzyyyxzyxxzz{zyz{zyyzzzzzyzyzzyzzzzyyyyzzzyzzzz{{zyzzyzyzzyzy{{zzzzzzyyzzzyzzzzzzzyzzzzyzy{zzyzz{z{zzzzzzzz{{|{zzzyzzz{yzzz{zzz{{zyyz{zyyxzz{z{{zzzzzy{yzy{|{z{{{zzzzyy{zy{zz{z{z{{zzzzzzzz{z{z{{zzzzz{y{{{z{{{{zzzzzz{yzz{{{{{y{z{zzz{zzzz{{zz{z|{z{yzyyzz{{z{{{zzzyzyzyzz{{{zz{zyyzyyxyyzzzzzzzzyyyyyzzyxyyzzy{zyyyyyyyxzzyyzz{{zyyxxzyxzyyzzz{zyzyyzyyzyzyzyzzyyzyxyzyyyzzyz{{{xxzyyxyyyzzzzzzzzyzyyyxzzyzyyzyzzyyxyyxzzyzzzyzzyyyyzyxyyzzzzzzzzxzxxzyyyyzzyyz{zyzyyyzyyzzzyyzzyyyyyyyxyzyyzzzyyyyxyyxzy{yyy{zzyzyzyyyy{yzzyzzzzyzyyyyyyzyy{zzzyyyzzy{zyz{yzzzyzyzyzyyyzzzzzyz{zzyyzyzyz{zzz{z{{y{xzzyyy{z{z{{{zyyzyyyy{z{{z{zzyyzyyzzyz{{zzzzzzyyzz{zzzz{zzz{|zzz{yzzzzzzz{{{zzyyzyyz{z{zz{z|{zzzzyzzyz{{zz|{{{yzzzyy{z|{{z{{{zzzyyzzyz{{{{z{{zzyzzzz{zz{z{zz{{zz{y{z{{{{zzz{zzyzxzzzzzy{zz{z{|{yyyzzyz{z{y{{{zzzyyyzyyzzzz{zzzyyyyyzyx{{z{y{{yyzyyzyy{{zz{z{|yzzyyzyyzzyzzzzzzzzyyzz{zzzzzz{{yzzyyyzy{zzzzzz{yyyyyzzyyzyyzz{zzyzzyxxyzz{zzzzzyyzyyyyyyzyzzzzzyyyyyyyzy{yzy{zzzyzzxzyyzzzzyzzzyyyyyzyyz{y|zy{zyxyyzyzxzyzzyyz{z{xyzzzyzzzzxz{{yzzzyzyyzyz{zzzzzzyzzyyyz{zzyz{{zzzzzyz{zzzy{{y{yyzyzyzz{zzzzzzzy{zyzz{zz{zz{zzzzzyzzzzyzzzzz{{zzyyzzzyzz{{zz|z{z{zzz{zyzz{{|{z{yzzz|zzz{{{{z{{{zzz{yzzzyz{{{{{{zzzz{yzz{{|yzz{{z{zz{{z{{{{z{{{{{zzzz{yzz{{z|{{|zz{zzzz{{{zzzz{{zz{{zzz{z{{{{{{{zz{zzzz{{{{|zzz{zzzyz{zz{{yzzzz{{zzzzzzyz{z{{z{z{zzzxzzyzyzyyzzzz{yyywyyyyzzzz{zzxyzyyyyyyzzz{z{zzxyyyyyzyyzzzzyzyyyyyzzyzyyyzzzyyzzyzyz{yzy{zz{yzyyyzzzyzx{yz{z{yyxxyyyzyzzzzzzyzyyyzzyzzyzy{zyyyyzyyxyyzzzyzzzzyyzzyyxyz{zy{{zzzzyyyzyzz{zzzyyyyyyyxyyzzyyzzzzzyyxzyyzzzzzz{zzyy{xyxyyzzzzzyz{yzzyyyzyzzzzzzzzzzzzzxzzzyzzzzzzyyyzxzzzyyyzzzzzzzzyyyzzz{{zzz{zzyzzyzzyzyzxzz{zyyy{zzyzzzzz{{zy{zyyzy{zzz{{{|zyzzzzyzzz{z{{{|z{yzyzyyyzzz{{{{{{zyyzz{{zzz|z{|{{z{zzzz{zzzz{{{z{zzzyyyzzz|zz{{z{z{{{{zz{{{{{z{{{zzzzzz{zyyz{z{{|zzyzzzy{{z{{{||z{zyyzzzy{{{yz{{z{{zzzz{yz{z{{z{zzzzzyzzy{{zzzzzyzzyyzzyyyz{zyzzzzyyyyxyzzy{zzzz{yyyzyyzyzyzzz{{zzyxyzyyzzyz{yzzzyyyyyyzyz{y{zyzzzyyyyyyyyzzzyzyzzzzyxyzyzz{zyyzzzy{yyzyyyyzzzzzzyyzyyzzyzy{zzyzzzyyzzzxzzyy{zzzyyzzyxyyyzzz{yzzzyyzzyyzyyzzzzzzzyzzyzyyyyzzzzzzzzyzyzyyyzz{zzzy{{zyz{yzx{{{zzz{{zzzyyyzz{{yyzz{{zyzzyyyy{zzz{{{{zyzz|yyzz{{zz{{{zyyzyyyzzy{{{z{zzzzyyz{zz{{{z{z{yz{y{z{zzz{{{{{|z{yzzzz{z{zz{{{{{zyzyzyz{zz{|z|z{xyzz{zzzzzz{z{zzz{zz{z{z{z{|{{{{zzyzz{zz{{{|{{{{z{z{zzzzzz|z{{{zyyz{zz{{zzz|{{{zzzyzyzz{z|{z{{|zz{zzzyz{{{z{z{|zzzzyy{zz{{z{{{z{z{yyzzy{zzzz{yzyyyyyxyyyzzzz{zyyzyzyyzzyzzzyz{zyyxyyyzyzzyyzz{zzyxzyyyyyyzzyzzyyyyxyzyxyzzyyyzzzxzyzyyxyzyzzzzzzzyyyyyyzy{yyy{zzzzxyxyyyzzyyzzyyyzzzyyzzzzzyzzyzyyzzxxyyz{zzy{yyzyzyyxyyyzyzz{zzyyyzyyxzyzzzzyzyzyyxyyyy{zzzzzzzzyyyyyxzzyyzzz{{zzyyxyxzzzzzyzzyzzyzyyyyzyzyzz{yyzyyyyyzyzz{zzzzzzzzyzzzzyzz{{yzyzy{yyzzz{yyz{yzyzzyzyzzzzzyzzzyyyxzzzzzzzz{{zzz{yyzzzz{z{{z{{{zyyzzzyzzy{zz{{{zyyzyzz{z{zzzz{{zyz{zzyzz{{zz{{{{zyzzyzzz{{{{{z{{zxzzyzz{{z{{z{{zzzzzyzz{zzz{{z{{zzzzzyzz{z{{|{zzz{yzzz{z{zzz{{zzzzzzzzzz{zzzzzzzzzyyzyyzzzyyyxyyzyzyxyyyzzzzy{zyzyzyyyyyzzzzzz{yzyzyyyyzz{{{z{zzxyzyyyzzyyzyyy{yyxyyxzyyzzzz{yzzyyyyyyxy{yz{{{zzyzyyyxxyzyzzz{yzz{yxyxzyzyzzzz{yyyzyyyyy{zzzz{zxyyyyzyyzyzyzy{yyyyzyzxyyzz{zzzzzyyyyxyyyzyz{yzzzzyyyxzzzzzxzz{zzyzyzzyyyzyzyzzzzyyyzxyyyz{zy{{{zyzyyzyz{zzzz{{zzzyyyyyyzzzzyz{zzy{yzzyyzyz{z|{zyzzzyzzyzz{zzzzzzyzyzyyyzzzzzzzzz{zyzyzyz{z{zz{zyzzyyyzzz{z{{{{zzzyyyzzy{{{zz{{z{zzz{z{z{{z{|{{{zzzyyz{{z{z{{{{zzzyzzz{y{|{zz{{{{z{zzzzz{z|{{zz{{yy{zzyzzzz{{||{zzzzyzz{{zyzz{z{{zyy{yyzzzz{{z{zzyzzzz{zz{zzzzzzzyzzyyzyyz|yzzyzyzyyyyyxyzyyz{z{zzyyxzyyyzzzyz{{zyyyyyxyzyyzzz{zzyzyyxxyyzz{zy{zyyyyzyyxyyzzzzyzyyyyxyyxyyyyyzzzyyzyzyxyzyzyyzyzyzyxyxzyyyyyzzyzyzyxyxyyyzzyyzyzyxxyyyxyyz{zzyzzyzyyyyxyzzzzyzyzyyzyyyyyyzzyzzzyzyyyyyyyzyyzz{zzyyyyyzxyyyzxyzzzyzzzzyyyyzyyzz{zzxzyyxzzzyzyyzzzyzzyzyyyzz{zyzz{yyyyzyzyzyyyy{yzzyzzyyyz{{zy{zz{{zyyzyzzzzzzzzyzzyyyzyzyy{z{{{z{{zyzyzyzz{z{zzz{zyzzxyyyz{{{zz{yzyzyzzzy{{zzz{|zzzzzyzy{{z{{zzz|zyzzzzzzz}zzz{z|zzzzy{yz{z{zzz{z{zzzzy{{yzzz{z{{zzyyzzzzzz|zzz{z{yyyzyzzzz{zzz{zyzyyzzyyzzyz{zzzyzyzxzzxzyzzzyyyzyxyyzyyyy{yyzzzzzyzxyyzzyzzyyzzzzzxyzyzzyzzzzzyzyyyzyxyzzzzz{z{zzyyyxzyzyzzzyyzyyyyyxyxzzxzyzzz{zyyyxxyyy{yzyyzyyzzyzyyxz{zy{z{yyyyyxzyy{yzyzzzzxxyyyyyyzzzyyzzyzyyxyyxzzzyyy{zyxyyzyyxyyyyzzzzyxzxzyyyy{yzzzzzyyyxyzyyzzyzzy{zyyyxyyyzyyzy{{z{zzyyyyzxyzzzyzzzyyzxxyyyzz{yzz{zyzxyzyyyz{zzzzyzyzyzzyyz{{zzyyzyyzyyxy{yz{z{yzzz{zyzzzyzzz{zz{{zzy{zzyyyzz{z{z{{zzz{yzyy{{zzzz{zzzzyyyzy{z{zzzz|zzzyzzz{zzyzzz{{zzzzyyzyz{{{{z{{{z{{zzzzzzzz{{{zzy{zzyz{{yzzz|{z{yz{zzzz{{{{{z{zzzzzzzyyy{yz{{{{{zyyyyzzyz{z{{yyzyzyzyyyzzyzzzzzyyyzyyxyyyyyzzzzxyyzzyzyzy{zzzzzyzyxyyyyzyzz{z{{yyzzzzyyyz{zyzz{yzxywxzyyzz{yzyzyyyzyyyyyyyzyyzzyyzyyyyyyyzzxzzzyyyyyyzyzyyzyyzzyyxzyyyyy{zyzz{zyyyzyyxyyyzz{zzzyxyzyyyzyzzzzz{zyyzzyxxyyyzyz{zyzyyxyyzyyzzzzzzzyyzzxzxxyzy{y{z{zxzzyyyy{{z{zzzzxy{yyyzzzyyzyz{{zxzyyyzzzzzzzz{zzyzzyyyyz{yzzzzzzyyyyyyyyy{zzzzzzyzzyyzyz{yyzz{zzyz{zzzyzzzzzzyzyzzzy{{y{zz{z{z{yyyxxyyzzz{{zzz{zzyy{yzz{{z|{{{zzzzzyzzzzzzzy{{{{zzz{zz{z{{z{{zz{zyzyzzy{{z{{z{zzxzz{z{zz{{zzz|{{zy{zzy{zzz{zz{{zzzzzyzz{zz{{{{{zyxzyzzyyzz{z{zyzzzyxxyyyz{zzyzyyyxzyyzxyyzyyzzzyyzyyyyzzzyx{yyzzzxxxyxzzyyyzz{zzzyyyyxzyy{yyyzzyzxyxxyxyyzyz{yzyzxyyyzyyyyxyz{zzyyyyxyxzyyyyyzxxyzyzxyzyzyyzzzzzyxyxxxxyyyyzzyyyzyyyxxyyzzyzz{zyyzyyyxyzzyyzzyzyyyxxxyyyzyzzyzyyxyyyyyyyzzzyzyyyx{yyyyyzyzzzzzzyyyyyyy{zzzzzyzzzyyyy{zyzzyzy{zzzyxyyzyxzzzzyz{zyzzzyxyyyz{zz{zzzyzyyzzyzzzzzzzzzyyzzz{zzzzzyzzz{zyyzzzy{z{{z{{zzzzxyyz{zyz{yy{{{zzzzyyzy{z{z{zzzyyzyyyz{{{z{z{{zzzzzzzzz{y{{{|zzzyzzz{zy|z{{|zzzzy{yzyzzz{z|zzz{zyzzzz{yzz{zz{{{zzzzzzzyzzzz{zzyzyyy{yyzz{zz{{zyyyyzyzy{{zzz{y{zyyyzyzyzzyyzzyyyyyyyyyzyzzyyyzzxzzyxyyyzyyzz{zzzyzyyyyyzzz{zzzzyyyzyyyzyzzzzyzzzyyyzyyx{zz{zz{{yyxyyxyyyzzzzzzyzyyzzyyyzzz{yyzzyyyyyyyyzyyzz{{{yzyyyxyyz{zzy{zzzzyyyxyzyzyzzzzzyyyyxxyyyzzzyzzzyyyyyxxyyyyy{zzyyzzyyyzyy{yyyzzzzyzyzyyyzzzzz{{zzyyyzyyzzzyzz{{zzzyyzyzzzzyyyz{zzzyyzyyyz{z{zz{{zzzyzxzyz{zzzzzzzzzzzzyyzz{zzz{zzyy{yyzzyz{zzzz{zyzzzzzy{zz{zzz{zzzyyyzy{zz{{z{{zzz{zzxyzzzzzz{zzzzzzz|z{zz{{{{{zyzzz{{zzzzz{z{{{zyzzzzzz{z{z{{{{y{zyyzzz{|{{{{{{zyzyzzz{{{{{z||zyzzzzzz{{yz{z|{yzzzzzzzyz{z|z|{z{zyzzyyy{zzx{zzyzyyyyzyy{zy{zzyzyyyyyyxy{z{zzyyyzyyyzyzyyzzz{zzzyyyyyyyzzy{{z{zyyzyyyzyyzzzzzyyzzzzyxyyyzyzzzyzzyyyyyyy{z{zzzzzyzyyyyzyzyzyyzzzyzyzyyyyyyz{yzyzyzyyyyyzz{y{yyyzyyyxyyyzyzzzzyyzyyzyxyyzzzyzzzzzzxyzxyyyyzxyzzz{zzyzyyyyx{zzyz{{yyyyyzyyyyyzyzzyyyzyyyyyzzzzzzzzzyzyyxzyzyzzz{yzyzyyyzyzzzzzzzz{zzzzyyyyz{zzyzzzyz{zyyyxzz{zzz{zzzxzzyzzz{{zz{{zzyzzzzzyx{zz{z{zyzzzyz{y{zy{zz{{zzy{yyyy{{zyz{{{zzzzyxyyz|{z{z|zzyzy{{z{y|{z{z{{{zzzzzzz{{{{zz{{{zzz{zyz{{{zz{zz{yyzzzzzzzzzz{z{zzyz{zyzzz|{zzz{zy{yzzzzzz{{zz{{zzyyzz{y{zz{zz{zzxyzzyyyzy{yzzyzxyzyxyyyy{{zyzyzzzxyzxyyzz{y{z{{{zzxyyyyz{yyxzzzyyzyyyyyy{zzzzzzzzyyxyyx{z{zyzz{yyzyyxzyy{zzzzzzzyyyxyyyyzyzyzzzyyyxyyxyzyzzyzzzxzyzyxyzzyzzyzz{zyyyyyyyyyzz{zzzyyzyyyyzyyzzyzzzxzyyzyyxyzxyyzzzyzyyyyyyzzzzy{yzzzzzyyzxzzzyzzzzyyyzyyyyyzzz{{zzzxyzyyzzzyzzzzy{zyzyyyyzzzz{{zzzzzyyyyyyz{zz{{{zzyzzyzyyzzz{z{zyyyyyzzyyzzzz{zzzzyyzzyxyzzz{z{{zzzzzyyzzz{z{z{z{zzyzy{yy{{{z{{{z{yzzyy{z{{{zzz{{zz{zzzzz{z{z{z{{{y{{zzzzz|z{zz{zzzzzzzzz{z{zzz{yyyyzzzzyzy{{{{|{zzyz{zyzz{z{{{{{{{zyzzzyzzzzz{zzzzzzyyzyz{{zyzyzzzzxzyyyz{zzyzzzyxzzyyyyzzzzyzzzy{yyxyzyzy{{zzzzzzyyzyxyzzzzzyz{yzzzyyyxzyzzzz{zzyyyyyzzyyyzy{zzyyzyzzzzyzzzyzzyyyzzyyyzzxzyz{zyzxyxyxyyzzyzyyy{zyyzyyyyz{yzyz{yyyxyyyxzzzyzz{zzzzyzxyyyzzzyzyzzzyyyyyyyzzyyyzzzzyxyyyxzy{y{y{zzyxzyyzyxyzzzzz{zzzzyzy{xyzyzzyzzyyzzzzzzzyz{z{{{zzzyxyyyz{z{zyz{yy{zzzzxy{zzyyzzzyyzyzxzyzz{z{yyzzz{yzzyz{zzzz{zzzyzzyzzyzz{zzzzzyyz{zyy{zz{z{{|zzzyzzzz|z{zz{z{zyyyzzzz{{zz{{z{yzz{zzzz{zzz{{z{zyzzyzzz{{{{{{||{zz{yzzz{z{{{{{{{yzzzzzzzzzzz{{|zzzyzzzz{{z{{{{{{zzzzzzzzz{z{z{y{zzyyzzyz{{{z{zzzzzyyyzz{|zyzzyzxyxyyyyxyzzyzyz{yyyyyxyxzz{zzz{{yyyyyzzzzyy{zzzyzzzyyyyxyyzyzy{zyyyyyyyyzyyz{zzzyxyxzyyxzzzzy{yyyyzx{yyyyyzy{yz{yyyyxyzyyzyyyzz{xzyyyxxxzzzzyzzzyzyyxyxzyyyz{yzyyyzyyxxyyzzyzzzyzyyyyyzyzzzyzyzzyzyyyxyyzzzyzzzzzyzyz{zxyyyzzzzzzzyyzyyyz{zyyzyzxyzzxyzzzyzzxzz{yyyyyyzyyzzzzzzzzyyyyyyyyzzzz{zzzzzyzyyyzzzz{zzzzyzyyyzzyzzyz{{zz{zyzzyzzzzzz|{zzzyyzzyy{z{z{zzzzyzyzzzzzz{zz{{{{yyyzyyy{zzzzz{|{zzzyzz{y{{{z{{{|yyzzyzzz{|{z{{{{yz{zyy{z{zyz{{{yzyzzyyzzz{z{{{{{zyzzzzz{{y{z{{{{zzzzzzz{zyz{z|{zzyyyzyz{z{zz{zzzzyxzyyxzy{z{z{{zyyzyyyyz{{zzy{yzzyxxzxyzzzzz{{{zzyzzyyyzzz{zz{y{zyxyz{yyzzyzyzzyyzxyzyxyzzz{{zzxyxyyy{yyyyyy{zzyyyyyxzzzyzyy{z{yyyyxyywyzzzzzzzyyyyzyyyzzzzyy{zyyzzy{yyyzzzzzzzzyzyyyyyyzzzzzzzyyzyzzyxyyzzzyzzzyxxzyyyzzyyy{zzyzyyyyzyzyzzzz{yzyzyzyyyzzzzzzzzzyzyyzzzzyzzy{zzzyyzzzzyzzzz{{z{zzzzzxzzz|z{zzz{zzzzyxyz{{zzzzz{zyyzyyyy{zzzzzz{zyzyzzyy{z{{z{{zyzzzy{zy{{z{zzz{z{yyzzyzy|{{{z|z{zzyyzzzz{{z{z{{zzzzyzz{z{{{{{{{{y{y{zyyz{zzzzzz{zzzzzzz{{{{{zzz{{zy{zz{zzzy{{{{{zzyzzy{zzz{|{||zzzyyzzz{zzzz{z{{y{zzzzxzzz{yzzzzzzy{yzzzzzzzzzzyyyyyywxyyzzzzzzyyyyxxyyyzzyzzzzzzxzyyzxzzzzzyz{zyyyyyzzyzzzyzzzyyxxyyyxyyy{yyz{yxyzyyyxyzyyyzzy{yxyyyyxzyzzyzzyzxyxzyxzzyyzz{zyxyxyyxxxyyzzyzzzzyyyxzyyyyzzzzyzyyzyxzxyzzz{yzzzyyzyyxyxyzzyz{zyzyzzyyyyyzyzzzzzyzzzyyyyzyyyyyyyzyyyyyyzzzyzyyz{zyzyyxzyzzyyzyzzzyyyyxyzyyzzyz{{zzyzzyyyyzz{zzyzzzzyyyyyyzz{{zzzzyyyzzxyzy{zzzz{yyzyzzzzzzzzz{{zy{yyzyzzz{y{y{z{yy{zyzyyzzzz{{zzzyyzzzzz{{{{z{zzzzzzzyyzzzz{{zz{{zzzzzzzz{||{{|{{zy{zzzy{zzzzzz{zyzzzyyyzzz{zz{zzz{yzyyzzz{{|z{{zyyyzzzzz{zz{{zzzzzzzyyz{{z{{zzzzzzyyxyyy|zzz{yyyyxzzyyxy{zzyzzzyyyzyzyzyyzzzyzzyzxyyyzxzyzzyzzzzzzzyxzzy{zzyyzzzyyxzyyxyzzyzzzzyyzxyyyxyzzyzzzyzyxxyyxyxz{yyyyyyyyxxyyyyyzyyzzzyyyxyxyxyyzyzz{xyxxzxyyyzzzzyzz{zyyyyyyxyyzzyzzzzyzzyyyxyyyyyzyzyyxxxyyyxzyyy{z{yyyyzyyyyyzzzz{yyyyyyyzxzzzzzz{{zyyzyyzyyzxzzzz{yzyxzxxyzzzzzz{zyyzyyyyyzyzyzzyyzyzzzyyyyz{yz|{z{yyxyzzyzz{zy{zyzzzyzzzzzzz{zz{{yzyyyyzz{{{zzzz{zzzyyzyzyzzy{z{zzyyzyzzzz{zz{{z|yzzzz{{zzyzyzz{{zyz{xyyy{{{{{{z{zzzyyyyzzzz{zzzzzyyzyzyzzzz{z{{{zyzyzzzzz{{{{{{{zzzzzzyyyzzzzz{zzzyzyzzzyzz{{{zzyzzyzzxyyzzyz{yzzyyyzzyyxzyzzyz{xyyxyxyyyyzzyzzzyxxxxyyyzzyyyzzyyzyyxyyyyyzzyzyzzyyzyzyxzyzzyzz{yyyyyyzyxyyyyzzzzyyzyxxyyzzyyzy{yyyzyyxyyzxzzzzzxyyyyxyyzyyzz{{yyyyyyyyyzzzyzyzzyyzyxxxxyyy{zzzzzyyyzyxyx{yyyzyzyyyyyyyyyzyzyyzyyyyzxzxxzzyzyzzzzyyyzyyyyyzyzzzzzy{yyyyyzzyyzzyzxxyyyzyyyzzyyzzzzyyyxyyyyzzzzzyzzyzzyyyyyzyzzz{zyyyyyyyyyzzyyzzzyy{zzzyyzz{{zzz{zzzzzyzzz{z{{z{zzyzzyyyxzz{yzz{zzzzz{zyzyzzz{z{{zzyyzzzyzz{zz{zzzzzzzzzzy{{|{{{{{yyyyzzz{zz{zzzzzzzzzyyyzy{{zz{{zzzzzyyz{{zzzz{{zzzzzzzyzzzzzy{{zzyzyy{yzyzy{y{zzy{yyyyzzyzzyzzyyxyyzyxxyzzzzzyzzzyyxyyyzzzzz{zzzyyzyzyxyyyzyz{yzyzzzyxyzzzzzzyzzyzzyyyyzz{yzyxzyyzxyzyyzyzzyz{yyyyyyyyyyyzxyzzyyyyyyyyyyyyyzy{zyxxzzxyyzyzyyzzzzzyzyyyxxzzyy{zzzyz{xyyxyzzz{zzzyyxxyzyxyyzyzyzyyyyyyyxzyzzzyzzzyzzyyzyyzyzzyz{zyyzyzxyyzyzxz{{zzyyyyyyzzyzzzzx{zzzzyyyzzzy{zz{{yy{yzyyyxzz{yzzzyzyyxzyyzz{zzzzzzzyzyzyzzzzzyz{yzyzyyzyyzzzz{{{{zyzzzzzz{zz{yzz|zzyzyzyyzzzy{{{{zyyzzyzy{{zz{z{{{y{zzz{zz{yz{zz{zzzzyzzzz{{z{z{{zy{y{yyzzzyzzzzz{zyzzzyzzzz{z{{y{zy{zyzzz{zzz{|zyzyyyyy{z{yzz{{zzyzzyyyyzzzzzz{yzyyyyyyxzzyzzzyzyyyzyzyyyzzzzzzyzyzyyyxyyzzzzzzzzzzyyzyxzzyzzz{|yzyzzxyyzz{zzz{{yyyyyyyxzzzzyzz{yyyyyyzzyyyzyz{z{yzzzyxyzyzzzz{{zzyyyyyyyzzzyyyzzyyyyyyyzyzzzzzzzzyyxyxyyzzzzzzzyyyyyyzxyzzyz{zzyyyyyxyyyyzzzx{xyzzyyyyyzzzyzyxyzzyyyyyzzzzy{zzyzzzzzzyzzzzy{{z{zyyyzy{zzz{yz{zzyzzzxyyyyzzyyzzzzzzzzyyzx{{zzzzzzxz{zyzzzzz{yz{zzyxzzyxzzzzy{{z{yzyyzzzzzzzzzzz{yyzzzxyyz{{zzz{zzz{zzyyx{{zzzz{zzzy|zzzy{{{{{z{zyyzyyzyzz{{zz{{z{zyzzzzz{|zz{{{|{yzzy{zyzz{zz{zz{yzzyzzzyzzz{z|{{zzzzyz{{zz{zz{|{zzyzzzyzz{z{{{{zzyyyyzy{z{zyy{yyzyxyyyzzzzyzz{yzyyyyxyyyyzzzyzz{yyzyzyyyzzyzyzzzzyyxzyyyzyyz{z{zyyzyxzyz{{zyy{zyyyyxxyzzyzyyyzzyyzyyzyyyzzyyzyzzyyyzzyyxyzzz{yzyzyxyzxyyyyzyzzyyyyxxxyyzzzy{zzzyyyyyyxyyyzyyzz{yyyzyxyyyzyzyyzzyyzyyyxxyyzyy{zzyyyxyyyyyzyyyyzzyyyyyyzyzyzzzzzzyyyyyyyzzzyyz{y{yyyzyyyyzzzyyzzzyyyyyyyyz{zzzzzzzzzyyxyyzzzyzzzyzyzyyzxy{z{zzzzzzyyz{yyyzz{zz{zzzyzyzzzzz{{{z{{{zzyyyzyyy{zzzz{{zyyzzxzyzzzz{{{zzyyyzzyz{|zzz{{zzz{zz{zzzzzz{z{{{{zzyzzzzzz{zz{zzyzzyyyz{{z{z{z{zyyzzyyzy{{{{z|{z{zz{zyzyz{y{z{|zz{yzzyzzy{{z{zz{zyzzzzzzzzzz{{yzyzxyzzyyz{zy{zzxyyzyxzzyzzz{zzzzzzyxyyy{zzzz{{zyzyzyyzy{zzzzzzzyyxzyyyyyzzzyyzzzzzyyyyzzzzzz{yzzyzyyyyyzzzzy{zyzzzzzzyzzyzzy{zzzyzxzzyyzzyzzzzzyyyyyyxyyyyzzz{yzyyxyzxzzy{zzz{yzyzzxzyyzyzzyy{zz{yxzxyxxzzzzzz{zyyzyyyyzzyzzzzzyyyyyzzzzy{zzzzy{yzyzzzzzzyzzz{{yzzzyyzy{zzzzz{{yzzzzzzzz{{yz{z{zzyzzyyy{{zzyz{{yzzzyyyzz{zz{z{{{yyzzzyzzzzzzzzzzyzyz{zzz{z{{{z{zzyzzy{{{z{{{{{z{zzyzyzz{{{{{z{zzzz{zzzyzzzz{{{{{yzzz{{zzz{{{{zz{z|zzzz{{||{|{{|zz{yzzzy{|z{z{zzzzz{{zyz|z{{{{{{z{yz{zzz{z{zz|z{zzzzzz{zzzz{{z{{{zzzyzyzz|{{{z{{{zyzyzyzzz{{zzyyxzyyyyxyy{zyyzzyyyyyyyxyzyzyzzz{zyzyyy{yzzzz{z{zzyzyxyxzzzzzyzzzyyzxyyxxzyyzzzyzyyzyyyyyzy{zzz{zyyyyxyyxzyyzzzyyxzzyyyyyyyyy{zzzzyzxyyyyyzzyyzyzyyxyzzyyzzzyzz{yyyzzyyyxyzy{yzzzyyyyxxyxyzzzyzzyzzyyxzyyzzzzyzzyzyyyzyyxy{y{zzzzyyyyyyxyzyzzzzzzyyzyyxyzzyzz{z{z{yzzzyzzyzzyyzzzyzzyyxzyy{{yz{zyyzzyyyyyyz{zzzzyzyyyxzyzyzyzzzyzzzyzzzyz{z{{zzzzyzyyyyzz{zzzz{{{{zzzyzyzyzz|{z{zzyzyzzyzzzzz{{{{zyzzz{z{zz{z{{y{z{zzyz{yz{zz{{z|yyz{zyyz{{{{|{z{yyyzzzzzzz{zz{{{zzyzzzy{zzz{z{{yzyzyzzzyzzzz{{|{zzyzyyzzyzzyzzzzyyzyzxzzzzzyzyyzyyyyyyxyz{{zyxzzyyyyyyz{yzyyzyz{zyyxzzzyzzzz{{zyyzyyyyzxzyyzyzzzzxyxxzxxzyzzyzyzzzyyzyyyz{yyyyyzyyzxzyyxyzzyzzyzyxyyyyxyyzzzyzyzyyxxxyxyyzyyzyzzyyyyyyxyzzzzz{zyyyzyyyyyyzyzyzz{yyzyyzyyyyyzyzzyyzyyxxyyzyyyyzzzxyzzzxyyzzzyzzzyzzzyyyzyzzzzyz{zyzzz{yyyzz{zy{zzyzzyyzyyxz{zzz{{zyzzxzzyyzzzzyz{zzyyzzzyyzzzzy{zyzyzyyyyy{{zy{zzzyzyyzzzzzyz{{z{zzzzzyzzz{{{{{{{{zzzzzyzz{zz{z{{zzzyzzzy{zzz{z{yzy{zzzzz{{{z|{{{zzz{zzyzz|yzz{{{zzzzzyyy{zz|z{zzyyyzzzy|y{zz{z{{{zy{z{yzz{z{{{{zzzzyzzzy{{zzz{zzzyzyzyzzzyzzzyy{zzzyzyyyzz{yzzyzyyxyzyxyyzzyyyzzyxxzyxxxzzz{z{zyyyyyyyxxyzzyzzzyzyzxyyxxzzyzzzz{y{yyyyzxx{zzzzzzyyyyyyyxxzzyzzyyyyyyxyxzzyzyyzyzyyxyxyyyyzyzyyyzyyyyyyxyyzz{zzzyyxzyxzxyzyzzyzzyyyyyxyyyyzyzyyz{zyyxyyyxyzyzzzyzxyyxyyyxyyzyzz{zxzzyyyzzzzyzzzzzyyzyyxzyzzzyy{z{yzzyxzyyzyy{zzzzyyyzzzzyyz{yzzyzzxzyyyyyz{{zz{zzyyyyyyyzzzzzzz{{zzzzyxyyzzzzyyyzzzzzzzzzz{{z{{zzyyzzyz{zzzy{z{{y{yzzyzzyz{zzzy{zzyzzzzzz{z{zz{{z{zzzzz{z{zzz{{z{{zzzzzyyz|{z{|z{zzzzzzzzz{{yz{zzzyyyz{yzz{{z{{{{zzz{zyzz{{zz{{{{zzyzz{yzzzzzzz{{zzzyy{zyz{z{{zyz{yzyyyyxzz{{{zyzyyy{xyyxyyz{zzzyyxyyyzyzzzzzz{zzyzyxyyyyzzzzzzzyzzzzzzyyyzz{yz{yyyyyyyyy{zzzz{{zyzyyyzyyyyzxz{zzzyxyyzzyzzzyzyzzzyzxyyxyyyzzzzz{yyyyzyyzyzzzzzzzyxyyxyyyyyzzzyzzzzyxyyyyzzzzyz{zyyzyyxyyyzyyzzz{zyyyxyxyxzxzzzzzxz{zzyyxzzzzzyyyzyyyzxyyzzzyyzzzzyyzzzyy{zyzyz{zyzyyzxzyzz{zz{{{zxzyzyzyyzzzz{{zzzyyyyyxyzzzz{{zyzz{zyyy{zzzz{zzzyyyyy{zyzyzzzz{yz{yyzzzz{zz{{{{zyzzzzzy{{{z{zzzzzzzzzzy{{{z{{{|zy{yyzzyz{z{z|z{{yz{zzzzzz|{z|{zzz{z{zyz{{{zz{||{yzzzzzzzzzz{|z{{{zz{zzzz{zz{{{|zyyzzyyzz{{z{z{{{zxzyy{y{{yzzzzzyzzyzyyzzzyzzyzyyyxyz{yyz{y{yyzzzxzyyyzyyzzzz{y{zzyxzzyyzyzz{zzzzyzyzzxyyzyzyz{yzzyyxxyxzy{zzzzzyyyzyyyxzyyzzzzzyzyyyzzyyyzzzzzzyyyyyyyzyzyzyyzzyyxyyyyyyzzzzx{yzxyzyyxyzyzyz{{zzzxxyyyxyyzzzzz{zzyzyyzyyzzyzzzzzzyyxyyyyyzzyzz{yyyy{yyyzyzzzyzzzzyx{zyzz{zz{z{zzyyzyyzxyzzzzzzzzxzyzyyzzz{zzz{zzy{yzyzzyzzz{{zzzyyyyyzzzzzzzzzzyzzzzyyyzyzzzzzzzzyzzyzz{{{{z{z{zzzzyyzzz{y{{{{{zyyzyyyy{{z{{z|z{z{yyyzzz{zz{{{z|zzz{zzz{{z{{{{{zyzzz{{{z{z{{z{z{yzyzy{yzz{zz{zy{z{zyyzz{zz{z{{{zzzz{zyzz{{{z{{{zzzyzzzyz|zz{{z|{zyzyzzyz{zzz{{zzzyyyyzzzz{{zzzzzxyyyyyxzzzyxyzyyyyyxyyzzzzyyzzzzyxyzzyyzzzyzz{zyyzyyyzzyzyzy{{{yyyzxyyy{yzyzyy{yzyxyyyyyzzyzyzzyxzyyyyyzzyzzzyyzyzyyyyzzzyzyzz{yxyyzyxyzzy{yzzyyyyyxyyyyy{yzzzzyyyxxyyyzzzzzzyzyyzxyyyyyyzyyzyzzyyyyyyyy{zzyzzzyzyyyzyzz{{zyz{{zzyyzyyzyzyzzzzzxzzzyyxyyzyzzyzzyyyyzyyyz{zzyz{zyzzzzyzyyyzz{{{yzyyzyzyyzzzzyzz{yyzyyxzyzzz|zyzzzyzzyzyz{{z{z{zzyzzzzzzzzz{{zz{{zzyzzzyyzzzyyyz{{zzzzyzz{{|zz{{{zzyzyzzzz{zz{|z{zzzzzzyz{{{{{{zzzzzzzzxy{yz|{{z{{yyzzzyz{z{zzz{|zzy{zzzzzzyz{z{{zz{yzyzyyz{{y{zzzzxzxzzzz{zz{{z{zyzyzyzyzy|zy{yzyyyyxyzxzzzzyyz{zyzyzyyxzzzzz{zzzyyyzzyzyz{{{{{{yyzzzzzyy{z{{yzzyyyyyyzxyz{zzzyyzzyxyyyyzzzyzzzzzyzyyyyyyzzyzz{zyzzyyyyzzzz{yzyzyyzyyyzzzyzzyzzyzyyzzyyyzzzyyz{zzyxzyyyzyyzzzyz{yxyyyxyyyyzzz{zzxyzxzyyzyzzzzzzzxyyzzzyyzyzyzzz{zyyyyyyzyzzzy{{{yyyzyzyzzzzzzyz{zyzxyzzzzy{zzzzz{yzyyzzyzzzzzzzzyz{zz{zz{z{{{zzzyzyzyyzz{z{zz{zzzyyzzzyzz{{{z{{zzyzzzz{{{{z{z{z{yzzzzzzzzzz{z{z{{zzyyzzz{zz{{{{|zyzyzzzzzzzz{{zz|zzzz{zzz{{{{{|{z{{zzyzzz{{zz{{zzzzzzzzz{{{{z{{{zzyz|yz{{zz{{{|{{zzzz{yyz{{zz{{{zzyyzzzyy{z{{{{{zzzzyzyyz{zyzzz{yyzyyzzyyzyzzzyzxzyzyyyy{zyzz{z{zyzxzyyyzzzzzz{zzzzzyyyzzz{zyzzzz{yyyxzyzyzyzzz{yyyxzzxxyzzyz{zz{yyyyyyzzzyyzzyzxzyzzyyyyzz{zzyzyyyyyyzyzyzz{zzzyyxyyyxyyyyzzyzzyzyxyzyxyzzzy{zzyyyyxyyyzyzyyzz{xyzxyxyxzyyzzz{zyyy{zyzyzzzzy{z{zzyyzyzzz{yzzz{zzzyyyy{zzzzz{yy{yzzyyyyyzyzz{{zzzzzyyzzzyzz{z{zzzzzyzyyyzz{{z{{z{yzzyyzy{zzyzzzzzzyzzzyzzzz{z{{{zz{yzy{y{{{{{|{{{{yzzzzz{{{{z{z{zyyyzyzxz{{{{z{{zzzzz{{zz{{{{{{{{zz{zzzy{{zz{zz{zzzzyz{y{{yz{{{z{zzyzzzy{{z{zz{|zzzz{zz{z{{{{zz{zzzzzzzzz{zz{{{{zzzzyzyyz{zzzzzyzz{yxy{y|yzzzzyzyyyyyyyxyyyzzyzzyyxyzxyzyzyzzyz{zyyxyyzyzzyyzzzyyyyyzzyyzzyzyxz{yyyywyyxzyyzzyz{yzzzyzyyzzyxzzzzyyyyzyxx{zyyyzyzxyzyyzyzyzyyzzzzzxzyyxzyyzyzz{{zyzzyyzxzyzzzzyzzyyyyyzxyyzz{zzzzzyzzzyyyyyyyzzzzzzzyyyzyzyzyzzzyyyzzyyyyyzzyz{zyxyyyzy{{yzzyzyz{yxzzyyyz{zyyz{yzzzyzyzzyzzzyzz{zzzzzzyzzzzzzzzy{{zzyyyzyzy{zzz{zzyyyzyyyz{z{yzy{zyyz{zyzzzzz{z{zzzzzzzzyzzy{z{{zzzz{zzzyyz{zzzzzzzyz{yyy|{{zzz{{zzzzz{zyz{{z{z{{{xyyy{z{{{z{z||{{y{z{zyz{zy{z{zzzyzzzzzzzz{zzz{{zzy{z{zz{{{{{{||z{yzzyyzzzyzzzzzzzzzzzyyz{zz{zz{{zyxzzyzyzzzzyzzyyyyyxyxzzyzzyyzz{xyyxyxzzyzzz{yzyyyzyxzzzyzz{zzzyyyyyyzyyzzzyyzzyyyzxyy{yyzzyzzxxxzyxyxyyzyz{yzzzyyyyzxyzy{z{yyzzyyyxxyyzyzzyyzyyyyyzyzyzyzy{zyzyyyyyyzyzyzzyz{zzyyxyxyzzzzzzy{zzzyxyxyxzyyyzzyyzyxyyyyyzyxzzzzyyyyyyyyzyyzyzz{yyyyyxyzzzzzyzy{zzyyyxyyzzzz{zz{y{zxzyzyz{zzzzyzzzzy{yyyzzzy{{yyzyzzyzyzz{zzzz{zzyyyzyyz{z{zzyz{yzzyzzzzyz{{zz{zyzy{yzzzz{z{zzyzyzzyyyzyz{{{{z{zzzzzzzyz{{zz{z{|yzzzz{zz{z{{z{{z{yzzzyyzy{zzz{{{zzz{{yzz{{zzz{{zzz{z{yzyzzy{{{z{{{yzzzzz|{z|{{z{y{{yyy{zzyzzz{{zzzzyzzyzzz{zzz|{zzyxyyzyzzzzyzzxyy{yyzyxzzzzyzz{zzyxyxyxy{zzzzz{zxzzyyyyzzzzz{{zz{zzyzyzxyzzyy{{zyyzyyzxzz{y{zzzyyyyyyyyzzzzzyzyzzyzxyyyy{zzzzz{yxyyxyyyyxzzz{zzyyxyyyyzzzzzzyzyzyyyyzyyyzzyzzzzzy{zyyyyyzyyy{{zyyyyzyyyyyyzzzzyyyyyyxzzyzzyyz{zyyyyyyyyzzzzzzyzyxzxzzyyyyzzyz{zzyzxzyyyyz{zyz{zzyyxzzxyzzzyz|z{zzyzyxyzz{{z{zzzyyyyzyyzzz{zzzz{{yzy{yzyzzzz{zzzyyzzyyzzyzzz{z{zyyzzzyzy{{z{zz{{zyzyxyzyzzzzz{{zzyyzzyzyz{{z{zzzzz{zzyzzyz{zz{|yzzzzyyzyz{zz{{{z{yz{zyyy{{{zzz{zzyzzzz{z{{zz{{{{{zyzzzz{zzz{{zz{zzyyzzzzzzzz{{{{zzzzzyzyz{zzzz{zyzzyyzyxz{zzz{yyyxyyyyyyyyzzzzz{{yzzxxyyyzxzzzzzzyyyyyyyzyyyz{{yzyzyxyzzzzzzzz{{zyzyxxzyzy{yz{yzyyzyxyzyyyzzyyzyyxzyyxzyzy{yxyzzxyzxzyzyzzyzzzyyzxzzyyxzyyyy{yzzyyzxyyyzzzyzzzz{yy{yxyyyzzzzyy{zzyyzyyzyzzzyyzzyyzzyzyyyyyz{zz{zyy{zyyxyy{zzzzzzyyyxzyyyzyyyyyzyyyzyyyzyyzzzyzzyzzzzzyyzzyzyzzzyzyzzzyzyzyzzzzzzzyyyxzzyyz{{zz{{zyyyzyyzzyzzzzzzzzzzzzy{{{{z{{zzyyzzzyz{zzzzzz|{zyzzzyzzzzzz{zz{zzzyzyzzzzzz|z{{zzzzzyzz{zz{z|z{{zzzzzzyz{{zz{z{zzz{zzzy{z{{z{{{{zy{yzzy{{zz{{{|z{yzz{zz{z{zy{z{zyzzyzzzz{z{z{{z{{zzyzzyz{y{{zzzzyzzyyyzz{zzzyzzyyyxyxyxyzzzxz{zyyxyyxyyzzzzzyzz{yyyzyyyyzzzzzzyyxzzzyyyyzzzyz{zyyzzxyyxyzzzzyyzzyyyyyzxyzzzyy{zyyyyyyyyyyzyyyyzyyyxyyxyzzyxy{zzyyyyzxyyyzzzzyzyzyxyyyyyzxyzzyz{yyzxxxyyxzzzyyzyyyyxyyzxyyyyyyyyyyzxxyyyyzyyyzzzyxzyyyyzzyzyzzzzzzzyyyyyzzzzz{yzyyyyxxzzyyzzyzzzyyyyyyzyzyzzzyzzzzzyzyyyz{{zzz{yyyzyyzzyz{zzzzzyzz{zyyyyzyzzzzzyzyzyzzzyz{z{zzyzyzyzyyzyzzzzy{|{zzzzyyzyz{zz{{{zzyzz{yzz{zzz{{z{zz{zzyzzzzzz{|z|{zzzz{yzy{zz{{z{zzyz{y{z{{zzz{{zzyzyyzzyzzzz{z|{z{zz{zyy{zzzzzz{yyyyyyyzzzzzzz|z{zzyyyzyyz{yzzzzzzyyzyyyz{{z{zzyyyzyzyxyyzzzyzzzyzzzyyzy{zzyz{{zzzyxyyyyzzz{zzzzzxzzyyyyzzzzy{zz{yyyyxzyzyzyzzzzzxzxyyzyy{yyyzzyzyyyyyxxzzzyxzzzzyyzzzxyzzy{{zzzyzzyyzyyzzyzzzzyzzyyxzyyzyyzzzzzzyzyyyxxyzzyz{zzzxyzyyyxzzyyyz{zzyzyyyyyzzzzz{{zzyzyzzyyzyzzyzzzzyyyzzyyyz{zzzzzzyzzyyyzzzzzzz{{yzyzzzyzy{z{{{zzyz{zzyxyzzz{yzzzzzzyyyyzzzzzzz{zzyyzyyyzz{{xzzz{zzyzzyyz{zz|{{z{zzy{yyzzz{z{zz{{zxzzzzyy{{zzzz{zzzyzzyzyz{{z{{{{yzzzzyzzzzzz{|{{zzzzzzzzz{zz{z{{zzzz{z{z{{{z{{z{zz{zzyzzz{{z{{|{zz|{zzzz{{z{zz{{zzzxyzzyzzzyzz{|zyzzzzyyy{{zzz{{zzzzyyyz{zz{yzyzywyyyyyxyzzzzyzyyzyyywyzyzyzzzzzyxzyxyyxyzyzyzz{yxzyyyyyyzzzyyyzyyzxyxyyyz{zzzyzyyyyyyyyxzyyxzzzzzyxyxyyzyzyyyzxyyyxxzxyzyxyyyzzyyyyxyyyyxyyyz{zyyyxxxxxyyyyyyzzyxxxyyxxyyyzxzzyyzxzyyywyyzxyyzyyyyxyxyxzyyyzzzyzxzyyyyyzzyyxyzyyyyxyyzyyzzzyzzyyyyyxwyyzzzyzzzyyzzyxzyyzzyyzz{zzyyzyyyzzzzzyzyzyyzxzyyyzzzzzy{yzzyzyxyzyz{zz{{zyyzzzzzxyzyzzzz{yzyyyzzzzzzzz{{zzyzyzyyzzzyyzy{zzyyzzyyyzzzz{zz{zyzzyyzxyzz{z{z{zzyyyzzyz{y{{{z{zxyzyzzyz{{z|{{zzzx{{yzz{z{z{zzzzyzzzzzy{yz{{zz{zzyy{yzyzzyzzzz|zzxyyzyyz{yzzyzzyyyyyyxyzyyyzzy{yyyyzzzxyzyzyyzzxzyyyzyyzzyz{zyzyyyxyxyxyzzzzzyz{zzyyzxxyzzzzzz{yzzzxxyyyyzzzzzzyzyxxxyxyzzzzzzzyyxyyyzyzzyyz{yzzzxzyxyzzyzyzz{{yyyyyyyyyz{yzyzyzxyyxzwz{y{yyzyzzz{xyxxxyzzzyyzzyzxyyxyxzxzyzzz{{zyyyyyyzyyyzzzzyyyyyyyy{zzzzzzyzyyyzyzxyzzzzzz{zy{yzyyz{zyzzzzzyyzzyyzzzz{zyzz{yxyzyxyyyzzzz{zzzyyxyzyyzzz{zzzzzyyzyyyyzyzzz{zz{yzzyzzyyy{{{z{{yzyzzzzyzzzzzzz{zyyyzzzy{zzz{{{zzzzyyzzzz{{{zz|z{|zzzz{zzz{{{z{{zyzzy{zzz{z{z{{z{yyzyyzy{{z{{|z{zzyyzzy{zzzzz{{{zzzzzyzz{zz{zzz{zz{yyzzzzz{z{z|{{yzyyyzyyz{zzyzzzyzzxxyyzzz{yzyyxyyyyyyzyzz{yzzzyzyyyyzyyzzyz{zzzyzzyzyyzzzzz{{{zyzxzzzyyz{zzzzzzyyxzyyyzyzzzzzy{zzyyyyyyz{zz{{zzyyyyyzzzyzzzyzzyyyyxzyyyyyyzyzzzyyyyzxyzzyzyz{yy{xxyyyyzyyzzz{zzyzyyxxxzzzzzz{zxyyzyyzzzzzzz{zyyzzyyyyyyzyzzzzz{yyyzyyy{z{{z{z{{zyyyxzyzzzy{zz{y{zyzyzzzzy{zzzzzzzzzzzyyyzzy{zzzzzyzyzzzzz{z{zzyyzzzyzy{z{{zz{yzxxzyyzzz{zyzzzzyzyzzyzyzz{{z{{zzyzzzzzy{z{{zz|{zzyyz{yyzyyz{z{zyzzyzyzz{{zzz{{{zzzzzzzzzzz{{z{{{yz{yzzzz}{{{z{{{z{zyzzz{{{z{{{z{yz{{zzzz{zz{z{|zzyzzyzzz{{yzz{{zzzyzzzzz{{z{{{{{zzyzzzyzz{{{|{yzzzxyyyyyyzzyyzzyyyyzyxxyz{zyzzzxzzyyxyzyzyzzzz{zyyyyyxyzzyzz{z{zzyyxyyyzz{zyzzzzyyyyyyyzzzyyzy{zyyzyyyyyzzyzyzyyxxyyx{zyyzyyyzyyyzyyzyxzyyzzyyzzyxzyyzyyzz{zzzyyyyzyyxyyyyyzzz{yyyyyyyxzzzyzz{yzyzyyyyzyyzyzyzzzxzyyzzyyzyzz{zzyyyxyzyy{zz{z{zzyyyxyy{xz{zyzzzzzyzzxyzyzzzzyzzzyyyxyxzzyzzyz{{zyxzyyzyyyyzzz{yzyzzzyyyyz{zzzzzzyyzzy{zyzzyz{{z{zyyz{zzyyz{{{zzzzyyyyyzyyzz{zzz{{yyyyzyyz{zzzz{yzyyzzzyy{zz{|{{{y{{zyzzzz|zz{|z{zzy{z{yz{{{{z{|{zz{zyzz{yz{{z{zzzyzzzyz{zy{z{z{|{{yzzzzy{zzz{{{{zzyzzyzyzzz{{zz{zyyyyyzz{zzyy{{{zzzzyzzyy{zzzzzyxyxzyyyyy{zyzzyzyyyyzyxxyzzzzzz{{yyzxzyxzyxzzzzyzyyyyyxyzzzzxyy{zyyxxyzyyyyz{zzzyxyyyzyxyzyzzzzyzyyyzxyyyyyyy{zyyyyyzzxyzyzyzzzzyxyyyxyxyzyzyzzzzyxyxxyxxzyyy{zzyyzyyyyxyzzyyxzyzyxyyyyyyzyyy{zzwyzyyyxyzzxzzzyzyxyyzyyyzyzzzyyzzyyxzyzxyyyzzyzzzyzyzx{zyzzzzzy{yyyzyyyyzz{zzzzz{zzyyxyyzzzzzz{yzyzzxzyyyyzyy{zzyyyzyzy{y{zz{{zzzzzyxzzyzzzzz{zzzzzzzy{yzy{z{{{{zzyzyyxx{zzzzz{{{yzyyzzz{z{zz{{zzyzzyzzzyzz{zzzz{z{yyzzzzzz|zz{{{yyzzyzzzz{z{{z{zzzzyzyzzz{{z{{{z{zz{zzzyzz{|zz{{z{yyzzzx{{{z{zz{zyzyzyyyyzzzz{yyzyzyxzxyzzzzzyzzzyyzzyyyzzyzyzzyzyyyyxy{zzzyz{{{yxyyzzzyzzyzz{yzyzyyyyzzyzzz{zzyyyxyyyxzy{zyyz{yzyyyzzyyzzzzzzzzxyyzyyxz{yxzyyyyyzyyzxyyzyyz{zzyzzxyyyyzyzzyzzyyyyzxyyyzy{y{zz{yyzzxyyyyyyzyzz{zxyyxyyxzzzyyyzzyzyxzy{yyyzzy{zzzyzxxyyxyzy{{zzzyyyyxyyzzzzzzzz{yzyyzyzzzyz{yzz{yzzyzzzxz{{zzzz{zzyzzyxy{z{{z{yzyyyyyyzyzzzzzz|zzyyzzyyy{zzzzz{yzzzzzzzyzz{zzzzzzzzxyy{zz{z{{{z{zzzzzzzzz{{z{z{zz{zzyzzzzzzz{{{zyzyzzzzyz{{{{|zyzzzzzzzz{{z{{||{{z{zyz{zzz{z{z{y{yzzzyzzz{zzz{{{{z{y{{{zzz{{{{{{zzyyz{yzz{zzz{{zz{yyzzzy{zz{{y{zyyzyzyyxyzzyzxyzyxyyyxyxxzzyzyzzyzyyxxxyxyzyzyzyyyyxyzyx{yz{zzzzyzzxxxyyyzzyyyzyzyzxyyyxzxzzyzz{xyyyzyyxyzzyzyyyzyyyyzywyyxyzyzyyyyxyyyyyyyyxzyzywyxyxyyxzyyzzzyyzxzxyxxyyzyzzyzxyyyxyyxyyyyzyyyzyyyyyxxxyyyxzzzxyyyyxzxyzyzz{yzyyyyzyyxyzyzzzzzyxzyzyzzzyzzzz{{zyzyxyyzzzyzz{z{yyyyxzyzzzyyzzz{yzzyzxzyxzz{z{zzzyyyzyyyy{yxz{{yzyzyxyzyzyzzz{zzzyyzzxyzzy{{yzzzyzzzzzzzyyz|zzzzyzyzyxzyzz{{zzz{{yyzyzyyz{zz{zzz{yzzyzz{zzz{{{z{zzzzzzzzy{{{{zz{{yz{zyzz{zz{z{zzzzyzzzzyzz{{{zz{zzzzzzyzz{zz{zz{yzzzzyyzz{z{zz{zzyzzyyzyzzzzz{yzyzzyzyzy{z{yzzzyyyxyyyxxzzzyyzyzyxyyxxxyzyyyzzzzyyyyzyyxzyzzyzyzzyyzxzyxyyyzzy{zzyyxxzxxyzzyzyyyyzyxxzyxx{yyyzzzzyzyyyyyzzzyzzzzzxxyxxxyyxyyyxyzyxyyyyyxy{zzyyyyyyxyyyxyyzzx{yyyyzyyxyxyyzzzzyyyxzyxyyyxzyzyyzyzxyyxyyyxzyzzyzzzyxyyyzyyzyyyzzz{yzyyxxyyzyyyz{z{zyyyyyyyyzyz{{yzyyyyzyzxyzzyyz{yzyzyyxzyyzz{zz{z{zzyyyyyzzzzxz{zzzyzyyyxz{yyyzyzzy{yyyzyz{z{{{z{yyxzyzzzzzyzzzz{yy{yyyyyzzzzzyzyzzyyzz{y{zzzyz{z{yzyyzzzyz{zz|{z{zzzyyyz{{z|{z{z{yzzxyzzz{z{zzz{zzzy{zyyzzzzz{{{{zzzzzyzz{zyy{z{{zyyyyzzyzzzzz{zz{zzzzzyzzyzzzy{yzzyxxyyyzzzyyyzyzyxyxxxyy{zzzz{yxxxxyyxzzzxzyzzzyyxyxyxzy{zyyzyzyzyyyyxzyzzzyzzyyyzxxyyzzzzyzyzyyyzxxyyyyzxzyyxzzyxyyyyyyzzyzzyyyyxx{yxyyyyyyyzwyyxyxxyzyzzyyzyyxyyyyyyyyzyyzzzyyzyxyxxzyyzzzyzyyyyyyyyyyyyyzz{zzyxyyyyzzzyzyzzyzzzyyyyzyyyzzz{zzyyyyyxyzyzzyzzyxyyyxyzzzyzyzz{yyyyyxyyzyzyzzzzzzyzyyzyzzzyz{zzyyyyyyzxyzz{zz{zyzyyyyyyzzzzzzzzzyyzzzyz{{{zz{zzyzzyyyyzz{{|zz{zzyzxzyzyyzzz{z{zzzyy{zzzzzzyz{{z{z{zzzzy{{{z{{{z{yzyyzzzzz{{zz{zzyzzyyyzzzz{{{zz{yyzzy{zzzz{z{{zzzzy{zz{z{z{{{{zzyzyzyyz{{zyy{z{{zzyyyyzzzzzyyzzzzzzxyyxyzzyzzzyzyzyyyyyyzzxzyzyyxyyyyxyzyyyzyyzxyzyyzzyzyyz{zzzzxyyyyxyzy{zzyzzzyyyyxyxzyzyyyzzxyyyyyyxzzxyzzyzyyyyxxyyyyyyzyyyyyxxyyxyzzxyyzzyyxyyyyxyzxzzyyzyyxyyxyxyyyzzzyyyyxyyxyyxyyyyzzyzzyyxyyxyxyzzzyzyxyyyyxxyyzyzzyzzxxxzxzzyzyyzz{zzyyyyyyyy{zyyyyzzyzyxyyyyyzzzzy{zyzzyyzzyzy{{z{zyyyzyzyxzzzzyzzzyyyzyyyxyzzz{yzzzyyyzxyzyzzyzyzzzzzyyzzyyzz{z{zy{yzyzyyyz{{zyzzzzzyyzzxyx{{z{zz{y{yyyzyyyz{z{|zzzyyzyzyzzyzz{{{zy{y{yyyyyzzzzz{zzzzzzyyzz{{z{{zzzzzyy{zyz{z{z{{z{zzzzzzyy{zzz{zz|zzyyzzyyzzz{z{zzzzzzyyyyz{zzyzzzyyzyxxyyzzzzyzy{zyyyyyyy{zzzyyzyzyyxyzyyyyzyzzzz{zxyyzyyyzyy{yyzzyzzyyyyz{zyzy{zyyxzyzxxyyyzzy{zy{xyyxyxyzzzzyzyyxyyyyxxyzyyzzzyyxxyxxyyyyzzzyz{yzyyyyxyyzzyyyyzyyyyxzyyzzzzzyzyyyyyyzxyyzzyyzzzzyyywzzzzy{yzyzyyzzxyyyyyyyzzyzzyyyzzyyw{zzyzz{{xyyyyxyyz{{zz{{{zzzzyyyzzyzzzzz{yyyyyyyxzzzyyzz{{yyyzxzyzzzzz{zzyzyyzzyyyz{zyyzzzzzyzzyyyzzzzzy{zyzyzyyzz|zzz{z{yyzy{yzyz{z{z{{{zz{zzyyzz{{{{z{z{yzyyzyyzzzzzzzz{zzyyzz{z{zzzz|{zzzzyzzzzzy{|z|z{y{yyzyzzz{{zzz{{yyy{yz{z|zz{{z{zzzzzzyz{{z|{z{{zzzzz{yyz{{{z{{z{yyzzzzyzzyzzzzyzyyyzyyyzyzzyyyyyxyyyyzyyyyzzzyzyyyyyyyxyzyzzz{zyyxyyxyxyzzyzzyyzzyyyyyyzyzzyyzzxyyzxyyyzz{yyzy{yyyxyxyxzyxyyyzxzyyxyyyzzyzyzzzzzzyxyyyxyzyyzzzzxyyxyyyxyyzzzyzyyyxyzyxyyyyyzyzzyyzyxyyzyzyzyy{zzyyyyyyyzzzyyzzzzyyzyxyyx{yy{zzzyyyyzyxyzzzzzzzzyyxyyyyyxyzyzzzzyyzyzyzy{zzyyyzzyyzzyyyzzzzzy{yzzyyzyyyyy{z{yz{zzyxyzyzxyzyzzz{{zyyzzyyzzzzzzz{zzyzyzzyy{zz{{{zzzzyzzyyyz{yzzzz{zyz{yyyz{{{z{z{{zzyzyyzy{{{{z{{{zzzzzz{yzyzy{{z{{zzzyzyzzz{z{z{{{yy{yz{z{{{z{z{{zzzzzyy{z{z{z{z{zxzzzzzz{zyzz{y|zzyzyyyzyz{{{{{{zzzyzyyyzyz{zyzzzyzyyyyyzzz{yyzyyyyxxyxxxyyyyyzz{zyzyyzyzzzzzzz{yyyzyyyyyyzzzzzz{yyyyyyzyzzzzyzzyzyywyzyyyzzz{y{yyyzyy{yzzzzz{zyzyzyzyyxzzzzyzzyyyyyzyyyzzyzz{yzyyxzyyyyyyzzyyzyyyyyyyxzzyzzzyzyyyzyyyyxzyzyzzzz{yyyyzyyyyzyzzzyzzyxyyyyyyzzzzz{yxzyyyyxyzzzzz{{zyyyzxyzxzzyzzy{{xzyyzx{zz{zzyyzyyzyzzzxzz{z{{zzzzz{zyyzz{z{{|z{zyzxzyzyzzz{yzzzzyyzzzyzyz{zzzzzzzzyzyzzz{{{|zzzz{yyzy{z{{yzz{{zzzyzzzzy{{{y{zzz{yyzyzzz{{{{{z{{zzyyz{{zz{{{z{{{zzz{zzz{z{{{{z{yzyzzyyyz{z{zz{{zyyzyyzz{zzz{zz}{yyzz{zzzz|{{y|{zzzzyyzzyz{z{z{zzzyzyyzyzz{{{yzzz{zyyzyyzy{zzyzzyxyyyxxyxzzzyxyyzxyyyxxyyyyyzzzzzyxyyxyyyzzyy{{zzzxyyyzyzzyzzyyzzyzyxyyyyyyyzzzyzyyyxxyxyyzzzyyyzzxyxyxyzyzyyyyzyxyyyxyyyyyzyyyzyyzxyyyyyzyyyzzyyyyyyxyxzxyzyyzzyxyzyxxxyyyzyzzyzyyyyyxyyyzyzyzyzzxyxyyxyx{yzzzzzyyyyyzyyyyyzzyzzyyyzyyyzyyyzxzz{yyzxzxzzzyyz{y{zyzyyyyyyzyzzzzzzyzxzyyzyyyyyzz{{yyyyyyywyzzzzz{zzyyyzyzzyzyzzzzzzzyyyyyyzz|zz{{zyzyzyyzz{{z{zyz{zzyzzzyyzz{{zy{zzyzzyzyyz{z{{{|{zzzzzz{zyzzyzzz{{zyzzzzyzzz{{{zzzzzyyyzyyzzz{{{{{yyzyz{yz{{zz{{|zzyzzzyyzzzzyz{zyzzzzyyyzzzzz{z{{zyzzz{yzzz{zzz{zyyyzzyyyyzyzzzzzyyyyxyxz{yyyyy{xyyyyyyyzzzyyyz|zyyyyyyxzzzzzzzzzzzyyxxyzyyzzzzzyyzxxzyyyyyyzzzzzyyyyyzxyyyyy{yzzyyzyyzyyzzyzzzyzyyxyxyyyzyzxy{zxxyyyxyyyzzyz{zyzyzyyzxxzzyyzyyzyyzyyyyxyy{zzy{yzzyxyyyyzyzyyyzzyzyyxyyxyzyyyzzzyxyyyzxyyyzyzz{zzzyyzyyyzzzzyyzzyyzyzzyyzzzzyzyzyzyyyyyy{yzyzyzyyzyzzzyyyzyzzzzzzzyzzzyyz{yzzz{yyyyyyyzzy{zz{zzzzyzyyy{z{{{z{y{{{yzyzyyzz{z{zzzzyy{zzyzyzzzz{{{yzyyzzzzzzz{zzz|zzyzy{zzzy{zy{z{z{yzyzyyzz{zy{zz{zzz{yyyzyz{{{z{zzzzzzy{{z{{z{{{{zzyzzyyyz|{zzz{zzzzxyyzyzzz{{{z{zzzyzyzzz{z{zzzzyyzzyyyxzz{yzyyyzyyyxxyyzzzzyyzxyyyyyyxyzyzyzyzzzyzyyyyy{zyzzzzyzyyyxxzyyzyyyzy{zyyyyyxxyzzzyzyyzyzyyyyyyzyyxzzzyyyyyyxyyzyyzzyyyzxxyyzzyyzzzzzzzyxxyyzyxyyzzzyzyxxxzyyyzyx{yxzzyyyxyxxyxyzzy{z{yyxzyyyxzyxyzzzyyyyxyxyyyzyyyzyyyxyyzyxyyzxyzzzyzzyxzyyyyzyyzyyyyxzyyyzyyzzyy{zzyzyyyxyyyyyy{{{zyyyxyyyyyzzzz{z{zyyzxxyyzzyzyzzy{zzyzyzz{yyzyzyzzzyyzyyyzzzz{{{zzyyzyy{yzzyzzz{zzyyyyyyyzz{zzyzy{yyyzyzy{z{{zz{zyz{zz{zz{|zzz{{z{zzzyzzzz{y{zzzzz{zzyzyyz{z{{{{{zzyyzyyyz{z{{{z{{zyyz{yzxz{z{zz{zzzyyyyyzzzzz{zyzzzyyyyyzyzzz|zzyxyxxyyyyyzyyzyzyyzyzyzxyyyzyzyyzyyyyyyyyzyzxyzzzxxyyxyxzyyzyzzzyyyyxyxyzyzyy{zzyzzxxyyyyxzyyyz{yyzxyyyyxzzyyzzyyyzyyxwxyyyyzzyyxyyyxyyyyyyyzyzzzxxxyxxyyyyyzyzyxyyxxxxyyyzzyzzzyyxyxyxyzyyyzyzyyyyyywxxyyyzzyxyzyxyyyxzyzyyyzyyyyyyxyyy{yzyyzyyyzyxyxyyzzzyyz{zyzyyzyzzyyzzy{z{yyzyyyyyyyyzzzzzzzyzyxyyz{yyzz{zxyxxyyzyzzzyyy{zzyyzzyyzyzyzyzzzzyyyzyyyzyyzzzz{zyz{zzyzyzzzzzz{zyyzzyyzy{z{zzzyzyyzzzyyz{zz{z{zzyzzzzzzz{y{z{zzzzzzzzzzz{{{zzz{{yyzz{zyzzzzz{zzzyzzzzx{z{zz{zz{zyyyzzxzzzzz{zz{yzy{yyyzz{{{yzzzzyyyzyyyzzzzzzzzyyyyzyyyxyzzzzyyxxyyxyyyyyyyzzzzyzyyyxxyyyzyyzzyyyyxyzyxyyyzz{{zyxxzzyyyzyzyyyzzzxyyxzxxzzzyyzyzyyyyyxzxy{xyzyzzzyzyyyxyzyyxyyzzzyyyxyyyzyy{y{zyyxzyyxyxyyxzzz{yxxyyxxwyyyzyyzzyzyyzyyxxzyyzyyzyyxyywxyxyyyyzyyyyzxyzyzzxzzyyzyzzxyyzyxxyyyzyxzzzyyyzyyzyz{yyyzzyyzyzyyyzzzzzyyzyyzxzxyzzyzzzzzy{yzyyzyyyzzyzzzzzyyyyxzyyzzyzzzyzyyyyyyy{zz{zz{zzzyyzzyzzzz{{{zzyzyyyyyyzzy{zzz{zyy{zxyyzzzz{z{zzzyzyyyyzz{zz{zzyzzzz{{zzz{zyz{zzzzzyyzyz{z{zzzz{yzzyyzyy{z{zzzzzyzyzyyzzz{{zz|zzzyzzyyzzzyz{zz{y{xyzyyzyzyzzz{{zzzzyyxyzzzzzzyzzyyyyyzyy{zzzyxyxzyxxyyxyzxyzxyyyyyyyxyzxyzzyzyzyxyxyyyxyxyyzyzzyxyyyxxxyzzzyyyzzyyxxxxwyyyyz{yzyyxxyyxxyyzyyz{xzyyyyyxyzyyyyy{zyzzyyyxxzyyzyyyyxyyxyxyxyyyyzzyyyxxyyyxyyzzzyyyzyyxxxxyxyyyyzy{yyxyyxxxxyzyyyyyzzyyyxyyxyzzzy{yyyyyyzzzxzyyzyzzyyyyyzyxyzzzzzzzyyzzyxyyyyzyyzzzzyyyyyyxxzzzzy{zyzyyyzxyyzzzy{{yzyyzyyxyxy{yzyzzzyzzyyzyz{zyzzy{yzyyzzyxzzzzzz{{zxyyyyyz{zzyzz{z{yzyzyyzzyzzyzzzzyyyyyyyyz{{yzzz{{zyzyzzyzyyyyzzzzyyzyyyzz{z{z{yzzzzzzzyxz{zzz{y{zyxzyzyzzzzzz{zzzzyyzyyzzzyzzzz{yyyyyyyyyzzzzzzzzyzzzyyyzz{y|zzzyyzyzxyzzyzyxzyyzxxxxxyyxyzyyxxzxyyyyxxzyyzyyzzzyyxyxxxyzzzzzzzzyyyyyyzzyzyzxyzzyyyyxyyxzzzzzzyyyzyyxxyyzzzyyyzyyyyzyyyyyyzyxyyyyyxyxyyxyyyzzyzyyyyxzyyyzzx{zyzyyyyxyyxyxyyzzzyzyyyxyxyxyzyzyyzzyyxxyxxxzxzyzzzzwyxyyyxyzzxyyzzyyyyyyyzyyyzzzzzyyxyzywyzzzzzzzzzyzzxyyyyzxyzzzzzyyyxyyzzyzzyzzz{zyyyzyyyyzzyz{zyzyyyyyyyy{{zyz{zzyyyzzxyzzzzzzzzzzyzzyyyyyz{yzzzzyyyzyzzzzzyzzzzyyzyyyyyyz{zzzzz{zzyyyzzz{zzzzzzzzzyyyy{zzy{{{z{zyyzyzyzzzzzz{zzzzzzzyzy{zz{{{{zzzyyzzzyz{z{z{z{zyyyzzyzz{z{{{{{yzzyyzz{zzyzz{|{zyyyyyzzz{zzyzzzzy{yyyyxzzyyzzyyyyzzyxyyyzzzzy{zyzxyyxyyyyzzyzyzyyxwyyxxzyyyzz{yzyzxzyyyzz{zyzzzzyyyyyyyxzzyzzzzyyyyyyyyzzzyyy{zzyzzyxyyyzzyyzyzzyyyyyyyyyyyyzyyyxxyyyzxyzyzyzzyyxxzxyxyyxzxyzzzzyyyxyyxy{zzz{yzyzyzyyyxyyzyyyyyzyxyxzyxzzzzz{y{yzyzyyyyzzzzz{zyzyyyzyyzzzzzzzzzzzyxyxyzzzzzzzz{zyyzxyzyyyzzzz{zyzyzyxzzyzzzz{{zzxyyzyyy|z{zz{{{yyzyyyzyzzzzzzyzzyzyyzyzzz{z{y{{yzzzzzzzzzz{z{z{zyzyyyzz{{y{yzz{zzyyzzzy{{{{{z{zzzzy{zzzzzz{{{{{{z{yzzyzz{{zzzzz{yzzzzyyzzz{z{z{{yyz{{yzzzz{{{{|zzzzz{{z{zzz{zz{zzzzyzzzyyzyz{zzzzzyzzyzzzzzz{{yzyzyyyyyzz{zzyyzyzyyzxyyyzzzzzzyyzyyxyxyzyyzzzyzyyyxyyyxyzyzy{zzzyyyyxyyxyyzyzzzzyyxyxyyzyyzyyzzzxzxyyyzyzzyyzy{zyyyyyxyzzyzyzz{yxyxyyxyzzzyy{zzyyyyxyyyyzzzyz{yyyyzxzxxzyzyyz{zyxyyxyxyzyzyyzzzyyyyxxyxzyzzyz{yyyyyxyyxzzyyzzzzzyyyyzyyzzyzzz{zzyyxzxxyz{yyzzzzyzyyzyyyzzyyzzyzzyyyyyzzzzz{zzzzyyzyyxzyyzzzzzyzyzyzzyyzzzzzzyzy{zyyyxyzzzyzzzzyzyzyzzzyyzz{yzzzzzyyzyzyzzz{y|zzzyyzyyyy{{z{{{{z{yyxyxyz{{{zz{{{yzzzz{zzzzzzz{{{{yzzyzyzz{z{zzzzzyzzyzyyyzzz{zzz{yzz{zz{z{z{zz{{{yyyzzzzzyzzzz{zyzyyyyyyzzzzyzzzzxzzyyyzz{yzyyyzzyzxzyzzzz{yyzxzyyxxzyywyyzzyyzyyxyyxyyyzyzzyzzzyzyywyxy{yyyzzzzzxxyyxzzxzzyxzzzyyxyxyyxyyzzyzyzyyxyyyxzyyzyzzzxyyyyyyzyyyyyyyzyyyyyxxyyyyzzyyzzyxyxxzxyyyyyyzzyyyxxxyy{yyzyyz{zyyyyxzyyz{zyzyzxyyxyyxyxyyyyyyzyyxxxyyyyyyyxzzzyyxxzxyyxyzyzyyyxyzyyyyxzzzyzzzz{xyzzyyzyyzzzyyy{yxzyyzyyzzzyy{zz{yyyyyyyyzyyyzzzzzzxzyyyzy{zzzzzzyyyzyxzyz{zyzyzyyxzzzzyyyzzz{z{yzyzyyzzzzy{zzz{zyxzyyyyy{z{zz{zzyyyzyyzzz{zzz{{zz{zzyzzyzzz{{z{{yzzyyzzz{{{zz{zzyzyzyzy{zz{zz{zzzzyzyzzz{zyzzzzzzzy{zxz{zz{{|zzzzyyx{yzyzyzzz{z{zzyyyyyyzzzyzzzyyzyyyyyzyzyzzzzyyyyyxyxyzzyzzzyyyyxxyxyzzyzzyyzzyyyyyzyzyzzyzzzyyyyyyzyyzzzyyzzyyzxxyyyyyz{yzz{zyyxyxyyxzyzyzzyyyzyyyxy{yyyyyyyxyxyyyyyyzzzyyzzyyxyyyyyyzzyyyzyzxxzyzyyyyzzyyzyzyyyxyxyyyyzyzzyyyyyyxyxyyyyyzy{zzyyyyzyyyyyyzzyyxyxyyyxyyyzyyzzyyzyzyzyzzzzz{yzyyyzxxzyzzzyz{zzzxxyzyyy{{zzzzzzzyyyyxzxz{yyyzzzyzyzyyyy{{zyzz{zzzyzyyyxzyzzyzzzzzyyyyyzzy{z{z{zzzzyzzzzzyzzz{zyzzzyzxyyzyzzz{z{zyzzyxyz{z{z{z{{yzzzzzz{zzzz{z{{zyzyyzzyz|{{{z{{zyzzyy{z{{zzz{z{{zzyzzyzy{z{zz{zz{zzzzzzz{z{z{{{yzzyzzyzzzzyz{zzz{zyyyyzzzzzz{zzyyzyyyyxyyzyzzyyyyyyzyxyy{zyyyyyyxzyyxyxyzzzyyx{zyzxyyyyzzyyzz{zzyxxzyxyy{zz{y{yyyyyyyyxzyzyzzyzyyyyyyyyxzxyzyzzyyzyyzyxyyzyyzzzzyzyxyzyyzyzyzyzxyyyyxyyzyyxzyzzxxyzyyxyzyzzyzzzyzyxxyxyyyzxzyzzyzxyzzxxwyyyyzzzzyxzyxyzyzxyxzzyyyyyxyyyzzyyzzyzyyxyxyyyzzyz{yzzzyzzxzzzz{zyyzzzyyzyyzzzy{zzyz{zzxyyyyyyzyz{y{zyzzzyzyyyyzzzzzz{zyzyyxzyzzzzyzzzyyxyzzzyy{zzz{zzyzyyzyzzz{{zy{zzzz{zyzyyz{zzzz{zyyyyzyyyzzzzz{{{yzzzyzzzzzzzz{zzzzzzz{yyy{z{zzzzzzyyzyzzz{{{zyzzzyyy{zzz{z{{{zz{zzzzzzyzzz{zz{zzz{zyzz{zyzy{z{{zzzyyzyyzyyzzzz{zzyzyyyzyyzyzyzzyyxxxxwxyyyxyyyyzyyxyxyxyyzyzz{z{yxyyyyyxyyyyzyyyyxxzxyyxzzyzyzzzyzzxyxyxyzz{zzxzyxyyyyyxyyyxyzzzyxzxyzxxyzzyyzzyzxyyxyxyyyyzyzzyxzxxxyyxyyyzyzyyxxyyxxxyzyyyzzzzyyyyyyyxzzxyzzyzyyyyyxxyyyyyyyzyyyxyxxxyy{yxzzzyyyzxzyxxyyzyzyzzzyzxyyyyyzzyxz{zyyyxyxzyzyyzyyzyyzyyxxyyyzyzzyyyyyyyyxzyyzzzy{zyzyyyyyyy{zzzzzzzyzyyyyyzzzyyyz{yzzxxyzzyyy{z{zzz{yzyzzzyzyzzyzzzzyyzyzzyzz{zzzy{zyzzzzyyz{zzzzzzzzzyyzzzz{zz{{zzzzyzyzyyy{z{{z{{{yyzzyzzzz{zyzzzzxz{zyyzz{zz{{{|zzzyzyyzzzzzyz{zzzzyyzyyzzzzz{zyzz{zzxyyy{zzzyzzyyzxyyxxyyyzyyzxyxywyzyxxyzyzyzyyxxxyxyyyz{yyzzzzxyyyxyyzyyyyzzyzyyyyyxyyyzyyyzyyyyyyyyyyyyzyzyyyzxyyxxxyyyyyyzzyxxxzzxzyyzyxyzyxxywyxxyzyyzzyyyyxwywyyyyyzyyzzyyxxwxyyyyyyyyyzzyxxxxxyyyyyyzyzzyyyxyxxxxxxyyyzzzyyyxyzzzzyyzzyyxyyyxyxyxyzzyzyyzyyyyyzyzzzyyy{yyyzyxyzyyyzzzyy{zyyyyyzyzzzyzzy{xyyyzxyyyzzyyzyzyxyyyyyyyz{y{zzyyyzyzyzxzzz{yzzyzzyzyzyyz{yzyzzzyyyyyyzzzyzzy{z{zyyyzyyy{{zzzzzzzyyzzyyzz{yzz{z{zyyyyzyyyzy{zzzz{yyyzzzzy{zzzyz{{yzzzzzzz{zzyz|{{yyzyzyyzyzzz{{zzzxzzzz{yzz{z{{{yxzxyyyyzzzzzzyzzzyyxyxxy{zzzyzzzyyyyyyxzyzz{{yzzyyxxyxyyzzzzzyzxzxxzyxyyxyzzy{zzyyzyyy{yyyyzz{yyzyyyzxxyzy{yzzyzxyxxyyyyyyzyzzzyyzyxyyyyyzyyzzzzyzyzxyyyyzxzyzzyzzxyyzxyyyzzzzzzyyyxyyzyyzyzzzyzyxxyyyyyyyy{zzzzyzzyxyzzyzyzy{yzxyyxyyyyyyzxzzzyyzwyyyyyyyzzz{zyyyyyyyyyzyyzyzyyyzzyyyyz{zzzzzzzyyyyyyyzzzzzyy{zyzyzyzyyzzzzy{yzyzyzyyxzyzzzzzyzyzyyyzzxzzyyzzz{zyyyzyzz{{z{zzzzzy{zzzzzzy{zzz{zzyzzzzy{zz{z{{|yzyzzyyzyz{zzz{z{yyzzyzyzz{{{{{zz{zzyzz{zzy{{zzz{zzzy{zyz|{z{{{zzzzzzzzzzzzzz{zzzyzyzyzz{z{z{z{{{yyyzzyzyz{yzzzzyyyyyzzyzzzyzzz{{zyzzzzzz{zyzyzzzyyxyyzyzzyyxzy{yyyyyyzxzzzyyzyzzzyzxxyyyyzy{zzzzyyxzxzyyzyyzzyzyzyyyxyzy{yzyy{yyzyyxxyxyyzzyzzzxzxzyyyywzyzzyzzzyzyxxzyzyzyyzyzyyxyyyyzxyzz{zz{yyyyyxzyyyzyyzzzzyyyxyxxyyzyzyyzxyyzyxxxyyzzxzzzyyyxyyyxyzyyyzzzzxyyyyyyyzzzy{zyyxzzyyxyyxzzz{{zzyxyyyyyyzyzy{{yzzxyyyyyyzzzz{z{yyyyyyyyzzzzyz{zzzyyxyzyy{z{zy{zzzyyyyyyzzzyyz{zzyyyyxzyyz{zzyzzzzzy{yyyy{zzz{{zyzzyyzzyzzz{{y{zyzyy{zyyzzzzzy{{{zzy{zyyzzzzzz{{zzyyzz{zz|zzzzzz{xzzzzzzz{yz{z{{zyzzyyzyzz{{z{z{zyzzzzzzzyy{z|{{zzyzzzzyzzy{{{z|zyyyzyzyyzyzyzzzzzyzyyzzzzyyzzzyzyzyyyyy{zzzzyyyyyyxxyyyyyzy{zzyzxywxyyzzyyyzzzyzyyxyyyyzzyzyz{yzyyyyxxzzyyzyyyzyxyyyyyxzyyyzzzzzxyyzxzyyzzyyzzyzyyxyyxyzyyyyxyxyyyxyzyyyyyyzyyyyxyxyyyxxyyyzzzzyyyxxywyyyzxzyzyzzyyxyyxyzzzzzyzyyxxyxxxyyyyyyy{yyxxxyxyyzyzz{zzzyyyyyxxyyyyzzzzzyyyyyyyzzzzzzzzxzyyzzyz{yyz{yzzyyyyyyyyzzyyyzz{zyzyyyxyyzyyz{zzzyzyyyxyxzzzzyzzyyzyyyxyzyyyzz{{yzzxzzy{{zzz{zzzyzzzzzzyzz{{yz{{zyzzzyyyzzzz{{z{zzzyyyyzz{{zz{{{zyzzyzzzz{zz{{zz{{zyyzyzz{{{zzy{zyzzzyzzz{{zz{zzzzy{zyyzzzzz{{{{{yzy{zzzzzz{z{{{z{zyyyzyyzzzzzyzyyyyzyyzzz{yzz{yyzzyyxxxz{{y{{yxyyxxzyyxyyzzzxyyy{zyyxyyzyzyzyyyzyyyxyxwzyyyzz{yyyyxyyyyzyyzyzzzyyyyyyyzyzyyyzyyxxyyyyxyyzyzyzyzzyyyyzyzyzzyyyyyxyzxyyzyzyyyyyyzyxyxyxxxyzyzzyzyzyyzyxxxyyyyzzyzzyyxyyxyzyyzyyzzyxxyzyyyyyyxzzyzzyyxyyyxyzxyzzzzyxyxyyxxyxzyyyyzyzyyyyzyzzzyyzyzzyyyxxyzzyzzzzz{yyyyxyyyzzzzyzzzzyyzyyzzzzyzy{yz{xyyzyyyzzzzzy{zzzzyyyyyyzzzy{zzzzyyy{yyz{zzzyzzzzy{yyzz|zzzzzyzyzyzyyyz{zy{z{zz{zzzzyzyz{zz{zzzzzyyyy{zyyyzzz{zzzyyyzzy{zz{{{{z{zzzyzzzzzzzzz{{zxzyzzyzzzz{zzz{{zyyyyzy{zz{z{{z{zzyyyzyzzyyy{{z{zyyyzzyy{x{yzzyyyzxyyyzzyyzzyxyyyyyxyyyzyz{yy{yzzyyyyyzzzyzzzzzyyyxyxzxyzzyzyy{yyyzxyxyzyyzyz{zzyyxxyyyyxzyzyyzxyyxxyxxxyyyzzyzyyxyyxyzzyzyyzyzxwyxxyyyyyzyzzzzyyxyyxyxyz{zyyzzzyzyxyyyyyzyyzzzyxyyyzyxyzxzyzy{zxyyxyyyyyyzyzzyyyxxyyyxzzyyyzzzzxyyxyxyyzyyzz{zyyyyyxxyzzzyyzy{yy{yyyzyzyyzzzz{yyzyyzzyzyzzzzzzyyzyyxyzyzzzz{zzzzzyyyyyyyzyyyzyyzzyyzyyzzzyyzzzzzzzyzzyyzz{zzzzzyyzyzzyzzzzz{zzzzyyzzzyzzzzzzzz{zzz{zyzzzzzyzz|yz{zyz{zzzzzzz{{zyzyz{yzy{zzzz{{zyzzzz{zzz{{zz{z{yzzyzzz{zzz{{{{{yyyzzx{z{{{zz{{zyyyzyzzy{{zzz{zzzyyyzyxzzz{zzzzyzyyyyyyzzzz{yyyyxyxxxyxyzyzzzzyyzxyxyxyzyzzzz{zyxyxxyyyyyyyyyzzzxyyxxyyyzzzyyzzzyyyyyyxzyzzyzzzyxzyxzyzxzyyyzzzyyyyyxyyyyzxyzyyxyyxyyxzzzyyzyyzxywyxyxxzzyyzyyyyyxyyywyyyyxzy{zzyyxyyyxyzyzyyzzyyyyzyxxyyzyyzyzxzzyyyyxxzyzyzyxzyxyyzyxyyyyzyzyzyyzxxzxyzzzzyz{yxzzyxyyzzzyxz{zyxyyxyyyyzzyzz{z{yyzyzzyyyyzzzzzzxzxyzyyy{zzzzz{zyyzxzxyzzzzyzzzyyyyyyyzyzzz{zyzzyyzzzzyyyzzyzz{zyyzyyxyz{zy{{yz{zyyzyzyzzz{{z{zzzzyzyyzzzz{z{zz{yyyyzzzz{zzz{{z{zzzzyz{zzz{z{zzzzyyyyzzz{yz{{{{zzyyzzzzz{zyzz{{zzyyzxyyy{zzzy{z{yzzyzyxzz{zz{zy{yyyyzxxzzyzzyyzyyxxyyyyy{xzzyzzxxyxyxyxyzzzz{yzyyyxxyyxzyyyzzyxzxyyxxxzxzz{yyzyyyzyxxxxyyyyxzzzyyyxyyyxzzyzyyyxzyyyyyxxyyyyyyyyyxywxzxxyyxzyzyyyxzxyyyyyzyzyyyyyxxyzyyxyyzyyzyzzxxyyxxxyzyyyzzzyyyxyzyxyyyzyyxyyyyxxxyyxy{zyzzzyyyyyxxzyxzzyzyzyxxyzxzzyzzzzzzzyzyyyxzyzyzzzyyzyzzxxzzyyzzyyzzyzyzxxyyyyzyzzzy{zyzyyyzyzzzzzzzzzxyzyyyyzyzzxzyzyzyxyzyyzzzz{y{zyzyzyyyyyzyzz{zzzyyyzyzyzzzzzzzzzyyzzyzy{{yzzyz{yyzyzzzyzyzzzzzz{yyzyyyzy{zzz{{{zzzyyyzzyzzyz{yzzyyzzzyyyzzz|z|{yzy{yyyz{zz{zyzzyzyxyyzyzyz{y{{zzyzyzxyzzzyzyzzyzyyzyyzzzzzzyyzyxyzxyxxyyzzyzyyyyyxxwxxyxyyyzyyzyyyxxyzxxzyzzzzyyzyxxyyxxzyyyyzyyzyxxxyyyyyyyyyzyyxyxxxxyyzxyxyyxxyxyzwyyy{yzzzyyyxxxzxyyyyzxzzzxyxyyxxxyy{yyzzzyzyyxyxyxyzyyyzyxyzyxxwxyyyzyyyyxyxyyxyxyxyxzzyzxzyyyyxxyyxyyzyyyyyyxxyxyyyzyzyyzyxyyyyyzyzyzyzzxyyyxyyyyzzxyzzyzyzyxyyyzzyzz{zzyyzyyzyxyzzzzzzzyyyyxyzz{yyzyzzyyyyyzyyyzzyyzyzyyxyyyyyyyz{zyzz{zyyzzyxyzyzzzzzzyyyyyyzxzzzy{zxzzyyyyyyz{zzzz{zzzyzzyy{yyzzz{{zz{zzyyzzyyzzzzz{{{yyzyyyxzz{zzzz{zyyyyyzzzzzy{zyzzzyyzyzyyzy{z{{yyyyyyyyzzyyzy{{{yyyzyyxyx{zyyyzyxxyxyzyyyyzxyyxyxyyyyyyxyzzyzyyzzxyyxxyyzzzyyyyyyzxyyyyyzyzxzzzzxyyyyyxyyyyzxyy{xyyxxwxwyyzzyzz{xyyxyyywyyyyyzzyyyyxxyxyzyyyxzyzyyxwyyxyyzzzyyyzyyyxyxxyyz{yyyyyzxyyxxxxyzzxyzzzyyyyxxyxzxyzyyyzxyyxxxyxxzyyyxyyyyyzyxyyxyxyyzyyyxyyyyyxzzzzzzzzyyyyyyyyyyyyyzzzyyyyyyzzyyyyzzzzzyyyxyxxyyyzyyzyyxyzzyxyyyzyzzzz{zyyyzyyzyzyzzzzyyzyyxzyyy{zyzyyyyyzyyyzyyzzzz{yyyyz{zzyzzzzy{zzyzzxxyyy{{{zz{{zzzzzzyz{y{{zz{{zyzyyyy{z{yzzz{{{zzyzyzzz{{zzz{{zzzyzyyzz{yzzzzzz{zyzyyyz{zy{z{{{yzzyyzyz{yz{{{zyzyyzy{zzzzzzzz{yzzyzyyyyyzzzxz{yxyxyyxyxyzzxzzzyxxxxyyyxxzyyyzzzyyyxyxxyyyyyzyyzyyyyyyyxzyyyzyzzyxxxyyxxzyyyyyyyyywyxxxxyyyyyzxyyxyyxyxxyzyyyy{yxyyxyxxyyyzyyyzyyzzxyyyyyyzyyzyyyxyxxxyyxzyxyyzzxyxyyyxyyzyyyyxyxyyxzyzyxyzyxyyzyyxxzyyxyyyyyyyxyzxxyxzyyyyz{zzzyyxxxzyxyyyzzzzzyzyyzyyyzyzyy{zzzyyyyxyyyyyzyzzyzyyyyyxyyzyyyzzzyzyyyyzyyzyzzzz{yyyyyyyzy{z{zzzzyyyyyxyyzzzyzzzzyyyyyyyyzzz{z{zyzzzyzzyyzyzzzzz{yyyzyyyyzzy{zzzyzxyzzyyyzzzzz{{zzz{zyzyxzzzzzzzzzxzzzyyzyz{yzz{zzyyzzyzzzzzz{yzz{yzyzzyzyzyz{{{{yyzyzyyyzzyzzzyzyzyyyyyyzyzzyzzzzzzyxzyyyyyzzyzyxyyyyyyyyzzyyzyyyyyzxyyxzzzyzyzzyxxyyyxyyy{zyzzzyxyxxyyyyzyyz{zy{xxzyyzyyyyzyyzzyxyxxyzxyzzyyzzyyxyxyyyxzyzzyzzyxyzxyyxyzyyzyzyxzxyxyyyyyyyyyzzzyxyyyyyxyyzyzzzyxyzyxyyyzyzzy{yyyyzyxzyyyyyzzyzzyxyyxxxyyzzxyy{yyyzyyzxyzzzyxzyyyyyyyyyyzyzyzy{{yyyzzyyzyzzzzyzzzyzxzyxyyyzyyzzzyzxyyzyyyyyz{yz{yyyyzyyyyz{yzyzzzyyyyyxyz{zzyzzzzyzyyzyyzzyyzz{{xyyzzzzzzyzzz{{zyyyzyyzyzzy{zzzzyyyzzyyyy{zzzz{z{zyzzyyyz{{z{{z{yyzyyzzzz{zyz{{{zyyzyz{yz{{{{z{{{yzzyzzzz{zzz{z{{xzzxyxyy{z{z{zzzzzyz{zy{zz{{{{z{yzxzyzzzyzxzy|zzzyyyyzyz{zyyzzzzyyyzxyyzzzz{zzyyyxxxxzyyzzyyyyzzxxxxyxxzyzzzyzzyyyyyzxyzzzyzy{yzwyyzyyzyzzzyyzzzzxyxyywyzzzzzyyxyyyyxyyyyyyyyzzzyyxyxxyyyyxyzzzyyyyxyyzzy{yyyyyyxxxyxyyzyxyzzzxyxyxxxxyyyyyyzzyyyyxxxyxyzyzzzzxzyxxzzxxyzyyzyzxzyyyyyxyy{yyyzyzyyyyyyyx{yyyzzyzyyyyyxyzzyzzyyy{yzzzyyyyzyzyyzz{xxxzxyyyyzz{{z{zzyzyyyxyy{zyzyzzyyyyyzyyy{y{zzzzzyyzyzzyzzzzzzzzzzzyyzzyz{{z{z{zyyzzzyzyz{zzy{z{{yzyzyyy{zz{{zzzzyyyyyzz{{zyzz{zzyzzyz{yzyzz{zzz{yzzz{zzyzz{zz{zzzzzzzyzzz{zzz{zyyzzzzzz{{zz{zzzzzyzyyy{zzzzzz{|zzzyzxzyz{z{zzzz{yyzyzyyzzyzzz{yyyyzyxyyzzzzyzyzyyyyyxyxxzzyzyyzyyyxyyyxxzyyzzzyyyyyyzxxzyxyzyzzzyyyxzyyyy{zyzyzyyyyxyyxzyzzzzyyyxyxxxyxyyzyzzzyzyzyyyyxzzzyyyzyyyxyyxxyzzyyyyyzxyyxyxyxyyyzxzzyzxxyxyyzxyzxyyzxzxzyyyxyxyyzxzzyxxyyywyxxyzzzyyyzyxyyxyyxzyyzzzzyxyxyzxyyzzzyz{yzyyyyyxyzzyyzzzzyyyzyyzzzyzyxzyzxyyyyyyyzzyyyzzyyzxyyxyxyyzzyzzzyyyyyyyxzyzzzzzyzyyyzzzzyzyzzzz{zyzzyyzzzzz{{yz{yyzyzzzyzzyzz{{{yyzxzyyz{{{{{z{{zxyzzzzyzzyz{{|z{zyxyzzyz{yzz{zzzzy{yzzy{{z{{z{{zzyyzyyyz{zzz{zzyyyyyyyz{zz{zz{zzzzzzzz{zzz{z{{zzzzyyzyzyzyzzzzzzyzyyzyxzzzzyzzyzyzxzyzxxzyzyzyyywyxyyxyzyyyzyzzzzyyxxyy{zzzzyzzyyyxyyzyyzzzzzzzyyzyyxxzzzzyyzyzzzxxyxyyyyyzyzzzxyzyxyyxzzyyxz{zyxyyyyyyyyzzyzzyzyyzyyyyyyyyzzzyyyyyxyxxyzyxyyzyyyyxxyzxyzzz{zzyzyxyxxzxyzzzyz{zyyyzzxxxxyyzyyz{yzyyyyxyyzzyy{zzzyxyxzyxyyzyyz{zzyyzzyyyzzyyzzzzyyzyyyzzyzzyzyz{yyyyyzyyyyzzzzzzyyxxxzyyyzyz{{zzyzyyyyyyyz{zzzzzzyyyyzxxy{zyz{yzyyyyzzzzzy{{z{{{zyyzyyzyzzzzz{{zzyzzy{yxzzy{zz{{{yzyyzzyzzzzzyz{yzzzyzzyzzyzz{zz{y|zyzy{y{{{yzzz{yzyzzyy{{z{zzz{{yyy{z{{z{yz{{z{zzzzzyyzzzz{{z{zzzzyz{zyzzzzz{{z{yzzyzxyy{zzzzzzyyyyyzzyy{zzyyzyyxyyxxxxxzzzzxzxzyyyyyyyyyyyzzyzyyxyyxyxzzyzyyzzyzyyyzxyzzyyyyzyyyyyyxyyyzyyyzz{xxyxxyxyyyyyyzyyzyyxxyzxyyyyyyyzyyyyyyyyzyzyyyzzxyxxyxxyyyzxyyzyxyzyxyxxxyzyzyzzyyzyxyyxyzyzyyyyyxyyxxyyyyyxyxzzzxyxyyyxyyxyy{zzyyyyyyyyzzz{yyyyyyyyyyyyyyzzyz{zyyyxyxyxzyyyxyzzyxyxyyyyzyyyyzzyyxzzyxzyxzyz{zyyzxxyyxxyyyy{zy{yyzzyyzzzy{yyyzyzyzzzzyyyzz{{zz{yzzyyyyyzzzzzzzz{zzxzzyzyy{y{zzy{zyyxyzzy{y{zzzyzzyyyzzzyzzz{zyzzzy{yyzzzzzyzyz{yzyzzxyyyyzzzz{zzzyyyzyyzzyzzzz{zzzyzyzyzyz{zzz{{yzyxzyyyyzzzz{zzzyyyyzyzzyzzzzzzzyyyyxyyzzzzyzyyyyxxxyyxxyyyzyyzzyxyyyyyyyyzzzyyyyyxxxyxyzyzzyzxzyyxzyxxyzyyyyzzyyyyxxyyyxyzyyxzyxyxyyyxyyxyyyyyyyyyyyxyyxxyyy{zyyxxxyxyyyyyyyzyyzyyxwyyyyzzzzzyxyxywyxxyyzyzyzzyyyxxxxxzyzyyzyzyyxxxyxxyzyyyyyzyxxxxxyxyxyyz{zzyyyyxyyxzzyyyyyyyyyyyxyyyzzyzzyzyyyyxxyyzyyyyyzzyyzyyyxxyzyyzzzzyxyyyyyyy{yyyzzyxyyyyyyxzzyyyyzzyzyyyyxxzzyyyzyzzzzyzxyyyy{{{{z{yyzyzzyyzzz{zzzzzyyyyzyxzzzzzzzzzxzzzyyyzyzzzzzzyyy{yyzyyzz{zzzzzyzyyyzzzzzzzz{zzy{xxzy{{z{yzzzyzzyyyzyzzzzzzz{{yyzzyyyzzyz{zy{{zzyyyyyyyzzzzz{yyzzyxyzyyyzzz{zzxyyyxwxyzyyzyyzzxxxyyyyxyzzyyyzyyyyyyxxyyzzxyzy{xxyyyxyyzzzyxyzzyyzxxyyyzyzzxyzzyyyyxxxyyzyxyzxzyxyyyyyxzzyyyyzzyxyxyxyyyyzxyzzyyxyyyywyyyxzyyyzyyxyyyyxxzzzyyyyzyyyyxyyxxyy{zyyyxyyxzyxxzzzyyzyyyyyxyyyyyyyzyzzxyxyxyyyyzzzyzxzyxywxxyxyyzyzzzyzxyxyyzzzzzzzyzzzyxyyyyyyzyyyzz{yyyxyxyyzyyyyz{zyyzxzyyxxzzzy{zzzxyxyxyxyyzzzy{zzyzyyyyzzz{yy{{yyzyyyyyyyzz{zzzzxzzxzzyyzzz{z{{zzzyzzyyyzy{{zzzyyyzyyxyyz{zz{zz{zyzzyz{zzz{z{zz{zzyyyzxzz{{zzz{zzzzzyzzyzzzzzzzzzyyyyyzzyzyz{yzz{zyzz{zz{zzzyz{zyyyxyxzzzzyyzz{yzzzzyyyyzzyyzzzzzyzxyzxxz{zzzyyyxxxyyxxxyzzyyxyyzxxzxxyyyyzyyyzzyyyxyyxzzyyzyzzyzzyyyzyyyyzzyyzxyyxwwxyyyzyyyyyyzyyyxxywyyyyxyzyxyxyxyyyzyyyyyyzyxxyxzxxxyyzxz{yxyxxywxyzyyyyyyyywxxxxyyyzzyyzyzxyyyxyyyyyyxzyyyxxxyyyxxyzzyyzyzyyxwxyxxyzxyyy{zyyxyzyyxzyzzxyzywxyyyxxxyyyzyyzzyyyzyxxyzzyzyzzzyyzyyxxyzyzzzzzzxyzyyyyyyyzzzyzzzxzzxyxxzzzyxz{yyyyyzxyzzzyyzzzzzxyyzyyyyzyzzzzzyzzyzyyyzyzzz{zyyxyyyzyyzzzzzz{zzxzyyzyyzzyyzzzzyyyyzyzzz{zy{{|zzzyyyzzy{zy{zzz{zxyzyzyyzz{z{z{zzyzzz{xyzzzzz{zz{zyxzyzyzzyzzzzyzzzyyxyyy{zz{z{z{zyzyzzxz{yzzzz{zxyzyyxxyzzyyxyyxyyxywyxyyzyyxyyyyxyxyyxzyyzyyyzzywyxyyx{yzyyy{yyxyyyxxyyyyzyyzzyxxxyxxxyyzyyzyyxyxyyxxxxyxyzyxyyxyyyxxyyxyyyyyyyyyyyyxyyzxyzxyywyxyxxxxyxyyyzzyzxxyyxxyyxzxzyyyyyyxxyyxxyxyzzzxxyxyyyyxyyzyyyzyyyxxxyxyyzyyxzyyxxyxyywxyyyyyyzzzyyxywxyyzyyyyyyyzyyyxyyyyyyyyzzzxyxyyxyyxyxyyzzyxxyzxyyy{x{zzzzzyxyyyyyxxyyyyzzyyxywxyyy{yzzzyyzyyyyxyzyzz{zzzzxzyyxxyzyyzzzyzzzyzyyxyyzzyz{{zzzyyyzxyyz{zz{zzyyzzyyyxyyzzzzz{z{zyyyyyyyzzzyzzyzyyzyyyzzzzzzz{zzyzyzyyzzyzzzyzzzzyzzxyzzyyz{yzzyxyyxyzxyzyzzyyyzyyyyxzx{zx{yzzzyzzzxxyxyy{yyzyyxyyyyxxxyzyxyzzzxzyyxyxyzyyyyyzyzyxxyyyxyyxyy{yzzyzyxxxzyyyzxyyzyyxwyyyxyyyyyzyyxxxxzxyxxyyyyyzyyxzyyxxyxzyyyyyzyxyxzxxxyzyxzzyzyyxywyxxxyyyxyyyyxxxxyyyyyxyzyyyxxyyxyxxzzyzyzyzxxxyxyyyxxyyzyzyyxxyyyyyyyyzzzyzyyzyyyyxyzyxzy{yyyxyyyyyxzyzyzzzyyyxyxyyyzzyzzyzzyyxyzxyyyzyyyzyzyzyyxyyyyzzzzzyyyzxyxxyyzyyxyzyyxyyzzyyyzzyzzzzyyyyxyyyyyyzzzzzyyyxzy{xzzyzyzzzzzyzyyyyzzy{{zzz{yyyyzzyyzzyzz{{yyzyyyzyzz{zzzzzzyxyyzyyy{{z{{z{zyzzyyzzzz{yz{zz{xzyzyyyyzyyzz{zyxyyyyyyzz|{zz|{zzyyyyyyzzzzzzz{zyyxyxyxyyzzyyzzyxzzxxxxzzzzyyzyxxxxxxyxyzyyxzzzzyyxxzywzyzyyy{zzyxxyyzxyyzzzyzzyxyyxyxxzyyzzxyzxxxxyxyxyzxzzyzzzxyyyyxxyyzyyyyzyyzyxxyyzy{yyzy{wxzxxyxyyyyzyzyxyyzyyxyxxyyyyyzzxyxxxxxyyyyzyyyzyxyxxyyxyyyzyyzzyyyyxxyxy{yyyzyyyyywyyyyyzyyzzyzxyyyyyyyzyyxyyyzyxxyzxyxyyyzzyyzzxyzzyyzyzzzz{yzyxzzxyyyyyzyyyzyyzzyzyzyyzzzzzy{zzxyzyyyzzzyyzzzyyyzyzzyzyzy{{yzyzyyzzzzzzyzzyyyyyzyy{zyzzy{z{z{yyzzzyxyzzzzzzzzzyyxzzyy{zzzzzzzzyzyzyzyyzz{z{zzzz{zz{zyzz{z{{{zyy{yzyzyzzz{y{{zzxzyzzyzzzzyzz|zy{yyzzzyzzzzzz{zzzzyyzyyzzzzzy{{zyyyyzyyyzzzzzzzyzzyyyzzzzzyzzyyxyyxyxxwxyyyyzzzyyzyxxwxyzyzzzzzyyxwxyyxyzyzyyzyyyyyyyywzyzyxyy{zyyxyyyyyyyzyyyyzyyxxyyxyyxzyyyyyxyyyyyyyzzxyzyyyyzyxxyyxyyyyzxyxxyyxwyyyzzyzzyyywyyxyxxzxzyzyzxyyzxxxxxzyy{xyzzyyyxxxxyyyyzyzzzyyyyxyyyyyyzzyyyzxyxyyxwxyzyyyyzyxyzyxyzyyyyyzzzyxxyxxyyyzz{xyz{yyxyyyxyyzzzzyzzyzyyzyyyzy{zzzyyyyyyyyyzxzzyyzzzyyyyxyyzyzzyyzyzyyyyxzyxzz{zy{zzy{yyzyyzy{yz{{z|zzyyyzyyyzzyz{zzzyzyyyzyzzz{{z{zzyy{zyzzzyyzz{z{zzyyxzyzz{zzzz{zzyzyyyyzzzz{|zzyzzzzyxyyy{z{zz{zyzzyzzyyzzzzz{zzyzzyyyyyzyzzzzzzzzxzzyyyy{z{zzzzzyzyyxyxyxzyzyzyyxyxyxxxzzyyyyzyyxyxyyzyzyyyyzyzzyyxyxyyyyyzzzzyzxzxyyxzyzyyyyyzxyyyyxyyyzzyyzy{xxyxyxyxyyzyxyyzyyyxxyxxzyyyyyzyyxyxyyyyyyyyxyzyyyyyxzyxyyyyyzyzyyyyxyxxyyyyzyyxyxyyxxyxyzzyyzzzzyyxyxyyxyzxyzyyyyywyxxxxyyzz{z{yyzyyzyxzyyzzyzyyyyyxyzyyyzzyyzzyxyxyxyyyyyzzyzyyyxzyyxyzyzzzzzzzzyzxyzyzzzyzyzzyxyyzyxyzzzyyz{z{yyyyxwzzzyzyz{zzyyxxzyxyzzzyz{zzzyzzzzzyzxzzz{{zyz{yyyzz{zzz{zzzyyyzyzzzzyyzzzzzzyyyyzyyzyz{{{z{yyzxzyxyzzzzzz{zyzyxyyzz{yzz{{z{yyyzzyzzzzzzzzzyzzyyyyy{zyz{{|zyyyyzyzyyzyzzz{zyzzy{yyyy{zxzyzzxytyyxyyyz{xyzyxyxxxxxwxxzyyyyyzxyxxxxxxyyyyyzzzxyyxxxyyyxzzzyyzyzxyyxxyyyyyyyzyyyyxxzzxyyzyyyyyyxyxyyxxxyyyyyyyyyxxyxxyyyyyxyyzzyyyxxxzxyzyyyyyyxyyxxyyzyyzzyyyzxyyxxxxyyyyyzyyzxyyywxwxyyyyyzyyyyxyyyxyxzyyzyzyxyxxyyyxyyyyzyyyyxyyxxxyzxyzyzzyyyyyxxyyyyyyy{xyyyyxxxyzxyzzyzyxyyyyyxxxyyzyzyyxxyyyxyyyzzyzyzyyxyyyxxyzzzyzzzzyzyxzyyyyyyzxzyyyzyyyyyyyzzz{zzzyzyzyyyyxzxzzz{|yyxyyxyzzzzzz{{yzyzzzx{yxzzyz{{zzyzzxyzyzzzzzzzyzzzzxyyzy{{yyzz{zzzzzyzyzzyzzyzzzyyyzyyyyzy{zz{zzzyyxzyyyzy{zyzzyzzxyxzyyzzzyzz{zzyyzxxxyyzyzzzzyyyyxyyzyzzzzzyyyxyzxxwyyzyyyzzyyyyxxyyyyxzy{yyzxyyyxzyyyyyyzzzyzyyyyxxyyzyyzzzyyxyyxyyxyzyyyzz{xyxyyxyyyyyyyzyyyyyxwyxyxyyxzzyyxyyxzyyyyyzyyyyzxxxxyyyxyzzyyyzyxxxxyyxyyzzyyzyyxzyxxxyxyyzxzyzzyxyxywxxyyyyzyyzyzxxyyyxyzyyyzyyyxyyxzyxyzz{yyzyxxxxxyyyyyyyzzzyyxyyxyzyzzzyxzzzyyzxyxxxzzyyyyzy{yyyyyyyyzzzyzyzyyyyyyyxy{yyzyzzzyzyyyzxyzzyyy{zyyyyyyyzzzyzyz{zxzyzzy{zz{zzz{{zzyxxxyyyzzz{zzzzyyzzzzzyz{z{zz{zzz{xyyzzz{zzzzzzzzzyyyzyzzzzzz{{yyyzyyyy{zz{zzzzzzyzyxyzzy{{zzzz{yyyzzyyzzyz{z{{yzzyyxyyzzzzyzyzzyyzxzzyzzzyyzz{yyzxyxyyy{zyzzyzyyxyxyxyzzxzzzyzxyyxyxyxyyyyzz{{yxxxyxyxzyyxzy{yxyzxyyyyyzyzyzyzyzywyxxyyyyyyxzzxyyyyyyyzyyyyzzzyxxxyxyxyyzyyyyyywxxyyxxzxyyzzyyxxxxxyxxxyzyyxyzyyxyyxyxyzzxzzzzyyyyxyxxzyyyyzzyyyyxzyxxyyxyyzyyyyzxzxyxzzyyyyyzyyyxyyyxyz{zyzyzyxyxyxyyzyzyxzyyzwxyyxzyzyzyxzzzyzyyyyyzyyzzzzyzyyyyyzzyyzyyyzzyyyzyxzxxyzzyyzzyyxyyzxxyzzzyyy{zxyyyyzyyxyzzzzzzxyyyyyyyy{y{z{{zyyyzyyyyzzzzzzzzzyyyyxzyzzyzzzzzzzzxyzzyzyyy{{y{zxyyzyyyzzzzzy{zzxzzzyxxzzzz|zyzzyzyyyyyyzzzyzzz{yzzyzyyzzyzzzy{zyyyyzzyzzyzz{zzyzyyyxyyyyzyzyzzzyzxyyxyzzzyzzyyxwxxyyyyzyyxyyzyyxyyxxyxyyyyyzz{yzyyxzxxzyy{yyzzzzxyyxxyyyy{yyzzzyyxxxyyyzy{yyyyyxzxxxwxyyyyyyxyyxyyyzxxyyzyxyzyyyxxxyxxxyxyyyzyxyyxxxxyyxyzy{zzxyyyxyxzxyyzzzyyxyyyyyyyyyyzyyzzyyyyxyyxyzyzyzzyyxyxyyxxyyyyzyzyxxyyyxyxyyyyyyyyyyxxyyxxyyzyxzzzxxzyyyzxyyzy{yyzyyzyyyxyzzzzyzzyzxyzzyzx{zzyzzzzzxxxyyyyzzzzyy{zzyyyyyzyyyzzyz{yzy{yyyyzzyy{z{{zyyyyyzyzzyz{zz{{yyzyyyxxz{{{zz|zyyyzyyyyy{zzzzzzzyyyyzyyyzzy{z{{zzyyyyzyzzyzzy{zzxzzzyyz{zzzx{{zzxyzzzzyxzzzzzz{zzyyzyyzzzz{zzzzyxyyzzyyyzzzzz{zzyyyyzyyzzyzzy{zyzyyxyzyzzyyzzyyxxxyyyyyyyyyyxxzxyxzyxxxyzyyxyy{xyzxxyxxyxyzyyzyyyyzyxyxzyzyxy{yyyzxxxyyyyzyyzz{yxzyyxyxxyyyyyzyyyyyywxyyyyx{yzyxxyxzyyxyyyyzyyyyxyxxxyxyzzxyyyxyxyxwyxyyyzyyyzyyyyyxyyyyyyzxyyyyzxyxxyxyxyyyyyzxxxyzyxyxyzxzzzzyzyxyxxyyzxyyzyzyxyxzyxzyyzyzzz{zyyyyyyxyzyyyzyzyyzzyyzyyyyzzyyzyyyyzyzxyzzzyzzyzyyzzxyyzzyzyyzyzyyyxxxyyyyzzzzzyyxzyxzyzy{{zzyzxzzzzyyyyzy{yzz{zzzzzzxy{zz{z{zzyyyyzzyzzz{zzz{{yzyyzxyyz{zz{zzz{yyyxzyyyzzzz|z{zyzyzzz{zyzzzzzzzzzzzzyyzzyzzz{zyxyzyyx{zyzzzzz{zzyxzzyxyzy{zzzzzzxzzzzxzzzzyyyzyyzyyyyyzzzyxywyxzxwyxyxyyyyyyyzyxxyxxxxyyxyzyzzyyxwxyyyyyyyyx{yyyyyyyyyzzyzyyzzzyxyxxxxzzyzyzyyxxxxyxxxyzyyxzyyzxyyyyyxyyzyyzyyyyyyyyxyzyyzyyyzyyyxwxyxzyyyyyyzxxxyyyxyyyzzzzz{yyxyxxxxyyxyyyzzzzyyxxxwxzyyyyyyxzxxyxyxyyyyyzyzyxxyyzzxzyyyzyyyyxxxyxyyyyyyyyzyxzxzywyyyzyyyzzzxxyyxxyyyyzzyyyzyxzyyyxyyyyyzzzzyxxyyyyyzy{zyyzzyyxzyyyy{zyzyyyzyyyzyyxyzy{zzyzzyzyyyzzyzzz{zz{zzzzyyyxy{zyz{z{zyzyyyyyyzzzyzyzyzyyyz{zzzyyzzzzz{yxzyzyzz{zzzz{zzzyzyyyyyzzzz{zz{xyzzzyzyzzyzzzzzzyzyyxzyzyyzzz{yyzzyxyyyy{zzyz{yzyzyzxyzzyzz{zyyxyyyyyyzy{zyyyyyxyxzxyyzyzxzyzyyxxzxxyyyzyyzzzzyyyxxyyxyzzzzyzzyyyyxxwyyyyzyyzyzzyyxyxyyyyxyzzyyyyyxyxxxyyxyyzyyyyxyxwxxyyxyzzxyxyyyyyyyyxyyyzzzyxxyxyxyyyyyxzzyxxyxxwyxyyyyyyzxyxvxyxxyyyyyzzzxyxxxwwyxzyxyyyxyyyyyxyxyzxyyyzzyxxyyxwxyzzyyzyzyzxyxyyyyyzxzxzyyxyyyxxyzy{zyyxzyxzzxyyzyyzzzzzyyyyxyyzyzyy{yzyy{yyxyzyyzzyzzzzzyxyyxyxyyzzyyz{yyyyzyyxyyy{{z{zyzyyyyyzyyzz{yyz{zzxyyyyxzzzyy{zzzyzzzzyz{{{yzzzzyzyyyyzyzzyzzzzzzyzyyyyxzzyz|{zzzxzyxyyyzy{{zzyyzxzyyzyyyzyxz{zzyyyyzyxzzzyzzz{{zzyzyy{yyyz{z{zzzyzyyyxyyyyzzyzyzzyxxyzxzzzxzyyyxyyyyyyy{yyyyyyywzyyxxxyyyyxzzz{xyyxxyyyyyyyy{z{yxyyyyyxyyzyyzy{yyyxxyyyzyzyyzyyzxyxyyxxyyxxyyyyzyxxxyxyyxzyyzzyyyyxyyxyzyyzzyz{xxyxyyyxyyyyzyyyzxyxxyxxyyzyyyzyyzxxxxxxwyyyyyzzyyxyzxywyyzyyyxyyyyxxxyyxyzyyzzyyyyyyzyxyxyxyzyzyyyyyyzyzyzyzxy{yyyxyyyxzyzyyzzzyyzyyyyyyyzyzzzyyyyxyyyxyzyz{zyyzzzyyyyxxzyyzzzyyyxyyzxyzzzyyzzyxzyyzyyyzzz{{zz{yyzzyyyyzzyzzzzzzzzzyyyyy{zy{{zz{w{xzyyzz{zzzy{{zxzyyzz{z{{z{{{zzyzyyyzyyzzz{z{y{yxyzyzyyz{z{zzz{yyyyyyzzzzyz{{zzzyyzzzzzzy{zzz{zzyyzyyyy{{zzzz{{yzyxzzyyzyzyyzzyxzwyyzxyzyyzyxzyyyxxyyyyzyyzyyzyyyyzyxyzyyzzyzzyyyyxyyxyyyzyy{zyyyxyzxxyyyzyzzzzyyyxyxxyzzzyzyzyxyyyyyxyyyyyzzyyyyxxyxxyzzyyzyyzxzyyzyxyyzyyyzyxwyyxxxxyyzzyzzyzyxxxyxyyzyyzyzzyyzyyyxyxyyzzzzzzzyxxxxxyyzyyzyyyyzxyyyyyzxzyzzyyxyyzyyxyzyzzzzzyyyxyxyyyzzyyyyzzyyzxyyzzzzzyyzzyyyzxyxzyyyzzyzzyyzyyxyxyzyzzzzyyyyyyyxzyzz{zz{{zyyzzyyxz{zyzzzyxyyxyyyzz{zzzzzzzzyxzyzzzz{{z{zzzyyzzyyyzzyz{z{z{yyyzyzz{z{{zyzzzzyzyz{{yzz{zzzz|zzzzyxyy{{z{{{{zyzyzyzzzzzzyz{{zzyzzzyzyzz{{zzzzzxzyzyy{z{{zz|{yx{yzzzyzzzyzz{yzyyzyyyyzzyzyzzyyyyyyyyxzzz{yyxyyxxyyxyxyzzyzyzzxwxyxxxyyzzyzyzyyxyxyxxxzyyzyy{zyxyyxxxyzyzyyxzzzzyxyxxyyyyyzzyzxyyxyyyxzzzzyzyzzyyyyyyyyyzyyzyyyyzywyyxyzxzxzyxyyxxyyxxyzzyzz{yyyxyxxxyyyyxzxyyyyywyxxyxyyyzxzyyxyyzxywyyyyyyyyyyyyyxyyxyzzyyzzxyxxyyyxyyzzyzzyyyzzyxxyzyzzyyzyyyyyxyzyyyzzyzzzyyyyyyxyz{yzyyyzyzyxyyzyyzyzzyzzxyzxzyxyxz{yyz{zyzzyyyyyzyzyy{zzyyyyyyxy{zzyzzzzzzzyzxzyzzzz{z{zyyyzyxxxzzzyzz{y{yzzxyzyyzzzyzzzzyzzzzzzy{{zyzz{zzzzyzy{zzzz{yzyzyyzyyyzzzz{zz{zyy{zyyyyzxzyzzz{zzyyyzxyzyzzzz{{zyyxyyxyzyz{zy{zzyzyxyyxzzy{zy{yzzyyyyzyzzyyyzyyxyxyxxyyyzzyyzzzzyxxxxxyxzyxyzzzxyxyzzyxzyzzzzzyzxyxxxxxyyzzyzzyyyyyyxywyyyzzyzzyyyxxxyyyyyzyy{yyyyyywyxzyyxyzyzzyyxxyyxxyzyyzyzxyxzywyyyz{yyzz{yyyyxxyxyyzyxzzyyxyxwxwyyyzyyyyzxyxyyxwxyyxyyyyyxxxxyyyxyyxxyyyzxxyzyxyyxzzxyyzzzyyxyyyxyzyyzyzzzxyyxxxyyyyzzyyzyzyyyyxyzzzzzzzyyyzxzxyxyzyzzzzyzyzzyyxxyyzxzzzzzxzyyyxyzzyzzz{z{yxyyyyzzyzzyzzzxzyyzyyzzzyzyzzzzyzzyyyyzz{zzzz{zyyzzyyy{{yzzz{zyyzyzzzzyzzzzzz{{zyyzyyyzzz{zzz{{zzzzyzy{z{{zzyzzyzzzzyz{yzyz{zz{zzzyyzy{y{zzz{{yyyyzxzyzz{yzz{{zyyyyyzxzzyzzzzxyxzyyyyyyzzzzzyyxxywyxxyxzzyyyzzzyyyxwyyyyyxzyzzyzxyyyxyyyzzzzzyyyxyyxyxzyyzyyzzyyyxyxxxzxzxzyzzxyyyyyyxyzyyzzzyyxywzxxxyxzzxyzyzzywxyyxyyzyyzyyxxyyxywyyyyyzyzyyxyyxyyyzzxyyy{zyyzyxyyxyyyyxy{yyyyyyyywyyyxyzyzyzxxyyxyxyyyyzyzyyzyyzxyxyzzyzyzzyyxzyyyyzyyzzz{yyyxyyyyzzzzzzzzyyzyxyyxyyzzzzz{zyyyxyyy{{zzyyyzzyyxyyyyzzyzyzzyzyyzyxyyyyyzzzzyzzyyzyyzyz{zzzzzyyyyzyzy{zy{y{{zyyyzyyyyyzzz{zzyzzyy{yzyzzzzzzz{zyzzxzzzzyzz{zz{zyyzyzzzyzzzzz{yzzzyzyzxzyzzz{{zzyyyyyyyzzzzzzzyyyxzxyzz{zy{zzzzy{zxzyyyyzzzxzyz{zyyyyyyz{zxzyzzyyyyyyxyzyzyyzzzyyyxxyyxxy{zzyzzyyyyxxzxyzyzyzzzyyyyyxxxyzyyyzzyyzzyyyyxyyzzyxyzywyxxyyyyzyyyzzzyxyxyyyxyyzyyzyzzyxxzyxxzyzzyyyzzyxyxxyyyyxzyyyyyxxyyxyyyzyzyyyyxyyyxyxyxyyyxzzyyxyxwyyzyyz{yyzzyyxxyyxxyyzyzyyzzyyyyyyxyyyyyzxzyyyyyyxyxzyzyzzyyyyxyxyzyzyyyyyzxyyyxyyyyyzzzzx{yyzxyxyyzyyyz{{{yzyxyyyzzzyyyzzyyyyyyzyxyzzzzzzzzxyzzzyyzzyzxzyzyzyyzyzyyzzzzzz{yzyyyzzyzzyyz{{zyyzyzyyxz{zzzzzzyyyyyzyyzz{z{{{{yzyyyyzzy{zyzz|zzyzzyzyzz{z{zzz{yxzzyzyz{zzzzzzz{y{xzyzyzz{zzzz{zzzyyyzzzyzzz{zzzz{yyyxzyyzzy{zzzyyyyyzyzyyzzzz{xxyxyyyxzyzzyyyyxxyxxxyxyyyyzyyyyyxyxwxxzzyzyzyyzxyyyxyxzyyzyyzzyxyyxxxyyyzyzzzzyxxxxxyxxyyyyyzyyyyxxyyxyyzyzzyyyzyxxyyxyzyyxz{yyyxyzyyxyyxyxyyzzxxyyyxyxzyzzyzzyxxyxxxzxzyzzyyyyyxxyxyyyzyyzyzzyyyyyyxxyyyxyzyyyxyxxxyyyyzxxyyyyxyxyzyyyzzzyzzyzyxx{yyxy{yyyzyzxxzyxyxyyyyzyzzzzxyyxxyyyyyyzyyyzyzyyxyyyzzyyzzyxyyyyxyyzyzyyzzyyyyyzyyyzyzyzyyzzyyyxzxyzyz{yzzzyyzyyy{yzyy{y{zyzzzyyyxyyy{zzzzzyyyyyyzyzyz{z{{zz{yyyyzyzzzzyzzzzzzyxzzyyzzzzy{{{yyzyyzyzzz{zzzz{yyyzzzyyzzzzz{{{yxyyzzzyzzzzzzzzzyxzyyzyzyyz{z{zzyzyzyyy{zyyyyzyyyyxyyyyyzzyzy{yyxyyxxxyyyzyyyzyzxyyyxxxyyyyzzyzyyxxzyyyyxyz{yywxyyxxyxz{zyzyzyyyzxyxxwzyzyxzzzyxyxyxxyyyyxyyzyyxyxyzwxyyyyx{zyyyywxyyyyxyyyyzyyywzxxyxyyzyyy{yyxxyxyxyyzyzyyyzxxyxyyxyyyyyyyyyzxzyyxyxyyyyzyyzyywxxyyyyzyxy{yyyyyyyyxyyyyzyyyzyyyxyxyzyyzzyyyyyyyyywzyzzyzyzzzyyyxxyyyyyz{zyz{yzxyyxyyyzzyzyyzzyyxyzxyyzzzzyzzyyyyzxyyzyzyzzyyzyyyxyxyzyzzzzyyyxxyyzzy{zyyy{y{zzzzzyxyyyzzzz{{yzxyyzyyzzzz{z{yzyzyzzzzzzz{{z{zzyyzzyyyy{zzzz{zzyyyzzyyzzzzzyzzzyyzzyy{zyyzzzzzzyyyzyyzzzzzzzy{yxyyyzyzyyzzz{{{yzyyyyxyyyzzyzzzyyyxxyxyyzyzyyzzyyxyxxxwyzyzzyzyxyyyyyxyyyxyyyzzzyyxxxyxyyzyyzyzyyyxyyyxyyzyyyzyyyyxxxxyzxzzyyzzyyxyxxyyxyyyyyzyyzyyxxyxxyzyyyxyyyyyxzyyyxyyyyzyxyxyxxyyxxyzyyzyyyyyyxxxyyzxyx{zyxyxyyxxyyyzyyxzyxxyxyyxyxyyxzyyxyyxyxyyzzyyyzyzyyxzyzyyxyyyzzyyyxyyxzyyzzzzxyyyxyzxxxyzyyzxyzzzxxyyyyyzzyzyz{yyyzxyyxyxzyyzyyyzyyxxyzyyzzzzyyyzzyyyyzxyyzyxzzzyxzyyzyzyxyzyzzzzzyyyyyzyyzyzzyy{zyyyzxyzyyzzzzzzzyyyyyyyzzyy{{{yzz{zy{yyzzz{{yzzz{zxyzyzy{z{z{{zzz{zyzyzzzyyzz{zyxyxyyyyyzzyzyz{zzzzyyyyzyy{{{{zzyyyyyzyzzzyzyz{zyy{yyyxzxzyzzzzxyxyyxzyzyxzyyzyywyyyyyxyyyzyyzyyxyyxxyyyzyyyzzzyxyxyyyyyyyxzzyyxxzyyyxxzyyzxyzzzyyxyxyxzyzzyyyyxyxyyyxxyzyyyzyxyzyyyxyyxyzzyyyzxyyywyyyyzyyyyyzyxyyyxxxyyyyzyzzyyyxyzwxzyyyyz{zyyxxxyyxxxxyyzyzzyyxxxywyxyyyyyyyyyyyzyyyzyyzyzzyyyyzyyyzzzzyzzzyyyyyzzyxzyzzzyzyxzyzxyy{zyzyzzyyzyyxxyyyyzyyzyyyyyyyyyzzzyyyzyyyyxxyyyyzzzyzyzzzyyyyyyxyzzyyz{yyzyy{yyzzzy{zyz{yyzyzy{y{zzzzz{{{zzzyyyyz{zy{z{zzzzy{yyzzzzzz{{{yyzyyzzzz{zz{zyz{zyzyyyzzzzzz{{{zyzzyyzyzzzz{{{z|{zy{yzyyz{zzz{zzyyzzzzzzzz{zzz{y{yzyzyyzzzzzz{zyyyyyxyyyzzzzzzyyyzxyyxxyyzzyzyyyyyxyxxxxzzyxyyyyyxyxxyy{yyzzzzzzyywyzywyyyzzzzyyyxxyyxxyyyyxyzzxzzxyxyxyyzzyyyyyyxyyyxxyzyyzyyyyyyyyyxwzyyyxyzyyyxxyyxxyzyzzzyyxxyyxyxyzzyyyzyxzyyyxyxyyzz{yzzzyyyxwxxxxzzzyzzyyyxyyxyyxxyyyyzzzyxyxxyy{zyyyzzzxyyyy{yyzyzzy{zyyxxyyxyyzzyzyyyyyyyyyyzxyyyyyyyyxzxyxxxyzyzzzyzzxyyyyyyyyyyy{yzzyyyyyyyyzyzzzzzzzyzzyzyyyzzyzzzyyzyy{yyyyzzzyyz{yyyzzzzzyzzzyzzzzzy{zzzzz{z{zz{zzyyyzyzzz{zzzz{zyzzy{zyyy{yzzz{z{zzz{zyyyz{z{|{{zzzyx{zyzz{z{z{zzyzyyzxzzzzzz{{{yyzyzzyyzzyz{zyzzzzyzyyyzz{zzzzzzzxzzyyyzz{zyxzzyyyyzyyyyyzzzyyyyyyxyxyyyyzzyyzyzxyyyxyyyyzyzzyzyyxyyyxyyyyzyz{zzyyyyxxyyyzzxyyyyxyyxxyxzzyxyyyyyxxwxxyxxyzyx{zzyyxxyxyxzyzyyyyyyyxxxyyyxyyxzzxyyyxyyyxyzyzzyyyzyyyzxyyyyyyzyzzyyyzxxyxyyyzxzz{{yzyxxyxxyyyyxxy{yzzyyyxyzzxxyzzyyyyyyzyxyyzyzyzzyzyxzyyzyzzyyzzyyzyyyyyyyyyzzzyyyxyyxyzyyzzyyzzyzyyyyzyxyzzzz{zyxyyyyyyzzzyzzyyzyyyyzyyyzzyyyzyzzxyyyzyyzz{yzzzzzyzzzzzzzzyzzzz{zyyyzyyyyzzzz{{{{yyzzyyzzz{yzzzzzzzyzzyyzzz{z{zyzyzzzzyzz|{{z{{{zyzyzzzyzz{zyzzzzyzyzzxyzzz{zzzzzyyyzzyyzzyyy{zzz{zyzyyyyzzx{zz{zzyyzyyzyzzyyyyzzxzyxyxxy{yzzyyxwyyyxxxwxzyyyzzyyxyxyxyyyyyzyyzzyxwxxxyxyxyxyzyxyxzxxxxxyyyyyxxzyyyxyxyxyxyzyzyyyyxyxxyxxyyxyzyxyyyyyyxyyxzxyzyxxxxxxyyyyzxyyzyzxyxyywxyyzzyyzzyyyxxxyywxyzzyyyyyxxyxyxyyyzzzyzyyxyxxxyxxyyxxyyzyyyxxwyxxzxyy{{yzyyxxxxxyzyyyxzyyyyxyxxxyyyxzyxzxyyyyxyyyzyzyyxyyzyxxxyxxyzzzzyyyyyyyxxyxyyyyyzyyxyzyyxyzyyzzzzyyxyyyyyyyzzzzxzzzzyxyyyzzzzzyzzzyzzyxyyyyzy{zzzzzzyyzzyzzyzyzzzyzyyyzyxyzzyy{y{{zzzzyz{zyzzz{z{{{yzzy{zyx|z{zzzzzyzyzzzx{yzzzz{z{zxzyyyyzyyyzz{{zyxy{zyyzzz{{z{zzyyxyyyzyyzzyzzzyzxyyzzyyz{yyzzzzzyyyyyyyzyyzyyzyyyyxxxwyzyyyyyzyyyxxxxyyzzzyyzzzxyxyxzyyyxyz{zyyyzxxyxyyyzzyyzzyyxyxxxyzyyzyyyyyxyyyxyxyyyxyzyyxxyyxxxyyyzyxzxzxxyxyyxxyyyyzzzyxxxyyxyyyzyyyyyyxxxyxyyzxyyyyyyzzyzzxyyyyyyzyyzyyyyxyxxyxzxyyzyyyyzyyxxwyyyyyyzxyyxzyyyyyzzzyyzyyxyxyyyyyy{yyzzzyxyxyxzxxyzzyz{zyyyxxyyyzzzyy{zzyyyyyxzyyzyyzzyyyxzyxyyzyyzyz{yzyyyxyxyyzzzyyyzyzyxyzzyyzzzz{zyzyzzzxy{zyzzyzzzzzyyzyzyzzz{zzzzzzzyxzxyzzzyzyzz{yzxyzzzzzzzzzzzyzyzzyzyyz{zzzz{zzyzyyzzy{yzzzz{zyzyzzyyyzzzzzz{zzzxz{yyzzzz{{zzzyzyzyyyyzz{zzzz{yzxyyxyyy{zzzzzyyxzxxxyyzyyzzyyzzxxyyxyxyyyzzzzzyxxxyyyyxyzyzzzzy{yxyyzwyzxzyyyyyyyxyyyyyzyyxyyyzyxxyxzxxyyzy{zzyyyxxyxxyxyzy{yyyyxxyzyyyyzyyyyyyzyxxyxyyyyzyzzyyyxxxwyyyxyxyzyyzyyyxyxxyyzxzyyzxyxxyxyyyzzzyyzyyyzyxyzxyzyyyyxzxyyxyyyxyzyyyzzzyxyzyyyyyyyzyz{zzyyyyxyzzzzyyzzzxzyyyyyyyzyzyyyzyyyxxyzyyzzyzzyzyyzyyxyxzzyyy{yyzyyyzyyxyyzyyyzyyyyyyxxyz{yyzzzz{yxyyzyyyzzy{zzzyyyxzyzyzzy{yz{|y{yyzyyzyz{zz|zzzyzzyyyyz{{zzzzzzzyyzzzyzzzz{z{{{yz{yyyz{{{{z{{{yzzzyy{yz{{zzz{zzyzyyz{{y{zzzzz{zyzzyzzzzzy{z{{{zyzyzyyyyz{zxz{{zyxyyyzyzzyyyz{zyyyyzzyxyzzzzz{xxyxxxxyxyyyyxxyyxzxyxxxyxyyyzyzzxyyyxxzxyxyyzyyzxxyxyyxyyzyyyyyzyxxxwwxxyyzzxzzyyyyyxxxxyyyyyzyyyyyxxyyxyyzxxyyyxxyxyyyxyyxyyzyzxxyxyxxyyyyyyzxyxxyyywxyyxyyzzyxxzxxxxyxyyyyyyzyyyyyyxyxzyyxyzxzzyxxxxyxyyyyxzyyyxyxyyyxyyzzzzzyyyyyxxyyyyyyyzzzyyyyxyxyyxyyyyyyxyxzxxxxzzyyyyyzywxxywzyyzyyzzyzyyxyxzyyyyyyz{yyyyxzxyyyyyyyzzzyzyxxyyxyy{z{zyyyyzyyzyyyzzyzzzz{zxzzxyyz{zyzzzzyzzyyzyyyzyz{z{{zzzyxzzyzyz{zzzz{zyzyyxyyy{zzyz{{yyzyyxxxzzzyzz{zyxyzzyzzzyzyzzz{zxyzzyyyzzzzzzzyz{zyyzyzyzzzzzzzzxyyxyyxxzzzzzyzyyzzyxzyyyyyyzzyxyxxxxyxxyyyyxy{xxxyxwwxyyzyyzyyyxxxxxyxyyzzyyyyyyyyxxxzyyzyyzyyyyxxxyyxyyzyyyyyyyyyxxxyxyxyyxyyxxxxxxxxyyyxyyzyyyxyxyxxyyyxxyzzxyxxxwxxyyyzyzyxyyxxxyxxxyzwyyyyyxzxxxxxxyyyzzyzyxyxxxyxyyxyxzxyyxxxxxxxyxyyxyzyyxxyyyyxyyzzyxzzxxyxyyxxyyzxyzyzzzxzzxzxzyzyyy{{{yyxyyxyyyyyzyzzyyxxzxxxy{yzyzzzyyyyxyxyyyzyzzzyyyyyyyyxyxzyyzyxxyyxyzzzyz{zyzyzxyzyzzyyyzyzzyzzyzxyzyyyzzyzyzzzzyzyyxxyzyzyz{yzzyyxy{yyzzyzzzz{zyyyzzyyz{{{yyzzzyzzyzxy{zz{yzzyzyzzyzyyyyyyzzy{yzyyzyyzzyyzzz{yyzzyyyyzyzyyzzzzzzxyyyyzzzyzyzyzyzyxzxyyyyzzzxxzxxxxyyyxyyxyyyyyyyyxyxxyyyyyzzyyzwxyxyxxyyyyyzxyzyyyyxyyzyyzyxzyxxxxxyyxyyxyyzyyxyyxyyyxxyyyyyyxyxywyyzxxxyyyyyyxxyyyxxyyyzyzyyyyxxxywxxyyxxzyyxxxxxxxxyxyyyyyyzyyyxxxxxxxzyxyyyxxyxxyywxyyyyyxyyxywyyxywyzxy{yyyyzxxxxxzxxyzyzyyyxyyxyyyzzyyyzzyyyyyzyyyyxyyzyzyyyxxxxyzyyyyxyyxyyxyyyxyzyyzz{zyxxxyyyxxyzyyyzxyxyyyyxyyzyzzyzyyyxyyxyzyzzzz{zyxyyxyyyyy{zz{{{zyyyyyyyxz{zzzyzzzyyyyyyyzyzzzzzyyyyyyxzyxzzyz{zzzyxyyyzzy{zzzzz{yyyyzxzyyyzzyzyzzyyz{zy{zzzyyyy{zyzyzyyyzzzzzyzyyxxxyyyyzzyzyzzzyyyxyyyyzz{zzzzzyyyxyxyyyzzzyyyyzxxxyyywxyyzyyyyxzxxyyxxyzyyyyzzyyxxxyxxyyyyyzzzyyyxxwxyyyyyxyyyzyyxwxyxyxzyyyyzyyywyyyyxzxyyyyzyyywxxxyxyyxyyyyywxxyyxxzyyyyyyyyxxxyyxyyyyyxzyzzyxyxyxxyyyzyyyzyxyxxyxxxyyxyxyyyxyxxxyxyzyyyzyyyyyxyyyyyyyxyzyyyxxxxyxwyyyyxyyyyyyxyxxyzzyyyzyzyyyyyyyzzzyzyyzyxyxyyyyyzyyyyzzyyyyyyyzxyyzzyzyyzzyyyxyyyzzzyyzzzyyyyyzz{yzzy{zzyyxyxyyyyzyyzzyzyzzzyyzxy{y{{{zzzyyyyzzyz{yzzzzzzzyyzxxzzz{{yzzyyzyyzzyzz|zyzzzzzzzzyzzzyzzzzzyzyzyzyyyyz{zyzzzyyyyyzyyzzyzzyy{zzyzzyyyyz{zzzzzzyzyyyyyyzzzzzzz{yzyyyyyxzzzzyyzzyyyxxyzyyzzyyzzyyyyxyxyxyzyzyyyzyzyxyxyxyzyyzyzzyyywxwxzyyyzxyxzzzyyxyyxyzzyxyyzzyyyxxyxxyxzzyzzzyzyxyyxyyzxyxyyyyyyyxyxyxyzyzzxyyxyxzxyyyxyzzyyxxxyyyxyyyyyyzzyyyxzyyxyyyzyzzyxyxyyyyxxyzxyyyzyyxyxxyyxyzzyyzxzyzxy{yyyxzyyyzyzyxxxyxyyyzzyyyzzyyyxyxyxzyzyzyzzzyyzxyyzzzyyyzzzyyxyyyyzzzyyzzzzzyyyzyzyyyxzyzyzyyyxyyzyyzzyzzzyyzyxyyyyzzz{zyzzyyyzyyyyzzzzy{zzzyzyzzzyyzz{z{{zyzyzzzyyzzzzzz{zzyyyzzzzz{zzzz{zyzyyyyzyz{zzz{z{{yzyzzyzy{zy{zz{zyzyyyzz{{{z{zzz{zzy{zyzzyzyzz{{zzyyyyyzzzz{zzy{yzzyyyyzxzy{zzzzzyyzyzyxzzyzyzzzzxyyyyyzzzzyzyyxyxyxyyzxyyzzyzxzyxxyxxxxzzzyzzy{yyxxyyxyzyyyzzzzyxxyxxyxyyzyzzyzyxyyyxxwyzyzyzyyzyzxzyyxzzzyyyzxyyxxxxyyzzyyyyyyyyyxxyxxyzyzzyzzyyyyyxyxxzzyxzzyyxyyyyxxzyyyyyzyyyyxyxwxxyyzzyyzyyyyyyyyxyyzyyxyyyxxyxyyxzyxyyy{xxyyyyyyxyyy{xzzyxyxxxyyzzyyyzyzyxyxxxyzyzyyyzyzyxyyyxyyyzzz{zzyyzyzxxzxz{yzyzzyzxzyyywyz{{zzzzyyxyyyyyyyzzyyzzyyyyzzyzxzz{zzzz{yyyyzzzyz{zzzyz{zyzyzzyy{{{zzz{yzzyyyxyyzzzzzzzzyyzyzzzzz{zzzz{|zyyyyzyyz}z{y{y{yyzyxyxz{zy{{zzz{yzz{yyzzzzzzzz{zzyzzyyyzzyzz{{{yyzyyyyyzzyzzz{{zzzyyyyyyzyyyzyyzyyyzyyyzzyyyyyyyyxyyxxxxzyxyzyyyxyyxxxxyzy{zzzyyyxyxzxyxzyyyzzyyxyyyxzyyyyyxy{yxyyyxxyxxzzyyzyzyzyxyyxwyzyyxyyzyxyyxyyyyyyywzyyyxyxxyxyxxyyyyzzxxxyyyxwxyyyyy{yyyyyxyxxzyyyzxyzxyyxyxxxxxyyyyyyyxyyywxwxzyyzyyzzzyxyxxyyyzyyzzyxzyxyyyyyzyyyyyzyyywywyyyzzyyzzyzyxyyxyyxyyzzyz{xyyyyxxyyyzzyzzyyzxyyzyxyyxyzzzzyyyxzyxyzz{zzyzzyzxyzyxxyyzyzzzzyzyyyzyyyzzy{zzyyzyyzzzyzyzzxyzzyyyzyyzyyzzzzzz{zyyyyyyyzzzzzx{zzzyyzzyzxzzy{{yx{yxzyyzyy{y{yz{{zz{zyzzy{zyzz{zzzyyyyyyyzzzyzzzz{yyzzzyzzyyzzzz{zzzzyyyyzzzyyzzyzzyyyyxyzzwyyz{zyyyxyzxyzzyzzyyyyyyyyxxxyyyzyyzyzyyxxyxxyyyzzzzyzyyyyyyxzyzyzzzzzxxyxxyyyyzzyxzyyyyxxxyxxxyzyyyyyyyxxyyxyyyyyzyyyxxyxxxyyyzyyzzyzzyyxyxxyyyzxyxyyyxyxyyxyyxyyyzxxxyxwyvxyzzyyyyyxyyxxxwxyyyxyyyzxxyyzyyxzyyyzzzzxyyxxyxxyxyyzyyyxyyxyxwxyxyyzzzyyxxxxxyxzyzyyzzzyyyyxxzyzyzyyz{zyyywxxyyzyzxyyyyxxzxxxyyyzyzzyzzzyyxxyyyyzyzzyzyxxyzxzxyzzzyzyyyyyxyzyyyyyyzzzzxyxyyyyxyyzy{zz{zxyzyyxzxzzyyyyzyzxyyyzzxzzz{yzzzzxyyyzyyzzyzzyz{zyzyyyyyy{z{z{zzyzzyyyyzyzyzzzzzzyyzyyyyzyxy{zzzzyyyyyyy{zz{zzzzzyyxyzzxzzyyyz{z{xyzyxyxzzzyyz{yzyzxzzxyzzzzyyyyyyyyyxxxzyxyyxy{yxxwxxxyyyyyyyyyyyxxxwxxxzyxyyzzyyyzxxyxyyzyyyyxyyyyyyxxyyzzyyxyxxyxxyywyxzxzyyyyxywxyxxxxyyzyyyyyyyywwyyyxyyzxzxxyyxyyyyyzyxyzxyywzxxyyzyyyxzyyyxxxxxxxyyyzyyzyxxyyxxxxxyyyyzyzyyyyywyyyyzyyzyyxxxzxyyxyzyzyyzzyzxxyyxyxyyzyzzzyyzxyxxyyyyyz{zzyyxwxxyyyyyyzyzyzxyyyxxyyyyzyzyzyyyxyyxyyzyyyy{yxyyyyyxxyzyyyzzyyyxyzyyyzxz{{zzzyxxyyxyzzzzyy{yzzyxzzyyxxyyzzzzyyyyxyyyzzzzzzzzzzyxyyyzyzzzzz{zyzzyzzyyyyzz{zz{zzzyzyyzzzzzy{zzzzxyyyyyzzzzzyzzzyzzyyyyzzzzzzzyzyzyyxzyyyzzzyz{zyyyyyyyyz{yxzz{zyyzzyyyyyyzzzyzyyyxyxxyyyyzxzyzzxxyyxxxxxzzyyyyxyyxxxzyxzyyyzyzzzyxyyxxwyyyyxyzyyxyxxyyxyyxyyxyyyyywxyyyyxyzxzyyzxyyyxyxxyyyxyzyyxxxyxxxyzyyyxyyxxxyyxyxxyyyyyzyyxxxwyxwxzzyyyyyywyxxyxxxzzzxyyzyyxyyxzxxyxxyyyzyyxyxxywxyyxyyyzxxxyyyywyyyzyxzzxyxyxyzy{zyxyyyzxyyyxxyxxyyzz{zyyyyyyyyy{yzyzxzyyyyxyyyyyyyyyzyzyyzxxyyzzzyyyyzxyyxxxyyzzzzzyyyzyzxyzzyyyzzyzzzzyyzyyyyyzzyzyz{zzyyzyyyzzyyyzyzzzyzzyyyyz{yzyz{zyyzyyyzzy{zzyzz{zyyzzzyyyzzz{z{zzzzzyyyzz{zyzzzzzyyyxxyzzyz{yzzzzyzyyyyyzzzzz{{{yyzxyzyxzzz{zz{yzyyyyyyxyzyzzzzzyzyyyyyyyxzyzzyxyyyxyyxxyyzyyxyzyxyxzxxyyzzzyyzzxyyyyxywyyzzyy{zyyyyyxyyzyyyyyyyyzyyyxyxyy{xyyyyyyyxxxxxyyyzyyzzyyyxyxxyyxzxyzyyzxxxxyxxyyyyyyzzxyyxxxyxxyxyyzzzyyyxyxyxyyyyyzyzyzyyxxyxxyzyyxzzxxyxyxxxyyyyyxzxxxyxyxzxxxxzyyyyyyyyyyyxyzzzyzzyxyyyyyzzyyyxyyyzyyyyyyzyzyzxzyzzyzyzyxyxzzyzyzzzyxyyyyxzxzyzyzzzyyyyyyyxyzyzyzzyyyyyyyyyzyyzyzz{zzzxyzyxz{zzzyzyyzyzyyyxzzy{zyz{yyxzyzyyz{zzzyyzyyyzzyyz{zyzzzzzyyzyyzzzyyyzzzz{{yyzyyyyy{zzzz{zzyzzzzyyzyz{{{{zzyyyzyyzzzzzzy{zy{yyzyyy{yyz{zzyyzzyyzyyyzzzxyzzzzxyyxzxyzzyy{z{yyyyyyzxyzzyzzyyxxxxywxxxzyxyyyyyxyxxyxyyxxzzyyzyxyyxzyyyyyzyzzzyyyyxwxxyyyyyyzyyxyxxyxxzyyyyyyzxyxyxyxxyyyyyzyyxyxxxwxxyyzxyyyyyxxwxxxyxyxyyyy{zyyxxxwyyxyxxyzyyxxxwxxxyyxyyxzyyxxxxyxxyyxxyyyyyxxyxxyyyyyxxzyyxxyxyxzyxzyyyxzzxxyyxyxwxzyyyyyzxxyyyxxxyyyyzyzzyyyyxxxyxzzz{zyzxwxxxyxyyyzzzyyyyxyyyyyyyyyyxzyzzxzyyyxyyyyyyzzyxxyyzyyyyzyyzyzyyyyyxyxyxyyzyy{yxyyyyxzyyzyyyzzyyyyyzyxyzyzzzzzzzyzxzyyxzyzyzzz{yyyyyyyxyzzyzzzzzyyyxyyzyzy{zzzzyyyzyxzyyy{zzz{zzzyzzyyyz{zzyzxzyyxyyxxzzzz{yzyyyxyxxyxyzz{zzzyzzyyyxxyxyzyzyzyzy{yxxyxyyzzyyyyzwyyyxxxxyyzyyyyyyxzyyxyyyyyzyzyzxxxxxxyxyzxyzyzyyxxyxxyxyyyyyyyyyyyxxyxyzyxzyzyzyyzxyxxxxzzxxyyyyxxyywxyyxxyzyyxyxyyxxxxyyxyxzxzyxxxyxyxzyxzyzyxyxxyxxxyxyzyyyyyyxyxwxyyxyyxxyyyxyyxywzwxyyxyyxyyyyxxwxyxyyyyzyyxyyxyyxxyyzzyzyzyyxyyxyxyzyyyzyzyyyyxxyyyxyyyzyzyyyyxyyyyzyzyyzzyxyyyxyxzyzyzyzyzyxyxyxyyzzyyz{zzyyyyxxyzzzyyyzyyyyxyyyyyyzy{zzzyyyyyyyzzzyzyz{zzyzzyxyyzz{yzzyzzyzyyyyyyzzzzyzzyyyzyzyzzzyzz{zzzyyyzzyyyzyzzyzzzyyzzyx{zzzz{zyyzyzyyxyzyyzzzzz{zzyy{xyyzzzyzzy{yyyxyyyyyzzzzyzzyyzxyyyyyyzzzyzzyzxyyzyxyzyzz Fv5ay{{{{{z|||{{{||{{{{z{z|{{{{|}|||{{{|{{z{{{{{{{||{zz{{z{zz|{{z|{{{{zzzz{{|{|{{{z{{zz{z{{{|z{z||{zz{zz{z{z||{|{||{{{zz|z{{|{|{{{}{zzz{{{zz{{|{||{{{{z{{zzz{{|{|{||{{zzzz{z|{|{{|{{z{zy{{zz{{{{|{|z|z{{zz{z{{{z|||z{zz{z{{z{{|z|}{{zz{{z{{y|{|{{||{{{z{z{z|{{{{|||{{zzz|{{{{{||||{|{{{{z{z{|{|{|||{{{z{}zz{{|{{z||{{|{{z{{{|||{}{{{{{{{z{{{{{}|||{{|zzz{|{||{|z}}{{{{z{z|{{|{||||{z{{{|{|{||||||||{{|{{||{|||||{||{z{{{z||||{|||}}{||{|{z{}|{{||{{{{z{{{|z||z||{{||{{|||{{||{{||{|zz{z{{z|{|||{{||{|zz{{z{||{|{{{|{{zz{{{{{|{|{{}||||||{{{|{}|}||||{{|{z{||{|||||}||{z{{|z||{{|||||{|{{{{{|{||z{||||z{{{{{{z{|{}{{z{{{{{{{z|{{||{{{{{{zzz{{{{z||{{{z{{z{{zz{{z{{{{z{z{{z{z{{{{zz|{zzzzz{z{{||{{|{|{{{{z{z{zz{{|z||{{z{|y{z{z{z{||z{z{zz{{z{{{{{|{|{{{z{{z{{{{{{{|{z{{z{{z{{|{|{{||{{{z{zz{~{|{|{||z{{{{{{{{|{{|{{z{{{z|{{z|{{|{||{{{{{|{z{}|}||{}||{{||{z{|||}z||{|{{{{{z{||{|||||z{|{{{{{{|{}{{||{{{{|{{{||||||}||{|{||{z|||{||||{{{{{|{|{||||}|}||{{|{z||||}}||}{{|}{{{{}{||}|||{{{{{{{||||||}||{|{||{{||{|||||||||{||{{{|{{|||}{z{{y{{{|||{|{|{{zzzz|zz{z{{{{}~|{{{||}|{}|||{|||{{{{{z|{{{{}}|||z{{|z{z||{{{||||{{z{{z|z{||{|{{|{{z{|{{|||}|{{|{{{{{{|{{{}|||||{{{{{{z{|{||{||{|{{zz{|{{{{||{{|zzz{z{y{{{|{z{||{|{zz{z{|{{{{{||{|{zzz{|{{|||z|}z{{z|z{z|{{{{{{|{|{z{|{{{{|{{|}|z|{z|z{{||||{|{||{{{|zz{||{{{{||{|z{zz{{|{{|||{|z|{{{{{{|||{{||}{{{{{{{{{|{{|}|{{{{{|{zz{||z|{|{{{{{{{{{|}|{{}{{|{{{|{|{{{|||{}|}{{{}{|{{|||{|||{{z||{{{|||}}{}|}z{{z|{|}|{|||{||zz{{{}|||{|{|}|{||{{|{||}||}||||{||{{{{|}||{{||{{{|{{|}|{{||||{}{{{||{||{||||}}||z|{|{|{|||||||{{{{z{z|||{|||}{|{{{{z|{|{|{}}}|}~z}}|{|||||{{{|{{}{{|z||}||{}}{{{|||{|{|z|}|}}}{{{{|{{z{|||{z|}z{|zz|{{{{{|{|||{{{z{zzzz{|{{|{{|z{{{{{{{{{|{|}{{|{{||{z|{{|{{{|zzz{{{z{{{{||{{|{{{{zz{zz|{{|||{{{{{{{{{|{|{|||||z{zzz{{zz{{{{z|z{|{{{z{||{|||}|{{{{zz|{{|{{||}|{|z{{zzz||||{{||{||{{z{{|{||||||{z{{z{|{||}||{|{|{{{z{{{{|{}{}{|{|{{{|{z|{}}||||||z{{z{{}{{z{|||{{{z|{|||||||{||{{{{|{||{|{}||}}{|{||{{|{}||||}||{z}{{{{|}{{|||}{{}{|}|{|}||}|}|}||{|{|{|}}|}|||{||||{||{}|}}{|{}{|{{|{||||||}||||{{}|{|||||||||||{z{|{||||}}|||||{{|z|{{}{|{{{{{{|{{{{{{|{|||{{|{{{|||{|}}{||}|{}z||{{|||}|}||||{|{{{{{|||z|||}{{|{{||{|}|}||}|}{|z{{{{{z|{|{|{{||{z{{{{||{{||{|{{{{{z{{{||||||{{{|{{|{{{||{||{|{{|{z{{{||{{{|{|z{zz|{{z{{z|||z{{{{{zzz|||{||||{{zz{z{z|||z{|{{{{{{{zz{|{{{||{{{|{{{{|z|{{{|{}||{{|{{{{}|{{||{}{{|{{{{{|{{{||{}|{|{{{{|{|}{{{||{{{{{{|{{{{|{}{{|z|{|{z|{||||{||{{{||{||{|{{||||{{{{z{{|{{~}||}||{|||{}|||{}||||||{z||{{||||||}||z{{{{{|}}||||}|{||{{}|||||}|}|}||{|{|||}||}|||}||{|{|z{|}|}}||}|{|{|{{|{}{}}|||||{{||{|}|{|}||||{|{{{{||}{||||}||||{{{||}|}||||{|{z{|{z{||{|}|||{||}{{{|}}|}|}|||{{{|z{||}||||||{{{||||{||z|}|}|zz{{{{{{{{}{|}|{{|zz{|{{|{{{{|}{{{zz|{{{{{z{|{{{z{z{z{{|{|{{|||z{z{{{{{{{{|{{{{{{z{{zzz{{|{{{{|{{{zz{z{{{|z{||zz{{{z{{{||{|{||{{z{{zz{z{{{{{||||{{{{{zz{{zz{}{|{zz{{{{z|{{|{||||{{zz{z{|{|{|||||{{{z{{|{|{{{|{|{{{{{z{|{{|}|{{|{{z|{{||{|z|{|||{{{z{{z{{}|{{|||||{|{{z||{{||||{||{{{{{||{{}}||{z|{{|{|z{|{|{{{}{{{||{{|||}||||{|{|z||||{}||{}|}|||||{{|{|||}|||}{|{{{{|{||}|}}}}|{||{{}||{||}||{||{{|z|}||{|||||{}|||{}||{|||||}{|{{{{{|}{|}|}}}{}{{{{z{}|}|z||}z{{|{|{{||||||||{{z{{||{||{|||}{|{z|zz{{||||{||{{{{{||{{|{{|{|||zz{|zz{||||{{|{||{{z{{{{|||z{{}z{|{{zzz{|{|{||||{{{{zz{{{|z{|{|z{{z{{{{|{z{{{{|zz|z{zzz{{|{||{|zz{{z{zz{zzz{{}|{{{{zzzzz{{|{||{{{{{{z{{{{{{{{{{|zz{zzz{{{zz{|{{{z|{{{{{{{{{z||{{|{z{z{{z||z{|||{z{|z{{{{{{{{{||{{|{{z{{{|{{{||{{{{{{{{{z|{{{|{{{|{{{{{{{|{{{||}{{z{{{{{{||{||{{|z|{}{{|{||}{|}|{{|z|{{||{||||||{|{|zzz{{||||||||{{{}|z||||{|{}|{{|z{{||||{{||}|||{{{z||{||}{}||{|{{{z{{{{{}}||{|y{|{{|{||{{|}}|{{{|{{|{|}|||{{}{{z{{{|{|}{|{||{{{zzzz{|{|||{{||||{{{z|{{|||{}}||||{{|||||}{|}||}{{}{{{||{|}||}||{{{{|{{|{{|}{}}|z|{z|{z{|{{|{}{{z{zz{{{|{{{|}|||z|{z{{z{{|{|{|{|{||{{z{|{|{|||||{|{z{{z{{y{|{||{z{{zzzz{{|||||{z{{{{{zz|{|{||}{y{{z{zz{{|{{{||{{zz{{yz{{{{{z|{{|{{{{{z{z{z}|{||{{{{|{{zz|{{{{||{{{z|{{z{{||{{|}{{{{{{{|{{{|||||{{{{z|{{||{|{|{}|{|{{{{{{|{|{|{z{{|{{z{{{||{|}|{||{{{z{{{{||||}||}{|||{|{}|}|||{{{|{{}|{||||{}|}||{{|{z{|}|}|}}||{{{{||{|||{|}}|{z|{||||{||{||}||{|||{|||}|}||}|{|||{|{{||||{|||}{{|||{{|z|{}|}||||z{}||{{|}{|}}{}{{{|||{{|{||}{|{z{{{{z{}|||}|{{||{z{{zz|{|{}}||||{{z|{{|||{{|||z{{{{||{|{}||}|||z{{|{{|}{|{{|{|z{|zz{{{z}|{||{|{{zz{{z}{|{{{{|z{{{{{{z|{}|||}z{zz{zzz|{{{{{|{|{{zz{{{{{|{|{{||{z{{{{{{{z{{|{||{zzzzzy{{{|{{|{{{{{{zzzz{|}{{||{{{{{zyzzz{z{||{{{{{{|{{zz||||||{{{{{{{zz{|||{|{{{{{z|{{{{||{}{{|{|z{zz{{|{|||{||z{||{{{z||}{|{{|{zz|{||zz{||{|{|{z{{{zz{{|{|||}||z{z|{{||{|{{}|{{{z{|{z{{}|||{||{|{{|||{|||{|}||{{||{{{z{|{}|{||{{z|{{|||}|{||||||{|{{|||{|||||{{{||{|||{|||}~|{|{{|{{{{}|||z|{}|{{{{||||}}{|||}{||||z{{|{|}{}|}{{{{|z|||||}|{||||zz|{{{{{{|{{|}z{{{{z{{{||{{||}{|{||||||||||}||||{{||||||{|}||||z{z|{zz||{||||}{{{{{{{zz{||z||}|{|{{{{z{|{||{{|zzz|{{{{{|{|{|{{|z|{zz{{{|{{{z||z{z{zz{{{{z{{{||{{{z{zz||{|{|||z{{{zz{zz{|{||{{{{z{zzzzz{|{|{{|{zz{{{z{z{{zz{|{z{|{z{z|{{{{||{{{zz{{{{zz{{||{||{|z{z|{{{|{{{{||||z{{{z{{||{{|{{|z{{zz{|{{{|{{{|||{{{{{z{z{||{|||{{{{z{zz|}||{|}{{|{{|{{{{{{{||||}z{{z{{{|||{||||{z{z{{{{|{z|||||{{|{{{{{|{{||}}|{{|z|{{z||||{|{|{|{{z||||}{||||||||{||||{|}||{}|||{|{||}||{||}||}z{z{{{{||||||{||||||{{||||{|}|||{{z{{{{{}|||||{|{{{{{{{{||}|{{{{{z{z{|{{{{{||{|||{||}|{|||||||||||z}{{|{|{|}{{}|{|z|}{z{|{|||||{z|||{|{{|{{|}|{|{{zzz{{{|{{|||{z{{{{{{z|||{{{||{{{{{yz{{|{{{{{zzzzzzz{z{{{{z{||{zzz{z{yz{{{{z|{{zz{z{zz{{{{{{|{zz{{zz{zz{{{{z||{{zz{y{zzz{{{{}|{|{z{z{{{{{|{||||z{{{{{zz{{{|{|||z{{{z{z|{{|zz}}{{z{{zz||{||{{{|{{{{zz{{{{|{{||||{{{{z{{{|{|}|}{|z{{{{}|{|{||{|||{|{|{z|{|{{|||{{{{{{{{z{|{||||{{{{{{||{|||{|||}||{{{{{z{|||||}{{{{|{z|}||||{}|||{{z|{{{|}||||}}||{{||{|{|||||||{{|{|{{||}|}}|{||{{z{{{{|{||{||||{{|{z{z|||||||}{{|{{{{{||||||}|{{{{{z|||{{|{}||{|{{{z|zz{{{{}||||z{|||{{}|||{||{{{|{{||{{}|}||}{{{z{z|{|{{{{||{{{{{zz{z{{|||{|||{{{z{{{{|{z{|{{{{{{zy{{{|{{|{|z|{z{{z{{z|{|{|{z{z|zzz|z|{{{{z{|{{{{zzzz{{z||z}|{z|{yzyzz|{{{|{{{{{{zyzz{{{{z|||{{z|z{zz{|zz{z{{{{zzyz{zz|z{{|{|zz{z{{{z{{{{{{{{{{zz{z{zz|{|||||{{{{{{|{||||||||{{{{{zz|{||{||}{{{{z{{{{{{|{{{{{|z{{{{{z|||||||||zz{{|{{{{|{{z||z{{z{{|z{|{|{|{|y{z{{{z{|{z||{{|{z||{z{{|}|{{|||{|z|z|z{|||{|{{{{{{z|z{{{{||}||||{{|z{{{{|}{|}}||{{|{{{z|||}||}{{{{z|z{{||||{|||||||{{{{{{{{|||||{{z{{|{{||{|{|{{{|{z{{z{||{{{z{{{{{|{{{|{{{|}}}{{|||}|{|}}}||}{|{{{|zz|}|}|||}{||||{{{z||{}|{||{{||{zz|{}|{|{|||{{zz{{{{{{||{||{{{{z{zz{{}|{{||{{|{|zzz{|}{||{|z{{zz{z{{|{{{{|{{{z{|zzz{{|{{|{{{z{zz{z{{|{{{|}{{{{{z{z{{{z{|||{{zz|z{{{z|{{{|{{{{|z{z{{{{z||||{z{{z{zzzz{|z{{||zz|{zz{{{||||{{|{z{{{z{{|{|||{}}z{{{{z|z|{{||{||{z{z|{{z{|{{{{|{{{{{{zzz{|{{|z|||{{||{|{{{||||{|{{||{{z{{|{|}|||{{{{{|{{||||{||}{{{{{|z{||||{||{}{{{{{{|}{}{}{|{|{{{{|{{||||||||}{|||{|{||||}}|}|{|||{|{||{||}||||||||{||||{|{|{|{|{{|{zz||||{||}z{{{{z|{{||{|}{{|z{{zzz|{|||{|{{{z{{z{z{{|{{}~}|{{{}}|z||}|{||~|||||||z|}|}}|}|}{{{{{{{|}||{{|||z{{{|{|{|{{||{|{|{{|{{z{{{{{{{{|{{{{{{{{{{|{{}|zz|z{{z{|{}||||{{{{yz{{{{{||{{|{{{{z{z{{{{|z{{{{{z{z{{z{{|||||||{{|z{zz{{||{||||z{{{{zzz{|{|{{{|{{zzz{{{|{{{{{|||{|{{}zz{{{{{|}{zz|{{{{z}{}{{||}{z{{{{{|{{{z{|||{{|{|{z{|}{||||{{{{{|z{z||{{||||{{{{z{{{{||||||{|{{{{{z|{||{||}||{{{{{z{{||}|||{{|{|{|{|||{||{||{{|{{{z{|}}|{|}|}{|{||{z||||}|||{{{{{|||}|||||}~|{{|{||{|||}}}}||{||}||z|{|}||||||{{||||{}{|}|}|||||||}{||||{|}|||z{{{{|||}||{{}||y{{||{{|{|{{|}|{|z|zz{{||||}}}||||||}{}}}}|}}||||{{|{|}||||||}}|{{{||{|||{|}|||z|{|{{||{|||}|}||{{z{z{||}{|}|}{z{|z{{z||}||||{|{|zz{|{{|{|{|||{{||{{{z{{{{{|||{{{z{{{{{||||||{{z|z{{{{{{{{{||{{{{{zz{{{|{|{||{{{{yz{z{{{{{{||}|{{{{{{{z{{{z||||{||{{zy{|||||{||{{{{{{{|||{|||||zz|{{z{{{|{|{|||||{z{{{|{{{|}|||{{{|z{|{}|{{}{|{{|{{{{{||}||{}{{{{{{{z{|{||||||||{{{|{~{{}}|||}|}{||{{{||||||}||{{|zz{z|||}|||||||{|{{||||||}}|||||||}|||||||}}|{|||{|{{}|}|~}}|||||{|}||||{}||}{{{|{{|{|||||||{|{||{{|}}||}{|}{||{||||{||{|||||{{{{{{{{|||{{{{|{|{yz|{{||{{|}||}|||{}|}|||{{}}||{|zz{z|}}||{}|{|{{{{{{{{||}|}{||{|{zz{{{||{|||{{{{{zzy|||{{|{}{{|{{{{{{{{{z{|{|{{zzzz{{|}{{|}|{{{z{{{zz{{{||{{{zz{z{z{z{{{{{{zzz{{z{{{z{|{z{|{{{{{{{{z{{{|{{{{{{{{{{{z{{{z|{|{{{{z{z{{{{{{z|{{{{z{z{zzz{|{{||{{{|{{{{{{||z{|{{|z{{|{zz|{{{{|{}{{|zz{z{{{|z||}{{{{z|z|zz|{{||||{|{z|{|z{{{}{z|{{{z{{{{|{{{{|{|}|{{{{{z{|{|{||}{{{z{zz{||}{}|{}|{z{{{{{{{||{|{|||{{z{{{||||||~||z{}|{|||{|{|}||||{{||{{|{||||||||{||{zz{|||{|||||z{|}{{|||||}||||{{{||{{{|{|||{|z{z{{|{|{|{|{{{{{{|{{|{{||{|z{{{{{|{{{{z|{|{{|||}}{|||}|}~||}}}}|{{|{z{{|}z||}~||{{z|{{||{{||}|||{|{{z{{z|||||}||{|z{z{{{{||{|{{|{{{|zzz{|{|{|{{|z{{|y|z{|{{{||{{{{{z{{z{z{{|{{||{{{{z{{{|{{{{{{z{{z{z{{z{{||{{||{{{z{z{||||z|||{{z{|z{{|{{{{{{|z{{{zz{{{|z{{|}{{zz{z|{z|{{{|{|{|{{z{y{{{{{{{||{{{{|zzz{|{|||{|{{{{zz{zz|{{{{|{|{{{|{||{|{{|||{||{|{{{{{{||}{||{|{{{z{{{{|{{{||{||{z{z{{{|||{||}|{}{{{{|{|||{|||z|{{|{{|||}||}|{|{{||{{|||{z|{|{|zz{{||{{}||||||||{|z|{{{}|}|||}{{{|{{|{|}|||||||{{{|{{|{||{|}}}{{{}{|{z|{{}}}|}|{{{z{{{{|{|{}|||z{{z{{{{{|{{{||{{{{z{{{z{|z|||}}|||||}||}|}}||}|||{|{{{{|||||||z|{z||{|{z{{|}{|{{|{|{|}{}||{{|||{{{{|{{{{|||{{|||{z{{{{{{|z|{|{{zzz{z{z}{{{{|{{z{{zz|z{{{{|{z||{z{z{{{z{{{{{{|{{{z{z{{z{{{{{|||z|{{{{{z{{||{{||zz||z{zz{{|zzz{{{{{zz{{{z{||{{{{zzz{|{{z{{{|z|||{{z{{zz|{|{{|{|{{{{{{z{{|{|{{{|{zz{{zzz{{{{{}|||{|{{{{|{{{{{||{|zz|zzz{z{|{|}|||{{{|{z{||{|{{|||{{z{{{{|{|||}|||{{{||{|{|}|||||||{{{{||{|||||{|{|{|z|{|||||||||{{||{z||{|}|||}|}|{{{{|{|{||}||}|||||{{|||||||}|||{{{{z{|{|{|||}||{{|{|{|{{}|||}}|||{{{{{{}{|||||||{|{{{z{|{|||{{{z{{zzz{{||{{|}}{}|}}{{||~}|}}|}|||{|{{{||||}||||{{|{|{{}{||||||{{{{{{{z{|||{|}|{{|{{{zz{|||{{{}zz|{zz{{z|}{z|{{zzz{z{|{{{|{{|{{{{{{{{zzz{{{{{{{{zzzz{{{{|{|{|{{{z{{{zz{|{{|{{z{|z{{z{{{{{{{{||}{{{z{{{{{{{{||{{{z{z{z{{z{{|z|{{{{{{z{zzz{{|z|{{z{z{{{{z{z{z|{||{z|{{{{z{{{|||{|{{{{{{z{|{{{z{||{z{|{{{{{||||||{{{{{{{{{||{{|{||{{|{zz{{||||||{||z{zz{z{{|{}||||{|{{{|{|||||{||}|{{{{{{{{{|||||||{{|{{{{{|}{|||}{|{|{{}{{{}{|}|||{|||{|||}|}|}||{{z|z{{{}|||||}}|{|{|{{{|{||}}|||{{{{|{{|||{|}|||{{{{{{|{{||{{|||zz{{{|{||{}{{|||{{{}{{{{{{{{||~}}{|}{{|||~|}||}{{{{}{|{||||{{}}|{{{{{{{|{||||||||}|{z{{{z}|{{{||{{{z{|zz{|{{|{||{|{|z{zz{{{{|||{{z{{{zz{{{{{||{{{zzzz{z{{{{{{{{{z{{zyzz{{{{|{||{zz{{z{z{{{{{{{|{{{{z{{{y||{{|||{z{z{zz{{{z{{{|zz{zz{{zzz{{{{{{{|z{{zzzz{{||{||z{{{|zyz{||{|{||{{{{{z{z{{|{|{{||{{{{z{{|z||{{|}|{zz{|{{z|{{{{|||zzz{{z{{{{|||{||{z{|{yz{z{|{|{{||{{{z{{{|{|{{|||{|z|{{{{|||||{||||z{{{|{||||{}|{|{||{|{|{|{||||||||{{{|||||{|||}}{|{|z||{}}}{|||||{||{|||}|||||||{{{z|{||{||{}{||{{{||{{}||{||}||{{{{{|z{|||||||{|{{{z{{z|||{{|{|{z{{yz{{{{|{}}}||}||||||}}|}}|}|||||{{{||{||~}{{{z{{|{{||{{|||||{{z|{{{|{||{{|{{{{{z{zy{|{|{{{}{zz{zz{{y}{z{|{z{{zz{z{z{|{||{{{{{zzyz{{{{z{{|zzzz{{zz{z{|{{{|||{zyyyz{{{y{{|{{{z{{zyz{{z{{z{{{{{zzzz{zzz{{{{{|}{z{zz{z|z{z{z|{|{{|z{{z|{{z{|z|||{z{zzz|{|{{||||{z{z|zzz{{||z|||zz{{{z{{{|{{{{|}{{z{{{{z{|{||{{{{|zzz{z{{{||{||{{{{{|{z{{||{|||z{{{{z{z{|{{{||||{||{{{{{||{|z|||{z{z{{{{||{z{}|{{{{{{{z{{|}||{|||||||||z{{||}|~||{{{}||||}||}||||||{|z{{||{{{||{{z|{{|{{|||{{{||{{z||zz||{||||}||{|{zz{{{|{{{y{||{{{zz{{{|||{|{{{{{{{{zz|{{{{|~}||{}|}}}}}}|||}|~|}|||||{||{|}}|{|y|{{z{|||}}}{|zz{z{{{{|||{|||{{|z{{|{|{{|{|||z{|{{{zzz||{{||z{{{{{{z{{|{{{{{|{{{{{{{{|{}|||{{{{{{zz{z{{{{{{|{|{z{{{z{||{{{{{{zz{{{z{{z||{|{}|{{{z{z{z{{z{{z{|zzzz{{|z{|{|{||{|z{|z{{{{|{||{|{{{zz{{z{{z{{z||}||{{{{|{|||{{{|{z{{{{z{{{|||{{||{{{{{{z{{||{{||{|{{{{|z||||||||||{{{{{{{{{||{{||{{{{{{|{|{|{|{}|{{|{|{|||||||||||z{{{z{{||||||}||{{{{{{{{}|||||||{{|z|||{||{|}}}|{{{||{{|}|}|||}{|{||{{{|}{|||||{zz|{|||||{|{|{~||{{}{{{||{|}|}|{{{{{|{{||{|z{}||{{z{{|{|||{|{||{{{{{{{{{{{||~|~}}}|}|}||}|}}}}}||||}||||||{}}|||{|{{{{z{|||||}||z{z{zz{{}|||{|{|{{{z{{z|{|{||}|{{{{z{{zz|{{z|{|z{|{{z{z{{{{{{{{|{z{z|{{||{{{z}|{z{zzz{{{{{|{|||{z{zz{z{{z{{{{{{z|{zzyzz{||{z|{{zz{|{{{zz{{{{|{|{z{z{{{z{{{{{{{|{z{yzzzz{{{{{||{{z|zz{|{{|||{{{}|{{z{{{{|{{||{||{{{z{zz{|}|{||}|{{{{zz{{|}||{}|||{|zz{z{|||{{|||z{|zz{{{||{{{|}||{{z{{{{||{|{{}||{{{|{{{|{||||||||{{z||{|}||||||{{{|z{{{|{}||}}}{{{|{{}{|{||||||{|{|{{|{|}|}|}|||{|{{{{{{|{|||}||{{{||||{||||{||{{{{{||{}|z|{||}z{{|||{z}{||{{}{|{{{z{zzz||||z{z{{{|{zz{{{{{{~~~}}|~||||}}|}|}}}}||||{{{|}||}}}}|{{|||{{|{{|{|}}{{{{{{z{||||{{|}|{zzzz{{||{{||||{{|{{{|{{zz{{{||{{{zz{{{{|{z{|{{{z{zz{z{{|||{|{{{{zz{zzz{|{{{|{{{{{{{|y||{{{|{z|{|{z{{{{{|||{{|{{z{{{{z|z{{z{{|{{{zz{zzz{|{{{{{||zzzzz{z|{|{{{}{|{z{zzzzz||{{{{||{z{zzz{|{{{{|||z{{{|{{{{{}||||{z{{{|{{|{||||{|{|||{{zz{||{{{{|{{{z{{|zz{{||{{{|||{z{{{{|{}|||}|{||{z{{|{{||{}||{{|{z{{{}||{||||||{{{||{}|}{|}|}||{{{{|{{{||||}{|{{||{{|{}|||||{}{||zz{{{||||||}{{|||{|{z{|{|}}|}{{||{{{{|{|||{|{{{|z{{{{||{{}|||{z|{z{{z|||{{||{{z{zzz{z|{{{}~~}}}}|||{|}}}}~}}}||||{||||||}}|||{{{{{{z||{||}|}{{{z{{{|||{}z||||{{zzz{z{|{}||{|{{|zz{{{{{{{||{|{zz{{{z{{|||{{{|{z|zz{{z|{{|{|{{{{z{{z{{{|{{z||{{{|zzz{{z{|{|{{{{z{{{zzzz{|{{{||zz{{{{zz{|{|{|{{{z{z{z{{{{{{{}||{{z||z{z{{|{{{||{z{z{{{{|{{|||{{{{{{{z{{|||{||||{{{{{{{{{{|{|||{|{|{{|{{{|{||||{z{{{{|{{||||{|}{{{z{{{{{|{|{{|{{|{{{{|{{||||}|}|z{|{{{|||{||||||{{|{{{{|{||||||||z{{|{{{{|}|{{|{|{{z{|{{{|{}||||}{{{{|{|{~||}||}||{|y|{{{{|||||||z{z{{|{{||{}|||}||{{|{{{|||z~}}|z|{{{{z{{||z||||{{|z{{z||}|{|||{{zz{{zz{{|{{~}}}}}}||{|}~||}|}|}||{{|{||}|}|{|{{{{|{{|}|||||||{{|zz{{{z|{||||||{z{||{z{|{zz|{{z{|{{zz{{{||{|{z}|z{{{{z|||{z{|{z{z{z{z{{{z{{{{{{zzz{{{{{{{{z||{{z{z{z{z{{z{|{|z{zzzz{zzz{|{{||{{zz{{zz{z|{{{{{{}{{{z{{z{{{{{|||{{z{{{yz{||{{|{{{{{{{zzz|}{{|{||{{{{|z{|||{{{|{|{|{z{z{z{{{{||||{{{{{{{z{{|||{||{{{{zzz{{|}{|{|{{z{{{zz{{|{|{|{|{{{|{{{{{|||{|||z|{z{z|{{|}|||||{{z{|z{{{|{{{||{||{{{{{{|||||{}}|{||{|{|||{|||{||{|{z{|{{}|||}|||{|||{{{{{||{|}|}{z{{z{|{|{|{||||{|||{||||||||||{{zz|{{{||{|{||}|{|{z{z{{|{|{{z|{{zy{z{z{|{{{~~|}}}||||}}~|}}}~|||||||||}|}||||||{{|{|{{{|{{||||zz||{z|{|||{{|||z{zz{{{{||{|{|{{z{{{{{{z|||z{{{{z{{z{z{|{{{|{{{z{zz{|z{{|||{{{||z{zz{zz{{{{z{|{zzz{z{{{{{|{{|||{{|{{zz{z|{{{{|{{{zzzz{{{{|z{|{{{z{z{zzyz{{{{{{{{{|{{|{z||{{|}{{{z{{|z{{{{{|{|||||{{{zz{{{||{||{{z{{|{{z{{{{{{|||z{{{z{{|{||||z{{{|{{{{|}|{{{||||{y{zz{{{{{|||{}|{|{{z{|||||}||{z|{{||{{{||}{|||{|{|{{{{|{|||{|{|{|{{||{|||{||}|{|{{z{{{|{||{}|}||{|||{||}{||}|}}||{|{{|||~|||||{{{|||{{{|{}||||||{{||{{{|}|||||{{{|{{{{{|{||||{|z{|z{{z{|{|{{{|{{{zzz{|{|{{{}~}|||}}|}}}~}||}}}||{{|||{|{}||{|}~|{{{{|{}{{{|||{||{|{|z{||||{||}|{{z{|{{|{|z{{||{{||{{zz{{{{{{|{{z{{zzz{{|{{{|{||z{{{{zz{{z||{{{{{|{zz{z{{{{|{||{zz{zzzz{{||{{|{{{{{zz{z{|zz{{||{zz{z{{z{|{{{{{{{{|{z{z{{|{z{||}{z{{{{{{{{{{|{||zz{z{{z{{||||{{||z{{z{{{|{|{{|{|{{{{zzz{{{||||||{{{|z{{{{{{|{|{{|{{{{{{{{{||{{}||{{{{{z|{{||{||{|{{{{{{{{|||{{{|{||{{{|{{{{|z||||{|{{{{|{{|||||{|{{{{{{{}{}||||}||{|{|||{}||{|||||{{z{{{{}|||~}||{{{{{||||{}}||{|{{||{{{||||||}|}{{{{{|||{{}||{}||{{{{{{{|||||||{{z{{{|{{{|||{|{{{|z{{{z{|{|z~}}}}}||}|}}}}}~||||{{||{{}|||}||||||{||{{{}|||}|||{{z{{z{{{|{|{||{||z{{{z|||{z{{}{z{{z|{{{{|{{|{{|{{{{|{{{{{{z{{{|z{z{{{z{|{{{{{{zyzzzz{z{{{{|{|{zzzzz{{z{{{z|{||z{{{{{{z{{|}|{|{|z{{{z{{{{{{{{{{|{zz{zz{{|{{{|{{{z{{{{{|{{||{{|{|{z{{{||{{|{|||{{{{{{zzz{|{|{|||zz{z{z{{{{{z|{|{{{z|{{|z{||{{||{{z{{{z|z{||||{|{|zz{{{{{||||{|{|{{{zz|z{|||||||{{{{{{{{{z|{|||||{{{{{z{z||||||||{{z{{{{{{|||}{|}|{{{{|}|{|||}||||{{{{{zz{}}|}}|}{{{{|||{|z}||||}|{{{{{}||}{{{|}}||{|{|z|||||||}|{{z{||{{{|{{{||{{{y{|{{z{|{|||||{zz{z{{z{||{{~}}~~~}~||}}~}}}}|||||}{||||||}|||||{{{{{{||||}{|||{{{{zz{{{{{|{}||z{{z{zz{|{{{|{|{{{z{{z{{{{{{|{{{{{|{z{{{{{zz{{|{z{{z{z{{{z{z{{{z{{z{yzzz{z{|{|{{{z{z{{z{{||{{|{|z{zzz{z{{{{|z{|{{{{{z{zzz{z{{|z{|{{{zz{{{{{||{{zz{{{z|{{|{{{}||{{{{{{{{{{|{|||{{{{zzy|{{|{{||{{{{{zz{{{|{{||{||{{{zzz{{{z|z||z{|z{{{{{z||{|{{||{{{|{{z|||{|{||||{z{{|{{{{||||||{{{{{||{|||{||}}}{|}{{{{{|||{z}||zz||||{|||||||{{||{{|{z{|}{}||||{|||{{{|}|}|{|||{|{{{{{||}||||||{|{|{||{|||||{}}{{{{{{{|||||||~{{z{{|z|{||||{||{{{{{{{{{||||||{{z{zzz{z{||{{~~~|}~}}}|}}|}}}~|}}{||{||}}}}}|~}{|||{z{|||{}|}||{|{{z{{||||||||{{{{zy{{{{{|{||{|{z{|zz{z{{{z|{{{zzz|{z{||{{{{{{{|{{{{{{{{{}{{||{{z{{{z{|{{{|{|{|{{{z{y{z{|{{{|{|z|{{{z{{{{{z{|{{{{{zzz{{{{z{{|||{{{z{zyz|{{z{{|{{{{{zz{|{|||{||{{z||{{{|||{||||{{{{z|{{{}{{|||{|{}|z{{{||{|{{{|{{{{{z{z|||{{||{z{|{z{z{|||||{|}{{{z{|{{{}{{{||{{{zz{{{{{}|{{}||{{{{||{{{{|||||}|z{{{{z{{||||||}|{|||{{{|||||}||{{||||{{{{{|{{}|{{||{|{{{{|||}||}|{||{|{|||||}|}|{{|{|z{{|{}{|}|}{{{z{z{|{|~|||}|{z{{|{{{{{|{{|}||{|{{{|z{|{{{|||{{{zz{z||||{~~}}}}~}|~}|~~}||}||{|{{|}}|||}}||||{|{|}|}||}}||{{z{{z{||{|{}|{|{{z{{{{{|||{|||{zzzz{zz{|{{{z|{{{{zzzz{z{|z|{|z{z{{{z{{|{z{{{{|{{zz{zzzz{{{||{{|z{{z{z{{|{z||{{{z|z{{zzz{{{{{{||zz|zz{z{zz{{{|||{|z{y{zz|{z{||{{{{z{|{{{{{|{{{}|{{{{{{{||{{{{|{{{{{{z{{|{{|{{|||{|{{{z{{||||{|||{{{zy|z{|||{|{{z{|{{|{{||||{}}{{{|{{zz{{{{{{|||{{z|{{{{|||}{|||{{{z{z{{{{||{||{|{{{|{{{||}{{}|{|{|{|{|z{{|{||||}{}{z||{|||{|||||{{{{{|{{}||{}}|||{|{{{{|||||}|{}|{{{{{{{|||||||{|{z|z||||{|||||{|{{{{|{{||||{||{{{{{|{{{|{|{||{}{|zzz{z{|||{~}}~|}}}~}|~|}}||}|}||}}||}}}|}||{|{||}}||||}||{{|{z|||||{||{|||{|zz{{{{{|{||||{{z|{z{z{{||{||{|{{{{z|z|{|z{|||||{{{z{{{{|{{||{{{{zzz{z|{|{||||{{z{z{z{z{{{z{|{{{{{{{z{z|z|{{|{|{{{|z|z{{{{|{{{{{{{{{z{{|{{{{|{{{{zz{zz{|{|{|{|{||z{zz{{|||||||{zz{{{{{||{{||||{z|z{|{z||||{||{{|{|{|{{{{{|{||{{{{{|{{z{|||{|||{{||{{z{{||{|{||||{z{|{{{|~|}|||{||{{||{{|{}}}|||{|{|{{{{|||||||}{{|{{{z}||||||}}||{{|||{{|||}}}|{{|||{|||||}|||||||{{||||{||}|{||{{|{{{{{|||{}}|||{||{||||}|}|}{{{z{{{|||||{||{|{|{z{{z|}||{||}|{|{|z{{|{||{~~~}~~}~}~~~}~~}}}|{}{}||}}|}}|}}|||{z{|{||||||||{||{{{||{{{{|||||z{{|{|z||||{{{{|y{z{z{{{||||{|{|z{zz{{||{z{|{z{{zz{{z{|{{{|{{{z{z{{{{{||{|{|{{{{z{{{{{{|{|||{{{{{z|{{z|{|{|{{{zzz{{zz||{{{}{{{{{z{zz{|zz|{{{|{|{{{|{z{{|}{{|}|{z|{zz{{{z|{{|}zz{{{{{{{{{|||{||{{zz{{{{|||{|}||{{{{{{{||}{|}||{|{{{{z{{|||||}||{{{{{z{{|||{|{|{{{{|{|||{||{|||{|{||{|{|||}|{|}|{|{||z{||{|}|{|}{{z||{{|||||||||{{{|||{|||||}|||{{|||{|{}|||}||||||{{{{}|{|||||{|{{||{|{{|||{|}|{{{||{{{||}|||||||z{{{{{}|}|||||{{{z{{{{|{|||||{{{|{{{{|{|{|~~}~}}~~~}~}}~}~}}}|||}}}||}|}|||{||{{||||}||||||{||{||{||{||{{{|z{|zz|||{{|||{|{{{{|{{|{{{||}|z{z{zz{|z|{z|{|zz{{zz{zz{z{{|||{zz{zzzz{||z{{{{{zyzzzzz{{|{}|{|{{zz{{{{{{|}|||||{{{z{{zz|{{z{||{{zz{{{{{{{|{|{{{z|z{|z{{|{{z||{{z|{{yz{{{|{{||{{{{|{{{|{|{|{{|{{{{{{zzz|{{{{|||{{{{{{|{{||}|}{{|{{{|{{{|||||||z|z{{{{z{|}{{|}|}|{|{{{{{{||||||||{|{|{|{{{|{{||{zz{{{|{||||{|}|||{{{{{|{||{|||}|{{{{{|||||||||}}|{{{{|{|}||}}|{|||{{|{||{{|{|||||{z|{|{|{|||}|}||{{{{{||{||}|}|||{{{||{{{|||{|}||{{{{{{{{}||||}||{{z{{{{|{|{{~~~~~}|~~~~~}~}}||}||{}|||}||~||||{||{|}|||}|||{{|||{{{|{{{{||{{{{|{z{{|||{||{zz|z{{|{{||{z{|{|{|{z{z{{{|{z|{{|{z{z{z{{{z{{||{z{{z{{{zz|{{{{|{{{{{z{{{{{}|{{{|{z{{{|{zz{{{{||{|z{|{z{zz{{y{{{|{{{{zz{{z{{{{{|{|{{|zzzz{{}|{|{{|{{{{{{{{|{{||||{z{{zz|{{{|||{}}||{{{z{y{|{{||{|{||{{{|{{|||||{||z|{{{{{{{||{{{{||{{z|z{|||{|||{|{{{|{{{{||}||||z{z}|z|||}|}||}{{{{{{{{{|||||{|{{{|{||{||||{}|{|z{|{{{||{}|||}||||{{{{{{|}|{||}}||||{{{{}|||}|||}{{z{{{|||}||}||{{{|{{{|||||}|||{{{{{|{{||{|{|}{|{{|z{|{|{|||||{|{{{{{{{|{{|{~}}~~}~~}}}}}|}|}}}|{}}|||}|}|||z{|{|{|}{|||}|||{z|||||||{|{|{|{{z{z{||||{|{|{{{{zz{{||{{|||{{z{{{{|{{{||{{{{{{{{z{zz|{z|z{|{z{{{{z{z{{{{z{{{|z{{zzz{{{|{||{|{z{{z{zzzz{|{z{{|z|{zz{z{|{zz{{{{{zz{z{zz{{{{{{{{{z{{z{zz{||{|{|{z{{{{{z{|{|{|||{{||{|{z{{|{{{{|{{|{{{{{|||{{||||z{{{{{{{{{{{|z|{{{{{|{z{||{{|}||{{{|{z{|||{{||{|zz{|{|{{|||}|{{z|{{|{{{||{|{||{{{{||{{{||}||{|{{{{{{{{z||{||||{{z|{{{|{|{}{{|}||{{{{|{||}|||||}||||{{{{||||||{}{{|{|{{{|||||{||{{z{||{{|||{||}||z{{{{{zz||{||{|{|z{{{{z||||||{{{{z{|z{{{{||{}~~~~}~}~~}~~}~}|||||||}}}}||~}|||{|{|{}{}}{}}}|{||{z|{{|{|{|{}{{|{{z|z|{{{{||}{{{z{{{zz{|{{{|{{|{{z|zz{{||{{{{zy{zzzzz{{{z{|{{{{z{z{zz{|{{{||{{{zzz{yz|{{{{|||{{z{z{zz{||z|{|{|{{zzz{zz{{z{|{{|zzy{z{{{||{{{|||z{zz{z{{{{|{{{|{{z{{{{z|{|{||{||{zz{z{{{||{{||{z|{{z|{{{{|{|||{{z|z{z{|{{|{{{{{|{{|{z{{{|{|{|{|{{{{{{{{{|z{{|{|{{{{{|{{|||{{|||{{{{{|}|{|{|{|{{{{{|z{{z|}|||||||{{{{z{{|||{|}{||{||{|||{{|||}||}|{|{{{|z}|||}||}{||z{{||||||||||{{|{{{{|{|{|{}||{{{{{{{|{{|||}|{{{z{{{z{|{||||||{|{{z{{{||{{||{{{{y{{{{|{{{|~~~~~~~~~~|}}|{|||}{}}|}|||{{{{||z{||||}|}{{z{}{{z|}}|{{{}|{{{{{{{{{{{{{||{z{{{{{|{{{{{||{||{{{zz{{{{|{{{{{{{{z{{z{{z||{{{zz{z{{|zz||{{{}|{zz{zzzz{{{||z|{{|{yzzz{{||z{{{|{z{{{{{z{{{{z||{{|{z{{{z{{||{|{|{zz{{{zz{{|{{||}{{z{{z{{{||{|{|{z{{{{z{{{{{|{|||z{|zz{zz|}{||||||z{{{{zz|{{||{|{{z|{{{{{{||{{{{{{{|{{z{|}||{{|||{z|{{|z{{{||||||{|{|{|}{{|{|||||{||{{{{{|{||{||{|{{zz{|{|}{|||||{{||z{{|{||{{}|||||{{|{||}|}{|||||{{{{z|||||||||{|{|||z||{|||||||{|{||{{|||||||||{z|{{{{{|{{|{||{|{{z{{{{|{|{|||{{{z{z{|z{|{{~~}~}}~}}}||}}||}~|}||}||{{||{|z|{|z|}||{|{{{z{{|{}{|{{||{|{z{{{{|||{|{|{{{z{z{yz|{z{{|{z{{{{{z|z{|z{{|{|{{z{zzz{{z{{{{|{{z|z{{z{{{z{z{{{zyzz{{z{{{||{|{z{{z{{{{|z{|{|{{{z{z{{zz{||z|{{|{z{zzz{zz{zz{|||y{{{{{{z|{{{|{||{{{{{{|{{||{{{{|{{{zy{{{|}{{{|||{{|{z{{{{{|{||{}|{||{{{z||{{{|{{{z{{|{{{{{{{|{|{{zz||z{z{|{{|{{{|{z{{{z{|{|||}||{{{{||{{|{{{{|||{{{{{|{z|||||{|||{{|{|{|}|}|}||||{|{|{|{|||}|}}}{|||||{||}{|||}|}zz{z{{{|||||}|||{|{|{{{|||||||||{{{|||{||||{|{{{{{|||{{{}{{|||}||z{{{|{||{||||{z{{z{z{z{|{|z~~}~~~~~~~|}||}{||~}~~}}|}|{{|||{||}|{||||{z||{{{{{||}|{{|{z|{z{{{||{{{{z|z|zz{|{{||{{|||{{{zz{{z{{{{z{{{{{z{zz{z{{{{|zz||{z{{{z{{|{{{{{{|{z{zz|{z|{{{}{z|{|{z{zzz{|{|{||{{{{{z{{{z{{{{{}{{{z{z{{zz|{{|}{|{{{|z|{z|{{{{||||{{{{{{{{|{|{|||{zz{{z|{|{{|{{{{{z{{z{{{{{{{{}{|||{|{{|{{{}|{|z|{{{{z{{{|||{{{|{{{{{|{{{||{|||||{{{{z{|||||||||{{{{{{{{|{|{{{|{||zz|{{{{|||{||||{{{{{|{{||{||||}|{{{{|}|||{{||}|||{{|{z{{||||}{||{|{{z{||}||||||{z{{{{||||{|{}||}|{|{{|||||||||||{{{{{|{{||||||||{{|{zz{{|z||{|{{{|{z|zz|{|||~}~~~~}|}||}}}}|}}|}}|{|||{{|}{{{{}}}||||||{{||{|}|}|{{|{{z|z{{{|||{|{|{z{{{z||{|{}|{{z{{|{{{{{|{{|{|{{zzz{y{{{{|{{{z{{{{{{{z{|{{|||{{z{z{{{{{{{||||{z{|{{|zzz|{{|{}{|{{zzy{z{{zz{|}{{zz{zyzz{{z{{||{zz{{{{{{{{|||{||{{|zzz||{{{{|{||z{z{{{|z|{{|z{|{{|{{{{{{{|{|||||{||{z{{z{||||||||{{{zzz{||||||}||{||{z{z{{||||}{|{{{{{z{{{||}}||{{{{}{|{{{|}{|||{z{{{{z|{||||||}|{|{{{{||{|{||~}|}|{||{z{|||}||}}{{{z||{}~||~|}}|{z||||{|||}}{|||{{|{|{{{|{{||~|~|||{|{{||}|{|||{{{{{{{{{|||}}}|}{{|{zz{z{}{||||{|{{{z|y|{{{|~~~~~~~|}}}|}|||}|~}}}}|{||{||||{}||||||{{{{|{||||}{|}{{|zz{{z||||{}{|{{{zz{{{|||z{{|{|{|{|{{{|||{{|{|{|{{{|{z{|||{|||z||{{z{{|{|{{|{z{{{{{|{{|{||||||{z{z|{z{{|{||}||{{{{{{{{||{|{|{{{{z{z{|z||{{{{{||{z{|{zz||{{{{{|{{{{|{{|||||||{||{{{{|{z{{|||||{{||{{{{||{{{|}||{{|{{{{{{||}|}}||{{{{{{|{||{{{|||{{{{{|||||{{|||{{|{{{{|{}}|}|}}z{{{|{|{||||{{|}|{{{{|{{||}{}|}|}z|{|{{||}|||}}|||{|{|||||{||}|}}||{|{{{|~|||}|}|{{|{|z||}}}||}}||z|{{{z{|{||}|||{||||{{||||}~{||{|{{{zz||||||||||z{{z|{{|||}{|||{{{|{{{||||{~}~~~~~~~}}}||}||}}}|||||||{|{|||{||||}|{|{{|{z{{{|{||||{{|zzz{{|{||||{|z{z{{{{{{|{{{|{|{{{z{{z{{{|{{|{z{{zzz{{{{{{{z|{|{{zzzy{{|{{||z|{{zzz{{{{{{{{||{{|{{zy|zz{{z|z{{{{zz{{z{z{{z{z{||{{{z{{{z{{z{{|{{{{{{z{zz{{}{{||||{{{{z{zz||{{{|||z|{{z{{|{{||{||{z{{|{{{|||{|||||{{{{z{{{|}{{|||{{{{{{{z{||||{|{{{{|z{{|{||{||{||{|{z||{|{||{||}{{{{{{|{||{|||||{{{z|z{{|{||||}||{{|{{|{||}|||{|||{{{|z{|}{|||}||{|{|{z||||||||{|||||{{|||||||||{|||{{|||{||||{}||{{{||||||}{}||{|{zz{|z|}||||}{{z{{{{{z{|{|||}{{{|{{{|{{|}|{~~~}}}}}|{}||}}}}}}}{z{||z{}{}|}{{|{z|{{{{{}|||{}|{|{{z{{{zzz{||{|{z{|{{{{{z{{{||{{{{{z{{|{z{{|{}|{{|{{{z|{{{{z|{|{zz{z{zzz{||{z||||z{zzzyy{{{||{{{{z{zz{zz{{{{{|||{{{{{z{z{{{{z||{||{zz{zzz||{{|{|{{{z{{{z{|||{{|}{{z{{{{||{||{{{}|{{z{{{{|z|{||{||{|{{{{{|z{|{|||{{{{{z{{{|z|{{{{|{{{{z|z|||{{||{|{|{z{zz|||{{||||{|{{{{{{|{}{|{|z|{{{{{{||{{|{||{{{{{{z{|||}{|{}{z{{|{{z}||{|}}|{{{{z|{||{{|||}|{{|{|}{{{}||~|||}{|{{{{{|||}|||||{{{{{{{}||{||||||{{}||||||~||{||{{{|{{|{||{||}|{|{|z{z{||||{|||{z||{z{z|{}||~}~~~}}~~|}|{}}||}}||}}}|||{{{{{|}||||||{||{|{{|z|||{|}|{||{{z{y|||||||||y|{{|z{{||{z||z{{{{zz{{|{|{{{{{|{{zz{{{z{|{{|||z{z{z|{{{{{|{{||{z{{{zz{{|||{{{|{|{{{z{z{|{{{{{{{|zz{{{{z{|z{||{|{|{{{{z{{{{{|||{|{{{{z{z|{||{||{{{{{zz{{||{{|||{{{{{z{z||{{{|||{z{{{{{{}||{|{{|{{{{{{z{{|{{}{|{|z{{z{z{|{|||||{{{{{{{{z{||{{||}{{{{|{{{{|{||||{{{{{}z|{||{}|{||{z{{{z{z{|||}~||||{|{{{z{}||||{|{||{||{{{|{||}{||{{|z{|{{}||{}}|||{|{||{|||}||}|{{{||{{|||{||||{||zz|{{|{|{}}|||{{z{{z{{z|||{|||{|{z{z{{||||||||{|{{{z{{||{{|~~~~~}|||{|}}}}}}}}||}{|{}|{|{||||}|||{{{|z{|{{|{{||||zz{{{{{{}{{{|}{z{zz{{{{{|{|||{{{|zz{{{|{{{z{|{{|z{{{{{|{z|{|{{zz{{yzzz{|{z|{|{z{{{{zyz{{{{|{{{{{{{{z|{zz||{z||{z{zzzz{{{{z|{|}{{{{|{{zz||{{|{|{z{{z{z{{{{{z|||{|{y{z|z{{|||{||zzz{zz{{|||{|{||{{z{{{z}{|||{|{||||{{y{{{{||||{{{zz{{{{{{{||||||{{{{{zz|||{{{|z{||{|{z{|{||||}|}{z{|{{|{{|{}|||||{||{{zz}||{||{|{z{{|{{{|}{{||||{|||||||||{||||||{{{{|{{{}{||{|{|{{|{{|{||{|{{|||z{|{|{{|{|}}|}||{{z|{|{||{||}}{|{{z{z{{{{|}{|||||{{{z{{||||{{||{{{y|z{z|{|{{~~~~}~|||||{|}~|}}}}|||{{{{{{}{||||{|{{zz{{z{{|{|{{|z|y{{{{{z{{{{|{{|{{{z|z{{{{|{{||{{{{z|{{z{{{z{{{{zz{{yzz{{{z{{{|{{z{{zzzy{{||{{{|z{zz{zzz|{}{|{{{{{{zz{{{|{|{{{{{zz{z{z|z{{{{z|{|{z|zzz{z{{{{{{{{z{{{{{zz{|{{{{||{{zz{z{z{||{|||||{{{{z{z{|||{z||||{y{{z{{{|z{|{|{z|zz{z{z{|{z|z{{{{{|{{{{{{||{{|{{{{z{{{z||{{{|||zzz||z{z{{||{||z{||{{|{{|{}|{{|{{{{{{|{||{||||{|z{{{{z|||{{{|||{|{{{{|{{{|{||{}}{{{|||{{|||||||||z||{{{{|}||{|{|z{{{{{{|{{|||}~|z{{||{{||{||||||{|{|{{{{{z{{|}}{{{{z{{z{||{{|}||z{z{yz{|||{|~~~~~|}{||{|}}}|}|||}||||||{{|{|||{|{{{{{{z{{{|{}{{|{{{{z{{|z{||{||||z{{zzz{z{{|{{{{{{zz{z{zz{{|z{{z|{{zzz{{{{{{|{{z{zzzz{zz{{||{{||{zzz{{zz{{|{{z{{|{z{{zz{z{z{z|{{|{yzz{{z{{{{{{{z|{{{{zzz{z{{|{||}z{yz{z{|{|{{{{{|{zz{{{{z||{{{||~{{{zz{{{{{{{z{||{{z{zz{z{{|{{|||{{{{|z{z{{|{||{|z|{{{{{zz{|{|{|{|z{{{{{{|{{{||||{z{{{{{z{{|}||||{z{z{{|z||{||{}|{|||{{{z|{|{||}|{{{{|{{z|}{{||||{{|{{{{{||||||||}{{z{{{{{}||{{}||z|{{z{{||||{|||{{{{{{|{z|{{||}}|{{{|z{{{|{|}||}z||{{|{{{|||{|~}{{{{{{{{{|{||{||{{|{{z{{{|||{~}~~}~~}}|{|||}}||}~}}|||{{|{{|{{|}{||}|{|{{{|{|||{|}{|{zzz{{y|{||{{{|{{{{z{{zz{|{zz|z{z{z{{{{{{{z{{{{{|zzz|z{{{z|{{{{{z{z{zz{|{|{{|{{{z{zyz{z{{|{|{{|{{{zy{{zzz||{{{{{zz{zzzz{{{{z{{|{zz{z{{z||{{{{{|z{z{{|zzz{{{z||{{yzz|{|{{{||{{{|zz{{zz{|{|||{|{|{z{{zz{z{|{|{||{|z{{{|{{{}{||||{{zz{{z{y||{|{{|{z{|z{|{{{{|{{}||{{{|{{z{{{||||{{{{z{{z{||{||{|||{|{{{{|{|{|||{{||{{{{{z{|}|}{|}|{{{{{|||{|{|{}{||{{|{{z{{|{|}||||{{|{{{|{{|{{{||{z{{{{{{{|{{}||}{||{{|z{|||}{|||{zz{{{z{||{|||{|{|z{zz{{{{{{|||{{{{{{{{{{{}{{}~~~~}}}||}|~}}|||}|{{z||{|||{||}||||{|{|z{{|||{|||}{|{{{z{z|||{|{{|{{|zzz{{{|{z{|||{{z{{{y{{{}{{|||{{z{z{zzzz{{{|{|{zzz{zzzz{|{z||||y{{zzzz{||{{{{{z{{{{zz{{||{{{{{{{z{z{{{z{|{{||{{{zz{{zz{{{{z|{{zz{{{{zz{z{{|{}{|z|zz{{{|{|z{{{||{z{{zzz{z||z|{{{z|{z{zz{{|||{|{{{{{{{{zz{{{||{{|z{zz{{{{{||{{||||yz|{z{{{|{{|{||||{{{|{|{||}{||{{{{|{|{{|{||||||{{{z{y{|||{|||||{{{{z{{|{||||||{{{{{|{{{{{|||}|}{{{{|{z|}||{||{|{||{{{z}||{{}|{|{{|{{{||{|}|||}||{||{{|||{|}||{|{{z{{z{|||{||||{z{{{{{z{||{|}||{{{{{{{{|{{{{~~~~~}}}~|~||}|}}}|}}}||{||{{}|||{}}}|{||z{{{|}||{|||||{{{{{z{|{|{{{|{{{z{{{zz{{{{||{yz{{{{{z{{||{{|{{{{z|{{{|z{{|{|{{{y{{x|{{{|{{||{{{|{zzz{{||{{{|{{{{zz{{{{|{{{|||{z{{{y{z{{{{{|{{{{z{{z{{{{{|{|{{z{{{{z{z{|{{{{{|z{||{{{|{{|{|{{|{{|{{{|z|{{{|{{|{{{{{|{{{||z|||{|{{|{z{{z}{{}{|}{z{{z{z||||}{{|||{|{{{{zz|{{{|||{{{{{{{|||}|||||z|{z{{|{||z|{{}}||z{{{{{{|||}|}||{{|{{{{{|}|||||||||||{|{|||||{}~{{{||{{|||||}|||{{|{|{{}|||||}||{{{|{{{|{||}|}|{|{{|}zz}|{||||||z{{{z{{{||{{|}{||{z{{{z{||||||}|z{{{z{{{{|{{~~}~}}}~{|}}}}|}||||{{|{}|{{{||}|||{|{{z{{||{||{{|{||{{z{z{{{{{|z|zz{zz{{{{{{z{z{{{{zz{{{z{{{z{|{|{{zzz{zz{{{{{|{{{z{z{z{{{{{{{{{|{zz{zzz{{{{|z|{|{{{{z{{zz{{|{{{{{z{z{{zzz|{{z|{z{{zz{{{{{{|{{{|{{{zz|{z{|{{|{{||||zz{{|{{|{{{{{{{{{{{{{{{||{|{||||{|{zz{{{{|{||{|{z{{|{z|{{|||||{{{||{z{|||{{|}||{{z{z{z{|||{}|{{{z{{{{{{{}||||}{{{{z|{{||{|||}{{||{{{{{||}|||}|{{{z{{||||||||||{z{||{}|{||{|||}{{{|z{|{|}|||||||{||{||{|||||{}}}{{{|{y||{||{}||{{{z{{{{}|||}|}|{|{{{|{{{{{||}|{}{z{zzy{|{{{||}{{{z{zz{{{{|{{~~~}}~|||~}|~~}~}}|||{|{|}{|{|{{{}||{||{{zz||{|{{||{z{zz{zz{|{|{{{|}z{zz{|z{{|{|{{|{{|z{|z{{||{z{{{z{zz{{{{{{{{{|{{{zzz{{zz{{|{{{{{{zzzz{z{{||{y{{|{{|{yzzz{{{{{{|}z{{z{{z{{{{{{|{|{{{{z{{{{{{|{|||zz{z{|{z{{z{{{|||{{|{z{{{|{{{{||z{|z{{{{{|}||{||{z|{zz{{||{{||||{||{{z{{{|||{}{||{|z{z|{{||||||{{{z{{{{z||{{{{|}{{{|{{{{||}||||||{{z|{|{|{{{|}||{z{{{{{{|{||{||{{{{{{||||{}{{||}{||{z||{||{}||||}{{|{{{{{||||||||{|||{{||{||{{|||z|{{{{||{{|||{|}{|{{{{{||||||{||{|{{{|{|{{|||}||{z|{{|{{}{|}|||z|{{{z{z|||||~~}}}}|||||}}~|}}||{||{{{{|}||{|||z|{z{{{||{|||||{{{{z{zz{{|{|{{|{{|{z{zz{|{{{{|{z{z{{z{{z{{{{|||{{z{{{zz{{|{{z||{zzz{{zz|{{{{|{{{{y{zzyz{|{{{{|{zz{{{zzz{z{z{{{{{{z{|zz{z{{z{{{{{{{{{zyz{{{{{{|||z{|{{z{{{{z{{||{z{{{{zz{||z{{{||{|z{z{z}{{|{|||{|{{zzzzz|{{{||{{|{{zy|{z{|{}{||{z|||{{{{{||{{|{|{z{|{z{|{||{|{||z{z{{{{{z{}|{|{{z{{{{{{{{{||}}|{{|{z{{{{|}||||{|zz{|{|{z}|{|||}{|{{{{|{|}{|}{|||{{||{{||||||}|||z{|{z{{}|||||{{{z|{{{{||||||||}||z{{{{{||||}|||{|{{z|{{{|||{|}||{{{{{{{z||||{|{|z{z{{{z|{{{{~~~~|}|}~|}}}}~}~|~|}{|{|||{}{}{|||}}|{{{{|{{{||{{||{|{|z{{z{{{{{|{|{z{{z{{{|{{{{|{{{z{{zzzz|{{{z{{|{z{{|z{{{z{{|{|{|{{zzz{{{{|{{{|{{z{|z{{{z{||||{{{z{{{z{z|{{z|{{{zz{{zz{z{{{{{{||{zzzz{{{{}zz{{{|z{{{{|{z|{{{{{{|{{yz{{|{|{z{{|{|{{{{{{{{{{{{{{||z{{{{z{{{z||{|}||{{{{{{zz}|{||{|{{{{{{{{{|{{{|||{{z{{{{||||z{{{|{{{|{{{{{{|||{|{{{z{|z{{{{{||||||z{{{zz{{}|||||{|z{{{z{{|||||}||{{{{{z|||{{|||||}|{|{z|{{||}|}}||{{{{{{{}||||||{|{z|{|{|{|||{}|}|||||{{|||{{||||{{{{|{{{{|{|||||{{|{z|{{{|{||{||{{{|{zzz|{{{}~~~~}}}|}||{}}}}~|}|}||{{||||{|{||}|{||{{{{{{|||{|{|{{|{z{|{{||{z|{|z{zzz{|{{{z{{||{{{{{z{{{{|{{z{{{{y{{z{z{z{{{z{z{{zzzz{z{{||{{{|{{z|zz{z{{{z{|{||{{{{zzz{{|{|{{|{{z{{{{zzz{z{{|{{{{{zzz{z{{{{{{{z{{{{{z{{{{|{|{|{{{{z{z{{{{{{z||{{{{zzz{{z||{{{|{zz{zz{{{{|{{{||{{{{{|{zzz||||||{{{|{zzz{{{{{{|||{{{z|{{|{{{{{{{{|{{|{{{z||{|||||z|z{|z{z|{z|{||{|{{|{{{z|{|{{||||{{z{|{{|}|||||}{{{{{||{{{||||}||{{{{||||}{{|||||{||{{{{|}{|||}{{{{|{{{{{||||||||{{|{{{|||{|}|}|z|{y||{{z||{||||z{{{{{{{{|{z|||{z{zzz{{z{|{{{}}}|}}}}}}}||}||}{|||{}{{|||||{|}}z{{{||z{|{||{||||{z{{yzz{{|{|{{||{{{{{{zz|||{||{{zz{zzzz{z|{z{||{{{zz{{{z{{{|{{{{zzzz{{y{|{{{{{{zzzzz{yz{{|{|{{{zzzzzzzz{|z{z{|{{zzzzy|zz{{{{{{{zzzz{z{{z{yz{{{{zz{{||y{z{{{{||{{{{z|z{z{|{{{{|{{{{{yz{{{{|{{{||z{{{{zzz{{{|{{|{{zz{{z|{{|||{||{{{||zz{z{{|{{||{{{{{|{{{||z{{|{{{{{{z{z||{{|||||{{{{|{|{|{||{|}~{z{{{z{|{|||{}{||{z||{|z{|{{{|||{{{||{{{{|||||||||z{{{{{{|||{{||{{{||||{{|||{||{|{{{z|z{|{{{|{||}|z{}{|||{{||{|}{|{{|zz{{|{|{||{{{{{zz{z{||{{|{|{{zz{zz{{{{{z~~}~}}}|}|||}}||}|}}}{{{|{|{{|||{}{}||{|z|{||{|{{{||{z{z{{{z{{{z||{}{{{{z|{z|{{zzz{z|z|zz{zz|{{{{{{{z{zz{zzzz{z{z{z{{x{zz{zzz|{{{|{{{{{{yzz{{{{z|z{|{zzzzzzzz{{z{{{{{{{{z{zzzzz{{{{{{zzy{z{{{{{{z{{{z|z|{|{{{{{|{||{{{z{{z{zz{|{{||{zz{zzz{{{{{z||||{{zzzz{z{{{{|{||{zz|{z{{{|{{{|{|{{{zz{{{||||{{|{{{{|{z{{{|{{{|{{}{z{{{zz||}|||{{z{|z{{{{|{|}{{||{{{|{{{zz{|{|{}{|{zz{{|||{||||||{{{|z|{z{|{|||||{{z|z{{{|}||{{|{|{{{{{|{{{|{|||}|{{{{{{{|||||{}|{|{|{{{z||||{||||{{{{{{{{{|||{||{{{{yz{{{|{{{{|{|{{{{{zz{{|}{~~~~}|}||}|~}}}}}||||{||{|||{{}|}{{{{z{|{z{{|{{||||{{{{{{z{||{||{|{{{y{{{z{|{{{{|z{z{z{zzz{{|{{{{||zzzz{{z{{{{{|{z{z{{{z{z{{{z{{|zzz{{zzzz|{{{z{{{{{{z{zz{{{z|{{||{{{{{{zyz{{{z||zz{z{zz{zz|z{||{{{z{{{zz{{||{z{{|{{{zz{{{{|{zz{||zz{z{zz{||{|{{{|zz{zzz{{z{{||{||{z{{{{{{{{|{z|{{|z{z{{zz{{{z|||{{z{{{{{{{|{{z{|{{{{{{{{z|{}{{||z{|{z|{{{|||{||||{{{|{z{{|{|{{{|{|z{{z||{||||{}{}{{{{{|{{{|{|{|||||{{{z|{{|{|||||}{{{{||{{{|}}|}|{{||{{{{|||||||}zz|{{|{z|||}|||{|z{{|{{{{|{{|{||||z{{{{z{|||{|||{y{{zzz{|z|{{}~~~}}}}}|}}}}}}|~}|||{|{{||}|}|||||{||{{||||}{||||{{{zzzz{{|{||||z{|z|{z{{|{|{|||{{z{{{{z{{{{z||{|y{|{|z{{{{{{{{{z{{{{zzz||{z|{|{{{z{{{z{{{|{{{{|{|{zzz|z{||}|{||{{{|zz{zz{y{{|||||{{|z{{{|{|{||{|z{{{{{{z|{||||}|{{z{z{{{{|{||||{{z{zz|{{{{{||||{{|z{{{{{{|{|{{{{z{{z{{z{{|||||{{{{{|{{{|{||||}{{{|{{{|{z|{||||{{{||{{{|||}|}|{|{{{{|||z||||{{}|{{{|{{{{||||||}||{z||||{|{||||}}|{|{||{|||}||}}|}{{{{{|{|}|}|{|||{|{{{|{|||}|||||{{z{||{|||{{|||}|{{{{{|||||}}}}{||z{{{{|{{|{}{}|{{{z{|{|}{}|||{{{{{{{{z||{|{}~||}}}|~|~}}|}}{||{|||{{|||}}|||{z}{|{z{|}}|}}|{|{{z{zz{|{{{|{{{z{{{{{z{{{{z||{|z{{z|{{}|||{{||{{{zz{z{z|{{|||{|zz{zzzzz{{||{{{{{zz{{{{z|{{{{|{|{{{z{{z||{{z{|{{|{z{z{z{{{z{|{{z{z{{z{{{{{|{{{{{z|{{z{{{|{{{{{}{{{z{{|z{|{||}|{zz{{{zz{{z{}|{||z{{{{{{{{|||{||}zz{z|{|{|{|z|||{|{{{zz{{|||{{{||{|{{|{{{{|{{||{{{{{||{z{{{||||{}{zz||z|{|{{||||||z{{{{z{|||{||}||{|z|{|z}||||{||}||{{|}|{|||}|}||{{|z|{|{||||}}||{{{{z||||||{||}{{{|{{{||{|||{||||{{|{{{||}{||{}||{{{{{|{{{{|||||{{{z|{{{|||{{}{{z{|zz{z{{|||~~~}~}|}|}}~}}}~}}{{{{z|{|{{||}}|||{{z|{{{|}{{|{|{{{z{{zy{{{{{{{}|{|{{z{z{{{{{|||{z{z{zz{{{|z{{{{z{zz{{{{{{z{||{{{z{{{zzz|{|{|{{{{zz{{{{z{{{{|{{|{{z{{z{{{{|||{||{{{z|{zy{|{{z{|||zz{{|yzz{{{{||{{{{z{{z{|z{{|z|||{zz{{|{|{{{|||{|z{zz{z|{|{{{{{|{{|{{z{z|{|{||{{{|{|{zz{{||{||{z{{{{y{{z|||{|||{|{{{z|{z{{|{|{||{{|{{|z{||{|||{|{||{{{{{||||{||||z{|{{z{}}}}}{|z{{{|{{|{|||{||||{{|{{|||{|{{|||}{z{{{{{z||}||}|{|{{{|{{{|}{|||}||{{z{z{{||{|{|}}||{{{{|||{|{|||}{{{z||z{{||{{|||{|z{{{|{{{||{{{|||{{{z{{|{|{{~~~~~~}}}}|}}}}||||}{|}|{|}{{|{{|}{}||{||{||{{|{{{||{{{{{{zzz{{||||{|{{|{{{|z|{{|z|||{{{z{|y{|{{{{|z|{{{{zzzzz{{|{{|{zz|{zzz{{zz|{{|{|z{{{{{z|z{z}{|{z{{{zz{zz{||{|{{|{{{zzzzz||{{|||{yz{{|z{{{{{||{|{z{|{{zz{{{|{||{{{|{{z{{||{||{{{{|{{zy{{||{{|{||||{{{z{zz|||{|||{{z{{{{{{||{{|{|{z{{{z{z{|{{|||{{z|zz{z{{|{|{||||z{{z||{{||{{|||z{{z|{{||{|}{|{|z|{{{{{{|||{{|}||{z{|{{||}|{||}||{z{|{{{||{||{|}||{{{{||{}{|}}|}||{{||{{{{||||}||{{{{{{z{|}{|{|||{|z|{||{{|||||}{||{{{{{{|{||{{{||z{{{z{|||||{|{{z|{{|z{{||{|~~~~~~}~}}{~|}|||}}}}|{{{|{||||{{|{||||{{|{{{|{||{|}|z{zz{z|z|{|{{{|zz||z{z|y{|{{z|{{{zz{|zz{{{{z{|{{{zzzz{{{{{{|{{|{zz{z{{{z|{{{{||{z{{{{{{zy{{}|||{z{zzzz{z{zz|{{{{z{|{{zyzz{{{|{{{{{zzz{{z{|{z{{z{{z{{{{{{z{{{z|||{{zz{z{{||||{{{|{z{{{z|{{{{|{|{||{{z{{{z||}{||||{zz{{{{{||{{{|{|{z{{zz{{{{{|{|||{{|z|{z{{{|{||{{{{{{{{{|{{{{|{|{||{||{||||{}{||{{{{|{|{z}||||{|||z||{z{{|||||||}|{|{{{z{{|{{|||||{{|{{{{{|||||||{{|{|z{{}}|}||||{|{{|z{|{|||||||{||{|{{|{||{|}||{{z{{{{{{{|{|}||{{{{{z{{|||{{{||{|{{{z{z|{{{{~~~}}}}||}||}|}}|~~|}|{||{{}||||{}|{{{{{{{|||||{|||}{{{z{{z{|||{{|{|z{z{{{z|||{{|{|{{zzz{{{}{|||{z{{{{zz{zz{{{z{||{{z{{{{{|{|{||{{|z{z{z{zzzz{{{{{{{zz{z{{z|{|{||}||z{{{z|z{{{{{||||{zz{zz{z|{{{|{|zz{{zzz{{z{|{{||{{{{{zz{{{{z{{|{{{{{{z{z|{{{{|{|{{{{zzz{{|{|||{||{{z{{|z{||{||{{{|{{z{{z{}|{||{|{z{{{{{{{||{||}}{{|{{{{{}|{|{|||{{{z{|}{|{|||{|}{{{{z{z{{{|}||}|}{z{{|{{{}|||}}{{{|{{z||||{||||||{|{|{{{|}||{||||{||{{{z|{||||{|}{{z{{{{{{{||||||||{|{{{||}||{}{||}{||{{{{|||{|{{}{{{{{{{|{{|{}|{{{z{{{{{{{{|~}}}}}|{||}||}}}}||{{{{||{|{{}{|}}|||{z{|z{{{|{{{|}zz{{{{z{{{|{|{|{{{{z{zz{{{|||{|{{|{{zz{z{z{z{{{{zz{yzz{{{|{z|{|z{z{{{zzy|{{z{|{{|{zz{z{z{|{|{||{z{zzz|{{{{{z{||{{{{{z{{{|{{z{||{{{{{z{{{|{{{|{|{z{{{zzz{|{||{{{{z{z{z{z|{||||||{z{{{zz{{{{|{{||zz{{z{{{|||z||{||{{{{{{z||{z{{{|{|z{{{{{||||{|{{|||{{{zz||{||z{|{{{|{{{z|{||||}|{|{{{{{{||{{|||}{{{{{{z{||||}{|{{{{{{{z{}||}|}}{|{{}|||{{||||}||{{{{{{||||}}|{}|}{{{{z{{||{|||{||{{{{{{{z|}||{}||{z||z|||||}}}|{|{{z|{{{{|{{||{||{z||{|z}|{|{|{{{z{{z{{z}|{{{~~}~}}|}|}||~~~||}}|{|||{|||}{{||{||{{||{{{{}{}{{|}|{{z{zz{|{|{z{{|{zzz{{z{z|{{z|{||{{z{{zz{||{{{{{{{{zy{{|{{{{{|{{{z{zz{zz{{|z{{{|{{z{zzzz{||{{|{{{{{{{y{{z{z{{||{{{zz{z{z{z{{{{{{{{z{{z{{z{{z{{{|{z{{{{{{{|{|{{||zzzz{z{{{{{{z||{{z|zz{z{{{{|{|{|z{{zyz{{||{|||{|{{z|{z{z|{{{{|{{{z{|z{{z{||{{{{{}{{{{{z{{|{z{|||{{{{{z|{{||||||}{{{z{{||||{||||{|{||zz{z|||}{||}{{zz{{{z|}{|||{||z{{{|{{{||||}||||{{{{{|{||||||}{{{|{{{{||{|}||||{{{{{|{{||{|||~{{{{|z{{|{|{{||||{{{|{{{{|{|z|||{|{{{{{zz||}{|{{{{{|z{{{{{|{{~~~~}}{}||||||}}}}}}{{|{{}{||||||{}{{}|{|z{{{||||{|||{|yz{{{{{{|||{|{zzz{z{z{|zz{{{{{{{{{{{{{{|{||{{|z{{{{z{{{{{|{z{|{{zzzzz|{{{{||{{{{yzzz{|{{z|{{{{z{zz{zz|{{zz{{zzzzz{z{z{{{{{{||{{zzz{{zzz{{{|||{{{{{|z{{|{||{|{{|{{zzz{z|||{|||z{{{{{}z{}{|{{||{{{|{{{z{{|{}||{zz{z{z{{{|{{|||{{{z{z||{{{{{{{}||{|{{{{z||{{{|{|{{{{{|{{{|}{||||{|{|{{|{|||}||{|{z{z{{{z{||{}|||{{z{|{{{}|{{||}{{z|z|z{{{{{{|||{|{{|{{{{{||||||||{|{{{{|{}{||||||z{{{{||{{}|||{||{{{|{|{{{||{|||{{z{{{|{||{{|{||{{{{|{{z{|z}{{{||{|zzz{z{|{{{~{~}}||{|}}}}}|}{~|{||{{}|{|{{{{|z||{{{{|{||||}||z{|z{z{|{|{|{|}|z|z{{{{{|{{{|||{|zz{|{|{||{{}|{{{{{{{{|zz|{{{|{yzzzz{zz{{{{{{|{{{{|{{{z{{|{{{||{{{{z{{{{{{{{{|{|yzy{zz{|z{{{||z{|{{z{{z{|z{||||z{zzz|{z|{||{||{|z{{|{z||{|{{||||{|zzz{|{|{{{|||zz{{{{z{{||{||{|{z{{zz|{{|||{|{||{{{{{{z|{||||||{{z|z{z{{|{{{{}{|{|{z{{{||}||}||{{{{|{|{}{|||{||{{{{|{{|z||{{|||{zz{|zz{|||{||}|{{{{{{|{|||}}|}||{{{|||||~{|}|}}|{|{{z{{||||}}}}{|{|{|z|{||}||}||{||{{||{{|||}|}||{{|{{{{{||{|{}|{{{|{{{||{{{{||{{{zz{{{{|{{{~~~~}}}}}|||}|}||}~}}|}|{||{||||||}}{{z|{|{{{{{}|{||{|{zz{z{|||{{||||z{{{{|{|{{{z{||{{{{{{{z{|{}z||{|z{zz{z|{{{||{||{{{{|z{z{{|||{||{{{{z{z{{|{{}{{|{|zz{|z|z|{|{||||{z{|z{{{{|{|||{{{z{{z|zz|{|{||{|{{{|{z{{{{z||||{{{{{{{{{||{{{{|{{|{z||{|{{{{||||z|{{{|{|||{{{||{{{{z{z{|||{{}{|{{|{|{{z||||||||{{{{{|{||{{{{||{{{|{{{{{{|||||}|{{{zz{|{{{||||}|{zz|{{{{||{|||}||{{{|z{|||||||||{{|{{|||}|{}}|}|}|z|{{|z||||}}||{|||z{{||||||||}|{||{||{}{{}}}}|||{||{{{|||||||{{{{{{{{{|||{|||||{{z{{z{{{{|{|||{{{{{{{{||{|{~~~~~}}}}{}}||}|~}|}}{|}||}{~{{{|{|||z||{|{|z{|{{{{{{z{z{{{z{|{{||||zz|z|z{y||||{}|{{{{z|{zy{||{{{{{z{zzzzz{{{{|z{{{{zzz{z{{z{z{{{|{zz{zz{z||||{|||{{{{zzz{{z|{{{|}|{z|zzz{y{{{{{{{|{{zz{z{{z{|{{{|{{{{zz{z{{|||{{{||{zzz{|{{||{{{{{{{{z{{||||||{||||{{{{{z{|z{||||}z{{{{z|zz|{{{|{{{{{{{{{{|{|||{{{{z{{{{z{|||{|{{|||{|{{{{z|||}||||||{{|{{|||{}||||{{z{|{{|||||{|||{|{{{|z|||||}}|{{{{z{|{|{{||{{|}{|{{{{|{~||{|||||{{{{{{|{{||||{{{{{||{{|{{||||||}||{|||{||}|||||{{{|{{{{|||||||{|{{{{z{|{||{|}|{|{{z{{{||||z}~~~|~|}}}|}}~|~}|}}||{{{||{||}|}||{z|{|{{{|{||{{|}|{|{{{{z|{|{{||}|{{zz|{z{|{{|||||{{zz{{{z{}{{|{{{{|zz{{z|z{{{{{|z{{{{{{{{|{zz{}{{zz{z{{{{||{{{||{{{{zzz{||||{|}|zz{{z{zz{|||{{|{{{|{{z{z{||z{}{|z{|{{{{z||{{{|{{|{z|{z{|{|||||{||{{z{zz{||{|{{{|{{{z{{{{||||{|{|{{z{|z{{||{{|{|||{|z{{z{{{|||{|||{{{{{z{{||{|}{|{{{{{{|{{||}||||{|z||{|{|{{}|}|||{{{{{{{{|}{|||||{||||{{}}}|}||||{|{|||||{||{}|||z{{{{{{|}}}|{~}}{{|{z|{}||}|||}||{{||||||||}||}{|{{{{{{||{|||||||{{{{z{|{||{||||{{{z{{{{{||{||{{}|z{z{|{||{{}}~~~}||||||}}}}||||{|||{|||||}||}||{{{|{|zz{{|{{{|{{{zz{{z{{||z||||{z|zz{zz||{{{|{z{{zzzz{z{z{{{{{{z{{{zzzzz{|z|||{{{zz{{z{{{z|{{{{{zyzzz{{z{|{z||{zz{zzzz{|{{|{{{zz{z{{zz||{{{{||{z{z{z{zy{|z|{{|{{{{{z{{|{||z{||{z{zzzz{{{{{||||{z{{{{z{{{{{z}||zz|zz{{{{{{{|{{|{{{z{{|z{|{{|||{{{{z{z{{{||{{z}||z{{{{{{|||||}|z|||{{{|{|{|{||||{|{z{{{|{{||{|||z{{z{{{z||||||}{}{{{{{{{{|}|{{}|{{|{{{{{{||||||{||{{{{{{{}{}{{}||z{|{|{z||||||}|||{z{{{{|{{|{|||{||{|z{{}|{||||{{{{z{{{{|{||{{|{||{{{{{{{|{||{}{|{{{{{{{{{||{~~~~~||}}|{|}||}}}}|||||{|{{}}{|{}|}|z{{|{||{{||{|}|{|{|zz|z|{|{|{}|{zz{{z|{{{|{{||{|{{z|zz{z{||{|{||{{{z{zz{{{|{{{{{z{{{z{z{{{||{|{|{||z{{{z{|||{{{{{z{{{z{|||{}{{z{{z|{{{z{{{z{|{{{{zzzz{z||{{{{{{z{{{{{zz{{{{{|}|{{{z{z{y{|{{||||{{}z{{{{|{}{|{{|{{{zz{{{{|}|||||{{{{{{{|||{}|||||z{z|z{z{|{{{z{{{|{|{z{|{|||{|{|z{{{{{|z{|||||}|{{{{|{{{{||||}}|{{{{{{{{||||}||{}z{{{{||||{}||}|{{||{|||{||{||||||{{{{|{{}||{}||{{{|{|{{|||||}|||||{{{||{||||||||{{{{z{{{|||||||{{|{{||{{|{{|{||||{{z{{{|{||{||{{{|{{z{|{|{{|~~~~}}}}|}}|}}}~~}}}|z{{{}|z}||||||||{||{{|{||{}{|||{{{{zz|{{{{|{|{}|z{zz{||{||{z{|{{{{z|{z{{{{{{|{|{{{zz{z{{{{|{{{{{{{zzzzz{{z{{z{{{{{{{{zz{||{|z{|{{|{zz{{{z{{{{||{{{z{z{{|||z{{{|{{z{{{|{{{{{{|{{z{z{z{{{{|zz{{{||{{{{{z{}|||{||{{{z{{z{|{{{||z{|{{{{{{zz{||z{||{{{z{{z{{|{{}|||{{{{{{z{{{||{{||{{{{{zz{{{{{z{|||{{zz{||{{|||||{|||{{{{{{||{|{||||{{|{{z{{|||||{{|{z||{{{||}|{{{||{{z|{|{|||||||}|{{{{{|{{}|||||}{{|{|{z{||||{|||{|{{|{{z{|}{||||{|{{||{{}||||}|{{{{{{{{{{||||}|||||z||{{{{||{||}||{{{{{z{{{||~~~~~~~~|}|}||}{||||}|}|{|{{{|||{z}|{}||{|{|{{|{|{|{{{|{{{z{yzz{{{|{{{{{y{zz{{z{{z{{|{|{z{{{zzz|z{{z|{{zz{zz{{{z{{{{{}|z{z{zyzz|{{zz{{{{zz{zz{z{{{|{{|{z{|z{{{z{{{z{{|{{z{zz{{{z|||z{||{{zy{{z{{z{{{|{{{zz{{{{z{{{{{|{|{{{z{z{{z|z|{{|{{zzz{||z{{{|{|{|{{z{{{z{{{|||{||{{{|{z{{{{{}|}|||{{{z{{z|{{|{{{|{z{{{{z{||{{{z||{{|{{{z{||{|{|||{z{zz{|{{|{{|{}}{|{|z{{{|}||{||{{z{{z{{{|{{|{{{}|{{{{|z{{{{||||}|{{{|}{{{}||||||}{||{z||{{||{|||{{{{{{|{{|{{{||}|{|{{{z{||||||{}|{{{{z|z{||{||}{{{z{{z{z{|||{|||{{{zzz{z{}{||~~~~~}~~~}}|||||}}|}|}}||||{{{z|{|||{||{zz{{{z{{|{|{|||{{{{zz{{{z|||{{|{{{{z{|{{|{{{{|{{z{zzz{{{{{zz{{{|z{zy{{{{{{{{z|{{zzzzyzz{{{{{|{z|zzz{{{{{z{|{|{{z{{zz{{z{|{{{||{{z{z{zzzz{{{{{{{{{zz{{zz{{{{z{||{zz{{{zz{z|{z|{|z{z{{{z{{{||z||z{zz{yzz{z{|{{}{|{{{zz{{{|{z|{{||z{{z{z{{z|{|||{{|{{{{{{{{{{{{||{{{z{{{zz{|{|{|{{{|z{z|{|{{||{|||{|z{{{||||{{{|}|{{{{{{{{{|||||}||{{{{{{{}|{{{{||{{z{||{{||{{}|{{{{{z{{{{{|||{|}{|{{{{{{{|||{}|}|{|{{{{{z{||}|}}}|{|{|{{{{|{||||{}{{{{z{{{|{{|||{|{{|{{z{{{||{{|{|{{z{z|{{|{||~~~}~~~}}}}|}|{||}|{}||{}}{{{{|{|}|{|||}|{{{{{{z|||{{||||zz{zz{{|{||||||{z||{{{{{z{|{{|{{{||z|{{||{z{|{{{z{zz{z{{{{{{{||{y{{{zzz{|{z{||{{zzz{{z{{{|{{{{{||{z{{zz{{{|z{|}{{{z{zzzzzz{{{||zzz{{zzz{{{z{{{{{{zz{z{z{{||{}|{{{{{{{{|{|{{|{|}{{{{z{z{{{{{{|{|z{{z{z{{|{|{|{{{|{{{{z{{{|{|z}{{{z{z{||{|{|{z{}{|{{{{|{|||{|{||{{{|{{{|{|||}}|||{{{|{||{||{}|||}{z{|{{z{||{||||||z{{|{z{|||||||}|||||{|{||{{||||||{{{{{{||{|}}}}|{|{|{|z{|{}{|}|||{|{z{{||{|||}|{||{|{{z|}|}|{|}{|z{|z{z|||||||{{{|{z{|{|z|{|{||{{{{{z{z|||{{~}~}~}}~}}}}}{||}|||}}|}|{|z{|{{|||||||{|z|{{||z{{||{||||z{{z{{{{{{|{{{|z{{zz{{{{|{{{|{{|{{z|z{{{{|{{{|{{z{{{zyz|z{{{{|{{{zzzz{z{zz{{{|{{{{{zzy{{|{{}{{{{{z{{z{z{{{{z|}{{{{{z{{z{{{{{{zz{{{{z{{{z||{{|{{|{{z{{{{z{{|{||||z|z|{z{{|{{{{||{{{{{{{{||{{{|{|{{{{{z{{{{{{|||{{{z{{z{{{{|{{{||z{{{{{{{{|{|{{||{{{{{{{{||{||||}|{|{||{{{|||||||z{{{{{{z||||||||{{{{{|{{{{{{{{||{{z{{{z{|||{{|}||{|{{{{|||{{|}|||{|{{}{||}|||{|{{{|{|{{{{}||||{}|{{|{{||{}|||}||||{|{|{{}||}|}||{{|{||{{|}||{|}|||z|{{{{{|{|||{||||{{z{{{||{|~~~~~~~~}~~~}|}||||}}||||}|}||{||{|||{||{}}}|{|{{{{{}{||{||}{{{zz|{{{|{{||||{{z{{z{z|{|{{{z{{{{{{zz{|||{{||{{z{z{{y{{{||{{||zz{{zz{z{|||{{|{{{{{z{y{{{{{{{{|{{{{zy{z{z|{{{|{{z{{zzzzz{{{{|{|z|{{z{{{z{{{{||z{z{{{{yz{{{|{{{{{{{{{{{z||{|{|{||{{zzz{{{{{|{|{|{{{{{|{{||{{{|{||{{{{z{{{|{{|||||{{{{{|{|{|||||{{{{|z{z{{|{{|||{{|{{||{{{}|}||||{{||{{{z|z{{|||}|z{{z{z{|{|{|{||{{|z||{|||}|{|{|{{|z|||{{{||{{|||{|{|{z{|||}|||||{|{|{|{||}|{}||{{|{{{{{{||{{}}}||z|{{{{||||||||{{|{|{{{||||}||||{{{{{{{{|{{{{}|{||z{{{z|{|||~~~|~}~~}||}||{{||{}{}||||{z|{{{|||}{z||~{{{z{zz{|{|{{{{|{{|{{{zz||zz|{|}{z{{z{{z{|{|{}{{zzzz{yz{|z|z{{|{{{z{zzz{{|{{z{{zzz|zz|{z{{{{|{|{zzz{zzz{z|{|{|{{{{{z{{z|{|{|{{||z|z{zz{z{{{{{{{|{{zz{z{zz{{|{{||zzzz{{zz{{||{||{|z{{{z{{{{{{{|{|{{{zz{{{{|{{|}{{{{{z|{{{|{|}{{{|||{{{z{|{|{{{|{{{{{zz{zzz|||{}|{{|{{{z{||{|{{|{{{|{{{{{z|{||{|{|{{{{{{{{||||{{||{{{{z{{{||{||{{|}zz|{|{{||{|||||{zz|{|}{{}|||||||{{z{z{|||{|||||{z{{z{{||||||{|||{z{||z||{}||||}|}{{{{{{{{{|||}||{{zz|{|{{||{|{}}{{{{z|{{|{}||||z{{z{{{{|{|{{~~~~~}}}~}~|||}}}{|||||}}|}|||{{{||||{||}|}}||z||{|||{{{|||{{|z{{{{|z||{{||{{{{z{zy{{|z|{{|{{{z|z{{{{{{|||{{|z{{{z{{{z{{{{{z{{{zzz{{{{{{|{|{z{{{{zz|||{{|z|z{{{{{{{z{{|{|{|{{{{{z|{{{{{{||||z{z{{z{{{z{{|{{z{{z{{{{{{|}{||{{{{|{z{y{|{{|{{}{|{{z{{{|{{{{|||{{|{z{{z{|{|{||{zz{z{{|z{{|{|}|{{{|{{{{{{{|{z||z{{z|{z{{|||||{{}z|{{|{z{{||}||{|{||{z{|{{||||||||{{|{{{z|||{|{}|{{{|{{z|||}{|}{|{{{|{|||||{|||||||{{z{|||||||}|||z{||{{{||||||||}{{z{{{{||||}{}|||{{{{{{{|{|||{}{{{{||{{{}{|{}||||{z{{zz{|||||}|{{|{{z{{{{{|{~}~}}~~~~~}}}~|}|}|{||}|}|||}||{|{|||{||||||||||{{{z{z{{}|{{||{{{zz{{z|{|{{{{|{{{{{{zzz|{|{{{{{zzz{{z{{{||{{{{{z{{zzzz{{{|z{{{z{{y{{{z{{z{{{|z{z{zyzy{{|{{|||||{z{{zzzz{|{|{||{zz{z{{z{{|{{z{||{{zzzzz{{{{{||{{z|z{|zz{z|{||||{{{{zy|{{{{{z{}|z{{zzz{{{{{||}||{z{{{z{{{|{{{}||{{z{{{{z{|{||}||{z{{{z{z|z|{|||{||{|{z{|||{{{|{|z|{{{zz{{{{{|||}{{z||{{{|||{|}}|{|z|{z{{{||}}||||z{||{|||||{||}}z{{{{{|{|||{{|}||{|{{|||{||||||||{z|z|{z|{}|||||}{|{{{{{||||||||{|{||{|{|{{|||}|{z|{}{{{}|{||||||||{{|{z|}|{{||{z{|z{zz{|{{{|~~~~~~~|~~}}}}}|{}||||}|}}||}||{|z|||z{z|||{||{{|{{|{{z{{|{{|{|z{{{{{z{z||{{|{{zz{{z{zz|{z{{{{{{{{z{zz{z{{z{{{{{zzz{zz{|{|z{z{zy{z{z{zzz{{{y{{|zzzzzzz{{{{{{||zzz{zz{z||{{{z{|{{{z{z{z{|{zz{{|z{zy|z{z{||{z{{{{zz{zzz{{z{{{{{||z{{{zzz{{{{{}|{{{zz{{{{{{{z||{{z|{{z{{{{|||{{|{{{z{|z{zz|{{{||{{{z{{zz{|||{{||{{{z{zz{{{{|{{{z{{{z{{z{z{{{||||{{z{|z|}{|{{{||||{zz|z{{|{|||z{||{z{{{{{{|}||||||{{{{{{|{{||||||{|{{{{{|||}||||}|{{{{z{|z|{|{|{||{{{{{{{{{{{||||{{{{|{{{{{{{|{|||{{{z{{{z{{{|{|||{{z{zzz{|{{||{}{{{{{zy{z||{{{~~~~}}~|}~~}}}|}||}}||||}{|||}||{|{{|{{||||||}|{{{z{{zz{{||{z|{|{{z|{{{|{{|{}||{{{z{{zz{|{z|{|}z{{z{{zzz{{{{{{zz{z{{{yz{{z{|{{|{z{yzzzy{{||{{||{{{{{{zy{{{{{|{{|{{zy{{z{{{{{{|{{{{{{zzzz{{z|{{|z{zz{{{zz{z{z{{{{z{{zz{y{{{{{{|}{|{zzz{z{||z{|||{{{{z{|z||{z{|{|{{{{zz{{{{{|{|{|z{{{|{|zz}{z{|{{{z{{z{z{{||{||{|{|{|{{{{{|{{{}{|{|{{{zzz{||{|}}|{{{{z{{{{{{{{{|}{z{{{{z{{||{|{|{{{{z{{|z|||{||}{{{{|{|{{{||{{|||{|{{{{{{||}||||||{{{{{{{{{||{||{|{|{{|{{||{{|{||||{|{{{|{}||{|||{{|{zz{{||{{|||||z{|{z{{{|||{|{|z|{{{{{{{|||{~~}~}~~}~~|~~}~~}}}|~||{{{|}||||}{|{}{|{{{|}||{|}{{{|{{{{{{{{|||{||{{z{zz|{{|{{{||{z{{zz{{{{{z{{|{{|z{zzz{{z{{{{|{zz|z{{{{{{{{{{{{z|{y{{{z{z{{|{|{{{{z|{z{{{{{|{|{{{{{zzz{z{z{{||{z{{{|z{{{{{||{z{{zz{zz{z{{{{z|{{|{{{{{|{{{z||{||{{{z{{||{|z|{|{||z{|z{z{|{||{{||z{{z{z{{|{{{z|{||{|{{{{z{{|z{{{{{z{{{|z{|{{|{||{{{{{{{{{||{|{||||z{{{{||{{|{|}{{{{{{{|{{||||||||{{z{{{{{|||{{||{|{{{|{{{||{||}|||{|{z}{{||||||||{z{{||{{{}|}}{}||{{|{|{{}|{|||{||{{{|{z{{|||}||||||||{{{{|{||}||{{{{{{z{||||||||{z{{{|{z{||}|||||{{z|z{z{||{|~~~~}~~}~}~}}|||{||||}}{|}}{||{{|{{||||||}|}||||{z{|{{||||{|{|{zz{{{|{|z{|z{{z|{{zz{{|z{{}|{|{{z{{{z{|||{{|{z||{zz{|{{{z|{||{{|z{zzz{z{|{{|{{{{{{{{{|{||{|||{z{z{{{z{{{{{{||{{{{z{{{z{|{{|{{{zzz{{{zz{{z{|{|z{{{zz{{|{z{{||{|z{{{{z{||z|||{{{zz{{zz{|{{{{|z{{{|{{{{{{|}{||}||{{z|{{{|||{{|||{{||z{{{{||{{||{|{{{{{{{|}|{{|{{{{{{{{{z||||}||||{{{{z{z|{{|{|{}|{{{|{{z{|{{||}}{z{|{{{{|||{|}|}{||{z||{|}||||{||{{{{{{{|}|||||||z{|{{{|{|||||}}|{{{{{|{|}}|{||||{{{{|{|}{{}{|||{{|z{{{{|{|{|{|}||{{z{{{{|{|{|}{{z{{{{{{|{{{|~~|}}}}~~}~}|~}|||||{{||||||}}|{|{||z{{||}|}||{|||{|{{z{{|||{|{{z{{{{{z{|{{{|z{z{{{z|{{{{|{{|{z{{{zzzzz{{{{z{{z|zzzz{zzz|{{|{||{{z{{{zzz|z{{|{{{{z{z{zy{{||{{|{z{{zz{z{z|{{{{|{{{zzz{zzz{{{{{{|{z{{{z|z{{{{||}|{y{{z{{{{|{|{{||{y{z{z{{||{{{{{|{{zzzz{{{|z{z{{|{{zzz{{{{{{{{{|{z{{{{{{z||{{{|z|{z{{{{|{{{|{|{|{{{{{z||{z{{{{|{|||zz{z{z{|{|||||{{{|{z{|||z}|{|||{{|{|z{||||{{|||{{{z{z{|||||||{{{{{{{||{{|{|}|||{{{{|{{{|||||||||{{{{{||||||||||{{|{{{|||{{|||}|{{|{|z{{{{||}|}||{z{{{{|||||||}|{{{z{{z{|{|{|||{{{z}{z{{|{|{}~~~}}|}}~~~}}}||}||{{{|||||||||{{z{{|||||||}}|}|{|{{{z|{|||{||{|{z{{{zy{{{|||{||{{{{z{z{|{|{|{{{{{{zzzz{|{{{{zz{{z{z{{z|{{|{{{{{zzz{zzzz|{{{{{{zz{zz|{z|{{{||{{z{|zz|{z{{{|{{||{{{zz{z{zz{{z{{{{zzzzz{z{{|{{{{|zz{{{{|zz{|{|{|||z{{{z{z{||{{{|{{z{{zz{{{z{|{{{|{{z{{zz{{||{z{|{{{{{{{{{{|{{{{{{{{{z{{{z{||||{}|||{{{{z{}{||{||{{|{z{|{||||||{||{||{{{{z||{|||||{{{{{{|z{||||||{||{{|z{|||||}|}||||{{|{|{||{|{|||z{{{|||{}||{|||}{z|{z{||{|||||||{{{|||z||}{||}||{{|{|{|||}}{||}{{z||z{{|{|{}||||{{{zz{{{{|{{|||{{|{{zz{|{{{|~}}}}~~}}~}||~~|||||{||{||}|}}||||{z{{{{}|}|{||{{{{{|{{{}||{{||{{|{z{||{||{}|||{{|{zzz{{{|{z|}||{{{{z{{|{|{{}{|{{{{z|zy||{|{||}{zz{{{{z{{|z|{z{|z{{{{z{{||{{|||{{|z{z{{|{{|{|||zz{{zy{z{|{z{{||z|zz{{{{{|z{|{||{||z|{{{{|||{{}{z|z{zz|{{|{z||{|{{y{{{|{|{||{||||{{{z{z{||{|||{{|{|{{{{z{||{||}|{{{{{{{{|{|{|{|||z{{|{{|{|||||||||{|{{{{|{||||}||{z{{{{{{|{|||}|{{||{{{{|||{|||||{{{|{{{||}|||}|||{{z{|{|{{}}}|||{{{{|{||}|{}}||}{||{{{{|}{||||||{{|{|{||||{||}||{|{||{|||||||||||{z{{{|{|{|||{{{|{||{z{||{|}||{{{{{{z{{|{|{{}~~}}~|}}}}}|}}}}||{|||{{||||||{|{{{{{{{{||||||||{{{z|z{|z||||{{||z}z{{|{{{{|z{{|{{|z{{zzz}{{z{{{{z{|{{{z{{{zz{||{{z{{{z{{{{|z{z|{z{z{zz{|{||{z||{{z{{{yz{{|{{{}{|{{{z{zz{{|{||{|{z{z{zzz{{{{z|{{{z{z{{y{{{z{{}{|{z{z{|z{{{{{{|{|{zz{|{z{||{|{{{}{{{{zz{{{{{{{{{|{{{{|{{z|||{{|}{{{{|{{{{{|||{|{|{zz{zz{z{||{{{|{|{z{{{z{{||{{|{{{{{{{{{{|{|{{{|{{{z{{{|{{|z|{||||{{{{|{z|{||||{||{{{{{z{|||{{|}||{{{{{|{|||}|||||{z{z{{|{}|||||||{{{|{{{||{||}|}|z|{|{{{|||||||}{{z{{{z||}{||}|||z{{{{zzz|||||}|{{|{{{zz|{{{|}|{{z|{{{z{{||{z}~|}|~}|~~}~}}~}||||}{{{}}{|}}}}||z{{{|{|{|{|{|||{{{{{{z{|{{{||||{{{zz{y{|||{|{|{{z{{{zz{{{{{{{|{{{{{{z{{z{{{{{|{zyyz{z{|z{|{{{|{{|{{z{{zz{{z||{{z{z{{y{{{{||{{|z|{{{zzyzz{}{{{{||{z{z{{z{{|y{{{z{{z{{{zz{{{z}|{{z{{z{{z|{{|{||{{zzz{{z{{{{|||{|z{z|zz{{{{{}||{|z{{{|y{{z{{{||||{z{{{z|{{{||{{|||z{{{{{{{||{|||{|{{{z{{|{|||{|||{{|{|{{{|}|||}||{|{{{{|{||||||}{{{{{{{{z||{{||}{|{||{|{||||}{}}|{{{|{||||}|||||||{{{z{{|z|||{||||{|{|{{|||{|||{{}z{{{z|||}}|||}||{{{{||{||{|{||}|{{z{{{{|||||{|{|{{{|{{{{{{||{||{{{zz{{{{{||{~~~~}}~|}}}|}}}}|}}||{|||||}||{{}|~||{{{{zz{|{{|}|}|{z{{{{{{|{z|}||{{|{{{{{{{|{{||{z{{z{{{{{{|{{{{{{{{{{{z{{{|z{|{|{z{{{{{{z{{|{{{|zzz{zz{{{|{|{{|{{zzzzzzzz{{{{{{{{{{{zzz{z{|{{{|{{{zy{zz{{|zzz|{|yz{{zz{z{{z{{{{{{z|{|{{z|{{|{|||{{zz{{z{{{||{|}|{z{zz{}z|{{{{|z||z{{{z{z{|{|{{}{z{{z|zz{||{|||{|{{{{z{zz|{|{||||{{|{|{{z{{||{||{{z|z{{{||||{||||{z{{{{||{|{|{|||{{{{{z|{{|{}{{|||{{{{{|{|||{|||{|{|{|{||{|{|{||||{|{{z{{||||{|}|{{||{|{{{||||{|||{{|{||{{{{||||||{{{|{{{|||||}}{z{{{{{|{|{|{|||{|}{{{{zz{|||{||{{{{{{z{{{||{|}~}}}{}}||~|}~}}}}{|}{|||{|}||||}}||{{|{z{{|||{||||z|z{|{zz{{|{|{{|{{{zz{z|{{|{{{}{{{{z{{z{|{||||{{{z{{{{{{{{{{{|{{{{z{z{z{|{{|{{}{{zzz{{z{{{{|{{{{z{zz{yz{{{{||{{|{{z{zzzy{{|{||{{{zzzz{zz{{{{{{{{z{z{z{{{{{{{|{{{zzy{||z|{|{{z||z{{{{zz{|{|{{{{|zz{z{{{{|{{z|{||{{|zzz{z{z|{|{||{{zzzyzz{|{{||{||{{{{{z{|{|||z{{{zzz{{{{{|{|{{{{{{{z{|{|||{}{||}z|{{|{|{||{{|||||{z|||{{|{|||||{zz|{{{{{|{|{|}{{z||{|}||{{{{}}|}{{{{{|{{{}||||}|{{{|{{|{{||}||}}{|z{{{{{{|||{}|||{{{||z|||||{||{{|{z|z{z||{|||||||{{{{zz||{|||}{{{{{z{{{{{|{{~}~}}|||||||~~}|~}}|{{{|{|||{|||}|~{{|{{|{{{{{{{|||||{|{z{{||{{{{||{{zz{y{z{||{z{||{z{z{{zz||{{{{{{{{zz|z{zz{{zz{{zzz{{z{z{{{{{{{{{zzzz{z{z{{z{{{{{{z{{zzz{{{|{{{{{{y{zzz{z{{{|{|||{{z{{z{zzz|{{|{|z{{{zzz{{z{{||{{{{|{z{{{{{{{{|{|{z|z{zz||z{{{{{|{{z{{{z{|{{|{|{{{{z{z{zz{|{{|{|{{{zz{{z{{{|z{|{{z{{{{{{{|||{{{|||{||{z{z{{{{{|{|{{{{zz{{{|{||}||{{{{{{{||{{|{|||{{{|{{z{|||{||||{{z{|||z|||{|{||{{|{{{|{{{{}{|||}|{|||{{||||||{{|{||z{{{}||}{||||{z|{zz{|{{|||||{{{|{{|||{||{{{}{{{{{{{{{||||{|{|{z}{{z{{{{||||{{{|zz{{z|{|{{~||||}~{}{}|}|||}|||}{|{|z||{{|{|||{{z{{{z|{||}||{{zzzzzz{{||{{|{|{z{{zyzz{z{|z{{{{z{zzzz{z{{|{{{|{z{zz{{z|{{{{z{{{z{zz{{{z{{{{{{|z{{zzz{z{zz{zz{|{{zzzzyz|{{{{|{{{{{{zzzz{{{z{{{{{z{zzzz|{zz{|{||z{zzzzzzz{z{{|{|{{{{z{{z|{|z|{{z{z{{{z{{{{{z{{{|{{{{z{{{{{{{{{|{z{{z{{{z{{{{{{{|{zzz{{{z{{|{{|{z{{{{{{zz{||z{z|z{z{z{{{{{|||{{{{|z{z{{z{{{{|||{{{{z{zz{{|{{|{||}{{y{{z{{{||||{{|{{{z{{{{||{||{||zz{z{|||{||{||||{{{z{|{|||{{|||}|||||z{{{|||||||{{{{|{z|||{z||||{{{{{|{{{|{{|{|}{{{{{{{{{|{{{{}||{zz{z|{{{||{|{|{z{z{{z{{{{|{}}~}}{~}|}||~|||}}||}||{|{{|{{|}}|}{{{z{{{{{||{||||{zz{zzz{{{}|z|{|{z{{{{zz|{|{{{{{{{zz{{{z{{|{{{|{{{zyzyz{zz|z{|{zzzz{zzz{{{{{{{z|{{{z{zzz{z{{z|{zzzzzzzz|{{{{zz{{{z{{y{zzz{z||{|{{|z{zz{zz{z{{{|{{{{zz{zz{z{z{{{z{{{{{{zyz{{{|{|{z{|z{zz{z|{z{{|{zzz{z{|{z|{|||{|{{{zz{z{{{{z{|{{z{z{{zz{{{|{{||{{z{z{{zz{|{|{{|{|z{{{{{{{{{z{{|{{{{|{z{zz|{}||{{zz{{{{{||{|{{|{||{|{{{{z{||{||||{z{{|{|{||{{{z||{{|{||{{z||{{|||}{z{z{|z|}{{|{||{{|{|{{{|||||{||{{{{{{{zz|{}|{||||{{z{{||||||||}{{{z{{{z{{||{|||{{{{{{{z{||||z}|{z{{{zzz{z|{{}}}}~}}|{}}{||||}}}||}{||{{{|{{||||{{|{{zz|{|{}z||{||{z{zzz{{{{{{{{{z{{{{zyzz{{{{|{z{{z{{z{z{{{z|{zz{{y{{z{}{{{{{|{z{z{{z{{{{{{{{{|z{zz{zzy{{{{{{{{{zz{zzyz|{zz{{z{{{{zz{{z|{z|{{{{{zz{{zzzz|{{{{{{zz{{z{{zzz|{{|{|zz{{{zzz{{{{||||{zyz{z{{{{{zz|{{z{{{{{z{zz{z{||{|z{z{|{zzz|z{{{|z{zz{z{z{|{{|||{z{{zz{{z{|{{{|}|{|z|{z{{{|{|{{|{{zz{|{zz{{||}{||z{{{{{{z||{|{{||||{{{z{{|||{|{{|{y{{{{{|||{{|{|{{{z{|{|{|{|||{||{zz{{||{{|{{{||}}{|{{{{{|||||{||{z{{{{{{{|{|||||{{{z{{{|||{|||||{{{{z{z|{{|{{{|{|{{zzz{{{{z{{{|{{{{{{z{z{|{z{~||}}}||}{|}|}}}{}}|{|||z|{|||}|}|||}|{{{{{{{{|}|||{{{{{z{z|{|||||||{|zz{zz{|{{{|{|{|{{{z{{z|{{{||{{z{z{{{z|{|{{{{|{zz{{{z{{{z{{{{||zz{{{{z{z{{{||{{{{{{z{zzz||{{|{{{{|z{{z|{||z||{{{{{{z{{z{|z{}|||zzz{{{{{{z{{||{z{{zz|z{|{{|||{|{{{y{z{{{{{{{z|||{{{|z{{|{{|{|||{{|{{z{{z|{||{|||z{{{z{{{||||{||||{{{z{|{|||{||{{zz{{|{{{}|{z|z}{{{{{{{{||{||{|{{{{|{{|{||{{{|||{|{|{{z{||{|{}}|}z|{{|{{||{|||||{{{{{{{|}||{{|}|||{{{{{|{|||{||{|||{{|{{||}||||||{||{{{|{|||{{|||{|{|{||{|||}|||{{{z|z{|{{{}{|||{{{{{|{{|{|{||{{{{|{{zzz{||{|~}~||}|}||}{|~||}|}|{{{{|{{||||{|}{|{{{{{zz|||{|||{|||{{{{{{|||{{{|{{z{zzzz{{{{{{{{z{{zz{zz{zz|z{|{|zz{zzyz{{{zz{z{{z{y{z{z{z{{{{{{{{{z{{zy{|{{z{|{zzz{zzy{z|{{{|||zzz{zz{{z{|{{{{|{zzz{z{z{{{{|{{{{z{zz{{{z{{{z|{{zzzz{zzyz|{{{{{{|zz{{zzz{z|{z{||z{{{{{{{z{{|z{|{zzz{z{{z||{||{{{{{{z{z{{{|z|z|{{{{|{{{{z{{||{{{{{zzzz{zz{{|{{|{{z{{{z{{{{{||||{|z{z{{z{{|{{|{}|||z{{{zz{||||}{{||y{{{{z{|||z|{|{|||{{|{{|{{{||||}|{{{{z{z||||||||{{{{{|{||{|{|}{{{{{{{z{|||||||||{|{{{{{|||||||{z{{{{{z{{|||||{|{{|z{{|{{|||{{||z{z{{z{z|{{|{}}}|||||{}||||}||}|{|{{{{{z{{{{|}||{{|z{{{{|y{|||||{{z{zzyzy|{|{{|||{zzz{{z{{||{||{{{{zzzy{{|{z{{|{zy{{{yzzz|{y{zz|z{{zzzz{{{|{{|{{{z{{{zzzz|z|{{{{{{{|yzzy{{{{{{|z{z{zzzyy{{{{|{{{z{{zz{{z{|{|{z}|{zz{zzz{{|z{{{|{z{z{{{z|z|{{z|{{{z{zzz{z{{|{{{{|zz{y{zzz{z{{|z{{{zz{{z{zz{||{{{|{zz{{z|{{{{{{|{{{{{{zz{z{{||{{{{{z{{{{z{{{{{{||||{{{{{{{{{{|{|{|z{{z{{|{{{|||}||{{z{{{{{{{{||{||{z{z|{{{{|{|{|||{||{z{{{{{||||||{z{{|{{||}||{|}}{{z|{z|{|{||{|}{|zz{{{{{{||{{{||{{{|{z{{||||{|}}{z{z{z{{{}{|{{|||zzz{{zz{{||{{{|z{{{z{{{{||{|}||}|||||}z|}}}}||||{|{{z|z||{|{||{|{{{{{{{{|{{}{|{z{{{{z{zz{{|{{||z|{zzz{z|{{{{||{{{{z{{{zz{|{{{{{{z{z{zzz{z|{{{|{y{zzzzz{{|{{{z{{{zz{{zz{{{zz{{|z{{yzzz{z{{||{||{zz{{z{yz{||{{{|{z{zy{{zzz{{yz{z|{zzzzzzz{{{|{|{|{y{{{z{{{{z{{{{|{zzz|zz{{{{{{{{|zz{{{{{{{{|{{{|{{zzz{{zz{z{{{{{{{{{|{z{z|{{{{||||{z{zzzz{{|{{z|{|{z{{zz{{{||{|{{{{{z{z{{z{|||{{{z{{|{{|z||{||||||{|{zzz{{{{|{{{{{{{|{{z{||||{{{|{{z{{{|||{||{{{{{{{{{{{{z|||{||{{{{{{{{{{||{{|{||z|{{{|{{|{{{|||{{z|{|||||{||{{|{{z{{z{{{{|{{|{||{{{zz{z{{z{{{{{{{|{zzzz|{||z}}}}|{||{||||}|||||{|||{zz|||||||}|{{{{{{||{{{||||{{{{z{z{{{{|{|zz|{{{{z{zz{{||z{z||zzz{|zz{|z{z{||{z{z{z{{{z|{{||z{{{zz{y|{{z|{{|{{zz{{zzzz{|{{||{{{{zz{zy{z|{{{{{z{zzzzzy|{{{|{|{{{{{{z{zzz{{{|z{z{{{{{zzz{z{{{}{{{{{{zz{{|||{{|{|{z{z{{z{{{{{{{{|z{{z{{{|{{|{z{|z{zz{{{{||||{|||{z|y{z{{||{z{||{{{zz{zzz|{||{{|{|{z{{{{|{{{{{{|{{{{z|{z||||{|||{{{{{{{{{|||}}||||{{|{{z{|}|{}||{||{{{{{z|||{||{|{|{{z{{{||||{}||||{|{|z{|}||}}||}z{{{{|||{{||||}|{{{||z{{||{||}|z|z{||z{|{z||||}zz{{{{{z|||{{{{||{{{{z{|{|{{|{||{{{{{{{{{|||{~|}|{|{||{{|}||{|{}{|{{{{z{{||||}}{|||z{{{z|}z||{||{zz{y{z|{{||{|}{{{zzz{{y{|||{{{{zz{z|z{z{}{z{||{{zz{{{{{z{{z{{{{zz{zz{zz{{z{{{{{{{zz{yz{{{{|{{||zzzzzzyz{{{{|{{{{zzzzzzzz{|{{{{{zz{z{{zzy{zz{|{z{zzzz{zzz{{z{{{{z{zz{{{z|z{{{|{{zz{{zzz{{{|{z{{||{{zzy{{|{{{z{{|{{zzzz{z{z{{{||||{{z{yzzz||{{{{z{z{|{{zzz{||{{{{{{{z{zz{|{{{|{|{|z{{{|{{{||||||{z{{{{{{|{||{}|||{{{{{{z{|{z{|||z|z{zzz|y{|||{{}|{{z{{z{{{{|||}||||{{{z|{|||{||}|{{{{{z{{|||{||{|{{{zz{z{|{{{{{{|{z{{{{z{|||{{z{|{{zz{{z{|||{|}|{|{{{zz{z{|{||{|{z{zzzz{z{{|z{}}|}|{|{{{{||||||{||{{z|{|z{{{{{|{||{zz{{{{z{|{{{{{|z{zzz{zz{|{|{z|{z{{yzzy|{|{{{z{{{{z{{{{{{{zz{{{zzz{z{yy{z|{{{{{{{{zz{z{{zz{{{|{{zzz{{zz{{{{{{{{{zzyz{zz{{|{{{{{z{zzzzzz{|{z{z{{{z|yyz{yz{{{z{{|{{{z{z{zz{z{z{{{{|z{zz{{{{z|{{|{zzz{{z{|{{{{{z{{|z{z{z{{|z{{{{{{zzz{{z{z{{{{|z{{{z{{{z|z|{{z{{{{{zz{zzy{{|{|z{|||zz|zz{{{{|{|{||{zzz|z{{{{|}{||{z{|{{z{z{||{|{{|{{{{zzzz{{|{|{{||z{z|zzz{{||{}||{{{|{{{{|||{|{{}{{|{{{z{{||||||||{{|{{{{||{{{}|{{z{|{{z{{z|{|{|||{z{{{{{|{||{{|{z{{z|{z{{|{|||{|{{{|z{z{{|{{{{{z{{|zzzz{{|{||}}||}}{|{{|{|||~}|||||{{{{{{{|{|~||{{{{{|z{|{{{||||{z{{{{{{|z{{{{|{{{{zzz{z||{{{{z|z{zz{z{zz{{{{{{{{zz{zzyzz{|{z{{zz{z{yzz{{z{{{z{{zzz{zzzy{{|{z|{{z{zz{zy{{{{{|z{|zz{zy{zzz{{||{||z{{{zzzz{{{|{z{{{zzzzzzzz{z{z{{|{z{z{zyzz{{{{{{|{zzzz{{{{{{{||{{{zz{zy{{{{{{{{{{zz{|zz{{{{{z{|{|{{|z{{{z{{{}{{||{z||z{z{{{||z{|{{zz{zz{z|{{|||z||{z{{{{{{{{|{|||z{{z{{{z{|||{{{|{{{{zz{z|{|||{|{|{{z{{{z{}{|{|{|{{|{|{|{{{{|{|{{{{{{{{|{{||}|}}{|{{{{{{|||||||||{{{{{{{{{{{{||||{{{{{zz||{||{{{}{|zzzz{{||z|{|{||z{{{{{z{|}|{{{{{z{{{{zz{||{|}}}||}}|{|||}|{||||{{{z{{|{{{{{{||{|{{{z{zz{{{||||||{z{zz{z{{z}{{||{{{{{z{z{||{{|{}{z{zzzzz{{|z{|{|{{{{{z{{{{zz{|{|{{zz|{z{|{|{{{{|z{{z{{{{{{{{z{|zzz{zz|zz{{{{{||{{{zzzyz{{{{{|{{||{z{zz{yz{z{{|{{{{z{{zzy{{{z{|z{{z{zzz{{{{|{{{|{zz|z{z{{{z{{{{{{{z{{{zz{|{{{{{{{z{{{{{{{|{zz|{{{|{z|{z{z{{{{{|{|{z{{{zyzz{{{{{||z{{{z{z{||{|{||{{{|{{||{z{{|||||z{{z{{{{{{||||{|{z{{{{{{{|{{{||||{{{{{{z|{||||}|{|{{{{|z{||{|||{|{{{z{||{|{||{||}{{{{z{|}{|{|{{{{z{{{zzz{{{{||{{|{{z{{{{{{|{||||}{|{{{{{||||{}||||{|{{{{{}z{z{{|{|{{{|{{z{{z|}|||||z||{{||}}}}}||}{|||{||{{}|||||{|z|z|{{|{|||}{|{{{{{z{{{{|{{|{{{{{{{{{z||{|{||{|{z{{z{{{{{{{{|{|{{{zz{{{|{z|{{{{z{{z{{{{{|{{{{{{{{{{zzz{||z{{{{{{|{z{{{z{{{{|{z{z|{z{{z{{|{|||{z{zz{zzzz{z{z{{z|zz{zz{{{{{{{|{{{{{z{{z{|{{{|{{{z{{|{z{{{{{|||{{{{{{z{{{{{|{|z|{{{{z{|{{|||{|{{{{{{{{zz{||{{||{{{|z{{z{{|||{{|z|{{{{{{{{{|z{{{|{{{{{{{{{}|{|}}}{{{{||{z||{|{||}|{||{{|{{}||{||||||{{{{|{||||||||{{{{{|{{{|{||||{||}{{{{|||||}}}{|{{{{|{||}{|}||{|{z|{{{{{{}{}}}|{|{|{{{|||}||||{{||{{{{{||{{{||{{{{zz{z{|{{{{||{{{z{zz{{{{{{||||{{{z|||||~|}||~|{{||z{{|{{{{{|}|{{{{{{{||{{{|{|}{||{zzy{|{|z{{|{{z{zyzy||{{{|{|{z{zz{{z{{|zz{{z{{zz|{{{|||z{{{{{{{zzzz{{{{{{|{{z{z{{{{{{z{z{{{|{zz{zzyz{{|z{{{|{{zz{y{{{{{{|{{|{{z{{z{y{|{{||{{|{zz{{z{{{z{{{|{{z{{z{z{|{||{{||{zz{y{z{z{{{|{{|{y{zz{{|z|z{{|{{{z{zz{{{{{|{z|||{{z{z{{z||z{|{{{|{z{{zz{||{{|{||{{z|{z{|{|||{}{{||z{|{{z|{}||{{{{||||{{{|z||||}||{z{|{z{|||{||}z|{|z|{{{|{||||}}|{{{{{|{|{}|{||{|{{{{{||{|||{{||{{||z{{|{{|}|||{}{{{{{{|{||||{|}{{|{|{z{{||}||{|||{{{{{{||{{{{|||{{{|{{|{|||{{||{|{{|zz{{{||||{}|{{{|z{{{||||||||{{z{{{{{{{{|{{{{{zz{{{z{{|{|||{||zz{zz{{{{{{{{{z{{zzzzz{{{|{|{{zz{{{z{z{{zz{|{{{{zzzzyzz{z{{{{z{zzzzz{z{{z{z{{z{zzzz{z{z{||{z{{zzzyzzzz{|{{z|{{{{{zzz{zz{z{{|{{{{zzzz{zzz{{z{z{z{zy{zzz{{{{||{|z{{z{{{{z{{{{{|{z{{zzz{z{|{z{{{|{{{y{z{{{zz{z{||{{{{z|zz{{|z{|{{|z{{{z{z{||||{|{{{{yzz{{|{{{{{{{{{z{{{z{||{{{{||{|{z|{{{||{{|{{|yz{z{{z{||{|{{||{{{|zzzz|||{||{|{z{{{{{z}{{{|||||{z{{}{|{||||{|{|{|||{{{{|{|{||}{|{|{{{{{{}|{||||{{{{{{{{{{||||||z{{{{|{{{{|{|||{{{{{{{|{|{{|{|{|{z|zzzz{||{|||zzz{{{z{z{{{{{||{|||{|{|{|||{||}~||{{{{{|{{||{|~||{{{{{{z||{|{||||y{z{{z{{{{|z{||{{|{y{{z{{{|{|{{{{{{z{{{{{z{{{{|{{{z{z{{|{|{z||{{{z{zz{z{z{{{|{{z{{{zzzzz{{{{{{{zzzzy{zzzz{{{{|y{z{zzy{z{{{||{||zzz{{{{zz{|zz{{{{zzz{zzy{{{{z|{{{z{{{{{y{{zz{{{{{zzz{{zz{{{zz{||{z{{{{{{{{{{{{||{|z{{{{z{z{{{|{{{z{zz|z{{{{{{|{{{z{{{zz{|{|||||{|{{zz{{{{{{{{|}{{{{yzy{{||{{|}||||z{{{{{{{||}||{|z{{zz{{{||{||}|}{{{{{{z|{|{|{||{||{{||{|||}|}|||z|{zz{{z{{}{|}|{{{{{{{{{||||{|{{{z|{z{{{{{|||||||{{|{{||||}||}}zz{{{|{{{{{||||||{{{z{|z{{|}{{||zz{zyz{z{{|{||||||{{}{||||}|}|||{{||{{{{{|{z{|{|{{{{z{{{||zz{{|||{{zz{z{{{|{{|~z{z{z|z{{{|{|{||{{{{z{{z{||{z{{|{z{zzzzz{{z{{{{{|{zzz{zzz{{{{||{|{{|{{{z{z{{{{|{{|{{zzzz{{{{{||{|{zzy{zzz{{{z{z|{z{zzzzz{y{{{{{{|{zzz{z{zz{z{{{{|{{{zz|zz{{{|{|{{{z{z{y|z{{{{z{|{z{{{zz{{{z{|{|||yzz{z{zz|{{z|||{{{zz{{z{z{{{{{|~{z{zzzz|z|||{{{{{{{{{z{{||{{||}|z{{zz{{{{|||}{}{{|{{{z{{{|{}{|||{{{z{{{z{|}|{|{{|z{{{z{{||{|{{||{{|z{{|{{|||}||}|{||z{|{{}|||}{|{{{{{z|{|{||||}||{{|{z{{z{|||{}||{{zz|z{{{{|{{{|z{{{{z{||{||{|{}|z{|{{{z|||}{}z{{z{z{{{zz{{{{|{||||{|z{{||}||||}|{|{z{z||{|z||||{{z{z{zz{{{z{{{{zz{{{{z{|{||{|}|{{{z{{zz|{z|z{{|zzz{{y{{{|{z{{{{{zz{{{{z{{{{{|||{{z{z{{z{{{{{{{|{{zz{zz{z|z{{{{z{zzz{{zzz{{z{|{{{zzz{{zy{{{z{|{{{{zzzzzz{z{z||{{{z{z{{{z{{y{z{{{z{zzzzzz{{|{|{|{{{z{{{zz{{{z{{|{|z{zzz{{z|{{|{|{{zzzz{{{{z|{{|{||zz{{y{z{||{{z{|{z{{{zz{z{|{{|||{zz{zz{{|{{{{|{|||{{z{{{{{|{|z}|z|{z{{||{|{||{||{|{z{{{z{||{}|{}{{z{zzz{{{||{}||{{{|z|{|{{|{{||{|{z|z{z{{}{}{|}|{{z{{{{{{||{{|{{{z||{{{{{}{||{}{{{{|{|{{{|{|{{||{|{{z{z||{{}{|}|z{zzz{{{{|{|{{|{{z|zzz{{{{||||||||{{|{|{|||||{}|{|{{z{{{{{{|{|||{{{{{{{z{{z{|{{}{y{{{{z{{z{|{{{|{|yzz{yz{{{{|{{zz{{zzzz{z{z{{{{{|zzy{zz{z{z{y{{{z{z{{{z{|{{{zz{zz{zyzzz{z{|{{{{{{z{zz{{z|z|z|{{|{zzzz{z{{{z{{{{{{{{{zz{yz{{{z{{{z{{zz{zz{|{{{{{z|{{z{{{yz{{{z{{z|{{z{z{z{{{{{{{||z{zzzzz{{{{{|{{z{{zzz{z|{||{||{{z{{{z{{{{{{{|{|{{z{{{zz{||{|{|z{{{zz{{{||{{{{{|{{z{{{zz{{||{{}{{{{{{{z{|{{|{|{|z{z{{{{{{|{{|||||{z{{z{z||{{{|{}{zz{{z{{z{{||{||{{{{{{{{{{{{{{|{||{||zz{{{||{||{|z{{{{z{|{||{|{|||y|{{zz{z{|{{|{{|{z{z{{z|{||{||{||{{|z{z|{|z{|{{{{z{z{z{{z{{{|{{|z|{{z{z||{|||}{zzz{{zzz{}||{|{{{zzzzz{{z{{{||{{z{zz{zzzz{{{{|{zzzzzzzzzz{{{{z|{zzzzz{zz{{z{{{{|{zzzyzy|{{{y{|{{{zz{zz{{{{{z{{{z{zzzy{zz{|z{{{z{{zzzzz{{{{zz{{|zy{zzzzzz|{zzz|{zzz{{yzzz{{zz{|{{{{{yy{zz{z{z{|z{zzzzzzz{{{zz{{{zyzzzzzz{{{{z||zzz{zzzz{zz{z{{{{z{z{zzzz{{|{||{{{zz{z{zz{{{{|{{{zz{z{z{{z{zz{{{|{z{z{{{{{z{{{|{|z|zz{{{{{{{{|||{{|zzzy{z{{z|{||{{{{zzyzz{||{{{{||zz{{||z{{|z|{|{z{z{z{{{z{{z|{||{z{{{{|{{}|||||||{{{zzz{|{|||||}{zz|{{z{{{{|||{|||{{z{{z{{{z{||{z{z{{{yz|{|{|{|{|{z{{zzz{{||{{|{{{zzzz{y{z|{{|}|{{z||{|{{{|{z{||{||z{{{{|{{|{|||||{{{{zz|{{{{|||zz{{zzzz{{|{{z{|{|zz{z{z{|{{{{{|zy{zzyzz{|zz{||zz{zzz{{z{{{{{{{|{{yzz{yz{{z{{{{{zzzz{z{z{{{{{{{{{zzzz{z{{{|{|z{{{|{z{zzzz|{z{{||{{zzzz{z{{{z}||{z{zzzzyyz{{{{|{{z{{zz{yz{|{|{{{{z{{z{zz{{|{zz{{|{z|zz{z{z{{{{|{|{z{zzzzzz{{z||{|{{{{{{z{{|{{{|{|{{zzz{zz|{{z{{{{{{{{zz{{{{||{||{{z{{{|{{{||{|{||z{{{{{|||{|||{|}{{{{{{{{||||}{||{{|z{zz{{}|{{|||{{|{{{||{|{{|{|{|{z{{{|z{|{|||{|{{|{{{{{||{|||||{{{{{{{{||{{{{||{{z{|zz{}|{|{}{|{{|z{{z{||{||||{{|z{{{z{|{z|{{||{z{z{zyzz{|{{|z|{||{{{|z||{|}}||{|{{{zz{|{}{{}|}{zzzz{{z||||||||{z{{|{zz|z{|z{{{{z{z{{{z{{|{y{{{{{{zzz{yy||z{{{|{zzzyzzzz{|z{{{zz{zzz{{{{z{{{{{{zz{z{z{{z{z{{{|{zzzz{{yz{{{z{z{{zzz{zzzz{{|{{{{zzz{zz{zzz{{{{z{yz{{{z{z{zzz{z{{|{zzz{{{z{{{z{{{{zzz{{zzzz{{{{{{|zz{z{{zz{{{{{|{{{{{{z{{z{{{z{|{|{{zy{zz{z{{{{{{{{zzz{z{|{{||{{|{{{zz{{z{{{{|{|||{{{|{|{{{{|{|{|{||{{z{|{||{|{|{{|{{{{{z{|{|}|}}{|zzy{{{{{|{{{||zz{{{|{{|{||{{{{||{{{|{{{{|||{{|{}{{{{y|{}{|||{|{|z{{{|{{|{{{|{{||{z|{{{{|{{|{}||z{{{z{{{{|z{|{}||z|{|{{{{{{{{{{{{|{zz{zz{{||||{}{||{{{{{||||||}{|{{{{z{|{{|||{|{|{{{{{{{|{{{{|{|{{{|zzz{|{|{{{{{{{zzz{zz{||{{}{{|{{z{{{y{|{{z|{{|z{zzzzz{{{{||{{zzzzz{y{{{|{{|{{zz{{{{{z{{{{{{|{zzzzz{z{{{{z{{||{z{{{{{y{{{|z|{||z{{zz{z{z{z{{{{{z{{z{z{z{z{{|{|{z{{z{zz{{z{{{{{zzzz{z{zz{{z{|{{{{{{z{z|{{{{|{||{{zzz{z{{z|{{||{{{{{|{{z|{||{|{{{{zz{z{{{{|z{{|{{z{zz|{{{{{{{|{{{{{|{{z{{{||||}|{|{|{{{z||||z|||{z{{{{zzz{}}||{{{y{{{|{z|||||||{{z{{{|{{{{{{|}}||{{{{{{{{||||||||{{{{{{{||{|||{|}{|{|{{z}{{|}}}|{{{{|{{{{||z{|{|{|{{{{{z|}|{||}}{{{z{{{{{|{|||||{z|z{{zz{|{{{|||}{{{{zzz||{z{}}}z{|{{{zz|||||{|{|{|{z{{{|z{|z|||{{{{{{z{{{|{{{z|z{zzzyz{{{{{{{{|{z{zzz{zz{z|{|z{{{z{zz{zz|{{{|{{zzz{zyzz{{{z{{||{{zzzz{z{{z{|{{{zzz{zzzy{{|{||{{|z|{zz{{z{{z{|{{{zzz{z{zzzzz{{{|{{zzzyyyz{{{{{{|{{{z|zzy{{{{{{|z{{z{{zz{{|{z{||{{zzzzz|zz{|z{{{|zzzz{z{{z{{|{{{||{{zzy{z{{{|{{{{|z{z{{{z{||{z||{zz{{{{z{}|{|{{{|{{z{|{{|||}||{||z|zz{{|{|{|||{{}|{{|{z{{||||||}{{{z{|{{z||||{|||{{{{{{|z|||{|||||z{{{||{||{|{|}{|{z{z{{z{{{{||{{|{zz|z{{{|{||{|{{{|z|{{||||||||}|{z{{{{|{{|{|||{||{{{z{{{{{|{|{|zz{zzz{{{|||{||{{|{|z{|{|||{|||}{{{{{{{{{||||z|{||{{{|{{{z{z|z}|{z{{{{{z{||{|||{{{{zz{{y|{{{{|{|{{{|z{{y{{{|||{{{{zz{|{{{{|{{{{|{zzzz{zz{z{{|{z{z{{yzz|{z||{|{{{zz{{{zz}{{{{|{{|zzz{z{{z|{{{|{{{{{zz{zzy|z|{{{{|z{{yz{z{z{y{|{|{{zzzz{{zyz{|{|||{{{{{zz{{{|{{||{z{{{zzzz{{{{z||{{{z{zz{z{{{|{{{|zz{{zz{z{z{{{{{|{{{{{z{z{z{{|||{{{{{z{z{{|{{{|{|{z|z|{{{{}||{|||{{|{|{{{{|z|||}|||z||{z{|{{||||{|z{zz{{{|||{||||{{{z||{{{{{|}|}{{{{{{z{{{}{{{|}||{{|z{{{|{{{{}|||zz{|{{{z|{{||||{{{{|z{{{{||||||{{{z{zzz{{{|{|||{{{z{z{z{|{|{||{{|zz{zzz{{|{||||{||{z{{z{|}{{{{|{{zz|z{z|{|{||{{{{{{{|{{{{|{{{|||z{{yz{{{{|{|{{|{zzzzzzz{{{|{{{|zz{z{{{y{{{{{{{z{z{zzzyzzz{zz{{{{z{{z{z{{{{z{|{{zzz{{z{zzz|z||z|zz{{{zz{{{{|{{{|zz{{z{zz{{{{z{|{{zy{zy{zz{{|{{|{{{{yz{z{{z|{{{|{zz{z{{zzz{{{{|||{z{z{{{z|{{{{{{{zz{|zz{z|{|{{{||{z{zz{zzz{|{||{|{z{{z{z{z{{||}|{|zz{{{z{{|{{{{|{z{{{{z{||||z|{|{|zzz|z{{||{|||{|||{{{{|z{|{{}||||{{zz{zz|{||{|||{zzz{{{|}|||||||{{z||{|{{{{{|||{|{|{{{{z|{|}|||}|z{{||{{||||{||||zz{|{||{{|z||}{{|z|{z{{||z{||{|{|{zzz{{{|||||}||{{{z|{z{|{{|||{{{|zz{{z{|{{{|{{z{{{{{{z|{|{|{||{{{{zzz{|{||{||{{zz{{z|{{{{{{{{{{{{zzzyz{z{|z{{{{{zzz{zz{|{|z{z|{zzz{zz{{{z{{{{{|{{{{zzz{{{{z{z{{z{{{{zz{{|{{{{{zzz{{{zz{{{{{{{{{{{zy{{z{{{{{{{{z{{{zz{yz{{{{z{{zzz{zz{z{z{z{|{{|{zzzzzy{{{z{|{{z{z{{{z{zz|{{{{|{z|{{z{{||{{{{||{{{yzyz{{{{{{{|z{{{yzzz{{{|{||{{{z{{{z{z{z{{{}|{{{{zzzz{{{{|{{|{{|{zzy{z{|{{{|||{{|{z|zz{{|}|||}|{{{{{{z|{z{||||{z{{{{zz{{||}{|{|{{{{{z{{||||{{{{|z|{{{{{|{{||{{{{{{z{{{|{|||{{|{{|{{z{{{{|{||||{z{|{z{{||{|{||{|{{{|{z{{||}}|||zz{z{{{{{{{||}||{{{zy{{zz|{|z|{{{zz{{y{{{{z{{}}{|{{||zz{|||{|||{||{{|{{zz||||||||z{y{{{{{{{z|{{||z|zz{zz{|{{{||{{{z{{{{z{z{{{|{|{{|{zz{y|z{{{|{z{{{{zzy{{|{z{|{{{yzy{{{{|{{{{{{{{{z{zz|{z{{{{|{{{zz{zzyz{zz{||z|{{{{z{zz|{{{|z{{{zz{y{zzz|z|{{zz{{zz{zzz{{zzz{{{{{{z{zz{{{{z{{|{{{{z{{{z{|{{||{{|zz{{z{z{{{|{{|z{{{zz{y{z{{{|}|{{zzz{z{{{}|{||{|{zzz{z{{{{{{|{}{{{|{{|{z|{||{|{{{{z{{|{{|{|{{||{{|{{||||{|{|{||}||{|{z{z|}||{||||z{{zz{{||{{{{}||{{{{||{}|{||||||{{|{{{{|}|{{|||{{|{{{{|}{||||{|{{{{{{{y{|||}||||{{z{{{{{{||}|||{{{{z{{zz|{}{{|{|{|{{z{{{||}|{|{{{{{z{z{{|{{|{{{{z{{{{{z|{{{{{{}{{{zzz{{{{z{{|{|{z{zzz{z{{{{||{|{{z{{z{y{{{{z{{||z{{zz{z{{{z{{zz{{zzyy{{{{|z{{{zzzzz{z{zz{{z{|zz{zzzz{{{z{z{{{{|z{{z{yzz{{z{{|{z{zzzy{{zz{{zzz{{{{{zzzzy{{{|{{|||{{yzzzyz{{yzz{{{zzzzzz{z{{|{|{{yzz{z|z{{z{{z{|{{{zz{yz{{{{{{{{{{{{zzz{{{{|{{{{{zzzzyz{{{{||{{{{{z{{{z{z{{{{{{|{{{{yzzz{z|{{{{|{|{y{zzz{{|{{|{{{{{{y{zzz{|||{{||{{{zzzz{{||{|||{{{{z{{{z{{|{{{{||z{{{{|{{||{{||{{{{{z{{{{{{{|||{}{{{z{zz{|||{|}||{{{{z{{{|||z|{z{z{z{{{{{{{|{|||||||{zz{|{|{|||{z|zyz||z{{||{{|}{|{{{{{z{{{|{{|{{{{{z{{z|{{{{||{{{{{|{{{||||{||{{z|{{{z{{{z{{|||{{z{z{{{{{{{{|{{{z{z{z{{{{{{|{|{{|z{y{{y|{|{{{{{zz|zy{zzz{|{z{|zz{{{{zzzz{z{zzz{{z{zzzzzz{z{zz{|zzzzzz{zzz{|zz{|z{zz{zz{{{|zz|{|{{zzzz{{{{{{{{|{{{{{zz{yz{{{{|{{{{{z{{{{zzz{{{{{z{zzzzz{{{z{{{{|zz{{{{zz{|{z{{{|zz{z{z{zzzz|||{|zz{{{zzz{{|{{{{z{z|z{zzz{{}{z|zz{{{z{zzz{{{z{||{{zz{zzz{||{{{|{|z{{z{{z{{{{{|{||{{{|z|{z|}||{{||{zz{|{zz{|||||{{|{{{zzz{{|{|||{||{|{{|{{{{|||{||{z{z|{z{{|{|{}|{|z{{{zz|{{|||{||{|{{{{{{{{{|{{|}{{z{|{{{|{z||{{|{{{{{{z{z{{{z|{{|{y{z{{{{|}{|{{|{z{{{{{z{{{z{}|{||{{zz{|z||{{||{{{{z{{{{y{||||{|{z{{{zzz{{{{|{|{{{{{{{z{{|{{{{{{{{zz{z{yz{{{{{|{{z{zzzz{z|z{{|z{{zzz{zzz{{{{{{{{zzzzzzzz{{z{{{{{zyzzzzz{{{z{zz{zz{zzzzzy{{|{{{z{{{{{zzzz{|zz{{{|z{z{yzzzz{|zzz{z{y{zz{zzz{z{{{{{{z{z{zzzzz{{{{||{zzz{zyz{{{z{|{{zyz{{zzy|{|{{|{{zzzy{z{z{{{{|{{|{z{{{z{z|{{||{{{{z{{{zzz{{|{{{||{{{{{z{z}{|{{zz{{{{z|{z{||{{{|{{{z{{z{{z|{{{|{{{{{{{z{{{|||{{{|{|{z|{{{|}}||||||{{{z|{{{{|{||||{{z{{{z{{|}||{}{|{{{|{zzz{|||{{{{|{{{{z{|{{{{|{||{|{{{{{z{|||||{|{{{z{zz{{|{{{{{{|z{zyzz{{{z|z{|||{{z{y{{{|{{z}||{|{zz{{{{||{{|{|{z{|{{{y{{|z{|{{{z{z|{{{|z{|{||{{{z{z{{z{{z{z{{|{zzzzzzz|{{|{|{{zz{zzzzz{z{{{||{|z{zz{{z{{{{{{{{|z{yzz{yz|{{|{{|{z{z{zz{|{|{{{{|zzz{z{zz{|{zz{{{{{{zz{zz{{{{z{}{{|zzzzzzzzzz{|{{zz{yzzz{z{z{{{|zz{{{|zzzz|{{}z{|{{{{{zz{z|{{{{{{{zz{{{{z{|z{{||{{{{zzz|z{{{{|||{z{|{zzyy||{{{|{{{{{{{zzz{{|{{{|{{zz{{{z{{|{|{{||{{{{{z|{{|{{{|{{z{{|{{|{||{|{||||{{{{{zz{|||{{|{{{{{||{z||||{}|{}{{{{|{{|||}{||||{z{z|{|{}||||||{z{|{{|{{||}||{||z{||{{||{{||{|||{{z{{{{{|||{|||{z{z{{z{z{||{||{|{{z{z{zz}{||{|{{{{zz{|z||{{{|{|z|{{{{{zz{|{|{|}{z{{{z{z}{|{|{}|{z{{{{{{{{{{|{{||||zz{{{{{{{{{|||{{{{zzzz{|{{||{{z{z{z{zz|{|{{{|{zzzyyz{{{{zz|{z{z|zz{y{|{{{{z{{zzzzzzyz{{{|{|{{{zz{yzz{{{{{|{|{{{zz{{zzz|{{{z{{{{{{zzzzz{{z{{{{{zzz{zz{z{z{{|{zzz{z{{{{{{||z||{{{{zzzy{{|{{{|||zz{{zz{z|{||{{{|z{{{|zzzz|{{|{{{{{{{z{{{z}|{|{{{{{{zz{{|{z{|{||{{{zz{z{{{{{|{|||{{{z{z|z{||{|{||{{{{{||{{{{|z|}|{|{|z{{{{||{|{{{|z||{z{z|{||||{||z|{{||{|{z{|||||{{{z{{|{}||}|||||{{{{{{|{||||}{{zz{z{}{|{{|||}}{{{||{|||{{{||||{|{{z|{{{|{{{|||{{{z{{{z|{z|z{||{{{{{{{z|{{||}{|{|{{zzzz{{{{|{{|zz{{z{y{|z{{{{||{{zzz{{zzz|{{{|{{z{z{{zz{{{{z{|{zz|zz{z{{z{{{{{{{zzzzzz{z{{|z|{{{{{zzzzz|{{{yz|{{{{z{{zz{z{z{z{zzyzzzz{z{{{{{||zzzy{z{z{z||z|{||{z{{z{zz{{|{{||||zzzzzzz{{zz{|{zzzzz{z{{{{{{z{{{zzzzz{{{{{{{{{{{{z{z{yzz{{{{z{|{{{{{zz{{{{{{{{||{{z{{z{z|{{z{||zzz{zzz{z{{{{||y|{|{{z{z{{||{{{|{{zz{{{{{{{{{{{{z{{{{|zz{{|{{||||{{{z|{||{{||{{|}{{{{z{zz{|{{{|{||z{||z|{||||{|||{{{{{{{{z|{{{|||{z|{{{{{{|{||{|{|{{{{z{z|{{||}}{|z{{z|zz{{{{{|||{{|{|z{{{|{{||{{{{|{{|{{{|{{{|||||{{{zz{{|||z{}|z{z{z{z{{{{{z|z}{z{{z{|z|||{||{}|{{z{zz{||||{}||zz{{{{{{{{{z{||}{z{{{zz{||{{z{{|z{zz{{{{{|{zz|{||z{zzzz{{||z{||{{{zz{{{{{||{{|{|{{zzz{zz{z{|{{{|{|zzzzzz{{{{{|z{z{z{y{z{z{{{|{||z{{{zzzz{{|{{{|z{zy|zz{z{{{y{|{|{{zyy{zz{{{{{|{|{zzzzyzzz{|{{{|{{{{{z{{z{z||{z{{{{zz{y{{{|{{|{||zz{{z{{z{{||{{|z{zzz{zyzz|{|{{|{|z{z{zzz{{|{{{|{|zz|{z{{{{{{{||{|z|zz{{{z{{||||{{{{{z{|z|{{{|}|}{zz|{zz{||{|}}|}|{{{zz{{|}z||{}{{{{z||{{{||}{|}||{{{{{{{{|||||{}|z|{{|{{{{{{||||{{{|{{{|{{{{}||{{{|{{z{||{||{||{{z{z{z|{{{|{|{||||{{{z{{|{|{{{||{|{z{{zz{{{{|||{{{{{||{z{{|{{}{|{|{{{z{{||{{|{{|{{{zz|{{|{||{|||}{{z{{zz{z|{z{||{{{zz{{z{{|{{|{{{z{{z{z{{{{{{z|{{{z{{z{zz{{{{{{|{{z{z{z{zz{{{{|{z{zz{yzzz{{{{{|{zzz{{{yz{{}{{{{|{{{zyz{zz{{|{{||{z{z{{z{z|{z{{{{|z{zzz{zzz{zz|{{zz{zz{zzz{{{|{|{{yzzzz{z|{{{{{{|{z{|{zz{{|{{{{|{z{z{{z{zz{{{|{{||{{z{z|{{{{|z{{{{{{z{{z{{{{{{z{{{{{|z{yz{{{{{{{{z{{z{{{{{|{|}||{z|{{{{{{||{||{|}{{z{{{z||||{{|}{|{|z|{z{|||{||}|{|{|{{||}||{|}|{|{{{{{{{{|}|{|||{|{{{{|{{{{|||||{{z{{{{{{{|{|{||{{{{{zz{{||}||||{{|{{|{{|{|||||}|{z{z{zz{}{{{{|{{z{z{{{z{{{|||{{{{zzzz{z{{|{z{{|{{{z{{{z}|{{{|||{{{{z{{{z{{{{||{{z{z{zz{{z{{y{{{{{zyyz{yz{{z{{{{zzzz{zzzz{zz|{{{{zz{zzy{zz|{z{{{z{zzzzy{{zz{{{{{zyzzzz{z{{z{z{{z{zz{z{zz{z{{z{{{{z{zzz{z{{|{{z{{zy{{{z{z{{|{z{zzzz{zzzzzz{{{z{z{{z{zzzzyz{z{{{z{{zz{{zz{{|{{{{{|zz{{zz{{z{{{|{|{z{zz{z{{{{{{{{|{{z{z{z{z{{|{|{{{|yzzzzzz{{{{|{{{{zzzzz{z{||{{|{|{{zz{{{|{|{|{|{zz{{{{{{{{{|{{||}{{z{{{{z{{|{|{~z|{{{{{{|{}||{|||{z{{|{{|{|{||{||}{{{||z{{|{{||||{{|{z{{||||||{{||z{{{z{{{{{{||}|{{{{{zz{}{{{|{||{{yzzz{z|z{{z||{{{{{zz{{|{{{{|{{{{{zzz{z{{|{{z{{{z{zz|{y{|{|z{||{zz{zzzz{{{|||{{z{zz{zz{{{|{|{{||{{z{zzz{{z{z{|{zz{zzz{z{z{{{z{{z{{z{zzz{{z{z||{|z{{zyz{|{{{z{{|zyzzzzzzz{{{{{|{zzyzyzz{zz{{zz{{zz{{{{z{zz|z|{zz{{{zy{yz{{{zz{{{{{y{{yzy{{{{z{{{z{{zzzz{z{zzz|{{zzyzzzzzz{{zz{|{{{zzzzz{{z{{{{{{|{zz{{{z{{{|{|{|{{{{{{{y{z{z|z{{zz{z{zzz{|z{{{{|zzz{zz{z{{|zz{{z{{z{z{{z{{|{{{{{{zz{{zz{{{|||{{{{{zz{z{z{|{|{|}{|{|{{zzz|{{||||{|{{{{z{{|||{||||||{{{{{{|||{|{||{{|{z||z{{|{{||{|{{{z{{{||{|{}{|{{{{|{z{{||{{{|{{{z{|{z{||{{|{}|{|{z{z{z{{{{||{{{{{zz{{z{|{{{||{{z{z|zzz{z{{{|{|{{{{{zz{{{|{{|z{{{zz{z{{{{{|{{||{zz{{{zzz||{z||{zz{{{{zz{{|{z{||{{zzzz{{{zz{{|{|{z{zz|zz{{{{{|{{{zzz{yz{{{{{z{{{z{{zy{{{{zz{|{{{zz{yzzzz{{|{{{{{zz{{zzzy{z{|{||{yz{zz{{zzz{{{|{{{{zzzzzzz{{{{z{|{{|{zzzzz{{{{|z{z{{zz{zz{{z{{{|{{{zz{zzzz|{||{z|{z{z{z{{{{{{{{{{z{z{zzzzz|{{{{{{{zz{{z{{{|{{{{{|{{{zzzzz|{||z{{{{|z{{{{{{{{{||{{{{zz{zzzz{|}}||{z{z{z{{z||{|||{|z{{|zzzz|z{|{|{{{zzz{{|z|}|{}{||{|y{{{|{{{||{|||{{{{z{zz||{{|||{{|{|z{{{{{|||||{|{{z{{|z{{{|||||{{z{{{z{|{{|||{|z{{{{{|{{{{||z|{{{{|{z{z{{{{{{{|z{{z{z{z|{{{{{|{{{{z{{zz{|{{{|{{|{{{zz{{{{{{{z{|{zzyz{zz{{{{{|||zz{{z{z{{{z{zz{||{{yzzzz{z|z{z{|{z{{zy{zz{|{y{{z{zz{z{{z{{{{z{|{zzzzzzz{{z{{{{{{{zzzzy{z{{zz{{{{zzz{yzzzz{{{||{zzz{{z{{z{zz{{{}|z{{zzyzy{z|{zz{{z{zzyzzzzz{{z{{{{{{zzzzz{{{{{{|{z{{z{zz{{{{{{{{|{{{zzz{z{z{{{{{|zz{{zz{{{{{{{{{|{y{{{yz{zz{||z{z{z{z{z{yzz{{{{|{{{zzz{z{{||{{{z{{z{|{{z{{|||{||{{{{z{|{{{{{|{{{}z{{z{z{z{{{|||||{z|{{zz{{|{{{{|||z{{{{|{||{|||{{|{{{{{|{{|||{}{{{{{|z{{||z||||{||zzz{{z|z{{|{{{}{{z{{{z|{|}{||{|{{{{|{{z{{{{{}||{{{{z{zz{|{|z||{{{zz{{z{{||{{{{|{{{{{zz{z{|{{|{{z|z|{z{{{{{{|{{|{{{z{{|y{{{|{{||{z|zzzy{{|z|{|{|{zzzz{zz|{||zz||zz{{{z{{z{{{z|{||{z{zz|{{{{|z{z{z{zzz{zzz|{}{{z{{zzzzzzz||{|{{{{z{{zzzz{{{{z{{{{z{zzyzzzz{zz|{{|zz{zzyzzz{{|{{z{z{zzzzzzz|{{{{{{{{z{zzz{{z{zz{}{zzz{{z{{{{{z|{|{{{{{z{zz{{{{|{||z{zz{zz{{{zz{{|{|{{z|z{zz||{{|{|{z{zzyzz|{|{|{}{{{{{{{z{z||{z|{{{z{{|z|{|{{|||{z{{{{|{|{|||||||||{{{z{|{z{}{{{|||{{{{|{{|{|{{||}{{{|z||{||{{|||||z|{{||{|}|}|}|||{z{z|{{{|||||||{z|{z{{|{|{|||{|}z{{{{zz|{|{{|}|z{{z{{{z||{|{||{z{zzz{zz|||{|{{{zzz{{{{z{{{{|{||{z{z{||{|||{|{|{|{zz{z{z||{||}{{}{{{{{zzz{}{{{{|{{|zzzzz{{|{z{|||z{zzz|y|{|{{{|{{z||{{{zz{|z{z||{{{z{{{z{{{{{{{{{{z{{zz{{|{{{{{{{{zzzz{{{{{{{{{{zz|z{z{{z{{{{{{{zz||y{zz{||{{{{{z{z{zzz{z{{{z{|{{z{{{{{{{{{z{{{{{{{zzzz{{|{{|{|||zzz{z{z{{{{|{|{|{{zzz{{|{{z|z{{{{{{{{z{{|||{}||z|{{{zzz{{|{}{{||{{z{zz{|{{{||{{{{{zz{z{{|z|{|{||{{{{{z|{|{}{|||{{|{z{|{{|||||}|{{{{z{z{||}{|{{||{{{{{{{|{||{{||{|{{{{|{z||{}}{{|z|{{|{z{}|||||||{{|{{z||||||||}|{{{|{{||{z|||||{{{{{{{{|{|{|||||{{{{|{{{{{}|||{{{{{{{{{{|}||{{|z{|{|{{{{{|{{|{|z{z{{{zy{{||{z||z{{{{z{{{|{|||{|{|{z|{z{{|{z|{{{z{{zzzzz{{||{|z{z{{zz{{{{z|z{|||z{{zyzzz{z{{{{{|{z{z{{{z{{{{z{{{zz{{z{{zz{z{|z{zz{zz{{z{{|{{zz||zzz{{zzzz{{{{{{{{z{zzzzz{z|{{|{z{{z{zz{zzz{zz|{{z{{yzzzzz{{{z{{{zzz{{z{z{{{{{|{{{zzzzzzyz{{{z|{{{zzz{zy{z{{{{{{|{z{{z{zz{|{{{{{{{{z{zzzzz{{{{|{{zz{z{zzz{z{{{||z{{z|zz{{||||{{|{|{{{{z{z{|{{||||{{|{{{{{|||{{|||{{z{{{{z||{{{}||{zz{{{z{||||z||{{z{{{|{z{|{{{|||{{{{{{{zz|||}{|{|{{{{|zz{{|{{||||{|{{{|{{|{}||{|{|{||zz|{{{||||||{{|{{{{z{}{{|||{{{zz{{{{|{{{||{{{{z{{{z{{|{{z{||zzz{zzz{||{{{{{{|z{{yzz{{z||{||zz{{{{zz{{{{{{{zzz{z{zzzz{{|z||{|zzzzzzy{z{{||{|zz{zzzzz{{{|z{{{|z{z{{zzzz{zz|{{{z{z{zz{{zz{{{|zzz{zzzzzy{|{{z{zzz{zzzyzz{zzzz{{zz{yyz{z{zzz{{{{|z{zzz{z{{{{z{|{zz{{{zzyz{zz|{{{{zzzz{zz{{z{|{{{zzyzzz{z{{|{z{{|yz{yzy{z{zz{{{z{zz{{y{z{{{{{{|{{zzz{zz{z{|z||{{{{zz{{zzy{{{{|{|z|{z{{z{|||{{z{||{{{z{{{{{{{{|{||z{zz{{|{||{|{{|{{{{{{z{{||{|||{|{{{z{{zz|||{{|{|z|z{{{{{|{|{||||{||{z{{{z||{{{}|{|{{{{{||{|||{|{{{z{{{z{{{{{{{z|{{{{{y{{{{{{|{{|z{{{zzzy{{|{{{{|{{z{{yzz{{{{{{|{{z{{zz{z{{{{||{{||z{{{z{{{{{{|{{{zz{{{z{{{{{|||{{{{|{{{{||{|z{{|{{z{zzz{z{||{{|{{{zzzzzz|z{{{{|}{zzyzz{yz{{{z{z{{{z{z{z{zzzzz{|{{{{{z{{z{z{{{|{{zzy{zzzzz{zz|||{zzzz{zzz{{||||{{{{{{zzzzz{{zz|{{z{zz{{{{{z{{z{{{z{zyzzzyz{z{{{{{z|zy|zz{z{{{{{{{{z{z{zz{{{{|z{|{zz{zzzzz{z{{||{{zz{zzz{{{{{{z{{{{{zz{z|z{{{{{{{{{{zz{{zzz{{{{{|{{{z{{zzz{||{{{{{|z{z{{{{|{{{||||{{z{z{|z{|||{}|||{|z{{z{z||{{{|{{{{z|{{{{|}z||||z{zzzz|{||||{|{}|{|{{{{|{}|{{|}||z{{{{{{|{{{{}|||{{{z|z{{|{|{}{||{z{{{z{|{{{|{||{{|{z{z{{|||{{||{{z|{{{{{{{}{{{|{{{{z{{{{{|{{|||zz{{y{{{{{z{z{{|z{z{|{zz{{|{{|{|zz{z{zzz{{{{z{{z{zz{{zzz{|{|{{|||zzzy{{y{z{{z{{{y|zzzzzzz|{zzz|{|z{yzzzz{{{|z{{zzzzzz{zyzz{{z{{|zzzzzyzzz{{y{{{{{zyzzyz{z{|{{{{z{z{zzz{zz{z{{{{{zy{zzyyzy{{zz|{}z{zzzzzz{{z{|}z{z{zzz{{z{{z{z{|{zzz{{y{zz{{{z|{{zz{zzyzz|{z{z|{{yzzzzzz{{{{{{||{z{zzzz{{y{{|{{{{z{z{zzzz{{{|{{|{{z{|z{zz{|{zz|z|{z{{{||{||||{{|{z{{{{{z|||{{|{{|z{{{z{{{{{|{|{|{|z|{{{{z{{|{{|{|{z|zz{}{||{|}}{|{z{|{{{{{|||{{|{|z{{z{{{{||}{|{||y{z{{{z{|{{{|{||{|{|{z{|{||{{|{{z{z{{{{{||{{}|||{{{{{{{{|{|||{{{z|z{z{z{{||{|z{{{{{zzzzz{{{{|{{|z{{z|zz|{||{|||{{{zzz{z{{|{{|{|{zzz{zz{z{|{{z||z{{zzzzy{z{|z{{{z{{zzzzyzz{{{{{{zzzzzzz{{{{zz{z{z{zzy{yzzz{{zzz{zzzzzz{zyz{{{{zz{zzzzzzz{{{{{zz{zzzzzz{z{{{{z{{z{yzzzyzzyzzzzz{|{zzzy{{{z{z{{{y{{zz{y{zy{{z{z{zzz{{zzyz{{{zz{{{}{{{zzzz{{{{z{|{|{z{{zzz{z{zzz|{{{zzz{z{{z{{{{{|z{z{z{{zz||||{z{{z{zzzzzz{{|||{{{{zzz{{z{{{{|||}{z{{{{z{{|{{|{{{{||{{{z{{{{{z|z{{{z{{zz{{{|{|||{{{z{{{{|{{{{{|||{}{{z{{{{{}|{||||{{|{{{{{|{|{{|{{{|{{{{zz||{{{{}||{|{|{{z||||||z{|{|zzy{z{{|||{|{z{z{z{{z{{z{{|{|z{{z{{zz{{{|{{{{zzz{z{|z{{{{{{{|{{{zz{{{z|{{|{|{{{yzyzz{{{{{{|{{{{{zzzzz{{{{z|{||{z{z{{y|{{{{{{|zz{z{zyz{{z{{{{|{z{{|zzz{{{{{{{{zyzz{{zz{z{{{{{|z{zyzzz{zz|{{{{{zzzzzzzz{{{{{|z{zzzzz{zz{{{{z{{|{zzz{zzzzzz{{{{{{{{yyz{zz{zzzz{{zz{z{z|{{{|z{{|{{zzzyy{z{{{{z{{|{z{{zzz{{{{z{{{{z{{y{zzz{z{{{{{{{{{zzzz{z{{zz{{z{z{zz{zz{|{|{{|{{{{z{zzz{|z{{|||z{{zz{{z{{{{{|||{zzzz{{{{{{{{}|{z{z{{{z{z|||{{|||{{{zz{|{||{||{|{|{z{{{{z|{{{|{||{z{z{{{{{{|{{}{|{{|zzz{||{}}||{{z{z{z{{|{{|{|{{{{{z|{{{{||{|{||zz{z{zz{{{{{{{||{z{{{{{{{{||{{{{{{{{z{z{|{|{{|{{{{{{{{z{z|{{{||{{zz{|{|z{||{||{|{z{{{z{{{{{{{{||{{z{|y{{{{||{{{|{{zzz{{y{{{{{||{{{{{zzzzz{{{z{{|{{{zzzz{{z|z{|{{{{zzy{z{{|{z{|{{zzzzz{zzz{{{{||{{{zz{z{{{{|z{z|{{{{{zy{z{{{|{{{{zzzz{zzz{z{z{{{{z{{yzzz{{{z{{{zz{z{z{{{yz|{z{{|{{{zz{zz{{||z{z|{{{{{yz{zz{{{z{{|{{{{zzz{{{{{z{|{|{{{{z{{{|||||{{|z{z{{{z{{|{|{}z{zzz{|{{{|{{{||{{{{zzz|{|{{{{||||z{zz|{{|{{||||}{{{{{{z{{|{||{|{{z{z{z{{|{{{||||{z{{{{{|{|{{|||||{{|y{|{{}|{|||||z{|{{|{|}{|{|}|}{{{{{z{||{||{|{{|{|{z{{}||{||{||{{y|{{{{||||{||{{{{{zz{{{|{{|{{{{{{|z{yz|{z|{||{{{y{zzz{{{z{|{{{z{zyz{z|z|{|{{{|{zz{zzz{|z{|{{{{z{z|{zzz{|{{z|{{{zzz{zz{{{z{{{|zz{zzyyyz{{{z|{{{{zz{zzzz{|{z|z{zzy{z{z{{z{{{|zz{yyz{zz{{}{{{z{{{zzzzzzzz|{{{{|{{z{zzzz{z{{{{{{|{z{z{zzz{{{zzz{z|zz{zyzyz{zzz{zzzzzzzzzz{z{{{{|{zzzzzyz{{{{z{zz|{{{zzz{{{zz{z|||yzzzzzz{{{{{{|}{{zzz{{{{{{{{{{{{{{|zzz{{{||{{{|{zz{{z{y{{z|z{|zzz|{z{{z{{{{{z{|{{|{{{{|{|{{z{{}|{{{{{z{|{|||{{{|z{{{|{z{||{{{|||{z{{z{{{|{{|{|||{{|{{|{|{|{{|||{|{z|{{{{{{|{||}|{z|z{{z{{{{|{{||{{z{{{z{|{|||||}{z{{{z{{{|{{|{||{{{z{z{z}{zz{|||{z{y{zz{zzz{||{{{zzyzzyzz{|{{z|}{zz{zzzz{{{{{|z{{{|z{z{{{{y{||{{{z{{z{z{{|{{{{|zz{yzz{{z{{{{{z{|z{zz{z{zy|{{{z{z|{zzz{zz{{{{z{|{{yzyz{zz{zz{y{{{{zz{yzzzy{z{z|{|{yzzzzz{zzz{{z{{zzzzzz{{zz{{z{}{{zz{{{zy{z{z{{{{zzzzzz{z{{z{z{|{zzz{zzzz{{{z{|{y|zz{zz{{{|z{zz|{{{{{{zzz{{{{{z{{{zzz{{y{{||{{{{{{{{{z{{z{{{|||{{|y{{{z{z{{|{|{|||{z||{{{{|{{{{{{{|zz{z|{{{|{{{z|{|{{|z{{{{|{{||{{{{z{zzz|{{||{{{{z{z{{{{||{z||||{z{{z{{|z{{{|}||||{z{{{{{|{||||}{{z{{z{{|{{|{|{{{{{z{{z{{{{||{||{z{{|z{z{{|{}|{}{z{y{|zz{{z{{z|{|zy|{{zz{|{|{|||{{{zz{z{{{|{{|{{{|zz{{z{{{||{|}{{{{{{zzz|{{|{||{{z{{{{{z{z|{{{|{|z{zz{z{{{||{{||{{{zz{zy{{{{z|{{{z|z{{zz{|z{{{{{|zzzz{z{{{|z{|zzz{zz{{z{{zzz||{|{zzz{z|zz|{zz{|{|z{zzzz{{z|{{|{{{zz{{zzzz{z{z{||zzzz{{zz{|{{{{{{|yzz{zzz{{{{||{|zzzz{z|zz{||{{{z{{zzzz{{{{||||{|z{zz{z{{{{z{|{{{{{z{{zzz{|{{|{||{{{{{z{z{{{{||{|{zz{{{z{|{|{{||{{z|{{zz{{}{{{|{{{{|{{{{|{{||||{{{{{z{{{{{|{{{|||{{{z{{{z{|||||{|{z|{{{{z{||{||||{||z{{||{|{|}}|}}|{|{|{{{||||}||{z|{z{{|||||}|||||{{z|{|||{|}|{||{{{{{|{|{|||||~{{{z{z{{|{|{{{||{{{|{{|z{z{||}{|{z{z{{{{|z||{{{{zzzzzz|{z{{{{z||{zz|{{{{{{{z{{{{z{zz{z{z{{{zz|{|{zzzzy{zz{{|{z{{{z{zzz{z|z|zz{{|{z{{z{{z{{{zz{{{{{z{z{z{{{|{z{||{zz{z{z{{{{{{{{|zzz{zzzz||{{z{z{{zzzzz{{{|z{{z{|zzzz{zyz{{z{{{|z{zzzzzzzz{{{{{zzzzzyz{z{{zzzz{z{zzz{{{zz{{z{{{||{{{z{zzz|{{{{z{{zz{zzyz{{{{z{{z|z{|{{zzz||{{|z{{zzzz|{{{{||{||{{{{zzzzzz{{|{{{{|{{{zz{{|{|zz{|{z{{{{{{z{{||{|{|{{|{{{z|{{{{|{||||{z{{{zz|||{|||{{{|{{{{z|}{|||}{{{z{{|{{|{||z{|||z{{|{|zz|||{}||{{{{z{z|{{{|{{|{|zz{{{{{{{|||{}|{z{z|z{{{|{{|{{{{|z{{|{{{||z{||{|z{{{z{zz|{|{{|{{z{{{{{z|{{{{|||{zzzzz{z{{{{{{z{zzz|{{{zz{{{|{|}z{zy{zyy{{{|{|{|z{{{zzz{{{||zz{|zz{{zyzy{z{zz{|{{{{{zzzz{{{{{zz{{zz{zz{{|z|{z{{|{y{zzz{z{{z{{{{|zz{zzzz{{{{z{z{{zzzzz{z{zzz|{{z{zy{{zzzz{{{{{z{z{{zyzzzzz{{z{zzzzz{zzyzz{{zzz|{{zz{{{zzy{{{{{{|{{z{z{yy{z{{z{{zz|{{zzyz{{|||{{|{{z|{{zzz{{|{z{|{z{zz{{zyz{{{{|{{{{{zz{z{{{{z{{{{{zz{{zzzz{{{{|{|z{z{{z{z{|||||{|z|z{{{{z{{z{|{{||{z{{{z{{{{||{{{{{{{|{{{{||{{|}{{{{{{{|{z{{{{||{}{{z{{|{z|z{{{|||{{{{z{{|{|{{|{}{{{z{{z|{|{|{{|{{{{||{z{{||{{|{|zz{z{z{{{{||{}||{{{{{{{zz|z}{{{{z{{{zzz{{{{{{z{{z{z{{zzy{z{{{z{{|{{{zz{z{|z{{|{{{zzz{z{z{{{{{{||{{z{{{z|{{|zz{|{z{zzzz{z{|{{{|{|{z{zzz{z{{{z{{|{{zzz{z{z|{{z{{{{{z{z{{zz{z{{{{{{zzz{zz{zyzz{z{|{{zzzzzz{{{{z{{z{{zz{zzzzz{{{z{|zzzzzzzzyz{{zz{{|z{zyzzzzz{z{z||{{{{zzzzzz{{{z{{z{zyz{zzz{{{{{z{|{zz{zzzz{{{{{|{{{{{zz{zz{{{{{{{{|{{zzzzzz|{|{{|{|z{z{z{z{{zz|z|||z|{{zz{{{{{||{{|{{zz{{{{{||z|||{|{{{{{z|{{|{{{|z{{{{{z{{|||||{{|{{{{z{{|||{{|{|{{|||{||{}||||}}{|z{{{{{{||||||{{{{{{{{{|{|{}{||{{{|{zz{{{{{{||||{{{{{|{{|{{|||{{{{zzz{{{|||{||{|z{{{zz{||||{|||{{{z{zz{{{|{{{{zz{{z{z{zz{|{{{{{zzzzz{z{{{|{}{|{{zz{yz{z{{{{|{{{{{{zz{{z{{{{{{{{z{zzzzzz{{{{{{{{{zzzzzz{{{{{{{|z{z{zzzzz{z{{{zzz{zzzy{zzz{z{z{|{zzzzzz{zz{{zzz{z{y{zzyyz{zzz{z{{{z{z{{zz{||{z{|{z{zzzz{yzzz{z{{{z{zzzzzzzzz{y{{{{z{{{zzzzz{z{z|{|yzz{zz{{{{|z{{{z{zyzy|z{z|{{z}|z{{{z{zy{|{{{{|{zy{{{y|z{|{{{||{zz{{z{{zz{{z{{|{{{{{{|{{z|z|z{{{{z|z{{z|z||||{|}{{{{|z{{{{{{|||{{z{{z{z{{|{{{{|{{z|{zzz{{|{{|{}{|{{{{{{{{|{{{||{|z{{z||{{||{{|||{z||{{||}{||||}|{{{{|z{{{|||}|||{{{{{{|{||{{{{|{z{z{|z{{{{{|{{|{}zz{zy{zz|{|z|{||{z{{z{{{{{{{|zzzzzzzzz{{{{{{{{{{zz{zzzzz{z{|{{{{zzzz{zzzz{{{{|{{|{zzz{zz{|{z{{|{{{zzzzz{{{z{{{{{|{zy{zyy{z{{|{z{zzzy{zzz{{|z{{{y{zzzyzzzz{{{z{{zzzzzzzzzzzz{{|zzyzzyzzz{z{z{{z|zyzzzzz{zz{{z{{{yyzzzzyzyzzzz{{{{zzyyyzzz{zz{{z|{zzzz{yz{zz{{{{{zzy{zyzzzz{{{{zz{{zzzyz{{{{{{{|{y{zzzzyzzz{|{{{{{{z{{zzzz|{{{{{z{zzzzzyzz{|z{|{{{{{|{zz{{|{{{{{{|{{{{z{zz{|{{|{|zzz{zz|{|}{|{|z|{{{{{zzz{z{{{z{{{zzz|{{{{||{{}|{{z{{z{|{|||{|{|}z{z{{{{z|{|zz|{{z{{{{z{z{{|{{||{{z{z{z{{{{z||{||{{{||{z{z|||{{||{zzz{z{z||{|{{|||{{zzz{z{{{{{{{{{{{zzyzz{{{{|z{|{{z{z{{zz{{{z{{|z{z{z{zz{{{z{{|{{{zzzz{z{zzz{}{{zzz{zzy{{z{{z{{{{zzzzy{zz{{|zz{|{{zz{{{{z|{zz{{{zzz{z{zz{zz{{{z{z{zzyz{zz{z{{|{{yy{{zzzy{{{zz{|zzyzyzzz|{z{{{|{zzzzzzzzz{z{z{{{{{zz{zyzyy{zz{{{zzzzyzyyzzzzzz|zzzzyyz{zzzzzy{z{{{zzzzz{{{{{{{{{{zzzzzzz{y{zz|{{{{{zzz{{z{{||{|{{{z{zyz{z{|{{||z{{z{zzz{z||{{{{|{{{{zz{{{|{|{{{{{z{{{{{zz{{|||{{{{{z{}|{{{|{|z||{z{|{{{zz{zz{|{|{|z{{{{{{{{{}{|}|{zz{{{{{|||{|||||{{{{{{zz{||{|||{{{{{{z{{|{|{{|{{z{z{z{{z{|{{|||{{{{z{zz{{|{{||{{{z{{z{{{|{|{{|||zy{zz{z{{{{z{{|{z{{zz{z{||{{{{|z{z{zzzzzz{z|{{{{zz{{{z{|{{{{{|{{{zz{yzy|zz{|{{|{{z{{{z{|{||{{|{{{{zz{{|{{{z{{||{zzzz{{z{|z{{z||zz{zzz{yz{{z|{|{{{{zz{z{z{{y{|{{zz{{zzzz{zz|{{|zz{{{zzzz{{z{{{{{{z{{zyy{{|z{{z{|{zz{{zzzz|yzz{|{z|zzzyzz{zz{{{z{zy{{z{zz{{{{{{{{zzzz{zzz{{{{z{|{{zz{yzz{{{{|{zz|z{zz{y{z|{{|{{|{|{{zzzzzz{{{{|||{{{z{z{z{||{{{|{{{{{{zzy{z{{{{z|{z{|{{{{{{|{||||{{{z{{z{{|{|{|{||{{z{zzz||{{{{|}{z{{{zz{|||||||{{zz{|{{|{{|{{|{|{y{{{|{|{}|}{{|||z{|z{{{||{{||{||{{z{{z{||||||||z{|z{{{z{|{|||{|{{|zz{z{{|||{|{|{z{zz{{z{{{|||{|{{{{z{{zz|{{z|{{{{z{yzzy{||{z{||{{zzzzz{{{|{{{{{{{{z{{zz{{{{{|{|{{zz{zzz{{{|{|{{{z{z{zzzzz|{{{{|zzzzzzyz{{{{||{{|z{z{{zzz{{zz{{{z{zz{zzz{zz|z|{y{zz{zz{{zzz{{{{{{{zzzzz{z{{{|{{{zzz{{{{zy{{{{{{{z{{zzzzzy{zz{|{z{{{zyzzyz|{zz{{{zz{{{zz{z{{{z|{|zz{{{zzz|||{{{||z{{|zzz{{{{{{|{|{{{zz{{z{{|z{{{|z{|{zz{{{{{{{z{{{z{{z{z{{{{{{||z{z{{z{{{{{||{|{{y{{{y|{{{||}{||z{{{{{{zz{|{|{{|{{{z{|{zz{{|{|{||{{{{{z{{{}|{|{|{{{{z{{{{{{||{||{{{zz{{{z|||{|||}{{|{||{z|{||||||{z{z{zz|{{|{{{|||z{|{|{z{|{||{{{{{{zz|{{z|{{{{|{{{z{zz{{{|{|{{{|{|{z{{{z{|z{{{{{{{z{zyzzz{{{{z|{{{zzzzzz{{{{{{{{zzzzz{zz{|{{{{{|z{{zz{{{z{{z{{{|{{zzz{zz{{{||{|||zzz{z|zzz{z{{{z{zzz|zzz{{{zzz{|zzzyzzz{z{zzzzz{zz{z{zzz{{zz{z{z{z{zz{zzzz|{{{{{{{zzyzzzzzz{z{{z{{zy{|{y{{{zz{{zz{z{z{yz{zz|{|{{z{zzzz{y{{zz{{||{zzzzz{zz{{zzz{{{z{{z{{yz{z{{{{|{{{zz|{z{{{{|{|{z{{{{zzzz{{zz{z|{zz{{{z{{{{{z||{{zz{{z{y{|{|{|{{z{{z{{{z|z{|{{{{{{{z{z{z{{z{|{|{{{{z{zzzz{}|||z{|{{{{{zz||}|||{{{z{{}{{{{{{|{{{||{{z|{{{|||{|||{|{{{{{{z||{|||||{{{{{{z{|{|||{|||z{z{{zz{{{|{{{|z{|z|z{z{{{{|{|{{z{{z{z{{{{{{{{zz{{yz{zz{z|{{|{|zzz{{zzy{{{{|{|{{z{zzzzyz{{{{{|{{{zzzz{{{{{{{{{{{z{zz{z{{z{{{z|{z{{yz{zz{{{|z|||{z{zzz{{{z{zz{{z{z{z{zzzzz{zz|z{z{zzz{zz{z{{{{{{zzzzyzzzzz{{{z{{{z{zyzzz{z{{{{|z{zzzyyzzz{|{{{{{y{z{zyzzzz{{{{{{{zzyzyzzzzz{z{{{z{{zzzzzz{|z||{{|zzz{zzy{zz|{z|{zz{zzzzzz{{zz{||{{y{z{zz{{{{{{{{{z{zzz{{{{|{{|{z{{zz{{z{|{{{{{{{{z{{{z{{{{{{{z|{{{{{{{{{|{{||{{|{{{{zz||{|{|z||{|z{{zzz{{|{|{|{|{z{{{{{{{{}z{|||{{{zz|{{{{|{{|||{{zz{{|{{||||{|||z{{{{zz|{{|{||{|zz{{z{{{{z||{||{{z{{{{{{{||{|||zz|z{z{{{|{{{|||{z{zzzz{{|{|{{|{zz{z{zz{{z{|{{{{zz{{y{{{zz{{{{{{{{{{{zzyz{z{{|z{{{zz{{y{{z{{{|z|z{zzzzz{zz{|z{|{zzzzzz{z{{{||{{{{z{y{z{yz{z{z|{{{{|zz{zz{{z{{zzz{zz{z{yz{{{{{{{{zzzyzzzz{|z{{{{yzyyzzzzzzz{{z{{zzz{zzyzz{zz{z{{{zzzzzzzzzzzz{y{{{{zyzy{z{zzyz|{{z{zyzzzz{{z{{{|{zzzz{zzz{|{{|{{{z{z{zyy{{{z{z{|{zzzz{zzz{{{z{{{zzzzz{zzyz{{{|{{{zzzyzz{z{|{zz||{{z{{zzzz||{{z{{{{z{{{{z{{{|zz|{|yz{zz{z{{{{{{|{|{{{z{z{{z{{{{|}|{{{{zz{{|||{{{|{z{{z{{{{z{{z||{{|{z{{{|{{{{|{|{|{zzz{zz{{{{{|{|{{zzzz{z|{|z{{{||{{{{{zzz{|{||{z{{{{{z{zz{{{|z{|{{{y{{{{{{|{{zz{z{{|{{z{{{{|{{{{z{z{z{{{z{{{z{{{|{z{{zz{z{{{{{{z{{{{zz{zz{{|z{{{z{zzzzzzz{z{{zz{{{z{z{zzz{yzz{{|{{{{{z{y{z{{z{{{{z{zzz{y{{{{{{{{{zyzzxzz{{z{z{{{{zzzyzyzz{|z{|z{{zzzzz{yz{{zz{{z{yz{zzzyz{z{{zz{zzzzzzzzz{z{zz{{{zzzy{zyzy{zzz{{{{z{zzzyyy{{{|{z{zzz{zzzzz{{zz{z{z{{zy{|z{{zz{z{{{zzzzzz{{{{z{|{|{{{zzz{z|z{{{|||{zz{zzzz{|{z{{|z{{z{zzz{{{{{{|{{{zzyz{{{z{{{{{{|z{{{{z{zz{{{|z||z{{z{{zz{{||{|||{{{zz{|z}{{||{{{z{{{{z|{{{|{{|{|{{{zz{{|{}{||||||{|{{zz{z{{{{|{{{{{z{{{{{z{|{|{{{{|{{{{{{z{{{|{|z{{zzz{z{{{{{|{|z{z|{{{z|}{|{}|{{z{zz{{z|{{{{zz|zzzzzzzy{z|{{{{{zzzzyyyz{|{{{{{{{{z{zyzzzz{{{{|{|z{z{{zz{{{{{{{{|y{{zyzz{{z{z{{|zz{zzzzzz{{{y{{{{z{zzzzz{{{{{{z{zz{zzzzzzy{{z{{{zzzzz{{z|{{zzz{zzzzzzyzy{{{zzzz{{zzzzz{{z{z{z{{{{z{zyz{yzz{{{{{yzzzzzzzzz|z{{{{{{yzy{zzyzz{{z{zzzzzzzzzzz{zzzzz{zzz{yz{zzyzz{{{|zzzyzz{y{{|{z{{{zz{{{zzz{z{z|{{{zz{zzzzz{{{z{{{{{{zzzyz{{|{{z{{z{{zzz{{zz|||{{{{{{{{{{zz{{|{||||{z{{zzz{{|}{{|{{|{z{{{{z{|{{z|||{z{{{z{z{{{{||}}|{z{{{{zz|||{{{{{z{{zzz{{|{|{{{|{{{|{{zz{{||{||{|{z{{z{{{{{{|{{z{zzzzzzy{|z{{|{{{{zzz{{{{z||{||{z{{zz{z{|z{{y{||{zz{z{zz{z{{z{{{z|z{zzzz{{z{|{{||{{zz{z{{{{{|{{{z{{zzyzz{z{|{|{{{z{zz{zyy{{{{{|{{y{{z{z{z{|{{{||{{{{yzzzz{{{z{{{{{zzzzzz{z|z{{{{zzzzzzzzy|{z{{|{zzzyzzyz{y{{zz{{zyzzzzyz{{{{z{{{{{{zzzzz{z{z{zz{|yzz{{zzzz{{z|{zzzy{z{zzz{zz{{{{{zy{{{zzzz{{z{{{zzzzyz{{{{{{{{{{z{zzzzyz{{{{{{{z{{zz{yz{{|||{{{{zz{zz{{{|{{{{{{|{{{{zz{y{{{{{||{{{z|{{z{{|||{||{z{{{{{{z||{|{|||{|{{|{zz||}{z||||{{{{{z{||{||||{{{z{|{{{{|{{}|{{{{zz{{{{z||{{{}{{{{{{{{{|||{|{|||{{zz{{{{{|{{|{|{{|zz{z{|{|{||}{|{{z|{{zz{z||}{||{{zzzzz{{||{|{{|z{{zzzz{{{{{{z|{{{zz{|z{{{z|{|{{z{{zyzzz{|{||{{zyzzzz{{{z{{{{{{{z{{zz{{{{{{{{|||{{zzz{zz{{{{|{{{z{{z{{zz|z{z{{z{{zzzyz{z{{{z{{{z{zzz{zzzz{zz{{{zzzzyyz{y{zz}{|{{z{zzzzzzz{z{z{zyzzzyzzzz{{z{z{zzy{zyzzz{zz{z{z{zzzyzzzyzzz{{|{{{yzzz{zzzz{z|{}z{{yzzzz{z{{{{{{{y{zz{zzz{{{{{{{{z{zzzzz{{z{{{{|{{{{{{y{z{{{{{{|{{{zzzz{z{{{z{|{{{{z{{zz{{|z|{{{{{zz{{zzz{{||{|{{z{{z{z{{{{||{{|{|{{{z{z{{||{|{{|{{{zzz{{{||{{|||{{{{{{{{{|z|{|{|{{z{{|z{{|{|{{|{|z|{z{z{||{{|{{||zz||z{{{|||{|}|{{{{{z{z{{{|{{||{z{z{z{{z||{{{|z{|z{{y{{{{z{z|{{{{|{zzzz|{||z||{{zz{zzzzz{{{zz{{{zz{zyzz{{{{{{{|{z{yz{{z{{|{{{|{zzzzz{zz{|{{z{{{{{{{zzzy{zz{{{{|z{yy|z{zzzz{{z{z{z|{{zzz{{zzz|{{{zyzzz{{{zzzz{{{zzzyzzy{z{{{z{{{zzzzzzyzzz{{z{{{{{zzz{zyz{{{{{{{zzyzzy{zz{{{z{{zzzzzyzzyz{zzz{{{zzzzyz{yzz{|z{|{{zzy{z{z{{{|{|{{zz{zzyzzz|{|{{{{{{z{yyz{|z{z{{z{{{|{zzz{zz|{{||{{{{z{{zz{{{||||{{z{{zzz{|{{{{{{|z{{z|{zzz||{{|z{{|{z{z{{z{{{{|{|{{{{{{{z{||{{||{{{{z{z{z||{|z{|}zz{{{{{{{{|{|||}|{{{{|{{{||{||}{|||{{{{z||{||||{{z{{{{{{{{{{|||{{{{{{{zz{{|||{|}{{{z{{{{{{||||{|{{z{z{y{{}{{{{{|zz{zz{{zzz{{||z|{{z{zzzz{{{{{{yz{z{z{zzzz|{||{||zz{{z{z{{z{|{|{|{z{{zzzz{{||zz{{z{{yzzzz{z{z{{{|zzzzzy{zz{z{{{{zzyzzzzzzzz{{z|{{zz{zzzzz{z{z{{|{z{yzzz{zz{{{{zz{{zz{zzz{zz{{{z{{zz{zzyzzzz{{z{{{{yzzzyzzz{zzz{{z{zzzzzzzzz{{{|{{zy{{{zzzz{z{{z{{zzzzzzzzz{{{{{{||z{{zzz{z{zzz||{{{z{{z{zz{|{z{{{{{{z{yzyz|{{{{|{z{{{{{z{{{z{{|{|{{{|{yz{z||{z{{|{{{z{z{{{{||{{{{z{{z{{{{|{{|z|{||{z{zzzz{||{|{||zz{{z{zz{|||{|||z{zz{|{{z{|||{||{{{{z{z{z|||||||{z|{{{z{||{|{|}{{{zz|{{{||{{{|||{{{{||{{|{{{||{|z|z{{{{|{{|{|{{{{zyzz{z{{{{{z{{{{z|{{z{z{{{|{z{z{z{{{zzz{{zz{{{|{zz{zy{{|{|{{|{|z{{zzyzz{zzz{|{|{zzz{{{{z{{{z{{{{y{zy{zy|{{|{{||{{z{zzzzz|z|{{{{{{z{zzzz|||{zz|{zzzzzzzyz|{{{|{{zz{y{zzz{{{|{{|{zzzzzzyzz{{z{{{{{{zzyzzzz{{{z{{{{zzz{yz{{{{zzzz{z{zzyzzzz{{{z|{|z{zzz|zzzz|{{{{{zz{z{y{{{{z{z{|{{z{{zyz{{{{{zz|{|z{zz{{zzz|{z{{{|{{{{{zz{|{{{|{{zzzzzz{z{|{{{{{|{z{{z{{z{{{{{{{{|{{{{zzy||}{|{{}{z{z|{z||{{{|{{|{||{{{{{{{{|{||{|z{{|{{{{}{{|{|{{{{{|{{z|{{{{|{{}{{|{|z|{|||||{}|{{{{{{|{|{{|||}|z{z{{z{||{||||||{{{{{{z||{{{{{}{{{zz|z{{{}|{{||{zz{{{{{{|{{|{||z{{{z{{{{z{|z{{{z{{|zzy{z{|zzz|{{z{y{zzzz|{{{{{|{|z{zzz{z{z{|{|{{{zz{zz{z{{{zz{z|{z{y{zyz{|zz{{{z{z{yz{{{{{zz{{{{{{zzzyz{|z{{{|zz{zzzz{z{z{z{|z{zyz{zyyy{{z|{{{zzyzzzzzz{{{z{{|z{z{zz{z{z{{|{|z{zzzz{yyzz{{z{zzzz{zzzzzzz|zz{|{zzyyyzzzz{zz{{{{{{z{y{zyz{|z{|{{z{z|{{y{z{z{{{{{|{zzzzz{{{{{{{{zzz{zzz{zzz{{|{{{{{{{z{zzzz||{{{|{{z{{{zz|{{{||{{|{{|{|z|{z|{{||||z{{z{|{z||{|{{|{{{||{zz{{||{{||||yzz{z{{||||{|{|{{{z|{{{{{|z{||||z|{{|{{{|{||||||z|{{|{{{{{|{||||z{{{{z{||{{|{}{|{{{|yz{|{|||{|{{|{zz{z{{{{|{|||z|{{z{{z{{{{{{||{{zzzz{z{||z{|{|{zzz{z{zz|{{{{|{z{zyzzz{{{{{z{{|{{zz{zz{zzz{{{{{{{{yzzz{|{{zz{{|{{{zz{zzz|||{{||zz{yzzzz{{{{{z{{|z{{zyzz{z{{{z{{{zyz{zz{z{z|z{{z{zzzzzzzzz{z|{{{zzzzzzzz{{{z{z{{{yz{{yzzzzz{{{z{{zzyz{yzzz{z{{{|{zzzzzzzz{{{{{{{zz{{{{zz{{{z{{{zzz{zyzzz{{|zz{z{{z{zz{z{|z{{z{||zzzz{{{zz{{z{z{{z{{{{z{zz{{{{{|{|zzz{zzzz{{{{z{{{{z{z{z{{|z|{z{{{{{|z{z{z{{{||||z{{{{{{z{{{{{|{||{{|{z{{|{|{{{{|{z{{{{{{||{{||||{{{z{{|{{{{||||{|{z|{{|{{|{{|||}{z|z{z{{{{||||{{{{{{|{{||{||{||||z{|{{{zz{z{|||{{{{{{z{|z|||{|{|{z{zz{|z{{{{{|{{z{z{{z{{z{{{z{zzy{zzzy{yz{{z{{{z{{zz{zzz{{{{{{||zzzz{{z{{z{{{{{{zz{zz{zzz{|z{{{{z{zzyzzzz{{{{{{|zzz{zzzzz{zzz{{{zzz{yyyzz{{{{{zzzzzzz{zz{yz{{{{{zzzy{zzz{z{z{z|{{yzzzzyzy{|{|zzz|zzzz{z{z{z{zz{{zzzyzzzyy{zz{z{zzzzz{{{zzzzzy|{{zzzzzz{z{zzzzz{zzyzzzz{z{z{{||{{zz{{zzzz{{{{{{{|zz{zzz{{{|{{{{}|{{z{zzzyz{{{|{{{{{z{z{zz|z{{z{{{z{{{zzyy{|{{{{{{{zyz{{z{z{||{|{}z{{z{z{{|{zz||{zzz{z{{z{{{||{{|{{zzzz{{z||z|||||{{|{|{|z{{{{{{{||{{{{{{{{}||||{{{z{{|{z{|{{{{{{{|{z{{{z{{{z{|{{{{|{{{{zz|{|||{{{{{{zz{z{{{{|{|{|z{{{zzz{z}z|{{||{{{z{z{z{{{{{||{zz|zzz{{z{|{z{{{zzz{yyz{{{{{{{||z{{yzzz{{{{{{{{{{{zzzzzzz{{{z{|{zzzzzzzz{{|{{||z|{{zzzzzz|{z{{|{{{{{yy{z{z{{{{{z{z{zyzzzzzzzzz{{z{zyzz{zzz{{{{|{{{zzzzyzz{{{|{{zzz{zzzyyz{zz{z{z{zzzzzzzy{zzz|{{zyzyzz{zz|z{{{z{yzzyzzyz{{{{z{{{z{zz{zzzz{{|{||{zz{z{yyz{z{z{{z{z{|zz{z{z{|zz{|{{{{{zy{{z|{|{{{z{zzz{{z{{|{{{||{{z{{{{{z{{{z{{|{{z{z|{z{{{{{||{|z{zz||{{||{{||{|{{{|{|z{||{{||{{|z{{{{{{{}{{{{||{{{{z|{{{{{{{{|{{z{zz{{z||{|{|||{{{{|z|{|||}|{||{{{{{z{{|{|{|||||{z{{{{{{{||{|||{|{z{z{zz|{{{||{{{{z|{{{z||z{{{{{z{{zzz{|{{{{{||yzzz{{zzz{{{{{{|zzzzzzzzz{{z|{{{{zzzzy{z{{z|{{{zzzzzzz{z{{{zzz|zzz{zz{yzzz{{{{{{zzzzz{zz{{{{z{{{{z{zzzzzz{{z{{{{{y{{zzzz{z{{{{{{z{zzz{zzz{zz{zz{yzzzzzz{yy{{{z{|y{{yz{{zz{z{{{{{z{{zzzzyyyzz{{{{zzzyzzyyz{{zz{zz{z{y{{yyyz|z{{{{z{zz{zzzzzz{{z{|zzzzzyzz{{{{{{{|z{z{zzy{z{|{z{|{{{zzzy{z{|{z{||{z{{{{z{z{{|{{z{{yz{|{z{{{{{{{{{{{z{z{zz{|{{{{|{|{{zz{zz{{{{|{{|||z|{{z{y|{{||{|{{{{|{{{y{|{|||||{z{{{{{{{{{|{|{||z{|{{{{{|||||}|{{|{zzzz||{|{|{|{zzzzzz{{|{|{{}|{{{z{{z{||{|{}{|{{{z{{zz{|{{{{||{{{zz{|zz{{||||{{z{zzzz{{{{|{{z{zzzz{z{zz|z{|{{|zyyyzzzz{|{{{{{|{{zzzzz{z{z{{{{z{y{z{yzz{{{{{{|{{{{zzzzz{{{z{{{|zz{yzz{y{{{{{{{z{y{{z{{yz{{{{z{zzzzzz{zzzzz|{|{{zzzzz{zy{{{|{z{{{yz{zzz{z{|{{{{z{zz{zzz{zzz{|z{{{zzz{z{zy{{zz{{{{{{zzzzzyzzz{{zzzzzzz{{z|zzzz{z{{zzz{{zz|{{{{{{{zzz{zzz{{z{{{{{|zz{zzz{z{{{{{z{{{{z{zz{z{|{||{|{zz{{|zyz{{{{{{|{{z{{zzz{||{{{||{{z|z{zy{z{|{{{|{{z{zz{{{{{||{{{|||{zz{{{z{{|{||{z{z|zz{|||||{|||z{{{{{{|||{{|{{{|{{{{{{z||{}{}}||z{{{{{{}|{|{|{||z{{|{{|{{|{|||{|z{{{|{|{|{||{{{|{zzz{{{z|{{{{||{{z{z{zz|{|{|{}{{{z{{z{z|||{|{|z{zzzy{zyz{|z{|{|zz{z{zy{{{z{{|{{{z{zzyz{{{{z|{{{{zzy{{{zy{{|{{{{{{zzzzzzzz{{{{{|zzzzz{zzzz{zz||{{zzz{zyy{{z{{{{{zz{zyzyyz{{zzz{{zzzzz{zz{z{zz{{{{{zyyzzzzz{z{{zz{zz{zzzyz{|{{z{zzzzzzzzzzzzzzz{zzzzzzzyzz{z{|{{{yzzyzzzz{{{zz{{{{zzzzyzz{{{{{z{|zy{z{z{z{{y{z{{|zzzzzzzz{{|z|z{|{zzzz{zzy{|{{{{{{yz{zzz{z{{{{{|{{zzz{{y{{|{|z{{|{z{{{zz{z||{{|||{{{{{z{{{{z{{||{{z{{|zzz|{{||}|{|{{zz|{z||{|{{|{{{|z{{{zz|z|{|{{|{z|{{{z{|{|||||{{{{z{{y{{|{|{||{{z{{{z{||{{{{}{|{z{{zz{{{|{{{|{{{{y{{{{{{z{{||{{|z{zz{{z|||{{{|{zz{zyz{{|{|{{{|{{zy{zy{{z|z{{{|{zy{zz|{z{{|z|||{zzzzzzzzzz{z{||{zzzzz{{z{{{zz{|{yzzyz{yz|{|{{{|z{zzz{zy{{{{{|{{zzzz{{zz{{{z{{{{z{zzz{yzz{z{{{{{{zzzyy{z{{z{z{{yz{{{zzyzz{{{|{{{zzzzyzzz{|{z|{{zzzzzzyyzz{yzz{{{{{yzzz{z|{zzz{{{zzzz{zzy{z{{{{{|{zzzzzyz{|z{{z{|{{z{zz{yz{{{|{{z{{{z{zyy{{{{{{{zzy{z{{{{{|{z{{z{{y{z{{{{z{z{{{|{{{z{z{zz{z{{|{{|{{z|zz{z{{{|}||{{{{zz{|{z{{||||{{{z{{z{z|||{||||z{{{{z{{||{{{}|{{{|z|{{zz{|||{||{{{z{{{{{|{{|||{|{|{{{{|||{{{|{||{zz{{z{{{{||||||{{{{{{|{z{|{}{|{{{zz{z{|{|{{{|{{{{zz{{z||{{|z{{{{{{{{z{|{|{{{{|zzy{zzzyy{{|{zz{z{zzzzzz{{|{z{z}{z{zzz{zz{z|{|{z{zzzzzz{{{{|z|{{{{{zy{{zzz{{{{{{zzzz{{{{{{{{z{{{zzz{zyzz{{{z{{z{zzz{z{zz|{{{z{{{zzz{yzzy{{{{{{|{z{zzyzz{{|{{|{{zz{zyzzzzz{z{z{{zzyzzzzzy{{{yz{{{zyzz{z{zzzzzz{z{{{{yzzzz{{{{{{{z{yzz{z{{y{{z{|{|z{{zzzzz{{{zz|{|zzzzyzzy{{{{{{{{{|zzzzzz{|{{{|{{{zzzz{zy{{{{{||z{{z{{{{{{||{||{{{{{{{z{{{{|}|{|{z{{{{z{{{||||{|{{{{{{z{z{{{{|||{{zz{|{zz|{|{{{|||{|z{{{{{{{{{{|||{{{{zz{{}{|||{|{z{{{{{{{||{z|{{z{z{{z{z|{{z|}{|{{{{z{{z||||{|{}{z{zzz{z{|{{||{{{|z{z|zz{|{{|||{{{{z{z{{||||z{z{{zzy{z{z{|{{{{{|{{{{{zzz{{|{|{|{|zzzzzzz{z{{{{|{{y{zz{{{{{|z{{||{|zyz{{y||{z{|z|{z{z{z{{||{|{||{{zzz{yyz{{|z{||{{{{zzzzzz{z{{|z|{{y{zz{{{|z{{z{{{zzzzzz{{z{{{|{z{|{zzzzz{{z{{{|{zzzz{zzzzz{z{|{{zzzzzz{{{{zz{{{zzz{zzzzz{{{{|z{{|{z{zz{{|{{{{{|{{z{{zz{{{|{{|{{{{z{zz{zzy{{{{|{{{z{{zz{z{{{{{|{{zz{z{z{{{{|{z{{|{{z{{zz{{|{{|{{|{zz{z{{{{{{|{||{z{{|{{{{||{{{|{|{z{|{z{{z{{{{|{{{{{|{{{{||||||||{{{{{{{{|||{{{}{{{{{{{{{{|{|z||{|{{zz||{||||{{|{{{{{z|z{|{}{||||{{z{{{zz||{||{{{{z{zz{{{{}z|{||{{{zzz{{z|{|{||{|{{|{{z{|||{|{|{|z{{zzzzzy{{{z{||zzz{zzzz{{|{{z{z{zzzzzzz{{{{zz||{{yzzz{z{{{{z{{|{yzz{zzyz{|||{z{{z{zzzz{{{z{z{{|zz{{z{yzzz|{{{|{|y{zzyyy{{{|z|{{z{zzzzzzz{zzz{zz{zzyz{zzz{{z{{|{zz{z{zyzz{z{{z{{zz{zzyzzyz{{z{{{z{zyzzzzzzz{{z{z{zy{y{zyz{{z{{{|z{z{zz{zz{{{z{||{{{z{z|zzz{z{{||zzz{y{yz{{z{{{{|{z{z{yzzz|{{{{{|{z{{zz{z|{|{|{|z{zz{{{zz{{zz{{{|{{{z||z{{|||{{|{z{{||{z||{{|}|{{{zz|zz{{|{|{|{||{{{z{{{{|||||{||{{{{z{{{|{{||||{|{|{{{{{{{||{}|||{{z{{{{|z|||||{{zz{|{{z{{|{{{||{{{z{{z{|{z|{|{{zzz{{{{{{{{{{|||{{{z{z{zz||{{z{|{{{{|z{{{{{|{{zzz{{z{{{y{{z{{{{{{zyyzz{{{{{zz{{{{z{zzzz{|{|{}{{{{y{z{zz{{{||z{{|{{zzzzzz{z|z{|{|{zzzzzzyz|zy||{{|zyzzzzzz{z{z{z{z{zzzzzz{{z{z|z{zzzyzzyzzz{{{z{z{zzzy{yz{{{{{{|{{zzyzzzzz{zz{z{|yz{zzz{zyz{zz{{zzzzzzz{zz|{{{|z{{zzzzz{y{{{{{z||zz{yzzzzz{|{{{z|{{zzzz{z{{{zz{{{z{|{{zzz{{{z{{z|{zzzzy|{{{{|{{{z{z{y{{z{z{|{|{|{{zzzzzzz||{{{{|{{zzz{z{{{||||{||z{|{{zz{|{{||||||{z{|z{z{|{|{||{{{{{{{{z||||{{{{{{|{{|{{||{z}{{||{{{{z|||||{{{{{{|{{{z{{|{|{{{|{{{{{z{{{z{{{||{|{|z{{zz{|{{|z|{{{zz{|z{{|{|{|||{||{zz{|z{|{|{{|{{zzz{zz{{|||}{{{{{zzzzzz{||z{z|{z{z{z{y{{{|{z|{{yyzzzzzz{zzz{{{{{{{yzzz{z{z{{z{|{{zzzz{{{|{{{{z|{zzz{zzzz{{zz{{{zzz{{zzz{z{yz{z{z{zzzzz{z{zy{{{|z{yyzzzz{z{{z|{zzz|zyyyzz|{{{{{{{{zzzzyz{{{z{z{{zzzz{zzzy{z{z{{{{zyzzyzzz{z{z|{{{z{zz{zy{z||{{{{{zzz{y{{z{{{{{|{{z{{zy{{{{{{{{|{{zzzzzz{{{|{z{|{{{z{zy{z{|{{z{{{zz{{z{{z{|{{|{||{zzz{{{}{z{{{|z{|{z{{zz{|{{|||{|{|z{{z|{|{{}||||{z{z{{zz{{|{{{{{zzz{z|{z{||{{|||{{{z{{|{||{{{}|{|{z{{{z{||{}{||{|{{{z{z{|{{|{{||{zz{{{{{|{|{{{{{|z{zzzz|{{{||{|{{{{{zz{{{|{{{|||{|y|{{z{{{||{{{}{||zz{{z||}}}|{{{zzz{zzzz{z|{z{{{zzz{{zz{z{{|z{{|z{yzz{z{|z{{z{{{zzzzyz{zz|{zz{{{zzzz{zz{zz{z{{{z{yzz{{yzzzz{{{zzz{yzzyz{{{zzz{z{zzzy{{z{zz{{{zzzzyzzzzyz|{zz{{zz{zzzzzz{{{z{|{{{zzzyyzz{y{yz{||zz{yzzzzzz{z{z{zzzz{zzyzyzyzz{{{zzzy{yzzzzz{{z{{zyzy{zyz{z{z{|{|zyz{zz{z|{z{{{z|zzzzzz{zzzz{{{||{{zzz{zz{{{{{|{{{{{zz{yz{z{|{z|{zzzyzz{zz||z{|{z{{{zzzzz|z{{{{{||z{z{{{{|{{{{|||{{zz{{zz{{{{|{|{|{z{{{{{|{|{{{{|zz{zz{{{{||{{||{{{{{|{{{{|{|{{|||{z{{z{{{{|{||{{{{z{{{|||z{{||{{|{{z{{z{{{|{{||{z{z{{{{z|{{{{||{{{z{{zz{{{{{{|{|{zz{z{{zz||~~{|{{{zzy{z{{{{z{{{{{y{yzzzy{{{{{{z|zzzzz{{z{{z{{{{{zz{zzzz|{{{zz{{{{|zzyyyzz{|{z{{|{{zz{{{z{z|zz||z{z{zzy{z{{{{z{z{zzz{{z{zzz{zz{{{zzyzz{zz{z{z{|{z{{yzzzzyzz{{|{z{yzz{yzzzz{z{{{{{zz{z{zzz{zzzzzz|{zzzzyzz{zzz{zz{zyyyz{zz{z{z{{{{z{z{zzzz{{|z{{}|{{z{zzzz{{z{{|{{zz{zzzzz{{{{|{z{{{zz{{z{z|{{{||{{z{zzzzz|{{{{{|{{{{{{{z|||}{{|{{{|zz{zzz{{||{|{|{z{{z{{{{{||{{{{{{z{{{z{||||{{|{|z{z{z{{{}|{|||{{{{z{{{{{||{{|||{{{{{zz{{{|||||{{{z|{{z{{{{{|||{|zz{zz{{{{||{||{{{{z{z{{|z{|{{||{{z{{z{{{{{|{||{{{zz|z{z{|{|{z{|z{{zzz{{{}|}~|{zz{zz{{z|z|{{{{{|{{zz|z{z{{{{{|{{{zy{z{{{{{{{{{{{{{z{zzz|{{{{{{|{|z{zzz{y{{{|{{z|{zz{{z{zz{zz{|{{{{zz{zz{{{{z{{|{{zzzzzzyz{{{{{|{z{z{zzzz{z{z{z{|zzzz{zy{{{z{{{{{zz{zzzzyz{|{{{{{{yzz{zyy{z{z{|{{zy{z{{yz{{|z{{z{zz{{{zz{{{zz{||{{{zz{yzz{{{z{{{{{z|z{zzz|{{|z|{|{{z{z{z{{{{|{{|{zz{zzz{zz{||}{{|{{{|z{{z{{{{{{|{{{z{{zz{{{|z{{{{|zz{{{z{{{{||{||{|z{||{{{{{|||}||{{{|{z{||{z{{|{|z{{z{{{{{||{|||{{{{{|{|{|{|||||{{{{{{{|{|{{|||||{|{{{{{||{|z{|{|{{|{z{z|{|||||{|zz{{|z|z|{{{{{|{z{{{{{{{||{{}}|{{{{z{{z{{|{|{|{{{z{z|{{}||}~|z{zz{z{{{z{{|z{{zz{|zyz{zz{{||{z|{zzzzyyzz{{z{{{||zz{zz{zzz{{{{{{{zz{z{zzyz{{{{{{|yy{yyz{zzz{{{{|{{zzzzzz{{{z{{|{{zzzzy{zz{z{{z{{{y{zzzyzzzz{z{{}{zzyyzzzzz{{z|{{{zzzyzyyyz{{z{{{{{zzzzyzz|z|z{{zzz{yz{z{z{|{{z{zzzz{zz{{yz{{{{|{{{z{{zzzz|{{{{|||zz{z{zz{|z|z{{{{zz{zzzzz{z|z{{{{|{{z{zz{|{{{||z|{z{z{zz{|{{|{||{z{z|{{zzz{|zz{{{{{{{{{{{{||||{{|z{zz{|z{{|{{{|{{{zz{{zz{|{|{|{|||{{||z{{{{{{|}||{{|{z{{z||||{||}|{{{{{{{|}{{{{|}{z{{{{{{|||{|{{|{z{z{{{{{|||||||z{y{|z{{{|z}||{|{{{{{zz{{||||{z|{{{{zz{y{|{{|z|||{{{{{|{|{|}}|{{{zz|z{zz{{{{{{{{{z{{zz{z{{|||{|{zz{zz{{z{{{{||{z{zz{zzz{{|z{{{|zzz|zyzzzzz{{z{{{z{{z{zzzzz{zz{{{{{{yzzyzzzzz{{{zzyzz{{zz{{|{z{{{zzyzzzzy|yz{y{{{zzyzzzyzzzzz{{{{{{zzzzzz{zzz{{{{zzzyzzzyyz{{{{{{z{{zzyy{{zzzz{{zzxzzzzzz{z{zyz|{z{zzzzz{{{{{{z{{{zzyyzz{{z{{|{||zzzyz{{z|{|{{{||z{{{{{z{z{z{{||{{z{zz|yzz{zzzz|{{zzz{{{z{|{z{||{z{|{|zz{{{{|{{{{{{{{{{{{{{{|{{{||{z{z{|z||{}{{|{{{z{{z|{|{|{{{|z{|z{{{{{z|{|z|}||z{{z{{{{{{{|{|||{{{zz{{{{{|{{|{{z|z{{{{|{{{{{|}z{{{|{z{{{|||z|{{z{{{y{{{{|{{|{{{z{{{z{z{|{|{{{|{z{{z{{{||}||{{{zzzzzzzzz{{z{{||zzz{{zzz{{||{|{|{{{yyz{z|{{{|{{{y{yz{zz|z{|zz{{|{z{z{zzy{{{z{{{{zz{y{zzyz{{z{|{zzy{z{y|yz{{yz|{{{zzzzzz{{{{|{{{z{zzyzzzzyz{{{{|zzzzzzzzz{z{z{z{{{yzzyzzz{{{z{{{{z{zzzyzy{z{z{z{zzyzzzzzzz|{|z|{{zzzzzyzyz{{{{{{{{yzzzyz{{||z{{||{y{{zzzz{zy|{|||zz{zzz{{z|{{{z|{{zz{zz{yz||{{{{{{{zzyzyzz{{{{{{{{z{{{{{z{{{|{||zzz{|{z{{{{|{|{||zz{{{{{{{|{||}{|{{{z{{z{z{|{|{{|{z{{|z|z{||{|||{{z{{z{||{|||{|{||{|{{{{{{|{||{|}{{||z{{{{{|{{||{|z{{{{|{||{{|{||z{zz|{{|{{{|{{||{{{{zz{{{|{{{{{{|z{zyz|{{{|{{{{zzz{zz{{{{|z}|{{{z{zz{z{{z{{{zz||{{z{{yzz{z|zz|{|{zzzy{{z{zz{z{{{zz{{{{z{z{|{{{|{|zzzyzzz{{{{{{{|zz{zzzzy{|{z{{{|{z{{zzzz{|{{{{{zzz{z{zy{{z{zz{z{z{zzzzzz{|{{z|z{zyzz{zzzz{|{{z{{z{{yzzzyz{zz{{{{{y{zzzzz{zzz{z|{{zzzyzzzz{zzzz{{{zyzz{zz{{{z{z|{{z{{{yyzz{{|z{|{{{z{{zzz|{{{{{|{zz{z{z{zz{|z{|{|{z{y{y{zz|{{||{|{{{z{zyz{|{|{{{|{|{{|{z{{{{z{{{{z{z{{{y{z|{{|{}{{|{z|{{z|{{}{{||{{|{{{y{{|||{||{{{|z|{{{{||{|{}}z{|zz||{{||{|{|||{{{{z{{{|{|{|{}{{{{{{{z|{|{{{{|{{{|||z{{|{{{||}||z{{{z}{|{|{{||{{{{zz{{{{|z{{|{||{z{zz{{|{{{{|{|z}z{{{{}|}|||{{|{{{zyzz{|{|{z|{{zzzz{zz|{z{{z||z{{zz{yzz{z{{||{|z{z{yzz{{{|z{{{{z{z{{{z{z{{z{{|z{zzzz{{{{{zz{{{{zz|{z{z{{{{y|{{{|z{y{zzzz{z{{{zz{zzz{z{{{{{{{{zz{{zzzzz{{zz{{|{y{zzyzz{z{{zz{{{{z{y{z{zz{z{zzz{zzzyzz{zz{zzz{{z{zzzzz{{{{z{zzz|{zyz{zzyz|{{{{|{{yzzz|zz{{{z{{{{{{{|{{|{{{|{{{{|{z{zzz{zz{||{|{{{{{{{z{z||z{{{|{{zz{{{{zz{z{{{|{{{{z{{z|{{{{|||{{{{{z{|{{{{}z|||{{{|{{z{|{||}{|{{zzz|{{{||{{|{||{{|{{{{{|||{{{||{{{|{{{{{|||{|{|{{{{{{{z||||{|{z|z|{{z|{|{{|{||}|{z{|{{{{||{{|||{|{{{zz{{||{{{{{{z{z{|z{z{|{{{||{{{{z{y{{{|{}|{{|{z{z{zz{{|{{|{|z|zzzy{{{{zz{|{{{{zzzzzz{{z{{|{|{{{z{z{zz{{|zz{|zy{zz{zz{{|{{{z|{{zz{{{z{{|z{|{{{yzzzzz{{{{{{z{|z{zz{zyyz{zzz||{zzzzyyzy{{{{{{{zzzzzzzzzz{{z{{{{z{{zy{z{z{{z|z{{{|zzzyzzzzyyzzy{z{yzz{yzz{zzz{{{zz|yz{{{{zz{{z{{{zzz{z{zz{{{|||{{yzzzz{{{{}z{z{{zzzzz{{{zz{z|{{{yz{{{{{z{{{{{{|{{z{{{{zy|{|{{{}|{{zz{{{{|{{{{{{|{{{z{{{z||||{{|{{zz{{zz{{{{|{{||{{{{zz{z|{|{|{{{{z{{|z{|{|}{|{||zz{{{{|{{||{{|{||{{{{{{{z{||||{|{{{z{z{z|{||{|{||z{{{y{{||{{|||||{z|{{{{zz{{|{|||{z{z{{z{|{{{{{|{{{{{zz{{|~|{z{{{{{z||{{z||||{{z{zyy{yzz{z{zzz{{{zzzzzzz|zzz{{|{{zzz{zyy{{zz{{z{{z{zzzzzz{|{zz{z{z{zzzzy{{|zyz{{{{zzzzzyz{zzzz{zzz{zzzzzz{{{{z{{{{{y{zzzz{z{z{{{zzyzzzzzz{zzzz{{zyzzzy{{zz{z|{z{zzzyy{zz{z{z{z{{zyzzzzzzz{zzyzz{{zzyyzyzy{{zzz{z{zzz{zzz{{|{z{z{zzzyzzzzz{{{{{|{zzyzzyzz{z{{z{{{{z{z{zz{{{{z|{z{zz{zzzz{z{|{{{{{zzzzzxyy{{{{z{{{{y{z{{zz{{z|z{{{z|zzz{{{|{{{{|||z{{zz{|{{{z{{{|{{{{{|zzy{{||{{{{|{y{{{{z{|{|z{}|z|z{z{z{{{{{||||{{z|{{{{{||||{{|{z||zz{z|{||{{z{{z{z{zzz{{z||{{|{{zz{zz{|||{|{{{|zzzzz|z{|{|{{||{z{{{z{zz|{{|{{|{{{{zzzy{{|{|{|{{{z{zzz{{{{{z{{||{zzzz{{z{{{{{{{{zyzzz{zz{{{{{{{{y{|zzzz{{{z|{{}{z{zzy{z{{{|z{{|zz{zzzzzzz{{{z{{{zz{zz{{z{{z{{{{zz{zyzz{{zzz{z{{yyyzzyzzz{{z{zz{{yyzzzzzz{z{{{{{{zzyy{z{zzz|z|{{{{zz{zzy{zzz{zzzyzzzzyzzzzzz{{{{zyzz{zyzzz{{{{|z{zz{zyzy|z{{{y{{z{{{yzzzzz{z{{|{{{zzz{{{{{{{{{|{z{z{{y{z{|{zz{{{z{{yzz{z{{{{z{|{|zz{{zz{{{{{{z{{{|z{{zzz}|{}{||{z{|z{{{z||{|{||{{{z{zz{{{{{||||{|z{z{z{{|{{{{|}{{{{zz||z||{{|{z|||{|{{{z{|{{|{||{{{{z{{z{{{|{}|{{{{z{z{{z{|{|{||{{{{zzz{z{{||||{z{{zz{y{||{|{||{{{z{z{{zz{{{{{|{{z{z{z|z{z|{|zy{zzzzyzzzzz{{z{{{zzzzzzzz{z{zz{{{{zzyz{zz{{z{z{|{{{zzzyzzz{{{zzz{{zzzyzzzyz{{{{z{z{{zyzzyz{{zz{{zzzzz{|zzzz{z{zz{z{zzzzzz{{z{z{zzzy{zzzyz{{z{{{{{zyzzzzy{z{zz{{{z{zzzzyzy{zzz{{{z{zzyzy{zzzzyy{zz{yzzzzzyz{zz{zz{zzzz{zyzzzzzz{{{{z{zzzzz{{{z{{{{{zzzzy{y{{{{{|{{{zz{zzzzz{{{z{{|z{{zzz{z{{{{|z{{{z|zzyzz{{{|y|{|{z{{{zz{|{{z{|||{{{{{z{z{z{{{{|{zz{{z{{{{z|{{z{|{zz{{zz{||||{z|{}{{{{{{{{|{z|{||{{zzz{{z{{|{||||{zz{{z{z||z|{|||{{z|z{{z{||{{{}{z{z{{{{{{{{|z{||{{z{z{zz|{{{|{{{{z{{{{zz{|{{{z{{|z{{zzz{z{|{z{|{{zzzzzz{{{{{|{z{zzz{{zzzz{zz|z{|yz{zzz{zzzz{{{{{{{zxzyz{z{zz{z|zz{zy{{zzz{{|zz{{|zzz{zyzzzz{{{{{zz{zyyzyy{{{zzzzy{{zyyyy{{{{{|z{yyzyzzzzzz{{zyzzzyzzzzzz{yzzzz{zzzzzyyyz{z{z{{zy{zzyzyz{{zzzz{{z{zzyzzzzz{zzzz{z{zzyzzzzyz{{{z{zyzzzz{zy{{yz{{{{{z{yyzzy{{z{z{z{{zz{zz{z{|{z{{{|{{zyzzzz{{zz{{z{{zz{{z{{{{z{z{zzz{{yzzzz{{|{zz|{z{zz{{zz{{{{z{{{{{{z{zz{{z{|{|{{{z{zzz{{{{{{{{{|z{{|{{zz{{{{z{{|{zzz{{z{{|{{|{{{z{{zz|{{{|{{{{{{{zz{{z{{{}{z{||{{{{zzz{z|{|||{{{zz{z{{z{{{|{||{{{z{|{{zz|{{||z{{{{{z{z{zz{{{{{{{{{zz{zyy{{{{{z{{zzzy{zzzz{{|{||{{z|zzzzz{{||{|{{{{zz{{{{|{{{{|{||{{{z{{{{z{{{|}{{{{zzz{zz|{{z{|||{{zz{{z||||{{||{z{z|z{z{{{{z{{|{{{z{zzz{z||{z|{zz{{{{{z|{{{{{z|{z{yzzz{{||{{||{{{{{y{{z{{{{{{|{{y{{zzzz|{{{{{||{{|z{zzz{{{{{{{|{z{z|{z{{{{z{{|zzz{{{zzz{{|||{|{{{z{z{{{{z|{|{}{{{|zz{{{{|{{{|{|z{z{{z{{|{}{{{||{z{{{z{|||{|{|||{{{{zzz{{{|}{|}|{{{{|{|{z}{{{{{|{{{{{{z{{||{||||{|{|{|{||{||||||{|{{{z{{{{||}||||{|{||{{|{||||}}{{||||||{||||}||}{||{{{{}}|||||}|{|{|z|{|}|||}||}z}|||z{{|||||{{|{{||{z{{|||||||||{z{{{{|||{|||{|{{{z{z{||{|{{|{{{{{z{{|||||{||{|{z{{zzz{|{{{|{|{{{{{{{z{|{{{||||{{{{{{z|{||}{{|{|{{{{{z{{{||{|{{||z{{{{|}{||{{|{{{{z{|{{z||{{|{|{zzzzz{{|||{{{|{{{zzz{{{{{|||{|z{{{zz{{||||{z{|zzz{zz{{{|}{|{{{z{{{zzz{{|{{{{|{zz{{{z{zz{|{{||{z{|zzz{z{{||{|{{{z{{yzz{{{{|||{{{{zz{z{{{|{|}||}{{{{zz{z{||||{|}{{{{{{{{{{z{{|}{|{{{{{{{|{||||{||zzz{{z{||}|{||||z{{{z{z{|||{|{||{{{|{{{{|||||}|{|z{{{|||}{}||||{{||{{{{||||{}|||{z{{||{{|}|{}||{{|{{}|||||||||||{|{{{{z{|}|}}}{|||}z{{|}}{|}||{{||{|{{}{|{||||}||{|||{{|||}|||}|{{{|{{{|}{|}}||||{{{{|{|{|||}||{{|{z|{z|{}{{{||{{yzz{zz{|{z{{{|{z{z{zzz||{|{|||{{|{{z{{{{|{{{||{{{zz{z{{|{{z{||{{{{z{{z{{{||{||{zz{z{|{{{z{{{|{{z{{{zz{z{{{z||{|{{zz{z{{{|{||||{z{z{z{{{{{|{{{{{z{{z{{{z{{|{z|{{zzzzz{{z{{{|{{|{{{{{zzz|{{{||{|{{{{{{{z{{{zz|||{{{|{z{zzz{{||{{{{{z{zz{{{|{|{||zz{{{z{{{|{||{z{{{zz|z{{|{|{|{{|{zz|{{z{{||{{||{{{{{z{{y{||{|{|||{{z|{{{||}}{|}{||{{{{{{||}}||||{{{{{||||{{||||}{{{||{{z{|||||}{|{{z{z{{||{||||}{{{|{{|||||{|||||z{{{{||{}{}{|}|||{|{{|{{}|||||{||{{{|{||}|{|~~||}{{{|{{|{{||||}z{{{{{{z|||}|}}}{|{|{{z{{|{|{}}{{z|{{{{{{|||{|||{{z{{z{{{{{{{{|{z{{z{{{z{|{{|{{||{zzz{z{{z|{|||{{{{zz{{z{|{{{|||{{{z{{{z{|{{|{{|{z{zzzzz{|zz{||z{{z{{z{z{|{{{{{|{{{{z{z{{{{{{{{{z{zzzz{y{|{{{||z{{zzy{zz|||{{z{{{|{{{zz{{|||z|{{|{{{{z{{zz{{{|{|{{{zzz{z{|{{{|{{{{{{{z{zz{{{{||{{{z|z{|z|{{|{{|{{z{{zz{{{{{{{|{{{z{{{zz||||{{{{|{|{||{z{{{|z|{{{{{{{{yz{{|||||{|{z||{z|{{|}{{{||{|z{{{z{{|||||{|{{|{{{{{}{||||||||{{{{{z|||{{||||z{|||{{||||||{|{{|{{{||{{||}||}|{{|{|{||||{{{}}}{||{{{{}|||||||}{{{{{{|||||}|}}|{{{{||{|{{|||||{{{z{{{z{|}}|{}|z{z{z{{{{||||{|{|{|{|z|{|z|{{{zzzz{{{y{z{{{z|zz|{z{z|y{{|{{||{|{|z{z{z{{|{{{{|{|{{{z{{{{{|{{{||{{z{z{z{z{|{|{{{{{z{z{{zy{{zz{||{{zz{{zzz{{{{{|||{{zz{z{zzzz{{{{{z{zz{y{z|{{{{zz{{zz{zzy{{{|{{{{|{z{zz{zzzzz{{{{{{yzz{z{y{|{zz{|zzz{z{{{{{{{{{{|{z{zz{zz{{{{z{{}z{z{{{{zz{{{{{|{|{z{z{{{z|{{|{|{|{{{{z{{{z{{{{{|{|z{|zz{{|{zz{|{|{z{{zy{z{{||{||{{z{zzzzz{{{{|||||z{{{|{{{{{{||{{{{{|z{{|{{||{|||{{|{|{{z{|{}{}|{zz{{|{{{|}|{z||||{|{{{{{{||{{|||{{{{{}{z{||}|||||{|{|{z{|||||||||{|{{z{{{||{}||{|{{{{{{{}||}}{}||{|{z{{{{|||||||||{{z{{z{{|{{z}{z{{z{z{{{||{{{|{{{z{z{zz{{|{z{|{{zz{z{zz{{{z{{{|{|z{yzzz|{{{{{{|{{zzzzz{{{|{{|{|z{zzz{zzz|{{{{z{{zz{zzz{{{{{|{|{{z{{z{{zz|{{{|zzzz{{{zz{{z{{{z{{zyzzzyzz{{{{zz|{zz{{z{yz{{{z{{|{{z{zzy{z{z{zz{|zzz{{{zzyzzz{z|{{{y{{z{zyz{{{{{{{z{{{{{z{|{{{{{{{{{zz{{zz{{{{{{z}zzzzz{{z{|{{z|{{{{{{{{z{{|{z{||{|{{{{z{zz}|{{|{{{{{{{z{{|{{{{{|{|{|{z{{{{}{|{|{{z{{{{|z{{||||{||{{{|{z||}|{{|{||{|{|{z{z|}{|{|{|||z{{{{{{|{{{|||{|{|{{|{z|||{|}||{{{z|{{{{|{|}|}|{||{z{z|||}{|||}{z{|{{z|}{{{|}||{zz{{{{||{}|{|{{{{{z{{{{{{{z|}|{{{{{{{|{|{z{|||{{z{{{{z{{{z|{z{zzz{z{{{{{|{{{z{{{z{zz{{{{|{|{||{{|{{zyz{{|{|{}|{{{z{{{z{{{{z{{{{z{zzz{z{{{|{{||{{z{z{{z{{|{|||||{z{{{{z{||{{{{{z{zz{{{{{z{|z|{|{{{{|zzz{{|z{{{||{{zzzzz{{|{|{{{{{{{{zzz{{{|{{{|{z{zzzzzzz{{{{{{{{z{zzzz|{z{{{|{z{{z{z{z|z|{{||{{{zz{{{zz{{|{{|}|{{{{{{{{{|{{||{{{{|z{z{}{||{|||{{{{zz|{{|||||||{{{|{{{{{{|{{||{|{{{z|{zz|{{|{}||{|{{|z{|{||}{||{{{|z{}|||{|{}||{{{|{{{{|{||||||}|{||{|{||~||}|}|{||||{|{||||||}|{|||{{{|}|||}|||||{||{{|||}{}|}|||||{||{|||}|{{|||||{{|{|{||}}|{{{z{{{|{|{|||||{{z{z{{{{|||z{|{||{{{|{z|||||{|||{{{y{z{||}{{{||{z{z{zzz|||{{||{|{{zzzzy{||{||||z{{{{zz{|{|{z{||{{{{y{{z{||{{{{|{{{z{{zz{{|{{|||{{{{{zz{{|{{{{{{{zz{z{z{|{{|{{||{{z{zzz{|{{{|z{|z{zzzzz{z{{{{{{|{|{zzzzz{{{z{{||{z{{{zz{{{|z{{{{{z{{z{z{{|{{||{{{zz{{{zzz{{{{|{{|{{z{{{{{|{{{z||{{|z|zzz{{|z||||{{{{|zz{{z|||||}{{|{{{z{{{|{||{{||{|{zz{{{||{|{{{{|{{z{||||{|{{{{z|z{|{{}{|||{|||{{{|{|{|}{}{||||{{|{z{{|}|{|{}|{{z|{{{{|{||||||{{|{{{||{}|{||}|}}|{{{{{{}{|||||{z||{|{|||}|{|||{{{{{{{|{|{{|||}{||{{{{|{|||||}}|z{{{{{{|{|{|||||{{z|{||{||||}|{{{{{{{{{{{|||{||{{z{{{{zz{|{{{|||z{{{z{{|{{|{{|{{z|{{{z{||{|{{z||zz{zz|{|{|{{{|{{{{z{{zz{z{{z||{{{zz{{{z{{|{||{{{{{{z{{z||{z{{{{{z{{{{{{{{{{{|{{z{{{{z{z{{|{{{{{{z|zzyz{z{z{|{{{{zz{z{z{|{zzz{||{{{{z{zz|{z|{{|{zzz{{zzz{|{{{{|{zy{{z{{{z|||{{{|{{z{{{{{||{{{{{|{{|{{z{{{{{{|{z{|{{{zz|{|{|{{|{||z|z{zzz{|||{|{|zz{z{z{{||{|{{||{{{{z{|{{||{{|||{{{{{{{{{{}}|{||{{{|{{|{|{||}|}|{|||{{z{||}||{{||{z||z{{|}{{{|||{{{{{|{||||{|}{|{{{{{||{{}{||}||{{||{||z{||||}}|{{{|{{{{|{||{}|{{|{{|{{{{}|{{{|}{{{{{{z{|{|||||{|{z{z{{|{{{|{{|{{z|z{{{z{{|}|{{{{{z{z{z{{{{{{{{|{{{{z{{z||z|{{{||z{|{z|{{{|{{|{|{{{z|zz{{{{{|{{{{{{{{{z{|z|{{|||{{{zz{{{z{zz{{{{{z{{{zz{{{||z||{{z{{z{{{{|{|z{||z{{z{{{z{{{{|{{{{zz{{{z{zz{z|{{{{z|z{z{zz{{{{|||{z{{{zzzz{{zz{|{||yz{z{zz{zz{{||zz{|{|{y{{{{{||{{z{{{z{{{|{z|{|{|z|{zzz{{{|{|{|}{{{{{{z{||{{||{||{|||z{{{{z}}|||{{|{{z{{{{||||{{{{zz{{|{z||z{||||{|{{z{|z{{||{||{|{z{{{{|{{|||}|z||{|{{{|{|||{|}|z|{|z|{||}{|{}{{{{{z||{{{|}{|{||{{||{{{{||||{{||{|{zz{|}{||}}|||{{{{|{{{|||}||}||{{{{|{{{|}|{|}{|{||{|{{|||{|||{{zz{{{z||||||}{{z{zz{{{{}{|}{|{{{zz{{yy{|{z|z{|{z{{{{zz{{{{|{||{z{zzzyz{z{|z|z|{z{|{{{{z{{|{|}|{{{{zzz{{|{z{|{{{{{{z{{{{|{{{||{{z{|zzzz{|{zz|{{{zzz{{zzz{||z{{{z{{z{zzzz{|{{|{zyz{zy{yzzz|z{{{{z{z{zzzz{{{{{|{z{{{zz{zyzz{yz{z{|{zz{{zzz{z{{{{{zz{{zz{zz|{z{{{}{z{{z{{{{|{{{{||z{{{{z{{{|z{{|{|z{|z{zz{{|{{{{|{z{{{zz{z{|{||z|||{z|{zz{|||{{||{{z{{{{{{||{||{|{}|{z{{{{{||||||||{{|{z{{{{{|{}}}{{{|||{{|{||{||{|{{{{{{{{|{|{{}}{{{{z{|||{{|||||||{{{{||{}}|||||{{{|{{z||{{{|}||}|z{|z|||}{|{||||{||{{z|{{|}|||}|{|{z{{{{|{|{||{{{zz{|{{|{{|{|}||{zz{{{zz{{|||{{{{{{z{{{{{|{{z{{{{{{{zzz{|{{z{{||zzzzzz{{z{{{{|{{{{y{{z{{|||{z{||{{zz{{{{|||{{{|{{{zzz{z{{{{{||z{{z{{zz{{{{{|}{{z{{y|{{{{{{{{z{{{zzzzy{zz{z{{{|{{z{yzzz{{z{z{{{|z{{{zz{zy{{{||{|zz{{zy{zz{{{{||{{{zzzzyzzz{{{{{{zz|z{zzz||{{z{{{{{z{z{{z{|{{{|{|{{{{{{|{{||{{|||{z{z{{{{{|||{{|{z{|z|z{{{{|{{||{|{|{{{z{{{}}{||||{{{{{{z{{|{|{|||z{{||z{|{|||||{z{{z{{{{|{||{|||{{{{{zz{||{|{||||z|{{{|{{||{{|}||{|{{{{{{|||||||||{z{{{|{||||||{{{{{|{{|{|||{|||z{{{{||{{{||{|||{{{{|{{||{{|}}{||{{{zzz|{{||{|||{||{{z{z{|}|{{||{{|zz{z{z}||||{z{zzz{{|z{{{z{|||z{z{zz{|z{{|{{|{{z{zz{zz{{|{{{|{|zz{zz{y{{}z|{|{{{{{{y{zz{{{{{z{{z{zzzzzz|z{{|{z{{{yzz{{zz{{{{{{{{{zzzzy{{z{{{{|{zyzzzzz{{{{|z{{z|{{y{{{{{|{{{{{{{z{z{{z{z{{{{||{z{{zzzzy{{z{{|{z{{{zzzzz|zz||{{{zz{z{{y{z{{{{||{{zz{z{z|||{z{||{{|{zz{{{{||{|{{{|{z{{zz{{{{{|||{z|z|zz{|{{|{|{{z{{{{z{z|{{|{{||{{{{{{}z|{|{{{|||z{{z{z{{{|{{|||{z|{{{||||||{||||{z{{{{z}}{|{{{{{{{{{||{||||}|||||z{|z{{|||||||||{{{z|{{||||||||{|{{|{{||{|{z|{|{|{|{|{z|{||{{||{||{|{{|{|z|{||{|{{zz{z{{}{|||||{{z{{z{{||{||{{|{{{z{z{{{|{{}{{zzzzzyz{z{{|{z{||{zzzzz{y{z|z{{||{{{{z{zy{|{z|{{{{{zyzzy{{{z{z{||z{{zzz{yz{{{{{||{z{y{{{zz{zz{{{{{z{{zzz{|z{zz|{{zzzzzz{zz{{{z|{{zzzyzzz{{z{z|z{{{y{{zzz{{{{{{z{zzz{zz{yzz{{{zz|zzzz{zz{{z{{{{{z{zzzz{{{zz|z{{|zzzzzz{{zz{{{|{|{{{z{yzzzzz{|{{|z|{zz{{{zz|{{{{{{|zz{{zz{z{|{{||||{{{zz{z{{|{{z|||{z{z{yz{{{|{{{|{{{z{{zz{|||{{{{{zzz{{{z{|||{{|{}{{zzzz{z{|||{|||z|z|{z{{{||}z|z{|{{{{{{{|||{{|}}{{{z|{{{|||z|}{||{{{z{{z|||{|{|||{|{{z{{{{{|{}|{{{|{{{{{{|{{{|}|{{{{{{{||{{|{|{{|{{{{{{z{|z{|{{|{z{{|z{z{||{{|{{{{{{{zz{{||||{{{z{y{zy{z{|{{z|{{{{zz{z{{z{{{||||{{{z{zz{|{{{|{||{z|zzzz{zz{{{{{|{zz{zz{zz{{|{{{|z{{zz{|yz|z{z{{z|z{{z{{{zz{{z{{{{{zz{z{zz{zz|{{|zzzz{z{z{{zzzzz{z{{z{zzzz|z{{{z{y{{{zz{zz{{}{{{{|z{{{yzy{{zzz{{{z{zzzzyzz|z|{|{zz{{z{zzz{|z{{{{|{{z{{zyz{{{{{{|{{{{{z{{z{{{|{||{{|{{z{{{|{|z|{{|{z{{z{z{z{{|{{{|{z|{z{{{|{{{{{{z|zz{{{z{|z{|||||}|{{zz|{|{||||||{|{{z{{{|}{{||||{{z{{z{z|||{{{|{}z{|{{z{|||{{|{{{{|{{{{{{{|||||||{{|{{{{{}|}|{}|{{{{z{{|{|{|{|||{zzz|{{{||{{||||||{{|{||{|{}{|||{||{{{{{{{||{|||{zz{{z{z}{||{{||{{{{{zzz{|||}{|{{{z{z{zzz||{{{|{{{{{y{zz{|{{|{{||{zz{{{{zz{{{|{|{{z{{{zz{{||{{||z|zz{{{{{{z|z|{}{z{{{z{z{{{zz{z{{{{y{zz{{{{z{{||{{z{{|zz{|{z{{|z{{{z{zzzz|{z|{{{{{z{zy{zz{|{{{{{{z{zz{{{|{{{{{{{{y{{z{zzzz{{{{{{{{zz{zzz{{z|{|z|z{z{zzzz||{{{{{{{z{{{{z{{{{{{{{{{z{{z{{z{{||{|{}{z{z|{|y{{{{{|{{|z{{z{z{||{{||{{{z{{{{zzz{|{{||{|{{z{{{{{|{{{{||{{||{{|{|{{{||{|{{{}{|zz|{{|{|||||{{|{{{||||{}|||{{{|z{{|}|||||{{{{{{|{{{|{|||}}|z{{{{{{{||||{||{{{{{{|{{|{|{||{|{{||{|{{|||{|||||{|||{{||{z|{|||{{y|z{{{|z{{|}||{{{z{{{{|||{{|{{z{|{{{z{{||{{z{{z{zz{{zz|{{|||{|{{{{z{z{|{|||{|{{zz{{z{||{{{{|{{{zz{z|{z|{{{{{{|{{zz{zz|{|{{|{{{z{z{{z{||{{{{{{{{zz{zz{zz|{{{{|z{{z{zz{{|{{{||{zz{z{zzzz{{{{z|z{{zzzyy{|z{{{{|{{zzz{{zz{{{{{{|{{z{zz{{yzzz{{{z{{{{zzz{{{{{z{{{{z{z{{{zz{z|{{|||{zzyzz{z{{{zz{{|{{{{{z{{{{{{{|{|{z{{{z{{||{{{||{{{|{{z{{z}|{{||{{{{{z{y{{|{{{{|||{z{{{{||||{{|{|{{{z{|{{{{{||}||{||z{{|{|{{{|{||{{|{{{{y{}||||{{{|{{|{{{}|{|||||{|{z{||z|{|||||||{|{{|{|{}}{|{|}|{{{{{{||||||{|||z{{|zz{{{{{|}|||{{||{z||||}|}{|||{|{|{z|{|}}|{|{zz{{{{{{|||{{||{{|z{z{{|{|{{z{{{{z{{{{z{|{|||{|{{{{zz{z{{{{{|{||z{{z{z{{{z{{{||{{{{{{zz{{{{{z||{{{zzz{z{{{{{|||{z|{{zz{{{{{{||{{{z{zz|zz{{||{|{zz{{{{zz{}|{{{{|{zzz{{z{z{{|{{{|{z{zz{zz{{{{{|{{|z{{{zz{z{z|{{}|{z{zz{{z{{{{{{{|}yzzz{{zz|{|{{{|{{z{|z{zz{{{|{|{{z{{|z{{{{{{|~{|{{{{{z{{{|{{{{{}|||{zzz|{{{{{|||{{z|{z|{||||{{{||{zz{{{{||}{|||{{{|z|||{{|{|{{|{{{|{{{zz{{|||||}{{z{{{{{||{||}|||{z{{{zz||||{|}||{{{{{|{|{|{||||}{{z{|{|{}|||||{{{|{{||{{|{|{|||{{}{{|||||}||||||{z||{{{|{{||}|}||{|{z{|{|{||||||{z{|zz{|{}|{{||{{{{z{{z{|||{{{|{{{z{|{{}|||{{{{{z{z{|zz{{{{{{||{z{z{z{|{{z{{{{|{{{{zz{{{{{{|{|{{z{{{{zz|{|{{{{}|z{{zz{z{|{}{||{{{{{{{{zz{zz{||{{z{z{z{z{{|{{|{{{{|{{z{{{z|{{|{{z{zzy{z{zzz{{z|{{y{{{{z{{z{z{{||{{{{zyzz{|{{|z|}z{y{zz{{z{{{{||{z{{{z{|zz|z{{||{{z{z{z{{{{{{{{{|{{{{{z{{{z{|{{|||{|zz{{{{{{|z{||{{{{{{{{||{{||{{z{|zz{{z{{{|{z||z{{{{|zz{||{{{|||{{|z{z{{||z{|{{{{|{|z{{{|||||||z{zz|z|z|}{||{|{{{{{|{{{}{|||||{}z{{{|{{||||||}|{{{{{{|{|}||}|}|{|{{{||z{|||||||}|||{{|{|{||{|||||{{{{{{{{{|||||{{|{{|z|||{||{}||z{z|{z{{|{||{|{||{{{z{z{|{||||{{{|z{{{{||||{{{{|{{zzzzz{{|{{{{{zz{z{z{z{z{|{|{|{z{z{{{|{{{||{|||{{{{z{{{{|{{{{{{|{{{{zz{||{}|||{z{{zzzz{{|{{{{{zz{z|yzz{{{{{|{{{z{zz{z{|{{{z{}|{z{zz{zz{zz{z{{{{z{{z{yz{zz{z{{{zz{z{{zzz{{|{{||{zz{{zzzz{{{z|{|zzzzz{zzz{{zz|z|z{z{{{zz{{z{{||{z{z{{zzz{||||{{||{z{z{{|{{|{{{{|{{{{z|{z|{{{{|{|{z|{{{{{{|||{||||z{{z{{{|{{||{}{{{{{{{{{|{|{|{{|||{{{{{z{{|}||}|{|z{|{z|{{{||||||z{|{{{z|{|{||~|{{{{{||||||||}{|{{{{{{|||{{||}||{||{{{{{{|{}||{{{{|{{{{{||{|||}||{{{{{z{}{|}|||}||{|{{{{|{||||||{{{z|{|{||||||}||{{{{{{{{|{}{|{{{{{z{|{z||||{||{{zzzzzxzz||}|||{||{zz{{z{{|{{|||||zzy{{z{{||{{{|{{{{zz{|{||{z{||{{{z{z|z{{|{{{{||z|zyz{{z{{z{|{{zz{{z{z{{{|z{{|zzz{z{z{{{{{{{{|{{zzz{{z{{{{|yz|{{zyz{zz{{||{|{{{z{{{z{zz{||{{{{|{yz{{zz{{{{z{{||{{zy{{zzz{{{{{|{{y|{z{{z{|{{{{{{{{|{{{{z{{{{{{||{{{z{z||{{|||{}|zzzz|zz|{{{|{|}|{{||{z|y{{||{||{{z|{z{{z{|{||{|{{z|{{z{{|{{{{|||z{{{{{{{|||{|||{|{{|{{|{||||{{|}|{{{z{{|||||}||}{{z{{{{{||}{|}}||{{{||{{{|}||||||{{|{|{{{}||}{|||{}|{{{{||}{{||}|{{{|{{{||||||}{|{{{{{{|||||||||{{{{{{{{{|||||||{{{{{{|{||{|{{{{{{zz{z{z{|||{{|{zzz{z{{z{|{|z{{|{|{zzz{zz{{{||||{{{zz{{{{{|{{{}{{z{{zzzz|{{{z|{|{{zzy{{z{z|{||{|zzzz{{{zz{{z{|{z{zz{z{zyz{{z{{z|y{{z{zz{{{z|{{{|{zzzz{{z{{{{z{|{{zz{z|z{|{{{{{|{z{{{zzzz{{{z{{||zzz{{yz{{z{{{{{|{{y{zzzzz{{{}||{{z{zz{{z{{||{||{{{{{{yz{{{{z{{{|{zz{{{{{|z||{||zzz{zzz|z{|{{{|}|{{{{{z{{{|z{z|{z{z{{z{{{|{|{||{{|{z{{{z{{|{|{|{{{z{z{{{{|{||}{}|{|zz|z{|{|{||{||{|z{{{{z|{{{{|{}|{z{|{{{|||{{||}{{||{{{{||{{||}||{{{{{{{{|||{|||}z|||{z{|||}{{||}|{{z{{{|||||}||||{||{{||{{{|{||{{z{{|{{{|{||}{||{|||{{{{|{|{|||{{{{|{{{{|||{|{{{{zz{zzz{{|y{{{{{{{{zyz{{{||{|||{zzz{z{{|{{{{|{|zz|z{z{{{|{{z{{{{{zz{y{z|{{{{{{|z{zz{z{{{{|{{||{{z{yz{{z{{{z{z{{{{{{z{z{z{z{zz{{zzzyzz{{|{zzz{{{{zzzzzz{{{{{|{{{{{zyzzzy{|{|{{{{{zzz{zzzz{zz{{{|{{zz|zzz{|{{{{{|{{{y{zzz{z|z|{|zzzz{|z{zz{{{{{{{{z{z{z{|z|{{{{||{{z{y{z|{{||{{{|zz{z{zzz{{|{|{||{|{z{zzzz||||||z{{{{{zz{{|{{{||z{z{{{|{{{{|||||{{{{||{}{|{||{|{|{{{{|{{z|||||}{{|z{z{z|z|{{|{{|{|{{{{|}{||{{|||{|{{{{{z{{|{|||}||z|{{z{|{||}|}{|{{{|{{|{{{{{||}}{{{{|{{{{}||{{||{|{{zz{{{{|{{|||{|{{{zzz{{{{||||z|z{z{z{z{|{|{z{{{{z{zzzz}|{|{||zzz{{zzzzz|{||}|zzyz{z{z{{{z{{|{z{{{z{z|{{y{z{|{{{z{y{{{{{z|{z{{{{|z{zzz|{{{z|{|{{{|zzzzz{{{z{{zz{{zz{{{{{{{{{{|z{zy{{zzz{|{{{|{zz{zz{zz{z{{|{|{{y{{zz|z{{{z{{|{{{{zzzzzz|z{{{{{{zzz|{z{{z{{{|z{{zzz{{{z{{{{{|{{{z{{zzz{z|{{z|||z{{{z{{z|||z||{{|z{{{zz{{|z|||{||{{|{z{z|{||{|{|{{{{{{{{{{||{{||{{z{{z{z|{||{|{||{|z{{{|{|||||{||z{z||{{{||}||}|{|{{{{{{{|||||}{{{z||z{{|}|||{||||{{{||{{}||}}||}|z{{|z{{||||{|}{{}{{{{{{{{{{||||z{{{{{|||{{|{|{{|{{||{||||{|{||{{zz|{{zz{{|||||{|{z{{z{{||||||{{{{zzzz{|z|{{{|{z{{{{z{z{{{{|{||{zz{{{zyzz{{|z{|{|{{{{zy{{z|{|{||zz|zyzz{{||{{||{{{yzzzy|{|{{|{|{zzzzzzzz{{zz{{}{{{{yzz{{{{{z{{{{{zy{zz{{{{{{{z{{zzy{{zzz{z{{{{zzzzzzzzz{{zz{|{{|z{zzyz{{{|{zz{{zz{{{z{z{z{{{{{{{zzzzz{{z|z|{|{{z{{{{{{z|{{{{{{{{z{z|{z{{{{|{z{{|zzz{{z{{|{z{{{|zz{{{{{{|{|||{z||{{{{z{z{}{||}|{|{{|z{{{||{|{{}{{{{{z{{{|||{{|||{|{z|{{{||{{{||{{z{{{{||||||{|||{{{{z|z{{||{{||{|z{{|{{{{||{|||||{|{{|||||||~||}{{{{{|{{{|||{|}||{{{|z{{|}||||||{{z|z{{|{||{|{}||{{{{|{{||||||{|z{{{{|{z||||{{|{{{{{{|{z{{{|{|||{{|z{{z{|z|{{|{{{{{zz{zzz{{|{{{|{z{{{z{z{|{{{{|{z{{z{{z{{|{{|||{{{{{zz{|{z||{{|||{{zzz|{{||||{{{{{{zz{zy{{|z{z{|{{zzzzz{{{z{{{{{{{{{{{z{{{{|{{{|z{{{zyzzy{{{{{{{{{z{zz{{zz{{{|{{{z{zz{|{{{|}z|{{{zzy{z{z{{{{{{{{{z{z{{{{{{{{|}|{{{{zz{zz{||{|||{{|zzzy{z|{{{||||{{{|{{{{{|{|||{|{{|{{{{z{}||{{||{{{{zz{{{||{{|z{{{{z{{{{}|||{||||{{{{|{||{|{{|{|{{|z{|{{{{||{||||{{|{|{{|||||||||{{||{{|}|}{|||||z{{|{|{|}|{{{}}{|{{{||||}||||}||||{{||{{||}{|~||||{|{}{||||{}||{|{z||||{||{|||}{|z{z|{{||||||{|{{{z{|{|||||{||||z{{{||{{}|{{||{{z{{{{{{|{{{|{{{|z{{{zzzz{|{{{{|{z{{zzz{{{z{{{|{|zzz{{{{{|{{{{||{{{y{{{y{|||{{{{zz{zz{{z|{||{|{{z{{{{{zzz|{{z{{{|zz{zz{z{{{{{{{{{zzzzzy{|z{{{{|{z{zyz{zzz{|{|{|{{z{{zzy{z{{{{{{{{{{{z{{zz{z|||{{z{z{{zz{{{{{{zzz{{{{zz{zz{{{||{{{{{zz{{z|z|{{{||{z{{{z{{||{z{|{|{z{{{z{{{{z{{{||{z{{{z{z{|{{|||}{{||{z{{{}{||{{}{{{{{z{{|{{||{|{{{{{{|zz{|{|z||{|{{||{{{||{||||{{{|{{|z||{|}||{}{{{{{y|{||||{}|}{{{|{{z|||{|{||||{{{{}||{{|||}|||{{{{{{|||||||{{|{|{{{|{|{{||||{|{{{{|||||{}|{}|||{|z{{|{|{{||{|{{z{|{|{{|||{|||{|{z{{{{z|||z||{{|{|{{|||{{{{{{{{{zzz{{z|{{{{|{|{z{z{zzz{{{{|{{{zz{{z|zz{{{|||||{{zz{z{z{z|{{{{|{{zzzzz{{{{{{{z|{zz{{zzz{{z|zz{|{z{z{yz{{{{{{|{{{{yzz{z{z{{{y{{z{zzz{z{{z{|{z{{{zyzzzzz{{{|z{{|z{zzzy{zy{z{{{{{|yzzzz{{y{zz{{{{zzzz{{{zzzz{{{{{z|{zz{zz{{{{{|z|{{{{zz{{zz{{z|{{|{zz{{z{z{z{{|{{||{z{{z{{{{{|{{{{{z{z{z{{|{|z|{|{{{{yz{{{||{{||{||{z|z{{z|{z{||{{|{{{{|{z||||}}||{z{z|{|z{{||{|||{{|{{{|z{||||{|||{{|z{{|{||||{||{{{||{|{||||}{|{|{{{{{z{|||||}||{||{{zz{{|{||}|}{|z{{}z{||||{{|}||{{|{{{||{|{}|{{{z{{zzz{{{{{|}{|{{||{{{|||||{||{z{{z|{z{{{{{|zzz{z{zzyz{{||zz{zzzz{zzzz|{z||{|{|zzz{z{z{{{|{{{{{{{zzzz{z{{z{|{{{z{zzzz{{{{|{|{|{{{zy{y{{{{z{||{|{{{{zy{{{|z{{{{z{|{zzz{{{{{{{{{zzzzzz{{{{{{{{|{z{yzz{zz{{{{|{{z{z{zzy{{{{|{{{|{|{{{zz{y{z{{|z{{{z{z{z{zzz|z{{{{zzz|zzzz{|y{|{{{z{z{{z{zz|{{{|{{{{z{{z{{|{{{{{|{z{|z{{zz||||z{z|{z|{y{|{|{{{{||||{|{||{z||{{{{}{}{z{{{{z|{|{{{{||{{{{zz{||{|||||z|z{{{{z}|{|||}|{{z|{|{z||{{|{|||{{{|||{|}}{{||}{||{||{{{}}||}|||{{|{z{z{}|||||}{|||{{{{}|}{{|||}|{|{{{{||||{|||||z{}{{{|{{|{|{}z{{{zz{{{{|{||||z{|{{{{z||{{|z|{{{{{z{{z{{{{|{{{zz{{{{{zz{|z{{{|{z{{zzz{{z{||{|{{{y{{{{{{{{{{{{||{{{{zzz{{||{{{{{{zzzzz{{z{{{{{|zzz{{zzy{{{{{{|zz{zzz{zzzz{zz|{{{{{zzz{z{{{{|{{{zzzz{zz{{{z{||{|zzzzz{xz{{|z{z{z{zzzyzz{{{{||{|{zz{{zzzzz{{{{{zzz{zzzz{z{{{{{{|{z{zyzzz{{{z{z|||{z{z|{{z{|{{|{{|{{zzz{zz{{|{z{{|{z{{{{zzz{|{{}|{|{{{z|{{||{{|||{{z{{z{zz{||||{|{{{{{{z{z{{|{{|}{{{{{{{z{{{{|||{|{z{z|{{{||{}}|||z{{{{zzz|{||}|}||z{{|z|z||||{|}||{{{z{{||{{||}|{{|||{|||||||{|}}|{||zz{{}{||}}{|{zz{|{{{{{{{|||}}{{{{{{{|{||||||{{{{{{{z|{|||||}}{|{{||z|{{|||{|{{|{zz{z{|{{{{{{zzzyzzzz{|{|z|{z{{{zz{z{{{|{|z{|{{zzzyzy{{||{{{|{y{{z{yz{{{|{{{|{zy{{zzz{z{|{|{{{z{z{y{z{{z{{|z{{{z{zzzy{{|{z{z{{z{zyz{yz{z{zz|{zzz{z{yz{{{{{{|{z{{z{zz{{z|{|{{z{z{zyzzz{{z{{{{{zz{zzzzyz|{{z{{{{{{{{z{z{{z|{{{{|{{zz|z{{{|{z|||{{z{{zz{{{{z|zz{{z{{zyzz|{{{||{|zz{{{{z{z||{{|}||{{{|zz{{{{{{{{{{{z{z{z{{{|{{{|{{z{{z{z{{{||||{||{zz{{{{|{|}||{{{|{{{z{{{|{{{{||z{{|{z{{{{|{{}|||{{{{{{{{||||||{z{{|{{{|||{|{||||{{z{{{|{||{{{|}{{||{{{{|{{|{}||{|z{{{|{|||||{{||||z{{|z{|{|||}||{{zzz{{{||{{{||{|z{{zzz||{{z||{{z{{{{{z{|{{z{{{z{{z{{{z{{|{{{{{{{zzzzy{{{{||{|{{z{{z{zz{zz{{{{{zz{{{yz{{{|{z{{|{{zyzz{z{|{|{{|{{z{{{z{zz|{{z{|{zz{zzzzz{z{z{{{zzyz{zz{y{{{{{{z{zzzy{y{zz{{}{{{{{{z{zz{z{{|zz{{|{zzzzzzzzz{{z{||{yzzyzzz{{{{{{{|{{zzzzzzz{{{{{{{zzzyz{zz{y|{z|||{zz{zzz{{{|{z|||{z{{{z{{||{{{}{|zz{{z{{{{{{|{{}|{{{{|z{|{{{{||{|{zz{z{z{|{|{{|||zz{{z{{{{|{z|{{{|z|{{{z{||||||||z{|{{{{{|{{|||||{{{|{|{|{{{|{||{|{{{{zz{||{||||||{{{{z{|{||{||{{|{||z{|{||}||z~|{{{{{z{{||{||||||{{{z|{|{{{{{{||{|{{{{{|{{||||{}{{z{zz{z{{|{{{}{{|{{{|zz{||{||||{{z{{{{y{|{|{|{{zzzzzz{z{{z{{{{|{{z{zz{{{z|z{{{|{{{zz{z{{|{zz||{{z{{{zzy{z{|{{z{{z{yyzzz{{{{{|z{zz|zzz{zz{{z{{||{zzzzzzz{|{{{{|z{{zz{{zz{{z|{{{{z{{zzzy{{|{{z{{|yzzz{{zzz|{{{|z{{{{{zzz{z{{z{z{|{{{zzz{zz{zz{z{{{{zzzyz{z|z{z|z|{y{zzyzz{zz{{|z{z{{zzzz|z||{|||{{zzz{z{{{{{{{{{{{z|{z{zz{{z{{{|{{z{{{yz{z}|{|{{{{{{{z{zz{{{|{{|{{{z|{z{z{{{{|{z{{{{{|{{{{|{}|||{|{{{{{{||{{}||||{{{{z{zz{{||{||||{zz|{{{|}||||||{z|{z{|z}{|{|{|{|{{|{{{{{||{{{|||{||z|z{||{{|}|}|{{|{{{{{|{{|||}{{z{||{{z|{|||||{{{{zz{z{||||||||{|z{{{{{|||||}{{{{{{{{z{{{{{{{{z{zz{z{zz{{{zz{{zz{zzz|{{{{|{{||z{{zz{{z{z{{|z|{{z{z{{{yz{{|{z||{{zz{z{{{{{||{{}z{{zz{{z}{|{{||{|z{zzz{z{{|{{{|{zz{zy{zz{zz{{{{{zzzzzz{yz{z{{{|{{z{{z{yzz|{{{{{|{zzzz{zy{{{{{|{z{{{z{yzzy|{zz{|{{yzzzzzz{{{z{{|{z{{z{yzz{{{{{{|{zz{{{{{{{{{{{|{{zz{z{{zz{{{|{{{|{z{{{{{{{{|{}{{|{zz{{z{{|{|{{|||zz|z{zz{{{||{||||{{{|zz{{|{{{{{z|{{z|{{{||||{|{{z|{{|{{{||{|{{||{z{{{{{{{{||{||||{|{{{z{|||||||~{{||z||{||{{|}}|}{|{{}{{{}|}||}||{||{{{{||{}|}|{|{{{{{{|{}||{|||||{|{|z{||{|{{||z|{z{{|{{||{}||{||{{{{{{{{||{{|{|{{|{{{|{{{{{{{{{{{z{z{z{{{{|{{{{{{zz{z|{{{{|||{{z{z{{{{||z}||{|{zzz|zz{{|{|z||{z{zzzzzz|{{}{||{|z{{{zzyz{|z{{|{{z{yz{z{{{|z{{|z{{{zz{zz{{{{|{{|zzzz{y{zzz{{{{{{zzz{zz{{z{z{|{{{{{{zyzzyz{||{{|{z{zy{zzzz{{{{{|{zz{z{zzzz{|{{||{{{{{zz{{{|{{{{{{{zz{{z{zz||{{{||{z{zz|||{{{{z|{|{{|{{{{{|{{{{}z{{{{{{{z{{|{|{{||{{z{z{zzz||{|z||||{{z{z{{||{{||{{{z|{|{||z|||}|}{{{{|||{||{}||||{|{{zz{|||{||||||{{{{|z{||||{|{}{{|{||||{||{}|{}|{{||{|||}{z|{|||{|{{{|{||{||}|}|{|{|||{||||||||{||{|{{{||{|}|}|{{|{{{{z{{|}{|}|{|{{{{{z{{{{{{{{|{||{{z{{|{{{zz|{zzz{zzz{{{|{{z|{zzzz{{{{{{{{{|{|zz{{{{zzz{|{||{{zzzzzzz{{z|{z{{zzzzzyzzz{z{{{{|{z{z{z|{z|{z{{{{{z{{{zz{z{{|z{{{{{zzzz{z{{zzz{z{z{{{zzzz}{{{{{|{{zzyzzzz{{{|||{{{y{{yzzz{|z{{{|{z|z{zyzzz{zzz{{{zz{z{{{zzzz{{||{{zz{|zyyz{{|z{|{{yzzzzz{{{{{{z||{{{z{|{{||z{|}{z{{yzzy{{|{{{{{||{{z{{z{|{{|{{}|{{{z{z{zz{{{{|||{{{|{{y{{|z{||||{{{{{{{{z|{|||||{z{{z|{|{{{{||{||{{z{{{{z{||}{||{|{{z{{{{||{||{}}|{|z{{{|{{}{{||||{{{zz{{|||||}}|{{{|z{{{{|{|{|||{z{{||{z{{|||}|~|{{{|{{{{{{|{|||{||{{{{{|||{{{|{{{{{z{|z{{{z{{|z{{{z{zzz{|{{|{{{zzzzzyyzz{{{z|{{|{z{{{zz{|{z{{{{{{{z{{{z||{|{{|}{zz{{zz{{{|{{{{||{zyz{{|{z{{z|{||z{{{{|zz{z{{|{z{{{{zzz{{{zz{{{|z{{zz{{{{{zzz|{{{z{zzy{z{{{{|{{|z{zzz{z{zz{{{{||{{|{{zy|z{{{z||{|{{z{z{zz{{{{|{|{{yz{zz{{{{{}}{{zzz{{z{{{{{{{{{{z{{{|z{zz{{z{|{|{z{{zz{{{{}{{|}||{|{z{z{{{|{|}|||z{z|z{{z|||||{|{{{{{{zz{|{{{||{{{{{{{{{|{||{}|}|{{{{{{{{{|}|||||{{{{{|{||||{{}|||z{{zz{|{|}{{||{{|||z{{|{||}{|||{||{|{|{|||}|{}|{{{|||{{{||{|}||{{}|z{z||||{||||{z{{{{z|{{||||{|{||{{{|{||}{|||||{z{{{{z}|}{}|{{{{{{z{z{{{{|{|{|z{{{{{{||{{{|{zzz{{z{zyz{{z{{||{{zzzzzz{{{|||z{{{yz{{{{|||{{{|{{{{{z{{{|{|{{{|{{{{z{z{z{{{{{{{|y{z{z|zz{{{z{||{{y{z{zzz{{}||{z{z{{zz{{{zz{{{z{|z{zzzy{zz{{{{{|{{z{|{zzz{{{{{{{|{z{zyzzz||{{{{{{zzzyzzzzzz{z{{{|yz|z{zz{z{z{|z|{{{zz{{{z{{{{{{{|{{{z{{{zz|{||{{|{{{{{{z{||{|{{{|z{|z{{{{{{|{{{|||z|{{{{{||{}{|{{z{{{yzzz{{|{{||||{{{{{{{|{|{{|{||{{{||{{|{}}}|{}{{{{zz|{||{|||}{{{{{{z{{||{||{||{{z|{{{{{||{{|}|{{}{z|||{|||{}|}}|{{z||z|}{|{||||{{{{{{{||}|||{}|{{{{{{{|{{}{|{|{{{|}|z||{||||||z{{{{||{{{|{{|{{{{{{{{|{{|||{{|{{z{{|zyz|{{{{{{{zzzz{{zz{{{zz|{{{z{{zz{z{{{{z{{|{z{z{{zz{{{y|{{{{{{z{zz{z{{{z{|{{zzz{z{z{z{{{|{|{{{zzz|{{|z{{|{z{{zz{z{z{{{{{{{|zzzzz{z{z{zzzz{{{zy{zzzz{{{z{{{y{zz{yzzzz{{|{z{{zz|zzz{z{{z{zz{|z{z{zzzz{z{{{zz|{zzyzzzzy{z{{{{{zz{{{zzy{{|{|z|zzzzz{z{zy{|{|{{{{{z|z{{z{{{z{|{|{zzzzz{{{{|{{{{|{{{{{{zz{{{|||{{{{{{{zzz|{}|{|||{zz|z|{z{|{{|{|{||{zz|{|{{{|{||{{|{z||{{}{|{||||{{{{{z|{{|{||{{||z{{{|{z}{|{|||{{{{{{||{|{{{}|{||{{{{{{{|{||{|||||{||z{{|||||}||{z{{{z{{|{{{||}{|{||{|{{|||||}{|z{z|{z{{{|{||{|{{{zz{zz{z{{|{{|{|{{zzz|z{{{{{{z{zy{zzz{{z|{|z{{|zzzz{zzz{|{z||{{zz{yz{zzz{|{||||z{{y{z{z{{|z{z{{{|{zz{{z{||zz{z{zz{zzz{zz{{z{{z{z{zzzzzz{{{zz|{{y{{zz{z{|{{{z{zzzzz{zz{zzzzz{|{|{{zzz{yzz{z{{{{{zy{y{zzzz{{z{{{{{zz{zzzz{{{z{{z|zz{z{z{zz{z{z{{{zzzz|zz{{{{{|{|{zz{{z{{z{zz{|{{{z{{zzz{z{{{|z{{|{{|zzz{y{||{{||{z{{z{{{{{|{{{|{||{{zz{{{|{|{{z|z{{z|z{{{z|{{{|}|{{{z{{z{|{{|z|||{{{y|z{{{{||||{}|z{{{{y{|{|{{|{||{{|{{z{{|{{|||{{{{{{|{|{{||{||}{|z{z{z{||{|{|||{|||{{{||}||||||{{{{||{||{{{{{{}{|zz{{{{}||{||||{{{zzz{{{{{{{||{{z{{{z{{|z||{{{|{z{{{{{{{{|z{{{|{zzz|{{zz{|{z|zzz|{z{z{z{{{{{||{{{z{zz{z{zzz{{{|z{{z{zzz{{{z{{z{y{zzzzzy{{{|{|{{{zz{zz{yz{z{{|{z|{{{zzzzz{zz{z|{zzz{z{zz{{zzz{{{{zz{zz{y{z{{{{|{{zzzzzz{{{{z{|{{|zzzz{y{zz{{z{{zzz{yzz{{zzz{{{{{zzzz{zzzz{{z{{{{zz{{{{{z{{{{{{||{{{z{zzz|{{{||{{{zz{zzzz|{{{{{{{{{z|{zy{{{|{{{{|z{{z{{{zz|{|{|{{{{{z{zzz{|||{{||{{{{z{z{||{|{||{{{z{{{{{{|||||||{|{{{{{|{||||}|{{{z{{|z{|{{|||{{|z{{{z{{|||{{|}||{{{{{{|{{||{|}}|{z||{{{{}{||||}{{{{{{{|{|||{|}|{{zz|{{|{|{{|||||{z{|{{{|{{|{|||{{z{{{{z{||||{|||||{{zz{{||{||{|{{{zz{{z{{||z{z{zz{{{z{{z{||{{|zzz{z{y{{{{|{z{z{{z{zz{z{{{z{z|||{z{{z{z|{{{|z{|}{z{zy{|y{{|{{{z|{z{z{{{{z{|{{{{z|zz{{zz{{{{{{z{{y{{z{{{z{{z{zz{{zzz{y{zz{{{|z{|{zy{zz{zy{z{z{{{zy{{zzzz{zzz{{z{zz{zzyzzyz{{zz{{{|{z{zz{{{zz{||{{zz{y{zzz{{{{z|{{z{zz{z{{z|{{|zz|{zz|zz{{{|{{{|{|{z{z|z{yz{z{|{|{{z{{{{{z{||||}{{{{{{{z{{{|||{|{|{z|{{{|z{{|{{{|z{z{{{{z|{{||||||z{|z{{{|z{{{||}|{{{{|z|{|||{|{}{{z{{{{{{|||||||{{z{{{|{{||{{|{{}|{{zz{{z|}{||||{|{{|{||{|||||||||z{{{{{{||||||{}|{z{{{z|||{|{{}{|{|zz{{{{|||}||||{z{{zzzz{{||||{{{|{zzzz{|{{{{{{yzz{z{zzy{{{{{z|zxzzz{yz|{{{{{{z{z{zzz{zzz{{{{{{{{yz{zz{z{{{z{{{zz{zzyzz{zz{z{{{{zzzz{zyz{zzz|{{z{|zzyyz{z{{z{zz{zz{zyyzz{{{{zz{zzzzzyzzzz{{z|{{zzyzzyz{zz{{|z{{{zzzyyyz{{{zz{{{{zzyzyzyzzz{z{{{zz{zzz{{z{y{z|{{z{zzzzzy{{{z{{|{{zzzzzz{{|{{{|{z|{z{zz{z{{|{z|{{{{zzzz{zz{z{{z{{{{{y{z{{|||{|{|z|{zzzzy{{{|{{z{{{{y{z{y{z}{{z||{z{{z|z{{{{{||{{|{{{z{z{{|{{{{|||z{{|{{{z{{{{{|{}|{{{{{{z||{||{|}{{|{{{{{{|{{{||}{{|{z{{{||{|{||||{z{{{{z{||{|||||{{{|{z{{{||z||}{{{{{{{{|{{{{{{{zzz{{{{z|{|}z{{{{z{{zzzz||{||||{{z{zzzzyz{{{zzzz{z{z{z{zz{|{{{{|z{{z{zz{{|{{z{{{zzy{{{{z{{{{{{{|{z{zzzz{{{{{z{{{{{{zzz{{{z{z{{||{zzz{zzzz{{z{{{zzzzyz{{zz{{{z|{z{z{zzzzzz{z{{z{|{z{{yz{zz{z{{{{{zzzzzzzz{z{zz{{{{zzzz{{yz{{{{z{{z{z{zz{zzz{z{{{{zz{z{y{z{z{{{{|{zz{{{z{z{{{{{{{{{zzzzz{y{{|{z{{|{z{zz{{{zz{{{|{{{{{zzz{zz{{{{{|{{z{z{zzz{|{{{{{{{zzz{{zzz}{z{{|{{z{zz{{{||{{{{{{zz{{{{{{{{|||||{z{{z{z|z{|{||{||{z{|{zz{{{|{{{{||z{{{zz{||||{|||z|{{{{{{|||||||{{{{z||z{{{{|||{||{|{{{z{|||{||{|{z{{{z{{{{{|{|}|||z{|{{||{{||{|||{{z|{{{{|z{{|{{|{z{z{zz{{|{{|{{{{{{{y{z{{|{{{{zzz{{zzzzz|{{{|{|{{z{{{{z{{|{{}||{zzzzzzz|z{{|{{||zzzz{{|z{{{{{||{z{z{zyz|{|{z{{{zzy{zz{zz{{{z|{{{{{z{zzz{{{{z||{|{yzz{z{{{{{z{{|{zzzzzzz{{{{{{{{{{z{zzzz{{|z{{{{|{zzzzzyzz{{|{{|zz{yzzzzzz{{{{z{z{zzz{z{zzz{z{||{{z{z{{z{|{{{{|{{zzz{z{zz{|{{{{|{{{z{z{z{{zz{||{{{{|{zz{||z{z|{z{z|{{zzz||{|{|{{{zz|{{{z{{|{{||{|{{{zzz{{||||}|z{{zz{{{{{{|||}{{{{z{{{|{|{{}|{}||{{{{{{{{|}{{|{|{z|{{{|{||{||||}{{{{{{||||{||}}||z{|{|{|{|{||||||{|{{{{|}|||{}|{{z{|{{|{{{{{||{|{{|{{{z{z}}|||}{{z{{{{{z{{{||||||{{{z|{|{|{{{|{||{z{zz{{{{|{|{{{{{z{zzzy{{z{{{{|zz{z{zzz{z{{||{|zzy{{z{z{z|z{|||zzz{{zz{{{{{z{z{{{{z{{zz{{{z{|{{z{zzzzzz{{|{|{{z|{{zzzz{{{{zzz{zz{{{zzzz{{{{z{|z{{zz{z|zz{{{{{{|{zzzz{y{{{z{|{{{|{z{zzzy{z{{{{{|{{{{z{zzzz{zz{{|{zzzzzz{z{zz{{||z{{{{{{z|||{{{{|{{{||{{zz||{{{{{{z{z{z{z|z|z{|||{{{{|{{{{z|{|||}|{{{{{z{{|{{{|{|z{{{{{z{{{|||{~|{|{{{zz|z|{{{{{{{z|{{z{|{}||||||||{z{{|{}|{{{|||{{{{z{{{{||}}||||zz{|{{{||{{|{||{{{{z||z{||||||||{}{z{{{|}|||}|}{{||{{|{|{|{{|}|{|{z{{{||{|||||||{{|{|z{|{|||{||{zzz{|z{{|{|||||||z{{{{{z|||{zz|z{{z{{{z{{{|z|{{zzzz{z{z{{|{{z{{zzzyyzzz{{{{{{{{{z{zzzzy|{z{{{{{{{{zz{z{{{{{{{{{zz{yz{zz{z{{z|{|{{z{{zzz{{zz|{|z|zz{z{zz{zzz{|{{zzzzz{{zzz{{z{{|zzzzz{yyzz{{{{{{{{{{zzz{z{zz|{{{zz{yzzzzz{{{{{{{zy{zzzy{z|zzzz{{zzzzzy{{z{{{{{||zz{{z{{z{|{{{{{{zzzzzzz{{z|z{{||zzz{y{{|{{|{{{|{zz{z{z{z|{{|{{{||z|z|{{{z|{{{{{|z{{zz{{{z||{{{|{|{z{z{{z{|{z{{|{{{{z{{{{{{||z||{z{{{{zz{|{{|||||{{zzz{z{{|{{}}|{{{{{{z{z|||||||{{{{|{z{{|{|{|}}||{|{{z{{{|{||}||{{|{{{{|{{|{{||{{{z|{{{{{{{|{|}{|zzzz{{{{z{||{{||{{{{{{{{||{{||{{{{{zz|z{|{||||{|{{zz{{{z||{{{|{{z{z{{z{z{z{{{|{{{zz{{zz{{z{z|{{{zz{{{y{{{{z{{{{{z{z{z{{z{{|{z{zzz{{zz{z{{{{{|{|{zzz{{zz{zz{|{|{zz{{z{z{z{{{z{{z{zzzy{zz{z{{zz|{{zzzzzzzz|zz|{{{{yz{zzz{{{{z{{{z{{z{y{zy{{{{{{||{z{zzzzy{{{z{{z|z{zz{zzz{z{{{{{{zzyzz{{yz{{{{{|{zz{z{zz{{{|{z|{{{{z{yz|{{{{{{{|{zzz{zz{|{{{|{{}|{||{{{{y|{|{{|{{zz{zzzz|{|{|{{|{{|z{{{z{|}z{{|{|{{z{{z{{|{{|{|||z|{z{z{{{{|}{|}{{zz|||{{{{{||||{{{z|{z{{||{{{||||{|yzz|z{{{{||||{|{{{|{{|}{|{|}|{z{z{{{{{{{{||||{{{{{{|{{|}||{|{|z{{{{{|||{}|||{|{|z|{zz{{{{{|}|{{{|zz{{z{|{|||z{{|{z{z{{{|z{z{{{yy{zyzz{{{z{{z{{{{zzz{z{{z{|{|{|zzz{zzz|{{{{{{{zz{yz{{zz{{{{{{{{zzzzzz{z{z{{|z{z{|z{yzyz{{{z{{|zzzzzzzyzy{{z{|zyzzzz{zzzzzzz{{|zz{yyy{y{z{z{z{z|{yzzzzzz{z{{{|{{zzz{{y{{{{zz{z|zzzzzz{zz{zz{y{|z{zz{yzy{{zz{|{{{z{zzz{z{{{zzz|{{yzz{yz{{{|{||{{y{zzz{{|{||||{{z{{{zz{z{{z|{|{{|{z{{{z{{{|z|{{||z|z{z|{z{{|{{||{|{{z{{{z{{{{{{|{{|{{{zy{{{{|||||z{|{|z{{{{|||{|||{{{zzzz{|||}||{{{{zz}{{|{{{{{{|{z{{z|{|{|{||||}{z{zz{{{{||{{{}|{||z{z{z||{{|{|||z{{z|{{||{{|||||{zz{z{z{{|||{z|z{zz{{{{z{{{{{|{zzzz{z{zz{{|{||{{{{z{zz{{{{z|{|{zzyzzzzzzz{{{{{{yz{zzzyz{z|{|{||{{{zzy{z{{{{{|{{{zzzyzzz{z{|{{{{{{zzzzzz{z|{{{z|{zzz{{zzz|zy{{{{zz{{zzyzz|{{z{{{z{z{zzz|{zzz{{{{yz{zzzz{y{{y{z{zyzyzz{z{{|{{{{z{z{zzzzzy{{{z{{|{{zzzz{{z{{{zzz{{zz{z{{zzz{z{{{{{zz{zz{{{z{{{{|||{{{{zzzz{{z{{{{{{y|z{z{z|{|{{{{|zzzzz{{z{|{|{{{{{{z{zzzzz{{{||{z{{zzz{|z{{{{{{{||z{z{zz{|{|z{|{{{{z{{{{{{{{||{|{{{z{{{{}{{|{||||{{zzzz{z|{||{{{|{{{z|z|{{|||||||{{|{{{}{|{|{{||||{|{{|{}|||||}||{{{{{zz{|{{||{||{{|{{{{{{|{{{|~|{{{|{{{{z{||}|||{{{{{|z{{|{{{{||{z{{zzz{||{{zz||{z{zzz{zz|{{|{{z{{{z{z{zz{|{{||||{{{zzzy{|{|{|{|{z{{z{zy{z{z|{z|{z|z{zz{{||{|{|||z{zz{z{{z{{|{||zzzzzzz{{{|{z{|{{z{zzzz{{{{{{{{|{zzzz{y{{{{{{{z{zzz{zx{zz{{{{{{{|z{zzzzz{{{z||{{zzzzzzz{z||{{|{{zzz{{yz{|z{z{{{|{{{{{{zz{{|{{|{{{{zz{zzzz{{{{|||{{zzz{zz{|{{{{||{y{zz{|{{{{{||||z{zz{zz{z|}{{|{|{{{{{y{z{{||{||{{z|{z{{{|{|{{|}{{|z{zzz{{{|{||||{{{z{{z{{z|}|}|}{{||{|{{{{|}||{|{|{{{{{{||{}|{}|{{{}{{{z|{|}|}|}{{{{z{{{}{|||}}||{{|{||{|}{{{|||||{{{|||||||||||{z{z|{{||{{|||}}{{|z{{z{{|{|{|{}{{|{{z|{{{{{{||||{z{{{{z{||{{z{||{{{{{{{{{||||z{{zzzzzzzzz{{z{{{{{z{zyz{{{{z{z||{{z{zyzz{{{z{|{||{{zzzzzzz|{{z||{{zyz{zy{{|z{|z|{{zzzzzyz{{{{|{{zz{zzzzyz{zz{z{zzzyzyzz{{z{z{z{z{yzzyy{z|{{{{{{z{z{zzzz{z{{{{{{|{zzzzyzzzzz{{z||{zzz{z{y{{zy{{z{|z|z{zzzzz||{|{|{zzzz{zz|{|{{{|{{{z{{|{y|{{{{{{z|zzzzzz{z|{{|{{|{{zzzzz{{z{z|||{|{{{{z{z{|{|{||zzz{{z{z{{{||{}|{z{zz{{z{{||{|{z|{{{zz{{{{{|{||{|z{{{{{{{{{{}{{}{|{{{{z{z{{|{|||z{z{{{{{{{|||{|{|z{{z{{{{{|{||{||}z{|{{}{{|{|||||{{{||{{z||{|||{||z{{z{{||z{||||||{{{{z{{||{{||||{{|{{|zzz}{|{|{||zz{{{{{{|{|{|||zz{z{z{{|{{{|{z{zz|zzzzyz{{{{z{{|zzzzz{z{{||{{{{{z{zz{{z{z{{|z{z{{{z{zz{z|{{{|||{z{zz{zz{z{{{|{|{zyzz{{y{zz{{{{{zz{zzzzzzz{|{{z{z{zzzz{{zzy{{{{{zyzyzzzzz{|zz|{{zz{{yzzz{{{{z|{{zzz{zzzz{z{{{zz{{zzz{zzzzz{zz{{{{{zz{{zzz|{{{{{|zzzz{{zz{{z{z{{{zyz{{zz{{{{|{{{{zz{zzy{{z{z{z||{{z{z{zy|{{{{{{{}{{z{|z{z{{{{zz|{|zzzzzzz{{}z{{|{{z{{{z{{{|||{{|z{{{{{{{{{}{|{|{|zz{{{{{z|{|}{|{{{{{z{zz{|{{{{||{{z{z{z|{||{||{|{{{{{{{|{{||||||{{{{{z{{{{}}{|||}{{{{z{|z||{|{{||{{{|{{z{{{|{|{|{|z{z|{z|{|{{||{||{{z{|{{{|||{|}|zz{z{zz{z{{{{{{{{{|z{z{z{z{{zzz{{z{zzyz{{z{{z{{|zz{zzyyyz|{{{|{|{{zz{zyz{{{{zzz{{zzzzzz{z{{|{{{{{{{z{zzz{|z{{|z|{z{{z{yyz|{{{||{{z{z{zzzzz|{z|z{{z{yzzzz{zz{|{|{{zz{zzz{z{{z|{{{zz{zz|yzzz{z{z{{zz{{yzyz|{{{|{{|z{zzzyzz{{{{{{z|z{zz{{zzz{z{{|{{{zz{zzyz{zz||{{|{z{zzzz{{|{z{|{}zz|zzyy{{{{|{|{|{z{{|zz{{|{{{||||{zz{zz{z|{{|{{{{z{z|{{{{|{z{{|{{{{{z{{z{{{{{|{|{{{z{{z||||||}||{{{{{z{{z|{}||||{{{{{{{z|z|||{||}{{{{{|{{}|||{||{{{{z{{{{{||{{||{z{{{{{{||{}z|}{|zz{{z|{{|{{{|{|{{zz{{{z{{{{|||||zz{||{{{{{|{||||{|zz{{|{{{{{|{|{|z{{z{{{|||{{{{z{{|{{zz|{{{||{{{{{z{zzzz{{{{{{{zzz{{z{zz{zzz{{{{z{zz|yzz{|{{{||{z{zz{zzz{{{{z{{{|{zz{zz{{{{{{{{{zz{zzz{{|{z{{|z{zyyz{{z{z{{{|{z{yzzz{z{{{{zz{{{{z{{zyzz{|zz{{{{{z{{yzzzz{{z|{{{{z{z{{zzz{{{|{{zzzz{zyzz{{{{|zzzzz{zz{{zz{z{{|z{zzzzzzz{{{{{{{{{{zzzzzz{{|{{{{|{{{{zzz{{{z{|{|{|z{{zz{zz|{{{{{{{{z{zz{{z{{|{{{{{{{{{{{{{|{|{{|||{z{{{{z{{{||||{{z|zz|{{{{||{||||z{z{|z{{{||}|{|||{{|{{{z{{}}||{||z{{{{||{||||||||{|{|z|{{|{||||||{{{z|z{{||{|{||{z{{z{{z|||{{|||{{{{{{{{{{{}{{{|||{{{{{|{{{}{{|{{{z{{{zzz{{{{||||{z|z{zz||{|z{|{{zzzzzz{{{||zzz{{{zzyy{z{{|{z|{{z{zzzz{z{z{|{||||zzz|z{{z|{z{{|{z{{z{z{yz{{|{{{|{{zzz{{z{{||{|z{z{zzzz{z{{{{z{{{{|{{{z{zz{{z{{|{{zzzyzzz{z{{z{{{{zzzyzzz{{{{zz{z|{zy{{yz{|{z{{{|{y{{{z{{zz{{{{z{zzzzyz{z{z{z{{{{{{zzzz{z{{zz{{z{zz{zzyzz|z{zzz|{{{{{zz{zz||{{{|}{{{zzzz{z{{{|{||{z{{zz{z|z{|{z{{{{{{zz|z{{z{||{|{|{{{zzz||||{{{{z{z{{{{z{|{zz{{|{{zz{zz{{{{|||{|{{z{{{{{{|{|{{||{{z|{{yz{{|{{||{}{{|zz{{{||{{|||{{{{{{{||{|||||||{{|{{{|z{||||||{{{z{{z{{|||{|||{{{|{z{{{{{||{{|{{{{z|z{|{{|||||{|{y{{{{{{||||||{zz{{z{{{|{{{||{zz{zz{z{{{}{z{{{zzzzzzzzz{{{{z{{{{z{zzz{zz{{{{|zzz{zzy{y{z{{|z|{{{zzzyzyz{|{{|{{{zzzyzzy{z{z{{{|{z{{yzzz{z{{z{|{{{zzz{zz{{z{{{z{{zzzzzyzzzy{{{z{zzz{zyzzzz|{{{|{zzzzzzzzzz{z{z{zzz{zzzzy|zz{{z{|zzyzzy{yz{{zz||{{{z{yzzzy{{zzz{zzz{zz{zz{z{|zz{{z{z{{zz{{{|{z{{|zz{zz{zz{{{{{|||zz{zzzz{{{|{{{||{{{zzy{z{{{z{||z{{zz{{z{z||{{{{{zzzz{zzz{{|{{{|{{z{{z{{{{|{{|{}{{z{{{{|{|{{{}|{||z{z{{z{{|{|{|{|{{{||z{z|}|{{||{z{{{z{{||{{||{||}{zz{{|{z}}|{||{{{z{{{z{{||||}|{{{zz{|{{{{{||{|}{{z{{{{{|z{|||||z|{{y{{z{|{zz{{||zz{z{zz||{{||||{zzyzz{z{{{z{|{y{{{{yz{z{{{{{z||{z{zzzzzz{{|{{{|{zz{z{{{zz{{{{|{{zz{{{z{{zz}z|{||zzzyyzz{{|{{{{|{z{{{{zzz{zzz|{|{{|{zzzz{z|zz{{z{zzzzzzz{z{{{{z{{zzzzz{z{|z{z{|{{zzyy{z{{{{{|{zzzz{zyzzy{z{z{{|{zzz{y{z{z{{{{{|{{yzz{{zzz{z{{{{{zz{zz|zz{z{|{{{{z{{z{z{zz{{|z{{|{{{{z|z{|{{|{{{{z{{{zz{{{|{||{|{{{{z{zzz{|{||||{z{{{z{{{{{{{z|{|{{z{{{z{{{z||{{{z{{|z{{{{||{{|||{{{{{{{{{|{|{|||{{{z{|z{|||{|{|{|{{z{{{{{}|{||||{{zz|z{{{{|{{{||}z{{{{{{{|{|||}||{|{{{{|{|||||||{z||{{{{||{|{|||{|{z|z{z{{|||{||{{{{{z|{||{{z{|||{{{z{{{{||z{{|{{{{z{{zz{z|z{{{{{zzz{{{{{{{{{z|{z{z{zz{{zz{{{||{{{{zz{zz|{{z{{{|{zz{zzzzz{|{{{{{z{z{zzzy{|||zzz|zzz{zy{zz{{{{{{{{z{zzzzz{z{{{{{{y{{yz{z{z{{{{{{{zy{z{z{z{{{{{{{zzzzzzz{zz{{{{z{{z{zzy{y{{z{z{{{z{zzz{yzy{z{{{zz{z{zzzzyzz{zz{|{|zyzzz{zz{{{z{{|||zz{zz{z{z{{{{{}z{{{|{{{z{|z{{|{{y{{z{{z{{{|{{|{{z|{{z{z{{{|{{||{z{z{{{z|||{{{|{zzz{z{z{{{{{{{|||{{{{{{{{|}|{{{{|{{{{{{{{|{|{{||{{z{z{{z|{{|{||{|{{zz{{{|{|z||{|{z{z||{{||{|}|||{{{zz{{{{|||}||||z|z{z{{{{||}||{{z{{|{{||{z}{{||||||{{z||{|||||}{|{{{{{{||{}{{|{|z{{{z{{||{{||{{{{z{z{{{{{{{{{z|y{zzzyzz{{z{z{{{z{zz{zz{z{z{{{||{zz{z{{y{z{z{{|z{{zzzzzz{{|z{{||zzzzzzyz{{{|{{{{zz{{yzzz{{{{z{z{{z{z{z{{zz|z{{z{{zzz{{yz{{{y{{{{zzzyz{zyz{|zz{{{{{{zzzz{z{|z{{|{zzyzz{{z{z{|{{|zzyzyzzyzzz{{{{{{z{yyz{zzz{{{z{z{|z{{{zzzz{z{{||{{yzzzy{zz{{}z{{|z{{{zzz{{{{{{{||zz{{{{zy{|{{{zz{{z{{{z{z{{{|{|{z{{{zzzz{|||{|{{|{zz{{{{{{|{{z|{|{{{{{z|z{|{{{{||z{{z{{{{{{{{{|{||{{{z{zz{z|{{|||{{{{{{y{|||zz|||{{{{{{{|{{{{|{}{|{{{{{|{{||||{||z|}|z{{{|||||{|||zz|{z{{{{|{{||||{z|{{{||{{|||||{{z{{z{{||{{|||||zz{zz{{{{|||z|{{{zz{z{z{{|{||{zzzzzy{{z{{{{|z{{yzzzz{zyzzz{{|{{{{zyzyyz{{{{{|{zzzzzz{yz{z{{zz{|{zyzzzzyz{z{|{{{{z{{{zzz|{z{z{|z{zzz{zyzz{|{{{z{zzyzyzzzzzz{z{{{{zzz{y{z{{{z|z{{z{zzzz{{{{{{{z{{zzzz{zzzz{{{z{z{z{yzzz{zzz{{z{zz{z{z{zzz{{z{z{{{yzzz|zz{|{{|{{{|zz{z{zzzz{{{|{{{z|zzz{{y{{{|{{||{|{{zz{{{|{{{|{|{{{{z{{z{{z{{{|{{{z{z{zz|{|{{{|{|y{zzz{zz|{|{|{{{{{{{{{{{|{}|{{{{z{{{{{{{|{{{|||{z{z{z|{{{|{}|z||{{{{z{{||{|||||{{|{{{{{|||{|||||{z{{|{{{|||{||{|{{{z{{{|{{{{||{|{z{{{z{||{|||||{{{{|{{{{|||||||z{zzzz{{{||{{||}{|{{{{zz{|||{{|{{z{zz{zz{{|z{{{{{zzzzz{z{{{{z{{|{{zzz{{zz{{z||{||zzyzzzz{{z{|{{{}{z{{{yz{{|{z{{|{z{{z{{z|z{{{z{{zz{zzzzz{||zz{zzzz{zzzzzz{{{{{z{{zzzyz{zz{z{{{{{zzzzzzzzzz{{{z{zzz{zz{zz{{|{{{{{{z|{zz{z{zz{{{{{{z{z{z{zz{{z{{{{zzzzzzzz{{{{{{{{y{zz{zzz{{|{{{|{zyzz{{{zz{{{{{{|zz{{zz|z{{{{|{||zz|zz{z{|z{{{|||{|{z{z{{{|{{|||{zz{z{zz{{{{||{|{{zz{zzzz{{{{||{|{|z{{{|{{{{||||{{|{zzz|{{||||||||{|z{{{{{|{||||||z|{{{{{{|||||||{{{|z{|{|||{||{|}{z{z{{{{}||{|||{|{|zz{{||||}||||{{{{z{{{||{||{|}{|{{{{{|||{{{{|z{{z{{z{{|||z{{{|{{{{{{z{|||{{||{{{z{{{y{|{zz|{z{zzzz{zyz{{z{{|{zz{zzzzz{{{{{{||{{z{{zzz|{{z{{{z{z|zy{{z{z|{{||{z{{zyz{yz||{{z{{zz{zzyyz{{zz{{zz{yz{zzzy{{{{z|{{{zzz{zzzz{z{{z{{zzz{zz{{{z{z{z{zzz{zzzzz{{{z|zz{zz{zzzzy{z{{z{{|zzz{zyzzz{z{{|{{{zz{zz{zz{z{z{||{zzz{|z{{{||{{{|{zz{{zzy{{|{{{{{{{z{{{zz{{z{{|z|{z{zzz{z{{{{||{||{z{zz{z{z|{{|{|z{{{{{{{||{z{{{z{z{zz{zz{|{|{{|{{{{{{||{||||{{|{{z{{{||z{z||{}||{{zz{{{z{|{{}}|{|{z{{z{{|{|{||{|{{{|{|{{{||{}|{{|{z{z|zz{|}|}||||{{{z{z{|||}{|}||{z|{z{|{{||{||{|{{|{zz{|||||{{}{{z{z{{z{||{||{|{{zz{z{{{|{|{{||{|{z|zzz{||{{{{|{zzzz{{y{{|z{{||z{zzzz{z{{{{{|{|{z{{{{{{z{{z{||{{{z{zzzz{{{{z{{|{zz{zz{z{z{zz|z{zz{zzz{z{{zz{{{|zz{z{zzy{{{z{z{z{y{zz{z{{{z{{zz{{zzzzyzz{{{zz{{zz{{{zzyz{{{{{{|{{zzyyzzzz{{{{{||{{z|zy{{{z{{yzzzz{zzzzyyy{zz{|||{z{{{zyz{{{{{|{{{zzy{{zz{z{{z{{z{zzz{z{z{{||{{||zz{y{z{y{||{{{{{{z{{zz{z{{{{{|{||{z{zz{z|||{{||{{z{{z{{{|{|{{|{|z{z{z{{{{|||}|{{{{{{{{|{|{{|{{|}|{|{{|z{z||{{}|{|{z{{z{{{|{||}}|{{{{{|{{|{{||}{||{{{{{{|z|||{}{{|{{{{{{||||{|||{|zy{|{{|{|{||||||{{{|{{z|{|{|{|||{{z{{{{|{{|{}||z{{{{zz{{|{{{|||{{|y{{{{z{{{z|yzzzzz{zzzz{z{|{||{{zy{zzzz{{{{|{|{{zzy{{yz{||{{zzz{{{{{zz{|{{{{|{{z{{z{{z{zz{{{||zzzzzzz{z{zz|{|zzzyz{zzz{zz{|{{{z{zzzyz{{z{{z|{{z|zyzzzz{|{{{|zzzzyzz{z{zz|z{z|{z{{{zzzyz{{{z{{{{zzzz{{zzz{{z{z|{{{y{zzzz|{z{{{|{{z{{{{z{{z{|{{{{{{zzzz{{{{{{{{|{z{zy{{{|z{{z||{zz{zz{{{{{|{{{|{{z{{{zzz{||{{|{||z{z{{zz|{||{{}{{zz{z{zz{{{|z|{|{{z{{||z{{{||}}{z{|z{{{{z{{{||||{{z{z{zz{||{|{{{|{{|{{{{{||{{|||{z|z{z|{||||{{{||z{|{{{|{|}}||||||{{{z{{{|||{{~{|{z{{{{{|{||||{|{|{{{|z|{{|||||||{{z{z{{z{{|||||{{{{{{z{{|{{{{|{zzzyzyz{|{{{{{z{{zz{y{|z{{z{{{{{zzzzzzz{{z{z{||{{{{z{{{zz|{z{||{zzz{{zy||{{{{|||{z{y{z|zzzz{{{z|zz{zzzzzz{|z|{{zz{z{{zzzz{z|z{{z{z{zzzzz{z{{{zz{zy{z{zyzy{{{{{{{zz{zzyzyz{|zz{{zzyzzzzzzzz|{z{{{{{yzzyzzz{{{zz||zzzyzzzyz{z{z|{{y{zzz{zyz||z{{||{z{{{z{{y{{{{{||{z|zzz{z{{{{{|{{z{|{z{zz{{{{|}||{{zz{z{z{{{{|{|{zz||z{z{|||{{||{{zzz{{{{{|{z{|{{zz{z{||{|{||{{{z{|{{|{{{{z{|{{{|{{{{|{{z||||{{{{{{zz{z{{|||{||{{{{{{{|{{{|{|{|{||{{{{z{z{||}{{||||{|{{|{{|{{{{|||z{{{{{|{{{|{||{{{z{|{{{|z|{{|||{{{z|{z{|{{z{{||z{z{{{{zz{{{{{||{|zz{z{{{{|{{{{{z{z{{{z{{{{{{{{{{zz{zzzz{{{{{{z|zz{zz{{{{{z{{{{{{z{zzzz{z{|{{z{{zzzzzz{z{z{{z{{{{zzz{zzzz{{{z|{zzy{zzzzz{{{z{|{zz{zzzzzzz{z{{{{{z{zyzzyy{{z{{{{{z{zzz{z{y{{{z|{|{z{{z{yzz{z{{{|{{{{z{{zz{{z{z|{{z{z{yyzzz|z{{{{{z{zzz{{z{{z{{||||zzzz|{z{z{|{{{zzz{{{z{{{{{{{{||{{|{zy|{{{{|{z{|{{{z{yzz{{{|{{z{{{{{|{{z{{z{{{|{{z{zz{{{|{y{{{{|{{{{{{{{{||{{{|||{|{{z|{||{{|||||z{{{z{{|{||{{|{{zz{{{{{{||z}}|||z{{{{|z|{||{{||}{z{{|{{{}||{|||}{|{{{{{|||{{||{|{{zz{{|{{|{|||||{{|||{{|{{|{z{{|{{{{z|{z{|{{|||{{{{{{{{{|z{{{|{{zzzzzzz{{{{{z{{z{zz{zzyz{|{{|{|{zzyzzzz{|zz{{{{{{zzzzz{{{z|z{{{{zz{zyz{z{{|z{{|{z{zzyzzzz{|{{{|zzzz{yzz{{{{{z|{zzz|zzzz{z{{{{{z{{zzzzzz{z{z{{zzzzzzyyzz{{{z{|{{{{zzzz{z{z{z{z{z{{zzz{yz{z{{z{|{z{zz{zzz{{{zzz{z{zzzz{zy{{{z{|{z{z{zzyz{{z{{{|z|zz{z{yz{{{{|z{{{{y{{|{z{z{{|{{|{{{{{{zz{{||{{{{{{y{{{zy{z{|z|||{{zzz{zz{{{{||z|{{z{{{zy{|{{z{||{{{{|z{zz|{||{{||{{{z|z{{{|{{{{{|{{{|zzz{|{|||{|{|{{{|{zz||||{|}{{z{{{||{{{{{|}|{{{z{{z||||{|{||||{||{|z{|||{{{||{|{{{{|{{{{{|||||{z{{{z{{{{{|{||{z{z{{{{{|{|{{{|{zz{zzzz{|||{|{{{{{z{z{|{|{{{|y|z{zzz{zzz{{z{z{{zzzzzyz{{{{{{|{{{zzy{{{zzz{{{z|{{z{zyyz|{{{{{{{{{zzzyzzy{{{{z{{{yzzzyzyzz{{zz{|z{z{zzzyy{{{{{{{z{z{zzyzz{{zz{{z{z{zzzzz{{{{{{{|zzzzzzzz{{z|z|{z|{z{zzyz{{z{{{{||zzzzzzzyy{y{zz{{|zzz{zzz{|z{z{{{zyzzz{z{zz{{zz{z{zzzzz{z{{{|{|{}{yz{zz{z{z{zz|z|zz|{zzz{{|{{||{|{z{z{z{zz{{{{|{|{{z{{{zz{z{{{{|{zzz{{{{z{{z{{|{|{{{{{{{|{||||{|{{{z{{z{z{||||z||{{{||{zz||{{||{|{z{{{{z{||{{{|}{{{{{{|{{z|||{||{|{{{||{{{|{||{|||z{z{{z{{|{{{{{{{{{{{zz{{{{{{|}|{{{{z{{{{{|}{|{|{z{{zz{z{|{|{|}{{{{{z{z{{||{zz|{{{{zz{zz{{{{||z{{zzzzzyzz{|{z{{{y{{zzzzzz{{z{{{{zyzz{z{yzzz{zz{{{z{zzzz{zzz{{{z{z{zzzz{y{z{|z{{|zzzzzzzy{{{{{z{{zzyzzzzzzz{zz{{zzyz{zzzzz{zzzy{{zzzxyyyzzz{y{{{{{z{zz{{z{{{{{z|{z{{{{yyzz{z|z{{{{zzyyz{zzz|yz{{{{zzzzzzzyzz{z{z{yz{y|zzzz{{{{{{z|zz{{{|z{{{{{z|{{zz{zyz{{z|{{z{|zz{zzzzz{z{{{|{|{z{{{zzz{{{{{{{{z{zz{{zz{{{{{|{{zzz|{yz{{||{{{{|zz{z{{{{{{|{{|{{z{{{z{{{{|z|{{||z{{y{z{z{|{|{||{|{zz{z{{z|{{{}|||z{{z{{{{{|{|||||{{{{{z|{|{|{|}||z{{zz|{{{{|||{||zzzz{{{{{{{{}|||{z{{|z{|{{|z{{|z{{z{zz{{{{{|{|z|{{{zz{z{{{{|z|{z{{{zyzzz{{|{{z{zzzzzyzyz{{{z{{{zzz{zzyz{z{{z{z|{zzzzz{{{{{{z{||{z{yzzyz{zz{zz{{z{zzzzzyzzzz{{{{zyy{y{z{z{zzzzz{{zzzzzzz{{{z{{{zzyzzyzzzzz{|{|{z{zzzzzzz{{{zzz{zzzzzy{zzzz{{z{|zyzzy{yyzz{{|{y||zzzyzyyzy{zzzz{zzzzyz{yzzzzz{z{{{{{z{{yyz{{z{z|{zzzyzzzz{|{|{|{{z{zy{zz{z{{{{z{{zzz{{zzz|{{|{{{|{z{zzzzzz{z{{{|{{z{{z{zzz{|z{{|{z{zzy{z{{{|{|{{{zz{z{zz{{{||{|}{{{{{z{|z|{{|{||{{{z{|zz{{||{z{||z{zz{zzz{{|{{|{{{{|{z{{{{|{||{z{|{{{{{z{z|||}|{||{{{z{{z|z{{{|||{{{{z{z{{{}{|||||z{{{z{{||||||{|{|zz{{z{{{||{|||{{{{{{{z{|{z|z|{z{z{{zzzzz||z{zz{zzzzz{zz{{{z|z{|zyzzzzy{{{z{{{{{{zyzzzz{{z{{z{{{zzzyyyzz{{z{|{{{{zyzz{z{{zz{{z{zzzyzzzyy{z{{{{y{zzzy{{zz{{z{zz{zzy{y{zzzz{{z{{{yz{xzyyzzz{{{{{{zzyzyyzyy{z{z{zzzzzyyzzyzzz{|{{{{zzyy{{yzy{z{{zz{zzxzzyzz{zz{{{{yzz{zzzzzz{z{{{z{zzzzzzzz{|{z|{z{z{zzzzz{{|z{{{|zzz{zyzy{|{{z{{{{{{{zzzzy{{z{|z{{{{zz{yz{||z|{|{{zz{zzzz|{{z{{zzzz{{{zzz{{||{||{z{{z{z{{|{{|{{|{{|{{z{z{z|{{{||{{zyz{z{{|||||{{}{z|{z{{{||||{||||z{{{{{z{|{||||{|{{{{{{{{|{|{|{|{zz{zz{{{{|{{|{{{zz{{z{|{{z|{}{}{z{{z{z{|{|{{|{|{{zy{z{z{{|{{{|{z{{z{z{z{{{{{zzzzzzzz{zzzz{zz{{z{z{{zzzzy{{{{z|{{{zzzz{{{z{{{{{{zzzzzz{zzz{{zz{z|z{zzyzz{z{zz{z{zzzzyzzzz{z{z{|{{zyzzzzz{z|{z{{{zzz{zz{yzzz{zz{{zzz{zzyzz{{{z{{{zzz{zzzy{{{|z{z{zy{yzyyzz{y{{z||zz{yyzzyz{{{{z|{zzzzzz{zz{z{z|zzzzzz{{{zz{{{{{||{zzz{zzz{z{z{z{{z{z{yz{{{{z{{{|z{{zz{zzz|z{|{z{{{{|zz{zz{{|{{{|z{{{yz{z{{{{|z|{{{|z{z{{z{z{z{|{{zzz{{}{{||{}||{|{{{{z{{{|{{{{{||{z{|{{zz||||{{|||z{{{{{{{{|z{}}{{{z{{{{|{{{|||{||{z{{z|{||{}|||{|{{|z{{|z{{{{|{|{zz{z{{{{{|||{{||{{{z{z|{|{}||||{{{{zzz{||{|{||{{|{{yzz{{|{{{{{||{{z{zzzz{||{|{{zzz{z{z{{z{{|z{|{zzzzyzzz{{{{{{{{{zyzzz{{z{{{|{{{zzzzyz{z{{{|zz{zz{zzy{z|{|z{{{|zz{zzzzzzzzz{{{{z{{zzzyyzz{zz{{{zzzzzzzzzzz{{z|{{yzy{{zzzz{z{{{z{zyz{{zzzz{z{{{|{{zzzz{{z|{{|{{|z{y{zzyzzyzzzzz|{zzzzzz{z|{{{|z{zz{zzzzz{{z{{|{|zzyzzyzz{{{{z|{zz{zz{zzzz{{{z||{z{{zz{yz{|{{|{{{{{z{|{z{{|{z|{|{z{zz{{zz{{|{{{{{|z{{|zz{|{{{{{|}|{{{|z{z|}|||||{{{z{{||{{||{||{}|{{{z{{{|{|{|{||{{{{{z{{{|||||||{{{z{||||{|{||}|{{|{||z{{||||{|{{{|{{zz{}{{|||{||{{{{}{{{{{||{||{{{z{{zz|{|{{|{|{zz{{{z{{||{||}|{{{{{z{z{}{|{|{|{z{z{yzz{{|{|zz{{zzzzy{zz{{z{{{|zzzzyz{yz{z||{|{{{zyy{{{{zz|{{|z{{{zz{y{zz{{z{z{{zzyzy{{{{zzz|{{zz{zzzz{{{{{z{{{{zzy{zzz{z{{{{{zzzyyy{{zzz{{{{{{zzzzzzz{z{{{{{z{zzzzy{zzz{z{z{z{zz{{yzzyzz{{{{{{z{{y|zzyz{zz{z{{zz{zzzzzz{z{{|{z{z{zzzz{{{|{{|{{{{z{z{zz{{z{{{|{{{{y{zz{{zz{{{|{z{zzzz{{{z{{{|{||{|{{{{zz{||{{{{z{{z{{zz{{}{|{||z{y{zzzz{{{{{{{|{{z{{{z{|{{|||||zz{{{{{z{|z|{|{}{|{z{{{{|||||{{||z{z|{{{{}|{|{|{{{{{{{{||{|{{||{||{|{|{{{}{||{||z{{z{{{{{|||||{|{z|{{{{z{{{{{{|||z{z|{{{{|{|||||{{{z{{{z{{|{{||||z{|z{{z{{{{{{{{z{{{z{zzy{{|{{{|{yzzzz{zz{{z{{{{zzz{zzz{z{{{{{{|{zzzz{zz{{{{z{z{z|zzzz{z{{{{{z{{{y{y{y{{z{{{z{{{{z{zyzzzzzz{{||z{zzzzzyzzz|{{{||{z{{zz{{zzzz{{{{{z{zzzzz{{z{zz{zzyy{yyzzz{{{z{{{z{{{zzz{yzz{{{|{zzz{zyzzz{zz{z{z{zz{zzzz{{{{{z{|{zzzzzzz{|{{z{{{zz{{{z{zzz{{z{{{{{zzzz{{{{{{{{{|z|zz{yz{{{|{{{{{zzz{{z|z{{{|{{|{zz{zzzzz{{{{{{||z{{z{{z{{{{{z{{|{{z{{{zzz|||}|||z{|{{{{{{{|{z{||{{{{{z{{|{{|{||||zz{{{{{||z{|{|{|{{|{{{z|{|||}{|{{{{z|{|z{|{|{|}{z{{{{{z|z|{{||||z{{z{z{|{{{{|{|{{{{{{{{||z|{|{{z{zzz{|{{}||{|{{{{{zz{zz{|{|{{|{{{z{zzy{{{{|{{{{zzzzzzyzy{{|z{|{{{zzzz{zz{{{{{{{z{zyzz{z{{{{{|{z{zzzzzzy{{{{z{{|{zzy{zzz|{z{{{{|zz{y{yy{z|zy{|z{{yyzzzzyz{{zzzz{{zzzzyzz{z{{z{{{zz{{zyzy{{zzzz|{{{zy{zzzzz{{||zzzz{zzz{zy{z|{{|zzzyzz{zz{z{z{|zzzzzzzzzyz{z{z{{|yz{{yzzz{{{{{{{zzzzz{z{zz{{{{{{{{zz{zy{z{{{{{{{|zz{zzzz{{{|{{{|||zz{{z{{{|{||{{{{z{zzyzy{|{{zz{z{{zz{zz{z{{{|{z|z{{{zz{z|{{|{|{|z{{{|{{{||}||{||{z{{{{zz{|{|}{|{{z{{{{{{{|||{||{{z|{{{|{{{{|{||||z{z{{{z||z{{|||{{|{zz{{{|{|{|{{|zz{z{z{{{{{{||{|{|{{{{{|{||||{{zz{{z{{z{{|z{||{|||zzzzz|{{{||{{{{{{z{zz|{{{|||{{zzz{{{z{{|{zz{{zzyy{zzyz{|{{{||{z{z{z{z{z{z|{|{|yz{|{z{z{{{z|||{{zzyyzyzzz|{{{{{zzzyzzzz{{{z{{{{zzzzz{y{{z|y{zzzzzyzzzz{z{z{{z{{zz{z{zzz{{zz{{zzzzzzzzz{{{z{z{{zyzyyzzzz{{{{z{{{{z{zyzzz{{{|{z{zzzzzzzz{{{{z{{{zzzzzzzzz{{z{z{{zzzy{yzzzz{{{z{|zzzzzz{z{{{z{{|{zzz{z{{{||{|{{{|{{zzzz{zz|||{{z{{zzzz{{{{|{{{||{{zz{z{z{|{{{{{|{{{{{{|{{{{{|{||{{|{{z{{{{}||||||{{z{{{{{{|||||{{|z{{{zz|||{|{||}|z{z{|{{{|{{||{||{|{{{{{z{|{{{{|{{{|{{|z||{|{|{{|z{y{{z{{|{{||||{{z{{|{{|{|{||||{{{zzzz{{{|{|z|||{zzzz{{{|{{{{||{z{zzzz{{{{{|{{zzz{z{zzy{z{|{|{|zz{{yyz{z{{zz{|{{z{zzzzy{z{{{{|{{zzyz{z{zz{{{{|zz{zyz|{z{{z{{{{{{zzzyzyzz{zzz{{{{{zzzzzy{z{zz|z{{{zyyzz{{z|yz{{{zzyzzzyzz{{z{z{{{{zyzzz{{z{z{zz{{zz{zzzyz{{{{{{|y{yyzzzzz{{zz{{z{zzyz{z{z{{|z{|zzzzz{{z{{{{z|{z{zzz{zyz{z{{{{{{{{z{{zzz{{{z{z|{|z{zzzzz{{{z{{{{{zzz{zzz{z{{|{{{{{z|{z{{{{||y{{|{{z{{z{z{{|z{{||{{|z{{z{{z{||||{{{z{{y{{{{|{|{|||{{|{{z{z|{{{|{||{z{zz{|z||{{{{|||{{zz{{{{{{z{|z{{{{{|zzz||||{{|||z{{zz{{{|{||{|{|z{{{{{{{{{{{{{||{z{|z{{{|{|{|{||zz{{z{||||{{{{{{z{zz{|zz{||{{|{zzzy{yz{{{||zzz{zy{{zzzyz{{{z{zzzz{{{zzyz{zz{{{{{zzzzz{z{{zz|{{{zzzzzzzzz{{zzz{{{zzzzyyzzzz{{{z{{zzzzyzzz{{zz{{zz{{zzzzzz{{{{{yzz{zzyzzzzzzzzzz{{yzyyxzy{{yzz{z{{zyzzzy{z{{{{z{{zz{zzzzzzz{{zz{zzzzzzzzzz{zz{{{{{zzzzyzz{zz{{{|{zzzyz{yzz{{{z{{{{{zzzzzz{{{{{z{{zzzzyzzzz|z{{{z|zz{zzzzz{{z|z{{{{y|{zzz{z{{{{{{zz{{z{zz{{{zz{{{{{z{zz{{z{{zzz{{{zzz{{yz{{{z{|{{{{{z{|{{z{z{|z{||{{z{{zz{{{{|{||{|{{|z{|z{||{|{||z{{zz{{{{{{{{|{||{z{z{z{{||{|{||{{{{{z{{{{{||{|{{z{z{zz{{z{{||{|{{{z{zz{{{|{{{{{{zz{y{zz{{{{|||||{zzzzzz{{{{{{{{{zzz{z{{{z{{{zz|z{zy{z{zz{{z{{z{zyzzzzzzzz{{{{{{zyzzzzzy|z{{{{{{|zzz{yyy{z{z{{z{{|{yyzzzzz{|zz{|zzzyzz{yz{z{z{{z{zzz{zyy{z{zzzzzyzzzzzzyz{zz|{z{zxzzzyyzz{{z{{{{{z{zzzyz{{{{{{{z{z{yyyyzz{zz{{|{{zz{yzzz{zzzz{z{zzzzzzzzzz{z{{{{yzzzz{zzz{|{{{{|z{zz{zyy{{{zzzz{{z{{zz{{z{{{{{{|zz|zz{y{{{|z{{{{{z{z{z{{{{{{{z{zz{z{{{zz{{|{|z|{{zzz{zz{{{|{{|z{{{{{{z{z{z{{|z||z{{z{{{{{zz|{|||{|{z|zz{z{{|||||{z{{|z{{|}{|z{}{{{{{{{{z{{{|||||{{z{zz{{{}||||||{{|{{{{||{||z{|{|{zz{{{{{{z|{{|{{{yz||{{z{|{||{|{{{{{{{{{|}{z|{{{{{|zzz{{|{{|{{|{{{yz{yzz|{{|||{{{zz{z{zz{{{{z{{{zzzzyzzz{{{{{{{{zzzy{{z{z{{z{{{zzz{zzzz{{{{{{{{z{zzz{zyz{{{{{z|{zzz{zzyz{zzy{{z{zyz{zzz{{{zz{zz{z{zy{z{zz{{{{|{{z{yzzz{{z{z{{|{yy{{zyyzz|{z|{zz{{{{z{zzz{{z{{|{zzzz{{{z{{{z{{{{{{{zzy{{zzzz{|{z{z{{zzyz{{|{{{{zzzz{{{y{z{|z{z{{{y|zyzz{{{{{{{{{{{{z{{{z|{z{|{{|{z{y{{{zzz{{{|{{{z{{{z{z{{||{{|{{{z{zyzz|{|{{{{{|z{{z{{{z{{||||{{{{{z|{{{{{||||}{{{{{{zz{|{{{||{{{|{{{{|||{||{{|{zz{z||{{|{||||||{{{{|zy|{{|{|{||{|{{{{{|{{|{{}|{z{{{z{{|{{{|||{{{|{{{{{|{{{|||{||z{zzz{z{{{{|||{{z{z{zz{{z|{z{{z{{{z{{{|}|||zzz{{zyyyzzzz|z{{{|z|{{zzzz{{{{{{{|{zz{{{zzyz{z|{||zz{zyzzzz{|{z{{{{zyzzz{z{|{{z{{|z{zyzzzz{zzz{|{{|yzzz{zz{||{{{{{{zzyzzyzz{z{{|{|zzzzzzz{z{{zz|||zzy{{{zy{{{z|{{{|zz{yyz{|z|y{{||zzzz{yzz{||{{{{{{yyzzzzzzz{{{|{{z{|zz{zzz{{{z{|{{y{zzz{{{{{z{{|{zz{z{z{z{|{{{{{|{z{zzzz{|{|{{{{|z{{zzz{{{|{{|{{|{{{{{z{z||{z|{{z{{{{{{{{||{{{{|{|z{{z{{{|{||||||{z{{{{{{z|||{}|||{{|{{{z{{{}{||{{{|{|{|{|||||{||{{{z{z{{{{{{||||{{{{{zz|{||||z|||z{{{|{z||{||||||{{{{z{{{|{|||}|{z{{|{{||{|{{|{|{{zz{{z{{||||{}|{|z|{{|{||{{{{||{{|z{z{y{{{{|{|z{{zzzzzyzz{z{|{{{zzzzzzyz{{{|{|{{z{yzy|z{z{{zz{{zyzzzz{zz|z{{{{{z{zyzzzzzz|{{|z{zzzzzz{yz{|zz|{{{{{{zyyzz{{{{{{zzzzzzzzzzz{{{{{{zy{zzz{zz{{zz{{zy{z{yzz{z{zz{zz{{z{zzzyzz{{{{z|{{zzzzzzy{z{z{z{zz{zz{zzzy{zzzz{{zzzz{z{z{{{{{{{{{{zzzz{{{{{|{{{{{z{{zyzz{{{{{{{{z{{zz{zz{{{{|{|||z{zzz{z{|||{||{{{zzz{{y{{|zz{{z{{zzyzz{{|{{{{{{z{{z|{{{|{{||{|{{{{{{z{{|{|}{|||{{{{z{{z{|{{{{{||{z{{{{z|}||{}||{z{z{{|{|{{{{|{{|{{{z{z{{|{{|{|{|z{{{{zz|||{}||{{zz{z{{{{{{||||{z{{{{zz{{|||||{{{{{{{{{{z|{|{}|||{{|{{z{{|{|{{{{{|{zzy{{{{{{|{{{zzzzzyyyzz{{{{{|yzzzzyzz{z{{{{{|{z{{zzzz|{zz|{{{{yzyzzzz{{{{z{{|zzzyyyzz{z|{{{zzz{zzzzzz{zz{z{{zzz|zzzyz{z{zzzz{{yz{zyzz{zz{z{z{zzzzzyzzz{{zz{{zzyzzyzz{z{{z{{{z{{zz|zzyz{{{z{{z{zz{zzzyz{zzz{||z{{y{zzzy{z{{{{{{z{zzzz{z{{{||{{zzzzz{zz{{zz{{{|{z{z{zzz|{{{{{{|z|zzzy{y{{zzz{{{{{{zzz{y{{|{{{{{{zz{zz{z{|{z{z{{z{z{y{z{z||z{{{||{z{{{z{{{|{|{{|z{{{{{{{||z|{||||z{{{{{y||||{{|{{y{{{z{z|}z|||{{z{|{z|{{{{{{||||{z{zz{{{{}{|{{|{|{{{{|{{}{{|{|{{|{z{|z{{z{{|||||{|{z{zz{|{{z{{{|{{{{{z{{{{{{{|{{{z{{z{{z{|{|{{{{{{{{zzzz|{z{{{{{z{zzy{{z{z{z{{{|zzzzzzz{zz{|{|{{zzzzzzzxzz{{{{|{z{{zz{{{{{z|{{|{{{zzzyzz{{z{z{{{{y{zzzzz{{zzz{{z{zzzzzyz{zzz{{{{zzz{z{zzzz{{z{{|zzzzzz{z{{yz{{{z|yyzyzzzzyy}{{{{zyzzz{zzz{{{{|{|{zy{zz{yy{zyz{{zz{zz{zzzzz{zzz{{zzzzyzzzzzz{{{{{zz{{|z{zzz|{{z{zzz{zzy{zz{{z||z|z{z{zz{z{{zz{z|{zz{yzy{zz{|{{{{{z{z{{{zz{{|{{z||{{z{z{z|||{{{||{{{{{{{{{{z|{{||{{{{{z{{{{|{{|||||{{|zz{{{|{{{{|{{{z{{{{|||||{{|}{{{|{{{{|{{}||{||zz{z{z{{}|{{||||z{z{{{|{||||{|{{{{z{{{|{{{||||}|{z{{|z{}|z{|{|}{|{y{z{z|{{{|{{|{{{z{zz|{z{{z{{{zz{{{z|{z{{|z{{{zz{zz{zz{{{{{{{z|z{yzzyz{{{{{||z|zyzzzzyz{{{{{|z{z{zzzzy{z{zzz{{{{{zyyz{y{{z{{{{zzzzzzzzz{{z{z{{z{y{zyzy{z{{{zz{y{zzzzy{zzz{{{{zzzyzzyzyzz{z{z{zzzzzz{zzy{{z{z{z{{zzxzzzzz{zz{{{zzzy{zzyzz{zz{{{{z{yzz{yzz{{{{{zzzzyz{zy{z{{{{|zzz{z{yz{{z{z{{{z{z{{zzzzzzzz{|{zzz{zzy{z|{{{z{{zz{z{z{yz{{{{{{{{{{{z{{y{{{{{{|{{|zz|{{{{|{{|{|{{{zzyzzz{{{{||{||z{|z|{{{|{|||||{zz{|{{y{{||{|{||{z|z{{{z|{|{||||{zzz|z{|||{{||{{{{zz{{{{{}{|{{{{{{{{{{{{|||{||||{{z{{|{{{{|||}|}|{z{|zz{{{{|{{||{{zzz{{{{{{|{|}{||zz{{{zz{{|z{{{||{zzzzy{z{{{{{zzzyzzyzz{{{zzzz{zzzzzyyy{{zz{{||{yz{zzzzzyz|{{|{zzz{zzyzz{|{y{{{zz{zzy{z{{z{zz{{zzyzzzz{zz{zyz{y{zzzzzyz{z{{z|z{yyzzzzyz{z{{{zzzzzzzzzzzzzzzzz{zz{yzyzyy{{{{z{|{zz{zyzzzz{{z{zz{{yzz{yzyzyzz{{|{zzyyzzzzz{z{{{z{zyz{zzzzzzzzzz{{z{yz{yzz{{{zz{z{|z{zzyyzz{z{|{{{zyzzzzzz{z|zz{||zz{z{z{z{{z||{{|{z{zzz{y{{|{{{||zz{{|{zzz{{z{{z|{zz{{{zz{{|z{{|{z{zzzz{{||{{z{||{z{||z{z|{||{||{|z{|{z{|||{{{|||zz|{{z{{{{||{{|{z{z{{{{{{|||{||||zz{{{{{{{{{z|||{zz{{{z{{|{{|{||{zz{{{{{{{{{|{|{{{z{zz{{{{{{{{||{{z{y{zzzz|{|{|{{{zz{z{z{|z|{|{z{{zyzyyy{{{zz{{zzzzzzyzyzz{{z{{z{zyzzzzzzzzz{{{{}zyz{yzzz{|{z{|{|yyyyzzyz{{{z{z|{zzyzzzz{{{{z{{z{z{zz{zz{{z{{{{z{zzzzyzzzzy{z|z{yyzyzy{zyyyz{{zz{zzyy{yyzzzzz{{{yy{xyzzyzz{zzz{zzzzz{z{y{z{z{{{{{z{zzyyzzzzz{{y{zzyzz{zxz{z{{|{z{zz{yzz{z{{{z{{{{xzzzyzz{z{{z{{|z{{zzzz{yz{{{{{{zz{zz{zz{|z{|{{{zz{zzzyz{|{|{z||{z{z{zyzzz{{{{{{{z{zz{zz{{|||{||{{{zz{z{{z{{{||{{zzz{{zy{{|{{{|{{zz{{{{z{{|{z{{{z{{{{{{{{||{|}{{{|{{z{z{{|{{|||{{z{{{{z{{||{{|||{zz{z{{|{|{|{||{|{z{z{{{{|{{{{|{{zzzzzz{z{{{{{|{{{{{{z{zz|{z{z{{{zzzzyzzz||{{{{{{{{zzzzzzzz{{|zzz{zy{zzzzz|{{{{{{zzyzzzzz|{{zz{{{yz{y{zzzz{{zz||zzzzxzzzz{{{z{|{z{z{z{zzzz{zz{{{zzzyyyzy{{{zzz{z{zz{yzyz{zzzz{{{zzzzzyz{zz{zz{{z{z{zzzzz{{zz{{{{zzzyzzyy{{{{{z|{{{yzzzzyy{{z{z{{z{zzzzzz{{z{{{z{zz{zz{zy{{{{{{{zzyz{z{{{z{zz{z{{zz{yzz{z{{{z{{{|{zz|zzyz{|{{z|{{{zz{zzzy{{{|{{{{zyzzzz{{{{{{zz|zz{{{{{{{{||z{{zz{{{z{zz{{{{{{|{{z{{{{z{z{|{{{|{|zz{z{{zz|{|{||{z{{z{z{|z|{{{||{{{z{z{zz{{|{|{|||{{zzzz|{{|{{|{}z{z{{zz{{|{{{{|{||z{{z{z{{{{{{{}{{z{{|{z{{{||||||{{{z{z|{{|z{{{||{{{{z{zz|{{{{{{z|zy{z{{z{z||z{{zz{zzzz{y{{{{z{|{{{zzzy{zz{{{{z|{y{{zyzzzz{{{|z{{{{z{z{y{{{z{z|{{{z{zzy{zzzz{{{{|z{zz{zzzz{y{{{{{zzzyzzy{z{z{z|y{zz{z{zzzz{{z{{|{zzzyzyzzz{{{{zz|{zzyzyzzzz{z{z{zzz{zzzzzz|z{{{|{zzzzzzzzz{|{{{zz{z{zyzzzy{{{{|{{yzz{z{zz{{|{|{|{{{zz{y{{zz{{{z{{z{{yzzz{{{z{|{|zz{{z{z{z{z{||{{{{{z{{{zz{|{{z{{z{z{zzzz{{{{{|{||zzzy{zz{{{{{{{{|z{{zz{{{||{|{{||zz{{{{{{{|{{||{|{z{{{{{{{||{{{}{{{zz|z|{|||{|{}|{z|z{{{z{{|{|||{|{|{{{{{{|{|||{|{z|{z{zz||{|{{|||zzz{{z{{{|{{||}{{z|||{{|{z|{|||z{{z{{{z{||{{{{|z{z{{zz{{|{{{||z{|{z{{zz{{{{{{z{{{zzyzzzz{|z{{|{z{zzzzz{z{{{{{z|{{z{zzzz{zz{{{|zzyzyzzzz{zz|z{|{zx{zzzzzyz{z{{{{{z{y{zzzzz{zz{{{{z{zzzzzzzzzz{zz{zzy{zzzz{{{{{{{yzyz{yz{{zz{{z{{{zzzy{yz{z{z{z{{zzzzzzzyzzz|z{{{zzz{zzz{zzz{{{zzzz{zzzz{z{{zz|{{z{zyz{zzzz{|{{||{z{y{z{zz{{{z{{{{z|z{z{{{{{{|{{|zz{zzy{{{{|{{|{||{{zz{{y{{z|||{|y{{z{{yz{{{|{z|z{{{z{{|{{|z{{|||{z{z{zzz|{{|||{{{{{{{{|{{|||{{{|{{{zz{z{{{||{z|{|z|{zzz{{|{|||{|{{{{{{|||||{||||{z{|z{{{{|z{{|||}z{|z|z|||{}z||||yz|{{zz{{{{|{}|{{{z{{{{|{{|{{|}z{{z{zz{{|{{||||{{{|z{zzy|||{{{{{z{z|{{z{{|{{|z{{zyzz{zz{{{{{{{{{zzzz{zzz{{{z{{{{{z{zzz{{z{{{{|{{z{zzzz{{{||{z{{{{|{yzz{{zzz{||{zzzzy{{z{z|{{|{z{{{zzzzz{z{zz{z{zzyz{z{zzzz{z|z{zzz{zz{zz{{z{{zz{zzzz{{zzyz{{z{{zz{zyzzyz{{{{{{z{{zzzzzyzz{zzzz|zzzz{zzzz{{{z{||{zz{z{zz{{{{{{{|zzzz{zzy{|{{{|{|zzzz{zz{|{{{{{{{{{{zz{{{{{|{{{{{|{||zy|zz{z{{{}{{|{zz{zz{{|{{{{z{zz{zz{{|}{{{|{{{{z{|{|||{||||||{z{zz{{z|{{{{{|||z|{||{z{{{||||{{{{{{zz{{||{|||{||{{y|{{|}{{|{{||{{{z{{{{|||{{}}{{{|{z{{{||}{}{||{z{yz{{{{|{|{}{|z{{|zz|{{{|{{||{z{{{{z{|{|{{|||{z{{{{z{{{|{{|{|{{{{{zz{z}||{{z{{zzzzzzyyz{{{{z|{{zzyzyzy|zz{{|{{zzz{z{zzzz{{{{{{zzzzzyzz{{{z{{z{zzzzzzzzz{z{{{|yzyzzz{zz{{zz{|z{{zz{yyz|z{zz{zzzy{zzzyzz{{|{{zzzzzy{zzz{|{z{{{{z{xzzzz{z{{{{z{{{yz{zzy{z{z{{{{{{zzz{zzzzyzz{{z{{z{yyyzyz{zz{{zzzzzz{{zz{z{||{{{{{zzzzz{{{{{{{{|zz{{{y{zz{{z{{||{{zzz{zzz{z{{z{|z{|zzz{z{{z|{{{z{z{{{yzzz{|{{zy{{{{{zzz{|{y{z|{{|z{z{{z{{{|||{||{z{{{z|{{{|{|{{||{{{z{zz{{|{|{{|{{{{{{zz}{{z|{||y{|z{z||{{||{{{||{{|{{{z{||{|||{{z{|zz{{|{||{|{||zz|{{z|||z{{z}||{{{{zz|{{{}{|{{{{{z{{zz{{{{{{|{{z{z{z{z||{{z{||zzz{{y{z{{{z{{z{z{{zzzzy{z{z{{z|{z{zzyzz{{{z{z{{z{zyyz{zzzz{{{zz{zzzzyz{{zz{{{z{zzzzyz{y{{{yz{z{{yzzzy{xzz{zz{{z{y{zzz{zzz{zz{{{zzzzy{z{{z{z{{zzzzzzz{zzz{{{z{{{zzz{zzyz{z{{|{{z{{z{zyzyzzz{z{|{zz{zzyy{z{zz{y{zz{zyzz{zy{{z{|z|zzyzz{z{zzz{{z{{zzzzzy{z{{{{z|{{zzzzzz{z{zz{{{z{zzzzzzz{{|{{z{{{{zzyzzzz{||{|{{z{z{zz{{{z{{z{z|{{zz{zzy{|{{z{{||{{{z{{yz|{|{||{|z{{{{{{{|{||{|||{{{{{zz{{|{||{|z{z{z{z{z|{{||{{||{{{z{{{{{{||{|{|z{|{|z{z{||{||}{z{{z{y{{{{|{{|{}{z{{z{{|{{||{{|{{{{{z{{{{{|||||{{zyz{{z{{{{{|{{{{{{{zzyz{z{{{{z{{{y{z{z|{{{{z|{{zz{zzzzzz{zzy{zzzzzy{zy{yz{z{{{zzzyyzzzz{zz{z{{zzyzyyzzz{{z{|{{{yzyyzzzzz{{{zz{yy{yyzzy{{zyz{{{zyyzzzzz{z{zz{z|zzyzyzyzz{zzzz{zy{yyzyzyzzz{zz{zzyzyz{yzyzz{{z{z{zzzzyyz{{yzzz{{{yzzzxzzzz{zz{zy{zzyyzyzzzzzz{zyz{yzzzzyzz{{{{{{zz{{zzzz{{{z{{{zyzzzyzzzzzzzz{{{{{zzzzyzz{z||{{{zzz{|y{zz{{|{{{{{zzz{{{zz{{{z{{{z{z{zzzz|{{{{{{{zz{z|{{z{z|z{{|{{{z{zz|{{{{{{|{|{|{{z{{{|{|{|{|z|zzzzz{z{|{z{||{zz{z{{zzz|z{{|{{{{{z{z|{{|{|{{|{{z{{z{{{{{{{{{||{zzzzz{{z{{{|{{|{zz{zyzzz||{{|{{z{{z{{zzz{{|{|{{{{zzyy{z{||{|{|z{{zy{yzzz{{{zzzzyzyyyzyzzzzz{zz{zzy{yyyy{{{z{zzzzzzzzyzy{zzzz{zzzzzzzzzy{zz{{{z{{z{yyzzyzz{z{{z{z{zyyxzyz{z{z{{zzz{zzyzzyyzzz{zzzzyzzyzzzz{zyzzzyyzyzyyyzy{{{zzzzyyyzzyyyzzzz{{zz{zzz{zyz{{{{{{{{yzzzyzyz{yzzzzzzzzyyyzyzzzyz{{{{zzy{zyzz{z{{{{zzz{zzzzy{z{{{{{zzzzyyz{z{z|zz{z{zyzy{yzz{{{{z{{{zzz{{{zzz{{z{{{{|zzzz{zz{{{|{{{{{{zzzzzzz{{zz{{{{{{{{zzz|z|{||{{zz{z|zzz{{{|{{{{{z|{{{zzz{{{{|{z|zz{{{{{z|{{{{{|z{{zz{z{z|zz|{{|{zzyz{{{z||{|{{{{{z{zzzz{{{z||{{zzzzz{{zzz{z{|||{zz{{zzzz{z{z{{|zzzyzz{yzzzz{{{{{{z{z{zz{{z|zz{|{yyyzyzyz{|zzzz{yzyzyyzyz{{yzzz{yyzzzyyzzz{zz{{{zyyyz{yyzzz{{z{zzyzyzyzzy{zyzzy{z{zyyyzyzzzzzz{{zzzzzzzzz{{zy{{{{yzzyyyxyzzyzzzyzzyzyzyyzz{zyz{zzyyyzyzyzy{zzzzz{zyyzzzzzz{z{z{zzzzyxzzyz{zz{zz{{zzzyzzy{z{yy{zyzzzzyzzx{zzzy{{{zzzzyzzz{zz{|zz{{zzyzzyy{z{z|z{{zz{yzy{x{zzzy{{{zz{yyzzzz{{{{{{{{zzz{y{y{{{{{{{zzy{yzzzzzz{{{{{z{zyzz{zyz{{{z{{{{z{zzz{z|||{{{{{zzzzzz{{{|{{{{{{{{z{zzzz{{|{z{|z{{zzzz{{{{{{|{}{{z{{z{{{{{|{{{|{{yzz{yzz{|{{|{|{||{zzzz{{|{{{||{{yz{z{z{|{{|{{{{{{z{zzzz{{{z{{{{zz{zzz{z{z{|{{{|{y{zzyzzz{{{z{{{z{z{zzzzz{{{|zzzzzzz{yzyz{zz{{|{zzzzzyzzzzz{{{{|{zyz{z{zzz{zz{zz{zz{{yyy{zz{zz|{|zyzzzzzzzzzzzz{z{zyyzyzz{yz{{zzyyyyzyyzz{z{y{|z{zzzxzzzzzz{z{{{z{yzyyzzzz{z{z{zzyzzyzz{z{{y{{{{zz{zyzzyz|{z{z|{zzz{{zyzzz{z{{y{z{zzzyzzzzzz{z{z{yzzzzzz{{{z{z{{z{zz{x{yz{z{{{z{zzzzzy{zz{{{{{{zz{{zyyyzz|{{z{{{zyz{zzz{z{z{{{|{{{zzyz{z{{z{{z|zz{zy{{zz{|{zz|z{z{z{|{{{{{|||{{{zz{zzz{{{{{z{{|{{{zz{zzz{{{{{{{{{z{{{{{z|{{{||}{y{{|z{{|z|{{{|{{|zzzz{z|z|{|||||{z{{z{z||{{z|{||{zz|{{{z{|{{{{|}{|z{z{z{{{{{|}{}z{{z|{z{{{z{z||z{zz{yzzzz|{{{{z{{zzzzz{zzz|{z{{zyyzyzy{yzzz{yz{|zy{yzyyzzy{{z{{{zyyyzyyyzz{{zz{{zz{zyyzz{|zz{{zzyyzyyzzz{yzy{yz{zy{yzzyzy{yzzz{zzyzyzyzy{z{zyzzyyyyzzzyzzzzzzzz{zzyyyyzzz{z{{z{zzzyyyyyyzyyzz{zzzzy{yzyyz{{{z{{zzzyyzzzxzzzzzz{{zyyxyyzzzzyzz{z|zzzzy{yyz{{{z{{{zzzzyzzyzy{z{zz{zzzyzzzzz{zzyz{zzzyzyzyzzz{z|{zz{zzzzyyzz{{zz{z{z{{zzzzz{{{{|z{zzzzzzzzzz{zz{{zzzzzz{zz{{{z{{{||{zz{{zzz|{{|{{{|{{z{z{z{zz{z{{{{{zzz{{{{{{|{{{|z{yz{zzz{{{{{{|{{{yzzzz{yz|z{{{{{{{z{{{{{|z{{{|z{{y{z{z{y{{{zz|}|{zzz{{z{|{{|{{{|{{zzzzy{z|{z{{|{{zyzyzz{z{z{zz{z{z{zyzyz{zz{{z{zzz{zzzzzzz{z{|z{z{yzyzyyzz{{z{{{zzyyzyyzzzyzz{zzzzzzyzyz{{zyzz{zzz{yyxzyyzz{y{z{zyyyzzyyy{zzzz{zyyzyyyyzzz{yz{zzzzzxzzyy{{z{y{zzyyzzzzyzyyzyzzzyzyyyyzzy{zzy{{|zzzzy{zyz{{{|zz{{yyzyyzzyyyzzy{zz{yyyxyzyy{yzzyzzzzzzzyzz{z{z{z{{zz{zz{{yzyzz{z{{yy{zyyzzzz{{y{zzzzz{yzzzz{zz|{{zz{zzzyzyzzzz{{yzyz{zzzzyz{|{{{{zzzzz{zz{{{{{|zzzz{y{{zz{{{{{z{{{zyzz{{z{{{{||{||z{z{z{z{{{{{z{{{{zzz{zzzz|{||{{{z{{zz{{{{|{{{{||{{{{z{{zz{{{{{|{{{zz{zz{zz{{{{{z{z|{{zz{{{{|{|{{{{{z{z{z{|z{{{{{{z{z{z{zz{{z|{{{{zz{zzzzz|{z{z||z{{yzzzyz{z{{z{{zzyzzzzz{z{{y{{{zzyyzzzyz{{z{{{zyzzzyzzz{yzz{z|zzyzyzzyzzz{{{z{|{zzxyzzy{z{{{{{zzz{zyzzzzz{zzzyz{zzxyzyyyz{zz{z|zyzzzyz{zzz{zz{{z{yzzyzyzzzyzz{{zzyyyzzyzzzyy{{{yzzzzyzyy{z{zz{zyyyyyzzyyzyz{zzzzyzzyzyyz{zz{{{zzzzzzyzzz{{|zz{{{zyyzz{zz{z{{{{|zzzzzz{{{{zz{{||{zyyz{yy{{z{{z{{zzzz{yzz|z{z{z{zz{zzz{zy{{{{z{{{yzzz{zzzz{{zz{{z{zzz{{{z{{|||{|{z{zzz{zz{{{{z|{|{zzz{z{z|{{z{{{{{zz{|zz{{{||z{{{{{{{z{{{{{{{{{||z{{{zz{z{|{{{||{{{{|z{z|{{{{|{{{zzz{{zz{{{|{{{{{{{{z{{{{|z{{z{{z{zzy{z{z{{z|{z|{{zz{zzzz{{z{{z{{yz{z{yz{zzz{{{zzzy{zzyyz{{z{{z{zzzzzyzzzzzzz{|{{zzzyyzyyzy{zzzzzzyzyzzz{zzzzz|zzzzyxyyzzzzz{zzz{{z{{yzzyzzzzz{zzzzyyzyyy{zzz{zzzyzzyzzyzzzzzz{z{zyzzyzyyyyzzzzzz{zzyz{yzyz{yz{{zyyzzyyyzz{zzzz{zyyyzyyzyy{{z{zz{{yzyzzzyzzzzz{z{yz{zyzzyz{{{z{yz{zzz{zzyzzzzz{{{yzz{yzzy{z|{yzz|zz{zzzzyz{{{{{{{zy{{zzzyz{{|{{zzyzzzzzzz{{{z{{{{{{zzzyy{z{{z{y{z{{z{zz{zzz{{{{{z{{zzz{{{z{zzz{z|{{zzyzyz{|{{{||{{zzz{yz{{|{{{{||{{{{{z{z{|{{{{{|{{zy{{zz{|||{|{{z{{{zz{{{z{||{{z|z{z{zz{{|z{{{{}{{yzzzz{|{{z{{z{z{zz{{z{{zzz|{||{{z{yzzy{{z|{z{zz{zzzzzzzz{{{{z{{zyzyyzyyzzyz{{{xyyyxyzyzzzzyzzzyyzyyyyyzzzzzzzzzyyzyyzyzzyzzzz{zzzyzzyyzz{{z{zzzz{yzyzzz{xyzzzzyzxzyyxzzzzy{{zzzzyyyyyyzzzzzyzzyzyxzyyyzzzyzzzyzyyzyyyyy{zy{zy{yyzzzyzyzyz{z{zzzyyzzyyzyzzyz{{{yyyyzyzzyzzzy{z{zyyyyzyyzzz{zzzzyzyyzzxzyzzz{{z{zyzzyzzyzzzzz{z{yyzyzy{z{z{zy{{{zyzzzyzzz{{{z{z{z{zy{zzz{{zzzz{zzyzzzzzz{{zzzz{{{zzzzzzyz{zz{{{{y{{zzzzzz{z|{{{{yzyzzzyyy{z{zz{{z{zzzy{z{{{z{{{|zz{{|zzzz{z{{{{|{{{zzzzy{|{{{{z{zzzz{zz{z{{z{|zz{zzzzzyz{{z{{{{|{zzyz{yzzz{{{|{z{zzzyzzzy{z{z{|{zzz{zzyyy{z{zz{zzzzyyz{yz{zzzz|{{zzyzyyyyzzzzz{zzyxyyyyy{z{{z{{{zzzzyzy{zyzzzz{zzyzy{zzzzz{{z{zyzzyyyyzyzzzzzz{|zzzzzzzyy{yyzzzyzzzyyzyyzyzzyzzzzxzzyyzyz{zzzzzzzyzzzyyyyy{yyzzzyyzyyyyzz{z{{zzzzyyzzyyyzzy{z{{yyzzzyyyyy{yzyzzzzzzyzxyyyz{zzzz{zzzyzzyzzzz{{{yzyzzzzyyz{yyz{zyzzzy{{zzyz{zz{{{{zzzzzzzy{yzy{{{{{x{zzyz{zzz{{{zzzz{zyzzx{{{z{{|{zyyzzzz{z{{zzz|{zz{zzzyzzz{{{|{{z{zzzz{z|{{{{z|zz{zyzzyy{|{z|{{zzz{z{z{z{|}{{||{zzyz{{|{z{{{|{z|{{z{z{y{|{{{{z{|z{zz{z{z|||{{zz{z{z{zzz{z{{|{{||{{{{|zzz{|{{z{||z{z{yzy{y{{{{{{|{{yzzzzz{{{{z{zzzzz{yyyzy{{zz{zzzyzyzzyyz{{zz{{zzzyzzyzzz{{{zz{{zy{yzyzzzz{zzz{{zzyzzzyzyz{zzzzz|{yyyyzyzy{{y{z{zyzyzzzyy{y{{zzz{zzyyyyzzzz|zz{{zyyy{zz{{zzzz|zzzyyyyyxyzyzzzy{{yzyyzyyzzz{zyzzzzzyzy{zxz{zz{z{|zyzyzzyzzzy{{{z{zyzyzzzyz{{{z{zzyyzzzzzyzzzz|zz{z{zzyyyy{{{zy{{|{yzzyy{y{z{zz{{{zz{zx{{{zzz{z{|{{yyzyx{y{zz{z{{z{z{zzzz{z{{zzz|{{{zyzzzzzz{{zzz{|zz{zz{z{{{{z{z{yzz{zzzz{{z|||{{{zyzyzz{{{{|z{{{|zzzz{zx{|{z{{{{|z{{z|zzz|{{{|{z|{zz{z{{{{{||{||{z{zzyz{{{{{{{z{|zz{z{zzzz{{|{||{zz{zzyz|{z{|{|{{z{z{zz{{z||{{|{z{z{y{yzz|{|zz{zzz{zyyzzzz{z{z{z{zyzzyyyx|{{zzzzzzyzyyy{z{z{z{y{{zyzzzzyzzz{z{z{zyyzzyy{zzz{{{zz{zzzyzyy{zzz{{zzzz{xzyyyzyz{yz{yzyzzyzy{{z|zz{{{zz{yyzxz{z{zzzzzzyzzyxyzyzzyy{zzzyzyzzyzzzzz{z{zzyzyzyzyz{zzz{{{zyzyzyzxy{zzzzzzzzyzyyzzzz{zzy{zzzyzz{zyz{z{z{{{zzzy{yzzzz{y{{zzzzzzyzzz{{{zz{{{yyzyyzzz{{{zz{zz{zzzzyz{{{{zz{zzzz{zzzyzz{{{{{{z{z{{zzyz{z{{z{{zzzzzz{zy{{{|{||{z{{z{|zzzzzz{{}{{yzzzz{zz|{{z{{{{zzzzz{y{{{{|z{{zz{zy{{{{{zzz|{{{z{z{{{{z{{{||z{{{{{{z{|{{{{|{{{{zz{z{z{{||z{||{{zz|{zz{|{{{{{|}|{zyzzzz{zz|{z{{z{y{z{zyz{{{{z{z{{zyzzzz{z{{zz{zyzzyyz{yz{{z{{{|zzyyyzyzzzzz{|zzzzyyyyyzz{zz{{|{zy{zzyyzz{zzzz{{yzzyzyzy{z{{z|z{zzzxzzzzyzyyy|{yzzzzzyyyzyzzz{zzzzz{{zzzyz{|z{zyzzyzyyzzyzyz{y{{{yzyyyzzzzz{zz{zzz{zzyz{yz{z{{{zzzzyy{zyyzzzz{zzyzyzzzzzyz{zz{{{zy{yz{zyzzzzyz|{{zyyzyzzz{z{zz{zyyy{zyzz{zzz{{z|z{zzzyzyzz{z{{|{zy{yzzyzz{z|{|z{zz{zzzzzzzzzz{{{zyyz{zyzz{{{{{|z{z{zzzzz{z{{{{{{zzzzz{|{{{zz{}||{z{{yz{{{z{{z{{z{z{{zy{z|{|{{{|z{{{z{z{z{|{{{{zz|zz{z{z{|||{{|{{{z{{{zz{{{z{{{{{|zzz{{{{{{{|{z|{{{zz{{z{||{{|{{|{{z{zz{{z{{{{{{{|yzzz{{{{{{{{zz{zzzzzyzy{{{z{zz{zzyyzz{yz{{z{zz|z{zzzxzz{zyz{{{{zzzzyzyyzzzzz{{{zyyyyzyzz{zz{zz|zzyyyzyyzzz{zzz{zzzzyzyyzz{zz{{zzzzxzyzyz{{zyz{{zzyzzzyzy{zy{zz{zyyzzzyzyzzzzzz{{zyzzzzzz{z{yyyzyzzyzyyzzzz|zz{{zzzyzzyzz{{zzzz{zzzxyzyzzzz{z{z{yyzyzzyyzzz{{z{z{zzz{zzzzz{z{{|{zzzzzyzz{zzzz{{{zzzzzzzyzy{z{{{{{zzz{zzy{zz|z{{{zzzzz{z{{{|z{{{z{zz{zzzz{{{{{{zzzz{z{zz{y|||z}{|z|zzz{{{{|{{{{{z{|{{{{zzz{{|z{{{zz{z{{zz{|{{{{{{{z{z{{{{{{{{{|||{z{{z{{{{||{{|{{|zz{{{{z{{{{{|{{|zzzz{{{{z{{{{{|zz{zzzzz{{{{{||}{{{zzzzzy|{{{|{{{zzz{zz{z{||{{{{zzzzzzzz{z{z{zz{yyyyyyyxzzzzzzzzzyyyyx{yyzzy{{yzyzyyzyzzzzzyzz{zzzzzzzyzz{zzzzz{zzzyy{zy{{zzzzzzzzyzzyzxzzzz{z{zzyzyzyyzzyzzzzzzzzzyzzxyzy{{y{y{yyyyxzzyy{z{zz{zzyyyyxyyyzzyz{y{{zzzzyyyyz{{{{{{zyzyyz{yyzz{z{zzzzzyyzzzzzzzz{z{zzzzzzzy{zzz{{z{yzyyzyzzyzzzy{z|{zzzzz{zz{z{zz{{z{zzyzyzzzzzz{|{zzzzzyyzy{zzz|{zz{zzzyyyyz{z{z|{zzyyyzzzz{|zzz|{{yzzy{zzzz{|{{z{z{{zzz{zz|z{zzz{{zyzzyyzz{{{|||{{zyz{{zz{{{z{{{{zzzz{zzy{|z{{{{{{{z{zz{{{{{{{{{{{z{{{zy{||z{z{{{zy{zzzz{|z{{{{||z{zz{z{z{z{|{z{{z{zy{{zzz{z{z{{{{z{zzzzy{{{{{{{{yz{zyxzzz{{zz|zzyzyyzzyyz{{{yz{{zzyzzyzzzyz{z{{z{zyyyyzyz{zzz{|z{yzzzzzzzzz{yy{{zzzyyyyy{z{{zz{zzzyzyyzzzzzzz{{zzzzzzzzzzzzz{z{zzzyyyyzyzzzz{{zzyyzzyyzzzzzz{z{{{yzzzzyzyz{zzy{{zzyzzyyyzz{zzzzzzzzzzzz{y{{z{z{z{y{yzz{yz{zzz|zz{yzz{{zyzzz{y{{{zyyyzzyz{{{{zzz|zzzzzzzz|{{z{z{|{zzzx{zyzz{{{{{z{y{{zz{z{{{|{||zzz{zzz{z{{{{{{|{zzzzzzyz{{{{{||{{z{{zy{z{{{|||{{zyz{zzzz{{z|{{||{zzz{zyzz{{||{{{{z{zzzz{{|{{{||zz{{zz{zz{z{{{||}{{{{{z{z{{{{{|||{{zz{{zz{z{{{{|{{zz{z{zz{{zz{z|{{{{yz{zz{{z|{{|zzzzy{zz{zz|z{{{|{zzz{z{zz{zz|{{{{zzzzzzzzz{{{zzzzyyzzzzxz{{{zz{zyzzyzyyzyzzz{{zzzzzyyyyy{{zz{{z{{zyyyzzzz{zzzx{zxzzxyyzy{z{zy{zzyzyyzzyxyzzyzzzzzyyyyyxzzyzzzy{yzzzyyzyyz{zzz{{zyzyzzyyyyzyzzzz{zyyyxzyzzzzyzz{zzy{yyyzyz{z{y{|zzzzzzzzyzzzz{zzzzxzyzzzyzzzz{z{{yyzzzzyyzz{z{z|z{yzzxyxyzzz{{{zzzz{zyzzyzzzzz{z|zyzzyyzyz{{yzzzz{y{{zyzyyzzzz{{zzzzzyzyy{{{yzy{z{zxyzzzz{{z{z{{z{xyy{{z{z{z{{{|{zzyyz{z{{z{|z{z{zyyzzzzz|{{{{{z{{yzzz{{z{{zz|{}zz{z{zz{{z{{{{{{|{zz{{zzz{{{{{{|{{zz{{{{z{{{z{{{{zzz{zz{z{zz{{{{z{yzzzzz{{{z{{{|{zzzzzz{z{{z{{z{{zzzzzz{z{z{|zz{{zyyzzyyyzz{y{{yzzyzzzyyyyzzz{z{zzyyzzyzyzz{yzy{{yzzyyyzzyzyzzzz{{{zzzzzzxz{zzzyzzzzzyyzyzyzzyyz{yyzyyyzzzz{zz{{{zzzyyzzzyzzzzzzzyyyyxxyyzzzzz{zzzyyzzyzzyzzzzy{yzyxzyyxyzyz{zyz{yzzzz{yyzyzzzz{|zyz{zyzzzzzzzz{zzyyzyyyzyzzz{{{yyz{zzzyyzzzz{{{zzzzzzzzzz{{zzz{{{zyyzyzy{zz{z{{{zyzzzyzzzz{z||{zyzz{{yzyz{zzy{|{zz{yzzyz{z{{{z|{{zzzyzzz{{{{zz{zzzz{zzyy{{{|{{z{zz{yzzzz{{{{{|{{zzzzzzzz{{|z{z{{{zz{{{{{z{|{z{{|{z{z{{{zz{{{|{{z|{{z{{zzz{z{{{{zzzz{zzzz{{{{{{{{{z{{{z{zz{{{{{{{{zzz{zz{{{{z{|{zzzyzzzz{{{{z{||{zzzzy{zz{|{zz{z{zzzzyzyz{zzz{{{{{{zyyyzyyz{z{z|zzxyyyyzy{yy{zzz{zyyyzzz{zzzz{z{zzyzzyzyyzz{zyz{zzzzyxy{yzzzzzz{{yyyzzyzyy{y{z{zz{z{yzyyyzy{yy{zzzzzzyyzzzzyz{yzzyzyyyyyyz{zzz{{yzyyyyyyzyyzz{z{zyz{yyzyzzz{zy{{zzyyyyxzyzzzz{{z{zzzzyyzzzzzzzzzzyyz{yzyyz{yzz{zzzyyz{xzyzzz{z{{zzzzyyyzz{{z{zzz{zzzzzz{zzzzzzz{{zzy{zyzyzz{zz{z{zzzzzzyyz{{zz{{|zzz{zyzz{z{zz|z{{{{y{z{zz{{|z{{{zzz{z{{{{zzz{{||{{{{zzzzz{{{{{{{zzzzzzzz{{{{{{{zz{zzzz{{{{zz{{{{||zz{{y{z|{{{{{{z{z{zzz{{{{{{|z{|y{z{zz{{zzz{{{{{yzzz{|z{{z}{{{{zzzzzyyzy{{z{{}{{yyzzzzzzz{{{y{zzzyyzzzzzzzz{{{zyzzzzzzxyz{zz{zzyzyzzyzzz{zz{{zyz{zzz{zyyzzy{zz|zyyyzzzzyzzz{y{zzz{yxy{y{zz{zz{zyyxzyzzzzzzzzz{{zzzzzzzyz{zzzyzz{yzzzyzyzzyyyzy{zyzyyzyzzz{zzzzzzyzzyzyyzzzzzz{z{xyyyzyzzzz{zz{zzyyzyyyzzzzzzzzyzzzyzyzyyzz{zzzzzyzyzy{yzz{{zz{yzzzyzyzzz{{{zzzz{zzzyyzzyzz{{z{zzzzzzz{{zz{zy{zzzzzyzzxz{z{{{{z{yy{zz{yyzz{zz{{{yy{{zzyy{{|{{|{zzz{{{{y{{{|{|z{{zzzz{y{z{yz{|{||zy{{zz{yzz{{z{|zzzz{{z{z||z{{{||zzyzzzz|{{z{|||{|zzzz{z{{|{||{{{{z{z{zz{{{{{{{{{{z{zzzz{z{{z{{{{{z{zz{z{{z{z{{{{z{zzzz{{{{{{{z{{{{zz{yzzz{{{{{|{zzzyzyyy|{{{zzzzyyyyzyzyzzzzzz{zzzyyzyyzzzzzyz{zzzzxzzzzzz{zz{{{zzyzzzxxzzz{zzzzzzxxyyyxzz{yyzz{zyzxyyyyyzzyzzzy{yzyzyyyyzyzy{zzyzyyyzyzzxyzyzz{{zyxyzyzzzzzzzzzzyzyzyyzz{z{zz{zzzzzzyyyzzzzzz{yzzz{yzyyy{zzyzzzzyyyzyyzyzzzz{zzyzyyzzzyzz{z{z{{yxzz{zyyz{yzzzz{zz{zzzz{z{zz{z{{z{zzyyyzyy{{zz{zzyy{zxyzy{{{{{zzzyzyzzzy{z{zzz{z{zzzzzzzz{zzz{z{{{zzzzz{{zz{z{{{{zzzzy{{{{z{{{{|{z{{zzyy{|{z{z{{zzz{{yzz{|{z{|{{{{z{z{{z{{zz|{z{{{z{z{yzz{{|{{{z{zzzzyyz|{{{{{{{{zzzz{z{zz{zz|{{z{zzz{zzz{{z{{||zzzzzzzzzz{z{z{|zzzz{yzzz{zzz{{{{{zyyzzxzz{zzz{zzzyzyzzyz{zz{yy{zzyzzyzxz{z|z{zy{zzzzzzyzzz{z{z{zyyyzzzyz{z{zzz{zz{yzzyyz{zz{{{zzyzzzyzy{{zzzzzzzyzyzzzyy{{zzzzyzzyxzzyzzy{y{zzzzxzyz{zyzz{yzz{zzyzzzyyyzz{z{yz{zyz{zzyyz{y{z{{{yzy{yyzyzzyy{{yzyyyzyyzxz{zz{{{{yzyyzzzyz{zz{{{{zzzzyyzyz{{zz{{{zz{zz{zz{zzz|{{zyzzzzzzzzyzz{{{{yy{zzyzzyzz{{{z{{{zyzyzz{{{{z{|{{yy{zz{{z{{zzz{|zzzzz{z{z{{{{{{z{||yzzz{{{z}||z|{{z{zzyz{{|{z{{{{zz{zz{z{{|{{{{{{{zy{{|z{z{{||{||z{{y{{z{|z{{{|{{{{{zzzz{|{z|z{z{zz{z{zz{{z{z{{{{zzzzyzz{{{{|{{{zzzz{z{{yz{{{{{{{{zzzzzyz{z{{z|zyzzzzzy{yz{z{zzzzzyzz{{yzz{zzzz{zyzzzzyzzz{{{{{{zzyyzyyyzz{{z{{z{yzzyz{zy{zzyz{zzzzzzyzyyz{zzzz{yxzyz{yyzzz{z{zz{yzyzzyyzz{{zz{zyyzyzzzzzzzzz{{yyyzzyzyyzz{{{z{zyyzyxyzyy{zzz{z{zzzyzzzyz{{z{z{zzzzzzyyzzzzzz{{{yyzyzzzyyzzzz{{zzxzzzzzyzzyz{||{{zyyyzzy|{{{z{{{zzy{zyzyzzzzz{z{yzzzzzzy{{zzz{{{z{zyzy{z{zz{{||z{{z{zzzz{{{zz{|{{zz{z{zy{z{zyz{{zzy{z{zz{|{{{{|{y{{z{z{{zz{zz{{|{z{{zzz{{|{zz{{||zzy{{zz{{|{z{{{{{|zz{zz{{{{z{||{zz{{{zz{|||{{{{{z{zz{y{{{{{|{{{zz{{zz{{{{{|{|||zz{{{{{{{z{|{{z{{z{z{zzz{{{{{||{|zzz{{zzz{z{z|{z{zzzzz{yz{z{{{zzzyyyzyyzzzzzyzz|zzzzzzyyzzzyzz{{{zyyyzzyzzzzz|z{zz{zyzyzz{{zzz{{{zzzyzzyz{zzzzz{zyyzyzzzyzyzzzzzzzyyzzyzyzzz{zzzyyzzzzyzzyyzzzzzzyzyyyzzzzzzzzz{{zzzyzxyzzzzz{{yyzyyzyzxyzz{z{z{yzyzzyzyzyzzz{{zzzzyzzyzy{z{zz{{yyzy{zyzzzz{zz{{zyzzzzzzz{|zzz|{z{zzz{zy{zz{z{z{zzzyyzyzz{{z{{z{zyzzzy{{{{{z{{zzzzyyzyzz{{{{{y|{{zyzzzzyzzzzz{|{zz{zzzz{{{z{{{z{zyzz{zzz{{{|zz{|z{zzzzzzzz{{{zz{|zzzz{{y{z{{{{{{z{{z|{{{z{zz{{{{|{z{z{z{|{{{||{{{zzz{zzzz{{{|{{{{{zzzzz{{z{{{{{|zzz{{zzz{|z{{{{z{zzz{{{z{z{|{{|{{zzz{{{z{{{{z{{{{zzyzzzyzzz{z{zzzyyzzyyyy{{{z{zzzzzzyzyy{zyz{{{{{zzyyzzzzzzzz{{zzz{zzyzzzy{{yzz{zyzyz{yyzzzzy{{{zyzzyyzyzzzzyzyzzzyyzyyzz{{zy{zzyyzyxyyzxzyzzzzzyyyyxyzzyzzzz{{zzzzzzzzzz{{zz{zzzzyzzzyzz{z{{{zzyzyzyyzxzzzyz{{zzzyyyxzzzzyzz{y{zyzzzzzzzzzz{z{{yyzz{yyyzzz{z{z{zyzyyyzzzz{zy|{{yzyzzzzzzzz{z{z{zy{y{zzyz{z{{zz{z{zzzyy{{{z{{{{zyzzzz{y{{{zz{{{{{zy{zzzz{{{{z|{{z{{zzzzz{{zz{{|{y{zzzzzz{{{{{{{z{zzzzz{{z{{{{z|{z{z{z{zy{{zz{{{|{{zzz{zzz||{{{||{{{zz{{{zz{{{z{|{zz|{z{zzz|{{z{{{zz{{z{{|{|{z{z{{yzzzz|{z|{{{z{{{z{{z{z{y{z{zz|{z{{yyzzz{{{{{z{yzzzzzyyzyz{z|zz{y{yzzzzzzy{zz{zzzzzzzyz{zy{z{{z{zzzzzyzzzzz{{zz{zzyzyzzzzzzz{{zzzyzzzzyz{z{zz{|zzy{zzzyzzy{zz{{zzyzzzzyz{zzz{{z{zyzzzyyzzzzyz{{z{zzzyzyzz{zzz{{{{yxyxyyz{{{{{z{|zzyzzyzzzz{zzz{zzyzyyyzzyzy{|z{{zyzzzyzzzz{zzz{z{zyyyyzzz{zz{{{{zz{zzzzz{zzz{z{{zz{yzzyz{z{{z{{zyz{yzz{zz{{{{{zz{z{yzzzz{{{{z{{|zzyzyzz{{z{z{{{z{zzz{zzzz{|{{|{{z{{|{zz{{{{{{{{{{zyz{zzy{|{{{{|z{z{zz{z{{|{z{{{|{{{z{z{{||z{||{{|zz{zzzz{{{}||||zz|zz{z{|{{{{{{|{yzzz{{zz{{||z{|{{zz{{{{{{z{||{}z{|zz{zzz{{{{z|{{{zyz{{zz{z{{{|z{yzz{{{zzz{{{zz{zzzyyyzyzzzy{zzzz{{zzyyzzz{zzz{|zz{yzyyyy{{yzzz{{zz{zzyzz{{{yyz{z{zyzyyyzzz{z{{{zzzyzzzzzz{yzz{zzyyzyzyyzyz{yz{{zyyyzyzzzz{{yy{{zyyyyyzyz{zzzz{{zyzzyzyzzzz{z{z{zzyyyyxz{zz{{z{zy{zyyzzyyyzzyzzzzzzyzyzyzzyzz{zzzy{y{{yxzzz{{zzzyyzyzzyzyyzzzz{{{zyzzyzz{zzz{|{{{zzyyzzzz|yz{z{zzz{{zzzzzz{z{{yzzzz{{z{yz{{z{z{{{zzz{yzzz|{zz{|{{{yzzzz{z{{{{|{{z{zz{z{z}zzz{{{{{zz{zzzz|z|{{|z{{zyzzy{z||{z{z{{{{{z{{zz||{{{{{{}{z{zy{{{|{|||{z{y{zzzz{{{z{z{{|{zz{zzz{{zz|{|{|{{zzzzzz{{{z{{{{{zzyz{zzzz{z{|{{{{yzz{zzz{z}|{{{zyzzyzzzz{{{zzzz{zyyzzzyzzz{zzz{yzyyzyyz{zyzzz{{zzyyxzxxzzzy{zy{yzyzzyzyyzzzzzzz{zzzyyzxyz{zzzzzzyzyzyzyz{yzz{zyzyyyyzzyzzzzyzzzzzyyyyxzyzyzzzz{yyyyzyyyzyzzy{zzzzyyzyxzz{zzz{zzyyyyzyyyyz{zzz{{zyxyyzyyyzzzzz{zzzzzyyxyy{yxzzzzyzzyzzyyzyzyzy{zyzzyyzzyzzzzzzz{zzzzzyyy{zzzz{zzyy{y{yyyzzzzzz{z{{yz{yzyy{{{{z{z{zzzzzyyzzzz{z{{{zzzzzzz{{zzy{{|zyz{{zzzzz{{{z{{zzzzz{|y{zz{{{||{zzzzyzzz|{z{{z|{yzz{{zyzz{{zz{{|zz{zzzz{{{zz{|z{zz{y{z{{{{|{|{{zy{{zzz{|{{{{z{{{yz{yyz{z{{z{z{{{{zz{zy{z{z{{{{{y{{zzzzzz{{{zz{{{{{{zzzzzzz|{{{zy{{yzzyz{z{zz{zzyzzyyy{yyzz{{zy{zzyyzyyzyzzzzy{zzzzzzzyzy{zzzzzzzyzzyzyzzyy{{y{{zzzyyzzy{z{zzzzzyyyyzyzyy{yzy{zzyyyzyyyy{zzy{zzzyyyzyyyzyzy{yz{zyxzyzxzyzzzzz{zzzyyyzzxzz{zz{z{{zyzzzyzyzz{zzz{zzzyyyyyyzyzzyzzzyyzyzyzyzzzzzyzzyyzyzyyy{{yzyzz{{yzzxzzyz{z{zzz{zzzzzyzyzzz{z|{z{z{yyyzz{{zzzzzzzyzzzzyzz{{{{z{zyyz{zyyzzzzzzy{{zyyzzzzz{z{{z{{zzzzzzzzz{{{{z|{{zz{zzzz{{|{{{z{{zzz{{yyyzz{y{{{zzyzzzzzz{{z{{{|{zzyyzz{{{{zz{|z|{yy{z{zzz{z|z{{{{y{yzz{{||z{{{{{|zzzzz{zzz{z{{{{{zz{z{zzz|{{{{{{zzzz{yzz{{{{zzz{{{zzzzzyz{|{zz{zz{zx{yzzz|zzzyzzzyyyzyzzz{zyzzzyzyzyyyzzzzzzyz{|yyzzyzzyzyzzzzzzzzxyyyyzzzzzyz{zzyyzyyyxzz{z{{zzyyyzyzzyzzzzyzz{zzxyzyyy{{zyzzzyyyyyyzxyyzz{z{zzyzzyyyyzzzzyzz{{zyyyzyyzzz{zz{z{{zyyxyyzzz{{zzz{yyyyyyyzyyzzzzzzyzyxzzyyyyy{zz{zzz{yzzxzzzzy{zyzz{yyyyyy{zz{yy{{zxyyyy{zzzzzzzz{yzzzyzyz{{{z{z{z{zzzzzzz{zz{{{yz{zyzyzzzzzz{zz{{zyzyyyyz{zz{z{{{zy{{zzzyzz{{{z{|zzzzzz{zz{z{z{{{zyzz|zyy{{|{zz{{|yzzzz{zz{{y}z{{zzyyz{{z{zz{|{{|{zz{zzzzy{z{|{{z|z{{{{zz{{{zz|z{zzzy{zyzz{zz{{{{{z{zzzzzzz{z{{y{{zzzzyzy{z{{zzzzzzzzzzz{zzz|zzz{{yzzzyyzzz{yyz{{yzyzyzzyyzzy{zzzyzzzyyzzzzzzzzz{zzyzzyzyz{zzzz{zzzzzzyzzzz{zz{{zzyyyxyyzzzz{{zz{zzz{zzyyzz{y{{{{zxyyyzzzyzzzy{{zyxyyzyyyzy{{zz{{yyyzzzzyyzzzzzzzzyzzyzxyzzz{{z{{{yzzzzyxz{{{yzzzyyyyzyzzzz{zzzzzzyzzyyzyzzzzzzz{yyyy{yzyyyzz{{|{zzyzzzzz{zzzyz{{zy{zxzyz{zz{{{z{yyzzzzzz{{z{zz|{zyyzyyzzy{z{{{{zzz{zzzzzzz{{zz{{zzz{{yyz|{zz{|zzyz{zz{zz{y|{{{z|zz{zz{z{{{{{{{|{zzz{zzyz|{{{{z{{{{z{z{{z{|{{{|{{{{{zzz{z{{{z{{|{{zzzz{z{{|{|{{{}{yzz{{zzz{zz{{{{zy{{zzz{{{{{|||{{{z{{zz{z{{|z{{|{{{yzy{zzzz{z{{{zzzz{zzz{{{{z{|{zzyyyz{yz|{{zzzyy{yzyyzzzyzzzz{{zzz{zyyzzzzzz{z|zzyyyzyyzzzz{z|{zyyzyyyzzzz{yz|zzzyyyzyzzyz{{{z{{zyzy{zyz{yzzzzzzzzzyyzzzz{zyz{yzzzzyzyyzyyzzzz{zzyxyzyzz{{{zz{{yzzzyyzyzzzz{{zzyyyyyzyzzzyzyz|zzyy{yyzxy{yyz{zzzyzyzyyzzzzyzzzzzzzzzyzyy{zzz{{{zzzzzyyzyzzy{zz{zyyzzyzz{{zzz{zzyzzzzyzz|{{zz{{zzyzzzyzzz{{{{zzzzx{zyzzzz{{{{|zzyzzzzzz{z{{z{{{{zzzz{zzz|{{z{z{{z{zzz{{z{{z|{{{{zzz{yzzz{{z{{{{z{zz{zz{z|{{||{z{{zzy{{zzz|{{zz{{zzz{zyzzzz{{{z{{{zzzzzzz{{{{{{z{{yz{{z{z{{zz{{{{{zz{{zzz{||{{|z{z{yzzyz{{{{{z{{|{{z{zz{z{{{zzz{zzzzzyyyyzz{zy{zz{yzzyzyy{y{{zy{zzyzzzzyzz{z{zz{zzzzyz{yyyz{yz{zzzyzzyyzyyz{{yzz{zzzyyyyzzzz{z{z{{zyzyyzzy{yzzz{zzyzzyzzzy{z{zzzzyzyyyyzxzzzzzz{{zzyyyxzyyzzzzzzzzyzyzyxzzzzzzzzy{z{zyzyyzz{{zz{z{yyyyzzyyzzzyyyyzyzyyyzzxzzzz{{{zzyzzzyyzzzzz{yzzzyyzyzyz{zz{zz{z{zyzzyyzz{z{{{{zzyzy{zzzz{zz{{z{zyzzyzzzzzz{{y{{zzzzzzzz{z{y{z{{zzzzzzzzz{{z{z{zzzz{z{z{{{{z{zzzz{z{z{{z{{{{{{|zzyzzyzyz{|z{z{{zyz{zz{zz|{{{{|{zz{{zz{zzz{{z{{{{zz{z{{z{|{{{{z{{zz{zzz{z{{{{{{{zzzzzzz{z{{|{{|{{{zzz{zz{{{{z{{{zzzzzzzzz{z{{{{{{zzzyz{y{{z{z{z{{z{zzyzyzy{z{z{|{zzzyyyzyzzyy{{{zyyy{yyy{z{z{|{{zzyzyyzz{zzz{{{{zzzzzxyzzzzzzyzyzzzyyyzy{zy{z{zzzyyzzzzyz{yzzz{zzzyyzzzzzzz{zzzzzyyyzyyyyzz{zzyzyyyyyyzzzz{z{zyzzzyzxzzyzzzzzyz{yyzzyzzyz{zyzz{{zzzz{zzzzzzyyzyzzzzzyzyzy{{{zzzzzzyyyyzy{{zzyz{zyzzyzxzzz{{zzz{{{zzyzyzyzzyzz{z{yyzzyyyz{z{{{z{zzzzzzyzyz{{{{|zzzzzzzzyzz{{zzz{{zyyyyyzz{z{{zzzzzzzzz{{z{|||{{{{zzz{{y{z{{z{{{{{z{z{yz{zzzz|{{{{{{zzz{{z{|z{{{z|y{{{z{{zzz{{{{z{{{z{{{{zz|{{{z|{|y{{zzz{y{{{z{{{zzzz{yx{zz{zz{{|{zzz{zz{z{{{{{z{zz{zzzyyz{{zz{{{zz{{zzzyz{{{zz{{{z{z{zyy{zzzz{z{yyyzzyyxz{{z{zzzzyzyyyzzyzy{z{zzzzzyzyyyzyyz{zz{yyzyzyzy{zzzy{{{yyyzyzzyzz{yz{z{zzzyyxyyzzxzzzyzyyzy{zyyyyzzzzzyyzzxzxyz{zyzzyzzzzyyzyzyyy{zy{zyzy{zyyxzzzzy{{{|zyzyyzzy{yzzzz{{zzxyyyzyzzzzz{{zzyyzzyzyyzzzzzzzzyy{{zzyzyz|{z{zzzyyzzzzzz{zzzzzzyyzyyyy{zzzzzzzyyzzyyyz{z{y{yzzzyyzyzzzyz{{z{z{zzzzzzyzzz{z{zz{yzzzzzyy{{{y{{{{z{zz{zzzz{z{z{{{zzzzzz{zz{zz{{{{zy{zyzzzz{{zz{|z{zyy{zzz{||{{{{{z{zzz{{{{{{{{{{{{zzzz{yzzz|{{{{{{z{z{zz{z{z{{{{{{z{zzz{zz{z{zz||{{|z{zyzzz{{{{{|z{zzzy{z{{z|{|||yzyyy{yzzyz{z{{zzyz{zzyy{zzzyzzzzxyzzyzzy{zzzz{{zzxz{yyyzz{z{z{{{zzyzzyyzzzz{z{zzyyzzzyyzzzzzzz{zzzyxyzyzzzz{zz{zzzyyzzyy{y{z{{z{zzzzzyyyzzzz{zzyyzxyzyzzzzy{zzyzzyyyz{yzzzzyzzzyzyzyyyzyzz{{z{{z{zzyzzyzzz{{{{zzzzyzzzxzyzyyzy{yzyz{yyzy{zzz{z{{zyyz{yzyy{z{z{zyyyzzyzyz{{zz{{z{yyzzyz{z{{yzz{zzyzzzzyzz{zz{zzzzzz{yzzzyz{{z|z{zy{zz{zyzz{|{{{y{zz{{zyzz{{zzzz{zzyzyyz{z{{{{{z{yzzzz{{z{{{{{{z{{zz{zzzz|z{{{|{{{zzz{yzzz{{{{{|{zz{{{z{{|{{{{{{|{{zzz{zz{|{z{|{{{z{{zzzz{{{{{{{{{zzyz{y{{{{z{z||{{zzzzz{z|{{{{{{z{zyzzz{z{{{||z|zzyyyzzzz{|{{{{zzz|zyy{yz{{zzzyzzx{yyyzzzzzy{{y{yzyyyyyzz{z{zz{{yzzzyyyzzzzyzz{zyyzzzzy{zzzzzzzzzzyzxzyyyzzyz{zzz{zzxzzyyzzzyzzyzyyyyzxyzy{yzzzzzzzzyyyzzzyzz{zzyyyzyyyzzzzzzzz{zzyyxzyyyzz{zzzzyyyyzyzyzzz{{zzzyyzyxyyyyyzzzz{zyzzzyzzzy{zzy{z{zyyyzzzzyzz{zzzzzzzyzzzyz{z{zzy{zyzyyzyzzyzz{{{{zz{zyzzz{zz{zz|{zzzzyyyzyz{zzz{z{zzzyzyz{{{zz{{z{z{z{zzz{{{zz{z{{yzzz{zzy{{z{{{zzzzz{zz{z{{|{{{{zzzyzyzzz{{{z{|zzyz{zzzz{{{z|{|{zzzyzzzzz{{{{{{{|zzz{|zz||z{{}z||z{{zzzz{z{{z{{z{zzy{zz{{{{{{|{|zzyzyzyz|{{{|{z{z{zyzz{zz{zz{{{{{zzzzyzzz{z{zz|{zzyyzyxzz{{z{{{{yzyzzyyyyzzyyzzzzyyzzxzyyzzzzzyzzzyyyxyyzzzzzy{z|yzxyyzyyzyyzzzzzyzyyzzyzyzzzzzzzyyyzyyzzyzzyzzyzyyyzzyyzz{yy{zz{yyxxzzyzyyyy{z{yyzzxyyyy{zzzyzzzxzyzzzzz{zz{z{zyzzzyzzyzzzzzz{{zxyxyyzyyzzyzzzyzyyzyyzzyz{zzzz{yzzzzzyzzz{zy{z{zyyyyyzzzz{yz{zzyyyzyyzyyzzzy{{zzyyzzzyxzzyzzz{zyzzzzyyzz{{{{z{zyzzyzxyzzzzz{{{zyzzzzzyz{z{zzzz{zzyzzzz{z{{{{z{{z{{zzz{{zz{{{{{{zzzyz{yyz{{{|{z{zzzzzzyzz{{{{{{zzzzzy{{{z{z{|{{|zzzzzz{zz{zz{z{{{z{zzz{{{{{{{|{{zzzzzzyzz{z{zzz{{yyz{z{z{{{|{{|zzz{yzzzzz{zz{{z{zzz{zyzzz{zzzz{{yyzyzzzy{y{zzzzyyyzzz{yzzzz{{zz{zzyzyxzyzzzz{zz{{yyyyyyyyzzy{{zzzx{yzzz{yz{zyzzyzyzyzyyyzzzz{{zzxyzyzzyyy{yyzzz{yzzzyyyy{zz{{{zzyyzyyzxzzzy{{{yzyyyyyxyyzzzzzzzzyyzzzxyzyzzzz{zzzzzzyyyxzyzzyz|{zyzyzzzxzzzzzzyzzyyyzyyyyzyzy{z{zzyzxyyxyz{zy{zz{zyyzyyyzzzz{zz{zyzzyyyyy|yz{{z{yzyzzyzzzz{y{{z{zyyzzzzyzzzzyz{z{zzzzzzzyz|z{y{zzyyzzyy{z{{z{{{zz{yzzzzz{{z{||{{zyzyzyzz{{{{{{{{zyzzzzzzy{z{{{z{zyzy|y{z||{{{{||{{zzyyz{{|{{|{{{|zz{zzz{z|{{{z{|{zz{{z{z{zz{z{{{{zz{{z{z{{{z{{{{{y{{{zzyz|z{{z{{z{zyzzzzz{{zz{{{{{yz{z{zzz{{z{z{{zzz{zyyz{{{zzzzyzzzyyyzyzzyzzz{zyyzyxyyyzzz{zz{zyyyzy{yzyxy{z{zyzzyzzyyy{y{zzzzzxzyzxzzzz{zzz{{yzzy{yyyz{zzyz{yzyzzzyzyyy{yzzzzzzyyyzzyyyyzzz{zyyyyyxyyyz{zy{{{zzxyxyyyyyzzzz{zzzyyyyyyyyzyzzzzyzyyyyyyyzyzyzy{yzyyyzzxzzzyzz{zyzzzzyzyzzyz{zy|yyzyzyyyz{zzz|{{yzzyzy{zzz{z{z{{{zzzyxzyzz{{zzz{zzzz{yz{zz{z|{zzzyzzzyzy{{zzzz{{yzyzyyzyz{zzzz{zzz{z{zzyzz{{z{z{yzzyzz{z{zzz{|{|{zyzz{zyz{{{z{zz{zzz{yzz{z|{{{{{zz{zzz{{z{{z{y{z{zyzz{{zzz{{{{{{{yz{zz{z{{z{zzz{|zz{z{zzz{{zz{{{{zz{zyzzzz{z{zzz{{{yzyz{z{{{{z{zzzz{zzzz{{{{yz|zyz{zyyzyz{z{zzz{yy{yyzyy{zyzzzzzzyzy{zyyzzz{y{zz{yzyyzyyzyzyz{zzzyyzzzyzzzzzyzz{{xyyyyyzz{zzzzzzzzyyzzzyzzzzzzz{zzzyyxyyzz{yz{{zyyzyzzyyyzy{zzzzxyyy{xzyyzzz{z{{zyzyyyyyyz{zzz{zzyyzyzyzy{zzy{zzzzyz{zyyzz{zy{zzzzyzyyxzzzz{yzyzzzzzyzzyzz{z{z{zzyzy{yzyyzzzyzz{{zzzzyzz|yzz{z{{yzzyyzzyzz{y{zzzzzzzzzzzy{zzzzzxzyzyzy{yzz{zzz{{z{zz{zzz{zz{z{z{zyyyz{zz{{z{{{zzz{zzzzzzz{zz|z{{{yzzy{zzz{z{zz|{{z{zzzz{{{z{z{|zzyz{{{{zz{z{z{{{|x{z{{zzz{{z|{z{{{z{zzz{z{z{{|{|zzzzzzzz{{z{z{|z{yy{z{z{{{{{z|{{{zzzzzzy{{zyz{|{zzz{{yzzz{yz{z{z{zyzzyyyyz{zzyzzyxxyyyyyyz{zzz{{yyzzyyzy{yz{zzy{zzyzyzyzzzzzz{z{{y{yzyzzyz{{zzzzzzyyyyyyzyzzzz{zz{zyyyy{zzyzzzzzzyzyyzyy{zyzyzz{zxzzzzyyzzzzzzzzzzyzyxxyzyzy{{zzyxz{zzzyzzzz{{{zzz{zzzyyz{zzyzzzzyyyyyyzyzzzyyz{zzzyzzzyyzyz{z{zyyzzyyyyzzzzzz{{{zzyzyyxz{{zzzyzzyzzzyz{{zzzz{{|zy{yyzyyy|{zzz{{{{{zzyzzzzz{{{{zzyzzzzzz|y{{{z{zyzyzzzzz{{{zyzzz{zzyzzzz{zz{{{{{y{yy{zzz{{{{{{||{y{zzyzzzz{z{{{{|zz{zzzz|{{{{z{{zz{zzzz{z{zz{{{{{zzyy{zz{|z{{|{{z{{{zzzyz{{|{|{|{zzz{z{z{{{{|{{|{zyzzzz{z{z{y{{{z{z{z{zz{{{z{{{{{zzzzzzzz{zzz{z{zzzzyzyzzz{{zzzzzzyzyyyyz{zzzz{{zy{zyyyzzzzzz{{{zzyyy{yyzyz{zz{{{zzyyzyzzz{zzz{{yyzxyzzxzzyzzz{{zyyzzyzzz{{zz{{zzzzzzyzyzz{yzzzzzzyyyzyzzzyzz{{zyyyyyyyyyyyz{{{zzyyyyyzyyz{{{z{z|yzyzzyyyzzzz|zzzzxyzzyy{{{zy{{yzyzyyzyxzzyzy{y{zyzzy{yz{z{{z{zzzz{yzyyzy{z{z{{zzyzzzzzz{z{{{{{{zz{yyyzz{z{zz{|{zzzz{zzzz|zz{{{{zyzzzzyy{{{{z{zz{zyz{zzz{{zzzzz{zzz{zzzz{{|{z{{{z{{zzz{{{{{|z{{{{yzzzzyz|{{{{|zz{zzzzzzz{{{{{{|{zzzzz{z{z{z{{{{{{{zzzz{{{|{|{{||{{{{zz{{{{{{|{{z|yzyzzzz{|{|{{|{{zzzzzz|{{{|z{z{yzzyzy{yzz{z{{{{z{zzzzyz{z{{|z{{zzzyzzzzz{zzzz{yzz{xzyzyyzzyzz|zzzzyyxyyzyzyzz{zzzyzyyyzzzzzzzz{zz{yzyzyz{{zzz{zzzyyzyyyz{zz{yzz{zyyzzyxzzzyz{z{zyzyzyyxz{zyz{zzyzyyxzyyzyzzzzy{yzyzyzzyzzzzzzzyzyyyyyzzzzzy{zzyyzzzyyzyyzz{yyzzzzzyyy{yzyyyyzyzzyyzyzzzzzyzz{zzz{zzyzyzzz{z{z{zzzzyzyyzz{{zyzzzzzzzzyzzy{z{{z|zzzzzyyzzz{{zzz{z{xyzzzzzz{z{zz|zyzzzyzyyz{zyzz{z{zyzzzyz{{{|{{{{zzzzyyyzzz{{{y{zzzyz{z{z{{{{z{{{{yy{{{zzz{z{|{{z{zz{zzzz{|{{{{z{{{{{{z{|{{y{z{{|{zzzzzzz{||{{zz{zzy{zzzz{{{z{{{{zzzzzzzz{z{{{{{{{zy{zz{y|{zz{{{{zyzyzzzy{{{{zzz{{zzyzzyzz{y{{{zzzz{zzyzzz{zzzzzzzzxyyzzyyzyzyzzzyzyzzyzyzzzyzyzyzyzzzyzyyzzz{{{{zyzyyzyyzzzzzz{zzyzyyyyz{zzy{z{yyyxzyzzyzzzzyzyzyzzyzzyyy{zyyzzyzxzyzyxyzyyzzzzzyxyyyyyyzzzzyy{zzyyzyyzyyzzzzzzyyyyzyzyyzzzzzz{z{yyyzxyyy{yyzzzzyyzyzyyyyzzzz{yzzyyyyyzyyyzzzyzzzzzyzzyzzz{yz{zzzzzyzyzzyzy{{y{{yzzyyyyxzzz{z{{{zzzyzzzzzzzz{{{yyyyyyyyyzz{z{zzyzzzzzyzzzz{zzz{{yz{zzzyz{{z{z{{zzz{y{yzz{zz{{zzzzyzzzzzyy{zz{{{z{yz{yzy{{|{{{z{zz{yzz{{zz{z{{{{{{zzzzyzzz|z{{{{{zz{{{zz{z{z{{{{|zyzzzzzzzzz|{{z{{zz{{zzzz{zzzz|zz{zzzzyy{zzzz{{{{{zxyyyzy{zzz{|{yzzyzzyzzzyyz{zzzyyyyyyxyzzzyzz{yzyxzyyyyz{z{zy{zyzyyyyzzzz{y{yzzzzzyxyzzz{|yzzzzyyxxzzzyzzzzyzzzzzyyyzyyzzzzzzzzyzyzyxz{zzyzzzzyyyzzzzzyzz{z{z{yyzz{zyyyzzy{{zzyyyyzyxyzzzyzzzzyzyyxzxyzy{{z{zzzyzyyzyyzzy{z{zz{yzyxzzyyz{zzzzzyyyzzyyyz{{z{z{{zzzzyzzyzz{zz{z{zy{zzzzzz{y{{z{{yzzzyyzyyzzz{{z{{yzzzyzyzz{z{{{{zyz{zzyz{z{{{z{z{zyz{zy{{{zzzz{{{zzzzzzyz{{{{{{zyyzz{yzzz{z{zz{{zy{y{zzz{{{{{z{z{y{zzzzy{{{{z{|{z{zzzzz{z{{{{{{|{{z{{{{z{|{{{z{{zzzzzzz{{|{{z{{{zzzz{zzz{{{{|{{{{zzz{z{z{{{||{z{zzzzzzzy{{y|{{{{{zzzzzzy{zz{{z{{zy{zzzzzyz{y{{zzyyzyyzxyz{{zyzz{zyyyyyyyyzxz{zyzzzzzyzyyzyyzz{z{yyyyyzyyzzzzyz{zzzyzxyzyyzxzzzzzzyzzzzyxyzy{yzzyzyzzyyyyyzzyzzzzyyyzyyyzy{zzy{{yyzyyzyzyyzz{zzzzzyxyyzzzyyzzzzzzyxzzyzyyyzzzyzzzyzzyyyyyzzyz{zzzyzzyyyzyzzzzzz{zyzzyyz{yzzzz{z{yyzzyzyyzzyzz{{zzzyyzzz{zzzzzzzz{zzzyyxzyzzy{zz{{zzzzyyyyzy{z{{zyzz{zyzyzz{yzzz{{{yy{zzzzz{zzz{{{zzzzzzz{{{{{z{{zyz{zz{z{{{{{z{{{zzyyzzzyz{|{{{{{zzzzzzzy{{{z{{{{zyzzzzzzz{zz|{{|{zzzz{{{z{{{z{z||zzyyz{z{z{{zz{z{yzzz{{z{{z{{{{{{yzzzzz{z{{z{{{zz{zyzz{zzz{{{z|z{{zzyzzyz{{{{{|{zyzzzz{zyzzyzzyyyyzyzxyxyzzyyzzzzyxyyyy{zzyzz{zzyyzxyyyyzzzzzz{{yyzyyzzzzzyyzzzzzyzxxyyxzzzzzzzzzyyzyzzwzyzy{zzzzyzzzyzyzz{zzzzyyxyyyyyzzzzz{zyzyyyyzyyzyzzzzz{zzyyyyyzzzyzzzzzyyzyxyzyyy{zyz{{zzzzyzxzyzzzyz{zzzzyyzyzzzzyzyzxzyyyzzzzyzzzyzzz{zyyyyyxy{zzyz{zzzz{zyyzxzzzzy{zzzzzyyy{zzzzzz{zyzy{yyyzyz{{zz{{zyzzyyzyxzzz{zz{{{zyyzzzy{{zzzzzzzzzzzzzyzzzz{z{{zzyzzzzzz{z{{{{{z{zz{zyzz{{{z{zzzyyzzzyz{{{y{{{|zyz{z{zyzzyzz{z{{{zzzz{zz{{zz{{|{zzzzyzz{{|{{z{{zzzyzzz{{{{{zz|{zzyzz{zz{zz{{z|{{yyzyzyyz{{{z{{|zzyyyzzxz{z{{z{zy{zyyzzyzzz{{zzyzzxzyyyzzzzyz{z{yzyzywxyyzyzzzzzzyyyzyyyzzzz{|{zzyzzzyyyzz{zzy{{zyzyyzyyz{zzz{zzzyyyyzyxz{{zz{zzzzyyzyyyyy{zzyzzxyyyzyzzyzyzyzzzyyyzyyzzz{zzyy{zyyyzyyyyyzyzzz{{yzzxxyyyzz{{{y{zzzzyyyxzyzzzyz{z{yyyyyyyyzyzyzzzyyyyyzzxzyzzzzzzyzzzzyyzzzzzzzz{zyyxzy{zyzz{{z{{zyzyzzzy{zzzyzz{yzy{yyzy{{zzz{{yzzyyzyzy{yz{zz{{zzzzzyzzz{zzz{{{yz{zz{zyzz|{{{z{zzz{zzzzz{z{z{{zy{zzzzyyy{zz{{zz{zzz{{zz{{z{{{z|{zzzy{zzz|{zz{{z{yyyzzz{z{{{z|{{zyyzzzz{y{{{z|{{{zzyxyzz{{{z{{||{z{yzz{y|z{{{{{{{{{zzyzzzzz{{{{{zz{{zz{zzz{{{{yzzz{yzyzz{zzzzzzzyzyzyzxyyzzyzz{{zyzyzyyyzzzy{{z{{zzzyzzz{{z{{z{zzyyyyyyz{y{zzyz{zzyxyyyzyzz{y{zzyzzyzyzz{yzz{{{yyxzyxzyyzzzzzzzz{yzxzzzy{zyzzyzzxyyyzyyyyzzzyzzyyzyzyzyxyzzzzzzzzzyyxyzyzzzzzz{zyzyzyzxyzzy{yzyzyzzyzxyyyyzzzzz{xzzyyzyzz{z{y{z{zyzzzyzyzyzz{z{zyyyyyzzz{yzzzzzzzz{zyzyzz{zzzy{zzy{zy{zzy{yz{{zzzzzyyzzzzz{{zz{zzzzzyyz{z{zzzz{zyzzyz{z{{{z{zz{{z{yzzyzz{{y{zz{{zyz{{zzzzz|{{{{z{yzzzz{z{|{z|{|{zzzz{{{zzzzyz|{{{zzzyz{{z{|{{{{{{zzzzzyz{{{{{{{zzz{{zzzz{{{zz|{{zzzzzz{zzz|z{zz{z{zyzyyzz|{{{z{{{zyzyzzzy{zzzz{{z{zzzzzyzzzzzy{{yzzzyz{zzzzzzzzzyyyyzz{zzyzyz{{{zyyyzzzyzzzzzzz{zzyyzyyyzz{zzz{|zyyyyyzyzzz{z|zzzzzyzzxyzzzzz{{{yyyyyzyzzy{zz{z{yyyyyyyyyyzzzzzzyyxyzyzyzy{yzzzyzyyzyyyyzy{y|z{zyzyyyzyyyzzzzzzz{yyzyzxzyyzzyyy{yzzyyzzzzzzyz{{{zzyyzzyyz{{{{z{{zzyz{zzzz{{zzzz{zz{zzzzz{{z|zz{{xzyyzzzxz{{{{zzzzyz{zzzzz{z{{|z{yzzzzzyz{{{z{z{{zz{zzzyzz{{{z{{zzzzzz{zz{{{{{{|{zzzzyyzzz{{zz{{{{z{{z{yz{|{z{{{{{yzz{zzy{{{{{{{|{{zzzzzz{{{{{|z{zzz{zzz{z|{|||z}{yzz{yz{{{{{{{||zzzz{zy{{{{z{{|||{zzyzzzzz{z{{|{z{zzz{zzz{{{{{{{{zy{z{zz{{z|z{{{zzzz{yzzz{{{{{{zyzyyyyxyz{zyyyyyzyzyyyzy{zyy{z{zyzzyyzzzzzzz{zzzzxy{yyxyyz{zyzz{zzyyzyyy{zyzzzz{zyzyzyzyzzzyyzzzyzyyyyzyzzzzx{zyzyzyyyyzzyzzzzzzyyyyyyyzy{zzyz{zzyzzyyxyzzzzz{zzzz{yzyyy{z{{zy{zzyzzzzxyzz{{yy|zzyyyzzyyyzyyz{zzyyzyyyyzyz{zzz|{zyzyzyxyyz{{zz{{zzzyyyyzzzzzz{z{yzzzyzyzz{zyzz{z{zyzyyzyz{{z{{zy{{z{yzyyzz{z{z{zzzy{zzyzz{{zz|{zzzz{zzyyzz{zz{{|y{zzzz{zz{z{z{{{z{zyzzyy{{{{|{{{{yzz{{zzz{{||z{zz{{z{zzzz{z{{{|zzzzzzzzzz|{{||{{{{zzzz{z{{{{z|{{zzzz{zz{z{z{{{{{{zz{z{{{{{zz{{||yz{z{zzy{z{zzz{{zz{zyy{zz{z{{z{zzy{yzzzz{yz{{zz{xzxyyyyxzz{yzy{{yyyyyyyz{yz{z{{zzzyyzzzyzzzzzz{zzzyyyzzy{zzzyz{yzyxyyzyyzzz{zzyzyzyyyzzyzz{yyz{zyzzyzxyyyz{zzzzzyyzyzzxxzzyzy{y{zyyyyyyyy{zzzyzzyyyyyyyzyyzz{zz{zzyyyzyyyzy{zz{zyyyyyxzyzyzzzzzzyzyyyzzyzzyzzzzzyyyxy{yyzzzzzzzzzzyyzzzyyyzzzzz{y{{yzyzzzzzyz{{{zyzzy{yz{z{{yz{z{yzyyyzyzzz{{z{z{zzzzyzzz{zz{z{z{zzzzyyyzz{{yzzz{xzxzzy{zy{{{{zzz{zz{yzz{{{{zz{{zzyyzzxzz{{{zz{{yyyzzyyzz{{z{{{{{{zzyzz{z{z{{z{zzzzzzzzzz{|{{{{{{{zzzzzz{z|zz{{z{zzzzzzzzzzzz{{|{{zz{zzzzz{{{{{{zyyyzzz{zz{{{{yzzzzzzzyy{{{z|zzyyzzyyyzzz|zzzzzyzyxyyyyyzzz{y{zzyzyyzyyzzz{z{{z{{zyyzyyyyyzyxzzzzyyyzyzyzzzzzy{{zzzyyyzyzzzzyzzzzyyyyzzzyzzzzzzzxyyyyzyyzzzz{zzyyzzxyyzyyzyzz{y{yyyzyxxyy{zyzz{zxyzyyzyzy{{yzzzzzzyyyyzyyzy{zyzzyyzyyyzxy{zyzzz{zyyyzzxyyz{zzz{{yyzzzzzyyzzz{y{{{yyyyyzzzz{zzz{z{yzzzyzyzzzzz{{{zyz{yyzzzzzz{zzzyzzzyy{yz{{zz{zzzyzyyzzzyzzzz{{{zyzyy{zz{zyzzz{{zzzyzy{{{{z{{{zzz{{zyz{zz{zz{z{{{zyzy{zzy{{{{{{{{yz{zzzzz{z{zzz{zyz{zz{zzzz{{z{|{zzzzzzzz|{{{{{zzzyzzzzz{y{|zz{z{zyzzzzyz{{z{{{{{{yzy|z{zzzz{{{{{zzzzyzz{|zz{{z{{yzzzz{yzz{{zz|{zzzyzzzyzzy{zz{zzzzyzywyzzzzyzzzzxyyyyzzyzzzzzz{zyyyzyyyy{{zzzz{zyyzzyzzyzzzyzzyzzzyyyyxyyyzzzzzyyzyyyzyzzz{yzzzzyzyxyyzyzzzxzzxyzzxxzzz{yyzzzzzzzyzyzyy{yzzzzzzyyyzzzzzyzzzzzz{zxzyyyyyzzzzzy{zyyzyzyyyyzzyyzzzzyyxzyyyyzyzzzzzyyzyzyyy{zzy{{z{{zzzyyyyzz{z{{{{zz{zxxzzzzzyzz{zzzyyyzzzzz{yzz|zzyzyy{yyzz{z{zz{z{zyzzyz{z|{zz{{{zzzzyyz{{{zz{zz{zzzzzzz{zy{{{{zzzzyzzzzzzz|{z{|{yy{zzzz{{{{z{{zzzzyz{zz|{{{z||zzzz{zz{zz{{zz|{{{zz{{{zzz||{{{{|{z{{zzyzzz{{{{z{zzzzz{zzzzz{z{z{{{z{{zzzzzz{z{z|z{zy|{zzzzzz{{{{z{zzzz{zzy{{y{zzzzzzzyyzzzy{z{zzyzyzyyzyzzzzzzz{{yy{zxxyzz{{z{{zzzyyyyyy{yzy{zzzxzzzyzyxz{zzzzzzzyyyyyyyyy{zyz{zzzzyyyzyyzyzzz{zyzzxzyyy{z{zyzzzzyyyyyyyyzyyyy{{zyzzyyzyzyzyzzzz{zyyyyyzzzzzzyzzy{yzyzyyyzzzzzz{zyyyyyyyyzzzy{{{yzzyyyyyy{yzz{{zxz{xyzyzyzz{zz|{zzzyzyyy{zzzzyz{zzyz{yzzz{{yz{{{zzyyxyzzy{yzz{zzzyyyyzzyzz{{z{{{yy{zzyzyyz{z{{zzyyzzzzzz{{{{z{zz{zzzzzyz{zz{||z{zz{z{zyzz{{z{zz{zzzzzzyyz{z{z{{zzyyzzzzyzz|z{{{{zz{{yz{{{{{z{{{{{zz{z{y{{{|z{{z{zyzzzzz{z{{{{z{z|y{zzzzz{zz{z{{{|{zzzz{z{{z{|{|{{{zzyzzzz{{{{{{{{zzzzzyyzz{|{z{zyzzz{{zzzz{{{zzzyyzx{yxzzzyyzzz{zyzzyyzyzyzzz{zzzzyyzyzyyzzzzzzyzyyyyzyyyzzzyzyzz{zxyyyxyyzzz{y|zyyyxyyxy{zzy|{zzyyxzyxyzzzyyzzyzzyxyzzzyzyzzyz{yxxxxyzyyzzzzzzxzyyyyxyyzyzzz{zzyzzzyyyyzzyzyzzzzyzzyyyxyyzyzzzzzxyzzzyyy{zzz{zzzyzzzyyyzzzyzzzzyzyyzyzxyzzzzz{zzzyyzyzyzzzzzyzyzzzyzzzy{{{zz{|zzyyy{yz{{{z{zz{zyzyzyzyyzzz{zzzzzyyzyzzy{zzzz{{zzzzzzzzzyz{{z|{{zzyyyzzz{z{{z{{{zzzzyzyz{z{zz{{{zyzyzzzz{{|z{{{{z{{yz{zzzzzzz{{z{zyzzz{zz{{{{z{{{zz{zyzz{zz|{z{zzyzyz{zzzz{z{{|{{{z{{yzyz{z{{{{{z{zyzyz{z{|{{{|zzz{zzyzy{{z{{yzzzz{yyyzzyzzzzz{zyyzyzyyxzzzzzzz{zyzyyyyyzzzzzzzzzzyxyyyyzzyy{z{yzyzzyyyxzy{zyy{z{yzzyyyyz{yyzzzzzyzxyyyyzzzyyzzzzyxyyyyyzy{zyzz{yzyyzyyyzzzzzzzzzyyyyxyyzzzyyzzyyzyzyyzzzzzzzy{zyyyzxyyxz{{zzzzzzyyyyyyxxzzyy{yzzyzxyyxyzyyzy{zzyyyzyzyyyxzzzz{{zzyyzyyzz{zzzzz{yzzyzzyyzz{zyz{{yyzyyyzyz{{zz{z{zzzyzyzzz{zzyzzzzzzyy{zzz{{zzz{zzzyy{zyzzz{z{zzzzzzzyyzz{y{z{{{zyzy{zyzz{{z{{{{{zzzzzyzy{z{zz{zz|yzzy{zzz{{z{{{{zyzzzzzz{{{z|{z{{zyzyzzyz{z|z{|{{zz{zz{zzz{z{z{{{zzzyyzyzzyz|z||{{yyzzyzzzz{{{||yyzyyzyy{{{z{{{||yy{zyyzz{|z{zz{yz{yyyzy{{{zz{zyzzyzyyyyyz{zzzz{yzzzzyyyzyyzzzzzyzyyyzyzzzyzzzzzzzzzyxyzzzz{zzzzzzyzyyyzyzzzy{zzyyyyzyyzzzyzyzzzzzzyzzyyyyzzyzzzxzzyyyzzyyyzzzyzyzzzyyyyx{yzyzzzzyzyxzyzyyzzzyzyyyyyyyzxzzy{{z{zzyyyyxyyyyzzzyz{zzyyzyyzyzyzz{zzzzyxzyxzzzzzzz{zyyyyzyyzy{{zz{{zzxyyyyzy{zz{yy|zyzyzyzyzz{{zzzzzzz{zzy{yzzz{z{{zzzzzzyyy{{{{zz{z{zzzyzyyz{{|zyz{yyzzzzzyy{zz{{z{zzzzzyzz{zz{z{{{zzzzzy{z{{zz{{{{{zzzzzzy{{zz{{{{z{zzzzzzz{{{{{z{{zy{{zzz{||{zz{{zz{zzyyz{{z{z{{{z{zyzyzzz{{{{{{zzzz{{zzz{{z{{{{{zyzzzzzzzz{z{{{|{zzyzyyyyzyzz{{zyyzyyyzyz{zzzzzzzzyzzzzyz{{yzy{z{yyzzyzyzzzzy{{yz{zyyzzyzyy{y{z|zzyyxyzyy{{{z{{z|zzzzzyxzz{|zz{{yyyzzzzyzyzzz{zy{yyyzyyyzzy{yzzzzzyxyyyzyzyzzzz{zyyyzzyyzzyxzzzyzyzzyxyyzyzzzzzyzzzyyyzyyzzzz{z{yzzyzyzzzzz{zzzzyzyyyyzyzzzzzzzyzy{zyyyyz{z{{z{{zzzzzyyzzz{{zzz{yyzyzzzyzzz{{{{zy{zyzzzzz{|z{{z{zzyz{xzyzzzzzz{zzzzyzzzzzz{{{{{|zzy{{zyz{y{zz{z{zzzyzzzz{zz{{z{{zzzzzyzz{zz{{|z|{{{zzzzz{{|{{{{{{yzzzyzz||{{|{{{zz|{z{{{{|{{{{{||z{{{z{yz|{|z{|{yy{{zyzz{z{{{|z{|yyzzz|{zzzzz{{{{zz{{zz{zz{{{{{{{y{z{{z{z{{|{|{{z{zz{zzzz{z|zzz{zz{zzzyz{z{{{{zzzzyyyyyyzzyy{{{zyzxzyxyyzy{yz{zzzzzyzyyyz{zyzz{zzyzyyzyyy{zyzyyz{z{zzyzyzzzzy{{zzyyyyy{yyz{yz{zz{yyzzyzzzzzzyzzyzyyyzyyyyz{{y{{{zyzzyyyyzzyzzz{zzyzyyzyyyzyzyz{zzyyyyzyz{zzzz{zz{zyyyyyyzzz{yz{|yyzyxyzyyzyzz{y{zzyyzyyy{zzz{{{{zyzxzy{zzz{zz{{{zy{yyy{zzzz{zyzzyzzzzzyx{zz{z{{{z{{yyzzz{{z{y{zzzzzzyzyz{{{zz{z{{yzzzzyy{zyz{{z|{zyyzzzzzz|z{|{{zzzz{zzyyyz{z|{{zzyyyzyy{{{z{{{{{yzzzz{z{zzzzz{{{z{{z{{zzz{{zz{{zzzzzzzzz{zz{|{{{z{zzzzz|{{z|{{{{zz{{zzyzz{zz|{|{{y{zzzz{{{||{{{zz{zzzzz{{{{|{|z{zzzyyzzz{{{{{{zz{{zzzzzzzz{z{zzzzyyyzyxzzzyzzzzyyzyyyzzzzzzzz{{zyyyyyyyyyy{{z{{{zyxyyzyzyzzzy{zzzzxyyzzzzzzzzy{yyzyzyyyyzyyzzz{zyzyyyyyyz{zy{zzyyyyyyzyzzyyz{{{yyyyyxyxyzzyyyz{zzzzyzxzyz{yzyzyzxyzyyyyzyyz{{z{zyyy{yzyyzzyzyzzyzzyzyyzyzyyz{z{yyyxzzyyzzzzy{z{zzzyyyyyzz{{z{z{z{{yyzyyzz{zyzz{yzyzxzyy{zzz{y{{y{z{yyy{z{z{{zyzyzzyyy{zz{{zzzzzzzyzz{yzz{z{{{z{zzyz{zzzzz{|{zz{zzzzz{zzz{{{zzz|zzy{yzzzz{{{{{{zzzz{zzz{{|{{z{{{{{zzzz{zz{z|{|{{{y{{zzzzz|{{{z{{zyz{zyzz{|z{{{{{{zzzzzzz{zz{{z{|{zz{zzzz{{y{z{{{yz{zzzzz{{{{z{z{zzzzzzyzz|{{z{zzzzzyzyzyz{z{zyyzyzyyyxyyzz{zyzzzyyyzyyyyzzzzy{z{zzyyzzzyz{zz{zzy{zzyyyyyzzzzzz{zyzyyxyzx{zzzz{z{yyyyyyyyzzzzzzzzzyzyyyxxzz{yzzzyyzyyyyyzzyzzz{zzyyyyzyyyzyz{yz{zzyyyyyyyz{zzzzzzyyyyxyzyxzz{y{{zzyyyyyyzzyyzzz{zy{yxyyyyxzzzz{zzyyzyzyyxz{zyzzx|zzy{zyyxzzzz{{{{zzzyyyzzzzyyz{zzzz{yzzzzz{y{z{{zyzzzzyzyzz{{z{zzzyzzzzyz{z{{{z{zzyzyzzxy{z{{{yz{{zzzyyyzz{zz{zzzyzyzzz{z{zz|{||{zy{zyyyyzz{z{|{z{yzzzy{z{{{z{{{zzzzzzz{z{|{{{{{|{yzzy{z{{zzzzz{z{yzzzzyzz{{{z|{|{{zz{yzz{zz{z{{{zzyz{yzy{{zzz{{}{z{zzyzzy{{z{{{{zzyzzzzyy{z{z{{{zyyzzyzyzy{zyzzyyyyyzxyyyzzzyzyzzzyyyyyyyyzzzz{{{yzyyyzzzy{zzzz{yyyyyzzy{yzzzz{{z{yyyyyyyz{{yzz{zzyxyyyxyyzzx{{zyyyyzzyyyyzzzyzzyzzxyzxyyyzzz{z{yzyyyyyyzz{zyz{yzzzyxyxyzzzy{zzzyyzyxzyxzzyzz{y{zyyyyzzyyzzyzyz{zzyyyxyxxzzzzyzzyxyzyyyyzzzzzzzzyyyyzyzyz{zyzzz{zyzyzyzzzz{zz{y{zyzxyyzy{zz{{{zz{yzyzz{yy{z{{{z{yzzzzyyyz{{zz{{z{zyzzyyzz{zzyzzzzzzyzzyyzz{{{zzzyyz{{{{z{z{z{zz|zyz{zzzzz{{z{{{y{zyzyz{z{|{z{{{zzz{yzzyzyz{{z|{z{zzzyyz{|{{{{z||{{zzyzzzz{{{z|z{{zyzzzz{{zz{z{{zz{yz{zzzzzz{{{{{yz{zzzzzz{{{zzz{{yzzz{zxz{zyy{zzzz{yyxxyz{{zzzz{yyxyzyxyyzzzzyyzzzzzyxyxyyzzz{|zzyzyyyzzzy{{zzzzzzzzyyyyzzyzyzzzzyzyyzzz{zzyyyzyzxxyyyyxxzzzyz{yzzzzyzzyyyzzy{z{yzyzxyzyyzz{{zz{yzyzyyyz{zzzzyzzyxyyyyyzzy{zzzzyzyyzyyyxzzz{zz{zzyzyzyyyzzzyzzz{zzzzyzyyz{zzz{{zzyyzzzyyzzzzyz{{zzzzzyyzyzzzyzzz{zyyyyyyzz{zz{{{yyyzyz{zzz{yzz{zz{zyzyzyz{{{y{z{zyyyyzzy{{zzzz}{zzyzzyyzz{{{z{{zzzzyz{zz{{{{{{{{yzy{y{{z{|{zz{|{zzzzzzzzzz{zz{{{zxzy{zz{z{{{|{z{yzzzz{zz{{{{{{|{{y{yzzzz{|{zz{{zzz{zzz{zz{|{{{{{{zzzzyz{{{{{{{|{z{y{zz{zz|{{z{{{zzzzzyyzzz||z{{{|zxzzzzxz{{{zz{{z{yyxyzyzyzzzy{yxyzzyyyyzyzyzzzzyzzxyzxxzzyz{zzzyyyyyzzy{yzzzzzzyxxzzyyyzyzzzyzzzyzzxyzyyzzzzzz{zyzyzzyyzz{zy{zyyyyzyyyyzzyyzyyyzyyzyyxyyyyzyzz{xyxyyzzyyyzzzzxzyyyzyyyzy{zzzzzzzy{yxyyyz{zzzzzzyzyyyzyyzzyyy{yyyzxxyyyyyzzzyzzzyxyyzzyyyyzy{zzzyyzzzyyzz{yyz{{zyyzzyyyyyzzyzzyzzyyzzxyzzzz{{zz{zzzyyzyyzz{yy{zzzz{yyyyyzzzyyz{zzyyyyyzzzy{z{z{z{zyyzzzzyz{{{z{zzzzyzyzzzzz|{{z{zyzzyyzy{{{zz{{zzzyyzzzyzz{{|zzzzzzzz{zz{{zzyzz{{zzzyzzz{}{{{{{{{yz{zyyzzz{zyz{z{zzyzyz{z{zz{zz{zz{zzzz{z{{{{{{{zzzzzz{yz{yzz{z{zzzyzyzz{zzzy{{{zzzyyyzzzz|z{{z{yyyyyyzzyzzz{xz{zzyzyxyx{zzy{z{z{zyyyyyyzyyzz{z{{xyzxzyzzz{{zzyzyyzyxzzyyzzzy{zzyzzyyxzyyyyyyzzyzyxyzzzyzyzzz{zzyyzxyzyzzyz{zyzzzzxzyxzyyzzzy{zyyzyyxzyyy{yzzzyzyyzzyyyxzzzyzzzzzyyzyzyzyyzzyzzyyyxy{zyzyyzzyzzzyyzzzyyy{yyzzzzzzyyzyyzzzzzzzzz{zyzxzy{yzzyzzzz{yyzyyzyzzzzyzzzzzyzzyyzyz{zzzzzzzxzyzzyxzzzzzz{zyyzzzyyyzz{yzzz{zzyz{zyzz{zzzz{zzzyzzy{z{{z{{{{}yzz{zyzzz{z{{{z{zyzyzy{z{{{{zz{z{yzzyyz|z{{z{{{{zzyzzzzzzz{{z{|{zzzzyzzy{{{{{z{{{zyzy{yy{zyz|{z{{zyyzzz{{zz{{{z{zzzzz{zz{{{z{z{{{zyyzyyzzzz{zzz{zyzyyyyyyyz{{zzyzzzzzyyyzyzyzzzzzzxzzyyyyzzzy{{zzyyyzyyyzyzzyzzzyyzyxyyzy{yzy{y{zzyyxxyxyyzz{zy{zyyyyyzzzzzzz{{zzzzyzyxyzy{yz{yzyyyyyyyzyzyzz{z{xyyzxyxyzzzzzzyzzyzzyxxyyzzzzzyzzyzzyzzyyzyzyyzyyyzyyxzyyyzyyzyzzyyyyyyyyzzyz{yzyxzyyzyyyzzy{z{zzzyyyyzz{zzzyyz{zyyzzyz{zyzzyzzzzyyyxzyzzzzzzzzzz{yyyzzzy{{{zz{{zyyyzzzyz{{zz{zyyzzyyzyyz{zzzzzzzzyzzyyzz{{{z|z{z{zzyzzyz{z{{{{{yxzzzyyz{{z{{|z{zyzzzzzzz{{{{z{{zyzz{z{z{{zzz{{z{yzzz{zy{|{{z{{{zzzzzzzz{|z{z{{y{yyyzyz{{z{{{{{zzzzyzzzzz{zzzzz{{zyzzzyzzzzyy{{{{zzzzyzzzzy|z{{z{yzyzzyyzz{{y{zyzzzyyyyzzzzzzz{{yzzzy{zxzyzzzz{zzyyyyyyy{yzyz{zzzyyyzzyzzzzzzz{zyzyzxzyzyyz{zzy{yyyyxzyyzzz{z{{xzyyzyyyzyzyyz{zyzxzzzzyyz{yz{zzzzzyyzy{yy{zz{zz{zyzyyzxxzy{{zzyzzyzyyyyyyyyz{zz{zzyyzzyzyzzzyyzzxzyxyyyyz{{zy{z{zy{zyzxy{y{{zzzz{zyyyyzxzzz{{zy{zyzyyyzzzzyzz{{zyzzzzzyyz{yz{{zz{zyzzyzzz{{{z{zzz{zzzzzyzzz{zz{{zzyzzzzzz{{z{zz{zzyyzyzz{z{{zz|{zzzzzz{y{{z{{{|{{zzzzyyz{{z{{z{z{yzzzzzy{{z{{{|{zzzzzz{zz{{z{|{|zz{{zzzzzz{z{{{{{z{{zz{zzzz{z{{{{zyz{zzz{{{{{{{{{{zz{yzz{{zzz||{zyyzzzyzzzz{{{|z{{zyzz{zz{z{{zzyzxyyzz{zz{zzz|z{yyyzyzyyyy{zz{zzyyzyzyz{zzzzy{{{zyzyyyzyzzz{{z{zyz{yzyyzz{zzyzzzzyyyy{yxzyzzzzzzzzzyyyyzzzzzxzzy{yyzxyyyzzzzyz{{yyzzyzyzzyzzy{zzyyyzyxyyzyzyyz{{zzyzyzxyzzzzz{{yzzzyyyyy{zzz{zz{zyxzzyyyzzzzz{zzzzzyyyyyyzzzz{{zzyyyzzyzzzz{{zzzzyzyyyyz{{{zzzzzzzzzyyzzyzzz{{z{yzzyyyzz{zz{{zzzyzzxyyzyz{z{z{{zyyzyz{zzzzzzz{zzz{zyzzz{zz|zzz{zzzzzyz{yzy{z{z{zzyzzy{zz{{{{{|{{zzzzzzyz{{zz{zz{zyzzz{zz{{{{{{{{zy{yzzzzz{{z{{{{{zz{yzzzz{{{{{{{z{zzyzz{zz{{{|{zzyzzy{{{{{{{{{{{z{zz{zz{{{{z{{|{z{zz{z{z{{zz{{{{{yzzz{yyzz{{z{z|zyzyzyyyzzz{zzzzzz{zyzzxy{yzzzzzzyzyyyyzyz{z{{{zzyyzyzzyyyzy{z{{zxzyyyyyyy{zzzzzyzzyzzyxyzzzzzy{yzzyyyzyzzzzy{zzyzzyzyyzzyz{y{zzzyzyyxyzzzzzzzzzyyyxyzyyzz{zzzyzzzyzyxyyyyzzzzzzyyzxyyyzyzzyzzzzyyyyyyyyzzyyzzz{{zyzyyzyzzyzyzzzyyyzzyzyz{zzz{{{zzyyzxzzzzzzzzy{zz{yzyzyzzzzzzzzzzzyzzyyzz|zz{{{zzzzzyzzyzzzz{{zyz{yzyyzzzzzz{{zzzzzzzyzzzzz{z{zzzzzzzzz{z{{{{{zyz{zz{zzzzz{z|{{{zyzzyyzzz{z{zz{{{{zzz{z{{{{{z{{zzzz{zzzz{{|{zz{zzzzzzzz{|z{{|{{z{z{zy{{{{{z{{zz{zzzzzzzz{z{zz{{z{zzzyyzyzz{{{{{z{zzzzzyz{zzz{z{zzyzyzyzz{z|z{|zz{zzyzzyz{zzyzzzzyzyyyyyyzzzxy{zyyyyyyzyzyzyz{z{{yzxyyyyzyzzzz{zzyyyxyyyzzzyyyzzzyzyxyyzzzyzzz{zzyyyyyyxy{yzy{zzzyyyyyyy{zzyyyzzyyzxzzxyyzz{z{z{zyyxyyyyyzzzzzzzzyzyyyyz{z{zxzyzzyyxyyyyzzyzzz{zzzyzzyyyz{zzzz{yzyyyyyyzzy{yzzzzyyzzzzzyzzy{y{{{zyzzzyyzz{z{{zzzyzzzyzzzzzzzzzzzzyzyzyzzzzz{{zy{zzzzzzzyz{z{{{zzzyyyyzzyy{{zzy{{zzyyzzzyzzzyz{zzyzyzyyzz{y{{zzz{zyzyzzz{zzzzzz{zyyyzyzzyz{z{z{z{zzzzyyyzz{zz{|{{zzzzz{{z{{{z{z{zz{zyy{zzz{{z{z|{zzzzzyzyz{|z{|{{{zzzzyzyzz{zz{{{zzzzzz{z{|z{zz|zzyzzy{yzzy{|{{z{{zzyzzyzz{{yzz|{{yzxyyzzzzzzz{zzyxzyyyzxzy{zyyzzzyxzyyyy{zzzzzzyzyzyzyyyyyyzzyzzyzyyyyyyzzzzzzzzzzxyxxzyyzyyyzzzyyzxyzzyzyzzy{zzyyyzzyxyzzyyyzzyzyzyxyyxyyyzzyzzyyyyyyxyyzyzyzyzyyyyyzyyyyyzzzzyyyzzyxyyzyzy{y{zyyzyyzxxyz{yzyyzyzyxzyyxxzyzy{z{yyzyyyyxzy{zzz{{zzyyyyyzzy{zzz{zyz{xyyzyzzzyy{{zzyyyyyzzzy{yyzzyzyzyzyzyyz{zzzyz{zyyzyyyzzzz{zzzyyyyzzyzzzzyzz{zyzyzzzyyz{zz{z{{zzzzzzyzz{zzz{{z{{zzzzzyzz|z{{zzzyyzyyyy{{zzzzz{zz{zzzyzy{|{z{{{{zy|zzz{{{zz{y{zzzzyzyz{z{{{zzzz{z{zzyzz{{zzz{{{zzzz{{z{zzz{{{{{zzzzyzzzz{zz{z{|z{zzyzyyy|{zz{zz{zz{xyyzzzzzyzy{zzxyzwyxyzyyzyzzyyyyzyxxyz{zzz{zxzyyzyyyzzzyz{{{zzyyyyyyy{zyy{zzzyyyyyyy{zzyzzzzzy{zxyzzyzyzyzyzzzyyyxzyzyzzzzzzyzyyyyxyzzzzzy{zyzzyyxzyyzyyzz{zyyyyyzyyzyzyzzzyzyzyyyzxyyyzzyzzzzxyyyyyyzyxyyzyzxyyyyzxyzyxzzz{xxzxzyzyyyzzzy{{yyyyzzyy{z{zzzzz{yzzzyzzzyy{z{{zyzzyzzyzzzzzyzz{yzyyyyzxy{z{zz{zzzzyyyyz{yzzz{{zyzzy{yyzyzzz{{zz{yzzyzzzzz{z{zyzzzyzzzyzzzz{zz||z{z{zyyyz{zz|{{{{yyzzzzyz{{{z{{{zzzzy{zzzzzzz|yz{z{zz{zzz|{|zz{|{zzzyzz{{zz{zz{{zyzzzzxyyzzzyz{|zzzzzzyzz{{{{|zzzzyyzzzyz{z{z{{zzyyyyzzyzzzzyyzzzzzzzzxyyz{zyzyzyzzyyyzxzzz{zyzzyzyyzyyyyzzyzzzzyzzyzxyxyyyyzz|zzyzyzyyzyy{zyy{zxzyxxyyyyzyzz{zzzyyxyyyyyzzzyyzzzzyxyxxyzzzyzzyyyzzyyyyzyyzzzzzzyyxyxyzyyzyx{zz{zyyyxyyyzyyzzyzyzyzyzyzyzzyyy{zz{zyyyxyyzyzzzyzzzzzyyyyyyzzzz{zzzyyyyyyzzzzyzzzzzyxyyzzyzzzzzz{zzzzyyyyy{z{zzzzzyyzyyzyzzz{{yz{zzyzz{zyyz{yzzz{yzz{yyyzzzyzzyz{zzyzzzxzyzz{zzyzzyzzyzzzzyz{|z{zzzyyx{zzzyzzzz{{zzzzyzzzx{{{z{z|{zzyzyzyzzzz{{zz{zzyzz{{zyyzz{|zz{zzyyzzzz|z|{z{{{zz{yy{zyz|{zz{zzzyy{yy{zyzz{{{{{zzy{{zz{{{|zz{{zyzyzzzzzz{z{{{{{zzzzzzxy{zzz{{zzzzyzzzzyzz{yzyzzxyxzyyzyzyzyzzz{zxzzyyyzyzyzz{zzzyzzyzyyyyzy{zy{zyzyyzyzzzz{yzzyxyyxyyyzz{zyyyzyyzyyyyyxzyzzzyz{yyyyyzyyyzyyzz{yyyxzyyyyzyzyzzzzyyyzzyyzzy{yz{yyyyzzyxyyzzyyz{zzxzyxyzxzyzzzy{{yzyyyyyxyzzyzzyy{yyzyyyyy{yzzzzzzyyxyyzyzzzzzzzzyyzyyyyyzzzyyy{zzzzzzyyyyzzzzzy{yyzxyzyxyz{z{yyyyyzy{yyy{z{{z{zz{y{zzzzyzz{zzz{zzzyzzzy{{zzzy{{zzzzzzzzz{{{zzzz{yz{yyz{z{zzz|zzzzyzzzzy{{z{z{{zzzy{zyyzz{{{{z{|{yyz{yzz{zz{z{{{{{zzzzzz{z{{{z{zz{zyzyzyz{zzz{{{{yzzz{{zzzzz{{{z|{{zy{zyz|{{{zz{zzz{yzzzzz{zzz|zz{zzyyzzz{{y{z{{{{zyyzzzyy{zzzzzzyyyyyxyxzyz{zzz{zyzzyxzyyyzyz{z{zyzyyxyyzzyzzzyzzyyyyzyyzzyzzzzzyzxzyyzyzzzzzzzyzyzxyzyxyzyzy{zyzxzyyyyxzzzyz{yyyyyyyyzyzzyyzzyzyyzyyyxyzz{yyzyzyyyyyyyyyxzzyzzzyyzyyyyzzzzyyyzzxzxyxyxzyzyyzzzyzzyxzxyyyzyyzzzzyxzyyyzyzyzzyzzzzzyyzyyyzz{zz{z{zzyzyyzxzzzzzz{zzyzyzyyyzzyyzz{{{yzzyzyyyy{{zzyzyzzyyyyzzzzzzz{zzyyzzyyzz{zzzzzzzzzyzyzzzy{y{zzzyzyyyzzz{{z{{{{zzzyxyyzzzy{{z{{{zyyz{zyzz|{zz{{|{yxzzzz{z{z{{{{{{{y{zzy{z{{zzzz|zzzzzzzy{{zzz{{{{yyzzzy{zzyz{{{zzzyzzzzzz{{{{|zzzzzyyzyzzzz{{{{zzyzyzzzyz{zz{zz{zyzzzzyzyz{yzzz{zzzxzxyyzyzzzzz{zyyyyyxyyzzyzz{yzzyyyzzz{zyz{zzzyzyyzzxyyz{{zzyzyzyxyyyxyy{zzzy{yyyyyyzxyyzyyz{y{yyyz{yyyz{yyzzzyyyyyxyxyyzyyz{yxyxxxyyyzzzyzzy{zzyyyyyyyzzzzzyyxyzyyxyyyyzzyz{{yyzyyyyyyyyyzzyxxyyyzyyyyyzyzzzzyyyyyzyyzzzx{{zzyyyyyyxyyzzyzz{zyyzyyyzzzzzzzy{{yyyyyzyzzzzzy{{{zzzzzyyyzzzzz{{zzzyzyyzy{yyyzzzy{zyzzzzzz{zzzzyzyzyyzyzzyz{|{z|zyzzzyzyzz{{{z{{{{yzzyzzzzzz{{z{{{yyzzzzz{{{{z{{{{zyzyz{zz{z{z{z{{y{zyz{zz{{{{z{{yzzz{z{{zyz{z{{z{yzzzzyzyyzy{{|{{{zzzzzzzz{{{zz{zzzzzyyzzzzy{|z{zyxzzyzzzz{zzz{zyzyyyyzyzzzzzzzzzzxzyyyyzz{zzz{zzzyyzyzyzyzzzz{{zzzyzyyyyzzzzzzzzzyyyzyyzzz{zzzzyyyyyyzxyzyzzzz{zzyzyzyyyzzyzzzyzzzzyxyyyyzzzz{z{zzyyzyzyzzyzzyzyyyyxyxyyzzzyzzzzyyyxzyzzyzz{{zzzyzyyyyyzzzyzz{zzyyzzyxxyzzxzzzzyyzyyyyyyyzyz{zzzzyzz{yyz{zyz{z{zzy{zyyzz{yzzz{zzyyyyzzy{zz{{zzzzzzzyzyyzzz{z{{zzzzzyyzzz{zz|{zzzy{zyzzzzzzzzz{zzzz{yyy{z{{{z{zzzzyyzzyzz{z{{{z{zyzyyzzz{{{z{zz{yyzzzzyyz{{z{z{z{zzz{yzzz|z{z{{zzyz{zzzz{{zz{{z{{zyz{zzz{|{{z{z{{z{y{zy{zzz{{{{zzz{z{zyzzzzz{|{{{zzz{zzzz{z{|{|{zz{y{zzzy|{{{|{|zy{zyyzyz{{zz{zzzyzzzzyzzz{{{zyzyzyyyzyxyzzzyy{{zzxzyyzzyz{zz{{zzzyyyzyyzzzz{zz{yzyyyzyzzzz{yz{{yz{zyyzzyzz{z{z{zyzyyzyyyyzzzz{zzzzzyzyyzzzyyz{zzxzzyyyyyzyzzyzzyyyzzxyzyzzz{{z{yyyyzyyyyzzz{yzzyzzzzyyzzzyyz{zzzzyyzyzyzy{{zz{{zzyyzyzxyzyyzzz{zyz{zzzyzzz{zz{zzzzyyzyzzz{zy{zzzyyzzyzyzz{zzzzzzyzzyzzzzzz{{z{zzzzz{xzxzzzyzzzzzz{{zzzz{{{{{{{zzzzz{yyyzzz{z|zzzzzzyzzzzz{{z{yzzz{zyzzzzz{{z|{|{zzzzyz{{zz{y{{|{{xy{zz{{{z{{{|{zzzzyzzz{{{zz{|{|zzz{{zzz||{{{{{zy{zz{zz{|{{z|{{{yzyzz{{{{z{{{{{{zzz|{z{z{{{{{{{y{zyzzzz{{{{z{|{{z{zzzzzz{z{{{{zzzzyyyzz{{{z{z{zzyzyzyyyy{zzyzzzzzzzyyzyzz{zzz{{{zyyxyyzzyyzzy{{zzzyyyxzzyzz{zzz{zyyyzzyzzzyzzyzzyzyyyyyyzzzz{zzzzz{zyxyyyzzzz{yzyyzxzyzzzzz{{zzyxyyxyxyzzzyzzzyzyyyyyyyzzzz{zzzzyzyyyyzzz{|z{yzzyyzzyzy{zz{zzz{yxzyxyzyzzzzz{yzzyyyzyzyzzzzyz{{zyzyxyzzzz{zz{zzzzzyzyzyzzyyzy{zyyyzzyyzz{z{yyzzzyzyzzzyzzz{zz{zzyzy{zzzzz{{{zz{zzz{yzzz{zzzz{zz{y{{zyyzz{z{z|z{zzzyzzzzz{z{z{|zzzzzyzzzz{{{{{{zzzyy{{zz{{{{{{{{zzz{zz|{{{z{z{z|{zyzzyzzz||z{{{{zyzzyz{y{{z{z|{z{{zzyzyzzz{{{{{{{zz{{zzz{z{{{|{{zzzzzzzz{{{z{{{|{{zyzxzyz{yzz{z{zyzyzzyy{zzz{yyzyyyyxxyyyzzyzyzzzyyzyyyyzxyzzzyy{yzyyyyyzzz{{{zzzyyyxxyxyzyzzzz{zyyxyxyxzzzyyzy{yyxxyyzyyyzyzyzyzxyyxyyyyzzyyyzzyxzzwyyyyyzyyzzzyzxyyyyyzyzzy{zyyxyyxyyxyzz{zyz{yzzyxyyzyyzzyzzzzyyyzyxyyzyyyzzyyyyyyyzyzyyzzzzzyyzxzyxyz{zzzz{{zzyyyyyyy{yzzzzzzyzyyzzzzzzzyzzzyyzyzzyzzz{zzzzzzzyyyyzyzzzzzzyz{yzyzzzxzz{zzz{y{zzyzyyz{zzzzzyzzyzyyzzyzzy{z|{{zyz{zzzzy{yzzzz{zyyzyyzy{zzz{{|zyzzzzz{y{{y{{{{zzzyyyzzzzzzz{{|{{zy{zyzzz|y{zz{|zyzzzzzz{z{{{zzzzz{yyzzz{{{zy{{{zz{zzzzz{z{{{zz{{zyxzyzy{zzzzz{zzzzzzzyzyzzy{{zzzzyxzyzyz{zzyzyzyyzxzzyyzy{{zyz{yzyyyxyyzy{zzz{zzyyxyyyzzyz{{{zzzyzzzyyyyzz{y{z{yzyzyyzzyzzzzzyyyzyyzyzyz|zy{z|zxzyyyyyzzyzyzzzzzzyyzxzyzzyzyzz{yzyzyyyzyzz{zyzyyyyyyyyzzz{zyz{zzzyyyyyyzyyzzy{yzyxyyyzxyzyyyzzyzz{xyyyyyzyzz|y{zyzyyyyyzyzyzzzyyyzzyyyxzz{z{zz{zyzyzyyzzzzz{{{{yzzyyzyyz{{zyzzz{yzyzxzzzzz{{{zzyyzzzyyzzz{zzz{zz{yyyyyzy{z{yyzzz{yzzyyzyz{|z{zzzzzyyz{zz{yz{zz{yyzzzyzz{{{zy{{zzxzzzzzyz{{{z{{z{zyzyzzzzzzzzzz{{z{zzzzzzz{{z{|{zzzzzzzz{{{zzzz{{zzzzyzzz{zzz{{|zyyzzzzy{zzz{z{|zzzzzz{z{{z{z{{{zzzzzzzzzzyzzzzzzyzxzzyz{z{y{z{zxyyyyyzxyz{yzzzzyzzyyyyyzzzzzzzz{yyyyyzxzz{zyzz{yyyyyyyyyzz{yyz{zyyyyyyyyz{yyzz{xyzyyyzyy{zzzzzyyxzyyxzyzzyzyzzyzyzyyzyzzyzzy{zzzzxyzxzzyyzzzzzyzyyzzyxyyzyzzyyyyyyzyyxyzy{yzz{zyzyzyxzxyyyxzzyzzzyyyyyxzzyyzz{{yzyyyyyyzzyzzyzyzyyyzyyyy{zzz{z{zzyxyyzzzzzz{zzzzzyzyyzzyz{yz{z{zyzxyyzyz{z{zzzyzzzzzzzyzz{zz{{yzz{zzyyzzzzzzzzz{zyzzyxyyzz{{{{zyyyzyzzzzzz{zzz|yyzy{zzy{zz{{{{{zyzyzy{zyzzzz{{zzz{y{zz{z{zzzz{|{y{zyyzyy{{{z{|{zzz{yzyz{z{|{z{{zzz{zzzyzz{z{z{{z{zzzzzzz{{{z{z{{zyyzzzyzzy{zz{{{zyz{yyyyzyyzz{z{zyyyyyyzyzzzzz{zyyyyyyyyzyzzy{zzzyxxyyyzy{zzzzzzyyxyyzyzzzzz{{zyzyzyyyzzyz{yy{{zyyyyzyxyzyzz{{zzyzyyzzzyzzyyzzzzzyyzyyyy{zyz{zyyxzyxxzyyyzzyyz{zyyzyyyzyzyzy{zzyyzyzyyyzyxzzzyy{zyyxyyyzy|yy{zzyzyyyxzyyzzyyzzzxyxyyyzyyzyzzzzyyzzyzyzyzzyzzz{zzyyyyyyzyzzyzzzzzy{yyyyyzz{zx{zzyzzxyyzzzzz{zyyzzzzz{yzzzzz{{zzzzyzzzxyzz{{z{z{yzzyzyzzyyzzyzz{zyzzyzzyzzzzzz|{{{yyyyy{z{zz|{zy|zzz{zzzzzzzzzzz|{yzyzzzz{{zz{{{zz{z{z{zzy{y{{{{z{{{zzzzyz{z{z{{{zxzzzz{z{{{z{|{y{zzzzzzz{z{|{{{{zzz{z{{zzzz|z{z{zyzy{{yzy{{{zz|zzzzzyzzyyz{{{z{zzyzyzyzyzzzzzzyzyyyyxzxxyzzyyyyzzxyyyyzyxyzzz{z{yzyxyyyzzzzzzzzzyyzyyzyxy{yzzzz{yyyyyxyyzyzzzyyzyyzyxxyyxzzzzzzzyyzyyzyyzyzzyzzzyyyxyyxyzzzzyyzzyyyyzxyxzyzzyyzzyyyxxxyzyzzzzyyzyzzyyyyyyyzzyy{yyxzzxyxyzyyyyzzyyyyyyyyyyyyzzzzzyzzzzyyyyzyzzz{{yzzyzyyxyyyzzyzyzyzzzxyzzzyzzzz{yyyyxzyyzzzzz{zzyyzyzyzyzzz{{z{yzzyyyyyyyzzzyzzyzzzyyyyyzzzzyz{zzzyy{yyz{z{{z|{zzzyyyy{y{z{{zz{zyyz{zxyz{{{{z{{{zyzz{zzyz{{{z{zzzzzzzy{zz{z{{{zzzyzyzzyyy{z{z{{{zzzzzzyzzz{zzz{{zzyzzzyzz{y{z{{zzyyzzzzzyz{{{zzzzzzyzzyyzzzz{{{zzyzyzzyzz{{zzz{zyyyyzxyxyz{zzzzzzyxzzyyyzzzyzzzzzyzzyzyyyy{zz{{zzzyyxzzyzyyzzzzz{yxzyy{zyzzzzzzzyyyxyyzxzzzyzzzzzzzyyyxyyzyzz{{{yyyzyyyyz{zyzz{zyyyyyyyyyzzyyyzzyyzxyy{yyzzzzz{zzyyyyyyyy{zyzz{{yzyyyyyy{yy{{zzyyzzyzyyyyzzyxzzzzzy{yxzyyz{yyzzzyzxyzyyyzzzyzyzzyzzyzyzy{zzz{zz{zxzzyyzz{yzzzzzyzyyzyyyyzzzz{zz{y{zzxyyzz{{{z{z{yyyzyzzyyz{z{z{zyzyzzyzy{zzzzzzzzyzxy{yzzz{{z{{zzyzz{zz{{zyz{{zzz{zz{yzz{{{z{y{z{yzzzz{z{{{z{z{{zz{yz{{zz{{z{{{{|zzzyzz{y{z{{{{{{yz{{yzz{{z{z{{{zyz{{zy{{z{{zz{|{zzzzyyz{{z{z{z{zyzyzyyzy{zzz{zzzyz{yzzyyzzzz{zzyzzyzyzyzzz{zzzzyxyyzxyxyzzzzy{zyzyyyyyyyzzz{zzz{xxyyyyy{yzyzyz{zyzyzyyy{yzzzzyzzyzyyzxyzzyyzzz{yzyyzyyxzzyyzz{y{yyyyxyyzzzyzzzyzyxxxyyzzyzzzz{zzxyyyzyyzyyzzzzzzzzzzyyyyzzyzyzzzyyyxyxzyyz{yzzzyyyzxxyxyzzzzz{zzzxzzzzyyyyzz{{{y{yyzyxyzzzyz{{zy{zzzzyzzzzyyzzzyxzzyyzy{zzz{yz{yyzyyyyzzz{zz{{zzzzzzyyzy{zz{zz{{zzyzyxzz{z{z{zzxyyzyyxzzzzzzzz{zzyzzzzyzzz{{{{{zz{zzyzz{{z|y{zzyzz{yyyyz{{{zzz{zz{zzzz{z|{z{{zzzyzzyz{z|z{z{|{z{yzzzzz{z|{{z{|{zyzzzzzzz|{zz{z|{zzzz{zyzy{{{{{|{zzzzzzz{z{{{zz{{zyzyyzz{zz{zzz{zzzz{zyyz|z{z{{zyzzyzz{zzzzzzzzzzyyyyyxyyzz{yzyzyyyyyyyzyz{yzz{zzyyyyyxyzyyzz{{zzyyyzzzzyzz{yyzzzzyxyyyx{zzzzyzzyyyxyyzyyy{zzzzzyyzyzyyyzz{yyyzz{yzxyzyyzyzzyzy{yyzyzyzxyyzzzyzyyyzyyyyxzzzyyzz{zyzzyzzwyzzz{yz{zyzzzzxyyyzzzzyzyzyxyyzyzzy{zz{zyyzy{yyxzz{{zyzzyyzzyzyyz{{z{zz{zyzyyyzy{zyzzzzzzzyzzyyzzzyzz{{zzzzzzyzyz{{y{{z{yzz{yyyyzz{zyzzz{xyzzzyzzz{zzz{{zyzzzzyzzzz{{z{{yzyzzzyz{|{{zz{{zyz{zz{zy{zzzz{z{zy{y{zy{{{{{z{{zz{zx|zzz{zz{{{{yyz{zzzzz|{{{{z|{z|zzzzz{{zzz{{zzzzyzzzz{zy{{z|{{zzz{zzzzzzz{{z{z{zzzzzzyz{zz{{{zzzzzzzzzz{zzzzzzyzyzyyyyzzzzzzzzzyyyzyxy{zzzz{zzyyyyyxyyzzzzzzzzyzzzzzz{zz{zz{zzzzyzyyyy{zzy{{y{zzyyyyyzzzzzzzzyyzyzzzyz{zzyz{z{zyyzyzzzzzzz{z{yyyyzyyyyzxzyzz{yyyzyzyyz{zzz{{zzzyzzzyzyz{yz{zyyzzyyzyyyz{zyz{zzyyzzyzyzzyzz{zz{zyyyyyzzzy{zyy{z{zyzzxyyzzzzz{{zzzzzyxzzzzzz{{{zz{z{yy{yzyy{zzz{yzyzzzy{{{zz{{{zyzy{yzzz{zzz{zzzyzzzyzzz{z{zz|{zyz{xz{yzzzzzz{{yzzzzzzzz{zz{|{{zz{yzy{z{zz{zy{{{zzz{yyzz{{{z{{z{y|{{zzz{{{{z{{||zzzzzzzz{{{{{{{{zzzz{zzz{|{z|{{zy{zyzzz{{{zz{|{{z{yyzzzzz{zz{|{{{z{z{zyz|z{{{{{{zzzzzzzzzz{{{|{z{yyzz{zz{{y{z{{zzzzzyzyzz{zzzzzyzxxyzyxzzzzzzz|zzyyyyyyyyzxyzzzzyzzyzyzyyzzz{{{zyyzyyyzzyzzzy{zz{yxyzyyyzzzzzz{zxxyyyyyyzyzzzz{zyyyyyxxzyzyxzzzxyyyxzyzzyyyzyz{yyyyyxyyzzyzzz{yyzyyxyyyzyzy|zyzyyyyyzyyxzzyzzyyyyxzzxyzxyyzzzyzyzyyzyxyyzzzyzzyyzyxyzyyz{zzzy{zzyzyzxyyzzzyzzz{zyyzyyyzzyzzz{zzyzzyzxzzzyyzzzz{zyzwyyyyyz{zyzzyzy{yyzyyyzzzzz{zzyzzyyyzzy{zz{{z{zyyzyzy{z{z{zz{zzzyyyzzz{z{z{{{zzzzyyyyz{{zz|{{{zzyzyzy{{zz{{{{zzzyzzyz{zz{{{z|{zzyyzz{z{{{{{{|{z{zzyzz{{{{zzzz{zzyzzyzzzz{{{{{{yzyzzzzz{zz{{|zzzzzzzyyzzzzy{|zzzyyzyyyz{z{{{z{zxyyzyyyz{{z{zyzyzyxzyyxyyzyy{{zyzzyzxyyyzzzz{z{zyyxy{yyzzyzzyzzyyzzyyzyzzzzzzz{{zzyyxyyyyzz{zyzyyyyyyzwzzzyyzzzyzzyzyyyyzzzzyyzzyyzyxxzyzzzyyzzzyyxyyyyzz|yzzzzzyyzyyxzyz{yz{zzzyzyxyyyzzzzyyy{zzyyyzyyxyzzzzzzzyzxyxyyyzyzyz{zyzyzyyxxzy{{{zzzyyyyzyyy{{yz{zz{yyyyzyzzzzzyzzzzyyzyzxzyzzzzz{zz{zzzyzyyyz{z{zzz{yyyzyyzzz{zyzz{zyyyzyyyy{{zyy{zzzyyzzyzz{zz{{{{zzzyzy{zzz{{|{z{{z{zzzzy{z|{zz{z{zzzzzyyzz{z{{z{{zyyyzzz{zzzz{}{zzzyz{zzz{{{{{{{zzzzzzzy{z{{zzy{|zzzzzzzzyzz{{{|{yzyzyz{{zzzz{|z{{zyz{zz{{{zz{{{zyzzzyyyy{y{{{|zyzzyzyyy{yz{{zyzzyxxyyyyyz{zyzyzy{yyyzyyyzzzzzzzzzxyyxyxzyzyyzzz{yyyyyyxyzzzyy{{yz{zyxxyzzzzyzyzyyzyxyxxzyxyyzz{zyyyyyyyzzzzzzzzzzzxyyyxyzzzzyzyyyxxyzzyyyzyzzzyyxyyyyyxz{zyz{zzyyzxyyyyzzyzyx{zzyyyxyzxyzzzzzzzyyzyyyyyxzyzyzz|yyyyyyzxyyyyzzzzyzyxyyzzyzyyzz{zzyzzzyyyzzzzz{zzzyzyyyyyzzyz{z{zzyzzyyyyy|zz{zy{yyzyzzyyzz{zzzzz{yzzzyyyyzzyyyzzzyzzzzyzzz{z{{{z{zzzyzyzzzz{{{{zyzyyyz{yy{zz{{z{{zyyzyyz{{{{{{zzyz{zyzzyz{zzz|z{{zzyyzzzy{{{{{{zz{zzyzyz{|zzzzz{zyyzyzzy{zzz|{|{z{{{zyzzz{zz{{{{z{zzzzzzz{{zz{z{{zzzy{zyyzz{yzzzzyzzyyyzzz{zzzyzzzyyyyyzyzzzzzzyzyyxyyyyzyzy{zzyz{yyyzyyzyz{{zz{zzyyzxyyyzzyzzyzzyzyxyxzzzzyzyyzxyxyyyyyyzyyxzyzzyxyyyxy{yzzyzyyyyxyyyxyyyyyyzzzxyzyyyxyzzzzyzzxxzyxyyxyyzzyyyyzzzyzxyxyyyzzyzz{yzyxxxyyyzyyy{zyzyzyyyyzyzxzzyzzxzzyyzyyzyzzzz{zzxyyzxxxyyyzyzz{yzyyyxyyzyzzzz{zyyzyyyyyzzzyyzzzzyzyyzyyz{yzz{y{yzyyyyzy{zzzzz{zzyzzyzzyz{{yy{zzyzzzzzz{zzz{z{{zzzyzzzzzzzz{zzz|yzzzzxyz{y{zzz{zzxzyzzzyyz|{{z|{zyzz{zzzz{zz{{zz{zyzyzz{z{{|{zzzzyz{zxzy{zz{{{zzzzzzzzzzzzz{z{{{zzzzzy{yzzzzzzz{zz{zzyzyzz{z{z{zzyyzzzyyzzzzzy{{zzzyyyyzzzzz{zzyyyxyzyyyzzzzyzz{zyyyyyyyzz{yyzzzyyzyyxzzzzz{zz{zyzyyyyyyyyzzzx{{yyzyzxyz{zyzzzzzyxyxzyyyyz{zyz{yyyzyyyzzzzzzy{zyy{zyyzyyzyyzyz{{yyyxzxzyzyzyzzzzyyyyyzyyyzzyzy{yzyxyzyyzzzyzzyzzyyzyyyyyxzzyyzyzyyyyyxyzyyyyy|zzzyzzxzyyzzzzzzyzzyyyzzyyzzyzzzy{zyzyzzzyzzzzyz{{zyzzzyyyyz{yyzzzzzzxyxyyy{z{z{z{yzzzyzzyzzzzzzzzzzyyzyyyzzzzz{z{zzyzzy{zzyz{z{z{yyyzzzzyzzz{{y{{zzzyzzyzz||{zz{{{zyzzyyz{{{z{{}zyzzzz{zz{{z{{{z{{zzzy|{yz{z{z{z|zz{zyzyy{{zzz{z{zyzyzyzzzz{z{{{{|yyyzzz{zzz{z{z{zzzxzzyzzzz{z{{zz{yzzyyyyz{z{zy{yyyyyyzzzzzzzzzzyyzyyzyz{zzzz{z{yyyxzzxyz{{z{y{zzzyyyy{z{zzzz{{{yyzyyyxz{y{zyzzzzyyyxyzyyzzzz{z{yyyxyyyyy{zyzy{zyyzyzxyyyzzzz{yyyyyzyyzyyzzzzzz{yyzxyxyyzzzzyy{{zyyxyyyyyyyzzzzyzyyyyyyyzzzzzzz{zyyyyyyzyzyzzzzzzyyyyzyyyzzyzzzyzyzyyyyxzyzzzzz{z{yxzzzyzzzzz{zzz{zyyyzzzzz{z{zzzzzyyzzxyzzzzzzzzzz{zyyyy{zy{{zz{zzyzyyyyz{zzy{z{yyzzzzzzzz{z{z{zzzzzzz{zzz{{zzzzzzzz{zyzyzzzzz{zzzyyzzyzzzz{z{{zyzzzzzz{{{z{{z{zz{yz{zz{{{{{zzz{yzzyz{yz{z{{|{{zy{zzzzy{{{{zz{{zz{yy{z}zz{{{{zzzzy{{z{{{{{{z{|{zzzy{zzzz|{zz{zzzyzz{yyzzzz{zz{zyy{xzxyyyzzz{zz{zyxyyyyyzzzzyy{{yzyyyyzyzz{zz{zzzzyzyzyyzzzzzzzzy{zyzyyzyzzzzzzzyzzzxyyyzzzzz{{zyzzyyyyzyzzzyzzzyzzyyyzzy{zyyyzzyyzyyyzyzyzzzzz{yyzyzyxxyzzzyzzzzyyyyyyyyyyyzzzzzyyzzzyxzzyzzz{yyyyzyyyxzy{zy{zzzzzzzyyyyyyzzz{zzyzyzzzyzzzy{{z{zyyyzyyyzzz{zz{{yxzyyyyyzzzzzzz{yyzyyzzyzzzzz{z{zzzzzyzxyzz{z{zzyzzyzyzy{z{zzz|zzyyzyzz{{zzzz{{zzyzzyzzzzz{{{{{yyzyzz{zz{zz|z{{zzyzz{zzzz{{zzz{zzzz{{zzzz{{{{z{{{zzzzzz{z{{zzzz{{zyzzz{zz{{zzz{{zzzzzz{z{{z{{z{{yzy{zzzzzy{z{z{{{zyz{zyz{{{{{z|{zzzzzzy{y{{z{z{{{zyzz{zyz{z{z{{z{yyzzzyy{z{z{zyzzyyyyyzyyzz{zyz{yyyxzyyyz{zzz{zzyyyyxyyyzzyz{zzy{zyzyyyyzzzzzy{zyyzxxzyxyzzzzzzzyyyyxzyyzzxzyzz{zxyyzzzyzzyxyzzyzzyxyyyyyyyzzyz{yyyyzyyyzyy{zzyyzwyyyyyzyzzyyz{zyzyyyyyyz{zyzz{zzyyyyxyyzyyzyzzzyyyxyyyyxzyzzzyzzyzzyyzyzyzzzzz{yyyyzyxyzzzzzz{{yyzzzzzyzzyyzzzzyzyyyyzz{zzz{z{zxyzyyyyyz{{z{z{yzzzyyzzyy{zzz{{zzyy{zyzyzz{yz{zzzyzyyzzzz{z{{zzzzyyyyzz{{{z{z{z|xzyzyyyy{{|zz|{z{zzzzzzz{|{{{{z|zzzzz{zz{zz{{{yz|zzz{zz{y||z{{{{zzzzzy{zzzz{|z{z{zzzzyzzzz{zzz{z{z{zzzz{z{{|z{{{zzyyz{z{{zy{{{z{{zzzyyzzz{zz{{{zzzzzyxzy{zzzy{zzyzzzzyzxyzzzzz{zzzyzyxzyzzzz{zy{yxyyzzzyz{{zzz{z{zyzyyyy{{zzyzyz{zyxyzyyyzzyy{zzyyyyyzyx{yyyzy{zyzzyyyyyzyzzzyzzzyyzyzxyzyyyzzzyyxzzyxyyzzyyzzzzzyzyxyxyyzzyyzzzzzyzzzyyzzzzzzzzzyzyyyzyyzzzzzyzzyyyyyzyyzzzz{zyyyzyyyyyzzz{zz{zzzyxzyyyzz{zyzz{yyzzzy{yzzzzyz{{zzyzyxzyz{zz{zzzzyzzzyzzy{zz{{z{yyzzzzzzzzzzz{{z{zzyzzzy{z{z{{{zzzzyzzzzz{{{z{{{zzzzzz{z{{z{y{z{zyzzzzyy{|{{{{{z{y{zzyzz{{{zz|{{{{zyz{zz{zz{{{z}{zzyz{z{z{{z{{{{zz{z{y{z{z{|z{zz{z{yzzzz{{{z{z{{zzz{{zyz{|y{z{{zz{zyzyzzz{{{z|{|{yzzzzzyz{z{y{zyzz{yzx{yz{{{zzzzyyzyyzyyyz{{zyzzzzxyyyyzyzzyzzz{zyyxzzyyzyzzy{zzyxzzyyyyyz{{yzz{yyyzyxyxzzzzzzz{zyzyyyyyy{zzzzzzzyzxzyyzzzzz{z{zzzyyz{xz{yzyzzz{yxxyyyyyzzzzyzzyyzzyyyyzyyzz{zzzzyyyyyxxyzyzzzz{zyzyyyyyzyyzyzzzyyzyzyyyyz{zzzz{yzzyzzzyyzzzzz{zzzyxyyzzzyzz{zy{zyzyy{yzzzzzzz{zyzzyyzzyzzz{z{{zyz{zzyzy{zzzz|{zzyzzy{zzzzzzzy{{yzyzzzzyzz{zzzzyzzzzzzyyzzz{z{{{zzyzzzyy{zz{{{zzzyzz{zyzzzzy{{{{zzyy{z{y{{zz{{{zz{yz{z{zz{y{{{{zzy{yzzyyz}z{yz{{zzzzzzzz{zz|z{z{{yzzyzz{z{zz{z{{zz{z{zzz{{{|{z{{z{zyyzzz{zz{z{{{z{yyzz{y{{z{zz{{zyzyzyyy{z{zzzy{yyzyyyyyzzzzyzyzyyyyyyzxyzzzz{{z{zyyzyyxzzzzz{zzzzzzyyyyzzzzzyzzzyzyxyyxy{{zyzzzzyzyyyyyyzzyxyzyyyyxzyyxyzzyyzzzyyyyyyyyyyzzzyzyyxyyyyxzyzzyyzzyyyyyyyyyyzzzyzzzzyzyyyyyzzzzz{y{zyyzxxyyzzyzz{yyzyzyyxzyyyyyyyzzyzyzyzzyyzzzzzzzzyyyyyyyzyzy{{zzyyyyxyyzzyzz{z{zyyyyyyyyzzzyyz{zyzzyyzzyzzzzzzy{zxzzzzyz{z{z{z|zzzzzzyzzzzz{zzzzzz{zzzyyz{{zz{|{z{zzz{zzz{zzz{{yzzxzzyyzzzzzzz{zzzzzzz{z{z{zzz|{zzyyzzzzz{{zz{z{{zz{zzzzz|z{{{{z{zy{zyy{zy{{zz{{{zzyzzzzz{{zz{{{{zzz{zzzz{z{z{{{z{zzz{zz{{{zz{zzzzzyyzxyzzz{{{{{zzyyzyyzzyzyzzy{yxzzyyzyyyzyzzzyzyyyyyyyzyzzz{{zzyyyxzyyzyzz{z{{zyzyyzyyyyzzyyz{zzwyyyxzyyzyz{xzyyyyyzyxzz|y{zzyzzyyyyxzzyzzyyzzxzyxyyzyzzzzyyzzzyyyyyzxyy{yxzzzzyyzyyx{zzzyzyz{yyzyyyxyyzzzyz{yzzyyyyxzxyzzyzzzyyyxxxzxyzyyz{z{zyyyyxzyzyzzyzzzz{zyyyzyz{zzyzz{zzzzyyyzzzz{{zz{yzzyyzyzyyzzzzzyzyyzzyzyyzzzzzzzzyzzzzzyzz{zzzz{{yzzyyyzzzzzz{zzyzyzzyzyz{z{zz{zzyzzzyzz{z{{zz{{zzzzyyyzz{{zzzzzzzyz{yyzz{zyy{{{zzyyz{{zz{zzz{{{{{zzzzy{zz{{{|z{{zzzzzzzzz{zzzzz{yzzz{zy{|z{zz{{{zzz{z{zz{z{z|{{zzzx{yzyzz{z{{{z{{zzyyyyz|z|yzzzzz{yzxyyzyzz{z{yzyyxzyzx{zyxzz{zyyyyyyzzy{zyzyz|zyyyzzzyzzyyzzzzzzzzyyyyxzzzzzyzyyyyzyzxzzzzyzz{zzzyyyyzyzzyzz{zzyzzyyyyyyzzz{z{xyzxzxxxzzzzyzzyyyyzyxzyyzzzyzzzyyzyyzzyzy{zzyz{yyzyyyxyzzyzyz{{yyyyyyyyyyz{zzzyzyyyyzyyzzzyz{{{zy{zyyyzzz{yzzz{yzyzzzyz{zz{zyz{zyzyzyzzz{{z{{z{zzzzyyzzz{zz{{{zzzyyyyyzyzzyzyzzzzzzyzyyyzzz{zzzzzyzyyzzzzzzzz{{zzzzyzzzz{zz{{z{zzzzz{zzzzzz{{{{zzzzzzzz|{{zzzz|zzzzzzzzz{zz{z|{zz{z{{{zzz{{{{{{{zzyz{{zz{{z{z{|{z{zzy{z{zzzz{{z{zzzzzyzzzzz{z{{{zyyzz{z{{z{{{{{zzzzz{{y{zzzz{|{{zy{zzyy{{{zz{{zzzzyyyzyz{zyzyz{yzxyyxyyy{yz{yzzyzzyyyyxzzzzzz{yzzyyzzyyz{yz{yz{zyzyyyyyz{zzzzz{zyzyyzyyyyzyzzz{zyyyzyyxyzyyzyzzzzxyyxxyyyyzyzzyyzyyyyyyyyyzzyzzzyzyyxyyyzzyzzzzzxyyyyxyyyzy{zzzyyzyxyyyy{z{zzyzzxzyyxyyyzzyzzzyyyyyyyxyzzzyzzzzyyyxyxyyzzzzzz{zyyzzyxxxyzzyz{zz{yzyyyzz{zy{z{zzyzyxyyyyy{{{zzz{{yyzyzzx{zzzz{zzzzzyzzyy{{{zzy{zzzyzyzyyzzzzy{z{zzz{zyzzzzz{yy{zzzyz{yzy|zz{z{y{yzzzyyyyyz{{z{{yzxzzzzyyz{zz{zz|{zzy{zzzzzzz{{{{{{zzyzyzz{z{{{{{zyz{yyyz{{{z{{{yzyzz{y|zy{{z|{{|zzzzzyyzz{y||z{|zzzzzzzyzzzzzz{z{{zyzzzzz{zz{{zzzzyyyyzyz{zzyyzyzyyzyyyx{zzzzzzzyyxyyyzxzzzyz{{zyyzyyyyyzyyyzz{zzyyzyxyzy{z{zzyyyzxyxyzxzyzzz{zyxyxyxyyyxzz{zzzyxyxyyyxxzyzzyzyyyyyxyzzyzyzyyzzzxyyyzyyxyzzzzyzzzyyyx{xxyzzyzyzzyzyxxyxyyzyz{y{zyyyyzyyyyyzyzzz{xyyyxyxyyzyyyzzyyzyzzyyyyyyzzzzzzyzxzyyyzzzzzzyzyyzzzxzyyyyzy{{zzyzzzzzyyzzyz{z{zyy{yxyyzzyzzzzzyyzzyyyzy{yyzyzyzxyy{yzyzzzyyzzzzyzxyzzzz{z{z{{zyzzyzyzyz{z{zzz{zzyyyyyzzzzz{z{z{yyzzzyyz{{zyzz{yz{yyy|zyz{|z{{zzyzzzxzzz{{{z{zz{zzz{zyz{z{{zz{zzzzzyzyzzzzzz{|{zzzyzzy{{z{{{zz{yzzyzxyyzzzy{{{{z{zzzyyxzzyzzz{zzyzzyyyyzzzyzzzzzyxyyyyxyy{yzyy{zyzzyyyyyzy{z{{zzyyyyzyz{z{zzzzz{zzyyyyzzzz{yzzzyzzyzyyxzyzzyzz{yyyxyxyyzzzyzyz{yyyyyzzyyyzyzyzzyzyyyyyyyyyzz{z{zyyyyxxyzzzzzzzyzzyyzzxzyyzzzzyzzyyyyyyyyzyzyzzzzzyzzzzyyzzzzyzzzyyxzyyyyzzzz{zzzyyzzyyyyzzzzzzz{zyyzyzyy{zzz{z{{yzzyyzzyzzzzzz{zzzyyyyyz{zyz|{zyyz{zyzzz{{z{{z{zyyyyyyz{zzzzz|zzyyz{yyyzz{zy|{zzyyyzzzzz{z{z{{{zyzzzyzzzzz{z{{|zz{zzyyyzy{z{{{y{zz{zzzz{z{yz{{{z{{yzz{zzzzz{{{z|zzzz{z{z}{{{{{z{zzzzyzz{{{{{{{|{zz{{zzxzzz{{{{|{{y{zz{z{zzzz{z{zyyzyzyz{{z{{|zz{zyyzzzyyz{{{zz{zyzyxyyz{{yzzyzzzxyyyyyyzzzzyzzzzyyyyxzyzzzzz{{{zzzzzxyxy{zy{y{zzyyzxyyyyzzzzzz{yyzyyyyyyzyyzy{{zyzzyzyzy{zyzz{zzyzyzzyy{zzyyzyzzyyyyyyyzzzzyzzyzyyzyxyyyzyz{z{zyyyyyzyyzyzzzzyzzzyyyzyxzzzzzz{{zzyyyzyyy{z{zzz{zyyyxzzyzzyzzzzzyxzyyyyzyyzzz{zzzzyyzyzzyzzyz{zzyyzyyy{zyz{zyzy{yzzzzyyyzz{z{zz{zzzzzyzyyzyzzzzzyyzzyyyzyzz{zz{zzzzzzz{yz{zy{{yz{zzzzyzzz{{z{{{zzzzzzzzz{{{z{{|{zzy{zzxz{{{{yzz{{{{zyzzz{z|zz|{{{zzyzzzzzz{{||z{{yzzzzyz{{{{{zz{{z{zzzzy|z{||{{z{yzzyz{z{zz{zz{{{z{z{{yzz{{{{{{{zzzyzzzyzz{{z{{zzzzyzzyyz{{zzzzz{zzyzyzy{{z{zzyyzyzyzxyyyzzzz{{{yzxyyyyzzzyz{{{zzzyyzyyxzzz{z{{zyzzyyyyyz{zzyyzyyyzyyyzyzzzyyzzzzzyyyyzyzzzzzzzyzzyyyyxyzzyzyzzzzzyyzzyyzzzzyzzzzyyyzzyyyz{yz{zzzyyyyyxzyyyzzyzzzzzxyyyzzzz{yz{{zyzyyyyyyyyyzzzzzzzzzyxyzyzzz|zzyyyyzyxzzzyzyzz{zyyzyzyzzz{zz{{{zzyzyyzzzz{zz{z{zzzzzyyyzzzzzzzzzyzzzxyxz{z{{z{zzyzzzyzzz{{zzz{zzyzzzyyyz{zz{z{{zzzz{zyzz{z{{z{z{zyyzz{zz{y{|{{{zzzzzzzzz{zz{{zzzzzzz{{zzzz{z{{|{yz{zz{z{{z{{|z{{yyzzzz{z|z{z{{{{z{zyzzz{z{z|{|{zyzz{zzz{{{zzz{|zzzzy{{{z|{{{zz{z{{zy{zyzzyz{||zyzyzyzzyzzz{zz{zzyzyyyzyy{yz{yz{yyxyyyxyyzyzzyzzzyxyxyyzzyzyzzz|zyzyyyyx{zyzzzzzyzzyzzyyyyzzxzz{zzzyyyxxzy{{yyy{zyyyyyzyyzzyyzzzxzzxzzyyyzyxxyzyzyyyxyxyyx{zyzzyyyyyyxyyyzzyzy{zyyzxxyyzzyyyzyzyzzxyxyxyyzzzyzzyyzxzyyyxzzyzzyyzzyzyyxyxyyzyyzzyzyyyzzyyzzzzyzzzzyzyyyzyz{zzzzzzyyzyyyyyyyzzzz{yxy{yyy{x{yzyyzzyyyyyyyyyy{yyz{zzzyzy{yzyzz{zzzyzyzxyyzyyzzzzzzz{{zzzzzyzzy{{{{z{y{zz{yzy{{zzyzz{{yyzzzzyzyy{zz{zzzzyzzzz{zzz{{{{zzzyyy{yy{{z|{zzzzzy{zzyz|z{|{{zzyzzyzzzz{z{zzzzzzzz{zz{zz{zz{z{zzzz{zzzz{zz{{z{zzzy{yzz{zzzz{{{z{yyzyyzyzzzz{zzzzzyyzzyzzzzzzyzyzyyyyyyyzyzyzz{zzxzyyyxyzz{{xz{yyyyyzzyzxyzzzz{zyyyyyyyzyzzyyy{yzyyyyyyzzzzzzyzyyyxyyzxzzyxzzzzzzzyyyyyy{zyz{yyzzyzyzxyyyzzzzzzzxyyyzzyyy{yyzzyyzyyyzyyzy{zzzyyyyyyxyyyyzzzyz{{yyxyyyyyyyzyzzzz{yyyzyyyzyzyzzzzyyyyzyyxzz{zzzzzzyyzzyyzzzyyzyzzzyyzyxyz{zzzzzzzzyyzyyyzzzzzzyyyzyzyzyyyzzzzz{z{zyyyyyzyzz{z{zzzzzyzyzzzzz{zz{y{zzzzzzzzz{{{{{{{zy{yyzzzz{z{{z{{zzyz{zzzzzzz{{{z{yzzzzzz|zzzz{{z{z{zzz{z{{|z{{{z{zzzyz{yy|z{{{{z{zzzzyzzzzz{{|{{zzzyzzzz{{zz{|{{z{{zz{z{{|z{z{{{zzzzzy{{zzzzy{zz{yzzzzzyzz|zz{{zyzzyy{yyzyzzzzzzzyzxyyxyyzzyy{yzzyzyyxyyyzzyzzzzzyyyyyyxzzzzyzz{zzxyyxzyzy{zzyyzyyyyxyzzyzzzzzy{zzzxyyyyyz{y{{zzzxyyzyxyyyzyzzz{yzyxxyyyyyzyyzzzyyyyyyyyzyzyyzzyyyyyyzyyzzzzzy{yyzyyyxyyzzzyzzzzzyyyyyyyxyzyyyzyyzzxxyyzyyyyzzzzyyyzyyyxzz{zzzz{zyzzzzyyzzzzyy{{yzzyyyyzyzzzzzzzyzyzzzyyzzzyzz{zzy{zyyzyz{{zz{zzzzzyzyyzzzzyzz|zzzyzzzyzzz{{z{zzzyzyyzzzyzzz{{{zzz{z{{zyz{zzz{{zyzyzy{zz{z{{{z{zzyzzzyzz{{{{{{{{zzzzyzz{z{zz{{{zzyzyzzy{y{zzz{|{zzz{z{{yzz{{{{{zzzyzzyzzyzz{z{z{{zzzzyxz{{zzzz{zzy{yzzzzz{{zz{zyz{yyyzzyz{zz{{{zzzzzyxyyzz{zzyz{yyyyyyzyz{{zyzzzxzyyyxyyzyyzzz{zzzyyzyyzyzzzzzz{zzzyyyyyyzzyz{{zzyzyyxzyzzzzyzz{yzyyyxyzzz{yzzzzyyyxyyzz{y{yzzzzzzyyyyyyzzzzyzzzyyyyyyyyyz{{zxzyxyzyzywyyzzx{yzyxzzyyyzxyzzzyz{zyyyzzyyxyzz{yyzyyxzyyzyyzzz{y{yzzx{zyzzxzz{zzzzzz{zxzyyyzzyyz{y{zz{yyyzzzyzzyzy{yzyyyz{zzz{zzzzzyzzyzxyyz{zzz{zzzyz{zyzzzz{zzzz{zzzzzyyzzzzzzzzyyz{{zyzy{z{{z{{{zz{zzyzz{zzzz{{|zzzyzzzy{z{{z{{zzyyzzzzy{{y{|{{|yzzzy{zz{{zz{zzz{zz{y{zzz{{{{{{{z{{zyzz{z{{{zz{{{yzzzzzy{{{|{{{|{zzzzzyz{{z{|z{{zzzyyz{y{z{{{{{{zyyyyyzz{{{{{{|{yzzzyyyy{{zzzyzyyzyzzyyxx|zyy{zzyyyyyxyyzzzzzzzzzyzyyyzyzyzyzyzzxwxzzzyxyyyzyzzzzzyxyzyyxzzzyzzzyyyyyyyyzyzzzzzzzyz{yxxyzxzzyzzzyyyyyyxyzzyzzyz|yyyyzyxyzzzzzz{yyyzyyyyyyzzzzzzzyyyyxxyzyyzyz{zzzzyyyyyyyyzxzz|zyyxyxxyxyzzyyzzzzyyzyzzyzzyzzzz{xyyyzyyyzzzzz{{zyyzxzyyyzzzzyzz{yyzyyzyyyzzyzz{z{{zzzxyyzzz{z{{yyzzyyzyyyzzzy{{zyyyzzzxyzzz{yzzzz{yzzzzzzz{{zzzzyzzzyyzzy{zzzzz{zzyzzyyyzz{zzzz{zyyzyzyyy{zz{{{{zzzzxzyzzzz{zz{|zy{zzzyz{{{{{{{z{zyzyzyzzz{{{|{{{zzzyzyzz{z{zzz{zzz{{z{{z{z{{{{{zzzzzzzzyz{zyzzzzz{zyz{yzyzzzzz{zyzyzyyxyz{zyyyyyyyyyxyxyyyzzyzzxyyzzyyzz{zy{yyzzyyxxy{yzyyyzyzz{yzyzxyyyxzzzzyzzyyyxxxyzyyzyyzzyzyyyzyyyz{zzyyzzxyyxxyyzyxyzyzyyyyzyyyyzyyzyyy{yxxyyxyzyyzyyyyyyxxzyyyxyyyzzzz{yyyzyxzxyyzz{zzyzxyyyyyxyzzyxyyyyyyxyyyyxyyyyzyzyyyyyzzxyzyzzzzzyyyyzyxyzzzzzyzzzzzzzyzyzyyzzyzzzyzyyyyyy{zzzzzzyyzzzyyyzzzzzyzzzzyzzyyyyzzzzz{zzyxzyzxz{zzzyzy{zzzzy{z{{y{z{zzzyzzyzzzyzzyzz{{{{zyzzyyzz{{z|zzzzyzzz{{zzzzzz{|z{z{zyzzyzzzz{zzzzyyzzzzyz{{{z{{{zyzzzy{zz{zz|{{zzxzyzyzz{z{{y|z{zzyzzyzz{{{{|zz{zz{yzyyy{{zzz|zzz{xyzyzzzzzy{yzzyzzyxyyyyzzzzyyzyyxxzxxzxzzyzzyzyzyyyyyzyzzzyzzz{zyyyyxxz{zyzzyzzyzyxyyyy{{zzyzyzzyxxyyyyyzzyz{yyyyyxzyyyzzzz{zzzyzyyyyyzzzyyzzyyxyyyyxyyyyzyzyyyyyyzxyyyzyzy{zyyyyxzyxyzyzxyzyzzyyzyyxyyxyzyzz{yyzzyzxyyzzxyzzyyyyyyyyyyzxyzzz{zyzyyzzyzyzz{zz{zyzyzyzzzzzyzzz{yz{yyyyyyzyzzyz{yyzzyzyyzyzzzzzzzyzyzyyyzzzzzzyyzyyyyzyzz{zzz{{zzyyyyyyzzzzyzzzzyzyyyzyyyy{{zz{zyyyyzzyyyzy{zy{{{zz{yyyy{{{{{z{{zyyzzzzyz{zzz{zzzyzzzzzyzz{{z|{{yzyzzzzzz|{zy{zzzyyzzyzzzz{|zz{|zyxzyzzyyzz{{z|zyzz{zzyyzzyz{{{zzzzzzyzyz{z{zz{yyzzzzyyzzzzz{zyyyyyzzyyyyzzyyzz{{yyyzyyyyzzy{zzyzxyyyxxyzzzzzz|{yyyzyyzyzyzyz{yzzzyyyzyxzyzyzzyzzzyyyzwxzyzzyzzzxyzyyyyyx{yz{z{zyxzyyxyyyz{yyzzzzyzyyyyyyzyyyyzzyyyyyyyyzy{zyxzyzzyyxywzzzzyzzzzyyyzyyyyzyzzzyzyzzyyyxzx{yzyyzyzyzyxyyyxzyyzyzzzxxyyyzyyzzyyz{zzyyyyyyyyyyzy{zzz{yzyzyzzyyzz{z{{zzzzzzyzzyzzzyzz{yyyzyzzyzzzzzzyzyzzyzyz{zz{z{{zzzzzyzyz{zzzzzzzzzzzyyzyz{{{{zz{{yzzzzyy{z{z{z{z{zz{zzyyz{y{zz{{{zyzyzzy{{zz{z|{yyzzzzzzzz{z{zzzzzzyyyzzzzz{zz{{yzyzzz{z{zz{zz{{zzzy{{z{yzzzzz{{zzzzzzyz{{zzz|zzyz{yyyzzzzz{z{{{zzyzzzzzzzzzzz{{zzzyxyyzzz{zzzzzyzxyxyyyyyyyzz{zyyyyyzyxz|zz{yz{zzyyyyyxyz{yyz{yzyyzyyyyyzz{zzzzzzzyzxyzyyzzz{yzyyzxyyzyzzzzzzzyzyyyzyyyzyzzyzzzyzzyyyxyzzyzzzzzyyxxyyyyzyyyzzzzzxyyyyyzzzzzz{zyyyzzyyxyyyzyyyzzyyyxyyyyyzzzyz{zzyyxyyzzyzzzzzzzyxzzzzyyz{zzzz{{yy{yzxyyz{{zzzyzzyzyzzzzzzyzy{z{zzyzyzzzyzyzzzzzyzzzzyzyz{yzzz{yzz{yzzzzzz{{zz{{zyyzzyyzzz{zz{|{yyzyzzwy{{z{zzz{zzyzzzzz{{z{z{{zzzzzzyzzyz{z{{|zzyzzzzzy{{zzz{{zzzz{zzzz||zzz{z|{zzyyzzyz|{|{||{{zzzzzzzz{z{|{zzzzzzzyzzzz{z{{|{yzy|{{{{{{z|{{z{zzzzyzyy{{z{zz||zzz{{zzyz|yzyz{zyzzyzzzyz{zzzzzzxxzyyyzyyzz{zzz{zyyyyyyyzzzzzzz{zyyxyzzyzyxz{y{zyyyyyxyyyzzz{y{zzyzzxyyxyyzyyyy|{yzyyyyyyyyyyyzzzzyyyyyyyyzyyz{yyyyyyyxyzzzzzzzzyyzyyyyyyzzzyyzzzyzyyyxyyyyzzzzzyyyzxyxxzzyyzyzzyyyyyyyyyyzzzyzzzxyyyyyxyyyzz{z{xzyyyzyyyzyz{y{{yyyyzyyyzzzyz{zzzzyzyyyzyyzzzyz{yyzzxzzyzzzzzzzzxzyzzxyyy{zy{zzzzzyyyzzzyyzzzzzzzzzxyyyz{zzyzzz{zzzzzzzzzz{z{{zzzzyy{{y{zzz{zz{zzzzzzzzyz{{{z{{{zyzzzyzyzzz{{zzzzz{zyyzz{zz{{{{z{xzyyyyy{zz{{{zz{yzzzzzzz{z{{|zzzzyz{zyz{zzzz{{|{{{{{yzy{zzzz{{{{zzzzyzz{{z{z{{{z{yyzzyyz{zz{zzzyyyyyyyz{zz{zzyyyzyyxxzxyyzyzyzyyyyyyzyyyzz{z{zzzyyxyzxxzzyy{zzz{zyy{yyxzzzzzyyzyzzyyyyxzyzzzyyzzzyyyyyyyyyzzyzyzzyyyxyyzzyzzz{yzxyxxyyyzyzzzzy{yzzyyyzxzyzzyyzzzyzxzyyzzzzzzzzzyyyzyzyyzyzzyzzyyyyzxzzxyzzyzzzyzyxyxyyxy{yzyzz{zzyyzyzxz{zyzzzzzzyyzyyzzzzzy{z{zzyyzyyyyzzzz{z{zxzyyyyzzzzyyzz{zyzyyyyzyzzzzzz{y{zzzyyyy{{zzzzyzyzyzz{yzz{yzyzzzzyy{zzz{{{{z{{z{zyzzz{z{{zzz{{{yyzy{zyyz{{z{z{z{zyyyzyz|z|{zz{{zz{y{zz{zzzz{{{zzzz{z{zzz{z{{{|{{zzyzzzz{zz|{zzzzzyyzzyzz{z{z{{{zz{z{zyzzzz{z{{|zyzyyzz{z{z{{{{{{zyzyzyyz{yz{yz{zzzy{xyyz{z{zyyzzyyyyyyyzzy{{zzzzyyyyyyy{yyzzzz{yyyxyyyyy{zzzzzzyyzxyzyxyzzzzzzzyzzyyyzyzyzyzyy|xyyyyzzy{zzyzz{yzyyyyyyxyyyzyzzyxyzyyyzyyzyzzzyzyyyxyyyyyzyyyzzzzzyyyyxxyzyzy{yzzyyxxzyxzzzyyzzzzyyyzxyyyyzzyy{zyzxyyyzyyyyzzzz{yyzzyzyyzzzz{zzzzyyyzxyzzzzz{zzzzyzyyyzz{zzzzyzzyyzzyxzyyz{zzzzzzyyyyyyyyz{zzzyzzyyyyzyy{{zy{z{{zzyyzyzyzz{yzzzy{zzxzzzzzzzzz{zzzzzzzzzzz{yz{{z|yzzzyzz{{{{{zz{{{xzyzxzy{{{{z{z{zzyzz{zzzz{yz|{{z{zzzzzyzzz{{{{{zzzzzyzzzzzz{z{zzyzyzzyz{zz{{{{z{zzy{{zz|{y{{{{zzz{zzzzz{{z{zz{{{{zyyzzz{z{{zzzzyzzzzyyzzyyzzzzzzxyxxyxxxzzyzyyz{zyzyyyyzzzyy{y{zzyyxzyzyyy{z{zyzxzzzxzzzyzzzyyzyzyyyyyxzzzzz{zzyyyzyyyxyzyyzzzyzyzyxyzyzyzzyzyyyyyxyyxyzzyyyzzyzywyyyxyyyzyzzzzyzyyyyyyyzzzyyyzyyyzyxxyyzzzy{zzzyyzyzxyzyyyyz{yzyzyyzyyzzzyy{zzzyyyzzyyzzzzzzzzyyyzyxzzzzzyzzzzzyzyzzyyzzz{zzz{xyzyyzy{zy{yzzzyzyzyyxzxzzzzz{zzzxyyxyyyz{{zzzzzzzxyyyyyz{{zzzzzzzzzzzyzzzzz|zzzzzzyzzzz{yzzzzz{zzzyzzyy{z{z{z{zzyzzyzzzzzz{{{z{yz{zyzzzz{z{zz{{zyzzzzzyz{{{z{zz{{zzzxzz{zz{{zz{{zyzyy{zz{z{z{{{zzzz{{yz{{{{z{|{yzyyyzzyzzyzz{{{{zyzyzyyz{z{{zzyzyyzyzyzzyyzzz{yzyyyyxyyyz{yyyyzyzyxyyxyyyzzy{z{xxzyyyzx{zy{y{zzzyyyzyyyzyyyzzyzyyzyxyzyzyxyyzyzxyzxzyyxxzxyxzzyzxzyyyyyyyyzyzzyxyyzxyyyyyzzzyzyyyyxyyxyyzyyzzzyxyyyxxxzyy{yyz{yzyyxxyyzxyzyzyzzyyyyyxzyyyyyzzzzyzzyxyyxyyyyxzzyyyyxxyyyy{zzzzzyzzyyyzzyzzzzyzzzzyzyxyyyzzzzzzzyzyzyxxzxzyyzy{z{zzzyzzzzyzzzzzyzxyyzyzyyz{yyzzzzyzyyyzyzzzzyyz{z{zyyzzzyzzzzz|zzzzyzyzyzzy{{zzzzzyzzzyzz{zyz{{z{zyy{z{zy{{zzzzz{zzyyyzzzzzzzzy{{zzz{yzzzzzz{{{{zzzzyzzzzz{{{z{z{zyzzy{yyzzzzz{z{{zz{{zzyzz|zzzz{yzzzyyzzyyzzy{{z{zzzyzzyzzzzz{z{zyyyxyyyzyzzyzyyyyxxyxyyyzyyyyyz{zyxyyxxyzzzyyzzyyzyxyyxzyyzyy{{zyzyyyxyyx{zyy{zyyyyxxyyzyzyzzzzyxxxyyyxyzyyyzzzyyyyxxyyyyzyxzyzyxyyyxxyyxzyyzzzyyyxyxxxzyyyzyzzyyxxyyxyzzzyyyzzyyxyyxyxzyx{yx{{yxyyxxxxyzyyzyzzzzyyxyyyyzyzyyzzzyyyyzyyzzyzzz{zxzxxzyyyz{yyyyzyyzxzzxyyyzyzzzyzzyzyyyxyy{zyzzzzzzzyzyyyyzyyyzzzyyzzyyyyyzyzzy{yzyyzzzzzy{zyzzzyzyzzyyzzyzzzyyz{zyzyzzzzzzz{yz{{zyzyyzzyz{{{z{zzzxyzzyzy{zzzzy{zz{zzzzzzzz{zzz{{zzzyyzyzz{zzzzzzzyzyzyzy{zzzz{z{{zyzzyzzz{zzzy{z{zyzyzyzz|{{zz{zyzyxyyzzz{yzz{{zzzyyzyzzy{zzyzzyyy{zzyyxzzzzyzyyyxzyyxyyyyzyzyzyyzyyyyyyzzzyz{zyyxyxzyyyxyzyyy{{yyzyyyyyzyzyyyyzzyzyzzyyyyz{zzzyzzyyyzzxxyzzxzzyzxyxzzyzyyzxyzzzzyyyyxyxyyxyzzzzzzyzxyyxxyzyzzzyzxyyyzxyyyzyzzzyzyyyxyxyxy{zz{z{zzyyxyyxyzyzzzzyzyzyyyyxyyzyyzzzzyzyzyyxyzzzyzz{zyyxzxyyyzzzzyzzzyzzyyzyyzz{z{{{xy{zyyyyyyzyzzz{yyyyyxyyyzyzy{yyzyyyyyyyzzz{zz{yzy{yyzzyz{yzzz{{{zyyyzzzzzzzz{{{yzzzyyzz{zz{zy{{yzyzyzzyz{z{zz{z|yzzzyzyz{zz{zzzyzzyzzzz{{zzzzzy{zz{{zzzz{z{{z{{zzzzzzyzy|yz{z{zzzyyzzyyz{{{{{z{zzyzzyzzzz{{{zyzyzzzzyyy{zzzzzz{zzxyzzyzy{zz{zzzyyzyyyxzyzyzy{yyyyyzxyyxyyzyyyyyyzyyxyyyyzzyzzzzzxzyzzzzzyyzzyzzyyzyzyxyzzzzyx{{zyzyyyxxzyzyzzzzzyzyyyzyyzyyyz{zzyzzyyxyzyzyzzyyyxyzyyxyyzzzyzzzyyyxyyyyyzyyzz{yxyyyyyyzyxzzyzyzzxyzyyyyzyzyz{zyyyzyyxyxy{yzzzzyyzyyyyy{yzyzzzzyzyxyzzzyyzzzyzzyyzyxyyyxzzyyyyzzzyzzyyzxzzyzzzzzyzzzyyyzyzz{zyzzzyzzyyyyz{z{z{{yzyzzyzyyz{z{yyz{yyyzzyyzzzzz{|zy{yyz{yzzz{zzzzz{zzzzzyzzy{zzz{|{zzyyyzyx{zyzzz{zzyyyzzzy{{{y{z{zzz|zyy{{{{zzzzz{zyz{zyzzzzz{z{{zzzzyzyzzzzz{z{z{zyzzzzx{{zz{{{||zzzzzzyzz{zz{zz{yzyyxzzzyzz|{z{zzz{yy{zyzzzzzzzzzzzxyyyzzzz{zzyyzyyyyyzzxy{yzyzzzyyzyyxyzzyyyzzzzzyxyxyyyyzy{z{zyyzzzyyyzzzzzz{zzyyyxzzyz{{zzz{{yyyzzyyyyzzzy{zzzzyyyyxzzzzyyzzzy{xyyzyyzyyyzzzzzyzyyzzyzzyzzy{zzzzzxxyxzzzyzzyzzyyyzyyxz{zzzzzzyyyzyyyyzzzyyzzz{yzyyyzzyzzzyzyyyxzyzzxzyzz{zzzzzzyyyyzzyzzyz{yzzy{zyyzyzz{{zzzyxzzyyyyzzzzyzz{y{zyzyy{{z{zzzzzzy{zyzzzyzzzzzz{yzzzyzzyzzzzzz|zzzzy{zyyy{zzz{z{zz{zyyzyyy{z{z{{{zzyyz{yyz{zz{y{{zzyzzyzy{|z{{z{zzz{zyzzzzz{zzz|{{{zzzzz{z{{{z{{{zz{yzyzzzz{zz{{z{zyzzyz{zz{{{{{z{zzz{yzz{{{z{{{{zzzyzyyz{{zz{z||z|zzyzzyzzz{yzz{zyyyzyzyzzzzz|zzyzzyyyxxy{zzyy{zzyzyzxyyzyzy{zy{zxyxyzyxzyyzzzzzzxyyyyxyyzzyyzz{{yyyzxyyyzzzz{yzyyyzzyyxzyyzyyzzzyyyzxyyxzyzyyyyyzyyyyxxzzyyzzyzyyyyyyzxyzyyzzyyyxyyyyyyyzzzzzzyyyyyxyyxz{yzzzz{yxyyyyxxzyyyyzyyzxzyxxyxyzyyy{zzzyzyzzyyzzz{zz{zzzzyzyyzzzzyzyz{yyzyyx{yzzzzyzyzyyyyxyyyzzzz{{zzzzyyzyxyy{zy{{{zyyzyyxyzzyzzzz{zzyyyyzyzy{yzzzzz{{zyzzzzz|zz{zzzyy{yy{zyz{{z{z{{zzyzyyyyy{{{zzzzzxyyyyzz{{zyzzz{zzyzyz{zzzy{z{{z{zzyzzzy{z|z{{{{zzzzzzzz{zyz{zzzzzyzzz{{z{{{{{|z{{zz{zyz{zz{{{{zzzzy{yyzzzz{{zzzz{zzzyzyzzzzzy{zyyzyxyyyzyzzzzyyyxyxyxyxzyzzzyy{yyzyxyyyyzyzzzyzyyxyxyyyzyzzzyzyzzzyyyyyyzzzyzzzzyyyxwyxzzz{yyyzxyzyxyyyzzzxzzzzyyyyxxxyyzzyyyy{yyyzyyyyzyyyzzyzxxxyyyyxyyzzyzzzyyyxyyyzyzyyyzzyyyyyxxyx{zyyzy{zyyyxyxyxzyzzyzy{yyyyxxyyyzzyyzzyxzyzyyyxzyzzzzzzyyyyyxyyzyzzzzzz{yzyyyyyzy{zzyzzyzzyyyyzzz{z{zzzzxyyyyxxyyzyy{{zzyyyyzyyzzzzy{{yzyyy{yyy{{zz{{{zyzyyyzyxzzz|y{zzyyyz{zyy{zzz{z{zzyzzzyxyz{zzzz{z{yzyzzzy{{z{z{|zyzzyz{zzz{z{{zz{zzzzzyzzy{{zzz{{zyz{yzzz{{{{z{{zyzzyz{yzz{zz|z|{zyzzzzzy{z{zz{{zyzyzzzzzz{z{z{{{zyyzyzzy{zz{y{zzzyyyyyyyyzzyzzyyxyzyyyyyyzzzyyzzyyyyzyyyyzyyzz{yzzxyyyyyzz{yzzzz{xzyyyyxyzzzyyzyyzyyyyyyyy{zzzzyyyzyzyyyyyyyzyzzyyyyyzxyzyyyzzyzyyyzyxzyzyxzyzyyxzxxyyxzzzyzzyzzzyyyyyyxyyyyyzzyzyyyyyyyyzyzzzzzzyyyyyyyyzzyyzyzyzyyyxyxzyyzyzzzzyyzyyyyyzzzz{zzyyyzzyzzzz{zyzzzzzyy{yxzzyyzy{{zzzzzyyzxyz{{y{zzzyyyyyyyyzyzz{yzzxzyyzyzzzzzzzz{yyyzyyyzzzzzyzzzzyyyyyyzzzyzz{zzyyyzyzzzzz{zz{z{z{zyzyyzzzz{zzz{{yzyyzzzz{{{z{{{{zzzy{zyzzy{zzz{zyzz{yyyzzzzzz{{zzzzyzzzzz{zz{{z{yzyzzzzzz{z{{||zzzzzzyz{zz{{{z{zzzyxyzyzz{zz{{{zyzyzzz{zz{zzzzzzzzyzyzyyzzyyzz{yyzyyxxxzy{zzzzzyyyyyyyxyzyyzz{yzzyxzyxyyyzyyzzyzyyyyxzyyyzyyzyzzyyxxyyyyyzz{zyzyxzxyyyzxzzyzzzzyyyyyyyxyyzyyyyzxyzxxzyyxzyzxyyzzyyxyyyyyzyyzyyyyxyyyzxyxzzyyxyzyyzzxyxyyzyzy{zzyyyyzxxyyzyzzzzyyyzyyyxyzyyyzyzzyxzyzzyyyyzyzy{{zyyyzxyyyzzzzzz{yyyyyyyyyyzyzyzzyzzyxyyyzy{yzyzzzzzzyyyyy{zzzzzzxyyyyyzyzzzz{{zz{zyzzyyzzzzzz{zzzzzzyzyxzzyzz{{zzyzyyzzzzzzyzxzzzyyzzzyzz{zzzz{zzyzyzyzyz{yzzz{zzzzyyz{zzy{zz{z{{zzyzzz{z{{{z|{zzzzzyzyyyz{{z{z{zzx{zzzzzzz{{yz|{{yyzyzz{{{z{{{{zzyyyzzzyyzzzz{zzyzzyxzxzzzzzzzzyyzyxxyzzyyyyyzzyyyyyxxxyyzzyyzyyyyyyyzxyyzyyzy{zyzxyyxyyzyyzzzzyyyzyxxxyzyyyyzzyxyxxyyxxyyyyzyzyyyyyxxyyyyzyz{zyyywyzyxyzyyzyyyzyywyxxyyyyzyyzzxzxyyyxyyyyyyyyyyxyxxxyxzyyyyzzzyyyyyzyzzzyyyzzzyxyzyyyxyyyxyyzyxzxyxxyyyyyyzzz{yxyzzzyyy{yzzyyzyxxyyyxyzz{zzzzzyzzyyyyyzzyzzzzzzyzyyyyyyzy{zzzzzzxyzxzyz{zzyzzyyyzyzzyyzz{z{zzzyzyyyzxy{{yyzzyzzyyyzyyzzz{{{zyzyy{zyyzzzzz{zzz{yyyzyxzzzzzyzz{{zzzzzyyzz{zyzzzz{z{z{zzz{yzzz{zz{zzzyzyzz{zzz{{{{yz{yzzzzz{z{{{z{zzzzzzyz{{zzzzzz{zzzyy{z{{zzzz{zzzyyzxyy{{zz{{zzyyxzzyxzzzzzzzzyxyzyyyyzyyyzzzyzyyyxyyxy{zyxzzzxyyyyxxzzyzzzzzzzyyyzyyyzzyxyzzzyyxyyxyyzyzyzyzyyyyxxxyxzyyyzzxzxyyxxyyyxyxzyz{zyzyyyyyyyyzyyzzzyyxwyyxxyyzyyzyzyyyxyyyyzyzzyyzyzyxyyyxyyzzzzyzyzzxyxxyxyyzzyyzzzyyyyxxyyzyyyyzzyyzxyxyzyyyzyzzzyyyyyyyyyyzzzy{zyyyyzxzzzzzzzyzzyzzzyyyzyzzyyzyzyyzyxyxyyzy{zzzzyzyzzxyyzzzyzz{zzyyyzxyzzzzz{z{zyyyyyzyyz{zyzz{zzxyyzzyyzzzz{zzzzzyyzzyz{{yzz{|{zyx{zyyy{zzz{zz{zyyzyzyy{{zzz{|zzyyzzz{yyzzzz{{{zzzzyzzyz{z{{z{zzz{zzyzyzzzyy{zz{yyzzzzzyzzzzy{{zzzzzzzyyyzz{{|zzyyyyzy{yz{zz{{z{yzyyzzzz{y{z{zzy{yxyyyx{z{zy{yyyyxxyywyyyyxzyyyxyxzxyyxzzyyy{zyzyyxyyyyzyzyyzzyyyyyyxyxyzyzxyzyyzyxyyzxzyzzzzyyyzyyyyxxyzyyyyzzyyyzyzyxyzzyzzzzyyyyyyyxyyyyzzyzyyyyxxxyyzyyzyzyyxyyyywyyyzyzzyyyyyxxyxyyzzyzzzyyyywyyxxwzyxyyxyzyyyzxyyyyzyyzzyyxzxzzyxyzyzyzzzyxyyzyzyzyyyzyyzzzyyxxyyzzzzyzyzyzyxxzyzxzzyzyz{zzyyyyzxyyzzyyzyyyyyzyzyzyzyzzzzyyyyxxyyzzyzyzzyyyxyzyxzyzzzzz{zyzyyzyzyz{{zz{{{zyxzyyxzy{zzzz{zzyzyyyzy{zzz{z{zyz{zyzzz{zzyzzzz{xxzyzzzy{{{{{{{{zzy{yyyzzzzyz{zzyyyzxzz{zz{zzz{z{yy{zzz{z{zz{zzzzyyyyzyzzx{yzzz{zyxzyyzzzzzzz{zzzzxyyyyyyzyyyyzyyxyyyyyyzxyzyzzyyyxyyxyyyzzyz{zzyxyyyyyyzzyzzzzxxyzzyxyxzzzyy{zyzyxxyxxzzzzyyyyzzyyyyyyzzzxyzzzzyzyyxyyyzzyzyzzzxyyyyyyyxyyzyyyyyzxxyyxyyzzyzyyyxyyxyyyyzyyyyyyyzzxxyyyxxzyyyyyyxyzyyyyyyyyyyyzxyzyxxyxzzyyxzzzyyzyyzyxyyz{zy{zyyyyyxyyyzzzyyzzzzyxyxyyzzzyz{z{yzyzxxxyzzzz{{zzyzzxzyyyyyzz{{{y{zyyyyyyz{zzzz{zyyyzzzyzzzyzyz{zyyyzzyzyzyzz{zzyzzzzyzzzzzyzzz{{zzzzzzzyyyz{{{zz{zzzz{yz{zzzzzz{yzzzyzzzzzzzz{{{{zzzzyyyy{zz{{z{zzz{zzyz{z{{zzzzzyzzyzzzz{{z{z{{yz{z{zzzyzz{{z{{yzzxzzyzzzzzzzzzzzzyyzyyyzzzyz{zyyzyyxyyzzxzzzzyzyxzyyxyyyyzzzyzyzyyyyyyyyzzzzzyzyyxyzyyyyzzyzzyyyzyyyxyy{zzyyzzzxxyyyyxyzzzyyyzyxyyyyxyzzyyyzyzzzyxyyxyyy{yyzzyyyyxxyyyxyxzyzzyyyxyyxxyyzyyzy{yyyyxxyxyyzzzyxyyyzyyxyxyyyyz{yzzzyyzyyxxyyxyyyzyzyxyyxyxyzyzyzyzzzyzyyyyzzzzyzzzyyzxxxyzyzzzzzzzyyzyyyyyzzzzyzzzyxzyyyzyzyyzzzzzzyyyxxyyyyzzyzzzyxyyzyyyzzzz{zzzyyzzzyyy{zzzzzyzzzyyzzyyzzz{zy{{zyz{yzzzyz{{{{{{yyzzzzzyz{yz{{{{yyzzyzyy{{{z{z{{zyzyzzzy{zzz{{{z{{zzzzyzz{{z{z{{y{{zzzz{zzz{zz{zzzzzyzzyz{|z{{{zzzyz{yyzzzy{zz{{zzyyzzyzzzzz{z{{zzyyyzzyzyz{{y{zyzzxxxyyzzzz{yxyyzyzyyxxyxzy{yzzyxwxyxxyzzzzzzy{zyxxxyyyzxyz{z{yzz{yyyyyyzz{yyyzyyyyxxyxyzyyzzz{yyzxzyyyyyzyyzzyyyyzxyyyyyzyyyz{zyxyxyxyyyyyy{yyzxyxyyyyyzyzyzyyyyyyyyxyyyzzzyzyxyzyyyyzzzyyyzyzzyyyyyyxyyyxyy{zzyzyxxxxzzyzz{zzyxyzyyyyzzzyzyzzyzzxyxyxyzzy{zzzzzyzyxyy{zzzzzz{zyyyyyyyzz{zzzzzzxzzzyzzyyzyz{z{zxzzzyyyy{{zzz{zzzyyzyyy{{{z{zzzyyyzzzzyz{z{zzzzyyzzzyzy{zy{z{{|zzyzzzzzzz{zzz{{yyyzyyzzzz{z{{|{zyzzzzzzyzy{{|zz{zzyzzyzz{z{{{{zzyzzyyzzz{{{y{{{zyzyyzzzzz{z{z{z{z{zyyzyz{{y{zz{yyzyz{yzzzzzyzzy{zzzzzyyz{z{zzzyzyyyyyxyzyzzzzyyyyyyyyxxyzyyyyzyyyyyxxyyxyzyzzyyxyyyxyyxyyzzzzyyyyzxzyzyyzzyyz{zyxyyxzyxzzzzyzzzyyxxyyyyyzzyyz{zyxyyyxyyyyzzy{yxzyyyxyyyxzyzzzzzyxxyyyyyyzyzyzzzyyyyxxxxyyzyzyzyyyyyyxyxz{yyyyzzyxyyyyyyyyzyxzyzzyyyyxyyyzzy{zyzyyyxyzyyyxyzyzzzzyyyzyzyyyyzzyzzzzyxyyyyzz{yyzz{yyzxzzxxzzzyzz{zzzzyyxyxyyzzzzzzzyyzyyyyyz{zyz{{zzyyzyzzz{yy{zy{zyxyzyzzzzz{zzy{zyzzzzzyy{z{zz{zzzzyzzzyz{{zyz{{zzzyzyyyz{yz{z{{yyzyzzyyzzzzzz{z{zzzzzyyzz{{z{{{zyzzzzyyzzzzzz{{zyzzyzzzzzyy{{{zzyz{y|yzz{zz{{{{zzzyzzyy{zzzz{zzyyyyxzzxzzz{y{zzzyyyyyyyyzyzzzyyyyyxyyyxwyzzzzyzyxyyyyzyy{zyyzzzzxxyyzyxyzyxyyz{zzzyxzyyyzyzzzyzzxyyxxyyzzyzyzz{yzyyyzyxxzyyyyzyzzyxxyyxyyyyyzzzyxyxyyyyzyyzyzyzxyyxzzyyyzyyyyyyyyyyyyxxyzyzyzzzyxyxyyyxyyzzyyz{yxwyyxyxyz{xzyzzyyyyyxxyyyzzyzzyyyyxyzzyyyzzzzyzzyyzyyyyyyzyyzzzzzxyxyzyyzzzzzyyxzxyxxyyyzyyzzzzzyzyzyyyzzzzyzzyzzxyzyyzyzzz{yzzyyyzyyyyzyyzzz{zyzzyzzyzz{zzzzzzyzyyzzyzy{yz{zz{yyzzzzyyzz{zzzy{zzzyyyyyz{{y{zyz{yzyyzzzz{z{{z{zzyyyyyzyyz{z{z{{zyzyyzyyz{zzz{{{zzzyzyzz{{z{{{{zyz{y{zzzzz{z{{zzzzzyyzyyzzz{z{{zzzzzyzyyzzz{y{zzzyyyyyyxy{zyzzyzzyyxzxyxyzyyyzzzyxyyxxxyyyyyyyzzzyyxxyyxzyyzzzyzyyxyyyxyyyyyyzz|zyyxxyzxyyzzyyzzzyyyyyyxyzyzxzzzyyyyyxxyzzzyyyyzzyyyyxyyyyyzyyyzyyyyyyzxyzxyxyzyyzyyxyxyzyyyzzyzzyyxxyyyy{yzzyzzyyyxyxxyyyxyyzyxzzxxyyzwyzxyzzyzyxyxxyyyyyz{zyzyzzyyyyyyyzyyzzyyzyzyyyyxyxyyz{zyyyyyxzzyzzzzzzzzyzzyyy{yxzzzzyyyyyyyyxxyzyzyz{zzyzyyzyyyzzzyz{zzzzyyyyyyzzzzzz{zxzyzyzzyyzz{zzz{yyzzzyyyzz{z{{{zzyyyyzyz{zzzzzzzz|zzy{zzyyzzz{{zzzyywzyzz|zzzz{zzyyzyzzz{{yzz{z{zy{zyyyzz{zz{{z{zzyzzxyyz{zzzyzzyzyxyzzyzzy{z{{zyyyzyyzzyzyzyzzzyyyxyyyyyzzyyzyxxxxxxyywzyyyzyzyyxyxxyxxyy{yzzzzyyyyyxyxzzzyzyyyyyxxyyyyyzy{yyyzyzyyxyyyyxzyzyzzyyyxyxxxxyyyyyzzyyyyxyyyyyzyxyyyyxxxyzwxyyyyyyyxxxyyyxxxyyyzyz{yyxyyxxyxyyzxyzzyxyywxyyxyyyyxzzzyyyyxxyxyyzyyzyyyxxyyyxyyyyyyyzzzyzyxyzxyyyyz{{zyyyyyyyyyzyyxyzzxxyyyxzzyzzyyyzzyyyzyyyyyyyyzz{zyyzyzxyxyzy{y{y{yyxyxzyxzzzzyzzzzyzyyyzyzzzzyzzzzyyzyyyyyzzyzyz{yzzzyyzyzyzzxzzzzzzyyyyzyyzz{z{z{zzyzyzy{z{{z{z{zyzyyyyyzzyzyzz{yxyyzzyzz{zyzzzzzzzyyzzy{zzzz{zzzzzyyzyzyz{zzz{{{zyzzzyyzzy{z{{yyyzyyyxzzzzzzz{{zzxzzyzyzzyzzyyzzzyyyyxzyzyyzyxyyyxyxxxxyzyzyyyxzyxyxyxyyy{zzy{zyxxxxyxyyyyyzzzyxxxxyyxxyzyyyyyzyyyxyzyxyyyzyzxzyyxyyyyxyyyxyzyzxyyyyxyyyyyxxyyyyyyxyyyyyyyyzyyyyyyxxxxxyzyzyyzyyxxyyyxyyyyzyyzyyxyxxyxxyzyzyzzyyyyyxyywyzyyxxzzzzxwyxxxxzzyyzzyyyzyyyxyyy{zyyzzzyxyyxyxyxzzyzzzyyyyyyyyzzyzyyyzxyyzyyyyyzzy{yyzyxyzyxxyzzzyzyzyxwyyyyyxy{z{z{zyyywyyyxyzzzxyzyyyyyxzyyz{zzzzzz{yyzxyyzyz{zzzz{{zyyyzyyxyzzzzzzzxyxyzzyyzzzyzzz{yzzyxyyyzz{z{zzz{yyyyyzy{{z{zz{zzyzzxxyz{yz{z{zzzyyzzyyzzzzyz{{{zzzzzzyyzzzyyzzzxzzyyyyyyzzzyz{zzyyyyyyyzzzzyzzyzyzyyyxyyyzyyzyxyyxxyxzyzzyxyyyzyyyxyxxyyyzyzyzzyyxyyz{xzyyyzyzyyyzyxxyyyyxzyyzzyyxxyxxxyyzzyzyzyyyxyyyyzzyyy{yyyyxyxyyyyyyyyyyyzxywxyzyzyyyyzzyxxxwyyxzyzyyyzyxyyyyyyxyyxxyz{z{xyyxyywxyyyzyyyzyyxyyyyxxyyxzyyzyzyyyyzzyyzyzzzyxzxxxyyyzxyyyzzzzxx{yxzyyzyzyzzyyxyyyyyxzyyyyzyxyyyyyxxxyyzzyzzzyyyyzzzyxzzyyyyzyxyyyxyxzzyzzyzyzyyyyyyzz{zyyzz{zyyyyyyxzz{zzyzxyyxzzzzzzzzzz{zzzzzzyzyyzzyyzzzz{zy{zzzyz{z{{z{{yzz{yzzyzyz{zzzz|y{yyzyzyzy{z{{{zyzyyyzzyzzyz{zzzyzzzzzyz{yz{y{{zzyyzxyzy{z{z{zzyzyyyyzyyzy{zzzzyzzyzyyyyzz{y{yzyyyzyyzxzzzyzzyzxxxzyyxyyyzyyyzzxyzyxxxxyyyxzzzzyzyyyyzxzyyyzzzyzyzyxzzyzyyzyxzzyyyyyyxyzzzzyzyyxyyyxxxyyyyzyzzyyyyxxxxxyzzzyzzyyyyzxyxxxzyyyzzywxyxxyxyyzzyyyz{yyyyxywyxxzzyzzzyyyxwyxyzyyyzyz{zyxxyxyxxzyzzyyzyyyyyyxxyzyyyzzyzyyyxyzxxyyyzyzyyzyzzyyyyxy{yzzzyxzzyy{yyzyy{zzzzzyzxxyyzzyzyzzzzzyyzyyyyzzyzzzzyzyyzyyyyzyzzzzy{yyyyyyzz{zzzy{|zzyyyzzzzy{{yz{yzyzzyyyyzzz{z{y{zyyzzzyyyz|z{y{zzyyy{zyzz{{{zz{zzyzzzzyyz{zzz{zzzzzzyzyzzzz{z{{{zz{z{zzyz{zyz{zz{yzy{yxzz{zzyz{{zy{zzzyy{zz|{{{z{zzwyyyzzzz{y{zzzyxzzyyyzzyzzzyzxzyyzxyyyzzyyzyzyxyyyxyxyzzzyyyyzyyyyxyyzzzzyzz{zyxxyyxy{yzyyzzzyyxyyyxyyxzzzyzyzzzyxyyyzyyzz{yzyzyxyzyxyyyyyzyzzyyxyxyyzzzxyzzzyyyyyyyyzyyyyzyzzyyyyyxxyzzyyyzyzxzyyyyyzxyzzyzzyyyyxxzxzzyyzyzyyyyzyxyyyyxyyyyzzyzxyyzyyyyzxzzzyyzzzyzyy{zy{z{zzxxyyyzyyyzzyyzzyyzyzyzzzzzzzzzzyyyyxyyxzyzyyzzzzzzxxyyzz{zzzzzyzzzyzzyzy{yzzz{zyyyyzzyzzyzzyzzyyzzyzzyzz{z{zzzyyyzzyzzzzzzzzzzzzyzyyyz{{{z{z{{zzyzxyzzzy{zzzz{zzyzzyyzz{{yz{zz{zyzzzyzzz{zy{{{{{yzzzyzzzz{zzy{{|zzyzzyz{|z{{zz{|{zxzzzyzzzz|{|{{yyxzzzyzzz{z{zz{zz{yzyyz{zzyzz{yzzyzyyyzzz{zzxyyxxyyxyyzyzyxyz{yyyxyxxzyyyy{zzzzyyxzyyxzyzyzzzzyxyyxyxyyyzzxyzxzyxxyyzyyyzyyzyzyxyyyyyxzyyyzy{xzyzyzyyxyyyyyzzyxyyxxxyyyzyzyzyzxyxxxyzyzyzyyyzzxyzyxxyxyyzzzyyyyyyyxyyyyzzyzyyzyyyxyyyyyxyyyyyyxzyyyyxxyzyzyzzyzyyxyyyxyzzzyzzyyzyyxyyzyyzyyyz{xzyyyyyxzyzzzzyzzyxyyxxyyyzzzz{zyxyxyyxzzzzzy{zzyyyyyxzyyzyzyyzzyyyyyxyyz{yyzzxyzyyyzxyzzz{|yz{yyzzzyzzyzyzyz{{zzyyyyyyxz{zzzyzyzyxzyyzz{{{zzzzyzzyyyzzyyzzzzzzz{xyzz{x{y{zz{{{zzz{{yzzyzz{y{zz{{xyzyzyyz{zzzz{{zyzy{zyzzzz{zzz{zzzyzzzyzzz{z{zy{zzyyzyyzyzzyzzzyyyyyyyyxz{z{yyyyxyyyyyxxzzyzxzzyxxyxxyyxzzzxyz{yyxyyyyxyzyyzyyzzyxyyxyyyyzyxyyzyxyxxyxyyyyxyyzzwyyxyyyyyzzyzyzzyyxyyyyxyyyyzzyzyyyyxyyxyxzzyzxyyxxzyxyyzzzyyxzyyxyyzzxxzyyyzyyyyyyxyyyyyzyyyy{zxxxxzyyyyzzzyzyzyyyxxxyyyy{yyzzyyyyyyyxyzzzyzzzyzyxxyzzxzzyyzyzzzyyyyyzyyyzzyzyzyyyyyyxyzyyyzxzzzyzyyzyxyyzzyzzzzyyyzzyyyzyzyyz{yzzyyzzzzzzyzz{{yyyzzyyyz{yzyz{{zxzxzyzz{zzz{zzzyzz{yxyz|zzzzz{{xyzzzzyy{z{zyz|zzzzzzzzzz{zyzz{|zyyzyzzy{zz{z|zzzyzyyzzyzyz{zz{{zyyyyzyyz{z{zz|zzzxzzzyz{zyzz{{{zyyzzyzyzzzz{y{zzzxyzzyyzzyz{zyzzzzzyyzxyzzz{zyyyyyxyyyxxyzzyxzyyyxxxxyxzyzyzzyzyyxxxyyxzzyyyyzzyxyxxyyzyzzyyzzzyzyyxyyxyxyzzzyyyyyxyyxxxyxyyyzzzyyxxxxyzzzyyyyyyyyyyxyzzxyyyxzzyxxyyxyxyzyzyyzyyyyxyyxzyyyzyyyzyyxxxyyyxyyzyzzxyzyzzyxyyyxyyyyzzyyyyyyyyyyyxzzyyyyyyyyyzyyxyzz{yxxyyyyzyz{zxzyzxyyyyxyyyyzzyzz{xyyyxzyyyyyyz{zyzyzyyxyyyzzzyz{yzzzxzyyyzzzzzzzzyyxyyzyzzz{{z{yzyzyyzzyyz{zzzyzzyyyzxy{yzzzzyzz{zyyzyxyz{z{zzzz{zzzyyzyzzzzzy{{{zyzyzyzzz{yzz{yz{yyzzyyzy{z{zz{z{{zzzxzy{zzz{z{z{yzzzy{zzzyzzyzzzyzyzzyz{zy{z{z{zzyyzyyzz{yzz{{{{yyyyyyzyyy{zzzzzxxyxxyyzyzyyyyyxzyxxzxxyzzyzzyyyyyyyxxyzxyzyyzzzyyyyyyyyzxyyzzyyyyyyyyyyyzyyxyzxyyyyyxyzyzzzzy{yyzyyyyxyzzyzzzyzyyyxyyy{yyzzzyyyyyyxwxyyyxyyzyzyxyyyxyxzyyzxzzzyyyxxxxyyzzyyyzyxzyyyyyxxyyyyyyzxyyyyyxxxzxzyzyzxyyxyxxyyzzxyzyyyxyyzzyyyyyzzyzzyyyyzyxyyzzzzy{zyzyyyyyz{yxyyzz|yyzyxyyxzyzzyyzzyyxzyxyxzzzzzzyzyzzyyxyyz{zyzz{yyyyyyz{{z{zzyzzyyzzzzyzxzzzzyzz|zzzyyyzyz{zzzzzzyzzyyyyzzzzzzzz{zyyyzzzz{{{zzz{{zzzzyzzyyzzzz{z{{zzzy{{zy{{zzz{zzyzzyyyzzzz{zzzzzyyzzzyyzzzyzzz{zzyyzzyzyzy{zzz{z{zyyyyyxzz{zz{zzzzxxyyyz{z{yzzzyyzyyxzxzyyzyyyzyzzxyyzzyyyyyyzzyyyyxxyxyyyzyzyzyyyyyyyyyzzyyzzzzyzxyyxyyyzzyyzzyyyyxyyxyyyzzzzzxyyyzxyxzyyxy{{zyyzxyyxyzyzzzyyxyxyyyyyyyzyzzyyzyyyyxxyyzzzyz{yyzxyyxyxxx{yyyzzyyyzxyxyyyzyzzyyzyyyyxxyyxzzzyzzyyyyyzyxyyyzzyzz{yyzzzzyzyyyyz{yzzyyyzxzyyzyzz{{zzyzyyxyyyzzzzzzzyzyyzyzxzzyzyzzzyyyxzxzzzyzy{{zzzyzyzzzyyz{yz{{zyzyyzzyyyyzyyzy{yzyzzyyzzzzzzz{yzyzyzyzxzzzz{z{zzzzzzyzz{zyzzz{{zyyyzzyyyzzzz{{zzzzzy{z{{{{zzzzzzyyzzzzzyzzy{z{zzzzzy{yzzzz{{{zzzzyyzyyyyz{{{y{|{zyy{zzz{zz{{zz{{yzyz{yyzzyzy{{zzzzyyzzzz|{zzyz{yyzyyyyyzzzyyyzzxxyyyyxxyyzyyyxyyyxyxyxyyzyzzyyzyyyxyyxyyyyzyz{zzyyzxzzyzyzzyzzzyyyxxxyyyyyyyzzzzxxxyyyxyyyzyzzzzyzyyyyyyyyzyyzxxxxxxyxx{yzxyzzyyyyyyxyyyyyyyzyyyxyywxyxyzzxzyzzyxyyxyyyxzyyyzzyxxxyxxxyyyyxyzyzyxyyyyxxyzyzyyzyyxzyyzyyyyyyyzzzzyzxyyyxyyzzzzzzyyzzyxxxyxyz{{zzxzyxyyxyyzzzzzzyxyyyyxyyyzyzzzzzyxzyyyxyyzzyzy{zyyyyzyyyzyzzzzzzyyyxzxxyyzz{yzzzyyzzyzzyzzzzz{z{zyyzzzzyz{{{z{{y{xzxyzyyzzzzzz{zzyyzyzyzy{zzzzz{zyzyzyyyzzz{zyz{zyzzyzzzzzz{{yzyzy{yyyyzzxzyyzzz{yyyzyzzzzy{zz{zyyyyyyzyyzzyzz{{zyxzyyyyyyzyyz{zzyyyxwzyzzxzyyyyxzwxxxyyyyyyzyyyyzxyyxxxyxzyzzzzxyyxxxxyyyxzyz{yzyywyxxyxy{yzyxyzyyxxyxxyxzzyyyzxxxyyyzxyyzyyzzzyyxyyxxxyyyyyyzzyxzyyxyyyxzyyzxyyxyyyxywyxyyzyyzyyyyxxwyyxzzyyzzzxyyxyyxxyzyyzyzyyxxyxyxyyyyyyyyzyxxxyyyxzyxyyyzyxyyxyyxxyzyyzyyyxyyyxyyyyzy{yzzxxyxyyyyyyzyzzyyzyzzyyyzxzzzzyz{yxyxyxyyyyzyyyzyyxyxxzyyyzzzzyzzyyxyxxxyzzzzyzzzzyyyzyyyzyzzy|zzxzyyzyyxzz{y{z{zyzyyyyyy{zyzzz{yzyyyyxy{zy{zz{{zyyzzyyzzzzyyzyzzzyzyzzyz{{zzzzz{zyzyzzyyzzz{yzzzzyxzyzyzyyy{zz{{zzyzzzyyzzz{zz{zzyyxyyzyxzzzyyzyyyyyxyyyyzzyzzzyyxyyxxyxzyzzyyzzyxyyzxzwyzzzzyyyyyyxyxxyyzzyzxzzzxxyyzyxyyyyyzzzyyyyyyyyy{zzyyzzyyywxywwyzzzyzyzyyyxyyxxzyzzyyzyyxyxyxyxyzyyyyzzyxxxyyxyyywyyzyyxxyyyxxxyzyyzzyyyyyzxyxxxzyxzxyyyxyzxyxxyzzzyzzyyyyyyxyyyyyx{{zzyyyxyxxyyzyyzzyyyxyyxyyxzyyxyyzyyyyyyyzyzyyyzzzzyzxyxxzyyyzzyyz{yyzxyxyxyyyyzyzzyyyyyyyyyyzzz{yzyyyyyyyyyzzyyyz{yyzyzyyyzz{yzzzzyyyzzzyzzzzzyzzzyzyzzzzyz{zzzz{zzyyyyyyy{zzzzz{yyyyyyxzyz{zz{{{{yyzzzyzzyzzzzz{zz{zyyyzyzzzzzzz{yyyzzyzzzzyzyzzzyyzzyyyzyzy{{zzzzyzzz{zz{{zzzzz{zyyxzyzyzzzz{{zzzyzzyyzxzzyzzzzzyyzxxyyyzz{zzzyzxxxxxywyyzyyyxyyzxzzxwyyzz{yzzz{yyyxyzzyyzyyzzzyzzzxyyyzyxyyyxyyyyxyxyyxzzyyyzzyyyxxxyyxyzzzzz{zzyyxyyyyyxzzyyyzyyxyyyyyyyyzyy{zxxyyxyxyzyzyzzzyyxxyxxyyyzzzzzzyzyyzyxyyyzyyyyzxzyyyxxyxxzzyyyzzzyyxxyxyyxzzy{zyyyyyyyyxyzzyzy{zyyzyzyyyyzzyyzzzzyzyyyyyyzzzzz{zyzyxyyyyzzzyyyzyyyzyyyzyzzyzzyzzyxzzyyxyzzzzzz{yyyyzyzxz{zzyzzzzyzzyyzzyz{zzy{zyyzyyzyzyzzzz{{yzyyzzyzzyy{zzz{{zzxzyzyzzzzyzz{{{yzyzzyzzz{{zz{{z{yyyzzzzzzzzz{z{zyzyzz{yzz{zz{z{zyyzzyyzz{yzzz{yzyzyzyyz{{y|z{zzzzzyzzyxzzzzzzz{zzyyyzzyz{{zzzzz{xyyyyzxyzyyyyyyyyyyyyyyyzzzyyzzyyyyyxxyzzyyyzz{zxyxyxxyyyzzyyzzyyyyyxxxyyyzxyzzyyzxyyyxyzyyzzzzyyyxyyyxyyyyzzzzyxzyyxxyyxyyy|zzyyyyyyyzyyzzyzyzxxyyzyxyzyyyxyyyzyyyzzyxxzyzzyyyyyyyyyxyxyyyyzzzyyxzyxyxyyzzzzzyyyxyyxxxxyyyyyyyyyyxzyyxzzyzzzzzzyzyyxxyzzyzyzzyyyyyyzzyzzyzy{y{zyyxyzyyzyzzyzzzzzyyzzyyyzy{zyyzyyzyyyyzzzzzz{{yyzyyxyyyzzzzzzy{zxyyyzy{yzyzz{z{yzyzzzyzyyzzzz{yzyyzyzzy{z{zzy{zzyyzyyyyzz{zzz{zyxzzyzzzzyzz{{{{zxzzzzzzz{zzz{{zzzzyyyyz{{z{z{{zzzzzzzz{zyz{{z{{zzy{{zxzz{y{zzz{zzyyzyzyyyz{zz{{zzzyyyzxyzy{zz{yyzzyyxyyyyzzyzzyyyyxxxxxxzzyz{yzzyyyxyxyzzyzzzzzzyyxyyyxyyyyy{yyzyyyxyxyzyzyyzzzyzzzyxyxzzzzyzy{zyyyyxyxxyzyyzzyzyxyyyzwzzzzyzzyxzyyxxxzyyyyyyzyxyxyzzyxyyxyyyyyyyyxyzyyyyyyxzyzyzyzxyxyzzyxz{yzyyxyyxyyxyyxyyxyyzyxyyyzzyyzyzz{zyyyyzxyzyzzzzzyyyyyyyyyzyzzyzz{yyyyzxyxzyyzzzzzyzyyyxyyyyzzzzz{yyzxyyyyxzzzz{yy{yzzxzyyzzzzzz{zyyyzyzyyzzzzzz{zyzzyyzyyzy{zz{zzyzyzzz{zzyzz{{{{zzyyxyzyzz{zzz{{yy{yyyyyyzyz{y|{yzzyyyz{zyz{z{z{{zzzzxyzyz{{zzzzzyzzzzyyz{zzy{zzzzzzzyyz{zzz{z{{zyyzyzzzzzz{zzz{zyxyyyyyzzzzzy{{zzyyzzxxzzyzyzz{yyyyyxyxyzzzyyyyyyxxyxxxxyzyyyzzyyyyyxyyyyyyzyzzyzxyyyyyyzzzzyyzyyxyxyyyzyyzy{zyyyyxxxyxzyyzxzyzzzyxxyyyyyyyyzyzzwyyyyxxyyyyyzyyxxyyxyxyyyzyyyy{xyyyyxxxxyyyyyzyyyzxyyxyyyyyyyyzyyyxyyyyyyyzzz{yyxyxxyyyxyyyzyyyyyyxyyxxy{yxyzz{xxxxyzyxzyyyzyzzyyyyyyzxzzxzzzzzyyyzyyyzyzyzz{{{yyyyyzxyyzyyzz{zyyyyyyxyxy{zzzy{zyzxzyyxzzzyzzzyzyyyyyyzzzyzyyzzyzzyzyzyzzzz{zz{zxzy{zzyzzzyzyzzzzzyyyyyyzzzzzzyzxyyyyy{zzzz{z{zzzzyyzyzzy{{{zz{yyzyyyzyzzzz{zzz{yzyzyyyzzzzzzz{zzzzzyyzz{{{z{{{zyyyz{zyyyzzz{{z{zzyzyyyzzy{yzzz{yzyyzyyzzz{yzzzzyyzyyzzzzzzzzyyyyyyyyyxyyzzyyy{yyxyyxyxyyzzzzzzyxyxyzyxxyzzz{zyzyyzyxxxzzxzyyzzzyyzxyyxzyyzyyzzyxyxyyxyzxyy{yyzzxyxxxxxyyzyx{yyyyyyyyyyyzyzyyyyyyxyyxxyyyyzyzyyyxyyxxxyzy{yzyyyyyyyyxyxyyyzxyyzzxyyywyxyxyyxzyxxyxxyyyyyzyzyyyzzyyyyxzxyzzyzz{yyyyyyxyyyzzzyzzzzxzyzxyzzyzzyzzzxyyyyyyyyy{z{y{yzyzyyxyyzzyzzzz{yyyyyyxyzz{zz{zyyyyzyzyyzzzzzzz{yyyyyzzxzz{zzz|{zzzyy{zyyzy{{zz{{yzyyzyyzy{zzzzzzyzyzzy{z{zyz{zz{zy{zzzzz{y{z{{{yzzyyzy{y{y{z{zzzy{zzyzzzzz{z{zy{zyzy{yxz{y{z{{{zzyyyzyy{zz{zz{{yyzyzyzzyyyyzzz{zyxyyyzyzzzzyzzzyxyyxyzyzzzyzz{yyyyyxwyxxyyxzzyzyzyzyyzxyyzyyzyzyyxyzyyzzyzyzzzzyxyyxzyxyyyyxzzzyzyyyyyyyy{zz{zzyyyxyyyxyyzyzzyyzyyzxyyyzzzyyyz{yyxxyxyyyyzyyz{zxyyxxxyyyyzzyzyzyyyxxzyyyxyzyzyyyyxyyyyxxy{yyyzyyyxyzxyxxzzyyzyyzyyyzxxyyzzxz|yzzzyyyyzxxzzzzzzzzyyzyxxxyyzyyzzzyzzyyxzyyyyzzzzzzyyyyzyyzxzzzzzzyxyyyyyxzzz{zz{yyxzyyzxxyzzyyyzzzyyyzxyyzyzzzzzy{yyyyyyyyzzyz{zzyzyzyzzzzzy{zzzzyyzyyyyz{{zyzzyy{yyyzyzyz{zyz{zzyzzyyzzyyzyzzz{z{yyyzzzyz{{{{z{z{xzzyyyyzzzzyz{zzyyzzzzyz{yzz{{zyzyyyyyz{zzz{z{zzyzyyyyzzyzyz{{zzyyzyyyyzzzzyz{zyytyyyzyzyzzzzyxyyxxyyxwyyyyzyzyyyyyxxxxyxzyyzyzxyyxyyyyzxxzzyy{xxzxyyyxzyzzzz{zyyzyxyyxxyyyyyxyyxyyyxyxxyyyyzyyzzyxyyxxyyzyyyzyyyzyxyxxxyyxyyyyxyyxyxxyyx{yzyyyxyxyxyyyyyyyzyzzyyyyxyyxyxxyyzzzyzxyyyyxyyyxxzyzyyyyyyzyxyxyyyzzxxyyyzxyxyyzyzzzyxyxyyxyyzyyzzzzzyyyyxxyyzyzzy{{xzxyxyyyzzzzzzzyyyyzyyzyxzzyyzzyzyyxzxyzyzzzzyzyyxyyyyyyyyzzzzzyzyyyzyzy{zzzzzzzyyyzyyyzyzyzy{z{zyyyyyyzzz{{yzzzzyyyzyyzz{zzyzzzzzz{zyzzyzyzzzzz{{yzxyzzyzzzz{{zzxzzyyyyz{y{yz{yzzyyyzyyzzzzy{{yzyyzzzyyyzyzzzyzyzyyyxyyzzyzzz{{zzxzyyzwyzzzyzyxyxyyyyyyyzyzzzzxyyyyxyxyyyzyyyzzyyzyyyzyyyyyzyzzyyyyyyyxyzyzyzzyzyyyyxyxyzzyyyzyyxyywyyxxyzzyzzxyyyyyxyxyyxzyyyyyxyxyxxyyyyyxyyyyxyywyxyyxzyyzyzxxywxxyxyzyzyyzzyyyyyxxyxyzyyyyyyxyxxyyxyxyzyyzzyxyxxyyxzxyyzyxzyyyyyxyyyzyyzy{zyxyyyxxxzyyyyyyyyyxxyyyxyyzzyzzzyxyxyyyzyzzzzzzzyyzyxyyy{yyyzyyyyzyxxyyxyzzzy{zyxyyxxxxyzyyzyzzyyzyyyyyxzzzzyzzzzzzzxyyy{zyzzzz{zzzyzxyyyzy{z{{zzyxzyzyxzzyxzyyzzyzyzyzzz{z|{z{zzyzzyxyyy{zzzyzz{yyyzyzyz{zyyzz{zzz{yzzz{zzzzz{{zyzyzyzzz{zz{{{{zyxyzxzzzzy{z{zzzzzxzxyyzzzzx{zzzzyxyzzyz{zyyy{zyzzyyyyyyzzzyzzzxyyyxyxxyzyzzy{zxyxxzxxxzyzzyzzzyxywyyyxyyyyyz{zyxzxyyyyyyyzzzzzyyyxyyxyyyyyyzyyyzyyyzyxyyzyyzzyyxyyyyyxzyzyxyyyyyyyyxyxyzyyyzz{xwyyxxxxyyyyxyyyyyxyyxyxy|yy{zzzyxyyxyxyyyyyyzzzyyyyzxyxxzxzyzyzyyyxyyyyyzyyzyzzzxyyyyyxzzyzyyyyzxyyyyyyzzyzyzz{zyyzyyyyzzyzyyzzyzzyyyyyyzzzzzzzzyxyyxyyyzyzz{zyyyzzxyyxzz{zzzzzxyzyzyyyzz{yy{zzyyyxzzzzzy{zzzzzyyyyzyyyyz{zyzz{yyyyyyyyzzzzzzzyzyzzzyyzzzzzz{z{zyzyzzyyz{zyz{zyzyzyzzyzyz{{{z{zzyzzyyy{{z{z{zyyzyzyyyyy{{{zzz{zzy{yzyyyzzy{zzz{zyzzyzzzyz{zz{zzzzyyyyyyyyzzzzzzzyyzzxxyzzzzzzyyxxxxyxyxxzzxyyyzxyyyyyyyyzyzzzyzzyxyxyyxyyzxyy{yzyyyyyxyyzyzzzzzzyyyyyyxyy{zyyyyyyzyxxyxyywyyyzxyyyyyxxyyyzyxzyzyyxxyxxxyyyyyyzyyyyxxyyxyzyzyyzxxxyyxyxxyyyz{{zzyyyyxyyxyyzyzzzyyyyyxyyxzzzzyz{yyyxxyxyyxyyyzyyyyyyzyyxxyzyyzyzzyyyxyzzyyzyyyyzzyyyyyyyxzzzyzzzzyyyxyyxzyzzyzzzyzyyyzzzyyz{zyyyzzzyzyyyxzyzzzzzyyxxyyyyz{yyyzzzzzyyzzyyzy{zzz{zzyzyzzyzzyzy{zz|z{yyzzyzzzzzzzz{zzyyyzyzz{zyzzzzzzzzzzyyzz{zyzzzzzyyzyzzyz{z|zzzzzzzyyzzy{{{zzyyz{yyyzzyzyyzzzzz{zzzy{yzyzz{zzyzzyyzyyzzzzyzz{z{yyyzyyzzzzzyz{yzxyzyxyzyyy{zzyzyyxyxxyxxwyzyxxyxyyyxyyyxxyyzzyyzzyxyxwywyzzyyxzzyyxzyxyyyyyyzyyyzyyxyzxyyyyzyyyzzyyyxzyxyyzyyyzzzyxyyyxyxzyzyyyzyyyyxxyyyyyyyyyzzyyyyyyyxyyzxxyyxyxyyxyxxyyzyyyzzyzzxxxxyyyzyyyzzyyyzxxyxyyyyyyzzxywxzyyzzzzyyzzzyyyyyzyxxyyyzzyzzyyxyyxxzzyzzyz{yyyxyyyxyzyzyzzzyyyzzyyxyzzzyyzxyzyyzyyyzzxyyzzyzzzyyyyyy{zyzzyyyxyyyzyzzzyyzzzzyxzyyyyyzzy{zzzyzyzyyy{yzyyzz{z{zzyyyyxyy{zz{{zzzyzzzyzz{{z{zzz|zzxyzzzzzz{{{z{zzxyzzzzyy{zzzz{{zzxyzxyzzzzzzzy{zyy{zyxzyzy{yz{{zyyzzyyzzzyz{z{{yyzyzzzyzzzzzz{{yzzyyyzxzzzyyzyzyzyxyyyyy|zzyzyzyyyyyyzxyzzyyzz{yzxyxwyyyyzyy{zzyxyxxyzxzyyzzzzzyyyyxyyxyzzzyzzzzxyyzyyxxzy{yzyzzyyxyzyyyzzyz{xyzyyxyzyxyyzyzzzyyyyxxyxzzyzzy{zyyzyxwxxyzyzxyyzzyyyxxzyyyzzyzyzzzyyyxyyyyyyyzzyxzzyyyyyxyzyzxyyzzyyxyyyxxzyyzzz{yzyyyyzxyzyzzz{yyyyyyyzyzyzyzyzzyzyyzyyzz{zyyzzzzyz{yyxxyzzzyzyzzzzyyyyyyzzz{zz{yyzzyyyyzyzzzz{zyzyzyyxyzzyzyzzzzyzyyyyzyzzz{{{zyzzzyyyzzzz{y{z{{zzyyzyyz{yz{y{yzyzzzzxz{zzzyzzzzy{zyzzzzz{zz{|{{{yyyzyyy{zz{{zzzzyzzy{zzz{{{zzzzyz{z{z{zzzzz{zzyzyzyzyzz{z{yzz{zyyzzyzyzzzyyyz{zzzyyzyyzyz{zz{zyzzyyyyyzyzyzyyyxxzyzwyxyzzxzzzzxxxyyxxyxzzzzzyzyyxyxywyyyyyz{zyyyxxxxxyz{yyyzzyzyyxyyyzyzyyyyy{zxyyyxyxyzzxyzzyzyyyyxwxxyzzxzzyyxyxyxxyxyyyyzzyxxyyzyxxyyyyyzxxyyxywyxyzxyzxzzyyzyxyyxxyyzyzzzzyyxyyyxxyyyxyyyyyyyxyxzyyzyzyyzyxxxyyyxxyzzyyyzzzyyyyxzyzzzyyzzzzzyyyyyyyyzyzzzyyxzzwyyxyzzzzy|zyyyz{yyxyzzzyzzzzyyyzyxyyzzzyz{zzyyyyyyyzzzzyz{yyyyyzyzzzz{y{y{zyzyyzyyyz{z{zy{{yyzzyyyyzzzzzzzzzxyyzzzyzz{zzz{zyzzyzyzyz{zz{{yz{yzzzyzyyzz{z{{zzxzzzzzz{{{{z{z{zzzzzyyxzzz{zzzzy{zy{yyzzzzzyy{zzyyyyyxyzyz{zz{zzzyxyyyzyzzzzzzzzzyxyyyxy{zzyzyzxyxxyxxyzyzzyyzyzyxyxxyyzyyzyy{yxzyxxyyxzzyyyy{yxyyxyxyyyyzzxyyzyxyxxyxxyyyzyzxzyxyyywyxyyyyzyyyyyyzyyyyyzzzyyyyyxyywxyyyyyyzyzyyxyyyzxxyzzyyyzyyxxyyyxxyyzyyzzzyzyyyyyyxyyx{zzzyxxyyxyyzyyyzyzzyxyyyxywyyzyyzzyyyxzxzxyzzxyzz{yyyxyyyyzzzzyyzz{yyyxxxyzyyzzyz{zyzzyxxyz{zzzzyzzyyxzzyzzzzzzzzzzyxyzyyyyyzyzzzzzyyyyyyxyzxzyyz{{zzzzzyyyyzz{{zyzyyyxzyzyzzyyzz{zzzzyyyyzz{zzzzzz{xyzzyzzzzzyyz{{zyzzyzz{{z{z{{z{{yyyyzyzz{z{{{{zzzyyyyyz{zzzzzzzzyzyyyyzy{yzzyzzzyyyzyzyyzzyzzzz{yyyzyyyyzzzyz{zzyyyzyyyxzzzzzzzzxyyyxyyyyzz{zyzxxywyyxyyzyyzxyzyxxyyyzyxyyyzzyzyxyyyyxxyyzzyyzyyxxyyyyxyy{zyzzzyywyyyxwyyyyyzyzxxyxyxywyyzyyzyzzyyzyyyyyyyyyxyyyxzxxyxxyyyzyzyyyxyxxxyyyxyyyyzzyxyyyxxyzyzyzyyzyyyzxyyxyzzyyyzyxyyxxxyyxzyyyyyyyyxxyyxxyzzyyzyyyxyyyyzxyyyyzyyyyyxzyxyzyyyzy{zzzyyyyxyzyyyyzyzzyzyyxyyyyzzyyzzzyyxxyyyyzyzyzyzyxyyyyzxyzzzyyzyyzyxyzxyyz{zxzzzzzyyyxzzzzzz{{{zzzyyyyzxyzyzyz{z{zyxyyyyyyzyzz{z{{yxyyzzzz{zzzzzzyzyzzyyzz{yzz{{zzzzyyyzyy{zzzzzz{yzzyyyy|{{zzzz{{yxyyyz{{{zz{zzzzzzzzyyzzzzz{z{zzyzyzzyyyzyzzyzzzyyyyyyyzzxzzzzyxzxyyyyyzyzzxyyyyxxyxyyyxyyyyzyzyyxxxxxyyyyzzzzzzyxxyxxxzyzzzyzyzyyyyxwyyzyyyyyzzyxyxxyxyyyyxzyyzxyyxxxxyzyzzzzyxyxyyzyxzyxyyzyzyxyxyyyyyxyzyyzyyyyyxxyxxyyzzyyyxyxyxzwyyyyxzyzyxyzxyxxxzyyzyxzxyzyyywywyyxyyyxyyxxxyyxzyyxyyyzzxxyxyyyyyzzzzyyzyxxxzxyxzzyyyzyzyyyxyxyxzyyzyzz{zxyywyyyyzzyyzyzzxyyyyyzyyyzyyyzxyyxzyxzyzzyyzzyyxyyyxxy{yzyyzzyzyyyyzxy{yyzz{zyyzyzzyyy{zyyz{{zxzyzzxyyzzz{zz{zzyzzyxzyzyzyzz{zyzzzyzzyz{zyyzzz{yxyzyyzy{{z{{zyzxyyxyyyz{zzzy|zyyzzyyyzzzyzzzzyzzyyzzyzz{zzyzzzyyyxyzyyyyzzzz{zzyyyyyyyzzz{yyzyyyxxyyyxzyzyyzyxyyxxyyyyyzyxzz{zyyyyxwzxyyzyyz{{xxxxxyzyyzyyzyzyyyzyxyxxxxzzyzzzyzxxxwxxyyyzzzyzyyzyyxyxyzyzyzyyyyyyyxyyyxzxxyyzyxyxxyxyxyzyyzyyyzxyyxyyyyzyxy{yyyyxxyxxyyyyyzyyyyyxxxxyyxyzxzy{xxxzyxyxyyyyyxzzyyyyxyywyyxxzzzzzxyzxyyxzyyyyyzzyzyxyyyyzyyyzz{zyxyyyxyyyyyyyzz{yxyyyxyxyzzzzyzzxzy{yxxxyzzyyzyzzxzyyyyyyzzzyxzzyyzyyyyz{zzzzzzzzyyyyyyyzyzzzzyzyzyyyyyyzyyzz{{zzyzyzyyzz{zzyzzzyyyzyyzzzzzzzzzzzyyyzz{zzzzzzz{{{yxzyzyzzzzzzyzzzyzyyzzy{yz{{{zyzyzzzzzzzzyzyzzzzyyzyyz{zzyzz{z{zyyyxyzyzzzzy{zzzyyzzyyyzzyzzyyyzyzzyxyyzzzyzzxyyyxxyxxzxzyxyzzzyyyzyyxyzzzyzzyzyyyxxxyxzyzzzzyyyxyyxwyxyy{zyyzyyyxyyyyxyyzyyyy{xyxyxyyxyzxyzz{zyxxyxyxxzxzyzxzzyyzyyxxxyyyyyzyyxxyyzxxyyzyzxxyxzyywyyyxxyzyyyzyzxyyxyyxyyyzyyzyxyyyxxyxxzyyyzyzyyxyyxyyyyxxzyzzyyyxyzyyyyyzyzzyyxxxyyyzzyzzxyzzyy{yyyzxzz{zz{zyzyzyyyyyzzzxyy{zyyyyyxyxzzyyyzzzyy{xyyyyy{z{yzzyzxyyyzxyzzyyzyzyzyxxzyzyyyzzzyz{zyyyyzyyzz{{zzz{yyyzyyzyzzy{zyzzzyzy{yzyzzz{z{z{zy{yyy{zyzyz{zzzzyzyzzyyzz{{zzzz{zzzyyzyzyzzz|{zzyyyzzy{z{zzzyz{zzyzzyyyyxz{zzzzzzzxyzzyz{yzzz{z{zyyyzxyz{zz{zzyzzyyxyzxxyzyyyyywxyxxyxx{xyyyxzyxyyxyxyxyzyzyzzyyyyyxyyxxxxyyyyzxyxyyxwxyyzzyyzyyyyxwxyxyzzyyyyyyyxxxyxxyxzyzz{yyyyyxxxyzyyyyzyyyyyyxxwyyzyzxyyyxxyxyxyxxyxyyyyzxxxxxywxyyzy{yzyxyyxxyxzyyyyyyyzxyyxyxyxyzyxzyyyyzyxzyyyyxyzyxyyzzyyxyxyyyxxyzzzzyxzxxyyyzzyzyzzxyyyxxyxxyyzyzzyyxyyyyyyxzyyyzzyzyyxxzxyz{yxyy{zyyyyyzyyyy{zyzzyyyxyyyxyzzzzyzzy{zyyzyyzzzyzyzyyzzzyyyyyzzyzyzyzyyyyzxzyz{y{zz{zzyzzyyzz{zz{zzzzyyyyyzzyzyzzzzz{{yxzyzzyyzzzzzz{zyzyzyzzzzy{yzzz{xyyxyyzyyyzzyz{zzyyzxyyyzyzzyzzyzyyyzyyzzz{zyzzzzxyyyzxzyyyxyzzyyzyyyyyyzyzyyyyyxxxxyxxyyyyyyzyyyxyyxyxzyyzyx{yzxxxxxxwyyzzyzyyxxyyxxxyzzyzyyzzyyzyxyyxzyyzzyzyyxyxxyxxyyyyyzzxzyyyyzxxxxyyyzzyyyxyyyyxzxxyxyyzyyxyyyxyyzyyyyzyzxxyxxyyzyxyyyyzyxyyxyyyyzyyyyzzxxyxyxyxyyxyzzzyyyywyxxxxyyxyzzzyxxyyyxyyyyzzzzzzyyxyyyzxyyzyyzzzxyyyxzxyzyzyz{{yyyyyyzyzyyzzzzzyzyzzxxyy{zyzz{yyxxyzxxyzzzzyzyzyy{zyxyzzzzzzyzzzyzzxxyyzzy{zy{{yyyxzyyzyzzzy{zzyzyyyyzyzzyzzy|zyxyzyyyyzzz{yz{{zzzyzz{yzyzyy{{z{zzzyzzzy{zzz{{zzyyzyyzzz{{zzzzzzyyyzzyyy{zzzz{{{yyyzzzzzzyzzzzzxzzxyzyzyzzzz{{zyyxyyyyyyzzzz{zyyyyyxxyyyyzyyyyxyyyyyxyxxyzyzyzzyyyyzxyyyzxyyzzxyyyxxyxzzyyyz{zy{yxyxyxxzyyzyyyzyzyyxyzxzxyxxyyyyyxyyyyyyzxyyzyyyyzyyyyxzzzyyzyyyxyxxyxyzyzyyyyyyyxxyyyxyyyyyyzyyxxyyyxyyyyyyzzzxxxxxyyyyxzzyyzyyyxyzyzxxzyyxzy{yyywxxxxxzyzyzzzyyzyyyxxyxyzzyzzyxyyxxzyzzyzxyzzyyyyxxyyyyyyzzzzzyzxyyxyyzzyyz{zyxyxyxyyyzzyzyyzyxzyzyyyyzyyzz{{yyxzyyyyyzyzzzyzzyzzzzyyz{zzyzyzyyxyzxyzzzzzyzzzzzzzzyyyzzzzzzzzzzyzyzyzz{yzyy{zzzzzyzzz{zyz{{z{yzyzyzxyz{zzzzzzzzyzyyyy{zzyy|{{zxyyzyzzzzzy{yzzzyzyyyyyzzzzzzzzyyyyyyyyz{{zyzz{{zyzyyyyyzzzzzzzzyzyzyyyzyyzzzyyxyyyxxyxyzyyyxyyyyyyyyxxxyyzxzzzyyyxyyyxyyyzz{zzzyywxxxxxyzyxyzyzyzyxyyxyyzzyyz{yyzyyxyyyzyyzzzyxzyxxywyyyzzyyyzxzzyyyxyyzzzyzyyxxyyyyxyxyzzzyyzyxyxyxwzxxzyyyzzyxyxyxxxxyzyyyyzyxyxxyyyyxyyyyxyyyyxxxxxyzxyyzyzxxyyyywyxzzyyzyzyyyxyyyyyz{yzzyzzzyyxxyyyyzyzyy{yxyyyyyyyzzzzyzzyzzxyxyxyyyzzy{yyyzxyyyyyxzzy{zzyzyyyyyzzyyyzzzzzyyyzzzyzyzzzz{yyxyyzyyy{zz{yzzzzzyyzyy{zy{{zyzzzyxyyzyzzzzzzzzyyyzyy{zyz{zzzzzzyzzyyyzyz{{z{z{zzyyzzzyy{z{z{{zyyzyyzyyyzzzzyzy{zzzyzyyz{yy{zz{zzyzyyyyyyzzyzzz{yyyzyyzxzyyzyzzzyzyxyyyxzzzzzzyyyxyxyyyxyy{yyxzxyyyyxzxyyyxyzyyyyxyxyxxxyxzyyzyzywyyyyywyzyyyyzzxyyxxxywyyzyyyzyxwxwyyyyyyyxzzyyyyyxxxxyyyyxyzzzxyxyyzyyyyyzyyxyxyxxyyyyyyxyxzyxyyxwxxxxyzzzzzyyxxyyyyxxyzyxzyyzxxxxyxxyxxzyxzyyyyyyxxxxxzyyzyyyyyyyxyyyyzzyxzzzyyyxzyyyyzzzyyyzyyyyyxyyzyyyxzzzyyxxxyyxyyyxyyz{yyyxyxyxzyzzzzyyyyyyxxyyyz{zzyzzzyxzyyyxzzyyyyzxyyxyzyzyyyz{yzz{yzxyyzyzzzyzyyz{zyxxyyyyzzzzzz{yzxyyyyxyz{zzz{zzzzyx{yyy{zyzzzyzz{zzxzyyzzyzyzzz{yzzyyyyzyyz{z{yzyyyzyyyzyyyzzz|zzyyyyzyz{yzyz{zyyxyyyzyyzyzzyzzzyxyyyyyzyzzyzzyyyyxyxxxyzzyyzyyxyxwyyxyyzzxyyzyyxxyxxyxyzyyzzyzzzxywyxxyyxyzyyzyyyyzyxyxyzyyyyzyyyyxzyyyyyxxyyyyxyxxyxxyyyyzzyzyxyyyyxyzyyyyzzyyxyywyxxzyxyzyyzxxxyyyxxxxzyxyzyxyxwxywxyyzyzyyzyyzyxxxxyzyyyzzyxyyyzxxxzxxxyyzzyyyzyyyxyyxzyyyzywyxyyyyyyyyxyzyzyyyyyyxyzyyy{{yzyxyyxxzyzyyyyzyxzyyyyyzyyzzzyzzyyzxywyyyzyzyzzyyyyxzyxxyzzzyzzyyxyyyxxyzzyzyzzzyyyyyyyzzz{zzzzzxyyzyyzzzyyzzz{zyyyzyyyzyzzzzz{zzyzzyzzz{z{zzzzzzyzyyzyyyzyzzyzzzyzzyzzzyzz{zyz{{zzzzyyxyz{zzyz{{zxyyyzyyzzzy|{z{yyzyzyz{z{y{zz{{zyxyyzyzzzzzz{{yyz{yyzyxyzzzzzyyyyyzyyyxyzyyzzyyxxyyyxxxzxyzxzyyxyyyxxxyyyyyzzzyyxyxxyyyyyy{zz{zxyywyyyyyyzyyzyyyxxxyyxxyxyyyyyxxyxyxxxyzyyyzzxyyxyyyyyyyzyyyyyxzxyzxxzxzyyyyzyxyxyyxxxyxxyxz{yyxyxxywxxyyyzyyzyxyxxyyyyyyyyyyzyxxzxyxyyyyyyyyzyyyyxxyxyzxyyzyxxyyyyyyxxzzyzz{zyxxyyxyxyyzzyyzyzyyzyyyyzyyyzzyzzzyyyyyyyzzyzyzyyyyyyyyxyzzzyzyzyyyyyxyyzzzzyz{zxyxyyyxzzzyzxzyyyyzzyxyxzz{zzzyzzzyyzzyyzyyzzyzzzyzyzyxyzzzyzzzzzyyyyzzyzzzz{{{{zzyzzzzyzyzzzz{yzxzzyzzzzzzzzz{zyyzzyyzz{zzzzzz{{yyzxzyyzzyz{zzzzzxyyzzzzzyyyyzzyyyxyyyyyzyyyz{{zyyyyyyzyyzzzzyyyyyxxyyyyzzxyzyxzwxyyyxxxyzyyxyyyxyyxyyyzyyyyzyzyxxxyyxxxxyyyzyyzxzyxywxyzyyxzyyxxyyxxyyyxyzyzyyyxxxxyxxyyyyyyyyzxxxyyxxyxyyyyzzyyxyxxyxxyxyxzyzyyyxyxyyyzzzzyyyyyyxzyxxyyyxzyyyyxyxyxxxxxyxyxzyyyxyxxyyyzyyyzyxxxyxxxyxyzywyyzyyxyxyyxyyzyxyx{zyyyxyyyyyzzyyyyzzzxyyxyyyzzyzzzzyyzyxxyyzzzyyyyzxyyyxyxxyzy{yy{zzyxyxyyyyyzzyyzzyxxyyxyyyzzyzzzyzzxyyyyzyyz{yyzzxyyzyzzyy{zzzzzzyyyzzxyyyyzyzyzzzyyzzxyyz{yzzz{zzyzyxzzyzzyzz{yzzyyyyzyyx|z{z{zz{zyyzyzyz{z{zzzyzxyzzxzzzyy{yzzzzxyyyzyy{yzzyz{zzyxyyyxyyzzyzyyzzyyyyyyyyzzzzyz{yzyyxwxzzyzyzyyyyxyxxyxyyyyyyyxyzxyyywxwyyyyyyyzyxyxxyyxzzyxyzyyyxyyxyxyyyyzzyzzyxxxyxxyyyzzyzzzxyxyyxzxyyxyyyzyyxxyxxyyzyzyxyyxzxyxxxxxxyxyzzyyyyyxyxyyyxyzyzyyyxxwxyyyyyxyxyyyyyyyyyyyyyyyyyzxzyyxyxyxxzyxyyyyyxyxxxxxxzyyyyzyxxyyzyxzyzyzyyzzyyyxyyyyyyyzyzzzywyxxyyzyzzzyyzyyxyxyxyyyzyyyzzyyxzyxyyxyyzyzzzzyxzyyxyyyyzyzzzyyyxyyyywzzyyz{zy{yxyyzyyz{zyzyzzyzzyyyyzyyyzzzzzyyyyyzyyzyzzzzzzzyyyzxyyyzyzzzz{zyzyyzzzyzz{yz{zzyzzzyyyyzzy{zzzzyzzyzyy{yzzyzzzzyzzzyxyzzzzzzz{z{yyyyyyzyzz{z{{yzyyyyyyyzyz{zzzzyyzxxyxzz{zzyzzyyzzxxxyzyzzzzz{xzyxyxxyyyyyyyyzzxxxxxyxyx{zyyyzyyyxyyxxyzyyyzyyyyyyyxxyxzyzyxyxxyyxxxxyzyzzyzyzxxxxyyyxyyzzzzyyyyyyyyxwzyzyyzzzxyyxxxyyyzzyyyyyyyxxyxxyyyyyyyzyyywxyyxxyyzxyyzyyyyxxxxxxxy{yyyzyyyyyyyyyyyyyyxzzxxxxyxyxyyxyzyzzwzyyxxyyyzyyy{zzxyyyxxyzyzyzyzzzxyyyyyxzyyzzzzzyzyyyyyyyzzyyzzzyyyyzyyxyzzzzzzyzyyxxyyxzyyzzzzyzyyzyyyzzzzzyyzy{yyzyzyyzzzzyzzzyyyyyyyzzzzzzzz{yzzzyyxyzzzyz{{zyz{yzzzzz{{xzz{zzzyzzzzzzzzzzzzzzzzzyzyzz{zzy|z{zzyzyyyxzyzzz{{zzyyyzyzzz{{zzzzzyyyyzyzzzzyzz{{{{zzzyzxyzzzzzzzzyzzxzyyzzyzyzyzyzyyyyyyyyy{yyyyzzxyxxyyxzyxzxyzxxyxyyxxxxyyyzz{zxxxxyyzxyxyyyyzyzyyyyyyyxyzyyxyyxyxwxxyxxyzyxzyzyxxyxxyxyzyyyzyzyyzyyyxxyyyxxzzzzyxyyxxxyyyyyyyyxyyyyxyyxyzyyyzxyxyxyxxzyxzyzy{xzxxyyyyxzyyyyyyyyyxyzxzyyzyyy{yyyxxxxyyxyyyzyzzyyyzyyxxwyyzyzzzyzyxyzxyyyzzzzyzyyxyyyxyyzyz{zyzzyxyyzxxyzzzyyzzzzxyzyxyzyyzzyzzyzxyyxxzyyzzzyz{yzxzyyxyzzzzyyzyyzyyxyzzxyzyzy{{{yyzyzyyyzyyyz{{{yyyyyxyzy{zzz{zy{yyyyyyyzzzzz{yzyzyzzzzyzz{zzzyzzyzyxyyyyzzzzz{{zyyzyyzyzyzzz{{y{yyzyxyzzzyz{{z{zzxzxyyyyyy{{z{{yyyzyyxyzzyzx{zz{zzzxzzzzzzzyyyzyzyyyyyyyyzzyzzzxyyxzzyxyyzyyyzxyyzyyxxyzyzyzzzzyyxxyyyyyxzzzyzzyyyzyyxyyxzzyzzzyzyyyxxyyyzyyzyzyzyyzyyxxzyyyzzxyyxyyyyyyyyzxzzyzxyxxyyyzxyyxzyzxxxxxyyxzyzzyyzyzxyyyyxyyzzyyyyzxzzxxxxxyyzzzzyzxyyyyxzyyzzyzzzyyxxyyyyyyyyyyyyyyyxxyzxyyzyzzyzzzxyyyyxyzzyzzzzzzyyzyyzyzyyyyxz{xyyyyxyyzzyyzzzzyyzyzxxyzzzzzzzzyxzzyyyyyzzzyzzzzyyzyyxzzzyyyzzzyy{yyyyyzzzzz{yzxzyzyyzyzzz{{{zzyzyyyyyzz{zz{y{zzyyzzyyz{zzzz{z{zzzyzzyxy{z{{{{z{yyzzyyyz{{y{{zzzzzyyzzzz{zz{z{zzyyzyzyzzyzyzy{{zyxyyyzzzyyyz{zzzyyzyyyyzzzyzz{z{yyyyxyyz{zzzy{yyyzyzyyyyzz{yyxyyxyyxyxwyzyxyyyzyyxyyyxxyyzyzzzyyyxyyyyyzyzyzyzyzxxyyxxyyyyzxxyzyzxxxyyyyyyxyyyzyyyxyxzxyzzxyyzyzxyyxywyzyxzzyzzywyxxyxyxzyyxyyyyxwxyxxxyyyyyzyxyzyyyyxyxyzyzyzzyyyxxyxyyzyyyzyyyxyxyxyxxyyxyzyyzzzxyyxyxyzxyzyzyyxyxxxyzxzzyyzyyyxxyyyzyyzxyzzzzyyyyyyyyyzy{zzzxyyxyyxzyyyzzyzzyyxyzxyyyzz{yzyzyxyxzwxyyzyyzy{zzyyxyyyyyyyxyzzyzyyxyzyyzzzzy{zyyxyzzyzxyzzzzz{zzzyzyyyyz|zzzyzzyxyxzzzy{{zz{zzzyzyzyzzzzzz{zzzzzyzxyyzzz{{z{zzzyyyzyyyyyyzzzz{zyyzzzyyyy{zzzz|{{zzzzzyz{zzz{z{yzyyyzzyyyzyzzz{zyzyyzyzyzzyzzyyzzyyxxzyxxzzzzzzyzxxyyxyyxzzzyzyyzzxxxxyyyzyyzzyzzyyxxxyyyxyzyyz{zxyxxyzyyzyzxyyzyyyxxxyyzxyzyzzzyyyyyyyxxzyxzyyzxyyyzxxyzyzyyyyyxxxxxyyzzyzzxyzyyxyxzyxxxxzzzzyyzxyyyzyxyyzzzyyyyyyyxyyyyyyzyyyzxxyzyyyxyzyyzzyyyxzxyyyyzxyyyzzyyxzzyyzxzzyyyzzzyyyyyxyyyzzzyzzzyyyyzzyzzyzzyzzzyzyxxyyyyyzyzyyzzyyxzxyxyyzzyzzzzyyyxzyyzzzzzx{y{yyyzzyyyzyzyzzzzyyzyzyyyzzyzzzzyzyyyzyzzzy{z{z{zzyzzzyy{{zz|yz{zxzzzzyyz{zzzzzzyzzyzyyzz{zyzzzz{zyyyzzzz{yz{{zzyzzyzzzyzzzzzzzyzyyy{yzyyzzzzyzz{zzyyzyy{{{{zzyzzyxzzxyyzzz{yz{yyzyyyzyyz{zzzzzzzzzyyyyy{zy{zzyxxxzxywyyyyyyyxyyyyzyxyxxxyxxyyzzyyxxxyxxyzyyyzyzyxwyxxxxxyyyyyyzzxxxwxxyxyyyyzyzyyyyyxyxyyyxyyzyyxzxxxyxxyxyyyzyyxyxxyxxyyxyyxyyyyxzyyxyyyxyyzyxyyxzxyxyyxyxzyxxyxyyxxwyxyyyzyzzxyyxxyxyyyzxyzyyyxyyyyxyyzxyxzzyyxyxyxyxyzzyzz{yyyyxyxxxyyzzyyyzzyyxyyzyyzyyzyyyyzzyyyyxyyzyzyzzxyyzyxzxyyx{yzyzyyxxyyxxyyzzzy{yyxyyyyyyzzyzzzyyyyxyxyzyzyz{zyzzyzyyxyzy|yy{zz{{zzyzzyzyyzyzzz{yzxyyyzyzyzzzzz{zzy{zzyyy{yzyzzzz{yzyxzyyyzyzzz{{yzzzzyyyzzzzzzzzyzzyyzzz{zzyzzz|yzyyyyyzzyzz{yyzyzzyxzyxyyyzzzz{{yyyyyyyzzzzyyzzyxyyyxyyyyzyyyyzxxyxyxzxyzyyyzy{yxxxyxxwzyyzyzxzzyyxxxzyyyyyyzzyzyyxxxyyyxzzyxzzyyyxxyywzyzzzzzzyxyxyyyxyyzwzzyyyyxyyxxyzyzxyyyzyyyyxxxxzyyxyyyzyxyxyxxwzyzzxyzyyxxxyxxyzyyyzzyzyyywxyyxzyxzyxyyyyxxxyxyxyyzyyxzxyxxyxyyy{yyyyyzwyz{yzyyyyzzzyyzzyxzzyyyzzyyyzyzzyyyxxyzzyyzyzz{yxyyyyyyzzzyzzyzzyyyxxyxyzyyz{zyyxyxzxyyyyzyxy{yyyzxxyyyyyyyzyyzzyzyzyxzzzy{zzzzyzxyzyyxzzyzzzz{zyyzzyyx{yzzzz{yzyxyzyyyyz{z{zzzzy{yxzzzy{zzz{zzzyyzyzyzy|zyzzzzyzzzyxzy{zyzzz{zzyyzzzx{zzzzzzzzzyyzzzy{xzzz{zzzxzyzxyyyzzyzzz{zzzzzyyyyyzzyyzzyzyyxzyyyyzzyzyzzyyyxxxxxyzzyzyyyyzxxywxwyzyxzzyzzyyxyxxxyyyyyyzyzxyyxyxxyyyxxyyyyxzwxxyy{yyzxzzzyxyxyxyxxxyyyzyxyyxxxyxyyyzzxyzxxxyxxywyyyyyyyyyxxwyxxxxxyyxzz{yyxzyxyyyyyyyyyzyyyyxxyzyzxzzyzzzyxxyxwxxxxyyyyxzyzxyyyxyyyyzyyyzyyyyyyxyyzzzyyyyyyyyyxyxyzxyzyzyzyyyyyyyyyyyyzzzyxyyyxyxyzyyyyzyzzyyyxyyy{yyzyyyzxyxyxxyzyzzyzzzyxyyzxxyyyzxzzzyyyyxyzxzyzzy{yz{yzxxyyzxzyzzzzzzzxyzyxyy{zz{yz{yzzyyxxyx{{zzzz{zyzyzzyyyyyzyyzzzzyzyz{yyzyzzyz{{{yyzzzzyyzz{zzzzzyyyyyzzzzzzzz{{yzyzzzyyzzzzzzzzyyzwzyyyzzyzzzzzyyyyzyyyyzyzzyzyyyyxyyyyxyyzyyzzxyyxyxyxxyyyyyyyyyyxxxxxyyyzyzzzyxyyxyyxyyyyzyyzyxzyyxxyyyyyxyzzzxwyxyxxyxyxyzyzyyyxxyxxxyzxyyyxyxyxxxxxzyzyyy{yyzxxxyzxzyxyyyxyxxxxxxyxyzxyyyzzyxyyxyxyyxzxyyyzyyxyxyxxyyyzxzzyxyxyyxywxyyyyzyzyyyxywxyyyyyyyyxyyyxxzxxyyyzxzyzyxxxyxyxzyyyzzzzzyzxyxzzyyzzyzzzyyxyyyxyzzzyyyyyyyyyyxyyyyyzyzzyzyyyyyyyyyzyyzyyyyyyxyyyzzzyyzyzyyyyyyzxzyyzzzzzyyzxyyyzzzyzyzzzyxyyxyyxyzzzzzzzzyxyyzzyzzzzyzzyyyyyyzyyz{zy{{zzy{yzyzxyzzzzzzzz{xzyzyyzzyz{yzzyzyzyxyzyyzyzzzyzzyyyzyyyzzzzzyz{zyyyyyyyxyzzzyzzyyyzzyyyzz{zzyzyzzyyyyxyyyzyzyyzyxxyywxxxyzyyyyyyxyyyyyyyyyyzy{zyxyyxxyxyzyyzyzzyxxyyyxyzzyyyzzyyxyyyzyxzyyyyzzzxxxwyxyyxyyyzzyzyyyxyyyxzxyyyyxyyxyxyxwxyxyyyxyzxzxxxxxyyyzyyxzyyzyyxxyyxyzxyyxywyyyyxyxxyyzyyzzxyyyyxyxxxyyzyyyxxyyyyyxyyyyzzy{xxyyyxyxzyxzz{yyzyxxxyyyzxzzyy{zyyyyyxyxzyyyyzzzyxxyxxyyyyyyyyzyyxyxxyyxxzyzzz{zyyyyyyzzyzz{yzzzzxyyzxxyyzzyyzzyzzxzyzxyyyz{{{yyzyzxyyyzzzzzzy{{zyyyyyyyzzzzz{y{zyyyzyyyzzzzyzzzzzyzzzzzyzzzzzzz{xyyyzzzz{zzyy{zyzzzyyyzzzzzyz{zyyyyyyyyzzzzzzzzyzyyzzyzzyz{zyyzzxzyyyyyyyzzzzzzzyyyyyzyzyzyzzyyzyzxyyyyyyzyzzxyxyxyxyxzyyzzzzzzyxxyyyxxyzyyzyyzyyxwxzyyzyzyzyzyzxyyyxxxyzzzyyyzyyyxxyyyyyzyyzyzzxxxxyxxyyzzyzzzyzyyyxyxxzzyyzzyyxzyyxzyyyxzxzzyxyyyxyxyyyzyyzzxxxxxxyyxxyzyyyyyyxzxxyyyyzzzxzxzxxxyxyyyyyyxyyzxzyyzxyyxxzyzyzyzyxyyxzywyyzyyyzzzyyxyyxyzzyzyyzyzzzyyxzzyzyzy{zzyzyyyxyzzyyzz{yzyyyyzxyxyyzzzzzyzxzxyyyyzzzyxz{zzzyyzyyyzzzzyzz{yzyzzzyyyzyzyzzzyyzxyzyy{yzzyzz|yyyyzyyx{z{{zyzzzyxzyxyyzzyz{z{zzyzyzzzzzzyz{yzzzzyzyzzzz{zzzzzz{zyyyyzzzzzzzy{{zyzyy{yyyyzz{zzzzyyzzxyyzzzzz{z{yzyzzyzyyzzzzz{zzyyyyyyyyzzzzzzzyxzxyyxyzzzyyzzyyxyyyyyxxyzzyyyyzyyyxyyxxx{zzzyzyyyyyyyxyzzyyzzzyxyyyyyyyyzyyyzyyyyxyyyxzxzyzzzyyyzyyxxyzyyyyzz{zyyyxxzxyyzyyyyyzxxxxyxxyzyzxzyzxyxxxxyyyzyyyyzyyyyxyxxyxyyyzyyzxyzyyyyxyzzyyzzzyxzxxyxxyxyyyyyzxyyxxxyyzzyyyzzzyyzyyyxxxzzz{z{zzxyyyyxzyyyyyzzzzyyzyxyyzyzzzyzzyyzzyyyyzyzyzyzzyxyyyxyyyzzyzzzzyyzxyyyyzzzzyz{zzyzzyyxzyyyyzyzyyyyzyzyxzz{{z{zzzxzyyyyy{{zzzz{zyyzzzzyzz{z{{y{zzxzzyzyy{{zy{zzzzzzy{y{zz{zz{{{z{zyzzxxzz{zzzz{{zyzzyzyyz{z{zzzyzzzzzyyy{|zzz{z|zzzzzyzz{yzz{{y{xzzyzzzyzzzzyzz{zyyzzyzxyzz{z{zzyzzzyyyyzzzzzyxzyyyyyywxxzyyyyyzyxxyzxyzzyyzyyzzyzyyxyxxyyyzyyzzyzyyxxxxyyyyzyyyyyyxxyxxyzzyyzzzyyyxxyywyzyyyzyzzyyxyyxxyyyyyzyyyyxyxxxxyxxzzyyyyyxxyxyyyzyyyyzzxxxyyyyxyyzxyyzzyxyxwyyxyyyzyyzzywyzxxxxyyzyyyyzyyyxyyzyxyzzyyzzyyyxyyxxyyzzyy{zyyxzyyzyyyzzyzyzyxyyyy{yzxy{zyzzyyyyyyyzzz{zzyzzyzyzzxzxzzyyyyyzyyyyxxxxyy{zyyzzyzy{xyyyzzyzyyyzzzyyxzyyyzyzzzzzxzyzzyyyzyzz{z{{zyzyyxyxzzzyz{yz{yyyyzyyz{zz{{{zzzyyyzzzz{zzzzzz|zyyzzzyz{yzz{z{yzyzyyyyzzzz{z{zz{yyyyyz{z{zz{zzyzzzzyyyzzzzzy{{yzzyyyyxyzzzzz{z{zzyyyzyzzy{z{yzyyzyyyyyyzzzzyzyzyxyyyxyyzyyzyzzyxyxxxyyyyyzzzzyyyyyxyyyyyzyzy{yzyxzxxyyyzyzxyzzzxyyxyyyzzyyzzyzyyzxxyxyyyyxxyyyzyyyyyxyyyzyzzxyxyzyxyyyyyyyyyyzxzyxyxxyyyyyyyyxyxyzxyxyxyzyzyyzyyyyxxyxxxzzyyzzyyxxyxyyxyyxzyzzyyyyyyyyyzxxy{zzyyyyyyyxyyyyzyzyzyyxzxyzz{zyzzz{yyzyxxyyzyyy{y{yyzxyxxyzzzyyzzzzzyyyyyyxyzz|zzzzyz{zyxxyzzzzyyzyyxyzyyzzzzzzzzyzyzyxzyyzzzzz{zzzyyzyyzyyyzz{zzzzyzyyyzxyz{{zzzzzyyyzyyyzzzzyzz{{zzy{yzyzzzz{y{{zzzyyxzzyy{zzzy{{{yzzzyyy|z{zzzzyz{yzzyz{zyzzz{{{zzzyzyyzzzz{zz{zzzzxyzyyzzyyzz{{zyyyyyyyzz{zzyzzyyyyyyzyyyzzzFv6a7{{{{y{z{{{|{{||{zz{{{z{||{z{}|}||{z{{{z|{||{{|{{{z|z{z{z||{{{||{{{{zz{|{{|{|{{||{zz{zzzz{{z||}{{z{y|zz{z{|z{{{{{z{zz{{|{{{{{{{{|{{zzzz{yz{zz{|{{z{{{zyz|{{z{{{{zz{{yzzzz|{{{{{||{yz{zzy{|{z{|||z{z|z{z{z||{{|{{{zzy{{z{{{z{{||z{{zz{zz{|{{{|{{{{{{{{z{{{|{|{|{{{{{z{{{{|{{|z|}{{{{{{y|{{{{{||{{|{{{{z{{||{{{|}|{{{zzzzz{|}|z|{{zz{{{z{{{|}|{{||||{|{{z{{{||{}|{|{{{z|{{{||{|||{{{{}zz|z|}|{}|{|{{{|{|||{}{{}{|||z{{|{{{}}{|||{{|{{{||{{}}|{{||||zz||{{{{|{{|{|||{{||{z{||{{||||{z|z{{z{z{||{|||||{{{{{|{{{{{{{{{{|z{zzz{{z{{|{|||{{{{|{|||{|||{z||}{{{z{{|{||}|}{{{{|{{||{{{{|{|{z{{{z{{{|||||z{|{{{{zz|{||{}{|{{{z|{{{{{{|{|{{z{{{zy|{{{|{{|{z{{{z{{|{{z|{{|z{zzz{{{{z{{|{{||{|z{{zzy{{|{{{|||{{z{{z{z{{}|||||{z{|z{|{{z||{||{{z{|zz{{{{{z{|}{zz{{||{{{{{|{{|{|z{z{{{|{{|{{{|||z{z{z{{}{{{z{||{z{{{z{z|||{|||{z{zz|{{{|}z||{{{||zz{{{||{|}|{|{{{z{{{{|{{||{||||{|{{|||||||{|}|{{|{{{|{||z|{{||{z|{{{{{{|||||||}{|{||{{||||||}||{{{{{|||||||}|||{|{{{{||}||||}{{{|{{{{{}|}||}||{{{{{{{z}|{|}}}||||||z{{||{||}}||||{{z{{{}|}|{}||||{z{{{|||{{{}|{{{{z{{{|z|{{}}}{{|{{|||{}||{}||{{|||{{{{{{|{}{}{{{|{||z{{|{{|||{{{{{{{{{||}|{||{{{{{z{{||||{||}|z{{z{{|{{|||||{{||{{{|{{{}z|{|{{{{yz|{{|{{||{{|zzz{z{{{{|{|{{|{|z{{z{z|{{{{|{|{z{|z{{{{|{{{{{{|{{{{{{{z{|{{{|||z|{z{z{{{{{{z{|||{{z{z{z{|{|{{|{{{{{{z{|||{{z||}|{z{{{z{{|{{|||||{z{|{|{|||{||||{{{{|{{{{|{||{{{|{{{{{zz{{|{{{}{z{{z||z{||{z{||}{|{{{{{{|||||||}|z{{|{{{}|||{||}{{z|z|{{||}|}||{|{{|||||{||||{||{{{|{||{}}||{|}|{z{{||{||}}|}|}}|||||{{{}||}{}}}|z{|{{{{}|||{}}||{|{||{}{{||||{}|{|{{{{||{{|}||}|{{{zzz|z|{}{|}{{|{|{{{{|||||||}{|z{{{|{{|{|{|||{|}{||{{{{|}|||||{{{{z|{||{||||||zz{{{z{{|{|{|||zzz{z{|z|{{||{{|{{|{{z{{{|{|||{{|{z{|{{{{|{{{||z||z{{{{{{{z|{{{|z{z{|{{{|{zz{}|{z{{z{zz{{}{{||{|{{||{{z{z||{{{|z|{{{{{|zz|{{{{{{{{{{{{{z{{{{{|||{||zz{{zz{|{{||||{{{|z{{{}{|||||||{|z{|z||{|{|{|z{z{{{{{|||{|}|{{{z{{{{{{|{{|||{{{{{{|{z{||{||||{||||z{|}||||{|||{|{{|{{{|{||{}|{|||{z|{{||}|{{|{zz{{|{{|}}|}|}|||||{{{|{}|}}||||{{{{|{|||}}|||||{|{|{|{{}||||}}||{|{||||}|||||||z|{|{z{|||{||}|{|{{|{{||}|}|}|||{{{{{|{{|{|||}||{{{{z|{{|{|{|||z|{{{{z{{{{}|}|||{{{|}|{|}|}{}|}{z{{|z|{|{}}}|||}{{{{{|z|{{|}|{{|{|{{{{z{|||{{{||{z{{{{{{||{||{{z{{{{{zz{||{{|||{|zz{{zz{||{{||{|{|z{{{z{z{|{{{|{zz{|{{{{{{{||{{|z{{{{{{z{|{|||{{{{{y{{{|{{{|{{|{z|yzz{{{{{z|}{||{{z{z{{{{{{{|{{z{{{z|{zz{z{|{||{||{{{{{{|||||||{{{{{zz{}{|{|{{}{z|{z|{{||||||{|{{|z{|{{{||{{||{{||{{{z{{|||{{}{{{{{{|{||{||||{{{{|{{{{{|{{|}||}z{{{z|||{|}||||{|{{|{{|z|{|||||||||z|z{{||{|{||||||||||{|||||}|}|{{||||{||}|{}}}||||{|{||||}|||}|z|{|{z{}|||}|}}}{{||{||}|{|||||||{z{|||||{||{|||||{z||{{|{|{|||{|{{{{z{{||{{||||{|{z{|{|}}||}||{|{{{{z{|}||||}|||{|{|{|{{{{||{|||||{{z{{{||{|||{{{z{{{z{{||{|{}z{{z{{z|{|{{{|z|{{z{zz{z{z|{{|{|{zz|z{{z{zz{{{|{{z|{|zzzz{z{{|{{{z{zz|{{{{{{{{|{z{y{{zzz||{{{|{|{zzz{{zy{{|{{{z|zz{{{{{z{}{zz|{{zz{{|{|z{||{|{{{|zzzz{{|{{|{{{|{{z{{{{{{{{{|{{||{z|{|z{{|||||}{{|{|{|z|{{|{||||||z{{{z{{|{{||{|{|{z{{{|{z||}|{|{{{{|{{z|{|{|}|{||{{|{{|{{||||||||{{||z{||||{|||||{|{|{{|}||{{||||{|{{{||{|||}|}||{{{{|{{z}}|{|}}|||{|{z{||||||||||{{{{z{||{{|}|||{{||{|||||}{{||||{z{{{{{{{|||||||zz{zz{||{}{{|{{{{{{{{{{|{|{{{|}|z}{{||{}||{|}|||{z|||||||||}}{||{{{{|{|{|||{}||{{{{z||{|||{||{{{|z{{zz{{|||{||{|{{||{{{||{||{{{{{z{|{{|{|{|{{||zzz|{{{{z{{{|{|{z|zzz{{{{|{{|||{z{zzzy{{{|z|{|{zzz{zz{{{|{|||}|{{{{zzz{{{{z{{{{|zyz{zy|z{{{z{||{{{{{|{{{|{{{||}|{{z{{{|z|||||||{{{|{z|{{|||{|||{z{z|z{{|||{||{|{{|{{z{{{||{{|{|z{{{||{{{{|}{{|||{z|{||{|{{{||{||{|{|{{{{|}}||||||{z|{|{|}||}{|||{{{{|{{{||{{|}|{||{|||{|}|{|{|{|{||{{|||}|}|||||{|{||z{||}}|}|}{||||{{z||}|{||||{{{{{{{||{|{|}|{||{{{|{{||||}{}||{{{z{{{}||{|{}z{{{{|z{{}|{z{||{{{zzz{{{|{z{}||{{|{|{{{{|||||}|||{|{}z{||}|}|}|{{||{{{{|}{{}||}{{z|z{{z{{{||{}||{{|z{|z{{{{{{||{{|{{{{{{z{{{||{|{{{{z{z{||{{{{|{{{z{{{{z{{|{{|{{{zzzzzz|{{{||}{{{z{{{{{{{{|{{|{{{{{z{y{z|{{{{||z{{z{yz{{{|{{{{|{{{zz{{z{{{{||{|{{{z{{z{{{{|{{{{|{{{zz{{{{z|||||{{||{z{{{{{}{|{||z{|{{{z|{|}|}|||||{|z|{{|||||{{{{|z{z{{|{||||{{{{{|{z{|{||{|{|{|{{{{{||{{||||||{{{z{{|{||{{||}}{{||{{{{|{||||||}{|{|{||||}||||||{{||{|{{||{||||||{|{{{{|||{||}~{||{|{{{{{||{|}|}z{{|||{|{||}}|||{{z{||{||{||{|{||{{{|{{{{{{||}||{z{{z{z|{||{|}|{{{{{zzz{|{{|~|}{{||{{{{|}|{}|}}{{{|{z|{||{{|{{||{|{{{{z|{|||{}{|z{{{{{|{|||z|||{{{y{{{z|||||{||zzz{{|z|{{{{{|}{{{{{{{zz{{||{|{|{z{{z{{|{|{{{{{|zz{zzz{|{{|{{z|||zz{zzz{{{{{{{|{|{|zzzzz{{|||{}{zzzz{z{{{{{{{|{|zzz{{{{{z|{{{||{zz{{{|zzz{{||||{zzz{{{{{{|{{||{|{z{|zz|{||{|{z|}z{||{{|z{{||{|||{{{{{{{|{{|{||{{|z|{{|{{{|{|||||{z{{{{{{}||{|{||{z{z|{{{{|{}||}{{{{{{|{{|||||||}{{{|{{{{{||{|}||{z{||{|||}{|||}}{{|{|{{|{|||||||||{{{{|{{|||{}||||{{|{{|}||{||{|{{z{|||z{|}|||}|{{{{{{|{|||}||||{{zz|{{{||{|||}|{|{{{z{z{|||||{{|{{{zzz{||{z{|||{|{||{|y|}||||}}|{{zz{{|{|{||}||{{{zz{|{|||{|{{}{|zz{{{{{{|{{|{{|{|{{{|z{||{|{{||{zz{z{z{|{||}{{{z{{z{z{{{{z||{{{|{zy{z{{y{{{{{|zzzzzzz{||{|{{|{{{zzzzz{{{{|{{}|z{{zz{{{{{{|{{{{z{z|{{{z{{z{||{|z{{zzz{z{{{|z{{|zz{z|z{z|{{z{{{{{zzz{{z{{z||{{|{{z{z{z{z|zz|{||{{{zz{z{z{|{{||{||{{{|z{{||{||||{{{{{z{z{|{}||z~{{{{{||{{{{|{{|{{|{{{||z{{{||{|{|{{{{{{z{||{|||}|{{{}{z{{{{||||||||{z{{{z}|||z||}|{{{z{}{{{{{||||{{||{||{|||}|}}}{{{|{|{{}|||{|{}|y{{{{{|z|{{||}}||{{{{{|{|{|||||{{{z|{{|{||{|}|{|{z{{{zz{|||{|{z{{{z{zzz{|{{|{|{{{{|{{|{{|||||}}{|{z{z{{|{|||||}{|{{{||{{{{|{{|{|{|z{{{|{{|||{|{|{{zz{{{{{|{{|{|{z{z{{{{|{z{{{{|{{z{z{{{{{z|{{{{{z|zz{zzz{z{zz{{zyzzzz{zzzz{{||{zz{{zzz{{z{|{{{{{{{{zz{z{{|z{|{|zzzz{z{z{{{{{||{{{zz{yzz{{z|z}z|{z|{{{{{||{{{z|{{zz{zzz{||{|z{{{{{|{{{z{{{{||||{{z|{zzzzz{|{{|{|{{{{|z{z||{{||{{{{{|z{z{{|{{|{||{|{{{zz{{|{{{|{{{{{|{{|z{||{|||{{|{|{{{z{|{{{{{|{||{{z{{{||{|}~||z{{{{z||{|{||||{{{z|{{{{|||}||||{|{||{{{|||||||||||{|{|||{||||{{{{z{{{{{|||||||}{{||{{||||}|||}{{z{{{zz{{{||{|{{{{{{{{{|||{{{||z{{zzz{zz{|{{}~|z|z{|||||~||}}||{{{{{|{{|}}|}||||{{{{z|||{|{||}|{||{{zz{{{{{{|{||{{{{z{{{|{{{}|||zzzzz{z{||{{{||{{zz{{zz|{||{{|{|{{{{zzz{{{{{{||{|{{{z{z{{z{|||{z{zzz{zz{|z{{{||zz{zzzz{{}{{}}{{{z|{{{z{z{{z{{{|{z{zzy{zz|{|{|}|zz{{{{{y{{{{{z|{{{zz{|{z{|{{|{|{|{|zz{{|||||||{{{{{z{{{z|}{z|{{{{{zz{{|{z{{{|{||{{{|z{z{|{{{||||{{z{{{{{{|{{{{{||{{z|{|{||||{}{}{{|{|{{||{{||||{|{{||{|{||||{||{{{|{{{z{}|||||||||{{{{{|z{{||{|||z{|{|{{{}}|{}|}|{||{||{||}|}{}|}{z|{z|||||{|}}}|{z|{|{{{|z|||}||z|z{{||||{||||||z|{z{zz||||{{{||{{z{z{z{|{|{|}}||{|{||z{|||{}||||{|{z{{|}|||}}|}{|{||||{||}}|{||{{|{z{|{{|||}||||{{z|{y{|||{|}{z{{{{{z{{{|{||{|z{{{{{{{{{|{}{||z{{z{z{{{z{{{||{zz{zzz{z{|{{{{||{zzzzzz{{|{||}|{{{{{z{{z{|{{|||{{{z{zz{{z{{z{||||{{z{zz{z{z||{|{{z{z{{z{{z|||{}|{{{{z{{{{|z{||{|{z{{{z{z|||{|||||{|{z{{{{{{{|||{{zz{{zzz|||}{{|||{|{{{{||||{|z||{{z{|{|{{{{{|||}|z|{{{||{{|||}|||{{{|{{{||||{{||{{z|z{{{|||{|}{}|{|z|{{{||}{||||z|{|{||||{|||}||}{z|||||||}|}{}|||{|{{|{{|||||}|{|{z||{{{|||||}|}|z{|{{{|{}||}|||{|{|z{{|{}|||||{|{{{|{z||||{{}|{|z{z{zz{{{{{~}}||||||{|||{}|||~}{{||{|{}|{|||{}||{{{|{}|||{|}|}|{{{{{|{{||{|{{|}{{{{{{{{|||||{{{|{{{{{{{|{{{}||{{zz{{zz{{{{||{{{{{|{{z{z{|{{|{{z{z|{{{z|{{{|{|{{zz{z{zz{||{{{|{z{{z{z{{{|{||}}}{zz{z{zz{|||||{{{{zzz{{{{{{{{{{|{z{|{{{{{||{{|||z{|{|{{z{}{{{{{}{|{{{{{{{{z{||||{{{{{{{z|||{{|}|z{{{|z|z{{{|||{|{|{{{{z{{{z{|}|||{z|{z||||{{{{}|{{|{{z{{{}}|{}|||z{|{{{|z{{|||}||{{{{{z{||}|{|{||{|{|||{||}|}|||{|{{z{|{}|||||||||{{|{{{{}}|||}||{|||{{|||}||}||||{{|||{|||}}||||{{{|||{}{|}{|{}z|{{{{{{{||}||}{{|z{{|{{{|{}{|||{z{{{z{|{{{{|{}}{|||{{|{||}|}|}}{{{||{{|}{||}||}|}{{{z|z||||{{||{{|zz{{{{|||{||||{zz{|{{|{|{|||}|{|{{|{{{||||{|||{zz{zz{z{|}{{{{{{{zz{z{|||{z{{{{zz{{{y{{{|{z{{{{y|{z{zz{||{{|{{z{z{{zzz{{{{|{{{{yyz{zzy{z{{{{{{{{{{{z{z{|{z|{{{|{{{{{{zz|{||||{{{z{{zz{{|{{z{|||{zz{|{z{{|{{{{{{z{z{{{{{{{|||||{{|||y|zz{|}|{||z{{{zz{{{||{|{{{{{{|{{{{{{{{|}|{|{{zz{||{{|{|||}{{{{{{{z{|||}|}||{{{{z{|}|{{|{||{{|{{{{{|||{||{|{{{{}|{{{||||}}||z|{{{|{{||}{||||{|{{{{{|||||}||||{{{{||{|{{}|||{{|{|{|{|{|||||}|{{z{{{{|{|{{}|z{{{{{|zz|}{||||{{z|{zzzz{{{{{|}}}||{||{|||{||}}|||z|z{{{|||{||||||{{||{{||{||||||{{|{{y{{{}}|{|{||zz{z{{|{|{||||zz|z{z{y{{{{z||{z{{zzz{{{||{|{{z{z{{{{{z|{|{z{||z{zz{z{z{{zz{{|z{|z{yzzz{{|zz{{{{{z{yzz{|{z{{{{{|{|{zzzz{|z{{{|||{{yzz{z{{{{{|{|z{z{zzzz{||{|||{{{{z{{{{{{|||{||{y{z{{{{{|{{{|||z{{{{{{{||{}{|}|{|{{{z{{z|z{{|{|{{{{{{|{|z{{|{{{{z{{zz{|{|{{{|}|{z{|{|y{|||||{|{|{|zz{{{{}||{|||{{{{{zz{{}|||||||{{z{{|||||{}}}|{{{{{{{|{|{||||}|{{||{{||{||||{||{||{{z{}|||||}{|z{||{{|{}|{}|}}|{{{{{z{|}|||}}}{{{{{{{{z||}||{||{{{{y|{||{|||{{{z{zzzz{{{{{|||}}}}{|{||}}~}||||}|{|z{||{{|||||{||{{{||{|{|||}}||{{||{{{|z{||{||}{{z{{|{|||{{||||{z{|z{{{||{|||z{z|{zy{z{{{{{}|{{{{{{zz{zz{|{|z{|z{zz{z{{|{{z||{{{z|zzzz||{||{{|{{{{{zzz|{|{{|||{{{{zz{z{|{{{{{{|z{{{z{zz|{|||{|{{{z{{{{z|{|{{||{{zz{{{{{{|{{||{{{{{{{{|{{{{{{{|{{{{z{{z{{|{|{||{{|{zzz{{{{{||{|z{|{{|z{|{{|{{}{|{|{|{{|{||||||{||{{z{z|||||||}}{||{|{|{{{||{}|{{{|{{{z{||{}{|{||{|{{{{{}}|{|}||{|{{{|{|{|{|}{|}|{{{{|||{|}}|{|}{||{{||{|}}{{}}||{{{|{||||}|||}}||{|{|{{||{|||||{|{{{|{{{||{{|||{{|{{||z{{{||{|}{z{{zz{z{{|{|||}}|{{||}}|}||||||}|{{{{{|{|}||||}|{|{z{{{{z{{|}|||{{{{{{z|||||{||{{{{{z{{|{|{{|{||{}z{{z{{|z{{{{zz|{z{{{z{||{||{|{{z{{{z{{{z{{z{{{{{z{z{zz{|{{{{|{z{zz{zz{{|{{}||z{zzz{{{{{{|{{}|{{zz{z{{{z{z{{{{z{{z{{{{{|{|{{}{{z{{z{{zz{{{{||{{{{{zz{|{|{{|||{{{{|{{{{{{|{{|{|{{{{z{{{{{{||{{|{z{z{z{{{|{||{{|{{{z{{{z{|{|}{|{{{{|{|{{{{|z|}{|{{|{{z|{||}||{{}{{{{|{{{{|{{{}|}|{{|z{||{|||{{|{||{{||z{{||||||{{z{z{{|||}{||{}|||{{{|{{{}||{{|}|{|{{||{|{||{|}||{||{{{|{{{{{|||{{{|{{{{{}||||||{{{z{{|z{|z||||}||{|{{{{{{{|{|||{z{z|z{z|z{{|}}}}|{{}|{}{}}}||~}||{{||{|||}|}|}}||z{{{{{|{}|{|}|{{{{{|{{{||{{{|{{z{{{{|yz{{{}{|{{z|{{{zz{||{{{{{z{zz{zyz|||{z|{{|{{zz{zz{{{{{{{|{zz{{y{z|{{z{{{{{{{{z{{z{{{z|{||yz{{zzz{{{{{{||{z{zzz{{{{{{{{{|{zz{z{{{z{{{|{||z{{{z{{z{}{{{{|{{{{{z{{zz|z|z{|||{z{{z{{z{{{{{||z{{|zy{{z|{|{{{||{z{z{zzz|{|{{{|{|{{z{z{{||{|||{||zz{z{{{|{||{||{{{{|{{z|z||||{{|{{{{{|{{||z|z||||{{{|{{{|{|||}}||{z{{{{{||{{}|}{{{{|{|}{{||}}}|{|{||{{{{|}|}||}|}{z{{||{|{|||||||{{{{|z{|||}||{|||{{z|{|{|||||||{{{{{{z{{|{z{}|{|{{z{{{z{}{{{{|{||zzzzzz{{{{{}}~||}{~||{||}}}}}}}{{{{{z|~}||}{}|{{{{{||z|||{|}||{{|z{{zz|{}}{{{||zz{zzz{{||{{}{{{|{zzz{y{|{||{|{{{{zzz{{{zz{{{{|{{{z{zz{{{z{{z{{zzzz{zzz{{{|{{|{|zz{y{{{{{{|}{{|{{z{{{{z{{||{|||zz{y{zzzz{{{{|{{{{{z{zzz{{{|z{|{{{{{z|zz{{|{|{{{{{{{{z{{}|{{|||{{{{|zz{{{{{{{{{{{{|{{{{|{{|{|{}{{{{{{z|z{{{||{|{z{{{{z{z{||{{z{|{{z{{z{z|z{||}{{{z|{z{|{{{{|||||{||{{|yz{|{||}}}|{{|{{{{|{||||{||{{|{{{|{}|{|||||{{{{{{{|{|||||}|{{{{|{|{||}||{{|{{{{{z|{{|||||{|{|{z|{z|||||||}{{|{{{{|||{|||||z{{{{z{{|||||{||{{|{z{{z{|{|{{|{{{z{{z{{|{{{|}}}||||{~|{|}}}||}}||{{|{|{|{|}{}|}{{{{{{{{{{{{|}|}|{{z{{{{}{||{||{|z|{z{zz{{}{{{{|{||z{z|{z{||{{|{zzyz{{{{{{||{{{|{{zzzzz{{{||{{{{{{zzzz{zz{|{{z{|{{z{zzyzz{{|{{{{{{{zzz{{{{{|{||{{yz{zz{z{{zz{{||{z{{zzy{{{{{|||||z{zz{z{z|z{{z{{{{|z|{z{z|{{|{{|{{{z{z{{z{{{z{||{{{{{{|z{{|{{{|}{z{{|z{z{|{{|{||{{z|{{z{{{{|{|||z{{{{{|{||{{|||{{|{{{z{{||{|||{|{||z||{z}|{{{|}{|{{{{{{{||{{|}|{{z|{|{{|{|}||{|{|{|{{||{{{{|||{}}z||{{|{|}|||||{{{{||{{{}|}{||{{|z{{{{||||{{|{|{|{||{|{{|{|{||||{|{yz{{|{|{|{|||||{{|z{z|{{{{}{{{z|z{z{z{||{z~}}}}|}}{}|{~||}}}}|||||{||||{|}||}|{{{|{{z{|||}||||{|{||{|||{||{|}}{{{{{{{z{||{|{|{{|{z|z{{||{|{}|||z{{{z{||{{{{{|{{zz{{{z{{}|{||{{{{{{z{{z|{{{{|{z{{{{{zz{{{{{{z{{{|{{|{{{}|~{|||{{||{{{{||{{||||{{|{{yz{{{{{|}{{{z{{{{{z{{||{||{{z{{{zz{{|z{{|||{{{{zz{||{{{{|||{{{z{{{{||{||{}|||{||z{{{|||{}|||{{{{|z{{||||||||{{||{{{||{{|}|||{z{{{{{{{}||{{||{|{{{{{||||{|||{z{{|{z{||||}||||{|}{{}{|}|{||}}|||{|||{|}}|}|}||{{{||{|}}|||}|}|{{}|{|z}}|||}||z{{|{|||}|||{|}}||{{|{z|}|{}}||}{|{{|zz{|}|{|||||||{{{{{}{|{||{|||{|z{{{z{{||}~}}}||{|}||}}~||}}|{{||{|||||}}}|~{z{{z{{z|{{}|}|}|z{{{{z{|}||}{{|{{|{{{{{{||{||||{{|{{zz{{{{{{||{{{|{{{{{{{{{{||}{{{||{zz{{{|{||||{{z{{{{|z{{{{|{{{{{{{z{{{{{|z||{{{{zz{z{{||||||{{{zz{{z{{{{{||{{{{{z{zz{{z|{||}{z{{{{z{|{{{|||||{{{zz|{{{|{{|||{|z{{z{{{{|{{|||{z{{zz{z{{|||||||{|{||z{z|{|||||{|z|z{{{}|{|{{}|{{{{{{{{z|{||||z{{z{{{{{{||}{|||{{z{{{|{{|{{||}|{{{{{{|{|{||||}||z{{|{|{||||||}|{{{|{|}|||||{||}||{{{||||}|}||||{{{{{|{||||}||||}{{{{{||{}{||{||{{|y|{{z|{{|||}|{{{{{{{{|}||{||{||{{{{{|{{{|{z|{z||z{{{z|z{{|}~}}||||}|~~}|}|}~}{|{|{{|||{|}||{|{{{|{{{{|{{|}}|}{{z{{{||}{}{{{|{||{{z|z||{||||||{{{{|{{{|{{{|}{||{{{{{z{{{zz{{|z{{{z{{{{{||{|{|{{z{{z{z{{|{{{||{y{{{{z{{{}z|{|{{{z{{z{{{{{{{||{|zz{zz{z{{{{{{||{{{z{{{z{{{|{|{{|{{y{{{{{{{||{||{|zzz{{|z{}|{{|{||z{{{{{|{{{|{||z{{{{{{||{|||{||{{|{|z|{{{{|{|||{|{z{z{z{{{{{|||{{{|z{{||{{{{||||{|{z{{{{{||{{}|{||{{{{{|{{|{|}||{{|{{{{||}||||{|{{{{{|{|}}{||{|{{{|{{|||||}|||}|{{{{|{{{|||||}}|{}|z{{z|||{{|}||z{{|{{|{|||{}}|||{z{{{||||||}|||}z|{{{{{|||{|}{{{{{{z|z||{{|{{|{{{{{zz{{||{|}}~|}{}}|||||~}}}}|}}{{|||{|{}|}}}||{{{{|{z|}|{|}|||{z{z{z{{{{{{{|||{{z{z{z{{||||{|{{{z{{{y|{|{|{}|{{z|z{{z{|z{{|{|{{{zy{|z|{{|{|{|y{zzzzzzz{|{z{{{{{zzz{{{z{{|}{{{{z{{{y{z{{{z{{|{{zzzz{z{|{|{{{{|z{{zzzz{zz|{{{||{z{{{z{{|{|}{|{||zzz{zzz{{|{{{{|{z|{{z|zz|{{{|{|{{{{{{z{{|{|||{||{|{{{|{{|{||}||yz{{{{z{z||z{{||{|{{|{z{|||{{||{{|{{{{{{}|{||}|{{{|{{{|{{|{{}|||{{|z|{{{||{||||{|z{|{{|{|||||||}{{{z{|||{{||||||}{{{{{{{{||}|||||{{{z{||}||}|}||||{{|{{{{|{|||||{||||{z{||{{{}{|{{{{{z{{|{{|{{|{}|{{z{|{|{|||{|||{{y{{{z{|{|{~}~{{}}}}}{}~|}}|}}}}{{{|||||}|{||}||{{{{{{|{|}|||||{|||{{{|||}|}|{||{z{z{z||||{|{{{z{{{{{z{|{|{||z|{z{{z{z{|{{||{|z{{{z{{{{|z|{{{{{z{z{zz{z{{z{|{{zzzz{|{{{{{{|{|{{{{{z{{z{{|{{|{|zz|{zzzz{|{{{{|{{{{z{z{{z|{|{||{{{{z{{z{{|{{||{{{{{|{zz{{{|{|{}|zz{{{z{{|||{{|}{|{{{{z{z|{|{{||{{{{{{{|z|{|{{|||{{{{{zzz|}|{|||||z|{{{z{|}{{||{{{|||{{{{|{{{|}}|z|z|{{{{||{||{}{{{{{|{{{{{{||||{|{|{z{{{{||{||}|{{|{{{{{||{|}}|}|{||{|z{z}|||||}|{{|{z{{||||{|||||||{{{{{|{{|||||{{||{{{{|}{{|}|{|{z{{{{{z|||{||||{{{|{|z|{||{|}{{{z{zzzz{||z~~~}}|}}}||~}}|}}}}|{|||{{{|}~|||~}|z|{{}|{}|{{|||||z|{{{z{|{}{|{{||{z}z|{{{{|z{||||{{z|{zzz{|{{}|{|z{{zz{{|{|{{|{{zzz{z{{{{{z{{{z{{z{{{{zz|{{|z||{zzzz{{zz|{|{{|||{z{zz{{||{{{|{||{{{{{{{{{z{|{}|{|zzz{|z{zz{z{|{{{{{{|{z{||{|{|{{{{{z{{{{|||{||||{{{{{zz|{{||{||{{z{{|z{{|{{{||||||{{|z{{{z|z{||{{{z|{{{|||z|||||{{{{{{{z{|{{||{|{zzz{{z|{|||||}|{{z{{{|||}}|{|||{{{{{{z{{||||||{|z{{{zz||||||{}|{{|z{{|{{|{|{|||}{{z||||{}|||}|||||{{z{|}{{||}}{|{{||{z|{{|||||}{{|||{{{|}|}||||{|{{{{||||{{{}|||{{z{{|{||||{{||{{{z{z{{z{{{|~}}}}~~|||}}}|~|}||||}|{{{}}|||||}}{|{{z}{|{{{}|}|{|{z|{{zz|||{{|||{{{zz{{|{|{||{|{{{|{{{z{{{|{|||z{{zz{z|{{|{{{{|{z|z|z{{||{{{{{{zz|zz{{z{{{{{|{|{{{{z{z{{||{}{||{{{zyz{{{{||z|{|{{{zy{{zz{{{|||{|{||{zz|{{z{{|{{{z{{{zz{{{{||{}||z{z|{{{{|{{{{z||{{z{z{z||{{{||}{{|z{z|z|{||||{|{{{{{z{{{|{}|}}{{{{{zz{||||{{{{{{{{{{{{{z|{|{{{|{|{|{{{{{|}|{||}{{z{{z|{|{{|{|}}{|{{{zz{|||{|||}|{|{|z{z|||{|||||||{{||{{}||||||{{|{{{|{z~{||}|{|{z{{|||{{{}}|{}||||||||||{||||}|{{||{{||{{|{||||{{{{{{z||}}{|}|{{z{{z{z{{|{}||{|{{zz{{z{{{{{~~}}}}}|~|}}}}|}}|||{{|z{|}}|||}}|{|{{{|{{{{|{{{}|{|{{{{{{|{{|{|||{z{{{{zz|||{{|z|{z{z{{{{{{||{|z{{z{{z{{{z{|{z{z{|z{{{z{yz|z|{{{{{yzz{z{{z{|{|{||zyz{zzz{|{{z{{{|z|{zz{z{{{{|{|{|z{{{zy{z{{{{{z{|z{{z{{z{{|{z{{{{|{{{{{{{{{{{{|{{{z{{z{{{{{|{{||||{|{{z{{{{{{||||{z|{{zz{{||{|||{{z{{|z|z|{|{{|{}{z{{{{z{|||||||{{{{|z{z{|{{{{z{{{{{{{{{z|{{{{||{|{zz|{|{{|{|||||{{{}|zz{{}{{||{{{}{z|z|z|~}||||}|{|||||{{||||{|}||{{{{{{z||||||||{}{|{{{{{||}|{}{{{z|{{{|}||{||||{{{{{z|{|{}|{{|z{{zzy{{z{{|{|||{{{|{z{{{{|{|{|||{|z{z{{|z|z|~|}}~}}}}|~~}~}|}||{{|{{{{}|||}}||{|{|z{{|{||||||||{{{{{{|{}|{{||||{{z{zz||z|z{{||{|z{{{zz|{{z{{{|{{{{z{z{{}{{{z{{||zz{zzz{|{{|{|y{zzz{zz{{z{||{|zzz{zz{{z{|{z{{{{{{zzz{zz|{|{{{|{zzzz{zy{{{{|{{{z{{zz{z{z{z{{{{{|zz{{z{{{{|{{z{|{zzz{{z{{{|||{||{{{|{z{z||{{|{||z|{z{{{{|||{|{||{z{z|z{{{{||{|||{z{{{{zz{||{{{|{{z{zz{{{{{{|{{{{{{z{{{{{{{||||||{|z{|{|{{|{{|{{}|{||||{z|{{{|||{{{{{z|{{|}|{{{|||{|{z|{{{}||||||}{{{{{{{{{{||||}|{{{{{{|{||{||{|||z{{{{||}{{{|||{{{{|z{|{||}{||}{{{{z{z{|{|{{||||||z{z{{|||{{|||{{z{{y{{{{||{~}}}~~}}||~}~~~}}}||{{}|{}}}|~|~}{||{{{}||{||{{||{z{||zz{||{|{{|||{z{{{{z|}{|{|{}{{zzz{{{{{{|z||{{{{{{{{|{||{z{{{{{|{{z{z{{{|{{{{zz{{{zyz|{|z{{||zz{zy{z{{{{{|{|{{z{zzz{z{{||{z{|{{zzzzz{z{{z{{||{{zzzz{zz{z{{{{{{{{{{{zzz{{{{{||z{{{z{y{|{|{{|{|z{{{zz||z{|||{||z{{|z{{{|{{||{||{{{z|{z{{{|{{|{|{{{{zzzz{||{||||{{{{||{z||||||{|{{z{{z|{{|{|{|||z{|{{{|{|{{||||||{{|{{z{{|}|}}{||z|z{{{||}|}}|{}|{{|{{{{{|||}{||{{{{{||{|||{||}||{|||{||||}|||{||{{}{{{|{|||||}||{|{{{{{|{|}|{||{{z{{{z{{|{{||}||z{||z{z||||||{||{|y{{{{|{|{{}}}~}}}}~~~~}}}~|}}||||~||||||~||{{|}||}|||{}|{{{||{{z{{||{|{|||{|{{{|{|{{||}{|{{{zzzzz||{{{{{{{{|{{z{{{{{{{|{{{{|z{{z|z{z|{{z|z{z{zz{z{{{|{||{{{zz{{{{|{|{||{{{z|z{zy{{{|{{z|}|{{{{{{{z|z{{{{|zy{{|{{zz|{z{{|{{{{{|{z{{|z{|{||z{|{|{{{{|{{||||{z{{{z{{|{||{{{|||z{{{z{|{||{||{{y|{{{{|{||{|||||||{z{zz||}{||||{z{|{{z||||{|||||z|{|{||{{|||||||{{z{{|{{|||{|||||||||{{|{}}|||||{{|{|{{{}}|||||||{{{|{{||||||{||||{|||{{}|||}}|||{|{{{|}}||}|}||z{||{{{{||}||}||{{{|z{{{|||}||||{{{{|{{|||{|}|||{{z{{{{{}||{}}{|{{z|z{{||{|{~}~}~}}~}~~|}}||}}||||}}}|}}||||||{||~||}}|||{|{{{{|{||||||}{|{{z|{{|||{||||{{{{{{{|{{|{{z|{z{{{z{{{{}||{|{{{z|{{{{{{{||||{{{z{{{{z|{||{{{|{{{z{{{yz{{{{{{|{z{{{{{{z|z|}{|{{{{{{{{zz|zz{{|{y{{{{z|{{|{{{{|}{z|{z{{{|{||||||||{z{{|{{|z|||{|{{|{{z}z||{{{|{||||{{}z{{{||{||{|{{{{{|{|||{||{||{|{{z{z{|||{{||{|{{{{{{|{|{|{|z|{{{{{z{||{|}||{{|||{z{{|{||||}}}|{{|{z{|||||||||{{{|{||}|}|||}|{{{{||}{{{}}|||||z{{z|{{|}}}||}}|{||{{{|||||||}||{{{||{|||||{|}|||{||{{|||||}||}z|{{{{||||}|||||||{zzz{{{}|}|||||z{{{{{{{||{{~~}}}~|}~~~~}}}}}}}|{||||}||}}}}||||{|{z{|}|||{||{{|{z|z{{}||{|||{{{{{{{{{|z|{z{|z{{{{z{z{|{{|{|{{{{zzzz|{|{z{{{{{zzzzzz{{z{|{{|{{{zz{{z{|{{{{{|{{{{{{{{{z|{{{z{{{zz{|z{{{{||{||{{{{{zzz{{{{{z{|{{{z{{z{{|{{{{{{{{{|{{zz{z{{{}{||{{{{z{|{{|{{{{{{{{{{{{z{|||||||{{|yz{z{|{|{||{{{{{{{{z{{}||{|{|{{{{|zz{||{{|{|||{{|{|{{|{{{||{|{|{{|{{{{|{|||||{{|z{{{|{{{|||||{{||z{z|{{}|{||}|{{{|{||}|||||}||{{{|||}}|{{|}|||z{{{{z||||||}}|{{{|{|{{|||{{|}|}|z{||||{||}|}|||}{{|||z|||||||||{{{{{z{|||}{|}||{z{{{{z{{}|{{}{{{|{{z|{{||{{~~~}}~~}~}}~||~}}|}}|{|}|}||}}|}||{|{|z|}z{}|}|{{{||{z{{||{||||{{{z{zzz||||{{{}|z{zz{{z{|{|{{{{|{|{z{{z|||{{|{|z{{{z{{z{{||{{{|zzz{{{{|{{{|{{|{{z{{z{y{{z|{|||{{zzzzz{||||{||||{{{z{{zz{|{z{{{{||{zzz{{z||{{|z|{{{{{{y{|{||{{{{{z{{|z{{{{|{{{|{{zz{{z{|{{{|}{||{{{{{{z{{{{{||}|z{{{|{{z{||{||{|{{{z|{zz|}}z||}||z{{{{{{{}{|||{{|{zz{{{{{{|||z||{||{{{{{||||{|}|{{{|{z{z|{}|||}{||{{||||}||||||||{{|{|||{{}}}{||||{|{{||||}|||}||{||{z{{{}}}|}~|||||{{||||||}||||}||{|z{||||}{}{|{|{{|{|{||||}||{|z|{{{{{}|{{|}|{{}z{{|z|||{|~~}}~~}}}~}}~~}|||{|||{|}}|}~|}||{||{{||{{||||z|||{{{{z{{||z{|{||{z{{|y{|{|{||||{{zzz{z{{|{{{{{|z{{z{zz{{|{{||{{|{{z{{z{{||{{||z{z{zz{z{z{{{{{{{{{{z{zz{{|{|{{|{{zz{zzz{{|{z{{{{{{{z{zz{z{z{z{|{z{{{{{z{{||{||{{{{{zz{{z|{|{{|{{z{{{z{{z{|{|||{{{{{{{{{{|{{|{||{{{{{{|y{|||{{|{|{{{{{{{{||}||{{{|{{{{z{{|{{{||{{|z{{{{|{|{{}}{|{z{{{{y{||{||||}{{z{|{{{{{{|{||}||{{{zz{||||||||{{{{|{{{{||{|{|{{{|z|{|{{}|||}||||{|{}{{{}}|||}}}z||{{{{}}||||{{}{||{||{||{||}|||{{{|||{|{||}|{|{{z{{{z{{{{{{{|}{|z{{{{z{||{|||{{{{{|{{{{{{{{~}~~~~~~}}}}|{}}{||{|}~}}}|}||z{{{{{||{|}}|}{{{|{|{z||||{{|{||{z{{z{||{|{{{{{{z{{z{y{{{{{||{zz{{z{zz|{|{{||{{{{z{zz{|{z{{{{{z{z{{z{yz{{|{{z{{zz{{zzy{z{|||||z{{{z{{z{{|{{|{{{{zz{{zz{|z|{z{|{{zzz{{zz{z{{||{{{{{{zz{{{|{||{|{{{{{zzz|{|{||{|zz{|z{z{{{|{{{{{z{{z{{{|{|{{{{||{z|zz|{{{||{{{||{{{{{z{z||||{z|{{{{|{{z{|||z||{|{{{{{||{{||||||{{z{zz{{{{{{}||{|{{{{|{zz|}||||||{zz{{|{{|||||{}|zz|{z{||||||||}{{|{{{{{{{|||{{|||{||{{{{|{|{|{}||z{{z|z{||{|||||{{z{}{|||||}{|||{{{{{{z{{{{{{||{{{{{{z{z{||{{||zz{{z{z{z|}|zz}|~~}~}}}~}}}||}|}||}}}|{~||{|||{{}|||{||||||{{|||||}||z{|{{{zz{zz|{|{|{|||z{{||{z{{|{|{|{{{{{{{z{{|{{{|{|{{{{zzzz{{{{||||{{z{zy{zz{{{|{{{{zz{{zzzz{{{{{|{{{{{z{zz{{|z|{|{{z{{{z{z{zzzz|{||yy{|{z{{{{{{{{|{{{z{{{{{||{{||||zz{|{{z{||{{|{|{{{{{{{{{{{|||||z{{{zz{{|{}{{|{|{{|{{{{{{|||{|}{{{{|{{{z{|{|{|||{z|{z{z{{|||{|||{{|z{z{|{{|{{||||{{{{{|{{{|{{|{}{z{|{{{z||{|{||||{{{{{z{|||||||||{{{{{{{{{||||{{{{{{z{{{|}|}||||{{||{zz|||||||}{|zz{|z|{{{|{{|}}||{{{{{{||{|||||{{{{{{{z|||{{|}|{{z{{{{{{||}{|||{{{zzz{{{{{|{~}}}~~~~}~}}}|}{|z{|||||}|}|{|{|}{||{|{||||{|{|z{|{{{|{{{|{{y|{z{{zzz|{z{{|z{{z{zz{z{|{{{{{|{z{{zz{{{{{{{{|{z{{z{zzz{{{{{|{z{{zzz|{{|{z|{{{{zzz{{{z{|{{{||{|{{zy{zz{|}{z{|{zz|{z{{zz{|{{{{|{{zzz{zz{{z|{|{|z{{{|zzz{{|{z{{|z{zzz{{y{{{{||{|z{{{zz|z{|{|||||z{|{y{zz|||{|||{{z{{z{{{{|{|||{{{z{{{{||{|{{{|||{z{{{z{{|||{z{{||{{{{z{z{{||}||{{{{{|z|{|{}{|{|||||{{z{z||{{|||||zz{{{|{}}|{|}|{{z{|{z{|{{|{|||||{{|{{||{||{|||{}z{{||{|||||||}}|{{{{{|||{{{||{}|{{z{{{|{|||}{|{{{zz{{{|{|{||{}{{{{{{{|z{{{|{|||{{{z{zzz{{{{{~~}~}~|}}}~|}}}|{}}}}}}}}}}|||{{|z{|{||}||||{{{{z{|||{|{|||{{z{{{z|z{{{|||z{{{{{{z{{{{z|{{zz{{{{{zz{{{z{{{{{{yzzz{{{{z{|{{z{{{z{{y{{|z|{{{{zzzzzz{|{{z{{{{{{z{{{z{|{{{|{|{{zzz{{zzz{|z{{{|{{zy{zzz{{{{{{|}{z{zz{z{|{{|{{}{zz{zz{|{{|{{|{||z{{{{{|z||{|||||{{{{{{{z{|{{||{{{{{z{{{z{||{{{{{||{{|{zz{||{|{|{{{{|{z{{{{{{{|{{|{{z{{z|{|||||}{{{{z{||{||{|}{}|{{{|{{zz|||||}|{|{{||{{{}}|||{}|zz{{{||{||{||}|}||{{|{|{||||}|||}{||{z{||||{{||{|{||{|{{||||{{|}|||z{{z{|}{{|}||{{z{{|{||||{|}||||z|{{{{{{|}{|{{z{|{zz{zz|{{{~}~~~~}}}{|{}}~||~{}}}{|}z|||{{|{|{||||{|{||{|||{{{z|{|{|z{{zy}{|{{{{{|{zz{|{z{}z{{||||z{{zzzz{{|{{{{{{{{{zz{{{{{|{{{|z{zz{z{{z{{{||{{{{{y{zzzz{{{{|{|{{{zzzzzzz{{{||{{{z{{{zz{{{z{{|{z{z{{{{zz|{{||{{{z|{{{{{{{|{|{|||{{z{z{{{{{|{{{|{z|z{z|z{|{|{|{|zz{{{z{{{{z{{||{|{{{{zzz{{|{||{{{{{{{{{{{|||{||||{{zz{z|||{{{||{|{{zz{|z{|||||||{{{{||z||||{}{{|{|{{|{{{{||{|||{||{{{|{{|}||||}}|||{{{|||||{|{|{||{{|{{{{}||||}|||{{{{|{|||||}{|{{z|{{{{|||{}|||||||{{{{{|||{|{||{{z{{{z{{||{}||{{{{{z{z{|{|{||||{{{{zz{{{||{~~~~~~~~~~}}|}|{||~{}|}}}}|{||||}z|{|{|}|{|{{{|z{{||||{|{|{|{|z|{z|{||||{|{{{z{z{z|{{{z{|z{{z{{{z{zz{{{{||{{zzz{z{z{{{{|zzzzz{zz{z{|{{|{{{{{{yz{z{z{{|{||{{z{zzzzz||{{{{{|{{zzyz{zz{{{{{|{|{zyz{{{z{{|{|{{{{z{{{zz|{|||{|}{z{{{{|{||z{|||}|z{z{z{z{{|{{{|{{{{zzzz{{||||{|||{{z{{zz{|{|||{||{{z{z{{|{{{{|{{|z{{{{{{{{{{}{|{{||z{{{{|{||||||z{{{|z{{{{{|||}||z{{{yz{{|{}{{||{||{|z{z||||||}||{|{{||{{||||||}{{|{{||{|{{{}|}||{|{{{|{|||}|}||}zz{{{|{{||||{~}}|}|{{|{|}|}||||{{{{}{z|{||}{|}|{zz{z{z{||{{{z}{|{|zzzz||{{|{~~~~}}~}~}|||{||||}|}||||{{{{|{z|}{||{||{{{{z{{{{{{|z|{|{{zz{z{z|{{{{||{{zzzzz{z{{|z|{|{{{{z{z{{{{|{{{||z{zzz{{z{|{|{|||{{{zz{{zz{{{{||{{{z{z{z{{|{{{}||{z|zzzzz{|{|{{|{{zz{|zz{{{{|z{{{{{zz{zz{z|{{{||}{z{{z{zz{z{z{|||{{{{z{{z{{||{|{||{{z{{z{{{{|{{{|{{{{{{{{z{{||}||{z{z{zz{{|{|{}{|{z{|{z{z||{{|{||{z{{{{z{|{|||{||{{{{{z{{|{{|||||{{{{{{||{{{||{||{z{{{{{{||{|||}}|{{{{{{{||{}{||{{{{{||{|||{||}||||z|z{{{|||||||}}|{{{{{|{||||{|||{{{{{{{{|||}|||{{{{{|{{||{||||}|{|z{{{||{||||{{|z{{z{|{|}}|{z{{|{{z|{{{{{|||~~~~}~~~}~}}}|}|}}}|}}}}|||{||{{|}||}||}{|||||{||{|}|{||{{{{{z{{{{{||{|}{||{z{zz{{{{{{{|{|{{{z{z|||{z{||{{{z{|{z|{|{{|{|zz{z{{z{|{z{|{{zz{z{z{z{|z{{{{{|{{{{z{z{{{{{{||||{{{{{zz{{{z{{{||{zz{{zz{{{{z|{{z{{z{zz{{||{{{}{{{{z{{z{{||z{{||{z|zzz{{z{{|||||{{{{z{{z||||||||{{{{{{z{{|{{{}|||{{|{|z||||{{|{||{{|{{{{{||{|{|}|{{||{{{{|{||}}|{z|{|{|{|{|{{||}{{{{{z{z{|||||||}{|{{{||}}|{|}}}|{||{|}|||||{}}}|{{{{|{{}}|}}}}{|||||{|||||||||||{|{{{{||||}|||{}|{{|{{{|||||}||||||{{||||||||}|{{{{{{{z|||{||{{|{{{z{{||{|||~~}~~~}}|}|||||}}|}~}|~|||{{{{|{}{|||~{z{|{{||{{||{||||{{{z{|{{{{{{{||{{|z{{zz{||{{|{{{{|{{{{zz{}{{{{|{{z{{z{zz{{{{|||{zz{zz{z{|{{|||{{z{zz{zzz{{|{||z{z{zy{z{||{{|{||{z{z{z{z{{{{z{{{{{{{z{z{{}{|{||{z{{yz{{z{|{{{||{{{{{{{{zz||{|||{z{{|{{{z{{{|{{||{{{{{z{{{{{{|||||{||{{{{{{z|{|{{{{zz{{z{{|||{{||{|z{|{zz||{|{||{{{{|{|{{{|||||||{|{{|{|{{|||}{{||{||{|{{{|||{|||{zz{|{{{}||{{|~||||{{||{{||}||{||{{{{|||{}||}||||z|||{{{{{|||}}||{{{{|{||{||||||{||{|{{{||||{{|}{{{{z{|{{|{|{{|||{{z||{{{|||{{||{z{{zz{z||{{{}}~~~~~}}|||{{|||}|}{}}|{{{{|{{|||||}|{{{{z{zz{{{|{z{||{{{{zy{{||||{{{|{z{yz{{zz{{{{{|z|{{zz{zz{z|{{{{{{{zzzyz{{{{z||||zyzzzzzzzzz{|{{{|{z{z{zzz{{{{{{|{{{zz{zzz{{{{{{{{{z{|{{{z{{{||{zz{{z{z{{z|{{z||{{{zz{{{{|{{|{||{{{{{{{zz{{{{{{||z{{zzzz{{{{{|{{|{{{{{z{{{|{{{{{|{{z{z{{|{|{{|||{{{{{{{{{|z{{{{||{zz{{{z{{{||{||{{{{{{{{{{|{|||{{{{{{{{{{|{||{||{{{{{{{{{{{||}{|||{{z|{{z|||{|{||{|zz{{|{{|||{}}||{{{{y{{|}{|||}||{{|{{{{|{||||||}z{{{{z{|{{{||{}|{|{z{{||{{||}{|{zz{|{{zz{{|{|{|{{{z|z{{{{|{||||{{{{{z{{{{{|{~~~~~~||||}}||}}|}}||||{||zz|||||||||{|z{{z{{{{|{{}|{|{zz{z{{{{{{{{|||{zzz{zz|z|{{{{z{{yz{{{||{|z{{|{{z{zzz{{{z|{{{|{{z{{z{z{{{{{{||{{zz{{z{{|{{||{{|{z{{z{{{{|{|{|{{z{y{{zyz{{{{{|{{y{zzz{{z|{{{{z{{z{{{{zz{{|{z{{{{{{z{zzz{{|||{||{z{{zzz{{||{||{{{|z{{zz{||{z{||{{{{{{{{{||{{{{{{{z{{{{z|||||{|{{|{{|{{z{{|{|z{{{{z{|{{{|{||{||}{|{{{{{{||}{|z|}|{{{{{{{{|}{}{|{{{zz{{{{{||{{||||{{||{{|||||}|||{}{{{{{z|||{|||}||{{{|{{{||||{||||{{{{|{{|{{|}|}}|{zz{{{{}|||||||{|zy{{{|{||}{||||{z{{z{{{|{||||{{{{{{{{z{||{{~~~}~~~}|}}{||||~}|}}|||||{{{||||||{|||{|{{{{{{|||||{{{{|z{{{z{{|{|{|}{{{{{{{zz{{{z|||zz{zzz|{{{|z{{zz{{zz{zz{{z{|||{{{{zzzzzz{|z||{|{{{{{z{y{{{|||{{{{{{{z{{{{{{{}{|{{z{{{z{z{{{{|{{|{yzz{{z{{||{{{{{{{{zzzz{{|{{{|||{z{{|{zz{{{{{{||{z{{{zz{{{{{{z|||{zz{{{z|{{{||}|z{{z{z{z{}{{{||{{{z{z{z{{||{{{|}{{z{{{{{{{|{{|{|{{{{{{{{|{}||{{|z{{|z{{{{{{}}||}{|z{{{{{|||z|||{|{||{{{{||{{}||}{{|{{|{|||{}}||{}|{|{{z{{}|||{||{{z{{z||||}}|{}||{{{|z|{{||||{{}|||||{{{|{{{{|}||||{{{{{{}|||}||{{{{|{z||{|{{||||{{z{{{||{{{|~~~~}}||||||||}}|||}|{z{{{|||{|||||{|{z{{z{{{{|}|{|||{{zz{{{|||{||||y{{zz{zz{{{{z|{{|zz{zz{z{{z{z{{{{{z{{{zy{{z{{|{{z{zzzz{z|{{{{|{{zyyzz{zz{{z{{{|z{{z{z{z{z{z|{{|z{z{{zz{{|||{{z{{|{{z{zzz{{{{||{|zz|{zz{{{||||z{{{zzz{{z{{{|{{{{|{{zzzy{z{{z{{{{|z||{{zz{{|{{{{{{z{{z{{{z|||{{{{{{{{||{z{{{||{{|{{{{|{zz{{|{{{{|{{{|{z{{z|{{{{|||{{{{z||{|||{|{||{{{|{{|z|{||||}{{{{{{{{{|}||{|{|||{|{||{||||||{}|{|{{|{{{|{||{}}|z|{{{{{||{|{|||{z{{{{{{{{|{{|}{{|{|{|{{||{{|}|{{||zz||{|{|{{|||{{{{{{|z|||{z||{|{zz{zz|{{{{{~~~~}}|||{}}}}}~}}~}{|{{|{|{{|||}{||||{{{{{{||||{{||{{{zz{|z||z|{{{{z{{zz{{z{|{{z{|{z{z{{|z{{|{{{{{{z{z{zzz{z{{{{{||{zz{{{|{{z{zz{||{z{zz{zz{z|{{{|{|{{{z{{{z{z{{{|z|{z{zzz{{zz{{|{|{zzzzzzyz{{{z|{{zzz{{{zzz{{{{{||zz|{|{zz{{|{|{{|{z{{{z{{{{{{{z||{z{zzz{{{{{{||||{|{{{z{z{||{||||zzz{|z{y{|||{{||||{{{{{z|{{|||||{|{{{|z{{|||||||z||{{{|{|{{}|{||{{|{{{{{{}||{|||}zz{|{{{}|||||}}{}{z{{|{{{{{|||{||{{z|{{{}|||}|{||{{{{z|{||}}|||{|{{{||{{||||||}|{||{z|{{{||||||{|{z{{{{||||||}||{z{z{{{{||{{{||{{{z{z{{|{{{{~~~~~~}}|||||}}|}}}}|}|{||{|}||||||||{{{z{{z{}|{{||}{{{{{z{z|{|{|||}{z{{{zz{z||zz|||{zzz{{zz{{|{{|{{{z{{z{zz{zz|{{{{{z{{{z{{{{{{|}{{{{z{zzz{|{|{{{{{{{zzz{z{{{|z||{{{{z{z{{zz{zz|{||{{{z{{zz{{z{{|||{{z{{{z{{z}{{{{{{{{{|{{z{{||{|{|{|{{{{{z|{||{|{{{{|z{{{{||{|{{{{||{{{z{{z|{{|}||{{|{{zz{{|||{||{{z{{|zz{{{|{||||z|{{{{|{{{|||{|||{|{{{{{{||||{||}{{{{{{{{||||||{{{|{{{{{}||||}}||{{{{{|{{|||||||}{z|||{|{}||||{||{{{z{{{}||{{||||{{{{{{|{{|{|||||{{|{{{{{|||{}{|{{{{{{{z{{|{{|}{|{{{{{{{|{{||}{{{{|{zy{{{{|{|~~~}~~}|}}||}}~|}|}~}|}z||{||||||}|||{|{{zy{{{{|{{{{{{|{{|{z|||{{|||z{{{{zz{{{z{|||z{{{{{{z|{|{{{|{|{z{{z{zz|{{|{{{{{{zz{{{{{{{{{|{z{{{{zz{z{{|{||z|{{zzz{zz{{{|{{{|{z{z{z|{y{{{{{|{|z{{zzz{||{|{|{||{{{z{{{{{||{{||{{{{{{{{|{||||{||z{z{z{{|}{{}|{|{{{{{{zz{|{|{|{}|{{{{z{{{|{z{|{|{z{{{{z{|||||||{{{z||{{{{|{{||||{{{{{||{{{}{|{||{|{{{{{||||}{}|||{z|z{{{||{||{|||{{{{{|{|||}|{{|z{|{{||}{||{}}|{{{{{||{|{}{|||}}{z{{{|{||{|}||{||||{{{{{{{||{|||}||{{||{|||}||||||z{{|{{{|{{{|||{|{{|{z{||{{|{|||z{{{{{|{||{|~~~~~~~|||||}||~||{|||{{|{{{||{|||}{{{|{{z{z{}||||}|{{{z{{zz|||z||{{{z{z{{{z{{{z{|{|z{{{{{{{{{{|{|{z{{{{{{z{|{{|||{{|zz{|{y{z{{{{{zz{z{{z{z|z{|||||||{{{zz{|z|{{{|{|{z{zzz{zz{{{{{{z{{{{z{{{|{|{||{{{{|{{{{z{{{|{{|{|{{z{z{{{|||{{{|zz{z{{||{{{|{{{|{{{{{{z{{|{{{|{||{{zz{|z{{z{||||{{z{{{{{||{|{||{{{{{{z{z||||{{|{|z{{{{{{{{|||{|{{{{{{|||{|{}z{||||{{|{z{{|}|{||||{{{||{{}|}{}{|{{{|{|{||||||}||}{|}{{{{{||{|}|{|{{{|||{{|||}|||{|{z{{{{||}{|{{}|}|{|z{|{|}||||||}{{{{{{{{|||{||||{{{{z{{{|{|||||{{{{{z{{|{{{{}~}}}|}}}}}}}~|}}}{{|{{{{||{{||}||zz|{|{{{|{||{|}|{{z{z{z{{{{{{{}{{|zz{{{{z}{{|{|{zzz{{zzz{||zz{{zzz{{{{z{{{{|{{{{zzzz{{{|||{{{{{|{{zzzz{{z|z||{|{{z{z{zz{|{|{||{{z{zz{zzz{{z{|||yz{|y{z{{|{|{||{|{{{{{{{z|z{{}||{{{||{{z{{{|z{}|{{{{z{z{|{|}{|{||z{{{{z{|||||{}|{zzz{z|z{{{{{{{|zz{{{zz{||z||||{{|{{{{{z{|{{z|{{{{{{{{{{{{|}||~|{{{{{{|||{z{||||{{{}{zz|||}}||}{|{|z|{|||}}||{||{|{{|{{|{|||||||}{zzz|{z{|}||{|||{|{|{z{{||||{|{{{{{{{z{||{|{||}||{{{|{|{}||||}||{{{|{z{{{||{|||{|{zz{|{{|{|{|}|{{{z{{{z{||{{~~~}}~|}|{|}||}|~}|}{||{{{{||{|{|||{{|{y{{{{|{{|{{}{{|zz{zz||{{{{{{{{{z||zy{{{{z|{{z{{z{z{z{{|{{{{|{z{zzzz{{z{{||{{z{{zzz{z{{|z{{|{{{zzzzy{z{{{||{|zzzzzzzz{{||{{{{{{z{{z{z{{{{{|{{|zz{zz{z{{{{{{||{{z{{|z{{{{{{{{|zz{z{z{{{{{}|{|}{z{z{{{|||||||||{|{{{z{|{{|||{|z|{{{{z{{{||{||{{{{{z{{z{|||{z{|{{zz|{{{z|{}{|z{|{z{{{{{|{||}||{|{z|{z{{{|z|}||}{|{{|z{{zz{|{{|||{{z|{{{}}}{||||||{{{|{|{||||}||}}{zz{|{{|~||}{}}||{|{{{{|{{{|{{|{{|{|{{|||z{||||||z{|{z{|{|}||}}{|{z{|{{z}{{|||{{{{{{{{z|{|{||}|{{{|zz{{{{||{~}~~~|}||}|||||||||}}{|{{{||{||{}||||{{{}zzz{{{{{|{}{|{{|z|zz||{||{{||{{{zzz{{||z{||zzz{{{z{z{{|{{{||{zz{{zzz{z{|{{{{|{zz{z{zz{||zz{{{zz{z{{zz{{z|{|{{{{yzz{{{{{{{{||{{{{{{{z{zzz{{|{{{zz{{{{{|{{{{z{z{zz{|zz|{{||{|{zz{z{{|zz{{|{{{|{{{{{z{z|z{{{{{|{yz{zz{{{z|{{{}|{{zzz{{{|{||{|{{{{|z{{{zz|{|{{}{|{z{|{{z{|zz{{{||{{{|{{{||||||||{{{{||{{{|{|{|||{z{{z{{{{}||{|{|||{z{{z{{|}||{||{||{|||{|{{||||~|{{{zz{{|}||{}|||{{{{{|z|{}|{||||{{{{||{{|||||||{{{{{{{{|{{|||||{{|{|z|{{|z{{||z{|{{{{{z{|{{{|||{{zzzz{z{||{{~~|}||}|}}}}|~}}|{}{z{|{{|{{||||{{{z{{z{{{}|{{{|{{{{z||z{||{z|{|z{zzzz{{{{{|{{|{{z{zzz{{|z{{{|{{{{{{z{{z{{{{z{{|{z{zzz{z{{{{{{{{{zz|zzz{y{{{{|{{{{{{z{|zz{|{zz{z{{zz{z{z{{{{{{|{{|zzzzz{{|{{{|{{zzz{{{{z{{{{|{{|zz{{{z{{{|{z||{|{{{{zz{z{{|{{|{{{z{{{zzz{}{{|{|{{{{z{z{z{|z|{||{|{{{{{z{{{|{{||z|zz{{{z{{||{{{||{z{{z{{{z{{|{{{||{{|{{{|{|{{|{|{{{{{{{{{||}|}||{{{z{{{{{}{{|||{}{|{{{{||{}|}|||||{{|{{{{{|{|}|}||{{{{{{|||}{|{||{{{{{|{{||{|||||||{{{{{|||{|}|{}{{{y{{{z{{|{||}{{{{{{z|z{|{{{{}|{z{{{zz{{|||{~~~}}~|}|{}||}||~}}|{||}|{{{{||||}|{{|{{{{{{z{{{|{{{|{z{{{{{{{{{|z|{{{{{{{z{|{{|||{{z{{zz{z{z{||{{{z{{{{{{|{|{|{{{||{zyzz{{{{{|{{|z{zzzzzz{{|}{z|{{{z{z{zzz{{|{{{|{z{zz{z{{{zzz{||zzzzzz{zz{{{{{|{z{z{{|{z{{|{{{||{{{zz|{z|{{{{{{{|z{|{zzz{||{|z{|}z{{{z{{y{z||{{{|{{{{|z{z{|||{{z{{z{{{{{z|||||{}||{{{{{{{{|{z{{|{{z{z{zz{|{{|||{{{z|{|{|{|||||||||{{{{|zz{{|}{||||{{{|{{z||||}{}|z{|{||{{{{|||||||{{z{|{{||||||||z{|{{{{{}||{{{||{{{{|z{{|{|||{||||{{|{{{|{|{|{||{{{{{||{{||||||}|{z{zz{z{{{{{{|{|{{{{{z||{|{z~}~~}}}}}{||~|}}~|||{{z||{{||{||{|||{{{{|{z{|}{{{{||zzzz{z{{||{{|||{{{zz{{{{{{{{{|{zzz{|{z{{{{z{{{{{{{yz{{{{{z{z|{{zz{{{zyz{{||{{{{z{zzzzzy{{z{{{|{zzz{z{{zz{{{z{|{{z{{zz{zz{z{{{{|{{zzz{zz{{z{|||{{{{{{{zzz{{{z||{{{zz{z|{{||{{|{{{{{{{z{z{{{|{|||zz{{|z|{{|z|{||||zz{{z{{{{{{{{{{{{{{{{zz{{||||}|{{{|{{{{{}|{|||{{zz{{{{{{||{|}{{{z{{{{{{{}{}{|}||{{{{zz{{|}{||{{|{{z|{{{|||||}{}{{{|y{{z{{||{||}}{{|{{||||||||||{|{||{|{|{||||}{|{||{{{|{||{|||{{|{||z{{{|{}{|{|{{{z{z{{{||||{|||{z{zz{{{|{|{|||{z{zz|z{{{|{{~~~~~}}}}||{}}|}||}||{{z||yz|||{{|||||}{zzzz{{|{{|z|{{zz{{{z{|{{{|{|{{{{z{{{|{{{{|{{{z{z{zzzz|{{{{||{y{zzz{z{{z|{|z{zzzzzzz{z{|{|{|{z{{{z{{zz{z{{y{|z{{z{z{z{{{|z{|{{{{zzzzzz{{{{z||{{z{y{zz|{{z{{{|zz{{{{zzz|{{{{|||zzz{z{{{{{z|||{{zz{{z{{{{{|{{|}{{{{yy{{|{|{{{{{{{{z{{{{{{{|{{{||{{z{{{{{{|{||{{{zz{{{z{{|{z{{{|{yzz{z{{{||||{{|z{|{{{{z{}{|{||}{{{{z{{{|||{||{{{{z{{{|z{{}{|||{|||{|{{{{}||{|{{{{{z{z{{|}||||{||{||{|{{|{|}{||{|{{{{{{{||{{{||}|{{{|{{{||{|}||||{{z|{|{{{z|{|{||{z{{zzzz||{{||{{{{{z{zz{|{||~~~~}~}}}||}||}}}~}||||||{|||{|||{}}||z{{||{|||||||{{|{{{{z{{{|||||{{{z{||{{{{{{|{{{{zzz{{zz{{{{}{{{{{yz{{|{{{{{{||{zz{z{zz{|{{|{{{z{||z|y{{{{z||{|{z{zz{zz{||{{{{{{{z|zz{{z{{{||||{|{z{zzzz{{||||{zzzz{{{z{{{{||{{{{yz{z{z{|z||}||{{z|{{{{{{|z|{{{{{{{|{{z|||{{||||{{{{{{{{||{{||||{{|{{zz{|||{{}||{{{z|{{|{{{|{|{z{{{{{z|{{|||}||{z{||||{|{|||{||{{}}{{{{{|||||}{|{z{{{{{|{|||||{||{z|||{|||||{|{}{z{z{||{|||||}}{||{{{|||}{}|}}||{{{{z{}}|{|}|}|{|{{||{{||||}|||{{|z{{z{|{|||||||{{{{{z{|{{||||{{{{zzz{z|||{|}~~|}}}|||}{|}}}}~||{{|{}{{|||||}|{{{|{{{z{|{{{{||{|{{z{{{||{{{||{|{{z{{{z{z||{||||{{{y|{{{{{{{{{{{{zzz{{{z{||||z{zzz{zz{zz{|{{{{|{zz{z{{{z{{z{|{|z{zz{{{z{{{z|{{|z{z{{zzz{{{z||{|z{z{zz|{||{{{{{|{z{|z{z{{|{{{|{{{y{{|{{y||{|{|||{z|{{z{{{{{||{{}{z{zz{{{{z|{{||||{{{z{{{{|||||{|{z||z{{z|||{z{||z{{{{{z{||{{|||{z{|{z{z{{|}}||||{{z{{||||}{{{|||{{{|z{{z{}|{{|}{{{{{{z{z|||||||||{{{|{||||{|{||||{|||}{{{|||{|||}{|||z{{|{~||{{|{{|{|{|{{}|{|||}{{{|{|{||||}|||||{{{{{{z||}{{|||{|{{{{{z|{||{{||{z{{{{z{|||||~~}}}}|{}~}}|}|}}||}{||{{{{|}}|||{{z{{{|{{{{|{{||{{{{z{{{{z|{{{|||zz{z{{{{|{{{|{{{z{zzzz{{|z{|||{{{zzz{{{|{{z{|{{zz{{{{{z{|{|{||z{{z{{zz{{{|||{|{{{|{z{{{{{|{|{||{{{{{zz{{{z{{|{{|z{{{{{{z{|{{{{{{{|{{|{z{{|||z||{z{{{z|{|{{{||||{{}z{z{{|{{}{|||{z{{{z{{||{{||{{{|{{{{{{{{}{{|{{{{|z{{zz{{||{||{{{{|{{{z{{{|||{}|{{{|{{{{{{}}}|||{{|{{|{|||||||||z{{{{{z{||||{}||{{||{|{||{|{}|||{}{{|{|{|}||}|||||{{|{{{|||}|}|{{||{{{{|{|}|||{{z{{{{{|z{{|{}}|||{{{||||{||}||||{|z{{{{{{{||||||{z|{{|{{||{||||{|zzzz{||||{{~~~}|}}||||}|}}|||}||||{{z||}|{}{}}{{{{{{|{{{}|{|||{|{{|{|{{{|{{||}|{|{{{{z{|||z{|{{{{{zzzy||{z{{{{{z{{{{{z{zz{{{z{{{z{{z{{{{z{{{|{{{{{{{{z{{{z||||z{|{{|z{{|{{|||{{z{|z{{z{||z||{|{{z{{|{{{|{{{||{z{{{{{z{||{|{||}{{{{{z{{{|{{{|{{{{z|zz|{{|{||||{z{|{{zz|{z{||||z{{{z{{{{{{{{||||||{{{{{z|||{{||{{{{{{|{z{|{{{{||{|{{{{{z|{}|{{||{{|{{{|{||{}|{}|{{{{{{{{{||{|}|||{{{{{{{||{}||}||{{{|{|{{|{||||||||||{||{}{}||||{|{|{|{{}||}|}}||{|{|{{{{}|{}||}|{{||{|}|{|}||{{{{|{{{{{{|{|||||{{|{{z{|{|{|||||{{{z{{{{{|{||~}~~}}}}|}}|}}}~}~{{{z{|||}{||}|}||{|{{z{|{||{{|}|{{z{{{{{{{{{||}{{{{{{{z{{{{{|{{{|{z{{z{|{|{{||{{z{z{zz{{{{{{{|{{zz{{{z{{{{||{|{{{zzz{|z{{{z|{{|{{{{z{{{{{{{zz}|zz{{zzzzz{{zz{|{{{zz{{{{{{{|{zz{{{{z{z{{{|{|{|{{{{|{|z{{{|{{|{{|{{{|{z{{{{{|{{||{{{z{{{{|{{{{{{|{{zz{{{{{|{|{||{z{{{{z{z{|}{{|{{{z{z|{{z||{{|{|{|{{zz{{{|{{||{|{z|{{|{||||{|{||||{||||{z{|{{||{}|z}||{|{|}}{||||{||z{{||{||||{|||{{|{}{{|}|||||{|{|||{|{||}}||}||}|{{{{|||{|{||}|{|{{{{|||||{|{{|||{{{{{|{||{}}}||{|{{|{|||{{{|||{{zzz{z|{|{{~~~||}|}}}}}}||||||||{|{{|||{||}|{|z{zz{z{z||}{{||||z{y{z{{{{{||{{|z{z{{zz|{z{z{|{{{z{zz{z{||z{{}z|zzzzy{{z{z{||{z{z{|{z{z|{{z{{z{{{zzzzz{{|{{{{{{{z{{zz{z{{z{z|}{|z{z{y{z{{z{z{|||{z{zzz{zz{z|{||z{{zz{yzz{z{{{{{{|{{{z{{{{{{{z{}{{z{zz{{{{|{{{{|z{z{{{zz|}{{{{|{|z{z{zzz{{{|||||z{zz{{{{{{|{{|}{{{{{z{{{{{{{{{{{{{||{z{|||||{|||{{{zyz|z|{|}{}{|{{{{{{z|{{|||{|{|zz{{z{{|{{{|||{{|{|{{||{|{||}|||{{{{{{|{|{|{|{}|z{{|{|{|{{|||||{{|{{z{|{|{||{|||{|{||{{{|{|{|||{{{z{|{{{{|||{||{|{{z{{z{{{{{{{|{z|{{z{{{|{z{~~}}||}}||}|}|~|}}}|||z||||||||{}||z{{{|z|{||}{{|||{zz{{{z|{||{|{|{{{{z||yz{zzz{{||{{zzzyz{{|{z{{zz{{z{zz|{z{{{||{yz{zzzz{{{{{{{{{{z{{zzzzz{{{||{|zz|{z{{{z{|{{z||z{{z{{{{y{{{z|z|{|zzzz{z{{|{{||{zz{z{zz{{|z{{|||{|{{{{|{{{{{{|||{{{{{{{z{{{|{z{}{zz{{{z{{{{{||{{{{{{{{{{{|{{|||{}{{|||z{|{{{|{||{{|{{z{{||{||{|{zz{{{{{{|}{||{||z|{{{{{|{|||||}|{z{||{{z{{||||}{|z{{{|{{|{||||||{{{||{|{{|{||||||z{|z{|{|}||||}||z|z|{||{|{|||||{{|{{{{{|{{{|||||{{{{|{{||||||}|{{{{{{{z{{||||{{||{{{{|{{}{|{{{{{z{z{zzz|{|{|~~}~~~~~||{|}}|}}}}}}{{{{z|{{||||}{{|{{||{{{z{|}|{||||{{{{{{z|{||{{|||{z{zz{z{{{z|||{{{z{{{z{|||{{|{|{{{z{y{z{z{{{{{{zzz{{zzz{{{z{{|{{{z{zzyz{{|{{{{{{{{{{{z{{z|{|{{|{zy{z{{{z{{{{|||z{z{{zzz{|z{z{|{{zz|{{zzz{{|||}|{z{z{zz{{|{{{|{{{{{{zzz{{{{||||}zz|zz|z{|{{{|{{|{{{{{{{zz|{{{|||{{{{{z{z|||||{|||{{{|{{{{{{{{|{{z{|{|{{{{{}|{|||{{zz{{{{{{{|||}||z{{|{zz|{|{|{}|{{{{||{z|||{|||{}{{|{||{||||||{|}{{{{{{{{}|}{|}{|{z|z{{|}|{|{|||{|{{{|{{|{|{{}}}||{||z{{{{||}}{|{{|zz||{z|{{|||{|{{{{|z{{|{|}{{{{{|z{{{z{{|{|~~~}||}}{}||}}}}}}|}|}{|||{|||{|{{{{|z{{{{{|{||{{||{{{z{{{z||||{|{|{z|z{zz{{|{z{{|||z{{z{zz{{{|{|{{{z{{zz{{{|{|{|{{|z{zzzz{{{zz{|{{{{{zzyyz{{}{|{{{{{|{z{z{z{{|z{{|zz{{{z|{{{{{{|{|{{yzzzzzz{{{{z{{{{z{{{{z{{{|{|{{z{zzzzy{{{{{z|{|{{{z{z|{||{{{{{||zz{zzz{|z{{|{|{{{|{{{{z{{{{{|{{{zz{{{{{{|{|{||{{{|z{{{{{}{|{{{{{|{{|{{{{|{{{|||{|{{|{{z{{|||}{|{{{{z{z{{|||||{|{z{z{z{{||||||}|}{{z{||{{{|||||||{{{{|{{{}|||||||{{|{{|{{||{||}{|{{{{zz{{{||{||}|{{{|{{{||||{|}||{{z{{{{{{|{|{|}||z{{{|z{|{|{{{{{||zzz{{|{||{~~~~~~~|||}|||}||}||}}||{|||{}}||||||{z|{|z{z|||{{||||{{z{{z{||{z|{|}|{zz{{{{{||{||{|{{z{|zz{z||{{{|z{{{{z{zz{{|{{|{{|{zzz{z{{{{{{z{{z{zzz{z||{{z{|{{{zz{z|z{|||{|{||{{zz{{{{{{z|z{|||{{{z|z{{{{||{{}{{{|{{{{{{{||{||zz{{{||||{|{{{||z{|{{{{{{||{z{|{{{{{z{{{{{|{z|||{{|{zz{zz}||z|||{{zz{{z{||{|{||{{{{{z{zz|{|||{|{}{{{|z|{{{|||{||{{{{{|{{}|{|{|||{|{||{{|{{|||{{||zz{{{{||{|}||}||{||||{|{{||}|}||||||{{||||{|}|}|{|{|{{||{||||||{{{{{{z}{{|}|}||{{{|{{|{||{||}|}{{|z{{{{||||||{{{|z|z||{{}{|||||{{{z{{z{|{{|{~~~|~}~||{}}}}}|}}|||{||{{|||||}}||{zz{||{z||||z}||{{|z|z{|||{{||||{{|z{{{{{{{z{|||z{{{z{zzz{{zz}{{{{{z{{{|{{{z{{{{{{{{zz{z|{{{zz{{z{{zyzzz|||{||{{{{{{{{zzz|{{z{{{z{zz{zz{|{{{{{z{|{{{{z{{{{{{{|{{{{{|{|{{z{z{{{|{{{{{|z{{|{|{{|{|z{|{{z{{{z{||{|{zz{{z{{{|{|{{|||{{{{{{{z{{|||||{{z{z{{{{{{||{{||{|z{z{{|||||{{|}{|{zz{{{{{||||z{{{{z{{|{{{|||||||{{|{{{{|||}|{||}{|{{{z{|}||{{|}||{{{||}{|{|}{|}}{||{{|{||||{{|||{{z{{{{}|{||||||{{{{{{|{{{|}||||{{{{|{z||||}||}{{|{{|z|{|{{{}|}|zz{{{|{z||||{|{|{zzz{{z{||{{~~~~~~}}}|{}|~}|}}{}||{{{{{{}|}|}}|||{|{||{{|{{||||||z{{{z{{||{{{||||{{{{{{{{|{{{||{{{{zz{{z|{{{|{{{|{z{z{zzz{{{{{{{{{z{{z{{z{{{|z|{}z{{z{{zz{{z{{||{{{{z{|y||z{{{{{{{{{zzzyz{{{{{|{{{{zzzz{z{{|{||z{{z{{{{z{{{|{|{|{|z{{{{{|{z|{z|||z{{zz{{{{{{{|{{{z{{{{{z{|{{{{{|z{{{|zzzz|{{{||{{{{{z{|{{{|{z{{|{z{{{{{{|{|{}|}||{{|{|{{{|||}|}|z|{{{z{{{|{|{||}{{{{{{zz|{{||||||{{||{{||}||||||||{{z|{||||}|||}|||{{|{|{|}{||||{|{{{|{{|||||{}|||{|{{{{{|{{{|}}||{{{{{||||{}}||||{{{{z{{|{|{|{||{z{{z{{||{||}|||{|zzz{{{{||}~~~|}}}~||||||}}}|}||||{{z||||||||||||{{zzz{|{|{|||}{{{{|{z||||||{|zz{z{|z{{}{|{||{{{{{|{y{{z||{{{{{z{{z{{{{z||{|{|z{{zz{z{z{{|{{{{z{{z{{z{z{|{|{{{z{{{zz{z{z|{z{|}{{{{z{{zz{|{{{{{|{zzzz{zz|{{{}{{{{z{z{z{zz{|z{||{{{{|{{z{{||{{{{|z{{{{{|{{{|{{{{{{{z|z{|{{|{{{||{||{{z{{|{||{}||{z{z{|{z|||{|{{{{{{{{{{{{||{{|||{{{{z|{{{|}||}{|{{z||{|{{||||}|}|{{|{z{{||{||||||{{{|{{{|||{|}|||{|{{{|||{}|{|{|}{{}{{{{{}||}|}|{|{{{{{|{||||||||{{{{{z{||||||||{{{|||{|||{|||}{{{{{{{z{|||||||||{{{||{z{|||{{|{{{{{{{{z{|{{{~~|~}}}}}|}|}|}}|~||||||||}}}|}|}}}||||{{{||{|{{||{|{z{y{|{|||{||||{|{{{|zz|||{}||{{|{{{|{|{|{{{|{{{zz{{{||z{|{{{|{zz{{z{z{|{|}{{{{{{{{zz{{{{|}{||{{z{{y{zz|{{|{||{{|{zz{{{||{{{||}{{|z{{zz||{{|{|{||{{|z{{{||{|||{{{z{zzz{{|{||{|z{{{{{{|{{||{}||{{{{{{z||||{{{{|{||z{{|{{|{{||}||{{{{{|{|||{{{}||z|}{{{|{|||{|{||{{|{{|||||{||}}|{{{z{|{{|{}|}|}|{z{{{{{|||{||}|}{{{|{{{||||}|}}{|{}{|}||}|{||||}|{{|{|||}}|}}|}||}|{||{~|}|}}}}|{{z|{{|{||||}|||{}}|||{||||||||||{{|{z{{{|{||}|||{{{z|{|||{|{||{{{|{y{{{{||{~~~|}|}}|||||}}~}}}z||{|{{||||{|||{{{||{{z{||{|||}|{{{z{z{}|||{{{|{{{z{|{zz|{{{|||{z{{{z{{|{|{{{||{{{{{{{{z{|{{{{{z{|{{|{{{{{|{{|{{{z{z|zzz{}|{{|}z{|{z{{{{{{|||{{{{{{{z{|{{{{{|{|z{{y{{{z{|{||{{|{z|{{{{z{{|{|{|}||{{{z{z{|{|{{|||{{zzz|z|{|{|{{|||{z{|{z{{|{|{{|{{{{|{z{|{}|||||{{|{{{zz{|{||{{{{|zz|{{{||}{z{{||||z|z{{{{||{|||{|{{||{{||}|||}}|{{{|{{{||{{|||{|z|{{|z|||||||}|{||{{|||}|||||||||{{|{|z{}|}|}||||||{|{{||||||||{|{{||{{{{|||{||||||{{{{|}|}||||||||{{{z||}||{}||{{{{{{{{{{}|{}|{||{z{{{z|||{~~~~~~~|}}|}||||}}}}}}|||{|{{z{|||||}||||{|{{|{}{}|{|}|{{z{|y{zz{{|{|{{{{|z{z|z{|{{z{|{{{|zzzz{{{{|z}|{{{zzz{{{{{{{{z{zz{zz{{zzz|{{|z|{{{z{z|zz|||||{|{{{{z{z{z{z{{{||{{{zz{z{zz{{{||{}{|{{z{{yz|{{{|{|{{zz{|{{z|{{||{|{{{{z{|{||{|{|{{{z|{{{{|{{|||||}{|{{|{{{|{|z{|}||z|z{{z|z|||{|{{{{{{z{z{{||z{||||z{{{{{|{|{{{{||||{z{z|{{}|||{z{{||{|{|{|||||{||{{{{|z{{}}|{|||||{||||z{|||||{|}{{z{|||||||{}}}}|{{{|{|{|~|}{|}}|{|{|||{||||}|||}|z{|||z{||}||||{{{z|{{{}}||{||}{{|{{{{{|||{{}||{{|{{{{z}{|}|{|{{{{z{zz{|}{|}~~~~}}|}}||}}|}||}||||{{{|{{|{||{|||{z{zz{{z|{|{{|{{{|{zyz{{|{{{{{|{z|{{{{z{{z|{{{{{{{{zzzy|{{{{|||z{{{z{{|zz{|{{{{z{zzzz{z{{{{z{{{{{{zz{{z{{{{{{|z{zz{{yz{z||{{{{{{z|zz{|zz|z{{{{|{{{y{{zy{{{{{|{{z{{z{{{{|{{|{||{{{z{{zz|{||{{{|{z{z{{z|z{{|zz{{|zz{z{zz{{{{|{z{|{{|z{z{{{||||||||{z{{{{z{{||{{}|{|z{{z{{{{{{{|{|{z{z|{{{||||}||{zz|{{{{{{{{{|}|}{{{{z|{y{|{{{{||zz{{{{|{{||{{{}}{{z{{|{{{|||||}|{|{|{{|z{}||||}}|{|{{{{{||||{|{||{{{{{|z|{z{|}}}}|{{||{{{|||||}|{{{{|{{{{|{{}|||||z{zz{zz|||{|{{{z{{{z{z|{{z{~~|~}~~~}||~}||}~}}}||}{|{|{|{{}{||}{||{{|{{z{z|}|{{|}}{{{|z{{{|{{{{||}{z{{zzzz{||z{|{{{{{zzzz{|{|{z{{{{z{z{zz{{{{{{{||z{z{zzzzz{|{{{{|{z{{z{z{|{|{{|{|z{|zzz{z{{{{{{{{|{{{zz{zzz{{{{{{|{z{{{zzz{zz{|{{{{zz{{{{{{{{{|{{{{{{|{{{{|{{|||{{z{|z{z{{{{{||||{{{z{{||{{{{{|}|{{zz{z{{{|{|{|zz{{{{z{{{{{}|{|}|{{zz{{zz{|||{{|||{z{{{{|{||{|{|{{{{{{{{{|{|}{|||{|{{{|{{{|||{||||z{{{{|{|}{{{{|{||{{||{|||{{|}}||{{{||{{z}||}}||{{|{{z{z{{}||||{{{||{{{{||{||||}|{|{|{{{{||{|{|}{|{{||{{||{||}}|||{|z{{{||{|{||{|{{{zz{{|{|{{~~~}|~}}~~~~}}|}||||}||~}||||z{|{|{|{|z|{||}{{{{{{{{||}{|||{{z{zz|{{z{{{||||zzzz{{{z{{{z|{{{{{zz{|z{{|z{{zz{{{{{{zz{z{{{|z|{zzzyzzzz{{||{{{{zz{{|yz{||{|{{{{{zz{z{{{{{{{{|z{z{z{{zzz{{z{{{|{{{zz{zzz{z{|||{{z{z{{|z{{{|||{{{{{{{{zz|||{|z{|{z{|zzz{{{{{|{{||{{|{zz{{|{|||{{{|{{{{|z{|||{{||{{{{{z{z|||{{{||{{{{{{z{{{|{{}{|}{{{{{{{{|{|{|{}{{{{zzzz{|{}{|{||{{|{{z|{|{|}|}|{z{{{{{||||{{|||{{|{|{}{{|{|{{||{|||{{{{|||||{|}{{|{{{}{{|{}}|}|{|{{|{{{}||{||}}{{{{{{{{|}{|||||{|{{{{{{{{|{||}|{|z{|{{z{|{|{||{{{zz|z{z{|{{{~}}~}~~~~}~}}}}{||||~|||}}|||{|z{{{z{||||}}|{{z{zz{z{{{}|||z|{{{z{zz{{|{{{{|z{|zzz{{{{{{z{{{{{z{z{zz{{{z{{z{{z{zy{{y{|z{|{{{zzz{zz{zz{{z{z{{zz{zzzzz{|{{{{{{{zz{{{zz{{{{|z||{{zzz{z{|{{{z|{z|z{y{yzz{{{z{||z{z{{|{zzz{{{|z||{zzz{zzz{{{z{{{{{z|{{{{{{{{{z{{|{{{zzz{{{{{{|||{{{{{{{{zz||{{{|{{{{{z{zz||{|{{|{{{z{z{z{{{|{{{{{|{z{z{{z{|||||}|{{{{z{{z{}|{||||{|||{{z{{{{|{{||{zz{{{|z||{{|||{{{{{|{{|||||||}||z{z{{{|{||||{|||z|{|{zz||||{{{||{{{|{{||||}{|||{|{{|{{{{{{|{|{|{|{zz{{z{{||{|{|{{{{z|{{|{||{{|{||{zzz{{|{{||~~}~~}~|}|{|{||}}}|}|}{||||||{||{|||||{{{{{{{{{|||{|||{{{z{|{z||{|{|{||zz{{{z{|{{z{{{z|{{{{zzz{||{{|{{{z{z|{{z{{{|{|{|z{zy{{{zz||{|{|{{{{zy{z{{{{{{{||{|{zz{zzz{{|{||{{{{{zzzz{{{{|{{{zz|{{{zzz{{{{||{{z{{{z{{{|{{{{||{{{{{{{z{|}{|||{|z|{{z{z{{|{{||{{z{{{{z{{z|{||||{{{{{z{z{}||{{||{{{{{z}{|{}|{||{z{{{|zz{{|{|{|z{{|z{|{{{z}||||{|{{|||{{{}{}|}|}|{z{{{{{{|||||{|||{{{{|{z|}}|||{{{{{{{||{|}|||||||z{{{{{{||||||}|}{|{|{{{|||{{}|||z|{||{{|{{||||}|{{{||{||||}|||||{{{{|{{{{{|||{|{{{{z{{{z|||{|{{|{{{{{{|||||{~~~~|~~}}~~}~|}}}}{||{||}}}|}|||{|{{{||{{{{||{||{{zz{|||{{{{{{z|{{{{{|z{{z|{}{z{z{{{{{{{|z{|{{|{{{z{{{{{z{|||yz|z{{{{{{{{{|z|{{z{{zzz{{{{{{|{zz{{|zzzz{|{||||{{{zz{{z{{{{{||{z{z{zz|{{||{{|{|z|{zz{{z{|||{||||{{{zz{{{{{|{{|||{{z|{|{{z{{{{{{{{{z|z{{||z|{{|{{z{{{{{{|z{{{|||{{{{|{z{|{|||||||z{{{||{{{{||||{{||{|{z{{|||{{|{|{|z{{{z||}|}|{}|{{{{{|{|||}{}{|{{{{{{|z{|||||}||{{{{z{|{}||||}|{{{||{|{|||||}||}||{|{{|z}{||{}|{{{|{z{{|}}||||||{{{|{||{{|||{||{{{||{|{|{|}||||||{{{{{{{|}||||||{{{{{{z{||||||{{{||{{z{|||{|~~}}~~~~}~~||}|}||||}}}}}||{|{{|||}{{||||{}}z{{{{{{{{|||{|{{z{{z{{z|{|||{||{{{|z{zzz{{{|{||{z|z{{zz{{{zz|{{z{{z{{{{{{{{{|{|{z{{zz{zz{{{||{{|z{{zz{{{{{{||{||{{{{{{{{|{{|{||{{z{zz{z{|{{{||}{z{z{{{{zz{{|{|{{{{{{{{z|{{|{|||{{{{{{|{{|{{|{z}z{{z|{{{}|{{{|||z{{{{{{z{{||||||{z{{{z{{|||{|{{|{{|{{{|{{|{|{{{{}{{{{z{|||||{|{||||{{{{{{||}|||{{|{{{{||{}|{|}|||||{|{y{|||||}}||{{{{|{{|{|{||||{{{{||{|||{|||||}{{{||z||}}|}}~}|{|{{{||||||||}||{|{|}z||||||}}}}{{{}|{|||{|{|||{{{{{{{{{||}||}||{{{{{{z{||||||||{{{zz{z{|{{|~~~}~}~~}}}~~}|{~|}}}}|}}}|}{}{{|}{{|}||}}}||z|{{z{{|||}{{|||{{zz{{{}|||||{{{{{{{{zy{|{|z{|{|{{zzz{{||{||{{|{z{|y{z{|z{||z{|{z{{{{{{|{{{{||{{z{{{zzz{{|{|{||{{{{{{z{{||{|{|{|z{{zz{z||||{||{|{{zz{z{{{{{{||{|z|z{{{{{|{{|{|{{{{zz{{{{|{{{{{|{{{|zz{z{|}|||||zz{{z{|{{{|}{||||z{{|{|{{{{|}|||{{{{{{{{|{|{{{|{||{||{{{|||{{|||{|{{{{z{|}||||||{|{{{z}{||{{|}}|||z|{{{{|{||||}{|{{||{{||||{||}|{{{|{{{|}||}}|}}|{{}{{|{{||||}||}{z|{|{{|||||}||{{|{{{|{|{||||}||||{|{|||{|||||{|z{{|{{|{|{{{|||{|{{|z|{{||}||{|{{{{{|{{|}|{{~}}~~}}~}~}|||}||z{}}|{||}}|}{|{||{|{{|}}|||{{{z{{{{|{|{|||{zzz{z{z|{|{|{{{{zzz{z{{{{|{{{{zz{{zz|zz|{|{z}|{zz{zy{z{{{{|{{{|{zz{zz{|z{|{{{{z|z{{{{z{{{|{{|||z{z{zz{{|{|{|{{|{{zzzz{y{{{y|{||{|zy{{zy{{{|{{{{{{z{{|zz{z{|{{{{{z{zz{{z{||{|{||zz{{zz{{{|{{||{|z|{{{{{{{{|{{{|{{{|{z{{zz{{|{{|||zz{{z{{{||{{{|{|{z|{{{{{||{|}{{{{{{{{{{||||}|||zz{{{{|{||{||||}{{{{z{{{{{{|||||}zz{|{{z||{{}||{{z{z{z{{||{{|{||{||{{{{{||||||}}{|{{z{{z}|}||}{{|||{{z{{|{|{|||||{|{{{{|{{|{{||{{{{{{|{{|{||{{}||{zzzz{z{}|{{||{{|{z{{{{|||{{}~~~~}}~~~}}~~}||||||||||{}}{}|||z|{}{{|{|||||zz{{z{{{{{{|{|}{|{|{z{|{{|||{}{{||{zzz{zz{{{{||{{{{{zz{|{|{{z|z{{{{z{{z{{|{{{{{{{{{z|{{{{{||{{|{z{zz{{zz{{{{|{|{{zz{yz{z{{z{|{||zz{{{y{z{|z{z{{{{z{zz{{{{|{{{{{{z{{{z|{zzz{{{{{|z{{zzz{{{||z{{|||z|{z{{{|{{z||{|z{{{z{{z{||{|{{{{|{z{z{{{|{|{|||{|{|{z{{|{{{|{|{{{{{{zz{{|{{{|{|z{{||{{{|{||{|||z{z|{{{{|||||{|}{{{||{{{{{||{|{||z{{||{{{}|||{||{{|{{{z}}{||}||||{{||z{{||||}}}}|z|||{{|}|}{|||||{{|{|{|{|{{}{}}|{z{|z{{||||{{}{|||{z{|{|{{{|||}|{{|{{{{||{|{||{{|||{{|{|}|||~}~~}}}}}}~~||~}~}|||}{|{||~}||}|}||{|{{{|{||}||{{{||{{{zz{{|{{||{{z{zz{{||||{{{||{zz{{|zz{{{{{{|{{{zzz{{{{|{{{|{{y{zz{zz{z{{{{{{zz{{{{z{z{{||{{{{{{{z{z{{{{{|{||z{{{y{z{{{{|{{||{z{{{{{{z{z{z{{{{z{zz{{{|{{||{{{z{{{{{{zz{{{{{|||{{z{{{|{|{{{{z|{z|z{{zz|||{||z|{{|zz{{{|{{|||||{{{z{yz{|{{|{||{{{zzz{{{{{{|{||||{|{z{z|||{{{||}{|{z{z{{{{||||{{z|{{{z|z{{||||}||{zz|y{z{||||{|{}{{{{zz{|||{|||}|||{z|{{{{{||}|{{{|{||{{{|||}|}|{{{{|{{|||{|||{|}{{{|z{||{{|{|{|{{{||{z{{|||}|||{{|{{{{{|{{{|||{{{{{{{{{{|||{{|||{{{|zzz{|||}~~~~|~}~~}}|}}}|{|{||{|||}}|}{|{{|{{}}{|z}}|||zz{z{{{||||{{|{|{{{{{zz|{{{{{{z{z{zz{{zz{{{{||{{{zz{|zz{|{}{{{{{{zyzzzz|{{||{{{{{{{{z{{{{{|{{{{|zz{z{z{{{|{{{|}{z|{{{{zz{||{{|{{{z|zzz{|{{|{{z{{{z{z{{z{|{{{|{|{z|{zz{{|{{}{|z{{zz{z{{zz{||{||}zzz{|{{{|z{{|z|}{{{{{{zz|||{{|{|{{{z{{{z{|{{{|{|{{{|zz{{}||{{|{{|{{z{{{{|||{{|{{{{|{{{{{{||||}|{{{|z{{|{||{||{{|{{{{z{{z|{{|||}{|{z{zz{{|{|||||||||{|{{||{||||||}{{{{|||{|||{{}||{|{|{{{|{{|{~|||{{{|{z{{||{{|||{{{{{{{|{|{||}|||{{zz{{{{||||||{z{{{{{{z|||{{|}|{{z{z{{{{{|{|~~~~}}}~~~}~|}}~|{|{}{||||{}|}||{|{{|{{{|{}{}|{{|{|{{zz{|{{|z{}{{{zz{z|z|{{|z|{{{z{{z{{z{|{{|{{{{{zz{z{z{z|{{|z|{z{z{{{zzzz|z|{|{{{zzz{{z||{{|{|{zz{z{zy{|{{{{|{{{zzzzzz{{{|{|||{zz{{zzz{||{z{z||{z{{{zzz|{{{|{{{zz|{{z{z{||{||{{{{{yz{y{{{|{{{{{z{zz{{{z{{{z{|{{{{{{z{z{|{z{|{|{z{{{zz|{||{{|z{z{z{{{z|{{|z{{|{|zz{{z{{{||{|{{|{zz{{{{{{|{|{|{|{{z|{|{|{{|{{{{}|{{z{{{{|{{{|{|||z{{{{{{{||{}||}{{z{|{z{|}|{|||||{{{{{{{{|}|||~||{|{{{{z||||}||{|{{{{{|{||{}|}{||{|{{{{{||||{||{|{|{{{{{{}{{|{}|{|{{{{z{{|||{{|{z{{z{z{{{{|{{~~~}}~||~|~}|}|}}{|{|{{|{|}|||}}}||{{{{{{|{||}|{{|{|{{{z{{|{{{|||z{|zz{{{{{{{z{{{|{|{zz{{{{|z{{||{z{{zzz{{{|{z{{y{{zzz{z{zzz{{{{{{z{{{{z{{{{z{{|{z|{z{{z{z{{||{{{zz{zz{zzy|z|{{{{{{zz{{{zzz{{z{{{z{z{{zzz{{{||{|{yz{z{{zzzz{z|{|{{z{zzzz{||{{|{{|{{zz{{{{|z{||{{|z{{{{{z{|{{{{||}{y{{{z|{{{{{|{|{{{{{{{{{{||{{{||{z{{{{|{{||{z|{|{z{{z{z|{||{z|{|{|{|{z{z|{{|{||{|{{|zz{||}|||{|{|{z|zzz{{|||{|||{{{|{|{{z|{{|{|||{{{|{z{{||||||||{z{z{z|}{{{{{}|{{{{{{{{|||{|||||{{{||{{|||{|||}{z{{{{{z|||{|||{{{||{{{{{|{|{|{{{|{{{z{||{{{|}~}~}~}|}|~~~~}}}||||{||{{{}|}}||}{|z{{{{|||||{{|{{|{z{{{{|||{||{{||zzz{{|{{|{||||{{z{{zz{{{{{||{{{|zz{zz{{{z{{{{{{zzz{z{z{z|||{{z{{{{z{y{{|{{{|{{{{{z{z{{{{{{{|{|{{{{y{{|{{|{{|{zzz{{zy{{{{zz|{{{{{{y{{{{{{{{|||{z{z{{z{|{{{{{|{{{{{{z{{{|z{{|{||{{z{z{|{|{{{|}{zz{zz|{||||{{{{|{{{{|z{{{||{{}|{{z{{|{|{{{{|{||{z{{{|{{|||||{|||{{{{{{{|{|}|||||{{{|{{{|||{{|{|}||{{{{{{{|}{||}||{{{{{|||||{||||{{z{{{|{|||{|||}|{{{{{{{|||{||||{z|{{{{{||{|{{{{|{|{{||{|}||||}|}{{{|{{{|{|}|{|{||{{{{y||{{||||||{z{{{{z{|||{|||{{{z|{|z{{{{{~}~}~|}|~~}|}~}~}~}||{{|||||}|||||||{|{||z{|{|{||{|{z|z{z{|{{{|{|{{|{|{{{{z{z{{{{{}{{{z|zz{z{z{z||{zz{yz{{{{{{{{{||{zz{|{{{{{{|{{{|zzzz{z{{{{{||{||{zzz{zyzz{|z|{||{{|zz{z{||||||{||{z{zzzz{{{{{{|{z{{|{z{{z||{{{z|z{{z{{z{||{|z{||{z{z{zz{{{}{{|z|{{{{{z{{|{{|{{{|z{zzz{{z{|{{{{||{z|{{|{{{|{{|{{{{{{z{{zz{|{{z{|{||{|{{{{{|{{{{z|||{{{{{||{|||{|{{|z||z|z|||{{||||{|{|{{z}{||}||||{z{{||{{}{|||}|{{{{|{{{||{|{||||z||{{{||||||||}}z|{{{|{{|{|}}|||zz|{{|{|||||{|}{{z{|{{||||{|||{{{z{{{{{|{||{||}}|{z{|z{{|{||||{|||z{z||{||||~}~}}~~~}|}~|~|}~|||{{{||||}||}{||{{{{z{{|{||||||{{{{{z{z{||}{|{{{{z{z{{z{|{|{}{|{{{z{|{z{|{{{|{{|{{{{{{{|{|{z|{z{|{z{{z{z{{{{{{{{z{zzyz{|{{{|{||{z{|zz{zzz|{z{|{zz{{zyzy{{||z|{{{z{z|zzz{{z{z{|{{zzz{z{{{{{zz{{{{zzzz{zz{{{{{{||{{zzz{{{{{{{{|{{{{{{{zz||{{|{{{|z{{{z{zz{{{|{{||{z{{|{{|{{{|{{{|{{z{{zzz||||{{{{{{{{{{{{{|{{{{|{|{z{|{{z{{{|||{{{{{{{{{z|{{|||}}|{z|{{{{{|||||||{z{{{{|{||||{|}{{{{|z{|{{|||{{{|}||{{|z{{|||{||||z|{{{{||{||{{}||{z|{|{{||||}{|{|{||{{{||{||||{|{||{|{{{{}{|}||}{{}z{{{{{|||{||{{z{{|{zz{||{|~}~~}}~}~~|}}~~}|~|}|||{{|{{}|||}||}|{|{|}{|{|{|}|||z{{{{z{{|{{||{|{{z{z{z{{{}{{{{{{z{z{{zz{|{{z{{{|zzzz{z{z||z|{{{{z{z{{{{{{{{{|||z{z{yz{{{{{{{{|{{zz{zzz{|{{{||{{{{{zz{z{{z{{{{{z{z{z{z{z{{z{z{|{zzzzzzzz{|{{{{{|{{{{{{zy{{{{{z|||{{z|zz{|||{z{|{{z{{zz{{|{{{|{{|{|{{{z{{{|{||{}{{{{z|zzz{|{{|{{{{{{|{{z{|||{|||z{{{{{z{z{{{{{|{{{{{||zz{|{||||||{z{{{z||{|||{||||{|{{{z{|||{{{|||{||||z{{|||{{|}{{|zz{||z|||||{||{|{{{{|{}}{||}||{|z||||||||||||||{{{{|{{{|}||}||z{{}{z{|{{|||~{{{{{{||{{{||{|||{{{{{z{{{||{{{|{{|{z{{z{{{{{|~~}}}~|}~|}}}{}}~}|{||{{}|{||||{|}{||||||z||{|||}|{z{{||z{{|||{||{{z{zz|zz{||{{{|}z{{{{zzz|{|{z|||{{{{{z{z|{{{{{|{z{{zz{{{{zz{{{{{{zz{z{{{z{{{||{{zz{zz{zz|||{{{{{{{{zz{{{||||{|{|{zzzzz{z{{{{{{|z{|{z{{{zz{z{{|{|{z|{{z{{{{{|{{||z{{z{{{z{{|{z{||{y{z{z{{|{{||{||z{|{{z{|z|{{{}{}{z{{{z{{z|||||||{{{{|z{{{|{{{{|{{{{{{|{||{|{{{{||{|z|{||{||}||||{{{{{z||||{|}}{}|{{|||{zz{|||||}{z|{{z{||}||}|{||{{{{|}|{{{{|||}{{}{|{{z{}}||||||||{{{{{||{|{}}{||{{{{{{|{|{|{|}|{{{{{{{||{}||||{{|{{zz{|{{|{|}||{{zz|{z{|||{{|{{{{zz{{||{|z{}}}}~||}}}|}||}||||{{|{{z{z|}|{|||||{{z{{y|{{{{z{||{{|{{{{||{|{|||{{|zz{{{{{||{{{{{{{{y{{{{zzz{{|{{{y{z{zzzz|z{|{|{{{zz{z{z{{{{{|{zz{z{yzz{{{{{z{{{zz{z{z{{{{z|{|{zz{zzzz{{{{|{||{{z{{{z{z{{{z{{{{{{|zz{{{z{{{{|{z{z{{zzz{zz{|{{|{|zz{|{{z{{{{||{{{z{{{{{z{{|{{{{{zz{zzzz{{{{{{|{{{{{z{zz{z{{{{{||{zzz{{{z{{{{{{}{{z{{|{{{{{z{{{|{{{zzz{{{{||{||{{z{|{{z{{{{{|{}||{{{{|z{z|{{|{{|{{z|{zz{|{||||||}z{{{{|||{{}|{|{||{{{{z{{{|{||||{||||{{|z|{||{||{|{{|{z{|{||{{|||{|{z{{{|||||{|{||{|z{{zzz{|{{||{|{{|{{{{{{{|{|{|{{{{{{{z{|{|{}~}|||||}}}}}}|}||}|{|z{{|{|||{|||{|{zz{{|{{|{|{{|||{{z{zzz{{{|{{||{{{{{z{z{{{{z{|{zy{zzz{{{|{{{{||{z|zzzzz{{{z{{{{{{zz{zz{{{{{|{{{zzy{{z{zz{z{|{||{zzzzzz{{z|z|{{{{zzzzzz{{{{z{{{{z{zz{zzzy{{{{{{z{zzyzzzzz{z{z|{{zzz{zzyz{z{|{{{{{{z{zz{zz{{{{{{{{z{zzz{{{{{|{{{{z{{zzzz{z|{{{}{|z{{z{z{{z{z||z{{zz{|z{zz{{|{{{|{{z{{{zzz{{{z{|{|{{{{{{z|{{||{}|{{{{z|{{{{|{||{|}{{{{{zz{{{{||{{|{{{{{{{{{|{{}{z{{{{{z{{{{||{||}|{{{{z{{{{}|{||{|{{{|{{{{{{||{|||{z||{{{{{{{{{|||{|z{{|{{z{|||{|}{{{{{|z{{{{||{|{{{z{{{{{||{|{{||{zzz{zzz|{z{|}~}}||||}|{|}||||}|{{|{{{{{}||{|||||z{zz{zzz{{{|z|{{z{zzz{{z||}{z{|{{{{z{zzz{||{{{||zzzz{{z{{z{z{{|zzzyzz{{{{|zz{|{zz{z|zyz{zz{{{{z{zzzzzzz{{z{|{{zzzzzzzz|{|{{{|{|{{{zz|{y{{{|{z{|zzy{zzzz{{{z{{{{{{z{z{zyzzz{{{|z{z{{z|{zz{{{|{|{{z{zzzzz{{{{{{{{zzz{{z{z{{{{{{{|{z{zzzzz|z|{{{{|z{{{|{zz{{|{{{{{z{zy{{z{z{{{zz{{{{y{zzz{{|}{{{|{{z{{{zzz{{{}{|||{z{z{{|z|{{|{{{|{{{{{zzz{{|{|||||z{{{{zz||{z{{||{|{|{{||{{{{||||||{{z{{z||{||{|||{|{{z|||{|{|z|{{{z{{z{{|{|{{|{|{{{|{{z{{{||}|||{{{z{|zz||{|{||z{z{zz{|{||{{{{}|zzzz{{{z{z{{|~~}}}}~|}{|||{||{}|{{|{|{|{{{{|{{|||{zzz{{z{{|{{{|{{z{zz{zz{|{{{{{{{{zz{z{{{{z|{{{|{{|zz{zzz{{zzz{{{zzzzzzzz{{|{{|{{z{zz{z{{{{{{{z{{{{z{zzz|{|{{{{{{yzzy{zz{{|{|{|zzz{z{z{z{{{z{|z{zz{zzzyzz{{{{{{|{zyyzz{z{z{z{{{{zzzzz|{y{{|{|||{{zz{{zz{{{z{z|{{{zzz{yz{{zz{z{|{{zzz{{z{z{|{{{{|z{z|zzzz{{|z|{z{{{z{{zzz{|{z|{||{|zz{{zz{{}{{|{|{zzzz{{y|{{|||{|z{{zzz{{{{{|z{||{z{{{zzzz{|{{|{|{z{{{z{{|||{|||{zzz{z{{|||{|{||}|{zz{|{{{|{{{{{}|{z|{{{{{||z||{{{z{{z{||z|}{||}|{{{z{{z{||{||{{|{{{{z{z{{|z{{{|||{z{{z{{{|||{{|{{z{yzz{zzzz{z|~~}}|||{|{|{|}|{}||{{{|z{|||}||{{||{}{{z{{{{|{||{||{z{|zz{{{{|{{|{{{zzzz{z|{{|z{{||z{zz{zz{{{zz|{{zzzz{{{{zz{{{{{|{z{{z{{zzzz|zz{{zzzzz{{{z{{{{||{{zzzz{zz{z{{z{{{{{{zzz{{{{{{{|{|z{zzzzzzzz{z{{|{{|zzzz{{y|||{||zzz{z{zzy{{z{{{{|zzzz{z|{{{z{z{{{{{zz{z{z{{{{{|{|{z{{zz{{{{{{{|{{{z{{zz{z{|{{||{z{{{z{zzz{|{{|||{{{z{{z|z||{{z{||{{{{{{{{{{|{{|{|z|{{{{{{|{{{{|||{{{{{y{z{|||z||{||{{{{{{{|{{|||{{z{zy{{{z|{|{||||{z{z{{zz|{||{|}|{z|{{zz{{{{|{|{{{z{{{z{{{{|{}||{{z{{|zz{{{|}}{|{{{z{z||z|z||||{{{z{{|zz|{{{{|z{z{{zzzzz{{{{z}}|}}|}}}{|||}|{|||{}{||{|{||{|}}}||{z{z|zz|||{{||{{{{{z{z{{{||{|{{{{zz{zzz{{z{{||{y{{zzz{z{{{{{{|{|{{{zzzz|z{{z{zz{yzz{zzz{z{{{{{{zzzzzz{y{{z{z{{|{{{{zzyz{|{{zzz{z{z{z{zz{{z{{|||{yyy{yzz{zz{{{{{zzzzy{z{z{z{z{z|zzzz|zzz{z{{{{{{z{zz|y{{{||{z||{{zzzz{zz{zz|y{{|{{{{{z{|{{{{{{|{{{z{|z{zz{z{{|{|z{{{z{zz{||{{{|{{{{{|z{{||{z{|{{{zz{z{{{||||}|{|z{z{{{{{{|{{|||{{{z{|zz{{|{||{{{||{z{z{{||{{|}|z{z{z|{{||{{z|||{{{z{{||{{|}{|{||{{||{{{{{|{|||{||{z|{{z{||{{|||||{{{{{{{{|z{|{|{z{|z{{y{z{{{{|||{|z{{z{{{{{|{{||zzzz|z{{|{{|{~}}}}|||{|{}||}|||}{||||z|{{||{|||}|{{{|{{{||{{||||{{||z{z{{{||z{{{{{zz{{{z|z{{{|{|z{{{{z{{{z{{zz|{{{{{{{{zz{{z{{{{{{z{{zz{{z{{{{{|{{z{{z{zz{{zz|{{{{{{{{zz{{{{{|{{z{{{z{zz{{{|{|{z{{{zz{z{{{zz{{{{zz{{zzzyz{{{{{|{zzz{z{{z|{{{|{|{{{{zzzz{{{||{z|{{{zzz{{{z|{{z{{{{zzzyz{z{||{{z|}z{{{zzz{|||{{}{z{z{z{{|{|||{{|}|{|z{z{{{{||{{||{{z{|{z{{||{{||}}{{{{}z{{|{{{|}||{{{|{z{{{|||{|{z|zz{{{z{|||{|||{|{|{{||{z|{{||||{z{{{|{|}|||||||}zz|{{{{}||{{||{|{z{z{{z{||{{{||{{{z{{{{||{|{||}z{{{|z|{{|{|{{{||{z|z|{z|{}||{{|{{{z{y{zz{||{~}}|{}}{|{|~}}{|||~|||{|||||||}|}|{|{z{|{||||{||||{{|z|z{{|{|{{|{}{|{z{zz{{|||z||{{{{{{{{{{{||{|{||{{zz{{{{{|zz||zzz{z{{{{{{||{{{||{zz{{z{||{{|{||{{{z{{z{{{|{{{|{{|{zz{zzz{{|{|||z{{{z{{z{z{{z|{|{{z{{zz{z{{|z|{|zz{z|zzz{{{{{|{{{z{z|zzzz}{{|||{zz{{{{{{|{{{{{|}{{zzz{{{{|{||{{|{{|{{{{{z||{{||{{{{{z||z{|}|{{}|{{{{{|{{|{{|{|||{|{z|zz{{{|}{|{|z{{{{{{|z||||||||{{|{{{||{||{{||{z{{|{{z|||||{}|||{{{|||{||||||||{{{{{{{{||{||||}z{|{{{{||||{|||{{|{|{z|{{{||{|}|{{{{{{{{|{|{|||zz{{{{z|{|{||||{|{z|z{{z|{{|{{{{{|{{{zz{{{z{{}|}{}|}{|}||}~||||~||{|{|z{|}|}|{|||{|z{{|zz{{{|{|z{{|{|zzz{{||z|}|{{{zz{zz{|{{|z|||{{{{{|zz{{{{|{|z{{{{zzz{{{z{{|{{{{z{zzz{z|||||{{{z{{z{{{zz{{|{{zz|z{{{z{{|{{{{|{{zzz{{{z{z|{||{{zz{{z|z{{{|{{{z{{{zy{zzz{|z{}|{zzzz{zz{||{{{{|{|z{zz{{z{{|{{{{{{z{{zz{{{{{{{{{|z|{zz{{z|{{{{|{{{z{{{{{z{||{{{|{{{|{{zzz{||{|||{{{z{{|z{{|{{{|{|{|{z{zz{|{||{||||{|zz{{{{{{||||||{zz{zz{{||{|{|{|y{|{{{{|||||||}|{||{{{{{{{||}{|{{z{z}{||}{|{|}|{z||{{{{}|{|||}{}||{|{{{{|{{{}|}{z|{{|{|||{||||{|{z{{{z{|z{|{{{{|{{{{{{|{|||{||{{|{z|z{z{{|{{~}}}}{|||{|{}}||}||{{|zz|{{|||{{}||{{{{z{{z||{{{|{{|{{{z{{{{||{|{||{z{zzz{z{{y|z{||{zz{zzzz{{{zz|{{{{{{zzzz{z{zz|{|{{zzzy{z{{{z|{{{z{z{{yzz{z{z{z{{{zzz{z{{zz{{{|z{{zy{zzzyz{y|{|{{{z{{{zzzz{|{{|{{|zz{{zz{z}zz{|{{{z{z{zzz{{{{{{{z{{{zzzz{{{|{{{{|{{{{{z{z|{{{|{||zz{zzzz|{|{{{|{|{{{y{z{{zz{||||{{z{|{z{|{||{|||{{{z{{{{z||{{{||{{{|z|{{{|{}|||}{zz{z|z{||{{||{||{{{{{zzz{}|||||{|{z{|{{z{||||{|}{{z{{{|{z||{||||}{|{|z{{{}||||}||{|{{{||{{{||}}{{z{{{|{{|{|||||{||{{|{z|{|{|||{{|{|z{z{{{||||{}|{z{z{zz{|{{|{z|{{{zzyz{z{{||{}}~||||{|{|{~}|||}{|{|{{{|{||||{|}|{{{{{|{z{z{z|{|{|{{{zz{{{{|{{{{{{{{z{z{z{{{{{{z|{{{zy{{zz||{{{|{{zzz{{zz{{|{z{{{{z{zzz{z{{{{{{|z{{zyzz{{{zz{z|{{{zz{z{z{z{{{{{{{z{|zz{{z{{y{{{{{{zzzzzzyz{{{{||{zzzyzzz{y{zz{|{|zzz{z{zz{{{{{{|{{{zz{z{{z|{z{{{z|z{z{zzz{{{{|z{{{||zz{zy||||{||{{zzz{z{zz|{{{{{|z{zz{{zz{{{{{{||{{zz{{{{{|{{{{{{z{z{{{|{{||}{|{{z{|{{{{||{{||{||{{{{z{{z{{{|||||z{{{|{{z{}|{{|{|zzz{|{||}|}|{|{|{{{{z{{|||||||{}|{{{{{z{{|{{||||{{z{|{z{{z|{||{||{{{{{z|||{{}|||{{{{zz{z||z{|||||{z{z{zzz|z}|||{{{{z{z{{z{||{||}|}{|||{z|}|{|||||{|{{{{z{{{|{|||||{{{z{{||{|{z{|{{z{{z{z|z{{z||}|{{{zzz{{{{{{{z|{zz{{zz{{{|{{|z{zzzz{yzz{{{{{{z{{y{zzzzz{{{z{{{|yz{z{z{y{{{{z{{{zz{yzzz{{{{z|{{{zzz{y{zzz|z{{{|z{{zz{yzzz{{z{{z{zz{z{zzzz{z{|{{{zz{zzzy{{{z|{|{{{z{z{z{{z{{z{{{{{{{{{{z{z{{{{{{|{z{z{y|{{{{{{{||zz{{z{zz{{z{{{||{zzz{zzz{{{|{||{{{zz{{{z{{{{z{{{{|{z{zz|{{{|||||{z{{{{|{|{|{z{||{{|{z{{z{||{|{||{{{z{{{{|{|||{|{{{{{z{{{||z{{||||{{{{{{{|}{||}}{{{{{{{{{||}|{{||{zz{{{z{{|{{|}|}{|{|z{{{{{{||||}|{z{{{|{|{{{||||{z{z{{{{z|{{||{{{z{zz{zz{{{{{|}}}|||{||{{|}|{|||{{{{|z|z{|||{|{|{|}z{{{{{{|{{||{{{|zz{{{{{{z{{{|{{zzzz{{{|{{z|{{z|{z{zzz{{{z{||{zzz{zzzz{{{zz|z|{zzz{zyz{{z{z{{{zz{{{zzz{{|{z{{zzzy{{{zz{z{z||{{z{{zzyz{{|{|{{{|z{zz{zzz{zzz{{{{{z{{{z{yz|z{{{{{zz{zzzzz{|{{z|{{{z{{{{zz{z{{{{|{{{|z{{{{{{{|{{{{{{zzzz{{{|||{{{|{z{{zzz{{|{|z||{zzzz|{z{{{z{{||{z{z{{zz{{|{|{|{||zzz{{z{{|||||{|{|{{{z{{|{{||{|||zz{{zz{}|||{|{{|{{{{{{{||}{||||{z{z{{|{{{{|||||{zz{{|{{|}||||{}{{{{{{{{|||{{|||{{|||{{{||z||||||||{|{z{{|{|||{||{{zzz{{{{|||||{{zz{{{z{{|z|{||{{{|{{z{{z{{{{{}||||z|{z|{||{}|||{|{|{{{{{||{||{|{|{y{{{zz|{|{{|{}{z{zzz{z{|{{{|zz{z{zzzz{|z{{{|{zzzzzz{zz|{{z{{{zzzz{zzz{{z{{{z|{zzzz{{{{z|{{{{z{z{z{z{z{|{zz{{{{{z{zz{yz{|{{z{{{{z{yz{{{{{z{{|{|z{zzz{zzy{zz{{z{{{{zzzz{|z|{|{{zzz{zz{z{{z{{|{{z{zyzzzy{{{{{{{|{z{{zz{{zz{|{z|{z|zz{zzz{|{z{{{{{{{{{zzz{{{{{{{{{z{zzzzzz{|{z{|z{{{{{z{{{|{{|||{{{{{{{|z{}{{{||{zz|{{{|z{{||z|{||{{z{{|{{{{|||{{|z{{zzz{||||{{|||zz{{{zz{||{|{{{{|z|z{|{{}||||||{{|{zz|yzz|{}|{||{{{z{{{{|{|z{||{zzz|{{{{|{|{|||{{zzz{{{{{|{{{|{{{{{{yzzz{{{|{|{{|{z{zzz|{|{z}|}|||{|{{{|}~|||}{{z{{{|z{{{}{|}{||{zz{|{{{{||{|||{{{{{yz{{{z{{{||{{{{yzzzzz|{|z{{zz{{|{{zz{z{{{{z{{{zzzzz{{|z{|z{{{zyz{zz|{{{{|{|{zz{zz|z{|{{{{|{{zzzzzzzz{|z{{{{z{zz{zyz{z||{{{{{{zz{z{yz{{{|{z{{zzzzzzy{{zz{{{|{{zz{{zzz{{{{|{z{z{{zzzz{{{z{z{|{z{zz{z{{{z{{|{{zzzzzzzy{{{{{{{{{z{{{z{zz{|{{{z|{{z{{z{z{{|{{{{{{{{{{z{|{||{{||{{zz{{{|z|{||||||{{{z{{|{{z{|{|||{{{z|zz{{{|{|||{{{z||z{||{||{|||{z{z{{{{{|{{||{{|{{{z|{{{{|}||}||z|{{z{|{||||{|{{{{{{{z{||{{|||}{{{z|{z{||{|{|||z{{{zz{{{{{|{{|||{|{{z{{|||{{{||{z{{{z{zz{|{|||}||}||{|{|}||{|||||{z{|{{{{{|{|||{|{zz{{{{{{}|{|z|{{|{zzz{{||z{{|{{{z{zzy{{|{z|{|z{{{{z{y{{{{{||{{{zz{zz{{{{{{{{{{z|zz{z{{{{{z{|{z{zyyz{{z{{{z{|zz{zz{{z{zzz{{|{z{z{zzzzz{{{{{{|{zzz{|z{z{{{{z{{|zz{z{{zzz|{{|{{{{z{{z{zz{||{{{||{{z{y{{{|{||||{||z{zz{{y{{z{{{|}{{zzz{{{|{|{{{|{{{{{{z{{{{{|{||{{{{z{|zz{||{{{{{{zz{{z{{{{{{||{||{z{{{{|{|{||{{{{z||{{{{}{{|||}||{{{{{zz{||}|{{|{z|z{|{{{}z|}|||{zz{||{{{|{|{|{|||{|{{|z|~{|{|||{{{||{{|{|{{||||{{{{z{{{{{{}||||{{{z|{{z||{||||}{{{z|{{{{||||{}}|{z{{{{z{{||{{||{{{zz{{z{{|{{}}{||{{|||{{|{}{{}}||{{|z{|||{{|{|{|{{{{z{{{|{|{}{|{z{{{z{{||{|{{|{{|zzzzzzz|{z|z{|{{{yz{{z||{{{{||z{{z{{{{{{}z{{|{z{{{z{z{{{z{{{{z{zz{z{{zz|{{{z{{z{z{z{zz{{{|{}{{{z{{z{yz{{{|{|||z{z{{zzzy{|zz{{z{zzyzz{zz{{{z|{{{zz{{{{z{zzz{{{|{z{z{{{|zz|{{{||{zzz{zzz{{{{{|{|z{z{|z{{{z{{{||{{z{{|z{z{||{{|||{z{{{{{z{|}{||{{|y{{{z{{||||{{}{y{{|{{|{|}{|{|||{{|z|{|{{{|{|}||{{{{{{{z|||{|||||z|{{{{{{|||}|||{{|{|{|{|{{{|||{{{{{{{{z{{||{|{{{{{|{{|{}{||{|}{||{{{{|{{{||||||{{{{z{{{|{|}|||{{{zz{|{{z{{|||||{zzzz{{z{{{|||{|{{{yzzz{{{{z}|}{|z{||{{{|{|||||||{{|{z{{|{{{|||}|{{{{{zzz{{{{|||}{zzz|z{{{{{z{{|{z{{zz{z{{{|{zz||{zz|{{z|{|{z|||{{z{{{zzzz{zz{z{z{zz{{{z{z{{{{{|{z{zzzzz{{{zzz{{{{zzyzy{zz|{{{{{{z{{{{zzzz{{{{{|||{|z{{zz{{{{{{{zz{zyzz{y|{{{{|{{{zz{z{y|{{{||{|zzzzzz{{{{|z{{{|{zz{{zz{{{{{{|{{z{zzz{yz{{z{|{|{{{|{{zz{z{{{{{|{{{{z{zzz{{{{z||{{z{|{{z{{|{{{}|{{z|{|{{{{{{{{{||{|{{{z|{{|{}{|{}{z|z|zzz{{{{{||{{{z{z{zz|}{|{|}||{|{{|{{|||{|||||{||{{{{{|{|{{}||{z||z|{|{{||{{|{{{{{{{z{|{}|{{|}zz{|{{||z{||{||{{{zz{{{{|{|{{||{{zz{z{{{{|{{{{|{z{{{z{z{{|{{|||{|{|z{|z|||{|{|{}{{|zzz{{|}{|||{|z{z||{z|{|{|{{{{{{{z{z{|{{|z|{{|{zzy{{z{|{|{{z{{z{zzzzz||{z{||z{zzzz{zz{{|{|{{{zzzz{zyz{{{{{z{|zzzzzzzyz{{{{{{{{{zzzzz{{{{z{{{zzz{zzz{zz{{||{|{{{z{z|zy|z{z{{|{|zzyzzzzz{zzy{|{{{z{zyzz{{|{{||{{{zz{zz{{{z{{{{{|{{yzy{{{{z{{{||{zzz{{z{{z|{|{|{{{{z{zz{{|{{{{{{{z{{z{zz{||{{||{{zzz{zz{|{{{{}{{|{{{z{{{{|{||{|{zz{z{{{{{|{}||||{{{{|{{y||{{{{||||z{{{z{{|{{|||||{{{{{{|{{|{{}|{{{{|{{{{{||||}{||{z|zz{z|{|{|}|{{{{{zz{|{}||||||{{{{zzz{||{||{||{|{z{z{{|{|{|||{{{{{z{{z{|||{|{|{z||{{|z{|{|{||||{{{{{zz{|||||||||{zzy{{|{{{||{|{{{z{z{z{{{{|{||{{zzzzz{{{||z{{{z{{zzzzz{{|{|z{{{{{{z{z{z||{|{{{{z{{{zy{{{{zzzz|{zzzz{{{{{{{z{z{{y{zyzzyz{{z|{{{{zzzzzz{z{{z{{|{{{{{{{{y{{{z{{{{{zz{yzzzz{{zz{|{zzyzzzzz{{{{{||zz{{y{{{zzz{{{||{z{zy{yzz{zz{z|{|{z|{zzz{{{{|||{|z{{z{y{{{z{{{}}{{{y{{{{{z{{{|{z{{{{z|z{{|{{{{{|{{zz|z{{{{{|{z{{}{|z{{{{{{|{||{||{{{{{{{z{{|{||{}{{{{|{z{{|{|z||||z|zz{{{{|{{{{||||{zz|z{{{{|{{||{{{{{{{{|||||{|||z|{{{{||||||}{{{z{{|z{{{|||{|||{{y|{{z{{}{{{|||{z{z{z{{||{||{|{{|{{{z{z{|{||{{{{z{{{z{z||{z||}|||{{{{|z{|}{{||||{z{|z{{{{|||||}|z{zz{{y|{{{z||{{{{z{z{{{|{{{{||{{zzzz{z{{|z{|{|{{{zzz{{z|{{{{{|{z{|{z{{|{|z{|{{{{zzz{zz|{{{{{z|{zzzzz{{|{|||z{{zz{{zzz{{||z{{|{zz{{z{zz{||{{|||{{{{{yz{zz{{z{|{{{{zzz{zz{{{{|{|{z{z{z{y{|{z||{{z{{{{{zz{{{{z|{|{{{{zy{{{z{|{|{|zz{{{zz{{{{{{{{{{{z|z{{{{{{||{{{|{{zz{z{{|{|{|{|{zz{{{|{{||{{}|{||{z{{{{|z||{|||{z{z{z{{||{|{}|}{|{{{{{z|||||||{|{z{||{{{||{||||{{{z||{z||{}||{||{{{z|{{z||||}|||{{|{{{{|||{{{}{{{{{{|{{{|{{{}||{|{|}|z||{|{{|{|z{|z{{{z{{}||||{||{zz{{{{{{|{{}{{{{{{zz{{{|{||||{|||{{{{|}|{||}|{||}|zz{}|{|{{{{{{{zzy{z{{{|z|{{{z|{{{{{{|{{{|{{{{zzz{{y{{{{z{{|yz{zzz{z{{zzz|{{{z{zzzzzz{{{{{{|{{zzzzy{{{{||{{{z{zzzzzz{{z||{|{z|zz{zz{|{{{z{|{{{{z{{{zz|{{|{|{zz{z{zzz{{z{{{{|{{{zzzzz{|z|{{|{zz{zz{yz{{{{{{|{{{zz{zz{{{{{zz{|{{|zzzz{y{{{{|z{zzzz{zz{{{zz{{{{z{zz{z{zz{{z{||{z{{z{{z{{|{z|{{{{{{{{z{z{||zz{|{|{{zz{z{{{||||{||{{{{{{{||{|{||~{{{{{{{{{|||{|{|{{|{zz{{|||{|||{|{{{{{{{|{|{|{{||z{{z|{z{|||}|{|{{|{zz{|{||z||{{|{{{{z{{{||{|{||{{{{}{{|z|{|{|||z{|z||zz{|{|{|z{{{{|{{zy{{{|{||{{z{zz{{{{{{{|{z|{{{{z{|{||{||||}||{zyz{z|{{{{|||z{{z|{{z{{||{{{|{{z{{zzz|{{{{z|{{{{zzz{{{{{{{|{{z{zzz{{yy{{z{||{z{{zz{zz{z{z{{{{zz{zzz{z{z{{{{{|{z{zzzzzz{{{zz|{y{zz{y{yzz{zz{|{{z{{z{zyz{|zz{{zzzzz{zzz{z{{{{{{{yyz{yzzz{y{{{{|zzyzz{{z{{{{z{||{zzz|z{{{||{z{{z{{{{zz{|{{{{|{{{z{{zz{zz{|{{z|{{{zz{zyzzz{{{{|{{{zzzz{{zz{{{z||{zz{z{zzz|{|{{||{{{zzzzz{|{{||{||{{{z{z{|{{{{{{}|{{z{zzzz{|{|{|{|{z{z|zz{|||{{{|{{{{z{{|z{||}|}|||z{{z|{z{|||{|}|{{{|{z{{|{{|{{||{z{z{{|{z||{}||{|z{{{z|{{{||||{{{z{{{{z{{{{{|{{|{|z|z{{zz|{{{|{{{z{{{{zz{|{{{}|}{|{z{{{z||||z|{|{{{{{{{z{||{{{{}||{{z{|{||||{{{|{zzzz{{{{z||{{{|{{{zy|{z{|{|{|{{{{z{z{{yz||{z{{{|z{{zzzy{{{y{{{{zz{zzzzz{z{|{{{{xzzz{{zz{{{{{{{{zzz{zzz{{z{{z{||{{z{yzzzz|{{{{{|{{zz{{zyz{{{{|{|z{{z{zz{z{{{z{{z{yyz{{zyz{{{{{|zzz{zzz{z{z{{{{{|zz{{z{zy{{{{z|||{{zz{{z{z{{{|{|{{z{{zzzz{{{{{{|||zzz{z{zz{{|{|{{|z{{zz{{{{{z{||{{zzz{{{|{{|{|||||{{{|{{{{{{|||||{z{|{{{{{|{{|{{||z{{z{zz{|{|{{||{z{|||z{{|{||{|||{{|{|{{||}||{||{{||z{|{|||}|||{|z{{{|{{{|{|{|||{{{||zz{{{||}|||{||{{{{{{{|{||||||z{z{{{{|||{|||{{{{zzzz|z|{{{{|}{|||{{{|||}{}}|{{|{{{{{||{{{z}{|{{z{{{z||||{{|{{{{{{{z{z{{|{{|{z{y{{{zz{|{{{{{{zz{{zz{y{{{z{||{{zz{{zzy{|{{z{z|z{{{z|zz{{{{{z{{{z{zzzzzz{{{{z||{zz{{{y{z|{{|{{{{{{zz{zz{{||z|{{{z{zzz{zz{{|{|z{{zzzzz{yzzzz{{{|zz{{z{{z{z{|{}||zy{z{zzz{zz{z|z{{{zz{z{{{{|{||{|zz{z{zz{{{{{{{{{{zz|{z{z{|{{z{|||z{{zz{z}{|{{{||{zzzz{{z|{{|{|z}||{{|{z{{|{||{||z|{z{z{{}|{{{{{}{{{{zzzz{||{|{{||{{z{{{z|||{{|}|{{{z{||z{|{{|||||{{{{{{|||{||{||{{{{|{z|{{{||||||z{{|{{{||{|||{||{{z{{{{{|{}|||z|{zz{|{z{{{{||}||z{{{{z{z|{{{||{{|z{{{{z{{{|z{|||{{{{zzz{|{}|{||z|{||z{{{|{{{|||{|zzzz{z{{||}||||zzz{z{{{{{|z{||{{zzzzyz{|{|{|{|{{||{z{zz{|{|{{{{{zzz{{zz|{||{{{{zzzzzz{z{{z{|{{{zz{{zzzz{z{{{{|{zyzzzyz{zz|{{{{zzzzzz{z{{{|{{||zzz{zzz{{{{{{{{{{{zz{zzzz{{z{|{{{zzzz{{zz{|||{{{|zyz{z{x{|{{{{|{{z{zzyzzzz{{{{{{{z|{zz{{{{{|{{{{z{z{zzz{{{{{|{{|{zz|{{z{|{{{{|{{{zz{zzz{{{{{{|||{{{|z{z{z{}|{||{z{{{{z{{{|{{{{{{{{{{zz{{{{||{{{}{zzz{z{{||{{||||{|{{{|z|z|{{|{|||yzz{{|{{|||||}||{|{{{{{{||}{|}{|{z{|{|zz||{|}|}{{{{{{{{{z||{||{z{{y{{|{{{z{z||}{{{{zz{{{|{{{{||{{{z|z{{{{{{z|||{z|{{{{{{||||||||{{||z{z{|{{{}|}||zzz{{{{{{|{{||{z{{{z{{{{z|{{}||z{zzz{y{||{{{||{{|{{{z{{{|{{{|z{zz{|{z{{{{{z{{{{y{zzzz|z{{{{{|{z{{z{zzzz{{{{|{{|{z{z{|z|{z{{{|{z{zzz{{{{{{{{z{|{z{z{z{zz{{{{{|||{{{|zzzz{{z|{|||z{{{{{yz|z{{||{{zzz{{z{{|{{|{{|{{z{zzzz|{{{{{{{zzyzz{{{{{{z{}||{z{{|{{{{z{||}||{z{{{{{z{|||{{|{|zz{{z{|||{{||||{{{{{{{{||{||{|{z|{z{{|{}|{|||||{{{{{{{z|{|{|||{|{|z{{{z}{{||{{|{{{||{{{{||}||{||{{{{{{z|{||{}}||{|z|{|{{||}{{||{{{{{{z{{}|{{|||{z{{{|{{}|{|||||{{|{zz{{{||{|{|{{{z{y|{{{{||{|||{{|{zzzz{{|||}||||{z||{|||{{{{||{{{{z{{|{|||||{{{|zz{{{z{{{||||{|z|{z{y{{{{|{{|{{{{{z{zz{|{|{{{{{z{z|zzz{|{{{|{{|{{{|{zz{|{{||z{y{{z{zy{{|z|z|{{{{z|{{zzz{{{{{{|{{{{z{y{z|zz|{{{z{zzzzzz{|{{{|{{{{z{z{{z{{{z{{{||zzzzz{z{||{||{{z{{{{{zz{{{{{{||{{{{zzz{{|{{z{||{{|{{z{{|{{{{{|{|z{{z{zz{{|{|{{z{{{|{{{z|||{||{||z{{{{yz|||{{{|{{{z{{z{z{}||{|||{{{{z|z|{||}||||{{{{z|{z}|{{||||{{||{{{{||{{{|{{|z|z{{z{|||||{|||{||{{|{{}{{|||{|{{z|{{{|}|}|||}{{{{{{{{|{|{{{|||{{|{{||{|{||}|{|{{{|{{{{|||||||{|{z{{|{{|{|{{}|{||{{{|z{{|}{}{{|z{{z{{{|||{z|||||{||{z{{||||}||{{{{zy{{{{{|||||{{|{z{{{{{{{|{{|z{zzz{zz{{z{|{}{{{z{z{{z{z{{{{{|{{{zzzzy|||{z|z{zz|zzzzzzz|z{z{|{zzzz|y{||zz{{{|{z{{zy{{z{z{{||{z{yzyzzz{{|{{{z|z{z{{zz{{{z{{{||{zz{{zz{zzz|{{{{zz{zzzzz{{z{z|{|zz{zzzzz{{zz{{{{{{z{{zzz{{|z|{z|{z{zzzz{{z|||||zz|{z{y|z{|{{|{||{{{{{{zz{{{{||{{z{{{{{zz{||{{{|{|{{{z|zz||{|z{||{{z{|{z{{|||{|{|{{{z{{{|z|{|{|{|{{{{{{{{{||||||{{z{{zzzz{||{{|||{{{|z|{{|{{|{||||z{{{{|{|||||||}|{{||zzz||{{||{{{{{z{{{{|{|z{{|}|zz{{{{{{{{|{|||{{{{zz{{{|{||{||{{{{{{{z{{{|{{|{{{zzz{z{||{|{{{||}{{{{{z|{{|{||{{{{{{z{{{||{{{||zz{zz|{z{{z{|{{{{zz{zzzz{||zz{{{|zz{{zzz{{{{{{z|{zzzzz{zzz{{{z{{{z{{zz{{z{|zz|{{z{zz{zz|zz{|z{{{z{zz{y|z{{{{{{z{{zz{zzzz{{{{z{{{{zzzz{zz{{|{{{||zzz{zzzyz{zz{|{{{zzyzz{z{{{{{{{{{yzz{{zz{{{{z{|{{zzzz{{{{{|{{{{|{z{zz{{z{|{{{{|zz{{{zz{{{{{{{|{{{{{{{z{z{{{{{{|{{{{z{z{z||{{z{|{{{{{{{{{{{{{|{{{|zz{|zz|{z{{|||}{{{{{{|{{|{||||}{{{{{{|{||{||{||{{zzz{|z||||{|}|{z{{{{{{{{{{|||||{{{{}|zz|{||{{||{{{{z{{{|||{|||{{z{{zy{|{{|{||||{z{{{zz}||{}|||{|zy{{{{{{|{{{|{{|{zzz{zz{||{{|{{z{zz{zz{{|{|||||{|{{||{{{|{{||||zy{zzz{{||{|{|{|{z{{z{{|z||{|{|{z{z{z{{z{{|{{|{{|{{zz{z|{{{{{||{z|zzyz{{{{{z{{{{z{zz{z{{{{z|{{z{{{zz{z{{zz{z{{{zzzz{zzz{zzz{||zz{{z{zzzz{{{{{{||{|{z{z{|{z{z{|{{{zzzz{zzzzzz{{{{zzz{{{{z|{z{}{yzz{zz{zz{z{{|{|{{zzz{z|{{|{z|}{{{y|{zz|z{z{|{|{|{z{yzzz|{{{{{{}{z{{{{z{z|{|||{{{{{zzzzzz{{|||{|{{{z{{{{{{|{|{{{{{{{{{{z{{|{{{{||{{|{{{{z|||{|||}{z{{{{{{{{|{{||{|{{{{{z||{|}|{{|{{{|{{{{{||||{|||{{z{|{{z|{||{}||{{{{{z{||}|||||{{z|{|{{{|{{{|||{zz{{z{z||{||{|{{{{z{{{|{{|{{{}||{{{{z{{z|||{{{{{{{z|zzz{{{{z|{{{||{z{{{|{|{{{||{{|z{{{zz{z{|}||{zz{zz|{{|{zz{{{zz{zzzzzz{{{{{{}{{{z{z{y{z{{{|{|{{zyzzyz{|{{{{{{{zzz{zzzz{|{zz|{{|{{z{z{{|||z{{|zzzzzz{z{{{{{{{{zzzzzzzz{||{{{{{{zzzz{zz{{z{{{{}z{zzyyzzz{{{{zz{{{zzzzzzz{z{z{{|{{{z{z{z|{|{{{{{|zzzzzz{{||{{{{{zzz{{zzyz{{zz|{||{zz{{{{{{|||{{||z{z{zzz{{{|{|{|{{{{y{{{|||{{{{|{z{{z{z{{}{{{{z{{{z{{{{{||{||{{|{z{{z|{{{{|||||}{zz{z{{{z{{|{||||{{{z{z||{|{{|}|{{z{{{{{{{{{{|||{z{{{z{{{|{{{||||{{|z{{{{{{|{||||{{{{{|{{|{{|{||{||{z{{{{{{|{||||zzzzz{z{|{{{|{||{{{zzzz{|{|{{{{{z{zzz|{{{|{{|||zz{z{{zz{{{|{|{{|z{z{zyz|{{{{|{|{{{zz{{z{{|{{|z{z{zzzzzz{|{{|{{|z{{yzzzy{{{{{|{{zz{{zzzz|{z{{{||{zz{{zyz{z{z{{{{zzzzzzz{{{{{{{{{zz{y{zzzzz{{{{{{zzzzzyy{{{|{|{{z{{{zzzzzz{{|{||{{zz{yzzzz{{zz{{{{zyz{y{{{|{{{{{{{zzz{yzz|{{{{{|{{z{zzyzzz{{{z{{{{{z{zy{|z{zz{{z{zzzz{zzzz{|{{{||{{{{zzzy{{{|{{{{|z{{{z{z||{|{z|{{zz{zzz{{{{{z|{{|z{{{{|z{{|{{|{{z{{{{z{{{|{{|}||{{z|z{{z{{{{{{|{{z|z{{{z|{|z{}}||z{{{{{{z||||{|{{{{zz{{{{||||{|||{{|{{y||{||{{z{}{{{z|{||{{{|{||{|z{{zz{|||||||||{{zz{z{{|||{{{||zz{{{{z{|z|{{|{|{{{{zzy{{|{{||{z{{{||{z|{|z||{|{{{{{zzz|{{{|||{{zz{{{zz{{{{|{|{{|zzy{{z{|{zz{|{zzzzz{zy||z{z||z{yzzzz{yzz|z{{{z{z|zzzz{zz{{z|{{z{zzzzyz{{{{z{z{yyzyzzzzz{{|{||{{zzzyzy{z{z{{|{{z{zzzzzzz{{{{{|{zzz{zy{zzz|{zzz{{{zz{y{z{{z{{{{|{y{z|zzz{{{|{{|{{zzzzz{{{|{{{|{{zzz{{zzz{||z{{|{{z{{z{zy{z{||{{{{z{z{z{z{{{{|{zz{z{zzzzz{{{{{|}{{z{{{zzz{{{{z{{{{{{{{z{||{|{||||{{{{z{{{|{{{||{|{z{{z{zz{{{{|{||{{{zz{z{|z{{|{{|{{{z{|z{||{|||{{|{{{{z{{{}|}}|||{z{{{|{{|{|{{|||z{z{z{{{{|{{|{{}}{{{|z{{|z|{||||{z{{{{{{{|{{{{{||{{{z{{z{{{{{z||{{{|z{zzz{{{{{{{{{{{{{{z{{{|{{{||{{{z{{z{{|{{z{{{zzzzy{{{{}{{{{{{{zz{zzz{{{{z{z{{{{zzyzzzz{{{{||zzzzzz{zz{{zz{z|{{zzzzzz{{|zz{{{zz{yy{{{z{{{|zzzzzz{zzzzz{{{z{{z{{y{zzyyyz{{{{{{zy{{z|zzzz{|z{{|{zy{zz{yzz{zz{{{{zzz{yz{{zz|z||{zzz{z{{z{{{{{{{{{zzzz{zzzz{{zz{zzz{zzz{z{||{{{{{{z{{zzz{{{|{{{{zz{{z{z{y{{z||{{{z{z{zzzz|{|{{z{{zzzz{zz{{{{{z|||{z{{{{z{|{z||}|{{{{|{{{{{{||{||||z{z{{z{||{|{|{|{z{{|z{z{|{|{||{{{{|z{{{{||{{||||{{z{{{{{{{{|}||{{{zzz{z|{|z{||{|{{zzz{z|{z|{|{|{{{{{{z{z|z{|{||{z{zzz{{{|z|{|{{|{{{{{{{{{{{{|z{|{{{zzy{{{{{{|{{|{{{{{|{{{{z{z{{{{{z{z{{{z{{||{{|{z{z{{|{{{{|{}{{z{{zzzz{z{{{{||{z{{zzz{z|{{{{{|zz{zz{xzz{{{{|{{zz{{z{zzz{|zz{{{zy{yyzz{z{z{{{|{{{z{{yzzz{{z{{{{z{z{zzzz{||{{{{|zz{zzzyyz{}z{{|{{{{yzyzzz{|z{{{|zzzzz{zzz{z{z{z{zzzzz|{z{{{z{|{{{{zz{zzzz{{|{z|{{{|z|zz{|zz{{{|{{z{{{{yz{{{{{{||zz{zzzz{z|{|{{{{{z{{{z{z{|||{z|{|z|{zzzz{{{{{||{{{{zz{z{||{zz{||{{{{{z|{{|{{|}|{{y{|{{zz|{{||{|||zzz{zzz||{|}{||{{{{yz{{{|{{{|||{zyz{{{|{|{{{||||{|{y{{|||{|{}|||{{{z{z{{{{{{|||{{{{|z{{{|{|{{||{{{{{{{zz{{z|||{{{z{zz{z{{{|{{||{{|{{{{zzz{{{}{{{{z{{{{z{{{|{|{||{{{zz{z{{{{{|{}|{{{{{|{{|{{{||{{{z{zzz{{z|{zz{|{zz{zz{z{{{{{|{|{zzzzzzzz{zz{{|{zz{{z{z{zz|zz{{{{{{zy{zz{{{{{{|{{yzzy{z{{{|{{{{{{{zzyzz{zz{zz{y{{z|zzyzy{{|{{|{z{{{zzzzyz{z{zz{{zzzzz{{zz{{{{{{{zzzzz{zzz{{{{{{{{z{zzz{{{{{|{|{||z{{zz|{|{{{{|{|{{{z{{yzz{z{|{{{|z|z{z{z{|{|{|{{|{zz{z|y{}z||z}|{z{{{zz{{}{zz|{{{{zz{z{{{z{|{|{|{{|zz{{{||{{|{||{{{{{{z{{{|{|{|z}z|{{{z{|{||{{|||{{{{{{{{}||}|||{|{{{{|z{|||||}|{{{{{z{{{{|{{|{|{{{{{{zz{|}{||}{|{{|{{z{{{|{}||}{{|{z{{|{{{{{|{|{{{z{z{z||{{|{||{z{{yz{{{{|{{|{{{{{{{{{z||}y{|{|{|z{|zzz{|{|{|||{{{{z{z|{{||{|{|{{|zzzz{z|{z{{|||{{zzz{z{z{z{|||{zzz{{yzz{{{{{{{|{{zz{{z{{{{{||zzz{{z{{z{{{{{{{|y{zz{{z{|{z{{{||zz{zzzz{{{{|{{{{zzzzzzz{{{{{{{{{z{{{{{zz{z{z|{{|{zz{z{{zz{{{z{|{{{zzzzzz|z{{{{z|{zzzzzzzz{|{{|{|z{{zz{|{{||}|||{zzzzzz{z|{{{{{|{{{zzzz{z{{{{{{{|{{z{{zzz{{|{{{|||{{{zzzz{{{{|}|{z{{{{{{z|{{|}|{{{{{|z{{z{||{||{|{zz{{{zz{||{|||||{{{|z{{{}||}|||{{{zz{{{{||{|{|}|z{{z{{|{}|{|{{||{{|{{{||{||{{|||z{z{{{{|{{|{|}{|{{{|{{{}{|{||||{{{z|{{{||{{|||{|{{{{{z{{{{|{}{{{{{zz{{{{|z||z|z{{zz{{z{z||||}{{{{{{{{{z{{|{{|{||{{{z{zz{z{{{{|{{|{{zy|{{{|{{{|z|{zy{zzzz{{z{{z{zz{{yzzz{{{{{||{{{{|zzz{{{{z{{{|{z{z{{{z{zzzz{{{z{yzzzz{z{{{{{|{zz{{zzzzzz{{|z{{{z{zzzyyz{{{{{|{{zy{{z{z{|{|z{{{z{{{zzzzz{zz{{{{{zzzz{yz{z{{{{|{{zy{{yzz{{|{z{{{{z{z{z{{|zz{{{{|z{{y|{|z{{{{{{{{{{{zzzz{zz{{||{|z{{zzzz{||{{{{|{{{z{zz{{|{{|z{{{{{zz{{z{{{|||{|}{y|z{{z{|{{|{|}}{z{{{z{zz{{{|||{|y{{{{{z}{|{}||{{{{{{{|{|{{{|{}||{{|{|{{{|||{||||zzzzz{{||{|{||||z{{{{{{{{||{||}{|z{|{{|||{|||}{|{zz{{{{|{{{||||{{|{|z{{{|{||{{{{z{zz{{z{{{z{|{|{{zz{{{y{z|{{|{|{{zyzz{{|{{{{{||{zzz{{zz{{{|z{{{{z{zz{{{{{{{z{{{{{zzyyzz{zz{{{{|yzz{z{{z{|{{{{|zzzzzzz{|{{{yz{zzzzz{z{{z{zyz{{{{zzzzzzzz{zz{z{{{zz{zzzzz{z{{{{{{{{zzzzzzz{{||z{zz{z{zzzyyz{{{{{|zz{yz{z{z{zz{{|{zz{zz{zz{z|{|{{{{{{zzzyzz{{|{|{{{y{{z{{y{z{z{|{|z{zzzzzzz|z{zz||{z{{zzz{z|{z||{{|{{z{zzz|{{{{||{|{z|{{{z|{{{{|{|{{{{{{{z{||||{|{z{z{{{{{|{|{||{{{z{zzz{z|{{{|||{{z{{zzz{||{{||{|{{{{{{{{{{{}|}}{{zzzzz{z{|||||||{{|||{z|{{|}||{{{|{z{{{{{||{{{||{{{{{z{{{{{|{{||{|z{{{{{|{{||{||{{{{{zz{{||z{{||{{{z{{{z{{{{z{|{zz{{{{zzzz|{|}{}{{{zzzz{{{{{{||{|{{z{zz{|{{{||{|{zz{{{{z|{{{{{|{{{{z{{zz{{{{{{z|{z{zz{zzz{z{{{{{{zz{zz{zz{{z{{{{zzzyzzz{z{{{z|{|zz{{{yzzz{{||z{z{yy|z{zz{z{z{{{zzz{zz{zz{{{z{|{zzz{zyz{y{{{{{{|{zzyzzyzz{{|zz{{{{z{z{{zz{|{zz|{{zz{zzzzz{z|{{{{{z{{zzz{zzz{z{{||z{{{{{{{{{{{|{{z{z{z{z{{z{{{{|z{{{{{{zzzzz|{{{|||{{{{zz{{{{{{|{{{z{z{{z{||{{{||{z{zz{{{{|{{{{|||{z{|z{{{{{{|{|}{{z{{|z{{||{{{|||{z{{z|{z{}{{|}||}{{{{{{{{|||{|||{{{{{z{{{||{|{}||{z|{{||{{{||||||{z{{{z{{{||{||||zzyz{{z{{||{}|z{{{z{{zzz{{|{{{{{{yy{{y{{|{{{{{{{{zzzzz{{{{|{|{{z{{zzz{{|z{{{{{|{{{x{{{z{{z|{{|{{z{z{zzzzz{{z{{{zz{zz{zy{{z{{{{{{zz{{{{{z|z{z|||{zzyzzzz{zz|{{{{zzzyzzzzz{{|z{{{{zzz{zyy{{{|{{{zz{zzzzyyzz{{{{{{zz{zyzyzz{z{z{{|zzzy{z{z{{zzz{{{zzz{zzzzzz{zz|{|{z{{yzzz{z{|z{|z{{{yzyz{{z{{{z{zzzz{{y{z{{|{{{||z{{{zyz{z{{{{{|{{zzz{{zz{|zz|{z{{z{z{{zz{|{||||{{z{zzzzzz|z{z||{{{{{{zz{{|{|{{{{{{{z{{{{|||||||{{{{{{z{z{{}{{|||{{{|{{{z|{|{{|||{|{{{|{||{||||||{{zz{{{{||{||{||{{|{z{{{{|{{|||{z{{{{{{{||{||{{}|||{z{{||{{{{|{{{{{z{zy{|{{|{{}{{{|zzz{{{||{{{{||y{{z{yz{z{z||||zz|z{{{y{|{{{z{{{z{z{zyz{z{{{|{|zzz{zzyzzz|{{|{{zzzzy{zzz{{{zz||{{zzzy{y{{|z{{||{z{zzzzzz{{z{z{{zzzyz{zzz{{y{|zzzzz{yyzzzzz{{{{{zzzzzz{zz{|{{{|{zzyzz{yzz{{{{{{{{zzzzzyz{{z|z{||{{zzzyzz{{zz{z{{{z{yzyzzz|{{{{z{zzzzzzzzz{{z{|{{zzzzzy{zzz{|zz{|z{zyzzzz{z{{{{|{zz{z{{z{{z{{{{{{{{z{zz{y{{{{z|{{{z{z{zzz{|{zz|{|{zzzzz{{{{{{{{|{|{z{{z{{{|{||{z||zzz{{{{{{||{|||z{z{{zzz{{{||||{|z{{|{{z{}{{|{{{{{z{{{||{{{{||{{|yz|z{{zz{{{||{{|z{{y{{{|{{{||{||z{{{z{|{|{|||{|{zz{{{{{{{{{{{|{|{{{z{{{z{{{{{|{{{zzzzzz{||{{|{{{zzz{zz{{{}z{{{{z{{z{z{{y{{z{{||{{z{{y{z{z||z{}{{{{zy{zz{{{{|{|{|{{z{zzz{{z{z||{{z{zy{zy{{{{{|{{{zzy{zzz{|{z{{{{{z{z{zzzz{{z{|{{{{{yzyzzzz{|z{{yyzz{zz{{{{{{{z{{yzzzzzyz{z|{{{{{zz{zz{zzz{{{{{z{{{z{y{zzzzzzz{z{zzzzzzzzz{z{{{{|zzzzzz{y|{{{z{{z{z{zzyzy|{z|{{{z{{{{zzz{{z{{{{{|{{{yz{zz{|{z{{{{zzy{zzyy||{{||{{{zz{zz{z{|{|{{{{{z{{zzzz{{{|{z|{z{{z{z{z{{||{|{zz{{{{{{{{|{||{||zz{{z{zz{|{|{{|{{zz{{{{{{|{{{{|||{{{{{{{{{{{{{|||{{{z{|{{|{{||||{{{{{{zz|||{{|||{{|{{{{{z{{|{|z|{{z|{{z|{{{z{|{{{{{{{{{z{z{{|{|{z{{{z{zz{|{|{{{{{{{yz{zz|{z|z{{|{{y{{{{z||{||{|{{{{{{y{|{{|{|{||{{zz{{zz{{{{{{|{zzzyz{y{|{|{{{|{{{zzzzzz{{{{z{{|{z{z{zz{{{zz{{{{{zzzzz{{zz{z{{{{{zzyy{z{zz{{z{|{{z{zzyzzzz{zz{{{{zzz{{yz{{{{{{{{z{{zyzzzzz{{{{{|{zzzzzzzy{zzzz|zz{{{z{zzzzz{{{{|zyzz{{zy{{z{{|{zzz{{yz{z{{{{{z{{{zzzzzz{{zz{{{{{{{{zzy|y{{{{{z{|{{z{{z{z{{z{|{{{{{{z{zzz{z|{{|||{{{{zz{{{|{{{{{{|{zz{z{{{{{||{|}zz|{z{|z{{{|{|||{{||{{z{{{|{|{|{|{|{{{{z{||{|||||{{|z{z{{{{{|{|||{{{{{|{{||{{{|{|{{{z|{{|||{{||{{{{|{{{{{{||}|{||{{{||{z{|{|{|}|{|{zzzzz|z|{z{{{z|y|{z{{{{z{{z|{{{{zzzzy{{|{{|{{z{|{{z{z{|{{{|{{{z{{{{{{{|||{|{{{{{{{z{zz{z{{|{{|zzz{zy{{z{|{z|{{zzzzy{z|z{z{{z|zz{{zzzy{{{{{{|{z{y{z{zy{{|{z{z{z{{z{zzzzz{{z|{{zzzz{zz{{{{z{z|{{yzzzzzz{{{{{|{{{{zzyzz{{{z{z{||zzzzzzzy{{{{z{{{{|zzz{yzy{{{{|{|{zz{{{zz{{{{zz|{{zzz{zz{{{{zz{||{z{zz{z{z|{{{|{{zz{{zz{{{|z{{{||{z{z{z{zz{z{|{||{z{{{{zz|{|z|{|{{z{{z{z{{}{{{|z{zy|z{{{{|{|||{{{{{|{{z|{{{|{{|||{{zz{{{{{{|{|{|||z{z{{{|{|{z|||||{{z{|{{z{||||{||{z{z{|{{}{|||||{z{{{y{{{|{{{||{|{{{{{{{{|{|{||{|{z{{z{z||{|||||{{{{{{{{{|{|{|{|{|z|{{|z{|{|{}|{{{|z{y{y||{z{|{|zy{{z{zzz|{{{z{|zzzz{z{{{|{|||||{{{{z{zy{{{z|zz{z{{y{zzyz{{|z{{{{{|{zzzz{zz{{{{{{{{zzz{z{{z{{z{{{{zzzz{z{||{z{{z{{{zzzzz{z{{{||{{{zz{zzzzzzzz|{{{zzzzzz{z{{z{{{z{{z{z{z{zz{z|{{{z{zyzzyyz{zzy|z|{zzyzzzzz{z{{{z{zzzzyz{z{{{{}{|zzzz{z{{zz{z{{|{{z{z{yz{yzz{|{{{{{{zz{z{{z|{{z|{|{{{zzyz{{{{|{|{{|{zzzz{yz{{{{{{{{{{zzzz{{|{{{|{|zz{z{{{{z{{}|}|{zzzz{{{{{{{|{|{|z{{{z{zz{|{|{|}{{z{{{{z{{|{|}|{|{{{|{{{{{||{|||||{|{{{{{||||||||{{{{{{z{||}||{{|{zzz{{zz|{|{|||{{{z{{{y{{{{|{{{|{|z{{{z{{|{z{|{||zzzzz{z{{{|{{|{z{z{{{|z{{{{|{{{|{z{z{{zz{}{z{{|z{|zz{{{z|{{||||{z{zzz{z{{{{{{||{{{{zzz|z{|{{z{{z{y{zz{zzz|{{{z|zzzzzzzz{zz{{{|{|{zzzzyz{|{zz|z|{{yy{zzz{zz{z{{zz{zyz{z{y{{zz{{{zzzzz{z{{{{{{{{|{{zzzzzyz|{zzz|{zyzzzy{yzz{zzz{z{z{zzzzzz{zz{|z{{yzzz|yz{zz{{|{|z{zzzzz{z|{{{z{z{{zzzzz{{{z{z|{|zz{{zy{{z{{{z{||{z{zzzz{z{|{|{{||z{zzzzz{z|{{{{{zzz{{zz|{{{{{{|{zzz{zz{{{|{}||||z{{z{{|z{|{{{{||{z{{{|z{{}|{|||{z{{{{{{{||||{{{{zz{zz{|{{{|{{{|{{{z|zz|{{|{||{|{|{zz|{{|{|{{|{{{{{z{{z{{|||||{||{{{{{{zz||{{{{{|{{{zz{zz||zz{{{{{{{z{zyzz{z{{{{|{zzz{zz{zz||{{z{{z{zz{z{{{{z{{{|{z{z{{z{z{|{{|{{{{{zzz{z{{z{{{{{zzy{z{y{{{{z{z{|{{zyyzz{{{z|z{||zy{yz{zz{{z{{{|{z{z{z{zz{{z{z{z{{yzzzz{z|zy{|z{{zzzyzzzz{{{{{z{z{yzz{{zz{{{z{|z{{{zzzzzzz{{{{{{|{z{z{zzzz{{{{zzz{zyzzz{zy{{||z{{zzz{zyzz{{{{{{z}{zzzzyzz{zz{{{{|z{{{zz{zzz{z{{{|{{|{{{{{|z{{{{z{zzz{zyzy{|{{{{z{{{{{zzz{zz{{{||{{{yzz|z{{|{{{|{{z{|z{{zy{{|}||{{{{zz{{{{||{|{||{z{zz{zzzz|||||{z|{{{{{z{||{|{}||{{z{{{|{{|{|||{{{z{{z|z{{{{||{{{|z{{{{{|{}|||||{{{{z{zz{||{{{{|{|{{{{{{{|{|{{{{{{{{{z{zz{{{{{||{|zzz{|{z{{z{{{|{{{{zzzz{{{{{{{zz{{zy{z{zz{{{z{||{yz{zz{z|||{{{{|{z{zzzzzzzzz{|{|zz{z{zzz{|{{z{{{z{zzzzzzz{{{{{{{{{{z{zzz{{{|{||{z{{zzzyz{z|{z|{z{{{yz{zz{|{{{{z{{zzzzz{{zz{{z{{{zzz{{{z{{z{{{{{z{{zzz{yz{z{|{{{z{zzzzzzz{{z{{{zzzz{yzzzzy|{zz{z{{yz{{zz{z{{zz{{{{{yz{zyz{{{zz{{{{z{{zz{{zz{{{{{{zz{z{zz{{{{z{{|{z{{{{{{{z|||{|{{{z{{{z{z{{|{{{|{{z{zz{{z|{{z{z{{{{{zz{{z{{{{{{{{z{{{zz{{|{||||||z{y{{zzz{|{|{|{{{{z{{{{{|{z{{||||{z{{{|{{{{|{|||{{{{zz{{z|||}||{|{{{y{{{{|{|{|||{z{zz{z{||{{|{}|{|zz{{z{|{{||{|||{{y{z{{{|||{|||{yz{{z{z{{{{{||{{|{y{y{{z{|z{||{zz{{{zz{{|{z{{{|{{{z{z{z{{{|{{{{{{zzz{zz{z{z{{{{zzz{z{zz{{{||{|||{zyzzzzz{{{{{||{{{z{{{y{{{|z|{{{zyz{y{zzz{{y{zz{zzy|zz{{z{{{{z{zzzz{zzzz|zz{{{z{zyzyzzzz{z{{z{zzzzzzz{zzz{{{{|{zz{zzzyz{z{z{{{{zzzzzzzyzzzz{zzzzz{yzzzzz{zz|{{{z{z{{zz|{{{z{{z{{z|zzz{z{{|zz{|{{zzzy{z{{z{{{|{{{z{z{z|zz{{{{{{z{{{zzzzz{{|{{{{{{z{zy{z{{{{{z{z{{z{{zz{z{{||||||z{{{z{|{{|{{{{{||{zz{{z{||{||{{{{{zz|{{z|}|{{{||||{z{|{z{{z||{{|{{{{z{{{{}}|||{{|z{|z{{{{{}|}||{{{{z|zz|{{{{{|||{|{z{{{z||{|{|{|{{{{{z{{{||z|{||{{zzzz{z{{{{{{|{zzz{zzyzz{|{{|{|{{zzzzyyz{|zz{{|{{zzz{{z{zz{{|{{{zzzzzzz{{{{{{z||{{zz{{{{{||zz|{{zzyzy{zz{||{{z|z{y{y{{zz{|zzz|z{zzzzz{zzz{z{{{z{z{zyzzz{{z{z{{{{zyzzzyzyz{zz{z{zz{{z{yzz{{{{z{{{zzzyzzz{{|{z{|{{zz{{yzyyz{zz{{z{zzzyyzz{{zzz|{{z{{zz{yyzz{{{|{z|z{zzyzz{{{{{{{|{z{{yy|z{{|{{{{|{z{z{zzz|z{{{{{{{zz{{zzz{||{{|{|{zz{{zzy{{{{z{|{{{zz{{{{{{|{{{|{{{{{{z{z{|{zz|{{z{zz{{{|{|||{{{{{{|z{zz{{z||{{|{{z|z{{|z{{{{{|||{z{{z{{{z{{{|||{|{{|{zzz{z{|{{{||{{|{{{{|{{||{{|{{{zz{{{{{{{{{{||{{z{z{{{{{{|{{|{{|y{|{{{|{{|{|{zzzz{{{{{{z{{|||z{{{{zz{{z{{{|||z}z{{zz{{z|{{{{{{zz{zzz{{{{{{{||zz{y{z{{{{zz|{|{zz{zzzzz{{z{z{{{zzzy{z{y{{z{{{z{{{{zz{{yz{{{z|{z{yzz{zzzzz|z{{{{{{zz{zzzzz{{z{|{{{{zzzzzzzzz{z|{zzzzy{yz{z{zz{{zzz{yz{zy{z{|{|{|{zzzzzyz{{zz{z{{z{zz{zzyyzz{zz{zyyzzzz{z{{z{z{{z{zzzzzzz{{{{{{{|z{zzzz{z{{{z{{|{zzzz{zzzy{{{{{|{{{z{|z{{{{{{{{{{{zz{zzz{zz{|{||z{z{{|{z{{||{{{{|{{z{{zzzz|{||{|{z{{z{{z{{|{z|{{{{{{z{z{{{{{|{|{{{{{zz{z{z{{||{||{{z{z{{{{|{||{||}|{{z{{z{|||{|{{|z{{zz{{{{{|||{{|z{{{zy|{{{|{{|}|{{z|{{{{{{{||z|{z{z{{{{{{{z|||{{{z{{{{zz{|{{{{|z{zzzzzz{z{{{{{{z{z{z{z{{}||{z|{{{{{{{zz{{{|{{||z{{z{z{zz{z{z{{{{z{zzy{zz{|{z{|{{{z{{zzz|z{{z{z|zzzz{zzz{{{zz{{||{y{yzz{{||zz|{{{zzzyzyz{{zz{{{{{yz{yzzz|{{{zzz{{yzzz{{z{{{z{{{|zzzyzzyy{{z{z{{{{y|zzyzyz{zzz{z|zzyzzzzzz{{z{|{{{zzzzz{y{{z{{{{{{zzyzzzy{{{{|z{|zzz{zz{{|z{{{{{|zz{{yzzz{||{z{|{zzzyzzzz{{{{{{z{{{zzy{zz{||{z{|z{zz{zz{{z{{z{{{z|{{z{{{{zz{{|{{{zzz{{{|z{{z{|{|||z{zzzzz{||||||||{z{|yz{{|{||{||{z{zz{|{||{{|{{|{|{|z{{z||{|{}||{{z|zz{{|||{{{|{{{{{zz{{{{{|{{||z{{{{zz|{{{{||{{{y{z{{z{{||{|{||{{{{zz{z{{||{z{{{z{z{zzz{|{{{|{|{{{{zzzz{{{{}{{{{{z{z{y{{z{z{|{{zz{z{zzyzyz{{{|{zzzzzyzz{{{zz|{|{{zzyy{y{{|{{||z{{|zzzz{{{y{z|{y{{zzzzzz{{{{{{{{zzzz{{zz{{{{z{{{z{zyyzz{{z{zz{zz{z{zy{z{zzz{{{{{zzz{{zzzz{{z|{|{zyzzzzzzz{z{{z{z{{{zzyzyz{z{z{{{{z{zzzzzz{z{{{{{zz{zzxzz{{{z{z{{{{z{zzz{zz{{{{z{z{{{yzzz{||{z{{{zzzzzzzy{{|{z|{{{z{zz{{z{||z{|{z{zzz{z{zz{|{{|{||{{z{z{{{{{||{{{{|{zz{z{{{|{z|{|{zz{z{z{{|||{{|{{z{{{z{z|}{{{{||{z{{{z{{z{z{{|{}|z{{{{zz{|{|||{||z{{{z{{}|||{{||{z|z{{{|{{{||||{z{z{{{y{{{||{{||z{{y{{z{{{|}{|||{{z{z{{y{{{|z{{{|z{yz{{z{{|{|{{{z{{{|z|z{z{{|zz|{{{z{z{{||{{{{}|z{{{{{{z{{{|||{{{z{{{{zzzz{{{{|{{z{zzzzz{|z{{{{|{{y{zzz{{||{{|{{|zzzzzzzz{|{{{|zz{zzyz{{{{z{z{z|{{z{zzz{{{{{{||z{z{{zzzz{{{{{{z{{{{{zzzzy|{{z{{{{{zzzzzyz{{z{{|{{z{y{zzzz{{|{|z{z{zz{z{{{{{{{{|{{zzz{{z{||{{{{z{{{z{{z{z|{z{z{{{{{{{yzzz{|{||{{|{zzzz|{{{{{{{|{|{{|zzz{{||{z{{|{{{{{{yzz{|{zz|{|||{zz{{z{||{{||}{{{{{{{{||{||{}|{{{{z{{{{||||{|{|z{z{z{z|{}{|{|{{{|{{{z{||{||||{{{zz{{|{{|{||||||||zz{{{z|{||{||{{{{{||{||{|{{{{z{{{{{{{{{|{{}z|{|{zzz{{||||{}||z{z{{{zzz||}||||{zzzz{zz{{|{{|||{yzy{z{z{{{|{{|{{{zz{zz{{{{{{{|||z{zzz{z{{|z{{|{{y{{z{zz{{{{zz|{y{|zyz{z{z{zz|z{{z{z{{{z{{{{{{{{{{zzzzzz{{{{{{z{z{{zz{zz{{{{z|{{zzzzzzzz{|{z{{{{zzzzz{yy{{{{{{{{{zzzzzzzz{{{{z{z{z{zzy{yy{z{z{{{z{zyyzyzz{{{z{{{zzzzzzzzzzzz{{{{|{{y{{z{{{{{{{z|zzz{yy|{{zz{z|{|zz{{zzz{|{|{{{{|{z{zzz{zz{|{{{|{{|zz{zzz|{{||||zz{{{{{{z|{|{{|z{{{{zzzz{z|{{|{{{{{{{zz{{||z{{|{|{{{{z{{{{}|{{|||{{{{{{z{{||{{|{|{z{{z|{z{{{{||{||{{zz|{{{|{{}|||{{|{{{z|{{z|{||{|z{{{z{{{|||||||{|{{{{z{||{|{|{|{|zz{{|{{||{{||||{z{zzzz{|||{|||{|zz{zz{{|{|{|z{{{zzyzz{{z{z{|z|{zz{zzz{{{z||{||zzzzz{{z{z{{{z{{|z{zzzzzz{{z{{||{{zzz{zz{{{{z{z{{z{yzz{zz{{zz{{{{z{zzzy{{{{yz{zzzz{yzzzzz{zzzz{|zzzzz{zz{{{zz{{|{zz{zzzz{zz{|{z{z{z{zzzz{z{z{{{{zzzzyzzzz{z{|{{{zz{yzzyzz{{zz{{{{zz{zzzzz{{{{z{{{yy{zzz{z{{{|{{{zz{zzz{{{z{{{{{{z{{zzz{z{{|z{{{|{{{z{zz{{z{|z{z{|z{z{{zz{{|{{{{{|{yzz{z{{{|{{{|{{{zzz{{z{{|{{z{{z{z{{{{{{{{}{|||{{{{{{{{{z|{{{{{|{z{zzz{{{||{{{{{|||z{{{{{|||||||{{|z{{{|||{||{||{|{{zz{||||||||{z{{z|{{{|z||{||{{z{{{z{{|{|{|}{{z{y{{{{{|{|{|||{z{{{{{z{{{|z|{{z{{{zyzz{{{{|z|||{zy{zy{{{{{{{{}{{{|zzzz{{{|{|||{zzzzz{{z{{||{{{{z{zzzzz{||{zz|{zzz{zzzy{{{{{|z{{z{zzzzz{z{{z{{{zzzyz{yz{z{|{zz{z{{zzzzzzzyzz{|{zzzyzzzz{{{{z||{zzzzzzz{{{{z{z||zzzzzzzzz|z{{{z{{zzy{zyzz{{z{{{zzz{zzyzzy{{{{{z{{zzz{zzz|y{{z{{z{zzz{zzz{{z{{{|{{zzz{yzyzz{{{{{{z{y{{{{{z{{{{{{{{zz{{z{y{|{|||{|{{{z{zy{{||zz{{z{{zzz{zz|{{{{}|zz{{{{{zz{{{{||||z|z{z{{|{|{{{|||{{|{{zz{|z{|{{{{{z{|{{{{{|{|{|||{z{z|{z|{{{|{|{|{{y{z{z{{{|{{||||z{{z{{{||{|z{||{z{{zz{z{{{{||{|{{z{{z|z{{|{|{||{z{zzz{{||{{{{|{|{z{z{zz{|{{{{{|z{{z{zzz|||{z{{zz{zyz{{zz|{{{z|{{{{zz{zz{{zz{zz|{{zz{zzz{{z|{z{{|{zz{{{{||z{{{{{{zzzzzzz{z{{{{{|z{yzzz{y{{{z{{|{{zzzyyyzz{|z{{{zzzzz{zz{{zzz{{{zzzzzzzzzzzzz{{|{{{{zzzzzz|{z{{zz|zzzzzzzz{z{{{{|{zzz{yzyz{y{{{{z|{{zzyyzz{{{{{{{zzzzz{z{{{{{{{||z{zz{zzzz{{zz{z|z{{zzy{zzz{{{{{|zz{{zzzzz{{{|{|{zz{zzz|{{{{|z{{|{z{z{{z{{{{{z{|{{z{{z{zz{z{{{{|{{zzz{{z{{{{|||||zzz{{z{|{|{|{|{|{{|z{zzz|{{{{||{zz|{z{yz|{|{z{{|{|{z{{{|{|||{}||{{{{z{|{||{{|{||{{|{zz{{|{{{|{||}{{{|{{|{z{|{|{}{{{{z{{{{{{|{{|{{|{z{|z{{{{{z{z{{{{{{{zz{{{{{|{{{{{{{z{z{{{{{{{{zz{{yzzz{|{zz{z|{{z{zyz{{{zz|||{zz{z{zz{{z{|{{|{{{{zzyz{{{{{z{{{{{|{zzzz{z{|{{{|zzzzzyzzz{{{{{{{zz{{zzz{zz{z{{{{z{{yzzyz{yz{z|{{zz{zzzzzz{{z|{{zzz{z{zzz{{|z{{{{{{yzzyyyz{{{{{z{{z{{{zzyyzzy{|{z{{{zzy{zz|zz{{{{{zzzyzzy{{z{{{||{zzzz{{z{{|zz{{{zz{{zz{{zz{zz{{{z{{zzz{{{{|{{z|{{zzz{z{{{{{{{|{{zz{{{zzz{|{{{z|{zz{z{{{{{|{{z|{{{z{z{{z{z{|{{|||z{z{zzz{{|{|||||{{z{{z{z{|{||}}{|z{|{zz{{|{{{||||{{zz{|{{|{z}{}{{{|{{{{|{|{||{|||{zzz|{{|{|z{{|||z{z|z{{{||{{{{|{z{{{|z{{|{{{||{{{{{{{{z{{z||{||{{z{{zz{{{|{{{|{{{{{{z{z{{{{{{z{{z{{zzzz{{{zzz{{{zzzzz{yz|{{{|{{{zzyzz{{|{{z{{{{{y{{zz{{z|{|{{{{zzzzzy{zzzz|{{z{|zzzzzzz{{{zzzz{{z{yz{zz{zz{zz{|zzzzzzzy{zzzz{z{z{zzzyzzz{{{{z{{{zz{zz{zzz|zz{z{{|yzyzzyzzz{{z{{zyyz{zzyz{{z{{zzzz{zzzzyz{z{z{{{zzz{{z{z{{{z{{{z{zzyzyzz{{zz{z{{{zzzzzzyzz{{z{z|z{{zz{z{z{{{{||{{zz{zzzzz{{{zz{{{z{y{{yzz{{{z||{{{z{zzyz{{{{{|{{|zz{{{y{{{|||z{|z{{z{z{{||{|z{{{{z{{{zz{{{|{{|{{{{|zzzzz|||z{{{|{z|{{{{z{z{{{{z||z{z{{{{{||||{||{z{{{z{z{{|{|||{{{{{{{zz{{z{{{{{z{yz{{z{|{{{z{|{zz{zzz{z{{|{|||{{{{zzz{zz{{{z{{{{{{z{zzzzz{{{{|zzzzzz{zz{{z{{{{z{yzz{yzy{{{z{{{zz{zyzzzz{zz{{{{{z{zzz{zzz{{|{z{{z{zyzzzyz{z{{|{{z{zyyzyzz|zyz{|{{yzzzzzy{{|{z{zzyzzzzyyz{zzzzz{zz{zzzzzzzz{z{{zz{yzzzzzy{{{z|{z{{z{zzzzzzzz{{|{{zy{zzzzyz{zzzz{{zzz{zyzzz{y{{{{{yyzzzzyyz{zz{{zzzyzzzzzz{{{{{zz{z{zzzzzz{{{zzyz|zzzzyzzzz{{{{{{{{zzzyz{y{{{{{|{{{{{{zzzz{{|z{|{z{{zyzzz{{{{{{z|{zzzz{zzz{{{{{{{|zzzz{{{z{{z|{{{{{zzz{zzz{{|{{{{|{z{z{{{{{{{{{{||{{zzz{{{z|{{||{||yz|{{{{{|{{{||||z{z{zzzz}|{{||{{{y{z{{z{{{{{{{|{{{z{{{{{{{|{{{||zzzzz{{z{|{{{{{{z{{{zzz{|{|{{z{zz|z{zzz{z{{z{z{{zzzz{{y{{{{{{{|{zzz|zz{z{z{{|{|z{{zzzzz{{{z{{{|{zzz{zzz{{{{{zz{zzzzzz{zz{{{z|{{z{zzy{{y{z{zz|{{zz{zzzzy{z{{{{{{zzzz{z{{{z{|{{z{zyzyzz{z{{{z{z{{{zzzzzzz{z{z|{zz{z{zz{zzz{{zzz|{zz{yzzzz{zzzyz{{{z{zyzzzzz{{{{zzzz{z{zy{{z{z{z|{yzzy{{z{z||{z{{z{{zzzzzz{{z{z{{|{zzzz{zzz{{{z{|{{z{{{z{zz{{{{{z{{z{zzzzz{{{z{{z{zzz{zzzz|z|z|{{{z{{z{z{{{{{{{|{|z{zzz{{{{{z{{|||||{z{{zzz{|{|{|{}z{{{z{z|}|{{{|{z{{{z|z{{{|{{{|{|{{{zzz{z|||z{{||z{{{z{{{||{|{{||z{z{{{zz||{{{|{|{{z{{z{|{{|{||{{{zz{zz{{|{|{{|{{{z{z{{{{{|{z{{|{z{{zzzz|{{|{{{zz{{z{zyz{{{{{{{{{{{{{zzz|{}|||{|{{{zz{{{z{{{{||{{z{z{zzz{z{|z{{|{zz{z{zz{y|z{|{|zz{zzz{{zz|{{{{{|{{{{zzz{{{z{{z{{z{zzzzz{zz{z{{|zz{zzzzzz{{z{z{{zyy{zzzz{z{z{||{z{|zzzyzz{zz{{{z{zzz{zzzz{{y{zz|{zzzzzzzz{yzz{{{{z{z{zzyz{{{{z{{z{zz{zy{{|{{z|{|{{{zzz{z{{{z{|||{zzzzzy{|{{|{{{{|z{z{z{{{|{{{}{{{zzzz{{zz{{{{z|{zzzz{zz{z{{z{{{||{zzz{{{{{{|{||{{{{{{{{{|{{|{{||{{z{{zzz{|{{|{{{|z{|{y{z{|||{|{{|{{z{z{{{|||||{|{|z{{{{{{{||||||{{{||{{||{{{{|{}{{{z{{{{|{{|{{||{{z|{{z|{{{{{z|{z{{zz|z{|{||{|{|{{{{{{z{{{{|{|{{||{yzz{z{{{{{{z{{{z{{zzz{z|{{{{{{{{y{{zy{{|z|{|||{{z{{{z{{||{{{{{{{{{z{z{{||{{{{{z|zzzzz{{{{{{||{{{{zz{z{{{z{{|{{z{{zzyz{|{{{{{{zzzzz{zz{z||{{z|z{zzyzz{{}{{z{{{{z{z{zzzz||z{|z|{{z{zz{z{{zz|{||zz{zzz{y{{{z{{{z{zzzzzz{{{{z{{{{{z{zz{{yz{{{{{|{z{zzzz{{z|z{{|{|{zz{zzzz{z{z{|{|z{{{zzzzz{|{{z{|{{zz{{z{{{|{|{{{{{{{z{z|{{{{{{||{{zz{zz{{|{{|{{z{{{z|{{{{|||||{|z{{{{{{{||||{{||{{{|{z{z{|||{||{|z{{|{{||}{{{|||{z{{{{{z{{{|||||~{{zz|z{{}|||||||{|{{{{|}|z|}|||{|{{{{|z||{{|||||{{{z{{{|{{||{{{z{{{z{z{||{||z|{{zz{{{{{{{|{{{|{{{|z{{z{|{|{{|{{z{zz{z{zz{|{|{{{z{y{zz{{{{{|||{{|{{zzz{z||{|{{|z{zzzzzzz||z{{{|{|{zzy{{zzz{{{{z{{{{z{zzz{{{{{{|{{{zzyy{zzz{{{{{zzz{zzzzz{{z{z||{y{zyzz{{{{{{z{|{yz{zzzyz{z{|{|{{zz{zzyy{z{z{z{|{zzzzyy{z|{{zz|zzzyzz{zzyzzzz{{|{zzz{z|yzzz{z{{{{{{zzz{{{{|{{{{{{{zz{zz{{zz{|{{{|{zz{{{zz|{{z{{{}zz{{zzzz{|{|{{{{z{{{zzyz{{z{{{|z{{{z{{{z{{|{{||z{{{z{{{{{{|||{{|zz{{{{z{{||{||}|z{{{{{z{{|||{|}{{{{{{|{{||{|{|||{z{zz{{{|}{{||}|{{z{{{|{{}|{{||||{{{z{{{{||{{||{|{z{z|{{|||{{|||{{{|z{{{|{||{{{|{{|{{z{|{{||{||{{|zz{zzz|{{||{{{|z|{zz{{{||{{|{{zzzz{zz{z{{{{{z{{z{z{zyy{z|z{{{{z{zzz{{y|{|{{{{{{{zyzzzzz|{{{{z|{{{zyz{z{z{{{{{{{zzzzzz{z{z{z{{zzzyzzzyy{{{zz{{{{zzzy{zzzz{z{z{{yzyzzzzzzz{{z{|zzzzyyzzyzzzy{z{{yzz{zzyzz{z{{{zz{zzyzzzzzz{{z{{{{z{zzzzzz{zz{{|{z{zzzzz{zz{zzz{{zzyz{zzzzz{zy{{zzz{zzz{z{z{z{z{{yzzzzz{{{y{z{{|z{zz{{yzz{|{{z{{{|{zz|y{zz{{{{{{z{{z{z{zz|{|{z{z{{{zz{z{{{{|{|||{zz|{zz{{{{||z|{|z{{zz{{yz|}|{||{zzz{|zz{{|||{||{z{z{zz{{{|{|{|{|{{z{{z{|{||{|{||{{{{z|{z{{z||{|||{{z{{{zz|{{|{{||{|{{z{z|{{|{{||{z{z{zzz{{{{{{{{{{{{{zz{{{|{{{{||z{{zzzzz{{{z|z{z{{zyzzzy{{{{{{{{{{{y{zz{{{{{{z||zzz{{{z{{z{|z{|{z|z{zz{|{{{{z{|{{zzzz{z|{zz{z{|zz{{z{zy{{z{z|{{z{{zzzyyz{{z{{{|y{z{zzz{{z{{{|z{zzzzyyzz{y{|{{{zzz{xy{yzz{{z{{{z{zzzz{{yz{z{{zzz{yzz{yz{{zzzy{{{zz{zzzzy{{zzz{z{zz{{{{yyz{{{{{{{zz{zzyzzzz{z{{{{{z{zzyzzz|{{|z{{zz{{yzzz|z{zz{|{z{z{zzzz{{z{{|{{zz{{{{z{{{{{|{|{|zzzz{{z{{{{z|{|z{{{|{zz{|{{{{{{zz{z{{{z|{{|||{|{{z{{{zzz||{z{{{zz{{{{zz{||{{{{{z|{z{{|zz{||{||{|{{z{{{z{}||{{|{|{{z{{{z||||||{{{z{zz{z{{z{{|||||{{{{{|{z{z|{{||{{zz{zzz{z||{{{|z{zzz{zz{|{||{{{{zz{{z{{z|{|{{{|{{{{z{{z|{z{z{{z{{{{{zz{|{{{|{{{{{z{z{{zz{{{{{{{z{{{{zz{z|{|{{{{{{zz{zz{z{{{z{|{zz{z{{{z{z{{{|{{{zyz{y{z{{{{z|z{{zz{yzzz|z{{{{{|{{zyzyzz{zzzz{z{z{y{{yzyz{|{{{{{{z{y{zzzzz{{{{{{{z{zzz{yzz{z{z{{z{zzzzzyzzz{z{|{{z{zy{{z{|{{z{{z{{zzyzzz|{|{{{{|{z{zzy{z{{{{{|{{{z{zzz{{{{{{zz|{{{{{zzzy{|z|{|{{{zz{{{zzz|{{{|||zz{zz{z{{|{{|{|{z{{||zz{{{{{||{{||zz{{{z{{{{{||||zz{{z{zz{|{z{{{{y|z{{z|||{{{|}{{z|{{{|zz{|{||{{|{{{{{{{{{|||{{||{{{{z{{|{z{{{||{{|{{{{{z{||{{|{}{{|{zz{|{{{{||{{{{{z|z{{{|{{{|{{{{zzzzz{{{{z{||{{{{{{zz|{{{|{|{z{z{{z{z{{{z{zz|yzz{zyzz{z{{|z{{{y|{zzyy{zz{{{z{{z{zzzz{z{{{y{{{{z{zyz{zz{|{{{{{z{{{z{zzz{{{{{{{zzzzzzzz{{{z{||z{z{{zzzzz{z{y|z{z{{z{zzz{{{{zz{zy{zzzzxz{z|z{|{{zz|zzy{z{{zzz{||{{{zyzzzzzzzz{{zzzzzyzzyz{z{{z{{zyzzzzzz{z{zzz{{{zzyzz{zz|{{z{|{zz{{zzzzz{z{{{{{{{{{yz{z{{zz{{{{{{zzz{{zz|{z{|{|{z{zzzy{z{{z{{||{zz{{{zz{||z||{z{{{{zzzz||{|{{|{z{z{{{{{|{{|{{|}{{{|z{z{{|||{{|{{{{{|z{{{|{|||||{{z{|{z{{||{{{|||z{z{{{{{||{{||||{{|z{{{{||{{|||{z{z{zz|z{{{||||{{{{{z{{{{{{|{{{{z{{zz{{z{{{||{|{{{zz{|z{|{z|{||z{zzzy{z||{|{{{z{zzzz{{zzz{{{z{{{{zzzyzz{{{{{{|{{zzzz{{y{zzz|||{zy{z{{z{z{{{{z{z{{{{zzzz{z{{zz|zzzzzzzzzzz{zz{{|zzzyzzyz{z{{{{{{zzz{zzzzyz{z{z{|zz{z{zz{z{y{z{{{zzzzyzzzz{|{{{{zz|zzzzzy{|{z{{{|z{zzyzyzz{yzz{{zzzzzzzzzzzzzy|zzzzzzyzzz{{{{y{|{zyzyzy{z{zz{{|{{zyzzzzzz{{{{z{|{{z{{zzzz{{{{{{{{{zzzzzzz{|z||{{{{zzyzyzz{||{z||{{{{{z{{{|{|z{{{{zzz{{z{x{{{{|{|{z{|{{{z{{{z{{||{z{z{yzz{{|{{|{{{{zzz{{z{{|{{z{||{{z{z{{{{|{|{|||{{|{z|z{{|{|{{|||{{{{{{zz{||{|{{{{z{{z{z{{|{||||{{|{|zy{{{{|{||||{zz{{z{{z{{z{|{{{{z{z|z{|z{{{||{z{z{zzzz{{|{{{{{z{zz{zz{z|{{zz{zzzzzzz{{{{z{}|}{z{z{{yz{{{{{{{{zzzz{z{{z{{{{{{|{{{{{zzzy{{z{{z{{{zzzz{zz{{{z{{{zzzzz{zz{{{z{{{zzzzzy{yzzz{zz|z{z{yyzyy{z{zz{{{zz{yzzzyzz{zz{{{{{{zyzzzz{zz{z|z{zzzzxzzyzz{zz{y{{zzzyzzy{|{z{{{{zzz{z{zzz{{z|{|{{zzyz{zz{{{{{{{|{z{{{zz{zz{{{{{|zz{{zzz{|{{{{{{{zz{zzzzzz{|{{{||{z{{{zzz{{||z{{zy{{{y{{z||{{zz{{{zz{zzz{|z{{{{||{z{y{{{z{{{{{{||{{{{{zz{{|{||{|{{zz{{{{z|{|{{{|{{z{{{{{z{|{{|||{|{{z{z{{{|{||{|||z{{|{zz{{{{|||{{z{z{z|z{|{{|||{|{z{{{{z{|{|{{||{{z{{{z{z||{{||z{{zyzzz{{{{{{z|{{{{zzz{z{{|{|{{|zzyzzzzyzz{{{{{{zzzz|zy{zz{{{{{}{zzzzyyz{z{z|{{|{y{{zzzz{z{{{z{{{z{zzy{y{{{{z|{zzyyzzzzzz{zzz|{z{zzyzzy{z{{{zz{{zzzzzzzzzzzz{{{zzyyyzzyyzz{z{z|{{zzzzzzzz{{z{{z{{zzzzz{zz{z{z{{z{zy{zzzzz{zzz{{{z{zzzz{zyz{zz{{zzz{y{yzyzz{{z{|{{zzzzz{{{{{{{|{{{z{yyy{zz{{{{{{|zzz{zzzz{{{|{z|{{{{y{zzyz{{|{{||z{z{{zzz{||{{||{{zzz{zz{|{z|z{{z|zyzzyz{{{{{{|{{zzzz{{{{z{{{{{|z{z{{{{z{|{{|{||{{z{z{{z{||{||}{|{{|{{{zz{|{{{{{|{|{z{{{|{}{{|{||z{z{z{{{|{{{{{{|{z{|{zz{{{{z{||{|{z{{zzz{{{{{{||{{zzzzz{z|{{{|{{z{{zzzz{z|{{{{z{z{{zz{{z{{{{{|{|{zz{zz|zz{{z{|{|z|zzzzz{{{|{{{{|{{z{zzzz{|{{||{|{zz|{zzz{{{|{{{{zzzzzyz{{{{{{{{|{{z{{{{z{|zz{||z{{zzzz{z{{zz{{{{{yz{z{yz{{z{z{{{{zzzzyzzzz{{y{{z{z{{{z{z{{{{{{|z{zzzyyyz{z{{z{{{zzz{yz{z{z{zz{z{zyzzyz{zz{zzz{zz{zzzzzzzzzz{z{||{{zy|y{{z{{{{{|{{{zzzy{z{z{{{{{{{z{z{zz{{{{{{||{z{{{zz{yz||{|||{|y{z{{z{{{{{{{{{|{{{{z{z{|{|{{{||z{{{{{z{{{|{{{|{{yz{z{{{|z|{{|}{z{{|{y{{{{|{||||{{{{z{{||{{|||{|{{{{|{{{{{{||||{{|{{{|zz}{|{{|{|{z|{||||{|{|||{{zyz|{|{{{}{{|||{{{z|{{{||{{|}{|{{zz|z{z{{{{|{|{zzz{z|{{{{{{{{{{{z{zz{zz||{{{||{zzzz{zzzz{|z{{{{z{zz{z{z{{|zz|||{zzz{z{z{{{{{{{zzzz{z{zz{{{{{{{{zzzyyy{z{{{{{{{{z{{zzzzy{{zz{{{{{y{zz{zz{zzzz{{{zz{{zzzy{{z{{{|zyzzzzzyzyz{{{{{{{zzzyy{{{z{{{{{{zz{zyzzyz{{zz|{|zzyzzyzyzzzzy{z{{yzzyyzy{zzz{{{zyzzz{z{zzz{{{{{{{zzzzz{zz{z|zz{{zz{zyyzz{z{z{{z|zzzzzzzyz{{{{{|{{{zz|y{z{{{{{{{{{{{zz{z{{|||{{|{z{{z{z{{z{|{{{{{{{z{{z{zz|{{|{|{|{z{{{{{||z{{|||{z{{{zz{{{{|{||{|{{{{z{z{|{{{{{{{zzz{{{{{|}|{|||{{{{z{{{{||{{}|{|{|z{{{||{{||{{||{z{|z{{|z|{|||{{{z{{{zz}{{{{|||{{{zzz{z{|{|{{{{{{z{{|{zz{|{{{{{{z{{zz{{||z{|{|{z{z{{z{zz{{{{{{|{zzzzz{z||{{{|{|{{zz{{zz{{{{|{{{{{z{{zz{{|{{{{|{{zzzzz{zz{{{|{z}z{zyz{zzz{{|{{{z{z{{zzzzz{|{{|{zzzzzzz{y{zz{{{{{zzzzyzy{z{{{{{z|{y{zzz{{zz|{{{{{{zz{zyzz{z|{{|{{{{zzzzzz{z{y{z{{{{{zy{{zz{z{|{{{zyzz{z{yzz{z{|{{zzzz{zzzz{{{{|{{zz{{{z{{{{{|z{||zzz{y{{{z|{{{{z|{z{|{{|yz{{{|||{z{zzz{z{{|{{z||{{{z{{z{|{||z{||||{|{|{{z{{|{{{|}{{zz{{z{||||{||}|{{{zzy{{||{{||{{z{z|{{{||{{{{|{{z{{{{{{{{{|{|{{{|{{{{{{|{{|||{||{z{{{{z|{{|{|}{|zz{{z{{|{{{|{{}|{z{|z{{||{{||{|{z{zzzzz{|{|{|||{{zzzzz{{|{{z}||{{|z{{z|{||{{{{{zzz{z{zyzz{{{{{{|{z{{zzz{{{{{|||zzz{z{zz{{{{{||{{z{z{zzzz||{{{{|{{zzy{{yz{{{{{{{z{{z{{{z{|z{{{{z{{{zz{zz|{{zz{|{{{zy{yz{{z{zzzz{yzz{zz{{z{{{|{{{{zz{zzy{{{{|{{|{z{zzzyzy{{z|{{{|zzzyzzzz{z{{zz{zyzzzzzzz{{z{{|{{z{zzzzzzz{{z{z|{{z{zzyzz|{{||{{{{zz{yzz{{z{{{{{|zzz{{{yzz{|{|||{{{{{zy{z{{{{|{z{zzz{{zy{{{|||||{{zzz{z{zz|{|||{{{z|z{z{{|{|{{{||{{z|{{{{{{{|{{|{{{z{{{{z{|{|{{|{|{z{|{|z||{{{|||||{z{z{z{|{|||{}|{{{{zz{{||||||}|{{{{{{{||z{|{{|{{zz{z{{{|{|{{}||zzz||{{{|{{|{|{|z|z|{{z{{{{{{{|{{{{zzz|{{{|{|{|{{{z{zz{|{||zy{{z{yzzz{z{{{z{|{{{z{{zyzz{{{{{{{{{yzzzz{yz{{|{{{|zyzzzyzzzzz{zz{{yy{zzyyz{{{{{{{{|zyzz{{{zzz{{{{{zzzzzyyz{{{zzz|{zzyzz{zy{{{z{z{|zzzzz{yzzz{{z{|{z{zzzzyz{{{z{{{{zzzyzzyzzzyzz{|zzzzzz{zzz{{zz{y|{zzzzzzxzzzzy|{{zzzzzzzy{zzzz{{{{zzzzyzyz{{{zz{|{{{z{z|y{{z{z|{z|{|yzzzzz{{{z||{zzzy{y{{z|{{{|z{{z{{{{{y{{{{{{|||zzz{zy{{z{{z{|{{{z{zzzz{{{{{{{|{z{{zz{|{|{{z{{{{zy{{zz{|{{{|{|{|{{{{{zz||||{{|{{{{{{z{z{|{|{{{|{z{{z{{{{|{|{{{|{{{|z{{{{|{|{{}{{zz{{{z{{|{{|{{||{z{|z{|}{|{{{{z{zzz{{z{{{{z|{|{{{zz{z{{|{|{|{{{{{zz{{{z{{|||{{{zzzzz{z{z{{{{{|{z{{zzzzz{{{z{{{|zzzzzzz{{z{{z||{zz{zzzy{{{z{{|{|z{zzyzzyzz{{{|{}zz{z{{{z{z{{z{{{zz{zzy{{{z{zz{{{zzy{{z{{zz{{{{z{yz{zzzyzyz{{{{zz{zyyzzzzz{{{|{{zzzzzzyzzzzzz{zzz{zzyzzzyz{{y{{{zz{zzzyzzyzzzz{{zzyz{z{zzz{{{{{{{{z{yzzzzz{|zz|{|z{{zzzz{zz{{z{{{z{zzzz{z{}{{|{{{{zzz{z{{z{|{{{|{zzzzz{zz{{{{{|}|zz{z{{{|z{{{z|{{z{z{{z{{z{{|{{{{zz{{z{{{|{{{{{{{{{{{zzyyy||{|{{{{zzz{zz{|}|||{||{{{{zz{{|||{{|{|||{{{{{{{|z|{||{{z{|zz|z||{{{|||z{{z{{zz{{{{{{{|{{z{zz||||{|{{{}z{{zzzzz{|{|{z{|{y{{zz{z{}{{{z{{|{{z{z{y|z{}|||{{zz{zz{zzz{{{z|{{{zzyzz{zz{{||{{{zzyz{zz{{{{{z|z{z{zzz{zz{z{z{{{{zzy{zzyz{{zz{{|{{zzzz{{{{{{z{zzyz{zzzzzz{{{{{{{zzzzzz{zzy{{{{{{{zzyzzzz|z{zzz{{zyzyzzz{z{{yz{yz{{zyyzyzz{z{{{{{zzzyzyyy{zzzz{{{|zzyyzzyz{{{{{zzzzzzz{zzz{|{z{{{zzz{z{zz{{{zz{{|zy{yzyz{z{{|{{|z{z{z{{zz{{{{{|{|z{{{{{z{z{{{{{|{z{{{{z{zz{{{{{|{{zz{{{z{{{{|||{z{zzzzz{|{z{{{{|{z{{{{{{{|{{zz|{|zzz{{z{zz|{|{{{{{z{z{{{z|||||||z{zzzz|{{|{{z|||||{{{z{{{||||{{|{|z{{z{{{||{|{|{{{zz{{|z{z|{{||{|{|{{{z{z|{{{||||zz{z{{z{{{{|{{{{z{z{{{{{z{{{|{|{{z{|{z{{|{|||{{z{z{{zzzz{z{zzz{{{zzzzzzz{|z|{|{z{z{zz{zyzzz|z{{|zzzz{zz{{{{{zz|{{z{{{{zzzz{z{|{|zzzzzz{zzzzz{{{zz{{zz{yz{z|{z|{{|y{zz{z{zzz{z|z{zzzzzzzz{{{{{{{{zy{zzzzzyzzz{z{{zzz{yzyyzz{{{z{zzyyzyzzzzzz{zzzz{zzyzzzyy{zy{{zzzzy{z{zyz{z|zz{{{zzzyyzzz{{{z||||zzzzzzz||{{z{{{zzzzyz{{{{|z|{{|{{zz{z{{{{{||{||z{{{z{z{{{{z{z|{{zz{z{zz{{{zz{{|zz{z{{z{{{|||{|{{z{{|z{z|{||{|||{z{{zzzz{{{{{{{||{{{{{{zz|{{|{||{{{{{{{{{{|z|{{{{{zzz{{{z{{{{}||{{{{zzz{|z{{{|{||zz{{z{{{||z{||{{z{{|{z{{|z{||{{{{{{{{zy|{{|{}|{|{z{{{{{{|{{{{}{{{zz{z|{|{|}|{{{z{zzzzzzz{{zzz{{{zzzyz{zz{|{{{|{{zz{yzyz{{{y{z|zzz{z{yy{zz{{z{|{{{{yz{zy{|zz{{{{zz{yzzyzz|zz|{{z{yz{{z{zzzzyz{{z{zyyz{zzz{z{z{{{yyzzzzyzz{zz{{{zzz{yzzyzz{{zz{z{zzzyy{zz{{zzz{{{{zzzzz{yzzzzzz{{{zyzzzyyyzzz{{z|zz{yzz{zzzz{z{{zzzzy{zzzzzz{{{{|zyzy{z{z{{{{z{{zz{zzzzz{{|{{{|{|zzzzzz{y{|zzz{{z{zzzz{zzz{{|z{{{y{zzzzzyz{|{{{{{|{z{{zz{{{{|{|{zz{{zzz|{|{{{z{||{{z{{z{z{||{z{|{{{z{{{{{{{{{|{||{{{{{|{|z{|{|||{|{{{{zz{{}||{z||{{{zy{|y|{{{|{z|{zzz{{{{|{{{{|||{{{{zzy{{{z{zz{|zz|{z{{{z{{|{{|{{{z{y{{y{}{|{{{{{zzz|{{{|||}{|z{{{{zzzzz|z{{{{{{{{{{zzzzz{{{{{|{{zzzz{{y{zz{{|{{{z{yzzz{{{z{{{{{|{{zzz{z{{|{{{z{{zzz{z{zz{zzz|{z{zzz{yzzy{{{z{z{{z{yzzzz{zzz{z|{{zzyzz{zzz{{|{z{z{{zzyyz{{{z|{{{z{zyzyyz{{{{{{{{zzz{{zzyz{zz{{{{{zyz{zz{z{yzz{{{z{{zz{yz{z{{{{{{{{zz{zz{z{{{{{{z|zz{zy{zz{{{{{{|{{zzz{z{{{|{{{{{|z{{{yzy{|{{{{{{{z|{{z{{z{z{|{||{z{z{zzz{{|{{|{z||zz{{z{z{|||||{{|{{{{{{|{{|{|}|{{{{{{z{z{z{{{{{{zz{{{z{|||||{|z{{{{z||{{|{||}||||{|{{{{{}|{||{|{{{|{z{{{||||||}{z{{{|{z{{|{{{|{|{{{{z{{|{{{|{|{z{{{{{z{{|||{{{|{{z{z{{z{{{{{|||{{{{|z{{{||}}{|{{{zz{y{z{z|{z{{{{{{zzzyy{{{z|{{|{{{yz{zzz{z|{z{|zzzz{zzzzz|{zz|z{z{zz{zz|{{z{{{{{{zz{zz{z{{{|{{{z{zz{{z{{{{z{z{{{zzzzz{z{zz{z|{zzzzzzzyzz{{{z{|z|{y{zzz{{z|{z{{{y{zzzyzy{z{y{{{{{z{zzyzyz{{z{z{{zzzzzy{y{{zz{{{|z{zzzzzy|z{{|||{zzz{zzzz{{z{{{z{{{z{{{|y|||{z{{{{{yz{z{z{{}{{{{|{y{z{yzy{||{{}|{z{{z|{zz{{{{{{|{z{z{z{{z||{z{{{{|z|z{z|{{{||{|{{{|{{z{||{{||{{{||{{{z{z{{||{|||{|{|{{{|z||{{||}|{{{zz{{{|}{|||}{|z{||{{{{}||||{||{{{{{z{|{|{|||||{{{{|{{{{|{|{||||{{{{{|{||}{|||z{z{|z|{{z|{|{|{{{{{zz{{|{||||{|{z||{{z|{|||~{{|zzzyy{zz{{z{z{{{zzzzzzzzzz{z|{||{z{y{yzz{zz{{{{{{zzzzzzzz{{{y{|{{z{yzzyz{z{zz{{{z{zzzzzz{z{{z{{zzz|zyzzz{zz{zzz{zzzz{{zyz{zzz{z{zzyzzzzz{z{zzz{{zyzzzzzy{zzz{zy{zzzzzzyyz{|{z{{{zzz{zzzzzzzz{{{{zyzzzyzzz{z{z|z{zyzzzzzyzz|z{{z{zzzyzyz{z|{{z{{{{z{zzzz{z{zzz|{{z{{zzz{{{{{{{{{{|z{yzzzzz{{{{{{{zzz{{zzz{{{z{z}zzz|z{|zzz||{{||{{z{z{{{{{{{z{{{{{{zz{z|{{{{{{{{|{zz{{{z{{|{}|{{{|zz{{zz{|}z{{|||{{{{{{|{{{{{{||{||zzzzz{{{{||||{{{z{{{z{{|}{z|{{{z{{{{{{{{{{{{}{{{z{{z{{{{z|{|{}|z{zyz{z{z{z{{{|{z{z{{{z{{{|{{{{y{zzz|zz|||}~|{{zzzz{zz{{{|{z{{{{zzz{z{zz{{z{{z|z{zzyz{z{z|{|||{z{|yzzz{{{{|z|{{y{{yyzzzy{{{z{{|{z{zyzzzz{z{{{{{zz{zzzzz{{{zz{{{zzzzz{zz{{{{z{{{z{z{zzzyz{{z{{{{{z{{yzzz{zz{z{|zzz{yy{zyzz|{{z{{zyzz{z{yzzz{z{{{zzz{zzzyz{{zzz{{zzzzzz{z{{{z{z{zzzzzzzz{{{{{{z{{{z|z{zzz||{{z||{{zzz{zzz{|||z|{|z{{{zz{z{{{{|||{{z{z|{{{{{z{{{|{{{z{{zz{z||{{{|{{{z{{|{zzz{||{{|z|{{{zz|||z|{|||{{{z{{zz{{{}{||{{yzzz{y{|||||{}|{|{z{{zz{|z{{||||{{{{|{|{||{{||||{|{{{z{{}}{{||||{{|{z{{|{{{|{|{{{{|{{z{|{|{|||{{{{zz{{{{{{{{{{{{z{{{{z{|{{}|{|{{{{{{{{{{||}||z{{z{zz{{zz|{{{z{{{zy{zyz{z{{{{{|zy{zzzz{z{{{zz{{{{zzzzz{z|{{z{{|{|z{zzz{z{zz{z{{{zzzzy{{y{{z{z|z{zzz{{zzyz|{zz{zzz{{yyzzzzz{z|{z{zzzzzzyzzzz{{z{{zzy{zzz{zzz{{{|{zzzzz{zzz{{{{z|{{zzzzzzzz{{z{{z{{{zzz{zzz{{{z{{zzz{z{yzzz{{{||{{{{z{{zz{z|{{zz{{zzz{zzzz{{z{{|||zzzzzz{z{{{{{{{{{z{{zzzzz{{{{|{{{zz{zz{{zz}{{z{{{{y{{{{zzz{{|z{|z{zz{{{z{{{||{{z{{z{z|{{{{{{{{|{|z{z{zz{{|{{|{||z{{{{z{{|{|{||||{{|zz{{{{|{{||{|{{|{zz{{||||||||{|{|||{{{{y{{{|{|z{{zz{z{{{||{z}|zz{{{zz|{{|{|{|zzzzz{{{{|{|||||{{{zzzz{||{{{z{{{|{|{{{z{}}|}{{{y{{yzzzz{z|{z{|{y{z{{z{zzz{{{z{|{z{zyzzyz{zz|{z{{{zzz{zz{{{{zz{{{{{zzzzz{{{{{{{{zzzzyzzzz{|{z{{{|zzyzz{z|{{z{{{zz{zzz{zz{{z{{zz{zyzy{yzzz{{{{{|z{zz{zyzzz||yz{{{{{{zyyyz{{{z{{z|{z{z|yzzz{zzz{{{y{zzyzyz{zzzz||zzyzzzzzyz{{zzz|{zzz{zzz{{{{zzz{{{zz{zyzz{{{z{||{zyzzz{z{|{||z||{z{z{|z{z{{{|z{{{{z{z{{y{z{{{z{|{{{z{zzzz{||z{{|{{zz{|zzz||{{|{|{{|{{{{{z{{{{||||{zz{{zzz{{||{{|{|z{{{{{{{|{{{{||zz{{{z|{|||{{|||{z{z{{{z{|{{|{||{{z|{z{z{||{{{|||z{z{zzz|{|{{{||{z{{|{z{{|{|{{||{{{zz{{{||{{|{|{|{{{{z{z{|{|}z{|{{{{z{{{|}}}~{{{zz{zzzzz{|{|z{{z{zzz{zzyz{{{{|{{y|{zyzzzz{|{|{{|z|zz{zz{{{|{{{{{{z{zzyzzz{{z{|z{{{{y{{zzz{zzz|{{{yz{z{{|{z{zz{z{zz{{zzzz{zz{zz{{zy{yzyzy{{{zz{{{{zz{zzzz{z{z{{z{zzz{zzyzz{{zzz{zzzzzyyzyz{{{yz{{zz{zz{zzz{{zz{{|zz{zzzzz{{{{z{{{zz{z{y{z{|{{z{{{|y{zyzzz{{z{{|||{zzz{z{z{|{||{zz{{zzzyz{{|{|{||{zzzz{zz{{|{{|{|{{y{{{zzz{{{{z|{{{{|{z{zz{{||||||z{{zz|{{{|{|{{{|{z{{{zzz{|||{{|||{{{{{{z{|{{{|||{zz{z{{{{|{|{||||{{|{{{z{}||||||{z{{{{z|}z||{{{|{{{{zz{|{|||{|||{{zz|{{|||||{{|}zzz{zz{{{{{|{{|{|z{zz{{{{|{|{{|{zz{{z{{{||}}}z{{zz{z{zzy{{|{{|{{z|zzzyzy{{{{{{z{{zz{{zzz{{{zz{|{{yz{{yzz{z{{z{||zzzz{zzy{{{{yz{{zz{zz{zz{{z{{{{{zz|zzzzz{{{zz{{{z{zzyz{z{{{{z{z{{zzzzyzz{{{zz{{{z{{zyzzz{z{z{z|zzzzyyzzyzz{{z{{|zzyzyyzz{zzzz{|zzyyz{yzyz{{{{|{{{zyzyzzy{{{{{{{{zz{yzzyz{z{z{{z{{{zz{zyz{{zz{z{{zz{zzz{zz{{z{{{{{z{z{y{z{|{{||{{zzz{{zyz{|{zz{{z{zy{{{zz{{z{{{z{{{zz{{y{{{||{{|zz{{{{{zz||z{|}{{{z{{zzz|{||{{{||{{{z{{{{{||{||||{|{z|{{{{{|{{|{}|{{{z{{{{|{{|{||{{{z{{{z|||{{|{{{{zz{{z|{{|{{{}|{{{z|{zz|{{{|{{{z{zy{zz{z|{{{{|{{|{|z{zzz|||{{|{{z{z{{{|{|}|}|{zzzzzzzzzz{{z|z{z|{zyzzzyz{{{{|{|z{zzzzzyzz{{{{{{{zz{{zz|z{||zzz{{z{zzz{y{{{zz{{{z{zzzzzy{|zz{{{z{yzzzz{zz{zz{{z{z{z{zzy{zz{z{|{{zz{zz{{zzz{zz{{yzzzyzzy{z{z{{{{zyzzzzzzyz{{zzz|zzyz{zyzzxzzzzz{|zzyyzzzzz{zz{{{{zz{zzz{zzz|zzz{yz{z{{{zz{z{{z{{{{yzzzzz{{z{z{{z|{{z{{z{z||{{{{{z{{zzz{|z{||{{{|{{{zz{{zz|{z{{z{|{z{z{zz{{|{{{{||z{{y{z{{{{||{|{|zz{zyz|{|{{|||{}{{{{{zzz{{||{{{||zz{{{{{||{{{|{{{{|{{{{{{{{{|{{|{{{zz|{{{|{||||}|{{{{|{{{{|{{|{|{{{z{|z|{{{||{{|{{zz|{{z{|{|{{{{zz{zz{z{z{{{{{{{{{{{z{{{z|z{{{|{{z{{{yz{||{||{{zz{zzyz{yz{{{{{{{z{yzzz{zzzz{{|{|z{zzz{zz{z{z{{z|z{z{zz{zz{{{zz{zzzyzzz{zz{{zz{{|zzzyz{yzz{z{{z{{{yzy{zy{{{{{zz{{|zzyyzzzzzzzzz{z{zyzzyy{{{z{y{{zzzzzxzzzz{{z{z|z{{{yyz{yzz{{|{{{{zzzzyzzyz{zy{yzzyyz{zyzzzz{zz{{z{z{zzzz{z{zz{z|z{zyzzzyz{{z{z{|{y{zzxzz{z{zz{{{z{zzzzz{|z||z{{{yzzz{{zz{z|z{{{{|{zyz{zzz{{{zz|{{{{zzzzz{{|{{{{{{zzz{z{{||||{{||zy{{{{z{z|{{{|||{y|{yz{y{{{|||{{|zzzzzz{{||{|{||{{z|z{{{{{{{{||{zzz{z{z{z|{|{{|}{z{{{zz{{|{{||{{|zz{zzz{{{{z{||||zz{z{{{|{{|z{{{{z{{zz{zzz{zz{|{{z{zzz{zz||z{{{z{{z{{zzy{||||zz||{yyzzzzz{{{yz|{{zzzzzzz{{{{{{|{{zzzyyyzz{{z{z{{zz{zzzzzzz{{{{{{zz{zzzzyz{|{z{z{{{{zz{zzz{z{{{{{zyyz{z{y{{zzz{zzzzzzzzz{zy{{yz{{{z{zzzzyzzz{zz{{zyzzzzzzzzyy{zz{zzzzzzzyzz{{{z{{zyyzyy{z{zzzz{zzzyzzzyzz{z{{z{z{{zzyyzzz{zzzy{{|zzyy{yzz{{{z||{{z{zzyyzz{{{z{{{|{z{zzz{z|z{z{{{{zzzzzyzz{zz{{z{zzz{zzzzz{{|{{z{{{yzz{z{z{z{|{z|{|zz{z{zz{{||z{|zyzzz{z{z|z{{{|{}z{z|z{zz{{|{|{|{|{z{{{{{z{|{{|}{z{z{z{{|{{|{|{||{{{{{{{z{}{|{{{|{z{{z{{z{{{{{{{|zz{{|{z{z{{{{{|z{{{{{{{z|{{{{|{|zzz{{z{{{{{{{{|{{zzzzz{z{}{|||{z{zzzz|{z{{|}|{{z{z{zzzzz{|{z{{z|z{zzzzzzzz{zz{|{z{{y{{zy{{z{{{{{{zz{{yzzz{{{{{|zz{{zzzzzz|{zz{z{{zzzzz{z{zzzzz{z{zzzzzzy{{{{z|{zzyzzyzz{{zz{{zz{z{zy{z{z{{z{zzzyzzzzyzzz{z{{{z{{z{zzyyyyz{z{{z{z{zyyzz{yzz{z{zz{zyzyzyyzz{{{|{z{{z{zz{zzz{z{{{|{zzzzzz{{{{{{z{|{zz{z{zzz{{{{{{|{zzzzzz{zz{{|{{{{{z{{{{z{{|{{z|{{{z{zzz{z{{|{{|{{zzzzz{z{{{{{{z{{{zz{zzz{||{}{{{{{z{z{{|{{|{zz{|{|{{{zz{{||{{|||{{{zz{z{z{||{{{||z{{z{{|{{z{{|{{}{z{{{{{{||{||{}|{{{|{{z|||||{|{{zzz{{{z{{|{{|{{||{{{z{z{{{}|{|{{{{{zzz{{{|{|{|||{{{zzzyz{|{|{{|{{z{{z{zz{|||{{{zzzzzyz{z{z{z{z{{zzzzz{zz{{{{{{|{{z{yz{{z{{{zzz|{z{{{z{z{|z{z{{{{{|zzzzz{zz{{{{z|zz{zz{zy{{zzzz{{{y{zzz{{{{{z{|{zzyzzz{zy{z|{{{z{zzzzz{zzz{z{{{{zzzzzzzyz{z{z{{|{zzzzz{zyz{{{{{{{z{{z{yzyyz{{z|{{{zzyzy{zz{z|z{{{zzzzz{zz{z{{{z{{{zzz{yz{{zzz{{||zz{z{y{{{z{{z{|{{|z{zz{{{{|{|{{{z{zzz{zzz{{{{|{|{z{y{zzz{{{|z|{{{{zzz{zz{{{{{|{{{{zzz{{{{{{{|{z{yz{{{|{{|{|{{||||{{{{z{{{{||{{{{{{y{{{{z{}|{{{||z{{{{{{{{{|||{|{|z{z{z{z||||{|||{{{{{{{{{|||||{{{z{{{z{|{|{{{|||{z{{y|z{|{{|||{|{zzz{{zzz{{{z|||}{z{{zzz{{{{{{{{{{{z{zzzz{{{||z{zzz|zz{zz|{zz{{{z{{zyz{z{zz{{{z{z{{zyy{z{zyz|{{{{zzy{zzz{zz{z{{{z{zzyzzy{zz{{{{{zzz{zzzzzzz{{{{{{zzzyyyz{{{{{{{z{zzyyzzzzzzzzy{{zyzz{yyyz{z{z{z{yyzyzzyz{z{||z{{zzzzzzzzzzzzzzzzz{zzy{zzzzzzz{{|zzzyzyzyyzy{{{{{zyzz|zzyz{z{{|{{z{zzyzzzz{{z{zz|zz{zzzzy{{z{y{{{zz{xz{yzz{{z|{{{{z{z{z{zz|z{{{{zzz{zzyyzz{|z{{|{{{z{{{zz{|{{y}{|z{z{{z{zz{{{{{{|z{zz{{{{||{{|{{|{{{{{zz{{{||{{{{{zz{{{{{||{{|{||{z{zz{z{{{|z{{|{{{{{z{{z|}|{{{||||{{z{{{||{{|{|{{zz{|zz{{{z{||||zz{{{{z{z{{|z{|}{{zzzzzzz{{{}{|{z|{zzzzzz{{{{{|{zz{zzz{|{{{|{{||{z{{{{{z{|{{{z||{{{zz{{z|{{{{|{{{{{{y{{{|{|z{|}{{{zz{z{{{|{|{{|{z{{zz{{z{{}{|{|{{{{zz{zz{|{{{||{{zz{{{zy{{{{{z{{z{z{{z{{|{z{{|z{zz{{{z{z{{zz{{||z{z{zzzzz{|z|{|{{zzzyzz{{z|{z{{|zz{z{zzzz{|{{|{{yz{z|zzzzzzz{|{{{z{yz|{z|{{{{{|z{{z{zz|{{{|{{{}|z{{z{{{z{||z{|{|{{z{{z{z|{{{|||||{{|{zz{{|{{|{{{zz|{{z{z|{z}{|}{|zz{{z{z|{|{{||||{{{{z{{||{{||||z{{||||z||}|{|||||{{z{{{{{|||}|{{{{{{{y{||{{||}||{{{z||||}|||}}~}|{{{|{z{}|||}}||{{{z{|{||||{|{||{|{{{{{{|||}||}|{{|{{{{|||||}}{z{{{||z{{||~|||z||||z|z{|{||{{|||{{{||{{{{|{{||||{{z{{z{z{|z{|{{{{{{{z{y{{{{{{{|{zzzz{{{{{|{{||{{{{{z|zz{{||z{|{||{zzz{z{{{|{|{||z{zzz{{|||{{|{{{{z{zz{z{{{{{z{{|{{zzzzz{{zz||{{{zz{{{{z{{{|{{|{{zzzzyzzz{{|{{{{{{{{yzzz{{z{{{|z{zz{zzzzz{{z||{{zzz{z{z{zy{{{{z{{z{z{zz{|z{{{|||{{{z{z{{z{{||{z{{zz{{{{{{{||{|{|{{|{||{{{z|{{|||{{{{{z{{{|}|||{||{{zz{{z{|{{{||{{z{{{|{z{|{{{||z{{{{{z{{{|}||||}{{{{{|{{|}||{|{|{{|{{z{{||{}{}|||{{{|{{{||{|||||{||z|{z{{|{{|}|}|{|{||{{|}}}||}}|{z{{{{{{||||||}{{{{{{{z{{{|||{||{{|z{{{}|{|{{{|{|{{{{{|||||{||{|{{{{{{{{{{{{{|{{{|{{z{{|{|{|{{|{z{{|z{{|{|{{||}{{zz{zzz{|{||{|{{z{{zz{z{|}|{{|{{{{{{|z{{z|{{{{|z{{{{{z{{{|{{{{|{z{zz||{||zzz||{{{z{{{{z|{{{{|||{z{zz{z{{{{{z{{{{{{{{z{{z{{{{{|{{{{zzzzz{||{{|{{{{z{{zzz{{z{|{{z{|zzzy{{yzz{{|}{{z{{zz{z{{{{{{{{{z{{{{zz{z|{|||{{|{{|z{{|||{||{{{{|zz{|z{|{|||||{zzz{{{{{{||{|}|{{{|zz{{||{|{|{}{{{{{{{z|}||{}{|{{{{z{{{||||||||{{{|{{{{||}}}}||{{{{{{|{|||||{}|{{{{{{{z{}||{{}|{{z{|{{{|}}{}||}{|{{{|}|{{||}|}|{|{{{||{||||||}||{||{{|{|}|||}}||{{|{z{{{}|{|}|||{{{{{{|{{{{||}|{||{|{{{z{|{|||}|{{{{|z{|{{|{||||{|z||{{{|{}{{|{{{z{yy{{||z{{{||{{{zz{zz{{{||z||{{{zz{zz{{{{||||{{{{{{z{{{{||{||{z{z{{|z{{||{|z{{z{{{{{z{|{{z||{|z{{{{{z{{{{{z{{zz{{zzz{{{{{{{{{{yz{zzz{z{{{||{{{{{{{{z{z{{{||{|{{{{{y{{z|{{z|{|{{{{{{zzz|{{z{{{{z{z|zzz{{z{{{{z{zz{|{{zz{z|{|{{{zz{|{{|||||{{{|{{z{{z{{zz{{|{|{{z|{|z{|{{{{{|{||{|z|z{||{}{{|z|{{{{z{{{{{|||||{{{{{{{{|{|{||{{||{y{{{z{||||{{}|{{{{|z{|{|||{||}{{{{{|{z}}|{}|{}|{{{{|z{||}||||}||{{||}|{}{}|}|}}{|{z{{|{|||}|||||||{||{}{{||||}|{{{||{{||||||{}|{z{|{{z|{||||}|{{{|{{{z|{||{|||{|{{z{{{{{|||{|||{|{|{|{||{||{{{{zz{zz{z|z|{{zz|{{z{zzzz{{{{||{{{{z{{{z{|z{{{||z|{{{{zz{{||{{|{|{z{{z{{y{||||z{|{{{yz{z{{{{{{|{{{{z{{{zz{{{{z{|{{{zz{{{zz{|{{{||zz{zzz{zz{{{{{{|zz{zz{z{{{z{{{{|{{{{zz{zz{|{{z{z{{{{{z{zz|z{z|{||{z{{z{{{{{{z{|{zz{{{|z{{{{{{|{{{z{z{z{zz{|{z|{}|{{zzz{{{{{|{||z{z{{z{{{{{{|{||{{{z|{zzzz|{{{{{{{z{z{z{{|||{|z|||{{{{z|{|{{||||{{{z{{|z||{||{{||{{{z{{{||||||{|}{{{{{{{{|||||||||{|||{|||}}||||||{|{{{{{{{|}|||||{{{{{{|||||}{}|{{|{{|||}{||||{}|{|{||||{||{}||||{{{|{{{|||||||}{||{z{{||{{||}}||{|{z{{{{|{||||{{z|zz{{{|}|}z{{{|{{z|z{z{z|{{{|||{{z{{{{{{|{{||{|{{z{{zz{||||}|||{{z{z{{{|||{{|{{{{z{{z{{{{|{||}{{{{{{{{{{|{{|||{z{z{{{z{{|{{||{zz|zyz{z|{||{{{|z{{zzy{z|{|{{{|{{zz{{|y{||{z|{{|{{{zz{{y{{z|{|{{{zz{z{zy{|{|{{||{z{zz|{{{|{{z||{{{z{{zzz{|{|{{|{yzzz|zzz||{|{{{|{z{{{y{{|}{{||{|{{{{{{{{{|||{{|||{{|zz{{{|||{|}||{{z{{{{{z|||{}{|{{{z{{{|}{{{}{|{|{z|z||{|||{}|{{}{{||{|}||}}|~}|{{|{{{||||||}|||{{{{{{{|}|||||}|||{z{|{{|{{||||{{{{{{|||{|||}}|{||{{{}{|}||||}|}z{{{{{|{{|{|}}}||{|{{{||{|||{|{{{{{{{{{||{{{||{|||{{z||{|{{|{|||{|{|{|{{||{||{{z{zzzz{{{{{{{{{{{{z{{z{z{|{{{||{{{z{{{{z{{{{{{||{zz{zzzz{z{{{{|{|{|zzzzyz{{{{{{|z{|{{{z{{{{{z{|{{{{zzz{{z{z{{{{{|z{{z{zzz{{{{{{{{{zzz{zz{{{{{{|{z{{{zzy{{{|z||{{{z{{zzzyz{{{|{{|{{{z{zz{z|z|{{{{|zzzzz{{z{{z{{{{z{z{{{{{{{z{{{{{{z{{{zzz{{|{{{{|{{|z{{{z{{|{{|{|{{|zz{{{|{{{|{||{{{z{{{z{|{|{{||{{zz{z{{{||{||||{{z{{{{{{|{{{{{{{zz{{z{{{{||||||{{{zz{|{{{|{{}||{{{{||{{|||||}|||{{z||{|}||{|||{{{{{{{{||{|{|}|}|z{|{}|{{}||{|{}{||{{{{{|}|||||{|z{z{|{|{{|}}|}}|z{{|{{{{||{{||}{{|zz|{{{{|{||}|{{z{|{z{{{||{|{||{{{{{{{{||||z{|{{z{z{{z{|{{{{||{{zzzz{{z{|{{z|{zzzzzz{{z||{z|{}{{{{{zz{z{|{{{||{{{{{{{zz{{{{{z{{{z{{{zyz{{|{{{{{y{z{z{{{{|{{{{{z{{zzzz{{{{{z|{|{zzz{zz{{{|{{{{{{z{{z{z{z{{{||{|{zzzyzzzz{{{{{{|{{zyzz{{z{{{{{z|{zyzz{zz{|{{{{||zzzz{{zyz|z|{||{{{{z{zzz{||{{z{{{z|zz{{z{{{{{|{|z{z{{{{{{||{||{{{z{{{{z{{{z|{{{z{{|{z{zy{{|zz|||{z|{{{z{|{{{{|{{{{{zzz{{{{||{||{{{{{{{z{|{{|||||{{{{{{|{}{|||||{||{{|{{{{{|{}|||z|{|z{{||{|||||}|{{{z{{{|||{||||{|{{{{{{{{{|||{{|{{{{{z{{|||||}|z|{{{{{|{|{{|||||{{{{z{{{||||||{{|z{{z{{{{|{{|{{{z{{zz{z{{|}|{z{{zz{zzzzz{|{{{|{{|zzzz{z{{z|{{|{|{z{zz{{|{{{{|{{{z{z{y{z{z{{{{{{zz|zzzy{||{{{{{|{z{zyzzzz|{{{{{{zz{zzzzz{{{{z{{{zzzzyyzzz{{|z{{|yzzz{y{zz{{{{zzz{yz{zzzz{{{{{{{z{z{{z{zyzz{{z{{{zzzzzzzyzz{{z{{zzzzzyz{zz{z{z{{|zy{zzzzz{{|{{{{{{{{z{z{z{{{{||{{{{{zzz{{{{{z{||}z{yzzzz{{||{{{{|{{z{{zzzz{{{{{{{zz{{{{z{{{{|{{{{|{{{|z{{{}|z{z{{|{{{{z{|{|{{||||{{{{{z|{|z|{||||{{|{zz{{|{|{|{||{z{{|zz{|{|{|{||{{z{{|{{z|{|{}|}|{|{z{{{{}{||{||{{{|{{{{{{{|||{||{{{{{z{{{|{{{||||{{|{{{|{||{z{|{{{z{{{}||||{||{|z{zyz{{{|{|{{|z|z{zz{z{||||{{{{{zzz{zz{{}{{{{{{{z{{{zzzz|z{{{{|{{z{{z{{{{{{{{{{{{{|{zz{{{{{{{|{{{z{zz{z{{{|{|{{|zz{{{{zz{|{{{{|{z{zz{zz|{zz{|{z{zzzyzz{{{{{{zz|z{zz{{zzz{{z{{|{zzzzz{y{{{|{{{{|{z{zzzzz{{{{z{{{zzz{zzzz{{z{zz|z{{{z{{{yz{zz{{{{zzzz{{zy{{{|{{|||{{{z{{y||{z{{|}|z|z{{{{z{{{|{||{|{{z{zz{||{{|||{|{|{{{{{{||||{z|zzz|z{zz|{||||{|{{{{{{{{}|{{||{z{{{{{{{{|||||{{{|{|{{{{{|{||{}|z{|{{{{{|||||||||z{{|{{{}|||||||{{{z{{|{{||{{||||{|{{{{z{{|}{|}||||{z{z|}|||||{||{{|}|{{||||{{|||{{{{|z|{{||||{}{zz{{|z{{||{{{}|{|z|z{{{{||{|||||{{{{{|z{{|||{{|{{z{{zyzy{|{{{{{{{{{|{z{z{||{||{|{{z{zyzz|{{{{|{{z{{{z{z{{{{z{{|{z{zyzyz{{|{{{|{{z|zz{zzz{z{{||{{zz{z{yzz{|z||{z{z{zzzzz{zz{{{z{zzz{{zz{zz{{|z{{{{zz{{y{{{{|{{z|{z{{zzzzy|{z{{z{{{{z{x{zz{{{zz{{{{{z{zz{z|{{{|{|z{z{{z{z{{{{{{{|{z{yz{{z{|{{{{{|{{{zzz{z{{zz{|{|z{{{{{z{{|{{{|{|{|zz{z{{||||{|{{{{{zz{{{|{{}{{|{{{{|{{{{||{{||{{{{{{{{z{{||}||}{{{zz{{{{{|||{||||z{|{{{{||{|}{||||{{{{z{|{{{}|}|{{{zz|{|{{|}{||||{{{{|{{{||||}{{{{|{{{{{|{{}{||{{|{{z{{|{}|{||{|{||{||{|{|}||||||{z{{|{z{|||{||z{{{{{{{y||{|{{||{{z{z{{{{{}{|{{z{z{{z{zz{{|{|{|{{|zzz{zz{{{{{{{|{zyz{{{{{z{{|{|{{y{z{{zzz{||||{|{{|{z{{{{{||z{|{|zzz{zzzzzz{{|{z{zzz{{{{z{{{{|{{{zz{z{{|{{{z{{|{{{zzzyz{{{{|{{{{zz{zz|{{|{{{zz|{zzz{zzzzzz|{{|}|zz{zzz{z{{{z{{{{zzzzzyzzz{{z||{|z{{{z{{{{{|{z{||{{{zz{zz{{|zz{||{{z{zzzz{z|{{|{{z{||z{{{|{{||{|{{z{z|{zz{||{|||{|{{z{{{{z{|||}||{|{z{|{{z|||{|{z|{|{{|z|||}|||||{{{{z{|{|{|}||{||||{{{{{{{{{|||||z|{}{{||||{||||{{|z{|{{z|||||{}|{|{{{|{{}{{|~}|{|{|{|{{|||}||{{{{||{{|{|}||||}|{{|||{||||{||||||{{zz{{{||||{|||{|{{z|{{{||{|{||{||{{{{{|{{|||{|{z{{z{z{{{|{{{||{{{{z{z{|{|{|||{|{z{{{{y{{{{{{||{zz{zz{{zz||{|{|{|{{zzzz|{|{{|{||{{{{z{z{|||{|{{|z|z{{z{|{|{||{{z{{zzzzy{{{{{|{{{{{{z{z{zzz{z{}{{z{{yzzz{{{{{{|{{zzzz{zzz{{{{{|{{z{|z{zzz{{|z{{{{|{z{zzzz{z|{{|{{zz{{{zy{zz||{{||zz{{{{{{{{{{{||{{{{{{{{|{{|{|||{{{{{{{|{||{{{{|{{{z|{{|{{||{|{|{z{{|z{||||{z{||{{z{|{z{}}||||{}{{{|z|{|{{}||}{{{|{{|{||}||{{}|||{zz{{{{||||{}}{|z{{{{{{||{|}}||{{|{{{|}||||}}}||{|{{|{|||{|}||||{||{|{||{}}||||||{|{|{{|||{||}}|{{{||{{||||||||{{|{{{{{|{||{}}}|{{{{{{{|||{{||}{|{{{{{z||||||{{z{{{{y{z{|{{{{{{{{z{yzz{{{|{{|{}{z{{zz|z|z{z{{{|{{|zzzzz||{|{{|{{{{zzzzz|{{{{{{|{{{zzz{z{z|{{{|{zzz|z{zz{{{zz||zzzz{zzz{{z{{z|{{{zzzzyzz{{{z|{|{|z{yz{{z{{{{{{{|{z{{x{{{y{{|z|{|{{zz{z{zz{{z{z{{{z{{{zzzz{{z{|{{{{zz{zzz{{{|{{|{{{z{{z{{|{|{{{{|zyz{{{|z{{{|{|{{{zz{z|{{{}|{{|{{{z{{zz{{{{|||{{|{{|z{y|{{{||{||{|zz{|{{{z}{|{||zzz||z{{{{|||||||{{{z|z{||}|||||||zz||z{{||{|}{{|}{{z{z{{|}|||||}{|{{||{{{}|||||||{{|{|z{z||||}||||{|{{z{|{|||{|||zzz{{z{|||{|}||||{{||{{{|z|{{{{{{{{{{{zz|{}|{||{z|{{{|{{|{|{{{|{z|{{{y{{||||z{{{{yzzyz{z|{{|{{{{z|{{zzz{z{||{||{z{yzz{{{|{||{||{z{zzyz{{{{|{{|{{{{z{zzz{{{{{{{|{{zz{zzz{{{{z{{{{zz{zz{z{{|{{z{{{z{{{{z{{{{{{{{{z{{yzz{zz{z{z{{{{{{zzzz{{{{{{z{{z|z{z{zz{{{{{{{|{z{z{zzy{{{zz{{{{{zzzz{zz{z{{z|z{{zz{zyzz{}{zz||{z|z|zz{{z|z{{{|{z{{z{{z|{||z{{||{{{{zz{||{{{{{|{{{{{z{{{||{{|||{{{{{zzz{{|{{{{{|zz{zz{z{{|z|{{||{{{z{z{{{|||||{{{{{{|{{||{{|{{}z{z{{zz{|{||{{}{|{{{|{|z{|}z{|{|z||{{{{{|||{||||}{{{{{{{{}||{}{||{{{{{z{}{||{||{|{{{{{z{{{{{{||}||{{|{{z|||||{}|{{{|z|{zz{{}}||{{{|{{zz{|{{{||||{{|zzz{{z}{|{|{{{{zzzz{y{{{|z{{|{zyzyzzz{|{zz{{|{zzyz{z{zz{|{{|{{{{z{zzz{z{zzz{{{z{yzzz{{z{{z{{|{z{y{{zzz{{z{{{z{z{z{yyzz{{{{{{zzzzzy{zyzz{{z{z|{zzyzz{y{{zz{z|z{zz{zzzzz{{{{{{{{z{zzyzz{z{{z|{z{z{zzyzyz{{zz{{{z{z{{zzzz{{{z|z{{zzz{zzy|y{z{{|{{zzzz{z{|{z|{{{||zzz{{zz{{z{{|{|{zz{yzz{zz{{{{|{{zzz{z{{|||{|{{{{{{zzzz{{z{|{{|{|{{{zzz{{z{|z{|{{{{{{{z{|{|{||||{{z{|{{{|{{|{|{}zzz||{|{||{{{}|||{{{{z{{||{||{|{{{{z{||{{{|{|||{|{z{|{{{{}{{{||{}{{{{||{{{||{||||z{|{{{{{|z|||{z{{{|{|{{||{{||||{{{z{{{z{z{|{{||{{{{z||z{z|{{{{{{z{zyz{z{}|{{|||{zzzzzyz{{{z{{{{zz{z{zzz{{{|||z{{z{zz{{z{{{{z||{zy{z{{{zz{z|{{{{{z{yzzz{zz{{z{{|z{zzzzzz{zzz|{||zz{{z{yzzz|zz{{zz{zzzzzzzz{{{{z{yyzzzyz{{{z|z|{{zzzyyzz{{z{z{{{zz{zzzzzz{{{{z||zzzz{zz{yz{zzz|{{{{zy{{{{z{{{{{{{yzzz{zzz{z|{{|{{{zzz{yzzz|zzz{||{{z|{zzz{{{{{{{|z{{zz{y{{{z{{{|z{{{|{zyzz|{|||z{z{|{z{yzz{{{{{{{{{z{zz{zz{{||||||{zy{{{z{|{{|{{|zz{{{{zz{{{|{{||z{{{{{{z{||||||{{{{{|z{{|{{{||}}{z{zzz|{{|{|||||}{|{zz|{|}{||{||{z{z{{{||{||{{{{|{{{{{{{|||{|}|}{{{|{z{{{|{|||z||{{{{{{{{z{{|||{{z{{{{{zz|{{{|||{{|{|yz{{||{{{{{{z{{zzzzz{{{|{{{{zz{zyzy{{{{|{{||{{z{zzz{{{{{{|{{z{{zz{z||{|{z||{z{zyz{z{{{z{|{z{z{zz{yz{{{{z|{{{z|z{z{z|{z{{|{{{zzzzzz{zzz{{{{{zyy{zzz{z|{z{{|{zz{zzzz{|{|{z{{{{z{{z{zz{zz{{z{{zzyz{z{{z{z{{|{{z|zzzzz{{|{{{{{|zzz{{zzz{zz{z{||{z{z{{{||zzz|{{|{{{zzz{{{{{{{{{|{{{{{z{{{{{{|||{{{{z{{{{z|||{|{{|{{{{zzz{||{{|{{{{z{|{{{|{{{{z|{{{{{{{{{{||}{|{|z{{z{z{{|{||||||{z{|z|{z{{{{{||||{z{{zz|||{{|}|{|{{{{|{|{}||{{|||{|{{{{{z|{|}|||{{{||{|{|}|}|{{{|z{{|{z|||{||||{|{|{|{{||||}|{|{{{{zzzz{{|{{{{||z{z{z{{{{||{{{|{{z{z{z{{z|}||{zz{{z{{{z{z{{z||{{{{{{zz{{{{{z|{|{{{|zzzz{{{{{{|z|{{{{zzzzzz{{z{|{{z|zzzzzz{{|{{|{z{|zz{{z{{|z{{{z{{z{{zzz{{{{z{{z{z{z{{{z{{{{z{{|zzyz{zzzz{{zz{{{{yz{zzzz{z{z{{||z{{zz{{zy{{{z{|{zzyzzzzzzz{{z{{|{zzzy{zzz|{{{||{z{{{{{zzz{{{z{|{{{z{{zzzz{|{{{|||y{{{zzz{|{{{|z|{z{{{{{z{{|{|{z{{{{z{zz{{{z{{{||z{{{{{zz|{{||{{}zzz{z{z{{|}{{{{{|{{{|{{z{{||{|||{{{{{{|{}|{|||{{{|{{{{{z||{{|||{|z{{}{{{{|{|||||{z{z{{}{|{}|||||{{{|{{{z{|{{||||{{|{z{|||{||{{|{|{|{{|z{{}{|{|||{{{{|z{{|{||||z|zz{{{{zz|{|{|||{{{{{z{{{z|{||{|{{{{y{zzz{z{|{|{{{{z{zzzz{{z{{{{{{zzzzzyz{{{{{{||{z{z{z{z{{{|{{|{{z{zz{z{|z{|{{{{|{{zzzzy{z{{{{{{zzzzzz{{zz|z{{{z{zz{zz{z{{{zz{{z{zz{z{yz{|{{{{{|{zzz{yyzz{{{z{|{{{{zzzyzz|z{z{{{{zzzzzzz{z{{z{{{{{{zzzzz{{z{z{|{{zzzzzzzz{{{{|z{yzz{{{{z{z{{{z{|{{{{{{zzz{z{{{||{{{yz{|{{z{|{|{{{zz{z{zz{{|{{{|{{z{|{zz{z{||{{}{z{|{z{{z{|{|{|}{{zz{zz{{|{{{|{{{|z{{{{{z||||||||{zz|||z{||{|{||||{{{|{{z}||{|||{{z{{z{z{{}|||||||{{zz{|{z{|||||||z{|{{{{{|||{|{|{{|||{{|{|{|{|||{{{z{{|{{{|{|{|||{{{|{{{||{|{|{|{{{z|{{{{{z{||{{{{{z{z{z{{{||{|{{zzz{zzz{{{{{|{{{z{y{zzzz{{{{|{{z{{z{{zz{z|||||{{{z{z{z{|{{||{|{{|z{zz{z|{|z{{{{{{zzzzzzzz{{|{{{z{{{z|{z{|{{{|{|z{{{zzyy{z{z{z{{{z{zz{{{{{z||{{z{zzzyz{z{{{{{{{{{zz{zzz{{z{{{z|zzz{{zzzz{|{{z{{{{zz{{zzz{zzz|{{|{z{zzzzzz{z{z{|{{z{zz{z{z||{{||{{{y{{z{yz|z{{z{{{z{|{{|{{{|{{{||{{{{zzz{{|{|{{|{z{zz{{{z{{|{{|||{{{{z{z{{{{|||{{{z{|zzz{{{{z{||{{{{{{{|{|}{||||{|{{{||{{{{||{|||{{z{{z{{{}|{|{|}|{|{{{{z{{|{||}||{|z{{z{|}||||{|}|{|{{}z{||{||}|{z{{{{{||{z{|||}|{{||{{{{|{||||{{{|{|{{{||||{|||||{{z{{{{{{|{{}{{|{|{|{{{}|||{|{{z{||z{{|}}{|{{|z{y{{{z{{|{{{{||{|{zz{y{{{{{|z|z{{y{zz{{z||{{|||{{zzy{{{{{|{z{{{{{zzzzzz{{|zz{{{{{yzz{{{z{z{{{||{zzzzz{zz{{yz{z{{zzyz{zzz{z{{{{{zzyzzzzy{|{{|{{{|zz{zyz{|{{{{{{{zz{yzzz{z{{{{{{|{z{z{y{z{{{{{{{{zzz{zyzyz{zz{|{{z{{z{{z{{{{z{{{|{zz{{{{{zz{{{{{|{zzz|{{{zz{{||{|{{{{{{zy{{|{{{|{{z{z{{{z{||{{{z{{{{z{{{z|||{{{|{{zz{{{{{z|{{{||{|z{{{{zz{{||||{|{{{{{z{{|{{|||||{{z{|{z{{||{||{||{{||{{{{|||||}|z|{{{{||z{{|}{|||{{{{{||z||{{||||{|{{{{z{{{||}||||z|{z{{|{{|{||||{z{{{{|||{||{}}{{z{{z{{{{{|{|||{{{{{z{z{{|{{{|zz|{{{{z{|{}{{{||zzzz{{{{{{{{{{{{{{{zzz{z{z|{|||{||{{{{zz{|{{|{|{{zz{{zz{{}|{{z{|z{zzzzzy{|||{{{{{zzz{zzzz{{{{|{zzy{{z{zz{{|z{{|{{zz{yz{{zz{{|z{|{zz{zzzzz{{{{|{{z{z{yzy{zz{|{{|{{z{{z{zz{{{{{{{{{{zy{z{zz{{{{z{{{zz{z{yz{|{{{|{{{zz{|z{{{{{|{{|{{|z{|zz|{{{|{{{|z{z{zzzz{{{z{{{|z{|zzzzz{|{{|{{{{z{zzz{{z|}||{{|z{z{z{{||||{}||{zz{{{{{{{|||{||{{{zz{{{{|{{|{{|||||z{{{{{{{||||}{{{{{{{{||{{|||{{z{|z{{|{|}{|||||{{{{{||z{{||||}||{z{||{{}|||{|{|{}|{{|{||||{|{|}{{{z{{z{||{{||||{{{{{||||||{|||{|{z{zz{{{{|z}}{||z{{|z{||{|{|{{z{|{zzz{z{|||||{{{zz|{{zz{|{{z{{{{z{{{z{{{|||{||{{zzzzzz|{{|{{|{{z{{z{z{{{||{{{{{{{{z{zz{{{{{{||yzyy{{z{{|{|{{{{{z{{|zzz{|{|zz{|{z{{z{y{{z{|{z{{zz{zz|{z|{{z{{{{zz{zzz{zz{{{{|z|zzz{yz{{{{{{{z|{{{{y{zyz{|{z{z{z{zyzzzzy{|{|{{{{zzz{zz{{|{z{|{|{{z{zzyz{||z{{z{|{z|{{{z{{{|{{|||{z{{zy{{{||z||||{{{{{z{{z|||{|z|{{|zzzzz{{|{{|||{zz{{{{z|{|z|{{||{{{{{z|{{|}|}||{{{{||{{||{||}||{{|{{{{{{||||}|{|{z{|{z{|}|||}||{{{|{{{{{||{|}||}{z{{{{z|}{||||||{|{{{{{|||||||{{{|{{{{||||||}||||{||||{||||||||{|zz|{{||{||{|}||{z{{|{{{|||{{|||{{{{{z{|{|{|{{|{{zz{z{{{{{{{z|{zz{zzz{z|{||{{|{z{{zzz{z|{{{{{||{{|zzzzz{||{{{{{{{z{zzyz||{{{{|{zz{zz{{{{z{{z{|{{zzzz{zzzzz|{|{{z{{zz{{zz{{{z{{z{zzzzzyz{{{{z{|{{zz{yzzzzz{{{|{{zz{z|yzyz{|{{{{zzz{z{y{{|z{{{|{{z{zzz{z{zz{{{{{|zz{{{{z{{z||{|{||{{z{y{{{|{|zz{{zz{z{z{{z{{{{|||z{{{zz|{||{{z||{}z{zy{{{{|||{|{z{zz{zz{z{{{{|{|{{zz|z{{{||{{|{|{{|||{|{{|{||}|||z{||{{||||{||}}|{{{|{{{{{||||{||{z{{|z{|{||||~|||{|{{z||||{|||{}|{{zz|{{{||{}}|||z{|{{{|{||}{}||||{{zzz{{{||}{|||z{{{{{|{|{|||||{z{{{{|z{||||}|{|{{{{z{{z{z||{|{{{{|{{z{{||{{{z{{{{zzzzz{z|{{{||{zz{zzzz{{|{{|{{{z{zz{zz|{{{{{|{{{z{zyzzzz||{{{|{zzzy{{z|{{|{|{|{{{zzzzy||{{{{{{zzzzzz{z{z{zz{||zz{zzz{{zzz{{{{{zzzyzyzzz{{zz{{zzyzzy{{{{z{z{{{{z{zzzzz{{zz{{|{{{zz{zy{zz{{zz{|{zzzzzyzzy|z{{z|zz{zz{zzz{{{{{{|{|{z{z{{zz{{{|{|}zz|{zz{{{|{|{{{{|{z{{{{{z|{{{{{|{z{{{z{z{{{{{|z|{{{z|{zz{|}{{|{{{{|{{{{{{z{{{{|{{{|z{|{{||{||{||z{|{|{{{{|||||||{z{{z|{{{||||{|||z{z||{||||||||}{z|{{{{z{{{{{||{{{{{{{{|{|{|{}}||{{{{{|{|{||{{|{|{zz{{{{{|{{}||{|{zz{{{|||{|{||{{|{{z|z{|z{|{|{|||{z{{{z|||{{{}|{{{{{z{{{{{{|{z|{z{zzz{zzz{{{{{{{{zyyzz{{z{|{{{|{{zzz{zz{{{{{{{{{{{{{zzz{{{{{|z{{z{zz{{zz|z|zz{{z{z{{{zzz{{{{z{|{{{zyzzz{z{{z{{z{yyzzzz|{zz|{{{{z{yzyzzyzz{{|{{{z{zzz{zz{z{{{{{{{zzzzzz{z{{{{{|z{{z{{zz{{{{{||{{{{yzzzzzyz{{{{{zz{z{z{{z{{z{{{{||zz{|zzz||{{|{{{{zzz{z{z{|{|{{{|z|y{zz{zz{{{{||{|{yz{z|z{|{{{{{{{{z{{{{z{|{|{{||{{z|{{{{|{|z{{|{z{z{{{{z{|{{||{|{{{{||{{||{||||||{{{{z{{|||}z|{{{{{{{{{{|{||||{{{{{{z|{|{|||||{||{z{z{z|z}{{|{{|{|{|{{{{{{{||{|{{{|zz{z{|{{|||}|{{z{{{{{||{|{|{||{z{{{{zz{|||{{|z|zz{zzzz{{|z{|{{{{{{z{z|{{|{z|{{{zzzyz{z{{{{{{{z{zz{{zzzyz{{{|{yz{zz{zz{{{{{{||{{{z{zyz{|{{{{{z{zz{{zzz{{{z{{z{{z{zyz{{z{{{z{|zzzyyz{zz{{{z{z{z{{zz{zz{{{z{z{z|zz{{zzzz{{z{{z{zzzzyyyzzzzz{z{{{{z{zzyzzzz{{{{{|zzyzzyyzzz{y{{{z{{y{{yzzz{{{{{{{{z{{|z{{z{{{{{{|{{{z{zzz{{|z|{{|z{zz{z{zz{{{{{{{{{{{z{z{{|{{{||{{z{z{z{{{||z}{{}z|{z{{zz{|{|{{}{{zz{{{z{{{z{{||{|zzz|{{zz{|||||{{{{z|||{||{|{|||{{z|{{z{|{|}|{|{|{{{zz{z}||{{||||{{{{{{{{{{||}{|{{{{zz{zz}|||{||{{{|{{{z|{|||}||{z{{{{z{{|{}{{}||{{{{{{{{|{{{{{{zzzz{{{{z{{{{|{||{{|zz|z{{{{{{|{|zzz{z{{{|||{yz{{zzzz{z{z{{{{{|{z{zzzzzz{z|z{|{|{{{zzy{z{{{{{{|{z{{zzy{z{{|{{{{{{z{z{zzzz{|{zz||{{{zz{zz||{{{{{{{zzz{z{z{{{{|{|{{z{z{zzzz{||{z||zz{{z{zzzzzzz||{zzzyz{z{{|{z||{z{|zzzzzyz|{z{{{|{{z|zz{zzz{{z{{|{z{yz{zzzz{z{|{{{y{{{zzzz|{{{{{{z{{{|y{z|{{|{|{{{{yzzz{{{|{|{{{{z{z{zz{z{z{{{|||{|{{zz{yz{{{{{{||z{{zz{{{{|}{{||{{{{{{z{|{}{||{{|zzz{{{{{{{||{|{{{|{{{|{{{||{{}{|z{|{z{{{||{{{{{|zz{{{{{{|||||||{{{{{||{|}{||||{||{|{|{z{|||{|{}{{|{{{zz|||{{|||{{{{|{z{{|{|{{|{{|{|z|z{{||{}{||{{zzzz{{||z{{|||{{{zz{{{{{{{|{{{{{{zzzzz{{{{{{{|zzzzzzzy{{|z{|{{zzyyz{z{{{{z{|{|{{{zzz|{{{{{z||z{z{zzzy{z{{{{{{|z{{zzzzzz{{|zz{{zz{z{zzz{{{z{{{z|z{zz{z{{|{{{z{{zz{zy{zz{z{zz{{{{zzz{zzzz{zz{|{zzzzzz{zz|z{{{{{zz{zzzzzzzz{{z{{{z{{zzzyzz{{z{{{z{z|zzz{{{z{z{{z|yzzzzz{{{|{{z{{{{z{{zz{z|{{{{||{|{{zzzz{{{{{{|{{|{{zz{z{{{{z{}|{{{{{{z{zz{{|{|{{{{{y{z{{{{|z{{||{{zz{{{z{|{{{|{|{{{{{{{{|{{{{|||{{{{{||{{{{||{|}|{{{zz{{||||||}{{{z{{{z{}|{z{|||{|z{z{|||{|{|{|||{{|{{{{|}{z|||}|{{{{{|{{|{||||||{z{{{{{z|{||{}|{||z{{{{{{{||||{zz{{z{zz{{{{z|{|||{{{{{{{{{}{{||zz{{{z{{{{|{{z{|z{{z{{{zy{{{{{{|{{z{y{zz{z|{{{||{zzz{yzz{{{||{{z{z{zzzz{{zz{{z{{z{zzz{zy|{{{z{{|zz|zzz{{z{{z{|{{|zzzzzzy{{{zz{z|zzzzyzzzzz||{{{z{|zzzzzzz{{zz{{{z{zzzzyy{{|{{|{{{z{zzzzzzz{{{{|{|zz{yzzz{{{z{{{{{{zzzz{zz{z|{|z{{zzz{{zz{{zzz{{{|zzzzy{{{{{z{{{|{z{z{zzzz{{{{|z|{{{{z{{zz{|z|{|{|{{{{z{{{{|z{|{{|{zz{{zz{|{{||{{|zz{{{z{||||{|||{{y{|{z|{||{||||zz{|{{|{||{|||||{{|{{zzz{||{{{|{|yz|z|{|{|}|||}|{|{{|||{z|{{}||{{{{{{{{|z||||}||||{{{{{|||}|{{||{z{{|{{{{||{{{||||{{{|z{||{|{|||{|{z{{zz|||{||}|{{y{{{{z{|{|{{{{{zzzzz{z{{||{{|{zzz{z{{z|{|{|z{|z{z{{yz{|{z{{{|{{{z{z{z{{z{{{{{{|{zz{{{{z{|{z|{|{z{zz{{zz{||{{{|{z{{{|zzz|{{z{{|z|{zzzzz{{|{zz{{{z{zz{zz{zz{{{|{{zzz{zzy{{|{z{{zzzzzyzz{{{{{{{|{z{|{zzzz{{{{{{|z{zzzzzzzz{{{{{{zzzzzzzzzz{{z{|z{{{{z{{z{{{}{{|{}{{z{z{zz||{{z|||{z{zzz{{|{{{|{{|y{z{y{{zz{{|{{{||{{{{z{zz{{{{|{z|{{z{z||||{{{{||{{{{{{{{|||{{|||{{{zzz{z|}|{||||{||zz{{{{{{|{|||{|z{{|{{{||}||}||{|{{{{z{|{|||||{{|{|{||||{||}{||z||{|{{{|{{|}}|{{||}{{{}{{{|{|{|{|{|{{|{|{||{|||{{{|||z{|||{|{|{{{z{y{{{{{|{|||{{z{{{{z{||||{|||{zzzz{{{{{{{||{{zyzzz{z{z{{{{{|zz{zzzzz{{{{{|||zz{zz{{z{{|{{{{|{{{{z{{y{{z{{z|{|z{zzzzz{{{{{|{|{{{z{z{z{{{{{{{{{{{{zzz{{{|{z{|{|z{zz{yz{z{|z{{|z{{|{z{zz{{{z{|{zyzzzzzzz{{{{{{{{{{zzzyyz{{{{|{|zy{{zy{zz{z{|z{{{z{{{zz{z|z|{zz{{{|{zz{{{|{{z{|{z{{z{zzz{{|{z{{|{z{zzzz{|{{|{|{|z{{z{{{z||{{|||||{{|z{{z{||{{|{{|||z{{{{{{{}{{|||zz||{z{{{|{||{{|{z{{{{{|{{|{|}|{{{{|zz{}{{|||{|{{{z{zzz{|{|{||{|{z{{z{{{}|{|{|{|{|z{z{{{|{|||{||{{{z||{||}||}|{{{{|{|{||}||{{||{|{{{{z{{|{z||{}{|z{||z{{||{|||{{z{z{{|z{}|{{||{{||{z{z{{{||{||{|{|zz{{z{|z{||{{{z{{{{zzz{{z|{|{{zzzyz{z{{{z||{{{{{z{zzz{{{{{z||{z{zz{{zz{|z{{{|{yz{z{{{|{{z|{||{{{zz{{zz{{{{|{{|z{{z{zz{|{{z|{zz{z{yyzz|zz{z{{|zzzzzzzz{|{{{{{zy{yzzzy{{{|{{{|{{zz{z{{z|{{{z{|{zzzzzyzzzzzz{{|{{z{zzyzz{{{{{{{zzz{{z{{z||{{|||{{{{{{{{z{{{z{{{|{{{{{{{{{{z{{{|}z{{{z{{z{{|{|{||{{{z{z{{{|}|{|}|{{{y{zz{|{|||{||{{{{|{{{{{{z|z|{{{{{{{{{|{|{||{|z{|{{|{z{|||{{|{{{{{{{{{|{|{{||{{z|{{|{z{|}{{|||z{|{z||||||||||{||{{{|{||}|||||||{{{{{{{|}}|{|{|{{{{{|{|{{||{}{|{{{{|z{{{{||z||{z{}zz{|z{|{{}||{}{zz{{z{|{{|{{||{{{|{z{{{{{{|||zz{zzzzzy{{{{|z{{z{{z{zzzz{|z{{|z{z{z{zz{{{{{{{||{z{{{{{{{|{{{z{{z{{{zz{{z{{{{||{z{|{{{{zz{zz{|{{zzzzz{{{z{{z|z{{{{zzz|zz{{{{{z||zzz{{z{z|z{zz{z{{{z{{zyzz{{z{|z{{zzyz{zyz{z{{z{{zzzzyyzzz{{z{z{{{zzz{zyzz{{{{{{|zz{z{z{z{{|{z{|{{{z{|z{zz||{{|{|zz{{z{{|{z{{{|{{{|{{z{{z{{{{{|{|z{{{zy{{||{|{|{||zz{{{{z{{{{|{|{|{{{z{z{||{{{||{{{{{{{z{||{||}||{{{{||{|||{|||||{{{{{{{zz||{|||||{{z{{{{||{{{}|{}|{{{|{{{||||||}|z{{{|{z{|{{|{}{{z{{{{|z{|{{{|||{{{|{|{|{{||{{|{{{{{{{{{|{{||{||{{{{zzzz{|{{{}{{z|{z{{zz{z{{|{{{{{{{{z{zz{{{{{z{{yzzzz{z{{{{{{{{zz{zyyzzz{zzz|{{zz{z{zzyzzz{{|{{{{zz{yz{zz{{{{{}{{zzzy{y{z{{{z||zz{zzz{zz{{zzz{{{{zzzzzy{{{|z{{z{z{yzzzz|{z{{zz{zyzzzz{yzz{{z{{{zzzyyzzz{z{z{z{z{z{zzzzyz{|z{||{zzzz{zzzz{zzz{zz{{zz{zyz{z{{z{{{{z{z{zzz{{{{z{{{{zzyzzz{{z{z{z{|{zzz{{z|{z{z|{|{z{{zzz{{{|z{{{||zz{{{z{z{||{{|{{z{{z{{{z{{{|{{|{{{{{{z{{{{{|||z|{{{z|{y{||{{{|{z{z{{{|{z{|{{|}{||{{{zz{z{||z|{|{{{z{{{{{|{{||||{|{{{|z{{y{|{||{}{{{{z{{|||{{{{}||{z{zz|{{{|{||{||{z{{|{{{||{|{|{{||y||{{||||{{||zz{z{zz{{|{{}{|{zz{{z{{{{||{||||z{{{zzz{z{{||{{{zzzz{z{{{z{{{{{{{{z{zzyz|{z{|{|{|{zz{{{y{{z{{||||{{{{z{{{z{{{z{{|{{{zzzz|z|{{{{||z{zyz{zz{{{y{||z{{z{{zz|zzz{{|{{zzzz{{{{{zzz|zzz|zzzzz{{{{{z{{|zzyyzz{{{{{{z{{{{zzz{zyzz||{{{{{zz{z|z{zzzz{{{{{z{zyz{{yz{{z||{{zz{zzzy{{{|{{z|{|{{zzz{{z|{{{{||zyz{zz{{{{|{|{|{|{{{z{{z{|||{||{{z{{{z{{{|z|||{|{{{z{|{{{|||{||{|{z{z{{z{{|{{}}||{{{{|{|{{||||||{z{z{zz{{|{|||||{z{z|z|{||{||||||{{{{|{|||||||||{{{{{{|}|||||||}|{z{{{{{|}|}|{||{z{{z{z{{||{{|||{z|{{{{||||{|||{||{{{{{z|{||{||}{{{{zz|{{}|{{{{{{||z|{{z{||{{{|{{{{zz{{||{||{{z{{zzzzzzzz|zzz{|{z{zyzyzz{|{{{z{|{z{zyz{y{z{{{|{z{zz{{z{z{{{||{zzz{{{{zz{z{z{z{{|z{{{zzzyzz{{||{{{zz{z{zzzy|zz{{|z{z{z{zzy{{{z{z{zzzzzzzzzzzz{z{{zzz{y{zz{{{zz||{{zz{zzzz{{{{zz|zy{zz{zzzz{zz{{{{zzzyz{yzz{zz|{z{zz{{|zzzzzz|zz{|{zzzzzzz{{{||{{|z{{zzz{zz{{{z{|{{zzz{{{z{{|{{{|{zz|{{zz{{|{|{|{zz{{{{{zy|{{zz||{{{{{z{{{|{{{{{{{|{{{|{{z{{|||{{|{{{{zz|{||{{||{}{z{|{{{{|{{}|{{{|{{{{{|{|{|{{|{{||{{|{{{|{{}|}{|{{{zz{{|{}{|{{{|{z{|zz{{{|{{|{|{{z|{z{{{{}z{{|||z|z{{|z|||||}|||{{{z{{zz{{{|{|{|{{z{z{{z{{|{{{{{{{{{z{z{{z{{|{z{z{z{{yzy{||{{{{|zzzzz{zzz|z{{{{{{y{zz{zzz{{z{|{{|z{zz{z{|zz{z{|z{{zzzzz{|z{{{z{{yy{zzz{zz{|zz{{{|{zz{z{zz{{{{z{{{zz{zz{{{{zzzzz{z{zz{zz{zz{{{{{{{zz{z{{{zz{||{{{{{{zzzzyzzy{zz{{{z{zzzzzz{z{{{zzz{zzzyzzz|z{{{{{zzzzzzzz{{|{zz|{{z{z{z{{z{{|{z{|{{|zzzzy|{zz{|z{{z{{zz|{{|||{||{zz{{zz{zz{{{|}}zz{{zyzzz{|{{|||{{{zz{{|{{}{{|{{|{{zz{{{{{{{|{{||{z{z|{|{{{||{||{{{{z{{{z{|{{z||||{z{|{{z{|{{||}|{z{{z{{{|{{{||{|}zz{{{{{{{{||{|||{{|{{{{{|{||||{{z{{{{z{{|{}{||||{z{{{{{{||{||{}{{|zzzzz{{{{{}|{z{|{zz{{{|{{{{{{|z{z{z{z{{{|zzzz{{zz{zzz{{{{{{{{zzzy{yz{{{{{|{{{{{{zz{yz{{{{{{|z{z{zzzzz{{{{z{|z{{zzyzzy|z{z|{z|zzzzzzzzz{{zz{{{z{{zz{zz{{z{z|z{{{zyzz{z{{{{{{{{zzzzyzzz{z{zz{{{{yzzzzzz{{z{z|{zzz{zzzzz{{z{z{|{{zzzzzzzzzzz{{|z{{{z{y{z{{zzz|z{zz{{zz{{zzz{{{{{{zzz{z{z{{{z{||{{z{{zxzz{{{|zz||{|{z{z{{|{{{||||{{zz{{{{{{|{{{{{z{zyzzzz{{||{{|z{z{{{{z{|{{{|z{{|zzz{{{{{{{|{|{|{|{z{{{{{|{|z{||{{{{y{{z|{||{||{{z{zz{zz{|||||||{{{{{{z{{|{|||||}{{{{{z|{}|}|}{||{|{{{{{|||{}}|}{{{{{{z{{|{|{{{|{|{|{{|{|{|{}||{z{{{{z{|{z{{{|{|{{{{{zzzz{{||{|{{{z{{z{{{{|{{|||{{yz{{z{{{|{z{{{z{zzzz{z{|||{{|{{{zy{{{y{{zz{{{{{z{yzzzz{{|{zz{{{{z{zyzy{z{{{{{|{z{{{zzy{{{{{|{zz{z{zyzzz{{{z|{zz{z{z{{||{{z{{z|z{z{{{zzz|z{z{{zzzzzzz{zz{|{{{{z{{{{zzzz{z{{{||{zz{y{z{yz{zzz{z{{{{zzzzzz{zz{||{zzz{{z{y{{{{{{|{zzzzzz|z{{{{|z{{{{{|zz{{{{z{{{{|{{{|z{{{{{{||{{|{{|z{z|{{{||{z|{z{{z{{zz{{{|||||{{z{z|z{||{|{|{{|{{{z|{z{|||{|||{|{{{{{{{|{||||{{z{{{{y{|}{|{||{|{|z{{|z|{{||||}|{{{{{{{|{|{||{||{{|{{|{{||}||||{{|{{{|{|{||}|{|{{{{{{{z{|{{{{|||z{z{{{{|||||||}|{{z{{||z{||{||}||{|{{{z{|{{|}}|{z}zz{z{{|}{||{{{{{{zzzz{{|{{{{{{z{z{z{z{{{||{|{{z{y{{{y{{z{||||{{y{z{{z{{{|z||||zz{z{{yz{{{||{|{zzz{{{y{{|{|{{{z{zz{{{{{{{{z{{{zzz{{{{zz{{{{{z{{z{zzz{{{{|{||{|{z{zzz{z{{|{z{{{{z{zzzzzz|{z{{{{z{zzz{{z{z||{{{z}{z{z{{zz{{|{{|{y{{{z{zyz|{{{{{{{{zz{z|yz{|{{|{|||{{zzz{|z{{{|{|z{|{z{|z{{{{{||{|{{{|z|z{{|{{|||{{z{z{{{}|{|{||{{|{|{{z|{||{{{{||{z{z{||{{|{|{||z|{z{||{{{|||z|||z{|{{{{{{|{||||{{z{{|{{|||||||||{{{z{{||||{|}}||z{{|{{{{}|||}|||{|{|{{{|{|||||||||{|z{|{||||{{||{{{|{|||{}}|{}||{{{{{{|{|{||||}|{{|z{|{||||||}|{{||{{zz{}|z{|{|{yz{zyzz{{|{{{{{{zzzzzzzz{{{|{{{{zz{yz{{{z{{{|{{{zyz{zzz{{z|{z|{{{y{y{{zzz{{{|{{zzz{zz{zz|zz{{|{z{{z{{zz{z{{y{z|zz{zzzzz{{zz{{{zzzzzzy{z{|{{{z|{zy{zz{z{{zz{z{{{{z{zzzz{z{{zz{|{{zzz{yzz{z{{{{z{zy{yzzzzz{{{{{{|{zz{zzzzz|{zz|{{{zzzz{|{||{{{{||{{{{zy{zz{||{|{{z{{{z{{z{|{{{|{{{{z{{y{z{||{{{{||z{{{{z{{||{{{}{{{{{{|z{{z{{{||{{{{{{{{|||{|}{||{|z{{{{{||{|{||||{z{{z{z{|||{||{|z{z|{{z|{{||{|}{zz{{||{{|{{{}|||{|{z{{}|||}|}{||{{{|z{{{{|}{||}|{{{{z{z{{{{{}|||{|{||{||{||}|||}{{z{{|||||{|{{|{|{{{{zz{{z{{||{|{{{zzyz{{{{{z|{zy{zzzz{z{|{{{{{z{{{{z{zz{z{{{{{z{{{{{{{{{|z|{|{{z{{zzz{z{|{{{{{|z{zy{{{{z|{z{{|zzyzzzz{zzzzz{{{z{{yzzzy{{{zz|z{zz{z{{yz{z{{z{{{zz{zzz{yz{{{z{{z|{z{{zzyz|{{{{{|{{zyz{yyz|z{{{{|zzyzz{{zz{{z{{z{{{zz{{{z{{{{z{{{z{{{z{{z{{{{{{||{z{zzz{{{{|{{z}|{{z{{zzz{z{{|{{{z{{zzz{z{{|{{{|{{{|{{{{z{{{{|{|{z{{{{{{z|||{{z|{|z|z{{zz{|{|{|{{z{{{{|{{{|{|{}||{{{z{z{{{{||{|||{{z||zzz||}{||||{z{z|{{{||||{{||{{{{{{|||}{||||||{{zz{|z{|{|{|{||{|{|{|||{}||||}|zz{{|{{{|{|{||||z{{z{z{||{|||}|{|z{{{{{{{{|||{|{{{{{{z{{{{{{{{{{{yzzzz{{{{|{{{{zy{z{zyzz{{{{{{||z{{zz{{z{{{z|||{{{z{y{z{z|{{z||zz{zzzz{y{|{zz{{{{zyzzzz{{|zz{{|{{z{y{{{{{{|{||{{z{{zzzz{{{{z||zz{{z{{zzz{{{{|{{zzzzyz{{{{|{{{z|{{{zz{z{z|{z{|z|{{{zzzzy{{zz{{{|{{{{{z{z{{z|{{||z{{zzz{{zz{{z||zzz{zzzzzz{||{{|{{y{zz{{zz{||{{z{{z{{zy{z{{{z{{|{{zzz{z{{|{{{{|{{|zz{{zzz{||{|{{{{{{z{z{{|{{{|{|{{zz{yz{{{{|{||{{{|{z|{{{{z|{|{{|{z{{{{{{||{|{|}||{{{z{{{{||{{|||{{{{{|{|{|{{{|||{{|z{{{{|}z|{||||{{{{{|z|||||{|{{{{|{{{{{|||}}|{|{{{{{{|{{||}{||}{{|{{{{{|{||||}{{{|{{{{{||{|{||{{{{z{z{{|{|z||{{{{{zz{{{z{{{{{{z{y{z{z{{|z{zz{{zzz{z{{z|{{{{|||zz{{{z{z{{{{{{|{{zzzzz{zz{{{{z{{zzzzzzzz{z{{{|z|{z{{{z{{{{{{z{{{zzz{{{{z{z{zz{z|{zy{{{{zzzz{y{{zzzzy{z{{zzzzz{{{zzzzz{yz{z{{|{||zzzzzzyzz{|{{y|{zzz{zzyyz{{z{zz{z{zzzzzz{|{{{{{{zz{z{z{zz{{{{z{{{z{{zz{z|{{{{{|{{z{|z{{zzz{|{||||{z{{z{zzz{z|}{|{z{z{z|{z{|{||{z{z{z{{zz|{|{|{|{{z{|{z{{|{{{{{{||{{z{{{{{}{{|{|{z{|{{{{{{|{||||||{{|z{{{{||{{{|||{z{{{{{{||||{||{{{z{||{{||{||||{{{{{|{{|}{|{||}||{|z{|z|||{||{||{{zz{{{||{{{{|}|||{|{zz{|{||{||{{{z||{{{{{||{||{{z{{{{{z{{}{{|{|{z{{z{{|{|{{{{{{{{zyz{z{{{{{{{{{{{yyz{y{z{|{||{{z{y{z{z{{z{{{{|{{zzzzz{{{{{{|{{z|{zzz{yz{|{|{{|{z{zzzzy{{{{z{|{{zzzzzzzzz{z|z{z{zzzy{zz{z{{{{{|zzyzz{zz{{zz{{|{{{z{z{z{{z{z{{{{z{zyzz{zzz{{{{z{zzzz{zzzz{z{{{||{zz{zz{y{{{{z|{|{zz{zzzz|{{|{{{|{z{z{zzz{|{{|z{|{z{{yzzz{||{z|||{{zz{{zz{||{{|{{zz{{{z{zz{{{{|{|{{z{z{z|{|{|{{|||{z{||{z{|{{||||z{{{{{{{|{{|{|{|{{{z{{{{|{z{||{{{{{{{zz{{{|{||||{{{{{{{{}{{||}|{{{{{z{|{|}|{||}|{{{|{|{|{|{||{|}|z||z{{{||{|||{{|{{{{{{||{|z{}|}|{zz{{{{|{{{|z}{{|{{zzz{|{{{{||}{z{{{{{|{{||{{|{{{{z{z{zz|{z{{z{{zzz{z{zzz{zz{{{{z{y{zzz{z|{{{{{z{{zzzyz{z{{z{{{zzzzz{zz{{|{{z{|yzzzz{yzz{{zz{{{{z{{{zzy{|{z{|{{zzzzzz{{{{zzz{{yyy{zy{zy{{{zz{{{zzzyyyzzz{{z||z{zz{yzzzz{zz{}{{|{zzzzzy{{{zzyz|{{zzzzzzzzz{z{{||zzz{z{zz{{{zz|{{yzzzzzzy{zz{{{||{zzzzyzz{|{z{|{|{{{{{y{{z{||{{{|zz{{|z{{{{{{{{|{{{{|z{{z{}{{|||{{z{{{zzz{z||{{{{zz{zzzz{|||z{{{{{zz{{{z{{{|{{{|{z{{{|z{{||{}{|||{{z{{zz{{|||{{|{{z{{|z|z|{||{}|{|{{z{{{{{||{|||||{{z{{{{{{|{{||{|{z|{{{{||||{|{|{{{{{|z{{{{{|{|{{{{{{{z|{{||{||||z{{zz{z{|{{{||||zzz{z{z{||{z||{{zzzz{z{{{{{{{z{z{zzzyyyz{|z{{z{{{zz{zzzz{z{z|{{{{y{yzyzzzz{z{|{{zyzz{zz{{z{{z{{{zzzyzzz{{z{{{{{{zzzz{zzzz{zz{z{zzzz{zzzzz{yz{{{zzzzzz{z{{{zz{{{z{z{{yyy{{z{z{{z{{y{zzzzz{{{{zz{{zzyzzzy{z|{z{{|z{{zzz{z{z{z{{zz{{zzzzzzzzz{z{{{zz{{{zzz{{{{{{{{zy{z{zzz{{{z{|||{{{zzyz{|{{{z{{|z{{z{{zz{z|{{{|{{{{z{zz{{{{{{{|zz{{{zz{{z{{{{||{{zz{{{zz|z{{{{|{{{z||{{{{{{|{|{{{z||{{z{{{{{{|||{z{{z{{{{{|{||{{{{{{{|{z{||{||||{{{z{|z{{{{{{||||z{{{|{{z}{{||{{{{{zz{z{|{{{|{|||{{{|{{{{|{{{{|{{{zz{{{{|{{|{{{|z{{z{|{{{{{{||{{{{{{{{z{z{{{{{|{{{{z|zz{z{|z|{z{{{zz{y{zz{{zz{{zzzzz{zz{zzz{z{||{zz{{yzz{{{z{{|{{zz{yz{z{z{{{zz{|{|zzzzz{zzz{{||{{zz{zzz{z{{z{{zzyzz{zy{{{{{z{{{{zyy{zzz{{{{{z|{zzzzz{{zz{{{{{{{z{zzzzyz{{{zz{{{zzzz{zzy{zzz{{|{zzy{zzz{z|{{y{z{zz{{{zzzy{zz{{|{zz{{{{{{{{{zz|{{{z{zzzzz{{z{z|{{zy|{zz{z{zz{{{||zzzz{z{z{|{{|{|{{z|z{zz{{{{{||{{{{z{zz{z{{||{{{{{{{z{z{{|{|{{|{}{{{{{{{{{|z|{||{{{{{{z{z{{{{|||}{{z{zzzy|{{|{{{}|z{{{{{{{{||{}{{z{{z{{{{{{{{}{}}|{|{{|{||{{}|{{|{z{|{{{{{|{{|||{{zz{{z{{||{|z{{}{{|{{{{|}|{}||{|{z{z{|{{{{|{{|||{z{{{|{{{{{{{{|{{{{zzzzy{|{z{{zzz{{{{{zzz|{zz{{{{zz{{zzz{{z{{{||zzzz{{yz{zzz{{z{{y|z{yz{z{{{{{{{{z{z{{zy{{z|{z{|zz{{zzzzz{z{{{{{{yzz{zzz{{z{z{{{zz{yzzzzzz{{z{{{{zzz{zzzz{{z{{{{yz{zzzzz{zzz{|zz{{yzyzzzz{{{|{{{zz{z{{yy{{{zz{{|zzz{zzzzz{{zz{{{zzzzzzzz{z{{{|{{zz{zzzz{{{|{{{|{{{|zzz{z{z{{||{|{{|zzzz{|{{{z||{{{z{{y{{{z{|{z{{|{{zz{{{{{|{{z||{{{{z{z{|{{z|{{{{{{{{{{{z||||}}|{{{{{{{z|{z{{|||{{{{{{z{{|{|||{|{z{{{{{z{||{||||{{{zz{{{y{{{|}||}|{{{|{z|||{{{||{{{{z{{{{{{|||{|{zz{{{|{{{{{|{||{{{{{z{{{{{|{|{||{z{z{{{{{{|{{|||{{|z{{{|{z|{z||z{zz{{z{|{z||}{{zz{z{z|zz{|{{{|{{zzzzyzzz|{{{{|{{{zzzz{z{{z|{|||{{zzzzzzy{{}{zz{{{yz{zzy|z{z{{|{{z{{y{{z||z{{}{{|{{{z|zz{{|z{{{z{zzyzyz{{z{{zzzz{zyzyy{{{{{{{z|{{zzyzzzz{z{|zz{{z{y{yzzz{{{{z{|{{z{z{zzzz{z{z{{{z{{z{zyzzz{{{||{zzzzzzz{{|{z{||{{z{zzzzyz{{{||{z{zzz{z{{|{{{{{||{zz{zz{{{{{z|{{||{{{{z{{{{||z|{zz{{y{{z{{|||{{}{z{z{{zz{|||{{{|||{{z|{z{{{{{||||{{{{|{{{{|{||{}||{{|{z|{|||{|||{{{{{}zz{|{{||}}|zz{{|{{|||||{|}{|{z{{{{|||||||{||{{{{|{{{||}{|||{{{{{{{||{{||||}|{z{{{z||{{{}{}|{{|{{{|zz|{{|}||{{yy{z{{{{z{{||{{{zzzy{z|{{{{{{{y{zz{zzyz{z{{z{{{{{z{zzz{{|{{{|{|{zzzzzy{z{{{|{|zz{{zzyzz{|{z{{{{{zzz{{z{{{z{{{{{yz{z{{z{{{z{{{{{zz{y{z{|z{z{zz{{z{zz{zz{yzz{{{|zzzzzzzzz{|{z{{zzzzzy{zzz|{{z{{{{{zz{zzzz{z{{z{|z{zzzzzzy{{{{z{zz{z|zzzz{{z{z{{{{zzz{{{yz{z{{{{|z{z{{{{z{{z{{{{{{{yz{z{{|{{{z{{|{{{{z{z{zz|{||||{{{{|zz{{{{{{{|{{{z{z{|{{{|{{{|{{yzz{z{z{{|||}|{{||y{{{z{{{{|{{{z{{{{z{z{{||{{||{|{{z{{z{|{|{||||{{z{{{{||||{}|}|{|{{||{{{{|{|{||z{{{z{{{}|{|||||z{{{z{{{|||{||{{z|{{z{{{{{{}{||||z{{|{{|{{}|{{|{{{z{{{z{{|||||{|{z{{y{z|{{{|{|{{{{|zz{z|z|z{{|{zzzyzz{zz{{z{{{{zzzz{zzz{{{{z{||{zz{{zzz{{{|z{{{{z{z{zzz{{{||{{{{zzz{zzy{{{{{zz{|zzz{{zz{{{{{{|zzz{zzyy{{zz{{z{{yzzxz{yzzyz{z{z{zzzzzzyzz{z{z{{z{zzzz{yzz{{z|z|{{{zzzz{zz{{{{{|{zzzzzzzy{zzz{{{|zzzy{z{zz{z{{|{{{z{{z{zz{{{|{||{zzzz{z{{z{z{z{z|{z{{zz{{|{{{{{{{{z|{{zz{|{{|{|{{zz|{{{zz{|{{{{|{{z{zz{zz{{|{{|}{|z{z{zz{{{|{|{|{z{{{{{{z|{{|||{{{zzz{z{z{{|||{||{z|{{{{{{|{}|{|{{{{|{{{||||{{z||{z|{{|||z||}|{||{{{{{z{z||{|{{|||z{{|{zz|{{{|{|{|{{{z{z{z{||{{{||{{{{{{{z{||{|{{{z{z{zz{{|{zz{|||{|zzzzz|{z}{z|{{z{zz{{z{{|{{{z{{zzz{zzz{{{{{z{}z|zzzz{z{{{zz{{{z{{zz{z{z{z{{||{{zzzy{y{{{{{{|{{zz{zzzzy{{{{{|{{{z{zzzzzz|zz||{{|zzzz{{z{|{{|{{z{zzzzzzz{zz{zz{{{{{zzzzyz{zz{{zzzzzzzyy{z{{z||{{{{{zzzzz{z{{{{{|{zz{{yzzz{{{{{{{{zzzzy{yz{z{zz{{zzzyzz{{|{z|{{|||{zzz{zz{{|{{|{{z{{zzz|{|{{|{{||z{z{z{|z{{{|{|{{{z{{{zzz{|{z{{{|{|{zz{z{{||{z{||{{{{|{{||{{{{{||z{zz{z{z||||||||{zzz{{|{{{||||||||{|{{z{{||{|{||}{|{{{|z||||||}||{{{|{{{{{|{||}|||{{{{{{||{|||||{z{|{|{{|{||||{|{{|z{{{{{{{||||{{{z{|{{}{{{|||{|zz||zz{|{{{|{{|||{z{z{zz{{{|{{{{{|zzzzz{z{||{{{{z{y{zz{yz|zz{zz|zyzzzzzzzz{{{{|{{y{zzzzz{{{{z{{{{z{{zyzy{||{z{{|zzzyzz{z{{|z{{{{zz{yzyzz{{{zz{{zzz{zzzyzy{{zz||{yz{yzzzz{zz{z{z{zzzzzz{{{z|{{z{zzz{zy{zz{{z{|{{z{zzzzzzz{{|{{z{{{y{zzzzyz{{{zzz{z{yzzz{yzz{{{{{{yzzzzzzyz{z{{{{{z{zz{z{y{||yz{{|{zzzzz{{{{{{z{{{zzzzzzz{{z|{{{|{{{{z{zzzz{{{{{{{{{z{{{z{{{||{{|{|z{z{{zz{{{{z|{{{{{z{{{{{z{{{{{|z{{{z{|{|{|{{{|{{z{z{{zy{||{|{|{|z|{|{|z{|||{|z{z{{z{{|{{||{|{||||{{{{{{z{|{|||{{z||{{zz{|{|{{||{z{{z|{{{|{{|{{|{{{{{{{{{|z{{|||z{|z{zzz{{{z|{}|{z{|{zz{{{z{|{{|zz{zzzz{z{{{|{{{zyzzzzzy{{|{{{z|z{z|zzzzz{|{{||{z{zzzzzzz{{z{{{z|{z{zzz{z{{|{z{zz{{zzyzyz{{zz|{|zzzzzzzyz{z{z{{{{zzyyyzz|{z{z}zzz{zzzyyz{{{{{|{|zzz{zzz{z{{{{{|zzzyyzzzzzz{{{zzz{zz{yzz{{{{{{{{{zz{{zzzzz|{zz{{zzzzzy{{yz|{|{{{{z{{{{{yzz{{{{z{|z{{zzzz{{zz{{{|{z{zzz{zz{{{|z|}|zzz{zz{zzz{{{|{{{{{{zzz{z|{|{|z{{{{{||zz|{{|{{{{{{z{{{y{{{{{{{|{{{{{{zzz{{{|{{|{{{{{{{{|{{{{||||{{|z{{{{z{|{{|||{{{{||{z||||{{|{{{{{{{{{{{{{|z|||{{z|{z{{|}{{}|{{{z{zz{{|{{}{||{|{{z{{{{{||||{|||{{{{{{{{{{|{{{|z{|zz{|z{zzz{{|{|{{{{z{z{|{{|{z{{{{zz{{{|{||||{{{zz{yyzy{z{{{{{|z{zyz{z{z{|z{{||z{y{yz|{{{z{{|||{zz{zzzz{z{{z{|{zzzy{y{z{z{{zz{|z{z{zzzz{{{{|||||y{{y{zz{z{{z{{zz{zzzzyy{zz{{{y{zzzzzzzz{{{z{{|zzzzzzzzzz{{{{{{z{z{zyy{y{{z{{z{z{{zzzzyzz{zz{{{z{zzzzzzzzz{{z|z{z{{z{{zz{z{{{{{{{{{z{z{y{{{{{|{{{{zzz{{{zzzz{z{|zz{|{{|{{z|{{z{{{|{{{yzzz{{|{|{{z{{{{{z{{|{z||||{{{zzyzz{{{{{|{{{zzzz{zz|{||{{{|{{z{|z|{{||}||{{{{zz{{{{{||{{|{{|z{z{{{{|||{{{{|{{z{|{{z{{{||||{|{zz{{{z{{{{||||{{{z{{{{}{|||||z{yz{{{{{{|{{{|||{{{z{{|{|{{|{|{|zz{z{|{zz|{||||{{{|z{|{{{|z{{|}{{z{{z{{|{{z{{{{zzzzzzzzzz||z{z{{zzyzz{zzz{zz{{{}zzzzzzzz{z{z{z{{{yzyz{zz{{{{zz{zzzzzzz{yz{zz{{{|zzzyz{zyz{yzz{{{{{zyyzzz{z{{z{zzz{zy{zz{zzz{z{z{zyzyzzzzz{{{zz{z{zyzzyyzzz{{{{{{zzzzy{y{{{{{zz{{{{yz{zzxzz{zz{zz{{{zzyzyz{{z{|{{yz{zz{{y{zz{{{{z{{z{zzyz{{y{{{{{{z{{zy{yz{{{{z{{zy{{zz{{{z{{{{{{{z{{z{zy{{{|{{{{{z{z{zz{{{|{{{|z{|{|{z{{{{zz{{|{{zz{{{{|{||{{|{|z{zzzz{{{{{||{||{zzz{zz||z||{{|{|z{{|z{{|||z||{|{{{z{|{{{||{||{|{z{{{{z{}{{||{~|{{{{{z{{{{{|z|{{zzzzz{{z{{{|{{|{{{z||{z{|{{{{{|{{z{zzzzz{{{|{{{{{z{{z{zz{||{|{z{{{z{{zzz{{{{{{{zz{zzz{{z{z{z{{z{z{zyzzzz{{z{z{{{{zzz{zzz{z{{{|{{{{{zzzzz{{{zz{z|zz{z{z{z{{{{{{{{zz{{zzzzz{{{{z{{{{z{{yyzz{{z{{z{zzz{zzzzzzzzz{{{yzzz{z{zz{{{|{{{z{yz{{zzzz{zzz|z{zzzzyz{{zz{{{{{zzzzzyzyz{zzz|{zzzzzzzzz{{z{{{{zz{{zzzzz{{{|{z|{z{{z{z{zz|{{zzz{{{{zzzy{{z{{z{{{y{z{y{yz{{z{{z|{zzz{zzz{{|{{{z{{{zzzzz{z{{{{{{|{zz{zzz{{{{{{{||{{zzzzzzz{{|{{||}{zzzzzz{||z|{|}{{z|{{zyz||{{{||{{zz{{zz{||{|{||{{{{{|{{{{{{{|}}||z{{{{z{||{{|{}{|{|{z{z{{|||{{|||{{{{zzz{{{||{|||z{{{{z|{{{{|{|{z{|z{{{z||z{{{{||zzzz{zz{z{||{{|{zzzz{zz{{}{{{z{z{zzy{zy{{{z{{{{zzz{zzyzz{{{{|{||{{z{zzz{z{{{|{{zyz{{zz{z{{{z{|z{{{zzzzz{{{||{{{{zzzzz{{{{{{{{{{z{{{zzzz{|{z{{zzz{{z{zyz{{{{z{{{{yzyzyzyz{{|zzz{zzzzzzz{{{z{{z{{zz{zz{{zz{z{{{{{z{zzzzzzzz{y{{{{zzzz{zzzz{{{z{||{zz{{zzz{{{z|{{|z{zz{z{z|{{{|{||{z{{zzzz|{{|{{{|z{{zz{{{|z{{{{|{{zzzzz{zz|{|{|{{{z{zz{z{{{{|{||{{zy{{zz{{||{z|||{z{{|zzz{{|||{|{{z{z{{{z||{{{}|}{{{{{{{{|||{|{|{||zz|{{{{|{|{{}}{{|z|{{z{|{{}|{{}{{{{{{z{|{||||||z|{z{{|||||{}}}{{{{{{{{||{{|{|||{{{{{z{z|{{{}|{{{{z{{{{{|||{{|||{{z{{{z||{}{z{{z{{z{y{z{{{zzz{{{zzz{z{yz{{|{zz{zyz{{y{z{{|{|{|}{zzy{{{z{{{||{{|{z{zz{zzz||{z{{{z{|z{yzz{{{{{{{|zzzzzz{{{{{{z{z{{z{{{{zz{{z{{{z{z{zzzzzzzz|{z{{z{zz{zzzy{z{{xz{{zzzzz{y{|{{z|{{{{{zzzyzzz{{|{{{|{{{zzz{{zz{{z{z|z{zz{{{z{{z{z{{{y{zz{{{z{{{{{z||{zzz{y{|yz|zz{{|zz{z{z{z{{z{{{|}{z{zz{{|{{{{{{{zz{z{{z{{z|{|||||zzz{{zz{{|{|{{{{{zz{{z{zz||{{|z{|zz{{{{|{z|||{{|{{{{zz|{{|{|{|}|{|||{z{z{||{|}}||zz{{|{{{|{|{|{||{{{{||{|{|||{|{{|{||{{{||{|{}|||{z{z{{{|{||{{||{{{{{z{||{{|{|||{{{||{|{{|{|{||||{z{{{{{{{|{|{{{{z{{{z{z{||{{{{{zz{zzz|z|{{z{{z{zy{zzzzzz{{{{{|{z{zz{zzz{{z{z||||{zzzzz{{z{{{||{{{{zzz{zz{{{{|{{z{yzzz{y{z|{{{z{{zzzzyzy{|z{{|{{zzzzzz{yzzz{z{{|{zzzzzzzz{{zzy{|zzzy{zzz{{|{z{{{yzzzzzyz{zz{|{{{{{{zzzzz{{{|{{{z{{zz{z{{zz{zz|z{z{zzzz{zz{{{{{{|{zyzz{zz{{{|{z{{|{zzzzzz{{z{z{{{{{{yz{{z|{{{{{|}{{{|z{{z{{|{||{|{z{{{{{{z{{{{{|{zz{{zzzz|{{{{{{{{{|zz{{z|}|}{||||{z{{{{{{|{{|||{z{{{{{{{{|{{||||{|{|z|{z{{{||{||{{{{z{|{|||||||{{|{{{{{{{{{||||{{|{{{{|{z}}|{||||{|{{z{{|||||{{|{{z{z{{{{|||{|||||{|{z{||{{|{{||{z{zz{|{{{{|{{{|||z{z{{{{|{{{{|{z{{{{zz{z|{{|{{{zz{zzz|zz{{z|zz|{zzzzyzz{{{{{|{|z{zzzz{zzz{z{{{{{y{y{zzzzz{{{z{|{z{zyz{z{{||{{z{zyzzzzzzz{{z{{||z{z{zz{y{zz{z{{yzyzyz{zz{zzz{{z{zzzzzzzz{|z{z{|{z{z|zzyzyz{zzz|{y{z{yzzzz|z{{zz{{z{zzzzyy{{{z{{{{{{zzzyzzz{z{{|{zzzzzzzy|{{{{y{{z{{z{zzzz{{z{{|{zzzzyz{zz{|z{z|{zz{y{z|{{|{{||{{|z{{zz{{z{z{{}||{z{zz{{z{|{{|z|z|z{zzzz{|{{{z|{{zz{{{z{{z{|{|||{z{{z|z{{||{|{|{|{{{{z{z{||{|{{||{{{z{{z{||{{||||{{|{{{{z{||{{|{{{|{{{{{{{|}|{|||||zz{z{|{|{}|{||{z{{{{z{||{|||{|||{{{{{z{{|||{||zz{zz{zz{|{|{{||{zzzzzzz{{{||{|{{z|zzyzz|z|{{{zzzzzzzyzyz{z{zz{{{zzyzzzz{{{{{{|{z{zzyzzy{{{{{{{z{zzzzz{{z{{{z{{{z{z{yzzyz{z{{{{{yyzzzy{zyz|{{{|{zzzzy{yz{{{{{z{{zzzzzzzyyz{z{{z{zzyzyzyy{zz{{{{{yyyzyz{{z{|{zz{{{z{zzzyyz{z{{{{|zz{z{zzx{y{z{|z{zzzyzzzzz{yzz{{{{yzzzzzyzz{z|z|{{zzz{yz{z{z{{{z{{z{{zz{zz{{{{{{{z{{zzz{z{{{{{{{{{{{z{z{z{{||z|{|{{{{zzz{{||z{|{z{z{z{{zz{{{zz{{{z{{zz{{z{|{|{{|{z{{{{|||{|{|{|{zz{{|zzzz|{{{|{|{{z{zzy{{|{{{}z|{{z{{{{{{{|{|{{||{{{{{{z{{|{|{{|||{z|{{zz{{||{||{{zz{{{z{|{|{{{||z{{z{{zz{zz||}|{{yzz{zz{{{{{{{|{||y{z{zz||{{{||zzyzy{zzz{{{|z{|{{{z{zz{z{{zzz{{|z{zzzzy{{z|{{|{}{{{z{zzz{|{|{{|{{{zy{zyz{z{{z{||{{{zz{zy{{z{{{{{{{{yz{zzz{{{{{|z{zzz{zz{{z{{{{{{{{{zzzyzzzz|zz{zzz{{z{zz{|{{{z|{z{{|zzzzzz{{{{{zzzzzzzzyz{z{{{{{{zzzz{zzzz{{|z{|z{yzzzzzz{z{{{{{yzzz{{zzz{{{{{}|zzz{z{z{zz{{{{{|zz{{zz{{{{{|{{{|{z{yzz{{{{|{{|{{{{{z{z{zz{z{{{{z{z{{zz{{{||{{||z{zz|{z{z{||{{|||zz{z{{{{{{||{|||{{|{{{{{|||||{||{{{{{{{z|{||}||z{{z{|{|{||{{{||||{z{z|{{{{||||}|{{|{{|{{{|}||||}{{|||{{{{||||||}|{{|{|{{{{|||{}||{{{|zz{{||{|{{{{{{zz{{{|||{||||{{z{{{|z{|{{{|{|z{zz{z{{}||{{{{{{zzz{zz{zz{z{|{z{zyzzzzz{{{{{{{{zzz{yzzz{{{||||{{x{{zzz{z{{{{{{zz{zyyzzy{z{z{{{{{zzyzzzzz{{{z{{{{zz{z{z{{{|zz{z{zz{zzzyyz{{{zz{{zzyyz{zy{{zzzz|{{zz{yzz{zz{z{|{{zz{{z{{z|{{{{{{{{zzzz{zy{zzz{|{{z{zzzzz{z{{z{{{{zzzz{zz{z{{{z{||z{{zz{{z{{|z{{|{{{{{zzz{{{{{||{{zz{z{{{{{z{{{{{{{z{z{z{zz{z|{|{}{{zz|{zz{{z|z{|z{z{{{zz{z|{{{{||{{{{z{{z{|{{{|{{{y{zzz{{{|{|{||||zz{zzzz|||||||{|z{{|z{z{}|{|||{z{{{{{|{{|{{{||{|{z{{|{{{|||{}{|{z{{zz{{{|{|{||{{zz{{{z{{|{{||{||{|{|{{{{{{|z{{|z{zyz{{{z{z{{|{|{{|{{z{|z{z{z||{{{{{zz{{|z{{{|z{z{zzyzzyyz{{{{|zzzzzzyyz{z{z{{{{{z{yzz{z{zz{{{{{{z{zzyz{zz{{zz{{zzzzzyzz{{{zzzz{z{zz{yz{z{{zz{{{{z{{zzyy{{{{{{{{zzzzz{yz|z{{{{zzzzz{zyyzzzzz{|{{y{zzzzzz{{{yzz{{zzzzyzyzzzz{{{{{yz{zzyzyzz{{z{|z{{{zzzzzz{{zz{{zyz{yz{y{z{|{zz{{|z{z{yzz{{{{zz{{{y{{{yzzz{{{{{{z{{zz{z{{z{|{{{{{{{{|{z{z{|{{||z{{{{zzzzz{{z{{{{z|z|{z{z{{{{z{{||{{{zz{{{|||{{|{{{{{{|z{{{{{|{||{{z{{{{|{{{{{|||{{{{z{{{z{||{|||{{|{{z{|{{{{{{||||zz}{{z{||{|{{||{{|{|{z{{||{{|{{zz{{{{{z{{{z{|{|{{{z{{{{|{{|{{||{z|{{{zz{{z{{{{|{{zzzz|z{{{{{{{{{z{{zzzzz{z{{{{{zzy{zzzz{|{z{{zzzzzzzzz{{{{{zz{{{{zzyzzzzz{z{{{{{zz{zzzzzzz{z{{{zz{yzz{z{zz{z{||zyzzyzyzz{zy{{{{{y{zzzyzz{zz{z{zzzzzzyzzz{z{{{zzyzyzzyzz{yz{z{|{zzy{yzzzz{{{{{{{zzzzzyzzz{zzz|||zzzzyzyy{|z{zz{{zzzzzzzz{{z{{{{{zyzzzzzz{{{{z{|{z{zzzz{y{z{z{{z{zzz{zyzz{zz{|{||z{zzzzzzz{{z|zz{z{z{{yzzz|{{{|z{{z|zzy{y{{|{|{|{{zzz{z{z{{|z{{|{{{zzzz{z{{{||{{{{z{z{{{{{|{|||||{{z{{zyz{|{{|{|{|zz{z{{z||{{{||{{{{z{{{{{{|{{|}{{{{{{z{{{|{|{{|{{z{zzz{zz|||{{{{{{{{z{{{z{|{{|{}{{{{{{{{|{{{{}|{z{{{z{{{{|{}{{{{{{{{zzy{{{{{z{z|{z{z{zzz{{{{{{z{{zzz{zzz{{}|z{|{z{zz{zzz{{{{z{{|{zzzzy|zz{||{{zz{zzz{zzzy{zz{{{{y{zzyyzy{{{zz|{{{zzzzz{zz|{zy{z{{z|z{{zyzzzzz{{{zzzzyzzzy{z{z{zzzzzzzzyzz{{{{zzzzzyyyzzzz{{zz{{{zzzyz{yzz{{z{{|{zy{{{zzyyz{y{z{zzyyyz{{yzzzz{{zyzz{zz{zzzz{z{{{{{z{z{zyzz{{{{{||{z|{zy{{|z{z{{{{{z{z{zzz{z{z{{{{|zz{zzzy{{z{||{{|z{z{{zz|{|{{|{zzzz{zzzz|{{|{{||z{{{{{{{z{{{||{|{{|zz{|{{|{}||{{{z{{z{zz{{|{{|{{|{z{z{{{{{{{{|{|||{z{{|{||{||}|}{{z{{{z{{||||{|{{{{{z|{z|{z||}||{{{|{{zz{{{z{|}||{z{{z{|z{|{||{|{z{{zzz{|{{{||||{zz{zz{z{|{|{z|{{{zzzzzz{{{{|{z{zzzz{{{y{{{zz{||zy{zzyyz{z{{|{{{{zzzz{{{{{zz{|{|z{zzzyz{z{{{z{{{zzzzzz|z{{{{|{||{zyzzzzz{zz{z{{{{zzzyzz{zz}{{{{{zzzzzzy{z{{{{{|{zzzzzzzz{{zy{|{{zyzzzzyzz{{{|{{zzz{z{xz{{{{{z|{{zzzzzyzyzzzzzzzz{z{y{zzzz{zz{{{|{yzzzzzzz{z{zz{{zyzzzzz{z{{{{{{{{zzzzz{z{{{|{{||z{z{zzz{|{z{{{{{|z{z{z{zz{{{{||{{{{zy{{{{{|{|{{z{{{{{{zz{|||{|{{zz{{{z{{|{z|{{{{{z{zz{{{{{||{{{{{{|{z{{{|||{|{{z{{|z{z|{{{{{{||{{{|{{{{{{|{{|||||{z{{{{{{|||{|}{|{{{{{{||{||{{||zzz|{{y|||{{|{||{{z{|{z{||}{{|{{z||{zzz{{z{{{{|{{z{{{{{{{z{|{{}{z{{z{{zz{z|{{zz{zzzzzz|zz|{{{z{{zzzzzyzzz{|{{|||z{zzzzzz{{z{{{{|{yz{zyyz{{{{{{{|zzz{z{zz|{z{z{{|zzzyzz{yz{{z{{{{|zzzyzz{{y|{z{{{zyzzzzzz{{{z{{{{{zzyzyzyzzz{{{{{zyz{zzyz{z|yzz{{|zyzzzzzz{{zz{{zzzy{zzzzzz{zz{z{zzzzzzyzz{zzz{z{zzz{{{xz{{{{{{{{{zzz{z{z{|{zz{{|{{{zzy{z{{{z{{{|zzzz{zz{{{{{{{{zzz{{{y{z{|{{{|||{{z{zzz{{|z{zz{{|{{z{{zz{||z{{{|{zz{{zz{|{|||{{|z{zz{{{{{{||||||{{yz{{{zz|||{|{z|{zz{{zz{|{|{{}||{{{z{{{{{{|||{||{z{{{{|{|||{{||{{{{{{{{{{||{||{|{{{{zz{{|z||{{||z{|{{y{|{{{{|||{{{zz{z{z{||{{||||zz{z{{{{{|{{{{z{z{{zzzz|{z{{{{zz{zz{zzy{{{z{{{{z{zzzzyz{{{z{{zz{yzzyyy{|zz{z{{{zz{zzzz{|{{zz{zzzzyyzzzz{{{z|{|zzzy{zzzy|{|{|{{zzzzzzz{{zz{z{z{{zzzzzzy{zz{{{|{zz{{zzz{{{{z|{{z{yy{zzzzy{{z{zz{{z{yy{zyz{z{|{{zzzyzyzzzz{{{z{{{{{zzzzzzz{z{z{z{zzyzzzyzzz{{{|{{{z{z{z{z{z{{z|z{{zzzzyz{{{{{{{z{y{zz{{zz{{||{z{z|{{yzyzzz|{{{{{{{y{y{{{{{{|{{|{{{{z{{zzz{||{{{|{|z{{{{{{{|{{{{||{{z|{{{{|{{{{|||{z{|{zz{{{||||{||z{{{z{{{|{{||{|{{{{|z{|{|z{{||||z{{{zzz{|{|||{||{|{{|{{{{{{||||{zz{{z{{{{{{||{|{{{|zyz{{{{|||{|{|z{{{zz{{{{||{{{zz{z{{z{{{{z{{{z{zzz{zz{{|z|{zzzzzyzyyyz{z{{{{{zz{zzyzz{{{z|z{{{zzyzyzz{zzzzz|{zyzzzzzzzz{|z{{{z|zzzzyz{z{{{zz|zzzzz{zzz{zy{zzz{zy{yzzz{z{y{{{|yzzzz{zz{zzz{|{{zzzzyzzzzzzzz{{{zz{zzzyz{zzz{z{z{zzzyyyzz{z{{{{{zzyzzzzyz{{z{zz{zzzzyz{{z{z{{{z{zzz{z{zz{z{z{{{{z{zy{zyy{{{{{{{{zy{z{zzzzz{zz|{{zzz{{yzz||}{z{{|{{zy{zzyz{{|{{|{{{zz{zzzz|{{{{||{zzzzzzz{|{{{{{|z{|z{{zzz|||{{}|z{{|{{{{{||z|||{{z||{{zyz{|||||{{z{z{{z{{{{{||{|{{{z{{{|{z{|{{|||z{{{|{z{||{||{|{{{zz{{{z{||{{||{{zz{z{{z{{{{{z{z{z{{{zzz{{{z{{|z{{z{{z{|{{{{|||{|{{zzz{{{{{|{|{zzz{{z{z{{{{{|{zz{yy{yyyy{|zzz{{zzzzzzzz{z{{{{z|z{yzyzzz{{{||{{{zyz{zyyzzz{{z{{z{yzyzzzyz{{{z{{|zzz{{zzzz{z{z|{zzz{z{yyzzzz|z|z{zzyyz{zzz{z{zzy{yyzyzzz{z|{z|{{zzzz{zzzz{{zzzz{{zz{{xy{yz{{zz{{{zzzzyzzzzzzz{z{|zz{{zzzzz{{zz{zzzzzzzzyz{{{zz{{{{{{yzzzz{{{{{z{{{{{zzyz{{{{{{|{{z{z{zz{zzz{|{{{{{zzz{{{zz{{{{{{zzzz{zzz{{{{{{|{|{zz{z{zz{|{{{|{{zzzz{z{{|z{}||{|{z{zz{{{{|{||{|}{{{{z|zz{||||{|{|z{z{{{z||{{|}|{{{{{{{{{{{|{{}|}{zz{z{zz{}||{{|{{y{{z{z{||{||z||{{z{{z{{{|{{{{{||{z{{{{{|{|{|||z{{z{{z{z{{{{{{|{|{yzz{{z{{{{{{||{{zzzzz{z|{|{z|{{zzzyzzyzz{{{{{{zz{z{yzzzz{z{yy|zzzzy{z{z{z{{{{zz{z{zzzy{z{{zz{zzz{{zz{zzz{{z{{{zzyzyzzy{zzzz{{{z{zzzzyzzz{{{{{zzzzyzzzzyzz{{{{{z{zzzzyyz{zz{{{zzz{zyzy{{z{{{{z{{zzzzzzyz{zz{{z{{z{zzz{zy{{zz{{{{zzzzyzz{{{zz{{{yzzzyyyyz|z{{{||zzzz{yz{{{|z||{|z{z{yz{{{{z{{{{zz{{zzzz{z{{{zz||zz{zzxzzz{z{{{|{zz|zz{zy{{{{{{||zzz{zz{y||{{{{{zz{zz{{z{|{{|{|||z{{z{z{{{{{|{|||{{{{zzz|{{|{{{|||{z|{{zz{|{z||{{{{z{zz|z|{|z|}{{{{{{{{|zz|{{{||{{{zz{z{{|{}|{{|{|z{{|z{{|{{{{{{{{{{{{z{{{{|{{{|{zz{z{{z{z{{|z{||{{zzzz{z{|z|{z||{zzzyzzz{{|{{{{zzz{z{{yzz{{z{{|{z{zzy{{yz{{zz{{{{z{zzy{z|{zz{|{{{yzy{zzz{{z{{{{{{{z{zzz{|{z{{{z{zzzzzyzzz{|{{}z{|yz{{yzz{yz{z{z{zzzz{zzyzz{{z{{{z{zz{zz{z{{{zz|{zyxzzyzzzz{z{{{{zz{zzyyzzz{zzz{{zzyyzy{zzz|{zz{{{zzzzzzzzzz|z{z|zz{zzyzz{{{z{{|{{{zz{zzzz{{{z|{|{zzz{yz{zzz{{{{{z{{zz{zz|{|{{{{|{z{y{z{{z{{{{|z}z{zz{zzz{|{zzz{|{zz|z{zz{|{|{{|{{{zzzz{z{||||{{|z{{z|{|{{|||z||||{z|{{z{||{|{||||{{||{{{{{{{|{|{{{{|{{{z{|{|{|{||z{|z{z{{|{{|||{{{{zzz|{{|||z||{{zz{z{z{{{{}{{|||{{{{{{{{||{||||zz{{{{zz{{{{{{|{{{{{z{zz|{||{|{|{z{z{zz{|{{{{{z|{zzyzy{zz{zzzzz{zzyyzzzz{z{zzz{{zy{zzzzy{z{z{{{{{zzzzzzzy{{|z{|{{zzzyyzy{zzyzz{|zzzzz{zzzzz{zz{|zzzz{yzzzz{yz{{{zy{zzyyz{zz{zz{{{zyyyyyzzz{zzzzzzzyzyyy{{z{zz{{{zzzyyyyyzz{{z{|{zyzyyyyzz{zzzzz{z{zzzzzzz{{zz{z{zzz{{{{y{{{zz|{{z{zz|yzyzz{z{{{|zz{zzyyzzz{z{{|{zz{zyyzyz|{{z{z{zzzz{zz{z{|{z{{{zzz{yzzyzz{{{{z{{z{z{{zz{{{z{{{{z{zzz{z{{{z|{{}{zzzy{|{{{{|{|{|{{z{{zzzy{{{{{{{z{z{z{zzz{{||{|||{{zz|{{{{|{{|{|||zz{{{{{{|{|{||{{z{{{z{z|{{|{{{{{z{z{yz{z{|{{z{|{{yz{{zz{{{{||{{zzyz{z{{{{{|{z{|z{{zzzzzz|{{{|{{{z{zzzzz{z{{{{z{{z{yzz{yy{{{{{{zzzyz{zzy{{zzz|{{{{{z{zzz|{{{{|{z{zzzzzzyzzzzz{{{zy{zyzzz{{z{z{{{{zz{zzzz{zy{z{{zzzzzzyyy{{{zzz{{{zzzyzz{{z{z{{{zzzyyzzyz{{z{yz{zzzyzyzyzzzzz{{{{zyzz{zyzz{zz{z{|zzzzzzzzz{zzz{{{zzzzzzzzy{{z{{{{zzyz{{zy{{{{{z|{{zyzzzzz{{{{{{{}zzzzyzzz{}{|{{||y{{{{zzy{|{{{z|{|zzz{zz{{z|z||{{zz{{{z{{{|{z{{{||{z{z{z{|{{{||{{|{|{{{z{{{{{}{z}{{{{{{{z{{{{{{||z{{|zz{y{{{{|{|||{{{{|z{||{{{{}||z{{{{{{z{{z|{||{{{{{{{{|||{{|}|{zz|{{z{{|{||{||{z{z{z{z|z{{|{{{|{|{{{{z{{|||{||{{zz{{|z{{|||{{{{zyzzz|y{{|{{{|{z{{zzz{{{z{zz{z{{{yzyzyyz{{z{{zzzyyyyzyz{{zzz{{zz{z{zyzzzzzz{{z{{yzzzyzz{{{zy{{{{zzyzzzzzzz{{zz{zzzz{z{zy{{z{{{{z{zzzyyzzzzzzz{{zzyyz{zzzzz{{z{{{zz{zyz{zz{zzz{zzyzyz{yyzzzz{z{{zz{zzzy{zzz{z{{z{yzzzyzzzzzy{{{{z{yy{zzyz{yz{zz{zz{z{yzz{{z{{{{{zzyyzzz{{z|z{{{{|yz{yyzzz{z{z{{|zz{zzzz{z{{{{zz{zzzzzyzzz{|{z{{|{zzzzzzzzzzzzz{{{zz{zz{{{{{z{z{{z{{zzzzzz{{{{z{{{{{zz{{{|z{|z||||{zz{zzz{{||{{{{|{{{{{{{{{||z{|{{z{zz{{{{{{{{||||{z{z{z{z|||{{|{|{{{{z{z|{{{z{{|}{{{{{||{z{{||||{{{z{{zz|{{|{|{{|zzz{z{y{z|z{|||{{zz{zz{{{{{{{|{{zyzzzzz{{z{z{{zzzyzzzzyy{{{{z{{{zzzzzzz{z|zzzz{{zzzzyyz{z|{{{zz{{yz{zz{z{{{z{{{{zzxzyzy{z{{z{z|{zzzzyzyzzz{{{{zz{y{{zzzzzzzz{z{zzzyzzzz{zz{{{{{zzzy{zyzyz{y{z{z{zzzy{yzz{zzz{{{{zzzzzz{zzzz{z||zzzz{zzzz{z{{{zyz{zzyzzzz{z{{{{{yz{yzzzzz|{{{{||zz{zzzzzzz{{{{z{yz{zy{z{z{{{{{{{zz{zzzzzz|{|{z{{zzzzzy{{{{{|{||{y{z{{zzy{{|{{{|{{zz{zzzz{{{z{||{|{{z{{zz{{|{{|{{{z{z|z{zz|z|{|{|{z|{{zz{|{{|{{{{{{|z{z{{{}{{|||{||{{{z{zz{{{|}||{{{{zzz{{|{{|{|{|{z{z{{{||||{||{{{{zz{{z{{{{||{|{zz{|{z{{|{{{{{|{{zy{z{{|{z|z||{{{{{{z{z{{{{|{{{zz{z{{zzzz{{{{{{zzz{zzzyz{{z{{{{|zzzzzzzzy{z{|{{{{|yzzzz{z{{{{||{yzz{zz{zzzzzz||{{zzyzzz{{{z{{{z{zzy{{zyz{z{zzzzzzzzzzzz{|{zz|z{zz{yyzzz{{{{{{{zzzzyzzzyz{z{{{{zzy{zzyy{zz{{zz{z{zzzzzzzzz{|{{z{zzzz{z{zzz{z{|z{|{{yzyzyzzz{{{{{zz{yz{yzzz{z{{{{zzzz{{{z{{{{|{{{{z{{zz{z{{z|{{z{{{{zzzzz{{{z{{{{|zzz{y{z{{{|{|{{{{{{zzz{{{|{{{|{z{{zy{{z|{{|||{z{{z{zzz{|z{|{|}{z|zz{z{{||{|{|{|{{{{{{y{{{{{|{{{{{{{{{{{{|{{{|}{{{z{z{|{|||{{{|||{{{z{{{{|{{|}||{|{|{{|{{||{{{|{{z{z{{z|{{|{{{||{{z{|zz{{{{|{|||||{z{zz{{{z{|{|||{zzz{zz{{z{{|{{{z{{z{z{{|z|{{z{zzzzzz{yz{{z{{{{zzzzzzzz{z{z{{{{{|yy{zzz|{{|{{{{zyzzzzzz{zz{z{{{zzzzyz{z{{{{z{{{zzyzz{yyz{z{{{z{z{zzyzyz{{{zzzz{z{zyy{y{zzyyzz{{zzyzzzy{yz{{z{{zzyzzzzzz{z{z|{{zzzzzzzz{zz{}{|z{zyz{{yzzzzzz{{{{zyzyzyzzz{zzz{|zyz{zz{zz{|{{z{{|z{zyzz{z{{{{{{{{{z{{zz{zz{{zz{zzzzzzyz{z{z|{{|{{{zz{{z{z{{{z{|{{{{zzz|z{{{|{{{}z{|{{zzz{{z{{z{{{{{{{z{{{{|{|||||{z{z{{{z{z|}{|{{|z{{zzz{{{{{{{{{{z{{|{{z{{|||{||{z|zzzz{{{|{{|{{}{zzz{z{{{|{{{||{{{|z{{z{{|{{|{{{z{{{{{{{{{{{{|{{{{zz{z{}{{|{||{{{zz{{zz{{z{{{{|{{z{z{{y{||{{|||{z|z{zzz|{|{{zzz{z{{zzzyz{{z{{z{zzzzzyzzz{zz{{z{zz{z{zz{{z{z{{{{zzzz{zzz{|{{z{|{zzzzzz{y{z{{{{{{{y{zz{zxz{yzy|{{{zzzzzxzzy{zzzz{yzz{{zzzz{zz{{{zyz{zzzzy{{{{z{{{y{{|zzyzz{zzz{{{zz{yy{zzz{z{{z{{{{zzzyzy{{y{z{{{{{zy{yzy{{zzzz{z{zz{|{zzz{{{{z|{{zzyzz{y{|zzzz{{{z{zzz{z{{{{{{z{{y{zz{{z{{{{{{{{{z{{zzzz{zz{{||{zzzzz{z{z{{|z{|{zzz{zzz{{{||z{|{|{zz{z{|{||||{{{{||z{{{{{{{{z|{|z{{{z{z{{{||{{|{{zz{{{{{{||{}{||{z{{{{{|{{{{{{z{{{{{{{zzz||{}{|{|y{{{{{zz|{{|||{{{{{{z{{z{{{{|{|{{{{{z{{{|{|{{||{z|z{{zz{{{z|{||{{{{z{|zz{{|{z|{z{{zyy{z{z|{{{z|{zzyyyzz{z{{{z{{z{zzz{yzzzz{z{|{{z{zz{y{{z{z{|{{{yzz{{zzz{{{z{}{z{{yzyyz{y{{z{z{zzyzy{yz{zz{zz{{zzzzz{zzzz{zz{yz{zzzzzzz{zz{z{{{zzzzzyz{z{zx{{zzzzyzyzyzzzz{{{{{{zzzyyzzz{|z{z{{zzz{z{zyy{zyz{{|{z{yzzzyzzzzz{{{zy{z{zzz{|{z{z{{{zzz{{yy{{|{{{{|zz{zzzzz{z{zz{z{zzzz{z{{zz|{z{|{zy|{zzzz{|z{z{z{{z{{{{|y{{{|{{{{zzz{zzy{{||{z|{|{{zz{zz{{{|{{{{|zz{{z|z{{{z|{|{|{z|zz|z{|{|{{{{{{zz{{z{{||||{{{{{{||{{{{z{{{{{|||{{zz|{{{||{||||{{{{{{{z{}|{|{}|{zz{{{z{z{{{{|{||{z||z{{||{{{||z{z{zy{{{{|{{|}|{{zz{z{{{{{{|{|{{{z{{zzzz||{{{|{{z{zzy{z{zz{z{z{{zzzzzzz{z{{zz{z{zzzzzzzz|z{{{{|z{z{{zz{{z{|{{{{{{z{zzyzz{{z{zz{{zzzzyzzzz{zz{{|{zzzyzzyy{z|{zzzzzz{yyzyyzz{{{z{{zzzzzyzz{{{zz{{z|yzzzzyz{zzz{{z{zzzzz{zz{{{{zzz{{zzzzzzy{z{zzzzzzz{zzy{zz{{z{z{|zzzzzzy{{{{{{{{{{zzzzz{z{z{{{{{{{{zzzz{zzz|zz{{{{{{z{{zz{{{{z{|{{{{{|y{z{{{zz{z{{zzzzz{{{{|{z{|{{zzzz{z{{||{{|z|{z{z{{{{{|{{{{||z{|{|z|{|{{}|{||{|{{{{{{{||{||{{{{{z|z{{{||||{|||{zzz{{||{{{}{|{|z{{{|{z{|{|{|||{{{{z{|{{|||{{|||zzz{{zz|{{{{{||{|{{{{z{{|{{{z{}|{{{z{{{{|{{|}||{zy{{z{z{{{{{z{{{{{{{zz{{{|||{{|zzzzz{zzy{z{{{{{zz{{z{zyzz{zz{|{{zzzzzzz{z{z{{|zzzzyzzzzzz{{{{{{z{zyzzzzyz{||{{{zz{{{z{yz{{{{{z{{zzzzzzz{z{zz{{zyzzyzzz{zz{{{zzzzzyzzyzz{{{z{{zzzyzzzzzz{z{z{{zzzzz{zzzzzzzzz{{{zyzyzzzz{zzz{z{{zyzy{zyzzzz{z{{{z{zzyzzyz{{z|z|z{yzz{zzz{z{{{z{{zzz{zyzzzz{{{{{|zz|zyzzzz{{zz{{|{z{zzyzy{{z{|{z{{z{z{{zz{z|{{{{{{zz{{{yz||{{zz|zz{{{y{z{{{||||{|zz{z{{zz|{{|{|{{{zz{{{zz|{||}z}{|z{z{{zz||{|||}|{{{{z{{|z|||{|{{{{zzz|z{z|{{|{{{{{{||z{{{{||{{||{{{{{{z{{{{{{|{}{{{{|{y{{{{{{|{||zzzyzz{{{||{{|{{{{{{z{{z{|{z{|zzyzzzzzz{{{z{zzzzyzy{z{yz{{z{z||{zzz{yz{zzz{{{{{{zzzzzzz|{zz{{|z{z{{zyyzz{{{z{|{zzzzzyzy{z{|zz{zzzzz{z{zzz{zz{{|zzzzzzzzy{{zz{z{zyzzyzzzz{{{z{z{yyyzy{yzz{zzzz{z{zyyy{zz{zz{{z{{zzzzy{{{z{{{zz{{{zzzzzzzyzz{{zz|zzzyyyzzzz{zz{{{zzzzzy{yzzz{{z|{z{z{zyyzzz{zz{z{{z{{zzyzz{{{{{{{zzzzzxzzzz{{{{{zz{{zz{z{{|{{{{{{{y{zzz{z{{{{zz{{{zz{{zzzz{{z{{{|y{{zzz{zzz|{{{{{z{z{{zyzz{{}{{{{{z{{{z{{{{||{{|{{z{{{zzz||{{{|{|z{{{{{{{{{zz{|{|z{{|z{z{{{|}{|{|{z{{{z{{{{{{}z{{{zz{{|{{{{z{||{}{|{{z{{{{{|{{{|z{z{{{zz{zzz|{{||{{zzzzzz{{||{{|{|{zzzyzz{{{|{{z{{zzzzyzzzzzz{z{{{zzzzzzzz{{z{{{z{zzzzz{z{zz{{z{|{zzzz{zy{z{{z{|{{zzzzzzyz{{zz{z{yzzyzzzy{{{z{{{zzyzz{{zy{z{{z|zz{z{zzzy{{zyzz|z{zyzyyyzzz{{{zzz{{zz{zzzy{zzzz{{zzyzyzzzyz{y{{z{{zyzz{zzz{zz{{{zz{zzzzzzzz{{zz{{{{{zz{{zyz{{z|{{{{zyzzzzy{z{zzzz|{yzzzyzz{{z{{{{{{zzzzzz{{{{z{|{|z{{zzzyzz{z{||{{zz{{z{z{{{}z{z}{{zzz{{z{||{{{{z{|zzz{{zz{{{{{|{|{{{{{{z{{|z{{|||{zz{zyzz{{|}{{{{|zzzz{{{{|{z{{{z|{{{{||{||z{}||{{{{{{{z{{|{|{{{{{{||{z{{{|{||{|{{z{{z{{{|{{|{||{{|{{{{z{|{{{|z||{zzzzz{{{|{{{||{|{{zz{zz{{{{{|{{zzzzzzzzz|{{{z{{zzzyzy{y{z{{{zy{zzzyzzzzzzz{{{{{zzzz{zzzy{{z{{{z{y{z{zzz{z|{{z{{{{zzyzzzz{z{{{{zzzzzy{yyzz{{{|{zzyzyzzz{y{{zyzzzzzzyzzzz{zzzz{{|zzzzzzz{zzz{{z{yz{yyzzzzz{{{{{{zzz{zzz{zz{{z{z{{zyzzzyzyyz{y{z{{zyzzzyz{z{yz{{z{zzzzz{zzz|{z{{|zz{{zzzz{z{z{z{{{{zz{{yyz{||{zz{|z{zzzz{yz{{{z{{{{zzz{zz{{{|{{{{{zz{zyzzz{|{{z{{{{zz{z|zz{|||z{|{{{{{{{z{{|||{|{{zz|yz{{zz|{z|{{|{z{{z{z{{|z{{{|{|zzz{z{{||{{{{||{{zz{{z{{|{{|{|||{{y{z{{{||{|||z{z{|{{z{{{{{{{||z{zz{{z{z{{{|{|}|{{{{{{{{{|||{{|{{{zzzzzz{{{{{{{{zz{{{{z{z{|z|{{{y{zz{yz{|{zz{{zzzzzzyzyyz{z{{{|zz{yzyzyz{z{zz|zzz{zzzzy{zzzz{z{zzzyyyzzz{{zy{{{zzzzyy{zz{{|zzzzzzzyz{zyzz{zzz|zzyzzzzzzz{zyz{zz{zzzyyyz{zzzy{{zyzyyzzyy{zz{{{{zzzzzyzyzzz{zzzzzz{yyyyzyz{z{z{{zyyyyzzzyzz{{{zz{yzzzz{zyyzzzz{{{zzzzxz{z{{z{{z{z{zy{zzzz{y{zz{{{z{zz{yz{z{z{{|z{{{{zzzzz{zz{{z|{zz{{zxzyz{{{{{{{{y{{zyz{zz{z{{{{{zzyz{zz{{{zz|{{{zz{zzyz{z{{{||{z{zz{z{{{{{{{{{|{z{{zz{z|{zz|{{z{{z{zz{{{{{{{{}|zz{zz|{y{z{z||{{{{{{z|zzz}||{||{zz{{z{zz{{{{{{{{{z{{|{zzzz{z{{||{{{{{{{z||{{z||{{{z{{{zzz{{{|{{{{z{{{z{zz{{{zz{{{z{yzz{{z{{{zz{{zzyzzzzzz{{y{z{{{zzzyzzz{{zz{{zzz{zzzzzz{zzzz{{{{{zzzzzzzz|{zz{|zz{yzyzzz{z{z{{{{zyzyzzyz{zz{{{{{{{z{zzzy{zzz{{zz{{yyzyzz{{zy{z{yyz{zyzzz{{zz{|zzzz{yzzyzy{y{{{zz{zzzzzyzz{||{{{zyzz{yz{zz{{zzzzzy{yzzyz{zzzzz{{zzyyzz{{z{zz{z{zzzzyz{z{{{{z{{{{z{{zzz{{{{zzzzz{zzzzzz{z{{{{||z{|{zz{zzz|{z{|{{{zz{z{z{{{{{{z|{{{{{z{zz{{|{{|{|{|{{z{{{z{{{|{|{|z{|zz{{{|{{{|z{|{yz{y{zz{{|}{{{z{zy{zzz{{||}{|{|{z|{{z{{{z{{||||{{zzz{{{z|{{{||}}z{{{|{|{|}|{||{{{{{{{z|{|z{|{|{{{zz{{{{|{{|z|{|{zz{zz{z{{|||{||{{{z{zz{z{||z{|{{{zzzz{z|{{{z{{{zzzzzy{zy{{z{z{zzzzzzzyzz{{{z{{z{zzz{zyzy{z{z{{{zz{yzzyz{|{{{z{{{zzyzzzxzzzzz{z{zz{zzz{y{{z{|{{{{zzyzyz{zzzz{{z{zzzyyzyzzz{zz{{zzzzz{yzz{z{zzzz{{zyzzyzyzz{z{z{{yz{zyzyzzzzy{y{zzzzzyyzzyz{zzz{|zzzzzyyzy{z{{{{{{z{z{zz{zz{z{{z{{zzz{zz{{{{z{|{{z{zzzz{{{||{z{{{zz{zyz{zz{{|z{{{y{z{zzzyz|z{{{{z|zz{zzz{{z{{{{|{zzzz{{{{{{{{z{{{{{{{yzz{{|{{{{}|yzz{{|{z||{{{||||z{z{{zz|{|{|}{{|zz{|{{z{||{|{||{{x{y{{{{||{||{||z{{{{z{{{||{|}}|{{zzz{{|{{|||{{|{{zzzz{z{|{|{{|{{{z{{z{{||{{{z|{{z{{{zy|{{||{}||{z{z{{{{{{{z{{{|z{{{{z{{y{|z{{zyzzzzzzzz{z{{{z{{zz{yzzzz{{zzz{{{zzzyzzzzz{{|zz{zy{zzzy{z{|{zz|{{yzzzxzz{z{z{z{{{zzzzzzyz{z{z{|z{{zzzyxzz{zz|{{{yzzzyzyzzzz|z{{zyzzzzyzzzzzz{{{zzyyyyzzzz{{z{{{zzzzyzzyzyzzzz{|{{zzy{zzy{zzz{{z{{zzy{zzyy{zz{z{yzz{y{{zxz{{|{{z{{zzzzzzz{{{z{{{|zz|zyyzzz{z{|z|{{yzzzzz{z|{{{{{{z{{zzz|{z{{{{{{zzz{zzyyy{{{{{z{z{{zzz{zz{|zzz{{|{z{{{{{z{z||{{{|{{z{z|{{||{{{{|{z{{{{{|z{||{|{{{{z{z{{{z||{{{{{{{z{{{{{z{{|{|{||{zzzz{{z{}{{|||{|{{{{z{{|{{{{{{{z|{{{{{{{{{{|||{{z{{{zy{{{{{{{{|{zz{z{{z{z||{||||z{{z{zy{{{{{z|z{y{zzy|zz{{{{zz{{zzzzzzy{{{{{z{{{{z{zzzz{{{{{{{{{zzzyz{zzz{{z{{{{{zy{xyzzzz{zzz{{{{yyzzz{{{{zz{{{yyzz{zyzyz{y{|zzzzz{zzzzz{z{zz{{yzzzzyyzz{zy{|{{{zzzyzzzz{{z{|{{zz{zzyz{z{z{z{{{zzzzyzyz{{{zz{{zzzy{yzzz{zz|{zzzz|zzy{yyzz{z{{{zzzzzzyzzzzz|z{{yzzz{zzz{{zz{{{{zz{zzz{{zz{zz{|{yzzyyz{z{{{{zz{}{z{{{zz{{{{{|z{{zz{zz{zz{|{{{{{{{zyz{{{{{{{{{{|{{{{z{{zz{|{{{||{{{z{{{zz|z{||{{||z{zzyz{{{|{|{{|{z{{{{z{||{|{||{|{{{{{{z{{{|{{}|{zz{z{{{z||{{||||z{|z{|{|{{{{|{{|{z{{{z{|||{{|||z|z{z{{{{{|||{|{{zzzzz{z||z{|||{|{{z{z{z|{{{{|z{yz{z{z{z{{|{|z{zzy{zzzzxx{{{{{{zzzzzyzzy{zz{|zz{{zy{zzzz{{zzzzz{yzzzzzyyzzz{z{{{zz{zzyzx{{{zz|z{zzyz{z{zz{z{{z{zzz{y{yyz{zzzzyzzzyzzzzyy{{z{z{{{{yyyzyyzz{yz{zzzzzzzyzxy{z{{zzz{zzzzxyyzzzzzz{{{zyy{yy{yy{zzz|zzzz{y{{zzzyzzzz{{zzyz{zzzzzzzzz{|zyzyzzzzz{zz{|zzzzzzzzz{{{{{{z{|zzzy{{zzz{zz{z{{{z{{zyzz{z{{z{{zzzz{{zyz{{{z{z{z{yz{zzzz{|z{||{|zzzz{{{zz{{{{|{|{z|{zz{{{{{|{{{{{{z{{zzz{{{|{z{{z{zz{zz{{|{{{{{|z{zzz{{zz|{{{|{||{zzzz{{z|{{|||z|z{{zzz{{{z|{||z{zzz{{zz{{z{}{{|{{z{z{z{|{{{{|{{zz{zz{{z{|{{{|{z{{zyzz{{z{{{{z{z{zzzzzzz{{{zz{{{zzyzzzzzyz{zzz{{yzzyzyxyzz{{{{z{{zzyz{yz{{zz{zzzzzzyzzyyzzzzz{z{zz{zyzzyzz{{zzz{zy{yz{zz{zzzz{zzzzzzzzzy{zzzz{yzzzzyyzzxzzyzyzzzyzzyzyyzzzzyyzzzzzzzxyz{z{{{zzzzzzzyyz{y{|{{{z{zzyyyyzyyzyzzyzzyzzzyzzzyzzz{z|{{zy{yzzzzzzy{{{zz{yzzxy{z{z{zzzz{{yzyzzzyzz{z{{{{zzzyzzzzz|z{{{{{{zz|{zzyzzz|z{z{{zzz{zzz{{|z{{|{zzzzzzzzz{{{z|{{zz{y{{zzz{{{|{{{zzzz{{{z{z{|{{||{zz{zzzy{{{{{{|{{zzyz{{{z|{{{{|{z{zzzz{{{{{z|{{|{z{{zzzz{|{{{|{{{z{{z{{{{||z{||{{zzzz{zz||zzz{{{{zzz{z{{{zz{{||{{|zzzzzzz{{{{||||z{zzzzz{|zz{z{|{zzyyy{z{{|{{{y{zzyzzyzyz{z{{{z{zyzzzzy{zzzz{zz{{zzxzyzyz{{zz{{zzzzzzyzzzz{zzzzz{{zyyzzx{yzzzy{{zyzyzyzxzzzzz{{zzzzyyzyzzzzyzzzzzyyzxzyzzzzzz{{zyzyyyzyy{zz{z{zyzzxyzzzz{zzz{z{z{zyyyyzzz{z{z{{{zzzzyyzyzyzzz{zzzzyyzy{yy{z{zy{z{y{z{zzyzzzzzzz{yzzzzyz{z{z{zy{{yzzzzz{z{z{{z{{{{zzzzzzzz|zzzz{{zz{{{zz{{{{{{{zzzyyzzy{zz{{z{z{zz{yzzzzzz|{zzz{zzzzzzz{z{||{z||{{{{z{z{{{{zz{|{|z{z{zz{y{{{z||{{{zzzzzz{{{{z{{|{z{|{z{{|{{{z||{{|zz{{zzzz||{{|{|{z{{zzzy{|{{{||{{yzzzzzz{{{{{{z|{z{z{{zz{{{{z{z|z{zzzzzz{z{{{||z{zzzzz{zzzzz{{{{{z{zzzzzzzz{z{yzzzzzyyzyzz{z{zz{z{zzzzzz{zzz{{z|z{yyzyyy{z{{yz{{zzzyzyzzzzy{zz{{zzzzyyzzz{zzyzz{zzzyyxxzzzyzzz{{zyzyyxxyzy{zyzzyzyzzzyzyzyyz{zz{yzzzzzyzzzzzzz{yzzzyyzyzzzzzz{z{zzzyy{yyzzzz{zz{{yyyzyyyzyzzzzzzzyyzzyzzzzzzzz{zzz{yyzzzzzzzz{||{z{zzyyy{zzz{z{{yzzzzyzy{{zzz{{zzy{yyzyzz{{{{{{{yz{{zz{zz{z{z{{z{yyzzzz{{{{{{zzzzzzzzzzz{z{{zzz|zz{{{yz{{{{|{{{{{{z{zyzz{{{{|{{{zzzzz{zz|{|{|z{{{zzzz{{z{|z{{{{{{z{{{|{{{|{{||{z{z{{zz{|z|{{{|{|{zz{{|{{z{{{{{|{{z{zz{z{{z|{{{{|{{z|{{zz|{{|{{{{{z{zzzzzzz{{{{{{z{{zzz{zz{z{|{z{zz{zz{zyzz{z{z{zzzyyzzzyz{{z{zz{yzzyyyyzzz{zz|{zzzyyzy{y{z{z{z{{zzxzyyzyzz{y{zz{{zyzyzzyzzz{zzz|yxyyyzzyy{{{z{{yzzzyzyyyzzzzzyzzzyzyyzz{zz{yzzzz{yzyzyyyzz{{zzzyzxzyyzyyz{zz{{z{zyzzy{yzzz{{zz{zzyzyyyyyyzzzzzyzzzyyzzzyy{z{zzz{zyzzzzyyz{{zz{|zyz{zzyzyzzz{z{zzzz{zyz{zzzz{{||{yzzyzyz{z{{yyz{z{zzz{zyyz|{|{{z{zyzzzyyzz{{z{|{z{zzyzyzz{{{zz{|{{zzzzzz{{{{{{{{{zzzzyz{zz{z{||{{{{{zzz{z|{z{{{{z|zz{z{{z{|{{z{{||z{{zz{zz{{{{{z{{z{zzz{zz|z|{{{|zz{{{{zzz{{{{{{{{zz{{{zz{zz{{|||{{{zz{{{{{{{|{{zzzzzzzzz{|{|{z|{{zzzzz{zz|{{zz{zzz{yyzzyz{{{{{|{yzzzzy{zz{zz{{z{z{yyzzyyz{{zz{{zzzzyz{{z{zz{{{{zzz{yzyyzzzz{zz{{zyyyzzzy{z{zzzz{yz{yzy{zzzzzzz{zzz{yzyzz{y{yz{{z{zzyzzzyzzzyzzz{yyyzzzyzyyzzzzz{zzyzzzzzzz{y{z{zzzzyzyzzzz{{z{{{yyzzzzzyzzzzzz{y{yyzyyzzzzzz{zzzyy{zzzzzzz{{zz{{zzzzzyzz{zz|zzz{zzzyzz{y{z{{yz{zzz{yzzzz{{zzzzzzzzzzyz{zzz{z{{zzz{zzz{{zzz{zz|{{zzyzzzzz{{{zz{{{zzzzz|yzz{{z{{{{z{zz{zyz{{{|z{|{y{{zz{z{{|{y{{{{|zz{zzzzz{{}{{|{z{zz{{zzzzz{{{|{{z{{z{zzz|z{{|||{{{{z{zzz|{zz{{{{{y{{z{{z{z{{{{{{{zz{{{z{{|{{{|{{zzzzz{zz{{{{{{{zz{zz{zz{{yzz{z{z{{zzzzyz{y{{|{zyzyzzyzyzzz{{zzzzzzyyyyzz{zzz{z{zy{zzyyy{z{z{{{{yyxyzzy{zz{{{z{zzzzyyzzy{z{{z{{{zzzyzzzyyzzzzz{yzyzzyyzxz{{zy{zzzzyyyzyy{zz{zz{{yyzzzxzzzyz{zz{zzz{yzzyxzz{y{zz{zz{zyzzyz{z{yzzzzzzyzyyxzzzz{zzzzz{zyyyyz|{{z{z{yyzzzzzyz{|z{{{{zzzy{zzyzz{z{zzzzyz{zyzz{zz|{z{|zyzzyzzzzz{{{|{{{{yzzzz{z{{{z{{yz{zzyz{zz{{{{{{zzz{{zzzz{{{{{{zyz{zzzz{{{{{{{{zzz{{zz{{z{|{{{{{{{yzz{zz{{|zz{{{{{zzzz{zz{{|{{{{{{{{{y{{{{zz|{{{{{zz{zzz{z|{|{{{{{z{{zz{z{z{{z{{{{zz|zz{{{|z{|{{||zy{{{z{{{z{{{{|{{{zzzzzz{z|z{{{{zz{yzzz{{z{{zzzz{zyzyyzzz{z{zzzzzz{zyzyz{{zzzzzyzzyzyyzzz{z{{||zzyyyzzy{zz{{{{zzzzzzyyzzzz{zy{zyzzyzyzzz{z{{{z{yyzyyyzyy{z{{{zzzzzzxzzyyz{{{zzzyzzxzyyyyzz{z{z{yyzzyzyyzzz{{zzz{yyzyyy{z{zz{{zzyzzyyxzzzzzzz{{zzzyzzyzyz{zzyz{{zzzyzzzyyzzzz{{z{yyy{{yyzzz{z|{{{zzzzzy{{{{zz{{{zzz{yzzzz{z{{z{{zz{zzzzzz{z{{{{{zz{zzyzzz|z{z{zzzy{{zzzzz{|{{{{z{z{zzzzz{{zz{{{z{{|{{z{z{{|z{z{{zzz{zzz{{{{|z|{|zzzyzzzy{z{{||{|{zzzzzzz|{z{z{||{z{zzzz{z||{|{{||zzyz{z{{||{{{||{z{|{z{z{z{{z{{{|{z{{{{z|{{{{|{|{{{{zz{{{{{{z{{{{zzzz{yzz{{z{z{{{{yzz{zy{{z|{{{z{zzyzz{z{|{zz{z{zzyyzzzzzzzzz{|zzzyzyyz{z{z{{z{|zzzyyzyz{{{zzz{{zzyzyzyyz{{{zzz{zzzyyzzxz{zzz{z{zzzy{yzzz{zzzzz{{zzyzyzz{{{zy{zzyzzzzzy{zzz{zzz{zzyyzyzz{{{{zzzzyyyzyzy{z{{|{|yz{yzzzzzyzzz{z{y{zzzzzyyzy{{{{zzzzz{zyyxyz{zz{{|zzzzz{zyz{{yyzzz|zzyxzzz{y{|zz|{{zzz{yzz|z{z{{zz{zyzzzzyz{{zzz{||{z{yzz{{z{{zzz{|zzyz{zz{z|zz{{|{{zzzzzyz|{{zz{z{{zz{{yzzy{|{{{|zz{zzz{zz{|{{z{{|{yyzz{zyz{{{|{{{{z{z{zzzz{{{{zz|{z{z{{{{z||{{||{{zzz{{{{{|{|{{{|{{{z{yz{{|{z{|{|{zzz{{zz{{{{{{|{{zz{{{zzz|{{{|{{{z{{zzzzz|{{z{{|{{zzzzzz{z{z{z{zz{{zzzzz{{zz{{{z{zzyyzzy{{zzzz{{yyzyyzyyzz{{y{z{zxzyzzyxz{zzz|zzzzzyyyyz{yz{{z{{z{zyxzzy{zzyzzz{zzzyyzyyzzyzy{zzzzzyyyzyzz{zyz{z{yzzzzyyzzzzz{z{zyz{{y{z{zzzz{{{yzzzyyyy{zzz{z{{zzzzyyyyzzzzz{y{zyzyzyyyzyzzyy{zzzzyyyzzz|zzz{{zzzzzzxzzzz{{{{{{zyyzzzzzzzz{z{{{{yzzzy{z{{zy{{{{zzy{yyzzzz{zz{{|zy{zzyzzz{{z{z{{zyzzzy{yz{z|z{{{{zz{x{zzz|{{{{|{{{zz{{zz{zz{{zzz{z{yzz{{{{{||{{{zz{{{{zz{|{z|z{{|zzz{zzz{||{|{{{|{{z{{|zzzz{{||{zzz{y{z{z|{||{||{z{{{z{z{{|{z|{{{z{{{{z{z|{{z{z{{{{{{{{z{{{{{{{|{{zzy{z|z{{{{|{|{zzzy{y{{{{{{zz|yzzzyzzzz{{{{zz{zzyyzyzyyz{zzzz{yyyyyzyzz{{yzz{zyyzzz{yyzz{z{{z{zzzzyzyzzzzzyzz{{zzyzyzyz{{{zz{|{xzzyz{y{{zzyzzzzyzyzzyyyz{zzz{zzyyzzyyyzzyzzzz{zzyyzyyyyzzz{{{zyzyzyzyzzzzyzyzzz{zzyyzyzzzzzz{{zyyyzyxyzyzzz{zzzyyyyzyyz{z{z{zyyyz{yzyz{{z{{z{zzzzzzyyyzzzzzzzzzz{zxzzyzz{{{z{{zz{zzzzzzz{{yz{|zzzzzyzy{zyzz{{z{yzzzz{yz{{zz{{{z{zzzzzyzzzz{{{{{z{z{{{zzz{{{{z{yzz{{{yz|z{|{{|{{{z{zzyz{z{{y{}{|z{zzz{yz{{{{{|z{{{zzz{{{|{{{|{||zzz{{{z{}{{{{{{|{z{y{{z{{{{{{{{|{{{{{zz{zz||{|{z{z{zzy{|{z{|{|{zz{zz{z{zz{{{{{{{{zzzzyzz{{{{z{{zzzyzyzz{{{{{zzzyzzyzzyyz{{zzz{zzyzzxyzy{zzzz{z|{yyyzzzzzz{{z{z{zzyzzyy{z{z{yzy|zzzzyzzyzz{yy{z{zyzzzyzyzxzzy{{zyyyzzzzzzz|zzzzzzzyyyyyz{zyzzzyzyyyzzyzzzzzzyzzzzzzzzzyzyzzzzzzzzy{yyyyzzy{yzzz{zyyyzyyzzzzz{z{zzzyzxyyyzzzyzzz{zzzyz{yyz{z|z{{{zyzxz{zyzzzz{{z{zzzyzzzz{{{zzzzzzyzyy{zzz{{z{{{{zyzzzyzy{yz{z{zz{{zzy{{yzz{zzz}{{y{zz{zzz{zzz{z{{{{zzz{zz|z{{{{{y{zz{{z{{{z{{|{{{zzzz{zzzz|{{z||{{zzzzzz{{{{z{|{zz{zy{{{{z{{z||{{{zzzzz{{{{|{|{||z|{zzz{{{{{z{{|z{z{zyzzz|{z{{|{z{zzz{z{|z{|{{z|{{{z{zzz{|z|{{|{zzzzz{zz{{{{{{z{zz{z{zzzz{{yz{z{yzyyzzzzzzzz{y{{yzzyzyyyzzz{{{z{{zyzy{zz{zzz{|{zzzzzyyzyzzzz{yz{zyzyzzzyz{{zz{z{z{zyzyzzz{zzy{{zzzzzzyzy{zz{zzzzyzyzzyyxzzy{z{{zz{zyxzzzz{y{zyzy{zzyyyyzyzzz{zzzzyzzzzyyy{z{z{{{zyzyzy{zzz{zz{{zzzzzyyyzy{zzz{zz{yyzz{yzz{zzzz{{{yzyzzzz{y{yz{z{{z{zzzzzyz{z{{z{z{zyzyzz{zzzzz{{{z{yzzzz{{z{{{{{zz{yz{zzzz{zz{{{zzyzzzzzz|{z{z{z{zz{zz{z{{{{{{{{zz{y{y{{{{z|{{{|{{zzzzyy{z|z{{{|{zzz{z{z{{{{|{{{zz{z|{z{||z{{{{{{{z{{{z{{|{|{||{{{{{{zz{|zz{{{|{{zz{{{z{z{{{z{{{{{{{zzzz{{{zz{{{{{{zzzzzz{{|{|{|zy{{zyzy{{z{z{|{{zzz{y{z{{{{{{zzzyzyzyzyzzzz{zz{zzzyzyyzzzzzz{{{zzzyyyyyzz{z{zzzyzzzzzzzzz{z{yz{{zyxzzyyz{zzzyyz{zzyzzzzz{z{zz{zzyzzzyyz{zzyzzzzy{zzyzzyyz{yy{zzzyyyyyzzzzzy{zzyzzzyyyyzz{zz|zzzzzzyyyyyy{z{y{{z{zzyzzzzz{zzyzz{yyyzz{yzyzzz{z{{yzzzzzyyzz{zz{{{yyzzzzyzzzzzz{z{zzyzyz{zzz{zzzz{zyzyzz{zzzzzzz{{zyzzzy{zzzz{{{z{zzyz{{yzz|{{{{{z{zz{yzyzzzz{zz{{{zzz{{zzz{|z||{{{zyzz{{z{{{zz|||{zzzzzzz{{{{{{|z{z{{{{zz|{{{{zz{{{{{zz{z{|{|{||{{z|{yz{z{{z{{|{|{zzzzz{{{{|{|{{{{|zzzzz{{|z{{|z|{{z{{zz{{z{|{{{{|{zzzzz{{{z{z|||{{zzzzz{{{{{{{{{zz{yzzyzy{{zz{{{zzyzyxzzz{{yz{{|zyyzyxzyzzzyzzzzzzzyzzzzzzyz{zz{zyyzyzzyzzz{zzy{zzzyyyyyzz{zyzzzzyzzyyyzyz{zzz{zzx{yyzyzzyyzyy{zzzxzyyyyzzyzyzzzyxyyzyzzzzz{zzzyyyxyxyyzzzzyzzzzyzzyzz{yzy{y{{{zyyyzyyyxzyzz{zz{zzyzzzyzy{y{zzzzyzzzyyyyz{z{zzz{y{zyyyyzzzz{z{z{zyzyzyzzz{zzzz{{yyzzyzyz{{z{{{{{zzy{zyyzzzz{{{{zy{yyzzxz{z{zzz}{zzzzzzyy{|zzyz{zzzzzzzzy{{{{{{{{yz{zz{z{|{z||{{|{zyzz{yz{{|{z|||z{zzzz{z{|{zz{{zz{{zzz{yz{z{zz|{{{zzzz{z{|||||||{{zz{{{z{{{{|zz{{zz{zzz{zz{|{{|}|{z{{z{{zz{{z{|{zzzzzzzzzzz{z|{zzzyz{{zz{{z{z{|{{zzzyyzzz{z{{{zyzyxz{zyyz{{zzzz{zyzy|zzyzzy{zz{zzzyyyyyyz{zzz{{zyzzzyzzzzzz{zz{zzzzyyzyyzzz{zzzzyzzzyzzzzz{yzzzzzyyyyyyyzzzzzz{zyzyxxzxyzzzzzzzzyyyzzzzyz{{yzz{zzyxzyzzzzz{z{z{zyyzzyzzyzzy{zz{{zyyxzyyxy{{yzzz{zyzyzyyyyzyzy{z{z{zz{zyxz{{y{{zzzzxzzzzzz{zzy{zzzzzzzz{y{zzzz{{{zzzzyyzyz{z{{z{zzyzzzz{z{{{zyz{zzzzyyzzzz{{z{z{zz{yyyz{y{{zz{{{{z{zzzzzy{z{{{{{{{z{z{zzz{{{|{{{|{z{{{yzz{z{{{{{|{yzy{zzz{{{zz|{{{zz{zz{{{{{{{|{|{yz{z{{{z{{z{|||{{zzzyzz{{{{{{{z{zzzy{zz{{{{zz{{z{z{{zzz{z{{{{{{zzzxy{yzzzz{zz{{{zzzzyyzz{{z|{{z{{{yy{zy|y{z{zz|yz{yyxzx{{z{zzzzzzzzzzyzyz{{{{z{zzyzyyzyzyy{yzzzzzzzyzyyyz{zzzz{zzzyyyzy{z{y{{{{zz{zyzzxy{zyzz{zzz{zzyyy{{{zyyzy{zyzyzyyyzzzyzzzyzyzzyxyzzz{zzzz{yzyyyyyzzyyzzz{zyzzyzzxyzz{zz{zyyyyzzzyzzzzz{z{yzzzyzyy{yzzy{z{zyzyzzz{zz{yzz{{yyzyzzzyz{{z{|zzzyyzyyyzzyzzz|{yzzzyyyyzz{{z|z{yyy{yzzzyz{z{z{zy{yzzyzzz{z{{zz|zzzyzyzzz{{{{z{zzz{zz{{{yzzz|||z{zzzzz{zz{zz{z{|{yzzzzyy{z|||z{|{{zz{{{yz{{{z{z{{zzz{zzy{{|{{{{{{{zzz{y{zz|{|{{|{{{z{zzzzz|{z{|{|z|zzzz{{{zz{{{|{{{{zz{zz{z{{{{{{zzyyzzz{{z{{y{{{zzz{z{z{y{z{zz|{zzyyzzy{zz{zz{zzyyzzzzzy{zzz{z{zzzzyzzzzzzz{z{z{zzyzyzyyzyzzz{{{zzzyyzzyz{{|zz{{zzzxyyzxzy{z{zz{yzzyyyyyz{zzzzzz{zzyzyzzzzz{y{yzzzyxzzxzzzyyzzzzzyyzzzzyzzzzzz{yyzyzyyyyzy{z{y{{{zyzyyyzz{z{zz{|{zyzzzzzzy{zzz{{zyyzzyyzyzz{zzzzyzzyzzzyzzz{{z{zzz{yzzzz{{zzz{{{zyzz{yz{z{z{{zz{{zzz{yyyzz|z{{{{{z{{{zzzz|z{{zz{yzyzzzzz{{z{{||yzz{zzzzz{{|{{{zzz{y{zzz{{{}{z{|{yz{{{{zz{{{{{{{{|z{z{zzz{{{z{{|{{zzzz{{zz{{{{{{{{{zzy{{zzz{|||{|{zy{zzz{{|{{{{{{{z{zyzz{|{{||zz{zzz{zz{zz{{{|{|{z|{{{zz{{{{{|{{{{zz{yz{{{{{{{{{{zzz{zy|z{{zz{z{{zyyzz{{zzz|zzzz{z{yyyyyyz{zzzz|zzzzzzzzzzzzzzzz{yzzzzzzy{{z{{{{{zzzzzyzz{z{{yz{zzzzyxzyzzzzzz{zzyyyy{zyy{zzzyzz{zzyzzzyyzz{yz{{zzy{yzyzzzzy{yz{{zyxz{zzxz{yyzz{zzxyyyzyzzz{z|{zzzy{zyzyzz{z{{zzzzzzyzyzyz{yyy{z{zyzzzyyyzzyyzyzzzxzzyzyz{z{zz{{zzzzyzzyyzzzzzz{{zyyzyy{y{{zz{{{{zzzyzy{zzy{z{z{|{yz{zyzyz{{yz{{{|zzzyzzz{{zz{{{z{zyzzzz{{|{zzz{zzzzz{z{{{|||{{{{yz{zz{{z{zz|{z|{zzz{zzzy{|z{{{{|zzyz{yzz{{{z{|{{z{zzz{z{{{z{{{{|{z{{{{z{z{z{{|{{zy{{z{{z{{z{{|{{{zzzzzz{{{z||{{|{zz{zzzy||{{z{{{{zzzzyzzz{|{z{{{{zzzzz{z{{{||z{zzzzzz{y{z{zz{{{{zzyzyzzzzzzy{{{{zyzz{zyyzz{zz{z|{zzyzz{{zz{zzz{zzzzzyzzzz{z{zz{{{zzzzzzyz{z{zzz{yyyyyy{yz{zyz{{zzzzzyyzzzzzzzzzy{zyzxzzyzzzz{yz{zz{zzz{zzz{z{zzz{{zzyzzzz{zzzz{{{zzyzzyz{{{{z{zyzzz{zxzyzz{zzz{{{zzyyzzyyz{{z{zzzz{zzzzzzz{zz{{{|{zyzzyzy{{zz{{|zzz{zz{zzzz{z{{zy{zyzzz{{{{{z|z{z{zzzzzzz{||{{zzzz{zzzzzz{{z{z{{{zz{{z{z{{{{{{{{|y{zz{{z{{{{|z{{z{zz{{{{||z{{|}|{zz{{z{yz{{|z{{{{{{{{zz{{{{{{{||{zyzzz{z{{||{{|z|z{yz|z|{|{{{{{{{z{{y{{|{{{{||{{{zz{z{z|z||{{{{{|{z{{zy{{{{|{{|{z{zzzzz{{{zz|{||{{zzzzzz{{{{{{{{zzz{zy{y{{{{{{{{zyyzzyzzyzzzzyzzzyz{zyzz{z{zz{|z{zzzyzyyzzzzzz|{zyyzzyyxz{{|yzzzzy{yzy{y{z{yz{zzzyzyyyyyz{{yzzzzzyzyzyzyzzzzzz{zyzyzyyzzzyzzz{{zyyzzzyyzz{zzzz{z{zzyxyxzzz{{{{{yzyzzzyzzz{z{z{{zzyy{zyxyyzzzz{{z{{yyzzz{zzz{z|z{yyzyzzzyzzzy{z{{z{yzzzzyzzzz{zz{{zyzzzzzzzz{z{|{zz{yzzzzzzzzz{{z{z{|{yyyy{z{{{|z{zzzzzzyz{||yy{z{zzzzzzz|{zz{{z{{zz{yz{|{{z||{||{z{yzz{z{{{{{{{|zz{zzz{y{{{{{{{|{zzzzzzz||{{{{{{{{{{{{{z{{{{{{{|z{z{{zz{{{z|{{{{{z{zzzz{||z|{z{zzzzzzzzz{{{{{{{{{zz{z{z{||{|z{{{{{zzzzz{{{{{{{zzzyzzyy{{{|{{zz{{{zzzy{zy{{z|zyzzzyz{yzyyyzzyzzzzy{zzzyxzyz{{zzzzzzyzyyyyz{zzzz{{{yzyzyzyz{{zzy{zzzzyyyzxyzzyzzz{xzzyyyyyz{{zzzzyzzzyzyyyzz{yz{zzzzyyyzyyzxz{zzzzyxyyyyzyyzzyzzyzz{zy{yyyzz{zzz{{zzyzyzzxzzzzyzzzzyzzyxyyy{zzz{zzzzzzyyyyy{zzz{{|{yz{yzzyzzzzy{{zyzzzzx{yyzz{{{z{yzzzyyzyzzzzzz{{xzyyzzzzz{{{zz{zyzyz{yzzy{z{zz{zzzzzyyzz{z{z{z{zy{y{z{zz{{{{z{{zzzyzzyzzzzzz{{{{yzzyzzz{z{{|z|{||zzzxyzzz{zzzz{zzy{{{zz{{{{{z{|zz{zzz|{z{{{z{z|{{{|{zz{{{{{{z|{zzz|zyzzz{|{z{|{{{zz{zzzz{{{{|{{|{zzz{zz{{zy{z|{|zz{z{yzzzz{{{{z|{{z{yzzzzzz{z{{yzzzzzzzz{z{z{{{zyzzz{zyyyz{z{{z{yzzzyzyzzz{zz{z{{zyyyyzzzzzz{{|{|yyzzyzzzz{zzy|zzyzyzxyy{zyzzz|zyzzxyzyzy{zz{{zzzzzyyyzzzyzzzzzzzyyyyyyzzzzyz{yyzzzyyzzzyyz{{zzzyyyzzxyyz{{{{zzz{yyyyyzyzzzyyz{zyzzyzzyyzzzzy{zzyyzzy{yyyzzyz{zzyxyz{zyyzzy{z{{zzxzzzyzy{{{{zzz{yyzzzzzzzy{{z{{|z{zyzzyyz{{zz{{{zzyyzz{z{{zz{{zz{{zzzzyyz{{{zz{{yzzzzzyzzzzzz{{{zzzzzzzz|z{{{|{{z{zzzz{{zzz{{{|{zy{z{zyz{{z{zz{{{{yz{zzz{{{z{{{||{{zz{yzzzz{{|{|{zz{{zzz{|{|{{{{{{z{{zyzz|z{{{z{{z{z{zzz{{{{|{{{{zz{{yz{zzy{{{{{zzzyyzzzz{zzzz|||{{zyzzyzz{{{z{zz{zyzzz{{{{z{zzzzzzyyxzyy{zzzzzzyzyzzzzyyyzzzz{zzzzy{zzxyzz{zz{{zzyyzyyzzzz{zzz{yzzyxyzy{zzz{zyzzxzyyyyyy{zzyzzz{zyzzyyy{z{z{yzzyzzyzzyzyzzzz{{{zzzyyyzyzzzzyzzzyzzzxzyzz{y{{{{zzzzzyyzyyz{y{zzzyzzzzyzyyzzzz{zzyyzzzzzzy{yzz{zzzx{yz{yzzz{{zz|zzzyz{yzzzzzzz{{{z{zyyzzz{z{{z{{{zzyz{zyzz{{yzzzzzzzzzyzzzz{zz{{|zzzyyyzyzz{zz{z{zzyzzyyz{{zz{{z{{zzzzzzz{z{{{{z{zzy{zzzz|zzz{}|{yzy{zzzz{{{z{z{{zyz{zy{{|{{{{z||{{z{zzzzz{{{y{{|{yz{zzzzz{|{{{{|{z{zzyzz||{|||{z{zzzz{z{{{z{{{{{{zzz{zzz{{z{{{|{zzzzzzzzzzzzz{{{{{xyxzzyz{z{z{{{{yzyyzzyz|z{{zy{zzzxyzyzzz{zzzyzyzzy{zyyzzzz{z{{{z{yyyyyz{zzz{z{zzzzzyzyyzz|zz|zzzyyyyzyzzzzzzz{zxzyyzzyyzyyzzzzzzyyyzyy{zzzz{{z{y{yzxyyzzyzzz{{zzzzyyzyzzzzz{{zzzy{zzyy{zzz{{{{zz{zyyyy{zz{zzz|zyyzyxzyyz{y{{{zyzyzzyy{y{yzz{zzyyzyzzzzz{zzzzzzzzzzzyzyzzzzy{{{zyzzzyzzzz|{z{{{zzyy{{zzz{y|{z||yyzyyzzzy{z{zzz{{z{z{yz{z{zz{z{{yyz{{zzz{{{z{z{{zz{zzzzz{{z|{{|{zz{zzzzz{z{{{{|{z{{zyzyz{|{{{{{{z{zy{z{z{|{{{{||zz{z{{z{z{{{{{{{{{zzyzz{z{{{||{{zz{zzzzz{{|{{{{{{z{z{zzz{z|{|z|{{{y{{zz|{{{{{|{{z{{z{y{zz{{{{{z{{{zz{{zzz{z{z{{zzzzzzzyy{z{|z{zzz{yzy{zyyzzzzzzzyzzyzyzzz{{zz{zzzzyyzzyyyzzzzzyzzyyyyyyzyyz{zy{zzzyyzzzxzzzzzyy{zyzzyyzzzzzzzzyyzzzzyyyyyzzzzzzzyzzyzyyxzzzz{zz{zyyzzyyzyzzzzzzyyyzyyyxyyz{zzzzzyz{yyyyzyzz{yz{zzzyyzxzzzy{{yz{zyzzzzyzyyzzy{zz{zyzyzzyyyz{zzzzz{yyzzzzyzzzyzzz{zzzyzyzzzyzz{{{{yzzyxzzy{z{zz{z{{z{z{yzzy|yz{z{{zyzzzyzy{zz{{z{z{zyzy{yzz{{zzzzz{{{{zz{{z{zz{{zz{z{zzzz{z{zzzz|zzzyzyzzyz{{|{z|{zzzzzzzz{{{{{z{{zz{zy{|y{{z{{{{|zzz{{y{zz||{{{{{zz{zyzz{{{|{{{{{{{{zz{zz{{{{{{||{zz{yzzz{{{{{{{{{z{zyzy{z{{{z{|{z{{zzyzz{||{zz{{zy{zzyzzz{zzzyz{xzzzyzyyyzzzyy{zy{xzzzzzyz{z{{|{zyzyzyyyzzzyz{{{{yzyyyyyy{zzzzzzzyyzxzyyzz{zz{zzyzzyzzzyzzzzzz{zzyyyyzyzzyzzyyzzyzzyyyyzyzzzyzyzyyyyzyyy{z{zz{zzyyzyzyzzyz{z{zzzzyzyyzyyzzz{z{zzzzyyzyyyyzzyzz{{yyzyzxyyzzzzyz{{yyzzyzyy{{z{{z{zyzzz{yyzzz{{zzz{zzzzzyzzzz{{z{{zzyzzzyzyz{zzzz{zzy{zxzyyzzz{z|{{zzzzyz{yz{|y{z{{z{zzyzzz{{{zz|{{z{z{{zzzz{{|{|{{z{zyzz{zzzzz{z|{zzzzzzzyzz{{{{{z{zzzz{y{z{{{z{{{{zzzzz{z{{{{{{|{|{z{z{z{{{{{|z{|{{{{zzz{{{{|{z{{{yzz{{z{{{zz{{{|{{{zzzzz{z{|{{{{zzyyzzzz{zyz{z{{z|zyyz{yzzz{zz{zzzzzyzz{zzzz{zzzzzxyyzzzz{zzzz{zzzyyzyyz{zzyy{{{zzyyyyyy{z{zz{zzzzyzyzzxz{{{y{zzzzzzyyyyzy{{z{{|zzzyxyyzzzzyzz{z{xyzyyzyyzzzzzzzzzyyzzzyzyzzyzzzyzyyzzzzzzz{z{{z{z{yyzyz{yzzz{{{zzzyyzyyzz{zzz{zzzyyzyyzzzz{z{zzzzzz{z{zy{zz{zzzzyzyzyzyzz{zzzzz{zzyyz{yz{zz{zz|zz{z{zzzzzzzz{{|zyzy{zzzz{|zz{|zz{zzzyzyz{{{{{{zzz{zzzzy{z{zzz|z{zzzzyyz{zz{z{{zzy{yzz{{z{|{z{{{zz{yzz{zz{z{z|{{{yzy{z{z{|{{{z{{{{zzz{zzy{{{z{z|z{{z{|zzz{z{z{{{{{{zz{{z{{{|{|{{|{{{{zy{{|z{{{|{{y{zzz{{{{{{|z{{{zzz{{{{zz{{{{{{zzzzyzyz{{z{{||{zz{zz{yzz{z{{z{{{z{yz{zz{z|{zzzyzyyzzy{yyz{zzz{zzyzyzyyzyzzz{z{{zyyzzzyz{zz{zz|zzyzyzyyzz{{yyz{zzzzxyyyz{yz{z{{{yzyyyz{zzz{{yy{zzzyyxyzzz{zzzz{zyzyzzyyyzzz{zz{{zzyzyyzyzzz{zz{yzyz{yyzzz{{{zz{zzz{zyyzzyy{{zz{{zyzzzyzyzzzz{z{{z{yy{zzyyz{zz{z{zzzzzyzyz{{z{zzzz{yyzyzyz{z{z|{{zz{zzxzzz{z{z{z{zz{zzzzzzz|z{z{zzz{zzzz{y{{z{{{{{zzzzzyz{{{zzz{zzzz{zyz{{{{zz{{zyz{zz{zyzzzz{{{{zz{z{z{zz{{{{{||zzy{zzzz{{{{{{|{{y{yzzzy{{{|{{{{{z{zzzz{z{{{{|{|{z|zyzzz{|{{|{|{|{{{zz{zz{{{{z||zzzzz{{{zz{{z|{|{{zzz{zz{|z{}{{|{z{{{z{yy{{{|{z|{zz{zzzzz{||z{{{yzzx{zyz{{z{z{zzzyzyzzyzzzzz{z{zyzyzyzzzzyzzzz{zzzyyzzyyzzzyzz{z{zzyyzyyzz{z{zzz{yzzyyzyzzz{zz|{zyzyyyzz{{{zzyzzzy{zyzyz{zzzzzzzzyyyyzyyy{{{{{zzzzyxyyyxyzzyy{{zzyyyzzzzz|zz{zy{zzzzzzyyzzy{zz{z{yzyyyzyyyyyzzz{zzxyyyyyyzzzy{zzzz{yz{y{zzz{yz{{zz{zyy{zzy{zzzzz{zzyzyzzzz{{z{{{z{zzzyyz{zz{zzz{{zzyzy{{{zz{z{zzzzzyz{xyzz{zzz{{{zzzzzzz{{zz{{z{zyzzzzzzzz{{{|{{{{zzzzz{{{{{{{{{zyzzzzzyzz{|{z|{{yzzz{y{z{{z{z{{zzyzzz{zz{zz||{{|zz{z{z{{z{{|{{z{yz{z{yz|{|{z{z||z{z{{{{{zzz{{|{{{zz{z{z{{{z{{{{{zy{yzzz{{z{{{{{zzyzyzzz{{{{z{{zyz{zyzzyz{{z{zyzzzxyyzzyyz{yzzyzzyzyyxyyyz{z{{{zzyzzyyzyz{zzzz{zzzyyyyyzz{{zzz{{yyzxyyyyzyzzz{z{zyyzyyzzyyzzyy{zzzzzyzzzzz{yz{zzzzyyyzxzzy{yzzz{yyyzyyzyy{yz{{z{zyzzyyyyz{zz{yzzyyz{yzyyzzzzzz|zzzyzzyyyyzzzy{zzzyyxzxyyzzzzyzzzyyyyyzyzyzzzzz{zzyzyzxzyz{zyzz{zyyz{yyzz{y{zz{zzzyzzzyzy{z{z{z{zzyz{yzzzyzz{z{{zzzzyzzzzy{zzz{{zzzzzzzzz|zzz{{{{zzzzzzzz{{{{{{{zzzy{zz{yzz|{{z|{zyz{zzyz{{zz{{{{z{z{zzzz{{{{z{{{{yyyzz{z{{{{|z{{{z{{z{zz{{{{{||{zy{zzzz{{z{{{{zy{zzzzzy{{{{z|{|{{zz{zzz{{z{{{|{{{zzzyz{zz{{{{{{|{zzzyz{zz{z{{{{{zz{yzz{yz{{{{zzz{yzyyyzyyz{zzz|{zyzzxyyy{yzz{{z{zyzyyyzx{zzzzz{{{y{zzyyyyz{zyz{{zzzxyzyxzy{zz{z{yzzyzzzyyzyyyzz{zzzyzzyzzzzyyzzz{yyyyzzyzzyzzzz{yzzyzzzzzzyzzz{zzyz{yzyyyz{{zz{{{z{zzyyxzzz|zzzzyzyzyyzxzzzzzzz{yy{zz{zzzz{yz{{{zyyzzzzyzz{zz{z{{zyyzzzzyzzzz{zzzzyzzyyyzyzyz{z{yzzzzyzy{{z{{{zzzz{z{yzzzz{{zz{{zyzzyyyzzz{{zz{zzzyyzzzz{{{zzzzzy{{zzyzz{z{||{{{z{zyyzzzz{{{{{{|{zz{zy{zz{{{z|{{{zzz{z{{{{{{||||{z{zz{z{{{z{{{z{zzzzy{{|z{{z{{{{{y{{zzz{{{{{{z{{zzzzzzz{z{z|{|{{{yz{zz{zz{{{{{{{zz{yzzzzz{z{z|{|{z{zzy{zzz{zz{{{zzzyyzzzzz{z{yyzzyzyyyyyyz{yzzz{yzzzyzyz{zzzzzzz{yzyyzzz{zzy{z{zzxzyzyzzy{zzz{{zzyyyyyyyyzzzzz{zzyyyyxyzyz{yzzzzzzyyzzyyzyzzyzzzyyzzyyzy{yz{zzyyyyyyzxyyyzzzz{{zzyzyyyyy{{zzyzzz{zzyyzyyyz{z{zzzyxyzyyyyzzzzzzzzzzxyyyxyyyzzz{z{zzyyzzxyz{zyz{zzzzzyyzzyzzzzzzz{zzzyzyzyzzzzyzzzzzzyyyzzz{{zz{{zz{zz{xyy{||zz{z{z{zzzyyyz|{zzz{z{zzzzyzz{{zzzzzzzzzzzyyz|z{{{z{{y{z{zz{{|{{zz{{{{zyy{zzz{{|{{z|{{zzzyz{{{{{zz{{|zzzz{zzzzz|z{{|||zz{{{zz{|{{||{{{zz{zzz{{{{z{|{{zz{z{zz{{zz{{||{{z{zz{zz{zz{|{{{{zzz{zzzz{z{zz{{zzzzyzzz{{z{zzz{{{{zzyyz{{{{{yz|yyyzyyyyyy{zz{{zyzyyzy{zz{zz{{zzzzyyyzzz{{xzzzyzzzyyyzyyy{yzyzz{yzzyyyzyyyzyzz{{yyzyyyzyzz{yy{y{zyyyzzzyzzyzyzzzzzyyzxzxzyzzzzzzyyzyyyyzyyzz{zyyyzyyyzyyyz{zz{zzyyxyyzyyyzyyyz{zzxzyyzyyzzzzz{zzyzyyyzyzyzzyzzz{zzzyy{yyyzzz{zz{zzzxyyyyxzzzzzz{zyzxzzyyzzyz{zz{yzyzzzzz{zzy{{{{zzzyy{y{zy{z|{zzzzz{yz{xzy{z{z{{zzyz{yzzz{zzyz{zzzzyzz{zyz|{{z{zyz{z{z{zz{{zz{{{zzz{yy{zz{{{{{{{zzzyzz{z{{y{{{{{yyzyz{{z{{{{{{{{|yyzzyzzz|{|{{{{{z{{zyzz{{{z{{{{|{zzzz{z{{|z{{|{{z{z{zzy{{{z{{z{{zzy{{zzzz{zz||{zzzz{y{yzz{{z{zzyy{zyzyzzz{zzzyyyyxyyyzyzzzyyzz{yzzzyxyzzzzzzz{{zzyyzyzyzyzz{z{zzyzyyyzyyz{zyz{zyzzyyyzyyy{zzzzzzzyyzyyzy{zzzzyyyzyzyxyyyzzzzzyzyyzyzzzzyzz{{zzzyxzyyyzyyzz{yzyy{yxzzyyz{yy{zzy{yzzyyyzzyzyy{{zzzxyyyx{xyzzzzz{zyyzyyyyzxzzzyzzzzyzy{yxyyzz{z{z{zyzyzzy{z{zzyy{zzzyyz{yzyz{zzzz{yzyzzyyy{z{yzz{{zyyz{zyzy{z{{zz{zzzzzzzy{z|zzz{{yzyzyyzyz{{yzz|{zy{z{zz{{{z{z{{z{zzzzz{z{{z{{{{{zzzzzzyzzzz{|{|{zzyyyzyy{{{zz{{{{zzyzz{{z{z{{zz{zyzzzyzzz{{{{{{{|yzzzzzz{zzz{z{{{zzzzyz{z{{z{{{{{zzzzzz{zz{{{{{|z{zyyzzyyz{z{z|{zzz{zy{yzyz{zz{zzz{zyzyyzzzzzzzzzyyyyyyyzzzzzzzzzzyyzyyzyzzzzz{{{zzxyzyyzyzzz{{zzyzyzyyyzzzzyzzzzzyyxyzyzzzzz{{{zzzyyzzzzzyz{{zzzzzzyxzyyz{yyzzzyzzyzyyyyyzyyz{{xzyyyyzyyzzyzzzzyyyyyxyyyyyz{yzzzyzyxzzyzzyz{zzzzzzxyyyzyzzyzzzzyzxy{yyzxz{zzzzzyzzyzzyzzzzzzyyzyzyz{yzyzzzzyz{{zyxzzyzzz{zy{z{{yzzzyzzzzz{y{y{|zzyzzyyzz{zz{zzzzyzyzzzz{z{zzz{{zxz{zyzyz|{zzz{z{zzzzzzzzz{{{z{{y{zzzyzz{zzz{{{{zzz{yyyy{z|{{{{{{zzz{y{z|{{z||{{zzzzz|{z{|{z{|zz|{{zzzzz{|zz{z{|{zzzyyz{zzzz{z{{{zzzyzz{{{yz{{{|{{zzzyzz{{z{z{zzz{zzzzz{zzz{z{{{{zzzyy{y{zz{zz{{zzzyzyzzzzzz{zzzzzyyyyyyzzzyzyzzzzzyzyzyyyzzzzzyzzyyyyyyzy{{|zz{zzyyyyyzz{xzzy{zzzzzyyzyzzzzzzyzzzyyxzzzyzzyz|zyy{yy{yzyyzzyyyzzyzyyyyyyzzyzzyzzzzyyyyyzy{zzzy{zzzyyyyyyyzzzzyzzzzyyyyyzz{zzzz{yzzyzyyyyzzy{zzzzzzzy{zyyyzyzz{{{yzzzzyyyz{zzyzzzzyzyzyzzzzz{zzz{yzzyzzzyzyzz{z{{zyy{yzzyz{{{yz|{{yyyzxzzzzz{zz{yzzzzzzzyzzzzzz{{zyzzyzyz{zzzz{zz{{zzzzyzz{{{{{{zy{zzz{zz{{z||{|{{zzzzyyzzz{{{{z{{yz{zzyzz{{{z{{|zz{zzyy{zz{z{|{{{zzzzzy{{{{{z|{|{zz{{zzz{z{|zzz{zzzzzzzzzzz{{{{{{zzzzzzz{{{{z{{{zzzzzzz{{zy{{{|{{z{zyzzy{z{{zz{zzzzzzyyyzz{zzzzyzyzzzxyyz{{yzzz{yzxzzyyyyz{zyzy{zzyz{yzy{zzzz{{z{yzzzyyyzzzzzz{zzzyyzyyyzzzzzzzz{yzyyy{zzyzyzzzzzzyyyzzy{z{zz{{{zyzyzzyyzzzzxz{{zyzyxyyzyzzzzzzzzzzzyzyz{zzz{yz{zy{zzyyzzz{|zz{{zyzzyyyyxzzzz{{{yzyzzyyxzzyyy{zzzzz{yzyzzy{yz{z{zyyy{yy{zz{{{{{zyzzzyyyzzz{zzz{{z{zzzzzzzzzzzz{zzz{zzzzyzz{{z{{yzyzzzzyyzz{{y{{{zzyzzzyyz{{{{{zzzy{z{z{zz{||{{z{zzyyzzzzz||z{{{{zzzy{zzzz{{||{{{zzzzz{{z{|z{z{|{{{{zz|z{{{{|{{z{{{{{{zz{y|{{{{||{zz|{zzz{{{{{{{{{zzzzzzz{{z{{{{|{zz|{zzz{{{|{{{{{z{{zzz{{z{{z{|{|z{yzzzyzz{zz{z{zy{z{yzz{zzzzzzzzzyzyzzyzzz{{zzzzyyzyy{yzzz{zzzzyyyyz{zzzzy{{{{|zyyyzyzzyz{zz{zy{y{yz{zzzzzzz{zzzzzzyzzyyz{zy{zz{z{yzyzz{zzzz{zzzzzzyzyxzyzzzzyzyyyyyxyyz{zzyz{{zyzzzzyyzzzz|zz{{zzzzzyxz{{zzy{{yzzzzzzyz{zzzzz{z{zzyzyzz{zzy{yzzzzzyzzy{zz{z{{{zyyy{yzzz{zzz{|zzyzzzz{zz{zz|{{{yzzyyzzz{zzzz{z{z{zzzzzzzzz{{{{{zzzyz{zyy{|zz{|zzyzz{xzzzzz{{{z{zzz{z{zz{{{{{|z{z{zzz{{{z{{{{|{{z{z{{zzz{{{{{zz{{y{{{zzz{{{z{{|z{z{zzz{z{|{{z{|{{{zzz{{{{|{{{{{{{zz{zz{zz|{||z{{zz|zzzz{zz{{{{{{|z{|z{zz{{z{{||{{{{zz{y{z{{zzz||{{{yz{yy{{z{{{z{zzzz{zyz{{{zzzzzyzyyyyyxy{zyz{z{{yyyyyyyzzyz{{zz{zyzzzyyyy{y{z{zzx{zzzzyzyz{zzz{zyzxzxyyyz{zzzyzzyyxzz{yzzz{zzz{yzzzzzyzzz{zyyzzzzzyyyxzyzzzzzzzyzzyzyzyyz{zzyzyzzzyyyyyzzzyzzzzzyyyyyyyzzzzzz{{yyzyyyzzyzzzz{zyzzzzyzzyzzzzz{{zzzzyzzzzyz{zzzz{zzxyzyzzzz{{zz{{{zzzzyzyzy{{{{{{yzz{yzzzzzzzz{zzzzzyzyyzzzzz{{z{{zzzzyzyzz{yzz|zzzzzzzzzz{zzzz{{{zzzyzzyzz{{z{z{zz{z{yzz{|zz{|{{{zz{{zyzz{zz{z{{zy{z{zzzz{{z{{{{{y{yz{{{z{|{z{{{{zzzzzzyzz|zzz{{{z{|zyzzz|z{zzz{{zz{zzyz{{|{z{{{z{{{{z{z{{{{{{{|{zyzyz{z{zz{{{{{zzz{zyyzzzz{{y{zz{zyzyzzzz{|zzyzyyzyyzzyyzz{{{{z{yzzyyzyzzzzz{zz{yyyzyyy{yzy{z{z{yzyyxyyyz{zyz{zzyyyyyyzz{{zzzy{xzyyyyyxzzyyy{zzzzyyzxzyyzzzz{zyzyxxyzzyyzzzzy{{yyyyzyyxzzyzz{z{yyyyyxzzzzz{{{zzzxzzyyxyyzzzz{z{zzzyzyzyz{zyzzzyzyzyyyzzyzzzyzyzyzzyzxy{{zzzzzz{zyzyyzyyzzzzzy{{zzzyzxz{{zzzz{{{zyyzyzyzz{{yzzzzzzzzyzyyyz{zzz{zzzzy{yzy{{z{zzz{zzzzyzzzzz{zz{{{{zzyyzyzz{{z{{zz{zz{zz{zz{{{z{{{{yyzzzzyz{{{{z|zzxzzzzzz{{{{z{z{yyzzzz{yz{z{z{{||zzzzzzzz|z{{{{{|z{zzz{{zz{zz{z{zzzyz{zzz{{zz{{{zyzzz{zzzz{{z{||zzyyyzyz{{z{{{{{zz{{zzyzzz{zzz|z{zyzxxyzz{{z|{zzzzzzxyyyyzzzzzz{yzyzyyyyzzz{zz{zyyyyyzzyzzzz|{z{yyzzzzzyyz{{yy}yzzyyxzyyzzzzyz|zzzyyyyyzyzzyzz{zzy{zyyzyzyzyz{zyzyzxzzyyyzzzzz{zyzyyzxyyzzy{z{zzzyzyyyzyz|zy{yzzzzzyzyyyzzyzyyz{{yzzxyyyyzzyyyz{zyzyzzzyzzzzyzzzyyyyyyxyzzy{zyzyyxzyzyzyzzzzzzz{zzyyyyzzzzzzy{z{yzzyzzyzzz{zz{zzzzzzyyyzyzzz{|zy{zzzzzzyzz{{zy{z{yzzzz{zzz{zzyyyzyz{y{zzzzy{zz{{zzzzzz{{zzz{zz{{zz{zzzyz{{|z{{{zzzzzzzzz{{{{|{|zzzzzzy{|zzz{{zz{{zzzz|zz{{zz{|{{zzzz{zzz{{{{z{{|z{zzyz{zz{zzz{|{{z{z{z{{z{z{zz{{{zyzyzzzzzz{{{{{zzyyzzyyzzy{z{{y{yzyyyyz{y{z{zzzzzzyyzzxyzzzzzz{zyyyyyxyyzzzz{{{zyyyzyyyzyzyzzzzzzzzyyyyz{y{yzzzyyyxyyzxzyz{zzy{yyzyxyzyyyzzyzzy{zzyyyyyzz{yzzzzzzyyyxyzzzz{zz{zyyyzyyzyy{zzzzzyyzxyyzyyz{zy{{{zxzzyyyyzyz{zyzzzzyxyyyyzzz{yy{yy{yzxxyzyyzzyy{yzzzzyzzzyzzzzz{{zzyzzzzzyz{zzyzzzzz{yyyzyzzzz|z{zzyzyyzzz{zzz{z{{zyzzzzyzz{z{zz{zzyzzzyzyz{{{zzzzyyyzzzzy{zzzz{{{{zzzyzy{z{z{z{z{{zzy{z{z{zz|y{{{zzzzzzzy{{{|z{|{zzzzyzzz{{{zz{|}zzzzzzyzz{zz{{z{z{zyzy{{{{{{{z{{|zzzz{zzz{z{z{{zzyz{yzyz{z{zz{{zzzzz{zy{z{{{{|z{yzzz{zzzyz{{{{{{{zzyz{zy{{{{{{zzzz{zyyyy{zzz{zz{zzyzyyzyzzzzzyzzzzyzyyzyyzzzzzzzzyyxyyyzzyyzzzz{zyzzyyzyzyz{zzz{zzyyyyzxzz{y{zz{zyyyzzyxyzzyzzy{yzyyyyyyzyzzyzzzyzzzyyyzzzzzzyzywxzyyyyx{z{{yzzyzzyyyyyzzyzyzzzzzzyzy{zyyz{zzz|zzyzyyyzx{zzzzzz{z{yzzzyyzzzzzyzzyzzzzzzzzz{zzzzzzyyyzzzyzzzzzzzzzyzzyyzyz{{{zy{{yyzzyzzz{zy{z{z{zzyzzzzyy{{{zzzzzy{zyzyzzz{zyz{{zzyz{{zyz{z{{zzzzy{z{zy{zz|{{{{zzzzzzz{zzz{{{{z{zy{{zzzzz{z{{z{|zzzz{z{z|{{{{{{zzz{yz{{{z{z{{{z{|zzzzzzzz|zz{z{{zzz{{zz{{z{z{|{{zzzzz{yz{{z{{|{{zzyz{zzzy|{z{{|zzzyzzz{{z{{z{|{{zzz{zyy{{zz{zz{zzy|zzz{yyzz{{{zyxyyyz{xy{{zzzzz{yyyyyzzyzzzz{z{zzzzyzzyyzzz{y{zyzyyyxxzyzzzzzyzzzzzxyyyyzzzyz{zzzzyyzyzxzzzzzzzz{yzzyxyzyyzyyyzzzxyzzyyyzzzzyzzyyyzxyyyyzzzz{yzzzyxyyyxyzzzz{zzzyyzyyzzzxzzzy{yzyzxyyzzyyzzyzzzyzyzyyxyyyzzzy{zzyzyyzzzyyzzzzz{zyyzyzzy|yz{zzyzzzyyzyyzy{zz{{y{{yzyyyyyzz{zzzzz{yzzy{yy{z{z{zyzzzzyzzzyyz|{{z{yy{zyz{zyzz{z{z{z{zzyzzy{z{z{|zzz{zz{yz{yyzzz{{{z{zzy{zzy{zz{{z{z{|zyzzyzz{z{{{|z{z{zzyz{{{z{{{{{{{zzzzzzy{|z{|{|{{zz{zyy{|{|z{{{{zyzzz{zzz{{{{{{|{zzzyzy{zzz{{zz{{zyzzyzz{z{{z{z{yzzyyyxyz{zz{{{{yzzzzzzzzzzz{{zzzyyyxyyxzzz{yzzzzzzzyyyyzzzzzyzzyzxyzyyyzyz{{z{{yzyyyyyzyzzzyz{zzzyxyyzyy{zyy{zzyzzyzzyy{yzyzyyyzyzzzzyyzzzzz{z{zyyzyyyyyyzzyzyzy{yyzzzyzz{yyz{zyyzyzzxyzzzyzzz{yzyzyzxzyyzyyz{zzyyyzxyyzzzzzzzzyzzyzzyyzyyzzzyzzy{yyyyyzzzzzz{zz{zyzyyz{zzyyzzzyxyzzzyy{zyzzz{zzyzyyzzyzzzz{zzzzzyzyy{zy|{y{{zzzzyzzzyy{z{{{{{{zz{zyz{z{z{z{{{zzzyzz{zyz{z{{{{zyz{{zzz{z{{|zz{{{yyzzzyyz{zz{{{z{yzz{zzzz{{{{{{{z{zzz{{z{{zz{{{{{zz{{z{{z{z{{{|z{zz{zyzzz{{{{{{{zzzzyzzzzzzzz{{{{zz{zy{y{zz|zz{{z{zyzzzzy{z{{{{zzyzzzzzyz{{{z{z{zyzyzyyyy{{zz{zyzyyyyyyxz{{z{zz{zyyyzyxyzzyz{z{zzzzyyzzyzyzzzzzzzyyyzyyyyyyyyzzzz{yyyyyyzzzzy{{zzzzyyxyyyzxyyzzzzyyyyzyyzzyzz{zzyyzyyyyyzzzzy{yzyyzyzzzyzzzzzz{zyzyyyyyyzzzyzzzzzzyzyzzxzzzzyzzzy{yyzyzyzyzyyz{{zzyyyzyyzzzyzz{yzyzzyzyzy{{zz{{{zzzzzzzzzyzxzzzzyzzyzyzyzz{zyz{{yyzyyzzy{{zzzz{{zzyyzzzyzyzzz{{{zyzyzzzyzz{zy{{zzyzzy{zyz{zy{{zzzyzyyzzzz{||{z{{zz{zzzzzz{z{{z{{z{zzzyyyzy|{{{{zzzzzyzzz{{zz{|{|yzzzz{z{{{zz{{{{{zyzz{zzz}{{{{{{yz{zzz{zz{z{{z{z{yz{zzz{{{zzz{z|{yzzzzzz{|{{{z{{zyzyzzzzz{zzz{{zz{yzzyyy{{{{{zz{zzzyyzzzz{{z{yzzyyyyzzzxz{z{zzzzzyyzyyzyz{zzzz{{z{xyzzyzyz{z|yz{yyzzzzyy{zz{zzzzzyyxyyyy{yzz{{{zzyyyyyzy{{zzzz{zzzzzzyyyyzz{z{zzyzyzxyyy{yyyz{zzyzyy{yyyy{zz{yzzzzyyzzyzyz{{z{z{zyyxyyzxzz{zz{{yzzyyyzxy{{zzzz{zzyzxyyzyzzzzzzyzyyzyzzyzy{zzzz{{zzyzzyzzyz{yzzzzzzyyzyzzz{{{z{{{zyzzzyzzyzz{{{{{zy{yyyzyz{{yz{{{zzzzyyyyz{z{zz{zzzyzzzzz{{{zz{{zzzz{zzzzzz{{{z{{z{z{zzzzz{z{{{z{{yzyzzzzzz{{y{{zzyz{z{zy{{|{{{{{zzzzyzzzz{zzz{z|{zzzzz{{{z{{{z{{{yz{zzzz{{|{{|{{zyz{z{z{{|{{z{|z{{yz{zz{{{{|{{{{{{zyzzzzzzz{{{{{{zyzyzzzz{{{{zz{zzzzzyzy{zzz|{z{zzyyzzyyz{zyz{|{zyyyyzzzzyzzzzzzzzyyyyyyzz{zzz{{yyyyzyzyzz{{yyz{zyzyyyyyzzzzzzzzyzzyyyzyzzzzzz{zyzzzzyzzxzzzz{zzyzzyzzyyzyy{yz{zyyy{zyyzyzzzzyzyzyyyzyyyy{{zzzzzyyyyzyzyz{zzzz{zzzzzzzyyx{zzzz{y{zyyyyzyzzzzz{{{y{zxzzyzzz{|zz{z{xyzyzzzzz{zyzzyzzyyyyzyyzzzzz{{zzzyzyzy{{zzzzz{yyzzzz{zz{zzz{zzzzzzyzzy{zz{zz{z{zz{z{zzz{z{z{{zzz{zzzzy|{{{{{|{yzzz{z{z{z{{{{{{zzz{zyyyz{zz{{z{zzyzz{{z{{{yz|{{zzz{zzyzz{{z{|{{zyzyzzzzz|{zz{{y{zz{z{{zz{{zz{{z{yz{yzzz{z{zz{{zzz{zzzzzzz{{{{{{{zzyzyzz{zyzz{zz{zz{zzyyz{{{{z{{{{zyyyzz{z{zz{zzyzyyyyzyzzzzyzzzy{yyzyyzzz{zyzzzzyzzyy{yzz{zyzz{zyzyxzyzzy{yzz{{zyyzyyyyyyzyzzz{zzyyyyyyyzyzzzzzzyzyyyxyz{zzyzzzzzzyyzzxyzzzzzzzzzzyzzyzyzzzz{zzyyzxyzyz{z{z{z{{zzyyyzyyzyzzyz{{yyyzzyyzyyzzzzzzyyzxzyyyyzyz{z{{zzyxzzzyzzzzz{{zzyyzzyyyy{zzz{zzzyzyy{zyzzzzz|y|zyzzyzyyyz{zz{{zzzzzyzyzz{y{{{zzzzzyyzyzz{|z{{|{zzz{yyyzz{{yz{z{zzyyzzy{{zz|{{z{zzyzyzzy{{zzy|{{zzyzzzyyzzz{{{{{{yzyzyzz{{|z|{{{zzzzy{z{{{z{{{z{{zz{z{zzz{{||{{{zzzzzzzz{zz{{{{zzz{{zzyzz{{z{{{{zzzyzzzz{z{z{zz{{z{yzyzzz{{zzz{{{zz{yzz{z{{|{z{zzzzyzzyzz{{z{zyyyzzyzyyyyzzzyzz{zzyyzyyzzzz{zzzzzyyyyzzyyzz{zzzzyzyzyyx{yz{zz{z{{yzyzzzyzz{{z{{zzzzyyzyyzz{zyy{zzyzzyyzzzz{z{zz{zzzyyzyyzzzzzzy{zzzyxyzzxyzzzzz{zyzzyyyzzzzy{{zzzyzyyzyyy{zzzzzzzzyyzzzyzzzzzzz{zzyzyyzzzzyyzz{zyzzyzzzzzzz{z{{{yyyyzxyyzzzzz{{zzy{zzz{z{{zzzzz{zzzzzzyzz{z{{zz{zzyyzyyzzz{z{{zzzzzzzzyzz{{{zz{{{yzzzzzz{z{{y{{{zzzz{zzzz{{{|{{{{{{yz{zz{z||{{{zzzy{zzyz{{{z|{{{zzz{{zzz{{{z{{{{{{zzzz{{zz{|{{|{z{zyzz{z{|z{{z{|{z{{{zz{|zz{z{{{zzzyz{z{{{{{{|{{{zz{{{zzz{z{zz{|zzyyyz{{z{z{{z{{z{yzz{zz{{{{z{z{zz{yyyzzz{{zz{zzzzyxyyzyzz{yyyzzyyyzzzzx{zyz{{z{zyyzyyyy{zzy{{{zz{xyzyzzzzz{zzz{yzzzzyzy{zyzzz{zyyzzyyzyyzzzzzyyyxyyyyyyzzzzzzz{zyxx{yyzzzzzyz{zzyyyzyyyzzzzzz{{zyzyz{yyyzzzzzzzyyzyzyyy{zzzyy{{zyyyyyyzyzzzzz{yzyzxyyyzyzzyzz{zzxyyzzyyzzz{{z{{zzyyz{zzzzzyzzzzzyzyyzyy{z{{{z{{zzzyzzyzzzzz{z{zyzzzzzyxyz{{{{{yzyzzzzzy{z{{zy|zyz{zyzyz{zz{{{z{{zz{z{z{{{{{z{{{yzz{{yzy{{{zz{{{zzy{zzzy{z{z{zzzzyzzzy{z{{{|{{{{zzzzzzz{z||{{z{|{zzzyyzzz|{{{z|{{{zz{z{{zz{{{{{{zzzzzzz{{z{|{zzz{{zz{zz{z{{{zz{{{{zzzzyzz{{{{{{|{y{yzzzyzzz{zzzzzzzyzyyyzzzz{zzzyzyyzzzxyzzyzzz{yxyyyzzzzzzzzz{yzzzxyzyzzz{{{zz{zyyyzyzyyzzzzy{z{zyzyyyyyyzzz{z{yzyyyzyxyz{zyzzyzxyyzyxzyzzyyz{zyxzyyyyyyyzzz{{zyyyxyxzz{yyyzzzyzzyzyyyzyyzz{z{{zyyyyxzyzzzzzzzzzyzzyyzyyzzzzzzzxzxyyzzyy{zy{zyzzzzzzzzyyzyyzzz{yyyyzzyyyzzzyzz{zyzzzyyyzzzzy{{zyzzzyzzzzzzzzy{{zzzyzyyzz{z{z{z{zyzzzyzz{{{zzz{z{yzzzyzy{{yzzz{{{yyzzzy{zy{{{z{zzz{zzzz{zzzz{{{{zzzzzzzzyz{zz{zzzzz{zz{z{{{{zz{{{zz{zzz{z{z{{z{{{zz{yzzzz|{{zz{z{y{zzyyz{{{z{{z{zzz{z{y{{zzzzz{{{zzy{z{{zz{{{{zz{z{y|zzzz{{{{{{{{zzzy{zyzzz{z{{{yzyyzzzzz{zzyz{yyyyyxyxyzzzzzzzzyyzzyyzxzy{zzzz{zyyyyyyyzyzxy{zzzyyzzzzyzz{zzyzzyzzyyyyyy{zzyzzyyyyxxzzyzzyzyz{zyxyzyyyxzzzyzzyyzyzyyzyyzyzzzzzyzzyyyxyyyzyzyzzzzzyyyyyyyy{yzzzzyyzyyzyzyz{zzzzzyyyyyxyyyzzzyyzzzzyyzyyyyzzzzzz{yzy{zzyxzzyyzzzzyyyzyyzyzzzzz{zzzzyyzyzzzzzyz{z{zz{zzyyyz{zzzzzzzzzzzyzyzzzzzzzzzyyz{yzzzz{yzz|zzzzzyyyzzzyzyz{{yyyzzyzyy{z{{{{zzz{zyzzzz{yz{zz{zzyzzyzyzz{z{z{{|yzzzzzy{|zz{{{{{xzzyz{y{{z{{{z{zzzzy{yzz|{{z||{zyzzzzzyzzzz{z{z{yzzzzzz{{zzz{{{z{zzyzzyz{z|{zz{zyzzyzz{zzzz{zz{{zzzyzzyzz{zz{{{yyyyzyzyz{zy{zzzyyxyyxxyyzz{yzyzyzyyzyzxzy{z{{z{yzyyyyyyzzzzyzzz{yyyyyyyyzz{zyyyyzzyyyyxz{zz{zzzzxyzyxyxzzzyyzzyzyzyyyzyyzzyyz{zzzyyyyzzyzzzyyyzyyyyzyxyzyyyzy{zyyyyyyyyyzzzzzzzyyzyy{yyyzzzzzzyzzyzyyyyzzyyzzyzzyzzzyyzzyzyz{zyyyzzyyyyzzzyyzzzzzzyyyzyzzz{zzz{zyyyzyzzzy{{{zzzyyzyxyzzzz{z{zzzyyzyzz{zzz{{{{z{zy{yyzzyz{zzzz{zzzzyzy{zzzzzzzzzzzzyz{zyzz{{zz{zz{zzzz{zz{y|{z{{zzzzzyy{zz{z{zz{{zyzzyzz{z{z{z{{yyyyzyzzz{zzzz{{{{zzzzy{z{z|{{{|{{zzyzz{{zzzz{z{zy{zzz{zy{z{{z{|z{z{zzzz{zz{yz{{z{zzzy{yz{z{z{{{{zyzz{zzzz{{zzz{y{zzywyyzzz{zzzzyzyyyxzy{zzzyyyzzyyyyxyyzy{zzzz{zzzyzyyxzzzz|{zzzxzyyyzxyzzyyy{zzzyyyyyzzzz{yy{zzzzyyyyyyzyyzzzzyyzyyyyyyyyzzzyyyyyyxyxxyzyyyyzyzyyzyzxyyzzz{yzyzyyyzyxyyyzz{zzzyyzyyzzyyzzz{zzzyyzzyxzyyzzzz{z{yxyzyzxyyzyzz{zzzz{yyyzxyzzzzzzzzyzzyxyyyzzy{zzzzyyyyzzy{{zzz{{{zxzzzyzzzzzzzzzzzzyyzyyxzzz{z{zzyzyyzyyyy{|{zz{{zzzzzzzz{zzzyzzzzzzzzzzy{{|{z{{zzyzzzzyzz{z|zzz{{yz{zyyyzz{z{z{zzyyy{zzzzz|{{{{{zzyzzzzzzzz{z{{{{y{zzzzz{{{{z{{zzzzzyyz{{{z{{{zz{zz{zzzz{zz{{zz{{{zzzz{{zzzzzzz{{zzyyzyz{z{z{{{|yzz{zzyzy{z{{zzyyzzzzyzyz{zz{{z{zzzyyyzzyzzyzyz{zzzxyzyzyz{zzzz{zyyzyyz{yzzzzzzzzxzzyzzyzzzzzzzzzzzyyyzyzzzzzzzzzxyyyyzyzyzzyzzzzyyyzxyzzyz{z{zyzzyyyzyyz{zzz{z{yxyxyyyz{yzzz{{zzyyyyyyyz{yzzzzzyzzyyyyyzzz{zzzyzzyyyyyyzyzyyzzzzyzyzzyxyzzyzz{{{zyyzzyyyzyzzzzzzzzyzzzzzzzz{z{{zzzzzyz{{yzz{{{zyzzyzzzyzz{zz|zzzzzyzxzyzz{z{{z{yzxz{zzzzz{{{{{zzyzzzzxz{zz{yzzzzzyzzzzzz{{{{{|{y{yzzzz{|zz{{{{|zzzzyzzzz{{{z{|{{zzz{yzzz|{{{{{|zz{zzzzzz{{|{{z{{yzzz{{z{|{{{z{{{zzzyzzz{|{{{z{z{zz{zyz{zz{{{|{{zzzz|{z{{{{{z||{z{z{zzzyy{{z{z{z{yzzzzzzz{z{z{zzzzzz{y{zz{zzz{{yzzyzyyzyyyzzzyzz{yzyyzyyzz{zz{zzzzyyyyyzzz{z{z{z{zzyyyzzzz{zyz{{zyyyyy{zzzz{zyz{zyyxyyyyyzyzyyz{zyzyyyzy{yzzzzzyzzyyyyzxyz{zz{yzzyzyzyzxzyyzz{{zyyyzzyyzz{zzzz{{zzzyyyxyy{zyyz{zyyzyyyzyyz{zzzzzyzzxyzyxyz{yz{zzyyzyyzyyzz{{{z{{{yyzzyzzy{zzz{{{y{yzzzyyzzzyz{z{yyzyzzzyz{zz{{{{zyzyzyyzzz{yzz{{zzz{zyyzzz{zzz{zzyzzzzyzzz{y{zz{{zzzz{yzzz|{{{{zyzz{zzzz{z{{{|{{zzz{zyzzzz||{{{{zy{zzzyz{{z{z{z{zzzzz|{zy{{z{{{{{zz{zzz{z|z|{{{{{yz{zyzz{zz{{z{|{z{zzzzzzz{{{{z|{zyzzzyzz{z{zz{|{yzzy{zzzzz{z{z{{zyzzzyzz{{{zz|{zzzzyyyyzz{zzzzzyyyzyyyyzz{{y{yzyyyyyyyyzyzyzz{{zyyyxyyzzzyz{zzzyzzzyyzyzy{zxzz{{{yyyyzy{yz{z{z{zyyzyyzyzzzyzzzzzyyyzyyyzzzyzz{{yyzyyzxyzyzz{z{{yzyxyyxyyzzzyz|zyzyzzyyyzzzzzy{yzxyzzzyyzzz{zyzyzzyyyxyzzyzyyzzzzzz{zyyyyzz{zzzzzyzzz{yy{{zzzz{zzzzzzyzzzzz{zzzzzyzzzzzyyzzzzz{{yyzyyyyyz{{{{{z{zzzzzyyzzz{{{{{zzzzzyzzyz{{yzz{z{yz{z{yzz{{zz{{z{z{zzz{yz{{|{zz{z{yzzzzy{zzz{{{{zzzzzzzyz|{{{{{z{zzz|y{z|{{{y{{{zzzyzz{{{{z{z{z{{zz{yzzzy|{{{z|{{z{x{z{{z|{{z{{{{z{z{yy{z|{{{{{{zzz{{{{zz{zz{{{{y{{zzzzzz{zz{{||z{yyzzzyzzz{{{{{zyyzyz{zz{z{z{y{zzyzyxzyzzzzzzz{{zyyyxyxyzzyy{{zzyzzyzzzzyzzzz{{zzyyxxyzyzzzz{zy{yyzyzyy{yzzyzzzyzzyyzzyyzzzyzzzyyzyzzyyyzzzz{z{zyxyyzyxxzyyz{yzzzzyzyyyxzzyyy{zzyyzxyyyzzy{zyzyzzyyyyyy{zzyzz{zzzzzzyyyyzyyyzzzyzzyyyxyyzzyz{yzyzzzzyzzz{zzzzz{zzzyzyzzyzyzzzzzzyzxzzzyzzzz{zzzyzyyzzyzzzyz{{{{zyzy{x{yz{zzz{zzzyzyzzzzzzzzzz{{zyzzyzyzzz{zz{zzzzzxz{z{z{z|{{{{zzzzyyzz{z{|zz||yzzzyzyz{{{z{z{zzyyy{zy{z|{z{||{yzzzz{{zzzzz{{zz{zzzz{zzz{z{{{{{zz{{yzyz{zzzz{{{{yzyzzz{{{zzy{{zzzzzzz{{zz{|z{{{zzyyyy{zz{|{{{{{yz{zyzyzz{{{{z{zyzzyyzzzzyzzyzzyzzyzyyyyzyzz{zzz{yyyyxzy{yzzzz{zzzzyxzzy{zzx{y{{yzzyyyyyyzzyzz{zzzzyyyyyzzzzzzzzzyyzyzxyy{zzyzzyyzxyzyyyyzyzzzzzzxzzyyyzyyyyy{zzxzyyzyyyzyyzzyzyyyzyyzyyz{zzzz{yyzzyxyyyzzzzzzzzzyzyzyyyzzzzzzz{yzyyyyyzyzzzy{yzzyyzyzzyyzzzz{{zzyyyyyzz{{zzzzz{zyzzzyzyzzyz{z{zzzzyyzyyyzz{zzz{zzyzzzz{zz{zz{zzzyyyyzzzzz{{{z{|zzzyyzzzzzzzzzzzzzzyzzyzz{{z{z{zyzzyzzzyzz{{z{{{zxyzzyyz{{|z{{{z{zzy{zzz{{{z{{zz{{{zyzzzzz{{zz{{{{z{zz{zz|{z{|zzzzz{zzzz{{{{{{{{zzzz{{zzzyzz{|{{{{zzzzzz{z{{{{{zzzzyyzzyz{{z{z{{zyzzzyz{z{{{zzzzzzzzzyyyzz{{{zyyyxyzyyzxzzzzzzzzyyyzyxzzy{zz{zz{zxzzyyzyzzyzzzz{zzyyyyyxzzzzzz{zyyyxyxyyzyzyz{zzyy{yyxzyz{zzy{{yyyyyyzyyy{zyyzzz{yzyyyzyyzzzyzzzzyyxyyyyzzzzyzzzzyyzyyyyyzzy{zzzzzyyyzyzzyzz{zz{zxyyzxzxyyyyyzzzzyzyyyzzy{xzzzz{zyzyzzxyzzzzy{{zzzyzyyyyzzyzzzz{zyzyyyyz{zzzyzy{zzzyyzyzzzzzz{z{yzzzzyyyzzzz{z{zzyyzzyzzz{z{z{{z{zyzyzzzzzzz{{{zyzyyzzzz{{{{z{z{z{{zy{zz{|z{yz{|zyzzyzzzzzz{z{zz{zzz{yzz{{z{{{{{z{{{zzzzzzz|{|z{z{zzyyzzz{z{z||z{yyzzzxzz{z{{zz{zzzzzzz{zz{{z{|{{zzzzzzzzzz{{{zzzyzzzy{zz{{{{{|{{zyzzyyyz{{{zz{{zzyzzzyzyyzzyyyzzyyyyyzyzz{zzzz{yyxzyyzyzz{zy{{zzzyyzyzxzzyzz{{yzzyyzxzxzyzzzzyzyyzyxxzxzzyzyyz{yzzyyzyxzzzyyzzyzyyyyzyxzzzyyzzyyzyyyyzzzzyzzzz{yyyyyyxzyzz{z{{zyyyyyzyyzzzzzyzyyyyyyzyyzzzzzyz{zy{zyyyzzzzzyzz{yzyyzyyyyyyyz{{zyyzyyyyzz{zzyz{{zyzyzxzyzzzzz{{{zzzzyyzzzzzzzy{{zyyyzyzzzzz{{zz{zyyy{yzz{z{{z{z{yzzyyzzyzz{zzzzyzzyyzzzzz{{z{z{{zzzzzyzz{{z{zz{zz{yyz{{yz{zzz{z{{y{zyxzz{zzz{{z{zzzyyyyz{{{{z{|{zyzyz{zyz|{{z{{{{zyzyzyzz{{{z{|zzzzz{zzzz{{{z{{{yzzzzyzz{{zz{z||{zy{zyyz{{{|z{{zzzzyzzzz{zzzzz{{{yzzzyzyz{z{zzz{yzzyyyyyzy{{yz{yyzyxzxyyy{zzy{zzyyzyyyyxzy{yyzzzzzyyyxzzzyzzzzzzyxyxyzyyzzzzz{zzzzyyxyyyyyz{xzz{yyzzyyzxzzy{y{zzyzyyyyyyzyzyyz{zyyzzzzxxyyyzy{zzyzyxxyyyzzzyyy{zzyyyyzxzyyzyzzz{zy{yxzyyzzz{yzzzyyyyyzyyyzyzyz{yzyyzyyyxyyyzzzyzyyyzzzyyyy{zzyzzzzyzzyzyzz{yz{zzzyzzzyzzzzyzz{{zzzzyywzyzzzzz{{{zyy{yyzyzz{z{z{zyzzyyzzz{{zz{zyzzyyzyzyx{zzz{zzz{zyyzzyz{{{z{{y{zzzzzz{z{zzz{z{z{z{zyyyzy{{{z{zz{yzzyzzy{{{z{{{zzy{yzzzy{zz{{{zzzzz{yyzzzz|{{z{|{{zzzzzyz{z{{{|{zyzzzzy|y{|z{z|zzzyz{{yz|z{{z{z{zzzyyyzzz{z{{z|zzzz{zzzzzzy{zz{{{zzyyxxyz{{zzyzzzyxzyzyyy{zzzzzyzzyzzyyyzzyzy{zzyyyyxyyxzzz{{zzzzyzzxyzy{z{zyzz{zzzyzyzxzyzyyzy{zyyyyyzyzzzzyzzzzzyyzxzzzyz{zz{zzzyyyyyyy{zzyyzzyyyyyyyxyzzzzyzzzxyyyxyzzzzz{{yyyzzyyyyyzz{zyzyyzyzyyyyyxzzzyzzzzzzzyyyxzyyyyz{{zxxzzzyyzz{zzzzzzyzzyyyyzyzzyy{{zzzyyyyzzzzzyz{{yxzyzzzzzz{zzzzzzzyzzyyzz{{z{zyzyyyzzyyyz{zzzy|zy{zzyyyzz{{zzz{zyyzyzzzzz{|z{{{{zyyyzyzz{zz{z{{{zy{zzyzz{zzzzz{{zzyyzy{y{z|z{{{|zzyzz{zzzzyz{{|{{zyyz{z{{{{{z{{zzy{zzzz{{{{z{|{zzzzzzyzzzzz{z{z{{zzzz{yzzz{{z{{{zzzzzzyzzzzzz{{{{{zzyzyzz{{zz{{zyzzxyzzyyz{zz{z{xzzzyyyyzz{yz{{zzyyzzzyyyyzzzz{zzzzzyyzzzzzyzzzzzyyyyyyyzz{{zy{{yzzyyzyyyzyzzyyzzyzyzzzyzzzzzzzyzzzxzzyyzzzyz{zyyyzzyyyzyzy{yzz{yzyyyxxyzzzzzzyyzyyyzyxyzzzzz{{yzy{yzyxyyzzzzzzzzyzzzzyyzzzzyzz{zyzyzyyzzzyzzzzzyyzzzyzy{zzzzzz{yzyzzyzzyzz{zzz{{yzzyxzyzzzzz{z|zyzzyzyyzzz{zzzzzzzzyzzzzzz{zzzzzzzzz{yyz{{{z{{zzyzzzyzz{{{{zz{{zzzzzzzzzz|{{z{|{{zzzzzzzzzz{z{{yz{zzyzz{z{zzz{{{zyy{zyz{{{z|{{zzzzz{zyz{{z{y}{{{zz{zzzz{{z{{{z{{z{zz{{z{z{{||{z{{zzyyzzz{z|{zz|{{z{yzzz{{z{{{|{{zyzzzyzzzzzz{{|z{z{zyyzz||{z{|{zzzzyyyz{{zzzzy{yzyyzyzyzzzz{zzyxzyyyxyyyzzyy{{zzzxyzyyyzzz{zz{{yyzzyyzzzyzzzz{zzzzyyyzy{zyzyzz{zzzyyyyyyzz{zz{zzzyyzzyxzy{zzyyzzzyxyyzxzzzyyzy{yyyzzyyyzyzzyzzzyzzyyyyyxzzz{zz{zxzyyyyxzzzzzzyzyyyyzyzyxzzyyyz{{yzyzxyyyy{zy{yzzyyzzzxyzzzzzzzzzyzzyyyzz{zzz{{{zyzyzyyyz|zzz{{{zzzzyxyzzzzzzzz{zyzyyz{zz{{yz{{z{y{zyzyxz{zzzz{zzzyzyzzzzz{z{zz{yyzzz{zz{zzzzz{{yyzzzz{yy{{{{{zzyzy{zyyy{{zz{z{zzyzyzzzyzz|yzz{{zz{zyz{zz{|zz{z{{{{yzzzzz{zzz{{{zz{zzzzz{{{|yz{{zyzzzzyzzz{z|{z{zzyz{zyz{{{{{zz|zzyyz{zzz{z{z{{z{{zyyyzyz{zz{zz{yyzyzzxy{zzzzzzzyzyy{yyyzzzz{z{zz{yzyyyz{zzz{zz{yyzyxyyzyyzzzyz{zy{yyyzxz{yzzz{zzzzyxyzxzzzzy{z{zyzxyyzzzzzzzzzzzzzyzzxzyzzyzzz{yyyyyyzyzzy{y{zzyzzzyyyzzzzzzz{zyyyyyyyyzz{y{y{zyyyzyxzxz{zz{zzzzyyyyyzyxyzyzzyzzyyzxzzyy{zzz{{zzyzzzzyyzzzz{z{{{zyyzxzyzz{yzzz{yzyzyz{zzy{zzzzzzyyzzzzzzz{z{{z{zzzzzzzyz{zz{{{zyzzyyzyyyzzz{zzyzzzz{zyzzz{{z{{{zzzzzzzzz|{{{{z{zzzyzzzz{zz{z{{|zz{zyyxzzzz{z{{z{zzzzyyz{|{zy{|{zyzyz{zzz{zz{{{{{zzyzz{zz|z{{{||zyz{{z{{zy{|{{z{{yzy{zz{z{{zzz|{{zzzyzzzy{{{|zz{{zyyzzyzz|z{z{}{z{yzzzzyz{y{z{{{zyzzyy{y{{zzzzz{yyyyyyyyxzzzyzzyzzyzyyyzzyzz{zzzzyyyyzyyzzz{yz{{yxyyyyzzzzzzyz{yzyxzyzxyyz{zzzzzyyyyyyyyyy{zzzzzyzzyyzyzzyyzyzyyyyyyyyyyzzyyz{{zyyxyzzyxyzyzyz{z{yz{zyxzzzzzzzzyzzzyxyzxzyzzyzz{zyyyyyzyy{yzyzy{yyyyzzyyz{zzzyz{yyzzyyyzzzzzzzz|zyzzzyzy{zzyyzzyyz{yy{yzyzzzzzzzyzzzzyyzz{{zzz{{{yzzzyzyy{z{z{zz{zzyzyzyz{z{yzzzyyy{yyyzz{{zy{z{{zzzzzyzyzz{{|y{yzzzyzzz{{{|{{{{zzzzzzy{{{z{z{|{{yyyy{zz|{{|{{{{{{zzz{zzzz{|{{{{{{zzyzyzz{{{z{{{{z{{zzz{{zzzz|{{zy{zyzzz{z{{{zz|{{zzzy{{zzzzz{{{{{zzzzyzzzzzz{z|{zyzzyzzy|z{z{{zyzzzyxxyzz{{z{zzyxyzyxzzyz{zzz{zyzzzywxyyzzyzzz{yyxyyzyyzyzyy{yzzxzzyyyyzzzyyz{{zyyyyyyxzz{zzzy{zyyyyyzyyzy{yzzyyyzyyzyyz{{zyzyyzyyyyyxyyxyzzzzzzzzyyyyyzzzzyyzzzzyyxzyyzy{zzz{zyyyyzyyxyzzzyz{yzyyyzyzyyy{zzzzzzzyyzzzyy{zy{zz|zyyyyyzyzzzzy{zzzzyyzyyy{zz{{{z|yyyzyxzzzzzz{{zzzyzzyzyz{zzz{z{zzzzzzyzzyzzzz|zz{z{zyyzyz{{yz{{zzzzzyzyzzz{z{{yzzyzyzyzz{{{{z{{zzz{yy{z{{zz{zz{{zzyzzzyz{z{z{{{{zyyzz{yy{{z{{z|{zzzzy{{z{z{zz{{|{yzzyyzz{{z{{|}zzyzyzzz{z{|{{{{{|zzzyzzzzzz{z{{{zzzzzzz{{{z|{zz{zzzyzyzz{{z{z{{{zzzyyyyyyz{{zzzz{zzzzzyyyzzzzzzzxzxyxyyyyyyyzzzzxyyzxxyxzz{zzzzzzyzyyyzyzz{zzzyzyyzzyyzyyzzzyyzyzyzyzzyx{y{zz{zyyzyyzzzyyyyzyzzzzzyyzyyy{yzzzzzzzyzyxzyyxyyzyy{zxyyzzyzzy{zzzz{yzyyyyxyyyzzzyzzzzyzyyyyyzyz{{y{{zzyyzzzyyyzzzzzzyzyyzyzxz{zzyzyzzzzyyzyyyzzzzzzzzyzyyxyy{zzzyzzzzyzzzzzz{zzzzzzzyzzzzyzyzzzzzzz{zyxzzyyzzyyz{{zzzzyyzzyzzzzzz{{zzzz{z{yy|{{zy{zz{z{yyzzzz{{zzzz{yy{yyzyzy{zzy{{{zyy{yyyzzzz{|z{{zzzz{yyz|{zz{{z|zy{zyzz{z{zz{z{{{zzzzzzzz{{z{{z{zz{z{yzy{{z{z{{z{zzyzyyzzz{{z{{|{zzz{zzyz{{{z{z{zzzzzzzy{zy{{{|{yzyzy{yyz|{zz{{zzyzyzzzyzzzzzyz{yyyyyyxxxzzxzyxzzyyyzyzyzyzyz{zzzzxyzxyyzyzyzzzz{zzyyyyyzzyzyy{zyyyyyxxyzzyyyyz{yxyxzyzyyzzzzzzzzzzxyzyyzyzzzzzzzzyyzzyxzy{yzzzzzyyxzyyyz{{zy{z{yyyyyyyyzzzzzyzzzyyzyxzyyzyzyzzy{yyyzyzyyzzyzzz{zyyyyxyyyyyzy{{zzz{yzzyzzzyzzzz{zyyyyyxzzzzzzzzzzyzyzzyyzzzzzzz{zyzyyzzz{zz{zz{{zzyzzyzyy{zy{{z{{zzyyzzyzzzzzz{zzyzz{yyzy{zzyzy{zzzzzzyzz{{{z{zzzzzzz{{zzz{{{{z{z{yz{zzy{zzzzz{zz{yyzz{zz|zz{{{{yzzzyzzzz{{{{{{{{{yyzzz{y{{zzz{zzz{zzzzy{zzz{{z{zyzzzyzz{{zz{{|z{yzyzzzzyz{{{z|{zzzzzzz{yz{|z{{{z{zyzzzzz{{yz{{zzzyyzyyzzzz{zz{zzyxyyyxyxzzzzy{zzyyyzyyzyzzyy{zzzyzxxyzyyzzzz{zzzzzyzzzxyzyzzzzzyyyxyyyyzzyzy{yyzyyxzzzyy{{yzzzzzzyzyzyy{zzzzz{zyzyzxyyxzyyzzzzyyyyyxxxxzyzzz{zzzyyyyyyyzyzzz{z{zyyyyyyyzzy{yyzzyyyxyxyyyzzyzyy{yzyzyyyyyzz{zzzzyyzyyzyzyz{zzzzzzzyyyyyzyzzzzyzzzzyzyzy{yzzzz{{{yyzzzyyyzz{zzzzyz{zyzzyyyzy{zzzzz{zzzzyyz{{zzz{yzzzzzzzzz{zzzz{zzyyz{{zzzzzzzz{{zzzz{{zz{{y{z{|zz{yzzyzy{{{zz{z{{{yyzzzz{{{y{z{{zzzzzzz{|{|z{|{|zzyzzzyzzz{{{{z{{{{z{zzzzzzzz{zzzy{z{{yzz{z{zz{{zz{z{zyz{zz{|{{|zzyzzyzzzzzzzy{|zyzzzzzyzz{{{{{{{z{zyyzyzzzzzz{zzzyyzyyxzyzzyyzyyzyzyyyyyzz{{{{zyzyyyyzyyyzyzzzzzxzxzzyyy{zyy{zzzzyywyyyyz{zyzzzzzzyzyzzzzyzyzzzzxzzyyyyyy{yyzzzyxyxyyyxyzzyzzzzyyyyyyyxxyyzyzzyzzyyxyxyyyyyzz{yyyyxyxyxyzzzz{{zxzyyzxzyyyyyyzzyyzyyyyyyzyyyz{zzyzyzyyyyyzzzzzzyzyyyzyyzyzzzzzyy{yzzyxyzzyzyyzyzyyyyzzzzzzzzy|{{zzyzyyyy{zzzzzz{yyzzxyzyyz{zzzzzyyzzzyzyzyzzz{zzzzyyzz{{z{zzyz{zzyzyzzzzz{y|z{{{zzzyyzyyz{z{{z{{zyyzyyzzzz{z{z{{zzzzyyzyyz{zy{zzzzzyyzzz{{z{z{{{zzzz{zyzzzzzz{z{{yz{{zz{y{{zz{{|{{zzzzzz{{z{{{{{zzyyzyzyz{z{zzy{zz{zyyyzz{zyyzzzzzyzyzzzzzz{yyzyyyyyyzyxyyyzyyzzyzzyyyxxzzzyz{{{yyyyzyyyzzzzyzzzzyzyzxzzyzzzzzzzzzyyyzzyzzzzzzyzzzzyyyzyyzyzy{zzyyzyyyyyzzzzzzyyzzzzxyyzyzyzyyzzyxxyyzyyyzzyyy{zzxxyyywzzzzzzyzzyzzzyzyxzzzzz{z{yxyzyzzxyyyyzz{zzyyzyxyyyyzzz{zzzzyyyzyyzyyzzy{zzzyzyyyyyyzzz{zzyzyyzzyzzzyzzz{zyzzyyzzyz{zzz{z{zyzyzyzyyzzzz{{yyzzzxyzz{y{y{z{zyzzyzyyzz{zzy{z{yyzyzy{zzzzz|{z{zzyzzz{zzzz{{{{{zy{zzzy{z{{z{{|z{yyzyzzyz{z{zzz{z{zyz{{y{{zy{{{z{yzzyzzyz{z{{{{{{zzzyzz{z{{zzzzz{yzzyyyz|zz{z{{{{|zz{{zyzzz{{z{{zzzxzzzzz{{zzz{{zzyyyyyyyzz{{z{zzzyyyzyzzzzzyzyyzyyyyyyyzzzyy{yzzyxyzyyyyyzyz{y{yyyyyzyyzzz{zzzzzyyyyxyzyyzzzzyzzzzxxyxyzzzzyyzzyyyxyyzxyz{yzzzyzxzyzzxyzyzzyzyzyzxxyxyyzyyzyz{zyyyyyyyyzyzzyz{yzyyyxxyyyzzzyy{zyzz{xyzy{{y{zzzzxzxzyyyyyzzyyzyzyzyxyyyyzzzyz{zzzyyyzzzyzzzzzz{yzyyyzxyyz{yzzz{zzzyzxyzyzzzzy{z{yyyzzyzyzz{z{zzzzzz{zyzyyzzz{{{zzyzzzyyy{z{zyzz{{x{yzyzzzz{zyz{zzyzyzyzzzz{z{z{{zy{zyz{{zzz{y{{zyyyzyzyz{zzz{|{z{zzyzzzyz{zz{{z{yyzzy{z{zz{|{z{{{yzyyzzz{{{{z{{{{zy{yzzzzz{zzz{zzzz{zzz{z{z{{z{{{zzz{zzzzz{{{{{{zzzyyyzzzzz{{{{yzyzzyzzzz{{zzzzzzzzyzyyz{y{zzyyzxyzxyyzxzy{yzz{zyzyyyzyyyyzzzyy{{zzyyyyyzyzyyzyzzyzyxyzyzzyyyyz{yzyzxyyyzyyyzzz{yzzyyyzyyyyzyzzy{yyyyyyxyyyyyzz{zyzxyzyzyyzyzzzzyyyyxyyyyzzzy{zzxyyyzzyyyzyyzzzyyyzyyyyxyzy{zzzzyyyyyxxzyyy{z{{yzyxzxxyyyzzyy{zzyyzyzzzyzyy{yzz{{zyyyyyyy{zzzz{{zyz{yyzyzzzzy{z{yyzzyyyyzzzzzy|zyzzzyxyyzzzzyzzzzyzyzyyyz{zzyz{zzyz{zyzzzzzzzzzzzyz{zyz{z{{z{{{{y{zzzzyz{z{{yz{{yzzyyzzzzz{{zzz{zzzyzzzzz{{{|{{zzzyzz{zzzzz{{{zzzzz{z{y{z{z{{z{z{z{{yzzy{z{{zz{|zxzyzzz{{z{{{{|{zzyz{{zzz{z{{zzzzyyzzzyz{z{{z{{{y{yyz{yzz{z{z{z{zyzzzzzyzyzzzyyyzzyyyyyzzzzyzzzzyyzzyyxy{yyz{{z{{zxyyzyx{yzzzzzyzzzyxyxyyzz{yyz{yzzyyzyyyzzzzzz{yzxyyyyyzzzyyyzzyzzyyzxzyyzyyzyzyyyyxyyyyyyy|{zzyzyyyxzyyzzyzzz{yxxyxyyyyzzyzyzyyyyyyxzyyzyzzzzzyxzyzyyxyyzzyyyzyzyzyyyyyzzzyzzzyyzyyyxyyy{zzzzyzzzz{yyyzzzzy{zzzyzzzxyyzyz{z{{zyyzyyzyyy{zzz{zzyzzzzyyzzzyzz{yzzyzzzyzzz{zzz{{zzzzzzzyzz{zzz{{{zzzzzyyz{zz{zz{{zzy{zzzz{{z{{zzzyz{{yyzyz{{{z{z{zyzzz{yy{{z{{{zz{zy{zzyzzz{zz{z{{zz{zz{zz{{|{{{{zzzzzzzzzy{{z{{zzzzz{zzzzzyz{zzzzyzz{{z{{z{z{{|{zyzzzzzyzzzz{z{z{yzzzzwzz|{zzzzzyyyzxyyxzzzzzzzzzz{zyyzyzzzyzzz{yzyzyyyyzyzz{zz{zyyxyyyyy{zzz{{zz{yzyyzz{zz{z{{{yzyyyxyy{yyzzzzzyyyyyzyyzzzzyzzzzy{yzyyyzzzzyzzzxyzyyyyxxyz|zzz{zxyyyxyyzyyyy{{zzzyzzzxyyzzz{zzzyzyzyyyxyzzzzyzzyzzyzyyxyz{{zzzzzyyyzyxxxzyzzyyzxyyzzzyyzz{{{zzzyzzxzyyzzzzzzyz{zyyyyzzz{yzzzzyzzyzzyzyzzzzzzzzzzyzyyyzyz{zzz{{yzzzzzyyzzzzzzz{{zzzzyzzyz{{zz{{{zzyz{zzz{{zzzz{zzzyzyzzyzz{zz{{|{zzzyzzz{z{zzz{{{zzzzzyzy{z{{{}y{{zzzzz{z{zzz{z{{z{zyz{zz{{{{{zz{zz|zyz{{{y{z{|zzyzyyy{yzzz{zz{z{zzzzz{yzz{zzzz{zzyzzy{zzz{{{|{z{zz{xzyz{zzz{z{yzzyy{yzz{zz{zzzzzzyzyzyyyzyy{yzyxyxyzyzyzzzzzz{{yzyyyzxyzyyzzzzzyzyzzyyxyzzzzzzzzzyyxyyyyzxz{zyzzzyyyyzyy{yzzzzzzyyyxzzxyy{xyzzyyyyyzyzzyyy{yyzzyyyyyyyzzyzy{yz{zzyyyyxyyyzzzzzyyyyyyyxxz{yyz{yzyzyyzyyxzzy{yzzyyzyyyyzyyzzyyzyzyyzzy{yyzzyzyy{yzyzyzyyyyzzzzzzzzzzyyxzzzzzzzzz{zyzzxyyzzzzz{{zyzyzyyyzxzzzzzzzzzyzzzyyxzzz{zzzzyzyzzzyyz{zzzz{zzzzyzzyyzzy{z{yzyzzzyzzzzzy{zz{zzyzzyyyyzz{{zzyzzyzy{zzyz{z{zz{{zzyyyzzyzzz{z{z{{zzzzzzz{|z{z{}z{z{zzzzz{z|{{{{{{zzy{yzyy{{|z{{{{zzzzyyzzz{{{{|zyzzyyy{zzz{zzz{z{zyzyzzxy{{{z{{zyyyyyyxyyz{yzyzzyzyyyyyyy{zyy{y{yyzyzyyyzzzyzzz{zyyyxyyxzyyzzz{zzyzyzzyyyzzzzzzzzyyywyyyyzzz{zyzyyzyxyyyyzyzzzzyyyxyyzwy{zyyzyzyyzyywyyyzz{zyyyzyyzyxyyyyzyyzzyzzyyzyzyzzzyzzzzyyxyzyzyz{yzzzyzzzyyxxxxxzzyzyyzzyyyzyxyyyzzzzzzyzxyyxyzzyzyzz{zzyy{yzyyyzzzzyzzyzyzzyyyyzzyzzzyzyz{yzyyyz|{zy{zzzzyzyyxyzzzzzzzzyyzyzzyzz{zzzyzzzzzzyzzyyzzzy{{zzzzyzyzzyz{{z{z{zzzzzzzzz|zzzzz{zzyzzyyz{{zzzzzzzyzyyyyyz|{zz{zz{y{{z{{zzzzz{z{{{zyzyzzzz|z{z{||zyyzy{zzzzzzz{z{zyzzzzz{y{{zzz{|zzy{{zzzzyz{z{zzyyz{zyzyzy{z{zz{zzzyyzxyzzyzyz|{zyzyzzyyy{zzzyyyyzyyyyyyyzzyzzz{zzzzyyyyyyyzzz{yzyyzyzxyzyzzzzzzyzyxzxzyyzzyyzzzzzyyxyyxzzzzyxz{yyzxyxyzyzyzzyyzzzyzzyyzzzzyyyyzzxyyyyxyyyy{y{zzxyxyzzxyzzzzy{zyzxyxxzxyzyzz{zy{yyyyyyyyzzz{zzzzzyyyyyyzyzyyyy{zyyyyzyyzyzyzyyzyyyzzzyyyzzyz{yzzzyyyyyzxy{zyzzzzzzzyyyzzzzzzzz{zzz{yyyzzyz{yz{zz{yzyyzyzyz{z{zz{zyyzyyzyz{{zzzzz{zzyyyzzz{{zzzzz{zyzzyzyzyz{zz{{zz{yyzzzz{zzz{z{zyy{zyyyz|zz{z{zzzzzyzzz{{z{{z{{zz{zzz{{z{z{{{z{zyyzy{yzz|z{z{}{{yzzzzz{|{|{{{{{zyyzz{zy{zz{zz|{{{zzzzyzz{yzz{|{zzzyyzzx{yz{{z{{zzyzyzzy{{{zzzz{{zyyzzzyyzzy{zzyyxxyyxxxzzzyyyzyyxyyyzyxyyy{zzyzyyxxyyxyyyzz{yzzzzzyyyxxyzzzzzzzyzxyywyxxyyzy{zzzyyyyyyxy{zzzyzyyzyxxzxyyzyyzzxy{yxyyyxyzyzyyyzyxyyxyyxyyyyzyzzyzxxxyxyyyzzyyzxyyyyxyyxxzyzyzyzzyyyzyyyxxyzyyyyyyyzyyyzyxzyzyzyyyxyyzyyxzyzyzzyyzxyyyyxyz{yzzzyzxxyyxxyxz{yzy{yzyyyyyyxyzzyyyzzzyyyzyxzzzzzzyzzyzyyyyyyxyz{zy{{{yyzzyyyzy{zz{zzyyzzyzxzyyzz{z{zzyyyyzyzyzzyz{{{{yzz{yzyzz{zy{{z{zyyzyyyzzzzzzz{z{zzzzzzx{zzzzzy{{yzzyzyy{{z{z{{zzyzzyyyz{z{zz{z{zyyyzzzz{z{zz{z|zyyzyyyy{yz{zzz{zzyyyyzzz{zyz{z{yzyyzzzzz{y|zzzzyyyyyyyyxz{zzyzzyyyyyyyxyzz{yzz{xyzyzxxzyzzzzzz{zyyyzxyyzz{z{zyzyyyyyyxyyzzyyzz{zyzzyxyyyzzzzz{{yzzyxyyxzzzyyyzzzyzyxxyyy{yyzzyzzyyxxyyyzyyyzzzzxzyyyyyyzyzzy{{zywzyyzxzyzzy{zzzyzyyxxyxzzzyy{zyyzzxywyyzzyy{zyyzyzyzyyxyzzyyz{{zzzzyyyyy{yzz{zyzyyyzyyyzzz{zzz|zzyyyyzzzzyzzzz{zyzyyzyzzzz{zzzzyzyzzzyzyzzzzz{yzzzxyyzyz{zzzzzyzzzzyyxzzzzzzzzzzyyzzyyyzz{z{z{{xzzyzzzyz{{{yzz{zzyzz{yyz{{z{z{{zyzzzzzyzz{z{{{z{{zzzz{zyzz{z{{zzyzzy{zzz{z{zz{zzzyzz{zzz{z{zz{{{yyzzzzy{{zzz{{{zzyzzzzz{{z{y{{zz{yyyzzyy{zzzz{z{zyzyzzzz{zzz{z{zyzzyyzyzyz{zzyzzyxxyxzy{yzzyzyzzzzxyyyxyyzzyyzzyyyyyyyzzyzzyzz{yyyyzyyyzzzyyzyzzzyyyyzyzyzzyzyyyxxyyyzzyyzyyy|yyyzxzyyxzyyyxzyzxyyxxzxyzyxzyzyzyyyyyzyxyzzyyyyzzyyxzyyyzzyzzzzyzyyyxyzzyyzzyz{yyxyxyyzzyz{zzzyzzyyyyyyyyzyyz{zzyxzyyyyxzzy{yyzyzyyyyyyzyzyyzz{{yxzyzxyyzz{zz{y{zzzyxyyyyxzzzzz{yxy{yxyzz{y{yzz{zyzyyyzyzzzzzzzzzyy{yzyzzzzz{z{{zzzzzyzyzyz{zz{{zyyzyz{yzzy|zz{{yyzyyzyyzzzyzzzz{yxzzzz{{{y{zzz{{zyzyzzzz{z{{{z{z{zzyyyzy{z{{z{{{yzzzyzyz{{zz{zzzzyzzzyzzzzz{{z{zzzyzyzz{zz{z{|zzzxzyyzzzzz{{yz{{zyyyzzyy{z{zz{zzzzyzyyyyzz{y{yyxyyyyzxxzz{zyyyyyyyzyyzy{yzyyyzzyzzyyzzyz{zzzzyyyyyyzyzxzyyzzxzz{yyyzyyyyzzyy{yzyyyxxxyyyyzyyzzzyxyxzyxzyzzzzyzzzxyzyxxyyyyyyzzzxyyyyyyxzzyzyz{zzyyyxywyyzzzyyzyzyzxyyyyyyyyzyzzyyzyyyyyzzzxzzxzyzyyyxyyy{zzz{zzyyzyyyyxzzyyz{zzzyyyzzyzzzyzyzzzyyzzyxyzzyz{yzzzyyzyyxzzzzzz{zzzyzyzzyzzzzz{{zzz{zzyyyyyzz{zyy{yzyzyzyzzzyzyz{{zz{yzyzzz{zy{z{z{zzz{zyzy{zy{z{{{{yyyzyyyzzzzzzz{zyyzzyzzz||y{z{|zyz{zz{zz{zz{{{z{{{yyzzzz{zz{zz{{yzzyyyz{zzzz{{{zzzyzzyyz{z{{{zz{zy{{yyzzy{{|zz{zzzyzzzzz{{zzzz{zzzyyyzyzzz{yy{zzzzyzy{xzz{zzyzzyyxyyzyyy{zyyzzzzzyzxzzyz{zzz{z{zzyzzyyzzzy{zzzyzxyyzyzyy{zzyz{zzzyyyzyyyzzyzzzzyzzyzyyyyyyxzz|zzzzzzy{zzyzyyzy{yyyyzyyzyzzzzzzzzyzyyyyyzzzzzzz{zzzzzyyyyzyzz{zzzyyyyyyyyzzyzzzzzzzyxyyyyz{zzyz{yzyzyxyyyz{yy{zzzyzyyzzzzzzzy{{yzyyzzzyzzzyyz{zzzxzzyxzy{y{zzzzzyyzzyyyyyy{zzzz|{zzzzyyyzz{zzzz{yzzyzyyyzzz{zz{{{zyzzyzy{zzzyzzzyyzzyzyy{zzz{{{{y{yz{zzz{zz{zz{{zz{zzzzxz{z{{z{{{yzz{zzz{{{{zz|{y{{yyzz{z{{zz|{|{zzzz{yz{{z{{{{z{{z{z{zzy{{z{{{{{yy{{yzz{{z{z{|{{{zy{{z{yzz{|{{{{yzyzzy{z{yzz|{z{{zzzy{zyzz{zz{zzyyyzyzyzzzy{zzzyyyxxxyyz{zzzyzz{yzyxyyyyzzyzzzzzzyyyyzy{yzyzyz{yzyxyzyyyyyzyz{{zzyyyyyyzzyyyzzzyyyyyyzyzzyzzz{xzyzyyyzyzzzyy{zzzxyzyyzzzyyzzzzzxyzyyxxyzyzzzyzyyyyyxyxzzyzzzyyzyyyyxyyzzyzzyzzzyyyyyyzyzz{yy{zzzyyyyyyyyzxyyzz{yyzzyzzzzzzzyzzz{zyxzyxzzzzzyzz{zy{yxyzy{{yzz{zyzyyyxyyyzzzzzyz{zzzyyy{yz{{zzzzz{zzyyyzxzzzzz{zzzzzzzyyzyzyyzzzyyyyzzzzz{{{{z{zzyzyzyzzy{{zzzz{{{{zzyzyzz{{zzzz{zyyzzzzz{z{z{z|{zz{yzzzz{{zz{z{{zzzzzzzzzzzz{{{zzzzzzzzz{{{{{{zz{y{yzzzzz{zzzz{|z{y{zzzz{zz{{|z{zzyzyzzzz{zzz{z{zzzzzyyzy{{{zzzzzzzyyyyyzz{{y{zyyxyzyyzxyzyzzyzyzyz{yyxyy{yzzzzyyzxyyyyyyzzzzzzzyy{yyyzzyyzzyzzzzzyyyyxyzyzzz{z{yxzyyyyxyzzzyz{yzyzzyyyyzzzzyzzzyyzyxyzzyyyyyzy{xyyyxyxyzyzzyzyzyyzzzyyxyz{zy{y{yyzyyyyyzzzyzzzzyyxzzzzyyyzyz{yy{yyyzxyzyzzzzzz{zyzy{yyy{zz{zz{{yyyzxyyzzzyzy{z{zyzyyyzz{zzyzzz{zzyyyzyzz{z{yz{zyyz{yzyyyzzz{zzzyzyyzzyzzzzz{zzz{yyzzzyyzz{zz{zzzzz{zyyzzz{{z{zzyzzyzzzz{z{zz{{zzzzzyzzzzzzzz{{zzy{zyzyzz{{{{{zz{yzzz{zz{zzy{{{z{z{{{yzxz{{zz{z|{zyzzyzyz{z{zzzzzzzy{yzzzzz|{zzz{zzzzzyy{{{{zy{{zzz{yz{yz{{zzzz{zzzzyzzzz{{{zz{{yzzzzzxzyzyyz{yzyyxyzyzxyzyzyxzzxyxy{yyyyzzzzzzzzyyyyyyyz{yzzzz{zyzyyyxyyzzzyz{zzyyyyzyyzyzzzzzyyzyyyyzxyzzyzzzzzyyyyyyx{xzzyzzzyyyzxyyzyzzyzzzzyyxxyxyxzzyzz{zyyyyyyzzyzyzzz{zzyyzzwyxyzzzyzyzzzyyzyyxyyzzyzyyyyyyzyyyxyyyyzz{zyyzyzyyxzzzz{yzz{yzyyxyzyyyzzyz{zy{yzzyzzyzzzzz{yyzyyzzzzz{zzzzzzyyyyyyyzzzz{zzzzyzzzzyzzz{yyz|zyzzzyyzzyz{zyz{{zzzzyzzzzzz{z{zzyyzyzyzz{z{{zz{{z{z{z{yzzzzzzz{zzyyyzzyyz{z{{z{|zzzyy{zz{zzzz{{{{y{zzzzzz{{{{{{yzzzzzzzz{z{{|zzzzz{z{zyz{{z{{{{{{zzzz{y{zzz{y{{{zzyyy{zyz{z{{z{{{zzzyyyyzy{zzz{zzyzzyyzzy{zzyz{zzxyyyzyxyz{zzzz{zzzyyxyyzyyyzzzzyzxyzzyyzyyzyz{yyyyxyyyzzzzzzzzzzyyxyyyyyzyxyzzz{y{yyxyyyzzzyzzz{yyxzzyxyxzyyzz{xyyxzyxxyyyyz{zzyxyxyzzxzzzyzyzzyyyyyxzyyy{zz{yyyyzyyyxzyzzzzz{yyzyyyxzxyzxyyyzzyyyxyyxyyyzzzzyyzyyyyyyyxzzzyzz{zxzyyxyzyzzzzz{zyyzzyzyzzzyyz{zzzzzyyyxzyzzz{zzyyzyyyyyyy{zzzz{zyyzyzzyzzz{yz{{{zyyyyzyyyzzz{{zyzyyzzzyzyzzzz{zzyz{yxzzyzzz{zz{{zyyzzzyzzz{{{zz{zyzzzyyz{{{{{zzzzyzz{{z{{{zz{{z{|z{yyz{z{{z|zz{|{zzzzzyzz{zzy{{{{zxzyyyzz{{{z{{z{{yzzy{zzz{{z|{{zzzyzyzyy{zzz{{zyzy{zyzyz|{{z{zzzyzyyzyxzzzy{zzzyyyyyyyxyy{yyyz{zyyzyyxxxzzz{zzzzyyyzyxxzzyyzzy{yyyyzxyxyyzzyzzzyyxyyyzyzyzzy{y{zyyyyyxyyzzyzzzzy{zxzyyxyzyyzzzzyyzzzyyyyyzyzz{zzxyyyyyyyyzyyyyzyxyyyxyyzzzyzyzzyyyxyxyxzyzzyzzzyyyxyxzyxzzzyyzyzyyxyxyyzzyzzzyzyyyyzyzyzzzxyzzzyyyyyyyyyzzx{zy{xyyyyyzzyzzzy{zzyyzzxzxyyyzz{zzyyzyyzyyxz{zzzzyzyxzyzyxzzz{zzz{{zzyyzyyzzzzzz{yzzzyyzzyy{zz{z{z{yyzyzzyzz{{{z{{{zyzzzyzzzz{zz{zzzyzyzzyyz{{z{z{zyyzyzz{{y|{yz|{zz{zzz{yzz{{z{{z{{yzzzyzyz{y{z{{y{{zzzzzz{yz{zzzzyyzzzzzzzzzzz{{zzzzyyzy{{{{{z{{|zyyyyyzzzzz{zy{zz{zxyyyy{zzz{yzyyyyyxzxyyyzyzyyz{yxyzyyyyz{zzzzzyyzyyyyyzzyyzzzzzyyzyzzxyyzzzyzzxxzyyxyxyzzzy{z{yxzyyyyxx{yxzxzzzyyyyyyxyy{yyyyyyyyyyyzyyzyzyyzyyyyyzyzyzyzyzzzzyyyxyzyyyzyzzzz{yyyzxyyyzyyzzyzzyyyxyyxyyzyzzyzxxyyxyyyyzzyyyzyzzyyyzxxxyzzzyz{zyyzxzxzyzyzzy{zzzyyyyxzyzyzzy{zzzyzxyxyyz{zzzy{zzyxzzxz{yzzzyz{{zzzzyyzyzz{zzzzzyyyzzyzzy{zyxzy{z{yyzzyy{{zz{{zzzyyzyyzzzzzzzyz{zyzz{zyy{z{z{zzz{{yzzyyzz{{zzz||zy{zy{{zy{yz{{zzzzyyyyyzz{{z{z{{zyzyzzzyz{zzz{{zzyyzzyzzzyzzzzz|zzzy{zyzzzzzzzz{z{zyyzzyz{z{zz{{zyyzzzzzzzzyyz{zyyyyyyzy{zyzzzyzzywxxyzyyzzzzzzyyyxyyxyx{zzzzzyzzyyyxyxxyzyzz{zz{yyzyyxyyzzyzzzzyyyyxyyyzyzyzzzyyzyyyyyyzzxzyzzzzzyyyxxyzyzyyzyyyyyyyyxyzyyzzzzzzxyyyyyxyzyzyyzyyyyyxyyyyyzy{yyzzzyyxyxxyzyzzzzzyyzxzyyyyyxxzyzyyyzyyyyyxzyzy{zzxyyyyyyyzyzyzyyzzyyyyyyyzyzzzzzzzxyxyyzxzzzz{zz{yyzyyyzzyy{zyz{{zzyyyyzzz{zzzzz{zyzzyzzyzyz{zzzzzyzzyzyzzzzxyzzzzzyyyz{yzzzzzzzzzzzzzz{yzzz{zzz{yz{zyzyzzz{zy{zz{yyzzy{yz{{{{zzz{yzyz{yzzz{z{zzz{yzyzz{zz{{{{{{{zzz{zyyy{z{zz{|zzzzz{zzzzz{z{zz{zzyyzyx{{{zzy{|zyzzyzyzyyz{{{{}z{y{zyzy{z{zy{zz{yyzyyyyzzyzzyzyyyzxyzyzxyzzzzzzzyyyyyzyyyzzzz{{zzyxyyyzzyzzzzzzzyxzyyyxyzy{zyyzzyzzyyyzyzyyzzzy{zzzyyyzyxzyyyz{zyyyzzyyyyyyyyzyyzyyyxyyyzyzyyyzyyyyzyxyyyyzzzz{yyzyzyyyzyzyyz{zyyyyyyyyyzyyyyz{zyyzyyyyxxzzyzzzzzyxyyyzyy{zzzz{yyzyyzzyyzzzzyy|zyyyxzyyzzzzyz{yzzyzxyyyyzyzyzzzzyyzzyzzzzyyyzzzzyzzzzyyyyzzzyzzyzyzyyyzyzzzzyz{yzyyzzzyyzzzzzzyzz{yyyyzzyz{zzzzzzzyzyzyz|zz{zzzzzyyzzzyyz{{{|{zz|zyzyzzxz{zz{||zzz{zzyzz{{zz{{z{{z{zzzz|z{z{z{z{{yz{zzzyz{zzz{{{zzzzz{yzzzz{zzzzz{zzy{y{zzz{z{z{zzzwzzz{{zyz{z{{yzyz{yyzzz|zzzz{zyzyyyyyzzzyzzyyyyyzyyyxyzzxzzzyyzyyyyzyzzzyzyzzzyyyyyyyyyzz{zzzyyyyzxyyzzzzxzzzzyzyxyyyyzzzzyz{xyyyyyyyyzzyyzzzzxzyyyxy{zzzy{yzzyyyyzyyzzzyzzzzyzxxyxxyzzzyyyzzyyyyzyxyyzzz{yyzyyyyyyyzy{zyzzyy{yyyxxzzyyzyyyzzxyyyyyxyyzzzzzz{yxzyzzyxyzzzzzzzzyzyzyyzyzzyxzzzzy{yyyzz{yz{y{{zyyzyyyzyyzyzzz{zzzzyyzyyyyzzz{{zzyzxyyyyzzyyzz{{yyyzzyyyz{zzz{zzyzzzyzzyzzz{z{{{{yzy{yzzz{z{{{{zyyzyyzyzz{zzzz{z{zyzzzyz{{y{zz{{{zzyzzz{z{z{{{zzzyz{xyyy{{{zz{zzzzy{yzyy{{z{zz|z{zyyz{yzzzz{zz{{yzz{zzyz{{y{{|zzyyzzzzzy{|zzzz|zzyzzzzyyzz{{y{{zxz{yyxzyzzzy{{zyyyyxyyyyyzzzyzzzyyyyxyyyyzzzzzzyyzxyyyyyzz{yzz{zyyyyzyxxzzyzzzz{zzyyyy{zzzyzyzyzyyyyyyzyzzyyyyzzzxzxyyxzyzzyyzzzyzyyyxzyyyzzz{yzyy{yzzyyzyzyzzzyzyxyyyyzzzyzzz{zxxyyyyyyzzzy{yyzzyyzyyzyxzzzy{yzyyyyyyyxzzyyyzzzyyzyyyyyyzyzz{zzzyzyyzyyz{zzzzz{yyzyyyzyzyyzzy{zyyzyxyz{zzz{z{yz{zyzzyyyz{z{z{zyyzzyyzyy{{zzzz{zyyzyyzzy{zzzy{zzzzzy{yzy{{{{{|zzyzzzzzzzzzzzzz{{zyz{zzyyzzz{zz{zzyyzzy{y{z{zz{{zz{{yyz{zy{{{{|{z{zzzyzzzz{{z{z|zzzz{yzzzz{{z{{z{zzy{zzyyzzzz{{{{zzyzzzzzz{{z{{z{yz{yyyyzzzzz{{{{zz{yzzzzz{{zz{z{zyzyzzyy{z{{zzyyyzyzyyyyyzzzyzzyyyyzzyyzxy{yz{z{zyzyyyzyzzyzzzzzzyyyy{yzyy{zzz{zyzyyyzyzzyzzzzz{yyyyxzzyzzzy{zyzzyzxyyxzzzzyyzyzzzyxxyzyyyy{zzzzyxyyyxxyyz{zzzzxyyyzyzyyzzz{zzz{yyyyyzzyyzyyzzzzzzzyyxyyyyzz{{{yzzyyyywzyzzzzz{zyyzzxyzzzzy{zyz{zyzyzyzyzzzyzz{zzyzyyzxz{yzzyzz{yxzzyzyyzz{zzyzzzyyyyzzyzz{zz{|zzyyyyyyzz{zz{z{zzyzy{{zzzzzzzzz{{yyyzzyzz{y|{z{{yz{zzzzy{{z|zzz{zy{zzyzy{{{{{|zzzzzzzzzzz{z{zz{zzz{zz{zzzz{{{|{{{yzzzzzzz{{z{{z|zzz{zy{zzz{{{z{{{yyyzzzz{zz{{{{z{z{zzz{{{z{zz{zzzzyyzzzzzzzyzz{zzzyzzzzxy{zz{{z{z{zzzzyxzzzzzyyzyyyyyyyxyzzzzzz{zyyyzyyzyyyz{z{yzyzyyzyyzyy{zz{zzyyzzyxzzzzyyzy{zzyxyxzyyzzzzyzzzyzyyyyyzzzzzz{{zyyyyzxyyyyzzzyzzyzzzzyzxzzz{{z{xyyyyzxyx{yyyzzyyxyzwyyyyy{yzz|zyzyyzyyzzz{zyz{{zyzzzyyyzy{zz{z{zyzyyyyyyyzzz{zzzzzyyzxz{yzzz{zzzzyyyxyyz{zzzzzzyyzzzyzyzzyzzz{zzzyyzxyzzzzyzz{zzyzzzzzyyzz{{z{zzzyzzzyzz{z{z|zzzzzzzzzyyz{zzzzz{zyzzyzy{zz{z{{zzzzzzzzyzzz{z{{{zzyzzyyxz{z{{z{zzzyzzzzzzzzz{z{zzyzzyz{zzz{z{{|zz{zzzzz{z{|{{z{z{yz{yzyz{{y{{z{zzzzyyzz{{|z{{{z|zzzzzy{zz{{zzz{zzzyzz{zy{{zzz{{z{yzzzzzyz{zzzz{zzzzyzyzyzz{{zyyzxyzyxyyyxzzzzyz{zzzzxyxzzz{z{zz|zyzyzyyyzzzzzzzzzzzyzyzyzy{zzzz{zzzyyyzyz{zzyzzzzzyyyyyyz{zyzzzzyyzz{yyyzyzzzzzz{zyyyyyyzyyzzzzzxxyyzyyyzzzzzyzyzxyzyzyyzyzyzzzzyyxyyyyyzzzyzy{zzyzyyyxyzy{zzzzzyzxyzyyzy{yyzz{{yyzyyzxyzzzzz{{{{yyyyyzyzzy{zzzzyzzzzyyzzzzyz{yzzyzyyzzzz{zzz{{{zyzzzyyyzzzzz{z{zzzzzyzzzz{{z{{zzyzzzyyzzzzz{z{{zz{z{zyy{z{{z|{zz{yz{yzz{{{{z{{{zyz{zzyz{{{zzz|{zzzyzzzy{{z{z{{{yzzzyzzzz{z{{{zzzz{yzzzy{|{{z{{{zz{zz{zz{{{{{{{|{zzzzzzzz{{z{{{{z{{{zzzy{{{{{{{|{zzzzzyzzzzz{{zy{{zyyzzyz{z{z{{{zzzyyyzy{{z{xzzzyyyyyyzyzyyyzzy{zyzxyyyyzzzyzz{zzzyzyzzz{zzzz{{zzyyzzyyyzzz{zzzzzyzyyxyxzzxzyzyzyyyyyyyzzyzzzz{yzyzyyyxzzyzzzyzzyyxyyzyyxyzzz{zyyxyyzyyzy{zzzzzzzyzzyzyyzyzy{zz{zzxzxzyyzyzzzz{{zyyxxyzyzyzyzzyzzyzxzyyyyzzzzzz{yyyzyzzyyzzyzyz{zyyyyyzzzzzzyzzzzyyzyyyy{yzy{{{zzyzxzzzzzy|yzz{{yzyyyyyzzzzyzzzzyz{zz{zzz{z{y{{{zxzzzzzzzzz{{{zzzz{zzzzy{zzz{z{{yzzzzzzzzz{{z{zzzzyzz{yyzz{{{{|{zxzyyzzzz{{{{{{{zzzzzzzzz{{y{{{{{xzzyzzzz{{{{{|zzyzzzy{z{{{{zz{z{yzzzzzy{z{{z{{z{zzzyzzzyz{{||{{zz{zz{yzz{{z{z{{z{yyzzzxyz{{{z|{zzzzyzy{{zz{zzyzyyyyyxzxyzzzyzyyyzyxxyyyzzyyz{zzzyyyzyyyzyzzz{|{yyyxyyyyyyz{zzz{yzyxyyyxyyzyzzz{yyzyyzyyyzzzyzzxzyyyyxzzzyzzzzzyyyzyzxyyzyyzzzzzxxyyyyyyxyzyz{zzyzyyyyxyyyzyyzz{zzzzxyyyyzyzyzzyyyyyzyyyzzyzyzzzyyyxyyzyyzyyyzzzyyyyyyyyyzyzyzzzzzyyzzyzzyzzy{{{zyzzzxyyyzzzzz{zzzyzyzxyz{zyzzz{zyzyyyyzyzzzzzzzzzzyzxyyzzzzyzz{{yyzzzzzzzyy{{z{zyzyzzyz{z{{zz{zzyyzzyzyzzzz{{zz{{zzyyyyzzz{zzzz{yzzyzzyzzzy{y{{zzzzzz{yy{zz{z{z{zyzzzzyy{z{{{{{z{{{zzyz{zzzzzyz{zzzz{zyz{zzzz{z|zzzz{{{{{{{{{z{yzzyzzyzzzzz{z{{zz{zz{yy{zz{yz{yzy{xyyzyzzzzzyyyyzyyyxzxyyyzyzz{zyyyyyyyzzzyzzzyyyzyxyyxzyyzzzzzzyzzyyyzyzz{yyzzyyzxxyyyyzyyzyzzxyyyyyyxx{zyzzzyyyxyxzxyzzzyyzz{yzyzyyyyzyyyzyzzzyyyyyywxyyyxy{zyyyyxzxyzyzzyzzyxyzyyzzyyyyzzyz{zyyxyxyxyzyyz{yzyyyyyyyyxyyyzzz{xyyzyyyyzzzzyz{zzzyzyyzyyzzzzz{{yyyyyyzyzzyyzzzzyyyyyyyyz{z{zz{{zzyyxxyyyzyzzzzyyzzzzzyyyyyzzz{z{yzzzzyyzyzyzzzzyxzzzyyzzzzzzz{{yzzzzzzyzzy{zzz{yzzzzyzyzzzzzz{|zxyzzzyxz{zzz{{{yz{yyz{yzzzzz{z{zyyyyzzyz{{{{{zzzyyzzzyz{{zzzzyz{yzzzz{zz{{zz{z{{zzz{zyz{{y{z{{{zzyyzz{yzyzz{{zzzzyyyzyzzzyzyzzyyzzyxzzyyzzzzzzzyzyxzxzyxzzzyzzzzxyyxxyxyyyzyzzzyzyxzyxyzyyyzyzyzyzyyyyzzzzxzz{yyyxyyyyyzyzzzzyzyyyyyyyyyzyzzzzyzyyyxyyyyzxzzzyyzyxyxzyyy{yyyx|{yxzyyyyzxzzyy{zyzxyyxxxxyz{yzzyzyyzyyyyyzzzzyzzzyxyyyxyyyzyzyyzzyyyyyzxyyzyxy{{yyyyyyyyyzzyyzzzzzzyzyyzyzyyy{y{zyyyyyy{yyzzzzzyzz{zyzxyyyzzzyzzzyyyzyxyzz{yzzzyyzyyy{zyyzzzzzz{zzyy{yzzzz{{zzzyzyzzzzyyz{zz{z{z{zyy{zzyz}{zy{zz{yyzzyyyzzz{{zz{{zyzzzzzy{{zzzz{|zyzzz{z{z{zz{{z|{zyzyzyy{{z{zzzzyzz{zyzyz{zzz{{zzzyzzyzzzz{{{{{{z{zzzzz{y{{{{{z{zz{xyyyzzzyz{zzzzzxyyzzyz{zz{zz{yzyyyyyyzzzzzzyzyyzyyzyyzyzyzzzzxzzyzyyy{zyy{z{zyyzyyzyyzzyzzzz|zyyzyyxzyzy{yz{{zyyyyyyyzyzzz{zzyzzyyzyyyzyyzyyyyyyyzxyyzz{zzzzyyzxyxyxzzyzyyzzyyyyyyxzxz{zyyzz{zyzzyyyzzzyzzyzzzz{yzyzxzzyyzz{zzzyyy{yyyyyzzzzzzyyzyxyyyzyzz{zzxyzyyzyyzzzy{zzyzyzyyyzzzz{yz{z{zyzzyxyzzzyyyzzzyyyzyyzzzyzzz{{zzyyzzyyyz{zzz{{zzzzxzyyyz{zzzzzzzzzzyyyzzz{zzzzzyzyzzzyzz{{{{z{yzzzzyzzyz{z{{z{z{yzyzyzyzz{zzzz{zyyzzzyzz{z{{{{{{zzzz{{zz{{zz{{{{zzyzyzzzz{{{zz{{zzz{zzzzz|z{{zzzzzz{zzzzzyz{{{{{zyz{zzzzzz{{zz{y{zzzzyzy{{{{{{|{zyzyzzyz{yz{{zzzzzyyyyyz{zzzzzxzyyyyyxyzzzyzzy{zyyyxyxyyzyzyyyzzyyyyzyyzzz{{{{zzyyzyzyyyzzzxzyzyyzyyyyyzzzzyzzzzzyxyyyyzzzyyzyyyyzwyxyxyzzzyzyyzxyxyyzyyyzyzzyzxxzyzyxyyzyyzyyyzyyyzyyzyyyzzyzzyyzxxyyxy{zz{yzzyzyyyzxyyzyyyyyzzxyyzxyyyyzzzzyzzxyyyxyzyzzzzz{zzyyyyxzyzzzzzzz{zyyyyyzyzyzzyzyyyyzyyyyzzzzy{{zzzyzzyyzyz{z{z{{{zyyyyyyy{y{zzz{zzzyzzxyzzzzyzz{yzy{yzzyy{z{{z{{{zzzzzyyz{zzzz{{zyzyyyyzyyzzz{zzz{yzzzyzz{zyz{z{{zzzzzzzzzyyzz{z{{yyzzzzzz{yzz|{{{{zzzzzyzz{z{zz{zzzyzzzy{zy{|{z{{zyy{{zzzzzzz|{zzzzyy{zz{{yzz{z{zzzzyyyz{zzz{z{{zzzxzyzzzzzz{zyzzyxyzxyyzz{zzzz{{yxzzyyyzz{y{zzzzyyzzxzy{zzy{zzzzxyzzyyzzzyzzxzzyyzyyzyyz{zzzzz{zzyyxyzxzzzzyz{zzyyyyyyyzyzyyzzzz{zyyyzyzzzyyzzzzyxyzyyyyyzzyzzyyyzyxyyyzyzyzzzzyzzxyyyyz{yyzzzz{yyyyyyyyzyyzzzz{yzyyyzzzzz{zzzzyzyyzzyyyz{{zz{zyyyyzyyyzzzzz{z{zyyzyyzyyzyzzyzzzyzzzzxzzzzzzzz{{z{zzyyyyzz{{{{zyyzyzzzyzzzzz{{{zyzyzzyz{zzzzz{zzyzyyzyy{|zzz{{zz{z{{zzzzzzzz|{{zzy{zyzyz{{z{{z{{zzzyzzyz{zz{{{{zzyyyz{yz{{z{{{{{zzzy{yz{{{zz{{{{zz{yzzz{z{{{{{z{zzzzzzyzz{z{z{{z{y{z{zz{z{zz{{{zyzxyyzzzzz{y{{zzz{yzzzzzzzzz{{yzzzyzyzyz{{z{zzzyzzxyxxyzyzzzz{{yzyzzyyyyyyz{{zzzzxyyzzy{yz{zz{{zzy{yxyyzzzzzz{zyyxyxxzxzy{zy{{{yzzyyzzzyzzyzzzz{yzyzyzyyzyzzzzzzxzxyyyyyyyzy{yzzyyxyyyxzzzzyzz{yyzzyzyyyzyz{zzzyzyyxyzzyzzzz{{zyzzyyyyyxzyzy{yzzzzzyxyyyzzzy{z{zyzyzyyyzzzyzzz{{yzyyzyzyzzyzzzzzzyyyyzy{zyyz{zzyzyyyzyz{yz{zzz{yy{zyzzzzzzz{{{zzyyyyyzzzy{zzzzzzyz{yyzzz{{yzz{z{zzzzzzzz{z{z{z{yzzzyzzzzyz{{{{{zzyyyyxzzzzz{z{zzyzy{z{z{{zz{z{{zy{zzyyy{{z{{{{z{{zzyzzzz|{{{{{|zzz{yz{zzzz{{{zzzzzzzzzz{{zz{{z{z{{z{zzz{{z{z{{zz{{yzz{z{|z{yz{z{yyzyzzyz|{zz{{{yyyzyzyyzyz{zzzyzzyzzyzxzzzzyzz{zyyyxxyzzz{zzzz{yyyyyyzy{zzy{{z{yyzzzyzzyyz{yzz{zyzzzzyyzzzzzzyzzyyyyzyyz{zzz{{zzzzyzyyzzzzzzzzzz{yyzyzyyyyzzz{{yzzyxzyzxzzyz{zyzyyyxzyyzzzzz{{zzyzyyyyyzzzz{zzzzzyyyzyyyzzyzyzzzyyyzzyyyzyzyzy{zyyzzzyyyzzzzyzzzzzy{xyyz{zzyyy{{zzzyyzyyzz{{{{{yyzyyzzzzzzzzzzzzyzyzyzyz|{{{{{zzzyyzyyzz{z{zzzzzzz{xzyzz{{z{z|zzzz{yzzzz{{{z{z|z{zyzyzz{{z|y{{|zzzzzzyz{{z{zz{zzyxz{yzz{{{zz{{zzzyyzz{y{{zz|z|{zzzzz{zzz{{{{{{|{zzzzzzz{z{{{|{{z{{{{{zz{zz{{|{{zzzzz{z{z{{{{{{{z|{y{{yzz{{{z{z{{{zyyz{yz|zz{z{{zzzyyyzyzz{{{zz{zyyyyxyyyzzyyzzzzyyxyyyyzzz{yzy{yyyyyzyyz{zzz{{{z{zzzyzyzz{zzyyzzyyzyxxzzzyzzzy{yyzzzyxy{zyyzzz{zyzyzzzyzzzxzzzzzzyzzyyyyyzzzy{zyy{yyxyyyzzzzzzzyyzzyyyyyyzzxyzzzyxyxxxxzzz{yz{zyzyyyxyyzyzzzzzyzzyyyxyzyzyzz{zzzyyyyzxxzzzzzz{zzyyyyyzzzzzz{zzzxyyzzyyzzzzzz{z|zyzzyy{yyzzzzz{{zzzzzyyzz{{|{{{{zyyzyzzyz{{yzzzzyyzzyzyy{zzzyzyzzyyzyzzzyyz{{zz{zz{yzzzzzzzz{zy|{yzzzzyzzz{{zzz{{yzzyzzz{zz{{{{zzyzzzz{yzz{z{z{z{zzzz{{zy{{{{|{{{zz{zyzzz{{{zz{{z{zz{zy{{z{{{{{{{zzz{zzz{{z{{|{{zz{y{zzyyz{{zy{{zzzzzyzyzzzz{{{{yzzyyzzyzzzzyyyzyyyxyxyyyzyzyzzyzxyzzyyx{{zyz{zzzyyyzyyxzzzzzzzzzyzyyzyyzyzzyz{{zzyzyyzy{zyzzzzzyyzyyxyyy{zzyzzzyyyzyzyyzzzyzzzzyyxyyyyzzyyzzzzyyzyyzyyxyzyzyyyyzzyxyyyyzzyzyyyyyyxyyyxyyz{zyzzz{yzyyyzyyzzzzzzzyyzyxyyzyzzyz{z{yyyyy{xyzzzzzzzzyyyyzyzyyz{zyzzzzyyyzyzyyyxzzzz{zyzzzzzzzz{yz{{zzyzyz{zyzz{z{zzzzzyyzzzy{yzzzz{z{yyyzzyyz{{zz{zzyzzzzzzyy{{{{{zyzzyyzzzy{{z{zz{{zzyyyzzzzz{{{zyzzy{zzz{z{z{zz{z{zy{zzzzz{z{{{|z|{yzzzzyzy{z{z{{{z{{zzzzyzz{{{{zz{zyz{{zzzzzzzzz{z{z{zyz{{{{{{{{{{{yyzzzzz{zy{{{{{zy{yzzyy{zzy{zzzzyzyyyzzzz{yyyyxyxyzyyyzyzzyyzzzyyyyyyyzzyz{yz{zyzxyxzyzzzzzzzzyyzyyyyyzzzyyzyzyy{yyyyxzzzzyzzzzxyyyyyyyzyzz{y{yyxyzyyzzyyzxyzyzyzxzzyyyzzzyzyzyxyyyyyyyzyzyzzyzyyyxyyyzyzx{zzyzxyxxyxyyyzzxzzzzyyyzxzyyyyzzzzyyyyxyxyyyzzy{{zyzyzyyzyyzzzzyzyzyyyyyyyyy{zzyzzzzxyyyyzyzz{zzyzzzzyyyyyzyzzyzz{zyzzyzxzyzzzzzzyzyyzzyyzy{zzzzzyzzzyzyzzzzz{yzz{zyzzzyyzyyz{{z{{zzzzzzzzyyzz{{zz{zyzzyyyyzz{{zzzz{zyyzyzy{{|{{{{{zzzzyzzzzzz{{{{z{zzzzzzz{z{{z{{z{yyyyzzzzz{{z{{{zzyyzyzzzzzz{z{{{zzzzzyzy{z{{{z{z{yyzyzx{z{y{{zzzzzzyzzzy{zzzz{zyyzzyyyyyzzzzyzyx{yxyyyyyyzyyzz{yzyxxyxyzyzzzzz{yzxxyzzyyyxzzyz{zzyyzzzyyzzzyyzzzxxxxxyxyyzz{zzzyyyyyyxxyyxzyyzzyyyyyxwzxyyyx{zzyyyxyyxzxyzyxzyzyyxyzyyxzyzzyzyyyxyyxzxyyyyyyyz{xyzyyxyyzyzyyzyzyyzyyyyxyzyzyyyzyyyyyyxyyyyyyzyzzxzyxyyyyyzy{yzzzzyyzyzyyzzzzzyzyyzzyyzz{zzyzzzyyyzzyxxzyzyzyzzzzzz{xyyxzzzyzzzzxzzyyyyyyzzzyzzyzzxzzy{zzz{zyzzzzyzzz{zyzyz{{{{zzzzzzyyyz{zzzzzzyzyzyyyyzzzzyz{zyyyyyzzz|{z{z{zzzyyzzyzyzzzz{{{zzz{yyyyz{z{z{{zz{yzzy{yzzzzz{{{{zyyyzzyzzzzzzzzz{zz{zzzz{{z{{{zz{zzyzzyyz{z{z{zzzzyyyyzyyzyzyz{{zyyyyyyyzyzzzzyyyyyxyzyyxyzzyyz{yyyyyxyyzz{yzyzzzyyyyyzz{yzyzyyzyyyzzyzzyyyzyzzzyzyyyyyxzyzzyzz{yzxyyyyyzyzyzyyxyyxxyxxyyyyyyzyzyyyyyyyxyyzzyyzzxyyyxyyyyy{yyyzyyyyyyyyxy{yyzzzzxyyxyyzxyyyzzyzzzyxyyyyxyzyyyyzyzzzyyyxyyzyyyzzyyzzyyyyyyyzyzzz{zyyxzyyyz{zzyyzzyyyzyzzzyyzzyzzzzz{yxyyxz{zz{zzzzyzyzxyyyzzzzyzzzyzyzzyxzzy{z{{yzyyyyyyzzzzyyzzzzzyyyx{zzz{zzzz{zzzzyzzzzyz{zzz{zyzzyxyyz|zz{zz{zyzyzyzy{zzzz|z{zzz{yz{zzz{zz{zz{zyyzzzyy{z|y{{{zyzzy{zz{zzz{{{zzzzzzzz{zz{{{z{z{zzzzzz{zz{{zz{zyzzyzzyyz{zzzzz{zzyzyzyxzzyyzyzzyyzyyxzyzzzzyyyzzyyyyxyyyzzzz{zzyyyyxzyyyzzyzzzzyzyyyzyyzzzyz{zzzyzzyyyxyz{zzy{zzyxxyyyyyyz{yyz{yyyyxzyzxyyzzxyyyyyxyyyyyyyyzzzyzyyyyyxxyyzzxzzzyxxyyzyxyzyzzzzyyyyzxyxyxzzzzzy{yyzxxyxxyyzyyyz{{zyyyyxyyzyyzzzyzyyyzzzxyyyzy{{zzyyzyzyxyzzzyzyyzyzyyyyyyzzzz{zzzxzyxxzz{yzzzzzzyyyyyzyyzzzzzz{zzyzyzyyxyzy{{zy{yzzyyyzyzzzzyz{zzyzzyxyzz{zzyzzzyyyzzyyzzy{{zzzzyyzzzyxyzzz{zzz{yyyzyyyzyzzzzzzz{zzyzyz{z{zzz{{{yzzzzzzzy{{{z{{{{yzyzzzyz{{{{{z{{zyz{zyyzzz{{{{zzyzzzy{zzz{{{z{{zzyzzyzz{z{zy{{zzzzyzzyzxz{{y{yzzzyzyyzyy{zzzzzzzyzzyyzyzz{zyzyyxxxyxyyxyzzyzzzzzxyzyyzyzzzyzzzzyyyxyyxxzyzy{z{zzyzyyyyy{zzyyxyzyyyxyxyyy{{zzzzzyyyzzyyxyzyyzyzzyzyyyyxyzzzyyzzzyzyyyzyyyyyzyyzyyyxyxxyyyzzzyyzyxyyxxzxxyzyxzzzyzzyyxyxxyyzyzz{xyyyxyxzxyyzyyzzzzyxxyyyyyyyyy{zzyyyxyzxzzyzyyz{{yyxyyxzzzyzyz{zz{yyyyyyyzyyyzz{zyyyzyyyzzzzzzzzzzyzxyyzyzz{zzzzzyx{yzzyyzzyyzzzzzzyyyyxy{zzzzyz{zzyzzzzzz{{z{{{{y{zzzyzyzzyzz{z{zz{yyzzyzz{{zy{z{yxzyzzy{{zz{{{{zyzyx{zyyzz{{{{zzzyzyzzzz|zzzz{zzzzzzzzz{z{{zx{zzzyzy|zzzz{{{{{z{zzz{zzz{{zzzzy|{zyy{zzzyzzzyzz{zyyyzzyyzzzzzzzzyzyyxxzyx{zzzyzzzzyxyyzyyzzzzzz{yyyyyyyyyz{yzzzyzyyyyyyyzz{zyyzyyzyzxyzyyzzzzzy{yzxyxyzzyyyzz{zyyzzzxyxxyyzzzzzyyyyyyxyyyyzzzzyzzzzxxyyyy{yyyzy{xyzyxyyxyzyzyzyzzyxyzyxyyyzyyzz{zyyyxyxxyyzyzyz{yyyxyyyyyyzzzzzz{yyyyyyyyzyzzzyyyyyzyzyxyzzzzzz{yyzyyyyyzzzyzzyzyyyzyyyzzzzzyzz{zyyxyzyy{zzzyz{yzyzyyyzzy{yzzzzzyz{yyzxyzzzzyzzyzzyzyyzyzyzzyzz{zyyz{yyz{zz|zzz{zzzzzzzzy{z{z{{{zyzzz{zzy{zzzzz{|zyzzzyzz{z{{z{zzyz{zzzz{zzzz{{{zy{zzzzzz{{|{{{{yyzzzzzzzzz|{zy{zzy{zyzzzzzz{{|{zyzzz{zzz{zz{{{{zyyyyyzyz{zz{{{{zzyyyzyyz{z{zzzzzzyzxyzyyzzzyz{zyxzzxyzyzy{zzzzzzyyyzxxyyzxzzzzyyyyyzyyzyzzzzyzyyyyxyyyyzzzzyzzzzyyyxyyxyyzzyzzzyyzyyyzxyzyyzzzzzzyyzyyxy{yzyzzzyyyyyxyxxzyyzzzzxxy{xxyyzzzyyzyyzyyyxyxyyyzyz{zyyyyyxzxxzyzyzy{yzzyyyyxyyzyzzzzzyyxzyyyxyzyyyyzzyyyzzzyx{yzzzzyzzxyyyyzy{yzyy{z{yyyyyzzzzzyzyzy{zyzzyzyyy{{{zz{{zyyyzyzyyzzz{z{{zyzyyxzyz{zzzz{zzyyzyzyzzzzzz{zzzzyzzyyyzz{{z{yzyz{zzyzzyzzzzz{{zyyzzyzzz{|z{{{zyzzyzyyyz{zz{{zz{{zyzy{zz{{zz{z{{xzyxzzyz|z{{{{{{zz{zz{z{{|{{{z{{yzzyz{y{zz{{zz{zzz{z{zzzzzz{{z{zzyy{yyyzyzzz{{{zzzyzyzyz{yzzzzzzzzyxyxy{zzzy{yxyzyxxxyxyzzyy{zyyyyxyyzyyzzyzzzyzyyyyzyxyzyyzyzzzyzyxyxyzyzzyyzzyzyyyyyxzyyyyyyzxzyxyyyxyyxzzzzyyyyyyyyxy{yzz{yzzyxyyxzxzyyzyzzzzzxyyyyyyz{zyyyzyyyyyxyzyyzzyyzzxyyyyyxxyyzzyzzzyyyyyyzyyyzxyyzz{zyyzyzyyyzzyzy{yyyyzyyxyyzyy{zzzyyyzzxxzzzyzzzzzzzzzxyyzzzzzzy{zzyyyyyzzyyzzzzyyyzyyzzyzzyzz|z{zyyy{zzyyzzzzz|zz{yyyyzyzzzzzzy{zzzzyyyzzz{zz{{{zzzyzzyzz{zz{zz{zzyyzyyz{{{z{z{z{zzzyzyzzzzyz{{zzz{yzz{{zzzz{{{{{{yzyyzzz|zzzz{{zyzz{yzx{z{{{zz{zxzzzzyz{zz{zz{{{yzzzzzz{yz{|z{{yzzyyzzzzzy{zz{z{zyzzzzyy{zz{|z{zyzxzxxyyyz{yzzyyyyzyxxxzzyyzzyzyzxyzyyyzzyzzzzzzyyxyyzyyzzzyyzzyyzyyxyyzyyzyzzzyyzzxxzyy{zyzyzzyyyyyyyxyzzyxzzyyyyxyyyxyzzyyzzyzzxyyyyxzxyyzyzzyyyxyyxyyzyzyyzyyyyyyxyyzzyzzzzyzyyywyyyyzzzyyzyxyyxzwzyyzyyzyzzyxyyyyzyyzyzyzzzxyyyzyxzzy{yyyzzzyyyzyyzyzzyyzzyyyzzxyzyzz{zzzzzyyyyyzyyzzzzyzzzyyyyyyyyz{{zyz{z{yyyzzyyz{zzzzz{zyyyzyyzzzzyyzzy{yyxyzyzzz{z{{zyzzzyzyzyzzzzz|z{zyyzyyzyzzzzzz{zzzzz{y{y{{{zzzzzzz{zyzzyz{zyzzzz{zyyzzzzz{zz{z{{{xzyyzzyz{z{z{zzzzyyyyzzy{{{{|{{{y{yzzzz{y{{zzz{zzzyzyzyyzyzzy{{{zyyzyzyzz{zzzz{{zzyzxyyzyzyzzzyyxyyxyyyxyyzzzzy{yxyxxyyyzzzy{z{yyyyyyzxzxzzyzzyzyyyyyyyzyzzyzyzyyyxxxyyzzzzz{y{yzyyyyyxzzyzz{{zzyyyzzyxzyzyzyyyyyyyyyyyzyyyzzy{yzyyyxyyyzzyzz{yyyyyyxxyyzyzzyzzzyyyyyyyzzzzyy{{yyyyzyyyyyyzyyzyyzxyyyyzyzzyyyzzzyyyyzyzyzzzyzz{zyyyyz{zzzzyzyz{yyyyyzzzzz{zyyzzzzyyzyyyz{zy{{zzzyy{yyyyyyzzz{zzzyyyyzyyzz{zyy|zyzzyzyzzxz{yzzzzz{yxzyzzyy{zzzzzyzzzzyyz{yzz{{z{zzyyyzzz{z{{zz{zyyzzzzzyz{zz{z{zzzzyy{{zy{zz{z{zzzzzz{zzz{{zzz{zzyzzzzzz{{zzz{{{zyzzzyzzzzzzz{{{zyyyyyyz{z{zzz{z{zzyzzzzzzzy{{|zzzzzy{yzyz{{zzzzzyzzzyzzyzzzyzyzxyzxyyxyyzzyzzy{yyyyxyyyzyzzzzxzyyyyxyyxzzzxy{zzyxxyyyyzyzzzyzzzyyyyxxyxzzzzzyzzyyyyyyyxxyyyyzyyzyzyyxxyyzzzyzy{yyyyyyyyzyyzzyz{yyyyyxyyyx{zyzzzyxxyxyxyyzzyzyzzyxyyyyyyy{zzyzzyzxzxzyyxyyyzyzzyzzyxzyzyy{yzxzzyyyyzyyzxyyzzzzzzzzyyzyyyzyzzzzzzzyzyyyxyz{zzzyzzyzyyzyzyzzy{zzyy{yyyzyzyz{yz{{zzzyyzyyyyy{zzzz{zzyzzzzzyy{{yzz{zzzzyzyzyz{zzz{zzyzzzyzyzzzzzy{z{zzzzyyyyzz{zzzzz{yzzzzyy{{{zz{{{z{zzz{{zzzzz{zzzzyyzyzzy{{{{{{zzzzyzzzz{{{z{{|z{{yzyyzzz{{z{{{zz{{z{z{yy{{z{zz{{zyzyzzyyzz{yzz{zzzzzzxyyzz{yzz{zyyyyyzyyzzzyzyyyyyyyyyxyzzzzyzyyyzzyyxxxyyzzyyzzzzzzxxyyzy{yz{{zyyzxyxxzzzzzzzyzyyyyyyxxzyzzy{{zyyzyxyyxyyyyyzzzyyyyyyyyyxzyzyyxzzyyyxzyzzzzyyyzyyyyyxxyyzzyyzzzyyyyxywyyyyzzyzzyyyyxzyyyyzzzy{yyyyyyyyxyyyyzyyzyyxxyyxyyzyzyzzzyyyyyzyyzzyzz{{yyyyyzzyyyz{{zzzzyzyzzzzyyzzzzyzzzyyyyyyxzzzz{{zzyzzyzyyyyy{z{zzzzyyzyyyz{zzzzyz{zzxzzyzyz{yzyy{yzyyyzzyzyzz{zz{{zz{zzyyyz{zzzzz{{yyzzyyxz{zz{zzzzyzzzyzzz{zz{{{zz{yzzz{zz{zzzzz{zzzzyzzy{|zz{{{zzzz{zyz{{{zzzzz{{zyzzyyzy{zzz{{{zzzzyzzz{zzzzz{zyzyyzxzzz{zzz{{zyzyzyyzyz{zzzz{zyy{zyyzyzzzzzyxxyywyzxyyyyyyxz{zyyzyyxxzzyzzzzzzyyyxyyxxzyzzzzzzyyxxxyyxyyyyyyzyzxyyyyyyyzzyyyxzyyyyyxzxyyyyyzzyyxyyyxxzxzyyyyzyyzzxxyyyyyxzzzy{zyyyxxxyxyzzzyy{yyyyyxxxyyyyyyyyyyyzyyyyyzyyy{zyzzxyyxzxzzzyzzzzzxzxxxyxzzyyy{{zyyyzzyyxzzzyzzzzyyyyzyyyyyzyzzzyzxzyxxyzzyzzyzz{yx{zyzzyzzzyz{z{zzyyyyyyzzzzzzzyzzzzyyyy{zzzyyzyzzzzyyzy{yyzyz{zyyyzzyzyzyzzzzzzzyyzzyzzzzyzy{y{yyyyzyyyzz{z{z{z{yyzzyzzzzzzz{{zzzzyzyzzz{zzzzzzzzzyz{zyz{zzzy{zy{yzyzyzz{zzz{|{zyyyzzzyyzzzz{{zzyyyzzzzyz{zz{zzy{zzyzzzzyz{z{zzyzzzzzyy{{zzyzzzzzzyyyxyxyyyy{yxxzyyyyyxyyyyyzzzyyyyxyyyy{{zzyzzyxyyyyyyzyyzzzzzzyzyyyyzzxyyxyyzzyyxyxyyzyzzzzzzzyzyyxzyyzzyyyzyxyzyyzxyzyzyyzyxyyxyzyyyzyzxzzzzyxyxyzyyxyyzyzyyyzyyxywzyzzzzzyzyxyyyyyyyyzzzzzyxyxyxyyyyyyyyzyzyxxxyyyyxzyyyzzyyzyxzyxyzzzzzyzzyyyyzyzxzzyyy{zzyyyyyyzyzzzzyzyzzy{yzzy{zz{{yzzzzy{zyxyxyzzyyzzzyyyzyyxy{z{zyzz{yyyzyyxzzzzzz{{zzyyyzy{zzz|{zzzzyzzz{yzzyyzzz{{zzxzyyzyyzzzz{{zzyyyzzyzyz{{zzz{zz{zyyyzzz{zz{{z{zzyz{zzzz{yzzz{{zzyzyz{z{zzz{zz{zzzzyzyzzzz{z{{{yzzz{zy{{zzzzzzzzyyzzxzzzzzzyz{{zzzyzzyyz{zzzyzzyyxxyyxxzyzyzzzyyyzxyxyyzzzyzyzzzyyyzxyzyyzzzyz{zyyxyyxyzyzxzzzzzyzxyzyyzyzyyyzyyyyyzyyyzzzzzzyzyyyyyyxyyzyzyz{yzzzzyyxxzzyyyzy{yyxxyyyyzxyyyzzzyyyxyxyyyyyyzzzzyxyyxyxyyzzyzzzzzxyyxyyxzyyzyzyyyyyyyxzxyzzzzyyzyyyxyyyyyzzyyzzzywyyzyyxzzzzyzzzzzzyzyzyyz{zyzzzzxyyyyyyzzzzzzzyyzyyzyzy{zzy{zzyzzzyyxyyzzyzzzzzyyzyzyyy{zyzyy{yzyzyzzzzzyzzzzzzzyzzzzyz{z{{{yy{zzyyzy{zz{zzzz{{zyzzzzxxz{z|{y{z{zyzzyyyz{{z{{{zyzzzz{zzxzzzz{zy{zzyyzzzz{{zyz{zzyzzzzzyzzz{z{{zzzzyzyyzz{{z{{zz{zzzzyyyz{zz{{{{y{zzyzzz{yz{{z{{{zyzyyyyzzzz{zzzxxyxyyyzzyzyzyzzyyyxyxyxyzyzyyzzyyyyyxyzyzyz{yz{{yywyyyxzzyyzyzzyxyzxyxxzzzzyzzzyxyxxyxxzyyzyyyzyxxwxzyyyyyyzzzzyzzyxyyxyyzxzyzzzyxyyyyyzyzyzzzzyyyyyyyxyyyyzzzyyyyzyzzyxyyzzzzyyyyyxyxyyyyzzyz|yyyyzyyyyyyyyzzyzyyxyxyxyzyyy{zzyyyyyyyyzzyzzzzzyyyxzzyyzzzzyzz{zyyyzzyzyzyzz{z{yxzxyyzxzyyyzyz{zzzzyxyzyzzz{zyyyyyzyyyyyzz{zz{zzyzyzzyzyzzzyzyzyzyyyyyzyzz{{zz{zyzyyzzx{zz{zzz|zyyzyyzy{zzz{z{yzzyyzxzx{|zz{{{zzzzzyz{zzzzzyz{zzyzzyyzzz{zz{{{{yyzzzzzz{zzz{{{{zzyyyyzzz{{{{z{{zzzzzzzy{{{z{{z{zyzyyz{yyyzzz{{z{yyzyyzzzzzzyz{{zzzzyyyyyzzxy|yzwxyxyyyxzzyyzxzyyyyxyxxyyyzyzy{zyyxyyxyxzyzzzzzyyyyyyyyzzzzyzzyyxzwyxyyyyzzzzzzyyyyyxxxyzzyxyyzzyyyxyyyyyyyyzyyyyyxyxyxyyzxyy{zzxxyyyyyyyyyzyyzyyyyyxyyyzyzzzzzz{yyyyxyyzzyyyyzzzzxyzyyyyyyyyzzyyyyyxyyyyyzzzzzyyyyxzyzyyyzy{zzyyxyyyyyyzzz{zz{{yzyyyyzyzyz{zzzzyzyxyyyzzzzzz{y{yyyzyyzxz{zzz{{yzzzyzyzyyy{zzzzz{yyyyzyzzzzzz{zzyzyzyyyyzzz{z{zzyzyyyzyzz{zzy{z{zzyxzzyyzz{zz{{zzyyyyzzzzzzzz{{{zy{yyzyzzyz{z{z{{yz{zzzzzzz{{{{zzyzzzyzyzyzzz{zz{yzzyyyzzyz{{z{{zzy{z{yyz{z{zz{zyyyyyzyzy{zzz{{{zyyyzzzyzz{{yz{zzyyyzyzyzzzwyzyzyyyyyyzyxyzzyzzyyyyyzxyyzzzyzyyzyzyyzyyyyzyzz{zyzyyyyzyyyz{zyzzyyyzxyyyx{zzyzzyzyyzxxyyxyzyyyy{yyyyyzxyyzzyyyyyyzyzyyyyyzzyzyzzzyxxxyxyyyzzyzyzyyyxyxyxyyzzyzy|yyyyzzyyxyz{yzyzzyzxyyyyxyyzyyzy{yyyyyxyyyyyyzzy{yyyyyyzyyzzzyz{yzyyyzyxyyzzyzzz{zyzzyxyyyzzzzz{zyyzyyyzyyzyzzz{zzyyyyxzyy{yzzzzyzxzzyyyyyzz{zz{{yyxyyzyyzyzyzyzyzzyzyzzzz{zz{{zzyyyyzzzzyzz{zzzzzzzyyyzy{zy{z{{{zyyzzyzzy{z|z{{{yyzzzzzyyz{z{z{zyzz{y{yzyzz{z{zzzyzz{yyzzz{{z{zz{yzzzzz{{{{zz{z{zzzzyzzz{zzz{zzzzzzyyzzzyzzzz{{zzzxyx{yyyzzzzzzzzxzyyyzyzzzxyzyzxxyyyxyzyzyyzy{yzyxxzyyyyzyy{zzyxyxxxxxxyyzyzy{zyzzyxyyyzzzzxyzyyyyxywzxzyyzzzzyyyyxxxyyxzyyyz{yyyyxyyxyyyzyyzyzyyyxxzxxyyyxyyzyyyxwyyyxxyyzyyzyyyxyxyxyzzzzyyzzyyyxxyxxyzyyzzz{zyyxzxyxzzyyyzzyyyyxzyyyyyzzyyzzyyxyzxyxzyzyyzzzyyyyzyxyyzyyzy{|yyzyyxzxzy{zzzzzyzzyyxyyzyzzzzz{yyzyzyyyxzyzy{yyyyyzyyyyyzzzzzzz{zyyyyxyz{zzyzzyyzyzzyzzyyz{yyzzzzzzyzzy{zz{zzyzzxy{zyyyyz{zz{z|zyyyyyzzz{zzzz{{yzzyyz{zzyz{zz{yzyzz{yy{z{zzzz{{zzzyzyzyzzz|y{z{zyzzxzyzzz{{zzz|zyzyzzzzzzyz{z{{zzyyzyzyyzyzzz{zyzzxyyyyy{zzyyzzzyyxyxzyzyzzyzyyyxyxyxyxyyzzxyzyyxyyywzyyyxyzyyzyyzxyxyyyyyyyzzzyzyzyyxyyyyzxz{yyyxyxxyyzyzzyyzyyyyyyxyyyyyyyyyzyyzxwyyyzyyyyzzyxxyxyyxxyzyy{yzzxxyyyxxyyzxyyyzyyyxxyyyyzyzyzyyyyyyzyxxyyzyyzz{xzyxyyyyyyzyyyzyyxyyyxxyxzyzyyzzzyxyyyyxzzyyyyyzzxxyyyyzxyzzzyxzzyyyyyxyyzyyzyz{zyyyyxyyxzzzyzz{zyyyyxyyxzzyzyzzzzxyyzxyyzzzzyzzyyyyyyxxyyzzyzzzzyyyyyxyyyzzzzzzyyzyyyzzzzyyzzz{{yzzyyyyyy{{zyzzzzyxz{yyx{{{zyz{zz{zzxzzzyyyzzzz{zzzzyzyzyz{{{z{{zzzyzyzyzyy{zzzzzz{zzzzzzz{yzzzzzzzyzzyz{z{yzzzzyzyyyyzyyyyzyzzzzyyyyzzyyzzyzzzyxyyyxxyyzyyyyyzyzyxyyyxxyzzyyxyyxyzyyxxxyyyzzyzzyxzyyxyyyyzyzzyyyyyzxyyzyzzzyyzzyxyyyyyzyzyzzzyzyyxxyyyxyzzzyyzyyyyyyxyyzyyyxyzyyzyyyyyzzyyyyyzzyyyxyxyzxzzzyzzzzyxyyyxyzy{zzyzzzzzyyyyxzzyzyzzyyyxyywyxxyzyxzzzzyyyxyyzyyyxyzzyyxzxxzyyyyzyzzzyyxzxyxyzyyyyyzz{{zzyxxyy{zyzyzzzyzzyyzyxyzzzzzzzzyzyyyxyzzyyz{zzyyyyzzyyyz{zyyzz{yzzyyzxz{zz{yyyzyyyyzyzzzzyyz{zzyzzzzzyzzzzyzz{zyzzyyzy{zz{z{zzzzyzyyzy{z{yz{{zzzzyyz{z{zyz{{zzzzzyzzzzzz{zz{|{{yzzyyzzz{z{z{zzzyzzzyzz{z{zz{{{zzyzzzzyyzzz{{{{yzzyzzyzy{{zzzz{zzyyyyxyzzy{yz{zyyyyzyyyzyzzyyyyzxyyyxxyxyzyyzz{xzyyyxyxyzyzyyyzyyyxyyyyyyzyyzzyxxyxyyxyxyyyyyyzxyyyxyyxzzzyyzy{yyyxyxyxxxyzyzzyyyyyyyyyyzyyxyzzyyyyxyxxyyyzyyyywyyyxxxyzyzzyzzyyxyxxywxyzyyzzyzzxxxyzyyyzzyyyyyyyxxyzyyxyyyzzyyzyxxyxxyyzyyyzyyzxyxyzyxyyyzzzzyyxyyxyxxyyzzyz{zzyyxxxzyyy{zzzzzyxyyxxxyyzzzzyyzyyyzyyyxyzzyzzyzyyyyyxyyyzz{zzzzzzyzyyyyzzzyy{{zyyyyyyyxyzz{zzzzzyzyyyzz{zz{zzzzzyyzzzyyzzyzzz{{zyzxyyxyyzzzzzzzyzyyyz{zzzzzzz{z{yzyxzzzy{yzz{{{{zzyyzzy{zz{yzzzyyyy{yyyzzzyzz{{zzzyzzyzzz{zyzyzyzyxyzzyzzyzy{zzzzyyzzyyzz{zzyzyyyyyxyyxzyzyyyzxxyyyyzxxyyyyyzyyxyxxxyyyyyyzz{y{yyxxxyyzxyzyyzzyzwyzyyyxyyyyyyzyzwyxxxyyzyyzy{yyyxyxxyyxzyzyzyxyyxyyxxyyyyyyyyzyyxyzyyyxyzxyyzyzzyyyyxxxyyyzyzyyyxyyzywxxyyyzyyzyyzxyyyyxyyzzzyyyyyyyxzxxyzyyyyyyyyxyyyxxyxzyzzyyyyyyzyzzz{zyzz{yyyyzyyyzyyzxyzzyzyyxxzxyyzzzzy{zyyyyyyyyzz{{zzzzyyy{yyxzzzzz{yzyyzzyyyxyzzyzzz{zxyyzyyyxzzyyzzyzzyyyyyyzyzz{zzzyyyz{zzzzzzzzz{{zyyzyyzyy{{zzzyyzyyz{zzyzzzzz{{{zzyyzyyzy{zzzzz{zzyzzzyyy|z{zzzz{zyzzzzzz{z{yz|zzyzzyzxyzz{y{z{z{zzy{yzzzzz{{{{zyyzyzxzzzzzzz{{zzyxyyyzxyzyyyzzzyy{yyyyyzyzyzxzzyyyyxxyyzyyzyzzyyyyyyyyyyyzzzzzyzyyyyyzyyyzyyz{zzxyzzzyyyzzzzzzzxxyyxyyxxxyzzyyzyyyxyyyyyzyyyyzyzxyxxyyyyyzyxzyxyyyyxzxxxyyzzzzzyyyxyyyyyyzyzzzyxwxyxyxyyzzzzzzzyxyyxyyyyyyyyzyzyyxzyyyyyyyyzyzyyyyyxyyzyzyyzzz{yyzyxyyyyzzyzzzzzyyyyxyzy{zyz{{{yyyyyy{yzyyzyyzzzzyyyyzyzzzzzzxyyzyzxyyxzzzyzzzyyyzyzyyyzz{zz{zyzyzzzzzy{zzzzzzzzyyzzzyzzz{{zzzzyzzzzyzyzzz{zzy{yzxzzyyzzzzyz{{zzyzzyzzy{{zz{zzzyzxyyzyzzz{zz{{z{yz{yzyy{{yyz{{|zzzzyzzz{zz{{z{zzzyyzzzzz{yyzz|{zzyyzzyz{zzzz{{zzzzyyzyz{zzz{zyzyzzzyzzxxzz{zz{zyzzzzxyyxyzz{zyyyzyyyxyyyzzyzzzzxyxxyyyxyzyyzyzzyyyxxyyzzzyzz{zzzzyzyyyyzzyzyyzzyxzxyxyyzyyzyzy{yyyxyzyyyzzyzz{zyxxyyyyyyyyyyyzyxyxyyyzyyyyzzzzzyyxyxyxyyyzzyzzyyzxxyyxxxyzyzyzzxyxyyxyxyyzyzz{zyyyyyyyyxzzxzzyyyyxxyxzxy{yyxzzzyyyyzxyyyzyyzzzyzyyyyyzyyyzzz{zzzyyzyyyyyzzyzzyzzy{yyyzzyzyyyzzzyxzzyxyyzzzz{zz{zxzyyyyxzzzyyzzy{zyyyyyz{{zyyzzzyyzzzzzzy{zzzz{zzyzyyzzzzzz{zz{{yyyz{zzyzz{zzz{zyz{z{yzyz{{z{zz{zzzz{zzzy{z{z{{z{zzzyyzyy{z{zzz{{zzzyyzz{{z{z{z{{zzxyzyzzzzz{z{{{yzyyyyzyzzzzzz{zzzyzyyyyzzzz{{zz{yzzzzy{{zzzyzyzyyxyyzyzzzyyyzzzyzyyzyyyyzzyyyzyzxyzxxyxyxyzzyzyyyyxyzy{yyyzzyzzzyxxxxyyyzyxyzzzyyxyxyyyzzzyyyzyyyyxyyyxzyzzzzyyxyxxyyyyyzyyyzyyyyyyyyyyxyyyzyzxyyyxxyxyyzyxyzyyxyzxzxxzyyyyyzyxxyyxyyyyzyzzz{zxxyyyxyyxzyyyz{zzxzyywyyyyyyyyyyyyyxxyyyxyyzyzzzyyyyzyxzyyzzyzzzxzzyxxxyyzzzyzyzyyyxyyzxzzyzzyyzyyzyyyyyz{zzzzzyyz{yyyyzz{zyzy{yyxyzyyzyzzzzyzyzzyyyzyyzxzzzz|{zzyzzyyzyz{zzzzzzyyzyzyyzz{zyyzzy{yzyzz{yz{z{z{{{zzyyzzzz{{z{{z{{zyzzyzyy{{y{zz{zzzzyyzzzzzz{{{zzzyzzzzzyzzz{z{{{zzy{{{yzzzyz{{zzyz{yyyzy{z{zzzzyyyyyyyzyz{zzzzzzzyyxyyyyzyzyzzzyxxzyyxyxxzzyzyyzzyyyyxyyzyyyyzy{yyyyzzyxyzyzy{yzzyyyzyxyzzyzzzyyzxxyyxyyzyzyz{zzyyyyyzzyyz{zyyyyzzzxzzxyyy{xxyzyyyyyyyyxyzxzyzyzyzyyyyyxzzyyyyxyzyyzyyxyyzzyzzzzzyyyxyyyyyzzzyzzxzxyzyzyxzxyzyyzyyxyyyzxyzzyy{zyzyyxyyxyyzyyyyzzyzyzyxzzzyzzzzzzyyyzyyzxyzyzyzzyyyzxzzyyzyyzzzz{yzzyzxzxzyz{yyzzyyzzyyyyyzz{zyzzzyyzyyyyz{zyyzy{zyyyzyyzyz{{zy{zzyyyzzyzy{{{z{{{{yyzzyzz{zzz{zzzzyzyyyzyz{z|zzy{zz{zzzzzz{zz{z|{{{zzzzzzy{{{|z|zy{yzzyy{z{{{yz{zzyyyyyyzz{z{{zz{zzz{{zyzyyzz{|{{zz{yzzyzyzzzzz{zzyyzyz{xyz{yzzzzzzyyyyxyyzzzyyzyzxxxxxxxxyzzyyzzyzzxxyxyzxyyyzzzzyxxyyyxzyyzzzz{zxyyyyyyyzzyzyzzyxxyyyzyyyyyyyzyyyyyxyyyyzyzzzyzzyxxyyxyyyzzzzxyyxxxyxyyyyzyyzzyyyxxyyxxyyyzyzzxzyxyxyxyxyzzzz{yyxyxxyxyzyzyyyzyxyyxyxwxyyyyyzyyzxzxxyyyyyzyzyzyyxzyyyyxxyxyyzzyzxyyxxyzzzzzyyyzyyzyyyxyyzzyyzyyyyyyyzyzzzzyzzzyyzzyyyzy{zyzzzzzzyyyyyyyzyzzyy{yzyzyyzyy{zzzy{zzzyyzyyyzz{zzzyzzyyyyxyyzy{z{zzzzyyyzzyyyz{zz{{zzzzyyzzzzzzzzzyzyyyyyyzzyzzz{{{z{zzzyy{zyz{{y{{|{zzyzxyyyz{{{z{zyyyyzzzyyzyyzzz{zzyyzzyyzzzz{{z{zyzzyyy{yzzyzzz{zz{yyyzyzzzzzyzzyzzyxyyyyy{{yyxyxyyyxxzyxyyyyyxyyyyyyyyyxyyzzzzxzzxyxyyyyyzyyyzzzzyyxzyyyyyyzzyzzyyyyyyyxzxzyzzyzyyyyxyywxyyyyyyyyxyyyxyyxxyyyyzyyyzxxyxyzxyzyzyxxxyyyyxyyyzzyzzyyzyyxxwyyyyzyzzzxxxxxyyyxyxzyzzzyzyzzxxxyxyyxzyyzyyxzyyyyyyyyzzzxyyyyyxyyyyyy{{zyxyxyxyyyyyzyzzzyxyyxyzyyzzzzxyyyyyzzyyyyzzzzz{yyyyyyyyyyzzzyzzzyyzyzyyyzzz{yz{yyyzyyzzyz{{yyzzyyyzyzyzyzyzzyzzzzyzzzyyxz{zzzyz{zyyzyyzzy{{zzzzzzzzxzyyz{{z{zzz{yy{zyy{yyzyzzz{z{yxyyzyz{{zz{z{{{{zzyyzzzz{{{{{z{yyzyyyzzy{zz{|{{zxy{yyz{{{{z{{{zzyyyzyyyz{yz{{yyzyzyyyzzzz{zzyyzxyxzyyyyzzzzyzzyxxxxyxxyzyyzyzyyxxxxyxyzzzzzyzzyyxyyyyxzyyyyyzyzyyyyyxyxyyzxyzzyyyyxxyyyyzyyzyyyzyxxzxyyyxyyyyyyxyyxxxyxxzyyyyzyxyxyxyyzyyzyyzzyzyxxyxxyzyzyzyzyxxxxyxyyyzxyyzzyyxyxyxyyzzzzyzzyxxxyyxxyyyxzzy{yyzyyxyxxzyyxzzyzxyxxyywyyz{yxzzzzyzyxxxzyzzzyz{yxyyyyyyyzzyzyzzzyyyyzyxzzzy{zzzyyyzzwzyzzzzzzzyyyzyyyyxyzz{zzz{yyy{yyyyyzzzzzzyzzyyzzyzzz{{zzzzyyzzyzzxyzzzyzz{zyzyyyzxyzzzyz{zzyxyzyyzz{z{z{y{zzyzyyzzyzzz{zzz{yxyyzzzz{{zzz{{zzyyzzzz{z|z{zzzzzyzyyyzz{zz{z{{zyyyyyz{{yzyz{z{zzyzyyzy{zzzyzz{zzyyyyzyzzzzyyzy{yzyyxyyyzzzzzyyyzzxyzxyyzxyyzzzzyyxyyxyzyzzzyzzxyyxyyxyzyyyzzyyyzyxyxxxxzzyxyzzzxzxzxxxxzzyyzyzyxyyyyxxxzzyxzzyyyyxyyxxyyzyzzyxxyyxyyyxyzyyyzzywxxxxyyxyyzyzzyzzyxxzxwyyyzyxzyzyxxxxyxxyzyzyyzzzyyxyxxyxyzyzyzyzyzyyyzyyyyzyzyyxyzxyyyzyyzyzzzyyyxyzyyy{zyzzzz{zyyyyyyyzzzzzzxzzzzyyyyyyyyyyyzzyxzzzyyyyzyzzyyzzzyyyyyxzzzyxz{yzyxyyyzyz{zyy{yzzyxzyyyzyzzzz{zzyzzzyyyyy{yzzzzyzyyyyyyxzz{y{{z{zyzzzz{yzzyzzzzz{yzyzz{zy{{zzzz{zzyzzyzyxzzzz{{{{yzzyyyy{z{zzzz{{yzyyyzzzzzz{y|{zzyzzyzzyzzz{zyzyzzzzyyyy{zzy{zzyyyyzyyyzzy{yzzzzyyyyxyzyzyyzyyyyywxyxxyyzzyxyzzyyyxxxwyyyyyyyyzyyxxxyxzzxyzyzyyyyyyxyyyxzyzyyyzzyyyyxxyyzzyxyyyyyyyyxxxyyzyyzxzyyyyyyyxyy{zyzzzzywyyyyyyyyzyzyyxyxyyyxxyyzyyzzyyxyyxyyxyzzzzzyzyyzxxxyyxyzyzyzzyyxxxxyxxyyyyxzzyyyyyxyxxxxzyzyxyxyxyyyxyyyzzzzyyyyxyxxxzyzzzzzyyyyyyyzyyzzyzzzzxyzyyyyyzzyzyzzzyyzyyzzyyzzyyzzzzzyzyyyyzyzzyz{zzyyyzyzyzzyyzzz{zzzyyzyyyzz{yyz{yyzzzzyyzyzzzzy{yyyxyyxzyzz{z{{zzyyzyyzzz{zyzz{zzzzyyzzzyzzzzzzz{zzzyzzyzzzzz{{z{xzzzyyzzz{y{{zzzyyzzzyyy{yzzz{zzzyzzyyyzzz{z{{{zyzyzyzz{z{zz{{zzzyyyyzyy{zzyyyzyzyyzyyzzyzyyzzyzxyyyxyxzxzxyyzzzyxyyxyxyzyzyyzyzyyxyyyxzyyyzzzzyxyyyxxyyyzzzyzyyyyyxyxyzyyzxzzzyyyyxyxxyzyyzzyyxyyyyxxxyyzxzzzzxzyxyyyyyzyyzyyyyzxyxxyxyzyyyzzyyyyyxyzxyyzyzyyzyyyxxyyyyzzyyxzzyyyyxxyyyzxzyyyyyyywyxxxxzyzzzyyyyzxyyxyx{yyzyzzzyyyzyyyyyyyyzzzywyyzyyy{zzxyyz{yyyyxyyyyzzyyyzyzyyyzyzyyyy{yzyyyzzzyyyyzzzyzzzyyxyyyzyy{zzyyzyzyzzzyyyzzzyzzz{zyyxyzyzzyyx{zzz{zz{zyyzxz{yz|{zyzyyzzzzzzzzz{z{zzy{zz{z{zzzzzzzy{y{zyzyzy{{zz{z{zyzzzyzz{yzz{zzy{xzzzyzzzzz{{zzzzzzyzzyz{yzzzzzzzyyyzzyzzzzzz{{zzzyyyyzyyz{{yy{zyzxyyyzxzyyzyyyxyxyxzxyxxyyyyzzyzyyxyyyxyyyyyzzzyyxyyyxyyyyyzzzyzyyyxxxyxzyzyyzzyyywyxzxzxyzyyyzyxyyyxxxyzyzyzzyyyyyyyxyyyzzyxzzxyzyyyxyyyyyyyyyyyxxxyyyyzzzyyzyyzyyxyyxyyzyyzyyyyzyyyyxxyyyyyzzxyzyyzyyyxzzyyyyxyyxyxxxyzyzyzyzyyyyxyzxyzzyzyzyyyyyzxzyyzz{yzzzzyyzxyzyyzzyy{zzyyyyyyyzyzzzzzzyzyyzzzzyzyyzyzzzyyyyyzzyyzzyyyzzyzyzyxyzzyzxy{zzzzyyyyyyyzz{zzzzzyzyyyzyzyz{yy{zzyyyyzyxzyzzzyzzzzyzzxyyzzz{zz{yzyzyyzyyz{zzzzzzzyzyyzzyzzz{zzzzyxyxzyyz{{z{zzzzzyzzyzzzzzzzzzz{zzzyzyyzzzyz{{yzyyzzyyyyyzzzyz{zzzyzzyzxzyz{yzyzyxyxyxyyzzyxyyyyyxxxyxxyzyzyxyzyyyyyyyyzyzyyzzzzyyyzxyyyxzyzzzzzyxyxzyxyyzyzyzz{yyyxyyxxz{zyzzzzxyyyzyyxyyzzzyzzyyyxzyyxyzzzyyyyzyyyyzyyyzzyyzyxxyyyyxyxyzzxyz{yzyyyzzxyyzzyzzyyzyyyyyzyyzyyyyyzyxyz{yyyyyyyyzzyyyyyyyyxyzyyz{yzyyyyyyyyyzyzyy{{yzyyyyzyyzzzzy{zzyyyyyyyzzzzyzz{yzxyyyyyyzz{yzz{yyyyzxxyzzzxyzzzzxyyzzyyzzyyyyzzzyyzyyzzz{zzyzy{{yy{zzyyyzzzz{{{zxyyzy{yzzzzzzz{yzyzyxyyz{zzzz{{zyzyyzyyz{{{zz{zyyzzzy{zzzzzzz{|zyyzzzzyy{z{{{{{zyzzyzzyzyz{z{{z{zyyzzzzy|z{zzz{{zzy{zxzzzyzz{z{yzyyyy{yz{zy{z{yzzyyzyyyzzzyyzzzzyzyxyyyzzz{zzyyzyyzzyzyyyzyxyyzyyyxxxyx{yzyzyzzyyxxxyxyyxzzzyzzyxzyyxxzyzzzzzzyzyyyyxyyyzzyzzyzyzzyzxzyyy{yyyzyzyyyyyyyzxzyzyzyyyxyxyyzzzzyyyyzyxxyxyyxxyzyzy{xzyzyxyyyyzyyzzyzyyyyyxyxxzzyzz{zzxyy{xyxyzyzzyy{zyyyyzyxzzyyyzzyzyyyyyxyzyzzzzyzyyxyzyyzyyyzxyyzyzzyyyyzzzyzy{{zyyyyyzyyzzzyzz{zyyyzzyyyzzzzy{zzzyxzzyyyzz{zy{z{yyzyyyyyzzzzyzy{yzyyzzyyyz|{zzz{yyyzzzyyz{zzzzz{{zzzyyyyzyz{z{{zzyyyzz{z{{yyy{{{{y{y{zzzyzyzzzz{zyzzz{yzzzz{zz{zzzzzzyyzzzzz{{z{zyzzzzyzzzyz{z{|z{xzzyzzz|z{zzz{zzyyyyzzzyzzzzzzzzyzzyzyy{yzzzzzyyzzxyyyzyzzyyzyyyyyyxyxyzyyzzzzyxxxxyyxzzzzyyzzyzyxxzxxyxxyzzzzzyyyyxywzyyyyyxzyyyyxyyxyzzzyzyzyyyxzyzxyyyyzzzxzyyyyxyxyzyzyyyzyxyyyzyyyzyzy{yzyyyxxxyxzyzyyz{yyxyyxxxyxyzyyz{yxyyxyyxyyzyzyzyyxyyyyxyxyyyzyyxyyzyyyxyxxyy{yzzyyxyyyyxxyyzyyyzzyyzyyyzzyyzzzyzzzyyyyxyzzzyyyyy{yyyzxyyzyyyzyyzzyzyxzyyyzzyzzzzzyyyxzyxxzyzzzzzzzyyyy{yzzzzzyy{yyyyyyyzzzzzzzzzzyz{yyyyzzz{z{yzzzyyyzzyzzzzzz{zzzyyyzyyz{{zy{z{zzzzzz{zyyzzzz{z{zzzzy{zyyzzz{{z{zyyyyyyz{zz{z{{{{zy{zzyzzzzz{z{{zyzzzyzyyz{{zz{{yyyyyyyyzzyzzzz{{xyyyyyyyzzzzyzzyxyxyyzxyy{zyyyzyyyyxyyyyyyyzzyzzyyyxxzyyyyyyzz{xyyyxyyyzzzzzzzzzyyyxyyzyyzzyzyyzyxyxyyyyyyzyzzzzyxyyyxxzzyyyyzyzxzxyxxyzyyyyyyzyyyyyyxzzzzyzyzzyyyxyxxxyyzxyy{yyyxzxyxyxyzz{zzzyyxxxxzxyzzzyzzzyyy{xxyxxzzyzyyzyyyxyxyxyzxzyzzyyyxyxxyyyzzzyzzzyyxyyyyzyzzyzzzzyyyyyzyyzyzzyzz{zy{yxyxxzyzyyzzzzyyzxyzyzzzzzzzzyyyyyyyyzyzxyyzzyyzyyxyyzzzzzzyxyyzyyyzzzzy{zzzzyzzyyyzzzzzzz{{z{yzyzyyzzzzzyz{z{wyzzzzz{{zyzz||yzzzyzyzz{zzzzzzzzyyzzzzy{{z{zzyzzzzzzyzz{y{z{zzzyyyyzzz{yzzzzzzzyyyyyzzz{z{zzz|zzyyyyyyzzyzz{{zzyzyyyyzyzzzzz|yyyyyyxyyzyzzyzzyyyyyyxxxyzyxyyzyyxyyyyyxzyyyzyyzyyyxyxxxyzyzzzyyyyxyxyyyzyzyyzzzyyyxxxyxxyyzyzzyyxzxxxyxxyyyzyyzyyxzyyxzyxzyzyyyyyxyyyxyyyyxzyzyxxxyxyyyyyzxyyyxyxzywyxyxxzyyzzyxyzxxyxyxyxyyyzyyyxyywyyyyxxxyyzyyxyzyyyxzyyyzyzyxyzyyyyzyzyxy{zyxyyyyxyxyyyyyzzxyyxxxyyzyyyzyzyyyyyyxyzzyyy{yzzyzzyzxywyyyzzz{yyyzxyyyyyz{yzyzxyyyyyyyyzzyzzyyzzzyyzyyz{zyzzzzyxyyyyzzzzyyzzzyz{yzyzyxyzzz{{z{zzyzxyzzyz{z{zz{zzzzxzyyzyzzz{zz{{zyyyyyzy{z{{zzyzyzzyyyzy{zz{zzyyyzyyyyyxzzzzzzzzzyzzyy{z{{{{z{{yyzyyyyyx{yzzzzzzzyyyyyyyyzzzyzzzxyzxzyxyzyyyxzzyyxyxyzxxxyyyzyyyyzxyyxyzyzyzzyzzxxxxxxyyyyzzzyyzyyyyyyxyzzyyyyzyyxyzyyxyyzzzyxzyyzxyyxyzyyyyyzyyyyyyyxyyyzyzzzyxyyyyyxxyyyyyzxyyyyyxwyxyyyzyyyxyxxyxyxyyyzyzzzzzyyyyyyyyzzzyzzxyyyyxyzwzzyyyyyyzyyxyyyxyyxyyyyxzzyyyxzxyxyzyyzzyyyyyxyyyzzyzyyyyyyyyyyyzzzzyyy{yyyyxyxzy{zyyz{zyyyzxyyyyzyzz{zyzyzyyyxyyyyzzyz{yyyzzzyxzzyyzz{yyzzzzzxzzy{zzzzzyzzzzyzxzzyz{zzzyyyyyyyyy{zzyzyzzyyzzzzyy{zzz{zzxy{zzzzzzzz{{zzzzyzzyzyzy{zzzzzzzzzzyzyzzz{zzz{zzyyyyyzyzzzz|{{{yzzyzzzy{zy{{{zzyzxyyxyzz{yzz{zyyyzyxyyyyzy{zyzzyyzyyyyyzzzzzxzzxyyyyxyxxyzy{yzyzyyyyxyyyyzxyyy{zxyyzxyyyyyyyzyyyyxyxxxyzyyyxxzzxyxyxxxxyyyzxyxzyxyxyyxyxyzxyzyyzxzxyxyyzzyyyyyyyxyxxyxxyyyzyzyxyyxyyyyxyyxyyyyyxyyyxxxyzyzzyzyyyyyyyyxzyzyyzyzzzxyyxxyyxyyxyzy{zyyxyyxxyzyyzzzzyxzyyyxyzyyyzzzzyyyxyxyyyyyyyzzzyyyyyyyyyzzzyzzzyyxxxyyyzzyzzy{yyyzyzwyxyzyyz{yyyyyyzyyyzzzyyyzzyyyyyyyyzzzyzzzzzyzyzyyyyzzzzzzzzyxyyzzzzzzzzzz{zyyyyyyzzzzzzz{z{yyyyxyyy{zzzyz{yyzyzyzyzyz|zzzyzzzzzzyyyzzzz{{zzzyzyyzzz{zzzzzzzzxzyxyzzyy{yzz{zzyyzzyyzzzzzyz|yyyyxyyyzzzxz{{zyzyyyyzzyzyzyzzyyyzxyyyyy{zzzzyyyywyyyxyzzyyyyyxyxyyxyxxyzxzyyzyyxyxxzyyzyzzxzyyyyyyyyxyxyzzyyyyyzyywxxyyyxyyyyzxyyxxxyyzzyyyzzzyyzyxyyyyyzxyyxyyyxyxzxy{yyyxyzxyxyyxyyyyxyyxyyyyxyxxzyzyyzzzyzyxxyxyyxxyyxyzyzyywxyzyxxxxzyyyzyyyxyxxyxxxxyzzzyyzyyyyyyyyyzyyzzyxyyyxyyxzzyzyzzyxyywxyxzxzyz{zzxyyyyxyx{yzzyzzyyyzyxxxyyzzzy{zzzxyyyyyxyyzyy{zyzyxxzyyyzzzyzzzzxyyxyyyyyzzzzz{zyzyyyyzyzzz{zz{zyyyyxxyyzzyz{zyz{yyxyyzyz{xyz{{{zzzxzyzyzzzyyzz{zyxxyzzyz{zzzzzz{zzyyxyzzzzz{zz{zzyyyzxy{zzz{zzyzyzyzzxzzzyzzz{zyzzyzyyyyzyzzzy{zzyyyyyxyzzyyyzzyyyzyxxyyyzxzxyyxxyxyyxxzyzyyyxyzxxxyyxyyyyxyzzzyxxyyyyyzyzyyz{zxzyyyxwyyyyyxyzzyyyyxyxyzxyzyyyzxxyxyyyxxyyyzzyyyyyxyxxxyyzxyyzzyxyyxyxxyyyzyyyyxxwyyxxyzyyyyyzyyywyxyxzyyyxzyyyzyyyxxxxwzyzyxzzxxxyyxyxxyzyxxzxyyyxyyxxyyyyxzyzyxyxyyyxyy{zzzzzyyxxyxxyzzxyyy{yyxyyxyyyzzxyxzyzyyyyyyxzzyzyyzyzyxyyyxxyzzzzzzzyyyyyxzxzyzyyxz{zzyxyyzyzzzyyzzzyyyyyyxzyxzzzzzzyyyyzzyzyzzyzz{z{zyyyyzyxzz{yzzzyzyyyyyyzzz{z{zzzzyzyzyz{yyzzzzzzzzzxyzyyzyzz{{zy{yzzzxyyzzyzz{z{zzyzyzyzzz{{{zzzzzyzyxyzzzzzzyz{zzzwyzyyzz{zzz{zzyxyyyzxzyyzyz{zzzyyxxyyyyyyxzyyxyxxyyyxyzyyyz{zzyyyxyyyzyzyzyyzyxxxyxyyzyyzyzzzyyyxyyyyyzyyyyzzyyyyyxxyyyyzyzzzzxyxxxyyxyyyxyzyyxyyyxxyyxyxzyzyyyxyxxxyyyyzyyyzxxyyyyxwyyyzyyyyyxxyyxxyzyzzyzyzyzyyxxxyyzyyyzyzyyxyxwzyxyzyyyyzxyyzyyyyxyyyyyyzyyyyyyyxyyzzzyzzyyyyyyyy{yzzzzzzzyyxyxyyzzzyyzyzxyyxxyyyzzyz{zzyzxzyxyzyzzzzyyzzyzyzyyxyyz{zzzzzyyyyzyyyyzzzzzzzyyyyyyyzzy{zzyzyzyzy{yyyz{z{zzz{zzzzyxyyyzzz{{|zzzzzyzzzzzzzzz{z{yzyzzzyzz{zz{zzyzyzyzyzzz{zz{{zzyzzzyzz{zzzzz{zzzyyzyyzyzzy{zz{zyyy{yxzz{zzy{zzyyyyyxzyzzzz{zzz{yzxyyxyyzy{yzzyyyzyyyzy{{zyxyzyyyxxxxxxyyzzyzyzzyyxyxxyyyzyyy{zyyyyxyyyzyzzzzzyyxzyyyzxzyzzyyzzyyyyyyyxzyyzzyyzzyyxyyyxyzzyxzzzyyyyxyyyzyzyyzzzxyxyyyxyzyyyzyyyxxyzxxxxyyyyyyyyyzyyxxxxxyyzyzzyyyyyxyyxzzyzyyzyzxyxxxyzyzzxxzzzyyyxxyxxyzz{yzzzyyyyyyyx{zyzyzzzyyyyyxyyz{yzzyzzyyzzzxzyzzyyzzyzyzyyyyyyyzzzzyyzyyzyyyyyyzzzzyzzyxzzyyzyyzzyzzzyzxyzyyzzy{zyzzzyzxyyyzzzyzzzzyz{zzyyzzyz{yz{zzzzzzyyyzyyzz{zzzzzzyyyyyyzzzzz{{zzzzyyyy{zyz{z{z{zzz{yzzyzzzz{zzz{zzzyyyzyzz{{yzzzyzzyzzyzzzzzz{z{zzxyzzzzz{z{zz{zzyzyyzyxzzzzzz{z{yzyyyxyz{y{zyyyzzyyyyzzzzzyyzzyzyxyyyxyyyzxzxzzxzyyxxyyxzzyzy{zyyyxxzxyzzyyzzyyyyyyyyyyyyz{xzzzyyzzyyyxyyxyyyzzxxxyyyyyyyxyyzzzyxyxxyyxyzyxxzyyyyyxyyyyxzzyyyyzxyzyzyyxyyxyyyyyyyyxxxxxyyyyyyzyzyzyyxxxyyyzyyz{yxyyyyyxyyzyyyzzyyyxyyyyxyyyyyzzyyyxyxyxy{yyyyzzyxyyyyyyyzzyzzz{yyyzyyyzyzzzzzzyyyyyxyyyyzyz{yzzzyyzyyzyyzzzzzzzyzxyyyxyyyyyyz{yyyxzxzyzyzzyz{zzyyyyyyyyzzz{yzyzzyzyyzzyyzzzz{{{zyzzyyzzzzzzz{zzyxzzzyyzzyzy{{z{zyzzz{zyzz{{zzzzzzyyyyyzz{zzz{z{zzzzyyzzz{z{{zz{{yzyyyyyyzyz{zzz{zyzyzyzz{zzzz{zzzzyyyyzyz{zzz{zzxy{zyzzz{zyyz|yyyyxyyyyzz{yzyzyyxyxxxyxxyzyyyzzyxyyxxyxyyyxyzyyxxyxyxyyzyyyzzxyyyyxyyxxzyyzyyzzyzyxyxxyyxzzzzyzxxyyxyyxyyyyyyzzyxyyywxyzyzyyyyzxyxxwyxyyyyyxzzyxxyxwxxxxxzyyyzyyyyyyywxyyzyyyyzyxyywxyxyyyzyzzyyyxxyxyxxzyyyzyzyyxxyxyxyyyxzzzyyyyyzzyxxyyzyzyzyxzyyyzyyyyyyyzzzzzxxxyxzyzyyzyzzyyxyxyx{zzyzzzzzyzyxyyyyzzzy{yzyxyyyyyyzz{{yy{yzyyzyxxxzyxxyzzz{zyyzzzzzyzz{{yyyyyyyyzzzyyyzy{zyyzyzzyyyyzz{zzzzyyyzyzzzzzzz{z{zyzzzyzyxyyzyzz{zyyzyyzyz{zz{zz{zyzyyyyyzzy{z{zzxyyzyzzyzzyzzz{zzyyzzyxy{yzxz{y{zyzyyzyyzyy{{z{{zyzyyyzyyzzzzzzzxytzyxyyyyyyzzyyxyyyyxxxyyyy{xzzyyyxxyxyyyyxyyyzyyyxyxyxzzyyzyzzzyxyyxwyyzyzyyzzzyyxyxxxyxyyzzyyyyyyxxyxxyyyyyyyyyyxxxyxzzzxyyzxxxyxxxyywxyzyyyyyyyxyyyxyyyyyyyyyzyzwwyyyxzyyyzyyyzyxyxxyyyzyyzzyyyxyzxxyxzxxzyxyyyxyxyxxyyyy{zzzyyyyyxxzyyyzzzyxxyyzyyyzzyzyyzyyzxyyxxxzyyzzzzzyyyyyyyxzzyyzzzzyyyyzyyxy{zyzzzyzxyyyyxyyzzzyy{yyzyyyyyzyzzyzyyzzyxyyyyyzzyzzzzzyyyyzwyyyzy{zyzzzyzyyxzyzzyz{z{zzyzzzzyzzzz|zzzzzzyyzzzzzzzyy{zzzyzyyyy{y{zyzz|{yyzzyyyy{zzzyz{zzzyyzzzyyzyzzy{zzzyyyzxyzzyzyz{zyyyyyyyyyzzyy{zzyyyyyyxxyzzyzz{zyyzyyxyzxyzyzyzyyxyyyxyxyzyyyyzzyzyyxxyxzyzzyzyyxzyxyzxxxyzyyzzyzyyxyyyxxyzzzzzyzyzyxyxxzyzzyzz{yyyxyxyxyzyzyyzyzxyywyyyxzyyyzyyyxzxyyxyyyyyy{zzwxxxyxywyyyyyz{yyyyyyyyyyyzxyzzyyyxyxyyyxzyyzzyzxxyxxxxxyyyyyyzyyxxxywyxyzzyzzzyzyyxyyyyyzzyzyzzy{wyxyyyyzzzzzz{yyyyxxzzzzzyyzz{zyyxyyxyzzyzzzz{z{yxyzyyyzyzz{zzyyyxxyyxzzzyzyzyyyyyyxzxyzzyzzzyyzyzyyyzzzzyz{z{yy{yzyzyzzyyzzz{{yyyzyyzzzyz{z{zzyzyyyyzz{zzzzz{zzyzyyyzzzzyzzzzzzzzzyz{z{{zzyzzzzzzzzzz{zzzzz{zzyy{zyyy{zzz{z{zyyxyzzyyzyz{{z{zyzyyzzyyzzzz{zzz{zyzyzyyyyzyyzzzxyzyyzyyz{y{zyxzyxyxyyyxyyyyzyzyyyyxyxxyyyzyzzzzyyyyxyyxyyyxzz{zyyyxyxxyyyxyyyzzyxxxyxyyzxyzxyxzxyyyyxwyxzzzzyyyzyxxyyxxyzzyyzyyyyxxxzyyxxxzyzzzyxyyyxxyyxyyxzzzxxxyyxxyxzzxzyyzyyyyyxxxxyxyxyzzyxxyyxyxxyxyzyyyxxyyyyyyzzyyzzzzyyxyyyzzyzyyyyxzyyyxyyzyyzzyzyzyzyzxzxyxyyzzxzzzyyyzxyxxyxzzyz{yyxyyxxzyzzyyy{zzyzyzxyyxy{zyyzyyxyyyyxxy{z{y{zyxyzyyyyxyzyzzz{zzxyyyyyzyyyzzy{z{zyyyxyxxyyyzzzzzyyyyyyyyzzzzzz{{zyyyyzzyzyzzzzzzzxyzyyyyy{zzyy{zzyzyyyyz{zz{zzyzzxyxyyxzzzzz{yzzzyzxzyxzzzz{{zzzzzyyyzyyyyy{zzy{zxzyyyyyyzz{zzzzzyzyyxyyyzzyzzyyxzyxywxxxzzxxxzyzxxxzyxyyyyzzyzzyyyyyyxxyxyyzyzyyxyyyyxyyyyzyyzzyxyxxxxyzzzzyyyzyxxxxyxyyyxzyzyxyyxyyyywyyzyyyzzyyxywxyxyxyyzyzzyyyxxxxxyzzzyzzyyxyyxyxxyzzyz{zzyyxyxxxxyyzzzzzzxxyyxxyxyyyyyzyyyyyxxyyyyzyyy{yzzyxxxyyxxyyzyyyzzyyyyxxyyzzyxyzzyxyzyyyzzz{yz{z{yyyyxyxxzzzzzyzzyyyyxyyxyyzzz{zzyyyyyxxyyzzyyz{zyyxyyzzyzzyyyzyyyy{yzzyzz{zzzz{yxzzzyzyzyz{zy{{zzyyyyyyyyzz{zz{zyyy{yzzzzzzzz{{zyyzxyzzzyzzz{zzzzzyyyyzz{zyzzz{z{yyzyyyzzzzzyyz{zyyyyyyzyyyzyyzy{yzyzzxzz{zzzy{zyyyz{zyxyzzzzzzzzyxxyyyzz{y{zzzyyyzyxyyxzzyzzzyyxyyxyyxywzyyxxyzyxyyyyxyyzzyyz{zxxxxxxwxyxyzxyzzyyxxxxxxyzzyyy|yxyyyxxywxyzzyyzzxxyyyxxxzyyxyzzyyxxyyyyxyyyyyyyxyyyyxyyyyyyyyyyxxxyxxyxxyyyyyyyyyxxyxywzxxzzxyxyyyyyxxyzxyyyyyyyyyyxxxxxwyyxyyyyyyyxyxwxyyyyyyyzxyyyyyyxxyzyyyyzxyyyxxxxzzzyxyzzxxyxzxzxzyyzzzz{yyyyyxyzyyzzyzzyyyyyyyyyyyyyzyyyyyyyyxyyzzzyzyzyzyyyzyyyy{zyyyyyyyxyyyyzyzy{zzyzyyyyzyyyyzyzyzzzyyzyyyzyyzyzz{zyzyyyyyzyzyzyzyz{xyyzzyyyzzzxzyzz{xyyyyyyzzzzzzyzzyxxzxyzz{{zzz{z{yzyzyyz{yyzzz{zzxxzyyyyy{zzz{{zyzyyzzxyzy{yzy{zzzyyyyxyzzyzyzyyyzyyyxxyyxyyzyyyxywxyxyxyyyyzxyyzyyyyxyxyyyz{zzyyyyxyyxyyxyyxz{zxxwzzyxzyzzyzzyyzyyyxxyxyzyyzzyzyxyyyyyyy{zzxzzyyyxyyyyxyxzyzyzyyyyyzyyyzyzyzzzyyxyxxxyxyyyzyzyzyxyyyyxyyzzyyzzzzyzywxyyyyyyzzzzyxyxzyxxyyyyyzyzzyyxyyyyzyyyzzzzyxyyyxyxyxxzyyyzyyyyyyyyzyzyzyzyzzzyyxyy{zyz{zzzyyyyyyyyyzyzyzzzzzzxzxyzxzyyyzzzxxxzxyyyyzzyyzzyzxzyyyyyz{yyyzzzzyyzyzxzzyyzzyz{yzxyzyyyzzy{zz{{zzyzyyxzy{zz{zzzzzzzzyzzzzz{zzz{zzzyyzzzyz{zzz{{zzyyyzyyy{z{{zzzzyyyyzzzyz{zyzzzzyyzzyyzzzzzz{{zzyzyzyyzz{zyzz{yyyzyyyyyzzzzzzy{zzyzy{yyyzyzzzzyxxzyxyyyzzzyyyyyyyxxyxxyzzzyxyyzxxxyxyxyyzzzzyzzyyxyxzyyyyyxzyzyyzyzxxxxyzzzyyzyxzxwxxwyzzyzyzxzxyyxyyxwyzzzyzyyyyyyxxxxzyzyyyzyzyxzxxzyyyyzxyyzxyzyyxyxwxzyzzzyyxxxxwxxyxyzyzzzxxyxxyxxyzyyxzyzyyxxywyyxyyyyyyzyxzyyxyyxyyyzyyyxyxyyyyyyzyyzzzyzxxyyyzy{yzzzzzzyxyxyxzx{yzyzzzzyyxyxyxyyyzzzyyyyyyxxxyyyyxzzy{zyyyxyxxyzzz{yzzzyxyyyxyyzzz{yzzyzzyyyzyyyyy{zzzzzyyyzzyzyyyzzy{zyzyzxyxyy{zyyz{zzyyyyzyzz{{z{{{zzzyyyzzzyzzzzzzzzzyyzyyzy{{{zzz{zyzyyyyzzzzz{{{yyyyyzxyyyzyzy{{zyzyyzzxz{{zzyyz{yyyzyyyxzyzz{z{zzyyyxyzyyyyzyzzz{yzxxyyyyzzz{yxzxyxyyxyyyyyyyxzyyyyywxzyyzzyyzyzxzxwxyxxyyyyyyyzzyzyyxyyyyxyyyzyyxyyxyxyyzyzzzzzyxxxyxxyyyzyyzyyxyxyxwyxyyyyyyyyxxyyyxxyyxyzyzzzxxyyyxxxyyxyyyyyyyyyyxxyzzzyzyzyzzzyxyxxyyyyyzzzyyyyywxyxyyyyzyyyyyxxxxxyzxyyyyyyyywyyxyxzyzyzzyyyyyyxyy{yyxyzyzyyyyxyyyyyzzxyzzyyxzxyxyyyzyzyzyyyyyxyyyxyyzzzzyyyxxyyyxyzyyzy{yyyyyxyxyzyyyyzyzzyz{zxzyyyz|zyyzxyzzzyzy{{z{{zz{xyyzyzyzxyzzzzy{yyyyyzyyy{zzyz{zzyyyzzzyz{zyzz{{yzyxyyzyzz{zzzzz{xz{yzxy{{zy{z{zyyyzxzyzzzzzy{z{zyyyyyyyy{yyzzz{zzzyyzxzzzz{xyzzzyyyyyyyzzzzzyz{yxxyyyyyyxyzzzyyyyxxxxzxyyzyyyzzyyxyyxyxyyyyzz{zyyyyxyxxyyzxzyzzyyyyzyyxyyxzyyyzzyyyyyxxyzyyyzyyyxxyyxyxxyywzzzyyyxyyyyyzyzxyzyyyxyyyzxwyyzyyyzzyyyxxxyxxyzyzxyzyyzxyyxxyxzyzzzyxyyyyyxyyyyzyzz{yxyxyxxyyyyxzyyzxyyxxxxyyyxyyzxyyyyyyyxxyzyyzyyyyyyxyxyzyyzyyzyzyyyyyyzyyzzyzzzzyyxxxxyyyyzzzyyyyyyyxyyyxzzzzyzzyyyxyyyyyzzzyzzyzyzzyyyyzz{yzzyzzzxyyxzz{zz{zzzyyzyyzyzyzzyz{{{zyxzzzyyyz{zzyz{{{yyzyyzyyzzzzzz{zzyyzzzyyzzzzzzz{zyyzyzxzzz{z{y{{zzzyxyzzzzzzzz{zyyyy{zzzzzzzzzyzzyzzyyy{zyzzzz{zyzxzyyyyzzyyz{zzyzzyzyzzyyyzzzyyxyxyyyxyzzzyzyyyxyxxyxxxzzyyzyzyxxxyxxxxyzzzzy{yyyxywxyyyxyzz{yyyxzyywzyyzyyzzzyyxxxxxxxyzyyzzzyyyxxyxxzyyxxzzyyyyxxzyxzyyxyzyyyyxxxyyyyywzzyzzyyyyyxyxxyzyyyyyyxyxyyxxyyyyzxyyzyyxxywxyyyyyyzyyyxxxyxxyyyyyzxyzxxxxxxxxzyyyyzzxxxxyyzyxyzzyzzyyxyyywyxyy{yyyzzzyyyxxyyxxyyyzzzyxzywyyyzyyyyzzzzxzxyxzyxyyzzzyyyyzyyxyxyzyyzzyxyzzyxyyyyzyyzyzzyxyzyyyyyzyyz{zyyyzyxyzz{yz{yz{zyyyyyxzxzzz{yzzzzxzyyyyzzy{zzzzzzzxyyzzzz{zzz{zz{yzzyyyyzzz{yz{z{yyzyyyzzz{{zzyzyzzzyzyyzzzyyzz{zyzyzzyzzyzyzzzzyyxyzyxyyzy{zzzz{yzyxyxxzzz{yyzyyzyxyxyyyyyyyzyzxyxyzzxwzzzyxyzzyxxxyyyxxyzyzyyzyyxxxyzxyyyzzyzzzyxyxyyyxyzyyxyzyyyxyxywxxy{zzyyxzyzxyxzyyxyyzzyxyyxyyyxyyzyyzyzyyyyxxxyxxyyzyxyyyyyyxyyyzyyyyzyyyyxxzxwzyyzyzyyxxyyxxxzwyzyyyyyyyyyxxyxyzyyyyzzxxyxxxxxwyyxzzzzyyxyyyxxyzyzyz{zzyyxzxxyyzyyyzzyyyxyyxyyxyyzzxzyzyzyyyxyyzzzy{yzyyzyzxyyyzyyzz{yzxyyxyxyyyzzyyzyyyyzyyxyz{zzzzzzzzzyxyzyy{yzzzyzyyzyyyyyz{zzz{zzzyzzyyyxzzzzzzzz{yyyyxzyzz{{{{{{zyzzyz{zyyzz{z{zzzyyzzyyz{zzzz{{zzyzyxzyz{z{z{zyzyzzyzyzzzyzy{{zzyzzyyzy{zz{{zz{yyyyyzzyzzzyzzzyzzyyxyyyyzzzzzz{yzyyzxyyyz{yzyzyyxxxywxwxzyxxyzyyxxxxxyxzyzzyzyyzyyyxyyxyyzzyyzyzyyxxxwxyyyzyyyxxyxxwyyxyyxzyzyzyyzxyxxxxyyyyyzyyyzyyyxyzyzyyzzyxyzxxxxxzyyyzyyyxxxyxxxyyzzxyzzyxyyxyxxxxyzyyyyzzzyyyyyxyxyzyyzyyxxyyxyxyyyxyzyyxzxyxyyxxyxyzzz{yxxxyyxxxyyyyz{zyyxyyyxyyyyyyzzzyxyyyxyyzyzyyzyzyyyyxxyyyyzyyyzyyyyzyyyxyyzyyyzzzxzwzyxxyyzzxzzyyxyyxxyxzy{yzzyzyyyyyyyyyzzyzzzyzyyyyyyyzzz{zzzzyyzxyyyzzzzz{zzzzyyyyyzyzzzzzz{zzyyyzyzyzzyz{zzzzzzyyzxxz{{zzzzzyyzyxxzzzyy{yz{zzyyyyyyzzzyyyzzz{yyz{yxz{yy{yyyyyyyzyyyyzzzzx{y{zyyxyyxxz{zzzyzyzyyxxyxyyzyzzzyyxxyxyyxxyzzyxyyzxxyxxxxyy{yyy{zzyyyyyxyxyyzyyyzxxyyxxyyyzyyzyyyzyxyxyxyxyyxyzyyzxxxyyyxxyzyyyzyzyyyyxxxxyyxyyyyyxxyyyyyxxyyzxyyyxxxyxxyxxyyyyyyzyywxxywzyyyx{yzyyyyyywxyxyyzyyyzyyyxywwyyxyyxyyyyyyxxyyyxyyyyzyyyyyyzyxxzzzzzzyyyxxxzxyyzzyyzyy{yyzyyxyzzyyyzzzyxyyxyyxyzzyzzzzzyxxyzxzyyzy{zzyzyxyyzyyyzz{zyyzyzyyyyyyyyxyzyzzzxyyyyyzxyzzzyyzyyyyyyyyyzzyzzz{{xyyyyyyyyzzzzzyyzyzyyyyzz{z{zz{zyyzyyyyyzzzxzyzzzyyzzyyyyzz{zyy{zzzzyzzyyy{zzzzzzyyzzyyyyz{{zzz{yyzy{zyzx{z{z{yyyzzyzyyzzzzzyzzyyxyyyxyxzzzyyyz{yyyxyyzyxyzyyzzyyzyxxyxxxzyyxyyzyxxxywyxzzyyzyzzyxxyyxzxyxyzxzyyyyxxxxxyzyzyyzyyyzxyxwxxzyyyyzyyyyxxxyxyyyyyxyyyzxxwwxxxyyyyxzyywxyxxyxxxyxzxyzyyxxyyyxyyyzyxxzzyyxyxyxxyxzxyyyxyxyzxxxyxxyzyyzyyyxxyxxyyyyxy{yyyyyxyyxyxzyxyyyyyyyxxyyxzzyyyzyyyyyxyyyzxyyyyyzzxxyyyyyyyyyzyzyzyyyxxxxyyzzzzzzzyyzxyyyyxzzyyzyy{xyxyyyyzyzzyyyyyyyzzzxyzzzyzzzyzyzzzyyxyyy{zz{zyzyyyyzyzzyzxy{{zyyyyyyxzzz{zzzzywyyyyzy{{zyz{{{zzzzyz{zyzyyz{zyzzyzyyzzy{{zzz{zzyzxyyzyzyz{y{yyzxwzzyyzyzzzz{yzzyxzyyzyzzxyzzzzzzzyxyzyz{zyyz{zzzyyxzyy{zzzy{zzyyyyxyxyyz{zyzyyyxxxyxxyyzyxyyyzyyyyxxyxyyyzxzyzzxxxyxyyyyzyyzzyzxxyxxywzyyyzyzyyxxxxxyxyxyzxyyyyxyzxyxyzyzzzyxyyxyxxxxxyyzyyzyyyyxyxywxzyyzyyyyxyxyxxxyzxyyyzzyxyxyxxxyxzyyyyyyyxyxxyyyxyyyyyzyyyxyyvxxyyyyyzyyxyxxyyxyxzyzyzzzxyyyyyyxyyzzyyzzzyxyxxzxzxzxzyyzxyyyxxyyyyyyzzzzyyyxxyyyyyyzzyyzxyxyyxxyyzyyyzyzyyxxyyxxyzzzzy{xyyzyzzyzyyyyzzyzzxxyzyyy{yzzzzyzzyyyyzzzzzyzyzzyyyxzzzyyzzzyzyzzyzxyzzxy{zzzzz{zyyyzzzyzzyyz{{zyzyzyzzyyy{zz{z{zzyzzzyyzyz{zzzzzzyyyyyyyzxyzzyzzzzzyzyyy{yzz{zzzzxyyyyyyyyzzz{zzzzxyxxyyyyzzyyzzyzzyxxxyzyzyxyyyxxyxxyxwyzyyyxzzzyyxyyxxyzyyyzy{zyxyxyyyzxyyyzzzyyyxyyyxxyzyxzzzyxyyxxyyyyyyyyzzyywyxyxxxyxyyyzzyyxyyxxyyzyxyyyyxxyyxywxyyzzyyzzxyxxwwyyyyzzxyyyyzyyyywxyyyyzyyzyyxxxxyxyyxyzyzzyxyxyxxxyyyxyzyzyzzxyxyxyxxzyyyyyxxxyzyxzyzzyyzzyyyxyxyxyzyyyyyzyzyyyyyyyyy{yzzyxyyyxyyyzyyyyzzzzyyyyyxxyyzzyzzyyyzyyyxyzzyyzyzzyyyyyyyxyyyxzzyyzxyyyyxyyzzzzzy{yxyxyyyy{zzzzzzzyxyyyyyzz{zyzzzyyyyyzzzzzzz{{zzzzxyyyyyyz{y{{z{{zzzzyyzyy{z{{{z{yzzzyyzzzz{z{{zzyzyyyxyyzy{zzzz{zyzyzzyz{zyyzz{{zyyyyxyyzyyzz{zzyyzzxxzxzyyyyyzzyyyyyyyyzzyzzzzzyyzxyxxxyyyyyyzyxxxyxxxyyy{xyzyyyxxyyxyyzyyxzzyyyyzxyyxxyyzyyxzyyyyxxyzxyxzyyzxzzxyxxyxxyyyyxyyyzyyxyyxxzyzyzyyzyxyxyyxyyyzzyyyyxyxxxzyxyzyxyyzyyxyyyxyyyxyx{yzzyyyyyxxxyyzyyyyzxyyyxxyyxxyyxyyyyyyyyyxxyzyzyzzyyxyyxyyyyyyyxy{zzzyyxyyzyzzzyzyzzzyxyxyyzyyyyyyzxyywxxyxzyyzxz{zyxyzyyxyyyyzyzzzyxyyxyyyzzzyyzyyzzxyzyyyyzyzzyzyyyyyyy{y{zzzzzz{yzzyzzyzyzyz{z{zyxzyyxxyzzzyzz{z{zzyyxzz{{yz{z{{yzzy{zzzyzzzzz{{zyzyyzyzz{zz{zz{yzzzyyzyzzzyzzzyzzyzyyyzyzyzzy{zzyzzyzzyyyzzzzzyyyzyxzyyzzzyz{zyyzxyyxzyyyyzzzyzyxyxywxxzzzyyzyyxxxxxxyxxyzzyyyzyxyyxxyyzzzyyyyzzyxyzyxxzxyyzzyyzxxyxxyxyyyyyyyyzyxxxxyxzyy{yyxzyzyyxyxxyzyyyyyzzyyxxxyyyyxyyyyyzxxxxxyxyxyzyyzyxzxyxxyxyxxyyyzzyxxxwxyyyyyyzzzyyxzyxyxwxzyzyzyxxyyxzyyyxyzyyyyzzyxxxyxyzzyyxz{zyyzyyyyyyyyzy{zzyzyxxyzyzzzyyzzzyyyyzyyyyyxyzzyyxyzyyyxyyyyzzyzzzyyyyxyyxyyyzzy{yyyxxyyxz{zyyy{zyyyzyyyyyzzyyzzzyyyyyyxyzyy{{{zzzzzzyzyyzzyz{y{yzzzzzzyxyzzyzz{yzxyyzyzxzzzzzz{{yzyyyyyzzz{yz{zzzzyyyzzyzzzzzx{{{y{zyzyxyyzyz{zzzyyyyyyyzyzyzz{zzzxzzyyzzzzz{{zzzzyxyyyyyzzzzzzzxyyzyyzyyzyzyyzxyyyyyxzzzxyzzyzyyyxxxxzxyyyyzxyyzxxyyxyxyyyxyzyzyzyxxxyxyxyyyyzzzyzyxyxyxzzyzy{yyyxxyxyyzzzyxyyzxxxyyzyxxzyyyzyyyyyyyyyxyxyyyzyyxzxxyyyyyyyyyzyyxxxyyxxyyyyxyy{yyyyyxyxyyyzzyzzyyyyxxyxwyyyzyzzzzxxzyxxwyyzyyyzyyyyzyyxxy{xxzzyxyyxyzyxxyzyyyyzzyzxyzxyxzyzyyz{zyxyyyyyyyzyyyzyzyxyzyyzyyzyzyzyzyyyyzyyxyyyzzyyyzxyyzyyyzyyzyy{yyxzzyxyyzyyzyzyyyyyyyyxyyzyzzzzzyyzzzyzxzz{zz{z{zzyyyyyyy{yyzzzzzyxzyzyy{zzy{yzz{zyzyzzzzyzzz{{{zyzzzzyyzzzzzz{{yyzzyzzz{zyzz{zz{yyyyyyzz{x{zzzzzyyyzyzyz{zyzzy{zzyyyzyyzzzyzz{zzyzyyzyxyyzzzyzyyyyxxxyxxzzxyzxyzyyxyyzxyyzxxzzyyyyyxwyyyyyzyzyzxyxxzxzxyzzyxy{zzwyyyxzxyyyyyzyyxxyyxxyyyyzyzzyzzxyxyyzxxzyyyzzyyyxyyxxyzxzyyzyxyxzyxzxyxyxyyzxyxywzyxyyyzyzyyyyxxyxyxyxxzyzyyzzyyyyxywxxzyzyzzxxyxxzxyzyyyyyyzzyyxxxxyxxyyxyzzzxyxxzyxxyzyyzyzzyyyyzyzyzyyzyyzzyyyyyxxyyzyyyzzzy{zzxyyyzyzyzyzzyxyyyyzyyzzzzz{zyyyyyyyzzzyzzyzzyyyyyyxyyzxyyzyyz{yyzyzzyzzzzxyyyyzyyyyyy{z{{{z{yzyz{yzyyzzzyzzy{yzzzyyzzzyzzzzzzz{zzzzzzzyzzzzz{yyyy{yyz{{{{{{zzyyyyyzyy{y{zz{zzzyyzxyzzz{zzyz{zyyyzyyyzzzzyzzzzyyyzyyzyzz{z{zyy{yzyzyyyzzzzyyzxyzyyyyzzzzyyzyzyxwyyzyxyxzyyyzzzyxyyyxyyyyzzzzzyxyxyyyyzyyz{zzyyxyxxxxyyzyyzyzzyyxyxxyxyyyzzyzzyyzyxxyxyyyyyzyyyxyxxyxzyyzyyzzyxyyyyyyxyyxyzzzyyyyyyyyyxzyyyy{zzxyyxyxzyyyzzzyzyxyxxzyyzyyyyyzyzxyyyyyxyyxyyyzyyyyyyyyyyyyzyzyxxxzzyzyxyyyyzyzzyyyxyyxxzzzzzyy{zyyyxzxyyzyzzzzzzzyyzyyyyyyzyyzyyyzyyyyzy{yzz{zzyyyyxzyzyz{zzz{{yzyyzyyyzzzyzzzzzzzyyzyyzzzzzzz{yzzyxzzy{{z{yz{{zzzzxyzyz{z{yz{z{xzyzyyyzzyyzzz{zzzyyzzzyzzyy{zzzyzyy{zyy{{zzzzzzzzzzzyyzzzzzzzyzyzyzyxyz{{zzz{zzzyy{{zzzzyzzzzzzzyzyzyxzzzzzzz{zzxzzzyxzzz{zz{yzyyyxyyyxzzzzzyyxxyyyxxwxyyyyyzyyxxyxyyxyyxxzzxzyyzyxxxxyyyzzyyzyyxyxyyzyyyyyyyyyyywxxxyyxyyyzyyzxyxxxywxyyyyyzxxyxxyyyxyyyyyzyyxyxxwyxyzzzzyzyzxxxxxwxyyyyxyyyxyyyyxxyxxxyyyxxxyyyxxwxyyyxzyxzyxyyyyxyyxyzyyzyxxyxxxxyyxyyxzyyyyyyyyxyxyzzxyyyyyxyyyxyyyxyyyyyzyyyxywxxzyzyxzyyyxyyxxxxzxzxyzzyyyyyyxyyyzyyyyyyyyyyyxxxyyyyzyzzyyxyyyxyzz{yzzzzyxyxyyyyzzyzzzyzyyyyzyzzyyzzzzz{yzxzyxyzzzyyzzzyzyxyxxyyzzzyzzzyyyzzyyzz{|zzzzyz{y{yyyyyzzzzz{{zyyz{zyzyyy{zy{{zzyyzyyxzyzyy{z{{zzzy{zyzzzzyzzz{zyyzxyzyzyzzyzzyyxyyzyyyxzzyzzzyyyzyxxxxyyz{yzzyyxxxyxyyyyxxyyyyxyxyyyxyyyyzyy{zxxyxxyyxyxyyzyyyyyxxywxyyyxyxyyyyyxwxxxxyyyzzyyzzxyxxyxxyzzxyzzyzxywxyxyxyzyyzxxyyxxxxxxxyxyyyyzxxyyyyywzxyyyyyxyxxyyxxyzyzzzzyzxxyyyyyxyyyyxyxzyyyxxxyyxyyyyyyyyxyxyxyxxyzyyzyzxxyyyxxxxyyyxyzyzxyxyyyyyyyyyxyyyyyzyxxyzyyyzyzyyxxyxxyxzzzzyzyzyyzyyxyyyyzyz{yyzyyyxyxxyzzzyzzyyyxyxyyyzzzzyzzzyzxyzzxyxzz{zzzzxyxyyxzyzyyzzz{{zyyzzyxyyzz{z{z{yyyxzyyyzzyz{zzzzyzyyz{yy{zyzzzyzyyzyyyyz{{zy{{{yyzzyyyzzyzzyzzzzyxyyyyyyyyyz{{{zyyyzyyzzzzzzy{zzyyxyxyyyyzzy{zyyyzyyy{xzzzyyzyyyyyyxxyxzyyyyyyyyywxywxyyyyyxyyyzxxywxwyyzyxyzyyywxxyyyxyxzyzzyyyyxyxyxwxyzzyyzzyyxyxxxzyzzzyyyzyxzxxxwxyzyxyyyyyyyyyxxxyyyxyyyyxyyywxyyxyyxxzyyxxxxyxyxwyzyyyzyxxxyxyxyyyyxyyzyyxxxyyyxyyzyzzyyxxyxyyxxyyyxyzyxyxxyxxyxyyyyxzyzyyxzzxxxxzyzxzzyywyxxyyxyzyzyzzzxyyyyyxyyzyyyyzzyyyxyxxyyyzzzzzyxyyyzwxxyzzyzzzzyxxyyyxxyzzyyzzzzxxyyyxzyyxyzzzzzyyxxyyyyzzyyyyzyyzyzyzyzzyyzzyzzyyyyzyyzyzyyzzyzyyzzyzz{zyzzzzyyyyxyzzyyyy{z{{zzyyzxxyzz|y{{zz{yxxzyzyzzyzzyz{zzyxyxzyyyz{yzz{zzyxyyxzzzzzzzzzyzyyzyzyyyyyxzyy{zzxxxyyxyzyzzzyzxyyxyyyyyyyyyyxzxyyxyyyxxzxxzyyzxyzyywxyyxyyyzyzyxxyxyxyyyyyzzyxyyyxyxxyyyzyxxzzyzxxxyxxyzzyyyyyxyyyxyyyyzyyxyyyyyywyxxyyyyxyyyzxyzxxyxwxxyyxzzyyxxyyxxxxyxyyyzzxxxyyywxxyzxyyyyyxxxyyxyxz{xxzzzxwxxxxxxxzxyxyyyyyxxyzyxyyyxyzzzyyxxyxxxyyyyyzzzzzyyxxyyyzyzzzyyxzyxyxyxyyyyy{zzzxyyxxxyyyxxyzyzyxzyyyyzyzyzzyzzyxyxxxxyzyyzzzzzyxyyyxyyzyyxxy{yzyyxzyyyzzz{zz{yyyyyyyzyx{yzyzzzzxyzyyyyzyy{zzzzzyyyyzzy{zzyzz{zzzyyyyzzyzyzzzzzzzyyxzzy{{zzyz{zyyyzxxyyyzzzzzzyzyyzzzyzyyzyzzzzzyyyyzyz{zzy{zzzyyyyyyxzy{zzzzzzzzzyyyyyzzzy{zzzzyyyyyxyy{zy{yyyzxxyyxxxyyxyxyyyzyxyyyxyzzx{yyyzyyyxxyxxzyxyyyzyyxyxzyyxyzzyxyyyyyyyyxyxyxyxyzyzxyyxyxxxxzzyyzzzyxyxxxxxyyyyyzyzxyyxxxyxyyyyyyyyyyxyyxxxyxyyxzzzyyyzxyxxxzyzzyzyzxxxxxxyyzyyyyyyyxyxyxyxyyyyyyzyxyyyyyyyyyyyyzzzyxzyyxxxyyzyyyyzzyyyyxyyyzyyzzyzxyyyyyyyzzyzyyzzyyyxxyyxzyyzxyzxyxyxyyyxyzyyzyyzy{yyxyyyzzyzyyzyyxyyyyyyzzyzzzyzyyxyzyyyyzzzzzzzxyyyzzyyzyzzy{zzyyzyyyyx{zzz{{{z{yyyyyzxy{zzzzz{zyyyzzyzzzzzzzzzzzzyyzyyz{zzyz{{zzyyyyyyy{zzzzzzyyyzzyyyyyzzyzzzzzyzzzyz|zzzz{{zyyxzyzyy{zzzyyzzyyxyyxxyzzyzzzzzyyyyzyyyz{zyyzyyyyyyxxyyxzzzxyzzyyxxyxxxyzzzzzzzzzxxxyyxyyxyyyyyyyxxyzxyxyyzyyzzxyxzxyywyyzyyyzyyyyyyxyxxzyyyyxxyyyyzxxyxyyyyyyyyyzyxyxyzyxzyyyyyyxxxyxyyyyyxzyyzxxyyxxyxyyzyzyyzyyxxyxyyyyyyyzyxyyxyyyxxyyzxyyyyxyxyyxyxzyzy{xzyyyyxyyyzzzzyyzzyzyxyyyzyzyzyyzzyyyyyxyyyyyyyzzzyzyyyyyy{zzy{yzzyyyxyyyxyyyzzzyyyzyxyyxyzzzyzyzzzyxxzyyyyyyyzyyyzxyyyyyyzzzzz{yzyzyzyzyyzzzzyzz{yyyzxyxyz{zzyy{y{zzyxyyyz{zyzy{zzy{yyzzyyzzzz{yz{zzyyyyyyzzyz{y{yzyzzzzzzyzzz{yzzyyzyzzyzzzyzz{{zzyyzyyzzz{z{zzzyyyxyyxzzzzzzz{zzyyyyyyyzyzzyyzyyyzxyyzyzyzy{yzyyyxxyxxyzxyxyzzzxxzxxyyxyyzyzyyzyyxyxwyxwxyyzzyzzyyzxyyyyyzzyxzzyxyxxxywzxzyzyzzyyxxyyyxxyyyxzzyyyyxxyxyyyyyzzy{xyyxyyyxyyzyyzyyyyyyyxxxyyzzxyzyyyxyzywyzyyyzyzzzxyyxwxxyzyyyyzzyyyxyyxxyyyyxyyyyyxxxxxyx{yzzyxzyyyyyyxxxyyyzyzzyzxxzyyyyzyyyzy{yyxxxyzyzyxyzzzyyxyyxxyyzyyz{y{yyzyyyyxyyzzyyzz{yyyxyyyyyyzyzyyzyyyyyzyyzzzzyzyyzyyyyyyyyyyzzy{{yyzzyyyyyyyyzz{zyyyyzyyyzy{{z{{yzyyyyzzyzz{yzzzyzyyzyyzzyzzyy{{yyzyzyxyxy{{{z{z{zyyzyyyzzzzzzzzzzxyyyyyyzzzzz{{{yyzyzyyyzyzz{zyzxyyyyzyzyyzzzzzzzzyyxyyyyzyzyzzzyyzxzxxyzzzyyyzyxyyxxxxwxyyyyzyzywyyyxwxzyyzxzyzyxxxzxyyyyyyzz{zyxzyyxxxyyyxyxzzzxyyxxyxyzzzzyz{yyyyyxxxyyzxxzyyzzyxxxxyyyzxyyzyyxxyxxyyyxxyyyyyyxxzyyyyxzyyyzzyyzxyxyxyxyyyzyyyyyyywyxyyyyyyyyzxyyzxxxwyyyyyyyyxzyyyyxyyzyzyyyzyzyyz{yyzyyzzyyzzyyyyxzyyzyyzzyyzxxzzyyyyyzyz{zzyxyyyzxyyyzzyzzzyzyyzyxxzzzzyzzzzyyyzyyyzzyzyzzzyyyzzxyyyzzyzzzyzyyyyyzyz{{zzz{zyzyyyzyyzzyzyyz{zyyyyyzzzzz{zyyzyyyyyyyzz{zzzz{zzyyzyzzzy{zyzzzzzzzzy{yzyzzzzzzzyyzzwzzz{z{zzz{yyyyyyzyzzzzzz{z{zzyzzyyy{yzyzzzzzyzyzzyzzyyzyzzzzzyyyyxzyyyzyyzzyyzyyzyxyyzyzzyyyyyyxxyxzyyyyyzzxzyxyxyyzzyyzyyyzyyyxzyyyyyyzyzzyyyxxxxyxyyyxyzyyyxxyxyxyzyyz{xyyxzxzxyyyzyyyzzyzyyywxyyzzzyyyyyyxzyyyxyyxyzzzyzyyxyyxxxyyyzxzzyxxyyxywyyzyxyyyzxxxxxyxxyyxyyzyzyyxyxxyxxyxzyzxyyyyyxyxyxyyyzyzyyxyyyyxxyyxyyzzyzyzyyxyxyzzxzzyyzyyyyyxyzyyxzzyzzyxxyxxyzzzyyzyyzxyyyxyyyyyzyzzzyyzyxyxyzzzzyzyyyxyyyxyyzzzyyz{zzyyyyzyxyyzyzzzxzzyyzyyyyzzyz{y{zyyzzyyxz{yzzyzzyzzzyyzyzzzzzz{zzzyyzzyy{{{z{zz}{xzyxzzyyz{z{{{{zzyyyyzyzzzzzz{{{yzyyyyy{zzzzzz{zyzyzzyyzzzzzyzzyzzxxyyzyzzzz{|{zzyyyyyyyzzzzyzyyyyxyxyzzzyzzyyzzyxxxwyxwxyyyyyyzxxyyxxxyyyzyyyyyyyyyyyxyyyxyyzzyyxyyyxxxzzyxyyzyyxwwxxxyyzzyzzyyyyxxyyxyyyzzzyxyyyxzyxyxyzxyyyyxxxxyyxxyyzyxyyyyxxxxwxxyyyyyxyxyxxxwyyzyzzyyyyzxyxxxxyyxzyyyyzzyyyxxwywxyyxyyyzxxxxzxxyyyyyyzzzxyyyxyxxyyyyyyyzyzyxyyxyyyyzyzzzzyyyxxyyyyyyy{yzyyxzxyyzzzyzyyyyyyyyyxzyxyzzyz|zyyyyyyyxyzzyxyzyyyyyzxyxzz{yyz{{yzyxyyyzyzyyzzzzxyyxyyyzzzzzyzz{yyyxyyyxy{y{zzzyzyyyyyzyzzzx{yyzzyyzzyyyy{zzzyzzzyxyyyyzzzzyyz{zzyzzyyzyzzzzzzzzzyyxyxzyyyzyzzz{zyzyzyyzzzzzzyzzyyzyzyyy{zyzyy{{zzzxyyzxzzyzyyzyyzyyzxxxyzzzyyyyyyxyyxyxyzyyxyyyyzxyxyyxyzzyy{yyyyxxyxxxzxzxyyyyzwzxxyxwyyyyxyzyyyyxwxyxyxyzyyyyyxxyyxxyyyyyyzyzyxyyyyxxzyyyxxyyxxxyxwyxyxzyzyxyxyxxyyyxyyzyzyyyzxxxwxxyxzzyyyzyyxyxyxxyxyyyyzyzxyyxxyzxxyyxyzxzyyyyxxxyxzyyyzyzyyxyxyyxyyyyyyzzzyxxzyyyzyyxyzyzyyyxxxzyyzyyyzy{xzyyyxxyzyzyzyzyyzzyxyyxyxzzyzzyyxyyxxyyyzyzyzzyzyyyzyyyzyzyyyyyyzxyyyxyyz{zzzzzyyyyzyyyyzyzyzzzyyyyyxyyyzzzyzy{zyyyyxxyz{yzzz{zyzxyzzzzzzzy{yz{zzyzyzyyzzz{zzzz{zyyxzyz{zzz{zzzyyyyxyyzzzzy{zyzzyzyyyxzzyyzyzz{yyyxyyyyyzzyz{{zxzyyxyzzyzzzzy{yyyyyyyyxzyzzzzzyyyxyxxxxxyyxzyyzyyyyyyxxzzzxyy{zyyxxyyyyyyyyzzyzyyyyyyxxzyyyzyyyzxxxxyxyzxyyyzyyxzyyzyxyyyzyxzzzyxxyyxzxyyyzyyyxzyyxxyxxzyyyyyyxyyyxywyyyyyyxzzyyxyxyxxxyzyzzyyxyxyyxxxxyyyyyyyzyxyyywxxyyyxxxyywyxxxxyxyyxyyyyyyyyxyzywyyzyyyzzxxyyyxyyyyzwyyyzyyyyyxzxyxyyyzzzyyyyxxyxyyzyyxxzzyzxyyyxyzzyzyyyxxyyxyxyyzzyyzzzyyzyyyxxzyy{yzzzyyyyyzzxyyy{z{zzyyzyyxzyy{y{y{z{zyyyyyxy{zzzzzzzyyyyzzyyzzyyzz|{zyzyzyzzz|yzyz{zzzyzyzyyy{{yzz{z{yy{yyyy|yzzzzzzyyyzyyyzzyyzzz{zzyyyyzxyzzyzyy{zzzyxyxzzyzzzyzz{zzyyyywxyzyzzyyyyyxyxxyxyzzyyyxyxyyxyxyxyyyyyyzzyyyxyyxyzyyyzy{yyyzxxxxyyyyyyzzyyyyxzxyyyyzzyyzyyyyxxxywyyzzyxxyyyzxyyyxxzyxyyzyyxyxxwxxyyyyxzyyyyxyyxyxzzxyywzzxyyyxxyxxyxxyzyzxxxxxyyyxzzxzyyyzxyxywxxxxyyxzyyxwxxxyywxyyyyyyyyyyyyxzxxyyzyyzzzyxyxyyyxyyyyzyyyxzxxwyyyzzyzzzyyyxyzxxwyyzyyzyzxxyyyxyxyz{y{zzyyyyyyxzxyyzyzzyzywyxyyyxyyyyyzyyyyyyyyxyyyyyyzyyzyyyxyyzyyzzyzzzxzzyzyyxyzyzy{{zyzyyyyyyz{yyzzz{zyyyzyyyzz{{z{zzzyyyyyzzyzz{z{zz{yzyyzyy{zz{zzzzzzzzyyzxyzzyzz{{yyyzyyy{zzzzyzyzzzyyyyyzzzzzzzzyzzyxyxyzyyyzzz{zzzxyyyzxzyzzzyzzzyzxxyyyzyzzyzyyyyyyxxyxyzyyzzyyyxyxxxyxxyyyzzyyzxyxyxxxyxxyyyyzyyyyyxxxyyyzyyyzzxyxxxxxyyxyyzzyyxyxxxxxyzyxyyyyyyyyyxxxyzyyyzzyxyxxyxxzzyyyyzyyyxyxxyzxxxzzyyzyyxxyxxyxzyzzyyxyyxyzxxxxyyzyyxyyyxyxyyyxwyyyyyzyyyyxyxxyyzyyx{xyyyyxyyyxyyzzyyzyyyyyxxzzyyzyyzzzxzyyyyyyzyxyyyyyxyzxyyxyzzzzyzyzyyxyyxyyzzzzzyzyyyyyxxyyyzyzzyzzzyxxyyxzzzzzyzyzzyyzyyyzzyzzzzzzyyzzzyyyyzyyyyzzzzyyyyxyyzzyzyzzzxyyyyzyzz{yyz|zzyzzyzyzyzyzzzy{zzyyyzyyyzzzzzzz{zyzyxzyzz{{z{{yzyzyyyyzyzzyzzz{{yyzyxxyzzz{yzzzyyzyyzxxyyzzzzzzzyzxyyxyyzzzyyyxyzyyyyyyxzy{z.Fv4)'6av{{|{{{{|{||{|}||{{{z{{|{||||{|}{{{||{{y{{|~||{|{|{{{zz{z|||{||||{|{{{{z{{{|||||{|{zz{z{{||{{{||{{z{|{z|z{{{{|}{{{z{z{z{{|{{||{}{{{{{z{{{{|{{|}|{|z{{{zz|||{{|{{z{{zzz{z{|||{|{|z{{{{{{z{{{z|{{|z{{z{z|{{{{|{|||{{{y{{{{{|||||}{{{{{{{{z{{{|||{}{{{{{{{{{|{{{|}|{|{z{{{z}{||{|{||{{{{{{{|{{||||{{{{|z{z{|{||{||||z|||z{{{||||}||{|{|{z{|||}||{||{|{{{{{{{}}}}}|{||{|{{{{{|||}{|||{{||{{|{}|||}||{||{{{||||}{|}|||{|{|{|{|}|}||}||{{{{{|{||||||||||{|||{{{{{{||{||~{|}|{{|}{|||||{{{z{|{z{}}|{|||||{{{z{{{|{|||||zz{{{{z{||{|{||||||}{{{{{{{{~{}||{{|||z}}|||{|{|||{{z{z{|||||}||{{||{z{{{{|}|{}{{{{{|zz{|{{{||{|{{{{{{{{||{||{||{{{{z{{{{||z|{{{{{zz{{{{|{}{z{{{z{{{{z{z|{{|{|{zz{z{z{{{{|{{{}||{|{{{{zz{{{{||{{z{{z|{{y|{{{z||{{{{{zzzzz{{|||{{|{{zz{z{{{{|{|}||{z{{{{{{{{|{||{z{{{{{|{|{{{||||zzz{{{{z|{|}|z{{|{{||z{{|{|}|{|{{{{|{{zz{||{}{}{|{|{{{{|{|{|||||z{||{{|||||}|}|}{{z{|||z{|{}|}|}|{{|{|{{{|}||||{{{{||||z}}|{||}}{||{{{|||{||}||}}{||{|||{|}}{|}}|||||{{{||||}|||{{{{|z{{}|{|}||}|{{|||{|||||{}}}|||{|{|||}{||{||{{|{{{{{|{|||||{}{z{{|zz||{|{|||{{{z{z|{|||||{|||{z{|{z{|{||||||{{{{z|{z|{|{{||||zz|{z{{{{{}{||{||{zz{{z|{||{}|{{{{{{{z{|{{{{{{{{{{zz{{{z||z|{||z{zz{{|z{{{|{{{|{zz{{z{{{{{z{|{{{{z{{{zz||{|{|||{{{{zz{z{{{{{{{|{{{y{z{z{{{{z|{{z{{{{|{zz{|z{||}{{{z{{{z{{{|{||{||z{z{{{{|{|{|{{z{{{{z|{{{{{||{|{z{{z{{{|||{{|||{{|{{{{{{|{|{|{|{zz{z{{z{{|{}{|{{{{{||{|||}{|{|}||{||{{z{||{|||{{|{{|{{{{|}}|}{|{z{|{{{{{||||||{|z{{{{{{}{||||}}{{{{{z|z{|||}|}}{|{{|{|{|}||}|}}|}{{||{{|}{|}{|{|{||z|{|{||||}|}|{{|{}{||{{|||||}{|z{|{|{{{||{}||{z|{{{{{}||{||{|z{{{{{{{{||||}||{|z{{{{|||||{|||||{{|{{||||||}||{{{|{{{||{{|||{|{{||{{{{{||{{||{{|{{{{z||}|{|{||{}{{{zz{{z{|}{{{z|{z{z{|{|{|{{{z{{z{{{z{{{{{{{{{{yz{zzz{{{{||{{{z{zzzz{{|{|||{||{{{{z{||||{{|}{{{{z{{{{{|z{{{{{z{{{{{{{|}{z{{||{{{{{{{{||{||{|{|{{{{z{{{||||{|{{{{z{{{{||{||{|}{z||{{{||{|||{||{{{{{{|z||||{{|{||{{z{{{{||}{||{{{|{{z{{{{|||||{}{{|{{{||||{{{||{|{|{{||||}}|}||z{z{{{{{{}}{||}{|{{|{{|{|}|{}|}||{|{{|||{|||}}{||z{{{|||{|{}~}||{{}|||||||||{||{}||{{{{|{}|}}|||{{{||{{||||}{||||{{|{||||{z{{||}||z|{{|{{{{||{{}|{|z{z{{||{|{|}||{{|{{z{|||{|}}||{||z{{{|{}}||||{{|{{z|{||z{{{{||{||{{{{{{|}|||||{{{z{{z{{||||z{{z|{z{{z{{{{{{|{{{z||{{{{{{{{||{|{{{{z{{|z|{{{{|{{{y{||z{{|zz{|{|{z{{{{z|zz{{{{z|{{z{{zz{|z{{||{{zz{|yz{{{{{{|||{{zy{zzz{|z{|{{{z{{z|{{z{{{{{||||{{{{zz{{||{|||||z|{zz{{{|}|{|||{|{{zz{||{}{|{{|||z{{{{{|{{{||{z{{{{{{{{|||||{|{||{||{z|{||{{||{|{{{{{{{{||{{||}{||{|{}{|{||}{|{||{{z{{y|||{}|}{|z{{|{{{{||||}}{{|{{{||{|{|||}||{|{|{{{{|}}}|||||||{{{{||||||||}{z{{|{{{|}{|||}}||{||{{{|}z|{{}|{|{{z{|{||||||}}|z|zz{{{{{z{}{||{{{{|{z{|{|{{~||||{{{|||{||{{{|}|{|{{{z{||||}}|}{|}{{||{||{{||}||z{{{{{{{{{||{|{|{zyz{z{|{|}{|{|{zz{{{zz{||{{|{{{{{z{{zz|{|{z|{{{z{{{{z{{y{{{{{{{{{z{zzzz{{{{{{{{|z{z{z|z{{{{||{{{{{z{z{{{{{z|{|{zz|z{zz{{{{{{|{{z{z{zz{z{{z{|z|zz{z{{|y{|z{{|{||zz{{z|{z|{{|{||{{{z{{{{{z{{|{||zzz{{{zz||{||||||{z{{{|{{|{{{}||{{{z{{{z}}|{|||{|{{|{zz{z{|{|{|||||{{{|||z|||{|{{{{|{{{{|{|||{|||{{{|{{{}||{|}|||{{{|||{||{{{||}||{{{{{{{|{||}|}|{|{{{{|||||}}|||{{{{|{||||||{|||{{{z{{{|}{|||}|||{{|{{{{{{||}|||{{{z|{z{|}||{}|z|{{zzz{{}{{z{|{{z{{{{{{{{|}|||}{{{{{z{{|||||||||z|z{{{{{{|||||||z{z{{{|||{||{||{{{z{z{{{{|{{||{|{|{zzzz||{|{||}{|{{{z{{{|{{{{{|z{{zz{{z|{{||{|{{{|z{z{{|z{{{{{z{z{zzzz{{{{{|{{|{z{{y{z{{{{{|{z{{y{{zyz{{{{{{{|{zz|z{{{z{{|{|{|{|{zz{z{{{|z{zz{{{{{{||z{{{}|||||{zz{{{|zz{|{z|{|{{|z{{{{{{z{{{|}zz{{{z{{{|{{{{||{z{{{|zz{{}||{z||z|{|z{{|{{{{|||{z{{|{{{||||{}{|{{{z{{{z{|}||}||{z{{|{|||||}}|||{z{|{{{{|||||||{|{{z|{|{||{{||||{{{{||{|||||{}|}|{|{{|{{}||||}|}|{{||z{{||{|{}||{{|{{{{|{{{||{||{{|{z|{{||{||{{|{{{z{{|{{|{{z{}|{{|{{z{z|{|{|{{{{{|z{zzz{{|{{}}}{||||{||}}|||||||}{||||||{|||}~|||z{{{|{|||{}||}||{{z{{||||||{||{|z{{{|{{z|||}{}{{{z{{||{{z{|{|{|z|z{z{z||{{{{|}|{{{z|{{{{z|{{|}z{{{{zz{{{{{||}{{{{{z{zz|{{||}|{|{{{{zz{{}z{{|{~|{z{{{{{{|{{||{|z{{{{{z{z{||{||{{z{{{{z{z{{||{}||{{{zzz{{{|||||}{|{||z|{||z}{{|||{|{{{{z{|||{|}}|{|z}{{{||||}}{{|z{z{z{{|||{|{}{|{z{{{{|{|{{|{{|||{{{|{{|||}|||}{z{{||{|}||}|||||{{{|{{{{|||||}|}{{{{{z{{{||||}||{|{||{||||||||}|{|{|||{|}}{||{}|}{}|{||{||||}|}|{{{{{|{z{|{||}~}|{|{|{{|{|}||}}{|{{z{{{||||||||||{{{{{{|||{{||{{{|z{zz{{|{{{}|~{|{||{|z||~{}{}}{{{||{z{|||}}}|}}|z|{|{{}|||||}{|{|||{{z{{}|{}{|{|{z{{{{|||||||}{{z{{{{|||{|{}}||{{{{{{{||||||||{{{{{{|{|z{{{|{{|{zz{{{{{z|{||||{zz{zz{{{{||||||{||{z{z|||{{{{|{|z{{{z{{||{{{|{}z{{{{{{{z||{||||{z{{{{{z{{{||{{}{{z{{{||{||{|{|{{|{|{{|{|{|{|}|}{|{}zz{{{{}|||}}{|{{{{|{{||||{|{{{z{{{{{|}|||{}|}z{z{{{{||{{|}{||{z|{{{|||}|}|}|}|{|||{|{|}|{|}}|||}|||{{}|||||||{||||||||{|||}}|{}{{|}||}|}|}}}||||z}}|{|||}~||}{}{{||||}|}}|}|{{{{|{}|}|||}|}}|{|{|{{|||~||}~}||{{|z{{|{||||}|{}{{|z{{|||||||||{{|z{|{{|{z||{|||{||}{|{|||{|||}{|{{}|||z|{||||||{z{{z{|||||||}{|{{||{{{||{{|||||{{{z{{{{|{{|{|{|{{{{{{{{{||}{{{z{{{{{{{{|}{||{{{{{{{{{{z{|||||{z{z{{{z{{{{|||{{{{{zzzz{|{{||{z{{{zz|zzz|{{z{||{z{{|{{z{|{{|{{|{{{z|{{{{|{z{|{|{y{{{{{z{z{{||||{{{{{zzz{|{{|{{|{zz{{{|{|{{{|}|{{|{z{{z{{{||}||{|z|z{{{z{{|}z}{{zz{z{{{zz||{|{|{|{{{|{{{{}||{||{{z{z{z|z{{|{{|||{|{{{{{|{{|||{{}{{{|{{{{||{|{|}{|{{{||{z||||{|||{{|{{||{||||}}|}|{||{{{|{}}||}|}||{||{{|||}||||{|{{{{{||||{{|||||{{||{z}}{|||||||{z{|{|{{{||{||{{{{z{{z|{{|||{{{{{{{{zz{z||{|}||||{{||{|{||}|||}||{|{z{{{{||}|||||{{|||z{}{~}{||{z|||z{{z|{||{|{|z|z{z{zz{||||}{{{{{|{{{{}{{{|{|{{{z{zz{{{{{{|{{z{{{z{zz{zz{||{{{z{zz{zzz{{{{{|{{|{{z{z{{z{{{||z{z{{{z{{{{{|{|||{zzzzz{y{{{{||{|{{{yzzz{z{z|{{{|{z|{{{{z{{{|}|{}{{{{{z|||||{|{}~|{{{{|{||zz|{{z|zz{{z{zz|||{|{}|||{|{z|{{|{{{|{{|{{{{|{{{||{|{|||z{{{zz{{}{{{{||{{{{{{{{{{|}||}|{|{{zz|{{{{{||{|{{{{{{z{{}||{||{|z|z{{|{{}|||}|}|{{{{|{{{|||||}}|{|{|||{|}}||{|{{|}|||{z{|{}|}|||{{{{{{||{|{||}}}{|||{{{||{}|||}|{{{{{z{z|{|{||{|{{z{{{|{|{|||||{{{z{zzz{|{z{}|}|||||{}||||}}}|}|{{|{z{|||||{|}}{||{|z|||{|{||}||{|{{|z{||{{{|||{{{z{{{{{{||||||{|{{{{{zz|{{{|}{{{|{{{{zz{|{{||{{|{{{{zz|{z||||{{{|{{z{z{|||{||{{{{{{{yzz{{{||z|{{{z{{z{|{{{|{||z{{{z|{{{|{{{{||}|zz|z{{{}{{|{|}{|{{{{zz{{{{zz{|{{zz{{{{||{{|{|||{|{z{{{||{{|{}|z{|{z{z{{|{{{||{|||z|{|z||{||||||z|{{{{{||{|{||||{{|{{{{{|||{{|{{zz{||{z||||||{|{{{{|{{{|{z|{|||{{{{{{{||||{{||||{{{{|z{||||{}||||{z|{||{||||{|||{|{|{|{{}|}||}||{|{{|{||}|}|}|||{{{{{{|||}|||}}|{{|z|{{{{{}|||}|{{||||{{}{|||}{|{|{z|{{|||||{|{{{{{{z{{{|{|{{||||{|{{|{{}}}}{}|||{|z{{|z||||||}||zzz{{{||{|}||||z|{|{{z{||{{}||||zzz{{{|{{}{|}|{{{{zzy{{{|{{{||{{|{{z{{{|}z{|{{zz{zz{{z{{{|{|{|{{{{{zz|{{{|z{{|{|{{z{{{{{|||||{z{z{zzzz|{{{|{|{|zzz{z{{{z}{{z{{{z{{{{{zzz{||{{|{z{zz|{zz{{{{{||{{{z|{{z|||{||{||z{{{z|zz|||{|{|{{|{{{{{{||{{{{|{{{{{z{z{|{{{||{|{{{z{{z||{{{z||z|{{{{|||||||}{|{{{|{|||{|{}|{||{{|{|{{||{}||||}||{{z{{{{||{|||}{{{{{{|{}}{{|{|||{{{{{{|{|}||}|{|{|{{|||{|}}||||}|{|{{{{||}{}|{}|{z||z{{}||}|||{}||z{{{{||||}}{|||{{{{z{{|{{{||{||{z|{{{{{|||z||{{{{|{{zz|{|{||}{||||{}{{}}||}|}{|{{|z{{}||||||}{||{{{{{|{{{||{}{z{{{{{{{{||||{||{{z{{|{|{{{{|z|{z{z|zzz{|{{{|{{|{z{z{{z{|{{{{|z{z{yz{{{|{{z{{{|{z{zzzzz{{{{z{{{{zz{zzz|z|{{|{{|{|{{zz{z{{{{{{|{z{z{zz{z{z|zz{{|z{{zzz{|{{z{z{{{{{z|{{zz|{|{{|}{{{{z{{{{{{{z{{{|{|{z{{z|{{z||{{|z{{{{{z{{|{{|{{|{z{z{z{zz{|{{|||{|{zz{zz{}|||||{{{|{{{||{|{z{|{||{{{|{z|||||{|||{{{{z{{{||||||}||{{{{z{{}|}||||{{z{{|{{{{|{{||}|{|||z{||{{|}}}|||{{{{|{|{}}||}|||||{{|{{|{|}||||{|{{||||||}|{{}|}{{{|{{{|{|||{{{{{{{z{|{{{||{}|||z{z|z{|{|z|{}|{{{zzzzzz{{||{||||||z{{{|{}||||}||||{z{{{|{}{|||{|{{{z{{z}{|{}|||{z{|z{{|z{||||{|{{{z{z{||z|||{||zzz{y|zzz|{{||||{{zzzz{yz|{{z{||{{{yz{{z{|{{{{{{z{z{zzz{{{{{{|{{{y{zzzzz{|{{|z{{zz{zz{z{{z{{{{z{{zzy{zzzzz{{z{{|{{z{|{z|z|z{{{{{{zz{z{{z{|{|{{{|z{z{|z{{{{|{{|||{zz{{z{{z{|{{{{{z{z{{z{{|}{{{{||{{|{{zz{z||{{{{|z{{{zz{{||{{z{|}z{{{{{zz{{|{{|{{|{z{z{{|{z}{z|||z|{|{z{{{{{|||}}{z|{{zz{|{|||{||{{{{z{{z{||{{|}}{{||{{{{{}||}{|||{|{{|{{z}||||||{{{{|z{{|}|}{|||{|{{|{z|z||{}|}||{{|||{{||{||||}||{zzz{z{{||{|{{|{z{zzz{{|{|{{{{{{{{{z{z{|z{{|}}}}||||||{||||}|~{{{|z{|z|}||}|}}{|{{{{{z||{||}}|z{z|{|{zz|||{{}|{{{{{y{z{{|||}||z|||z{{{{|{{z||{{z{zzzz{{{|{{{|{{{z{{z{z|{|{{|z{{zzz{z{{{{z||{{{zz{zz{z{z{|{{|||{z{{{|||{|||||{|{z{{{{{z{{z{|{|||{zzzzz{z{z|z{||{||{|{{{|||{|||{{|{{{z{||}||{||{{zz{|z{{{{{|||||zz|z{{{{|{|{|||||{z||{|z{||||{{|z{{||z|{|{||||{|{z{}|{{{{|||{{}||{{|{|{{}|{{|||||{{{{{{|||||{|~|}{{|{{{{{||||}|||{{z{z{{{}|||~}}{{z{z{||{||{{}|||z{|}{{|||}|}}}|||{|{{{|}{|||}|{{{{|{z{{||{||}||{{|z||{{|||}||}|{{zz|{{{||||{|{|||{{{zz|||{|{||{z{{{{{|{z{{{||{}|}||{{||}}|||{|}|{{|{|}{|}{{|{}{|{{{{|z{|||{}}|}|z{{{{{{{{||||}}|z|{zz|{{{{{{|{|{{{z{z{z||{{||{{|zz||z{{||{z{|{z{z{zz{{z{{{|{|||{z{{zzzz{{{z{{|{{z{{{z{z{{{{{{|||{{zz{z{||{||{|{{zzz{{zz{{z{z{{|{{{zzzzz{||{||{{{z{{{|{{|}{{|{||{{{zyz{{|{|{|{{}{zy|zz{{{|{{{|||||{zzzz{{||{{|||{{{{{z{z{|{||}{{{||zz{{z||||{||{|zz{|{{{||||{{{|{{z{{{z|{||||{|||{}{{{|{||{||||{|{{|{{{{{{}|||{{{z{{{{{|{|{{}}||{||{||||{}||||||{{{|{{{{|}||}||}{{|{{{{|{||}{|~|{z{{{|{{{|||}}{|{|{{{{{{{|{{|{}}{||z{{{z{|{|||||{{{{{{z{{|{{{z||{z|zzzzz{z{{z}||}||{}{||||}|||}~|||{|{{{||}|}|}|{{zz{{||||||{{||{||{{{{||{|}{||||{|{{zzz||||||||{{|{|z{{{|{{|||{{zzz{{{z|{{{||||{|z{{z{{{{z{{{||{zzzzz{{{{{{{|{z{{zz{z{{{{{z||{{{|zzz{z{{{{|{|{|{{{zz{{zy{{z{z{z{z{{|z{z{|{{{{{{{z{{{{{{z{{{{|{|{{z|{{z{|{{{||}|{{{{zz{{{{{{{z||z{{z{{{{{{||{|{|zz|{{z{{{{{||||{z{{z{{{{{|||||}{{{z|||{{{{|z{|{||{{{{||{|{|}|}||{{{{{{z{{|{{|||||{{{{{z{|||}|{}||{||{|{{{}|||||{{|||{|{{{|{||||}{|{{{|||z}|||||||{||{{||||||}|||}{|{{|{|||{{|}||||{{|{{|||}|||||{{{|{|{z||z{{{||{|{{{{|{{{{|{||{||{{{z{z{|||{}}}}|||~||{|}~|||}||||{{{||||}|}||||{{{{{{{|{{{||||{}||{{|{|{||{{||{{|z{{{{|{|z||{{zz|{z{{zz{{z{||{|zzz{{{z{{|{z||{{{{z{{{{|{{||{{{{z{{zz|zyz{zz|{{{{z{z{zzz{{z{z|{{{{{zz{{{z||{{}{{{{{zy{{|z|{z|{}{z{{z{z{y{z|{|{{z{{zz{z{||{{z|{z{{{z{z{{|{||{}|}{z{z{{|{||{|||{{|{{{{{{z{|||{{{||{{{{z{{||||{{|{{z{{{{{{|||{{||{||{zz{z{||{||{|{{z{z{|{{{|}|{{}|}|{z|{|||}z}|{}|{{|{{{{{|||||||||{{{z|{{{|}{||}}{|{{{|}|{||{|||||{{{|{|{|}||}|}|{z{{z{|||{||{|{}}{{{|{{{}{{}|{}||||{{{{|||||}|||{zz{{|{{{}{|{}{||zz{zz{{{}{{{{|{|zzz{z{{z{{{{}~}|}||||{|||}|}}|}||{{{z}z||||{|}}|{||{{{{}{{|||{|{z|zz{{{{|}|{||{{{{|zz{{{|{|{|{|{{{zzzz{z{{{||{|{{{z{{zz|{z{{||{|z{{{zz{{{|{||{{{{||{{{z||{{{|{{z|z{z{zz{|{|{{{{{{{zzz{{{{{{{||{{y|z{{{{{{{{{{||z{zz{{zz{{{{|{{{{y|{z|zz{{{{|}||{{{z|{{{||||||}{{zz{zy||{{{|}{{|{{{{{{{|z||}||}{{{{{{{{{|{|||{|{|z{z{{{z{{|{{{||}{{{{z{z||{|{}{||{{{z{{z|{{{{|||{{{{{|{|||{|{}|}{{{{{{{{|{}{{||||z{|{{|{|||}{||{|{{{z|{{|||||}||}||{{|{|{||||||||{{|{{{{}|||{||{{{{{{{{{||{|||||{{|{{|}{||||||}|{{{z{{|{{|||||}||{{{z{{{{|{{|{|{{{{zz{z{{{|{||~}||{||||}{}}}|||}{{|z|{{||{|||}|||{|{{{|{{{|{|||||{{z{{{{||{|{{||||{{{{{z||||{{|}{{{{{{{z{{{}{{|{{z{{{{|z{|}{z|{{{|{zz{zz{|{{{{{|{{zz{zzz{{{{{{|||{|z{zxz{zz{z{z|{{|{zz{z{{zz|{|{{{z{zzzz{|z{{|{z{{|{{{z||{|{z|{{{{{z{{zz|zzz|{{|{{z{|zz{|||z{|z|{{||{y{{|{||{|{{{z{{{{z{||{{{{{|{{{|{z{{z|{|}{{|{{{zz|{{{|{|{|{{{{{{|z{{||{|{{|||{{{{z{z||{|}|||{{{z{{{z||{{{{||{{{zz{zz|||||}|||{|z{{|{{{}|}{||{{|{|||||||||}||||{{{||{|}|||||||{|||{{|||||{}|||{{{{|{{||{|{{|||{{{|{{{}{{||{}|||{z{{|{{||||||||{{{{yz{{{||{||{|{zzzz{z{|{{|~}||}{}}|{{}}||}}||}||||{||||}|||}||z|{|z|z||{||}}}{{{{{{{{{|{|||||{{{zz{{{|||{{|{|z{{|{{z{z{{{|{|{{{{z{zz{|{z{{{z|zzzz{|{{{{|z|{{{{zzzz{zzz{{|{z|{z{zz{zzz||{{||{{{z{{z{yz{{{{{||{{{{zzz{zz{{{{{{|||{{{{{z{{{{{|{{z{z{{z{z|||{||{{z{{z{zz{{|{||||||{{{z{|{{{{{{|{|{{z{{{{z{{{{||||{|{{{{{{{||||}|{{z{{{{{{|}}{{{|{{{{|zz{{|||{{|}|{|z{{{z|{{|||||}{{|{{{{|{|{|}|{|{z||}{{z{{{|{{}{|{zz||}{||}{{}||{|{{{|{{{{|||||{|{|{{{z||||||||||{{{|{{{}}||{|||{{{|{{z|||||||}}{{{||{{{|||||{||{{{{{{{{{|{|{{|{{{|{zz{{{||{|{||{|zz{{|{{{{{|~}|}}|}{}|{|}|}||}}{||||}{|||{{}|{|}zz{{{{z|{{|z{||{|z{|{{{|}|{|{{}{{{zz{zzz|{{||{|{z{z{{z{z{{zz{{z{z{yz{{zz{z{{{{{{zz{z{zz{z{z{|z{zzzzzz{z{z{z{||{{z{zzzzy{{{{|{|z{|{zyzz{{{{{z{|{zz{{{{{y{{{{{{{{zzzz{zzz{|||{{{||y{z{{zz{z{z{{||{z{zz{{{{{{{{|||zzz{{{z{{{{{{{}{{z{z{zzz{{{{{{{z|z{{zz{z{{||{{|{|z{{z{{{|{z{{|{z{|{{z{z{{{{{{{{{|z{z{z{|||{||{|{{{{|{{|{{{{||{||{{{{z{{{|{||||{|z{{{|{{z||{{||||z{{{{||z{{|||||||z{{|{{{{|{|||||{{|{|{|{{||{|{|||z{{{{z{{{||}|}}|{{z{{{{{{{|||||{{{|{|{{{||{{{|||{z{{{z{|z|{zz|{{{zzzz{{{{{{{}}}}}{}}|{{}}|||||}|{{||{||||||}}|||{{{{|{|{|{z{||{|{{z{zz{||{}}z||{{zz|{{{||{{{||}|{{{z{{{{{{}{{|{{|{z{z{z{{|zz{{{{{{{zzzz{{{{{{{{{zzz|{{zzz|{{z{{{{z{z{y{{{{{|z{|zzzzzzz{||{{{|{{{zz{{{{zz{{{z||{{z{z{z{z{{{{{{{{{{{{{{{zz{|{z|||{{zzz{{{{|||{{{{{z{{z{{{{{|{z|{{{z{{|z{{|{|||{{|{{{z{{zz{{{{{{{|{{{{{z{z|{{{{||{{{z{{{{{||{|{|{{{{{{{{{{{{|{||{|{{{{zzz|{{{||||{{|z|zzy{|}{z||}{|{zzz{zy{|{{|{||{{{{|||{||{|}{|||{{{{|{z{|{|{|{||{{{{|{z{{||{|||{z{{|{|{||{|{||}{|{||z{{|{{{|{{||{{{{{z{{|||z|||{{{{{{{{{||{{z|{z{zz{{zz{zz{{~~}}}}~}|~{|~}}}}}}||||{{{|||{|||}~|z{|{|{{||||}}}|{{{{{{{|{||}{|||{z{{z{{z||{|||||zz{z{{z{{||{{{{z{z{zz{{z{{{{{z{{zzzz{z{zz{{{||{{{{zz{zzz{{{|{||{{zz{zz{{{{{z{}||z{z{zzzz{{{z{{||{z{{z{z{{z{{{{{|{z{z{z{{{{{{z{||{{{{{z{y|{{{|{}|{z{z{z{{{{|{{{||{{|z{{{z{{|{|z||{zz{{zzz{{{{{||||z{{{|{z{|{||{|{z{{{{z{|{|{|{{{{{|{{z{y|{||{{{||{{{{{{{z||z|||||{{|{{{{{|{|{{||||z{z{{{{{{{{|z|{|{z|{|{{|{|||||}|{{{{||{{|{||{|{|{{{|||{{~||||||{{{|zz}||{|||||{|z|{|{|||{z}{{}|{|{{{{z{||||||z||{{{{{|{{|}|{{}|{{{zz{|{{||{|||{|{{{{{{{{||{{~|~}}|}}||||~||{}}}||||{{}||||{{|}{{{{|{{{z|||||{|}{|z{{{z{{||{{|{|{|{{{z{{{|{|z|{|{z|{{{{{z{|{{{{{{{{|{{z{|{{z{|{{{z|zz{{{{{{{z{|{|{{z{{{z{{{z{{{{{zz|zzzz{{|{|{{|{{{zzz{zz{|{{{|{{yz||{z{{{{z{{{z{zz|zzz{z|{{{}|{{{zz{{{{{{{{{{|{{{z{{|z{{||||{|||z{{{z{{|{{|{{|||{{{zz{z|{{{||||{{{{{z{z{{||}|{|{{{{zzz{||{|{||}{{{{{{z{{|{{{}|{{|{{{{z{|||{{||{{|{|||||{}|{{|||{z{{{{{{||}{}||||{{{z{{{||||||}||{{|{|}|{{|||||||{{|{{{{|}||||||||{|{|{{}||||}||}{{||{{{{}||{||{{|{||{{|{||||}}{z{{{{z{{{|{||||||{{y{{{{{|{{|{|||z{yzz{{{||{z}}~}~}|}|||{}}}|||}}||{|{|{|}|}|||}|{{{{{{|||||{{}|{z|{{{{{|{{|{|||{{{{{||z|||{{}{{z{{{z|{{{|{{||{||{{{{{z{|{{{{||{{{zz{{{{|{{|z{||{zzz|z{zz{{{|||{{zz{z{{z{{|{{{|{zz{zz{{zz{|||{|{|{{z{{{z{{|{{|{{|{{z{{{z{{zz{|{{zz|{{{z{{{{|z{{{|{zz{z{{{}||{{||z{{{{zz{|{{{{|||{{z{{z{z{||{{|{|{{{{|z{zz||{{|{{{z{{|{{{{{|||||||{zz{{z{{||{{{||{{{|{{||||{}||{|{{|{{||{|||{|||||{|||z{{{{|||}|{|{|{|{|{||}||{||{{||{||{{|||{|||}z{{{||{{}|{}||||{{|z{{|}|}}{||||z{{{{z{{{{|{{|}|{||||{|||{|||{{{|{{{{z{||||{||}|{{{zz|{|{||{{||{{{zz{{{{{{{{~}}~}||||~~|}{}}}||||z}||||||}||}|{{{{{{||{{||||||{{zz|{||||{{|||{{zz|{z|{{|{{{|{|{{{{{{{{{{|}||{{z{y{z{|{{|{{|{|{|z{{{{{{{|||||{z{{{z{z{{{|{||{{{z{z{z{{z{{{||{{z{{{zz{{||{{|||{z{z{{z{{{|z{|{{|{{zz{{|{{{{{||}zz{{{{{{{{|{|{||{{zz{{{|||{||{{||{|{|{{{|{||{}{{{{{{z{{{{||{||{||{||{{zz|||||{|||{{{||{{||{{|}}||{{{||{{{||{|||}|{{{{|{||||{}|}}||{{{{{||{{||||}{{|{{{{|{|{}}||}|{{{{z{{||{||}}|||{|||||{||}||}|}|{{z|{{{}||{|}||{{||{|{{|{|}}||{{{||{{||||||||}||{||{{|||||||{||{{{{{|{|{|{{|}||{{{{|{|{||z{||{{{|z{z{{{|||{~~}|}}}}}}~}~}|}||}|||}||||}||}|}|||{{|{|{|||{{|||||{|{z{{{{{|{{|||{{z{{zz{{|{{{{||{{z{|{{{{|{{|||{z{{{{{{z{{z{|{{zz{zz{{z{|{|{|||{{zzz{zz{{{{{{|{zzz{{zyz{|{{{{||{z|z{{{{{{{|{||{{zy{{zzz{{|z{{{{{{{z{z{{{{{{{{|{{zz{z{z{{{{z{{||{z{{|z{{{{|{{{||{z{zz{{zzz{{||}{z{{{{{{z{||{|||||{{||{z{{{}||{||{{{{z{{z|||{|{|||z{{{{{{||||z|{||{|zz{{{||||{|||{z{{{{{{{{{{{{{}{{|||z{{{||||{{{{zz{||{{|}}||}|}{{{{{|||z|||||{|}{{|{|{z{}|||||||{{{{{{|{{|}{}}||{{|{{{|{||||}}||||{|{{|}}||||||{{{z{{|z{{|}{||||{{{{{{{{{|{{|||{{{{z{{z{z{{|~}~}~~}}|}|}~}}~|}{|{||{|{{|||}|}|{|{zz|{{||{{{||||z{|{{{{{}||{|}|{{{zz{{{{{|{{|{|{z{y{{|yz{|{{|{{{{{{zyzz{{{{{{{|z{{{zz{{{zz{{{{{{zzz{{z{z|{{{{|{{{z|z{zzz{|{|zz{{z{zz{zy|{{}{z{|{{zz{zzzz{|{z|{|{{{z{{{{{{{{{|{{{zy{zzz{{z||{|||{{zz{{zz{{{{z|||{{{{zz{{||{{{{||||{{zz{||{{{{{||{{{z{z{|{{{||{}{{z{{{{z{{||{|{{|{z{{{{{{|z{{{{{|{||{|{{|{||}||||{{{|{{{{{|{{||||{|{|{{{z{|||{|||{z{{{z{{|{||{{||{{{{{|{{{{{{||{|}{|{{|{|||{{{}{||z{{{|{{||{||{{||{{{|z{||}|{||}}{{|{|z|{|{|{||{||{{z|{{{{|||||{|{{|{|{{{z{{|{{{|z{|{{zy{{||{{~~~}~}|~}}~|}~||}}|||{|{|||||}}}}~{{||{|{||||||||{{{{{{{{{{||z{{{{{{zzz{{|{{|{{||{{{z{z|z{|{{z|}{z{{z{zy||{|{{|{{{{{{zzz{{{z{{||{yz{{{z{z{{{{z|||{zz{yzzzz{}z{|{{{{{{zzzzz{{{zz{|{z{{{z{z{{z{{|{|{|z{z{{yz|{z{{|zzz{{zzz{{z{|{z{|{{{{{{zz{{|{{||{{{zzz{{{{{|{{|||{{{|{z{{z|{{{{{|{{|z{{{{{{|z{|{|{{{yy|{{|||||z|{{z|{{{{{{}{{{|{{|{{|{{{{||{||}||{{|{{{{{}{|{{|}|{{{|{{{{||{{||}{|z{{|{z{}|{{|}}|}z{{{|{|{{||{{}{|||{||z{|}||}||||{|{{{|||{|||}||{{{{{{|{|{{||||}{{{|{z{||{{|{||||{{{{{zz|||{|{||{{{z{{{{{|||||||{z{z{zzz{{|||~~}~}~~}{}~}{~}}}|}||}||||}|||}|}{{|{z{||}|{||}}|{{|{{z{|{{||{|{z|||z{z{y{{||{|{|{y{{{{{z||{|{{{{{{{{{z{{z{{z{|{{z{{zz{z{{{{{{|{|zzz{zy{z{|z{|{{{{z{{{zz{{z|{|||z{{{z{{zz{|{||{||{{{{{{{|{{z{{{||{{{zzzzz{{{zz||{z{{{{{z{{|{{|||||{{{|z{{{||{|{{|{{{{{zz{|{{|{{{|{{|{{zzz{||||{|}{{{{{z{z{||{{{|{|z{|{{{{|{{|{||{{z{|z{{{||||{{||{{{{{z{{||{||||}z{{z{{{{{|{|{|||}{z{{{{z{|}{{|||}|zz|{|{{{||{{|||{{{{{|{{|{|}||||z|{{{|{|||||{||{{{|{{{||||{|}}z}|{{{{z||||||||{|{|z{z|||}||||}|{z{|{||z||{{{|{||{|{z{{{{|{|{|||{{{yzz{{{{{{{~~}}|~~~}~}}|~||}}|||}||||}}||}}}{||||{{{|{}|{}|}|y||z||z{|{|{||{}{|{{z|z|||}||{|{{z{{{{z{{{{{}|z|{{z{zz{{{{{z|{{|z{{{{{z{{{|{|{{{{zz|z{{|{{{|{{{z|{{z{z{{z{{{|{|{{|z{z{z{{{|{{{{{{{{{{{zz{|{|||{z{zzyzz{z||{{{{{zz{{{{z{|{|{{{|}{z{{{{z{|{|{|{|{{{z{z{|z|{z|{z||{z{{z{z{{||{{|}}{{|{{zz{{|||||{{{{{|z{{z||{|{{|{{{|{{{{z{||{{{|{{y{{z{{{||}|||||||{|{{|{{{|{{{||{|{{{z{{z||{|{|{|z{{|{{{|||{{|||{|{{{z|||}{{|}}||{|{|{{{{|}|||||}{|}{{{{}|{|{||||{{{{{{{||||{|||{{||{{{{|||||{|}z|{{z{||{||||||{||{{zz{z{|{|{|{|{{|z{z{z|||{{}}}~}~~{~}}~~}~}}||{{|{{|}}}||}||{|{{{{{|{||}{|}{{|{{{{z{{{||||{|{{z{|{{{||{{|{{{z{zzz{zz{{{{||{{{|zzzz{{||{|{{{z|z{{zzzz{|{{{z|y{zz{zzz{{{z{z{{{{{z{zz{{{{{||{{z{z{z|y{{{|z{{|{|zz{{zzyz{{|{|{|{{{zz{z{{zz{{{{{zz{{z{zzz||{z|{{|{|z{z{{{{|{||}}|{z{{z{{|{{{{|{|z{|{z{z{{{|{{{}{{|{|zzz|z{{||{|{{{{zz{zz|{{{|{}|{z||z{{{|{{{{{{{z{{||{{{||||||{{z{{|{{{{{{||{{|||{z{{zz{{{|||||{|{|||{z{|{||||}|||z{{{{{{}|{|}|}|||z||{{{}{{|}}|||{|{z{{{|}{{|||{{{{|{{||||{||}|{}{z||{|{|{||{||{|{{{{z{{|}||{||}{zzz{z{{|}|{{|{{{{zz{zz{{||z~~~~~~}}}}}}}}|}}|||}}}}}}||}}|{{|{{{|{{}|||}|{{{{{z{{|}{{{{{{{{{zzzz|{||z|||zz{{{{{z{|z|{{||{{{z{{zzz{|{{{{{{z{z{{{{zz|{{||{zzz{{z{{{{{{|z{|z{{z{{z{{{{{|{{|{z{zzz{|{|}|{|{|{{{{{|zzz||{{|||{zz{{z{zz|{{{|{{zy{{{{{yz{||{|{||{{{|zzz{|{{{{|{|z{{|z|{{{{{{{{{{z{z{{z{|{|{}|{|{|{{{{{zz|{|{{|{{{{{||{||||z{{|{{{{|{{zz||{||||||{|{{z{|{||}|{|{{|{|z|{{|{{|||||z{{{z||{|||||||{|z{{|{{|||}||}||{||{||{||}|||||}}|||{|{|||||||{||{{|{{{{{||||}}{{{{{{|z{|||{}|}|}{{|{|{{{|||}||}|{|{|{{|{|{|{||||{{}{|{{{}{{|||{|{|{{{zz{{{{|~}~}}|}}~}}~}||||||}|}|~}|}|}{{|z|||{||{{|||}{|{{{z{{}{||{{||{|{||z|z||}{|}|{{{z{{{|z{{|{{{{|{{|{{{zz{{||{||{{{|z{{{z|{||z}}|{z{{z{{zz{{{{{|{{|{{z||{{||{|||{|{{{{{{z{|{||{|{{{{|{{{z{{{{{|{|{{zz{{{{z|{|{|||{z|{z{|{{||{{{}{|zz{{{|{{|{{||||z{{|{{{||{{{|{|||{{{z{{{||||{{||{z{{{{}{{{||||{|{|{{{zz{{}||{|}{{{{z||z|||||||||{{|zz|{|||||{|||{|{|{z{{{|{}|{}}{{|z|zz||||{{}|||{|{|{{|{|||||}}{{{{{{||{|||}||||{{{|{{||}|}|{|}||||z{|{}}|}||||||{z{|{z|}|{}}|||{{{|{z{||{|}||||||{{{|{{}|{}{|}{{|{{{{{||||{|||{|{z{{{{||}{{~~~~}~~}~~}~|}||}||{}}}~|||}||{{||||}{}{|||}|{||{z{{{{{|{|{|{|zz{zz{{|||{||||{z{{{{zz{z{||}||{{z{{z{|{|{{||z{{{{{{zz{{z{{|{{{zzzz{{zz{{|z||{{zzz{{z{|z|z{|{|{{{{z{zzz{{|{||{{{{zz{yz{{{{|{z|{z{z{z{z{{{zz|{|z{{z{z{z{|{|||||{z{{|{|{|{|{{{||{{||z{zz|{|{{{{|{{|{{{{z|{{|||{{{{||{{z{|{|{||{{{{{||{z{{{|{{|||{zz{zzz{{||{|{{{{{{{|{||{||{||||{|{||||{{}|||||}{{||{{z|||||}||{|z{z|{zz|{{||{}||{{|{{{z{|||||||||{||{|||}}||}||{{}||{{{|{{|}||||{|{{||||}{{{}|}|{z|||{||{||||||{{{{{{{{|{||{||||{{z{{|{||||{|{|zz|{{z{{|{|{{~~~~~~}}}|}}~}|}|{|}}}|||}}}}|||{||z}|{{|||{||{{{{{{{||||||||{|{{z{{|{{{{{||{{|{z{{z{{{|{|{z{{{{{{{{{|{{{{z{{{{zz{zz{{z{|||{z|z{{{zy{{{z{{{{{{zz{{z{{|}||{||{{z{z{z{|{{{{{}|{{|zz{{zyy{{{{|{{{{z{{zz{{|{z||||{{{|||{{{||{{|{{{z{zz{{}||z||{|{{|{{{{{{|{{|||z{{|{{z{{{{|{{|{}{{|{{z{{||||{|{{|{{{{{{{{}||{|{{{{{{{{{{{|{{|||{{{|{|{{{|{||}|||{{|{{{|{{||{{|{|{{{{z{{z|{|}|||}|{z{|{{{||||}||{{||{z{||||{||||||{}{{{{|{||}|||}{z{|{z{{|~||{}}}{{||{{{{{||||{||||{|{{|{||||}{|}{{|{{z|{z||||||{|{{{{{|{|||{z{}{{|{{{{{{{z{{}~}}}|}}}~~}}|~||||}~}}||}||{||{|||}||{}}|||{|{{{{{{{{{{|}}|{{z{{|{||{|{}{|z{{{{z{{{{{{{{|{{{|{zzz{{{{z{|{|{zz{yzzz{{{|{{{|y{{{zz{{{{|{{{|{{zz{zzzz{{|{{z|{{z{{zzzz|{{}{{||{{{z{{{{{z{{{{{{{z{zz{z{{|{{{||{zz{{|{{zz|{|{{|||{z{|z{{{{{{|{{|z{|zzzz{{|{|{||}z{{{{zz{{{{{|{||{|z{|z{{{|||{{|{{z{|z{|{{|||{||z|{{{{{{{|{|{{|{|{{|{|{{{{{|}|{{|{{{{z{{{{||{|||||{|{{|{{|{||||{||z{|{{{{|||||}}}{{||{{{|{|}|{}{}|||{{{{{||||||}|}{{{|{{z{{{|||||{{{{{|{|{|{{||||{||||{{||||}}{||{{|{{{|{{{|{|{||{{z{z{{z{|{{||||{{{z{zz|{{|{|}~}}~~~}~~}}}}}||{}}}}||}{|{|}|{z{z}{||||{}|{{{||{{{|}{{|{||{{{{|{z{{|{{{{{{{|{|z{z|{|z{{{{{||{{{{z{z{{y||{{{{yz{{z{{|{|{{{zz{{{zz{{||{|{||{{zz{{yz|{{z{|{|{{zz{{z{{{{|{{{{{zz{{{zzz|{{{{|{|{{z{zz{{{z{{|}|zz{{{|{{zz{{|{{|{{{{z{|{{|||z|||{z{{{z{z||{{{|{{zz{{{{{zz{{{{{|||{|{{z{z{|{||{|{{{{{z{z{{|||{{|{{zz{{{z{{{|{{{|z{||{z{z{{{}||{|{{|z{{{z{||{||||}{{||{|{{||||||}{{{{{{{z{|||{||}||||{{{{||||||||}}{{{|{|{||||}{}|}}{{|{{|||||{}||{{{{|{|{{|{||{||{{{{||{{||||{{||{||{{{{{{||{|||{{{{{zz{{{||{{{|{{z{|zz{{{z|{{~~|~}~~|}}|||{~|{}|~}|}{{z|||{}|}{|||||{{{{|{z||||{{|{{z{z{{z{{{||{}||{z{{{{zz|zz{|{{|{zz{z{{z{z{{z{z{z{z{z{{{{{||{z{{zzz{z{z{|{|z|{{{{{z{zzzz{{{{|{{{{{{{z{{z{|{{{|}{{{{z{z{z{{{{{{|{z{{{{z{{{{{{|{|{{{{{{zzz{|||{|{{|{{zz{z{|{{{{{{|{{zz{{{{{{{|{|||zz{z{z|z{||{||{{|{{||{{{{|||||{{{{{{{{{{{|||{{}|z{{{|zz{|}{{{}|||{{{{{z{|||||{||{{z{{{|{|}z}|{|||{{{{{|z{||{|||||{|{{||{|||{}||}|||{|||{{|{{{|||}|{{{{{{|}}||||}|{|||{{{|{|||||||z{|{{{{|}||}||}|{|{{{{{{}||||||{||{{{{{{{|{|||||{{{{{|z{|{|{{}{{||{z|{{{{|{{~~}~~~~}~}}|{||}||||||~||{}{|{{{||{||||}|{||z{{{{{|{|{}|||zz{{{y{{{|||{|{{{{zzzz{{z{z||z{{{{{z{{{{|zz|{|{zzz{{z{{{z|z|{{yz{{zz{{zzzz{|{{|{z{z{{{{{{||{|{zzz{zzz{z|z{|{}{{{zzzy{zzz|{{||{{{z{zyzz{{z{{{{|zz{zz{{{{||{||}|{{{{zz|{{{{{{{||{{zz{{{z{{|{|{{{{{|{{{{{{{{||}|{{{{|z{{zz||||||}}{{{{z|{{|{{{z|{|{{{{{{{z{|{|{{{{z{z{{z{||||||||{{|{{{|{{{||{{}}|z{{{{{|{||{{||{{{{|{{{{||{{|{||{|{{{{|{|}}|}|||}{{|{|{{{~{|}|}|||{|{|{|||{||||||{{|{||{|{||{||||z{{|{{{|{|{|}|||z{||{z{{{|{|{|{}{{{{{zz|{|{|{||{{{z{zz||{|{{~~}~}~~~~|||}{||}}}|}}~}{z{||{|{{|{|||{||{{{z{{{|{||{|{|{|{{||{{{{{|{|||{z{{{zzz|{{{z{|||zz{z{{{{{|{{|{{|zzz{zyz{{z||{||zz{{z{{zz{||z{|{z{{{z{{zz|{|{{|{{{{zz{zz{{|{{{|zzz{{z{zz{|{|{|{zz{z{zz{z{|{z||{|z{z{{{yyz{{{z{{{z{{z{{{z|{|{{|{|||{|{zz{{{{|{||||{{{zzz{||{{||{|zz{{{z{z{|||||||z{z|{z{z||}|{|}{{{{{{z{||||{{||||{|{|{{||||{|{}|z{z{{|||||z|{|||{{{|{{{z|}|{||{||{{{|{{|{|{{||}||{{{||{|{||{{{}|||{{|{{z||}|}|||}{{||{{|||{{}|||||z{z{{{{}z|}||||{{{{{{|||{||||}|{{z{{|{|||{||}{|{{{z{{{}|||{{{|{{{{z{zzz|{|{~~~~~~~}}|}}}||}}}~||}}|||{||}{|}||||}|{{||{|{{{{|}{|{}||{z{z{{{{|}{||}|{{z{{z|{|{{{{|{{{{z{{{z|{||{||{{{{zzzz{z{{{{{{|{{{z|{z{{{{|{{|{{z{z{{z{{{{{{{{{{{|{{{zz{z|||{||{{z{{{z{z{{|{{|{|{{z{||{{{{{|||{{z|{{{{z{||{{{{{}{zz{{{{{|{{{{||{{{{{z{|{{{||{|{{{{|z{{|{z{|{|{|{{|zz{{{{|{|{{|{{{{zz{z{|}}{{}|{|{z{{y{{{{{{{|{|{z{{{zz{z|||}||}z{{{z{{{{|||||{||z{{{{z{{{|||{||}{|{|{|{|||||||{{{{{{{{|||||||||}{{{{|{{{~{|||}||{|||{|{|||{||}|{{{{{{{||||||||||||{||{{{|||}}|}||{{|z|{|}|||||||z|{{{|{|||||{|{|z{{zzz{||{|{~~~|}~~~}|}||{}}}|}~}||||{||||||{}}|||}|{{{{|{{{|{|}|{{{{z{{y{z|{{|{|{{|z{{{z||z|{{||{{|z{z{z{{|{{{{{{{{{{{|z{{{|{{||{{z{|{{{{|{{z|{||{zzz{{{{|z|{{|{yz{zy{{{{{{|{{||{{{zz{{{{{||{|}{{{z{z{z{||{|{|{{{{|{{|{{}{{|||{|{y|z{{{|{{||||||{|{{{{{{{{|{{||||{z{z|z{{||{||}}|{z||{|{z{||{||{{|{|z{{{{||{|{{||{{{z{zz|||{|||||{{{{|{z||{|{}|}{|{{|{{{|{|}|}|||{|{{{z||||||||||{|{{{{{}||{||}}{{|z{||{||||}|||}{{|{}|{|||{||}}|||{{{{|||||||}||{{|{{{||||{||}}{||{|{{{|}||||{{{||||{z|{||{{|}|||{||{{{{|{|{}|{|{{||{{{{{||{~~~}}{|{|||||||}|}}||{|{|{{||||{|}{{{|{{{{{{{{{{{|||{{|{y|{|{|{{|{|{z|z{{zz{|zz{||{|z|{z{{z{{||{{{z|{zzzzz{zz{||{{{zz{{zzzz{{z||}{{{{{{{yz{{{|{{||}{{{{zzz{z{{{{|{||{{{z{{zzzzzz|{|{{zz|{{z{zz{{||zz{{{{{zz{z||{z||{{zz|zzz{}|z||||{{{{{z{{|{{|{{|{{z{{z{z||||{{{||{{{z{{{z{|{{{|||zz|||{{z|||{{{{|{z{{{{|{zz|{|||{{{{z{{{z|||||}|{{{{{|{{{{{{||{||{{z{{{z{|||||}|{{z{z|{|zz|}|}{{{{{|{{|||{}||||||{||{{||{|||}|||||{|{z|{{|||}|||||{z{{{{||}|||{{||{{{z{{|{{z{|||{|{{z{{{{{{{|{||{zz{z{{{zz{|{{|}|{{zz|z{z{{||{~~~}~|}|}{|||}}}|}}}||||{{{z||{||||||{{{{{{{{|{||{|}{|z{{{{{||{||{||{{{zzz{z{{{{{{{zzzz{z{{{{{{z{z|{z|{{z{z{|{{|||{zz{{{zzzz{{z{|||{z{z{z{{zz{{{|{|{{z{{z{z{z{||zz{|{{{{z{{z{{{{{|||{zz{{z{zz|{{||{{{z{{z{zz|z{z{{|||{{z{z{z{{{{|{{||z{z{{{{{{||{{{|z{zz{zzz||{||{|}{z{y|z|{{{{|{|{{{z|{{{{{{||||{|z{{{{zz{{{||{{|{|{{z{{z|{{{|||||z{{{{z{{z{||{||||||z|{{z{}}|||}|||{{||z{{{||z||||{{{{{|||{{{{{}}}|{{{{{||||||{|||{|{{{{z|||||||||{y|}{{{||{|}|||||{y{{||z|}{|{|{|{|{z{|{z||||{|}}{{zz|{{{|{{|{}{|{z{z|z{zz{{{|~~~~~}~|||{{{}{||||~}}{|{|{|{}{{|}}|||}{{{{{z{z||||||||||z{|{{{|{{{{||{{|{{{{{{}}{|||{{z{{|z{z{{{{z{z{z{z{{{{{{{z{{|||zzzz{z{{{zz{|}{{{{z{zzy{{|{{{{z||{{zyz{{|{{{{z{||zzz{z{z{{{{{||||zz{zz{|z{{{{{||{z|{|{z|{{|{z|{||{{{z{z{{||{|||{{{{zzz{{{{|{|z{|z{{{{{{z||{{{{||{||{zz{z{}|{||{{{{{zz{z{{{|{|}|||{|{{{|{|||{{}{||{{{{{|{||{{|{|}z{{z{{|{|}{|{{{}|{{{{zz{{{|||{||{{|{|{{||||{|}|}|{{{||||{|{{||||}{{|||{{|}|||||}{z{{{||{{||}|||{|{{{{{{{||||||}}{{{{|z{z|||{{|||{{|{{{{{{{|||}}||{z{z{z{{|{{||{{|{{z{{{{|{}{{~}}}}}||||||}}|}}|~}}z{|{{{|||}{||{|{{|zz{{{||}|||{{{{z{{{z{|{{{|{{z|z|{{zz{{|z{{{z{z{z{zyz{{|{|{{{{zz{{{zz{z|{|||{z{{zz{z{{{{{||{{|zz{{{{{z}|{{}|{{{zzz{{z{{{|{{||{zzz{zzzz{zz{{{|{{{{zzy{z{zz{|}|z{zzzzz{{|{|z{{}{|z{{zzz|{{z{{|{{z{z{{z{{{||{|{|{{{|{y{z{|{{{|{|||{{{{{{|{|{||||{{z{{|{z{{|{||}{}zz{{{{{|||{{|{|{z{{z|z{{{|}||}{{{|{{|{{||||{|{||z||{|{{|{|}{|}}{||{}{{z||{||{||{{{{||{{{{|||}}||{||{{|{{~}|||}|{{{|{|{{{{||||}{{z{{{{{{{{{||{|}{{||{{z|{|{{|}||{{{{{{{{|{|{||}|{{{zz{{{{|{}z{||{{|{{{{{{||{|~~~~}}}|{|||~|}|||~|||{|{|{{|||||}|||{z{{{{|}|}{{|{{{{zzz{z{|{{{{|z{{|{z{{{z{{{{{{{|z|{{{{{{{|{{{{{{{zz{{{{{{{{{|{{zzz{{z{{{z{|z{{{{{zzz{zz{|{||{{{|z|{{{{z{|{{{|{{{z{{z{{z{{{{{|{{}{{{z{zzz|{{{{{|{{{{{{zz{{{|{||{{z{{|zzz||||{|{|{{{{|zz{|{{|{{|}{{{{zz{{||{||{{}{{{{|z{z{{|{||z{{z{|{{{{|||||{||{{|{|{{{{z|{|||||{{{{{{{|{{|||||{{|z{{z{||||||||||{{zzz{{|{|}{|}|z{{{z{{||}|||||{||{{{{{|{||||{|}{||||{{|}|||||{|{{|z{z|{|}|||||{{{{{|{{{}{{||{||{{{{z|{{{|{|||}|{{{|{{{|}{|}|{{|{{{z{{|{|{{{||{|{{z{z{{{|{z|}}}}|~}}|}||}||{}||{||{|{|}{||}{{|{|z|{|{|{|{{{|{{{z{zz{zz|z{{{{{|{{{{zzz{{{{z{|{{|{zyzzzz{{|z{||{{z{z{zzzzz{{z{z{{z{{{z{z{z{{{{{{zz{{zz{z|z{{||{{{z{{{{z{{{|{{|||{{z{{{z{z{{{{}|{{zzzzzz|{{{{z|{|zz{{{{{{{{|}z||{|z{z{zz{{z|{{z{|z{{zzz{z{{{{{|{|{{{z{zz{{||||{{||{{{{|{{z|{{|{{{|{{{z{z{{{|{{z|{{{{{{{{{|{}{{{|||{{{{|{{{{||{|||{|{{{z{{z|{||}{}|{z{z{{z{{|{{||{|{{|{z{z{|||}||{{{|y{{{{|{{||}||}{{{||{{{}||{|{||z{zz{z{||||{|||{{{{z|||{z{||}||{|{{|{{|z|{{{||||{zzz{{{|{|{||}|{z{z{{{z|{z||{||{zz{z{{{{{{{{~}}||}}||||}}{}}}}|||{{|z{|||{|}{|}||{z{{|{|{|{|||{{|{z{zy|||{|{{{{{{z{z{{z{{{{{|{zz{{{{{{z||{|y{{z{|{{zz{|{z{yzz{zzz{{z{yz{|{{{{{{{{{yz{{z{{z|{{|zz{zz{zzz{{{z{|{{z{zzz{yz|z{z{|{z{{z{{zz{zz|z||{{z{z|{{zz{{{{{||z{{{zz|{{||{{{}|{zzzz{{{||{{||{|{{z{{{zz{{|{{|{|{z{{||{{z|{{|{{{{zy{{{zz{||{{{|{{{z{{{{zz|{{|{|{{{zz{{{{{||{|{|{{{{z{{|z{||}{{{|{z{|{{z{{|||}{{|{z{{{|{|{}{|}{||{{{{{}|{{|{{|}|}|{{z|{|{||||{||||{{{z{|{|{|||}|||{{|{|{{|||||||}|{{{{{{{|||}|{|{{z{{{||{|||||}||{{{z{{z{z||{{|||{{{{{zz{{{|||~~~~~}}}}||||}}||}}}}|{{{{||{|{{|||{{z|{{{{z|{{|{{||{{zz{{{z{}{{||{|{{{z{{{z||{zz{|{|{z{{{{{{{z{{{|{zz{y{{{{{z{{{|{{{zzz{z{{z{z|z{{{{zz{zzz{z{{|{|{{z{{{z{{yz{{|z{{{|{{z{zzz{{{{z{{|{{{zzz{z{{|z|{{{{{{{{{zzz{{{{{{|{{{{zz{z||||{{|{zzz{{z|{|{{||{|{z{{{{{{{{{{{{{||{|{z{z{{{||{||{|{{{{{{z{}||{|{|{{{{z{z{z{||{||}{|{{||{{{|{|{{|}|||{|{||{{|z|{|}|{|{{|{z{{|}|||||{{|{{{{{|||||{}|{{{{|{{|||{{||}}||{|{{|{{|{|{}|||{|{{z||{|||{|||{z||{{z{{|{||}||}|{{||{z{|||{||}{{z{{|z{||{|{|||{|z|{{z{{||{{||{{|{{z{{z{||||~~~}~}||}}}}}}~}}{|||{{{{{|{||{}|}{z{|{|{{||{|{{|||{{{{{|z{{||{|{|{z{zz{|{{{|||{|{{{z{{{z{z|||{{|{{{{z{z{{{z{||{{{zz{{{zz{|z{|{||{{z{z{{{z{|||{|{|z{{{{zz{{{{{z|{||{{zz{{{z{{{{|{{{{{{yz|z{{{|||||zz{z{{{{{{||{|{}{{{|{z{{{|{{{{||z{{z{{{z{{||{||||{{{|{{{|}||{{{|{||{{{|z{||||{|{|z{{{{z{{}|||||}{{z|{{zz||{|{|||{{|{|{{z|||||||}{{{{|{||{|{|||{||z{|{{{|{||{||{{{|z||{{{|||{|}}|{{|{{}{{|{{|||}|}|||{|{|||||||}|}{{{|{|{||||}|{||z{{{{|{||||}|||||z{{|{||||}|}||{{{{{z{{{|||}||||{{{|{z{||{{{||}{{{{z{{{|||{{~~~~~~~|}}||||||}}}}}}|||||||{{}{}|{||{{{||{{|||{{{{||{z{zz{|z||||{{{|{{{z{z{z{{|{{||z{{{z{{zz{||z{{||{z{{{{z{{z{{{|{|{{{{z{|z{||{z{{|{{z{zz{z{{|{{{{|{{{{{zzz{{{{{{{|{{z{zz{|z{{z{|zz{z|{{z{z{{z{}{||{{{{{z{zz}{{{|||{z{{z{zz{{{{{||}|{|{{{|{|{|||}{{{|{zzy{{||||}|||{{{{{y|{{{{|{{{{{z|{{z{{|||{{{|{|z{|{{|{|||||{||{|{{{z{|{{}}||||{{{z|{|{|{{||||}{{{{z{z{{|}|{{|||z{{}{{|||||||}}{{|{|{|||||||{||||{{|{|{|}||||}}|{|{{{{{||{|}|||{||{{{{|{|}{|}||||{|{{{{|{{}||||{{z{{{{|{||{}}|||{{{{z{z{|{{}{|||||{{z{{{{|{{~~~||~}|||}|}}|}}|}|||{||}|||}{|{||{||{{{z|{||{{{|{|{z{zz{z|||{|{{|{z{{{{{{|{{{{z|{{zz{{zz{{{{{z{||{zz{z{{zzz{|||{{|zz{{z{{z|||{|{{{{{{z{zz{{|{{||{|{|z{z{z{|{{z{||z{|{z{{{{{{{{z{{{{zz{|zzz|z{{}|{zz{z{|{z{z{|{|||{zzz{z|{{{|{|{{|{{{{{{{{{{{|{|{|{{y|z{{|}{{|||||||{{{{{{{||||||{|{{z{{|{||||z{|{{{{{{|{{|}|{||||{{{{z{{{z|||||||{|{{|{{{{|{|{||||zz{|z{z||}||||||{{{{|{{|}|||||}{{|{{|||{{}||||}|{{{{|{{{}|||}}}}{||{{|{|}}|}|}{|{z|{{|z{|||}}|||{{||{||}|{|{}{{|{{z{{||{{}||{|{|{{{{{|{{|{{|}{}{y{z|z{z{{|{|}}~|}}}|||}}~~}}~}|{{{{||||{{{{|{{|{{{|{{|||||{{||{||{z{{{||}|||||z|{y{{yzzzz|{{|{zz|zz{{z{{{z{{{{{{{zz{{z||{{|{{{{zz{yzz{|{|{{{{{{{zz{{y{{|{{{|zzz|{{z{z{{{zz{z{{|z{z{zzy{{z{{|{|z|{{{zz{{{{z{|{{{{{{{||zz{{{|{||{{{zz{z|z|{}{{{|{{{{zz{z{z{{{||{{{{{z{|z{{{{{{}|{{{|{{{z|{|{||{{{{{{zz{{{||{{||z|zz{z{{{||{{|z}{{z|{z{{{{||}|{}|{{{{{{{z|{{|{|}{{{zz{{zz|{||{{|{|{{{{z|{{||||||||{{{{|||{|{||||||||{||{z|}{||||||{{||z{{||||}||||{z{{||{{{||{}|||{|{{{{{{{{||||||{{z{{{|{||{{}||{{zz{z{{{||{|||{{{{{{zz{{{||{~~~}|}|}|}|~}}~}}}}}||{|||||{||||}|{|{{|{{z||{|{|}|||{zzz{{{{|z{|{|{{|{{{zzz||{{{||{{{{z|{{|{{{{|{|z|{{z{z{z|{{{{{{{z{z{z{{{}|z{||{{{{{z{{{{{{{||{zzzzz{{z{||{{{{|}{zz{{z{{{{{z|}{{{zzz{{{z{|{{{{|{{z{|z{{{{{{|{{||{{{z||{{{||z{|{}zz|{{{{{||{{{{|}{{{{{{{{||{{{{|{{||z{{{{{||||||{{{{{|{{z|{|{||||{{{||{{z{||{{||{{{{{{{||||||||||{z{||{|{||||||||{{|{{{|{|||||}|||{|||{{z||{{||||{{|{{||{|||{||}|{{{|{|{{{||}{{}|{{|{{|{{{|||{}|||zz{{{{z|||{|{||}{|{{{z{{{||||||{{||{{||||||{||}|||{{{|z|{{|{|{}{{{{{z|{z{{|{~~~}}|||||}}|~}~}|||||{|{{{{}}|{{|||{{||{{|{|{{z|||{z{z{{{|||||||||{{{{z{{{}{{z{{{zz{z{z{{|z{z{{{{{{zzz{zz{{{{{{|{{{z{{{yzz{{{{{|{{zz{zzzz{{{z|z||{zzzzzzz{{{{{{|y{{{z{{{z{z{z|{|{z{{zz{{{{{{|{|{{z{{{{{zz|{{{{{|{|zz{|z{{{{|{{{|{{|{{zz{{{|{{|||{{z{{zz{{|{|{{{}|{{{z{zz{||}{{{|{|z{{{{|z||||{{||{{z{z{{{{{{||}||{{y{{{|{{|{||{||{{|{{{{{{|{}{|}||{z{{{{{{||||||||z{{|{{z||||{|||z{{{z{|}{}{|||||}{{||{{|{}|||||||{{||{|{|{||{|||{{{{{{|{|}{|||||{|z{|||{}|{}{|{}|{|{|{{{{|{|}|||{{{z{zz{{}||{||{{{|{z{{{||}|{~~~~|}|||}}|||}|}||{{||{{||{{|}|||{{{z{|z{|{|{{|{{{{{z{zz||{|{|{|zz{yzz{z|{zzz|zz{{{zzz{z{{|{{{{|{z{z{zzz{z{||{{{{yz{z{z{{{zz|{|zzzzzz{z{z{{{{||{z{{zyz{{{{{}|{{{{{{{{zzzz{zz{|{|{zz{{{{z{|z{{{||zzz{{{{z{{{{z{{{|z{zz{|zz|zz{{{|{z|zz{z{{z{|z|{|zz|zz{zz|z|{{{{{|{{{{z{z{|||||z|{zz{{z{|{||||||{|{{z{|{z||z{z{{|{zz{{{{{|{|{|{{|z{{z{{{{z|{|||||{z{{{{z{{{|||{|||{{{{{{{|}{{|||||{{z{{{z||{|{|||{{{|{{{{{}|||}|}}{|{{{{{{{{|z||||{{|{{z{{|{{{{|}||{{{|{|{|||{{||{||{{{|{{|{}{||||zz{{{{z||||{||{{{{{{{{{||}{|||~}~{{}~|}}}|}~||||{{|||||||||||{{{z{{{{|}{|{}}{||z{{zz|{|||||}{|{z{{{z|{{zzz||{{z|{{yzz{|zz||{{{{y{{zzzz{{{{{|{z{{zz{z{{{{{|{{{{zz{{z{{{{{|{{{{{{{{{zzz|z{{{{|zzzz|{{z{{{{{{|{{|{{{zzz{||{|{|{{{{{{{{z{|{{{z{|z{{z{y{zz{||z{{|{{{{{{{{z{{{||||{{{{{z{z{||{|{{||{|{{{{{{{|{{}||{{{{{{z{{|{|{}|{z{|{{{{{{|{|{||{{{{|z{{{{{|}|||{{{{z|||{||{|||}|||{|z{{{{{|{{||{|z{|{{{{}{{{}}|}|{{{{||{{{{|||||}{{{{{{||}|||||||{{{{{{{|{}}|||||{z{|{|{{}{|||}|{{{||{z{{{||||||{{|z{{|{||{|||||{{{{{{{||||{{{{||{{|yy{{{||{{~~~~~~|}}|}|}|}|||~}|{|{|z|{|}||}||{|{{{z{{||{|||{||{|z{z{zz|{{|||{|{{|zz{{z{|{{{{{{|zzzz|{{||{z{{|z{z{zz{{{zzz|z{{{zz{{{z{z{{{{{{z{{zz{{zzz{{{{{{{{{{{{z{{zz{{|{{||{z{{{z{zz|{{{{{{{{{zzz{|{{{zz|{{{z{{z{zz{||{||||{zzz{z{y{{|{{|{||{z{z{{{|{{{{{{||z{zz{{|z{|{{|||{|{{{z{{{{{{{||||{{{{{z{{|}|{{||z{{{{{{{{{}{{{{{|{{{{|{{{{||{||{{{{{{{|{|}{{{{||{{{{{|{{|{|||{}{zz{{{{{z{||{|{}{{{{|z|{{}|{{}{||{{{{||{{|||}{{{|}|{||{z||{|||||{|||||{{{{|{||{|}{z{{{|{{|{||{{|}{{zz{{z|{{{|{||||{{z{z{{{|{|{{z}{z{{|zz{{{|||~~~~}}~}|}|}|}||}}}}{|{{{|{||{|}}||{{{|{{{{{{||z||||z{{z{zy{{|{z{||z{{z{{{z{{{{|||{{zzz{z{{{z|z|{||{{{yy{z{{{|{{|{|{{{{{zyz{{{{{{{{{|{{{{z{z|{{{|{|{zzz{{zzz{|{{|{{{|{z{zz{{{{|z{|{{{{{{{{{{{{{{{{{{z{{{zzzz{|{|{|}{{{z{z|{|{|{{{||{z|z{z{{||{{||||{z|z{{|z{|{{|{{{{z{{|z{z{||{{||{|z{{{{{{{{|{{{|{{{{|z{z{{||}||||{{{}{z||{|||||{|{{{{{{zz|||z}|}||{{{z{{{||||}{||{{|{{|{{{||||{|{{{{{||{{{||||}|}|z{{|{{{|}||||}{|{||{{{||{||||{}||z{{zz|{||{{||}{|{{{{|{|||{||{}{|{z{{{zz|{||||}|{{|zz|{|{||||||{{|z{z{z|z{{{~~~~~}}}}}|}}}|}|}||||z|{{|||{{||||{{|{|||z|}|{{|||{{{{zz{{{{||{}|||{|zzzz{{||{{{{{{z{{{zzz{{{{{||{{{zz|{zz{{|z{{|{z{zzzz{z{{{{|{||{zzz{{{zz|{{|{{|z{|zz{yz{|z|{{|{|{{{zz{{z{{{z|{|{{zz{zz{z{{{{||{zz{{{{zz{{{{{{|||{{z{z{{{}|{{||{{|{{{{z{{{|{{z|||{{zz{z{{{||{|{|{{{{zz{zz{||{|||{{{{{{z{{{||{{{|{|{|{{z{|{|{}|{{{{{{{{{|||||}|||{{{{zz{{{||}||}|{{{|||{{|||{|||||{z{|{{z{|||}|}||{{{{|{{{|||||}{|{{|z}{{{}{|{{|}{{||||{{|{}||||||{|{|{{{{|}|||||}{|{|{|{||z||}|}{{{{|}{{{{{||{|||{z{{{zz{|||{{{|{|{{{{zz|||{{~}~~~|}}}{}}}}}~}}}{|||||||}{||}{|||{{{{{{{{|||{z|}|{{z{{{z{||{|{||{{|z{z{z{|{{z{{{|{{z{{{z|{{{{{{{{z|z{zz{{{{||{||y{z{z{z{z|{{{{{|{{{{zzyy{{{||{{{{|{{zz{zz{{{{{{{z{{{zz{z{{{z{{{{||zzzzzyzz{{{|z|zz{{z{zz{||{{|{{{{||{{{{{{||{|||{|z|zz{|||{{{|||z{{{{{z{}{}{|||{{|zz{{{{{|{{{|{|{{{{{zz{{{{|{{{||z|{{z{z||{{{|{|{{{{{{{|{{}|}|||{|z|{{|{{|z||||||{{|{{z{||||||}||{||{z|||||{{}}}{{{{|{{{|{{{|||||{{|||{{{|{|}|}|||{|{{{{|}}{{||||}{|{{{{{|||||}}|||{{|{||{||||}{||{{{|{||{|{{|||{}{{{{{||{|||{|||||{z{{z{{|{{~~~~||}|}||{|}}|}|~}|||z|||||}|||||}}z||||{{{|{}{|{||{{{zz{{{{}|{|{|{z{z{{{{{|{{|z{{{{{zzzz{{{||{||{{{zzz{zzz{{{{{{{{{z{zzz{{z{zz|{|{{{|zzzz{{{{{|||{{zzz{{{{|{|{|{{{zz{{z{z{|z{{{|||{{{z{z{z|{{||{|{{|z{z{z{{{{{|||{{z{{{{{{{z{{{|{{{|z{z|{|{|{{||{z{|z{{{{|{{{{||{|{|z{{|{|||{{{{{{{{z|{{{{{|{|||z{{{|{{{z|{|{z}}|{z||{{z{|{}{}||{{{{{{z{{|{{||||}|{z|{{{{||{||{|{|{z{}{{{}{|{||{||||{{{||{}z|{||}|{{{{{{|{}||||{{||{||||{||{}|}|{|||{{{||{{|||||}|||{|{{{|{|{||||{{{{||{{|{{|||}{|{{{{||z{}{{{{{|{z{{{zz{{|{|{~~~}~}}}|}}}}}~}}}}{|{||||}}||||{||z||{{{{|{{||{|}||{z{|{{{{{||||}{|{zz{{yz{{z|||{||{{{{y||z|{z{|{{{{{zzz{|{z{{{{{{{zz{z{{{{{{{|z{|{{z{z{{z||{||{||z{zzzzz{||||{||{{{|{z|z{{{|||{{|{{zzz{{{{{|{{||{{{z{{zz|{{||{||{{|{{{{{|{|{{|||{z{{{{{{|{||{|{|{{{{z{{z||{{|{{|{|{{{{{{{}||{}||||{{{{{z|{{||{{{{{{{|{{{{}||||||{z{{{{}{{||}}|||{|{{{{|{||{||||}{{{||{z|||||}|}|{{z||{{|}|||}}}|||{{{||{|}||||}||{{{z|{{{||||}||}z|{|{||}|||{|{||{{{|{{{{|||||}{}||{|z|||{{|{}||||{{{|{{{||||||||{{{z{zz|}{|{|{|{{{{{{{{||}|{~~~~}~~}}}|}||}}}}}}}|{{{{{{||{|{||{||z{{{z{y{{||z|||{}{{z{z{z||{{{}|}{zzyzz{z{{z{{{{{{{z{{z{|{|{{{{{z{{z{z|zzz{{{z|{{z{z{{{{{{{{{{|zzzzzy{{zz{{{||{|zz{{zz{z{{|{{{|{{{zzzzzzz|z|{||{|zzz{{{zzz{{z{||{{{zz|zzz{{|{|{|zz{z|{{z{|{{{}|z{{{z{z{{{{z{{|{|z{{{{{zz{{{{{||z{{{z{z{{z|{{{|{|{{|{{z{{|}{{{{{{zz{{{{z{{{{|{||||z{{z{{|{|{|{{||{|{z|{{|||||||}{|{{{{{{{{|||{||{{{{z{|z|{||||{|||{{{z{{{{|||{}|||{z{{|z{|}|}|||||{|{{zz{|{|||}|{|{z{{{{z|{{{{|}|||z{|{{{{|||}|||||{{{{z{{||||{{||{z{{||z{||{|{||{{{zz{zz|||{z~~}}}~|}|{}}}}|}}|}|||z{|{{|||||||{{|{{{zz{{|||{{||{{{{{{{{|{{|{||||z{z{{z{{{{y{{|{{{{{{{z{{{{{{{{{zzzz{zzz{z|z{||{{{{{zz{{{{{{z|||{{zz{zz{zz|z{{{{zz{{{{zz{{{|{|{}zz{z{{{z{{z{{{|}{{{z{zzzzzz{{|||{z{z{zzz{{||{{{{{{{{zz{{z{||{{{}{z{{|z{z|{||{||{{{{{{{z{z{|{{{|{{{|{{z{{{{{|{|{|z{{{{zz{|||{{}|{zz{{{{{z||{{{||{{{{z{|{{|{|{}|||{||{{||{|||||||{{z{{z{{{{{}|}{|||{{{{{z{{|||{|{|{{{{{||{{|{|}||||{{{{{{{{}||}||||{{{{||{|}||}|||{{{{{{{||{|{{|}}|{{||{{|||||{|{}{z{{{{|{||{|||||{|{{{{{y{}{|{{|{{{{{z{{z|||||~~~}}||{|||}}|}}}}|{{|{{{{{|}{{{}{{{{{z{z|{|}{{|{|z{z{{{{{{||z{|}|z{zzzz{{||{|||{{{{z{z{zz{{{{||{|{zz{{{z{{{{{{||{zzzzzz{{|{{{|||{{{{z|{{|||z{|||z|z{z{zzz|{{{{|{|{{yzz{z{{{{{z{|{{{yzzz{{{{|||{|z{{}z{zz{{{|{{{|{{{z{z|z{|{{{{{||z{zz{{{z{|{z{{|{z{{{zz{{{{{{|||{z{zzz|z{{|{|{||{{{{{z{z{||{{||||z{{{{{z|{|{||{|{{{{z{z{{{||||||{zz{|||{}||{{|}{{z{{{{z{{{{{}|}||{{z{{{{|||}|||{{{{{{|{|{||}|}|{|z{{{|{{|}|{||||||{{z{{|{||||}|||{{{|{{{|{||{|}|{{{{{||{{|{{{|||{{|z{z{{z|{{{}|||{{z{|{{{|||{{{|z{{{{{{{{{|{{~~~|~}}}|||}|}|}}}{{|{{{{{z{||||||}|{{{z{{{{{||{|z}{{{z{{{{||{|{|||{|{z{{{{{|{{{{||{|z{{zz{{{{{{{{{zyz{zz{{{{{{{{{|{{zz{{{z{{||{{|z{zzyzz{{z||{{{{|{{{{{z{{z|{{{{|z{zz{{z{z|{{z{|z|{z{{{{{zz{|{|||{{zz{{z{z|{{{{{{|{{{z|z{z|}|{z{||{{{z{z{{{|{|{{|}{z{{z{z{{{{||||}|{{{{{{{{{{|{|||{z{{{{{z{|{|{{|}z{{{|{{z|{{{|||}{{{z{|{{{||||||}z{{{{{{{{{{|||{|{{z|{{{|||||{{||{z{z{z{{{||{}|||z{|{{{|{|{{||}}}|{{|{{{{{|||{|}}{|{{|{{||{||||||}{{|{{{{{z|{|||||{{{z{{{|{{||||}{{{{{{{z|{{|||{|{{{zz{|{{}||{||||{{{z{{{||{{{~~~~}}|}{}}|}{|}|||}{{{{{|{|{{{{{}||z||{{{{{{|{{{}{{{{z{{{{|{{|||||{{{z{{z{{|{{{{{{zz{z{zzz{{|{{{|{z{{{z{zz{{{zz|z{{{{y{yz{yzz{{||||{{|{zyz|||z{{{|zz{z{zzzz|z{{{{|{z{{yzzzz{{z{{|{|{zy{z{zz{|{z{{|{{|{z{zz{{{{{{{{{{zz{{z{{{||{z{|{zzzzz{{{{{{{{{{{z{{z{{{{{{{|{||z{{{{{{z{{|{||{|{{{|{z{{{{|||{||{z{|{{{|{{|{||}|{{{||{z{|{{}}||{{|{{{{{z{{|{{{||{{{{{{y{{||||||||{{{{{|{||||||}|{{{{y{{{{{|{||}}|{z{|{z{{}||||||{{|{{{{{||||{}|{|{{|{{|{{{{|z|}|||{{|{{{|{|{{|{|{|{z{{{{{{{}|{}|{{{{{{{{{|||{|||{{{{zz{{{||{{~~}}}~}}|}}{~|}|||}}}|{}|{{||{|{|||||||{||{{|{{||||{{|||{{{{zz|{|{{{{||{{{{|zz{|{{|{{{{|{z{{{{{|||{z{z{{{{z{{z{{|{{|{|{{zz}{{{{|{z||||{{{{y{{z{{|{{}|{z|{{zzz{{{|z{{|}z{{zzzz{{{|{||||{{{{{z{{z||{{|||zzz{{{{z|{{|{{||{{{{{zz{{||{z||{|z{{{zz{|{{|{|||{||zz{z{{z|{|||{|{{{{z{{||{{|||{|{|z{{{{|||||||{{{{z|{{{z|{||{{||z{{{|z{{||{|{|}z|z{|{|z{{{||{||{{|{|{z{||||}||||z{{|{{{|||||||||z{{{{{{||{}||}}{{{|{{{|{}}{}{|||{|||{{{|||}|||||||{||{||||{}}|}|{{|||{|{|||{|}|{{{z{{{{|{|||||}||||zz{{||||{{|}{|{z{z{{{{|||~~~}}||||}|}~|}}|}}}{{||{{||}}||||}{{{{z|{|{|{{|||||{z{{{{{|{|{|{{{{{z{z{{z{|{{|{{|{{{{z{{z|{{{{|z{zzzz{zz{z||{|||zy{{zzzz{|{{{|{{|{{zzz{z{z{{|||{{z{zz{zz{z{|{{{|{{{zz{{z{{{z{{{|{z{zzyz{z{{{{z|{|{{{{{yz|{{|z{{|{z{zzz{{|{{{{||{z|{{y{{{|||z{|||{{{{yz|{|||||{|}{{|{|{{{{|{{|||{|{{{z{z{{||||{|}{{{|{{{{|||{{||||{|{|{|{{{|{}}|}{|{{{{{z|{||{|||}{||{z{{}||{{}}|{z{|{{|{||{|||}|{{{{|{}z||{{||||}|||{{|{|}}}|}}}}{|||{{{}}|{|||||z||{{|{{||}|||}{||{|z||}}|||||}|{{z{{{z||||{|}|||{z{{{z|{{|||{|{{{{{{z{{|}|{~~~~~~~~}|}}||}}|}}}|}{}|{{{{{{{|{{|{|||{{{{z{{{{|||||||||{{{{{{{{|z{|{{z{{z{z{{{{{||||{{z|{|zz{z{{{||{{{{{yy{zz{{{{{|{|z{{{{zzzz|{z{|{{{zz{y{z{|{|{{{|{{{{z{{{z{{z{{|{|{{zz{{{{zzzz|{{{{zyzz{zzz|{{{{|{{{{{z{yy|{{{{{|{{||z{z{z{|{{{|{||z{{{z{{{{{|{|z|{{{zz{z{|z|{|{{{{{{{{{{{{}||{{{|z{{{z{{z|{{|}{|z{{z{{zz|||||||{|{{{{{{zz{|||||}{{||{{{{||||||||{{{{|z{z{||}||||{{{{|{{{{||||||||{{{{{{{{{{{|{||{||{{{{{||}|||}|{|{||{z|z||{{|||||}{{|{{{{|{{||||}{z{{{{||{||||}||{{z|{{{{}|{|{||||{|{{{{{|{||{}|{||{z{{{{}|||~~}~~~~~}}{}|{||}}}}}|}}{|{z|z|{|{{|{{||{{{{|{|||{|{{||||{{{|{z{{||{{z{z{{z{{z{|||z{||z|{z{z{zz|{|{{{|{{{|zz{{z{|z|{||{z{{z{{zz{{|||{|{{zzzz{zz|{|{{{{{zz|z{|zy{z{|||||{z{{{{zz{{z{{{{||zzzzz|y{{z{{||{{z{{{z{{{{|{|{{{|{z{|z{z||||{{{|{|z{{{{{|z{{{{|{{{|z|zz{z{|{z|||{{{{{|z{{{{||||z|z|{{{z{|||||||{}{|{zzz{|{{{{|||{|{z{z{{{||||||{{{{{{{|{||{~||||{{||z{z{|||||{|{{{{{|||z|}|{|}||{{z{|{||{||{|||{|z{{{|{|{{||||||||{{|{{{|{}}|}|{|{z{||{|{{{|||||||z{|{{{||{|{}}|z{{|{{{{{|||{}|||z{z{z|z|{|||{{||{{z{z{{||{}|~~~~~}~~}}}|}|}|}}~|}||{|{{{{{|{|||}|||{{|{{{{{||{z{||{{{zzz{{|{|{{|{|{{|{|{{z{{||{{|{{{|{{{{{{z{{{{{{{z|{zz{|{|z|y{|{zz{zzz{{{z|{{|{{{{{z{{{z{{{{{{|{{z{z{{{z{{{y{{|||{z{{z{y{{{zz{|{{zy{{{zz{{{|{|||{z{|{z{z{|{{||{||{z{{{zz{|{{{||{|{|zz{||||{{z{|}z{{z{{z{{{|||{||{|{{{z{{|{{|{}{||{{z{z{{|||{{|}{|{{{{|{{|||{|{{||z||||{{{{||||||{|z{{{|{{|||}|||||{|{zz{||{{||||zz{{{|{{}|{{|{|||{z|||{|{|||||{||||z||{|{||||}}}||{{|{{z{|}{|||||{{{{||{{||{}}|||{|{{{{||||||}|}{{{z{{{|{|{{||||z{{|{zz{{|{|||||{{{{{z{{{{{{|~~}~~|~~}}{||}|||~||}|}||}{{|{{||z|}{|||{{||zz{|{|{}{|||{{{{{{zz|{{{{{||z{{z{z{{{{}zz{|{{{{z{zzzzz{{{{||{zzzzz{z|z{{zz||{zzzzzzz{|}z|{{{{{zzz{y{z}|{{||{z{zz{{{{{|}{z{|{{z{{{zzy{{{{{{z{{z{zz{z{{{{{{|{{{{{z{z{zz{{|{|{{zy{z{{{{{|{{{|{|{{{|z{{{{{{{|||{z{|{{||{{{|{{z|{{{{{zz{{{{{{{||{{z{{{{||{{||}|||{|{{y|zz|}{{||}{z{{{z|{{{z{{|{||z{{||{{{||{|{|{}{z{{{|{z{|}}{||{|z|{||{{}|{||||||||{{|{{|{{{|||}|{{|||y{{|||||||{{{|{{{{|{|||||||{{{|{z{|||{||{}|{{|||{z|}||||||z{{{{|{{||{{|}||{{{{{{{z||{{{{||{{{{z{z{|{|{z~~~~~~~}}~~}}}|}|}}|||||}}||||{||{{|{{{{||{||{{|{zz{{{|{|||{{y{z{|z{{{|{{{|{{z{{z{z{{z{{z{{zz{zz{}{{{|{{{{{{{zzy{{z{z{z{|{||z{{{zy{{|{{{{||z{zzzzz{z{{{{|{zz{{z{zzzz{||{{||{z{{zzzzzz{{{{{{|{z{{zzzz{z{{|{{{zz{{{{yz{||{|{|{{{z{{zz{|{z|{||{z{{{y{{|{{{{{{|{{{{zz{z|{{{||{{{{{{{{{{{|}{{||||{|{{{{{{||||||{|{{{{{{z{|{|{{{|z{{|{{{|{{||||}|z{|{z{{|{|{||||}|z{|{{{|{}|{}|}|z{{z|{{||{{{|{||||{{{||{||||||||||{{{{{z|||||}}}{{|{|{{{||{||||||{{{{{{||{||{||}||{||{{{||{|||||{||z{|{{||{{||{|{||z|{||||{|{|||{{{{{z{z||{zz~}~}~~~}~~}~~~||||}|}|{}|}|}}z|z{||{|{{|}||{{{{{{z{{{{{{z{}{{z{zzzz{{|{{z|{|z{{{z{{z{|z{{||{{{{zz{z{{z{{{{|{{z{zzzzz{{{zz{{{zzzzzz{z{{{{|{{zzzzzzz{{zz{z{{|{{z|{yzzzz|{|{{{{{{{zz{zy{{{{zz|z{{zz{z|{z|z{{{|{{{{z{||{z{{{||{{{zzz|z{{{{}z||{{{z{z{{z{|{|{{{z{z{{zzz{z{{{{|{{|{{||z{zz{|{|{|||z{z{z{{z{}||{{|{{{{z{z{{{|||{{{|{{{{{z|{{{{||{||{{{z|{{z||||{||{{{z{z|z{||{||{{|{z{{{z|z|||{|||{|{{|||{{z{|||}}}|z{{||{|{~||{|||{{{{|z|{{|}|{||}{z{|{{{{{|{|||{{|{{{|{{||{{||||{{{|||z{z|{|{{||||{z{{zz{{||{{||{{|{zzz{z|{{{|~~~~|}~~~}|}||}||||}|}}}{||{||{z{{}{{||}}|{||z{{|{|{{z{||{z{z{{{z}{{{|{|{z{{{z{{{{{{z|{z{||z{{{{z{{|z{|{{z{{{z{{z{{{{||{|{{{zzyz{{||{{||{zz{{z{zy|{{{{|||{z{{zzzz{zz{{z{|{{{{zzzyz|{{{{|z{zzz{zzzzz{z{}|{{{{{{{z{||{|{||{{{{{{{zz{{{{z{||{{{{{z{{|{{{{{}|{z{{{{{z{{|{{}|{|{{zzy{{{{|||||{{|{{z{{{{|{{z||{{{{||{{{||{|{|{||{{|{z||||||||{|{{{{{{{{|{|{{{}|{{{{{{{{{||||}|||z{|{{{{||||||{||{{z|||z||{||}}||{|zz|{{|}||||}|{{{{|z{{|||||{|||z|{||{|{{{{|}|||{{|||{|||{|{|||{{{{|{{{{{|||}}{|{{{|zzz{|}||||||{{z{{|{{{|||~}}~~}}}~~|}}||||||}}}|}|}|||{{{|{|||{{||}|{|{{{z{{{|{|||{{|{{z{|{{|{{|{|}{z{{{{{z{{{{{{|{{{{{{{{{{z|z|{}zz{|{z{{z|{z{{|{{{{{{zz{z||{z|{{{z{{zz{{z{|{{||z|z|{{{{zz{|{{z||{{{{{z{{z{{{{{{z{|{{{{{z{z|{{{{|{{{zzz{{z{|{{|}}{z{{z{z|{{{z{z|{}{z{zz{{|||z{||||{{}zz{{|zz|{{||{{z{z|z{{{{{{|{{|z{z|{|zz|||{{|}{|{{|{{{{{{{{|||}{{{||{{{{|}|||{|{{||{{|{|}{{{||{{{z{{z{|{||||||||{{{{{{{|||||}}|{{z{z{||||||}}}|}|{{{|{zz}|}||||{z{{|{{{}|{{||||{{{{z{z|{||||{{|{{{|{|{|{}|||{||||{{|{|{||||||}}|{{{|{|{{|{{{{{{{{|zz{z{}{||{~}|~|~~~~}}||}}|{|}}}~}|}}||{{{|{|||{||||{|{|{{{{||{||{{{}}{{zz{{zz|||{|||{{|{{zz{{{|{{{{{{{{{|z{z{|{{{|{z{{{{z{zz{|||{{||z{{zz{{{{z{{|{{|z{{{zzz{{|{{{{|{{z{zz{z|{{|}{{{{|{{z{z{{{{|{{||{{{{{{{y{{{{{||{{{{{z{z{z|{||{{}{{zzz|zz{{||{{{{|z{|{{{{{{{{{{|||z{|{{{{{{{||z|||{{{{{z{z{}{{||||{{{|z{{{{{|z{|{|{z{z{{z{|}|{{|{|{{{{{{{z||||{|||{|z{{z|||||}{|||{{{{{{{|{|{||||||{{|{{{{{||{{||||||{{{|{{{||||||}||{|||{{}|||}}}}{|{{z||||||{{||}{{{{|z{|}||||||}||{|||{{|||||}|{{|{{|{|{|{{{{{}{|{{{z{{z{{|z|||{{{{{{{z{{{{|~~}~~}}}~|}||}|||}}}||~}}|||{{{|{|||{|}||{{|{|{zz{||{{{||{{{{z||{{|||{|||{z{{{{{z{|{{||{|{zzz{zy{{{{z||{{|{{{{{z{||{{{z{|{{{zz{{{{z{||||{{{z{{{z{{|{{{{||{{{{zzz{{||}{|{{{zz{zzz{{|||{|{|{{z{zz{{{{{{{|{{z{{{{{{{{{{{||{{|{|{{zz|{}{{||||{{}{{{|z{{|||{||{{|z{z{{||||{|||||z{zz{{||{||}{||||{{{{{{{||{}}{{|{{|{{z|||{|}||{{{{{{z{||||{}|||{|{{{||{{{{{|}}|{{||{{|||||{|}|||{{|z{||~|||}|}||{{||||||{|||}}||{{||{{}|}|||||||||{{||}|||||}|{{{{{|{{||{||||||{{||{z|}|{{|||}|{{{{{|{|||||||}|{z|z}{{}|{|||||{{|z{{|{||||{}}}~~~~}~~}~}}|}||{|}||{}||}{{|{{|z{|{||}||}|{{|{{{z|{|{{|}||{{z{z{{||{|||z{|zz{{z{{z{{{{{|{{|{{{{{z|z{{{||{{zzzz{zz|{{|||{}|zzz|zzz{zz{{{|{{{{{z{{{{z|{{{|{{{{z{{{z{||{|{{z||{{{{zy{{{{{z|{{{{z{z{z{{{|{{{{{z{|{|{z{{|{{|{||{{z{z{z{{|{{|{|{{{{{z{{{{||||||z{{z|||{z|{{{|||{{{z{z{z{{{|{}{|{{|{{{{{|}|{{|}{{{{|{z{{{|{||{||{{{{{||{{|||||}{{{{{{{|{z||||{}|{{{{{||{|||||||}{{{{{{{|||{{|}||||{z{|{{{|{|{|{{|z{|{{|{{}{|}{|}||||{{|{{|||{|||}{{|{{{{{{||{|||{{|{|{{{|{{}||}|{{|{{{||{|||{||{||z{{z||{}|}|{|{{z{{{z|{|{{{{~~}~~~~~}~}{|}{|{|||}||}||}}{{{{{{{|||||{}|z{{z{{z{|{{{{{||z{{z|zz{{{|{{}|||{{z{|{z||{{{||{{{z{{{{z{{{{z{|{{z{{z{zz{z{{{{{|{zz{{{{z|{{|{{{{z{zz{{zz{|{{{{|{||{zz{{z{{{|{{}{{{z{yz{zz{{{z{{{{{{z{z{{z{z{{{z{zz{{{z{zz{{{|{||yzzzy|{{||{{|{|}{z{z{{zz|{{|{|{|{z{{z{|z{|{|||{}z{zz|z{{{|{{{|{{|z{{|z{{{||z{||{{{{{{zz{{{|{{|{}{{{}|{{z||||{|{|{{zz{|{{}{|{|{{}{{z{{{{{{{|||||{{{||{{|z|||{{|{|{|{{{{{|{||||}|||{{{{{|{{}}||||}|{{{|{{{}{|{||{||z{{{|{{||{|}|}|||{{|{z{|||||||||{{z{z|z|}{|}{|||z|{z{{y|{{{||||{{{{z{{{|{}{{~~}~|}}}}~}~}~~||}|{{|{|}}|{||}|{||{|z{z{||{|||{{|z{{z{{z{{{|||}{{{{z{z{||{z{|||{{{{{{zz|z{{{||z{{{zz{{{|||{||{z{z{{zz{|z{z{|{{|zz{zz{{|||{|{}z|{z{z{zz{{|{||||z{z{z{z{{{z{z||{{zzz{z{{{{{zz{{{{{{{z{z{|{|{||{|{{z{{{{z{{|{{||{{{z{{{|{{{{|{|{|{z{{zzz{||{{||{|{z{{z{||||z{{{{|{{z{{z{{{||z{|||{z{zz{{{{||{|{{||{{{{z{{|{{{{{{{|{}|{{{|{||}|}|{{{{||{{{{{|{{||}|{{{|{{{|||}|{|{{{{{|{y{|}{||{}|||{{|{|{|||||||}|{z{{{{z{}}|||}||{{|{{{{||||{|}||z{{{{{{||||{||}{{{|||{{||{|||{|{{z{z{{{{|||{{||||{{{z{{|{{||{|||{{z{|{z|{{{{}}~}}~}}}}}~||{|{|{{{{|}{}}}}{z|||{{{}|{{||{||||{{z{|{{{|{{{|{{|{{{|z{{{{|{{{z{{{z{{zz|z{{|{{|{{z{zzz{||{z|{{{{{{y{zz{{{{{{z{z{{zz{{z{z|{|z{{|z{{z{z{{z|{{{{||z{{zzzz{{{{{{|{{{{{zzzz{z{{{|z{{zz{{{{zz{z{|{||zz{{{z{{{{{|z|{{{{zz{y{zz{||{{{|{z{{z{{{|{{{|{{{{|{{{zzz||z{{{||z|{|{z{{||{{||||{{{z{{{{|{{|{|}{{z{z{z{{||{{{|{|{{|z{{z{{|||{}||{||{{{{{|{{{||}|{{{{{{z{{{||}||||{z{{{z|||{|{|}}{||z{{{{|}|{|||||{{|{||{{}|}{||||{{||{||||{|{|{{||{{{{z{{{}|||||z{{{||{{|||||||||||{{{{|{|||{|{}||{{{zz{{|||{||||{z{zz{{{z}{{~}|}}}~~~}}}}}|}|{|||{|}{|||||{{z{{{z{}||{|||{zz|{|{{{{{|{{{|{{{{{z{{{{|z{{|{{zz{{z|{z|{{{{{{|z{{z{zz{z{{{{{{|{y{zzz{z{{z{{{{{{z{yz{{{yz{{{||z{zz{zzzyz{}{z{{{{z{{z{zy{|z|||||{yzzzzzy{z{zz{z{{zz{|{z{{{z{{{{|{zzz{{zz{||{{||{{zz{z{{{{{{{||{}{zz{{yz{{{{{{||{{{{zzzz||{{{||{{z{{{zzz{{{{{z||{{{{z{zz{{|{{{{|{{{{{{z{z{|{{{{}{|{{zz{z{{||{{|{|z{{z{z|{|{{|{{{{|{z||zz{{|{}|||{|{z|{{{{{|||||}|{{{z{zz{{}{||||||{|{|}{z||||||~|}|||{{{{||||{||}|{{z|{{|{|{|||||{{|{{{z{||||{|{|{z{z{{{{|||{{{}{{z{zz{{{{|{|{{||{{{{{{|{{{|{|~~~}}}}}}}}~~}~}}}|}||{||}|}||}|}|{|{|{|{z|{|{|{{|{|||{{{z|{{|{|{{{{{z{{{zz{|}{{||{{{{zzyz{{{{{{|zzz{z{{{z{{{{||z{{{zyzzzz{zz{{{{{{{{{zzz{z||{{{}{{z{{z|zzz{{{|{{z{z{{zzzz{{z{|{||{{{{zz{zz{{zz{|{zz{{{z{z{|{{{{|{{y{{{|zz{|{{{{{{{{|{{zz{z{{{{|{{{z{|zz{{zz{{|z{{{z{zzz|z|||{{{||{{{{z{{{|}{|||{{{{|{zz{{{|{||{}|{z{{{{{{|{{{{||{{{{|{z{{{||||{{|{|z{{{||{|{||z||{{{{{{|{{{|}|{}||{{{|{|z|||}{|||{{{{{{|{z|{||}{||{z{zz|{|}||||||||{|{{z{|||{{{||{z{|{{{{|{|{||{|{|{{||{{{|||||||{{y{{z{z|{{|{||}||{{y{{{{}|{|||{{{|z{zz{|{{{}~~~|||}|~~~}|}|~|||||{}||||}}|||||{z{{{{{{|{|{|||{{{|{{{{|z|{{|{{z{zz{{yz|||{||{|{{{zz{z{{{|{{{|{{{{{z{zz{|{z{{{z{z{{zz{|{{{{|{|z{zy{zzz|{{zz||{{z{{zz{zzz|{{{|{{{{yzzzz{{{{{||{zz{z{zzzz{{{{{{{zzzzz{{z{{{{{|||z{z{{{{z{{{{{{{{{{{{|{z{{|z{{|{|{{z{zz{z|{{{|||z|{zzzzz{z|}|{{|{{{{{{z{z{{{{{{{|z{{{z{zz{|{{{{|{{{zz|{z{{||{{|||{{{|{{{||{|||||{z|{{{z|{{||||||||z{{{{{{|{|{{||{|zz{|{|{}|||{||}{{|{{{|{||{||||||{{|{|{{{}|||}|}{{{|{{|{|{{||}{||{zz|{|{{z{{{||||||{|{{|{{{}||{}{|{{{{z{{{|||{}{||{|{z{{|{|{||{{{|{{{{z{{||{{~~~~~|}~~~}}~}~}}|}|{{||{{{}{|}}}}}{|z{{{z{{{||||||z{||yz{{{{{{{{{|z{zz{zz||{}||{|{z{{{{zz{{{{z||{z{|z{{zz|{{{{|{{{zz{z{{z{{{|{|{{{z{{|zz{|{{||{|z{|z{zzzz{{{z|{|{{z{{z{{{|{{|||{{{{{z{zzz|{{{{{{{zzzzy{zz{{{{|{{|zz{z|{{{z{{{||{|{{{{z{{zz{{{|{{|||{z{{{{|z||||{|{z{{z{|||||z{{{|{{{z{z{z{|{{|{|{{{{{zz{{{{{{{||{{{z{zz{{|{|{{|{{{{{z|z{{||||||{|{{{|{{{z{|{{||||{{||{{zz|z{{{||{{{z{|{{|{}{|}||{{||{{z{{||{|{||||{{{{{{|||{|||||{|||{{{{|}||||{||{{||{|{{|{|}||||{{{{|{{{{|{|||{{|{{|{z{z{||{|}}{{{{{{zz|{|{{|{|{zzz{zzz{||{z~~~}|}}|}|}|||}}}}||}{{{{||||{}{|||{{{{|z||||{||}|||{{{{z|{}{||}{|}{{{{{{z{||{{|{|z{{z{z{{{{{{{{{|||z{zz{{{{z{{{{{{z{{{z{{{{||{{{|z{{zzz{z{{{zz{|{|zzz{{z{{{|{{|{|z{{zz{{{|{{{{{{{|{{z{{{zz{{{z{{{z|{{{{zz{{{{{{{{zz{{zz{{{{|{|||z{{{z{{z{{||{||{||{{{{{||{{{|{||{{|{z{|{{{||z{{z{{{{{{z|{|{|{||}||z|{zzz{{||{{{|{z{zzz{{||}|{||{|||{{z{{z{|||{|||{{|{{{{{{{{{{||}|{||{{{{|||{{{|||{{{{z{||||}|{||{z{{{||||||}|||}}{|z{|{{{|{|{}}}|{|{{||{||{||||||{{{{{z{|{||}||||{z|{{{|{|||||||{|{z{{{{{||{|{|{{{{|{z|{{|}{{|{|{{|{{z{{{|}z|~}}}}||||~~~~}}}||{{|||{{~|||}|}|||{{{{{{||{|}{||z{{{{{{{{{|{||||{{{{z{z{|}|{{|{{{{{{{|z{|{{{|{|{z{z{{{z{{{z{{||{zz{{{{{|{{{{{{{z{z|zz{{{{{{|{|{{zzzzzzz{|{{{{{{{|z{z{{z{|{|{{{z{|{z{{{{z{{{|{{|zyzz{zzzz{zz{{{{{{{{{|zz{{z|{{|{{{{z{z{z{{|{{||{zz{{{|||{{|{{{{|{|{zzz{{{{{{|{{{|{{{|zz{z|{|||||{{{zzzz{|{|{{||{{{{{{{{{|||||{{{|z|{{{{||{{}{|||{z{{{{|{|{{|{|}||{{{{{zz|}{|{||||z|z{{{{|}}{||||{||{|{|{|{{||||||z{|{{||{}}|{|~{||||{{{z|{||{{{|}z{|{{{{{|||||||||{||{{{||||}}}}|{{z{{|z||||}}|{|z|{|z{{{{|||||{{{|zzy{{{|{{|}~~}}}|}}}}|}}}}}|}|}|||{||}||}|}|}{||{|||{|{|{{|}|{{{{{zz{{||{{||{{||{{z{z|{{{|{{|{y{z{{{z|||zz{|{{{{z{{z{|{{{{||{|zzz{zz{|zz{||{|{{{z{z{z{{{z{{|z{y{{z{z{{{|z|{{{{{{{zz{z{{{}|||{{zzzzzzz|{{{||{|zzzz{zzz{{{{z{{||{{{{|{{|{|{{z|{{{{{|z{{{{||||{||z|z{{|{{{{{{|||{zzz{{z{|{|{||{|{z{z{z{{{{|||||||{{|{{{{{{|{{z|{{{|z{{{{||||{|{{{{{z{{|{||{|||||{|{{{{|{||{|||{|{{||{{zz{{|||||{{||{z||{}}|||}|{||||{{|{{||{|}|}}{|{|{zzz{{{||}}|||{{{|{{||{{}}|{{{{{{z{{|{||||||{{|{{{{{|{}|||{|{{{{{{z{|{|{|}||{z{{{|{|||{|{z|{z{{{{z{{{{{{}}~}}}}z{|{}}}||||||{|||{|}|||{{||}{|{|{||z|{{||{|{{zz{z{{{|{{|{z||z{z{z||z|{{{z{{{zz{yz{zz{{{z{{{{{{z{{zz{{z{z{{zyzzzzzzzz{{{{|{|{{{zzzzzz{{{{{z{{z{{{zy{{{||z|{{{zz{zzy{zz{z{{{||{zz{{{zz{z{zz{{||{{zzz{zzzz{{|zz{z|{z{{{{{{{{{|z|{{{{zz{{{{z{{|{zzz{{{z{{{|{||||{{z{zzz{{{{{{{{{{{z{zz{{{{|{{{{{zz{{{{{{{|{{{{|{{zz{z{|z{{{{{|||{{{{z{{{{{|{{{{{{|{{{{z{{{{}{}||{{||{z{{||z{|||{{|zzz{|{|{|||||||{|{{{|{{{{{{||||{|{|{{{{|{||||||z{|{{|{}|||{|||}{|{{{{|{}|{{|}{{{{{|z{{{{|{{{{|{{{{{{{z{|{{{{{||{|||{{z{{{{||||{zz{z{{{z{{||~}}~||}||}{}}}}|}|||{{{|{{{|}|||{{{{{z{|{{z{||||{}||{z|{|yz{||{{|||{{{z{zzy{z|||{{|zzzzyzzz{{z{{|{z{z{zyzz{{{{zz|{zzz{z{z{{z{|z|{||z{z{z{{zzz{{{{{zz{zzz{yz{{{zz{{{{|zz{zzz{{{|z{|{{{zzzy{y{{yz{{||{{zz{{{z{{{zz|{{z{z{{{{zz{{|{|{|{zzz{zzzzz{{{|||{{z{zz{{|{{{{{|{{z{z{z{{{{}z|}{|{z{z{{zz{{z{|{{{z{{{z{y{{|{z{{|z{{{{{{{z{}{{|{||z{{{{{{{{|{|{}|||z{|{z{{{{y|z|{~|{{{{z{{|||{|||}|z{{{{{{{|{{||{{{{||{{{{{}|}|||{}{{|{{{{|}|||||||{||{{{z{|||}||{{{{z{z{|{|{|||{}|{{{{{zzz{{|{{||{|{y|{z{|{|{|{||{{{yz{y{|{||{{|{|{{zzzz{|{{{{}}|||}||{|||}{|}}|{{{||z{{{||||{|||{{{z{{{z{z{|{{{}{{{zz{z|{{|{{{{|{z{zz{zz{z|{|{{|zz{z{z{{{{{{{{{{{{zy{z{z{y|{{{{zz{{{zzzz|z{{z|{{{yzz{zzz|{zz{{{|{zzzyyzzz{{z{{zz{{{zzzzy{|{{{{{|{zzzzz{yzz{zz{{{z{zzz{zzz{zz{{{{{{zzz{zz{{{|{z|{{zzz{zzy{||{z{|{{z{zzzz{{{{{{{{{zz|zzzyz{{{{{{zzzz{{{z{z{{{{{||{{{{{z{z{{{|{z{{|{{z{z{{zz{|{{{{|{{{zzzzz{{|||||||z{{{z{{|{{{||{|{{z{{zzz{||{||{|{z{zzz{{}|{{{|||zzzzz{{z{{{{||{||{{{z{{{|{|||{|||{{{{z{{{{|||{{{{{|{{{z{{|{|{||{|{|{{{{{{|{||||}|{{z{{zz{|{{||{|{{z{z|{z|{{||z||{zz{z{zz{{|z|}~~}}||||{||}}|||||||{{{||{{{{|||||{{|zz{zz|{z{|{||{{{zzz{z{{{{{{{{{zzyyzzzz{z{{{{{zzz{{y{zzz{zz{|{|{{{zzz{}||{{{{{yzzzz{zz{{{{{{{{zz{zzzzz{{z{{{{{zzzzy{zz{zyz|{{{z{{zz{zzz{{{|{{{zzzzzzyzy{{z{{{z{zyzzzzz{{zz{{|z{y{{zzyz{{{{|{{{{zzzzz|yz{|{z{{{{z{y{z{y{z{{{||{{z{zzzzz{{{z{{z{{zz{{zzzz|{|{{{{zzzzzzyz{zz{{||{{{z{zzzzz{|z{{{|{zzzz{zz|||{||{|z{{{{{{{{|{|{|{{||{{{zzz{|{{{{{{{z{{zz{|{||{{||{{{z|{{{{{z||||{|{{{{z|{{{|{||||}|{{|{{{z|{{{||{|{{z{{zz{{{||{{||{{z{{{{z{{{{||{|{{{{zz{{{{{{|{{{{{zz{z{{{{{{{{|{z{zzzz{{|{zz{}}~}}||}~||}||~|{|}|{z||{{{{|{||}|}|{{{{{{z{|{|||||{{zz{z{{z|{|{{{{|{{z{zzz{||z{{|{{z{zz{{z{{{z{|zzz{{z{{zz{{|z|{{|{{{zzz{z{z{{z|{{z{zzzz{zz{{z{{{{z{zz{{z{{z{z{{||{{{zy{zz|{{|{|{{{zzz{{zzy{{z{{{{z{zzz{{z|{{{|{|{{{{zzzzyz|||{{{|zzz{{z|{{|{{{{{|{{zz{y|zz{{|{|{|{{{z{{{{{||{{{|{{z{{zz{y|{{|{||||zz{{{z{{|{|{|{|{zz{zzzz{|||{||{|{z{{{z{{{|||{|{z{{{|{|{{|{|}}{||{{{zzz{{{{|{||{{z{{z{z{|{|||{||{{{zz{{||z||{|||{z{{z{{z{|{}||}||{|{zy|z{{|||||{|{{{{{{{{|z{|{||{|{{{{z{|{{|{|{}{{{{{{{z}{{|{}}}{|{zz|{z{|z{{|{|{{{{{zzz{|{{{}}|{||||||}}|{}||||||{{{|{||{||||}|{z{{{{{|{zz{{||{{||z{z{{||{{||{{{z{zz{z{{{|{{z|{{zzzzz{{|{z{{{{{zz{z{yz{{{{{|{|zz{zzz{z|z||{{|{zyz{yzzzz||{z{{{zzzzzzy{{|y{{|{|z{{zzzzy{|{{|{||zzz{zzz{z{|z|{z{{{zz{{{{z{z{{{{{{zzyz{{z{|{{{||{zzzz{z{{{}|zz{|{{z|{zz{{z{{{{||{zzzzy|zzz||{|{|{z|{{{z{z{{||{|{{{z{{z|zz{|{{|{{{{z|{{|z{{|{z||{||{{|z{z{{|||||{|{|{|{{{{{|{|||{{{z{{{{z{|||{|{|{|z{{z{{{{}|{|||||||{{||{{{{{|||||{{{{{{z||{||}||{{|{z{{{||{{{||{{zz{{{{{{||{{||{{||{|{{|{{{|{|{|z{{{{|z{z|||{{|{{|{{zz{z{||{{{|{{{z{zz{zz{{{{~~|}{||{|}|}}|}|}}||}{||{||{||}}{{|{{{{{{{{|{z|}||{{{{{z{{{|||{||{{{{zzzzz|{|{{{|||{|zz{z{{{|{{|||{z{{{{zz|{|zz{{{z{zzzzzz{{|{{|{|{z{zzz{zz{}{|{||{{{z{yzz{{{{|{{{{z|zz{{z{|{z{{{{{z|{{zzzz{|{{||{{{{|z{z{{{z{{{{{{{{{|zz{{{{{{||{{zz{{z{{{|{{{{||z{{{{z{|{|{{{|||{y{{zz{z{{z{|{{|{{{{{z{{{|{|{{|{{zzz{|{z|{{{{{|{{{{{z{z{|{||{|{}{z{{{{{{{||||}||{{|{{{{{{|||}|{||{{{{{zz{|}{|||{|z{{{{{{|||{|{||{||{z|{{{||}|||||z|{{||z|}{{|}|||{{{z{{{}||{|||||z|{|{{{{|{z||}||{{{|{{{{{||||}|{{{{{zzz{|||{|{|{|{{z{{z{{|||{{z|z{{{z{{{|||{}}}|||}||}{}}}}|}{}{{{|{{{{{|||||||{{zz|{z{|||z|||{{{zzzzz{z{{{{|||z{{z{zzy|{{{{{{z{zzz{zzz{{{{||{zzzzz{{{zy{z{{{{{zzz{{zzz|z|{{{{|zzz{|{{{{|{{{{{zzzyzzzzz{{{{{{|{z{zyzzzz{z{|z{{{{zz{zzzzz|{|{{{{zz{zzzzzz{{{{{{{{z{zzzzz{|{{|{|{{z{{z{zy{|{z|{||zzz{{z{z{{{{{{||zzzzz{{y{z{{{z||{{{z{zz{{|{{{|{|{{{|zzzy{{|{{||{{{{|zzzz|{|{z|{{{{{{{{z{{{||{||{{{{{{{|z|{{||||||z{zz{{{|{{{z||{{z{{{{{{||{|z|||{{|z{|{{{|{||||||{{|{{|{z}{|||||}{{{zz{{{||{|{||{z|{{{z{{{{{{||}|{{{{{{z|{{|{{||{zzz{|{{z{|||{{{||{zzz{z{|z|{{{zz{|z{zzz{{{|{~|~}}||}||||}|||||}|{z{z{{{||}||{}|{}|{{{{{z{|||{|{|z{||{zz{{|{{|{|||z{{{zz||||{{{||{{{{{zz{{|{|{{|{zzzz{{{{z||{{||{{{{{{z{{z|{{{{{{zzz{z{{||||{{{{{z{{{zz{{{{{{|{{z{z{zzzz{{}|{{|{z{{|{y|z{{{{{{|z{{{zzzzzz{{|{||{z{z{{zzzz|{|z{||{{zy{z{{{{{{||z{{z{zzz{{{{{|{|{}z{z{z{||{|{||{}{{z{{{z{{|}|||||{{z{{{zz{}||{{{|{{{{{{|{z||{{z{||||{{{|z{|}||}|||z{{{{{z{z||}|{|}|z{|{{zz{||||{|||{{{{{{{||||||||||{|{{{|||||{||||{z{{|{{|||||{|||{{|{{{{|z||{||{}{{{||z{{|{{{|||{{{{{{{{{|{}|}||||{{{{{{{||{{}{{|||z|z|{|||||{{|{{{{{z{{||||{}}||{|{{|{}||}}|}|}|||{{{|{|||{{|||||{z{{zz{|{|{||||z{{zyz{{{|{{{}}|z{{zyz{{{{{{||{z{{z{z{yz{||{{|z{{{z|zz{{{{{z{{{zyzy{z{yz{{{{|{{zzyz{y{zz{z{{{z{zz{{zzzzzz{z{||{{zzzzzyzz{{z{{{{{zyz{{yy{{|z{{z{{z{{zzzzz{{zz{z{{zzy{yzz{{{{{{{|yzzz{y|z{{{zz{|{{{{{yzzz}{{|{|{{z{{{zzz{zz{{{{{{zz{{zz{{{||z|~{|z|z{|{y{z{{{|||{{{{zzzz{{{{{|||{{{|z{{|{||||{{||z{z{{{|{{|{{{|||{zz{{{{z||{||{{|{y{{{{{z|||||{}||{{{{{|{|{|{||||{{|{{y{{{||{{||||{|{{z|{{|{{{|||zz{zz||{|{{{{||{{{{{{{z{{{{|{|||{{|z{{{{{|{|{{|{{|z{z{{z{{{|z||z{{{zz{{{{{{||}||||{|{{{z|}}||}}|}|z{{{{{{|||||{||{|z{|{{||{|||{|{{{{{z{zz{|{{{{{{|{{zzy{{{{z{{{|zz|zzzz{z{{{{|{|zz|z{zzy{{{zz|zz{{{z{zz{z{{z{z{{{zy{{{zz{{|{{z{{{z{zz{z{{{{{{{{{{{{zzzzz{{z{{{|{{zzzzz{zyz{{z|||{zz{{z{zz{z{{{{{{{zzz{zz{z{|z{|{z{zz{zz{{{|zzz{}|yzz{{{{{{{{{{{zz{{{z{zz|{{{{{{|{z{{{{zz{|{|z|{|{zz{zyzzz|{{{{|{{{z|{zz{{{{{{{{}{{|{z{{z|{||||}|{{{z{z|{{{{{{{{{{{{{{{zz{|||{|}{{{|z{zzz{|{{{|||zz{{z|{|{}|{{||||{z{{{{{|}|||{|}{{{{{{{||{|}|{|{|{z{{{z{|{|{{|}{{{{{z|{{||{|{||||{|z{zzz{|{z{|{|{{{z{{zz{|{||{{{{z{z{{z{{}{z{~|||||||{{{{||||||}{||{z{z{{|||{||{{|{{z{{{{{{||{||{{{{zzz{{z{|{|{|{{{z{{zz{{{|{|{{z{z{zzz{{y{{{||{{z{{zzzz|z{zy{{{zz{{z{z{{z{{{{|{zz{z{y{{{z|{{|{||zzzz{z{z{|{|{{|{zzzz{zzz|z{||{|{{{zzyzz{{zz{{|zz{{z{{{z{{{z{{{|{{z{{zzz{|{{z{|{zzz{zz{{{{{{z{||{{{|zz{zzz{{{|||z{{{{zz{{{{{{|{{{{zz{z{z{{|||||{z{{{{{z{{|{|z{|{{zz{{{z{{||||{{|z{|{{{|z{|{|||{{{zz{{{{{|||}|{||{{{{{{zz{|{{{{|{|{{{{{z{|||{|||||{{z|{|{{{{{||}||z{{z{z{{}z||}|{{{|{|{|z|{{||||||z{|z|{|{|||{|||{|{{{zz{{{|}||{{|{{{{zzz{{|{{||z{{z{z{{{{|{{|{|{{{{z{zzz{|{{|}}}{|{|||{{|||{}|||{|{{{{{{|{{{{||{||{{{{{z|{z{{{|{{zz{{zzz{{z{{{|{{zzzzzzzz{|{{{{|zz{z|zzyz|z{{{{{{z{zzzzz{{{zz{{{{zzzzzzy{{{{{zz{zzzzzzz{z{{z{{|{zzyzz{{zz{{|{z{{{z{{zz{{z{{{z{{{|zz{zzzzz{zz{{zzy{{zz{zz{{{|{{{|{y{{{z{z{{{{{|{{{zzz|zy{{{{{z{{z{z{z{yzz{z{{{|{{zzzyz{y{{{{{{{{{{{zz{z{{{{|{||z{{{{{{zzz{||{{{|{|{y|zzz{z|z{{|{z{zzzzz{z|{|}}|||{{{z{z|{|}|{{}||{{z{z{{{{{|{{{|{{{{z{z{{{{{z{{}{z{{z{{{z{|{{{||{|z|{{|{z{}{||}{|{zz{z{{{}{{{|||{{{{{{{{z{{{|{||{{{{z|{{{|{||{|||{{zz{{z{{|{|{||{{{{zzzzz{{z{{{|z{z{{z{z{{{{{z||}|||{{{|{||||}|||{||{{z{{{{||||||{{{zz|zzz{{{|{{||{{{zzz{{|{{|{|{{{{zzzzz{{{{{{{{{z{{zz{zz|{{{|{{z{{{z{zzz|{zz{{{{{{zzzzz{{zz{{{{{z{z{{{zzz{{{{{{{zz{{{zzzz|{{{{{z{{zzz{zz{{|z{{z{z{z{z{{zzz{|{z{{{zzzzzzz{{z{{{{zz{zzzyzz{{||||{{zzzzzyz{{{{z|{{|zzz{zz{{z{{{{{{{{{z|{{{z{{{{{{|{{|yzz{{z{{{{|||zzz{zzz{{|{{{{|{|z{{z|{{{{|{{|||{{z{{|{{{||{{{||{z{{|{{z{{{|{{{|{{{{{z{z{{{{{||||z{z{{{{{|{{{||{{zzzz{|{z{{{|||||{{{{{{{|}{{{{||||{|{z{z{|{||}{{|zz{{zz|{|||{|{|{{|z{zz{|{|{{{{|{{{{{z{{{{{{||{{{zz|zzz{z{{{zz{{{z{z{zy{{{|{{}}||||z{{{{|}}}{||}{|{|{{{{||}||||||{{{{{z{|{|{z{{{{{z{{zz{{{||z||{{z{zzzzz|{z{{|z{{{z{{z{{z{{z{{|{{zzzzz{z{{|zz|{{{{zzzzzzz|{z{{{{{{z{{{z{{{{z{{{{{y{{zyz{{{|{{z|{z{{zz{{z{{z{zz{|{{yy|zzzz{zz{{z{|zz{{{zyy{{{{|{|{{zzz{zzz|z{{|{{{{zz{zzz{{z{{{||{z{zz{zz{{z{{{||{yz{zz{z{|{}z{{}zz{{y{zz{{|z{{{|{z{{{z{{{{{|{|{{{{y{{{zz{{{||{{|{{{z{{{{}{{|}{{{{{z{{z|{|{{{{|{|{{z|z{y{{||{|||{{z{{||{{||||{}|{{{{z{||{{{||{|}{|{{{{||{{|z{{{|{}{||z{|{{|{|||{|{z{z{{{|||||{|{|||{z|{{{|{{{{|||{{{z{{z{z{{|{{||{{{{{zz{{||{{|{|{zz{{{zz|{{{{|}}{|}|}{|{|}|}}{|}}{||{|{{{||{{|{||}{{||{{|||{{||}{{{{{z{{z{|{{{||{{{zz{zz||{|z{||{zz{{z{z{{|{{|{{{{zz{{zz{|{{{{{{{{{{yzzzzzz|{z{|{{zzzy|{z{{{{{|{{{z{z{zz{||{{{|{{{|{zzzz{{z{{{|{zz{{z{{{z{{{{{|z{{{zz{zz{|z{{|||z{z{z{{zz{{|{{{||{zzzz{z{||{||{|{{{zz{{{{{||{{{|{{|{zz{{{{|{|{|{{{{{zzz||{|||||{{{z{z{{{{|||{{|{{|{z|{|{{z{||||}|{{z|z{{||{}|{{{{{{{{{{|{|||||}||{||{{z{||||{||{|{{z{{|{|}{||{||{{{{z||{{{{{{|||{{z{|{|||}|||{{|{{{|{z{z{|||{|||{{{{|{z{{||{|{}|{{|||{{{|{||{}{|{{z{{{|{{|{{||}|{{{{{z|{|{||{||{|{{y{z{{|{|||}}||||{|{{{{}|}{||}{{zz|{{{{{|{|{|||z{{{{{{|{|{{|{|z{{|{z{z{{{|{{{{|z{{{{zz{{}||{{|z{|{{{{{{{{{{{{{{zzzzy{z|z|z{{{{{{{zzz{zz{z{{|{{{z{zyz{z{{|{{|{{{z{{z{z{{z{{{z{{zy{zzzz{{{|{||{|z{z{{zz{{zz{z{{zz{{zzzz{zz|zz|{{{zzzzzzz{{{z{{{{{z|{{zzz{|{{{{||{z{|{z{z{|{|z{||{{{z|zz{z{{{|{{{{{{|{y{{{{|{{|{|{zz{{{{{{{|{{|{{{{{{{{z{{|{{{{|{{{{{zz|z|||{{}{|z{zz||{{{{{{{{{{{z{{{{{{{||{|{|{|z{z{{{z{|{{|}}|{{{{z{{{{|{{|{||{zz{{{zz{||}|||{|z{{{z{{|{{{||{||{{{zz{|{|{{|{|}|{|{{zz{{{||{{}}|{z{z{{{{{{{|||||{zzz{{z{|{|{{{|zz|z{z{{{{{|||{||{{{|{{||{|}{{||||{{z{{{|{|{|||z{{{{{{z{||z{{|{{{{{zz{z{{{|{{{{{{{{{z{{z{{{{{{|{{{{z{z{z{{|{{{{{z{z{zzyzz{{zz{{{z{zzzz{{{{{{{{z|zzzzzzzz{{{z{z{{{{z|z{{{{{{{||z{{z{{z{{zz|{{{z{{zzz{y{{zz{{y{{{{{{zzzzzyzz{{{z{{|zzzz{zz{{{{|||{{zyz{{zzz{{z{|{|{{z{zy{z{{{{z{{{zzzz{z{z{{{{{{|{{{z|{z{zz|{{|{{{|{{z{{{{{{|{{{}{{{zzz{{z|{{{{|{{{zz{{|z{{{{|||||{|{{zz|{|{}{|{{}{{z{{{{z{||{}||{|z{{{{{{z|||{|||{z{z{{|{{|{{||{||z{{z{{{|||}}|{|{z{zz{|{{||{|{|||zz{{{z{{{{{|{||{{z{||{{|{{{|{{{{z{zz{zz{|{{|||}{{zzzzzz{{{{{||{|zzz{{{z|{{{{{|||||}|z{z||}{}}{||z{||z{z||}|{}||z{z{{{zz|z{|z||{{{|zzzz{{z|{z{|{{{{zy{{z|{|||||{{{zz{z{zz{zz{{{{{{z{zzzz{{{{z|{{{{{{z{zz{{{{{{{{{yzz{{{zzz{{|z{z{z{{{zzzz|{{{{|{{zz{y{{zz{z{{|{{{{z{{{zzz{{z{{{||z{z{z{{z{{z{||{{zzz{z{z{{{{|{{{{zzz{{yz{|{{{||{{{{{{z{{|{{|{z{{{zz{{{{{{z|z{{|{{{{z|z|zz||{{|{{{{{{|zz{{|||{{||{z{{{{{{|{{|{||||{|z{{{{{{|||{}|z{{|{{{|{|{||{{|{{z{{{zz{||{|{|||{z{{{z{||}{||}|{|z{{{||{{|{|}||{{z|{|{{|}}|{}|}||{{{{{|||{|||{||z{{{|z{{{{{||||{|{||{z{{|{|z{|}|{{z{{{{|||{||}|||{{{z{z{|{|{|||{{|zz{zz{z{{|{}{|||{||{{{||||{}|z{z{z{|{{|{{{}|}{}{{z{{z|{{||||{{z{{zz{{{{{|{{{|{z{z{z{z{{{{|||{{|z{zz{zz{{z{{z{{{{zyzz{{{|zz|{}{z{{{zz{|{{|z|{{z{{z{zz{{{{{{{|zzzzy{zz|{{{{{{||{z|z{{z{z{{{y||{{z{z{y{{{{{{{{{|{{{{{zz{z{{|z|{zz{{y{z{yzzz{{|{|{z{z{{{zzz{{{{{{z{{{zzz{{{{z{||{z{zz{z{zzz||{|||{{zz{z{{{{{|{|{|{{{{zz{|{||{{{|{{{|z{z{{|||{{{||{{z{{zz{{|{||{{|{|{{{{{{{}{|{|}|{|z{z|z{{||{{}|{{{{{{z{{{|||||||{{{|{zz{{{|||||||{{{{|{{{||||{}{|z|}{{|||{}||}{{|z|{{{{{{|||{{|}{|z{|z{{|||||{||{{{{{{{{{{{||||{|{{{{{{z{|||{{{{{z{{{zz{|{||{{}|{||{zz|zz||{|}||{{z{|yzz{{{z|{||{{{z{{{z{|{|{||{{{y{zzz{z{zz{z|{{y{yzzzz|z{{z|{{{{|{zz{zzz{{z|{{{z{zzzzz{{{{{|z{zy{zyzzzzz|z{{z|{zzz{zzzz{|z{{{z|yzz{zzzzz{{|{{{{yz{{z{z{{{{{{||z{zzzz{|z{{zz{{|zzzz{z{z{zzz{|{|{z{y{z{z{|{{{{{{{zzz{zz{{||{{|{{z{z{{z{{{{{{{|{{{{{y{{{{z|{{||{|zzz{{z{zzz{|{{{{|{{y{zzz{{{{{{}{zz{z{{{z|{|z{{{{{z{{||{{|{|{|||{{{|z{zz{|||{|||{{{{{{{{z{||{||{{|z{{{{{{||{|{{||{z{{z{{{{{{|||{{|{{|{{z|{||{|{|||{|{{{z{{{{|||{|{zz{{zz{z|{{{{||{{{{|{z{{{|{{{{|zzzz{{zzz|}}{{|z{{z{{{zz{||{z||z{{z{{y{z{{|{z|{|{{{{{{{{|||{{|||{zz{{z{{z{|||{|{z{{{{zzzzzz{||||z{{{{zzz{|{{z{||{{zzzz{{{{z{{|z|{zzzyz{yy{{{z}|{{{{zzz{{{z{{{|zz{{zz{{{{{z{{{{{{z{zy{zy{z{z{{{{{{zzzz{z{||{{z{{{zz|zzz{zz{|z|{{z{|zzzz{z{z{{{{{|z{{yz{yz|{|{{{{{{z{{{zzy{{{{z|{|{z{zzz{{{{|zz{z|{{{zzzz{{{{{z{{|z{{y{zz{{{{z|{||{{{{z{z{z|{|{{|{z{{zzzzz|{{|{{{||{z{zz{{{|||{||{|{{{{{{z{z{{||||{{{{{z{|||{||}{|{{z{{{z{{{||||{||{{zz{z{|||{|||||{{{z{{{z{||{{{{|{{{z{z{{||||{|||{{{z{{{|||{|}}{{{{{{{{{{|{||{||{{z|{z{{||{{{{||{|{zzz{y{{{||||{{{z{z{{z{||{|{{|{zzz{|z{{z|{{|||{{{z{{|{||z{{||{{{{{{{{z{|{{{z||z{z{{|z{{z{{{{||{{yz{{zz{{{{{{{|{{{yz{zzz{{zz|{|z{{y{z{zz{{{z{{{|z{zyzy{{{zz{{{z{{zzzzzzzz{|{|{{{{{zzyzz{{{{z{||{{{yzzz{{z{yz{{|z{z{{zyz{z|{{z|{zy{zz{{z{zz{z{|z{zzyzy{{z{z{{zz{zzzyz{zz{{||{z|{{zzz{zzzz{{{|z|{z{{zzzzz{|zz{{{{z{{zz{{zz{z{||{{{z{zzz{{{{z|z|{|{z{z{{{z{|{{{{|{z{zzzz{{{{{{{|{{{{{{{{y|{z|{{{||zz|{{{{{|{z||{||{{z{{{{z|}|||{|{{zzz|{{{|}{{{{{|{{{z{{{{|{||{|{{{{{{{{zz|}}|}{{|{{{|{z{|{{|{|z{{z{z{{{{{{{|{|{|||{{{z{zz|{||||{{{z{zzzzz{|{{|{|{|z|{z{{zz|||{{{{z{zzz{{{||{|{}{}{{{{z{{{{|{}{|||||{|zz{{{|{{}{{|{{{{{zz{{{z{{{|z{{z{zz{z{{{{{{|{{{{yz{zz|{{{{|{|{{zz{|{zz{{z{{|{z{{zzz{z{{{zz{{{{{zy{{zz{{{{z{{{zzzz{{{z{z{{z{{{zzz{{{y{{z|{z|{z{z{{y{z{z|{|z|{{{zzy{zzz{z{{z{z{|yzz{zzz{{{{z|{{zyzzzz{y{z{{||{{{z{zzzzzz{{{{{{{{z{{yz{z{{{{z|{|{{z{{{z{{{{z{||{zz{z{{zzz{{{||{{|{{z{{z{{{{{{{|{{{zzzz{{|{z{z||{{{{|{{z{{||{||{|{z{{|{{z{{||{||{z{{{zz{z{{|{|{|}|{{z{|{||{||{{||{{zz{|{{{{||{{||{{z{z|{z{|{|{|}||{{{{{{{|{|{{{{||z{{{{{{||{{{||{{{{{z{{{{||z{|||{{{zzz{z{{|{|{||{|{{zz|z{{||{{||{{{zzzz{{{{zz|||z{zz|{{{z||{{||}{z|zzzzz{z{{||{|z{{z{{{z{{|{{{|{z{{y{z{{{||{{{{{{zzyz{{z|{{{z{{{{z{z{{{z{||{{{|z{zz{{z{z{{|{z{|{zz{zx{zzz{{{{|{|{{yzzyzzzz{z{{{{{z{zzzyz{||{{{z{zy{{z{z{{{|{{{{{{{zzzy{z{{{z{{{|{zzzzz{zz{{z{{|zzzzz{{yz{{{{{z|{{z{{{zzz{{|{{{{{|{zzzz{{{z{{{{{|zzyz{zz{{{{{{{{|z{z{zz{{{|z||{{z{zzz{{{z{|{{{|{{zyzzz|z{|{{{{|{{{{|{{zz{|{|{|{||{{{{z{{|{||{|||}{z{{{zz{{|{{|{|{|z{{{{{{{|{{{{|||{{{{{|{|{|{|{|{|{|{{|{{{{||{|{||z{{{{|z{{{|{||{|{{{|z{{{|{|{|{{|{{z{zz|z|{{{|||{{|z{{{{{|{{|{|{|{z{{{z{z||{z{|{z|{{z{zz{{|{|}}{{{{zz|{{{|||{|}{{{{|{{z{|{|{||||{|{{||{z{{z{|||{|{{z{yzy{|{|{{}{|z|zy{zz{|{{{{||{|zzz{{z{{{z|{|{{{z{z{{z{{|{{|{{zzzzz{{{{{{|||{|{{{{{|zzz{{{|||{{z{{{{yz|{{{z{{|{{{zzz{z|{{{|{{|{{z{zzz{{{{{z{{{{{{z{zz{{{|{{z{{{{z{z{{z{{|{{||{|{zz{{zyz}{z{{}|{{{z{{z{{z{{{|{||{z{{{{z{|}|z{{{{z{z{z{{{z{|{|}z{z{{{z{{|{z{{{{{{z{|z|{{||{||{{|{||{{|z{{|}|{|||{{|{|zz{{|{{|{||||{||{|{|}|}|||{|{z{{{z{|}{||||{{{{{{{{{{}}|{}|}|||{z{|z{}|}||||{{||{{{{{|{||}|}|{{{|{{|{{{{}||||||{{{{{{|y|||||{|{{{|{{{}{{||||{{{{{{|{{{{|z{||{{{y{{{z{{|||||}{{{{{{{z{|{{||}}|{{{{zz{{{|{{||{|{{z{{|{{|{{{{||{|{{{{z{z{{|{{|{{{{zzz{z{|{|{|{|{z{zzz{zz|z{{{{{|zz{|{{z{{{{{{{{z{{z|{z{|z{{{{{{{zz{zz{{{{{|z|{{{zz{{zz{|{{{{|||{z{{zz|z{{{{{{|{{yz{zy{zzz{z|{{||z{{{{zz{{{z{|{{zzz{{zzy{}zz{||{{{{zzzzy|{{{{|||{zz{zz{z|{{{||{{{{z{zzz{|{|||||{{{|z|z{{{{z|{|||z{{|{{{|{{{{{||{{{{|{{|z||z{|||||{{{|{{z{{||||{}{z{{{{||{{|||}||z{{{{{{{|||||{|z{{{z{zz{||{{||}|{|{{||||{|{{}|||||{{{{z{||||{|}||{|{{{{{||||{||||{{{{|{{||||{|}|{{z{{|z|||{||}}|{{{zz{{{{|{{|{}|{{{{{zz{{{{|{||{z{{z{{zz{||{{}||{|z{z{{z|{||||{{z||{z{z||||{||||{{{{{{z{{{{||{|{{z{{{{{z{{||{{||{|y{{z{z||{|{|{{{z{{{z{z{||{{{|||{{|{{{z{{{{{{{{{{{z{z{z{{{z{||{zzyzzz{z{{{{{{|z{z{zz{zz{{z{{{{{|z{{zyz{z|{{{{{{{{zzzzzzz{{z{{{{|{zzzz{zz{{{z|{||{z{{{zzz||z{{||z{{z{{zz{{{{{||{|z{zzz|{{{|{{{||zzzzzz{zz||{{{{{{z{{{z{z{|{{||{{zz{{z{z{{|z{{||{{zz{{{z{|||{{|{}{|{{{{{{{{|}{}||z|{{{z{{||{|{|{|{{{|{z{z|||{{||{|{{{|{{{||||}{|||{{z{{|z|{{z||{||{|{{{{{|||||||}{{|{{z|z{{{{{|||}{{{{z|{|{||{||{zzzz|{{z|{{{|||}z|{{{{{{{{{{{{}|{{{{z{{{{||||||}{{{{z{{{{{{{{||{{{{{{{{z{||{|{{|{{{{z{z{z|{{z|}|{{{{z{z{||{z||||{{|z{zz{|{{{{{{{z{{zz{|z{zz|{|{{{z{{zzzz{{z{z|{{||{zzz{{|z{{z{{z{z{z{|z{|{z{{|{|{z{{{zzz{{z{z{|z{{zzzzzzz{|z{{{{{{z{{zzz{{{{zz{{zzyzz{zz{z{z{{zyzzyzzzzzy{{zz{{{{z{zz{zz{{{{{z{{{{{z|zyy{{|{{{{|{{{zzzzz|{{||{{{{z{z{zzz||{{{|{|{z{z{zz{||{{{|{{{zz{{zzz|{|{{|{{zz{{{{{{{||{{|||{{{{{}z{{{|||{||{|{{{{{{{{|||||}|{{|{{zz{||{|||||zzz{{{z{||||{}|{{|{{{{{{{{{{|||{{{{|{{{{||{{||}{{|{|{z{}|{|}||{{{z{z{{|{||{||{||{{{|{|{{||{{||}{z{{{z{z{|{||||||{|{|{{{{{||{{||||{zzz{z{||{{|}|{{{{|||{{}{{|||}|{{z{|{{{{{||||||{|{{|{z|{{|||{{|{|{{{z{z|||z{|{{{{zzz{z|{{|||{||{{{{{{z{{zzz}||{{{{z{{{z{z{z{z{{zzzzz{{{{{{{{|{z{{z{{{{||{{{|{{{zz{y{{{{{|z{{|{{{{{zzzz{{{|{|{|{{zzzz{z{{{|{|{|{zzz{{{{z{{{|{|{{{zzz|{z{{{z{{|{{{{{{zz||z|{{{|{z{|z{z|{z|z{{{||{{{{zz|z{|{|{|{|{{|{|{{{z|{|{{{{|{{z{|{z{{|{|||{|zz{z{{z|}||{|{||{{{{{{||||{|{|{{{|{{{|{||||||{|}{{{{{{{{}|{|{||{{{{{{|z||{|||||||{z{{{|{|}}||}|}{{{{{{{|||}|{||{{}{{{{||||{||||{z{{{|{|||}|}|{}|{z{{z{z{{|{|{|{{||{{{|{{{|{}||||{{|z{{{{|z|{{}{{z{{{|z{{{|{||||{{|{{{|{{{|{{||}{zz{{zz{{|{{||||{{z{{{{z||||{||z{zz{{z|y|{{|{|{{{{{zzz{z{{|{||{|zz{z{{{{{{{zz{{{{|{z{zzz{{{zz{{}{{{zzzz{{{z{{{z{{zzz{zyzz{{{z{|{zzzz{yzz{{{{{{{{zzzzz{zzzz{{{{|{z{{yzy{y{z{z{{|zz{zzzz{{z{|y|{|{zzzz{z{z{{{{{{{{{{zzzzz{{{{{|{{{|{zzz{{zz{{{|{{||{{zzz{{{{{{z{{{z{{{{z{z{{||{{{||{zz{{zzz||z{||||zz{{{z{|{{{{{{|{{{{{{{z{{{||{}{{z|{{{{z||{||{||z{||{{||{||{|||||{{{z{{|{|||{|{||||{{{{{{|{|||{||{|{{|{{||}}||}||{|z{{{|{||{||{{|zz|z|z{{}|{||{}{z{{{{{{{{{}{||}{|{{{{{{z{||{|{{z|{z{z{{{{{{{||{{z{z{{zz|y|{{|{|{{|zz{{{z{{|{||{{zzz{{{z||{|{|||z{z{z{z{{{||{{{{{{{{zz{z{{|{z{|{z{{zzzzy{||{z|{{{{zzzy{z{{{zz{{{{y{z{zzz{{|z{{zzz{{yzzzzz{{{{z{|zzzzzzz{{y{{z{{{{z{zzzzz{{{{{{{|{zzzzzzzzzzz{{{|z{z{zz{yz{{zz{{{{yzzzzzzzzz{z{{{zzzzzzy{zz{{{{{{zzz{zyzzz{{{z{{}zz{{zzzy{{{z{{|{{z{zzzz{{{{{z{{{{{{{zzz{{||{{|{z{z{{{zzz{{{{|{|{{{{{{zz{{|{{{{{|z{{z{{{{{{{||{{{{{{{|{{{{|{|{}||z{z{z{{{{z{||||||z{{{z{{{|{|{{||z{y|{||{z{|{|{{|{zz{{{{{{{||||{|{{{|{{{|{|{|||{{|z{{{z{{z{|{|{|{||z{{z{{|{|||{|{{{{{zzzz{{|{|{||z{{zzz{yz||||{||{z{zzyzzz||z{|||{{{y|{z{{{||z{{|{yz{zzz{{{{{{{{|{{{zz{{z|{{{{||{z{z{zzz{z{{{{{{{{z{z|{zz{z{|{{{zz{{y{z{z{{{{z{||zzzyzzyz{{zzzz{{{zzzzzzz{{z{zz{{{z{zzyzzz{{{{{{{z{zzzzyzz{{z||{|z{{{yyzzzzz{{{{zzzzz{yyyz{z{z{z|{zzyzy{z{{{{zz{{zzzzz{zz{{|z{{|{{zzzzz{zzz|zz{{zzzzzzy{zzzz{{{{|z{{zz{zz{||{|{|z{z{z{{{zz{{z{|{{{z{{z{{{{{{{{{|{{{y{{zz{{{{z{z|{|{z{zz{z|{|{{|{{{zz{{{{z{|{{{{||{{{{zzzz||}{{|||{z{{|zz{{{||{||{|z{z{{{{{{|||{{{|{zz{{}z{{|||{|{{{{{{{{{|{{|{|{|{{z{z{z{|{{|{{{||z{|{|{{{{{|||||z{{yzzz{z{{|z{|||{{zz{{{{|{{{{{{{{zzzz{{{|z{{}}zzz{|{|{yz{{|{{{|{{{z{{z{|||{|||}|{z{zzzz{{{{|{|{|{{{yzz{{zz{{|{{{z{{{zzz{||{{|{{{{|{z{{z{|{|z{{{z{{zyzyz{{{z{{{|{z{{z{zz{z|{{{{{{zzyzzzzzz{z{{|{{zz{zzz|{|{{|{{{{{{{zzzzzz{{z{|{zzzzzyyz{|{{{{z{|{z{{zz{z|{{{|{{y{{z{{{{|{{|{|||z{z{{z{zz{{{|{|zy{z{{{{{{{{z{}{|{z{{z{zz{{|{|{||{z{{{{{z{|{{{|z|{z|zzzz{|{{{{{{{{|{{{z{z{{|{{|{{{z{{|{{{{|{}|{z|{{|{{{{{{||}|||}z{z{{zz{{||{{}||}z|{||{{{|||||||{|{{{{{z{|{z{{{}{{{{{{{{|}||{||||{|{|||{{{{||||{|z{{{|{{|||{{{|||zz{{z|{|{|||||{{{{z{{{{{|{{{{||{{zzzz{{{{||{{z||{{zzz{z{{{||{|||{{z{{zz{|{|{|{|{|{z{{zzz{{{{||||zz{{zz{{||{z{|{{yz{zzy{{{||z{{{{z{{{{{{zz{{z||{zz{zzzz{zz{{{||{{{{{{zyy{||zy{{{{{{zz{yz|zz|{{{zz{zz{zz{z{{{{{{{zzz{z{zzz{{{{{{{z{zz{z{{{{zz{{||{zy{z{zz{z{z{|{{{zzz{zzzz{{|{||zzzzz{{{z{{{{{{{{zz|{{z{z{{{|{{{{zz{|zzz{{{{{{{|zzzy{zzz{|{|{|{{|{z{{{zz{{|{{{||{z{z{z{{z|{{{z{|{{zy{{z{{{{{}{z{{{{z||{{{{||}||||z{z{z|z{{{|||{{|{z{|zzz{||||{{|||{|{|{{{{|||||||{z{z{{{{z{z||}||||{{|{z{|}{||{|||{{{{{{y|{||{||||{|{{z{{|{z{||||{{|{{{{{|||{}|||{{{{z{{{z|{{{|{{{{{{{|{{||{{z{||{{{z|y{z{||{{{{|z|{{{{{y{{{{{{{|{|zz{zz{{|||{|{||{{{z{zzz{{z{|{{{zz{{{{z{|||z{{{{{zzzzzz{{{z{||{{z{{zzz{z{{{{z|z{z{|zy{z{z|{z{z{{zzzz{zzz{|z{{{{zzyz{yy{z{{{z|{{{z{z{zz{z|{{|{{|z{zzzzy{{{z||z}{zz{{{z{zz{{zz{{z{{yzzzz{{{{{{|{{z{{z{zzzz{{{{{|{{{z{z{zz{z{|{z{|{z{{{zzz{{{||{z|z{{{{{z{z{{{{{{{{z{z{z{{{||{{{{{{{{{z{{{{{|{{{{|{zz|z{zz{|{{|||{|{{{|{{|{{||||{{z{{{{{{{{{{||}}{|z|{{z{{||{||||||{{z{z{z||{{||{|{{|zz{{{{{|{{||||{{z{{{{{||||{}||{{{|{{{{|{||||{{{{{|{z{{{{||{||z{|z||{{|{||{|||{{{{{z|z|{|{}|||{{{{{{{z{{{|{z|{{{{|z{{z|{|{{|{{|{zz{{z{||{z{|{|{{{{{{zz||{z{{{{zzzz{|{zz|z{||||{{z{zyzz{{{{{|{|zz{zzyz{{{{{{|{{{z{{z{zz{{{z|{{{{{zzy{zz{{|{{{{{zy{zzzz{z{|{|{{{{{zyy{zzz{{{{{{{{y{{zzyz{{{z{{{{zz{zzzyzy{{{{{{|z{z{zzzyz{{{{{z{{{zzzz{zz{{{{{z|{{{{{zyyz{{{{{{{|{zzyzz{{|{|z{{{|z{zy{z{{{|{z{{|{z{z{zzz{z{{|{{{z{z{{zzzz|{|{z{{{z{{zzzz|{{{{{||{z{{|zzz{|{zz{||{|zz{z{{{{|{{||{{{|{z{{z|{{||{{{|z|{z{z{|||||{|{|{{z{{y{{{|{{|||z{{z{{{{z|{{{|{{|{{{{{z{{|{|{{||{z{{{zz{||||{|{||zz{|{{{||{|{{|||{{{{zz{{|{{{||{{{{{z{z|{{{{{||{{{z{z{{z{{{{{{||{z{{zz{z{{{{{|{{{{z{z{zz|{|{{{||{{{z{{z{{{{{|{{||{zzz{zz{|{z{||z{{{z{{zz{{|{z{z{{{{zzzzz|{{|{{z|zzzzzzzz|{{z{{{{zz{z{zzz{{{zz{{zzzzzzzzz{z{{{{{{z{zyzz{{{{zz{{||zz{zz{xz{z{{z{|{{{{{zyzz{{{{{{{{zzyz{z{x{zz{{{z{z{zzyzz{z|zz{|z{z{{{{yz{z{{z{{|{zzz{zz{z{{{z{{z{zz{{zz{z||{z{{{{|y{zz{{{z{|{z{{zz{{zzz{zz{{{{|{zz{{z{zyz{{|{{{{|{zz{zzz|{|{z||{{{{{z{z{{{{|{{||zzz{{{z{{{{{|||||{{z{{{{{{||{|{|||zz|{z|z{||{{||{{{|{{|z{{{{|{{{||{|{{|zz{}{{|||||{|{{z|{{{{|||{|{y{{|{{z|{zz{|||{zz|{{{{|{|||{|{z{zz{z{{{{{|{|||{{{z{z|z{|{{{{{{z{zz{z|{{{{{{{{{{{{{{{{z{|{{|||{{{z{{zyz|{{{{|||{||{{zz{{z{{{||}{zz|{zz{z{{{{{{|{z{yyzz{{{{{{|{{z{{z{z{{{{z{z{{|{z{zz{z{|{{{{{{zz{{zzzy{{zz{zz{|z{z{zzzz{|zy{{{{{z{{yzzz{{{z{{{{{z{z{zyz{|{{z{{{{zzzz{z{zz{zz{z{zz{z{zzyz{|zz{|z{zz{zz{zz{{zz{|{{zzz{y{{{{{{{{{z{{zyzz{zz{}z{{||z{zz{{zzz|{{z{{z{z{{zy{z|{z{z{{{{{{z{zzz{||{|||{{{zz|z{{|{{{|{{{{{zz{{zz{||||{||{{|{{{{y|{{|{{}||{z{zzyz{|{|||{|{zzz{{|{{{{{|{{|{{{{{{{{{|{{||}||z{{{zz{{|}|{||{{{z{z{|{|{||{}|{|{{{z{z{z{|{||}||{{{{{zz||{{|{||{{|{|{{z{||z{|{{{{{{{z{z{}|{{||{{{{zz{{z{z{z{|{{{|{zz{z{{{||{{{|{z{|z{zz{{|{{|}{{zy{z{{{{{||{|||z|{{zyzz{||{{{|{{{{zzzzz{z{{z|}{{{{{zz{{z{{z{{|{{{{{zz{{{{|z{{{z{zz{zzzz{{|{z{|{zyzyz{{{{z{{z{{|yz{zzzz{{{{|{z{}{{{zzzz{z{{|{{||{zzzz{zzzz{{z{{|yzzz{z{z{{{{{|{|{z{{{{z{|{{}{{{{{{zzzzzz{{{{||||{z{z{{zz{{{{|{|{zz|zz{|{{{{{||{{{z{|{yz{{{|{{{{|{{{z{z{{{}{{{{||{zz{|{{||{{|{|{|{{{z{{{{{|{{||{zz||z{z{z}}{|||{{{{z{{zz{|}{|||{{{z{z{{z{|{|z||||{z{{z{{|{{z||}|||{{|{{{{||}||||}{z{{{{|z|{{|||}|{{{{|{{||{{|{|||{{z{{{{{||||||||{{{{z{|{{|{{{{}{{{zz{zz{{||{|{||{{{{{z{z{{{{z{|{{z{{z{zzz{|{{{{{{z{{zz{z{{{{|{|{|zzzzzzz|{{{{{{{{zzzz{zz{|{{zz{{{{zzy{zz{{|{{{{|{z{zzy{zz{{{z{zzzz{{yzzz{{zz{z{{{yyz{zz{zzzzz|z|zyzzzyzy{{{{z||{{z{zz{zz{{zz{{{zzzzzyz{z{z{{z{{{{{zzyzzz{z{{{z{{{zzzz{zz{{{|{{{{zz{{{|zzz|{{{|{{{z{z{z{{{{{{|{{|{{|z{zzzzz{{|{|{zz{{zz{z{{|z{{|{{z{z{y{{{{{||{{{z{z{zz{zz{{zz{||{{z{z{z{{{{{{{{{zzzz|{zz{{{|{{{|z{z{{{{{{{|{{{||z{{zzzzz{{{|{|{{{z{{{{zz{|z{||{|{z{z{{|{|||{{||{|z{{z{{{{|{|{{||{z{|z{{{||||{{|||{{{{z{|{{{{|||||zzz{{z{{|||z||||z{z{zzyz{{|{|{{{z{{{z{zz{z{{{||zzzzzz{{{{{{{{{{{{zzzzzz{|{|{{{|z{{{z{zz{{{{}{{{z{yzzz{z{{z{||||{z{zzyzz{{{{z{|{zz{zzzzz{z{{z{{||z{{zyy{zz{||{|zzz{yzz{zzz{{z{{z{{zyzzzz{{{{{{{{zz{zzyzz{{{z{|{{z{{zzzyz{{{|{{{{zz{yzzz{z{z|{{{|zzzzzzzz{{{zz|{{zzzz{{zzz{zzz{{|y{zzzzyz|{{z{{|{{zzzzy{{{{|{{{|{zz{zz{zzz{{z{{{{z{zyy{z{z{|{{{z{{{{z{z{zz|{{|{|{{zz{z{zzz|{{{{}{{zzz{{zz{|z|{{{{{zzz{{{{{{{|{|{{{{zzz{{z{{{|{{|||{z|z{{z{z{{{|{{{z{{zz{{|||{{}|{{{{z{{{{{||||{{||{{{{{{{|}||||{|{z{}{zz{{||||||{zzzzz{z|{{{||||||{{{z{z{{{||{||{{zz{{{{{{{||{||{{z{{zzz{{{{||{{{zzy{{zz{|{{{{{z{z{{z{{z{z{{zz{{{{{z{zyy{{{{zz|{{{z{zzz{z{{z{{|z{z{{zzzz{zz|{{z{||z{zz{zy{zz{{{|{{zzz{zz{y{zy{|{{{{{zzyz{z|{{{{z{zzzzyzy{zzzz{zzzzzzzzz{z{{{z{z{{{z{zzzyzz{|{z{{{z{zzz|z{{{z{{{{z{zzy{y{zyzzzz|{{zzzzz{z{z{y{{{z{{yzy{zzzz{{{{{{{{zzzzzzzzz|{{z{{{zzyzzzz{{{{{z{|{{zzzzz{{{{{{||{{{z{{y{zz{{z{{{{{zz|zzz{{{|zzz{|{|y{z{zz{{|{z|{{{{{zzzz{{{||{|{{{|{zz{{{z{{}{{|||{{{{{{z{|{{|{{{{z{z{{{{{||{{}|{{{z{{|{z{{{|||{|{zz{{|{z{}{|{{|{{z{{y{z{{{{{|{{{|z{|{zz|||y{z{|||{{{{zz{{{{|{{||{{{z{{z{{{{{{{{{||{{zzzz{||||{zz{zzz{y{{{|{{{{z{{{{{{{zy{{{{{{{{{zz{{zzz{{{{{||{{z{yzz{z{{{{|{||z{{{{z{zzz|{{{{{{y{zzzzz|z|{{{{|z{{yz{{zzz{z{|z{{zzzzzzzz{zzz{{z{zz{{yzz{{z|{z{{z{zz{zzz{{{{z{|zyzzzz{y{{{{|{|{{{z{zzzyz{z{|{{{{{{{zzzzzzz{{{|{zzzzzz{zyyz{{z|{{zzz{z{zz{{{z{{{{zz{yzzzyz|{zz{{{z{{yyzz{{{{z{{{|zy{{zz{{{z{{|{{{zzy{zzzz{{{z{{z|zz{{zz{{{{|{z{z{z{z{{zzz{{z|{z{{{{{{{{zz{{{|{{|{{{{{|{z{{{{|||||z{z{zz{z||{{{||{z{|zz{{z||{|{|{{|zz{{{|{{|{{|||}|z{z{{{z{|{z|{|{|z{{z{{{|||{{{|{{z{{zz{{{{{}{|{{{{{{{{zz{{z{{||{z{z{{{{{{{{{{{{z{{{{y{{z{{{{{{{z{{{zzzzz{{|{z|{{|zz{{z{z{{{||{||{{{{{zz{||{|{{|}{z{{z{{zz{|{{{|{{{{{{z{zz{{|{{{||z{{{zzz{{{{{|z|{z{{z{zz{{{{{|{z|{z{{zzz{{{z{{{{{zzzz{z{z{{{{{|{{z{{|{{{{z{{|||{{{{zz{yz|z{z{{{|{{{zz{{{z{{{{{{}{zyzzz{{z{{{{z{{{{{{{z{z{{{z{{|{zzzz{{{zz{z{{{{{{z{{z{{y{{z{|{{|y{{zyz{{{{zz{{{{{z{z{{{{{|{{{{||z{{{{z{zz{{|{||{{{{{{{zz{{|{{{{{{{{|{{{{{|{{||{|{{{{{{{z|z||||}|{{||z|{{|||{|}||{{{{{{z{{{|{||{{{{{{|{{z}}{|}|}|{|zzz{||{|{{|{|||{z{z{{{z|{}|{|{||{|{|{|{|||{||{{{{z{z{{{|{|{||||{{|{z{{|||||{||{{|z{{{{{||{|{}|z{z|{{{z{|{zz{|||{{{{z{z{{|||}{|{|{z{zzy{||{{{|{zz{zz{{{||{{{}|{{zz{{zzzz{{{{|{|{z{zzzzz{{{|zz{{{zzzzz{z|z{{{{{{zy{zzzzz{{{z{|{z{y{zzzzz{|{{z{{zz{{zzz{zz{zzy{{{zz{zzyy{{|{{{{{{z{{zyzz{{{{{{{{{{z{zzzz{z{z{{{||{yzz{zz{{{zzz{{{yz{yzyzy{{z{z{|{yzz{z{zz{{{z|{{|{zzz{yzz{{{{z{|{zzz{zzz{{{{||{{|zyzyzz{z{|{{z|{{{{{z|zzzz|z{{{{|{{{z{zzyz{zz{{|{{z{{{{z{{|{{{{{{{zzz{{{{{{{}}||{z{{z{z{{{|{|{||{{{{{{{z{{{||||{{{z{{{|{z|{||{{||{{{{z{|{{|{||{{|}{{z{{{{{|||||||||{|{z{{{|||{}||{{{|||z{{}{}|||||{z{|{{|{{{|||{|{{z{{|{{||{|{|{||{z{zz|z{{{||||{|{{z|z{z{|{{z||{zz{zzzzzz{{z{{{{{zy|{xy|{zz{{|{{zzzzz{{z{{{{{|z{zz{zyyzz{{{{{{zzzz{zy{zy{zzzzzz{zzy{zzzy{{{z{{zz{{y{yzyzz{z{{z{|yzzyzzzzz{z{z{{zz{zzyy{z{z{zz{{zzzyyzzyzz{{z{{{z{{{zyyyz{zzz{{{{zzzzz{zzyzzzz{{zzz{yzyzzz{zz{{z{yzzzzzzyz{{z{z{z{zzzzzzz{zz{z{{{z{{{yzzz{zz{z|{{z{{zy{zz{z{{zzz{z{{zz{zzz{{|{{{|{zz{{zzzz{{{{||{zzzzzzzzz{|z{{{{{{z{{{z{{|z{{||{zzzz{{{{|{{||||{{{{{z{{z{|{{|{{{|zzz{{{{{|{|||||{z{{z{z{{{{{||{{{z{{{zz|{||||{{}{{|{{{{{{|{{|{{|{z{z{{{{{{{{|||{{{z{{zy{{{{|{{{{|z{{{{zz{|{{z{||{z{z{{zz{{z{{||zzz{{z{zz{||||{z{{z{{z{{{{z{z{{{|zz{z{zyyz{{{{{||z{{zzzzz{{zz{{{{{z{zzzy{y|}{{{{zz{{yzz{y{z{{z{{|{z{zz{zzzzz{y{|{{zzzyzzzzyzzz|{{z|zxzzzz{{{{{{z{zzzzyz{{yzzzz{{zzzz{z{yz{z{{zzz{zyzzzyyzzzz{z{|zzzz{{zzyyz{zzz{zzy{zy{{yzzy{z{zz{z{{zzyyz{yz{{{{zzzz{zyz{{{{{{|z{zyz{zzz{{{{{z{{zzzzzzz{{zzzz{z|{zzzzz{zz{{{{{{zz{{zzzyz{{|{{{{{{zz{zzz{z{{{z{{{{zzy{zzz{{|{|{{{z{{z{z{{|{{||{||{{z{{{{zz||{{{|{{{{{z{z{{|{|{{|{|{{z{z{{z{{z{{||{{zz{z{{{{{{|{|{}z{zzy{{{{z{{|{{{z{z{{z|{z|||{}{|zzz{zz{{{{{|{||{z{zzzzz{z{zz{{{{{{z{yzy{{{|{|{|z{zz{zzz{{{{z|{||{z{z{zz|{{z{{||{|{{{z{{z{{{||{|{{zyz{y{{{zz|{{{{zz{{zyz{{{{z{||{zzz{zzz|{{|{{{|zyz{zzz{z{{{{{|{{{|{zzzz{{{{{|{{{z{zz{zz{z{{{{{{z{yz{z{z{z|z{{|{zzyzz{zz{{z{z{{{{{zzyzzz{{z{z{{|{zzzz{zyzz{z{{{|zzzy{z{zy{{{{{{{zzz{z{zz{{|{z{||z{{y{zzz{{z|z|{||{{zz{{{{{z{{|z{zz{z{zz{|{|{{{z{{{{z{{{||{{{{|{{{z{z{|zz|{{{|{|{{{z{yzzz{|{{|{{zz{{z{{zz|{|{|{||zz|{{z{{|z{|{||{|{z{zz{{{||||{|||{z{{z|{{||||||||{z{z{{|{||{|{|||{{{|zzz{}{{|{}||{{{z{{{{||||||||{{{|z|{|{{{{{|{|{{{|{{|{|{|{{|{{z{{{{z{{|{{{{{{{{z{z{{{{||{{{||{{zz{zzz{||{{|z}{|zzz{{z{{z{{|{|{zz{z{{y{z||z|{|{z{zzz{{|{z{||{|{{{{{zy{{z{{|{|z{zzyzz{zz{{|{{{{{z{zzzzz{{{z{{{zzz{z{yyz{{{{{|{zz{{{zzyz{z{{{{{{z{{zyz{z{z||{{||{{z{z{z{{{{{|{{{{zzzzzzz{{{|{{|{zzzzzzzz{zzzz{{{z{{zzzzz{{z{{{{{zyzz{{zy{|z{{{{{zzzzzz{{{|{{{{{z{{{{{zz{z{{{{{{{{{z{zzy{{{{z{z}{{zzz{{zz{|||{|{{{z{{{{{{{|{{{{|{{{z{zzzz||||z|{}{{{z{{{{{{{||{|{{{{{{zzz{{{{|{{||{{{z{z{{|}|}{{|{zz{{{{z||{{{||{|z|{{{{{{|||||||||z{z{{z{||{||}||{{{zz{{||{{|{|{{{zzz{{{{{{|{||||{{{{{{z|z|}{||{|{{yz{z{{||{{{|{|{{{{z{z|{{z{{|{{{{{{{{z{z|{{{{{zzzzz{zz{{{{{{{{{{z{{z{z{{{{||{{|{zzzzzz{z{{{{|{{{z{{zzz{{{zz{{{zzzzzzzyz|{z{{{|{{zz{zzyz{z{{{{{{{{zzzzz{{{zz{zz{yz{zzzz{{{zz|z{zzzzzzyzz{{{z{{{{zyzyzyzz{zz{{{{{z{zyzzyzz{{{|{zz{zzzzyzz{{zzzz{{zzzzzzzz{{zzz{zzzzyz{zz|{{{z{{{{zzyzyz{z{z{{{z{{zz{zzzz{z{{z|||zz{{zzzz{{{z|{{{{z{zzz{zz{{y{{{{zz{|zz{{|z||{z{{{z{zz{zzz{{z{{z{|zz{zzzzy{{|{||{z{{{{{{z{|{{{{||{z{{{z{{||z|{|{|{{{{{zzz{}{{|{||{z{{{{{{|}{{z{||{{z{{{{{|}{{{{{|{z{{{{{{{{||||{|z{{{{{|{{{||{{|{|z{{zz{{|{{{||{|||{{zzzzz{{||{|||{{{yz{z{{zz{{||z{{yzy{zz{{z{{|{{{zz{zzy{{{|{{|{{zzzzzz{{{{|{{{{|{{z{zzz|z{{|{|{{zzzzzz{{z||yz|{{{zyyzzz{{{|{{{|{zzzzzzzz|{{zzzzz{{{{zzy{{{zzz{zzzzzzzzzzzz|z{{{zzyz{yzy{{z{z|||{zz{yzxy{{{z{{{{z{{zzzyz{{{|{z|{zyz{zz{yzzzxz|z{zzzzy{zyzzz{z{{{zz{zz{zy{z{{{{{{zzzz{zz{z{z{z{|{zz{yzz{z{{{{{{{|zzzzz{zzz{{||{|{{zz{zzzz{{{{z||z|z{{yzzy|{{{zz{{z{zz{{{{{{|{{{{{{{zz{{z{z{|{{{{|{{{z{{{z|{|{|||||{{{{{zz}||{{{|{{z{{{{|z||||||{|{{{zz{||{{{{|{{{{z{z{{{{{||||||{{{{zz{{{|{||{{{{{{{{{zz||{{|||||{{{|{{z{z{|}{||}{{{z{zzz{|{|{z|{z{z{z{{zz{{{{{{{{z{zzz{zz{{{y|||{{zzz{z{z{{{z{|{z{|{{yzz{{|z||||{zzzzz{{{|{{|{|{{zz{zzzz{{{{z{|||zzzz{zzz{{z{{{|zz{zz{z{{{{zz{|{{zzz{{z{{{{{z|{{zzzzzzzzz{{z{{{{{zyyzzzyz{{z{z{{zzz{z|z{{z{z{{{z{{zzzyzzz{|{{{z{zzzz{z{y{|zzz{{{zzzzzyzyz{{{z{{{zyzzz|{zzy|{z{||z{zzzy{z{zz{{{{{zz{z{zyz{{z|z{{{{{z{zzzz{{||{{z{{{{{{z{{z{{{{z{{{z{{{zzz{|{|{|}{{zz{z{zz{|{zz{{{{{{zz{{z{{||{||{{z{{{z{{|{{{{{{|{z{z{{{{{{{{|{|{{z{{{{{{{|{{||||{|{zz|{{{{{{|{{|{{{|{|{{z|||{{|{|zz{{{{|{||||{{{{{{zzz{{|{||{{||{{{{|{{|{{{||{{|{z{z{{z{{|{{z{|||{z|z{{{{{{|{{|{zz{z{z{zz{z{{|{{{{zz{{z{{|{{|z{|z{y{{zzz|{{{{|{|z{zzzzz{{{{{{{{{{{zzzz{{z{{zz{{{zzzz{z|z{{{{z|||zzzzz{yzz{{{{|{zz|{{zzzz{{{zz{{{zzzzzzyzz{{{{{{{zzzzyzzzz{{zz{{{|zzzy{yzz{{{{z|{z{zz{zzz{{{zz{{{{z{yzzzzzz{z{{{zzzzzyz{zzzzyz{{|zzz{zz{zz{z{z{|{zyzzzzzz{{z{{z{{zy|zzz{{{{{zz{||{zzzz{zz{|{{{{{zzzzz|zyzz|{{{||{{zzyzzz{z{{{{{{{zz|z{{z|{{{z{{{{{{{zz{z{z{{|||}{{{zz}{{{{|{{{||{|z{{{{zz{|{{{{{}{{{{{{{{{|zy||z}|{{|{|{{|{{{}|||||{{{{{{{}|||||||z{{{zzz{|{|{{|{|{z{{zz{{{{||{z|{{{{{|{{{||||{|{{zzzz|{z{{{{|{||{z{{z{{{{{|{|{|zzy{zz{{z{|z{{{|z{z{{{z{{{|{|z|z|zzz{z{|{{z{{{{{|{z{{{{{{{|{{{|z|{zz{zz{z|{{|{{{{zzzzzz{{{|{z{|{{zz{{zzz{{{zz{||{{{yzzzzz{{{{{{{z{z{{{zyy{{{|z|z{zzzzzyz{zzzzzzz{zzzzz{zzzz|{{z{{zzz{zzz{z{zz{{{{{zzzzyzzz{{{{{{{zyz{z{{yz{z{{{{|zzz{zzzzz{{{|{}{{zzyzzzzz{{{{{|{{{{{zz|z{{|{z{{{{{|z{z{{{{|{{||{zz{yzz{z{{{{{}{|z{{{{{z{{{|{|{||{z{z|z{{||{||z|{{zz||z{{z{||{{||{|{z{z{{{|{|{{{}{z{{z{z{{|{|{{|{|{{{|{{{|}z||{||{{|z{|{{{{{{|{{}|z||{z|{{}||{|}||{{{{{{z}}||{||{{{{{z{{|{}{||{||{{z{|{{z|{||{|{|{z|zzz{{||{||}{|{{zz{|{z{|{{{{|{{{z{{{{z{|z{z{{{z{{z{z{{{{{{|{{|{zzz{{z{z}{{{|{{{zz{zzzz{{|z{{{{{{{{{yzy{|{{z{{{{z{{zzzz|{{{{|{{{zzzzzzyz{{{{{|z|z{z{z{{z{|{{|{{zz{z{z{z{{{{{{{|zyzzzzzzz{zz{|{{zzzzzzyzz{{zz{z{{zzzyzzzz{{|{z{zzzzzzzzz{{{|z{z{{{zy{{{{{|z{{{|{zz{zz{zzz{{{{z||zyzzz{{y{|{{{z{{{y{{zzz{z{{zz{|{{z{z{zzz{{||{|}{{{{z{|{{{{{{{{{{zz{z{zzz{{z{{{|{zzz{{{{z|{{z{|{z|z|{{{|{z|{{||||z{z{{{|{||{{|{{|||{{|{{z{{|{{|||{{{{{{{{||{{{{{{z{|{{}|{{|{|{{||{{{|{{{{{|{{}|}|{{}{{{{{{{{||||||{{z|{|{|||{{}}}{{{{{{{{{{{}|}{||{{{{{{{|||}||||{|z{{{{z{{{||||{{{{{zzz{|{{{{||||{z{z{{{z||{{{{||{zzzz{z{{||{|{{{zzz{zzz{z{{{||}|{z{z{{{{{{z{z|{{{{zzz{z{{{{{{z{{zz{{{{z{{{{z{{{{{zz{{zzz{||{|{z{z{z{zzy{{z|{{{{{yyzzzz{{|{{zz|zzz{zzzy{z{{|{z{z{z{z{zzz{z{{{{{{zzzzzz{zz{z{z{{{zzyy{zzzz{z|z|{{y{{z{z{{z{{{{{{z{{{zzxzz{{{{{{{{{{zz{zzz{{||{{|}{z{{z{{y{|{{|{{|z{z{{{|z{{{{{{|zz{z|{zy{|{{|{{{{{z|{z{{z{|{{{{|{{{z{{|{zz{|{}{{|{z{z{z|z{z{{{{||{{{{z{z{{{{|||}{|z|z{{{{{{{{|{||||{{{{|{{|{{|}|||{{{{|z{{}{{|{|{}z{{{{{{||{|||||{z{z{z{{||{||{||{{{{||{{{{{|||||{|{z{z{{{|{{z||{}{zz{z{{{|{|{{{{{{|||zz|zz|z|}|{z{{z{y{z{|{|{{{{{{{z{y{yz{{{|{{{z{{z{zzz{{{z{z|zz{zzzzz{{{||{{|||{zzy{{y{{{{z{|{{{zzyz{z{{{zz{{z{{{zyyzz|{{{z{z{z{zyzz{zzz{{z{|{zz{zyzzyz{z{{{{{{z{zz{zz{{{{zzz{{y{{z{{z{{{{zz{|z{zzzyzz{{{zz{z{zyzzzyyzz{zz|{{{zzz{z|{z{z{{{{{{z{z{{z{zz{{{{{z||{{z{zzz{z{{{{{{zz{zzzzz{{{{{{z||{z{{z{z{||z{||{{z{{yzyz{z||{{|{{z{{y{{z{{{{{{{||{{z{z{{z||||}{{{zz{z{{{|{|||||{{{{{{{{z|{|{{|{{|z{{{{{{||||{|||{{{{{{{{{||||{|{{z{z{z{z{}{|{||||{|{{{{{{{}|{{|{|z|{{{z{|||{{|||{{|{{zz{||||{|{|{|{z{z{z{|{{{{||{{{zzzz{{||||||{z{{z{z{{z{||z{|z|{zz{{z{z|{{z{z{{zzz{yyy{{{{{{z|{zzzz{{zz{{|{|{{zzzzzzz{zz{|z{{|{{z{z{{yz}{{{{{{{{zzzzzzz|zzz{|{zzzzzyyz{{{{z{{zz{{zyzzz{zz{{|{{{zz{zzzz{{{z{|{{zy{zz{y{zz{{z{{{{yzyz{zz{{z{zz||{y{y{z{zz|{{{|{|{y{zzzzzz{{{z|{{zzz{z{zz{z{{{z|{zzzz{zz{z{{{{{z|zzzzzz{zz{{{{{{|{zzzz{{z{||{{{{|{zzz{|z|{{z{||{{{z|z{zz{{|{{z{|{{{z{zzz{{{{{{{{{z|{z{z{{|{{{{|||{z{z{{{||{{{|{{{{{|z{z{{|z{|{{{{|{{{z{{{||{||{}|{z{zz{{|z|||||{||{|z{|{{{z|||{{||{{||{{|z|||{||{{zz{{z|{{{|{|||{{zzzz{z{{{{|{|{{{|{{z{z|{{{{z{}{|{{zzz|{z{{|{|{{{z{zz{{z|zz{{{{{{{{zzz{zz{|{{z{|{{yy{zyz{{{{{{{{{y{zz{zz{{{|{{{{{{{{{zz{{{z|zzzz{zzz{z{z{{|{z|{|{{{{{yzzz{{z{|{zzzzz{yzzz{|{{{|{|z{z{zz{{{z{{{{zzzzz{z{zz{{zz{|z|zzzy{yy{{{{{z{zzzz{z{{z{z{{{{{{zzzz{zzz{y{zz{z|{zzyzzzz{|z{{{{{zzzz{{zy{{|{{{z{{{{z{zz{{zzzz{{{zzz{xzzz{{{{{{{|zzy{zz{{{{{z{{z|{{{zzyzz{z{|{|{||{{z{{z{z{{{z{{{|{{{|{zz{z{{{{{{{z{{{{{{{{||{|{|z{z{{z|{z|z{||||{{|z{{zz{||{{{||{{zz{{z{||{{{{}|{|{{{{||{|{{||{||{z{{{{|||{||{||{{{}|{{{||{{|{{|{zyz{{z{{||||{|{{|{{{z{z|{{{{{|{{{{zz{z{{}{{{|{{{{zz{{zzz|z}{{|{{z{zz{zz{{{zz{z{zz{|{zzyz{|{{{{||zyyzzzzz{{|{{|z{z|zz{z{zz{{|{{{{z{zz{zz{z{{zz{|{y{yzy{zz{|{{{{|zzyzzz{y{{{{{|{{zzz{{z{y{zz{{|{{zz{{z{zz{z{{{{{zzzzzz{zyzz{{{{zzzyzzzzyzz{|{{{{{{z{zyzy{z{{{|{z{zzz{zzzzzzzzz{{{z{zzzzzzz{zzz{{{{z{zzzzzzz{{{z{{zzyzzz{{|{{zzz{{{z{{zz{z{{z{|{z|zzzzz{zz{{{z{{{{{{{z{z{z{{{|{{{|zzzzz{zz{z|{{|{|{yz{{zzz{|z|{|{z|{zzz{z{{{||{||{z{z{{{z{{|{||||{z{z{{{{z{{|{z{{{{zzz|z{{{|{|{{|{{|z{z{{|{{|{}{{||z{{{||z{||{|{||{{|{{{|{{{{{||{||{zy{{z|{{|{|{}|{{{{z{z{|{{{|{|||y{{z{{|||z|{|{|z{zz{{{z{{z|{{{{{z{{{y{z|{z{{z{{z{{{zzzzz{{{{z{{{zzz{zzz{{{zz{|{{zzzyz{{{{{{{|||{{z{{{z{{{|{y{{{z{{zzyzzz|z|{{||{y{z{zzz{{{zzz{{zzzzzzyzz{|{z{z{yzyzyzzzzzzz{z{zzzzzzzy{zzz{z{{zzzyzz{zzz{zz{{zzzz{zzzzyzzz{z{{{zz{zzyzyy{zzz|{yzz{zyz{yzzzzz{{{zz{z{{zzz{{z{{{|zzzzzyz{|{{{{z{zz{{zy{zzzz{{zz{|{{{zyzz{zz{|{|{{{|{{{yz{{{|z{{z{{{z{{{zzz{|z{{|zz{z{zzzz{{{{{|{{{{z{{{y{|z{{|z{|zzz{{{{{}{{{{{{{{{z{zy{zz||{|{{{{z{{{{{z||z{{{{|{{{{{{z{{{{{|{|||{{zz{{{{}||{||{{{{{{z{{||{{{||{{z{{{{zz{{{{|{||{z{{{{z{{{{|{|}|z{{z{z{z{{|z{{|{{z{{{{zz{{{{z|{{y{zxzzz}zy{{|{z{{{y|z{zzz|z{{{|{z{zzzzzzz|{{{{{{{z{{yzz{{{zz{{|{{{zzzyyz{|z{{{|{{{zzy{{zz{{zz{{z{z{yz{yz{{{{||{{zzzyzyyz{{{{{z{zzz{zz{zyzzz|{zz{zzzzz{z{{z{zzz{{zyzyyyzzz{{{|{{zzz{{zyzzzz}{{|z{{zzyzyyyz{yzzz{{{yzzy{zyyzz{z{z{zyzzyzzzyz{{{{zz{{zy{yyyzz{{y{|{zz{{z{yy{{{{{{{|{zz{z{zz{{z{{{z{zzzzzzzz{{z{{{{{{z|{zzz{{{{{|{{{zz{z{z{y{|z{{{{{{{{zzzzz{{z{{{||zzz{z{{z{{z{{{|{{z{{{{z{zz||{{{|{{{{{z{{|||{{{||{{{zz|{{{{{{z{{z{zzz{{{{z|{}{{|||z{{z{zzz||||{|{{{z{{{z{{{{{|{{||z{z|{zz{{{{|||{{{zzzz{{z|{{|{{|zz{{{zzzz{|z{z{zzz{{{yzz{z{z{{z{y{{z{{zy{|{{{|{|z|z{zzz{|{{z{|{|{z{z{{yz{z{{|{{z{{{z{{{{{|{{{{{{yz{zz{{y{{{{{{||zzzzz{{z{z{{{{{{{zzzzzzzz{{{z{{{{{zz{{zz{z{|z|z|zzzzzzzz{z{{{{|zzzzzz{zz{z{{||{{z{z{yzzz{{{{zz|{{y{zz{zy{{zy{{{{{zzzzzzz{z{{y{{zzz{z{{zz{{zz{{{|{{{yy{zz{{|{z{{||{zzz{{{{{{{{{{|zz{zz{zz{{{zz{||z{|{zz{z{{z{{{{|{z{{zz{z{{||{{||z{{{z{{z|{{|{{{{{z{||{{{{{|{z|{{z{{zz{|{{||{{|}||{y{{z|{z{|{||}{z{{{|zz||}|||{|||{{|{|{{z{{{|||||{{{{|{|z|{|}{}||z{|z{{{{{|{|{|{|{{{{{{|{{{{||}|{{{z|{z{|{||{{{{{{{z{{{|{{{|{|{|{{zz|{{{{{{{|{{{{{{{{{zzz|{z||{{{{zz{{zz{z{{{{|{{zzz{{{z{|{z{|{|{|z{z{{z{{{|{{|{{{z{z{{{{||{{{|z{{{{z{{z{z{{{|{|{{{{z|{z{{z|{{|{{{{{{{z{||{{{{z{{{{zy{z{|{{z{|{{{{zz{zz{{{{{{{|{{zzy{{z{{{{z{|z{{{{z{{{zz|z{|{{{{zzzz{{zz{{z{{|{{zzyzzzz{|{{{{{{zz{z{{zz{{{{{{{}{zz{zzz{z||{{{{{|{{z{{{{{{{{|{{{{{{{{z{{{{|{||||{z{{z{{{|z{z||{{z{{z{{z{z{{||||{z{z{{{{{{|{{||{{|z{{|{{|z{{||{||z{{z{z{z||{|||}}{{{{{zz|{||{|{{||{{{|{{{||||{|||{{|||{{{||{||||||{{{{{|{|}|}||}}{{{{{{{||||{{{||{z{z{{z{|{{{|z|{|{z{|{{|{|{|{|||{|{z{{{z{{|{|||{{{{||{{{|{{|{||{||{zz{z{||{{{{{{zzzzz{{z{{|{{{|{{zz{{zzz{||z{|||{{{{{{zzzy{{{|{{|zzz{{zz{{z{|{{{z{{y{yzy{{z|{{{{{{{zy{zyz{|z{||z{{|zz{zz|{{{z{{{z{{{zzzzzz{{{{z{zzz{{zzzy{|{z{{z{yzzyzzyz{{z{zzyz{z{zzz{{{{{|{{|zz{z{zzyzzz{z{z{y{zzzyyzz{{{z{{{{y{zzz{yz{z{{{{z|zy{{zzzzz{{|z{{zzzz{z{z{zz{{|{{{z{{zzzz{z|}{||{{{{{zzz{{{z{{{{{z{{z{{{|{{|{{{{{{{{|{z{z|{{{zzzz{zzzzy{{|{||{{||{{{z{||z{|{{||||{z{z{z{{{|{||}{{{z{{|{{z{|||{|||{z{{z{{{{{{|{||}{{{{|{zz{||{{{{||{{|zzz{||||{{|||{zz|{zz{{|}|{|{{{{{{{z|{z{|{{||{{{z{zzy|{{{z||{{z{z{zzz{{{{z||z{{{zzz{z{{|{{{||{{yz{{zzz{|{{{||{z{{z{{z|{{|||{|{{|z{|{{|{{{{{|{{{{{z{z{{{{|{z|{{{{zzzyzz{{{{{{{{zz{{zzz{|z{{{||{z{zyz|y{{{{{{|{z{zyyzz{{{{zz{{|zzz{{zzz{{{{{{{zzzz{zzz{{z{{||||{z{zyzyy{{|{{||{zzyz{zyz{{{z{{{{{zzzzzz{{{z||{{{zzz{{{{zz{zz{{{z|z{zzzz{|{{{{{{{z{{{zz{{{|z{{{{{z{{zzz{{{{|{{|{|{z{{{zz{||{|||zz{z{z{zz{{{||||{|z|{{zzz{{{|{{|{{z{{{z{z{{{||{|||{z{{{{|{|{||{{|{{|{{{{{{|z}||||{|{{{{{{{{||||}|{{{{{{{|{|||||||||{||||{{||{{|||||{{{{||{{|{|{|{{{{{z|{{{{{|||||{|{||{{z|||{{{{||{{{z{{z{{|z{}|||||{z{z{{||{}{|{|{{|{zz{|{||{||{{{zzy{zzz{z{{{|{{z{{{zzyzz{{|{{{{{{zzz|zz{zz|zz{{{zzzzzzzz|{|z{|{z{{zzz{{|z{{{{{{{zzz{{zz{|{{{{|zzzzz{yzz{{{z{|z{{{zzzzzz{zz|{{{{zzzzz{{zz{{{{z{z{zzy{zzzzzzz{z{{z{{{yzzz{z|z{{|{zzzzz{zz{{|zzz{{zzzzzz{zz{zy{{||zz{z{zzz{z{z|{|{{{zz{zzzz{{z{{{{{{z{{{zz|{{{|{z|{{{yz{zz|{|{{|||{{z|{y{{{zz{|{{{{{z|{zz{z{{{{{|{z{zzz{{z{{{{{}{{{zz{{{zz|{{{|||||{{{{zz{|{{|{}{|{{z{{z{z{|||}{||{yz||z{z{||{{|||z{{{|{|||{{||||||{|{{|{{{}||{{|||{|{{||z{|||||{{zzz|||{z||||{||}{{z{z{|{||{{{|}|{{|zz{{z{{{{{{|{{z{{{zz{{{{|{{z{{zzzzzzz{|}}{{{|{zzzzzzyzzz{{z{{{zzz{zzz{|{{{{{{{{zyzzzyz{{||{{{z{{zyzzzz{||z{{|z{{yzz{y|z{|{{{{zzz{zzzzz{{{{{{{z{zz{zyz{z{zz{z{z{zzzzzz{{{z{{{zyzzzzzyzz{{{{z{{{zyzzzzz{{zz{{{{zz{yzz{y{{{{{{{{{yy{{zz{{{{zzz{{zxzzy{zzz{z{zz{{zz{zy{z{{z{z{{{{{{zzzz{z{zzzzz{{zy{{zyzz{{{zz|{|z{zzzyz{{{{y{zz|{{z{{zzzz{{{{|||{{{{{zzz{{||zz}{|zz{zzz{{|{z|{z{zz{z{|zz{{{{{{|zz{{{{z{z{|{{{||{{{zz{{zz{{{{{z}{{{zy{z{{{|{{{|||z{|z{{zz{{|{{|{||z{{{{z{{|{|{{|{|z|{zzzz{{||||{|{z{{{zz{{{|{|{}{|{{{{{{z{|{{{{||zzzzz{{{z|{{||{|{z{{zzzz{||}{||{{zz{{zz{{z|{|{{{z{{zzz{y{{{zzzz{{z{zz{{{{{{{{{{{{|z{zzzz{{{{z{{{{zz{{zzz{{z|z{{|{{zzzz{z{{|{{{{|{z{z{{{zzz|z{{{zzzy{zzzz|{{z{{zz{{zz{yz{zzzz{{{{zzzy{{{z{{{{z|{zz{zyzy{zzz{z{{{{zz{xzzyzyz{{{{{{zy{zzzzzzzzz{zz{{zzz{zzzy{{{{{z{zyzzzzz{z{{{{{{z{zzzzzzy{zzz{{{{zz|{yzz{z{{{{|{{z{{yz{{zz{{zz||{z{{{zyyzz{{{||{{{{{{z|zz{{z{z{{{zz|{zzzz{|{{{|||{{{{{z{{{||{||{{{{{{{z|z|z{{{|||{{{{{zz{{||||{||{z{z{{{z|}|{|{{|{{{z{{{{{|{|{|{}{{{{z{|z{||{{||{{z{{{{{{}||{{{|{|z{z{{{{|{{{||{}|z{{{|{{{{{|{|||{{{zz{z|{{zz||||{{zzz{zz|{{{|{|zz{{{{z{{{{{{{|{|{{zzzzzzz{z{{y{{{{{zzzzz{{{{{{{{{zzzzzzz{z|z{{{{{z{zzz{{z{{{{z{{{z{zzzzz{zz{z|{zyzzzzz{yy{{zz{{{|{{yzzzz{{{{z{{zzyzzyzzyzzz{z{{{zzzzzzzz{{z{zz{z{yyzzzyz{zzz{{{{{zzzyzzzzz{{zzz{{yzzzyzyzz{zz{{z{zyzzzyy{{y{z{|{yzzy{yzzzz{z{{{{{zzz{yzzz{{{yz{{zyzzzy{z|{z{zz|zzz{zzz{z{z{y{{{{{zz{zz{zz{{z{|z{{z{zz{z{{{{y{{{|{z{zzyz{{|{{{{{{{zzzz{{z{{{|||z{zz|z|z{{{z|{||z|{z{{zzy{}|{{{{||{z{{{zyz{{{{{z{{z{{z{zz|{{|{|{{|{{{y{{{z{|{|{|||{{|{z{zz{|z{{{||zzzz{zz{{{{|{{|}z{{zz{z|{{{{{{||{{zyz{zzz{{|z|{|z{zzz{{z{{z{{{|{zz{{zz{{|{{zz{z|zzzzz{zz{{z{zz{|{zy{zz{zz{{z{{{{zzz{zzz{{z{{{|{|{yz{z{{{z{|{{{{|{z{{z{zy{z{{{|{{{{yyzyzz{{|z{{{|z{{{{zy{{z{zz{{z{zzz{zzz{zz{{zz|yyz{zyzzzz{|z{zzzz{zyzyz{{{z{{{zzz{{yzzz{{zzz{{|zzz{zz{{zzz{zz{{z{yzz{zyz{z{{{{{z{zz{z{z{|zz{{{{zyzzzzz{{{zz{|{{zz{zzyzz{{{{{{{{z{zz{y{z{|{|{||{zz{zzzzz{{{{{{z{{zzzzyzz{|{{{||{z{z{{{z{{|zz{||{z{{z{z{{{{{||{|{{|{{}{zz{{{|{|}|z{{z{{zz|||{{|}||{z{{{z||}|{||{|z{{zzz{|{{{{|}|||{{z{|{{z|{|{{{{|{|{{z{zz|{{|{|{|z{z{zzz{{{|{{|{|{z{|z{{{{{|||{|{{{z|z{{{{{|{{|z{{z{z{zzz|{|{|||{{{|zzz{{|{z{||z{zz{z{{{z{}{zz||{zzzzyzz{{{|{z{{{z{zzz{{{{{{{{{|{zz{{{y{{{{|z{z|{{{zzzzz{z|{z|z{zzzzz{{y{{|z{z{{{z{zzyyz{z|{{|z{zzyzzzzz{z{{z|z{zz{zzyzzzzzz{z{zzzz{yzyy{{{z|{{{zyz{zzzy{{{{{z{{zz{zzzyyyz|zz{{{{zzzzzyzzzyzz{{{{yzzzzzzz{{zz{{{{zzyzzz{{{|{zz{|{z{{zyzz{{{{{{{|{{|zzzzz|{{z{z|{z{{zzz{{{{|zzz{{{{{y{z{z{{{{z||{zzyz{{|{{{{{{{|zzz{zzzzz|{{|{||{{{{z{{{z{||{z{}|{{{{|z{z{|}|{{||{zzz|{{{|{}{||{|{z{{zz{{{|{||{|||{z{z{z{{|{{{|}|{z{{{{{{|{|{|||{{y{z{|{{{{{|{||z|{{{{{|||{{{{||{z{|z{|zz{|{|{|||{|{zz{{z{{{{{{{{{zz{zz{{{{{{{{z{{{zz{z{z{{z|zzzzz{yz{zzzz{{|{{{|{{{zzzyz{{{z{|z{zy{zzz{z{{zz{{{{zz{zzzzyz{{z{{{{{zzzz{zz{z{z{{{z{z{zzzzz|z{z{{|{zz{zzzzz|z{z{{z{zzzzzy{zz{{z{{{zzzzzyzyzzz{z{{zz{zzzzzzy{{{z{z{{{zzzz{zzyzzz{zz{zzzy{z{z{z{{{{|zzyzzyz{y{z{{z{z|{zzzzy{{z|{z{{z|{y{zzzzzz{z{{{||zyz{{zzz{{{{z{|{z{{z{zzz{|{{z{{{{z{zzzzz{{{|{z{{|z{z{zyzz|z{{{{{{zzzz{{z{{{{{|{}y{{z|{z|zzz||||{{z{zzz{{{{{z|{{{{y{{{z{{|||{|{{{{{zz{{|z{||{{{|{{{z{{z|{{}{|{{{z{{{z{{{{{||{{{|}{zy{zzzz{{{{|{||{{zzzzz{{|{}{{{|||zz{{{{{|{z|{z|zz{zzzz|{{yzz|{|{zz{z{{z{{||{|{{z{{{{z{zzz{|{|z{|zz{zzz|z{{{z{z{zzzzz{yzz{z{{{|||z{z{zzz||{{{{{{{yzz{zzz{z{{{{{{{{zzzz{{{{{|{{{{{zzz{zzz{zz{{{z{{zzy{zz{zzzzz|{|zzzzzz|y{z{{{{{zzzzzz{zzzzz|{||z{{zzzz{yz{{{{{{z{z{{{zzzzzzz{z{{zz{y{zzy{{zy{|z{zzz{{zzz{z{{{||{{{zz{zyzzz{{z{||{zz{{z{{{z{{{|{|{z|z{z{z{{{z{{z|{z{{{z{zz{{{{|{|{yzz{z{{{|{{||||{{z{{{{z{z{z|{{{|{zz{{{{{{|{{{||z{{{||z{||z|||{||{z{z{z{z||{|{}||{z{z{z{}|{|{|||||{{{|{{||{z|||{{{z{{{{{{|{|{{{|}zz{|{{{z|||{|||{z{{{{{z||{|}|||{{{{|{z{}|z{||||{|yz{{zzz{||||||{{z|y{zz{||{{{||zz{{z{{{|{{{{{{|z{z{z{{zz{|{{|{|{zzyzzzzz{zz{|{}z{y{zzzz{{z{{{{{z{y{zzz{{{{{{||z|{zzzz{yzz{{|{{{z{z{{{{{z{{{z{|{{{{zzzzz{||{{{{{zz{zzzzz{zz{{{z{zzzzzzzzz{{{z{{{{zzyz{zzzzz{{z{zzzzzz{{zzzz{{zz{zz{{zyzyz{zzz{z{{zzyzzyzz{z{{{{{zz{y{zzzz{{{{{||{{zyzzzz{{|{{z||{z{{zy{z|{{z|{{{z{{zyz{z{{|{z{{{z{{zzy{z{z{zz{{{{{zzz{z{{{|z{{|{{z{|zz{{{|{{{{{{{{{|{zzz{{{{{||{|{{z{zzz{|{|{||||{{|{{{{{{{{|{|{{{{{|z{{{|{||||}{|z{{z||{{|{|}||{{{zz{{{{{|||{|{{zzz{z{{||{{||{{{z{{{z{{{{||{{{{{{z{{{{{|{|{{{|{{{{zz{z{{z{{{z||{{{z{z{z{{|||{|{{z{{{z{|{{{{|{|{z{y{{z{zz|{{{z{{{zyzzz{yz{|{z{|{{z{zz{zz{z{{{||{{zz{zzzz{{{{z{|z{z{yyzzzz|{{z|{|yzzzzzzz{{{{zzzz{z{{z{{zzz{{|{z{zzzzzzyzz{z{zz{{{zyzyzyzz{{z{{|z{zzzyzz{z{|z{{{z{zzzyzzzz{zzz{{z{{yzzyzzz{{yzzy{{zz{z{yzzzyy{{zz{{zzzzzzzz{z{{|{|zzz{{zzzz{{z|{{{zz{zzzz{z{{{{z{{{{{zz{z{{|z{z{|{zzzzz{yz{z{|z{zz{zzzz{{{|{{z{{{|{z{zzzzzzzz{{{{|z{z{{yzz{|{||{{zz{z{{{{|{{|||||{z{{{{z||{||{{|{{z{{{z{{||||}{z||{z{z{z{z{{{{||||{{{{{zz{}{}{}}}|zzz{{{z{{{}{|||{{z{z{|{{{{|{|{||{{{{{z|{{{{{{|||{{zzzz{z{{||{||{|{{{{zz{{{{{{||{z{z{z{{{|{{||{{{yzzzzzyz{{{{|{|{zzzzzzz{{{{{{{|{y{zz{{z{zzz{z|{{{zz{zzy{{|{{{{|{{zzz{zz{{{{{{||{zzz{zzyz{{{{{z{{{{zzzzz{{zzzz{z{{{yyxzz{z{{zz{{zzzzz{zz{yy{z{{{zzzzyzzyz{{{|z{|zz{yzz{y{z{{{{{{zzzzzyzyz{z{z{|{yz{zyyyz{{z{{|z{yzz{zzyz{z|{{{||{{z{{zzz{{zzz{{|zyz{{zzzz{z|{|{{zzzzzzzzz|{{|||||{zy{{zyz|zz{{{{zzz{{zzz{{{|{||{{z{|zzz{{{|{||z{z{{z|z{{{{|||{{|{z{z{{{z|{{}{{{|{{{{{z{y{{z|{|||{z{{z{{z||{{{||{{{z{{{{{{{|{{|{{{{zz{z{z{|||{{||{z{{{{{{|{{{{|{||{zzz{z{||{{|||{|{z{{{z{||{||{||{{|z{{{{{|{{|{{{{|{{z{zz{{{|||{{{{zzzy{z|{||{{{|{z{z{{zz{|{{{z{zz{{zzz{z||z|{|{|{zzyyzzz{{z{||||zzzz{zzzz{{{z{{{{zzzzyzz{{{z{{{{z{zz{zzzz{z|z|{{|zz{{zyy{{zzz{|{z{zzz{zz{zz{|{{{{zzzzzzyzzz{{{}{zzzzyzzz{{z{{{{{z{y{zzyzz{{zz{{z{zzz{zzzz{{z{{{{zzyzzzzz{|z{z{{{zzz{zzyzz{z{{{{{zz{{zzzy{{{{{{{|zz{zyzz{{{{{{{{{z{zzzz{z|{|{{{{{{zzz{yz{|{{{{|{{|zzzzzz{z||{|{{z{{z{{{{z||{{{{|{{{{z{z{z||{{|||{{{xz{{||{|{}z||{{zz{{z{z{|||{{|{{zz{{z{z|{{{|||{z{{z{{z{z{{{{||||{{z{z{|{||{||{{|{{{{{{z|{||{|{||{{{{{yz{|{||{|||{{|{{{|{{||z|{{{{{z{y{{{|{{{{||{z{yz{{z{}{|{{{{{z{{z{{{{{|||z{{zzzzz{zzy{{{{{|{zzxzzy{zz{{|z{{{z{{zzyzzz{zz{|{{{zzyzzyz{{{{zz{{{{zzzz{zzz{y{{{{zzzz{zy{{{{|{{{{zzzzzzzzzz|{z{z{zyzzzzzzzz{{zzz{yyzy{yzz{zz{{{{zzzzyz{z{y{{{{zzzz{zzzyzz{||{{{zzzzzyyzzyz{yzz{{zzzzzyzyy{yzzzz{{z{yzzzzzzz{z{{{{{z{z{zzzz{{zz|z{y{zzyz{{{{zzz{{{z{{zzzzy{z{z{{{{zzzzz{z{{||{z{{{zzz{z{zy{{{|z||{{z{{{zz{z{z|{{{{z{z{zzz{z{{|{z{{zz{{{{{zz{z}zy||{z{{{{{zz{{|{z{{{zzz{z{z{|{{{{{|{{{{{{{z|}|{z|}||{zzzzz{{|{|{|{||{{{zz{z|{{|{{|{{zzz{zzz{{{||||{z{{z{z{z|{{{{||{{z{z{z{{z{|{{{{{|{zzzy{{{{|z{y{{{{{z{z{z{{||{|zzzz{zzzzyz|{zz{{{{{z{yzzz{{{zz{y|zzzzzz{z{zzz{{|{{{zzzyzz{{{{{{|{zz{yzzzz{|{z{{{{{y{z{zzz{|{{z{zz{{zzzzzz{{{{{{zzzzzz{zzzzzz{{{{{zyzyyzzy{zzz{{{{zzyzyzzzzzzz{{{z{{zyzzyy{{z{z|{{zyzzzyzzyzz{zzz{yzzyzyyz{zy{{{z{yzzy{zzzzz{{z{{z{zzz{zz{z{{{z{{{zz{yzzzzz{zz{{{|{z{zz{zz{{{{z{{|zzzzzz{{{||{{{z{{zzz{z{z{z{z{{|{{{{{{{zz{{{{{||{|z{zz{z{{{{{{|{{z{y{{|{z||z{{}||{y|{{z{z{}||{|{{{{|z{{{z||{{{||z{z{{z{{{{|{{|{|{{{{{y{{zz}||{|||{{{z{{{{{{{zz{|{{{z{{{{|{{{{||{{{{yz{{{zz{|{|{}|{{zz{{{{{|z|z|}{|z{{{z{z{{{{{{|{z{{z{zy{{|{{|zy{y{{zy{yzz|{z{z|{zyzzzzzz{{z{{{{zzyz{yzzy{zzz{z|{|{{{zzzz{zz{zz{|{zzzzyzz{{{{{{{|{zzz{zzzz{yz{{zzzz{z{{yz{z||y{{z{|zyyzyzzzz{{z{{yzz{zyyz{zzzz{{yzz{zy{yzzz{{zzz{{zzzyyzzzz{z{z{{{zyzyzzzzzzzz{zzzzzzzzyzzzyzz|{{zzy{zyyzz{|{z{{{z{zzyy{zzz{{z{{{zyzzzzzz{z{z{{{z{zz{yzzzz{{{{|{{{zz{zy{{y{{z{{{{yzz{{zy{{{zzz{{z{zzz{zzyz{{{z{{|zzzy{{z{z{{{||{{z{z{z{{z{{{{{|{{{z{{zzz|{{{{|{z{|zzy{z{z{{|{|{|{yzzzz{|z||{{z|{z{{{zz{z{z|{|{||{|zz{{{{{{|{{{|{z{zzzz{z{{{|{{{{{{{z{{zzz{zzzz{{{{{{zz{z{{|{{z{|{z{zzy{{y{{|{{z{{zz{{zz{z{{{{|{{z{zzzzyzy{{{{{|{zzzzzzyzz{z{{{{{{{zzzyzzz|{zz{zzz{{zzz{zz{|{{{{{{{{yz{z{z{{z{{{{|zz{z{zzzz{{y|{{z{{zzzzzzz{{{z|{zzyyz{{zzyyz{||{|yzyyzyzzz{{{{zzzzz{zzzzz{{{{{{{zzzzyzzyyz{zz{{{{{zz{zy{zy{zy{{{{{zy{zzzzz{{{{{{{zzzzz{zyy{{{{{{|zz{zzz{zz{|{{{{{{y{{zzzz{z{{{{{|}{zz{zz{||{{{{{|{z{{{z{z{|{zzz{{z{z{zzzz{z{z{{|{{{zzz{{{|||{{{{{{z{{{{{{{{||||{||{z{{{{{{{|{{|{|{z{z{zy{{{|{z||{{zz{{{{{|{|{|}{{z{z{z{{{{{|{{|||{{{{{{{{||}|{{{}{y{{|z{{|z|{|{{{{{z{{{{{{||||{|{|{zz{{z{||{{{{{|z{zzz|{z{||{{|{{{{zzz{zz{|z{{||{{{{{{z{||{|{}{{|{||z{y{y{z}z{z{{{{{{{zyz{{|{{{{{zzzyz{{y{{{{{|{{zz{zzzzz|{{{zz{{zzyyyzzzz|z{{{z{|z{z{z{zz{z{{z{{{{zz{yzzzz|z{{{{zzzzzzz{{z{z{zz{yzzzzz{yzzz{{{{zzzz{yzzy{{|z|{{{{zzyyzzz|zzz{|z|zyyzz{yzz{zzz{{{{zzzzzzzz{z{z{{{{z{z{{zzz{{{{{{{{z{zzzyz{{{z{{{{{zz{zz{{{{z{{{|{{zzzzyzzzz|{{|||zzz{{z{{{|{|{|z{z{{{z{z|z{{|{|}{{{zz{{zz{||{{{z{|{{{{{{{{{{||{{{|{{z|{z{||{{{|{||{{{z{zy|{{{{{|z|{{{{|{{||||z{|{{{|zz{{{{|{|{{{||z{{{{z{{|{}||||}{{|{zzz|{{|}|||{{{{z{{z{||}||{{{{{{{{z{||{{z|||{z{zzz{{z|{||{{|||{z{z{z{{{|{{{}z{{{{{{z|||}}{|{zz{zz{{zz{|{z{|{{z{zz{yzz{zz{{|{{{zzz{zz{{z{{{{{zzzz{zz{{{z{{{{{{{zzyyzz{{|{zz{|z{z{zzz{{{{z{{{{{zzz{{y{{{{z{z{{{zzzzzzzzzz{{{{}zzzzzzzzy|{zz{|{{zz{zzyzz|{{{{{{zzz{yyzzzzzy{z|{{{zzzzyzzz{zzz{|{{zyzzzyz{{z{{{{zz{{z{zyzz{{{{{zzzzyzzz{zz{{{{{{zz{zzy{{{|z{{{|}z{z{zz|{{{{{z{|{|zzzzzz{{{z{{}{{{zzz{{z{{{{{{z|{|{zzzz{z{{{{{{{{zzz{{z{{{{z}{||{z{zz{z{{{{||{{{|{{z{{{z{{||{{|{{|{|{z{zz||{{z{||{{{z{|{{{}{||{{||{{{{{|{{|z{{|{|{z|{{{z{|{{z||{|{{{{{{{z{{|{{{||{{{{z{{{||{{{|||{{{zz|{z{z{{{||{{{z{zzz{{|{|||{|{z{{{z{z{|||~|{{y{zzzzz{z|{{{{z{z{zzz{zz{{{{{{|{zzyy{{{{|{{{{||{|zzzzzz{z{|{z{{|{zzyzzz{{{{{{{{|{{yz{{{y{z{zy|{{{zyyzz{{{z{{z|{{{zzzzzyyz{{{{{{{z{zz{{zyzz{{{{|{zzz{yzz{{{{z{z{{zy{{zzzzz{zzz{{|{zzzzzzy{z{zz{z{{zzzzzzzz|zzz{{{zz{yz{{y{zz{{{{{|zzzzz{z{{z{{{{|z{{zzz{{{{{|{{{{{zzzzzz{{{{{{|{{{{{z{z{z{||{{|z|{z{{zzz{{{{{{||{{{z{{{z{|{{{{{||{{{z{z{|{{|}||{|z{{{z{zz{{|{{{||z{{{z|{z{|||{||{}{{z{{{{|}|{{~|{z{{|{{{{{|{{||||}{zz|{z{|{|||||z|{{{|{zz{{||}{||{z{{{||{|z|{|z|||{z{{{{{|{||{|||{{zz{|zz{{|{{||{{z{{{zzz{|{|{}|{{|{z{z{{{||}|z{z{zzzyzzzz{|zz{{{zz{zzzzzz{z{{z|z{z{zzz{zzzzz{z{{zz{zzzz{z{||{{|z|z{zzyzzz{|z{z{{zzzzzyzy{{|yz{{{{zzy{zzy{{{zz{{{{z{zzzyy{{{{zz{zz{yzyzzzzz{z|{z{zyzzzzyz{zzz|{z{yzzyyz{yzz{zz{{zzy{yyyzzzz{yz{{zzzzyyzzzzzzzz{z{zyzyzzyyzz{{{z|{zyyzzzzz{zzzz{{{z{{zzz{z|{|{z|{|zzzz{zzzz{z{z{{zz{zzzyzyyz{{{|{zyzz{z{{z{{|z{|{{zz{zzzyz{{|{{|{{{{zz{zzz{z|{{{|{z{zz{{|z{|z{z{||{{|{{z{z{{||{z}z|{{z{z{z||{{{{}{z{{z{z{zz{z|{|{|{{{zz{{{{z|{||||||{zzyzz||z|{{{{{zzz{z|z{{{{{{|{|{{|{{z{||{|{{{{zzz{z{zz{{{{{{{|{zz{zzzz{{|{z{|{{z{{{z{z{||}|{|{{z{zyzzyz{zzzzzzzzzz{zz{z{{zz{{{{zzz{yyz{{{{|{{z{yzyzzzzz{{z{z{z{{{z{zzz{z{{zz{{zz{zz{{yz{{z{|{{{{zzzzyzzzz|z{{zz{zyyyzzz{{{{||zzzz{zzzz{z{{z{{zzzzzyzzyzz|{{z{{{zzyzzzzz{{{z|zz{yyyyyzzzz{{yzzzzzzyyzzz{zzz{{{{{yz{yyzxzz{z{{{{{yzzzzzy{{{zy|{{z|{zzzzz{{{{|{{|zzzzzz{zz{|{{zz{|{zz{zzz{{{{}|z{{{{{{z{z{{{{|{{{{{z{z{{z{{{z{{{{zyz{{z{{|{|{{{|{{{zzz{{z{z{{{|{{zz{{z{{{{{|||{|{{{{zz{{{{|{{|{{|{zz|{|{{{{{||||||{{{{{{{|{|{{{|||zz{{|{z}|{|{|{{|{{zzzz{{{{|{{{{{{z{{{zz{|{zz|||{{z{{{zzz|{{||||{{zz{yz{{|{||{{|{{|{|zzz{{}}}{z|zzzyz{z{z{{{{|z{{zzzzzzzzz{{{z{|{yzyz{yz{{zz|{{{zz{zzzyz{|z{{{|{{{{yy{zz{z{z{{z{{zzyzzzz{{{y{{z{{z{{zzzz{z{zy{{zzzyyzzzzz{{|{{||{yz{zzzzzzz{z{{zzzyzzzxzz{{{z{z{zzzzzzzz{|{{z{z{{zyyyz{{zzzzzzz{z{zzyzzzyzzzz{{zzyzzz{zzyz{z{{|{{{zy{zzz{{yz{z{{{{zzzzzyzz{z{||{zz{zyzz{{{|{z{{|{zz{zzzz{{{|{{{{{z{z{zzy{{|{z{|{{zz{zzyz{{{{{|z||{y{|z{{{{||||}|{{{zz{{z{|z|{{|{{{{z|z{zz{{||{{{{z{{{{zz{{{|{||{{{z{z{z{{{{{{|||}{z{z{{z||{{{}|{{{{{{z{{{{||{{|{|zzz{zz{z|z{z|||{zz{{zz{|{{||||{z{{z{zzz{{{{{|{|{zz{z{zz{|{{{|{{{{{zzz{{{|{~}{{{{{zy{zzz{|{{z{z|{{z{zz{{{z{{{{{{z|zzzzzy{{{z{{||{{{zzzzzz|{{|z{{{{zz{z{y{{{z{z{{zz{z{z{yz{{z{||{{zz{{{zz{z{z{z{{yz{zyzzz{zz{{z{|zzzzyzzzyz{{z{{z{z{zzzyzzz{z{{{{zz{{z{zz{{{zz{{{zzzyzyyyxzz{{{zzzzyzzzz{y{zz{{z{zz{zzz{yz{z{{{|{zyz{{z{{{{z{{{{|{y{zzzz{{{zz{{z||z{zzzzy{{|{|||{z{{{zzzz{z{{{{{{{y{zz{{z{||{{z|{{z{{yzzz{zz{{{|{zzzz{y{z|||}|{|{zz{{{z{|{|{||{{|zz{zz{zz{{{{{|{|{zz{|z{z{||{{{|}{{{{zzz{{|||z{{||{{{{{|zz|||||||{{{{z{{{{{{}{|{{{{z{{zz{{{{{|{|||{z{||z{{{{{||{|zyzzz{{z{{{{{|{{{z{{z{{{{|{{|z{{{{{{{z{||{{||zzz{zzzyzzy{z|{{{||{{{zzzyy{{{{{{z||yzzzz{z{|{zzz|{{yzzzzzz{{{zz{{{{zzzzzzyz{{{z{{|zzzzzzzyz{z{{z{{{z{zyzyyz|{{{{{{{zzy{zz{z{z{z{{|zzzzzyyzzzz{z{z{zzzzyzyzzz{{{{z{zzzyz{zz{{zzz{{{{zzzyyyzyzzzz{{z{zzzz{yyzzyz{{{{zzzzzyzzzzz|{z{z{zz{{yz{{{{zz{{{|zzyzz{z{{{{z{{{z{zzyz{zzzzz{{||zy{z{zz{z|{||z{{zy{zzzyz{|{{{{|{{{zz{zz{{{{{{|z|z{zz{{z{z{{{{{|{z{{z{zzzzz{|{|{|z{{zzzz{|||{{{||{{zz{{z{{|{z{|{|{z{{{|{{{|{{{{{{|z{{{||{z}||||{{{{{{z{zz||{{{||{{{zzzzz{{{}||{|{|{z{|{{z{{{{{{{|{|{{zzyz{{z{{z{{{{{z{{z{z{{|{{{{{|{z{{z|||}||{{z{zzzzz{zz{{z{z{{zzyyzzzzz{{{z|{{z{zzzz{zz{{z{{{|{{zz{zyzz{{zz{{{{z{{zz{z{{zz{{{{{{yzy{z{{{{|{z{z|zz{zzzz{{{{y||{{zzzzyyzz{{zz|{zzz{zzzz{z{{{{{{zzzz{yzyz{{{yz{z{zzyzyzyzz{{zz{z{{zzyz{zzz{zzz{{{zzyyyyzzz|y{{{{zzz|zzzz{zz{{z{{{{zzzzzyz{z{{{|||zyz{{zzy{{z{{{z|zzzzz{z{z{|{|{z{{{zzzyzz{{|{{|||{y{zzzzz|{{{{z|{z{{z{{{{{{zz|{{z{{{zz{{{|||{{{{{{{{z{{{{|{{{{}||z{{{{{z{{{||}{|}{zzzzz{{|{z|{||}{{zzz{|{{||{||{|{{z{z{{z{}||{|{||{|{{z|z||{|{|{{|{{{{{z{{{}{{|}}{{{{|{zzz|||{||}z|z{{{z{z{z||{||zyz{zy{{z{|||{||{{zz{zz{||}|}z{{{{yz{{|{{{{{{{{z{zzz{zyz{{{z{{||zz{zz{yz{z{{{|{{{z{zz{{y{{{zz{{zzzz{zzzz{|{zz{{|zzzzzzyzz{|zzz{|zzyzzzz{{{{zzzz{{yyyzzzyzzz{y{{zzzzyzzz{|{zz{{z{zzzzzzzzz{{z{{{{z{zzzzzzz||{z{{|zz{z{yzzzz{zz{{zzzzyzzyzzzy{z{{z{z{yzzzzzz{zzz|{{{yzzyzz{{{z{|{{{zz{zz{y{{||{{{zzzz{y{{{{{{z{{{{zzz{{{{yz|{z||{{{z{y{{yy|{{{{{|{{zzz{zzz{|{{{{{|{{{z|z{z|{}||z|{zzz|{zz{{|{|||||{{{{z{zz|||{||{{|zz{{zz{|||{{}|{{|{{z{|{{{{{|z{{{{{z{{zz{{||||||{{{|{z{{{{||{|z|}zz|zz{{{{|||{|}{zz|z{zz{{{{}{||{{z{zzzz{|{{z{{|{{{{zyz{z||{z{|{zz{z{{|z|{}{|{{{zzyy{{{y{{z{zz||zzzzz{yz{z{{z{|||{zzzzyz{{z{{z|{{z{{zzzzz|||{{{|{{zz{zz{{{|zzz{|{z{zzyyy{z{{z{{{zzz{{yyzzz{zz{{{zzzzyz{zz{z{{zz{zzzzzyzzzz{{{{{{zyzzyy{z{{{{{{{z{{{yzzzzz{{{{{{{{zzzzyzzzzzzz|{zyyzzzyyzzz{{{{z|zzzz{{zzz{{z{z{{z{yz{zyz{{|zz{{{zzzzzz{zz{zz{{{{zy{{yyzz{{{{{{{|zz{{zzzz{{{{{{{{{z|z{zzz{{{zz|{{{z{{{z{{{{{{z{{{z{z{{z{z{z{||||zzz{{{z{z||{{{||{{z{{{{zz{{{|z{|{{z{zzzz{||{{{||{z{{zzz{{{{{{|{||{z|{{|{{{|}||||||z|{z{{z|}||z|{||{{z|{zz{{z{|{{{{{{z{{{{{{{{{{z{{{{zzz{{{{{{|zz{{zzzzzzzz{{{{z{z{z{z{y|{|||||{{z{|yz{{zzz{||{{z{{{zzyz{z{{{y{z{|{z{zzzzz{zz{{|{z|z{zzzzz{z{z{{{zz{z{zzzzz{z|{{{|zz{zzz{zzy{{z|{{{z{z{z{z{{|zz{zzz{zzzzzyzzz{zzz{zy{z{yzz{{{{{zzzzzzyz{{zz{|z{{{{{zzzzyzy{{z{{{|{|{zzzyzyzzzz|z{{{zzzzzzzzz{{{{zzzz{zzzzz{{{zz|{{{{zz{zz{|{{{{{{|zzzzyy{{{zz{{{{|{{{zyzzz{{{|{|{{|{z{z{{zz{{{{|{{|{{zz{zz{{{{z{|{{z{{zzz|{z{{{{z{{{z|{zzz{|{}{{{{z{{z{z{z{{{{z||{{zz{zz{z{|{||||{{z{z{zzz||{||{{|{{{z{|{{z{{{||{||{{|{{{zz|{|{|||{{|{z{z{{|||{{|{{{{|{{z|{{{{|||{{{{|z{z{{{{{z{||{{{zyz{z{{{{{{||{|{z{zzz{{z{|{{z{{z|{y{z|||{}{z{y{y{zzzx{z|zz{{{zzzz{zzz{{{{|{{|zzzz{zyz{|zz{z|{{z{yzzzzz{{{zz{{{{{zzzzz{z{{z{{|z{{{z{zzz|z{z}||zzyzzzyyyz{z{{zzzzzzzzzzzzzz{z{{zzyyyzzzzz{zz{{zzz{zzzyyzz{zz{{zz{zzz{yzzz{{zz{z{{zyzyzzzz{zz|zzzzzyzyzyz{zz{{z|yzyzz{zzz{{{z{{{z{yzzz{{|{{{}{{|{zzzzyz{{{|{{{{|{{{{yz{z{{|{|{||zzzzzzzz{{z|{{|{{{{zy{zz||||z{||{z{{z{{{{{zy{{{zz{{z{z{|{|{{||{{z{{z{{{z{|{|{{{{|z{{z{zz|{{||{||{zz{z{z{|{|{|{|}z{{z{{{z{||{{{{}||{{{z{{{||||{|{{{{{{z{{||||{||||zz{{|{z{||{|{|{zzz{{{z||y||{|{|{{|zzzzzzz{|{{|||{|zzz|zz{{|{{{{{z{z{z{z{|}{{z{zzzz{{zzzzz|z{{{{zzzy{zzz{{{z{{z{zz{zy{zz{z|z{{{{{z{yy{yzzz{{z{|{zzzyzz{y{zz{z|{{{z{zyzzyzzzzz{|{{{z{{{zy{{{zz{{zyz{yzzzzz{zzz{{{zzzzzzyzz{zzz{{{zzyy{zzzzz{z{z{{{zzyzy{yzz{z{{zzzzyz{zz{zzzzzz{z{{zyzyzzy{yyz{{{zzzy{zzz{zyz{||{zzyzyzzzz{{{z{{|zz{zyzzy{{{{{{{{z{{y{zz{{{{z{{{{zzzz{{z{{z{{z{{{{{{yzzzzy{|{{{|{z{zz{{z{{{{{zz||{|z{{zzz{|z{|||{{{{{{{{{{{{{{}||{{z{{z{{{|{|{|{||{{}{zz||{|{{|{|{|{{{{{||{{{{||{}{||z{z{{}|{{{|{{|{{z|{{|{{||||z{{z{z{z{|{|z{{{{{|{{|zz{{{{||{||{z{z{yzzz{{z{||{{{{zz{{{{{z{{|{zzz{{z{z{{{{||{{{|z{z{zzz{||{{{||{{z{|{zz|{z|z|{|{y{{z{zz{{|z||||{{{{z{{z{{z{{{|{{{{zzz{{{|||{{||{z{y{{zz|{}{{{{{{z{{{{yz{{{z{zz|z{zz{{z{||z{{|{}zz{{zzzz{{z{{{{|zz{zzzzz{{{{{{{{zz{zz{z{{{|{{{{|zzzzz{{zz{{zz{{{zzzz{zzzz{{z{{z{{z{zz{zy{{zz{{|{{z{z|{{{||{|{z||{{zz{zzz|{{|{|{{{|{{z{{{{{|{{{||zz{{{zz{{|||{|||{{|z{{{z|{||{|}|{zz{{z|z{|{{{{{|{{{}{{{{{|{{||{|{|{|||{{||{{}}}}{{{|{{z{{{|||{{|}{{{{{{z{}||||||{||{z||{}|{||||}|{{{|}z{{}|{{|||{{{{{z}{{||{||{|{y|{{||{|||{||||{|{{{{{{||||||}|{|zz{z{{{{||{||{|z{{z{|z{{{|}{{|{{{z{{|z|}||{{{{{{z{{{|{{||{||{|{{zz{{{y{||||{{}{{zz{{{z|z{||}{|{||{{{z{z{|{{{||{{{z{{z{{|{z{||||{{y{{|z{{{|z|{||{{zzz{z|{{|{||{{{zzzz{z{z{|{{||z{{{{{{z{{|{|||{{zz{{{z{|{{{{{|{{|{{zzzz||{||{||{{z{zzz{z{{{{{{||z{zz{|{{{{|{|{{{z{{z{{z{||{{{|{{{zz{|zz{{{{||{}{{{{zz{z{|{|||}|{z{{z|{{{{{{|{|||{{{}{{{{|{|{||{|{{{z{{|{{{|z|}|z{{{{{{{|||{{}|}|{|{{|{z|||}|||||{{{{{{{}{{}|||}|{{{{z{{|}|||}||}{{{|||||}{|{||||{{{||{|{||||||}|{|{{{||{}|~}|}|{{||{|||{{{}{}|}|||{{{{|{||{||}|||{}{|{||}{||{{}|||{{|{z{||}|||||{z{z{|z{}||||{|{{{{{{|z}|}|{|{{z{{z|{zz{}|{{z{|{{{z{z{{z{|{{||{{{{z{{{z{{{||||{}z{{z{zz{{|{{{||{{{{{z{{||z||{|||{zzz{|z{|{{{||{|{zz{{yz{{{{z{||{z{zzzzz{{z{{||{{z{{{{{z{{z{{{{{zz{|{zz{z{{{|z{{z{z{z{{z{{{|{|{|{{zy{z{z{{|{{|{{{{|{{{zzz|{z{{|{{{{{{{{z{{|||||{{{zz{{|{{{|z{||{z{||{z|{||{||{||z{{z{{{z||{{||||{z{{{zz{|}|{||{{z{|{{{{|}||{||{{{z{{z|z{{{|{|||{{{{{||z{|}|{}}z|z{{{{|{||{||{|}|{{{||{{{|}||{{|||{z{||z{|||{||}}{{|{|{|{{|||||{|}{{{{|z{{}||{|}}||||{|{z{|}{|}||{zz||z|{||}|||}}|{{{|{z{{{}|||}||{{{||{{{|{|||}|{{{{z|||||{|{|||||{{|{{{{|||}||{{|{{{{{z|{{||{{|{{{{{{{z|||{{|||{{{z{zz{{{{z{{|||{{{zz{{|{||{{}{{{{zz|{z|{{|{{{}{{|{{{{z{{z|{||{z{{{z{z{{{{{{z{{{{{z{{{{{z{||{{{||{{|z{{z{||{||{{zz{z{z{{{|z{{z{{{{{zyz{{{{{{{|{{{{zz{{{z{|{{{z{{{|{|{zz{z{{{|{{zz{||z{{{|z{{||{z{{{{{|z{|{|{||{{{{{{z|{|||{{|||{z{{|z{{|{||{}|{|z{{zz{{{{||||{{z{{{|z{{|{|||}}|{z{{{{{{|}|{|{|||{z{|{{{|{{||||}|{z|{{{{}||}||||{|{{{|{|||}|{|||}z{|{{{{|{}||||}|{|||{||z||||}{|||{{|{{}|}}|}{||}{{||{{z}{||}}||||{{{}{||{||{|{}||{|{{|{||||||{|||{{{}{{||}|{|{||{||{{|{{|||||{|{{{{{{{{|}{||{{|{{{{zzz{{{|{|{}|z{{z{z{zz{{|||{|{zx{{{{{{|{{|||||{zz{z{z|{|{{{|{|{{{z{{{|||z{{{|{{{y{{z{{||z{|{{{z{{{zzyz{{{{{{{{{z{zz{{z{|{|{{|zzz{{{{{{{{zz{{|{z{zyzz{{|{{{||{{{z{z{zzzz{{{{||{zz{{{{z{|{|{{{{z{{{{zz{z{{{|{{|{z{{|{zz{|{{|{{|{{{z{{z{{{{{z|{||z{zzz{{|{{{z|{|{z{{z{{{|{{|{{|{|{{{z{|z|{|{{{}|{{{z{{{z{||{||}{{|{z{{{{||{|||{||{{{{|{{{}||}|}|||z|{{|||||}||||{{{||{z{||}}|}|||{z||{{||}|}||}{|{{{|{{{{}{}{|}|}|{{||{|{}|{|}}|{{||||{||}||||{|||{{|{{|{|||}}||||{{|{|{||{}|}|}|{|{{|{{{|}{|{|||{{{{{{z|{||{||{z|{{{{{{|||{|{|{||zzzzzz{|||{{|||{{{z{z|{{|{z{||{zzyz|{z{{z||||{|z{z{zz{{{{|z|||{{{{{{{z{z{{{{{|{z{{{{z{{{{z{z{|{z{{{z{{{{|{{|{{{{{yzz{{|{|{{z{|z|{y{{zzz{|{{{|{zz{{z{zz{|z{{|{||{{zz{zzz{|{{|||z{{{{zz{{{{{z|{||{|z{{{zz{|{{{|{{{z{{{zz{|{{{{|{{zzz{zz{{|||{{}}|{{{zz{{||{{||{||{|{{{{{{||{||}||z|{|{{{z||||{||{z{z{{z{{||}|{}{{|||{{{z|||{{}{|{{{{|{{zz}}||}||{||z{{{{||{|}|||}||}{{{|||}{}|{{|{||||{{||||}||}|{{{||{{{||||}{{|{{|z{{{|||{|||||{|||{|||||}|||||{{|{{{{|{{{{||}|{{||{{|||{|||}|{z|z{|{z||||{|||{|{{z{|z{|{|||{|{{||{{{{{{||}{|z|{zz{{{{{{{{z{{|zz|{zzz{{|||||||{|{z{{{z|{|{{||{|z{{{{{{|{{{zz||{{{{z{zz{{|{|{z|{{zz{z{{{|{|{||{}{{z{{{{{{}{{{z|{{{|{{z{{{{|{{z{{{{z{z{{||{z{|{{z{z{y{zz{z|z|{{{{z{zz{{zz{{||{{|{{zz{zzzz{{{z|{|{z{zz{z{z{{{|{{{z{{{{{zz{|||{{{{zz{z{z{z{||{{}||{{{{{z{z|||{{{|||{|{{zzz|z{{|||{{|{z{{z{z}{{|{|{|{{{{{{{||||{|}||z{z{|{{|{{{{|||}{{{|{{|||{||{|||||{{{|||||{{{||{|{{|{|||||}||{}|{{{{{|{||{{}}|{|}{|{{{{|{|||}}}|{{|{|||{|||||}}|{|{{{{{||||||||||{{{{z{||{|||}}|{|{|{{|{||}|}}||||{|{|||{||||}|{|{z{|{z{{}|||{||{|{zz||{}|}|{{{{{{z{{{z{{{z||{{{{zz{z{{{{{|||||{{zy{z{z{|{|{||{z{{zzzzz{{||{{z|{zz{z{zz|{|{{{||{{{z{{zz{{{|{|{|y{{zyzzz{{{z{{{{{z{{{z{zz|{{z|||{zzz{zzz{{{{z|{{|z{{{zzzzz{{|{{{zzz{zzzz{{z|{|{|{zzz{zzzz{{{{{{{{zzz{z{{zz{{{{|{zzz{{zz{{z{{{{{{{zz{{z{z{|{{z{z{{{|{{{{z{|{{{|{{{{{{zzz{{{{|{{||{{|{zz{{{{{{{||{{{{|{{zz|{||z{}{{{{|{zz{|{{z{||{{{|z{{z{|||}||{}z{{{zz{{{|{}{|}||{z|{|{{||}|{||{|{{|{z{{||}{|}}|{|{{{{{{|}|{||}|||y{{{{z||||{|{|{{||z||{|{{}|}}|{{{{z{{|{}||||||{{{{|{{{{|||{{|{{{{z{z{{{{||{||{||{z|z{z{{{||||{{{{{{z{{{{}|}{z{{z{zz{z{z{||{{||{{z{z{{z||||{|||{zzz{{{z{{|{{{{{{{{{zyzz{{|||{{zz{zzz{zz{{{{||{{{z{zz{{z{{{{{{{z{zzzzzz{y{{{{{{{{zz{zxzzz{{{{{{{zzzz{yzz{{{{{{{{zzzzz{zz{{{{{{|{zz{zz{{{z{zzz{{|{{{zzzzyz{{{{{{{zz{zz{yzy|{{{{|{zz{z{{zz{{|{||{|{{{z{{z{{{{z{{{{z{{{{z{z{{{{|{{|{z{{zzzz{||{z{{{{z|{{z{{z{{{{{{|zzzzzz{z{|{}{{|{{{{z{|{{{|{z{||{{z{{z{zzz||||{{|{z{z{{|{zy||||||{z|{|{zz|||||z|{|zz{|{{{|}{{||||{|{{z|{{{{{{|||||{{{z|{z||{{|{|{{{|||z|{|{|{|||||{z{|{{{{|{|{}||{{zz|{z{|{||||{||{{{{{{|{||||{||{{{{z{{z{|{|{{{{{{zzzz{{{{||{|{z{zz{z{zz{{{{{{{zz{z{z{{z{|{|{{z{z{{|{{{{z{{||{{{|zz{{zz{{{z{z{{{{{{z{zzz{z{|{|{|z{z{z{zyz{}{{{{{{{{zzz{{{z{{{{{{{{zzz{{{|{{|{{{z{{zy{z{{{zzz{|{{{{|zy{y{z{{{||{{{z{zzzyyz{{|{||z{zzzzy{zz{{z{{|{z{z{{z{zz|zz{|z{{z{z{zzy{z{{|z||{{{{{z{z{|{z{|{{{z{{z{{{{z{|{|{{{{{zz{|{{{}{|{{}{z{|z{{{{|||{||{{|z|z{{{{{{||{|{z{z|{{||z|{{{|{{{{{{{z{{{|{{|||{{{{{|{||||{|||||z{||{{|{|{{|||||{z|{|{{{||{{}{{}|{{{{{|z{||}||{|}{|{{{{z{|{||}||{{|{z||{|{||{||||{{{||{{{{|}|||||{{{{{{||{{||{||{|{{{|{zz}{{{||{{zz{{{{z{|{{|||{|z{yz{zz{{{|{{{{zzzzzzzzz|||z{{{|z|{zzzz{{||||{|||{z{|zz{|{{{{|{{{zz{zzzz{||z{||{z|zzzzz{{{{{{{|{{{{zzzz{|z|{|z|{z||zzzz{{{{{{|{{z{yyzz{{{z{|{|{{z{{{zzz{{{|{{{{z{{{{zzz{z|||{|||{zzzzzz{{|{|{|{z{zz{z{zz{zz{{|zz{zz{{y{{{{|{{|}{{z{{{z{{{{{{{|{zzz{z{zzz}||{{||{|z{{z{{|}{|{|{|{z{{{{{{z{||{{|{{{{y{{{{z|||{z|{{{{z{{{z||{{|{{||z{{{{||{{{{|{{|{|{{{{z{{{||||||{{|z{{{{{|{}||||{{{{{{{{|||||{|{{|{{{{|{|{|||{}}{{{|{{{|{|||{||}|{{|{|||{}{|}||{|{||{{||||||{|{{|{z|{{{|||||{{}{|||{{{{|{{||{|}}{||{|{{|z|||{|||{z{{|z{{|||{{{|{{{{{{||{{}||{||{{{zzzz{z{{||{||{{{zz{{{{z{{{{{||{z{{z{{{z{{{|||{{{|z|{zzz|{{{z{|{{{z{z{{{z{{}{{|{zzz|{z{z|{z|{{||{{zzz{zz{z{{{{{zz{zz{{z{{|{{{{{zz{zzz{zzz{z{{|zzz{z{zzz{{{{{|{|z{{{zy{{z{z{z||{{z{{{z{{{|zz{z{{{{zz{zzzz{||||{{{{{z{{{z{{{{{{|{{{z{{zzz{|||{|{{{{z{zz{{{{|{{|||z{{{zz{z{||{{||{{{{{{{zzzz||z|{zzz|{{|yzz{|{||||{{z{z{z{z{{{||{||{{{{{{{|{||||}|{|{{{{{{||||{|}{{{||{{{{|{|{|||||{{{||{|||}{|}}|{|{z{||{{}||{||{{|{{{z|{{}||}|}||{{|}{{||}|{||||||{z|{|z{|||||||||{{{{z{|{{{|}||{{|{{{{{{||{||{||{{|{{}z{|}|{|{|{{{{{z{{|{|{||||zzz|{{{z{||z|{||z{zz{z{z{z{||||{|{{zz{{z{{{{{{{|{z{{{zz{z{|z|{{|||{{{{{z{|{{{{||{{{{{{{zz{{{z{{|{zzz|zz{zz|zz{{{zzzzzzzy{{z{{{|{zzzz{z{z{{z{{||{{z{zzzzzzz|z{{{|zzz{|{{z{||{{{||z{{{{{zzz{{{z|{{{{z{{zz{z|zz{{{{zz{{y{yz{{z|{{|{|{{z{yz{{|z{|{{{{{z{{{{{{{|{{{||z{z{{{{|||{{{||{{{|{{{z|z{{|{|{{|{{{{z{z{||{|z|{z{{z{z}{|{{}||{|{{z{|{{{||||||{}{{{{{|{{||{|{||||{{{{{z{}|||{|||{z{{{{{{||||||}{|{{{{{{{||||}}}|{{{{{||{|||||}||z{{||||{|||}||}|||{{{{{{{|{|{|||{{z{||{{|}}{{||}{|{{|{{{|{{||}||}{z{z{{z||}{{{}|{|{z|z{z|{|{{|{zzz{zzy{z{{|z{{}|{yz{{{yz{z{{{|||{zy{z{{{{zz{{{}|{z{zzzz|{z{{{{{|{{{zz|{zzz|{{|||{{{y{z|{z{zz{{{{{{{{zz{{z{{zz|{{z{zz{z{{{z{{z{{{{zzz{zz{{{{{|{{{{zz{zz{zz{{|{{z{{{{{z{{z{{{{{{|z{zz{z{{z{{zz{z|{z{{z{z{zz|{{|||{{z{zzzzz{{{|z||{}|{zzzz{|{{||{{|z{{{zz{{|{z{{||{zz{{z{{{{{{{{|{|{{{|{{zz|||z||{|{zzz{y{z{{|||{|{{{z{{{zz{{|{|}}{{{{{{{{z{{|||||}|{|{z{{{|{||{}|}|{|{{z{{{}|||||||z{z|{{{|||{||||{{|{|{||{||{|}}||{{{{{{|||{|||}}|{||{{{|||{|{}|{|z{||{|z|{||||||||z{||{{{{{|}|||||z{||{{|{{{}{|||{{z{{|{{|{{{}||z{||{zzz{|||{z{|{{zzzz{{{{{{{{||{|z{{zzz{z{{{{{{zzzzzz{{{{{{{|{||{|z{zzz{{|{||{{{|{{{z{{{{{{|{{{{z{{zz{zz{{{{{{||{z{z{z{{z{{z{{{{y{zz{{{z{{z{{{|{{z{zzzz{{z{zz{{{z{zzzzzz{{{{z{{{{{zz{yy{{z{z|}{}z{{zzz{{|{{{{{{zzzzzyzzz{z|{{|{{|{{zz{z{|{{{{{zz|{{|zz{z|{|z{||{z{{{zzz|{{{|{{||z|{{{{{|{{z{|{||{{z{{{{{{{|{|{{|z{{zzz{|{|z{{}{{{{{{zzz|||{|||||{z{{|{|||{|||{{||{{|{{{||z|||||{{{{{zzz{{|{{{||{|{{{{{{|}{|||{|{{{{z{{|{||{{{{||{|{{{{z|}{}|||}{{{zz{{{|{{||{|}}{{{{|{{|||{||{|||{{|{z{|||}|||}{||{z{|{{{|{{|||{{z|z{zz{|{|{{{||{}zz|zz{|{||{{{{z{zz{{z{|{z{{||{zzzzz{z{z}{}|{||{{zzz{{z{{{|{}|zz{{{zz{z{{{z{z{|{{zz{z{{{z{{{||zz{{{zzz{{{{{{{{|zzz{zz{{{||{{{{{{{zyz{{|zz{{{{|{zzyzyzzz|{z{{|{{{zzz{zzz{|{z|{|zz{{zzzz{{|{|{|{z{zzzzzzz{z{{{{{y{{{z{zzz{z{{{{|z|z{{{{z|{{{{{|{{z{{zzz{{{{{{{{{{{{{{z{{{z|{|{{|{z{{z{{z{{|{|{|{{z{zzz{{{||{|||zz{{{z{zz{z|{{{}|||{{z|{|{{|{{{{|{{{{{{|{|||{{|{{|{|{{{{{|{{{{|||{z{{|{{|{|||{||||{{{{{{{||||{{||||{{{||{{|||||||{{z{|{{{{|||||{|}z||{{{{{{|||{{||{||{{{{{||}||||{|{|||{{||{|||{||{|z|{{{{{{{|||||{z{z{{{|{|||{|{|{{{{{z{|||}|{z|zzyz{zzz{{{{z|{{{{zz{{z{{}{|{|{|z{{zyz{z{{{{{||{{zz{{z{|{{{|{{{{{{{{zzz{z{{{z{|{{{z{z{|{{{{{{{{|zz{{{zzzz{|{{{{{{{{zz{{{z{z{{z{zzzz{{zzz{{{{{|{{{{zzyyzzz{|{{{|{{{zyzzzy{z{||{|{z{y{{{zy{{z{||z{zz{z{zz{{{{z{|{z{zz{{{zzz{{|{|{{{yzz{zy|{}{{{{|{{zz|zz{{|{{{|{{|{{{z{z{{{}{{z}{|{{{|{zz{{|{|{|{zzz|{zzzz{|}|{||{{{{{|{z{||{{||{{{{{{zz{{{{{||{||z{y|z|{||||{{{|||{|{{z{z|||{||||{{{{{{|z{{{||{||{|{{{z{||}{|{|||{{|{{{{{|}|||||}|{z|{{|{||{|{{|||z|{{{{z{||{|}|}{|{{{{z{|||{||{}{{{{{z|{{{{|z}|||{{z{{zz||{}||||{{{z|{z{{{{{{{{{zzz{zz{zz|{{||{|{zzzzzzz{{z{||{|{{{{z|z{{{|z{{{|{{zz{zz{{{||{{||z{|{zz|z||{{{{||{{{zz{zz|||{||{z{y{z{{z{{{{z{||z{{z{z{y{{|{{z{{{zzzz{zz{{{{{{{{{{yzzzzz{{{{{{{|zzz{zzz{y{{{{{{z{{zzzz{{zz{|{{{{{{zz{|{zzz|z{{{{|{z{zzzz{zz|{{{||{zz|{{{{|{{{|{{|{{{{{{{z|{z|||{|||{{zz{{||{{{{|{{|{|{{{|{||||}{{{{{zz{{{{||{|||{{{{||{{|{|{|||}{|{|{{{{{{||}|||}{{{{{|z{{|{}||||||{{z{|{|{}|{{{}|{{z{{|{|||||||||{{}||{{{|}||||||{{{|{{{{|||{}|||z{|{{|{|{|||||}|{|{{z|{|{{|{}|||{{{{z{{{{||||}|{{{{{z{{{||||{||{{{{{z{{{{{|||||{{|z{{{{{||}{{|{{{{{z{{z{|{{{||{{{zz|zz{{{|z{}||z{{|zz{z|z{z|{}{{z{{zzz{z{||{|}|{{|zz{z{z{{{{||{{{z{zzz{{z|{{||z{zz{{{zzz{{{z|{{{z{zz{{z{{z{||||zzzz{yzz{{{z{{|{{z{{zzz{{{{|{||{{{{zzzzz{{{z{{{{{zzzzy{{zz{{{z||{z{z{zzz{{{{|{{|{{{{z{{z{{|{{|{{{zzzzz{{z{{{{{{{z{{z{z{{{{{{||{|z{{zz{z{|||{}{{|{{{{zzzzz{{{{|{|{z{z{{zz{||||{{{|{|zz{z{||{{||{{{{{z|{{{{|{{||{|{z{z{{|{||{|{|||{{{{{z{{||}||||||{{|{{{z|||{}{|||{|}|||{||{|}||||{{{{{|{||}||||}|{||{|{{||{}||||{{||{|{{{{{|}|}||{|z{|{|||||{{{}{{|z{z{{|||{{{|||{{{{{yz||{||||{{{|{{z{{|{{{|z{{{{zzzz{z{{{{{zz{{{zzy{zz|{||{z{|zzzz{{{z{{{z{{{z{zz{{zz{{{{|z{{{|zzzzzz{{{|{{{|{{z{zz{{z{{zzz{{z{zzzz{{{z{{z|{{|zz{y{zz{z{|{{{{{{zzzzyyzz{{|zz{{z{zzz{zz{{||{{||zy{z{zzzzz{z{{{{z{z{zzzyz{z{z|{{{{zz{z{y{{{{z{{{z{{{{{{y{z|{{{{{{zz{zz{z|{{{|{{{zz{zzz{{{{{|{|||z{zzz{{z{{|{{{||{z{{z{{zzz|{{|||{yzz{|zz{{{z{||z{|{{{zzz|{{{{{|{{{{z|{zz{{||||||||{{||{z||||{|||{{{{z{y{||||{||}|zz{||{|{|{|}|||{{z{||{|||||||z|}{|{{z|{{{|}{|{||{{|{z{{|||{{|||{{{||zz{||{|||}|{{|{{|{{||{|{|{||{{z{z{z{{{{|||||{z{{{z{}{{{{||{|{{{z{|{{{{|{{||{zzz{zz{{|{{|{{|{{{z{z{z||z{|{{|{{zz{{{{|{{{|{{{|{{z{{z{{|{|z|{{z{zz{{{z{{{{{{{|{y{z{z{z{|{{|{{|{{{{zz{z{{|{{|{{{z|zz{{{z{{|{{|{{{{{zz{z|{|zz||{{zzzzzz{{{{||{z{{zyz{{z{z||{|z{{zzy{z{{z{{z{|{|z{{yzzz{zy|z{z{{{zzz|z{zz{z{{|||{{z{{z{zy{{{{|{||{z{{z{|z{{{||{{|z{{{{zz{||{|{{||{{{z{y{{||||||{{|{z{z{{{{{|||{|{{z|{{{zz{{||{{|{z{zz|zzz{|{|{}{{zz{{{{{{{|{|{|{|{z{zz{{{||{||{||||{{zz|{||||{|{}{{z{|{{|{|||||{}|{|{{{|{{|{}||{|{{|{{{{{{|{|||{||{z{|z|{{{|}||}|{||{{{|{{{|||||{|{{z{{{{|{{|||{{|{{{{{{{{}|}{{|{{z{zzzz{||{|{{{z{{zz{{{z{||{{{||z|{{z{z{|{z{{}{|{{zz{{z{{{{||{|{{{z{{zz{{{{{zz{|z{{zzz{z{{|{{{{|z{z{y{{z{||{{|{{{{zz{zzyz{|z{|{|zz{z{z{{{{{|{z{|z{zz{z{z{z{{||}|{z{{zz{z|{{{{{z{{z|z{zzz{{||z|||{z{z{yz{z|{|{{{|{z{{{zz{z|zz||{{{{{{{{{zz||{|{{{{{z{{zz{{{z{{|}|{{zz{{{{}{{{||{{{z{z{z{z{{{{z|||{zz|{z{z{{|{z{|{{{{{z{|{|}{|{|||{z|{{{{|z|{{{}}|||{{{{{{|||||||{|{{{{{{{{|{z||||{{|z{{{|||{||||{|{z{|{{{|}|{{|}||{{{{{{|z|||||~}{|{{{{}|||||||||{{{}|||z}{}||||||{{||{{{}||||||}|{{{|{{{{|||}||||{|{||{{|{{||||||z{{{{|z{||||{|{{{{{{{{{|||||{{|{{zz{z{z{{{{{||{{zz{z{{yz{|{|{||{{{{{{yz|{{{{|{|{{{zz{z{|{{|{{{|{|zz{z{z{{{{{|{|zzzz{{z{{{{z{{{|{zzzzzzz{{{z{|{|{z{zz{zzz{{{{{||zz{zzyzz{{{{{{{z{{{zy{zz{{||{{{{{z{z{zzz{{||{|{{{z{z{zzz{zzz{|||z{{zzz{zz|{z{{z{{zz{{{{{{{{{|{|{{{{{|y{zz|{|}{||{{{{zzz|{{{|z{{|{{|z{z{{|{|{{{|z|z|{{z|z{{||||}{{{yz{z{{{|z|{{|{{{|{{zz{{|||{{{{{{{{{{{{|{{{|{||z|{{{z{{|||{{|}}z|{||{{z|{|}{||||z{|{{{{||{{|z}||{{{{{{|{||||||||{|z{||{{}|}}|}||z|{{||{}{||{|{||{||{{|z||{|||||||{||{|{|||}||||{{z{{{{z{{|{||}{{{{{{|{{||{|||||{{{{zzzz{{|{||{{zzzz{{|z{{{{|{|{{zzz{z{z{||{|||{{{{|z{{z{{{{|{{{{z{{{{zz{|||{{||{{z{zz{{z{|{{|{|{{{z{{{z{{{{z|||{z||zz{z{{{zz{{{{{{zz{z{{{{|zz{|zz{{{zz{{z{{{z{{zzz{zzz{z{{{{z{{|{{{z{{z{{z{|{||{|{zz{{{z{{{{{{{{zzz{{z{z{z|{{|{z{z{z{zz|{{{|{|{{{{{{z{{{|z||||{{{{{{{{{|{z{{|||z{z{z{{{||{{||{{{{{{{z{{{||||||{{{{{{{{|{{}{}|||{z{{{zzz{}{|{}|||{{{|{z|{{}||{|{{{|{|z{{{{{||||}{|{z{|{{|{|||||||{{}|{{{|}{{{}||{|{{{||{{|{||}|}}{{||{z||}{||}|||{|{|{|{{}|||}}||{|{||z{{{{||{|}||{|||z{|}{||{{||{|{{{|{{{{{{||}|z{z|{{|{{{|{{|{{{{z{{{{{||||}{{|{zzzz{zz{||z|{||{{z{{{z{{{|{|{|{{z{zzzy{{z|{{||{|y{z{{{{|{{z||{{{{zzzzz{{|{{{{|{{{z{z{z{zzzz|}{{z{zz{zz{||{{{{|z{zz{{{z{{{{{|{{{{zzz{zy|z{{|z|z{zzzzzz{{{{z|{||{zz{{{z{{{|{|{{{{z{z{z{z{z{{{{{|z{z{{z{{{{{{|||||{{z|{z{{{|{{{|{|{zz{{{{||{|{|z|{{z{{{{{||{{{|{|{{{{zz|{|{{{{{||{{z{z{{|||||{|{{{z{{z{{{{|{|{|||{{{z{{{{{||{{}|{z{z{{{{||}{||{|}z{|{{|||{{{|||||||{z{{{{|||||||||{{||{{z|||||||}{{{{{{|||||||||}|{|{{|{{{|}}}}|||{{{{{{{{||||||||z{{{{{|{||||||||{{{{{{{|{{|{}|||{zz{|{{{|{|{||||{{z{{{z{{{|}||{z|{|z{{{{}||{|{{{{{{{{zz||{{{|{{|{{zzz{y{{{z{{{{{zz{{z{{{{{{|{{{{{{{|y{z{z|{{z{|{zzzyz{z{{{{|{{{{{{zz{zz{|{{{{{{{zz{{zz{{{{z{|{{{{{{z{zzz|{{{z{{{{yz{zz{z|{{{z|{{z{z{z{{zz{{|{{z{zz{zzzzz{z{{{|{|{{zyz{z{zz{{z{{{{zz{y|{z{|z||z{{{{{z{zy{{|||{{|{{z|{z|{{||{{|||{z{|zz{{{{z|||||{{z{zz{{{|{|{{||{z{{z{|{z|||z|{{zz{z|{z{{|{{|{{|{{{{|z{{{|{{{||{|{{zz{{{}|z|{}||{|{{|{{|{|{||{||{{{{z{z|||}||{|||zz{||{{||||||{||z{{{|{{{{||{|}}||||{{|{{|||{{}{{{{{{|{||||{}||{{|{z|{{|{|||{|||{{{|{zz|{|{|||}||{{{{|z{{{z{||}}|{{{{{{|{|||{{|{z{|z{z{{{{||{z{{z{{{zzzzz{||{{{|{z{zzzzz{{{{{|{|{{{z{z{z|{{{z{{{{y{zzz{{zz{|z|{{zyzyzz{zz{{{z|{{{zz{z{{z{||zz{{{{{{zzzzz{|{{{{zz{z{zyzzz|z{{{{{z{zyzy{yz{z}zz{{{{{{zz{{z{{{{|{{{zzzzzzzzzz{|{{{{zyz{{zzzz{|{zz{{z{zzz{z{zzz{{z{{{z{{zz{y{zz{{{|{{{zz{zzz{{{{{{{{{z{{{z{z{{{{{{{{{{zzzy{{z|{{{||{|{{{zy{{{|z{{|{|{z{{zzzz{{{{|||||z|{{{{{{{{|{||{{{z{|{z{{{|{{|}|{{|z{{|z{{|}{|{|z{{{{z{{||{{||{}||{{z{{{{|{||}{|{{{{{{{{{{{{|{{}{{z{|{{{{}||||{{|{{{{|{{|z{||{{{|{{{|z{{{{{{|||{||{{|||{{|{|||{{|{zz|z{zz{{|{z|{{{{zz{z{{||{z{|{{{{|{zzz{|{{{|{{z{zzz{{y{|zz{{{||{yzzzzz{z{|{|{||z{zzz{zz{{|{|||{zzzzyz{{{{|{{{{zz{zzyzz{{|{{|{{{zz{y{{{{z{{{{|z{z{{{zz{{z{{{{{{{{{|zzz{{{z{{{|{{zz{zzzz{{z{z{{{{{zyzzzzy{{zzz{{zz{{zzzy|zzz{{{|{{zzzz{zz{{{{{{{y{zz{zz{z|{{{{{{{{zz{{|z{z{{{{{|{z|{{{{z{{{{{{||{z{zzy{{|{{{z{|{z{{z{{{|{{{z||{|{{{z{|{{{{{{|{{|z{{y{{z{|||{{{||zzz{{{{{z{||z|{{|{|{|{{{{||||{||{|zz{{|z||{{{||}|{|{zzzy{{||}{|{|z{{{{{{{||}{|}||z{{{{z|{||{|{{|{|{{{{|{{}{{|{}{{{{{|zz{{}{{{|{{|z{{{{{{|}||{|{||{{|{{{{{||{{|{{{zz{z{z{{}{|{}{{|z{{{zz{|}|{{{|{{z{{{{{{{||{}{{zz|zz{{zz{{{{{{{{{{{{{yzz{z{{{||||{{z{z{{{|{{{z|{z|z{{z{z{{{{{||||zzz{z{z{|{|{{{|zz{zzz{|z{{|{{|{{z{{z|z{{{|{{{{{zz{zz{zz{z{|{{{{{{zzzzzz{||z{{{|{zz{zz{{|z|{{|z{|z{zyzz{|{{|{{{|{{zzzy{z|{{z{{{z|{z{{{{{{{{z|||{{{{{{z{zz{{{{|{|{{z{zz{z{|{{{|{|{{zz{z{{||||{|||{{{z{|z{z{||z||{{||{{z|z{{{|||||{{{z{{{z||{{{{|{{{{{{{z{{|{{|||||{{{|{z{{|||{{{|zz{{{{|{{|{||||}|{z{|{z|||{||||{|{{z|{{z|||||}||{{z{|||{{}z|{}||||z||z{{|~|||||}|{|||{|{{{||||}{|{{{{{{|||}|{|}}||{||{{{z{{{}{||{{{z{{|{||{{{|||{{{{z{z|{|{|{{{|z{||{z{z{|{{|{||{{zz{{z{{|{z{|{{{{z{z{z{{z|z{{{|{{{zz{{zz{{z{|{{{|{{{zzz{|{{zz{{{z{zzzzz{{{|{{{||{{zzzzzz{{z{|{{{{{yzzyz{{|z{{{{{{{zzzzz{{|{{zy|zzzzzzz{z{zz{|z{zzzzz{y{{z|z|z{{z{{|z{yzz{{{{{||z{yzz{{yz|z|{|zz{z{zz{{{y{{{{{{{zz|z{{{{{|{{{z{||{{z{z|{|}{|||}{{{{{{z{{{{{{{|{|{{|z{z{z{{{{{||{|{{{zzz{|z{|{{||{{{{{{{{|{||{{{|{{{{{|{{{{|{|{|{{|{{zz{{|{{z|||}{{{{{{{{||{||||||{{{{z{z|}||{{|||{|||{||}{|{||}||{z{z{|{{|{{{||{||{{|{{{{|||{||}{{|{{z||}||{{||{{{{z{z||{{||||||||z||}{||{{|||{|{zzz{{{{z{{|{|{|{{{{{{{z{|{||{|{{z|z{z{{}{|{{|{|z{{z|z{{zz|{{|{{{{zz{z{z{{{{|{||{{z{{z{{|{||{{{{z{{z{zzz{{||{{{|{{{z{{{{|{{|z|||{z|yz{{z{{{{{|{z{z{zz{zz|{|zz|{{{z{zz{zzz{{{}{|z{zzzzz{{{z{{{z|{{z{zzzzzz|{{}{{{|{{zz{z{{{{zz{{||zz{zzzzz{z{zz{{{{{z{z{z{{z{z{{|z{{z{{z{{{{|{z{|{{{z{z{{|{|z{|{{|{|zz|{z{||{||||{{|z{{|||{|{{||||{{|z{{{{||||{}|{|{|{|z||||z{z}|{zy{z{{|{|||{||{|{|{|{{{{|||{||||{z{|{{{|||||{}|||{{{z{|{{|||}||}{{{|{{{}}}|||||{{|||{|{z||}|{|{|{|{|}{{{}||}|||{{||{{{{||}|{{}|{zzz{{{{||||{|}}||z|{{{{||{|{|||{{{{{{{z|||}|}|}{|{|{{zz|{{|z{{|{{{{{z{z||||z|{|z{zzzz{zz{{{|{|{z|z{z{{zz{|{||{|{{{z{{zz{{{z{{||{{{zzz{{{|{|z{|{{zz|z{{z{{{{|{{|z{{{{{{{|||z{||z{{{z{{y{{{|{{{{{zzzzzz{z{{{{|||zzzz{{{|zzz|{{{|zz{y{y{{zz{|z{z{z{{{{{zz{zz{{{z{}{zzzzyzzzzz||{||{z{z{z{zz{z{{{{{zzz{z|{z|{{{|{{{|zz{{z{z{{||{{|{|z{{{zz{||{{{||{z{{{y{{z|||z{{}{|{{{{{z{{{{||{{{{zzz{{z{|z{{{z}|{|zz{{{|||{{|||{|{||{{{z||{}{|{{z{||z{{{|}{|{|{||{|{{{{{{{|{|{{|{{{{|z|{||{{{|||{{{{{|z|{||{|||}|{|{{|||{|}|||~||{||{{{{|}|{|||||{||{{|||{|{{{{|||{{||{z|{{||||}{{{{{z{|{{|{|||{|{{{{{{z{|z}z{||{{{yzz{{{{{|{|z{{{zzzz{z{|{{|||{{{{{zzzz{|{{{|||{z{z{{|{z|{z||{|||{{{z{{{{||zz|{{z{zzzzy{z{{z{{|z{{z{{|{{{z{{{{{{{zzz{z{{|{{||z{|{z{{{zzzzy{{{|z{{z{{z{zz{{{{|{{zz{{{zy{{{{{|{||{{{{zzz{z{{{z{{|zz{{{z{z{{{z{{{||{{zzzzzy{z{z{{{{z{{zzzz{{{{z{{{z|zz{z{{{|{{|{{{{{||zz{zz{{|||||{|{{{z{z|{|{{|{{|{{{{z{{{{}||||{|{{||{zz|{|||{|{{z{|z{{{{{|{{|{{||{{||z{{||}}|||{{|{{z||||{|{|}|z{{{{{{{{||{|||||{{{{{{{|||{||{||{|{{||||{{|{|{}{{{{{|{{|||{|}}{}{{}{{||||}{{|||}|{{||{||}{||{|}{{{{|z{z|}||{|}{{zz{|{{{|||{||{}|{|{z{zz{{||{|||{{|{{{{z{{||{|{y{zzz{{yzy{{z{{{{z{zyz{{z|{|{{{|{{{zzz{zz|z{{|{{|||{z{zzzz{{|{z||{{zzzyzz{{{|{|{|{{{zzzzz|{{{z|{z{zz{{z{z|{||z}|{{z{z{zz{zz{{{|{{z{{{zzzz{||{{{|{{z{{zzzz{{|{|z|{{z{{z{{y{{{{{{{{{{{{{zzzz{{z{{{{{z{{{yyzy{z{|{{zz{{{{zzz|{{{{{|{|{zz{{{z{{{|{||}{{|{{{{z|{{{||{|z{|{{{{{{{|{||{}{{{{zz{z{|||{{|{{{{zzzzz|}||{{|||{{|{{{|||||{|{{z{{{{|{|||{{{||}||zz{||{{||{||{}{{|z{{{z{{||{|}||{y{|{{{{|||}|||||{{|{|{{}|||}|||{{{{{{{|~{}||||{{|}{{{|{|||{|{{{||{z{{|{||{{|}|{{{|{{{{{{|||{|}{||{{|z{|||||{|{||{{z{{|{|{||{{|{z{{zz{{{{||||zzzzzyzyzz{{z{{|{|{{z{{{zz{z{{|{||{zzz{zzz{{{z|{|{{{{zz{z{{{{}{{|{|{{zzzzz||{|{{{|{zzzzz{{{|{{{{{zzzzzz{z{{|{zz{{{zz{{{zyzzzz|{{||z{yz{yzz{{{{{{{|{{z{{zzzzz{{{{{{{z{yzzz{{|{z{{||{zzy{{zz{{{{{z|{|z{zzzzzz{{{{|||{z{z{{zz|{{{{{|{|z{{{z{{{|}|{{|{{{{zz{{z{{{zz{{{{|{{{z{z{|{|{{|{{|z{{z{|{|{|||{|{{z{{{{z{}{{|||{|{z{{{z|{{||{|{{{|{{{|{{|||}|}|{{{{z{{{{{}}||||{{z{zz|{{||{||||||{{{||||}}|{|}||{{{|{|{{{}||{||||z{|{||{{||z||{||{{|{|{|{||}|||}|z{|z{{{{|{||}}}{{|{{{||}{{||||}{{{{{z{{|||z{|}|{|{{{{{z{{||||||{{|{zz{zz{|{{{{{z{zy{zzz{|{{{{|{{yz{{zzz{{|{{|{{{{{{{zzz{{{{}{{|{z{z{zzz{|z{{{{|z{{{zz{z|{{{{{{|zy{yy{{zz{z{z{{{{{{zzz{zzz{{z{{zzz{{zzzzzz{{{z{|zyzz{zzz{z{|{|{z{{zzz{zz{{|{{|||{zzzz{z{z{{{|{{|z{{z{zzzz{zzzz{{{z{y{z{z{{{{|||z{z{{zzyyz|{{{{{||{zz{zz{{||{{{{{{z{{{{{{{{{{{{||{|z{{zz{{}|{|{{~z{|{|z{z{{|{{}|{|{zzzz{{{{||{||{{z{{z{{z|{{{||||zz{{|z{{||{|||{{{{|{|{{{|{{|||||{{{{{{{z{{|||||{|{{{{{{{||||{||{{{{{z|{{{|}|{{|||{|{{{|{{}{{||}||{{{{z{{}||{|||||{{{{{{{{||{|||||{{z|{{{{||||{||{{{{{{{z{{{{||||{z{{{z{{{{{z|{|{{{zz{{z{{{{|{{{{z{zy{zzzzz{{z{|z{{yyzzzz|{{{{{{{{zzzzz{z{{{|{{|{{{z{z{zzz{{{z{}{{z{zzzzz{{{{z{|{z{zzzzzzz{{zz{{zzyzzzyzzz{|{z{{{zzzz{{yzz{zz{{zzyzzzzyyy{{{zz{{{z{zzz{{{{z{{{z{{{zz{zyzy{{{{zz{y{zz{zzzzzz{z{{{z{z{yz{zz{z{{{{{z{y{zz{{y{z{{{z||z{zyzy{{z{z{|{{|{z{{yz{{{z|{{z{||{zzzzzz{z{|{|{{{z{{{z{zz|{|{|{z{{{z{zzzz{|{z{|z|{y{zz{{|{|zz||{{z{{{{{{zz|{||{{z{{z{z|{{|{|{||}|{{{zz{z{||{{|{{|{z{{{zz{{|{|||}{{|{z{{{{||{||{||{z{{|{{{||{||||{{z|{{z{|||{{{{{{z{{{{{{{{|z{||{|{z|{z{{|{{|{|||z{zz{z{z{~{||z||||z{{{{z{||{{{|{|z{zy{zzz{z{{{z{zzz{zzzy{{z{{{|{{zzz{zzz{{{z{|{|{{zzz{z{|{{{{|{|zz{{zzz{|z||{{{z{|zzz{{{{zz|{{{|z{zzzzzz{z{z{z{z{yzzz{zz{z|{{zz{{{z{z{zz{z{{{z{|z{{{{y{z{{{{{z{zyz{zyzz{z{{z|{{{{zzz{zzz{{||{{}{z{zy|z{{zz{z{{zzzzzz{{yz{z{zz{{{zz{{z{{z{{{||z{{{{z{{zzz{|{{{{{|z{zzyzzz|z{{{{{||zz{z{{{|{|{{{|}{z{{{zz{{{{|{|{{z{{z{z{{{{{{{||{{{z{{{{{{{{||{|{{|{{z{{{{{z|||||z{{{|z{|{|{||{}|z|{{{{{{{{|||}}|z{zz{z|{|{|{{|||{{z{||{{{|||{|||}|{{{{{{{|{|{}|||z{{z{|{|{|{{{{||{{{{{{{{{z|{|{|{{{||zz||||||||{{{{y|z{|z{{{{}|||{z{z{z{||||{{{|z{{{{{z{|z{|z{{{{z{zzzzz{||{{{|{{z{z{zzz{|{{{|{|{z|zz{{z|{|{{|{{{z{{{z{{{{zzz{{z|{zzz{|z{z{{{|{|{{|{{z{zz|{z{{{{|{{{{z{zz{{{{{{{{z{zzzzzzzzy{{{{z{{y{zzz{z{{z{zz{zzzz{z{{z|z{{{{{zzzz{zzz{{||{||{z{zzzzz{zz{z{|{{z{zzzzzz|{{{{{|{z{z{z{{{z{{{{||{|zz|{z{z{{{{{|}{z{zz{{{{|{{{|{|{z|{z{{{z{|{|}|{{{z{{{{{||{{|~{{z{{z{zz{{||{|z||{{y{{{z{{||{{{{{{|{{{|{{{{{}}|||||zz{{{{{{{{{||{|{{{z{z||{{{|{|{{{{{{{|{|||{|{|||{{|{||{|||{}|||||{{{{{{{|||}|||{{|{{{|{||}}||||{{{{{{{||||{{}{}|{||{|{|{||{|||{|{{{{z{z{|{|{|}}z{{{zzz{{|{}{{||{z{z{y{{|{{{{{|{{{{{z{{z||}{|z{|{zz{{z{{||{|||||{{zzyzz{{{||||||{{|{{{zz{{|{z|{{{{{{z{zy{{{{{||zzz{zz{{{z{{{{{{|{{{{{{{{z{|z{{|{{z{{zzz{{{{|{{|{y{z{zzz{{{{z{{{|zzzzyzz{{{|{z|{{zz{z{zzzz{{{{{}|{z{yzzzz{{zz{||{z{z{z{{zz|z{|||{{{{zz|{z{{{{|{{|{zzz{z{zz{{|{||{{{{|{z{{{|{|{{||{z{{{|z{|{|{{{|{||{{{{{{{{|||||{|{{z|{{z|||{{{|z|{{|{{z{{||{|{|||{zz{|{{|{||{|}|z{|{|{|{{}||}||{{||{{{z{|}|||||{{z{||||||}||}|}}{{|{||||{|{|||}||z{{z{{{{}|}|||}{{{||{{{{||}|}}|{{|{{{{{|||||{|||{{||{|||||||~|}{{{{z{{{|{||{|||||{|{{{{||{|{||{||{|z{{{{{|{{{{{{{z{zy{z|{|{{{|{z{zzzzzz|{{{|{{{||{{zzz{{|{z|{|{z{{z{z{z{||{{zz|{{{zz{zy{|{{{{||{{z|{{{{{{{|{{{{{{{z{{z{{{|{{{|{{{{{zzz{{zz{{{{|z{{z{zzzz{{{||{{{{z{{zyz{z|{{{|{{{z{z{zzz|{{{z{|z{{z{z{z{{{z{|{|{{{z{{z{z{zzz{{{{z{{z|z{{|{|{{|{{{{zzz{z{z{{||||{{z{zz{{|{{{|||||{{{{{z{|||{|{|}|{|{{{{{{|||{||||{z||{{{||{||{||{|{|{{{{|}{{{|{||{|{{{{{|{||}|||{{{|{{{|{|{|||}||{{|{|{{||{}{||}||{{|||{|}|||}|||{|{||||||||||||}z{{{|{{|}|{{|{||{{{{{|{|{|}|}}|}z{{{|{|{||||||}|{{|{{{||{||{|||{{{{|||{{|||{||}}|z|{{{z{|{}{|}|{{{z{z{z|{|{||z{{z{zzzzzz{||{|{{{{z{zzy{z{{{{{{{{z{zzz{z{{zz{|z{{{{{z{{{z{{{z{|||{zyz{{z{{{{{|z|z{{{{{z{{{|{{{{{{{z{{{zz{{|{{{{{z{zyzzzzzzzzzz|{{z{zzyzz{{{{{{z{zzz{zzy{z{{{{{{zzz|zzzz{{|zz{{|{{z{{z{zyz{{{{z|{{{{zz{z{zz{z{|z{zz{y{|zzz{{{|{{{{z{{{z{{{{||z|{||{{{{z{{{{{{{|||z{zz{{z{{z{|{|{|{{zz{y{{{{|||||{|{z{zz|z{}|{{{|{{{z{z{{z{|{{{{{|{{{{{{||{|{|{|||z{z{{{|{|{z||{|||{{{{zz{|{|{}||{{{{{{{|{|||{{||{|{{|z{{|||{|||}}|{|{{|{{{}}|{{}|{zz{{{{{}|{|{{|}|z{|{{{||{||{|||||{{|{z{|{|{|{||{|{{{{z{z|{{{{{|{{{zzz{{{|||{|{{{{|{z{zz||}zz{{|{yz{{z{z{{{|{|{{{zz{zzzz{{{{{|{{{|z{zz{|{{{z{{{{{z{z{{{{{{{|{{{{|{{zz{{yzz{{z{|{{{{zz{{{{{{{{{{{{{{z{zzz{{|{{zz{{z{zzzz{{{|z{|{{z{{{zyzzz{{z|{{{{z|z{zyz{{{|{|{|{z{{yzzzz{zz{|{{{{z{zzzzz|z{{{|{zzzyz{{{{|{{{|{{{z{{|{{z{{{|||}|zzzz{{{z{{{{||{{|z{{zz|{{{{|z|{{{|{{zz{z|||{|||{z{|z{z{{z|{||{{|{{{z{z{{{|||{z|{|z{|z{{{{|{{{|{||{z{{{{z{|||||||z{|{{{|{{|{|{||||{{{{z{{||||{|}||||{{{|{{}{|{{|||{z{|||||}|{||{|{|||z|{{||{||}}|{|{||z{||}|{|{||{z{{|{{{{||||||}|||||{{{|{{{|||||||z{{{{{|||{||{{|{{{{{{||||{{||}|{zzz{z{{|{{|{|zy{yzyzzz|{{|{zzzzzz{{z{{{|{z||{{zyyz{zz{zz{{{|{{z{|zzz||{{|z|{||z{zzz{{z{{{z{{|{{{{zzz{z{z{{{||z{{zz{zz{{{{z{{z{z{{{zz{{{zz|{{{{zzzzyzz{z{z{{z|z{{z{yzz{{{{{||{{z{zz{zz{|{{{z{|z{zyz{zz{z{{z}{{{{{z{z{z{{z{{{{zz{zz|{yz{|{{|{{|zz{z{z{z{{|{{{}|{{{{{zz{{z{{{{{{{{{{zz{z{{|||{|{|{|{zz|{{|{{{|{||{{zz{{{{|||{{}{|z{z{{{{{||{|{{{z{{z{z{{{{|{{{|{{{{z|z|{|{|||}{}{{{|{zzz{||{|||||z{|{|{{{|||{|||{|||{|{|{|{||||||{|{{{{{{}|}||||||{|{{{{|||||{|||{z{{{{z{{{||||{{|z{{{z|||{}|||}|{{{{{|{{{{{||||{|z{{{{{{{{{z{|{{{{z{zz{{{|{{{{{zzzyz{zy{{{{{{{|zz{yzzzz{z{{z{{z{|zzzz{zzyzzz{||{zzz{zz{{zz{{{{{{z{zzzzz{{{|y{{{{zzzzzzzz{|{{}{zzzzzyzzzz|z{z||{{{zzz{zzz{{|{{{{z{zz{y{zz{z{{{|{{{z|yzzzzz|z{{z{z{zz{{zz{{{{z{||zzyz{zz{zzzz{|z{{z{zy{{{zz{{{|{zz{zzz{xz{{|{{{||zzz{zz{{z{|{{{||{{z{{zz{|{{z{|||{{{z{{{z{z{{z|}z{{{{{{zz{|{{{{{{{{{{{{zz{|{|{|{|{z{{z|{{||{{{{|{{{{z|z{{{{{|||{|z{{{z{{{|{{|{}||{{{|{z{{{{|{|{{||{z{{{zz|||||{||||||{{{{{|||{}||||{{{{{{{|{|||}|z{||{{z{|||||||{|{{{{{z|{|{{|{{||{|||{{{|{{|{|{|{z{|{{|z{{|||{|}|{{z{|{{{|{||{{{{{{zy{z{{|{{|{{zzzyzzzzyz||{{{z{{z|zzzzy{{{|z|{|{{{zzz{y{{zz{{|{{{z{z{zy{z{zzz|{z{{zzzzzzz{{{{z|zzz{zz{zz{{zzz{{zyzzzzzz{z{zz{{{z{z{zzyzzy{{z{zzz{zyzzz{{{zzz{z{{yyzzzyz{{{{|{{{{zzzzyyzy{{|{{{{|z{z{yzz{z{{{z{{{zzzzz{yz{{z|{{|zz{{{{zz{|{{{{{{{{zz{z{zz{{{{{z|zyz|{z{z{{z|zz||zzz{{z{z|{{{{{|{zz{{|z|z{{z|{{{||z{{{{{z||{{{||{z{{{{{z{{|z{z{{z{{{z{z{{{|{|{|{{z{{{z{{{|{|{|{}|{{{{|{{{{{|{||||}{||{zz|{}zz|{||z{{{z{|{}}|{|{{{|{{{z{{{|}{|{|}{|{{{{z{z{||{|}|||z{z{zy|||||{{{||{{{|{z{{{{}{{{}z{{{{|{|{z|||{||{{{{{{{z{|z{{{|{{zzzzz{{z{{|{{{|z{{yzz{y{{{{|{{z{{zzzz{z{{{z{{{{|{zz{z{z|{z{{{{{{zz{z{{{{{{{{{{{z{zyz{{z{{|{z{{|z{{zzz{y{{z{{z||{z{zzzz{zy{{|{z{zzz{zzzz{z|{{||{{{zyzyzzz{{{{{|{{zzzzzz{{{{zzz{|zzzzzzzzz{{{{{z{zzy{zzzzz{{{{|{{|{|{zzy{z|{{z{||{z{{{{zzz||{|{{|{z|y|zz{{|{{{|{|{{{{zzz{|z|{z{|{{{z{z{{z{{||{|{|{z{z{{{zz{|{|||{{|zz{{y{{{{|{{{{{{{z{{||z}{{z}{{{{{z{{{{|{{|{|||{{{{{z{|{{{|||||{|{{{z{zz||{|{{|{yz{{z{z||{|||{||{|{{{{||{{{||{|{{|{{|{{|}}}||}||{{|{{{{|||{{}|||{|{{|z|{|{|||}|||{|{|{{{{{||{|||||z{{z|z|{|{{||{{|{yz|z|{{||||{zz|{{zzy{{|{|{z{zzzzzzzzy{{{{z{{{{z{z{{{{{{{{{{|{zzz{zzz{z{z{{|{{y{z{{zz{{z{{z{{{z{zz|yy{{|{{|z{zzzz{zz{{{zz{{{{|{zzzz{zz{z{{z{{{{{z{zzz{z{{{zz{zzzzzy{yy{|{|{{{{zzzzyyzz{{z{{{{zzz{yzzz{|z{z{{||{z{{z{yz{zzz{||{{zzyz{z{z{{{{{{z{zzzzzz{{{z|z{{{zz{{{zz|zz{{{|z{z{{zz{z|{z{{|{|zz{zzz{z|{{{{{{{|z{}z{{z{}|{{|{z{yzy{z{z{{|z||{{{zzz{{{z{|{{{|{{|zz{{{{{||{|{|{|{{|{|{{{|{{|{||}|{{|{{zzz||{{{{|{zz{|z{{||{|{||||{{{{{|{{}{|}|{{{z{|{{|{||||{||||{z{z{z{|{|{||{}|z{z|{{{|{|||{||{|{{z||{{{||||||zz{{z{zz{|{{{|}|{{z{z|{{z{{{{||{{zzyzz{z{{{{{|z{{z{zzzzzz|{{|{z||{zzzz{zz{{{{{{{{{zzzzzz|{{|zz{|zz{yzz{y{{{z{z{{{z{zyzzz|{{{z{z|z{zzzzzyz|{{zz{{{{z{zzzyz{{{{|{{zyzzz{{zz{{z{{{{{zzzzzzz{{z{{z{{{{z{z{yz{{{{{{{zzz{{{zzzz{{zz{||zzzzz{{zz{zz{z|{zzzz{yzzz{{zz||{zzzz{{zz{{{|z|{{zzyz{z{{{{|{{{{{{z{zz{{{{{{|{{|{|{zzzzz{{{z{{{{||z{{{zz{{|{|}|z{{{z{z{zz|{{{{||{{z{{{zz|{z|{z{{{{{zz{{{{{{{{|{|{{{z{{{{{|{{{{{||{z{{z{z|{{|z||}z}{|zzz|{|||{||||{z|{{{{{{{|||||{|{{{z{{||}z|||}|{{|z{z{z|{{{|{}{||{{{{{{{|||{||}{{z{{{|{{{||||{}{|{zz|zz{{{||{|{{yz{|{z||{{||||{z{|{{{zy{{|{|{|{z{{zzz{{{{|{{{{zzzzz{zyz{{{||{||{{z{y{{{{z{|z}||{{{yz{zz{z{|{{||{{{{{z{|{{{{|z{{{zz{{zyz{{{zz{{|{{z{{zz{{|{z{{{{{z{{zzzz{{y{{|{{z{zz{zzy{z{{{{{{zzz{z{z{{{{z{{{{zzzzzzz{zz{z{{|{{{y{{{{z{{{z{zz|zzzy{z{z{{{zz{|{{{{z{{{{{{{{}{{z{{{z{{{{z|||{{{{z{{{z{{z|z{|{{{|zzz{zz{{z|{{||||{{|zz{{{{{z|||||{{{z{z{z{||||{||{z{z{{{{||||{|{|z{{{{{|{|{z{{{||{{{{|{{{|{z{}{{|{{{{{zz{{{|{|{|{{{z{|{{{|||z|||}{{|{|{|{{||{||}}{{{{{|||||||{||||{z|z{z{|{|{{||||{{||{{}{|{||{}|{||{z{{{|{|||||{|{{z{z{z{|{{{|||{{z{{{{{{{{zz{||{z|z{{zz{{{{|{y|z{{{{{zyy{{{{{{{{{z|zyz{{|{z{|{|zzzzz{{z{z{{||{{{{zz{zzz{{{{{{|{{{zzzzzzzz{{{{z{{zz{zz{yz{{{z{{{{yzz{zzz{z{{z{{zz{{{z{zzzzz{z{{|{zzzzy{zy{z{|z|{zzz{zzzz{{{|||{{|zzzz{zy{{{{z{{{zz{{{zzz{{{z{z{{zzzz{zz{z{zz{|{z{{{yz{yz{z{{{|{|{z{zzzz{z{z|{z||{zzz{z{|{|z|z{{}{{|{yzz{{{||{|{{{{z{{zz{{{|{||||{{{{{{{{|}|{{z{{{{{{{{z{||{{||||z{{{{{{|||||}||{z{{{{{{{|{z|{|||{{{{{{{{||{||||{{z{||{{z|}||{|}|z|||{|{{|{|{{|||||z|{{{{{}}||{|{|{{z{|{{{|{}|||{{z{{{{y{|{z{|z||{|{{{z{{{{|{||{|||{|z{{z{{{{{||{{|z{{|{{{{{|z|{|zzzzzz{z{|{|{{{{{z{{{zzz{{||{{{}zz{z{zzz{||{z{{{{{zzyzzzz{{zz||{|zzzzzz{z{z|yz{{{z{yzzz{|z{{{{z|{{|zz{{z{{z{|{{{{z{{z{zz{|{z{{{{z{{zz{z{z{{{zy{{zyzyzy{z{zz{{{|z{zzzzzzzz{{{z|{{z{{zzyzz{{{{{z{|zz{z{yzzz{z{z{zzz{{z{zzzz{{{{{{|z|z{z{{y{{{{z{|{{zzz{z{zz{{z{|{{{{|zzzz{z|{||{||{z|{z{zz{{{{{{z|{zz{zz{{{|{{{||{{{{z{{{z{{|{{{}zz{z{{z|{{||z{{||z{{{{{{{|{|||}|{{{z{z{{{|{{|{{||{{z{{z{{{{|||||{|z{{|z{{||}{{||}|{{{|{|{||{||}|{}z{|{{}{{|{|||}|{{{{{{{z|{{}|{{{{y{z{{z{{z{{{|||{{{{zz{{||{||{||{{zz{{{z{||{{{|{||z|z{zz{{{{{{|{{|{zzzzz{|{{{|z{{z{{zzzz{{z{{z{{{{zz{{{z{z{{{{{|zz{z{|{yz{{{|{{{z{zzyzzzz{{{{z|{{zz{zz{{{{z{z{{{{z{zy{zyz{zz||{{zz{z{zzz{{{zz{{{{{{zz{{z{{zz{z{{{zzyzy{zzz{yz||{zzz{yyz{zz|{{{{z{{z{zzzzz{z{zz{{zzyz{zzyz{{y{z|z{{{z{zzzz|{z{{{|{{z{zz{{{{{{{{{|{zzz{zz{{{{{{||{|zyzzz{z|{z{{{|{{zzz{{{{{{{{{|{|zz{{|zz{{||{{{|{|{{zzz{z{||{{{|{{{z{{{{z{{||{{{|{{{zzy{|{{z{{||{{{{z{{{{{{||z{||{{{{|{{{{|||{}|||{{{{||{|||{|}{||{z{{||{|{{{|||||{{{{|z{||{||{{|{z|{{{{{{||{|{}|zz||{zz|{{|{{{{|{{{{{|{|||||||||{||{z{z{|{{|{{}{{{{{z{zz{{||{||{{z{{zzzz|{|z{z{{{z{y{zzz{{{{{{{{{z{{z{zz{{{|zz{{zzzz{zzz{{{{|{|{{y{{zzzz{{{{{|{z{{zzzzyz{zz{z|{{|{{zz{zzz|{{{{{{{{zzz{yzz{|{z{{|zzzzy{zz|z{{|zzz|zzz{zz{{{z{}{{zzz{zy{yzz{zz{z{{zzzzzzz{z{zzz{{{{{z{zzzyy{{z{{z{{|zzz{zy{|zz{{{{{z{zzzz{{zz|{||{zzz{{y{{{{{z{{{|{{|{zy{{{{{{{{{|z{{z{{zz||||{z{{{{{{{{{z{|{|{{|||z{{{{zy{{{{{|||z{zzzz{zz{{{{|{z{{{{{{z|{|{|||z|z{|{{z{z{{||{||||z{{z{zz{{|{|||{||{|{{{z{|{{{z}|{{|{z{z{{||{|{|{{{{{{||{{{|}|{|{|z{{|z{{|{|{|||{|z{z{z{zz{}z|||~|z{{{{{|{|{{{z{|{z{{{y|z||{|||||}{z{zzzzz|||{||{{{|{{y{z{|{|{{{{zz{{zzzzz{{z{{{{zzzzzzzy{z|z{{{{{zzz{{zz{z{z{{{z{zzzzzzyzz||{z|{{{{z{y{{z{{{{{z{zzzz{{zzy{z{{}{z{zy{zzzyz{{{{{z{{z{zzzzzz{{{{{{{zz{yyzz{{{{z{{{zz{z{zyzzz{{{z{|{zz{yzzzz{{{|{{|{zzzz{y{zzz{zz{||{zz{zzzz{{|{{{||{{{{{yz{{z|}z{{{zzz{{zz|{{{{{{{{z{{zz{|z{z{|{|{{zzzz{{{z{{|{{{|{{z{z{{zz{{{{{{|{{z{zzzz{|{{{{{{{|{{{{{{{{||{{|{|{z{z{{{{{{||||}{z{zz{z{{|{|||{{|{{{{{{yz|||{}{|{|z{|{z{{||{{|}||{{|{{{{{{||{{|||{{{|{{|{{|{|{{{{|z{{zz{{{{{{{||}|{{z{zz{|{{{{{|||{{{|{{|{{{|}||{|z{{{z{zz|{|{{}}{{z{{{{z{|{|{{||{{|{y{{zz{{|{|{|z|zzzyzyz{{{zzz|{yzzzx{zz{{{{{{{{zzzzzzy{{z{{|{{{{zz{zyy{z{{{{{{{{z{zz{zz{|{{{|zz{{yzzzz{z{zz{zzzz{zzzyzzzzzz{z{z{zzzy{z{{z{{{{{zzzzyzyz{zzyz{|z|zzyz{zz{{{{{{{zz{z|yzzz{z{{{z{zzyzzzyzy{z{z{|{|{zzzzyzzz|z{{{{|{z{{|zzz{{{{z{{{{z{zzz{y{|{{{{{{{y{{zz{z{{{|z{||{z{{y{zz{z{{z{{|z{z{{z{{{|{{{{{{{||{zzzz|{{{{{{{{z{{{{z{{{{{{|{|{{z{{{z{{{|{{|{{{{{z{{||{|||{{{{zz{z{{y{{{|{{|||{{{z|{zz{||}{|{|{z{{{{{{z|{{|{{|}z{{{z{{||{{{|{||{|{{{{z||||{{|{{z{{{zzz{{{{{{||{{{{|{{{{|||}|{|{z|zz{{z{|{{{|}|{zz{z{{{{|{z{||{zzzz|{zz{{||{z{zzzz{z{zz{|{{{z{{yzzzzy{y{{{{{{|{z{zzzz{y{z{{|||{{zyzzzzz{{{{|z{{{zzzzzzy{z{{{{{|{zzyzz{zzzzz{|zz|z{zzzzyzz{{zz{{{z{yz{yzzyz{{{{{zzzzzzz{zzz{{{{z{zzyzzzy{z{{{{zzzz{zz{zy|{zz{{{zzzzzzyzzz|{{z{z{zz{zzy{y{{zz{{{{zz{z{{yyzz{{{{|{z{{zzzz{{z{{{z||zzzzz{zz{||zz{{|zzzz|zzzz{{{z{|{{zzz|zzz{|z{{{{{{zz{{yzz{{{{|{|{z{zz{zzzz}{{{{|{{z{{{{z{{{{|{{||{|{{z{{{|{{{{|{||{{{{z{z{{{|{|{{{zz{{z{z|||{||||{{|{{{||{{{{|{|{|{z{{{z{{||{{}{|zz{{zzz{{{|{||{{{z{{{zz{{{{{|{{|{{{z{{z{||z{||||{{z{{{{{{{{{{|{{|{{{{z{{{{{{{{{z{zzy{{z{|{{|{|{z{zz{zzz{z{|{|{{|{zzz{zz{z{{{|{||{{{{yzz{{zz{{{|{zz{|z{z{|{{|z|{{{{{zzz{{{{{{z{{|{{{z{z{zz{{z|{|{{{zz{z{z{{z{z{{z{zzzyzzz{{{{{{|{yz{z{zzz{zz{{{|{z{zzzzyz{|{{|{|{z{z{zzzy{zzz{{|{{zzzzz{zz{z{{{{|z{zz{z{zz{{|z{{{zzzz{{{z{|{|{{z{{{{zzzz{z|{{z{}|z{{{{{zz{||{{{{z{{z{z||z|||||{{{{|{{{z{{{|||{{{{zz{{{z{z|{|{{{||z{{{{{zz{z{{z{{|||zz{{{z{|||}||{z{|{z{{{{|{}||||{{{z|{z{|{|{|{|{|{{{{||z|}{{|{||{{{{|||{{||{|||{|{zz{z{|{}||{||||{||{{|z{{{|{||}|z||{{{|{|{|{|}}|{z{|{{{|{||{||}{z{z{zz{{|||{{|||{{{|{{{{||{{{{{{{{{{{{{{|z|{{||{zzzzz{zy{{z{{{{{zz{z{zz{{{z|||{{zz{zzyz{{{{{{{{{zzzzyzzz{{{z{{|{|{{zz{z{z{{zz|{{zzz{zzzz{|z{|{zzz{z{{zyz{|zz{{{zz{{z{zz{{z{{{{{{z{zz{zzzzzy{{{z|zyz{zzzz|z{|z||zzz{{zzz{{{{z{|{zz{y{z{zzzzzz|{{{{{yyzzzy{z{{{z{{zzz{{zzzz{{{z{z{{{{{{{z{{{{z|{{{z{z{{z{z{|{{{{{zzz{zz{z{zz{|{{{zz{z{z{z{{{}{|{{|z{{z{zz{|{{{{|{zz{{zz{{{z{z{z|{|z{z|{zz{{||{|{{{{z{{{{{{|{{{|}|{z{z{{{{{|||{||||z{{{z{{|}{{{|{|{z{z{{|{|{{{{{|{{||zz{z{{||}|{||{{{{{||{|{{{||{|{zz|z{{z{|{{|||{{{{{{{{{{{{{|{|||||z{{{{{|z{|||{|{z{{zzz{||||{z{{{z{{{{z{{|{{{|{z{{{z{zz{|z|z{{{z{z{{{yz{{{{{{{{{{{z{yzz{z{z{z|{{|zyzyyz{{{{{{{|{z{zzzzy{z|{zz|{zz{zzzzzz{{zz{{{{z{zzzzz{{|yz{z{z|yyz{zz{{zz{{{{{zzzzzzz{{{{{z{zzz{zz{zzz{{{{|z{{zzyzz{zzz{{{{{z{zzzzz{zzz{{z{{{{{zzz{z{z{{{z|{{{zz{{{{z{{{{{|{{{zzz{zzz{z{{z{{{{{yzz{{{|{{{z{|{{{{zz{z{{{|{{z{{{z|z{zzz{|||{{{{{{{zz{{z|{{z|{||{z|{z{{{{|{z{{{{z{|{{z{{{{{|{||{z{{{z{{{{|{||{||{|{|{{z{|{{|||}||{{z|z{{||}{{|{|z{{{|{{|{|{|{||||z|z{z{|{}{||||||{||z{{z{}|{||{||z{z{{{{{{||{||||{{{{|z{||||{||||{{zz{{{z{||||{||{zzz{{zz|{|{{|{{{{zzzzz|{|{{{z|{zzzyzz{{z{|{z{{{zzzzzzz{|{|zz{{{{|z{yzz{{{{{{|{zzz{{zz{{{{zz|{|z{zzzzzz{{z{|z{|{z{zzz{z{z{zz|zzzzzz{zyz{{|{z{zzzz{zzzz{zz{{z{{{{z{y{zzzz{{{zz{z{z{zzzz{{{{||{{|{{zzyzzzz{z{|{{|{zzzyz{zz{{z{{zz{zzzz{zzz{{{{{{{{zzz{zzz{{zz|{{{{z{zzz{z{z{{z{{{{|{zzzzz{{{|{|z{z{{{z{zz|{{{{{{|{zzzzz{z{{{z{{{{{y||z{z{{{{{{|}||z{{{{y{{|{{z||||{{{{{{{{{||{{||{{z{zz{|{{{|{}|}{z{{{{{z{{{z||{||{z{{|{z{||{|||}{{|{{{{{{}|{}{{||{{{{{|{{}||{{}{|{}{{zzz{{{||||{|{{{{zz{{{||{}{|{|{{{{{{||z}}|{{z{{{z|{{z{|{|{||||z{{{zz||{|{{|{{{{zzzz{z{{{{{{{{zz{z{{x|{|{{{{|{{z{|z{z{{{{{{{|{{z{zzzz{|{z|{{{{z{zzzzzz||{{||{{{zy{zzz|{z|{{{|{{zz{z{z{{|{{{{{zzzzz{z{{{{{{|{}{{{{{z{{{{{{{|{{zz{zz{{yz{{{zz{{zy{{z{zz|{{z{{{{zz{{zz{zz{{{{|z|{{zzz{{{zz{{||{{{{zz{{zz{{z{{|{|zy{{{{zz|{z|z{{{z{{y{zz{|{{||{{|{{{{zz{z{{z{{{||{z|{|{z{{z{|||{{{{{{{{{{{{{||}{|z{{{{zz{{{{|{z|{{z{z{zz{{||{{{||{{{z{{{zzz|{|{||{{{{{{|{||{|||||{z|zz{{z{}|||{||{z{{{z{{|}||{}{||{{{z{{{{|||}|||{{{{{{{{{||}{||||{{|zz{{}|{|{|||{{{||z{|{|{{{{|{{{{{{{{{||{|||||{{|{{{{{{||{{{||{{{z{z{z{|{}{{|{{z{{zzz{{{|{zz{{zz{{z{zyz{{{|{|{{z{zzzzzzz{|z{|{{zzy{zzz{{z{z|{|zz{zy{zz{||{z{{{zzy{yyzzz{{z{{{zzzyz{yzz{{z{{{{|{{zzz{zz{z{{{{{zzzz{zzyyzz{zzz{{zzzyzz{zz{z{{z|{zzy|zzzzz{z{{{{z{z{zyz{z{zz{z{|{zzyz{zyzz{{z{{{{{{{{zy{yzzzz{|||zzz{zzz{z{{{||{||z{z{{zzz{{{{{{{zz{zzy{zz|{{{|||z{{zzz{z{zzz{{{{{z{zzz{zzz{{z|{{zz{{{{z{z|{{{{{z{{{{z{{{|||{|{|{{{{{{z{z||{}{z}|z{z||z{{|{z|{}||{{z{{{z{{{|{{{{{|z{{{z{|{|{{{|{}{{{{|{{{{|{{}{|||{{z{|z{|}|{|{|||{|z{z{{||{{||}|{{{{{{{{{{||{{|||{{||zz||{{||{{|{{{z{{{zz}{|{||||z{z{{{z|{z|{{|{zz{z{{zyz{{{{zyz|zzz{z{yz{{{z{z{{zzzyzzx{{|{z{{{zzz{{zzz{zz{{{{z{zzzz{{z{z{{{|{{{zzzy{yz{{{{|{{{{yzyzzzzzz{{z|{|zzzzyyzy{zzz{{{zzzzzz{yzzzz{z{{{{zzyzyyz{z{zz{{zzz{{zzyz{z{{{{{zzz{zyzzyzz{{{zz|{zzzzzzyy{z{{z{{{|zzzzyyz{{z{|{{{yz{{{zy{{zz{z{{{zzzzzzz{z{{{{{{zzz{zz{y{{|{z{{|{z{z{z|z||{zz|zz{z{z{{zz{{{zz|z{{z{zz{zz{z|{{{|{{z{{{z{{{{|{{{|{zzy{{{z|{{|{{||{zzz|{z{{{{{{{{||{yz{{zz{{|{}{|{{|z{zzzzz{|zz||{{{{z{{{z{|{}|{|{{{z{z{zzzz|{|{|||{{{{{z{{|z{{||}{{{{{z{{{||{|{{}|}{z{{{{{||{{{{{|{{z{y{{{{{z{{||{|z{zzzz{z{|{{{|{z{{yzzzz{{||z{z|zzzzz{{zz{{{{{{z|{yzzzzy{{{{|{{{z{zzy{zzz{{|{{z{z{zzzzzz{z{zzz|{{z{zzzzzz{|{{||}zzzyzz{z{z{{{{{{zzzzzyyz{z|z{{{{zzzzzzzzz{|{z{{{{{zzz{{{z{zz{{|{zzzzyzzz{z{{{{{{zz{zyzzzz{z{{{{|zzyz{zyz{{zzz|{{z{zyzz{yz|zz{{{{{z{zzzzzz{{{{z|zz{z{{{z{{||zzz{{{z{zzz{z{{z|z|{|z{zzzz{z|{{|{||{{z{{{z{{{z{|{|||{{{{zy|y||{{{z|{{{zz{{z{{{|{z|{{{{|zz{{||||{}||{z{{{{|{{|{|{{|||{{|{{{|{{{z|||{||z{z{zz{{||{{|||{{{z{||{{|||{{||{z{{z{{{{}|}{|||{{{{{{zz|{|||||{|y{{{{||{{{{||||{{{{{{z{{{{{{|||{z{z{zzz{{{{|||||{{z{{{|{{{{{{|{{zzyzz{z{{{{{zz{zz{{zzz{z{{{{{{{zz{zzyyzzz{{{|{||{{z{{zz{{{{|{|{{zz{zzz{{{{{{{|{z{zz{zzyzz{{{{{{{z{yzzzy{|{yz{{z{{z{{{yz{z{{zz{{{{z{{zzz{{z{|z{{{zzzyzzy{z{{zy{{z{{{z{yzzz{{{{|z{zz{zzzz{{{{{{|{{{z{{zzzz{{{z{{{{zzz{zzz{|z{z{z|zzz{z{yz{{{{zz{{{{zz{z{z{||z{{{|z{zz{zzz{{{z{||{zzyyzz|zz{{{z{{||{{z{zz{{{||{{{||z{{z{z{|{{{{||{|{z{{{zz{{{{{|{|{{{z{z{{{}||||{{{{{z{{z{|{{{{{|}{{{{{{z{{|{}{|{||z{z|{{{{}|{{{||{{z{{{||{{||{||{}z{z{|{{|}|}|{}}||{{{{{{{{|{{||{{{{zz{{{{{{||||{|{{{{z{{{|{{||{{|{{z{{{{{{|{{|||z{zz|z{{{|{{{{|{{{zzz{zzz||{{z{{{|yz{{zz{{{|{{{{|z{{zzzz{{{{|{{{{zz{zz{z{{{{{||zzy{{zzyzz{{{|{{zzz{zzzzz{{z{{{|{z{{z{{zyz|{zz{||zz{z{zzz{z{zyzz{{zzzz{zzzz{{{{{z{zyzzzzyz{z{z{{{yz{yzzzyzz{z{|{{{{{zz{{z{{{zzz|{{zz{{zzy{z{z{{{z{{zz{zz{z{{{{||{z{zz{zz{|{z|{z||{z{z{zz{{||zz{|{z{z{{z{z|{{{{{|{{z|{zz{z|{|{z{|{{{{z{zzy{{{||{{|{{z{{{zz{{|{z{|z{z{zzz{{||z{{{|{{||z{{{z{{{|{|||{{z{{{{z{|z|{|{||{{{z{zz{||||{|{|z{{|z{{||||{||||{{|z|{zz{{{|||||{{{z{{|{||||||}||{{{{{{{||{{{|{{{{{z{{|{{|z|{|{||{{{{{{|{{|{{|||z{{z{{z{{|{{|{||{|zz{|{z|{{{{||{z{{zz{{|z|{{{}{{{z{zz{zz{{zz{{{{{z{zzz{z{zz{||{{z|yzzyz{z{z{||{{zz{zz{{zz{|zz{{zzzz{zzz{z{{{{z|zz{z{{zzz|{{{{|{{{z{yzzz{z{zz{{{{{zzzzz{zzz{|{z|zz{z{zzzz{z{{{{|zzzzzzzzzz|{{{{{{zzzyyzz{z{{{{{{{z{zzyzy{{z{z{{{{{{z{zzy{{{{{||zzz{yzzz{z{{{{z{{{{{z{{zz{{{|{{{{{yzz{zz|zz|{z{||{{{zzzz{|{{|{{{{{{zzzzzz{|{{|{{|{{{zzzz{{|{|{z|{{{z{{zz{{{|zz}|{{{{{{z{{{{}|||{{{z{{{{{{}|{|{{}}{{{{{{z{{|||{{|||{z{{{zz||{|}||{{{{{z{|z{|||||||{{{{{{|{z|{|{{||{{{{|{|{|||{|{|{{{zz{{{{{{{|{}|}|{{|{{{{{|{|||{|{{|z{z{{{{{|{{{{{{|{{{zzz|{{{||{{|{z{zz{zz|{{{z{{zzz{{yz{{{y{{{{z{zz{zz{{z{{z{{{z{zzz{zz{{{z{{}z{{z{zz|zz|{{zz{|{{z{{zzy{{{{z{z{zz{zzzzzz{{zz{|{zzyzz|z{z{{{{||{z{zzzz{z{z{z{{zzzzz{zz{z{z{z{{{{zz{zyzyzz{{z{{{{{{{{yz{{zzz{z{{{{{zzyz{yz{{zz{z|{|z{{zzz{{{{{|{{zzzzz{z{z{{{{{|{{zzz{zzz{{{{|{{{zzzz{{{{{{{{{{z|{{zzyzy{{{|{|{{|{{{zz{zz{}|{{{{{{|{z{{{{{{|z|z|{{z{{z{z{{{{{||z{{{zz|{{{{|{{{{||{{{{{{|{{|||{{{||{{|z{zz{||{{||{{{{{z|{|||||{|||{{|{z{|{{|}{{{{z|z{|z{{{{}|{{|{|{{|{{z{{|||{|}||{z{||{z|{{}||{|{{z{{z|z|||||{|||{{{{{{{{{{|{||{{{{{{{{{{{}{{{{|{|{{{z{zz{{{{|{{|{z{zzyzzzz{{{{{|zz{{{{z{z|zz{|{{z{zz{{{y|{||{{{{{{{zz{yzz{z{{{{{{{{yzz{z{{|{{{{{{z{yzyzz{|{zzzz|{z{zz{zz{{{{{|{z{z{zzzz{zz{{{{{{{{z{{zzzz{{{{{{{{zz{z{zz{|z{{{zz{z{zzzzzz{zzz{||zzzzzz{z{{{z{zz{z{zzzyzzz{{{z{{{z{y{zzzzz{z{|{{z|zz{{zzz{{{{|{{|{z{{{z{z{{{{|{|{{y{zzz{z{{||{|||{{{{{{zz{|||{{{{{{zz{zz{{{|{z{{{zzz{{z{z||{|{|{{{{z{{|z{{{|{|{|}{{{{{z|{|{{}{|{|{{{z{z{z|||{{}|{|{|{{{|z|{{{||||{{{z|{|{{|{{||{{|{{{z{{|{}{|{||||{|{z{||z{{{}|||{{{z{{{{|{||||{|{{{{{{{{|{{{|||}|{{{z{{z{{{||z||{{{{{{{zz{{|{{{{{z{z{{{{{z||z{{{z{z{zy{z{{|{|{|{z{{y{z{{zz{{{{{{{{{zz{zz{{{{|{}||zzzzzz{zzz{{{{|{{zzzz{{{{{zz{{|zy{{{{{zzz{{z{|{z{zz{z{z{z{zz{{{zzz{z{z{zz{{{{{{zy{z{z{z{z{z{{|z{zyzz{zz{{|z|{|zz{{zyz{z{{{{{{|{{{z{zyzyz{|zz{{z|z{zzzzyz{z{{|{{zzzz{zzz{{{{|{{{{zzz{zzzz{|{|{{}{{z{zz{z{{{|{{{|z{{{zz{{{{z{{|{{{{{{{z{z{{{z|{||zz{|z|zy|||zz|{|{{z{{{z{{|{{{{||zz{|z{{{|||}{||{{{|zzz{z{|||{|||{z|{{{zz|||{{|{|{{|{|{{{||}||{{|{{{z{{{||{{|||{{}{{{{|{{{}|||{|||{|{{{{{||{{{{||{{{{zz{z||{|||}||{{{|{{|||{{|{|}{{zz|z{{|||{||||}z{{|{zz|{{{{|{|z{|z{zz{z{{{{{|{{{zzyz{zz{{{{{|{zzzzzyzy{{{z{{{zz{{yyzzy{zz{{zz{z{z{zyzz{{{{|{{{{{zzz{{x{z{zz{z{zzz{z{zyz{{zz{{{{z{zzzz{z{{{z{{{zzz{zzz{{zz{{{{{zyzyzyzz|{|{{{{{{zz{zyzzz{zz{{{z{zzz{zzy{{z{{|{{{{zzzzzzzzz{{{{y|z{{zzz{zzz{{|z{{z{z{zzy|{{{z{{{zzzzz{zzz{z|{{{{{z{zzy{y{z{{z{{{z{z{zz{z{|{z{{|{{z|zzz{{z|{|{{{{{zz{z{zz{{{|{{{|{{{{{{|z||{z{{{zz{{{z{{{{|{{}|{|z{{{{z{{{{{|{||||{{{{{z{{{||{{||{{{{{{{{|||{|{||{z{zz{{z{||{|{|{|{{z{{{{|}||{||{|{|{{{|z{{||{|{||z{zzzz{{{|{{{|||zzz|{z{{{||||||{{{z{{zz{|{{{}||{{{z{{{{{{{|{{{{{{{{{z{{{z|z{{z{zzzzz{zzz{{{{{{z{zz{z{zyz{{{{||{{{zzz{zz|{{{{{{{z{{{{{zyz{{{{{{{{z{zzzzzz{z{z{{{zz{z{zzzz{{{{{|zzzzzzzzz{z{{{|z{{|{zzz{zzzz{{zz{zyz{yzzz{{|z{{zzzzzzz{zz{z|{z{{zzy{zzzz{z{{{z{{|yzzzzzzz{{z{{{zzzz{z{zz{{{{{z|{{zz{zz{z{z{||{{{{{{y{zz{z{{z{{{{{zz{z{zzzz{{{zz{|{{zzz{zz|{{|{{{{zz{zzz{yz{{{z{{{z{{z{z{{{|{zzz|{{{{{{{{|{|{z|{||{z|z{|z{|{{{{|{|z{|{{{{{||{|{{|{{|{{{{zz||{{{||{|z|{{{{{{}|{||||{{{{z|z{{{{{||{|}yzz{{z{{}{}{}|{{{|{z{{{{}}{|{{||z{{{zz||||||||||{{{|z{{||{|||{|{|{{{{{z{||{||||{|z|zzz|z|||{||{{{{z{{z{z{{{{{|{yz{zzzzzz{z{{{{{zzzzzy{zz{{{{z{||{yyzzy{{{zz{{{|{zzzyyzz{{{|{|{{{z{zzzy{{{|zz{z{zzzzzz{zz{{z|{{{zyzzzzzzz{{zz{zzz{zzyzzz{z{z{z{{zz{z{z{y{{zz{z{{z{zzzzzzz{{zzz{|{zzzzz{{{{z{{zz|zzyzzzzy{z{z{zz|zz{{zzzzz{zz{|zzyz{zz{{z{zz{z{|{yzzz{zyzz|{z{{{{z{{{{zyz{{z{{{||z{z{z{yz|}|z{z{{zzzzzyzyz|{|{|{|{z{z{{zz{{{{{{{{zzz{z|zz{|z{{|z||{{{{z{z{||{|{||z{z{{|{z{{{{||||{z{|{{z{|{|{|||{|z{zz{{{{||||z||{||{{||{{|{|{|{|{{{{{|{{z||{||{{{z{{{{|{|||}{||{|yz{{{{zz{{|{|{{{|zz{{{{z||{{{{|{{{{{z{{{|{|{{|{{{{{zzzz{|{{{|{{zz{z{z{{{|zz{{z{z|zzzyzz{{{{{{|{zzz{yzz{{{{{z||{{zzzz{zy{zz{|z|zzzzyzzz{y{z{zz{{{{{yzzzz{z{{z{{|zzzzzyzzz{{{z|zzzzzzzz{z|z{{{zz{yzzzz{z{{zzzzz{{zzzyzzzz{|{{{{zzzzz{y{yzz|{{zy{{z{zzyzz{{{{zzz{zzzz{|zzzzzzy{{z{{z{zyzyzz{{z{{|{zzzzzz{yzz{{z{{{z|zz{zzzz{zzz{{|zzzyzzyz{z{|z{|{{{zyzzz{z{{{{zz{{z{z{z{{{{{|{|{z{{{z{{zz{{|{{|{{{zz|z{{y|{|{{{{{z{z{z{{z{||{||{|z|z{|{{{{z{||||}|{zzz{{z{{{||||||z{{{{{{{|z{{|||{{{{{{z{|{{{{||||z{{{{{zz}{|{|{||z{zz{{{||}{||}{{zzz{z{{{|{{{{{{{{zz{{z{||||{{{{{{{z{zzz{{{|{{{{{zzzyzzz|{{{|{|{{{{yzzzz{|{{z{{{{zz{zzzyz{{z{z{{zzz{zzyz{z{{z{{{zzyzy{z{{z{z{{{{{z|zzzyz{{{zz{zz{yzzyzzz{y{z{{{{z{zzzzzyz{{zzz{zzzzy{yzz{z{{z{|z{yzyyzzzzyzz{z{{zzzzyzzz{{{{{{zz{zyzzzzz{z{z|z{z{{{zzzzy{zz{z{z{zz{z{yzyzzz{z|{{{{zzzzy{z{zz|z{|zzz{zzyzz|z{z||{{{zz{yzz{z|{{{{{{zz{zzzz{{|zz|{{y{z{zzzz{{z{{{{z|zz|{z{{z{{{{{|{|{{z{{zz{{|{{{}{|z{z{{zz{{{{{{{{z|{||{zzz||||||{{z{zzy{||{z{{|||z{{{{z{{{{{||{|||{{{|{{{|}||{{||{z{{z{{{{{|{||{{{z{z{{{{{|{{{|{}{z|{{z{z{{}{|{|{|z||{{z{{{|{{{{|{{{{z{{{|{|{{{{|{{{z{{|z||{z{z||{{{|zzzz{}{|{{|{{{z{{{yz{|{{{zz{{{zz{{{|z{{{|{{{{{{yzzzy{y{z{|z|zzzzzz{z||z{z{{zzzz{{zyzz{{{{{{{{{zzz{zz{{zz{{|z{{z{zyzzzz{{{|z{zzyzzzzz{z{z{|{|zz{zz{zz{{z{{{{{zzzz{zy{z{zz|{{zzzzyzzyzz{z{{||{zz{zzzz{z|{|z{{{|zz{z|yz{{{{z{{{{{zz{zz{{{{{z|z{{z{z{{y{{{{|{{|{|{{z{zzz{z{{{{{{{y|zzzy{{{|{|{||{{zz{{z{||{{{{{|}y{z{yz{{||{|{|{|{zz{z{z|{{{{{{|{zz{{{yz{{|{|{{|{{{{|z{z|{||||{|{{zz{{{{{{||||{|{{|||{{z{}|{}||{|{{{{{z{|||{{}||z{{{z{|{{{{|{||{|z{{||{|||||||}|{{{|z{z{{|{|{||||{z{zz{{|z{|{{}|{{{{{{z{|||{||||{{|z{{{{{||{{|}{|{{{z|zz{||}||{|{{{zz{|z{z|||{z{zz{yyz{z{{z{z{z|z{{zyyzz{{|{{|{|{{zzz{{z{{{|{z{{zz|y{yyzz{z|{{{{{z{zyyyz{z{z{{{{{zzzz{{{z{|{z{{zzz{{{{zzz{z{z{z{{z{z{zzzzzzz{{{{{zzzz{yz{{{{zz|z{zz{zz{zzz{{{z||{y{zzz{zz{z{z{|{{zz{zyzzzz{z{{{z{z{{{z{y{{{zz{{{zzzz{zz{{{z{{{|{|z{zzyzzz{{z{|{{{z{{{zz{{{{{{|{{z{{{zzzz|z{|{{{z{{{z{{z{{|{|{|{{z{{z{{{{||{{{{|{zzzzz{{{{{|{|{{||{{z{{|{|{{|||}|{z{{{{|{{||{||||||{{{{{{{|}||||{|{|z{{{z||||z||~|z{{{{||{|{{{|{}|{{{z{{|{||||||||{{|{z{|||||{||{|zzz{z|{z|{{|{|{{{{z{{{{{{{|{{|{{{{{z{zz|{{|{{||||{zz{{z{|{{||{{{{{zzz{{|{|z|{{|z{zzzzzyy{|{z{{{{z{zzzzzzz{{z|{{z{zz{zzz{z{y{{|{zz{yy{zz{zz{{{{{zz{yz{zz{z|{{{{{zz{zzy{y{{{zz{{{{zz{zyzy{z{zz{{{zzzzyzy{z{{z{{z{{yzyzzz{z{z{{z|zzyz{yzzz{z{{z{{{zzzzzzzz{{{{{{{{{{{zzzzzzz{zz{|zzyzzzzzzy{{{z{{{{zzzz{zzzz{||{{{{{y{zyz{y|{{{{{{{|zzzzzzz{{{{{{{zz{zz{yy{{{{}{|{z{{{{zz{z|{{{}||{{z{{{{{z{{{|{{zzz{{zz{|{{|{{|z{||{{{{{{{z{|||{|{z{|{{{{{|{{{|||{{{|yzz{{{{{|{||}|z{z|{||||{z||||{{{{|{{z|{{||{|{{|{z}|{{|||{}|{}{z{z||{z|{|{||||z|{zz|z|{|{|{||}{{{{{{{{|{{|{|{||z{z{z{{{}{{{||{{{{zz{{{|||{|{{{{{zz{{z||{{z|{|{{z{zz{z{{{{{{{|{{zzzyzzz{{{{||{z{z|{z{{{{{{{{|{{{zzzy{z{z{|z{{{{z{z{zzyzz|{{z{}z{zzzz{yz{{zz{{z{{{zzzyz{{{y{z{zz{yzzzzz{zz{zzz|zyyz{z{{{{{{z{{z|zz{yz{z{{{{{|z|{zz{{zyz{{|{{{{|{zzzzz{zz|{z{{{{|{z{zzy{z{{{z{|{zz{{{{zz{{{|{{{|{z{zzzzz{{z{||{{{{{yzz{z|{z{{|{{{{zzz{|{|{{{{{{{zzz|{{|z{|{{{|||{z{zz{{{{|z{{{|{|z|{{{{z||{{{|zz{{{{{z{{{|{|{||{z{{z{{{z{||}z}||{{{{z{{{||||{{|||{{{{{{|||||||}|{{|{||{|{||||||{||{||{{{z|{|{{|}|||{{z|{{|}{||{||{{{{{{}{{{{}|{|||{{|{{|}{|{}||{{|zzz{{{{{|{|||{|{{zzz{y{{{{{|{{{{{{{{zz{z{{{|z{zzzzyzzzz{{z{{|{{zzzzzzy{{{{{{{z{zz{zzzy{{{z{{z{zzzzzyzz{z||zzz{{{zyzzzz{zz{{{z{{zzzyz{y{{zz{|}z{{zz{zyz{{{zz{zzzzyzzzzzzzzzzzz{zz{zzzzzzz{z{{|{{yzzzzzy{{zz|{{{z{{{yyzyyz{{z{|{{{{z{z{yzz{z{z{{zz{zzzzzzzz{{{{{zz{zy{zz{{|{|{{|z{{z{zzzz{|{{z{{{z{{{zz{{|{|{{{|zz{zz{z{{{{|z{|z{y{yzz{{{{{|z|{zzzz{{zzz{{z{|z|{{zz{{z{z{{{{z|{{{{{z{{|z|{}|{{||{{{z|{{z{{{{{z|||{{z{z{{{{{{{{||{||{{{{{|}{{{{||||{|{z{{z|{{{||||{{|{{{{||{{}{|{{{|{{zz{||{|{{|z|{{{{z{{|{|{|{{|{|{{{z{{|||{{|{|z{{z{|{{{{|||{||{zzzz{{z{{{{{{||zzzy{{{z{{z{{z{{zzzzzzzzzz{z{z{{{zzz{zzz{{{{{|{{zz{zzzzz{z{{z{z{zzzy{zzzz{zz{zz{z{zzxzzy{{zzz|z{zzzy{zzyz{{zyz{z{zzz{zzzz{{{{{{{{yzzyzzzz{zzz{{{zzzzz{z{{z|{{{|{zzzzzzyyz{{{{{{|zzzzzzzyz{zzz{{|zyzy{zzzzz{{{{{zz{zxzyzzzz{z{z{{{yzz{{zzy{{{{z{{{{zyzzz{z{zz{{{{{yz{zz{zzzz{|{|{zz{zzzyz{{{{|{{{{zzzzzyzz{{{{|z{zz{zzzy{{{|{{{||{{{{{{z{z||{||z{{z{{{{{{{{{{{{|{zz{zz{{{{{{|{{||{{z{{zzz|{}{{|{|z{{|{z{{|||{||||{{{{{|{{{{{{|{{||{zzzzzzz{||{}||{{z|{z{{z{|{{|||{z{zz||{{{|{{{|{{|z{{zz|{{||{{|}z{z{{zzz{{z|{{}|z{zzy{{y{{{{{|{{{z{{z{{z{{{|{{{z{zyyzyzzz{{{{{z{z{zzzzzzz{{z{{{{z{zzzzyz{{{{{z{|zzzzyzz{z{{{{z{|zzyzyyyyz{{{z{||zzzzz|zzz{zzz{{{{z{zzyyz{{z{{|{{{yyyyzxyzzzzz{z|zzzzzzzzzz{{z{{{zyzz{zzzz{{z{z{zzzzyyyzyz{{{z{{{{zzzyyzzz{{z{{{|z{yyzyxzz{zzz{zzzz{zz{yy{{{zz|{{{zzyzz{{{{{{zzz{zz{{|yz{zz{{{{{{zz{zzzzz{{{{z{{{{{{zy{zy{{{{{||{{z{{z{z{z{|z{{|yz{z{zyzz{|{z{|{{{{{{{zzz{|z{{|{{zz{zz{{z{{|{{|{{{{||z{z{z{||{{||{{{{{{{zz{|{||||z|{{z{{{{{{{||{{|z{{{{z{{|{|{{|{{{{z{{{{|{z{{|{||zz{zz{z{{{{|{|{{{zzz{z{|z{{{|{|z{zy{zzz|{{||{{z{{{{z{{y{||{|{{{{y{zzzzz{{{zz{|{{{{z{yzzz{{z|z{{z{{{{z{y{{{{{{{{{zyyzz{zz{{{{{{{z{zz|zzzz{|{z{z{zz{yzyzz{z{zz{{{zzzyz{zzz{{zz{{{zyz{yyyzzz{zz{{{yzy{zyzyy{{zzy{|{zzzzz{zz{{z{{{zyzzzzzyz{{z{z{{{{z{zzzzz{{|{{z|{{zz{{yzyzzz{{z{{{zzy{yzyz{{z{{{{zzzz{{{zzzz{{{{z{{z{zz{z{|{zz{|{{z{{zz{{z{z{{{{{{zzzz{{z{{{{{|{{{{zzzz{z{{{{z{|||zz{zzzz{{{|{{|{{z{{zzzz{{{{{|{{z{z{{z{{{|||{{{{z{{{{{{{{{{|||}}{|z{zzz{|{|{|{{||zzz|{{{{|||}}|{{z|{z|{{{{{|||{|{zz{{{{z{|{||||{|z{z{{y{{||{{||{{z{{|{z{{|{|{|{{{zz{|z|{{|{||{|{{{{{{z|{z{{{||{||{{{zzzz{|{{{||{{{zyyzzzz{{z{zz{zzyy{zyyz{|{{{z{z{{yzzyy{z|{{z|{{zzy{{zz{{{z{{{{{yz{zzzz{zz{zz{zzzzzyzzy{y{zzz{{zyzzzzzy{|zzzz{zzzzzzzyzzz{zz{{{zzzzzzzz{zzzzzz|zzzzzzzz{{zy{z{{{yzyzzyz{z{zz{{{{zzzyyzyzz||{{{{yzzzzzzzz{z{zz{{{zzyzzzzzz{{zz|{zyzyyzyzz{{{{|{z{zzy{zzz{z{{{{{|zyzz{zzz{{z{{z|{{yzz{z{zz{{{{z{{zy{|zzzzz{{{{{{|{zyzz{{{{{{{|{|{zzzzyzyz{{{{{z|{{zz{{zzz{z|{||{|zz{{|z{{{{{{|{||{z|{zyz{|{{z|{{{{z{{{{{z|{{|{||}{z{{{{{{{{{{{}||{z{z{{{{{}{{||{}|z{{|z{z{{|{{||{|z{{{{{{{{|{{{{||{{{{zz{{|{{{|{|{zz{zz{z{|zz{{{{{{z{zz{z|{{{{z{{|z{zyyzy{|{z{zz{{zyyyzzz{{{{{z|{zzz{yyy{{{{{{{z|zzyzzzzz{zz{|{{{{{{{yzzzzz{{{z{zzzzzzzzzzzz{z{z{z{{zy{{z{|zyz{z{z{zyzzzzz{{zzzz{zy{z{zz{zzz{{{{{zzzzzzzz{{{z{{{z{zzzyzzz{z{{{{{|zz{{zzzyz{|{{{z{z{zz{y{z{{z{{z|{{{{z{zzyz{zz{{{{zz{z{{zz{{{{{{z|{z{zzzzz{{{{{{z{{{|zzzzzzz{{{{z{z{{zzz{y{{{{zz||{z{{{yz{{{||{{{|z|{z{{{z{|||{|{||{zz{{z{||{|{{{|{{{zz{z{||||||||z{{{|{z{{{z}|||||{z{z{z|{{{||{{||z{z{z{{||}{{{|{|{{{|{}{{|z|{||{{{z{{{{{{|{|{||||z{{{z{{{||{{{|{{{{z{{z{{{{{{{|||{z{{|z{{|{|{|}{|{{z{z{z{{{{|{||{z{z|{zzzz|{{|{{{z{z{zz{{|{{{|z{z{zzz{yzz{{{{z|{zzzz{|zz{z{{{{{|{zz{z{yzz{{||{{{{z{yzzzzz{{{{{||{{yyzzzzz{{{|{|{{{{zzz{zz{zzz{{z{{{z{y{z{{{{{z|zy{zzz{zz{{{z{|z{zyzyzxzz{{{zz{{{z{zzzzyz{{zz{{|z{{{zy{z{{{{{{{z{{{{z{z{{{z{{z{{zz{zzzy{zz{{{{{|{{zzzyz{z{{{{{{||{{zz{z{z|z{|z{|{{{z|zz{zzz{{{|{|{{{{z{|z{{{{{||{zz{zzy{z{{|{{{{{|z{{{z{{{{|{{{|{{zzz{{z{|{{{z{{{{{z{zz{y{{|||{}|z{{{||z{|{{{{{|{{{|{{{{{{||{|||{|z{|{z|z||{|{|}|z{{{{z{{|||||{||{{{{||{{{}|{{{|||{{{{z|{||{|{|{{{z{{{{{{{{{||{|z{{{{|{z|{{{|||||{{{zz{{z{|{{{{}{|z{{{z{{{{{{{{{{||{{{z{{{{{{{{{zz{zzzzzzz{{z{zz{{zzzzyzzz{{zz|{{y{zzz{zyzz{{{{{zzz{zzyz{z{||z{|zy{zyzzzy{{|{{z{|zzzz{zz{z{zzzzz{z{z{yzzy{{{zzz{{zyzz{zyz{{z{z{{{{zzzzzzzz{|{{{{zzzzzy{zz{{{z{{{{zzz{zyz{z{{zz{{zzz{zzyzy{zz{z{{zz{{zzzz{{{z|z{{{{zy{z{zx{{{z{{{{{{yzzyzz{{|{{{{{{zy{zzzzzzz{z{{{zz{zzzzz{{|||{{|{{{z{z{zz{z{{{{zz{{{z{{z{z{|{|{{{z{{|{z{{|{{|}{|{{{{yzzzz{|{{{{{{{z{{z{z{{{|{|{|{z{{{zz{|{{|{{|||z{{{{z{||}|{||{{{zz{|{z{|||}|{|{{{zz{{z{|||||||{|||z{{{{{||{{||{zzz{zz|{{||{|{|{z{{z{z{{|{{{||{|{zz{z{{{{{||{{{{{{{{z{{{{{|{{{{{z{{{zzyz|{{z{{{{zz{yyzz{{{zzy|{{{zzzzzy{{{{{{{{{{z{zz{yz{{zz{{{{{yzzz{y{{{{zz|{{z{{yz{z{z{{z{z{{y{zzy{y{{{{{{{z{yzzzz{y{z{zz{{z{zzzz{z{{{z|{{{{yzzzzyzzzzz{z{{zz{zyy{yz{{{zz{{{zzzzyzzz{{z|z{|zz{z{{yzz{{{z{zz{zzzyyzz{z{{{{|{{zz{{z{zzzz{z{{{{zzyy{{zzzz{z{{{|{z{{zz{z{{{{{{{|{{{z{zz{{{{{{{{|{z{z{z{z{|{|{{||{y{{z{{y{||{{z|{zy|{zzz{||{|{{|{z{{zz{{{z|{{||{||{zz|z{{{||||||}{z{{{z|z|{|{|||||z{{{z{z||{|{|{|{{||{|{{{|{{||||||{{z{z{{|{z|{|{|z||{{{{{{||{{|{{{{{{zyz{|{|z{||{|{{{zz{}}zz{{||{{zzz{{{{|{|{{|{|{z{zzzz{|{{{||{{z|{zz{{{{|{||zz{zyz{yzz{zz{zz{{|yzzzyz{zzz{{|{{{zzz{{yyz{{z{z{{{yzyzzyzz{{{z{{|{zzzy{{y{z{{{z{{zyyzzzzzz{zzz|{zzzzzzzyyy{{z{{zzz{{zzzyz{{z{{{zzzzzyyzz{z{{{{{{yzzzzzzzy{zzz{yz|{zzzyz{yz{z{{{{{zz{zzzyyzz{zz{z{zy{yzzz{{{yz{{{{yzzz{zyz|zzz{||zzy{zz{z{z|zz{{|{zz{{zzzz{|z{{{{}z{{zzz{zz{{{{{{{zz{z{zzy{{|z|z{|zzz|zz{{{{{{{z{z{{z{zzz{{{{{{z|{{z{z|z{{{|||{||{z{zz{{{z{{{||{||{zz{{zzzz{||{|{{{{{{{{z{||{{{{|{{{z{{{{zy||||||{{{{|{{z{{{{||||||z|{{z{z{z{}{|||{zz|z{zz{{{||{|{{z|z{|{{{{||||{|{{zzzyzzz|{|{{{{|{zzz{z{{{{{|{{{{z{z{z{z{{|{{{{zy{{yy{zy{{|{z{{{{{zzyzzy{{{{{{|{{z{z{{zyzzz{{{|{{zzzz{zzz{{{{{{{{{zyzyzxzzz|z{{{{zyzzyz|{z{{z|{zzzyy{yzz{z{zzz|z{zzzzzyzzzz{z{{zzzzzzyzzz|{{zz|{{zzzzyzz{z{z{yz{zzz{zzyzz{{|z{{{{zzzzzzyz{{{zz{{{zz{zzzzzzz|z{|{zz{zzzzz{z{{{{{{zzzz{yzyz{{zz|{{{z|yz{{zzzz{{|z{z{{z{zzz{z{|{z{{zzzy{zz{z||{{{{{{z|{z{zz{z{{|{{{zz{{{zzz{|{|{{{|{{{zz{z{|{{}|{|{z{{{z{|{{z{{{|{|{{z{{zzzz|{{{{||{{{z{{{z||||{}||{{{{z{{z{{{{|||z|zz{{z{|{|{|{{|{|z|{z{{z|{|{{{|{{z{{{zz|{{{{||{|zzz{{{{z{|||{{|{zz{{z{{{{{{{|z|}{{zz{{{yz{{{z{|zzz{{{zz{{|{{zz{zzzyzyz{zz{|zz{z{z{z{yzzy{{z{{{{{z{yzz{zz{{{zz{{{zz{z{zzz{zz|{z{{{yyzz{zz{zz{z{{|zzzzzyyzzz{zzz{z{zzzzzyzzz{{z{z{zzzzyzzzzzzzz{{{zzzz{yyzy{z{zz{zyzyzz{yzzz{z{zzzyz{yyzz{{{{{|{{{zzyyzyzzz{z{z{{{zzzyzzzyz{z{z{zz{zzyz{zy{zz{zy{{{zzzzzzzzz{{z{{zzzzyzzzz{|{zz|{|zz{zzzzz{{|{{{{|{z{z{zzz{{{|z{zzzzz{{zzz{{{|{{{z{{|{{z{z{{z{{|{{{zzz{{zz{{{|||{{zz|{{z{z|{{{{{{|zz{{yzzz{|||{z{{|z{z{z{{{||{{|{{{{|zzz{{z{{{{|{|zz{{z{{z{|z{||||{z{{zzz||{{{{z{{{z{zzzz{{{|{z|{{|{z{zy{{{{|{{{{|{zzy{{{zz|{{z{{{{{{{{yyz{{z|z{z|{zzz{zzz{{{{z{{zzzzzzyy{{{zzz{{|zzyzzzyyz{{z{zz{{zzzzz{zzzz{zz{{{yzzyyx{z{z{zz{|{z{yyyzyz{z{{{zzzz{zzyzzz{{{{{{zzzzyzyzzzz{z{{{{{zyzyzz{zy{zz{z{y{{zzyzz{{z{zz{yzyzyyzzz|zzz{z{{zzzyyzyyzzz{{{|{{{zzzzzyz{zzzz{|{{zzzyzzzzzzz{z{zzyyyzzz{zzzz{||zz{y{zzyzz|{{{{{zy{z{zz{|{{zz{{|zz{zyz{zz{z{zz{zz{{zzy{zz{z{{z|{zz|zzzzy{{{z{{{{z{zzzz{{z{{{z{{{z{zz{zzz{{{{{{{{z{{{{{{z{{z{|{||{z{{z{zz{{{{{|{{{{zz{z{{{{|||{||{{z{{{{|{{{{{{{||z{{{z{z{{{{{{|||{{{zz|{{{{{{z{||{z{{{zzz|{{|{{{|{z{{zz{{|{|{||{{|zzz{{{|zz{{|}}{zz{zzzz|{|{{{|{z{zz{{zzz{{z{{z{z{yzzzzzyz{{z{z{zzzzy{zx{|{z{{{{{{{yzzzyzzz{{|{|{zzzzzyzz{{{zz{|zz{z{{zyzz{z{z{{zyzzzzzyz{z{{{{zzzzzzzyzz{{{{zy{zzzzy{zzzz{|z{{zyzyyz{zzzz{zz{{zzyzzz{yzz{{z{{{{zzy{yzyz{{z{zz{{{zyz{zzz{zzz{{{zz{zyzzzzzzzzzz{zzyzzyzzy{{{{{{{|{{z{zzzz{{{zz{{{zz{zzyzzz{zz{z{{zz{{yz{y{|{zz{}{z{{z{yzzz{{{{|{|zzz{{zzz{{||{{{{zzz{{zzz{|zz{{{{{z|{{{zz{||}{{|{z|{{z|zz|{{{||{|{zzz{zzz||}{{|{{|z{z||{{|||{{{|{z{{{z{|{{||{{||{{z{{{{z{{||{{|{|z{{|{z{{{||{|||z{{{{{{z{{{|z{{}||z{{{{{||{{{|{{|{{{zzz{{{z{||{{{|{{z{{zz{{|{z{{|{{zz{z{z{{{{||zzzzzzzyzy{{{{zzzz{zyzzyzz{z{{{z||zzzzyz{{z{{{{zz{|{zzzyzzzz{z{{|z{zzzzzzz{{{{z|{{zzzzyzzz{z{{zzz{zz{zzyzyz{{zzzzz{zyzzzzzzzzyy{|zzyzzyzzy{z|z{{{{zyz{zzyz{z{{{{z{zzzzy|z{zz{{{z|{z{zzzyzzz{{{{{{{z{{zzyzzz{zyz{|{z|zzz{zy|z{{zz|{zzzzzzzz{z{z{{{|{zz{yz{{{{{{{{{{z{zzy{z{zz{{{zy|{z{{zyzzz{{{{{{{{z{y{zzz{|{|{{|{|zz{{z{y{{|z{{{{{{zz{{zz{{{|{{{z{{{{{{{z||{||{|{{z{z{z{{|{{|{{|{|{{z{z{{||{{||||z{{zzz{z{|{{|{|{|zz{{{{{|{||z|{}|z{{{{{{|{{|{|||||z{{{z|||||{{|}{{y{{|z{{{{{{|||{z{zz{z{{{z|{||{{|z{{{{y|{|{{|{z{zz{zzzz{{|{{y{zzz{{zzzy{z|{zz{|zzyzzzzzzy{y{{{{zzzzyyyzzzyz{||{yzyzyzyzzzzzzz|{{zzyzzzyz{z{z{z|zyzzyzzyzzzzzz{zzyzyzzyyzzzzy{{{yzyyyzzzz{{{z{z{zyyzyzzxzz{{{z{zzzzyyzzyzz{{{zz{{zzzyzyxz{zzz{{{{yz{zyzyz{{zz{{{{zzzyzyyyyz{z{zz{yyy{{zzzzz{{{{|zzyzzz{{z{zzzzz{zzzzzyzzzz{{{{z|{{{z{zyy{z{{{|{{zzzz{zz{z{{|{{{{{zzy{z{z{{|zz{|{{z{z{z{zz{{z{{{{z{y{y{zz{z{{{{{{zzz{{{{{{{z{{{|{{{zzzzzz|{|{|{{z{z{z{zz{{|{{z{|{{zz{z{{{{{{{|||{|{z{{{{{{|{}{{|{{z{{{z{{{{z{{|z{zzzzzzzz{{{{{||{{zyz{{z{{{{{{{{|z{{zzz{z{{{{{|{z|{{{{zz{{{||z{||zzzzz{{zz{|{{{{{{{yzy{yzz{y|z{z{yzzzzzyyzz{{z{{|{zzyz{zzzzzz{zzzzzzzyzyyzzzzz{zz{zzyyzyy{zzz|{z{zz{yzyyy{z{{z{{zzyzyyyzzzzzzz{zzz{zyzzxz{y{zz{{zzzzzyyyzz{zz{{{{{yyzzyyyzzz{{{z{zzzzz{{yz{{{z{{z{zyyzxzzzzzzzz{zzzzyz{yzy|{zx|z{zz{yzzzyzzzzz|y{{zzzyzyz{|{{{zz{zyyyyzzz{|zz{{z{zzz{yyz{{{zz{zz{{zyzzzzz{{z{z{{{zyzzzzzz|{{|zz|{{zzz{zyzzz{{z{{z{zzz{{zz{{||||{|{{{zzzz{{{{{{{{{{z{{{zz{z{{{{{{|{zzzzzzz{{{{{{||{z{z{{{{{{|||{{||zzzy{y{|{{||{{|{zzzz{{{{|{{{{|{|zyzzzz{{{{z|{|||zz{{zzz{{{z{|{|{{zy{zzz{|{{{{{{{{z{z{{{z{{{{{{{zz{yyyzz|{{|zz{zzzz{yzyyzzzzzzz{zyzyyzyzzzz{zzzzzyyz{zzzz{z{zz{zzzyyzzz{y{{{yz{z{zzzy{zz{{zy{{z{zzzzzyyyyzzzy{{zzzzyzzyzzzzzzyzyzyzzzzyzzzzzz{zyzzyzzyyyz{{yzzy{zxyzyzzy{z{z{{{{zyzyyyz{{|z{{{{|zyyzzxzyyzzyzzzzyy{zzz{xzz{zy{{{zzzzzzzy{{{z{{zzzzzyzzz{y{zz{zz{zy{zyyzyzz{{{{{zzzzyzzy{z{{{{z|z{z{zzyz{{{|{{{zzzzzzzzzz{z|{{|{zzzy{zzy{y{{z{z{z{z{zzz{z{{z{{{{{{z{z{zzz{{z{{{{{{{z{zzzz{{{|{{{{|zz{{{{{z|{{{{||{z{{{{{{{{{{||||{{zz{{zz{|{z{{|{{||zz{{{{|{{{z|{{zzz{{zz{{{{{{{{{yz{{zyz{{{{{|{{{{zzzzz{{{{{z|{{{{zz{zyyz{z{{{{|zzzy{z|z{{zz|zz{y{yzzyyy{z{|{{{{yzyyyyyzzz{{{zyzzzyyzzyz{zz{zzzzzxzy{yzzyzzzzzz{zzzzyyyy{zz{z{zz{zzzzyzyz{|yz{yzzyyzyyzzz{zzzz{zzxzyyzyyzzyz{z{zyzyyzyzzzzyzzz{zyyzyyzxzzyzz{zzyyzzyyzzyzzzzz{zzzyy{yzzyzzzzy{yzzzyyyzzyz{y{zzzzyy{zzyyzzzzzzz{z{zzzzyyyz{y{zzz{zyzzyy{yzz{zz|zzzz{zyyzzz{{zzzzz{yz{zzzzz{z{{z{zzzzyzyzzy{{{{z{{{zz{{zzzz{{{{{yzyzzyzzzzz{{{{{{{z{z{zz{{zz{z{{z{{zzzzzyy|{{z{|z{{zz{{z{{{{zz{||z{{z{zz{{z|{z{|{zzzz{{z{yz{z{{{{|{z{{z{{z{z{zz{{|{zzyzzzzz|{z{{||{{zz{zzz{|{{{|{|{{{zzz{zzz{|z{|{|zzzyzzzzzz{{{{zzy{zy{{zzz{{{{z{yy{yzzyzy{{zzz{zyzyzzyzyz{zz{z{{zzyyzyzyz{zz{z{{zzzyzxzz{{y{yzzzyzzzyyzyzzz{yz{zzzzyzzyyz{y{y{{{zzyy{yzy{yzzz{zzzzyzyzyzyz{z{zzzyzyyyyzyz|z{{zzzzyzzzyyyz{zzyz{zyyyzyyyyz{zyyzz{{yzyzyyxzzzyzzz{zyyyzzyyy{z{zzz{zzzzzzyyz{zzzz|{zzzyzzzzz{zzzzzzzz{zyzzzzzz{{{{zzzyzyz{yyzyz{{{z{zzyzzyz{{{{z{{{yzz{zzz{{{{{zz{{{z{zzzzzz{{z|z{{zzzzzzz{{z{{{|{{z{zz{{{{z{z{z{{{{zz{zzzz{{{z|{{{|zz{zzzz{{{{{{{|{{zzz{|z{{{{z{{||zz{zzz{z{||z||{{z{zzzzz{z{|{{||zz{{{zz{zy{{|||{z{{{{{{z{{{}{|||zzzzzyzz{{{{{{|{{zzzz{zzz{z{{{|zyzzyzzzyzz{zz{{{yzzz{{zzzy|yy{{zzyzyyyyyzz{zzz{{zy{yyyyyz{y{z{zz{{zzyzyxzzz{y{{zzyyz{yyyzz{{z{z{zyzzzzzyy{{z{zzz{zzyzzyyz{{z{|y{zyyyzzyxzzz{zzzzyzzzzxyzyzzzz{z{zzyyzzzzy{{z{z{{zzzzzzyzy{{zzzz{yyyzzzzzzzzzz{{zzyzzyyzzzzz{z{{{y{zzzyyyzz{{zz{{zyzz{yzzzzz{{z{{yzzyzyzz{zz{z{{zzzzzyzyyz{{z{z{{zzzzzzz{z{{{|zz{zzz{z{yzz{{zzz{{{z{{{z{zz{z{{{z{zz{zz{{z{z{{{|{|{yzz{{zz{zzz{{|}zz{{z{zz{{{{|{{{{{zz{z{y{{{|zz{{{{{zyz{{|{z{||{{{yzzz{zzz||z{{{{{z{{{{{{{||{|{|{{{{z{yyz{|z{{|||zzzz{{zz{|zz{|{{{{|zzyzzz{|{{{{|{z{zzzyzz{{z{z{|{zz{zyzzz{zz{|z{zzyzzyyyzz|{zz{zzyzyyzyz{zzz{z|{yzyyyyzz{zy{{{{{zzyzyzzzy{zz{z{zzzzzy{zzzzy{z{{{zy{yyyyzz{zzyz{z{yzzyzxy{{zyz{zy{zzy{yzyzzzyz{{{zyzzyyzyzy{zz{{{zzzyyzzzzzzz{{{{z{zzyyyyz{zzzz{z{zzzyyyyy{zzzzzzyzzyyzzyy|zz||zzyzzzzzzy|z{{z{{{zzzyzzzy{{z{{{|{{yzyzz{{{{{{zz{{zzzzzzzz|zz{zz{{{{zy{yzz{{{|z{{zz{zz{{z{z|z{{z|{zz{{z{z{z{{{z{{{{{z{{zzz{{{{|{{{z{{z{z{z{|{{{{z|zz{|{y{z{z{z{|{{{z{zz|{{{{{{z{|{zy{zzz{z||{|{|{||{z{{{zz{||{|{{{z{{{zyz{|{z{z{|{{zzzzz{{|{{{z||{{{zz{{z{{{{|{|z|{zyyzzzzzz{{{|||{zzzyyzz|{z{|{zz{{{zz{yzzz{z{{zzzyz{zyyzz{{z{{z{zzzyyzyz{zzz{{z{{zzzyzzz{{{{zz{{zyyyyyyzzzzz{{{{zyzyyzzyz{z{z{{{zyzyzxyzz{z{zz{zzyyzyyyzz{{z{z{zzyyyy{xyy{zzz{z{yyzyzyzzzzzzyz{yzzzzyzy{zzzzzz{{yzzzyzyzzzz{{{{{yzzz{xzzzzzzzzz|zzzzzzzyzzyzz{zzzzzzz{zxzz{{z{{{zyzy{zzyzzzy{{{{z{yzyy{yzz{{z}z{y{zzzzzzzzzz{z{{|{zzzz{z{{z{z{zzzz{z{zzz{z{z{zz{zy{yz{z{{{zz{{{{{z{z{yzz{{{z|{{{yzzz{{{{{|{{z{{|{zz{zzz{z{{z{{{{zzz{z{{|{{z{{{|{zz{|z{{zz{{{{|{|{z|{z{z{{{{|{{{{{{{{zz{z{z|{{z{zz{z|z{z|{{{{{|{|{{zzzzz{{|{z{z{{{{{z{{y{{{|{|{{{{{zzzzzz{z{{zz{{zzzyzzzzyzz{{zz{yyyyyzzyzzzz{{{{yyzzyzzyz{z{{z{zzyzyzzzyzzy{zz{{zzy{zzzzzz{{{z{{zzzzzyyyzyzz{{{zzy{zzzzyzz{zzz{z{yzzzyyyzzzzy{zzyzyzzzzzzzzzzz{{yyzzzzyzz{yzyzzzzyzzzzxzzz{z{{z{yz{yzyzx{zzzz{z{{zzz{yzzyzzzzz{{yy{zyzzyy{{zy{{zzyzzyzzzzzyy{{|zyz{yzy{zy{|zzz{zzyzzyyzz{z{{{z{{yyzzyzzy{{{{{{{{{zzy{zzzz{z{zz{{{z{{zzyz{{{zz{{{{yzzzyzz|{z{{z{{{yzzzzyz{{z{z{{|zzzzz{{z{{z{{|{{z{zzz{xz{{{{{||{|zz{zyyz{{{{{{{z{zzz{|zz{{z|{|z{{z{zz{{{{{z|{|||{zzzzzz{{z{zz{|{{z{z{zzz{{{{{|z|z{z{{{z{{{z|{{{{{{{z{zzzz{{{{{|{|{z{zz{yz{zz{y{{zz{yzzzzzz{zyz{{zzzyyyyzzzzzzzz{yyyzyyzz|{zyz{{{zz{yzzyyzzzzzz{z{yzzzyzzz{zz{{zyzyyyzyzy{zzzzzz|zyzzyyzzzz{yzz{zzzyyzyyzzzzzyzzzzyzzzzyyzzz{z{z|yzyzzyzyzyyz{z{{zzyyzzyzzzyz{{z{zzzzyyyxz{z{zzz{zyzzzyzyz{zzzzzzzzz{yyzyz{y{z{z{z{zy{yzy{zy{{{zzyyzzyyyyz{z{{z{yzy{zyyyz{z{{y{{{zz{yzzzyzz{z{{{{zzz{{yzy{{{z{|zzzyz{yyzy{{{{|{|z{z{{yzzzzz{{z{{zzz{z{zzz{{{{|{{{y{zzz{{{z{{{z{{{{{{zzzzz{{{z{{|z|zz{{zz{z|{{{||{{z{yzz{z{{z{{{{|{zz{y{zzz{{{{{{|{{z{{z{{{|{{|z{|{yzyzz{z{{z||z||{y{{{{z{|{y{z{{{z{y{zzz{z||{z|{{z{y{zzyy{|{{{{zzzyzyyyz{{{{{zzyz{zzzzyyyz{{zzzz{{zzzyzzyzzzzz{|{zzyyyyyyzz{z{zzz{zzzyyzzz{zzzz{z{yyzyzyzzyz{zzz{yyzzyzzy{z{zzz{yzyzyzyyz{y{zyz{zyyyyzyyyzzyzzz{{zyzyzzzyy{zz{{{z{zzzzzyzzz{y{{{{zzyzyzyzy{{zy{{{zyzzyyyy{zzz{zzzzzzzyzyzz{y{z{zzyzzyzzyzzz{{z{{{{yyzzzzy{zz{z{{{zzzzzzyy{zz{{zz{zzzzzzz{z{z{{z|z{zzzy{zzzzz|{zz{zzzzzzzzzz{z{{|zz{zyzzyz{z|{z|{z{zzz{{zzz{{||{{{yz{{{zz{|z{{|{{|{zzzzyyzz{z{{{{{{{z{z{{z{|zz|{|{{z{yz{|{|{{{{{{{|{{{zz{{{|{z{z|{zz{{zzzz{|z|||{{{{zzzzzzz|{{|{{|{{zz{{|{{z|{{}z{{{|zzzz{z{|{{z||zzzzzzzzz{{{z{{{zzzzzy{zy{{z{z{{zzyyzyyzy{{zzz{zzzyzyzxzz{z{yzz{{zyyyz{{zzz{zzzzzzzzyyzzz{zz{yz{yzz{yzzyzy{zyz{zzzzzzzzyzz{{y{{zzyzyz{y{zzzy{zz{{z{zyzyyzzzzzz{zzyzzyyyyyz{zzz{zzyzyy{xzz{{zz{zzyz{zyzyyzz{zy|z{{y{zyzyyzzzzzz{zyyzzyyzyzz{yzz{zyyzzzzyzz{zz|{{{{zzzzyyzz{{zzz{z{zzzzzzz{{|{z{zzzz{yzyzz{{{z{{{{zzzzzzzzzzz{{|z{zzzyyzzz{{{zz{{{{zzz{zzyz{{{zz{{z{{z|z{zz{z|{{{{{{zzz{zz{{{{{{|{z{z{zyyyz|{{{z|{|zyz{yzz{{{z{{|{{{zzy{{z{{{|{{{|zz{z{{zz{{{|{{{|{{|zzzz{z{{{z{{|zyy{zzz{{{{{{||{zz{zz{zzz{|{{z|{{z{zzyzy{{z{{{||{{zzzzzz|{z{z{z{zzzz{z{zzzzzzzzzzyzyzzyzzzzzyzzzzzyyzyyyzzyzz|y{zzyyzzxyzzzzzz{yzyyzyyxyzzzz{zz{yzyyzzyyzzzzyzzzzzzyzzyzzzzyy{zzzzzyyyyy{zzyz{yzzzzxzxyyyyyzzzzzyzyyyyzyyz{yzy{z{yyzyyyzz{{{zz{zyy{zyzyzzzzzzz{{zyzzyyzyxzzzyzzz{zzyyzzzyzzzz{z{zxzzzzxyzz{{zzzzzzzzyzzyzz{{z{{{zzzzzzzzzyyzzzzzzzzzyyzz{{zzzzzzzzzyzyzzz{zz{{z{{z|zz{zzz{{zz{{z{yyzzzyz{|{{z{zzzzzzzzzzzzz{{{{{zz|y{{{{{{{{z{{{zyzz{zyz{{{{zz{{{zyz{{zz{{{{{{{{zzzz{{{z{{{z{{{{zz{{{zz{{|{{{|{{{zz{zzy{{{{|{z|{|yzzzz{{zzzz{z{{|{z{{zzz{{{{z{{{z{zzzy{|z{{{z|{{z{zzzz{y{{{{zz|{zyzzzzzy{z{{{{zzzyyzyz{yxzzzzy{{{{yzzyyzyzzzy{{z{zzyzyzy{zy{z{{{zzxyzyzyyz{{zz{zz{{zy{zzyzzzz{zzzyzyzyzzz{{yzz{{zzzzzyyzzz{y{zzzzzyzzyzzyz{zy{yzzyzyyyyyzz{zz{zzzzzyzzyzzy{{zzzzzyyyyyyzyzz{zz{{{zzzzyxzz{zzyzzzzyzyyyzyyzzzy|{zz{zyzzyzyzzz{z{{{yzz{yyzz{|z{{z{zyzzyz{zzzzzz{{{yzyzyy{zy{zyz{zz{zzz{yyzz{z{{}z{{zzzz{zz{||{{{{zzz{zzzzz{z{{z{{{{zz{{{z{{{{{{|{{{{{zzz{z{{z{{{{{zzzz{{zz{z|{{{{{{z{{{|yz||{{|{{|{{z{z{{{{{{{{|{|{zzzz{|{||{|{{{z|z{zz{z{{|{{{|{{{zzzy{zz{{{||{||{{zz{{z{{{{{{{{||{yzzzz{{{{zz|z{z{zyz{zyzzzz{{z{zzzyzzz{z{{z{{{zyzzzzyyyz{{yz{z{{zyyyyyyzzzzz|{zzzzyzzzzzzy{{{z{zxzzzyyyzzz{zzz{zyzyyyyyzzz{zz{{zyyyzzzyy{z{{zzzzyzzzyyz{{zyy{zyy{yyzyzzzyzyy{zzzzyzzzyyyzzzzzz{yzzzyyyy{zzzz{zz{{{zyyzyzyzz{z{zzyzzy{yyyyzzz{{{zyzzzzzyzzzzzzyzzzzzzyzzy{z|{{{|zzzzyzyz{||{z{z{{z{zzxzyzzz{zz{{zzzzyzyzz|{{zz{{zzzzzzzz{{{{{{z{yzzyzzyz{z{z{z{z{z{zyz{yz|{z{z|z{zzzz{zzz{z{{{{zy{zz{zz{{{{{{{{|{zz{{zz{{{{{{{|{{z{zz{{z|{{{{{|{z{{{{z{z{|z{{{{|{{zz{z{zz{|{{|{{{z{{z{{zz{{{{z{{{zyz{zzz{{{z{||z{zz{{zy{{|{{{{{{{zzy{z{zz{z{{{{zzzyzzyyz{{z{z{{zzzzzzyzyz{{{yz{yzyyxyzyy{z{zzz{{zyzyzyzzyzz{{{zz{zxyzzyxyz{{zz{z{zyzzzyzz{z{z{{{zzyyyyzy{{zyzz{zzyzzzzzyz{z{z{zzzzzzzyyzyz{zzz{{zzzyyzyzyzzzzzz{zzyzzzzz{{zz{{{zyzyzzyyzzzz{zy{{yyzzzzyy{{z{z{zzzzyyyzzyyzzzz{{z{zzyzzzyy{zzy{z{zy{zz{yy{zz{{z{{zyyzzz{yzzzzzz{{zzz{zz{{{zz{{{{{z{zzyyzzz{{z{{{z{zz{zyzzzz|{{|{{zzzzzzz{z{{zz|{{{{yzzz{zz{{{|{{{zz{z{zzzz{|{|z{{zzzyz{{z{|{{||{{{zz{zzzz{{||{{|{{z{{zz{z{z|z|{{{{z{{zzz{{{{{{{{{|z{zz{z{z{{{|||{|{zz{z{z{{{{{{|{{{z{z{zy{{|{{{||z{zz{{z{{{{{{|{{z{z{zz{z{{z|{{|{{{yz|z{z{{{z|{{{zz{{{yzzz{{{{zzzyyyyyyyyzzzzyz{zzzyyzxyzzzzz{zzz{zzyzxzyyzzz|z{{zzyzyzyzzyz{zzz{z{yyzxyy{zzzzzzzyzyyzzyyyzzzzzyzzzzyyyyy{z{yyzzzyyzzyzyzzzzzyz{yyzzyyyyyyz{zzzzzyzyyxyyzyz{zz{{{yzzzyzzyyz{zyz{|zyy{yzyzzzzzz{z{yyzzzzzyzzyzzz{{zyyzzzyzzz{zzz{zzzzzyyzyzzz{z{z{yzzyyyzy{{{{yz{zzzzzyz{zzz{zz{{{yzyzzyzzzzz{z{{{zyzzzzyy{z{z{z|{{zxzy{zy{{{zy|{z{zzyz{zzz{{{{||{{zyyz{z{|{{||{{{zzyzzyzz{|{|z{zz{y{zzyzz{{{zz{{{zzzy{{{{{{zz{|z|z{zzzzz{y{{{{{{{|y{{zzzzz{|{{{|{{zz{{zyz{{{{z{{{{{zzz|y{z{{z{|||z{zzy{{{z{z|{{{{{yzzyzzz{z{||{{zzzzyzyzzzz{z{zzzyyzyzzyxzzzz{zzz{yxxzyzyzzzzzz{{zzzyzzzyzzz{z{{{{yzzyzzzzy{{zz|{{{zzyyyy{zyy|zzzzyzzxyzyzzyyz{{{zyzyzyzzzz{zy{zzzzyyx{xyyzzzz{z{yzzyyyzzy{zz{zzz{yyzyzyyyzzz{zz|zz{zyzzyzzz{zz{{{zzzzyzyzzzzzzz{zzzyyyyzyzzz{zz{yyzzzzzz{{zz{{{{zzyyzyyzzzzzz{{z{y{yzyzzz{zzz{{{zzzzzzyz{zzz{z{{zzzzzy{yzzz{{z{{zzzzzzzyz{{{{z{{zzyzzyzzz{{z{{{z{{{zzzzzzz{|{z{{zy{{z{{z{z{{|{|{{z{{z{{y{|{{{{{{zzzyz{yz{|zz{{|zzzzz{{zzzz{{{{{{zz{z{zzz{{{{{{|{{{{z{zzz|{{{{{{{zzz{zy{{{z{z{|z{{zzz{z{{{{{{|{{z{{zzzzz{{{{z{|{{{zzzzzzz{{{|z{z{zyzzyzzzzz{zzz{zzzyyyyzyzz|yzzzzzzyyyzyyz{zzy{z{zyyyzzyy{zzzzz{{{yzyyzyyzzz{{z{yzyyyyzzyzzy{zzzzyyyy{zzyy{z{zzyzzzyzyzyyyz{zzz{z{xyyz{xyyyzzzyz{yyzzyyzyz{zzzz{z{yyyyyzzz{{{z{zzzzzzxyyyzyyzz{zzzzyzyyzy{{y{zzzzyy{yyyyyzzy{{zzz{yz{yzyyzzz{zzz{zz{zzyyyzzzzz{z|zzzzzzyzzzzz{z{{yz{yzzzzzyz{z{{{zyzzzzzzz{{zz{{{{zzyzzyyz{zyzz{{yz{{{zzzz{{zz|zzzzzzzyzz{{z{{zzz{z{zz{|{||y{{{{|{z{zzzzy{{z{{{{|yzzz{{zz{|{{{z|{zzzy{z{{{{z{{{{|{zyzzy{z{|{|{{{{{z{zz{{{{{|{{|{{|{zzzzzz{{{|{{{{{yz{{zzz{{{{{{{|zzyzz{yyzz{{{{{{{zzzzz{zz{{{zzzzzzzy{zzzz{zzz{z{zyyyzzzyyzzzzy{{zzyyyyyyzzz{z{{{zzyy{{zzz{zz{z{zz{zyyyzzzy{zzz{|z{{zyyzyzzz{zzz{zzzyyyzzzz{zz{z{zzzzyzxy{zzzzz{zzzyyyzzyzyzyzz{zzzzyyyyzzzzzyzz{{yyzxyzy{zzz{{zz{zzyyzyzz{zzy{{{yzyyzxyyzzzyz{zzzzyyyyyzzyzzz{yzzzzzzyyyzzz{{z||zyyzzyxzzzzzz{zzzz{zzyzzyy{y{z{{zz{zzzyy{{z{zz{zzzzzzyzz{{zzz|zzzy{zzzzy{zzz{{{zyzy{yy{z|{{{{|{{{z{z{{z{z{{||zz{y{{y{z{z|z{{{{|{{zz{z|zyz{{{z{zz{{zz{{z||{{{|z{|{yy{zzz{z{z{{{{|{zz{zz{{{{{|{{{z{z{{z{z{{{|{{||zzyzyz{zzz{zz{{{{{z{{{zzzz|{|{{{z{{zzzzzzz|z{{{|{z{yzyz{{z|{{{z{{zzz{yy{z{{|{zz{zzzyyyyyzyz{zz{{{yzzyyyyyyyz{{z{zzyzyzyzy{zzz{z{zzyyyyyxyz{{zzzz{zyzyyyzyzz{zzzzzyzzyyyzyy{yyzzzy{xzyzyzyzzzyzzzzyyzyz{yyzz{{zzzzzzyzzzzzz{zz{zzzzyzyyzzyz{{z{{zzzyyyzzzzz{z{{z{{zzzzzzyyyyzzz{{{xz{zzyyzzzzzz{zzyzzyyyzx{zz{zz{{zzzzzzzzy|z{{z{{zzyz{zzy{zzz{z{zyzzzzzyzzyzzz{z{{zz{zzyyz{z{{{|{{z{zyy{z{{|{zz{{zzzz{zzz{{{zz{{z{z{z{{z|{{zz{|{|zz{zzz{z{zz{{{{|{{zzz{{zy{{{{{{{zz{{zz{{{||{{|{|{zz{{{{zz{z{{{zz{{{z{{z{{||{{|{{{z{{zz{{|{{|{z{{|zzzz{z{{|z||{{{{zz{{{{z{z{{z{{{zz{z{zz{zz{{|{zzz{{yzzz{z{{{{z{{{z{yz{yy{z|{zzzzyzyzyyyyyzzzzzzzyzzyyyyyzz{{{z{{zyyyyzyyyzzzzz{zzyzyzyyyzyzz{zzz{yyyzyzyzzzzzz{{zyzyzyzyzzzyzzzzz{zyxzyzzyzzz{yyyyzyzyxzzyyzy{{zzyzyyxzyyz{zyzz{zzzyyyyyz{zy{zz{yyzzyyzzyzyzzzzzzyyyzzyyyyyzy{{zzyzyyyyxz{zzz{z{zzzzyzyyzzz{zz{{yzzzzyzzz{z{zzzzzzyzzyz{zzz{{z{{xyzyyzzy{zzzzz{zyzzyzzzzz|z{z{zz{zzzzyyzz{{z{z{zzyy{zzzzz{|{z{z|zzzzzz{zz{{z{{z{zyyz|{{zzz{{z{{|zzzzzyyz{z|{|{{{{yzz{zzz||{{{|{{zzyz{{{z{{zz{||{{{z{z{zz{|z|z{{{|zz{zzzyz{z{z{{z{yzz{zzz|{{z{z{{{{z{yzyz{{z{|{z{z{zy{zz{{{y{z{{{{z{zzzzx{z{{z{{zzyzyz{zz{z{{zzzzyyyzzzyyyz{zyzz{yyy{zyzyy{zzzz{|zzyyzxzyzyzz{{zzzyzyzyyyzzz{yz{zyxyyzyyyz{zzzz{{yyzzzzyzyzzz{y|zzyzzzyyyzz{zyzzzzzzyyyyyzzyzy{zyyyzyzyyzzzzzz{{yyzzyyxzyzz{z{zy{zz{zzzzy{zyzzzz{zzzzyyzzyzzzzz{{zyzyyzzzy{yy{zz{zyyyyzyyzzzzz{{yzzyzyyzyzzzzz{z{zzzzzyyz{y{zyz{{z{yzzyzz{{zzz{z|yzzyzz{yzz{zz|{{z{z{zzzzz{{zzz{{zzz{zy{z{{{yz{{{{zzyzzzz{z{{z{zzzz{z{y{{y{z{{{||zz{yyzyy{zz{zz{{zz|{{yzyz{|{{{||zy{{yzzzz{{z{{{|{z{zzzz{z|||{{{|z{z{zyzy{{z||{{{zyzz{yz{{zz{||z{{zzz{yyy{{{|{|z|{zzyzzzyz{{{zz|{{z{zzzzy{{{{z{{{{{zyyzzyz{|zzz{{zyyyyzzyz{{zzzz|yzzyzzzzzyzzz{{zzzzyzyxyzzy{yzz{zzzzyzz{zzzzyzzzzyzyzzxyzzxzy{z{zyzyyzyyy{zzzz{zzyyyyz{yzz{yzz{zzzzyzyyxyyzzzz{zyzzyyzyyyzzz{zzzzyyyxzzzzzzyzzzzzzzzzyzyzyyzzzz{yyzyyzyxyz{zzzz{yyyzzzyyyzyz{z{zzyzyyzzyzz{zyz{{{zyzzyzzz{zyzzzzyzzzxyzzzzzzz{z{y{{zyzzzzz{z{zz{zyyzyyyzyz{{y{zzzzzzzzyy{{{{zz|zyzyy{yyz{zz{{{{zz{{{zzzz{{z{{z{{zzzz{{zz{{{{zz||zzzzzzz{{z{{{{|{{zzz{y{z{{zz{{{{zyzzzz{z{{{{{{{z{zzzz{yzz}{{{z{|{zzzzzzz|{z{|{zz{yz{zyzzzz{z|{{{{{zz{zzz{{{zz{{{{zzy{zz{zz{{{{{z{{zzz{zy{{{{zz{z{zzzyz{yzz{zz{z{zyyyzyyyzz{yzzzz{zzyzyzz{y{zzz{|zzzzz{zzzzy{z|z{zy{yzyzyzzzyy{{yzzzzzzzyzyz{zzz{zzzzyz{yzz{zyz{zzzyyyzzyz|{{y{zzyzzyyyzz{yy{zz{{zyzzxyzzxz{z{zzzzyzzyzzzz{{y{zzzzz{zyyyzyz{zy{{{yyzyyxzyyz|zzz{{{zzzzxzzy{zz{zz{yyzy{zyyz{{zz{zzzz{zyyzyzzzzzz{{yzzyzzzz{{z|zz{{zzyzzzyzz{{zyzz{z{{zzzyzzz{zy{zz{yzzyzyzz{{{|{{{zzz{z|{z{{z{{z|{zzz{{zyy{zz}{|{{zz{z{zzyz{z{z{{{{z{z{zzz{{{{{{|{{z{z{||z{|{z{{{{{|{zzz{zz{{{{{{{{{zyzzz|{|{|{|z{|zzzzz{{z{{{{{|{z{z{z{{z{{|{z{{{{|z{{{z||||{|||{z{zzzzz{z{{|{{{{{|z{y{z{{{{{{z{{{zzz{zzzzz{{{zzzz{zzyzzzz{zyzzzzzzzzyyzzz{zzzz{zz{yzzyzyzzzz{{{{zzzzzzyz{zzzzyzz{zzyyzzy{zzzyzz{yyzzy{yy{zzzy{{zzz{yzzyzzzz{zz{zzzzyyzyyyz{z{{z{zyyzzzyyz{{{zzzz{zzyyyyz{zzzzz{zzzzyyyyy{zy{zz{{zzyy{yzyyzzzzz{{{yzyzyyzyzyz{{z{yyzyzzzy{zz{z||{zzzz{yzzz{zzz{z{{zyzzzzy{{zzz{{{z{zzyyzzz{{{zz|{zz{zzy{zz|zz{{z{zyzyzyzx{{|{{{{{zyyzzzz{{zzz{{z{{zy{{zz{z{{{}{{zzz{z{zzzzz{{z{{{zzxzzzzyz{{{{z{{{zzz{zyz{|{{{|{{zz{yzzzz{{{{z{{{{zzz{zzzz|{|{{{|{y{zzzzzz{z{{z{{{{zz{yzz{{z{{{{{z|z{{z{zz{{{{{{|{zzzzz{zz{z{{z{||{zzzz{zz{z{z{|y{yzz{zzzzzzzz{zzyzyzzzyyzz{y{yzzzzyyzxyyz{{z{{zzzzzzyyyyzzzy{zz{yyyzyyzyyzy{zzzzzzzyyzyyzz{z{zzzzzzyzyzyyzzyzzzzzyyyyzyyzyzzyz{zyzxyyyyyyzzzzzzzyxyyyyyyzzzyzzzzzzzyyzyzzzzz{{{zzxyxxzyxz{z{zzzzyyyyyzyyzyyyyzzzzyyyzyyyzzzzz{zzyyzyzzzx{{zz{zzzzz{yzzzzz{{zzz{zzyzyxxzzzy{{z{{{zzzzzyy{zzzzzz{zzzzzyzyyzzzz{{zzyz{yyzyy{|zyzy{{zzyyzzyzz{zz{{{{zzyzzzz{zz{{{|zzzz{z{z{yzz{{|{{{zzz{zyzz{{{{{z{{zzy{yzzz{zz{{{||{{zzz{{z{z{{|{|{{z{{zz{z{|{{{z{{{{{zzzzz{{{{{zz}{z{z{zzz{zz{z{||zzyzzzzz{zz|{|z{z{zyz{zzz{{z{{|{{zzz{yzyzzzz{{{zz{zzzzzzzz{z{z{zzyzzzyzy{{zzyxz{yzyyzxzzy{zz{z{{zyzyyzyyzzz{z{z{yyyyzyyyy{yzyz{yzyzyyzyzy{{z{{zzzyyxyyyyyz{zz{{yzyyyzyyyzz{yyyz{yyyzyyyyzyzzzzz{yyyyyzyyyzy{zzzzzzzyxyyzyzzzyz{zzzzzzzyyz{zzz{zzyzyyyzyyyyz{zzzzyyyyyyzzxzyzzzzzzyyyyzyyzzzz{{{yzyyzyzyyzz{{zzz{zzzyyyzyyyzz{z{{zzzzyzzy{{zz{{{zyzzzzyzzy{|yzz|{z{zzyzyy|{zz{z{{zzyz{yzyz{zzzz{{zzzzzzzzy{{{{z|{{zzzz{z{z{z{z{{{zzzzzzzzz{{z{zz{{y{zyzzz{z{zz{{{{zzzzzzzz{z{{||{{{zzyz{z{{{{{{{{zz{{{zz{{{z{{{|{zyzzzzzz{z{{{{{{zz{z{zzzzz{{{{{{z{zyzzzy{z{zz{{z|zy{zzzzz|z{{{|{zzzx{zzy{z{zz{{zx{zyyyyyzz{zzz{zyzzyzyyzz|zzzz{{zyyzyzyyyzyzzz|zzzzzyyyzzz{zyyz{yyyyyyzyzy{zzzz{yyzyyyzxz{{{z{z{yzzzyyyyyzzzz{{zzyxxzyyy{{yzzzyzyyzyyyzzzyzzyz{zyyyyxzyzyzzz{z|zzzzzyyzyzz{zyz{{zyzy{yzyz{{zyz{zzzzzyzzyzzz{zzz{zxzzyyyyzz{{zzzzz{yzyyyyz{zzz|{|{yzzyxzzzz{zz{zz{yzzzyzzzz{z{{|zzzzzzzyzzz{z{{{{zyzzzyzyzz{zz{z{zyzzzzzzzz{zz{{z{zyyzyz{{z{{z{{{zzzzzzz{{{{{z||{|zz{z{zzz{|{{{{{{zzzzyzz{{{{{|||{z{z{{zz{{zzz{{||z{{z{z{{}{||{{{|{z{{y|z{{{|{{{{{zz{{zzzzz{z{{|{|z{yzzzz{{{{|{{zzzyzzzzy{{z|{{{{{zzzzzzzz{z{{z{zzz{yzzzzz{z{{zyzyzzyyyzyzzzz{{z{zzzyzyxy{zzzzzz{zzyyyyyy{zzy{z{z{zyxyyyyy{zzyz{zyyzyy{zyzzz{zzz{{yzyyzzyy{zyyz{zzyzzyyyzzzzyzzzyyy{yyzyzz{{{zyyzyyzyyyyzzzyzz{z{zyyzzyyyzzzzzyzzyzyyyyxxzzyzzzzzzyzyzyzyyzyzy{{zzzyyxyyyyyyzyz{{zzzyzzyy{|zzzzzzyz{yyyzy{z{zzz{yzzzzzyzyzzzzz{{|{zzzzyyzzzzzz{{z{zzzzyzzzz{zz{{y{zzyzzyyz{{zz{{{y{zzzzyzzz{{zzzzzzzzyzzzzz{{{||{zzzzzzzz{zzzz|{{zyzz{yyzz{{{{||z{y{{zz{{zz{z{z{{zzzzy{z{zzz{{{{{zz{{{{{zy{{{{{{{{zyzzz{{{|{{{{|{{zzzzzz{{{z{|zz|zzzzzzzz{{z{{{{{{z{zzz|zz{zz{{{{zzy{{zzzz{{{z{|zzy{yzyzz{zzzyzz{yyz{yxzyzzzzzzz{zzzyzzzzzzz{zz{zzzzxxzzyyzz{{zzzzyzy{zyyzzzzzzz|zzyxyyyzzzzyyzzzyyyyzzzzz{zyxz{yzyzyyzzyzz{yy{zzzyyzyzyzzyzzzzzzzyzzzyzyzzzzzzzzyyyyyzxyzzxzz{yzzyzzyzxyzz{zzyzzzzzzyyyyzyzzz{zzzyzy{yyzzzx{y{zzzyzxzzzyyyyy{{z{zyzyzyzyyzzzzy{zzzz{zyxzzzz{zz{{{zzyzyzz{zz{zzyzzzzz{yzzz{z{z{|zzyzyzyy{z{{zzz{{z{y|{zz{{zz{z{z{{zzzz{zz{zz{{{{zyzzzzz{zz{{{z{{z{zz{zzzz{{{zzz{{zyz{zzzz{z{{{{{{{z{zz{zzzz{{{{z|zzz{zzz{{{z{||{|{y{z{zyz{{|{z{{{zzzz{yzz{{||||{|{|zz{z{yzzz{{|{{yzz{zyzyz{{{z{|{{zzzyy{y{{z|z{{{zzz{zyzyz{zz{zyzz{zzyyyzz{zzzz{{zyzzxyyz{yyyz{z{zzyzzyyzzzz{{{{{zyyyzyyzz{{zz{{{zzzxyyyxyzz{z{zzzyzzyzxzzyzzzzzzzyzzzzzzyzzzyzzzyxyyy{yyzzzzz{zyzyyyyyyyzzzzzz{zzyyzyyyyy{{zzzzzzzyzyzzyyzzzzz{zyzyyyyyzyyyz{zzzzxzwyxxzzzzzy{z{zzyzzzyy{zzzz{z{zzyyzyzzzzzzz{z{zzyyyyzzyzzzz{z{zyyyzzzzzz{{{zzzyzzyzyzzz{{|z{{{|zzzyyz{{zz{z|z{yzzzyy{{z{{{zz{y{z{yzyz{{z{|{zzzzzzzzzzyz{z{{{{{{zyzzzyzzz{zz{{z{zyz{zzy{|{{|{{{zzzzyzzz{{zy{{{|z{zzz{z{z{{{zz{{{y{zzz{zz{{|zz{{{y{z{z{{{{zz{{{{|yzzzzzz{{{{{{{{zzzyzzzzz{zzz{|{zyzyyzzzzzz{y{zzzzzzyyzy{{zzzzzzyzyyzzzyyz{z{zzzzyyyzyyzzzzzzzz{zzyyzzzyzzzyz{zzzyzy{yyzy{{zzzz{zzzyyyzzyyzyzzzzzzyzzyyyzzzyy{zzzzzzzzyyyzzyzzzzzyyyyyyzzyzzzzz{yyzzzyzyyzzzzz{zyyzzzzzyyyzzzzzzzy{zzzzzyzz{{z{zzxyzzyzyzzzyzzzzy{yxyzyyyzzzy{{zzyyyzyyzz{zz{zzzzzyyyzyz{{{y{{z{zzzzzzyyzz{zz{zzyzyzyzyzzz{z{z{zzzyzzyyzz{zz{{z{zyyzzxyzzz{zzz{{zzzzyzxy{{z{zzz{zzzy{zzy{z{{{{{{zy|yzzzz{{{|{||{{y{{zzyz{{z{z{{{{zzz{zzz{|{z|{||zz{zyzzzzz{{{{{{{{zzz{z{z|{z|{{|{yzzzzzz{|{{z|{{|zyyzzzzzz{{{{{z{{yzzz{z{z{|{{{{zzzyzzzyz{z{{{{{{zzzyzzz{{{{z{z{zzzzzyyy{z{|{{z{yzyyzzzyzzzzz{z{yyzy{yzzzz{zy{{zzzyyzyyxz{yzzzzzzyzyyyyyzz{zyz{zy{zxxyyxzyzzz{z{yyzyyyzyzz{zyzzzzzzyyzyyyz{zz{zyzyyzzzyyzyzzzzz{yyyzzzzzzyyzzzzzzzzyyzzzzzzzz{zyyzzyzzzyzzyzy{{{zyyzzyzxzzzyz{zzzzyyyyzzz{{y{zz{zzzyyyyzyz{zzz{{{xzzzyzzzzzz{{zz{zyzzzzzzzz{zzz{zzyyyzzzz{zzz{|zzyz{zzz{z{{{{{z{zyzz{yzyzzz{|z{zzzyzyzyz{|{z{{zz{zz{y{{zzz|{{{{{zzz{|{zz{{zz{{{|{y{{zz{zzzz{{{z{{zy{zz{z|{{{{{{{zz{zz{{zzzz{{|z{{zz{y{{zz|{{{z{{z{{{zzzz{{{{{|{z|{z{{zzy|{{{{{{||{zz{zy{z{z{{{{z{z{yzzzzz|yzz{{{{zz{yyzzz{{{zz{zyz{z{zzzzz{zy{{zzzyzzzyyz{yz{zzz{yyyyyyyzyzzzz{{z{yzzzzyzyzz{zz{zyzzzzyzzzz{{{y{zyzzzyzzzzzzyzzzzyyyzyyyy{zzz{zyyzz{zzyyyzzzz{zzzz{xyyyyyzyzzzzzyzyzzzyzzyzy{z|yzyzzzyyyzzzzzzzzzy{xyzzzzzyzyzzzzyzxxyzyyzzz{zzzzyzyyzyzyzyzz{|zzyzyzzyyz|z{z{z{zzzzzzzzz{z{zzz{zzyzzzyz{z{zzzz{yzzzyzzzyz{zzyz{zy{yzzzyz{z|{{zzzzyyzzy{z{{{{z|{zzyzzzzzzz{{z{{{zzyz{zzzz{{|{{{{z{zzzz|zz{z{{{{|zyzzyyzy{{|{{z{{zzzzz{{z{||{{|{{zz{zz{zy{{{{z|{{zz{zyzzz{|{{{{||{{{{{z{zz{zz{{{|{z{yzzz{{zzz{z|{z{zz{zz{{{{{z{{{zzzzz{zyz{z{{{{{zz{{zzzzz{{{{{{zzzzzzzzz{z{zz{{yzzzyyzzyzzzzz{yyzyzyzyyyzyzz{{{z{{yxyzzyzyzz{{z{zyzy{zzzzzz{{zz{{zzyxzzxz{z{z{zzzzzyyyyyzzzzz{zz{zyyyzzyyyzzyzyzyyyyzyzzyy{{zzzzyzyyzyyyyzzzzzzyyyzyyzyzzzzy{zzzzzzzyzyyz{zz{{{{{{zyzyyyzzyzyzy{y{zy{yzyyzz{zz{{{zzzzzzzzzz{z{{{zzyzyxyzz{z{z{z{zzyzzyzzzz{y{{{{z{yzyzzz{y{{{yyzzyzzyz{yz{y{{{{zyyzzzzyzz{{zz{zzzyy{zyy{{{{{z{z{zzyzzzyz{{z{z{{{zz{zzzzzzz{{{{{{z{zz{zzy{{z{{{z{{z{y{zzy{zz{{{||zzzzyzzzzz{{{{{z{{z{z{z{{{{{{z{z|{z{{zz{|zzz{}{z{zzzzzz{{z{yz{}{{zzzz|zzz{{{{{{{z{{zzzz{zz{{z{z{{zzzzzzzz{z{z{z{zz{zzzyy{{z{{zyzzyzyyzyzz{zy{zz{zyyyzyzzzzzzz{zzzzzyzyyxzzyz{{zzyzzyyyy{zzzzzz{{zz{yyyyyzzzzzzzzzzzyzzzyyyzzzzzzzyz{zyyxyy{zyyzzzzyyyzyzzzzzzzzzyzzyzyxyzz{yzz{zzzyzyyyyzz{{zzzzy{yyyyyyzy{yzzzzyyzzyyyyyzzzz{y{zzyyyyyyy{zyy{zyyyzzyz{yy{{zzz{zyzzzyyyzyzzz{zz{zyzyzzyzzz{zzz{zyzzyyyyzzzz{yz{{zzzzzyyzzzz{zz{zzyzzxyzzzz{zz{z{zyyyyyzz{{zzzzz{y{zzz{zzzz|{{z{{zzzzzz{z{{{{z{{|zz{zzyyz{zzz{{|{{zzzzz|z{|z{|{{{yz{yyz{zz{{{|{{{zzzzzzyz{z{{z|{|{zz{zzzz{{{{{{z|zzzzz{zz{{zz{{{|{zzzzzzzz{z{{{{{zzzzzzzzz{y{z{{{{zzzzzyyyz{zzy|{zxyyzzyzzz|zz{zzyyzyzzyyzzzyz{z{zyyyyyzxy{zzzyzzzyzxyzzyz{zzz{zzz{yzyyxyyz{zzz{zzz{yyyyyz{zyy{{zzyzzzyzzzzyyzzzzyzzyyxyzzyzyy{z{yyzwzzyzzzzzyzy{yzyyzyyxzzyzzz{yzzzzyyyyzzzy{{{{yz{zyzzzz{{|zyz{yxzzzxzyyzzyz{y{xyyzyzzy{zyzzzz{zzyzyzyyz{zzz{z|xzyyzzzz{zzzzz{{zzzyzzzz{zz{z{z{yyyyyzyy{{{zzz{{yy{zyyz{y{{z{{{{zz{yzzyxzzzz{z{z{yzz{zz{{{{{z{zzzz{zyzzzz{z|{{z{z{zz{{z{{{{{{{{{zz{yzyzz{{{{|{{{zz{zzyz{{zzz{{{{{zzzz{{{zz{z|{{|{zzz{zzzz||{|{|{{{zz{y{{{{{{{{{z{yzzzzzzzzz{{{{|{zzz{z{z{{{{{{{zzzzzyyyz{{z{z||z{zzzz{yz{{z|zz{{{y{zzz{zzzyzzy{{xzzyyzyyzz{zzyzz{yzyyx{zzzzz{z{zzyyyzyzy{zzzz{zyzzzyyzzyzzzzzz{{zzzyxyzyyyzzz{z{zyyyzzyzzyyzzz{zzzzyzzyyzzzzzzyzzzzzyzy{zyzyzz{yyyyyzyzxz{zyzz{yyyyzzzyzyzz{{zzzzzzyyyyxzzzzzy{{yzyzzyyyyyzz{zz{zyzyyzyxyzyyz{zzzyzzzyyzzzz{zzzzzxzyyyyzzz{zyzzzzyyyxzyyz{{z{{{{zyyyyyzyz{yzzzz{z{zzzzzyyz{{zzy{zzyyzzyzyzzzzz{zy{zyzzyz{yzzzz{{zzy{z{{yz{{{{zzzzzzzzz{z{zz{{z{{zzzzzyzyzz{{z{{zzzyzzzz{{z{z{z|zzzzz{zzz{{{zz|{z{zz{y{z{z}{z{{{{{y{{zz{z{{{{{{|{{zzzz{zzzz{{{{{{{zyz{{z{z{{{z{|{z|{{zzzz{{z{z{{|zzzzzz{zz{z{z{{{zzzyzzzz{zz{zzzzzyyyxyzyzzzzzz{{zyyzyyyyyzz{{|z{z{yyzzyyzyzz{y{{{yzz{z{{zzyzzz{{zyyyyyyyzzzzz{{{zyzyyzyyzzzyz{{{{zyyyyyy{zzyzzzzzzzyyyxxyzyzz{z{zzyyzyzxyzzzzzzzyzyyzyyyz{y{{yzzzyzzyyzyyzz{{zz{yzyyzyzyzz{zzzzzz{zzyyyyzzyzy{{{zyyzyyzz{zz{zzzz{yzyyyzy{zz{z{|z{zzzzyz{{zz|z{z{yzyzyyzzyzz|{{zzzzzzzyz{z{zz{{z{zzzzyzzzz{{{zz{z{zzzzzyzz{zzz{{yzzyzzzzzzz{z{z{{z{zz{zzz{z{zz{{|z{zz{zzy{{{{{{{z{yz{{xzz|||zz|{{zzzyz|{{z{{z{{{|{zzzzzzzz||z{{{z{z{{z{{z{{z{{z{{{zzzzzzz{{{zz{{{zz{{zzzz{{z|{{|{{zzyyzy{z{z{zz{{{{z{yz{zz{{{yz{zzy{yz{zyzzzzz{yyyxzzyyzyzzzzyz{z{y{zyzyy{z{zyzzzzzyyzzzyy{{{y{{zyxz{yyyzzzzyyz{zzyyxyyyyzz{zz{zzyzyyzyyyxz{yz{zyzzzyzyyzzz{yzzzzyyzyyyyyyzzz{zyzyzyzzyzzzzzzzzzyyxyzyyyy{zzz{zzzxzzyyyyyy{z{{y{zzyyzzxzzyyyy{zzzyzyyyyyzzzzzy|yzzyzzzzyyzz{{z{{{{zzyzyzzyzyzz|z{zyz{zyzz{{y{zz{{yzzzzzxzz{{zz{{zzyz{zyzyz{{z{zzyzyzyzyzzz{{z{{|{zyyzyyz{{z{z{{{{zzzy{zzzzz{zz{{{yzz{zy|z{{z{z{{{{zz{zyzyz{zz{z{yzz{zzzzz|{z{{z{{zyzz|z|zzzz{{{{{|yzzyz{zz|{{{||{{y{zzzzz{z{{{{{{{zzzzzyzz{{z|{||z{{z{{zz{{|{z{{|zzyyzy{zz{{|z{{zz{zzz{zzz{zz{{{zzyzyyyy{|{z{zzzzzzzyyzyyyzz|zyz{yyzzzyyz{{{y{z{{yyxyzzyzzyyyz{{|{zzyyzzxzzzz{zyzyzyyyxxyzzzzz{z{{zyyyzyyzzy{yzzzzyyxyyzyyz{yyzzzyyzz{yyzyzzzzzzzyyyyzzyyzzzyyzzzzyyzxyzzzzzyz{zyyzzyyyzyz{yzzzzzzyzzyyyzx{zzzz{zyyyyzyyyz{zzz{{zyyyzyyyyyz{{zz{{zzzxzxzzzzzzzz{|zzzzyyzz{{zzzz{{yyzyzyyyyy{yz{{{zzzzyyz{yzz{z{{z{yyyzyzz{zz{z{{zzzyz{zzzzzz{yzzz{zzzyzyzzz{{{z{{y{zy{yzy{{{zyz{{{zzzyzyzzz{{z{{{zzy{{{zy{{{{zz{{{yzzzy{zz|zz{|{z{zzzz{zzz|z{{{{{{z{{zz{{zz{{{z{z{y{zzz{zz{zz{{{{zzz{zzzzz{z{y{z{zyyyz{zzz{{{z|{{zzzzyyzzzzzzzy{{{z{zyyzzzz{zzyyzzzzyzyzyzzzz{z{{zzyyyxyzzzzzzz{{yyyyzyzzy{zz{{zzyy{yzxyz{zz{zz{z{yzyxzyyzzyzzzz{zxyyzyyyyyzzzzzzzzzyzyyzzzzzyzzzyyyyyyzzyyzzyzzzxzyyyyyyzzzzzzzyzyyyyyzyzzzyzzzzyyyyzzzyzzzz{zzzyyzyyyyyyyyyzzz{{zzzzyyyzzy{z{z{zyyyyzzyz{{{{z{{zzzyyyzzzyz{yy{z{yzyzzzzz{zzzz{{yyxzyyyzz{zzz{zzzyzz{yyzz{zzy{{yzyz{zzyz{{{{zz{{zyzzzyzy{zzzzzz{zzz{z{yzy{{{z{z{yzzz{y{z{zz{zz{|z{{zy{yy{zz{{|{{|zzzz{zz{{|z{{{{zz{zz{zz{{z{{{{{{z{zzz|zz|z|{{|z{{{{zz{z{{{{{{{zzzz{yyzzzz{zz{{|{{yyzzzz{{{|{zz{z{zzz{{yy{{z{{{{zzzzzzyz{zz|z{zzzzzyzzzzzzzx{{zzzz{yyzzyzz{y{z{zyzyzyyyyzz|z{zz{{yyyz{zzyyzzz{zz{yzyyzyyzz{{zyzzzyzyzzzxz{zzzy{zyzzzzyzyy{zyy{zzzzzyzyyz{z{zzzz{yzzzxzyyzzzzyz{zyyyzyzyzzzzzzz{zyyyyyzxyzzzz{z{zzzzyyyzyyzzzzz{zzz{xzxzyzz{zzz{{zzzzyzzzyzz{z{{{zzzyy{yzzz{zz{zz{{zyzy{yyz{{z|z{{zzyzzzz{zzzz{{z{yyzzzzzzz{z{{{{zzzzyzzyz{z{z{{zzzzyzzyy{{{z|{{|yyyzzzzzy{{z{|{{z{yzz{z{zz{|{{{{zzyzzz{zz{{|z{{{zyzzy{zzz{{{{{{{zzzyzz{z{{|{{z{|z{{{{{{{{|{{{{{{{zzzz{zzz||zz{{|{zzzzz{{z{{{z|{|{{zyzzyz{zzz|z|zzz{{{z{z{{{{{{{|zzzzzy{zz{{{z{{{{{z{zzz{z{z{{{{zyzzzzyzyyzzz{z|zzzyyzyyyzzz{zzyzyzyzzyyzz{zzzy{zzyzyyzzzzzzz{|z{zzyzzzzzz{zyzzzy{zyyzyzyzzz{z{zyyzzyzz{yzzzyy{{zyzzzzyyzzzzyz{yxyyyyyyyyzzzyzz{{zyxyzz{yzzz{zz{zyzyzyyyyzz{zzz{zyzyzyyyzyzz{zz{{{zzzyxzyzzzyz{zz{zzyzyyyzzzzzzzzzzzyzzzyzzzz{zz{{{yyzyzzzzzyzy{zz{yzzyyzzzz{{z{{zzzzzzzzz{{zz{|z{yyzzy{{z{{{{{{z{yzyzzyz{zz{|{{zzzy{yzzzzz{zz{{{{z{zz{{z{{{|{z{{{{zzzz{y{{z{z{{{zzz{zyzzzz{{{{{z{yzzzzz{{{{z{{||zz{zy|{zz{{|{{{|{zzzz{{z{{{{{{|{{{z{{zz{{||zz|{{{zzz{{zz{z{{z{|{zzz{{zzzz{z{{z{{zzy{zyzz{z{{{zy{z{zzz{yzz|zzz{{|zzz{{y{zz{z{{zz{yzzyyyzyzz{zz{{{yzyz{yyyzzz{z{{{zyyyzzyxzzzz{{{{zzzzzzyyzzzzy{{zz{yyyz{xz{zzzy{{zzzzyyyz{zxzzz{zzzzzyzzzzz{zzzyzz{zyyzzzyzzzzzz{zzyyyyyxy{z{zz{zyzzzzyxzz{{zz{{zyy{zyyyyzzzzzz{{zyzyzyyzzzzz{zzzzzzzyzyzzyzzyz{zyyzz{yzzy{{z{z{zyzzyzzzzyz{{yzz{zyzzzzzzzzz{{{{{zzzzzyzzzy{z{zz{zzyyyzzzy{{z{{zzzz{yzzyz{{{{{y{zz{{zzzz{|z{{z{zzzzzzz{zyz{{{z{{|zzyzzzz{{{z{z{{{{zyzzzzz{z{z{z{z{zzzzzzz{{{{{z|{zzzzzzzz{{zz{{{{{zz{{zzyz{|{{{{{{{zzzzz{|{{z{{{zzzy{z{z{zz{z{|{{{{zzzyzz{{z|{|{|{yz{zzzy{{z{{||{{zzzzz{y{{z{zzz{zy{zzz{zz{zzzz{zzzzzzzzyyz{{zyz{yzyyyx{zzyzzzzzzzyzyyzyyzyzzzz{zzzzzyyy{zyzzzz{zzzyyyzyxzzzzyy{zzzzyyyzzyzyz{z{yzzyyxzyyz{zxyyzzyzzyyzzzzzzzy{y{zzzyzyzyyz{z{{z{zzyzzzyyy{zyy{z{{yzzxyyyz{z|{{{{yyzyxzzyyzzyzzzzzzzzzyzyy{{zz{zzzzzzyzzyyzzzz{{{zzyzyzyxzz{{{z{zzzzzy{zz{zzzzz{{zz{zzx{yzyzz{z{{zzzzyzzzyzz{{{{z{y{yxzzz{z{z{{{{zyzzyyzyzzzzz{{zy{zzz{yz{|{{{{{{{{zzzzzz{z{|{{{|zyz{yyzyzz{z|{{{{zzy{z{z{{{z{{|{{zzzz{zzz{z{{{z|z{z{z{zz{|{{y{z{zzzy{{zzz{{z{{|{{zzz{zzzz{{zz{{|{zzzzz{{{{{{{||{z{zxzy{z{{z{zzzzzzzyzz{zz{|{zz{zyyyzzyzyz{{{zzzzyzzyyyyyyzzzyz{{yzzzzxxzzzzz{zz{zyzyzz{zzy{zzzz{zyzyzzzzzzzzzyzzzyyyyyyy{zzzz{zzzyzzyzzyz{zyzz{zzz{yyyyyyyzyz{{zz{zzxzyzzy{zyzyzzzyyzxyzzzzzzyz{zzyzxzzyzzz{{zzzyyyyyyzxzzz{zz{{{yzyzzzyzzzyz{zzyzzyyyzzzzzz{{zzy{zyzzyzzzzz{z{{{zyzzyyzzzz{{zz{zzyzyz{yz{zyz{{{zzyyy{yyz{zyz{z{zzzxyyzx{{zy{y{{z{zzyzzyzzz{{{zzz{z{zyzzz{zzy{{{yz{{yzzz{{{{{{z{zzzzzzzz{|{{{{{{zzzzzzyyzz{{z{{{{zz{yzzy{{{z{{|{{zzz{{zzy{zzz{z{{zyy{z{z{{z{z{||{z{z{{zz{z{{{{{{{zz{{zz{{{{zz{{{{{z{z{y{{{{|||z|{zzyzz{zz{{{{{|{{zzzyz{zz|{zzzzzzyzyyyyyzzz{|z{zyyzzyxyyzz{z{z{{yyzyyzxyzzyzz{zzyyyyzyzyzzzyzzzzyzzyyyzzzzz{zyzzzyyyyyyyzzzzz{zzyyzyxyyx{zzzzzzzyzyyyyxy{zzzz{{zzyyyxzzz{zzzyzzzyyyyxyyyz{{yzyzzzzy{xzyyxzzyz{zzzyzyyyxyyzzz{y{zyzyyzxyyzyzyyz{yzzzxzyyxyzyyyzzzzzzzzyzzzyz{zzzzzzyyyyyyzzzzyzzzzzyzzy{z{zzzzz{{zzzyzzyz{z{yzz{{yzzzzzzyzzzz{{zzzzzy{yzy{yzz{{{{{zy{zzz{zzz{{zz{yzzzzzzz{{{{{zz{yzzzzyz{zz{|{{{{zzzzzyyz{zz{z{zzzzyzz{{z{{{z{{{{zz{zzzzzyz{z{{{|{zzyzzzzz|{{z{zz{y{yzz{zz{zzzz{zzz{yzzzy{zz{||{|zzzz{zz{z{{{{{{{zzzzz{zzz{zz{{zz{z|zz{{z{z{{zzy{zzzyzyzzzz{zyyzzyyxzyyzyzz{zyzzyyzzyyyyyzzzzz{{zzyzzyzzy{zyzzzzzzyyzyyzy{z{{yz{{zyyyyxxyzzzyzy{zyzzzzxyyyzzz{z{zzxyxzyyyyyzzzzzyzzzyzzyyzzyzz{y{yyzyyyyzy{zzyzzzzzyzxyyyzxzzzzzzyyzxyyyyyyzzzyz{zzyy{zyxzyyzz{zzzzyyzyzyyzzzzz{zyyzzy{yyyzz{{z{zzyyzzyyyyzzyz{{z{zz{yyzy{z{zy{|{y{zyzzzzyzz{zz{zzzzzyzyzzzzz{{zz{zyyzyyyzz{z{z|zzyzzxzy{z{zzzzz{{zyzzzzzz{zzzz{{y{zzzyyzzzz|zz||z{{zzzyyz{z{{z|{{zzyzzzz{{{zzz{{zzz{{{zzzzz{{||{zzy{z{zzz{{{{{{z{y{zzzz{z{zz{{{zz{zzzyz{zz{z{{{{zzyz{zzzz{z{{{{{zzzyzzzzyz{zz{{{z{{zzzyyyzz{{{zzz{zy{zzzyz{{{{{zzyyyzzyyzzzxyzzzyyyyzyzyy{zz{zy{zyxxyzyzzzyz{zzzzzyyyyyyzz{zzz{zzxyxyyyxzyzzzz{zzxzyyyxxy{yyz{{yzyyyyyzyzzzzyzyzzyyyyyxz{yyzyyy{xzyzzyyxzyyzzzzzxyzyyyxyz{zz{zyzyyzzyyzyzzzzyzyzzzyyzyxxyyyyyzyzzyyyyxyzzzzzzzzzyyyyzzyzzzzzzz{zzyyyyyzyzzyyzy{zzy{yzyyyzyz{z{zzzzyzyyyyzzzzzzzzyyzzzyyzy{zzzzzzyzyyzyyzz{{z{y|{zyyyzyzy{{zz{z{{zzyzzyzyy{{{{{zzzzzzzzyzy{z{{{{{zzz{zzzy{{yzz{{{{yyzzzzzzz{z{{{{zzyyzzzz{z{{z{{{{zyzzzzzz|z{{z{{{yzzzzz{zzzzzzz{zzz{zzyzzzz|{{{{{zyzzzzz{{zz{{z{zyzyyyzyz{zzzz{{zzyzyzyyz{{{zzzzzzzzzzyyyyzzzzy{zzxyywxyz{zyzzzzyzyyyxyyzzyzzz{yzzyzyyzyzzyzz{zzzyxyzyyzzzzyzyz{yzyyzzyyzzzzzzyzzyzzzyyzzzyyyzzyyyyyyyyxzyzzyzzzzyyyyyyyzyzzyyzzyzyxyzyyzzzzzzzzyyzyzxxyyzyzz{yyyyyxyyyyy{zz{z{zyyyzyxyyyyzzzz{yyzyxxyzyxzzzy{{{{x{yyyyyyzyzzzz|zzzyyyyyzzzzz|zzyzyyyyyyzzz{zzz{yyzzzyyyzy{zzzzyyy{zzyzyy{zz{z{zzzzzzzzyzz{z{z{zzyyzzyyyzzzzzzzzzzyzyzzyz{{z{zz{zyzyzz{zz{|yy{{zzzyzzzyz{{|zzzz{{yyzzz{z{{z|{zzzz{yzzz{yy{z{|z{{|zzzzzz{z{{z{{z{{zzzzz{zz{{z{z{{{yz{zzzzz{z{zz{zzzzzyzyz{{zzzz{{{zzzyzzzzzzzy{{{zzzyyzyzzzzz{z{zyz{zyzyz{zz{{yzzzzyzyzyyzzyzzy{{yyyyyyyzzzyzzzz{zzyzy{yzzzzzzzzzzyzyyzzxy{zzyz{zyzyyyyzzy{zzz{zzyzyyzyyyzz{yzz{zzyyzyyyy{y{z{yyzyzzzyyyy{yyzz{y{zyzyyzzy{yzzz{zzzzyyy{zzzyzz{zzzzzzyzyyzzzzzzyzzyzxzzyyyzzyzz{zzyzyyyyzxyzzyz{z{zzzzz{zyzzz{zz{{yzzyzyzxz{zzzzzzzyzyyyzzzzyzz{{|yyz{zzzzy{zzzzzzzyzzz{zz{{zzzzzzzzzzzz{zz{{zzz|yzyzy{zzzz{{zz{{{{zzzzzzzz{{{{z{zzy{zzzzy{{z{{z{{zzzzzyzzyz|{{z{{zzzzzyzzz{{z{{z{{zz{yz{zzzy{z{{|{{zzzzzzz|{|{|{{zz{zyzyz{{{{{{{z{z{zyzz{z{{z{{|{{{zyzzzzz{{|yz|{yzyyz{zzz|{{z{zzzzzyz{yzz{{zz{z{z{zyyzzyzz{{yzzzzzyzyyyzzzzzzz{{yyzzzzzyzyzz{zzz{yyyyyyyzyzyzzzzyyzzzyzy{zzzzy{{zzyyyyzzzzzzzzz{yzyyyyzzyzzzzzzyyzyzyzyyzzzzzzzyyzzzyzzyyzzzzzyyyzyyyxzzyzzzzz{yzyzzzyyyyzz{zzz{{zyyyzyyzzz{zyzzxyzyzyzyxzzzy{y{{zzyzzyyy{zy{{zzyyzzyzzy{z{zyz{{yzyxzyzyz{{yz{z{yyzyzy{zzy{zz{z{zyzy{zzyy{{zy{|{zzzzzyzyzz{{z|{{zyyzzyzzz{{zz{|{zzxzyyzzzzzzz{{zzzzz{zzzz{{z{{|yz{yzzz{zz{z{z{{|zyyzzzyyz{|{|z||{z{z{z{z{{{z{{{{{zy{zz{zz|{{z{{|{zzzzzz{z||{{{|{{zy{{{zz|z{{{{|{zyzzzzz{{z|z{{{|z{z{z{zz{{z|z{{{{zzz{zzzzzz{z|{|{{zzz{yzz{{{z{|{zzzyzy{zzzz{z{{zz{xzyyxyzz{zz{z{zzzyxyzzzz|z{zzzzzyzyyyyz{zzyz|{{yyzyyyzyy{zyz{{yzzyy{yyzz{zzzyzz{zyzzzzzzzzzzzzyyyyzyyyzyyzyzzzyzxyzyzyzzzzy{zzyyyyyyzyyz{{{{{{yyyzyzyyyzz{zzy{{zzyyzyyzzzyzzzzzzzzzyzyzzzzy{z{zyzyzzzzyzz{{{z{yyzyzzyzy{zyzzzzzzyzzyyyz{zz{z{{{zzzyyzyzz{zz{{zzyzzyz{yy{{{z{zzzz{zy{zzzzz{{|{zz{zzyyyy{{{{z{z{{{yyzyzzzzzz{{y{{zzyyzzzz{{zzy{|zzyyzz{{zzz{{z||zzzzyzyz{z{{{z{z|{zz{{zz{||{{{{zzzz{zz{z{{{{{{{{zyzzzzzzy||{{|{{{z{{zzz{{{{z{{{{{yzzz{z{{|{{{{{{z{z{zz|zz{z{{|{{zzzz{z{z{{z|z{{{zzzzzzzzzz{{z{z{zyz{yyyz{zz{{{yzyyyyzzxxyzzzyzzzzzyyyxyyz{zzz{{{zyz{yyxyzyzz{yzzzyyyyyyzzzyyzzz{yzzzzyzyz{zzzyz{xy{zzzyyyzzzy{zzyyyxyyyy{zzyzyyyzyyzxyyyz{zzyzzzzzzyxzzzzzzzzz{zzzzyyyxzzyz{{{zzzyzzzyyzyz{zyzz{zyzyzyzzyyzyy{{y|yzyzzzyyzzzzzz{yzzyzzzyyzz{y{{zzyzzyyyyzzzzz{zyzzzyzyyyzzzzz{zzzzzzyyzzz{{zzz{{zzzyzyzyz{{{z{z{yzzzzyyxzz{y{{{{{zyz{zzz{zzzzzz{zzyzyzz{{z{{{{z{zzzyzzzz{{z|zz{{{yz|yz{y{|{{{{{{zzyz{zzy{{z{{z{{zzzzz{{zz|y{{{z|{z{z{{zzz{{{|{{{{yzzzzzzz{{{{{{{{z{zzzz{{z{{{zz|{zzzzzz{{z{{{|z{zzzyzzz{{{{|{{{zzzzzzyyyz{z{zzzzzzzzzyzz{{zz{z{yyyzyyyyxzyzzzz{{zyyxyxxyzzyzz{{{zzyyyyyxzyz{zzz{zzzzyxyzzzzzyzzzyyyyyxzyy{zzzzz|zzzyxyzxyzz{y{zzzzxyyyyyzyzzyzyyyyzyyzyyzzzyyyzzyyzyyzyyy{zzzzzyyyyyxxyyzyzyzzzzyyzyyyzzzyz{zzzzzyyyyyzyyyzzyzy{yy{yzzxyzzzz{zzzyyzzzyyyz{zy{y{zyzyyzyyyzzzzzz{{yyzyyyyyzzzz{z{yzyzyxzzyy{z{z{{zzyzyyyzyz{zzzzzzyzyzzyyzzyz{yz{yzzzzyzyz{{yzzz{zzy{yz{z{zzzz{z{{xzyyxyz{z{z{{{{{zyzzyyzxz{zz{{|{zyzzzzy{z{{{{{{|zyyzyzzyzzzz{{{{{yzyyzzzz|{|{{{zzzzzyyzzy{{{zz{z{zzz{{zzzz{z{{{{{{zzzzzz|{{|z|{{{yzzyyy{z{{{z{{{zzzzzzz{zzzzz{{zzyzzyzzyzz{zyzzzzyyyyyzyzzzzzzzz{yyzzzyzzzzyz{zzzzyyxyyyzyzy{zzzzzyyzxzz{zzzzyzz{yzzyzyxyzzyzzz{zy{xzyyyyxzz{z{{yyzyyyyzzyzzyzzyyyzzyzzzyzzzzyzzyyxyyyyyzzyzzzzzzyzzyyyyz{zzzzz{zyzzyywxy{zzzzzyzyyyyyzxyzyzz{yzzxyyyyyxzzyzzz{zzyyzyzzyz{zzzzzzyyzyzxzzy{{yzzyzzz{zxzyzzzzzzzz{zyyyyzzzz{zz{z{zyyyyzyzyyzzzz{zzz{zyyy{y{zzyz{{zyzyyzzyzy{zzz{zz|zyzzyzz{zzz{{{{zzzzzy{z|{y{z{z|zyzzzyyz{zzyz{|{{yzzzzzz{|zzz{{{zzzzzy{y{{zz|{zzzz{zy{z{z|z{z{zz{zz{zzxzz{zz|z{{zyzzyyzzz{zz{{||{zzzz{yz{|zz{{{{zzyz{zzz{zzz|zz{{zyzyyzzz{z{{z{zzzzzyyyyyzyzyzy{yzyzyyzyzzzzzzzzz{zzxyyyyzzzzyzzyyzzyyyzzzyy{yz{yyzyyxyyzz{zzyz{zzyyyzzzzzzzzzzzyzzzyyzyyz{zzzzzyyzyyyyyzzzyyzzzzzzyxyyzzxy{zzzzyzzzyyyxz{zzyz{zyyyyyzyyyy{zzyzzzyzy{zyyyzzzzzzyzyzyyyyyyzzzyyz{zyzyzzyzyzzzyz{{zyzyzzyzy{zzzz{{{zzyzyxzyzyzz|{zzyzzyzzyzzzzzz{{yyzzzyyzzzz{zz{zzzzyzyyzyzyy{zzzzzzzzzzyzzzzyz{{zyzzzzzzzz{{z{zzzz{zzxzzyz{{{{{{zz{zzzyy{zz{y{{|yzz{zyyx{zzz{{|z{yzzzy{{{|z{{|{zz{{zz{{z{{z{{z{{zy{zzz{z{|z{{|{{{zzzzzzz{{z{z|{{{yzzz{zz{z{{z{{zzzzzzz{z{zz{{{{{z{zzzzzzz{{{{{|z{zyzz{yy{{z{zzzyzyyyyzzz{zzzz{zyzyyzyyyyzzzyzz{zzzxyzxyyyzzyzzzz{zyyyyzyzz{zzxz{yyyyyyzyzz{{y{{yzzzxxyyxzzyzyzz{xzzyzyxyyyyzyzyyzyyyyzyyzy{zz{zzzyzyyyyyyyyzyyzzyyyzzyzxzzzyyzzyzyyzxxyyzzyzzz{yzzyxxzyzyzyxyz{zzzzyyxyxzy{y{yyyz{yyxxyzyzyyyzyyyxzzzyyyzzyzzz{{zyyyyyyyzzzzyzzzyyyzxyyz{zyz{{z{yzyyyzyzzzzzyzzzyyzyyyzxyzzzz{zzzyzyyyzz{zz{{{zzz{yzzyyy{zzzzy{zyzzzzzyz{{zz{{zzzzzyyzz{z{z{{{||z{z{yzzz{z{{{z{zzzyzzyzz{{{{z{z{zzzzzzzz{{{z{{z{{zyyzz{zz{z|{z{|zyzzyy{z{{{{{{zzzyzzzzyzzzzzz{{zzzyzzzzzz{z{yz{{zyz{zzy{zy{{{{zz{zz{zyzyzzzz{z{{zyzyyxy{yzz{zzyzyzxyzyyxyzzzy{zzzzxzyxyyyzzyzz{|zyzyyyyyzzzyyy{z{y{xzyyxyzzyyz{zyzzyyxzxzzzyz{zzyyyyyzyyyzyxy{zzzyxyyxyzzzyzyyyzyyyzyyyyyyzzyzyzxxxzyxxxzzyzzyyyzyyyyxxyzyzyy{{zyzzyxzyzyz{zzzzzyyyzyyyxyzyyzyyzyyzxyyzyyyyyz{yzzyzzzzzzyyyzyz{zzzyyzyyzzzzyzz{zzyzyzzyyxzzzzzzzyxzyzyyzzzz{yzzzzyyyzzyyz{zz{yzzzzzyxzyzzzzzzz|{zyzzzzzz{yzz{{zzz{yyz{yzyyzzz{{zzyzzzzyyzzzz{zzzzyxyzyyz|zz{zz{zzyzy{yyz{{{z{z{{{yzyy{zzy{z{z{{{{zzzzzzz{z{{{{z{zzzzzzzz{zzzz{{|zyyyzyyzzyzzz{{{{zzz{zzy{{|{{{{{zzzyzzzzz{{z{z{zzyyyzyzyz{z{{zz{zzzyzzzyzyzzz{zzyzyxzyyxyyzyyz{zzxzzyxxzzzzzzz{zzyyyyyyx{yy{zz{zzzzyzyyyyy{yyyzzzyzxyyyyzyzyz{zyyyyyyzzyyzzzzzyzyxzyyyzxzyyzzzyyzxyyzyzzyyyzzz{yyyxyyyyyyyyyzz{yyzyzyyxzzy{zzyzzzyzyxzyxyzyyzy{{yyyyyxzyzyzzzyzzzyyxyyyyyzzzyzzzyyyyzyxxzzzzyzz{zyyyzzyyzyzzzyz{zyzyyyyzzzzyzzzzyzzzxyyyyzyz{yz{zyzyyxzyzzzzzzyzzyzyzzyzy{z{z{{yyyyzyzzz{zzz{{z{zyzyzzzyzzz{{{{zzzzyyzzyzzz{zzz{yyzzzzyzyzz{|{zzzyzzzy{z{{{z{z{{zzzyzzzzz{zz{{{{{{zzzz{zzzz{{|{zzzz{yzzz{{{zzz{{{zyyzzyzzz{z{{{{{zyyzzzzyz{{{z{{yzzyzyyyzz{|zz{{z{yyzzyyzz{zz{z{zyzzyyzzyzzzz{zzzyzzyzzyzyzzzzz{zzyxyyyyzy{{zz{{zzxzzzyxzzzzz{zzyyyzzzzyyz{{yz{zyyzyyyyyzz{{zzz{zzzyzyzz{zyzzzzzz{yzyzyzz{zzz{z{yzyyyzzy{yyz{{zzyyyyzyyxz{zz{zzzyyzyyzyzyzz{{{{zzyzzyyzyz{{zzz{|zyzzzzyyzzz{zzzzzzzyyyyzyzy{z{zzzxyzzyyxz{yzz{{{{zzzzyzyy{{{{{{{zzzzyzzz{{zzzz{{zz{zzzzz{{{zzy{{zzzyzyyz{{{{{{zzzzzzzyzzyz{{{z{{zyzz{zzy{z{{zz{{{{zzzzxyz{z{{{{{z{zz{zz{{{z{{{{{{y{yzyyzz{{z{{{z{zzz{{zzz{{{{{}|z{{yz{z{{|{{z{{|{zyzzz{z{|{z{|{|{zzz{{zz{z{{z{{{{yz{z{y{{z{|{{{|{{zzzzzz{zz{z|z{{{{yzz{z{zz{z{|z{zzzzzzyz|z{{|{{zz{yzyyzzz{zz{zzyyxzzxzyzzzzzzzyzz{zzyxyyzzzyz{zzyzzzzyzy{{z{z{zyyzyyyz{yz{zzzzzzyxyyxzyyy{zyzzzyyyyyyzxzzzz{zzzzzzyzzyzzzz{zzzyyzyyzzyyyzzzxy{{yyyyyzyyzzyyzzzzz{yyyzyyyzzyzzzzzzzxxyyyyz{yzzzzzzzyzyyxzzyzzzzzyzyyyzyyyyzzyz{{zyzzzxzyzzzzzy{zzyyyzx{yzz{zzz{{zyyzzyzyyzzyz{zzzy{zzyzz{{z{zz{yzzzyyyzyzz{|z{z{zyyyyzyzzz{yzy{{zyzyzzyz{{{yzz{{yyyzzzzzz{zz{z{zzzzzzzzyzz{z{z{{zzyzyyxzz{{{{{{zzyzzzzzy|{|z{{{{{zzyzz{{{{{{{{|{|zzzzzzz{{{|z||{{z{zzzzz{z{{{{{zyzz{{zyz{z|{z{z{{zzz{{{z{{z{z{{|zzzzzzzzzz{z{{zzzzzz{{{zz{zz{{{zyzzyzyyyzzzzzyz{zyyzyyyyyzzzzy{zyyyzxyzyyzyzy{zzzyyyyyyyzzzz{y{zzyy{yzxyzzyzyzy{yyzyyyzyyyzzyzyzzxzxyyyyyyzyyzzz{yyyyxyyzyzzyzzzyyzyzxyzyzzzzzzyyzyyyyyyyzyzzyzzyyyyyyyxzxzyzzzyyzxyyyyxyzy{yzzzzyyyzyyyzzyzzzz{yzyyyyyyzzyyzz{zyyyyyzyxyyzzzxz{zyxyyyyxzzzz{z{zzzzyyyyzz{zzzz{{xyzzyxyzyzzz{z{yzzzzzyzyyz|yyzzzzyyyzzzyz{yzzz{zyz{yzyyy{{{zz{zzzyzzyzyyz{zz{zz{zzzyzzz{z{z{zz{{zzyzzyyzz{|zz{{z{zzzzyzy{{{zzz{{zzyyyzzzyzzyz{{z{zzzzz{zz{{z{{zz{y{zzzyzz{{z{z{{zyzz{zzzzzz{zz{{y{yzzzzz{zzzz{{zzyzzzyzzzz{zz{zz{zyyyzyzz{zzzzzzzzyyxyzzzzy{yzzzyyxyyyxxyzzyzzzzzzyyzyyx{yzyzz{zyyyyzyzyzzyzzyzzyyxzzyyyzy{yzyyzzzzxyzyxyyzzyyz{zyzxyyyyz{zzy{zzyzyyyyyyyzzyzxzyyxzyz{zxzyyyyyzzyzzyzxxzzzzzzzyzzyxxyzyyxyzz{zzzyyzyyzyyyzz{yzzzzyzyyyyyzzyyzz{zzzxyyyyyyzzzzzzzyyxzyzyyyzzzz{zzyyyyyyzyzz{yzzzzzyzyyyyyzzzzzzzzyzzzyyz{{zzz{zz{zyyzyxzz|zz{z{zzzzzyyyyzzzzz{z{zzzzz{yzz{{{zz{z{zzyzzyyy{zzzzz{zzzyzyyz{z{z{z{{{yzzzzyyyzz{{{zzzzyzz{zzz|z{z{{{{{zzzy{{y{z{zz{|z{zz{yzyzz{zz{{{{{yzzzy{z{{zzz{{{zzyz{zzz{{z{{{{{{zzzzzzzz|{{{{{}zzzyzyzz{zz{z{z{zyzyzzyzz{{{zz{{zzzyzyyyzyz{z{z{xyzzyyyyzzzzzzzzyyyzyzyy{zzzzzzzzyzxyzyzzyzz{zzzzyyxyyyyzzz{yzzzzzzyyyzzzzzyz{z{zyzyyyyyyyzzyzyyzzyyyyyxzzzzyz{zyzyyyzzzzyzzyz{zyyyzzyyyzyzzzyzzyyzyyyyyy{zz{zzzzyyyxyxyyzyyzz{zyxyyyyzyyzzyzzzzzzzyyxzyyzzyyz{|yzyzyyyyzyzzzzzzyzyxzyyyz{{zz{zzzz{yzyzyyzzy{{zzyyzzzxyzz{{zzz{{zyzzzzyzxz{yy{zz{zyyzzyyy{zyzz{{zyy{zyyz{{zzz|z{zz{yz{zzz{z{{{zzyzyyzzzyzzzzz{z{zzz{zyxy{{{{zz{z{zzzzyzyzz{{{{|{zyzzyzz|{{{z|z{{zz{zzzzzz{zz{{|{zzy{zzzyzzz|zy{zzzyzyzzyzzzz{{{{{zzz{{zy{{zzzz{zzzzzzz{zz{{{|yz{{zyyz{z{{zz|zzzyzyzy{yzyzz{zz{zzzyyzyyzyyzzzyzyzyzyyyxyyy{zzzz{zzyyyxyzyzzzyyz{{xyzyyyyyzz{zyyzzzyzxyyzyyzzyzzzzzyzyzxzyyzzyzz{yzzyyzxyxyzzzyzzzzyyyyzyyzxyzzyz{xyyyyywxzyyzyzzyyyyyyxyzy{zzzyyzyzyzxxyxyzzyzzzzyzyzzxyyxzzyyzzzyyzzyxyxyzyzyzzzyxyzzzzyyzzy{z{zzyyyzyyzy{{zzzz{yzyyyyyzzyzzzz{{yzyyyzxzzzzzzzyzzz{zyyyyyzz{z{z{yzyzy{yyz{{zz{{zyzyyzzyyz{{zzzzzzzyzzyzyzz{{{{zzyz{zyzzzz{zzzzz|zz{yyyzz|zz{z{{|zyyz{zyzzz{{zz{{zyzyzz{z{zzz{{{{{zzzzzxzz{z{{{{{{z{{zzzzzz{z{{{zzyz{zzzzyz{z{zzzzzzyzzzzz{zz{{{{zzyzy{zyzzyzzz{zz{zyz{zyz{z{{{|zzyzyyyyyzzz{yzzzyzyzyyyxzyzzyy{{xyzzzzzyzyyzzyyyyyzyyzyxzy{zy{zzyyyyyyyyyzyzzyzyzzzzyyyyyzzzz{zzzzyxyzyyz{yzzzzyzyxzyyxyyzzyzzzzxyyyzyyyzxzyyzzzxyyyyyzyzyzzyzzzzyyzzyyxyzzzzzzzzzzyyyzyyyzzzzz{zzzxzyyyxyzzyyyyyzzyyxxxzzzyyzy{yyzyyyyyyzzyzz{zzyyyyx{yzzzzyyzzyyzyyzyzz{zzyzzzyzyyxzzyzzyz{zz{zzzxyxzzy{zzzzzzzzyzyyyxyz{{zz{{{zzyzyyyz{{z{zz{{zyzzzyz{z{zzz{{zy{zzzzyzzz{{{y{zzzzyyyzzz{zz{{zzyxyzzzzz{{z{{{z{z{zzzzzz{zz|{z{{zzzzzzy{|zz{z|{{zz|y{zzzyz{z{zzzyyzyzy{{z{zy{{|zzyzzzzy{zyz{zzz{y{zyyzzz{zzy{z{z{zzyyzzz{{{zyzz{yzzyyzz{z{{zzzyyyzzxyyzwyyzzyzzzyyyzyxyzyzzzzy{zyyyyyyyzzyyyzzz{yzyyyyzyz{yyy{zyyyxzzzxz{zzyzzzzyyyyyzx{zzyyzzyzxzxxyyzyzyzy{zzzxyyyzyyyxyyzyz{yzzzyxxyzzzzzyzyzyxyyyyyyyyzzyzzyyyyyyyyyzyzzzyzyyyyzyzyyyyyyzzzyyyyyyzyyzz{z{yzyzzyzzyy{yyzzzzzzyyyyxzyyy{yzzz|zyyyxyzz{{zyzzzzzyyzzzyz{zzzz{z{zyzyyyyyzzzzz{yzz{yyyzzyzzzzyzyz{yyzzyy{zz|zzzzzzzzyyzzzz{{{{z{zyz{yz{yz{zz{y{{{zxz{zyzyz{z{z{z{{yzzzzzz{{{{zz{zzz{yyz{zzzz{{{{{zyzyzzzz{|z{y{{{zzzyyzzz{{{z{{{zzzzzyz{zz{{z{{{|zzzz{zzyz{zz{{{{zzzzzzzzz{yz{z{zzz{yyyyyzzz{y{{z{yzxzyzzyz{z{zzzyzxyxxyyz{zzyzzzzyzyyyyyzy{yzzzzzyyxzyzyzyzzz{z{yxzzxyyxy{zzzz{zzz{zyyzxzz{zyyyzyzyxyyzyyzz{z{zyzyzyyyzzyyzz{zzzyyyxyyxyzyzzyzzzzyyyyxxxzyzzzzyzzyyzyxyyyyzyyzzzyyzyxzyxz{zzzzzyyzxzyyzyyzyzzyzzzzzxyyyzyzz{zzzzyyzyzyyyz{zzzzzzyyzzyyyyzz{zyzzzzyyyzzzy{z{z{{zzyyzyyxzyzzzzzz{{yyzz{yzyzzzzzz{zzzzyzzzzzzzz{z{zzyyzzyzzzyzzz{zz{zzzzzzzzz{{{{zzyyzzzzzzyz{{|zz{{zzzzyxzyyzzz{{{zzzyzzzy{z{{{{{zzzyzyzz{{z{{{{z{|zzyy{zyz|{z|{{{zzzzzzzz{{{yz{zz{yzzzzz{zz{{zz{zz{zyzz{z{{{{z{{{zz{z{{zyz{{zz||{zzyyyyyzz{{{{z{zzzzyyyzy{zzzzzzzzyzxyyyyyyyzyz{zxyyyyx{yz{yzyz{zyyyxyzyyzyzzzz{zzyyyzxxyy{zzyzzzzzyxxxzxyzz{zzzzyyyzzyzxyzzyzz{zzyzyyyyyzy{yy{{zzzzyzyxxyxzzzz{zyyxxyyyxyzzzzyyzzyyyxyyyyzzyyyzzzzyyyxyyyzz{yy{zzyyzyyyyyzzyyyzzzyyx{yxzyyzzzzyz{zyzyyyyzy{{zzz{zyzyyy{yzzyzz{z{yzzyzzzzyzz{{{{zzzzyzy{z{{zzyyzzyzyzyyzyyz{z|{{yzzzzyzyzz{zz{zzzzzyyzzzyzzzzy{zzy{zzzzyyz{z|z{|zzzyzyzzzz{{{z{{{zzyzzyyyz{{z{z{zzy{yy{zzz{{z{{{|zzzzzzzzz{{{{zz{zzzzzzzz{{{z{z{zzzzzzz{zy|{{{z{{{yzzzzz{{z{{z{{{zz{zzzzz|z{{{{{{{zzzzzzzzz{zzz{{{zzzy{yyy{zzz{{{{yzyzyyyyzzzzz{zzzzxyyyxyy{{yzzz{zzzyyzyzz{zz{zzzyyyyyyzzyzzz{zzyzzzyyyzzzzzzzzzzz{yyyzy{{z{zzzzzyzyyzzy{zzyy{zzzzyyxzyz{zzzyzzzzyzzzyyyzzzzz{yyyyyyyyyyzyyzy{zyzzzxxzzzzy{{zz{zyzyyyyyyzzyyzyz{zyyyyxyxz{zzy{zzzzyzyyzyyzzzyzzzzyyzzyxxyzzzz{zzzzyyyzyzz{zzzz{{zzyzzxzzzz|zyzz{yzzzzyzzzzzzzz{zzyyyzxyzzz{{{z{zzzy{yzyyzzz{{{zzzzzzyzzyyz{zz{z{zz{{y{zzz{{{{z{zzzzz{z{z{zyzx{{{zzyzyyz{zzz{{{{{{zzzz{{z{|zzz{|{{{y{z{z{z{|{{{z{{zzzz{zyz{|{{{|{{{{zzzzz{{{{{zz{zz{z{zz{z{{zz{{|z{zzzzz{z{{{{|{{z{{{{zzzz{z{z{{|zzzzzzzzz{{|{{{{zzyzzz{yz{{y{{{yxyyzzyyyyzzzz{{zzzzzyzyyzzz{{z{zzzyzzzzyzzzzz{{{{{{zy{yzzzzzyzzzyzyyyyyzz{{{zzzzzyzzyzz{zzyzzz{zzz{yyyyyyzzzz{yyyzzzzyzyyzyzzzzzyy{zyyyyyzzzyyzzzzyz{zyyzzzzzzzzzz{xxyzyyzz{zz{zzyzzyyzzzzzyzz{{{yyzzyzyzzz{zzzzzy{yyyzzzz{zzz{zyyzyzzzzz{{zz{z{zz{zyyzz{y{zzzz{zzzyzyzzz{{zzzzzzzzzyzzyz{{{{z{{{zzzyzyyzzzz{z{zzzzzzyzz|{{zzz{zzzyzzzz{{zz{z{|{z{z{zz{z{z{{z{{{zz{zzz{zz{|{{{|{zyyzzz{{{{{z{{{|zz{z{z|zz{{z{{{{{zz{{{{zz|||{{{|{zz{zyz{{z{{z{z{zzzz{yzz{{z{zz{|z{{z{zzz{z{||{{{z{yyy{zz{z{{{zz{yyzz{zzzz{{z{y{{zzzzzz{xy{{{{zzyzzyyyyzzzzzzzzy{zzyyyxyyzzzzzzz{zzzyyyzyzyzzzzz{zyyyxyyyzzz{yz{yzz{xyyyzz{zzzzz{yy{yyyzyzzzyyz{yzyyyzxyyzz{zyz{yzzyyzyzzzzzzzzz{zyyzyyzy{{zzzzzzzzwzyzxzzyzzz{zyyzzyyyyyzzyzyz{zyzyyyyzyyzyzyzz{zzzyzyzyyyzzy{z{zzzzzzzyyzyzzyzzzyyyyyyzz{zzy{{|yzzzyzzzz{zzyzzzyzzz{zyy{{{z{zz{yyzyyzyz{zzyz{zzzzzzzyxy{zz{|z{{yzyzzyzz{{zzzz{{{zzzzyz{{{{z{zz{zzzzzzzz{{z{{{{{zz{{yzzz{z{z{z{{{yzzzzzy{{{{z{{|{{{{zzzz{|zz|{{{{zzz{zzzz{{{{zz{|{z{z{zy{{{{z{{{z{zzzz{{{zz{z|{{z{zzzzz{{{{|z{{|z{zzyzzzz{yz{{{{zzzzyyzyyz{z{{{zzzzyzzyyzzzz{zyzzyyyyzxyyyzzy{zyyzyzzzyyzzzyy{zzyzyyzxyyzzzyzzzyzyyyyyyzzzy{yzz{zyyyxxzyzzzyzz{zzyzzxxyyyyzzzzzzyyzyxyzz{zzyzzz{yzyxyzzyyzzzzzzzyyyyyyyyzy{zzzzyzyyzyyyyxzyzzy{yyzyyxzyyzz{zzyzzxyzyyzxyzyzzxzzzyzzyzyy{zzyzzzzzzzzyzzzyzzzzz{zzzzyyyyyyzzzzz{{zy{zyyyzyzzz{zzz{zyyzyyzy{zzzzzzzzyzyzyyyzz{{z{z{zyzzyzzyzzyz{zz{zyzyzzyz{zzzzzyyyzzzzyzzzz{z{z{zzyzyzz{zz{z{zzz{yyyzzzyy{z{zz{z{zyzzzzzz{|zz{{{zyz{xz{{{|{{{z|z|{zzzz{z{z{{|{{{{{zy{z{zz{z{{{z{{zyz{z{zzz{z{|z{|{zzz{yzy{{{{{|{{zyzzyy{zz{z{{z{{zzzzyzzzz{{{yzz{{zzyzzzz{zzzzzzzyzyyyyyxzzzzyyzzyyyzyyyyzzzzz{z{zyzzyyyyzzyzyzzyyyyzyyyzz{zzyzz{zzzyzxzyzzyz{{yzyyzyyyyxyzzyz{zyzzzzzyyyzzyyzz{zzxzyyyyzzzzzzyyzyyyyzxyxy{zzyzyzyzyxyyxyzyyyzzzyzyyyyyzyzzy{zzzzzzzyyyyzyzzzzyyzyyyyyyyyzzzyzzzzzyyzz{zyyzyyy{zzzyyyyyyyy{zzzzzzzyyzyzyzzzyzz{zzyzyyzxxzyzzy{z{zyzzzzxzzyz{{z{z{yzyyyzyzz{zzzz{zzyzyzzzyy{zz{zzzzzzzzyzyzz{z{{{{y{zzzyzzzzzz{{{{{zzzzzzy{{z{zz{{{zzzzz|yz{zz{{{zzyxzzzz{zzz{z{{{zzzzyzzzz||{z{{{{{zzyzzzz{{{{zz{zy{yyyyzz{zz{{{{zzzzzzz{{z{{z{z{{yyyzzzyzzz{{{z{{zxzzyyz{{z{yz{zyyyyzyzyz{{zzzyzyyyxyyxxyzzzzzyzzyyyyyyyzzyzzzz{zyyxyyzzzyyyzzzyyx{yyzyyyy{zzy|zyyyxxyyyzzyzz{yzyxyyyz{yyzzyyzyzyzzzzzxyzyzyyzzzzyz{yzyyyyyyyxzyxyzyyyyyzzzyyzyyzxzzyzxyzzzzzyzyyyzyyzxyyzz{zzzyzzzxzyyyyzyyyzyzyzyyzyzyyzzyz{zzyxyyzzzxzzzzzzz{yyyyyyyyyzzzzz{zzyzzyyyzyzyzzzzzyyyxyzzzyz{zzz{z{yyzzzyxz{yzzzzzzyzzzyzyzzzzzzzyzyzyyyzyzz{zz{{zzzzyzyzz{zz{z{{{zzzyzz{z{zz|z{z{zyzzyyyzzz{yzz{{{yyzyzyy{zzzz{{{{zzyz{{zz{zzz{z{{zzzy{zyz{{zz{{|{zzzzzzzzz{zz{{{{zzz{yzzzyzz{{{{zzzzzzyzz{{z{zzzzzzyzzzyyzz{zzz{yzyyyzyzzzzzz{{yzyzzyzyyyzzzzzy{yyzzxyzyzzzyzyzzyzyzyyzyzyzyzzzzzzyyyyzzzyz{yzzzyyyzzzyyzzyzzyyzzyyzyxyyzzzzzzy{yyxyzxyxz{z{yzyzzzyyyyyyzzzyyy{yyzyyyyyxyzyzz{zzzyzyyxzxyyzzzzzzyyyzyyyxy{{yyy{yzyzyyyxyyzzzyzzzzyzy{yyxyxzyyzzzzzzzzyzyyzy{zy{zyyxyzzzxzzz{zzzzzyxzzxyzyzzy{zyzyyyzxzyyzzzzz{z{zyyyzzyy{zzyyzzzzzzzyzzxzzyzzz{yzyyzzyyzyz{zzz{zzyzzzyyyy{zzy{zzyzzyzzz{z{z{zz{zzyzzz{zyz{zzz{{|zzzzyzzy{{{z{{zz{zyzzzyy{{{{z{z{{zzzyzzz|{zz{{z{{zzz{zzz{yz|zyz{zyzzz{zz{{{{{{zyzyz{zzyz{zzzz{z{zyz{yzz{z{{{||{{{zzyzzzzz{zz{{{{zzzzy{zzz{{zzz{zyzzyyyyyzyz{zzzyyzyyyxyyyyyyzzzzyzyzyyyyzzzyzz{{yyxxyzyyzzzyyz{zyyyyyyyy{zzzyz{zzzyyxyzxzzzzyzzzyyzyxzzyyyzzzz{{yyyyxyzxyzzzyzzzyxzxxyyyyyyzzzzzzyyyyyyyyzzzyy{zzyzyyyyzyy{z{zzzyyyxyyyyzzzzzz{{xyyzzyxyzyzzyzyyzzyxzyzyyzz|yz{{zyzxyzyyyyyzzz{yyyyyyyyyzzzz{{zzzyzzzyyyyzzzyyzzzyyyzzyyz{zzzz{zzyzzzyzxzzyyzz{zyyyzyyzy{zzzyz{zzzyyzyyz{zyyz{zzz{z{z{zyzz{{{zzzyyyyyzzy{{{zz{{|zzyzyyyyz{{{z{{z{zzzzyzz{z{{{|z{zyzzz{zz{zzz{{{{{zzzyzy{{{{{{{{|{yzzyyzy|z{z{z{zzxyz{zyzz{|z{z{{{zzz{zzz{z{z|{|zyzzzzz{zzz{{{z{{zzyzzz{yzzzzz{zyzyzyyyyyzz{zzz{yyyzyzyzyyzzzy{yzz{zyyyyzzzzzyz{zzzxxyyyyzyy{zz{yzyzyyzyyy{zzzzzzzyyyyyzyzy{zzyyyzyyyyyzyzyyyyy{zzyzyxyxyzyyzz{{zyyyzxyyyzz{z{zzzyyyyyxxyzzzzzzz{zxyyyzzyyyzy{{{zzzzyyyxyzzzzzzzzzyxxxxyyzzyzzzy{zyzyyyyzyzzyzzzzzyyzyzyyzyzzzzzzzyzyzy{yyzzzzzzzyy{zyyyzyzzzzzz{zzzyzzyxzz{{z{{zy{yyzyyyz{zzzz{zzzzyyyxzzzzz{z{zzzzzyz{z{z{zz{{{zzzyzz{y{{{{z{{{{yyy{zz{zzz{{{y{zzzzyyzy{z{{{{|yzzzzzzzzz{{zz{{{zyz{z{{zzz{z{{{{{zzzzzzzz|yz{{|{{{y{yzzz{{{zz{z{z{zzyzz{z{{{{z{|{zzzzyzz{y{z{{zzzzzy{zyyzzzzz{{{zzyzyzyzz{{{z{zzzyzyzyzyzyzyzzzzyzxzyyzyyzz{yyyzyzzyyyyyyzyz{zyzzyyyzxyyzzz|zz{zyyyyzyyyzzzzzzz{zzyyzyyxyzzzyyzzzyzyyyzyyzzyzzzzzzyyyyyyzyyyyyzzzyzyyzyyzyzzzy{zyzyyzxyyyzz{yzzzzxyyyzyyzyzzzzzzzzzyxyyxyyzzyz{{zzyzyxxxzzzxyzz{yyzyxyzzxzyzy{zzyy{yzyzyzzzzzz{zyzyzyyzzzzyyzzzyzyzzzyzyz{{zz{{zzy{yyyyzz{zzzz{{{zyz{zzyy{{{z{yzzyzyyzzyz{zzzz{zzyzzzzy{zzzzzzz{zyy{zyzzzzz{{|{{z{yzzyzyz{zzz{{|zy{{zzzzz{{{{{{{{zzzzzzyz{z{{z{{zz{z{{{{zzzz{|{{{zzyy{zzz{z{{{{{zyzyzzy{z{zz{{zzzzz{yy{zzz{{{{{{zz{z{zzz{zz{{{{|z{zyyy{z{y{{{{{zzz{yzzzzy{{{zz|z{zyzyxzyzz{{z{zzzzyyzxyzzzzzzzzzzzzyzyyyzz{{z{{yzzyxzyyzzzzyz{{zzyzyzyyyzzzzy{{{zyzyyyzyyzzzzzzzzzzzzyzyzz{yz{{zzyyyyzzyzyyz{z{yyyxyyyyzzyzzyzz{yyyxyyyyzyzzzzzyzyyyyzyyzzzzzzz{zyyzyyyyzzz{zy|{zzxzxwyyyzxzzzz{zzyxzzyyyzyzy{yzyzzyzzyyzyzzyzy{zyzyzyzy{yzzyzzzzzzyzyzyzzzzz{|zyyzzzzzzyzzz{z{{zzyzyxyy{{zzzz{zyyzyzyyyzz{{{{{{zzzyyzzzz{{{yz{zyzzzzyzy{z{{{zzz{yzzyzzz{{z{{{{{{zzzyzyz|z{z{{zz{y{zzyzz{{{{{{|{zzzzzzzzz{{z{{{z{z{zz{{z{{{zz{{{zz{zzzy{{z{{zz{{zyzzzzzz{{zz{zz{{zzzzzzy{{{{{{{{z{zzyy{z{{{zz{z{{zyzzyzyzzy{z{zzyzyz{zzyzy{yzzzzyzyxyyzzxzzyz{zyyzzxyyyzyzzzzzz{{zyzyyyyzz{zyz{zyyyyxyxyyz{{yz{zzyyyxzzyzzzzzzzzyzyyyzyxyzzyzz{zyzzyzyyyy{yyyzzzyzyyzzyy{yz{yzz{zzzyzxzyyzzzzzz{zyzyyyyzxz{y{zyzyyy{yyyzzzyzyzz{xyyyzyyyyz{yz{y{yzzxyzyyyz{yzz{zyzyyyyyx{zyzyz{zzyyyzzzzyzzz{zz{zyzyyyyzzyzzyz{{zzzyyxz{z{{zyzz{yzzzzzzyz{{{{zzzyyyyzyzyz{zzzz{{zyzzzyzy{{zzz{{zzzzzyyzzzzzz{{zzzyzzyyzyz{zz|{{zyzz{z{yyzzzzzz{y{zy{zzzz{{{z{z|{zzzzzy{{z{z{{{{{{z{z{zz{{|z{{{||{zyzz{zy|zy{{z{|zzyzzzzz{{zzzz{{{{yz{yz{{{{{zz{{zzzyzz{yzzzy{z{{|{z{zyzyzz{zz{zzyyzzzyzyzz{yyzzzzyyyyyyxyzzzzzzzzyyyxyzyzzzzy{{{zzyzyzyz{yzzz{zzyzzzxyyyz{{zzz{|zzyyxyzxyxzzzzzzzyzxyzzzzzzyzz{yzyyzyyyyzzzzy{zzzyyyyzyzyyz{z{z{yyyzyzyxzzyzyzzyzxzyyyyyyzzzyzzyzyyzyzyyzzzzyyz{zyyyzyyyyzzzyzzzy{yzzxyzzyzzy{yzyzzyzyyyzz{yyzzzzzyxyxyzyzyzzz{zyyzyyyzzzzzzy{{{yyzyyyyyzzzz{{{{zyzyzy{yzzz{y{zz{zzyyxxyyz{{{zzzyzyzzzzzz{zzzzzz{zzz{zzzzz{zz{{{zyz{{z{z{z{{z{z|{zzzyyyzz{z{{{{yzyzzzzzzz{{z{{{{z{zz{zz{z|z{{|{{zzzzzzzzz|{|z{{|zyzzzzzz{zz{{{z{{zz{zzzzzy{{{z{{{zz{{zzz{{zz{z{|{zyyzzzyzz{{zz{|z{z{yzzzzzzzzzz{zy{zyyzzzzzzzzyzyyyyxyyxzyzzzyz{yzyyzyzyzyzzzzz{zyzxzyyzzzzzyz{zyyzxyyyyzzzzzyyzyxzyyyzyzzzzzzzzxyyxyyyxyyzyzzzzzzyyzzyyzyzyzzyzyyyyyyzzzyzzyyzyyyxyyxyxzzzyyz{zzzxyyyyzyz{z{yyyzy{zyyyyzzyzzz{zyyzyzyyyzzzyyyzzzzyyyyxxyzy{{zzzyyyyzzzyyzyyz{zz{yyxyyyyyz{yyzzzzyzzyxzzzyzzzzyzyzyyyyzyzyzyzzyzyyzyyyzyy{zzz{zzzzzzyyyzz{zz{z|yzzzyzyyz{zzy{z{{zzzzyyyz{zzz{{{zzzyzzy{zy{z{zz{{{yzyyzzzz{zz{|{zzzyyzz{y{{{zzzz{zzzzz{zzzz{{{z{{zzyyzzzzz{z{{{{zzzzzyzyz{z{zz{{{zzzyzzz{zzzz{{{{{zzzzz{z{{z{|yz{zzzx|yz{zz{zz|{{{zyyyzzz{z{{zz{zyzzzyxyzzzzzyz{zzyyyyzyyzyyyzzzzyyyywzyyzzzyz{z{zzyxyyyyzxz{yyzyzyyyzzyyzzyzzzz{yyyxzyyyz{zzzzzzyyzxyyzxyyzyzyzz{zzyyyzyyzzzyz{zyyyyzyyzzzy{zz{yzyyyxzzyzzyzzz{zyyyyxzyyzzzyyyzzzyyxyyyyzyyzyzzzyyyyyyyyyyzyzxzzzzyyyyyzyz{zzzyzyyzyyzyyzzzzyzzzzyyy{xzyzzzzzzzzzyzzyzzzzzzzzzzzyxzzyzyyzzzzyz{zyzz{yy{zyzz{z{zzzyyyzzyyz{zzzz{zyzyyzzzy|{{{zz{zzzzzzzzy{z{{y{zzzz{zyzzy{zzz{z{{zz{yzyyzz{|{{{{{zy{yzzzy{{zz{{{{zzzyz{zzz{{{{{z{{y{zy{yz{{zzzzz{{zz{zzzz{{zz{zzzzyy{{yyzzzz{z{{{{zzyzyyzz{zz{z{{yzzyzzzzzzzz{{{{{z{yzzzzz{z{zzzzzzyzyxyyzzzzyzzyyxxyyyzzyzzzzyzzzyyyyxyyyzyzzzzyzyyzyyzxzyzzzzzzyyyzzyzyzyzzzyyzyzzyyzyy{yyzyzz{xyyxzyyyzz{yzzzyzxyyyyyyzzzyzxzzyyyxyyxyyyyzzy{zyyxxxyyyzzyzzyzyzyyzyyxyzzzyzzzy{xyzxyyyzyzzzzzzyyyyzxzxyyyyyzzyyyyyzyzyy{yyzzzyyyzyz{xyzzyyz{zyyzyyyxyyzzzzzz{zyzzyyyyxzzzyz{zzzyzzxyzzzzzyz{zzzzxzzyzyyzy{z{yzzyzzyyyzzz{zyz{{zyyzzyyyzz{yzz{zzyzy{yzyy{zzz{zzzzyyyyzzz{z{z{zzzz{yxzzyzz{{yz{{{z{z{zzz{{{z{{{z{zzzy{zzz{z|{zz{{zyzy{zzz|{{{{{{zzzzzyzyz{z{{{{{zzyyyyyzyzzzz{z{{zzzzzzzzyz{z{z{zzzzzzyzzzz{zz{|yyyyy{yzz{zzzzz{z{yyyxyy{zzzyzyyzyyyyyyyzzyzzyzzyyyyyxxyyyyzzzz{yyyxyyyxzzyzyzzzzyzyyzyzzzyzyyyzyyzyyyyxyzyzzzz{yyyyxyyxzyzyzzzyyzyxyyxyzzzyyzzzyyyyxyyzzyyzyyzzyyyyyxyyzyyzyzyzxyyyyyyyyyyzyzzzyzyyxyyxyyyyyzzzyxzyyyyxyzyzyyzzyyyyyyyzyzyyyzzzyyyyyzyxyzzzyy{zzxyyyyxyyzzyyz{zzyzyyyyzyzzzzzz{zzyxyyyzyzz{zyzzyyyxxzyyz{zzzzzzzzyyyzyzzz{zyz{zyyyzzzxyz{zz{zzzzzzyzzyyzz{zzy{{yzzyzyzzzzzz{{{zzzyyyzzyyzy{zzzzyzyzyyyxz{{z{zz{{z{zyzzz{z{z{zzz{yzyyy{yz{{{zzzzzy{zzzzyzzz{z{{{zzyyzzyy{zzz{zz{zyy{{zzy{zz{zy{{zzyyyyzzyzzzzz{z{zzyzyzzzz{zzzzzyzyzyyyyyyzzzzxyyyxyyzyxzzzzzzz{xyyyyyzxzzzyzy{{zxzyyzyxyzyyyzzzzyyyzxxzyzyzyz{zyyyxxxyxyyzyzzz{{zzyyyxxzzyzyz{zyyyyyyyyzzzzzzzzyyzyyzyyyyxyyzyzyyyzyyyyzyzyz{zyzyyyyyyxzx{yzz{zyyyxxyxyyzyzyz{zzyzzxyyzyyyzzyy{zyyzyxxxyzzzzzzzzyzyyzyzyzzyz{z{zyyzzyyyzzzzyzzzyyzzzx{yzyzy{{zzyyyyzyyyzzzzz{{{zyyzyyzyy{{yyzz{zyyzyyyxzy{zzzzzyyyzzyxyzzzzyzzzzyzzyzzzyzzzzzzzyzzyzyzzz|{{{y{{yzz{zzyyz{{zz{{zzyzyzzzyz{zzz{{z{zzyzzyzzz{{{zz{zz{zyzzzz{{{{z{{z{{{zyyzzzz{z{{z{zyzzzzyzzz{zz{z{zyzzzzyz{zz{{{zzyzzzyzyz{z{zz{z{zyzzyzz{zzz{{{{zyzyyyzzyyzyzzzyzyxxzzyyyz{yzzzzyyyzyyxyyzyyz{yzzyyyzzxy{zzzzy{zzyyyzzyyyz{zzzzzzyyyzzyyyzzzyzzz{yzyyyzy{zyyzzyzzyzyyzzyzz{yy{zzyyyyxyyyyyyyzz{zyyyyyxzyzzzyzzz{zzyyxyyyyyzz{{zyyyzyyyyzyyyy{zzyzyyzzxyzyyyzyz{zzyyxzyyxyzzzzzzzzyyzyzyyzzzzzz{yyyyzzyzy{zzzyz{zzzyyyzyyzzzz{zzzzyzzyyzxz{y{zzz{{zzxyyzzzz{zzz{zzyyyzzzxzz{zz{{zzyyzxzyyzzzzzzzzzz{yzzzzyzz{{{{zzz{{yz{zzzz{zz{{yyzz{yyyz{z{|{|{{yzyzyzy{zz{{{z{yyzzzzz{z{{{zzz{zzzzz{zy{{|{{{{|zz{zyzzyz{z{zzz{{yzzzzzz{zz{{|{{{zzzzzzz{{{{z{{{zzyzzzzzz{{zz{zzz{y{zzzzz{z{zzz{yyzzzzzyyz{zz{yzzyyyyxzyzx{yzz{zyyyzyyxyyzyz{{zzyyzxyyyxzzzz{yz|yyzzzyxyzz{{yzyzyyxwyxyyzzzzyzz{zyyyyzzyyzzyzzzyzyzyyzyyxzzyyzzzzyzzyyyzzz{yyzzzyyzyyyzyzz{yyyyyzyzyxyyzzyyzyzzzyyzyyyzyyzzzyz{zyyyxyxzyzyzyyyxzyyxyyyxyyzyzzyyzyyyyzzyzyzzy{zzz{yxyzyyzyzzyyyy{yzyyxyzyyyzzzz{zyzyyyzyyyz{zzzzzzzxyzz{zy{z{zzzzzyyyzzxzzz{zyz|{{yzyzyyyzz{zyzzyzzyz{zzz{{z{{zzzzy{yzzyzz{z{{{{zzzzzyywz{zzzzzzzzzz{zzyzy{{{{{zzzzzzzzzz{{zzz{{z{z{zyzzyz{zz{{{|{zy{yyzy{z{{{{zzzyzzzy{zz{zz{{{|zyzzzzzz{zz{z{{|{{yy{zz{z{z{{{{{zzyzyyyy{{{zyy{yyzyyyzyzzzzz{zyyyzyyzxxyzzzzyyzzzyzyyyyyzyzz{zzzzyzyyyzyyzzzzzzzzzyyyyzyzzzzyz{{zyyyyxyxzzzyzz{zzyyzyyyxyyzzz{zyzyyxyzyyyzzzzy{yzyyyyxzzzzzzyzzzzyxyxxyyyzyzzzzzzxyyyzxyyzzzzz{{yyyzxyyzyzzzzy{{yyyyyyyxyyzyyzzzyyyyzxyzxyyyz{yzzyzyyzyzyyzyz{zzyzzxzyzyzz{{zzz|yz{zzxzzzyz{{zz{zzyzzyzyz{zz{zzzzzzzyyzzzzzzz{zzzzzzzyzzzzzyzzzyzxyzyzzyzzzzzy{{z{zzzyyyy{{z{{{zyzzyz{{{z{z{{{z{yzyz{zzyz|{z{{z{{zzz{zzz{zzz{z{|zzzzz{zzy{{z{{{{{yyyyzzzz{z{z|{{zz{zzyy{{{{{z{z{zzyyzzyzz{{z|z{|{z{zzzzzz{zz{{{{{zzyzzz{z{z{zz{zzzzzzyy{{{z|z{{zzzyyyyzyzz{zzzyzyyyyzxyyyzz{zzzzzyzyyxxyzz{yzzzyzyyyyzxyzzyzyyzzzyxyzyyzyyz{zzz{zyzxyyyxzz{z{zyzzyyyxyzxzzyzz{{z{{yyzzxzzy{yz{yyzyzyyyyyzzyzzyzzzxyyyyxyyzy{yzzzzxzyyzyzzzzyzzzzzzyzxyxyyzz{zyzzyzyyyyzxyyzzyzyyyzyyyyyzyzyyyzzzyzyxyzzxzxz{z{zzzyzyzyyyz{yyzzz{zyyyzxzxzzz{zzzzzzzzyzyyzz{{zz{zyzzyyyzzzzzzzz{{zyzzzzzy{{{zy{{zzyyzyyyyz{{yy{zzz{zy{zzzzzz{{{{{zzzzzzz{zzzy|z{{zzzzzzyzy{|{zz{z{yzzzzzyzz{{{zzz{xzzz{zyz{{zzzzz{yzzzzyzzzzz{{{z{zz{zy{y{{zz{|zzzzzzzzzyz{{zzz{{zzy{{zyz{{zz{{{{{yzzzzzzy{z{{{|zzyzzyzz{z{{{zz{zzzzzyzyzzzzz{y{yyyyyyzyyx{yzyzz{yzyyyyyzz{zyy{zzzzzzyyzyzyz{zzzzzyzzxyyxyzzzz{zzyyzyyzzxzzyzzyzzzyzzyyzyzzzzzz{zyzyyzyyzyyzyzzzyyyyzxzzzyzzzzy{yyzyyyyzyyzzzz{zzyyyyyyxzzzzy{zzyzyyyzyxyyzy{zzzzyyyyyyzyyyzyz{zzyzxyzyzzyyyzz{yzzzyzyzzyzzyyyy{zyzyxzyzyzzzzy{zzyyyyyyzzz{zzz{zzyyzzxyyzyzzzz{{zzzyzzyyy{zzzzz{z{yzyzyyyz{zzz{zz{yzyzzzzzzyzyzzzzzy{zz{yzzzz{zz{y{z{zzzz{{z{{z{{zyzzz{yyyz{{{z{{zyyz{zyz{{z{{{{zyyzzzy{yz|{{{|{{{z{yyzzzz{z{{{z|zzzzzyyy{{{{z{{|zzzzyzz{zz|{{z}{z{zyzzz{zzy|{{z{zyzzzzzzz{zyz{y{zzxyyyyzz{{zzzz{zyzyzyzyzzzzyzyyyyxxyyyxy{zzzyzzzyyzxyxxzzyyzzz{yyzyyyzyzyyzyz{zzyxzxxxyyyzyyyzzzzyyxyyyzz{zyzzzzzyyyyzxyzyyyyyyzxyyxyyyyzzzyyyyyyyxzyyyzzyyyyzzxyyxxyyyzzyxyzzzxyxyyzxyzyzz{yzyyzzyyyxxzzzzzyzzzyxzxxzyyyyyzzzzyyyyyxyyxzyyzzyyyxzyyzyyyyyzyzzzyzzyzyyyyzzzyz{{zzyzyyyzzyzyzyzzyz{yyyyxz|zyyzz{yyzz{yyyzzyyz{yz{zyyzzzyz{zzzz{zzxyzzzyyzz{zz{zzyzyz{{zzzzzzzz{zzzzyzz{z{zz{{z{zzzzzyyyzyz{zz{||{zyy{{yzzz{zzz{{zz{yzz{y{zz{{{z{{yz{yz{zz|{{{z{|{y{zzyyzz{{{z{{{zyzyzyz{z{zzz{zzzzz{z{y{{zz{{z{{yzyzzyzyz{zzzz{zzy{zzzyzzzz{zz{y{zzzyyyyyyzzzzyyyyxyyyyyyyzyyyzzzyyyzxyyzzzyzyyyyyyyyyyyzzzzzyyzzxyyyyyxyzzyzzzyyzyyyyyyyyzyyzzzyyzyyyyxzyzzyyzyzyzxzyxxyzyyyzzyyzyyzyyyyyyzzzyzzyyyyzxxyzzzzzzyyyxyyzxyzzyzyzzzxxyyxyyyzzzzyxzzzzyyyxyxyzyyxzy{yyzyyyzyyzyyyz{yyyyyyyyxzzz{y{zzzzzxyyxyzzzzyzzzzyzxzxyyzzzzzzz|yzzyyzzyz{zzzzz{zyyyzxyyzyz{zzzzzyyxyxyyzzzz{zzzzxyyxzyzzyzzz{zzzyzzzyzyyz{{z{yzyzzzzzzy{yzzzzz{{zzzzzyz{zz{{zzz{yzyzxzzz{{yz{{{zzzzzyzz{zzzz{{zzzzyyyzzz{{{z{{z{y{zyzzzz{{zyz{{zyyyz{zzzz{zzz{zzyzyzzzzz{{zzz{{{zzyzyzyyzz{zz{zzzzyyzyyyz{{zzzzzzyyzyzy{{{{zyyzyyxzxyzxyzzyzzyzzxyyzyyyyyzz{zzzzyyyyyyyyz|zy{zyzyyyyzxyz{{z{zzzyyyyyyyxzzyzzzzzzyxyxyyyyyzyzzzzyyyyyyyyzyzzzyzzyzyyyzxyyyzzzyzzyxzxyyxyyy{zzxyxyxyyxyyyzzyyzzzzzyyyyyyyyzyyzy{zzyzyyxyyzyzyz{zzyyyyyyyyy{zyz{{zxyyyyzyyzyz{zzzzyzzyzzzyyy{zzzzzzyzyyyyyzzyzzzzzyzyyyyyyzz{zzz{zyzyyyxzyzyz{z{{zzyzyzxzyz{z{z{{yzzzzzxzz{zzzz{z{zyzzzxzyzzzz{{zyyyyyzzzz|{yzzz|{zzzzyzzzz|{zz{z{{zyyyzyzz{{{zzzzz{zzyyzz{{z{zz{zzyzz{yzzzzzzz{{z{zzzzyzz{y{zz{{{{yzyzzz{{{y{yzz{zzyz|{z{{|z{z{|{zzzzzxzyyzz{{{{z{zzyzyzyzzzzz{zyzzyzyyzyyzyzzzz{yyyzzyyxzzz{zyzzyyzyzxyzzz{yzzz{zyxyyzyzzzzzzzz{yyyyzyyy{yzzyz{zzyyzxxxxzzzzzzyzyyxyzyzyz{yzzzzzzyxyzxyyzzzzyzy|zzzyzzyyzzzyzzzzzzyyyzyyy{yzzzzyzxyzyzxyyzyzyzzzzzxyxyxyyyzzzy{zyyyyzyyyzzzyz{zzzyxyxyzxyzyzyz{zyxyyyzyyzzzzzzzzzyyyzyxy{zzyzzyzzyyzzzyyyyzzzz{zyz{yz{{yyzzzz{zzzxyzzxyyzzyz{z{{zyzyzxzyzyzzz{z{zyyyyy{yzz{zy{{{zzz{yzz{zz{{zz{zzzz{zyzz{{{z{{zz{yyzyzyy{{{zzz{zzyzzzzyyzzzzzz{z{zzz{{zy{{z{z{z|{z{yz{zzz{zz{|{z{y{zzz{y{z{z{z{y{z{zyzy{{{zzzz{zzzyzzzyz{{z{z{{z{zyyzyz{y{{zz{zz{yyzzzzzz{zzzzzzzy{zzxz{z{{zzzzzyyyyyxyzyyzyzyzzzyyyzyyyzzzy{zzz{zyyyxyzzzyzz{z{yyzxyyyzzzz{yzzzyyyyyyyyzzyyy{yzyyyyxyyyzyzzyzzzzy{yzyyyzzzyzzzzzyzyyxyzzyyyzzz{zwyyxyzyzzzzzyzzyyyyyyzyyzzyzzy{yyzyzyyyzzzzzzzzzyxzzyyyzyzyzzzzyyyyzyzyyzyzz{zzyzzyyyxzzzyzyzzzzzzyyyxy{zyzzzzzyzzyxyxy{yzyyzz{yzzxzzzyzz{zzzzzzy{yyyzyy{zzzzzzzyyzxzzyzzzzyzzzzzzyzzyyzzzz{zz{{zyzzzzyzzz{z{{{yyyyzyzzz{z{z{{{yzzzzzxyz{{|zz{zzyzyzzyyz|zz{z{{z{{zzzzzz{zz{{{z{zzzzzzz{|z{zz{{{z{zzzyz{{z{{{{{{zzzzzyy{z{zz{{{zzzzyzyy{{zz|{{{{{zzyyzyy{zzy{{zzzyyyyzyz{z{zzzyzzzzyyyx{zzz{zyzzyxzyyyyzzzzzzzzzyyyxxyyzz{zzyzz{zzzzzyyyzzzz{{zyyyzzzyy{yzzyzzzzyyzxyzyzyyzyzyzyzyyyyxyzzzz{yzzxzzyyyxxzyyzyyzzyyzyyyyzyyzzyzzzyxxyzyyzyzyy{zzzzyyzzyyyyyzzzyzzyyyyxxyyzzz{zz{{yyyyyzxyxzyzzzyyzyyxyyyyyzzzyzzzyyzzyyyxzx{z{zzzzyyzzyzyyyzzy{yzzyzyyzyzzyzzz{zzzyyyzzyy{zzzzzzzzyzyyyzyyzzyz{{{yyzyzz{zzz{y{y|{zyyzzyyzzzzzzzyy{zzy{zyyzzzzzz{{zyyyzzzy{zzz{{{{zzyz{zzy{{{z{z{{zyzzzzyz{{{zzz{{{yzyzz{{z{{z{{|{{y{zzzyzz{z{z{{{zzyzzyyyzy{{{{{{zzzzzyzzyz{{z{{{{zzzzyzzyzz{{z{zz{zzyzzzz{{zz{{zyzzzzzyzy{z{z{{zzyzyyyzzzzzzzzyzzyyyzyzyy{zzzzyzzyyxwxxyyzyzzz{{{yzyzyyxzyzzzyz{zyzyyxzyzyzzzy{{zyxyxyzyzyzyz{y{zyzzzyyyzzzyxzz{zyzzyyzzzyzyyzzzyyywzyyyyzzyyzzzzyz{xxzzyzzzzzzyzzyzyzxyzy{zzzzzzyyyxzyxzzzzzzzzyyyxzyzyyzyzyz{zyzzyzyyxyzzz{{zzzyzzyyzyzzy{zz{zyyzzzy{yyz{zz{y|{yyxzyzyyzzzzyzzyzyzxzxzzzzz{zzyyyzzyzyzz{zzy{zy{yzzyy{zy{{zzzzzyyzzzyzz{zzzy{z{{zxzzyzyzz{z{{zzzzzzyyzyzyz|zz{{{zzzyyyz{{{{zz{zzyyzzzyz{|{{z{{|zzz{{z{z{{z{{{{zzzzy{yzzz|{z{{z{{{z{zyzzz{{{{{yy{yz{y{zz{{{{{{{|{z{zzz{{{{zz{{{{zz{yzzzzz|{{{{{|{zzzzzzz{|z{yz|zzyzyzyzz{yzyzyy{yzzyyxyyzzyyzyzzxzyyyxyyzzzzzzz{yyyzyzyyzyzyzzzzzyyyyyzy{yy{yyzzzyzxyxyxzzzyyzzzyyyzzyyyyzzzzzzzxyyyyzyyzyzyyzyzyzzyxyyyz{yzy{zzyyyxyyzyyzzzzzzzyzzyyyyzzzzzzyzzyzxyyzyyyy{zyz{zyyyzyxxxzzyyzzzy{zyyyyyyxzzz{zzzzxyzyzyyyzyz{z{{yzyyyyzyzzzzzzz{yxyyyy{yzyzzzzzzzxzzzyyzzz{zzzz{{yyyzyzzxzzzzzzzzyzyyyyyzzzz{z{{zyyzyyyyzyzzz{{zzyyzyxyyzz{{{zzzyzzyzzzz{{z{{{{{zzyzzzzy{{z{{zz{yzzzzzzyzz{z{{|{zzzyzzzzyz{z{{{{zzzzzzzzyz|{z{{|zy{yzzzzz{zz{{zyzzzzz{zy{zz{zz{{{zxyzzzzz{{{{zz{zzyyzyzz{{yzyz||yyyzzzzyzzzz{z{zzz{wyyyyzyzy{zzzyyyxyyzyyyzzzzzzyzyzyyyxzzyzyzzyyyyyzzzxzyyyz{zz{yzyzxyyzyyyzzzzyzyyyyyxyyzzzzyyyyyyyyyxyzzyyzzzxyyyyyyyzyyzyzzyzzyzzyyyyzzzyyzzyxyyzxyzyzzyzzzxyzyyxyxyyz{y{z{zzyzxyzxxzzzzzzzzyyyyyyzyyyzyyzzyyzzyxzxyyyzzz{zy{xzyyyyyyzzzyz{zzzzzyxzyzzzzyz{zzyyyyzzzzz{{z{zzzyzyyxyxy{zzyzz{yyzy{yxyyyzyzzzzzyyyzyyzzzzzzzzyzyyyzzyz|zzzzz{zzzyyzyyyzyyzzz{{yzzyzzyzzz{{zzzzyyzzyyyzzyz{{z{zzzyzzy{y|{zyyzz|zyzyyzzyzz{{{z{{{yzz{zzz{zz{{|{zzzzzzyzzzy{zzz{zzzyzzzzyz{z{{{{zzzyzzyzz{{{{z{{{{{{yzzzzy{{{z{{z{zyyzy{zy{zz{zz{yzyyyyzyzzzzyyzzyyyyyxyxz{zzyz{zzyxyzyzyyzzyy{zyzzzyyzzyzzzzz{zzyzyyyzyyzyzzzzzzzzxzxyzyyy{zz{{yyyyyyzzyyzzzzzzzzyyyzyxy{z{yxzzzzxyxxzyyzy{yzzz{zxxyyxzyyzzzzy{zzzzyxzyzyyyyzz{zzyyyyyyzzzzzzyzzzzyyzyyyzyzzzzz{yyzyzzyyyzyzzzzzyyyyzzyyzzzyzyy{zyyyzyyyzz{zzz{{{zzxzyzyzzyz{yz{zyyyzz{yzz{yz{{zzzyyyyzyyyzz{zz{zyzyyzyyyzzz{{{z{zzyyyzzzzzzzzzzyzzzyyzzzz{{{{{{zzyyzzyz{{z{zz{|{y{zzyzyyzz{{{z{zyyy{zyz{{{y{{{{zzzzyz{{z{{z{|{z{yzz{z{zzz{zz{{z{zzzzzyzz{{zzz{{z{zzzyzz{{z|{{{|{zzzzzz{z{z{z{zzyyzzzzzzz{z{z{{z{zzyzzzyz{y{zz{{zyzyzyzyyzzzyzyzyyyyzyyyzzzyyyz{zyyzxyyyyzzyzzzyzyyyyzz{yzyz{zzyzyyzzyyzz{y{yz{zzzzyyzywyyzzyzz{zyyxxyyyzzzyzy{yzyyxyyzyzzzzxz{{yyzxzzyzzyyzzzzyyyzzzyxyxzyzzzzzyyyxxyyyyz{z{{zzzxzyyyxyyzzzzzzzyyxyyyzyyyzzzyyzzzyyyzyyxz{zyzzzzyzzyzxxzyyzzyz{zzyxzyzyzzyzzz{z{yyyyyzz{zzyyyz{yyyyyyyzzz{zz{zzzzyyyyzxz|zzzzz{zyzxyzyz{z{{zzz{{zzyzzyzzzzyyz{yyzzzzzzzzy{z{{{yzzyzzzzzyzz{zz{{zyzyyyyyzzy{zz{z{yzzzzzz{{zz|{z{z{zzzz{{yzz{yz{{{zyzz{yzz{|{z|{{{zz{yzyyz{z{zzz{zzyzyyyxzyzz{{{zzzz{z{{y{zzzz{{zzzyyzyzy{|zzzzzz{zzzzzzyzzz|zz{zzzyyyzzzzzzzzzzzyyyxyxyyzyzyyyzzyyyyyxyyyy{zz{{yzyyyyyzyyzzzzyz{zyyyxyyzzzyzyz{zzzzyyzxyzzxyyzzzxzzxzxyyyyzzyy{zzywyzyyyzyzyz{yzzyyyyzyyzzyzyzyzzyzxyzzyyyz{zyzyzyyyyyyyzyzyzyyyyyyxxyyxyyzyyyzzyyyyyxyxxzzzzxyzyxyzyyzxyzyzy{zzyyyyzzzyyzyyzyzzzzyyy{yyz{{yzzz{yxzyzxyyzz{zyz{zzyyzyyyyzzzz{{zzzzyyzyyyyzz{{{{zyyyyzzyzy{zzzzzzzzyzyyyxzzzzz{zzxyzyzzyyz{{{{{{{zzyyzzzy{{{z{{{zzyy{zzyz{z{zzzz{z{zzyzzzz{{z{{z{zzyyyz{zzz{zz{z|z{zyy{zz{{{zz{{z|y{z{zzzz{{z{{{z{zzzzzzyzz|zz{z{{zzzyyzzz{zz{z|zzzyyyzzyzzz{{zzzyzzyzyzyz{z{zz{zzyzyyzyyyz{yzz{yyyyzxxxyyzyyzyz{yzyzyyzyzzzzz{zzyyyyyyyyyzy{yzzzzyyzyyzyz{zyzzyyzzyyyzzxzzzzzzzyyyyzyyzyzzzyyzzzzxzyzzxyyyzzzyzyzzyyzzyyzzzzxyzzzxyyyzywyzyzzzzyyzyyyzyzz{xzyyzzzyyyyyyyzzzzzzzzzyzyyyyyyzzzzzzzzxyyyyzyyzzzyzzzzyzyyyyyzzzyz{zzzyyyzyyyyyyzzzz{zyzyyxzy{zzz{zzzyy{zzyyyyyy{z{z{yyzzzxzyzzzzzz{yzyzyyyyzyz{z{zz{{yzyz{yyzzzzzzzyzy{zzzyzzz{{zzz{zyzyzzyzzzz{zzz{{zzzyzyyzzzyzzzzzzzzzyzzzzz{z{z|zzzyyyzzzzzzz{{{{zyzz{zy{|{{z{{{xyzzzzzy{z{{{{z{|yzz{zy{z{z{zz{|{zz{zy{{z{z{{zz{z{{yzzyzzzzzz{zy{yyzyyzzyz{zy{{zzzyyyy{zyyzzzzzyzyzzzyzyyz{yzz{{zyyzyxyyzzzzzzz{zyyzyxzxzyzyz{{z{yzyyyyyyzzzzyz{yyzxxyyxzz{zzzyzzyyxyyyyyzzzzzzzzyyyzyyzzzyxyyyzzyxyzyyyzyyzyzzyzzyxyzyyzyyyzyzzyxyx{yyyyyzyzzzzyyyyyxyyzyyz{yz{yyyyyyyyyzzyyzzzyyyyzyyyzzyzyz{yyyzyzyyzyzzyyzzzzzzyyzyyzzzzyzyz{yzzzzzzzzzzz{{zyzzyyyyzyzyzzz{{yzzyzyzyy{zzzzzyzyyyzzyyzy{zzz{z{yyzyyzy{zzz{{zz{yzyzzzzzz{{{{{zz{zz{yzy{zzzzzz{zyzyzyzzyzyz{z{z{zzzzzzx{{zzz{{zyzzzyzzz{zzz{{{{zzzzz{zzzz{{{{{{{yz{zzyz{{{{zz{{zyyz{zy{{zz{{{{{zzz{zzz{z{zzz{{{zzzxzzzzyzzzz{zzzzzzzzzyz{yzzzz{yzyzzxyyyzzzy{zzyzxzxxxxzzzzzzzz{yzyyzyzyzz{y{z{yyyyyyyyyzzzzzzz{zzyyzyzzzzzzz{{yyyyzxyyzz{yzzzzyyyyzyyyyzzyyzzzzyyyyyyyzz{yzzzzyzzyyzyyzyzzzzzyyxyzzyyyzyzzzzzzzzyyyyxyzyzyyyzzyyyyxxyxyyz{zz{{zyyyyxyzyyzyzyzzzyxyyyzyy{zzzzzzyyyzzzyyzz{zyzzzzzyyzxzxz{zzzzz{zyzyzxyyzzz{{{{{{zxzyzyyz{{yz{yzzzy{yy{zyzz{zzz{zzzyzyy{{zzzzy{{yzxzyyzzz{zzz{zzzz{yyzz{yzy|{z{zzzzzzzzzz{yzz{{{zyzzzzzyzzzz{z{z{z{zzy{zzzz{{{{{zy{zzz{zz{{z|z{{{zzzyzzyzz{{|{{z{zz{{y{{{{z{{{{{zyzz{zy{z{zz{{z{{{{z{{yz{{{zz|{|z{zzz{zy{z{z{{{{z{yzzzyzy{{{{z{zzzzyzyyzzzzyzzzyxzzyzyxyyzyzz{zzyyzzyyyyxzzzyzzz{zzzzz{zzz{zzz{zzzyyyyyzzz{zzz{zzzyyyyyyzyzy{zzzzyzyzyzyzzzyz{{zzxzyzyyzzz{yy{zzzzxyyzyyzzyyyz{y{yyyyyyyyyzzyz{yzzyyxzyyzz{y{zzzzzzyxxyyzzzyyzzyxzyyyyyyzzyzyzzz{zyyyzyyyzzxzzyzzzzyyyyx{z{zyyzzyyzyzy{yyz{yzyzzzzyyzzzzzzyzzzyzyzyyyyzyzz{zz{{{zzzzzzyyz{zzzyz{yzyyzyzyzz{{z{|z{yxyy{yzzz{z{zzzzzzxzzzzz{{zzz{zyzzyzz{y{zzzzz|{zzzzzzyy{{zzz{z{{x{z{zzz{{z{{z{{z{{zz{z{yzz{{{{{{xyzy{{yy{z{{{z{zzzzzzzz{{{{{zz{{zzzzzzzzzzz{|{z{zyzzzyz{zzzzz|zzzyy{zzyz{{z|{{{{zz{z{{yy{{{yz{zzzyyyxzyz{zzzyzzyyyyyyzyzzzzzz{zzzyyyyxzzzzzyzz{zzyzzyzyzzzyzzzzzzyzzyyzyz{zzzzyzzzyyyyyzzz{zzzzzzyyzx{yz{zzz{zzyyzyyyyyzz{yyyzyzy{yyyxyyyzzyzyzyyzyyyyyyzzzyz{yzyyzyyyzyxyyzzzzyy{yyyzxzzyzzzzyzyxyzxzyzyzzyyzy{yzyyyzyzzyy{{yzzyzyxzyxzzzzyzzz{yzyyyzx{yzzz{zz{zzzyzyzzzzzzyzzyyyyyzzzzyz{yzyzz{zyzyzzzzzz{zzzyyzzzyzzzz{zz{zzzyyzy{zy{{zzz{{zzzz{{zzyzz{zz||zzyz{{zzz{z{zyzz{zyzzzzyyzzzzzzzzzyzzzzzy{{zz{{{zz{zyzzz{zzzz{{{{{zzzz{zzzz{{{{{zzz{{zzzzzzz{{{{{{yy{zy{z{z{{{z{{{zyzzzyz{zzz{{|{zzzyzz{yzzzz|{{{zzzyzzzzz{{zzzz{xyzyyyyyyz{zyzzyyzyyzyxxyzzzyzyzyyywyyyyzzz{zyz{{yzyyxzyzzzz{yzzzyyyyzyyzzz{xz{yyyyxyyzyzzzzyyyzyyzyyzyxzzyzy{{zzyzyzyyx{yzyzzzzzzyyyyyyzzyzzzyzyyyzyyzyyzzyzyzzyyyyxyyzyzzyyzzzyyzyyxzyyyzyyzzzzzyyzxyyzzzyzzyzyxyyyyyyxzzzz{zzzyyzzxyyzzyy{z{zzyzyyyyyz{{zzzzzyzzyyyzyzzzy{{z{zyyyyyzy{yzzzz{{zy{zyyzzyzyzzz{z{yzyzyzx{zzzz{zzyyyzzzyyzzzz{{z{{zyyyzyyzzz{{z{{zz{z{zzzzzyz{zz{zzyzyyzy{z{{|z{zzzyyzyzz{{zz{|||zzzzyzzzz{y|{{zzzz{y{zzz{{z{{{{{{yyyzzzz{||{{{{{zzyzyzzz{z{z{z{{{{{y{zz{|yz|{|zzz{{zz{zz{|z{y{{z{zzzyyyyzyz{{{{|yz{zzyzyzzz{zzyzxyxzyyyyyyzy{y{zyyzzyyxzyy{yzzz{zyyyyzyyzyzy{z{{yyzz{yyzyzzyy{{{zzyzyyzyzy{zz{z{zyyxz{yyyzzyyzyzyyyyyyyyyzzzyyzzxyzyyyyyzzyzzzzyyxyyxyyxzzz{zyzzyzyyyzyyzyyz{z{yyyzzxyyyy{yyyzzzzyyyxyxxyyzyy{zy{yyyyyyyyyzzz{zzyzzyyzyxzzyzzz{zzzyxzxxyzzzzzz{zzzyzyyyyzyy{zzz{zyzyyyyxz|zzzz{zzyzyzyyyyzzzzzzzyz{zzyzyy{zyyz{zzyyzyzyyzzzzy{zyzy{zyzzyzzzzzzz{zyz{yyzzzzzz{{z|zyz{zyyyz{{{{y{{{zzzzzzzz{zzz{{{zyzy{z{zzz{z{{{zzzzzzzzzz{z{z|{|zyzzz{{z{z{z{z|{zyyzzzyzz{{zz|{|z{zzz{zzzz{{z{z{yz{zyzzyzz{{z{{{zzzzzyzyzzyzzzzzzzzyyyzzzzzz{zy{zyxzyxyyzzzzz{zzyyyyyxyyzyzzyzyzzzyyyyzyzyzzzzzzzzzyyyyzyzzzzzzzyyzyyzyy{zzzyzzzzyyyyzyyzyzzzzzzzyyzyyyxyyyzyzzyyyzxzxyzzyyzyzzzyyyyyyyyyzyyzzzyyzyyyyxyzyzzyzzzyxzyxyyxyzzzzz{zyyyzyyyyy{yyzzzzyyyxyyzyy{zzzzzzzy{zz{xyzz{zzzzzyyyy{xyyzzzyzzzyxzyyyyyzzzzzyzz{yyzyyzyyzzzy{zzzyz{xzyzzyzz{zzyzyzzzyzzyz{zyzz{{zzyzyyyyzzzz{zzzzyyyyzzzzz{zz{{{yzzyyyyzz{{{zz|{yzzzxyyy{zz{{z|zzyzzzzzy{z{z{{|zyzzyzz{zz{{{{{{{{zyzz|yzz{|{{yzzzyzyz{zzz{z{{{zzzyzyzzzzz{z{{y{z{zz{yyyzz{{zzz|{yzzyzyzzzzz{{{{zzzzzyz{yzzzz{zzyzzzxyyyy{zzyzzyyyyyzyzyxyzzyzyz{zyzyyxyyzyzzz{{|zyzxyyyyzyzyzzz{{yzyyzyyyzz{zzzy{yzyyyyyyz{yyyzyyyzyyzyyyzzxzzzyyz{yyyyyzyzyz{zzzyyyzyyyyyyyzyzzzyyyyyzyyyzzzyzyyyxzyzyyyzzzzyzzzzyyyyyyyyzzzzzyxyxyzyyxzzzyzyzzyyyxyyzyzzzyz{zzyyzyzyyyz{zz{zz{zzyyyxyzyy{yyzyzzyyyzyyzzzyzz{{zy{yyzyzyzz{z{{yzzyyzzyzzyzzzzz{zzyyyyzzyzzzzyzz{yyyyzyy{z{{zzzzzz{{zyyyzyz{zz{{{yzzyyyyy{{z{{zz{zy{yyyyz{{zzzzzzzyyyyy{z{{zz{||{y{zzyzzzz{z{{{z{{yz{yzz{{{z{zz{z{yzzzyzz{z{{zy{{yzyzzyyzz{{|z{{{{zzy{{yzzz{{z{{{zzyyyzzyz{{yz{{{z{zzzzzyz{z{yzz{zxyyzyyz{zzzzzyzzxyxyxxxyzz{yyz{yzzzyzyy{z{zzzzzzzzzyxzyyzyzzzzzzzzyyyyy{zzzyyzzyxxyxxyyyyzzzzyzyxyxyyyyzyzzy{zzyyyyzyyyzzzzyzyyyzyxyzyxyyzzzzzzyyyxyyyxyzzyyyyzzyyyyyxzyyyzzzzyyxyyxyyyyyzzyzzzyxyyyyzxxzyzzyy{yzyyyxxzzzyzzyzyyyyzyyyyyzyzzzzz{yyyzzzyzzzyyzz|yyyyyyxyzyyzzyz{zzyzyyzyzzzzzz{{zyyyxxzx{z{zyzzyzzzzzyyy{zzzyyzzzzzyzyyzzzz{zyzzyyzz{zxzyz{|z{{zzzzzzyzyz{{{{{{z{yyz{zyxz|{{zzzzzyzyzyzyz{{z{{{{zz{zzzzzz{z{{{{{{zz{zzzzz{{zz{{zzzzzyzz{{{{z{z{{zyyzzzy{zzz{{z{{yzzzzzy{{{{z{|{|yzzyzyyzzzz{z{zzzzyyzzzyzzz{yzzzzyzzzyyyyz{zyzyyxzyyyyyxzzzy{zzzyyyyyyxz{xyzzyyzzyyyzzzxzyzyzyyzyyzzyyyxzz{zzyzzyyxzyzzxzzyzyyyz{zzyyxyxyyyyzzzyzyyyyyyyzyyyyyzzzyyxyyyyyzyzz{zzxyyyzyyyyyzyyyyyyyyyyyxyyyyyzyzzyyzyxyyxzyyyzzzzyzyyyyyyzyzyyzz{yzyyyyyyyzyxzzzzyyyyyyzzyzzzzz{zyyxyzxyzzyzyyzzzzyyzyzyyyyzyyyz{yzzyxzyzzzyz{{zzyyyyyyzxy{zz{zzzzyzzyyzy{z{zzyzzyyyyy{zyzzzyyzy{zyzyyzyyyy{{{{zzyzzy{yyzyzzz{{{{zyzzyzyy{|{z{z{{zyyzzzzyz{{zz{{{zyzz{zzzzz{{{|{yzzzyyzy{z{z{{{|{zzy{zzyz{zz|{{z{{zyz{yzz|zz{z{z{{zzzzz{zzyzzz{{zzzzyzyyyzzz{zzz{zzyyyzzyz{z{{yz{xyyyyyyyzzyzzzyzzzyyyxyxy|zzzzzzxzxyxyyyzzzzzzzzzzyyyyyyzyyzzzzz{yyyzyzyzzzzyyzzzzwyyzyyzyyyyzzzzyyyyzyyyzzy{zzzzyyyyyyxyz{yzzyzzxyyyzyyzyzzzzy{xzyxzxxyyzzyzyz{yxyyyyyyzzzyyzzyzzyzyyxy{zzz{zyyyyyzxyzyyzyyyzyzyyzzzzzyyzyyzyz{yyyyzyxyzzzzzzzzzyyyyyyyyzzzzzy{yyzyyyyyzxzyzzzzyy{yxyyxzzzz{zz{zyyyyyyyyz|zz{zzyzzyyzzzzz{zzz{zzzzyzzyy{z{yzzyzzzyyyzzzzz{z{zz{yy{zzzzz{{{{z{{{zzzzzyy{y{z|zzz{zzyyyzyz{{{{z{{{{z{yzzy{{zzz{{|{zzzzzzzzz|{z{{|z{y{z{z{{zzz{{z{{zyxz{yy{y{{zz|{zzzxz{yzz{{{{{{{|zzzzxzzz{zyz{z{{yzyyyyzxzzz{zzz{zyzyzyzyyz{zyyyzyzzyzyyzzzzzzz{zzyzyyyxyzzzzz{{zzyyyyyyyzyzzzzzzyzyyyzyyzzzzzzzzzzxyyyyyzzzz{yzzxxyyyyzxzyyyyz{yzzyyzyyyyzyyzzzyyy{yyyyyzyyzzz|yyzxxyyyxyzzyyyzzzyzzxyyyyzzzyyzzyyyzxyxyz{zzzz{{zzyyyyyzzzzyyzyzxyyyyxyzyzzyzzzzyzyzyzyyzz{zzz{zzyyzzyxyyzz{z{{{yzyyyyyyyyzy{zyzz{zyyyzyzyzz{z{{zzyyzyzyz{z{zz{zzzzzzyyyzzzzzzzzzyyzyyyyz{zzzzz{zyyzz{yzz|{{{zzzyzzzzzzzz{z{{{z{zxzzyyzzz{zzzy{zzyzzzxyy{{zz{|{z{zzyzzzzzzzz{{zz{zzzzzyzyzz{z{z{{y{zzzzzz{{zzz{{{yzzzzyzz{zzzz{{{zzzzzzy{z{{{{||zzyzzyyyzzz{zzz|z{zzzzzzzyz{zzy{zyzzyzzzyzz{zzyyzzyxyyxxxyzzzzzzzyxxzxzyzzyzzzx{zzyxxzzyyyz{yzzzzyxyzzyyyzzzyz{zyzyyyzyyzzz{{yzzzxzyzzzxyzzxyzzzzyyyzyzxzyyz{zzyzyyyyyxyyyyyyzz{xzyyyyxxzyzzyzzzyyxywyxxzzzzzzzyyyyywyyzy{zzzz{zzyyyyyyyzzzyyzzzzyzyyyyyyzxyyzzzyxyzyyyyzzzzzz{zyyyyyzyzzzyzzzz{zzzzyxzyzyz{zzyzyzzzzyzy{zzz{zyzzxzyyy{zy{{zz{zzzyzyzyyyz{zzy{|{yyzz{yyzzzz{zzzzzyzzz{zyzz{z{zzzzzzzzz{y{zz{z|{zzzyzzyyy{z{z{{{zzyz{zyzzz{{{{{zzzzzzzy{yz{z{zz{{{yzzyz{zzz{|{{z{zzzzyz{z{z{z{z{z{zyyzy{{zzzzz{{|zzzz{z{yzz{|{zz{yzzyyzyzz{zz{{z{{zzzyzyyyzzzzzzzzzyyzyzyyzzyzzzzyyyyzyyxyzyyzzzzzyzyxyyyzyzzy{yzzyxyyzzx{zzyz{{zzyzyyyzyzzzzyzzzyyzxyyzyzyyzyzzzzzyyyyyyyzzzy{zyyyyyzzzxyyyzyyyyzyxzxyyyzzyyyyzzxyyyyxyzyzzyzzzzyxxyxxyzyyzyzz{zyyzyyyxyyzyzyzzyyyzzyyyxzyzyy{zzzyyxzyzyzzzzx{zzyyyyxyyyyyy{yzzzyzxyzyyzzyyyyzzzyxzzzyzzzzyzy{z{yzyzyzzzzzyzzzzzzyzzzx{zyzz{{zzzzyyyzxxyz{zyz{zyzyyzyzzzzyzyzzzyzzyzyzzzz{{|zzz{zyyyzzyzy{zzyzzzzzzzzyyxy{{zz{z{zyzzzyzz{z{{z||zzzzzzz{y{{zzzz{zzzyyzzyzz{{z{z{{{yy{zzzz{{{{zz{z{z{zzzzzzzzzz{{zzzzzz{yz{y{yzzz{zyzyzzzyzzzzy{{{zzzzzyyyzz{yyzzzzzzzyzzyyzyzzyzzzyxyxyyxyyzzyzyzyyyyyxxyzzyzzzz{yyzyyyywzy{zzz{yyzzzyyyyzzzz{yzzyyzxxzyxyyzzzzz{zyyyyyyyyzyyy{y{yxyyyyxzzyzyzyzyzyzyyyyyzzyzyzzzyzyxyyxxyyzzzyzyzyzzxyxxyzzyzyzyzzyyxxzyzzyzzz{zyzyyzzyyyyzzzzyzyyyyyxyyyzyzyyzzzyxyyyxyzyzzzyz{zzzzzyxzz{zzzzzzyyzyyyzyz{zzzyz{yzyyyzxzzzzyzzz{zzzyyxyyy{{zzyzzzzyzzyyyzzzzzzzzyyyyyyyyz{{zz{zzzyyyyzzzz|z{{z{zzyzyyyzzzz{z{{z{zz{yzyzzz{zz{{z{{yzzzyyyz{zzz{{{zzzzzz{{{z{z{{zz{zzzy{zzz{z{{{{zzzz{yz{yzz{z{zz{{yyzzzz{{{y{z{{z{zzz{zz{zz{{{|z|zyzyzxzzy|zz|zz{zzzyzzyyzz{z{z{yzzzxyxyyyzzzxyyyxyxyyxyyyzyzyzzyyxyyzxxyzzyyzzz{xyxyyzyyzzzyyzzyyzyyxzzyyzzxzyyzzzyzyyyy{y{zyzyzyyzyyxxxyyyyzzz{xyzyyxyyyyyyzzzyyyxxyyyyzyzzyzyzyyyyyyyxyyyzyyzyzxyyyzyzyyyzzyzzzyyxyxyyzzyyy{zzzzyyzxyyyyyyzzyyzyzyyxyyz|zyz{yzzyyyzyxyzzzzyz{zzxxyzyzzz{{x{zzzyyzyxyy{zyzzyz{{zyzyzxyyzyzzzzyyzzyyyzyyzz{zzzyzyxyzyzzzzzzzzz{zzyyyzzzyzzzzzzzz{zzyyzzz{zy{z|{{{yzzyzzz{{z|{z{zzzzy{yzyz{zyzzy|{yzzzyzyz{{z{{{zzz{zyyzzz{z{zzz{{yzyzzzyyzz|zzzz{zzzyzzzzzyy{{{{zzyyyzyz{zz{zz{|{zzyy{yzzzzzz{zzyzzy{zzyyzzzy{{{z{zzzyyzzz{zzz{zyyyyyyyyyyzyyzzzyyyzyyywyyzyyzzyyyyxyyyyyyyyyyz{xxyyyzyxzyzzyz{yzyyyyyxzzyyzzyyzyzyxxyxyzyyzzzzzzyzyyxzyx{zyzzzyyyzyyyxzyyyzyzxzzyyyyzxyyzyyzzz{yyyyyyxyyyyzyyzyzxzyxzxzyzzyzyzyzyyyxzyxzy{yzzzzyyyyyyxyxyzxz{z{zyyxxzxyyzyyzzzzxyyxyzyyyz{zz{zzzxzzyyyyzzyyzzz{yyzyyzyyzzzyyzyzyzyyyzyyyzzzzyzzzyyyyyyxz{zzzzzzyyzyzzzzz{zzyz{zzyy{yyyyyzzzy{{zzzyyzzzxzzz{{zz{zyzxzyyz{{z{z{{zzyzzyzyyzzzzzzzyzxyyzyyzz|zz{z||zzzxyzzzz{{z{z{zzyy{zzzzz{z{zz{z{zz{zzzyzyz{zzz{{zzyzzz{zz{{{z{z{zz{zyyz{{zz{z{{yyyyzzzzz{z{y{{zzyzyzzyyzzzzzzzzyyzyzzyyyy{zzyxyyxyyyxyzyzyzzzy{xxxxzxyyyzyzyzyzyzyyxyxyyyyxzzyz{xzyyyyxyyzzzyzz{yyyyyxyyzzzz{yzzyyyyyyyzzzyyzzyyzyyyyyyzyyyxyyzyyyyzyxzzyyzyz{zyyyyyyxyyzyyzz{zyyyyxxyyyzzzzzzyzzyzxyyzzyzzzzyyyzyyyxxyyzzzyyzyyyyxxyzyxzzyy{zyyyxyyzyxzzyzyz{zyyyxzyzyy{zzz{yyyyyyyyzy{yzzzzzzyzzyzyyzyzzzzzzyzzyyyyyyxzzzyzzzzxyzzyyyzzzy{z{zyxyzzyyyzzzzzzz{yyyzzyyyzyzzz{z{yyzyyzzzz{zz{{{zzyzzzyzxz{{z{zy{zyzyzyzyzz{z{{zzzyzyzzzyzzzz{{{z{yzyy{yzz{z{{zzz{zyzzzzz{yz{zz{zzzzyyzzzzzz{{zzz{{yz{yz{z{z{zzz{yyyyyzzz{z{yzz{{{yyzyzyzzzzzz{{zzzzzyzyyzyzzzzyzyxyyxxyxyzzyyyz{zzyyyxxyyyzyzyz{yyxxxxyyyyyzzyyzzxyyyyyyy{y{xzzzyyxxxxyyzzyzyzyzyyyxyyyxzyyzyyyyyyyxxyyyyxzyyzzzyzxxxzxyyyyyyzyyxxyyyyyxxzyyyyyyyxxyyyyzxzyyyzzyyyyyyyxyyzz{yzyzyxyxyxyyxyyxyzyyyyxxyyyxyyyyzyzzyxyyyxyyzyyzzzzyzyyxyyx{zzzzzzzzyyyyyyyyzyyzy{zzyyyyzyxyzzzzzzzzzyyyzyzyyzzyyzzzyyzyzyyyyyzzyz{zzyyyyzzyyyyzzyzzzzzyzyzyyzzzz{zzzyzzyyzzzzyzy{{{yzyyyyyyzzzzzyzzyxyyzyzyy{zyzzzz{y{yzzzzzzy{z{{zzz{zyzyzzz{{yzz{zzyzzyz{{zyz{zz{zzyzxzyyz{{{zz{{{zzz{zyzyz{{zz{zzzzzzyyyzzzzxz{zzyyzzyyzzz{yy{{zzyzyyyzyyyyzyzyyxyxyxxyyzzyyzyyyyyyxyxyyzyyzzy{zyyyxxyzyz{zzzzzzzyzyyyxyyxzyyyzzyyzyxyyxyzzzzyyzzyzyxxyyyz{xyzzyzyyyyyxyxyzyyyzyxyyyxxyzyzy{yzzzyxyxzxyyyzyzyzzyyyyyxyyyyyxyzzyyxxyxxyyxyzzzzy{zxxyyyxzyzyzyyyyzyzyyyyxyyyyyyz{zyyyyzzyyzyz{zyzzyyyxyxyyyzzyzyz{zyyyzyyyzxzz{z{zyzyyyyyyzzzzzzzzyyyzzxyxyyxyzzyyzyzyxyyzz{zyzzzzzyyyyzzyzzz{zzyzyyyzzzzxzzzzz{zzyyyzyyzzzyyzz{zzzzyzyyyyzz{zyyzzzzyyyyzzyzzzz{zzyyzzzzzzyyyz{zzzyzyzyzyyzzzz{zzzzzyyyy{yyzz{zz{zzyyxyzzzzzy{{z{{zyzy{zzz{zzzzzzzzzyyzyyyzzzzz{{{zyyzzzzxzzzzzzy{zyzyzyzyz{zyzzzzxyyyyyxyzyzzzzyyyzyyxyyyzyzzzzzzzxxyxyyyzyyzyzzzzyzyyyxyyyz{yyzzyzxyyyyyyzzxzzzyxzzxyyyzyy{yyxzzyyyyzyyyyzzyyzzyyyzyxyzxyzyyz{yyxyyyyyyyxzyyyzzyzxxzyyyyyyzyzz{yxyyxyyyyyyzzyy{zyzxyyyyyxzzxyzyzxzyyyyyzyyyzz{yyyyyyyyzwyzzyyzzyyyyyyyyzzz{yzzzyzyzzxxyzzzzzzyzzyzzzxyyyyzzzzzz{zyyyyyyyxzyzzzzzzyzyyzyyz{zzzz{zzzzyzyyyzzzzzyzzzzzzzzzzzzzz{{zzyzzzzyzzzzzzzz{zyzyzyyyyz{zz{zzzzyzy{zzyzz{zzy{zzyzyzzzzz{zy{{zzzzz{zzzzz{z{zz{{zyz{zzzzzzz|zz{z{y{zzzyzzzzzz{{{z{yyzzzy{{z{zz{zz{zzy{zyzzyzz{z{zyy{yzzzzzzzzzzzzy{yzyyxyy{zzzyzzzyyyzyzyyzyyz{zyyxyyxyxyzxz{yzzyyyxyyyyzyzzz{{yzyyyyyyzzyzyyzzzyzyyyxxxzyyzyyzzyxyyzyyyyyyzzzyzzyyzzyyyzyzzxyxzyyzyxyxzxyyyyzyzyyyyyyyxy{yyyzyzyyyyxyyxz{zyzzyzyyyyxxyyxxzzzzzzzyyyyyyxyzyyzzzzyyyyzyyyyzxyyzzzzyzzzyyxyzyzyzzzyyzyyxyzzz{zzzzzy{yyxyzz{zyzyzzzyyzzyxzyzzzzzyz{zyzyyxyyxz{zzyzzzyyyzyyyzzyzyyzyzz{zyzzyyzzzyzzyyzyyyzyyzyy{z{z{yyzyyy{z{{z{z{zzzyyzyzxyzzz{zz{z{yzyzyyyz{{{{z{{zzzzyzzz{{z{zzz{zzzzyz{zz|z{{{z{zzzzyyzyy{z{zzz{zzyyzyz{zzz{{y|{{zyz{yyzz{|z{{zzzyyyyzzyzyz{zzzzz{yyyzzyz{yzyyy{yyzxyyzyyz{zxzxzyzxyyyzyyyzyzzyzyyxxxxzyyyy{zyyzyzyyzxxyzyyzzyzzyzyyyxyxzzzzyzzyyzxyyxwyzzzyxyzzxyzxyyyxzyzyzzzzzxzxyyxyzzzyzzzzyxyyyyxxyyyzyyzzxyyyxzyyyyyzy{zzzxxyyxyzzyyxzzzzyyzzyzyxyy{yyzzzyyyyyxzxyyyzyyzzzxxyxxzxyyyyzz{yyyyyyyyxzyyyyzz{zyzyyxyzyzzyyzz{zyzyyxzyzyzzzzzzyyzyzzyyyy{zzy{zyyyyyyyxzzy{z{yyzzyzyzyyzzzzzyzyzyzyyyyyzz{zz{zzyyyzzyyzzyzz{z{zzzzyzy{yzzz{z{zzyzzyyyzzzzz{{{zz{yyzzyyy{|zzz{z{zzyzyzzyzyyzyz{zzzyzyzz{zz{z{{z{zyzz{yzy{y{zz{{{zzyyzzzzz{z{{{zz{yzzzzyzzzy{{zz{yzzyxzy{zzyzzzzzzzz{yzyzzz{zzzzyyyyyyyxzzyyyzyyzzyyyyyyxyzzzzzyyyyxyzyzzyyz{yz{zzyyyzxyzyyyzz{zzyzyzyzyzzzzzyyzzzyyyyxyyzyyyxzy{yyyxyyyyyyzyzyyzzxyxzxyyyyzyzzyyyyzyyyyy{yyzyyyzyyyyyxxyxzzzyyzzyyxxxxxyyzyz{zz{zzzyyyyxyzzzzzzyyzyyxx{xyyzyxyzzyyyyxyyyxyyyzzz{yyyyyzyyyyzzzy{{zzzyxzyzzzyyyzzzzyyzyxyz{yz{y{zzyyyyyyyyzyyzyyzzzyzyzyyxzzyyzy{{yxzyxyzyz{zzzz{yyzyyyyyy{yzzzz{zzyzyyzzxz{zzz{zzyyyyzyzz{{y{{z{{zzyzzxyyzz{z{y{{zyyyyyyzz{{zz{|{zz{zyz{z{zyy{{{zyzzyzzzzz{zz{zz{zyzyzyyzy{zyz{{zz{y{zzyzzyz{zz{{{zzzyzzzzzz{{z{zzzzyzyyxzzzzzz{zyzyyzyyyz{|{zz{zyyyyyzyyzxzyzzzyxxxyyyyxyzzz{yz{yzyyyyyyyyzzyzyzyyzxyxxxyzzyyzzyyyyzyyzxyzz{yy{yyyyxyyyxyzzzyzxyyyyyxzyzxyzy{zzzyyyyyyxyzz{yzz{zxyyxyyxxyyyyyzyzyyzxyxyxzzyxyzzzywyyyxxxyxzxzyyzzyyxxxyyyzyzzzzzyyxxzyxyyyzzzzzyzyyyyyyyyzzzyzzyyyyyxyzyyzyzzzzyzyzyyyzyzzxz{yzyyzyyyz{yzx{{z{{{yzyzyyzyyzzzz{zzyyyyyyzyzyzz{zzzxyyyzzyyyyzzzzzzyyxyzyyyzz{{yyyzzyyyzzzyyzz{{{{yyyzyyyyy{{z{zzzzyyz{zzzyz{{z{z{zzyzyzzyyzzz{z{|zzzy{yzz{{{z{{zz{{yzzyzzzy{{z{zz{{yzzzzyz{{z{zzz{yyzzzyzzyzzz{zzzzzyzzzyzzzzzz{zzzzyzzyzzy|z{{{zzz{zyyyzz{zzzyzzyzyyxyzyyzyzzzzyxzxyxyyyxxyxyyyyyyyyxyyyyzzyyyzyzzyxxyxyyzyzxzz{zxyyyxyxyyyzyzyzzyyyxxyxxyzzzyyyzyxyyyyxxyzyyyzzzyxyyyxxyyyyyyyzyyxyxyxxyzxyyyyyzyyyxxxyyxyyzyxzzxyyxyyxyyzzyyzzzyyzxyyxxxyyyyzzyzxzxyxyyyyyxyxyzyyxxyxxxxzyzzz{zyxzyyyyyyzzzzyzzyyyzyxyyyyyxzyzzyyyyyxyxzzzyyzzzyzyyyxxzzzzzzzzzzyzyyxzxyyyzzzzzzyyyzyyyzy{yyz{zyyyxxyyzzyxyzyzyz{xxzyyy{zzzyzzzzyyzzzyzzzzzyzzzyzyzzzyyzzzyyzzzzyyzzzxyy{zyzzz{yyzzzzzzzzzzzzzzzzyzzyyzzzzy{zzzzyz{yzzzzzyzzzzz{yyzzzyyzzzzz{{zyzyzzyyyzyyzyz{yyzyxzzyyzzyzzzzyzzyyyyxyy{zyyzzyyyyxzyyxyyzyzzyyyyxyzywxyyzzyyyzyyyyyxyxxyzzzzzyyzxxyyyyzy{zzyzyzyyzyzxxzyyzyzyzyyyyyxyxyyyyyzyyyyyzzyxxxzxyyzzyyxzxyzxxxyzxzzyzyyywxyyxyyzyyyzzyyxyyxxyyzyyzzyyxyyzxyyyxzzyzzzyyyyyxyxyzyzzzyyyzyxyyyxxzyyyyzzzzyyxzzyzyzyyyzyyyyyyyyyzyyzyyyzyyyxyxyyzzzzyzyzzyyzzzyzy{zyyzyy{zyyyyyzyyzzzyzyyyyyxyyyyzzz{zzzzyyzyyyyzz{zzzzzyzyzyyyyzzzzyzzyyzzzzyzxyyzzzz{{yzyzzzyzy{zzzy{z{yyzyzyzzy{{z{{{zzyzzyzyyz{zzz{|{{zyzyz{{z{{z{|{{zyzz{{yzz{{zzz{{zyy{zyzyz{yzyzzy{zzzzzzyyz{z{{{{z{yyzzyz{yyzzz{{zzzyzyzzzyzyzzzzzzxyzzzxzzzzzzzzxzzzyyyxyzzzzzyyyyxyyxyyzzyzzyyzzyxyzxxyyzxzzzyzyyyyyyzyyyyyzy{zyyyyzyxyyzzzzyyyyyyyxzyxzzz{xzy{yyzyxyzyyzzyyzzzyzxyyyyyyyzyyzyzyyyzxyzyyyzzzy{zzyyyyyyyyyyzzy{zyzxxxxyxxyzyzyy{xxzyyxyzyzy{yyyyzxxyzxyxxyyyyzyzyyxyyyyyyzzyyzzzyyyyyyxyyyzyzz{zyyyzyyzzyzzz{{zz{yyzyxyyyzzzyzzzyyyzxzzyyz{zzzzyzyyy{zyzyzyzyzy{yyzzyyyyy{{zyzzzzzyzyyyyzzzzyzzzzzzzzzzzzz{zzz{zyzyyzzzzz{z{zzz{yzzzyzyzz{zz{{{z{yzzyyzz{{{z{zzzyzzyyzzzzzz{{{z|zz{yzyzzz{zzzz|{zzzzzyzzzzzyz|z{{zzzzzzz{z{{z{y{{yz{zzzzzzzzz{z{yzzyzzzyz{zzzzzz{zy{yyzyz{z{{yzyzyxyyyyyyzzxyzzzyzyxzyywxzyxzyzyxzzxyyyxzzyzzzzyyxyxyxyyzyyxzzyyzxzxyyyyzyzzyzzyyyzxxxxyzyzxyzyyyyxyxyyyyyyyyy{{yyyxyxyyyyzyyyyyxyyxxyxxyxyyzzyzyzxyxyyxyxyyyyzyyyyxyxwyyyzyyyyyxyyxyxyyyyyyyyzyyyxxxyyxyyzyzzzyyxyxyxzxxzyyyzxzzxyyyyyxyxzzyzzyyyyxxxyzyzzyyzzzyyxyxyxzyzyzyyz{zzyyyyyxzy{yzz{yyyzyzyxxyzzyzzy{zxyzyyyzzzzyy{zyzyzyyzyyxyyzyyyyyyxyzyyzzzzzzzzzyyyzyzyyyy{zzzzzzzyxyxyzz{zzz{zzzyxyzyzyyzzzzz{zzyzyzzyzz{yzzzzzzyzyyzzxyzz{{z{zzzyzyzzyzzyzz{zzzyzyzzzz{yz{zzz{zzyzzzyzxzzz{{{{zzzxyyyyzyyz{{zzzyyyxxzyz{zzyyzzyyyxyyyxyyzzzzyzxyyxxyyxyyzyyyyzzyyyyxyxyyyyyzzzyxxxxzxxzzyyyyyyyyyyxyxyzyyyyzzzyyyyxyxxyxzzyyzzyyyxyzxxz{zyyyyzyyzxyzxyyyyyyyzyyxxxyxyyyyzzzyzzxyzxyyxxyyyyxyzyyyyyyxyyzyyyzy{yyyyywxyxzzyzzyzyxyyyyyxyyzyyyyyyyzxyyyxyyyyzzz{zzyyyzzxxzyyxzzzyyyyzxyzyyyzzzy{{yyzzyzyyzzzzzzy{yzyyxxyyzyyyyz{{zyyxyyyyzzzzyyzyzyyzzyyyyzzyzzzxyzyyxyyyzzyzzzyzzzyyzyyyzzzzzz{zyyzzzyzzzyyzzzz{zyyzzyzzzzzzz{zzzzyyzzzzzzzy{{zzzzzyyz{zy{y{zzzzzzzzzzzyyzzz{zz{zyzyzzzzy{zz{zy{zzyyzzyyzy{z{{{zzzzzzyzzzzzzz{|zyzyyyzyyyzzzyz{{{{yyyzyyzzz{yzzzyzyxxyxyyzzyzyyyyyyxyyyyyzzzzyzzzzxzzxxyzyyzyzzzyyyxyyxxyyyyzzzzzxyzyzyyyyyzyzzzyzyyyyyyyyzyzyyzyzzyzyyzzyyyzzzzyyyxyyxxzz{zyzyzxxyxyzyxyyyzyz{{zyyyyyxyzzzyzzzy{yyyyyyxzyzyzzyyyzzzwyxyyzyyyz{{zyyyyxxxyzyyyzz{{zyxyyyyyyyyy{zzyyzyzyyyzyzzyz{zyzyyyyyyzzzyzzyzyyzzyyyyz{zyy{zzyyzyyyyzyz{zzzzz{yxyyyyyzzyzyyzyzyzxzxzxzzyzzzzzyzyyzyyyzzyzz{z{zyzyyyyzyzzzzz{zyzyzzz{zzzz{z{{|yzzzzzyyzz{zzzyy{zzzzzzzz{zz{{{zzz{yyz{yzz{z{{{{{zzyz{yzz|z{zz{z{y{zy{zyzz{{{{{zzyyzyyzyzzz{{z{{zzzzzxx{z{{{zz{zyzyyzzyyz{zzz{{yzzyzyyzxzz{{zyzzzzyxzyyz{zzy{yyzyyxxyzyxyzyzyyzyyzyxywyxxyzyzyzzzzxxyyzyyzzyzzzzyzzyxxxyyyyzyyyzyyyzyyyyyyzyzyzyxyyyzxyxyxyyyyzyzyyyxxyyzyzyyzyzyxyxzyx{yyxyyyzyyyxyxxxxzzzyyyzyyyzyxyxxxyyzxyzzyyyxyyxyyzyyyyyzzyyyyxyyyzyzxzzzyxxxyxxyzzzyyzzzyyyyyyyyyzzyz{{{yzyyyyxzyzzyyzzzzzyyyzzyyzzzzzzzyxzyxzyzz{zz{{z{zxyyzyzyyzzzyzyzzyzyyyxyy{zzyzyzyzxzyyyzzz{zyy{zzyzzzyyyzzzzzz{zzzyzyyzyzyzzy{zzzyzzzyxyzzzzzy{zzyyzzyzz{zzzzzyzzzzyyzzzz{zzy{zzyyyyyzzzy{zzz{zzzzz{xyzzzz|zz{zzzzyyzzyzzyzzz{{{zzzyzyyz{{z{{zz{zyyyzyyyzzzzyz{zzzyzxzzxxyzzzzy{zyyyyyyyzyz{zzxzxyxyxxyyy{z{zyyyyxxyyyyyyzzzzyzyzyyyyxyxzyzzyz{yyxzyyyyyyz{{yyyyyyyxxyxyyyzzyy{zzzyyxyzyyzyyyzzzzzyyxyxzyyzyyyzzyyzxxyyxyyyyzzyyyyyxxyyxzyyyyyzz{yyyyyxyyzyyzy{zyzyyyxxyyy{zyyzzzyxyyyzyyyyyyzzyzyyxyyxxxzyzz{zyyyzxyywyzzyzyzzyyyyzzyxxzzyzzzyzzxyyyyyyyzzyyyz{yxyyyyzy{zzyyyzzzzzyyyyyzzyzz{zyzx{xyyyyyzzyyyzyyyxzxzzy{x{zyzzz{zyyyyzyzz{{zzy{yyyzyyzzzzz{z{z{{zyyzyzzz{zyzzzz{zyzyyyy{{{z{yz{zyyyzzyyzzz{{{{z{zyyzzzzz{{{z{{zyzzzyyyzz{{zz{{zz{yyzyzzzz{z{z{{zzzyyzzzz{zyzz{{zyyyyyyyzzyzyz{{{yyxyyyy{{z{zzzzyzzyxzyxzzzyzyzyxyyxxxyyzzyyyz{{yyzxyyyyzyzy{zyzyyyxxyyzzyyyzyzzzyyyyxyyzyzzzyzzzyxxyyxyxyyyyzzzyyyyxxyxyzzyyzzyyyxyzyxyzyxyyzyzxyyyxyxyyyxyyyzyxxyxxxyyxzyyyzyyyxyyxyxyyyyyyyy{zxxxxxyyyyzzzxzzzxxyyxxxyyxyyyzzxyxxyzxzxzyyyzyyyyyyxyyyyzzyy{zzyxxyzxyyyyzzzyzzyyyzzxxyyzyyyzyzzyzzxyxyzzzzzyz{zxzzzyyyyzzzyzzzzzyyyyyyzzzzyy{zyxzyyyyyzz{yxzyzyzxyyyyyyyzzzzzyyzyxzzzzzzyzz{z{{zxyyyzxzzzzz{zz{zzzyyyzzzzyzz{{zy{zyzzyzz{zzzzz{y{zyyyzz{{{zyz{{zzyyy{zzzzzz{zzzyyy{zy|zzz{zz{zzzyyyzxzyyzzz{{z{zzy{yzyy{zz{z{zzyyyzyzzzyzzyzzzzyyyyyyyzyzzzzzyyxxyyxyyyzzzyyzyyyxxywyyyyyyzyyzzzxxyyzxzzxyz{yyyyyxxyyyyzzyxzyyyzyywyyxxzzyyzyyzxzyxyxxyyzxyzyyywyxyxyzyzyyxyxyyyyxyxyxxyyzzyzyxxxyxxxxyzyyyzyyyyyyyzxyxyyzzzyyyyyyxyxyyyxyyyy{yyyxyyxxyyyyyyzyyyxxxzxxxxxyxyzzyxyyxyxyyyyzyzyxzyxyyxxyyyyzyyzzzyyzxyyyzyzyyzzzyyzyxyxyzzyzzzyyyxyyyyxyyzzyzzyzyzyyyyxzzzzzy{zzzyyzyxyyyzzyzy{zzyzyyxzzyyzyyyz{yzyyyyzzyyzz{z{zzyyxyyyyzy{zz{zzzyzyyyyy{{z{z{{{zzzyzyzyzzyzzzzz{yzyyzyyz{{zzz{zzyzzyzyyzzzz{zzzzzzzy{zzzzyyz{{{yzyyzyzzzz{zzzzzzzyxyyxzzzzyz{y{zzyzyyyyyyyzzyyyyzzyyyyyyyzyyzyyyxxzyxxxxyyyzyzyyyxyyyyyyzyzxy{zxxxyyzzyzxzzzyzzyxzyyxwxyyyyyyxzyyyxywxxzxyzzzyzxyyxyyxyxyzyxzzzyxxzyyyyyyzxxzzzxyyxyxyxyzzyyyzyyyxyxxywyyzzyzyyyyxyyyxyyyzyzy{zyyxxxyyyzyyyyxzzyxyyyxyyxyyyyzyyyyxyxyxyyzxzyzzzxyzxyyyxzzyyyyzzyzyyyyzxyzzyyzzzyxyxyxzz{zyxyyzzyxyyyzyxzy{zyz{zyyyxyyyyxzzzyz{yyyyzzzyxzyzyyyzyzyyyzyyyyyyzzz{zyxyyzzyyzy{zzz{yzzyyzy{zyzzzz{z{yzyzyxyyz|zzzzzzzyyzyyzyzzz{zz{{zzyzzyyz{{xzzz{{zzzyzyzzz{zzzz{zzzy{yyyzzz{z{zzzzzyyzyyyzzyzzz{{z{zyxyyyzzzz{z{zzyyx{zzyyz{z{{{zzyyyyyyxyzzzzyzyzyyyzxyy{yzzzyyyyxxxyyyzyyzyyzzyyzxyyyyyyyyyyzzzyxyyyzyxyzxyyyzzxyy{yyxyyyzyxz{zyzyxyyxxyyzyyzzyyyzyyzyxyzzyyzzzzyyyxyxyyy{xyxzzxyyyzxyyxzyzzzyyyyyxyyyyyzxyyyyzyyyyxyxyxzyy{zyyzyyxxyxyxzyyzzyyyzyxyyyyxyyyyyyzyyyxyxyyyyyzz{yzyzxwyyyxyyzyyyzzyzzyyyyyyzzzyzzzyzzyyyyxzzzzyzzyyyyzyxyyyzzyzzzyyzzyzxyxyyyz{yyzyzyyyyyzz{yzzyzyyzzyzyyzzzzzyzyyyyyyyy{yyzz{z{|yzyzyyzzzzzyzz{{|zyyzyyyyz{zzyzzzzyyzzyyzz{yz{{{zyzzyzzyy{{zzzz{zzzzzyyyzy{{z{{{{zzzzzyyyz{{yz{{{zzzyyyzzy{z{zz{zzyzyzzyyzzy{{{yzyzyyyyzyzzz{yzz{yzxyzzzyyzz{zzzzyyzyyxzyyzzyzzyzxxyzxyxyyzyyzyzzyxxyywxyyyzzzzzxzxyyyyzyyyyyzzyzxyyyyyxyyyzzy{{zyzyyxxyyyyzz{yzzxyyyyywyxyzzyzzyyyyyyxxxzyyyyyzyxxzxxyxyyyzzyyyzyxyxyyxxyyyyzxzyzyyyyzwzyzzyzzyyyyyxyxyyx{xzyxyyyxyyyxxxwyyyzzzyyzyyxyyyyzzyyzyzxzyyyyxxyzyyyyzzzyyyzyyyyyzzzyzzyyyyyyyyzzzyyzzzyyyyyzyyzyyzzyzzz{yyyyyxxyzyzz{zyxyyyyy{zzz{yzzzzzyxyyyz{yzyy{{yzyyzzyzyy{yzzz{zyyyyzyzyz{zzzz{{yyyzyyyyyzzyz{{zzzyz{yyyz|{zz{{zyyyyyyyyzzy{zz{{zyyyyyzyy{zz{{{zzy{zyyzzyy{{z{z{zyyyzyyyz{zzzz{yzzxz{yyyzyy{z{|zzzzyzyzyzzzx{z{zzyyyyyyyyzyyzyzyzxyyzyyyyzyzzzzyzxyyyxxxyyyzyyyyxyywxyzxzzzyyzzzyyyxyyxxzyzyzyzzyyyyxyyxyyz{yyz{zzzyxyyxyy{zyzzzy{xxzyyyyyzzzyzzyyyyywyyzyzyzzzyyyxyxyyyyyyzyzyyyxyxyyyxyyyyxyyyzyyyxywxzyyyxzyzxzyyxzzxxzz{zyzyyxyz{yyyyyzzzyyyyyxyxyyyyzxzy{yzyyyyyxyxyzzyyzzyzxyxyyyyyz{zzyzzyxyyyyyyzyzzyzzzyyzyzxyyzzzyzzzyyyzyyyyyyzz{z{zzyyyyzyxyyyyzzzzzyzyzyyyz{zz{zzy{yyzzzzyyzz{{{{zzzyxyyzzyz{z{zz{|zzz{zyxyzz{zzz{zzyyyzyzyzzzz{zzzzzzyyyzzy{zzz{z{{xyzzzzyz{{zyz|{zzz{zyz{{{zzz{zz{yzyzyyyyzz{zz{{zyzzyzyzzyz{z{{{zzyyyzyyy{zzyzz{zzyyyyyzzyz{y{yzyyyzyyyyz{{zyzzyxyyyzxyyyyyyzyyzyyzzyyyyyzyyzz{zzyyyyyyyzzzzzzzzzyxyyxyyyyzyzyyzyxyyxxyxzzzyzyzyyyyxyyywy{xyxzzyzyyxyyxxyyzyyzyyyyyxzyxyyyyzyzzyyxywyyxyyzyyzyzxzyyyxyyyyzzyzzyyzyzyyxyyyyxzy{zyxxyxyxyxxzzyyyyzyyyyxyyyxyzzyzzyyxxyyzzyzzyzyxzzyyyyzyyzyzzzzzzzyzyyyyyzzzyzyzyzyzyyyyxxyzyzzyy{zyzyyyzyxzyz{xzzzyyxyzxyzzz{yzzyzyzzyzzyzzzzyzzzzxzyyzzzzz{z{{{zyyzyzzzz{yyzz{{{yzzyyyyyzzz{z{zzzyzzyzzyy{zz{zzzz{zyy{zzzzzzzzzz{yzzzyzyz{zy{zz{zzz{zyyzzzyz{y{yzyy{zzyz{{yz{zyz{zzzzyz{zzy{zz{z{zyyyyyzyzzzzzzzzzyyxzzyzzzzzzzyyyyyzxyxzyyzyxyzzyyyyxzxzyzzzz{zzyyyxxyyyyzzyzz{yzxxxyyyzyzxzzzzzyyyzxxxyyyzyyzyzxyxyxyxyyyyyzzzyyyx{yyxyyzyyy{zzxzyxxxyzzzyzzzzxyyyyyxyyyxyyzyzyyyzyyxyyzyxzz{xyyyxxyyxzzzzy{zyxxyyxyyxyyzzzzzzyyxyyxyxyzyyyzyyyyxyxyyyxzyyyzzzzyyyxyyxyzyzz{zzzyyzyyyyyzyyyzz{zzzxyyyx{zzzyzzzyzyzzyzyz{y{yzzyzyyyzyyyzyzzyzy{yyyyzyxyz{{zyzzyzyyyyzyz{zyyzzzzzzyzyzzyyzz{z{zzyzzzzyyzxzy{y{{z|yyyyzzzzyzzzz{z{xzzzzzzz{zzz{{{zzzzyzzzz{{zz{zz{zzzzyy{yzzzz{{{{zzyzzyyzyzzzzzzzyxy{zxzy{{z{{z{zzzzyzzzzzzzzz{{yyzyyyyzzzzzzz{zzzzzyyyyz{zzzzy{zyzxyxzzzyzzyzzxxyyyyyyxyyzzzyxyyxyzyyxyzzyzyz{yyxyxyyzyzzyyz{zyyyyzyxyyzyyzyzyzxyyyxyyxyzxzzzzyxxyzyyyyyzzyy{zyyyxyyzyyz{yxzyzzyyyyyyxzzyyzyy{zyxyyxyxyyyzyyyzyyyyyxyyxyyzzyyzyzyzyyyyzyzzzyzzyyxyyyxzzyyyyzyzzzyyxyyyyy{yzzy{zyyyyyzyyzyzzyzzzyyyyyyyxzyyyyzzzyz{yyxyyzyzzz{{zzyyyyyzyzzyy{z{zyyyzzyyyxzyzzzzyyxxyzyxyyz{{yzzyzzyzzyyyzy{zzyzzzyzyyzyyzz{zz{zzzzzyzyyy{yz{yzzzzyyz{{zzz{zz{z{zzyzzz{zy{zzzz{{{zyzzzzzzzzzz{z{{{zzzzzyzzz{{{z{zyyyzzyzz{zyzz{{{zyzyzyzzzzz{z{zzzzyyzzzz{zz{zz{{yyzy{yzyzz{z{{{zzzzzyzzy{yzzyzz{zyyyzyzyzzzyzyyyyyxxxxyxyyyyzyzyzzyyyxxxyxzyzzzzzzxxyxxxzyyzz{zyzxyyxyyxyyzyyyyzyyxxxxxxyyyyzzxzxxzxxyyxzyyyyzyyyyyyzxyxyzyyyxyyyyyyxyxxxxyyyyzyzyxxyxyxxyyzzyzxzyyxxxxyyyzzzyzzzy{yxyyxyzzzxyyyyyyyyxyxyyyyyzyyzxyxyxxyyzxyyyyzyyyyyxzxyxyyyzyyyzyxxyyyyzzzzzzzxyzyyyyy{yzyzyzzyyyyyyyyzzyzz{yzyyzyyxxyyyzzyzzyxyzyyxyyzz{zz{zzzxyyzxyyy{yyzzzzyyyyyyyyyxzzzzzzyyyy{yzzzzyzz{zzzzyzyyyzzz{zzzzzzxyyzyzzzzzzz{z{yzyzyzzzyzzxz{zyyzyzyyyyzzyyzz{zzzzzyyyyz{{zzzz{{yyyyzyzyyyzzzz{yzyyyzyy{zzz{yz{zyyxyxyyz{zzzzzyzxxyxyzxxzzzyyzyyyyxxxxyzyyzzyyyyyyyyyyyyyyyzyzyyyyyyyzyy{yzyyyzxyzyxyyxyzyzyyzzzwyxxyyyzzyxyy{yxyyxyxxxzyzyyyz{yyyxxx{xyyzzyyzyyyyxyyyyyzyyyyzyyyyxxyxyyyzyyzyyxyxwzyyyyzyyzzyyyyyxyyxyyyzyzyzyyyxyxyxyyzyzxyzyyxxxxxxyxyyxyzzzyyyxxxyzzyzyyzzxyzyyyyyxzyzy{zzzxyxyyzyyyyzzxzyyyyxzxxzyyyyyyyz{yyxyyxxxzyzyzz{zzyyy{xyyyzzzyzzzyxyyyyxyyzzyzyzzyyyzzyyyzz{yyzzyzyzyyyyzzzzzzzz{yxzyyyzzzzz{zz{{yzyyyyyyzzz{zz{yzyyyyxzzz{yy{y{{zz{zzzzyzz{zz{{z|zzzzyz{y{{y{|zzzzzzyzzy{zz{zzzzzyyyzzzyzyz{y{z{{zyzyzzzzzzzyzz{yyyyyzzzzzyzyz{zzyzyyxzyy{yyzzzzyyyyxxyyyy{zyzyzxwxyxyxxyxyyyyyyyyzzxwyxyzzzyzzzyzyxxyyzyyyyyzzzyxyzzxzzzyzzxyyyzyyxxyyxzzyyyyxzyyyyyxyxz{yyyzzyxxyyyyxyyyzyyzyyyxyxyyyxzyyzyyzzxyyyxyyxzyyyyyzyyxyyxxxyzyyzzyzyyyyyyzyyyyxyzyyyyzxxyyyxyzyzyzzxzzyyyyyyyyyyyzyzyzzyxyyyzzyzzzzzyyyyyxzyyzzzxzzzywyyxyxyzyyyyzzzyyyyyxyy{yzyyzyyyxzyyxyyyzzyyzyzyyzxyyyyyz{yyzzzyyyzyyyyyzzyyzy{zyzyzzyzyzzz{z{zzzyzzyzyzzz{zz{zyyzzyzzyzzzzzzz{{yxyyyzy{zzy{{{{yyzyy|yzzzzzzz{z{yyyzzyzzzzzzzzzzyyzyyzzzzzzzzz{zzyzzzyzyyz{zz{yzzyzzyyy{zz{zzzzyzyyyyxxz{yzyyz{zyyyyyz{zzz{zzzzzyyyyxzyzzyyzyyyyxyyyyxxzzzzyyzzzyxyzyxyzzzyz{y|zxyzyxyyzyxyy{zzzyyyyxxyzyzzyyzzzyyxxyyyzyyy{zyzzzyyzxxyyzyzyxzxyyyyyzyzyyzyzyzzyxzxyyxyyyyyyxyzyyxyxxyzyyyzyzzzzyyyyyxzyzyx{yzyyzxzwxxxzzzyyyzzyyyyzxyzxyzzzyzzyxyxxyyyxzyyy{zzyyyzyyxyyzyzzzzzzyzyzxyyzyxzzy{zzzzzyyyyyzyzyzyzzyzyyyyxyzz{yzyzyyxzyyyyyyz{zzzzyyyxyyyyyzzyzzzyyzyzxyzzz{zzyyyyzyzyyzyyzyzzzzzzyzyzyyzyyz{{y{yzzyyyyyyzz{zzyzz{zyyzyzzzz{{zzz{zyyyyzzz{zzzyz{z{zyzyyyzzyzz{{{{z{zzzyzyy{zyzz{{zzyzzyyyyzy{{zzz{zzzzzyzzzyz{zz{{zyzyxzyxyzzzyzzzzzyyzyyyzzz{yzyyzyyyzyzyzyzzzzyyxyyxxyxyyzyyy{zzyyxyyyyyxyyzyyyzxyyyyyyyyxyyyyyzyxyxxyyy{zyzyzz{yyyxxyxxxzyzxzyzzyyyyxyxyyyyyzyyyyyxyyywyzyyyyyyzxyxxxwxzxxxzyyyxyxyxxyyyyyxxyxyyxxxxxyyxyyxzzyxxyyxxyxyyzyyyzyzyxyxyxxwyyyyyyyyx{yyyyxyyyyyyyzzyyzxyyyyyyyyzzzzyyyxyyxyyzyyzzzzxxxxyxxzzzyzzzyyyxyyyxxyyzyyzzzzzyzyyxzyxyyyyyzyyyyyyyxxyzzzyyyzzxzyzyyxyyzzzzz{yyxyzyzyyzzzy{yzyyxyyzyxyzzzzzz{{yyyyyzxyz{z{|zz{yyyzyzyyzyzzz{zzyyzzyyyzzzyzz{zzzyzyyzyzz{zzzy{zyzzyyzz{z{zz{{zzxzyyxyzyzyyzzzy{yyzyyyyzzz{zzy{yyyxyxyyzz{z{zzzzyyxxyyyzzzzzzzzzyyyxyyyyzzyyyyyyyyxxxyyyyzyyzzzxzxyxyyzyyzyyyzzyyxxyyyyzzzy{zzyyzyyxxyxyyzzyzyyyyyxxxyxzzyyyzxzxyyyyyyxyzyyx{zzzxyxyyyyxyzyyzyyxxxxxyyyyyyzyxxzxxyyyyxxyyzyyyzyyyyxxwxyyxzzzyzzyyxwyyyxzy{zzzzyxxyxyxxxyzyyxyzyyxyxxxxyyyyyy{yyyxyyyyyxyzyxzyzzzxyyyxzxzyyyyzyzyzzzyxyxzyyzzzy{yyyyyxyyxzzyyzyyyyyyyxyyzy{zzzyzyyzyzyzyyzzyyzzyyyyxyzyyzzzzzzzyzyzyyyzyyzyzzzzzzyyzzzzyzzzzzzz{zzyzyyyyyyz{y{zzzyyxyzyzzzyz|z{zyyyyyzzzzzz{{zyzyyzz{zz{zz{zzz{{{yzzzyyz{zzzy{z{zyzyzyyyyzzzzzzzxyyz{zyyzz{y{z{{zyzyzzyyyzyzyzzzyyyyyyyyxzz{yzzzzyyyzyxzzzzyzzyyxyxyxxxxyyyzzyx{zxyyxxxyxyyzyyz{yyyyxzyxzzyyy{yzyyyyxyyxyyzzyzzzyyyxxxzyyyyzxzyyzxyxyyzyyyxyyzzyzxzwyyxyyyzxyzzyyyxyxyyxyyxyzzyzxwyxxyyxyyyzyzyyzxyzyyxyyxzyyyyyyyyyxxyxyzyzyyzyxyxyyxyyyxyyyyzzxyyyyxzxyzyzyzzzyyyyyyyxzyzyyyzzyxyyyyyzy{zzyzzzyyyyyyzyzzyz{yzzyzzyyyxyyzyzzzyzyyyyyxyzzyyz{zzzzyyyyyxyzzzzyyzzyyxzyzyzz{zzzzzzzxyyyzxzz{zz{zyzzzzyyyzzyzzzzzyzyyyyyzyzyz{z{{zzzyzzzyyyy{z{z{{zyzyzyzzz{{zzzzz{{yyzxz{yz{z{z{zzzyyzyyyzzzz{{zz{zxyzyxxzz{zzzyzyyyyyyyzyzz{zz{zzzzyyzzyzzzzzzzzzzzzyyzyxzzy|yzzzyyyyyyyyyxzxzzyzywyyyxywyzyyyyzzyxyyyyxyzyyyyzzzyyxxxyzyyxyz{zzzzyxyxzyyyyzzyyyzyyxxyyzyyyzzyyxzxyzyzyyyzzzyyyyyyzyxyxxyxxzzyyyzyxyxxyyxyyzzyzzyyxyxxyyyyyyzzzyzyyyxyyyyxyzyzyyzyxzyyxxwyyyzyzzzyyyxyxyxxyzyxzzxyxyxyxyxyyyyyyyyzxzyyyywyyzzzzzyzyxzyyyyyyzyyyzzyzyyywzyyyyzzzyzzzyxyyyyz{zyzzzzyyzyzyyxyyy{zyzyyyyzyzxyyzzzyzzyyyyyzyxzzzyyzzzyyyyxzzyzzz{zzzyzyzyzzyzyyzyzzz{{zyzzzzyzyzzzzzzzzyzyzyzyz{yy{zzzzzzyyzyzy{yzzzzzzyzzzzyyz{zzz{z{{yzyyyyy{zzzzz{{zyyzyyzz{zyzzyzzzzyyzyyy{yz{{z{{{yyzyyxzzyzzz{{z{zyxyzyyyy{zzzzzzyuxyyzxyzyzyzzzyyyyyyxxyzyzyyy{xyzyyyyyyyyyyyyyyxyxyyyyyz{yzzzzzyyxyxyyxzz{yyzzzyyxxxzxzyzzxyzyxxyzxyxyyyzxyyzyyzyxxyyxyyyyxyzyzzyzxzzyyyzzyzzzzwyxxyyyyzzzyyzzyyxyxxxxyyyyzzzyyyyyyxywyzyyxyzzzyyyxyyyyzyzyyyyzyyxyyzyyzzzxzzzyxyyyyyzyyyz{yzzzyzyyyyz{zzzyyzyyxyzyyzyzyyzyzzzyyyzyyzzyz{z{zzy{xyyyxyyz{zzzyyzyyyyyyzyxzzzyzzzyyyyyzyyyzyzzzzyyxzzzzyy{zzz{zy{yzyzzyzzzzz{zy{{zzzzzxyyyz{{y{zzzyyz{yyyz{yzzz{zzz{{yzzzy{z{z{zzzzyyyzzyy|zzzz{z{yyzzyyz{z{zy{{{yyyyzzyyyzzzzzzzzyzyzzyzzzyzzy{{yzxzzyyyzyzyzzzz{zzyyzzyyzz{zz{zyzzyxyyyzyzzyxyxyyyxyyyyyzyzy{yzxyxyyyzyyzyzzyzzzzzyyyyyzzzyzzzzzyyyyyyyyzzzyzzyzzxyxyxyzyyy{zzzyxyyyyyxyyzyxzzzyyxyyyyxyzzyxzzxxyyyxyyyyyyxzzzzxxxxyxyxzzyzyy{zzyxxxyyyyzyyyyzzxyyxyxyxyyyzzyz{yxxxyxywyzyyzyzzyyxyzyyxyyyyzzyzzyyyyyyyyyy{zz{yyyyzyyyyyzzzzyz{yxzyzyyxzyzyyz{zyyzyzxyzzzyzzzzyzzyyyyzyy{zzyyzzzyyyyyyyzzzzzzzzyzzzzyyxzzyyzyz{zyyzyyyzzzzzzz{zyzyyzyzyz{zzz{{{zzzzzyxyzzyzzzzzzyzz{{zz{{{zz|z{zzz{yyz{y{yzyzzzyzyzzzzzzzy{z{{{zzzzxy{z|zz{zz{zzzyzzyxzyzz{zzz{zzyyzzzyzzz{zz{{yz{yyzyyzzzz{z{{{zzzxyzyzzzyzzyzyyzyyyyyzy{zyyyzxyyyxyxxyzxzzyz{yxyyzyyxzy{yyzz{yyxxxyyx{yzyyyzzyyyyzyyxzzzzzzzzyyyxxyyyyyyzyzz{yyyyyxxwx{zyyzzzzyyxyyxxyzzxyyyzyzzxyyyyzxzyy{zyyxyyyyzyyyyyyzzyxxxyyywyzyzz{y{yyyxywyxyyzyzyxz{yyyyyyyxyyxzyzyyyyyyyyxxxzyyzy{{zyyyyyxxyzxzyxzzyyzyyyxyyzzzzzz{zxyxxxyyzyyyyyyzyyzyzyyyyyzzzzyzyyxzyyzyy{zzy{zzzyyxyyyyyzzyyzzzzyyyyzzy{zzyyzyzxyxyyzyzyzz{z{zzzyyzy{yyzzy{z{{{zyyzyyyy{y{zz{zzzyyzyxzzz{zy{z{{yzzyzzzzyzz{{{{|{yzzyyxzz{{{zz|{{zzyyzzz{z{z{zzyzzzyyzyz{z{{{z{zzzzzzyyzzzzzzzz{yyyyzyyzyzzz{zzzzzyyyxyxzyz{zyzyyyyzyxyxzzzyyyxyyyyxxxzxzyzyyyzyyyyyyxyyzzyzyzzzyyxyyxyxzyyzyyzzyyzzyyyyyzzzxyzyyyyxxxyyzyyyyyzyyxyyxyxxzyxzyzyyyyxyxxxyyyyxyyyyyyyyyyyyyzzzzyyxzyxxxyyyxyyzzz{yyyyxxyxyxyzyzyyyxyxyxyxyxyyzzzzxzyzxyyxxyzyzxyzyyyyxyyyyyyyyzyzzyxyyxyyxyzxzzyyzzyyyzxyyyzzzyzzzywzyxyzyzyzzzyzzyzzzyyyy{zzyzzzzyyyzyxyyy{zyyzzzyyyyyyxxzz|zzz{zyyxzyyzzzyyyyzyyzyzxzyyzzzzzyzzyyzzzzy{zyzyzz{zzzyyzyyyyz{zz{{yzzyyyyyzy|zzz{z{zyyyyyyzyzzyzzz{z{yyyzzzz{zzzzz{y{zzzzyzzzyzzz{z{zyyz{yyzzzzzy{{{zzzyzyyyzzyzz{zzyyzzyzyzyzzzzzzzzyzyyyyyy{z{zy{yyyyyyxyxyyzyyzxyxyyyxyywwzyzzywzyxyzxyyyzyzzzz{{yyxxyyyyyzxyyyzyyyzxxxyzyyyzyzzzzyyyxyyxyyzyyyyzxyyyyxxyyyxyyzzyxyxxyxxxzyzyyyzyxxxxyyyxyzxyxyzzxxyxyyxxyzyxyzyyyxyyyxyyyxyyyzyyyzyxxxxxyyyyxyxzxxxyxyyyyxyyxxzzzyyxxxyyyzxzzzzyyyyyyyxyxyxzyyyyyxyyyxyyzzzzzzzzyyyyyy{yxyyyyyzyyyzyyxzxyzyzzzzyxxyyyzyxyyzzzzzzzyxyyyyxzzy{zz{zyxyyyyyyzzyyyzzzzyzyyyyyxzzzzyzzzzyyzzyz{{yyyzz|zxzyyyyyyzzzz{zyyxyyyzyy{zz{{y{zyyzyyyyzzz{yyzzz{yyyzyzyy{zzzzzzzxzyyyyyyz{zz{zzzyzyzyy{zzyz{{{zzyyyyyxzyzzz{{z{yzyyzzzzzyzzyz{{yyyyyzyxyyyyzzyyzzyyyyxyyyyzyzxyxyyxxyyxyyzyyyzxwyxxyxyxzyzzzyyzyxyxxyxyzyyyyyzyzyxyyyxyyyzyyyyzyyyyyyyxzzy{yyzzxxyyxyyyxyxyyyyzyxxyxxxxyzyzyyzyyyxxxxxyyyyyyzzyyxxxxyyxyxyyyyyzyzyyxzxyyyyxyyyzyyyyxyyxyxxyyyyzzxxyyxxyyyxxzzy{xyxyyyxyyzyyyzyyyxyyyyyxyyyzzyzyyxyxyyzyzzyxyzyyyyyxyyyxyxyxyzz{yyyyzyxyyyzyzzyyyyyyzxyyxzyy{{zzxxzzyxxyzyzyyyzzzyyzyyyyzyyyyzzyzyzyzyyyyyz{zzzzyzyxyzz{zzy{yzzzyyyyzyxzyzzzzzzyzyzzyyxyzzyyzyzzzyyzyzyz{yzzzzzzzyyzyyyzxz{zzyzzzyyzzy{yzzyz{{zzzyyzzzxzyzzzz{zzzyyzyzyyzzz{z{zzyyzyyyzzy{{yyzzzzyyyyyzyzzzzzz{yyyzyyyyyzxzzzxzyyxyxyxxxyzyyzyyzyxyyxxxyyzyzzzyzyxyyyyxxyyxyzzyyzxyxxyxyyyyzyzyzyyyxxyxyxyyyyyyyxxxxxyzxyxyyyyzxzyyxxyxxyyyyzzxyyyyyyyxxyzxyxxyzyyxyyxyyyyzyyyyyyyyxxxxzxzyxyyyzyxzxxyxxyyyxyzyzyyxxyyyxxyxxzxzyyxyxyxxyyyyzyyzzxyxyxyyyyyzzyzz{zyyyxxyxyzzzyy{zxyyyzyyyyyzyyzzzxzxyyyywyzyzzyzzzyyyyxzzzyyyzzyxyyyxyyxyxzzyzyzzyxyzyyyyzzzzxzyyyyyyxzyzyyzzz{zzzzzyzyy{zzyzzyzzyzyyzyyyzy{yy{yyzxyzzzzyz{{yzz{zzyzzyzzyy{zyzzyyzzzyyzyyz{{zz{z{zyyzyyzyy{z{zz{{yyyyzyyzzz{zzzzzyzzyzzyyzzyzzyyzzzzyyzzyyyyzyzzzyyzyxyyyzzzzzz{zyyyyxyyxy{yzzyyywyxyxyyxyyzyzyzyyyxzxxyyyyyyxyyzyyzyxzyyyyy{zyzzzyzxyxyxzyyyyyxzyyyyxxyyzyzyzzzzyxyxyyyyyyzxyyyyyxyyyyyyzyzyyyzyyyyyyyyxyzzzzzzyxxxxyyyxyyzzyyzyzyyyxyyyyyzy{zyzyxyxxyxwyyyzyyyyyyyyzyxxyzzyyyzyxzxxyxyyyyyyzyzzyxyyxzxyyyxzzz{zyxyyyxyyzyyxyzyyyxyyxxxyzyzyxx{zyzxyxyxyz{z{{yyzyyyyzyyyyyyyz{zyyzyyyyyyzzyyzz{zyyy{zyxyzzyyzzyz{yzzyyyzyzy|{zz{yzyzyyzz{yzzzzzzzzzzyyxzyzzz{{{z{yzyzyyzyzzz{y{zyyzzy{zzy{yy{z{z{xzzzzzzzz{{{z{z{zzzzyyzzzzzzzyz{yzyyzzzz{yyyz{z{yzy{zyyy{yzy{z{zzyyzyyzy{zyzz{z{yzyzyyyy{zzy{zzzyyxyzyyzzzzzzyzyxyxxxyxxzzxyyyzzyyyyxxxyzzyzzzyyxxyxyxxyxyz{zzzyyyyzxyxzyyzyyzyyzxxxyyxyyyzyyy{xyzyyyyxxyzxyyzyyyyyzyyzzyyzyzzzyxxwxxyyyyzyzzzyxyxxyyyxyzyzyzzyyyxyyyxzzzyyyzyyyyyzxzyyyyyyyz{|yyzxxxyxzyzxyyyzyxyxyxxyxyyyzzyyzyyyxxyxyzyxzyyyzyyxxxxyz{yzzzyzyyyyyyzyzzxyyyzzyzyyyxyzyyzzyyzzyxyyyxyyxzyyzzx{yxyyyyxyyzzyzzzzzyyzyzxyzzzzy|zyyyzzzzyyzz{z{zyzyyyzzyyyzyzzzz{{{yyxyyyyy{zzzzz{{zzzzzyy{zy{{zz{{yzzzyyzzzzzz{{z{zyzyzyxzz{{z{{zyyz{yzyy{z{zzz{{{yzyyyyzzzz{{{{zzyyzzzzz{{zzzzz{zyzyzzyyzzzzzzz{zzyzyyyyz{yzzyzyyyyxyyyyyy{zzyzyyyyxyxxyyzzyzy{zyyxyyxxyyyzzyyzzyyyyyyyyzyyyzzzzyxxxyyxyyyzzyyzyyyxxyxxyyyxzyyyzzwxyyyxxyzyyyyyyyxxyyyyyyyzyyzyzyyxyyyyyyzyzyzzzxxyyxxxxyzzyyyyyyyxyyxxyyyyy{zzyzxzyxyxxyyzyzyzxzyxxyyyyyyxzyyyyzyyyzxxxxzzyyyzzyyxxyyzyzyzyyzz{zxyzxyyyzyyyyyxyyyyzyxzxyzyzyyzzzyzyyyyzzzzzyzzzyxyzyxzxyyyyzzyyzyyyyzyyyzyzyzzzyyzxyxyzzyzzy{yzzzyzyzyxzzzzz{zyyyzzzyzy{{zzzzzzxyzzyyzyzzzz{z{zzzyyzzyyzzzzz{{zzyzyyzyzzz{zz{z{zyzyyzyzz|zzzzz{zyzzyyyz{zz{zzz{zyzzzzzyzzzyzzz{zyzzzyzy{yz{{zyzzyyyzyyzzyzzzz{zzzyzyzxxyzzzzyyyyzyzyxxyyzzzzyzyyxyyzxyxzzyyzyzyyxxyyxyyzxzyyzzyxzyxyyyyyyyy{y{xzyxzwyyzyyzyyyzzzxxyywxxyyyzzyzzyzyyyyyxyzzyyyyyzzzyxxxyzzzxxyyzyzxyxyyyyyxyzzyzxyyyzyzyyyzxxyzyzyxyyyxxyyzyzzzyxxyxwxxyxzyyyyyyyyxzxyxxzzzyzzyzyyyxxxxxyyyyzzzzyyyyyzyxyyzyyyz{yzxxyyyyzyyzyyzzyyyzyxyyyzyyyyzyxyyyxyyyzzzzyz{zyzzzyxyxyzzzzyzyzyzyyzxyyzzzzz{yyzyyyzyyyz{{zyz{zyyzzxzzyzzz{{zzyyy{yyzyzzy{zz{{zzyyzyyyz{zyzzzz{xyyyzzy{zzzzz{zyzzzy{{y{yzz{z{{{zzzzzyzz{{{zz{{{zzzyzyz{zz{zyzzzyyzzyzzzzzzz{{yyyyzzzyzzzz{zzzzzyzyyzyzzyyzyy{zzxyyyyyyzzzzzzz{yyyzxxzyzzzyzyxyzyyxyxxyyzyyzzzzyyyyyxxxyyyyyzzyyyyyxxwxyzyyzyzzyyyyyxxxyyzzyyyyyyyxyyyxxxxyyzzyyyzxxxxxyyyzyz|xyxyxyxyyzyzzyzzzxzzxyyxxyyyyzzzzxxyyyxxyyyyzzyzzxxyxyyxxxyyyyyzzyxxxxxyxxxyzzzzyyxxxxyyxxyyyyzyyyzyxyyyxxzyyyz{zyxyzzyzyyyzyyyzyyyyyyyyyyyyxzzz{yyyzyyzyzyzzyzzzyyzxyyxxzyzyzzzzyzyzyzyyzzyzyzzzzyyxyxyxzzzzyyzzzyxyyzyyz{zyzzzyyyyyyzyzzy{{zzz{zzzyxx{yzz{zy{zzyxyyyyyyz{y{{yzzzyzy{yzzzzy{z{{{yyyzzzzzyyzzzy{zzyzyyyzzzz{zz{z{zyzzyzzz{zzzz{{zzyzzzyyzzzzz{yz{z{zyzyyzzz{zzzy{zzzyzyyzzzyzzz{{zzyxyyxyyzyzzyzzyzyxzxyxyzzyyyyyyxyxyxyyyz{zyzyxxyxxyyyxyyyyyzzzyyxxxyyxzxyyzzzyxxxyxyyyzyyyxyyyyxyxwxzxzyyyzyyyyxyyyyxyyyxyyyyzzyyxyxywxzzyxyzyzxxxxyxyxyyyyxyyxxxxyyxyxyyzyyzyyxyxxzxzzyzyzyyyyyyyxyxxyyyyyzyzxzyyzxxyyyzyyzyyyyyyxxyyxyzyyzzyyyxyxxwxzyyyxzzyyyywyyxyy{yyzyz{yzyyxxyxyyyyyzyzyyyxyxyyyzyyzz{zzyxyyxyyzzyyzyyyyyyzyyyyyyz{zz{yyyyyxzyzzyzyyzzyzyyyzyzyyzyzzzyzyxzxyzyzy{zzyzzzzyyxyxyyz{zzz{yzzyyyzyzyzzzz{z{zyzyyyzz{yzzzzzzzzyyyyyyzy{z{y{zzzyzzyyzyzz{zzzzzzyzzzyzyzzzzzyzzzzzxzyyyy{yzzzzyyyzxyzyyyzzzyz{yyzzyyyxyyyzzyxz{yyzyzyyyyzzyyzyyxxxxxxxxyyzyxxyzyxxyyxxxyzxyzzyzyyzxywzxzyyzyzyzyxxyyxxxyyyyyyzyyyywxxyxxxzyyzyyyyxxwxyxxzzyxyyxyyyyxxxyxyzxyzyyxxywxyxxzxyyyyyyzyyyyxyxyxyyzyzyzyxxwyxyxzyyzzyzyyyyxyyyyyyzyyyzyyyxxxxyxyyxxyywxyxxyyxxxyyyyyyyyxyzxyyxzyyxzyzzyxxyyyyyyzyyyyyyyxyyxxyyyyzyyzzyyyyyyyyxyyzyzzzzzzyyyyyyxzyyyzyyyxyyyxxyyyzyyyzzyxzyyyyyzzzyyzyyzxzyzyxyyyz{zz{zyyyyyyyyzzzzy{{z{yyyyzyyz{zzzzz{yyzyxzyy{zzzzz{zyyyyyz{yzyzzzz{{yyxzzyz{y{{zzzzzzyyzzyzzzzy{yzz{{yzyzyzyzzzyzzzzzzzyzyyyyzyz{zyzzyyxyyyxyzzzzzzzzyyyzyyyyzxz{{zzyyxyyyyxyzzzy{yyzyxxyxyxxzzyyzyzy{xyxxxyzyzzy{zzzxxwyyyyzxyyzz{zyxzzzzyxyzyzzyzzyyxyyxyxyyzyxyyxzxzyyyyzyxyyxzzyyyyyyxyyyzyzyzyyyyyyxywxzzzzzyzyyxyyyxyyxyzyy{zyyyyyxyxyyyzzzzyzyxyyxyyxxyyyzzzyzyyzxyyyyyzyyyy{yyyxxxxyxzyyyzzzzyyzyyyyyzyzyzz{zyxxyyyzzzyzzzzyyyxzxxyyyyyzyzz{yyyyxyyyyzzzzzzzzyzyyxyyyzzyzyzyzyyyyyyyyyzzzzzzzyyzzyyyzzyzzzyyzxyzzzyzzzz{{{zzzyzyyzzzzzyzy{zzyzzyzzyyy{{zzz|zzyyzzzyzz{yzz{zzyzyyzz{zy{{zz{zzzzyyzzyyz{zzzz{zzyzzzyyzyyzzzzz{zyyyzyyyzyz{zyzzzzxyzyzyz{zz{zzzyzyzyyzyzzyzzzzzxzyxyyyyzzz{yzyyzyyyyyyyyyzzzyyzxyxxxyxxxyyzzyyzzyyyxxyxyyyzyyzzyxxyxyyxyyyyyzzzyxzxyxyyyyyyyzzzzxyxyyxxyyyyyzzzyyyxxyxxyzxyyyzyyzyxyyxyyzzyxyyzyxyxyxxyyxyzyyzyxyzyxzyyxxzyxzzyyyyyyxxxyyyyzzyyzyyyyyxxxxyyyyyyyxxyxyxxzyyzyzyyyxyxyyyyxyyyyzyyxyyyyzyxyyyyyyyzyyxyyxyxyy{zyyzzyyyxyxyyyzzyyzz{yyyyzyxzxzy{{yzzzzxyyyyyyzzyyzzzzyyxyyxyzzyzzz{yzxxxyyyxyz{xzzyzyyzxyzyxzzzyz{zzzzzzyzyyzzzzyzz{zyxzyyxyz{zzzzyzzyyyyzyzzzyz{{yzzyzyxyzyy{zzzz{z{yzyzzzyy{z{{zz{zzyyyyzzyzzzyzzzzyyxyzzyzzzyzzyzz{yyyyxzyzyzzz{{yzyyyyzzyyzyyz{zyyyzyyyxzzzzz{zzyyyyyyyxzzyyyyyzyxwxyyxxxyzyxyyyyxxyxxyxxyyyzzyzxyyxyxyyyyyyyzyyyxyyzxwxyzyyyyyzyyxxxyyyyyzyzyzyywyyxyxyyyyxxyyzyxxyyxxxyyzyxyyyyyyxxyyxyyxyyyy{xxxyyxxxyyzyyzzyyxxxxywxyzyxzyyyyxxxxxyywxxyzyzzxxyyyxyyyy{yyyyyzyzxxyyxxzyyxyzyzxyyxyyxyyzxyyyzzyyxxxyyyzzyyzyyxyyxyyxyxyzyyzyzxyyyxxyyyyxyzyzyyxyxyxzxyzyyz{xyzyyzxyyyzyzyzzy{yyxyyxzxzyyzyzzyyyyyyyyyyyy{zzzzyzzxyyyyyzyzzzzzyxxyyxxyyyzy|zzzzyyyyzzzzzyzzzy{zzzzzzyyzzzzz{yzyyyyzzyy{{zzzzzzyzxzyyxzzyy{z{zyzyyyyyyzyzzyzyz{zzzyzyyyzzz{zzz{zzyyyzyyyyyzzzzzyzyyyyyzxzyzzzzyxzxyyxxxzzzzzzxyxxxwyxyyxzyyyyzzxyyyxxyyyyzyz{yyzyxyxyxyyxyyzzzzyyyyxyyxxzyyxzzyyyyywxyxxxyyxzyyyxxyyzxxyyzxyyxz{xzyyyxxzyzyxxzzyyyyxyxxyyyyyyzyxyzxyxxxxyzyxzyyyyxxyyxyzzzxzzxyyxyyxyxwwyxyyzzxyyywyyyyyzyyyyzzxxxyyyyxzzxyyzyzywyyxyyxyxyyyzzzzyyxyyyyzyyyyzxzyyyyyxxxyzxyyzyyxzyyyzyxzzzyyyzyyxyxyxzyyzyzzyzzzyyxyyyyyzzyzy{yzyyyyxyyyzzxyyyzyzyyzzxyzz{{zzzzxz{yzzyzyzy{{zz{yyzzzyyyzz{zzzzyyzxyzxzyzz{z{y{{yyyyyzyzyzzyy{{{yzyzyzy{y{{{zy{{zyzzy{yxz{{{zzzz{zyzzyzyzzzz{zz{zyyzzyyz{zzy{{zzyyyyyyzyzzzzz{zzzzxyyyzyyzzzyyzzyyyzyyyzzy{yzyzyyxyyxxxxxyyyzyzyyyyyxxyxyyzy{yyyyzxxxyyxyyxxyzzyywzxyyxyxyzxyyyzxxxywxxyxyxxxzyyxxyxyxxxyyyyyzzyzxxxxzyxzyzyyyzyyyywxyxyyzyyyzyxxyxyxyxxyyyyyy{zyyxxxywxxzyzyzzyzxxywyyxyyyyyyzzyyyyxyxyyzyxxzyzxyyyyywxyyzxyzzyxyyyyxyxyyyyyy{yzyyyyxyyyyzyyzzyzzzyyyzyzzyzyzzyyyyxxxzyyyyzyzzzzyyyyyzxyyzzyzzyyyyxyzzxyyzzzy{zzyyzyzyyzzyyyzzzzxxyyyyyy{yzzzyzxyyyyzxxzzyzzzzzzy{yzxyyyzy{zyzyzyyyyzyyzzzyzzz{zyyyy{zyz{yzz{{zzyzyxzzyz{zzyz{zyyyyzzyyzzyzzzz{yyxyzyyyyzzzz{{zzzyyyyyyzzyzz{zzzyyxzyzxyzyzzz{{zyzyyyyzyzzyyyzyzyyxxyxxyzyzyzyxyxyxyxyxyzzyxyzyyxyxxxxyyyy{yyyyyyxxyyxyzzzzyzyxyyxyyxxxyyxyyyz{xxxxyyxyyzzyyyxzyxxxyyyxwyyyyyzyyyzyyxyxyzyxyyyyyyyyxxwxyyyyy{zxyxxxxyxxyzyzzy{xxyyxyxxxyyyzyzyyyyxyxxyxxzyyyzzyyyxxxywxxyyxxxyyyyxxyyyxxyyyyzzyxxxywzxzyzyzyzzzyyyxyyyyyyyxyyxzyzyyxxyyyzxzzzyzyyxyyyyzyyzzzzyzyxzyyzyyyzzzyzyyzyyyzxyyyzyzzyzzyyyyyzyyzzzyyzzzzyyyzyy{{zz{z{zzzyyyyyyyzzz{zzzzyzyyyzyyz{zzzzzyzxyyzyxx{zzz{z{{yyzyzyzzyzyzzz{zyzyyxzyyz|zz{{{zzyyyyyzy|zyzy{zzzyxzzyyyz{zzz{{{zzzyyyzzzzyzyz{{zzzyzyyzyyzzyzzzzyzyyyzxzyy{zyzyyzzy{xyyxzzyzyyzyxyxyxyxyzzyyyzyzxyyxyxxzzyzyzzyxyyyyxyxzzyyyyzyxyyxxyxyyyzyyzyzyxxxyyyyyzyyyxzzxyzyxxyxyzxyxzyyzyxxxxxyyzzyyzxzyyyyyyxyyyyzyzzyyxyywyxxxyzyzzxyyxyyyxyxyzyyyy{yyxyyyzzyyzyyxzzzyxzyyyxxxzzzyzz{yyyyyxxyxzyzxzyyywyyxzyyyyyzzyzzzxyyzyyyyzzyzzzzyyzyyxyyzzyyz{zzyyyyyyyxzzzzyzzzzyyyzxyxyzyyzzzzyyyyyyyyzyzyzzzzzyyzyzyyzz{yyzzyzyzxzzyzzzzzzzz{yzzzxyzyzzy|zzzzyyyyyyzyzzz{z{zz{zzyzxyyzzzzzz{{zzzyyzzzzzzzz{zzzyzzyzyy{{z{yyzzzzzzyzzyz{zyz{z{zzzz{xyyyzzz{{z{{zxzzzyzyzzz{{z{yyyyyzzy{yy{zyzzzyyzxzyyyzz{{zzzyyzzyxyyxzzzyzzzyyyyyywyzzyxyzyyyyxyyxxxyy{zyzyyyzzyyxyxyyyyyzyyyyyyxyyzxzzyyzyyyyyxyyyyyxzyxzyzyyzxyyywyyzyyzyzzyyyyxyxzzzyxzzyxyyxwyyzyyzyyzyyyyyxxwzyyyyxyzyyzyyxyxxzyxyyyzzyyyzywxxxyyyyyyzyyxyxyyxxxyyyyyyzyyyyyxyyyzyyyzzyyxyyzyyxy{yzyyzyzzyzzyxyzyyyyyzzzyywyxxwyyyyzzzyyyxzyyyyzyzyzyz{yyzyzxzyyzyzzzzzzxyyyxxyzzzzzyzyzzzyyyxyzzzyzzzyzyyxxyyyzzz{yz{zzzyyzxyzzzy{zz{zzyyyyyzyyzzz{zzzyzzyyy{z{zzzy{{zzyzyzz{{zzy{zz{{|yzzzzyyz{z{zyzz{zyzzyzzzz{zyz{zzyyyyzyyz{zz{zy{zyyzzyyzzzzzyzzzzyzyyzxyyzy{z{zzzyxyyzyzzzyzzyz{yyyxzyyzyyzzzyzyyyxwxxyxzyyyyyzzyxyyyxyyyzxyyzzzyyzxxyxxyyzyzyzzyxxxyyyyyyyyxzyyyyxxyxyxyyyzyzyzyxxyxyyyyzyyyyzxyxzzxyxxyxyyyzzzxxyxxywzyyyyxzzzyyyxxxyxyyyzyzyyxyxyyyxyxzzxyyzyyyxyxxyyyyyyyyyyyzyxyyyyyzyyyyyyyyyxyyxxyzyyxyzyyyzxzxxxyyyyyxzzyyxyyxyzzyyyy{{yyxyyyxxzyyzzzzyzyxyyxxyyyzzzyzyyyyyyzyzyzyyzy{yzyyxxyyxxyzzyyy{yzyzzyyxyzzzzzzyzzyyyyyyxxyzzxzzzyyyxyyzyzzzzzzz{zyyzyyzy{zz{z{{zzzzyyzyzzzzzz{y{yzyyyzzyzzzzzzzzzyzyyyzzyzyzzzz{yyzzzyyzzzyz{|zzzyyzyyyyyzyzzz{z{zyzyyzyzzzy{yy{yzzyxyx{yyzyyzzzzyyyxyzyyzz{zzzzxyzyxxyyzzzyyyzzyyxxxxyxyyyyzyyxyxxxxxwxzyyxzyyyxyxxxyxyyyyzzyzzzyyzxxxyxzzyyyzy{yyxyxyyyxzzyyyzyyyxyyyyxzxxyyzyyxyxxyxxxxzyyyzyyxyxyxyyzyxxyyzyxwxxyxxyxxzyyyzyyyxyyxxxxyzxzyzyxyzyxxxyyyxyzzxzyyyxyyxxxywzyyyyxxywyyxxyzxxyzzyyywxyyyxyzzzzyyyyxyyyyyyyzyzyzyzzyyyyxyxyzzzyyz{xyxyyyxyzyyyyyzzyyyyyxyxyzz{zzzzyyxyxyyyxyzyyzyy{yyzyyxyy{yxyzyzyyyyyzxzyzzyyzz{yzzyzyxyyzyzyyzzxzxyyyxzyyzzyyyzzxyyyyzzyzzzz{zzzyzyzzyyyz{zzzzzzzzyzzyyz|{{zyzzzyzyyzyzzzz{z{{zzyyzyzyyzyzz{zzzyyxyzxzyyzzzzz{zzyzyzzyyy{zzzzzz{yyyyzyzyz{zyyzzyyzyyyzxyzyyyyzyyxxxyyywzyxy{yxyzyyxyxwxxyyyyy{yyyyxyzxyyyyzyyzzzzxyxxxxyyyzyy{yyxxxxyyyyyyxxzzyxxyxyyxxyyxyyzzyzyxyyyxyyyyxyzzzxyxxxyyxyyyzxzyyxxwyxxywyyyyxyzyyyyxxyyyxyyyzzyyxyxxxxyxyzzyxyyyxxyxyxyyxzxyyyyzxyywyxyyyyxyyzzyyxxyzyyyyzzyyyzzyyyyyxxyyyyyzzzxyyyyyyyyyzzzyzyzyyxxyxyzzyzyzyyzzyyxyxyyyzzyzzyzzyyyxyyyzyzzyz{yyyxyzyxyzyyyyyyyzzyxyzyzyyyzzzzzyzyyzyz{zzzzzzz{zyyyyzyxyyy{yzzzzyyyyzyzz{zzzzyzzyzzyyzyzyyz{zzz{yyyyzzyzzzzzyyzzyyyyyyzzyzzz{y{zyyzzxyyzz{zyzz{zyyyzzzzyz{zzyzzyyyyyyyyyzyzzz{{{zyyyyzxyzzz{zzzyyywyzyyyzy{zyxyyyxxyyyxxyyyxzyy{yxxxyxyxyyyyyyzyzwxxyyyyyyxzzzyxyyxyyxyyzyyyyyyyyyxxxxyzyyyyzyzxyyxxxxyyzzzzzyzyyyxyxyyyzzyyzzyxzxxzyxyyyyyyyzzyyxwyxxyyyzyxyzxyyyzxyyxzxyyyzzzzyzyyyxxyyzzyyyxyxyxxxyxyzyxzyzzzyyxxzyyzyzxyyzyxyxyxyxwzyzzyzzzyyyxyyyxyzyzyzyyzyyxxxxyyzyyyzzzyzyyxxyyzzzyyzzzzxyxzxxxyzzzyzyzyyyyxyyyzyyyyyzzzzyyyzyy{yzzzzyyyzxyyyxyyzzzzzzzyzyxyzzyyzyzzzz{yyyzzyxyyzzzz{yzyzxyzzzyzzzzzzzzzyzyyyzzyzyyzzzzzzyyxzzzz{z{zzz{yyyzzyyyzzzzzz{zyyyzzxyzzzzzzzzzzzyyzzyyz{zzxzzzyyyyzyyyzyz{zz{zyyyyyyxxzzz{zyzzyyzxzxxyyzyyyzyyyyyxyxyxxyzyxyy{yxxxxyxxyyzyyyyzyyxxyyxxyxyxyzzzyxyxxyxyxzzzyxyzzzyxxyxxyyyyyyyzyxxyxwyxyxyyyyyxyyyyyxxyyzyyyzyyyxzxxzyyzxxyyyyzyxxyyyxxyyyxxzzyxxxyxyyyyyyyzyzzyyyyxxxyyyyzyxzyxyyxyyxxxyxyyyyyxxyyxxyyxzxyzzzyyyyyyyzxzyzyzyzzxzzxyxyxyyyyyzzzxyzyyyyyyyyyzzzzyyyyxyyxyzzzyzyzyyyyyxyxyzyyz{yxyyyxxxxxyyzzyyzzyxyzzxyyzzzyxzyzyxyyyyyyzyzzzzyzyyyyyyzyzyyzz{zyzyyyyyyyyyzzzzzzzwyzyyzyzz{{zyyzzzyyxyzyyyzzzz{z{yyyyyyyz{{y{zzzyxzzyzzyzyz{z{zzzyyzyyzzyzzyzz{{zzzyzyyzzyyyzyzzyyzyxyxyyzz{zzz{zyyyyyyyyyy{yyzzzyywyyxxyyyyyyyzxyyyyyxxzzyyyyyzzyyyyxyxyzyzzyy{yyxxzxxxyyyyzzzzyyyxxxyyyzyyyyzyyyyxxyxwyyzyzzzzzxyxyxxyy{yxyzzyyyyyyyxyzyyyyzzyxyzwxzyxyzyyyyyyyyxxxxywxzyyyzzyyyyyxyxxyyyy{zzyxyxxxxxyyyyyyyyyyxyxxyyxzzyyxyxzyzxyyyzxx{yyy{xyzyyyyyyxyyyzyyzzyyyxzyzyyzyzyyy{zyyyxyzyyyzzyzzzxyzyzyyyzyyzzyzyyzzyyyyxzzyyyzzyzxxyxxzyyyzyyzzzyxyyyyyyzyzyzyyzzyyyyzyyzzzzzzzyxzyyyyzyz{yzyz{zzyzyzyxy{z{yzzyzzyyzzyyyyzzzz{z{zyzzxzyzyzzzz{zzzxzzyzyyyzz{{{zzzzyyyyzy{zz{y{zzzyyzzyzzyyzzzz{{zzyzzzxzzy{zzz{{xyzyyzyyzzzzyzz{yyyyyyyyzyzzzzzyzzyyyyyyzz{yzzyzyxxxyxxxxyzzzzy{yxyyyxwyyzyzzyy{yyyxyxxyyyyyyzzyzxyyzyyxzzyyyyyyyyyyxyyxzzxyyyyywyyyyxywyyyyzyyyyzxxyyzyyyzyxzyyyxyyxyyyyxyzyzxzyxxyyyyxxzzzyyzyyzyxxxyxyyzzyyzzyyyyyyyyxyx{yzyzyyyyyyyyyzzyyyyzyzyxyxxxyzzzyzyzyxzyyxyyzzyyzyzyyyzyxxzyzzyzyyyyy{yxyyzyzyy{yzzyzyyyyxxxyyzzyzzyyyxyzyyyyzyyzzzyzyyzyyxyyzzzyzzzzyxyzxyzzz{zyzzzyyyyyyyyz{yzzzzyyyyxyyzxzzzzyzzzyxyzzzyyy{z{zz{{{yzyyyyyzzzyzz{zzyyzzyz{z{z{z{zzzyzzzzxyz{zyz{zzzyzyyzyz{z{{{zzzzyyyzyyyyzzzzzz{zyzzyyxyzzz{y{z{zzzyyzxyyzyz{zzyyyyyyzxyzzyzyy{yzzyyyyxy{zyyyyzyyzyxyxyyyzzzzy{zzyyyzxyxyyzyyzy{yyyyxzzxyzzz{zzyyxzxyxyyzyyyyyzzyxyyxyxxyyyyyxz{zxxyyxyyxzyyyyzyzyyxyxyyyyzyyzzzyyxxyxywyzyyyyyyyywyzyyyyyzyyzyzyyyyxxxyyyzyxyzyzxzwxyxxyzyzyyzyxyyyxwyyzzyxyzyzzzyxxyxyyyyyyyyzyxyxyxyyzzyzyz{yzxzyyyyxyyyyzzzzzzzzxxzyzyzzzzyzyyxyxxxyzyzyzzzzyzyzyxzyyzyyy{yz{yxyxyyxyz{{yzzxyyyzyyyyzzzzzyzzzzyyyyyzyzz{z{{yzzyzyyzyyzz{{zz|yyyyyyxxzzzzzzz{yzzzzzzxzzzzzzzzzzyzzzyzzzzzz{{{zxzzzzyzz{{zzzz{zyzyzyz{yzz{zz{zzyyzzyyxzzz{z{{{zyyyzyzyzyy{zz{{zyzyyyxyzzyzz{{zzyy{yzzyz{zzyzzyyyyyyyyzzyzzzyyyyyxwxvyxxzyzyyyyxxxyyyxxxzyyyyy{yxyxyxxxyyyyyyzzxyzyxyyxyyzyxyyzzyywxxxxyyzzxyzzyyxxxxyyyyyyzyzxyyyyxyyxyyyxyzzyyyyxxxxyxyyyzyyzyxxyyxxwyyyxyyyyxyxxxxxxyyyzyzyxyxyyxxyxxyyyyyyyxxyzyxxwyyyyyyyyxxyxwyyyxyyyz{y{yxxxyyyyyyyyyyzzyyyyxyyyyyzzzzzzyxyyyxyxxyxyyzzzzyyyxxzxyyzyzzzyyyyyywzxyzzzyzyyzyyxxyyyyzzzzyzyyyxyyzyxzzzzyzyyyyyyyzyyzyzz{zzzxxyyzyzzy{yzyzz{zyyyyyxxyzz{zz{yyyyyzzxy{zz{zzyzyyyzyzyzzzzzzzz{{zxyyyyzy{zzyzy{{yyxyxzzz{zyzyzyzyzzyyyyyzzzyzz{{zxyzyyzyz{zzyz{zyyxyzyyzyz{yyzzyzyzzyyyyzzyyyzyyxyxyyxyxyyyyyyzyyzyxxxyxzxzzzyyyyxyxyxxzyyyzyyxyzxxyzyyyyzyyyzzyyzzyxyyzzzzxyzyyyyxxyxxyyyyzy{{xyyyyyyxyxxyy{zzyyyxyxzxxyyyyyyyyyyyyyyxyzyzyyzzxxxxxyyyxyzy{yyzxxxxxxyxwzzzyyzyzwyxyyyyxzxyyyyzyzyyyxzxxxzxyyyyyyxxyyxxyzxyyzz{xwzyyzyzyx{zyzzzyzyxyyyy{zzzxyzzzzyxyyyy{yy{zyzzzyyyxxyyyyzyzyyz{zzxxxyyyyzzzzyyyxzzyyxyxyzzzyzzyyyxxzyyyyzzzyzzzyyyyyy{zzzzzzzyxyyzyzyxzy{zyzz{zyzzxxyyyzzyz{zzyyyyzyyyz{zzz{z{xyzyzzzz{zzz{zzy{yzzyzzzyzzzzz{z{zzzyzz{{zzz{xzzzzyyzyzyz{zz{z{zyzyzyxyy{{zzzz{{zzzxzyyyzzyzz{zzyyyyyzzxzzyzzyzzyyzxyyyyyzzzy{yxyyxxxyxyxyyyyyyzyxxyywyyzyyyyzzzyyxxyyyyy{yzyzzyyxzyxxyyzyzyyyzzyyxxxyyyyyyyyyyzyyyxyyyyyzzyyyzyyyyyyxxxzyyyyyyxxxxxyyyyyyyzyyy{xyyxxxxxxxyzyyyyyyxxyyyxxyzyyyyyxxyyxxyxxyyyyyzxyyyxywxxyyyyxzyzxxyxyyyyxyxyyzyzzxyyxyxxxyzyyyzzxyxyyzxyyxzzzzzzzyyxyyyyyzyyyyzzyyzzyyyxzzyyyx{{xyzyxxxxyyyyzzzzyyyxxyyyzzzz{zzyxyyyxzxyzzxyy{yzyzxxyyyyyzz|z{{zyzyzyxzyz{y{zzzzzyxyyyyyzzzzzzzyyyyxzyyyzzzyy{zzzyyzzyzzy{zzz{{zzzyyyyyyyz{yzz{zzyyyyzyxzzz{z{{zyxzzz{zzzzzyzz{zzzxzxzyzzzzzyz{zzzyyyzzyyzy{zyzzzzyzyyyyzzzzyyy{yyyyyyxyyyyyyzyzxyyxyxyyyyzxzyyyzyyyyxyyyxzyyyzzyxyyxxyxzyzyyzzzyyxyyxxxz{{zyyyyyyxwyyxxyzzxyzyzxyyyxyyxyyxxzzzyyyyxyxxxyxyzyxzyyxxxyxxxyzyyyzxyyyyxxxyxyyxyyz{yyxxyyyxxyyyxyyyyyxyyxxxxyyxyyyzzxxyyxyxxyyyxyyyyxxxxyxyyyyzyzzyzxyyxxxyyyyyyzz{zyyyyxyyyxyzzzzzzzxxyyxxxyyzzzyyzxyyyyyyyyyzyzzzzyyzxzxzyyzzzyzzzyxyyyyxyyzzyzzz{xxzyxyyzyyyzyzyzz{zzyxyzzyy{zyzzyyyyzyyyzzy{yy{{yzyyzxzyzzzzzzyyyyyyzyzyzzz{z{{zzzyyyzzzyzzzzzzzzzyyyyy{z|zzzz{{yyyzzzzy{zz{{z{zzyyyxyxzyz{yzyz{yzzyzyxyzzzz{z{{yyyxxyzyzzzyy{{z{yzyyyyxzyy{yzzyyyyyyzyyzzzzyyxxxyxywyyxyzyyyxzzyyyyyxyyzyyyzyyzyxyxyxyxzyyyzxyyyzyyyxxyyyzzzyyzzyxyxyxyyyyzzzzzxyyxxyxxyyxxyyyyyxyyyxxyyzzzxyzzxxyxxxyxxxzzyzyzxyyyxxyyyzyzyzzyyyxyxxxxxzyyyyyzyyyywxxxxzxzyyyyyxxyxxyyyyyyyyzzzyxxxxwyxyyyyyyyxyzyyyyxzyyyyyyzyyxyzxyzzyzzzzzyyyyyxyyyyyyzyzzzyyyxxyxyzzyzyyzzyxxyyxyyyyzzyzzzyyxyyyxzyzzzxy{yzyxyzyyzzzyyyyyzyyxzyxyyyzzzz{zzyyzyyyyzy{y{yzy{zzyzyxyzy{{zzz{z{yyyyzzzzzzzzz{zzzyzyyzzzzyzz{z{{yyyzzyzy{z{zzzyyzz{zyzz{yzzzzzzzzyzyxyzzzzyzz{{zzyyz{zzzzzzzzzzzyyyyyyyzyzzzz{zyyzyyyzyy{zz{zzzyxyxyyyyxzzzz>Fv7]'a|{z{z{z{||{{|}|{|{{{{{|{{|{|}|||{{{|z{y{|{||||||y{{{|z{z{}{|{||{{|{{z|{|{|{{{{|{|{z{{{{{|{|{{{{{z{{{{z|z||z|{|{{z{{{{z{||{{{{{z{|zzzz{{{{|{|||{{zzz{zz{{{|{||z{{z{zzzz{z{||{|{|{z{z{z{z{|{{z{||z{{zzzy{{{{{||||{{zz|{{{{{z{{z|{z{{{zz{{{{|z{|z|{{{{zz|{{z{{|z{{{{{z{|zz|{{|||||{{z{{z{z{{{{{||||{{|{z{{{||{|{|{|{|z{{z|z|||{||||{|{|{{{|||{|}{|{|||{{|{{||z||}|||{|{{{z{|||}|||{{{{{z|||}}|}||}|{{{|{|{||||||}|{z{{{{|{{{|||}|{}{{|{{}{|||}||{||z{{|{{{|{|||{|{||{|||{|||{{|}||{{{zz{{{{{||{||{||{{{{zz{|||{{|{{z{{{z{z|{|{{|{|}|{||z{{|{{{}{||{|{{{z{{||}||||}||{{|{{{||{{|~}|{}{{{z|{}|||{}|{{{{{|||{z||||}||{{zz||{{{{|{{|||{{{|{{{{{{{{{{||{{{{z{{z|{||{|||zz{zzy{zz{{{{{}{||zzz|z|{||||||||{z{zz{z{{|}|{|}{{{|{{{z{{|{z|}{{{{zz{z{|{{{|}{}{{zz{{zz|{{|{|{|{z{z{{z{{}|z||||{z|{{{{{||||{{||{{{{z{zz{{|||{}{{|{{|{|z||{|{{|{{|{{|{{{{||{|||{|{{{{{{||}{|||||z{{{|{{||}|||||}z|{{{||{{||}{||}{|{{||{{{|}}}}}||{z{|{|||||||}{|{{}{{||}|}}||||}}{{{|{|||}}|||}||z|{z{|{}}|}}|}{{{{||{{{{|}{||}|}{{{}{|{|||{|}~|{|{{{||{||{{|{|||||}{{z{|||||||{|{{{z{{{{z|{{|||{||{{z}{{|}{|}|||{{{|z{{||||||||{{{z{{|{|{{|||||{z{z{z{{{||{|||{||{{{{{{|{|{|{||{{{{|z{{|{|||{||}{{{z{z||{|{{{|{{{{{z{{{{z{|{{||zzz{z{{z{{{{{{|{{z{zzzz{||{{{{{z|{|{{{{{{{||{|{{{{{zzzz{z{z{{|{{{{zz{{z{z{{|||{|{|{|{zz{{||||{||{|z{{y{{{|{z||{{{z{{{{{{|{|||{||{{{{{z{z{||{{{||{z{{{{||z}{{{}||z{{zzzz{|||{}{{|{{{{{{z||{}{||}}|{{||{{{||||{{||{{{||z{{z|||{|||{{||||{z|||||}}|{z{{|||{|}||{||}{{{{|{|{||{|}||||{{||{|{{}||}}||}||{{{{|}||||}}}{{{{{|{{}{|||{|}{|}|{{{|||||||{}{|{{||z||{{|{}|{|{z{{z{||||||}|{|{{{{z{|{||{|{|}|||{{z{{||{||||}{{{{{|{||||{||}}{z{{|{|{|{|{|||}|{{|{{{{|{|}|{{|z{{{{{|z{|||{|||{{|z{z{{{{{{{{|z|{{z{|{z{|}{{{{{{{zz{{{z{{|{{|z{zyzz{zz{{{|{{{|{|{{yz{{{{||{|{||{{|{zzz{{{|{{{|{{z{z{z{{|{{{{|{|z{zz|z{z|{{{||||{|{{{{z{||{||{{{||{{{{z{{{|||{{||{||{z|{|{{}|z|{{{|z{{{||||{|{||{{{{{{|{z|{||{z|{{|{{{{z{|||{||||z|||{{||}||{{|||{|{|{{||{||{|||||{{{{{{{|{}|{}}{{{|{{{{{{|||}|{}{z|{{{|{|||{|{||{||{|||{}|||}|||||{|{{{||{{}|}}{|{||z|||||||{}|~z{|{|z|{{|{|}}|||{|{}{|||}||||}{{{|z{{{||{|||||{{||{z|{|{||||||{{{z{z{{||{}||}|{{|{||{{|}|{{||~{{|}{{{|{||||}|||{z{{z{{||{{||{}}{{{|{{{{{||{{||}{{{{z{{{z|{|||}{|{z|{{{|||{{|||z{{|zz{z{{|{|{|{{||{{{{z|{{{{}{{{{z{|{{z|z||{{||{z{{zz{{|||{||{{{{{{z{{|{{|{|{}{{{{{{z{{{{{{z|||{{z{zz|{{{{{{|||{{{z{|{{{|{|{||||{z{{|{{z|||{|{|{{z{zz{|z{{|{||}{{{{{{{{{{{||||||z|{|{|{{|{||||||||{{{{|{{{|{{}|{|{|{}|{|{|}{}{{||{{||{|||||||||{{z|||||}||||||||{|{{z{||}|||||{}||||{{{||}||}||||z{z{|||||}}}||{||}{|||}}|}||}|||}|{{|{|||}|||}|{|{|{{|{|{|}~}}||{{{{{||{{|||}|{||{||{{{||}||}}|{||{{|{{}z|||}}{||{z{|{{|{z|}{{}{|{{{{z{|||}|||{|{{{{{{|}||||||||{{{|{z|||z||||zz{{{{{z{{z|{{||{{z{zz{z{{{|{|||zz{yz{{z{||{z{{{{{{{{zzzz{||z|{{z{z{zz|zzz{{{{|{{zyzzzzz{|z|{{||{z{zzz{{{|{z{{{{|z{zz{z{z|{{{|{|{z{zz{{z{|{z{{{{zz{z{z{{z|{z{|{{{z{{z{{y|{{{{|{|{z{{{z{{z|||||||{z{{{{{{{|||z|{|zz{{{{{z{|||{|{{|zz|zz|{{{||{|||{{{{{{{z|||{{|{|z{{{|zz|{z|{|||{{{|{|{{{|{{{|{{{z{{zzz{z{{{{{{{{|{{z|{|{|{{|}{||{z{z{{|{|}}||{|||{|{{||{||{||||||{|{{{||{|||}}{}|{|{||{{}|||{||||{|{{{{{}||{{|}||{{|{||z{{{|{|{||{{{z|{{{||{|||||zzz{{{z||z||{{|z{{{z{{{z|{||{||{|z{{{|{{~||{|||{{{{||{{{|||}|}|||z{{z{||||||{|||{|{|yz{{|{|z{{{|{zzz{{z{|{z||||z{{z{{yzz|{||{z{{z|{{zz{{{{{{{{|{zyyy{{{{{|{{{z{{zzzzzz{|{|z{{|{{zzzyzz{{{{{|{|{{zy{yzz{{{{|||||||{{zzz{z{z{{z{{{{z{{zzzz{zzz{{{zz{z{|{z{{|{{{{{{|zz{{z{{|{|z|{||||{{y{{{|{{{||{z|{{{z{{{|zz{||{{{{|{z|{{{||{{{{z{{zz|z{z||{{{|{zzzz{|z{{||{|{||y{|{{z{|{{}||}|{{{{z{z{{|||{|{{{|{{{{|{{{{||||}||{|{|z{z|{|{||||{{z{{|{{|||z{}||}{{|{{{{{}{{||||{{|{z{{z||||{|{{}|{{{|{{||{{|{{}|{|{{{{{||{}|{|{{zzz{{{|{|{{{||{{{{zz{{{{||{{{||{{{{{{{z{||{{||~{||||{|{|}}|||||{|{||{z|||~{|||}}{|{z|{z|{{{||||{{{{{{z{{||||{|{{{z{zz|{{{{{|{|||z{z{z{{{{{{|||{z|{{{z{z{z|{{|||{z{z{{{{{{{|z{|{z|z{z{zz|{{|{{{{{zz{{{zz{{|{|{|{zzz{{{z{||{{|{||{{{|{z{{z{z{z{{|z|z{z{{{z|{{{{{{{zzz{zzz{{z||{||{{{{zz{{{{{{|{{|{{{|{zzz{{z|{}|}{{|{{z{z{{||{{|}{{{{|{{{{{|||||{z{|{{{|{|||{{{||{{z{{{z{z|{{||||{}{{|{|{{{||}||}{zz{{{{||||}{{||{{z{{{{{||}|}||||z|{|{{{||{|{{|}{||{z{{|{||||{|}{|{{{|z|{}|}|{|||{{|{{{{|||{|}|||z{{{{{|||{|||}||{{z|}{{}{|||||}{}||z||{{|{{}|}|{{{|{{{z{|{{||}{z{{zz{z{z|{|{}{}{{|{{{{{||}||}||||zz{{{||}|||{|}|z{|{{{z||{|{{|||{{{zz{||||}{|}|z{z{z{zy||||{{||{{{{z|{zz{{|{|||{{{|z|{z{||{{}|{{{z{z{zz||z{{{||{zzz{z{zz{|{{{|||z{zz{z{{}|{|{{|{{z{{z{z{{|||{|{{||{{z{z{{{{{{{|{{{|{z{z{{{||||{zzzz{|{z{{{|{{{|{{{z{z{{|{{{|{}|{{{{z{{{{{{{{|{|{|{{{z{{|{|||{}|{{{{z|{z{{||||}||z{{z{{{{||||||{{{z{{{{|||{{{}{|{z{{{{{{{|||{|}|{z{|{{{||{|{|}|}{z{{{z|{{||||||{{{{{{{|||||{||}|{{}{||{{{|{||}}|||z|{||{|}|||||||{|{{|{{|||}|}||{||{{|||{{|{{|}|{{{|{{{{|||}{}||{{{{{z{{|{{}|z||{{zzz{|z{|||{||{{{{{{z{{{|{|z}|}{||{{|z|{|||||}}|{{{{||{|{{|{||{}{{zzz|{{|}z}||}{|{{{{{{|{||{{||{|{{{{{z{{|{||{}|{{{z{{{{||{{|{|{z{{{z{{{{|{{|{{{{{{{z{{{z|{{|{|{zzz|zzz|{{z{||{{{z{y{z{|{{{||{{{{{zz{zzz{|{|{|{|zzz{z{z{{z{{{{{zz|z{{z{z|{{{|||zz{{{zz{|{|||{|{z{|zz{{{z{|{{{||{{{z{{{{{{{{|||{{{{y{z{{{||{||||||{||{{{z{|{|}{}z{{|{{z{|||{|||{{z{{{z{z||{|{|{{|{{z|{||{{||||||z{{{{|{z{z{|||}|z{{{{z{{|||}{{||{{{{{|z{||||||}}{|{||||{|||{||}}}|||{{|{{||}{|}||z{{{{|{|||||}}||{z{{{{{{||{}||}{||{|{{|}||{||}|{{|{{{z{{{|{|||{{{{{z{{{{}}|||{{{|{z{{{z}{{z{}||||{{|||||||||||}}||z|z{||{||}|||{||z{}|z|}{|||||{{{|{{{{{|{||{|{|{|{{{{{z{|{||{|{z{{{{{{||{z{{{{z|{zzz{||||{|||{{z{{{z{z{{|{{|{|z{{{{{{z{{z{{||{{z{{{{{{||{z|{||zzz{z{z{{|{{|z||{zz{|{{z{{{|{||{{{zzzz{{{|{||||{{zz|z{{{{|{{{{}||{{z{{|{}|||||||{{{|z{{{||||||{|{{{{{{{{{||{|{}||{{{|{{{{||{|||{|z|{{{{{{|||||||}{{||{{{||}{{||||{z|{{{{|{}|}}||{|{|{z|{{|{|}||||||{{|z{{||{||}||{{{|{{|||||}|}||{|{|{|{||}|}|}|{|{||{{|}}|||}|||{}}||z|{}|}}{||}{{{{|{z}z}|||}}||{||{|{}{|}}|||{{{{{{|{||{|||}}{||{{{{||}{||}}|z{{z{{|{{{|{{|{}{{|{{|}||}||}{}|||{|{{{{||}|||||||{|{{|{||{|||||{{|{{{{{z|{|||||{{|z{{z{{||{{{|}|z{z{{{{||z{||||{|z{|{{z{{|{|{{{|z{{z{{|{{{|{|{{{{{{{z{z|{{|z|||{{{{{{zz{{{|||{{{{z{z{zz|{{{{{|||{zzz{z{{z{{|{{|{{zz{zz{{|{|z||{z{z{{|zz|{|z{{|{{z{{{{{z{{{{||{|{||z{z{z|||||||{z{|{{zz{|{|{z|{{z{{z|{z{{{{|}{|||{{{z{{{{||}{||||{{{{{{{{{}{{{}{z{z{|{{z{{{|||{}{{{|{{|{|{{}{|||{{||{zzz{{||{||||{{z{{z{}}|{||}||||{||||z{|}||}|{{|{{|{{{}|||||}{{{|{{{{}{}}|{|}}{{|{|{{|{|||}|{|{{|{{{||{{}|||}|{{z{{z{|}{{||||{{|{{z{z|{||{{{|{z{z{zz{{{{{{{|||{||z{|{{||||||||{{|{{{||{||||}}|{}{z|{{{{{{|||{|{{{{{{z{z|{{|||{{|zz{{{||{}||||{z{{zzzz{{{{|{|{{z|{zzyzz|}{{|{{zzzz|zz{{z{{{{{{{zz|{zzz{{{|z||z|z{{zzzz{zz{{{{|{zz{{{yz{|{|{{{|z{{{{z{{{{||{{{{{|{zzz{zz{{{{{|{{{{zz{{zzz|{z{|{{{|{{{{z||z{{|{{{{zz|z{{|{||{|{}{{{{{z|y||{{{{||{zzz{z{{||{|||{|{{{{{{{|{}{z{{}||{{|{{{{{{{|{}{|{{{{|{{|{{|||{||z{{z||{z|{||{|}|{||{{{{z|}|||||{|{zz|{{{{||{|||}|{z{{{|}{{|||}|||{{z||{|{|||||||{{|{{z{|||{||{}|||{{{|{{}{}||||||{{z{{{||||||}||z{|z{{z{{{|}{{}{|{z{z{{{{|{{{{}|z{{zz{{{{{|{{||||{|{|{|{}|{}|}|}||{{|||z|}{||||}}|{{{|{{|||z|{|||{|z{{{z{|{{{{{|||z{{|{{{|{{|{}||{{{{y{{||{||||||zzz{{{z{|{z{||{{z{z{{z{{{{{z|{{{z{z{zzz{|{{{{{{|{z{z{z{{|{{|{|{{z|{zzzzz{}|{|}|zyz{z{|z{{{z}z||z{z{{{z{{{{|z{|{{{|{{{z{||{{z|}|zzzz{z|z{|||z|{|z{{{{z{{{z{{{|{}{|{{{zyy{||{{{|{|{z{{{{{z|{|{|{z{{zz{|{{{|{|{{|z{{{z|{|||{||{{}{{|z{{{{{{|||{|}{{{{{{z{{|z||{|}{}{{{{zz{|{|{|{||}z|{|z{{|}||||}{{|z{{|||||}{|{|}|{{{z{{{{}|}|||||{|{|{|z||}||{|||{{||{{{{{|{{|}}|{{{|{{{||z{{|||{zz{{{{{z|{|{||}{{z{{{zz{}{||||||z{z{z{z{{||{{|}|{|{{{|{}|}|}}}||{}{{{|z{|{{|{|}||z{yz|z|||||{||{|{{{z{z{{{|{||}|{|{{{{|{z||{||{zzzzz{{y{|||{|{{{z{zzz{z{|z{z{||{z{{zzz{z{{zz{{|{yz{zz{{z{{{{||{{z{{z{{{{|z{{||{zz{zyz{{z{{{{{{|{{zy{{zzzz{{{|{|{{z|{{{zz{{|{|||{z{z{zz{{|||||{||||{{{{{||{{{|||z{{|{{zz|{||{{||{z{{z{||{{|{|||{{{{{{{{{z||{{|{{z{{|{{z|{|||||||{{{{{{|{||{|{||{{|{{{{z{{{|}||}||{{{{{{{|{{}{||}|{|{|z{z{}||{{|{||{z{{{{||||||||{{{{|||{{||}|{||}z||{{{{{}}||}|||z|z{|{{||||{||}||z{|z||||{{}|}}{|{{|||z|||}||{|{|{{|{{|||||{{|||{z{zzzz||||z{||{{{z{z{{|z|{z}|}}{|{|}||}}||||}||{{|{{{z|||||||{||z|{{z{|||{||}{|{{|{{{{{{|{z{{{{||{{{zy{||{{|{|{zz{zz{z{|{{{{{|{{{z{zz{{{|zy{{{{z{z{y{z{{|{{|{|{zzz|zz{z{z{{z|zz{z{z{z{|{{z{{{{{z{{zzzzz|{{{{||{z|{{z{z{{|{{{|zz{zzz{zzz{{|{{{}|{{{z{z{{{z||{{|{zzz{zzz{{|{||}{|{z{|{{{{z{{||{|z{{{z{{z{|||{{{{zz{{{z{{{{{{||{{z{{{{z{z|{||zz||z{{|{{{z||||{{{{z{{{z|z{|{{{||||{|{z{z{{{||}{|}|{{z{{{{{{|}||||z|{{{{z||{{|{{|||{{{{{|{{{||||||||{z|{{{{||||||||||{|{zz{|z{||||||z{{|{{{{|{|}{||z{||||z{{|||{|}}{{{z{{{{{|{|||{{{z{z{yz{{{||{zz{{z{zzz{{{z|{{|}}}||{||}||||}{|||||||{{|{{||{{|||{{{zz|{z||}{{||||{{||{{z{{|{{{||{|{zz{z{|{{|||{|zz||{{z{z|{|{{|{{{{zzyzz|{{{{||z{z{zzz{{z{{|{{{|{yzzzzz{{{{{{}{z{zzz{z{zzz|{|||{{z{{zzzz{{|{{||}{z{z{z{z{{{{z{|||{{zzz{zz|{{{|{|{|zzz|z{{|z{|||{|{{{zzz{{||{{{||{zz{{zz{{||{{{{{{z{{{zzz{{{{|{{|{{{{{{zz{{{{{{|{{z{z{z|{|z{{{{}||z{z|z{z{|{{{|{|{z{zzzz{{}||{{||{{{{{{{{{||||||{{{z|z|zz{}||||{{|{{{{z{{{|||}{|{{{{{||{|||{{||||}{||{||{{||{||}}|{{|{{|{{||{|||||z{{{{{|{||{|||}{{{{{{{{||{|}|}||zzz{{{zz||{{{{|{|{|{zz{{|{{{||{{{{zzzz{|{{||}}}|}}||}||||{}|||~|||z|{{}||}||||}|{{z|{{z|{z||}{}{z{{{{{|||{{{|}{{zzzz{{{}{|{|{{|z{|zy{|{{|{{{{}|{{{z{{zz{{{{{{{||{{z{{|{{{{{{{|{{{zz{z{{z{|z{||{{zz{z{zz{{|{{|{{|{{|zz{{{{|{||||zz{{{{{{{{|{{{|z{z{{{{y{{||z{|{||zz{{{{zz{{{{|||{{zzzz}|{{|{{{{{{{{z{{z{{{{|{||}{{{{z|{{{{||||}|{{z{{z{|{}{|{|||{{{{{{{{|{{{{|}{|zz|||{{{{|{{{|||{{{{{{{||||||{||{{zz{{z||{{{|{{|{z{z{{{{}|}|}}|||{z{||||||{{|||{|{|{{|{||}||||}|{||{|{z|||||||||{|{{{|{{}||||||}{|||z{|{|{||}|}|{{||{{{||||||}|{|{|{{|{{}|}}|}{{|||{{{{{{|{{{{||||{|{{{z||{|}~}}}||}{|||}}|{|~}{|||{{{|||{}|}|||{{{{{{{||||||}|||{{{{|{{|{|{{|}|{||{z{z{||{}z||||{{{{|z|{{|{||{{z{|{{{{{{|{||{z{{{{{{z|{{{{{|{{{|zzzz{{{|{{{{{{{z{z{|{{|{{||{||{{{{z{{{||z|{|{||{{{{z{{{{|{{|{{{zz{{{{{{|{{{|{||{{z{{zz{{{z|||z{{{z|z||{{|{{|{||{{{{{|{{|{|||{{z{{{{z|z|{||{}|||{{|{{{{{|{{||{|{z{{{zzz}||{||||{||{{{{{{|||{||{}{zz|zzz{{}||{|||{|{z{|{|||{{|~||{z|{{{{||{|||}|||{||z{{}||||||||{{|}|||{||{|}|}|z{||{|{|}}||||}|{{|{{||}|||||}|}{{|{{{{|||||}|}||{{{{{||||||||||{{{|{{{{||{{{||||{{{{{{||{||{{{|{|z{z{{{|{{{}~|}|{||{}{}}}|}|}}}{||{{{{|||||||}{{{{{|{{{{|{|||{|{|{{|{{{|}|{|||{{|zz{{{{|{{{|{||{{z{{{z{||{{|}{zz{y{{|{{z|{{|{{z{{{z{{{{{z|{|||z|{{zz{zzz{{{|{|z{z|z{z{|{{{|{{|{z{|z{|{z|||{z||{z{z{z{z{z{{{{|{z|{z{{{z||{{z|{|{{{{z{zy{{{{{{|{|{{{{zzz{|{|||}}z{z{{{{{||||||{|{{{z{{||{||||{|{{{|z|{|z|{|{||||{{z{{{zz{||{|{|||{{{{{{{{{{{|||{{{{z{{{z|||{{|}{|{z|{||{|{||{|||{|{{z{z{|{||{}{|||{{{{{{{}{|||||{{{{{{}||{|||}}|||||{{{|{||||||}|{||{||{||{|z|||{|{{{{|||{|||}|||{|{||||||{|{||}{z{z{z{{{||{|}|}|{zz{{|z{|{|}{|{{{{z{z{{{|{z||~}}}||||}|{}|{|||}|{|{||{{|{||||||{{|{{{||{{|{|{{|{{|z{{|{|{||{{|{|{|{z{{z|z|{|||{|{|z{{{y{|{{{|{{{z{z{zz{{{}{{||{zz{zz{{{{{z{{{{{z{{z{z{{z{|{{{|||{{{{zz{{{{{||{|{{z{z{{{{{{{|{{{{{z{z{{zz{zz|}||z{{{z{z{{{{{{||{{{{z{|z{{{z{{z{||{{zz{{{{|{z||{|||{{{z{z|{{|||{|{{{z{{{z{z{{{|||{{{{{{{zz|||||{{{|{{z|{{{|||{{|{{{{{z{{{{|{{{{||{{{{z{{{|||||}{|z||{|{{{||||{{}}|z{{{{|{{||{|||{}{|{{{{{||{{|||||{|||}{|{|{||}|}}{{{||||{|}|{|||{{|{{{{{}||{||{|{z{{{{{{||{|{{||||{{|{{{||||{{}||{{{zz{{|||{||||{{{{z{{{|}|{{|{|{z|{z{{z{|{|{~}~|}{}{{}|}~|||}~}|}||}{z{}{|{||}||||z{|{z|||||||||||{{||{{{||{{}}|z{z{{z{{{|{{||||{z|zz{{{{{{}{||||{{{zzz|{|{{|||z{zz{{zz{||{{{z|{z{z{zz{zz{{{{|{|zzzz{z{{{{||{|{{{{{zzzz{|{|{{{{{|{z{{{z|{|{z{z{{{{{{{{z{|{{z||{{zzzz{{z{}|{{|||{zz{{{zz{{z{{|||{{{z{{{{{}|{{||{{{{{{zz|||{{|||}{{|z{{z{{|{z|||{|z{{z{z{|||{||{zz|zz{{{{{{|{{{||||z|z}{{{{|||{{|{|{z{{{{|{||{|{|zz{{{{{{{{{||{|{|zz{|{|{{|{|||||}||{{}|{{|||{}|||{{{{{{||}|}|}|||{||{{|{|}|}}|||y{z||{{{||{}||~{||z|{{z{|{{|||||{{{z|{|||||{|||||{z{{|{{{{}{|{||{{z{|z{z{|{||}}}|}}|{||{|}}|}|}}}|||||{|}|||}}}||{z|{|zz|||{}||||{{||z|{{|||||{|||z{{z{z{}|{|{|||{{{{|zz{{{{|{|{|{zz{{z{{{{{{{||{zz{z{z{{|{{{|||zz{z{{zz{{|{{{||z|{{{yzz{{|{{{|{{{|zzz{{{z{{z{{|{{{z{z{zz{z{{||{{|z{z{zz{{z|{{{{zz{zz{zzzz{{{{||{{z{zz{z{{|{{|||{{{{{{|{{|{|{||{{{{{{{z{{|||{{|{{z{{{{yz{}||{|||{z{{zzz|{||{{{|{{{|{z{z{{{|||{|||zz{{zz{||{||{}|{{{{{||{{|{||||||{{|z{{|{|}|{||{}{{{{{|{}|}{||}{{{{{{z|{{}||||||{|{{|{|||}}||}}||{{|{z|||||{|{|{|{{{{|{{||||}{}}|{{{|{{{||||{|||{|{{z{{||||{|{|||{|{{|z{{||||z|{z{{{{z|{|{|{{~}|||~}|}{}||}||~}||{{{{{|}|}{|}}}|{|{z{{{{{{||||||{||{{z{||{||||||{zy{{|{||}}|||}{|{zz{zz{}{|z{|z|{{zz|z{{{||{|z|{{{{{{{{{|{{{{{{{zzyz{{z{{z{z{||z{|zz{y{z|}{{{{{|{{zz{{{|{{{{{|||{{zzyzzz{{z{|z{{||{{z{zz{z|{{{|z{{zz{|z{|z||{||{{zz{{{{{||{||{{{|z{zz{z{{{|{|||z{{{|z{z{{|{||||{{|{{z{|z|{|{{|{|zz{{z{{{|||{|||{|z{z{zz|||{{||||{{{z{|{{{||{{}{|{|{{{{{{|{|||||{{{|{{z{||{{|||{|{{z|||z{}{{||{}{z{{|||{{||{|}|}|{{{|{{||}}||||||{{{{{{||{{|||||{{|{|z|{|{||{}|}||z||{{{|{{|{|{|{{{{{z|{{||{||||{z{{{{{{|{{|{{|{{{{{{{{z{{{{{~}~|}~}||}|}}~}||}||}}||z{|||{|}{|}|{{{{{{z||||||||{{z{zzz{{||}{z{{{{{zz{{{||||{|z|{{{{{{|{{{{{{|{{{{z{{{z{{{{z{{|{{z{{z{zz{{{{{|z|{{{zz{{{zz{|{{{{{{{{z{zz{{{{|{{{z{{{zzzy{{{z{{|{{zzzzzzz{|{{||{|{{{z{z{{z{|{{|{|{{{|zz{z|{{}{{{|{zzzzz{z{{{|{{{|{{|{{{|{||||{|{{{zzzz{{{{||{z||}{z{{{z|z||z||{|{z{{{|{{{z|{{{{}{{{{|{{z{{{|{{|||{{z{|zzz||||{|||z{z|z{{{||{{{|{|{zz{{z{{|}|{|{|{|z|{{{|{||||{|}{{{{{{|||{}||{||||||}{{{{{}{|||||}{|{{{{|}|{|{}|{|{|{{|{{{{{||{||||{{{zz{z{|}|{{|{{||{{|{{|{|{||{|{{|zy{z||{|{{{|z{{z{z|{{z{{{~|~}|}}}||}|~}||}~~}|{}{z{||{}|{|}|{|{{{|{z||{|}{|}|{{{{{{{{{{|z|{{|{|{z{zz{|{{z|{{{{|z{z{{z{{|{{{{{zyzz{z{{{||{{{|{z{z{{{z{{z{{{{|{zz{{y{z{{{{{{{{|zz{z{z{zz{z{{zz{{z{z{zy{{{zz{||{z{z|{z{{{{{zz|z{z{zz{zz{|{{{|{{z|{zz{z|{{{{||z||{{{{zz|{|{|{{||z{{|{{{{||{|z{|{{{|z|{{z|{{z{{|||{{{{{{zz{||||||{z{{zz{z{}|{||}||{{|{z{z{|{{{||{{z{{{{{|||{{{{{|{{zz{{{|{|||{{}|{{{{{{z{{{}{|||{{{{{{{{z|||}{||{{{|{z{{||||{{|}||{{|||{{{|z|||{|{z{{{zzz|||||{{||{z|zzz{{|{{||||{||{||{|{|{|||{|{{{z{{{{{{{{||{|z{y{{z{z{{|{z{|}zz{y{{yz{{{|{~~}|}}~}}|}}}|}|}}}}|}||{|{}}||}}||}{{{||{z||{{{{|||{|||zz{||||{||}{{{{{{|z|{z||}{{{{{z{|{{{|{|z|{{|z{{{zz{z{{{{{{{{{zy{|zz{{{z{|{|{zz{{zz{{{{|z{|{z{z{y{{{{{|{||||{{{{zz{{{|{{|{{|{{z{|z{{{{{{z||{{z{z{zz{z|{{{{{|y{{z|{z{{|{{{|||{z{{{zz{|{||{{||||{{{{{{{||}{|||zz{{|z{{z{{{{||{|{{{|{{z|||{||{|{{{{{|z{|||{{||||{z{{z{{{|{|{{{||{{{|{{zz||{||||{{{{|z||{|{{||||{{|{{{{z{|{|||{||z|||||{{{|||}|}{{|{{{|}|{{|{||||{{{{{{||}{|||||}{|{|{{{||}||||||z|{{|{{{|{||}|}{|z|}|}||}||{|||{{|{{{{|{|{{||}||z{{y{{{{|||{|{{{{|{z{{{{{z|{~|~}~}}}|}~||||~|}|}}|{||}}}}}|}}}{|{|{||||||||||{{|{{{{|{{}|{}|||z{{{|zz||{|||{|{|{{{{{|{||{|{|{|{|{z{z{{{{{{{{{{z|z{z{{|z{{{|{|{zzz{{{{z{{{{{{{|{|z{{{z|{{{{||||z{zzz{{{{|||{|{{{z{{{{zz{|{|{{|{{|{zzz{z{{||}|||z{{|{{z{{||{{|{{z{z{{|{||{{|{|||||{z{{{{||{{{||{{|{{z{{{|||||||{{{{{z|{{||}{|||{{{z{{{{{}||{{|z{{{{|zz{z|{{||||{{{{{{|{|}||}}||{{{{z{|{|{{|{}|~{{z{|zz||||}|}}|{{|{{{{{||||{||||{{{{{|{z||||}|{{{|{z{{{{}}||}}||{|||{{|{||}}}}{|{{|{{}|||||||||}|{{|{||||z||||||{|z{{|{|{||||}}||{{{{{z{||{{{}|{{{z{{|z{{{{|~~}}~}|}}|}~~}}~||}}|||||||||||}}|}{{{{||{}|{|||}|{|{|{{|{|{|{{|||{{{{{|zz|||{|{{||||zz|{{||{{{|{{{{||zz{{{||{{{z{|z{{{zzz{{{{||{|z{zy{zzz{{|{{z{{z{{zz{zz{{{{|{||z{|{{{zz{||||{||{zyz{y{z{|{{{|||z{{{{zz{{{|{|{{{{{z{{{{z{|{{{z|||{{{{{|{{{|{||{|zz{z{z{{{{{}{|{{|z{{{z{{||{{|||{|{{|{z{{{||{{||{{z||{{{z||||{||z{z{{{{{z{|{}{|{|||{|{{|{||||||||{{{{{|{{{||{|||}|{{|{{z{{|||}{|{|z{{{{{{||{||}|}}{|{|}||{{|||}|||||{|||{{}}||||||{{z{{{{{||}|}|{|{|{{{{{||||||}||{{|||||{||||}||||{z|{|{z|{|z|}|{}z{zz{{|}}|{||||{{|zy{{|{|{{~~~}}}}}}~}}}}}~||{|{{}{{}}||||}|||{{{|{|||||||{|{{{{{{|{|||{|||{{{{||z{|{|{{|||{{{{{{|z{|{{{||{{{{{{{{{z{{{||{|zz{{zzz{{{||{{|{{zz{{{{z{{{{|||{}{{{zzzz{{{{{{|{{z{{zzz{|{|}|{{{{z{{z{{z{||{|}{{{|zz{{zzz{|z{|||{zz{{z{{|z||}||{{z{{|{{{|{||{{{}|{{z{z|{|||{{|}|||{zz{|{|{||{{}||{{y|z{z|z}|||||{z|{{|z{|||||{{||{{{{{{{{{||{{|{{{{{{|{{|{||||||z{{|{{|||{z|}}|}{||{{{{z|||||{||||{{|||{||||{||}|||{z|{{{{}||}|||||{|}{{||{|{}|}{{{{{{{{|}}|}}{{|zz|{|||{{||}|{}|||||{|||}||||{|{|{{z|{{||{}}|{|{|{|{{{{||||{||{|zzz{zzz|{|{{}~}}}}|}}}~~}}}}}||||||}||||}}}}||||{{{{z||{||}}}|z{{|{z{{|||{{}||{{{{{{{|{||||||{{zz|{}z||||{{||zzz{{{z{|||{z}{{|z|{{{|{{{z|{{||z{zz{{zz{{{||{{{{{{{{{y{|{|{{z{{|{{z{z{{|{{|||||{{zz{z{zz{{{{||{|{zzz|{z{|{{||{{z{|zz{{{{{{{|{||{{|{|zz{}|||{{}||z{{|{|{{||{{||||{z|z{{{|||{|{{{zz{z{{|z{||z{|{|{{{{{{{||||||{|||z{{{{{{{||{|{}||{{{{{|{{||||}||{{{||{|{||{{||||{{{{{{{z{||{||}{|{{|{{{{|}|||}||{{|{||||||z{||}||{{{|{{|{~|}|||||||{|z{||}|||||||z{{{|{{|{{}||}}{{z{z{{{{{|}}||||||{{{|{||{|{||||{{|z{{z{{|{{|}|{{{{z{{z||{||~}~~~~}~}}~|}~}}|}}{|||||||||}}~|{{{{|{||||}||}{{|{{{{z{|{|||{{||||{{{{z|||{{|{}z{zz{{zz{|{z{||{{{{|z{{z{{|{{{||{{{{{{{{{{{{||{|z{z{{zz{{||{}||{|z|{{zz{{{{z||z{{{{zzz{z|{{|{||{{zyzz{zz{{z{|||}{{z{{z{{z|{||||{zzz{{{{{|{|}{||{{{{{{z||{|}{{|{{{{{|{{|z{|{|z{|{{|{{{z{{{{|{||||{{z{{z{{{{||z{{{{{{|{{{{|{}|{|}|{{{{z{{{|||{z{}|||z{{{{z||{}|}|{{{|z{|{{{|||{|}||{{z|{{z{||||||||{{|{|{{|||||||{|{|{{|{|{|{|}|{}{{|z|{{{{{{||~}||{{{|{||||}{||}|{{{{{|{|||{||||}||{z||{{|}|}|{||{|{|z|z{|||{||}||{{{{{{z{|{{|{||{|{z{|{{|}{z{|~~}|~}}|}~}~~}|||||{{|}|}}|}}||{{{|z|||{||}|}|{|{z{{{||{{{{{{|{|{{z|z{{}}{|{|z{z{{{{{{{{{{|{z|z{{zzz{{{|{{|{{zz{{{{z{z|{||{{{{{{z{|{z|||z{|{{{z{{{{z{{{{|{|}{{{{zzzzzz{{{|||{|z{{zz{z{{z|{{{{{zz|z{z{z|{{{{}{{z{{z{{z|z|||{{||z{zz{{{{z{|{{||{{zz{{|z{{{{|||{{|{zzzz|{{{{{{{|{{|{{{{{{{|{||{{|||{{z{z{{{|{||{{{|{{{{{{{{|{{||{{z||{{{|{|}}}{{{|z{{{{{||{{{}|||{{||{zz{|{}|{}{{{{{|{||{|||{}}}{{|{|{}|{{{|||{}}{{{z|{{{}}|{|{{|{|{{|{|||{|{|}||{{||{|{|||{}{}{||{{}|{|||||}||||||{{|{{{||{|}||{|{{z{{z|{{|{||{{{{{zz|z|{{|{~~}}}~}~~}}}}~}~|}|{}{{||}{||||{{||}{{{|||{|||||||{|z{{{|{|{z{||{{|z{{{{|||{||{|zzz{z{zz{{|{{}{{|{{z{zzzz||z{|{{{{{{zz{y{{{|z||{z{{{{{{z{{|{{{{|{z{zz{z{z|z{|{{||{{{z{{z|{|{{{{{z{z{{zzz{{{z|{{||z{{|{|{{zz{{{z{yz{{{{zz{z{|{|||z{{{{z{|{|{{{|{|z{{{zz{{{{|{{|{|z{{{yzz{|{{{||||{{{zzz{{{|{{{||||{|{{zz{|{{|{{|{|{|{{zz|{|{||{z|{{|||z{|{{||z|{||z{{{{|{z|||||{||{{{|zz{{|||{||||{{|{|{{|||{||}||{||{{{||||{}}{}{{|{||{{{}||||}{||{|{{{{{||{|{}||{{{||{{{{|{|||}{|{{}{{||||||}|{{{{z{{z{{{||{||{{{{z|z{z|{{|{|}{{z{{{z{{{{||{~~}}}}|}~~}}~}}{|||{|{||}}}}}}||{{|||{}|{{||||{{{{{{{|z|{{z|||{{{z{{{z{{{|{{{}{z{{{z{z||{|{{|{|z|{|{z{{{|{{|{{zz|{{{{{{{|{{{||{zzz{yz{{{{{{{||z{{{yzz{{{|{||{{|{{zzzzz{{||{{{{{{{z{z{zz{{{{{{|z{zzzzzzz|{{{{{|zz{z{{z{{z{{{{|{|z{{{z{{{|{|{{|{{z{{{zz{{|{{||{{{z{{{z{z{{{|{{|{z{z{{|{z{{||{|{{{{{{{|{{||}{||||{z|{z{{{{{{{{{||{{{z{{|||||||{{|{{{||{|{|{{|{|||{{|{{{{{{||{|{|}{z{{||{|}||{|||}|z||{{|||||}||||||{|z|{|{~{}|{|{|||{{z|{|{}|{}|}|{{{{z{{{{|{||}|{{{{|{{{|{||||~|{{|{{{{z|{}|||{|{|{{z{{{{|z||{}|{{z{{|z{|{|||~~~~~~}~}~}}|}}}}{}}||{}|}}}}|}}{|{{||{|||{}|||{{|{{z{{{||}|{||{z|{z{|{|{{|{|{{z{|{|zzz{{|{|{{{|z|z{zzz|{|{{||||{{z{{|{{{||z{{|zzz{{{zy{|{{{{||{zzzzz{{{}{{|{||{zz|{z{z{|{|z{{{zy{{{z{y{{{z{{{{{z{z{{{zz|||{{{{|z{|{{z{{||{{{z||{z{{{z|{{|{||}{{{|{z{{z|z{|{|{|{z{zz{{{||{||||||{|{{z|{{{|||{{|{{|{z{zyz||{{{||{{z{{|z{|||{||{{|{{zz|{{{|||{|{|{{{|{{{{|{||{|||{||{|{{{{||{|||||{|{|{{{}}|{||{|{||z{{}z{|{|||}}|{z|{||{{|}|{||||{{{{{{{}||||||||{z{{{{{|{|||||{|{z{|{|{||||}|||{{{{{z{{{|||||||{|{{{|{|{{||{}|}z{{{|z{z|{z|{~~}~|}~~}~}}~}||||||||}||}}|~|}}z{|{{{||}{||||{{||z{{||{{{|{|{{{{z{y{{{{{{||{{{{{zz{z{{{{{}}||{|{|{{z|{|{{{{{{z{zzzz{|zz|{|{{{zy{{zzzz{||{}||{zz{zzz{{{|z{|||{{{zzzz{{{{{|||{{z{{z|zz{}|z{{{|{z{z{zzzz{z|z|{|{z{{{{{z|{|{{{|}{{|z{z{{{|}{{{{|{{{{zz{z{{{{{z{|{{{{{z{{{{||{{|{{{||{z{{{{|||{||{z{{|{{{{{||{}||{{{|{{z{{||{{|{{z{{|{{{|||||||{{{{{{{{{{{|{|||||z{{{z{{{||{||||{|{|{|z{z|||||{}}|{{{{||z||{||{|{||{|{||{|}|}||||{|}||{{|||||||{||{|{z{{{|{|{||}|{{{z{|{{|{||||{{||{{||{|{||{{||||{{{{z|{{|{{||{{zz{z{z{z|||{{~~~~~}~~~~~}~}|}}||{}|||}}}||{{||{|{||||||||}{|{{|{{|{}|{{||}{|{z{{{z{||z{|||{{{z{{|{{|{{|}|{{z{{z{{{|{|{{{}{|{{zz{z{|{z{|{{}{{|{{{yzz{{{|{{{zzzz{zzzz{}{|||{{zz{z|z{|{{{{{{{{{{{{{zyy|z{z{|{|{{z{{{z{|z{{|||{{{{{{{{{||{{|||}{{z{{{{|{{|{}{||{|{z{{zz{{z|zz{{{zzzzz{{}|{||||{{{{{{{{{{|{||{{|z{{{{{z|{||{|{{|z{|{{z{{{|{|{|{{{{{{|{{{||||{}|{{|{{{|{{|{|{|}|{{{|{{{z{|||||{||{|{{zz{||||{||||{{{{{|{{|{||{{|{|{|{|{|||||{{{}}{||zz{{||{|||||{|||{|{{|{{||||~{}|{z{|||{||z|{|z||z{{{{{|{|||}{||{{{z{zz{{|{{||||{z{{{|{{{{|}~~~~~}}~}~}|}|||}{}~}}|}}|||{||{||}{}||}|}{z{|{{{z{}}|{||{{{{{{{|{||{{||{{|z||{z{{{||{{z{{{{z{{y{{|{|{{|{{{z{{z{zz{|{{{||{zz{z{{{{{||||{||{zz{z{z{{|{||{}{z{{{zz{{{{{{{{||{{zzzz{zz{{z{{{}|{{z{{|{||z{{|||{{|{|{zz{||{|{|||{|{{{{{{{|{|{|}{|}z{z{|{||{|{|}z{{|{{{{{||z|{|{{zz{|{{{z|{|||{{{{{|{||||{|{z||{{|{{{{{{}|}|{||{{{{{|{zz|{|}||||{{|{{{{{|{|{{{||{|{{{{{z|{z}||{|||{|z{{||}||||}}{{|{{{{{||||{||{|{{{{|{||}|}}}|{|{|{|{{{{{||{||}||{{|{{{|{{{||}}{|{||{{|||{||{||{||zz{|{|{{|{{|||{{{{{{{{{{||{||||{z{{z{{{{{{~~}~~|}}}}|||}}}~}}{}|||{|{||}|||}}}{|||{||{{{|{||{||||{{{{{z||||{|||{{|{{z{z{}{zz{{{{{|{{{{{{{||z|{z|{{z{{z{{{{|{{|{{{{{{{|{{{|{{||{{z{z{{{{{{|{|{|{{{{{z{{{|{{||{||{z|{{{{{z|z{{{|{|{z{{{{{||{{{||||{|{{{|{{{{||||}{{zz{{||||||{{||{{{z{{{{|||||}{|{z|{z{{{||{{|||||}|{{{{|{||||||||{{{z{z{{|||{||{{{z|{z{{||{{{|||||||{|{|||{}|||{|{{|||{{||{}|||}|{||{{{{{|{||{}||{{|{|{||}}|||}}{z|{|{|{|}||||}}|{|||{z||}}}}}}||{||{{|{|||}}}||{||||{{z|||{}{~|}}{||{{{}{|}|{|||{|{{|{{{|{||||||{{{{|||{|||{{}{{{{|{{{z{|||z~~}}~}~~}}||||||}||}}~}}{{|{|{{|||||||||{{{{z{z{||||{||{{{|zz{z{{||{z|{|{{{{{zzz|{{{{}{{{zz{zz{{z{|{zz{{z{{zyzzz{{|}z{z{zzzy{zz{z|{{||||{{{{{zzz{{|{{{{{{{|{{{{z{||z|{|{{{{{{{z{{{|||{{{{z{zzz{z{{{{|{{{{z|{|{{z{|{|z{{}{{{z{{z||}{{|{|{{{zz|{{zzz{{|{||{{{{zzz{{|{{{|{{{{|{{{{{{{||||{}{{|{{|{{}|||{|{|{{z{z{|z|||{|}{}|{|z{z{{{||}|{||{{{{{{{|||||{||||z{{{{{{||{||{}{|{|{{{{{|}||{{|||||{|{{z{}{{||||||{{||{{{{||||}||{{|||{{||}||||||z{|{{{{||||{|{||{{{{{{||||{||{|z{{{{z|{||{||||||{z{|{{z{|{|||{{{z|{zz{z|z{{{}~}~~~~~~|}{|||||~}}}||}}|{|{{{{||}|}|}|}|{{|{z||{|{{{{|{{|{{{z|z{{||{|{|{{|zzzzz|{|{{|{{{{zz{{{{{{{{{|{z{z{zz{z{{|{}|||{{{{{{zz{{{{{|{|{{{y{z{{{{{{{||{|z{{{z|zzz{{y{{{z{z{zzy{z{{{zz{{{|zz{{y{zz{{|z||{{z{z{{zz{{||{{||{{|zzz{z{{|{|{||{{{{{z{z{z||z{|{{{{{zzz{{|||{{||{zzzzz{z{{{{{|{{{{{{{z|{{{|{{{|||z|{{{{zz}{{|{{||z{z{{{{{{|{|||}{|{|{{{|{{{|{||}{{{{{z{{|{}||||||{{z{{{{|||z{|||{||{{|||{||{|{|||{{||{{z}|||{|{|||||{{{{||{||||}|{{{z{{||{||||}|}}{|{|{{{|}|{|||{{{{|{{{{|{||{}|{{{|{{{{{|{||{}|{z{{z{{y|{z||~~}~~~}{||{}|||}|}|~}{|}|{|||||{||||{|zz|{{|{{|{{{||}|{|{|{zz{||||||{{{zz{zz{{{{{||{||{{{{{z{{z|{{{{z{{zz{{zz{{{||{|{{zzz{z{z{{{|{}{|z{{zz{z{{{|{||{{z{{z{{{{z{|}{{{|{z{{z{{{z|{|{{z{{{z{{z{z{|{{|{||{{{{{{{z{{{{z|{|{{|{{{{{|{|||{{{{{|{{zz{{|{{{|||{{{{{|{{|{{{{|{|{{|z||{z{|{|{|{{|z{{zzz{||}{|||||{{{|z{{|||{{}|{{||{{{{{||{}}|||{{z{|{||||||{}|||z{{{{{z|}||{||||{|{z{{{||{|}|}||{|||{|{|}|{{||}||{{{{{{|}|||}|||{{|{{{{|{||||||}|{|{z{{{||{|||}{{|{{{|z||}||{}|z{|zz{z{{||{{{|{||{{{z|{|{|||}|{|{{{{{{z{z{{{}~~~}}}||||||}}}|}}|~{|{|{||{|||~||}{z{{z{{{{{}|||}|{{{z{z{z{{{}{|{|{{{z{zzz{{||{|{{{y{z{{zz|}|{{|{{{{zzz{z{z{{{z{{{zzyz{{z{||{z|z{|{z{zzzz{|{{{||{||zz{zzz{{z{|{z|{zzz{{{zz{{|z{{{{{{{z{{z{{{{{{|zz{zzz{z{{z{|{{||||{{{{z{z{||{}{||{{|z{z{z|z{{{z|{{{z{{z{|{{||{{{|{{{{{{z{{|{{|||||{{{z{z{{}{|||||zzz{{{{z{|z{|{||zz{|{{{z{||{||}|z{}{{{{{|{{|||}|{{{{{{{{{{}|{|||{z|{{{{{|||||}}{{{{{z{|{|{||{|}{}{{|{{{|||{~|{|{{|{|}{|{||||{{|{{z|{z{{{{{{|{||}}|{{|{{}||{|||||||{z|{{{{|{{{|}{{{z{{zz{{{|{{{{{{{{{zz{|{{|||~~~~~}}}}|}|}|}|}|}~|}|{|{{{|{||||{{{||{zz{{{{{|{z||||{{|zz{zz{z{|{{{|{z{{zzzz{{|z||||{{{{z{{{{{|{{|{{z|z{{zz{{{|{{{{|{{zz{zzz{|z{{|{{{{{{z|z{z{{{{{{z{{{yzz{z|{{{{|{|{zz{{z{z{{||z{|z|{z{z{z{{{{{z|{z{z{z{{{{|{{{|{|{{{zz{zz{{{|||{{{||z|{zz{{|{|||{|{z{z{z{{{||{{{|||{{{|{z{{{{||{{z|{{{{{zz{}|{|||||z{{{zzz{|{|{|{{|z{{{{{{||{}z|||{{z{{{{{{|{}||||{{z|zz{z{|{{{|{||z{||z{{|||||||{{{|{{|||{z|{}||}}{{z|{|{z}|||}|}|{{{{|{{{}{{|||||{{z{{z|{{||||}||||z|||{|||{{|||||z{zz{{{|{{z||||{zz{{{{{|||{{{{{{{{zz{{{|{{z~~~}}~}~z|||}}}|}~|}||{{|{{{{|{||z{|{{{{|{{{z||{|{{||{{{z{|{|{|z{|||z{{zz{{{z{{|{{|{{z{z|z{z{|{{{{{{{{zzzz{{z{z|{{{{z{{|z{yz{{z{||{{{zz{z{z{zz{{{{{{|{{{z{z{z{{{z{||{{zzzz{zz{zz{||{zzyz{{zz{{{{{|{{z{{z{{z{{z{|{{|{|{z{{z{z{{{{{{|{{{z{zz{z|{|{|{{{{z{{yz{z{{|{{|{|{zz{{{z{z|{{{|{|{z{{z{zz{|{{|{||{{z{{zz{{{|{|||{{{{z{z{{|{|{{|||{{{{{{}||{z|||}|z|{{{{z{|||||||||z{{{{{{{||{|{{|{{|{z|{|{|{||||||{||{||{{|||}||||{{{||z|{|}{{}}|z{{{{{{{|{|{||||||{{{{|{|{{|}{{}{{z{{{{|{{{|{||{|{{zz{{{{||{|{|{{z{{|{{zz{{zz~~}~}}||}|}||||}||}}|}z|{}{{|{|{||||{{|{{z{{|{{|{{|||{{{{z{{|{||{{||{{{z{z|{{{{{|||{{{{z{zz{||{{z{{z{z{{z{{{{{||{{{||z{z{zzzz|{{{||{{zz{zz{z{{|{|{{|z{zz{{zz{z|}{{||z{zz{{{z{{{z{{|{{{{z|z{{{|{|{{|{{yzz{{zz{||{{||||{{||{|{{{{z{{||{{|{{|{||{|{{||{{{{|{yz{||{||{|{{z}{|{|{{{|{{|{{{z{|{|{{|||||||||{{{z{{{}{{|||{|{{z{|{{||{||||}||z{{{{|||||{{}|}||{{{{z{||{{||{|||{{{z{{||{|{}||{{{|z{|{{|{||}|||{{|{|{{{|{{}||||{||{|{{|{}||||||z||{|{|}{{{||||{{{{|{{{|||||||||{|z{{{{z{{||||||{|{{{{|{{|{{|{|{z{{{{{{|||{|~~~~}}|{}{}}|}|}}}~||{|{|{{{}||z{|}}{z{|zz{z|||{|||}{{{|z{{z|{{{{|{|z{{z{zz{{|{{{|||{{{z{z{{{{{{{{{z{{zz{{z{||{z{{{{{{{z{{z{||{{{{|{zz{{{{zz{{{||{|{{{{{yz|{{{||{{{{{z{{{z{{{{|||{z{{zz{{{zzz{{|{{||zz{|zz{|z{{zz|{{{zzz{{{{{||{{||||{{{{{{{{z{{||{}z{{{{z{z{|{|{|||{y|{|{z{z|{|||{{{|z{z{{z{|||||}{{||{{{{|{|{z|||{||{{||{z{{|||{}||{|{{{|{||{|{|}||{{|{{{z|}{{}||||{{z{{z{|{{|||}|||||||{|{||}}|{|{|}|{{{||}|||}||{{z|{y{{||}|}||{||{{|z{{|||||{||{|{|{|{||}|{z||||{{{|{{{{{{}{{}|{{{{z{{{{|{||||}{z|z{z{{|||}|~~~~|}|||||}|}}}|||||{}{|{|{{{||{||{{{{|{{{{||}|{|}{|||z{{||{{|{|}{}{{|z{{{{|||{{||{z{{z{{z{{{|{|{||{{zz{zz{{{{{{|{{{z{{z{zz{{{{{|{|{{y{{{z{z|{z{{{|{{{{{z{z{{{{|{||{z{z{{{{z{{z{|{|{zz{{z{z{|{{||||zzzzz{{{{{{{z||{|{z{{{z{||{{{}||{{{{{||{|{{|{{{|{|{{{{|{||z{|{}{{|{{{{{{|||{||{|{{{{{{{z{||||||||{{|z{z{{||{{|||{{{|y{{|{{||||||{|{{{z|{|||}|{|}{{{|{|z{{|||||||{{|z|{z{||}||||||{{{{||{|{}||||||||{{|||{|||}}}||{z{{{|z{|||||}}|{{|{{{{|||{||}}{{|z|z{|{|||{||{{{{{|{{{{{|{|||}||{z{{|||||}|{||z{z{{{{{{|||{~~~~~}}||~z||}|~}}}|}|{|{{||{||}||||||||{||{{{|{{{|}||z{z{zyz|{{{{{|{{z{zz{{zz{z{{{|zz{z{z{zzz{|{{{|{z{{zz{z{{zz{{z{{|z{z{zzz{{{{{{{{|zzyzzz{{{{{{{{{{{zz{{z{{{{{{|||{zz{zzy{{{{z{{||{zzzz{{{z|{{{{||{{zz{{z{z{{{{|||{zzz{{z{{{|z{|{|zzz{{z|{{|||{{{|{{z{{z{z{{{{|{{|{{{{{{{{{|{|{|{{z{{{zz{{{|{|{||{|{z{{{{z{{|z{}||{{{z{|z{||}|{{{|{|z{{{{{{{{||}}|{|{{{{{{z||||{|{|{zz{{{{||{|{|||{{|z|{{{{||{|||||{||{{{||{||}||||{z{{z||{{||{}{{{{{z{{{{|{{||}|||z||{{{|{{{|||||z{{z|{{z|}|{||}|{|z{z{|{{{{|{{||{{{z|{z{{{{{{|~|~~~{||||{{||}}}}}|||z{|{{|}||}|}}|{{||z{{{||{{|||{{|{{z{z{||{{|{{{z{{{{||{|{{{|||{z{{{zz{|z|{{|{{|{zzzz{{|{z{{{{|zz|zz{z{{{{z|{|{{zz{{z{{{|{z|{|{{{{{{{{zz{{{{{{|z{{{z{{z{{{{||||{{z{{{{z{{{{{{||{z{z{{z{{z|{{{||{{{|{z{z{{}{{|{|{{{{zz{{|{{z{{{|z{zz|{z{}||||||{{{{{{{{{{|{{}||||{{z{{{{{{{{{|||{{{{z{z||{{{||{|{|{{{{{{{{|}|}}|{|{z{{|{z{|||{|||{|{{{zz{||||||{|{|{{{{{{|||}|}|{|{z{{{{|||}||{||{{|{{|z|}||{||||z|{{|{{|}{{|||||{{|{|{{||{{||}|||{||{z|{{{|||{|{{{{|z{z{|{|{|||||{zz{{{|||}||||{z{|{{z{||{||~~~~}}|{|}|}||||||}}|||{{{{|{|{{|||||{{{{zz{{|{|{{|||{zz{{{z||{{|{{{{|{z{zzzz|{{z{{{zz{zz{zz{||{{{{{z{z{{{|z|yz|{z{{zzzz{z{{{z{{z{{{z{z{z{z{{{|{{{{{{{{zzzz{{|{|{{|{{zzzzz{{{{z{{{{{{z{z{z{zz|z|z|{|zzzz{{zz{{{|{{||z{|{{z{z|||{{{{|zz{{{{{{||{|||{|{{{{{|zz{{|{||{{{{{{{z{{z{{{|{|{zz{{{zz{{{|||{|{|{{{{{{{{{|{{|{{{{z{{{{{{|{||}{|{{{{{{{|||{||}||z{{|{{{{{{{||||{{{{{|{{{{|{||||}{z{zz|{{||{|||{{|{{{{{{|||{{|}}||z{|{{{{{{||{||}|{{{{{{{{{|{||||{{{{||z{{||{{||||{{{{||zz{{{|||||{z{z|{z{|||{||{{zz{z{z{{||||~}~}}~}||}}|||}}|}}}||{{{||{{||||||{{zz{{{{z|{||{|||{{{zz{z{{{|{||z|{{{z{{{y{{z{{|{||{{z{{{{{|zz{||{z{zzz{z{|{{{{{{{{zzzz{z{{{||{{{z|z{{{{z{{{{|{{|{{{zzz{{zz|{{{{|}{{{z{yz{z{{{{{{|{{zz{z{z{{{{|{{{z{|{{{zz{{{||||{{z{zzzz{{||{z{{|{z|{{{{{{{|||{{{{{{{{{{z{{|{{{{{{{z{z{z{{|{{|||{{z{{{{z{|{||{{}{{{{z{z{{{||||}{{{{|{{{z{|||||{||{{z{{{|||{||{|}{{{{{{{{{|||{||{|{{{|{{|{|||{|{|||{{{{{|{||||||||||||z||z|{{{||||}||||||{|{||{||||{{{{z{{{|||{}|}|{|z{{|{||}}||}|{{|{{|{{|{{||}|||{y|{zzz|{|{{|}{{{{{zz{z{||{{~~}}}~}||}{}||~{}{|}|||{||{{||{{}||||zz{{|z{{|{|{|||{|{z{{{z{{{{||{|{z{z{z{z{{zz{|{{{{{{{zzz{{|{{{{{{z{zz{{z{zz{{{z|{{{z{{zz{{z|{{{z|zz{z{yzy{|{z{{{z{z{z{zz{{|{z|{|{z{{{{{zz{zz{{{{{{{zzzz|z{|||{||{z|z{zz{{{{|z|{|{|{{{z{z{|{{|{}{{zz{{z{{{{|||{|{|{z{zzzz|||{||||{{z{{z|z{z|||{|{{z{z|{{z{|{{||}{{{z{|{zz{||{{|{{{|{{{|{{|||{{}||{{{z{{|{|||{|{|{{{{{|{{{||||{||{z{{{|{|z||||{|||{|{{{||{{|}|{{}}}|{z{|{{||||}{{|}{{{{{{|{||{|||{{{{{||{{{{{{{|||{|z{{{{|{{{{}}||{{{{|{{{{{|{|||||{{{{{|z{{{|||||{|{{z{{{{||{{~~~}~~|}}|}}|}}~}|}}~||{|||{{{}{}{}}||z{{z{{{{|{z|{||{{{{|{{z{{||{|z||{{zz{{{{{{{{{}|{zzz{zzz|||{||{{zzzzy{{z{z{|{{{{zz{zzz|z{{{{{||z{{z{{{yzz{z{{||{|zzzzzz{{|{{{{{{z{{z{zzzz{{z{{z|z{zz{zzzz||zz{|{{{z{zzzz{{{{|{{}{{{zzz{z{{{{{||||z{z{{{{{{|{|{{|{{{z{z{z{|{|{||{{{{{yy{y{{{{||{|{z|{{{z{{|{|zz|{{{z{{{z{|{{||{{{|{{z{{z{|{{{{|||{z|{|{{{|{{|||||{zz{z{{z{||}||{{|{{{{{{z{{{z{|}|{{|{{|z{{||||}||||{z|{{|{}||{{|||{{{zz{|{}|{||{||{|{||{||{||}{|{{{|{{{|{|||||{|}z|{{{|{{{{{{{|||{|{z{|{z{||{{||{{|{z{{{{{{{{{~~~|}}{}}||~|}}}|}~|{{{{{|{|||}}||{{{|{{|{||{|{z{{|{{{{{{{z{|{{{{{{z{{{{|{{|{{z{||{{{{zzzz{{|||{{{{{{{{zz{{|{{{{{{{{{zzz{{zz||{{||{{z{{zzz{{{|||{|{{{{z{z{z{{{{zz|{zz{{zyz{{z{{{{|{{{y{{|{{{{{{{{|||z{|{{{z{z{{{|{{{{{{{z{{|{{{{{{|z{|{{{zz{z{{{z{|{z{{{{z{|z|{||||{z{{|z{z|{||||||{{{|{z{{z||||{||{{{{{{{{{|{z{|{|{{{{{{{{{{{|||||z{{{{{{{{|{||{{||z{|{{z{{||||||{|{{z{{{{|||z{{}|{{|{|{|{||{{|}}|||{{|{}||}||}|}||{{}{{|{||||{||||{{{z|{|z|{||||}}{{{{{z{||}{||||{|{z}|{{|{{{|{||{|{{{{{z{|{|||||{{{z{yz{|{|{{~~~}||}{}||}}}}|}}}||{{||{{|{|{{{}{}|{||{{{|{||{|{}{{{{{z{{{{|{{|z|{{zz{|{{z|{|{|{{{z{{{{{z{|{{{|{{{z{{{zzz{|{{{{{{{{z{z{{z{||{||{{{zz{{zz{{{|{{{{{{|{zzzzz{|{||{{|{z{z|z{z{{{{{{{{z|zz{{z{{{{{{{z{{{{{{{|{{{{{{{||{z{z{{{z||z{z{||{zz{z{|{{{{{|{{|{{{{z{{z{{{{{||{{{z|{z{zz{{||{||{{{{|{{{{{||||}{{{{{z{z{|{|{|{|{{{{{z{{|{{{}||||{|{{|{{zz|{|{{{|{{{{{z{{|{|{||||}{|{|{{{|||||{}||{|{{{|{|||}||{}}{|||||{|}}||{|{|{{{{{{|||||||||{{{{{|||||{{|||}|||{|{|{}{|||||}z|{{{|{{{||||||||}{{{{{z||||{{|{{{{{|{{{|{{{{}~}}}}~|}}}}}~}}}}|||||z|||{||~z{||z{|||||||{{||{{|z{{{{{{{||{{|{{z{{zzy{||{||||{{{{z{{{{{|{z{{||z{zz|{z||z|{||{{{zzzzz{{||{|{}{{{{zz{{{{{|||||{{{{{{{z{{{|{{|{{z{{{{z{|{{{||{{{{{z{{|{z{|{{{{{z{{{{{|zzz{{|{{||{{{z{{{{||||{|{||||{z{{z||||}{}|{{|z{z|z{{{{|||{|z{{{z|{{{z|{|}{|{{{{|{{{|||{|}||{{z{{{{||{{{|{|{{|{|{{||||{|{|}{{|{{{{{|{|{{|}|{{{{{|{{{{}|{}|{|{z|{{|{{}}{}}}|{{{{{|{{{{{|}}|||{{{{|z|{}|||}|}{{|{{||{||{{}||||{|||{{||||{||||||||{{{}{{|||||}|||{{{{{|{{|{}|||{{{|z{{{|{}{|||{z{z|{|{|{||z~~}}}|||}}}}|~}}}|{|||||{||{||||||{|{{{{{{}{||{{|{z{z{|z{{|z{||}|{{{z{{zz{|{|{{|||{z{z{{z|{{{{||{{{{zz{z{|{{z{{|{{{z{{z{{z|{{|{}|{{zz{zz{z||z|{||{{{z{zzz{|{|{{{{|z{{{z{{{|{{|{|{z|{y{{{z{|{||{{{{z{|||z{||{{{||{|z{{{y|z{{|||{{||{{|{z{{{|{{{|||{{zzzy{z{{|z|||||{{{{{{{||z|{||{{{{{|{z{||}{|||}{z{{{{{{|{|{||||{|{z{z{{{|||||||z{|zz{{{{|{|{||~}{z{|z{{||}|{||||{{{|{|{|||z|{||{{{|{{|{|}||{|||}||{{|{{|}||||}|}||{{{{{|}}||||||{|||{|||}}||||||||||||{|}|}|||||{|{|{{{{}{{|{}}|{{{{{{zz}{{{||{{|{z{zz{|{||{~~~~}}|}}}|||}|||~|}{|{z{{{{||{|||}||{|{{{{{||||{|{|{|{zz|{z|||{{{{|{{{zzz{zz|z|{|{{{z{z{z{{z||{{|||{y{{zz{{{{z|{zz{zzzzzz{z{z|{{{|z{zz{z{zzz{{{z{||{{{{z{zz{{{{|||{{|z{{{zz||z{zz{|{zzzz{{zz{{||||{zzzz{{z{{|{z{{||{{zzz||{||{{|{||z{|zzz{{{|||{{{{{{|{{z{{{{{||||{|zzz{{{{|||z||{{{{{{zz{y{|{|{|||{{z|||{{{{|{|{||{{|{{{{z|{{{|{|{{{{z{{z|||{|{|}||zz{z{{{{}}|{||{{{{{z{|{|{{{||}{{|{{{{{{|||{{||{{{|{{{|{|}{|{||||{{{|||{z{|||||||z{||{{{|}{{{||}||{{|{{{|}|}|{{}{z{zz|{z{{{|||||{{{{z{{{z|{||{||{y|{zz{z{{|{|~~~~}}}}}|}~||~}}|~||||||{{}|{}}{||||||{{{{|{|||{{|{|{{z|{{{{||{{||{{{z{z{z{|{{{{|{|{z{{z{z{z|{{|{{|{{{{{z{{{|z|{|{{{{zzz|{z{|z{||{zz{zz{{{{||{{{|}{z{zy{zz|{|{|{||{{{{z{{zz{z{{{{}{{|z|zzz|{{{|{||zz{{{{{z|||{||}{{{zz|z{{{|{{||{{{{{{zz{|||{|||{|{||zz{{z{|{z|{|||{{|{{{{z|{|{}{|z{|{{{{{|{|||||||{||{{{{{{{|{||{{|{{|{z{|{||||||{|||{{|{||{|{|}}{|{{z{z{|}|{|{~||{{z{{{{||||||||{{{z{|||{|}||}|}||{|{{{||}|||}|||{|||{|{|||||}|||{{{{{{{|}|{}|}|{zz||{{||}|}|||}|{{{{{z{|{{{|||}{{{{{{{z{|{|{{|}{z{|||{{||{{{~~~}}|||||||||}}}}||||{|{{|||||}}||{{|{{{z|||}{|||z|{zz{zz{||{{|{||{|{{{{{{{{{y|||{{|zyz{{||}z||||{{zyz|{{{{{{{{z|{{zz{z{z{{z|z|{z{{z{zz{{{{{{|{{|{{{|zz{z{{|||{|{|{{{{zzz{{|y||{||zzz{z{zz{{z{|}{{zz{{{z{|{|{|{|||{{z{{|z{|{{||||{{{z{z|{|{{|{{|}{{{{{|z{{{{|{|{||{|{|z{{{}{|}|{|{z|z{{{z{|||{||{|{{{{|z{{{||{{|{|{{{|{||{{||{||{|{||{z{{}|{|{}|}|{{{z{z{|{|{||||{{{{|{|{{}||||||z{|{{{|{{{||||}|||{{{{{{{}{||||}}|{|{{|||{{||}{||{|{{{{||||||||||{|{{|z{{|||{|{||z{z|{{z{||{|||{}{{zz{{{{|{||{|{{{{{}{z{|{|||~~}~}}||}~~|}}||}|}|{{{z{|{{|{||||{{|{{z{{|{||{z{{{{{zzzz|{{{{z{}{{{z{{{z{{{z{{{{{{z{zzz{{z{{{{|{{z{zz{zzz{{{{|{{z{zzzzzz{{{z|z{{{yz{{{zz{{|{{{|{zz{z{zzz|{z||{|{{{{{z{zzz{z{z{{{{z{{zz{{z{z{{|{|z{zzz{{zz{|{{{||{{zz{z{{{{{{{|{{{z|z{z|{{|{{|{||{z{|{{|{{|{{|||{|z{z{y{{{|{{z||{{{{zz{{{{||{{}}}{{{{z{|{z|{{||{|{z{{{|{z{{{|||z|{{{|z{zz||{{|||{z{||{z{z||||{|{{{z{{{{|{{|{{||||z{{{z|{{|||||||||{{{{{|{|{{||}|}{{{{{z{{{{|||{{{{{z{{z||{||||{||||{{{|{|{||||||||z{z{{{z{|{{||}|{z{|z{|{{{|{||{|z{{z{z{{|{{|z~~}}}}||||}}|}}||||||{{|{{{|||{}||{{{|z|{{{{||z{|}||{zzy{{z||||||||{{{zz{{z{|{|{{|{{|{zzz{z||{{{z{|zz{zz|z{zz|{{{{zz{{z{zzz{|{|zz{{{{z{zz{{{{{{||{|{z{{zz{{z{{{{||}z{z{{z{z{|zz{|{|{{zzz{zz{{{{{|{{zz{{|{{y||{z{{||{{zz{{y{|{{{{{{{{z|z{z{z{{{{{|{{{{{zz{{{{{{{{{{{|{{zz{z{{}||||||{{{{||zz{|{{{|{z{{{{z{z{z{{z{{|||{|z|{{{|{|{||}|{{{{{||{z{{|{|}|zz{z{{{{||{{{|{{|{{{{|{z|}|{}{||{{|{{||{{{{|||}|||{|{{{|{|{{|||||{|{|{{{|{{|{}||{{{{{{{||||{|{||||{{|||{{|||{||||{{z{{z{z|{}{||{||z{{{{z{|{{|{|z{z||{z{{{||{{}~~}|}~{|}||}||}}}}{{{z|}{|{{|||}|{{{z{{{{|||{|{}|{|{z{z{z{{|{|{|{z{{zz{{{z|{{{{{|{z{z|zzz{{|zz|{{{yz{{{z{z{{{{{{{zzzzzz{{{{{{{{|{{{z{y{zz{|zzz{{||{{zz{{{{{{{{|{{zz{z{{zzz{{zz|{{{{zz{zzzz{{{{|{{{z{zz{z{z|{{{|||{{{{|z{{{{{{||{}{z{{{z{{{{z{{|||zz|z{{z{{|}|||||{{{{zz{z{|{{{|z{{{{{|zzz{|||{|{{{{{{{{z|{{{{||{|{{{zz{{z|{|{{{||{{z{{{|{||||||||{{{{{{zz||}}|||||z|{{{{{{}||||{}||{{{{|||{}|{{|{|{{|{|||{}||}|||{||{{{{{|}}|||}||{{{|z{{z{|{|}}}||{|{{{||||||||{|{{|{{{{{|{||{||{{{{zz{{||{{{{||{{|z{z{z{|z{{~~~}}|}}}|{~|}}}||}|{{{{{{{|}|||{}|{{{z{{z||||}{|}|{{{zz{zz|z{|{{{|{z{zzzz{{|{|{|{{{zzzzzzy|{|{|{|z{{zzzz{z{{zz{{z{{yzz{z{z||z{{{{{{{{{zzzz{y{{|||{{z{{zzzz{{{z{|||{{zzzy{z{z{{{{{{|z{z{z{{z{zz{|{{{{{zz{zz{{{}|{|{{zzz{zzzz{|{|{|z{{|{z{{{{{||{|||{zz{zzz{{||{z{|{{z{z{z{z{{|{z||{z{{z{{z{{{||{||{{z{{{{{{{||{{}{|{{{zzzz{||{||{{{{{{z{{|{}{{|}}||{{{z{zz{|{||{||{|{zz{z{z}}||{|||z{{{{|||||{||}}||{{{z{{|{}|||||}}{{{{{{{{{{||||{|{{{{{||{{}|{|}||{|{|{z{{{|||||{|{{{{|z{{{|||}||{{{z|{{{{||{{{{|{{{{{{{z|{||{}~~}}}}}||}}|}|}}|}}|{{{|{{|||}{|||{{z{{|{||}{}|{||||{{{|{y||{|{|{}{|{{{zzz{{|{||{||z|{{zz{{{{{{{{{|{z{{z{z{zz{{|{|zzz{z{{{||{||{{|{{{z{zzz{{{z|{{|{{{zz{zz{{|{{{{|{z{z{{{{{{||{{|{||{z{z{{{|{|{||||{{{z{z{{|{|zz||{{{{{z{z{{|{{{||{z|z{zz{|{|z{{||{{{{zz|||}|||||{{|{{{{{{|{||{}|{}{{{||z{}|}{{{|||{{{{{{{||{{||{{{{{{{z{{{{|||||}z|{|{{{{{}|||}|}{z|{|{{{}|}||||{|{zz|{{{||||||||{{||||{|{}{|{}}|||z{{|{{|}{{||}||{|||{{{{{||{||}|{||z{|||{|||}||{{|{|z||||||||||{|{|{{{{{||{|{||||z|{{{{}||{{{{||z|{z{{{|{{{|~~~~}~~}}|}}}}~}}}}}|{}|{{z{|}}|}{||{||{|{{{||{|{|}|||{{{|{z||{|z||{|{z{z{{zz{|{|}{{{{{||{{{{|{{|{{{{{{zz{{{{z{{z{|||{{{{{{z{z{{|{|{{z{{z{zz{{|{|{|{{{{{{{z||{{||{}||{{{{{{{z|{|{{|||z{z{z{{{{{{{|{|{{z{{|{{|{{|{{|||{{{{{{z{||{{}{{{{{{z{{{{{{{||{|{{{zz{z{|~{|||||{||z||{{|}||z|{{{z{{|{{|{|||{{}{|{z||{{zz{{{z||||{|{{{{||||{{{}{{|{{{{{||||||{}||{{|{{{{|||||}|||{z{{||{|}||}{}|{{||{||{{||||||||{{{|{{{|}|||||}{||}{{{||}{|}|}{{|{|zz{||{|{{||}|{{|{||{{|{|||}}{{|{|{{{||||}||||||z{|{z{}{}||||z{|{{z{{||{||~~}}}|}}|}|}||}|}}|}{|{|{{|||}|{{||{{{|z{{|||}{{|}{||{{{{z||||||||zz{zz{{z{||{{{|{{z|z{{z{||z|{||{{{{{{z{z|{z|{{{|{{{{zz{{|{z{||{|{z{zz|{{{{|{{z|{|{|{{|z{{{||{{z|{z{|{{zz{zz{|{{|{{{z|y{{{|{{{|{||{{|z{|z{{{||||{{{{{|{{{{|{|{|||z{|{|z{|z{{|{}||zz{z{{{{|||||||{{{{{|z|z{||||||{{{{|z{{{{|{|{||{||z{{{{{{|{|||||{}|||{{{||{||||}{{|{|{{{|||}|}}}|{|{{z{z||||{|}{}{|{|{{{||{||||{{{|{{{|{|{|||||||{{{{|{||}||}|}||{||{z{{}}}|||||||{z{|z||{||||}}|{{{|{{|||||{}|}{{{{|{{{}|{|{}|}{{{{|{{{|||{{|}{{|{z{z{z|{||{~~}~}}}|||{|}}|~}}}|{{{||{z}|||||||{z|{{z{{{||}||||}{{|{{{{{{|z{|||{{{z{{{z{|{|z{{|{z{{z{z{{{|{{|||{zzzz{z{z{|{{{{{{{{z{{{{{{{{{{{{z{{{{{zz|{{{{|||{{{z{{{z{|{{{z|{{zzz{z{zz{|{{{||{{{{z{zy|{z{{{{|zz{zy{{{{{{|{|z|{|{{{{{||||zz||{{{{zz{{{{{|{{{||{zz|{|z{|{{{{||||{{{{{{z{}}{|{{|{||{{{{{{{z{{{{|{{z{{z{{{{{{{|||{{zz|{|{{|{||}{|{z{{|{|{}}||{|||{z{|{{{z{{}||{}||z{z}{|}}|{|||||{{|z|{{|||||{}}{|{{{z|{{|}}||{||{{||{{||{|||||}}|{{{{|{|{|||||}||{{{|{|{{||||||}{{{{|{{{{|||||||{z{}{|{z{}|{||{||{|{{{{{{{|{{~~}|}}|{{}|}~}||}}|{||{}|{|||{||}|z{{{{|{z||{{{||{{{z{{z{}{|||{{|{z{zz{{z{|{{{{{|z|{{z|z{{{{{{||{|{zzyzz|{{|{{{{|z{zzzzz{{|{|{{|z|zzyzzyzz|{{{|{{{z{zz{zz||{{{|||zz{{zz{{{||{{{{z{z{z{z{zz|{{{{|||{zz{{|z{{{|{{|{|{{||z{y{{||{{{|{z|z{z{{{|{{{||{|z{{z{|z{|{|{{|||z{zzz{{z|||{||||{z{{{{z|{{{{{}{z{{{{{z{||{{|{|||{{zzz{{{{|||}||{z|{{{|{{{{||{{|{{|z{{{{{|||{|}||{|z{{{|||{|||||{{{||{{|||{||}|}}{{{{|{z||}|{|||||{|{{|{||||||{}~{||{{{{{{|}|||}||{{{{{||{|}||{|{|{{z{z||||{{}||{{zzz{{z|||}{|}|{|{{y{zz{|{z{~~~~~|}|}|||z}}|}||{~}|{{{|{{||}{|||||z{{{{|{{|{|{{|{|{{z{{|{||{{||{|{z|z{zz{{{|{{{|z{zzz{z{z{|{{{{{{{{zz{{z{z{z{{{{{zzz{z{zz{{z{{{{|zzz{z|y{{{z{{{{zz{{zzz{{z{zz{z|{{z{zzzzzz{{{{{|zzzzzz{{z{|{{z{||{z{{{zzz{|{|z{||{{{{{z{z{|{{{{|{{{z{zz{{{{{{{|{|{{{{{yzz{||{{{{|z{{{{|{zz|{{|||{{{z{{{z{|{|{|{{|{z|{{z{z{{|||}{{{}{{{{{{{{{{||{{{|{{{{{{|{|||{}}{|{z{{{{{|{|||{|{z{{{{{{}|||{|||{{|{z|{{||{||||||{|{{{{{{|}||||{|{{|{{{|||{|{|}|{z{{||{||{{|{||}|{|{{{{{|||{{{|}{{{{z{{{|{{|{|}||{{z{{{{|{{{|{||{|zz|z{|{|{{{~~~~}}}|}||}|}}}|~}}{|{|{|{{}|{|||}{|{{{|{{z||||||}||{|{|{{z{z}||||||{{{{{z{z|{{{|||{{{zz{{y{|{{z{{{{{{{zzz{zz||zz{|zz{{{{{{z{{{z{|{{zz{z{z{|{|{{{{{{z{{zy{{z{{{{{||z{{{z{zzz{{{{{{||y|{{z{{z||{{|{{z{z{{z{{{{{|z{|}{z{z{{{{{|{{{}{||{{{zz|{{|||{|{|{{|{{{z{|{|{|{||{|zz{{{{{|}{{|||{z{z|{{z{|||{|||{{{z||{{|||{{|{|{{{{|{{{{}|{}|||z{z{{z|z|{{|{{||{|{||{z{{||||{||{{z{{{{{||}|}|||{||{{|||{||{||}}|{{|z|{{|}|||}{}|{|{||{|}|}|{}|}|{{{z{{{|{||}{||||{{|{{|}{|{|||{|{{z|z{{{{|||{||{{{zz{{{|{{{{{|{{{|z{y{{{||{|~}}}}}}|}|}}}~||~}~||||{{{{||||{{|||{|{{{{z|z||z{|||{zz{zzz|{{|z|||{{{{{{{zz||{z|}|{z{{z{|z|||{{{{{{{{z{zz|{{||{{{|{z{z{{{z|{{{||{{{z{zzzz{{z{{|{{{|{{zzy{{{{{||{{|{{{{z{zz{{{{||{{{zz{{zzzz|{{{{{{|z{{{|{{|{|{{{}|{{|zz{{z{{{{|{{|{{{{{{zz||{{{{|||{{{zzz{{{{||{|{|{|z{{{{{||{|}}{||{{{{{z{||{|||{z{{|{|{{|{|{{{|||z|{|{{{||{{{|||{{{{|{|{{{{|{|{|||{{{{zz|||{|}|||z{|z{z{{|||||}|{{{{{{||||{|}||||{|{|{|||}}||||||z||{{{{{{|||||||{{z{z{{||||{||||{||||z||{{|}{|||{{z{{|{{{|{z|}|||{{{{{{}{||{||{{{{{{z{z|{||}~~}}~~|}}}}}|}}}}|}}}{|{{{{||||{}{}}||{{z{z{{{|||{|{||{{{{{{z{{|{{||zz{{zz{zz{{|{z||{{{{{z{{{{y{{||{{{z{yz|z{z{{{|||{zz{{{z{z{{{{|{|{{z{{z|zz{z{{{z|{z{{{{{zz{{{|{|{{{{z{zz|{{{{zz|{|z{{zz{{{{{z||{{{|z{z{{zz{{{||{||{z{{zz{{z{||{{|{{{|z{{{|||{{{{{|{z{zz{{{{|{||{{{|{{{{{{zz{||||{|{{z{|z{{{|{{{{|{|{zz{|z{{|{{z{{||z|{{z{{||||~|||{|{{{{|z||{{|}|||z{{{{{{|||{{|{{|{{{|{{{|{||}|||}{|{{}|||{{}}}|||{|{|{{z|||||}}|{{|{||{z|||{|}||{|{||{z|{{{|{||{}{{|{|{||{||||||{{|z{{{z|{|||{}||{z|zz{{||||z|}|{||{{{{{|{||z~~}}}~~}|}{}}|}|}||||~}||{|{{zz|||{{||||{{{{z{{|}{||{||{{|{z{{z{z|{z{{|{{{zz{{{{{{{{{|z|{z|z{{z{{{{{|{|zz{zz{z{{z{{|{{{y{{z{{zz||{{zz{{zzz{z{z{|||{{|{|{{{{z{{z{{|{|{|{{{zz{z{z{|zz{|||z{{{zzz{{|{{{|{||{{{{{zz|{{zz{||{{{z{{{|{|||{{{|{|z{{|{|{z{||||{{{z{{zzz|{|{{{|{|{z{zzzz{|z|{{{{{{z{|z{{||{{{|}z{{{{z{{{|{|{z|||z|z{{{{{{|{||||{||{z|{{|{{{{{|||{{{||{z{{||||}|||{{{{{||}||||{||{{z{|{|{{{{{||}|{{z{||{{||}}||}|{{{{||{{||||{||}{{{{{{|{{|{|||||{{z{||{{{{||||||{{z|zz|{{{||||||{|{{zz{{{||{|{|{|{|z{{{y{{{{{~~}||||}|||{||}~}|||}{|{||{||||||||z{||zz{{|||{|{}|{|{{z{z}||{|{|{{zz|{z{{z|{{z{{{{{z{y{z|z{|{{z{z{{zzyzzzz|{{{{||z{{{yzz{{z{{{|{{{{y{zzz{{z|z|||||{{z{{{{z|z{|{|{|z{{zz{z{|z{z{{|{{{{zzz{{{{||{{{{{zz{z{{||{|{|||{{z{{{{zz|||{|{|{{|z|{|{{{{|{{||{{{{{{z|z|{|||||{{{{{{{{||||{|{{|{{y{{{{{}|||{|{{{{{{z{}{|{{{|||{{{|{{z|{{}||||{z{{z|{|z{|{{{|}}||{|{z{||||{|{|{|z{|{{||{|{{{{||{{{{{{{|{{||||}}||}{|{|{{}{{|}|}{{{{|{||{|||||||{{{{z{|{{|{|{}||z{{|||z||{}|||||{{{{{{{{{|||||||}{z|{z{{{|{|{{||{zz{{z{{||{{{~}~~}}~|}|}|}}}||}}}~}}{|||{{{|||||}}|{{{{{z{{{{|{|}|{{{{|z{z{||||||}{{{z{{zzz|{{z{||{zzzzzz{z{{{{z|{|{{zz{zz{{{{{|{|z{z{|z|{{{|z{{||zzz{z{z||{{{|{||zzz{zz{zz|z||{}{{z{{{zzy||{z{}{{{{{{{{{{z{{{{{{{||{{{{z{{{{{{{|{{{{{{{{{{{{{{{||z{{{{{{{{|{{{|||{{|{z{{z|{||{z|||{{z{z{{{|{|{}|{|{|{{zz{{{{{|{}{|z{{{{zz||{|{|{|{{|{||{{{{||||}|{{{|{{{{|||||}|||{{|{{{{|~|}||||}{{{|z|{}}}{|}|||{|z{{|{|}{{{}|||{||||{{z|}||}}|||{|{{{|{|}|||}||{|{|{{{{{|}||}}|z||}{{|{|||{|~||{|{{{{|||||||}{{|{{{{{{{}|{||}||{{z{z{{{|{||~~~~~}~|}|~|||}|}}}|}}||||{||||{{{}{}{|{{{{{{{{{|}|}||}|{zz{z{{z{{{|{|||zz{{{{{{{|{|{{|{{z|{z{{y{{{{{{{{{{{{z{{{{zz{{|||{{{{zz{z{{|{{{|{{{zzz{{z{{{|{|{|{{{{z{{{{{{{|||{z{{{zzyz{{{{{{|||{{{{z{z|{{{{|||z{{{{{{y{|{|{||{|{zzzzz|{||{|{|||z|{{{z{{{|{{||}|{{{z{zz|{{||{{}{|{|{{{{{{|{||}|z{{{{|{{|||{{{|{{{z{{{|{|||{{|{|{{{{}{z{{{|}|||}|{|{z{{{{}{}|}}}{{{{||z{|~}}|||{|z{{|{{{|}||||||||||{||{|||{||{||{|{{{{z||||}}~||{{|{{{||{||}|}||{{{|{|||}{|||}}|z||{{|z||||||||{{{{{{|{|||||{|{|{|{{||{{{{{|z||{{|z{{{z{||{{~~~~~}}}}|}|||||}|||}|}|||{z{{|{|{|}|{{|{{{{|{zz{|{||}|{|z{{zz{{{z{|{{{|{||{z{z|z{{{{{{|{z{{{{y{{{|{z||{|z{zz{{{{|{{{||{{z|{zz{z{{{{{||{{{z{zyy|{|{{|||{{z{{{y{{{|{{{{|{z{{{{zz{|z{zz{{{z{zz{zzzz|{zz||{zzzz{{{{z|{z{{||{zz{{{|{{{{{||{|{{|{z{{{|{{{{{{{z{{{{|{{{||||||{{{||{{{z|{|{||{{{{{{{{{{{||{{{||z{{{z{{{{||{{|{{}{{{{z|{|{{|}z||{|{{{z{{||{}||||{|{{{{{||||}z|||{{||{z{z|}{|||}||{{{z{{}||||}||||{|{|}{z|}{|||}||{||{{{|||}||}{||{z|z}{|{||||}|||{z|{{{|{|{}|||}z{{{|{|{{||{{}}}|{z{{zz{{}||{{||||{{{zz||{{||~~~~}~~}}}}}}}}}|{{|}{||||}|||{||z{|{|{{||{|{{||{{{z|||z{{||{{zz|{z{{{{{|{|z{z{z{zz{{|z{{{z{z{z{{{zz{|{{|{|z{{{{z{{{{{|{||{zz{z{z{z{{{{{|{{|{z{{zz{{{{{{{||{{{{yz{{zz{|{{|{{{|{zz{{z{zzz||{{{z{zzzzy||{{z|{zzz{{{z{z|{z{{|{{{{{|z{z{|{{{{||{{|{z{{|z{|{{|||zzz{{z{{{{{{{|{{{{{z{z{{{|{{||}{{{{z{{zz{{|{{z|{z{{|z{z{{{||||||{{{{||{z||{}{||{{{{{{{{{{{||||||{zz{{zz{|{{{|}|||{{{z{{{{||||||}{{{{{{|{|{{|||{{}{{z{{{{{}}{||||{|{||{{{|||{|||{|z{||{{{{|{|{|}||{z|{{{{|{||{}|{||{{z{{{|{|{||||{{||z{z{{{{}{||{zz|{{{{{{{||{~}~~~~}}~}}~||}}}||{||}|}}}}|{|{|{|{||}{||||}|{{{z|||||||{}||{|z{|{{|{{|{||||z{{{z{z{{||{{|{|{{z{{{|z{|zz|{{{{{{{z{z|{{{z|{|{|{{{{{z|{||{|{{z{{y{{{{{z{{||{|z|{{z|{{{{{{{{||{{{{{zzz{{{z{}{|{{{zz{{{{{||{||||{{zz|zz{||||{|{{{{{|{|{|{{|||||{{|{{{{|{{{|{|||||}y|{{z{{||||{{{{|{{zz{}||||}||{{|z|{{{z||}|||{z||z{{||||{{{||||||z|{{{{|||{}||||{{{z{{||{}|}{||||}||zz||{|{}{{|{||||{{||{|}|}{|z|{|||{|||{}||||{{{|{|||||||{|}|z{|{{||||||}}||}{{|{|{}{{|z|||}||{||{{{|{}}|||||{z{{{{{z||}||}||{{{|z|{{||}|{|}|{|zz{{{{|||{~~~~~~~~}}~}}}}|}||}|||}~}}|{{{{||{{|}||||||{{z{zz{z{}{{|||{{|zz{{{|{|{{|{||{{{|z{z{{|{{{{|zzz{{z{{z{{{{z{zzzz{zzz{z{{{|{|{y{|{{{{{{{|||||{{z{z{zyzz|{|z|{{{z{z{zz{{{{{{{|{{zz{{zzz||{{{{{{{{{yz{zz{{{{|{{{{{|{{|{zz{|{|z||{|{{zz{z{|{{{|{|zz{zz{|z{{|{||||z{|{z{z{{||{{||{z{{{{{|{|{{{{||{z{{{{zzz||{{{|||{{zz{z{{{|||z|z|{|z{{|{{{|||||}|{{{{z{|{|{|{{|z|{{{|{|z{|}|{{}|||z{{{|{{||{|}}|||||{{|{{{{{||||{|{{|{{{{|}|}}|}}|z|z|{|||||||||||{{{|{z{|{{||}{}||z{{|{|||{}||{|{{{z{{{{|}|||||||{{{{{|{||{|{|}|{z|z{{|{|{{{|~}~~}}}~~}}}}~|~|{|{}||}}||}|}|||z{z|z|{{{}}}||{{||{{{{|{|{{|{{{{|z{{z{{{|{}{{zy{{z{zzz{{|{|{{{{zz{zzz{{y|{|||{{z{zzy{{{z{{{{{z{z{zz{z{{|{z{|{{{{zzzzz{}{{{{|{{{{zzzz{{|{{{{|||{{{zyzz{{{z{{{{|{zzyzz{z{{{{{{{z{{zzz{z{{|{{{|{{{{{{z{z{{z{{|{}zz{{z{{{{{{|z{|{z{z{{zzz{{{{{{|{{{{||{{{{{{|||{{{{{z{{{{{|||{|}{{|{}{{z{{{{{{{||{{{|{{z{|||||||{{{{{{{|{}||{|||||{{z{zzz{|}||{|{|z{|{{{{|{{{|||||||{{{{{|{|{||||{{{|||{{||||}||}|{{|{||{|{}{|||||{|{{z{|||{||||{{{||{{{{}{{|||{|{z{|{{z{{{|{{{|||{{{z{zz{|||{{||{{|{z|{z|{{|{}~~||~~}}~~}~~||||{{||~|||{|}|z|z{|{{|{|z|{|||{||z{{{{|{{{{|}{z|zzz{{|{|{||{{{zz{{z{{z|{z{{{{z|{{{zzz{{{{{{{{z{{{z{zz{{{{{{{{{zz{yzz{{z{{{{{{{z{zzzzzz{{{{{|{{z{{zzzz{{{z{{|{{{{zzz{y{{zzz{z{z{zyzzzzz{{{z{{{{{z{{{zzzz{{z{|z{z{z{zzz{{{z|{{{zz{z{zz{|{||{{{|zyzz{{{z{{{{{{{zzz{{{zzz{{||{||{{z{{{{z{{|{{{{|{{{{{{{{{{|{|z|{|{{z{{{{{{|{|||{|zzz{z{|{{|{{{|||z{z{{z{z{||}{{||{z{{|z{{|||{|||{|{{z{{|{{|{{||||{{{|z{{{|||||||||{{{{{{{||}|{||||||{{{{{||z|{||}{{{{|{z|{{{||}||{||z{z|{{{{{||||{zz{|zyz{|||{{{{{{{z{{|z|||{{~}~~}~~~}}~~}}|~||{}{||}|}}||||{|{{|{||{||}{|{y{{z{zz|{|{{z||{{|{|{|z|{|{{|{{{zz{{z{z{|||{|||z{{z{zz{z{{z{|z{{{{{z{z{{{|{z|{{{{zz{{zzz|||{{||zz{{{{{z{{{|||{{{{zzyz{z{{{{{{||{{{z{{zzz||zz{{{{zz{{{{{z||{{||{z{{{z{z{|{|{|{||zzzzz{|{{||{|||{{{{z{{{z|{{{||||zz|zzz{{{||z|}{{{z{{z{{zz{{|{|||{{{{{{{{{{|{{||{|z{{{z{z{|{{{|{|{zz{zz{{|{||{|||{{zz{{z{|||{|{||||{{{z{|{{|{||{z{z|{||{{|{|{|||||{{{{{|{{||||}{||||{{{|||}{||||{|{||{{{{|||{||{|{z|{z|{|||z||{||||{z|{z{{{|{|{|}|{|{zy{{{||}{|}{|{{{{{{zz{{{z{{|{z{zz{z{{{||{~~~}~~|}}~~}||~}||}||{{|}|}|}}{}}{{{{{{{{{|{{||||{|{{{{z{{{|{{|{|{|{zz{z{{{|{|{|{{zz{{{{{|{z{|{zzz{z|{{{{{{{{{{{{z{z{{{|{{{{{{{|{z{{{{{z{{|{|||{{{{zz{z{{z{{|{|{{{{z{z{{z{||||}z{zz{{{{z|{{{|||{|{{z{{z{||{{|}|{{z{{z{{z{z{z|{||{zzz|z{z{{{|{|||{z{{z{{{||{|{|{|{{z{z{{{|{||{{|||z{{{z{{z||{|{{||z|z{{{||{|||||{|{|{{{{|||{|{}|||{{|z{{{z|||{|{{z|{{{{{||||{|{||{|{zz{{{{}|}||{||{{{{{|{{|||||}||{{{{{{||||||}|}|{{||{z{{}||}|}|}{||{|{|}||}{{|||{{|{z{|{{||||}|{{{{{{{{|||}|}}|{|{{|{zz{{|||||||{z{{z{{||{||||||{{{|{{z|{{|{~~~~}}~|~~~}}}}~||{}|{||}}}}}|}}{|{{{{|||}{}}||{|{|z{{z|{{|{||{||{{{z{{{z{|{z|{{{{{zz{z{{|{{{|zzz{{z{zz{{{|z{|{{{z{yz{zz|{|{{{{{zzz{z{{{{z{|{||{{|{{{{zzz|{z||z|{z{{{{{z{{{{{{||z{zz{z{zzz{{||{|z|{z{{zz||{{{{{|zy|{zzz{{{{|z|{|{z{{|z{z{{{{|{||{{{{{z{z{{{{{{|}{{{{{{zy{|z{|{||{{{{|z{z{{{|{|}|{{|{{{{{{{{|{||{{{{{{{|z{|||{|||z|{{|{z{{||}|||}{|{z{{{z{|{{|||||{|{{{{z{{{|{}||{z{{{{{{||||}}{|{{{{z{{|{{{||{{||{{{{|{{{|||{||}{{{}{|{||{}|||||{zz{{{{{|||||{}|{{{|{|{||{||{||{{|{z{{{z{|{}{|}{{{{{z{z{{|{{{|||{{{{{{|z|z|{|~~~}~||}}~}}}}~}|}}{{||{||}|}|~}~|{z|{{{{|{}{|||}{z{{{zz|{{||{{{{{{{zzz{z{z||z|{|{z{{z{{{{||{{|||{{z{{zzz{{{z{|{{zzzz{{{{z{|{{|{|{{{yz{{zz{{{|{|z{{{{zzzz{{{{{{{|z{{zzz{yz{{|{|{|zzz{{z{{{{{zz{{{{zzz{z{zz{{{{}{{{z{zzzzyz{{{{{|{|{{{{z{{|{{|{z{}{z{|z{{{{{{{{{{|z{{z{zz{{||{||{{{{{{z{{z|}|{{|{|{{{{z|{{z{|{|{|{{{z{{{{{{|{{||{|{{z{z{{zy||{{|||z{z{z|{{}{{||||{||{||{{{{||||{|||{{||z{{{{|{{{||{{{{{{|z||{{{}||}{{{z|{{{|||}|}||{{{z{{{|{{||||{|{{{{{z{{{{|}|||}{{{|{{zz{||||{|||{{z|{z||z||{|~{{{z{{{{|{{{{{||{{{{{{{{|{{{{~~~~}}|}}}}~|~}}}|}||{|{|}{{|}}}}{{{z|{{{||||||{||y{|z{z{|||{}|||{|{{z{z{{{|{{{||z{{yz{z{z{{{||z{{z{{z{z{{{|{{|z|{|z{{{zz|{{|{{{|{z{z{zz{z{{{{||{{{{z{{z{{{|{|{{|{{{yz{zzz{z|{}{|zzzzz{zy{{{{z|{||{{z|{{{{{{{{{|{zz{{zz{zz|{||{{{|zz{{z{z||{|{{||{z{z{{{{{z{|{|}|{{{zz{{{{|{|{|{{|z{{{z|{|{|{{{|{|{{{{{{y||{|{||||{z|z|y{|||{z{{|{{|{{{z{{|}|||||{{|{{{{||}{||||{|||{|{zz|{||||||z{{{|z{|{}{|{|||{||{{{{{||||||{||{|{{{{{{}||}|}{||{{{{z|}{|{|{|||{{{||z|z||{|||||{|{||{|{}||{||||{|{|z{{{}||||{{{{}|z{{{{||{|{|{||{{|z{{{|{|}}~~}}}|}}~~~}}||~}{}{|}}{}|}||}}{|{zz{{||{||{}|{{z{{{{{{|{{{{|z|{{{zz{z||{|{{||z{|z{{{z||{{{|{{zz|{z{zz|{|z{{{{{{{zy{y{{{{|||{{z{{z{{{z{{{{{{{{z{{{{zz{z{{||{{|z|{z{yzz{{z|{|{{{z{{{zzzz|{{{{{|{{z{zzzzz|{z{|}|z{{z{{zz|{{{{||{{{{{{z{{{{{{{{{|z{zz{z{{{z{{{}||{|{z{zz{{||{{}|{{z{{{{{z{||||}|{{{{||{{{{|{||||{{{{{{z|{|||{{{{|z{{{|z{|||||{|}|{{{|{{|||||||{|}{||z{{{{{{|{||}{|{z{|{{{|||{}{}}}z||{|{{|||{||||||{{z{{||~|{|}||{{{|{{||||{||||||{{z{{|{{|{||||||{{{|{{{||||{||}{|{z{{{{{{|{|||{{{|{{{{{{|||{||{z{{z{{{{|{{|{~}}||}|}|}}}~}|}}|||||{|z{|||||||}{{{|{z{|{{|||{}|{z{zz{{{{|||||||{{zzzz{{{||{|{|{{{{{{{zzzzz{{|{{zzzz{{z{{{{{|{{{{{z{{{{{{{{z|z{zz{{{y{zz{{||z|z|zzzy{{zz{{|{{|{|{z{z{z{{{|{|z||{z{{zzzz{{z|{{{zz{z{z{yz{{{{{|{{{z{z{{z{{{|z{|||{{{{{z{z{}{{{{{|{{z{{z{|{{{|z|{zz{{{{{{{{|{{||||z|{{{{z{{{||{|{|{z{{z{{z{||{{{|{{{z{{{{{{||z{||{|{{{|{{{|{|||{||{{{|{{{z|{{|{|||{{|{{{z{|{{|||{|{{z{{{z{{{|{}}||{||{{||{{{|}}|}||{{{{|z||{{|||}}|{{|z{{{||{|{|||{{|{{{{{z{||||{{|{{|{{{|{|{{|||{{{{{||{{|||{{|||{{{{{{{{{|{}|||{{{{z{{zz{z|}{}~|}}}}|}}}}}}~}|z|||{{}|||||||{||{{{{yz{{{}||}|{{{{{{z{{|{|||||{{z{z|{z|||{{|z||{{{z|{zzz{|{{}|{z{yz{zz{|{z{{{{|zzz{z{zz{|{{{{|z{z{{zzz|{z{{{{{{zz{{{zzy|||{{{{{z{{z{{z{{z|{{zz||z{{{{y{{{{z{{||{zz{z{zz{|zz|{{{zz{z{zz{|{{{||{{z{zz{z{z||{{{|{{{z{{z{{{{{{||{{{{{zz{{z{z{z|{|{{z{{{z{{{{{{{}z{{z{|zzz{{||z|{|{{{zz{|{{|||{{{{||z{{{{{{|{||||}{{{{|{|{{||{{||||{{{{{{{{|||{{|}|{z{||||{{|{|{}|{{z|{{|{{}|||{||||{|z{{{||}|{{||{{{{|{{{||||{|||}{{{{{{{{||||{||||{z{z{z||{{|}{|||{{z{z{{||{|{||{|{z{{zz{z{||{{||{z{{{zz{{{|||~~|~|}|||}|}|}}||}{{{{|{||||{|||}{||{|{{z|{{{||}||{{z{{{{{{{{|||{{{z{z{{{{|||{||zz{{z{zzz{{{{{{|{{{{{{{zzzz}{z{|{{z{{z{z{{{{|{{{z{{{zzz{{{{z{{{|{{{|{zzz{z{{z{{{{{z{{zz{{zz||{{z|{{z{z{zz{{{{z|{|zzzzz{zy{{{{{|{|{{{{{zzz{{||{|{|{z{zz{z{{{||{||{zz{zzz{{{|{{z{{|{z{{{zz{{|{{|{{{{{{zzzz{{{{|{{{{|{{{z{z{{{{|{{|{{z{{{z{{|{{{|z|{{z{{{{z{|||||}}|{{{{|z||{{|||||}z{z|{z{{|||||}|||z{{{{{{|}||||||{||||{{{{|{|||||}z{z|{z|{}|||{{||||{||{{|{|{{|||{|{{{z|{{|}||{||{{z{{{{{||}{|||{{|{z|{|z{{{|||||{|{{{{{z{{{|{|{{{{{z{zzz{|||{~}~||}|}}}{}}|~}}~||||{|||{}|{}|{}|||{{{{{{{{|{|{|{{{|zz{z{{{|{{||{{z{zz{{{{{{{{{||{{zz|{{z{{{{{||{{z{{zzzz||{{|{{{z{zzzzzz{z{{{{|{{{{{{{|{zz|{||||{zz{y{{zz{|z{{|||z{{zzzz|{|{||||z{y{yz{zyz{{{{{{{z{y|zzy{{{{{{{|{z|{{{{z|{{|{{|{{{{z{z{{|{|z{{z{{z{z{{{y{z{{|{|||{zz{z{{||}||||{|{{{{{{zz{{|{||{{z{z{zz{|||||{|||{zz{{{{{{}z{||{{{{z|{|{||||{|||{|{|{{{{{||||||}{|{{{z{{zz||{|||{{z{|{z|{{||}|{{{{z{{|{{{||{||}||{{{||{{|}||||||{|||{{|z|||{|}|||z{{|z{||}|||{}||{|{|{{{{||{{|||{z{{{{{{{{||||||||{{{z{z||{|{{{{z{|z{{{|{{{|{~~~}~||||{|}}}||}|||{{|{{|{|||||}||{|{{{|{|{{{|||{{{}{{z{{|{||z|{||zzzz{{z{|||{|{{{{z{z{zzz{{z{{{{{z{zz{z{{{{z{|{z{{|{z{z{{{z{z{{{z{|{zzzz{z{|{|{{z{z{zzz{z{|{z{|{z{{zzz{{{{z{||||z{z|{{{z|||{{z||{z{zzzzzz{|{{{|{zz{{{{{z{{|{z{|{{z{{{z{zz{|z|z||{zzz{z{z{z{|{|{|{{{{{|zz|{|{|{{{{{{zzz{zz{{{{|{{{z{{{{{{|{{{{{||{z{{{|{z{|{{|{{{{{{{{z{{{||{{||{z{{{{{{{{{|||{||{{{|{zz{||||||{}|{{z|{{{{||{||||{z|{{{{|}||{{|||||z|{{{|{|{}|{{||{{|{{|{|||||||}|{{{{z{{|{{{{||||{{{{{{|{{|{{|||z{{z|{{{{|{|{|{{{{{|zzz{z|{|{|{|z{z{{zzz{||||}~||}||~|||}}}}}}||{||||{{{}}|||{|||{{{{z{z{|z{|}|{zz|z{z{{{||||{|||z{{zzzz{{{{{|{{{zzzz{{zz{|{z|{z{z{{{{{{{z{zz||{|{{zz{{{z{{z{{|{zz{zz{{{{{|{z{}{{{z{z{{z{{{{{|{{zzz{zzyy{{||{{{{{{zzzyyz{{{{{{|{{zzzz{{z|{{|z|{{{zz{{zyz{z{{||||{{{z|zz{z|||{{|{|{{{z{{z|{{{{|{|{{zzzzz||{|{{{{||zzzzzz|{{{||{|{{zz{{{{z{||{{{||{z{z{{{{{|{z{|{{{zz{{{{zz|{||{{|{z{zzz|{{{{|z||}|{z{z{zzz||{{{|||{|{{{z{{||z||{|{{|{|{{|{{||}||||{{|{|{||}|||||{|{||{{{|{||{|||}|z{{{{{{|||||}{}|{z{||zz|{|||{|}{{{{{zz{|{||{{||z{{zzz|{|{||{|{{{{{y{|{{{||{{}}}|||||{|{||~}}{||||z|{z{{||{{|{|||z{z|{z{{{{||{}|{zz{zzy{{|{|{{||{z{{{z{zzz{|{{{{{{{z{{{{{{{{z{{|zzyz{zz{z{|{{{{{z{z{z{z|{{z{zz{{zzzzzzzz|{{z{{{{zz{{z{{{{|{z{{{{{z{{z{{z{{z{||{{{zzz{zzz{{{{{|{{z{zzzz{{y{zz{{|{{z{{z{{z{z{|{{{{{z|{{yz{{{{{{{{{zzz{z{{z{{z{{{{|{{{{y{{{{{{{|{|{|{{z{zz{{|{z{|{|z{{zzz{{{{{z{{|{{yz{z{z{{|{{{||||{{z{z{{{|{{|{{|{{{z{{|{|z||{{||{z{{{zzz|{|{|{{}{z{z{{|{|{|{|}}{z{{z{{{|{|{|{||||{{{{{z|}||||||}{|z{|z|{||{||{|||{{{{{{|{{{{|||||{{{|{z{{{{|}||||{zz{{{z|||{{||{||{|{{{{{|||{|}|zz{zz{{{|{|{{}~~}}||||||}}|{||}|{|}{{|z||||{||||||{{|{{|{{|{|||z{{zzz{z{{|{{{{||{zzz{{{z{{{{|{|{{zzz{{z{{{{{||{{{{z{{{z{|{{{||{zz{zz{z{{z{|{{|{zz{z{zzy{{{{{{{{{{zzy{zz{{{z|{||zz{|z{{{{|zz||{{{zzz{zz{{{|z{|{{{{z{{z{zz{{z|{{{{z{{z|{z{z{||||{{zzz{{{z{{{{{|}}{{{z{z{z{{{|{|||{z{z{z{z{{|{{|||{z{{{z|{{|{{||{|{{{{{|zz{|{z{{|{{{z|{{z{z|||{{{}{{|{zz{{{|{|{|||z{{{{{|{{|{{{{{||{{{{z{{||||||||{z{|{{z|||{|{||{|{|{|{|{{{{{|||{|z{|{||{{}}||{{||{{{{z{{{{||{||{{{z{{|z||||{|{||||zz||z{|{||||{|{z{{{{{{{{}{|||{{zz{{z{{||{|{{{|{{{{{zz{{z{{{|}}~}||{{|||||||}}}|||{{{z{{||{|{||||{{z{{{{{{|{|{|{|z{|zz||{||{{|{|{z{{zzz{{{{{{|{{y{zzzzzz|zz{{{zzzzzzzzzy{{{{{{{z{{yz{zz{{z|z{|{yz{z{z{zz{{z{|{{zzyzz{zz{{{z{z{{{zyzzzz{{{{{{{{|{{z{{{{yyz{y{{{{{zzzzy{z{{zz||{{zyzzz{z{z{z|z{|{{{zz{zzz{{{{z{{{{|{zzy|z{z{{{|z|zz{{zz{z{{{{{|{{{z{zz{{z|z{|{|z{|{z{|zzzz{{{{|{z{{{{{z{{{{||z|{{{|{{{{{z{|{{||{{{|{{|{{|{{{||{|}|{{|{zy{|||{{||{|{{{|{{z|{|{|{||{{{{z{{{|{z{||}|{{{{{{z{{{{||||{{{{{zz{z{{{||{|{|{z{{{{{{|{{{|{{{{|{{{{{|{{{|||||{{{{zz{{|{{|{||{|{{{z{z{|{|{{{{{{{{{zzz{|{z{}}}}}|||||{}}|||||}|{{|{{{|||{|{|}|||z{{{{{{{z|||{{|{{{{|z{{|||{{{||{z{{z{z{{|{{{|{zzzz{z{z{{{|{{|{{{zzzzzzzzzz{{|{zz{z{yzz{{{|{{{{zzzyzzzz{{{{{|{{{zz{zzy{z{{{{{{{y{{{zzzzz{{{{{{|zzzzz{zz{{{|z{{{{{zzz{z{z{{{{|{{zzzzzz{z{z{{{{|{{zzzzzz{{{{zz{}{||{zy{{{{{z{z{{{{zz{yz{|{{|{{{|{zzzz{z{{{{{|{|{{{z{{{{zy|||z{||{z{{{{{z{{|{z{||{{{{z{z{{{|||{|||{{|{{{|zz|z{{|||{z{|zzz{{{{||{|{{{z{zz{{{}|{|||{{{{||{{||{{{|||{|{{{z{z{{||{||}|{z{{{z{||{{||{||{z{{|zz|{|{{{||||z{|{{{|{|}{||||z{zz{{{{{z{|{{|{{|z{zz{z{{{}|{||{{{yzyzz{{||{~|||}||||}||}}}}}|}{|{|{{|||||{|||}{{z{{{zz||{||}{|{|{z{{zz{{||{{||{{zz{{{z|{{{{|||{{zzzzzz{{{{{{|{{y{z{{zz{{{z{{{{z{z{{{zz{z{{z|{{{z{{{zzy{{{{{{{{|zz{z{zz{|{{{{{|{{{zyzz|z|{{|{{{{{y{{zzzz|{{{{{z{{{z{zzz{{{{z{{{{z|z{zzy{{z{|||{{{z{zz{z{||{{{|||z{zzz{{z{|{z{{|zzzzzzzz{{{z|{||{z{{z{{{{|}|{||{|{{{z{{z{z{{{{}{z{{{z{y{|{|{{|||z{{{z{{{{{{{|||}{z{{{{zz{||||{|||z{|{{z{{{{{{||{|z{||yzz{}|{{{||{{{{{|{{{{{{|{|{|{{|{{{{|}||{}|||z{{z{{{{|{{|||{{{z{{|{{{||{||{|{{z{{{zz|{{{{||}{{{{{z|{z|||{|||{{z{z{{z|{|{{|{|{{{zzzz{{{{zz}|}{{|}||}||||{|{}}{{{|{{{{|{|{{{|{{|{z{{z{{{zz|{||{z{{{{zz||{|{||{{z{zzz{zz{|{{{{zz{{z{{{z{{{{|{z|zz{z{zzzz{{{{{{z{{{z{{zyz{{{zz|{{zzzzzzyz{z{|{|{{{zzzzyz{|{{{z{{{zz{z{{z{|z{{{{z{z{zzzzzz{zzz{{{yzzzzzzyz{z{{|z{zz{{{{zzz{{{|{|{{{zzz{{{{{{{|{||zz{yzz{{{||{{{{|{{{zzzzzz{{{{{{{{{z{{y{{z{{{|{{{|z{{{zzz{{{|{|{|z{z{{{{z|{{{z{{z{z{z{z{z{{|{{{|{zz{{|{{{{{{|{|||{z{{z{z{||{{|||{|z{z{z{z||||{{{}{{{z{{z{||{|||}|{{{z{{{{{||{||{|}z{}{z{{{{||{{{||{{{{{{z|||{||||{{{{{z{|{{||{{||{{zzzz|z{{{{|{|||zz{y{{z|}{|{|{{{z{z{zy{|z{{z}~}|||{|{|{|}{||||}||{{{{z{{|{||||||{{{z{{z{|||{{||{z{{zz{zz{||z|{{{{zzz{{zz|{{|||{zz{z{z{z{{{{{{z{z{z|z{zzz{{{z{{{{z{zzzz{{{z{{|{{{zyzzzz{{z{z{{{{|z{zz{zz{{{z{{|{{{z{zz|z{{|{{z{zz{{{{zzzz{zz{{zzzzzzzzyzzz{z{||{zz{z{zzz{{{{{{{{{z{zzz{y{{{z|{{{{y{zzzz{z{{z{{{{z{zzz{z{{||{{zz{{z{{{zz{{|{{{{{|{z{{zz{{{{{{z{|zzz{{y{z{{{{{||{{{z{z{{zz{|{{{|||z|y{|{z{z|{|{|{{{{z{zzy{{{|{{{{||z{z{|{z{|{{{|{|{{{{{{{|{|{{|||{{{|zz{{{{}|||{|||z{z|{{||{{|{||||{{z{|{zz{{{{{||{{z{zzzz{|{{z|{{{{z{|{z{{z{|z{{||{{zzzz{{{z{{{|z{z{{{zzy|z|{z}}|||||}{||}|{}|||}}||{|z{{{|||}{|||{|z{{zz||{{||||{|{{{z{|z{|{{||{|zyzzzzz{z{z{|{|zz{z{z{{{|{{z||{||{z{{y{{{|{{|{{zz{yzzzz|z{{z{|{{zzz{yzz{|{{{{|{zzyzzz|{zz{|{z{{zyz{zz{yz{{{{{|{{zz{{zzzz{zy{z{|{zz{{zz{{|zz{||{zz{z{zzzz{{{{{|{{z{zyzz{{{{{{y|{{z{zyz{{{{{{|{z|{{{zzzzz{{{z{|||{{|zzz{z{{{{||||{z{z{z{|z||{{{|{{{{{{{|{|{z|{||||zzzz{}{|{{{|{{|z{{{{{{{|{||}|||{{{{|{zzz|||{|{{|{zzzz|z{}|{{{||{{{{{{z{{||{{}{||{z{z{z|z}{|{||{{{{{{z{{||{{|{||{{zzz{z{|{{{|{||{{{|z{{{{|{||{||{{{zz{y{{{||{{|{{{{z{zz{{|{|{{|{{z|zzy{zz{{{z|}}||||{{|||}}{||}||{|z|{{{{}{{|{||{|{z{{z{||{|||{|{{{{z{zz{{|{{{{|{z{zz{zz|{{z{{z{{z|zz{{zzzz{z{|{{zzzz{zz{z{{{|{{{{{zzzzz|{{{{{{|{zz{zzz{{{{{|{{{|zzzz{zzzz{{{{{{{{z{{{y{{{z{{{{{{zzyz{{zz{{{{|{{{{{zz{{zz{{{z|{{{zz{{{z{z{z|zz|z{zzz{z{zz{||z{|{|{{zzz{{|{{|{{|{zz{{{z{y{{{|{{|{{{{{{z{z{|{{|{{{{{z{z{zz{|||{||{{z{{{{z{{{||{z|{{{{z{z{{{|||{||{{z{z|{||{{|{||||{{{{{{|z||{{|}||{{{{|z{z|{{{|}{|z{||z|{|{{{||{|||{{{|{{{||||||||}z{{{|{{z||{|||{{{{{{{z{{||{{||||{||{|{|||{{{||{|z{{z{z{{|{{{}|||z{{{|{{{||}{||{{{{y{zz{{{{|{}}|}|}}|||||}}{|||}{|{{{{{{{|{{|{}}|||{{|{{{{{|{}|||{{|z{{z|{{|{{|{{{{zzzyz{||{{}{|{z{z{{zz{{{z{{|z{z{z{z{{{{||z{{z{z{{yzz|{{zzz{{{z{{z{{{z{{|{{|z{{zyzz{y{z|{{{{|{{zzzzzz{z|{{|{{|{z{zzz{z{{{|{{{{{z{z{zzzz|zzz{{||{{{{{zz{{{{{|}|{zz{{{{{zz{{{|{{{{zzzz{z{{{{{|{||zyz{z{z{{{{{{||{zzz{z{{{||{{||z{z{{{{{z|{||z{{z{|z{{z{{{{{{{{|{{|{{{{||{|{{||}{{z{|{z{||{{|{|{||{{{{{{z||{||{||{{{|{{z{{||||{{|{{|{z{|{|{{|{|||||{{{{z{{}{|{||{{{{{{zz{|||}|||{|z{|{{{{||{{|||}|{z{zz{{|||{|||}z{{z{{{{|{|||{||{{z{z{{zz|||{|}{{{|z|{{z{{{|{}||{|{||z{|||}{}}}|{|{|||{|{{{|{{||{{zzz{|{{{{{||{{z{z{{zz{{{{{|{z{{zzzz{zzz{{{{|{}z{|zzzzzz{{z|{{{z{{zz{z{{|{zz{{{{zzz{{zz{{z{{{|{{{z{{{zz{{{{{{|{zzz{yzz{z{z{{{|{{{z{{zzz{{|{|{z|{{zzzzzzz{zzz{z{z{{|z|zzz{zz|{{{{z{zz{yz{{|{{{|{{z{z{{z{zz{z{{|{{z{zzz{{{z{{{|{{{zz{zzz{{{{{{{||{zz{z{{z{||{|{{|zz{{{zzz{{||{||{{{zzz{{{z||{|{{||{z{{{{z{{{}|{}|{{{{{{{{||{{||||{|z{z{{{|{|{{|}||{{{{z{{}}{{||}{z{{{{|{{||{{{{{{|{|{{{|{{}{||}|{{{{|{{{{{{{{||{{|zz{{{{z|{{|||||{{{{||z{{{|||||}z{{zz{z{{||||||{{{z{x{{{|||||{|z{{{{z{{{{{{{{|}|{||{|{||{||}}|||{{{{{z{{{|{|{||{{{|z{{zz||{{|{|{}z{zz{y{{{{{{||z{zzz{z{z{{{{{{{|zzzzz{z{z|{{{|{{{{{zz{z{z{z{zz{zz{{zzz{z{z|{{{z{{zzz{z{yz{{z|{{z{{z{zzzzzz{z{z{{zzz{zzzyz{{{{{|{{zz{z{zy{z{z{zz{{z{zzzzy{||{{{|{zy|{zzz{{{{{{||{{zzz{zz{{{{{{||{{{{{z{z{zz{{z{{|{{zzz{zy{z{|{|{{|{{{zzz{{||{||{{{{{{{{{{z{{{{z|z{{z{{{{{{{{{|{{{|{{z{zz{{|||{|}{{{{{{{{z{|||{||}|{{|z{|{|{{{||{{|zz{||{{||{|{||{z{z{z{|{{||{||{{{|{{{{{{{|||z||||{{{{{{{||{{{|||{{{{{{z|{{{|z|||{{{z{{{z{{{{|{{|{{{{z{{z{{{|{{|z{{zz{z{zy|{{|{||{zz{{zyzz{{{{~}||{||||{{{||}}|||{z{||z{|z|z||||||{{zz{z{||||z{}{|{{{|zz{{{{}{|||{{{zyz{zz{|{{{{{{zz{zzz{{{{z{{{{z{{zzy{z{{{zz{{z{z{zzzz{|z{|{|{{{{{zz{zzz{z{{{z{zzzz{zyz{||z|{{{{{zzzzzy{z{{z{{||{zz{y{z{{z|zz{{{{zy{z{z{{{{{||{{{{z{{zz{z{|{|}{{zzyz{zz{|{|zz||{z{z{{z{{{{{{{{{{{{{z{{z{{{zz||}{{{{z{z{{{{z{{z{{z{z{{{{z{|{z||{{{{|z{{{{{{{zz{{zzz|{zzz{|{||{||{|{|}z{{{{|||}}|{{z{{{yz{||{|{|{{{{{{{{{{|||{||||{{z{|{{{||z|||{|z{{z{{z{}|{|{|||{{|{||{|{{|||||{z{|{y{z|{{{}{||{{{{{{{z||{{{{{}|{{zzz{z{{{{{{||{{{{{{zzz|}{{|||{{{z{|{z{{{{{}||||z}|{|{{||||}{|{{zz|z|{{||||{||{|{z|{z{|{{||{|||zz{{zzz{{{{{{|{{z{{z{zzz{{{{{{{{z{zzzzz{|{z{||z|{zzzzz{{y{zz{{z{zzyxzzz{{{{z{|{{{{{yzz{z{|{zz|{{zzzz{{{z{{{{||{{{{zzz{{zz{zz{|{{zy{{{zz{{{z{{{{z{{z{zz{{|z{{{|{zzzzzzzzz{{|{{|{{{{zzyzz|{{{{|{|{yz{zzz{z{{{z{{|z{{z{zzz{{|{{{|{{z{{zzzy{|||{{|{{{zz{{z{|{|||z{{{{{{{{z{zz{{{{{{z{z{zz{{{{||{{|}{{{{z{{{||{|{||{|{{z{z{z|||{{{|||z{z{{{z}|{{{|||{{{z{|{{{|{{z||||{z|{{{z|{||{}|{{{||{{{z{|||{||{{{{|{{{|z{{{||||{|{z|{{{{{{|{{{||{{z{{|{||{|{{||{{z{zzz{{{{{z{}zzy{zzz{z{|{{z}{{||||{|}{{}|||}|||||||zzz{|}||}|||{{{{zzz{{{||}{||{z{z{zz{{||{{{{z{{zzzzzz{}|{{{||{{{{{zz{||{{||{{zzzzzz{z{|{zz{{|{{zzz{yzzz{z{{{zzzzz{zzz{{{z{{{{zzzy{zz|{{{{{|{z{zzz{zz{{{{{|||zzz{zz{zzz{zz{|{{{zzz{{zz|{|z|{{{{{zzzzz{z{{{{{{|{zzzzz{{{{z||||z{zzzz{{{z{zz|{|{{{{{zz{z{{{{{{|z{{{{{{{{{|z{|{{{{z{{{zz{|||||{{|{{{z{zz|||{{||||{{{{{z{||{|z|{|{{{{|zz{{}||{}|{{zz|{{{y{{|||||{|zz{{{z{{|||||}}{z{{{{|||{|||||}{z{{{z{z{|}|{|||{{{{|z{{{|}|{}{{{z{|{{{{{{{{|||}|{{{{|{{|{|}|{|{{{{{z{{{{|{{{|{|{z{zz{{{{z|||{||zz{zz{{zz{{{|||||{||{z|{|{{{||}||zz{{{zz|{zz||{|{|{{{{z{{{{|{|{{{{z{{zz{{{|{{{|{{z|zz{zz{{z{{{{{{{{z{zzy{{{{{|{{{{z{zzzzz{{z{{z{{z{zzzzz{{{{{z{z{zzzz{zz{{||z{{z{zzzzzzz{z|{{{{{{z{{zz{zz{{||{{zzzz{zz{zz{z{z{{{{z|{z{{zzz{{z{|{z{z{z{{z|{{|{||{{{zz{z{z{z{{{{z{{{zzzzzz{{z{{z{{z{{zzzz{{|{z{{{{{{{{{yzz{{{||{{|{{{z{z{z{{|{{{|{{{{|z{{{{z{{z|{|{z{z{z{z{||{|z||z{z{zz{{{|{|{|{{z|zz{|zz{{|||||||{z{{{z{{|{{{|||{z|{{{{{{|{{||{|}{z{z|{{{|||||{||{{{z{{{|{||{||{{{||{{{{{{|{{||{|{{{{{{{{{z|{{||z{{{z{z{{|{{{{|{{zz{{z{z||||{{{zz{{z{z{z{||z{|||}||{{{{z||}|{|||{{z{{{z{{{|{||}|{z{{{zzz{{|{zz|{zzzzzzzz{z{|{{{{|{zzz{{z{{{|{z{|{z{z{{zz{{{z{{{z{{z{zzzz{{{z{{{zz{zzzzz{zz{{{|{{z{{zz{zzz{{{{{|{zzz{{zzzz||{{|{z{z{zz{z{y{z{z{{{{zzy{z{yzzzzz{{{{zzzy{{z{{yzz|{{{z{z{z{{{{|{{{|{zzzzz{zzz{{z{{|||{{{zzzz{{{{{{{|{yzz{z{{{{{y{{}|{{zzzzz{{{{{z{{{zzzzzzz{{{{{{||{{{z{zzz{{|{{{|{{{{{{{{{{{|{|{{|{z|z{{z{{{|z|{{{|{z{{{{{{|{{{|{{||z|{{{{{{{||{{|}{{|{{{|{{{{{|}{||{z|{{{{{|{|||{||{{{{|{{||}{{}{{{{{{{{{z||{|||{{z{{{{|{{{|z|{{|||{{zzzz{|{|||||{|{z{zz|{{}{{{|{{zz{zyz{{{{|{{||}|{{{{{z{}{{{|{|}{|{{{{|z{|{{{|}|z{zzzz{z|{{|{|{|{{zzzzz{{{{}{{{|{{{{{z{y{{{{||{{zz{{z{zzz|{z{{{{{{z{{yz{{z|zz{{|{{{z{{yz{|{|{{z{zzzzzy{{{{{{{{|{{{zzzzy{z{{{{{{|{zz{z{z{z{{{z{{{z{zzzz{z{{{zz|{{{zzzzz{zz{{{{|{|zz{z{{zz{z{}|{||{zzzz{z{{z{{z{{{{z{zzzzz{|{{{|{{{{{{zz{{{{|{{|{{{{{z{z{{z{{|z{||{{{{zzz{||{{|{{{|{{{{z{{z{{{{{{|{{{z{{{{z{{||{|{{{z{{{{z{{{||||}z{{{{zz{{|||||{|{{{{{{zz|{{{{{|||{{{z{{{{{{||}||{{z{{{{{{{|}|||{{zz|{z{{|{|{{||{{{zzzzz{{{{{{{{|{{z{z{|{{||{{{||{{{{{z{{|{z|{{|{{{z{{{zz||{|{{||{z{zzzzz{{{z{}|||{{z{{||{|}{|}|}|{{zz{z|{|||}|||||{z{zzz{{{|{||{{{{{z{{zzy{z{{|{{zzz{y{{{z{z{|{|{{z{{zzzz{{{{{|{zzz{zzzz{{|zz{{{{z{zzzz{{z{|{{{{{{zzzy{{{{|{{{{z{zzzzz{zz{{z{{|{{{{zzz{yz{|{{|||z{zz{zy{{{{{{{{{|{y{{z{zzzz{y{{{{zzy{{z{{{{z{|{{zz{{{z{zz{zz||{|zz{zz{{{{z{|{{||{z{{{z{z{|z{|{||{z{{z{{{||}|{}{{z{zz{{z{z{{{{{||z{{{{{{{{|||{|||{z{{{z{{||{|||||{{{{{{{|{{{}{{{}{{{|zz{z|{}{||{||{z{{{{{||||{|{|{z{zz||{||{{||}}|{{{z|{{||{||{||}{{{{z{{||{}|||}|{{{{{z{{|{|{||||{{|{{{|{{{|||{|{{zzz{{z|{|||{|{{{|z{{{z{|{{{|{zzz{{zz{z|{{z||}}{{|{{||{|~{{{{|}{|{{||{||{||||||{z{{{{|z{{{||{||{||{{{{z{|{||z{||{z{{{{z|{{|{{|{|z{z{{{{{||z{||{z{{{z{{{}||{{{||{{z{{{z{|{{{|||{{{z{{zzz{{{|{{}{{{z{z{zz{|{{z|{|{{{z{{{{||{{{}||{{z{z{{{{{{{{|{z{{|zz{zz{{{{{{{{{zzzz{{z{|{{{{||{{{{{{z{{{|z{|{{|{|zzz{{{{||{|||z{{|{{{|{z{z{||{|{{z|{z{{|{{{}{|{{{{{{{zz{|{|||{{{|{z{{|||||{{}|{|{z{{{||{|}|{||{|}{{{{|||{}{||}|{|{{{z{|||}||||}{{||zz{|}|{||}|{{{{{{{|{{||}|}||{{{{{{{{}|||{|||{|{{{z{||{{}||||{z|{{{|||{||||}}|z{|{{{||||||}|{|{z|{{{||||{||{}{{{{zz{|}{||{|{{{z{|{{{{{|{{|{|{||{|{|{{|}||{||{{{{{{||{{|||}||{{z{z|y{|{{{{{|{|y{{z|z{|{{{{{||{{|{zzzz{{{{{|{|zyzzzz{yz|{{z{{|{{{{{zzzz{{{{|{zz{zzz{y{{{{|z}{|z|{y{z{z{{{{{z{{{zzz{zzz{{{{{{{{{zz{zzzzz{{{{{|{z{{zzzzz{{{{z{{{{zzz{{zzz{{{{z||{zzzzzzz{{{{||{{zyzz{{{{{z{z{|{{{{z{z{z|{{{|z{|{zz{zzzz{|{{||{{{{z|z{z{{{{{|{|||{{{z{{z{{{{{{{||{zz{|{{{{|{{{{||{{z{z{{{{{|||{{{{{|{{z{||{||{|||{|{{z{{{{||||{|||zzz{|{{{||{{|||{{{z{||z{|||}|||{{{|z{|{{}|}|||||{||{{|z||||{||||{z{{{{||{|{|{|{|{{{{{|{|||}{|||{{{{||z{{|{|{|{}{{||{{{z|{||{|{}|{{z{z{{{||{{|||{||{{||{z|{||{||||{{{{{{{|}{{{||{{{{zz{z{{{|{|{||{z{{zzz{{|{z{||z{{{xzzz{{{{{|||{zz{z{{zzzz{{{{|{{{z{z{{z|{z{|{z{z{{zyyz{zz{z|{zzzz{{z{z{{{|{{z|{zzyz{zz{{|{|{{{{zz{zzzyz|z{{|{{{z{{zyzzzz{{|{z|zzzzzzzzz{{{{|{{z{zzz|{y{{{z{{{|{zz{z{{{{zz{{{{|zz{{{z{{|{{|z|||z{z{{zz{zz{{z|{{{{{{z{{z{}|{{}{{{z{y{z{z{||{z{{{{z{{y{{{{||z{|{|{{zz{{z{{|||{}||{{|{|{{z|{{|{|||{{{|zz{z{{{||{{{{z|{{{|z||||||}{{z|{{{{||||{{{|{|{{{z{{{{|||{{||{||{{z{{{|{{}{||{zz{||{{{|{|{||{{{|{{{{z{{{||||||{z{zzz{{{|{|||{{{{{{|{z{|||{z|{{{{z|{{{{{|{{}}||{y||{|{||}{||}|{|zz||z{||{{}|{z{{z{{{{z|{{{{{||{{{zzzz{{|{{{|{{{{z{zzzy{z{{{{{}{z{zzzz{{|{|{{{{{|{zzz{z{{z{{{{{z{{zy{{{{{|{{{|z{zzzz{{z{|{{{|{{{zz{zzz{|{|{||{|{{{{zzz{{{{z{|{{{z{zz{zz{{{{{{{{{{{{z{zzz{{y|||{zz{z{|zz{{{||||{{zzz{{zz{{{z{|{|{{{zzzzz|{{||{z{{{{{z{z{{{{z|{||{{z{{z{{{|{{{{{{{{zz{{{{{|}{||{{{z|z{z{{{||{{||}||{z{{{z|||}|}|{{||{{z|{|{||{|||{{{|{{||{|||||||}{{{{z{{|||}||}|||||{||{|||z|||}|{{{{|{{{{{|||||{{{||z{{{{{||{{{|{|z{{{{{|{||||{{|{{|{{z{||{||{~{{{{{{{{||{{||{||{{{z{{{{|{{{{{{{{zz{{{{{{{{{||{{|{{|{zz}||{{||{{{{{zzz{{|z|||||{{yz{{{z{{{{||{{|zy{{zz{{||{{{{|zz{zzzzz{{|{{|z{zy{|z{{zz{zzz{|z|z{z{zz{{{|{z{{{{zz{yzz{{zz{{{{zzz{{zzzz{{{z{{{{{zzzzzz{z{{z{z{{z{{zzz{{|{{||{|{{{z{zyz{z{{zz|{{z{zyzzzz{{|{z{||zz{y{{{z{{{|{{|{{zyz{{{{{{{{{z{{zz||{z{z|{zz{|||z{z{{z|z|{|{{{{zzz{{zy{z|{{z|{|{{{{{zzzz{{{z||{z{{z{{z{{{{{{{|{|{z{z{zz{{{||{||{{{|{{{{{{|{{{{|{{|{|zz{{|{||{{{{}z{{zzzz||||{||{{z|z{{{{|}|{{|}|{z{{{{{{{||||{|{|{{{{z{{}{|||||z{{{{||{{{{|z{|||{z{z|{zz{{||||}||{{{{z{{{|{{{{{{{{{z{{{z{{{z{{{{{{zzz{{{{{|z|{||{{{z|zzz|{{{{z|||{{{{z{{{|{|||||{{{{{{{{|{{z|{{{|zz{z{z{z{{|{z||{{{zyzzz{{||z{{{{{zzz{{zz{zz{{{{{z{{|{z{|z{{z{{{{zzzzzyzz{{|z{|{zz{{{{zz{{|{z{{{{{z{zzzzz{{{{|{{zzzz{{{z{z{|{{|{zzzzzzzyy{{z{{{{|z{{{{{{z{{z{{|{{zzzzzzz{{z||{{{{zzy{y{{{{{z{{{{zz{{zz{{{|{{{{|{{zz{yzzz{{{{{{||zz{|{zzzz{{{|||{{{zz{{{{{{{{|{|{{{{z{{z{|{|{{|{{|zz{{{z{{|{{||{|z||{z{{z{|{|{{|||{z{zz{{{|{{{{|{{zz{{{{{||{||||}z{{{{||z{{||||{}|{{{z{{|{|||{{{||{zz|{{{||{|{|||{{{{|{{z{|{{{{|}{{z{|{{{{{{{{|||{{{z{{z{{z{{|{|{|z{zz{{{z{{{|||{|z{z{{zzzz{{{|{||{{{z{{{{{{{|{|{{{{|zzz{{{{|{|{{{{zzz{{z{{{|{||}{z{{zzz{{{|{z|{|{{{{zz{z|{{{{z{|{z{{{zzzz|{{z{|||z{{{zz{|{{|{{||{z{z{{z{{{{{{|{{zz{zzzzzzz{z{z{{{{{{zzzzz{||{{{{{{z{zzzz|{{{|z{|{zzzzzzz{{{z{{{{zzzzz{zz{{{{z{{{{{{z{|yzz|{{{{{|{{zzz{|z{{{{{z|{zz{{{z{{{{{{{{z|{zzz{zz{|{{{|{{{zz{{{{{{||z{{{{{{z{{{{{z{|{{{z|z{zz{zzzz{{|{{{|{{{{z{{z||}||{|||z{zz|{{{|||{z{{|{{{z|{{{{||||{||z{{z{{{z||||||||{{{{|||{|{{{{||}|{{{{z{{{}|||||}{z{{{{|{{{|{{|{|{|{{{{{{{{||||||{{{{{{{{{{|{||{|{{{{|z{{|{|{{|}|{{{z{{|{||{|{{{{{|{z{z{{{|||{{{{{|zz{zzz{{|{{{|{|z{{zzyz{z||{|{{|{{{{{{{{|{||{{{zz{z{zz{{|{|zz|z{{{yz{yz{{{|{{z|{z{zzzzy{z|z{z{||{zzzzzz{{{zy{{{zz{zzz{zz{{zz{z{z{z{zyz{z{zz{{|z{zzzz{zz{{zz{{{{{zyzyzy{{{{{{z{{z{zz{zzzzz{{z{{{zzzzyzzzz{z{z{{{{z{{yzzzz{{{z{{{{{{zzyzzz{{|{|{{{zzzzz{{{|z{z{|{{zzyzzz{{{{{{{{{{zzyzzz{z{{z{}{{zzz{z{{{{{z{{{|z|z{z{{{{{{|||{|{{{{{|zy{{{|{{{{|z|zz{zzz{{||}{|||{{|{{{{{|}{||||{zzyzz{{|{{{{||||z{{{|{{{{{|||||{{{{{{zz||{||}|||{{{{zz{||{{|{{|z{z{|{{z{{}{{{||||z{{{{{|{{{{|{|{zzz{z{z{||||{{||{zzzzzz{{||{|{{{|{z{z{z{|{z{||{||{|{{{{|{|{z{{}{{|z{z{||{{z{|{|{|z{z{{z||{|{|{||{{{{z{{{{{{y{{|{{zz{z{z{{{|{|z{zz{z{{{y{{{{{{{{|zzyzzzz{{|{{|zzz{zzzz{{{{{{{{{zz{{zzz{{z|z{z{{{{z{zzzz{z{{y{{{{{z{z{{zz{|{{{|||{{{zyzzzz{{|{{|{|z{z{z{{zz{{{|z{{z{zz{zzz{{{{||{{z{{{zzz|{|{{{{{|{{z{yzz|{{{{{|{{zzzzz{z{{{|{||{{{{{z|zz{|{|{|{|{{{z{z{z{{||{||{{zz{z|{{{|}{{{|||{z{{{zz||||||||z{z{zz||{{z|{||||{{{z{|{|{}|{||||z{{{||{||{{||||{|{{z|zz{|||{|}{||{{{|{z{}|||{|||{|{z{|{||{{{{|{{|{{|z{{{{{|{|||||{{z{z{|||{||||{{{z{{zz{{{{|{}{{{{{{zzz{||||z|{{|{{z{zz|||{{|{{{{{{{{{{|}||{{|{{z{{{{{{{||||||||{zz{{{z|{{{|z|{{{{z{zz{{|{{{{|{{{{{{z{z{z|{z{z|{{{{zy|z{{{zz||z{z{zzzzz{z{z{||z{z{zz{{{{{z{{{{{zz{z{zyzz{z|{||{zz{{zzz{{|{{z{{{{z{zz{zz{y{zz{{{{{{{{z{zzzz{{|{{{{{zz{zzz{{z|{|{zy{zzz{z{{z{{{||{zzzzzz{|{{{{{{{|z{zzz|{{{{z{}z{{zzz{{{z|{|{z|||z{{zzz{{{|{|||{{z{{z{zzz{{||{|{{{zz{{{{{|}{{{{{|{{zz{{{{{|z|{|||{{{{|z{z{{|||{|||{|{{z{z{||{||{{{{{{z|z{||{{||{||{{z{{|{{|{{{{|||{{z{|{|{}||{|||}{|{{{z{|{|||||{||z{|{||{{{{|{}|{{{{|{z{|{{||||}{|{z{{{{{|{{{|||||z{zz{{{{||{||{|z|z{z{zz{|{|}|{|{{|{{{|{{}{|{||||{z|{{|||||||{{{{{{{{{{{{|{{{|{{z{z{{{{{|{{{|z|z{zz{z{z{{{|{|{{{{{z{{{z{|{|{||{zzzz{zy{{{zz{|{{{{{z{{{zz{{|{{||z{zz{zz{||{z{{|{{{{zzzzz{z|{}|{|z{{{{{{{{{z{{{||{{z|z{z{{|{|{z|{z{zzz{z{{{{{{{{|zzzy{zzz{|{|{}|{{{z{{z{{{{{{{||{z{zz{z{{{{{{{{||{z{zzz{z{{{|||||z{|{|{{{{{{|{}|{|{{{{{{{{|{{{{{||{z|{zzz|}|{{{{|{{{{|{{z|||||{z|{z{|{{|||{||{|}}{{z|z{z{||{|}|||||{{{|{{|||{{}||{{z|z{|||||||||{|{{{{|{||}{||}}}{{z|{z|||||}||}|}||{{{{|{||||||}|{{{|{||{|||||}|{z{{zz{{{||{{}|{||{zz{|{{|{||{|{|{|z{z{{{{{{z||{zz|zz{{{|{{{{{||{{z{zz{z|{{{{{|{{z{{{{zz{|{|{|{z{{{yz{zy{{{|zz{{{{zzzz{y{{|{z{{|zz{z{z{{{{{zz{|||{z{{zzz{{{{{z|zzy{zzzzz{{{|z|{{{z{z{y{z{{{{{{zz{zyzzzz{zz{{{|{||zzyzz{zzzz|{{{{{yzz{yz{{{{y{{{{z{zz{yzyzz{{{{{{z{zz{zzy{{z{|{||z{zy|zzzzz{zz{{||zy{{y{{{{z|||{|{{z{zzzz{|{{|{||{z|zzy{zz{{{{|{{{zzz{{{{{||{z{{{z{zz{{{{{||{{|{{{z{{z{{z{{|{||||{{zz{{{z|{|||}|{|{{{{{zz{{|||{{|{z{z|z{{||{z{|}|{{{|{{{{{|||||{|{|z{z{{{|}|{||||{z{{{{z||{{|{||{|zzz|{z|{z{||{|||{z{{{{{{{{{{{|z{{z{zz{|{{||{||||{z{{{zzz|{|{{|{z{{z{zz{{{{{{|{{|{|{{z|z{{}z{|{{z|{z{zz{|z{|||{{{{z{{zzz{{z|{|{{{z{zz{{y{}{{z{{{{zzz{zyzz{{{{|z|z{zzzz{zz{|{z{|||z{{yyzzz{{{{{{{z{{zzzzz{zz{{z{|zzzzz{yzz{z{{{{z{z{zz{{z{{{{}{|{{zz{{zzyz{z{{z{{{zy{zyzzz{{z{{z{{z{z{zzzz{{|{}z{yz{zz{zy{{z{{{|{{z{{zzzyz{|zz{||{z{z{{z{{z|{{|{{z{{{yzyzz{{{{{{{{zzzy{zzzz{{|zz|{z{zzzyz{{{{{{}|z{{z|zzz{z{zz{||{{z{{{z{{{||{{{|{z{{{{|{z{{{{|||{{z{z{zz||{|{|{{{{{{{{{|{|{{{{{|{z{zz||z|{|{|{{{{{zz{{z{{|{|{|||{{|{z{{z|{{|{|{{|zz{z|zz||{{{z{{{|zz|{{{|{{{}||{{{zzz{{{{{{{{|{|{z{{{z{{||{{{z{|{{{zz{zzz{{{{{{{{{{z{z{{||{|{{z{{{z{{z{z{{{|{{{{{{{{{|zz{|{{{{{{z{zzzyz{{||{zz|z|z{zzzz{z{|{{|||{{zzzzzz{{{{z{{zzz{zzzzzzz{zzz|{{{zzz{zz|z{{{z{{yz{zzzz{{{{|{|{z{z{zz{yzyz{z{{|{z{zzyyyz{{{{z{{{{zz{{z{{{zzz{{|zzzzzzzyzz|z{z{{|{yzyz{zz{{{{|{{{zzzzzzyz{{{{{{{{{y{zz{{{z{{{|z{{zzz{zzzzz{|z{{||z{{{zzz{{|{|{{|{{{{|{z{{|z|{{{|{zz{{{{{{{|{||{z{{{z{{{yz{{{{{{||{z{{|{{{{{{{{||||{{|{{zy|||{}{||{z{{{z{y||{{{|||{{{{{{{{{|{{{||{}{{{{{zz{{{}{||{{{{{{{zz{{||{|{{{z{{z{zz||{{||}}|z{{|{{{{|||}{{||{zz{{{{{{||{||||{|{z{{{{||{z|}|{{z{{zz{{{{z{{|{{{{z{z{zz|{z{{{|{{{z|{z{{|{||{{||{{{{{z|z{{z{||{{{zz{yz{|{||zz{{{{z{zzzz{|{{z{||{zzzzz{zz{|z{||zz{{{z{{z{|{zz|z{{{zzyzzzz{{|{{{|zzzz{zz{z||{{{{{{zzzyzzz{{|{{{||{{y{zzzzzz|{{{|{{{zzzyyzz{|{{{{z{{yzz{zzz{{z{|{{zz{{{yz{{{{z{{|{zz{z{y{{{{{{{{{{{{yz{zz{{{{{{|z{{{{zz{zz{{|{{{|{{z{|{zzz{{{{{{{{{{{z{{zz||{|{z{{zzz{{zz{z{|z{|||{{{{{{{{{{|{||}|{{{{z{||{|{{||||{{z{zz{z{|{{{||{|z{{z{z{|{||||||{||{z{|{{|||||{|{{z{{{{{{|||{||||{{{{{{|{{{{{||{|z{{z{z{{{{{{{{{{{{||{{{|{|{{|||{{{z{{{z{{|{{||{z{{{{{{{|{||{{{{{{{z{{{z{{|{||{{{zzz|{{{{|{{{{{{|z{z{|zzz{{zzz||zzz{z|zz{{z{|{|{{z{z{zz{{{||z{{|{z{zzz{zy{{{{|z|zz{z{{yzz|{z{z|{{zzz{zzz{z{z{z{{{yy{{zz{{|{{{{{{{zzzzyyzz{z{|{{{{zz{yyzz{z||{{|{zz{{zzzz{{{|zz|{yzz{zz{zzz{z{{{z{{zzyzzzz{zzz{{{zzzzz{yzz|z{{{{{zzzzzz{z|{{z{|{{{{{z{zzz{{z{z{z{zzzzzzzz{zz{{{{|z{{{zy{zzz{{z{{|zz{zzyz{{z{{{{{{{z{{{z{{z||{{{|{z{{{{{|{{{{{{{{{{{{{z|{y{|{{{||{{{{zzzzz|||{|{{{|{z||zzz||{|{|||{zz{{||{{|{||}{||{z{{{{z{||{{{|{{{z{z|zz||||{{z{{{z{|z{|{||{{{{||zz{{{{{{z|{|||{{||{z{z{{{|{{||{{{{zzzzz{{{{{|{{{{|{{yz{{{z|{|||||zz{z{{{|{z{|||{{z{{zz{|{{}{{|{{{{zzz{{|{{{|{||{z{zzzzzzz{{z{{{{z|{zzzy{|z{{z{{{z{zzzyzz|zzz|{{|zzz{z{zz{{z{|zz{{zzzzz{{zz|{{zzz{{yzzzz{{z{{{|{z{zzzyyz{zz{z|{{zzzzz{zz{z|{{{{{z{zzzzzz{{{zz{{{{z{{zz{zz{{{zz{{zzzzzzzz{z{{|zz{z{yz{zzy{{{{{zz{zyzzzy{z{|z{{z{{zz{{zzz{{{{z{{{{zz{{{{{zz{{|{{{{z{zzzz{{|z|{{{|zzzz{zz{z{{{z{|{{z{zy|z{||{{{{|{|z{{{{{{{|{{|{|{{{{{{{zz{|{}{{{|||{{|{zzz{||{|{|{{|{{|{{{||{|{{|||{{{{{z{{||{|{|{{{z{z{{||}{|{|||{zzz{{{{|{{{{{{|{|{|zz{{||{{z}|{{{{{zz{{|{{{z||{z{{{{{{z{{{z{{{{{{{zzz{yz|{zz{z{{{zz{z{z{|{{{{||{{zyzz{{{{{|{{{{{zzzzz{z{{{{{{{|{z{z{y{{{|z{y{z{{z{yzzzyz{{{{|z{yz{{zy{zz{zz{|{z{{z{yzz{{zz{{{{{zz{{{{{{yz{zzz{{zzzzyzzz{{{{y{zz{zzzzzzz{z{z{z{z{z{{zzyzz{{|{z{{{zy{zzzzz{{zzzz|{zzzzzzyzzz{{{{zzzzzz{zzzz{{z{{z{zzy{y{zz{{{zz{||zz{yzz{zz|{z{{{{{zzzzzz{z|{|z{{{{zz{zz{{{zzz{z{zz{z{zzz|z{z{z|{z{{zzy{z{{|z{{|{{{{zz{z{{{|||{|{{z{yzz{{{|{|{||}{{{{z{{z{{|}}{|{{zz{{z{{{{|{||||{{|{{{{{{|{{|{|||{|{z{{{{||{|{|{|z{zz{{{{{{|{|{{{z{{|{{{{{|||{|}|z{z{zz{|{{|{{||{{|yzz{z||{|{{|{|{{z{{{|{|{|{|{{{{{y{zzz{{zz{{z{{{{{{z{{{{{||z||{|{{z|{{z{{|||{|{{zzzz{z{|{{{{}{z||zzzzy{{{|{{{{{{{{zzzy|z{{{||{zz{zz{zzz|{zzz{zzz{zzzzz{z{zz{{{{zz{z{zz{{{{{{|{zzzzz{{{{{z|{|{{zz{zz{zz{|{zz|{{{z{y{z{{{{{{{{{zzy{{zzyz{zzzzz{{|{zzzzz{z{z{z||{zzzz{|zzz{{{{{{|{zzz{zzz{{{{{{|{{{{z{z{z|z{{{{{|z{{z{zzz{|z{{{{z{{{{zz{{{{{{z|{|{{{{z{{z||zz{{{{|{{{{zz{{{z{{{|{{{|z{{{{{}{{{{|{z{||||{{|{z{{{||{zz{{z{{||{{|||{|z{|{z{|||||||{|{{{{{|{|{{||{~||{{{{z{{{||}{|||||{{|{{zz{{{||||{|zz{|{z{{|{|{{z||z{{z{z{||{|{|||z{{{{{{{{{|||{{{{z{{zz{{{{{{{{{{z{{z{{zz{{{{{{{{|{{{|zzzz{||||{{{{z{{z{z{zz{{{}{{y{z{z{{{||{{{z{{{z{{{zz{|z{{z{{z{{zzzyyz{z{|{{|zzz{zyzz{{{{z{z{zzy{yzzz{{zzzz|{z|zzy{z{zz{z{|z{zyz{zyzzz{z{zz{zzyzzy{yz{{{{{{{{{zz{zzzzzz||{|{z{zyzzz{yz{{{{z{{{z{zzz|z{{{{z|{{z{zzz{zzz{|z||||zz{zz{{z{z{{{z{{z{{zzz|||{|{{z{|z{{zz{{z{{{z{{{{zzz{zz{zz|{{{|{{{{|z{z{{{{{z{{|{z{{z{{{{{|{{|||{{z{{{{{{||{|{{|{{{{{{{{z{|z|||{|z{|{{{zzz{{|{|||{|{{|yz{|}{z{|}||{{{||{y{{{|||{{{z{z{{{{{}|{|{||{{{{z{z||}{||{|||{{{{{{|{|{|{{|{{{zz{{{|{||{|||||zzz{{z{z|{|{{}{{{{{yy{z{{{{{{|{{y{zz{zz{|||{|z{{|z{|zy{z{||{z{{z{{z{zz{{{{{{|{{z{{zzz{z|z{z|{|{{{zzzzyz{||{z|||{z|z{{{z{z{|{{{|zyzz{zzz{{z{{{{{zzzzzzzz{zz{z{{{zz{zzzzz{{zz{{z{zzzzzzzzz{{{{{|{z{{zz|zz{{|z{z{{{z{zyzzzzz{{{{{|z{{zzyzzz{{zzz{|zzzy{zzyz|z{|{{{zzyzzz{zzz|{{{}zzz{y{yy{|z{z|{|{yz{{yz{{z|{z{{{{{zzzz{zz{|{{|{|{zzz{{{|z|{{|||{{zz{{z|z{|{|z{{|{{z{{{zz{{{{z{{|{z{{z|z{{{|||{|{{{{{zz{{{{{|{{{|{|{{||{z{{{}{|{|||z{{{{{{{|{{{||{|{|{{{{{{||{|{{|{{{{z{{z{|{||||{{{{|{z{{{|{||||||{{{{{{{{{z|||||{|{|{z{{|{{{||}|z{{{{{z{{|{||{||{{{z{zz{{}{|||{{{y{zz{{z{{{{|||{z{zz{{zyz{|{|z{|{zzz|z{{{{{||{||zz{{z{zz{{|{{|{{zzz{z{zz{{{{z|||{{zzz{z{{{|{{|{{{z{zzz{yzz|z{{|z{{{zzzz{zz{{z{{|zy{{z{zz{{z{{z{{zzzzzzz{z{z{{{{{zzzzz{z{{||{{{|{{z{zy{zz{{{{|{|{|z{{zzzzz{|{{{{z{{z{{zzy{{{{{{z{{{{z{z{y{{{|z{|{{zz{zz{z|{z|{z{||z{zzy{{{z{{z|{|{{{zzzzz{{|{|{|{zz|z{{{{{|{}{{{|z{|zyyz{{{{{{{|||z{z{zz{{||{{||||{z{zz{z{{||||z}|z{|{{{{|{z|z}|{{|{{z{zz{||}|||{{z{{|{zz||||{||}{{{z{{||{|||||{{}z{|{{|z{||}|{|{|z||{{{{{|||||||{{{||{z|{|{||}|||{{{{|{{{|{|z{||||zzz{{{z{|{||||{|{{z{{{z}{{|{||{z|z|{{z{|{|{|{{z{z{zz{z{{{{{{|{zzzzz{{z|{{|z{|||{{z{{zy{{|{|||{{z{{z{zzz{||{|{{zz{zzzzz{{z|{{||{z{zyyz{z{{{||{|z{{z{zzz{{zzz{{{{zz{zz{zz{{{{{{|zzz{{zzzz{{{zz{{{{zzz{z{{z{{{{{{z{{{zzzz{z{zz{{{{z{zzzzzzzzzz{{{zzzzz{z{z{{{{{{{z{yzz{{z|{{{||{{{z{zzzzz{|{{z|{{{zzzzy{zz{||{z{|z{z{zz{z{{{{{{{|{{{{zz{{z|{{}{{{zy{zzzzz{|{{{||{{{{{zz|{{z{{{||{zz{{{{{z{|||{|}zz|{{{{{z|{|{{||||z{{{{|y{|||||{z|zzz{{{{{|{|{|{|{{{{{{{|{|{{||{||{|{{{{{{||{}|}{{{z|{{{{}}||{||{{zz{{{{{{{|{|||{{{{||{z{||{{{|}|||{z{{{{|{{||}||{{z{{{zz||z{{{{{z{{zzzzz{{{{|{zz{{z{{z{{{|||{{{{zz{{{{z{|{{{{{{|z{zzzzzz{{{z|{{{{zz{{zz{{zz{{z{{{zzzzzz{{yz{{|z{zz{{zz{z{{{{{{|{{zz{{{{zzz|{z{|{z{zzyzz{{zz{{{|{{zzz{zzzz{{zz{{{{zz{zzzz{y{{{z{{z{{zz{{{zzz|{{{{zzzzzzzzyzzz{{{z|yz{z{{zz{z{{|{{zzzyzzz{|{z{{z{{{zyzz{zz|z{{{{|{zzzzzzzy{z{z{{{|{{{zzz{z{|z{{{{|{zz{{yzz{{|{{{{{z{z{z{yy{{{{{|{{{z{{z{z{{||{z|{{{z{z|{z{z{|{|||{zz{{{{|z{{|{|||{{z|||zz{}|{{||{|{z{{{{{{||{||{|||{z|{{z||||{{||||z{{{{{{z|{{|}|||{z{z{y{|||{{|{{{{{|z{{z|||{||{{|{{||{{z{{||}|{|{|{z|zz{{|||{{|||{z{{z{{z{|{z{||{{{zy{{z{{||{|z{{|{{{{{zz{||{|||z{|{{zzzz|{{{{|{{{{zz{|{|{{|{{z|{z{z{zzz{{{{{z|{zzzzyz|z|{{{{z{|zz{z{yzz{|zz{{{{zz{zz{{z{y{zz{{{zyzzz{zz{|{{{{{{y{{|zzzz{|z|{{{{z{{{y{zz{zy|{{{|zzzzzzz{z{{{{{{||{zzzzzzz{{z{{{{z{zzz{y{z{zz{{{|{zzz|zz{{{z{|{{z{{{{{z{z{|{{{{|{zzzz{zz{{{{{||{zzzz{zzz{{|z|{||zz{{{|zz{{|{z{{z||zz{{zyz{|{zz||{z{{{{z{z{|{|{{{{|y{{{{z{|{{||{|{z{{{{z|{{|{|||||{z|{{{{z{|}{|{||{y|{|{{{|||{|||}{{{{{{|{{}||{||}|{{{zz{{||{{|||||z|{{{{{||||{|{|{{{{z{z{{|z}|z}{|z{{{{{{||{|||{{z{{z{||{{{|{|{||||{{{z{{{|{|{{||{{{z{z{z{{{{z{{{zz|z{{{{y{{{z|{|{z{{{z{z{{|{|z{{z{{zz{yz{{{{{|{zzz{zz{{yy{{{{{|{{zzzyzzzzz{|{z{{{zz{{zzyz{{{zz{{zz{zzzyz{{|zz{{zzz{zz{yzyzzz{{{{{zz{zyzz{{z{{{{{zyzzyzzz{{{{z{{{z{zzzzzz{{z{z{{{zz{zzy{zyzz{z{{{{{zz{zzz{{z{{{z{{yzz{y{{{{{{z{{zzzz{zz{{{{{zz{{{zz{z{z{z{{z{{{|{{{{z{zz{z{{{{{{{z{{zzz{{zz{{{|{{zzzz{zz{z{{|{{{{zz{z{zzzz|{{{{{{z{z{{z{z{{{|{|{{z{zzz{{yz|{||{||z{{zz{z{{|||{|{||zzz{z{z||||{{||{z{{z{|{{{|{||{|{{{{z{{{z}|{|{|{|{|{{{{{{{|{||||{z{z{{{z{{{{{{||{{zz{{z{|{{|{|{|{{{{z{zz{{{z|||{{{{z{z{{{{{|{{|{{{zz|zzz{{{{{{z|{{{|{{{zzz|{{{{|{z|zzzzy{|z{{{||{zzyz{zz|{{{z{{{zyzzzzz{{{{{z{{zzzzzzzzz{zz{{{{{zzzzzz{z{zzz{{|{{z{zyzz{y{{zz{{{{zzyyzz{{zz{{{zzzzyzzz{{zz{zz{{{zzyzzyyzzz{z{z{{{zzzyzy{zz{{z{{{zz{{{zzzzzzzy{{||zzzzz{zz{zzz{{z{yz{y{zz{{zz{{z|zzzzzzzz{{zy{{||{{z{yzyz||{{{z{{zzz{zzzz{{{{{{z{{z{zzz{z{{{{{{{{zz{zzzzz{{{|{{||{zzz{{zz|{|{z{|{{{{z{z{{{||||{z|z{{z{{{z||{|z|||{z{{{|z{|||{|{{{||{zz{zz{|{||{}{{{{z{{{|{{|{|||||y{{z{{z{|{|{|{|{z{z{z|{|{{||{{|{{{{|{z|{|{||{z{{z{z{{zz||{|{z||{z{yz{{z{{||{{z|{{z{zzzz{|{{zz{{z{z{{yzyz{|{{|z|{zzzz{zy{{|{z{{||{{{{{{z{{|{{||}|{{yz{zz{{{{{{{{{zzzzyyz{|{z{{||{{zyzy{zzz{|z|{|zz{zzzzz{{z|{|||zz{{zz{{{{{{z{{{{zzzz{zz{z{|{|z|{{zzzzzzzz{z|{{{zz{z{z{{{{{{{{{{{z{zzz{yz{{{z|{{{z{{zyzyzz{{{{{z{{zzzy{{{|zz{{{{{zz{z{{{{{{{{{|||z{zzz{z{{zzz|{{{{{z{z{z{{|{{{{{{{{zz{z{{{{|{|{{{{z{{zz{{{|{|||{z{zz{z{z{|{{{{|z{{{{{zzz{|{{||{{||{z{{||{{{|{|||z{{{{{}z{|{{{}{|z{z{z{|z{|{|{{|{{{{z|z|{|||{{}|{{{{{|{{{{|{||}|||{{{{|{{|||}|{|||{{{{{{{|{||{{|{zzz{|z||||{{||{{{{{{{{z{{{{{{{{|{z{z{{{z{{||{|{||{yzz{{z{{||{|{|{{{zzzzzz{||{{{{zzy{zzzyz{z{{{{|{zzzz{{zzz|{|{{{{zzzzzzz{z{{{{{{{z{{{zzz{{{|{{{{zzz{{{zzzzz{|{{|{zzz{y{z{{{{{{{{z{{z{{zz|{{z{|{{{z{{zzzzz{{zz{z{z{zzzzzzz{z{{|{{{zz{z{yzz{{z{zzz{zzzzz{zy{z|{z|{zyzyzyyzyzz{z{z{{{{{zy{{z{{{zzzzzzz{zzzzz{zz|{|{zzz{{zzz{z{{{{|{{zzzzz{z{zz{{||{{{{zzzy|{{{{{z|{z{{{{y{z{|{{{|{{zzzzzzzz{|{{{{{{{z{{z{{z||{{{|{{z{{zz{|{{{{z|{{{{{{z{zzz{||}{|||||{{z{|z{|z|{{||{z{z{z{{|{{{||{{{z{{{{|zz|{|||||}|{{zz{zz}|||}||||{{{{{{|||{{|{{{{{{{y{{||z{{z||{{z{{zz{{{{{{{||{{{y{{{{{{{|{{}{{{{{{z{z{{{{{{{{z{{z{zzy{{|z|{|{{z{zz{{y{{{{{{{|{zz{{z{z{{{{z|{||{zzz{zz|{zz{|||{|zz{z{z|{{{z{||{{zzy{zy{zz{||{{{z{{{z{yz{z{{{{{{z{zzzyyz{{z{{{z{zzzy{z{{zz{z{{{zzzzzzz{{{{{{|{{{zzzzyz{{|{z{|{{zzzzyz{{z|{{{{{zzzz{{yzz{z{{{z{{zzzzzz{{z{z{z{z|zy{z{{{zzz{{{z{|z{z{zzzzz{{{{{{|{zzzzyz{{{z{zz{|{z{zzyz{{z{{{|{{{z{zzz{zz|z|z|{|{z{z{yz{{{|z{z|{{z{{zzzz{{{{{|{{{{zz{|z{y|{||||{{zzzz{{z{{{|{{||{z{{z{zz{{{}|{{||{{|{zzz|||{{{{|{{z{z|{|z|}{z||||||{z{{|||||{{|||{{{{{z{|||{{||{{{{z{zz{||{|z{|||{{z{zz{||{||{{|z|{z{{{{{{{{{{|||{z{zzzz{{|{{{|{{z{z{zzz{{{{||{{{|{||yzz{||{|{{{{z{{zz{zz{||{{{|{{{zzz{z{zzz{|||{zzz{zz{{{{|{{|{{{{yz{zz{z|{z|{}{{zz{z{z{{z{{{{{z{{z|{zz{{{z||{z{zzzzzzz{{{{{{{{zzz{zyzzz{{z|{z{{zz{zzy{{{z{{{{{{{|zzzzzz{{{{{|{zyzzzyzy{zzyz|{{y{zz{zzz{zz{{{{{z{zz{z{zy{{z{zz{{zzzzz{z{{{{{{{{{zzz{zyz{{{||{||{{{z{{zz{{z{{|{|{{{{{yy{{{{}|{{{z|{zzz{z|{|z{{||{{{{{{{{{||z|{|{{{{z|{{{{{||||{|z{{{{{|{|{{{{}|{|z{{zz{z{{|||{}||{{{{{{{||||||}|{{|{z{|||{{|}}|{}|{{|{z|{|||{||||{{{{|{{z{z|{||{|{{z{z{{|{||||||{{y{{z}{{z|}||||{{{y{|z{{{{|||{||{z{{{|{z{{z{z||{z{{{z{{z{{{{{z{{|zz{zy{{z|{z{||zzz{z{zzz{{{||||{{|y{z|z{|{z|{|{{z{zzzzz{{{{{z{{{zz{{{{z{z{{z{||{{{zz|zz{{{zz{{{{{{zz{zz|{{zz|{{z{{{{zzz{{{z{{|{{zzz{yzz{{{{{z|{{z{{z{y{zz|z{|z}{{zyzzzzz{{{{z{{zyzz{z{yz|z{{{|{{zz{zz{y{{zzz{{|{zz{{z{zz{{{{{{{zzz{z{z{z{{{{|{|zz{zzz|zzzzz{||{{z{z{zz{z{|z{{|{z{z{{z{{{{{|{|{||z|{z{{z{|{||||{{z|{z{{{{{|{z||{{{{zzz{{{{{{||{{z{|z{{|z{{{{{{||{{{zzz{{z|{{{|||{z{{{{{z{{|{{|}{{{{{{|{{{|{{||{{z{z}{|{z{||{{|||{z{{{z{zz{|||||{{{z{z{{{{{{|{|||{{{z{{{{{{{{|{}|zz|zzz{z{{{{{|{{{{zzz{{{|{{|{|{|{{|z{{z||z{{{{|{z{{z{zzzz{|{{{{{z{{{zzzz{z{{{||{{zz{z{{z{{{|z{|zzzzzy{{z{{{|z{{{{zzz{zzzz{|{{|{{{zyzzy{{{|{{{||{{zz{zzyz{z|{{z{{z{{zzzzzz{{z{}{{{zz{zzz{{{{|{z{z{{z{{zyz{{{z{|z|z{{zz{{zz{{z{{}{{zzz{{zyz{{z{{{yzy{zzzzzz{{z{z{{{{{{{{{y{z|{{|||z{z{y{yy{{{|{{{|{{{zzz{{||{z{{{|{zz{zzzz|{{|zz||zz{zzz{{{|{||{{|{z{{z|z{{||{|z|||z{z{{{|{{{{{{{{||{z|{z|{{{{||||z{zz{{|{||z{||||{{{{{{{{{}|{|}||{{{z{{{z|{{{||{|{{{{z{||{|{|}||}||{{zzzz{||{{}{||{{{{z{z|{|||{}|{{{{|{{|{|{{||{||{|{|{{|{{{||{|{{{{{{{{z{|{|||||{{z{{z{{|||||{{|{z{z{{{z{{z{||||{{{{{z{z{||y{{z|{z{|zz{{{{{{{{|}|{{{z{zz{{{{{{{|{{z|{zz{z{||{z{{{{zzzz|{{{{z|||{z{z{zzzz{|{z{||z{z|y{zzz{z|{z{zzz|zz{{{{z{zz{zz{{zzzzz{z{zzz{z{z{zzzz{z{zz{{z{{|z{{zz{z{z||{{{{|{z{zzzzzz{zz{{{zz{{z{z{y{|yzz{|{{zz{{zzyzzzz{z{{{zz{zz{z{{{|{{|{zz{z{z{z{{{{{{{{{zz{{z{{z{|{|{{{z{|z{z{z{{|{|}z{{zzz{{{z{{{{{{{{|y{z|z{{|||z{{{{{z{{{{z{{{|{||{{{{{|{{{{||||z||{{{{{{{y{z||||{||zz|{|{{{|||{|{}||{{|{z{{{{|{|{{|{{||{{{{z{{{|||||{||{zz{|||zz|||{{|{{{{{{{{{|||||{{z{{zz{|||||||z{{z{z{zz|{}{|{|{{zz{{{z{{{}{||{|{{z{zzzz{{{{z{|{z{{{z{z{{{{|{{{{zzz{{zz{|z{{{{{{zyzz{zz{{{|{{{{{{{{zzy{zz{z{{{{z{yzyzzy{|{{{{{|zzzzz{{zz{|{{|{{{zzyzzzzz{||z{{{{{zzz{zzzz{z{{{|zzz{zy{zy{z{z{|z|yzzzzyz|{{{{zzzzz{zzzyzz|{{zzz{{{zyzzzzzzz{{{{{{zz{{zzzzzz{{{{{{z{z{zz{zz{|z{{{{{zy{{{z{|{|{z{{{{zz{z{z{{{{z|}{{zzyzzz{z{{{{{{|{{{zz{|z{{{{|z{{{{{z{zzyz|{z}z|{zz|{zz{{{|{z||{|{zzzz{{{z|||{||{{|{{{{{{{|{||{||{zz{z{z{{||{|{|{|z|z{{|{|||{{|}||{{|z{|{{|{{{||{{zz{z{{{{|||||{{|{z{{zz{|||z{{{{|||z{{{{||||{{||{{{{|{{{z|{{{{||{{{{{z{z{{{}|||{{{z{zz{z{{z}{{||{zz{{zz{|{{{{{{{{zzz{{{z{{{{{{{{{{z{{yz{{||{{|{|{{{zz{{z{{{|{{||{zzz{{zzz{{{z{{|zzzzzzzz{{|{|zz{{zz{{zz{|{z{{{|z{y{zz{{yz{{zz{{{z{zzz{zz{{{z{{{{{zyz{{z{z{{z{z{zz{{zy{y{{{{z|{||{z{zzz{y{{}zz{{{zzzz{zzzzz{{{{{zz{{yyzzzzz{{z|{|z{zzz{zzzz{{{{|{{zzzzzzz{{{{{{{|z{zzyz{{{{{{{{{|{{{zz{zz||{{{z{{{{{{zz|zz{{{|{|{{zzzzzz{{|{{{||{z{{{z{zz{{{{z{{|{{zzz{z{{|{|||||z{{z{z{z{{z|{{{|z{z{{{zz{||{|{|{|z|z{z{|{{{{{|{{||{{|z{{|{|||||||{{{z||{{||{||||{z|{{{|z{{{|{{||{{{{{|{|z|||||||{{||{|{{{{{|||||{|{z{{{z{{{}{{{|{{{zzz{{|{{{{||{{{{{{zz{{{{{{{z{{{{y{y{z|{{{{{{||{{zzzzyz{{|{{|{{zzzzz{yz{zz|{{{z{zzzzzzz{{{z{||{zzz{{zz{|{{{{zz{z{zzz{{z{{zz{{{{{zzzzzz{{{{z{{z{zzzy{{zy{z{zzz{yzzyzzzyzz{zzz{z{z{z{zyyzz{z{z{{{zz{zzzzzz{zz{{|zzzzzzyzzzzzzz{zzzyzzzzzz{z{z{{z{zzzzzzz{y{|{{{{{{zz{zzz{{z|{{|zz{{zzzy{{z{{{z{{{{yzyzz|{z{z{{{|z{{zzz{z{{{{{{|z{z{zz{zz{z{{{{|z{{zzz|{z|{{|{{{{{{{{zzzzz{{{{|{|zzz{{{{{{{||||{{{zz{{{{z{{||{|{|{{{{{z{z{|||{|||z{{zzz|{{||{|{|||{{zzz{{{}{||{{|{zz{{z{{{z||{|{{{z{z{{{|{{{{{{{|||{{{{{z{|{{|{|}z{{y{{|z{{|{{{||{z{{{z|z{{{|{{{zz{{zzzzz{z{{{|}|{{zy{z{{{{{{{{{{{zz{z{zy{{|{||{|{|{y{{{y{{{{{z{{{z{zzzz{{z|{z{|{z{{zzz{zzz{{z{{|z{{{z{{zz{{z{{{{{zzzzzzz{z{{|{{zz{{{zzzz{{z{{z|{zzzyzzz{{{{{z{{{zzyz{zy{{{{{{{z{zyzy{{zzz{{{{z{{zyzzzzyyz{z{zz|{zzzz{zyzz{{{z|{z{yzyz{zy{zz|{{|{{{z{{yz{z{||{{{|{zzzz{{z{||{z{||{{zy{{z{z||{||{{z{z{y{{y{z{{{{{{zz{z{zz{{|{{{||{{zzz{zyz{z{{{{|{z|{{z{{{{z|{{{|{z{{yz{{{{{{{z{{||{z{{z{{{zz{{||{{z{{{{z{{{{|{{{|{{{{z{{||{{||||}z{|{{z{{|}{||||||{{{{{{{|}{|z{||z{zz{{{{{||z{}}{{zzz{{{{{||||{||{|{{|z{z{|{|z{|{{{{zz|z{{|z|{{{{{{{zzzzz{z{{|{||{zz{{y{{{{{{{{z{{zzzzy{zz{|{{{z{z{zzzz{z{z{{{{{|{{z{zz{zz{||{{{|zz{yz{{{{{|zz{{|{zzzzz|z{{|{z{|{zzzzzyzzzz{zz{z{{z{zz{{{{{|{{{{z{zz{zy{zz{{{|{{{|zzzz{zzz{|z{|{{{zzzzzzzz{{{z{||{{{zzzzy{zzz{{z{z{{zzz{z{{z{z|{{zzzz{{yzzzz|{{|{|{{{{yz{{{zzzz||{z{{{zz{z|z{{|{|z{y{z{{{{{{{z{|{z{{zzz{{z{|{|{||{|{{z{zz{{{{{{|{zz{{{{{{||{{{{{|{{{z{{{{{{{||{{{{{{zz{{{{|z||||{{z{{{zz{|{|{|{|{{{{{zz{{||{|{|{|{{zz{|{{z{|||||{|{{{z{{{|}|||{|||z{|{z|{||{{|{{{|{{{z|{{{|{||{{|{{{{|{{z|{|{{||{{{{z{{{{z{|z|||}{zz|z{zz{|z|||||{{{{{z{zz{{{z||{{{{zzzzz{{{{{z||{z{zzz{z{{|z{{{{|{z{z{zzz{{{|{{||z{z{zyz{{yzz{{|{{{{zzzz{{{{{{{|zzzxzzzzz{zzz{|z{z{yzyzz{{{{z{{{{z{yz{zz{zyzz{{zzz{zzz{z{z{{{|{{{{zz{{zzz{{z{{{{{{{zzzzzz{{zz|{zzzz|{z{yzzzz{|z{{{zzzzzz{{{zz{{{{zzzzz{zz{z{{{{|{zzz{zzz{z{{zzz|yz{{zzz{{{{{z|{{z{zy{z{z{{|||{{{{{{z|z{{{{{{{|{{{{{z{{zz|{{{z{|{zzz|{{{{{|{{{{{{|{zz{zy{z{||||{{z{zz|{{{|||}{{||z{|z{{{z|{|{{{||||{z{z{|{}{{|{||{|z{{{z{{|{{{|||{{z{|{z{{||{|||||{|{{|{{{|{||||||{{z{{{{{|{{{|{{|{{{{zzz|||{}|}|{{{{{|zz|{{{||||{{{{z{zzz||||{{|{z{{{{z{{{{{{{{{{{zzzz{zz|zzzz|{{|yzzzzz{{{{{|{|z{{z{zz{||{{|{{|{z{zz{z{z{|{{z{{{{{zzzzzz{{{{{{{{z{z{{{zz{zz{z{{{zz{{{zz{zzz{zzzz{zzyz{zzz{{{{{{yz{{{yzy{{{{{|{zz{zzy{zy{|{{{|{{{zz{yz{yzz{{{||z{z{zzz{z{||z{|{z{{zzzzzz{{z{z|{z{zz{{{zzz{{{{{{z{{zz{{zy{{{{{z{|zz{zzzzzz{z{{z|{{z{zz{z{zz{{|{{{{{z{{yzzz{{|{{{{zz{z|zz{{z|||||{{z{{zz{{|{{{{||{{{z{{{zz{z|||{{{{{|z{z||{|||||||z{{{{{{z{{|||||{|{z{{z{{||{||{{|{{{z{|z{z|{||{||{{{{{||{||{|||}|{{{|z{{{{{|||{|{|z{z{{{z|{{{{{||{{{{{{{{{|{{{||{z{{{zzz{{{}{{{{|{z{{z{zy{{||{{{{zz{z{yz{{{{{{{z{{zzzzy{zy|zz{{||{{zz{{{{z{{{{{{{zzzzzzzz|{{{{{|{{zz{zzzz{{{z{|{{{zzyy{yzz{{{{{{{{{zy{z{z{|{{{{{{{z{zzzyz{{{|zyzzzzz{{yzz{zz{{{{zzzyzyz{zz{z{z{{zzz{zyzyzy{{y{{|{zz{{z{zzz{z{z{{{{{yz{yzy{z{yz{zzzyzzzyyzz{z{{z{zzz{zzzz{z{{{{{{zzzzzzz|y{z|{z{|{{{zzyzyzz{{{{{||zzzzzzzzzz{|{{{{{z{zzz{z{{{{{{zz{{zzz{zy|{|{{{|{|z{z{z{{{{{{{{{|{z{{{{{z|{{{||{|z{{{{{|z{|{|{{{{{{zzz{z{{|{{{||||z{{{zz{|}||{|}|{zz{z{z{{|{||||||z{{{{z{||||||||z{{{z{{{{{||{|{{{zz{{z{{{{|y{{{}|{z{{{{{{{|{|||{{{zzz{z{{|{{|{}{{{{zzzzz|{{|{{||{{{{{z{z|{{z{{{{{z{{zz{z||{{z|{|{z{{{z{{{{z{{||{{zzz{{{{|{{{{|{{{y{{z{{{{{|{{|{|z{zzzz{{z{{|{{{{{zzzz{{y{{{zz||z{z{zz{zy{{{{{{{{{z{zz{zz{z{|{|{|zz{zzz{z{z{{z{{z{zz{yzzz{z{||{|{zz{zyz{yz{{{z{|{zzzyzzzzzzz{{{{z{{zz{yzyz{z{z{{zzz{z|{zz{{{{{{{|{zzz{z{{{{{|{|||{z{z{z{z{zz{{{||{z{zz{zz{{{{z|||{{{{{zzz{{{|{{|{{zzz{{zz{{|{{||{{{{{zz{z|||z{|{{z{z{{{{z{{||{|{|z{z{{{{z{{||||||{{{{{z{{z||{|{|{{z{{{z{{|}|{|||z{{|{{{{{z|{{||||}||{z|{{{{||{}||{z|zz|{{{{{{}{|{{z{{{{{||||{{|||zzz||{|{|z{{||}||z{z{|z{{{z{{|{||{zzz{{z{{{|z{{{{z{{zz{z|{{|z{|{z{{zzzzz{{{{{{{|z{{zzzzz{{|{{{{|zzzzz{z{{{{z{|{{zzz{zzzz{z{zz{{|{z{yyy{zzz{{z{{|{zz{zzzzz{z{{|||{z{{zzy{z{{{{{zz{zzy{zzz{zzz{{{{zzzzzzzzzz{{{z{{z{zzy{y{z{{{{{{zzzzz{zzy{{zz{{{|{zzzzyzz{z{{{{{{{zyzzzzzz{zzz|{zzz{zzzzyz{{{z{zzzzyz{zzy{||{{{{{{{{zzzzz{zz{{{z{{z{{z{{zz{{{{{z{{z{z{z{{z{{{{{{{{zz{zzzz{z{{z{|{{zz{zzz{{{{{{}{z{z{z{{{{|{|{{|{{{{y{{z{{{|||{z||z{{{{zzz{|{{|{||{z{z|zz{{|||{|}||{{z{{{{|{|||{{{{z{{{{{{{||||||{|{{{{z{{{{{{z|{|{{zzzz{{{z{|{||||{z{{|z|{{{||{{|{{{z{zzz|{|{{|{{{{{{z{{{{}|{{{|{{{{z{zzz{||{{zz{z{|zz{zzz|{{zz{{{z{{yzzz{{{z{z||{zzz|{yz{{|{{{{|{{{{zy{zz{|{{{|||y{zyzz{{{{{zzz{zz{yz{{zy{{{{{|{zz{zz{zz{{|{z{y{zzz{zzzzzzz{z{{{zyy{zzzz{{{{z{{z{{zzzz{zz{z|{zyz{z{zzyzy{{{{zz{}{y{z{zzyz{zzzz{z{z{zzzzyz{{{z{{{zzzz{yzyzzz{{z{z{zzyzzyzz{{z|{|{zz{z{yy{z{z|{|{|zy{zzz{z{|z{{{{{{zz{{zzzz{zz|{{{zzz{zzzzz{z|zz|{{zzz{zzz{{{{{{|{{z{z{zz{z||{{{|{z{{{{{zz{{{{{{{|{{{{z{zz{||{{|{{{{{{zzz{{|{|{|||{{{{{{{{{{{{{{{||{{{{{zz{|{|||{|{{|{zz{{{{|{|{}|{{{{{zzz{{|{{{||{{{{{{{||{{{{|{|{{|{{{{z{zz|||{||{z{zz{z{|{|{{{{zz{{{zz{{z{{{{{|{z{zzz{zz|{z{{|{zzz{z{zz{{{{|{|{{{{z{zz{{{{{|{|z|zz{{zzzz{{|{{{{{zzzzz{y{z{|zz||{zz{z{z{{{{zz|{{{zz{zzyzz{{{{zz{z{{z{{zzz{z{z|{{zzzyzzz{{{|{{{||zz{zzzx{{z|{{{{{zyzyy{y{z{z|{|{{zzzz{zzzz{zyz{{z{zz{zzzz{{{{{{{{yz{zzz{zz{{{{zz{{z{{zzz{z{{{z||zz{{{{zz{{{z{z|{z{z{z{{zz{{zz{{||zzzz{z{{{{{||{z{z{zz{{zz{|{{|||{{zzz{{{z{{{|z|z{{{z{z{z{{{|||}{|zz{{{{z{{{{|{||{{|{{{zzz|||||||{|{{{{{{{{||{|||||{{z{|{|{{|{||}|{z{|{{{{|||{{||||{{|{{{z||{||{}{|{{|{z{{||{{{|||{{z|{z{z|||{|||{{{|{{{zz{|||{{||{|{zz{{z{|||{{{{|{{zz{{y{{{{{{{{{y{z{{yzz{{{{{{{z{{|zzyz{z|{{{{{zzyzzzzz|z{|{{{|z{yzz{z{{{{{{{{|{{{zz{zy{{|z{|{|zzzzz{{zz{{zzzz{zzz{yzz{{{{zz{{z|yzyzzzz{z{{{{{{z{yzzzzzzzzz{z{z{zzzzzzzzz{z{{{{z{z{zzzz{{z{{zzz{z{yzzyzzzzzzz{{zzzzyzzzz{zz{{{{{yzz{zz{zzzz{|zz{{zz{zyzz{{zz{{{{{zy{zz{{{{{z{{{zz{zzyz{zz{z{z|z{zz{zy{{z{{{{{z{{z{y{zzz{{|zz|{zy{z{{{{z{{{{{{z{{yzz{{{{{{{||{{{{{{z{z{{{{{{{|zz{{{{{{zzz|{|||||{|zz{zz{||{{{{|{{z{zz{zz{||{{{{{{{{{{{{{z||{{|}|{{{{z{z{{}{{{|{z|{z|{{{{|{{||{|||z{{|{{{{{z{{|{|{{{zzzz{{{{z{|{{{{zzyy{|{|{|{{z{{z{{zyz{{{|{z{{{{{zz{z{yz{{{z{{|{{zz{z{{{|{zz{{|{{zz{zzzz{{{||{{{{{zz{{z{{|{{|{{{|{zzzzz|{|z{{{{{zz{{zzzz{{{{|z{zz{{zzz{{z{z{{{|zzzyz{z{z{|zz|{{z{zzzzyzz{{zz{{zzzzzyyyz{z{{{{{zzz{y{zzyz{z{zz{{{{z{zyyz{z{zz{{{zzzyzzzzz{y{z{|zzz{yzzzz{y{{{{|{{yz{zz{zy{{{{{z|zzz|{y{z|z{{z|{{{zzzzyzz{z{zz{{{{z{{zzzzy||{||}{{zz{zzzz{{||{z|{{{z{z{{{|{|{{{|{{zzz{{zy{{{{{{{{{{zz{{z{{|{|{}{{|{{{|{{{z{||{}{||{{z{{zz{||{||||{z{{{z|zz{||{{||{{{{||{|{||{{||{z{{|{{{{{|{{||||z{z{z{{z||{||{|||{zz|{zz||{||{|{{{{z{zz{{|{{||{{{{{{zzz{||{{{|||{{zz{z{y{{||{{{{{zz{z{yy{z{{{z{{{{z{zzz{||{|{z||{{yzyzz{{{{{{|{{zzz{{zzz{z{{{{{|{zzzzzzz{z|{{|{}zz{zzz{zz{{z{|{z{zzz{zz{{{{{{{z{zzzzzzyzzz{z{{{||{zzyz|z{{{zz{{|{zz{zzzzzzz{|{|{z{{yzzyz{z|{{{z{zzzzzy{zzz{z{{{{{zzzzzyz{zz{z|z{zyz{zzyz{z{|zzzz{{z{zzzz{{|{{{{|zz{z{y{{{{{{{{{{zz{z{{{z{{{{{{{{{{{zzz{y{{|{{|{z|{{{|{yz{{z{{|||{{{zz{{{z|{{z|||{z{{z{z{||{||{||z{{z{{{z{{{{||}{{z{{zyzz{|||{|||{zzz{{|z||{|{{}|{{{z{{{{z{||||}||{{|{|{{z|}|||{{|{{{z{zz{}{{z{|||{{z{zz{{|{{||{}{zz{z{z||{{{{|||z{zz{|{|{|{{{}|{z{z{z{zz||{|z{||{{{{{zz{{{{{|{z{zz{zz{|zz||{}z{{{{zzzyzz{{{{{{{|{{{zz{zz{{{{{{{{|{y{y{zzz{{{{{{{zz{zzzzz{{{|{{||{zzzz{{z{{{{y{{|zz{z{zzz{z{{z{{zz{z{zz{zzz{|z{{{zz{y{zzzzz{{{z|zzzz{z{zz{{zzz{{zz{zzyz{zz{{{|{{|{zzyzyzz{{zzz{{{{z{zzzzyz|zz{{z|yzzyzyzzz{|{z{|{z{z{zzzz{{z{z{|{zz{{{zzz{{{|z|z{{z{{zz{y{{{z{z||zzzz{z{zz{z{{|{{{z{zz{z{|{{{|{|{{z{zz{{z{{{{||{z{{{{{z|z{||{|{{|{{{{{{z{|{|||}||{{{{zzz{||||z|{||z{{{|{|{}{||{{|{{||{{z||||{{|{||{{{{|{z|||||||}{z|z||{{{{|{{{|}|yzzzzz{{||{{|{|{{zzz{y{{{{{{{}}z{|zz{{{{|{{{|{|{{z{{{{{|{|||||{zz{{z{{{z{|{|{{z|zz{{zzz{{{|{z||{{{{{zzy{{|{{{|{{{z{zz|{{{{{{|{{z{{z{{{{{{|{z{{{z{|{zz{z|z{|{{z|{{zz{{{zz}{z{|{{z{{zzzzz{{|z{{{{{yzz{zzzz{{{{{{{zz{{zzz{z{{{{{{{z{{zzzzz{{{{{|{zzzzzzyzz{{z{zz{{{zz{{|zz{{z{{zz{{zzyz{zzz{z{|{{}{zzzzz{z{{{z{|{{{{{zzzzz{{{{{|{|zzzzzz{{{z{z|{{{z{{{z{z{|{{{{|{{{zzzzzz{z|{z{{{{{{{zzz{z{{{{z{|{z{z{{{z{z|{{{||{{{{{|z|{{|{{{|{{{{{{|zz{||{{{|||{z{{zz{{{||{{{z|{{|{{{{{{{|{|||||z{{{{{{{|{{|}||{{||{}{{{|{|{|||{z{|{{{z|{{{|}||{{{{{{{{|{|||{||{{{|{{{{|{{|{|}|{z{z{{{{{{z{||{{{{{{{{|{{|{|{|||zzzzzz|{{||{||{|z{{z{zz{{{|{z{{z{zzzyz{z{||z|{||{{zzz{zzzz{{zz{{zzzzzz{{{z||z{z{|{{zzz{z{z{{{||{z{{zyzzzz{z{|{{|{zzzyzzzz{{{{{{{zzzy{{yz{{zz{|{{zzyz{zz{zz{z{z{z{zzzyyyyz{{{{{{zzzz{zyz{{{z|{{{{zzzyzyyyzzzzzzz{z{zzyzzy{{z{zz|{zyzzz{{zz{{{{{|{{z{z{zyzz{{{{z{{{{{zzzz{{z{z{{{|{zzz{z{z{{{z{{|z{zz{zy{{yz|{{{|{|zzzz{z{|{{{{{|{{z{z{{zz{{|z{{{{z{zzz{z{|{{|{|||{{{z{{{z|{{{{|{|{{zz{y|y{||{{|{z|{{z{z{{{{{{z||{{{{{z{|{||{{{}|{|{{{{z{{{|{{{|||{z{z{{z{{{||{||{{z|{{{{{{{{z{{{|{{zz{z{{{|{|z|||z|zz|{{{{|{|||{||{zz{{z{{{||{{||z{{z{{{{{{{|{{{z{yzz{zzz{{|{z{{{{{z{zz{z{|{{|||{|{zyzzzz{{zz{{|z{yzy{{{z{{{{{{{{{y|zy{{z{{|z{{{{{yzzzzzyzz{{{{{{zzzzzzz{{{{{z{|z|z{{yzzz{zz{{{{{zzzzzyyz{{{{z{|{{zyzzzzzzz{{|z{{|{zyyzyzy{{{{z{{{zzzzzyyzzzz{{zzz{zzzzzzzz{z|{{{zzzzzzzy{z{zz{{|{zzz{z{{{{{z{{{{{zzzzz{{zz{{{{{{zzyz{zz{{{{z{z|z{{{zz{{z{||{||z{{z{z{{zz{|{|{{{{|{zz{zz{{{z{{{{|z{{{zz{z{|{|||{|y{{z|z{{{|{{|{|{{z{z{zz{{}{{{{{{|zz{|zzz|{|||{{{{z{z{{|{{{{{||{{{z{z|z{{z||{||{|}{{{yzz{||{||{|{{z{{{{zzz{{{{{}{|zz{{z{{{|{|{{||{{{zz{zz{{{{{|z{{{{{{zz{||{|z|{{zzz{z{{z|{|{{{{{zzzzzy|z|z|{|{{{z{zzz{{z{z{{{|{|{{zzzz{{{{|{|{{{zz{zz{zz{{{|{||{{{zz{{{z|{{{{{{{{{z{zzzzz{{z{{|{{z{zyzzzzz{{{{{z{{zz{z{yy{{z{{{{yzyzyzzz{{z|y{{zz{{yzzz{zzzz{{{{{z{yz{zyzz{{zz{{zzy{zyzzz{{z{||{zz{{zzzzz{zz{{z{zy{zz{zz{zz{{{{z|zzzzzzzz{zzz{{|z{{zzzzzzz{zz|z|zz{z{zzyz|{{{{{|zzz{z{zz{z{{|{|{{y{zz{{y{{{{zz{{{{zz{zz{{{{{{{|{{{{z{zz|{z{|||{{{{{z{|{{|{{|{|||zzz{{{z{|{}|{{|}{zz{{{z{||{|{{||{{{{y{{{{|{{{||{{{z{{z{|{}z|{{{|{{{{{z{{||{|{{|{|{z{{{z{{{|{||||z{{zz{{|{|{|||}{{{zz{zzz{|{z{{|{{{z{z{{z{|{{||{{zz{zzz{zz{{{|{||zzz{{zzz{{|{y{{{{{zyzzz{zz{zz|{{{{zz{{zz{z{z|{{z{z{{{zz{zzzyz{|z{z|yzzzy|{{{|z{{zzzz{zzzz{zz{{|{{zzz{y{yzz|zz{|zz{zyzzyzzz{{{{zzzzzyzzyz{{|{z{{{zzyzzzz{{z{z{{{{zz{yyzzyz{{{|z{|zzzzzyyyz{zz|z{zz{yzyz{zzz{{zz{zzz{z{zzzyzy{{{{{{z{y{z{{{{{{z{||zy{yzz{z{{{{z{{{{{zz{zy{z{{z{|{{z{zy{zz{{{|z{{z{{zzz{{{{||{z{{|{{z{{z{z{|{|{{{{|{{{{zz{z{||{{{{{z{zzz{{{|{{{{{{|{{z|{{z{{{|z{{|||{{zzz{z||{||||}zz{zzz|z{{{}{{{}|{{|z{{{{|{{||||}{{{zz{|{|{{|||{{{z{|{z{{{z{{{||{{z{{z{|{|z|{||{|{{zy{{z{||{{{{|{zz{zz|yz{|{{|{{{{{{{zz{{{{|{{||zzz{{yzz{|{{{{||zy{yz{yz{{{{{|{{{zzzz{zz{zz{{|{{{zz|zzy{{z{{z{|{{zzzzz{z{{{{z{{{zz{zz{{yz{{{{z{{zzz{z{zzzz{{zz{zzz{zyzyz{z{{zz{{z{{zyyyz{{z{{{{zz{{zyzzz{z{z{|z{zzzz{yyzz{{zz{{{{zz{zyzzzz{zz{z{z{zyyzzzyzzz{{{|zzzzzzz{|zz{z||z{zzzyz{zz{{z{z{|zzzz{zzy{{|{{|{{{yz{zzz{{{{{{z{{|z{zzz{zz{{|~{{|zzzz{{zz|||{z{|{{{{{z{zz{{{z{|{{zz|z{{{z{z{{||{|z{{z{||{{{||{|||{z{zzzz{|{|||{|{z{{z{zz{{||{{|{{z{z|{|{{{|{{{||{|{{|{{z{|{{{z{||{zz{zz|{{{|||{|{{{{z{{{{{{{{{{|}{{{{{{{{|{{||{{|{{{zz{z{{{{{{{|z{zz{z{zz{|{|{{{{|{|y{{{{{{{{{z{|zzz{yyyyzz{{{{{{{zzzzzz{{z{z{|z{{zz{zz{z|z{{z{{{zzzzz{zzz{{{{|{{{{zzy{zzzz{|{{zzy{zz{z{z{{zzzz{zzzzz{zyzzzz{z{{z{{yyyzzzzzzzzzz{z{z{yyzzzyzz{{zzzzyyzzzzzz{zzz{{zzzzyzyyzz|{z{{{zzzzyzzy{yzzzz{zyz{zzyyzz{y{{{{{zzzz{zyz{zz{zz{{zzzyzyzzz{zz{{{|{{{{zyzyzzz{{{{{{zzyzzyz{{z|{z{{{z{z{zzyz{{|{{z{zzzzyz{z{{{{{{{{zz{{{zzzz{{{{|{{zzz{zzz{{{{|{{z{{{zzz{{{z|{zzz|z{zz{zz{z{{z|{||z|{{zz{zz|{{{|z{z{{{{z|z{{{z{{{z||{zzzz{|{|||{{{|{z{{zzz{{|{{{||{|{zzzz{{z{{|{{{{{zz{z{zz{|{z|{{||zzzz{{{{{z{|{|{{z{{zzzz{{{|{||{zz{z{zzz{{{|{{{{{zzzyz{z{|{z||{{z{y{zz{z{z{{{{{{{zzyy{{z{{{{{{{{zyzzzzy{z{{{zz{|zz{zzzyy{zz{{{{{zzzzyzzz{{{z{{z{zz{zyzzz|{{{z{z{{{{yz{yy{{zz{z{{{zzzyz{zzz|zzzz{zzzzyzzz{z{z|{{{{zzxzzzzz{{yzz{zzyyzzyzzz{zzz{{{zzzzzy{yz{z{{{{{{yzzzzzyz{{|z{|{zzzz{zz{{{{|{z|{zzzzzz{z{{{{{z{|zz{zzzzz|{{{{{{|{zzzz{{zz||{{{{{{zz{zzzz{{z{z|{{{z{{zyz{{zzz{{{{{{{z{zz{{{|{|||{z{{{{{{{z|{|{|||z{z{{zzz|{{{{{{|{z{z{{zz|{{{{||{zz{z{{{{{{||{|{{|z{z{{{|{{{{{{||{z{{{{{{|z|{z{|{{{zz{{z{|z{|}|{||{{|{{z{|{|{{|zzz{{z{{zzz|zz{{|||{zz{zz{z{z{{{|z{z{z{z|{|||||{{{{{{zzzzzz{{{{|{{z{zzzzz{{|{{{z{|{{zz{z{{zzzz|{|{{zzz{zz{{{{{{{|{z{{zz{zzz{{{{|{|{|zz{z{zz|{z{{z|zzz{{z{{z{|{z{{{zy{{{{zz{z{{{{{zzyzzzzzz{{z{{{{zz{y{zzzzz|z{{|{{{zzzzyzzz{|{{{|{zzzzzyz{{{{yz{z{{zzzzyyzz{z{z|{{{z{{z{yz{{{{z{{{{{zzzzz|{z|zz{|{z|{yzzz||z{zz{||yz{z{zzz{|{{{{{{{{{z{z{z{|{{{|{{z{|{{{zz{{|{{|}z{y{z{{zz|z{{{|{{{{z{{zz|{{{{|||{z{{|{z|{{{{|{|||{{||zz{yz||{|{|||{{zzz{{||{|||}|{{{{{{{{{|{{{||{|{{|{zz{{|||||||{{{{{{{z{||{{||{|{{{|{{z{z{|{|||{{{||{{{{{{{{{{|z{{z{{zz{||||{{{{{{{z{|z{|{{|{|{{z|z{z{{|{|||{{z{{yzzy{zz{{{{{|{z{z{yzz{{|{{{{zzz{{yz{zy{z{z|{|{zzzz{zyz{|{{{{{{{zz{z{zz{z{{{{{{zy{zzzzz{{{{yz{{z{{{z{zz{z{{{{{zzzz{{zy{zz|zz{zzzzzyzz{{{{{{{zz{zyzzyzzzzz{zz|{zz{{zyz{z|{{{z{{{zzz{zzzzy{z{{z{{zzzzzzyzzz{z{{{{zzyzzzzz{{z{z{{{zyzz{{zz|{{{z{{zzyzzzzzzz|{{|{||zzz{z{{z{|{{||{|z{{{zz{zz{{{{}{|zz{z{z{{z{|{{||z{|{z{z{{{{|{{|{{{z{zzz{{{{{{}|}{{{{|{{{y{{{|z||{{{z{{zzz|{|{{||{{zzz{{{{|{{|||{{{z{{zz{|{||z{||||{{{{{z{{|{|{||{{z|{zz{{|{{|z|{|{{z|{|{{||{{{|{}{{z|{{zz{|{{|{{{{z{{{{{{{{{|{{|{{|z{{{{z{||{|z{|{{{{{z|{{{||}{{zy{zzyz{zz{{z{{|{z{zzzzzz{{|{{{{{zzzy{yzz{{zzz{{{|zz{z{zz|{{zzzz|{{{yzz{z{{{{{|z{zzzzzzzyzzzz{{{{zz{{{zzzzz{{{{z{{zzyy{yzz{z|z{{{yzyzzzzzzzyz{z{zzy{zzzyyy{{{z{{{yy{zyzzzz{|{z{z{zzzzyz{zyzzzz|z{{{yyzzzzyzyz{{{{zzy{zzzz{{{{z{z{z{{yz{{{z{z|z{{{zzzzzz{z{|z{{{{{zz{|y{z{{{{{{{z|{{z{{{zzz{z|{|{|zy{z{zzz{{{|y{|z{{z{zzzz{|zzz|{{{{{{z{{z{|{{{||{zzz||z{{{{z||||}{{{{{zzz{|{|{y{{{{zzz{{z{{||zz{{{{z{z|{{{|{|||}||z{{{|{{{||{{||||z{{{{{{{{||{{{{{{{{{{{{z{{{|||{|zz{zzz{{{{|||||z{zzz{zz{|{{{|||{z{zzz{{{|{|{{{{{{{z{z{{|{{}|zz{zzzzzyz{zz{{z{||{zzz{z{z{zz{{|{|{zzyzzzzzz{zz{{|{zzz{yzzz||{{{||{{zzzzzzz{z{{{{{{{{zz{{zz{{z{{{z{zzzzzzzy{{yz|{|{y{yy{y{{z{{z{z|zyzzzzzzyzzzz{{{{{zzzzyzzz{y{{z{{zzzzzzzz{zzyz|{zz{zyz{yz{{{z{y{{{{yyyzzz{{{zz{{zz{z{zzzxz{z{||{z{zyzyzyz{{{z{|{{zz{zzzz{z{z{z{{z{z{zy{zz|{{{z{}zz|zzz{zzz{{{||zz{zyzzzz{{{|z{{{{{zzzzyz{{{zz{zz{{zz|{|{{{|||||{zz{yz{zz{|z|{|z|{{zz{{zz{|{{{|{{{{{{{zzz||{{{|{{{{{z{{{|{{|||{{||z{{z{zz{||{{|||{{{{{z{{{{{{|{{{{{z{{{|{|{|{{|||{{{{z{z{{{z{{{||{{zz{z{{{{z|}{{z{{zzz{{{z|||{{|{{{{z{z{{||{||{{{{{z{zz{z{{{z{z{|{zzzzzz{{{|{z||{zzzzzz{z|z{y|z{{{z{y{{z{|{{{z{{{|{z{zyzzz|z{zzz{zzzzzzzzz{zzz{{|z{zzzzzz{z|zz{z{zzzzz{z{zzzy{z{|zyzzzzzzzz{|y{z{zyz{zyyzzz|{z{{{zzzyyzyz{{z{{z{{yzyzzzzyzzzzz{|zzzyz{yzzzzzz{{{{zz{{yyzz{z{{z{zz{zzz{yzz{{{z{||{{yzzyyzz||z{{{||{zzzzzz{{zz{{{{{{z{{{zzz||z|{{{{z{{zz{{zz|{}|||{zzzz{zz{{{{{|{{{zyzz{{{z{{{|{|{|{{zzzz{{||{|{}||zzz{{zzz{|{{|z||{z{{||z|{{|{|{{|z{{zz|{|{{|{{|}||{{z{|zz{{||z|{{|{|{{z{{|{{{{z|{|z{zzz{{{}|||{|{{{|{{{z{{{{|||||{zzz{|{{{{|{z|{||{z{zz|zz{{|{{{|{z|{{z|{}|}|~{|{{zy{zzzyzz{|z{|{zzzy{zy{{{{z{{{{|zzzz{{zzzz{{z{{{y{y{zzy{{{{{{z{zzz{yzzz{{{{{{{|zzzyz{zyz{{y{|{z{zz{z{zz{{|z{{{{zyzz{z{z{y{{{{z{zzzy{zzyzz{{zz{{{zzzyzyy{{|zzyz{{{zzzyyzzzzz{z{{zzzz{zzyz{zzzz{{zzzzyzzzzzzz{{|{zzzzzzzzz{z{{z{zzzzz{zyz{{{z{|z||z{zz{{z{{z{z{{|z{zzzyzzz{{|{{|{{zzzzyzz{{{{{{{{{z{z{z{zz|{||zz{{{zz{z{z{{{zz|z{z{{z{z{{|{|{{{|{{{{z{{|{{{{{{|{{{{{|z{{{{{||{||{{zz{{zzz|{|{{{||{{{|z{{{||{{{|||{z{{z{zz{|{||||||{{zz{{z|{{z{|}{{zz{{{{z{{{{|{{|{{{z{{z{|{{|{{{|{zzz{zz{{z{z{{{{|{z{{{{{{{z{{{{|{zzy{z{z|||}~z{{z{zzy{zzzzz{zz{{zy{zzyyz{zyz{{{zz{zzzzy{y{|zzzz|{{{{zzzzz{{zzz{{{z{zz{zzz{{{z{z|{zzyzzzyz{|z{{zz{z|zzyzz|z{{z|{{zzzzyyzzzz{zz{z|yzyzzzzyz{{{{{{{zz{yzzzz{zz{{zz{zzz{zzyyz{z{z{{zzzzzzyzyy{{{zzyzzzyzyyzzyzzzz{{{zy{yzyzyzz{{{{{{zzzzzyzzy{zzz||{{z{zzz{{{zzz{zz{z{zyy{zy{z|z{{{{zz{yzz{zz{|{{{|{{z{zzz{y{{{{|{|{z{zzz{z{{{{z{{z{z{zzz|zz{z{|{{{{{{|{z{{z{{{{{{{{{{{{zzy{{{||{{|{|z{{{z{z{|{{{{{{y{{{{{{{{|{{{{}||{{{{{{{{|{|{|}{{{{{z{zz{{||{{|{{z{z{z{{{{z|{{||{zz{{|{z{{||{{{|{y{{z{zz{{{{{{{{zz{zzz{yz{{{{||{z{{zzz{{||||~{{{zzzzyz{z{{{z{{z|{zzzzzz{y{zz{z{z{zzzzzxz|z{z{{{{{{zzzz{{{zz{{{{z{z{{z{zzz{{{|{z{zyzzzzzz{zz{{{{{z{zyzzz{|z{{yzzzyz{zyzzyz{{z{{{{zzyzzzzzzz{zz{{zzzzzyzy{z|{z{{zzyz{zyz{yzz{zzz{{{zzzyzzzzz{zz{z{zzzzzyyxz|zzzz{{zzz{z{z{zz{{{{{{zzzzzzzz{{zzz{{{{z{zz{{z||z|{|{{{z{{zy{zzz{{{{{{z|zzzzzzz{{{|{{zzzz{z{{zzz{{{{{{{{z{zzz{{{{z{{{{z{{zzz{{|z{{||||zz{z{{|{||{|{|||{{{{{zzz{{{z|{|{|zzz{{zz||{{|{|{|{zz{{{{{{{||{|{z{{{|z{{{||{||||{{z|{zz{|{||{{{{|{{z{{z{|{|{|||{|z{{|{z{{{||{{|}zz{z{{zzz{z{{|{|{zz{zzyz{{{{|{||{{zzzz{|||{}~{{|{y{zy|{z{{{{zz{zzz{z{yy{z{z{{{|{{zzzzy{z{{{{{|{{{zz{zyyzz{{z{z{{{zzzzzzzz{{{{|{{yz{zzz{y{{zzz|{{zzzzzzzz|{zzz{{{zz{yy{yzz{{{z{z{yzzzyzzyzz{{{{|zz{yyzzz{zzzz{{{{zzzyyzyyzzz{{{{{zyzzzyzz{y{yz{{{{zzyzzyzy{zzy{z{zzzz{zzzz|{{z{z{{z{zzzzz{z{{{zz|zz{zzy{zzz{{{|{{yzz{zzzz{|{|{{{{{z{z{{zz{{z{{|{z{zzyz{z{{{{{{{{{z{z{z{z{{{|{z{{{{z{{zzz{z{{{||{|zzzz{{z{{{||{{|{{zz|z{zzz|{{{||{{z{z|z{{{{{|{|||{{{{{{|{{|||}||}|||z{zz{{||z|||{zz{|{{{{||{{{{{|{z{{{{{|{|z{{{{{{z{{{|{{||{|{|{|{z{z{zz{{{|{|{|{z{zz{z{{{|{{{z{{{{|z{zyz|z||}|{{yz{{y{z{z|{z{{{{{{z{zzzz{{{|{z{{{zzyyzyy{{zz{{{{zz{zzzzz{{{{{{{zz{zzzzzyz{{z{zz|zzzzz{z{z||{{{{z{zzyzzz{{{{zz{{zzzzyzzzzzz{{{{{zzzzz{y{z{z{{z{{z{zz{{yzzzz{||{{{zzzzzyz{{{z{z{{{zzyyzzyz{zz{z{zzz{zzz{zzz{zyz|{{{yz{yzzz{{z{z{{{zzzzzzz{{{{y|z{|{z{{zzzz{zz{{||{zz{zzz{{{{{{y||{{{{{zzzzz{{{z{|z{{{zz{zz{{{{{{{{{{{{{{z{{{|zz{{{{{{zz{{{{{{}|{{{{{{{{z{{||z{z|{||{{{{{zz{{{|||{{{{{{{{{{{||{{}||{{y{z{{|||{z{|||{{{{z||{z{{{z|}|{{{{{z|z{|{|{|{{{{zz{zz{|{|{|{|{{{{{{zz{|{{{|{||{{{zz{z{z|{{{{{z{z{zz{{z|{{{||{||{|{{{{{{|{|}{|{{{zy{yyz{{{{zz{|zzz{zyyz{{|||{||z{y{zyzzzzz{}{{|z{zz{zzz{{{{zz{{{z{yyz{yz{{{{{|{zz{zzzzz{{zz{{{{zz{zz{zz{{zzzz{zz{zzz{yyz{{z{z{{zz{z{yzy{{{zz{{{zyz{zzzzzzzz|z{|z{zzyz{yz{{z{{{zzz{zzyyz{zzzz{zz{zzzzzzzz{z{{|{|z{z{zz{zzz{{{|{{{yzzyzzz{||{z{z{|zz{zyzz{zz|{{||{z{{{zzz{{||{|{{{{{{zzzy{{{{{{z{{zz{z|zy{{{{{|{||z{zz{{z{{z{{{zzz{yz{z{z|{{|{{||{zzz{z{||{{||{{{{{{{zzz{{||{||{|{z{{|z{{{||{{{||{z{|{{|{z|{{{|{|}|{{z{{{{|{{||||{z{|{zz{{{{}|||}{{{z{zz{{{|||||||{z{|{z{||{|{{{{{|zz{{{{{|||{{}{{{z{{{{y{{{}|{z{{{|{{{{z}|}}}{|zzzz{zy{z{{{{{{{|z{{z{zz{z{{{z{{{{zyzzzzz{{z{z|{{zzz{{zyz{{z|z{{|{zzzzz{z|{{{{{{|zzzy{{{zz{{{{z|zz{zzzzzy{{{zz{{z{z{zzzzzzzz{z{{zzyzzzzyz{{{zz{{{zz{zyzy{z{{z{{{{{zzz{zzz{{z{{{{zzzzzzyzzyzzzzz{{zzzz{yzzz{zz{|{{{zyzzzzz{zzz{z{{{yzy{yzz{z{zz{|{zzz{xzzz{zz{z{{|z{{zz{{zz{|{{{{zzzzz{y{zz|{{||{|zz{{z{zz{{{z{{|z{z{z{{z{{{{|z|{{{zz{{z{{{|||||{{z{{{{{|{|z{{||{}{{|{{{y{z{{z{|{|{z{zz{|{{{{|{{|}{zz{z{{{{|{|||||{{|{z|{{{|{}||{|{z{{{zz{|{}{|||{zzz{z{{{|{{|}{||||{{|{z|{{z|||{|{{{{{{{z{{{|{{|{{{{zzz{{{z{|z{|{{z{zz{z{{{}~{{{{zzz{zzzzz|{{z{{|{{zzzz{{z{{z{{||{zzzz{zy{{{|{{|{zzzz{zz|{y{{{{{{{{{zz{{z{{{zzz|{{z{zyz|zz{{zz{{z{z{{{yyz{{{zz{{|zzzzzzzz{{{y{{zzz{zzzzzyy{{zz{{z{zzyyzzzz{{z{z|{zzz{zzyzz{{{zz{|zyzyzz{z{{z{{{z{{zzyzzyzz{{zz{{z{z{{zzz{z{{{{||{{zzz{zzzz{{{{{|{zz{|zzz{zzzz{{{|{{{zzz{{{|{{{{{{{zz{{y{zy{|{{{|{{{{{{z{z|{|{{{|{{{z{{zzz{|{{|{|{|{zzz{z{{{||{{|{{zzzzz{|||{|z{{}{z{{{zy{|{||{z||{z{z{{{{|{|{{|||{{z{{{{{{{|{|{|||{zz{|{{||}|{|||{{|{{{z{{{||{{|{|{{{z{{|{{{{{||||z{y|{{{{|{{{|||{{{{zzzz{{{{|{|{{{{{zz{{{{{{{{|{|z{{{z{z{|}}|{{{zz{z{{{zy{{{z{{{{{{zzz{yz{{z|{{|{{zzzz{{{zz{{{|{{{{{z{zy{{{{{{y|{zzzyzzzz{{{{|z|zzzzz{zz{{{z{z{{zy{z{yyzz|{{{zz{{yz{zzzz{z{{z{{{zzzzzzzzz{{zz{zzzzzzzz{zz{|{z{{{zz{zzzzzz{{{{zz{{{zzzzzy{z{zz{{{{|zzzzzz{zz|z{{zyzzzzz{yz{{z|z{|z{zz{zy{z{zzz|||z{{zzzz{{{|{|{{|zz{{zz{{{z{{{{{|zzz{zz{zz{|{{|}||z{z{z{z{{|{{||{|{{{{zzz||{{{{|{z{{z{{|z|{{{{{|{{z|{{{{{{|{{{|{|{{{|z{{z{{|{{|||zz{{{yz{{||{|{||{{{{{{{{{|||{||{{{{{{{zzz||||||||{{{{z|z{}|{{||}{{{{{{{z||z{|||}|zz|{{{{{{{{{{|{{{z{z{zz{{{{{||{{{{z{z{{{|{|{{|{zz{z{{zz{}||{{{{{zzzzzzz{z{zzzz{zzzzyzzy{z{y{{|{{zyzzzzy{{z{{|z{{z{yzzzzz{{{zz{{zzzzyzzzz{z{{{z{{{z{zzzzz{{z{|{{zyzyzzzz{z{{z{{zzzy{zzzzzzz{z{{{zzzzzy{zz{{{zzzzzzz{yy{zz{{{{zz{zy{zy{yz{z|z{zz{zzzyz{zzzz{zz{z{zyzyzyzyzz{{z|{{yzz{zzzz{{yzz{{{zzzzzzzzy{{zz{{{{{zyzy{zz{|zz{z{zz{zzzzzz{zz{zz{{z{yzzy{z{z{z{{{z{{z{yzz{{{{{{{{{zz{yz{{{{{{z{|z{{zzz{zz{{||{|{{z{{{z{{z||z{y{{|{zz{{{y{z||{{{{{{zzz{z{{||{{{{{|{|{zz{{{{{||{{{{{z{{{{{{{|{{{{|{|z{{zz{z{{|{{{|||zzzzz{zz{{{|z{|{zzzzzz{{zz{{{{|{{zzz{{{z{z{|{}{{{zzzzzzz|z{z{|{{z{{|yzz{{|{{{{{z{{zzzzz{z{{{{{|zz{z{zzz{{{{{{{{{zzz{{zzz{{zz|{{{z{{z|z{z|{{{{{{{{zzzzzz{{|{{{{{zzzy{zzzzzz{{{|{z{{zzzzz{{{zz|yz{zzyzz{{{|y{z{z{zzzyyy{zzyzzzz{zzzyzzzyyz{{z|{z{|{{zzzyz{zz{z{z{zzzzyyzzzz{zz{{|{zyzzzzzzzzz{{z{zzz{z{z{{{{{{z{{|zzzzz{z|z{{{{{{y{z{z{zz{z{{||{{{{{yz{z{z{||{{||zz{{{{{zz{{|{{{z{z{yzzzy{{z{{{|{{zzz{zz{{{|{{|{}{{y{|yy{|{{|{|||z{{{{{|{{|{{{|||{{{{{z{{{{|||{|||{{|{z{{{{{{||{|{zzzz{{{|||||{{||z{{{{{{||{|||{|z{|{||{{}|{{{}|{|{{z{{zz{|{{|||}{{{{{{z{{|{{{{|{{z{zz{z{|{|{||||z{{{y{zz{|{{{z|{{|{{zz{z{|{{|{z{z{zzyzzz{{{{z|{zyz{zz{{zy{{{{}{{{{zzzyzy{{{z{{{{{{z{{zzz{{{z{z{{{{zzzy{z{zzz{|{{z{zzyzzzyzz{{|{{y{zzz{{z{|{z{{{zz{{zyyzzz{{{z{{y{zzzzzyzz{zz{{{z{zzyz{yz{z{{zz{{yzz{yyyzzzz{z{{zzzzy{yzzz{zy{{{{zz{zzzyzzzz{{{z{zzz{z|zyzzz{{{{zzzxzzz{{{z{z|{{|{yzz|{{{{z{{{{{{{zzz{zz{{||{{|{{zzzzzz{z{|z|{|{|{zz{{zz{{{{{z{{{zzzz{{zz{||{{z{{{z{{{zzz{||{|{{|z{{{|z|z{{{{zz|||{{{zz{z{}{|||||}{z{|z{z|{{{|{|||{{{{{{{|||||{||{{z{{z{{{}{{||{||{{{{{{z{{|{{{||{z{{{{z{{{{{{||{{{{z{|{|{z{{{|{|{|{z{zz{{{{{{{|{{z{zz{{z{{{{{|{{z{{{{zzz{||{{{{{yzzzzyz{{zzz|{{{zzzzzzzz{zz{{{{{y{zz|y{z{zzz|{{z{{zy{yyzzz{{z{{{zzzz{{{y{z{{{{{{{zzzzzzz{z|z{z{{yzz{zzzz{zz{z{{yyzzz{zzzzzz{zz{|zyz{zzzzzzyzz{{{{zyzzzzyz|{z|z{zzz{zz{zzzzz{{{{|z{zyzzzzz{{zyzz{y{zyzz{yyzz|{{{{zzzyz{yy{{{{{z|{zzzyzyzyz{{{{zz|z{zyzzyz{{z{{{{|z{{yzzzz{{{{z{{{zz{{|{zzz{z{z{{|{zzyzy{z{{{{{|{{{zyz{zz{z{|{z|{|{{{{zzzyz{{{|{||{zzz{{{z{z{{{|{|z{{{{{{z{{|{{|{|zz{zzz{{||{{{{||z{{{z{|{{{{{{{}|z{{{z{{{{||{{{|{|{{{z|{{{|||{|}{{|zzz{{z{z|{|{|{{{{{z{{{{{z|||{|z{{zz{z{z|{{{{||{zzzz{zz|{z{z{{{zzzzz{y{z{{{{{|{{zzz{{{z{{|z{{||{zyzzyzz{|{{|{{|{z{zz{{z|{z{||{|||z|{z{{{}||z{||{{zzzz{z{{{||||{{zzz{{{z{{|{{{{|{{z{z{z{|z|{{z{|z|{zz{{z{{|{{{||zz{zzy{zz{|{{{{{{zzzzzzz{{{{{{{|z{{zz{zz{|{{z|{{{zz{{zzzz{zz{{{{z{{z{{zyz{z{z{{{{z{y{zz{||{{{{|{{z{z{{{y|{{{{|||{{|z{{{{|{{{{|{|{zz{zzz{{{|{|{|{|z{z{zzz|{||{{|{{z{{zz{z||||{{|}{z{{{z{{{||{{||{}{{{{|{{{|{||{||{{{{{{{|{|}|||||{{|{{{z{||}{||||}{|{{{z{||||||}|{{{{{{|||{||||}}}{}|z{{{||{|||}|{z||{||{{||{|}}|{z{{{{{||||{||}{|{{{{{||||{||||||{{{{z|{{{||{||}|{{{z{|{{|{z|}}{{{|zz{{{||{||{|{{zz{{z{{{z{{|{{{{{z{{{zyzz|{{{{{{z{z{{yz{|{|{{{|{{z{z{{|z{||{{||{||{{{{z|}{{{{{|{zzz{|{{{{}z{||{{z{{zz{z|{|z||{{z|{{y{zzzz{{||{{zzzyzzzz{|{{{{{{{z{|{zzzz|{z{{||{{{zzzyz|{{|zz||{{zzzzzzz{{{zz||zzz{yzzz{{z|{|{{zz|zz{zy{|z}{|||{{zzzzz{{{||z{{|z{{{yz{z{{{{|{||zz|{{|{z{z{{|{|z|{z{{{{{{{{|{|{{{z|{z{|z{|||z{|{|z{{{{{z{{|{{|{{{{{{|{{{||}}|{|||zzz||{{|}{||||}{{{{{{{{|}||{|||{{{{|z{{{}||{|}|||{|{|{{|{|||}|}|{|{z{|{{||}||||{z{|{||{||||||}|{{{|{|{{{}{|{||}|{{{|{{||{|||||}|{{{{{{{z}{|||}{{{{{{z{{|{{}{||{z{{z{z{{||||{{||{{zz{zz{{|{{{{{|{{{z{{zzz||{|{||{{{zz{zz{{{{{|||}{|{{{z{{|{|{{|{{{zzz|{z{{{{||{|{z{{z{zz{{z{|{{{{{zzz{{{{{{{{{{{{{zz{z{z{{{{{{{{zz{{zyzz{{{{{|{{z{{{z{zz{{{z|{{z{zzzzzzz{{{{{|{|{zz{zzzz{zzz{||z|{zzzzz{z|z|{{{{{{z{{{{z{z{|{|{{{{zzz{zzz|}|{{{|{z{{zzzz{{|{{{|}z{{z|z{z{{}|{|||{{z|zz{z||{{|{{{z{{|z{{z||{{|{{|z{{{z{z{{z{|||||{{z{|{{|{|||||||{{{{z{|{|||||{|||{||{{{z|}|{|||{|{{||{{{||{|}||{{{z}{||||{{|||||{|z|{|||||}}|||||{|{{}|||}||{{{}||{{{z{{||||z|||||z|zz{{||||}|||{{{||{|{{|{||||}|{{{zz{|{||||||{{{{{{{z{{||||||{{z{{z{{z{{{{z{z{|zzzzz{|z{{|{{{|{{zzz{z{|{{z||z{{{{|{zzz{{{{|||{{{|zz{zy{|{{||{|{{{zz{{{{{|{z||{{{{{zzzzz{|{|{{|zzzzz{y{{z|{|{||z{{z{z{{{{{{{{{z{y{yz{z{{{{z{|{{{z{zzz{z{|{|z{|z{{{z{z{{{{{{{{{{{z{zz{zzzz{{z|{{{zzz{{{z|{z{{{{{zzz{|{{{{{||{{{|{z{{{z{|{{{|{||{zz{|{{{{{{{|||{{{{{{{zz{z{|{{|||{zz{{{{zz{|||||{{{{|z{{{|||{{|||{{{{z{{z|}|||{||{{{{{|{{}|{|{|{|{|z|{{{z||||}{|||{{{|{{{{|}|||||||{|||{|{{|||||||||{z{||{}}|}}|||{{{|z|||{|}||||{{{{{|{||}|{||}}|{{{|{{||||{|||{{{{{z{{z||||{{||{{{zz{{z||||||{|{{|{|{|{||}{{{zzz{{{{z|z{{{{{{{{{{{z{z{z{{{||{{{{{z{{zz{{{{{|{{||zz{{z{z||{|z{|{|zzz{z{{{z||{{||zz{{{{zz{|{{{|{{{{{z{z{{||{{{{{{{zzzzzzz{{{{{{{{{{{z{z{{{z|{{{{{{z{zz{yz{{{{{{{|{{{{{zz{{{|{{{||{{zzzz{y{{z|{{{{{{zzzzz{{{{{{{|{{z||z{{{{{{z|{|{{z{z{z{zz{{{{|{|z{{|{z{{|{{|{{|{{{{{z{{{{|||{||{z{z{{zz{{{||{||{{z|{{z{z|{{{|{|||{{z{{zz||{||{{{|{|zz{z{{{{|||}||{zz{z|z||||{||||{{{zz{{|{|||}{{|zz{{{{{}|{||||{|z{|{{|{{||||||}}{{{{||{|}||||}|{{|{|{{{|{|{||||{{{{{{{|{|{{|}||||{{|{{{||||{||||{{{{|{{|{||{{|{|{{{z{{{||{|{|}{{{{zz{{{{{|||{{{{zy{{{yz{zz{{|{|{zz{{{z{{{|{|{{{z{zzz{zy{z{{z{{||z{z{zz{{{|{z{{|{{{z{{y{{{||{|{{z{{|zzzzzz{z{z{|zz{z{{z{{{|{{{{{{z{zzz{y{{{|z{{{{{{{z{zz{z{{{{|zzz{zz{zz{|{{{|{|{{{z{zzzz{{{{{{{{z{{{yzz{{|{z{zz{z{z{{{zz{{z{{{zz{{{z{zz{{{zz{||{z{{{zzz{{|||{||{z|z{z{{{|{{{||{zzzzz{{{{{{{|||||{z{|y{{z{{|{||{{zz{{zz{{{|||||z{{{|{{{{{{|{|||{y{{{|z{|{{{{||{|z{{{z{{{||{|}{||z{{{{{z|{}|{|}|{{z{{{{{{|||{{||||{||{{{{{|{{||||{{|{{||{{}|{}|{|{{{z|{|{|||{{||{|z{{|{{{{||{|}||{{{{|{|{||{{{|}|{{zz{{z{{|{|||{|{{{|{{{{{{{|{}|{{||{{{z{{{|||{{|zzz{{{{{{{|{{{|zzz{{{z{{{{|{||||{{z{{{{{{{{{|||{|z{{{{zz{{{|||||{{{{z{{y{{z|{{{|z|z{{z{z{{{{{}||{{{|{zz{z{|{{{{{zzz{z{{z{{z{{|{{z{{zz{{{{z{|{|{{zzz{z{z{z{{z{|{{zzzz{zzzz{{|{{{|{zz{{zz{z{z{{}{|zzz{zz{z{{zz|{|zzz{zz{{{{z{{{{{}{z{z|zz{{{{{z||{{z{{z{|{|{{|||||{|{{{{{{|{{{|||{{{{{{{z{{|{||{{|{z{{{{{z{|{{||}|{{zz{{{{{|{|{{}|{|{{{{z{{{||}}||{{|{z{{||}{|{|||{|{{{{|{|||||}{||{{{{{{{|}{||}|||{|z{|{{{}|{|||}|{{{{}{{}{|||||}|{{||||||||{|}||{{{{{|{||{|z}||}{||{{{{|||{{|}|||{{{{{|{{{||||||z{{z{{zz{{{|{|}||{{{{{{{|{}||{||{{z{{{{zz|{{{{|{{{zzzzz{{||{{||{{z{{zz{yz{|{|||}{zz{{z{z||{{{||||z|z{{{z|{{|z|{{z{{z|{{z{{|{{{{{{|zzzz{{{|{{{{{{{{zzzzyz{{|{z{{{{z{zzzzzz{{|{|{{{{zzz{yz{{{{{|{{{{{zzzz{{{{|{|||{zz{zy{y{{{z{{|{zz{zz{z{z||{{||{{zzz{zzz{{{z{||{{zzz}{{{{{|{|z||z|{{zz{z|||z{|{{z{{{zz{z{{{|{{||{|{zy{z||{{{||{{{{z{{{{{|{|{{{||zz|{{z{z|||z|||{{{|{{|||{|}}||||z{|{{{{{}|||{||||{{{{|{{|{}{{{|{|{z||{z{|||{||||{|{{{|{|{|{{{||}}{|{{{|{{|{||}||||||{|||{|}|||{|{{|z{z{{{|{{|||||||{{{{||{|{||}||{{z{{z|{{||||{|{||{|z{z||{|{|{|{{|{{{z|}||}{z||{{z{z{{z{{|z{{{|{zzz{z{z{{{{{{{{|z{zzz{{{|{{{||{|z{z{yzz{||{{z{|{z{z{zzz|z|z||{|zzzz{zzz{{{{{|{{zz{zzz{z{|{{|z{zzzz{{z{{zz{|z{{{yz{zzzzzz{|{{{|{{z{zyyzzzzzz{{{{zz{{yzzz{{{{z{|{{zzzzzzz{{z{{{{{zzzzzz{z{{z{{{{{{z{z{{{z{{|z{{|{{{{z{z{z{{|z{{|{{{z{zz{zz{{{|{|{|zzzz{zz{{|{z||{{{|{{zzzz|{{{z|{|{{z|{zz{{{||||{{{{{{{z{{{|{||{|{{{zz{{{{|{||{{||{yzz{{|{{{{{||}{{{{{{z{|||||{{||z{{{{{{}|{z||||z|{z{|||{|{|||{}|{z|z{{{|}}|{{||{|{|z{{{||{{{|||||{|{|z{{||{||||{|{|{{z||{{{|||}|z{{{{{{|{|{{|{||zzzzzz{{|{|{||{{{{y{{zzz{||{|||{zz{{{zz{|{{{{{{|z{z{z{z{}{z{|z{{{{{zzz{{zz{|||{{{z{zzz{{{|||||{{{{z{{zz{{{|{{{{{{{zzy{yzz{{z{{{zz{{{{zz{{{{z{z{{zyyz{z{{{{{{|{z{zzzzz{zz{|{{{{|{{y{z{z{z{{{|{{|zz|zy{z{{z{|{{|zz{yz{zzz{{{{{|{{zz{z{{{zz|z{z||{{zzz{zzyz{{{{{|{|zz|{z{{{{{{||{{{{z{z{{{{{z{{|{{{z|{zy{{|{|z{|{{{z{{{z|zz{{|||{|z|{|{{{{{{z{||{|{{zz{{{{{|}{{|{|zz{{{{{{{||{|{{{z|{{{{|{|||}||||{z|{{{{{z||}{|{}|{|z{{{z|||||{|||{||{||{||||{|{|{z|{{{|{{}{|}}{||{|{z{{{|{||}|{||z{{||{||{{||||||{{{{z{{||{||{{}|{z{z{{{||{|{||{z|{{z{{z{{||{{|||{{{z{z{|||||||{zzzyzzzyy{{{{z{{{{{{z{zz{{{{||{{|{{{zzzz{{{{z|{{zy{z{z{zzz{{{{||{{zzyz{yz{{{{{{|{{zzz{{yz{{{{{|{|{{{zz{z{z|z{{{{{zzzzzz{{zy{z{{{{{y{{zzzz{z{{{{{{{zzzzzz{z{||zz|zzzzzy{yz{z{{{{{{z{zyz{zz{{z{{z{{{zzz{z{z{{{|{{{zyz{zzz{{{{zz{{{zz{z{z{{z{{{z{|}{zzzzzzz{{z{{{{{zz{{zzy{|{|zz{{|z{{zzz{{{||||{{|{zz{z{z{{{{|||{|{z{{{{{zz|z{|{||{{{z{{{{|{|{||{{|{{{z|{z{|z|{|||{z{{z{{z{{|||{{{{{{z{{{||{|{{{|{zz{{z|||||||{||{}{z{|{{{{||{|||{|{{|z{{{|{||{}|{}z{||{|{|{|{z|{||{{{||{{{{{|{{||{|{z{{{{||z||}||z{{{{{zz{|{|{{~|{z{{zzzz||}{{|{{{zz{z|zz{{||||{{{zz{zzz{{|{|{{|{{z{{z{z{{{{|{{{|{z{{{{{{{{|||{{||{|{zz{{{|{{z{|{{z{z{{{z{{z{{{{{{z{zzzz{{{{zz|{{|{{{z|{{{{z{{{{|z{zy{z{{{{{{|{{{{zz{{{zz{{{{{z{|{z{{zz{z{{|{{|{|{zz{{zzzz{{{{{{{zz{z{z{{z{{|{z{{{{|{{{{{{{||{{{{|{{{{z{{||{{{||{{{zzzzz{{|{{{{{|{{|{z{z|{|{|{{|{{{{{{{|{{{{|{{||{z|{z|z{{|z|||{{z{|z||{{{|{|||{{|{{{||{{||}|{|||{|{{|{{{|{||||{|{|{|{{{||||}{}|||{{{{{{{||}{{{||||{{z|{|||{|{}|}}{{|z{{{{|||||||{z{|{{{{}{{||{{|{{{{|{|{||{}|||}|{z|||z{{{||}|||{{{z{z{|{{|{{{|||{{{z||{{||{}||{|{{z{{{{{|{|}|{{{{{{z|{z{{{{{||{{{{z{{zz{{{{{{|{|zz{z|zy|{{{{{|{{{{{zzz{z{{{|{{{|z{z{{z{|{|{{{{|{{z{{{{z{|{{z|||{{zz{zz{{z{{z|{{{{{{z{{z{{z{z{z|zzzzzz{z{{|{{{{{z{zzzy{{{zz{||{{z{z{zzzz{|{{|{}|{{{zzzzz{z{{{{{|{z{{{zzz{|{z{|||zz|z{z{z|{{|{{|{{{z{{z{{||{|{{|{zz|{z{{{{|}|{||{{{{z{z{|||{|{{{|{{{z{z{|{|{|||||{z|{z{{{||{{|||{{{{{{{z{|||z{||||z{|{{{|{||||~|{{||{{{|{|}||||||{{{{{{z{|||||||{|{{{{{{{|~{|}||{|{|{{|||{|||{|}||{{{{|||||||||{||{{|{{{|{|||||||||{|||{|{{|||{|}|{z{||{|{|||||}||||{{{{{{|{|{||||zz{{{{|||{}|{||zz{z{z{z{}{|{{zz{z{z{{zz{|{|{{{|{{z{zzz|{{{z||||{{{zyzzz|{{|{{{}{|{{z{zz|z{|{{{{{{zz{{zz{{{|z{{|{z{{{y{z{{z{{|{||{{{z{z{|{{zz|{{zzzzz{{{{{z{{|{{zzyyz{{z{{{{{||{zzzzz|z{{{z{{z{||{{{z|{|z{{|{{|{{{zzz{{zz|{{z{{z{{|zzz{zz{zy{|z|zzzz|{yz{{|||{z{|{{zzz{z{||{|{{|z{z{{z{{{z{|||{{{z{|yz{{{||{|||{|z{{{z{{{{{|{|{{{{{z{z{{{|}|{{}{{{{|{{z{||{|{|{{{y{{|{z{|{|}{{||{{{{{z{{{{|}|}{}|{|{|zz|||||||{|{z{{|{{{}}|||{|}{{{z{||||}|||}||}{|{{|{|{}{||}|||{{||{{{{|{||||||z|{{{|{{{{}|}{||}z{{{{{|{|||||{{{{{{||{||{|{||{|{{zz{{{||||{|{||{|{{{{{|{|||{{{zzz{zzzz||{{{||||{z{{zz{{{z{||{||zzz{{{z{||z{{{}zz{z{{z{{z{{{{{|zzz{zzz{{z|{{{{{zz{zzz{z{|z{{{|{{zz{{{zz{z{z{{|{{{z{z{z{z{{|{|{{{z{z{zz{{zz{z{|{{{zzz{yzz{zz{{{z{{z{{{zz|{{{{{{{{zz{zyzyz{{yz{|{{{{yzyyz{{z|{{{|{{z{{zz{{|{{|{{|{zzz{{z{{{{{{||{{z{z{z{{|{{{{{||{{zzz{{z{{|{z{{|{{{z{{z{z{{{{|{|{z{{zzzz{|{{{{||{zz|{{{{{{|{|{{{{|{{zz{|{{||{|{|{z{{{{{|||{}||}|z{{|{z{z|{|{|||{}{z|{{{|{|||}|{|{{{|z{||{||{|||{}{|z{{{{{||||{|||{{|{{{|}z{z{}|||{{{|{{{{||{}{|||{{{{{||}|{||{|{{{zz{{zzz{|{z{|{{{zzz{{{|{z{{{{||{{{zz|{{{|{|{{zz{zzz{{z{{{zz{{{{{zzz{z{z{z{{||{|zzzzz{zz|{z|||{|z{zzz{zz{{|{{{|z|{zzzzz{{z|{{{|{y{z{y{zz{|{z{z{|zz{{zz{{z}z{{|{zzzzzz{z{{{{z{{{{yzzzzzzz{zz{{{z{y{{zzyzz{{||{{|{z{zzzzz{|{|{{{{zzzzzzzzzz{zz{{zz{{{zzyz{{z{z||{{{zz{{zz|z{{|{||{z{{zzz{|{{{||{|{{{{zz{z{{|||{{}{{z{z{zzz{|{{||||zzy{{{{{|{{|{{{{{z|{{z{{{{|z||||{{{{{{{{|{|{{||{z{{|{{{{|||{||||{z{|{{{{{{|{|||{{z{|{|{{|||{}{{|{z{|z{{{}|||||{{{{{|{|{{{|||||}||{{|{{{||||}|}||{|{z{{{{|||{|||}{{{{{|{z{{||{{{{|{||{|{|||||||||{{{{z{|{|{||{}}{|{{z{{z{{{}{{}{{{{{z{z{||||{|{{zzzz{z{z{{{{|z|{z{{{{yzz{|{|{}{{z{zz{{{z{|zz{z|||{yz{zzz{{y{{{|{{zz{z{zz|{z|{{{{{z{zzz{{{{{z{{{{z{{zzy{{{z|{{zz{zzzzz{y{z{y{{{z{z{y{{y{{z|{|z{zzzz{{zzzzzz{{z{|{|zz{zzzz{zz{{{{{{{z{{{zzz{zz{{z{{{{yy{{z{{z{{{{|zzz{z{zy{{{{{{{|{zzzzz{{z{{{{{z{z{{zz{{z{{{{|{{|{{{{{{{{{{{{{|||{zzz{z{{z|{||{|{{z|zzzz{{|{|{z{||z{z{{z{{{{|||{{{{zz|{|{||z{{{||z{{{zz{{{{{|z{|||{{{{z{{{{|{|}{{{|{{{{{{{|{{{||}{z{{{{{{||||||{|{||{{|{{|}{{|{||{{{{{{{{|{||{{|||{{|{z{{|{||}||}||z{{z{{||{||{{{{{zz{|{z{{{||}||{z{{{{zzz{{||{{|{{{z{y{{|{||||{z|{z{zz{zz{{{{{{{z{{zyzyy|z{{{{|zzzzzz{zzz{{z{{||{{z{zzyz{{|{|z|{{z{zzzzz||{|{{z{z{{{zzzyz|zzz||{{zzz{zyz{{{{{|z{zz{zzzz{{z{zz{{|zzzz{yzzz|{z|{|{{z{zzzzzz|zzzz{{zzzyz{zzz{{|z{|{{zzyzzzzzzz{{{{{|{zzzzzyz|zz{{{|{yzz{z{z{{||{{{{{z{{{zzz{{{z{{z{|z{{{z{{{{|||{{{{{{{{zzz{|{z|{z|{{{{|z{{z|{|{{z|{z{{{zzz{||||{{{{z{{{z{{{{|{{{{{|{{{{|{z{|{|{{|{{{zz{{|z{{||{{|{|{{{{z{{z{||}||||{{|}{z{|}{|{|||}{{{{|{|||||||}|{|{{||{z{}||{||}|{{||{{||{||||{{{|{{{{{{||{|||}{|{||zz{{||{|||||{{|{{{z{z{{{{|{|{{{{{zz{||||z{||{z{{z{{{}||{z{{{{zyz{z{z{{{{{{|{{zz{{zzz{{{z{{{|{zyz{{{{{{{{{||||z{zz{zz{{{{{{{|{{{zyzz{z|{|{||{z{{zzzzzzz{{{{{|{z{{z{{{z{{{zz{{{zzz{zzzzz{{z{|zzzzzzzy{{|{z{{z{zzz{{{z{{{{z{{{{{{zyz{zzz{{|z{{|{{zz{zzzyzzz{|{{{{zzz{{zz|{{{}||zzz{{{zz{{{{|{{|{{z{{z{z{{{{{|{{{z{z{{|z{{|{|{{|{z{y{{{{|{|{{|{{{{{{zzz{z{z||||{{{{{{{{z{{|{|||{{|zzz{{||||zz|||{|||{{{|||{|{||}zz{z|{|||||{||}}{|{|{{{|||}||||||{{{{{{|||{{||}|{{{{{||{|{||}||}|{{{{{||{||}|}||{|{||{{|{|{||||||{z|{{zz||{|{{||{{{z{|z{|{||||{{{{{{{{z{{|||||{|{|{zzz{z{{{||{|{{z{z{{{{{{{|{{{{{{{z{|{z{{|{{|{|{|z{zxzz{z{{{{||{z{z{{{z{z{{|{{|{{z{{zz{{|{|{{z{{{zzzzzz{{{|}||{zz{zz{{zz{{{{{||{zz{{{z{{{{zz{z{zzzz{z{z|{{|z{{{zy{zzy{z{{{{|{{{z{z{{zyz{zz{{{{{{zz{{zzzz{{{z{{z{zzz{z{zy{{{{|{zz{zzz|{y{|{z{{||zz{{{{{zz{{{{{{{{{{{{z{y{{{|z|{{{zzzzz{{{{{{|{{|zz{zz{{z{{||||}{{z{{{{z{z|{||{{{{z{{{{zy{|{{{{|z{{z{{||z||{|{{{|{|{{{{{z{{|||{|}{{z{z||{{{|{|{|||{{{{{zz|}|{|{z||{{{|{{|{|||}||{zz{{{||{{|||{||||{{|{|{z||}}{|{||{||{{|||||{||{{{{z|{|{{}{}|||}||{|{{||||{{|||||{|{{{z{z||{||z||||{{z{z|{{|||||{{{{{{{{z||{|z{z{{zzz{yzz{{|{{}{||{z{zz{{{{{|||||{{{zzz{z{||{{{{{{{z{{zy{{{{{{|{|{{zz{{zz{|||{|{{{z{{z{z{{{{{z|||{z{{{{yzz{{{{z{z{z{zzzzzz{{||zz{yzzz{{zzz{{{z{{{{zzz{{{zz{{|||{{{zz{zzzzz{{{{{{|{zz{{zzzzz{z{{{{|{{y{{{yz{{{{|{|zz{{{{{z{{{{{|{{{yzzzz{z{||{|{|zzz{{zz{{|{{|{|{|{{{{{zz{|{{{{||{{z{{{yzz{|{{{{|{|z{||{{{{|||||||{z{|{{z{{{{{{|{{{{z{|{z{{|||{|{|{{|{{{{|{{{{{{|{{{zz{{{{|{|{}|||}{{{{z{{|||||}}||{{{{||{|{|||}|||{{|{{|{{}|||{||||{{z|z{||||||}||{{{|z{{{{{|{|||||{z{{{{{}||{||}{|z{{{{{{{{{{|||{{{z{{|||{{|{|||{{{{z{{||||{|{{{z{z{z{z{{{z{{{||z{zz{z{{z{{{{|||{zy{{{zz|{{{{||{{{y{{zzy||z{{{{|{{{zyz{{{z|{{}{|{zz{z{z{z{|{z|{{{zz{z{zz{{{{z{{{{zzy{{{{{{|{z{{|{{zzzyzyz{{|{{{{{z{z{z{{{|{{|{{{z|{zzz{zz|{z{{|{{{zz{yzz{z{z{z|{{{z{z{zzz{{|{||{z{{z{zz{z{{{||{{|{z{{zz{{{{||{z|{z{z|{{{z{{{||{{|z{{{{zy|{{|{||{zz{{|y{z{{{|{||{{|z{{z{z|||{{{|{{{|{y{{{|||{||{{|z{{{{z{|{||||}|{{{{{z{{||{|{||||{{{|{{|{|{|}|||{{z{{|{{{}||||}|{{{||{{||{{|||}||{{{{||{{||}|{|||z|{|{}{|{||{|{|{{{{{{|z{|{||||||{{z{|{{{|{{|{{}{{{z{|{{{|{|{|||{z{{{{{{|||{{||{|{zzz|{{|}|||{{{|z{z{z{{{||{z{||{{zzz{{{|{{{{||||{zz{z{{{{z{{{}{{{z{z{zz{|{zz|{|{zzzy{zz|{{{|{{}{zzz{z{{{|{zz{{{{z{y{z{z{{|{z{{z{{{{z{{{{z{{{{z|zzzzzyzz{{{{z{{{zzz{zzz{{{{{{{{zz{{{z{z{{}{{{{|{{zz{{zzz{{{{z{{{{zz{zzz{{|{{|||{{zzz|zz{|{{{{}||{|{z{{||z|{|{z||{zzzzz{z{{{|z{{|{{|{|z{z{||{}||{{{{{{{{{{{||{||zz{{{z{{z{|{|{{|{{z{{z{zz{{||z|{|{zzz{{|||||||||{{{{||{{{|{||{{}||{{{{|{{{|||{{{||z{z|z{|{{{{{|}||{{{{{{{{{{||||}}{|{{||z{}||}|}||{|{{|||||||{||}}{|{{{|{||{|||}|||{||{{|||{}{{}|{|{{{{{z{|{|{|||{{{{{z{{{{{||{|||{{z{{z|{|{|{|{{{zz|{zzzz|{{{{{|zzz{{{z{{|{{|{{|{{{zzzz{{{{{{{{|{z{{|{{{{z{{z{|{{z{zzzz{||{{z{{{zz{zzz{z{z{z{{{{zz{{{{{z{{{zz||{{zzzzzz{z{{{{{{{zzz{{zzz{{{{{{{{{z{z{zy{{{zz|{z{{z{yz|{z{{{{{{z{{{y{zzzyzzz{{{{{{z{z{{z{{{z{{{{{y{{{zzzz|{|z{{{{z{zzzy{z{|zy{{{{{y{{{{{{|z{{z|||z{{{zzzz{{{{{||{{z{{{z{{{{{|{{{||||zz{{{{{{{|{{{{{{zz{z{z{{{{|{||{{zz{zzz|{||}{|{{{z{{{{}|{}{|}|z{|{{|{|{||{|||{|{z|||{{||}||||}|||{{z{{{{{||||}||{{{{{{|||{|||||{|{{{{{|}|||||{|z{{|{{|{||{|||}|{|{|{{|{{|{|{||{{{zz{z{{{||{||||{{z{{{{{{{|{||{{{zyzzz||||{{{{|{|z{{{{z{||{{z|{{zzzz{{z{{{|z|{||{{{zzzyz{z{{{|||zz{zzz{{{|{z{|{z{{{zzzy|{{{|{||zz|{z{{z{{{{{{{z{{y{zz{z{{|zzz{{zzzzz{{zz|zz{{{{zzz{{zz{z|z{{{{{{zzzyzyz{{{y{{||{{{{{zzz{{{{{{z|{zzzyzzz{{{{{{z{|{zy{{zzz{{|{|{{zz{z{z{{{{{z|||{|{z{|zz{{|}||{{|||{{{yz{||{{{||{{{{{z{{{|{{{|{}||{{{zz{{|}{}{|{|{z{{zzzz{{|{||||{z{{{{{|{||{{}{|||{z{|z|||{}|{||{{{{{|{{|{{|||}||||{{{|}{||}|}|{|z{{|{||{}||{|}}{z{{|{||{}}{{|||}|{{{{{{{}|||||||{|}|{{{||}|||||z{{z{{||{{|||||}{{||{{{{||{}|}||{|{{{|{{z{{{{||{{zz{{z{z{{{{{|{||{|z{{zz{||{|{{z{{zz{z{{{{|z{{{|{zzz{zz{||{|{z{{{{{{{{{{{{{{|{|{|z{{{z{z{{{|{z||{{zz{{zz|{{|{{{|{{{zzzzy{{z{{z{z{z{y|zz{|{{zz{|{zzz{z{{{{{{{{{|{{{zz{z{{yz{{|{zz{zzzyz{yzz{z|{{|{zzzzzzz{{y|{z|{zzzzyzz{{|{z{{{{{z{{{{z{{{{{{{{{{zzz{z{z{z{{|{||{{zzzz|z{{|{z|||{y{zz{{{z{{{|{{|{{zy{z{{|{{|{||{{{|{{z|{{|{{}|||{{{z{{{z{||||{|{|zz|{|{{z{{z{||{||{{{zzz|{{|||||{|{{{|{{||||||}}z{|{z{{{|||||{||}{|{|{|{|||||{|{{{{{|||{{{|{{{|||||{{{{|{||||{}}{{{|{z{{||{||||{||{{{{z{{}|{}|}}|{{{{{z{|{{{{|}}{{{zz{{{|z{{{{|{||{{{z{{||{{{{{|{{{z{{{{{|{{{||{zzzzzzzz{||{yz{||z{zzzzz{|{{{{|{{|{zz{z{{{z{{{|{zy|z{zzzz{{|z||{{z{zzy{z{{{{{{{{{{zz{z{y{{|z{|{|{zzzzzzz{z{{{{z{z{|z{{z|{{{z{{{{z{zzxyz{z{{{{z{{{zzz{zzzz{{z{|{{yzz{z{zz{{{{z{|{zzz{{zzzzzzz{{|zz{zzzzzz{{zzz|{|{zz{{|{y{{|{{{{|{z{z{z{{{|z|z{{{{z{{z{|{{{{{|{||{{{z{{zz{{||{|{{{{z{zz{{{{{}|{{|{zz{{{{{{||{|{||{{{{{zzz||{{z||z{{z|z{{{|{{{{||{z{{z|z{{{||||{{}z|z{z{z{||{||{||{{{|{{z{|}||{}{{|{{z|z|{{|{{{|||{|{z{{|{{{|}|||||{{{z{{{|}|||{||{zz{{{{{{{{||{|{|{{z{{|{{|{||||{|{z{z{zz|z||{||{||{{zz{{z|{{{||{{{{z|zz{{{{|{z||{{zzzzz{{{z{|{{{{zz{z{zz{{z{{{||{{zzz{zzz{z||{|{{z{z{zz{z||{{z{||{{{z{zz|{{{z{z{z{zzz{{zy{|zz{|{|zzz{zz{{{|{{{|{{{{z{zzz{|||{{{{{{z{zyzz{{{|{{zz{z{zz{yzz{{{{z{{{yzzzz{z{{{{{{z{|zyz{z{zz{z{y{{{z{zz{zz{{{{{z|{{z{{z{{zz{{{{{{||{{|{z{zz{z{z{|||z{{{{{{{{z|{{||{{{{z{{z{{{|z{||z{{{z{z{{{{{||{{|{{{{|{zz{{{||{|{|{{{|{zz||{||{{{|{{{|{{|{|||||{|{{{{{{|||{{}z|}}|{{|{{{z{|z|{|}{{{{{{|{{{|{|{{}{|{{|{{{|||}|}|{{z{|{{}{|{|||{}|}||||{{{{{{|z|||||{{{|zz|||{{|||||{|{|{{{{|{||{||{|{{{{{{{|{{{{{{{|{{{{z{|||{|||{|{zz{{{z{|{|{{zz{{zyzz{zz{||{{||z{z{zyzz{{{|{|{|{zyzz{zz{{{{|z{zzz{z{zzz{{{{{{|{{{{z{{{z|{||z|{zz{zzyzz{{|zzz||{{{zzz{{{{{|z{{|{{{z{z{zz{zz{||{{zzzzyzzy{{{z{{{zzzzzz{yz{zz{{|{{{z{{zzzz{{{{|{|{{zzyzz{yz{{{{{{{|zzzz{zz{z{{{|{{z{z{y{zyy{{{z{{{z{y{zzzz{}{{{{{|{{{zzyz{|{z{{|{|{z{{zz{{|||{{|{{|{{z{{{{{{|{|}|{|z{zzzz{{|}{{{}{{{{{{{z|{{|{{{|||{{z|{{{{||{|{{{{{{{{{||{{||{|{|{|z{z{{y{|||{|{|{{{|{zz{|||{|{||{{z{|{|{||||}|{}{{|||z{{|}|{|{|||{{|{{{z||{{{||||{{z{{|{{|||{||||{{{|{{{{|{z||{|{{{{{{{{{|||{|||{|z{{z|{{{{||{||{|{zzz{z{{{{{{yz{zyzz{zz{{|z{{|{zzz{zyy{{{zz|{z|{z{{{{z{{{{z{||{|yz{zzzz{{z|z||{{{{zzz{y{{{|{z{{{zzzzzzzz{{{{|{{z{{zzzz{{{{{z{z{{zzyzzz{{zz|{{{{zz{yyzzz{{zzz||{{{{zz{z{zz{{{{{zz{{zx{yz{{{{{{{{zzz{z{yzzz{{{{z{z{{zzzyzyzz{{|{|zzz{{|zz{|{{z{{{{y{y{z{{||{{{{||{z{zyz{y{z{z{|{{{zz{zzzyz{|z{{{||{||z{zz|{{||{||z{{z{{{z{{|{{{|{{{z|{z{{|||{{}{|z{z{z{zz|{{{|}||{{|{{z{|||z||{{||{|{{{z{{}{{{|}{|z{z{{z{|{{z||}|{{{{z{}{{||{||{{{|{{{{{|||{|{{||{{{{|z|{|{||||||{z{{z{{{{{{{|||||{{|{zz{{|{|{|||z{|{z{{z||z{{|{{{{{{{{{{z|||{{||{{z{{zzz{{|{{{z{z{zz{z{z{{|zz|{{{{zz{{zz{{||||||{{z{{{{{{{z|{|||{z{z{zz{z{{{{{|{{{z{{zzz|zz{{|{{{z{z{{zz{{|z{{{z{zzz{{{yz{|zy|{|{{zz{z{z{{{||{|{z{{zz{{z{z{|{{{{zz{zzzz{{z|{{|{|{zz{z{zzz{z{zz|{{zzzzz{yy{z|zzz||{zz{z{z|{{{{|{{z{{{{{z{|{{{z|{|{{z{{z{{|||{{{|{{z{z{zz{|{|{|z{|{z|z{{{{|||{|||{{{z{{z{|{{{|{|{||z{z{{zz|{|{{{|{zzz{z{{z{||{{|{|{z{{{{z{{||||}||{{{{{{|{|||{||||{{z|zzz{z}||||}|}z{}|z{{{||{}{}|{{{|{|{{{|{||{}|}{{z{}|{{}{|}|||{{{|{{{z||||||||{{z|{{z{|{{||||||{{z|{{{||||||||||z{{{zz||{z|||}{|z{{{{z|{||{{||z{|{z{{{{{{{{{|{{z{z{{{{{{{{{{|}{{z{{{{z{{{{|{{|{{{z{{{{{{{{{{|{|{{z{z{z|{||z{|||{{{z{zz||{{{{{|{{{{{{{{{||{z{|{{{{z{y{zzz|{z|{{|{z{{z{yz{{{{||{yzz{{{y{{{|{z|{{z{z{zzzz{{{z{|zz{zz{z{zzz{{{{{|{{yz{zz{{{{{{|{||{{zz{z{z{{{||{|{z{zz{{z{{z|{{{|}{zz{z{z{{{{|{{}|{z|z|z{{{|{|{|{|z{{{z{{{z{|||{{|{z||z{z{{{{|{|{||{{z|z{{||{{|||{|{z{{{{{||||||{{|{||{|{{||}{|||||{|{{{{{|{{||{||{|{|{{|{{||}||}{|{|{{{{|||{}{|}{{z{{{{||{{|||||||z|{{{{{{}{{|||||{||{y{|||{{{}|||z{{{{||{|{{{|{|{||{{{{{|{}|||}}{|{z|{{{|{||{|}||{{{{{z|z|||{|||{{{{z{{{|||}||{{zzz{{y|z{{z{||{z{{z{{{z{{{{{|{||{{{yz{{z{{{{{|{z|{|zzzzzz{|{z{||{zz{z{zz{{|{{{{|{{{{{z{z{|{{{{{|{{zz{zz{{z|{z||{{{z{zz{{|{{{z{|{zy{{{zzzzz{||{||zzzy{{z{z{{{{|{|{{|{zz{{z|{|{{|{{zzzzy{{z{z{{y{{zyz{zzzzz{z{{{z{{{{{z{zz{{z{|{{|{{{{{y|{{{{{{{|{|z{{{z{{|z{z{{||{z{{{{zz{{|{|{{||{{{{{{{|||{||{}{{{z{zzz{{||{{}|{{z{{{{{|{|{||||{{{{{{{{{{{||}||{{|{{{||{||{{|||{z{{|{{{|}{|}{|{|{{{{{{{|}||||}|}{{{{{{{|{||||||}{{|{{||||}|{|||{z||{{{}|{||}}|||{||{{{}{{|||{{}||z|{|{{||||||||{{|{|{{z{{||{}|}|{{z{|{{|||||{||{{{{{{|z{|{{|{|{{z{zzzzzz{{z{z|||{z{zz{{{{|{{||{{{{z{{zz{|{{{{{{{{{zzzz{z{{}{{{{{z{{zzzz|{{{{|||{{z{z{z{{{{{{{{{{{z{zz{{{z{{{||z{zz{zyzy{{{{{{{{{{{zz{zy{{z{{{|zz{{zz{yzz||z|}{{{z{{z{{z{{{|{{{{zzyz{zzzz{{y{{{{{yzz{yzzz|z{{{{{z{{z{z{z{z{{{{||{{zy{{{{|{{{{{||{{|{{{{zz{z|{{||{{|{{zz{|||{|{{|{{{z{z{z{|}{{|{{{z{{{zzz{|{||{|{{{z||{{{||{{|||||{{z{|z{{{||}||{{{z{|{{{|{||||}|{{|{{{{{|{||||||}{{{{{{{{}|||}||{{{|z{{||{|{}}|||{{|z|{{{}{|{||}|{||{{||||||{|||{{{|{z{|{}{|{||}{||{{{|{{||||}||z|{y{{{{{|{{|||{{|z{|{z{{|{|{||{{{{{{{z{z{{{|{{|{yzzz{z{{z{|{{{{zz{{zyzz{{{{{{{{{{zz{{{{{{z{{|||{{{zyyzzz{||zz|{|z{z{{{z{{{{z{z{{zzzzz{zz{{{{{|{{{yzzzz{{z|zz{{{{{{z{zzzzz{{{{{{zz{zz{zz{{{zzz|{{zz{zzy|z{{{z{z|{z{yz{{xy}|{{{{z{zz{z{zyz|{{{{{{zzy{zzzzz{{z{|{{|zzz{{{z{{z{{{{{z|{z{zzzz|{|{|{{zz{{zz{{{z{{||{{{{|{z{{z{{{{z{{{{|{{{{{z{||{|{{{{z{{{{zz||{|{{}{|{{y{{z{||{{|{{{{|{z{{{{|{||||{|{{z|{{{{{{|{{{|{zz|zz{z{{|{|||||{{zz{{{{||||{||}{{|{{|{{{}|||||{{z{{{|zz{|{{|{|{||{||{{||{{|||||{{{z{{z{|||{{||{{z{{z{{z{{||}|}|{{{zz{{{z|{{{|||{{{{|z{{{||{{|{|z{zzzz{zzz{{{{{{{y{zzzzzz{{|z{zzzz{zzzzz{{{z{|{{{{z{|z{z{z{{z{{{z{{zzyzz{{{{{{{{{zzzzzyy{{{{{{{|zzzzzz|{zz|{|{{{{zz{{zzzz{{{z{{z{zzyyzy{{{{{zz{|{y{z{zyz{{zzz{{z{{z{zzz{z{{{{z{|{zzzyzzzzz{{z|{{z{zzzyzz{zz{zzz{z{z{zzzzz{{{z||{{zz{{{zz{{{{{{{{|zzzzzz{{{{|{{{{z{zz{z|{{{z{|{||z{{z{z{{{{|{|{{{|z{{{{z{z{||{|{{|{{{{{z{{{|{{{||{z{{{{z{|{{{{|{|{z{z{{{{{{|{||{{z{|{z|{zz{||{|||{{z{z{z{{{|{z||{{zz{{{z{|{||{|||z{{{|||||{|{{{{||{z{{z{{|}{|||||{z||zz{{{|{{|}|||{zzz{{{|{{||{|{{|{z|{z{{|{|||||||{{{zy{{{|{|{{|{z{{{{{{{{{{|{{{{{zzzzzz|{|{|{z{zzzzzzzyz{z|{|{{{{{{zzz{|{y{{{{z{{{yy{zz{{{|z{{{{{{zzzz{|{||zzz{zzz{zzzz{{|{z{|{{zzzy{yz{{zzz|{{{{{{zzz{zzzz{{z{yz{zy{{zz{z{{zz{zzzz{zzy{{z|{z{{zzzzzzzzy{|{{{{{z{{{zzzzz{{zz{|z{zzz{{{z{{{{{{zzzzzy{z{z{{{{{{{zzy{y{zz{|{{{{z|{{{{zzzz{z{{{{z|}zz{yzzz{{{{z{||zzzzzz{{{{{|{|||{{{zz{z{{{||{||{{{z{{{{zz{{}|{{|{|z|z{{{{{|{zz{||{z{{{{{{|||}{}{{{z{{zz{{|{{|{|||{{{{|z|{{|{|{{|{{{{|zz{{||{|||||{{{{{{{{{{{{}|{|||{{{|{|{||||}|||z{{{{|z||||||||{{{{|{{{|{|{|||||{{{|z{{{|{|{|||{{{z{z{{{}{{{||{}|{z{z{zz|{{|{{|{{{{{{{z|||{{}zzzzz{zz{y{|{{{z{|{zyz{zzz|{z{{|{{{{|zzzz{{||z|{|{{z{yz{zz{{{{{{{{|{{zzz{z{{z{{{||{z{zzz{y{{{z{{{{zzz{zzy{{z{{z{{{zz{zzzzz{z{{zy{{z{z{{zzzzzz{z{{zzz{{zzz{z{|{{{|zzzzz{zzz{{{z{z|zz{zzzz{z{zzz{zz|{zzyzz{{z{z{{{{{zzz|{z{yzz{z{|{{{z{|{z{{{||{{{||{z{{yzz{{|||{|{|{z{|{{{{{{zzzz{{{z{{{z{{{|||{{{{z{{{|{zz{|{{z{||{zz{{{{{|{||{{z{{{zz{{{{|z|||{||{{{{{z|{}|{{||||||z{{zz{{|{{{{|{|z{{{z{{{{|{{{||{|{|{{||{{|{{|||}{{{z|z{{|{|{{||{{{{{{|{{|||{{{||{{z{{z{{||{||}|{|{{|{{||{||||||z{|y|{zz{{||{{||{{z{{z{{{z{|{|}{{{|{{{{z|{z{|{z{z{{z{yzy{{{{z||{{zz{{zzz{|{{{{z{{zzzy|{z{zz{{{{{{yz{zy{{z{{|z{|z|{zz{z{zz{{z{|{|{z{z{{{zz{{{{{{{{{{zzyzzzz|{{{|{{{zzy{{z{{zzz{{{{zzzzz{z{{{z{{{{{zzzz{z{{y{z{z{{{z{{yz{y{zz|{{{|{zz{yzz{z{{zz{|{z{{zzz{zy{zz{|{|{z{{{{{z{z{|{|{{{z{zzz{{{z||{{|{{{{{{{zz{z{zz~{{{zz{{z{z|}|||||{{{zz{y{{z{{}{|{zz{{zzz{z{||||{|{{{z|z{zz{|{{{|{||{{zz{|z{||}||||{|{{{{|{||{|{{||z{zyzz{{{|{{|{||{|||{|{{|||{||}|{{{z{|{|||{{||{|}{z{{{{{|}||||{||{{{z{|{|{||||{|{{{{{{{{||{|{||{||{zz{|{||{|{|||{|zz{|zz{}||||{|{{{z|{zz{{{{|{{{{|z|{y|z|{{|{{z{z{{zzy{z{{||{{{{zzyz|zzy{{{|z{{|{{zzzzy{z{{{||{{{z{zz{{zz{{{z{||z{{zz{{z{{{{{{z{zyz{zzzzz{{{||{{{{{{z{zz{{{{{|z{{z{zz{z{{{{{z{{|z{zzyyzz{{{{z{{{{z{zz{z{y{{z|{{|zz{zzz{zz{{{{z|{zz{z{zzyz{zzz{z|{{zzz{zy{zzz||{zy{{z{{{zz{{z{{{z{zzz|z{zzz{{{{|{z{zzzz{z{{z{y{|{{{{yz{{{{{z{{||{{{z{{y{yz|{{|{{{{z|{|{zz{{|||{z{{z{{{{z|||zz|{{{|{zz{{{{{{||{||{{|zz{{|||||{||||{{{{zz{z|{{|{{|||zz|zzz{{|{||||{{{||{z{|{|{{{}|}}{{{{||{{}{|{|}|{{|||{{{{{|{{}}||{zzz{z{||{|{{|}|{{{{{{{|{{|}{||{{{{z||{{z{{{{{{|zz{z{{{{{|{|||{|{zz{zz{{{{{{|{{y{zz{zz{{{{{{{{{{{{{zz{z|{{{{z{|{{{zzzzz{{{z|{{{yz{zz{zz||{z{{z{{{zzzzzy|z{{{{{{{z{|{zz{{{{{{{zzz||zzz{{z{{{{|{{zzzzzzzz{{z{z{||{zzzzzzz|{zzzz{{{zzzzzzz{{{z{zz{zzzzz{{y{{{{z{{|zzzzzzzy{{{{z{{{z{zzzz{zz{{{||{{zzz{z{z{{{{{|{{{{z{{yz{{|{|{|{||{zz|zz{z|{{{{|||zz{|z{zz{{{{|z||{{{{{z{z||{|{{|||{{{{zzz{|{{|{}}{z{zzzz{|||{||{{{{{z{|{{|{|{|{}|{{z{{{{{{{{|||||{z{{z|zz|||{|{||{zzz|z{{|||{{||}{{{{{||{|{|{|}{|}{{|{{|{{}|{|{|||{{{{{{{||{|{||{|{z{z{{{{|z{|{}||||{|{{{||||{}{|{|zz|{{{{{{{{}|{|{{{{{zz|{|{|{|{{z{z{{{z{{{{{{{{z{z{zz{z{z||{zz{{{zz{z{z{{|{{|z{{zzz{{{{{zzz||{{{zzz{zzz{{{{z{{{{zz{zy{z{{{{{{{|{{zz{{{z{|{{z{{{{{{zzzzz{{{z{|{{{zzz{zyz{{z{y{{zzzzzzy{zz{|{||z{zy{{yzz{{{{z{{{{z{zzzz{z{{zz{z{{zzz{z{zy{{{|{{{z{|zzz{{z{z{{{{{{zz{zz{zzy|z{z|{z{y|z{z{{z|{|{z{|{{zz{z{{|{{{z{|{z{{z{z{y{||z{||{{|zz{z{z{{||{|{{{{z{{zz{{||{{{{{zz|{z{z{{||{{|||{z{|{{{z{||{|}{|{{z{{{{{|{{|||}||z{{{z{z{|||||}|{{{{{{zz||||||{{{z{|z{{{{{|{|||{|{|z{{{z|||||||{|{{{{|{{||||{||||{z|{{z{{|{{{|||{{z{|{{{{|||||||{{{zz{{{z|z{{{||{{zzz{{z{{||z{}{{z{{z{z{{{{{{{{|zz{zzy{{z{{{|{{{|yzzz{z{{||{|{{{{zz{z{z|{zz{{{z{zzz{{zz{|{{{z{{{|{{{y{{{{{{|z{{{z{yz{{z{z|{z{|{z{{{zzzz{z{{{{{{z{{{z|zz{{{{{z|z{{{zzzzzz{{zz{|{{{z{zzzz{{{|z{|{zz{{zzzz{zz{{z||{{{{{{z{zz|{{{{{{{zzy{z{{{|{{{|{{{z{z{{yz{z{{{||{{{{z{{{{z{z{|z{{{{{zz{{z{{|{|{|z{{{{{{z{|z|||{z|{{{{{z{zz|{|z{||{{{{z{z{|||{{{{||{z{|{{{{|{{{{||{{{{{{{{||{{||||{|{z|{|{{|{|{}||||{{z{{z||}||}||{{{z{{{{||{{|{||{{{{z|||{{{||||||{|{z{{{{}||{}|{|{{{{{||{|{||{|||{|{|{{|{||{{||}}|{|{|z{|||{{|||{{zz{{{{{|}|z{||{{{{z{{z{{{|{{||{{z{{yzz{{{{{z{|{zzz{z{{{|{{z{{|zzzz{zyz{{{{||{|z{zz{{z{z|{{{{|{{{{{zzz{||{{z{|||{{zzz{z{z|{{{{|z{zz{zzyzz{z{{{|{zzz{yzz{{{zz{{{{{{{{zz{{{{{{|{{{zyzzyzzz{|zz{|{{{z{zyzzz{|{z|{{{z|z{z{zz{zz{z{{z{zzzz{zz{{z||z|{{zzzz{z{{{z{z{{{zzz{{zz{{{{{{{{{z{zyz{z|||{{{||{zz{{{|{{{{{{{||z{{{zzz{{||||{|{{z||zy{{{{{{||{z{{{{{{z{|||{{{|{|{{{{{{{{||{{{{{z{{{{{{{{||||||{{|{z{{z{|z|||||}{{{|{z{{{||{|||||{{{|{{{|{||{||}|}||z{}|{|{|}|{}{{{|||{{||||{|{|||{||{{{{{|{|||||{{{|{|{{{}||{||{{{{{{{||{||||}}|z{{{{|{{|{{{{}|{{{{{z{z{|||{{|{{{z{z{{{{{z{{{z{zzzzzzyzz{|{{{{{z{{zz{yzz{{{z{|{z|{z{{{z{{{|{|||{{|{zz{{{|{z{z|{{z{{zzzy|{z{{{{|{zzzz{z{z{z{z|{{zz{zzzyz{{{zz{{{{{yzzzzz|z{|{{|{{zzzzyzzz|{{{{{{{zz{z{{{z{z{{z{|z{zyzzzzzz|{{{{{zzy{zyzz{zz{z{{|z{{{{y{z{{{{z{|{zyzzz{zz{{{{{{||{z{{{z{{z{|{{{{{zzz{{{{{{z{|||{{||{{{{zz{{z{z{|{{z{{{zzz{|{{|{{|{z{{|{{z|{|{||{{|zz{zz{{z{|{{{{{{{{z|{{{||||||{|{|{|{{{{{||{{{|{|z{|{{{z{|}{||{{|{{{{{zz||||{|{|z{{{|{|{{{{|{||||{{{|{{{{{|||||||z||{z{{||{{||}||{||{|{|{{|||{}}|{|{|{{{{||{|}|}|z{z|{{z{|{|{{||{{{z{{{||{{{{{}|{{{{zzzz{{{|||{{z{zzzyzz{{z{z{z{z{|zz{{{zz{{{|{|{zzzzz|{{{{{{{{{{zzzzz{zzz|{{{|{{z{{{{zy{{{z{{{|yzzzz{zz{{z{z{{{{z{yz{z{{zzz{y{{zzzz{{zzzz{zz{|{{y{zzzzzz{{{z{|z{z{{zzzyyz{z{{z{zzz{zzzzzzz{{{|{zzzz{zzzz|z{{zz{{zz{zzzzz{{z{|{{zzz{zz{{{{|{{{{{{z{{zz{z{{|{z||{{{|{{{z{yz|{|{{|{{{{zz{{{z|{{||{zzz{{z{z{{{{{{||z{z{{{{z{||{|{|{{z{{{z{{{{{{|}{{z{{{{z{|||z{|{|{{{|{{z{{|zz{||||{z{|{z{z{||{{|{}{z{{{{{{{||{||}{{{z{|z{{|{||{||||{{{{{{{||}|}{|}{{{|{z{{{}{{{|||{{z{{zz{{{{{{}}}||zz{{y{|z|{|{{|zzz{{{z{{{{||{|{{|{z{{z{|{{{{{{|{z{z{{zz{z|z{{||{{yz{yzz|{zz{{{{{{{y{zyzz{{{{{{|zzzyz{{{{{{{{{|}|zzyzzz{{z|||{|{zz{yzz{z{zz|{|||{z{z{zzz{|z{z{{z{zz{zzzz|z|z{|{zz{zzz{{z{{{z{{{|zzzzzyzz{{z{{{z{{zz{zzzzz{{{{|{{z{zyyzyz{{{z{{z{{z{zzzzz{{{{{z{{z{zzzyz{{|{z{|{{zzzz{{zz{{{{{|||{{{{{zzz{{{{{{||{z{zzy{{z|{{z{{|{{z{{{{z{{{{||{|{{{{{{{z{}{{||z{{{{{z{z{{|{{{{{{|{{zzz{z|z{{||{{|{{z{{{{|{{|{|{{zz|z{{{{|{||{{}|{z{{{z{{z||{|||{|{{{z{|{|{{{||}{{{{{{{{{|{{|{|||{{{{{{{|{|||||||{{{{{{{{{|{|||||{{||{{{|||||||}|||{{z{z{{|{||||}|{|z{y{{{|z||||{z{{|{z{{{{||{{{{zz{zzy{z{||{|{|z{zzz{zzzz{{|{z{|{zz{zz{zz{z{z|{{{{{zzzzyz{{{zz{{{zzz{zz{{{{{z{{{{zzzz{zzz{{{{{{{{{zz{{y{{z{{z{|{{{zzzz{z{{{z{{{{zzzzyz{z{{z{{z{{zzzzzzzz{z{{{{z{{z{z{zzy{{{z|{{{{z{|yzyz{{{|{{||zz{{zz{zzz{z{{{z{zzz{{{z{z{y{{{{zzzz{|zz{{{z{z|z{z{z{zzz{{{|z|||{{z{z{{{{{z|{{{|{{zzzzz{|{{z{z||{|{|zz{z|z{{||{{{zzz{z{z{{}|{{|{{{z{{zz{{|{z{{{|{{{{{{zz|{||{|||{z{{|z{z||{|{||||zz{||{{{{||||{z|z{|{||{|||z{||{{zz{{{|{{{{|{}|||{{{z{{{{|||{||{{z|{{{{{|{{{{}||{{{z{{{{{{{{{|||{{{{||{{{|||{|||{|{z{{{|{{{{||}|{{z{zz{zz||{||||{{{{{zzz{{{{{{z{{zyzzyz{z{{z{{{{{{{{zzzzzzz{{|{{z{zzzzzz{{{{{{{{{z{y{{{z{{{{{z{{{z|zzzzz{{z{{{z|yzzzzz{z{|{{z{{{{z{z{{zzzzz{z{z|{zz{{zzzzz{{z{{{{yz{{{zz{{{{|zzz{zz{z{{z{z{{z{{{z{z{y{{{yz{{{{{{z{{{z{zz{{{z{{{{{{zz{yzz{{{z{||{zz{{z{{z{|z{{{||{zzz{zz{{||z|{||z{z{zz{z|{{||{{|{{z|{|zz{|{{{{||{z|{{z{z{|{{|{|{z|{{{{{zz{{{|{||{{zz|zz{}{{z{{{{{{{{{{zz{{{||{||z{{{{{{{{|{{{|||{{{{{{{{z{{||}{|{{|z|{|{|{|{y}||{z{{|{||{}|}|{|}|{z{z{{{{}{||||{|{{{zz{{{{{|{{|||{{{}z{{||{{|{||{|{{|{{{||{|{{{|{{{zzz{zz{{{{|||{{z{{{z{{|{|{|{{{{zzzzzz{{{{|z{{z{zzyzzz{z{zz{zz{zz{zyzz{z{{{{{|{{zy{yzzz{{{{|{{{z{{zyyzzz{|{z|{{zzzzzzzz{{{{{z{zzzzzz{z{zzzyz{{zzzz{zyzz{{z{{z{zzzzz{zz{{{{z{{{{zzyzy{{{zzzzz{{yzz{zzyz{{{z{{z{zzzzyzzzyz{{{|{{zzz{zzzz{zzzz{zzzz{z{zzzz{{{||{{{y{z{{zz{{|zz{{{zz{{zzzzy{z{z{{z{y{{zz{y{z|{{{||z{zzzzzz{|{|{{|{zz{{zzz{z{{{{{zz{{z{{z{z{{{{{{|{|z{{{zz{{{{{{|z{z{{{{{zz{{|{z|{|{{|{{{{{|{{|{{{||{{{zyz{|{{|||{||zz{|{|{{|{|||||{{{|{{|{|{|||{|{|{|{{{z|z|||{||||{{{{{z{{{||||{|{zz{|yz{|{||{{||z{{{|z{{||{||{|{{{y{z{z{{{{{{{{{{{z{zz{{{|{{{{|{zz{zzz{y{{{|z|{{{{z|z{zzz||{{{|{zz{{{yzz{{{{{{{|{z{zzzyz|z{{||||zz{y{{yzz{|{z{{{{|{{yzzy{zz{{{||z{{zzzzy{{{zz|{{|zzzzzzzz{{{{{{zz{zyzzzz|z{|z{{{z{z{zyzz{{{z{z{{zzzz{zyy{{{|||z{{{yzzzzz{{{{{|z}z{z{{z{zz{zzz{{zzz{{zzzzz{{{{|{{{zzzz{yz{{z{{{{{{zz{{zyz{z|{{|||{z{z{z|z{{{z|{|{|z|z{z{{{z|{{{{|z{z{{zzz{{|{|{{|{{{{z{zz{|{z|{|{|z{zzz|{{{{z{|||{|{z{{z{{{|{{|{|{{|{|{|||{{||{||{{{{{zz{}|z|{|{{|{{{||{{||{{{|}|{{|z{{{{|{||{~}|{{{{{||{{||}{|{|{{|{{{|{||||{{{|{{{{{{|{{{{{{{{}|{{{{{{{{{|||||}||zzz|{z{{{{{||{{zz{{{{z{|{{{{||{{{{zz{z|zz|{}{|{{{{{z{zzz{{{{{{zz{zz{z{z{{{{z||{zzy{zyz|{|{{{|{|zz{z{zy{{z{{{|{|{{{zzyz|z{|{{{|{{{zz{zz{{{{{{|z|z{zz{z{{|{|z{{{{{{y{{{{{z{{zz{zzyzzzzzz{{zzz{{{{z{y{{y{z{{|{{{{{z{z{z{yz{{{z{{{{{{zzz{z{{zz|{zzz|{yzy{z{{{{{||{z{{{{z{z{{|{{{{{zz{z{{{z{{{{{{{z|yzz{z|{{{{{{|{|zz{z{z{z}||{{{{||{{y{z{{|{{{||{|zz|z{{z{{|z|{{|{{{{{|{z{{||z{z{|||{{|{z{{|{||}{}{{{|{{|{{|{||{}{{{{{{{{{{|}{{|||{zz{{{|{|}|||{||{{|{{|{|||{||||||{{{|{|{|}{||||}|{|{{z|{{||{{}{||{{z{|zz{{{{|}}||{{z{{{{|{{|||}|{{{|z{z{{|{|{||||}{{zz{{||{||{|{z{{z{{{||{{{{z|{zzzzzz|yz{{{{z{{{|zz{z{{{z{{{{||{{{zz{zzz{{{{{|z{z|z{{zz{{{|zz||{zz{z{{z{{z{z|{{{zz{zz{zz{zz{{z|{{zzz{zz{zzz{{{{{zz{z{zz{{z{{{{{zyzzzy{zz{{zz|||zzzzzyy{{{|{{|{z{{zzzzzz{{{|z{{{zzzzzzzz|{z{{zz{{|{{{zzzz|{|z{{{{z|{zz{zz{z{zz||{zzz{zzz|{{|{{||{z{{{y{z{{{{z{{{{zz{zz{|{{|{{|{|{zzz|zzz{{{|{{{|{{{{zz{z|{|{z|||{{z{|{{{{|{{||{{{{{{{|{{{{z}||{{{{{{{{{z{||}{{|{{{{|{z{||{{|{||||{{|{{|z{||{||}{{{{{{||{|{{|{|}{{{{|z|{{||{||{|||z|{{{|{|{{}|{|||z{|{zz|{|{{|||{|{{{{{{{|{{||||||{{z{{{{{{|{||}{{{|{{{{zz||{{{||{z|z{{zz{{|z{{{{{zyzzyyz{{{{zz{{{zz{{zzyz{{{{z{|z{y{zz{zz{{z{{{|{zz{z{zy{z||{{{z{z{zzz{y{z{|z{{{{{z{zzzz{|{z{{|{{yzz{{z{{{{z{z{{{yzy{{yz{{zz{z{{{zy{zzzy{{z{zz{{zz{{yzz{z{{z|{|{{{zzy{zz{|z{{{||zzz|{yzz{z{z{{{|z{{z|{zz{{zz{{{{{zzz{z{{yzz{{|{|z{zz{z{{z||{z|z{{z{{zzz{zzz|{{{{{||z{z|{{{{z|{{{{{{{{zzzz{{|{||{{z{{zy{z{{||{{|{{{z{{zz{z{{{|{{{|{{{z{{{|||}||||zz{{z{{{||{||}||{|z{{zzz}{|||||{||{{{|{{|||||{}{{{|{z{{{{||||||}|{{{{{{{{|}{||}||z{{|{z{|{{{|{{{{{zz|{zz{|{||{|}{|{{{{{{{}{{{||||z{{z{{{}|{{{|{||z{{zz{z{{|{|{|{zz{{{zz{z{{{|{z|zz{{{{yy|z{{{{{{z{{{{zzz{{{{z{|{{zzz{zz{{{{{|{|{zy{{yzzz{z{{{{{zzzzzz{z{zz{{|{{{{zzzzz{yz|{{z{z{{zzz{zz{zz|{{{{z{zzzzzzz{z|zz{{|{zzyzzzzzz{{z{zz{zz{yyz{{|{z{{{{z{{zzzzz{{{{|{{{zzyzzzzy{{{zz{{zzzzz{yz{z{{{z{{|zzzy{{z{|{z{z{|{{{yyzzzz{z|{{{||zz{{{{{{{{{{{{|{{{{{{{{zz{{|{{{{{z{{{z{zz{|z{||{z{{{{zzz|{{{{|{||{{{{{z{{|{{{||z{{{z|zz{|{||{|||{{z{{{||{{{}z|{|{{{|{zz{{|}{|||{{{{{{{|zz|{}|||}{{{{|{{{|{||{||{|{{{{{{|{||{{|||{z{{{{{z||{|{{}|z{{zz{{{{{|{{}|||{zz{{{{||{||{||zz{{{zzzz{{|{|{|{{{{z{{zz}|||z|{|{{zz{zz{{z{{|zzz{zzzzzzz{{{|zz{z{z{{z{z{z{{zz|{zzy{{zzzz{zyzz{{{yzzyzzz{zz{{zz|{z{zzy{zzz{{{{{{z{{zzz{zz{zzz{{{{{{zzzyzz{{zz{zzzzzz{zzz{z{{y|{{zzyzyzzz{{z{z{{{{zz{zzzz{z{z|{{{{{{{zz{y{{{{zz{{zxzzyzzy{{{zzzzzzzzzzz{yz{{|y{z{zzzy{zzzz{{z{{{{{zzzzzzzz{|{z{{{zzz{zzzz{{{{zz{|zz{{zzz{{{|{{z{{z{{z{zzz{|z{{{{z{{|{{z{z{{{{{z|||zz{{|z{{|{{zz{|zz{{z{{z{|{|{|{|zz{z{z{{|{|{{|||zzz{{{zz{z|||||{zz{z{zz{|}{|{|||{{{{z{{{|{{|}||||{|{z{{{y||||{|||z{|z{{{|||{{{||{z{{z{{z|{{|{{{{z|{{{z{z{{{{{{{{{{{yz{{{{|{{{||{{{zz{zz{z{{{{{{{zz{zzzz{{{{{{{{{{zyyzyz{{{{{{{{{z{zzz{zz{{{{{{|{{{yzzzzy{z{{{z{{{{z{zzzz{z||{{|{z{zz{zzyzz{z{{{{{z{zzz{yzzz{{{z{zzzzzzyyzz{{{{z{z{zyzzyz{zz{{z{{zy{z{{z{zzz{{{{{yzzyzz{zzy|{{{z{{yz{zzzz{z{{|z{{{z{{zyyzz{z{{{{z{{zzzzzzz{{{{||{zz{zzzzz{|z{{{{z{{zzzz{zz{{{{{{}{{zzzz{z{z{{{{{{z{{zzzzz{z{z{|{{z{zzzzz|{{zz{|{|zz{{{{zz{{|||{{{{{z{{zzz{{{|{{z{{zz{z{zzz{||}|{{{z{{{{{|||||{|{|{z|zz{|{|||{{||||z{|{{{{{|}{||||{z{{z{{|{{z{|}{}{{{z{|{{{|||{||{|{z{z{|z{{{{||{|{zz{{{{{{{||{{{}{z{{{{z{{|{|z{|{{{zz{{{{{{z{z|{{{z|{z{{{z{{|{||{zzzz{{{{|{{{||{{|zzzzzz{{{{{{{{|zzzz{z{{{|z{|{{|zzzyy{{zz|z{{{||{z{{zzzzz{|{{{||zzzyzzz{{{{{|{{{zz{z{zzzz|{z{{{z{zzz{zzz{z{{zzz{{zzzz{{z{{z{{{z{zzzzy{zz{{z{{z{{zzyzzzzz|{{z{{{{{z{zzz{zz{{zz{|{{zzzzzyyyz{z{{|{zzzzzz{zz{z{z{{{z{zz{{{z{{{|{zz{{zzz{z{z{{|{z|{|{z{{z{zz|{{zzz{{|zyz{z{z{{||{{|{{{z{{zz{z{z|{|{{{{{{z{{{{||{{|{{z{yz{{zz||z{{{|||{zzz{{{{|{{{{{|{|{z{{z{{||||||}|{z{{{{|{{|{|||{|{|{|{{{{}{{{|}|{{z{{|{|{||z{{|{|zz{|{{{z||{{|}{|{{{{{|{|{{}|||{|{|{|z{{|{{||{||{{{{|{{{{{||||{|z{|z{{{|{|{|{||{{{{z{{{z{{{{{{|{{zz{{{{z{{{{{{{{{yz{zzzz{z{z{{z{{zzz{zzzz{{{{{{{{yyz{zzzzz{z{{|{{{{{z{{z{|{{zz{{zzzzyzzz{{{zz{z|zzz{zzzyz{{z{{z{{z{z{{zz{z{z{|{{z{zz{zzzzzz|z{z{zzzzzzzz{{{{z{{zzzyzzzyyzz{z{{||{zzzyzzyzz{{z{{{{{yyzzzyyz{z{zz{{{zy{zz{y{z{zz{|zzzzz{{yzz{{{{{z|{z{{zz{{{z{{{z|zz{z{{zzz{{{{{{|{z{{zz{z{z|{{{|{zzzz{z|zz{{||{{|{{{z{{zz{|{{{{|{{zzzz{z{{|z{|z{{{zz|{{{z{{||z|{|z|{{{|z{z|{|||{||{z{{|{{{||||||{{y{zzz{{{||{||||{{|{{{{z|{{{||{{{{{{{{z{||{||||{{{z|z{z{{{{||{|{|z{z{zz{{{{{{{|{{{{{zz{{||||{|||{{{z{z{{{|{|{{{{{{z|zzzy{{{{{|||z{{z{{{{{{|{{||{{{zyyy{{{{zzz{{{{zzzzzzzz{z|{z{{{zzzzzz{|yzzzz||{{zzyzz{zzz{zy||zyzzz{{zz{{zz{|{zz{zyzzz|{|{z{{{zzzz{zz{{{{zz{z{zzz{zzzzz{zyz{{{zzyz{zz{zz{z{{{{z{zz{zyz{z{z|{|{zzzyzz{z{{{z{{z|zyzzzzzzzz{{{z{{z{yyz{zzz{{{z|{{zzy{z{zz{{{z{z|{{zzz{zzy{{z{z{{{zzzzz{zz|{{{{{{{z{{{z{y{{{{{{|{{{z|y{z{zz{{{{z{{{{{z{{zz||{|{{{|zzz{{{zz{{{{{z|zz{z{{z{z{{{{{{||{{zz{|{{{|{{|{|}{||{{zz{{|{{}{||{z{{{zz{||{||}}|{|{|{{|{{{{|{{}|}zz{|{{{{|||||}||{|{zz{{||||||}{|{{{z{z{{{{|||{{z{{{{{z{||||{{}|zzzzzz{z{|{{|{{|{z{z{zzz{|{|{{|{zz{{{zy{{z}{z{zzz{zzzzzzz{zz{|{|zzzzzzyz{{z{{|{|{zzzzyyzz{z{{{|z{z{{z{z{{{{|zz{{{z{zzzzz{{|{{{{{{y{{zz{z{zzz{{{{zzzz{zzzz{{zz{z{zz{zzzz{{z{{z{{|zzzz{y{z{z{{z{{zzzz{z{zzz{|{|z||z{zzz{zz{|{|z{|{{{{zzzzzz{z{|{z{{zzz{zzy{{z{{{{{{zzzz{zzz{{{||{{z{{z{zzz{{{{{z|{{{{{zzzz{|{{{{{{zz{zz{z{||{{z|{|{zzz{{zz{|{{z|{{{z{z{{{z{|{{{||{|z{{{zz{{||{{||{{{{{z{{z{|{|{{{{{z{{{z{{{|{|{}|}{{{{{{z{||||||{{||{{|z{||||{|||||z{y{{|||||||{|}|{{||{z{}}|}||}||{{{{z{{z{{{|||{|{{z|{||{{{z||||||{z{{{{{{{||}{||{zzzz{{{||{{z|||{{{z{{{{|||{{|{{z{zzz{{||{{{z{{zzzz{{zyz{{|{{{{{{{{|yzz{|{{||{{{{{{zzzz{z{{||z{{{{{y{zzz{{|{z{{z{zz{z{z{{{{{{{{{zzzz{zz{{{zz{{{{zzzzzz{{{z{{{{|{{zz{{{z{{zzz{{{zzzzzzzz{z{{zz{{{z{{{zzy{{|{{|{{zz|zzzzzzz{zz||{z{{{{{{z{{{zzz{{{{zzzyzz{{zzz|{|zzzz{|zz|{{{{{{z{zzz{z{{{z{z{{{|z{{{{z{{|z{{|}|{{zzz{{z{{|||{|{{{|{z|zzzz{{{{||{zyz{{zz{{{|{z{z{{{z{{z{{z|{z|{||{|z{{{|z{{||}||{z{|{zz{z{|{|}||}{|{{{{{{|||||}|||{zy{{{{{|{}|}|{{{{{z|{|||{{|||||z{{{{{|{}||||}{{{{{z{zz|{||{|{}|{{{|z{{{||{|{|{|{|{|{{|||{|||{|{{{z{{z|{|{|||||||{zzzzz{{|{{{|{{{{zz{yzz{{z{{z{{y{{{yzyz{{y{{{{z{{z{zzzzz{{{z||{zzz{yzzz{z{{{z{{zz{z{zzzz{|z{{{{zzzz{yy{{||{{{zyyzy{z{z{{{zz{{zzzzzzz{z{z{zy{{{zzzzyzzy{{{z{{{{yyzyyyzzz{{z{{{zzzzzzzzzz{zz{{{zzy{yzzzy{{zzz|{{zz{zzyyzzz{z{zz|z{zzzz{yz{z{z{{{{|z{zzzzz|{{|z{z|zzzz{zyz{zzz{{{zzyzyz{{|z{{{{z|zz{{zz{{{z{{|{{{{{z{zy{{{{{{{|{{{z{{zzzz{|z{{{|{{z{{{zzz{|{{{{|{z{zz|{{{{z{|{|||zz|z{{{{{{{|{}|{z{{|{zz{|||||{|{|{{z{z{{|{|{||}|z{{{{{{{{||{{|||{{{|z|z{{||{|||{|{z{z{{z||{|{{{{|{{zz{{{{|{{{|}{|z|z{zz{||{{{{|||{{z{zzz{z|||{{||{zzz{{z{{}{z||z{z{zzz{zzz{{{{{|{zyzzyz{zz{{{{{zzzzyy{zyz{{|z{|{z{{zzzz{zz|z{z{{zzzzzzzy{{{|{{{{{zzzzzzy{{z||z{{zy{yzzzzzz{{{{{y{zzz{zzyzzzy{{z|yzzzzzzzzz{z{{{|{zzz{zyz{zyz{|{{yzzzzzzyzyz{z{{{{z{yzzyzz{zzzz{|z{{zzyzzz{{{{{{|{{zz{yzzyz{z{{{{zz{{zyzy{{|zz{{{zzyz{z{z|z|{{z{|zzzzzz{z{{z{z{{{zy{z{z{z{{|{{|{z|{{z{z{{{{{{{|{{{{{zy{{z{{|{|{|z{zzzzy{{|||{{z|{z{{{z{z{{{|{{{{{{{{{{{zz{{{{{|||{z|zz{zz||{|||{|{z{{{zz{|{{{{||{{{|{{|{|z||{||{|{{{{{{{{{||}}{||z{{{{{{{|{|||{|||{{zzz{{||{|||||{z{{{{zz{{|{{|{|{z{zz{z{z||{||{|{{{|z{zzz}z{{|{{zz{z{z{z{z|{z{{|zzzzyz{z{{{{zzz|z{zzz{{z{{|{{|{|zzzzz{zy{z{{|{{z{{|zzzzz{z{|{{{|{z{yz|{y{{{|{|{{z{{zzyzyz{{{{|zzzz{{{yzz{{{{{{{{z{zyy{z{{{{|{{{{zzzz{zzyz{z{{|{{zzzzzzzz{{{{{|{|{{{{zyzzz{{zz{||{{zzzy{y{zz{{{z{{zyy{z{zz|z{z{{{zyy{zzzzz{{zz{}{{zz{{{z{{zz{{||{zzz{zz{z{|{|zz{{z{zz{{zz||{{|{{{{{|{zz{{{{{{|{{{{{{z{z{z{{{|{|}{{z{z{zzz{z{{{{{||{{{{z{{||{|||{|z{|{{{z|||{}{|||yz{|z{{z{|{||||{{z{zzz{{{||||{}{z{z{{|z{{||{{||||z{{{{{{{{|||}|||{{{{z{z|{||{{{|{{z{{zz{||{{{|}|{{{{{|z{{|{|{|||{{{z{{{z|{|||{|||{{{{{zz{|{|{{{zz{{z{y{z{|{{{z{{zzzzzzzz{{zz{{{{zz{yzzzy{{|{{{{|{{zzz{{{zzz{|{{|zzyz{zz{zz{{z{|{{zzyzzzy{{{zz{{{{zzyyz{zz{{y{{{{{{{z{yzzz{|{z{zz{z{{zzyzz{{z{{zzzyz{zzzzz{zz{z{z{{zzyzzy{z{{z{{{{z{zzyzzzz{{z{|{zzyz{zzyzz|{{zz{{{zyz{zz{|{{z{z{z{zzz{zzy{{{{z{zzzzz{z{{zz{{{{|{z{zzzzzzz{{{{{{{yzz{{{zz{|{z{{{{{|{z{z{{{{y{{}z{{z{{{zz{{}{|{|{{{{z{z{{z{{{z{{{{{z{zz{{{|||{{||{{zzz{{{{z|||{{{|{zz{{{{z{|{{{{{{{z|z{{{{|||{||||{zz{z{{|{z{|z}|{|{{z{{z{{}{|{|||{{{{|{z{{|{{{{{||{z{z{{{|{{|{||{||{z{z{{{|{}|{||||{z{|{z{{z{|}||{{|{{z{zz|||z{z{zz|zyz{yzz{z{zz{zzy{z{zzz{|{{z{{|z{z{yzz{{{{{|{{{zzzz|zy{zzz|{|{|y{zzzzzz{{{{{z{{zzy{z{z{{{{{{{{{z{{zzzzz|{{|{{zzyzzzzyz{{{{{{{z{z{zzzz{z{{{{{{{{{|zzy{{zz{{z{|zzzzzy{y{{{{{{{{{y{{{zz{z{z{{{{|{{zzzyyzz{z{{{{z|z{zzzzzz{{z{{{{{z{|zzzyy{{{z{{{|{zzzzz{y{{zz{z{{zz{zz{z{|{{{{|z{{z{zzzzz{{|{z{zz{z{{|{zz{{{{{|{|z{yz{{zz|{|{{z|{{z{{{{z{z{{{|{{{|{{{{{z{{|{|{|{|{{{z{{z{{|z}{||||yzz{zzz{{||{{|||z{{{{{{{|{|||{{{{{z{||{{|{{||||{{{{z{{z{||||||{{{|{{{z{{|{}{{{{{{{{{zz{{{{{||{|{{{|{z{{||{|z|{|zz{zzz{{{|{|{{z{{{|zzz{{z|{|z|{|{z{zz{z{|{{{zz{{z{zzzyzyz|{z{z{{z{zz{zzz{|z{{{{{zzzzzz{z{{{z{{{{zzzzzzzzzz{{{{{{z{zzzzzz{{{|z|{{zzzzy{zzzzzyzz{z{{zzyzyzzz{|{{{|y{yzz{zyzz{z{{{{{zz{zyzz{{zzz{|{zzzzzzyzz{{{{{{|zzzzyz{zzz{|{z||zyzzzzz{y{zz{{{z{zzzzzyyz{zzz{{zz{{y{zyzzz{z{z|{{zz{zz{{{|{{{{||{y{zzzz{{zz{z{zzzzzz{zzy{{{z|{{{|{zy{zzyz{|z{|{{{{z{z{{{{||{{{|{{zzz{zy{{{{{{|{|{{z{zzzz|{{|{{{{{{{z|{{z|{|{{{||{z{{{{yz||{|{||{{z{z|z{z{{|||||{z{{z{|{{{||{{{{|{z{{z{z{{||{{|{{{{{|{|{||{|||}{||z{z{{{||{|{|{{{z{z{{zz{{{{{||{||zzz|{{z{{{{{{||{zyz{{z{{|{{z{{{{z{zzyzz{zzzz{z{{zzz{y{z|||z{z||zzyz{z{{{{|{z|||{z{zyz{zz{{z{{|{{z{{{zz{{z{{zz{|{zzzz{yy{{{{z|||zzzzzz{zz{{z{{{z{{|zzzzz{{{zz{{zzzzzzzz{{{z{||zz{{yzzyyz{{z{{{{{zz{z{yzz{{z{{{z{{{{zzzzzz{{{{{{{zz{z{zzzz{zzzz{{z{zzz{{zz{{z{|{{{zyz{{zyzz{|z{|{{zzz{z{z{z{{{{|{{yz{{zz{z|{{{{z|{z{z{{{z{{{{|{|{{{{z{{{zz||{z|z{|{|z{zz{{{{||z|||{|{{{{z{{|z{|{{||z{{zy{{{{{|||{{{z{z{|{{|{|{|{}{{{{{{{{{{|{}|||{{|{{{{{||{{||{|{||zz{{{{{|{{||||{|{{||{z}{|{{}|{{{z{{z{{{{|{|{{z{{{z|{{{{|{||||{z{|{{{{{|{|{||{{{{z{z{z|z{||||{{{{|{{z{|{{|{|{{{z{zzzzzz{{|{|z{{z{z{zzzzz{|{{{|zzzz{z{z{||{{|{|{zyyyz{z{z{{{{|{{xzyzzyz{{{{zzz{{zzyz{zy{{{{{z{{zyzz{{{z|{{z{{{|{z{z{zzz{z{{z{|zzzzzyzzyz{zzz{{z{zzyzzzz{{{{{{z{{zz{zyzzz{{z{{{zz{z{z{zzy{{{z{|{z{z{zyzzz{zz{zz|{{zz{zzz{{zzzz{{zzzzz|z{z{{|z{{{{{z{{zzz{{{{{z{{{y{{zz{zzz|{{{{{{zz{z{z{{{{{{{{{{z{{zzz{{{{{{{{|{z{zz{{z{{{{{||z{{z{{{z{{{{{|{||zz{{{zz{z|{|{|||{|{z{{|{{{||||||{{{zzzzz|||{|{|{|zz|{{|z}}|{{||||z{{{z{{|||{||||{{z{z{z{{}{||||||y{{y{{{|{{||||{{z{{{{zz|{||{||||{{{{{{{|{|||{||{z|z{{z{{{{{|||{|{zz{{zy|||||{{{{z{zz{{z{z{{{{{{{{{zzzz{{z{{{{{{yzz{zzz{{{|{|{{{zzz{y{{zzz|z{z{{zyzyzzz{{z{|{{{|z{yy{z{z|{|{{{||zz{zyzzzz{{z{|{{{zzzy{{zz{{{z{{zzzzzzzzzz{zzz{{{zz{zyzz{{z{z{{{{zyzzz{z{z{{{{{|{{zzzzzz{{{{{{z{|{{y{zzzy{{zzzz{{{z{yzzzzz|{{zz{{zy{{z{yy{z|z{{{{{{z{zzz{z|{{{|{|{zz{zy{{{{z|{|{|z{zzz{{{{{zz{{z|{{{{{{{{{|{{|{{{{{{{zz{{{{|{{{|{z|z{zz{|{{|{{{|{z{{{{{{{{|||z|||{z{{z{|{{{{{{||{{{{z{|{z{{||{||{{{z{|{{{}||z{{|{{{{|z{{|||{{||{|{{{{{{|{z||{}||||{{{|{{{|{||{|||{z{{{{{z{|{{|{}|{|z{{z{{|{{{||{}{{{{|z{z{||{||}{||{z{zzy{||{{||{{z{{z{{zz{|z{{|{z{{z{zzz{{{{{zz{{z{{{zyz|{{{{|{|zzzyz{zz{{{z{{{{zzzyzz{z{{{{|z{|z{{zzzz{{{zz{{|{{{zzyz{yz{{zz{|{{z{yzzz{{|{|{{z|zz{zy{zzzz{{{{{{{zzyzzyz{zz{{{{{zzy{{zyz|{|{{z{{zzzzzzzzz{z|{{{{zzzyzy{z{zzzz{|z{z{zzzzy{zz|{{{{zzzzz{zyzz{|z{{|zz{{zz{{{{{{{{{{{z{zzz{y{{|z{|{|{zz{zzz{{|{zz|||{z{z{z{zz|{{{|{{z{{z{zz{{{|{{z{{{{{{{zzz|{|{||{|{{{z|{zz||}|{}{{z{{{z{{{||||{|||{{z{zzz{{{|{{||{|{zz{z{|||{||||{{{zz{z{{||}{||||}z|z{{{z{}||{{}{{{||{{|{|||||||{{z{z{z{{{||{|}|||{|{|{{|{|{|||{||{{z{||{{|{z{|||{{z{zzzz|{{{||{|{zz{zz{z{{{{{z{{z{zzz{{zz{z{zz{{{yzz{zzz{|z|{{{{{{yzyzzy|z{{{z{zz{zzzzz{{{{{zz{{{{yzzzzyz{z{z|z{{zzzy{{yz{z{{{z{z{{zzyz{{{{zy{z{|{zzzyyz{zzz{{{{{zyyzyzzz{{zz{|z{{z{yz{zzz{{{z{zzzzzzz{{z{z|{{{{zzzzzyyyz{{{z{z{{{zyzzzzz{{{z{{{{{{{zzzzz{z|{{{|{{{zzz{y{{{z{z{|zz{zzz|{z{{{{{{|z{z{{zzz{{{{{|{{{{zzyz{{zz||{{z{{z{z|zz{z|{|{z{|{{z{zzzz|{{zz|{{z{{{{|{z{{{{{{|{{|z{z{{{|{||{{{|{{z|z|{z{{|}||||}z{{{z{{{|{{||||{{|{z{{|{{{|||{|{{z|{{{z|}|}{||||{z|{{{{{||{|{||{zz{{{{{{|{{|{|}|{|||z{{||{|{|{|{{|{z{z{{|{{{||{{|{{z{zzz|||{{{|zz{zz{zz{{{{{{{zzy{yzzzzz{{{{z{{zzzyzz{z{{{{{{{{{zzz{zzz{{{{{{|{z{{{yzz{{z{{{z{{z{zzzzzz{{{{{{z{zyy{z{{zy|{z{{{zyz{y|zyz{{{y{zz{{zzyz{zzzzzzz{{|{zzzz{zzz{zzz{{{z{zzzzzzzz{zzz{{z{zzzzzzz|{z{|{{z{{zz{{zzzzzzz{|z{{{zz{{z{z{z{{{{{{zz{zy{|z{{{{{{zyyz{zzz{{{z||{zzz{zzz{}{|{{|{{{zzzy{zz{||{{{z{zy|z{yz{{{|{||{|zz{z{z{{|{|{{{|z{z|{{{z{|{{z{{{{|{{z{{z{{|{|||{|{{z|{{|{{|}{{|}{{z{zzzz{|||{|{|||{{zzzz{{||{||{|{{{z{|y{||{||{||}{{{{{{{z}{||||||z{{{{{|{{|||{|{{z{|z{{{{{{||{|||{z{|{z{{z{{{|{|{z{{{||z{{{{||||z|{{zz{{{|{{|{|{{z{z{zzz{{{{{zzz{{z{zz{z{z|z{|{{{z{{zz{zz{z{{{{{{zzzy{yz|{z{|{{{{{z{z{zzzz{zz{{{{yzzzzzy{{{{{|{{zz{zzzyzz{|{{|{{zz{z{z{{z{|zz{zyzzzyyz{zz{z{z{z{yzyyzyzzz{{|{{{{zzzzz{zzy{{z{{z{zzz{yy{zz{zz{{{{zzzzzzzy{{zz{{{zzz{z{zzzzzz{{{{|zzz{z{zz|{{{zz{|zzzzz{{z|{{{yz{{{z{{{z{{{{{{z{{|{{zzzzz{{{{{{|{|{{{z{z{z{{{{{{{{{z{{z{zz{{|{{|{{{zzzz{{z|{{{{{{||{{{{|{{{||||{|{{{{{{{{{z|{||{{}{{{{{|{{}||{|{{||{{z|{{{|||{}|||{z{{{{{{{{|{||{}{{{{z{{{{|{{|{|}{{{{zz{{{|{{}|||{|zzz{{{||{{|||{{{{{|||{{|{|}{|{{{{z{{z{{{{|{|{||{zzy{{z||{{{{{{|{{yz{z{{{{{{{|{{yxyzyzzy{{z|{{zz{{zzz{yz{z{z|z{zzzyzzzz{|zz{{z{z{zzyzzzy{zzz{|{{zzzyzzzzz{{{{{{zz{zzz{zz{|z{z|zzz{yzyzzz{{zzz{z{zzzz{zz{{y{{|{zzzzzzzzzz{{z{|{z{zyzzzzyzz{z{z{{zz{zyy{{{zz{z{{|{zzzzzzzzz{zz{zz{z{yzyyz{|{z{{y{zyz{z{zyz{{z{{{{{zz{{z{zz{{{{{z||{zzzzzy{{{{|{{{z{{y{zzz{|{z{z{z{zzz{z{z{||{{||{{{{{{{zz|{|{|||{{z{zz{z{{||{z{{{z{{{z{{{{{{}||||zz{z{z{z{|{|{||{z{zz{y{|z|{||{{|{z{{{{|{|{|{{{||{z{{z{|{{||{{|{|{{{z{{z{z||||}||{{{{z{{z{|{|{||||{{{z{{{{{{z|{{|{{{{{z{z{{|{{||{{{{{z{{z{{||{{{{{{{{{z{|{|{{||||{z{zyyz{{{{{z{|{{zyyz{yz{{{{{z|{{z{zzz{zzzzz{{{z{z{zzzzz{{z{{z{{z{zzzyz{z{{|z|{{{{{zyy{zz{{{z{{zzy{zzzzzzz{{{{z{zzyzzyyz{zzzz{{z{{zzzzyy{zzz{{{zzz{zyzzz{z{z{{|z{yzzzzyz{y{zz{{{z|{zzyzyz|zz{z{{zzz{{zzzz{zzzzz{zz{zzzzzz{z|z{z{yzzzzzzz{{{zz|{{{zz{{{zy{z{{{{{{{y{zzy{y{z|{{z{|zzz{{{z{{z{{{{z|{z{y{z{z|{|{{{z{{zzz{zz{{{{{{|{{{{{{z{zz{z{{z{|{z{{|{{zzz{||{||{zz{{{{{{{|{|{{||{zz|{|zzz||{|{}|{{zz{{{{{{|{{||{z|zzz{{{z|{|{{||{{{{z{|zz|||||{|{{{{|{zz{||{{|||{z{{z{z{{z{||{|{|{{{|{{{|{{||||{{||z{{{z{{||{|{{|{{z{zzz{z|{{|{{{z{zz{zz{z{{{{{zzzz{zzzyz{{{{{{{z{zzzzz{{z{zz{z|zzzzzzzzz{{{z{{{zyzzz{zzzz{{z{|{{{zzzyzyzz{{z{zzzz{zy{zzy{{z{{{z{yzzzzyz{{z{z{{{{zzzzzzyzz{zz{z{zyzzyzzzz{zzzz{z{zzyyyyzzz{{{{|{zzzzzzyzzzz{{{|{{yzz{yzyyz{z{{{{{zzzzzzz{{zzz{{{y{zzz|zzzzzzz{|{zzzz{zz{zzz{{|{|{zzzyz{zz{|z{|{|zzzzzzzy|{{|{{z{zz{y{y{z{||{z|{{zz{zyzzz{{{{{{{|z{zzz{zz{{z{{|{{|{zzzz{{z{|{{{{|z{{{|{zz{|{z|||||{{{zzz{|{{{|{{z{{zz{{z{|{{|{{}|{{{zz{z||||{{|{{|{{{z{{{{{||||{|{{{|zz{z||||{|{|{zz{{{|{|{{{||||{|z|{{{{{|{|z{|}z{{{z|z{z{{{{{|{{{{z{z{{z|{|{{|zz{z{{zzz{{{z{{{{zzzyzyzzyz{{{{{zzzzzzzyy{{{{{|zzzyyzzyz{{{{zz{{zzz{zyyz{z{{{{{{{z{{yzzyzzz{{zz{{{z{yzzzzzz{zz{{z{zzz{zzz{{{{z{{{zzyyzzyz{{z{z{{zzzzzzzyzzzzzz{|{zyzzyzz{z{{z{yz{zyzzyzzzzz{{z{{{zzzyzzzzz{zzzz{{{zzzzzyzzz{z{|{zzzz{{{yzz{{zzz{zzzzzzzzy{{{zzz{{zyzzz{zz{{{{z{{|z{{yz{yz||z{{z|{{z{{{zzz{{|{{{{z{{zzzyz{{||{{{|{zz{{zzz{z|{zz|{zz{z{zzzz|{}{{|{|{{{zz{|{||{|{{{|z{{|zzz{{{|{|{|{|zz{|{{z{||{|{|||{{zz{|{{{zz{|{}|{{z{{{z{||{||{|{{{{zz{{{}{|{{{|{{{{zzz{|z{|{{{|{{{{|z{z|{{|{|{||{z{{{z{z||z{|||{{z{y{{z{{{{{{{{z{zzz{zz{z|{z{z{zy{yzzzy{{{{{{{z{zzz{{zz{{z{{|{{zzzz{{zz{z{z{z||zz{{{zz{{{{{y{{{yz{{zzzz{{z{{{{{zzzz{zzzz{z{z{|{{z{zz{{zz{{{z{{zzzyyyzyz{zz{{z{{{zzz{zzz{{z|z{{{zzyzyzyz{z{{{{z{zzz{zz{y{z{{|{{{z{{zzy{zyz{yz{z{{{yz{yzzz{{z{{{|z{{z{{zz{|{{{{{{{zzz{zzz|{{{z{{|zz{zzz{z{|||{|{{{zzzzz{zz{||{{||z{{{{{|z{z{{{|{|zz{z{zzz{|{{|z{{{zz{{{z{{||z{|}{{{{{{{{|z{||{{|{{{{||{{{{{{|{|||{{{{{{{z{{||{{{{|{{{|{{{{|{{|||}{{{{{{{{z|||}}||}|{{{{z{{}{}|{}|{{{|{{{{{{{{|{|||{{{{{{{{{{{||{}{{z{|{{{{{|{|{{|{{{z{|zz{{{||{||{zz{{zz{{||{{{{{{zz{{z{z{{{||{{{z{yz{zzzz{zzz{|z|{z{{zzz{z|{{|{|{zzzz{{z{{{{{{{z{zzz{zzzz{{{{z{{{{{yzzzy{z{{{{z{|yzzzzzyy{zzz{{{{zzzzzzz{z{z{z{y{{zzzzyzzzzzz{{{zzzzzzyyzzz{|{{{zzz{yzzyzzz|{{z{zy{{zzz{{{{{{{|{{{{y{z{zzzz{{{{{{zzz{zz{zz{{{|{|zzzzzz{z{{|{zz||z{zy{zzz{{{z{{{|zzzz{zzz{{|{{{z|y{{zzzz{{{}z{{{z{{zz{yzzz|{|{{||zz{{{{{{{||{|{{|{z{{{z{z{{z{{{|{{{{zz{{z{{{||{|{{{|{|z|{z{||z|||{|{z{|{{{{|||||{||{{{{z|{|}|{|||{{{{{|||{{{{||{{{z{|{{|{{}{||||{{{{{{{z{|{{{{||{|z{{{zz{{{{{|{|{|{{z|{{z||{|{{||{z{z{z{z{{{|{{|{{zz{{{{z|}{{{{|{{yz{zzzz{{{{{{z{zzz{{z{z{z{zzz{{{zzzyzzz{{{{{|{|{{{yzzyz|zz{zzz|{{zzyzyzz{{{zz{{zzzzyz{zz{z{{zz|zzzyzzzyzz{{y{z{zzyyzzyz{zzzz{z{{{{yyyzzy{{{zz{{zzzyzyz{{{{{{{{zyzzzzyzzz{{{{{{{{zzzzzyzzz{{{{z{zzzzyy{{{{zz{{{{{zzzzzzzzz{{z|{{{zz{zzyyz{z|{|{z{zzzzzz{z{|{{{|{zz{{zzyz{{z{|{{{z{{zz{zzzz{z|{{|{|{{zz{zz{{{{{z{{zzzzz{{{{|{z{{{zzzzzzz{{|{{{||{{{z{z{z{{{z{{|{{zzz{z{{z{{z{{|{|{{{{{{{{|{|{{{{{|z|z{{{{{}|||||{{z{{{{{{{|{{|}{||{{|{|{{z|{||||||{{{{z{z{{{{|||{{z{{{{z|z|{z{{|||{{{zzzz|{|{{{||zz{zz{z{{|z||{||{z{zz{{z{{{|{{{|{z{{{zzz{{{||{z{zzzyzyzyz{{{zz{|z{yzzzzz{{{z{{{|z{yyz{zz{zzz{||{zzzzyzzzz{|{{{|{{zzyzzzzzz{|z{{|zzzzz{z{zz{{z{{|z{zzzzz{z{z{{{{{zzzzzzzzz{z{z{|{z{{zzzzyzz{z{z{{zyzzyyzzz{{{|z{z{zz{zzyzzz{zz|{{zyz{{zzyyz{{z{{{zyzyyzyzz{zz{{{{yz{z{zyz{{z{{{z|zz{yzz{{yz{{{zz{zz{zz{{{z{{zz{{{z{|yzz{z{z{z{{{zz{{{zz{{{|{{{||{zzzzz{zz{||z{{|z{{{{zzzz|{{|z{{{{{{z{zz{{{{z{||{{zz{z{zz{{|{{|{|{{{{zz{{{||z{||||z{{|{z{{{|{|{|{z{|{{zz{{|{{z|{{|{{{z{{|{{{|{{{|{{{{{{z{{{{||{{|{z{z{zzz{{{{{{{|{{{z{{z{|{||{|{{z{{z{zz|{{{{|{{{{{zzz{{{{|{z{{{|zzzzzzzy{z{z{{{zzzzzy{zzy|{z{z{{{{{{z{y{{zz{z|{{{{{yz{zzz{{{{{|z{{zzz{zzzz{{z{||{zzz{z{z{{z{z{{{y{zzz{{yz{z{y{{{{z{{zzzz{{{z{{zzz{zzzyzz{z{z{{zzzz{zz{z{{{zzz{{zzy{zyzy{zz{z{{{{{zzzzz{zz{z{{z}z{zyzzzyyzz{y{{zzzzzzz{z{z{y{z{{{zz{y{yzzy|{{|{{z{zyz{yzz{|{{{{|{{{z{zz{{{z|z{{{{zz{zzz{z{{{{|{{{{{{{z{zz{|{{z|{{|{{{z{zyz{{{z{|{z{{{zzzz||{|{{{{z{{{|{{|{{{|||{}z{|{z{{{|||{|||{||zz{zz|{||{}{|{{z{z|{{z||{{||||{z{{{{{{|{{{|||{{{zz{{{z{}{|{||||z{{{|{{{{}||{|{|{z|{{{{{{||{z{{{{{{{{z{{|{|{}|{|z{{{z{z{|{{{||}{|z{yz{zz|{}|{{||z|{yz{z{z|{{zzzz{zzzzzzz{{|{{{}zz{y{z{{{{{{{{|{{zzzz{zzz{zz{{{{zz{yzzzzzzz{zy{|{zyzzzzy{zz{z{{{{{zzzz{z{{yy{z{{{{{zzzzyzz{z{{zzzyzzzzzyzzz{zz{zzzyz{yzzz{zzyz{{zzzyzzzzzzz{{{|{{z{yz{zyzzz{z{z{{zyzzyyyz{zzz{zz{{zyzzzzz|z{{z{{zz{yz{yz{{{{z{{{{zzzz{zzz{zz{{{|zyzzzz{{zzz{|z{|{{zz{{zzz{{z{{{{{zz{{yzzz{{{{{{{z{z{z{zz{{{z{{{zzzz{yzzzz{|{{{{{{{{z{{z{{{|{{|{|z{{{{z{|{{{||||||{{{{|{z|{|{{{{{{z{{{z{z{|{{{{{|{{|{{|||z{{z||||zy{zy{zzz||{{}|||z{{{z|{|{{{|||{|z{{{{{{{{|{|{|{{{|zz{{{z{{{{}z{zzzzz{zz}{z{{{{z{{{{yz{z{{{{{{{{{zz{zzzz{{{zzz{zzzzzyyyyzz{{z{{{zyzyzyzzz{zz|z{z{zzzzzzy{z{z|{{zzzzzzzz{{z{{{z{{zzzzzzzy|zy{{{{zz{{zzzyz{zy{z{{zzy{zzyyzz{{zz{zzzyzzyzyyzzzzyz{{zzyyzyyyz|zz{{{z{zyzyzzz{z{{{{{zzyzzyzzyz{{zzz{{{{zzyyzzz{{zzz{zzzzzyyzzz{zzy{zz{zyz{zyz{{{|{z{{{zzz{z{zz{zzzz{{z{z|z{y{yz{z{{|{y{{{{{zzzz||{z|{{z{{zyzzz{{|{{{{zzzyzzzz{{{{zz|{zzzz{zzy{{{{{{{{{{|zzz{{{z|{{z}{zz{{{z|z{{{||||}|z{zz{{{|{{z|||{|y{z|{|z{||{|{||{z{{z{|{z|||{||{|z{{{z{{{|{{|{{||{{{zzzz|{|{{|z|{{{z{z{||{{||{|{{{z{{{{{{{{|z{{|{{{zz{z{z|{|{{{|z{zzzzzzz{{{{{|{{z{{zyzz{{{{{{{zzzzy{zzzzzz{y{z{{zzyzyzz{z{yz{{{z{yzz{zzzz{{{{{{zzzzzzzyz{z|{z|{z{zzzzzzzz{{{{{|yzzz{zzzz{zzz|z{zz{z{y{z{yzz{zzzzz{yzyzz{zzz{zz{zyyy{zzy{zzzy{{zyzzzzzyy{zz{{{zzzzzzyzyyz{{z{{{zzzzzzyzzz{{{{{z{{yzzzzzyz{yy{{z{yzzzz{{yzz{z{|{{{zzyzyzz{zz{{{{{{{yzzyzzzz{{||{{zzzzy{zz{z{z{z{{zz{zyzyz{{{{z{{{|zz{|z{z{{{z|{{{{zzz{{z{{{z{{z{{{{zzzzz{{|||||||{{{|{z{{||{{||||{yz{{zzy{|{{{{||{z{{|{{zz|z{{{{|{{{zz{{{{|z{|{||{{zzz{{{{{||{||{{z|{zy{|{|{|{}{|{z|{|{zz{{}{{{|{{{z{|{z{{{{z{{{{z{{yz{zz{|{{z|{{z{zz{z{zz{{{{{{z{{z{yzy{|{|{{{{{zzzyzzz{z{{{zyz{{zyzyzzzzz{{z|||{z{yyzzzzz|z{{{zz{z{zyzzz{{|zz|{{zzyzyzy{z{zz{{{yzzzzz{zz{z{zzz{zzzzzzyyyz{z{{z{{yzzzzyyzzzz{z{zz{{zzzzzzz{{{zzzzzzzzzyyy{zz{{{{zzzzzyzzz{{{z{{|{zzz{zyyz{|zz{{z{{zzzzzyz{z{zzzzzzyzzzzyz{{z{z|{{{zzzzzz{z|z{z{{{z{zyyzzzzy||{{{zzzzz|zy{{{|{{{z{z{z{z{{{{}z{{{{{z{z{{zy{{{|{{|{z{{{{{zzz{{z{{{z{zzz{{{{{{|{{||{z{{|{z{z{|||z{||z{z{zzzz{{||{{||{z{z|zz{{|{{|}|{{{||{{{z{{|{{||{{{{{{|z{z{||||{{{{{{{z{{{{{{{||{{yz{{{y{{{{{{{{|{zzzz{z|{{{|||||z{{z{{z{{{{||||{zz{{zy{{z{{|{{{{|{{x{y{z{z|z{z{zz{zzzzzzz{{zzz|{zy{{zzzz{{z{{{{|{{zz{zyz{{{{{z||{zzz{{zzz|{zz{zz{zzzyz{y{{{zz{{{zzzzzzz{z{zzz{{{z{zzzzzz{{{zz{z{{zzzzzzz|yz{z{zzyzxyzzyy{z{zyz{zyzyzyzyzz{{{{z|{zyzyzzzxz{z{{{|z{{yzzzzy{{zz{{z{zzzzzzyzz{{{{{z{zzz|{{{zz|{{{{{|z{zzyzzyz|{z{z{{{z{zyyzz{{{z{{{|{{{{{zz{z{|z{{||zz{z{zy{{{z{{||zzzz{{z{yz||{{{{{{z{{zzzz{||{||{{|z{{|{{{|{{|{|||{{zz{{z{{{{|{{{|{|{{{z{{{|{{{{|{{z{{{z{z{||z{|||{z{{{||{z{||||{}{{{zy{z|z|{{|||{{z{{{{{{{{{{{{|}}{y{{{{y{}||{{||{{z|{zzz||{{|{{{|z{z{{{{{|{|{|||{zz{z{{zz|{||||{{zzzzy{z|z|{{{yzzzz{{zzz{{{{{z{{z{zzyzz{{zzz{{|z{z{y{zyzz{yz{{{z{z{zzzyy{z{{zy{{z{zzzyzz{{z{{{{{{{y{zzzzz{{{{{zzzyzzzyzzz{{zz{{{{zyzzzzz{{z{z|{{z{zzzzz{z{z{zzz{zzzzyzzzz{{z{z{{{zzyyzzy|{{zzz{{zzzzz{zyzzzy{z{zzzzz{zyzzz{{{{z{zz{{{zyz{z{z{{{z{{zzz{|{z|{|zz|{zz{z{yz{{z{{zz{{zzzzzzzzzz{z|{{zzz{z{zzz{{|{{{{||yz{{zzz{{{{{{|z{{{z{{z{{|{|{{|{z{z{{{|{{{|{{|{{z{{yz{{{{{{{{|{{{z{zzz{z{|z|||{{|z{{{{{y|{{||{|}zzz{{{{{{|{|{||{|{z|{z{z{}{{{|{{|{{|{{zz|{{|||||{z{{{{{z{||{|||||{{z{{|||{{{{||{{{zz{z{z{|{{{{|}{zz{{z{z{{{{{|{|{z{zz|zz|{z{{{|{zzzzzzzyz{zy{{|{zz{zzy{z{z{z{{{{{zzyy{{yz{zz{z{{zy{{yzzzzz|zz{{zz{{yzzzzz{{{z{z{z{yzyzzy|z{z{{zzzzzzzzzzz{zzzzz{zz{zzzyz{zz{z{{zyyyzzyzyz{zzz{{{{zyyzzyzz{{{{z{z{zzzzzzyz{z{z{{zzzzzzyzzyz{z{z{{zzzzzz{zy{zzz{{{zzz{z{zyz{{{{{|{{zzzzyzz{z{z{{{|{zzzzyz{zz{{z{{{zzzz{z{{{{{{{{||{zzz{yzyz{{|{{|{zz{z{{z{z{|z{{{|zzyzz{z{{{||{{{{|z{{{z{{{{{{{||{zz{{{z{{z{{{||{{|{{{z{|{{|{{|{|{{{zzz{zz{||{|{{{{{{{{{{z|{{{{|{||{{{{|{{{|||{z||{z{{{{{{{{{|{{||{{zz{{{{{|{{{{{}{z{{{{zz{}{|||||{zz{{{|z{|{{{z{{|{y{zzz{{{z{||}|{{{zzz{z{{{{zz{{yzzz{zzyy|z{{{{{z{zz{zzz{{{{{{z{{{zyz{zz{{{{{{{{zy{{zzyyz{{{z{z|zzzyzyzyy{{{zz{zzzzzzzzy{yz{z{zz{z{zzyyzzz{zz{y{{{zzyzyzz{zzzz{{yyyzyyzz{{{zzz|zzy{zz{yz{z{{{{|{zzz{zzzzz{{{{z{|{zzz{yzzzz{zz|{{zyzzzyzzy{z{{{z{{zzy{{zyz{zz{|{|zzyy{{{z|z{z{{{{y|{zzzzz{{zz{|{{zzzzy{zzz{|{{{{{|yzzzzzzzzz|{{{|zz{yz{z{{z||{||{{yzyz{{z|{{{||||{y{zz{|{{{{{{|{{zz{{{{{z|{{|{|||{z|{{|zzz||{z|{{{{{{zz{{{|{{|||{{{{{{z|||{{||{{{|{{{y{zz{}|{|{{||z{|{z|{{{{|{{||{z{z{{z{{z{z{{{|{{|{{z{{|{||z}|||{zzzzz{z|{{{{|{z{{||{{zz{{|z|{{{z{yzz{zz|{z{{{{{zzyzzzz{|zz{{{|{{yyzzx{z{{{{zz{{zzy{zz{|zzz{z{|{y{zyyyz{{|zzzz{zzzyyzyy{{zzz{z{yz{zz{{yz{{z{{{|zzzzyzzzzz{zz{{zz{zzyzyy{zzzz{yzzyzzyzzz{{zzzz{{zzxzyz{z{zzz{{z{zz{xyyyzz{y{{{{zzyzzzzzzz{{zzzz{zzz{zyzzzz|z{zz{zzzzzzzyzzz{z{{{{zzy{yzyzz{{z{{{zzzzz{z{{{{{|zz{zz{yzzzzz{{z{{{{z{z{zyzyz|z{z|{{z{zz{zzz{z{{{{{z{zz{zz{z|{z|{{{|z{{z{z{z{|||{{|{{z{z{{{{{{{{{{|{|z{z{{{{{{|{|||{{z{z{{z{{{||{{{{zzz{z{{{{{|{||}{|z{{{{z{|{|||{||{z|z{z{z{{{{{{{{{{y{zz{zz{|{{{|{{z{{|zz{{{{||{{{z|{{zz{z{{{|z{{|z{{{z{zz{{{{{{{{{z{zz{{z{{z{|{z{{zy{zzzzzzz{{{z{{zzzzyzzzz{y{{|{zzzyzzzzyzz{{z{|zyzzzz{|z{{|z|{{zyyzzzyy|z{z{{zzyzzzyy{yzz{{z{{y{{{z{yzz|zz{z{zzyz{zy{zyzzzzz|{zyzzzzzzyz{{{{{{{{zzzyzzzzz{z{z{{{zzzyzz{z{{{{{|{zzzxzyzyz{zy{z{zzzzzzzzz{{z{zz{{{zzz{z{yz{{z{{{{{{zzzzz{{z{zz|y{z{{{zzzz{{{{{{{{zz{zzzy{zz{z{{{|{z{zzzzy{{zz{||z{zzzzz{z{{z||z|{{{zzz{zz{{z{z{{{|z{z{||z{{{|{z|{{{z{{{{z}{{|{||{{{z{{{zz{||{{{{z|{{{{{{{{|{z|{|{{z|z{{{{|{{{{{|{{z{{{|z{{|{||||{|z{zz{{|z{{|||{z{{z|{{z{z{{{{{||{|{{{zz{{{{|{{{|{zz{{yzz{{|{{{|{|{{{zz{{{|{{z{{z{{zzyyzzz||z{{z{yzz{zzzzzz{{z{z{zzzzyyzyz{z{{{{{z{yzyzyzzz{{{z{z{yzz{zzzzzz{{z{{zz{zyyzz{zz{zz{|zyzy{zyyzyz{zz{{{zzzyz|z{zzzyz{zzy{y{zzzzz{zzz{{y{yzzy{zzzzzzzz{z{zy{zzz{{{{z{{zz{zyzzzz{z{z{z{zzz{zzyyyzzzzz{|z{yzy{zzyy{{{{{{{zz{zz{zzzzz{zzz{yzzyzyzz{{{{z{||{zzzyy{z{z{{{|{{zz{yyzzz{{{{{{z{{zzzzz{zz|{{{{{zzy{z{{{zz|{|{z{{{{{{|zz|z{zzz|{{|zzz{zzz{z{{{{||z{{z{{{{z{{{|{{|{z{{{zz{{||{|{|{|z{z{{{{{|{{{{|{{{{{z{{|{{|{|{}|zzz{z{{{z{||{{|{|{{{z{|zz{{{{|{{{z{z{{zz|z}||}|{{zz{{{z{{||{||{|zzzzz{zzz{{{{{||{{z{z{{z{|||{|||zz{{zzzz{{{{{{{{zzzzzyyzz{{zzzz|z{yyzyzy{z{{z{|{z{{zyzzzzz{zyz{z{zzzyxzzzz{{z{|{zzzzyzzy{{zzz{z|zyzyyzyyzzz{zzzz{zzyzxzyzz{zy{{z{yyyyzzyzz{zz{z|zyyzzyzxz{zy{{{yzz{zyzyz{z{zz{zzzzy{yyyy{zz{{zzzzzy{zzzzyzyz{{zyzzyyzzyzz{zzzz{zyzzzzyzzzzzzz{{zzzzzyz{zzz{z{{z{zz{yyzzz{zz{{{{{zzzyyyyzzz{{{|{{{zz{zyzzz{y{{{zzzz{zzzzz{{{z{{|z{{{zzyzz|{{{{{{{yz{zy{zy{{|z|{{{{{{zzz{{{{{{{{{|y{{{{yzz{z||{{{{{zz{{zzy|{{{||{|z{zz{{z{zy{{{{{||{zz{{{{z||{{|||z{{{zz{{|{{|{{|{{z{{zzz{{z{{||{|zzzz{z{z|{z{{z{|{zzzzzzz{{z{{||{{{{{{yzzzz{{{{||{{zyzzyz{{{{{z{{zz{zz{zzz{{{zz{{zzyzzyyyzzz|z|{{{zzyzzzz{zzz{yz{zzzyyzzzzz{|{zzz{{yxyzzx{{{{zzz{zzzyyyzyz{z{{z{zzyzzzyzzz{{zzzzzz{zzzzyzzz{zyzz{zyzzzyyzz{{zzzzy{zyzzz{zz{zzz{zz{{zzzzyzz{zzz{z{{zzzyzzyzzzyzzz{zx{yzzzzz{yzz{{{zzzzzzzy{zy{{{zzzzzzyzzzy{zz{zz{{z{zzzzzzz{zzz{{zzzzzzzzzzzzz|z|{zzzzzzy{{{{z{{{{z{zyzzy{{{|z{|{{z{zyzzz{{{{{{{{zz{z{zyz{z||}{{{{{zz{|{{z||{{{{{{{z{zyy{{|{||{}{{z{z{{{{{|{|{{|{|{{zzz{{{{y{{{{|{{zzz{zz{||{{|{{{zy|zzzy{{{{z{{{{z{{{{{{z{z{{{{|{zzz{zz{{{|{z{||zzzz{{{z{zz{{{{{{zz{zzzzz{{{z{{{yy|y{yzz{z|{z{zzz{zzyzzyy{{zzz{{yzzzzzzz{{z{z{|zzzyy{zzy{z{z{{{{zyz{yz{y{zzzz{z{{zzyyzzyzzzzz|{{zzzzzz{yzzzyyz{{zzzzyzzy{{z{{{zzzzyzxzyzz{z{zzz{zzzzzzzyzz{zzzzzyyyzzzzyzy|zzz{zzzyzyyzzz{z{|z{|zzzzzyzzyyzzy{zzzy{{y{zyzzz{|{z{zyzy{yzy{{z{|z{zzzzzzzzyz{{{z{{{zzz{zy|zzzz{{||{{{{zzzz{{{{z{zz{zzzzzy{{{{{{{{{{{z{zzzzzz{{{{{{{{{yz{zz{zz{{z{{zzzz{{{z{{{{|{||{z{{{{{z|{{{||{|{zz{zzz{z{{|{z{{|{{z{{{{z{{|{|{{|zzz{z|{{z{{{||||{{{{z{zz{|z|{{|{{{{{{z|{|||{|||{{yz{{z{{||z{|{{|{z{zzz{{{{{|{{{{z|yz{z{z{|{z|{{{|z{{zz{zzz{{{{|{zz|zzyzzzz{{{z{{{zzzzyzzyz{{zz{{zzzzzzzzzzzzz{z{y{yyzzyzzzzzz{zzzzzy{yzzzz{{yz{{zyzxyzzzzz{{z{yzzzzzyzzyz{z{z{z|zzzzzyzzyz{yzzzz{{zzyzyyyyzzz{zzyzzyzyyyzz{{zy{zzyzyyyzzzz{z{zzz{zyzzyzzzzz{z{{|yyyyyyzzzzzz{{{zzyzy{yyzz{zzz|{{zz{zzzyz{zzzzzz|z{zzzyz{zzyzzzz{yzzzzy{z{{zz{{{{yz{zyzyz{{{zz{{{{zy{zzzzz{z{{{{{{zzzyyzz{{{{zz|y{zyzzyzz{{{zz{zz{zyz{zyz{{||{{|{zzz{zzzz{{zz|{{{{zzzzzzy|{{{z{z{{zz{{z{z{{{||{|{{{{z{{zz{z{{{|{{{{z{zzzzz{z{{|{{{zz{zz{{zz{{{|z{{z{{{{{{{{{{{{||||z{z{z{{{{{{||{zzzzz{zz{{{z{{{{z{yzz{zzz{{|{zz{zzzzz{{z{z{{zz{zzzzyzzzyz{z{{z{{zz{z{zzzzzzz{{{z{zzzzzzz{z{|{z{{zzzzzz{z{{{z{z{{z{zzzzzz{z{zz{zzyy{zyzzzzz{z{{{z{zyyzyzy{y{zzzz{zzzzzyy{zzzz{zy{zzyzyzzzz{{{z{{zzyzyyyzzz{{|{z{y{zzyyzzzyzz{z{{zzzzyzyzyz{zzz{{zzyzzzz{yzz{zz{z{{zy{zzzyzz{{y|{{zzzzzzz{z{{zzzz||z{zzzzzzzy{z{{zzzzzyzz{zz{{{|{{z{zzzzzzz{z{z{z{zzzzzzzzz{z{{z{{{{yyzzzy{{{z{{{{{zyzz{z{{z{{||||zz{{{{{y{{{|z|{||{zz{z{y{|{{|{|{{z{{{z{{z{{}z{{||{{zz{z{{{}{{{||{z{|{z{z{{{{{|{{{{{{y{zz{|{{{{z{|{zz{{z{|z{{z{{{{{{{{z{z{|{{|}|{{{{zzzz{{{{{{||z{zzzzzz{{{zz{{{{yz{zzzzz{|{z{zz{yyzzyzyz{zzzzz{{zzyyzzzzzz{{z{z{z{zzyzzzzzz{z{{zz|zzzyyyz{{{z{{zzzzyyzzyz{z{z{{{zzzzzzzzyzz{z{zzyzzyzzzz{zzz{z{zzzyyzzzyzzzz{{yzzzzyyyz{zz{zz{{zzzzzyzyzzzzz{{{zy{zyzyzxz{zzz{z{zzzzzzzyx{yzz{z{{{zzzzzzz{z{zz{{yz{zzzyyz{{{z{|{{zzyzyzzzz{{zz{{zzzzzyz{z{zzz{{{zzzzzyz{{{{{{{{|{{zzzzyz{z{{{|z{zz{z{zzz{{{{{z{{zzzzz{zz{{{zz{{{z|zy{{z{{{{{{}{|zzzzzz{z{{||{z|{z{z|{z{z{{{z{{|{{zzz{{{z{{||{{{{{zzz{{{{{|{{||||{|{{{{{z|||{z|{{|{z|{{zz{{||{{||{{zz{{z{zz{|{{{|zzz{{z{{{{{z{|z|{{{zzzzzzz{z{{{{{{z{zzzzz{{{{{{{z{zzzzzzz{z{z|zzyyyyzyzyzz{zzz{{zzzyyyzyz{{z{zzzzyzyyzzzzzzz{{{zzzyzyzxzzz{{zyz|{zzzyyzzzzzz{{z{zzzzyyzyzz{z{z{zyyzyzyyzzzzzz|zzz{zzzyyz{zz|zz{{zyyzyyzyzzzyzzzzzyzyyzzzy{zzz{z{zzz{yzyzz{zzz{{zyzzzyyyyyyz{{zzyzy{yyzzxy{yzz{{zyyzzzyzz{{{{z{z{z{yzzzzy{{z{{z{{{zy{zyz{{{{{z{{{zzzyzyzzz{z{z{{zzzzzzyz{z{z{z{{z{{zz{{yy|{z{zzzzzzz{z{yz{{{z{{{{zzz{z{{zz{{{zz|{z{{z{{{zz{{|{{{{{zz{{zz{zz{{{{{|{y{{zyzz{|{zz||{z{{zz{{|{|z{{|{{|z{z{{zz{|{|z|||{z{|{{{{||{{{|{{{zz{z{zz|{z||{z{|{zz{{{z{{{zz{{{zzzz{zz{{|{{{||{{{zzz{zzzzz{{{{zz{zzzzyz{{{{{zzzyyyy{yzy{{{zzzzzzzyyzyzzzzzzzz{|zzzxz{zzz{z{{{{zyzyzzyyzzz{zz{|zzyyyyyzyy{zzz{z{yzzyzzzy{{zzzz{zzzzyyzyzz{{zz{zzyyyxyzyyyyzzzz{zxyzyyzyyyzzyzzzzzzyzzzyzzz{{|zzzzzzzyzyzz{yzz{z{y{y{zyzzzzz{zzzyzzzyz{yyzzz{yzzzzyzzz{zzyz{z{{z{zzyyzzyyzzzzzz{{zzzzzyz{{{{zzz{|{zzzzzz{{|z{{{z{{zzzzzzzz{z{{zyzzzzzzz{y{y|{{y{{zy{zzzzz{{yzz|{{z{zzz{{z{z|{{{{{zzzyzz{z|zz{z{{|{{{{yzzz{|{{{z{{{zzzzzzz{{zzzz|{zzz{z|{z{{{{{{{{{{zy{{z{{z||z|{{zy{zzz|zz{|{{{|{{z{z{zzzz{{{z{{|{zyzzzz{|{{{{{z{zzz{z{zy{{{zz{{{{z{{z{z{z{zzz{|{zzyzzz{zzz{{z{{{{{yyzyyzy{yzz{z{zzzz{yzzyzzz{{|{{zyzzzzy{zyz{{z{zzzzzzzy{{{zzzz{{zzzyzzyzyzzzzzzzzzzzyzzzzzzz{zzzzzzy{yyzz{yzzzzzzzyyzzy{zzzzy{zzzzyyzyzzzzzzzzzzzzyyzyzz{{z{z{zzyzzzyzyz{zzz{{zzzzz{yzyy{zzzzzzyz{yyxyzz{z{{{{{zyzzzzzzz{zzzz{{zyyyz{zzzz{{{{{{yz{zzzzzz{{{zz{{yzzzz{zzzz{zzz{|{zyzzyzzz{z{{z{{z{{z{zyzz|{y{|{{{zyyzzz{{{z{{zz{z{{zz{zzzz{{{|{zyzz{zz{{{{z{{||{{zzzzzyy{|{z{zz|zzz{{{zz{|{{{{{{{z{zz{z|{|{{{{{|{z{zz|{z{|{|{{{{{{{{{zz{z{{{{z{|{zzzz{z{{{{z|{{||zyy{zz{z{{||{{{{{zzzzzzz{{{z{{{{{zyz{zzz|{{{{|{zz{zzzzzz|{zzzz{zzyzzy{yyzzzzy{zyyxzzyxy{{zzz{{zzzyyyyzz{zzzy{z{{zyyyyyzyy{{zzzzz{xzyyyxzyzy{yz{y{yyyzyyyz{yz{{yzzzyyyyzzz{yzzz{zyzyyyyyzzz{z{z{yyyzzyzyyzyzz{zzzzzyyzzyyzz{zzzzzzzzyzzzzzzzzzz{zyyyzzzyyz{yyzz{yyzzzzzyzzzzzz|zzyzyzzyzzyz{{z{{yzyy{zy{zzzzzzzyzy{xzy{yz{zz{{z{yzyzyz{yz{{z{{{{{zzyzyzzz{zz{|z{zzzzyyzyz{zz{z{zzzyzyzzz{{z{{{{z{yzz{zzzzzz{{z{{{z{y{z{{{{{{z{|z{zzzz{zz{|{{{z|{zzzy{zy{{|{|{{{{zyyzz{{{z{{|{{{{{yzzzzz{||{{{z{{{zz{z{zz{z{{{zz{zy{y{{z{{{z{{{||{zz{{zz{{{{{{{{|z{zzzzz{y{{{{{{{{zyzyzzzz{z{z{{zzzzzyyzzz{{zz{zzyzyyyyyxy{{zz{zzyzyyyyyzz{zzz{{z{zzzzyzyzz{zz{z|zz{yz{yzzzzyz{{{zzyyyzyyzzzz{{z{yyzzyyyz{{zy{{z{zyzyzyzyzyzyzzzzyzzyyzyyzzzzzz{{yzyzyzyxz{zzz{zzzyzyyzxxzzzzzzzzyzyzxzyzz{{zz{{{xyzzyyxzzzy{{{zzzzzy{yyzy{zzz{zyzzzzyzyyz{zy{z{z{zzz{{zy{zyyzzzzzyyzzzzzzz{zzyz{zyzzyzzxz{{{{{z|zyz{zzzyz{z|{{{yzyyzyzzzz|{zz{|{{yyyzzyzzzz{{|{z{zzz{{zz{z{{{{z{yzz{{z{z{z{{|{{|zzyzyzzyz{{{{{{{{z{zzz{y{|{{{z{{{zz{z{{{zzz{{{{z{{{z{z{z{||{|{|{{z{{z{z{z|{{|{|z{zz{z{z{zz{{{|{{{zz{{zzz{{{{|{{{zzzzzzzz{{{|z{|{{{zzyzyyz{|{zz{{zzzyzzzz{z{zzzzzzzzyzzzzy{z{zz{{{zyzyyzy{zzz{z{|zzzyyzzz{{{zz{{{{zyzyzzzyz|{yy{{zzyzyyzyyz{zz{z{zzzzzzzz{zzzzzzzzyzyyzzyyzzzy{zzzyyyyzy{zzyzzzz{yyyyyyzyzzzz{{|zzzzyyzy{zzzz{z{{zy{zyzyzzz{{zzz{{y{zzyzzy{{zzz{zzyyzyxyzzz{zz{{{zzzzz{yyzyzzy{{|zyyxyyyzz{yz{{zyyzzzzzzy{z{z{{{{{yyzz{z{z{{z{z{zzzy{{y{y|{{{{{zzz{zzzzzzz{{{{{||{{zzzzyzzz{{{{{zzzz{z{zz{{{|{|{{z{zzzz|z{{z{{{|||{{zz{z{z{{{{{||{zzzzzzzz{{z{{{{{zzzy{{z{z{|z{|z{zz|{{z{{|||||||{zz{zzzz{{z{|}{{{zz{{zz{z{{{{{|{{zz{{zzzz{{{|{{|{z{yzzz{z{z{{|||{zz{{z{y{{{{{{{z{yzz{zzzz{z{z{z{yzyyzzzyz{zz{zz{yyzyzzyz{{z{{zzzz{yyzzxz{zzzzz{zzyzzyyz{z{{zz{{{zyzy{zyyy{zzz{z{{z{zyzzyy{zyy{{zzzzz{zyyzzzyz{|zzyzzyzzy{zzz{zzz{yy{zyzz{zz{{zzz{zzzxyyyyz{{{z{zyy{yzyzyzzzzzz{{y{zzzyzyz{zyz{z{{{zyzzyyzzzz{{{{zz{zyzyy{zzzzz{{{{zy{yzz{z{zz{{zyzzzzzzz{{z{{{{{yzzzyzzzz{{zy{{{zzzyzyyz{{zz{|{{zzzyzzzz{{|{zz|z{zz{zzyzz{{z{{{z{{{z{{zy{{|{{|{{yzzz{{z{z|z{{{|{{{zy{z{{z{|{{{{{zzzz{zz{{{|{{||{{z{z{{zz{{{{|{{{{z{{zzz{{|{|z{{{zz{{z{z{||{{z|{|{z{|zz{{zz{|z{{{{z{z{{{{{{{|{{{{z{zz{z{{z{zz{||{zzz{y{zz{|{z{{{{z{{{zyzy{z{zz{yzzy{zyzyzzzz{{{{{z{yzzyyz{yzz{{{zz{yyyyzyzzzy|{{zzzyzyyyzzz|zzy{{zzzzzyyxz{z{z{zzzzzzzy{{zzyzzz{zzyzzzyzzzy{zz{{{zzzzxyyxzzyzzyyzzzyzzyyyyzzz{z{z{zyyzzzyz{z{z{{{zyzyxzzzz{{zz{{{zzy{zzyzz{z{z{z{yyzyzyzyzzzzy{z{zzzyyz{yzz{z{z{{zzzy{zzzzz{zzz{{zyyzzyzyzz{{z{{zzzzzzzz{zzzzz{{{{yzzzz{z{{z{z{z{zzzzzzzzyz{{{{{zzyzz{zzzz{{{{{|{{{zzzz{{|{{{{|{{{{{z{z{z{{{z{{{|{zzzz{zz{z{{||{{{z{y{|{z{||||{{{z{{{{z{|{z{|{||{{z{{z{{z||{{{||{|z{{zzz{||{{{|{{{{zz{zzz{{{{{{{|zzzzzzzz{z{{{{{|{zzyzz{{{{{{{{{|z{z{{zyzz|{|{z{z{zzyzzzz{{{zzzyzzyyzzyyyzz{zzzyzzzzzzyzyy{zyz{zzzzyzyzzzyzyzz{z{{yzzzzzy{{zzzz{{{zzyyzyz{z{zzzzzzy{yzzzzzzy{zz{zyyzzzyyzzyzz{zzzzzzyyyyyzzz{zz{{zyyyyzyzzzzzz{z{zzzzyyxyzzzzz{zyzzzzzzzyyzzz{z{yzzzyzyxyy{zzzz{zzzzzzzyyyzzzy|z{zzzzzyzyz{{{zzz{zzzzyzyzy{z{z{{{zz{yzz{zy{zzzz{zzzzzzzzyzz{zzz{{{zzzzyyyzzz{{{{{zzz{zzyzzz{{{{|{z{zzz{{zz||zzz{{zyzzzzzz{z{|{{|{z{zz{z{z|{z{{z{|z{{z{zy{{{z{|{{{{{zzz{z{{|z{|z{zzzz{zz{zz|z{{{{{{{{{{{{zz{{|{||{{{z|zzzzz{{{|z{{{zzzz{zz{{{{z{{{{zzzzzzzz{{|z{z{{{zy{{zzyz{|||{{zz{zz{zyz{z{{z||y{zyzzzyyzzzzzz{zzxy{yzyyzzyzz{zzyyzzyyzzz{zzz{zzzyyyyzyz{z{zzzzzyzyyzzzzz{zzzz{zyzxyyyxzzzz{|z{zxzzzzyxzz{yz{z{yzyyyyyzz{zzz{zz{yyyyyzyzyzzzzy{yzyyyyyzz{zyzz{zzyzyxyyzyzz{zy{{zyzzzzyyy{{zz{zzzxzyzzyyzy{zzz{zzyyyyzzyyzzzy{yzyy{zz{zy{zzzz{{z{z{yyyzz{z{zz{z{zz{zzzzzzzzzz{{zzz|zyzz{zz{{{y{z{z{zzxzy{{{zzz{zzzzzzz{{{{{{{z{|zzzzyzzy{{z{{{{{zzzyz{yz{y|{z{{{zzz{{{z{z|z{{{{{zzzz{zz{{{{{{{|{{{zz{z{yz|zz{|{z{zz|z{{{{{{|z{|{{z{{zzz{z{{{||||{zz{zzyz{{{|{||z{yzzzz{{{zz{z{{{{zz{{{{{|{{{{z{{{zzyzzz{{|{{z{{{{zz{zzyy{{|{z{{|zz{yzy{yyzzzzzzzyyyzyzzyy{zzzzzzzzzyyyyzyz{{z{z{zzxyzyyy{zz{{y{zyzzzyyzy{z{{zz{{zzyyyxzxz{zzzzz{yzzzzzzyzzz{zzzzzxzxyyyyzzzyyzzzyyyxyyzzyzy{y{{zyzzyyzzyyzzz|{{zyy{zyzxyyzz{z{zzzzzzyzy{zz{z{z{{zzzzzxzxyzz{z{zyzyzzyyyzzzzzzzzz{zz{zzzz{{zzz{|z{y{zzyzyyzzzz{z{zz{{yyzyz{z{z{zyzzzzyzzy{{{zzzzyyz{z{zz{zz{z{z{{yzzyzzzyz{{{zz{{{yyzzzzy{{{zy{z{zy{z{y{z{z{||||{{{{z{{zz{{{{{{z{{{z{zzz{{{{|{{|z{zz{zzzy{{{{{{|z{z{zyzz{{{{{{|{|{zzzz{z{z{||{{{{zz{zzzyzzz{z||{|zz{{{{z{z{{{{{{|{z{zz{yz{z|{z{{|z{{{{{{z{{z{yz{{{zz{zzzzzzz{{z{|{yzzzz{z{zzzzzyzyzzzyyyyz{zz{yzzyyyyyyzyz{z{{zzzzyzyyzyyzzzzzzyzzzzyyzzyyz{{zzzz{{zyxzyxyy{yz{{zyzyyzxyzyz{zz{{yzyyyyyyyyzzzy{zzzyyyyyyzyyzzzz{{zyyyzxyzyzyyzzzyzzyyxzyzzzzzz{zzy{zyyzzzyzzy{z{{zyyyyyyyzzz{z{zzzzyzzzyxyzzzzzzzyyyyxzzyzz|zzz{zzyyy{zyz{zzzzz{|yzzzzyyzz{zz{z{{yzzzzzyzzy{z{zzzzz{yzxyzyzzzz{z{zzzyzxyyzz|{{z{z{yzzzyzzzz{zz{zz{yzzzzzyz{|{{zz{yz{zzz|zzzz{|{|zz{zzzzyy{{{{{{{{{zzz{{yzz||{{{|{zzzzy{{z{{{{z{{{|zzzzzzzz|{{{|zz{{{zzzz{{{{|{{z{zzzz{yz{zz{z{z{z{{zz{{zyzz|zz|zzzzzyyyzzzz{{zz{|zzzzzzzzz{{{{{{{zz{zyzzyzzyzzzz{y{zzzzyyzzzzyzzzzyzyzzyyzzzz{z{zzzzzyzzyzyz{zz{z{yzyyzyyz{{zy{zz{yzyyzzyyzzzzz{zzyyzzzyyyzz{{zzzzzyzzyzzy{{zzzzzzzyyyyyyyyyzz{zzzzyyyzzyzzzzyzzyzyyyz{zzyzzy{zzz{zzyxzxzzz{{{{zz{zyyyyzxy{zyy{{zzxzzyzyzzzz{{zzzyxzzzzzyzzz|z{zzzyyyzzzyzzzzz{zz{yzyzyzzzz{zzz{{yz{zzzzzz{z{z{{zzzzzyyzzy{z{z{zz{zzzzyyxzz{zzz{z{yzzzzzz{{{zz{z{{yzzzyz{z{{|{{{{zz{zzzz|{{z{{{{|{y{zzzzy{||{||y{{yzyzzyy{|{{{{{{{z{z{{zzz{z{{{{||zy{y{y{z|{{{|{}{yzzzzzz|z{{{|{{{yz{zz{{z{z{{z||{zzz{{z{{{|{z{|{z{zyzzz{z{zz{{|{z|zzzzzzyzzzz{zz{{yzzzyzzzzzz{z{zzyyyyyyy{{z{zzz{zzzzzyyzzzzz{{zzzzyzzzy{z{y{{zzzyzzyzyyz{zzzy{{zzyxyyzyzyyzzz{{zyzyzy{y{zzyzzzzzyyzxyyz{zzyzyzyzyzyyyzxzzzzz{y{yzyyzyzyyzzzzyzzzzyzyyyzzz{zzz{zzxzxyyyyz{{zz{{zyyyyyyzyzzzxzzzz{{yzyyyyyzzzy{zzyz{zyyzxzy{z{y{{{yzyyyyzzz{zzzzzzzyyzzzyy{{zzz{|zyyyzzyzzz{zzzzzzzzzyyzz{{zzz{zzzzzzzzzyz{z{{{{z{z{zzzzz{zzz{{{{zzzy{{zzz{{|{{{{yz{yzz{{{zz{{{|zz{zzzzzzz{{{{{{z{{{{zz{z{{z{{{{{zzzzzzz{z{zz{{{{{zzzzzzy{|{{{z|z{z{zz{zzz{{z||{{{z{z{zzz{{{z|{{{|zyzzzz{z{{{|{{{{zzzyzz{{|z{zz{{{zzzzzzzz{{z{{|zzzzzzzyzzz{{{{{zyzxyyyzyyzzz{zz{zyzyzxzzzz{z{{{zzzyxzyyxzyzz{zz{zyzzyzxy{{{zzy{{yzyzyyzyzz{zzz{yzzzyyzzyz{yzz{zzyy{y{yyyzzyz{zzyzyzyxzyy{yzzz{z{yzzzzyyyz{z{z{{{{z{yyyyzz{zz{{{{zzyzzyyyzzz{{zz{zzz{zyyyy{zyzzz{zyzxyyzzzzz{{{{{zyzy{zzxzz{{zzzzzzzzzzzzz|zz{zz{zzzzzzzzy{zz{{|{yzzzzzzz{{{z{{z{z{{zzzyz{{{{{{|{zzzyzzzyzz{{|{{zz{zz{zzyz{|{{{{{{zzz{zz{{z{{{{{{z{{{z{zz{|z|z{{{{z{{z{yzz{{{{z|{zzzz{zzz{|zz{{{{zzzzy{zz{{z{{{{|{zzzz{zz{{{{{|{{z{zzzz{z{{{{{{|z{zzz{z{{zz{z{{{|{{zzz{zz{{|{{|{|{z{{{yzzyz{{{|{|{{{zzzzzz{{{{{{zzzzzyzzyzz{zy{zzyzy{zzzzz{zzzzzzyxzzzzyyz|{{y{zzzzzyzyyyzzzzzzzz{yyyyyyzyyzzzzzzzzzyyyzyzz{zy{{zzzzyyzzyyz{zzzzzzyzyzyyyzzzyy{{zyxyyyyyzzzzyzzzzzzyyyzyzzzzzyz{zzyzzyyyx{zzy{zzzz{zzyzyyzzzyzy{zzyzyzyzxyzzyzzzzyzzzzyyyz|zzz{z{zzzzyzzyzyzzzz{zyzz{zxzzz{{zz{zzyyzyyyzzzzz{{z{{{zzzzzzzzz{{{{z|zzzyzzzzy{{z{{{z{zzxyz{y{z{z{z{zzxzz{zz{{{{{z|{zzzyzzzz{zz{z|{{{{{{{{{z{{{{{z|{{{zzzzzzyz{{|{z{z{{{zzzzzz{{{{{{|z{{zz{|{{{{{|||z{zzzzzzzy{{{z|{{{{{{zz{{{{z{{{z{|yzz{zyz{{y{{{|{{{z{{{zzz{{zz{{{yzzz{{zzz{{{z{{z{zzz{yxz{{zz{z{zz{z{zzzy{{{{{zzzzyyzzzyyy{{{zz{{zzzzzyzyy{{zz{{{zyzzzzzyyzzzzzzzzzyzzzyz{zz{zz{{yyzyzyyxzzzzzz{zzzzyzyyyzyzyy{zzyy{yyyzyyzzz{{zzzyyyyyzzyzzzzzzzyyzyzzyyz{z|{zzzyyyzxyyyzz{z{zz{zzzzzzyxzzz{{z{z{yyzzyzyz{zzyzz{y{yyyzzyzzzzzzzzyyzyz{zxz{zzz{{zzzzyzyzzz{{{zzz{zyzyzxyz{z{{zz{{{{zyz{yz{z{z{z{{yyzy{z{zyzz{z{{z{zzzyyy{{{z{z{{{zzy{yzzz{z{{{z{{zzzz{yz{{{{{|z{|zzzzy{{z{{z|zz{zzzzyzz{y{{z|{z||{zzz{z{y{{|z{z|{zzzzzz{{z{zz{{{{yzyzzzzzz{|{z||{{{z{zyyz{{{z{|z{{zzzzzz{{{{|{|||zzzzz{z{|zz{||{{z{z{z{yzz|z{z{|||zz{{yzy{{{{{{|{zzyyzyzzz{{z{zz|yyyz{zzyy{z{yzz|z{{zzzyyzy{zyzzzzzzy{{zz{zy{z{zz{yyzzzzzzz{{zz{{zyzzyyzxzyyzz|z{yyzyzzzyyzzzz{{{zzzzzxyy{zzzzzz{zyzzxyyzzzyz{z{{yyzyyyzzyzzz{zzzzyzzzyzzzz|zzzzzzzzzyzzyy{z{zzzzyyyyzzzyzyzyzz{zyzzzzzzzyz{{z{{{zz{yyyz{zz{{z{|{{zyz{zzzz{zzz{{{yzzzzzzz{z{{zz{{z{{{z{{zz{{z{z{{zzz{{yzzz{{{z|{z{{{{{yzy{{|{z{{z{yzz{z{zzz{{{z{{{zzz{z{{z|{|{{{{zzzz{{zz{{{{z|}|{{z{{zyz|{z|{{{{zy{{z{zz{{{{{{z|zzzzzzzzz{{{z{z|{zz{|{z{{|{{{{||{zz{z{zy{|z|{{{{{{{z{{z{{|{{{{||{zz{{zzz{{z|{|{|zz{z{{{z{z|{{{{{{zzzz{zy{|{{z{{{{zzzzyzz{z{{z{z{{zyyyzyyz{{{zz{z{z{zzyyyzz{z{y{{yzzyzyyyyz{z{z{{{yzzyyyz{z||z{{{zyzzyzzyz{y{z{z{zyyzzzzyzz{zz{{z{xyyyyyyzyzz{zzzyzzyyzyyzyzzzzz{yzyzyzzyyzzzzz{{{yzzyyyzzzzz{{z{{z{zzzzzzzz{{{{{{yyzzy{y{z{z{{{y{zyxyyzzy{zzzzzzzzyzzzzyzzz{zz{zzy{zzzzy{{zzzz{{{yzzzzyzzzz{z|{{zzzzzzzz{yz{zz|{zz{{{zz{z{zz|{{z{yzzzxzzy{|{{|{zzzzzz{yz{{|{y{zz{{y{zzzzzz{||{{{zzzzzzzz{{{{{{|{{zyyz{zz{{{{{{{{{zzy{zy{{{{{{{|{{{{zzz{{{{|z{{{{z|zz{zz{{|{{{{{||z{zz{z{{{z|{|{|{z{{zz{{zz{{{{{{{{zz{zz|z{{{{{|{zzz{zzz{z{z{|{{{{{z{z{{{z{z|{{{{yzzyzzzz{{z|zzzzzyyzyyyzy{zzzyzzyzzzzxzyzzz{zzz{z{yzzyyyzyzzzzz{zyyzzyzyzyzzzy{{zzyzzyzy{zzzz{{{zzyyyzzyy{zyz{|{zzzzxzyyzz{zyz{zzyzzyyyyyyyz{zz{xyyyyyyyzzzzz{zzzyzyy{yz{zyy{z{{z{zyyzzyz{|{yzz{{zyyzzyyyy{{zz{{zzyzyzyzzz{yz{z{yyzyyyyzzzzzz{|y{zyzzzzzzzzzyzz{zyzzzyyy{zzzz{{{zzzzy{yzyy{zzz{z{z{{{yzzzz{zz{zzyyzyzzyz{{{{y{{{{zyzzzzy{{|{z{zzzzzzzzyzzzz{|{{{{zzz{{z{{{zz{|{{zzzyzzzzz{{zz{|{{y{{zzz{{}{{{{||zz{zzz{zz{z{{|{{{{{zzzzzz|{|{|||{z{zzzz{{z|{{|{{{zzz{zz{{|{|{{|{{{z{zz{y{z{{{{z{z{zzz{z{zz{{{z{|{{zzzzzz{{z{z{|zzz{zzzy{zz{zzy{zxzzxzyzxzzzzzzz{zzzyzyyyz{zzz{zzzzzyyzyyyzzzyz{{zyyzzyxyzy{zzyzzzzzyyzyyzyzzz{y{yyzyzyyyzzzzz{yzzyyxzzxzzyyzzzzzzzzyyyzyz{zzzzzzzyyzzzyyz{zzzz{zzyyyyyyyzzzzzyzzzxyyxzzz{{zzzz{yzyyyyyyxzyzzzyzzzzyzyyzyzzy{y{{{yzyyyzyxzz{zzz{zzyzyyyzyzz{yz{{zzzzzzyyz{{{z{{{{y{zzyyyyzzy{z{z{zy{zyzzyyzz{z|zzzy{yyzzxzzyzz{{zz{yzzz{{{z|zz{zz{zy{yzz{z|z{zzz|zzzy{zzz{{{{{z{{y{yzzzzzzz{{{z{{{yz{yzzzz{z|{{{|{zzzz{zz{{y{{{{{|yy{zz{{{{z{{y{|{{z{{zzz|{z{{{{{{yy{zyzzz{z|{z|{{yzz{zzzzzz|{|||z{zyz{yzyzz{z{{{y{zzyzzzyz{z{z{zzzzyzyzz{z{{{{zzz{yyzzzyyz{zz{{z{zyyyy{yzzzzzzz{yzyxyzyzzzz{{|{zzyzyzyyyzzz|z{z{zzzyyyzy{z{zzz{zzzzyzyzzy{zzzzyyzyxzzzyyyz{zzzz{zyzzyzyyzyzzyzz{zyzzzzzyzzzzzzzz{zyyyzxzyzzzzzzzyzyyyzyzy{zzzz{{zzyyzyyyzz{zz{zzzzzyzyyyz{yzzzyzzzxyzyyyzzzzzy{z{zyyzz{yy{zzy{z{zzzzyzzzzzzzz{{{zz{yyzyzz{{{z|{zyzz{zyyzyz{{{z{yzzyyz{zzz{z{{zz{{yyzzzzzz{{z{zz{zzzz{zzzz{z{zzz{zzzzz{{zz|z{{z{{{zzzyzzzzz{{{{{{zzyz{z{zz{|{{||{{z{z|zzz{|{{{{{{{y{zz{zz{|||{{|{{zzzzzz{|z{{{z|z{yzzz{zy{{{{{{{{{zzyzzz||z{zz|{|{yzzzzzyzz{z{{{zzyzzzzyzz{z{{{{{z{zy{yzyzz{zz{zzzzzzyyzyyyzzz{{zzzyyyyyyzzzzzz{zzyyyyz{y{{yy{zzzzyxzyyyyzyzzzzzzzyyyyxyy{y{zyzzzzzzxyzzxyz{{zy{{zzzyzyyyyzyyzzyzyzyyyy{yz{zzzz{zzzyyzyzyyzzzzz{zyzyzzzyzy{{z{z{zzxzzyyzyyzzzzz{{yzyyzyyyyzzzzzzzzzzxzyzyyzzzzzzzzyzzzzyyzz{zzzyzzzzzyzzyzzzzz{|{{zzzzyyzzzz{zz{{zyy{zzyz{z{{{{{{zyz{zzzzzz{zzz{zzzzzzzyz{{{z{{zz{zyyzyzzz{{z{{z{yzzz{zzzz{{z{{z{yzzyzz{{zz{{zz{{zz{zzyzz{{{z{{zzzzy{{zzz{{z{||{{{y{zz{{{|z{z|zz{|zzzz{zz|{{{{zz{{z{zzzzz{{||{{{{|zzzzzzzzzyz{z|{|z{{z{z|{{{z{}{{zz{zzzzz{{zzzz{z{zyzzzzyzz{|z{z|yzzyzyzzz{yz{zzzzzzyyyzyyy{yzz{zzzyzyyxzzz{zzz{{zzyyzzzy{yzz{{z|zzzzzzxzzyzzzzzzzzzzyyyyzz{zzz{zyyzyyzyyzyzzzzzz{yzyzyyyzyzzzyzzyzyyyyyyyzz{zzyzyzyyyyzyzzzyzzzzyyzyyyyzzzzz{zzzzzyzyzzyzzzzzz{{yxyyyyyyyyyy{zz{zzyyyyyyyzyyzzzzzzzyzzyzzy{zz{yzzzyzyzzzzzzzyzyzzyzzzzzyzy{{{{{{yzzzyzyzz{{z{|{{{y{zzz{y{zzzz|{yzzzzzy{xyz{{{{{zzzzyzzzzz{{zz{y{zzzzzzzzzz{{zz{{z{yzzyzz{zz{{{{{z{zzzzzzz{{{{zz{{yzz{yyz{{{z{{{{yzyxz{zz{z{{{{z{{z{zz{zz{|||{{|{{zzzz{z{{{{{{{{{{yzz{zzz{{z{{{z|z{{z{zzzzzy{{{z|zyzzz{zz{{{{{{{{zzyzzzzz{{{{zzz{yyzyzyyzz{zyzzzy{zyzzyzyy{z{{{z{zzzyxzzyz{zz{z{zyyyyyy{{zzzzzz|zzyzzzzzyy{{{zz{{yzzyyzzy{zzzzzz{yyxzyzzyyzzzzz{{zzzyyyzzzz{zy{{z{yyyzzyzzzzzzzz{zxyyzyzyxzyzz{{zzyzyy{xyzzz{y{zzzzzzzyyyzzzzyz{yyyyyzyyyyy{{z{zzyyyxyxzz{{zz{zz{yzyzzzyyy{z{zz{z{zzzzyzyzz{yyz{zzzzzyyzzzzz{zz{{yzzzyyyz|{{{{{{{zzzzyyzzyz{|z{{{zzzyzyyz{{z{zz{z{zzzzzyz|{z{z{{zyz{zzzzzzz{{{{{{zzzzzz{{z{{{{{|{zzzzzzy|{{{{z{{{{zz{{z{{{{{{{{{|{zzzy|{zzzz{{{{|{zz{zz{z|||{{{|{{yzz{zzz{{|{z{{|zzzz{{yzz{{{{{{{{z{{{z{y{zy|z{|{z{{yzz{zz{z{{|z{{zzzyzzz{{z{{zzzz{zzz{zyzyz{{{{z{zzzyzzyyz{{{{{{zzyzyyyy{zz{{zz{{z{yzzzyz{yz{{{z{yzzzyzyz{|zzz{{zyyzyxyyzz{{z{zzzyyzzzyyz{zzzz{zzzz{zyzzyy{zzzzzzzzyz{zzyzz{yzzzzyyyzzzz{zzz|{zzzyy{z{zzzz{zz{zzyyzzzzzyyz{zz{zzyzyzyyzyzzyyyyz{yzzyzzyzz{zzz{{{yzyyzzzzz{{zzzz{zyzyzzzzz{zz{{zzzzzzyyzz{z{z{{{{xyz{yzzz{{zz{{{{zzzz{yyzzz{{{{|{zzyzzyzzz{z{{{|{z{yz{zzz{{zzzz{{zz{zz{yz{z{{{||{{zzzz{{{{{|{zz{zzzz{zzz{{{z{{{{{zyzz{zzz{|{z{{{{zz{z|z|{z{{z|{{z{zz{z{z{{{||{z{|{z{{zyzz{||z{|{{zzz{{z{z{{z{{{{|{z{{zzz{{{||{{|{yzzyzzzz|{{{{|{|{yzzzz{zz{zz{z{zyzzyzzzyz{{zz{yzzzzyyzyyzzzz{zzzzzyyyyyy{zz{yzz{zyzzzzzyzz{z{{{zzyzzzyyzyzz{z{|{xzyyyxzyzzzzz{z{zyzzzzzyzzyzyz{{yyzyyyzyzyzzzzy{{zyyyyyyyyzzyzz{yxyzzyzyz{z{{zzyzzzzyzyyzzyy{z{zzzyzzzyyy{z{z{z{yyyzzyyyzzzzzzzzyyzyyzzyyzz{zz{zz{yzzzzy{zz{zzzyzyzzyyyyzzzzz{y{zzzyyyzyz{{z{{z{zzzyz{zzyzzzz{{zzzzy{yzy{|{zz{z{{zzzzyzy{{{zzz{|z{zz{zzz{|{{z{y{yyy{zzy{{{|{{{{{{z{zzyzzzzz{{{z{{zzzzzyz{z{{z|{{{yzz{zzz{|{{{{{|{z{{zzzzz{{{{z||{zz{zz{zz|{{{{{z{zz{{{{z{{{{z{{{|zzzzzz{z{{{{||{|zzz{z{z{{{{{{{|zyzz{zzzz{zz|{|{{zyzyyzyz{{|z{{z{z{{{zzz{y{zzz{zzzyyyyyzz{zzz{z{yy{{yyyyzz{zzz{{yyzzyzyzzzyzzzz{yxzzyxyyzz{{zy{zzzzyyxzx{{yzzz{zzyyyyyzyyyyzzzzzyyzyzzyyyzxzzzyyzxyxzyzyzyzzzzzzyyzxyzzzyzzyzzzzzxyyyzyzzzyzzz{zzzyyyyzyyzzzzz{zzyzxyyyy{zyyzzz{yzyyyzyzyzzzz{zzzxyxyzyyzzzyzz{{zyzyzzzzy{{zyzz{yyzzz{zyzzzzz{zzzyyyyyyzzzzzz{z{z{zzyzzzzzzzz{zzzzzyyzzyz{{{{{{z{yyzzzyz{z|zy{z|zzyzyzyyz|{{z{{{zzzz{y{z{{{|z{{{zyzz{zzyz{zz{{{|zz{zyz{z{{z{z{z{zz{zzz|zzz{{z{|z{zzyz{zz{|{{{z{{|z{zzz{zzz{{z{{z{zzzzz{{{{zzz{{{zz{z{zzz{{z{{z{{zzyz{zzzz{z{z{{{zzzzzyyxy{zzzz{zyyzzyzyzzzz{{{zzzzxyzzzzz{zyz{{zzzyzzyzzzyzz{z{{{zzyzyzyzzyzzz{{{yyzyzy{yzz{zz{{{y{yzyzzzz{{y{z{zzzyzyyyzz{yz{{yzzzyyzzyzz{zz{zyzzzyzyzzzzz{zzzzzzzyzyyyz{zzz{{yzzzzyzyzzzz{{{y{z{zzzyzyzzzyzz{z{zzyyzzyzzxzzzzzyz{yzzzyzzzyz{{zzyzz{zzyz{zz{{{z{zzzzyz{{zz|zz{y{zyyyzy{zz{zz{z{zz{zzz{z{{|zz{{{zzz{zzzzz{z{{{{z{{zzzzzy{z{z{z|{zzzzzzzz{zzzz{{{zzzzzzzz{{{|{{{{zzz{yz{{|zz{{{{{{zzzzzzz|{{z{|{{{zzyzy{{{{{{{|{{z{zzzz|zzzz{|{{{|z{yy{z{z{{{{|{{{z{{z{{{z{z|{{{{{y{{zzzz{{{{{z{{{{zz{{zzz{|{{|{|zzz{y{{{z{z{{z|{z{yzzyz{{{{zz{{{zzzzzzzz{zz{zzz{yzzzzzyyzzzzzz{zzzxzzyzyz{{y{{{{zzyyyyzzyzzzz{{zzyzyyzzyzyzzzzzz{yyzyyzzyyzzyzzzz{zyzyzyzz{z{{zyzyyzyyzzyyzzz{zyy{zyzyzzzzyyz{{{yzzyzyzzzzy{{zzyzyzyyzxzzzzz{{zzzy|zyyyzz{yzz{{zzzzzyzyyyzzzyzzzyzzx{yzzzzz{z{{yzy{zz{yyz{{zzyzzzzzzyzzz{{z{z{z{zzzzyzyy{{{zzz{{{zy{zyzzz{zz|zzzzzzyzzzzy}{{z{zz{yyyzzzy{z{zz{{z{y{zzzyz{|zz{z{{zzzzzzzz{zz{{{{{yzzy{z{zzzz{{|{|zzzyzzzz{|{{{{|z{zz{zzzz{{zz{{|{{zz{z{{zz{|z{{{{{z{zz{zz{{z{{{||{{{{zz{z|{z{z{|{{{{z{zyzz|{{z|{{{{zzzzzzz|{{{{{|yzzzz{zz{zzz||}{zzzzzzzz{{{zzz|z{{zyzz{zz{z{{zy{zzyyzyyxzzyzzzzzyyyyyxyy{zzzz{z{yyyzzzzxzz{zzzzzzzyyyzy{zzz{xzz{zzzzyzzzzz{{yzzzyzzyyyzzzzzzzzyzzyzyz{yyyzzyzzzz{zzyyzyyzzzyyzzzyyzyyzxzyzzzyzzyyzzzxzyyyz{zzzy{zzyyzyyyyyzz{zzzyzyzzyzyzzzzyyyzyzxyyzzyy{yyy{{{zyzyyz{xz{{yzz{{zyzyzz{zzz{zz{z{z{zzzyzyzz{zyzyzzyzzyyzzz{zz{z|{{zz{{yyyyz{zzzz{zzzyzzzzz{{zzz{{{{{{zxzzzz{{z{zz{yzzzzzzy{z{{{{zzzyyzzyz{|{{{z{{zyz{y{zzz{z|{{z{{zyzzyzz{{{z{{|{z{zzz{{z{z{zz|{{{zzzz{z{{{{|{|||zz{{zzzz{z|{{z{{zzz{zyyz{{zy{{{|zzy{zzzz{{zz{{{{z{yzz{y{z{z{{zzz{zz{zzzzzzz{z{zzzzyyyyzzz{{{zzz{yxyyzyyxyy{{zzzzzyyzzxzyyzyzz{yzyyyyxzzzzzyyzz{{yyyzyyyzyzzzyy{zyzyzyzyyzyzzzzzzzzyyxzyyzzzy{y{yzzyyyzyzyzzyyyzzyzyyyzyzzyzzzzz{xzyyyxxwyzzzzzzzzyxyyyyyz{zzzzyzzzzzzyyyy{zzzy{zzyyzyxyyyzzzzzz{zyyzyyzyzzyzzzzyyzzyyzyzz{zzz{zzyyyyzzyzzz{zz{zzyzzyyyyyzz{z{{zzyyzzyyzyzzzzzz{{yyzyzyyyzz{{z{{zzy{zzyyyyz{y{z{{zyyyzzzzzz{zzzz{zyzyzzyzyz{{{{z{zz{zzzzz{zz{{{{{yz{yzzzy{{{{zz{{zz{{z{zz{|{{{{{{zz{yzz{yz{{{{z{{{zzz{{zyz||||{{{{{zzzy{{{{{{{{z{{y{zyzzyz{z{z{{{{zzz{yzzzz{{z{{|zzzzzyy{{z{z{{zz{zyyzzzzzzzzzzz{zyyyzzyyzyz{{y{zyzzyyzzyzz{zzzy{zzzzzyyyzyyzzzzz{yyyzzzyzzzyzzy{zyzzyzzyzzzzyyzzzzzxzyzyyzy{{z{{yyyyzzzyy{zyzzzzzzzyzyzyyzzzzyzyzyzyzyyyxzzzz{zzzyyxyxyyzyzzyzzzyyyxyyzyyzzz{zzzyz{zyyyyzzzzzz{{yzzx{yzxyzz{yz{zzzzyyyzyyzyyyzzzzz{zyyzyzzz{z{zzzyzz{xyy{zzzzzzzzyyyyyyzz{zzzzz{yyzzzzzzzz{zz{{{zzzyzyzyzzzz{{{zzy{yzzyyz{{zzz|{{zyzzzyz{{{{zzz{zzyz{zzzz{{{{{{zyzzy{zzz{|{{{{{{z{z{yzyz{{z{zzzz{zzy{zz{{{{z{z{|zzzzyy{z{zz{z{z{z{{{zzzz{{z{{z{{{yyzz{{y{{z{{{{{zzz{z{{z{zz{zz{{{|{y{zzzzzyz|{{zz{yyzzyzy{{zz{{z{zy{yzyzz{z{z{{zzzzyyzyzzzzzz{zzyzzyyyyyz{zyyz{zzyzyyyyyyzz{z{{{zzyyzyyxzzz{{{{zyzzyyyzzz{zzz{{zzzyyyyxyzz{zzz{{yyzyzzzyyzzz{zzzzyyzyzyyzzzxyzz{zyzzyyyxy{zzzzzzyyzyzzyyyz{zzz{zzzyyzyyyzyyx{y{yzzzxyyyyzzyyz{zzyzyzyyyyyyyzzzyzyzyyzzzy{{yzzzzzyyzyyyyzzz{z{zz{zyyy{zxz{{zzz{{{zyzyzx{{{zzzzzz{yzzzyzz{z{z{z{zzzzzyzyzzyz{|z{z{{{yzyzyz{z{z{{{z{yzz{yz{z{zz{z{zzzzzyzz{z{{{{yyyyzz{zzzz{{{{||{|xzzz{yzz{{{{{{{{{yzz{z{z{{{{{{{{{z{zzy{{z{{z{{{{{zz{{zz{y{{{z{|{{z{{yzzy{{|{{|z{{zz{zzzzzz{{z{{{{zz{zz{z{z|{{{{{y{zzyzz{z{zz{{|{{zz{zyyzz{z{{z|{zzzxzz{z{zz{{{zyyzyyyyxyyzzzzzz{zy{yzyyyzyz{z{zzzyyyzzzyzzz{{{{zzyzyzxyyyz{zyz{zzyzyyzxzzyyzzzz|zyyyyzzzzzzzzz{zzyyyyyyyzzzyy{z{zyyyyyyyzyyzzzzzzyzzyxyyxzzzzzz{yyyzyyyyzzzy{yzzzyzyyzyyzz{zzy{{yyyzzyyyyzzyzy{zxxyyyyyzzyzzzzzzzyzyyzyyzy{{yzz{zyzyzyyy{z{yzzzzzyyyzyyy{zzzzz{{yyyzyzzyz{{zzz{zzyzzzyxzzzzyz{zzzyzyzzzzzy{{{z{{zzyz{zzz{zzz{z{y{{zyyzz{{{z{{{{{zyyzzzzz{{z{z{{{zz{zyzzy{{zz{z{zzz{y{zzz{|{zz{{{zy{zy{|y{{{{{|{{{yzzzzzzz{{{{|{z|yzzyzzz{{{z{|{{{zzz{{zz{{zz{{{{zzzz{yyzz{z{{{|{zzzzzyzzzzz{y{|{zzz{z{zzz{zzzz|{{zyzzzzyzzzzzzzz{zzyzyzyzzzz{zzzzzyzzyyyy{zzz{z{yzzy{zyzzz{yzzzzyy{zzyyzx{{{{z{zzyzzyzzyz{z{{z{{zzzyyzzyzzyzz{{yzyyxyzzzzz{yyzzzyyyyzzyz{zyzzzzzyxzxyxyyyzzzz{yzzzyzxzzz{{zyyzzzyzzyyyyy{zy{z{zzzyzyyzyyzz{yzzzzzyzzzyzzz{zzz{{zyzzzzzyyzz{zzz{{zzzzzzzzz{{z{{zzyzzz{y{z{zyzz{|{zzzzyyyzz{zzz{{zzy{{zxzzzz{z{{zzzzzzzzzz{{{zzzz{zxyzzy{zzzzz{zzzzzzzzzzz{zz{z{{{y{zz{z{{z{{|{{z{{zyzzzzzz{{z{zz{{yzzzzzz{|{{{{{zzz{zyy{{zz{{||z{|zzzy{z{{{|{{{{{{{{z|z{zz|{z{{{zzz{{z{zz{z{z{z||{zzyzzzz|{{{{||{{zzzzz{z{{zz||{|{{yz{z{zz{{{{{|{y{zzyzzz{z{z{zzzzz{zzyzyz{zzz|zz{{yzzzzyzzzzz{z{{|yyyy{y{z{z{|z{zzzyyzyz{{{{yyz{zzzyyyzxzzz{zzz{zzyyzzzyzz{zz{{zzyzzzzzzzy{zzzzzzyyyyzzz{zzzzy{zzzyzyyzyzzyzzzzyzyyyyzzyz{{z{zzzzyzzyzyyzz{zz|zzzyyzyyyyzz{zz{z{{yzzzyyyzzzzzzzzzyzyzyyzzz{zz{{{zzzzzzzzzzy{z{z{{{{zzzzzzz{zzz{{zyzzzyzz{{zzy{{{{yz{zyzzzzz{{{{y{zzzyzzz{z{zz{{z{zzzzzyz{|{z{{z|zz{z{zzz{{z{{z{{zz{yzz|{{z{{z{{{zyz{zzyz{{||z{|{z{zzzzzz{{|{{{|{{zzzy{{{{{z{{|z|{zz{{z{z{|||{z{{{{{{z{{|{{{{{{{{{z{zyzz{{z{zz{|{{{zzzzyz{{{|z{|{{{zzzz{zz{{{{{{{{{{yz{zzz|{|zz{{{{zzzzzyy{z{{zzyzyyzyzxyyzyzzyzzzzzzzyyzy{{zz{zz{zzyyyyy{zzzzzzzzyzyzzyxzzzzy{{yyyxyyyzyy{zzzz{zzzzyzyzxzz{zzzzzzyzyyyxxzxzzzzzzzyxyyyyzyyz{zzzzyyyyyyyzyzzzzz{yzyzyxyxz{z{y{z{zyzyyyyyyyy{yzzzzzzyyyyyyzzzzyzyz{zyxyyzyzzzzz{z{yzzyzzyyz{zz{z{zzyzyzyzz{zz{zzz{zzzzzyzzzzz{{y{{zzyzyz{yzz{zy{|{zzyzzzz{zz{{zz|zyzzzyyyy{{{{zz{{zzxzyzzz{y{{z{zzyzyzzzzzz{{{{{zzzzz{zzzz{{z{{{|{zzzzzz{z{{{{{{{{{yyz{y{yz{{{{{{{zzzzz{z{{{{{{z{{{zz{yzzzz{z{z{{|zz{{{z{zz{|z{{{{zyzzzzzzz{zzz{|{z{{{zzzz|{z{z{{{z{zzzyzzz{{{zz{zzzzz{zzzz{z{{{{{zy{yzyzzyzzz{{zzyzyzyyyyzzzzyzz{yzyzyyzyz{{zzz{z{yzyyzzzyyzzzzz{zzzyyyyzyzz{zyz{zyzzyyzzzz{yz{y{yyyyzxyyyzzzz{{zyzzyyyzxyzzzzz{yyzyyyzzyzyzzzzz{zzyyzzyyz{zzy{{zzxyzzyyzzz{zzzzzyzyzyzyyyzzzyz{zzyzyyzzyyzzzzzzzzzzyxzyzyzzzy{z{zzy{yzzyzzzzzzzzyzzzyyzzzzzzzzz{zzyzyyzzzzzzzz{{zzyyyyz{zz{z|{z{zzzzzzyzz||{zz{zyyyyyzyzz{{zz{{{zyzzzzzzyz{{z{zzyyzzzyzzz{|z{z{{yzyzyzzzz{zzzz{{z{zzzz{yz{{{z|{{{z{{yzz{{{{{{{{}zzz{{z{{z{z{{{z{{z{zzzzz{{z{|{{{{yzzzzzz{{|{{{{z{z{yzz{z{{{{{{{|{zzzzzz{{{z{zz|{z{z{zyzzz{{{z{{{z{{zzzzzzz{{zz{zzzyz{zyz{zz{zzzzzzyxyyyyyyzyzzzzyzyyyyyyzzy{zyyyyyzxzyyz{z{{y{{zyyyzxyyx{y{zyzzyzzxyxyzyyzyyz{zzyz{yzyyyyzyyzzy{yzzyzyyy{zzzyzzzyyyyyyzyyyzzyzzzyzzyzzyyzzyyzyzzyyzyxyyyyyzyzz{zzzzyyzyzzyyyzy{{zyyzyyyzyzzzzzz{zyyyyyzyxzzzyzzzyyzzyyyxyz{yzzyzzyyyzyzyzzz{y{zzzxzzzyzyzzzzy{zzxy{yzyzzzy{{z{zzzzzyzyyzzz{{{{{zz{zzzyzz{|{zzxz|zyzzzyzz{zzzz{z{zzzzzzzyz{|zz{{zz{zzzzzyy{zz{zzz{yz{zzyyzz|{{z{z{yzzzzyz{{zz{z|{zzzyzzzzzzz{z{{{{zzzz{z{zz{z{||{{zzz{y{z|{{z{zz{{zz{zz{{zzzz{z{{{zzzzz{{|{{{z{{{{{yyzyzzz{y{{{{|{zzzy{zx{y{{{z{zz{yyzzzzzzzzzzy{zzzxzyyyz{zyzzzzzzyyzyzzz{zy{z{{zzyyyyzyyzzz{{{yzzyyzyyyzyzzyyz{zzyyyyyxz{{zyzzzyyyzyyyyyzzyy{{yyyyyzxzyzz|yzzzzyzzxyyzyzz{{zzyyzyyyzyzzyz{zyz{zzzyzyzyzyyzz{yz{{zyxyyyzzzzzzz{zzyyyzyyyyz{zzz{{yyzyyyzzyzy{zz{zzzzzyzyzzzzz{y{zyyyzzyzzyyzzzz{{yyzzyyzzzzzzz{zzzzyzzzyy{zzzzz{{yzzzzyzyzzz{z{yzzyzz{zzzz{{zzz{{zyyzyzzz{{zzzzzzzz{yz{zzzzz{{{{zzzzzyzzz{{{zyz{|zyz|zyyzzzz{{{|{{yzz{z{{|{{{{{z{zz{yyz{{z{{{{{{{{zzyz{zzz{{z{{|{{z{zzz{z{zz{z{{{zzz{y{zzz{z{{{{{zzz|{z{z{zz{{z{{zyyxzyzzy{zz{{{zz{yzzz{zz{z{{y{z{zzzyyzyz{zzzy{zyyzyzzyxy{zyyz{zyxzzyxxyzyz{zyz{zzzzyy{yyyzz{zzzzyyxzxyyzzzyyyzyyyyxxyyyzzzy{{zzyyyyxyzyz{zzzz{zzyyzyyyyzzzyz{zzyyzzyyyyzzzzzy{zyyyyzyyzyzyzzyyyyzzxyyyyzy{z{{yzzyyyy{yzyzzzyz{zyzzzzyyyyzzyzzzzzzyyyyyyzzzyzzz{zyzyyyzyzzzyzzzz{yyyzyyyzzzyyzy{zzyzzzyyzzzzz{yzzyzyyyzyz{zzzz{zyzzzyzyzzzzzz{{{yzzyyzzxzzy{zzzyzzzzyyyzzz{zzz{zzyzzzzzyzz{zzz{zyzz{zzyzz{y{z{{{z{zyzyzyzzzzz{{zzzz{zzyzz{zzz{|{zzz{{{zz{zzz{|{{{yzzzz{{{{{zzy{{{{z{zyzzz|{{|{|zyzzzzzyzz{{z{{z|{zz{zzzz{zz{z{z{{zzy{zzzzzz{z{{{zzyyyzzz{z{{{zzzzy{yyyyyzz{{{{zzyzzzzyzzzzzyzzyzyyzyyyzyyzzzzz{{{zzyyzyyzzzzzzz{zyzzyyyzzzy{yzz{zyyyyyyyyzzzz{yzyyzyzzzyzzzzyz{zzzzyyzyxyzyzyzzyzzzyyyyzzyzzy{{zyxyzyzyzyzz{zyzzxyyyyyzyxzzzzzz{zyzwxzzzxzzzyyzzzzyyzyyzyyyzzz{yyzyyyxyzzzzy{zz{zy{zyzzy{{z{zz{{yyxzzyyyzzzzz{zzzyzzzz{yzzy{zzz{zzzzyzyz{zzzzzzzyzz{zyzz{{{zy{zzz{zyzyyy{y{zz{zz{zzzyyzzz{zz{z{zzyzzzzzzxz{z{{{{zzzzzy{{z{z{{|{zzzyzyyyzzzz{zz|{{zyzzzzz{z{z{{{{{yzzzzzzy{z{{{{{{zyzzz|z{{{{{z{{{yzzzyzz{{z{{z{z{zzzz{yz{zz{{z{{|z{z{zz{|{zz{z{{{z{zzzzyz{yz{zz{zz{{z{zzz{z{{{z{zzzzzzzyzz{zzzzzzyzzzxyyzz{zz{z{yyyyzyyzzy{|zz{zyyzyzzzy{zyzzzzyzyzyyyyz{zz{yz{{zyyyyyzz{z{zzz{{yzzzzyyyzz{yz{zy{yzxzyyzzz{zzzyzyzzxyzzyzzzzzzz{yyzyzyyyz{z{yzzyzzyzyxyyzzzzzz{zzzzyyyzyzzzzyz{zyyyzz{yyzzzz{zzzzzzyzyyzzzzz{z|zyzzzyzzyzzzzzzzzzyzy{zzyyzzy{z{zzyzzyyzy{zzz{|{{z{zzyyzyzzzzz{{zzzzzzzzyyzzzzzzzzzzyz{yzzz{yz{|{{zyzy{zzy{{zyz{zz{yzzzyz|zzz{{|{z{zzzzzz{{zzz{|{zzzzzzzz{z{{{{{z{y{zzzyz{|{{{{||z{{zz{zzz|zz|{zz{z{{z{{{{{|{{{{{{z{zz{zz{{{{{{{|z{zzy{z{{|{{z{{{{{{{{zzz{zz|{z{{zzzz{{zzz{{{z|||z{{z|zzzzzz{z{{yzzzyzzzzz{{zzzzzyzyyzzyyzzzzyzzz{yzzzyyzzz{z{{z{zz{yyzyyz{yy{z{{yzyzyyyzy{{zz{{{{xzyxxzy{zzzz{zzzyyzyyyyz{{zy{{yzzzyzyyzzzzzy{z{zyyyyzyzzz{zzyz{yzzyyzzyzzyzzzzzzyzyzyy{yy{zz{z{yzzzyyyyyzz{zz{{zzzyzyyyzyyzzzzzyzzzzyxyyzyz{z{zyzyxzyyzz{y{zz{zzzyzzzzyzzzyz{{{zzz{yxzz{zz{zzz{zzzyyyzy{z{zzz{zzzzzzyzy{zyz{{{{y{zy{yzyz|{|{y{{zzzyzzyz{{{zz{zzzzzz{zy{y{{{{{{zz{zyyz{{z{z{|{{{{zzyzyzz{{{{{z{{{yzz{z{z{{{{{|{{zz{y{z{z{{{|{|z|{{{zzzz{{{z{{|{{{z{{zz{z{{{{{{|{z{{zzzzz{zzzzz{{{zzzz{{z{|zz{{|{zzzyz{zyz|yz{{{{zz{{zzzzz|{{zz{{yz{yzzyyz{zzzzz{zzyyyyzyzzzzzzz{zyyzyxyyzzzzzzz{{zzzy{yyzzzz{z{zzzzzzzyzzz{{zyz|zzzyzyzy{zyzzzzzzzyyzxzyzyzyzzzzzzyyzxyz{z{zy{zzy{zxzz{zzyz{yzz{zzyyyzyzz{{zzzzzz{zzyyyyzyzz{{zzzzzzyyzzzzz{{zzzyyzzyzzzyzzy{{zyzzzy{y{zzzz{{z{{zyzyzzzyyz{z{{z{zzzzzyzzz{{zzyz{zzzzzy{yzz{zzz{{zzzzyzyzz{zzz{{{zzyxzyzyz{zz{{zz{zy{zzzzz{z{{{|z{zyzyyzz{z{{{{{z{zzz{z{zzz{{{{{{zyzzzzzzzzz{z{{{z{yz{yzz{z{{{z{z{{zzzzz{{z{|{{|{zzzzzzzz{{{{{{{|{zzyyzzyz|||{z|{{{z{{zy{{{z|{{{zyzz{zz{zz{{|{z{{|{zxzzy{{{z|{z{{z{{zzzzz{zz{{{|{zzzyzy{z{{{{{{{zzyzzzzzz{yz{zzzyyzxxyyyyzz{z{z{{zzyyyz{yz{y{{{{{zzzyzzyyzz{z{zz{zzzzzyyyzy{zzzz{zzzxyyyyzzzyy{z{yzzyyzzyyzyz{zz{zzyyzxzyzyzzzyzzzyzyyyzyzyy{zzzzzyzyyyzzzzzz{z|yyzyzzyyzzz{z{z{{zzzzyzzyz{zzzxzzyyyyyyyyyzyzz{zz{zzzyzyxzzyyz{zzyyzyzyyz{zyz{zzzzz{yzyzzzz{{zz{zzy{zyyyzzz{zy{z{zyz{zzy{z{{{{zzzzzzzzy{zzz{z{yz{zyzyyzzzzzzzz{{z{zzyyxxzz{z{yzz{{z{zzzzzz{{z{{z{{zzzzzzy{|{{z{{|zz{yyzzzzzz{{z{{zzzzy{zz{{z{zz{||{{zzz{{zz{{{z{{zzyzzz{z{{{z{|{zzzz{zyzz{{{{{{{{{z{{yzzzz{{{z{{{z{zzzzzzz{{{{{{{zyzyzzzz{{{{z{|{{zzyzzzzzzzzz{{{{zyzzyyzzzzzzyzyyyyzyyzyzzzzzzzzzyyzzyzy{yyzzzzz{zyyyyyzzy{{zzzzzzyzyyyz{z{zyzzzz{yzzzzxzyz{zzzzzzyyyyyyy{zzzzzzzyzyzyzyzyzyyzyzyzzyyzyyzyzzzzzzyyyzzxzxyzyzzz{zzyyyyyxzzyyz{zzzzzzyxyyzzzzzzzzzzzyzzxzyyz{yyy{zzzzyzyyyzzzyzz|{zzzzzzyy{zzzyz{{zzyyzy{yz{zzyz{{zzzyzy{z{z{z{{z|zyyzyzzzz{{zzz{zzzzzyyzzzz{z{{z{zyzy{zzz{{{zzy{zzzyzzzzz{z{z{{{z{zzz|y{z{{{z|z{{zzzzzz{z{{z{{{{}z{zzyzyyz{{{{{z{{yyz{yzyz{z{{{{zzyy{{z{zzzzz{z{|z{z{y{z{{{{{{z|{zzzzzz{zzz{|{|{{{yzzzzy{{zz{{{z{{{zzz{z{z|{{{zz{zyyzzzzzzzzzy{{{zyz{zzzyz{z{zzzzyzzyyyyyzzzzzzyzzyzyyyxyyz{zzzzzzyyzzzzzzy{{{z{{zzyyyzyxz{zzzy{{zzzzyzyzzzz{zzzzzzzyyzyyyzy{zzzzzzyyzzyyyzzzzzzzzzzyyyzzzy{zzzzzyzzyzzzyyyy{yzzzxyyzyyyzzyzzyzz{yyyzyyyzyzzzzzy{yyyyzzxzzzzz{zzzyzzzzzyyzz{zyz{zzyyyyzzzz{zzz{{zyzzzyzyyyz{zzzzyzzyyzyzyzzz{{z{{{{z{zyzzyzzzz{{{yzzyyyyyz{zzzz{{zzzzzzzzzzzz{{{{zzzzyzyy{{z{{zz|zzyzzyyzz{yzz{zzyzz{{zzyz{{{zzz{{zzy{yzzz{zz{{{{{yzzzzyzzzz{z{|z{zy{zz{z|{||{{{|zzzzz{{zz{{{{zz{{zzzz{zzz||{{|{|z{zzzz{{{{{{z{z{{yz{zzzzz{{{|{{{{{z{zyzz{{z{{{{{z{zz{z{yy{zz{{|z{zz{zzyyz{{|{{zzyz{zzyyzzyzz{zzzyyyyzyzyyzyzzzzzyyyyyxxyzzzyzz{{zzyzyyyyzyyyz{{zywyyzzyvzzz{yyzyyyyyzyzyzzzyyyzzyxzxyyyyyzzzzzzyyzyxyyyyzzzyzyzyzyyyyxxyyzzzxzz{yyzyyxzyzz{yyz{zyyzxyyyyyzz{{zz{zyzyyyyyyzzzyz{zyyzzyxzxyyyyyzz{zzyyyyyyzzzyzzz{zzzyyzyyyzy{z{z{zzyyzyzyzzzyz{zzyzzzzyzy{{zz{{zzyzyyyyyyzzzzz{zzyzzzyyyzzzzzz{z{yzzyzzyyzy{zzzzzzzz{zzzzz{z{zzzz{zzyyy{y{{z{z{y{zzzyzzzzz{z{z{|{zz{zyyzyz{{z{z|zzzzyzy{yzz{{z{{{{zzzy{{z{{{{{{|{{z{zz{zz{{z|z{{{zyzzzz{y{zzzz{zz{zzzzz{yz{z{{z{{{yyz{zz|zzz{y{{{z{yzz{zzzzzzz{z{zzyzxzyzz{z{zzz{yy{{zzzyyzzzzzyzzzzzyyyyyzzzzzz{zyyyzyzyzzzzy{{zyyyyyyzzzzzyzz{{yyyyyxyyzzy{yzzzyzyzzzyyyyzzzzyzzyyyyzzxzyyyz{zyzyzzyyxxyzzyyzyyyzyyxyyz{zyyzzzzyyzzzyyzzyz{yzzyyyxyyzxyyyzzzyyzxyzyzxyyyyzzzyz{yyyyxyzxxyzzz{zzyzzyzywyzzzzzzzzyzyyyyzzzzzzzz{zyyyyzyzzy{yzzyzzyyzzzyzzzyz{zzzyyyyyzyyyzzzzz{{zzzyxyyyxzzz{{zz{zyyyyzz{{z{yy{{{zzyzyyyz{{{{zzzzyzzyzzzzzz{{{z|{zzzyzz{zzz{z{{{{zzzyzyyzz{{{|{{zzy{zyyyz{{zzz{|{zzzz{z{yy{{{z|{{zzyz{{zzzzz{{{|{{yz{zyzyz{{{{{{zzyzzz{zzzyzzzz||zz{zzyyz{z{zz{{z{zyyzyyz{{{zzz{{zzzzzzzz{zzzzzzzzzzzzyzy{zzzyzzzzyxyzxzyyzzzzy{{yzyzzyyzyzyzz{zzzzzxyyxyyyzy{zzzzzzzxyyzzz{{zzzzzzyyzyxy{y{zyyz{yyzxyyyzyzzy{zz{yxyzzyyxzzzyyzyyzyzxyyyxz|z{z{zzyyyxxyzy{yz{yyzzzyzzyyyyyzzyzzzzzyyyyxyyzyzzzzzzzyyxyyyxyzyzzyx{yzyxyyxyyzz{z{z{yyyzyzzyyzy{{z{zzyyz{yzyyzyzzzzzzyyyyyyyzzzzzz{zyyzyzzzzzz{{z{{zzzyyyyzzzzz{zzyzzzyzzyyz{yzzyzzzyyzzzyzzzzzzzzyzzyzzzzzyzzz{z{zzzzyzzyzzz{{{z{{{yy{{zzyzz{{{y{{zzyyzzzzz{{{{zz{{zyzzzz{zzy|z{{|{{z{zzzz{z{zzz||z{yz{zyzzz{{z{{{{{{{z{zzzzy{zzz{{{{zyzyzzz{{z{z{{zzyyzzzy{{zz{{{z{zz{zyyz{{z{z{{zzzzzzyyxyy{yzzyyxzzyyyzxyzzzyzyzyyzyyyxy{zyzyzzzxzyyywxyzzzzzzzzzzzzyzyyyz{{yz{{zzxyzyyzyz{zzzzzzyzyxzyyzy{yzzzyzyzyyyyyzyzyyzzzxzyyzyyyxyzzzyyyyyzyxyyxyzyyxzzyyyyzzyyyzy{z{yzzyzzzyzxxyyzyzz{zzyzyzyyyyzyzz{{{zyzyyyzyxzz{zzy{yyzyzzyyzz{zyz{{zzyyyyyyzzzzyzzzzyz{yxyx{{zzzz{zyyzyyyyzzzzzzz{zzzzzzyzyz{{{zz{zzyzyyzzyz{z{z{{zzyzyzyzzz{z{zz{{zzzzzzzzzz{zz{zzzzzyzy{z{zz{z{{{yyzzzzzyz{{z{{{{zyzzzx{{z{{zz{{{zyzz{z{zzzz{{{y{zzzzyyzzz|z{z{{{{y{zzyz{{{z{{z{{zzzyzzyz|{{z{{{{zzyzzzz{{zzz{z{{zzzxzzzzzz{zzzzzz{z{zzzyz{z{{zz{yzzyyyyyzzzzz{zz{zyyxyxyzzzzzzz{zyyyyxzyzzzyy{{zzzzyyzzxzzzzz{zzzyzzyyzyzzyyzz{zzxyzyyxxyyyzz{z{zyzxyzzyyy{zz{zzzyzyyyyzzzz{zzz{yyzyyyyyyyy{y{{zyzyyyzyxzzzyzy{yyzyyxyxxzyzzzyzzzzyyzyzyzzzyyy{zzyyzzxyyyzzyzz|zyzzzyxyyz{yyzzzzyyzzyyzzz{{zzzz{zyyzzxzzzzzyz{zyzxzyyxzyyzzz{{zzyzzyyyxzzz{zz{zzzyzyzxyyzz{zz{{yyzyyzyzyzzz{{z{{zzzzyy{z{{zzyz{zzzzyyzzzzzz{z{z{{{zzzyzzz{{{zz{{{yzzzzzzz{{{zz{z{yzz{yzz{|{{|{{{z{zzyz{zz{{zzz{{{zzzz{zyz{{{{z|{yz{zzyzz{zyzz{{z{yyzzyz{y{{{{{z{{z{zzz{{{{z{zz{{z{{yyz{z{{z{{{z{yz{zzzzyzzz{z{{zzzzyzyyyz{zzzzzzyyxyyyyxzzzzz{zzzzyyyxyyzzzzyz{{zzzyyzzy{|yzzz{yyyyxxyxxzzyyyy{yyzzyyxyyzzyy{{zzyxyxxyyzz{yyzz{zzzzyzzzzyzzyzzzyyyxyyzyyyyyzzzzzzyyxxxyxzzzyzzzzyxzzyyyzyzzyz{zzyzzzyyyyyzyzzzzzyzzzyyyyyzzzyzyzyzzyzyzyyzyzy{zzzzyzyzyyz{yzz{zzzyyyyyyyzz{y{z{{zxyzyyzzz{yz{zyzyzzyyyzzzzz{yzz{{yzzyyzzzzzz{{zzzzzyyyzzzz{{zzz{y{yzzyzzzzz{z{{zzzxzzzyyzz{{{zz{y{zz{zyz{zz{z{z{yxyz{zyzz{{{{{|z{yzyz{zz{{z{{{{{zyz{y{y{z{|zz{{{{zz{yzzyz{{z|{z{zzzzzzzy{zzz{zz{zyyyzyyzzzzzz{z{{zzzzzyz{{{{{{zz{{yzzy{zz{zz{{{{{zzyzyyzzz{{z{{zz{{yzyzyz{z{{{{zyzzyzyzx{zyyyzyz{yyzzxyzy{zzzz{{zzyyyzyzzzy{z{zzzyzxzyzyyzzzzz{{zyyzyzyyzzzyz{zzyxzyyyyyzyy{y{{yzzzzzzzyzzzyz{zzyzyyyyzyzzyz{zzzyyyyyyyzzzzzyzz{zyzzyzyyz{zyzzz{z{yzyyyzyyyzzzz{zyyyzyyxyyzyzyzzyyyyzyy{zzzzz{zzzyyyyzzyzzzzzzz{zyzzzzyzz{{zyy{|{z{zyyyyzyzyzzz{yy{zyyyy{z{z{z{zzzzyyzz{zzz{yzzzyzyyzyzz{{{zzz{zzyz{zyzz{{zzz{zzyzyyyzzzz{{{{{||{z{zzzzz{zzzz{{{zyz{zy{{z{{zy{{zzzzzzz{{{|{{zz{|{{{zz{{|z{z{{{{{|zzzz{z{zz{{|z{z{yyy{zyz{{z{{{{{{zzzzzzz{zz{zz||zzz{{{{{{{z{{z{zzyzzzzyzzz|zz{{{zyxzyzzyy{{{zz{z{yzyyyzyz{{zzzz{yzyyyyxyy{{yzzz{yxxzxyzzzzzzyz{zzzyyyzyyzyyzz{{{zzyzyyyyyzzzyy{yzzzxyxyxyyzzzzyzyzyxyzyyyyyyzzy{yyyyzzyyzz{y{z{yzyyyyzzyzzyzzzzzyyyyyzyyzzzzyzzzzxyyyzyyzzy{zyzzyzzyyzyyyzzzyzz{yyyzzyyxzzzyyzzzyzxzyxxyzzzyy{yyyyzyzyyyz{zzz{zzyyyzyxyyzzzy{z{zzzzyyz{yz{zyyy{{zzzyzy{zzyzzzy{{zyzyyyyy{zzz{z{zzzyzzzyz{{z{{yz{zxzzyzzz{{z{zzzzz{zyzyy{zzz{z{{{yzzzyzzzz{{zz{z{zyzyzyyyzzzz{{z{{yzyzzzz{z|{zz{zzzzzz{zzz|{{|{{{{yzzy{zzz{{z{{z{zzzz{zyzy|z{z{{{zzz{zyzzzzz{z{|z{{yz{y{{{{z{z{z{{zzyzz{y{zz{z{{zzzyyzzyzz{z{z{{{yy{zzzyyzz|{y{zzzyyzzyzyy{zzyzzzyzxyyzyyzzz{zzz{zyzyyyzxzzy{{z{zzzzzyzyzzyy{zzzzyzzzyyxxyz{yzzzz{yzyyxzyyzzzzz{{zzzyzzyyz{zzzyzzyzyyyyyyyzzzyz{{zyyyyyyy{{zyyz{{zyzyyyyyzzyzzz{{zyzyyyyzyzzzzy{{zxzyzyyyy{yz{|zzzzzyyyzyzzzzzz{zyyyyyzyyzyzzzyzzzyzyzyzzz{zzzz{{zyzzxyzyyzzzy{zzyy{zzxzx{zzzz{{zzyzxzzzzz{{zz{z{zzyzzz{z{{{zzz{zzyyzzyzz{z{zzz{zzyzz{zyz{{z{{zz{zzzzzz{zzzz{{{|{yyzzyyzzz|{{z{{{{zzzzyz{z{{z{{{z{zzyz{yzzzz{{{{z{zzz{zyzz{{{{z{{{z{zzyz{{z{z{|{z{y{yzzz{zz|{z{zzzzzyzyzzzzz{z|{{z{yzzyzyyzzz{zzz{yyzzzzyzzz{y{{zzzzyyyyyzzzzzzzzzyyyyyyyzz{zzzy{yyxxyyyyyyy{zzyzyyzyyyyyzyz{{z{yzzyxyyyzyz{zyy{{{yyzxyyxyyzzyzyz{yxyyyyyyzzyzzzzzzzyzyyyzzzzzzzzyyzyyxxyyzyzzzzzyyxyyxyxzyzzyzzyyyzxyyzyzzyy{z{yyzyyxyyyyzz{zzzyzxyyyyyyyyzyzzzzyzzyyyyyyyzzy{zzyxzyyyyxyzzzyzzzzyyyyzyyyzyzyz{zzyyyzyzy{zzzzzz{xxzzyyzz{z{zzz{zzyyyyzyyyy{yy{zzzyyzzzzyyzzzz{}z{yz{zzyzzz{zyz{zzzzy{zyyzz{{{zzzyzzzzzzzz{z{z{{zzzy{zyyyzz{zzy{zzyzyzyyy|{{{{z{{zzzy{{zzyzzz{{{{{zzyy{z{z{{{{{{{zyzzzzzzzz{zzzz{{{zzyy{zzzz{{z|{y{zz{zzy{zz{z{{z{yzz{zyzz{{{z{{{zzxzyyyyz{{zz{zzyyyyyyzxzzzzzy{zyyyzyyyyyzzyzz{{yyyxyzyzzzyy{z{zyzzyzyzyz{zzz{{{zzyyzyxxyzzzzzz{zzzzyyyzzzzzyz{{{yyyyxyy{zzyz{zzyzyyyyyyyzzzzzzzyxyzxyyz{{zzzyzzyzyyzyyyyzzzyyzzzyxyyzyyzy{yzzzzzyzyxyxyyyzyyzzyzyyyzzyzyzzyyzzyyyyyzyyyyyyyy{z{yxyzzzyyyyzzy{z{yyyyzzzzzz{z{z{zzyzyyyzyzzzzz{{{yzyzyyyzz{y{{zzz{zzyyyyzzzzzz|zzzzzzzzzx{zzz{z|zzyzy{yyz{{z{z{z{zy{z{yyzyzzz{{{{yzzzzzzzz{zzz{|{zyyzyzzz{{{z{{zz{yzzzzzx{z{{z|{zzzzyyzzz{{{{z{{zzy{zyzzzz{{{z{z{{zz{{{zz{{zz{|{{zyz{{zyzzy{{{{z|zz{{{zyzzz{{{{z|zzzzzz{zy{zzz{{{{zyzz{yyzzz|z{{{zzzyyzzxzz{zzzxzyyyyxyyyyyzyzzzzyzzyyxyxyzzzz{zzzzzxyyyyyyyyy{{zzyzyyyyyyzzzyyzyyxzyyyzyzyzyzzz{zzyyyxyxyzzzyzyyzyyyyyyxzyzzx{zyyyxyxyyyzyzzyzzzyzzyyyyzzz{zzyzzzzyzyzxyyyzy{zzzyyzyyyyyyzyyzy{zzyxzyyyyyzzyzzy{zzyyyyzyyyzyzyzzzyyyzyyyzzzzzy{zyyzyzxyzzyzyyzz{zyyzyyzxyzyzzyzzzzzzzyyyyy{yzzz{zyzyzyzyyzzyyzzzzzyyyyxyyzzz{z{{yzzyzyzyzz{zzzzzzzzzyyyzzzzz{zzyzyyzzzzzzzzzz{zzzyy{zzyz{{{{zzz{{yyzzzyzz{{zz{{zzyzzyzz{z{z{{{{{{zzx{zzz{{{zzz{{zyyyyzyz{zzzyzzzzyzzyzyzzz{z{{yzzzyzzyzyz{{{zz{{zzzyz{yzz{z{z{{zzzyzzyyyzy{{{zzyyyyyyzyzzyzyzzyxyyywyyyyyzzzyyzzzzyyzyyzyzzzzzz{zyyxxzyyyyyy{zzzzyzzzyyyyzzzzzzzzzzywzyyyzzzz{z{yyzyyzyxzyzyyzyz{yyyzyxyzzzzyyzyyyyzzzyzzzyzzyzyxyxzxyxyzzyyz{zzzzyyxxyyzyzzzz{zyyzyxyyxyzyzzzzyyyyyyyzyxyzyzyxyzzzyyyyyxzzzzzyzxyyyyyyxzzzxzzzzzyzyzyzyz{zzzyz{zyy{zxzyyyzzzzzzzyzyyyyzzyzzz{{yyz{yyyyyyzzz{{{zyyzzy{yyzz{zzzzzzyyyyyyzzz{{{yzzz{zzyzzz{{zz{zz{z{xzyzzzyzzz{{{{zyzzzzzyz{z{{{{{{zzzzzyy{{zz{z{{zyyyzzz{z{zzz{{{{yzzz{yzz{{{{{|{zy{zzzzy{zzzzz{{zyzzzzyzzzyzzz{zyzz{zzzzzzzzz{z{yzzzzzzy{zzzz{{{{yyyyyzyz{zzzz{zyzzy{zyyzy{{zzyyyxyxyxzyyzzy{yzyzzzzyxyyzyz{yzzyzyzyzyyyyyyzzzyzzxyxyzyxzzyyzyzzyyxzxyxzyzzzy{zzyyzyyyzyyyz{zzzzyzxyyyyyyz{yzz{zyyzyzyyyzzzzyzyzxyxyyyzyzyyzzzzzyyyyxyxvzzzzzzyzyyzyyzzx{yyzzzzzy{zyyyyzxyzyyyzyzyyyyzyyyzzzy{{{yyzzzzxyz{yyzzzyyyyyzx{zzz{yyz{{zyzzyzzy{zz{z{z{zzzyyxzzyz{yzzzz{zzzzzyyz{{zyzzzzzyzzzzyyz{yzz{zzyyzyzyyyzzzzz{zzzyzzzzy{z{z{zz{yyzzzzzz{zy{z{|{zzzyzzyyz{{zzz|{zzzzzyyz{z{z{{z{{yzzzzzzz{{z{z{|zz{yzzyzz{y{{{{{zzzzzzz{{zy{{{z{{yyzzzzzzzz{z{{{zzz{zzzz{yz{z{zzz{yyyzyzzzzzz{{{zzyzzzzzzyz|zz{zzyzyyyyyz{zz{zz{zyzyyyyyyzzzzzzzyyyyzyzyzzzzzzz{zzzzzy{x{zz{z{zzzxyzzyyyyzzyyz{yzzyxzzyyzzzzzz{zzzyyzyyyyzyzz{zy{yyyzyyyzzzyz{zzzyyzyzxyyyyzyzzzzzzyyyyyzyzyzyzzzyyyyyyyyzzyyzzzzzzzyxzyyzyzyyyzzzzyyzzyzzzzyzyzyzyyyyzyzyzz{{zzzzzyzzyyzyzz{z{zyzzyyyyyzzy{zzzzyzzzyzzzzzy{z{z{zyyyzz{yz{{z{zz{zzzzzyyyzzy{z{z{zzyzzzyyy{{yyz{zz{zyzzyzy{zzz{zzzzzzzyzzz{{{{zz{zzzyyzyyzzz{zz{{{yzz{zyy{{z{zz|zzyzzzzzz{z|{{z{{zzzzzz{{z{{z{z{{{{zzzz{zzzz{{||{zzzzzz{zz{|z{{{zzz{{{zzz{{zz{||{zzzzzzzz{zz{{z|{{zzyz{{y{zz{{{|{zzzzzyyyzz{z{{{z{zzzzyyxyyz{zzyyzzyyyyzz{zyzzy{zyzzyzyyyzyzz{z{{yyyxyzzxyzz{{zz{zyzyyyyyyzzzz{zz{yzzyzzyyz{zzzzzzyyyzyzyz{zzzzzyzyyzyyzyzzzzz{zzzyzzyyyzyz{zyyzzyyzzyyyzzzz{{zzzyzyyyyzzyzzzyzzzzy{zzzyy{z{{{zzzyy{zzyzyyzzyzzzzzzyyyzyyxzzzyzzzyy{{yzyy{zzzz{{{{zzzyyzzzzzzzzz{{yzzyz{{zzz{z{z{zyzzzyyyzzz{zzzzzyzz{yy{zzzz{z{zzyzz{zyy{zz{z{{zzzyz{xzz{{zzzyzzzz{{zyyy{z{{|z{{xz{zyz{zz|{{z{{|{yzzzy{z{z{zz}{{{zzyzzzyz{{{{{{{zzzzzzzz{z{{{|{{{{z{z{zzz{zz||{|{{zz{z{z{{{{{|{{{zzzzz{{zzz|zz||{zzzzzz{{{{{{{zzz{z{z{zzz|{{{|{{z{yzz{yzz{{z{z{{{zzzyz{yzz{{z{{zyzyyyzzyyzzyyzzzyzyzyyyyzzz{z{zzzzxyzxzyzyyzzz{zzy{xyyyzyyzyyyzzzzyyxxxxz{zyzzyzyyzyyyzyyyzzyz{zyyzyyyyyzzzzz{zzyyyxxzyyyyzzzyzzzyyyyxyzyyzzzzzyzzyyyzxzzzzzzzzzzzyzyxxyzzz{yzzzzzyyzyyxyzyxzzyyzxzyyyyyyzzzzzzzyxzyyyyzzzz{z{z{zyyyyyyz{z{zzyz{zzzxyyyzzyz{{y{{zyzzyyyy{{zz{zz{zzyyzyzyyzzzz{{zzyzyzzyyzyzzz{{{zyzyzyyzyzzzz{zzzz{zzyyzzzz|zz{zyzzzzzyzzzzzz{{{{yzzzyzz{{y{z{{zzyyyyzz{{{zz{z{{zyzyzzzzz{{z{{{{zzzzz{z{z|z{{zzz{z{z{zzyzz{{{{{{zzz{z{zy{{{{z{{{z{{zy{zzzyz{zzz{zzyyzz{zz{{{z{{{{z{zyzzzz{{{zz{zzzyyyyyyzzz{y{z{zzyyyyzxy{zzyyzzyzyzxzyzyyzzzzz{zzzyxzyzzzzzyz{zzyyzzzzyyyyzzzzzzyzxyxyyzzzyyyzzyyzxyyyyzzzzy{{{zxzyxyxyzz|zzz{zyyzyyzyyyyz{zzzyyxyyzyy{yyyyz{zzzyzyyzxyzyzzzzzzyzzzyzyyyyyz{y{{zyzzzyyyyzzzzzyzzyyyzzyzzyyzz{zzyyzyzzyyzzzz{{{z{zzyzzzyz{{zzz{{zxy{zzxzzzz{z{{zzyyzzyz{{{z{y{z{yyzyzzyzz{zzzzz{{yzzzyzzz{{zzz{yzyxzyyyzz{zz{{zz{zyzzzzzzyz{{{{|zzzzz{z{{zzzz{{{zyzyzyzyz{|{{{|zyzzyzz{y{|{zz{{{zz{{{{{{z{{z{{{{|z{zz{zzz|{z{z{{zzzzzzz{zz{z||{zyzzzzzzzz{z{|z{{{yz{z{{{{{z{z{{{zzzzzzzyzz{zz{|{{zyz{zzzyz{zzz{zzzzzyz{y{z{zzzzzzyxyyxyzyzzzzxzzxxyyzyxyyzzzz{zzzzyzxzxzzxzx{z{{zxzyyyyyyzyyyz{zzyzyxyyx{zzzzy{{yxzyyyyyyzyzzzyzzyzyyxyyzyzzyzzzyyyyyyyyzzyzyyzyyyyxyyzyzzzzzyzyyyyyyyyyyy{yzzzzzyyyyzyyzzyzzzz{zzzyyxxyyzyzyyzz{zyyzxyyyzzxzzzzzyyyyzy{zzzzzz{{zyyz{yyyyzzzzzzzzyzyzxyzzyzzyyzzyyzyyyyz{zyyzy{{zyyyyyzxzz{{zz{zzzyyyyyxyz{yzzzzzyzzyyyyy{zzzzzz{zyyyz{zy{{zzzzzzyzzzy{{{z{{z{z{zz{zyzzzz{{{zz{{zyyzzzyz{{{z|{z|zz{zyz{zyzz{{|{z{z{zzyzyz{z{z{z{{zyz{yy{z{{zz{{|{zyzzzzzzzz{zz{zzzzyzzzzzzy|{{zzzyzzzyzz{zzzzzz{zyyzzyyzz{|{zy{{zz{y{zzyzz{yzzzzyyyzyyyxyzyyy{zzzyyywyyyyy{yzz{{zyyyyyyxzyyzy{{zyzzzzyxyzzzzy{yzzyyxxyyzz{yyyzyzyyzyyyyxyzzzy{zzzyyzyxzyyyzyyzyyyyyyyzyyzzyzzzzzzyxzyyyyzzy{zzzyzyyyyyxyyyzzyzzyyzzyyyxyzzzzxzzzyyyyzyyyzzxzzzyyyzyyyzyxzzzyx{zzyyzzxyyxyyzyyzyzzyxzyyyyyzzyzzyzyyzzzzyyyzzzzzz{yyyyyzyxyzzy{zzzzyzzzyzyy{zzzzzzyzyzyyzyzzzz{z{zyyzzzz{zzz{zz{zzyyyzyyzzyz{zz|z{zyyyzzyyz{zzz{{{zzzzzyyz{{|yzz{{{z{yzyzz{zz{{{{{z{zyyzzzzz{zzz{{zzzzzz{zz{y{zz{{zzyzzzzzz{{z{{zz{zzzzzyzzz{{{zzz{{zz{{yzz{{|{{zzzyyzzyzyy{{zz{{{zyzzzyyyy{{{zz{zzyzyyyzyzzzzyzyzyyyyzzyyzzyyyyzzyyyxyzxyzzzzyz|{{yyyyyzx{yzyy{{{yyyyyyzyyz{yzzz{yyyxxzyyzyzzyzyzzxyxyzyyyz{zz{zyzyyyyyyy{y{zzzyzzzxyyyzyyyzyyzyzyyyzzzyyzzz{zzyxyyyyyyyzzzzyzz{y{yzyxyyxzxzzzz{zyyyyyzyxyxyzzzzyyyyyyyyyzzyyzzz{yyyyzyzxz{yzyzz{zzzyyyxyzzz{yy{{zzzyyyyzy{yzyzzzzzzyyyyyzzzzzzzz{zzyzyyyyzz{zzzzyyzzzyyzzzzzyz{zzyzzzzzy{{zzzzzzzzyyyzzzz{{{{{{{zzzyyyzy|{{{{zzzzyz{zyy{{{{{z{{zzzyzyyzz{{zz{z|zyzyzz{zzz{{{y{z{{yyzzzzz{{{zz{{z{zxzyzzz{zzzz{{zyzzzzzyz{{{z{{{|{zzzzzzzzzzzz|z{zyzzy{yyyz{z{|zzz{zyy{yzz{z{{z{zz{zy{zzzyz{zzzyzyzyyxyzxzzzzyzzzyzxzyyyyzyzyzzz{yyyxyzzxzzzyzy{zyxzyyyxyyzy{yz|zyyzyyyyxyzzyz{zzzyyyyyyxyzyyyzzzzyzyzzyyyzzyyyyzxyzxzyyyyyzzyzzzyxyzyyyyzzyzyzyzyzyyyyxyzyzzzy{zyzyzyyyyxzy{zyzyzyyyyxyyzzyyyzzzyyyxxyyyyzzzz{zzzyzyyzyzzyzz{z{zyyzzyzyyzz{yzzzz{yzzyyzzzzzz{z{zyy{yxyzyzyzyz{zzzzzzyyzyyzz{z{zzyyyzyyyzzzz{z{zzzyzzyyzzyzyzzzz{zyyzyzzyyz{{{z{{zzzz{yzz{zz{z{{zyyzzyzyzzz{z{zzz{zzz{z{z{{{{{{z{zzyzyzzzz{zz{{z{{zyzzzy{z{{zz{{zzzzz{yzyz{{{z{z{zyzyyyzzzz{z||{|z{{z{zzzz{{{{z{|z{x{zzyy{zz{{{{zzzzyzyyy{z{z{z{yzyyzyyzxzz{zzzyzxxzyyyyxyyzzzz{zyzyzxyzyzyyyy{z{|yyyyzyyzyzz{yz{zy{yyyxyyyzzyy{zyy{yyyyxyyzzzzzzyxyyyyyyzyzxyzyzyxyyzyyyzxzzy{yzyzyyyyyxzyyzyyyyyyxyxyxzyyzzzzz{yzyzyyxyy{zzzyyzyyzyyzyxzzzzzzyzyzzyyyyyyzzzyzzyxzyyyyyyy{yzz{zzyxyyyyyyyzzyzzzyyyyyzyyyyzzyzy{yzyzzyxzzyz{{yzyzzyyyyyzyz{zyz{z{z{yyzxzzzzyzyzzyzyyzxyyx{zyzzzzzzzyyzyyzzzzzzzzzzzzyzyzz{{{{z{{zzyyyzzzz{|z{y{z|zyzzxxzyzz{z|z{zyyzz{yzz{{{zz{zz{zzzyzzzzzy{yzz|{yzzy{y{{{{{z{{{zzz{zyyzz{{|zzzzzzz{zzy{{zyzz{{zzyzy{zz{z{|{{z{{{zzy{yyzz|yzzz{|zzzxzy{yzzzy{z{z{zyyzzzyzyzzz{yzzyyyxyzxyzzyzy{zyyyxyyzzzzzzzzzzzyyyyyyyyzzyx{{yyyyzyyyyy{yyzzz{yzxyyyyyzyyzzy{zyyyyyyzyyzyyx{yzzzzyyzyyzz{zzyzzyyyyyzyyyzz{z{zzyyzyyyyyzzzzz{zyzyyzyyxyyyzzzyzyzyyyyyyyz{zzzy{zzyzyzyzxyyyzyz{zzyyxyyzyyzzzzzyyyzyyyyzxzzz{zyzy{zyyyyyyzzzz{{zzyyzzyzyyyyyzzzz{zy{yxzzzzzyz{z{zyyyyyyzyyzzz{{zzyyzzzyyyz{zzzzzzyzyzzzzzzz{zzzzyzzyzzzyyzzzzzzzzyyzyyyzz{y{|{{|{yyy{zyzxyz{z{z{{zzyzzzyy{|zz{{z|z{zz{zzzz{z{{{{{zyzyzzzz{z|{z{zz{z{zzzzz{{zz{z{z|y{{zzy{{{zzz{z{zzyz{yzz{yz{zzzzy{yyyyy{y{zz{z{{{y{{yzzzy{z{z{{{zzzyzzyyzzzzzzzzxzzyyzxwzyyzy{zzyyyyzyyzzy{zyzzzyzzyyzyyzzzzzz{{yzzzyxxyzz{yzzz{zzyyxyzyzzyzzzzyyyxyzzzyy{zyzzzzyyyyyyyy{zzyzz{zyyyyyxyyzyzyyyzzzyyyyyyyzzzzzz{zzyyzyxxyyyzzzyyzzyzzyxyyzzyzzzzzyzyzzxywyy{zyzyzzyzyzyyyx{zxzzzzyyyyxzxxzzzzzzz{zyyzzxyyyyzyzzzzyzzyzyyzzz{zy{yzyy{yyyxyzzzz{zz{zyyyyyyyyzzzzyzzzzzyyyyyz{zzyz{zyyzyyyyyzzzzz{{zyzzyyzyy{{z{z{{yyzyyzz{y{zzzz{{{zyzzyyyy{{{{z{yzzzyyyyzz{{zzzz{{zzzzzzzyyzzz{z{{{zzzzyzz{zz{{{z{{zzz{zzzzzz{{y{{{yzzzz{zz{{z{{{|{zzyzyzz{zz{{{{{zzzyzzy{z{zy{{{{zzzzyyyyzz{zzz|yzzyzyyzyyzzzzzy{yzzzyyzzzzzy{y{zyzzyyyzyyzyz{y{{zyyxyyzyzyyzyzzzzzzyyzzzzzzzzzzzyyzyyyyyyyzzzzyzyyzyyyyxyz{zzzzzyzxyzzyxz{yyyzzzzz{zyyyyyzyyyzyyxyxxxzxyzyzzzzyyyyxzxyxyyzy{zzyzyzzzyyyz{zz{yyz{zyyyyyzyyz{yzzzyyxzyyyywz{yzz{zzzyyzyzzx{zzz{zyzzzzzyzzy{zzzzzzzzyzzyyzz{{zzz{zzzzyxyzyzzzz{zzzzz{yyyyzzzzzzzyzzyzzyyxyzzzz{zzzzzzzzyzyz{zzzzzz{zyyzzyzzzz{zz{z{yzyzz{zzzzzzz|{{zyyz{yz{{{z{{z{z{zzz{yzz{{{{|{{{yzzzz{{{z|{{|}|{{zzyzzz{z{y{{{{{{{zzzzyz|{zz{{{zzzzy{yzzz{{z{{{|zzz{yzzzzzzzz{{|z{{zzzyyzzzzzzz{zzzzzyyzzzzzzzzzyzzyyzyxzzzyzz{zxzzyyyyzzz{yyyzzyzyyyyxyzzzyyzzzzyzyyyyzzy{yzzzzzyyzyyyyxzzyyzz{zzxyxxyxzzzzzyz|zxyxxyzyyzzzyzzyzyyyzyyyyzyyxzzyyzzyzyzyzzyzzyzzzyxyyzyyyzyzzzzz{yzxxyyyzzzyzzzzzzzyyyyzyyzzzzz{yyyzzyyxyzyyzzzzxyyyyzyzyzyzyy{zyy{yzyyyz{zzz{z{zzyyzzzyzzzzzzzyzzzyyyzzyzyzyzz{{yzyzzzzz{zz{zzz{xzyzyxyz{zzzyzyzyzzyzzyz{{yyz{zzyx{yyyyzzzzzz{yzyxzyyzzzzy{zz{zyzxzy{yyz{z{zz{z{z{zyyxyz{{zzz|z{xyzyzzy{zy{{zz{zy{zzyzzyzzz{z|z{yzyyzz{z|z{{{{{{z{zzzzz{{|{zz|z{zy{yzzz{z{y{z{z{zzzzzyy{{z{zzzzzzzzyzzy{{{z{z{{zyyzzyzyz{|{z{z{yzyyyyzyy{zz{yzyyzyzyzyyzyyzzy{zyyyyyyyyyyzzzz{zzzyxxxyxzzzz{{zzyz{xzyxyyzzzyzzzzzzyxyyyzzzzzzzyzxyyzzxxzzyyzzzyyyyyzxzzzyzyyyzyyyyyzyxyzzzyyy{zxyxyzxyyxyzzy{zyzyyxyyyyzzz{zzzzzyyyyxyyzyyzzyy{zyyyxxzzyyyzzzx{zyzyyyyxyzyyyzyzxyyyzyzyzyzzyzzzyzzyyyzyzzzzyzzzyyyyyyzzyzzyy{zzxyzxxzyyyzz{{zzzyxyyyzyy{{zzxzzzzyyzyxzxyz{zzzzzzyyyzyzyy|zyzzz{zzyzyzzzyzy{z{{zyzzyyyzzz{z{z{{zzzzz{xyz{{zzz{{{zyyzzyz{y{zzzzz{zzyzz{z{zzz{{{z{zy{zyzzzz{{zz{{z{zzz{zyzz{z{{{z|{yzzzzyzzz{zzz|{zzzyzzyzz{zz{{z{zzyzzyzzzzzz{z{{zzzzyxyyy{yzz|zyzzyzzyzyzz{yz{z{yz{yyyyxyyzz{yzzyyyyyyyyzzzzyzzzzzxxyyyyz{zyzzzzzyyzyyyyzzzzyz{zzzzyyyyy{zzyzzy{zyyyyxyzyyzyzzzyyyzzzyyyyzyyyyyzyyyyyzyyzyyyyzzzyzxyyyyyzyyzy{zyzyyzyyyyyzzzz{zzzyzzxyyy{yzzzzyzzzzyzxyxyzzyzyzyzyzxzzxyyzzyyzzzyyyyyzyyzzyyzzzyyyzyyyyy{zzyzzz{zzyyyzyy{yzzzzzzyzzyyzzyzyzyzzzzzzzzzzyzzy{zzzzzzyzzyyyyyz{zzzz{yzyzzzyzz{z{{{z{zzyzy{zz{z{{{{z{zzzzyz{zz{zzz{{zzzzzzzzy{zy{zz{zzzyzzz{zz{{{zz{z{{yzz{z{z{zz{{zz|yyzzzzzz|y{{z{zzzz{yzzzz{{{zz{z{yyyyzzyzzz{{{zz{zyzzzyz{z{{{{{{z{yyyzyzz{zzzz{{zzyzzy{yzzzzyzz{y{zzzyyyzz{yzzz{yzyyyxxxyzzzyzzyzyyzxzzyz{y{zzzzzyzyyyzyz{{zzzzzzyzyyyyyyyzzzz|zyyyyyyzxzyzzyzzzyyyxyyyyzzzzzzzyyyzyyyxyzyzxx{zzzxzyyxxyzyy{y{z{yxyyxyyxzzyyyzzzyyyzyyyyzyzyzz{zzzyyyzyyzzzyzzz{yyyyzyyyzyzyyzzyyywzxxyyyyyzzzzzzyyzyyyyzz{zzzzyzyzyzy{yyzzzzzzzyy{zyyyzzzzzyzzzyyzyxyxy{yz{zzzzzyzzzyyxyzzzzzxy{yzyyy{{zz{zzz{z{yzzzyyzzzyz{zz{zzzy{zzzzz{zz{{{yzzzyz|yzzzzy{{|yzz{{zy{{{{y{{{zzyzzyzyyz{{{{z{zzy{zzzz{z{zz{{z{{{{yyzzzz|zzz{{{zyzzzyzzzz{zz{{zzzy{zzzzz{zz{{{zzzzz{yy{z{z{{|{{zzzy{{zzz{zzzz{{{{zyzyzy{{zzzzyzzxzyzzyyy{zz{zz{yyyyyyyzyzzy{zyzyyyyyyzyyzz{yzzzzzxyyzyyzyzzy{zzzyyyzyzyxz{zzyzyzzzxyyzyzy{z{zzzyzzyyyyyzzzyz{zzyy{xyyyyzz{zzyyzyyyzzyxzzyzyzzzzyyyyzyxyzzzzzzzz{zyyyxxzyzzyzyyzzzyxxzzyyzzzzz{zyyzzyyyyxz{xzzzyyzzyzywxyzzzzz{zzxzyzyyyzzyyzzzzzyyyyyzz{zyyzzz{zyzzzxyzzyzyzzy{yyzyxyyyzzzyzz{{zzzzzyzzz{{z{{zz{zyzyzyzzz{zzz{zyzyxzyzzyzzzyzzzzzxzzzzzzz|{{{{{yzy|zy{z{{{|{{|zyzzzy{zzzz{z{z{{{zzz{y{z{{z{|{{{yyzyzz{z{{z{{zzz{zzy{zzzz{{{z{{{{zzzyzyzz{z{zz{z{yyz{zy{zzz{{{{{{yzzzzyyzzy{{zzzzzyy{zzzzzzz{{{zzyyyzzz{{z{{zzzzzzzzyyyyzz|zzz{{zyyzxyyzyy{zz{yzzxzzyzyxyy{zz{z{yyzyzzyyzzyzzz{yzyyyyyzxzzzyyzzzzyzyxxyxzz{zzzyzyzyzxyyxxzzyzzzyzzyxxyyxyz{yyzzzzyzyyzyxyyz{z{zyzyzyxyyxzzzyy{z{yyyyyzxyyzzyzzzzzyyyxyyxzyzz{zzzzzyzyzyzy{zyyyzzyyyyyyyxzyyzy{zyzyyyyyyyzzz{zz{zzyyyzyyzyyy{zz|zzzzyzyzyzzyzz{zzyyzzzzzzzz{zzz{zyz{yzyzyy{{zz{zz{yyyzzyyz{{zzz{yzzz{zyzzz{{zy{yzzyyyzzyyzy{zzz{zyzzzzzzz{yz{z{{zzzzzzzyy{zz{z{{z{y{zzzzzy{zzz{{zzzz{yz{{{yzz{{z{yzzzyzyz{{zzz|{{{y{{{zzz|zz{{{z{zzyy{yzzz{zzz{|||z{zz{zzyzz{{z{{zyzyzyyzzzzy{{{{{yzyy{zyyzz{zzzyzzyz{yzzyzzyzzyyzyxyyyyx{z{zz{zzyyyzyyyyyzzzzzzzzyyyyzyyzzzyzyzzzyyxzyyyzyz{yzzzzxyyyyxyzzzzzzy{zxzxyyyyz{zyzzzyyyyzyyyyyzzyzzyzzyyzyyyyzyyzzzzzyyzyyyzxzzzzzzzzyyxzyxyyyy{zzyzzzzyyyyyxyzzzzzzzyyyyyyzxyzyzyyzzyyxzzyyxyzyy{zz{xzyzyyzyz|zzzzzyzzyyxyyyyzzzyzz}yyzzyyzy{zzz{zzzzyzzyxyzzzzzzz{{zzyzzyzyyzz{z{zz{zzzzyzzyzz{zzzzyyyzzzxzz{zzz{{zyzzyzzzyzzz{{{{zzy{{y{{y{zzzzy{{yzzyyzyyz{{zzz{z{zyzzzyyz{z{{{{{{zzyzz{zzz{{{zz{zzyzzzzzz{yzz{|{{z{zyzzz{z{z{zzz{yzyz{x{{zyzzz{{{yzzyyyz{z{zz{{{zz{zzyzz{zz{z{{{zzzzzzyzy{z{zz{yzzzyyxyyzzzzzyyyzyyyyyyxyzyzyzyzzzyyyyyzxzyzzz{{zzxzzzyyzyzyy{zzzyzyxzyyyzz{zzzyz{zxyxyxxzyyzzzzyyyxyzyxyzzzyyzzyyyzyyxyyy{yzzyzyyyxxyyyzzzzyzyzyzxxyyxxyyzyzzzzyyxzyzyx{y{yz{yzyyyxyxyyyzzzyzzzzyxzyzzxyzxyyyzzzyyyyyyyzzzzzzzzyzzyyzyxzzyzzzzyyyyyyyxzzzzzzzz{zyyzzyzy{zzzz{zzyyyyzyyzy{zzzzzz{yzyyzzyzyzzz{zy{yz{yxyyyz{zz{{zyxyzzzyyz{zzz{{zz{{zzzyzyzz{z{{zyyzzyyz{{zzzz{{{zy{yyyyzz{{z{{zzzyzzzzyz{{{{zz{{zzz{y{{z{zzz{z{zzzzzzyzyz{{{{z{{zz|{yzzzz{zzzzy|{yyyzzz{zzzz{{{z{{zzzyyzyz{{{z{|zzyzzzzzz{zyzz{{zzyzzyzyyzzz{z{zyyzyzyyyzzyzzz{yyyyyzzyyyzyyzzzzyzyyxyzxzyy{zzz{zxyyyzyy{zyyyzyyzzzxyyyyyyzzyz{yyzzxyyyxzyzzz{zyzzyyyxzzyzyzyzzzzyyyzxxyxzzzzyzzxyyxyzyyyzzzyzzyyzyyyyyyyyyyyzyyzzyzyyyzzyzzyz{yyyzyyyxyyyzzzz{zyyyzyyyyyzyzyzzyzzyyzyyyyyzzyzzzyyyyyyyyzzzzzy{zzyyyzxxyyzzzy{z{zyzzyyzyzzzzzz{{zyzyzzyzyz{z{zyzzyzy{yyyyzz{yzzz{zyyyzyyzzy{zz{{zzzzyzzyzz{zz{zzzzzyzzz{z{z{z{{zzzzyzzzz{{{{{z{{zzz{yzyxz{z{z{{{{zzzzyyzzz{{z|zz{yyy{zzzzz{y{{{z}zzyzzzyz|{{zzz{z{z{yzz{z{{{zzzzzyzz{zzzz{zz{z{z{zyzzzzyz{z{{{{{{y{zyyyz{z{z{z{{{zzyyyzyzz{zzyzzzz{yzz{zyz{zyzyzzzyyyyyyzzzzzzzzyyyyyyyyyzzzzzz{|zzzz{zyyxzzyzzyzzyyzzyyzz{zzyzzyzyzyyzyyyz{zz{{zzzyyyyyyzzyy{zyzyzyyzyyzzzzz{z{zyyyzzyyyzzyzyzyyz{yyyyyyzyy{zzzzyyyyyxyyz{yzzzzzzzyxyxyyz{zz{zzzzzzzyyyy{zzzzzzyyyyzyyxxzyzzzzzyyzyyzyyyzz{zyzzzyxyyxzy{{{zzz{zzzyzyyzzzzzz{{{{zzzzxxzyzyzyyzzzzyzyyzyzz{zzz{z{zzyyzyzzzzyyz{{zzzy{yzyyzz{zzzzz{yzzzyyyzz{{{z{{zzyzzzyzzzz{{z{{yyzyyzzzz{{z{|z{{yzyzyzyz{z{z{{z{yyyz{zzz{{z{zzz{zzzzyz{{|z|{{{{{zzzzzzzzzz{y{zzzzzzzzyz{{zzzz{|{yzzyzzy{zzy{{{zzzzyzyzzzzz{z{{{zzyzyzyzz{zzz{z{zyzzyyyyzz{{yzyzzyzyyzzxzyzyz{zzyyyzyyyyyzyyzzz{zzyzyzzyyzzzzz{z{zxzyyxyzzzzyzz{zyyyyzyy{zzzz|y{yyzyyyzxzzzzzz{yzyzyyyyyzyzyz{yyzzyyxyxyyz{zyzzzzyzyyyyxzyzxyzzzzyzyyyyyzzzy{zz{yyyyxyzyyzzzz{{zyzyyyzyxyzz{yzzzzzzyyzyzzyzzz{zzyy{yyyyzzzzzyyzzyzyx{xyyzzzy{{yzzzxyzxzy{zyzz{zzzyyzzyxzy{yzzz{{zzzyyyyzzz{zzzzzzyzyzyzzzzzzzzz{zxyzzyyyzz{zz{{zzzzxzzy{z{z{z{zzyy{zzzz{{|z{{{{zzzzyzzxyz{{z{z{z|yzzzyzyz{{{{z{{{{yzzzzzz{zzz{{{zy{{zzyzz{{{{z{{zzy{zyzz{{zzz{yzz{z{z{zzyz{z{{z{{{{y{yzz{zzz{{{|z{yz{zzyz{zz{|zzzzzzzzzxzz{{y{{yzyyyzyyyzy{zzzzzyzzxzxyyyyzyzyzzzzzyzyyxyy{zzzzzzyzyyyxyzyzzzz{{zyzzyyyxyz{zyy{zyyyyyyyxzyzzzzzzyyzyyyyyyy{{z{yzzyxyxyyzyyyyy{yzzzzyyyxzzyzzyzzzzyyyyyyyzyzzzzzyyxyyyzyyyyzyzyyyzyzzyyxyxzzzyyzzyyyyyyxxxzzzyyy{xyzxxxyzzzyyzyyyzxyyzzxzyyyzzzzzyzyyzxyyyzzzzzz{yxzzyxzyyzzzyzzzyyyyzyyzzz{{yzzzzzz{zyzyzzzyz{zzzyzxyzzyz{{yyzzz{yzzzyyzzzzzzzzzzzyzzzyzy{{zzz{{{zzzyzzzzz|{{{{zzzyzyzzyyy{z{zz{zyzy{yzy{zzzy{{|zz{{zzzzzzzz{{{{{yyyyzzyz{z}z{z{zyzzzyzy{{zyzzz{zzz{zzyzzzzz{z{|zzx{zyzzzzzy{{z{z{zzyyzyzzzzz{z{zzzzzzyyzzzyzz{zzyyyyxyzzyzzzzzzzyyyyyyyyz{yyyzzyyxyyxxyzzyzzzzzyyyyy{yxzyzzzzzz{yzyyzyyyyzzzyz{yyzzxyyyzzzyzyz{yyyyyyyyyzzzyzyzyzyyzyyzyyyzyzyzyyzyzyyzyyyzzzyyzxxyyxyyxzzzyzzyyxzxyzwyyyzzzyzzyyzzxyxyyyyzyzzzyyyxyxyyyyyyzyz{yyxzyyyyyzyyx{yyxyyxzzyyyxzzzzz{yyyzyxzyzyyyzz{{yzzyyyyy{zz{z{zzyzzyyyyzyz{{y{zzzxzyzxzyzzzzzzzzyyyyzyyyzz{zzz{zyxyzyyyzz{zyzzzyzyyyyzz{{zzzz{{zzz{zzyz{z{zz{{zzzyzzyyzzzzz{zz{z{yzyzxzyz|{z{{{zzzzyzz{zz{{z{{zzzzzyzyyz{{|zzz{{yy{zzyzz{z{{zz{zzz{zzzzzzz{z{{|{zzz{zzy{{zzzzz{{{zyzzyz{z{zz{z|zzxxyxzyzz{y{{zzzzyyyyzzz{{zz{zzyyyyyyyyxwzzzyyzzzyzyzxxyzzzzyzzzyyyzyyxyzyzzzz{{zzyyyyyyyz{zyyzzzyzyyyyyzyzyz{zzxyzxyzxyx{zyyzzyzyyyyyyyyyzzyzzyyyzzyyyzyzyzzzyzxzyxzyyxzzzyzzzzyyyzyyyzyzyyzzyyxyzyyyyzyzyzyz{zyyzzxyzyyzzzzzzzzzyyzyzxzyyyz|zzyyyzyzzzzzzzz{zzyyzxyyzyzzyzz{z{zzyyyyyyzzzzzzzzzyzzzyyzzzzzz{z{yyzzzzzyyzzzzzzy{yzyyxyzz{z{yz{yzzyy{zyzzzzzz{zz{zzy{zxz{z{zzzz{z{{zyzy{{zzz{zz{zyzzzzyzz|{z{zz{zzzyzyzzz{{{{{{zzzz{yzzzz{zzz{z{{zzzz{zzz{zzz{{|{{zzzy{yzzzzz{{{zyyzz{zzz{{zzzz{{zz|zzz{z{z{{zz{{zzxzzyz{{zzz{{z{zyzyyyzyz{zzz{zzyzzzyyzzzzzyzyyyyyyyyzyyzzz{z{zzyyyyyyyzzzz{z{zzzzyyzyyzzzyzz{{zxyxxyxzyyz|yzyzzyyzxyyyzyzyz{yzyyzyyzzyzyyyzzzyyyyyyyyyyzzyzzzzzzyyxzyyyyzzzyzzxyyxyyyyzzzzzzzyxzyyxzxxzzzyzzzzyzzzyzyyyzyyzzy{zyxyyyyzzzyyyzyyzzyyyyyxyzzyy{zyyyzyyyyyzyyzy{zyyzzyyxyyz{yzyz{zzxzzyzzzyzz{zyzyyyzzyyzyz{yyyzz{zyyzzyzzyzyz{{z{zyzyzzyxy{{zzyz{yyyzzxyyz{zzz{zzzyyzyzzzzz{zz{{zyz{zzzzzz{zy{z{zyyzzzyzyzz{zy|{z{zzz{zyz{{{{{{z{zy{wy{z{y|z{{|z{yyz{z{z{z{zz{{{|zzzzzzyyzzzz{z{{zzzyyzz|z{{z{{{{{zz{zzxzz{zz{{zzzzzyzzzzz{{z{|zzzyzzzyyzz{z|zz{yyzzyyxzzyyzyzzyzyxyyzyyyzzzyyzz{yyxyzyyyyzyzyyzyxyyyyzxyzzyzzzzzzyzzzyyyyzyzyy{zyyyyxxywyzzzyzzzxyzyyzxyzzyzyzzzz{yyyyzyyzzzzzzzyyyxzzyyzyzzzzz{yyyyzyxyyzzzzyzzzyyyyyxyyyz{yzzzyyyyxyyyy{yyzyzzyzzxzxxyyzyyyzyzzzzxzyyyyyyyyz{{yyyyyyzyyyzzz{zzzzzyyyzyy{zyyzy{yzzyzyyyzzzzzzy{zyzyyzyy{zyyz{{{yyzz{yzyzzz{zzzzyyyyzzyyzzz{y{{zzyzzyyyzzzyzzzzzzz{zzzzyz{z{{{zyzzyyzyzz{zz{z{{{zzzzzyyyz{zzz{zzzz{zzyzz{{{{{zyzz{zy{yzzzz{zz{{z{zzzyyzzy{{zz|{{{zzzzzzz{{zzzzzzzyzzzz{zzz{zzz{|{zzzzzyz{z{zz{{zy{zy{yyyzy|{zzz{yzyz{zzy{zz{z{z{{yyyzyyyzzzz{{yz{zyyyzyyy{{yyyzzyyyzzyyzyzzzzzzyzzyyy{yyz{zy{zzzzzyzyzxzzz{zzy{zzzzyyyyyzzzzyz{zyyyyyyyz{yyzy{yzyzxxzxzyy{zyyzzyzzyyxyyyyyzzyz{zzxxyyyyyzyzzzyzyzyyyyyyzyzzzyy{{zyyxzxyxyzzyzy{zzxyyzxxyyzzyyyz{zzyyyzyyxzzyz{{zyyzyyyyy{zzzzzzzzzyyyyyzzzzzyz{|yyzyzzyzzzzzzz{zyyyyyyxyzz{zyz{{zyzzyyzyyz{zz{|yyzyyyyyyz{{zzzzzzyyzzyyzzy{zzyz{{y{zzxzz{z{z{zzzzzzyzzzz{{{zzz|{{z{zzyzy{{{{{z{z{yyyzzzyz{{z{{{z{{{{zyz{z{{zz{{zzzzzzzzzz{{{yz{{{yzzzy{z{z{zz{{|{yzz{zz{zzzzz{{{{{{zzzz{z{{{z{{{{yzzzzzzz{zz{zz{{yzzzyzxz{zzz{zyzzzyyxzzzzyyzzyzyyxzzzyyzzz{zyzzzyyzyyyyyzz{z{{zyzyyzzzzzz{zzz|{yzzyyzyyzzzzyy{zzz{yxzyzzzzyzzzzzzyzzyyyyy{yzz{zyyxyyxyyzzzzxzzyzzzy{yxyzyzzzzzzxxyyyzyyy{zzzzzyzyzyyyxzzyzyzzzzzzyyxyyxyyzzzzzzzyzzyyzyyzzy{zz{yzzyyyyyyzy{zzzyzyyyzzxyyzz{zz{zzzzyzyyy{zzyzyyzzyyzzyzyzyzzyz{zyyyyzyzy{{{z{{{yyzzzzxzzzzzzz{z{yyzyzzzz{{{zz{{zzzyzzzzyzzzz{{|zz{zzyyzzzz{z{zzzzzyzzzzzzzz|zz{{zy{{zzzyz{{zzz{zzyzzyyyzzyz{{{{z{yzzz{yzzz{{{{{{zzzzzzz{z{|z{{|z{y{zzzzz{z{{{{zzzyzyyyzzz{zz{{{|zzzzzzy{{{zz{z{{zzzzzz{z{|z{{{|z{zz{zz{zz{{zzz{{z{zzyyyzz{z{zzzzzyyyyzyyxyzzzzy{zyzyyyzz{yzzyz{{zzyzzz{zzzyzz{zzzy{zyyyyzz{yyzzzy{zyyyyyzzy{{zzzyyyzyzzyyzzyzzzzzyyyyzyyzzzyzzz{{yzyyyyzzzzzyyzzxxyyyzxzyzzzxz{zzxzzyzxzzyzy{zz{yyzyyzyyyzyzyzz{zzzxyyyyyzzzzzzzyyzzyzzyyzzyzzzz{yyyyyyz{zzyy{z{zyzyzyzzzyzyz{y|yzyyyyzyzzzzzzzzzyzzyzyz{y{z{zz{zzzzzyzyz{{z{{zzyzyzyzzyz{z{zz{{yyzyzzzy{{zz{zzzzzzyz{yz{{{{z{{{{zyyzzzzzz{zz{{|zyyyzyyyz{zy{{zzzyzzyzyz{z{{zy{zzz{zzz{z{z{z{{z{{y{{z{zz{{{{z{{{{z{xzzzz{{zz{{{{{zyzyzzz{zz{{zz{{zxzzyzz{|{||{{|{zzyzzzyz{{{{{{zzzyzyzzz{{z{{{{z{zyyzyyy{zzy{{zyyyyyzzzyzzzyyzzzzyyyyxyzzz{zzyzzzzzzyzyzyzz{yz{zzzyzzyyzz{zzzz{zz{zyyyyxyzzzyzyzzyxyyzyyyzzzzz{zzyzxzyyyzz{zzzz{yzzzyyyyyzyyyzy{yyxxyxyyzyzyzzzzyyzyyyyyyzzz{zzyzyzyxyyzyzyzy{{zyzzzyyyyyyzyyz{yzyzxyyyzzzzz{{zyyzyyyyzzzyyyyzzzzzzy{yyyzzz{z{{zzyzyyzyyyzzzy{z{zzzyzyzyzz{yz{{yxzzyzyyy{|zzz{zzyyzzz{yz{zzyzz{{zzzzzzy{zz{zz{zz{zzzzzyz{zzz{z{{zzzyzzzz{zz|{{{zyzzzzyyy{{{z{{zy{z{zz{zy{{{zzz|{{{zz{y{zz{zz{{{z{zzyz{{zz|{z{z{{{zz{{zz{{{|zzz{{zzyyzzzz{z{{{z|{{zy{{zzzzyz{z{{|y{zzz{yzzz{z{{{{zzyyyzyyz{zzzz{{zz{yyyyzyz{z{yy{yyyyyyzxyz{zz{z{yyzyzyxyzzzzzzzzzyyyzzxyyy{zz{z{zyzxxyyyzzzzzz{zzyyyxyyyyzzzz{yzzyyyyzyyyz{{{{zyyyyzyxzzyzzyzzzyxyyyxzyzyy{{zzz{yyyxyyxyyzzzzzzzyzzyyyxzzzzzz{zzzyzyxyyyyyyzzzzzzyxyyyzyyz{yzzzzyyyyyyzzyyyzzzzyyyzzz{yyzzyzyz{yyzyyzzyyzzz{zyz{zxyyyyzzzz{z{zzzzzyzzyyzzzzyz{zzyzzzyyzyz{z{zzz{zzyzzzyyzzzzy{z{zyzzzyzzz{zzz{{{zyzzzzyy{zzz{zzzzzzzyyzy{{{{zz{{{z{zzyyy{{{zz{|{zzzzyzzyz|z{zz{{zzyzz{{{z{z{{{{z{{zz{z{z{|z{{{{{zz{{yzzzzzzzz{z{zzyzz{zz{z{{z{z{{z{zz{z{zzz{|z{{zzzzzzzyz{zz{{|{z{z{zyzy{{{{{{{{zz{yyyyzzyzzzyyyzyyyyyyyzzzyyzyzyyyyyyzyyzzzzz{zyyyyzzzy{zyzzzzyzyzzzyyzxz{zyyzzyyxxxyyxyzzzzyz{xzyyyyzyzzzyzz{{zxzzyxyyyzyzyzy{y{yzyxyyzyyzzzzyyzyxyyyyxzyzzz{yyyyyyyxzyzzyzyzzyyzyxxyyyyyzz{{yzyyyyyyxxzzzzzzyyyyxzzyyyzzzzzzzyyzzyzzyyyzyz{zzyyyzzxz{zzyzzzzzzyzyzyyyzzzyyzz{zyzzyyyyyzzyzyz{zzzzzyyyyzzzzzyzzzzyyyyyyzyzyy{zzzyzzzzyzzzz{{{zzyzzzzyzzzz{{yz{yyzyzzzy{zzzz{{zyy{{zyxzzzz{zzzz{zzzzzzy{{{{{zz{zyzzzzzyz{{zzzz{yzzyzzzzz{{{z{{{{yzyzzzz{zzy{{zzyyzzzzzzzzzz{zz{zzyz{z{zzz{{{{{{zzzyzy{zzzzzy{{yzzyzyzzxzzy{zzz{zyzyyyyzzyz{yz{{yyyzzyyyy{zyzyzzzzzyyyyzyyyzzzyzyyyy{zyyzzzzzz{{zzzzzyyzzzyzzy{{xyxyyxyyyyy{yzzyyzyzyzzyyzzyzz{yyxyyyxyzyzzyz{yyyzyyyzyzyzzzzzzzyyyyyyyxyyzzzz{zzyyzxyxyyzy{{zzzzzyyyyxyyzxzzyzzzyzxzxyyyzzyzzzzy{yyyxzzyzyyzzzzyyzyzzyyzzzzzz{{zyyzzy{zz{zyzz{{yzyyxzzzzzzzzyzzyyzyyzyyzz{{yzzzzyyzyyzxy{zzzzzzzzzyzzzzyz{zzz{yzyzzzyzy{{yzzzzyzzzzz{zzzzzzzz{{zzzzyzzz{zz{{{{|yyzzyzyyz{{zyz{z{yzyzyzz{z{z{z{|zzyzzz{z{z{z{zz{zyzzzzyzz{z{z{{{zyzzzzz{z{{{y{{zzzzzyzzzzzzzz{{{{{y{zyz{{|{{{{{{yz{yzzyzzz{zzz{{zzyyzzzyzzz{z{z{zzzyzyzzzzyzy{zyyyzyxxyyyzzyzzyzyyyyzxzyzzzyz{zzyy{zxyyyzzzzzzzzyzyzzyzzxzzyzzzzzyyyxzyyzyz{z{zzxyyyyyyyyzzyyzyyxyyyzyyxyz{yzzzzzxyyxzzyzzzzyyzzzyyxyyyyyyyyzz{zzzzxyyxyzzzzzz{zyyzzxyyyyzzzzzzzyyyzyxyyyzzyz{zzyzyyzyyyyzzzz{zzyyzzyyzyyzzyz{{yzzzxzzzy{zzyzzy{zzyyzyzyyyzzyz{{zyzyyyyzzzzz{{zzzyyyyyyzzzzzz|zzy{zzyyyzz{{{zzzzzzzzzzyzz{zyy{zzzzzzyzzzy{{z{{zzzzzyzzzyz{z|{zz{{yzzzzzyzzzzzzz{{zyzzzyyz|{z{zz{zzzzyz{{{z{{zzzz{yzzzyzzy{zzz{|{{zz{zzzyzy{{||{{zzzzx{y{zzz{{{|{zzyzzzyz{{{{|{{{{zzzzyzzzz{{{z|{zyzzyzzy{z{{{yzz{yzyzzyyzzyzzyzyyxzyyxyyyzzyzzzzyzyyyxyyxzzzy{zzzyyyyzyyzzzzzzyzyyzzxzyy{zzzyyz{yyyyyyyxzyzyzzzzyxyyyyyyy{yyzzzyyxyyxzyxzyzyxzzzxyyyyyyxyzzyyy{yyyyyxxyyxyzzyzyzzzyyyyxyyyzyzzzzzyyyyyyyyzyzzy{zxyxzzxyyzzyyzy{zyyxyyyyyyxzzzzzzyxzzyyyyzzzyz{{zyzyxzxyyzyzzzzzzyxyyzzzzyz{yy{zzzyyyyzyyzyzzy{zz{yzzyyyyzzz{{z|{zyyyyyyz{zzzzzzzzyyzzyyyzzzzyzzzyzzy{z{zzzzzz{{yzzzyzzzz{zz{zz{{zyzzyyyyzzzz{z{{{zzyzzzyzz{z{y{|zzz{zyzyzzy{zz{zzzzzzzzyzzz{{{{{zzz|zyzz{zz{{zy{yz{zyyzzzz{zzz|{{zyz{zzz{z{zz{{{zzyzzzyyz{zzz{{{{zzyyyzyyzy{zzz{zzyyyyyyzyzzzyxzyyxxyxyyyzzzyyzyzyyyyxxxzz{yzz{zzyyyxyyyzyzzzz{{zyyyyyzyyzzyxyzzzyyyxyyyzzzyzzyzyyzxxxxyyzyyzzyzzyyyyyyy{zzyy{yzxyzxzzyzyyyyyzzyyxzyyxyxzzzzzzzyyxxzxxyyyy{yzzzzyyzyxxyyyz{yyy{zyyyxxyyyyyyyzzyyzxyxxyzxzyzzzzzzyxzyyyyyyzz{yz{yyyyyzzzyzzyyyzyzzyyyyyzyzzzzzzyzzzzyyzxyzyzzzy{z{zyyzyzyxyzyzzzyyxzzzyyyzzzzzzzyzzyyyyxyzzy{zzyzyzzzzxzyzzz{zzzyzyzzzzyyzyzzy{{zz{zzyzyy{zzzzzyzzyzzzz{y{zzz{{z{zyyyyzzzyzzz{{z{{zzzyzyzz{z{zz{z{yzzzzzzzyzzz{{y{zzzzyz{zzzzzz{{zyyzzzyy{zz{{z{{zyyyyyyyzyz{zzz{zzzzyyzyzzyzzyzzyyzyzyzyz{{zzzyyzyyzyyxyyyyzyyzzyzyyyxyyzz{zz{zzyyxyyyyzzzyzzyzzyzyyyzyxzzyyzzyzzyzyyzzxzz|zyzzzyxzyyyyxzzzzzzyyyyyyyyyyyzzyzyzyzyyxyzyyyyzzyzzzyyyyyxyxzzzyzyyzzyyzyxyyyyyyyz{yzzzyyxyyzzzzyyzzyyzyyxyxzyzyzzzzyyyyzyyzyzyzyzzzyyyzzzxxzzzyyzzzyyyyzzzzyzzzzzy{zyyzyyzyyzzzyz{zzyzzzyzyzzxzz{zzyzzzyyzyzzzzy{zzzyyyzyyyzzzyzz{zzyyyzyyyzzzzyzzyyyzzzyzzzzz{z{z|zzzzyyzyzzzzz{z{{zzzyzyyzzzz{{{zzyzyzzyy{zz{z{|{zzzyzzzzz{z{{{z{{yyzyzyyz{{y{z{{zyz{zyyz{{{zz{zz{zzz{yzy{zzyz{{{zy{zyzzzzzzzz{zzz{zyyzzzy{zzy{{{zzzzzzzzy{z{zyz{zzyyyyyzzzzzzz{zz{yzyxzyyzyyzyzzzzzyyxyyzzzzzzz{yzyzzyzzzzzzzz{{zyzz{zzyyzz{yzzzyyyyyyyx{zyyz{zzzzzzzyyyyyyyzzzyyyyxyyyzzyzxyyzzyzyyyyyzzzzyxzzzyyyyyzxyyyzyzzzzzxyzyzyyyzzzzzz{yyyyxxyyyyzz{zz{yyzzyzyxyyzzzyzzzyxyyxzyyzzzy{zzzyzyzyzyz{zzzz{zzzyxyyyx{z{zy{yzzyzzyyzyzzzzzz{zzz{zyzzzzyzzzz{{zyzzyyzyy{zzyzzzzzzy{xzy{zzzzz{zzyzzxzyy{zz{zzz{{zzzzyyyzz{{{{z|yzzy{y{y{{{{{|{{zyzzzzzzyzz{zzzz{yyzzyzz{zz{{|z{zzzzyzzzz{{{{{{z{zzzzzzyz{z{{{{{{yz{zz{zzz{z{z{{{zzzzzy{{{{{{z{{yzyzz{z{|{z{{{{{{zzzz{yxzz{|z{{{z{zzzyyyzzyzyyz{zzzzyzzyz{zzzz{yzyxyyyzxzzzyyzzzyxzyzzyyz{zzzzy{zzyyzzyzzzz{{yzzzxzzyyxyzzzzzz{{zy{yxyyy{zzzzzy{yzzzzyxyy{z{zzzzyyyxyzyy{z{zy{zzzyyzyyyyyyzy{zz{{xzyyyyyy{zzzy{zzyyyxyyyzz{yyyyzzyyyxyxyzyzzzzzzyzyyyyzxzy{yzyzzzyxyzyzyyyyzz{{{zyyyyyyyz{zzz{z{{zyzzyyyzzyzz{z{{xzxyzyy{zz{zy{yzzyzyyzy{z{yz{zzzyzyyxzzy|y{{{{{zzyyzyyyz{{z{y{zyzyyzyzzz{{z{zz{zzyzzyzyzzz{zz|{z{{zzzzz{zyzz|{{{zz{{yy{{yz{z{{zzzzzzzzz{zzz{{{zyzzzzz{zy{z{{{zyzyzy{zz{zz{{{{{zzzzzzzyz{z{zz{z{{zzzzyzzz{zz{{{{{z{z{zzz|{y|{{{{zz{zyzzzz{zz{{|{{zyzyy{yyz{zzz{z{zzxy{yyzyz{zzyxyyyxyyyxyzzyzzzzyxyyzyyyzyzzzzzyyyyzyyzyzzyzyyz{yzzyyyyzzzzzyyzzyyyyyyyxyyzzzzyzyzxzyxyyyzzyxz{{zyzxyxxyzyzzyzyzyyyyxyxyyyzyyzzzyyyyxzxyzzzzyyzyzyyyyzyzzzzzzyzzyyyzyzyxyyyyyzyzyzxyyxyxzyyyzzyzyzyyyyyyyzyyyzz{yyzzxxzyzzyy{{zzyzzxyyzyzyzy{zzzzz{yyyyyzzzz{z{zyyyzyzyyzz{zz{yzzyyzyyzyyz{{zzzzz{yyyzyxz{{zzz{{yyzyzzxzzyzz{{zzzzzzyzyyzzyzz{zzzzzyzyzyz{z{yz{{{yyyyyyzzz{zzz{{{yzzzzyzz{{zz{{{zz|zzzzzzz{{{{{z|yyyz{yzz|zz{|{{{z{yyzzzzz{{z{{z{yzyyzzz{zy{y{{{zyzzyyzzzzzz{||{z{zzzyzy{z{y{|z{zzyyyyzzzzzzyzzzyyzzyyxyzyzyz{zyyyyxyyyxzzyzzzzzzyyzyyxyyzzzzzzzyyyyxzzzyzz{{y{zzzyzyzxyzzzzzzzzyyyyyyyxzyyzz{zzyzyyyzyyzzzxz{zzyyzy{yyyzyzyzzyzzyzyyzyyzzyyzyz{yyyyyzyyyyzyzzzyzzyyyzyzzyzyzy{zzzyzyyyy{yzyz{zzyyyzyxyxyzzzyzzzzyyxzyyyyzyyyzyzyyzyyzyyzzz{yzzzzyzxxyyyyyzzzzzz{yyzzyzz{zzz{zzyzyyyyyyzyzzzzzzzyzzy{yyzz{{zz{yzzzzzxzyyzzzzz{{zzzyzzz{yz{z{zzzzzzzzzzzzzz{z{z{{zyzyzz{yzzz{zzz{{zyzz{zyzzz{{{{z{zzzzyzyz{zz{{{{zzyyzzzy{{{{zz{z{yzzzzzyz{{z{{{{zy{zyyzzz{{z{{{{zyyyzyzzzzzz{{{|{{yzz{zz{z{zz{{{zzzzyyzyz{zzzz{{zzzyz{zyzzzyzz{zyyzzzzxzzzzyzyyzyyxyxxyyxzzzyz{zyzzyyyxyzzzzzyzzyyyyyyyyzyzzz{zzzxzyzzyyzzyzzzzzzyxyxxxyyyz{zzz{yxyyxxyyyzyzy{zzyyzyyyxxxyyzy{zyyyxyyzyyzyzyyzzzyyzyyxyxyyzzzzzzyyyzxyyyyzyyyzzzyyyyzxyyyyyyxzyyzxyyyyyyyyzyyyyzzzyyxxxyyzzyzzy{zyyzzzyyzzzzyyzyzyzzzyyyz{zyzz{{zy{zyyzzzz{yyzz{yyyxyyyyzzz{zzzzzyzyyyxyyzzyzz{yzyzyyzzyz{yy{zzzyzyzzzzzzzyzz{zyzzzyyzyy{xz{z{z{zyz{zyzyzyz{|{y{zzxzzyzyz{zzzzzzzyzyyzzyz{{zz{{zzzy{y{z{yzz{{zzzzy{zyzzzz|z{zz{{{zyzyzzz{z{{{zz{zzzyyzyzzzz{{z{zyzyzzzyzzzzz|z{{zzzyzyzyyzzzz{zzz{yzyyzyzzzz{{{zzzyyyyyyzzzz{zzyxyyzyyyyyzzyyyzzxzzyyyyzyz{zzzyzzyyyyzyy{zzyzz{zyyyyzyyyzyyzzzzzyzyyyyyzzyzyzzy{yyzyyzyyyzyzyzzyyyxyzzyyyyzyyzzyyyyyyxxyyyyyzzzzyyxyxzyyyyzzyzyzzzyzyyyyzyyyzz{zyyyzzzyyzzzzzzzyyywyzyyyyzyyyzyxzyxyyyyyyyzzyzzzyyzxzzyyyzyzyzzyyxyyyyyyzyzzyzzzyyzzxyyzzzzy{z{z{yyyyyyyzzz{{yzzyzzyzzyzzz{zy{zzzy{yy{zyz{zzzy|zzzyzzyxyzzyz{y{zzzyyzz{z{zzz{z{{yyzz{zyzzzyzy{z{z{zzzyyzy{z{z{z{{y{zxzzzzzz{{z{{{zzzyzzzz{{{{z{{{zzzzzzz{|zzzy{|{zzzyzzzz{zz{zzyzxzzzzz{zz{{zz{z{zzy{zzy|zz{{{{{zzzyz{yyz{{zz{{{zzzzzyyyzzyyzyzzzyyyyyzzyzzzzzz{yxxyyxyzzzzxyyzyxzyyxyyyyzzyyzy{zyzxxyyyzyzzyzyzzyyzxzyyzzzyyzzzzyxxxyyyzyzzyyzzyyyyyyxyyzz{yzzyyyzzyyzyyyzyyyzzyyyyxyyyyyzyyyyyxxyyyxxyyzyyzyyzzyyyxyyyzyyyzzzzyxzwxyyxzyzzyzz{zyyyyxyxyyyyyzzyyzyxzxzxyzzyzzzzyyzyyzyxzzyzzzyzzyyyyxyzzzzzz{zyyzzzyyzz{zyyzzz{zxyyzyyyyyyyzz{zzyzzyyxzz{{zzzzy{yzzyzyzzz{zzzzzzyyyzyzyzzzzz{zzyyzyzzyzyzz{zzzzyyyyyyzz{{z{yzz{zxzzzyyyy{zzzyzzzyyyzyyy{{zyzz{zzzzzzyzzzz{z{{z{zzyy{zyzz|z{{zyy{zy{zyzy{zz{{zzzzyz{yz{zzzzzzz{zzyyyzzyz{{{z{z{zyzzyzyyyzzzzy{{yzzzzyzyyzzzzzyzyyyzyzyzyy{zzyzyzyyxyxzxxyzyyyzzzyyyyyyxxzyyyzzyzyyxyyyyyzxyxzzzzzzyyyzyyyyyzyzy{zyyxxyyyyyzyzyyzyxyywyyyyzyyyyzzzzyyyyyyyzzyyzyyyyzxyyyxyyyyyyzzxxxyyyzxzzzzzyzzyyyywzyzyzzyzzyzyyyyxxyxyyzzyyzzxyyyyxzxzy{yzzzyyyyxzyyyxzyyzzyxzyyyyyyyyzzzyzzzyzyyyyyzyzzzz{yzzyzzyyxyyxzzzzzzzzyyyyzyz{{zzz{{zyyzyxzyy{zzzzzyzyzyyyyyzzy{y{{zyyyzyyyz{z{y{zzzzzzyzzyzzzz{zz{{yzzzzzyzzzzzz{zzzz{zzyzzzz{zzzzzzzyyzzyyz{zzzz{{zz{yyyzzzz{{yz|z{yzzyzyzz|y|zz{z{zzzyzzzzz{{yyzzyyzzzyyzzzz{{{{z{zyzzzyy{{z{zy{{z{yyyzzyyyzzy{z{{zzzz{{yzzzzyzzzyzzyzyyyyzzyzzxyyxxyyxyxxyyyzyy{yyyyxyyyzzzyzzyzyyyyzxzyzyzzzzzzyyzyyyyyyy{xyyzzzyzyxyyyyyzzyzzzyyyyyzzxyyyyyzzyyyyzxxyyyyzyyzyzzxzyxzyyyyyyyzyzxxzxyxyyzyyzyzzyzyxyxyzyyzzyzzzzyyyyxyyyzyyyxz{zzxxyyxyxyzzyyyz{yyzxyxyyyzzzyzzyyyzzyzyxyzyyyzzz{yyy{xyyyy{zyzzzyyyyyyyyzxzyz{z{zyyyzyzyzzzz{yzyxyyyyyyxyzz{zzzzzxzxyyzyzz{zzzzzzzyyyzzzzyyzzzzzxyyyzzyy{z{zz{zzyzzzyzzzzz{zzzzzyzzzyzzxz{{zzzzzzzzzz{zzz{zz{z{{yzzzyzzz{z{z{zz{{yzz{zzyzzzzz{z{zzyzzzzz{zzzzzzzzyyzyyyzz{zzz{{{yzzz{zzy{{z{z{{zzzzzyzyxzzzzzzz{{zyy{zyzzz{yzzyyyyzyzyzyy{zyzyxzyyyyxyxxyzyxyyyzzyyyyyxzzzzyyzy{yyyyyzyzzyzzzzzzyxzyyxzyzyyzzyyzzxyzyxyxyzzyyzyzzzyyxyyxzyyzzzyzzzzyyxzyyzzzzz{zyyyyyzyyy{xz{zzzyyyxyyyyyyyzyzyzyxyyxywzyxzyzyyzzzyyxyyyyzzyzyz{yyyyzxyyyyyyyzyzyyyyyyyxyyyyzzzzyyyyzzzyyyy{y{{zxyyyzyyyzzyz{zz{zyyyyzyzyzyzz{zzyzyzyzyyzzzzzz{zyyyxyzzyzzzzzzzyyzzyyyyzy{z{zz{zzyyzyzxyzzzzy{y{zyzzzyyzzz{{{yzzzzyyzzzyz{zz{{{{zzyzzyzy{|{z{zzzzyzyzzzyy{zzz{{{zz{zzz{yzzzz{{{zzyzxyyzzz{{{zz{zzzzzzzzzzzz{{zzzzzzzzyzz{{zz{z{{{zzzzzyzy{y{{y{|zzzzzzzyzz{{z{z{zyyzzzyxzzz{zzzzzyyzxyyyyyzzz{zyyyyyyzzyyzzzyzyzzyyyyzyyyzzzyzz{yyzyzzyz{y{z{zzzzyzzyxxyzyyyzyz{zyyxxyzxzzzzzyzzzyyyzyyxzzyzzzzzyyyyyzzxzzyyzzzzyxyxxzyyzzzzzzyyyyzyyxyxyyyzzzzzyyyyyyyyyzyzzzz{yzzyzyyyyyyzyzyzyyyzyzyxzyzyyyzyyyzyzzyyz{yzyzz{zyyzzyyxzzzzyyz{zzzyyyyyz{zyzz{{zyzzyyyyzzyzz{z{yxyyyyyzzzzzzz{zzyzxyzyzzz{{z{zzzzyyyyyzzz{{{zzzzzyyyyzyz{zzz{y{z{zzzzyzz{yz{z{zyyzxzzzzzzz{z{|zyzyyzyzz{{{z{zzzzy{xzzyzz{zz{{{{zzzzyz{zzz{z{z{zz{yyyzzzz{zzz{{{{yzzzzz{zzzz{z{zzyyz{zy|z{{{{z{{zzyzz{zz{{z|z{{{zy{yzzyyzzzzz{{{{yzzzzyyyz{zzyzzzz{yyyyyz{zzzy{zyyyzzzzzzzyyzzyzyyyyyxyyzz{zzzzzyyyxzzxxyzyzzz{zyyzxzxyzyzzzzyzzzzyyxyxyzzzyzyy{yyyyyyyyyzyyzzyyyyyxyyyyyzzzzzzyy{yyyyyyyzzyzy{yxyxxyxyyyyzyzzzyzyyyyyzyzy{zzyzyyyyxxyzyyyyyzzyzyyxzzyyyzzzyzzzyyyyyyyyyyzzzz{zzzyzyyzxzyzzyzzz{xyzyyyyzy{zzz{z{zzyyxzzzzzzyz{zyyzzyyyyy{zzzz{{zzzyyzxzyzz{yz|zz{x{zyzyx{zzzz{{{zyyyzyzzz{{zz{zzyzzxyzyyyzz{z{zzyzzz{zzzz{{{z{zzzzyz{zzyz{|zz{{{zzyzzyzyz{{{|zz{{zyyzz{zz{zzzyz{zzzzzzyzy{zz{zz{{y{{zyzzy{{zz{z{zzzzyzzy{{{{z{{{{zzz{zzzy{zzz{|zzzzzzyyzy{z{zzz{{zyzyzyzzzzz{{{{{yzzyyzyyzyzyz{zzyyyyyyxyzyzyyy{zyyxyxzyyzyzzzy{zzyyyxzxyyzzzzzzyyzzyyyzzyz{yyzzyzzxxyzxyzyzzzyzyyyxyzzyzzyyyz{yzyzyzyzzzzyzzyyyyyxyyyxyzyzzyzzzyyyyyyyxyzzyzzzzzzyxyyzx{zzzzzzyyxyxyxxxyyzyyzzzzzyyxyxxyyyyyzzyyzyyzyyxyz{yyzyzzyyyxyyxzyyzzzzzzyyyxyyzzzzyzzzzzyyyzzzzzzzzzyzzyyyyzyyy{z{yz{zzzyyyzxyzz{zzzzzzyzzyzyyz{zzyyyzyyyyyyyyzyzzzzz{yzzzz{yzyzyzzzzzzzzzyzyzzzzyzz{z{zzzyyyyyz{zz{{{yzyzzyzzz{{zzz|zzzy{yz{zzz{zzz{{{{zyzzyzzz|{{{{{zzzyzyyzz{zy{z{z{zzzzyyyzyz{{{{z{{yyz{zyzz{z{z{{{{yyzyyzyzzzzz{{z{zyzzzyzzzzzzzzyzzzzzzzyy{zyy{zzyyxyzyyyyyzyzzzzzyxzzzyzyzz{{zzzzyyyyzywzyzxzzzz{xzxyyyyyyzzzzz{yzyyxyyyyyzzyzz{yzyyyyyxyzzzxyyyzyzyyzyxyzzzyyzyyyyyyyyzzzzzzyzzxyyxyyxzyzyyyyzyyyyxyxxyyy{zzzz{yyyxyyyyxyzyzyyyyyxyyyzxxyzzyzyzzzzyyzxxz{zzzzzyzyzyyyyyxzyzzzzzzyyzyyzz{yyyzzzzyzzyxyyyz{{zzzzzzyyyyzzzzz{zz{z{zyzzyyyyy{zzxzzzyyzyyzyyyz{yzzzyzxyyyzyzy{zzzz{zzzzyzzzyzyzzyzzzzzyyyzzy{yzzzzz{zzyzyyyzzzzzzz{zzxzyzzyy{{{y{{{zyzzzzzzz{{zz{z{zzzzzyyzzzz{z{z{{zyzy{zzzzzz{z|{zzzzyyzzzzzzz{{zzz{yzzzyz{{z{z{{{zzyzzzyzzz{yz{|zzzzyxzzyzzzzyzz{zzzyyyz{yzzzyzzyzyxyxxyyyyyzyzyzyyyyyyyxzzzyzzzzzyyxxxyyzzzz{z{zzyzyyyyyyyyzzyzzyzyzxyyyyyyzyzyyyxyyyyzxyzyyzzzyxyyyyyxxyyyyyyzz{yyxxxzyxyyyyzyzyyyyyyxyzyyzyyzxyzyyzyxxyzz{zzzzyzyyyyyxzyzyyzyzyyzzyxyyyyyzzyyzzyxxyyxxyyyzyzyzyyzxyzyyzzzzzzzzzyzyyyzyyzyzzz{zyyzyyyyzzzzzzz{{yxzyyyzyzz{zzzyyzyzyzyyyyzyzzzzzyxyyyzyyzz{zzyzyzyyzyzzyz{zyyzzz{yyyzyyyzz{zyz{zyz{yzyyyz{yzz{y{yzzyyyzxzzzzz{{zzyzzz{z{z{{z{z{zyzzyz{{zz{{zzz|zzzzyyzyyz{zzzz{zzzyzzzz{{zz{z{{{zzzzzyzzzz{z{zz{zzzzzyzzzzz{|z{{yzzy{zzy{z{zzz{zzyyz{zzyz{{{yzzz{xyyzyyyyyz{yzyyyyyyyywyyyzyyyyzyyyyyyxyyzzyzzzzzyyxyzzyzyzzyyz{zyyyyyyyyyzyyxzyyyyzxyyyyyzzzzzzxyyxyyyxxzyyyyzyyyyyyyyyyy{yyz{yyyyxyxyzyyyzyyyyzyyxxyxyyyyyyxzzyxzzyyyxyzzyyzzzyyzxyyyyyz{yz{zzyyxyyxyyyzyyzzzzzyzyyxzxzzxyzzyzyxyyzyyyzyzzzz{zyyyyzxyyyyzyzzzzyyzyyyyzyzzz{{y{zyzxzyzzzyzyy{{{yzyyzyyyzzyzy{yyyyzxyyyzyzzzzzzzzyzzyyzyz{{yzzzzzzxyzzzyzzy{z{|zzzzzzzzy{zz{{{{{zzxzyyyyz{{zzzzz{yyz{{zzz{{zz{{z{zzyyz{zz|z{{zzz{yzzyy{zz|zzz{zz{zzzyyyyz{yz|z{z{zyzzz{yz|{zz{{z{zyy{{z{z{zzzz{{yzzyzzyyzzz{zz{{zyyzy{yzz{{{yzzyzyzzzyyyyzzyzyyyyzxxxyzxxzzyyyzyzyyxyyyyyzzyxyz{yxyyyyyxzyzyzzzyyyyyyxyyyyzzyzzyzyywxyzyyyzzyzyzyyyyzyzyxzzyyzzyyzzxyzyyxzyyyyzyzzzyxzyzyzyzyz{yyxyxyxyyxzxyyz{yxxyxyyxyyyyzyzzyyxyyyyyxyyzzzyzzyxxyyxyxyzzyzyyxyyyxxxyyzyyzz{zzyyyyzxxyzzyzyzzzyyyyyyyyyzzxzyzzzxyyyyxyzzzzy{yzxyyzyyyyyzyzyzz{zyzyyyxyyzzyzzzzyyyyyyyyyzzzzz{zyyzzzyyyzzyyz{z{yzzy{yyyzzz{zzz{yyzzyyzzzyzyzz{{yyzzzyyzz{yzz{zzzzyz{yyyy{z{{z{{zzzzyzzzzzyzzzzy{yzzzzzyz{{{{z{zzzyzyyzyz{z{z{z{z{zzzzy{zyzz{zz{zzzyzyzzy{zzzz{{yzyyyyyz{zz{yz{zyyzyyzyyyzzzyzzz{yzxyyzyzzzzyzyyyyyyxyyyy{zyyyzyyzyxyyyyyzyyzzzyzzxxxxyyzyzzy{zzzyyxzzxxyyzyyyyzyyyxxxxyyzzzyzzzyyyyxyzzxzzxyzzzzxyxyyxyyyyyyzyzyyywxyyyyxyyx{zyyyyyyyyxxzyyzzzyyxyyxxxxzyzzzzyyzxyyzzyyyzy{zyyyyzyyxxyyyyzxxyzzzyyyyxzyxyyyzyzzyxyyyzyxyzyzzzzyyyzyzyyyyzzyzzyzzyyyyxyyzzz{y{yyzyyyzzyy{zzy{{{zzyzzyyzyyzzzzyyyyyyzyyyy{z{zyy{yzyyyzxyyzy{yzzyzz{zyyxyyzzzzzz{zyyyyyyyyz{yzzz{{zyyzz{xyzz{{{z{{zyyzzxyxz{zz{zzzzzyzxzz{xzz{zz{zzyyyyzyyy{z{zyzzzz{yyyzzzzz{zz{zzyyzzzyzz{z{{zz{{yyzzyzzz{zz{z{zzz{yzzyxz{zzzzzyzyzzyzyyzyz{zyzyyzyyxzzyyyyzzyyyyxyxyyyxyyzyyyzzyzxyyxyyyyzyyzyyzyyxyzxxyyzzzyzzyxxyzzyxyy{zyzyzzyyxyyyyzzyyyzy{xxxyyyyxyzzzyzyzzyyzyyyyyzzxyzzzyyyxyyyxzy{zyzzzyywyxyyyxyzy{yzy{yxyyyyzxz{yzyzyyyxyywyyyzzzyzzyzyxxzxyyyyzyyzyzxzxxzxxyyzyyzzyzzyyyyyyzz{yyyyzzyyyyyzyyzzzy{zzzyyyyyyyyzyyzy{zyzzzzxxyyzzzzyyzzzy{yyyzxyzzyy{zyyyyyzyyxyyzzyyzzzyzyyzxzyyzz{zzy{yzyyzxyyzyyz{zzyz{zyyzzzzz{zz{zxzzyyzyyzz{zyzzzzxzyzyzyz{z{{{{zzz{yyyzzz{yzz{z{yyzzzyzzyz|zzz{{z{z{yzzy{zz{{zz{zzzyyzy|zz{zzz{{z{yyzyyyzyzzzzz{zzyxzyzzzzzzz{{zyzyxzz{yyzzyzzzzyzxyyxzzzzzyyyzzyxyyyyyxyzzzyyzzzyyxyxyyzxzzzzzyyzyyyyyyyzzyzyzzzyyyxyyxyzyyyzz{yzxyxyzxzzzzzyzzyxyyxxyzyyyzzzzzzzyyyyxyyzzyzyzzzyxyxyxyyzy{yyyzyxyxyxyyzyyzyzzyyzyyxyyyzyyzzyzxyyyyyxyyyzzyzyzyyxyyyxzxyyyyyyyzzzyxyxyyzzyzyzzzzyyyzyyyyyzzzzzzxyyyzxzzyz{{yz{zzyyzzyzyyyzzzz{{yyzzyyyzyzyxyzzzzxzyzyyyyzzyy{yzyyxzyzzyzz{zyzzzyyyyyyzyz{{zzzzzzzzzzyyzzzz{z|zzyzzzz{zyzzy{zzz{zzzzzyyxz{{{{z{{zzzyzyyzz{zzzzz{yyzyy{y{zzzzz{z{{zzzzzzzzzzzz{|zzz{z{zyzzz{zz{zzzzz|zzz{z{zy{{{{zzyzzzyzz{z{zz|zyzyyyyxyz{zzz{z{zzyyzyyyzzzzzz{z{zyyxzyyyyzyzzzyyzyywxzyzyzzzyzyyzzzyyyyzzyyzzyyzyxxyyyxzzzyzzzyzyyzyyxyyz{zyzzzzzyxxxxyyzzzyyzzzyzyyzxx{zyzzyzyyyzyxxyyyyzzzzzyyzyyyzyyyzyyyzz{yyyxyxyyzzzzzz{xzyyzxyyyyzzyzzyzyzxxyyyxyy{yzzzzyyyy{xyyyyyyy{yzzzyyxzzyyzyyzzzzyyzyyzzxzyzzzz{yzyyxyyyyzzzyzzzzyzzzyyyyzzyzzz{zyzzzyzyzzyzz{zz{yzyyyxzyy{zzz{yzzxzyyyyyzzzz{z{zzzyyzzzyyzyz|{yyzzyzyzzyz{y{z{zzzyzyyzyyzzyzzzzzzyy{yzzyzyzzzz{{zyzyzyyz{{z{z{{zzxzzyz{zz{{{z{{{zzzzzzyyz{zz{y|zzy{z{zy{zz{z{zzz{zzyzyzzzzz{{{{|{{yzy{yz{zy|z{{{yz{yyzzzzzzzz{z{zyzzyyyzyzzzyzz{yyzyyyyzzzzzyzzxzyzxxyzyzzyzyyzzyyyzyyyxyyxzzzzzxyyxzyxyzzzyzzzzzyzxyyxyyzzzxyyzzzxyyxyyyyyzzz{yyyywyxyzyyzzy{zyzyyyxyyyzzzzxyzzyyyyyyyyzyyyyzzzyzyyyyyyzzyyzzzzyyyyzyyyzzzzzyyyzyzyyyxyyzzzyyyzyyyyyyyxyyyzyzzzyzyyzyyxyzzyzyz{yyyyyyzxzz{yzzzyyyzyyxzyy{yz{{z{{zzyzxyzzzzyzyzzyzyzxyzy{zzyyz{zzyyzyyyyyyz{zzyzzyyyyyyzy{zzzzzzzzzyzzyzy{zzyzz{xzzyyzyyzzzzz|zzz{zyyyyy{zzzzyz{zzyyzyyzz{{yzz{zzzzzyyzzz|{zz{z{yzyyyz|zz{{{z{{{{y{zzzzzz{||z{{zzyzzzzzzzz{zz{zz{yz{zy{yzy{|zz{{{zyz{z{zz{zzz{z{zyyyyzzzz{yzzz{zyzyyyyzyy{z{zzzzzyzxyxyyzzzzyzzyyyyyxyxxyzyyyzyzzxxyxyyyyyyyyzzzyzzxxyyxzyzyyz{zzxyyyyyyyz{zyyyzzyyyyyyyzyxyx{zyzwyxyyxyyzxzyzzyzxzyyxxxzzzxyz{yyyyxyxyxyyzzzz{yxzxyyyxxyyzyzzyyyyxyyxyyyyyyzzyzyyzxxyyxyzyzyyzzzxyxxyyxxzyxyyyyzyyxyxxyzzyyzzyzyxyyyzyxxzyyyzzyyyyyyyxzzyzzzyyyxyy{zyzyy{yzyzzyyxyyxyyyxzzzyzz{zzzxyxyxyyzzzzzzzyzyzyzyyzzzyyzzyyzyyyyzzzzyzyyzzzyzzyxzzyzzzzzzzzzzzzzzyzz{y{{{yyzyyyyzyzzzzzzzzxyxzzyzzzyzzz{zzyyyyyzzzzyzz{zz|zyzzyyzzzzzz{z{zzzyzyzzzzzzz{z{{zzzzyzyyzz{{y{zzzyyzyyzyz{zzz{zyzzxyzyzyzzzzzz{zyyyyzyyzzyzzzzyzyyyyxyyzyzyzyzzzyxyyyyxyzzyzzzzyyyyyxxz{zzzyzzzyyzxy{yzzyyzyzzzzyyzyyyyyzzyyyz{yyyxyyyzyyzyxyyzzyyxyyyxxy{yyzzyxyyyyxyyyyzyyzyzyyxzzxyxzxyyyyzzyxxzyyxyyzzyzzyzyyxzxyxzyyyzyyzzyzzxxxyyzzyyyy{zzzzyyyzxyzyzzyy{yzyyyyyyzyyzyzzyyxxxyzyyzzzzzyzzzyzzyyyzyzzyzzzzyyyyyxyyyzzzz{y{zxyxyyyyyz{{zzz{zyyyzyyyzzzyyz{zzxyyzyzyz{zz{z{z{yzzzzzyz|yzzzzzyyyzyzzzzzzzz{z{yyyyzyzzzzzzz{z{zzyzyyzzyz{{{{{yzzyx{yyyz{zzz{{zyzzyzzzy{zy{zz{{zzz{zzzyz{zz{{zz{yzyyxzyzzy{z{zzzzyzyzz{zyz{z{z{zz{{{zyyzz{zzz{zzzyyzyyzyyzz{z{{zzyyzyzy{yy{zz{zzyyyzyzyyyzzzzyzzyyyzyxyyyyyzzyzzyyyzyyxyyzyyzzyyyzxyxzxzzyxyzyyzzyxxyyyzzzzyyyyyzyyxyyyyzyzyyzzyzyyyyxyyzxyzy{yyyxyxxyyzyzyyyxyzxzyyzyxyyyyzzyzzyxyxyyyyyzxxyyyyyyyxzyyzyy{zyyzyyyxxxyyyzzyzzzyyyxxyyxxxyyyyzzyzxyzxxyyyyyzzzzyyyyyxzyyzzzzz{zyyxzyyyyxyzyyzzzzzwyyyxyyzy{zzzzzyyyyyxzzzzzyyz{zzxyyzxzyyyzz{zzyxyzyzyyxzyzyzyzzyyzyyyyyz{zyyyzyzyyyyzzyyzzzzz{zyzyyzyyyzzzzzz{{{zyzyyyyz{{zzz{zzyyzzyyyzzz{y{{zzyzzzyzz{zzy{{z{zzzzyyyzyz{z{zz{{yzyzyzzz{z{z{z{zyyzzyyz{y{zzzyzyyz{zzzzzz{y{z{zyzzyzzzzz{z{z{zyzzxyyzyxzyzzzz{yzyzyyyyyyy{zzyyywxxyxwxyyyyxyyzyyyyyyyyxyzzyzzzyyxxxyyyyyzzyzzzzyyyxyyyyyyyzyyzyyxzxxyxxzyzyzyzzxyxyyxzyyyzyzzz{zyyyxxyyyyzzxyyyzyyxxyyxyxxxyyyzxxyyxxyxyzyzyyxxyyzyyxxxxyyyyzzyyyxyyyyxyxyyy{yyyyyyyyyxxyxyyyyyxyxxxyxxyzyzxzzzyyzxyzxyyyzzyzzyyxyyxzyyyyyzyzyzyyzxyyzyyyzzzzy{yzyxxyyyyzyyzzyyyyzxyyxxzyzyzzzzzyzyyxyxyyzzzzyzzyzyyyzzzzyyz{zzyyyyyyzxzyzzzzzyyyzyyzyzz{yzzz{{yyyzzzyyzzzz{{zyzyzzyyzzz{z{z{zzyyzyzz{zzyyzzzyzzyyzyyzzy{{y{zz{zzzzyzzyzzz{yz{zzyzzzyyzz{z{yzzzyzzyzzzzyzzzzz{yzzyxz{zzzyzzzz{zzzyzyyyyy{zzzz{yyyzxyyyxzyzzzzxyyxyxxxyxyyyyzyyzyyxzyxyyzyyyyzzzyyxyzyyxzyzyzzyyyyyyyyyxyyyyyyyyyyyxyxyxyz{zzzyzyyyyyyyyyyxyyyzyzyyxyyxyyxzxy{zzyyyyxyxyyyzyzzzyxxyyyxyyzzxyyyzxxxxyxxxyyyzyyyyyyyyyxyyyyyzyzzzyzyyyxyxxyzyxzyyyzxyyxyyyyzyzzzyzyxyyyzxzyyyzyzyyzyxxyxyyxzyyyzzzyyzzyzzyzz{yyzyzyyyzyyzzzyzzzzyyzyyyyyxyzyzzzyzzyyyyyyyyzyzzzyzyzyzyyyyyzzzzzzzzzyzzzzyzzzz{{zzzyyyyyzzzzyyzzzz{yyzxyzzyz{z{zz{yzxxzzzyyz{yz{zzzzyyyyzzzyzzzz{zzyyyzyzyzzyzzzzz{{yzzyzzzz{zzzzzz{yyyyzyzzyy{{zz{{zyyyyzyzzzy{{zzzzzyzzyzzzz{zzz{zzyyyyzyzzzzyz{zyzzyxyyyyzzzzzxyyzyyyxyxxyzxzyyyyzxxyyyxyzyyyyzzzyyyyxyyyyyyyyzxzyyxyyyxxyzzyyzzyyzxyxyxyyzyy{yzyyyxxyzzyyyyyzzzzyyyyyyxyyyyzzyzyyyyyyxyzyyzzyzzyyyzyyxyzyyzzz{yzyxxyxxxyzzzzyzzxyxyyyyxyyzzzyzyzxyyxzyxzxyxzzyzyyyyyxxxyzzzzzzzyyyyx{zyyzzyyzyzyxyxyyyyzzzzzzzzzyyyyyyzzyzzzzzzyy{yyyyyxzzzzy{zzyyyzyyyzzzyzzzzyzzyzzyy{{zzzzzzzyzzyzyyy{zzzzzyyzzyzyyzzzyzzzzz{zyyyzzz{zz{zz{zzzzyzyyzzz{{{zzzzyzyzzzy{|{zzz{{yyzzzzzzyzzzzzz{{zzyzzzyy|zzzzz{zyzzzyyzzyzzy{{zzzzyyyyyy{zzzzzzzyzzzzyy{z{zz{zzyzzyzyyyzz{yz{{zzzy{zyyyzzzyzzzzzzzxyxyyyyz{yyyzyyyxyxxyy{zyzzzzzyyyyxxzxyzzzzzzzyyyyyyyzzyyzzzzzyyyyxyyyzyzyyyzyyyxxyyxyyzyzzyzyyyxzyyzyyyyzz{zzyyzxyxzyyyzyzyzzyyxxyxyyyzyzzzzyywyxxyyzzyzxyzyyyzyyyyyyyyyzzzyyyxyyxyyzzyzyzzzyyyxzyzwyyyxzzyyzyyyyyyxyzxyyzzzzyzyxxxyyyyzyzzzyxyxyyyyxyzyyz{yzzzxyyyzyzzyzyzz{zyyyxyzyzzzz{zzzzzyyzzxx{zzyzzyyyyzxyyyzzzyzz{zzzzxzzyzzzzzz{zzzyxyyyzyy{{zz{{zyzzzzyzyz{yzzzzzzyyyzzxzz{{z{{{z{yzzzzzyzzzzz{zzzzzyzz{zz{zzzzzz{{zzzzzzyzz{z{{zzyyzyyzzzzzzzzz{yzzzyyzz{yzzz{{{z{zzzzyzz{z{{zy{yyzyzzyyyzyzz{zz{zyzyyzyzzyzyyzzyyyxzyyxy{zzzzyyxyyyxxyyxyzzzzyyyxzyyxzyzyzyyzzzyyyzyyyxyyzyyzzyzyyyxyzyzyxzyyy{yzyyxzyxzy{{yzzzyyyyyyyxyz{yyzyyyxyxxyxyzyzyzyyzxyxxxyyyyzzxzyxyyyyyyyyxyyzzz{zyyzxxyxxyyzzyyzzyyyyyyyyzyyzzyzz{xyxyyzyyyyyzzzyzyxxxzzxyxyzyyzzzyxzxyyyyzyxyyy{yyxyzyxyxyyzyzyzzyyyzyyyz{zzzz{zzxxyyxyyyyzyzz{zzyyzyzyyyxz{{yzzzyyzzyyyzzzzzzzzyzzyzzyxyzyzxzyzyyzzyyyyyyzzzzzz{zyzyyy{zzzzzzz{{zzzyyyyyyzzz{zzz{yyyyzyyz{zz{zz{zyzyyzzzz{zy{{zzz{yzyzyzy{{{zz{{zzzyy{yzzzzz{{z{{yyyzzyxzzzyzz{zzzyzzzyyzzz{{|z{zzyzyyzzyz{{z{{zzzyyxyyyzzzyzyzyyyzxzyxyzz{zzzzyzxyxyyzxyzzyyzzzyzzyyxxxzyyyyzzzzyzyyxyxzzzzy{zzyxyyyyzyzzxyzyz{zzyyyxyxyyyyzyyzyyyyxyzxyyyzyzyyyzyxyxyyzy{zyzyzzyyxyyyyzzzzyy{yyyxyxyxyzyyzyyxyyyzyxxxyyyyzzyy{zyyyxxxxxzzxyzzyyyyyyxyxyzyxzzyzyyyxyyyyyyxxzzyzyyzyyxyyyzzyzzzzzyxyyyzzy{zyyzzzyyzyzyyzzyzyzzzzyyxyyyyzyyzzyzz{zzyzyzyyzzzzyzyzyyzzyzwyzyzzzzzyyyzyyyxyzzzyyzyyzyyyyzzzzz{{{zzzyzzzzzyz{{z{zzz{yzyzzyyzyy{|zzzzzyyzyyzyzzzzz{zzzyzyyyzzzyzzzz|{zyyyyzyzy{zyzz{{zyzzzyzzz{{zzzzzzyzyzzzzz{yzz{z{zyzyzxzyzz{zzzz{yyzyzyyzzzz{zzzzzzyzyyyxyyz{xyzyzzyyyyzyzzzzzyxyyxyyzzzyzyyyzyzyzyxyxxxyzzzzzz{zzyyyyyyyzyzyzzzzzyyyyyyyzyyzyyzzyyzxxyyyzzzyyzyzyxxxyyyyyz{yzyzyyzzyyyyyyyyxzyyzyyyyyzyzyyyzyzzyyyyyyxyyyyzyzz{zyyyxxyyzxyzyyyyyyyyyyyyxxyzzyyzzzyyyxyxyyzzyxzz{zxxyyyxxyzyyyyzzyyzyyyyzyzyzzy{zzyyyyyxyzyzzzzzyyxyyzzyzzyy{zzzzyzzzzzyxz{yyzyz{yzyyzyzyz{yzy{zyyzyyyzzyyzzyzyyyyzzyyyyxzzzyy{{zyyzyzyyzyz{{{{z{xzzyzzzzzzyzy{z{zzyyz{xzyyz{yzz{{zyz{yzz{{yz{zz{zy{zy{zzzzzzzz{zzyyzzzzzz{zz{z|zyzzzyzzz{z{{{{{z{zzzzzzz{{zzz{{{z{yz{yy{{{{{{{{{{zyzzyx{zz{zz{z{zyxzzzzyz{yzzzzzyzyzyyyyzzzyzzyyyxxxxxxyy{z{zzzzyyxyyxxyzy{zyz{{xyyyyxyy{zyzyy{yzyzyyzwxzzzyyzzzzyyyywyzzzz{zzyzyyyyyyxyyyyyyyzyzyyxxzzyyzzxyzyyzyyxxyyzyyzzzzzyzyyyyyyyyzyyzyyyyyyyyyxzyyyzzyzzxzyxyyyxzyzyzzzzyyxyyxxyyyzyyyzzyzyxxyzyyzyzyzyxyxyzyyxxyzzyyzzzzyzxyxxyz{yyzzzzxyyyyyxyzzzyyzyzzyzyyxyyyzzyzz{{yzzyyyyxyyyzzzzyzxyxzxyyzz{z{zzyzzxyzyy{zyzzzzyzzxzxzyzyz{zzzzz{yyzyyzzyz{{zyzzz{zzzzyyzzzzzzyzz{zyzzyyx{{zzzzzzzyyzyyzzz{yz{{{z{zzyzzzyz{{zz{{z{yzzzzzzz{z{y{zzz{zyzzzz{z{z{zz{zzzzzzzzy{zz{zzzzzzzzyyyz{zzyz{zyyyyyyyzz{zzzzyzzzzyyyyyzzy{yyyyxxxxxxywyzyxyyyyxyyxzyyyyyzyzzyyyyyyyyzyyzyyyzzyzyyyzxwyyyzzzyzyyzxxxxyxxzyzxyy{xyyxyxyyyzzzyzyzyyyxyyxxyyzyyzzyzzyyxyxyyyyyyzyzxxzxyxxxyyyyzzyyyyxzzxxxzyyyyzyzyxxxxxyxyzxyyxzzyxyyyxxywzyzzzyzzyyxxyyzyzzzxzyyyxyxzyxyyzyz{yzzyxyzyxyyyzyzyzzzyyyyyxyyyyyyyyxyyzyyxyyyzyzzyzzyzxyzzyyyyzzyzzzyzyyyyyyxzzyxyzzyyzyyyxyzyzyxzyyzzyyzyyyyyzzzyyzyyzyyxzzyyyy{z{zy{xzzyyyyzzzz{zzyzyyzyyyy{zyzzz{{zzzyy{zzz{zzzzzzzzyyyzxyyzz{y{z{zzyyzyzzzz{zy{zyzyy{zyyzyzzy{z{zzyyyyyyyy{z{z{zzzyzxyyyyy{zzy{zzzyyzzxyyy{zzzzzzzyxyxyyyyzzyyyzzyxxzxxyxzyzyxyyzxzyxxyxxyyyzyyyzzyyxyzxyzzzyyzyyzzyxxyyyyyyyyyzzyyyxyxyyyzzzyyyzyxxxyxyyyzzyyyzyyyzyyxxzyyyxyyzxyyxxyyyxzxxzzyzyxxxyyxxyyyyzyzzzyyyzyyxxxyyyzzzzzyyxyxyyyyyxyyzzyyyyyxxxyzyyzyyyyyyxyxxyyzyyyzz{yyyyyxzxyzzyzzyyzyxxyxyxxzzyxzzzyyyyyzzyxzzyzzzzyzyyxxyyyzyzzzzyzyyzyxyzyyzzzzyzyyxzyzyyzyyzy{zzyyzzyyyy{zyyyz{zzxzyyyyzzzzzzzzzyyzzxyyy{{z{z{zyzyxyyxyyz{{{z{zzzyyzyyyz{z{z{z|zyz{yxyzz{{{z{zzz{zyyyzyzzzy{yz{z|xyzzyzy{{z{z{{zzyzyzyzzz{yyzz{{yyzyzzyyzzyzz{{z{zzyyzzz{{zzy{{{yyzyyzzyy{y{zz{yyxyyxyyyyyzzyzxzyxxxyxxxyyyyzzzzyyyxxxyxyyyzxyzzyyxxxyxyyyyyyxzzxxxyyxxyyzyzyxzyyxzxywxyzyyxyzyzyyyxxxxyyyzxxzzyxyywyxyzyyzxy{yzxyxxyyxxyxzyyyyyxyyxxywxyyyyyzzxyyyyxyyyzyzyzyzzxyyyxyyxxyyyyyzxxyyyyxywyyyyyyyyxzyyyyxxyyyyyyyzxyzyyxyyzyzzyzzzyxyxxxyyxyzxyyyzyyxyyxyzzzyxzyzyyyyxyyyyyzyyyyzyzyyzyyyxyzzyyzyyyzyxyyyyzzzzyz{zyxyyyxyxyyzyz{yzyyxzyzyyzz{zzyzyyzyxzzyxzzyy{zz{yyyyzxyzy{zz{{z{zzyzyyzy{zyzz{zzzyzyyyyzzzyzzzzzzx{yzzyzz{zzyzz{zyyyzzzz{{zyzzzzyyyyyyzyzzzzzzzy{yyyyzzyzyzz{z{zyyyxyyzzyzy{yz{zzzyyyyyyzyy|yzyyzyxyxxyxzyzyzyyyyxxyxyyxxyyyxzyzyyxxxyyxyzyzzz{yzyxyyxxxyzxz{yzzyyyyxyyyyxzzyyzzyzxxxxyxzyzzyzz{yxyzyzyyyyxyyyyyyyxyyyyyyyyyyyzyyyyyxxyyyzyzzzzzxxxxyyyyyzzyyyzzyyxxxyxyyyyyzyyyyyyyyyxxxzzzzyyyyyxyzyyxyxzxyyyyxzyxxyyyyyyzyzzzyyxxyxxyyxzyzyzyxyyyyyyzzxyyyyzzyyyyyyyyyyzyzzzzyzyyyxxyyzyyzyzyxyyzzyyyyzyzyz{yyyyyxzyyzz{yyzzyyyyyyyyyzyzzy{yyzzyyzzzzy{zzzzzzyyzyyyzyzyyzzzz{yzy{yyyyzzy{z{zz{yyyyxzyz{zyz{{zyyxyyyyyyzzzzzzz{yyzz{yxy{zy{zz{zyzyzzzzyzzy{zz{zzzzzzzzyyyyz{{{zyzyzzyzzzz{z{zzzyyyyzyzzzzzz{zzzzyzyyyyz{z{yzz{yyzyyxyxzyyyzyyyyyyyyxyyzyyyyy{zyxzyyxyyyyzzyzyzzyxyyyzyxyyyzzzzyyzyyxyyyyyzxyzzyyyyxyxxyzyyzy{zyyyyyyxxy{yzzyzyyyyyyxyxz{yyy{yzyyyxyywyxzyyzyyyxxyyzyyxyyyyzyzyxxxyxyyyyyzyzzzyyzyyyxyyx{zzyyyzyxyxyyyyyzzzxzyxxyyyyyyxyz{xyyz{yzyxzzyyyzzy{zzzzyxyzyzyzyzyzzy{zzyxzxyyyzz{zz{zyyyyyyyxyyzzzz{zzyzzyxyyzzyyyzyz{yzyxzyyzzzzzzzzzzzyyyzyyyzzz{zzzyyzzzyzzz{yzz{zyyzyyy{zzzzzzz{{zyyyyyyyz{zz{zzz{yzzzzyz{{zzzz{{zz{yzz{y{{zz{{{{{zyzzzzzz|z{{{{{{y{zyyzzzzz{y{|{zzyzzzyzzzz{{{{yzzyxzzyyzzyz{{{{z{xyzzzyyz{zzy{zzyyyzxzyyzyzzzzyzyzyzxyy{zzz{yyyyzyyxxyyxzzxzxzzyyxxyxzyyyyyzz{zyyzxyyyxzyzyzyzzyxyyyzyxyyyzyyzyzzyxxyyxyyzzyzyzyyyyzyzxzyyyyzzzzyzxyxyxyyyyyyyyyyyyxxxyyyzzyzzzzwyyxyyyyyyzzzzyyyyyxzxyzyyyzzzzyzyxxyxxyzyyzz{zyyyyyxxxxzyzzzyzzyyyxyyxyzyyyzyzyxyxyyxz{{yzzxzzzzxyyxxyzyzzzyyzzyyxyyyyzzz{zz{zxyyyxyyyyzzzyzzzyzyyyyzyz{yzzz{yzyzyzyxyzzzzzz{zyyyyyyzzzzzzzzzzzzyyyzzyz{{zzzyzzyyzxzzy{y{zy{z{zyzzyyzyzz{zy{{zzyyyzzyy{yyyzzz{yzzyzzzxzzzy{{zz{yz{zzyzy{zzzyzz{yzzzzyzzz{zzz{zzzz{zzyzy{xzzzz{zzzzzyyzyzy{z{{{zyzzyyyy{{zzy{zzzyyzzzyyzy{zyzzzyyyyyxyxzzzzzyxyyyyzzxxxzzyyyzyzyyzyyxxyyzzzzzzyzyyxyxxxyyxyyzyzyyyyyyxxyyyzyzzzyyxyxyyxyyzyzyyzyxyyyxxxyzyyyzzyxxyxxyyyyxyyyzzyxyxxyywxyzzzzzyzxyyxxwxyyzzyzz{zyxyyxyxyyyyyzy{xyyyyxyyyyyyyzyyzxyyyyxxxwyyzyyyzzxyxyzyyz{yzy{yzxxxyyzyxyyyzzzzzyyyyyyyyxyzzyzz{yyyxyxzyyyzyyzzzyyxyyyxyyzzyyyzzzyyyyxyyyzzzyyyyyyyxxyyyzzyzyzzyyyyyzzzyyz{yyzzyzzyzxzyzyzy{{yy{yyzyyzzyzzyzz{{{yyzyyyyyzzz{z{{zzyzzyyyyz{zzz{{{zyxyyzyyz{zzzzz{|zzyz{zyz{|z{{z{zyyyzyyz{zzzzz{yyxzzzyyzzyzz|zzzyzzyzyzzzyy{z{{zzzyyyyxzxyzz{{zzzzzxxyyxyyzzzzyzyyyyyyyyyzy{yxxzyyyyxyxyyyzyyzyyyyyyxyxwyzyyzzy{yzyyxyyyyyx{z{zzyyyyxxxyyxxzxyyyyzyyxyyxyyzzyyzzyyxxxywxyzyyxyyzyxyyyxxxyyyyy{yyyyzyxzyxyyxyyyzzyxyzzxyxyyzyyyzyxyxxwyxxyyzyzyzyxyxyyxyyyzxzyzyyyyxyxxxxxyyzyyzyyxyxxxxxyyzzzzzxyzzyxyyxzyzyzzzzzyyzyxyyyzyyzzzzxxzyyzyxyzyzyz{zxyyyyyyxzzzyzzzzzyyyzyzyy{zy{zy{yyyyyyxyzzzzy|zyzzyyyzyyz{zzy{zyzyyyyyzzzzyzyzzzyyyyyxyyzzzzyzz{zzzzyyyyyyzyzy{zzzyyyzyzy{zzzy{{yyyyzyzzz{zzzz{z{yzzzyyyz{zzyz{y{zyyyyyyzzyzz{zzzzyyzzyzzzz{zzz{zzyyyyzzzzzz{zz{zyyyyyyyzzzzzzzyzzyyxyyyz{zzyzzz{yyxyyyyzyzzyyzyyxxyxxxyxyzyyzyyyyyyyyxwyxzyxyyyzyzxxxyyyzzyyzz{yyxxyxxxzyzyxzyzyyxyxxyxyyyzyzy{yxxxyyxyxzzyyzyyyyyyyxyyyxzyxyzyxyyyyxxx{yyyyzzyxxxxyxxxyyxzzyzyyyxzxyxyxyyyyzzzzxzyxxyxyzyzyzyyyxxywxxyxxyyxzyzyxxyyzxxyzyzyzzyyyyyyxxyyzzyyyzyyxyyyyyxyyzyyzzzzyyzyxyyyyyzzz{{zyyzyyxyzyyy{yzzyyyyyyyyyyzyzyzyzxyzxxyyyzzzyy{yxyyyy{yyyzzyyzz{zyyyyyyzyzzzzzzzzzzzzyzzyyzzzzzz{xyzzyzxzzzzz{zyzxzzyxzyz{zzzyz{yz{zyzzzzzyz{zzzzzyzyyzzz{z{zz{zzyyzyyyzzzzzzzzyzyzzyyzyyyyzyz{z{zyxzzzx{{zzz{z{xzzyyxyzyyxz{{{{yzyyzyzyzyzzyzzyyyxyyyyzyyzyzyzyzyxyzyxyxyzyzyyyyzxyxxxyyyyyzzzyzyyxyyyyzyzyyyyzzyzyyxxyzyzyyyyzyyxxxxyyyxyxyzzzyyyxyxzxyyzyyyyyyzyyxyyyzyyyxyyyyxxxxyyyyyzxzzyzyyyyyxxyxyxzyyyyyxyzxyxyzzyyyyzzzyyyxyyyzyzzyzzzxyyyxyxxxyxxyyzyzxyyywxxxyyyyyyzyyyxxyzyzzzyyyzyyyzxzyyyzzyyyyzzxxyyyxxyzyzzyyzyxyyyyyyyyyzyzzyzyzyxyyxzyyyzz|yzzyxyyyxzyyyyyzzzyzyyzyzyzzzzyzzyyzzyzyyyzzzzz{z{xyyzzzyyzyz{zzzzyyyzyyyyzzzy{yz{yyyyyyyzyyzzzz{zyxyzzzzyyzzzzzzyzyyzyzz{y{zzzzz{zyzzzyyzz{{y{zzzzzyyzzyzzyzzzz{zyyyzyzyy{zz{{zzzzyyxyxyyz{zzzz{zyxxxxyyyyyyzzyzzzyzyyyzxy{zyyyyyyyxxyyxxyyzyyzzyyxyxxyxyxzxyyxzzzyyyxyyxzyyyyyzzzyzxxxxyyyzyyyyy{yyxxxyxyyzyyyyzyzywyyyyyyyzyyzxyyyxyyxyyyzxyyzxzxyyzyyxxyyzyyzzyxxyxyyxyzyyyzxyyyyxxxxyxyzyzx{yyxyxxyxxyzzzyzzxyyyxxyyyzyyyzzyzyzzxyxxyyzyyzzzxyyzyyxyxzzyyzzz{zyyxyxyxyyyyzyyzyyyyyxzyyzzzyzyzyxyyxxzyyzyzyy{zzyyyyyyzyyzzz{yzyyzyzyxzyyyzyzzzyyyzzyzyzyzyyzzzyyyyyyyzz|yz{{zzyyyyyyxzzzz{zz{zzzyyyzyy{zzzyz{zzyyyzxzyz{zzzz{{yyyyyzzzzzz{zzz{zyyyyyyzzyy{zzzzyyzzyzyz{zzz{zz{{yzzzyyyyyzz{zz{z{yzzzzzzzzz{z{zzzyxyyyyzzzyzy{z{zzyyyyxy|zzzzzyyyyyyyyyzzyzyzyyxxyyxzxxzyzxzyzyyxxxyxyyxyyyyzyzyyxxyzyyyyyzzzyzzzzyyxxyxyzyyzyyyyzxwxxyzzyzyzzyyzxxyzyyxzyxyyyxxyxyxxxyzyzyyyyyyxxyxyzxyzxzyy{ywyyyxyyzyyzyyzyyxyyxyxxzyzzzzyzzxyxyyyxxyyyzzyzyxyxxyxyyyxzyyzzyyzyyyyyxxzzxy{yxyyyxyxxxyzyzyyzyyyyyzyyyyzyyzzzyyxzxxyyyyyzzyyzzzxyxxzyyzy{zy{zzyyyyyyyyyzzzyzzyyyyyzyyyzyzyzzzyyyxyyyyyzzzzzyzzzzyxyyyyz{yzzz{{yyzzzzzzzzyzzy{zyzzzzyyyzzzzzzyzzyyyyzyyz{yzzzzzyyzyzyzzyzz{zz{y{yyyzyyzyzz{z|zzzyzzyyzyz{{zzzzzzzyzzzyyyzzzz{{zzyzzzzyzzyzzzzzzyyzyzyzyzzz{zzz{zyzzyyzyy{z{{zyyzzxyyxyyz{{yyyyxxyxyyxzxxyxyyxzzyyyyxwwxzyyyyzxyyyxxxxyxyyxyzyyyxyyyxxyyyxyzyz{zyxzxxyyxyyyxzzyzyyyxxyywxxyyyzyyyyyyxxyyxzyyyyyzxxyyxyyxyyyyyyyyxxxxyxxxxxyxxzzyxyxyyywyyyzyzyzxyxxyxyxwzyyyyyyzyyxxxxxxyyyxyzyyxxxxxxyyxyyyxzyzxxyyxyxxyzyzyzyzyyyyxxyyzzy{yyyzzyyxxxyyyzyyzzyzxyyyyzxyyyyyyyyyyxyyyyxyyzyzzyyzyxyxyxyyyzyxzyzyzyxyxyxzyyzzzyyzzyyxzyyyzzzzzzzzxyzyzzzzy{zzz{zzzyzyxyxx{zz{{z{zzzyyzzyy{zz{z{{yyyzyyzyzzyzzzzzzz{zyzyxyyyzyyz{zyzzyxxyy{zyzz{zyzyyyzzzzzzzyzz{{yyzzzxyyzzz{z{zzyyyxyxyxxzz{yyz{zyywxzyxyyzzyzzyyzyyyyyyzz{yyyzzxyxxxxxxyzyyyzzyyyxyyyxxyxyzyyzxyyyxyxywxyyxyyzzyyywxyyxyyzyyyzzyyxxxxxyyyzyyzzzzxyyxyyxxzyyzyyzyyxyxxxxyyyyxyyyzyxxyxxzzxyyyyyywxxxxyxyyzyzxyyzyxxxyyxyyyyyyzxyyyyyxxxyyyxzx{yyyxyxxxyxyyxyyyzyyzxyyxyzyxyyzyyyyyyxyyyxyyyyzyzyyyyxxxyxyyyzyzyzzxyyxxxxzyzzzzzyzyzyyxyyyyyzzy{zyzyyxxxyyyzyyzzy{yyxyyyyxyzzxyzzzyyyzyyyy{yyzzzzyyxzyyyxzyzzyzyyzyyxzzxxzzyzzzzzyxzzyyyyz{y{zzzzyyyyyyyzzzyyzz{zyyzyyzyzzyyzzzzzzyxyzzyyyzzy{zy{yzzyyyyyy{zyz{zyzyyyzxyzyzyzzz{zzyyzzyyz{zy{zzzzzyxyyxyxzzzzzzzzzyyyyxyyzzzzzyzzyyyyyxyxzz{yyxyyxywxyxxxxyzzzyzzxyyxxyyxyxyyzyzyxyxyxyyyyyzyzxzzzyyyzyxyzyzzyz{zxyxxxxyxzyyzzzyzyyyyyyxwyyyxyzzyzyxxyxyyyyzyxyyzyyyxyyyyxyyyyzzyxyyyxxxyyyzyyxzyxyyzxyxyyyyyzyyyyyyyxyxxyzzzzzzzyyyyzyyyxzzyzyyyxxyyxxyyxyyzyzyyxyyxyzyyzyyxyyzyzyzyzzyyyyzyyyzzyyxyyyyzyyzyzzzyyxyyyyxxyzyyyyzzyyyxyyyxyzzz{zyzzyzxyxyyyzzzyzyyyyxzyyyyyyzzyyyyzyzyyyyyzzyzzz{zyyyxyzyyzyz{zzz{yxyzyyyyyzz{{zzzzxyyzzyyz{{zzzz{zzzzy{zyyyyzzzz{zyzzzzzzzz{z{{zzzyzyzyyzz{zzz{z{{zzzzyyzyzzzzzzzzzyzzzyzy{zzyzzzzyyyzyyxyyzzyyzzzyxyyyyxyyz{yzzzyyzyyxyyzz{yyzzyyyyyxxyxxyyzyyzzxzyyxwxxxyyzyzzzyyyxyyxyzxyyzzzyyyxyyyyxyzyyyzyyzyzyyxyyzyyyxzy{yyxyyzxyzyyyyyzzzxxxyyzyyyyzxzyyyzyxxyxyxxyyyyxzyyyxyxyyyyzyyzyzyxyyxyxxzzyyyyyyxxxyyyxxyyyyyxzyxwyxyyxyxyyyyzyzyyyxyxzxyzzzyyyyyyyxyyyyzzyyzzyyyyyzyxxyyzyxyzzzyyxyyyzzzyyzy{zzxyzxyyzyyzzzzzzyzyyxxxyzzzzzyzyzyzyyzyzyzzzzzzyyzyzzxyyzzzzyzz{zxyzyxyzzzzz{yz{zz{yyyyzxzzz{yz{zzxyy{yzyyzzz{z{zzyzzzyzzzzzzz{{zzyzyyzyzz{xzyzz{{zyzyzzzz{z{zzzzzzyyyyyzz{z{zyzz{yzyzyzzz{zzzy{{zzyzyyzyzzzz{{zzyyzyyyyzyzzzzzz{zzzzyzyyyzzzzzz{yyzxyxyyyyzyzyyyyyzzyxxxyyzxzxyyyyzyyyzyyyzyzzzzyyxxyxyxzxzwyzyzzxxxyyxyzyyyzy{yyyyyxxyxyyzzyzyzxxyxyyxxxyyzyzyyzxzyyxxyzyyxxyyyyyyyyyxxyyyyyyyyyyxxxxyxyxzyyyzyyyzxxywxzyyyyyzyyyyyxxxyxzzyzyzzxyywyxzxzyzxyzzyyyyxxyxxyyxyzzzzzyyxyyyyxzyyyzyzzyyxxxzyyyyyzyyyyyzxyxxxyzzyyzzzyzyyyyyyz{zyz{zzzzyxxzxxyyzzzzz{yyyyzzyyyzyzzyzyzyxxzxxyzyyyz{zz{xzyxyyyyzzzzz{zyzyyyzzxzzyyyzzzzyyyyxyzy|{z{zzzzyzyyyzyzzyy{zz{yzzzyyzyyzzzzz{zy{yyzzyxyzzy{z{zzxzyyyzyzzz{zz{zzyyzzyyzzyz{yz{zzzzyyyz{zyzz{{yzzyyyyyyxzyzz{z{{zzxyyyyyzzyyzzzzyytxyxyxyyyyyyyzyyxxyywxyyzyzzyzyzyzyyyyyyyzyzzzyyxyxyyyzyyyzyzzyxzxyxxyxzxzyyz{yyyxwyyxxyzyyyzyyyyyxxxxyyyyyyzyyyyxyyyyxyxxy{yyyyzyxyyyyyyyyxzyxxxyxyxyyyzyyzyyxyxywyxyzyyxyzyyzxyxxyzwzzyyzyzzyxyyyyyyyyyyyzyz{zyyyxxzyzyzyzzyxyzyxyyyyzyyyyzyyzyyyywyyyzyy{zyyyzyzyyyyyyzxyyzyyyyxyyyzzzzyzzyxyzyyxyyyyy{zzzyyyyyzzzyyzzzyzzzzzyzxzxyyzzyyzzzyyyzzyyzyzzzz{zzyyyzyyzyzzy{{zzzzyyyyyyy{zzzzz{{zyzy{yzyyzzzz{yzyzzzzzzzyzzz{zzyzzyzyyzzz{yzyzz{zyzzzyzz{z{zzzzzzyzzzyzzzyzzz{{zzzyzzyzy{zzzz{zzzzzyxyyyzzzz{{z{yyyyzzyxy{yzyzzzyyyyyyyzxyzzzyyyyxyyyyxxyzyyzzyyxxxyxxyyyxyyzyyzyyxxxyyyzyyyy{yzzxyyxyxyzyyyxyzyxyyxyyyxzxyz{zyzyyyxzyyxyyyzyzyyyzyyxywyxyzyyyyyyyxxyyxxzyyyy{yyxwxyxxxxyyyx{z{zyxxzxyxyyxzyyzxyyyxyxyyxyzzyxzzyxxyxywxxxyyyyzyyyyzyyyxxyzzyzzyyzyyyyzyxyyyyzzzyyyxxxxyxzyyyzxy{zyzyxxyxzyzyxyz{yxyyyyyyzzyyzz{zyyyxzxyyyzzzyzzzxyyyyyyxzyyyyy{yyzyzzyxyyzyzyyzzzzzyyzyyyyyyzzzzyzyxzxzyyyz{{{zzyyzyyzzyzzz{zz{{zxyyyyyzzzzzz{zzyzzyzyyzyzzzzzyzzzyyyyzyz{zzyzz{zyzzzzyy{{{yzz{zyyzyzzyzz{{zzz{zzyyzzzzyzyy{{{{zzzzxyyzzzzzzyzzzzzyyyzxyzyyzzzzzyyzyzyyyyz{yyyyzyyxyyxxyyzyzyyyzyxyxyyxyyzyzyzzyyywwyxyxzyyyzy{zyxyxxyxyyzzyyxzzyxxxyxxyyyyyyyyzyyyyxxyzzyzyyyzzzzxywyxxyyzxyzyyyyyxxyyyyyxzyzyyxwyxxxxxyyyyyyyzxyyxxxyxyyzyyyzyyxzyxyyxyyyzxyzzxxyyyxyxxyxyyyxxyyxxyxxxxzyyzzyzyxzxxyyxyyzzyzyyyyyxyxxyzzxxzyzyzyyxyxyyzyzyy{zyyyyxyxxxzyzyzz{zyyyzyyyxyzxzy{zzyyyyyyyxyyz{yzzyyyyxyyzxyzzyxzyzyzyxyzyzyyzzzzzzyyyyyzyyyzy{zzz{yzyzyxyyzzzyzzyzyzyyzyzyzy{{zyzzzyyyyzyyzzzz{{zzzyyyyzyzz{yzz{{zzzzzyzyzzyz{{zzzzyyyyyzzzyzzzyzz{zzyyxyzzyzzzzyzzyyxyyxyyyzzyz{yyzyyyyxzzzzzzzzzyzzyzxyxzzzzxyxzxxxxyxxxxzzwyyzyyxxxyxyyyzxyzyzyy{xyyyxxyzzxzyzyyyyyyyyyyzyyy{yyzyxxyyxxxyxzxyxzxyxyxxxyyzyyxyyzyyyxxxxwyyzyyyyxyyxyxxyxzyyxyyyyyxyywxyxyyyyyyzyyxyxwyxxxzyyzyyyxyxxxyxxxyzyyyyyyxyxyyxxyyyyx{yyxzyxyxxyyzyyyyyxywyyyzxxyxxyyyyyzxyyzyyyyyz{xzzzxyywyyyyzyyyyyyzyxyxyzxy{zyyyyzyzxyxxxyxyzzyz{yyyzyyxyxxyzzyyy{zzyxxyyyyzyyyyzy{zyzzyzyzzzyzzz{zxzzyzyyzzyyzzzzzyyyyxyyyy{zzzyzzzyyzzzyzzzzzzz{zyzyy{yyyzyy{zz{{zyyyzzyyz{yzzz{zzyyyyzy{zyyzzzzzzyyxzyzzyyzzzzzzzyyyzyyyyzz{zyz{yyyxyyxxzy{z{{zzyxyyzyzyyzyzzyyzyyzxyyyxzzzyyzyyxyxxyxxyyyyzzxzzyxxxyxyxyyyxzy{yyxxxxywyzxyyxzzyzxzyxyyyzzzyyyzzyyzxyxyyyzzxxyy{yzyyyxxxxyyzxyyzxyxyxxyyzyyyyzyyxxyxxzyyzyxyyyyyyyyxyyyxxyyyzyyxyxyyxyxyyyzxyyyyxyyxxxyxxyyyyyyxyyxzxyzyyyxyyxxzyyxxxyyxyzyyyzyzzyzxzyyxzyxzzzyzzyyxyyxxzyyzyyzzyyzxyxxyyyyyyyyzyy{yyxyxxzyzzzzyzyyyzxyxxzyzzzzyyyyyyyyxzyzzyyzyzyzyyyyxyyzyyzyyyyzxyyyyzzz{zz{zyy{yzyyyzzyyzzz{yyyyzyyyz{{z{yzz{zyyyyyyzzzzzzz{zzzxyyzzzyzzzz{zzyzyyzzzz{zzzz{{{zyyyzzyz{zzzzzzzyyyzyyyzzz{zzz{zyxyyyzzzzzzzzzzyzyxxzyzzzy{zzzzzzzyxzzyyzzyzzzzyzzxyyyzyzyyyyyyxyxxyyyzyzyyzyyzzxyyxvxyyxyyzyzzyxyxxyyyzyyzyzyzyyxxxxyyy{zzxyzzyyzyyxywyzxyyzyzxxzxyxzxyyxyzyyyyywzwxyxzyyyyzyzyyyxyxxyzyyyyzyzyyyxzxxyyxyxyyyzyyyzyyyxyyzyyzyzyyyxxyxxyyzyyzyzyyyyyyxxxzyzyyyxwyyxxxyyxzyzyzzzxyyyyyyyyyyyyzyzyyyxyyyyzyyxyyzzxyyzyxxxzzyzyzyzyyyyyzyyyyyyyzzzzxyyxyyyyzzzzzyzyzyyyyyzzxzzyyzzzxyyxyyyz{yzyzzzyyyzyyyyzzzzzyz{yzyxzzyzzyyyzzz{zyyzzyyyzzzz{z{zzyyzyyxyzzzzzzz{yyyzzzzzzzzzzzz{zyyyyzzzyzz{zzzzzzzzzyzzyyzyz{zyzzyxzyyyzzzzz{zzzzyzyzyzzz{zzzzzzyyyzxxyxzzyyzzzyzyyxyxyzzzzzzzyyyzyyyxyzzzyyzyyxxxwyyyyyyxyzyzyxxxyxxwyxzxzzyxzxyzxxxxxxyxyzyzzyxxyyyyxyzzyyyyyyzyyxxxxyyyyy{yyxxyyxyyxyyyyyyyyyyyxxyxwzyyyyyyxyyyxxxxyyzyzxyyzyyxyyyxwyyyxxyyyyywyxxyxzyyyyzyzyyxxxyxyyyyyyyzzyyxyxxxxxyxzxyyyyyxyyxyxyzyxyxyyxyyxxyxxxyyyzyzyzyxyxyyyyzyzxz{zxxzyxyyyzyyzzzzzyxwxxyyyyz{zxz{zyyxzzyyyyyzyzzy|yyyxyyyzzzyyzzzyyyyzyyyxzzzyy{yyzyyxzyyyyzzzzzyzxyyyyyzyzzyzzz{{yyyyyyxyyzzzzz{yzyyzxyyz{{zzyzzzzzyyxzyyyzzzzzyzzzyyxzyyzz{zzzzzzyzxzyyyzz{zzzzzzyyyzxyyzzzzzzzzyzzyyyxyzzzzyz{{yzyyzyyyzxz{zzzyyyxyyzxyzzyyzzz{yxyyywxwyzzyzyyyyxxyxyxyyyzyyyyyyyxzxwxyyzyxyz{zyyyxyyyyyyxyzzyyzyyxyyyxxz{yyyyzzxxxyyxxzyyyzyy{yyyxyyyxyyyyyyzyyyywxyyyzyzxyyzyyyyyxyyyzyyyyyzzyywyyyxxzxzyyz{yyxxyxyxyyzzzyyyyyxxyxyxwxyyyzyzzzyyyyxxyyyyyyyyyyyxxyxwyyyyyyzzyyyxyyyxxyxxzyyzzyyyxywxxyyyyzyzyyzyyxyxzyzyyyzzzxxxyyyzyzyzyzy{yzyyyyyyyz{yyz{zyzxyyzyyyyzyzzz{zyxxyyzxyzzyzyzz{zyyzyxyyyzyz{z{zyzyzyzzyzzyy{z{{yyz{yyxyyzy{zyzzzzzzyyyyzzzzzzz{zyzzzzzzzz{zzzz{zyxzzzzyz{zz{zzz{yzzyyzxz{zzzzzzzyxyyxyzzyzz{zzzzzzzyyyyzzyzyzzzzyxxzyyyy{yyzzzzzzzyzyyyy{yzzzz{zyxxyyzxyzyzyzzzyyyxxyxxyzyyzzyzyyyyyyyxzzyy{z{zyyyyyyxyyyyzzz{zyyyyyyxyzzzzzz{yyzyxyyyxyyzzzzyyyyzyzxyxyzyxzzyzzyyxyxyxzzyzzyzyxyxxyyyxyzyzzzyzxyyxxyyzyzzzzyyyyxyxyzyxyzzyzzzzxyzzyyyyzyzzzzzzyyyyyxyxyyyyyyyzxzyxxyyxxzzzy{zzyxyyxyyxyyyyzzzzyyyzyyzyyzzzyyzzyxzyxyzyyzzzzyzzyyxzyyxyyzzyzzyzyyzxzyyyzzzzzzzzzyyyxyyzyzz{zzzz{xxyyyyy{zzyyzzyyzyyyzzyzzz{zz{z{zyyzzyzzzzyzz{zzyyzzyyz{{zz{zz{zyyyyzzzzz{z{z{{zyyyzzz{y{zzyz{z{zzzzzzyzz{zz{z{zzzzyzzyzzz{{{zzzzyzzyyzzzzz{zz{zzyzzyzzz{z{{zz|zyyyzzyzzzzyzz{zzyxzyzyyyzyyzzzyxyyyzyyzzzzzzzyyxyyyyyyxxyzyyyyyyyyyxxxyyzzzzzyzyyxyyzwyyyzzzyzzyxyyxyyyyyzzzyyzzzyxyyxyyyzzzyzzzxyxyyzxyyyyyzzzyxyyyyyxzxyxyyzzyyzyyyywyyyyyzyyxyyzxxyxy{zzyyzzyyyyyzxyyzyyzyzzyyyxxxyxyyyyyyyzxyxzzxyxyyyyyyyzyzxxxyxxxyyzy{y{xxyxyyxyzzyyyyzzyyyzzxyyyzzyyyzzyyzyyyzxyyzyyzzzxxzzxyyyzzzzyyz{yyyyyx{yxyzzyzyzzyyzyyyyzzzyz{zyyyyyyyzyz{{zyzzzzyyzzyyyyyzzzzyyyyzyzzzyzzyzzz{zyyzzyyyyz{z{zzzzzxyyyyyxyz{{zzzz{zyyzzyzyzzzz{zzyyyzyz{{zzyzzz{{zyyyyyyzzyzzz{{yzyyzzzzyzz{yz{zzzzyzzyzzyz{y{zz{yzyyzzzyzyz{zzzzzzzzyxyxzyyzzyzzyyyyyxyxzyzyzzyzyyyyyxyxyzyxyzxyzxzyxxxyyyzyyzzyyyyxyxzyyyyzyzzyyxyyyxyyyy{zyyyyzxyyxxxyxyyzzyyzyyzyyyzxyzyyxzzzzxyxxyyxyxyxyyyyyyyxyyxyyyzyyzzyxxxyyyxyyyzzyzzyyxxyxzyxxyzzzyyzxyywyxwyxxyyzyyyyyxzxxxxxzyyzxyyyxyyxyyxxyyxzzyzxyxyxyxxzzzyzy{zyyyyyzyyzzyzzyz{yyyywxxyyyyyzzzyxyzyyxyyzyyzzy{zyyyzyxyyyzxyzzzyyyyyyyyzzzyzzzzzyyyzzyyzz{y{zzzzzyyyyzyyyzzzzzzzxzzzyyyyyzz{zz{zzyy{zzyyzyz{zzzzzyzyzzyyyzyz{z{{zxzyz{{yzz{z{|z{{zyyzzxyzzzzzzzz{zzzyyzzzz{{zzzy{zzzyzxy{z{zy{{zzyzzyyyyzzzzyzz{yy{yyzzyzzzyz{{zyyyzyxyyyz{zzzzzzxzzxyyyyyzy{yyyyywwxxxxyzzxyyyyyyxyxwyxzyyyzzzzxyyzxyxxyyxyyyzzyyzyxxxyyyyzyxyyxyywyyxxzxzyzyy{yyyxyyxyyzxyxzzzzyyyyxyyyyzyxyzyyyyxzyxyyyxyxzyywyyxyxxxxyyzyyzyxyywyyxxyyyzyyzzyyxwyxyyyxzzyzzzxxyxyyywyxxzyzz{zywxyyyyyyyxyyzzyxzyzyxyyyyzzyzzxyyxyyxyyzzzzzzzyxyyxyyxzy{yyzxyxyyxyyyyyyzyzyzyyyyyyyyxzzzzzyyzyyyxyyxzzyz{zzzzyyyzzyxzyyzyyyyzzzzyz{yyzyz{zzzzyzzyyzyzzzy{y{zzyyzxyxyx{{zzyzzzzxyz{xyxzzzzyz|zzyyyyyzzyzzzy{zzyxzyyzyzzzz{zzzzzz{yyyzzzy{zz{zz{zyyzzyyyzzzzzzzyzyzzxxyzyyzz{zzyzyyyyxyzyyzzzy{zyyxzzyzzzyzzzzyzyzxyxyy{yyyzyzzxxxyxywxxyzyyyzyyxxyyyywyzyyzzzzyyyxxxxyzzyyzyyzyzxxyyxxyyzyyyyzyzyxxxyxzyyzzzzzxwyyxxxxyyyyzyyyyyyxyyxyzzyzyyyyyxyyxxyyxyyzxzyywxyyyyyxxzyyyzzxxxxxxxwyyyzyyzzzyyyyxyyxxzyzyyxzyyyzxxxxyyyxxyyyxyyxyyyxwyyyxzzzyyyyyywyyyzzxyzzxyyyyyyyzzxyyyzzxxyyxxyyyyyyyzyyyyzyxxyyzzyzy{zyyxyyyxyyyzyyzzyyyyxyyzxyyyzzyz{yyxxyzzxzzzzzzyyyyyyxzzzyyyzzyyz{yzzyyyyyzzyzyyzzyyzzxxyyzzzz{z{zzyzyzyyx{zyzz{z{xyzyyzzzyzy{yzy{zyzyyyyyz{zyzyzzzyzyyyyzzy{zzzzzzyyzzzzyzzzzyz{|zyyx{yyy{zzzzzzzzzzyyzyyy{y{yy{yyxyzyyxxyyyyxzzyyyywzyzxzxzzyyzyyxwyxyxxxzyxyyyxzyyyxyyxzzyyzzyyxyywyyyxyyyyyyyzyxyzyxxxzxyzyyy{yxyxxyyxxx{yyyzzyyyxyyyxwyyyyzzyzyxxxyxxxyyxyyyyxyyxxyyyzyyyyyzzxxyxxywyxzyyyyyyzxxxxyyzyzzyyyzyywxyyxxxyyzzyyyzywyxyyxxxyyxxyyxyxywxyxxxzyyxyyyxyzyyxxxzyyyyyzyyyxyyxyyyzyyyzzzyxzxyxyxzyzyzzzyyxyyxxzxyyyyyzyzyyyyyxxzzyzzyzyyxyxyyyxyyyzyzzzzyzyzxyzyyzzyzzzzzxz{xyyzzzzzzzzzxyzyyy{zzzyzzzz{xyyxyyxyyz{yzzzzyyzyyyyyyzzzzz{zzzzzzz{zzzzzz{{zzyyzyyzxz{zz{zz|yyyzzyzyzzzzz{zyzxwxzyzyzzzyyzzz{yyyzzzz{yyy{zz{xzyxyzyyzzyyzzzzzzyyyyyyy{yzzyzyyyyyxyyxzzzxyzyzyzyyyxywyzzyzxyzyyyyyxxxyxyyyz{zyyyyxyyzzxyyzzzzyyyyyyyyyzyzyzzzyxyyxyxxyyxyxzyyxxzyzyxxyyyzxyyyyxyxyxxxzyyxyyyyyzyyzxxyzyzyyyyxyxwyxxxzyyyyzyzzyxyyxyxxzzyzyzyyyyyxxyyyxxyyyyzyyxyzxxywyyyyyzyzyxyyyyyxxzxyxzyzyxyyxyyyz{yyyy{yzxxyxxyyzyyzxyzzzzyzyxyyzzzzzzyzyxyyxxxyyzzyzyzzyxyyyxyyyzz{yyzyxyxz{zyyyzyzyyzyzzyyyyyxzy{zz{zzyzyzzyxyyzyzz{zyyxzyzyyyzzyzzzz{zzzzzxyzzy{zzzzzzyyzzzyzzz{zzz{yyyzzy{zz{zzzz|zzzyyzyzyyz{{zz{{{zzzyyzyyz{z{z{zzzzzy{xyyyyzzzz{yzyyzzyyy{z{yzzz{yyyzxzyyyzzzyz{zzyyyzxyxyyyzyzzzzyzyzyyzyyzzzzyyyxyxxxxxyyyyzyyyxzxxyyxyzzyyyyzzyyyxyyywyyyxyzzxzyxxyyxyyxyyyyzyyxxxyyyxxxxyyyzzyxyxyyxxxzyxyyzzyyyxyxxxyxzxyyyzxwzwwzxxyyyyzyyxxxxyzyxxyyyyxyzxxzyyyxxxxxyyyzzzyyxxxxxxwxxyyyyyyxxyxxxxxyyxzyyyyyxxyyzxyzyyyyzyyxyzxyyxxyyyzyzyyyyyyyzxyyyyyyyzyyyyxxyyzzzyyzz{xyyyyyyyxyyyzyyzzyyyyyyyzyzyyyzyyxyyxyyxz{yyyxyyzyyxyyyyyxzyzzzyzyyxyyyzyyyyz{zzzxzyyyyy{zyyzzy{zxyyzyyzzyz{zy{zyzzzzyyz{zy{yzz{z{yyzzzyz{zz{zyzzzyzzyzyy{{zz{zzyzzzyyzyzyzzz{zzzxyyyyyzyzz{z{zzz{yzyyyyyzzzyz{{zyzyyzzyyyzyzzz{yyyzyyyyyyzzzyzzyyzyzyyyyyzzzzxyyxxxywxxxzyyyyxzxyyywxyxxyzyyzzzxxwxxyxyzyyyzzzyyzzyyxxwyzyyxyyyxxxxxxxyxyyyzzxyyyyyyyxyyyyyxyyyyxyxxyyyyyyyxyyzxyxxxxyyzyyyxzxzxxyyyyxxyyxxyyyyyxyyxxxyxzzzzzyyxywyywxxxyyxyyyyyxyxxyxxwyyyyzzyxzywxxxyxyyyzzyzyyxxyyyyyyxyxxzyxxzyyyyyyzyyzyyyzyyyyxzxyxzyyyyzyxyxyxxyyzyzyzzzyyzzyyyxyyyzy{yxzyyyxyyxyzzzyzyzzxzxzzywzzzyyzzzyzxyyyyzzzyzzyyyxzyyyyyyyzy{z{zzzyyyzyyyzzzy{{yzyxzxyyyzz{zz{zzzzzzyzzyzzzzzzzzzyyzy{zzyz{zzzz{yzyyzyyzzz{zzzy{zzyyzzxxyzzzzzyzyzzyzyyxxyyyz{zz{zyyyzzzyyyxzyzzzyzxzyyyyyzzzyyzyzxyyzyxxyzzzxyxyyyxxyxyxxyzxyyyyyyyxxyxyyxyyxzyzyyxxyzxxyyyyzyzzyyyxyxyyzzyzyyyyxyzxxxyxyyyyxyyyyyyxxxyxxyyyzyzzzyyyyxxxyyzxyyyzyxyyxxxxxyzyyzyzyyyyyxyyzyzyyzxxyxxxxyxyyyzyzyyyyyyxxxyxxxyzxyzzyxywyyyyyyxxyyyzzyxyxxxxyyyyxzy{xxyyzyyxyyzyzzzzyxxxyyyxxzyyyzzzyyyyyxxxyzzyzzzyyyzyyxxxxzzzz{zzyyyyyyyyyzzyyyyzzyyyyyyyzzyzzzzyzzyzyxyyzzzyyzyzyyyzyyzyzzz{{{z{xyyzzyzzz{zyz{zzzyyzzzzxzzzzyz{zzzyyyyzzzzzzzzzzyzzzzyzzyzzyz{zz{zyyzzyzz{zz{{{{zyyzzyyyzzz{{zyzzzwzzzy{zy{zz{yzzyyzy{yzzzzzzzz{yyzyyzzyzyzzzz{z{yyyyy{yyyzzzzz{yyyyxxzyyyyzzyzzyxyyyxyyyzyyzyyzzxzyyyyyyyzzyzzzyyxyxzxxyyzzyzzzzyzzyyxyyzyyxzyzyxxxxyzyyzzyyyzyzyyxyyywzyyyy{zyyzyyyyyxzyzxyyyyyyyxyyyyyyyzzzyzxxyxzyyzyzzyyzzyyyxxxyxyyzyzyyzzyyyxyyyyzyzzzyzyyyxyyzxyxyyyyyxyxzxxyyyxxzyxyzzzyxyyyzxx{zzyzy{zyyyzyxzxzzzyyzzzyyyyyxyzzzy{z{z{yyzyzxzzz{yyzzzzyyzzzzyxyzzzz{z{zyzyyzyy{zyzzzzyzzzzxyzyzzzzzzzzyyyy{zzyzz{zzz{zzzyyyzzyzzy{zz{{zzyyzyzyyz|zz{zzyyzyyyzzz{{zz{{{zzyyxzy{zzzyy{{zyyzzxzzzy{yzzz{zzzyyzzyz{zzzz{{z{zz{yyzyyzzzz{z{zzyyyzzz{z{zz{z{yzzy{yyzyzzzyz{zzyzyyzxzzyyyzzyyzyzxyyyzyzzzx{yzyyxzyyyyyzzzzyzzyyxyxxyxyzyzyyyzyyxyyyyyyyyyyzyyzxyyxxzxzzyyyyyzyxxxxxyyyxzyyzzyyyxyyyyxxzzyzzyzyyzxyyxyyyzyyzzxyxyxxxxyyyyyy{yyyxxyyxyyyxyyyyzyyxyxyxyyyzyyyyyyyxxyyxyxxyzzzyzzxxyxyyyxyzyyyzyzyxyxyyywxzzyyzzzxxzzyyxxzzzyyyyyyyxyzyyyyyzxzxzzzzyyyxyyy{zzyzzyyzyzyyyyyyzzy{zzyyyyyxxzzyzzzyyyyyyyxyxyzzz{zz{zyxyyzyxyyzyzyyzyzzzzxyyyyzzzzyz{yyzxyxyyyzzzzz{zzzzyzyxyyyzyzzzy{yyyzzxyz{zzz{zz{zz{zzzzzzzzz{zz{yyzyzyyy{zzz{{{yzyyyyyz{zzzz{zzzxyz{zzzzxzzzz{{z{yzzzyz{{{{zzzzzyzxyxyzyzzzzz{zzyyzyyyyzzyzyyzzyyyyyxyxyyz{{zzyyxxxyyxxwyyyxzyyyyyxyxxyyyyyyyyzzxyxxxxyyzyyzzyzxyxxyxwyyyyzyyyzxxyxxyxyyyyyyxyzyyyyxwyxyzyxyzyzyyyxxxyyzyyzyyyyxxyyyxxxxyyzzyzzyyxxxyxxyyxxxzzyyxyyyyxzxyxzzxzyyxyxxyyyyyzyzyzzyxxyyxyxyyyyyyyzxxyxyxxxxyyyyyyyxxyxyyyyyyzzyzzyyyyxzxxyyzyzyyxzzxyxxxyyyzzyyyyzyyyyyxxyzzyyyzzzyzyyyxyyyyzzyzyyyxzyyyyyyyzyyzzzyyx{xyyyyzzzyzzzzyzyzyzyyzzzzy{zzyyxyyzyyzyzzzzzzyzzxyyxx{{zzzzy{xyyzxyyzzzyyzy{yzzy{zzzyyzzzz{zzyzyyzyzyz{zzzy{zyzyzyyyzz{zzy{zzxyzzxyyy{zzzzz{zzyzzyyzzzzzzz{{yzyyyyyyzzzzyzzyzyyyyyxyzz{zzyyyyyyxxxyxyy{zzyxyyyywzywxxyyzyyyyyyxyxzxxwxyyyzzzyyxyxyyxyyzyzxzzyyxyywyyyzyyxyyxyxyxxxxxxyzzy{yyyxxxxyyxxzyyyzyyyyxyxyyxxyyyyxxyxyzxxxyxyyxyxzzyxxxyxwyyyyxyzzyxyyxxxxyyyyzyyzyyxyyyyyyxxyzyyyxzyyxyxxyxxyyyzzyyxxyywxyxyyyyyzzzxxyxyyyyyyzzzyzyyzxyyxxxyzyyyyzyyxzzyyyxzzyyzzyzyyyxyxxyzyyyzzzzzyzyyxxxxyyyzzzzzyxyyxxyyzzzzzz{xyyzxzyyzzyzyzzyyyyzzyzyyzyzzzyzzyxyzyzyzyyzzz{zxzyzzyzyz{zzz{{yyyzyzyyyzzzzzz{{zyzxzzyz{zy{zzz{yyzyx{yyz{zzz{{zyyyzzyyyz{zzz{zzyyyyzzyzzyzzzz{{yyyyzyyyzyzzz{yzyyzyyyyxzyzyyz{{zyxzyyyyyyzyzyzyzyyyyyyyzyzyyyyyxyyxxyyxyyyyyyyyyyxyyxyzxyxyzzzyzyyxyyyyxyyyyzzyxyyyyxyxyyyzyyyyyxyxzyywyyzzxzyzxyzxxxxxyzxxyyyyyxyxxyyxyyyyzzzzyyyxyxyxyyyyyyyyxxxzwwyxyxzyyyyzxyyxxxxzyyzzzzyyyyzyxyxxzyyyxyzzxyyyyxyxzzyxyyzyxxyxyyyxyzyyyzyzyyzyzxxxyyyzzzzzyyyxxxyyyzzxyzzyyxyyyxxyzyyzyyyyyxyyyyxyyzzzyzyzxxyxzxyyxyzyyyyzyxyyyzyzzzyzzz{zyyyzyxxyzzzyzzzzyyyxyzyyzzzzz{zzyyzyzyyxyyzyzz{{zyyzyzyyz{yyz{zzzyzyzyyy{zzzzzz{yzyyzyzzyz{zz{z{{yyzyzzxy{zzzzz{yzyyyyzz{zzzz{zzzxzzzyzzyyy{zzzzzyzyyzxzzz{zzzy{yyyyyzzyzzzzyzzzzzyzxzyyyzz{zz{zzyzyyyyyyyzyzyyyyxxxyxwxyyyyyyzyyxxxyxwxzyxyyyzyyxyxxxyxyyzzyyyyyyzzywxxxyyyxyzzyxywxxxxzyyyyyxyzxyxxyyyyzxzyyzyxyyxyyxxyyyyyzyyxxxxxxxxxxyzxyzyyyxyxxxxxyzyyyyyxxyyxywxxyyxyyyyyxzxxyyxyyyyzzyzyxxyyxyxyyyxyzyyyxxyxxxyyyyxyzyyyyywzzyxzyyyyy{zyyzxzyxyyyzyzzzzyyzyyyxyyyyyyyzzyxxyxyyyyyzyyyyzyyyxzxxxyxyzzyzzyxzyyywyyzzyyzzyzyzyzxyyzzyzzyzzyyzxzyyyzyyyyzzzzyyxyyyyzzyzzyzzyyyzyzyyyzyzzzzzzyzzzyzyzzzyzzzzzyyyyzyyyyzyz{zzzyyzxzyzyzzzzzzzzxzyyyyyzxzzzzzzzyxyzyyyzzzzzzzzyyyzzyzyzyyyz{z{zyzyyyxzyzyzzzzzzzyzyyxyyyz{yyzzyxyxyyyyzzzzzzyyyxwyxxxxyzyyyyyyxyxxxyxyxyyyyyzyyyxyzxxxyx{xyyzzzyyyyxywyyzyxyzyxxxxwyyxyyyyyyyyxxxyyxxxxyyyyyyyyyyxxxyyyyyxyyyyyyyxxxxyxzxyzzzyyyxxyxyxyyyyzzzyxyyyxyxxyyzxyyyzyxyxyxxyzyyzzzxyxxyyyxxxxyyyyyxzyyxwxyxxxyyyyzyxxyxyxxxxyxyyyyzzyyxyyxwyzzzyzyzzyyzyzyyyzyyyyzz{zyxyyxyx{zyyzyy{yyxyyyyxxzxyyzyzyyyxzyyyyyzyyzzyyyxzxxxzzzzzxzyzzzyxxxyyzzxzyzzzxyyxxzzzyyz{z{{{zyyyyyyxyyyzzzz{zxzyzzyy{zzzyzz{yyzyyyzzzzyy{zzyzyyyyzzz{zz{y{z{yyyyxyyzzyzzyzyyyzzz{yyzyzyyzyz{yyxzzzzzzyzzzyzzxyyyzzxzzzzzzzyzzzyxzyzxz{zzzzy{yyzyxyyyyyzzyyyxyxyxxyyxxzzyxyyyyyxyyxyyyyyyyyzyyyxxxxxyyyyyzzyzxyyxyxxxzzzzyzyyyxyxyxxyyyyyzzyyxxxxyyxxyzyxyyzzxwyxxyxxzyzyxyyzxzyyyywxyxyyzyyyyxxwyxxxyyzxxyyxyyyyxyxxyyyyyyyzxyyyyxxyyyyyyxyyyyywxyxyxyyyxyzyyyyxyxyxyxzxyzzyyxyyyzyxyyyyyyzzzyxyywyyzzyzzzxyyyyxxxyyyzzyy{yzxyxxxzxyzyzyzyzzxxxyzwzxyyyyyzyzyyxxyyyxzyyyyzzyyyyxyzyxyzyyz{zyzyyyyzxyyyzzzxyzxyzyyzyyzzzzy{yzyyzzzxyyy{zyzzzz{yyyyyxyzzzzy{z{xyyxyyyyy{yzzzzz{yzyyzzyzzzzzzz{{yy{yyyyzzzzz{zzyxxyzzzyyyzzz{{zyyyzyzwyzz{{yzzzyyxyzyyxyzzyzzzzzzyzyxyyyyz{yzzzyyyyyyxxzzzzyyzyywyyxxxxyzyyyyzzzyyyyyxyxyyzyyyyzxxxxyyxyyyyyyyzyyyxxyyzxzzyyyyzyyyxxyyxyyzxyzzyzyyzyyxyxyyy{yyzyyyyyxyxyzyyyyzyyyyyyxxyyxyy{yyzyyxxzyyxyyyzzzzzyxxyxxxyzyzx{zzyyyyxxyyyyyyyyzzyyyyxxyzxyzzyzzyzyyyyzxxzxyzzyzzzxyyzzyxyzyzy{zzyyzyxzxyyyy{zyyzyzyyyyzyzzyyzzzzzzzxxxyyyzyzyzz{zyyyyyxzyzyyy{zzyzxyyzxyxzz{yzzzzyyzzyyyyzzyzzzzzzyyyyyzyzyzzzzz{yy{yzzzzzyzzyz{{zzyzzyyxzzzz{yzzzxy{yyxyyz{zzy{zzzzzyzzyz{y{{{z{zyzxyzzzz{zzzzzzzyyyzxzy{zzzzz{{zzyyzyyzyz{z{y{{zzzzyyxyzyzz{zzzzzzyzyyyyzyzyzzzyzyzyyyxzzzyzyzyzyyyyzyxzyzz{yyzxyyzyyxxxyzyxyyyzxxyyyxyyzzzyzz{yxyxyyyyyxyzzzzxzyzyxxxyxyyyyyyyyyyyxxxxzz{yyzyyzxyyyxxyxyxxyzzyyxyyxyyyyxyyxzzyyyzxxyyzyyyzxyyyyyyxxxxyyzyyxyzyyyyyxyxyyzzyzxyyzyyyywxxyzzzzzyzyyyxzxyxxzzxzyyyxyyxyyxxwyyzyz{yyxyyyxxyxyzzzzzyyyyxyyzzyyyyyzzzyyyyxxyyyyzzzzy{yyyyyxyzzzyy{zyzzzyxyyywyzyyzzy{yyzyyxyxzzzzzzzyyxyyzxxyzzyxzzyzzyxxyzzzyz{{{z{yyzyyyyzzzzz{yzz{zzzzzyyy{zz{z{zz{yyyyyzx{z{zzyz{zyyyzzzzyzzz{z{zyyzyxyyyy{{zzz{z{zy{zyyzzzzyz{zzyyyyyyyyyzzzzzzzzzyzzyyyzyz{zzz{yyzxyyyzyyzzzzz{zzzzyyzxyzzzyy{yyzzyzyxzz{xyzzyyyxxxyxxxzzyyzyyzyyyzyxxxyyzzyyyzyyyyyzxxyyyyyyzxyxyxzxxxzy{yxxyzyxxyxyyxzzyyxyyzxyyxyxxyzyxyyyyxyyzxyyxxyyzwxzzyxyyxxyxyyyyxyyyzyyxyxxyyyyyxyzzyyxyyxxyyxxyyyyyyyxyxxwyyzyxxxyzyyxyyxxxyxyyyyyzzyyyyxyzyxzxxy{yzxyyyxxxxzzyzzzzyyyzxyxyyyyyyyyzzzyyyyxyyzyzzzyyzyyyxyyyxzyyzzyzyyyyyzyxyyyzyyzzyyxyyyyyxzyzyyyzyzyzy{yyyzzzyzyzyzyzyyzzyzyyzzyzzyzyxyyzyzyzzzzzzxyyyyyyyzzzzy{yzzzyyxyyyyzzyzz{yzzyzyzzzyyzzzzzzyyxyz{zxz{zz{zz{zzzyyzzyzz{zzz{zzyyzyyzyzzzz{{z{yzzyyzyzyzyzyzz{zyzyyyyyz{zyy{zyzyxzyyxy{yzzyzzyzyyxyyyyyyyzyzyyxyxxyyxwyyzyxyzyzyxyxxxxxyyzxxzyyyyyxyyxyzyyyyyyyyyzyxxyyyyyyyyyyywxxyxxyxyyzzyzyxyxxxzxxyyyyzyzyxzxyyxyyzzyyyyyyyxxxxyyyyyzyyyyxxxxxxyxyzyyyyzyyyyyxywxyzzyyyyyyyyyxyxyxzyyyzzzzyxyxxyxyyyzxzyzyyxxxwxxyzyyy{yyxxzyyzxwyzxyyyzyzxyyyxxxyyyzzyzzyxyxyyyyzxzyy{zzxyyyyxxyyyyyyyz{yxyyyyyyzyyxyzyzyyyyzyxyyzzzzzzyzyyyyyyyyzzyzyz{yyzyyyzyyzzzzzzzzzyyzz{yzzyzyz{zzyxyyyywzzyz{yzzzyzzzyzyz{zyzz{zzyyyyzyzz{zzzy{zzyzyyyyzz{yzzzzzzyyyxyxyzzzzzzzzzxyzyyyyyxz|yzzzzzzzzzzyzzzz{zz{zxyyzyyyyzyyz{zzzzyyyyxyzzzyzzzzzyzxyxyyzz{zyzyzyxxyyxywxzzyzyzyxxyxxxxyyzyyzyz{yyxxyyyxyyyxzzzzyxyyyxyxyyyzxzyyyyyxxyyxzyzzxzzzyxxxxyyyzyyyzyzyxwxyyyyyxzzyyzyyyyyxxyxyyzyzxzyyyyxxyxzyzyyyyyzyyxxyxxyyyyyzyzyyzxyyyyyyxyzyzyz{xxxxxxyxyxxxyzyzxyyzxyzyxyyyyyyzyxzxxxyyyyzzzzzzzzyxzzxzyyzyyzzyzyxyxxxyzyyzyzzyyxyyyxyyzzxyyyyzyyxxyxzyyzzzzzzzyxyxyyyxz{z{yyzzzyxyyyyyyzzzyzzzyzzyzyzzzzy{y{zzyyyxyzzyzzyzzz{zzyyyyyyyzyz{z{{z{yyyzyyyyzz{zzzzzzyy{zyzxzzzzzzz{yyzyyzzz{{zz{{z{xyzyyzyzzzzzyzzzyyyxyyyzzzyyzzz{yyyyxyzyzyzzz{zyxzyyxxxzyz{zzzzy{zxxyzyzyzzy{zzyyyyyyyyyzzyyyyyxyxxywyyyxzyyzyzyyyxxyxyyzzyzyyzzyxwxyyyzyyyy{zyyxyyyyxyyxzyxyyyxyxwyxxwzyyyyzz{yyyyyxxxxyyxyzzzyxzyyxxxyy{yxyyyxyyxxxxxyzxxyyxyxxwxyyxxxyzxzyyyyxyxxxxyxxyzzyzyyxyyxyyyxzxzwzyzyxxxxxyxxxyyyyyyxxxxxyxxyzyyyyyzyxxzyyxwyzzxyzyyzyyxzyyzzyyyyyy{xxyxyyzyzyyzyzyyyxyyyyxyyyyyyyzzzxzyyxyzxzzyyzyzzyzyyyxyyyyzyzzyyyxxxyyxzzzzxyyyzyyyzyyyyyzzzzzzyyyxyyzyzyz|zzz{xyyzzyyyyzyzzyz{zxyyyyzzzzzzy{zzyyxzzyyzzyzy{zz{zyyyzyyzzz{zxz{{zyyyyzyyzzzz{zzzzyzyyyzyzzzz{zzzyyyyyxzzzyyyx{{zzyzxzyyxyzzyyzzzzzyzyzyyyzz{yzzyyyyyzxxxzxzyzzzxxyyxxyxxyzzyyyyyyxyyxxxyyyyyyzyyyyxxxyyxyyyzz{zzyxxxyyxxyyyxyyyyyyxxxxxxzyyxyyyyzzzyxxyyyyxyzyzxyxyxyxyxyzzzyyyyyyyxyyyyyxyyxyyzxyxxxxyxyyzzxyzzyxyxyxxyyyyyyyyyyyxxwyyxyyyzyyyyyxxyxxxxyyyxxyzxyyyxyxxxxyyyxzzyxxyyyyxxy{zyyzzzyxyyyxyxyyyyyyzzyyyyywyyyyyyzyyzyyzxxyywzzzyyyyzxyxyyyyyx{yyy{yzyxzxyyxyzzzyyzyyzyxyzzxxzyzyyzyyzyyyzyyyzzzzzzzzyyyxyyzxzzz{z{zzyyxyyxyy{{zyyy{zyxyyyyyyz{yyy{{zzzzxyyzyyzzzyzz{zyyyyyxzy{zyzz{{yyz{yzyyzzzyyz{zzyyzyyyyzyyzzyzzyzzyyyyz{zzz{zzzyyzzyyyxzzxzzz{yzyyzyyywzzyzzyyyyyzyyyzyyyyyz{yxyyxwyxxwxz{xyyzxyyxyxxyxzyyyzyzzyxxywxzxxyyyyyzyyyxyyxyxyyyyyyyyyxxxwxxxyyyyxxyyyxxwyyyxxzzxyyzyxyxxxxwxyyyxwxyyyyyxyyyxyzxxzzxxwxxzxwwxyyyyxyzxxxxxwxyxyyzxyyyyxxyxxyxxyzxzyxyyyyxxxxxxyyyxyyxyyyxxxxyywyyyyyyzxyyyyyxxxxyyyz{zyyyxxxxyyxzyyzzzyxyyyxyyyyxyzyxyyyxyyywxyyzxyzyzyyxxyxyxyyyyyyyyxyxxyyxxzyzyyyzzxyyyxxyyyzyyyzyzzzyyxyyyzyy{yyzyyyzxyyyyzzyyzyzzzyxyzyxyyyzxzzz{zywxzyyyzzyyz{zyzxyyyyyzzyyyzzzyzyyyyyyyz{zzyzzzyyyyyzyyxzyzzzz{yyzyxyyzyzyzzyzzzzxyyyyz{zzzzyz{yyyyxyyyyz{zyzzyzzxyyxzyzyz{zyzzxzzyxzyxyyyzyzyzyyxyyxxxyyyzyxzyyyyxywyyyyyyzzyyyxyxxxyyyxyyxyzyyyxyzxxxyyyyyxyyyyxwxxyyyzxyyzyyxyyxxyyxyyyyxyyxyyyxyxxxyyzyyyxywyyxxxxxxyyyyzxyxxxyxxxxyzyyxyyyxxxxxyxxzxyyzyyxyyxyxwxyyzyyyzzyyxyyyyxxxxxyyyyyyyxxywyxyyxyxyyzxyyxxyywyyyzyyzyyyyyyxyxzzyyyyyyyyxyxxyyzyyxyzzzyyyyxyxyzyzyyyzzyyyzyxyzy{yyyyzyyyyxyxyyyzzyxzyyyyxyxxyyzzyzyyzyyyzyyxyzxzyyz{zzxzyyyxyxzzzyyzz{{yyyyyxyyzzy{yzzzyzxyzyyyzz{zzzzzyzyyyyyzzyzzzyzyyyyyzzyy{zz{yyzzyyzyyyzyzzzz{yyzyzyyyxzzyzzz{z{zyyyzzyxzyzzzyz{zyyxxxxyyyxzyzzzzzyxyxxyyzzyyyyyxyzyxxyxyyzzzOFq:bz{{{z{z|||{||}{{{|{{{{{{|{||{}|{|{{|{{z{{{|z}|{{{{{{{{z|||{{{|{{|{zz{{{{{{||{}|{{{{{z{{{{z{{|}|{zz{{{z{z|||{{{{{zz{z{{{{|z|z{{|{zyzz{z{z{{z{|{{{z{z{zz{}|{{||{|{z|{z{zyz||{{|{|{{|{{{{zz|{z{z|z|{{{z{z{z{||{}||zz{z{{z{{{|{{{|{|{{{{z{{{|{|{|{|z{{z{z{z{||||{{|{{{{{|{|{|{||||||{zz{{{||}{{|||||{{z{zz{|{||{z}|{{{z{{{|{||{{}{||{{{|{{|{|||||||{{z{{{{{|||||||||{{|z{{z{||{{{}|||{}{z||{||||||}|||{{|||{|||}||{|zz{{{|{|||||||||{|||{{{|||{||||{|{z|||{{|{||||||||||{z|||{|{|||{{{{{{{|{||{{{|{{{zz{{{{{|{||z{|{|{{{{{{|{{|{|}|{|||{||||{}{||{|||z|{{{{{||{||{}||{{{z{{|{|}|||}{{{{{{z{|{|}{||{{}{{{{{{||{{|{{{z{z{{{{{{}{|z|~||z{{{{z{|{|z{{{{{zzz{{{{{{|{z||{z{{{{z{z{z{{|{|z{{zzz{y{z|z||{||{{zzzz{{{|{||{{{{z{z{{{{{z{{z|{{{{{zzz{{{{zy{||{|zzz{{{{{{{||{|{{z{{{{{{{|}||{|}{z{{{|{{}{|{||||{zz{{{zz|{|||{||zz{{{z{{|}{|{{|{|{{zzz{z{|{|||}{|{zz{{|{|||{|}|{z{|{{{|{|}||{|{||{{z{{|{|||}||||{{{{{{{{{||||}}{|{{|{|{|}||||}|}|{{z{{||{||}}}|}|{{{{{z||}}|||}}||}||{{z|||||{||{{{{|{{||{{}||~||{{||{{|||||||}|||{z{{|{|}|||||}|||{zz{{|||{{{{{|z|{zz{z{{{{{|{{||z||z}||}{}{{|}|{{}|{z{|||{}{|}{{{{{z|{||{|{|}||{||{{{{|||}{{||z{{{z{zz{||}|{|{|}{z{z{|{{|{{||{{{{{z{{{{{|z||||{{zz{{{{|z|{{{}||{{|z{z|{{|{{{|{||{yzyz{{|{{||}{{{|z{{{{{{{|{|{|z{z{zzz{z|{{{|{}{{z{{z{|{{|{{|}|{{z{{{|z||}{|{{|||{{|{{{||{{{{{||{{{{{|{|||||{||{|{{{zz{|{||{{|||{|z{{{|{||||||{{z{z{{{{{{}{|{|{{|{z|{||{||{{|{|||{|||{{||{|}|{}{{z{{{}||||}{~||{|{{{{|{{|}}{{||{z{{|{{{||}|||}}z{{|||{{|||||||||{||{{{{}}||}}|}||||||{{}|}|||}|||{{||{||||{||}||{|{|}z||||{|}}|{||||{{|{|{||}|||{{{{z{{|{|{|{|||z|{{{{z{|||||||||{z||{z{}||||||{||{|{{|}|}|{}|}z{||{{z{{{|{{|||||z||{{|{|||{{||{{{{{|{|{}||{||}{{|z{{|{{|||||{z{|zzz{{{{z{{{{{{|{{{{|{{{{{|zz{{{{{z|zz{z{z{{{||{z{zz{z{}|{{|{{{||{{{z{z{|{||{}||{{{{{|{z|z{|z|{z|{z{zz{z|{{{|||z{{{|{{zz{{{{||||zzz{{{{||||{|{|{{|{{z{{||||{|{{zzz{z{{{||||}}|{{z{{|{{|{}|{{|{{{|{{zz{{{{|||||||{{{|z{|{{|}||z{|z|{{|||}|{||||}|||{||||||{}{|}|{{{{{{{{||{{||}{{|{|{{||{}|||||||{}{{{||||||||~||{|{|{{{{||}~|||~||||z|{|}|{|||{|{|||{{||{{|}||}|{{|{}|||z|||||}|{{{|{|||||{}|{||{{{|{{{{|||{{{|z{|{|{{{|}z|{}|}{}|{{{|{{}{||}}|{{{|{{|{|{|{|}}|{{{{{|{||||{|{||||{{{{{|}}}||||}{||z{{{{{||{||||{z{{{{{{|{{z{||||{{{zz{{{||{{|{|{{|zy{z{{{{{{{{{z{{{zz{{{{|{{{|{{{{|{{{z{{{{||{{{{z|{{{{|{|||||||z{z{z{{{{{z{||{|{{{{{{zz{{|||{{{|{|{|{{|z{||{|||{{{{{{{|{|{|}||{{z{z{zz|{|}|{||{z|{z{{|||||{||{||{z{{|{{||||}|{|{{{{{{{||}|||||||z|{||{||||{||{|{|{{{z{{{|}{}}|z{{{{{||}{||}||||z{|{{{{||{|}}|||{|{}z{{||}||||{|{{|||{|||||}|}}||||{||}|~}}|}}}}}}||{|||||}|||}|{||{{{}{}||}|~}|{{{|||}|||{|||}|||{{{{{}}||{||}}z{|{|{|{|z|{||||{{{{{{{|{|{|||||{|||{|{|}||{||}{{||{|{{|}|||}|}{||{{|{{||||}}|}{{{{|{{z||{{{{|}{{{{{|{{||||{|{|zz|{||{{{{{{|||{|{{{{|{{|{{{{||{|{zz|{{{{zz{|||{|z{zz{z{z{{z{{|{|||{z{{{{{|{{||{{z{z{{{{|{{|z|}|{zz|zz|yz{{{{{|{{z{{|{{z{{|{{}||{{{{{{{z{{{|||||{zz{||{|{{||{{|{|{{|{{z{{|||{|||{{{{{|zz|||{|||}{z{||z|{|{|{|}||{{{zz{{{|||{|||{{||{{{{z{||{|}||{{}{|||||||{}|{z{{{|z{|{{}||{{|}}z|{|{{{|}||||}||{{{|{|{|}|{{|{}}{|{{z{{||}||}||{|{|{{||||}||}}||{|{|{{|{|}||}{}|{{{{|{{|||{}}}|}{|{{|{{||{}|||}{|{{{|{z{|{||||}|{{|{{z|{}{}{z}{{||{zz|{{||{||}|{|{z|{|{|}||{||||{{{|{{{|}||}||}|{{{z{|{{|{{||||{|{{{{z{{||}z}|||||{{{{{{{||{{|{{|{{{{{z{||}||}z|{|z{z{{{{{{||{|{z{zz|{|{{{{}z||{z{zzzz{{|{{{|{{zzz{z|z{{|{|{|{|{zzz{z{z{{{||{||{{{{{{{{z||||{{{|zzz{{{{{{{{{{||{{{{{{{yz|{{|{{|{{z{|zz||||{||||{|{{zz|z{}||{||||{{{{{{{{|||||{|{{|{{z{{|{|||}{|{||{{z{z{{||||}||{{|{{{|{|||{|||||||{zz{|||||}||{{{{{|{{||}||||}|zz{{{z{{}}|||}{|{||}{{z|{||||}{|{{{z}|||{|||||}||{}||{|{}}}}||||z{{{{{{}|||}}||||{||||{||||{||}|z{|{|{{|||}||{}|{||z{{z}{||{|||{{{{{{|{{|{||{}{{{{zzz{{z|||{{|}|{||{{{||{||}|}}|||z{|{|||}|}}}{|{{{{|{z}{{|{|{|{{{{|{{{{|}||{}|{{|{zz{{{{||{|||||||{|{|{||{{{|{{{{{|{{z|{|{z|{|{{{{{{|{{{{{{|{{{{{{{zz{|{|||||{z{{{{{zz{{||||{{{{{{z{z{||{||{||{z{z{{{z{{{|{|||{}{z{{{{{z{|{||{{{{|{zz{||{|||||{{z{{z|z{{{{|{{||{{z{{|{{{{|{}|||{z{{{{{{|{|||}}|{|z|{{z||||{}|{z{{{{z|{{|}{{||{||z|{z{{{||{{{||{{|{{z{|{{}}|||||||{|||{||z|{}|}|z|{{z{{||}|||}|}{{|||{||}{||{}||{{{{|}{|}|||||}}{{||{{{|}||||}||{{||{|{|||}|}}|}||{||{{||||{||~{|{|{{{{||{|}}}}||{{{}z{||||{|}|||{|{{{z{}{|{||{{{|{{zzz||{{{|{|}||{|{{{}{||{{}||{{{z{|{|}|||}||}{|{{||{|||{}|{{|zz||z{{|{||z{|{{|{z{{|z||}{{|||{{{z{{{{{{|{{||||{{{zzzz{{|{{|{{{{{zzz{{z{{|||z}{{zz{{{{{z{|{|||{z{zzzz{{{|{{{{z{{{zzz{z{{|}|{}|{zzz{{{z{z{zz{{|{{zzzz{yz{z{z}|{z{{z{{{y{{{{{|{|z{zz|{z{{{|{|{{|{z{{zz|{{{{{|{{|{|||{zz{||}{||{|{|||z{{|{{{{{{||{z{zzz{{||||z{|{{{{|{|{{}|{|||z|{z{{|{|{{|{}{{|||{{{||{{{{{||||}|||{{{{{{||{||}|{{{|{|{|{|||||}|||{{{||{|||||}|}|{{||||{{|{|{}||{{{{|{{{|||}{{|||{{|{{|{{|{|||}}{{{{{z{{||||}|}|{z{{{{{{{|||}|||{|z{{{{{{|{}|{||z{z{{z{{{{{{{|||{||||{{{|{||||}}}{{{z|||{{|}}}|||z{{z{{{|{||||||{}{z|z{{{}{|z{}||{|{{{zz{}{|{||}{zz{{zzz{{{|{|{||z{z|zz{|{|{||||{{zzz{{{{{{{|{{|zz{zz{z{z||||{{{{{z{zz{z{||{|{|||{{zz{y{|{||{|||{z{{z{{z{{{{{{{{z{zz{zz{{{{||{z{{{{{{|z{{{{{{|||{{{{{z{{{{|z|{|{{{{zzz{z{{|{{||{{{{zzz{{{|{|{{|{{{|{{|{{z{|{{||}z{|{{zz{|||||{}{|{|{|z|{{|||{|||||{z{{z{|||{{{|{z|{zzzz{||{{|||}|{{|{{{{}|{|}|{{{|{{|{{{}||||}|}{|{{{{{{||{|}}~}{|{||{||{}|||~}}||{|{{||}||||}|||{{z|{{{||||{|}||{{{{{{{}{{||||||{{z|{{z{|}||{|||{{|z{{{|||{|||{{{{z{{z{{z|{{~|}{{|||{||{}|}||}}|{|{|{{{|||{{|{}||{z{}{||}{z|||{|z{z{z{|{{||{||{|{{{zz|zz{{|||||{{{{{{{z||||{{|{{|{z{z{{{{z{||{{{{{{z{zz{z||z{{{zz{{{zz{z|{z|{|zzz{zzz{z{z{|{{{z{zzz{{{{y|{{{zz|{y{|{z{z{||z{||||{|{{zz{z{{{z{|}|z{{{{|y|{|{|{{}{|{z{{{{{{|||||{{{{|{{{{{|{{{{{|{|{|z{zz{{||{{||{{{{{z{z{||{||{|{{{|{{{||{|z{|}|{z{{{{z{{|{||||{{zz{{{{{{|}||||{|}z{{|{||||{}}|||{|{{{z{|||{||}||{z{{|{|}|}|}||||{|z{{|||}||{~|}||{{{|{||}}{|}|||{|||{{{}||||||}|z{{z{{{||||}}}}|{z||{{{{{|}|||||||{{{{|||{|{}||{{z{z{{z{||{||||||{z|{z{z{|{{|}}{}{{{||{{}|}||}||{z|{{{{{|||||}}{z{z{{|{{|{|}{||{||{{zz{{|}||{|{{|{{{{{z{{{{{{{||z{{z{|z|{{{||}||{zz{{{z{z||{{{|{yzzz{z{{}{|{{{{{||z{yzzz{zz{{|{{z{{zzzz{z{{|{{z{z{{zz{|{{{z{{|{zzz{{{z{z{{z{||{{{zzyzz{|{{}{|{{{y{z{z{z|{{zz{|{{{{{zz{z{|{{|{||{{|{{z{{{||{{{||{{{{{z{|{{{{{|{{|{z{{z{{z{{{{{{|{zzzzz{{{|||{}{{{{{{{{z{{|||{{|||zz{z{{z|{||{}||{||z{|{|{|{||||{{zz|{{{{||||{|||{z{{{z{{|}{{|{}|{||{{{|z{{||}|||{{{{{{{{||||||}|{{{||{{{}||||}|}|{{{|z{||||{|||}|{{z|z{{{|{|||||{z||{||{{}{||||}|{|{{{{z{||||{{{{z{z|zzz{{{{{||||}}{||{{|}|}}}|||{{|{|{||{||}||}{z{{|{|{||||}||{{{{{{z{z{||||||||||{{{z{{||||{}||z{{{|z{{{||{||{{{{{{zz{z{|{||{{z{{{z{zzz|{{|{{|z{zz|z{{{{|{{{|{{{{{{{z|{{{{||}{{z|z{{zz{{}{{|{{{{z{{{|z{{{z|{||{|{{{z{{{{z|||||{{{z{{{z{{{{{{}{{{{{|zz{||{{|||{z{|{{{{{{z{{{|{|{{|z{z{z{||{|||}{{{{{z|{{{{|||||{{|z{{{{{||{|{}||{{{{{|{{{|}}{{|z{|||{z{||||}||{{{{{{||{{||||||~z{|{{{zz}|}||}|||{{{{{}{{||{|z}||{{{|||{|}}||}|{}{|||||{|{||}}|||{||{{||||||||}||{|{{zz{||{|}|}{}|{{}|{{}}|{|||{|{|{{{{{{||{|||||{z{{zzz||{{{|}{{{{{{||{|{{|{}|{||}{|||{}|~{||}}||{|{|{z}|}{||}|||{{|{|{||||}}|}}{|{{{{|{||}{|{|||{{{{|{{{|{|{{|{|{{{{||{z}{{{|||z{z{{{z|{{{|||{|{|{z{{z{{{{{|{{z|{{z{{{|{{{|{|{{{z|{{z{{|{|{{|{|{{{yz{{{{|||{||{{zz{z{z|{|{z|{|||zz{{{zz{||{{{|{z|{{z{{|||{|{}|{{{{||{{|{{{||}}{|{{|{{|{{{|||z}z|{{{{{{{||{||||{z{{|z|{{|||{||||{|z|||{{||{||{{{{{{{||{||{{||}{|z{{{{|||||}{}|}{|z{|{{|||{|{|}}{{{{{{|{}|}}{|}||{{{{{{{|}|{{|}}|z|{z}||{|||||{}}{{{{|||{|||||~}||{{|{{}||}||}||||{{|{{|}||}||~}|}{||{|{||||{||}|{{{|{|{||||{|}}||z{z{{|||{||{{{|z{{zzz{{{}|{{}~{|{||||z||}{}|}}||{{|{{{|{||}|{||||{zzz{|{z|{}||{|{{{{{|{||{|}|||{{{{|||{{{||||}|{{{z|z{{}|{{{}{|{{{zzz{{{|{z{{{zz{zz{{y{{{|{{||{|z{zzz{{z{{{}|zzz{|{{zzzz{{|{{|{yz{zz{{{|{{|||{{zzz{z{z{{z|||{||{{{{z{{z|{{{|{|zz{{{{{z{|{}|||||{{{|z{||{||{{|{{zz{{|zz{{|{|{|{{{{{|zzz{||{{|{}{{{{|z{zz{{{{|{|{{|{{{{z{||{||||z|{|z{z{|{{||||}|{{{{|{{{|}|{{||||||{{z{{||}{{|}|z{{zz{{|}||{|}||{{{{|z{{|}|||}|||{{|{|{{{||||{||{|{|{|||}||||}||z}{||{|||||{|||{{z{{{|{{}{|{|}|||{||}||||||||}|{{{{{z|{||{{{||{{{{zz{z{|{{{{{{{|{{zz{zz|{|{z||~|||||||}}}{||{}}||z}{|{z|||||{}||||{{|z|||||||||{||{|{{{{{||{||{|||{z{|z||{{||||z{|z|{|z{|{{{{|}|{|zz{{{{|}zz||{zz{{{{{{|{{|{|||{{{z{{{{z{{{{z|{{{z{y{z{{||{{{{|z{{{z{z{{{{||{||{z{z{{{z||z{|{|||{|{z|z{z|{{{|{|{z{z{|{{{|{|{||{||{{{z|{{|{{||}||zz{z{{{{{{{|{||{{{z{{z{|}}{||||{{{||z{{z|{|{||||{{z{|{{{{|{{{}||{{|{{{{{||{|||{{{{{{{{{||}|}}|{{{{{{{{{{{|||||{{|||{{{{|{||||||||{{{{{{|||||}}|{|zz{|||||}|||||}|{|||{||||||}||{{||zz{z|{|{|}|||{{||{|{{{{|||}||{|{|{|||}|}|}}}{{{{{{{|{|{}|{{|||{{}z{||{{||{|{{{|zz{{{z{||{||}|z|||}}|}|}}||}}|{{}|{{{|}{}|}||}{{{||{||}||||}||z{|{{{{{{|{{{|}|||{{z|z{{|{||||{z{{{{{zz||{|{{{{{{{{{{{{|{{||{{{{zzz{{z{z{|{|z{{|{z{z{{{{{{{{|{{|{{{{{{||{{|{|{{{{zzz{{{{{|{{}|{z{{{z{z||{{{{{|{{{{zzzz{{zz||||{{{{||{z{|{{{{|{||{z{{z{||{{{||{{|{{{z{{|{|{|{}|{{z{{{{{||||{|||{{|{{{{z{|||{||{{{{{{{{{||||{{|{{{{{{z{||{{||{|||||{{z{{|||{||||z||{{{{{{|{}{||||{||{{{{||}|{}{{}{}{{{|{||||||||||{{||||||{||{{||||{{|||{}{}~|}}|{}{{{}{|||||}}|{{{{{||{{||||||||{|{{|z|{{{||}||{{|z{z{{||||}{||{{{|{{{z{{|{||||{{{zzz{z{{}||}}|}|{z}{{{|}}||||}{|||{|{{||}|||||{{{{|{{{|{{{{|}||{{{{{|{{|{|{}||{z{{{{{{|{{{|{{{|z{z{{{{{{{{{||{{z{yzzzz{{{{{{|{|zzzz{z{|{{}{|{{{zzz{zz{{{z{{{||{zzzz{z{{{|{{{{{{|{zz|{{{{||{z||z{zz{zz{zz|zz{{{{z{{{{zzz{z{|{{|{yz{{{zy{z{|{||{|{z{{{z||}{{z{{|{z{{|z|||{{{{|||{|{{zzz{{|}z|{||{{z{zz|{z{{||{{||z{z{z{{{|{||{||||{{{zz{|{||{{{{||{{{{{{{{||||||{|{|{{{z|{||||||}{{{{{{{||||{{||{||z{{|{{|}||||{{{||z|||{|{|||}||{|{{{|{{}{||{|}|{|||{|{||}|{||||z||{{{{{|{{|}|||{{|{{z|{{||||||{{{{zz|{{||||||||{{|{{{{{||{{||{{{{z{z{zz||{||}}}||}|{{{}}}|||}}}}|||{{|}{|}}||}||{{{{yz|{}||{}}}{{|zz{|{{|{{}|||{{z{{zz}{||||||zz{|{{{z{|{|{||{{|{z{{z{|{{{{{{{{{zzz{z{zz{{{{{|{zz{zz{zz{|z{{{{{|{zz{zzz{{{|{{{{{{{zzz{{{{{{{||zz{{zz{{{z{{||{{{{zy{y{z{{{z{|||{{zz|{z{{z{z{|{{||zz{{zz{z}{{|{{{z{|z{{{{{{{||{{{|{{{{|{{|{|{{|{|{{{{{z{{{|{|||{|z|z{{z{|||{{||{|{{{z{|{||{{|{|{|{zzz{zz{|}}|||}{{{{{|||||{||{{|{z{{|{z||}||||}||{z|{{{|||z{{||||{{|||||{|}{{|||{z||{||{||}|||||{{{{z{{z{|||{}{||{{{|{{{||||}||||{{|{{{{|||z|}||||{{zz{|{{|{{{}||{|z{zz{{||{{{|{{z{zzz{{z{{{|}~}||}}{|{}||~}}}|}|{{}|{|{|}|||}}|||{{||z{||||}}|{||{{{z|{}|||{||||{{zzz{z{|||||{|{{{{{{|{|{|{{|{}{{{zz|{z|z{|{{{|||{{z{{{z{|z{{{|z{zzz{zzz{||{|{{z{z{z{{z{{|||{||{{{{z{|z{|{|{{|}{{{{{z{z{{{{||z{z{zzz{zz||z{{||{{{zz{{z{z{|{||}{|{zz{{{|||||{|||z|{|z{{{{||{|||{{||{{{{|{{|}||||{{{{{z{{|||}||||{{{{{zz{{||||{|||{{{|{{{{{|{|}{|{{}|{{{{|{|||||{{{{|{{{{||||||}|{{z|{{{{{|||{||||{{||{|{|||}|||||{|||{|||{|}}}|{{|{|{||{|||}{||||{{|{|{{||{}{|}{|||{{{{{||}|}|}}{{{{||{{|}||||}||{|{{{{{{|||{|}}|{{{|{{{||{||{|{{{z{{{z{{{||}}~}||}|}}|}|}|}|}||{|{{{{||||||||}{{||{z{{z|{{{|{|||{{{|{zz{|z{{{{|{{|{z{{y{{{{|{{{z{{zzz{{z||{{|{{{z{{{{{z{||{{|{{{{{z{{z{z{|{{{{|{{zy{y{{{z{|{{|{{{{zzzzz{{{{|{{{{{{zzz{{{z{{{{||{zz{{zyy{{{{{{|z{z{{{zz{{z{|{|{|{{{z{{zz{{{{|{|||z{z{{|{{{|{||z}|z{{{yzz|z{{|{||{z|z{{{{{{z|z|||{{z{{{zz{{{{{{{{{{{{z|{{{{||{|||{{{z{zzz{}{{{||{{{{{{zzz||||}}||{{|{{{{|||||{{|||zz|{{z{|{|{||||{{||{{{{{|||{{|||{|{{||{{|{|||||||{||{{{{}||||||{{{{{{{||{}|||||{{z{z{{{||{}{|}||{z{||z|}{|{|{}}|{{{z{|{||{{{{|||{|{|z|{|{|{{|{{{z|z{{z{z{zz|}|~||}}|{}{}}|}||}}{{}{{|||{}|}{}~}|{|{{|{{|{}||}|{|}||{{{{|||||{}|{{{z{z{{|{||{{||{{z|z{z|{{zz|{||||{{|zz{{{|{{|{{|{{{z{{z{{}{{{z{zz{zzzzzzz{{{{|{z{z{zz{{z||{{{|{{{{|zzyz{|{|{{|||z|{{{zz|{{z{{|{{{z{{{{y{{z{{||{zz{z{{{z{|{z||{{{{{{z|{{|{{{z{{}{||{{z{|{|z{{|||{|{{zzzz{{{{{{|}||{{|z{{z}|{||{|zz{{{{|z{}||{{|z{{{{{{{{|||{{|||{|z|{{|{{||||||}{|{|z{{{||||{|{|{z|||z{{|}{|||{||zz{|{|||||{}|||{{|{{|{{z|||}}|}|{{{{|||{||||}}||{z|{|{||}|{|}|{{{{|{{{|{|}|||}}{||{|{{{{{|||{||{{{{{z|z|||{{|}}{z{{z{{|{}|{|{}||{|{{{{{{{{{{}}}|}}||}}|}}}}}||||||}}|||{}{}}}|}~|{{{}{{{|||{||}|{{{|z{{||{{{|}||z|{{z{z{||z||{}{{{{{{{z|{{{{|{z{{{{{{{z{||{z{||zz{|{{z{{|z|{|||{z{{zzz{{z{{|{|z{z|{zzzz{{|{{|{{{{{{yz{||||||||{{{{{|{{{z{{{|}{|{zz{z{|z{{z{{||{zz|{|{z{{{|{{|||{{|zzz{z|{{|{|||{{z{zz{{{{{{{|}{{{{zzz{{{{||{{|||z{|{{{{{{||||||{{{zz{z{|}|z|{||{{|{{{||{z|{|||{{|{{{{z{{|{{{|}|||{|zz{{{{{|||||{{{|{|z||||||}~{|{{|{{|{||}{||||{{|||{|z|~||{}||||{{{{{||}}}||}||z|{|{|{}||{|{}|}{{{|{{}||}||||||{{{||{|{|{|||{|{|{{||{{}||{{|}|||{{z{{||{{{|{||z{{{{z|zz{{||~~}}{||||||}}}}}|}}|||||||{}}{|||}}|{|z{{{||||{|||||{|{|{z{}||}{|{|||{z{{z{||{{|||}|{{|{z{z{{z|z||{{{{zz{{{|{|z{{{{{|{z{{z{|{{{|||{{z|z{{zz{z{{z{{|zz}z{|z|{|{{|{{|{{{zzz{z{||{{{||{{{z{{{z{||{{|{|{{{{{{{z||{{{{{|{|{zz{{zz|{|{|||{|{zz{|{{{}|{{{|||{{z{{{|{{{|||||{{{{z|{{{||{{}||{{z{|z{{|||}||{|{{{{z{{|{|{{|||{{{{{{{z|{{|{||||{{{{{{{|||||{|}{|z{{{{{||{||~|||{{|{{{||}||||}||{{{||{|}}}||||}||{||{{|}{{||}{||{{||{{{{|||}||{|{|{{{{||||}{|{|{{|{|{{|{|||{|||{}|{{|{{||{|{|{}{{{{z{{{{||{{|||z{|z{{{{|{||{{||{{|z{{z{z{|{{~~}~||}||~|}}}}}}}~}|{}|{||}|}}||}||{{{|{z|||||||||{|{z|z{{{|||{||||{{|z{{z{||||||}{z{{z|{|{{z{{{{{{zz{{zz{{|{{{|{|{{{yz{{z{{{{||{{z{z{zzz{{{|{{{{{{z{{z{{z{z{{|{||{{zzyzz{{z{|{z||{zzzzzz{{|{{||{||{{zzz{{z|{zz{{{z{{{{zzz{{{{{|||{zz{{{z{{|{{{|||{z|{zz|z||||||{|zz{z{{{|z|{{z{||{{{|{{|{{||||{{{y|{{{{z{z||{{{|{{|{{|{{{||{{{{||{{{{{z{{}||{||||{{{{z{{||}||{|||{zz||{{z|{||}{|||z{|{{z{}|}|||||{{{{{{{{z||{|z|{|{|z{{{{{}{||||}|{|{{{{|||||}|{{|{|{{{{|}z{||{|||||{{|{{{{{|||{|{{{|{{{{{|{|{||}{{{|z{{{{{||{{{|{{{z{z{{{{||{~}}}~|}|{||~}}}||}~||{|{{||||{||{}|||{|}{{|||}{}|||{}z{|{{|||{{{|||{{{z{{{{||{{|{{{z{{{{z{{{{{{||{{{{{{{{{|{|{|{{{zzzz{|{{{{|{z|{|{{zzz{{{{{{z{{|zzzz{{z{{z{{{z}||{{z{z{zz{||{{{||{yz{|z{{||{z{{zz|{{{{{{zz{{||}{{{{{{z{z{{{{{||{{|{{{{{z|{{|}{{{||z{{{zz|{|{{{{|{{{{{z{z{{{||{{|{{|{{|zz{{||||}|{{zz{{z{z|{|{|||||{{|{{z{{|||{|||{{|{{{{{{||{||}|z|z{z{|{{||||}}{{||{{{{z{}{{|||||z{{{|{{}}||||||z{{{{{{{{{{{|||}|{{||||{{||||||||{||{z{{{||||{|}}{{{{{{||||||||}{{{{|{{{||}|||||{|{z|{{{|{||{{||{{{{z{{{{|||{||||z{z{{zz{{{{{}}}|}||}||~}}}}}|||z{{|{{}||||}||}|{{{{{|||{||{}{|z|{{{{{{|||{|{}||{{{{|zz{|{{{|{{z{{|zzz|{{{{||}{{{{z{{{{{}{z|{{{{z||{zy|{|{{|{{{{z{{zz{|{{{z{|z|{zz{{{|zz|{{{{|{{{{z{{y{}{{{|{{{{{{zz{z{{|z|||z{z{{z{z{z|{{||{z{z{{{{zz{{z{{|{|{{z{{{z{{||{{{||{{||{z{{{{||{{}|{{z{{z{z|{{{|{{}{{{{{z{{|{||||{{{z{{{{z{|||||||{{{{|{{{z{{|{|||z||{{|{{|{{{}}|}|{{|zzz{{{||{||||{|{{zz{z|||{|{|{|z|{|{{|||||{|||{z||z{|{||||{||||z||||{{|}|}{}|{|z{}z{{{}{}}||{}|{||{|z|{{{||||}{|||||||||||{}||{{|{{{z|{}||{||||{{z{z{{{{{||||}z|{{zz{zz{||{~~~}|~}}}}||}}}}}}}||{|{{|{}||}|{}}|{|{{{{z|{|{}|}|}{||z|{|{|{|z{{|{{{{{z{z|z||{z{|z{{{{{zz{{{z{|||{y{zz{z{{{{||||{{z{zzzz{{{{{{|{{zz{{zzzz{{||{{{{{z{zy{{z{{{{|||{{z{zz{z{z{{{z{{|{z{zz{zz{{{{z||||{zz{z{{z{z{|||{zzz||z{z|{{|}{{{|{{zz{{z{|{{{{{||{||{z{|{{{{||||zy{{z{zzz{|{{|{{{{{z{zz{{|{|||{{|z{|{{|{|{{|{{||{{{|{{{z{}{|{{{|||{{{|{y|{|{{{|}{{zy{{|{||{|{|}}{|{|{{{z{|{}}|||}z{{{{{{}|{||}|}|{{|{||z{|||{||{|{{|z|{z|}|{||}|}{||{{{|||{|||}{}{{{{{{{|{|||{|}|{{{|{{{|||||}||{{{{{{|{{{|{{|}|{{{{z{{{{||{{|{{{|{y{z|{{z{{|~}~~}}|}}}|}~}}}}{|}|||{|{||}||}|}||{{{z|{{{|}{|}{|{zz{z|z{{{{||{{|{{{{zz{y{{{{{{{|{z|{y{zz{||{{{{{{{{{{z{y{||zz|{{{z{{zzzz{{{{|{{|zz{z{zzzz{|{{{{{zzz{zyz{{{zz{z|{{zzzz{{{z{{z{{{z{zz{{z|z{|{{z{{|zz{zzyz{{z{{|{{{{{{z{{|{{{{{{{||{{{z{{zz{|{|z|{{{{{{{z{{{z{{z||{{z{{zz{{{||{||{|{z{{{z{{{||{|{{|{{|z{|zz{{|{|{{{|{z{{{{{{||{{{{|{{{z{|{{{||}|}||{{z{{|{{{{{{|||||{|{{{{y|{{|{{|{{{{{{{z{|}|||||}{z{|||{{{|||}||||z{{||{z{|{|}{||{{|{{{{{}{{|~}|}{z{{{{{{|{{||||||||z{{{|}{||||||{{{|{{||{{{{{{}|{{zzz{{{{{||z|{||{{zz{{{z||{{~~~~}}}}}}|~}}}||}|||}{|{|||||}}||||{|{|{|{|{||~||{|||{{|{||||{|||{{z{{{{||||{|{{zz{z|z|zz{{{||||{{{{{{{z{{|{{|{|{{{{z{{{{{{{{{||{{y{z{z{{|{{{{}{{{z{{z{{|{{{{{{{{||yz{zz{{{|{{{||{{|z{z{z{{{{|||{z{z{zz{{{{{{||{{{{{|z{{{{||{{||{|z{{{{z{{z|{{||z{{{|zz{{|||||}|{||{{{{{||{{|{|{{z|{zz{{{{}|||{{{{{{||{z{|||{{{||{{|{{{{{{{{{||{|{z{{{{z{||}|||{{{{|{{{{||||{||||||{|{{z|||{||}||z{|{{||||{|{|||{|}{{}{|{z{|||||}{|{{{|{||{|}}|||{{{{{{{{|}||||||{|{|{{{|||{{||||{{{|{{|{||||}}||{{{||{|{}||||||{|{{{{|z{|}|{{{{|z|{zz{{{{{{{}~~~~|}}||}|}~~|||||||}||}|}}}~|{|{z||{||{|||||{{{{{zz{{|||{|}|{z{z{{{{|{{|{|||{{{z{{{z{|{{{{|{|zz{zzzz}{{|{||{{{{z{z{{z{{{{{{{|zz||{z{{{{||{|{{{{z{{z{z{{z||{{|{{z{{{{{{{|{{|{{{{z{z{{zz|{{{{{{{{{{{z{z{|{{|{{{{|{{|zzz{{|{|||{{{{{zzzz{||{{||{{z{{z{{{{{{||{{{{{|z{{|{|{{||{|{||z{z{{|||{{|||{{|{z{z|{|{{{{|{|{{{{{{{|||||||{||z{{z{|{}|||}{|{{{{|z|{|{}{{|||{{{{{{z{{{||}|}||{{{|||z||||||}|{{z{{{||{||||||}{||{{|{{{}|||||}|||||{{|}|||{~{|{||z{|{{{|||||||}|{{{{{{}||||||||{{z{{{{{|{|{||||zz|{z{{|{||{|{|{{{{{{{z{|{||~~}~~~}~}}}}~~}|}}|}||{||}||}}|}||{z|{{||{|{|}|{{{|{{{z{{{||{|{||}{{z{{z{{}|{||{z{z{z{|{{{|{{z{z{{|{zy{{{|{{|||z{{{z|zz{|{{{{{{{{zzz{zzz{{{{|z{{zz{zzyy|{||{{{|{{z|{zzz{z{{{|{|z|{zzzz{{{|{{|z||{{z{{|{{{{{{{{|{y{{{{{{z{|{||{}||{{{{z{{||{{{||||{{|{zz{{{{||||{|{{{{z{{|||{{|}}{{{z{{{z{|||{|||{{{{|{{z||||||}{z{{||z{z|||{{|z||{{{{{z{{{|||||}{{{{z{{{{|||{|||{|||{{{z||}{{||||{{{{{|||{|||{}|{{{|{{{{{|{||||||z|{{|||{||}{}}||{|{|{|{||||}}|||{{|{|{{{|||||}||{{{{{{{||{{}{|||{{{|{z{{|||||}}|{|{{{{z{{{|{{|{|{{{{z{|{{||}~~~~~}}~~}}~}}~}|||||}{}||}}|}}|{}{{}{|||}|||{{|{||z{|{||||{|||}||{{z{{{|{|{|{|{{{|{|{z}|{{{|||{{|{{z{{{{{{{{||{{{zz{{{|{|{{{|{{|{z{{{z|||{||{{{{z{{{{z{||{{|{{||{{{{{z{|{|{{}{{{{z{{{zz{{{||z|z{z{z{z{{|{{{{{|{{{|{|{{|||{{||||{zz}{{{{|{{|{}|{z{{{{{z{{|z||{|{z{z|{{{|{||{|||{{{|{zz{{|||||}{{{{||{{{||{{|||{{{||{zzz|{|{{{{|||z{{{|{z|}|}||{{|{{{{{{{|{|||}|||{|{|{z{}||}}|{}z|||{|{}|}|||||{|{{{{|}{|||||||}{}{{{{{{}}|||||}|||{|{{{||{|||||z|{|{{{|}|||{}}|{||||||{}||||}|{{{{z{|{||}{||}}|}{{{{{z||{||{|{{|{{{|{{|||||~}}}}}~}~~~~}}}}}|||{|}||}||}|||||{{{{{||{||||||{|{{|{{|{|||{||{{|{{||{|||||{|}{{{{|{|z{|{{{||{||{{zz{{|{{|{{||{{{{{z{{{{}|{|{{zzz{{{z{z{{{{{||{{{zz{zz{|{{{||{z{{zz|{{{{{|{|}|z{{z{{zz|{{{{||{{{zz{{z{{{{{z|{|zz{z{{{z|z{|||{{{{}{{z{{{{}{{}{}zz{{z{{z{{z|{||}{z{zzzz{{{|||||}{{{{zz|{||{{{||||{{{{{{{{|{{|{||{{|{{|{{||||{{||{{{||{{{{|||||||{{{zz{|{|{||}|}|{z{|{|||{|{{{||}|{|{|{{{}|{{}|}|||{|{{||||||}}{}{{||{{{|{}}{||}{{|{{|{{z||}||{||||{||{{{||{{|||}{||{||{||||}|||}{|{{||{{{|||||}{||z{z{|{|||||||{{{{{{|{{{||}{~~~}~~~~}}}~}~}|}}||||}|}{}}}|{z{||{{{|||||||{{{|{{z{{{|||||{{z|z{{{z}||{{{|}|{{z{z{|{|{{{|{|{z|zzz{z{||{z|{|{{{zz{{{|{||||{{{{zz{zz{z{{{{{{|zz{z{{z{{{{{||{z{{{zzz{{|{|||{|{{|{{zzyz{z{{|{|{{{z{{{{{{{{{|}{{z{{{z|zz{|{||{{|{y{{{z|z{|{|{{{|{z{{{z{{|{{{z{||{|{z{{{z{{|||||{}|z|{{|z{||{|{|{{z|{{{|{||||{}|{|{{|{{{{||{{{||{{{{{{{zz|{|||}|||{{{{{|{{|{{{}||z{{|{|{{{||{|{||{{{||||||||{|||}{{|{{|{{|}||||{||{||{{||{||||}|||{|{{{|{|||}|}}||z{{|{{|||||||}||{||||{}||{|}}|{{{|{{|{{|{|{||{}{{z{{{|z{|{|}{||{z|z{{|{{{|{|~~}~}}}}}~}~}}|||}|{}||||||||{|{{{{{||{|}||||z{{{{{|{|||{|||{|{{{z{z|{||}}|{{{{z{z{z{{|z{{{{{{{{{{z{|||{{{{{{{zz{{{z{{{{z||{zzz{zz{zy{{|{{{{{{z{z{z{|{|{{{||{{z{z{|z{{|||{}{{|{{{y{y{{{z{{|{{{{zzz{zz{|{{|{{|{{{{zz{{||{{|{{|z{{zz{{{{|z||||{z|{{{{|||{||||}{{{{{zzz{{|{|{|||{|{{z|z{{{||{{}|{|{zzz{z|||z||||{{{{{{|{|{z|||{{{{{{{{{{{|{{|||{{{||{|||||||{|||{{{|{z{}||}||{{{{{z|z|{|}||||||{{{zz{|{||||{||||zz{{|{{{||z||}|||||{{{{||{||||{|{z{|{{||||{||||{{z{|{{|||{||||}{{|z{||{|||||{|{z{|{z{{{||||||||{||{{z{z|{{{{~~}~~}}~}}~~}~}}||||{{}||}|}{||||{{||{}{|||}||z|{zz{{{{{{||{{||{z{{{{z{|||{|{{{z{{{y{z{{|{{{|{{{{{|z{{{{}zy{{{z{{zz{z{{{{{{|{{zz{zzzzz{|{{{||zzzz{{zz{z||z|{{|{{z{z{zyz{|z{|{{zz{{z{zzz||zz{{|y{{{{z{y{|z{z|||zz{z{{{z{{{{|||{{{{{zz{z{{{{{{z{{z{{z|{z{|}||{{|{z{{zzz{{|{{{|||{{|{{zzz|{{{|{{{{z{{{z{{{{|{{{||zy{{{{z{|||{{{|z{{{{{{|{{|{}|}|}z{{{{{{{|{{|z|||{{|{{{{{|||||||{|z{{{{{{|||||||{{{|{{{|||||||||||{|||{|{||||||}{||{||{z{{z|||}|||{|{{|{||{{{{{}|{{{z{|{|{{|}|{{{{{|z{{{z{{|{|{{||z{{{{z||}|{|{|{{z{{{z{{{{|{z~~}}~~}~~}}}}}|{}||{}}||}|}|}|}||{|{z|||||}}||{{|{{z|||{{|{{{{z|{z{zz|{{|{{{|z{z{z{{{{{{z|{|{{{|{{{{zz{|{{{{||z{z{zz{{zz{{|{|z{{{zzzy{{|z{|{{{{{z{{y{{|{{{||z{{{{{zz{{{|z|{|zz{{{zzzzz{{{{||{|{zz|{{z{{{{z||{{zzz{{{z|{|{{|||{{{{{{{z{{|{|{||||{{|{{{z}{{|z{{zz{zzzz{{{|{{|{{{z|{{zz|{||{|{{{{{|{{z{{{{{{{{||{{{{{{y{|{|{z||{{{|{{{z{|{}}||||{{{z|{}z{{|{{|||{{z{{{z{|{||||||{{zz{z{{||{}|||{{{|{{|{|||z||||}|{{|{{|{z||||{||{{|{{{{{|}{{|}|||{{{{z{{{||||{}|{}z||{{{||||{|||{z|{{{{{z|||||||{|z|{|{zz}{}|{|{{{z{zzz{{{y{{~~~~}~~~}~~}~~}}~|{||{}|~~|}{}}}z|{{{z{{||z}}}|{z{{{{{{||}{{}{{z{zz{{{{||{{{|}{zz{{{{{{{{z{{|{{{{z{zz{|z|{{{{{{{{{z{zz{{{{|{{{{z{zzz|z{|{{|{}||z{{z{zzz|{{|{|{{{{zzzzz{{|{{{{{{{zzzz{{y{|{|{|{|{{zz{{{{|z{{|||{{{{{z{z{|{{{{{|{{{{{z{z{{|{||{|{{z{{z{{{{|{|{{|{{{zz{{{{{|z|{||{z|{{{{z{|{||{|{{{|{{{{z{{{{|||{{{||{{{{||||z|||||{{zz|{|{|}}|||{{{z{{{|||||}{{|||z{z{{z{||||{}{|z{{{{{|||||||}|{z{{{{|{{{}|||||{{{{z{|{{}|||{|}}{{{{|{{||||{}}|{{{{{|||||{|{|}}|{{{|{|{||||{|}|{z{z{{{{{|||{{|||{{|zzzz|{||{|||{z{z{z{{{{{{|~}~~~}~~~}~||}||}~{|}||{}|{}{{{|{|{|{|}|{||{||zz{{||{|{|||{{{{{{{|{{{z}{}{{{{{z{z{|z{z|{{z{|z{{{z|z{{z||{{{{zzz{z|{|{{{||{zzzz{{|{{{z{{{{{{zzz{zz|{{z||{{{{{zz|{{|{|{|{{{{z{z|{zzz|z{{z{|{z{z{zz{{{{{{|||{y{z{{{{{{{{}{}z{|{{{z{{||{{|{{|{{{zz{{{|z||{}|{{{{z{{z{z|{{|||||{{z|{{{z||{|||{{z{z{{z{{||{||{|zz{||{{{{}{{{{||{|{{{{z{{{}|{{|{{{{|{{{{{}{|{|{|{{{|{|{{z|{|{||||{z{z{{|{|}|||}|{|zz||{|{|}|}|}}|{{{{|{{|}}||||}|{||{{{{||||||||||||{{{{{||}|{}||}{{{|{{||||||||{||zz|{{{|{{}}|||{{{{|{{{||{{{{|{{z{z{{z||{z{~~~~~}~}~}~~|}}|}|||}}}}{}{}|{{z{{|{|{|||}}||||{{{{z{{{||{||{{|y{{{{|||{||{|z{zz|{z{{|{z|||{{{{{zzzz{z{{z|z{{{z{{{{{{{{|{{{|zz{{z{{z{{{{{|{|{{{zzzyz{{{|{{{{{z{zz{zz{|{{{{{{{{{z{|zz{{{z|{||{zzzz{zzz|{z{||{{{{{{{{z|{{{|||||z{{{{{|{{{{{|||{{z{{{{z{|{|||{|{zzz{{{{{{{{|||{|z{{{z{{{{|{|{||{{{|{{|{|{|{||||{|{{z{{{{|||||||{|{{{zz|||}|||}{z{z{{{{|||{|{||||{z{{{|{{{{{{||{|{|{{{z{{|||||||{||{{{||{{{z|}{|}|||{{{{|}|||}|||{|{{||{|}|||}{{|zzz{{{||||||{}||{||{z|{{{|||{{||{|z{{{{{{{|}|}{|{{{z{{z{|{||}|{{{{{{|zz{{{{{~~~~~~}|||}}}}}{|||~}}|||z{||||||}|}||||||{{{z||}||{||{{{|{{|z|||{{}||{{{{{z{z|{z{{{{{{z{{{{|zz{{{{||||{|zzzy{{{{|||{{zzz{{{z{|{{||{||zz{z{{z{{z|{||{|{{{|y{{{{}{{{||{{|zzz{{{|{{{z{{|{{z{|z{{{||{{|{|{{z{zz{z||{|{{|{{{|{{z|z||{{|{{|{{{zz{{{|{{{|{{{{{{{{z|{||||{|{||zz{{{{z|{|{{|||{{|{{{{{{}{|{{|{|{{{{{{|{||{|{}{}{{{||{{||||||||{|{{|{||{|||||||{{{|{{{{{}|{{||||{|z||{{||||{|||{|{{|{||{|}||}}|}|{||{|{|}}||||{|{|{{{{{}|||}||||{{z{||{|||{|||}}||{z{{{{||||}|}{{{{|z|{{|||{|}|}{{{|zzz{|{|{{{{||{z{{{{||{||~~~~~||}}{|}~||}~}}}}{{|||||||{|}|||||{{z{{{|{{{|{|||{{{{{|z}||||{{{{{{z{|{z{}{|{|{{|{|{{{{{|{|{|||{{{{z|{{|{|{|{{{{{{zz{{{zz|{{|||z{z{zy{zz{{|{||{|{z|{{{{zz{|||||{{{{{z{{z||{z||{{z{zz{{{{{|{{{||{|z{{z{zz{|z|z{{|{{{zz{z{||{{{{||{{{{{z{z{|{{{{|{|||{z{{|||{{{|||{z|{{{z{{}{|||{|{{{|{z{{}|||||{|{{{{{{{||||{||||z{|{{{|{||||}||{zz{||{||||{|{{|||{{{{{|{|||}|||{||{{{{|{|{|}|}}||{}{{||||{|{||||}{||{||{{}||}}|}}z|}|{|{{|}}|}||||{|{z{{||{||{|}{|||{{z{||{|}{|||{{z|{|||}{|{|||{{{zz{|{||{||{||{{{z{|zz{{{||~~~~~~}~~|}}|}{|}|~||}}||{|{|{{|}||||||||{|{|{z{{}{|z|{|{|{zzz{z{{|}|}{|{z{{{zz{{|}|{{{|{zzzz{zz|||{{||{z{z{z{z{{{{{{|{{zz{z{z{z{{|{{{{{{z{{zzz{{{{{{{{||{{{y{zz{{{|{{{{{z|z{y{{|z{zzz|{z|z{zzzzz{{{{|z{{{{{zz{zz{{z{||{{z{z{z{z{|{{||{{{{|z{zz{{{{{{{|{{{{zz{z{z{|{{||{{{{{|{{{z{||{||{zyzz{{z{z||{{{|{{zz{z{{{||{|{{{||z{z{z{{{||{||}|z||z{{{{|{||{||{{{{z{z{{{{{{{{|{|{{{zzz{}{{||}|{|{{{{|||||{{{{|}}|{{||{|{}}||}||||{|z|{{{{|}{|}{|{{{{||{|||{|z}||{{||{{{|{|}||}{|{{{z{{{{|||||||{{|{|z{{|||||{||{z{{{{{{|||{{~~~~~}|}}}{||||}|}}|}|{||{}{{}||{|||{{||{{{z{{||{|||{z{{z{{{{z{{{{|{}z|{{{z|z{||{|{|{{{{{{z{z{{|{}{{{{{z{zzz{z|{z{||{|{zzzz{{z|{{z{{||{{z{{z{|{z{{{|{{{{zzz{z{|{{||{|zzzzzy{z{{{|z}}{{|y{{z{zz{{|{{{|{z|y{{{z{|{{||{{{|{{{{|zz|||{{|{{{|{|{{{{|{|{|||{z{z{{{{{{|{||{|{{{{{{{{{{|{|}{{{{{{{z{{|||{{||{|{z{z{{}{||||||||{{{{{|z||||{|||||{{{{{{{||||||||{{{{{z{|}}|||||{z{|{{{z}||{|{}|{{{|z{|||{|||||}|{{|z{z{|}|||||}||{{{{|{|}|{|||{|z|{{|{{|||{|||}|||{||{{||{||~{|{||||{{{{|{|{|}|}|{{z|{|||{|{||{{{{{{{{y{||{{~~}}}~~}}|||}||}|~}}}||||}|{z{{{|||}|z{|{zz{{{{{|{|||||{z{y{z|{|{||||{z{{zz{{{{z{{{{{|{z|z{zz|{{|{|{{{z{zzzz{z{|{{{|{z{{{{z{{{z||}{||{|{{zzz{||||||||{{{zz{{{{{{||{|}zz{{zzz{z{z|{||{zz{zz{{{{{{{{|{{{{{{{|z{{{{|{{|||z{zzyz{||{}{{||{{||zz{z{{|{{|{}{z|{{{{{{{{||{||{{{{{{{{{||{|||||{{{{{{z{{|{||z|}{z{{{zz{{|{|||{{{{{|z{{{|{||}{|{||{{{||{||}{|}{{{{{{|{{||}||{}||{||{|zz{}|||{|}{{||{{{|z|||||||{{{{{{|{{}|||||}||{{{|{{||||||}|{{{|||{{||z}|{|}||{|{|{||||||||}{{{z{{z{{{z{{||||||{|{|{{{||{{}{{z{z|z{{{||{{~~~}~}|}{||}|{|}}}||||||||{}||}|}|||{|z{|{||||}{{}|{{|{{{{{{|{{{|||z{{z{z{{z|{z{{|{z{zzy{zz|{{zz|zzzzz{|{{{|{{z|{||{zz|{{{{z{{{{{|{{{{zzz{{{{{{||{{{{zzz{{z{{|{{{||{{{z{zzz{{{{{{|}{z{z{z{z{{{{{|{|{yzzzz{z{{{{z{|{{{{{{{{{{|{{{{{}{z|z{{{{z{|}|{{}{{{z{z{{||{|{{|{|z{z{z{{{{{|{||{{{|{{{zz}{{|{{{{|z{{|zz{{{{z{{{|{{{zz{z{|z{{{||||{{{{{|{{||||||{{|{{{{z{||{|{||{{{z{{z{{|}{|{||{{{{z|{|{|||||||{|{{{{|{{{||||||||{|{{{|{{}|{|{|||{{|{{{{}{{||||||zz{|{{{||{||}||{{{{{{{|{|||{{{|{|{{|{|{{|{}z|||z{{zz|{z{{{{{~~~~}}}{{|{{||}|}~|}|{{|{{||||{|{||||{{{|zz{}|||{|||||{|{|{{{|||{||||{z{{z|{z|||{||{{{|z{z{{{{{{{|||{{{{z{{{{{{z{|{{{{|{{z{{{{{{{{|{{z|z{{z{{|{{{{{|{z{{y{{||{{z{{||{zz{{{z{{|{{{||||{{{{zz{z{|{{}|{|{{|{{z{||||{{||z{{{|{{{{||{{{}{|{{{|{{{|{{||z||z{z{{{{{|||{|{|}{{{{{z{{{{}||||{{{{{|{{z||||{}|||zz{{{|{{{|{{|{|{{{{{{{{||||||}}z{|{{{|{||||{{|}{{{{{z{z}||||||||{|{{{{{|||||||}{{{|{|{|{||{|||||{{|{{|{||{}||}||{z{|{|{||{||||||{{z{{|{||||}||}|||{|{{{||{|{}}||z||{{{|z{|||||{|||{z{{{||}|{|{|{z{{{z{{}{|||~~~~~}}}{||}|{~|}|}{|{||{|{|{|{{|||||{{{{{{{{|||}|{|{{{|zz{zz{||{|||{{{{{zz{z{||{{|{z{z{{z{z{{{{{{|{{z{zzz{yz|z{{{{{{zz{z{zzz|{{{||{{|zzzz{z{z{|z{{{{{{{z{zzzz{{{{{||{{zzzzzzz{{{|{{{{z{y{zzz{zz{{}{|{{zzz{z{{{{{|||{{{z{zz{{{{|{z||}{{{z{z{z{|z{z|{{z{{z{{zz{{{||{{{{{{zz{|{|{{|{|||{z{{{{z{z{|{{||{|z{{{|z{{{|{{|{z{z{{{{{{||||||||{{{{z{|{|{{||||{|{|{z{{z|z||{|||{{{z|z{||}|{|{|{{||{{||{}|||||}}|z||{{{||~{||||{|{{z|{{{|{|||{||{{{{{|{{{|||}{||||{{|{{{{{{|||{|||{z{{{{z|}{{|{{{{zz{{|{|{{|{||{|z{{{z{{{{|{||}~~~~}|}}{|||~|||}||||}{{|||{{|{{{|}||{||{{y{{|{{z||||{{zz{{{{{|}{|{{{{{zz|{zz{{{{{{{{{|{{zzzz{|z{|{{z{{z{{z{z{{{|z|{{{{z{z{z{|z{{|{{{{zzzzz{{{{z|{{|{z|zz|zzz{{|z{{{{{z{{zz{{{{{z{||{zzzzzzz{|{||||{{{{zz{|z{{{{{|||{z{{{zzz{{{{{{{|{{|z{z{|{{z|{|{}{{{{z{{z{{|{{{{|{z{{{z{z{||{z||{|{{{{{{{{||{|{{|{z{{{{zz|{||{{||zz{{{{{{{{|}}}||z{|{|{|{||{|{||||||{{|z{{{|||{||||{z{{{{||||{}}|{{|{{||{||{{|||||{{{{z{{z}|||}|{|{{{{||{||||||~|{|{{|{{z{{{{||||||{{{{|{{{{|||{|{{{z{{|{{|{||||{{|z|{{{|{|||{{|{z{{zz{{z{{{|{~~~~}~|~~|{{||}}~~}||||{{|{{}}{|}}|||z{{{z{{||{{||||{|{{zz{{|{}{{{{|z{z{{{{z{|{{z|{|{{{{{{z{{{|z{|||{{z{y{z{{{{|{{{|{z{zz{{y{{|{|||{{{zzzz{z{{{{|{|{|z{zzzz{{{{{{{{{{z{{{z{z{{{{{{{{z|zz{{{{{{zz{|{{{{|z{{{z|{{z{{}{{{{z{{{|{{|{{|{|{{{{zy{z{{{{{||{{{{{{{{{||||{||||{{{|zz{{{|z|}|{{z{{z{{z|{|{||}|{{{zz{z{|{{{|{{{{{{z{{|{{{|{||||z|{|{{{||||{||{|{z{{{zz{|{}{|{}{|{{{{zz{}}||}||}{|{{{{|z|||||||||zz|{{{{{}}||||||{{|{{{|{{|{|||||{{zz|{||{|{|||}{|{||{{||{|||}|||z|z{{z{|{||||||{{|{|{|z{|{z|{{{|z|{|yz{{{|{{~~~}}}}}|}}}|}~~}||{{|||{|||{{||}}|{|{zz{}}{{|||}|{|{{{{z}|||}|{|{{{{{{{y{{{|{{{{{{|{|{z{|{|||z||{{z{{{z{{{{|{{||{zz{{{{z{{{{{||{z{{z{{{|{{|{{||{{z{{z{{{{|{{{|||{{{y{z{{{|z|{{z{||z{{{{{z{{|{|{|{{{{{{{|{{{{{||||{|{|{|z|||{{||||z{{{{{{|{{||{{}|{{}|{z{|{|||||||z{z{{{{{|}{{|{||{{{|{{{|{{|{{||{{{{{{z{{{||{{|{{{{{}{|{{|||}||{{|{{|{{{||{|}||}|z{|{{|{|||||{|||{{{||{{|}|}||||{||{||||||{}|~||}{||{|{{|}|||}}||{|{{{||||||||}}||{{|{{|||{|}|||||}|{{{{}|}}||||~{zz||{|{{{{||}|{{{{{|zz||||{|{||{{{{{{|{||{|~}~~}}|~}}~}|}}|~|~||{{|{|{|{||{|{{|{|{{{|z{|}{{}{||||{{{{zzz|{|{{|{|zy{z{z{z{{{{{||zz{zz{{{{{{|{{{{{{{z{z{{z{{{|{|{|{zzz{{{zz{{}z{{z{{{{zzz{z{{||{{||{{{z{{z{{{{{{|{{{zzzz{z{||{z{{{{{{z{{{z||{{|{||zz{z{{{{{{{{||||{{z{{{{z{||{{|{|zz{{{{{{{|||{||{{{{{z{zz{{{{|{|z}{{{{{{z||z{|||{{{z{{{{{{{{|{{{{|{|{z{{z}|{{||||{{{|{{{{{{||||||z{{{|||||{{|{{||||}{{|zz{}||{|||{z{{{|{{|}{||||}{{{{|{|{|||||||}|{{{z|{{||{|{}}|}{{|{{{||||}{|}|{z{|{||{{|||{}{{||{||{{|}|||||}||{{z{{||{{||{|{||{z{zz{{{{|{{|||{{zz{{|{{{|{{~~~}}}}}||}|}{}}}}|~||{|||z||||{|||}{z{{{zz||{|{{||{|{{{|{z{{{|{|||{{zzz{{z{{{{{|{z{{zz{{z{{{||z{|{{z{zzzzz|z|{{{||z{z{yzzz|{{||{{{{z{{z{{zz{{zz|||{z{z{zz|z|{|{|||z{|z{zzz{z{z{|{{{{{{zz{z{{|{{||{zz{zzz{{z{{|{||||{{{{{{zz|{{{{||{z{{z{{{{{||{|||{{{z{{{{|||{{|{|{|{z{{{{z|{{||{{|z{{{{{{{{||{|{|{|z|{{{z{|{||{{|{|{{{z{{||}||}||{{{{{{{z|{|{||||{{{{{{z{{{|{||}{{z{{{{{{|}|{{|||{{{{{{|{||{|{|}}|{|{||{{|}}|||}|{{|{|{{{{|||{||||zz{{z|{||||{||||{{{|{{{{|||||}||{|{{{{{{{{||||}|{||{{{{||}|}|||{{{{{{{{{|||{~~~~~}}}|}}|}}}}|}~}||}{||{{{||{}|||{|{|{z{zz||{|{|{}|{{z{z{{{{|{|{{}|zz{{{{z{||{{{{{{{z{{{yzz|{|{|{{{z|{{{{z{z{|{{|{{{zzyzzz{|{z{z{{{zz{z{z{{{|{{|{||z{yzzzy{{{{|{||{{zzzz|z{{{z{|{{{{{{{{z{z{{|{|{|{{zz{|zzz{|||{|{{z{z|{{z{{|{{|||{{{{z{zz{{|||}|||{|zzzz{{{||||||{{z{{z|{z|{|{|{{{z{z{z{{{|{|z||{}zz{{{zz||||{||{{z{|{{{{{|{|||||{z{{{{{{|{|||||||z{|zz{z|}||||{|{{{{{{{{|||{|{|}|{{{|{z{||||||{}|{{{{|z{||||{{|||||||{{{|{}|{|{|{{{{{{{{{{|{{}||||z{{{{||||}|{{||{{{z{|z{||{||||{{{{z{{z{|{||||{|{z{{{{z{||{z~~}}}}~}|}|}}||~|}}|||||{{||{{||}{|{{{{z{{{{{{{{z|}{{|z{z{z|z{|{|{|{{z{{{{z{{{{{{|{|{{z{{z{{{{|{z|zz{{|z{z{z{{|z|{{z{{{zzzz{|{{z{{|{z{z{{zzz{z{||||{{{zzz{{{|{{zz{{z{z{z{{z{{|{|{|{{{{{{{|{{{{{z||{zzzz{|zz||{{{z{|{{zz{z{|{{{||}{{{z{{{z{{{{{|{{||{|{{z{z{{{{{{|||{|zz|{{z|||{{{||{{{|{{z{{||{{|||{|z|{|z|{|{{z|{|{|||{{z{{|{}||||{|{|||{|{{{}||{|{z{{|{|{|||{}{|{{{z|{|{||||{|{{}{{{{{{|||||||||}|{{{|||||}|||||||||}|z{z||{||{}{||z|{{|{{||{||||{{z{|{z|||{}||{{{}{{|{{||||{||}{{{{z{|{{{|{|{{||{{{z{z{z{{{{{~~~~~~}|||||}|}}}~}}}|||{{|{{{||{||||{z|z{zz{{|{{{{|{{{zzz|{{{|{{{|{{z{{{{{{zzz{{{{}z{z|{zz{z{{{{{|{{{z{{z{zzz{{{z{{|zzz{{{z{|{{{zz|{{zz{zz{{z|{{{{{{{z{zzzz{z|{{{{{{{{{zzz{z{|{z{{{{{{{zzzz{{|{{{}z||{{{zz{z{{{||{||{z|z{{z{z{z|{{||{{{{zz{{{{{{{{{|{{|{z{{z{||{{|{{|{{{{zyz{{{|{{{{{z{{z{z{{{{|{{|||{{{{z{{{{|{|{||{{{z{y{z|{{|{|z|zz{{{{{z{|{{{{}}{|{{{{{{||}|z{|||z{{|{{z|}|{{|||{{{{{{||{{{|||||{|{{{{{{||{{|||||{|{{{z{{|{}|||{|{z{{{{{{{{|{|}|{{{|{z{{||{|||{|||{{{zz{{|{|{{|}|z{{{{{zz{|{{z||{{{z{z{z{{{{{~}~||}||||~}}|||}|{{{|{{{{|||{}||{{{{|{|{zz{{{|||{{{zzz{{{{{{{{}|{{{z{{zz{|{z{{{|{z{yz{z||{{{{|||{{zz{{zz{{{{||{|zzzzzy{z|{{{|{{|{zzyzzz{z{{{{|}{{{{yz{{z{{{{zz||{zzz{zzzz{{z{||{{{zz{{{y||z{{{|{{{z{{|z{z{|{{|||{z{z|{zzz{{|{{||{z|{zz{{{{|{|{|}zzz{{zzz|||{{{{{|z{zzz{{z}{{{||{{{{{{{{z|{|{{{||{{z{{{z{{{|{||{||z{{{z{|{{{{||}|{{|z|{{|||{|z|||{{z{z{{{{|}{{||||z{||{{z|||{{|||{z{{{{|z{{||}|}{{|{{||{{}|{||||}{{{|{|{{{}||||{{}{{z{{{||{}||||||||{{{{||{|{||||{{{{{{|z{||{{|||}{|z{zzz{||{{|{|{{{{z{{{{z|{z~~~}|~|}}|}}|}|}}}|}|{||||{|||{{||{{{z{{|{z{||{|{{|{{zzz{zz||{{{||||{z{{{{z|{{zzz|z{z|{{{z{z{{z{{{{z{zzz|z{{{zz{|{|{zzzzzz{{{{{{{{{z{{z{z{zz{|z{|{zzzzz{z{z|}{{{{||z{z|zzzzzzzz{{|{{z{zzzz{{{{z{{{{z{z{{|zz|{z{{{{z{{{z{z{{z{|{{||||{{{{z{zz{|{||{{{{|zzz{y{{{{{|||{{{yzz{zz||{{{{{{{{zz{{{{||{{|}{{{zz{{{z{|{{{|{{|{{{{{{z{|z||{|{{{|{{{{z||||{||||{{{||{{{|{|{{|{|{z{zz{{{|{{|||||z{{z||{{}|}{|{{|{{{{|{{||||{|}}}|{{{z{{{|{{}{||{{{|{{||||||||{||{||||{{{|||{|{|{|zz{zzzz{||}||||{z{zz{z{{|||{|{{{{z{|{z{{||{~~~~~}|~}}}}}|}}}}}}}|{|{{|||}{|||{||{{z|{{{||{|{{{{z{{{{zz{|{|{{{|{{|{zz{z{{{{{||{|{z{{{{z{|{z|{{|||{zz{{{{{{{z{{|{zyz{zzz{{|{{|{{{z{{{{yz{{|{|{{|{{{{zzz{z|{|{{{{{{{{zzzz{{{{z{||{{yzzz{z||z{||||{{zz{{z{|{{||{{{|{{{{z|{{|z{z|||{z{z{{{{{|{{{{{|{z{{{z{{|{{{{|{|{{|{{z|{||||{||{|{{{{|z{|{{|||{{{|{|{{z{{|}{{||{{{{{{{{{{|{{{|||{{{{|{|{{|{}|}{|{{{{{{{{|||||{|{|{{|{{{{||{|}|||||{{{{{{{|||{}|{||{|z{{{|}{||}}}{{}|||||||||}|}||{{{{{|{}{||{{}}|{|{{{|{}||||{|{|{{{|{{{{|{|||{{|z{|{{|{{|||{{||{{{zz{{{|{{{}~~}}|}}||~}}}}}||}}}{||{|}|{}|{||||{{|}{||{|||{{}{{{{{|{|{{|||}{|{{|z{zz{{|{|{{{z{z{{zzzz{{{{{|{{z{zz{{zz{{{{{{{{{{{zzz{z{{{{|{}{{{{{z{zz{z||{|{|{{{{zz{{z|{{|{{{{{z{z{{y{{{{{{|{{{|z|{zz{|z{|{{{{{{z|{{{{||{|||{|zzz{z{{{|{{{|{|z{{{z{{{|{|||{|}z|{{{z}{{{|z{|||{{{|{{zz|||{{|{|{{{{z{z{{{||{}|{|{|{{z{||}{{|{}|{{|{{|{||{|||}{||{|{{{|{|{||{{||{{{|{|{{||||{|}|}z{{{z{{|||||}||{z||{||{|||{||}}|z{{z{{{{}}|||}}||||{{|{|}{|||}||{{{{|{|||||||}}{{z{|{z|||}||{|}|{|{|{{|{|{||||||||z{{{z}{{||{|}{{{{z{zz|{{{|~~}~}}||}|}}{}}~}||{{|}{||}}|}}}||z{|{z|{|||}||}|{|z{{|{z|||{|{|||{z{{||z|||{{{||{{z{z{{{{|{{||{{||{{z{{{{||{{{|{{{zzzz|z{|{|{|||{zz{z{{{{|||||{|{{{{|{{z{{{||{||{{{{{{{{{{|{{|{||zz{zz|{||{{{|{{zz|{{{{z{{|||||{|{{{}{|z{{||||||{z{{z{{||{|{|{{}|{{{z|z{{||{|||}{{|z|{|{{||||||{{|{z{{{{{||{|z|{{{{{{{{|{||{z||{|z{|{{{{||{}|||{|z{{|z{|{|{||||}|{{z{{{||||}|}}{|{{{|{}{||}}||}|{{||{}|{z||||~|||{|{{{{{{|||||}||{{{z|{{||||||{||{{{{{||{}||||}|{|||z{z{}z||{||}|{{{{{{{||{||||}||z{{z|{|{|{|{{|{{{{{y{{|{||}~~}}~~|}}}}|}||}|||||{|{}{|||}}|{{{{{|{{||}|{{|{{{{{z{{z|{{|}||{{{{{{{{z{{{{{|{|{z{{{zz{{{{{||{|{{z{{{z{z{z{{|{|z{{{{{z{|{|{z{{z{zy|{zzz{{{{||||{|{z{{zz{|||{{|{{{{z{{zz{|z|z|{{{{zzz{zzz{|{{||{{{{{|{{zz{{{{{|{|{{z{z{{{|{|||||{{{zzz{{}{{|{{|}{zzz{{{{|||{||||{{{|{z{|||{|{|{{{{||{{{{||||{||{|{z{{{z}|{|{{|||{{{||{{z|{|||}{|{|{{{{|||{|{{}|{{z{|{{{||||}}|||{{|{{{|{|{{{||||{{||{}||{}|||}||{{{{{||||}}|}}|}}|{|{z{|}||||||||z{{{{{{|||||}}|||{{}{|{||||{||||{{z|{{{||{|||}||{|{{{|{{|||||{|{{{{{z{{||{||~~~}||}}|||}~|}|||}||}{z{}||{||}|{}|{{{{{||}{{||{{|{{{{{z{{{{||{|{{{{{{{{{|{{z{|{|{zz{{z{{|{{{|{{{{{zz{{zz{{{{{{|{{{{{z{{zz{{z||{{zz{{{zz{{{{|||||z{{zz{z{|{||{{{{{zz{{{z{{z{{{{{|zzzzz{zz|z{||{{{{{{z{zy||{{||||{{{{z{{z||{|{|{{{{{{{z|{{{{z|{||z{{z{z{{{{|{|{|{{|{{|z{{||{{{|{|||{{zzzz|{|{|{{{{{{{z{z|{|{{{|||{{{z{{{z{{||||{|{{{{|z{{}{}}||||{{||||{z{||}{}}|{{{z|{z|{|||||||}{|{{{||{{|{}}||{{|{z|{{{}||}}||{|{|{{{{{|{||}|{|{|{{{{|||{z{{|}||{{}|||||||{|||{{z{||{{{}{{||}|}{|{{y{{||{|||{|{{{{zz{{|{{{{}~}|~}}||}}|~}}}||{zz||{{|||{{||||{{{{z{|{|}{|{|{{z{{{|{y|{|{|{|}y{{z{{{z||z{z{|{|{zz{{{z{{{{z{{z{{{{zzz{z{{|{||{zzz{{z{zz{z|{{|{{zz{{{zz{{{{{|{|z{z{zz{{{{{{{{|zzz{{{z{zz{{{z|{{{{z{{z{zz|{{||{|{{z{zz|z{||{{|{{{z{{|{{z{{{{||{|{z{{z{{{{{{{|}{|z{{z{{{{{{|{{||}|{{zz{{{|||{|{|{{{{|zz{{{{|{{||{z{z{zz{{{||{|{|{{{{{{{{|{|{||z|||{{|||{|||{||||{{{z{{z{{||{|}{||{{||{{|{|}|{{||}||{{z{|{|{|{{|}||{{|{{{{||||}|||||{|{{{{|||{||||||||{||{||{{|{|}{|{{||{{{||||||||{{z{z{{|||{|{|{|||{{z{{{{{{|{}|{{{{{{{z{{|||}~|~}}}|}{||}}}}}}}||{{}{||||||{|}{|{{{{z{z|{|{{|||{{zz{{z{|{|||{}{z|z{{zz{{z|{{{|{|{{zzzz|{{{{{{{{{{|z{|{{{{{z|||zzzzz{z{{{{{z||{{|zzz|z{{z{{{||||z{z{zz{{{|{{|{|{z{z{zzz{|{{{{||}zzz{zz{y|{zz{||z{|zz{zz{{{|{|||{|{{{zzz{|{|{|{|{z{{{y{{|{|{{{||{{zzzzzz}|||{|{|{z{{z{{{{|{{|}||{z{{{zzzz}|{{|{{|{z{||{{|{{|z|{{{|{{{{z{{{||{|||{|{{{{|{|{|||||}{|{{zz{|{{{}{{{||{z{|{|{|||{|}||||{{{}|{{|{}}}|||{|{{|{|{|{|}|||{z||{{{{|{{}}|||}|{{{{|{{{{{||||||{|}{{{|{{|{}||{z{{{{|{||{|}|||{{{z{{{z{|||{||{{{{||y|z{{||z}~~~}|}|||}}}||{}|~}{||{{|{|||{||||{{|z{{z{||{z||{||{{zz{{z{{|}{{{}{{zzz{{z{{{z{{{{|{zzzzz{{{zz{{|||zz{zzz{{{||{{z{zz{zz{zz{z|zz{|z{{{{zzzy{{{{{|{|{z{zzz{z{{|{{{}{zz{z{zzzz{{{z|||{zzz{zzz{{{zz{{{{z{{z{zz{{z|{{||{|{zzz{{{{|{||}|{{{z{z{{|{{|||||{z{zzzzz{|{{{||{{{z{z{zz||{|{{{||{{z|{{z|{{z|||{{{|{{z{z||{{{|{||z{|{z{{{|{|||||z{{{z{{|||{|{||||{|{|{y{{{|z|||{|{z{{{{{||||||||{{|{{}|{|||||||||{|{z|{}|}|||}|||z{||z{{|}|||||{}{{z{z{{|}|||||||{{{{z{{|||}|||||{{z{|{{z|{||{}|{{z{{{z{|{{|{{|{{zzzzzz{||{{{}~~~~}|}}|||||}}|}||~|||{{{|{z}||||{||{{z|zz{z{{|{||{||{{zzz{{{{|{||{|zz{z{yzz{|z{|{{{z|{{{z{{{|{{{|{{z{zz{{{z{{{z{{{{z{{{|{z{|{z{z|{|{y{y{{zz{{{{{{{{z{zzzyz{{{{{||z{{y|{{{{z{{{{{{|{z{zzz|{z{|{{|{{zzz{{{{{{|z|{||{{zzz|{{{z|{|z{}{zz{{zz{z{|{{{||{z||{z{z{|{|z{{|{|{{|{{{{{|{{{{|{z{{{{z{z{|{{{{|||{z{{{{zz{{|{|{||z{{{{{{|||||||}{|{{|{{{{|{|||||{{{||{{{{{||{||||z{zz{{{||{|{{{{|{{{{|{|{||||||}}{{{z{|{|}|}|}|}{{{{{{{{|}|||||{|{{z{||{|{||{}{|||z{|{{||{||||{||{{{{z|{{|||{{}z{{{{z|{z|{{|{||{{|{{{{zzz||{{}~~~}|}|||}}|}||}~}|||{||{{{{|}{{{{{{|{zz{{|{|{{||{z|{z{|z{{|{{|{{{{z{{z{zz|{{||}{{z{{zzz{{{{{{{{{{zzzz{zz{z{|z{|z{z|{z{z|z|{{{{{z{zzy{zzz{{{{{{{|{z|{{yzz{|{{z{||{zz||zzzz{{z{{||{{zzzz{zz{z{{{{{{zzzz{{{z{{z{{{{z{{{{zz{z{|{{{{{zz{|{z{{{z{{{{{|{z{{zy{z|{{{{{{|{{{|{y{zz{{|||{{|zz|{{{z{|||{|||{{{zz{{{{|{|{|{z|{{{{z{{{||}||||{{z{{||z{{{|{|{|{z{{{zz{z|{||{|{{{{{{{{{{}||||}}|{{{{{{{{||{}||||z|{{|{|{|{||||||z|{{|z{{||||{|||z{|{{{|{{|{{{||{|{{{{{{{|{|{}{}{|{{|{{{{{|{{|{|{{z{zzz{z|{|{{|{{{|z{z|{{||{|~~~~}}|||}|}|}}}}}}~}{{{||{z|||{||||{{|z|{zz||||{{|||{{z|{z{|{{||{||{z{z{{{{{{z{z{|{{{{{z{zz|{|{{{{{{{{{||{{{{{{|{|{zzzzzz{z{|{z{{{{{zzzzz{{{{{z|{{|{|zzzzz{|{{{{z|{{zzzz{{zz{|{z{|{|{{zyz{{{{{{z{{|z{{{z{{z{{{{{{{|z{zzz{{{{||{|||||z{z{z{{{{{|{|||{z{{|{{{|z{{|{|}{z|{{z{{{||{{|||{z{{{{z{{||||z{{{{{{z{zzz{{||{|{{{{{zz{z{{||||||{{{{{{|{||||||||{{z{{{z{{}|{|{|{|zz{|z{{|{|||{~||{{|{|{|||||||||{|{{{{zz||{|}||||{{|{{{{|||||}||{{{|{{{||{||||||{{{|{{{|}}||||||{|{z{{{{{z||||||{{{{{{{{{||{}{|{|{{{zzzz{|{{{~~~}|}||{||~|}}}}}}||{||||||||||||}|{|{{|{|{}|}|||}{{{z{{{{{{{|||{||z{z{|{{{|{{z{||{|zz|{{{{{||z|{{zz{{{|{{{{{|{{{|{z{z{zz{||{{|{|{|{zz{{zz{z|{{{|||{{{{{zz{|{|{||}{z{z{z{z|||{{|{{|{{{zz{z{z{{{|||{{{|{{{{{{|{{||{{{z{zz{{||{}{{||{z{{{{|z|{{z|{||{{{{zz{|{|||{{||||{{{z{z{|||{}|{||{{|{{z{{|}{||{|{{{{{zz||||{}||{z{{{{{||}||||||{{{{{{{{{|{}|{{}}{{{{{|{|}||{}}||{{z{{{||}|||||}||{{{{{{{{||}|||{|{{{||{{||}||}|||{||{{|}|||{|}||||{{{{{{{{|||}|}|{{z{{{|{||||{|{{|{{|{{{|{{|}|{{{{|z|{{{||}{{|{|{|{z{{{|{{{|~~~~~}}}}|}}}||}}|}~}{{|{||{}||{|||||{{|zz|{|{||||}|{{{z{z{{|{{{{|z|{{|z{{{zz}{{{{|zz{{z{{zz|||||{|{|zz{zy{z{z{{||{{{z{z{z{{|{{{{||{zz{{z{z{{|||{{{{{{{{zz{{{{{{{{||zz{{zzzzy{{{{|{{{{{z{y{z{{{{{}|{{zz{{|{z{{|{|||{{zz{z|{|||{|{{{|{|z{{z{{{|{||||||{|{{{z|{|{||{||z|{{|{{{{}||{}||{{|{{{{{||||||||{{{|zz{|{||{}}|{{|{{{|z{{{|||}}{z|z{{{{z{{{|||}||{{{{{{|{|{{|}}}|{{{|||{}{|||||}|{{z{{|{{||{|||}}{}{{|{||}}||}}}}|||{{{{{|||||}||{{{{{||||{|{{}||||{{{||{|||||}}|{{{|||{{||{|{}}{{z{{{{{|{{|{||||z|z{z{{{|||{~~}~~{}}}||{}|}|}}}}|||||{|||||{||{|{{{{|z{z|||{{|||{{z{|{{z|{{|{|{||z{{{|{{{||{z{|{{{{zzz{zz{|zz{||zz{{zz{z|z{{{|{{z{{{{z{zy{{z{{}{{z{{{{z{{|{{{{{|z{{{z{{z{{{{{{{|{z{{{zyz{{|{z{z{z{zz{zz{z|{{{|{zz{{z{{{{{{{{{|z}{{{z|{{{|||{||{|{{{{{z{{{|{|{|{{zzzz{{{{{{{z{|{|{{zz|{{z{||z{|||{{{y{{{z|{|||z||z{{z{{zz{|{{{{{|{{{zz{{{|||{|{|{z{z||{{|||||{|||{{{{{{{z{{|{{||||z{|{|{z|||{{}||z{{{|{||{|{{{||||{{{{{{{{}{||{}|{||{{z||{|}||||||{|z{{{{{{||}|{}{|{{|{||}|{|{|||{{{z{{{zzz||||||{{{{z{{z{{|}||}|z{{{{z{{z{{|{~~~~~~~~}}}}||{|}|}||||||{{|{|{}||||}||{{{{{{{z|{|{{|{|||{zz{{|{{{z||{|{z{zz{{zz{{{z{{zz{z{zzz{z|z{z{|z{z{{zzz{{{{{{|||{z{zzzzz{{z{{|{{z|{zzzzz{zz{{{|{{{{z{zzzz{{{{{||{zzz{{y{{{zz||{{{|z{{zzzz|{{{{z{{{zz{zzz{|{|||z|{z{{{zz{{|{{{|||{z{zzz{{{{|{{{||z{{|z{z{|{{{|{{|{{|{{z{{{{z|{||{|{{{{{{|{|||{{}{|{z{{{{{z{||{|{||{|z{{z{|||||||{{|{{{{|z{|{|{{{{|{{{{{{||{|{|||{{{z{{{||{||||||||{{{{{||{{|{||{|||{{|{|{{}|||||||{|{{z{|||||||||{{{{z{{{||||{||||{z{{{{|||{{|{{||{|zz{|{|||{{|}|||z{z{|{{{|{|||{{z{{z{{z||}||~~~~}}}}}|{||||}|}}}||{{{{{{{|{{|||{}|{{{|{{{{}{|{{{{|{{{zz{{{{||||{|z{zy{{{zz|{{z||{{{zz{z{{{{{|{{|{{{{{z{z|zz{z{{{{|{{zzz{zz{{|{{{{{{z{y{|{{||{|{}|{{{{{{{z{||{|{||{|z{{{{y{{{{{{{|||z{zzzzz|{|||{|{z{{zzzz{{{||{||{{|zzy{zz||{||{{{z{z{z{{|{{{{|||{z{z{z{{{{{{|||{|{|{{zz|{||{{|{|{{|zz{{{z||{|{{{||{{{{{{{||{{|||{{{||{|z|||{z}|{||z{{{||||||{|||z{{|{z{z||}||||||{{||{{|}|||{}|||}|{|{||{{{||}|||{{{|{{{|}{|||}|{z||{{{{|{||||||{|{{{{||}{{|||}}|{{|{{{{z|{|}|||{{|{{{z{{|||||{|{{{{{|z{{{{||||||{{z{{zz|||{{~}~~~~~}|||{|||||~|}}}||z{{{||||{|}||{||{zz{{|{}|z{{||{{{{{|z{||{z|{{{z{{{z{z{||{{{|{{|{z{zz{||{{z{|{{z{{{z{{z{{{|{{{{{z{{{|{z{z{{{||{{zz{zz{{{|{{{|{{{zzzzzz{{{|{{||{z{z{{zz{{|{{{{||{{{{z{y{{{{{|||{{{{z{{z{|{||{{{{{{{{z|{{{{{{{|{|{{{|{{{|{|||{|{{{{{{zzz{||{|||{{{{{{z{{{|{|{|||{z{{{{{{|{||z|}|{{z{{{{{|||{{||{z{|z{{{{{|||||{{{{{{{{|{|||{{|}|{{{||z{{|}|||||||{|{{{zz||||{|||{{{{z{|{||||}||}|{{{{{|zz}||}|||{{{{|{|{|||}|{|||z{{|||z|{|||}|}||{{{|{{|{||||{|{z{{{{{{{||||||||{z{{z{z||{}|{{|{{{z{z{{{||{{~~~~}~}||{}}|~}~~}}||{{|{||||||||}}{z{|{{{|||}{|||}{{{{z{{{||{|{|{{{z{{{z{{{z|{||{{{|{{{{{{||{{||{{{z{z{|{{z{{{z{|{zz{z{zzz{|{z{|{{{{{{z{{{|{{{{{|{zz|zzzzzz|{{{{|{{{{zzz{zz|z{{|{{}{zzz{{{{{{{|{|{{zz{|{{z||{{||{}{|z{{{|{{|z|{|{||zzyzz|z|{{{{{|}{|{{{{{z|{{||{|}{{{{{z{z{}{|{|}||{{{{|{{{||{{|{{|z{{|{{{}|{{||{|{||{|{zz||{|{|||{{{{{{{{|||||||}{||{{|z{|}{||{|{|z{{|||||||||||||{|{|{{{|{|||}}||{||{||{|}|||{}|{{|{{{|{{{|{|{}||{{{{|z{||{{|}}}||||||{{}|{}|||||{{|z{{{{{z|}|||{{{|{{{{{{|{|{|||{{{{{{z|{}{|~}~~~~~|||||||}||~}}}||}{||{{{{{|{||{||}{{|{{yz{{{|{{||}zzzz{z{z{||{{{{{{z{{z{{zz|zz{{{{z{{yzz{z|{{|z{|{|z{zyzzzzz{|{|{|{zz{{z{zz{|z{{{{|zzzz|{z{z{{{{||{z{zz{{{z{{|{||z{z{zz{zz{{{z{z{{zzzzy{z{zz{{{{{|{zz{{z{{{z|{z{{{z{zz{zzz{{|{{{||{{zzzz{{{{|z{|{|z{z{zzz{{{|{{z|{{z{|{z{{z||{{||z{{||{{{{zz}|{|||{z{zz{{{{}|{{|{|{{{z{|{|{|||{||{{{z{{{{z{|{{|||||{z{{{{z{}||||||{z{{|{|{|}|{{|||{{{{|{{{{||||||}{{{|{{z{{|{||{|||{{{{{{{|||||{|||{{|{{{{{{||{|}}|{{|{{{|{}|||{|||{{z{{{{{|{|{||||{z{z{z{}||{|{}|{z|zzzz{|{|{|~~}}~|~~~~}~}}||}|}|||||}}{|{{}{{{}|{||}|{{{{{{zz{|{|{||||{z{{z{{{|{||{{{|{y{zz{{z{|{|{||{{{{{{{{yz|{z{||{|z{{{zz{|{{{{||{{z{{{y{z{{{|{{{{{{{{{{z{{{{{||||{{{z{{{zz{{{{z|||{{zyzz{z|{z{{{{{zz{zzzzz{{{|}|{{z{{{z{zz{{{{{|||{{z{{y{||{{||||{z{{zz{{|{||z|||{{|{{zzz{{{{{{||{|z||z{{{{||z{|{y{z{{{{|||{{{{}{|{{{z{z{{||{z|{{z{zz||{|}{||||{|zzz{{|{{||||||||{|{|z{{{||||||}{{z{{z{{{||{{{{|{{{{{|||{{{{||||||z||{{|{|}|||}}||{{}{{|{{|{{|{||{{|{|{{{||}|||||{||{|{|{|||}}{||||{{{{|z|{}}||||||{{{z{{||{|}|{||z{z{{{z|{{{{}~~~~~}}}}}}|}|{}|}}}|}}~}||{{{|{{||{{}|||{|{{{{zz|{|{z{|{|{|z{z{z|z{|z|{{{{z{zzz{{|{{{|{{z{z{{{z{{{{{{{{{{z{zz|z{{{{z{{|{zz{zzzzzzz{{{{|{|{zzzz{z{{{{{{||z{|{z{zz{{{||{}||{{{{{z{z{{zz{{z{{z{{zz{z|{y{|{z{zz{||zzz{{||{||{{{{{z{{{|{{|{|}|z{{z{|{{z{{{{{{{{{{{z{{{{{{{{|{{{{{|z{{z}{|||{{{{{zz{z{|||{{{|||{{{{z{{|{||{{||{{z{{{{z}{{{{{||{|z||{|{|||||}}||{{{zzz{||||}|||{z|{{{|{|}||||||||{{||{{{|{|||{}|{{{{|z{{}}||{}|||{{|{|z{{|||}|||{||{{{|}}|{||{}|z{|{{|||{||{|||{|||{||{{|{}{{}||{{{z{{{||||{||{z{{|{z{{|||{{~~~~~~}~|}||||||~}|}}}|||{||{{|z}{{{}}}}{{{{{{|z||||||}||{{{{|{z{|{|z|||{{z{z{z{||{z{{{{|{{{{zzzz||{{||{{{{zz{zz{{{|z|{|{z{{{z{{{|{{{||z{{{{z{{z{{{|{|||{{|{{zzz{{||{{||{{zz{{{z{{{{|z||{{{z{{zz{{{{{{{|{y{{|{z{{{{|{|||z{{{{{zz{{||{{||{{{y{{{|{||{{|||{{z{z{{{{||{|}|||{{||z{{{|{{||{{z|{{zz{{{{||{||{{{z{|{zz|{|{{||{{{{{{|{{||||||||{{{{{|||{{{}{|||{{{{|{{{|{|{|||||{{|{{|{||||||||}|{z{||{}{{||}{|{|{{{{{|}||||}}||{|{|{{|{||}|}}{}{{{||||{||||}}}||{||||||||}|||}{{{{|{{{||}|||||{{{{{{{{||{|{{||{{|z{{|{{z|{{~~~~~}~}~}~}~}}|}{{}}||{}}}|||{{{|{{||||}{||{|{{z{z{{{|{|}{{{{z{{{{||z{||||{{zz{{{y{|{|{{||{z{{{z{{|{{z{{||zz|z{zz{|z{{{{||{z{{{z{{{||{{|{|{{z{{zz{{{{|||||{|{{{{z{{z{{{{{|{{{{{z{z{||{{|{|{{{y{{{z{{{{{}|{z{{z{z{zz|{|||||{z{z|z{{{{|{{{||z{{z{zz{|||{{}{}|{||{{{{{{|{{|||{z{{{y||{{}||||}{zz{{z{{z||||{||{{{{|{z{{|z{{|{{||{{|{z|||}}|}{{{{{|{{{{|||||||}{{{{{{|||{|}||}||{|||{{{||{||}}|z|{|z||{||||}}{|}{|{{{{{{}}}}{|||z{{{{z{{||||||||{{{|{z|{|}{|||}||}||{{||{||||}|||{z||{{|{{|||||||z{z{|z{||}}}|{{{{{{z{{{}}|{|}~}}~}~~~}~~||}}|{|~}}}|}}}|{{|{{|z|{|||}|||zz|{||{{z|||{{|{zzzz{{{{{{{z|{|{z|zz{z{{{{{{{{|{{{{{zz{|z|{||{{{{z{z|z{{{{|{{||{{z{{zzz{|{{|{{{z{{zz{zz{{{|{{{{|zzzz{zz{{{||{{|{zz{{zzz{||{|{{|z|{zzzzz{{|{{|{{{{zzz{z{{{{|{{|}{{|{zz|z{{|{{{{|zz{z|zz{{{{|{{}|{{{z{z{{{||z|{|{||{z{{{{{||{||{|{z{|z{z{||{{{{{{|zzz{{{{||||{}|}{||||{z{|{{|{||{{|{{{{|{{{||||}{|{{||{{{}|||||||{{|||{{{||||}{||z{{{||{{{|{||||||{{|z|{{|||{}{{}|{{{{{||z{||{||{|{{{|{{{||||||}}}|{{{{{{z|{|}||}||{z{{z|||{||||}|{z{{{{{||||{{|{{z{{{{|{{|{||~~}~|~}~~~}}~~|||}|}|{}|}||}}|{{{|{{|{|||{|}}{{{{z{zzz{|||{{|{z{{{z{z{{{{{||||z{|z{{zy{{|{|{{|{|{y{{{z{{z{{{{{zz{{y{zz|{z|{|z{{z{{zzz{{{{|z{{z{y{z{zzz|{{{|{{|{{zzz{{zz{{z||{{{zz{{zzz||{{z{}{{{z{yz|{{|{z{{{|{z{zz{z{{z{{|{{{{{{{{{zz{||z|{{|{{{{zz{z|{||z{{|zz{z{z{z{z|{{{||{{{{{z{{||{|{||z{z{{{zz{|{|{{||z|{{{{z{{|{{{{|{{{{{zzzyz{{{{||{{{{{|{{|{{{{{||||{|z{{zz{{{|||||{|z||{{{z|{{|{|||{{|{|||{|}|{|{}|{{{|{{z{|}}}||||}{{{{{{{|||||}{|||{{z{{{||{||||||{{{{zz{{|{}|{||{z{{{{{{{|{|||{{{|{|{{{{|||||{||z{|zz{{z{|{|{~}}}~}~}}}~}}~}}}|||}}|{|}|{}}|}{|{|{|{|{{||}{{||z{|z{zz{|z|{{|{|{{yz{{z{|{{{{z{{{z{{z{{z{{|{{{{z{{zz{{{{{{|z{{{{zz{y{{z{{{{z{z|{{z{zz{z{{{{{{z|zyzzzzzz{{|{{|||z{{{zzzz{{{{{{z||{z{zzz{z{{z{{{{{{zy{{zzz|{z{|{z{z{{{|zz{|{{{{{{{{{z{zzzz{{zz|{{{z{{zz{{|{|{||{{zyz{|zzzz{{{{{|z{{{{{{|{{{{|{|{|{zzz{{z|{{{{|{||{zz{z{z{{||{{|zzz||{|{{{|||{{{||zz{z{{{z|}{||}||zz{{{zzzz{}{}{||{{|||{{{|||{{|||{{|z{||{|{{{{|}||z{|z||{||||{||||{{{z|{{||}{|||||{{{{{{|{{||z||{{{{|{{{{{{||{||{|{z{zz{|{|{||{||{zz{zz{{{|||{{|{z{|z{{{z{{|{{~~~~|~~~}}~}|}{||{|||{}|}}|}}{||||||||}|}}{}|{{z{{zzz{{{{{}|z{zzz{{{|||{|{{||{{z{zzzz|z{{{||zzz|{z{|{{{{z{{|{{{zz{zz{z{{{{z|{y{zzz{{{|{{{{|{{{{zz|{z{{{z{|{|{{{{y{{z|{|||{|{|zz{z{{{z{{{|{{{{{{{{z{zz|{{|{z{{{{{|z{z{{|{{{{|z{zzz{{z{|{{{{|||{{zzz{|||{|{{{|zz{{z{{zz{{|{||{z|z{|z{{{||{{||}z{{z{{{{|||||{{||zz{{z{z{||{{|z{{|{{{{z{|{|||}||{{{{{|{{{|{||||||{{||{{{{|||{|||{{{{{{{z{}|||||}{{z{{{{{{{||||||{{{{{|{{{{|}|||}||||{|{|||}|||{}{z{|{}{{{|{{|||}}|{z|{{|{|{|{{||{|{{{||{{z|{|{}}|zz{{{{z{||}{|||{{|z{{|{{{{{{~~~}{}}}}|~~~}}}{||||||}}}}||||{z{|{{{{|{{||{||{|z{{zz{|||{{||{{{{z{{z{{|{{{||{{zz{z{z{{{zz{|zz{{z{yz{|||{{{{{{z{zz{y{{z{{z{|{zzz{{zzz{|{{|{zz{{{zyzz{{{zz{|{{{{zzz{{{{{{{{|{|zz{{z{{{{{zz{{|z{{{zz{|z{|{|||{{z{z{z{{z{{{{|{|||{{yz{|{{z{{|z{|{z{|{zz{{{{{{|{}{{{zz{zzz|||{{{{zz{{{zzz{|{|{|{{zy{{z{z{}|}{z{|||{{z{z{{{|{{{{{||{{y{{{|{{|}{{{{{{{{{|{{{||{|{|}|{{zzz{{{{{|||{|{{{{|z{{{|{|||||{{|{{||{{{|{{|}||zz{||z{{}|||{||{|||{{z|{||||{{|{{{z{{{{{{|||{|{|{{||{zz{||{{}||{|{{{{{{{{|||{||{{{z{z{{{|{}|{|{{{{{{zz{{{z{|~~~}~}~~|~~}~~}}}}{|z||{|}}|||}}||{{{z{{{{{|{|||{|{{|{|{|{||{{||{{{{{{{z{||{|{{{{{{{{{{{{{{{{|z{{{{{{{{{|{||{{{{{{{zz{zz{z{{z{{{{zzzzz{z{{{|{{{{|{zzz{z{{|{{{{{|{z{zzz{{{{{|{{|{z{z{z{zz{z{{{{{{{{z|z{{z{|z{{{{{z{{{{zz{|{{{z||{{||z{{{zz|{{z||{{zzzzz{{{||z{|{|{{{{{z{{{|{{|{{|{|{{|z|{{|{{{}|{z||{{{{{{|{{{{||{{||{zzz|||{{||||{{z{{{z{|{|||||||{zzz{{{|{|||||{|||{{z{||{|||||{{{{{{{|||{{||{||{|{{{||{|{}|||}||||{|{{|||||}}|{{{|z|{{{|{|{|}|||{||z{{{||{|||||{{{|||{{{{|z||}{{{{{||z{}{||{}|||zz{{{z||||{{|{|z|{{{zz|z|{|~}}~|}}|~~}}~}~{}|{|{z|||}|||~|}{z{{{{{||{}|z}}|{|{|z{{{{|{{{|||{{z{{{z{|{|{|||{{{|{{{z{{{{{|||{{zz|y{{{{{z{|{zzyzzz{{z{z{{{{{|zz{z{z{{z{{z{{|{{{{{yzyz{||{z{{|{{{z{{{zz{{{||||{{zz{z{z{z{{z{{z{zzz{{{{{|{{{|{{{z{{z{{z||||z{{|{zzzz{{|{{{|z{{|{{{z{z{{z|{|{|{}{{zzz|{|{{|{||||{{|z|z{{|}{{{|{||{{{{{{{{{{z{{|{z|{{z|{z{|}{{||||{{{{{{{||||{|||{zz|{{|{|||}||||{{{{{{z{|||{||{|}{{{{{{{|||{|||}||{z|{{{|{|{||||}{{|{|z|{|}|}|||{{{{{{{|||||}|}||{z|||{||{{|||{||{||{{{||{|{{}{|||{|{|{{{}{{{||{{|{{{{{{|}|{|{||{{|z|{z{{{{|z~~~}~}}}}}~}}}}}||}||||{|}|}|~|~}|{{{{|zz|{}|{|{}{|{{{z{|{{{|{|||{{{z{|{{{{|}||{|z{zz{{zz{|{|{{|||{{{{z{y|{{{{{z{z{z{zz{{{{{z|{||{zyzzzz{z{|z{{|{|z{{y{zz{{{||{{{{z{zz{zz{{{|{|{{{{{|{{{z{{{||{{}{{{{{z{{{|||{{|{zz{{{{{{{|{|{{{{{z{{{z{{z||z{{{|{{{{{{{{{{{}|{{|z{{{{{{{||}{||||{{{z{{{{z|{||}||zz{zz{{z|||{|{|||{{{zzz{{|||{|{{{{|{||z|{{{|}{|||{{{{{{{{|{||{{|{{{|{z{z||{{|||{|{{{{{{{|{|||{|||{|{{{{{z||{||}}}{{{{{|{{}}|||{||{{|{{{{||||||}||z{{{{{z{|||}{|||{{{||{{}||{{{}}{{{{{z{{{||||{||||{{yz|z{||||||{|||{{{{{{||{|~~}}}~~~}~}~}}}}~}}|}||||||}|~}{|||{|z{|{||}}|||}{{zz|{{{{{|}{{|{{{{{zz{zz|{|z|{|{z|z|z{{{{{{|z|{{z{{z{{z{||{z{{|{{{{{{{zz{{{{||{{{{zz{|y{{{z{{||{{{{z{z{{{||{||{{{|{{{z{{{{{z{||{zzz|{{{z{{{{z{|{{zzz{{z{{z{{|}{z{zz{z{{{{{|{{}|{z{{{z{{{||{{|{{|z|{|{z{||{|{{|}|{{{{{{{{}|{|||{{{{{{{{{{|{|||}|{|{|z{{{{||}|||{{z{{{{{{||||{|||{{{{{||||{|}}{}{||{z|{{{||z{||||{{{{{|{{|||}|||{|z{{{{|||}}|||}}{{{|{||||||||}}|{{{{{{||{}|||||||||}{|||}|{|{||{|z{{|{{{{|{|}||}}{{|}|z|{|}||||}|{{z{{{|||{|{|}{{{{|{{z{{|||{}|{{{{{|{{{{||{{~}}}}~|}||}~|~}}|}}{|{|||}|}||}}||{||||{{||{||||}{{|{|{|z{||||||||{{{|{{{||{|{||{{z{{{z{z{|{|{{||{{{{{{{{|z||{|||{{{{|{{{{{{|{|||{zz{{{{z{{{||{{{|zzz{{z{{z{{|{{||z{|z{zz{{{{|{{|{z{{{{zy|{{{{|{{zz{{z{{{z{{{{{||{{{z|zz{{||{|{{|{{zz{{zz{}{{{{|{|{{{{{z{{z|{||||{{{z{{{{||||{{{||{{{{z{{{{{|||||{{|{{{{{||}||||z{{{z{z{z{||{{{}|{{|||{{|||}||{||{{{{|{{{|{||{}||{z||{{z{{||{|||{{{{|{{{{||{{{||{{||{{||{|{|}||}||{{{{|{{{}{||}|||{||{{{||||}|||||{{{{{{{||||}||||z{||{{|||{||}}|||{{{{{{{|{|{|}{|||{z{{{{{||||{{{|{{z{zz{{|||~}~||}}|}|||}}}|}}||||{{{||{}||{|}|{||{z{{|{|||}}|{{z{zz{{{||||{{||{zz{{{z{{|{|}{|{z{z{{zz{|{{{{|||{{y{z{z{{|{z|{{zz{zz{z{|{{|z|{{{z{{z{{z{{{{{{|{{zz{z{yy{z|{{{{|{{|{y{{zz{z{{{zz{z{{z{{zzz{zz|{{{zzz{z{{{|{z|{{||{z|{{z{{{{|{|{|{{zz{{{{{{{{|}{z{{z{zz{{{{|{{|||{z{{z{z{{{{{|{{{{z{z|z|zz}||{|{{{z{zzyzz|{}{{{|{||{{{zz{z||{{{|{|{{z{{{{{||z|{}|z{{{{|{{|{{|{|}|{{{|{{{{{|||||{{{{}{|z{{||||{|||{z{|{{|{|||{{|||}{{z{}{{{}{|{||||{{||{{|{|}}|||{|{z{{z|||||||||{|{|||{|{|||||{}||||{{z|z{||||||{{{}{z{|{{|||{||{{z{{|zzz{||{|~~}}|}~~}||}~}}}|~|||{{||{|}||}|}}|}|{{z|{|{{{||||{z{{{z{{|||}{||||{{{z{|{z{|{{|z{{{{{z{zzz|{{{||{{{{|{zz{{|{|{{{z|zzzz{{{{|{|z{{{zz{zz{z{{|z{{{||{z{{zyz{z{{|{{|{{{{{zzzz{{{||{{{z{{{{{z{z{{z{{{{{zzzz{z{z{{{{{{||{{zz{{z{|{{{{{{{zzz{{{{|{|{|{{|zz{{z{{{||{{|{|{{{{|zzz{{{{{{|{{{|{{{zz{z{|{}|{{{z{{{{zz{||{{||{{{||{{{{|{|{{||{|z{|{z{z{|||||}|{{{{{{{{{{||||}|{{{|{{{{||{}|}|||{{|{z{{||||{|||{{|{{{|{|{z||{|||{{{{{{|{||}||}{|{{{{{|{|{|}|{|||z{{|{{{|{|||{|{|{{{|{{{{{|||}|||||{|{|z{|{|}|||{}{{z{{z{|||{{|||{|zzz{{{{{{{~~}}}}|}}|}|||}}}}||{||{z|||}|}{|}|{{z{|{{|{{z{|||{z|{{zz{{{|{{{{z{|{z{{{z||{{{|{|zzzz{z{z{zzz{{{{zzzz{zzz{|{{{{{zzzzzzyz{{|{{{{|{z{{z{z{{{{{{{{{{{z{z{{{{{{{{{||{{zzzy{{{{{|z{{{|{{zzzz{{{{zz{{{{{z{zzzzz{{z|{|||zz{{z|{zz|{|{{{{{{zy{zy{z{|{{{{{{z{{{zzzz{{yz{||{z|yzzzz{{{||{{{{{zzzyy{z||{z||{{z|{{yyz{||{{{||{{zz{{y{|{{|{|||{{{zz{z|{{{|{{||{{|zz{{{{{{|||{|{{z{|{{{{||{|||{{{{{{{{{{{z|}||{{{|{{|{|{|{{|||||{|{||{{{|}||{|||||{|{{{}|||{}||z{{{{{zz{|||{{{|||{{{{{{{{{|{|{{zzz{{{{{{|{|{|||{|{{{|{z{|{|{z|{zz|zzz{{{|{{|~~}}}|{|}||}||}|~}|}{{{{{{||}||}}}|{|{{{{z||{||||||{|{{zz{|z{{|{{|z{{{{{|z{{{||{||{{{zzz{z|{{{{{{|{|zz{{zz{z|{|{{zzzz{z{{{z{{|{z|{z{{{zzzz{|{{{|{{{zz{zzzz{{|{z{{{{z{{zz{{{{z{{{||z{{{{{{z{{{{{{{|{z{zzyzzy|{{|}{{{z|z{zzz{{{|z||{|{z{zy{z{{{{|{|{{z|{{|{{{{{{{|||{|{zz{z{{z{{{|{{{zz{{z{{|{{{{{{{|{zzz{zz{{{||{|{{{{|z{{{{|{{{|{{{||{z{{z{|||||{}{{{z{{{{{|||{|||{z{{{zzz|}{||{|||{z{{z|z{||{|}{|{{{{{|{{z||{z|{|{z|{||{{|||}|||||{{|{|z{|{{||}{|{{{{{y{{|||}||||z|{{|{|{{||{{}|{{{{z{zzz{{{{{{{||{{{{zzzz{{|{{}||{{z{zz{{{||{}}}||}}}}|{|}|}|~}||{|{{|{{||||}|{{}{zyz{{{{|{{{{|{{y{z{zzz|{|{|||{{z{{{z{y{{z{z|{|{{{{{yzz|{|{z|{{{{{zzzzz{{{z{||{zzzzyzz{yz{{{{||z{zzzz{{{{|{{z{{{z{{z{zzz{|{{|z{}z{{{zzz{{|{{{|{z{zzyzz{z{{{{{{|{{{zz{{z|{{z{{|z{z{z{{zz{z{{{{{{{{{{|z{{{{{|{{{|{zz{zz{z|{{|{{{|{{{y{z{z{|{z{{{|{z{z{z{z{{|{|||{z{{{zzzzz|}||{{z{{{z{{{z{{|{z{{{|{{{{{{z{|||||{||z{zzy{{{{{}{{||{{zz{{{{{||{|{{{{z{z{z{z||{z}{{{{{{{{{{|{{{|||{{{z{{z{|{{{|||{|{|{{{{{{|{|{{||{|{{{{|{z||{{{|{{|{z{{|{zz||||z{{|z{{{zz|{|{{|{{|||z{zz{{{{|||{||{{z{z{z{{z{{{z}}||}}|}z}|}}|}}}|}|}||{{{||||{{}|||{{{|{{|{{{{||||{{{{{|z{{{z|{||{{{{z{{{zz{{{z{{|{z{{{z{y{{{{z|{|zz{y{{{{z{{{{||zy{{{zzz{{{z{{{{{{{zz{zzzz|{{{{{{yyz{zzzzz{{{{{{{{z{zyz{zz{z|{{|{z{zyzzzy{{{zz{{{{{{zz{z{|{{|{||{z{{{{{zz{{{{z|{{z{{{zzzzz{{zz||{{zz{zzzz|z{{{{{{zz{yz{zz{{|z{{|{z{{{{z{zz||z{{{{{{|{{{zz{||{{{||{{{z{{z{{{{{{|}|{{z{{{{{{|{|{{{{{{|{||{{{{||{|||{z{|{{zz{}{{{|||{z{{{{{{|{}{|{||{{{{z{{{||||{|{}|||z|{{|}}{{{{{|||{{|z{{|||||||{{||{{z{|z{{|{}{|{{{{{{z{||{|{|{||{zz{{zz{|{{||{{{{z{{{{z{{{{z|{{z{{{zzzz{{{{{}~}}}~}|}||}}|}{|||}||z|{{||}}}|}||{|{{{|{z{{{{{||{{{{z|z{z||{{z{{{|{z{z{{z|{z|{{{{y|{y{zzz{{{zz{{{{{{{z{zz|z{|z{{{zzzy{zy{{zz{{|||z{zz{yzz{{{{{z|{{{zz{zz{{|{{|{{{{z{{y{z|zz|{{|{|zz{{{zzz{{{zz{||{zzzz{{zz|{z{||{{zz{z{{z{|{z||{{{|zy{{{z{{{{z|{|{{{z{zzzz{|{|}{|{z{z{z{zzz{{{{{}{{{{{z{z{{{{||{|z{{{|{{{{|{{{||{{|z|zzzz{|{z||{||z{z|{{||||||{{|z{{{{z{{|{{|||}|{|{{{{z{{|||{{{||{z{|{z{{|||{||{{{z{{z|{{{{{{|||{z{{{{|{{}{|{|||{z||{{{{{{|{||{||{{{{{{z|{|{|{{{|{{{{|{{{z{||||}{{{{{{z{{{|{{|}{}{{{{{|{{}{|{{|{{z{{{{|z{|z{|||}}}}}}||{~}}}|{}}|{{||||{||{||}||||{z|{{{||{||{|}{{{{|z{{|{|||||||||zzz{{{||{{||||{{zzz{{{{{z{{{z{{z{z{{{{z{z{{{{|{{zz{|z{{{|{{{{z{{{y{z{z{{|{||||z{{{zz{{z{{{{||{{{z{{zz{{{z{}{{zz{{|z{{{{{{z{|{y{{zz{z{{|{{{|{{zz{{{zzz{{{{{{{|{{{zzz{{z{{|z{|}{{z{z{{{{{{|{}{{{z|{{z|z|{||{{{||{|{zz{|{|{|{|||{{{{|zz{||{|{||{{{{{|{{{|||{{|{|{{|z}|{|{||||||{{||{{{{{}|{{{|||{z{{{{{{|||||||||{{{{|z||{|{|||}{|{{|{{{{{||}|||{{|{z{{{{|||||{||{|{{{{{|{|||||{{|{|{{{{{|{|{|||{{|{|}{{{|{{|||}{z{{{z{|{z{|{|||{{z{{|z{{|{{{|||{{{{zz{z{{z{z}|}~|||||}{}||||||||||||z{||||{||}|||{|z|{{{{{z{||||{{{z{{zz|{|{z{||z{z{z{{z{|{{|{|{z{zyzyz{{{|z{|{{{y{zzzz{{|z{{{z{yzzzzzz{z|{|z{|{zzy{{{z{||z{{{{zz{z{zyyz{{{{{{{{{z{{z{zz{{{z{{{|zzzzzz{{{{z{{{{{zz{zzzzz{{|z|{{{{zy|{{z{{{{{||{{zz{|yz{{{{z{{{{{{{zzz{z{{{{{{|{{{z{z|z{{{{{{{|{{{{{zz{{{|{{{||{zz{z{zzz{{{|{{||{z{{z{z{|||z||{{z{{|{z{{|||||||}z||{{{{z{|||{|{}{z{|{|{{z|{{|{|{|{z{z{{z}|{{|}}||{|{{||{{{|{{|||}{{|{||zz|||||}|{{}{{z{{{|}|||{|{{z|{{{{{z|{{|||{{{{{{{||{{|{|||{|{{{{{zz|{|{}|{|z{{z{{z||{|{|{{|{zz{{{z{|{z|}}~||}||{}|{}|{||}}{||{||z{{|{{|||}{z{{{{{z{{{||{|}{{{{zzzz|z{|{{|{{{{z{zzzzz{{{{{|{{zz{zzz{||{{{{{zzzzzzzyz{{zz{{{{{{{zzzz{z{{{{{{zz{z{zz{y{|{z{{{{{{{zz{{{{{z|{{{zz|zz{zz{{|||z{{{zz{yyzzz{{{{{|{{{zzz{{{{{zz{{{{{zzz{{{{{{{{{|{||z{{{{{{{{{zz{|{{z{yzz{|{{{{z{|{{{{zzz{z|{z||z|{|{zzzzz{{{{||{{{{z{zz{|{{{||{{||zz{z{zz{}{|{{|{|{{{{{zz{{{||{|||z|{zzz{{|{{}z|{{{{{{|zz{z{|{|{|{|{{{{{z{||{{||}||{|z{{z{{|{{|||{|{{{z{|{||{z{|||{{z{zz{{||||||{|{{z{{{{{z||{{|{|{{{|{{{{||{{||}{{z{z{z{{{{||{{||{{z{{{{{{{|{{{{|{z{{zz{{{|{zz}||{{|}||{||}}{{|}|}{{}{{|{|||}||}|{|{zz{{{{{||z||{z{{z|z{|z{{{z{{}{{{{{{{z|{|{z{z{{z{z|z{z{{{{||{{{zzzzz{z{|{{{{z{zz{{z{{z{{{{z{{|{zzzzyz{{z{z{{{{{{z{zzz{{{{{||z{{{zzz{zz{{{{{|{{|y{yzzzy{zz{{{{z{{zz{{zz{{zzz|{|{zzzy{zz{|{||{{{|z{z{|{{{{{{|{|}{y{{zz{{{|{{{{{|{zzy{{{y{zz{{{||z{|{{z{z{|{{{z{{z{{zz{zz{|{|{{|||zz{z{|z|{|{{{{{{{{{{z{{{{||{|{|{z{z|{{|||{}||{||{{{{z{z{{{{||{{{{{{z{{||||{||||{{{{{|{{z|{{{||}{zz{zzz{{|||||||{{{|{{||||{||||||{{z||{{{||z||}{|{z{z{{z{|||||||{{{z{{{{z{|{{|{{{z{zyz{zz|z||{{|{{|{{zz{{{|{|}|}}{|{||{|{{{||}||{{{{z{{{{}|{||{{|||{z{zz{{||{||||{|zzyyz{{{z{{|||{{z{zz{|{z{{|{||zzz{z{zz{{||{{{zzzzz{{zz{{{{|z{zz{zzyzz{{{z{{||{{{zz{{z{{{zz{z{{zzzzzzyz{{z{|{|{zzzzzzz{z{|{{{{zzzzzzzy{{{z{{{zz{zz{zyzz{z{z|{{zz{{{zzz{{|{{{{{{z{z{{zz{{{{|{{{{z{{{z{{{{{{{|{|z{z{yz{{{|{|{||{{z{zzz{z{{{z{|{{{||z{z{z{{||z{||zzz{{zz{{|{{{{|{{{z{{{{{|{|||||{|{{{|z{{{{{|||}|{{{z{zz{{||{|}{{|z{{{z{z|||{{{||{{{{z{{{{{|{{|{{|{{{z{{|{{|{{{|||z{{{{{{{z||{|{{|{{z{|zz{||z|||}{{{|{{{z{{{|{|{|{|zy{z|{|{{{|||{{{{z{|z|{|{||{|{zz{{zzz{{z{z{}}~|{|{}||{{}||{||}|{{{{{{{|||}|}|||{zz{|{y{|{{||}||{{{zz{z{{}|{||||z{z{z{zz{{{{|{z{{z{{zz{|{{{z|{z{zzz{zzzz|{{{z{{{{zzyzzy{z{{{}||{{zzzz{{zz{|z||z{z{{zz{{zz{{{{|{z{{zzzzzz{{|z|{|zz{z{{zzz{z{{{z{z{z{z{{{{{zy{|{{z{y{{{zz{{|{{||{{z{{{zz{{{|{z{||{{{{zzzz{z{{|{{||z{z{{z{z{{{{|||{||{{zz|z{{{{{{{{z{{zzz{{|{|{{|{{{|z{z{z|}{{|z|{{{|{{{{|{||||||{{||{{{{{{|{||||}|{{{{z{{{|{|{||{|{{{{{{z{|||||}|{{{{{||z{|{{||||{{{{{{{z{||||{||{z{{{{|{{{{|{}|||zz{{{{{|{|{|{{|{{{|{z{{||||{|{||zz{zzz{{{{{{||||{z{y|z{{{{}|{|{{{{{{z{{{{{{z}||||||{||{|||{}|{||{{{{{{z{{{|{|||{zzz{{zz{{{z{{||{z{{zz{z{{{{{{|{{z{z{z{z{{|{{z{{{{{zzzzzz{zz{{|{{zzzzzyzzz|z{{{zzz{zyzzz{{zz{z{{zzz{{z{zzz|z{{{zzzzzyzzz{{{{{{{{z{{zzyzyz{z{z{|{{z{zzz{zz{{z{{zzz{zy{zzzz{z{z|{z{z{zzzz{z{{|{{|{zzz{zz{z{{{{{z{{{z{{{zz{{{{{{{{|{zzzzzzz|{{{{|{{{z{{z{zz{{||z{{{{zz{{{|{{{{{{||{|zz{{zzz{{|{{{||z{zzzz{{|{{}|{}{z{zz|z{z{{|{{{|{{{z|{z{zz{{{|{||{{z{{{{z||{{{|{|{|z{{{{{{{|{|{||{|{z{{|{{{||{||||z{{{zzz{{|}|{|{{z{{{zz|{||{||{{{zz{z{{{{{{|{|{{|z{z{{zz{{{{{||{{|{{{z{{z|z{{{{{{{{z{zzz{|{{{~}}|{}{|{|{{}|{|{|}|{|{{zzz{{{{{{|||{{z{{z{|{z{|{{|{zzz{{{{{{{{{{|{{z|zzzzz|z{{z{{{z{z{{{z{z{yz{{{z{{zz{zz{{z{{{{{z{z{zz{zz{z{{{{{|z{{z{zzz|{{{{{|{z{zzz{z{{{|z|{{{{y{{zzzzz{{|{z{{zz{{zy{yz{{{y|{|zz{zzzz{{z{{{{zz{z{yzzzzz{|zz{{|z{{zzzzy{{z{{|{{{{z{{{{z{{{{z||{z{z{{z{{{{{{{{|{zz{z{z{z{{|||{{|{zz{z{z{{{||{{|{{{{{z{{{|{{{{|zz|z{{{z{{{{{|||{{zzz{{{{{||{{{||{{z{z{y{z|{{||{|||{{{{{zz||{{||||{{{{{z{|||{|{||||{{|{{{{{}{|{||{{{{zzz{z|z|||{||{z{{{{|{{||z|{||||{y{{z{{{z||{||{{{{{{{{|{{{{{||{{{{{zz{z{{{{{{{{{{z|z{{{{{|{}||||||{||{||||||}|z|{{|{zy|}|{{}{||z{zz{zz|{{{{||{|z{{{{{{zz{{{{{|zzz{{z{z{{{{||{|zz{zz{{zz{z{zzz{{z{zz{z{z{{{z|{{{z{zzzzz|{{{{{{{{zz{{{{{{{{{{z{{{{y|zzzz{||{|{{{zy{{{zz{z{z|zzz{z{zzz{zyzz{z{{{z{{z{zz{zy{zzz{z|zy{{{{{{{|{{|{{|zz{zz{{{z{{z{{||{zzz{zzz{{{{z{{|zzzzzz{{|{{{{{|{{y{{zz{y{{{|{|z{{z{{{zz{{{{{{|{{z{{zzzzz{{||{{|{{{zzz{{z{|||||}{{{{{|{{{{{||{|||{{{{{{z{|{{{{||{|z{{{{|z{{|{|{|{{{{{||{z|{{|}{|||z{{{|z{|}|{|||}{z{{{z{{{|||{|{{{y{{{|{{|{{|{||||{|z{{z{{{|{|||{{{{yzzz{|{||{|{|{|z{z{z{|{{|{{|{{{{{{zz{{{|{{}||{{|{|||{{{|||||||{{{z|z{{|||||{}{{}z{{|{z{z{|||{{{zz{{zz{{|{||{|{{{zzzz{z|{z{{{|{|}zzz{zy|{}{{{z{{{z{{zz{|{{{{{|{z{z{z{{{{z|{{||{zz{{zzzz{|z{||{z{z|zzz{{{{{{{{{{{{{{z{{{{{|y{||{z{{{zzy{{{{{{{|{z|zyz{zz{{{{|{{zz{{zzz{{{{{|||{zzzzzzzz|{{|z{{|zz{{z{{{{z|{{|||zz{{{{{{{||{|||z{{{{zz{z{||{{|{{{{{{{zz{z||{z{{|{{{{{{{{{{{|{|{||z{{{{{{{||{||||{{{{{{|z{{{||}||{{{{{{zz|z|{{{|||{{{|{|{|||||||||z{{{|||||{||||{{{{z{{zz{|{|{{||{||{{{{{|{||}|{{|{z{|{{{{|{{{||~|{|{{{{{{|{|{{{||{{{{{{{{|{|{|||{{{{{z{{z|z{{{|{{{zzzz{{{z{{z}}}||{{||{{||}}|}|}{|{{|{{{{|{|||||{|{{{{{{{{{z{{|{z{{{z{{z|{{{{|{{z{z{{zzy{{{|{|{{zz{{{{z{{||zz{|{{{zzz{z|{{{{{|z{|z{zz{zz{z{|{{{|{{{zzzz{{{|z{||{{z{{zzzzzz}z{{{{{|z{zz{y{{|{z{{{{zzz|z{y{{{{|{{{{{{{{{zzzzz{{|{{{{z{{{zz{{{{{{|{|z|zzz{zz{{{{{||{z{{zzzz{{{{||{|{{{{zz{z|{{z{{{|{{{{y{{z{{{{{||{{{zz{{z{{|{{{{|||{{{zzz{{{z{|}|{{{{{{z{z|||||{||{|{{{|{|z{|||||{{{z{{{z{{||{{|{{{{{{{{|z||||||{|{{{z|{{{{|{{{|{z|{|{{|{{{|{|||{||{{|z{{{||{||||{{{{z{{{{{{|{||{|}|z{{|z{|||{|z||{|{zz||z{{{|{|||{z{{{z{{{||{{|||z{{{{|z{{{{|||}|}|{|||}|||}||{|{||{{|{|{{z{||{|}z{{z{{{{{||{|{|}{{{{{{z{{|||{{{|{{{zz{{z|{||{|{|{zz{{{zz{|z{{||{{|zzz{zz{|{{|{{z{zzz{zz{z{|{{{|{zz{|{{z{{|{|z{||zz{z{{z{{{{y{{{{z{z{yzzzz|{{|{|z{zz{{zz{z{|z{{|z{z{z{{zzz{z{{|{z{y|z{{z{z|{z{{|||{{{zz|z{||{{{{|{{{y{z{{{{z{|{{{{{|z{{{z|||||{{|{{|{{{{z{||||{{{{||{{zzz||||{||{{{{z{{{{{{{|z{||{|{z{{{|{|{||||{z{{z{||{{|{|{|}|{z{|{|zz|||||||||{{{{|{||||z||}}{{|{{|||{{{|||||{{|{{{||||||||}|||{|{{{{{|||}|{|{{{{{{{{{{{|{||}|{{{{{z|{|||||||z|{z{{{z{|{|{{}|{{{|{{{{{{z|{{{{{z{{{{z{|||{z}|||{|{||{{|}||{~|}||{|{zz{|{||{|{||{|{{{z{{{{|{{{|{{{z{zz{{|||{{|{|{{{zyzz{|||{|{{{z{z{z{{{{z{{{{{{{{z{z{{{{|{zz{{z{{z{y|z{|{{{{{{zzzz{zzzz|{||{{{zzzzy{z{zz|{{z|zzzzzzzzz{{{{z{||{z{{{{zzz{{{{z{{z{{z{{z{{{{{{{{{z{{zz|zzzz{|z||{zz{{{zz{{||{{{|{{zzzzy{z||{|{|||z{{z{{{{{{{{{{|||z{|{{z{{{|{{||{{zzz{{z{{||{{{|{{z{z{{zz{|{{{|{|{{{{{zzz{|||||||zz|{{{{{z|{|||||{{z{{z{z|||||{|||z{{|{{{{|{{{}}}{z|z|||{{|{|{{||{{{{{{|{{|{||||{{{{{|{{{{{{{|||{|{{{{{{z|||||{}}{{{z{{{||{z|{|||{{z{{{z{z{{{{||{{{{z{{{zz||{{z|{{z|z{z{z{{{{{|{|{{|||{|||{|}{||}{|{{{{{{|{{{|||}{||{{{z{{|{{{}||{{{zzzz{||zzz{|||{zzzy{{{{{|z{{{{{|{z{{{z|||z||{{zz{zzzz{z{{zz|{{{{zz{zzy{{{|{{|z{zz{{zzz{{{{z{{{zyzy{zz{z{{{{z|{z{|zzzz{{{|{{{{zzzzzz{z{{z{{{{{{z{zzz{zzz{z{{||zyzz{z{y{{{|{||{z{zz{z{y{z{{z|{{|{{zzz{{{{{}{{{|{{z{z{{z{{{{{{{|{{z{zz{{{|z{{{|||{{{{{{z{{{|{{}|{{zz{zzz}|{{|{{|{{{|z{zzz{|{|{||{{|{|{{{{|{|z}|}|{{{{{{{||{||||||zz{{{{{z|{|{|||{{{z||{{z||{||||}{||z{{z{|||{{|}|{{{{{z{|{{||{{{|z||{z{{|||||{}|{z{{||{|||z|||||{{}z{{zz{|||{{|{{{{{z{|z|{||{{{{|{{{z{|{{{{|{|}}|{{|}{{z{{}|||{}||{{{zz{||||{|{||{{z{{z{{{|{{{{|{{|zzzz{{z{{{{|}zz{zy{{{|{{|{|{{{{z{{zyzz{{z{{{{||zz{zzy{{|zz{{{yz{zz{yz{{{{z|{{zzzzyz{zz|{z{{{{zzz{z{z{z{|{|{{z{{{zzz{y{{{{{z|{zz{zzz{x{{{z{z|{zz{z{zzz{{z{z|{z{z{z{zzy{{|||{{|{{z{{{zz{|{z{|{{|{zzzz{zz|{{{z|{zy{zz{z{zz|z{{|{{zyz{{{{{{|{z{}{{z{z|zz{{{|{|||{{{{{{|z{|||{{|{||{{{zz{z{||||||{z{{{{z{{{}{|{||{{{||{{zz{{|{|{{{|{{{z{z{{|{|{|}||{{{z|z{{||{{||||{z{{{zz||||{{|{{{||z{{{{|||{{||{{{{|{{{{}{}||}|{{z{{{{z{{{|{}||{{|zzzzz{||{{{|||{{zz{{z{{z{{{{{{z{zz{z{{|{z{|||||{{|zz{||}{{|||{{{z{{{{z{{{{|}|z{{z{{|z|{z{{z{|{zz{z{{zz{{{y{{|{{z{{z{zz{{{||{|y{z{yy{{zz{{|z{{{zz{zzz{{z{yz{{|z{{zzz{yz{{{z|{{{zzzzzz{{z{zz{{{z{zzzzzz{z{{{{|{{{zzzz{zz|{{z{{z{{zzzzzyz{z{{z|z{z{{{z{zz{{{y{{zz{z{|{zzzz{{{{z{{{z{{zz{z|{z{{{{{{{{zzz{{{{{{{z{z{{{z{{z{{{{{{||z{y{{z{z{{|{|{|{{z{{{zz{{|||{z{{|zzzzzzzz||{{{||{{z{{z{{{||{||}|z{z{z{{{z{{{||{|zz{{{zzzz||{{{{{{{zz{z{y||{||{|{{z{{{{{{{||{||||zzz{{{{z|{{{|||}|{{{{zz{|{|{{||||z{{{{{{|}||{|||{{{|{{z{||{|{{||{{z{{{{{{{{{|{|{|{{{{{{z{|{||{||{z{zz{{{z{|z||||{|{|{{z{|{||{{|}{|{{{{{z{|{|}||||||z{{z{|{{|z||{|{{{zz{{{|{|{z|z{z{zzzz{{{{{{||{z{zz{z{z{z{zz{|{{{yzz{z{|{{{{{{zz{zzy{zz|{{{{{{{{zzzzzzz{{{{{z{zzzzzy{zz{{{{{{|{{z{{zz{zzz|{z||{{zz{zyz{z{{{{z{{zz{z{z{z{|{{{|{|{{{{zyzz{{{{|{{{{z|z{zzzz{|z{{{|{{z{z{{z{{{|{|||zz{{{{{{{{{{{||{z{zz{z{z{{||{{{{{z{zz{{z{{{z{||{{{{{{{{{||{|{}{{{{{{{}z{||{{{|{|{{{{{{{{{{{||||{}{{{{|{z{{|{{||{{zz{{{{z||||}{|{{z{yz|{{|}{{{|{||{{{{{{{|}{||||}|{{{{|{|}||{|{|||{{|||{{||{|||||{{|{|{{|z{|{{|{|z{{|{{zz||{{||}{|{{{z{{{{||{{{{{{{{|{z{{|{{{z{|||{{|{{{|||{{|{||{{{|{{{||{}}{|{||{{{{zzz{{|{||||{z{{zz{z{|{{{{|||{zz{{{z{|{{z|{{zz{z{z{{z{{{z|{zz{zzz{z{y|{{z|{|zzz{zzz{{{{{|{{{zz{z{z{zz{{{{{|{{{yz{|z{{z|{{|{{{zz{zz{zz{{z{{{{|{zz{{{y{z{{{{{{{{zy{|y{{{{||{{{{zz{{{zz|||{|||{|{{zyzzz{|z|{|{{zz{zzzzz{{z{|{{{{{{{zzz|{{{{{{{|{z{z{z{{{|{z{{{{{{{z{{{{|z{||{|{{zy|zz{{{{{{{{{{{{{z{{{{z{{|{{|{{{{{{z|{||{||||}{|{{{zz||{||||}||{{{{{{{{|||{{|||{{{{{{{{|||||||{{{{{{{z{}|}|}|||{||zzz{||||||}||{{z{{|||{{{}|{||{z{||zz{|{|||{||{|z{{{{{|{}|||{|{{|zzz{{z|{{{}|{z|z{{z{|{|{{|}{{|{{|{|z{}|||||{{z|{{{{z|{|{z|||{{zz{{|z||{{|{||zz{{{{zz{z|z|{{{{{z{z{|zz{{{z|{|{z{{|z{zy|{z{{{{zzzzz{{z{z|{{|{{z{{{z{z{{{z{{{{|zzzzz{{{{{{{{{zz{zzz{{zz{z{{{{{{z{z{z{y{{{{{{{|{zzzzzzz{z{{{{{{{|y{z{{zzz{zz{||{{{zz{zzz{|{|{z{|zzz{{{{{{{|{z{{|{{{{{{zz{{|{{{z{{z{zz{z{{||{{|{||{{zz{{{z{z{{|||{{{z{{{z|{|{{{|{{{{{zzzz{{|{{|||{{z{zzzz|{{||{}|{z|{|{{z{|{|{||}{zz{{|{{|{|{|||{|z{{{{{{|||{||||{{{zz|{{z{{{{||{{{{{{{z{{}}{{|}{{z{|z{{{|{{{||{{|{z{{z{{{{{{|{{{|{z{zz{z||||{{{|{z|{{{y{{{{|{{{{|{{{zzzz{|||{|{{z{||z{y{{|{{{~|{{}{|z{{z{|}{|{||{{{{{z{{z|{|||{}|{{{{{{z|{{z|}|{|z{{{zz{{{||{||{z{zyzz{{{{|||||{{{{zz{{zzz|{{{z|{{{y{zzzzz{zz|{{|{{{{z{{z{z{z{z||{zz{z{{|z{||{{{{z|z{{y{{{{{||||zz{zyz{z{|{{{{|{{zz{{{{z{{||{{z}{zzzzzzzz{z{{{|{z{yz{|z{zz{z{{{{{zzz{{{{{zz{{{{{zz{zzz{z{|{{{{||{{{{zz{z|{|{{{{|{yz{|z{z{||{{|{{zzzy{{zz{|||{{||{z{{z{|z{||{z{|{{{{{{{|{|{}|}{}{{{{{{{|{|{{|||}|{{{|{|z||{{|||{{|{{{|{{{|||||{~{{{{{z{{{||{|||{||{{{{|{{|||||||||z{{{z|{{||{}{}||{|z|{{{||{||||}|{{z{{{{||{|}|}|{|z{{{{{{||{||}}{z{{{zzz{{|{|{||{{z{|{zz|{{{{{||{{{{|z|{|||||z|||{{z{{{{{{|{|z}|{|zzz|z{{||{{{{|{zz|z{z{z{{|{{||{z{zzzyz|{{{{{||{{{zz{zz{{|}{|{{yz{{|{{zz|{{z{}{yz{{zz{z{z|{{{||zz{zzy{z{{{{||{{z{y{{{{{zz{{{{{{{{{zyzz{{{z{{{{|{z{{zz{zzz{{{{z|{{zzzz{zz{{z{|{|zzzy{{{z{{{{{{}{{{zz|zzzzz|{{{|{|{zzzz|{{z{|{{z{{{{z|{{{{{|{|{|}{{z{{z{{{{{{{|{||z{{z{{{}|{|z|||zzzz{{z{{{{{{{|{|{z{|{z{{{{{||{|{{{{{{{{||{||||}{{{{|{z{{|}|||{||zz{|z{zz|||{||{|{|{z||z|{{{{|}||z{{{{z{||{|{{|}{z{{||{{|{{{{||||{{z|{{{|||{|{|||{|z{|{{z|||}|{{z{{zz{|z{{{{{|{{|{z{{{zzz}||z{|{z{{z{z|{{{|{||{{{{{{{{zz||||{|{|{|z{{{{{{{z|{|{|{|{zz{{zzz{{{{||zz{z{zzz{{{{{{{|{z{{z{z{|{||{|||{{{zz{{{{{{{z{{{{zzzz|zz{{|{z{{{zzzzy{z{|{{{z{{|zzzzzzz{z{{{|{{{{{zzz{z{z{{{{{{{|zzzzy{z{{{}{{{{z{|zzzzzz{{{{|{{{{{zzzyz{zz{{{{z{yzzz|{z{{{|z{|{|{zz{{{z{{{{{{}|zzz{zz{{{{{{{||{{z{y{z{z{{{{{{||{z{{{zz{zzz{||z|zz{{zzzz{{|{{{{{|{z{z{z{||{|{|{{{|{{{{z{|{|{{}||{{{z{|z{{|{|{{||{z{{{{|{{{||{{{||z{{z|{|||{{||||z|{{z{{{{||{||{|{{z{{{{z{}|{||}||{{z{{{{{||{{}|{{{z{{|{{{{}{{|{|{|{{{{{{{{z{{|{|{{z{{{{z{|{{{|||{{{{|z{{{|{|{{|{z{{z{{{{|||z{}{{{{{z|{{{{||{||{|{|{{{{{z{{|{{||{|}{z{{{z{|zz{z||{z{{{zz|{z|{{||{|zzzzz{z|{|{{|{{{z{{z{zz{z|z{{|{|{z{{z{z{z|{{|{{{z{zz{z{{{{{z{{{z{z{z{z{{y|{|{z{zzz{{{z{z|{{|z{|z{{{{{{{{z{z{z{|{z{z{yzzz{|z{{|{{{yzz{{zz{zz{z|{{yz{{{z{z|||z{|{{{{{z{zz{{{{{zz|{zzzzzzzz|{zz|{}zz{yzz{z{{{{||{|{zzz{z{{z{{||||{|{z{z{{{{{|{{{||{z{{|{{{||{{{|||{{{{|z{{{z||{|||||{z{{{|||||||||{{{{{{z{{{{||||{|{|z{{{{|{{||}||{{}{|{|{{{|{||{}}{{{{{{{{||||||{|{{{{z|{}||||||{|{{{{{{{|{{{{|||{{{{{zz{{|||||||z{{zz{{{{{{z{|}|{|z{z{zz{||||{|{{{{zz{zy{{||{|||{{{{{{|{{{|{|{{|{|{{zz{{|{{{{|{||z{zz{z{||{{{{||{{{zz{{|{{{zzz{{{{{zz{{z|{z|z{{|{z{z{z{z{{{{{|||{z{zzyzz{{{z{{z|{{{zzzz{||{{{|{|zz{zzyzz{z{{{z{|zz{{z{z{zz{{{{{{zz{zy{zz{{{{z{{z{{{zzzzz{{z{z|{{{{zyyz{z{|{{{|{{zz{||{zzz|||{|{{zzzzzzy{||{{{{|{|{{zzy{z|{{{{{zz|{{{{zz{z{|{|{{{{{{{{{{{{{{|{||{{|{{{zzzz{|{{{|{{zz{z{y{{{|{{|{|zzz{{{{z{|{||{{|z{{{|{{z{|{{{||{{{||{z{z|{|||{{{{z{|{{zz{}|||{{|{{zzz{|z||||z}{||{{zz{{z||{|{||||{{|z{{{{|}|{|||{{{{z{z{{{||{{|{|{z{|zz{{{{|||{|{{{{{z{z{|z{{|{{|{{{{{{z{{{{z||{{z{zzzzz{|{{{|}||{{{{{z{{{}}|{z||{{zzzzz{|{{z|||zzz{{z{z{{z||||{{{z{{zz{{||{{|}|zz{zy{zz{{{{z{{{zz{z{z{z{{|{{|{{{{{yzzz{{{{{{{{{|z{y{{{zz{{{z|{{{zzzz{z{{|{z{{|{{zyzzzzz{z|z{|z|{zzz{zz{z{{|z{||z{{zzz{{z{{{z{{z{zzzyzzzz|{zz{|{zzzyz{zz|z{{||{||{{z{zzzz{|{z|||zz{{{z{{z{{|{{{{{{{{{{z{z|{|{{{{{{z{{zz{z||{||{{{z{{{zz{{{{z|{}z{{z{zz{{{{{{|{{{|{{|z{z{|{||||||zzzz{{{{{{{{|}|||{||{{{{{|{||{||{z{{|{zz||}{{|}}{}{|z|{{|{{|||{|}{z{{{{{{||{|}|||z|||z{{||||{|||{{z{{z{{{{{{{|||{{{z{{|||{||{|||{{|{{z{{{{||{|||||{{zz{z{{{||||{{{zz{z{|||{{{{{|{{z|{z|z{|||{||}{|{{{{{{{{|z{|||{zz{y{{z||z{{|{{{z|z{{{z{{{|{{{|{z{{zy{{{{{{{{{{{{{y{z{z{{}|z{|{|z{z{{zz{|{{{||zzzz{z{{zzzz||{{{{zzz{zzz{{{z{{{|{z{{z{{z{{{y|{{z{z{zzzzz{{{{{{|||zzzzyzzz{{{z|zz{zzzzzyy{{z{{|{|{zz{z{z{{{|z{||{{{z{zzz|{{{{z||{{z{z{z{z|{z{{{|{{z{zz{z{z|{|{{{{{{|z{z{|{{||{{{{{{yz{z{z{{{{{||{||{{zz|{||{{||}|{{{z{{zz{{|||||}{zz{|z{||{{|}|||z{z{|{zz{|{{||}|{zz{{{{{||{|{|}|{|z{z{{|||{||||||{{{{{|{{}|}{|||{z{|{{{{|{||{||{{z{{z{{|{{{|{{||{{{|{{{{{{{|{|||{{{z|{{{{{|z}{|||{{zz{{zz|{{{z|{{{{z{{{{||||{|{|{{{{|{{z|{|}{{{|{{z{z{yz{{|{{{{}{{{{{|{{{{{{|||{{{{{{z{{|{{{{{|{|zzyzz{z{{|{||||{z{zzzz{{z{{z{{||z{zzzzzz{{{{{{{{zzz{zzz{{z{{{{{zzzzz{zz{z{z{|{zz{{zzzz{{||{zz{|{{{zzz{zzz|{{{|{{{{{zzzzz{{z{{{|z{{z{{{zz{{z{{{{zz{{z{z{{{{{|z|{z{{{{z{z{{|{{|{z{z{{{zzz{{{{{|{|zz|{yz{{{{|{{{|{{{{{{z{z|{{{{|{|{{{{{zzz{{|{||||{{{{{zz{{{{{{|{{{{{z{{{{{{{||{||z{||{|{{{}{||||{{{z|{zz{z||||{{{{{|{{{z{{|||||{|||{{z{{{z|{{|||||{{{{{{|{|||{{|}}{|{{{z{{||{|{{|z{{{{{z{{|{|||||zzz{{{z{{||{||||z|{z{{{{|||{{||{{{{{{z{{{{||{|||{{zz{z{{{{z||{{{{{z{|{|z{{|{|{||{{zz{z{{z||||{{|{{z{z{|{z||{{{||zzzy{{{{{||{{z{|{z{zz{z{{{|||{{|{{z{zz|zz{zy{||{{{{{z{{|z{{{{{|{z{zzyz{{z|{{{|{|yzzzzz{{|{{|z{{z{z{zz{zy{{|{|{{|y{zz{yzy{|{{{{{{{{z{zz{z{{{z{z||zz{zz{zzz{{{z{{{{|{zzz{{z{{{|{||{z{{{z{z{{{{{{z{{zzz{y{zz{{{{{|{|{zz|{zz|{||{{|{{z{{{zzz{{{||{||{{{|{z|z|||{{|{|{{{{{{{z||||{|{{{{{{{{z||{{|{{|}{{{{|{{{||||||||{{z{{z{z{||}|||||{{{{zz{|{}{|||||zz{{{{|{{|||}{||{{|{{{{||}{{|||{{z{{{{|{{||{||||{|{{z{{{|{{|||||{z{||{{|{||}|||{z{z{{{{{{{{{|{|{{zzzz{{||z|||||{z{zyz{z{|{{z|||z{{z{{{{{{|{z{}||{|{{{{{{{{|{{|{|z{{|{{z|{z{|{|{{{z{z{{{{{|{z{|{|{{zzzzy{{{{{|{|z{{zzz{z|{{zz{||{z{z{{z{z{|{z{{zz{zy{{|z{|z|{{{{{zyzzzz{zz{{|{|{zz{zzzy{{{{z{|{||{z{z{zz{{|{{|{{z{z{{z{zz{{|{{z{{{z{zzzzz{z{{{{{zz{{zz{z{|z{{{{|||{{{{{z{{{{{{||{z{z{zzz{{{{{{z|z{z{{zzz{{|{|{{|{z{{{z{{z{|{|{z|z|{{{z{z|||{|{||{{{|z{z{{|{{{z||{z{z{z{z||||||||zzz||{{{||{|{||||{{|z{{z|{}}|||||{{{z{{{||{{}|||{z|{{z{{||{|}{{|||{{{|{{|||||}|||{|||{{{}{|||{{{z{{{|||{|{z{|{}{|{{{{|{{{|{{||{||{|{{{z|{|}||||}|{{zz{{z{|{|z|}{|z|z{z{{{|{{{{{{|{z|z{zy|{|{{{||z{{z{yz{|z{{{{||{zz{|z|{{{{||{|{||z|{{z{||{{z{{{{{{zzzz{z{{|{|{{{z{{{{{zz|{{{|{{z{zyzzz{{|{{{{{{{zz{zzyz{z{{{{|{{zzz{zzz{{{z{{|z{z{zy{{zz{{{|{|{{|{zzzzzz{{{{z|{{{y{z{{zz{{zz|{|{zzz{z{{z|{{{|{{{z{z{|zz|z{|{{|{{{z{zzzz{{{{|{}z{zz||z{{{{{{{z{{{{{{{{zz{|{z|{{|{{{{{{{zz|{|{|{|{{zzz{z{{zz{{{|{{{z{{zzz|{||z||{z{{z{{{{{{z|}||{{{z{{||{z{{|||}|{z|{z{{{{||||||||{{z{z{||||||{|||z|z{{|{||z{|||}{{{{z{{||}}||}||{||{||{{|}{|}|{{|z{{{z{z}||||{|||z{z{z{||{|z{}{|{{yz{{|{{|||{||{{{{z{z{{||||{{{|{z|z{{{{{||{{|||{{{{z{{z{||{||{|{{{z{{zz{|{{||{|{{z{{|}{{z|{{||{{z{zzzz{z{{|{{|{{z{zzzzzz{{{{||{zzz{{zzz{{{{{|{{{z{z{zzz{z{{{{|z{zzzz{z{{z|{{{{{z{{zzzz{z{z{{||{z{{zzzz{{{||{z||zzzzz{zzz{z|{{||{z|z{z{yz{{{{|{{{z{z{zz{z{{z{{{{{z{zz{zzz{z{z|{{|{z{zzz{z{{{|{||{z{{{z{{{{{z{{{{|{{{zz{{{{{{z{{|z{zzz{z{{|{{|{{|{{{zz{{{{{|zz{|{{{{|{{zz{|z|{{{}{z{z{z{{{{{}|}||{{{{{{{z||{|{{||zzz{z{{y{||~{||||{z{|z{{||{{{||}{{{z{{{{|{{{{||||z{{{{{{{}{{||||||{z{{{z}||{{||{{{{{|{z{{{{|{||}{|z{}{z|{||||{|}{{{z{z{{{|z{{||{|{{{{{{zz|||{|{{{{{{{z{{{{{{{|{|{{zz{{{z|||z{{{|{|z{{{z{{{}{|{|||{{{z{}{{{{|{{|{{zz{{{zz{z{{{z{||{{zzz{{{z|{z{{|{{{zz{|zz{|{{}{{|{{{{zzzz{{z{{{|{z{zz{{{zz{|zz{{zzzz{yzz{{{{{{||zz{zz{zzz{{z|{{{z{{zzzzz{z{{{{|{{{zz{yzzz|{{z{{||zzz{zzzz{{{z|{{{{{{z{z{{{{{z{|{z{zzz{{y{{|z{{{{{z|zzzz{{|{|{z{{zz{zzz{z{{{{{{{}{zz{zzz{{{{{{|{{zz{zz{zz{|{|{{{{{z{z{z{{{z{{{{{{{{{{{{z{{{{|}{||{{z{{{||z|{{{}||{z{}{{{z{{|||||{{zz{zzz{||{|||||{z{{{{{{{{|{||{{|{{{z{{{||||{|||{{{z{z{{{|{{{||{|z||zz{{||{|||||{|z{{{{{{{||{{||z|{z{{zz|{|{|{|||{{zzzzz{{{{|{|{{|{{zzzz{|{|{}{{{{{|{{{z{|{{z|||{{y{zyz{{z{{|{{|{{zz{|zz{{{{||{{{zz{zzz{z{{{z{|{zzzzzzz{z{{|z|{|zz{zzz{zzz|{z{{z{z{{y{{{z|{z{zz|z{zzz{zzy{{{z{z{{{yzzzxz{{{z|{{{zzzzyzzz{{{{{|{|zz{{zzzz{{{{|z|{zz{yz{zyz|{|z{|{zzzzzzy{{{z{z||{zz{zzz{zz{{{{{{{zz{zzz{z{{{{{|{{{{{z{z{{zz{{{{{{{{z{zzz{{{{{|{{{{z{zzz{zz{{{z{|{zy{{{{{{{|{{{{}{{z{z{z{{||{{{{{|{{{z{z{|zz{|{||{{z{z{z{{||{||{||{{{|zz{z{||{{{{||zz{|{z{{|{zz|||z|{{|{|{{{||||{|{{{{z{{{||||{{|}{|{{{z{z|{|{{|{{{z{{{z|{{|{z{|}|{z{{{y{z{{||}|{|{||z{{{{{{{z{|{||z{{z{{z{{|{{{{{{{|{{y{{{{{{||{{|{{zz{{z{}|{{{{|{{{{{zz|{{{||{|}z{zzzzzz|{{z{{{{{y{{zzyzz|{zz{{{{z{zzzzz{z{{{|||z{z{{z{z{{z{{{|z{z{z{zz{{{|{{{z{z{zzyzzyz{{|{{{|zz{zzzzz{{{z{{{z{{{zzzz{{{z{{{|{z{{{z{zzz{{{{{z{zz{z{zzyzz{zz|{{zzzz{zy{z{{{{{z{{z{zzzzz{{z{{{{{{zzzzyzz{{zz{|{{zz{{zz{z{{{|{{{{z{{z{zz{{z{z{|{{{zz{zy{z{{z{{{{{{z{zzzz|{{{{|{z{{zy{{zz{{|{{{{||{zz{{{{{{{{{|||{{z{{{{{z{zz}z||{{{zz{z{z{||{{{|{{z|{{|{z{}|{|||}{|{|{{{{{{{|{{||{{|{{{{{{{|{|||||{|z{|{{{|}||{{||z{{z{{{}{z{{{{|{{{{{|{{|||{|{{}||{zzzz|{|z|z{|{{{z{{z{{z{{{|{|{z{{zzz{{|{z{{{{{{z{z{{{zz{|{{|{|{{{{{zz{{{|{{z{}z{{yz{z{{{{{||{|{{{{{z{zz{zz{z{{{{zzzzz{z{|{{|{{{zzzzz{z{{{z{{|z{{z{y{yz{{{{{{z{z{z{zz{zz{zzzz{{z{zzyzzzz{{{{{{{{{{{z{zzzz{{{z{{{{{zyzyzz{{{z{{{{zzzz{zzz{{zzzz{z{{z{zzz{{z{{{z{zzzzz{zz{{|{{{|{{zz{zzz{z{{{z|{{{{z{zzzz{{{y{{{|z{{{zzzz|z{z{z{{{{{{{zzz{{z|{|{z{{z{{{zz{|{{{|{{{{zzyzz{|{|{{{|{{{{{z|z{z||{||{{{{zz{z{{|{z{|||{{zz|{{zz{|{|||{||{{z{{z|{||||{||{{{{{{{{{{{||{{}{|z{{{{z{|{{|||{{z{{{z{{{|{||}|{z|{z|{{{z|{||||||{{{{{z{{{|{|{{{{|{y{zz{{{{{||{{{{{{{z{{{||}{{|{|z{zzzzz{{{{z{{|z{{|{zzy{{}{{{{|z{{{{{zz{{{{zz{|{zzz{{z{z{{{z{{{{{zzyz{z{z{{{{{|zzz{zy{z{z|{{||zz{{zz{zzz{{{{{{zzzzzzzz{z{{|z|zzzz{zzzzy{y{|z{{{{zzzzz{{{{z{z{{zz{zzz{zy{|{{{{|{{yzzzzz{z{{|{{{{{zz{zzyy{{{z{{{{{{zz{zzzzzz{z{{{{z{z{{zzzzzz{{{z|{zz{zyz{{z{|{{{{z{z{zzz{{|{{|{{z{{zyz{zz|{{{{|{z{{{{zz{z|{{{|{{zzzzzz{|{|{{{|{{{y{{{{z{|{{{{{{|{{z{|{z{z{{|{{{{{{y{{z{z{|||{||{z{{||{{z{{{|z{{{{y{{zz{{||{{||{|{z|{z||{{{{{{||||z{{z{{{||||||||{{{{|z{{zz|||{{{{{zz{{{{||||{|{|{z{{{z{|{|{{z|||{{zz{z{{z|{||{{{z{z{zzzz{|||{{{|{zz{zzzz{{{z{|{{{z{z{{zzz{|{{{|{z{z{{z|{{{{{|{{{{zzzz{{{{{z{{z{|zz{{{{{{||{{z{|{zz{zy{zz{{{z|{{{{{zzzy{zz{{{yz{z{zzyzz{zzz{z{{|{zy{zyzz{{{z{{{{|zzzz{zz{{|{{{{{{{{yzzzzzz{{{{z{{yz{zzyzz{z{{{{{{{zzzzz{zzz|z{{{|zz{yzz{{zz{{||{{zzz{{zyz{}{y{{{|zz|{{z{{{zz{{z|{z{z{{y{{|{{{|z|{z{{zyz{{{{{{{{|{zz{{{zzzzz{{{}{{{z{{{zzz{{{{{{{{{{zzz{zz{|{{{{|z{z{{|zz{|{{{{{|{{{{{{|{{|{{|{{{|{z{{z{zz|{|||{|{{z{z|z{{|||{|||{|z{{z||z{}{{{|||{{|z{{{{z||||{}|{{{{{z{{{{|{|||}{z{{zz{|{{{|{{{||{zz{{zz|{{{||{|zz{z{{{zz{{{|{|{|z{z{{{{z{{|{|{{{{zz{zy{{{{||{{z{{zz{|zz{{|{{|}{{{{zzz{{{{z{|{{|z{zz{z{z{|z{{{||{zzzzzy{||{{z{|{zz{z{{{z||{{{{|{{y{{z{z{z{{zzy{{{{z{{zzz{z{{{z|{{{zzz{zz{|{|{{{{{zzzy{zz{{{z{y{zzz{{{zzz{z|{{{{{{zzzyzy{{z{{z{{|zyzz{yzz{{{zyzz|yzzzz{yyz{{|{{{{zz{zzzz{z{{{{z{{{zzz{y{{{{{{|{{{zy{{zz{zy{{z{{{|{z{z{zzz{{{{{{{{{|zzzz{z{|{{{}{{{z{{z|z{{|z{{{|{{{z{{{{z{|{{{{{{{{z{|{{{{{{|{{{{z{{{|z{{|{{|{{{||{z{z{{z{||{{}||{z{|{{z{|}{z{|{||{{zz|{{{{{||}{|{z{{z|{{{}{||{|{|{|||{{{{{{{{|{{|{{{{{{{{{z|{|{}{{{{{{{{{{||{{||{z{z{{{{z|{{{|}||{{{zzzz{{{|{{{|{zzz{z{{{|{|z|{|z{{{{zzzz|{|{|{{{zz{{z{{{}{{{|{{z{|z{zzzz{{{{{{|zzyz{{zzz{|{zz||{{{{{z{z{|||z||{zz|{zzzzz{{{z{|{{{zy{zzzz{|{{{{{z{zyz{z{{{z{{{|{zzzzzzz{{z{{{{{|zz{{z{yy{|{{{{{{zzzz{|{zz|{{{{{||zz{zy{z{{{{{{{{{{{z{{{{z|zz{{{{{z{z{{z{{|z{{{{{{zzzzzz{{{{|{{{{{{zz{{zz|{{{|{{|{{{{zzz{{{{|{||z{{z{{z{zz{{|||{{|{{{{{{z{|z{z{|||zzzz{zz{{{{z{{|{{{z{{|{{|{{{{|{z{|z}{|{{|{}z||}{zz|zz{{{||||{|{|z{{|{{{{|{|||{}{{{{z|{|||||{|{||{{||{{{{}{{{|{||{{{{{z{|{{{|{||{{{{{z{{|{{||||||{z{|{{{{{{|||{|{{{z{{{||{{|{||{{z{{{z{z{||||{|{|z{{{|z{|{|zz|||{{yzzzyz{|{{{||{{z{{{z{{{|{{{{|||{z{{{y{{{|z{{{{zz{zz|{{{{{{|{|{zzzzz{zz|z{{|z{{zzzzzzzz{z{{z{{{{{{z{z{{|{{z{|z{{z{{{{zz{{{{{{{{z{zzzzzz{{{{z{{{zzz{zzzz{z{z{|{{zz{zz{{z{|{{{{|z{zzzzyzzyz{zz{{{zz{zzzz{{{z{z{{{zzy{{zz{|{{{{{||{z{zzzzzz|{{{{|{z{zz{y{z|||{{|{{z{z{z|z|{{{|{{{|{{{{{zz{{||{{{{{z{{z{{z{{{|{{{|{z{{{{zz{{z{|{{|{|{{{z{{z{{{}{{|{|{{{|{|z{||}{{{|{z|{{zz{{{z{{||{{|{{{{{z||{{{}{}{z{{{{|{|{|{|||||{{{|{{{{|{{|}|{{{{{{{{{|{|{{||||z{{|z{{{|{|{|||{z{||{z{{|{|{|{||z{z||{{{|{{{{|{z{{{z{{z||||{{{zz{{{{z{z{{||z|{|{zz{|z{{|{{{{{{}{{{{{{z{|{{||{|{{{{z{yz{{|{{{|{{{zz{zz{zz{{{z{|{zz{zzzz{{zz{|{{{{zzzzzzz{{z{{||z|zzz{{z{{|{zz{{z{zz{zzzz{{z{{{{zzy{zz{{z{{{{{{{{zzzzzzzzzz{{zz{{z{z{zz{zz{{{{z{|{{{z{{zzyz{zzz{zz{zzz{|zz{{|z||zzz{z{zzy{{{z{{{|{zzzzzzz{{{{{{{|{z{z{zzzz{{{{{||{{{z{z{y{|{{z{{|z{z{{y{zzz{{|{{{zz|zz{zz{{{|{|}|{{{{|zz{|{|{{|{{{{zz|{|z{{|||{|{{{{{{{{y{zz|||z|{{z||zz{{{{z||{{||{{{{|z{|{||}|{{|z|{|{{{{||{||{{{{|{{{|{|{||||{||{{z{z{|||{||||{{{z{{yz||||{||{{{{{{{z||{||||}||{{{|zzz|{||{||{{{z{{z|z|{|z{{||{zzyzy{{{{|{{{{|{z{z{{{z{{{{{{{||{{z{zz{{{{{{||{{{zzzzz{{{z|{|{|{{{{{zz{{{{|{|{{{zz{zzzz|{|zz{{|zzzz{zz{{{{|zz{zz{{zz{{z{{{{{{z{zyzzz{z{{{y{zz{{yzzz{yz{y{{|{||{z{zyz{z{{z|{{|{|{zz{zzyz{{{zz{{{zzzyz{zz{{zzy{{z{{yyzzy{z|z{{|{{zz|z{{zzz{{z{z|{{{{y{{{{z{{{{{|{zzzzzzz{{{{{{{z|z{zzzzz{z|{{{|{{{{z{|{|zz{{z{{|{{yzz{zzz{|{{{{{{{zz||{z{z{|zz{{{{{zz|{zz|z{|}||{zzzzzz|z|z{||{{|{{{{{{z{{||||||}{{|{{{|{{{|{{||||{{{z{{{{|{{||{||{{{z{{z{}}||{{||z|{{z{{{|{|{{{{{z{z{{{{{{{{||}|{{{{|{{{{{{{{{{{{{{{{z{z{{z|||{||{z{z|{z{|{||||{{{|zzzzz||{{{{{{zz{zz|z{z|||{z||zzzz{z{z{{{{|{{{{zzzz{z{{{{{|{||z{|{z{{z{{{z{|||{zzzz|zy{{zz{{{{{zzzyyzz{z{z{{zz{z{z{zz{{{|z{{{{zzzyz{{{z{zz{|{{z{zz{zz{{{{{z||{{zzz{zz{z{{{z|z{zzzzyzz{z{{{{zz{zzzzzzzzzz{zy{|{{zzz{zyzz{z{{{z{zz{|{yyz{{{z{z{|zzzzzz{z|{{zz{{zzz{zzzzz{{z{{|{{z{{{zzz{{{{{{{z|z|{zz{zzzz{{{|{{zz{{y{{zz{z{|{{{{z{{{{z{{|{z{{{{{zz{{{zz|||{{|{{zz{z{{{z{{||{|{{{z{|z{z{|{{|{{|{|{{{|z{{{{{|{|{|zz{z{{{{{{|||||||z{{{{{||}|{|||||{{{z{z{{|{||{||{zzz{z{||{z{{z{|{{{{{z{|{|z|||{{z{|z{{{z{{{{{|{|{{{zz{{z{{{{{{{zzz|{{yz{{{{{{|z|{z{{zz{zzz|{|{||zzzzzzzz{|z{|{{|{{zzz{zz|{{{{{|{{zz{{zz{zz{{{z|{{{{zzz{y{{{{{{z{zzzzzzzz{z{{{{{{{{{{zzzyz|{z{|{|{{zy{z{{{zz}{{{{zzzzzz{z{{zz{z{z{zzzz{yz{{z{{{{{z{zyyzyz{{{{z{|{z{zyzz{yyzz{zz|{{z{zzzyzz{z{{{zzzzyzzzyzz{zz{||{{zzz{z{z{z{{{{{||y{zzzzz|{{{{{{{{zzzzz{zz|{{{||{{{{zzzz{z{|{{{{|{{{{{{zz{|{|{{|{{zz{{zz{{||{{{z{{{z{{zz{{|||||||{{{{z{{z|{{|{{{||{zz{z{z{{|{{{|{{z{zz{{z|||{{{}{|z{zz||{{||{}||{|{{{{z{z||z||{{{|z{{{zz{|{{{|{{|{z{{{{{{{{||{{||{{{z{|{z}|{|{{{||z{z{xzz{|z{z{|{{zz{z{zzz|{{{|{|z{{zz{zz{{{z{{{|y{z{z{zzzz{{{z{{z{{z{{zzz{|z{|{|z{z{zzzz|{{{zz|{{zzzzzzz{{zzz{|}{zyyzzzzz{{{{|{|zy{zzzzz{{z{z|{{{{zz{{z{z{z{zz{{{yzz{|z{zzyz{{{{zzzzyzzzyz{{{z|{zzyzz{zzzz{{z{{|zz{zz{zzz{z{yz{|{z{zzzzyzzz{{{{{{zzyzz{zz{{{{{z{zzz{zz{{z{{|{z|{yzzz{zzy{{{{{z{{z{{zz{{z{{|{{z{{zz{zzzz{{{{|{|{{zzzz{yzzz||{{{{{zz{zzzzzzz{{{{|{{|{{{z{z|||{{|{z|{{{z{{{{{{{{{{|z{zz{{{zz{{{{|||z{{{zz{{z{{|{{{z{{z{{{{{|||{{{||{{zz{{{{{|{{|||{|{z{{{{{{{|||{}{|z{{{{z{{}{||||z{{z{{{{}|{z{{z{|zzzz{z{|{{{|{{||z{{{zz{z|{{{{{{{{zzz{{|zz{|||{|{{z{z{zz{{|{z{|{{{{z{z{{z{zz|{|{{{{{z{|{zz||{{{{|{y{y{z|{{zz|{|||zz{{z{z{{{{{{||{zzzzzz{zz{{{{{{|{zzz{z{z{z|zz{|{zz{{{zy{{zzzz|zz{{z{yzyz{z{{|{{zzz{z{{z{zz|{|{{{z{yzz{zzz{|{{y{{zzzzyzyzz{z{z|{{{yzzzyz{y{z{{|z{{{zzyyzzz{{z{|zz{zz{{zzzz|{{{|{{{z{zzz{zz{z{{{{z{z{zzzzzzzz{|{{{zzzz{{zz{{z{{{{{|z{{{yz{{{{||{|{{zzz{zzz{{{|z||{{{z|{z{z{{||{{{{{{{y{{{z{z{{|{}{z{z{z{z{|{{}{|}|{{z{{z{{{}|{||{|||{z{{{{{{|{||{|{{{{z{|{{}{{}}||||{{zz{{{||{|||{|{{zz|{{{|{{|{||{{{{z{{{||{|{|}|{{{{{z|{|||}|||{{|{yz{{z{{{{|{{{{{{{zz{{{{|z{||{z{{zzz{zz{{z{{|z{{zz{z{z{{{{{z{|{{{{zz{z{|{|{|{|z{zzz|{z{z{{{{{{{{zzzzz{{{{{zz|zz{zzzz{z{{|{{{z{|z{z{z{z{{yzz{{|zzzz{yzy{{z{{|{|{yy{zzzz{z{{z|{{zyy{zyz{{z{zz{{z{zzzzzyzz|{{z{{z{{{zyyyzz{|{zz{z{z{{zyzzz{{z{{{{zzz{zy{{{zz{z{{{zzzzzzzy{{{|{z{|{zz{zzyz{|{{{zzz{zzzz{zz{{{{{{||{z{zzy{z{{||z|{{zz{z{yz{{|{{{{{{{{{z{{zz{|{{{z{{zzzzzz{{{|{z{{|{{zz{{zz{{{{{{{|{z{|z|{{z{z{|{{}|{{zz{z{{||||{{{{|{{{{{{{{{{{|{||zz{{{|z|{|{{{|{{{{|z{}z{{}||z||{|{|{zz{{{|{{|{{{{{{{{z{{{{{||{{}{|{{|{{|{|z{|{{~{{zz{{zz{{{{{{||{|z{zyzz{|z{{{}{{zzzzz{zz{|{{{|{{{{{{z{z{{{{{{|||{z{{{z{{{{|{|||{{zyzz{z{{z{{{||{{{{z{{{||{|zz{|{{{{z{zz{zz{{{{|{zyz{z{z{z{{{{{zzzzzzzzy{{{z{{|zzyz{zzzz{z{{z{||y{z{zzzz{{{{{{{{|zz{zzyz|z|{{{{{zz{zzzzzz{|{z{|{{yzzzyzy{{{zz{z{|zzzzz{z{{z{{{{{z{{{z{zz{{{{{z{z|{zzzzzz{{z{{{{{zz{{zzzzz|{{|{|{zz{{{zzz|{|{{|{|{{zz{z{{{{||{||{{z{{z{{zz{{{{{|{{z{{|{{z{{|{{{|{|{z|{{|{{{{|z|||{{{{|{{{|{{{||||{{|{z{zz{{||{{{{{{{{{z{z||{{|||||z||{z{{{{{{||{{|z|||z{z{}||{||||{{z{z{{{{||{{|||{{z{{{{{{{|||||{{{z|{{{{|||||||{z{zz{z|{{{{{{|||{{zz{|{{{{{{{}{{z{{{{zz{{{z{{z{z{{{{{|z{{{{|||{zzzzzz{z{{{{{{|{{{zz{|{z{{z{|{{{{{{{{z{{{{|zz{{{{zz{zzyzz{{{{|{|{{{z{|zy|{{z{{{y|zz{{{z{z{{zz{{|z{z{zzz{{z{|{{{|{{zzzyzz{{zz|{{{{y{{z{zzzz{z{|{z{{zzz{{z{{z{{z{{{zzz{zyyz{{{z{z{{zzyzz{zz{{{z{z|yzzzz{{z{z|{{{{|zzzzyzz{{z{{{|z{{{zz{z{{z{{{||{{zzy{{zzzz{|{{{||{{z{{z{{{{{{|{|||z{{z{{{z{{|{|{{|zzz|zz{|{{{{{|{{{zz{z{{{{{{{|{{z{{z{z{{{{{|{{||{z{z{z{z{|{{|||{{z{{{zzz{|z|{|{|{|{{z{{|{{{||||||{{{y{{{{||{{{||{{|{{{{{{{{{||{{|z{{z{{{z{{|||{|{z{{|{{{|{|||{||{{{zz{{{{{{z{|{{{{z{{z{{z{{{{}||{{{zzz{z{{{{{|{{{z{{yz{{|}|z{z|{z{z{z{{{z{|{{{{{|{yz{{y{{{{|{{{{|{zzyzz{{{|{{{||{z{yz|{z{|{{z{{}|yzzz{{{z|{{z||{z{{{zz{z{{{{z{{zzzzzz{yzz{||z{{|zzzzz{zzz{z{{{|y{zyzz{zzz{z{{{{{zz{{{yzzz{{{{{{{zzz{zz{zyzz{{{{z{{zz{{z{{|zy{{{{{{zzzzzyz{zz|{||{zzzzzz{z{{{{z{{zyz{zz{z{{z{{z{{{zzzz{zz|{z{zz{{{zzyz{z{{{{{{{{{zzz{z|z{z{|{{{{z{|{{{z{zz{{z{{{{{|{z{{z{{{{|{{|{{{{z{z{{||{{{{|||{{{{{{{||{{{||||{{{{{zy{|{}{||{|zzz{|{{{|{{||||{z{{{{{z{|||{||{{|z{z{zz|{|{{||||z{|zz{{{|{{{{|{{z{z{{{zz|{{|{z{||zz{{{zz{{||||{|zzzzz{{y{{{{{{|zzzzzzz{{z{{{{||{{z{zzz{{{{{|{z|{{y|{zzz{{{{|{{{z{{zyzzy{{{{{|{|z{{{z{y{{{{{{{{{{{zzyzzy{{|{{{z{{zzz{z{z{{zz{|{{z{{zzzzz{{{{z{{{{{{z{zyz{{{z{{{|zz{{zzzz{{zzy{{{{zzzzzzzz|zz{|{z{z{yz{zz{{zz{z|{{zzzzzzzzz{zy|zzz{yz{zzzz|{zz{z{{zzz{zzzz{{z{{z{zzzz{zzy{{{{{{{{{zzzzzzz{z{|{{{{z{z{zz{{{||{{|{|{{{z{{{zz{{{{|{z{{{z{{{{z{{zz{|{{z{z{zzz{{{z{z|{{{{z{zz{|{|||{z|{{{{|{|{{{{||~{|{z{{zyz{{{{||{{{{z{{|{zz|{{{{|}{|{{{{z|}|}{{{{|{|{z{z{{{z||{|||||{{{{{z{|{{{{{}|{{z{{y{|{|{{|{||{z{{{z{z{z{{||{||{{z{z{z{{||{{{{{{zzz{{z{|{|{{{|zzz{zzz{z{{{{|{{zzz{z{{zz{{{|y{{{{{{z{{zz|{{|{{|{{zzzzz{||{{{{{{z{{{zyz|z{|{{z}|{{{zyzzzzzz{{{z{{{zzzyzz{{{{{{{z{zzyzyzy{{{z{|z|zzzzzzzzz{{z{{z{{zzyzzzz{zzz|{{zzzzzzzy{z{zzz{{{{z{zyzzzy{z{{{{{{{zz{z{yz{{{z{{{z{zz{z{zz{{z{{{{zy{y|z{{yzz{{|z{zzz{zzzz{{{{zz{|{zz{{zzz{|z{{{{{zz{zzzzzz{{{{{z|{z|z{{{z|{{|||{|zz|zz{zzz|{z{||{zz{z{z{{{{|{{{{{{{zzz{|{z|{{{|{|{{{zz{{{{}||||||{{{{{{zz|{{|{{{||zzz{{{{{{|{|{{{|{{{{z{z{}{{||}||{{|{{{{z|{}{{||{{|{{|{{{{|{}|z|{{{{{{{{|z||{{||||{z{z{{{||{{|{|{{{{{{|{{|{{{{||}{y{{{zz{{|||{{|z{{{zzzz{{{|{||{zz{zzz{z{{|{{z}|{{{z{zz{zz{{{{{z{{zzzz{{{{{{{{||zz{{{{zz{{|{{{|{yz{{yz{{{z{z|{z{{zzzzzz|{{zz{{{{zzzy{zzz{{{{z{{{{{{{zzzz{|{{{z{{zzyyzzy{zz|{{{{{yz{{yyx{{{z{{z{z{zzzzz{z{{{{z{||z{zz{z{z{zz{{{{{{zzy{{z{{z{{y|{{{y{z{zzzzz{{{||{{y{z{z{z{{{{{{||{zzzzz{z{{z{||{|{{{zz{yz|{|z{z{{zz{z{z{z{||{{|{{{|{zzzyzzz{{{||z{z{{{zzz{{{{{{z{{{zzz{z{{{{|||||{{{{z{{|{{z{{{{|{{z{z{{z{||||{{{{zzz{{|z{{|{|||{|{{{{{}z{||{|{||{z{{z|{z||{||}|{|z||{{{{|{{}{{{{{|{{|{{{z||||z|}|{|{{|z{{|z|{|||{|{z{z{{{{{{{{|{|zzzzz{z|||||{}z{{{{zz{{|{{z{{{|{z|z{zzz{{{{{{{|{{{zzz{z|z{{z{{{zzzzz{zz{z{{{z{|{{{zzy{z{{{{{{|||{{yz{zz{{{|z|{{||zzzz|{{{z{{{|{z{{yyzz{{{{zz{{{zzzzzzzz{zz{{{z|{zzyzzzz{|{{|zz{{zzzzzyz{{{z{z|{zzz{{zyz{z{{{{{{y{zzyz{zzzzzz{{{{zzzzyzzy{z{{|z{zz{{zzzzz{{{{{z|{zzz|{{{zz{{{|z{{zzzzz{|zz{{{{z|{{zz{z{z{|||{{{|{|zz{zz{{{{{{|{{z{{{zzz{{{{zz||{{{{|zzz{{{{{z{|||{z{{{{yz{|{|{||{zz{{z{{{||||||{{{{|{{{{{|||{{|{{z{z{zz{|}{{|{|{{{{|{{|{z||z|{||{|{{{{{{{|||{|{||{{|z{{{{{|||{||{zzz{{z{{|{|{||}{{{|||z{||{{{{|{{z{{{{z{{|{zz|{|{zz{zz{{{{||{|{{|z{{zz{{z{{{{z|{|{z{z{{zz{{{|z{{|{yz{zzz{{{{{{{}zz{zz{{z{z{{{{|{{{z{z{zz{{{|zz{{|z{{z{zy|{{{{|{|zzz{z{{z{{{z{{{zz{zyzzyzzz{zz|z{z{z{yzy{{zzzzz{{zz{zzyzzzzz{{{|{zz{zzzz{{{{{{|{{zyzyyzyzz{z{z{{{zzzy{zzzzzzy{{{zzz{zzyzzzzzz{{z{zzzzzzzz{zz{{z|zzyzz{zzz{zz{|z|z{z{zzzzzy{z{{{{|zzzzzzzzz{{|{{{{{zz{z{{zz|{{|zzz{z|{zzzz{|{z{z|z{zy{z{z{{{{{|{{|{z{z{{z{{{z{{|z|z{{z{{{{{{{{z{|{{{{zzzzz|{z{|{{{{zz|{{z{{||{|{}|{zzz{{{{{|{{{|||{{{{{|{|{|{|{{|||z{{{{{{||||{{||zz|{{{{{{{z{{|{|{zzz{{zz{||{{|{{{{zz{zzz{|z{{{|{{z{zzz{{zz{{{|{{zz{zzzzz{{||z{{{{{{{{z{zz{zz{z||zzzz{{z{{{{|{{{||zzzzzzz{|z{{|{{|z{{{zzy{{z|{{||zz{y{zzz{{|{z{{|{{{zy{{z{{z{z|{zz{{zzzzzz{|{{{{{zzzzzyzz{{{{{{{{{zzz{zzzz|zz{|{zzzz{yzzy{{{zzz|z{z{zzyzzz{{{{{{{{zzzzyzz{z{zz{z{{zzyzzzzz{zz{|z|yzz{z{zy{{||{{|{{zzz{yzz{|{zz{{|{{{{zz{{z{z{z{{|zzz{zzzz{{{{|{{zz{zzyy{zzz{|||{{z{zz{{{z{{|y{z|{{z{{{{{{{{{z{{{{{{{z{{z{{{{||{}{{zzzzz{{{|z{{||||{z{zzzz|||||{|{{{zzz{z{{{|{}{{}{|{z{{{{{z||{{|{{z{{{|{{|}|{{|||{||{z{|||{|{|||{|{{{{z{z{{||{|{{|{zzzz{z|||{z{||{{{zz|{z{{|{|{||{z{{z{zzz{{{|||{|{{{zzzz|{{{z|{{z{z{zzzz{{{{z{{{{{y{zzz||{{{|{||{{{z{{{z{{{{{{{z{{zyzzz{{{{{{{{{zz{yzzzz{||{{|||zzz{{{{zz{z{|z{z{{{z{zzz|{z{z||{{z{y{{zy{z{zz|{|zz{z{zzyz{{z{{||{{zz{yzzzz{z{{z{{{z{yzyzz|{z{|{{{zzzzzzzz{zy{{{{{{zzzzzzz{{{{{{{|y{z{z{z{{z{z{||zz{zzz{yzz{{{|||z{{{z{{{z|{{{{{{z{|{{z{zz{{{{{{{zz{z{y{{{{{{{{z{zzz{{{z{{{{|{{|{{zz|{{{{{|{{{|{{{{zzz{z{{{||||||{{z{z{|{|{z|{|{|z{{{{{z{{||{|{|||{{{z{||z|{{||}|{{z{z{{|{{|{||{||}||{z||{|{{|{|||{zz{||{{{{|||||{{{{{{{{|{|{}|{|{zz{{{|{{||{|{||{{z{z{{{{{{|{{||{{{{z{{z{z{|z{{|{{{z{{{y{|{{{{|{{|zzz{{{z{|{{{|{{zz{zzz{{{{|{{|}z{zy{{zz{z{{{{|{|{{yzz{zz{|{z{|{{zzz{{{z{|{|z{{{zz{z{zzzzz{{{{zz{{{z{z{z{{z{z{||{zz{zzyz{zz{{{{|zzyz{yzy{{{{{||{zzzzzzz{{{{{{{{{{{{zzz{{z{zz{|||zz{zzz{z{{{z{|{z{{z{z{zyz{{{z{{{zzz{{{zz{{|{|{{|{{{zz{{z{{{zzz{{{{z{yz{{zz{|{{||{{{zyz{{{z{{{{{{zz{z{z{{|{||{{{{{{zz{{zz|{||z|||z{{z{{z{|{{|||{{{{z{{zz{{{||}|||{{{{{|z|||{{{|||{{z|{{z{|||{{|{{|z{z{z{{|}|||{||{{||{{{|{{{|||||||z{z{z{||{||||||{{{z{{z|{{{{|||{z{{{{{{{{|{{|{||{{z{{z{||{|{|||{{{{|{{{{||{|{|{|{{zzzzz{||||{{|z{zzz{{y{{z{{{{{{zz{zzzz{{{{{|||{{zzzy{zz{{|{{{|z{{yzzzz{||{{||||zzz{{{{{{{|{|{|{{{zzzzz{{{{{{{|{{|zzzzzz{{{z{{{{{{zzzz{{z|{z{z{{{zzzz{y{z{|z|{{z{z{{{zz{{{z{{{{zzz{z{zz{{|y{{|{zyzzzyzz{{{zz{{{z{{{zzzyz{{z{{{{zz{z{zyzz}zz{|{{zzzzz{zz{z{z{{{{{zzzzz{{{{|{{z{{{zzyzz{z{|z{{z{||z{zzz{z|{{|{{|{|{{{zz{z{|{{{{{{|{{zz{z{{{{{|{{|{z{{{y{{|{{{{{{{z{{z{zzz{{{|{{|{z{{z{{{{z{{|{|}||z{{z{zz{||{{{|{zz{|z{|{|}{{||~}{{|{z{{{{{{||||{|{{{{{{{{|{}|}|}|z{{{z|{|{|||||||{{{{{|{{{|{{{||{{{{|{z{z{|{||||z{zz{{{{{|{{|{|{{{{{z{zz|||{{{{{{z{z{{z{{{|{{{zzz{zz{|{y{{{z{{{|{{zz{zz{{{{{{{z{{{zz{{{z{z{{{{|{{zz{{z{z{||{{z{}{{{z{{{zz{{|{{z|z{{{z{{yzz|{z|{{{{{z{{zz{{{{{{{{{{zz{z{zzzz|{|z{zy{zzzzz|{{{z{{|zz{zz{y{z{{{z{{{zzzzzyzzz|{z{{{{zz{zzzzzz{zzzz{{zz{y{{{z{{z{{|{z{zz{zzzzz|{{{{{z{zzzz{{{{{{{{{{|zz{{zz{z{{zz{{||{zzzzzzzz{{{{{}|z{{{{zzyz{{|z|z|{zzz{z{z|{{{|{||z{{|zzzz{|{{z{{|zz|{{{|z{{|{{{{{{{|z{{{z{{{|{|{{|{{{{{{{|{{|{{||{z{||{z|{||||{|{{|{{||{|{|{|||}|{|{{z{z{{||||{|}|{{{{{||||||{{||{{z{{{{|{}||{|}||{{z|{z{|{|{|||{{{|zz{z{{|z{{|||{{z{zzz{{||{|{{|{|{z{z{z||{{{{{{{{{{{z{z||}{{{{{z{{{yz{z{{{{||{|{z{zzzz{{||{|{{|{{{z{zzzz{|{z{||{{{zzz{z{{{{{{{|z{z{z{zz{zz{{{|{|z{{zz{z{{{z||{{{zz{{z{{{zz{{{{{{zz{yzzz{z{{{{|{{z{yz{zz{{{{{{{{{zz|yzzz{z{{{{{|zzzzzzzz{zzyz{z{{{zzzyzz{zz{{||zzz{z{zzzz{{|{z{zz{z{zz{yz{|{z{{{{z{zzz{z|{{{{{{|z|{z{{zz{{{{|z|{{z{{{y|{{||{|||{{zz|z{z{{{{{|{|z{{z{{zz|{{{{{|||{{{{{{{z{{|{{{|{{{{{|{|{{{|{{{|}{{zz{{zzz||||||{|yz{|||{||{{|{{||z{{||{{{||||{|{||{z{{{{||{||{||||{{{{z{{{{|{{||{{{{{zz{{z{||||||zz{{zz{{{{{{|{|{{{y{{zzz|{|{|||{{|{{z{z{{z|{|{{{z{z{{|{{|{{{z{|{{{zyzzy{{||z{||{z|zzz{z{||{|{|{zzz{yzyz{z{{|z|{{{{z{zzz{{{|{{|||{{y{zzz{z{{{{{zzy{zz{zyz{zz{{{|{zzzzzzzz{|{z|}{{z{zy{z{{z{{zz||zzzzzzzz{{{zz{{{zzzz{yy{zz|z{zzzz{z{{zzz{{{{{{{{{{{{zzzyz{zy{{{z{zzzyzz{z{{zz{{{zzzzzzzzz{zz{{{{z{z{yzz{z{{z{{z|z{zzzzz{{{|y{|{|yz{{zzzz{{{{{{{|{zz{{zz{{{{|{{{{zzzz{{zz{z|{{{{{{zz{{{z{{|{{z|{{zz|{{z{{{|||{|{{z|zz{{{{{|{{{{||{{{|zz||{|{||||{|{{{|{z{{{||||{}{z|{zz{{{{|{|{|}{{{z{{z{||||||||{{{{{z{{{}z{|||||{{{{{{z{{||{{{|{z|{{{z{|{|||{|{z{{zzyzz{{||{{{|{zz{zz{z{||{|{}{z{{z{zz{{z{{{{z{zzz{{zzz{{{{|{{|{zzz{z{z||{|{|{|{{|zz{{z|{{{{||{{{{zzz{z{{{{z{{{|zzzyzzyz{{{{{{{|z{{{zzzz{{{z||{{{z{yzy{z{{z{{{{{z{z{zz{zz{z{{z{yzzzz{z{z{|z{z|{{zzyyzzz{{{{|{|{{zzyyzyz{|{zz{zyz{zzzzzz{{{{z{zzyzyz{zzzzzz{{{{{zzz{z{zzy{zz{{z|{z{{{z{z{|{zz{{{zz{zzz{{{z|{z|||{{{zzzzz||zz{{{{zz|zzzzz{|{||{{{z{{z{{z{z{{{{|{{{{y{zzz{{{}|{{|{{{z{{z{{{{||{{{{zz{{z{{z|{{|{|{|z{{{{{{{||{|||}|{{||z{{{||{||||{{{{z||z{|||{{|||{{z{{|{{{|||{|{||{{{zy|z{|{{{|{||z{{{{{{{{|||||||{{{{zz{{||||||{{{|z{{{{{|{||{{||{zzzzzz||{}{||{{z{zzz{y{|{z{{{{{{zzzzzy{{{{{z{{{{{{zzzz|{}{{{{{z{zz{yyz|{{{|{|{|zz{z{{y{|{{{{|{{{{zz{{zz{{zz{{{z{zz{{z{{{zz{{z{zz{zzz{z{|{zz{zz{zzzy{zzzz{z{{{{zz{zzzzzz{{{{z{zzzzzzzyy{z{z|z{zyzz{zyzzy{zzz{{{zzzzzzzyz{{{z|{zzzzyz{zzz{z{z{{{{zzy{{zzzz{z{z{{z{zzzyzzz|{{zz{{zzz{{y{z{z{{{{{|{zzz{zz{{z{zz{{{{zz{zyzzzz{|z|{|{{zy{{zz{{|zz{|{zz{{|z{{{{{|{{{{zzzz{z{z{|{{{||{z{z{{{{{||||z|||z{z{zzzzz|{{}{||{{z{{z{{{{{|{||{|{{zz{{{{|{{|{|{|z|{zz{{{||{{{|}{z{{z{{{{{|||||{|z{|{{{{{|{{{z||{z{|zzz{{{{|{{}{{z{zz{{z{{|{{|||{zz{zzz{{|{|{zzz{zz{zyy{{z{|{{{zzzzy{{{y{|{{|z{{zzzyzzzz|{{{z{|||{zy{z{z{{{{{|{{zzzzzz{{{|z|{|{|z{{{zz{z{{|{{{{|{yz{zzzzzz{{z{{z{z{zzzzz{zz{z{{{{zyzz{zz{{{{z{{{zz{y{yy{{zz|z{{{zzzzz{yzzz{{|z{z{zzyzyzyz{zzz{{{{yyz{zz{y{{{z{z{zzzyz{zz{{z{zz{{{z{z{{zzz{|{zz|{{z{zzzzzz{{{{{{|{z{{zyyz|{{{|z{{{{zzzzz{{{{{{{z{{zzzzz{{{|{{{|{{{z{zzzzz{{{{{|||zzzzzz{{||{zz{{{zy{{{{{z||z|{||{{zzzz{{{|{{|{{||{zz{{zz{{{z|{{{{{{z{{{z{{{|{||||{{{{z{{{{z||||||{{|{{{{z{}|{|||{{{||{{{{{{}|{||{{z{z|{z{{{{||{}}|{zz{{zz{{{|{||}{{zz{{{z{|z|{{{|{z{|z{z{{|{z|{|{{z{zzz{z{{|{|{{{zzzz{zzzz{{{{{{z{{{{{|{{{|{{{}{||{z{{{{z||{{{|{z{z{{yzz{{|{{{{{{{zzzzz{z{z{z{z{{zzzzzz{y{{z{{{{|{zzz{zzz|{{z{z{{{zy{{zzz{zzz{{{{zzyzzzzz{{{{z|zzzzyzzzz|yzz{{||zzz{z{zyzzz{{{{|{z{zz{y{y{{zzy{{zzzz{z{zzz{zzz{{z{xzz{{yzz{{{{{{z{zz{{zz{{{{z{{{{{zzzzzzzy{|{{|||z{{zz{{zzz{{{{|{{{{zzzzzz|{{z{z{{{zy{{zzz{{z|{|{{yzz{zy{z|{{{{{z{{z|z{{||{{||{{{z{|zz{{{{||{{}||{{{{{zz{z||{{{{|{z{{{{|z||{{z{||{{zzz{{{{||{z{|z|{z{{z|{{||||{{||z|{z{|z{|{|{{{|{{{{{{{|||{||{{|{{{||{{{|{{{{||{{{{{z|{{{{{|{||{{{{{zz{{{{{|{{}|{{{{{zzz|{{|{|{{z{zzzzzzz|{{z{|}|zzzzzzz{{|z{|||{zyz{z{z{z{z|{|{zy{zzzz{|{{{{|{{{z{zy{zy{z{|{|||{{zzzz{z{{{zz|{{zz{yzzzz{z|zz{|z{z{z{{zzzzz|{|{{{{z{{zzy{z{z{{{{{yz{zzzz{|{{{{{{|z{{yz{zz{{{z|{{{zzz{{zy{{zzzzzz{{zyzzyzz{z{{{{{zzzzz{{y{{{{{{{{z{zz{y{{z{zz{{|{{zz{{z|z{{{{{{{{{z{{z{zz|{z{{{||z{z|{zzzz|{{{|{|zz{z{{y{{z{z{{|{{{{z{{{z{|{{{{|{|{|{z{zz{|||||{{zzzz{{{{{|||{|{{{{{|{{{{||{|{||{|z{z{{z{{|||||||{{|{{{|{|||{{{{{||{{{{|z{|{{|||{{{zz{z{{{{|{{{|}{{{zzzz|{{{{{|||{z{z|{{{||{{|{|||{{{{{{{{|||{||{{zzzz{{z{|{|{{|{{{{{{{{{z||{{|{z{{{z{{zz{|{z|{{|{zz{zyz{y||{{||{zz{{yzzz{{z{{||{{{{{zzz{{{|{zz{{|z{yzzzz{z{{{}{{zzz{zzz{{{zz{{{||{{{zzzyz{|{{{{z{{z{zzz{{zzzz{{{zz{zzzzzz{{{{{{{{z{zz{yz{{{z{|{{y{z{zzyzz{{{{z{|{z{z{yz{z|zz{{{{z{zz{{zzz{{{z{{{z{zzzzzz{z{{{{{||zzz{zzz{{zz|{|{{z{zy{yz|{{{{z|{z|z|zz{|{{{{{{|{{{{zz{{{{|z{{||{{z{zz{z{|||{{||{{{z{{zz|{{||{{{{{{{{|{{z{{{|||||{{{{z|z{||z|{|||{z{|z{{{|||{{||{{z{{{{{{|}||||||{{{{{|{|{{{{|||||{|{z|z{{{||{{{}|{|{{|z{|{{~|{|{||{{{|{||{|{|{}{|{{|}{{{||{|{|{{z{{z{{|{zz{{{|||{z{{{{{zz|||{|{{|{|zzzzz{|||{{{}zzz{z{{zz{{{{{{|z{zzyzz{{{z|{{||{zz{zzzz{z{||{||{{{{zzz{zz{|{{{{{zz{zzzyz{{|z{{|z{zz{z{z{{||{{|{{{zzzyzz|{{z{{z{{{zzzzzy{{{|z|z{zzzzzyz{z{z{|{{{zzzzz{y{z{{z{z{zzyzzzzz{z{z{{z{{zz{z{zyzzz{yz|{{zzz{zz{z{|z{z{{{{{z{zzzzzzz||z|z{zzzzzyz{{z{{{z{zz{zzzz{{z|{{||{zz{{{z{z{{{{{{|{y{{{{zz{z{{{{{{|{zz{z{zz{{{{z{||{{z{z{{{{{{{{{||z{{zz{zz|{||z||{z{zz{z{{|{{{{|||{{{{{{{{z}|}{||||z{z{{zz{|{||{||{{{{z{|{{|{{|}{||{{{z{|{{|{{||{}{z|{{{{|{||{||{|{z||{{{||||{{|||}|zz{|||||{||||{{|{{z{z{{{{|z{|{||{z{{{z{|{|{z{{{{|zzz{z{}|{{|{|zzy{{{{z{z{z{zz{z{zz{zzz{{z{{{|{{{{z{zz{{z{z{{|{{{{{|yzz{{{{{|{{z{{{z{|y{z{z|{{{{yzzzz{{{zz{{|{|{zzzzzzy{{{{{z{{{{zzzz{z{zz{{{{{{yz{{zz{zz{{|{{{z{zzzzzz{{{{z{z|{z{{z{yy{{z{{z{{zzz{zzyzzz{{z{{{{z|zzy{zz{z{{||{yzzy{z{z{z{z{{{{zzyz{y{{{{{z||{|{z{|zz{z{z{{{|{{{y{zzzy{{{|{|{||zz|z{zz{z|{|{|{|z{{zzy{z{{|{|{{z{z{z{z{{|{z{{|||z{{zzz{{{{{{|||{{z{z{{{{{{{|{{|{{{{{z{{|{{|||{|{|z{{z{z{}|{{||{|{z{z|z|{{{|{{||||{{{z{||{|}|||{|{{{{z{{{|{|{{|{{|z|z{zz{|{{|||{|{{z{{{{|||{||{{|{{|zz|z{{{{||{{z|z{z{z{{{{{|zz{{{{{{zz{z{z}{{{{{|zzzzz{y{{|{{|{z{zzz{zzz{{{{{{{zzz{yzzy|{{|z{|{|{y{{{{{zz|{{z{|{{zzzzzzyz{{|{{{{z{{zzyzz{{{z{{{{{{|zyz{z{z{zz{{z{zzzz{zz{z{{z{z{yzzzyzzz{{{{|{{{zz{yzzzzz{{{{{{{z{zzzzzy{z{{{y{{{zzzyy{yz{{zz|{z{y{zzzzz{{{z{{{{y{zyz{zyzz{z{|{{{zzzzzzz{{{{z{{{{{{zzzzz{{{z{{z{zz|z{z{{z{{zz{{{{{{z{yz{z{zz{{{{{y{z{{zz{|{|{||z|{zz{{{{z|{z{|{{{{{z|{{{|{{|{|{|{zzz{{|||{{|{|||{zzz{{{{{{{|{|}z|{zz{{{z|}{{|||{|zz|{{{{{{{{||}|}{{zzz{{|}||||{||z|{{{{{||||{{|{{{{|z{{{}}|{{|}|{z{{{{zz{{z}|||{{{zzzz{z|{{|{||{{{{{{{{{{|{{z{{z{{{z{z{z{z{{{|||zzzz{yzzz{|zz{z{{{{zzzzz{{|{{|{{{|yzzz{z{z{{{{|zz{zzzzzz{z{{z{{z{{zzzzzy{{{{{{{{z{zzz{{yz{z{{{{{{zzzzzyzz{{{{|{{{z{zzz{yz{z{{{z{{{zyzzzz{z{z{{||{zzzzyyz{z{zz|z{zzzzzzzzy{{z{{{|{z{zzyzzz{zz{{z{|zzyzy{yz{{{{zzyyzyz{{yz{{|z{z|{zzzz{zzz{{|{{{{|zzzzyz{z{|{z{{{{{{zzzzzz{|{zz{{{{z{z{yz{{{|{{|{{{{{zzz{z{{{{{{|{{{yz{z{{{{{|{{{{{z{{{{{z{{{|{{|{{{zz{{|{z|{{|||{{|z{{z{{{|{{||||{{{z{z|z{{{|||{{{{|{z{|{{||||||||{z|{{zy{|||{||}|{{z{{{{|||{{{|||z{{|{{z{|{|{||{{{z{{z{z{{z{||z|z|zzz{zzz{{|{{{{}{{z{{{z{{|{|{{|z{{{{|z{{|{{|{{{z{yzzzz{{z{{{z{|{zz{zz|z{{z{{{{|z|zzz{zzz{{{{{||{z|{zy{z{{{{{{z{z{zzzzzy{{{{z{z|{{{zzyzyz{{{z{{zzy{{yyzyy{zzy{|{zz{zy{zz{zy{z{|{zz{zzyzzz{z{{zz{{zzzzzz{{y{zz{z{zzz{yzzzz{{zzz{z{yyzzzzzzz{zyzzzzz{zzzzyy{{{z|{{{z{zzy{z{zzzz{}|zzy{{zzz{z{{z|{|zyz{yzzz{z|}{{{{{zzzz{zz{||{{{zz{{{zzz{zz|zz|{{{zzzz{z{z{|{z{{|{{zz{yz{y{{{z{{{{zz|zzzzz{{{|{{||{z{{{{z{{{z|{{||{zz{z{{||||{{{{|{zz{{z|{z||{{|{}zzz{zz{{|{{|{|{||{{{{z{z{|||{||{|{{{|zz{|{{|||{||z|zz{{{{{||{||{|{z{|{{{{{||||||{{{zzzz{{{z||{|||z{{{z{z{z|{{{{{z{{z{z{{z{|{{{{|yzy{{z{{zz{z{z{{zy{z{yzy{zzz{{z{{zzz{zzz{{{{{z{|{zyyzzzy{{{{z{{zz{yyzzz{{zz{zz{{{zzz{{{yzzzzz{|{{zzzyzzz|z|zz{zzzzzzyzzzz{zzzzzzzy{{y{zzyzzzz{z{zzzzz{zyzz{{z{{{zy{{yzzzz{{{zz{{{yz{yy{yzzz{zzzzzz{yzzzyz{{zz|z{zzz{z{yyz{{z{z{{{{zzzyzzz{|z{|z{{y{z{z{y{|{{{|{{{zzzzzy{zz{{{{zz{{{zzzzzz{{z|{{z{zzzzzz{{{{|{{|{{zz{zzzzz{{{z|z{{zz{{zz{z{|{{{||{{{y{{|{|{{|{{|{z{{{{zzz|{{|||{{{{{z{{{{{z{{{|{{{{{z{|{{{{{|{{{{|{{z{z{{{|{|{{|{{zz{{{{{|z{{||{|{{{{z{{z{{{{{|||{{{z{zz{|{{{||{{{{{y{{z{zzzz|{{{{zyz{zz{zz||z|z{{{z{{{zz|z||{{{{{zzzy{{z|{{z{z|{zzz{zyzzz|{z{||z{zzyzzyz{{{{{|||zzzzz{zzz{{{{z{}zz{yyzyz{{{{{{z|zzzyzzzzyz{zz|{{zyzzyzyz{{{z{|z{{yzzz{zzz{zz{{{{{zzyzyzyz{{z{{|zzz{zyzyzyz{z|}{{{z{zzyyzz|{z{z{zz{yzzyzzzz{zz{z{zzyzzzzy{{z{y{z|zyzzz{yy{{{z{z{{zzzzzz{y{{{z{zz{zzzyyy{z{zz{||{{{{|zzyzz{{|{{|{{zzzzzz{z{{{{{|{{{z{{zzz{{{{{{||{{y{{zz{{zz{{{{{{{|zz{z{z{|{{||{{zzz{{z|z{{|}|}{|{{z{{zzz||{{|{|z{{{{zzzz{|||||{|{{{zz{{{||{{{{||{zzzz{{z{|{|{|}{|z{zz{{{{|||{||||{z|{zz{{|{{{|{||z{{{zz{{{{{{|{|{{|zzzz{{{{|{z||{{zz{{{{{{{{|{{{{zz{{z|{{{|{}z|{{{zzzyzzz{{|{{{|z{yzzz{z{{{|{|{|z{zz{{{zz{{{{{|{{z{z{zz{{{{|{z|{z{{zzz{zz{z{{{{|zz{y{z{z{{{{{|{|z{zzzzzzz{{z{{z{zzzzy{{{{z|{z{|{zzzz{z{z{{{{{{{zz{zyzzzyy{z{{{{{z{zzzzzzz{z{|{{|zzzzyzzyz|yzz{{zz{yzzz{z{{zz{{{{z{z{{zzz{z{{{{{z{{zz{z{{{{{{zzz|zz{zzz{{{{{{z{{|zzzzzzzzz{|z{{{|{{zy{z{{|{{{|{{{{{{z{zz{{|{|{|}{z{{{{|zz{{{{{{{{{zz{{{{|{|||{|||zz{{z{|{|{{{{||||zz{zzzz{||z|{}{{{z{z{z{|||{|{||{{{z{{{||||{{|||||{{||{{||{|||{||{{{z{|z|{{{|{|}{{{z{|zz|||{||||z{z{zz{{|||}{{}{|{zzy{z{{{{{{|{{{{{zz{{{|||{{{{{{z|z{{{z{{||{||{z{z{{z{z{zzz{{|{z{z{zzy{{{{{z|{|{zz{z{zz{{{{{{{{z{{z{zyz{{|{{{||{|{yyz{z{{|{{|{|{z{{|zz{{{{{z|{{{{zzzzzz{z{z|{{{{z{yy{z{zz{{{{z{{zzzz{zzz{{{|{{{zyzzyz{z{{{z{{{|z{zyyzz{z{z{{{{}{yzyzzzz{{{zzz{{{zzzzzzy{{z{{{{zzy{yzyzzz{{{{{|{{{z{{z{{{|{{{{||zzzzyz{z{{|{{{{{{zzzzzzzzz{{|{|{{{{{zz{{{{|{{z{{z{|{{{{{{{{{{{|{z{{{{z{{z|{|{||{{{{{{{{{{{{|{{|{{{{|{z{{{|{{z|{||{|{{z{{{||}||{z{{{{{{z||{{{||{||{|y{|{{{||{{|{|{|{{{{z{|}{}|}|{|z|{{{{{||{{{{|{|{zz{{{{{z{{{{|~{{{z|{{{{|z{{||{{{zzz{{{{{{{{}||{{{{z|{{{|}{|||}{{|||||{{{z{}z{{y{zzy{zyz{{{z{{{z{{{zzz{|z{{{{{z{y|z{yz{zz|z{|{{{zyzz{zy{{{|{z{{z{zzzz{zz{z{{{z{zyzzzz{z{{{zz{{{z{{yyzzz{z|{yz|{{zzzzzz{z{z{z{{{z{zzyzy{{{yz{|{zzzzzzzzzz{|{zz|{zy{zyzzy{{|{z{{{{zzzzyzzzzz{{z{y{{zzzzzzzzzz{{zz{zzz{zyz{{z{||{{{zzz{z{{zz||{{{|{z{{zzzz{{{{{{{|z{{{zzzz{{{{{{|z{{{zzz{{z{{{{||{{z{y{{zy{||{{{|{{{{{{{z{{{{z{{{{{{{z{{{{{||}||{{z{{{{{{{|{|{{|{|{z{{{zyz|{|{|}{|{|{z{z{z{||{{|||{zz{z{{z|}|{|{|{|{{{z{{{{}||{||{|zz{zzz{{{{||{|{|z{{|z{{|||{||||{|z{{{z{|z{|||{|{zz{{{zzz{|{{{||{{y{{{{z{{{{|{{{{z{{z{{|{||||{zzzzzzz{{z{{{{zz{{{zzzzyzzz{{{{{{{{zzzzzzz{{{{|{z{z|{yzzz{{{{{zz{{{{zyzzzyzz|zz|{{zzzyzzzzz{{yz{{|{z{{{zzzz{|{{{zz{zzzzzz{zzy{{z{zzzzy{yzzzz{{z{|{zzzzzzzz{{{{{|z{zzzzzzy{{{zzz{{{zz{yzy{zzzz{z{z{zzzyzzzzyzzz{z{{zy{zzzzzy{zzz{{{{zzyzzzz{{{{z{{|{yzzzzzy{|{{zz{{{{zzzzz{{{{z{{z|{{{{zzzz{{{{{z{{{{zy{zzz{z{|zz||z{zzzy{z{{|{{|{{{z{z{{{{{{{|{||{z{{zzzzz{{{{z{||{{zz{zzz{{{||{|z{{z|{zzz|{{z{|}{{{z{{{{{{||z}{||{{{{{zz{{{|{{|{||{{|{z{{|{|{{{{||zz{{{zz{{|||{{|{{{{{z{{{{{{||||z{{z|{{z{{{{{||{{{zz{z{{{{{|z||{{{{{{zzz||{|~|{|{{{zzzzz{{{{{zz|z{zzzzzz{{z|{|{{{zzz{{zz{zzz|||{zz{zzzz{z{{{{{{{{{zzzzz{{{{{z|{|{{zzzz{yz{zzz{||{zz{{zzzzz|zz{{zz{{yy{zzz{{{{z{{{zzyzzyy{{z{zz{|{y{{yzzzzz|z{{{|{{z{zzyzy{{z{{{{zyy{{yzzz{{zz{{{{zzz{z{{zzz{{zz{zz{zzzzz{{|{{|{|{z{z{xzy{{|{zz{{z{zzzy{z{{{{{{|{{z{z{y{z{z{{{{|{{{{y{zzz{{{|{|{{{{zzz{zz{{{{{|||{{zzz{zzz{{{{{|z{z{{z{{z{{{||||{z{zz|z|{{{{}{{{|{z{{zzzzz||{|{|{{{{{{{{{{||||{|{{z{zzz{{{||||||{|{z{{z{{{||}{|||{{z|zzzz{||{{{{{{z{|{z{{|||{{|{{{|{{z|y{{{|{{{|{z|z{zz{{{{{{|{|{{||{zzzz{|{{{{|||{{{z{{{z||}|{{{{zzzzzzyzz|{z||{{z{{{zzy{{{{{{{{|zzyz{{{zz{z{z{{{{zzzzz{{{||z{{{{zzzzzzz{{{|y|{{{zzz{zzz{{{z{{{zzzzz{{zz||{{{{{z{z{z{zz{{zz{z{{{zzzzyz{zy{zz{z{{{zz{z{yz{{{z{{{{yzz{zyzy{z{zz{{{zz{zyyzyzz|{z{{|zzz{zzzz{{y{z{{{zz{zz{zyzzz{{z|z{{zy{z{z|{{{{z{{zz{zz{{zzzzz{{{|{zy{zzzzz{{{z{|{{zzz{zzy{{|z{|{{{z{{{{zy{z{|zz}|z{zz{{z{{|{{z|{{{{{z|z{{{{{||}|{{zzz{{{{|{{{{{|||{{z{zzz{||{{{|{{{zzz{{{||{{{|||{zzz{|{z{||||{{{|{{zz{|z{}||{{|}zz{|zz{{z{||{|||{{|{{{zz{z{||||}{z{{{{{||{{}{{||{z{zz{{z|{z{{|{{|{z{z{z{{{{||{{{{{{{zz{z}||}}{{{{{z{{{zzz{{zz{|zz{z{zzyz{{{{|{{{zzzyzz{z{z{zz|{{{zzzz{{z{|{{{zz{{yzzzyzz{{{|z{{|{{zzzzy{zz|zz{|{{zzzz{zz{{{{{|{z{zzzzyzz{z{zz{z{zzzzzyyz{{z{zz{{{zzzyzzzzzzzzzzzzyyzyyyyzzz{z{{{{z{zxz{y{z{zzzy{zzzyzyzyzzzzz{zzyyzyzzzyz{{zz{{{z{z{zz{{{{z{zz{{zzyzzz{zzz{{{|z{{zzzyzz|{{{z{{{{{z{z|z{{z|{{{{{|z{zzzz{{{{{{z{|{{z{{{{z{{{|{{||z{zzz{{z{{{|{{{|{{{|z{{{zz{{|{|||{z{z{{{z|}|||||{{{z{{z{z{||{z||{z{|{{{{{z{{{{||{{{{z{zz{{|{|||{{|z{zz{z{||{|||||{{zz{z{z{{{{|{{|{zz{{z{z{z{|{{|}{{zz{{z{zzz{{|{{{{{{z{{zz{z|{|{{z{{z{zzz{|}}~|{zz{zz{zzzz||z{z{{{{yz{yzzz{{{{{{{{{zz{zzz{{{z|{||{zzyzyzz{zz{z{{zzz{zzyz{z{{z{{{zzyzzzzzz{zzz|y{{z{{z{zz{{z{{y{{y{zzzzzzzz{z{zzz{yzz{yzzy{z{zz{zzzyzzyyzy{zzz{z{{z{zzyzzzz{{{{|{{z{zzzzzzzz{z{z{{{zzzzzyzz{{{z{z{yyzz{zzzz|zzzzzzzzzzzyz{{{z{z{z{{y{z{{{z{{{z{{|{{z{{zzzzz{{{|{{{z{zy{zzy{{{z{|{{zzz{zzzzzz|zz{{|{{z{{zzz{{{{{{|{zzzzz{z{|zz||{{|z{{z{z{{|{z{{|{|{{{||z{z{z|{{||{{zzz|zz{{|{|{{||{{|zzz{|{|{|{{||{zzy{zz{|{{{{{||{{|{{zzz||{}{||{|z{{zzz{{|{{|||{{{{z|{zz{{{|{{{|{{{zzz{zzz{{|||{{{z{z{zy{{{{{||{{z{zzzz{||{}}{{|zzyz{z{z{{|{{z|zzzzzzyzy|{{{{{|{zyzyzzyz{zz{|{{z{zz{zzzy{{z{{z{{{{{zzzzy{z|{z{{{zzzzy{zy{{{z||{{{yz{{zyz{z{zzz|{y{zyzzyy{zz|z{{zzzzzz{zzz{{zz{{{zzyxzzz{zz|z{z{{zzzzzyzzz{{{{z{z{zyzyyzy{zz{z{zz{yy{yzzyyzz{zz{{z{{{zzzyzz{z{{{{zzzzzzzz{{{{z{|zz{zzzyzz{zz{{{{{zz{{z{zz{{|{{{{{{zzzz{zzzz{||{zzzzzz{zzy{z|{{z{{{zz{z{z{{{zz{||{z{z{{z{z{{{||{|{zzyzz{{z{{{{|z{{{y{zz{zz{}|{{||{{z{yzz{{{||{|||{{z{z{z{{{|{{{||||z{{zzz{|||{{||||{z{z{{{||{{{{{||{z{{{{{{|{|||{{{{{{{{z{{{{|{{||z{{zzzy{z|{zz{||zz{{zyz{{|{{{{{|zz{zzz{{z|}|}{{{{zzz{{zyz{{{{{{yzzzzzyyzzzz{z{z{zz{zy{zyzz{z{{|||zzzzyy{zzzzz{{z{{zz{z{z{{{z{zzzyyzzzzzzz|z{{{{z{z{zzzzz{{z{{{zzzzzyyzzzz{{z{zz{zzzz{zzy{{{z{{{zz{zzzzzzzz{z{z{{yzzzyzzz{zzzzzz{zzzz{yzyz{zyz{z|zzzzzzzzzz{{yz|zzyzy{zzyzz{zzz{{{zz{zyzy{{zzzz{{{{{{zzzzzz{z{{{|zz{zz{z{{{zzz|{{{zz{zzzyz{|{{{{{{{{{{{yy{z{{{{|zzzz{zz{z|{z{z|{{zz{zz{zzz{{|{{|{z{{zz{{z{|z{{||{{zzz{{zz{|{{{|{{{{z{|{{{|{|{{{|{{{y{z{{{|{||{{|||z{{zz{z{}{{{{{||{|{{zz{{|||{{|{{{z{{zz{|{{{{{}||z{{{{{zz{|||{||{{|zzzyzz|{{{{{{{z{zzz{z{{|||{{{zzz{z{{z{||}~z{{{{zyzz{z{|{{{z{{z{zz{zzz{{z{{{||{{zzzzzz{{{z|{{{{zzzz{zz{|{{{||{{{zyyyzz{z{{{{z|{{{y{{zz{z{y{|{{zzzzzz{y{{{zz|{z{zyyy{{z{{{{{y{{zyzzzz{zz{z{{{|{zzzzzzzzzz{z{{{{z{zzzz{{z{zzz{z|zzzzzzyxy{zz{{z{{zyy|yzzz{{z{z|{zzz{{zz{zz{|z|{{zzzzzzzzz|z{z{{|{yz{{zz{z{z{{{{{yz{zzzz{{|z{z{|zz{{zz{zz{{{{{|{{{y{zz{z{{{{{{{z{{z{z{{zzz{{|z||{{z{z{{{z{|||{|{|zz{z{zz{{||{{{||{{{z{zz{{}{|{{||{z{{zzz{{||{{{|{zz||{{{{|||{{}{{|{{{{{{{{}||||||{{{{{{zz{|{|{|{|{{z|{zz{{z{|{{{|{zz{|z{{{|{|{{||z{zz{{zzz{{||{|}{zz{{{{{z{z||{{{{{{{zz{{|||||{{{z{yz{zz{z|}{z{{{z{{{{z{z{z{{{{{{|zzzzz|{||{|{{|{{z{zz{y{{z{{{{{|zzz{{z{y{{{{z{{{{z{{{zzzzz{z{{|{{zzz{{zy{{{zz{{zzz{zzz{yz{{|{{{z{zyzy{zzz{{z{{{{{zzzzzyzz{{{z{{|{{{yzyzyzzz||{z|zz{zy{zyy{{zz{{{z{zz{zzyz|{z||{zzzzz{{z{{{{|{{{z{{{z{zy{z{{zy||{z{z{{zzz{{z{{{{zzzz{{{{{z{{{{{|{zz{{yz{{z|{{{{|{{{{zz{zz{{||{{|z|{{z{{{z{{{z{|{|{z{{{{|{z{|||||{zzz{||z{{|{|{|||{z{{{{zzz{{|{||{{z{zz{{{|}}||{|{|{{z{{|{z{{{{|}|{{{{{{{{|}||||{|{{z{{y{{{{}{|{|{{{z{|||{|z{{|{|{|z{{||z{{||{||{|{{{{{{{{{|{{|{{{|{{{z{{z{z{|z{||{{{{{{{|{||}}{{{{z{zzzyzz{{{{z|{{zz{zyzz{{zz{{{|{zzzzzzy{|z{z{|{{z{z{zyzy{{|z{{{{{zzzz{z{{|{z{|zz{zzzz{zz|{z{{|z{zzzzzyy|{{{y{{z{zzzz{zz{{{zz|zzzzyyzzzzz{|zz{{{{zyyzyzzz{{{{{{zzzzzzyzzz{|zz{{{{{zz{zyzyzzzz{z{z{zzzzzyz{zz{|{zyzzzz{yzz{z{zzz{zzzy{zy{z{||{{{{{z{zyz{z{{{z{{{|z{zz{{zz{{{{{{z{{{zzz{yz{{{{{{}{{{z{|zzz{{{z|z|{{zz{zzz{{{{z{{{{{zzz{{{{{{|||{||{{{{{z{{{{{|{||||{|{{zz{{{{{}||{|zzz{{z{||{{||{||{z{zz{z{|{{{{}{|{z{{{{{{}|{||{|{{{{{{{{|{{|||{|{|{{|{z{|{{{z||{{zz||{{{{|{||{{}{zz{{{z{{{{z{{|{zzzzzzzzy{{{{{|{{{z|{zz{{|||}{{|z{z{y{zz{z|{|{{{{{{zyy{zy{{z{{{}{{{zzzzz{zzz{||{{zzzyyzz{{{{z{{{zyzzzzzz{{{{{|{|z{zyzyzz{z{zz{{{{yz{zzz{{|{z{zzy{zzzzzy{z{z{{{{{zzzzzy{{zzzzz{{{{yzzyyyzzz{z{{{|{{zzzz{zz{{{|z|z{{zzzzzyzz{z{{{yzzyzyyzzzzyz{{z{{{{zzzz{{{zzzz{{{{zzzzzz{{|{z{{|zzyzzy{z{{|{{{z|yzzzzzz{{zz{{{{zz{z{zz{{z{{{|}|{z{{zzzzy{{{{{{{{z{z{{z{{{{{{{z{{{{z{|zyz{{|{{{|{{z{{{z{{||{{{{|{{z|zzzyz{|{{|||{{z{zzxzz||||||||{{{zz{{{|{{{||{|{{z{{{z{{||||{{|{|{{|z|{{{{|{|{{{zz{{z{{|||{|||{{{{{z{{z|{z|{||}{z{{zzz{{|{{{|{{{z{y{zzz{}|{z|{z{z{{z{z{{{|}}{z{zyz{zzzyy{z{{{||{yzzyzzz{z{z{|{z{zzzzzzz|z{{{{{{{{|yzzzz{z{{zy{{zzzzzz{z{z{z{|{{zz{zz{zz|{{{z|{zzzzz{yzz{{z{z{zz{zz{yzyz{{{zz{zzzzzzzyzzz{|z{{{z{z{zyz{zz{{z{{z{{zzzzz{z{{{{z{z{{zyyz{{yzzzzzzzz{zzyzyyzzzz{{{z{zzyzz{z{zzz{{|z{{zzyzz{{{{{{{{|{y{zzz{{zzzz{{{{{z{{zyz{zz{{z{{{{{y{y{zz{z{|z{{{{{{zz{zzz{{{{{{|{zzz|z|z{z{{{z{|{{{z{{{zz{{{|{|||z{{|zz|z|z{|{{|{|z{{{zzz|{|{{|{|{{z{{{{{{{|z{||}{|zzz{{{{z{||{|{{{|{zzz|{|||{{|{{{|{z{{z{|{||{{{{z{{{|z{z{{{|{|{|{{z{{z{|{{{{|{|{{zzzz{z{{|||{|{|{z{z{z{{{z|{{|{{z{{zyzz||||||z{zzyzzzzz{{zz{z{{{z{yy{{zz{{zz{{{zzyzzzyy{{z{|{{z{zyyzzz{{z{z{z|{zzz{yz{z{{z|{{{{zz{zzzzzz{z|{{z{zz{{zzzzzz{{{{{{zzzyxzyzy{{zzz|{zzyzzzzy{{{zzzzzzyzzzzzzz{zz{z{{{z{zyzzyyz{{{z{}zzyyyz{zz{zzyzzzzzzyzzzyz{{{z|z{zzzyzyzzzzz{{{{{zzzyzzzzz{z{{zz{{zz{y{{z{z{zz|{{{{{zzzzzz{|{{|{|z{{{{{{y{{{z{{z{{z{zzzzz{|{{{{{{zzzzy{z{{{{{{{{{{zz{zzz{{{{|{|{{zz{yz{{y||z{{|{{{zzz{z{z{{|{|{{{{y{zz{{z||{{{|{||{{{z{{z}zz||{{{{{{zzzz{{|{||z{|zz{{{zz{{||{{|{|{{z{|{{{{{{{|{||{{z{z{z{{{|{{|z{z{z{zzyzz{{|{|||{z{zz{z{z|z{{z{zz{zzz{zz{|{{{{{zz{zzzz{y{|{z{z|zzzzzzz{yzzz{{{z{{zzyzzzy{z{{{{{{{yzzzzzzzzz{{z{{zz{zyzzy{{{z{{z{yy{zzz{zzz{z{{{|zy{{zyzyzz{{{{z{zzyzy{zzzz{{{z{{zzyyyzzzzzz{{zzz{zzyzyyzzz{z|{z{zz{zzyz{y{zz{z{{{zzzzyzzy{{yz|zzyyzzzyxyzz{{{{z{zzzzz{zz{zz{z{||z{zz{zzz{|{{zz{{yyzyzy{{{z{{{{{|{|z{zyzzz{z{{{{{{zzz{{zyz|{{{|{zzz{zzzz|zz|{z|}{{zzyzzzz|{zzz{{{{{{{{{z{{{{{{{{z{z{{z{{z||z{z{||{{{{{{{z{}{{z{}{{{z{|{{z{{z{|}{|zzzz{{{{{||||{||{{{{zz|{{|{||||||{{{z{z{{|{|||{{{zz{zz{{{|{{{|{{{{{|{{{{{{{|{||{|z{z{{zz{{z{{||{|{z{zz{z{{{|{{{{z|z{{z{z{{|{{zzzy{z{yzyzz{{{{z{{yzzzzyzx{{z{{{|z{{z{{z{zzzzz{{{{z{zzzzzzz{{{z{{{zz{yzz{y{z{{{{z{z{{zzzy{y|{z{z{{zyz{{yzz{{yz{{{{{zzzzzzzzyz{{z{{zzzyzyzzz{z{z{{zzyzzzzyy{z{{{{{{zzzyzyzzzzz{zzzzzzzyyyzyyz{zz{z{zzzyzzyzy{zzzzzzz{zzzzzyzzzzz{{|zzzyzzzzz{{z{{z|{zz{yyz{z{{{{z{z{{zzzzyy|{{zz{{zzz{{zz{zz{{z{{{{{|zzyzzzz{{zz{{z{{zzz{z{z{{zz|{|{{{{zz{{{{|{{{{|z{z{z{{{zz{{{|||{{{z{zzz{{{{{{|{{zz{{{{{|{{|{|{{{z{yz{zz||{||{|{{zz{z|{z|{{{{{{|{z{{z{{z|||z|{{z{{{{{zz{||z{|{|{|{zzz{{z{{{||{||{{{{{{{{{{{{|{{|{{{zz{zz{{{{{{{{z{zzzzyzz{{{{{z}{z{z|{zz|{|}{|{|{{{{{z{{||z{||{{{{{zz{zz{|{{||||z{{{{{{{z{||z|{|||{zzz{{{{{{z{||{{{zz{{z{||{{{{|{{|{zzzz{z|z{{|{z{{zz{{{{{{{{{|{{z{{{zzy|{{|{{|{{{z{{{{zz||||{{{{z|zyzzz{{{{{{{{zz{z{{{zzzz{{|{|{z{z{{zz{{{{{||{zy{{z{{z{z{{{{{{{{{z{z{{{|z{{z|{{{z{{{{{{{{{{||}z{{{z{z||||{{|}|{z{|{{{z{|||{{||{y|||z{z||||{{}|{zz{{{{{{}{{{{|}{{{|{|zz||}||{{{{||{}{||||}|||}|{{{{{z|z||{||{|{|z{{|{z||}|||}|||{|{{||{{|{||}}||||{{|{}|}||}|}||{{||{|z{{{}||||{{|||{{{{|{|}|||||{{{{{|||}|}}||{|{{{|{|{{{|{||z{z{z{{{{|{||z}||}{{z{{|z|{||{|||{z|{{z|{z||{|{{|{{{{{{{y{|{{{||||zzzz{z|{{{|{{{|{z{z{{{z{{{{|{||{{{|{zz{{{{|{|||{{{z{{z{{|{z|{{||{{|z{{z{{{{|||{zz{{{{z{{{|{{||{{z{z{{z{{{{{{{{{z{{{{zz{z{|{{{||{{{zz{yz{|z|{|{{|{{{zzzz{||z{{{{{{zz{zz{z{||{|{{{z{{{{{{|{|{{{||{{{z{zzz{{{{|||||z{|{zzz{|||{|||{{{{||||{|{{||}{{{|z{z{{||||||{}{{{z{{{z|{||{{||{{z{{{{|{{||{}|{|{{z|{z{{|{||{||{{|||z{{{|{}{||||{|{{{{{||||{}||}|||{{|{}}|||{}||||{||{||{|||||||||||{|||}|}}|}||{||{{||||{}||}||{||{||||{{}}|}}|{||{|{z|||}||{}|{{||{|{{}||}|}|{{{|{{||{|{||||||{{{|{z||}|}{{{{{{{z{z{{{|{{{|z{|{{{z{{zz{{{{|||{zzzyz{{{|{{||||{{{|{{zz{{{|z{{|{{zyz{{z|{{{|{||zz{z{{zzz{{{{{|{{zzz{yyz{{||z{{|zz{zz{zz{{z{{|{{{zzzzz{{z{{{{{{|zzzzzzz{{{{{{z}z{z{zzzzz{z{|{{{|zz{zzzz{z{{{{||{z{{zzz{z{{zz{{{{{yz{{yzy{z||{||{{{zz{{zz|{|{y{{|{z{{zy{z{|{|{{{{z{{z{z|{|{{{{|||{z|{}z{{||{{{||{z{{{z|zz{|}{|{||{{z{z{{{|{||{||{z{z{|z{{||||}}||{|{{{{|{|{{||||||{|{z{zz{||||||||{{||{{{{}||||}|{|{{{{|{z{||||{||{{{{|{{||||||}|||{|{z}|{|{{||||{z{|{z{|||{{|}|}}{|{{{z|{|{{|}||{{{{|{{{{|z|{{}||{{{z{|{{|{{{||||z|z{{{|z}||||||||{zzzz{{{{z{{{{{zzz{z{z|{{||||}|z{y{{{zz{z{{|||{{{z{zz{{|||{|||{{{zz{zz||||||{|{{{{z{zz{{z{{{{||z{{{{z{|||{{{{{{{{zz{{z{z|z{{{|{{z{z{{zz|{{||{{z{z{z{{|{z{||z{{{z|{z{{{{{{z{|||{{z{{zzzz{{{{{zz{z{{{{{z{{{{{||{{yz{{zzz{{z|{{{{{zz{{z{{{|{{{||{{z|zz{{z{z{{|||{{y{{{z||{{{{{|{|||{{{z{z{{{{||{|{zzz{{{{|||{{{||{zz{z{{{{||{|{{|{|{{zzz{|||||{||||z{{|{{{{{||{||{{z|{{{{||||{{|{|z|{{{{||||}|||}||{{{||z{|z|}||||{|||{|{|}||||}{||z{{|{{||{|{|||||{{{{z{|||{||}|}{zz{|{z{{|||}|{{{z{|{{{|{{||{|{|{{{zz|z{||{|{||{{|z{{{z{|||{{{zz{z{{{zz{|{{|{{|zzzzzzzz|z|z{{|{{{{z{{zz{z{{|{{{{y{zzz{{z{|{{z{{{zzzzzzz{{{{z{{{{z{{{|z{{{{z{||{{z{{{{z{z{{|z|{zzzzzzzzzzzz{z{{{{{{zzzzzy||z{{|{z{yzz{z{{{{{{|{{{y{zz{zz{{{{{{{|{{zzzz{z{{zz{{{|zzy{z{{zzzzz{{{|{z{yz|zz{z{{{{{|{z{{{{zz{{{{z{{{{z{zzzz{{{{{z|{{z{{zz{{{{{{{y{{{{z{{{{{{{||{{|{|zz{z{{{z{|{{{z{}{{z{zzzz{|{{{{{|{{zz{{z{{{}{|{|{|{|{{{{{{|{|||{|{zzz{{{{{||}}{|{z{{{{z{{||{{{||||{{||{{|{||||}||{{{{{|{{|}|{|{|{{{|{{{{|{{{{|{{|{{{{{{|{{||{||}|{zz{{{{{||{||z|}{{zz{|{{{{{|||||{{z{{{{z{||{{{|{z{|zz{z|{}|{z||{|{{z{z{z{{|{{{|{|{{z{{{z{|||{{{|{{zz{zzz{{||{{||{{{zzz{||{z|{{|}{{z{zzz{z{{{{{||z{zzz{{z{{z{|{}|z{z{{{z{|z|z{{|{zz{z|z{{{{{|z{{{{zzz{{zz|{|{z{{{{z{{{|z{z|{{||{||{zzz{{zz{{{|{{{{z{z{y{z{{{{{|{{{z{{{{{zz{|{|||{zz{zzzz{{|{z|{{{{z{{{zzz{{|{|{||z{z{{z{{{{|{z|{|{z{|z{{{{||{{{|{z{{{{z{{{||{|{|{{{z{z{{{|||{||}{{{zz{{{{|}{{|{{{z||{{|{{{||||{|}z|{{|z{|||||}|}|||{|{{{|{||}|||||{|{z|{{|{||||{|{||{{{||{|{{||}||z{{||z|||||||{|}||{{{{{|||}||||||{|{|{{|||{{|}|{|{z|{{{||||{|||{{{|{{z|{|||{|||{{|{{{z{{{}{{{||{{{{{{{{{{|{{{zz{{z{{{{zz{{z{{|{z{{zzzzz|{{|||{||z{{{{z{{{{{{{}||{{zz{z{{{{|{{||{z{z{{{z{z{||{{|{{|zzz|z{||{{||{|zzzzz{{z{{|{|{||zz{{{{{{{|{{{z{|yzz{z{{{{{|{{{{yz{{zzz{|{{|{{{{||{zzz{zz|{||{{{{{{zz{z{z{{{z|{|{{zzz{z{z{{{|{z{|z{z{|{z{{{||{{{{{{zzyzz{||{|{||{{{z|z||{||{{{}{{{{{{{{{{|||||}|{{{{{{{{{{{{{{||z|{{|{{{{{{{{{||{z{{{{{{{||{{{|||{||z{|{{|||{|{|{{||{{|{||||{}|||z{{{{||{{|||}|||{{|||{{}}}{|||||{||{|{|||||||}|{{{|||{{{}||}|{||{{{{|{|{||{{|{||{{{{|{|||||||}||||{||{|||||||}||{||{{{{|||||||{{}{{z{{{{}}{{{{||||{{{{{{{|}|{z{{{{{{{{zz||||{{||{{z{zz{{{{||{{|{zzz{zz{{|{{{||||z|zzzyz|{|{z{{{{{{zz{{{{{z{{{{|zzz{{zzz|{|zz{{|{z{zz{zz{{{{z{{{{zzz{z{{}z{{{{{{{{z{zzzzz|{z{{{{{zzzyz{{z{{{{{{|{|zzz{zzz|{{{y{|z{{zzzzy{{|zy|z||{zzz{{yz{z{||{{zzz{zzzz{{zz{{{{{z{z|{zz{|{{{{{{z{{{zz{z{{{z{|{||zz{{z{z{|{{|{||{{{|z{{{|{{|{|{{{{{z{{z{|{|{z{|{{y|{zz{{{{{{{{|{{z{{{{{{|{|{||}|{z{|z||z|||||||||{{{{{zz||{}|||{|{{{{{{z}}}{||{z{{{z{||{||}|{||||{{|{{{{{|||||||{||{{{{{|{||}||{|{{|{{||{||{{||}||{{{{{{||{{|{}|{{{z{{|{{|||}|||{{z{{z{z{||{{|||z{{zz{{{{{{|{{}{|z{zzz{z{||{{{||{{{{||{zz|{||{}{{{{zz{z{{{{|{{|{{z{{{z{{{zz|z{|||{z{z{z{|||{{||||{z|zzzz{|||||{|{zzz{z{{||{{{{{zz{{zzzz{{|z{{|z}zz{{z{{z{{{{{{{{|y{{y{z|z|{z|{||z{{zy{{{{{{{zz||{zzzzz{z{{z{{{z{{z{z{{{|z|z{{|{|{zz{{zzz|{{{|{{{z{zz{z|z{||{|{|{|{{{{{{{{{||{|{}|zzz{{{|{{}|{{|{{{{{{y|{{{||||{|{y{{{{{{||||{{|}{{z{{{{|z{||||{{{{{z{{{{||||||}}{{{{z{{z{|{{{|}|{{{||{{{}|}{|{|{{{{{||{{}|||||||{|{{|{{||||{}|||{|||{{{|||||||}||{{}{{{{||{||||{|z{{{|{|||{||||||{{|{{{{|{||||||{|z|{{|{|||}|||}|{{{{{{{}||}{|||}zzy{z|{{{||}{{||{z{{{{zz|{{||z{{|||{{{{{|{||||}{{z{{{|{|{z{{{|{{z{{{zz{{|{|{{z{{{|z{{{z{{{{{||}{z{{{z{{{{||{{|||{z|{zzz{{|{z{{{{{{{{{{{{{{|{||{{{{{{zz{z{{{||{{zz{z{{z{{{{{|{{{{z{z{z{z{|{z{{||{zz{zzz{{{{|{{{|zzz{{{{z{{z{{}{{z{{z{{zz{z||{z}{{{{{{z|z{{{|{|{{{z|zz{z{z{}{{||{{{{{z{zz{|{z|{|||{{{{z{z{||{}||{||z{{z{{{||||||z{{|z{{{{{}{||}||{|{{{|{{{|{||{||{||{{||{{||}||{||z|}z{{{|||}|||}|z{|}{{{|}|{|||{|{{{{||{||||}|{|{|{{{||{|}||}||}{{|{{{{||||}|||||{{|{|{{||}|}|}}|{|{{|{|||{|||||{{|{{{|{{{|{|}||{{{{{{z{|||}{{|{{{{zz{|{{||{||{}{zz{{zyzy{|{{{{{{z{{{zzz{|{{{{|{{{{z{zzz{zz{z}z|{zzz{{{z||||{{|{{{{zz{zz{|{{{{{{|{{{zz{y{{z{{||{{zz{zzzy{z|{{|{{{zz{zz{{{{{{|{{{{zz{{zzz{{|z|{{{z{zzzzzzz|{{{{{{z{zyz{zz{{{{|{{|{|{z{zzzz{{{z{z{{zz{{{z{{|{z|{||zzz{z{zz{{{{{{||{zzz{z|{z{{z|{{|{{zz{z{z{{{{|{z|{{{{{{{{{|{|{{{||{zz{{|z{||||{{|{{zz{{{z|||{{{|{{z{{{{{{|{{{{||z|{zzz{z{{|{||}||z{{z{{||z|{|||||z{||{|{|{|{{{{|{|{{{{{|{{||{||}{{{{{z|||{{||{||||||{{||{{||{|||||{|{z{{{|||~|||{{||{|{{{||{{|||||||{{z{{||||}|||{|{z|{|{{{||{|||{{{z{{{z|{{||||||{z{zz{{{||{|{{z{{z{z{zz{{|{{|{{{|z{{{{|{{{{||||{zzz{z{{{{{|{||{|{{{{zy{{{|{|z||{{{{{{{z{{||{{{|{{zz{|{z{|{{|||{{z{z{zz{{{|z{|{{{z{z{|{{{{{{z{{{z{zzzzz{|{{|{{|zzzz{{z{{z{|{{{|{{{{zz{|zzz|{||{|{{z{{z{zz{{{z{z{zzz{zy{zz{{{z|{|{{|z{{{{{z|{{{||{{{z{zz{{|{{{||||{{zzz{z{||{{|||z{{{z{zz|{{|||{{z{{{{z{z{{||{{{{{z{{{{yz{||{||}|{{|zz{z{{}|||||{{|{z{{{{||||||{|{|{{{{{{{||||||}{z{{{{|{||}|||}{|{|{|{|{|||{|||||||{z||{z{{|}|}}}|{{{|{|{{{||||||{||||{|z||}|}|z{||{{{|{{|||}||}|{|{{{{{{{{||||{{{|{z{{{{||||}{|{{{{{{|{{{{|||||{{{{{{{{||||{{{{yzz{|z{zz|{|{{{{{{zzzzzzz{{|{|{{{{{zz{z|{|||{z{||zz{z{{y{||{{{||z{{z{zz{z{{{z{{{{zzz{{z{{{{{{||{|{zzz{zz{{zz{z{{z{{z{zzy{{{{{|z{{{zz{zzzz{{zz{|{{{{{yzyz{{zz{{{z{zz{z{{zz{|zz|}{{{{zyyzzyzzzz|{{z{|z{zzzz{{z{{{{{z{zz{|z|{{{{{{z{{{{{{z{{{{{{||{{{zzzz{{{{{|{|{||{z{{{{|{{z{{|||y|{zz{{zzz{|{|{{|z{{{z{{{{|{{{|{{{{zz{zz{{{{{|{|{{z{{{z|{{||{|{{{{{{||{||||||}|{{{||{zzz||{|{{|||{z{{||||||{}||{{{|{{z{{||||}}|||{z{{|{{{|||}|||||z{{||{|||}{|||{{{||{{{{|{||}{{|{{{{{{|||||||||{z{z{{{{{{{{{|{|{{{{zz{z{}|{||||{{|z|zz{|{}|||{z{z{{zz{z{{{{{|||{z{{zzyz{z{{|{{|{{zzzzzz|{|z{{{|{{|{zzz{{{{|{z|||{yz{z{y{|{{{{{{z{zz{z{zzz{{z{|{{{zz|zzz{{zz{|z{z{{zz{{{{|z{{{{{{zyz{zzzz{{z{z{|zz{zz{zz{z{{{{|{zz{zz{{zzzz{{||{{{zz{z{zz{z{{z{|{z{zzz{zzz{z{||{zyzx|z{z{z{{z{zz{{zzzzzz{{|{{|{|zz{z{z{{{{{{{||z{zz{y{{{{}{{{|{{{{{z{z{{z{{{{}||{{zz{zz{{{|}||}|{z{{{{z{{||{{{{{{{{{{{{{||||||||z|zzz{{{||}|||||{z{{{{|{|}{|{|{|{{{{{z{|||{{}|||{{{{||{{|||{|}|||{{{{|zz{}{||||||{{{z{{{|{|}||||{{{|{||z{|{||}|}{{{{z{{{||||{}||{z{z|{{{||{||{}}{{{{y{|{{|{{{{||zz{z|{{{|{||{{|zz{z{{{zz{|{{{|||{zy{|z{{{{{{{|||{{{zzzzz{{{|{|||{{{z{zz{{{|||{|{|{z{zyz{{{|{{{z{{{{z{z{z{{{{||{|{z{{{zzz{{|{z{{{{z{zzzz{z|{{{{{{zzzz{z{z{{{{z{|{z{{{{|zz{|{z|z{{z{{{zzz{{zz{{{||{{{{z{{zz{zz{|{{{z{zzzz{{|{{z{{|{{{y{{z{z}{||{{{{{zz{z{{{{{{{|||{z{{z{{z|{{{{{{{{{|{|zz{||{{{||||z{{{z{{{|{||{||{||{zzy{|{{{|{|||zzz{{{{|z|{||{|{|{{{{{z||||{{}|z{{{|z{{||{||}{|{|{{{{{z|||{{}{||{||{{{{||||||{}|{||{{||}|{{{}}|}{}{{z{z|}}}||||||||{z{{}{{|{|{}}z{|{|{{||{||}|||{{{|{z{|||}|||}||{{{{{{{|{{{||{|||{{z{z{|||{|}||z|{z{{{||}{|{{{{{zzzzzz||z{{zz{z{zzzzz{{|z{|{||{|zz{zzz{{z{{|{{zzzzzz{y{|{|z|||{{z{zz{zz{}z{{|{zy{z{zzzz{{z|{{{{{zzzzzz{z{{{{{{z{zz{{z{{{{{|{{|{y{zzzzzz{{{{{{{zzzzz{zz{{|||{{{{{{zzzzzz{{{{{||{{{{zyzz{zzz{{{{z{z{y{zz{z{{{|z{zzzzzz{z{z{z{{|{{{zz{z{{{{{|{|||{{{zzzz{z{|{|{{|{z{{zzzz{{|{{|{{{{yz{{{z{||{|||{{{{z{{z{{y}z{|}|{{{z{zz{{{|||{{{|{{{{{{z{|{{{|||{{{{{{|z|{{|{|||{{{{|{{z{|{{||{{|{{z|z{{||||{||{{{{{{||{{|{||||{{zz{{{z{|}||{||||{{{z{{{{|{|{|{|{z{{{{{{|{{|{||{{{|||{{{|{|{{{|||{{z{{|{|{{|||{}|{|{z{{z|{{|zz{z|{{|{z{{z{|{}|{|z{zz{zzz{{{{{{|{z{zz{zzzz|{|||{{|z{yzzzz{{z{{|||zzzzz{z|{{{{|{|{{{{zz{{{{|{{{|{|{{zzz{|{{|z|z|{zzzzz|{zz{{{zz|{{{zzzy{z|{{{{z{{{{zz{z{zzz{{{zzzzzz{zyzz{zz|z|z{z{{zzz{zz{|z{z{{|zzzyzy{zz{z{|{{{|zzzyzzz{{{{|{{{yzz{zzy{{{|{{{{|{zzz{z{{{{{{z{{|z{{{{zz{{|{{z|{|z{{{zzzz||{{||||{{z{{y{{{||||zz{{z{{{{z{{||||{|{zzz|}{{{|||{{|{{{{{{|{||{{{|{|{|z|z|z{{{{|{|{{||{{{|{{zz|||{{{|||{|{{{{{}|{|{}{|{|{{{||{||{{||{}|{{zz{{{{~|||{||{{z{{{{||||||||{{{{|{{{|{{|{{}|}|{{|{{{{|{{|}||{{{{{|{{{{{{|||{|{z{{{{{{||||{|{||||{|zzz||||||zz{z{{z{zzz{{{|{|{zzz{zzz{}{{{|{{|{{{zzzz{{z{{{{|{{zzzzzz|{{{{{z||{{{zz{{{{{{{{{{{{zz{z{z{{{{{{{|{{{{z|z{{{{|{{|}{{{{z{{yz{{{z{{{{z{zz{yzzz|z{||{|zz{{zzz{z{|{{{{{{{{zzz{z{{{{|{{z{{yzz{{z{{{{{{{{zzz{zy{z{|{{|{z|zzz{{z{z{z{{{{||{{{{{{{{|{{{{|{|{z{z{zzz|{{{{|{|{{{{{{{{{z{|||}{{|{{|z{{{{|{z||{|{zzzz{{{||{|{{{|{{{{{{|{{|{{{||z{|{|z{{{|{{||||z|||{{{{}|||{|}||{|{{{{{|{||||}{}{{{{||{||{|{|||{{||{|||||}z|}}|{|{{|{{{z|||{}|}{{{|{{{z{|{|||{{|{{{|{|{||{{|}|}|{{|{z|{||{||}|||{{{{zz{|||||{||{{{{{{{{|}|{{{{||{{|{||{|{||{z}{{y{{|{{{{{{z{{}|zzzzzyz{{{|{{|||{{z{yz{{||{{{||{{z{{{{zzz{{{{{{{z|{{zz{{{|{|||{{z{{{{{zz{{|z{||{|{|z{{{z{{||{{{|zz{{{zz{{z{{{||{y{z{yzzy{{|z{{{{{z{{{{zz{|{{{{{z{z{zyyzzz{{{z{||z{z{{{{z{z{{z{{|zzzzz{zz{||{{{||zz{|zz{{||{{{z{z{{{{zz{{{{{{|||{{z{zzz{{{{z|{{||{{{{z{zz{{|z||{|{{{zzz{{{{{{||{{{{{z{{zz|{||||{{|{|{{{z{{||{{|||{{|z||{{||{}{|{|{||{|{|{|}||||{|{{{z|{z{|z|||||{|{z{{|z{{{||||}|{{{{}||{{|{|||}}|{{{|{{{|||}|}{||{{|{{{{|{||{|||{{{|{{{||{||{|||{{{{z{{||||||{|}|{{z|{{{{{{|{|{z|{||z{{z{|{|||}|{|{{|z{{||||||z{|{{{|{{{||{||{||z|zzzzzy{{||{|{|{{zz{z{{{||z|{|{{{{z{zz{z{{|{{{{{{{{zz{z{{{{{||{{{{{{z{zz{{|{{{{{z{{{z{z{{{{||zz{{z|{z{{|{{{{{||zzzzzz{z{|{z{{|{{{z{zzzz{{z{{{{{zzzzzzz{z{{{{{{{zz{z{zzzz{{|{{{|{{{z{zyz{{z|{{{{yz{{{|zy{z|{|||{z{zzzzzz{|{{{|{|{{zzz{{z{{{|||{|{{{zz{z{||{{{|{{{{{{{{|z{{{|{{|z{|{{z{{z{{{|{|||{{z{{z{|{{|{|||||||{|{z{|{|{{|||{|{||||{|{|{|||||z{{|||{{||||{|||z{|{|{{{||{|||||z{{{{}{{|{||||{|{{{{|{{||}||||{{||{{{{|}|||||}|{|{||{{|{{||{|||}{{{||{|{}{{{||}||zz{{{{{|{||{|||{{{{{zz||||{|}{{{{|{z{|||{{|{{z{z{{{{zz{{{{{{|||{|z{z{z|{||||||{{{y{zzz|{{|z{{{{{{{{z{|{{|{{z|{{{zz{z{z{{|{|{{|{{{zz{{z{{{z{|{|{z|z{{zzz|{{{|{{{yzzz{{{{{{{zz{{{{{zz{zzz{|z{{|{{{zzzz{{z|{|{|{{z{zzyzz{{{{{{{{|{zz{zz{zz}z{{{{{z{zz{zzzz{{|z{|{{z{z{z|z{{{{z|{{|{{{{{{z|{|{{z|||z{{y{{z|{z|{{|}zz{{zzzz{{{|{{||{|{{{z|y{|{{||{{{z{{{{{z{{{{|{}{|{{{{{zz|{{{{||{{{{{{|{{|{{||{||{{{{|{{{||{||{||{z{{{{{{|}{{|{}||{{{{|{z{|||||||{{{zz|{{|}{{|||{}|||||{{|}|||{}||||{{{|||}||||||||{{|{{{||{|}|||||||||{|{}||}|||{{{{{|{|{{||{|}{||{|{|{{{{||{||{|{zzyzz{||||{|{|z{zzz{|zz{z{z{|{z{zzzzzz{{z{|||||{y{|zz{{{|{{||z{zzzzzzz{|{z{{{{{{{zzzzy{zz{z|z|{z{zz|{yz{{{{{{{{zzz{zzz{z{{{|z{{{{zy{zz{zz{{z{|{{zzzyzz{{{{{{{{{{{zzyz{{||{{{z{zz|{y{{y{|{{{{{z{{z{{yzzzz{z{{z|{zzz{zzzz|z||{{|{{{z{{{z{{|{{{|{{z{z{{{|{z{{||||{{z{{y{{{{{{{||{zz{{{{{z{{{{z{||{{zz{z|zz{{{{||{zz{z{{zz{z|{{|}{{{z|z{{z{|{|{|z{{{|{{zz{{|}{||{|{{{z|zz|{{||{{|}||{{|||{}||||||{|{{z|{|{|}{{|{||{{{{{|{{||{|||||{}{{z|{{{||{|{}|{z|{z{||z||||||}{|z{{|{{|{|||||||{{z|{z{|{||{||}{{{z|{|{|||{|||}|z{{{{{{{{|||{|{{{zz|z{z|{{{{{||{|{{zz{{z{||{|{{y{z{zz{{{{{{}{|}{{zzz{z{{|{{{{{||{{zzz{{z{{{z{|{|{|z{{zz{{}|{{{}z{{z{zzz{{{{{{}{{z|{y{z{|z{z|{z|{z{{{z{|zz{{{{{{z{zzzz{z{{z{z{{{{{zzz{zz{{|{||{{{{z{{{{z{{{{{|{{{zyzzz|{{z{zz|z{z|{{{zzz{|{{{||{zz|z{{yz{{{{z|}||{zz|{||{|{|{{{|z{{{zz{z|{{{{{{|z|}zy{{z||||{{||{z{{{z{{z{||||{{{{{{z{{{{{{{{{}{|{|{z{z|{|}||{||{{{z{{{z|||||}}{{|{{|{{{|{{|||}}z{{||{{{{}{|||{{|z{{|zz{{|||{}}||{||{||{}||||{||}z{{{{|{{|{||||||{{{{{{{{|{||{{{|{{|{{|z{{{|||}||{{{||{||{|}{|{|z{{z|z{z{{{||{{|{|z{{{{z{|{|||{{zz{zzz{{{{{{{|z{{zz{{{z{{|{z{{z{{zyy{{z{z{{|{{||z{{zyzz{{|z|{|{|{zz{zzzz{|{{{{|||{{zyz{z{{{{z{{|z{{z{zzz{{|zz{{{{{z{zz{z{{{zz|{{{zzz{{{zz{z{{|{|y{zz{{{z{{{z{|{|zz{z{zz{z{{{{{{|zzzzyzy{{{z{{{{{{{{z{z{zz{z|z{z}zz{y{{z{{{z|z||{zz{zz{{z|{{{{{||{zz{{zz{{{z{{||{|z{zzzz|{{{{||{{{{{{zzzz{{{{{|{|{{{|{{{{{|||{{{{|z{z{{{{{z{{{{||{{z{zz{{|||{{}z|{|zz{{|{|||{{|||z{{z{{z{|}{|||||{|{{{zz{{{|||||||yz{{{|||}|{|{|||{{{z{{|{|{|}}|{|{z{{|{{||{{|||}|{|{{|{{||}|||||{{||{|{{{||{|{}||||{{{z||||{||||{z{{{z{{{{{|{|}|{zzz{{{{|{|z{{}|{{{z{z{{{{}{|z|{z{zz|yzz{{{z{{{{{{zzzzzy{z{{{|{{{|zyzzzyz|{{z|||{zzzz{yz{z{{z{|{|{zzzyzz{{{z||{|{z{zz{yz{|z{z{|zzz{zzyzz{z{z{{{{zzz{{z{zz{z{{zz|{zzyzzyz{z{zz{{{zzzzz{zy{|z{}|{{{z{zzzzzz{{{{{|{{zzz{{zzz{z{{{{{zzzz{z{z{||{{|{{zy{z{z{z{{{z|||{|{zz{zzz{|{{{{{|z{|{{{z{{{{{{|{|{zz{z{z{|||{{|{||{{{zz{{z|{|||z|zz{zzz{z{{{{{||{zz|{{{{z{||{{||{|{{{{|y{{||||}{|z{|z{|||{|||{||}{|z{z{zz{{|||||{{z{z{{{z|}}{|||||{|z{||{{||||||||{{{{|{{{|||}||{{{{{|{{|||}||||z|{{z{zz{{{{{|||||{|z||{{{|z|{}|}{{{zz{{{{{|{{||{{{z{z{{|zz{{||||{{|z{{{{z{||{{{z{{zz{{zz{{z{|{{|zz{{zz{z|{{z{{{{z{zyz{yz{|{{|{{|{{z{{zzz{{|{z{||z{|zzzzz{{y{{{{|{{zzz{zz{{{z{{zzz{{z{yzz{{{{{{{|zzz{zz{{{{z{{|{{z{{z{z{{z||zzz|{zyzzzz{{z{{{{{}|{z{{z{zz{|z{{{{{{{z{zz{z{{{{z{{zzz{zzzz{z{{{{|{{{z{zz{zz{{|{{{{|{{{{{z{y{||{{|{|zz{{zzz{z|{{{z||{zz{{{{{{{|{{{{{{zz{zz{{{||{{|{|{{zz{{|z{|{{|{{|{{z{{z{z{{{{{{{{{{{zz{zz||{|||||{{{{{{{||{|||||}zz{{z{{{{||{}|{{{{zz{{{{||{{||}|{{{{z{|{{|||{||}{{{{{|{{{|||{{|}{|{|{||{{||}{}||{zz{||z{{|{{{||{||{{{{{{|||}||{|z{{z{|{z|{|{z{||{y{{{{{{{|{{{{|{{{{z{{z{z|{|{{{{{z{{zz{zy{{{z{|{{z{{z{y{z|{{|{{{||z{{{zz{||{{{{{z{|{zz{{|z||{|{{{z{yzz{{{{|{{{|{{{{z{{{z{{|{z{|{|{|z{z{z|{{{z{{{{{zzzzz{{{{{z|{{{zzzy{zz{z{y{{{{z{{zz{z{{{{{{{{{z{|zzzzz{{|{z|{{zzz{zzzzz|{zz{z{zz{{{zzy{{{{{|z{{z{{{{zyz{{}|||{z{z{zz{{{|{{{{{{{zzz{z{{{{{{{{|{{{{z{z|z|{{z{|{|{{{{{{z{{|{|{}||{{z{{z{z|||}|{|{|{{{{{z{||{|z||{{{zz|{{{{{|||{|||{{{||z|||||||||{{{{{{{{{||{{|||{|{{{{{{{}||{|}||{{{{{|{{{||||{}{|{{|||{||||{|||{{||{{{||{||||||}{{{{{{{}{|||}}||{{z||{{}{{{|{}|{{|{{{|{{{||z|||{{zz{{{{{|||{{|{|{|{{z{{|{{{{|||{{{zzz{|z{{|{{|{z{zzzzz{{{{|{|{{{{{yz|{z{|{{{|{{{zzzzz{{z{|{z{{{{{zzzz{{|{{|{{{z{zzzzzyz{{{|{{{z|zzzzz{z{{{z{{{{{zz{z{z{z{z|z{{|{zzzzyzzzz{|{{{{{zzzzzz{z{{|z{{|zzzzzzzz{z{z|{{{z{zy{z{zzzzz{{{{{z{{{zz{{{{z{{{|{{{yzzzz{z{{{{||{{{zzzzz{{|{|{{{z{{{zz{z|{{{{{}{{{{{{z{z{z|{|{{{{zzz{{{z{|||{{{{{z|{{{zz{|{|{|}{{zz{{{z{{|zzz|{{{{|{{{{z{{{|||{|{{{{{{|z{}{{{{||{{{{{{{z|{{||{|{|{z|{{{{{||||{||{|z|{{{{{{|||}|||{{{{|{{{|}||}|||{{{z{{{|||{{}{|{{{{{{z{{|||{{{|z{{||{z{{{{|{|}||{{z{{z{|z{{{|{||{{{{z{z{|{||{|{{z{zzz{z|{{{{|{{z{zzz{yz{{|{{z|{z{{zzyz{{{{{|{||{zz{{{|z{z|{|{}|{zz{{zzz{z{{{||{{z{zz{zz|{{{z|{|{z{{{{{{z{{|{|{zzz{z{zzz|{|zz{|{z{{{zzz{{{z{{{{{{{{z{yyzzz|z{{{{zzyzz{z{z{|{{||{{z{zzzyz|{zy{{|{{{{yz{zzzzz{|{{{zzyzz{z{{{{z|{{{z{{|{{zyz{|{{{{{z{yz{{{zz{{{{{||{|{{{y{{|{|{{||{{z{{z{{{{{|{{|{|{{{z{{|z{||{|||||{{z|{{{|||||{|{||{{{{{{{||{||{||z{z|z{{{{|}||||{{{{{z{|{|||{|}|{|{|{z{{|{|{|{|{}{{{{zz|}~|||||}{z{{{{|{{|||||||{|{||{|{{||||||}{z|||{{z||}{{|}|{{z{|{|{{|{|||||{zz|{{{{{|||||||{{{|{{{{|{|{|{}{{{{{{{{z||{||{||{{{zz{{z{|{|||{{|{z{{y{{{{||{{||{z{zzz{z{z{{||{|{{{z{z{{{{z|z||z{z{z{zz{{{{|{{||{{z{{zzz{{{{{{||{y{z{{{{{{{{z{|{z{{z{{zzz{|{z{{z{{{zzzz{{{{{{{{{zzy{zz{z{{zz{{{|{zzzz{z{z{|{{|{{{{z{y|zy{zz{{z|{zz{{{zyyz{{{{{z{z{{zz{{zz{{|{{{|zz{zzzz{z{{{{{||{z{{|{{{{{{{{|||{z{zz{zz{{|{||||z{{z{{{z{||{{||{||||z{zz{||{{|||{z{zz{z{{|}||{|{{{{z{{zz|{||{|||{{|{{z{z{||z|}||{{{{{{z{{||}{}|}|{{|{{{z{|||{}|||{{{||{{}||{||||{{z{{{{|||{|||{||{z{{{{{{|{|{||}{|{||{{z|{|||{{|{{{zz{z{{{|{{|}}|{||||{{{{|{{||{{z|z{z{z{|{||}{||{{z|{{|{|{|z|||z{{z{z{{||{{}z{{{{zz{z{zz||{{z{{{|{yz{{z{{{||{{{{{zzzzzz{|{{{{{|{z||{{z{{|{{|{{|{{{zzz{z{|z|||||{{{z{z{{z{zz{|{|z|{z{{z{z{|{z{z{{zzzz{z{{{{|z{|{zzz{z{z{z{z{{||{{zzz{{{{{{|z{||{{{{{{{z{z|z{{|{{{zz{{zz{|||{{{{{{{zzzz{zz|z{z|{|{zzz{{zzz{{z{{{||{z{z{z{{|{z{|{{|z{{z{{{|{|{|}{{{{{zzzzz{||{|||{{z{{{{{{|{|{{|{{{{{{{{z{{{|{{{|{{{z{{{{{{|{{||{|{|{{{{{{||||{||{{|{|{||{}|{||||||{{|{{z|{|||{|}{|z{z|{{z{||{|{|{{|{{|||{{{||{||{{{{{||{|||}|||||{|{{{{{{||||||||{{||{{||}|||||{|||{|{|{{|{{}{|}|{{{|{{z{}|{{|}||{}{{z{{{}{}|{{|{{{{zzz{{|{|{z{|{zzz{{zz{z{||zz|{zzz{zzzz|{{{{{z{z{zzz{yz{y{{{{|z{{zz{zz{{z|{zz|{{z{zz{zz{{z|{{z}{{{{z{zzz{z{z{z{{zzz|zzz{z|{|{|z{{zzzzzz{zzzzz|{z{z{yzyzzz{{z{|z{zz{z{yz{{{{{|{{|z{{zzzz{|{{{{{{zzyzzzzzzz{{z{{|{{zzz{yyz{{z{{{z{zzz{z{{{z{|{{{{{z{z{z{{{{{{{|{{|y{z{zz{||{{{|z{{z{{zz{{{{{{|{|{|z{{{zz{zz||||{{{{z{zzzz{{{{|{|||{zz{z{{{{{z{|{{{{|{zz{{{|||z{||z{{|{{z{z|{{{|{|{{z{z|zz{{|||||{|{{z{{{|||{|{{|{|{}|{{{{{||||}{||z|{z{{{{|||||}||{|||z{{|||{{{{{}z{|{zz{{{z{|||{|{{{{{z{|{{|||||{||z{z{z|{{{{{|||{{yzz{z{{||{{{z||z{z{{|{{z{{{{{{yzzzz{z{{|{|{{{z{z{zzy{{z{z|{{{{{zz{z{{{z{{{{{{|z{zzz{{z{{{zz||{z{zzy{z{z{{{{{{z{{zzyzzz|z{{z{{{{zzzzzz{z|zz|{zzz{z{{yzyz{zzzz{z{z{zz{zzz{{{z{{zzy{z{yz|{{z{|{|zzzzzzzzz{{y{z|{zz{z{y{zz{z{zz{{{{zz{zzzz|z|z|z|{z{{z{{{{z{{{{|{y{{{{{{{{{{{{{{|{z{z{z{z{{{|{||{{{{zzzz{{{{|||||{z{|zz{{{{|{|{y{z{{{{zzz{|{{{{{{{{z{z{{z{{{{{{{{|z{{|z{z{{|||{||z{{zz{||{{{|{|{|{z{|zz{{{|||{|{{|z{{{{{{|}|{|}|{|||z{{{{{{|{{|{}{{{{{|{{{{||{{{|{{{{z{{|{|{{||}||{z{{{{{{|{||||}||{{{{{{{|{z{|}|{{{{{{{z|}{{{||||z{z{{{z|}{|{|z|{z{|{z{z{|{{{{zz{zzz{zyzz{|z{{{|{zzy{yzzz{{{{|{{{{zyzzzz|z{{{{||{z{zzzzyz{{{{{|{|z{zzzzz{z{{{{z|zy{{zz{yz{{z{{|{zz{z{zyz{{{{{{{{z{{yyyy{|zz{zz{zy{zzz{{{{zz|{{{{z{zzzzz{z{|{{zz{{{z{zzz{{|{z{{{{zzzzyzzzzzzz{{|{{zzz{zz{y{{{zz{{zzzz{{zz{{{z{{|{{{zz{y{z|{{{z||{zz{{{zz{{{{||{{{z{{{{zz{|||{{{{{z{{{{{{{{|||{{{{{z{zzz{{|{{{{{|{{{{{{zz{{|{||{{{|z|z{{zz{{|{{{z{z|{{{zz{||{||{|z{|{|{{{z{||||{|||{{{{{{{{|||||||{{|}{|{||z|{||{{{{{{|{{{{|{|||||{{{|{{{z{||{{|||{{{{{{z{{{}{{{|{||{{{|{{|{{|{{{|{{{{zz|{{||{{||{|{z{{{{{z{||{{{|{{{z{z{{{{{{{{z{{{{z{zz{{{{{{{|{{{{{{zz{zz|{|{{|{zz{z{zz{{z{||{|{{{z{zzz{||{{{{{{{zzzz{yzz{{|}{{{{z{zz{z{{{{|{{{|zzz{zzz{zzz{|{zzzzzz{{z{{z{{z{{{zzzzzzz{z{{|{{|z{z{zzz|z{|z{{{zzzzzz{zyzz{{|z|{z{zzzz{zzz{|{|z{{zzz{zzyz|{z{{||{{zz{zzz{{zz{||z{z{{zyz{z{{zz{{{{z{zzz{{z{{z{|{{{|{{zzzz{{{{|{|{{{{{z{zz{{{||||{{zz{{{zz|{||{|||{{{z{{zz{{{z|||{{zz{{||{{{{|||{{|{{z|{{{{|||||}|{{|zz{{{{{||{|{|{{{z{||{||||||||{|{z{{{{z{||{}|||zz{{z{{{|{|||}||{{{{{{||{||{}||{z{{}|{{z|{||{{|{{{|{{{z|{{|}{|||{{z|{zz{||{z||{|{{{{|{{{{||{|||{{z{{{zzz{{}{zy{z{zzz{zy{{{{zzzz{zzzz{zz{{z{{||{{{z{{z{z{z{{||{{{z{z|z{zz{{|{{{|z{zzzzzyyzzz{{{|zz{yz{{zy{|{{{{z{y{zzz{z{{{{z{{{{z{{{{z{{z{{zz{|zy{z{zzxz{{{{{{z{{{z{zyz{z{{{z{|zz{zz{zz{{{zy{{{{{zz{yzzzzzyz{zzzzzzzz{zz{z{{||{{z{|zyzyz|z{{z|{|z{y{zz{{|zzz{||{{{zzz{z{{{{{{||zzz{{z{{{|{|{|{|{{|{zz|{z{{{z||zz{{{{zzz|||{{{|}{{|{{{zz{z{|{|{||{{{{zzz{{{{}||z{{|z{{{{{{z|{{|}|{z{z{zz|||z|||{|z{z{{{{|{|{||}|{z|{{{{{{|}|{||{}z{|z{{{{|||||||{{||zz{||{||{|{{{{{|{{{z{{{||{}||{||{{{{z|{{{|||{{{z{z{{|||{|{|{{{{{z{zz{|{|{|{{{zz{zz|z{{{{{{|zz{zzzz{z{{z{{|}{{zzzyzzzz{{{{|{z{z{zzzzz{{{|{||{|z{{zzz{zz{zz{{{{z|zzzzz{z|{{{{{zzzz{zyzzz{{z{|z{{{zzzz{{{zz{{z{z{z{z{z{zz{z{zzzyzzzzyzzz{z{zz|{zyzzyzzzzz{z{{{{{zzz{yyz{{|{z{|{{{{xzz|yzz{z{{{zzy{z{z{zz{{{{||z{z{y{zzz{z|{|{{{{zz|zy{z{|{z{|{|zyz{zz{{{zz{{}||{{|zzzzz{{||{{|{{zzz|y{{z|{{{{|{{{{z{{zz{{}{{{{{{z{z{{zz{||zz|{|{z{{|z{{{||||}}{{{{zz{z{|{{{z{||{{{z|zz{|}{|{{|||{{z|zzz||{{|||{{{{z{{|{{{{|||||{{z|{{{|{|||||||{z{|{{{{||||{}}|{zz{|{{{|{|{||}||z{{|{{{{{|{{|||{z{z{{zz{{||||||||z{z{{{|{|{{{{|{z{z{z{z{{{{{{|{{|zz|{zy{|{z{|}{{{z{{zzz|{{{z{z|{|{zzzz{{{|{{{{{zz{zz{zz{z||{|{{{{zz{z{z|{{|z{||{zzzzz{y{z{z|{{{{zz{z{y{{{{zzz{{{zzz{zy{{z{z{{{|zzz|zzzz{{zzz||z{zzz{{yzz{{|{{{{{z{yzyzzz{{z{{{zzzzy{y{{{zz{{|{|zzzzzzzzz{{{{|{{{zz{z{{zzz{{z|||{z{{zzzz{{|{|{{{{zz{{z|z||{{{z|{|{zzz{{{{{{{z{{{{z{z|{{{{{{{{|{{yz{{{{z{}|{{{|{{{{{{{zz{|{{{||{|{{z{{{|{{{}||{||z|z{zz{{{|{|||||{z{{{z{|{{|||||||{{{z{{||||{{|||{{{|{|{{{|||||||{{{{z{|{{|{||||}|{z{}||{|{{||{|{|z{{{{{{|||||}||{z|z|{z{|{{}{{||{{{z{{{z{|{{{||{}||{z|{{{|{|||}{{|{|{{{z{}{|{{z{{{zz{z{zz||{z{|{{z{z{z{z{{{{{{||{z{z{{zz{{{{||{{|z|zzz{{z{||{||{{{z{zz|y{|{{{{{{{{{zzz{z{|{|{{{{z{zzzzzyz|{z{{{{z{{{zzzz{{z{zzz{{z{z{z{{z|{{{z{z{zz{yz|z|z|zz{{{{z{zz{z{|z{{{{{{zzzy{zzz{{z{z{||{z{zzz{zz|{||{{{{z{z{zzz{|{|{|}|{{{z{z{{{||||{|{{z|{zz{z|{{z{|||{{{{{{zz|{{|{|{||{{{{z{zz{|||}{{||{{{z{z|{||{|}{zzz|{{{{|||{||{{{||zy{{{{|||{}}}z{{z{||{{{{}{|||{||zzz{|{}|{{|{||{{{|{{z|{|{|{||{{|{{||{||z|}||{}zz|z{|{|}{|}||{|{{{z{|{||}||||}|z{{{{{{||||||~|}|{||{z{||||{}{{{{|{|{{{|{|{|}{}|{zz{{z{{|{||{||{{|z{zz{{|{{{{{|zz|{z{{zz|||{|{{zz{z{{{zz{z{{||{{z{zy{zz|{{{||{{y{{zz{zzz{|{{{{{{{zzz{{z{{{|{{|{{z{zz{|z{z{z{{{{{{zz{zzzz{{z{{{{|z{z{zzz{{{{{{z|z{zzzzzz{{{{z|z|{y{zzzyzy{{{{|{z{{{z{{z{{{z{{{{|{{{z{y{zy{{|{{{{{{{z{z{z{{{|{{|{{{{zz{zz{z{{|{|||zz{|zzyz{{||z{{{{{{zz{z|{{{{{{{{{{zzz|{|{|{||||{{{{{|{{{|{||||{{zz{{{zz|||||||z{z{{zzz{{|{{{||{|{{z{{{{{{{{z|||z{{zzzz{{|z|{|||{{{z{{{{|{|||||{{{z{{{{{{|}||||}|||{{{{|{{||z||||{z|z|{{{}|||{||{{||z{{||{{}|}||{{{{{|{{||{|{||{{{z{{{|{|{||||{|{||{{{{{{{||{||{|{{{{{{{{{|{{|||{|{{{{z{{|{{|||{zzz{zzzz{{{{{{{{zz{{zzz{{{{{{{{{{{zzzzzyz{{|z{{{{{{{zzz{{{{z{{{|zzzzzzzy{z{{{|{{z{z{z{{zz|{{{||z{zzz{zzz{z{{{zzz{zzz{{z{zzz{{{{{zzyz{zzzz|z{{{|{{{zyyzz{{z|z{z{|{{z|zz{{z{{z{zz{zzzy{z{z{z{{y||{{{zzzyzzyzzz{{{{zzzz{{z{{{z|||||{zzzzz{z|{{{{{{|zz{{y{{z|{zz{{|{z{{z{zzy|{{||{{{{||{{{z{{{{{{{{{z{{z{{zzz{|{{{|||{z{z{z|{{{{|||{{{z{|{|y{{||{|||z{{{zz{{||{||{|{{z{|z|z{{{{||{|{|zzz{{|z|}||{||}{{z{{{{{{|{{{|{{|{z{z{{{{||{{||{|{{{{{{{|{||||}||zz{|{z{|{{{|{|||{{{{{}{{|||||||z{|z{{{{z{{{{{||{{z|{z{y{{||{||{{{{z{zz{{{||{{{|z{zz{z{y{{|{|{z{zz{zzz{|{{{{{{{{{zzz{{|{{{z{||{|{{z{{zzzz{{z{{{{z{zzzzzy{{{{z{{{{zzyzz{z{{{z{{|{{zzzzyz{{{{{{{{{{{{zzz{zz{zz{z{{{zzzzz{z{{{|{{{|zz{zzz{y{z{z|{{zzzzz{{zzz{{zz{{{{zz{zz{yz{{z{{{{{z{zzy{zzzz|z{}|zzz|z{{z{zz{{{{|zz{zz{{{{{|{z|{|{{{{{zz{{{{{z||zzz{z{{{z|{|{{|||{zzzzz|zz{{|{|{{z{{z{{{{|{{|{{{|{{z{zz{{{{|z{{|{{{{{{{z{{{||z{|{z{|{|{z{{{|||{}|z{|{{{{{{{||}}{|{|||{{zz||{|||||{z|{z{z{|{{{||}||{{zz||{|}|{{|{|{z{{{{{{|{{|||||{{|{{{{{|||{|{|||{{{||z{{{{|{{{|{{|{{{{{z|{|{{|||z{|z|{{{{||{{|{{|{{{{zz{{{{|{{|zz{z{zzyy{{{{{z{{{zzzzzz{{{|{{|{zzzzzz{z|z{|{{|{{zy{{z{{z|{{{y|{z{zzzyz{{{{{{{{zzz{z{zzy{{{{z|z{z|{z{zzz{z{{{zzz{{zz{zz{{{zzzz{|zzyzzyzzz{zz{z{{z|zzz{zyz{|{{{z{zz{zzz{zz|zz{{|{zz{zzzzyz|{{{z{{z{zz{zz{z{yzz|{{{yz{z{zzz{{z{{{{{z{zzzz{{|{|{{||{z{z{z|z{{|||{{{z{z{zz{{{{{{{{{{{{z{zzzzz|{z{|{|{{zz{z{{||{{{{}|{{y{zy{{{|{{{{||{zz{||{z{|{|{{|{{z{z|zz|{|{{{|||{{{zzyz{{|{||}||{zz{{{{z|||{{{||{{|{||{{{}|{{|{|{{{{{{{{{|||||{}{z{{|{{{{{{|{|||{{|{{{z{z{|{||}|{{z{{{{{|{{||{||{{{{zz{{{|||{|}{{{{{zz{{{|{{{{{{{{{y{zz{{{|{{{z{z{z{zzzzz{{{{z{|{zzzyy{z|{{{{|{|zzzz{{zz{|z{{||{|z{zyzzz{{{{{{{{zzzzz{{z{{{|{{|{{zzy{{{zz{z{||{{z{{zy{zz{{{zz|z{zzzy{zzz{{{{z{|{zy{zzzzy{{{zz{{{{zy{{z{zz{{|{|{{{zzzz{zyy{{{z{{|z{zzzzzz{z{z{z{zz{zzz{{z{zzz|{{{{{zz{{zz{z{|{z{{{zzy{zzz{{{{z{{|z{{zz{{{{{{{{|z{{zzz{{zz{{||||}{|{{z{{{{{{z{|{{{{{z{z{zz{||||{}{|zz{z{{{zz|{{{|{z{{{zz{z|{||||{{{{{y{{{z{{{|{|||{{{|{zz{{||z{|{}{z{z{{{{||||{{{|{z{{z{{|z{z||{|||{{z{{|{|||}||||{{{{z{{z}{|{{{z|{{z{{|{{|{{|{{||{|z|{{{|{{{{||{}|{{z{zzz{z|{{{|{{{{{z{{z||z{{{|{z{z{{zzz|{{{{|{|zzzz{{yzz{{zz{z|z{{zzy{{zz{{{|{{|{{zzz{yzz{{|{||{z{{{yzzz{{{{{||{{zzy{zzzz{{z{{|zzzzzzzy{|{z{||y{z{z{zz{|{{{z{{z{{{{zzzz{{{{{{|{{zzzzyzzzzz{{z{{{zz{zzz{{z|{{z{{zz{zyz{zzz{|{{{|zzz{zzyz{zz{{|{|{{zzzz{zz{{z{{{{zzz{{{zz{{{{z{|{zz{{zy{z{{z{{{{{{zz{{z{{|{{{|{|{z{{z{{{{{{|z{||{{{{|{z{y{|{{||{||z{||{{zz{{{{{|{{z{{z{|{{{|{||||{z|{{{{{|{|{{||{z{{{|{z{{|||{{|{{{{{{zz{{|}z||||{{{{{z{{|||||||}{{{{{{|{z{z}|{|{|}{{z|{{{{{|{|||||{z{{{||{||{|||{{{{{{|{{||{{{|}{{z{{{z{{{z|{|}{|{{{{z|{{}}{{{||{{zzzz{{{|{|{{{|{z{{yz{z{||{|z|{zzzzzzzyz|z{|z{|{{z{{z{z{{{z{|{{z{{zzzzz{{yzz{{{{zzz{zzz{{{{z{{{{{z{z{zz{{|{{|{{zz{zz{zzz|z{z|z{z{{z{zzy{z{z{z{|z{zzzzzz|{{{z{{zzzzy{yzzz|z{z|{{z{z{zzyz{{{{{{{{z{yzzz{z{{{{zz|{zy{zzzzzz{{{z{{|{z{{zz{zz{{{{{{{y{|{{yyz{{{{{|{{{z{zzz{z{{||{z{{{{{{zz{{{{{{{{{|{{{{z{{zz{|{{||{{z{z{z{z{{|{}{{{|zz{|{zz{||{{{|{|{{{{zz{{||{z|{{{{{{{z{{z||||{|{{{{{{{z{{{|{{||}|{{{{{{z|{|{||{||{{{|{{{|}{||{|}{|{{z||{||{|||{||{{{{z{{||{|{{|{{z{|{{{{|||}|{|||{{|{{{{{||{|||}|{{|{{z{||{||{{|{z|z{{{{{|{{{|}{{{|{z{{{z{{||{{{z{{z{{{|{{|{{{{{{{zz{z{zz{{{{z{zzz{z{zy{{{{{{|{{{{{zzz{{{zz|{{{|{z{z{zz{{|||{{||{z{zzzzz{{{{z|||{zzz{{zzzz{{{{|{zzzz{{zzz{|{{{z{{{{{zzz{z{{|{{{{{{zzy{zz{zz{z{{{{zz{zzyz{z|{{{{|z{zzzz{z{{||{{z{zzz{{zzzz{{z{{{{{zz{zyzzy{zz|{{|yzz{zz{yz||{{|{|z{z{|z{zz|{{{{||{zzzzzzz{{{{z{|{{{{zz{zz|{{|{|{{{{{|{zzz{|{{{{|{{z{{z{{{z|{||{{|{{z{{{{{{{|{||{{z{{z{|z|{{|}||{{{{{{{z{{|||{|||{{zz{{{{{{||||{{|{{{{{z{{{z{|}|}{|{{{{{{{||{|{||||||{zz{{|}|||{||{z{|z{{z|}||||||{z{{{{{|||{{||||{{zz{{{{||{{}||||{{{{zz{{||{{{{{{{z{zz|{{|{{{||{{{{z{zzz{{{{{{{{z{{{z{z{z|{{{{||{z{{{y{z{{z{{|{|zzzz|yzz{}zz{|{{|z{{{z{{{{{{z{{{{zz{z{zxzz|{{{{|yz|{{z{zz{{{||{z{|zz{{zz{|{{{|{zzz{zy{{z{zz{{z|zzzy{zyzy{z{{{z{{{{zzzz{y{{{z{{|zzz{{y{zy{{z{|{|z{zzzz{zzy{{yzz|{|{zy{z{zzzz{{|{{{yyzzzzz{{{{{||{zzzzyz{y{{{z{|{{{zzzyzz{{|{{{z|{{{zzz{z||{z{{||{{{|{{{zz{||{{||{zz{{z{z|{{||{|{{z{zz{{{{{{{{{{||{|z{{{{{||{|{||{|{{z{z{{||{||{||{{{z{{{{|{||{||||z|{|z{{||{|{}|{|{{{z|{{{|{{|{|||{{{z{{|{|}|{||||{{{z{{{||{{|{{||{z{{z{{|||||{}||{|{{{{||{||||||{{|{|z{{{|z{{{||{|z{{||zz|{{|||z{z{z{zzz{{{z{|{{{zzz{z{y{|{{{{|{{{|||{zz{{z|z{||{z{{{{zz{z{{z{{{{{{y{zzzz{|{{z|{{{{zzzzz{{{{{{{|y{{{{{zzz{{z{{{|{z{z{{zy{{{{z|{zzzzz{{{zz{|{z{{zzy{y{yzz{{{zz{{{{|yyz{zz{{{zz{|{zzzzzzzy{z{{{{{{{z{zzz{yz|{{{{{{z{{z{zy{{|{z{|{|{z|{{z{{{z{{z{||{{{z{zz{{{|zz{|{{{{z{{{{|{{|{{{||z|{zy{|z{||{{||{z{{|z{{||{|{|||z{{|z{z{|{|{{|||{{{{{{z{|{|{||{{{{{|{z}z{{||}||||{}{{{|{||{|{{}|{{|z{z{z{{}||{||}{{{{{{{||}|{|||{z|{{||{|||{}{||||{|{{{|{|{}}{|||{|z{z{|{|||{||||{{{{{|{{|{{|||||{{{{{{|{|{||{{}z|{{{{{z{|{{{{|||{z{{{{{|||||||{|{{{{{{{{z||{{|{{{{zzz{zz{{z{zz{zzzz{z{{z||{{{|z|{{zzxz{{{{{{|||{zzz{z{z{{{|{{||{z|{zy{{z{z{{z{{{zz{{zyy{{{{{{{{zzzyzzzz{{{{z{z{{{yz{{z{{{{{{{{zzzzzzz{zz{|z{{{{y{{{zzyz{{{z{{z|{z{zyzzz{z{{z{|z{zy{{{zzz{{zzz{{{{zzzzzz{z|{{{|{{z{zz{{z{{{{z{|{zzz{z{zz{{|{{{{{|z{zzzzz{|z{|{|{{yzz{z{z|{{||{{|{{{z{z{{z|z|{|{{{zz{z{{{z|{{{{{{{z{z{{{{||{{||{{{z{{{{{{{|||{|}|||{{|{{||}{{{||{{zz|zz{z|{{|{|}{{zz{|{|{|||{||||z{{z{{||{|{{|{|{{{|{|{{{||||{{|{|z{{{z{{{{|{||||{{{{{z{{{{{|||||{|{{z|{{|{|||||||{|z{{{{{|{{||||{zz{zz{|{{{{z{|{{{|yzzzy{|{{z{z{z{z{{|{z{|{{{{{||zz{|y{z{{{{{{{|zz{z{zyz{z|z|{{{{z{zzzz{{|z{{|{{z{zzzzzz{z{{{{||z|{y{z{{z{{zz{{{{yzyz{zz{|z{{|{{zz{z{{zz{{z{z{|{zzzzzzzz{{{z}|{{zzzzzzyzz{zz{{{|zzz{z{{z{{||{{{{zzzz{{{z{{zz{{z|z{zzzz{zz{{{{{{{{zzzz{zz{{{|{|{{zzzz{zz{{{{z{z{{zz{{{z{{{|{{z||}{{{zyzzz||{z{{{|z{zzzzzz{{{{|{{{{z{{zzz{{{|{{||||zzz{z{z{{|z{|{|{{{z|z{z|{||}|{|{z|{||{z{z{|{|}{|z|{{zz{||||||{||z{{|{{{{{|{|{{|||{zzz{{|{{{|}||}{{{z{{{{}|||{||{z|{{{{{{}{|{{{||{{|{z{{{|{{|}||{{|{{z{{{||{|||{{{{{z{zz{}{|{|}|||z{z{zz||{{|{{|{z{z{z{{{|{{|||{zzz{{zzzz{{{{z{{zz{{{zz{{{|{{{|{z{zz{zzz{{z{{|{{{{zzz{y{{{z{{z{{{zzz{zzz{zz{z|{{|z{z{{zzz|{|{|||{y{zzzzz{{{{z{|{{yzzz{zzzzyz{{z{zzz{zyzzz{{z{{{z{zzzyyyzz{{{{z{zz{{zzzzzz|{|{{{|{zzzzzzz{|zzz{{{|z{z{z{z{{{{{|{|z{z{{z{z{{|{{{|{z{zz{z{y|{{{|z|z{z{zzzzz|{{{{||{{z|{{zy{{{|z||{{{{{{{z{z{{{|{{{||{{{{{{z{{}{||||z{{{{{{z{{|z||z{|{{{{{{{{||||||{{{z{z{{{|||{{{|{{{|{{{|{{{|{}|{{{{{{{z{{|}|{||||zz{{|{|z{}|{}|{||zz|{{{||{|{|||{|{{{|{{{{|{|{}{||z{{{{{|{{{{||||{{{{{z{{{|{|}{{|z{{|{{y{z{{{|||{{|zz{{{{{|z{||{{{{|yzz{zz||z{{z{zz{yzy|z{z||{{{{z{{{{zzz{z||{|z{z{|zz{{z{{z{{{|{{z{|{zz{z||{{{|||z{zzz|z{zzz{{{|zzy{{{{z{{zz{|{{z{{zy{{zz{{z{|{{zzz{zzz{{{zzz{{{zzzzzzzz{{{{{{|z{zyzzzzz{{{z{{z{{{yzyz{zy{{{{{{}zzzzzzzzz{{z{{|{z{zz{z{yz{{{z{{{{z{{{|{z{{{{{{{|{{zz{zz{{z{|{{|{|{{z{z{{{{{||{{{zz{{{zzz{z{z{{|{{{{z{zzzz{{{{{{||{{|z{{z|{|{{{||{zzz{z{{{{|{{|||{{z{{{{{z||{}{{{{{{{{{{z||||{{{|{{{{{{z{{|||{|{{|{{{{{|z{|}{|{|||{{zz{|{{|{}|||}|{|{{{{||||||z}||{z{{{|{||{}{|||{z{|zz{{{|||||||z|{||{{|{{|||{|||z{z{{{z{{||{||{{z|z{{{z{z||{{||z{{{zzyz{|}{|{{{zyz{zzzz{zzz{{{|yzz{zzz{zz{{{{z{{{{zzzz{z{{{{|{|zzzzzzyy{{{|{{{{{y{{zz{z{zz{{z{{{{zzyz{zz|{|z|{{zzzzzzzzz{|zz{{zzyzyz{zzz{zzzzz{zzzz{yzzz{zzz{{zz{zzyzzzzzzz{{{{y{{zyzzyz{{{{z{{z{zzyyyz{z{yzzz|z|{yzzzyz{zzz||{zz{zz{zzzzz{{|{{zzzz{yzz{|{z{{{|{{{{zzzy{z{{z{|{zz{zzz{z{{{{{{||{{{{{zz{z{|{z||{{{zz{{zz|{{|{{{|{{{{{zzy{{{{{{{|{{{|zz{{{{{{{{|{z{|z{{{{{|{|{{|||zzzz{z{|{{||z|z{|z{{{{{{|{{{{{|zz{{{{{|zz{{{{{|{{{{{z{{||{|{{||{z|z{{{{|{|{||{{{{zz{|{{{{{{||{|{{y{{{{{{{{|{|{{{z{{zz{{{|{||||||{{zz{{z{{|{{z{{zzzz{{{z{{{z|{{{z{{zzzyz{{|z{z|{y{|{zzzy{{{{z{{{yz{z{{z{|{z|z{|{{zyzzzyz{{|z{z|{y{zzz{yzz{{{{{{|{{{{{z{z{{zz{{zzzzyzyz{zz{z{z{z{yz{{yzz{zz{{z{{{{zzz{zzy{zzz{zz{{zzzzzyzz{zz{z{{z{zzyzzzz{{{{{|z{zzzzzzzzz{{zz{z{zyzzyzzz{zzzzz{zz{{zzz{{{z|z{||zzzz{{zz{{{{{|{{zz{zz{{z{{|{|||{{{z{{{zzz{{z||{|{{{{{z{zz|{{z{||z{{{{{zz{{z{{{{|{{{{|{{{{{{{{|{{z{zz||{z{{|{||||{{{{|z{z{{{{|{|||zzz{zz{{|||{{|{|z{{{{{zz{|{|||||{{{{{{||z{|{|||||z{{{{z|}{{|||{{z|{z{zz|{||{|{|{{{{{{{zz{|{{|{|{{y{{z{{{z||{||{{{{z{y{zz|}{{{}{{{y{zzzzz{|{{{|z{zz{zzz{z{{|{{|{z{z{zz{z{|{zzz{|{{{{zyzz|{z{{{{{{z{z{zzzzzz{{{|{z{z{yyz{{{{{|{{{{z{{zz{yz{{z{{{{{{zzzzz{{{z{zz{{z{z{zzzz{{|{z|z{zzzzz{{z{z{{{{{{zzyzy{{zzz{{{{z{{z{zz{z{{|{z{{{{|{zz{z{zyz|{|{{{{z{zyyzy{{{{{zz{z{zz{z|y{{{{{{{{{y{{{zzz{||{{||{{zz{{{zz{||||{{|{{|z{{z{{|{{{{||{{z{zz{{{{|{{{{{{{{{{z{{{{{|||{{{z{{{{{{{||{{|{{{z{{{zz{|||{{{{||{{|||{|{{{{{|||z{{z{{|{|||||{}|{{{z{{{{{{|||||{|z{{{{|{|}|{{|||{}||z{||{{|||{{}|{|{{{{{{||||{|{|{{|zz{|||||{}|||{{}z|{{{{||||{|{|{|{{z{||{||z{{|{{z{{yz{{}|{{||{z{{zz{{z{{{|||{{z{z{zzzz{|{{{z{zzzzz{{{{|{{|{{{{{yzzzzz{{{{{{||{zzzz{zy{{{|{{{|{{{z{zzz{{z|{z{|{zzyzy{y{{||{{z{{{zzzz{zz{{z{z{z|z{zzzzy{{{{z|{{z{zz{zzz|zzzz{zzy{{zzyzz{{{{{z{zzz{{xzzzzzz{|{{{zz{zyzz{{z{z{{{|{zzzzzyzz|{zz{z{z{zzzzzz{{{{z{|{{z{zz{{z{z|z{{{{{zzz{z{z{{z|z{{|{{zzzz{z{zz|{{|{{{{zz|zz|z{{{||{{{{zzyzz{|{||}{{{{{y{{zzz|{{}{{|{{z{|{zz{||{{|{|{{{{z|{{{{|{|{}{|{z{{{{{|{||{|||{zz|z{{{{|||{|{||z{{{{{z|{||{|}|{{{|z{|{||{||{|||{{{{{{{{|||{}|{{{{z{{|{{|{||{}{|{{y{|z|{{{{|||}{|{z{{|{||||||||}{{z{z{z{||{{|||{zzz|{{z{||{{|||z{{z{zz{z{|{{||{{{z{{zzzz{|{{{{{zzz{z{zz{|{{{{|{{||{zz{{{z{|{{||{zz|{{z{{z{{zz{{{{zzzz{z|{||||{{z{zzzz{zz{z{|{{{{z{z{{zz{{{{{{{z{z{zz{zz{{z{{{{|{{z{z{{zz{{{{z|{{zz{yzzz{||{{z|zz{{{yzzz{|{{{{|{{{zzyzzyzz{zz{{|{z{{{{z|z{|{{{{zz{zz{{{z{z{{{{z|z{zz{zzz{{{|{{||{{{z{|y{{{{{|||{|{z|{{{z||}{|{{{{|z{{zz{{||{{}|{{z{z{zz||{|{{|{{{{{{{{z{{{{|z{||{{{{{zz{{||{{|{{{{{{z{|{|{||||||{{z{|{{z}{}|}||||{{z{{||{|||z|||{|{{|{{||{}{||}||z{{{|{{{||{}|}|{{|{{{{{|||}{||{|{||{{{}|{z{{|}|{||{{{z{||{|{}{|{|{z{{{{{|{{{{}||{{{z{{{{}{|{||{{|z|zz{z||{{{||{{zzzzz{z|{{{{{|{z{y{zz{z{{{z{|{|{{zz{z{z|{{z{{|z{zyzzz{zz{{{{z{{{z{zzzzz{{{{{{z{zz{zz{{{{{zz|{{{{zzyzz{z{{{{zz{z{{{z{{zz{{{{{zz{{yzz{{zy{z{{{{{{{zy{yz{zz{{{z{{{{z{z{{z{zz{{{{|{{zzzzzzyz{{z{{zz{z{zyzzzz{|z{{||zzzyzz{y|z|{{|{{|{{|{{z{||z||{{|{z{{zzzz{||{{z||zzz{{{{zz{|{{{z|{z{{|y{{{{|{{|{{|z{{{{zz|||{{||{{z{{{{{z{{{{{{{|{{{{z{{{{|||||||{z|{{{{{{{||||{|{zzz{{{{|||{|{|{{z{{{z|z|}|{|{|{{z{{{||{{||||}{|{{{{{{{||||{}||||{{{{{{{|{{|||}|{{{||{{{{|{{|{|||{{|{{{{|||||{||{|{{{z{{|{{|||}|{{{{z{z{{|||{{|{{z{{{{|{{|{|z|{{z{zz{z{y{{{{{{|{{zz{zyz{{z|{{{||{{zz{{zzzz{z{|||{{z{yzyz{{{{z{||zz{zzz{z{{||z{zzy{{zzz{y{{|zzz{|{zy{zz{{{z{z{{zz{{zzzzzzz{z{{{{{zzzz{z{z{|{{{z{{z{zz{{yzz{|z{{{{zzzyzzz|z{{{||{|{zz{zyz{zz{{{{{{{{zzzzzzz{{z{{{{{z{zz{yz{{|{{{{{{zzzz{{z{{{{|{|{{zz|zz{z|{{{{{{|{{{z{z{{{||{|{{{|{{z|zy{{{{|{{{{{zzzz{{z{{|{{z{|{{{{z{{{|{|{{||{|zz{{zz{{{{{||||z{|z{{{|{|{||{}z{{{z{zzz{{|{||}|{z{{|z{{{}{{z|{|{{{{{{|{{|{||}|||{{|{{{z|}{||||{{{|{{{{{|||||z{{{{{z{{{{{|{{||{|{{{{|{z{|{||||}|z{{z{zz{||{|{||{{{zzz|{zz||||{|{{{zz{z{z{||{z|z{zzzzzyyz{z{zz{|{{z{y{zzzzz{{{|{|z{{yzzzz{|{{z{{{{zzzz{y{{{{|z{{||zzzyy{zz{{|{{{{zzzyz{zy|{||{z{|{{{zzzzzzz{{{{z{z{{yzzzz|{zzz{z{zz{yzyzz{{{{{{zzzzy{{{z|{z{{{{{{zzzzzzzzz{{{{{z{zzyzzyzz{zz{z{{{{z{zzzzz{|z{{|{{zzzzz{{z{{{{|{{{zzzzz{{y{{z{z{{{zzz{zzzz{{{|||{{z{{{z{{z{{|{{|||{{{z{{{zz|z{{{{|{z|zz{z{|{{|{{|||{zz{{z{|||{z{||z{{{|{{z{{||||||zzz|{{|z|{{}{||}||{z{|{{|}|{|{}|{{{{{{|{{||{|{||{||{{z{{|||{||{z|{z{z|{|{||||{|||{{{{{{{{|{{|||||{{{|{|{{|{|{|{|{{z{{{{{{{||||||{|{zz{z{{|{{|||}{{z{{{|{{|{|{{{|z{{zzzzz|z|{{z{zzzy{{zzz{{||{z|{z{{z{z{z{{z{|{{|{zzz{{zzzz{{{{{{{z{yy{yy{{|{z{{z{z{zz{{z{|z{zzz{{zz{zzz{{{{{{{{zzy{z{zyy{z{z{{{{{zzzyzz{{z{{{{{zzzzz{zzz{{{zz{{zzzzzyzyz{{{{{{{z{z{zz{zzz{{z{z{{{z{z{{z{z{{{z{z{z{zz{{zzz}zzz{{{y{zzz{zyy|z|{{||{{zz{zz{{||{|{{|zzzzzy{z{|z{{|{||z{{{{{{{{{{{{{{z{{{zz{{z|z||{z{{z{z{{{{{|{{{||{{yz{{zz{{{|{{||{|{{{z{{z{z{{|{|{z|{z{{{z{||{||||{{{{z{{zz||||||||z{z{z{{|||{{{||{{zz{{{{|{|||||}|{{{||{{{}|||||||{{{zz{{||}|{||{{zz{|{{{{{{{|{}|{z{z|{{{{|{||||{{{zzz{z{|{|{{||{|{z{{{zz{|{{{{||{{{{zz{{zz{{zz{zzzz{z{zyz|{|{{z{zyzz{zzy{{zz{{|{{{zy{{z{zzz{{{{{{zzzzzzz{{{{z{{{{zzyz{yy{z{{{{z{zz{zzyyz{zzz{{zzz{zzzz{z{{zzz|{zzzzzyzzyzz{{zzz{z{zzz{zzz{{{z{{zyyzzz{yzz{{{zz{{zzzzxzzyy{{{{{{zzyyzzzzyz{zzz{{{{{y{z{{zzzzzz|z{{{yzzy{z{z{{{z{|yzzz{{{zz{z{z{z{{{zz{z|y{z{|z{|{zzzzzzzz{z{|{|{{{z{|zz|{{{|{z|z|zz{zzzzz{||{|||zz{{{zzz|{|||{|{|zz{{{{{{{{{|{|{{z{{z{{{z{{{|||{|z{{z{z{z{||{{||{|z{{{z{|{|{|{||{{z{z{{{z||{{{||{{z{z{|{{{||{|||{|{|{z{{|{|||{||{{zz{yz{{{|{||||||{{{{{z{{{|{{|{|{{{zzz{{{zz{{{||{|z{zz{{{{{{{{{{z{{z{zzz{{{|}{z{{{zyzzzyz{|{{{{{zzzyzzzzy|{|z{{|{{z{zzzyzzz{{{{{{zzz{zz{zzzzz{{{z{{{zzzy{{{{z{z{|{{zzz{zz{{z{{{z{yzzzzz{{y{y{z{zzyzzyz{zzz{{{{{{yzzzzz{z{|zzzz{|{zzyyzyzz{z{{{{{zzzyy{zz{z{{{y{{{{zzzz{z{{{z{zz|zzyyzzzyz{z{{{||{zzzzzzyz{|z{{{|{z{{{zzyzz|{{{{{{zz{zz{z{{{{z{{{{z{z{y{|{{z|{{{{|z{z{zz{{{|{{|{{{z{{z{|z{||{z{||zz{{{zzz{|{|||{|{z{{z{z{{||{{{||z|{|{z{{}{{{{{|||z{{{{zz|||{{||{{z{{{z{z||{{|{||{{{{{{{z{{|{}|}|z|{{{|z{{}{||{|{{{|{{z{{{|||{{|{||{{{{{{|||||||{{{y{|{z||{{|{|{|{{z{{{z{{{{{||{||{{z{{zz{{|{|||z{y{yzz{z{z{{{{{|zzzzzzzz{{z{z{z|{zzzyz{yzz{{{{{{z{zyzzyzzz{{z{{{{yz{yzzzzz{{zz|{{zzyzy{zzzz{{|{{zzzzzzyzy{{z{{z{{{{{zyyzzz{z{{{{{zzyzzz{zzz{z{{{zzzyzzzz{z{{{z{{{zyzyzyz{{{z{{z|{z{z{zz{z|{{{z{|{zzzzyzy{z{{zz{||{zyzyzzz|{z{{z{{zy{zyzzz{zz{{{|zzzzzyzzz|{{{z{{zzzzzz{z{{z|{|{zzyz{zzzz{{{z||{{|{{z|z{z{|||{|{{{{{{zz{z{|{{|{{{{zzzz{zz{{{zz|{{{{{zzz{z{{{|||||{{zz|{z{{z{{||{}{{z{{{zz{{{||||{|z{{zzz{|{{{||}}{|zz{{|{||||{||{|z{z|z{{{|{|{||||{{{{z{z|{||{{{{{{z{{{{{{{{|{|}|{{{{{{z||{{|{{{{zz{z{{{{{|{{{||||{{{{{z{{|z{{{|{{{{z{z{{|{{{{{{{z{zyzzzzz{z{z{{z{zy{zyz{z{z{{{||{{{zz{z{{z{{{{z{{{yz{zzz{z{zz{z{{zzz{zzzz|z|{{{{{z{zyz{zz{|zzzz{z{zz|yzz{z{{{zz{{zzzyzyzz{{{{z{zz{zzzyzyz||zz{{z{yz{z{yzzz{z{{|z{{zyyzxzz{{|zz{{zzzz{zzzz{zyzz{{{zzz{yzzz{z{z|{{zz{zzzyyz{{{z{|zz{zz{z{{{z{z{{{{{zzzzyz|{{{zz{{{{zzzzz{{{{{{{{{{zz{zz{zz{{{{{{{|{{{zzzz{{{||{}{{{zz{{{{{{{|{{{{{{{{{{{}{{{||z|{|{{|zz{{|{{{|{|||{z{{{{z{}|||{{{{{{z{|z{{{{}{||{{{{|{z{{|z{|{{||||z{{{|{{{}||{|{|{{{|{zz{{}{{{|||{{{z{{{|{|{||{}||{z{}{|{{z||||||{zzz{{{zz||{|{{|zzz{{{{{{z{{{{{|{z{z{z{y{{{y{{zz|zzzzzzzzz{{{{{{{zzyzyyz{{{z{{{|{zzzz{zy{{z{{||{{{{{zzz{z{{|{{|{{{yyzzzy{{{{{{{|zzz{z{zzzz{{z{{zzzzzzzzz|{{{z{{zzy{yy{yzz{z{{{{{zzzzyz{z{|{z{||{{{{{yzzzz{{z{{{{zzzzz{zyzz{{{||{{{zz{zzz{zz{z{{{{{zzz{yzz{z{{{{{zy{z{{zz|{{{{{|{zzzz{y{z{{|{{{{{zz{{zzz{{{z{{{{zzz{{zz{{{zz|{{{|{zz{{zz|z|z{{{{zz{z{{{{z{|z{z{|{{z{{{{{{{|yz{||{{{{{{{zz{{{{|{||{{|{{z|{{|{|{||||{z{{{{{{{||{{|||zz{{{|{}||{||||{{z{{{|z{|{|||{{}zz{z|{z|||||||||{{|{{z{|||{{|{{{|{{|{z{{|{|}}{|||z{|{{{{{{|z{{||{{z{z{{z{{{{{||{||{z{{z{|{{{{|{{{{zzyzz}||{{}|{zz{zzzyz{{{z|{{z{{zz{zyz||{{{z|{{z{yzzzz|z{|{|{|z|z{{zzz|{{|{|{{{{z{zz{{||{{zz{{z{yzzz{z{z|z{{|{{{z{{zzyz{|{{{{{{|{z{zz{{zzz{z{{{zyz{zzy{{z{{|{{zzzzyzz{{{{z{{{{zz|{z{zz{{{{{{||zzz{zzz{y|z{z{{|zzzz{z{z{z{{z{|z{zz{z{y{{z{{{{{{{{zz{zz{{{{{{{|z{y|zz{z{{{{{{||{{z{z{{{z{{{|||{{{|{z{z{z{|{z|{{{|{{{y{|z{}|{|{{|{{{{{{z|{{{{{||{{z{|{zzz{|{}{}|{{{{{{z{{|{||{|{|{{{{z{z{|{|{|||{|{{z{|{z{|{||||{{z{{{{{{{{|{{||{{{z{{|{{{||||}|{{{||||{||{||{||{{{{{{zz|{{|{||||{|{{|zz|{{{|||||{{{z{|{z|||{}{||z{{{z{|{{{|{{||{{{{zzy{z{{|z{{z|zzzz{zzzz{{z{{z{zzzzzzzzzz{{{{{{{zzyyzzzzz{{|{{|{zz{zzz{z{{{zz{{zzzz{{zy{{|{z{{|z{zzz{zzz{{{{|{{zyzzzzzz{{{{z{|{z{zyyyzz{{zz{{|{zzzzzyz{{z{zz{|{zzzzzzz{zz{z{|{zz{{zyzzzz{{{{z{|z{{zzzzzy{{zzz{zz{zzzzz{z{z{z{z{zy{yz{zzzz{{{|{{{z{z{z{z{{{{{{|{{z{{yz{y{z{{{|z{zz|y{{zz{{z{{{{{{{|{zzzzz||{{{{{{{{z{z{z{{z{|{{{z{{{{{z{{{|{{|{|zz{{{{{{{{||}z{{z{{z{{||{||||||||zz{{{{zz{}|||{|{{{zz{z{||{{{{|||{{{z{{{{|{{{{|||{{{z{{z|}{|{|||{{{{{{{zz{{{{||{{{{{z{z{z{|}{|||{zz{||{{{{|{{|||z{zz{{{{z||}{||{z|{|z{{z{|{{z{{{{zz{{zyz{z|{|{zz{zzzzzyz{{|{{z{|{zyzyz{y{z{{{|{zz{{zz{zz{{{{{{|z{yz{{{zzzzz{{{{{zy{yzz{z{z|zz{||zzzyzzzz{z|zz{{zzzzzyzzzzz{zz|{z{{yzyzzzz{{zz{{{yzzzyzzz{y{zz{{{zyz{{z{zz{zz{{{{zz{zzyzzz{z{{|{z{{zz{z{zz|{{z{{{{z{zzzyzz{z{z{|{zzzy{z{zzz{{{{{{zzzz}zz{z{z{z{{{{z{zzz{zzz{zz{{|{{z{{zz{z{{{z{|{{{|{zzzz|{{{|{{{zzzz{z{{{{|{{{|{{|{{{{z{|{{{{|{|{{zz{{z{z{|||{||{||z{{{|{{{||||{{|z{z{zz{||{|}|{{yz{{z|{||{{|||||{{zz{||||{||||{|{{{{{{{{}{{|{||{||{z{{{||{||||{{{z{{{{z{|||{|||{{{z|{{z|{|{{{{|{z{{z{zz|{|{{|||{{{{{{{z||{}z{|{{z{z{zzz{{{z|{z{zzzz{zzzz|{z{{|{{z{zzzz{{{|{{{{|{{zzzz{z{z{{z{|z{zz{zzzzz{z|z{{|z{zzy{zz{{|z{{{{zzzzzzzzzz{{z||{{z{zzy{z{z{{{{z{zzzzzzzzzzz{{{{{z{{zz{{zz|zzzz{{zy{yyzzzzz{{{|{zzy{zzzzz{{z{z{{{{zzzzzyzzzzz{{{{zz{y{zzzz{z{{|{{{zz{zz{z{zz{{{|{z{y{zzzzz|{|{|{{{{zzzz{{{{{{{{z{zzzzzzz{{{{z{|{{{z{{zz{zz}{z||{|zz|{{{{{{{{z{{|{{{{|yzzz{|{{|{||{{{{z{z{{{{|{||||{zz{{{z|{{{||{{{{|{zzzz||{{{||{{z{{zz{{{{||{|{{z{{zy{{|{{{||{|||z{zz{{|{}z{{||||z{|{{{{{{{|||{||{y{{{{{{{{{{|}||{z{{{z{|{|{{{{|{{{zz{{z{|{{|{|{|{{{{{{zz{|{{|{{{{{{zzzzz{{{{{{z{zyyzz{|z{|{{{{|zyz{zzy{{{{z||{|zzzyzzzz{{{z{z{{zzyzzyy{{z{zz{{{z{yzzzzz{{zzz{z{yzzyzzzzyzzz{{{{{zzzyzzzz{{{{{{{zz{zzzzz{zzzzz{{{zzyzzzyyz{zz{{{yzz{z{zzzz{z{zzzzzzzzzzzz{{z{{{{zzzz{zyzz{zy{z{{{zzyzzzzzzzzz||zz{{zzzzyzzz{z|{{zy{zzy{zzzz|z{zz{z{{zyzy{z{{{{z{zyzz{{zzzz{zz||{{z{y{z{zz|{{{{{{{zz{{zzz{{{z{z{|{z{zzzz{{|{{{{{z{{zz{{zzz{{|{|z|zz{zz{{{{{{{{{||{z{zzzz{{|{{{{|{{zz{z{{{{|{{|{||{z|zyz{{{|{|{||{|{{{z{{{{|{{{|}{|{|{|{zz{|||{||{{z{z{z{{z{|{{{|{|z{||z{||{z|||{||{{{z{zz{z{{{{{{|z{z{z{z{|z{{{{{zzzz{{z{{{{zz{|{z{zz|{zyy{{{{{{z{yzyzzz{z{{{z{{{{{zzyzyz{{z{{{z|zzzyzyyzz{{{zz{|{zzzzzyz{{{z{{z{zzzzyzzzzzzzz{{|{{yyzyzzz{{zz{{{{zzzzzzz{zz{zzzzyz{yzyyyz{zzzzz{zzzzzzzzzzzz{{z{{zzzzzzzy{z|z{{{zzyzzzzz{zzzy{{{zyzyyzzzz{z{z{{{{yz{{zzzz{{|z{{{{{zzzz{z{z{{z{z{zzzzzy|zz{{{|{{|z{zy{zzy{{{{zz|{z{z{zyzz{{{|z|{{zy{z{{zz{|{{{z|{{{{z{{z{{|zz{|z{{z{{{{z{||||z|{{z{{{{{zz|{{||{||{{zz{{zz{||{{{{{}zzz{{{{z|{{||||{{|zz{|{z|{{|||||zz{{{zz||{{{||{{z|z{z{{{{|z{|{z|zz{{zzz{|{z|||||z{{|yzz||{|{|{{{{{{{{zz{{{{|{{|{z{z{{z{z{{{|{{{{{|zzz{{z{|{{{|{yz{{zzzzzzz{{{z|zzzzzzyyzy{{zz{{zzzyyzz{{{z{{|z{{zzzyyzzzzz|{{{{z{yzzzzz{z{z{z{{zyzzzzyzz{|z{{zzzzzz{zyz{{|yzzz{yyzzyz{yzzz{zzzzy{zzyzzzz{zz{{|z{{y{zzzz{y{zz|{z{{{yzyyzz{z{zz{zzzyzzzyzzzzzyz{{zzyzzzzyy{y{y{|{zzz{{zzzz{{z{{{zyzyzzyzy{{{{{z{|{zzz{zzz{{{{z{|{zzzzzzyz{|{{{|{{zy{zzzzzz{||{{{{z|{z{zyz|z{{{{{{zyzzz{z{{|{{{{{{{zzz|z{z{|{{{{|{{{{{{z{z{{z{||||zz{{zzzz{{{||{|{|{{{{z{z|||{|{|{{{|z||{{z{z{||||{{z{{y|{{|{{{{{||z{z{{{|||{{{{|||z{zz{{{z{{{|{{|{|{{{zy{{{{{z|{|{zz{{zz{{{{|{{|{{{zzzzz{{{zz{{|{{z{z{zyzz{{z{z{{{yyzzyzzy{{z{{z{z{yzzzzyz{{{{|{{z{zz{{zz{y{{{{|{zyz{zz{{zzzz{z{{{z{yzzzy|{{zz{z{yyzz{zy{z{zzz{zzzzz{zzyyzz{{{{{z{zyzzzzz{|zzzzz{zzyz{yz{{{{{{z{{zzzz{yyzy{{zz{{{zzzzzzzz{z{zz{{zz{zzzyyxyzzy{zzzz{zzzzzzz{{{z|{{{{zyzyzz{|{{{{|{{{{zyzzz{{zzz{|{{{{yyy{zz{{{{|{{zz{zzzzzz{zz{{||{{{z{{zz{zz{y{{zz{{z|zz{{z|z{{|z{zy{yy{z{{{{||{{{zz{{{z|{|||{{|{{z{z{z{{{z{{{|{|{{{z{{zy|{||{}{||x{zzz{z||{{|||}{|{{{{|{|{|{|{{{|zzz{z{{{}{|{{||{z||z{{{||{{{{||{z{{{{{{{{|{{||||{zzzz{{}{{||{{{{y{zz{{|z{|{|{{|z{zzz{zz{|{{{{{{z|{zzzyzz{z{{{{{zzzz{yzzzzz{{{|{zzzzzzyy{|{{{z{{{zzzz{{z{{{z{{{z{{yyy{zz{{{{{{{|{zz{zz{z{z{{{{|{zzzzz{yzz|zz{||z{zzyzzzz{{{z{|{{{y{yzzzz{zz{{{{|zy{{zz{zz|{{{{|zzzz{zzzzzz{{|{{{{z{z{zzz{{z{z{{{{zz{zzzyy{{z{|{{{zzzzyzz{{{{zz|{zzzzzyzz{{z{{{||{z{{zz{{z{{z{{{|{{z{zz{{{{{{z|z{z{{zz{z{{{|z{{|{{z{{zzz{{z{{{{||{z{zzzzz{z{{z{|{zzz{z{zz|{|{z|{|{{z{{{zz{{|||||{{z{{{{{{{{z{|{{{{z{{z{z{{||||||{|zz{{{|z|{{{{|||{{{{z||{||{{||{||z|z{{||{|{{{{|}{z|{zz{y{|||{|||{z{{z{{{||{{|||||{{z|{z{{{{{|z}{{{{z{{{{{|{{{{|{{{zz{{{z{|z||{{z{z{zzzy{}{{{|{{{yyzyz{zzzz{zzz{{{{zyzzzz{z{z{{|y{zyzz{{z|z{{{{{{zyzy{zzzz{{{{{{{z{yzyzzzz{{{{{z{{zyz{zzz{{|{{z{{{zyzzyzzzz{zzz{zzzzzzzzyzz{{z{{{y{zzyzzyy{{{z{{yzz{zz{yz{z{zz{{z{z{zzzzzz|{{{z|zzzzyz{{{{zzzz|z{z{{yzz{y{{z{y{{{zz{zz{yyzz{{{{{{{zzzzy|zz{{z{{{{|y{zzz{z{{{{|{|{zz{{zzzz{{{{{{{|{{{z{z{z{{{|}{||{{zyzyzz{{|{{{{{{{zzzz{{{|{{|{{|z{{z{zzz|{||{|||{{zz{{|z{|{{||||{{{{{{z{{||{{{}{|z{{{{z{{||||{|{z{{|{{{z{|{{{{|||zz{{{zz{|||||||{z||z{{{|{||||||{zy{{zz|{|{|{|||{{{{{z{{{{|||}||zz|zzzzz{z||||{{{{{{zz{|{{{{z{|{{z|zy{{z{zz{z|z{{{zz{zzz{{{{{yz{{z{{zzzz{z{zz{|{zz{y{z{z{z{|z{|{zyzzzz{zzz{{zz|||zzzzz{y{{{{z{{{{z{zz{zz{{zz{{{|{{{zzzyz{zzz{{{zzzzzzyyz{zz{zzz|zyzzzzyy{{{{{z{z{z{zzzzzz{z{z{{{{zzyzzyz{{{zz|{{{{zzzy{zz{{zz{{z{{{{yzzyz{{z{|{{xz{zzzzz{z|zz{|{z{zzzzz{{z{z{{{{{z{{{zz{{|{{{{{zzz|z{y{zy{z|{|{|{{{{{z{{z|{|z|{|{{{{zzzz|{|{{{{{zz{{z{z{{{{z{{{{{{z{z{|{{{{||{|{{zz||{{{|}|{{||{{{|{{zzy|{|{|||||z|z{{{z{}|{{{|}{{{{{{||{|{|{}|||{{{{{{{||||{||{|{{{{z{{{||||||{{{{z{{{{{||{{{||{{{z{{{{||{|||||{{{zz{{z|{||{{|||{z|y{|{{{|||{||{{{z{zzz{{{z|zzzz{zy{z{zy|{{{{{{zyzzyyzz{z{zz|{|{{zyzzzz{{{zz{zzzzzzzzz{zz{{z{{{zz{yzy{y{z{{z{z|zzzzzzzz{{z{z{{z{{{zzyzz{{{z{{{{zz{yzzy{zzz{{{{{zzyzz{zz{{{z{{{z{z{zyyz{z{{{{z{{z{zzyzzz{z{z{{{{{{zzzzyy{zzzz{{zzzzzzzyzz|yz{{{{zzy{zzyz{{{||{{z{{{{zzzzy{{z{{||{zzzzzzz|{{{z{|{y{{{z{yz{zz{{{{|{{z{{{zzz{{{|{|{{z{z{zzz{||{|{|{z{{{zzzz{|{zz||{||{{{{{{{{{||{{|{zz{z{{{z{{{z|{|{{{{zz{z{{|||{{{|zzz{z{{|}{{z{|||z{|{{|{{}{{{||}{zz{z{{{{{|{|||{|z{|z|{{{||{{||||{z{zz|{{{{|{{||{{z||z{{||{|z{|{{{zzzz{z{{z{{|y|{{|zzz|{{}{{{||{{{{zzzz{{z|y{{{{z{zzyyzzz{{|z|z{{z{z|yyy{{z{||{{{zz{zzzzyz{z{{|{{zzzzzz{{{zzz{{z{zzyzz{yzzz{zz{{zz{zzz{zz|zzz{|yzzzyzzzz{zz{z{z{{{yyzzyzzz{{zz{|zyzzzzz{zzz{{{z{{xzzzzzzz{{z{{{|z{|{zzzzz{{{z{{zzy{|zzzzzzzzz{{{{zzyzzzzz{zzy{{{zy{z{zzz{{{{z|z{z{zzzzzyz|{{z{{{{zzzzz{z{y{{{{{|zz{zz{{z{|{{z{|{{z{{{zz{{{{{z|{{z{{{{{zz{{|{|{{{|y{{{z{z{{|z{{z|{{|{{{{z||{|{{{{z{{{{|{{{{|{z||}|{{{{|{{||{|{|{|{{{{{z{{|{|||{|{{{{|{{{|z}||{|{{{{z{z|{z||||{||{|z{|{z{{|{{{{{{|}zz{|zz{{{{{|{{||{z{{z{{{|||{{|||zz{z{{zz{|{|{{||{{{{{{{{|{|{z{{{{{z{z{{{{|{z{z{zzzyzzzzzzzzz{{{{zzzzzyz{z{yz{z{zy{yzzyy{{z|{{{zzzzyzzz{zzz{y{z{{z{yyzyz|zz{{{z{z{zyzzzzz{zz{{{{{zzzzzyz{z{{y|{{z{yzz{yyzzyyz{{{zyzzyzyyy{zzz{{{zzyzyyzzz|z{z{{{zz{zy{zy{zz{z{{{{zzy{z{zyzzz{{{{{zzzzz{zzz{{{|{zzz{zzzz{{|{{{{|{zyzyzzzz{{|{z{z{{{{z{zzz{z{{{{{{zz{zzzzz{{{{zz{|{zzzzyz{z|{|{|{|z{yz{{z{|{{z{{|{{zz|{z{{{z{{{|{{{z{{{{zz{{{{{{{{|{{z{z{{||{|{|}{{{{{{zz{|{{|{{|||{{z{z{{|||{{|||zzz{z{{{{|{|||z|{z{{{{{|z||{{||{}{|{{{zz|{|}{||{{z|{|{zz||{{|{{|{{{{{{{{{{|{{||{{{z{{{{{{{{{{{||{z{{zz{z{z{{{{|z{{{z{zzz{{{{{{{zyzzzzyzyz{yz{{{{z{zyzyy{{zzz{||{z{zzzzzz{z{|{{|{zzy{zzz{{z{{z{{zzzyzzy{yz{{{{{zz{yzzzzzzz{zzz{{z{zzzzyzyz{|zz{z{zzz{y{yz{zz{zz{zzyyyzzzzz{{yz{{zzyzzyyyzzz{{{zzyzyzzzyzyy{z{{{z{z{zzzx{z{{z{z{zzzzzz{yyyzzzz{zz{yz{{z{yzxz{{zz{{zzzz{zzzz{{{z{{|{{{{yzzz{zz{{|{zzzzzz{z{zzz{{z{|zz{zzzzzzzz{{|z|zzz{zzyz{||{{|{{{zzzz{z{{{{|z}z{{zz{zzz{{{{{{||{{{{zz{{{{{{z|{||{{{{{{zz|{{|{{{{{z{z{zz{{{}{{{||{z{{z|{|{z|z|{{{{zz{{{{zz{{{{{{{|{|{{zz{{{{{{||{zzz{{{{{z{{|{{|||{zz{y{z{|{{{{|{z{{z{z{{{|{|{{||{{zz{z{z{|z|{|{||{{z{{z{{|{||{zz{xzyzyz{z|{zz{{{z{zyzzzzzz{zz{{{z{zyzzzyzzzzz{{|z{zyyyyz{{{zzz{{{zz{yzyyyzz{z{{{zzzzzyzzz{zz{z{{{zzzzyzz{z|z{{{zzyyzzzyzzzzyz{{{zzzzzyxzzz{zz{{|yyzzzzyzy{{{|z{{{yzzzzzyzz{{z{{{zzzzzy{zzz{yz{{{{zzzzzyyzzzzz{{{zzzz{zyz{z|z{{{|{zzy{yzzzzz{{|{{{{{{{z{{z{{{z{{|yzyyz{yzz{{{{zz{zzz{zzzz{{|{{{|z{z{z{{zz{{{z{{||zz{{yzz{{{z{{{|{{{zz{{{{{{{|{||{zzzz|{{{|{{|z{||{{{|zzzz{{{{||{|zz{z{zz{z{{{{|||z{{{{{{{{z{{{|{{{{z{z{z{{||}|{||z{|{{z{|}{{||{|{{zz{z{zz{|{{{{||{{{{{{{{|z||{|z{{zz{{zzz{|{{||||{{{{z{zz{{|{{{{{{{{{|zzz{z{{|{{{z|z{zz{y{{|z{{z|zzzz{zyzy{{{{z{{zz{yzzzy|{|z|z{||zz{z{{zzz{{z{|z|z{yzz{y{zz{{zz{{{zz{z{z{z{{{|{{{zzzyzyz{{|{{{{{z{zz{zzzzzzzz{{{y{zz{{{z{{|zz{{{z{zz{zzzzz|z|||{zz{{zzyzz{{zzz{{{{zyzzzz{{{{{{{{{{zzzy{zz|{|{{{zz{z{z|{y|{{{{||{{{yzzyzz{{{{{z||zz{zzzzz{z{z{|{{{zzz{{{{{{z{|{|z|{{z{z{z{||{{{|{zzz{zzzz{|{|{{|{{{z{z{{zz|{{{|{{{zz{{{{{{|{|{|||{{|{|{z{|{||{|{}{{z{z{zz{{{||{|z{{{{{{z{}{|||}}}{{|{{{{{|{|{{}|{{{{{|z{{{||{|}||{z{{z{{{{|{||||{|{{{z{{{{{z{|{{{{{{{{{{{{{||||||{{{{{zz{{{|z|||{{{{{zz|zz|{|{{||{{{{z{{{{|{{{{{{z{z{zzzz{z|{{z{|zzzz{yzz{z{z{{{z{zzyyzz{{z{{{{|zzzyzyzyz{{||z{z{{zzyxzzz{zz{zz{{{zzyzyzzzzzz{{{z{{z{{zzzzz|z{zz{zyzyzyzzzzz{z{{{zzyz{zyzzzzzzz{zzyzyzyy{zz|{{{{{{zzyzzyzz{{{{z{|{yzz{zzz{{{zz{{{z{zz{zz{zzz{{{{{{z{z{z{y{|zzz{{{zz{zzzyz{{{zz|{|zz{{{zz{{{{zz{||zy{zzz{{}zz{{{{{{zzz{z{{{{|||{{|{z{{{zzz|{|{{{{z{{{zzzzzz||z{|{{|{{z{{z{{{||||||{{{z|{{{|{{{{|{{{z{{{{{z{{{|{}{{{z{{z|{z|{{|{|||{{{{z||{{|{{|{}|{z{zzz{z{}|z|}|{{{||{|{|||{{{|{||{{{{{{{{}|{|{{|{|z{{{{{|{{|{{{|{{{zzzz{{|{{{|{|{z{{{|{{{{{|z{{{|{zz|{z{|{{z{z|{zzzzzz{z{z{z{z{|z{zzzyz{z{{{{zzz{zzzzzzz{z{z{z{zzzz{yzzzz{{{{{zzzzzzyzzzz{z{z{z{{z{yzzzzz{{{{{{{{z{zyzzz{z|{z{{zzzzyyzzzz{z|{{z{y{yzyzzzzz{zz{{{{{zzyy{z{z{{zz{{zyzzzzzzz{{{{{{{zzzzzyyz{{||zzzzz{zzyzzyz{{{z{|{yzzz{{yzz{zz{{{{{y{zzz{zz{z{{{|{z{{zzzz{{z{zz|{{{{y{z{z{z{zz{z||zzz{{x{{{{{|{{z|{{{{{zzz{{||z{zz{zy{zzyz{|{{{z{z{{{|{{|z{|{{|{|{z{|z{{{{{|{}|}||{{{{zz{z{|{{{{{||zzz{{{z{||{|{{|{zzz{{{{{{{||||{{z{{z{zz{|{|{{{{||||{{{{{|{{|||{{z{{z{{{|{{{{|||{{{zz{zz|{{|||{}{{{{zzzz{{{{{{{{{{{z{{z{{z||{z|{zz{zzzz{{{{zz|z{{z{zzzz{{z{z{{|zzz{yzzzzzz{z{{z{{zz{yzzz|{{{{{{{{zzyyyzy{z{|{{|}z{{zzyzyz|z|{{{{{zzz{zzzz|{{z{|{{z{z{zzzz{{z{z{zz{zzzz{yz{{zz{{{zyzyyyyzz{{z{zzyzz{zzzyyz{{{{|zzzzzzzzzy{{{zz{{{zz{zzyzz{zz{z{z||{zz{yzzz{z{{{z{zzz{z{zy{{{{{{{{|zz{zyyz{{{{z{{{{zzzzzzz{zz{{|{{{z{z{{{z{||z{{{|zzz{zz{z{{{{{|z{z{{|zzzz{{{{|||z{{z{z{y{{z{{{{|{{{zz{zz{{|||{|{{{{zz{{{{{|||{|{{{{{|{z|y{{||{|||{{|{|{z{|||{||}{{{{|z|}|{||{||{||{{{z{{z||{||||{|z{z{{zz|||{|||z{zz{{{{z|{{{||{||{{{{{z{|{{||||{{{z{z{{{{||{z{}{{{z{z{zz|{{{{{{{{zzzz{z{|{{{{{zzz{zyzzzy{{|z{{{{zzzz{zz{{{z{{|{{z|zyyz{{{{{{{{{{zzzyzzyzz{|{zz{zz{zzzyzz{{{{z||{zzyzz{zzz{{{zz{z{{zz{zzzz{{zzzzzzyy{z{zz|zzzz{{{zzzzzzzzy{{z{{|{zzz{y{zz{z{z|{z{zz{zzzz{z{z|z{z{{{zzz{zzyz{zz{{{{{zzzzzzz{yz{z{{zzzzzzzy{z{z{{{{{zzz{zzzz{}|z{{|z{{zzzzz{{z||{||zzzzzzzz{{z{{{{{{zzz{y{z{|{{|{{{{{|{zzz{{z{{z{{{{{z{z{{{{{{{{|z{{zz{z{{z{{{{{{||{|{{{{{{||{|{z}|{{z{zz{z||{{{{}{|{{{{{z{{}{{{|{{{{{|{{}||{{{||||{z{{z{{{{|||||~{{z|{{{{{|{{|{||{{z{{{{{{{{{}||||{{zz{{{{{|||}{|{{{z{{z{z{{z{{{{{|z{z{{z{z{{|{{|{|{{z{z{{{{{{{}z{{{zz{z{xz{{z{z||{y{zyzyyzz{z{|{{z{yzzzzz{z|{{{{|{z{yzyyy{y|{zz{{zyzzzyzz{z{{z{{{yzzz{y{z{{{zzz|z{zzzzyzz{zz{{{{zzyyyyzz{{yz{z{z{zzzzzyyzz{{yyz|zzzzzyzzy{z{zzz{{zzzzzy{zz{z{z{{zzzzz{yzyzzzzz{{z{{zz{zzzz|z{zz{{{{zyzzzyz{zzz{{{z{zzzzzz{z{zz{{|{zz{zy{zz{zz|{{{z{zyzyz{{{{{{|{z{{z{z{zzz|{{{{{|zzzzzzz{z||||{{{{y{{{zy{||||{{|{{zz{{zzzz|{{|{{{zz{|{|z{{|||{{|}{zz|zzzz|{{|{z{{{zzz{{{z||{{{{{|{{z{z{}{|{|{}||{|{zz{{zz{|z|||{{|z{|{{z{|{{|{{||{{z{zz{{{{{{{|||{{yz{z{{||{||{|{{z{z{{z{{{{{{{|{{zz{z{{z{{|{{{{{z{{zzz|{z{{{{zzzzzzz{zzz{zzz{z{{{zyz{zzz{{z{{{z{zzz{zzzzzz|z{zz{{z{zz{y{{zz|{{{{{zzzyzzzzzz{z{y{zzzzyzzyyzz{{{{zzzyzzzzzzzzz{zyz{zzzzzzyz{z{z|y{zzy{{zzz{zz|{z|zzzyzyyzyz{{z{{{{zzzzzyzzz{{yz{{z{zzyzzzzzz{zzz{{zzzyzyzy{{zzz{zzzz{z{{z|{zzzzz{zzyzzzzzzz|zz{z|zzz|zzyzz{z|{z{z{yzzzzzzz{{z{{|{zzz{|zy{z{|{{{{|{zzz{zzzz{{{{{z{|{{{{zzzz{|{{|{|{{{zz{{{{{{{|{{{|z{{{z|{z{{|{{}{|{z{zzzz{{{|{||{{|{z{{{zz|{||z{|{{{{z{|z{{{{{{|{{|{zz{zzz{{{||||{{z{{{zz{{{{||{{{{yzz{{zz{{{{{{|||{zz|zz{{|{|{{||z{{z|z{zzz{{{{|{{z{{zz{{{{|{|{{zzz{y{zzz{{|{{{{yz{yyzzzy{{{z{|z{zzzyzzzz{{{zz{{zzzzyzzzyz{{zz{{zyz|zzzzz{{{{z{zzzzzxyzzzzyz{z{{zzxzyz{zzyzzzz{{{zyzzzy{y{z{zyzy{zzzz{yz{zzz{{{z{zzzyzyzzy{z{zz{{y{zzzzyyzz{z{zzzzzzzyzzzz{{{zz{zzyz{zzzyzzzz{{z{zzzzzzzyyzzzz{{{zzzzzyzy{z{z{|}{zzzzzz{{{{|zzz{|z{{yzyzz{{{{{{{{{{yzzzyz{{{{{{z{z{zzzzzzy|y{z{{{zz{zzzzzz{z{{y{|zz{yzzy{|{{{{{z{{{{{z{{{{z{{{{{|z|y{z{|y{z{{|{{|{zzzzzz{|{{{{{||||zz{{{z|{{{||||z{|{{|{z{z{{{|{{{z{{z{z{{|{|{{{{{z{z{z|z|||{z|{{|z{z{|z{{{{z{{||{z{z{z{z|{{|||||{{{{{{z{{|{{{{|{{{yzzzzzz|{{{{{|zzzzzz{z{z|{zz{{zy{{{zzzz{|z{zz{zzy{yzyzz{z{zz{{z|zyzzyz{{|{{{{zzz{zz{zz{zz{zz{{zyzzzz{z{{{{{{z{{zzzz{{zz{z{z{zzzzzz{zzz{{zzz{{z{zzyzzyyzzz|z{{|yzy{zzzzz{{{|z|y{{zzy{z{zz{z{{{zy{{z{zzzz{{|z{{{zzzzzz{zy{{zz|{{zyzyzzyzz{z{zz{{yz{zzzzzz{{{{{|{{z{z{{zz{{{{z{|{z{{y{yzz{{{{{|{|z{z{y{z{{|{z||{{{zzz{zzyz{{z{{{{{{z{{{z{{{{{{{{{{{{{zzz{|{|{{{|{{z{z{zz{|{||{{||{{{z{y|{|{{|{|{}{z{z{{{y{{||{{|{{zzz{{{z|}|{{|{{{{{{z{|{{{|||{|||z|{z{z{{|z{{||{|zz{zz{{|{|{{||||zz{{{z{{|{{{||{{z{zz{{{|{{{{|||zz{{{{z{{|{|z{{{z|{{{zz{z|||y|||{zyzzz{{{{|{{{{{{zzzzz{zy{z{{{z{zzyzzyzzy{{{z{{{{zyz{y{zy{z|zz|{{yzzzyyz{z|{z{z{{zzyyyzzz{zzz{{{zz{z{{zyz|{z|z|{{z{yzzzzz{zz{{{{zz{zyzy{zzzzzyy{zx{zzyzz{{z{zz{z{zzzyyzz|zy{{|zzyz{yzyzzzzy{{|{{{{zyyzzyzzzz{{{|zzzzzzzz{z{{z{{{zyzzy{zzzz{{z{|z{yzyzz{y{z{z{{{{{{yzzzyy{z{{{{{|z{{zzzzz{{{{{{{zz{{{{z{z{z|z{|{{zz{{z{{z{{|z{|{z{yzzzzz{z{|{z{{z{|{{{zz{{|||{{|{z{{{{z|{{|{{{{{{{z{{{{|z{||{{||{|z|{{yzz{|}{{{|{|{{{{{{z{||{||{{|z{{{z{{{{{{z{|{{{{{{zzz|z|{{|{{|z{z{{{{{{{{{{||{{z{|{z{||{|{{{|z{{zzz{zzz{{z||||z{zz{{zz|z{{{{{z{zzz|zzzz{{{{{|{{{zzyzzz{zz{{z{{{zzzz{{{{|z|{{{|zzzy{yyzzz|zz{|{{{zzzz{{{{{z{|{{zzzzz{{zz{{{{{|{zzzzzyy{{{z{{{z{{zzzyyz{{{{{zz{zyyzzzz{{zz{z{{{yz{yzzzyzz{zz{{{yzzzyzyz{|z{{{zzzzyzyzzzyzz{{{{|zzzy{yzzz{z{{{{{{zzyzzzzyz{zz{{{yz{{{{zy{zz{{{z{z{zzzzz{z{{z{z|{z|{{zy{zz{{{{{{|{zz{zzzzz|{{{z||z{{{{zzz{{{{{{z{z{zz{{zzz{{{{|z{{{{{{zy{||{{{{{|{zzy{|zyz|||{{|{{{{{|z{{||{{|{||{|{{{zzz{||{}||{{|{{|{z{||{{|||{{{|{|z{|{||z|{|||{{z{|{{{|{{|||||z{{{z{}{{|{{|{||{z|{z{{{{|z|{|{{{{{{{z|{|{{{|||{{z{{{z{{{{{{{|{|{{zy{{z||||z||{{{{{zz{z{{{{{|||{{z{z{{z{|{{||z{{zzzzzzz{|{{{{||z{zzy{zz{{{{z{{{{z{z{yz{{{z|{z{{{y{zz{zy|{{{z{z|zyzzzz{z{z{|z{{zzz{zzz{zzz{zzz{z{z{zz{z{{{{z{{{|z{zzzzzzz{{|z{{z{yzzzzy{zy{z{z|{z{{z{{z{z{z|{{{{yzzz{y{zz{z{{{z{{{{zyzzzz{z{|{{{zzzyzz{{z{{{z{||{zzyz{zz{||{{{|{zzzzz{{{{z{{zz{{z{z{zz{z||{{{z{{{z{{{zz{{{z{|{|{{{{{z{zz{{|{{|{z{{{{{zz{{{z{z|{{zz{{{{z{{{|||||{{{{{{z{{{||{||{|{{y{{{{{{{{||||||{{{{{|{|{||{|}}{{{{{{{{{|{{||}|{zz{z||z{{||{||||||{zz{|{{{|{|{|{{z||z{{{{{{{{||{|z|z{z{{{|||{{||{{z{zz{{|{|{||{{z{|{{{{z|{|{|{{z{zzzzy{{z||{zz|zzzzyyzzz{{zzyzzzzyzzz{z{{{z{{|{zzyzzyyz{zz{{{{{zy{zyzy{zz{{y{{zzz{yzzyy{{{zz{z|zz{zz{zy{zy{z{z{zz{zyyyzz{{zz{zzzzzyzzzzz{{{{{{{yyzzyyzy{z{zzz{z{z{zzzyy{zz{zzy{{yz{zzyzz{{z{z{zzzzzzzzyz{z{zzzz{zyzzz{z{{z{{{zzzzzzz{{y{z{z{z{{{{zzzyzz{{{z{{{{{{zzyz{z{{{zzz{|z{{zyzzzzzz{{{{{zzz{zyz{{|{{{|{{{z{zz{zzzz{{z{{{{z{{{zz{{{{z{{{{{zzz{{{{{{{|{||{z{zzzz{{|{{{z||{{{y|{{{zz{|{{{|{{z{|{{{{|||{|{||z{z{{|{{{|{z||{}|{z{{{zzz|{{{{{{|{{|{z{z{zz{{}|||zz{z{zz{{{{{{{{z{zzzz{||{zz|{{{{z{zzyzz{|{{{{|{{{zzz{{{{{{{z|||z{zzzz{z{{z{zyz{zz{zyyyzzz{{{{z{yzyyyzzxzzz{{|{{zzyyzzyz{zz{zzz{{yzyzyzyzz{z{{z{zzzyyy{yzyz{{zz{zzzyzzzyzzzzy{{{yy{zzzzz{zzyyzyzz{yyyyxzzzyzzz{zyyzyyzyz{zzzzz{z{zzzyyyzz{{z{zzzzzzzyyzyz{zzzz{zzyzzzyzzzzzzyzz|zyzyzzyyzz{yyzz{zzzyyz{yz{{z{{{|{{yyzzyz{zzzz{z{z{{zzz{zzzzzzz{|zzzzzy{yzz{zzzz{{zzzzzzyz{{{zz{z{zzzyzzz{z|zz{|{zzzzzyzzz|{zz{{{yz{z{{zzz{{{{{{zz{zzyz{y{z{{{{{{{z{{{zzz{{zz||{{{zzzzz{z{|{{{{||{z|{{zz|z|{{{zz|{z{{z{zzz||||{{z|zz{zz|{|||{{{{z{yzz{zz{z{zz|{||{zzy{{{z{z{z{{|{{{{y{yzzz{zz{{||{{|{z{zz{{{{{{{zzyyyzy{yy{|z{z{{z{yzyzyzz|{{z{z{{zz{zzyz{z{{zz{zzzzzzzzy{z{z|{{z{yzyyyy{z{zzz|{{{zyyzzzzzz|{z|{{zzzz{zzzy{{zzz{zzyzyxzyy{z{yzzz{zzzyzzyzyyzz{{{{zzzzzz{yy{zzyzzzzzyzyzyz{y{zz{{{{zyyyyzz{zzz{{|{z{zzzzyzzz{zzzzzzzzzzzzyzzzzz{{zzz{yyz{y{{z{zz{zyz{zzzz{z{{z{z{{{zz{zzzzzz{{z{z{z{zzyzzz{z{z{{{|zyzzzzz{{{{zz{z{zz{z{zzz{{{{|z{{zzz{{z{z{|z{z{|{zzzzzz{{z{{{{{{{zzzz{z|{{{{{{|}{{z{{{z{z|{{{{{|{{zz{{zzz{{{{{z}{|{{{z{z{||{{{|{{{z|{{{zz{{z{|{||{{{{z{{z|{{{{{{{{z{z{z||{{{{||{|{zzz{{zz{{{{{{||z{{z{z{z|{{|z{{zzzzz{yz{z{z|z||zzy{zzyyz{{{{zy{zzzzzzzzy{z{{{z{zzzzyzzyyz{zzz{z{zzzzyzzzz{zzz{z{{zzzzyyzzyz{z{z{{zyxyzz{zz{zzzz{yzzyzzyyzzyzz{zzzyzyyzyzz{{zz{zzzzzzyzyzzzz{{{{zxzzzzzyyz{z{z{{yzz{yy{y{zzzz{z{{{zy{yyyzy{yz{{zzyzyzyyzyzyzzyzzzzzzyyyyzyzzzz{{zzzzyzzyzzz{{|{{{zzzzzy{zzz{{yzz|yzzz{yzy{{{zz{{|{zzzyzzzzz|{zz|zzzzzzy{zy{|{z{{{{yzzzzyy{{{z{z|z{{zzzzzzz{|zz{z{zz{z{z{y{{{|||{{z{z{y{{zz{|{|{{{{zz{z{yzz{|||||{{z{z|zzz{{{{{{|{zz{z{{{|z{{{{|{{|{z{zzz{{|{|{|{|zz{{z{{{z{{{{{{z{{{{zzz{z{{{{{||{{{zz{{zz{{|{|{{{{{z{{zz{{{{{|{{zz{zzzzzy{{{{{{|zy{zzzzzzz{{{zz{zzyyzzyy{z{zz{{{zzzzzyyz{zzz|z|{zzzyyz{z{z{{{zzzyzzyyyzy{{z{{{{zz{zzzzzy{z{z{{z{yy{zyzyyy{zzzz|z{z{zzyyz{zzyzzzzzzyz{yyzzzzzzz{zzzyyzyzzz{{zzzz{{zzzzzy{zzzyz{{z{z{zy{zyzzzz{z{z{zyyzyyyzz{z{|zyyyyyyz{zy{zz{zzyzzyzyzyz{{{{{{z{zzzyzzzzzz{zzzz{z{zzyy{y{zz{z{{{zy{zyzzzzzzz{{|{zzzz{zzz{{{|{z{{zz{zzz{z{{z{{{{z{y{z{zz{{{{{z{{{{zyz{{{z{{z{{{||z{{{{z{z{{{{{{z{{z{{zzzz{{z{|{{{{{{{zzz{{|{{{|{{{z{{z{{{z{{||{{{|{zzzzz{z{{{|{{{{z{{{zzz{{{{{|{{{zzzzzz||zz{{{{|{|{{{{{{{|{{{{|{{{{y{zz{z{{{{{|{{{z{zyzzz{{{{|{{zz{z{zz{z{z{{zzzzzzzzzzz{{{zzz{{zzyzzyyzz{yyzzy{zzzzyzyzz{z{{{zz{{zy{zyzyzzzzy{zzzzyyzzy{z{{z{{{yyzzzzyyzz{z{{{zzzzyyyzzzz{zyzzzzzzyyyzyyzzz{{zzyyzzzzzy{zzzz{{y{yzyzyyzyzzz{z{zyz{yyxyzz{zz{{z|yzyzzx{yzzzzz|{yz{zzyzzyzzz{{{{zzzzyzyzz{z{zzz{{yyzz{xzzzz{{{|{{zzz{zyzz{zzzz{z{zzzzyzzzz|{yz{{{zzzzzzzz{zz|{{zzz{{yzzzz{{{z{z|{zzzz{yzz{{{{{{zzzzyy|{{z{{|{z||{{{{zz{|{|{zz{{||z{z{zzyz{{{{||{{{zz{zzzz|||||{{{{z{zz{{{{|{zz|||{z|{z{zzz{{{{{|{{{z{{zz{{||||{{{{{z{{y{{z{{zz{||{{zzz{z{z{z{{|{{{z{z{zzy{{{{|{{|{y{{z{{{{z{z{{{zzzzyyyzzzzz{{{{{zzzzyyzyzz{zz{{z{zzyzyyzz{{y{zz{zy{zyyzz{zzzz|z|zyzyzyzzz{|zz{{{zzzyyz{y|zzzz{y{zyzzyzyzz{zzy{{zzyzyz{zzyy{zzzzzzzzzzyyzyyy{zz{{yyzzyzzzzz{zzzz{zyzyzzyy{{zzz{{{zzzyzyyzz{z{z{zzyz{zyyyyzzzzzz{zzzzyzyzyz|zzy{zzzzzyzyzzzz{{{z{zz{{z{zzzz{z{{zzz{y{yzyz{zy{|{{{{{{zyzz{z{zz{{z|z{{{z{zzz{z{|z{{{z{y{z{zz{|zz{{|{{zz{zzzzz{zz{{{{zz{{zzzzz{{||{{|zzzz{z{{{{{z{|z|{z{z{zzz{{z{z|{z{z{z|zz{{{{{|{{{zz{{z{z|z{{{{||{{{{z|{{z{||{|{{{|zz{zz{{|{|{{{{{{zz{yzz{|{{{{z{||{{{{{z{{{{z{{{zzz{zzz{z{{z{z{{{{z{{zz{z{{z{{{|{{|{zzzzz{z{zz{zzzy{zzyzyzz{zzyzz{zzzzyzyy{zz{||{yzyzzyyy{{{z{{{{zzzyzzxyzz{{zz{z{zzyzyzzz{y{{zzzz{{zzzzyzz{{zz{zzzzzzyzz{{{zz{z{yzyzyzyyzzzzzzz|xzyzzzyzzzzz{{{{yzyyyyyzzzyy|{{zzyzyyyyzz{zzz{{{zzyzyyzzzzzzzzzyzzzzz{yyy{y{z|zzyxzyz{zz{{zz{{zzzzzy{zzzzz{yzzzzzzzzzzzzzzzzz{z{z{zyzzyzzzy{{{{{{yzzzyzz{{zzz{yzzz{zzzz{{{{{{z{{{{z{zzyz{{zz{{{{zzzz{zzyz{z{||{{{z{{z{{{{|{{z|{{{zz{zzzz|{{z{|{|{zzz|{{z{{{{{{{{{{{zz{{zz{{{|||{|{{zz{zz{|{|{{|{{z{{{zz{{{{{||{{{{{z{zz{|z{{||}}{{zz{yz{{|{{{{|{zz{y{zzz{{{{|{|||{z{zzzz|{z{{{{z{z{zzyzy{{{{zzz{zzyzzz{zz{zzzz{{zzy{yyzyz{z{{{z{zzyyyzyy{zzyzz{{zyzzzzzyyz{zzz{|zzzxyzzy{{zzz{z{zz{zyzzyz{zyzzzy{zzzyyyzzz{zz{{zzyyyzyyzzyz{zzz{yzyyyzzyyzzz{zzzzzyyyzzzzz{zzzz{zzyzzyzxzz{{zyzzyzzz{yzyyzzzzz{{zzzyyyyzzzz{zz{{zyzzz|yzzzzy{zzzzyzyzyzz{{z{{{{{zz{zzzyzz{{z{zz{zzzzzzzxz{zz{z||zz{zzyzzzzz{z{{{zzzzz{zz{z{{z{|{{zzzzzyz{zz{{z{|{zz{{zyz{{|{{{{zz{zzy{zy{|z{{|{{zzzz{zyy{z{{{z{z{z{{{zzz{{{{zz{{{zzz{{{{{{|z{{|||{{zy{zz{}{|{|{{zz{z{y{zz{{z{{{{{z{zzzz{|{{z||{|z{{z{zz{z{{z{{{|y{{zzzzz{{z{{{|{zzzyz{zyy{{zzz{{zz{yzzzy{zzzz{{zzzzyyyyyz{{zzz{{zyyzzyxyzy{yyzzz{yzz{zzzzyzzz{zzzzzyyzzzzzzzzz{z{zyyzzzyzzzzzyy{yz{zzyyyz{zyz{{zzzzyzyyzzz|{yzzzyyyzyyyzzzzyzz{z{yzyzxyyzyzzzzzzzzyyzzxyzzzzzzzzyzyzyzyyz{z{zzzzyyzzzzyx{zzzzz{zzxzzzyyyyzzyz|{{yyyzyzzz{zzzzzz{yyzzzzzyyzzzz{z{yzyzyyzz{zzz{z{zy{zzzzyy{zzy{{{{zzzzyy{y{{{z{{{zzyzzyyzy{{zzz{{{zzzzyzzz{zz|{z{zy{z{{zy{z{z||{|{zz{{z{{z|{{|z{|{{{zzz{zy{|{||z{{{zz{{zzzz||}{{{zzzyzzzz{{{{{{|{{{z{{{z{{{{{{{{{||z{{zzzz|||{{|{{{zzz{zzzz{{{{{{|zy{{{{zzz{{|{|||zzzzzzzyzz{z{{{|{zzzzzzzz{{|{{{{zzzzzyzz{{zzzzzzz{yyyyyxyz{zz{z{yzzzyzyyyzzzz{{{zzyyyyyzyzzzzzz{{xzz{yyz{{zzzz{{yzyyyyyyzzzzzzz{zyzyxzz{zzyzz{yz{yzyzyyzzz{yyzz{zyzyyyzyzyyzzz{{{yyzyyzyyzzyz{{zzzzzzzy{zy{z{zzzzyzzzzyzz{zzz{zzzyz{yyyzzzzz{|{zzyzzzzyyyzz{{zzzzz{zz{yz{{yyzz{zyz{yzyyyyzzzzzz{{zyzyzzz{zz{z{{{zz{zzzz{z{{zz|{{z{zzzzzzz{z{zzzzzyzz{zzyyz{{|{{{zzzz{{zz{z{{yz|{zzzz{z{yz{z{{{{{{{zzzzzz{{{zz{{{zzyzyyzzz|{{|{z{{zzzzzzz{|z{{{|{{zzyzz{{{{{{{{{|{{{z{zzz{{{|{{|||z{z{zzz{{{z{|{{{z{{zzz{z|{{{{|{{{yzzyz{|{z{|{||zzzzzzzz{{{z{{{{zzz{zzzzz{z{zz{{zyzyzzzzz{z{{zzzzzyyyyyzy{|zz{{zzyyzyzzz{{zzz{z{{zyzzzz{{zyzz{z{zzz{yzzyyzz{zzz{{zyyyyzyzzzzzz{{zz{yyyzy{{zzz{{zyyyzy{yzz{{yzz{zxzzyyzzz{zzz{zz{zyzyzyzyz{zyzz{{zzz{zzyyzzz{zyz{zzzzyzyzzzz{z{{zzzzzzyyzz{y{{{{yz{yzzyzyzz|{zz|{{zzzzz{yz{{{zz{{{zzy{zzzz{zz{zz{zzzzyzzz|zzzzzz{zzzzzzz{zz{z{|{{zzz{zz{zzzz{z||zzzzzzzzzz|{{{{|{{zzzy{{{{zz{{z{{z|zzz{{z{{z|{{{}{{{{z{zz{{{{{{{{{z{{zzzz|{z{z{|{z{{zz{zzz{{|{{|{{{z{y{{{{{{{{{|{{{{{zzzz{||{{{|{{z{{zz{{|z{|||{{{{y{zyzz{z{|{|||{{{{{zzz{z{|{{||zzzyzzzz{{{|{|{{{{z{y{zz{{{zz{{zzz{zzyz|zzz{zz{zzzyyzzzyz{{z{z{{y{zyzzyz{{zz{{{{zzyzyzyz{zz{{{z{y{{yzzzzzz|zz{z{zyzzzyyyzy{{z{zyz{zzzzzyyzyzy{zzzzzzzyzy{z{zy{zzyzzyzzyzzzzzyz|zyzyyzxyzzzz{zz{z|zzyyyyzyzzzzz{zzzzzyzy{zzyy{z{zzyzzzzzyzz{{y{zzz{yzzzyyz{zy{{z{zzzzzzzxz{yzzz{|z{zzyzyzzz{z{{{{{z{yzzzz{{zzz{{{yzzzzzzzz{zzz|||zzzzzyyyzzz{{{z{z{{zz{zzz{{{{{{{{yzzzzy{{{{{{{{z{{|{z{zz{{{{{{{{{z{zz{zzz|{{z{{|{z{zzzzz{{|{z{{{{zz{zzy{{{{{|{{{{{zz{{{y{|{z{{{|{{{{{zz{{|{{{|{z{{{{{z{{||{{{{{{{y{zyz{{z{{|{{{{|{z{{{{z{{{{{|{{z{{zz{{z{{{{{{{{{zzz{y{z{{{{{{z{zzz{zz{y{z{zz{{zzyyyyzzxzzz{zz{zzzzzzzzzzzzz{{{{{zzzzzzxzzzz{{z{zzzyzzzzz{{z{z{{{{zyzzyyzzzzz{z{zzzyzzzyz{zzzz{yzzzyyyzz{{{zyzz{zyyzyzyzyzzz{zz{yzzzzyyzz{z{{z{zzyyyyyzzzz{{{zzz{zzzzyyyzzzzyz|{zz{{{zzz{{{yzzzzzzyyzyzyyzz{zz{{zzzyyzzyzz{zzz{{zzyyzyzy|z{z{}z{yzz{zzzyzzzzz{{{{yzzzzzzzy{{{zz{{yzzzz{zzz{{{z{zz{yz{{zz{|{{{{{{zzz{zzzz{zzzz{{{z{zzz{zzz{{{{{{{{zz{z{{z{z{{|{z{{yzzz{yzz{{|{|{{{zz{zz{z{{{{{{||zzz{{{{zz{{{{{|{{{{{z{zz{}{|{|{{{z{{zzz{|{{{{|{z{z{z{{z{z{{{{{||zzzzzz{{{{{{{|{{|zzyzz{{{{z{|{{{{{{yz{zzz{{||{{zzzzyz{zz{{z{{{z{zzz{yyzyy{{zy{{{zyzyzz{yyzzz{zz{z{zyz{{y{zzz{{{{zy{zyzyy{zy{zzy{zzyzyz{y{{z{z{{zzyzyzzzyz{zz{zzzzyzyzyzyzzzyzz{zzzzyyzyyzyz{yzz{zzzzyy{zz{zzzz{zzzzzyzyzzzzzz{{zzzzzyzzyyzzzz{{{zxzyzzxyzy{y{zzzz{yyzyzy{z{zz{{zy{{zyzzy{zz{{y{|y{zzyzzyz{z{{{z{zyzzzz{zzzz{{{{{z{{{zyzyz{{z{z{zzzz{{yzy{z|{|{zzzzzzzzzz{z{{{z|y|{zzzzz{{{|zyz|z{zzzz{zz{{|{{z|zz{z{{z{{{{y{{z{|z{zzz{yz{|{|{|{z|{z{yz{{|||{||{{{z{{{{{z|{{{{||{{{zz{z{{z|||{{|}|zz{zzz{z{{{{{{z{z{z{zzz{zz{{|||{{z{{{z{z{{|{|{|{{{z{zz|{zz||z{|{{{z{{{zz{{{z{|{z{{zzyzzzy{{{{{z{yyz{yyzzzzz{z{{zyzyzzzz{zz{z{zzyyxyzyzyy{z{{z{{zyzyzyy{y{z{zzzz{yyzyzzy{zzzzz{{zyyzzzzyzy{yzz{zyzyzzzzzzz{zz{{{{zyyyyzyzyzzzzz{zzzyyzzy{{zzzz{zzz{yzzyyyz{z{{{{yzyzz{yzyzzzzzz{zyyyzyyzyz{{z{{{zyzyyyzyy{zzz{{{yyzzzzzz{zz{zz|zzzzzyz{zz{{{z|{|{zzz{z{zzzz{{{{{zzzzyyzzz{{zz{{z|z{yzzzz{z{{y{|{zzzyzzy{z{{zzz|{{{zyzzzz{||{z{{{{{{zzz{{{z{{|{{|zzzz{zzz{{{||{|z{z{z{zyz{{{|{{{{{zzz{z{z{z{{{{{|{{z{zz{{z{{{{{{||zz{{|z{{||{{{{|{zz{z{zz|{{{y|{z|{zz{{{{{{|{{{{|{{{{{{zz{{{{{|{z|zzz{{zzz{z{z{{zz{{zz{yzz{z{{z{{zz{zzz{yzz{z|yz{yyzzzzyyy{y{y{z{zzzyzxzzyzzzzz{zzzzyyzzzyyzzzz{{yz{zzyzzzzz{{{z{z{yzyyzyzzzzzzzzzzzyzyyyz{zzy{zzyyzyzyyzyzzzzz{z{zyxyyy{z{zzzzzzyzy{yyzyz{zy{zz{zzzyzyzyyzzzzzzzzzzzyzzzy{{{{z{|yzyyzyzyz{zz{zz{zzyyyyyyz{zzzzz{zyzyzz{yz{z{{{{{zxz{yxzyy{z{{zz{zzz{yyy{{zz{y{zzzzz{z{{{z{{zz{zzzz{z{yzy|{{z{z{zy{{{zz{z{z{z{z{{zyyy{zzz{{{zz{{{{z{y{y{y{{{z|z||zzzzzz{{|{{{z{{{{y{zzzzzz|z|{{{z{yzz{zzz{{{{|{{{{zz{z{z{{{{{{||{|{zzzz{{z{||||{{z{{{{{{{{|{{{{{|{zz{zzzzz{{{z{|{|yyz{{zz{{|{|{{{z{zyz{{z{{z{zz{|{zzzzyz{y|{{y|{zzzyzzyzzyz{z{zyzzyy{zyyyy{zz{z{zyzzyzyyyyz{{zz{{zzyyyzzyzz|zzz{zzzzzzzzyyyz{zz{|zyzyyyyyyyzzzz{{zzyxyxxyz{zyzz|{zzyyzxz{zyz{z{zzzyyyxzzzzzzyzzz{yzyyyyzzzzyzyzzyyyyyyzzzyz{yz{zzyzyyyzzzzzzzzz{{zz{zyy{yyyzyzz{yzzzzyyzyyzzyz|z{xzzz{zzyzz{z{z{zzzzzzzzzz{zzyz{zzyzzzyzy{{zzzzz{zzyyzyyz{z{zzz{{zzzz{yyzyzzzz{{{zzzy{zyyy{{{{{{{zzz{yyyz{{zzzz{{{z{zzzzz{{{{{{{{yz{{zzzz|z{z{{{{zzzzzzzyz{{{{z{{{zzz{yzz{{{{{{{|z{zzzz{{z{{{z|{|{z{zzzzz{{|{{z{z{z{zzzzz{{{z{{{{{{y|zzz{z{zz{{{{z{zzzz{{yz{z{|{{zzzzz{zz{z{{|{{{zzzzzzzy{{z{zz{{zzzzy{{zzz{z{zzzyzyyyyyyzzzzzy{zzyzyzzxzyy{zz{{zyzzyzzyyzzz{zzzzzyzyzyxyz{zzzzzzyyzzzy{zzzzzz{{zyzyyyyyyy{{{zzzyzzyzyzyyyzzz{zzzzyzzzyyzzzyzyzz{yyzzxyzyyz{zzz{z{yzzyzzz{zzzzzzzyyzzxzyyzzyzzzzzzyzyyxzx{{zyyz{{zyzyzyyyzzyyzyzzxyzzzzxy{{zzz{z{zyzzzzyyzzzzzz{{yzzyyyzz{{z{{{z{zzzyzx{yzz{zzz{{zz{zyyzzzz{z{{z{{zzyzzyyzz{{{y{z{yzzzzzzz{{yzzz{{zyzzzzz{{{|{|{{zzzzzz{z|zz{z{{|zyzzyzzzz|{zz{{|{yzzzyzy|{{z{{{{z{{zz{z{{{z|{{{z|zzzzzz{z{{{|{{{{{{zzzzz{|{{{{{|{z{zz{z{z{zz{{z|{zz{zyyz{{{{{|{|yzzyzzzz{z{z{{||zzz{{zzyz{{zz{{z{yzyzyyzzz{yzzzzzyzyzyxzyzzzzzz{yzyzzxyzzz{zzzz{zyzxzyzyy{zzz{z{zyzzyzzyzzzzzz{{zy{yyyzyzz{{zz{{zyzyzyyz{zzyy{{zzyzzzyyy{zzzzzzzzyzyyyyzzyz{zzzzxyzyyyyyyzzzzzzzzzzyxzyyzzzzzyzzzyzwxyyyy{zzzzzzzzxyyyyxzyzzyzzzzzzzzyyyz{zzy{z{yyzyzyzyzzzz{zz{zyzzzxzzzz{zyz{{zzzzzyz{zyzzyz{zzzzyzzzzzyz{zzzz{zzzzyyz{zzzzz{zzyzzyzyyzz{zzz{y{z{yzzzz{zzz{{{y{yzzzzzz{z{{{{{{zzzz{zzzzzzz{{|{yzzzyzyy{z{{y{{{zyz{zyzzz{{{{{{{zz{zzz{z{{zz|{{{{{zyy{zz{{{z{{{{{z{zz{z{{{{{{{{z|y{z{zz{z{zz{{{||zz{{zzzz{{{{{|zz{zyzy{zzzzz|z{{{z{zyyzyy{z{z{{zzyzzyyzy{z{z{{zzyyyyyzyyyzzz{zz{zyzzyyyzzy{y{z{|zzzyzyzyz{zzzz|zyyzzzyxyyy{|zz{zzzzyzzyzz{{zyzyzzzyxyyzyyzyzzz{zzyzyzyyyzyzyz{zyzzzyxyzyzyzzzz{zzzzyyyzzzzzz{zzzzzzzyzzyyz{z{yzzyyyzyzzzzzzzzz{zzyzyyyyyz{zyz{yy{zzzzyzyzzyzz{z{zyzyzzzzyzzzz{z{{zzzz{zzzzyyyz{{zzyzyzzzz{z{zzzzyzyzyzzzzyzzzzz{zzzzzzyy{zz|{zz{zzzzzzzyz{{{z{zzzz{{zyyzzzz{{|{zzz{yzzz{|{z{{||{{zzzzzzzz|{z|{{|{z{zzzyz{{{z|{|zzyz{{z{{{{{z{|{{{{{z{{z{z|z{{{|{{zzzz{{z{{{{z{z{{z{zzy{z{{z{{{{|{zzzzzzy{zz{z{{|{{z{{zy{{{|{{{{|{zzzzyz{zz{{zzz{{{zzzzzyzzz{{||zz{zyyzzyzz{{{{y{yzyyzy{zyzzyzyz{yzzyzzyzzzz{zzz{zzyzzzzyzzzz{{z{{yyyzyzzzyzzyz{{zzzyzyzyzzzzzzz{zyzyyzzyz{z{z{zzzyyyzyyy{zzzy{zzzyzyzzyyzyzzyzzzzzzyzzyyyzzzzzzzyzzyy{yyzz{yzzz{zyyzzzyy{{{yzzyzzzzyyyyxyzzzy{zzyzyyzyyyz{zy{{z{zz{{zzzyzzzzy{{zzzzzzyzzzzzzz{z{{zzyyyyz{y{zz{{{zzzzzzzyz{{z{{{zzz{zzyzzy{z{{|zzzzzzyzzzzz{z{z|zzzzzz{zz{z{zz{{z{zyzz{zz{{{{|zz{z{{z{zzz{{z{z|{z{z{zzyzzz{|{z{{{{{z{{{{{{zz{{{|{{{zzz{zz{|{{|{{||z{{zyzzz|{zz{{|zzz{z{zy{{{{{{{|{{z{zzzz{{zz{z{{{{z{z{zz{z{{|{{{z{{z{zz{{|zzzz{{z{z{zzyyz|z{{z{zzzzzzzyyzz{{{zzzz{zzyyyyyyzzzzy{zzzzyzyyyz{zz|z|{zxz{yzzzyz{zz{z{xyzzzyyzz{{yy{zzyzyzzyy{zyyz{zzzzyzyzyzy{zzzz{{zyyzzzzzz{{{{zzz{yzyzyyzzzzzzzzzzyzzyzzzz{zzzzzzyzyzyyyyyzzz{z{z{zzzyyzxzy{z{z{zzzzzzyyzzzzzz{|zzzyzzyyyyzz{{zzzzy{zzzzz{|yz{{{y{zzyzyzz{zzzz{z{zz{zzyyzz{z{z{|{x{{zyzzy{{zz{{{{yyzz{z{y{zz{{|z{zzzzzyzz{|{zz{{y{zz{{zz{|z|zz{{z{z{{{{zz{{|{{{{{z{zzzz{z{{{{{{{{{zzyzzyz|{{{{{{{zyyzzzzy{{{{{z||{zzzzz|zz{{{|{{{|{z{zzz{z|{{{|{|{zz{{{zz{{|{{|{{{yz{{{zz{z{{z|{{{zz{{{zz{{{{{{|{{z{z{zz{{{{z{z||z{zyzz{zz{|{zz|{z{zyzzzz{z{zzzz{yzyz{zzzyzzzy{{{zzzzzzyyyzz{z{{{zyzzzzyyzyz{z{z{z{zzzzzzzzzzz{z{yzzzyzyyzzzz{|z{yzyyzzzzz{zyzz{zzzzzzyyzzz{zyzz{zyzyy{zzzzzz{zzzzzyyzyzyzzz{z{{{zzzzxzyyzz{zz{{{yzzzzzzyz{{zzz{{yzyzzyzy|zz{zzz{zyzzzzzyyzzzy{zzzzzzzzyz{{z{z{{{{zyzyzzyy{{y{{{{z{zzyy{zz{y{{{{{zy{zyzyzz{z{zz{{zz{z{yzyy{zzzz{{z{zzz{zz{{{zz{|{z{zzzy{z{{{zz{{{{zz{zz{{{{{{{|zzz{{{{{{z{{z{{{{{zzy{zzy{{zz{{zz{{zz{{z{z{{{{||||z{y{z{zz|||{|{{|{zz{{{z{{||{{{|{zzzzzz{z|{z|{|{|{{zz{z{z{||||z{{{zz{|z{{{{{|z{{|zz{z{zzz{{zz{{{{{zz{z{z{z{{|{z{{|{zzzz{{{z{{{zzzzyzyzy{xz{{{z{zzyzzy{zyzzz{{{{{zzyzyzz{zzzzz{{{{zzz{yyyx{{{{zzz{yyzyyzzxzzzzzzz{zz{yyyzzz{zzz{{zzyzzyyyyzzzzy{{{zyyyyzyzzzzzzz{zyzyzyyzzzzzz{{{{zyzyzyy{zz{zz{zzzy{zyzyyzzzzz{{{yzzzzyzyy{{yzz{zzzzzzyyzzzzyz{z{zzyzzzzzy{z{z{|{z{zzzzzzzz{yzz{|zy{yzz{zzz{{{{|{zyzzyyz{z{z{zzz{y{zzzzzyz{{z{{{z{zzzzz{z{{{{z{{zzz{z{{yzzz{{|{{z{{zzz{zz{z{{{{|{zzzz{yzzz|{{z{||{zz{zyzzz{|{{{{z{z{z{{zzz|{{|{|{zzz{zz{z{{{{|{{{{{{yzzz{{|||{{{{{zz{zzzz{zz{{{{|{z{zz{zz{|z{{z{|{{z{|{z{|{{|{{{|zzzzzzz{|{{{{||{{{zzz{y{{{{{y{{{{zzzzyyz{z{{{zzzyyzzyzzxz{{zzz{{yzyyyyzzzyzyzzzzzzyyzyyyzy{zzz|{yyyzyyyzzzz{yz{{{zyzzy{yzzzzzz{zzzyzyzzyz{{{zzz{z{yzyzyyzy{zzzzxzzzyzyxyzzz{{{{zyyzyyzyz{yzzyzzyzzyyyzyyz{zy{{{zzzzzyzzyzzz{zzz{zzzzyyzzzzz{z{{zyyzyyyxxzzzzzz{zzyyyzyyzzz{{{z{{yzzyyzzzzzzyzz{{zzzyzyzzyz{zzyzzzzzyyyzy{z{z{z{zyzzy{yzzz{{yz{z{{yzzzz{yz{|{y{|{zzyzyyzz{{zzz{zzzzzyyzzzzz{z|{|z{{z{zzzz{y{{{{{zzzyxzzzz|{{{{{{{{yzz{yzz{{{z{{{{{{zz{zz{z|z{{|{{z{{z{zzzz{{z{{|{{z{z{zz{{z{{zz{z{zz{z{zz{{z{{|{{{{{{zzzy{{y|||{{{z{zzzzz{{{zz{{{zz{zzyzzz{z{{z{{{zzyzzyyzz{{{zyzyyy{yyxyy{{yzz{zzzyzzzyzzzzzzz{{{yyyyyyyzz{zz{zzzyzzyyyxzzz{yzzzzyzyyyyzyzzzz{z{yyzyzzzyzzzz{{zzyyyyyyyyzyzzzzz{zyzzyyzzyzzyzz{|yzyyzyyyzyyzy{zzzyyyzzyzz{zyz{zzxyyyxyzxzzyzzz{yzzzyzyzyzyyzyzzzzyzyyyzzyzy{z{z{zyzyyzyyzzzz{zzzzzzyyyyyyzzzz{{|zyyyyyz{zzz{zz{zzzzyyyyyz{zz{zzy{z{zzzyzzzzz}{zzzzzyzzzzz{{{zz{{z{zz{yyz|{|{{zzz{{yzzzy{{{z|zz{z{zzz{zzzz{z|z{z{{zzzzzzzzz{||z{{zzyzz{yzz{z{z{z|zzzyz{{z{{{{{{{{{{z{zzzzz|{||{|{zz{{zzzzz{{{zz|{|zy{zzzy{{yz{{{|{yzz{z{z{{z|{{z{y{zyz{z{{{z{zz{{{{y{yyzzyzz{{zzzzzzzyyzyyz{{zz{zyzyzyyzzyz|zzz{{yyyzyxzy{zzy{{zzzzzzyzyyzzzzzz{zyzzzzyxyyz{yy{zzzyzyyyzyzzz{zzz{yzyzyyyyz{zz{{yzzyyyzzzyzz{z{z{{yyyyzzz{yzzzzz{zyyyyzy{yzyyzz{z{zyzzyyxyzzzzy{zzzy{zyzyyy{zyzz{yyyyzyzyyyy{zzzz{zzyyzyyyy{yzzzzz{yyzzy{xzz{{z{{zzzzzzyyzzzy{zzz{yzxyyyzzzzzzz{{{yzzzyyy{y{{zzz{{{zz{zzyz|{{z{{{zzzyzzzzyzz|{zz{{zzzzzyyzz{|z{{z|{{zyzyzz{{||z|{{yyyzz{{yz{yz{{{{zz{zzyzzz{|zz{z|{yyzz{{zz{{{{z{{{yzzz{{{z{{{z{{{{zzzz||zz|{zz{{{z{zzz{{z{{{{|{{z{yz{zz{zzz{{|{{{z{yx{zzz{zz{|{{{z{yzyzzzz{{{z{{{|zzz{yzzz{z{z{{zzz{z{zzyz{|zzzzzyyyyyxzyzzzzyzy{zz{xyzyxyzzzzz{zzzzyyyzyzzzzzz{zzzzyzyyyyzzzyyzzzyyyyxyxzzzzyzzzyyzxyzyxyzyzz{zzxyxzyyyyzz{yzzzzyzyzyyzyzyzyyyz{yyyyzyzyzzzzzzzzyyzxyzyzyzzz{z{{yz{zyyyzyzzzyzz{yxyyzyzzyyzyyz{zzzyyzyxyzzyzy{z{zxyyyyyx{zzyzyyzyzyyyzyyyzzzzzz{zzyzzyzyzzz{z{zzzyyzyyzzz{z{{{zyyyzyzxyzyyzz{{zzzzzz{zyz{zzyy{zzzy{zzyzzyzzz{{zz{zzzyy{yz{z{z{zzyyzzzy{z{{{|{{{{zyzzzzyz{z|z{|zz{zzzy{yy{{zz{|{{{zzy{zz{zz{{{{{{{yzzy{yy{|z{{{{z{z{z{{zyz{{{zz{{{y{zzzzzzz{z{{{|z{zzzzzz{{{{{{zzzyzzyyzzzzzz{z{{zzzzyyzzyzzzz{{zzzyyzyyzz{zzzzyzyzxyzyzyz{zyzzzzzyzzzyyyyyz{zz{zz{zzzxyyzzzyzzz{zyzyxyyzyzzyzzzzzyzyyyzyzzzzyyz{zyzzyzzyy{zzyzzzzyyzyxyyzzzyzzzyzy{yyyzzzz{{zyyzwzyyzyzzyzyyyzzzyyyyyyyyzzyzzzyzzyzyyxyyzzzzzz{zyyyyzzyyyyzyyz{zyyxyzyyyyzyzzz{zzzzyzzzzzz{{{zz{zzyxyyyy{yzzzz{{yyz{zyzyzz{{{{zz{zyyzzyz{{z{{z{{{{zzyyzyy{z{{z|z{zzz{z{zzz{zzzzzzyy{zzzyzzz{z|z{zzzzzzzzzyz{{{z{yzzzyz{z{{z{{z{{z{{z{zzyz{{{zz{zzzzzzz{y{{{z|z{|z{{zyz{{{z{y{{{{zz{zy{zzz{{{|{{{{zyzy{yzz{{{z{z{{zzzzyzzzz{z{zz{{zz{{yz{zzz{{{{{{{{yyzzz{{{{{{{{zyy{zyzyy{z{y{{zzzzzz{yz{{zzzzyzzyyyyzzxyzzzzzz{zzyyyyzzy{z{z{zzzzzyyyzyzyzyzz{zzzzzzyyyzyzzzz{{zzyzyyyyyzz{{{yzyzyzzyzyyz{{yzz{zyzzzzyy{zzzz{{zyyyyzzyy{yyzzzzzyxyzyzyzzzyyy{zzzyyzyzyzy{zyzzzzzyzzyzyyzz{zzz{z{yxyzyzzyzzzzz{{zyzyyzzzz{yyzz{zzyyyzzzyyyzzzy{zzzyyzy{z{zzyzz{z{zz{zyzzzzz{zzzzzzzzyzzyz{zzzz{zzzyzzyzzzzz|z{{z{zzzzyzz{{z{{zzzzyz{zzyy{{yzzzyzz{{{zzy{{z{{{{z|zzz{zzz{|{|zz{z{zzyzzzyyz{z{z{|{{zzzz{{z{{{zz|z|{zzzzzzz{{{{{|{|{zz{z{zzz|zz{{{|{zz{y{zz{{{z{{zzyzzzyzyz{|{{{{{z{zzz{zzz{{{{z{z{zzzyzzzyzz{|z{{{zzzyyz{y{{y{{{{zyzzzxzzy{zzzzz|{yzzyzyyyzzzzzzz{{zyzyzzzzzyz{{zzzzzzzzzyz{y{{{{zzyzzyyyyzz{yzz{z{zyyyyyyzzyzyz{{{{zz{yzyzzzzz{zzyzzz{yz{zzzzzzzzzyzxz{yyz{{zzyzzzzyxyzzyzzzzzyz{zzy{zzzz{zzzz{{zzzzyzyzyzyzzzz{{yzzyyzzyz{zzzzz|{z{yzzz{z{zzz{z{yyy{zyzzyyy{zzyzyzyzzzzzy{{zz{{zyzyzzyzyzzzyzz{{zyzyzz{z{{{{z{z{zzzz{yzz{{z{z{{{{yzzzzz{zz{{zzz{zzyz{y{zzz{{zzzz{{zzzyzz|{{z{{|{zzzzz|zz{z{{{|{{zz{zzzzy{{{zzz|z{{{y{yz{{|z{||{|zzzz{{zzz{z{{{{{{{{zz{z{z|{|{{|{|zz{yz{z{{{|{{{zzzz{{{zz{{{z||{{zzzz{zz{z{{{}z{|zz{zzzzz{{{{z{{|{{zzyzz{{{{zz{{z{z{yxz{zzz{{zzz{zyyzzyzyzz{{{zzzzzxzyyzzy{zzzzz{{yzzzyzzzz{zzz{{zyyzzzyyzzz{zz{zzzzzyyyyzzz{z{z{zyzzzyzyzzyzyz{zzzyyyyz{{{{zzz{zzzyyzyyyzyzyyzzzyyzzyxzzz{z{zzzzzyyzyzzyyyzz{z{z{zzzzzyzz{z{{{|zzzyzzzyyzz{yzzzzyzzyyyyzyyz{z{zzzyzyyyzyzzzzzzzz{zzyyyzz{zzzz{{{zzzyzyzyz{zzzzzzzzzyyzzzzzzzz{{{zzz{zyzzz{z{{z{{zzzz{zy{z|{{z{|{{zzz{zzz{{{{yz{{{zz{zzz{{z{{{{{{z{z{y{{z{{z{z{{|z{yzzzzz{{|{{z{{{zz{{z{{{|{{{|||z{{zz{{y{z{{{{{{{y{zzzzzz|{z{{{{{{{{z{z{zz|{{|{{{{{zzzz{{|{{|{|{{{{zyzzz|{y{|{{|{zyyzz|zz|z{{{{||zz{zzzyz{{{{{{{z{{zzzzzzz{z{|z|zzyyyyyyy{zz{z{zxyzzyzzzz{zz{{{{zzyzz{z{zyyz{{y{zyyzzyxyzzzzzzzzzzyyxyyxy{zz{zz{zxyyzzzzzzzzyz{zzyyyyzyyz{{zzz{zxzyzyyyxzyz{z{zzxzyxzzzxyzyzz{zzyyyyyyyzyzzzzz{zzyzyzzzzyyzzz{z{yzyyzyyyyyzzz{zzyzzyyyyxzzyz{z{z{{yzy{zzzz{z{{{zzyyyzzzzy{zz{yz{z{{zyzz{{zzz{zz{yzzzzyyyz{zz{z{{zz|zzyyzy{{{z{z{yyzyzyyz{zz{{{}zzyyz{zzzz{{zz{zzzzzzzzzzz{{z{{{{z{zzzz{zz{{{{{{{zz{{zy{z{{{||{{{{zyzz{zz{{{{{{{{zz{zzz{z{{{{{{{||zz{z{zz{{{{z{{{{{{{z{{{{{|zz{{z{zzzzzzz|{{{z{||yzzz{zz{{{|{z|zz{zzzzzzzz{z{z{z{z{yzzzzz|{{|z{|zzy|zzzzzzz|{{{z{yyxxzzzyzzyyzzzzzzy{yxzzzzz{zz{{z{zyyzzyzyyz{{z{{yzzyzzz{zy{zz{{zyzzzyz{z{zzz{z{z{zzyzzxzz{zz{zyyy{yyyzyzzzzyyzz{yzyzyzzz{y{{z{zzzyzzyxyz{{z{zzzzzyyyzzyz{zz{zzzzyzyyzyzyzzzz{{{zzyyyzzyzzzzzz{z{yzyzyzyz{zzzz{z{zzy{zzz{{{zz{{zyyzzzzzz{z{{zzzzzyzzzyyz{z{{{{{{zyz{{zzyzz{yzz|zzzzzzzzzz{zz{{z{zzzzzzz{{|{zz{zzzzz{zzzz{{{z{z{zz{zyzzz{{{{{{|{zzzzy{z{{z{z{zz||zzzzzzzzyz{{{z{z{zzzzzzzz}z{{{z{{{{{zzz{z{z{|{{{{zzzz{zy{{|{z{{{{{{{{{zz{zzz{{z{|{{z{zy{z{yz{z|{|z{{{zz{z|{|{||zz{zzzy{{z|z{z{||{{zzzzzy{z{{{z{{zzzzzzyyz{{y{zzzzyyzzzyyyzz{yz{zyzzzzyzzyyzz{{zzzyyyyyyy{{zz{{{zzyzyzyzyz{z{{z{{zzzzxyyxzzz{z{{{zzzyzyzyzzzyzz{zzzyyyzyyyyzyyzzzyyzzzyyyzzyzzzzzxyyyyyyyy{zyy{{zzzzzyyxzzzzz{{z{yzzzxzyyzzzz{z|{yyyyzzyyzzzzyzzzzzyyyyyyyzzyzz{zyzzyzzyyzzzzzz{zzzyzzy{zz{y{z{z{zzyyzyyyzz{z{{{{zyzzz{yzz{{z{{{{{{zzzyyzy{zzz{{{zzzyzzyzz{z{z{{z{yz{y{zz{{{{z{z{zzzzzzyzz{{{zzzzzzzzz{{zz{z|{{{z{{zzzzyy{{{z{{{{{{zzzz{zz{{z{|{{{zz{zzzzz{{{{|{z{{{{z{zz{}z{{z||{z{{{zz{{{{|{|{{z{zzz{y{{{zzz{||zz{z{zz|{{zzz{{{zz{z{zyz{{zz{z{{|zyyzzzzz{{{{zz{{zzzyzzy{{yzzzxzzxxxyyyyyy{z{zz{yyzyzxxyzyzzy{|zyyzyyyyyyzzzzzzyyzyyzyzyzzzzxzz{yyyzyyxyzz{zyzy{yyzyxyzyxyyyzzzzzyyzyxyyzyzyzzzyzzyyzzyyzy{yzz{zzyyyyyyyyzzz{zzzyyzyyzyzz{{zzyzz{zyyxyyzyzzzzzzzyyyyzyyyzzzzzzzzyzzxyyyyxzzyy{{{{yyyyz{yzz{z{zz{zzyyyyzyzz{zzzz{yzzyzzzyzzzyyzz{zzzyyyyyz{zzzzz{yzyzzzyyyy{{zzzzzz{z{zzz{{yyyz{zzy{z{{yyz{{{zzz{zzzzzyyzyzz{{{{zzyyzz{{z{z{{{{{zzzzyyzzyzz{z{{{{{yzzzzzzzz{{{{|zz{zzzz{{zzzz{{{zzz{zy{z{z|z{z|{{{zzzzz{zzzz{{{{||yz{zzz{zz{{{z{{{zzyzzy{z|z{{{z{zzyzzz{|{{zzz{z{|z{zz{zzz{|{zz{zzyyzzyyyzzzz{zzyyzzyyyyx{z{y{yyzzyzyyyyyxzzz{zyzzyyyyzzyzzzzz|{{zyzyyyyyzzzzzz{zzyzyyyyyzyzy{yzz{zyzzzzyyzzzzz{zzyzxyyyzzz{zzz{zzzzyzyyzzzzzyzzzzyyyzxy{zyzzzz{zzzzzyyxzy{zzzzzzzzzzyzyzz{zzyzz{yzyzyzzyyz{zzz{zyyyzyyzyyzzzzzzzxzzzyzzzy{yz{zz{{yzzyyzzzyzzz{{{zyyyyyyz{{zzzzz{yzzzzyyyy{yzz{zyzzzzzyyzzzy{z|zzzzyzzzzyzz|zzz{{zzzzzzyz{{zzz{{{zzzz{zyz{{z|{{z{z{{zzzz{{z{{{z{{zz{zzyyyz{{{{{{{{zz{zzzyz{{{{{|{{zzzy{{z{z{{z{{|{zzzz{{zz|{{{{|{{{zzzzz{{{{{z{{zzzzzzzz{{z{{zz{|{zzzzz{zzzz{z{{{{zzzzzyzz|z{{z{{{y{zyzzz{{{zz{z{zz{zzyzy{z{zz{{zyzzyy{yyzz{zzx{{zzyyyyyz{{zzzzyyzyyyzyzyzzzzzzzzzzzyyzyyyzzzyzzzyyyyzyzxyzzzyz{{yxzyyzyyzzz{zzzzzyzzzyzyyz{zyzzzyzzzyzyzzzyyzzzyyyyyzyyyz{zzzzzzyxzzzyyyyyzy{zzz{yzyyyyyzzz{zz{{yyyyyyzyyyzyy{y{zyyzyzxyyzyzy{zzzzzzyzyyyyz{y{{zzyyyzyyyyzzzzz{{yyyzyzyzzz{{zz{{yzzyyyzzz{zzz{yzzyzyzyzyyz{zz{{z{zyzyyyzzy{z{z{{zzyz{yyyzzzz{z{|zzz{zz{y{{{z{{z{y{{zyzzz{zz{{z||zzzzzyzzzz{{z{y{{yzzzzzz{{{z|{{{y{zz{zzz{{{{{|z|z{{{y{{z{|{z{z|{|z{zzz{{{{{{z{{{zyzz{z{y{z{zz{{|{zz{{zzzzz{{z{{{y{zyz{z{z{z|{{{z{zzzyzzzzzzzzz{zyz{zyzzz{{{zzzyzzzyyyzxyzyzyz{{zzxyzyyyyzzz{zz{zzyzzzyzyyyzzz{{{zyzyzzzz{{zzz{zzzyzyzyyzzzy{zzz{zyyxyzyyyzzzyz{zzzzyxyyy{zzzz{zzyyyyyyyyzyzzzzzzyxyzyyyyyzzyzz{zzzyyyzyyzyyyzz{{yzzxyyyzzzzzz{z{y{yzzyyyyzyyy{z{yyzyxzzyzzz{zz{{yyzzyyz{{zzzzzz|zyzzzzyyzz{{z|{z{{zzzy{zz{|{z{z{zzyzyzz{zzz|z{zzzzzz{zyyzzzz{{zzzzzyzzyyz{{zz{{zyyyzz{zz{{zz{{{z{zyy{yzzz{|{{{z{y{zz{zzzzzzz{{{{{{zzzyyy{{{|{zz|{zyyzyz{z{{{||{{z{{y{{|{{{{{z{{{|zzzyz{zz{{z{{{|zy{{zzyzz{z|z{{{{zzz{zzzz{z{{{z|zzz{{z{zzz{||{{zzzyyzzz|zz{{z{{zz{zzy{zzzz{{{{{|zy{yy{zzzz{{zzzzzy{zyyyyyzzzzz{zzzzzzzzyyyzz{{{{zzyyzzzyzzyzz{{zyyzzyyyzz{yzyz{{zyzyyyyyy{zz{{z{yyzyzyzyyzzzz{z{{yzyyzzzzzzyy{zzzyyzy{zzyyzzzz{{yzzzzyzyxzyzzz{zyzzzyyxyz{zz{zzzzzzzyyyzyzzyzz|{zzzyyyxzyzzzyzzzzzyzzyyzyzzzz{zzyzzzyzyzzyzz{y{zzyzyyyzxz{zzzz{{{zzyzy{z{yz{z{{{yyzyzzzz{{zz{{{zzyzzzzzz{zzy{z{yz{{z{yyy{{{z{{{{z{zzyzzz{y{z{{{{zzyyyyzzzz{|{|{{yz{zyzzz{{z{z{z{zz{zyyzyz{{zz{{zzz{zzzzz{{z{{|{{yy{z{z{z{{z{{{{{{zzz{z{zz|{{z|z{{z{{zz{{zz{{||{{{zzy{zzz{{{z{z{{{zz{z{y{z{z{z{{{yzzyzzzzz{{{{z{{{{yzyz{zz{zzzz|{zzzzyzzzzz{{{yzz{yzyzxzyyzz{{z{zyzzyzyzz{{z{{{zzyyyyzzzyzyy{{{zzzyzzzzyy{{{zzz{{zyzyzyyyzzz{z{{{zyzyzzzzyzzzyz|zyyzyyyyyzzzzzzyzzyyyyyzyzzzzzz{{yxzyyzyyy{{zzzzyzzzzyyyyzzzz{yzzzzzzyyyxzzzyz|zzyzzzyzzyyzzyz{zzzzyyzzzzyzyzzz{zyyzzyzxyzzz{zz{{zzzzzy{yyzzzzzzz{z{zyy{z{z{{{{{|zzzyyzyzy{{zzzz{zzz{yyzzz{z{z{{z{yzz{zzzz{z{{{{{zzzzzy{z{zzzyzz{{zz{zzzzz{{{{{{{zzz{yzzz|z{{z{{|{zz{zyzzz{|{{z|z|zz{zzzy|{|{{{|z{zz{{z{{z{{{{|{|{zzzz{zzz{z|{{z{{{{{zz{z{{{|||z{zzz{{yzz{zzz{z{{zz{zzzzz{{|{{|{|{{|{{yzz{{zzzz{|zzzyyzy{{zz{{z{zyy{zzz{{{zz{{zzzzzyxyzzzy{yz{{zzzzyzyyyyyzzz{|z{zzzzyyyyzzzzz{{zzz{yyzzyzzzzz{{{zzzxzyzyyzzzzzz{zzyyyxyyzyzyzzzzzyyzyyyyzzzzz{zzyzyyx{yyzzzzzz{yyxyyxxzyyyzz{z{z{zzyyzyzyz{yzzzzzzzyyzyyzzyzzz{zzzzzzyyxyyzzzzzzzyyyzzzzzzyzzzzzzyzzy{zyzzz{y{{zzyy{zzzyz{z{zz{{{zzyzyzyzzz{{z{{zyyzyyzzzzzz{{zzzyzyzyzzz{z{{zz{zzyzzzzzzz{{y{z{zyzzzyzz{{{zzzz|zzzyz{y{z{z{{{z{zzzz{zzy{zz{zz{z{zy{zzzy{{|{{{|zzz{z{{zy|{|z{{{|zz{yzz{z{{{{{z{{{y{{yz{{{|||{z|z{{{zzz{{{z|z{{{zzzz{{zy{{z{{{{|{{{zz{zy{{{{{{z{{zz{zyzzz{{|{{{{{{zzy{zzzz{zz{z{{zyzzzyzzzzzyzzzz{zyxyxyxyz{zzzzzzzyyxxyyzz{z{y{{{zzxyzyy{zzz|{z{zyyyyxyyzz{{yz{{zzzzyyzyz{z{zy{{zzyyyyzyzzzzyzzzzzzyyyyyyzzyzzzzyyyyzyzyzyy{z{zzyzzzyyzy{z{zzz{yzyyyzyxyzz{{{{zzyzyzyzxyyzzzzyzzzzyyyzzyxyy{yzzyzyyyyyzzzzzyzzzyzzzyzyzz{z{y{zz{yzzyyxzyz{y{zzzzyyzyyyzyzz{zzzz{zyzyzyzyzz{{z{{{zyzyzy{yzzz{{z{{yy{xzyyzz{zzy{{zzzyzyzyy{{{{{zz{zz{zzzzzz|z{zzz{zz{zzzzz{{z{{{z{zyzz{zyyz{{|{{zzzyzy{yzy{|z{{|z{zz{{z|{zz{{|{{{{{{{{y{z{z|z{{{{{{y{zzzzzz{|z{{{{zyy{zz{zzz{{{{{{zzzz{yyz{{{{z|{zz{zyzyzz{{z{z{|{z{{zzzzz{{{|{{zzyyzzzyzzzzz{{{{yy{yxzzzzzzzzz{zzyzyyzzyzzzzz{z{{zzzxzyzzzzzy|zzzzyyyxzyzz{zzyz{{{z{yyyzzzzyzzzzzzzzyzyzzyzyzzz{zyyyxyzzyyyzzz{zzzyzyyyzyzz{yzzyzzyyzzyyyzz{zzyzzzyy{zyzzzzzzyyzzzyzzxzyyy{{zzzyzzzzzzyyyyzzzz{zzyzzyyyxzz{yzzzzzzzzyzzzzzyyyy{{zzyyyyzyxzyzzzz{zzzyzyzzz{zz{z{z|zzzyyyyzz{{{{zzzzzzyyyyxy|z{z{{zyzzzzyz{zzzzz{{z{yz{zzzzyzzz{{z{zzzzzy{z{{{{zz{{zz{z{zzzyzz|y{|{zzy{z{zyz{{|{{{z{zyzz{zz{{{{|z{|{zzzzz{zz{{{z{{||yzz{{{yz{{{|{||{yzzzzzz{|{{{{{|zzzz{yzz{z{z{{{{{{z{zyz{|zz{zzz|z{zzyzzzy{{{{{{{{zzzzzzzy{zzzz|{{zzzzzzyy{z{zzz{x{yyyyyxzyy{z{y{zyyyzyxzyzzzzzzzzyyxzyyx{zz{z{|zyzyzyzyzzyzyyz{z{yzyxyzxyzzz{z{zyzzzzyzyzzyzzzzyyyyzyyyz{zyyyz{yzyyzyyxzyzz{zyzzyzzyzzyyyzzzzz{{y{yyyzxyzzzyy{z{zzy{yzyyyzzzzz{zzyyyyzyyzzzzz{z{xyyyyxyzzzzzyz{zzy{yzyyyzz{yzzz{zyyyyxzzzz{zz{{|zxzyyzzyzyzzzzzzyyzyyzzzzzzz{{zzyzzzzyzyy{{zzzzzyzyzyzyzzz{{{zz{{z{{zzy{{z{z{{z{zy{zz{zzyz{{z{{zzzz{zz{{z|{{{z|{yyz{zyzz|z|z{z{zzzzzzzzy{|{{{{|{{{zy{z{zz|zz{{{|{zzzzzzzz{{{{{{{zzzyzy{z{{zzzz{{{z{zzzz{zzz{{|{{{{yz{z{{{z{{z{{{{zzzyzzz{|z{{{{{{zzzz{zyzzz{{zz{yz{yzzyz{y{{z{{zzzzyzzzyyz{y{yzzyyyyzyzzyzxzz{z{zyzxzyyyzzzz{z{{zzxzyyyyzy{{zzzzzzyxyzzyyzzzyzz{zzyzyyyyy|z{z{{yzzz{yzzz{z{yzzyzyzzzyzyyzzz{z{{zyzzyzyyyzzzz{z{{zyyyyyyzy{zy{{zzzzzzzyyzyzz{zz|{zyyzyzzyyz{y{{{zz{yxyyzzzyzzzzzzzyz{zzyzz{zz|{zzzzyz{yyz{zzz{{z{yyy{yyyzzzzzy|z{zy{yyz{yz{{z{y|zyzzzzzzyzzzz|{zzzz{yz{zy{z{zz{zzzzzz{yzz{{zz{{{|zzzzy{{{{z{{{{z{{yzzzz{z{{|{z{|{zzz{zyzy{{{{{z{|{zz{zz{y{{z{{{||{z{z{zzz{{{{||{|zz{{z{z{z{{z{z|{{z{yzzzz{z{|z{{zzyy{{{z{zz{z{{|{z{zz{yzz{{{{||{{{zzyzzzzzzz{z{{zzzyzzzzz{{z|{{zzzz{xzzzyz{zzzy{yyyzyyyzyyzzzzyzzyyzzyyyyz{zzz{zzzzyyzyzyzzzzzyz{zxyzyyyy{zyz{z{yzyzyyyzyzzyzzyyzzzzyzyzxzzzzzz{yyzzzyyxyzyzyzzzzzzzzzzyyzyzzz{y{yzzxzyxzzyzzz{zyyyxyyzy{yzzzzzz{yyzzxzzyzzzzzz{{zyzyyyyyyyyzzyzyyy{yyyyzzzzzzzz{yzzyyyyyyzzzzzzzzyyyzyzyzz{{yzz{zyzzyyzzz{yzz{z{zz{yyyyzz{zzz{{{{{zyyyzzzzzz{{z{zz{yyzyxzy{{y{z{zyy{zyyyzzzz{{zzzzzz{zyy{{z{z|{|y{z|yzzzz{{{{z{|zzzzy{zyzzzzz{|zzzzzy{zy{{{zzz{|{zz{z{yzz{zzz{z{zzyzzzzz{|{z{{{{|zz{zzz{{{{z{{{{{yzzzzyzz{{{z{|{{{zzzzzz{z{{{{{zzzzzz{zzzzy|{{{{zzzzzzzz{{{{z{{{zzzzzzyyzzzzzz{zzzyxxyyzzzzyyyzzyzzyyzzyzyzzzzzzz{yyyyyy{zyz{{{{yyzyzyyzzzzz{y{zzyzyyyyyzz{zy{y{zyyyyzzyzzzzyzyy{zzyyzyyyy{zy{zyyzyyzzyyzzzzzzzyxyyyzyyyyzzzyyzzyxzyzyyyyzzzz{zzzyyyyyyyzyzzzyzzzzyyzyyyyzyzyyzzzzxyyxzyz{zx{{zzyyzyzzyxyz{zzy{yzzyyzyyyz|zzz{{{yyzzzxzyzzzzzz{{zyzzyzz{{z{z{zz{z{yyyyzzz{zyy{{{zxzyzzyy{zz{{{{z{zzzzzzzz{zz{z{zzyzzzzzyz{{|zz{{y{{y{zzz{z{{zz{zzzzzzyyzz{{{z{{{zzzyzz{z{{{{z{{|zyzzzz{zz{{zzz{|zzzzz|{z{|{z{z{{{yzyz{zzz|z{z{|{{zzyzzyyz{{z{z{|{z{z{zzz{{{{{{z{zzzyyzzz{zz{z{{{{zzz{zyzz{zzzz{|yyzxzyzzy{z{{zz{zzzyzyzyyzzzzz{zzyyzyyyxzzzzz{{zzyzy{zzyyzy{zzzy{yzyyyxzzyyzzzzz{yyyyyyyzzzzz{zzzyzzyzzyzzzzzz{zyxzyyyyzzzyzz{yzzzzyyyyzzzyzzz{zyxyxzzyyzzzzyzzzzzzzyyxzyz{z|yzzzzzyyzyxzzzzz{{yzzyzzy{yz{zzz{zzxzzxzyzzyzyzzz{{yzz{yzzyz{{z{z{zyyzzzzzzzzzy{zz{yzzzzyzz{{z|z{{{yzyzyzzyz{{zzz{{yzzyzyzzz{z{{{{zzzyxzzz{zz{zzz{zyxzz{zzzy{zzzz{z{{zzzyz{zz{{{zz{z{zz{zzz{{z{z|{{{zz|z{zyzz{{{z|{|yzyzzzz{|{{{z{{zzz{z{zzz{{z{|{{{zz{zzzzy{|{|{zz{zz{zzzz{{{{{{{{zz{zzzyz{z{|{z{{{{zz|yzz{z{z{zz{zzzz{zyzz{z|{|{{{zzzz{yzz{z{{z{zz{zzzyzyz{|z{zzzxzzzzyzyzz{y{z{{zyzzzzzyzzyyzzz{zyyyxzyy{zzzz{zzzyzyzyyyyy{zzzzzyyyxyyyzyzzyz{z{yyyyyyxyzzzyyz{yzzzyyzyzzyzzz{zzzyxxyzxyz{zzzzzzyyzyyyzyyyyxyzzzyyyyzzyyyzzyzzzzyyyxyzyxzyzzyz{{zzyyyzzxyzyyyzy{zzzyzyzyyyyz{zz{yyyxzzyxy{zzzz{zyyzyzzyy{{zzz{z{zyzzzzzzzzzz{zz{zzyyzyzyzz{zzzz{zzyzzyyzy{zzzzzzzzzyzzzzz{{|{{{zzyzyzyzyzz{{z|zz{zyzyzzzyz{{z{z{y{zyzzyzz{{{{z{{zyyyzzyyzy{zz{{{{zy{zzzz{{{{{|{|{zzyyz{{{z{{z{{{zzyzyzzz{{z{{{{|{y{zzz{zzzz{|{{{zzzzzzzz{{z{{zz||{zzzzz{{{{zz{z{zyzyz{zzy|z{z{{{{zzzzzzz{{{{zz{{yzzzzzzz{z{zzzzzyzyyyyzyyzzzzzz{zyyyzyxy{zzzzz|zzyzyyzyzzyzzzz{{yyyxyyzyz{{zzzyzyzzzyxzxyzzzz{z{{yzzzyzyyzzzzzz{zyyzzyzz{y{zy|zyzzzzyzyyyzzzy{zzyyyyyyyyzzzzzyzzyyzzzyyz{{{zz{zzzzzyyyzyyzzzzy{{zzzzzyyzyzzzzzzyzzyzyzzzzzzzzzz{zyzzzzyyzzz{{zz{zyzyyyzz{zzzzzz{zyyzyyzz{zz{z{yzzzzzzyzyyyzzz{{zzzzzzyzyy{zy{{{zzzzzzzy{z{zz{{{zzzzzz{yzyzzz{{{z{zzzzzyzzz{{z||{zzzyzz{zzz|{z{|{zzyzyyzz{{{{z{{{{zz{z{zzz{z|{{{{{z{yzz{{{{|{{{z{{zzyy{z{z|zz{z{{{z{zz{zzy{{|{{|z{zzzzy{zzz{{{{{{yz{zzzy{{{z{{z{{zzyzzz{zzz{{z{{{zz{yyzzzz{{zzzz{yzzyzyyy{zzzzzyzzzyyzyzzzzzzz{zzzyyyxzyz{{zzzzz{z{zzzzy{zy{zzz{zzyyyyyzyy{{{yz{zzzyyyyzz{{{yzzzzzyyyzzzyyzzzy{zzzy{y{yxyz{|yzyzzzzyzyyzyzzy{zzzzyxxxzzzyzzzz{zzyzzzyyzyzy{{z{z{z{zzzyyzyzzzyyyzzzyzzyyzyz{z{z{{yzzzyzzzxzzzyzzz{zz{yy{yzzzz{{zzzzyzy{zzy{{zzzz{{yyzzzyzzz{zzzzz{zyzzyzzxz{{{z{{{{zzyzzzy|zzz{zzzzyzz{zy{z{zz{{{zzyzyzyyzz{zzy{{z{yy{zzyyyz{{{{z{yz{z{yzz{{z{{{{|{{z{{zzzzz{{{{{{{z{zzzzz{{{{{{|{zzz{zz{{{{z{{{{{{zyzzzz{{|{{{{{{zzz{{zzzz{{z|z{{{{z{z{z{{|{{{{{|zzzzzzzyzz{{{z{zz{zzzzyzz{{z{|{{{zzzzzyzz|z{y{{{z{yzyz{z{|{zzzzyzyxzyxyyyzzzz{{{yzzyyyyyzz{{{{z{zzyyyy{zzzz{{z{{yyzzyzzzyzzzzyzzzzyyzyzy{zzzyz{{zyzyzyyyy{zzyz{zyzzyyzyyzyzzzz{zyyyzyzzy{yy{y{zzzyyzzyyyyzzyyzzz{yyyzzyyzzzzzz{{zzzzyyyzy{zyzzzzyzzyyyyyy{zyyzz{zzyxzyzyyzz{yzz{{yy{yzyzzz{zzzzzzyyyzyyzzz{z{zzz{zzyzyzyz{{{{zz|zyzzzzzzy{{zzy{{zzyzzy{yzzyzz{zzzz{y{zzyzz{z{z{zzzzyzzyzzzzzz{{zzzzz{yzy{zzz{z|zzzzzzzzzz{y{{z{|{zy{zyyz{{{z{{{z{yyz{zzy{z{{{{{{zzzzyzz{zz{{{{{{{{{{zz{{y|{{z{|{zzz{zzzz{z{|{{{{{yyyzzzz{{{{zz{{{{y{z{zzzzz|{|{{zzzyzzzzy{{{{{{{zzzzyz{xz{z{z{{{yzzyyzyzz{{y{zzzyzyyyyyyyzzzzzzzzzyyxyyyz{{zz{{|zzzyyyzyzyzyzzzzyyyyyzzyyzzzyyzzzzzyyyyyz{y{{{zzyyxyyzyxzzyzyzzzzzyyyyyyzyzyzzzzzzyxzzyyyyzzzzz{xzyyyyyyzzzzzyzzzzyxyyzyz{{zzzyz{zyzyzxzzzz{zzzzzzzzzyyyyzzzzzz{yyyyzyyyyzzz{{zzyyzyyyyyyzyyzzzzyyzz{yzyzzzzzzz{zy{zyyzzzzzzz{z{zzyyyzzzz{zzz{{yyyzzzzyyz{y{{yzzzz{yzzyyzz{zzz{zzzxzzzyzyzzyzz{{{zzzzzyzz{{{{{|{zzzz{zzyz{z|{{{{zzy{{zzzzzz{{{{{zzz{{{zz{z{{z{{{zzz{yz{z{{{{z{z{zzz{{zy{y|{{||{{{zz{zzz{{{{z{|{z{yz{{{{zyzzz|{|{z{zzzzzzz{{{z{|{{zzz{{{{z{z{zz|zzzz{zzzyzz{z{z{zyzzzzyzz{zz{zzy{yyyyyyzyzzzzzyz{zzzyyyxyzz{z{{{{zyyxz{yyzyzyzzz{zzyzzyzyyzz{zzzz{zyyyyyyz{zzzzz{zyyyzyzyzzyyzzzzzxyyyyzzzyyzyzzy{yzyyyzxz{zzzyzz{zzyzzzzyzyzyy{zzyyxzyyzyz{{{zyzyzzyyyzyyzz{yzzzzxzyyyzyzyzyz|zzzzyyyyyyyzyzzz{{zzzzzzzyy{zzzzzzyzz{zyyyzzzzzz{|{zzyzxzyz{{z{{{zyzzyyyzzz{{{z|{zzzzyzyyzzz{{z{z{zyyyzzyyy{zz{zz{y{zzzzy{zz{zz{z{zzzzzyzzzz|z{zz|zzzz{zyzzzz|z{{{zyyzzzzz{z|{{z{z{yyzzzzyz{||{{|{zzzzzzz{zz{{{{z{{zz{zzz{{}z{{z{{{yzzzzzz{z{{{{z{{zyzzzz{zzz{{{|||zzzz{zzzzz{{{{{zzyyyzzzz{y{{{z{{{{zyzyy{{{{{{z{yzzzzz{y{zzzz{yzz{yyzyzyzzzzzzzzyyzzyyyyxyyzzzz{zyzxyyzyyzz{zz{zyyyyyyyyzyzzyy{yzzyyyyzyyyyzzyz{{yzyyyzyzzzzy{z{zyzyyyyyyzzyyzzzzzyyyzyy{zzyzzz{yyyxxxzyyzzyzzzyxzxyxxxyy{yzzzyzzzzzyyyzyzzzzz{zyxxzyyxyzzzyzzzyzyzyyzyyzyyzzzzzyyzzzzyyzzzy|zzzzzzyzzzyyzzzzzzz{yzzzxyyzyz{yzyzyzzyyzzyzzzzzz{zzyzx{yz{zz{{{{yzzzzzzzyzzzz{zzzzzzzzzzzyzzzyy{{zyzzyzzyzzz{z{{{yyzzzzzzz{z{{{{{{zyzzzyyzz{z{z{zz{zzzxx{z{{z{z{{|{zyzy{zzzzz{{|{z{zzzzz{y{{z{{{{{zz{zzyzz{z{z{{{z{yz{{yz{{z{{z{|{z{zyzzzz{{{z{{|z{z{zzyy{z{|zzzz{zzzzzzzyzzzzz{z{zyzyzyzzz{zz{zzzyyyyyyxyy{zzzyyz{yyxyzxxyyzxyzzzzyyyyyxyyyzy{zzzyzzyxxy{zzzzyyzyzyzyyyzyzzyzyzyzyyzyyyyyzzzzzzzzzyyyzyyxzzzzy{{yzyyxyzxyyzyz{yyzyyyzyxyyzzzzzzyzyxyzzzyyyzzzzyz{zyzzyyxyy{zzyzzzyyzzxyyyyzyzyyzzyxyyyzzyyzzzy{y{xyzyzyyyzzzz{z{yzyyxyyzyzzzyzzzzyzzyyyxyzzzyyz{{yzzyyyyzzzzy{{y{zzzy{yyyz|{{y{zzyyzzzyyyzzyzyy{zyyyzzyyzzy{z{zz{yyzzzzzz{{z{{z{zyzyzyyyzz{zzyz{{yzzzzzzyyz{zz{zzzyyzz{zz{{{z{zz{zz{zyzzyz{{z{{{zzyzzyzzzy{z{{{{zzyyzzzy{zzzz|z{{zyyyzzzz{z{zzz{{{zzzzzyy{{{z{{{|y{yyy{zyz{zz{{zz{zy{zzzyyz{z{{{zzzyyyyyyzzyzy{zzzyzyyyyyxz{zzzzzyzyyyxyzzzzy{{zzzzzyzyyyz{y{{z{{y{yyyyyyyzz{zzzzyyyxyzyyzzyzzzz{zyzyyzzyy{zyzzzzzyyyyyyyzyzzy|zyzzyyxzyyzyyzzzzzzyyyyzzxyzzyzy{zzyzyyyzyzy{z{yzzzyzyyyyzzy{zzz{{yzzyxxzyyzyzy{y{zyzzyzxyyyyzzzzzzzyzzzyzz{zzz{z{zyz{yyyxzzyyzy{zzzyyzyyyy{zzzzzzxyzzyzzyzzzz{z{zyyzzzyyzzzzzzz{zzyyzzzzzzz{zzy|zzyy{zyyyzz{{yy{{zyyzzyyz{{{{zz{zyzz{zyzy{{zz{z{{zzzzzz{yz{zz|z{{{z{yzzyyz{zz{{z{{{{zzzz{z{z{{{z{{zzzzzzzz{zzz{z{{zzyzzzzz{{{{{{{{{z{zyyzz{{{{{{|{zzyzzz{{{z{{{z{{zzy{{zzzzzz{|zzz{zzzyzyz{{zzz{y{yyyxyzzzzzzyzyyzyzzyyyyz{z{zz{{zyyxxyyxzzzzzz{{yyzzyyzyzzzzzzzzyzzzyyzyz{zyyz{zzzyyyyyyzyyzz{z{zzyyzyyyyyyyzzzy{yzxzyyyzzyzzzzzzzyyxyyyyzz{yz{zyyyzyyzxzzzyzzzzyyyzyyxzzyz{yzyyzzyyzyyzz{zzzz{zyyyyzxyyxzyzzzz{yzzyyyyyzzyzzyyzyyzyyyzyzzz{y{z{zyyyzyyzzyzzzzz{zyzzzyyyzzzzyzzzz{zyyyxyzzzzzz{{zyzzzyyyzzzzzz{xyyzyzyyzyzzzz{z{{yyzzzzzzzzzyzz{{zzzyzyzyz{z{{{{zzyzzyzy|zzz{z{{zyzzyzyzz{z{zz{z{zyzzzzzz{zz{{y{zz{{zzzzz{{{{{{{{zz{z{zz{{|{{|{{zz{{zzzzzzz{{{zz{zzyzzzzz{{{{zz{zzyzzzzzzzz{{{{zzz{zzzzz{z{zz{z{zzzzzzyy{zyz{{{zyyzyyzzzzzzzzz{y{zyxzyzyyzz{{zzzzzxzyyyyyzzzzzzzzyzyyzzy{{{y{z{zyyyzzyyyz{yyzzzzzzzyyyyx{zzzzy{{yyzyyzyyzzyzyzyzzzyyzyyyzyzzy{zyyyyyyyyy{yzzz{zzzzyzzyyx{zzyyy{yzyzyzyyyyz{zz{zzyzz{yzxyyz{zzzz{yyyyzyyxyzzzzzzzyzyxyyyzzzzzz{yzyzzxzzzyyzzzzzzzzzzyyyzzzyzzz{{{zzzzyyyzzzzz{zzzzzyyzzyzzzzzzz{|{zzyzzzyz{{zz|y{yyzyyzyz{zzz{{z{zzyzzyzzz{{zz{{{y|zyzzzz{z|{z{{{zz{zzzzzz{zz{{z{zyyzyzyz{{{|z{{{zyzzzzzy{{{{z{{|{yzzyz{{{z|z{{zzz{z{zyy{z|{{{|{{zzz{zyz{{{{{{{{|{yzz{zzzz{{z{{{{{{zzzzzzzzzz{{{z{zzxzz{zz{zz{{{{yzyyyyzyz{z{zz{zzz{z{yzyyz{yz{yzxzyyyyyxzy{zz{{zyyzzyyxzzz{zzz{zzzzzyzyy{yyzz{{z{z{yzyzyzzzzy{{{yzyyzzzxzzz{zzz{yyyyyyyyzy{yzzzzzxyyzzzyzz|zzz{yyyzyyyzyzyzzyz{zyyzzyzzy{zz{zzzzzyzyyyyyzz{zzyzzzzyzyzzxzyzz{yzzyyxzzxyxz{zzyz{zzzyyyyy{y{{zz{z{yyzyzzzyzzzzyz{zzzyyzzyyzzzzz{|zyyzyzyyzy{z{zzzzz{zyzzzz{zzz{y{{zzzzyzzzz{zzz{z{zzzyzzyzz{{{zz|{zzzzz{zzz{y{z{zzzzzy{zzy{{{{z{z{z{{zzzzzz{z{{zz|zzzzyzyz{|{zzzz{{zzy{yzy{{{z{z|{zzzzz{{{{zz{{z{{}zz{zzzzz|{{{|zz{zy{yzzy{{z{{{z{{zzy{z{zzz{{{{|{{zyyyzzzz{||zy{{zzzy{yz{{{{{{{{{{{zzzzzyz{{z{{|{zzzzzzyyz{z{z{yzzyyxyyzyzy{zzyzzyxxyzzwxyyzzyy{{zyyyxyzzz{zzzzzzzxzyyyyyzyzyyzzzzzyxyzzyzyz{zyz{yyyyyyyxzyyzyzzyzzyyyzyyzzzzz{zyyyyxyyzyyzyzzzzyxyyyyxyxzzzzzzzyzyyyyyyyyzyzzzy{yyzyyzyxzzzzz{z{zyzyzyyzyzyzzzzzzyzyzxyzxzyzyzzzzyyyyzyxzyzyyzzz{zyyyxzzz{yz{zz{zzyyyxz{zzyzyzz{yz{zzzzyzz{z{zzzyyzyyyzyzyz{zzz{zyyzzzy{{z{{yzz{yyzyyyyzz|{zzz{zzzzyyzyyyzyzz{{{z{yzzz{zz{z{zzz{zyyzzyyy{{z{z{{{zzzzyyzz{{{|{{{zyy{yz{{zz|{{{{{{zzzzyzyzz{zzz{{{zzyzzzzz{{z{z{{z{yzzzzzzzzzzz{{zzzy{zy{y{y{zz|{|z{zy{y{{z{z{{{{z{yzzzzyyz{{{zzzzyyyyxyyz{z{zyzzz{zyyzyyxzzzzyzzzzyyyzyyxzzzzzz{{zyzyyzyyzzz{{y{zyyz{zyzzz{{{yzzzzzyxzzyxy{z{y{zzzyyzyyyyyz{zzz{yzyyzzzyzzy{zzz{zyzyyyzyyyzzzy{zzzzyzyzyyzyyzzzzzzzxyyxxzxzzy{zyyyyzyyzyzz{zzzzzzzzyyyzyyyzzyyzz{{zzyyzyxzzy{zzz{zyyyyzzyzyzz{{z{{zyyzyzy{{zzzz{{zzzyyxzzzz{zy{{{z{zyzyzyzzz{zz{{{zzzzyzzz{{{{z{zzyzyyzyy{{zzzz{zz{zzyyyzzyzzzzz{yzzz{{zzz{{{{zzzzzzzzz{z{z{{zz{{{yz{zx{zz{{{z{|{{zzzzz{z{{{{{z|zy{zyz{zzzzzzz{z{|zzz{{zzz|{{z{||{zz{yzzz{{{{{{{zzzyzzzz{zz{{{z{{zzyz{{{z|z{{{{{{zzyzzzzzz{zz{{z{zzyyzzyyzzz|{z{{zzyzyyyyz{{zzyz{yyzyyyzzzzzyzy{{yyyyyzyxzzz{zzzyyyzyyyyyyyyzzz{zzyzyyyyzyzyyyyzzzyzyxzzxzzyyyzzzzyyyxzzyzyyz{z{zyyzzzyyyzzzzzzzzzyzyzxxyyzz{zzzzzyyyzzyzzyyyzzzyzyyyyyzyzyzyzzyyzzzyyyyyyzyzzzzzzyyzzzyyzzyyzyzzzyzzzyyyyzzyz{zzyy{yyzyyzzz{yyzzzyzyzzyyzyzz{zy{zzyyyyyzzz{zz{{zyyyxzzyzz{zzzz{{zzyyyy{zzz{{{zy{zzyzyzzx{zyzz{|{zzzzzyyyzz{{yzzzzyyyzzzz{zzz{{{{y{zz{yzzz{{z{z{{{yyzzyzy{z{{{z{{zyzzzzzyz{{{zz{{zzzz{zzzz{zy{{y|{zzzz{zzz{zzzz{{zxz{z{{{{{{yz{{zyy{xzzz|{{z{|z{{z{y{zz{yz{{{{z{{zzyzzzyzzz{yz{z{yzyz{yzzy|z{z{|{yzzyzzzy{zzzz{z{xyyyyzyyyzzzzyz{zyyyzyxyzxzzzz{zyyzzyzzyzzzz{zzzyzyzyyyxzyzyyzzzyzzyyyyxzzzzyzzzzyzyzyyyzyyyz{{zzyzxyyyyzz{yyyyyyyyyzyyyyyy{zzzzyzyyyyyxyzxyzyzzzyyyyzyyxz{zzz{zyyyyyzyzyzzzzz{zzzxyzyzyyzzyyyzzzzyyyyxzyxz{zzyzyyyyzzyy{zyzz{zzzxzyyy{zy{zyy{zzzzyyyyyyyzzzz{{zyyzzyyyyz{z{yyzyzyzyyxyzzzz{zzzyyyzzzzyyzz{zzz{{zyzzyzzy{{{zz{zzzzzyzyz{{zyzzzz{yzzzzzyzzzz{zz{zyzzzzzyz{{{{zz|{{zzzzzzz{z{{z{{zzxzyy{{z{{{zy{{z{yzzyzzyz{z{{{z{{{y{zyzyzz{yz{|z{zzzzzzz{|z{zz{{{zyzy{zzz|{{{{{|{zzz{yyz{{z{y{z{{zyzzzyyzz{{zyzzzzzyyyzyzz{zzzzzyyyxyzyxzy{zyzy{yzzyzyyzyyzzz{zzzzyyyyxzzzzz{{{{zyyzzzyzzzzzyzz{zzzyyxzyzzzzzz{{zyxyyzyyyzzzzzzyzzyyyzxyyzzzzzzzyyyyzzzzzyyzzzzzyzxyyyxxyyyzzzzzyzyyxyyzzzzyzzyzzyyyxzyyzzyzzyzyzzyxzyzyyzzzz{zzzyyyyyyyzz{zy{zzzzzzzzyy{{zzzy{zyzyyyyyzzzyyyyzzyz{yyzzyyzzzzzzzzzyzyyyyzzzz{zzzzyzzzz{zz{{{zz{zzzzyzyzz{{zyz{{zzzyzzyyz{z|{{{z{yzzzyzzzyzzz{{{zzyyzyzzz{zz{|{{{zzzyzzzzz{zz{z{z{yzyyzzzz{zzz|{{{zzyyz{{{z{z{{|{{zzzyyz{z{{{z{{{zzzzzzyy{{z{zz{z{yzzzzyzz{zz{{{|{{z{z{zz{{{{z{{{zzyyzyz{{z{{{|z{{zzzzyzzzz{z{zz{xzzzzzzzyyz{zzyxzzxyyxyzz{zyzyzzzzzyyyyyzzzzz{{yyyyyyyxzzz{zzz{{zyzzzyyzzzyzzzzzyzyzxyzyz{zzyz{{yxyyyzzyy{{{yz{zzyzyzywzzz{zzzzzyzyyzyyyzzy{z{y{wyyyxyyyzzzyz{{zyyyyyyyxz{zyzz{zyzzyxyzyyy{yzyz{zxz{yyyyzyzyyzzzzyyzyyzzy{y{{zzzyyyxz{xxzyz{z{zzzyzyzyyz{{z{zzz{zzzyzyzzzyzzz{z{yyyyyyyz{{yzzzzzzzzx{yzzzzzzz{zzyy{yyyzzzzzzz{{zzyyzyzyyzz{zz{zyzzyzz{yzz{zz{z{{zy{zyyzz|{z{{{{z{zzz{zxz{{{zzz{zzzzzzzzzz{{{{|{zzzzzzzz{{{{{||{z{yyzz{x{z{zz{|{z{z{{zzzz{{z{|z|{zzzz|zzy{zz{|z{zz{zzzzz{zzzz{{zzzyzyzzzzyzzz{{{zz{yzzzzz{zz{z{{{zxzzzz{zz{{{zzzyyyyyyyzyyzzzzyzzzzyyyyyzzyz{zzzzzyyyyzyyzzzzzzz{zzxyyxyzzyzzzzzy{yyyyzzxzyzyzzzzzyxyyyyxzzzyzz{zyyyzyzyyyz{yxzzyyzyzzzyx{yy{zzzzyyyyzyyxzzzzyzzzyzyyyyyxzy{yzzzzzzyyyyyyzyy{zzz{yyyyyyyyyyzzyz{zyyyyzzyyzzzyyzzzzyzyyyyyzzzzzzzy{yxzzz{yyz{zzzzzzy{yyzyyzzzzz{{zz{yyzzyyzzzzzzzzzyzyzyyyzz{{zzyy{yzzyyzzzz{yz{zzz{yyzyyzy{{zzzzzzzzzzyzzzzz{{{{{zyzzzzzzz{z{{z{|z{yyzzyz{{z{{{{zzzzxzzyy{{{{z|||z{zzzz{zz{zz|{z{{z{zyzzzz{zz{{{{zzzzzzzz{z{zz|{zzy{y{{zzzzyzz{|{zzzzzzzzz{zzzzz{zzzyzz{zzzz{z{{zzzyz{zzyy{z{zz{yzzzzyxyz{{zz{{y{yzyxyyyzzyyzzz{yyzyyyyyyz{zz{{zzzzzzyyzyyzzzzzzz{yyyyyyzyyzzzzzz{zyxyyyxyz{zzzz{y{xyzyzyzzyzyzyzzyyyyzyyyyyzy{zyzyzzyyyyzzyyzzzz{zxzyyzyyz{y{zzzzyyyyyyzzzyzz{zzyyzzzzzxyzyzyyzzyzyzzyzyzyyxzyyzzyzyyyzyyzzy{{{zzyyyyyyyzzzzyzzzzzyyzzzyzyy{{zzzzyzzzzzzzz{zz{zzzzzyzyyzzy{zz{{{zzzxzyzyz{zzz{zz{yzyzyzyz{{zyz{{{zz{yzyz{{{zzz{{zyyyzzzz{{{z{{{{zyzz{zy{z{zzzz|zzyyzzyzz{{zz{z{z{zzzzzyz{{{y{{{{zyz{z{{z{z{{z{{{{zy{yz{zzz{{{{||yyzzzzzzz{{z{{zzzz{z{yz{z{z{z|{{z{yzzzz{{{{{{{{{{zzyzzzz{{yz|{{z{zzzzyzyz{zzz{{{zzyzzzyyyyzzyyyxyzxyyzxxyzzzz{{zyzzzyyyzyzzy{{zzzyyyyzzyzzzzzzz{zyzyxzyxzzz{zz{zzyzyyyzy{yzzzzzzyxyxxyzyyyzzz|zyyyzyyyyy{{yyzz{zyyyyzyzyy{zzzzzzyyyyyyyyzzzz{zzyz{yzyyyy{zzzy{zzzyzyyyyyyyzxzz{zzzyyyyyyxyzyzzzzz|xyyyyyyyyzzzyzyzzyzyyyzzzzz||zzyzyyyzyyyzzzzz{zz{yyzzy{y{zzz{{yz{yzyyxz{zyyz{|yyyy{zzyzzz{z{zz{{zyyyyyzz{zzzyz{zzy{yz{z{zzzzzzzz{zzzyzy{|zz{zzzz{zz{yzz{zzy{{{{zyzzzzzz{{{{z{{zyzyzzzz||zzzz{{zzzzzzzzz{{z{{{{{{{{z{zzz{{{{{{{z{z{zyzz{{{{{z{yzzzzzzz{z{z{z{{{{zzyzzz{{{{{zz{{{zzyzzzyy{z{{|{zyzzzyzzzzzz{y{{zzyzyyyzzzz|zzzyzxzyyyyyyyzzyzz{zzzyyyyzyzzyzz{zzzyzxyxyy{yyyzzzzzyyyyyyyzzzzyy{zzzxxyxyzzzzy{zzzxxyyyyyxyzzzzz{zyyyyyyyyzy{yy{{zyyyyyzyxzyz{zzz{zyyyyzyyzyzzyzzzzxyyyzxyyz{yyzzzzyyyyzyyz{{yzzzyyyyzzxzyy{yzzyyzyyyxyyyzyzyzyzzz{yzy{zyyzzzzzz{{yyzyzyzzzzz{zz{zzyzy{zyyzzzzzyz{zzzzyzyzzzzzzyz{zzy{yyyzzzzyzzzzzyyzyzzzz{zzz{{{{yyyzzyyzz{{zz{zzzyz{zzzy{{{z|z{zzzzzz{z{z{zy|{{zzzy{yyy|{{{{{zzzyzzz{yz{{{{{{{{yzzyzz{zz{{z{{{|{zyzyzzyz{{zzz|zzz{zzyzzzz{|{z|{{zy{{zzzzz{zz|{yz{zzzzzzz{{{zz{{z{zyzzz{z{{z{zz{{yzyzzzyz{yz{z{{z{zxyxyzzzzz{{zyzyyyyyzyxzzzzyzzyyyyyyyzzz{yz{zzzxyyyyyyzyzxzyzzzyyzyyzzzzzzzy{zyyyxyyxxzzyzzzz{yxzxyzzyyz{yyzzzzyzxxyyyyzzzy{{zyxxzyyzyyyy{yzzyzyzyyyzyyzyyy{zzyyxyzxyyyyzzzzzzxzzxxxyx{zzzyyz{yyyyxyyyyzzxyzyzz{yyyyxzzzyzyzy{xzzzyyyyzzzyzzzzzzyxzyyxzzzyyyz{zzyzyyyzyzzzz{z{yyyyyyyzzyzzzz{zzzyxzyyyz{{zz{zzzzyzyyyyyzzzz{{zyyyyzyyyzzzyzz{|z{zzyzyz{zzz{{zzzyzyz{yy{zz{z{{{zyzzyzzzz{{z{z{{yzyzyy{yz{{zzzz{z{zzy{z{z{zz{{{{{zzzzzzzz|{{|z{|zzzz{zyz|z{y{{{zyyzyzz{zzzz{z{{{zz{zz{zz{{z{z{{z{zzyyzzzyzz{zz|z{{yzzzyzzz{z{{{zzyzzxyyyzz{zyzzzyzyyyyyyyzzyz{zzyyzyyxyyyzzzz{zzzyyyyzyyzzyyzz|zyyyzxyyyz{zzzzzzzzxxyyxyzy{zyz{zzyyzyyzyz{zzzzzyzxzxyyzyyyzzzzz{zzyyyzyyyzyzz{zzxzzyyzyyyyzxzzzzzyyxyyyzzyzyzzzzyzyyyyyyzz{zzzzzzxyyyyyyzyyyzzzzyzxyzyyyzzyyzzyzyyzzzyzyzzzz{zzzzyzxyyyzz{zzzzz{{yyyyx{yzzzyyzzzzyyyzzzy{z{zzzz{zyzzzyyzzz{zz{zzyyzyyzxyyyyzzzzzzyyzzyzz{zzzzzzzzzyyzzy{y{{{z{{zz{y{zzzy{{z{z{{{yyzzyzyx{z{{{zzyzy{zyzzz{{{{zz{zzzzz{{zzz{zz{{{z{zzz{yzz{{{{{|z{zz{{zyzz{zzzz{z{{yzy{zzz{z{zzz{zz{zz{yz{|{z{{{z|{zyxzzy{z{{y{z{z{zzzzzzyzz{{zz{zzyzyzzzyzzzzz{yzzzyzyyyyzyzyzzzzyzyyyyyyzzzyzzz{zyzyzyyy{{zzyz{zzxyyxyxyyyzzzy{zyyyyyyzyyyzzzzzyyyyxyzyxyzzzz|{yzxzyyyyyyzzzzzyzzyxzyzyzzzz{y{yzyyyyzyyzzzzzzzzzzywyyyxzzyyzyzzyyzzyxyyyyzzzzzzzyyxyzyyxzzyyzyzyyzzyzyzyyzzzzzy{zyzxyzyyyyzzzzzzzyyy{yzyzz{yzzzzyz{yzyyzzyzzy{z{yyzyxyyy{z{yzzzzzzzyyxzzyzyz{zzzyyyzzyyzzzzz{z{{zyyyyyyzz{{y{{zzyyzzyzyzyyzz{{{{yzyzzyzzzzz{z{z{zzyyyyyyzzzz{z|zzyzyzzzyzzzz{z{zzzzzyzzz{{{|{{{{{zyzyzzyz{z|z{{|{zyzyzzyz|z|z{{z{zzyzzzzz{{{zz{z{zzz{{zz{z{{{{z|z{zyzzzyz{{z|z{{{zyyyzzzy{zzzz|zzyyyzxzzz{zzzzzzyxyyyyzyyxyyyzzzyyzyyxyxxzzyyzz{zzyzyzyyzzyyzzz{yxyyxzyyyyyyyz{zyzzyyxyyyzzyyzzzzzyyzyyyyyyyz{zzzyyyzyyzzyzyyzzzyyxyzzxxzyyyzzyzyzyyyyyyzzzzyzzyzyyzxyxyyyyyzy{x{yzzyzzxzzzyyz{zyyyzzyxxyyzyzzzyyyyyzyzyzzyzzzzyyy{yyyyyzyzzzzzzy{zyyyzzyzyzyyz{yzyyyxyzz{zyyzz{xxzzyyzyyzzz{z{zyz{yzzyzyzyzy{z{zxzyzzzyz{{zzzzzzyzyzyzzzzzzzzyzzyyyyzzzz{z{{{{{yyzzzyyy{{z{{zzzzzzzzzyzz{{z{{{zzyyyyyzzz{{{z{|zzzz{zzzzzzz{z{{|z{zzzz{zz|{{{{{z{zzzzyz{{{{yz{z{zzyyzyyy{{z{{zz||{zz{yzzz{z{z{{{zyzyyzzzz|z{{z{{zzyyyyzy{{y{zzzzzzyzyyzy{z{xyzzyyyyyyyyxzzzzzz{zzyyyyxyxyzzzzzzzzyzyyyyxyyyyzzzzyyyyyzyzyzzyyzyzyzxyyyxyzyzzzzzyyxxyyzyyz{yyy{{yzyzyyyyyyzyyzzzzxyyxzzyyxyyyz{xyzxyyyyzyxzyyyzyzyyyyzxxyyxyzzyzzzyzyzyyyzzyzzyzzyyyyyxyxyzzzyyyzzyxyxxzyyyzzzy{{zxyyyyzyyzyyyyzzyyyyzyyyyzyzz{zzzyyzyzyzzzyzz{{zyyzyyzyyyyzzyzzyzzzzyxyyyzzzyzyzzyyyyzyyyz{zzzzyzzzzzyxyzz{yy{zyzzyyzzzy{zz{{zzzzyzyyyzzzzyzzyz{zyzzzzxyz{zzzz{zzyyzzyzzz{{z{{z{zzzyzzz{zz{{|{z{zzzzyzyzz{{{z{{zzyyzyzyzzz{{zzzzzy{yz{zzzyz{zz{zzzy{{zzzz{yzz{{{{zzyzzx{z{z{z{zzzzyzzzz{zzzzzy}zzyyzyyyxz{{zyzyzyyyyzyyyyyzyzzzzzxyzyyxyzyzzzzzzzzyyyy{yyyzyzz{zzx{yyyyzyzzyyzzzyzzzyyyxzyzyzzy{yyyzyyzxzzzyzzyzzxzyyzxyzyzzzzzyyyyyyxyyyzzyyyzyxyyyxyyzyzzyyzzzyxyzyyxyyyzz{yyzyyzyxxxzyyzyyzzyyyyzzyyyxzzyyyzyyyzxyyyyyzzzzzzzyyzzzzzyyzyzzzzzyyyxyyzyyz{zzzz{zyyzyyyzyzz{y{{zyyyyyyyy{{zzyzzzyyzzyyzyzzzzzz{zzyyzzxzy{zzzzz{zzzz{zzyzz{{zzz{{zzzyzyzzz{z{z{z{zzzyz{zzy{zzz{z{zy{zyyyzzz{{{z{{zyzyzzzy{zzz{|{zzzzyzyzz{{y{z{z{zzzzyz{z|{z{{{z{zzz{zzzz{zz{{{{z{zzzzzzzzzyz{z|{{zzyzz{z{z|||{z{zzzzz{zyy{zzzz{{zzz{zzzzzzzyzz{zyzyyzyyxyzzzyzzzzzyxyxzyyz{zyz{zxzyzxyzzzzzzyz{zzzzyyz{yy{|y{{{zzzyyzyzzzzzzzzzzzzxzyyzyzyzzzzz{zyyyyyyyyzz{yzyyzzzyyyxyzz{zzyyzzyzyxzyyyzzzy{{zzyzyyyyyz{{yz{zzzxzyyyyyy{zyzzzzyzyzxyyzy{yzzzyzzyzyyyzxzyzzyz{zzzyyzyyxyzyzzzzzyyyzyyzyzzz{zzz{zyyzyyxyyz{{y{zzyyyyyzzyyyzzyzyzyyzyyyyyzz{z{{|zyyyzyyzyzzz{{zz{zyzzyyyyzz{{{y{yzzy{zzyzz{zzyzzzzzzzz{yzz{zzzz{zyz{zzzzzzzzz{|z{{zzzzzzx{{{{{z|zzzyz{zzy{{zz{{{|zz{zzzz{z{{z{{||{y{zzy{zy{z{{z{zzzz{yzy{z{zz{{{z{yzyzzzzz{zzzz{|{zzyzzz{{{z{{z{|{zzzyzyzy{z{z{|{zz{zzzyzy{{{{zz{yzzzzzzy{zzz{zyzy{yzyyxzyzzzzzzzyyyyzyyz{zzzzz{yyzyzyyyxzyzyzzzzyyyyzyyzzzz{zz{{yyzxxy{yz{z{zzzzzzzyyzyyyzzzyzzyzyyyyzyyzzzyyzz{zyyzyyzyyzyzzzzzzyyyyxzyzzzyz{zzzyz{zyyzyz{zzzz{zyzyyyzyz{yyzzzzyzyzzyyyyzzzy{{zyyyxxyyyz{z{yz{{zyyyyzyyz{z{zz{zzzyyyzyyzz{zzzyzyz{{yyzx{zzzy{zzzyyzyyyyyzz{zzz{z{zzyxzyz{zzzzz{yzzzzyyzz{{zz{z{yyyyzyyzz{zzzzz{zyz{zz{y{{z{zzzzzyzz{zzyz{z{{z{{zyyzzyzy{|{{{z{zzzyzzyzz{{zy{{{{{yzyy{{{{{zz{{{z{zzz{{z{z{{{{|{{{z{{zyzzzzzzz|{{{yzzzzyzz{zz{{{{zyzz{zz{zz{{z{{{zz{yzy{zyzzz{{{{{yyzyzzx{{{{y{zzzyzyyzzyz{{zzz{zzzyzyyzyyy{{y{yzyzzzyyzzzzzz{{y{{zyyyzzzyxzzzz{zzyzx{zyzzzzzzzzzzyyxyyxxyy{z{{yzzyzxyyyzyzzzz{zyzyyzzyyzzyzyzy{yyzzyyxyyzzz{{{zzzzyzyxyy{zyzzzzzyyxzyzyyzzzzzz{{zzyyyyyyzzyzyzzzyyxzyyzzyzzzy{z{zzzxyyyyzzzyzzzzyyzyyzzy{zyz{{{zyyyyzxzzyz{zzzzzyyzzyzyzz{zzz{zzzyyyzzyzy{{zz{zzyzzyzyzzyzz{{z{yzzzzzyyzz{{{zz{zzzzzzyzz{{z{zzz{zzyzyzyzz{||{z{zzzyyzzz{zzz{{{y{{zz{zyz{{{zz|{zyzzzz{zyyz{{{{z{{{yz{y{zzyz{{z}{{|zzzzz{zz|{{z{|{{zzzyzzyz{{{|{{zzyzzyzzz{{{{{{||{z{z{zz{{z{z{{{{{zzyzzzyzz{{z{z{{{xzyzyyz|z{{z|z{z{yzyyzzz{yyzyzyyyzyyyyzzzyzzzzy{yyxzyzy{zzzz{zzzzyyzyyzzzz{{yzzyyyzzyyy{yzzzzyzxxyyxyyz{zzzyzzyzzyzyzzzzzzzz{zzzzyyyyyyzzyzyzzyyyyyyxxyzzzyz{{zzyyzxyzyyz{xzzxyxyyxyyyyyyz{y{zyzyyyyxyzzzzzz{zzyyzyxzyzyzyzzzzzzyyyyyyz{yyyzzzyyyzzyyy{zzzzy{zyxyyyxyy{zz{zzy{zzzzyyzy{{zy{z{{zyzzyyyy{z{zzzzzzzzyzyzzyzzzz{zz{zyyzzyy|{{zzz|{zzzyzzyy{zzzzzzz{zyzy{zzzzy{z|zzzzzzz{zzzzz{{zz{zzzzzyyyz{zzzz|y|{yy{zzz{{z{z{{{zyzyzzz{zzzz{{{{{zzzy{zzz{|{{{{{{yzzzzzz{{{{{zzyzzz{zz{zzz{z{{{|{zz{{zzzz{z{zz{{yzyyyyzzzzz{{z|zzzy{y{yyy{zzz{zzzzzzzyzyz{zz{{zyyyzzzyyzzz{xyyzzyzyyxzzzyyzzz{{yyyyyzzyyzzy{zzz{zyzyyzyyyyy{y{{zyyyzyzyxzzzzy{yzzzyyzzyyzz{zzzz{yyzxyzzyyyzyzy{z{yxyzyyz{zzzzzyyxzzzyyyyyz{zzzzyyxzyyyyzyyy{zzzzyyzyyyxyyyyyyzzzyyyyzyyzyyzyyzz{zzyyyyyyy{z{yzzzyxyxzyyyzzzzyzzyzyzyzxzzzzzyzz|{yyzzzyzyz{{z{{{zzz{zzzyyyyzzzz{z{zzyyyyy{zzzzzyyzz{yyxzyz{zzzzz{z{zzzzyzz{zzy{zzzzyzzzyzyyzzz{{{zzzzyyzy{zz{z{z{{zzzyyzzz{{z{{{{{yzzyyyyzz{{{{{{zyzzzzzzz{z{{{{{{zy{z{zzz{z{{{|{zzzy{zz{{{{zzz{{{zzzzzzzzzz{z{{{{zyzzyyz{zzzz{{{yzzyyyzyz{zz{z{{{{zzyzzyz{zzz{zzyyyzzyzy{z{yzzzzyyyyzyzyzxzyzzzzzyyyyyxyzyzzyzzzzzyyyyyyyzyz{zzzzyyzzyyyyzz{yzzzyyzyyyyyyzzzz{z|yzyyyyyyyzzzyzzzyzxyyxyyzzyzzzzzxyyxyzyyzyzyyzyzzzzyyyzyxyyyzzzyyyzzzzxyyyzyzzyzzyyyyyyyxzzyzzyzyzzyzxyyyzyyzzxyzzyyyyyyyzzzz{zzzyzyyyyyyzy{zzzzzyzyzyyz{zzyz{z{zyzyyzyzzzzzzz{{yzzyzyyzy{{zzzzzyy{zyzzyy{zzzz{zzy{yyyyyz{{zzz{zzzzzyyzz{{zzz{z{zzyyzzyyzz{{{{{{zzzzyzzyzz{z{zz{zzzzzyzyy{{zzzz|{zyy{zyz{{{z{z{zzzyzzz{yyz{z{{zz{zyyzzzzz{{{y{{{zzzzyzzz{z{zzz{{yy{{yzy{{z{z{{{zz{yz{zzz{{zz{|{z{{yyyy{yzzzyz{{zz{zzzzzy{zzzyzzzzzyyzyzyzzzzzzyzzyyzyxzyzzyxzzzzzyyzyxyyyz{zyyyzyzyyzyyxzzzzyzzzyyzyyyyy{yzzzy{{{yzyyyyyyzzyy{{zzyzyyyyyyzzyyyyyyyzyzyxyyyzyy{z{zxyzxyyyzyzzyyyzyyxyzxyxy{z{yzzzzyxyxxyyzyyyz{zyzyyyyyzyyzzzyyyzzzzyyyyxz{yyy{{zzzxyxzyyz{yzyzzzyyyyzyzyzyyzzz{zyzzyyxzyy{zy{z{{yzzyyzyzyzzzz{z{yzzyyzyyzzzzzzz{zzzyzyzzzzzzzzyzzyzyxxyyzzzzzz{zzzyzzyzzz{{zzzz{zzzzzzz{yyz{zz{{zzyzz{zyzzz{{{z{zyzzyzz{{{{z{zyzzyyzzyyy{zz{zz{{zzzzzzzyyzz{{{zz{yzzyzzzz|{{zz{z{y{zzzzz{{{z{{{zzzyzz{{yzzzz{{{{yzzzzz{z{zz{zz|{|zyyzzz{z{z{z{zyzzzzyzzzzzz{zz{zzy{zzyzyz{z{zzyzyxyyxyyyyyzz{zzzzyyzyyyyzzzz{z{zzzzxyzzyzzzyzzzzzyyyyxyyyy{zzxyyzyzyyxzxyzzzyzz{yzzyzyyyy{zzzzzzyzyxzzyzzzzzyzzzyyyyyyxyzyzyzyy{yyzyyyzyyyzyyy|{zyyzyzyxyyyz{yzyzyyyxyyzzzzyzzzzzyzzzyxyy{yyzzzyyzyyyyyyyzyzz{zzzyzyyyyzzzzzy{z{zyyzzyyyyyyzzzz{zyzzyxzzyzzzyzy{yyyyyyzzy{zz{zzyzzzyzyzzzzz{{zzzzzyyyyzz{{{zzzzyzzzyzyyyz{zyzzzyzzy{zzzz{{z{z|{zyzz|yz{zz|{{z{{zzzzyyyzz{{zzz{zzzzzyzyzy{|z{{|zzzyyzzz|z{zz{{{{z{zzyzzzyzz{{z|{z{{zzzyyzz{{{z{{z{zzzzzzzzzzz{{{yzzz{zzzz{{{{|z{{z{yyz{yzzz{z{zz{{z{yzzzyzzz{zz{zzzyxyyzyzyzzyz{zyyyyyyxyz{zz{zzzyyyyyzzyyzzzzz{zyxzyzzyyzyzyzz{yzyzzyzyyzzyzyy{zzzyxyyyxyzzz{{yzzzyyyzyyzyzy{zy{{zyxwyyyzz{zyzzzyyyzyzyzyzzzzzyzyyyyyyzxyzzyyyzzyyzyyyxyyzzzzzzzzy{xyyyzyyzyzz{zyzzyzyyyz{zzzyzzyzzyyyyyzzzyz{{zxyzyyyzxzzz{zzzzyyzyzyzzyzzz{{y{yy{zyzzyzzyzzz{zyzzyyzyzzyzyyz{|yzyzzyyyz{zzzzzzyyzyyzyzzzzzzzzzzyzzyzzx{{zz{zzzzyyzzyzyzz{{z{{{zz{zzzzz{{zzzzz{yzzzzzyyz{z{{{{{zxzz{zz{{{{y{zz{z{{zzzzzz{{{{z{{{zzz{zzzz|zz{{{{{zy{{xyz{{{zzz{{zyy{zzzz{zz{z{{{{{{yzyz{{zz{{z{|zyyyyzyzyzzz{z{zyzzyz{yzzzz{zz{zzzyzzyyyzzzzz{zyyyxyyyyxzy{z{yzzzyyyzyzyzzzz{z{zzyxyxzyyzzzzzy{zyzyyyyzyzzzzzzzzzzyxyyyy{yzyy{zzyyyyyzyyy{yyz{zyyzyyyxyzyzyyzz{yzxxyzzyyzyy{zzzyyyzxyzyzz{yzyzzyyyyxzzyyyyyzzzzzyzzyyyzzyzzzyzyzzyzyyxxyzzzyyzzzyyzyzyyyy|zyyzzzyyzzzzzyzyyzzz{zyzxyzyzzzyzzzzzzzyzzyy{y{zzzzzyzyyzzyzyzyyzy{z{zz{yyyy{yzz{{z{{{zzzyyyyzz{{{{z{{zyy{zzzyzz{yz{|z|zzy{zyzz{zzzz{zyzzzzzzzz{{{{z{{zyzzzzyyz{z{z{{zzyy{zzzzz{{{{{|z{zzyzzz{z{{{{z{{{z{zzzzz{{{{z{{{{yzzxz{zz{{{{zz{{yzzzyzzzy{zz{{{{zzzzzzz{{{{{{{{zyzyzyzzz{zzz{{{{zzzzzzyzz{{zzzzzzzyyyzzzzzyzzyzxyxyyyyxzzzzyzzzyzyyyyyzzzzz{z{zzyyzyzywz{yzzzzzzzyyxyzyyzzyyyzyy{yyzyyxyyzzz{yzyyzyyzzyzy{xzzzzyzzzyzyyzz{zzzzyyzzxzyyyzzyzyzzzxzyzzyxzyyzyy{z{yzyzxzxyyzzyzzzzyyzyyzyzzyz{yyz{zyyyyxyxyzyyy{zyzzxyyxyyyzzzzzzz{yyzzyzyyy{zzzzzyyyyyyyyzzyzzz{{yzzzzyzyzzyzzz{{zzyzyyyzzyzzz{yzzyyzyyzzz{{zzzz{zzxyyyyzzzzzzzzzzyxzy{yzzz{z{{zzzzzzzyz{zz{z{{zzyzyzzzzzz{{zz{{{zzzzzyyxzz{zz{{{zyyzzzyz{{zz{{{{z{{zyzzz{y{yz{z{zzz{zzzzzz{{{{{{zz{z{zzzzzzzz{zzzyyyyzzzz{z{zz{{zzzy{zzzzz{z{z|zz{zzyz{{z{zzz{{{zzyzzz{yyzzz{zz{yy{xyy{zzy{yz{zzzxyzzzyyzzyzz{{zyzxyzzyyzz{zzzyzyzzzyzzzzyzzz{{zyyzyyyxyyzzzyyzzzzzyyyyyyz{z{zzzyyzzyzzyzzzyz{zyyyyyzzzzzyzyzz{zyzzxyzyyzzyzzzzzzyyyxyyzzzyzzzzzyyzyxyyxzyzyzzzzyyyyxzyyy{zzzyzzzyxzyzyxyzzzyzzyyxyyzyyyyzzy{yzzzyzyyyxyzzzzyzzyyyyyzyzyy{zzzz{{zyzzzxyzzzyyzzy{zyzyyyyzyzzzzzz{yzzyzyzzzzz{|zzzzyzzzyyxyyzzz{{zzyyzyzzyzz{zz{z{zzzz{zzzzzzzzz{zyzz{zy{zyzy{z{{{zzz{yzzyz{{{{{{z{yzz{zzzzzz{z{|{{zzy{{zz{{{z{{z{{yyzzz{yzz{zz{{{zz{zzz{z|{{{zzz{zyy{{zzzzz{{{{{{{{yzz{z{z|{zz{z|zzzyzzzyzz{{{z{z{yyzyyyy{z{z{zz{yyzzzzz{yzzzzzzyyyyzyxyzzzzyyzzzzyyzzyyyyyyzzzzyyyyzzzzyzz{yz{{zzyyyyyyyzzz{zyz{yzyyyyyyyyzyyzzzzy{yyyyyy{zzzzzxzzyyyzyxyyzxz{z{yyzyyyyxyyzzzzzzyyyyzyzyy{yyz{{yyzyyyyyyzyzyzzzzzyzyxzzyyzzzyzyzyzyyyyyyzyzz{zzzyyyyyyzyyyzyzzzzyzyyyzxyzyz{z{zzzzzzyyyyzzzyyz{zzyzyyyzzzyzzz{zzyzzyyzzyyzzzzzzzzyzyzxxy{z{z{{{zyzzyyzyyzz{z{z{zzyzzyyzzzzzzz{zzzzyyzzz{zz{z{z{{zzzzyz{{{zz|y|{{yzy{yzyyzz{z{{{{{yyzyzzz{{{{{{{{yzzzzyyzz{zz{{z{zzzzzzzzz}{zzz{{{yz{zzyyzzz{z{z{{zyzzzyzz{{{{|{z{yzzyyzz{{{{{{{{zzzyzyyyz{z{yz{{yyzzyyzyy{{{{z{zzyzyyzyy{yzzzzzzxzyyyyyyyzzyzzzzyzyyzyyyxyzzz{z{zyxyyyyyyzzz{yz{yyyzyyyyyz{zyzzzzzyzyyyyzzzzyzyzxyyyxxzyyz{yyzzyzyzyzyyzyyzxyzyyyzyzyyyzzy{zxyzzyyyyyyyxzyyyyzzyzyzyyyyyyzyyzyzzyyyyyzyyyyzzy{zzzyzxyyxyxyzy{zzzxyyyzyyyyzzxy{zyxyzyyyzzzzzz{z{zzyyyzyyzyyyz{zy{yzyyyyzzyzyzzzz{yxyzyyyyyzzy{z{zzzzyyyyyyz{zz{{{zzyyzyyxz{zzzz{{zzyzyzyzy{zyy{zzzyzzzzyzy{{{z{z{zzzzzzzy{y{{yzz{zyzzzzzz{{zzzz{zzyy{z{yzz{{zz{zzzz{yzzzzzzzyz{{{{zyzyzzzz{{{z{zy{zz{zzzz{zz{zzzyzyyyzzzzy{zz{z{|{zzzzzzzzz{y{zzzzzzyzzyyyzz{{{{{zz{yyzyzz{z{yz{zxyzyyzyyzzzzzzzyyyzyyxyzzyzzyyzzyyyxyyzyyzyzzz{zyzzyxzzxyzzyzyzzyyyyzzyyzyyzyy{zyyyxyxyyzyzyzzzzzyzzyyyyxyzyzzzyzzzyyyyyyyzzzzyyzzyzyyyzzy{zzyz{yzxyxzyxzzzyzz{zyyxyyxxyzyzyzzzyxyzyxyyyyzzyzyzyzyyyzyyyyyzzzzzyyyzyzxxzyzyyyzzzyyyyyyyyzyzyzzzyzyyxzyzyzyyzyyzzyyzyyxyyz{zzzzyzyyzyyyyzz{zy{zzzzyyzyyzyzyzzzzzzyz{x{yxz{{{zyz{yyzzyzyyzzz{yz{yzzzzyzyxyzz{{zzz{yzyzzzyzzzzzzzzzyzzzzyyyzz{zzz{{zyyzyzzzz{{y{z{{zyyyyz{yz{z{{{{{{zzzzzyzz{{z{{{{{zzzyzyy{z{zzzy|{yy|yzzzz{zz{{||zzz{zz{z{{z{{zz{z{zyzzzy{z{zzzz{zzy{zyyyyzzzy{zzyyyyyzyyzzyzz{zzzyyyyyzyzz{yz{zyyzzzyyyxx{z{zzzzzzzxyzzyzyzzz{{zzzyyzyyyyzyzzzzzzyzyyzyyyxzzz{zzzyyyyyzxzzzzy{zzzyyyyzxyyy{zy{yzzxzyyyyyzyyyzzzzyyzzzyyyyzzzyzzzyyyxyzyyyyzzzzz{{yyyyyyzyz{zzzz|zyyxzxyxyzzzz{zzyyyxyyyxyyy{zyzyyzyxyzxyzyyzzzzzzzyyyyzyzyyzzz|{yyyzzyyxzzz{zz{zzyzzyzyyzz{yy{z{zzzzzzyyy{z{zzz{zzzzzzzy{z{zzz{z{yyzyzzyz{{y{zzzzzzyyzzz{{{{{{{zzzzyzyz{zz{zz{{|zyzzzxyyz{zzzz{{{yz{zy{y{z{z{z|z{zzyz{{zz{{z{z{z{zzzzzz{{{|{{{{|zyzzzyzz{|zz{z{z{zzzzzzzzzz{z{z|zzzzzzy{z||{z{zzzzzyzyyzyyz{zz|{yyzyzzyzzz{yzz{zzzzyyyyyzz{{zzyzyyxyzyzyyyzzyzzyyyyyyyxyzzzyyzy{zyyyyyyyzzzzyzzyzyzyyyxyyzzzyy{zyyzyyyyyzyzyzzz{zyzzzyyxyyzzzzz{zyyyyyzyyzzyzz{yyyzyxxyyyzyzzzzzxzyyzyzyzyzzzzyzyyyyyyyyzzzyyy{yzyyyyyxzzyxzzz{zzxyzyyyxxyzzzzzzzzyzyxzxzyzzz{zzyyyyzzyzzzzzyyyzyyyyzyyyzzyzzzzzzzzxyyzxzz{z{zzzzyzyyzzyyyzyzz{zzyzxzyyyz{yzzz{zzxy{zzzzy{zzzzzzzzzyzzz{zzzzzzzzz{zzzyzzz{z{{z{zyzzzzzyz{z{zz{{{zzzy{zyx{zzz{{{z{yyyzyzy{{{zz{{{yzzzzzzz{zzzz{z{{zzyzzy{{zz{{{{{{zzzzzyzzzz{{{{{zyzzzzzzzzzy{{z{{{y{{zzzzzzzz|z{{z{zzyzz{{zzz{yz{zzzzyzxzz{z{zzz{yyyxzyyzzyzyzyzyxyzyyxxyy{yyzzzyyyyyyyyz{zy{zz{zzyyyzyy{zzyzz{zzyyyyyyyyz{yzzz{zzyyxyyyzyyyyyyzyyzxyzyyyzyyxzzzzxzyxxyxyzzzy{zxzxyxyzyyyyyyyzzzxyyxxxyyyzzyxz{zyzzxzyyxzyzyzyyyyyzxxyyxy{zzzzyzzxyyyyyxzzzzyyzyxyyxyxyyxyzyyzzzzyyxyyyxyzzyyzzzzyyyyyyxzzzzzzy{yyyyzyyyzz{zzz{zyyzyzyyyz{zyyy{zzzzzxxyyzyyyz{zzzyyyxzxyz{{{yzzzyxzzzzyyyzzzzzzzyyyzzzyzzz{zzz{{{zzxzyzy{zzzz{|zzyzyyzxyz|zzzz{zzzzy{yyyz{z{z{z{|x{yyyzzzzzz{{z{yyzzyzxz{|z{{z{zzzzzyyzyzz{zz{zzyzyxzzz{zzz{{{z{zzzzzzzzyyz{{{zzyzzyzyzyzzz{zz{y{zzy{yzyzyzzz{zzzzzyyyzyyzyyzyyzyyxyyyyyyyzzyyy{xyyyyxyxyzyzzzyyxxyyxyxxzyyzyz{zzyyyyxxyyyzzzyz{yzyyyyzxyzzzxyxzyzyyyzyyyyzzxyyzyyyyyyyyyzzyzzyzyyxyyyyyyzyzzzzyyxyxyyyxyyyzyyzzyyyyyyxyzyyzyzyyzyyxxzxxxzzzyzzyyyyyyyzxzzzyyyyyyyzxzyyxyzzyzyz{xyyyyyyxxzzz{yz{yyyyyyzyyy{zxyz{yzyyyyyxzzzzzzz{yzyyyzzzzyzzzzyzzyyyzyzxyyzzz{{{yyzyyyyyzz{yzzzy{yyyzzyyzzyzz{zzzzzzzy{zyy{z{{zzy{zyzzz{yzzzzzz{zyyzyxyy{{{z{zz{zyy{yzyzz{z|{|z{zy{zyy{{zz{zzz{zzyzyyzzzzzzzz{zz{xzzz{z{zz|zz{z{{zyzyz{zyyz{{{{|zzyzz{y{{zyzz{{zyyyxzzyyz{zzzz{{zyyyyzy{y{{zzz{zzyzxzxyz{y{zyz{zyyyyyzyxyzzzyzzyyyyzyzxzzyzzz{zzzyzzyzzzz{zzz{zzzzyzyzyzyzz{{y{zzzyyzzyyyz{zyzzzzzyyyyzyyzzxyzyzyyxxyzyy{{zzyzz{zzyxzzyyzyzyyyzzyyzyyyyyyy{zzzzxzyzyxyxzzzz{z{yzyyzyyyyyy{yy{zz{zyzxyyyyzyzzyzzyyzxyyxyyy{zyy{zzyyzzyyyyzzzzzz{{zyyyzzyyyzzyzzzz{yyyzzzzzzyzzz{{zyzzzyyzzz{zzy{{zyzzyyyyzzz{zz{zzzyzyyzzzzzzzzzz{yy{yyyy{z{z{z{{{yyzzzzyzzz{||{zz{zyz{z{|{z{{{{{zzzzzzyy{{{zz{|{{zzzzz{zzz{z{{{|zyzzzy{zz{{{z{z{{zz{zzzz{{{{z|{{zzzzzyz{zz{zz{|{{zzyzzz{{zz{{{z{{z{z{zzzzz|{zz{{zzyyzzzyzz{{{{{{{z{z{{zyy{zzz{zzzyzyyzyzzzzzyyzzzzyyyyxxxyzzzyz{zzyzyxyzy{{zzz{zzyxzyzyyzyzzz{{zzyzzyyyyzzz{y{zyzzyyxxyyzzyzz{y{yyyzyyyx{zzyz{zz{yzyyyxyzy{yyz{zyyyyxzyzzzzyzzz{xzyzyyyyyzzzy{zyzxzyyyyyzz{yzyzzyyyyyzxxyyyzyyz{zzzyzyyyz{zyz{zzyzyyxyxzzzyzzzyzzyzyyyyyzzzzzy{{yzzx{zzzzz{yzzz{yyz{zzzyzz{yzzzzz{zzyzzyzz{{{{z{zzzz{yzzz{z{zz{{zzyyyyzyzz{zz{zzzzyzzzzyzzzzzz{zz{zz{yzz{{{{yz{zzzzy{zz{{zz{z{|{y{zzzyzy{z{z{zzz{zyzzzzzz{{z{{z|zzzzzz{zzz{{{|{{{zy{z{z{z{zz{zz{{zzzzy{yzz{{zz{{{zzyy{zy{{{z{{z{{{zzzzz{{{zz{{{{y{zy{yzyzz{{{z{yzy{zzyzyz{{zzz{{zzzy{zzz{{|zzzzzyzzyxxxyyzzzyyzzyzyyyyyyyzzzyzz{{yyzzxzyyzzzyzz{yyzzzxxyyzz{yzzzyyyzyxzxzyyyyzy{yxyyyxyyz{yzyyzzzyyxzyyyzzzyzzyzzyzxyxyyyzyzzzzzyyyxzyyzyzyzzzzyzxxzyzyyyy{yzz{zyyzyyyyyzyzzzzz{yyzxyyxxyyzyy{yz{xyyyyyyyzyyz{zzyyzyzzyyyyzzzzzzzyyyxxyyzzzzzzz{zyzyyyyyzyzzzzz{yyxyyyyzzz{zyzz{yyzyyzzyz{zzzzz{zzyzyzyyzzyy{z{zyzzzzyyyyzyzzzz{zyzzzzzzzzz{z|{zyzyzyzzz{zz{z{{z{zy{{zzzyzyzzzzzzz{zzzzzzz{{yz{{zzzyzzzy{{z{{{z{zyyyzz{zz{z|zz{{{z{zzzyzz{y{z{{zzzzyzyzzz{z{z{{{{z{zzzzzzzzz{{z{{{zzyy{zzzz{{{{zzzzyyzzyz{{{zy{zzzzxzyyy{yzyzzyzxyzyzyzyzyzzzz{zzxzxzyyzzzzzyz{zzzyyyzzyzyyzzzzz{zyxzzzz{zyzzyzzyyzyxyxyyzzzzzyyyyyyxyzyyzzzzzzyyyzyxyyxzyzyyzyzyyzyyyyyzyzyzyyzyxyyyzyy{zzyzyzzyxzyyyxyyzyzxzzzzxyzxyyxyzzzyzz|yyzxyyyzxzzyzzzyyyzyyyyyyzzyz{zzyyyyzzxyyyzzzzyzzyyyzzyyzzzzz{zzzyyyyyy{zzz{z{z{zyzzzzyy{{zzzz{zzyzzyy{yyyzzzzzzzyz{yzzyzz{z{zzzzyyyyyzz{z{zyyzyzzyzyzyzz{z{{{{{yzy{y{zz{{zzz{{{zyzzzzyyzz{z{{zzzzzzzzz{z{{zzz|{zyzzzzz{z{z{zz{z{zzyyzzzz{{{{z{{{zzzzzzz{{{{{z{z|zzyzzzz{{z{{{{{{zzzzyzzzzzz{z{z{yzzyzzzz{{{zz{zzzz{yzzyyzz{zz|{zy{yzxyy{zzzzzz{zzyyyxyxy{zyyzzzzzxxxyyyzzyzz{{yzzzyyyzyzyzyzz{{yzyzzzyyzzy{zz{zzyyyxyxxzzzyyzyzzxzxy{xxyzzzzzzzzzyzyxyzyyzyyzzzyyyyzyyyyzzzyzyzyyzyyyyyyyzy{{{{zzyyyyyzzzyzzzzzzzyyyyyzyzzz{y{yyzxyyzzxyzzzyzzzzyzyyyzyyzyzzzzzyzzyyzyyzyz{yzzzyyzzyyzyzzyzzz{{{yyyyyy{zzy{z{z{yzzzyzyzzzzz{yzzz{yy{yyyyzz{z{zy{zzyzyyyzyzzyz{zzyyyzzzzzzzzz{z{yzzzzzxyz{{z{z{zzzzzzy{y{zz{{z{{zz|yyyzy{{{z{z{zzzzzzzzzz{{zz{{z{zzyz{zzzzz{{{{{{yzzzzyz{{z{{{{{zz{{zzyzz{zzzz{z{zzz{zzzzzz{{{|{zzzzzzzzz{{{z{{zzzzzzzyyz{{{{{{zz{yyzyzxy|{{z|zzzz{zyyzy|yzzzzyzzxzyyyzyyyzxzyz{yyyzyyyyzyzzzzyzyzyyzyzyzyyyzz{zzyyyzyyyzzz{zzz{yzyyyzyyzzzyzzzzzyyyzyyyzzyyzzzzyyzyyzyyzy{zzyzzzyxyyyxzyzyzzzz{yzyxyyyzyzzzzzzzyyzyyzyyyxzyz{yzzyzyyyxyyz{zyyzzyyyzyxyxyzyyyzzyzzyxyxyyxzzzzzz{zyy{zzyyyzzzz{z{yzyyzyyyzzz{{{zzyyyzyy{yzzzzzzzzzyzzzzzyz{zz{zz{zyzzxyzzz{zyzzzzzy{yyyyz{{z{zz{zzyyzyxzyzz{zzzzzzzzyzyzzz{z{zz{{zzzyzzyz{{zz{y{{yyzz{{zyz{{{{{zz{zzzzzzz{zzz{{{{{{zzzz{{z{{z{{z|z{zyyz{z{{{{{{{{{z{z{z{{{zzy{|{z{zzzzzzyz{{{z{z{zzy{{z{zz|zzzzzz{{zzzzzyzzzzzz{zzzyzzzyxzzzz{z|{{y{yy{zyy{yzzyz{yyzyzyyzyzzzzzyzzyyyyyyyyzzzyzzzyyyyzyyzzyy{{zzzyyyyyxyzyzyzzz{zyyzyyyyyyzzyzzzyyyyyzyxxyyyyyzyzzyyyxyyzxzyzyzyzzyzyxyyxzzzyyz{zyyyyyyyyyzzyzz{yzyyywyyyyy{zzzzyyzyyyzxxyzzzzzyyyxxzyyyyyyyzzzzyyzyyzyyxyyyyz{zyyyzyyyyyzyyzy{zzzyyzzxyyzzzyzzzzyzyyyxyyzyyz{z{{zyyyzyyyyyzzy{{{zyzzyyyyz{zzzz{zyyyxzxyyz{{zyz{yzzzzyzyzzyz{xzzzzzyzzyyy{zz{z{zyyyyz{zzzz{yzz{z{zzy{zzzy{{{{z{{z|yzzzzzzzzz{{z{{zzzzy{zzz{{z{{zzzzyzyzzzz{zz{z{zzyzzzyzz{{{{|{{zzzy{z{{zyyyz{z{{{zyzzzzzz{z{{{||yzzzyyyzzz{{z{yzzzzyzyzzy{yx{z{zzzyyzyzyyz{zzyz{xyyyyyyxyyzyyzyyyzyyxyyyyyyyyzz{zzzxyzyyzyzzz{zzzyyyyzyyyzyzyzzzyyzyyxyyzyzyyzzyyyyyyzyyyyzyyyzzyyyzxyyxzzyyyzyzxyyxyyyxzyyyzzyyyxyxyyyyzyyxyy{yyyzxyyxyzzzyzzzzyzyzyyyyyyxzyzzzzyyyzyyyyzyzzzyzyyyyyxzyyzyyy{yzxyzyy{xyzzzyyy{{yxzxyyyyyzzxzzzzzzyxyzyzzyzzz{zzyyyyxyzzzzzy{zzyzyzyyyyyyzyyzz{yyyyyyyzyz{zyzz{zzyyzxyxyzzzzyzzzyyzyyzzzzzzz{z{{xzzyyyzy{{{zzzzzzyzzzyzzy{{zyzz{yyzy{zyyz{{z{{z{yzyyyz{zy{z{{zz{zyzzzyyyz{{zzz{{zy{zzyzzz{z{{{zzzzzyzyz{z{zy{z{|zzzzzzz{z|zz{z{{yzzyzzyzyzzzz{zzzzzyyzyyz{zzzzzzzyzyzyzxzzzzy{yzyyxyxyyzyzzyzyzzyzyxyxyyyzyyzzzyzxyxxyzyzyzzzz{xyyyyyyyyyzy|xyzzyxxyyyyyzyzzyzzzyyywxyyyyyzyzzzyyxzzzyxyyyyxyyzzyyyyxyyyzyyzzzyyyyzyyxyyyzzzzzzyyyyyyyxxyyzzzzyyyyzyxzzxzyyzzzzyyyyyyxyxyyzyyyy{yyyyyyyyyyyyyzzyzyyzzyzyzyyyzzz{zyxxyyzyzyyzzzzzyyzyyyyyyyzzyzyyyyyyxzzzzzzzzzz{yzzzxyyyzzyzzz{{zyyyyyyyzzzyyzzzyyyyyyyxyzzyz{yzzyzzzzyzzzzzzzzzyzyzyzyzzzyzzz{zyyzzyyyzzzzzz{{z{yzzzyzyzyyzzz{{zzzyzzzzyyzzz{{z{zyzz{yyz|z{z{zzz{zzyzyzyz{zzzzz{y{zyyzyyzyyz{zzzzzzyyzz{zzzz{zz{yyyyzzyy{y{z{z{{yyyyyzzzzz{zz{zyyzyyzyzzyzzzyyzyyyxyxzyyzzzzzyzyzyyyyyxzzzzzz{zyyxyyzxyzzzyzz{zzyyxxzyxyzzzzyyzyzyzyyzyyz{yzyyyyyzyyyyyzzzzyz{{zyxyyyyyzzzyzyyyzzzyzzyyyzzyyzzzxzyyyxyyzzyzzzyyyxyzxxyyzzyzyyzzzzzywxyyzyyzzyzzzyxyyyyxyzzy{zz{zyyyyyyyyzzzz{yzyyzyzzzyyyzyz{|yyyxyzyyyyzyzzzz{yyyxxxyyzzzzzz{yzzyzzxyyyyzz{zzzzzzyzzzzyzz{{z{{yzyzzyzyzzzzzy{{{zyyyzzz{zzyy{zzyzyz{yyzz{{zzz|zzzyzzzzzzzzyz{z{{yz{yyyzz{zzzzz{zzzzzz{yzz{z{{{|{{yyzz{z{{{{{{{{{zzzzzzzy{z{zz{z{zzzyzzyz{z{{{{zzzyzyz{yy{{z{{|z{zyyzz{z{{z{z{{zzzzxyzzy|zz{zzz{zzzyyyzzz{{yzz{yzzyyyyzxy{zy{zz{zzyxyxyyyzyyyyz{y{zyyxzx{{yz{{{zzyyzyyzzzzz{zzyzxzyzxyzzz{zxzy{zyzyyxzzyzy{zzzy{yyzyxyyyyzyyyzzz{zyyzyxxyyzzyyzzzyyxyyyyyyzzyzzzyyzyzzzx{zzzyzzzyyxzyzyyyyyzzyzzyyzyxxyyyz{zzzzzzyzyxxxyyzyyzzzzyyzyzyzyyyzzz{{zzyzyyyyyzyyzz{zzzyzyzyyzzyzzyz{zzzyzyyzyyzzyzz{zzzzyyzy{zzzz{{{zzyzzzyyyzzzzzzzzzyzyyyzyyzyy{z{{yzzyyzzxz{|zzzzzzyyyzzzz{{{{{{z{zzyzzzzyzzz|{{z{yyzyxzyyzzz{{zzzzzyzzzzz{zz{|zz{zyzzzzyy{{zz{{|{{zzzyzzzz||z{z{{{zzz{zzz{z{{{z|{{zzyzyzz{{{{z{{{{{zyz{{zz{z{{{zzx{{yy{zzz{zzyz{{zz{yyzzyz{{zzz{yzzzzyyyzzzz{y{{{zyyzxyyyyzzyzz{zzzyxyxyyzzyzzzy{zyyyyyzyzyzz{{{zzzyzzyyzzzzyyyy{zzzyyyzyzzzzzz{zyyyyyyzxyzyzzzzzzyzyyyxyzzyyyy{yyzyzyzyyyzyyzyzzzyzyyzyyzyyyzzzyzyyxyyzyyzzzzyzzyxzxxxzyyzyz{x{{zzyyzyyxzzzzzy{zyxyyyyyyy{yyyzyzzyzyzzyxzzzzy{{{xyzyzyyyzy{yyzzzzyyzyyyyzzzzzzzzzzzyyyzzzzzz{zz{zzyy{yzyz{z{zzzzzyzzyzzzzz{{zzzzzyzyxzzy{{{zz{{zz{yzz{yzz{{{z{z|zyzzzz{zyzz{{{z{zzyzzzzzzzzz{z{y{yyz{{zy{{z{{{{|zyyzzyz{z{zz{{{{zzzzzyzzy|{{z{{{zzz{zyzy{z{{{{{zzzx{{zy{z{zz{|{{yzzy{zzzz{{{{{{|z{zy{yzyzz{{zz{{{{yzyy{zz{zzzzzzyzyyyxyxzyzzzzzzyyxyyyxyyzzzzz{{yyyyyxyzzz{{zzzzxyyzyyzzyyzzz{zzyyyyxzzyyyzzyyzzzyyyxyyyyzz{zzz{zyzyyyzzyzzzyz{zyxyxyyzxzzzzz{yz{zzyyxyyyyyzzyzzzy{yyzxyzyyzyz{yzyzzxzxyyzzzzzzzzyzyxyyxy{y{zy{zyzyzyyzxzyzzyyzzzyyzyyyzzzzzzzzzzzzyyzzyzzzzzzzz{zyyyyyyzzyyy{z{zyzyzyzy{yzzzzz{yyyyyyzyzzzzzzzzzyzzyy{yz{{zz{{{yzyzzyzzz{zzzy{zzzyyyxyzy{zz{z{{zzyzyzz{yzz{{z{{zzzzzzzzzz{z{|{{{yzzzyyyzzzy{{zz{yzyyzzy{{{z{{{{zzyzz{zz{zz{{{z{z{zyz{y{z{{{{{{{zzzzzxzz{{{{|{z|zzzyzy{z{|{y{|z{zzz{yzy{zz{{z{{zzzzyzz{yy{{{z{{{{zzyz{zzzz{zzz|zyzzyzzyyzyz{zyzzxyzyyyzyyzzzzy{yyzzzyyzyy{yzzzzzzyyyyzyzzzzyz{{zzzzyyyz{zz{zzzzzyyyyxyyxzyz{z{zzyzzyzx{xzyyyyzzzzxzyyxyyyyyyzzz{zyzyyzzyyyyyy{zzyxxyyyyxzzyzyz{yyzyyyyzyyzzzzyzyyzzyyzyyyyzzzzzy{yyzyyyyzzyzzzyzyyyyyxzzyzyyzzyzyyyyyzzxyzzzzzzzyzzxzyzzzzyyyz{zyyyzyzyyzzyzz{zzzzzzzzzyz{{zzzzzzyzyzzyyz{{zzzzzz{zzzzyy{{zyyz|y{yyzyyyz{{zz{zz{yzzy{zyyz{z{{zzzzzzzzyzyyzz{z{{{{{yyzzy{z{{{{zzz|yzzzzzz{{{{zz|{zyzzzz{zyz{zzz|z{yyzzzz{z{z{y{z{{zzzzzyzzzz{z|zz|zzzzzzzzzyz{{zz{zzz{zzz{{z{z{|{zyzyzzz{zzz{z{{{{zyzzzzyy{y{zz{zyyyzzxzyzz{zzzzyyzyyyxyyyzzzyzyzxyzyxxxyzzzyzzyzyzzxxyzyzzzzzzzzzyyyyyxyyzzyzzz{yyzyyyzyzyyzzzy{yxyxyyzyx{zyyyzzyxyxyyyyyzzyzyzyyzyyyxyzyyyxzyzzyyyxyyyyyzzzzzzzyxyyxyxyyyzyy{yyzxyyyxyyyyzyyzz{yzyyyxyyyyzyzzzyyxzyyyyxxzxyz{zzyyzyy{yyyxyzzzzzyyyxyyyyzzzzzzzzzyyyxyzzzz{zyy{zyyyyxyzyzzyzyzzzyzzzyxyyx{zzzzzyyyzyyyyzzyzz{y{zzxzzzzzyzyzzz{zyzzyzyyyyyzzzzzzzzzzyzzxzzzzzyz{{zzzzyyyyzyz{{zzzzyyzyyzyz{{zz{zzzzzzzz{z{{zz{|{z{yyzy{yyzz{zyzz{zyzyyzzz{{z{zz{{zyyyzzzz{zzz{zzzzz{yzzyzzzzz{{z{{zzyzyzzzzyzz{{zzzyzzxzy{zzy{zzzzyyzzzyyz{zzyzzzyyyzyyyzyz{{yzzzzxyxyyyyzyzz{zzzzzyyyyyyzzyzyyzzzzzyzzxyzyzzyyzz{yzxyzxyyzyzzyyyyyyxxyyyzz{yzz{zzyzyzyxxyyyyy{zzyzyyyyyzzyzyyyz{zxyyzyyyxxzyz{{zyyyyyyxyxyzyzzzyyyzzyyzxxyyyzzzyyyzyzxzxyzyyzyzzzyyyyyyyxyyyyzyzyyzxyxyyzzzzzzz{zyyyzyyyzzzyzzzzzxzyyxzzzzzyyzzzzyyyyyzyyxy{zz{zzzyyzyzyyzz{z{{zzyyyzzyxzzyzzz{{zzyyzzyyzzzzz{zyzzzy{zzyzyz{{{{zyz{zzyzyzzz{z{z{zyyzzyyz{zzzz{z{{yyzyzyzz{z{|{{|zzzzyzz{z{z|z{{zzz{zzzzzz{{{{{{|{yyzzyz{zz{z{{|{{yzzzzyyzz{zz{zzzzzy{z{z{{z{|zzzz{yzzzzzyzzzz{zzz{yzzyyyyzzzzz{{yyyy{yxyzzyzzyy{zxxzxzxxyz{zyyyzzyzyyyyyzz{yzzzyzyxyyzzzzyyzzzzyyy{yxyxyzyyyzyzzzyyyxxyyyxzzyzy{yyyyyyyyyzyxzzyzyyyxyxyyyyzyyzzzyyzxyzyyyyzyyzzzyyxyxyxyyyzzyyzyyyxzzyxyyyzzyzzzyyyyxyxyyzzzzyyyzxyyyxxyyzyyyzxyyyyyyyyzyyyzyzyzxyzyyzyxyyzzzyzzyyxyzyyzzyy{zzz{yyyyyzyyyzzzzz{{yyzxzyyxzzyzyy{zzzzyyyyyyyz{zzzzyyyyyyyyyzyzz{zzzyyzzxyz{zzyyzz{zzzxzyzz{zzyzzzzyyzzzyzyz{zz{{y{zyzzyyyyz{zz{zz{{zzzzzzz{{zz{z{{{yzzyz{zzzzz{{z{zyyzyzzzzzzz{{{{zyzzzzzz{zzy{{zzzyzzzyyz{zzzzz{{{zz{z{zz{{{zz{z{zzzyzyyyy{zyz{{{zzyzyyyzzzz{zzz{yyzyyyyyyzzzzyzyyyyxyxxxyy{xyyzyyyxyyyyzyzzzyzy{zxxyyzyyyyzyzzzzzzyyyyyyzyzzyy{zyzyxxyzyyzzzzzzzyxyxyxyxyzy{yz{yzyxyyxyyyzyyxzyzzxyyyxyxzyzyyyzyyyyyxxyxxyyzyyzzyyxyxzyyyzzyzy{yyyzyyyxxzyzyxyzzzyyzyyyyyzyxxzzzxxyyyyyyzzzzzzz{zyyyyyyxyyzzzzyyyyzyyxzyyyyyzz{yzyyzywzyyzzyzzzzzxzyyyzzzyyyyzzzyyzyyyyzzyz{zzzzyyyyyyxyzzzzyzzzzyyyyzzz{zzzz{{yyzyyzyyyyy{zyzzzzzyyzyyy{zyzz{z{yyz{yyzyyz{{zz{{zyzyzyzyzz{y{z{{zzyzzyyzzzz{yz{zyz{zzzyzy{z{{{{{zyzzzzzz{zzz{z{z{yzzzzzyzzzz{z{zzzyzzyyz{z{yzz{zyyyyyzyyzyzzz{{zzzzzyyyyzzzzzyzzyyyyyxxyy{yyyzyzyyzyzzyxzzyyzzzyywyyyxxyzyzzz{zzzyyzyyyxzyyyzzy{zzzyyyyy{zz{yzzzzyyyxyyxzzyyyzzzxyyyyyyxyyyyzz{yyzyyyyyyyzzyyyzzyxyyyyyyyzyzzyzzyyxyyyyyzzzyyyyzyyyxxyyzzyzzz{yyyyyyyyyyzyyyzyyxyyyyyzyxyyyzzzzzyzyxzyyyzzyzzyzzyyyyyxyyzyyzzz{zyyyyzyzyzzzzzzzzyyzxyyzzzyzzzzzzyyyzyyyzyzy{zzzzzyyzyxzyzzzzyzzzzyzyzyxyzzzzy{{zyz{zyyzyz{zyyzzzzyzzzyzzzz{|{{z{zzzyzyzyzyz{zz{zzyzzyxyx{zzzzzzzzyyzyyzy{{zy{|{{yzzzyzzzzz{y{{{zzyz{zzy{{{z{z{{z{zyzyyy{{{{{zz{z{y{yz{yyzyzz{{{z{zyzzyyz{zz{{yzzzzzxzzzyz{z{{zzzzzzzzzzyzzzzzz{zyyzyyyyyz{zzzyzzzyxyyyyyy{zzyzy{yxyyyxzz{yyzz{z{zyyzyyxx{zzyyzzzyzzyyyyyzz{zyzy{zzzyxyyyzz{yyzzzyyyxyyzyyyzyxz{yzyzyyxxyyzzzzzyzyzyyxzyzzzzyzyzzxyxyzyyyyzzyzzzyzyzxyyxzzzzyyzzzzyyyxxyyyyyyyyzzzyzyyxyxyyyzzzzzyzzyyyxzyzyzzy{zyyyyzyyyxzyzzyzz{yzyzyyxzyzzyz{{yxyyyyzyzyy{{zzzyyyzzz{yyzyz{yzzyyzyyyzzz{zzyzzzyzyyzzzzzzyzzz{z{zyzyzzy{zyyz{{zyyzzzzzy{{{zz{zz{zzyzyzz{z{{z{{{yyzyyz{yz{z{zz{{{y{z{yzy{zzz{{{z{zzyzzzzz{{z{z{{zzzzzyzzyzz|zy{{{yzzzzzzz{z{{{zz{zzz{yz{z{zzz{{{y{y{zzzzz{y{z{{{zzzyzyyy{zzzy{{{zzzyyzzyzzzzzzzzyyzyxzyzzzzyyyyzyzz{yyzyzzzzzy{{yyyyxyyyzzyzz{zzyyyyzyyxzyzyz{{zy{zyyyyyy{{zzzyzzyxxyxyyzyzzyzz{zzyyyyzyyzyxzyz{zzyxzzyyzzzzzzzzyyyyzzyzyzxzzyyzyyyxyyyzzyyzyyzzzyyxxywyyyzyz{zyzyyyyyyyzyyzyzzzy{yyzyyxyyzzyzzzyxyyyyyyyzyzyzzzyyzxzzzyyzzz{z{zxyyyzyzzy{zzyzzzyzyzyyyzzyyzzz{{zyyyyzyzyz|{zzzzzyyyyyzyzzzzzz{zyzzyyyyyy{{zyz{zyyyzzzzz{zzzz{zzy{{zyzzzzz{{{{z{zzzz{zzy{{zyz{z{zzyzyyzxz|zzz{zz{y{zzzzyy{z{z{{{{zzzzzzz{zz{{|{{zzzzy{zzz{z{{|{zzyyzzzzyz{z{{z{{z{z{zzzz|{zzzz{{zzzzzzzzz{z{{{z{{zzy{zzz{{{zzzz{{yyzzzyy{zyzzz|zyzzyzyyzzz{zzzzyyyyzxyyyyzyyz{zzxzxyyyyyzzzzzzzy{zyyzzzyzzzy{zz{zyzzyyxzyzzzzyz{zzzxxyxyzzzzzzzyyzyxyyyzxzy{zzzyzyyyyyyyyyzzzzyyyyyyyyzyzzzzyyzzxzyxzxyyx{zzzzyyyyzyyzyyyz{zzz{zzyzxzxzxzzz{yzzzyzyyyxyyyyyzyzzzzyzyyyyyyzyzyzzzzyyy{yyyzyzzzz{{yxyzzyyy{zzzyz{zzzzyyyyyy{zzzzz|yzyyyzy{zzyzzz{{yyzyzzzzz{zzyzzzyzzzzzyyzz{zzy{zzzzzzzyyy{{zzzzzzzyzz{z{{z{{{{{{{yzyzz{zz|{zz{|{yzzyzzxzzz{{{{{zzyzyyzzz{{{zz{zz{zzzzzz{{{zz|zzz{zyzyzy{z{{zz{{zzzzzyzz{z{z{z{{{zyyy{zz{zz{zz{z|{zzz{zzzzzz{z{{{{zzyzzzyz{{{z{{z{{xyzzzy{{zzzz{zy{yzyyzy{zyzzyxyyyyyyyyxyzyyzyzzyyyyyxyyyzxzzzz{yyxyyyyyzzzzzy{yzzyxyxxxzyyzzzyyzzxyyxyxzzyyyyzzyyyyyxxyzzyyyzzyzzyyyyxyyyyyyzyzyyyyyzyyyyzzyzzzxyxxxxzyyzyyyzzyyyyyxxxyzzyyzzyzyxyxyyzyyzzz{zzzyyyyyyyyyyzzyyzzzyzyyxyyyyzyyzzzyyyyyyyyx{zzzzzzyyyy{yxzyzzzzyyzyxz{yyyxzzzyzzzzyyzxyyyzyzzyz{zyxyyyyyxzzzzzzz{zzyzyyyyy{{{{zz{y{yyzzyyzzzzzyzzzzzzyyyyyzyzzz{zzyzzzzyzyzzzzzzz{zzyyzyyz{z{z{z{{zyzzyyzzz|zzz{z{{yyzzzz{z{{z{z{z{zzyzzzzy{zz{{{z{y{zyz{yz{z{zzzz{yzyyyzzzz{{z{z{{zzyzzzy{zy{zzzzyzyyzz{zzzz{zz{{zyyyyyyzzzzzzyzzzxzyxyxzzzzzyzyzyyyyxyxxyy{zzzzzzyyyzxyyzyzyyzzzzzyxxyyyyyyz{{{zyzyyyxyzyzzyyzzzzzyyyyzxzyz{zzzzyyyzyyyxy{yyyzzyzyzyyyyyyzzzyzzyyyzyxyxxzyzzyzzzxyyyyxyyzzzzzzzzyyyyyzyyzyzzzzzzyyyyxxxyzyzyzzz{zyyyxzyyyzzyyzzyzyzyyyyxyzyyyzz|yxyzyzyxzyzzzzzzzyzyyxzzyyzy{zzzyyyzzz{zzz{xyy{zzzzyyzzzzy{yzyz{{yzzzyyzyzz{{{zzzxzyzyyyzzzzzzzzzyyzyyyzzzzy{z{zzzzzyyzzzz{z{z{z{zzyyyz{z{z{{{{{zyzzzxyy{{{z{{z{yyzzzyyy{zzzz{z{yyzyzz{yyzz{{z{zzzz{yzyzz|{{{{{zzz{zzzzy{zzz{zz{{yzyzzzzz{{z|{{z{z{z{zzz|zzz{z{zzzzyzzzzzzy{{{{zzzzzzzyyyz{zzzzzzzzzyzzzy{yzyzzyyyyyyxyyzzyzzzy{yyyyyzyzyyzzz{yzyyyyzyxy{zyzz{zzyyyzyxxyz{z{x{zzyyzxyzyyzzzzzzzzxyzzyyxxyyyyy{zzxxzyyyyyzyyzzzzzyyyzyyyzzyzzyyyzyyyyyyyyyyzzyyyzyxyxxzyyyz{yzzyyyzzyyzyzyzyzyyzzyxyyyyzyyzyyzzzzyyyxyyyxy{yzz{xzyyzxyzzwzzzyzzzzzyxzyyzzyyyyzyz{zyyzxyzzzzy{zyzzzyzyzzzyy{{zz{z{zyzyzzzyz{zz{zzzzyzxzyyyzzzzzzzyyyzyyyyy{y{yzzzz{zzzzyzzyyz{{zzzzyzzz{zzzyz{zzzzzzyzyzzyzzzzzz{zzzyzzzzz{{{zz{zzz{zzz{zzz{{y{z{||zz{z{zzz|{y{zzzzzyzzzz{zz{{z{z{{z{yyzyzyz{{z{{z{zz{zyzzzzzzzz{{yzzy{yzzzzzz{{{zzzzzyyzzzzzzy{z{zzyyyyyy{zzyyzxyyyxyyxxyyzyyyyyzyxyyyxyyy{zyzyzyzyyyyyxyzyzzzz{yyyzyxyyzzzyzyzzzzzzyxxzyyyzyyyzyxyxyxyyxxzzzyzyyyyyyxyzyyyyyxzyzzyyyzyyyyyyyyyzzyxyxyyyyyzzyyyzyyxyxxyxwzyyzyzzyyyyyyzzxyzy{yyyyyxyyzxxxxyzzyzyzxzyxxzxyy{zzyz{zyyyyxyyyyzzzyz{zyzyxzyyy{zzzzzzyyyyyyyyyyzy{yyyzxxyxyyzyzxzzyzzzzyyyyxzyyyyyy{zyzzyyyyyyzzzzyy{yyzy{zyyzzzzzzyzz{zyyzyyyyzz{zz{{yy{yyyyyy{z{z|z{zzyyyzyyzz{zzzzzzyyzzyyy{z{zzz{zzyzyyzzzy{{z|z{{{yyyyzyzz{yzz{{z{zzzzzzy{z{zzz{{{zyz{zzzz{z{zz{z{zzzzzzyzz|{z{zzy{yyzyzzzz{yz{{zyyyyzzzyzzzzzzzzzyyyyyxy{z{yzyyyxyyxzxxxyyyzxy{zzzxyyyyyzzyzyzzzzyyxzzzyzzzyzzzzyyzzyyyyyzyzyyz{zyyyyyyyzyzy{{zzyzzyyyyxzzyyxyyzxyzyyxxzyyzzyzzyzzzyyyyyzzyyyzzzyxyxyyyyxyzzy{yzyyyyyzxyyxyyzyzyyyzxxyxxyzyzzz{{zyyzyyxxyzyyzyzzzyzyyxyyyzzxyzyyyyzyyyyxzzyzyzzzyyyxzyzzyzzyzzz{yy{yyyzyz{zzzzzzzzzzyzyyzzzyyz{yzyyyzyzyzz{z{zyzzzyxyyyzzzzzyzzyzzzyyyyz{{zzzzyzyzyyzzyyyyzzzzzzyzzzzz{zzzz{zz{{zyyzyyzy{{z{z{z{zyzz{zzzzz{z{{{zzyyyyzzzz|yzy{{z{yz{zzyzyz|{z{{z{zzzyyyz{{z{z{z{{zyyz{{zz{z{{z{|zzy{z{yz{{{z{{zzzzyzyyyzzy{zzz{zzzzyyzyyz{z{zzz{zxzyxyyyzzzzyzzyyzxyyyyxzzzyyzzzyxzzyxyyyzyyyzy{zxyzzzxyzyzyzyyzzzyyyyxyyy{yyzyzzyxyxwxyyyyzzzyzzyyyxxyyy{zzyzzxyyyyyxyyzyzyyyzyyyyxyyyyyyzyyyyyyyxyxxyyyzxyyzzyyyyyyyxyzzyzzzyyzyzyyyxyyzzyzyzyyyzyxyyyxzyyz{yy{yxyyxyyyyyyzzzyxyyyyyxxzzzzzzz{zyzzyxxzyzyzzyy{yyzzxxzxzzyzzzyzxyyyxyyyz{yzyzzzyyzyzyyzzz{zyzyyyyyyyyyzzz{zy{{zyyzzzyyyyzzzz{zyzzyzzyyyzzzz{zz{zzzzyyzzz{yzzz{{zzyzyzyyzzzzzzzz{zzzyyyyzzyyzyz{{zzzyzyzz{yyz{{zzyyzzzyyzzzzzz{{zzyzyyzzy{z{z{{{zzzyzyyzzzzzz{{{zzzzzzxz{z{z{|zzyzyyyzyzzyz{zz|{zyyyxyzyyzy{zzzyzyzyyyyxzzzzzzzyyyyyyyxyyyzyzxzyyzyyyxxyxzzzyzzzyxzyyyyyyyzyz{|zzyzyyyyxzz{yyyzzzzyzyyyzzz{{yyzzzyyyyyzyyzyyzyzyzzyyyyxy{yyyyzyzyyyyyyyxyyyyxzxxzyyxyzyyyyyyyyzzyyyzyyxyyzzyyzzyzxxxyyyyyyyzzyzyyyyyyxxxxyyyyyyxzxyyyyyyxzzyyzzyyyyzyzyzzzzzzy{zzzyxzyyyzzyzyzyyzyzyyyyyyzzyyzyzxyzyzyyz{zzzzzzzzzzzyxyzy{zzzz{zyzyzzzzyzzz{zz{zzxxzzyyyyzzz{zzzzyyyzyyzz{{{zz{zzzxzyzyzyzzz{zz{yzxzyyyyz{zyzzzyzyyyzzzzz{zzzz{{zzzyyzzz{{z{{{zz{zyyyzzzy{z{zzz{zzzzyyzz{{zz{{{{zyyz{zyzz{|z|z{{{{yy{zzzy{zz{z{{{zyyy{yzyzzz{zzz{yyzyzzzyzz{yzz{yyzyzyyyzzzzzyyzyxyyzyyxyyzyyzzzzyyzyyyyyyyyzzz{zyyyzzxxzyzzzzzzzzyxzyzxzzzzxy{zzyyyxxyyzzyyzzy{yyyxyyyxyy{yyzzzyyyyzxyyzyzzxyzy{zyyyxxxyyzzyzyyyzyyyxyyzzzyy{yyzwyzxyyyyyzyzzzzyyzyyxxzyzzzzzzzzyyxzyyzyzyxzyzzzxxzxyyyyzyyyzzzyxyyyzzzzz{zzzzyyxyzzzyyzzzzyz{zzyzzzzyyzyyzyzzzyzyyyyyyzzzzzzzzzyyzzxyzyz{zzz{zyyzyyyyxyzzzy{zzyzyyzzyyzzyz{y{{zzyzyyzyzzzz{{z{zyzyyzzzzzy{{zz{zyzzyzzz{|zzz{{zzzzzzzzyz{{z{zz{{zzyyyzzzzz{y{zz|zzyyyzz{{{{zz{{zyzzzyzzz{z{zz{{zzy{zzz{z{{z|{{{z{yzzzzyzyz{|zzzz{zyzyyzz{zzz{{{zyzzyyzyzz{{{z{yyyyyyzyyzyzyyzzzzxyxxyzyzyyzzyzyzyyyxxyyyyzz{zzzzzxxyyzxyzy{zyzzyzyyyzzyzyzzyzzyzzyyzxxyyyyyyyzzyzyzyyyyyyyyyz{zyxzyyyyyyzyyzyzzyzxzxyyyyyzzyzzzyyyyzzyyzzyzyzzzyxyxwyxyyyyzyzzzyyyyyxxxyyyzzzzzzyyyyyxxzyyxzzyzzzyyyxxyzzyzy{zzyyzyyyzyyyzzzyy{yxzyyzxyzz{zzzzzzzyxzyzy{yyzyz{zyzzyyyyyzyyyyyzzyxzzyyzxzzzzy{|zzyyyyzyyzz{yyzzzzzyzxzyzz{zyzz{zyy{yzyzyyz{{zzz{zzzzzzyzz{z{z{{{zyyyzyxyzz{z{{zzzzzzyyyyz{zzzz{zzyzzyzzyyzy{{{z{zyzzyyzzz{z{{{{zzzzzzzzz{zz{{{zz{zzzyzyzz{zzzz{zzyzzzzzzzzz{zzzzzyyyzyyyzzzzzz{zzyzzzzyyz{z{z{{zyzyyyxzyyzyyzyzzzyyyxyyyzyzyzyzzyyyyxyyyzzzyyzzzyyxxyyyxzyzy{zzyzyzyyzyzyz{zzyyzyyyxyyzxzzzzy{zzyzyyxyyyxzyxzzzzzyyzyxyyyzzyyzzzzxyyyyzz{yzzzzyzyxxxxyyyzzzzzzzyxyxyyyxxzzzzzzyyyyyyyyyyyyzxyzzyzyyzyyyxyyzyxzzzyyyxyxyyyyzyzyzzyyzyyyzyy{zzzzzzyyyyyyyyyzzzzzy{zzyzyxyzzzxzxzzzyzyyyyzyzyzy{zzzyzyyzyzyyyzzzzyzyzzyzxzy{z{z{z{zzzzzzxyyzzzzzzzyzzyyxyzzyyzz{z{zyxzyyyzyyyzzzz{zzzyzyxzyzzy|z{zzzyyyyzzzzz{zzzz{zzyzzzzzzzyz{z{{{yzyyzzzy{yzzz{{yyzzzzzz{zz{zzzzzy{yyzxzzy{{z{{{zyyzyzzz{zz{z{z{z{zzyzyyzzzzz{z{zzzyzyzyz{z{{{zyzyyzxyxyyzzzyyyzzzzyxyxzz{zzzzzzyzyyyzxyzzzy{zzzyxxxzyyyzyzzzzzyzzyyyzyyzzzzxzy{zyzyyxyxzyzzz{zzzzyyyyzyyzzzyzzzzxyyzyxyyzzyyyxzyyyyyyyyzyzzyyyzzyyyyyyxzzyzyzzzzyyyxyxyzzyz{zzzzyyyyzyyyyzzyy{yzyxxyxyyzyyyyz{yyzzyyyyxy{yyzzzzyyyyyyzzyyzz{zz{yyzyzyzzy{yzz{{yzzyzyxyyzyyyz{{zzyzzzzyyzzzzzzzzzzzzzyzzzyzzzzzyyzyyyyzyzz{z{{zzzzzzzzyz{{{zy{zyzzy{yzzyzzzzzz{{yzyyyzzzz{zyz{zz{yz{yzzz{z{{zz{zzzzzyzzzz{{zzz{zz{zyyzzy{{{{z{{{zzzyyzz{z{{{z{{z{zzyzyzyzz{{zz{{zzz{zzy{z{z{{z|{{zyz{z{z{z{z{z{zzzyzyyzy{zy{{{{zzyyyyzzzzzz{zzzzyyzyzyxzzxyzyzyyzzyxzzyyy{yyzzzzyyxzxxyyzzyyzzzzyyyyyxxzzyzzzzzzzzxyyyxxyzzyyzyzzxyyyxyyyyyyxzzyzyyxzyyyyzyyy{zyzxzyyxyzyzzzyzzzxyyxyyyyyyyzzzzzyxyyyyxzyzzzyzyyyyyyxxyzyzzyyzzyyyyyyxxy{zzzyzzzyyyyzyyxzyzyz{zyzyyzxxyyzyyzyzz{yyxyyyyyyyzzz{z{xyyyyyyzzzzyyzyzzyzyywyyyzyzyzzyzyyyyyzxzyyyzzzzzxyyzyywz{zyzzyzzyzzyyyyzz{{yzzz{xyyzzxzzzzyyyzz{zzzyyyy{{{zzzzzyzzyyyzyzzz{zzz{zzyzyyzx{z{{zz{y{yzyyyyyz{yzzz{zzzzzzz{zzzzzzz{{|yzzzzzz{{z{y{{{zzyyzyzzz{zz{{zz{zyyyzzyz{{{zz{{zyzyzyyy{z{{zzzzyyyyyyzyzzz{{zzzzyyzzzyzzzzzyzzzyzzyyyyyzyzyzzzyxzyyyyyyyzzyzzzyyzxyxyyyyyyy{zzzyyyyyyzyyzyyy{zyyyzyyyyyzyzzzzzzyzyyyyxyzyzyyzy{yyyxyyyyyzzzyyzzzyyyy{yyzyzyyzzzzyzyyyyxzxzyzyz{yxyyzyyyyzyyz{zyyxyxyxyzy{zzyzzzyyzxyxxyyyz{yyzzyyyzyxyyxzzyyzzyxyxyyyyyyzyyy{yyyyyyyzyxxyyzzz{z{yzyzxyzyzzyzzz{yyzzyxyyzyyzzyzzzyyxyzxyzzz{zy{zyzyzzxzxzyyyzzzzyyyzzyzyy{{yzzz{{z{yyzyxyzz{{z{zyy{yzyyzzzz{z{{zyzzyzyzzzzyzy{{zzzyyyzxyzz{y{zyzzyyzzzyy{zz{zzzzzzzyzyzzzzz{{{{z{zzzzzzyz{zzzz|{zzzyzyzyz{zzz{{z{yzyy{z{{{{{z{z{{zzzzzy{zzzzz{zzzzyyzzzyz{{z{{z{|yyxzzzyyzz{z{z{xyzxyzyxyyzzy{yzzxyzyyxyzy{yzyyzzyzyxyzyzyzzyzz{zyzyxyyyyyzzzzyyyyzzyyzyyzzyzyzzxyyxyyyyyzzzzzyzyzyyxyyyyzzzzzzzyyxyyyyyxyzzyzzzyyyyxxyyyyyzz{zzyyzyxxxzyz{yyyzyxyzyyyxyyyyyzzyzzyyxyxyxyzyy{yzzzyyyzyyyyyyyzzzzyyyxzyyyzzyyy{{yzxyyyyyyyyy{yzyzzyyyyyyyyyyzyzz{yxyyyyzyzyyzzz{{xzzyxzyzyzzy{yzzzxzyyyyyzzyzzyyxzzzzyzyyy{zzzyzyzyyzyyyyzzzyyzzyzyzyyzyyzz{{|zzyyzyyzxzzzzzzzz{{zyzzzyzzz{zz{{zzzyyyyzyzy{z{{z{zzzyzyyzz{{zzzz|zzyzyy{yzz{{{y{|{{zyzyzzzzzzz{{{z{yxzzyyzzyzy{{{zzy{{zzzzz{zzzzzzzyyyyzzzz|y{z{zyyzyyzyzzyzzzzyzyzxzyyyyyzzyyzyzxxyyxyyxxyzyyzzyyxzyxzyxyzzzzyzzyzyyyyxyxyyzy{yzzyxyyyxyxyzzzyyzzyyxxyxyxzyzyyzz{yxyyyyxxzyzzyzyyyxyyyyxyzyzyyzzyzxyyyxyyyyzzzzyyyyyyyyyxyyzzyyyyyxyyxyxyxyyyyzzyyyyxyyyxyzyzyyyzzyyyyyywyzyyyzzxyxyyyyxyyzyyyyzyyyyxyzxyyyzz{zzzzyzyzxzzzzzyzyz{zyyyyyzyyyzz{zz{yzyyxxyyyyzzz{z{xyzxyyyzzz{yzzzyzyzyyyzyzzzzyzzzyyzzyyyzzyzyzzzzyzyyyyzzzz{z{{{{yyyzzzzzzzzzzz{z{yyzyzyyzy{zzz{z{yzyyzyyzz{zyzz{zzyyz{{zz{yz{z{{zzy|zyzyz{zz{zzzzzzzzzzzzzyzzz{zzy{zzyyz{zzz{{{zyzzy{zyy|zz{z{z|zzzxzzyzzzzz{{|zz{yyywzyzz{zzzzzyzzyyyzyzzzzy{zzxyyxxxxyxyyzzzzzzyyyyxyxyyzzyzyzyyyxyyyxyyzyz{zzyzzzyxxyyy{zyyyzxyyyxyxxyzzzyyyzyxyyzyyyyzzyxzzzyxzyyyyyyyzyzzzyyyyyyyyyyyyzzyzzyyyyzxyzyzzyzyyyyxxzxyyyyzyyyyzyzyxxyyyyyxyzyyzzzyyyyyxyyyzyzzzzyyxxyxzxyyzyzzyzzyyzyyyzyyyyzzzzyzyzyyyzyzyzzzzzyyzzyyyyzzzyyzz{yyzzyyyyzzzzzyzyzyyzyyzyyzzyzzzzzzzzyxyzz{{yy{{zzyyzzzyyyzzyyzzzzzzyyzyz{{zzzzz{yy{zzyzyzz{{z{{{zyyyzyyyz{y|z{zzzyyyzzzy{zzzz{z{yyzzyz{zz{z{zz|{{zz{zzzyzzzy{{{{{zz{{zyzzzz{zzzz{yzyyzz{zzzzzz{{zzzyzzzy{zz{{zzzzzzy{yyzzyz{zz{zz{yxyzyyxzyzzz{yzzyyxzxyyyzzzyxzyyyyyxxxyzzyzyyyzyxyyyxxyxzzyyz{zzxxyyyyyyyzzzzzzxyyxzyxyyzzzzzyzxyyxyxyyyyyy{z{yyyxyyzxyzyyyz{yyyzyyxyxyyyyyyyzxyzyxyyyyxyyyzzzyyyyyxzyxzyzzzzzyyxyyyxyyxzzzxzzyyzyxyyyzyyzzzyyyxyyzxxxyyyyzzzzyyzzyyzyyyyzzz{zxxyyyzyyzxyyyyzyyzzyzxyxyzzzzz{zzyyzyxzzzyyzzyyzzyzzyyyz{zzyyzzz{yzyzyyzyzyzzzyzzzzzzzyyyzzyyzzzzzyzyyyzzzzzy{yzzzzzyzyyzzzzzzzzzzzyyz{zzz{{{{z{yzyzzyyyzzz{{{{zzyyyyzyyzz{zzz|zzzzzzzzzzzyz{{zzzzzyzzzyz{{zz{{{zyz{zy{zz{zzz{z{{zyzzzzyzzzz{z{{zzyzyyyzzzzzzz{{yzyyzyzzzz|zzz{zzyzyyyyyz{z{zz{yzyyxyyzyzzzyyzzyyyyxyyyyy{zyzzzyyzyyyyyzyyyyyzyzyyxxyyyyzyxzzzyzyxzyyyzyyyyzxzyyyywxyxyyyyzzyzz{zyxyzxxyzzzzzzzzzyzxzyyyyxyxyyyzzyxxyyyyxzxyxyzzwyxyxyyxyyzyzzzzyyyxxyxyzyzyzyyxyxyzyxyxzyxyxz{yyxyxyyxxzyyzzzzyyyxyyxxyyyyyyzzzyyyyyxyyyyxzyzzzzyyxzxxyyzyyyyzzzzyxxyzzyyyzzzzzyyyxyyxyzyzzyzzzzzyzyxzyzzyzzyzzyy{xyzxyxy{yzyyzzxzxyyyyzzzz{yzzyyyzyyzzxzzzzz{zxzzyyyzyzzzzyzzzzyyxzyzyz{{zzz{zzy{yzzzzzzzz{{zzzzzy{y{zz{{y{yz{zzzzyyzz{zzzy{zzzzzyyzyz|zzzzz{zzyyyzzzzzzzyy{zzzzzzzyyzzzzzz{yzzyxyyxyyyzzzz{zzyzyyyyyz{{zzzzz{yyxyyyyyzzzyzzyyyyyxxyyyyyzyyzzyyyyxxxxzyyyyzz{yyxyyyyyyz{zxyy{yyyyyyxyxyyzzzzzyzxyyyxywzyzyzyyzyyyxyzxyyzyyxzzzyzzyyyyyyzyzyzzzzxyyyzyxyzzxzyyzxxxxxyyxzzyzyyyyxzyyyyyyyyzyzzzzzxyyxzyxzyzzzyyzyyyyyyyxyzyyxyyzzyxyxyyxyyyzyzzzzxyyyzxyzyyyyy{yyyyyyxyxzyzyzzzzyyzyxyyyyzzz{yzyyzyyxyyyyyyzzzzzyyzxzwyyzzzyzzyzyzyyyyyyyzzyzyzzyzyzyyyxzzyyzzzzzzyyzyyyzz{z{zyzyzzyzz{zzzz{z{{{zyzzyyxzzyzyyzzzzyyyyyzzz{{zz{zzyzzyzyzzy{zz{zzz{zzyyyzzz{z{zzz{zzzyzyzzz|{zz{z{zyxzyzzzzz{zz{z|zzyyzyzyzzzz{{|{z{zyzyzzyy{{zz{yyyyzyyyyyzyzyzzzyyyyxyxxyz{yyyzzzxyxyxzxxzzzyzzzyzyyzxyyyyzyzz{zyyyxyxyyzzyzzz{zzyzyzyyxzzzzyzzyyzzyyyyyyyzyyzzzyyzyyxxyyzyzz{zzyyxyyzyzyzzzzzzzyyyxyyxzyyzzyx{yzxyxzyzyzzzyyzzyzyyyyxxxzyzyzyyzyxyyyyxyyzyyzyzzzzyyyyyyxzyyyyzyyyxxyyyyyzyyzzzzyyzxzyyyzyzzy{zzyzxyyyyzzyyzzyz{yyzxyyzyzzzzzzzzyyyzzyzy{zzzyzzzyzzzyxzyyzzyzzy{yzxyyyyyz{zzyz{zyzzyyyzzzzz{zz{yzzyzzzyzz{{{zzyzyyzzyy{y{zz{{{y{zyyzzzxxzz{z{z{zzzyz{yzyz{{{z{zzzyzyyzzzz{zz{{{{{yzzzzyyz{zz|z{{zzz{yyzz{zz{y{|zzyzzzzzz{{z{{yzzzzzzzyzz{{z{{{{|zyzyyyzyyzzz{{{yzzy{yyyyzzy{yyzzyyyyyyyyyzzzyyyzyxxyyxyxxyyyyyyzyyyyyyyyyyxyzyyzyyyyyzzxzzyyyyyzyyyyzxxyzzzzyyzzyyxyxyyxzy{zyzyzyyyxyyyxxzzzyyzyyyxyxxyyyxyyzyyy{xyxxyxyyyyxzzyzyyxzxxyxzzzzzyzyyyyyyxwyxzzyyzzyyyxyyyyyxyxzzyyzzxyzyyyyyyyyxyzyyxxxyyyxyyyzzyzzyxxzyxxyz{zzyz{{yzyyzzyzzzyyyyz{yyyyyzyyyyzyyyzzzzzyyzyyzyzzzzzzyzzyzwzxyzyzyzyzyyzyyxywyzzzzz{yyxyyyyzyzy{xyzzyyzxzzyzyzzzz{z{{yyyxyyzyzzzzxzzzzyyzyyyyyzzz{z{zyzyz{yyzzz{zzzzyzzzyyyzyzzzzzzz{zyyzz{yyz|zz{{{{yyzyyzzzz{zz{zzz{zzy{{zyzzzz{z{|yzyzzyyzz{z{{z{{{yyyzzzzzy{zyy{zzzyzyyyxz{zzzzzzzyzyyxzzzzzzzyyyxywxxyyyy{yzyyzzyyxxyyxyzyzzzzzzzxxxyyyxzyyyzyzzyxyyxyxxyyzzyzzzzxyyxyyyyyzzyzyyxxzzxxxxyyyyzzyzyyyyxyxyyyzyyzzzzyyyyxzyzyyzzzyzyxyywyyyyyzzyzzyyyyxyywyxyyxzz{zyyyyxzxyyzzyyzzzyxyyyxxxyyyyyzyyyyyxzxyyyzyzyyzzyyyyxyxxzyyyyyzxzyyxzyxyyyzxyyy{yyyxyyyzzyyyyyyzyyyyyyyyzzzzzyyzyyzyyyyyyz{yzz{zzxzyzzxxzzzzyz|zyyzyyzyy{yzyzzzyzyzyyyyzzy{{zzz{yzyzzyzy{zz{zzz{zyzzzyyyzz{zzyzzzxzyyyzyz{zzy{zzyzyyyyyyyzzzz{{z{zzzzzzzz|yz{{{z{yz{yzyzyy{{z{zzzzyyzyyzzzzz{{{{zyzzzzyzz{z{z{zzzyzyzzyzzyzyzz{z{zyyyzyyzzz{zzzyzyyyyyyyyyyzyyyxxzywxyyxxzzyyyzyyyzxyyyxyx{zyzyyyyxxyzxxyzzyzzyzyywyyxxyyzyzzzzzyyxxyyyyzyyyyyyyyxyyyxywyzyxyzyzyyyyxyxxyzyyxyyyyxxxzyyyyyxxxyyzyyxxxxxxyyyzzzzxyxxxxyxxyxz{yzyzxxyxxxyyyxyzyyzzzxxxyyyxyyyyzyyyyzxxxzyxyzyzyzyyyyyywzxyzzzzxzz{yyyyyxyzyzzyyyz{zyyyyyyxzyyyzzyzy{zxzzzxyyyyyyzzzxzyzyyyxyyyyzzzzxyyxyyxzzzyyzzyzyzyxyzzz{yyxzyzzyxyyyxzy{zzzyyzyzyzzyxyzyyzzzzz{zzzxyzx{zzyzzzzzyz{zyyy{zyzzyzzzzy{yzzzxyzz{{z{{yxzyyzzyzyz{zz{{yzyyz{zzzzzz{{zyyyyzzyyyyyz{z{zyzyzzyxyzzy{zz{zyyyyyyzyzzyzzz{zzyxyzyyzyyzzyzzyzzyzyxzxyyyyxzyxxyyyxyxyyzyyyyyzyzzxwxyyxyzxzyzyzxxxxyxyyyyyyyzzzyyyyyxyyyzxyy{zyzyxxxyxzzyyyzy{zyyyyyyxyz{xxyzzyxyxyyxyxyzyzzxyyxyyxxxyyyyyyzyyxxxyyyxyxyyyyyzyyxyyxyxxxyzyzyyzyyyxwyxzyyxwyyzzyyyyxxxxyyyyzzyyyyyxxyxxxyyzyzyyyzyyxxxxyyxzzyyyyxxxzyxzyzyzzzzzyxzxyxzyzzyyyyzyyyxyxyyxyzyyzzyzxyyyyyyzz|yzzyzzyyyyyzyyyyyzyyzzxyzyyxyzz{yyyyzzzzyyyyyyzzzzyzzyyyzyyyyyzzzyz{zzyyyzzyyyyzz{zzzzzxyzzyyyz{z{zy{z{yyzyyzzyyzyzzz{yyzzxyzyz{z{z{{zzyzzyzyz{zz{z{zz{yyzzyyyyzz{z{z{zzyxzzyyzzz{zz{{{zyyyxyzzyzzzz{zzyyyyyyxxzz{zzzxyyyyzyyxyyzzyyyxyxwyzxyyxyzy{yzyyyxyyxyyyzyzy{zzyyyxxyyxzzyyyyzzyxyyyyxxyxyzyyyzzyyxxyxyyyzyzyy{xzxxxxxxzyyxyyyyyzyyxyxyyxyxxzyzyyyyyyxyyyyzzxyyyxyxyxxyzxyyyzzyxyxxxxxxzyyyzyyzxxyxxxyyyzyxyzzyyyxxyxyyyyzyyzyzxyxxyyyxyyyyyzzyyyzyxzxxzzyyyzzyzyyyzyywyyxyzyzzyyyyyxzzyzyyzzyyzyyyyyxxyzzzzyzzyxyyyxxzxzzyyzzy{zzyyyyyyzyzzyzzyyxyxzyyyzzyzzyyzyyzzyyyyyzzzz{yyzyxyyzzzzyyyz{zyyxzyyxyzzzy{{zz{zzzyzyyzzzzzzz{zzzyyzyzzzyzzz{zzyzzxyyy{zyzz{{z{yyzyyyyzzzzzz{zzyyyyyzzzzyz{z{zzzyyyzyyz{z{z{{zzz{yyzzyzzyzzz{yzyyyyyzyx{zzzzzyxyzyyxzyyyyzzzyyyyxyyzzwzyyyzzzzyzxyywxyyyyzzyzyyyyyxyyyzyyzzyzzzxyxxzxxyzzzz{zzzyyxyxzyyyzxyyyyzzzyyyyyxzzyyzzyyzxyyyyyyyzxyyyyyyyyxxyzyyyxyzzyxyxxxyxyzzyyyzyyxyxyyxyyyxyzzzzyyxxxyyyxyzyzzyyzyyyxyxyxxzzyyyzyyzzxyxyyzzzxyyyzxyzyyyxxzyyzzyzzyyyzzyyzz{zyyzyzyyyyzyyyxyzzzyzzzyyzxyxyz{zz{yyzyyyyyxyzyyyyyyzzyzzzyzyz{{yzyy|yzzyyyxyy{{zz{{yy{zyzzyyyyzyzz{{zyyzyzxyyyz{z{{y{yyzzyyxyz{z{zz{zzxyzyyyzz{z{z{{z{yzyzzyzzz{zzy{{{yzyzzzyy{zz{zz{zyzzzyzzzy{zz{z{zzzyyzzyz{zzyzz{zz{yyyzzz{y{{zzzyyzyzyyzyzz{zz{z{zyyyzyyy{z{yzzzzyzyyyyyyyzy{zyzyyyyyxxyyzyzzxzyyyxyyyyxyyyzyzyyzzyxxxzyyzzyzzyzyxzyyyyyyyyyxz{zyyyyxxyxzyzyyzzyyxyyzyxxyzzzyzzyzyyyyxyxzzzzz{yzyyyzxyyxzyyyyzyyyxyxyyyyyyyzyyyyyyyyyxwyyy{zzzzzzzyyxyyyyzz{xzzyyyxyyyyyyyyyzz{yxzyyyyyxzy{zyyzyyzzyzyyxzyyz{zzzyyyyyyyyyzzyzyzzyyyyyyz{yyzzzzyzyyzyyyzyzyzyyyzzzzyxyyyyzz{yzzzzzyyzyyyyyzzzzzzyzzyyzyyzzzzzy{zyyyy{zzyzyzzyz{z{yyy{zyyyz{z{{zzzzzyyyxzz{{zzzz|zzz{yzzyy{|{yzzz{zyzzzyzz{|zzz|{{zzyzzz{{z|zzz{z{{yzzzyzy{zzz{{{{zyyzzzzyz{zzz{{zzzyy{zyy{zyz{z{{yyyzzyyyzzzzz{zzzzzzzyzyz{{zzzzzzyzzzyyxz{zzyzyyyyzxyyyzyzzzzzzyzxxyyyzyzzzy{zyzyyxzyyyyyxzy{yzzyyzyyyyzyzzzzyzzzzxyyzyxxzyzy{yzyzxyyxyyyzzyyzzy{yzyyyyyyyyyzzyzyxxyyzyyzyyyzyyzyyzyxyyxzyyyzyzyyzyyyyyxyyzyzzzzyyyyxzyyzyzzyzz{yxyyyyyxyzyzyyzzyyxxyyzyyzyyzyz{yyyzzyyxzzzyyz{zyyyyyyzzyzyzyzzyzzzyyzyyyzzzz{z{xyyxyyzzyzzzzz{zyyzyyzzyzzy{{z{{zzyzyyyyzzzzz{yzyyyyyyzzz{zzy{zzyyyyzyyzy{{zzzzzyyxyyyz{{zyzz{{{{z{{zyzy{y{z{{zz{yzzzyzz{{zyzz{zzzzzyy{zzzzzz{zz{zy{zzzzzzz{zz{z{zy{z{yzz{{zzz{zzyyyzzzzzzzzzz{{zzyz{yz{{{z{zzyzyzzyzyyzzzzyz{zzzyzyzyyyzzzzzzzzzzzyyyy{zz{{{yyyxyxzyxxxxzyyyyzyxyyyxxxxzyyzzzz{zyyxxxyxyzyzzyyyyyyyxyxyyzzyyxzzyxyxyyywyyzyyyyyyxyyxyxxxyyxzzzyyxyywyyyzyzyyyzyyyxyxyxyyxyyyyzzyyyxxxyxyzyzyy{xyxxyxyxyyyyxyyzyyyzyxxxyyyxyyzyyxyxyyxyyxzyyzyyyzzxxyxyyxyyzzyyyywyyyyxyyzyyyyzzxzzyyxyyyyyzzz{zzyyyxxzyyyyzz{yzyzyyyxyyyzzyzzzzyyyzyyzxyy{zzyyyzzyxyyyyzzzzzyzz{zzyyyzzyzyyzyzyyyyzyyyyzy{zyzyzyzzxzzyzzzyzzyzzyyyyyyyyzzz{zz{zzyyyzyyz{z{yzy{{{yzyyyzyzyzz{{zzzzzzzz{xy{{{zz{zzyyzyyyyzzzyzz{zzyzzyzzzzyzz{zyzzyzzzyyzzyz{zy{zz{yyzyxzyzzzzy{zzyyyxyyyzzyzzyzzzxzyyxyyyzzzyyx{xxyyxxyxyzyzyzyyyyxywyxxzzzzzzyyyyyxyyyyzzzzyzzzzyzyyyxzzyyzyyyzyyxyzxyyyyyyyyyzyyyyyxxxzzyyxzzyyxyyxxxyzyzzyzzyxyyyzyyyyyyyyzzzyyxzyyxzyzzyzyzyyxxyxyxyyyyyyyzyxyyyxzyyyyyyyyyzyyyzyxxxyyzzyzzyzyxxyzxyxzyzzzyzzxyxyyxyzyzyzz{zyyyzyyzzxzyyzzyzzzzxxyzyyzzzzzzzyyzyxyxxyzyyzzzyyxyyyyzyyyzyzyzzyyzyyyyyzzzyyz{zyyxyyyyzzzyyyzzyyyxzyzxzyzz{z{{zzzxyzyzyy{yzxz{z{yyzyyyyzzz{{z{{zyyyzzz{zzzzzz{{zyzyyz{yyzzzyzzz{zzyyyzzzzzzz{zzzzyyyyxzzzz{zzzz{yyzyyzzyzzy{{z{zyzyyzyzzzyzzzzzzzyxzyyyz{z{z{{{zzyyzyyzzzz{{zzzzyyyyyyzyyz{yzzyxyyxyxxxzzzyyyzxyyyxxyxxyyyzyyyzyxywyyxxyyyyzyz{yyyxxyyzzyxyyzyzyxyyxwyxxzyzzzyzzyxxyyxxxyyxyyzyyxxxxyyyzyzzxyyzxyxxxxyyyxyyyyzyyxyxyyyyxyyyyzyyyxyxxxxzyyzyzzzyywzxxyxyz{yzyzzyyyxzyxyyyyzxxyzzxxxyxyxxyzyyyzzzyyyyyxxxyyyyyzzzzxyyyyyyyzzyyzzzxyyyxxzyzzyzxz{zyyzyyyxyyyxyzy{yyzyyyyyyzzyyyzzyyxyyyyyyxyzzzyzyyyyyyyyyyz{zyzzzzzzxyyyyy{z{y{zzzzyyzzyzzzzzz{zz{yyyyzyyz{zzzz{{zxyyzzzyz|zzzzzzzxzyzzzzy{zz{{zzzzyzzzzzyz{zzz{{zyzzxyzzyzzzz|{zzyyzyyzzzzzyyzzzyyyyzzyy{z{zzzzzzzzyxzzzzzz{zy{zzyxyyyyyyyzzyy{zzyyxyyyyyyyzzyz{yyxxzyxxyzzyyzzzzyxyxxxyyyzyy{yyyxyxyyxxzxzyyyxxzyyxyyyyyyzyyxyyyyyyxxyxxyzyxyyzyxxxyyyyxyyyzyzyyyxxxxxyyyyxyzzyyyxxxyyxyxyyyyyyxyxyxxyyyyyzyyyyyyyyxyxxzyz{yzxzyxxxxyzyyzyxxyyyyxxxyyxxxxyyyzxyzxyyyxxxxyzyzzyyyxzxxyyxyyzyyzyyyyyxyxxyxyzyyyzzyxzyyyxyyyzyyyzzxyyyxyzyxzzyzzyyyyyxxyxyzyyyz{zyyyxyyyxyzzyzzyzzzyyyyxxyzzyzzyyyzxyyzyzyzyzzz{zzyyyyyzyzzzy{z{zzyyyzyyzyzzzyzzzzzxyyzyyyyz{zzzz{yyyzzzzyyyyzz{yzzyzzyyyyzz{zzz{zyyzyyyyyzzzzzz{z{yyzzyxzzyzzzzz{zyzyzzyyy{yzzzzzzyyxyxyyz{y{zzzyyyyzxyyxyzy{zyzyyxyxyyxyyyyzyyyzyyxyyyyxyy{xyyzyzyzyyxyyzzzyyyzzzxyyxyyxyyyyzyzzyxxxxyxyzzzzyyyyzyxyxyxxyyyyyzzzzxyyyyxxy{zyxzzyyxyyyxxyyyzyyzzxyyxxxxxxxyyyyyzyyxwxyyyxyyyyyzzyyyyyxyxyyzzyyyyyzyyyxyyyyzzyzyzzyxyxxxxyyyyxz{zzyyyyyxyxyzyyzyzzyyzyxyxxzyyzz{zzyzzyzxyyyzzyzyzxxyzxxyyyyyzzzz{zxxyxyxyzyyzyzy{zyxyyzyyyyzyzzzy{yyzyyyxyxzzzyyzyzxyzxyyyz{zyyyzzyyyzyyyzyzzz{{z{zyyxzzyzzzy{yz{{yzyyzyxyzzzzzzzzzyyzzyzyzzzzzzz{yyzzyzyyy{zzzzzzzzyyzzyzzzzz{zzzzyzyyyyzzzyzzzzzzyzyzzzyyzzz{zz{zxxyzzyzzzyz{y{zzyyxyyzyzzyzzy{zyzzyyyzzzyyyzzzyzxzzyxyxyzzyyyzyyyxyyxyxzyzyyxzyyzzxxxyyzyzxzzyzyyywxyyyzyyyyzzzyxyxxyyyyyyyyyzyyyxxxxxxzyyzzzzzzyzyxyyyxzyxxzyyzyxyxxxyyyyyzyyyxxwyxyxxzyyyyxyyxxyxyxxxyyxyyyyxyyxyzxxzyyyyyzyzxyyyyyxyyyyyzxyyyxxyxxzxyyzyyzyyzxyxyyyyxyxyyzyyxzyxyyyyyyyzzyzzyxyyyyzxyzzyyzzzyxyyyyyyzzzzzzzzyxyyxyxyzyzzy{zzyyzxyxzyzyyyzzxzyyyxyyxxzyzzyzyyzyyyxyxyyzyzyzzzzzyxyy{yyz{zzyyzyyzyzxxyxzyzzzzzyzzzyzyzzzy{zzzz{xyyyyyyzzxzzz{{zzyyz{zyzzzzyzz{zyxyyyyyxzzz{zzzyyyyzxyyzzz{zz{zyyyyzyyyzzyzzz{yzyyyzxyyzzyyy{zzzyzxyyyyzzyzzz{{zyyyxyyyzzyzzyzzzzyyxxyxzzzyyyxyyxxyyxyxxzyyyyzzxxzyywxyzyzzz{y{yyyyyyyyzxzyzzzzyyyxyxxyyyyyxwzzzyzxxyxyyyyxzzyzyyxxxyxyxyzzyyyxyyyxyxxyyzzyyyyzyyyzxyyyyyzyyxyyxxxxzyxyxyyyxz{yzyyxyzxxyyyyzyzyyxxxxyyyzyzxyyzzyxyyyxyxyyyyxzyzyzzxxxyyxzxyxzyzxyyyxyxyyzyzzyy{yyzyyxxyyzxyyzzyyyyyyxxyzyzyzyy{zyyyxyyyyyyyzzyzyyyyzxyyy{yyz{z{yyzyyyxyzzyyyyyzzzxyxyyyyzzyyzzzzzyxyyyyzyz{{z{zxyyyzzzyzxxzzzy{zyyyyyyzy{zzzyzyzyyyzyzy{y{{{z{zzyzyyyzyzz{{zzz{zyzzzzzyzzzzz{zzzyzyyyyzzzxzz{zz{zzyzzyzyzzzyz{{zyzzzyzzyyy{zzz{zzyxyzyyyyzzzyzzyyyyzyyyzzz{zzzyyyyzzyyyyx{yy{zyxyyxxyyxyzxyyyyzyzyyxyyxyyyzyzzzyyyyyxyxzxzzz{yzyxzyxyxxxzxyyy{{xyzyxxyyzzzzzzy{zyyyxzyxwyyyyzzyyxxxyxxyyyyyyyyyxyyyxyxyyzyzyzyzxyxxxxyxxyyyzyyzzxyyyyyzyyyyyyxyyxyywyxyyzyzyzzyzyyyxxyyyzyyzyzyyyyxyyyyyyyyyzyzyyzxxzxyzyyzzzyxyyyyyzyyyzyzzyzyyxyyyyyyyyzzzyzzzxyyyywyyzz{yyzzyyyzxyyyy{{yy{yyyyzzzyyyyzzyyyz{zxxyzyyxyzzyzzzzyyzyyyzyzy{zz{yzyyyyzz{yzzyz{z{{zzyzzzyyzzzz{z{zzyzyyyzyyzzzzzz{yyyzz{zy{yzyzz{zzyyyzzyyx{{z{z{{zy{zzzzz{zzzzzzzzxyyzyyzy{yy{{z{zyyzyzzzyzzz{z{{yyyyyxzyz{zzzy{zyyzyyyyyyzzzyz{yzyzyyxyy{zyyzyyyyyxxyyxyzzyyyxzzzyyxxyxyxyyzyyzzyzyyyxyyzzyzzzyzxyyyxyxyzyyzyyyzyyyxxxyxzyzzxzyzxxyxyxxxyyyyzzyyyyyxyxyxyyzyxzzyyyyyyyyxyyzxxzyzyxyxyxyyxzyyyyzyzyyxxzwyyyyyyyzyyxxyxyyyyyyyyyy{yyxyyxxyxxyxxyyzyxxyyyyxxzzyz{yzyyxyyxyxyxzyyyyzyyyzyyzyyzzyyyzzyyyzyzyxzzyzzz{zyyyyyyyyxzzzyzyzzyyyyyyyzyzyzyyzzxyzzzyyyzzyyzzzzyyzxyzzzzyzzzz{zzzyzzyyyzyz{zzzzyyyzyzyyzzzzz{{zyzyyyyzzzyyzyzzzxyyzyyy{zzyzzzzyyzxyz{yzyzyz{zzzyzyzzyzz{z{{z{{zzz{yyyy{y{{yzzz{zyzyzyzyzzzzzz{yzzyzyyyyzz{yz{{yyyzyyyzyzyzyyzzzyyyyyxzyyzzzzzyyyyyyx{zz{yyzzzyyxxyxxxxyxyyyyyzzyxxxyxyyyyzzyzzxywxyyyyy{xxy{yyyyyyyxyzyzzyx{z{yyzywxzyzzxyyyzzyxyyyxzyzxyzzyzxyxyxyyzyyyzxxyyyyyyxxzxxxyxyzyyyyxxxyxxxyyyyzyzxyxwyxxxwyyzyyyzxyxyzxzyxxzzyyz{zywxzxxwyxyyxyzzzyyyxxyxyxzyzzzyzxyyyyyyyxyyzyzzyzyyyzyyyzzyyyzz{yyyyyyyyy{yyzyyzxyyxyyyyyzyzzzyzzzyyxyyyyzzz{zyzyyyyyxyyyzzyyyzzyyyzyyzyzz{zz{xyyyzxyyyyzzzzzz{{yzzzzyzzyzz{z{z{yyzzyyyyzz{z{z|zzyyzzxyyy{z{z{{{{{zyzzyzzzzzy{z{zyyyzzzyy{z{z{zzzzyzyyzzzz{zz{z{zyzyzyyyzzy{zyz{z{yzzzyyyzzzzz|zyzxzzzyyyyzzzzzyzyyyyyzxzzz{y{z{yxyyxxyyzyzyyyyxyyxxyyxxzzzyyyzzyxzyzxxyzyzyyz{yyyyyyxyyzyyyzzyyzxxyxzyyyyyzyyzyyyyyxyyyyyzyyyyyxyyyyyzxzyzyyzy{yxzyyyxzyyzyyyyzyyyxyyxzyzyyyyzyyyyxxxyxyzzyy{zzyyyxxzwxxyyzyyyyyzzxxxyxyzyzyyzyzzyyyyyxxyzyyzyzzyyyxxyyyzxyzzyzyyyxzyyxzzzzyzzzzyyyyxyyyyzyyyz{yy{yyxxxzyzzyyzzyxzxyyyyzyyyyz{zyyyyyyzyzzzzz{zzzzyyyyyyz{zyyy{yzyyzzyxzzzyyyzyxzyyyyyyzzzzzzzz{yyyzzz{zz{zyzzz{zyz{yzxyyz{z{z{zzyyyzyzzzzzyzzz{zyzyyzyzy{yz{{z{{zyzyzzyy{zzzz{zzyzzyzzy{zy{zz{zzyzzyzzzzzz{zzzzzyyyzzyzzzzzzz{{{zyyyyyyzzyyz{{zzyyzyyzyz{zzyzyzzyuyyyzxz{zzzzyyzyyyyyxxy{zyzyyzyyyxxxyxyyzyy{zyxxxyxyzyyyyy{yyzzyzxzxyxyyyzxzyzyyxxwwzxyyyyyyzyxyxxxyxxyyyyyz{yyzxyyxyxyxyyzzyyyzxxyyyyyxyyxxyzwwxyxxyxyyyzyyzyyxyxxxxyyyzxyzyyyxyyxyywyxyzyzyzzyxyxyzxxyyyyzxzyyyxyyyxxzyyyzzzxyyyyxyyyyzyzyzzzxzyyyyxyzyyyzzzzyyyyxyyyyzzyyy{yyyzyxyxyyzyzyzyyyyzxyyyyz{zyyzzzyyyyyyyyyzyyz{yzyzyxyyyzz{zyzy{zyyyyxyyyzzzzzyzxxzzyyyxzzyzyyz{zxyzyyyy{{zzzz{yyzyzzzzy{zzzz{zzyyyyzyzzzzyzz{{zzxzzyzzyz{y{zz{zzyzyyzyy{yzyz{{zzyzxzzyzzz{zzzzzz{yyzzyzzzzzzz{{yyyyyyzzzzzzzzzz{yyzyzyyyzzyyzzyyyyxyyyzyyyyyxxywyyxxyxyxyyyxyyzyxyyyxzyyyzyzzy{yyxxxyxyzzzyyyzyyyyyyyxxxzyzyyyyyyzxxxxxyyyzzyyzxxyyzxxxyzzyxyyyzxyxxyxyyyyyyzzyxxyyxyyxyyyzyzyyxxxyyxxxyxyyyxzzyxyyxxyzzxyyyzyyxxyyxyyxyzzxyyzyyyyxxyywyyxyyyyzzxxxxxyxyyyzyyyzyxzyxyxxyyyzyyyyyxxyyyyyzzzy{yyyyxyyxyyyzzyyxzyzzxyxxyyyzzxzzyzyzzyzzyyxyzy{yyyyyxxxyyxyzyzyzzzzxyyyyyyxzyyyzyzyzyyyyyyyzzzyz{z{yzzyyxyyzyy{z{{{yyyyyyxyzzzz{yzzyyzyzzyzzzy{z{{{yyzzzyzyy{y{zzy{zzyyyzyzzzzyz{zzyzzyyyyz{zzzyzz{zyy{{yyzz{zzz{y{yyyzzzyyzzzzzzzzzzzxzzzyzzzzzzzzzyyzxyyyy{zyy{xzyyyxyyyxyyzzzyyzyxyzyyyxyyyyzyzzxyxxzxxxyyzzyyzzxyyxyxywyyyxzyzzyxzxyyxxyyyyyyyzyyzwxyxxyyyzyyyzyxyyxxxxzyzzyzzyzyyyxyyyxzzyyzyzzyxyxxyxyyyyyzzzxxyxzxyxyxyzyyyyyxwyxxxxyyzxxyzyxyyyyxwyyyyzyyzzyyxxyyzyxyxyyzyyxyxxxxxwyzyyyzzyyyyyxzyyxzyzzzyzyyzyyyxyzzyzyyzzzxzyzxyyzyyyyyyyzyyyyyxyzzzzyyyyzyyxxxxxyyzzyzzzzzyyxyyyzz{zzzzzyxyyzyxz{zzyyzzxyzzyyyyyyy{z{yyzyyyyzzyyzzzzzzz{yyxyyyxxzzy{yyzyzyyzzzzzzzyzyz{{zyzyyzzzzyz{z{z{zyyzyzyyzzzzzz{{yyzzzyyy{{zy{{zyzyzzzzyyyzzzzyzyzyyzyzxyzzzzzzyzzzxyyzyyyyzzz{zyzyyyyzxyzzzzzzzyyyyzyyxyzzyyxzyyyyxxyxxyxzyxzyyyyyyyxxxxxyyyyzyyxxxxxzyxyyxxzyzyyxxyyyxyyyyxyyyzzxzxyyyyyyxyyzzyxxwxxxyyxywyxzzyyxxxyyxxyyzxyyzzyxwxxwyxyyyzxyzyxxxyyxxxxyxzyyzyyxxxyyxyxyyyyzyyxxxxyyxwxyyyyzyxyxyyyyxwxzzyyyzyyyxyxxxyyxyxyyxzyxzyyxxxxyyyzyyzyyxyxyyyyyyzxyyyyyyyxxyyyyzxyzyzyyyxyxyyyzyxyzzzzyyyyxxxyzzyyyzyyyxxyyyxyzzyzyzyzyxxyyyyzyyyzzyzyzyyzxzy{zyzzz{zzyzyyyyyyyyzzzz{zzzyyyyzyzzzzz{zyxyyzyxy{zyzyzzzzyzyyzyzzzzy{zyz{zyxzyzy{{z{zyzz{yzyyzxz{zyzyz|yzyxxzyyyzy{yz{{{zzzyyyyyyzzzzy{zyyyyyyyzzyzzzzzzzxxyxyyzyzyzzxzyxzyxxyzxyzzzyzzxyyyxxxxyxzxyyyxzyyxxyyxxzzzyzyz{xxywxxxy{yzyyyyzyyyyyyxyyzzzyyzzxyxxyyxxyyzyyxyzyyyyyyxxzyzyyz{yyyyzyxyxxyzxyyyyxyyxyyyyyzyyyyzzxxyxxxxyxyyxyyyyyyyzxyxyyyzzyyyyxxyxwyyyyyzyyzyxyyyyyxyxyyyyyzyyyxyyyxyyxyyxxzyyyxyyyyyxyyyzy{yyyyyxyxyyzyzyyyy{yyzyxyyyyyzzyzzzzxyyyxxxyzzyyyzzzyyzzxzxyyyyzzyyyyyyyyyxyyzzyyzyzyyxzxxxyyzyyz{zzyyyxyyyzzzyzzyzyzzyzzxyzyzzy{z{yzyyyzyz{z{z{z{zyxyxyyzy{yzzzz{{yzzyyzyzzz{z{zzzzyyyyyzyz{zz{{{zzyzyyyyz{zz{zzzzzyzyyyyzzzz{z{{{zzzyxyyzyzz{zzz{zzzxyyyyy{zzzz|zzyyyyyyyyyzzyzyzyyyxyyyyyzyzyyyxxzxzxyyxzzyyzyyzzyyyxxyyyyzyyyzzyxzyyyxzzyyzyzzzyxxzxyyxyzyzyzzzyyyxyyxyyzzyzzyzyxyyyzzxyzzyyzzyzyzyxyzxzyyzyyzzzyyyxyyzzyzyxzyyzyzyyxyxzyyyyzyyyyzyyyxyyyzyzyzyyzyyyyyyyyyzzzyyzzyyzyyxzzyzyyyzzyxyzyxyyyyyz{zzyyyyxzyxyyyyzyzzyyyzyxyyyzzyyzzzyyzyyyyyyzzyzzzzyyzzyxyzzzzyyz{zyyzyyyyzzzzzzzyzyyyyzyyxzzyyyyzzyyyzyzyzz{zzyz{zzzzyzyyzyz{zzzzzyzzyyzyyzzy{zz{z{zzzzyzzyzzz{{zzzyyzzyyyzyzyzz{{z{zzzzzyz{|{zz{z{yzzyz{zz{z{zzzzzyzzyzzzzz{{zz{z{zyzzzzyy{zzzzzzzyyzz{yzzzyzzzzzzzzxzyyyzyzzzzzzzzyzyxzyyyzzzz{yyyzy{yxy{zzyyxyzxxyzzyxxyzzyzzzyyyxyyxyxyyyzzzyzyyyxyyyyzyyyyzzzyyzyyxxyz{zzzzzyyyyyyxxyyyzyy{z{yyyyxyyyyyyyzzzyyyzyyxxxzyzxzyzzyyzyyyyyzzyyyzz{yzxyyyxyyyyyzzyzyyyyxyyyyzyzy{zzzzyzyyxyyz{zzzzzzyxyyyyyyzyyyyzzzzyxyyyyzzyyy{zyxyxyzyxyyzyzyz{zyyyyyyyxzzzyzzzyyyyxyyzxzzzyz{yzyzyzwyzyzzzzxzzzyyzzzyyyyzzyzzyzyxzyyzxyzzzzy{zzzyzyyzyzz{zzzzzyzyyyyyyzyzz{y{{zzyz{zyyz{zz{z{{zyzyyyyxyz{zzy{zyzyyzzzy{{z{zz{{{yz{zz{zzz{z{{zz{{yzyyyyyy{z{z{z{zyzyyyzyz{zzzz{{zzzz{zzyz{zyzz{{yzzy{zyy{z{zy{z{yzyyzyzyzzz|{{{zzyyzyzyzzzzzzzzzzyyyxyyyzzzzzyyyxzxzyxyxyzzzzz{yzzyyyyxzyzyyzzyzyyzxyyyxyzyzzyyzyyzyyyyyzzyyyzyzzyyzyxzyyyzyzzzzzxxyzyyyzzyzyzyyyxyyyyyyyz{yyyzyxyyzxxxxzyxzyyzzyxxyyzyxyxyzzyzyzxyyxxyyyyyxzyyyyzxyyzxxyyzyxzzzyyyxyxxyyyyyyyzzzyyxywyxyzyxyzyyyyyzyxyxzzyyz{{{yyzyyyyyzzyyzzyzyzyxyyyyzyzzy{zyzyyxxxxyyyzyzzzzzyyzzyyyy{y{zzyyzyzyzyyyzzzzzz|yyzxyyyyyzyzzzzzzzzzzyzxzzzzzzz{{zyyzzyzxzzz{{{{zy{zzyzyyzzzzz{{{zyzyyyyyz{y{{yzzzyzzz{zzzyzz{zz{{yzyy{yzy{zz{{z{zxyzzyyx{{z{zzzzyzyyzzyzzzzzzzzzzzzxzyxyzzzzzzz{zzyxzzyyyz{zyzzz{yzyzyyyzzzzyz{zyyxyyxzyyyzz{yyyyyxxxxyxyzyyzyz{yyyyyyxwyyyyzyyyxyyyxyyxzyyxzyzzyyyxyxyzzyyyyyzyzyyxyxxxzzyyyyyyyyyyxxyxyyzyzyzzzyyxzyxwyyzyyxzyxyyyxyyxyyyzzyzzyxzxxyxyxyzy{zyyyxxyxyxxyyzyzxyzyyyyxyyyzxzzzzzyyyxyyyyxzyyzyyyyyyyxzyyxyzyyx{zzxyyzyzyxyyzzxyzyzxyyyyyyyyzzzxzyxyyyxyyyzzyyzyyzxyyyxxyyyzzyyzzzyyyyzyyyy{zyyyzyyyyyyyyyyz{yzyzzzyyyzyyyzyzyzzzzyyyxzyzyzzzzzzzzyzzyyzyxzzz{zz{zzzyyzyyy{zzz{{{{zyyzzzzzzzz{{zzzzzxzyzz{xzxzzzz{{z{yyzyzyzy{zzz{zzzyxyyz{zz{z{zzzzzzyzyzzzzzzz{zzzyyyzyzzzzz{zz{zyzyzzxzyzzyyzzzzyyyyzyyyzy{y{zyyzyxyyzzyyzzyyyyyyyxywxyxzzyzyyyyyxyxyyxyyyyyyzyyyyxxyxxyxyzyyzyzyyxyyyxyyyyzyzzyyzwxwxyzyyyzzzyyyyxyxyxyxyyyyzyyyyxyyyyzyyyyzyyzyyxwxyyxyxzxzyyxxxxxxxyyyyyyzyyyxxyxyxzxxyyzxzzyxyyxyywyzyxyyzyyxyyyyxxxyyyyyyzzyxwyxyyxyyyyyzzyxyxxyyxyyyzyyzzyxyyxyyyyyyyzyyyxyyyyxyyyyzzyyyzxyzyyxxyyyzzyzzzzyyyyyyyxzzzyzyzxyxyyyxxyzzyyzzyzyxyyxxyzzyzyzyzzyyyzyyyyzzzzzyzzzzyyz{z{zzyzyzzxyzxyyyxzzzyyzzzzyyy{xyyzyzzzyzzzyyzzxzzzz{zzz{zzy{yyyzzzzz{{zzyzyyzyzxzz{z{zzzzzzzyyyyyyyzzzy{zzyyy{yzzzzzzzzzzyyyxyyyyyyyyzxzzzzzyyyxxzzzzzzzyyyyyyxxyxyzzyzzyxyxyxxyyzyzzzyyzzyyxyxxxyyyyzzzzzxxyxyyxyyzyzyzyzyyzyxyyyyzzyyyzzxzyyxyxyyyzzyzzyxzyyyyyyzyyyzzzxyyxyxxyzxzyxyyxxyyyxxxxyxzzyzzyyxyzyxyxxyzyyz{yzyyxyzyxxyyzzzzyyyyxxyxyyyzyzzyzyxxyxxxxyyzyyyyzyyyyyyzyxzxyzzzzyxxyy{wxyzzyyyzzzyzyyyyyzxyzyzyyyyyyyxyyyzyzyyzzyxzyyyyyzzzz{zzzyxyzzxyxyzyyyz{zyyyzzzyzyzzzyzzzyxyyyyyyzzzyzzzz{yzyyxxyzzzzzzy{yyzyzyyzy{yyzzzzxzyzyzyxzyyzzzzyyzzzzyzzzzz{{zzzzyzyzzzzzzzz{z{{|zzzzzyzz{z{zzz{zyzzyyzzzz{zzzzyz{yzyyy{zzzzz{{{yyyzyzyz{zzzzzzzzyyxz{yyzy{zy{zyyzzyyxyy{zzz{zzyzxyyyxyyyz{zzyxyxxywywxyxzyyyyyyzyyywyxxyxyyyxzyyyyxyyxyzyyyyzyzyxxyzxyyzyyzyxzyyyywxxxxyxzzzzzzxyzyyyyxyyxyzyzzyxxyxyyxxyzyxyzyyyyxxyxxzyxzyzyyywyxyxxyyyyyxxzzyxxxyyxxxzzyzyyyzyyyxxyyxyyyzyyyyyyxxxzxyyyyyyyyyyyxyxzyyyyyx{z{xyyx{zyyyzyyzyyyyyxyzyzyyzyyyyzyyyxyyyyxyzzzyzyzyyxxyyyyyyzyyyzzyyyyxyyyzzzyzzzzzyxyzyyyyzzyzyzyyyyyyyxyzzyyz{zyzyyyxyzyzyyzzzzyyzyyzzyyyzyzy{zzzxzyyyyyyxyyzyzzzyzzyyyyzzzzzzzzyyyyxyyzzzzy{z{{zyyyz{zyzz{zy{zzzyzzyyzyzzzzz{{zzyyzzzzyyzyyzyzzzyzyyyzyzz{z{zz{zzyyyyyzzzx{yzzzzzzxyzyyzzzzzz|zyxyyxxxyzyyyyzyyxyxwyxxxyzzyyyyyyyxyxyyxyyyyyzzyxyyxxyxxzxyyyzzyzywxyxyyyyzzyyz{xxyyxxyyzyyyzzzzzxyxyyxyyyxyxyyyzyyyyyxxyyzzyzyyzyyyyxyyyyyyyyyzxyxxxyxxxzxyxyzyyxwwxyxyxxzzzzyyyyyxyxxxxyyyyxyzyxyyyyxxyyyyyzxyyyyxyyyxyxyxyyzyyyxxyyxyyyyyyyzzzyxyyxyyxzyyyyy{yxzxxxxyzyyyyyzzxyyyyxyzyzyzyz{yzyyyzyyxyzyzyyyyyyyyyzyxyy{yyyyyyyyyyyyyyzzzzyzzyyyyyyzyxyzzzzz{yxyyyzyyyzyzz{yyzyyyzxyyzzzzzyzyyyxyyyxyzyzzzz|yyzzyyyzxzzz{zzzz{zyzyzzzy{zyz{z{zyzzzzyyzzzzy{zzyyzzyyzzyyz{yzzzzzzzzyyyzzzyzzzzyyzzxxyyzzzzyz{zzyyyyyyzzx{zyz{zyyyyyxxzyzyzyyzyyyxyxyyxxyyyyyyzyxxxxxyxyzxyzyzzyxyxyyyxxyyyyyyyyxxxxxxxyyyzyxzzyyxxxyxxxyyyyzzyxyxyyxyxyyyyzyxyyyyyxyxxyyzxzyyyyyzxyyxxyyxyxxyyxxyxzyxyyyyyxzzyyyxyxyxyyyyyyzyyyxyyxxxyxyyzzyyyyxyyzxyyyzyxyyzyyyyxxxyyxzyxzyxyyxxxyyxyyyzyzyzzyxyxyxyxyyzyyyy{yyyyyxyyzyyyyyzyxxyyyyyyzyyy{zyyyyzxyxzyzzzyyzyyyyyyyxyyzzzzzz{zzyxyywxyyzzyyzzxyxzyyxyyyyz{y{{zyyzyyyzyzzzzzz{zyzzyyyyyy{{y{z{{zxzzzyyyyz{zyz{{yyyxyyzyyzzz{zzzzyyyzz{yzz{zz{z{zyzzyyzz{z{{zzzyzxyyzyyyzzzyzz{zzyyyyyyzzzy{zzzyzyyxyxyzzzyyzzzzyyzzyzyyzzyzyz{yyyyyxxyxyzzyyxyyzyyxyxxyy{yyyyyzyyyyyyyxyxyyyzzzyyyxyyzyyyzyyyzyyxyxyyxxyyzyzyy{zyxxxyxwyzxyyzxyyxyxxyyyyzyzyyzxyyxxyzyxyyyyyyyzyyyxyxxyyyyzyzyyyywyyyyxxyxxyz{yyyyxxyxyyyyyyzzzyyyzyyyyxyyzzyzzzyyyyyzxyyxyxyzyyywyyxxyxyxyy{zzyyyxyxyz{yyyzzzyyxxyyxzyzz{yxyzzyyzyzyyyzzyyzzzzyyyyyyyxyzzzyyzyyyzxzxyyyzzzzzzyyyyyzyzxyyyyzz{yzzyzyzyyyzzz{zyzyyyyzzyzyzy{zzzzxyyzzy{y{zyzzzzzxzyyyyyyyz{zzzzyzyyzzzyz{{y{{zzzzzzzyz{zzz{zz{{yzzzyyzyyz{zy{{|{zy{z{yyz|{zzz{zzyyzyyyzyzyzzzyzzzzyyzyyz{z{{{zzzyzzyyzyzy{{zzz{zyzxzzzzyzzz{yzzyzyzxzyyyzz{z{zyyzyyxxxzxyzzyzyzyxyyyxxyxyzyzzyzyzyzxyyyxyxyxyyyzyzzxyxwxyyyyyz{yyyyyyyywyyzzyzzzyxyyyyxxyzyxyyyyyyxyyyxyyyzyyyzzyyyyxyxxyyzzyy{zyyxyxxyyyyzyxyyyyyyyxxyxyyzzyyyzyxyzxyxyyxxzyzzzzyyxxwyyyzzzxyzyyyxxxxyxxzzzyyyyyxxyyyyyyzzyzyzyyxyyyyyyzz{yyzy{yzyzyyzzyyzzyzzzyzyxyyyzxzyzzyyzzyyzywzy{zy{yyyyyyzyyzzyz{zyzz{zzyxyyzyxzz{yyzzy{zzyyyyzyzzzz{{zyyyyyyzzzzy{{yzzzyyzzxyzz{zzyz{yyxyyzzx{zzz|{{zzy{zzyzzyzzzzzz{zyzzyzyzy{|{z{{|zzyzzyyyzyz{z{z|zyzyyzyxzz{y{z{zzzzzzyyyyzzzzzzz{zyyyyyyyyyyyzy{zyy{yyyyxzzzyzzzzyzzyyyyyyzzzzzyzyyyyyyyyyyyyzyzzzxxyxxxxyzyxzyyzyxxyyyxyxyzzyyzzxxzyyyyyyzyyyyyzyyzxxyzxzyyzyyzyyxxxywxyyzyyxyyxyyyxxyxxxyyzyyzyxyyyxyyxyyyyyzxyxxyyyyxxyyzyxzzyyxyzyxxxzyyyzyzzyyyyxyxyzyyzzyyzyyyxxxyxzyyyyzzyzyywyyxyxyyyzzzzzxyxyyyxyyzzyzzzzyzyyxyyyyzzzzz{zzyzxxyyzyzzzyyzyxyzyyyyyzzyy{zyzxyyyyxxzzyzzyyxzxzyyyyyyyzzzyzzzyxyyyyyzzzyyyzzyyyyzyyyyyyzzzy{yzzzyyyyy{zz{yzzzyyzyyyyyzy{zz{yzyzyyzzyz{{{zzzzz{zzyyzzy{zzz{z{zzzzyzxzzz{z{z{zzyyzyzyyz{yy{zzzzyyzzzzzzyz{zz{zzyzyyyzyzzz{zzz{zzzzyyzyyzyzy{z{zzxyyyyzzyz{zzzyxxzyyyxzzyyz{zyzyxxyyyxxyzyzyyzyyyyyyxyyxyyyzyzzzzyxyzxyyyyzyzyyyyyyyxxyyzzyxzzzyyyyyzyyzyzyxzyzyyyyxyyxyyxyyxyzyyyyyyyxyyzyyyzyyyyyxyxxyyyyyzyyyzyyxxyyxzyyyyzyyxyxxxxxzyzzzzzyyyyyyyyyyzzyzzzyyyyxyxyyyxyyyyy{yyxxxxzxzzyyyz{zxyxyzxyxyyzzyyzzyzyyyyyxzzyzyyzzyxyyyyyyyyyyyyyyyzyxyyxyzyzzzy{{yyyyyyyyy{yyzzyzyyyyyyzyzxzyzzzzzxyzxxyzzyzyzzzzyyyxzzyzzzz{zzyzzyzyzzzyz{zz{zzzzyzzzyzyyxz|z{{{zyyxxzzzz{zz{z{{yzzxyzyzxyyzzyzz{zyyxzzzyzzzzy{zzyyyyzyyz{zzz{z{zyxyyx{zyyzzz{z{zzyzzyzyzyzyzzzzzyzyzzyyyzyyzz{zzyzyzyyyzyzzyz{zxyzyyxyyzzzzyzyzxxyxxxxyyzyxzxzzxxyyyyxxyzzzzz{zzyxxxyyxzyzzzzzyzxxyzyxxyyzzyyzzyxxxxxyxyyyyyyyzyxyxyyxyyyyyyzzzyxyxyyyxzyyxyyyyyzyxyyyyxzzxyzyzxxxyyyxxxyyyxzzyyyyxwywyyyyxyyzyyxyxxyxxyyzyyyyyyyzyxyyxxyyxyyyyzyyyyxwwxyyzzzzyyxyyxyyxyyzzyzzzyyxyyxyxyzzxyzzyyxyyxxyyyzyzyyzyzxyzxzyyyzzyzxyyzyyxyyzxxzzyzzyzzyyyyyyyzzyzyxzzyyyzzyyyzyzyzyzzyxyyzxyyz{zzzzz{zyzxyzxy{yyzzzz{yyyyyyyyx{{yyzzzzyxyzyzyy{zyyzzzzzzzxzzyyzzzzzzz{yzyyzzyz|z{zy{yyyzyyyzz{zyzy|yzzyyzyzyzy{zz{zy{zzyxyyyy{{z{zzzzyzzxy{yzzzzzzyzzyyzyzxyyzzzyxz{{zyyxyyxyyzzzyzyyxyyyyxyxyyzyyyy{ywxyxxyzzzz{yyyzyzyxyyyxyyzyzyyyyxyxyxyxyyyzyxyyxxyyyyxxzyzyzzzyzyyxyyyyyywzyzyyxyyxyxwxyyyyyyyyyxyxyyyxxzyyyzyyyxyyyxywyyyzyyzzyxyxyyxyyyyyyyyyxxxxxywxxzyzzyyzxxxyxxyyyyyyyyzzyyyxxyyxxzyyxzzyxxzxzyzyxzxxyyzzzyxyyyyyyzzyyxzxyxyyzxyyyyzzy{zyyzyyyyzxxyzyzzyyyyyyyyzxzyzzzyzyyxxxyyzyzyzyyyzyyyyyyzyyyyzyyzyzzzxxyyzyyzzzzzzyyyyyyxyyzyzzzy{zyzyyzxyyzzzy{xzyyyzzyyyyzzzyzzzzzyyyzyyzzzzzz{{{{zzzz{zyy|zzzz{z{zzyzyyzzzyzzzzzzyyzyyyyzzyzzzy{zyyyzyyy{{yz{zz{yyzxyxyyyz{zzzzzzzyyzyyxzzzzzy{zyyyzyyyzxyyzzyyzyxxyyxywx{xyxyyyyxxxxyxxyyyyyzz{zyzxyxzxyyzyzyzzyxyyxxxyyyzyyyyyyxyyxxxwyyyyxyyyxxxyyxxxzyyyyzxxzyyxyyxyyyzyyyzyyyyxyxxxyyyyxzzyyxwyxyxxzzxyyzzyyxyxxxxyxzyyzyzyxwzxxyyxyyzyyyyzxxyxyxyxyyyzyzyyzyxxyxxxxyyyzzyyxxyxyyyyyyyyyyyzyyyyyyxyzyzyyyyzyyyzxyyyyzzzyzyzyyyxyyxyzzyyyyzyzxxxyyxxyyyzxzzzyyxyyyxyyyzzyzyzyyyyyzyy{zxyzzzzyyyyzyyyyzyzyzz{yzyyzyyyzzzyy{zzyzyyyyyyyyzzzyzyzyyyzyyyyyzzzyzzzyzzzzzzzyzyyzzz{yyxzzyyzz{zyzzzzyzyzyzzyyzzyzzzyyyzzyyyyzzyzz{{zyxyzyyyyz{zzz{zzzyyy{xyyzzzzzzzyzyyxxyyyz{yzyzyyxzyxyyxyzzzzzyzzxxxxxxxyzzyyyyyyxxyxxyyyyzyyyzyyyyyxyyxxzyzzyyyzxzxxxxyyzyyzxzxyyxwxyxxxyyyzzzzyxyxyxyxxzyyyzzyxxxxyyzyyyzxyyyyxyyxyxyyxyyyxzyyxyxyxwxxyyyyyyyyyyxyxxwxyyyyzzyyyxyyyyyxyyzyzzzyyyyxxyyyxyyxz{yzyyyxyxyxyzyyy{zyxxyxyyxxyzyyyzzyyyyyyxyyyyyzyyzyxxyxyxxyyzzyzzxzxyyyxxyxyzzyyyz{yyzyzyyzyzyyyzyzzyyyzyxyyzyzzxyyzyyzxyxyzyyyzzzyyyzzzzyzyzyzzzzyyyyyzyyyzzz{yyzzyzyzyxyyyzzzyz{zzyzyyyyyzzzy{z{zyzyyyzzyz{y{zzz{zyy{xzyzz{zyz{z{zzzyzz{x{z{yz{{zyyzyyyyyyzzyzz{{zzzzzzyyyzyzzzy{zyyyzxxyzzzyyzzz{zyyyzyxyzyyzyyyyyyyyxyxyyyzyyzyxzxxyxxyyyyyzzxyyxxyyxxyzzyzzyzzyxxxyxyyyxyyyyzzywyyyyyxyxyyxxy{yyyxxxyxyyyyzzzzyxyxyyyxyzyyzzyyyyyxxyxxxyyyyzyyxyyxyxxyyxxyxyzyxxxxxxxyyxxyzxyyyxzyxyxyxxyyzxyyyxxzwyxxyxyyzyyxzxyyxwyxyyyyyyzxyxyxyxxxxzyyzyyyxyyyxxwxyzzzzyzzzyyxxxxzxyzyyzzzzyyyyxyyyyyyyzzzyyyyxyyxyyxzyzzyyyyzyyxyyxyzyzyyyyxyxyyxyzzyzy{yzzyyxxzzyyyyyzzyzzxyyzxxyzyzzzyzxzzyyyzyzyzzzz{{zy{yyyyyzzy{{y{zzxyxyyyy{{zyzzzzzzyzyyzzz{zzzy{zzz{zzzyyzz{zyzzzzyyyxyyzzyzy{zzzyyyzzyzzzzzzzz{zzxzyzzzzzzzzzzzzzzzyyyyyyzzzyzyyzyyzyyyxxzz{zzyzyyyxywyyyyzyzyzyxxxxyyxyyyyyyyyzxyywxxwyzyzzyzzyyyxxxzxxyyxzyyyyxyyyywxyxyxzxzzzyyyyyxyyyyzzyyyzxyxyxxyxyyyyyzyxyyxyyxxyyxyyyyyyyxyxwyyyyyxyxxzyyywyyxyyxyyzyyyzyxxxxyxxxyzyyyyyyyxzxyyxyxzyyyzzyyyxyyxyxzzxyyyzyxyxxxyyxyxzyzyzyyxyyxxxyzyyzyyyzyyyyyxzyyyxyzzyyzxyzxzxyzyyyyyzyyyyzyxyyyyy{yyzyyyxxxyxyyy{yzyyyyyxyyxxzy{yyz{yyyxzxxxxyyyzzzyzyzyyyyyxzz{zyzzzyxyyzyyyzzzzzzz{yyzzyyyyzzyzzzzzzxzyzxzyzzzz{zyzyzzyxzyz{yzzzz{zyzyyyzzyy{zz{zzzzyzyzyyzzzzzzzzzyyxzyyyyyyzz{zzzyzyzzyzyzyy{zzzzzzyyzyyyzzyzzyyzzzxyyxxyyzzzyyzyyyyxyxzyzzzyyzyzxxxxyxywyyxyyxyzxwxyyxxxyyyzzzyyyxyyyzxxzyzyzyzyyyyyxxyxyzyzyyy{yxywxxyyyyyyyzyzxyyyxxxyyyyyyzzxyxyyxyyyzyzyyzyyyxxxxxwyyyxzyyyzxxxxyyxyyyyyzzyyyxywxxxxyxyyyyyyyxyxyxwxyyzyxyzzxyyxyxxxxyyyyxyxyyyxxxxxxyyzyzzzyyxyyyyxzyyyzzzzzyxxxyyyyzyyzzzyyyyxyxxyzyyzzzyzyyxyxyxzyyyzyzyzzyyxyxzyyyzyzzzyyyyyxyxyyy{yzzzzyyxyyxyyyzyyzzyzzyxyxyyyzzyzzzzzyyyxzyzyyzyzz{zzyyyyyxyyyyzz{zzzyyyxzxyyz{z{zzzzyyyzzzz{yzyzzzzzyyyyyzyyz{zzz{{{zyzzzxzzyzzzzy{zzyyzyyyzzyyzyzyzzzyyzyy{zyyyzzzyyzzyyyyxyzzzyzzzyzxyyyyyyzyzzyz{zyzyyyyyyyzyyzyzyyyxxxyxxzzyyzyzxyxxyyyxzzzzyzzzyyxyyyzxxzyzyyzzyyxxxyyxyyzyyxzyzyyxyyyxzyyzzzzzyxyxxyxyxyxyzzyzyxyyyxxxzy{xyzyyyzyyyyyzzyzzxyyzxxxxyyyyyyyyyzzzzxyyxyyxyyyyyyyzyyxxyxxyyzzzzzyzyyyxxyxxyyyyyzyyyyxzyyxyxyyyzzzzzyyyyyxyzzzxzzzzyyyyyxyxyyyzyzyyyxyyyyyyzyzzyy{zyzxxyzyyzyzyyz{zyzxxzxyyyzzyyzz{yzyxxyzyzyyzyzzyzyyyyyxyzzyzzzzzyxyyyyyyzyz{{zzzyzzyyyyyzzyzzzzzyxzyyxyyzzzzz{zzzyy{zzyzy{{{y{{zyyyyzzyzz{zzzyzzzzzzyyzyz{z{z{z{yzyzyyyyyz{z{{zzyyyzyzyyyyzz{z{zzzzzzzxzz{z{zzz{zzyyzyxzzzzzzy{zzzzyzyyxzzzzzz{yzyyxyyzyyzzzzyxxxxxxxyxxyyyzyyzzzyyxxyxxyzxzyzzyyyyxyyyxyzxyyzyyxxxyxxxxyyxyyyxyyyyxxyxxxyyyyzzzyxyyyxxyxzyxyyzyzxyzyxxyyyyyzzzyyxyyzyyxyzxyyyyyzyxyyxxyyyyyxyyxyxxzyzyyyyyxyzyzyyyxyyyxyyyzyyzyxywyxyyxxyyyyzxyyyyxzxyxxzzzyzyyxxxyyzzxyyyzyyyzxyyyzxyxzzyzyzz{yzyzyy{zyyyyzzzzzyxyyyyyyyzz{zyzyyxyzwyyxyyzzzyyyxyxyyyyyzzzyyzzyyyyyyyyzyyyyzyyzyyyyyzyyzzyzzzzyyzyyzzyzzyzy{zzzyzyyzyyzzzyyz{|zxyzxyzyzzzz{z{zzzzzyyyyzzz{y{{z{yyzyzxzzzzzz{{zyyz{zzzyzzzz{|zzz{yyyxzyyzzzzz{{{zzyyyzzzzyzz{zzyzzyyyyzxzzzyz{yzyzyyyyyzyzyxyzz{xyyyyyyzyzzyzyyxyxxxyzyyzzyyxzzxyxyyxzyzzyzyzzzzxxyxyxxyxyyzzzyyzwyyywzzyyxyzzzyyxxyyxxzzyyyzzzzyyxyxzxxyyyzzzzzyyxyyyyyzyyyyzyzxxxxyxxyzyyyyyzyyyxyyxyyzyyyyzyyyyxyxxyyyzzyyzzyzywyyyxyyyzzyzzyyyyywyyxyzyzyzzyxxwxyyyyyyzyzzzyxyyxyyxxzzzzyzzzyyxzyyzyz{yyzyzzxyyyxyyyyxyyzy{yyyxyxyxzyzy{zz{zzzzzyyyy{zzzzzyyxyyyyyyzzy{yy{zzxyyzyyzzz{zzzzzzzyxzzyyzzz{z{zzyyyyzzzyzzyzzz{zzzzyzyyx{z{{z{z{zzxzzyzy{{z{zyzzzyzzyzzyyzzzz{yzzzzzzzyzy{z{yzzzzyzzyyyyz{zzz{{zzxyzzzxzyzzzzz{zzzyzzyyyzyzzzz{zyzyxzzyyyzyzzz{zzzyzyyyyyyyy{yzyzyyzzxxyzzyz{yyyyyxxxxyxyyyxyyyyzyyxyywyyyyzzzy{yyyxxyxxyyyzzyzyyyxxyxxxzyyyxyyyywyxvxywyzzxyyyyyxyxzxxxyyxzyzzyyxyyxxzzyzzxxyzyyxxyxxxyxyyxzyzyxwyyywyxxyyyzyzzyxyxyxyxyxzyzyzzxyyxxxyyyyyyyyyzyzyxxxyxxyyyyzy{xxxyyyxxxzxyyyyywxzyyyyxzzzzyyzyyyyxyxyzyzyyzyzyzyyzyxyyyyzzy{{zyyyxwyyyyzyzzzy{zxyyyyyxyyzzzzzzyzyyxyyxyyzzzyzzyyxyzyxyzy{xyyzxyyyyyzyxzyyzzzyxyzyxyxzyzyzzzz{{yyzyyyyyzyzzzyzzzyyyxzyy{{zyy{{zzzyzyzzyyzyzzzzz{{{yyyyzy{{{z{|{zz{zyyy{yzzzzx{zzzxyzzyxyzyyzzz{zzzzzzxyzzzy{{zzzyxzxyxxzzyzyz{yyyyxyyyxyyyzzyzyyyyxyyyyxzzzyzxyxyxyyxxxxzzyyyyyyyyxzxyxyyzzyyyyzxyxyyxyzyyyyyzyzyzyyyyyyyzyxzzzzxxxxxxxyyyzyyxzyxyyxxyxzyyxyyyyyxxxxxyyyxyyxzzyyxyyyxxxyyyyzzyxyxyxxxyxyyxzxyyyyyxzwywyxyyyzyyzxxyyyxxxyyxyzxzzwyyxwxyxwyyzyyxxxyyxxyyyxyyzzyyyyyyxxyyxyzxxxz{zyyxyyxyxyzyzyyyzyxyyyxyxzyzyyzyyyyxxxxyxyzzy{zyzyyzyyxyyy{yzyzzyyyyxyyyyyyzzzyzyzxyyyyyyy{yyzzyyyyyxyyxyzzyzzzzzyyyxyyzz{yzzzzz{zzyyyyxxyzzy|zzzzyyzyzyyzyzzxzzyyzyyyzzzzzyz{zz{{xzyzyyzzzz{zzzzzyyyzyyz{yzzzzzzzyyyzyyyyzyz{yz{zzyxzyyyzzyz{z{{zyyxzyxyyyyyyz{{zyyyyxyxyyyzyyyyyyzxyyyyyzzyzyyyyxyxxxxxzyyyyyyyyxxyyxxyyzyyyyyzyyyxyxyyyyyxzzzzyxxxxxywxxzzxzzyyyxxxxywyzyyyxxzyxxxxxxyxyzxzy{yxxzyyxwxyyyzyzyxxxyyxyyxyyxyyyyzyyyxxxyxyxyxxyzyxwyxyyyyxzyxxyyyyxyyxyxyyyyzyxzyxxyxxxxxxyxxyyyxyyxyxyyxxyyyyzyyyxyxxwzxxxyyzyzyyyyxyyyyyzzyyzyyzyxyyxxyyzyzzzyyyyyxxyzyyyyyyz{yyyzyywyyxzyyz{zzyyyywyyxyz{zyyzzzyyyyyyyyzzzzy{zyyyyzyyyzzyzz{yzyyyyzzz{zy{zz{z{{yzyyzyyyxzzzyzzzyyxzyyyyzzzyz{zzyxyyz{zyyyy{{zzyyyzyyyyy{zzzzzzzyzzyyyzz{{yyzzyzyyyyzxzzzzzzy{zzyyzzzyyy{z{zyyzyzyxyyyyzzyyyyzzyzyxyzxxzzzyzz{zyyzxxyxyyyzyyyzzxxxyyxzxyyyyyyyyyyyxyyyxyzzyyzyyxyyxwxyxzxyyzyzxywyyyyyxyyyywyyyxyyxxyxxyzzyyyyyyxzxyyyxyyyyyyyyyyyyyxxwzyzyzzyyxyxxzxxxyyyyyxxyxyxxxxxxyxzyyzxyyxyxwxyyyyzyyzyxxxxxyywxxyzyzyxxxxxxxxxxxyxxyzyzyxxxyxwxxyxzyyyzxxxyxyywyyyzyyyyyxxyyyyzxyzyyyzzyxzyyxzzzyyyyzyzxyyxxxxyzyyyzyyyyyyyzyzzxyyyy{zyyxyyyxyxyyyyyzyyyyxyyyyyzyzxyyzyyyxyzyxzyyyzyzzyxyyyyzyyyzyzyyzzyzzyyyxyzyyzyyyyzyyyxzyyyyzzyz{zzzzyzzyyzzzzzyz{zyyzyzyyyyz{z{zzzzzzyyyzzzzyz{yzyxyyyyyxzzyzzzzzzyyyyyyzzzyyz{zzyyyyzyyxyzzzzy{yyxzyyzyxyyyyzzzyxyzyxxxxyy{xzzyyxxxyyyyxyzyyyyyxyyxxyxyxyzyyyyzzyyxyxxyyyzyyyzyyyyxyxyyyyzzzxyyyyyyxxxyxzyzyxxyzxxzyxxxyyyxyyzzzyxxxyyxxyxyyzyyyyxxwyzxxzyyxxyyzxxxxxxyyyyzzyyyzyyyxyxyxxyyxzyyzxzyxywxxyyyzxyyzyxxyxxyyyyyxyxyzywxyxyxyxyxyyzzyyxxyxyyxyxyyzyzyyxyyxyyyyyzyyyzyyyyxyxyyyyzyxz{zyyzyyyxyzyzzzyzyyxxyyyzyyzyyzzyzzzyzzyxyyyzyyzzyyxyyyyyyyzyyyzzzzzyxzzyyzyy{zz{{yyzyzzxyzzz{y{zzyyyyyxyy{zzzzyzzzyyxzzyzzzz{zy{zzy{yzyzzy{zz{z{zyyxzyyyyz{{z{{{z{yzyyyyyzyz{z|zzzzyzyyyyzyzyyzzzzyyyy{zyzzz{zzxzzzyyyyyyyzzzz{zzzyzxyyzxyzz{zzyyzzyyyyyyyyzzyzyyzxxxzxxwxyyyzzyzyxyxxxyzyyyyyzz{zzxxxyxxyyzyzyzzxyyyyxxxxyyzyxzzyxxyxyyxxyzzyxyzxyyxyyxwxzxxyzzyxyxyxwxyyxzyyyzyyxyxxyxyyyxyzyyyxxxxyxxyzyxxyyyyxxyxyyxxyyzyzzxzzyyxxyxyxyyyyyzyyxyxyyyxzzyxyzyyyyxxyyzxxzyyyyzyyxyxyyyxyyyyyzzzyyyyywyyyzzzzyz{zyxxzyyxzyyyzyyzyyyyyyyzyyzyyzy{zxzzxyyyyyzzzyyzyyyxyzyzyzyyyyzyyxyyzxyyzzzyyzyyyzyyyyyyyxzz{zzzyyyyyyyyzyzzyz{{zzzyzyyzzz{yzz{zzzxyzyyyz{zzzz{zyyyxyyyyyzzzz{zzzxzzzyzyz{yzzz{{zy{yzyzyxzzzzz|zz{yzyyxyyzzzyzzyyzyyyyyyzyzzzzy{yyyyyxyyzyzzzz{zyyxyyxyzzzzyyyzyyyzyyzyyyyyzyzyzyxxxxyyxy{yyyyzyyyxxyxxyyyxyyzyzxyyxyxyyzyyyyyzyyxyyxxyxyzyyzzzyyyyxyyyyxyyzzzyzyxxyyzyxyyxxyyzyyyxxyxwxyyzxyyyyyxyxxyyxxxzzyyyzxyzyyxyyyyyyxyyyyxzzxyxyyxyyyyxyzxyxxxwyyzyyxyyzzxxyyyyxwxzxyzyzzyyxyxxyyyyyyyzzyxyyxxywzyyyyyzzyyyyyxxyzzzyyyzzyyyyyyyyyyzzxzzzyxyyxyyzyyyzzyzzzyyxyxyxy{yzzzzzzyxxxxxyxyzyy{zyzyzyyyyyyzzy{zzyyzzzyyyzyzzyzzz{yzzzzxyyzyzzyzz{zyzxyyyyz{zzzzzz{yyyyyzz{{zzzz{zzxyzxyyzzzzz{zzzzxzzyyzzy{zz|zz{zyyzzyyy{z{{{zyyzzyyyyy{zy{yzzzzzzzzzzzyyy{zzyzzzzzyyyyxy{yy{zzzzyyxyyyyzyyzzyyzyyyyyyzzzyzzy_Fw5b {|z{zzz|||{|{{|||{{{{{zz{{{||}}|||z{{{y{|{||||||{{{z{{|z{z|z{|||{{z{z{{{{|{{|{|{{z{z{{{{{||{||{zz{z{yz{z{|||{{|{{zy{{z{z{|{{{{|{{zzzzzz{{{{z||z{{{zzzzy|||{{|{zyzzzz{zz{||z{{{|{{{z{y{{{{{z{||{{z{y{zz{z|{{z|{|{z{z|{{z|{{{{{|{{zz{{z{{z|{{{{z|{{|{{z|{{{{{{|||{zzz{{{{{|{|{|{|{{{{{{|{{}{{{{|||{{{{{zz}||||{}|{||{|zz{{|{|{{|||z{z||z{{|||||||{|{{{{{{||{|||}|||z{|{z{{|||}|||{{{|{z{{{|}|||z|||||||{}{|}{}||||{y{{||}{}|{{||}{{}}|{{{{{||{|{||{{||||{{|{||{{||{|{{|{z||{|{||}|{zzz{{z{{{|}{}{{|z{{{{{{||{|{{{|{{z||zz{{||{}||||||zz{{|{}|{{|||{{|{{{{{|{{|||||{{|{z{z{{||{}||z{{{|yz{|{{|{|{{{|{{{z{{z{{{}{{|{|{{{{{{{|{{||{{z{{{zzz{{|{|||{|{z{{zz|{z{z|{|{{zyz{{{{{{{||z{|z{{{y{zz{z|{{||{{z{z{zz|{{z|{|{||{{z{{{{{{z{{{||{{{zyzzzz|{{z||{||{z{|{|{|||{{{|{|{y{|{z{|||{||}}|{{{{{{{{|{{||{|{{{{z{{{|{|{|{|{|{|{{z{|{|||{{|{{{z{{z{||||||{|{||{{{{||{}{|{}|}|{{{{{{{|}{}||||{{{{|{|{}|||{|}||z{{{{||||}|||}|||{|{{{{||}|||}~|{|{{||}|||||}|}|{{{{|||{||||{}|{{||{{{{}~|}|}|}|||{{|{{||}|||}|{|{|||{{|}|||}||{{|{{{{|||{}{{{|||{|{|{{|{|{{{|{{z{|{z|{{|||||||||{{{|}{}}}||||}}|{{|{{||}{||||}{|{z|z|||||{||||||||{{z{{|{}|}{|{{}z{z{{||{{||||||{zz{|z{||{|||z|}|{z{z{{{|{|||||{{z{{{{{{||||{{{z{{{zz{{{{|{{|||z{{z{{{|{|{{||{{{{{zz{z|{|{||||z{{{{z{z{{{{{|{|{|{{{{{{{||{{|||{{{{||zz{||||||}|{{z|{|{|||{{}{{|z{{{z|{|{{|{|{|{{{{{|z{}|}{|||}{{|{|z{{{||||}{|{{{{{z{z||}{|{}{|{{{{{|{|||{{~||{{|{|z|{{||||}||{|{||{}|||||||}}|{{|||{{z{||||}||z|||||{}}||{|}}||{{z{|}|||{}}||||{{{||||}}|}}}|}|{|z{{||}|}|}}||{z|||{{||||{||}|{{||{{||||||}|}||{{||{|{|{|}||}|{{||||||{{|{||||{}|z{{{|{|}{||}||{{{{|{||}{|}}|{|||{|{{||}|{}}|{|{{{{{{|{{|||||||||{{z{{{||{{||{{{{z||{|{{|||{}|{{{{z|z{{{|{||{{{{{{{z{{|{{||{{|{{{z{z{{z{|{|{{{{z||{{z{z{{{{{|{z{{z{zz|{{|{||||z|{zzz{{{{{|{|{{{{y{{{{{|{{z{|{{{{{{|{|{{{{{{||{|z{{|zz|||{{{||||z{{z{z{|||{{{|{{{|zz{{||||||||z{|{{z{{|}{||||{{|{|{z{{{{{{|}|{{z|{|{{{{|||}{}|||{|{{{|}||{}|}}|{{{|||{|||}}|||||{{{{}|{|||||~||{||{{{||||||}|||{{|{{|{|}}|}}}||{|{|||||||{}}||~{{||||||}|}}{}||{|{{{|{|}||||}{|{{|{||||||}|||}|{{||}||||}|||||{|{{|{{|||||{}||||{{{{{}||||{{|{z{{{z{|z{{{{|}{{{|z{|y||||||||||z{{||z{{|}|||}|}|||{{z{{|{|{||||{z{|{{{{||{|{|{||{|{{{|{|{||}|z{{{zz{z{{|}{{||}|{z|{{z{{{{|{{||{{|{{z{z{{{{|||{|{{{z{{{z{{||{{|{{z{|z{{z|{|{||{z{{{z{zz{{||{{||{{z{{{zz{|{z|{{{{{|{zz{{z{{{{{|z{z{{{{|zzz{{{{{{}{{{z{z{{{|}{{|}|{z{zz{y{{{|{||{||{{zz{{{|z||||{||z|z|z{{{{{{{||{{||z{{z|{||{||{|z{{{{{{|||{|{|||{{{zz{{z{{{{{{}{{z{{{|}{|{{||||{{{||{z{{|{}||||{{z|{{{z{|||{||||{{|{{||{|{||}{|}{|{{{}{|{}}}|||}||||{{{}{}|}||{||{|{||{{|}}}|}}}|{||||{||||{|{}|||{{z|{z{}{{{||||{|{z|{{{|z||||{{{{{zz|{{||{||||||{|{||{|}}}|~}|||z{||z{||}|||}}|{{{{|{z|{|z|{||||z{{{{{{{||{{}||{zzz|{z{{{|{|{}zz{zz{{{{|{{{|{|{{zz|zz{{z||{|{|{{{{{{zz{{{{{{{{zz{{{zzz{|z||{{{|zz{{{{{z{{z{|||zz{zzz{z{{{{{|||{{|zzz{z{|{|{||{{z{z{zzz{}{z{|{|z{z{{{{z||{}|||}|zz{{z{|{{|z}||{{{{{z{{{{|||{}|}{z{||{{|{||{|{|}{{{z{z{{{{|||||}{{{{|{zz{{|{{{|{|z||{{{z{{||||||{{|{{{{z||||}{|{z{{|z|{{{|{||{}||{{{{{{{|||||||||z|}|{{|{|}|{}||}{{{{{||{}|}|||||{{|{{|{|||{}}|}|{{||{|||||{{||}}{|{{|||}}||}|}||{{|||{{{|{|}}}}|{{{{|{||||{|{|}|{{{{{zz||||{{{|{{{{{{zz{{|}{{{}{{{{||{{|||{|{||{{{|{{z{|||{}||{|{{z{|z{{{|||{}||{|z{zz{{{|{{||{|{|{z{{zz|{|{{||{{{z{{{z{{{|{|}{|{|z{zy{{{{}{|z{{z{zz{z{|{z{zz|z{z{{z{z{{{|{{|{{{{zzzzy{{z{{{|{{{{{|z{zz{||{|{||{z{{{z{{y{|{{z{{{{z{{z{{{{z{z|{|z{{{{{{z{|}{{{}|{{zz{{{{{{{{|{||{z{z{{{{{{{{{{||{|{{zz{{z|{{{{|{|z{{zz{{{|{|{|{{|z}{{zz{{{||{||{{z{{{{z{|{||{}{|{{|||{{{|{}|||||{{|{{{{z||{}|||||{{{{{{{{{{{{}}|{{{}{|{{|}|{|||}{{{|{{{{{|{{|}}||{{|{|{{{}||}}}}|{||{{{{||||||||{{|{{{{|{{|||||{{|{{z{{{||{|||||{{{z{{{{||{|{{{||{{{z{{{{}|{|{}z||{z{{|{{{|{z||}{{||{{||||||}}|{}|{|{{z|||}|}|}{|{{z{z||{{|{}||}{|{z{{zz{{{|{z{||{|{zz{z|z{{{{||{{|{{{{z{|{{{}|{|{{{|zzz|{|{{{{||z{z{zz{{{|{z{||z{{zzzzz{|{|{{|{{zz|{zy{|{{{{{|{zz|zy{zz{|{{|{{|{zzz{z{{z|{{z}{{{z|zzz{z{{{{z||{{{{z{zyz{{{||{|{|zz{{z{{{{{{{{{}{{zz{z{zz{{{{|||{{|z{z{z{{|{{{}||{{|{{{z{}{|{|{|{z{zz{{{{|{{{{||z{zz|{z{{||{{z||||{{||{{||||}||{{{{{|{z{{{||{|||zz{{|{{{}||||}}||z{{{{|||}{{||}}{{||{||{{}{{|}|}{z{|{|{{||||||}}|{|||{|{{||{{||||{z{{z||{{|{}|}{{{z{|{{{}|{|{||||{{z{{|z|{|{{||||{{{{{{z{|||{|||{z{zzzzzz|{{z}{}{{|||z{zz||{||}||{{{|z{{|}|||||{}|{zz|{{{|{z|z{{|z{{{z{{{{{|{|{||{{{z{|z||||{{{|{{z{zz{zz{{|{|{{{{zzz{{z{{|z{|{z|z{{z{zy{{z{{{{{zz{z{{{{zz|{|{{{{zzzz{z{z|{z{{{{{{|zzzzzz|||{||zzzz{{z{{{{{{z{{{zzz{z{{z{{z{{||{{zz{{{zy{z{{{{|{{z{{{z||{|{{|{{{z{zz{{{{{{|{{|{|{z||{{zz|||z{{{{{|{{{|{{{||{|z||{y{z|z{z{{||{||{{{z{|{{||{|{{||{|z||{z{{z|{|}|{||{{z|{{{{{{|||{|{{{{{z{z|||}||||{zz{{{{{|||{||}|{{{{||||}||{||{|||{{|{|{|}|||}||{|||{{{z|}||||||{|{||{|{{|||{|}}{|{{|zz{|||{{|||{{{{{{zz|||||{|}{|zzz{zz{{|}{{|{{|{{{y{z{{|z{|||||{z{}{{{{|||||||{{{{z|||||||}|}}|{{z{z{{|{{{|}|{{{z{||{{|{{{||||{{{{|{{{{|{||{{|{{{{{{{|{{|{|{{zy{z{{z|{{|{{||{{z{y{|{{|{z{{{{{zy{z{zzz{{{{{||{{z{z{zzz{{|{zz|{z{{zzzz{|||||||{{{z{|zz{{{{|||{{{|{z{{{z{{|z{{|{{{z{{zzz{{{||{||{|{z{zz|{{{{z||{zz{{z{zz{z{{{||{{z{z{{{{{{{z{|z||{{{|{{{z|{{{|{|z|zz{zz{{|{{{{}{{{{{{{{{{|{{{||||{{{{{{z{{|{{|{|{{z{z{{|||{||{{|{{{}zy{{|{{||||{|{{{z{zz||}|{|~||{{|z|{{|}||||||}{{||{{||}|}|{}|{|{{{{{{{||||}|||z{{|{{{||{{{|}}{|{{{{{{|||}}||||{|{{{{{{|{|||||{{{{|{zz{}{|{{{{|{{zzz{z{z|||||}||{}|||{{|{||{||||}{{z{|{||{|||}||{z{{{{|||{||||}{|{{{z|{||{|{|{|{|{{{{z{{{|{{|{{|{{{{{{{|{||||{{z{{{{{|{|z||{|{zzz{z{{z{{{{{{{|{zz{zzyz{{||{|||{{{{{y{{{{{z||{{{z{{zzzzz|{||}|{z{z{{{{z{{|{{{||z{|z{{{{{{z{{||||{z{{z|z{|{{{{}||z{{{{z{{|||{{||{z{z||{{{{||{|{|z{{{{zzz{{||||}||{|{{{|z{{|{}{{|{{z{{{{z{}|||{|||{{{|{{|{||{{|}|}|z{z{{{{||||{|{z{z{||{{{||{||||{|{{{{{{|}||{{}||{{||{|{|}|||{|||{{|{{|{||{|{}}}|{{{{|{{|}}|||}||{{}{{|{||}|}}|{}|{{{{{{||||||||}{{||||{}||}||||{{{{{{|{{|||{|}{{{z{{{|{{|{{{|||{{|zz{zz{||{||}}{|{{|||{{|||{||}|{{|{{|||}}}~}}||{{z{{|{|||||||||||{{|{|{|}||{|}|{{{{{|{|{}|||||z{{{{}|{{|{|{{|{||zz{z{zz||{|||}|{{{{{{z{{z{{|{|{|{z{{z{{z{{{}{|zz|{zzzz{{||||{{{{{{{{{{{{|{{{{{{{{{{{z{{|{zz{||{{{z{{{{{{{{{{||{{{z||{z{|{|{{||{z{z|{z|{|{{||||{{|z{{{{{|{{||||{{{{|{|{|}|{||||{{{{|{zzz{||{||{|{{z{||{}|||{|}{||z|||{{||}{||{||{{{{{{{|}|}{|{|||{z|{{{{{|||||}{{{|{{{{{||}||}{|z{|{|{z|||}||||{{|{|{{|{{|}{|||||||||{z{}||}||||{||{||{||}||||}|{{{{{{{|{}|}|}||{z|||{|{||}||}|{{{{{||{}|||{}||{|{{z{zz||}|||{||{{{{{{z|||||{|}|{|}{||{{||}{}|||{|{{|{||{|}||}~{{{||{||{||}}||||{|{{z||{{||||}}|{{z{|zz|}{|{{}{{{{{{{{{{{|{|{|z{{{z{z|{{{|{||||z{{{{{{z{{||{|{|{{z{{z|{{|}{{||{{{{zz{{z{z{||}|{{z{z{|z{|{{{|z||{{{|zz{{{{{|{{||{{{z{{{zz{z|{|||{{{z{{{{{{||{{}|{z{{z{{{||{{|{|{{{zz{z{{|{|{{{{|{z||{z|{|||{|||{{{{{z{{{{{|||||{{{{{{{|z{}|||{|{{{z|{||{|{|||}{||||||{{|{||}{||||{{{{|||||||{||}{|{{{{z{||}{|}|{|{{{|z|||||||{||||{||{{|{}|||}||}{{|{|{|}{|}|||}|{|{{{{{}|}|||}||{{{|{{{|||{||||{||{|{||}|||||}||{{zz|{{|{|{{|}||{{{{{{z||||{{}|{{zz{{{z|z|{{}~}|||||{{{||||||}}}|{|{{|z}|||}{z}{{{z|{{|{|}|{}||{|{{{{|{|||{{|{{{|{z{{{z{{|{{{{||z{{|{{{{{{zz{||{{|z{zzz{{{z|{{{|{{{{zzz{|{{||{{{{z|z{{z{{z{||{{{z{{y{z{{||{||z{z{{{zz|{{|||{{|{z{{z{z|z{{{|{{{{|{y{|{{{{{{{z|{|{z{{{{zz|{{{{||{{{{{{{|z{{{{{|{}{{{{{{|||{{{{|||{{{z{{zz|{|{{{|{{{{y{zz{||{|{}{{|{{y|{{{{|{{||{{|{{|||{{||||{{{||||{{z{z{|{|{|}}{|{{z||{|{{}{||}{{{{{{z{||}|||}|{z{{|{|{{}||||{||{|{|{||{||||||||z||{|{{{}|{|}}||{}z|{|}||}{{||||{{{{||{|{||}}|||||}}{|z|{|||{||||{z|z{{z{||{||}|z{{z{{{{||{{{|{|{{zzzzz{||{{}|||||{}|{z|}}|||||{{{|{{z|||{}||||||{{{{{{||{||{||{|{{{|||{|||{|{|||{{z{{{||z||||||{{{|{{z{{|{{{|{{{|{z{z{{||{z{||{|{{{{{z{{{{{{{{{zzzzzz|{{|{{{|{{{{{z{z{{|zz{{||z{zzyyz{{{{{{{|{{{zzy{{yz{{|{||{|{|z{{zz{||||{{|zz{{z{z{{{{|{||{{|z{{{{{|{z|z|||{{zz{{{{{{{|||||{z{z{{{z{{{|{||||z{|{z{{z||z{|{|zz{{y{{{{{||z{{z{{{{{z{z{{{||||{{{{{{|{|{{||||{||{{{|zz{{||||{|||{{{|{{z|||||{|||z{{{|{{|}}|||}|{{{{{{|{{|{||||||{{|{||{|}|}{||||z|{{{{{|{||{||||{{{|{||||{|||||{{|{|{{||{{||{|}|{|{{{{{||{|||||{{{|zz{{|{|{{{|||z{z{{{z{{{{{|}|||{|{||}|}|||}}}||{}{z|z||}|}|}}||{{|||{{|{|}|}{|{{{|zz{||}|{{||{||zz{{z{{|||{||{{{z{{{{{|||y||z||{z{zz{{|}z{||z{z{|{{{z|{{|{||{{|zzzzzzz{|{{{|{{{|zzzz{{{|{{{{|z{{{z|{z{|z|||{||{{zzz{{|z{{||{{{{{{{z{{{|z|||||z{{z{{zz{{||{||{{{{z|z{z{|{{|||{{z{{{z{{|{{{{|{|z{|{zz{{{|{{{|}{{|{{|{|{{||{||{{{|{z{{|z|{{||{|{|zz{z{z|{|||{{{||{{{{{{}}|}}{}}{{{{{{{||||{|||{}{{{{zz{{||}{|{|||{|z|z{{||}{}||}{{{|z||{||{{}||||{{{|{z|{{{||}}||z{{{z|{}||{|||{|{z|}{|{{|||{||}|{|{||||{}|||}|}{{{{{{z{|||}{{||{|{{|{{z|{{||z{{{{|zzz{z{{{{|||||{{||||{||}||||}||{|{{|{{}|||{}{|{{z{{{|{{||}||||z{|{{zz|{{||||||{{{{z{z||{{||{|{z{|{z|z{{{||||{{{{{{zzz{{{{{}{|{{{z{{z{{{{{{{{{zz{zzzzy|z{{{|{{zzz{|{{{{{{{{|{|{{z{zzz{{{{{z{||{zzzzzzz{z|z|{{zzz{{zzz{{{{{|||{zz{|{{z{z|{|{{|{{{{{z{zz{|{|||{||{|{zz{{{{|{{|{|{z{zzz{{|||z{{|{{{|{zy{z{}{{{||||{|z{z{z{{||{z~{|{{{{z{|{|{{{|{}|{z{|z|z|||||{|}z|||{{{{{||}|}{{{{{|{{{{||||{||{|{{{{z{{|||{|{||{|{|{{||{|{|||}|{|{}{|{{|}||}|}}}{|z{z{z||}|||}}|z{{{z|{|{{{|||z{|{{{|{z||{{|}|}{{{z{|{{z||{}|||||{{{{z|{|{{{||||z{{{z{z{z{||||~|||||{}||}}||||||{|||{{|z|{|}||}{|{z||||{{{|||||z{{|{{zz|{}}{||||{z{{{{{}{|{|{|{|{zz{{{z{|z{{||{{{{z{zzz{z{{||||{{{yz{z{{{z|z{||zzzz{zz{z{|{{|{{{{{{z{z{{{{{||{|{{{zzzz{{z{{|z{|z{zz{zzzz{{z{z|{z{z{|{z{{{{{{{{{{zz{{zzz{{{|z{{||z{{zz||{{{z{{||zz{z|z{||{{}{||}z{{zz{{|{{{{|{{|z{{|{{z{{|{{{{{|{|{{{z|{{||}|||{{{{{{{{z|{|{{{||{{z{z|{{|||}|}{{{|{{{{z{{|{{{{||{|{{{|z{|{||{||||{{{|{{{|{{||||{{|{{{{}{|{{|||}|||{{{{{{{}{}{||||{z{{{|{}}|{{|||{{{{|{z|{||{|||||{{{|{{{|||||||}|||{|{|{{|z||||{{{z{{zzz{|{|{|||z{|{zz{z{{{z|}~~}|||||{{{||}|}}||||{|z{||||||}|||z||||{|||||{|}}{|{|{{{{{z||{||||{|{{z{z{{{{{{||{{{z{{{z{|{{z{|z{{zzz{zy|{||{||z{{zzz|z{{{{{{{{{zz{{zzzzz|{{{{{{zz|{{zzz{{{{|{{{{{|zzzzz||{||{{|zz{{{z{{z{|zz{{{{{{{{zz{{{z|{{|{{z{zz{zz{{{zz{{{{{{{{{{{||{{||{||z{{{{{|{|{{|||{{|{zz{zz|||{|{{{|{{{{z{z||{{|{{|{{{{{z{{{{{{|}|{z{z|zz{{||{{|||{|{{{{{z{{{|{|{{||||{{{{|||{|z||{|z{{{{{{{{{{|||||{{{{zz||||{|}}{{{{|{{||{|}|||}||{{|{||{{~|{|||}{z{{{{z|||{|{{||}{{{{|{{|{}|}}|{||{{{{{{{{|{|||||{{|{{{{||||{|||{{{|zz|{{||{{{|{zz{{{z{{{|||||~|}}{|||||}~|~}|||||{{||{|||{{|}}z{{{{{{z|{|{}}}||{|z{zz{{||}{|||{{{{z{{z{{{{||{||{{z{z{y{{{{{{|{{z{z{{{z{z|{|{{{||{yz{z{|z{{|||{{z{{{zzzz{{|{{||{{z{z{zz{|{||{{{{{{{{|{z{{{{z||{{z{z{{{z{{zz{z|||z{z{{zz{{{|||{|{z{{{{{z{{{|||||{{z{zzzz{{|||{||{z{{zz|{{|{|||z|{{{{z{{{{|{||}|||{{|{zz{{}||{|{|z{{z{zz{{{{|{{z{{{z{|{{{{||{{|{|{{{{{{{{|{{|{{|{{{{{||{{{{{|||||{{{||{z{{{|{||{{|{||{{{{||}||}}||{|{{{||{|{|{}|||{||{|||{}|{||}}|||||{||{|{||}|{|{|{{{{{|||||}|}}{{{{{{{||{{||}|{{zz|{|{{|{{|||||{{{{{{{|||{||{|{{{{zz{z{{|{|}~~}}}|}||||||}}|{}}}|{||{{}{|}|}}|}|{{|||{|{|||||||||||{|{|||{{|||||{{{{{z{{|{{|{|{{{z|{{||||{|||{zz|z{{{z{|||||{{{{{{z{{{{|{{{{{||{z{{z{{{{{||||||{|{{{z{{{||{{{|{||{zz|{|{|||{{||z{{z{{z{{z|z|{||{{z{{y{{{|{||||{z{{z{{z{|{{|}||{z{z|z{{|||||}|||{{z{z|{|{{{||{|z{{{{{|{||{|{|}||{{{{z{z{}{|{{|}{{{{{|{{||||||}{|zz{|{{|{{{||}|{{|{|z|{{|{|}||||{{|{{||{||||||||{z{{{|{{|||||}|||z|{|||{||}{|{|{{z|{|}|{{|{||}}~}{{{{|{{{||{|||}||||zz{||}|||||||{{{{}{{|||||}|||{{|{{{{|||||}|{{{|z|{{{|}|||{|||||z|z{|{{{||||{z{||zz{{{||{{}}}|||}}}}||~}{||}}||{||{||{|}|}|}~{||z|{||||||||}}|{|{||{||{{}||{||{{z{z{z{{||{||{{{||z{{{{||||{||{|{{{{z{{z{{{|{{{{{{z{{{{z{{{{{{{{{{{z{z{y{{|||{z{z{{zzz{z{{{|{{z{{{{zz{{|||{{|||{{z{{{z{{{z|{|{{zz{y{z{z|z{{||{{{{z{zz|{|z{|||{{{{{z{{{{|{{{{|}z{{{{|{||||{{|{|{zzz|{z{||{||||}{|{|{zz{{||{}||}z{|{{{{|{{||}{}{{{|{{zz{||{|{{|{{{{{z|z{|{}}|||}{|{{z{|||||}||}||{||{z{{{|{|}{|{|zzz}{||{}||}|}}|{{||{||{{|||||}|{{|{|{|||||{|||{|{{{||{|}{||}||{{{{|z{|||||{||}{|{|||{{{{||||{||{{{|z{{{{||{{||{{{{{{{{||||}{|{|{|{{{{{z{|{|}}|}}|||~}{|}~~||}|}|{||{|}|~|}}}}}|{{{{|{{|||}{||}{{{{{{||}{}{||}|||{{z{|{{|{|||||{{{{{{zz{|{|{|{|{{{{{{{zz|{{{{{{|{{|{{z{|{{||{{|{{{z{z{{{{{{{|}|{{{{z{z{{{||{||{|{|{z{zz{{z{|{{{|{zz{zzz{{|{{{{{{{{z|zyz||||{|z}{z{|{{{z{{||{}||{z{{z{{{{|{|||||{|z|z{{|{|{{||||{{{z|{zz{||{|{{{zz{{{||{z||{|}||{{|{z{{|{|{{||||{{{{{{z{{{||{{{||{{{{{{|||{}}|}||{z{{{|{{|{|||}|||{{{{|{|}|}|{}||{{||{|{|||}|}||{|{|||}{|||}|}||{{{{|{|||}||{}}||{{{{{|||{|||{}{}{|}|{{{{{}|||}|{{{z||{{{|}|}||||||z|{{||||{{}||{|z{{|{{{||||{{|{|{{{{|{||||~~~}}}}}}|}{|}|}}||}}|{{{{|||||}}}}||||{|{|||{|{|||{}{||{{z{{||}||{}{{|z{|{{{|{{||{|{{{{{{{z{{z{{{}z{{z{{|z{{|{z{||{||{{{zz{{{|{{{{z{z{z{z{z{{||{{{|z{z|{|z{z{|{{{{|z|{{{zzz{|{{{{||{z{z{{z{{z{z{{|{{{{z{{{z{|{{{{{|||{z|{{zz{||{|||{|zz{{{{|{|||{{|{{{{z{{{{{{{{{|}{{|{{z{{{||{|{|}|{{{|z{{{{|}{{|{|z{{|{{{{{}{{||{|{{|||z{||{|||z}|{z{{{{z|}|||}||{|||{{|||||||{||{{{{|{{z||{{|||{|{{{|{}{}}|z|||||||||{|{{|{||||}||{{|{|{{}|||}||{{||{{{|}{|}|||||{{{|{{|{{{|{|||||{||{||{|{|{}{|{{|{z|z|{}||{|||{{{{{z{{{||}|{|{{z{zzz{z{{||{}}~|}}|}}}|||}|}}|}|||{|{||||{|}}|}|z{{{{{{||||{|||||{|{{||{{|}{|||{{{zz{{{{|{|{|||zz|z{z|{|z|{{||{|zz{z{z{{{|{z|{{{{zzz{y{{{{{|{{|z{z{{z{{{{{|||z|z{zzzzzz{{||{{{{z{|{zz{z{{z||{||{{{z{{{z{{{{{{{{zz{{zzzz{{|{z{||{{{{{z{z{{{||||{{zz{{zz{|{||{{||{{|{{z|z{{{||{|{||{{|{z|{{{{{||||{||{z{z{{{|}}|{{{{{{{{{|||z{{|{{{{{{z{{|{{{|~|}{{{zzz{z|{{}{|||{{{z{||{|||{{|||{z{{zz{|||{{|{|{|{{{{z{z|{}{{||}{|zz||{|{|{{}||{||{|||||{}{}}}{||{{z{{{|||{|||{{|z{{{{{|{{{||{|||{||||{{||||}|{{{{{{{zz{{z{{z||}|{|{z{{{{{{|{||{|{{{{{zzz|}{|}~}|}~||||{||}}|{}}{||{{||||}|||{{|{zz|{{z||||||}|{{|{{z|{{{|{|||{{{}zz{{{{||{{|{|{z||zzz{{|{|{|||{z{{z{{z{|{{{|}{{zz{{{{zz{{|{{|{|{zz{zz{{z|{{||z{z{zyzz{|{{{|{{{|{zzz{z{|{||{||||y{|{zz{{{{{z{{z{z{{{{z{z||{{||{z{{z{{z{{{{{|{{{{|{{z{z{{{{{{{{|{{z{zz{||{}|{{{{{{{z{{{|{{{{||||{{{|{{|z||{|||{{|zz|{{y{{{}||{}{{{|{{{{{{|{{{|{z{{|{{{z{|||||~||{z{z|z{z}|{|||||{||{{{{{z||{|}||}{|{{{|z{}{|||||{|||z{{}|||||||{||||{{{{|}{{|||||z|{{z{{{|||{{{|||{{|{{|{{|{||{|}{||{{z{{|||||||z{zz|zz{z{|{||}|{{|zz{z{z|||{{||{{zyz{yzz{|{z~|~~}|}||||}~{}}}|}{||{{{{}}||||}|}{z{{{{z||{{|{||{|{{{{{{||{|{|||}{{z{{{{|{|{{{||zz|{z{{z{{{{}{{{z{|z|{z{||||{{{z{{z{zzz{{{{|{{{|{z{{{{{z{|{z|{|{z{z{y{{{{z|{||{{{{z{{{{{{|zz{{{{{z{{zzz{{{{{{{{|{zz{{{{z{{{{{|{{zz{y{{z{|{{{{|{{{zzz{z{{{|{{{|{|zzzz{z{{|{{{{}{{zz{z{{{z|{|{{||{{{{{{{{z||||{|{{{{{z{{{||{||{||||{z{{|{|{|{{||||{z{{|{|{{||||}}||z{z|{|{}|{|{}~|{{{z{{{{{|{|{{|{|z{{|{|z||||||||{{{||z{|||{|{{|||{|{{{|{{||}{||||{|{||{{}|||||||{z|||{{|{{{|||||{|{{|{{||||}|}||z{|||{{||{{{{}|{|z{{{{{{{|{|{|{{{z{{z{{{{z{|{~~~~}}}}}}|}}}}}}}}|||{|{|}|||}|||~}{|z|{|{||||||}||{|||{{{|{||{|||{|{{{{{z|{{|||{}{{z|{|{{{{{{|{}|{z{{z{y||{|{z{||z{|zzz{{{z|{{z{|z{|z{zz{z{{|z{||{z{{{{{{{{||{{}{{{{zzz{{||z{{{||{{{{{{zz{{{{{{{{||{{{zz{{|{||}||{{||z|{z{{{|||{|zzzzz{{{{{{{{||}{{{{{z{z{||{||||{z|{z{z}|{||||{||{||{{{{{{||||{||z{{{{{{|{{z||}|{{{{{{|z{||{{||||{{{{{{z||||||}|||{{|{|{|{{||||}|{{{z{{|{{{||||||{{{|{z{||}||}|||{{|||}|{|||}||}|{|{{{|{{|}{{}}{{{{|{{|{}||}}}|{{{|{{{{{|{|||||~||{|||{{||{|}{|||zz|{|{{||||{||}|{z{z{z{{{|{{|||{{z{{{z|{z||{~~~~{~||}~|}}~|}}}}}{{}|{{||}|||}|{|zz{|{{{|{|||||||{|{{{|{{||{{{}{|{zz{{z}{|{{{{|{{z{z|{{zz{{{{{|{{{{z{z{{z}{z{{{{z{{z{{z{|{{{|z|zz{zyzzz{{{|{{z{{z{z{zzz{{{{|{}|{{{zz{{{{{{{{|{{{{zz|{{z{{{{z{||{{zzzz{z{{{{{{{{{|{{{|z{{||{{{{{|{{{|{{{{||{|||{{{{{{{zz{{{{{||||{|{{zzz|{|{{|||{{||{{{{{|}|||||{z||{z{z{{||{||||z{{|z{{{|||{|}|{{{z{{z{||||||{{z{{{{||{{{{{||{|{{|||{z{|||||{|||{z{{{{{|}||}||}|{|{|||{{|{||}}}}|{|{{{{|||}|}|}}{|{|{{{{{||||}||{{{{{{||{}|}}||||z{|{{||||||}||{{{{|{{||}||||}{|{{{z|{{{||{{||{{{|z{z{{{||||~~~}}}}~}|}|}}~}|}|}||}|||}|||||}||||y{{{{|{|||||||{{|{z|{{||{{|||{|zz{z{{{{||{|||{{{z{{{z{|{z{||z{{{{{zzz{{{{{{{{z{z{y|{{{z{{z{|zzz{{{{zzz{{z{|}z{zzzzzzz{{{z|{{|z{{z{zzzz{{{{{z||{{{{{{{zz|{{{}|{{zz{{{z{{|{{|{{{zzz{{{{|{||||||{{{||z{{{z{||{|z{{{{{{|z|}|{{}||{{zzz{z{{z|{||||{{|zzzz{{{||||{|{{{z|{{{{||{|{||{{{{{{zz|||{{{|{zz{{{{{{||||||||z{{{|{{||{{|}||||{|{{{{{||{{{{|||z{|{{{{||z||||||z|{|{{{{|}{}}|||{||{{{{|}z}||{}zz|{{{{|}|}|}||||{{{|{{{{{{}|}}||{{||{||||||||||||z{{{{{{|||{|||{||{{z{{{|{{{|||{{{z{zzz{{{|{~}~}}}}|}}~}~~|}|||}{{{||}}}}||~|||{{{{{|||||||||{{{{{{{{{||}|}}{{{{{{{|z|{|{|||{{{{{z|{{{z{|||{{{{{z{z{||{|{|{||{{z{z{z|{z{{{||y{{{|{{{{|||{{|{z{z{z{zz|{|{{z{|{{{zy{z{{{|{{{{{{{{z|{{{z{{{{|{||{{{zz{z{|{{z||{{{|{||zz{{|||{}|{{{{{{{|{|||{{||{{{{{z{{{|{|||||{{{{{{{{{||{||||{{{{|{{{{||{{|||{||z{{{{{|||{{||{{{{{{{{|||{|}|{{{{{|{{{||{{||||{{|{{{|{|||||}{}|{{{{z{{||||}||||{{|||{|{|{||||||{||||{||}|||}}||{{z||||{|||||}}||}|{||||||}{|||||{{{|z}{||}||}||{{{{{|{{|{|||||||{z{|{{{{||||||{|z{{z{{{}}||{|||{{{{{zz|||{|~~}~~}~|}}}~~}~|}|}}}}}||z}|}|}}}}|{{|{||||}|||||}{||z{{{{|{|{|||{||||{z{z|{{|{|{|zz{zz{{{{|{|z{{z{z|zy{|z{{|{{|{{{{{{z{z{||{{{{{|{z{{{{{{z{{|{|{{{z{zz{z{|{|{{{|{|{{{zzzz{{|{|{|{z{{z{z{|z|z{{{||z{{z|{|{{{z{{|{{{{{{{|{z{{z||{||{{{{{z{{{|||{|{|{|{{{{{{|{{|{{{||{{{{{z{|||||{||||{z{z{{{|z{{}{{z{{{|z{{||||{|}{|{{|{{{|||}|{{{|{{{||{|{{||}||||{{{{{{{{{}||{||{|{{|{{{z||||{|{||{{{{{z{}||{{|}||{{{{|{|{}||}|{}|||{{{{{{}}{|}||{||{{z|{|{}||}|||{{|{{{|{|||}|}||||{|{||}|||||||{{|||{z|{|}||}|}}||{{{||{||||}||{{{{{z{{{{||{~~~}|}~}|~~|}}|~|}||||||||}}|}~|}{|{||{z}||}|}}{{{}z{{z{|{|||||{|{{{{{{z{||{||{|{{{|{{{z||{|{|{{{{{{{z{{|{{{|{|{{{z{{{{{{{{{|{}{z{{z|{{|{|{{{||{z{{z{|{{{{|z{||{{z|{z{z{{|||{{|{|{{{{{z{{{|{||{|z{y{z{{{{|{{{||{zz{z{zz{{{||{{{||{{z{z{{|}{|||||{{{{{z{z{{{{~|||||z{{{z{{{}|{{{|{zz{{z{{{{}{|||{|{|{|{{{|||}{{{|{|{{|{{{{||{|{||{{z|||{{{||||||{|{{||z{{||||{{||||{{{{z{{|||{||{|{{{{{{{|}||{||{|{{{{{||{|||||||}|z{||{{|}|||||||{|}{|{}||||||}||{{|{{|{{|||||}}|{{|||||||{|||||{|zz{|{{{|}|||||||{{{{|z||||||||{{{{{||z}|||{~~}~}}}}~~}|~~~~~||{~|||||||||||}||z||{||||{{{||{{{{z{zz{||{{|||{{z{{{z|{|{||{{{z{{z|{{{||{{||||{{{{z{{{{|{z{|{{{{|z{{z|{|{{{|{yz{z{{{|z||{{{|{|z{yzzzz{z{||{{|{z{{zzz{{{{{{{||{z{z{zzz{{{{{{||{zzz{{{{{|{|{{z{zz{{|{zzzz||{|{|{{z{{z{{{{||{||||z{{{{{{||{|{|||{z{zz{z{|{{{|||{{{{{{z{z{|{{||}{|{{{z{{|||{||{}|{{{|{|z|||||{|{{|{{{{{{{{|||||||{{{|{{|{{||||{|||{||{|z{{||{|}|||{{z|||{|||{||}}|{|{{||{{{|{|}||{{{{{{{|{}|||}||||{|||{{{|||{||{{{{|||{{{|||||||||{{{|{|||||{||}{{{{{{{zz|||{{||}{{{{{{{|}||{||{|{|z|z{{||||{~}}}}}|~~~~}}}~}|||}|||}}{}|}||{||{{{|||{}|}||||{{{{{|{|{{}{|{{|{{|yz|{|{{{{|{{{z{y{{{|{|{|||{{{z{z{z{{{{{|{{{zzzz{{z{|{|z||{{{zzz{{y{{{{{||zz{zzyzy{z{|{{{{{zz{z{zzz{{{|{|{{{{zzzzzz{{z{{||z{{{z{z{z{{{|{|{|{{{z{|{{{{{||{|{|z{{|z{zz{{|{{||{{{z|{z{{|{{{|{|{z{{{zz{|{||{||{{|z{{z{z{{{|{{{{{z||z{{{||{{|||{|{{{z|{zz|{{{||{|||{z|{{{{||||{|z{{|{{|{||||{{}|{{|{{z{{{{}{||||{{{z{{|{|{|{}{||{{}|{||{|}|{||||}{|{{{|{||}|||{|||{|{{|{|||||}{{{{{{{{{||||{}|||{|{{||{|{{||||}||{|{{|{z||||}|{||zz{{{{zz|{{||||{{{zz{{z{{|||~~}}~~~}|}~~~}|||||}||||{}||}||||}|{}{|||}|}|||{{|{{{||||{|||{{{zz{{z|{}|{{{{{z|z{z{{{{|z|{{{{|{z{{{z{|{{{|{|{{{zz{{{{{|{z{|{{zzz{{z{z|{{|{{{|{{zz{zy||||{{{{{{{|{{zz{{{|z{||{z{||z{zzz{z|{|{|z{zz{|{{|{{{{{{{z{{{zz{{{||z|{||{{{{z{z{|{|||||{z{{{z{{|||{{{||{|{{z{|{}{||{{||{{{{zz{{{{}{{|{||z{{z{{z|{|||||{{||{{zz{|{|{|}{{{z|{{{{{|{}||}|{{{|{{{{{{{{|||{||{{{||{{|{|{|{{|{{|{{{{z}||{|||||{{||{{{{|}|||||{{{|||{|{|}||{}}|{{{z{||||}|{||{|{|{{|{{|{||||||{{{|||{{|||||}|}{|{{{{{{{|{|{||}|{{{{{{{||||{|{||{zz{zzz|{|||~}}}~}}~~~~~}|{|}|||||}}|}|}||{{||{{||||||||{{|{z{{{{{{{{{{|{{{{z{{y|||{{|{|{||zz{zy{{{z|||zzzzzzz{{{{{{{||{|{zzzzzz{|z{{||{zzzz{{z{{{{|{{|{z{z{zzzz{{|z|||||z{{z{{yz{|{{{|{{{{{{zzy{|z{|{z|{zz{zzzzz{{{{|{{{{{zzz{{|{{|{|||{{{{|z{{{{|{{|{|{{{zzzzy{z{{|z||{|{z{{zz{|{|z{{{{z{z{{z|{|{{|{{{{z{z|zz{{{||{||{{{z|{{{{}||||z{{|{{{{{{{{|}|{|||{|{{{{|{||{{|{|||{{|z{{z|||||{{||z{{|{{z||||{|}|{|zz|{{|{{{}||}||{{{{|{||~||||||{|{{{{z{|{|}|||||||{{{|{{||{|{|}{{z{{{{{}{{}{}|{{{{z{{{{z||{{||||z{|{{{z{|{{{{|{z{{{|z{z|{{{{~~}}~}~~~~}~}}~||}||||}||||}{}|}{{|{{|||}|||}}{{zz{z{{|||{|{||{{|{z{|z{||{{{|{{z{{z{zz|{||||{{{|{{|{{z{||{z|{|{z{{z|z{|{{{{|{|y{y{{zy{z|z{{{{{z{zzzzzzz{{|{{|{z{z{z{{{{{{{|{|{zzzzzz{yz|{z{|{{{{zz{z{{{{{{|||{{z{zzz{{||{}z{||{{y{{z{{{{|{{||||}{{|zzzz{{{|{{{z{|{z{z{{{|z|||||{|{{{z{{|{|{{|||z|{{{{z{{{|{|{{|{|{{z{z{|zz{||z||z{{{{{{{|{{||{{|{{z{|{|~||{{}{|{{|{{{z{}{|||{{|{z{{z{|}}|||{||{|{|{z{|{|{||}|||||{{{{z|}{||||||{|{z{{|{{|{||}||{{{{|{z{{|{||||}||{z{{{{|||{{|{{z{{{{{zz{{||||{{{y|{{{z||{{{{{{||{z{zz{|{{{|~|~~}}}}}}~}|{|||}||}}||}|z||||{{|{}||}|{{{{{z{{||}|||||{{|{z{{z{{{{{{{|{z{{{z{z{{|{{{{||{zzzyz{{|||z{{||{{{|{{{{{{|{||{{zzz{zz{{|{{|||{|{{{z{{{{{{{|{|{{{{zz{{z{{|{|{{|zz|{{z{z|{{{{{||z{{z{|{{{{{{{{|{|{{{{zzz{{|{{{{|{{z{{{|{{{|{|{|{{{|{zz|{||{{||||z{{zz{z{||{{|||||z{{|z{{{||{{||{|z{{{{{{{||{{{{|{{{{|{{{|{|{{|{|{{||{{{|||||}}||{{{{|{{{|||||||||z|{{z{{||||||||}z{{{{{{||{||}|}{{||{||{{||}|}}|}{|z{{{|{||{||||{{{{|{{|{|||{}||{{{{||{{|{}{||}|{{|||{z||{||||||||zy{|{{z|{|{{||{{zz{z|z|{|||{{|{{{z{yz{{|{{z~~~~~~}~}}}~|||}||~||}}}|}||||{|zz|{{|}|{||{{{||{|{}|{{{|||{{{{z{{||{{|{z{z{{{|{{z|{{{{{{|{|{{{|z{{{|{z||{{{{{{zz{||{|||{z{{{{z{{{{|{{{|||{z{zz{z{{{z{{|{{{{zzz{zzz{{z{{||{{z{{{z{z{{{|{{{{{{{z{zz{{{|{|{|{z{{{z{z|{|||{{||{{{{{|{{|{{{{|{{z{{{z{{{}|{|||{{z{z{|zy|{{||||||{|z{{{{{||||{|{{{{{{{z{|||{{|{{zz{|z{|{{|{{{|||{|z{z{{|||||{||}|{|||{|{|}|{{|{||z{|{{{{{}{|{|||{{{|{{{{|||||}}|{{{|{{|||||||||||{|{{||{|}|{|||{|z{{{{{{||{|{|}|{{{{||{{||||||}|{{{{||}{||||}||}{{{{{||{|}{|}||||{z{{{{{|{{|{{|}{z||{{z{{|||{~~~~~~~}}|}|}|{}}}}}}}}{||z{{|z{{||}|||||{{{{|{||||||||{z|{z{z{|||{||{{z{{{{{{{{|{{|}|}{z{{{zz{|||{z|{|{zz{{{zy{||{{{z{zz{z{z{z{||||{|{{z|{{{zz{{{||{{|||{z{z{z{z{|{|||{{{{z{{z{||{{||{{{{{zz|{{{z{|}{|zz{{||zz{|{{|{{||{{{{{{{{{{||{}}{z{{|{|z{{{|{{{|{{|{{zzz{|{{|}|{|{{{{z|{|{|{{|{{|{{|{|{{|||{{|||{{{{{{{{|{|{|}{|z|{{{{z{{||{|}||z{{{|{|{||{|{||{||z|{z{{|||||||{|{||{|{{|||||{||{|||{{{{{||{{||}|}{|{{|{{}}|||}|{{{||||{}}|}}}|||{||{|z{|}||||||||{z{|{{||||||||{||z{z{{{|{|||||{{z{{{|z{|{|{||{|{{{{{z{{{{{|}~}}}}}}}|}}|}}}}}}}{{{|||{}|}}}||}}{||{{|{{||~||||{|||{{|{|{{|||||{{{z{{{{{{|{|||{{{{zz{z{{{|z|}{|{{z{zzz|{|z{{|{{{|z{zz{{{{{{|{}|z{zz{{z{{|{|||{{{{{|z{{z{||z|||{{{{{{zzz|{{{{{||{{z{{z{{{{||||||z{z{{|{{{|{|||||{|z{|z|z||||{{|}{{{z|{{{|||||||{{{|z{z{{||||||||{{{{{{{{{|||}}}|{{{{{z|{{{|{{{}}{{{|||{{{|||||||||{{||{{|||{}|||{|{|{{|{{{{|{{}|{{|{|{{{}}{|{|}{|{|z|{{{||}{|}|}}||||||{{||{||}||{|||||||}||}|||}|||{{|||}{||||}|{{{|{{|||{|||||}||{{||{|||}}|||{{{{|{|z{|{|{|}|}{z{{{|{|||{||}|||{{{zz||||{|~}~~~~}~|}}|||}|||}}}}|{{|||{|}|{|{|||||||{{|z{|||||{|||{{{{{{|{{||{|{{{z{{{{{|||{|||||{|{{{|{|{||{{|{|{{zz{{{{|{|{{||{z{z{z{{{{||{}{yz{{{y{z||{|||||{{{{{{{z{{}{{{{||{z{{{{z{{{{|{{{z{z{z{|z{{|{{{||}{{{{{|zz|{{{{|{|{{z{|z{{{}{{||||}zz{{{}{{|{{{{}|{{|{|||{{|{{|}|}{{{|zz{{z|{|{||}{{{|{{|z|}|||||}|{|z{{{|||}{{|||{|||{{{z||}{}|||zz{{||}{|}{|{||||z{{{||{|}}}|||}|{|{{|{{||}}||||{}{{|||||||{}||}}|{{{{{{{}|}|||}}|||{|{{|}||||{||{|{|{|}|||||}|}||{{}{{{}}{|{||}{|{{{{{z{|{|}||||{z{|{|{{||}{||||{{z{{{{}||{{~~~~~}~}|||{}|}}|}|}}{{{|||||||||||}||{||{{{{|||||||{{|z{{{{|{||||{|{zz{z{{{{||}{{|||{{z{z{z|||{{||{{z{z{{{{{|z|z{|{zz|zzzz{{{{||{|{{{{{{{z{z{{z{|{{{{|zz{zz|{z|{{{|{z{{z{zy{z{z{{{|{z{z{{{{{{z{{|{{z{|z{{{{z|{z|||||{zzzzz{{{{{{z}||{|{z{zz{{{||{{|{z{{{{{{|{|{||{|{{{{{{{{||{{||{||{{{{{zz{|||||}|{{{{{|{{|||{{|||z{|{{z|{||{|}|{|{{{{z{{{||{|||{}{|{{{zzz{||{||}||{{{|{{|||{{|}|{||{{{{||{|{||}|||||{||z{||}}}{}|{{|{|{|||{|||||}{{{{||{||||}|||}|||{|{||||{}|{{|{{|{{{{||||{{||}|||{{{{{||{}{||{{{{zzzz{{{||{~~}~}|}|}|}|{}~|}}}}~|{{{|{{{|{}{|{{}{{|{{|{{||}||||||{{{|{{z|{|{{|}|{z|zzz{z{|{{z{{|{{z{{{zy{z|z||{{{{{{{{{{{{{z|z|z|z{{{y{{{{{{{||{{{zz{{z{||{{|||{||{{z{{z{{{|{{{|zz{{{z{y{z{|{||||{{{{{zz{|z{{|{{{z{y{{zz|{{|{|||{{{{{{|{z||{||{{|{{|{{|{{|{{{|||{{{z{{z{{{|||{{}|{{z{y{{|{{{{|{{{|{{|zz{{||{{|}{|{{z{{zz||{|||{{{z|{|{zz}|{|||}|{{{{{z{{|||}{{{||z{||{zz{|{}|||{{{{{|{{z|{{||}}}|{{{{{{{|{|}|{|||{|{{|{{|}||}||}}||{{{{|||}||||||z{{||z{|||{|||||{|{|{{{{|{|||{|{{{z{zz|{|||||||}|{{{z{{{|||{|}{{|{{|z{{{{}{{~}~~}~~}~|~||}}}|}}}|}|{||{|{{{|||||||{z{{{zz|z|||{{||{{|z{{{z||{|{||{zz{zz{zz{|{|{{{{{{y{z{z{|z{{z|{{||{zzzzz{{{{z|{|{{{zz{{{z{{{{{{|{zz{{{yz||z{||{||zzzz{z{z{|{{{{{|{z{{z{{{{z{|z||zz{z{{{{{zz{{{|{{z{{{|zz{{{|{||{|{{{|yz{{{{{}{||z{z|{z|z{{||{{|{{{{{z{{{||{{|{|||{{z{z|{{|{|}{{{{{{{z{z{||||{||{{|z{{|{z{{||{|||{{z{z{{||||}||||{{{{{{{{{|{||||{{{|{{{{{|{{{||}||||{{{{z|||{|{{|{||{z||z||{|||||{{{{|}|{{|{||}}|{||{{{{{||||||||}{{{{z{|||||||||||{{|{{|||{||}|}|{zz{{{{{{{{{|||{||{{|{{{{|{||{|{{{z|{{z|{{|{~~~~}~|||{||||||{}|||{{||||{|||||||{|||{|{{|{{{{{{|}{|{{z{|{{{}{{|||z{{{{z{|{{{z||{{{z{zz{|z|{|{{{||{zz{{{{{{{{{z{z|{z{{zzzz{{z|{{||{{{{z{z{{{{{{|{||{{zz{y{z{|{{{|{{{{zzzzz{{{{|{{{|zz{{{{z{{{{{|||z{zzz{{z{{|zz||{|z{z{{{{{{z{|z||{z{{{{{z{|}{||}|{{{{|{{{{||||{|{|{{{{{{{{{|{|{|{|{{{|{z{||{||{|{{|{{{zz{|||{{|z{|{{|{z{z||{|{|||{{z{|z|z|{|{{}{}|{{{|{{{{|{{{|||{{z{|z{{{}{}|}}|{|||{{{|{|{||}|||{|{{|{{|}||}{|~|{{{{z{{|{|||{|||{z|||{|||{{|||||{{{{z{{{||}{|}|{{|z{{{z{{||{}|}|{{{{{{|{|{{{|||{{{{{|zz{{{z{~~~~~~}}}{}}||||}}}|~||{{{{|{||{z||||}|{{{||{|||{||||{{{|{z|zz{{|{|||}{{z{|{zz||{{{{}{{{{z{z|{z{{{z{{{z{{{{{z{{{z{|{|{zzz{zzzz{|||{|||zzzzz{yz{||{{|{{{z|{zz{{{{{||{{|zz{{{z{z|{|{{|{{|z{z{z{{z{{{{|||{|{{z|z{{{||{{|{|zz{|z{{||{{{}|{{{z{{{|z|{|{{{{}z{{{{{yz{||{|}||z{{|{{{{{||||||{{{{{{{{{{|||{{||{{{z{{z{{|{{|||{|z{|{|{{|||||{{|{{|{z{|{||z}|||}|{{|{{{||||{|||{||{||{{||||||}||{{|{{{{{||{{|||||||{{|{||||||||||{|{{{|{|||||{|||{||{z|{{{{||||{{{{{|{{z||{|{}||{{{{|{z|{|{|{|||{{z|{{z{||{|||||{z{zz{|{{{{z|}~~~||||||||{||}||||||||{{{|||||{{||{{|zzz{{{|||{z|{|{|yz{{z|{|{|{{|{{{{|{zz{{|{{{{z|{{z{zzz{{{{{||||{z{{{z{{{{{{{{{zzzzz{{{{{{{{|{{{zz{{zzz{{|z{||{zz{{zzzz{{{{||||zzzz{z{zz{{z{{{|z{zz{{y{z{{{{{||{{{zzz{z{|{|z{|||{z{z|{z{{|{{|{}|{|zz{{{{|z|||{|{||{zz{{{{|{{|{{z{{z{zzz{{{||||{{{{{{|{{z{|||{}{{{z|{{{{|||}{||{{{{{{{{|{|||||{|||{{{||||{{|{||||||{|{{{|z||{|||{{|{{{{z||{|||||{|{{{|}{||||{||||z{{{{{{||{}}|||{{|{{z|{||||||}{|{{|{{|z||||{|}||{{{{{{|{{|{|||}{{z{|z{{{|||{|}|||{{{{|z{{{|z|}{{z{z{{{{{{|{{~~~~||}|{|{}{}||~}}}|{{||}{{{|}|||||{|||{z{{||}z||{|z{{{zz{|{{|{{{{{{|{{{{zz{z|{||{z{|{{{zzz||z{|{{z{{{{{z{{{{{{||{{z{{z{{z{{||{z{|{{{yzzz{{||{{{||{{{{z|zyz{{{{{{|{{z{{zzz{|{|{{|{{|{{z{z{{{{{{}|{zz{{z{zz|{{{{|{||{{{|{{{z||{{|{||{z{{zzz{{{{{{{|{|{z|zz{{|{|{}}|{z{{|{{{{||||||{|z{{{{{|||{|{{|}{{{{||{{{z|||||{{zzzz{{{{||{|{|||{{|{{{{||{|||{|{{|{{{{z{|||||{||{z||{|{|}|||||}||{{{{{{||{||||{}||{{{{{{|{}{||}|{{|{{{{z{{}||{{{{{{{|{{{|{{|||||{|||{|{{|||||}|{{z{{{|{z|||||}|{|{zz{{{||||||||{{{{{{z{z|||{~~}~}}}|}}|}||}}|}||}{|{||||{}|||}|||{{{{{{{|{{z{||{z|{{z{{|{{|||}|{|zz{z{zz{{{{{|{z{{|{{z||{|{||{{z{{{{{z{{z{{|{{|z{{|z{zzzz|{{||{{{{zzzzz||||{||{{{|z{z{zz{{zz|{|zzz{z{zzz{{{|{|{{{zz{{z{{|{z{|{|z{{{{z{z{{|{{{}||{{z{{{z{{|{{{||{{|{z{{{|||{{||||{{z{{{{|{|{}||{{{{{{{{{{{|{|||{{{zzz{{{{||{{{}||{{||{z{{|||{||{|{{|z{{{||||{|}|{{{{{{||{|||||}||z{{{{{|{{}||||{{{|{{{{{{~|{}{}|{|{{{{{{|{||||{|}{{{{{|||}|||||||{||{|{{|||||}|}{|{{{{{|{{{|||}|{{{}|{{|{|{{||||{||{|{{||{{||||}{{{z{{|{{{||{||}{{{z{{|{{|{{{~~~~~|~}}|}}~|}}}|||{||{||||||||||}|{{{{z|||{|{{|}|{{{{{zz|{|||{|}{{{{{{{y{{|{{|{{zz{|{zzzz|}|{{|{{{z{{{{z{{z{{||{{zz{|z{{{|||}{|{z{{{z{z|{{|{{||{{{{{{{zz{{||||||{{{z{z{{{|{{||{|{z{{{{{y{|{|z|{|{{{{{{{{{{}||{}||{{|{{|{{|{{||||{z{{{{|{{|{{||||{{{|z{{{|{|{|||||{|{|{||{||{||{||zz{{{z{{{|{{||{|{|{{{{{{||zz{}{{{{{||{{{|||{|{{z{{{{{||{|{}||}||{{|{zz{||{||}||{{{{{{|{|}|||{|{{|{{{{||{{{|}}|}|{|z{|{{{}||}|}}|{{|z|}{{{}|||{|||||{{{{}{||||}||{{{||{{|||||}|{|{{{{||{{|||||}||{{z{{{zz{|||||||zz|{{{{{{|{|~}|~}}|{|}}}}}}|}|}|{}{|||||||}}{|z}{{{{z{||}|{|}{|{{{{{{||||||{|{{|z{{{{{{{{{{||{{{|{{{|{{{|{|{{|zzz{|z{{{{{||z{{z{zz{z|z{{{{|{{z{z{{zy{{||{||{||{{{z{zz{{{|{|||z{{zz{{{{{|{{{{|{{z{{z{z|{z{{{{|||{{{{{{{{|{{{||{||z{{{z||}{{|||zz||z{{{{{{{{|||zz|{{{{{|{{{{{{{{|{{z{|z{|z||{{{{{{|{{z{{||}|||{{{|{z{{z{|||{||||{{{{{{{|||||{|}{z{{z{|{{|{}{{}|{|{{{{{{{||{|||||{|z{{{{}||{|||}{{z|{z{{{||{||}}|{||{{{{{}{||}|}||{|{{{{||||{}|||z{{{{{{}{}}|||}|zz|{{{||{||{|||||zz{|||z|{|{|||}{z{{{{z|{|||{}{{{{{{{z{||||{}~~~~}|}||||}}}}}~}|{{|z{{|{{|{||||{|{{{{{||z}{{|{{z{{zz{{z{{{{|{|{{{z{{{z{{|{|{{{zz{{{{z{{z|{{{|{{z{zz{{{|{z{{||{{z{zzz{{{{{{{{|{{zz{z{{{{{|{{||{{{z{yzz{z{||{{||zz{{z{{{{{{zz|{|z{{z{{{z|z{||{|{y{z{z{z{{{{{{{|{{{z{{z{{{{{|y{|{{zz{{zz{{{{{{|{|{{{z{{{{{||{{|||{{z{zz{{{|||{{{{{z|z{{zz||{|{||{{{{{{{{{{|{{{|{{|z{||{z{||}|||{|{{{{{{|{{{{||||||{{{{{|{||||{||{{z{{{{{{|||{{||}{z{{{|||{{|{{{}}|{{{{|z{{}||||}||{|{{|{{|{{|{|{{|zz{|{{||||}{{||{|z{|{{{{|{{{|{||z||{{|{{|{|||}|{|{{{{{{||{||{||{{{{{z{{||{{|~~~}}}|||||}~|}|}}~|}{|||{{||{}|{}|{{{{{{{|||{{|{|{|{{z|zzz{|||{|{{{z{zzz{{|{{zz}|{{zz{{{zz{|{{||{|{{{z{{zz{{|{{{|{{zzz|{{{{|{zz{||{{z{{{zzz{{{{{|{{{z{{zz{z{{|{|{||{{{{z{{{{{z{{{{z{{{{{zzz|{{{{|{|{z|{|zz|{{{|{{|zzz{|{|{||||{{|}|{{{{{{z|{{||{|{{|{zy{{|{|z|{|||{{z{{z|{||{||{{|{z|{|{{{|||{{{||{z{{{{{z{{{{{|||{z{{{{z||{||{||||{{z{{|{}{{|||{|{{{{{{z{{}{||{||{{{{{z{{}}{||||||{{{{|{{{|{|{||}{{|{{|{|{}|{{{||}{{{{z{{||||{|||}|{{|{{{||||{||||{{|{{{{{||}}}|{{|{zz{{z{{||z|}|z|{{{{{{||}|||}{{|{{|z{zz||{|~~~}}}|}}}|||~}||~|}{{||||||||{~||}|}{{{z{z{||{{|||{{|{{{z{{|{z{}|}{{{|z{{z{{{{||{{{z{z{z{{|{{{{{|{{zyz{zz{{{{|{|{z|{zzzy{{{{{{z{|{zz{{zzz{{{{{|{{{{{{zzz{{{{{{z|{{{{{{zz|z{z{{{{{|{|{z{{z{{{z|{{{|{z{z{|zz{z{{|{||{zz{{z{|{{||{{{|{{{{{z{{{{{{{|||{zz{zz{z{{|{{{{|||||{z{z|{||{|}{{{||{{{{z{|{z{}{|{z{{{{{||{{|||{{{{z{{{|{|||||}{{z{{|z|{z||||{|}{{{||{{{{{{|}||||{{{{{|z||||||}|{|{|{|||{|||||}|{{||{{{{|}|}}}|||{||z||{{}||{{||}{{{{|||{|||}||}|z{{|{{|||||||||{{|z|{{{||||||{|||{z{{|z{|||{{||{{{z{{zz|z{||~~~~~~}~}}|}}}|||}|}|}|z||{||}|||||||z{{{z{{|{||{}|{|z|{z{zz|{|{{}||{{zzz{zz{z|y{{{z{z{zz{|z{zz{{{{z{{{{{{{{{{zz{|{{|y{{{zzz{|{{z{{{{z{{z{{{z{{{{|{{|{z{zzzzz{|{z{|z{{{zzzzzzz{{{|{{{{{{{{{zzzz|{||z{z{z{{zz{{{{|{|{{z{zzyy{||{|{{{|{|{{zz{z{||{|||||{z{zz{{||{|{{|||{{{{{zz{|||||{{{{{|zzz{z{{{{{|{zzz{{{z{{||{{{||{{{{|{{z||||}{|{{{zz{z{||||{{{|||{z{{z{z||}{z{|{||{{{{|{{|{|||||{{{{{{{{{|{}||{||{{{{{{{{{||||||}{{{{{|||||}{{|{|{{{z|{|||{{{||}|{{{|{{|}|{|||{}{{{{{|{zz|||||||{|{{{{z{{||{{{}{zzz{z{zz||{{{~~}}~|}}}||}}}}}{||||{|{{{||||}||{|{zz{|z{{{||{}|{{z{z{{{{{z|{{{|{{z{{{zzz{{{z{{{{|{{{zy{z|||{{{{|zzz{{{zz{{|{{{{{zzz{{z{z{{{{{{{{zz{zz{z{{|{z|{|{{z{{{{zzz{{{{|{{{z{{{z{zz{|{{{{{zzzz{|{y{{{{z{{{{zz|z{{{z{{|{}{|z{{z{{z{{{}{{{}|{zzzz|{{{|{|{|||{zzz{y{y{{|z{{{z{{{{{zz{{|{|{|{{{{{{{{z{{{|{||}|{{{|{{{{{{{{{{{z|z{z{{z{||||}||||{z|{{}|{{{}{|}||{{{{{{||{|||{{||z{z{{{z{|{|{|||{{{|{|}{z||{|||{{{{{{||{{|{|{|||{|||{|{{{||||||{|{{z{{{{|||{{{||}{z{||||{||||||||{{{{z{z{{|{{||||{|{zz{z{|{|{z{|z{{z{zz{{z{{{~~}|}}}||}|}|}}~~}|{|{|}{{||{|{|{|||{{{|{{{{|{{z||{{{y{z{z{{|{}|||{zzz{{{y{|{|z{{{{z{{z{{{{{|{{{{{{{{{zzzz{{{{{{|{{zzzzz{|{{|z{{{{{{zzzzz{z{|{||{{{{{z{{{z{|z|{|}{z{{{z{{{{|{{|{{{{|{z{z{z|{{z{|||{{{zz|zy{|{|{|}{{{z{{z{z{{|{{|||{z{{{z{{{z{{|{{|{z|zz{{{|}{{z|{}|z|{{{{z{|{{{|{{{{{z|zz||||{|{{{{{{{{{{{{}|{{||||||{{{{{z|||||{|z{{zz|{{{|{||}}|{{{{|z{z|{|{|||{|{z||{z{||||{|{|{|{{{}{zz|{|{}{}|{{{||||{}{}|{|}{{|||z|{{{|||{|||{|{{|||{|{{|||{|{{{}{{{{}}|{|||zz||{{{{y{z|||||{{z{zz{{||{|{{||{z{{{{{{{z|||~~~~~}~~|||}}|}}|||||}|}{|}|}||}||{{{||{{|}||{||}|||{{|{{||{|{{{}{||z{z|{{z{{{|{|{z{{|{{z{|||{{{{{z|{{{z{{{{||{|{zz{{zz{{{||z{{|{{{{{z{z{{{|{{{{||{{zz{z|{{z|||{|{{{{{zz{{{{{{z{{|{zz{{{z{||{{|{|{{{{{{{{{|{z{{}||{{z{z{{{|}{|{||z{|{{{zz{{|{||||{|{|{{z{{|||{|||z|{{|{{||}|{{||||{|{{{{{{{{{{|{||{{{{{{{|}||||{||{{z{z|{|||||||{{||{|{}||}|}|||}{{{{z|{z|||{}||{|{{z|{|{||{|||||||{{{{{|{||||}||{||{z|{|{}{}|||}}|||{|||}z|}}|}||{{{|{z|||{}{}}|}{}|||z{|||{{||||{{z|{{z|{|||{|}{{z|z{|{{|||{}}|{z{{{{{{|||{{~~~~~~~~}||}~}}|~|~}|||{||||||||}}}||{|{|{|}||{|{{|||||{{{{z|{|||}||{|z{|z{{{{{{{{{|{{{{{{z{{{{{{||{{{|{{{{z{{|{{{}|{{z{zzzz||{z{{|{{{z{{{zz{{}{{|{{{z|{z{zz{{{}|||{{{{|{z{z{||{{||||{|z|z{zz{{||{{{{{{|{z{z{||||||z{{{z{z{{|{{{{{||{{{{|{{z{{|{|{|}z{|zz{|{{|||{|{|{{{{{|zz{||{{|}}{{{{|{{{|||}|||{|{{{{{{{|}{{{{|{{{{{{{{{|{|}|}|||{{{||}{{|||||}}{{{{|{{{||||{}|||z{|{{{{|{}{|}}}{{{{{||{{||||||}|{{{{|{|{}{||||||||{{{|{}|{||}|}|{z{|{||||{|||}}{|{{||{|||||}||}||{{{|{{{|||}||}||{{{{{{|||||}{{{z{{|{{{{{|{{~}}~}}|}||}|~}}}}}}}{||{}{||||}}|||{{|{{{{|||}|}||{|{zz|{z|{|||{{|{{{{{{{z{{||z}{|{{zzz{{{{|||{||{{{z{z{|{{{||{{{|{zy{{{{{{{|{{{{{{{z|z{{z{{||{}|}{{z{{zzz{|{{|||}{z{{{z{z{|{z{{}{{z{z{z{{|{{{{|||{z{|{|{{{|{|||||{z{z{z|{{||||{{{|{zz{{|{|z{{{{|}{{{z{z|{{{{|||||||||{|z{|||{||}|{{||{z{{{|||{{}{|z{{{{{{{{||z|z{{{|{|z|{{|||}}|||{{||{|{{||||||||z{||{{{||||||}||{{{|{{{||||{||||{{{{|}z{{|{{|}|{{|{{}{{|}{}||||}}||z{{{||{|{|{||{{||{{{|}}{|||}||||{|{||||}||}}|{z{{{{{{{|{{||||{z{{|{{||||{||{zy{z{{|{|||{|~~~}}}~}{|{}|}|}{~~|}||}|{{|||{||}|}{||z{z{{|{{{{|{{{yzz{zzz{{||z||{{{zz|zz{{{{{||{{{zzz{zzz{{z||{|{{zz{z{{{{{{|{{|zz{z{zzz{|{{{|{{{{z{zzzzz{{z||{{{{zz{z{z{|{{{{||{{zz{z{{{|{zz{{{{zz{{z{zz{{{{|{|{{{zzzzz{|||{{|||{{z{zz{{|{{z{{|zz{zz{{z{z{{{{{|{{z{{{{{||{{{{|{{|z{{y{{{|||{{{z{{z|{{zz|{||{z|{|zzzz{{{{{|{||~|{|{z|{|{||}}||z|z{{zz|{{|{{|{|||{{{|{z{z{||}{||{{{{z{z{||}|||||{z{{{|{|{|}|||||}|{{z|{|{|||{|||||{{{|{{|{{}||||||zz{{z{{z|||||}|||{{{|||{{}{|}||{|{z{|{{|{|{||||{z{{{z|{{{||{|}{{{{z{z|z|{||{~~}}~|{{}}~}}}|}||||||{z||{{|||||||||{z{z{||{{{||{{|zz{{{{|{{||{|{zz{zzzz{{{{{{{{{{{y|{zz{{{{{{z|{z{z{|{{{{|{{{{{zz{{zz{{{{{{{{|{{{zzzz{zz|{{||{{{z{zz{zyz{{|{{|{{zz{zz|z|{{{{{|{{{zzz{z{|{{{{|{{{{z{y{zz{{{|{|{|{z{zz{{{|{|||{{{z{{{zz{{{|{{|{|}{z|{{z{z|||{|||{|{{z{z{z{{|{{{{}{{{{{{{{|{{{|||{{{{|z{y||{|{{||||{|{{{{{{|||||||{z{{|{|{{{|{{|||{z{|{|{{{{||||}||{{{{{{{|}|{|||||{|{{{|||{||{|}|||{{|{z{|}{||}|}|{|}{{{{|{|||{}}|{|{{{z{||{{|{{|{|z{||{{||||{||||{z{{{z{z{{|{|||{||{zz{|{|{{|{|||{|z{z{{||{{{~~~}~~}~{}||}}}}}~|}{{{{|{{||||{|||z{z{{y{{{|}{|{||{{|zzz{y{{||||{|{{zz{{{z{z{{{{|{{z{{{z{z{{{{{{z{zz{{{{yzz{{zz{{{zy{{zz{zz{{{{{{{||z{z{yz{{{{{{{}{{zzzz{{zzz|z{|{zzz{|zzzy{{z{{{||{{z{z{z{{z{{{{||{{z{{z{z||{||{|{{{{|{y{{{{{|{{|{z{{zzz{{{{{{||}z{{{z{{z{z|{{{{}z{{z{z{z{||||{{|{{z|{z{z{{|{z|{||z{{{z{|{|{{||{|{|{{z{{{{{{{||||{|{|{{|{{{{{{|||{{{{{z|{{|||||||{z{z|{{{{|{{||||{{|{{{{{{{|{{{||||z{{z{{||{|||}}|{||{{{{||||{|}||{{{{z{{{{{||||}{{{|{|{{||{|{|||{{||{|{|{||{}|||{{{{{|{{z{z{|{||{{|y{zz{z||{{~~~}}}}}}|||||~}}}|}||{||{||z||||||||{{||z{z||{{|{{||{{{zz{zz{{|{{{||{{zzzz{{z||{y{{{{|{{zzzz{{|z{{{{{{y{z{{z{{z{{|{y{z{z{zzz{{{z{{|z{zz{z{z{{{{{{|{{{{{z{zzz{{z|{{{{zyz{zyz{z{{|{{{{{z{y{zz{y{|z{{|{zy|z{z{z{z{z{{{|{zz{|{||||{{{{{|{zzzzz{{{{{{z{|{{z{{z{zz|{{{{{{{{{zz{|{{{|{{||{|{zzzzz|z{||{||{{{z{{{{{z||||z{||{{{{{z{{{{||{}|{{{{{z{{z{|||{|{{{{{zz{z{||{||||||zz{||{{{|{|}|||{{{{{|{|{{{|{|}|{||{{}{z{}{||||||{|{||{{|{{||}|||{|{zz{{||{{{|||{{{||{{{{|}|{|||{{|z{{z{{|||||}{z{{{{{|{{{{|{{||{{{{yz{{|{{{|}}|~}}||}}|}~|}}~||||{||||}||}||}||{{{{{|{{|{||{|{{|{{{{{{{|{{{|{||zz|{{{{{{{{||{{|z{z{{zz{{|{{{{{{{{{z{z{|{{|z|{|z{z{{{{z{||{{||{{{{{{{{{{{{{||||{z{{{z{{{|{|{|{{{{{|{z{{z{|{{||{{|{{{z{z{{|{{{{|zz{{{{z{||||{{{|{{{z|{{z{{|{|{||z{{|{{{|{{{{{||}{{{zz{|{{{||{}|{{{{{{||{{|{|||||{{z{|{|{|}|||{}{|{|{{|{{|}|{{{|||z{{{{|{|{{|||||{|||{{{|{|||||||{{{|}{{{{||{||{||{{{{{{{|||||}||||{{||||{||}}|||{{{{{{|{{}|}}||{|{|{{{{{{}|||z|||{|||{{{|{||||}{}z|{{{{{{{|||}|||{|{{{{z{|{||{|||{{|{{|{||{|||{|{{{{{{{{{||z|~~~~}~~}~||}}}}}}|}||||{{{{|||||{}||{{z{{{|{|{|{||{|{{{zyz{z{{|{||{|z{{{zzzz||z{|{{{z{{{z{{{z|{{|{{{{{z{{{{{zz{{|{{|zzz{{{z{{{z{{{|{z{{y{{zz{|||{|||{{zzzzzz{{{z|{{{{z{{z{z{{{{{||{|{z{{{{zz{{|z{{|z{{{{{{z{|z{{{}|{zzz|{zz{{{{{||{{{{{{z{z{{{|||||zz{{{{z{||{{|||{z{{|{{{{{{{|{{{|{{{{zz{z||||}{{||{{|{{zz{{|{{|||{|{{{{{|z{{||||||||{{{|{|{||||||{{{{|z{{|{||{|{}|{{{{{{{|}|{}{|{|{z{z||||}|{{|{|||||{|{{|~|||}||{{z{{{{{|{||||{|||{{{{{{||{{{|||{{|{{zz||{|||}|}||{{|{{{z|||||{{|{zz||{{z||}}{|{{{{{{{{|{{|{{~}}|}||}}|}}}~|~}|}|z{||{||{|{|{|zz|{|{z{{{||{{|||{{{zz{z||||{|{{{z{{z{{zz{zy{|{{{{z{{zz{z{{{z||{{z|{zzzzzz{{{{{{{zz{zzz{{{{z{|{{{z{zz{z{{z|{|{||{z{zz{zz{{z|z|||{zz{{zzz{{{{{{{|z|{zzz{z{{{z{{{{{z{{{{{z{|{{{{|{|{z{{{z|z{|{{{{{{z{zzz{{z|{||{||z{z|{z{{|{|{||{|{z{z{z{{{{|{||{zz{z{{{z{{|{{|||{{|zz{{zz{|{{z|||{{{{{zz||||||}||{{{{{{{{{|{|{||||z{|{{|{||{||}|{{|{{{{z{|{{{||}{{{z{{{|||||||||||{{{{|{|{}|}}|{}{z|{{z{||||||||{|{{{{{{{|{|||||||{{||{{{{{||z||||{{z{{|z{||||||}{|z{{{yz{|{{{{|{{{|z{z{{{||{{~}}}}|}}}}|}|}}}}||{||||z|{||{{|}|zz||{{z{{{|{{|{|{z{{{{{{|{|{{|||{{{{{{{{{{z{|}{{z{zz|{{z{{zz{|||{{z{{z{{{|{{{||{{z{{yz{{|{z{{{{zz{yzzy{{{{{{|||{|{zzzzz{{|||{|{z{yz|z|y{|{{{{|{|z|z{{{{{{z{||{}|z{{{|{zz||{||{{{{{{{{{{z{{|z{|||{|{|{{|{z{{{{|{{z{{z{{{{{{{||||zz{|z{{{z||z{||{{{{{{{|{|{{zz||{{{z{{|{z{{{{|{{||{|{{z|z|||||}|}{{{{{{{||||{{|||{{{|{{|{{|||}|}|{{{{{z{{||||}|}||{{{{||{|{|}||{||z{{z{|{{|||{||||z{|{{{{}|||}|}||{{{{|{|{{}||{||{{|{{z|||{|||||}{|{{{z|{|{|{|||{|z||{{zz|||{{||||{|z{{{{|{{||~~}}||||{}|}}}}}|}}{|||{{|{}|||}{|}{|z|{{{{{{||{||||{{z{z|{|{|{||{|{{{{{{{{z|{{{|{|{{zzz|z{{|{{z|{{{z{{zzz|{{||{||||{{{|z{z|{|{|||z{{{{zzz{z||||||}{{zz{z{zz|{{{|{{{|zz{zz{z{{{{{{|{{{z{z{{z|{|{|{{{{{zzz{{{{{||z{{||{{y{{{|{||{{{|{{{|{{{z|{{{{|{|{z{}{{{{z}|{{||||{{{{z{{|{|||||{|{{{{|z{{|||{|}{{|z{{{{{}{|{{}}|{{{{z{{{{{|||||{{{{{{{|{{|{}|{{|{{{||{{{||{|}|}|}{{{|{{|||{||||||||{|{{{||||}}|||{{|{||{{||||}||||||z|{{|{|||}|||{{|{{{|}{{||||{{{z{{|{{{{|||}|||||{{|{{||{{{||||{{{y{{z{}|{{|}||{{{z{z{|||{|~~~|}{}}}}}}}|}}}|~|||{z{{{|||{{{|||z{{{{|{{||{z||||{zz{zyz|||{{|||z{{{{{z{||{{{{||{{|z{{{z{|||{||{{zz{z{{{{{{||{{{{zz{{{{|{{{{{{|{{z{{{{zz{{|z{{|{{{{z{z|{{|z||z|{{z{|zzzz{|{{{{{{{z{z{zz{{|{|{|{{{{{z{{{z{||{|{||{{|{|{{|{|{|{zz|{{{{{z{{{||||{||{{{{{{{{{{||}|{|z{{{|zzz{{}{|||{{|{|{{{{{{}{{|||z{{|{||{|||{|{|||{z{|{z{{{||||}|{|{{|{{{{|{||{}}{|{{{zz{||}||||{||z{|{z{|}{{||||||{z{|}}|||}|||}|{|{|}|||}|||}|||||||z{}}{|}||}{|{z{|{{{|{|||}|}||{{|{|{}{{{{||||{{{|z{{||{}{|}}}{z|{zz{{|||{|{{{{{{zzz{{{||{~~~~}}~}|}|}|}|}}}}}||}{||}{|||||||{{{{z|z{{|}{|{|||||{{{{zy|{||{|||{|{zz{{z{|{|{||{{{{{|zz{{{{{{{z{{z|{zz{z{{|||{{{zz{{{{{|{|{{z{||{{{|{{{z||||{{{||{{{zzzzz{||{{|{{{{{z{z{{{{{}{{{|{zz{{zz{|zz{||{{{{{{{{{{{||{{|||z{{{{{|{||{{{||{{{{zz{z{{{||{{{{{|z{{z{{|{{{{{{|{|{{{{{{|||||{||{{{{{z{|||{|{|{{z{{{{{{{{{|{|{|{|{{{{{{{|{|{{||{|{{{{|||{|||{||{{z{|{z{||{{{||||{{{|{|{|}}|||}|z{|{||{||||||{{||{|{{{{|{||{||}|||{{{{{{}{||}||}}{{}{{{{|||||~}}{{{{|{{{|{|{||||{{|{zz{|{|||||{|{{z{z{{{{}|{|{|{{|{{{z|{||{|{~~~}~~~}}}}|}|}}}}|}}||||{||{{z||{||}{||{{{{{{z{{|}{|||{|{{{{{{||||{|{{|z{z{{{z{{{|{|{{{zzz{zzz{||{{z{{zz{{zzz{{z|{{{{|zz{z{zz{z{z{{||zzz{z{zy{{z{{}|{|{{{zyzzzz{yz{{{{{{zz{zzz{{z{{{{z{|zz{zzy{|{z{|{{{zz{{|{{z{{|{{{}{{{z{z{{{{z{|||{{zz{z{{{{|{z{{{|yz{{z{z{{{z{||{|z{{{{|{{{|{{|||{{{|z{{z{}{|{{{||{|z|{z{{|{{{||{|{{{|{{zz|{|{{|{}{|{z{|{{|{|}|||||{z{{{z{{|{{{||{{z{{|{{{|}|||||}z{{||{|{{||{{|||}{{|{{|{|}|||||||{{|{{{{||{||}}}{{{{{{{{{}|{||||{{|{|{|{{|{|}|{||zz{{{{||{{|||||||{{{{{{|{{{{||z{{{{{{{{|{||z}~~~~~}|}}|}}|}||}}}|}|{{z{z{{|{{{{{|||z{{{z{{{{||{{|||{{z{{{z{|{||{||{{zz{{{{z{|{{|{|{{|{zyzz{{{|{||{z|{z{|z|{{{|{|{{z{{zzz{z{{z{{{{{{{{{y{y{{{{|{{||{{|{z{zz{|{{||{{|{z{z{{zz{{{{{z|{{zzz{z{{||||{|{{y|{{{yz||{{{|}|{{{z{z{|z{|{{{z||z{zzz{{{z|{|{{|{{zzy{{z{||{{|{{|{|{{{{{{|{|{|{||{{{{{||{{||{||||{z|{{{|{}|{{{|{{{{{|{{z{||}|{||{{{{{{{{|||||}}}{|{{{{{{||||{|}|{z{{{{{|{||||{}{{{|{z{||||}|}|||}{{{|{{{{|{|{}}|||{{{||{||||||}|{{z|{|{{|{|||{||||{{{|{|{{||{|||{{{zz{z{{}||||~{|||{{{{z||||{|||{{{|{{z{|||{|~~~~~~}{}{}}{}{}}}}}}}|{|{{||{||{||z||{{|zz{{{z{{|{{|||z||{|{{{||{z{{{{{{zz{z{{|{{{||{{{zzzzyzz{{{{|{|{{zz{{{{{|z||||{zyzzz{zz{zz{{z||{{zzzzy{|||{|{{{z{z{z{zz{z{{{{|||zzzzyz|{{{{{{{|{{{z{{|zz{{{{|||{|z{{|zzz{{}{{{{{{z{z{{|{||zz{z{{{{{z{{|{z|||{{zz{{{{zz{{||{{{{{{{{z{z{{{{{|{{|{{{|{{{{{{||{{{}||zz{{{{z|{|{{||{{{{{{{|z{}{}|||{{|{{z{|{{|{|{||||{{{{{{z|||||{{{{z|{{||{|{|{{|}|{{{z{{{{|||{|{|}|{|{{|{|{}||}}|||{||{{{{{{{|||}||{|{{|{{{|||||||{{z{|||z{{{|{|||{|z{{{{{{|||{|||{{{{|zzz|{|{{{{|{{|z{{{z{||{|~}~~}~~~~}}}|||{}|}}}|}}|}{{{{{|{|||{|{}{|||{{zz|{{{{z{{{{{{{zyzz||{|z|{{z{{z{z{z{z{{|{{{{{{{{{{z{z{zz{zz{z{zy{zzz{||{{{{zzzzzz{z{|{{z{{{{{z{{zz{zz|{{z|zzz{zzz{{z{{{|{||{{{zzy{yzz{{z{{|{{|{z{{zz{z{{{|{{zz{zz{z|{{{{{{|{zzz{zz{z{{{|||{{{zzy{z{{z{{{|{{{{{{{{z{{{{{{||{{{{z{z{{z{{|{|{|z{z{{{zy{|{|{||||zzz{zz{{{{{{{||{{{z{|{z{{|{||{{z{|{{{{{{{{|||||{{{z{{{{|{||{{{{{z{zz{{z|||||||||{{{z{z{{||||||||{{{{|z|{|||||}{|{|{{{|{}}||||{{|{{{{{{{{||{|}{|{{{{{{{{|{{||{}|||{z{z|{{|{|{|{{|{{{{{{{||||z{{{zz{zz{zz{{{{|~~}~~}~}~||||}{}{}||}|||{|{{{||||{|}||{{{{{z{|{|{{{||}z{z{{z{z|{|{||{}{z{{z{zzz{|{{||z|{{zz{zz{{|{{{{{{zzzz{zz{{z{{{||{zzzzzzz{{{{{{|{|zzzz{y{{{|{{{}{zz{zz{{z{{|{{||{|zy{{zzz{{{z{{{{{z{{z{{{{|{{||||z{{z{{{{|{{{z{{{zzzy{{{y{{{z{||{{{{{y{{{||{{{||{zz{{{{{{{{{{zz|{{|{{z{{{z|{{||{{z{{z{z{{{|{{|{|{|{z{{{{z||{z|{|{z{{z{{{|{|{{{{|{z{zz{{{{||||{|{|||z|z{{z|}{}{|{||z{{{{{{|||{||}|{{{z{{||{|{|{|||{||{{|{|{||}||}}|{{{{{{z||||}{}{{{{{|{{{|||||||||{{|{{{{{||{|||{{{|{z{{|{}||{{}{||{{{{{z{||{{{||{z{zzz{zz{{{|~~~~~}~~~~~~~|}||{}{}|}||||}{}{||{{{|{}||}|{|{|{z{z{{||}||{|{|z{z{|z|{}{{|||{{{{{z{{y{{{z|{z{{{{z{{z|{|z{||{{z{zz{{{|{|{z|||{z{z{{zz|{{|{|{z{{{{{{z{{|||{{{{{{{{{{{z{z{{{{||{zz{{{zzz{z{{z|{{{zz{y{zz|zz{|||{{{{{zz{|{{{{{||{{{{{{z{z{|{}||{{{{zzz{{{{{|{|||{z|z{{{{|{||{{|{{{{{{z{z{{{{{||{{{|{{{{{{{||{||{{{z|{{|{||{{|{|{z{{{{{z|{|{}}}{|||{{z|{{{|{||}|{{{||{{{{|}||||}|{z|||{|{||||{|||}||{{{||||{{|}|{}{|}|{{{||||||}||z|{z{{{||{|||||}{|{|{{|||}|{{|}{{{z|{|||{||}|||{|{{{{{{|||}{|}|{{{{{{{z{|||||||{{|z|{yz|{|{{~||}~~~~|}|}|{|}}}}}||}}}|}{{||{|{{}||~{|z{|{{{{|{{|{||{|{{{{{|z|{{|{||}z{{|{|{z{||{|{|{||{zz{{z{|{{{{{{{z|{{|{z{{|||{{|{zzzzz{z{{{{{{{|z{{zz{{z{||z|{||{z|{zz{{{||||{{|{{zz{{z{{||z||{|{|z{{{z{{}{|||{{{{z{{{{{z|{{|{{}{z{|{z{{|{|{{|||z{|z{{|{|{{{{{{|{z{{zz{{|{{{|{|||z{|{z{|||||||{|{{{{{{{z{||||||{|{z{{z|{{}{|||{|{{{|{{|z||{|||}||{{{{{zz|||||}}|{|z|{{{{|||||{||{{{{|{{{|||{|}|{|z{{{|{|{{||||}}|{|{z{|{|}||}{}||||{|||{|||||}|||{|{{{|||{{|{}|}{{{|{||||||}}||}z{|||{{{||||||||}{z{z{{||}{|}|}|}|{{{{{{|||||~~~~~}}}~~}~|}}~||||}|}|||}|||||||{{|||||||{{{{{|{{|{{|{||||{{{z{{{z||{{{|{|{|{|{|zz{||{{|{|{{{z{{{{z{}{{|{|z{{zz|z{{{|{|||{{z|z{z{{z||{|{|z{z{{{{zz{{{{||{{{{{{zz{z{z{|{z}|{z{{{{{y{{{|{{|{{|{{|{{zz{{z{||{|z{|{{{|||||{{|||{|{{{{z{|{{{{{}|{{z{{{z{{|{{{|}y{z{{{z{{}{|{{|}{{{{{{|{|||{{|}|{{|z{{{|}{{||||{{{{{{z{{{|{||{|{{{{||{{z{|||{|||{{{{||{{|{||{|||z{{|{|{|||{|{|}||{{{{{{{|{|||}|||{{{{}|{{}|||}||}|||{{{||{|||}}|{|||{|{|{}}|{||||{|{{z|{||||}}|||{{|{|{||||||}|}|{{{z|{{|{|||}||{{{{{{{{|}||z|}{{{{z|{{{|{||{~~~~}~~}~~~}}}}}}|{|}}||||}}}{{z{{{{||||}||{|||{{z{{{|||{||{{{{{z|{{|{||{|||{z{{{{zz{{{{{||||zzzz{{{{z{z{{|{{||z{z{z|{z{{{{{zzzzzz{z{{|{z|||zzz{{zy{z{{{{z{{{{{zzzzz|{{|{{||z{z{zz{{{{{{{|{{{{{{{z{z{{{|z{{|{zzz{z{zz||{|{{|{{|z{{|{{{||{{|}{z{{zzz{{|{|{{{|{z|{|{{z||{{{{{||{{{{zz{||{||||{{|{{zz{z{|{{{|{{|z{|{z{{||||||}|{z|{{{{{{|}}|}{||{||{{{{{{{||||{|{{|z{{z{|||{|||{z|{{{zz{|{||{|{{{|{{{|{|||{|~|||{{z||{{{|}||||||{{{{z{|||{||||{{{{|{{{{{||{|{|||{{||{z{{{|||{{||{{{z|{z|||{{||||{{{{z{{||{|||||{{|{{z{{{||{|~|~~~}~}~}~|}~~}|{{}}|}}}|}|{|||||||||||||}|{{{{z|{{{||{{||{{{zzz{{{{{|{|{|{z{z{{{z||z{{{|{{{{z{zzz{|{|{|{{z{{{{{zz{{{{||||zz{z{{z{z{|z{|{|{z{{{zz||{{{{|{{{zz{z{{{{|{|||{{zz{{{{{z{{{{{||{{z{zz{{{zz{{{{|{{|{|{zzz{{{|{{||{{zz{z{z|}{{{|||{|{{{{{||{{{{|||z{|{zzz{||{|{|||{z{{{{z{z{{||||{{z{|{{{{{||{|{}|{{zz{z{|}|}|z||||{{|{|{{||||{}||{|{{{{|{|||{{|}|{|{{{{zz{|}||||||{{{||z|||{{|||||{{||}{{{||{|||}||{{{|{{|~}}|||}|{|{{z{|{|||{{|{|{{{|{{|||{|||||}||{|{{|||{||{||{{|{{|{{z|{||{}{{{{{{{{{{||||{{{|{{{{|{{{||{|~~}~~}~~~}}||}}|}|{||~}|||}}}{{{{|{{{{{||||||}{{{z{z{{||{{||{{z{z{z{|{|{|{||zz{{z{zz{|||{||||{zz|z|z{|{|{{{}{{{zz{zz|{{|{||{{{{zz{{{{{|{{{|{z{{{{yz{{{{||||{{z{z{{{{|{|{{{{z{zz{{zzz{{{|z}|z{{{|{{zz{|{{|{||{{{z{{yzz{|{|||{{z{{zz{|{|{z||||{{{{{{}{||{|||{|{{z{{z{{{{}{{|||{{{||z{z{|{|{|{{{{z{{{{z{z{|{||{|z{||{{{}{{{{|||{{{{{{{{||{|{|}}{|{||{{|{||||}||||{|{{z{|}|||{||{z||{|{|{||{||||{|{z||{z|||{}|{||{{{{{{{|||||||}}{{|||||{{}||}|||{{{{|{||{|||{||{|||{z{{||||||||{z|{|{{{|{|{|{|}{|{}{{{z|||}{{{||z|z{{zz|||}{~~}}}~~}~}}}|}|}}|{|}|}|}}|||z|{|{{{|||||||||z|{zz{{|||{{{}||z{{|||{{{|{{{{{{z{{{z{zz|z{{{|{{|z{z{{{{||{{z{{{{{zz{zz|{{{{{|{{yzz{z{{{z||{{{{{zzzz{yz{|}{|||{{{{zzyzz{{|{{{|||zzzzz{z{|{z{z{|{|{yz|z{z{{{{{||z{z{z{{z{|{|{{{{|{z{|zzz||{{{{||{{{z{y{{|{|{||||z{{z{z{{|{{{{{}{{{|z|z{z{{{{|||{{{{{{{{{z|}|{{}|{z{|{{z{{|{{{{{{|{|{{{{z||}{|{||{{z{|z{{{|{{{|||{{{{{{{{||}{||{|{{{{{z{z||||||||{||{{|{|||z{{|||{{{{{||{|}|}{||}{||{{z{{|||||||}|{{{z|{{||{||}||{{{{{{{{{{{}|||||{|z|{zz{|{|{}|{||{{|z{{{|{|{}{{{{{{{z{{{|}{{}~}}~}~~}}~}||}|{}||||}|}}{{}|{|{{{|||||{||||{{{{{{z{{|{|{z|{{{{{{z{z{{|{|{|{{{{{z{zz{{|z{{{|{z{{{z{{z{{{zzzz{zz{zzy{|{{|{{{|{{zzzz{z{{{|z{|{z{{{z{zz{{{{{{||{|zzz{{z|{|{{{||{{{zzz{zz{{{{{{|{{zzz{z{z{{{|{{{z{{{zz|y|{z{{||{z{yzzz{{|{{{{{}|z{{z{{{{{{{{{|{|z{z|z{{{||{{{{{{{{zz{{{{{|{|{|{{{z{{{z{{{|{|{|||{|{{{z{z{|{{|}{|||{|{zz{{|{|z}||{{z{|{{z||}{{||}|{{{{{z{{|}|||{z{{{{{{{{||{|{|||{|{|{{|{{|{|||||{{{{{{||{||}|||||{|{{|{{{||||}{|{z{{{z{|{{{||||}{|{{{{{||}||||||{z{{z{{{{|{{||||{{|{{{z{{||{{{|{{{{z{{{{{{||z~~~}~|~~~~|~}~}|{}|{{||{}}}|}||z{{|{z{|{}z||}|{{|{{{{z{{{|{{{|{{{{{{|zz|{{{|{|{{{{|y{{z|{{{{{{{{{z{z{{{||{{{{{zz{z{{zz{{{{{{{z{{{{zzzz{{{|{||{{{{zz|zz{{{{||{|{{{{{z{|{z|{{||{{z{{{z{zy{{{{{{{{{{{zzz|{{z|||||{z{{z{|{{{{|{z||{z{z{|{|||{{{{|||{|{{{|{|{{{{{{|{{{zzz{z{|{|{{|{|z{{{{z{{|||{|{{||{{z{{{{||{{{{|{z{{{|{||{{{{{{{|||zzzz{z{|{||||{|{{{{z{||{|{|||{{z{{{|{{}||}|||{z{{|{{|{}|||{|||{{z|||{{|{||~{||||{{{|z{}||}|||}{{|{|z{|||{{{||{z|{{|{{{|{{|{||{{{|{{{{{|||{||}{{{{{{{{||{{|||||{|z{z{z{{|||{||{{z{{z{z{{{|{~}~}~~||~~~}}{|}{|{{}~}|{||}}}{{{|{||||}||||{{||{z|{{zz{|||{{|||{{{{z{|{||{|{{{{{z{{z{|{{z|{{|{z{{z{{{{|{{|{{{{{{z{{{{{{{{{{{zz{z{{z{{{{{{{{z|{{{yzzz{|{{{z{|{z{{{{{z{{{|z{|{{{{{{y{zz{|{{|z{|{zzz{{{z{{{z{||zz{{zzz{{{|{{{{|{zzz{{{z{||z|{{|{z{{zzz{}{|z{{z{z{{{{zzz||{||}|}{{{{{{{z|{{|{|{|zz{z{|{z|||{{|{|{{{|{{z{|||{{{}{|{{{{{|z{{||||||{z{{|z|{{{||||||{{|{{{|{|}|{|}|||{{{{{{{||{{}}}}{{{{{{{{{}|}||||}||{{|{{|}|||~||{{{||{{{{{{||~||{{{{|{|{{||{||}{|{||{|{{{{{{||}|{{z{{{{{{|||{|||||{{{z{{||{|{}||||{{z{{z|z|||}}~~|}|}{~~~||}~~}|{|}{|{|{|||{}}|{{{|zz|{{{||||||z||{z{|{{{}z|{{||zzz{|z{|{|{|{|z{|{z{{z||{{{{{{{{{{{{{{{{|z{|{zzy{{{z{{{{{{{||||{{{z{{{{{||{|}{z{z{{{zz{{||{{{{{z|zz{{y{{{{{|||{{zz|{{zz{{{z{{{{{{z{z{{{|{{|{z||z{z{zyz{|{}{{||{{{{{{{z{|{||{{|{{{{{y{{{|{{|z|{{{{{zzz{|{|{{|||{||{{{{z{{{{{||||{{{{{{|{||{{{{{{{z|z{{{{{|||}||{{|z{{{z{||{}|||{{{{{{{{||{}|||||||{|{{{|{{||{|{|{{{|{{{|}}{}||}z{{{||{{|{{||}|{||{|{{z{{{|{|{~|{{{{{{{|}||||||||{z{|{{|{{{||||}{|||||{||{|{{{|}{{{{|{{{|{{||||{|{{{{{||{{{||||{|{{{|{{{{{||{}}~}~}}~~~|~}}}|}||{||||}|||}|}||{||||{|}||}||||||{{{{}|{{{|{||{{{|zz|{{{{|{{}{{{z{zzzz||{{|||{{{{z{y{z{{|{{{{{{{{zz{{{{{{|{z{|{{z{{zz{{{|{{|}{zz{{z{z{{||{|}{{|{{{z{z{{|{{|{||{{z{{{z{{z{{{|{|{{z{{z|z{{{|{|||{{{{|z{z{{{{||||{{{{{z{{{|{|{|{|{z{{z{|{{{||{{|||{{zz{{z|}|{|||||{|z{{|{{|{{{}}||{{{z{{{{||{{{{|{{{{z{z{|{||}{}{|{{z{z{{|{}||{}|{{{z}{{{}{||{|}}{{{|{{|{{|||||||{zz{{z{{{|||||}|{|z|{{||{||{||}}||{{|{{||}}|{||}|{{{|{{|}{}|||}||{{{|{{||{|{|||}{|{||{{{{{|}|||}|{{{|{{{{|}}||||{|{{{{|{{|||{||}{{{{{{{{||{||~~~~~}|}~~~~}~~|}|{{{{|||}|}}|}|}|{{{{|{}||||}|||{|{{z{|||||z|||{{{z|{z|{{||||{{{{{z{zz{}|{{||{|{{{zz{{|{|{z|||{z{z{z|{{{{|||{|{z{{{z{{{{{{{{|{z{{{z{z{{||||{{{{{zzzz{z|{{|||{||{{{{{{{z|{{|zz{{|z{{{{z{|z|{{||{{{{{{zz{|||{}||{z{{z{zz|{|{{|z||{{{{z{z||}||||{{{z{{z{{{{|{|{{{|{{{|{zz{|{{|}|{{|{{y|{{||{}||}{{{{{{|z{{|}{|||||z{|||||||{}|}}|{||{|{|{|||{{|{|{||z|{{|{|}{|||{|{{z{{}||||{||{|{{{|{|{{|{||}}{|}{{{{|{{{}|||||}|{|{{||{||||||||}{{||{||{}||}||}|{{|{|{|{{||||}}{||z||{|{|||{}}{{{{|{|{z|}|||{|{|{|{{{{{||{||}}~~~}}}|}}}~}~}~|||||||||{||||}|}|{{{{z{||{|{|{}|{z{{{zzz{{}}|||{{{|z{z{{{|||{{||{{|z{z{{{|{{{||{{z{zz{z{{z|{z{z{zyzz|{z{{{z|{{||z{{z{{{z|{{|{||{{{zzzzzz|{{{{{|{{{{{z{z{{{{|{{{|{z{{z{{zz{|{{|{{{{zz{zzz{{{{|{|{z{z{zzz{{||{|{|{zz{{|{{z}|{{{{|||{{{{|{{{{||{{{|{{{|{{z{{{{|{{||{{{{{{{z{||{|}{{|{{{z{{{{|}{{{|{|{z{{z{{{{|{{{|{{|{{|{||{|}|{{||{{|||{|z{{{}{||~|{{||{{||{|{||||{{{{{z||{|{||||||{{z{{|||{|z|||||z{{{|z{{}|{{|}||{||||{{|}{}{|{||{|||{z|{{|||{|||z{{{{{{{||||||||z{z|||{{|{||}}}{{z{{{{zz}|||{|{{{|{{z{{{{||{~~~}}}|}}}}}|}}|}}|}|{{||||}}||}{}{|||{{{{{|{{}|}}|{|{{|z{{{{{{|{}{|{{z{{{||z|{|{|{z|zyz{z{{{{{{{{{z{{{{{{|{|z{|||{{z{yz{zz{{z{|{|zz{z{{z{z|{{{||{z{{{z{yzz{{z|{{|{{{{zz{|{{|{||{{{{{zzz{{z{z{{{|{|{{z{z{zz|{|y{||{zzzzz{{{{{{{{{|}z{zz{{|{{|{{|z{|zz{{{{|{{{{|||{z{{{{{{z{|{{|{|{{{{z{{{z{||}{||{||{|{zzz{|||{{}{{{zzz{z{|||{|{{{{{{|z{{{{|{|||||z{|{{{{{{|||{|}}|{z|{{{{{|}||||{{z{{{{{{||||{|}|z{{{z||{||||{|{}}|{{{{{z{|{{{|}}|{||{|{||||||}|||||{{||{{{|{}}|}|{{{||{{{|{||{{||{{{|{{|{|{||}|{|z|{{z{{{||{z{}{{zz{{{{{{||{{~~~}}~}}{|||}|~|~}{|{{{{{|{|}||}|}|{|{z{{{{{|{|}{|{{z||zz{|{{||}{||z{{z{z{{|{{{{{|zz{{{{z{{{{|z{|z{{{{{zzz{{|{z{|{{zzz{{zzzzz|{{{{z{{zzz{{z{{{{{|{{|{z{zz{z{{{{{{{|{z|z{zzz{|{z|{{{{z{zzzzz{{z|{{{zzzzz{zz{{zz{{|{zz{{{zy{{|{{{{{{|{z{z{{{{{|||{{{{{{zz{{z|{{|{|{}z{{{{zzz{{{{|z}||{{{{{z{z{{{||{{{{||z{zz{||{{{|{|zz{{z|{{||{{|||{z{{{y{{{|z|||||z{{{{|{{|{{|||||{z{{{{{{||||{|||{{{|z{{|{|{||{|{{{{zz{|{{|{{|||||z{{{{{{{}}|{{|{|z||{{{{||{}{{|||{{{{{{|z|{{{||||{z{||{{||{|||||{{{{{|{z||{{{{{||{{zz{{z|{{|{||{{{|zz{zzz{{{{~~|~~||}{~}||}}}}}||}{|z}|~||}{|{{||z{|z{{{|{z{}||z|||{y{{{|{z{|{{{{z{z{z|{{{||{{zz{z{zzy{{|{{{|{zzz{zzyz{z|{{{{{{|{z{zzz{zzz{{{{{zzy{zzz{{{{{|{{{z{{{{z{{z|z{{{{{{{{zy{z{{|{{{|{{zy{yy{zz|{{{{{{zz{{{{{zz|{{{|{}zzz{{{{z{{{{|{|{z{{zzz{z{{{{|z|{z{zz{{{z{{{{{|||z{{{{z{{|{}{||{{{z{{zyy{{||{{||{{zz|{{{z{{|{{z|{{{{{{zz{{{|{{{|{|{{z|{{{||{|{||}|{|z{z|{}{{|||||zz{{{z|{|{{{|||{|{{zz|{{|||||||{{{|zz{|{{|{{|}|||{z{{{|{{|||||}||{{|{{|{{{||||}||{{|{{{{{z|{|||||{{{|{z{{|{}{||{{z{z{{{z{z||{|||{{{{{{|z||||{||{z{{{|{{|||{{{}~~~}|}{}}||}||||}~|{{|{{{{{{{||||{{{{{{{|{{{||||||{y||{{||{{{|z{||{{|{{z|y{{{{{|{||{{zz{{{{{{z{|{|{{|zzz{z{{|{{|{|{{zzz{zz{{{{{{|{z{{{zzz{{{||{{{|{z{z{zz{{{|{{{{{|z{{zzzzz{{|{|||{{z{{zzz{{|{{{||{zz{zzz{z{|{||||{{{zz{z{{{{z{{|{|zz{z{z{{{|z|{||{{{{{{z{|{{{{{{{{{{z{{{z|{{{{{z{{{{{{z|{{||z{{|{{z{{{{zz{{{{|||{{{z{{|{{{{{{|{||{|{{{{{{||{{{|{|z{|z{z{{{|{}{|||{{{{{{z{{{|{{||||{{{{{{{|||{||}||{{z|{{|}|{|{{}||{{{{|{{|}|||}|||{|{{{{{|{|||||||{{|{{{z{{{||}}|{|{|||z}||||{|{}y|{{{z{{{|z|||{{|{{{{zzz{{||{|{{{{{{{{{{{{|{{~}}~|||}}|{||}}}|}|}|{||{|y||{|{|||{{{{{z{z{{{{||{{{|{{{zz{{{{|{{{|{zz{zzzy{|{|z|{{{zz{zzzzz|{{{|||{zzzzzyz{z{zz{|{{{z{z{z{{z{{z{|{zy{{{{{zzz|z{zz{{z{{z{zzz{|z|{z{zz{zzz{z{||{{{{{z{z{zzzy{zz|{{||{{yyz|zz{|{zz||{{z{z{{zy|{{{|{{{z{{{{z{{{{{{{{|z{{{zzz{z{{{{{{{{zz{y{{{{{|{{{{z|{{z{{zzzz{|{||{{{zz{z{{z{{|z{||{{zz{zzz{z||zz{{{{zz{{{{{{|{|{{{|{{|z{z{{{{z{z|||z{{{{{z{{||||z|||z{{{{{|{||{|{{{{{{{|{{{{||{|{}{|{{|{{{}{|{}|||||{|{{z{{|{{{||{|{{{{{{z{{|{{|{||{{{{|{{|{{|||z|{|z{{|{{{|{{|{||z{zzz{z{z{{|}{z|{{zzzzzzz{{{||}}~||{}|}|}}~|}|~}||{|{{{||{}||||}{z|{{{{{||{{{{{{{|{{z{z{z{}|{{|||{{{z{zz{{{|{{||{z{{z{{z||z{z|{{z{yz{{{{{{}{z{|{z{zzzzz{{z{{{{|{zzzzz{z{{{|zz{{{{{z{yzzz|{{z|z{{{z{{yzzz{{||{{{|{z{z{{zy{{{{{{{{{{zzzz{{z{{{{|{{z{{{|{zz{{z{{{|{{zzz{z{z{{{{{{|z{z{{{z{{{{{|{{||zz{zz{{{{|{{}{|{zz{z{{{|{}}{{|{z|{{{z|zz{{|{{{||{{z{z{{{{{|{{{||z{z||{z{{||}|||{{z||{{{{{|{|{|||z{|{{{{{|||{|}||{z{{z{{{}|||{|{{{|{{z{|{|{|||{|{{{{zz|{{{||{||||{{|{{{{{{||||{{||{||{{{{{|{{|||||{zz|{{||{||{||||{{zz{zz|||{z{|{{|z{{|{{{{{{{{{|zz{{{|zz{{{{|}}}|~|}|{{{{|}}||}||||{{||{{{|}|{||{{|{zzzz|{z|{|{|z{{z{{z{{{{||||{{zz{z{{z{|{{{{{|z{{zz{zzz{{zz|{{{{|{zzzz{{||{{{|zzz{z{zz{zz|z{|zyzzzzzzzz{{{{z{{z{z{z{{{{{|{{|{|{z{{zz{zz{z|{{{||zz{z{{zz{{z{{z{{zzz{z{{z{{{|{||zz{y{{zz{z{{{|{||z{{{{{y{{|{{{{{z{z{{{{{{{{||{{{{zzz{{{zz{{z{{{|{{{{{z{z{{{||{{{{{{{{{{z{{{{{||{z{{{z{y{||{{||{|{{{z|{{{{{|}}|||z{{|z{{{{{{|{||{{{{{{{{z{{{|{z||{z{{{{{{||{|{|||z{{{|{{{|{|{|||{{{{{{||{{}|}||{}}{|z{{{||||{||}||{{{{{{{{{|{{{}|{{|||{{{||{||{{}z{{zz{{{{{{{|||{|{z{zz{z{|{|{{{||{{zz{{{z{|{z~}}|||{~}z||}}}{}|}{{|{|{|||{{}}}{||{{{{{{z{||{|}{|{z|{|z{{{{{|{}|{{{{{zzzz{{|{{|{}|{|{z{zz{{{z{{|{z{{{z|zzz{{{{{{{z{zz{{{{{{z|{{||{{zz{{{y{{{{|{||z{zzzzz{z{z|zz{|{z{zzzzz|{|{{{||z{{{z{zzz{{{{{{{{{|{{z{z{z{{||{{z{{{{{z{{{{|{{{{|{zz{zz|{{{{{{||{{z{{z{{{|{{||z|{z{{zzz{z{z|{{{{{{{{{{{y|{{{|}z{{{{z{z{|{||{{||zz{{{z{{{{}{{{z{|}{{{z|{{{{{|||{{{|{{{z{{}|||||||{{{|{zz{{{|{||}||z|{|{{z|||||||||z|{z}{|{{|{|||||z{{{{{{{{|}||{|}{{||{{{{||{{||||{{{{z{{{||{{||}{|{{||{||||{||}|{{|{{{{{{{z|{|}|{|{{{{{{{|{||{{{|{{z{{z{||||{~}}~~|{|||{|}}||||||||||{{|||{|{}||||z|z{|{{|{|{|{|{||{{zz{{{||z{{{|{{{zz{z{{||{{{|z{zzz{{z{{zzz||{{zz{zzzzzz{{{|{{zy{z{zzz|z{{|z{{{zzz{zz{{{{{z{{{{{{{zzz{zz{{{{{{z{|zz{zz{|z{|{z{{{y|zzzzzz{{{{z{{{y{yzz{z{{{{|{{{zz{{z{zz{{{|||{{zzz{y{{z{{{z{|{{zzzzz{zz{{|{{z|{{{zyz{z{{{|{|{{{z{z|z{zz{||{|{|{{{{z{zz|||{|{}||{z{{{z{{{{z{||{{|{z{{{|{||||||{{{z{{{{z{{{|{}|{{zz{{{z{z||{|||||{{{{{{|||{{{||z{{z{z|{{{{|{||||}|||{{{{{||{||||{{{{zy{z|z|||}|{||z{{{{|{||{{|||{{{{||z||{{|||||y{{zy|{|{{|}{||{{{{{{{|z|{z|{z||{{zz{y{{|{|||~|}|}{|||||||}||{||{|{|{{{{{{|{||||z{zzz{|{|{{{{}{}{{{{{{zzz{||{{{{|{zz{{zz{{{{{{||{{{{{{yzz{{{{||{{z|{{zyzz||{{z{z{zy{zzzz{{{|z|{{{{zz{{zz|{{{{{|{{{{{zzz{z{z{{|{|z{{{z{{z{{{{|{|{{{zz{{zzz|{z{{{|z{z{{zzzz{{{z{|{{z{{yz{z{{{z{{|{{z{z{z{z{{zzz{||{z|zzy{{z|{{z{{|{zz{{{{|{|z{|z{||z{{{{{zz{{||{~{|zzz{{{{||||{{{|{{z{zzzz{|{{{|{{|z{z{z{z{|z{||{||{{{{{{{|||||||{{{{||zz{{{{{|{||{z{{z{{{|}{|{|||{{{z{{{{{||||||||z|{|{|{|{|{{|}||z{{{}||||{}|||{|z{||z{{z{{{{{||{{z{{{{z{{||{|||{z{z{{{{{|||{|||{|z{z{z{{{|||{|||{{y{z{z{{{||}|||}}||{{|}}~{|||||{{|{{{{|z|{|}}|{|{z{{z{{{{z|||{|{{{|{{z{|{|{|{{|{|zy{zy{{{|z{{{{zzz{zzz|{{{{{{{{|{z{zzz{{|{{{||yzzzz{zz{{{|{{{|{zzzzy{{z{zz|{{{{zz{{zz{{z|z{||{zzzzzzzz{{{{{|{{{z{z{zzyy{z{{{|{{z{z{yzz{{{z{|{|{{{zzzzzz|{{{{|{{z{z{zzz{{{{|{{{{{{zz{zz{{{||{{|{y{zz{z{|{{{|zz|z{{z{yz{z|{z{|z|{{{zz{zz|||{z|}{{z{{|{{z{|{{||{{z{{z{{zz{{||{|{|{{{{{{|z{{z||||}{z|z{{z||||||z|{}zz{{zz{|{|}|{|{|{{{{{{{{{{||{||{z|{{z{{{|||{{|||{{|{{|{{||{{||{{{|{{{z{{||{||{||{{{|{{{||{|{{||{{{z|z{|z{||{||{|z{{z{zz{{{|{z|{z{{zzzz{{{{{z~}}{{{|||||{}|||{{||{{z|z{{||{|||||||{{{z|{|{|{{|||{{{{{yz{{|||{{|{{{|{zz{z|{{{{{||{{{z{{{z{{{|{{|{zz{{zz{yz||{z{{zz{{z{zy{|{{{|{{|zzzz{{zz{{z{|{{{{{z{yzzyz|{{{|{{{{zzzzzz{{{|{{}{{z{z{z{yz{z{{{{{{{z{{z{zzz{z{{{zzz{y{zzz{{{|{{|{{zzz{z{z{{|z{{z{{{{z{zzz{{{{{|{|z{z{zzzz|{{{z{|{{z{z{z{{{{{{{}z{{{{z{z{{{{|{{|{|{|zz|zz{{{{{{{|{{{z{|{{{||{|{||||{{{{{{{{{{||}}|{z{{{{z{||}{|{{||{{z{{z{|{{{{|||{{|{{{{{{||{|}{{|{{{z{{{z|{|||{|{{|{z{|{{||||||||{z{|{{|{|}|{|}|||{{{{{{{||{|{|||{zzz{{{{{||}{{{|{{{{{z{{|{{|{|{{{{{zzzz|{||z}}||}|{|||{|||{{||}|{|{{{{{|}|{|{|||{{{|{{z|{|{|{||{z{{zzz{z|||{{{{{{{{{z{y|||{{{{{{z|{z{{zy{{{{{{{zz{z{zyzz{|zz{{|zzzzz{z{{z{z{{{{zz{zzyz{{z{z|{{|{zzzzzzzz{{{{{|{zz{{zzzzz|{{{{{{zz{z|{zz{{{z|{zzzyzz{{zyz|{z{{{{z{{zzzzz{{|{{{||{z{zzyzzz{z{{z{{{{z{yz{z{{{|{{{{z{zz{{{z{z|{||{|{{{z{z{{{{|{}|||zz{z{{z{z{{{|{|{{|{{{{{{{z{{{||{{z{{z{|{{{{{{|{{{{{{{z{|{{{{||||{{{{{zy{{|{{{}|{|{z{|y{z|||{}{|}{{{{{}{{|||z{||||z||{|z|||}{|{||{z||{{{{{}{|||{}{z{{{{{{{{{{}{||{{{{zz{{||{||{|||{{y{z{{{|{{{{||{zzz{{zz{|{|{z}{{z{z{{{z{{{|{}|}|~||{{|z|}|{{||||{|{||{{{}|}{{|||{{{z{z{{z{{|{|{{z{{{zzz{{|{{z{||{{{z{{y|{|z{{z|z{{z{{{zz{z{{{|{{zzy{z{z{{{{{{{{|zzzzzz{|{zz{z{{{{zzz{zz{z{z{{{{{z{zz{zz{{{{{|{{z{{z{zzzz{{{{{||z{zyzyzzzz{zz{{|{zzzzz{zy{zz{}|{{z{{{{{zz{{{{{|{z{z{z{zzz{{{{z||{z|{zzzz{{|{{{||{{z{{zzy{||{{{{||z{z{z{z|{{zz{{|{zzz{{z{{{|{{||||{zz{{z{{{{{z|z{{{{z{y{{{|{|{||{z|{{z{{||{{|{||{{{{{{z{{z{{||{|{zz{z{{{z||||{|}|{{{|{{{{{|{z{||{|{{{{zz{{|||{|{|{z{|{|{{|||{{{{|{z{{|z{{||{|{{{|{{|{{{z{|{{{{{||{z{{{{{{z{{{{|{|{{{|z{{{{|{|{{|{{{{{z{{{{|z{{}|}|||{{{|{|}|||{|||z{|{|{{{|z|{||{z{zz||{{|z{{}{||{{z{{{{z||{|{{{|{z|zz{zzz{{|z|{|{{{{{{{z{{{{{|{z{zz{{zy{{{{zz{zz{{{zy{y{|zz{z{{{zz{z{{{z{{{|{{{{{{zzzz{{{{zz|{{{{{zz{{{zz{{{{{{||{{zyzzz{{z{{z|{{zz{zz{z{z{{|{{{z{|z{z{zz{{{z|}{{{{z{zz|z{{{{|{{{z{zzz{{{{{{z{{{z{zzzzz{{{{{|{{{zz{zzz{z{{{|{{||{z{{{{z{||{|{{|{{{{{{zz||||{{||{z{{z{zzz{{{{{|{{z{{z{{|{{|{{|||{|{{{|{{z{{||{||{{{|{{{{{|{{{|||{{{|{z{|{|}z|{|}{}{{{{|{|{||{||||{z{|{{{{|{|}||}|z{z{{z{{{|{|{|}|{z{{}z{{z{|{{|||{z{{{{z{{{|{|||{{{{zz{{zz|||{z|{{z{zz{zzz|{{||}}|{|||{{|}}||{|{|z{{z{{{{||||{}{}|{zz{{zz|{{{{{|{{zzz{zz{z{z|{{{{{{zzz{zy|{{|{{|{{{{{zzzz{|{{|{|{{{{zz{z{{{|{{||z{zz{{{zz{{zzz{{{zzzzz{y{{{|{zz|zz{z{z{y{z{|{{{{|z|{{zzxzz|{|z{||z{yzzyzz{z{z{{{zzz{z{zzz{{zzz|z|zy{zz{yz{{z|{{{{{z{z{z{{zz{z{{|{zz{z{zz|{{{z{||{{zz|z{zz|{{{|{{{{zz{zz{y|{||{{{{{{{z|{z{{{||{{}{{zz{zz{{|}||{|||z{z{{|{z{{|||||}z{{{|{|z{|{|||{|{|{{{z{z{{|||||{|{zzz{z{|||{|||{|{{{|z|{{|{{||{{|z{{||zz{}{|}{|}|{{|z{{z|{{{{{|{|z|{||{z|{{||}|||{{{|{z{{{||{|}}{{zz{z{{|{||||||z{{{y{zz{{{{{||{{z{z{z{{{|{{{}}}|||||{|||{}{}{|}|{{{{{{{|{|||||}{{|z{z|z||z|{||||{zz{zz{{||||{|{{zzzzz{zz|{z|{{|{|zz{{{z{{z{{|{|{{{zzz{z{{{z{|{|{{{{{z{z{z|{{{|{|z{{{{zyz{{{{|{{{zz{{zz{{{{{{||{z{{z{zzzz{{{{{||{{{zz{{zzzz{{|{{zz{zzzzzz|{{{{{{zy{z{{zz{|{{{|{|{z{z{z|{{{{{{||{|y||{{{|{{|||{{|{{z{|{{{{|}|{{{|{{|{{z{z{||{{|{{|{{{{{z{{{|{z{|{{{{|{z{{{|{{{|{z{z{{{{{{{||{{|}{{{{|{||||{{|||||{{{z{{z{||{{||{|}|{{{|{{{||||||}|{z{{||{|||||{}|{|{{{{||{|||{{|||{{z{{{z{{{||||||z{{{{{{{|||||{|{{{{|{{{}{||||{|{{{{{|{{||{{||||||{{{zzz{|{|{|||{{{{{{zz{{|{{~~}|||{|{||||||||}||{{|{{{||||||||||{|z{{|{{{|{{|}||{|{{z{{{|||{||{{{zzzzzz{|{||{{{|{{z{{{z{z{{z{{{{{{y{z|z{|||{{z{|{|zzzzz{{|{||z{{{z{{zzzy{{z{{}{{z{{zzyz{z}{{{{{z{{zzyzy{|z{{|{{{{zzzz{y{z{zz{||{{z{yz{{z|{{||{{{{z{zzz{||{|{{{|{{{{zz{{z|{{{{{|{{{{{{z{{{{{{|{|z{z{z{{{{{{{{{|{{{{{{{{z|||{|||{|z{z{{{zz|{{{{{||{z|{zz{{{{|{{|{{{{{{{{{{|{||{{{{|{|{{|{|||||||||{{||{z{|||||}}{{{{{{z{z{|{|{|{||{{{{{{{z|{|||{{{z{{{{|z{}||{{}|}{{{{{{{||||}{}||{{z|{z{{|{{|||}{{{{{|{||{{|{{||{{{|{{{z{|{{{{|{{{{z|{{z{|{{{|{{{{{zz{z{{|{|{|||}}|{|{{|||}}}{|{|{{zz{{z{|{|||{|{{{{{z{z{{{{{{}{{|{{z{z{{{{z{{{|{z{|{{{y|{||{{|{zzz{{zzzz|{|{|{z{{zz{zz{z{{{{zz{{zzzz{zz{z{|zz{{{{{y{zzzz||{{{{{{y{{{z{{{z{z{|{{{{zzzzzzz{zz{{{z{{z{zz{zz{{{|{{|{z{z{zyz|{{{{{|{{zzzz{zzz{||z{|{{z{zz{z{z{{{{{{{{z{z{{{{{{z{{{{|zz{{zzzz{{{{{{|{|z{{zzzz{||||||{{z{z{zzz{|{|{||z{{z{{zz{z|{{{{{|{{zz|{{{|{{||{}{z{{{{{{{||||{{{|{z|{z{zz|{{z|||{z|{z|{||{|{||}||{{zz{|{||{{{{|{{{||{{{{{{|z{|||||{{{{{{{{|||{||{|z{|{{{{{{||{|{|{{z||{{||{|{|{||{{{zz{{{{{{{|{}|{|z|z{{{{{z|{||{{{|{{zyz{||{|}||{{{{|||z{}}||{||{{{{{{z||}{{{{}||{{{{zz{|{{{||||z{zz{{z{{{{{{{||z{zz{yzz{{|{{{{{{{{z{{zz{{{{{{{zz{{z{z{{{{|z{{{{z{{zz{{yzz{{{||{z{z{zz{zz{{zzz{{{zzzz{y{|z{{|{{{z{{zz{z{zz{|{{{|z{z{{y{zzz}{{|{{{{zy{{{{zzz|z{{|zy{zz{zzz{{{z{|{{zz{{{z{{z{{{{{|{z{zzz{z{{{{{|{|{{z{{zz{z{||{{{{{zzzzz{z{||zz|{{{yz{zz{z{{|{{||{{{z{{z{{|||{{{{|{{zz{{{z{{||{||{{{{{|{{{|{{|||{{{z{{{{z{||||{z|{{z{{{zz{{}{{||}||z|{yz{|{{{||{||}z{{z{{z{}|}||||{{|{{{z{||{{||{|{{{z{{{{{|{{{||}{{{z{{{{{{{{{{|{{{{{{{z{{{z|{{|}{zz{z{{zz{{{{|{|{zzzzzz{{|z{|}|{{z|{|z{||{|{{{|{{|z{{y{z||{{{{{{{||zzzz{z{|{|{{{{z{{{zz}|{{{{{|||{{z{{{y|{{{z{{{z{{z{zzz{{zz{{{{{{zzzzzzzz{|{{{{{{zzz{z{z{{{{{{{zzzzz{z{zzzz{{{|{{z{zyz{zz|{{{{{{zzzzzzzz{|z{{|{{z{z|zz{z|{{{z{z{z{yzz{zz{z{{{{{zy{|zzzz{{{{{|{{{{zz|{zz{{{{{{{z{{{zzz{{||zzz|{|{{{zyz{z{{{{{{||{z{{zz{zz{|{{{z|{{{z{{z{{{{{zz}{{{zzzz{{{{{{{{{|{|{{{{{z{{{||{||z{{z{z{z|{{|{|||{zz{z{{{{{||}{|{|{zz|{{z{|z{{{||{z{{{|{{{{{{{||{{z||z{{{{{||||{||{{{{y{{|{{|{|{{|y{{{{z{{{z{||||{z{{{{zz{{{|{|||{z{z|zz{|{z{||||z{{{z{{{{|{|{{{{zz{z{z{z{{{{|||{z{{{|{{{||}|{}||{|z}|{{{{{|{{{{|{{{zz{zz{{|{{{{{{{z{{{{{{z{|{|}z{{zz{{zz{||{{{{|{z{zzzz{z{{z{{|{{{{{zz{z|{|zz{|{zz{{zzz{{{zz{z{{zyzyyz{z{{z{{{{{{yz{{zz{{||{{{{{{{z{zz{zz{{{{{|{z{zz{zzy{zy{{{z|z|zzzz{zz{z{{{|zz{z{zzzzzz{z{{{{|zz{z{z{{{z{{{||z{{{yzzz{{{z{{|zzzy{{zz{{{|z{{|{{|{z|y{{{{|{z{|{{{{z{zz{{{{{|{|z|{z{{zz{|{|{{|{||{{{y{z{{|{|{|}{z{z{{{{{||{|{{|{{{{z{{{zz{{||{{{{zzz|{z{{|||{}{|{{|zz{||{||{{}|{{{z{{{{{{}{|||||{{z{z{{{|{|||{{{|{z|zzz{{|{{{|||{{{|{z{{|}{}{{||{{{{{{z{|{{{{||||{{{z{z{{|{{||z{z{{z{z{{{{|zz}{|{|{|||z||}||||}}}{z{{{z|{|||{|||{{{z{zz{{|{{zz||{{{z{{z{{{|||||}{{zz{z{z{{z}|{|{z{z{zzz{z|{{{||{|{{{zzzy{{|zz{{zz{{z{|z{{{{{{z{{zzz{zy{{{{{{z{|z{z{y{{yz|{{{{{|{zz{zyzz{{{|z{{|{zz{y{y{zz|zz{{{{{{{zzzz{{|{{{{||z{{y{z{zzz|{{{|{{zz{{{{{{{{{||{|{z{zzyzz{{{|{{z{{z{{zzz|{{{{|{||{{|z{z{z{|{||{|{{z{zz{{{|{{{{z}||{{{zz{{z|{{|{{|z|z{z{{{{||||{||{||{|z{{{{||||}|{z{|z{z{z|||||{}|z{{{z|z{|||{|||{{{z{{|||{{{||{|{{{{{{{z|{{||||{|{{|{{|{|{|{{||||{{z{{{{{{||{{{{{{zz{{{||{|||||{|z{zz{z{{|{{|{{||{{{zz{z|{||{|}|{{{{{z{{{{{|{}|||||{{{|{{{|{|||}{zz{zzzz{{|||{{||{z{z{zz|{z||{}{{{zzzzzz{z{z{{{{{{zz{z{y{{{{{{z{z{{zz{{z{{{{|{z{|{y{yzzz{{{zz{{zz{zz{yzzzy{z{{z|{yzzzyzz{zzz{{{yzzzzzz{{{z|{{{{{zz|zz{{zz{{z{{|{{zyz{zzz{{{{zz{{{{{{z{z{zz{zz{{{{zzzzyzzz{zz{z|{{zzz{zzz{{{z{{|{zz{{zy{{{{zz{||{zz{{zzz{{{{{{{|{{zzzzzz{{{||{{{|{zzzzzz{{{{{z|||{{{{z{z{{{{{{|{|{z{{{{{{{{|||{||{{zz{{{z|{||{{||{{{z{z{z|||z||{{{zz{{{{{{||z|}||z{zz{{{{{{{{||{||zz{z{{{{|||}|||{z|{{{{{{||{|{{}{z|{z{z{||{z||||||z{{{{{||{{{{|{{|{{z{{z{|{{{|{{{{{zz{zz{{{z{z|{z{z{zy{{{{|{{|}|z|{z{||y{||{|||||{z{{z{{|{||{||}{z{z{zzy|||z{{{|{z{{zz{z|||{{{{{|z{zzy{z|z{{{|||{z{zz{{{z|{zz{|{z{zzzz{{z|{{z{{{z{{yz{zz|{zz{{{{{zzzzz{zz{z{{{{{{zzz{zzz{{{{{|z|{{zyz{{z{{|{{{||{|{z{{zz{{{{z{{{{{zzzz{{{{{{||{{{zzz{zz{z{{|{|{{z{zz{z{|{{{{z{{{z{z{{zz{{|{{z{{|z{z{{{{z{{|z||{{{{{z{z|{z{|{||}|{z{zz{zzz{|{{|{{{y{{zzz{{{{{|{{|{{{{{{{z{{|{||{|{z{{{{{{}|}{|||}|{{z{y|{|{||{|{||{{{z{|z{|{{|{|||{{{z|{z{{{||{||{|{{{{{z{}}||{||{z{{z{|||||{||||{{{{{{{{||{{|||||{z|{z{{||{{||||{|{z{zz{{{{|{|{||zzzzzz{{|{|{{{{zz{z{zz{{{{z{}|{{|{|{||{{||||{||{{{{z{{{|{|{{||||{{z|{{{{{{{{{{{{{z{{z{{{{}{{|{|{{z{yz{y||{{{|{{z{z{{{{zz|{{{{{{zzzz{{z{{{z{{{{{yzzzzzyz{{{|{{{|z{{z{z{zz{{{{z{|{z{zz{zy{{{z{|{{{{{{zzzy{{{{z{|{zzzzzzzz{{zzz{|{{zzzzzzzy{z{{|{{{zyz{zz{{z{||{|{|zzzzzz{z|{{{z{|{z{zzzzz{|{|{z||zz{|z{z{{||{|{{{z{{zzz{{{|{{{||{{{{z{{zz{z{||{|{z{{{{{{z||}{{|{||{{{{|{{|{}||{|{{{{{{z{z}{{}|{|}{z{z{{{{{||{{||||z{z|z{|||}{{|||{|zz{|{{{}|{{|||||{|{|{z{}|||{|}}{{|{z{||{|{|||{{z{z{|z{{{|{{|{|||z{{{{z{||~{|}}zz{{|{{{{{|||{|{|{{{z{{z{|||{{||{{|{{{zz{||{{}||{{z{|{{|{||z{{|{|{z{{z|{|{||{|{||{{z{{{z{|z{|{||{{{zzzz{{{{|{z|{{{{zy|{z|{|{{{|{{z{{|{{z{{{z|{|zzzz{{z{z{||{||{{z{zz{zzz{zz{{{{|zy{z{z{{{{|{|{{{{z|{z{zz{{|{{{{{z{{{zz{zz{z{z||||{{{{zz{z{{{|{{{{{zz{zzz{{{z{{{{zz{z||zzz{{{{|}{{zzz{z{{z{{{{{{|z{|zzz{z||z{||{|{{{{zz{{{z{{{{|{{{{{z{z{{{|{|}||{{zzzzz{{{||{{{|{{{{{zz{|{{{{||{|z{z|{z{|{|||{|||{{{{{{z|{}|{}||{{{{{{z{{|{|}|||{z{{zz{{|{|{||}|||{z{|{z||||||{|{{z{{||z|||||||}|{{|z{|{|{{|{|||{z||{{||{|{{{{|{|{{||{{{|||||||||{|z|z{{{||{{|||||{{z{|z{|{|}{|{{|{{zzzz{{{|{}|{|{{}}{y{|}|{{|||{{{{z{|z{z|{||||{zzzzz{{|||{||||{{z{{{z{{|||{{||{zzz{zzz{{{|{{|{{z{zz{|zz|{|{|{{z{zzzz{z{|{{{{{{{{zzzzz||z{{{{{{zzzzy{{{{|{{{z|{z{{{z{zz{{{{{{{{|{|zzz{z{|{|{{{{{z{zzzzz{{z{{{{{{{z{zzzz{{{{{|{{zz{zz|zz{{|{{|||{{{z{{zy{z{z{{{|{z{z{y{{{{{{{{{|{zzzzzzz|{||{{{|{z{{zz{z||{|z|||{zz{{{{{||{{|||{zz{y{|{{|{|}|{{{{{z{{{{{|{|||{||z||{{{{{|{|||||||{|{z|zz|{|{}{||||{{|z{z||{|z}||{{z{{{|{{{{{|{|||{{|||{|||{||||}|z{|{||||{{|{||||{z{{{||{{z||||{|{{z|zz{{{|||{||{||z{|{{{{|||}|{{{{{{z{zz||{|||{{{z{{z{{{{|{{~|{{||{z|{zz}}|{|||{|{{{{{{{|{{{{}{|}{{|{|{{|{{||||{zzzzzz{{|{|z||{z{{{yz{z{|{|{{}{|{|{{{{zz{|z{|{{{{z{z{{{{||{{{{}{{{zy{zz{{z{{{{{{z{{{{{{z{||{{|{{z{{z{z{{{{z{{z{{{{{zz{z|z{{{|{|{z{zzzz{zz{{z{{|{{{{{yzzz{{z{||{{{{{z{zz{z{|z{|||{zz{z{z{|{z{{{{z{{z{yz{{{{{{|||{{{{{{zz{z|{{{{{{{{zz{{{{{{{|||{{||{{{z{|||{{|}|zz{{z{{z||||||||{{{{|{z{{||{|}|||{{{{|{{{|{|||}||{{{{{z|{||||||||z|{{{z{}|{{||}|{||{{{|{{|||{||{|{{{{{{{||}|||}|}{|{{z{|{||{|||{|||z{{z{{||{|||||{{{|{{{{{{|||||{{||{{|z{||||||||{{{{z|z|}{|{|{||{{z{y{z{{|{{|||{|{{|{{z{}|{|||}||z{{zz{{zz{||{{|{z{z{{z|{{{|}||{z{{{z{{{|{|{|{||z|zzz{y{|{z{{{|{z||{{z{z{|{{{{{{zz{z{z{{{|zz{{{{z{{zz{|{{{{{z|{z{{{{{z{{{{{{z{{{{z{zzz{{|z{|{{|{z|zz{{z{{{{|{{|zyz{{yzzz{{y|||}{{{zzzy{{{{z{{{{{zz{{{zz{|{|{||{{z{{{y{z{{{{{{{{{{zz{z{{|{z}||||{{z|zz{{{{|{|{{|zzzz|z{{{{{|{}|{{zz{{zzz{{{|{{||{z{|{{{{||{{|{|||{{z|{{z{|}}{|||{{z{{z|{{{{}|||{z|z{||z{{|{|{||||z{{z{{|{||{||}||{|{|z{{{|{|||||}{{{{||z{||{{{|{|z|{{{{{|||||||||{{||{{{|{||{||}{|{{|z{{{|||{|}|{z{{{{{{{{|{||}{zz{{zz{{{{||{||{{{|{{{zz||||{|{|{{z{{{{{|}|{{|||z{{{zzz|{{}{||{|{{zz{{{{{{|{|{|||{z{zzy{||z{{{{{|{zzyzzz|{{{{{z|{zz{{zzz{{{z{{{{{zzzzz{{|{{{{{|{{{zzz{{zzzzz{|{{zzzz{yz{{{{{z{{{{zz{yzy{{{{{{{{{{{{zzzy{z|{|{{{{z{z{zzz{z|zzz{{{|z{yz{zzz{{{{|{{{z{z{{zz{{{zz{{{z{z{{z{{{{{{z{{zzz{{zz{zzz{|z{{{{z{zz{z{{{|{{{{|{{{{{z{z{{{{{||zzzzz{zz{z||{z{}|zzz{zz{zz{|{{|{{{{z{{{{{{{|||{{{z|{{{{zz||{{{|{|{|{{{{{z{{}}{{{}{{{{{{zz{}|{|{||{{zz{{{{{{{{{|{{|z{z{{{{{|||{|}|{{||{{{z{|}{||||||||{{{|{{z{{|}{{{{{|{{{{|{|||{|zz{{{{{{{||{{{{|{{{{{{{z{|{|z{||{zz{z{zz{|{{|{|{|{{|z|{{z{{{||{{{{{{zzzz|||{|{{||zzz{{y{{{{z|{|{{z{{{{{|zz{{{z{{{{{{z{{z{z{{{{{|{{zzzzzz{{y{z{{{{zzz{zz{{z{z{z{{{z{zz{zz{{z{z{z{zzz{zyzzzzz{z|z{{zzzzzzzz{{z{{z|{{zzzz{zzz|{z{|{|zzzzzz{z{z{z{zz{zzzyzzzz{{z{{|zzz{zzzzy{|z{{{{{{{zz{y{{{{{zz{{|{z{zzyz|z{{{{{|{z{{zyzzz{zz|{||{{{zz{zz{z|{{z|{z{{zz{{z{{{{{{{{{|z{z{{z{{{{{{|{{z{z{{|yzz|||{{{|{{zz{z{|z|{{{}|||z{{zzzz||{{||{{{zz{z{{z|{{{|{||z{{{z|{z|{z{||}{|{{{{{|{{}|{||||{z{{{|{{{|{|||{{{zz{{{{{{z{{|{{|{{|z{||{{|{{{|{|{{{z{{{z{{|{z{{||{{{zzzz{{{{|z{|{{{z{zzz{{{z{|||z{{|{{{{||||{{|}|{{zzz{{|{{{{{||{{{{z{{{{{z{|{{{|{z{{z{{{||{{{{|{{{z{{{{z{{z{{|{{{zz{{zz{{{zz|{{|zzzzzyz|{{z{{|zz{zzzzzzz{{{{{{{zz{{{{{z{{z{{z{z{zzzzzzz{{{z{z{{{zzzyzzyz{{{z{{{{yzzz{zzz{y{z{{zz{{zzzz{{{{z{|{{{z{z{zz{{{{{{{|{|z{y{zzz{{{{{{z{{{{z{z{z|{{|{|{{z{{z{{{z|{{{{{{{{z{z{zz{{{{{{{{{{y{|{z{{|{{|z{{|{{{{z{{{{{|{{{{{z|{zz{z{{{|{{|{|{|{zz{{z{{{||{{}{{{||z{{|{|||{}}{z{{{{{z{|{{|||{{{{{{{{z||{|{|}||{{|{|{{{|||||{}{z}{{{|{{|||{||{{{z{{z{{{{{|{{|{{|{||zzz|z{|||{{{}{z{{{z{||{|{||{{{{{{|{{}||z{{z{{|z{z{{{|{}z|||{{{{|{|{z|||||||{{zz{y{z|{{{||{{|z|{{z{{{|{{{{}{|{|zzz{{z{{|{z|{{{zzzy{y{{{{{{{}{{{zzz{{z{{|{{{|{{{{zy{z{{{zz{z{{{{zzzzz{z{{z{{|z{zzzy{{{z{z{{{{zzz{zzzz{{{{{{{{{zzzz{{{{{|{z{|{{{zzz{zyz{{{{z{zzzzz{zz{{{zz{|{{z{{{zzzzz{{|zz||zzz{{z{zz{{z{{||{z{zzz|{z{{{||z|zz{zz{z{{||{{{||{z|{{z{{z{{{{|{{|{zz{zzz{{|{{||{{zz{|{zz|{{{||{z{{{{{{|z{{{|||||{}{|{|{{|||||{||{{z|{z{{{{||{||||{{{z|{{{||{}|{||{{z{{{|z{{|{|}{|{{z{{{{{||}|||||{{z{{{{{||{||{|{z{{z{{{{|{{|||}{{{{||{{|{{|}|||{{{{{{{{{{||{{}|{{{{zz{{{|{{|||{{{{zzzzz|{{z|}{{{z|{zz|z{{|||{{|{{{z{{{z||{|{|{|{{{{{{{||{|{{||z{{zzzz{zz{||{{{|{{{yzz{z{{{{||{{{{{zzzz{z{{{{||{{|z{zzz{z||{{{{{{{{zy{zz{{z{{|{{z{zzzz{z{z{{z{|zz{zz{{zz{z|{{z{|{zz{yz{z{{{{{{|}|{z|zzyzz{{{{z{z{{{yzzz{{|{|{{{{z{{z{z{{z{{{|{{{{{zz{zz{{{|{{{{{z{{|zz{z{||{{{||{{{z{z{z|{{|||{|{{zzz{{{|||{|||||{{|{z{z{{|{{{{{{{z{z{{{{}|{{{{|z{{{{{z{{||{{{{|{{|||{|z{|{}{|||{z{{{{z{|{|||||||{|{z{{z|}|{{{}}z{z{{{|{|||{||||{|{{{{|z||||{}|||{z{{{{{||{||||{|{{{{{{{z{|{||}|||{{{{{{|{|z||}||z{{{{z{{|{{{|{|||zz{|{{{||}|||{|{{{{y{{{|{{{}||{{{{z{|{|||{{|{|{z{{{{{zz||{||{||{zz{{{{|||z|||z{{|{z|{{|{||zz{|{z{zyz{y{{z{{z{{y{{{{z{z|{z{z{|{{zz{z{z{{{{{z{{{{yzzz{zzz{z{z{{{{{zy{zzz{{{{{|{{{{zzzzz{{|{{{z{|{zy{{zyzy{z{{|{{{{{{zz{zz|{{{{|zzzyz{zzzz{{|{|{{{{z{|{zz||{{|z{||zzz{zz|{{{{{{{{{zz{{zzz{|z{{{{|z{|zzzzz{{{{|{||{z{{{zzz{}||{|{|{{zzzzz{||{|{{|z{zz{zzz||||{{{|{{|{{{z{z|{|{{|{|{{|{zz{{{|}|{{}|{{z{zzzz||||{|}{|z{z{z{{{{|{{{||{z{z{{{{||}}|||}|{{|z|{|{||||||||z|{{|{{|{||{{|||z{{{|z{{|{|||~|{{z{{z|{||||{{{{{{{y{{{{{|z}{|||{{{{{{{{||z|{||}z{{{{z{{{{|z{|{|{{{{{z{z{{|{{{{{{||{{{{{{{{|{|{||z{z{z{z|{|||||{{{{{zz{{|||{{{{{|z{zzzzz{{|{||||zz{{{zzz{|{{z{{{zz{{zzz{{{|{z{{{z{zzzzyz{{{{{z{|{zzzzzzzz{z{{{{{{{zzzzz{z{|{{{{{{zz{zzyzzz{|{{||{{{zzzz{z{|{z{{{|zzz{{z{zz{|{||{zy|z{{zz{|{{{|||{{{z{{z{{{|{z{|{{z{{z{{{|{{z|z||{|{{{{zz{{{|{{||{z{zzz{z{|{{{{{|{z{{{{{zz{{z{|{|{zzz{{{z|{|{{|{|{z{{||{{{{{|||}{|{{|{{|z{|{|{|||z{zz{{zz{||{|||||zzz|z{{||||||||{z{{z{|{{{{z{{||{{{|{{{{{}{|||{{|{{{|{|{{|{||}|{{{z{{|zz|||{|{||{z{{{z{{{{||||{{|{{zz{{z|||||||{|{|{{{{{{|{|z{||z{{{zzzz|{{||||||z{z{z{z{|{{{{|{{{{z{{{z{|{{|{|{{{{z{{{{{{|{{{{{{zzz|{{{{||{|{||||{zzzzz{z{|{{{{zzz{zz{z{{{{{{{|zy{z{zzzz{{{z{z{z{zzzz{z{{{{||{{yzzyzzz{{|z{||{zzzz{z{z{z{{{{{||{yz{zz{y{z{{{{{|zzz{z{zzy{{z{|{z{{{z{zz{{{z{z|{{{zzz{z{z{z{z{{{|{{{|{zz{z{{{{{{{zzz{zz|{{|z{|z|{{{z|{{{z|z}{{z{{zz{{{zzz{|{{{{z{{zzz{{{{|{|{{{||{z{z{{z{||{|{{{{{{z{{{||{{|{|{|{{{z{{{{|{||||{||{{{{z|z{}{{{{||||z{{{z|{{||{|{||{z{{{{{{z||{|||||{z{{{{{{|{{|||||{|{z{{z{||{||{{{z|zz|zz|{|{{||||{z{{|z{z||{{{|{{z{{{{|{{{{{{||||{{{z{{{z||z{{{|{{|{zzzzz{{{{|||z|{y{{{{{||{|{{||{{{{{z|{{{{{|{|{{{|z{{{{|{z{{||{{zz{zz{z{||{{|{z{zzz{{{{{{{{{{|zz|{{zzz{{{zz||z|{{{{{{z{|zzz|{{zz{yzzzz{{z{{{{|{{zzzy{z{||{{|{{zz{zyzzz||{{{{{{{{{zz{zz{z{zz{|{{zy{zz{zz{{{{{{{|{zz{z{z{{{z{{{{zz{{{{{z{{{{{z|{{z{zz{{{z{|{{{{{{{z{{z{|{{{|{{|{{{{{z{zy|||{{{{|{z{{{z{z{||{{||{zz{{{{{z|{||{{{|{|z{zzzz{{{{{|{{|{|{z{|{{z{|z|}|{|{{|||{{|{}||~{{z{|{{zz{{{||}{||{{{{{{{||}|||}}{{|z{||{|{||||||}{{{{|{}{{||{|}|}|{{{{{{|||||||||{|{{{{|{{{{{{|{{{|{{{zz||{{{{|}{||{|{z{{|{|{|||{|zz|{{{{{{|{|{{|{{z{{zz{{{|{{z{{{{{{{{{{{{|{{{{||{{{{z{|{||{{{|{{zzz{{z{|{{|{}{|zz{{{{|z{{{{|{{{z{zzyzzz{|{{{{|{z{zz{zy{||{{z{{|{zzzzz{z{|{{{{{{zzzz{zyzzz{{{{z{zzzzyyz{zzz|{{{{zzzy{zz{z{{{|{zzz{{zyy{z{{|z{{{zz{z{zzyzz{zzz|{{{yyyz{zzz|{{|{|zz{zzzzzz{z{|{{{zyzzzzz{{{{{{{||{z{{zy{z{|{|{|{|zz{zz{zz{|z{|{{{{z{z{yzz{{{{{{{|{z{z{{{z{{{|{|||{y{{{{{{{||{z|{{{{{{{|{{{|{{|}{{z{{{{{{{|{{}{|{{{{z{{zzz|{}||{{{|{z{{{{{||{{{{{|z{z|z|{{{|}{||{||{{z|{{z|{||{|}||{{{{z{{||{|{{{|{z{{zz{{{{|||{{}|{{{{z{{{|{|||||{{|{{{{|z{|{{{||{{{|z{{{{|||{|{{z|{z{z{z{{{{{{|||{{{{y{zz{|z{|{|z{{{z{y{{{{{{{|{{{{z{{zz{{{z{{|{{{{{{z{{{{|{|{z|{{{zzzzz{||zzz{|z{{zz{zz{|{zz{|{|{{{{zzz{z|{z{{z{{{zz{y{{{{{{{{{zzz{zyzz{z{{{{||{zzzzzyzzzzz{{{z{z{{z{zz{{||{{||zz{zzzzy{z{{{{z{{zz{zx{zz{{{z{{{{{{z{{zzzz{{{|{{{z{zzzzz{||{{|{|zy|zyy{z{{|{||{|{z{{{{{z{{{z{z{{|{{z{{zz{{{{|{{{{{{{zzzz{z{z||{||z{{zzzz{|{|||{|{zz{{z{||{{|{{|{|{{zzz{{|||||||{{{{{{{{{|||{|{{||{{z{{{z{{{|{||{{|{z{{{{||{|{{}||z{z||{{|||{|{||{{{zz||{|||{{||{|zz{{||{||{|{{||{{{{{{{{{{{}|{||z{|z{{z{{{|{|{|{{{z{z{|{|{{{|||{{z{zyz|z{{{{{|||{yzz{{{{{{{|z|}|z{{{zz{z{{|{{||||{{z{zz{{{{{|{|z{z{{z{{{{||||z{|{{z{y{zz{z{{{{{{{z|z{yzzz{zzz||z{{z{zzz{{{{{{{{{{z{zz{z{zz{zz{{{zzzyzz{{{{z|{||z{{{{yzzz{z{z{{{{{{{{zzyzz{{z{{{{{{{{zyzy{zzz{|z{{z{zzz{y{{{|{|{|{zzzzzzzz{{zz{|{{zz{zz{{|{z{{{{{{zz{{zzz|{{{{|z|{{{{zz{{{|{{{{{{zz{{zz{{|{{{{{{{zzz|{zzz{{|{{{|{{{z{z{z{|{{{{{|{{{zz{{z{z||}{|||{{{{{y}{||{|||{||{{|{{{{{{||{||||{{z{{{{|{{{|{}}{z|{{{|{|||{|{{||{{|z{{{{||{|||{|z{|{{{{||{{||||{{{{{z{{{||{|||||{{||z{||||{}||||{{z|{z{|{|z{|{{{|{z{z{{{}z}|||z{{|z{zzzz{{{|{{{{{z{{z|{z{||{|||z{z{zz{{|{||{|{||zz{{zzzz{{{{|||{z{{{zy{{|{|{{z|{|{{y{{z{z{|{|{|{{{{z{{{z{{z{|{{zz{zzzzz{{{{z{{{{{zzz{z|{{z{{{{{z{zz{z{{|{{{{{{{{{z{yz{{{{{z{||{z{|zzzzzz{{|{{{|{zzzzzzyzzz{z{{{{z{zzzzzz{{zz{|{zz{z{{{{|{|{{{|{{zz{zzzz{|{{{|||{z|z{z{zz{|z{{{{{zz{zz{y{{|{{{{{{{{z{zz{{||{{|{{z{z{zz{{{|{{{|{{|{z|z{zz{{{{{{{|{z{z{{z{z|{|}|{{{|{{z{{z{|}||{||{{{{|{{{||{||||||z{{|{{{{|||||{|||{z{{{|{{z|{}|}|zz{{|{{{||||||{{z{{{{|{{{||||||z{z{{z{{{{{}||||{{{{{{z|{|||{|{|{{|{{{zzz|||||}|{{{z{z{z{|{{|{||{{{{z{{z{{||||z{{zzz{zz{z{|z{|||{zz{zzzz{{{{{||{{zzzzz{z|{{{{|{{{z|{zzzzzz{|z{{|z{{yyz{{z{zz||{|{zzzzzzz{{z{z{{{yzyzzzzzz{zz{{z{y{zzy{z{{{zz{{z|{y{zzz{z{zzz{{z{{zzzzyyz{{{{{z{{{{zzyyy{zzz|z{|{zzzz{yzyz{{z{{{{z{{zzzz|{{{zz{{{zz{zzyzz{{{{z|{{zzzz{zzz{z{|{{zzz|zzzz{{{{|{{z{{z{zyzz{{{{{{z{||{zz{{y|{zz{|{|{{{{{zzzzz{z{z{{{z{{{{zz{{|||{||{{zz{z{yy|||{{|{||{{{{{z{z{}|{|{{|zzz|z{{{{{||{||{{{z{{zzz|{z{{{{||{{{z{{|{|{{||{||{{{{||{}||{}|{||{{{{{z{{{{{|||||{{{|{z{|{{||{|||{z{{|z||{||{|{}{z{zyzzz{{{{{|{|{zzz{zzz{|{{{{{{|zzz{zzzz{|{|{{{{{{{{z{{{{|{{{|{{{z{{yzz|{|||{{|{z{{{z{{|z{{{|||{z{{zzy{{{{|z{{{|z{z{z{z{{z{{{{|{zz{{z{z{{|{z{{{{{zz{zzz{zz|z{|{z{z{{{y{zz{{{{{{zyzz{{z{{{{{{{|z{{{z{zz{{{{{{|{|{zzzyzzzz{{|z{|{z{z{{zzzz{{|{{{{z{z{z{zzz|z{z{{{{{{{zzzz{z{z{{||{{zz{{z{z{{{|{{{z{z{zz{z{{{{{{{|{zzz{zz{{||z{{|{{{zy{zzz|{|{|{|{z{{{z{{{{{|{{{|||z{{{{z|{||{|{{{|{{{{{{{{|{|||{|z{{z{|{|||{}||||{zz|{{zz{|{z}{|{|{{{{{{{|{|{||{|||{{zz{{|{{|||{|{{{{|{{{|||{|}|{{z{{{{||{{{}|||{{{{{{{{|||{{||{}{||{{z{|||{||}||{||z{{|{|||{{{|{z{{{z{{{{|{|{{{{{z|{{y{zz||{{{||{{{z{{|{{|{z|{{|{{{z{yz{{{{|{{{|z{|{{z|{z{{{{}|{{z{{{zzzz{{{z{||{zyz{zzyz{{{|{{|z{{{zzzzz{{{{{|z{{{yzz{zz{{zz{{{z{{zyzzz{{{{{z{|{z{{{zzz{z{{|{z{z{{{z{{{z{|{{z{{{z{zz{zz{{|z{{||zz{zzz{zzzz{||{z{{{zzzzz|{{zz{|{y{zzz{zz{{{{z{||{zy{{{{{z{{{{{{|zzzz{zz{{|{z||||zzz{z{y{{{||{|{{zz{{zz{z{{{{{{{{{{{{{zzz{{|{{||{{{{zz{{z||{{{||{{{{{{{{{z||{{|{{{{|{{{{{{{|}{}|||{{|z{zz{||{|||{|z{z||{{{|{{{{{{||{|{{|{{{{||||}|{{{{{{y{}|||}|||{{{zzzz{{{{|{}||{z{{{{|||{||||}{{z{|||z||||{{||||{zz{{{{|{{{{||||{zzz{{z{}{{{{||y{z{{{{||{{{|{{{{{z|z{zz{{{{{{|{{z{{{zz{|{{{|||{z{yz{zz|z{{{{|{{z|z{|{{{{|{|}{{{zzzyz{z{{||{{|{zzz{{{{z{|{z{{{{z{{zzz{z{{z{{{}{z{{zz{{z{{z{{zz{yzzzzzzy{{{{{{|{{y{zzzyy{z{{{{{||{{{z{{z{z{{{{{{{{{zzzz{zzzz{|z|{{{zzy{zz{{|{|{|zzzz{{zz{{zz{{z|z{{zzy{y{{{{{{|{z{zzyz{{{{{||{{|{z{z{zzz||{{{{{|{{{{zzzz{|zz|||{{zz{z|zz{|{{{||{{yz{{z|z{|{{{{|{{z{{z{{z{{||{||{{{zz|z|{||||||||zz|||zz{{|z||||{{{{{{{{z||{|{||{|zz{{|{|{||||}||{{|{{{{{z||||{|{|{{|{{{|||{{|||{|{{{{{{{|{{||{{|{zz|{zzz{|{{|||}{{{z{{{{{{|{|||}|{{{{{{z{{{||{{{{z{z{yzy|{{z{{{{|{xz{z{z{{{z{z{{{{z{{z{{{|{{{|||{zzzz{z{{{z|{{{{{{{z{zzzz{{{zz|{{{zzzzzz{{{{{}z{zz|z{z{yz{{zz|{z|{zz|zzzz{{zz{{{{zzzyzz{{z{{y{{|zzyzzzzyz{{{z{{{{{zzzzzzzz{{z{{{{zz{yzzz{{{{{{{|{zzz{zzzzz{z|zz{{z{z{z{zz{z{{{{{zz{y{{zyz{{{z{{{{zzzyz{yz{{{|{{|zzzzzz{y{{{{{|{|{{{{z{{z{|{{z{{{{z{{{zzz{|{{{z{{{z{z{zzz{{{{{{|{{{{zzzz{|{{{z|{|{{zz{z{{{{{{|{|{z{z{z{{z||{|||{}{zz{{z{{|||{|{}|{z{{|{{z||}|||||{{{{||z{{{{|{|{{|{{zz|||{{{||}|{|{{{{z{|{{||{{|||{z{{z{{{{{|{|{{{|{||{{{||{|||||z{{zyy{{{|z{||||{{{{{z{{{|{z|||{{{{{zz{z{{{z{|z{{{zzz{{{z{|{{z{{{{{zz{{{{|{{z{{|{{{{{zzz{{{{{{{|{zz{{{yzz{|{zz{{zzzzyzzz{|{{{{||zyzzy{{zz|{z{{{{{{{zz{zz{{{yzz|{zzz{yzyz{{z|{z{{zzz{{zzz{z{{|{{{{zzzz{zzz{z{{{|}{z{zzzzzzzzz{{{{{zyzzzzyz{{zzz{zz{y{zyzzy{z{z{|{{zzyzz{{zzz{{{{z{zzy{{{{{{z{{{|{zz{{zz{z{{{{|{{{{zzz{{{{|{|{z|{{{{{{{zzzz|{{{{{|zzzzzz{y{{{y|||{zzz{zzz{{||z{|{zzy|{{{{z||{{||||{{{{z{|z|{||{{{}{|{z{{z{{{||{{{|{z{{{z{{|||z{|||{z{{|{{{z|{{||{{|z{{z{{{{||{{{|}|z{|{z{{{{z|{|{{|{z{y{{|||{|{{|||{z|{z{{{||{|}||{|{z{{z{{{{{|{{{{{z{zz{{{{{||{|{|{{z{z{z|{{{z|||{z{zz{z{z{|{{{{|{{zz|zz{{{{{|{{{{zzy{{y{{{|{z{{{{{{y{zzy{{z{{{{{zzzzy{zy{{{{{z{{zzy{z{{z{{{{z{|z{z{{zzzzz{{{z{zzz{{zz{{y{z{{z{|{{{z{zzzzz|zy{{{|{{zzzzz|{||z{{{{z|zzyzzzzz{z{{{{zz{zzzzzz|{z{{{{z{zzzzz{z{z{{{{{z{{zzz{{z{{{{{{{{{{zz{{{{{{{z{{{z{{|{z{{{{z{|z{|zz{zzy{{{{{{|{{|zzz{{{z{zz|{{||{zzzz{{{z||{{{{{||{{{y{{{{{{{{{{{{z{{{{{z|{{|{{||zz{{{{{{{{{{||||{{{|z{zy||{|{{|||z{{|{{{{||{{{|{|z{{{{z{z{||{|{{|{{{{{{z{|||||||}{|{zz{z{{||||{|{z{z{z{||{{|{z}|{z{{{{z{|{{{{{z|{zz{z{{{{|{{|||||zxzz{{{{{{|{{|{{z{{zz{z{{|{||{{zzz{{{{z{{{{{|{|z{{zz{zz{{{{{{||{{z{{{zz{z{z{|{{{yzy{yz{{{{{{{||{{{z{z{zz{{{{{{|zzzzzzzzzy{zz|z{z{zz{zyz{{{zz|{zz{yyzzzz{z{{z|{{zzyzzy{{yz{{{{{{zzyzzzy{z{z{{{|{z{zzzzzzz|{|{{{zzzyzzzzzz{z{{zz{zz{zzzyzz|z{z|{zzzzzz{{y{|zz{{{|{zzz{zz{z{{{|{|zzzzzzz{{{|z{{z{|z{zzzzzz{z{{z{{|{z{zz{z{{{{||z{{{zzzzzzz{{|{|z|{{{z{{{y{{{|{{{{{zzz{zz{{{{|{|{|{z{{z{z{{||{{{|||{{{{|{zz{|||||{z{z|{zz{{|||||{||{{{{{|{z{|{{{|||}z{{|{|{{}||{|{||{{{{z{{|{|{|||{{z{z{{{z|{||{{|{{{{{{{{{{{{|||{|{{zz{zzz{{{{|{|{{{z{zzzz{{z{{{|{zzzzzz{{{{{{z{z{z{{|z{yz{{|{{z||{z{z{zz{{{{{{||{{zzzz{z{{{z||{|{zzzzzzzz{{{{{{{{|{zzzzyz{{|z{{||zzzzzzzzz{{{{{|z{|zzzzz{{z|{{{{{zyzz{zz{z{{{zz{{zzzzzzzyy|{{{|{zzyyz{zzz{{|z||{{{{{{yzy{z|{zzz{{{zzz{zzzz{zz{{|{z{zyzz{{zz{{z{z{zz{{zzzz{{{{{|{{{{{zz{{z{z{{z{|{zz{zzz{z{{{{{{{{zz{{z{zz{{{{z{||z{zzzy{z{{|{{{{{{{zz{zz{{|||{|||z{zz{z{zz|{z{{{|z{{{{z{{zz{{||||z{{{{{|{|{{{{|{|{{{{z{z|{{|{{{{{|z{{{{{{{}{{{||}||{zz|{|{||||{|||{{{z|{{{{{{||||{{|{{z{{{||{|||{{{z{|z{{{z|{{|||{{z{{{{||{|||{{|{{z{z{{{{{{|z||||{{{z{zz{{{|{|{{{{z{zzz{z|{{{{z|{{yzzz{zz|{zz|{{|{yz{zzy{|{{{{z|{zz{zzzz{{|z{{|{zz{zzyzz{z{{{{{{{zzzzz{z{{{|{{{z{z{zzz{yzz{z{{|{{z{{zzz{{zz{z{z{zzyzz{z{{|{{{{zz{{zz{{z{{{{{{{{zyzz{y{zz{{{z{{{{{z{zzz{zz{{{{{{zzzzzzyz{{zz{{{{{zz{zzz{z{|z{{|{{zzz{z{zzz|z{{{{{zzz{{z{{{{z{{z{{{{{zzz{z{{{zz{{{{yzzzzzzz{{{{z{{{z{{{zzz{|{z||{{{zzz{z{z{{{z{{{{{z{{{{z{{{|z{|{{{{{{{{zz{|{{{|{|{z{z{{z{{{z|{{||{{{z{zz{z{{|{{|{{{{z{{{z||{{|}|{{z{{{{{{{||{|||||{{{zz{zz|||{||||z{{{{zz{}z|{||||{{z{{z{||{{|{||{z{{{z{{|z{{|{|{{{zy{{{{{{{{|{||{{{z{{{zz{|{{{{{zz{zzyz{z{{{z|{|{{{z{zzzz{|{{{{|zzz{zz{z{{{{||{||{yzzzzy{z{{|||{{{{z{z{{{||{{|||z{zz{{{z{|z{z{|{|{zz{yzzz|{{{{{{{z|{{yyyz{{z{|z|zzzzzzzzz{z{z{{{{zzy|{{{{|{zz{{z{{z{zzzz{zz{{{{{zy{zyz{zzz{|{{{{z{{{z{zy{{zz{{z{{{zzzz|yz{zzzz{{xz{{zz{yz{{{|{{z{zzz{z{{z{{z{{{{zzz{zzz{{{z|z|{{{z{zzz{{|z|{||{{z{{z{z{zz|{z{}|z{z{{zzzz|{{{{{{{{{y{{z{z|||z{{{z{zzz{{{{{{{{{||{{{{z{{zz|{{|{|||{||z{zz{{{{|{||{z{{{{z{{{|{|{{{|{z|{z{{z{||{||||{{{{{{z|{{{|z||{zz{z{{|{{{{{|{{{{{|z{|{|{{{||{|{{{z{|z{{||{{|{{|{{{z{z{{{|{{|{|}{{zz{z{z|{||{{{|zz{z{zzz{{z{z|{|{{{{|yz{||{{|z{{z{z{{z|{{|{{{|||{{zzzzz{|{{{{||}{z|{{{zz{{{|{{|{z{{zz{zz{{{{{{{{|zyzzz{{z{{z{{{{z{z{|zzz{||{{|z|{{{zz{z{zz{|{z{{{|yzzzzzz{{z{|z{{z{{z{yz||{{{{{{{z{{z{y{zz{{{z|{{z{zzzzy{{|zy|zz{|{{z{zz{zzz{}{{{z{z{zz{|{{{{{{z{z{zzz{zz{{{|{{{z{{z{z|z{{|||{{|zz{z{z{zz{|{||{|{zz{{z{{z|||{{{{{z{{z{zy{{|{{||{{{{{{{{{{||{z||{{|{{{{{{{{{{||{|{{{{{{|||{{{{||}z{{{{z{{{{{{{{|{{{{{{{|{|||z{}||{|{{{{{||{||||}||{{{|z{{{|{}{|{|{{|{|{{{}{||{||{|zz{{|{{|z{||||||{{{{{{z{{||||||{z|z{{{z{{z||{||{{{{{z{{{|{|z{{|{{|{z{z{y{|{{|{{y{z{{{{{z{|{{{||z{zz{zz{z{{{z||{|zzyz|zz{{{{{|||zzz{zzzz{{{{{z|{|{{z{zzyz{{{{{{{z{{z{{zz{{{{z{{{{z{yzzz{{{{zzzz{{zzzzzz{{{{z{{{{zz{zzz{z{{{z{{z|{zzz{zyy{{{{|{z{{{zyzzzy{{{{z{{{{z{z{{{y{{z{{{{|zzzzzyzyz{z{z{{{{{{z{{zz{{|z{{{{{{zzyzzzz{{{{{z{z{z{z{{{{{{{{|{{{{zz{z{{{{|{z{|{zz{zzz{{z||{{|{{{z{{z{zz{|{{|{|{{zz|{{zz|{{|{{{z{{{z{z{|{{{{{{||{{{{{{|{{{{{|{{|z{{{{|zz{{{|{{||{{|zz{|{z||z|{}||z{{z{||{{|{||{|{|{||{{z|||{{}||{yz{{{{{{{{||||||{{{z{z{{z||{{|}{{{z|{{|{z||{{|}{{|{zzz{|{{{{{||{{z{{{z{{|||z{||zzzzz{zz{{{{{|{{{{{zzzzz{{{|{{{|{zz{z{zzz|{z{|{|{zz{|zzz{{|{z|{{zzzz{z{{{{{{{z|{{{{{{zzy{z{zz|{{zyzz{z{zzz{z{||{{z{zzzzy{{{{z{z{{{zzz{zyz{z{{{|{zzzzyyzzz{{{{{{z{yzzzzy{{{zz{z|{zzzzzyz{{z{{z{{{zzzzzzzyz{{yz{z{zz{zzzzzz{zzz|{{{z{z{{{zz{{{{{|{zzzzzzyzzzz{{zz{{z{zzzzz{{{{{{|{zzzzz{yz{z{{{{{|{zzzzzz{z{|z{{{{{{{zz{zz{{||{{{zz{{z{z{|{|{{{{{{|{{{{{y{zz|{|||{z{|{{z{{||{{{z||{{{{{zyz{{|||{{|{{|z|z{z|}{z||||{{{|{{{{z|||{{|||{{{{{zzz|||||{{|{{{{{z||{{{{{}||z{z{{z{|{{{{|z|{{{{{{{|{|z{}|{|zzzz{{{{{{|{{||{|{z{z{{{{||{{|{|zy|yzz{{{{z{{{|{{{{{{zzz{{{|{z{{|z{{zzz{z{z{{{||zz{z{{zz{{{{{|{|{{{zz{{|{{z{z{{{{{{zzzzz{z{{{|{{{{zz{zz{{{zz{{{{{{{zzzzz{z{zz{zz{yyzz{yzzzz{z{{{z{zzzzzz{{{zzz{{{{yyzzz{{z|{{zzz{z{zzzzz{zz{{{|{{yzzzyzzzz{{z{{zzyzzzzzz{zz{z{{|{z{{{zzyyz{{{z{{{z{zyyzz{{{{{{{{{z{zzz{{{{{{{{{{{z{zz{{zz{|{{|{{{z{zzz{y{{{{{{{{zz{z{{{yz{{{{{|{{{zz{z{z{|{z{{{{|z{z|zzz{{{||{{|z{zzz{{{{{|z{|{|zzz{z{{{{{|{{||{{{{{z{z{|{|{|{|{{{{{zz|{{{||{}{{|{|{{{|{{}{|||}{{y{|{{z{|{|{z{}{{z{z{{{{z{{||||{{{|{{z{{{||{|{||z{{z{{{{z||{{|{|{{z{z{zz{|{|zz|{zz{zzz|{{{{|{{{{zzz{z{{yz{{{{{{{{{zz{z{{{|{{{{{{{y{|{{|{z{|||z{{zz{zzzz{{z{{z{|{{z{zy{zz|{|z{{|{zz{zy{zzz{|{{|{{{z{z{zzz{{|zz{{{zzzzy{zzy{{{{{{{z{zz{zzz{z|{{|{zzz{zy{yzzz{z|{z{{{zzzyzzy{{z{{|{z{zz{zzzzz{{{z{|z{zzzzzzz{|{{|z{zzzzz|{{zzz{z{{|zz|zzzzz|{|{{{{{zy{z{z{y|{|{{|{}{zzz{zz{{{{{||{|{|{{zz{z|{{{{|{{{z{zzz{y{{z{}{|{{zy{{z{z{{{{{||||{{zz{{{{{|{{{{|z|{{z{{||||}{||{||{{{{z{{||||{||{{|z{{|{{{|{{|{{{z|{{{{{{||{||}{|{{{z{z{{|{|{}||{|{z{{zz{z{|{{||{z{{z{{{|{{||{}|||{{|{z{{|{|||{|z{{z{z{{z||{||||{{zzz{{{z|||{|{{z{{z{zz{{{{{{{z{{z{zz{zzz{|{z|{{{zzzzzzz{|{{{{{|{zzzzzzzz{|{{{{{|zzzzzzzz{{|{{{{zz{{zyzz||{{|{{|{z{{z{zz{|{z{{|{zyzzzzzz{{{{{{z{{zz{z{zz{z{{z{{{zzyy{{zzy{|z{{{zzzzzy{xz{{z{{z{{z{{{z{zz{z{|z{{{z{{zzz{zyzz|z{{{{{zzzzzy{z{{z|{{z{{{{z{y{{{|z{{{{yzyzzzz{{{zz{{{zy{{{z{z{z{{z{{{{{{zzzz{|{z{{{}{zz{|{z{z{{|{{{{|z{z{zzzz{{{z{||{zz{{z{z{{{{z{{{{{z{{y{z{{z{{||{|{{{{{z{{||{{{{||{{{zzzz{|{||}{|{{z{{{{zz{||{||}{{{{z{z{{{{{|{|}||{{{{{{{{}|{{|{||z{{{{|z{{{|{||{|{z{z{{|{|||{{||{{{{{|{{}|{{||{|{{zz{{{z{{{{|}|{|{{{zz{z{{{|{|||z{{z{zz{{{{{{|{|zzzyyyzz{{{{{{{{zzzzzzzzzzz{||{{{zzzzz{z{{{{{{{|{zzzzyz{z{{{zz{||{{zzzzz{{{{{{{|{{zzzz{z{{zy{{|{{zzz{yzyzz{{z{z{{z{zzzyz{{y{zzz{zzzzzyyz{{zzzz{yzzzyyzzzz{{{{zzzzzz{z{yzz{zz{{{{zyz{yzzzzzzzzy{zzzzzzyzyzz{{{{|z{zzyz{yz{yz|z{{{{zzz{y{yz{{{{{{{{zzzzzzzz{{{|{||{{{zz{{z{zz{{{|{zz{zzzzz{{{{z|{z{{z{{zzyz{{z|{{{z{z|z{z{{{||{{|{{zzz{zz{{{{{{||{zzz{{{{z{{{|{||{{zz{|{zz{|{{{{}{|{|{{zz{|{{|{|{{{{{z{{{{{{||z|{}|{z{z{{{{{{|||{||{{{{{zz{||{{||||{|{z|{{{||{{{||{z{{{z{{{|{{{{||{{{z{{{z{|{|z{|{{z{{zy{z{||{{{{{z{{z{z{z|{{{zz{|zzzzzz{{z{|{z|{{zyz{zz{z{{||{z{{{zyz{zy{zz{{|{{{zz{zzzzz{z|{z{{|{{zzz|zy{|{{{{{|{{{zz{zzz{{zz||{zzzzyyzyz{zzz{z{{zzzz{yzz{z{{z{{zzzzzyzy|{z{z||{{{yzyzzz{z{{|{|{zz{zzzzzzz{|{z{|zzzzzzzzzz{z{z{{|yzzzzzy{{zzz|{{{zzzz{zy{zzz{{{{{zzy{zz{{{{{z{{|zzzzy{{{z{{{{z{{zzzzzz{{{z{z|{{{{z{zzz{zz{{{|{{{zz{zzzz{{{|{{{|{z{{zz{z{{z{|{|{{zz{{z{z{|{{{|{{|{{z{{z{zz|{z{{|||{z|zz|||{{||{{|{{z|z|{{{||{||||{z{{zzz{z|||{|{||{{|{{{{{|{|{{||}zz|{{z{{|z{z||{z{{{{{{{{{{{{{{|{{{{||zz{|{}|{{{|z{z{zz{|{{{{{||{{zzzz{z{{{|{{{{{{zz{y{{{{{{{||}{zzyzzzzz|{{{z|z{{z{{zyz{{|{{{{|{{{zz{zz{zz{{{|{|y{z{{zz{{z{z{{{{{{zz{{z{z{{z|{|zzzzzz{z{{{{{{zzz{zzzzzzz{|zz|{{zz{z{{z{{zz{{|{zzz{z{zzz{zzz{{{zz{{zyzzz{z{{{{|{{{zzzyyz{{{{z{z{zzzz{yzzz{zyz{{z{z{zzzzzyzz{z|{{zzzz{zzz{{{{{{{{{{zy{yyzzz{{{z{{|zzzz{{z{zz|{{{|z{zzzz{zz|{{{{{{zz{zyz{zz{z{{|{{{{{{{zz{zz{z{{|{{{{{{|z{zz|{z|{{|{{{zz{{{|{{{{{{z{{z{{{{{||||||}{{z|z{{zz|||}{{{{z{{z{zz{|{{{}||{z{||{{{|||{|{||{zzz{{{|{||{|||{{{||z{{{|{|{{|{||z{{z{z{|{}||{z|{{z{{{{{{{{{|{{{z{{{{{{z{|{|{||{{{{z{zzy{{z{|||||{{zz{y{{|{{z{|{zzzzzzzyz||||{{|z|zzyyzz|z{{{z|{{{zy{yzzz{yz{|z|{{{yzzz{{{yz{{{|{z{zz{{z{z{{{{{|zyzz{z{yz{|{{z{zzz{zzyzzzz{zz{z{{z{yzzzy{{z|{|{{{zzyyyzzzz{{{{{zzz{z{yy{z{zz{{{zz{z{yzzyzz{z||{{zz{zzzzzz{zz{{{{{zzzzzzzy{zzz{{{{yzzz{zy{z{{{{{zzzzzzzzz|{{zz{{|z{z{{zzz{{{{{{{{zzyzz{{z{{zz{z|{{{{zzy{z{{{{{{{|{z{z{zzzz{|{{z|{zy{{{zz{|{||z{{{z{{{z{z{{|{|{{|{{{z{{{z{{{{{z{|{{{z{{z{y||||{{}|}z{z{{|zz|||{{|z{z{z{{{z{{{||{|{|z{{{zz||{{{||{{{{{{|{{{{{||||{{{{z|{{z{{{|{{|||{{{z{|{{{{{|||{|{z{zz{z{|{{{{{|||{{{z{{{{{||{{{{{{zyzz{{{|{{{{{|zz{{z{{zz{{zz{||zz{{z{zz{{{||{{|{{{yzzzz{{{{{|||{{z{{{zyz{{{{{{||z{zzz{z{{{|{{}{{{z{{yzz{z{{{{z{zy{z{zzz{z{z{{zz{zz{yzzy{z{{{{{|{{zzzyzzz{{{{|z{{{zz{{yz{{{{{{{{{{yzyzz{{{zz{{||zzzy{z{z{{z{{{{zzz{zyzzzzz{zz{{zyzyz{|zzz{{{z{{z{{{zzz{z{|{z{z|zzyzzzzz{{{{z{{z|z{{z{zzzz{||z{{{{{{z{zyyz{{z|{{|{z{{{zzz{{{{z||{{{zzzy{z|{{{{{{{z{{{{{z{{z{|||||{{zzzz{{|z{||||||{zz{{z{z{{{|{|||{|{{{{{|{{|{|{{z{{{{{zz{{{|||{||{{z{{{{{|{{{{|{|z{{{z{{{{|{|||{{{z{z|z{{|{{||||{{z{{|z{|{{|z}||{{|z{zy{{{{{|}|{|{zzz{zyz{|{{||{{{{{{zyzzz|{{|{{{{{{{{zz{|{{{{{{{{zzzy{y{{z{{{{|{zzyzz{{z{z{|{{{{yzyzzz{{z{{{{{{z|{z{zzy{z|{|{z{zz{zz{{z{{zzz{{{{z{z{yzy{|{{z{{zz{zzzzzy{{{{z{{|z{{yzzzzz|{zzz{{{{{zzzzz{y{z|{{zzzzzyzzz{{{|{{{{{{zz{yzyzzz{z{{{{zzz{yzz{{z{z{{|zy{zzyz{z{{{z{||zzzz{z{z{{||{{{{{z{zzzzz{zz{z||{zy{zzz{z{{{{{{|zz{zyzz{z{{{z{{{{{{z{zz{z|{{{{||{{{{{{z{{{|{{|{|{|z{{|zzz{{{{z{|{z{{{{{|z{|z|{{||{{{{zzzz{{{{{{{|{z{{zz{{|||{{||||zzyz{|{{|{{|{{|{z{{{{{{{}{}|{|||{{{z{z{|{{||||{{{zz{|z{{|||{{{|{{{{|{{{|z|{||||{zz{{z{{{{{{|{|{{{{{{z{y{|{|{{||{{{z{z{{{{{{{{zz{{z{z{zz{||{{|{|{{z{zzz{{{{{|{{{{{{{{{z{{{{||{{{{{{{z{{z|z|{{{{|z{{zy{z|z{{{{{{|{z{{z{{zzz{zz{{{zz{yzzzyz{{{{{{{{{{z{{zz{{z|{{{{z{zzzz{z{z{zz{zzzzzzzzzzzzz{{{{{{z{z{{z{z{|{z{{{zzzyzzzz{|z{z{{z{z{{yyzz{{{zz{{{zzzzzzzz{{zz{z{{{zzyzz{{|{{{z||{zzz{{z{{{{{{z{||z{{zzzzz{{{z{|||zz{{{{{zzzz{{{{{zz{{{{zz|{{{{{||z{{{zzzz{||{{{z{{{z{{zz{|{|{z|{|z{{{|{zz||{{{|{}{{z|zz{{z{||{||{|z{{{{{z|||||{|{{{{{{{{{{|{z{|}|{{{{{{{{{}|{{{z||{{{zz{{||{|{||z|zz{{{z|{{{|{||||{zz{z{|{{{||{|||{|z{{{z||z{{{|||{z{z{z{{|{{|{|z{yz{zz{z{{z{{{|{{zz{{{zz{||{z{{}z{{zzzzzz{|{{{{|{{{z{zzzz{{{{||{{zy{zy{z{|{{{{{{{z{zzz{zzzz|{{{|zz{{z{z{z{z{z||{{zzz{yz{{{z{{|{{{zzzz{zzz{{z{|z{{y{zzzz{{z{yzz{{{{zzyzzz{zz{{{{{{{{zyzzy{z{{||{{{z{z{zyyz{{zz{zzz{zzzzzzz{z{z{z{zz{yz{zzz{{|{{{{{z{{{zz{{{{{{{{|zz|zzyz{{{|{{||zzz{zz{z{{|{{{{||{{{{{{{zzz|z|{{|zzzz{z{{{|{{z{|{{{zz{{z{{{{{{|{{{{zz{yz{|{{||{|||{|{{{|z{||{zz||z{z{{{z{{|||||||{{z{|z{{{{||}{||z{{{{{{{{{||{|{|z|z{|{{{{|{}{|||{|{{|z{{|||{{||||z{{{{{z{{||{||}{|{z{{{|{{||{{||{zz{{{zz||{{{{||{{z{zz{{{|{||||{zz{{zzzz{||{{{{{{{{{{zyyz{||{{{{{{zz{zzzz{{z{z||z{{{z{{z{{{{{{|{{zzz{{z{{{{{{z{{{zzzzzyy{{{{{{z{zzzzzz{zz{{{z{{{zzzyzzyz{{z{{{{zz{zyzzy{zz{{{{{zzzzzyzzz{{{zz{{{{yyzzzzy{{|z|y{{zz{{zzzzzz{{{{{{zz{{yz{yz{zzzz{{z{zzzyzzz{z{{|zzzzzzz{zzz{z{{z{{{{zzzzz{{|{{{{{{{y{{zz{zz{|z{{{{{z{zzz{z{{{|z|{{{zzz{{{zz|{{{{|{{zz{{{zz{{||{{{z{zzzzy{z{{|{{{{{{{{{z{{{{|{|{{{{{{{{{{{z|{{{{|||{{z{{z{{{||{||||{{{{{{{{|}|{{|||zzz{{||{{{|{|{{||{{{z|z{{}{{{||||{|||{{{{||||z|||{{{{|z{{{|z{{}{{||{{|{|{{{||{{{z{{{z{zz|{|{||||{{{{{zzz{|{{|{{{zz{z{z{z{{|{{{z{zzyzzzz{zz|{{{{|{{{|zzz{{{{{|{|{{{{zzzzz{{{z{{|{{y{zzy{z{z{|z{|{{z{zzzzzzz{{{{z|z{zz{zzz{{z{{{|{zzzzyzzzz{zzz{{yz{zzzzz{{zz|{{{{zzzzzyz{{{{zz{{z{z{zzzyz|z|{{{|{{zz{zz{z{z{{{{|zzzz{{zz{zz{yz{zz{zzyyzyzzz{z{|{{zzz{zzzyz{zz{{||zz{{{zzzz{z{z{{{z{{yzz{zz|{{{{{{z{{zzzzz{|{{z{||zz{z{yzz{|||{{{{zzz{{{yzz{{|{{|{{{{{{zzzz{|{z{|{{z{zzzz|{{{|||{{{z{{{z{{{|{{{|||z{z{{z{z||}||}|||zzz{|z{|{||{|}|{{{y{{{|{|{{{||{z{{{{{{{{|{||{|{|z{{z{z{|{{|{|{|{zz{{z{{z{{||{{{|{{{{{z{||{{{{{{{{{{|{z{|{{{{|||{{zzz{z{{|{|{||{{{{{y{zz{{{{{{{{{z{zzz{y{|{{{{|{{{zz{zzz{z||{{|{z{zz{{zz{zz{{z{|{zz{z{{z{{|{{{{|z{zzz{zz{{z{{{{|z{z{{z{y{{zz{{{z{zz{{zz{||{{y{{{{z{yzz{z{z{{z{||zzzzz{{yyzzz{z{z{zzzzzzyzz{zzz{{yz{{yyzzz|z{z{{{{zzzzyzyz{zzz{|{{y{zz{{zz{z{{z{{{{{z{zz|zy{z{{{{z{zz{{zz|zz{z|z{{{{z{{|z{{{z{{{{zzz{zzzz{{{zz|{{{{z{zyz{{{{{{||{{zz{zyzz{||zz|{{{{{{{{{zz{zz{{{{{zzz{{{{{|||{{{|{{z{{z{z{|{{{|||{{{{|zz{{||||||{z{{z{{{z{|||{{{|{{{{{{{{|{{|||{{|z|{z|{{z||{{|{|{z{{z{|{{{{|{|{{{{{{{{{{{{|{{|{}{z{z{{|{{{z|{||}{{zz{{z{|||{{{{{{{{{zz{{{{|{||{{{{{zzzyz{|{{{{{{{zzz{zzzzz{z{{|z{z{zyzyz{{{{z{{{|{zz{zzzz{z{{|{{{z{|yzz{{|z{z{z{{{zzzyzz|z{|{|{{zzzz{y{z|z{zz||{z{|{zyyz{z{{{{{{zzzz{z{z{z{z{|z{zyyy{zzyzz{{{{{zzyzzyzyz{{{z||{{zyzzzzzzy{z{{z{{{zzz{yz{zzzzz{zz{{zzzzzzz{z{z{{zzzzzzzzzz{{z{{{{{zzz{zzy{zzzz{{|zzzz{xzz{{z{{z{|zyzzzzz{{{z{{|{{{{zzzy{{z{z{|||{{z{zz{zz{{{{{{|{|z{{yzy{z{z{z{{{z{z{{zz{{{|{{{{{{zzz{z{|{{z{{|||{{{zz{z{z{||{{|{|z{{{z{z|{{{{}||z{{{z|{z{|{{{{{{|{{z{|{{{|{{{|||{{{|{{{{{{|||}{{z{z{{{{zz{{{||{||{{z{{{|{{{{|{{}{{zz{z{z{|{{{|{{|{{{{{yzz{|{{||{{zzz{z{z{|{|||{{zzzz{zzzz{{z{{zzzzzzzyzz{{{{z{z|{zz{zzzy{{{{{|{{{zzzzzzy{{{{{{{{z{zyyzzzzz{{{|{{zz{{zzzyz{z{{{|{yz{z{zzz{{zy{{yzzzzzzyyy{{{z{z{|z{yzzy{z{zzzz{{{zyzzzzzzz{{z{z{z{y|yyyyz{z{zz{z{{zzy{zzyzz{zz{{z{zy{zzzzz{zz{{{{zy{zzzzy{zz{z|{{z{z{zy{zz{z{{|{{{zzz{yz{zzz{||{|{{{{y{{zzz{{z{{z{{z{{zzzz|{{{{{|{zzzz{zz{{z{{{|{{zzz{yzz{||{{{|{{zy{zz{{{|{||{{{z{zzz{{z{{z{||{{{{z{{z{zz{}|{||{{{zz{{{z{}{|{{||{zzz{{|{z||{{||z{{z{|{z{{}{|{{||{z{{{z{{{{{|{z|{{{{z{yz|{{{|{|{|{z{{{{z{{z{{{|{{zzzzz{{{{|{{{{|{|{{zy{{{{|z{{{|zz{{{zz{y{z{z{{{{{{{{{zz{z{{zz{|{{zzzzyzz{{zy{{|{zz{z{z{{|z{{|{{z{zyz{y{{{{{{|{{{{zzzz{zz|z{{zz|{zzzzz{{z{{z{z{z{{{{z{zzyzz{z{z{z{zyzzzyy{z{{z{zzzzzy{zyz{{{{zz{{{y{yz{yz{{zzzzz{{zzzyyzzy|z|z{|{{zzzzzzz{{{zz{{{{z|zyzyyzzy|{{|{zzzzzzz{{{{z{{{|z{zyz{{z{{{z{{|{{y{zzz{z{{{{z|z{{zz{zzz{{{|z{{|z{{{|zzzz{{{{{{||{z{zz{y{z{|{{{|{{zzzzzy{{|z{{{|{{z{zzzz{{{}|||{|z{{z{zz||{|{|}|||zz{{{z{{|{{{|{|{{{{{zz{||{|{{|{z{z{{z{z{{{z|{{{|{z{{{{{{|{||{|}{{{|{{{{|{{|||{||zzzz{{{{{|{||{||{{zz{z{{{{z||{|{z{zz{{{z|{{{||{{z{{zz{{{{{|{{||z{{zzzzz||z||{{{{|z{{{{z{{{z{z||{z{{zz{z{{{{z|{|{z{zy{zz{{{{{}|{{{zzzz{{|{{{zz{|{{{zz{zy{z|{z{{{z|zzz{z{{{{z{{{|zz{zz{y{z{{{{|{z{zzzzzz{{zyz{{|{y{zzzzz{zz{|{{{{{zzzz{y{z{{{||{zzzzzzzzzz{{|z{|{{zz{zzzz{zzzzz{{zzzzzz{yzz{{{{{{{z{zzzzz{{{{{{{{zz{z{zz{{{zz{|{zz{{zzzzz{z||{{{{{{{{{{zz{{{{{{{{{z{zz{z{{{{|z{{{{{{zzz{zz{{|z{|{z{z|z{{|{{{z{{{||z|{{z{{{{|{|{}{z|{{{{{|{||{{}||{{{{z{z{{||{{||{{{zzz{zz|}{|{|||{|{{{{|z{{{{||}||z|{{{|{{{{{|||||{{{{{y{{{}|{||{|{{{{zz{{{|{|{||{z{{{{z{{z|{{{|{{{{z{{{zz{|{|{{|{{{{{{zy{{{{||||{{{{{{zz{{|{{}{z{z{|z{{{z{|z{{|z{z{{zyz{|{{|{|||{{zz{{zz|{{{{|{|{|{z{{zz{{{|{z{||{{z{{{z{{||||{{{z{zz{z{z|{{{{{z{{{zyzz{|{|{z{zz{zz{{zyz{{{z{|{{{yzzzy{zz{{{||{|zzzzzzy{{{{{|{z{{z{y{{zzz{z|z{{{zzzz{yy{{z{yz{{z{zyzzz{zzzz{z{||zz{zzzzzz{z{{|{zzzzz{yz{{{z{{{{|{z{yzz{z|z{{{{|}yy{{{z{{{{|z{{||{z{zzz{{z|{z{{|{{zzzzz{z{|{{{{||{{{{z|{z{{{z|{||{{{{z{{{|{{|{|{}z{{z{{{|}{{|{|{||z|{{{|{{|{|}||||z{z{z{{{|{{|{||{{|z{{{|{{{{|||||{z|z{{{{}||{}}||{{zzz{z|{{{{|||{{z{{|{|{|{{{|{|{{{{{{{{{|{||||}{|{{z{{{{|{|{|{{{z{{|{{{|{{|{{|{{{{|zz{{{|{{{{{|{z{z{z{zz{{zz{zz{{zz{{yz{{{}||{||{{zz{{z{{{{{{||{{{|{zzy|{}{{{||z{z{z{{zz{{{z|z|{{z{zzzzz{{{{||{{{zzzz{z{{{z{|{{{zzz{{zz{{{{{{{{zzz|{zzz|{|{{|{{{z{zzzz{{{{{{{{|{z{zzz{{{{|z{{{{{zz|zzz{zzzzz{{{{{zy{zzy{{zz{|||{zzz|{zz{z{|z{{{{zzz{z{{{{z{{|{|{z{zzz{z{{|{{{|{zz{{yzz|{{|{{{||{{{{z{zz{|{|{{{|{{{{zz{z{{||||||{{z{{{zz{{{|{|{{|z{{{z{z{{{{||||{{|z||{{|{z|{|||{z{z|z{z|||{|{||{{z{{zz{|||||||||{|||{|||{||{{|||{{|{|{{{||||||||{{{{{{||}|{|||||{{{|zzz{{|{||||{{{{{{z{{{{{|||}{{{zz{{|{||{||{{{{{{{z{{{{{|{{{|{{{{{{{{{||||{z{zz{z{z{z{{|{{{|{zzzzzz{zz{{{zz{|z{{z{{y{y{|{{||{|z{zzz{y{{{{z{{|z{zz{{{y{{z{z{{{{zzz{z{zz{{|z{{|{{zzzyzzzz{{{{{zzzzy{zzz{{{{zz{{{zzz{zzz{{zz{{{{{{{y{zy{z{{{|{{|{zzzyzyzz{z{{z{|zyzyyyzz{z{{z{z{zy{zzz{zz{zzz{{{zzzzzyzyzz{z{{|{|zzz{zzzz{z{{{{{zzzz{zzz{z{zz|{zzy{zzzzzzz|z{{{{z{{{{zzz{{||{|{{|z{z{zz{{{{{zz{{{{z|{{{{z{{z{{{{{{z{|{y{{z||z|||{zz{{z{{|zz|{||{{{|{{{{{{|||||}{|{z{zzz{|||{|{|{||z{{|z{{|{{{|{|{|{zz{{{{|||{}|}|z{|z{{{|||{{{|{{{{{{zz{{{|{||||{z|{zzzz{{|{{|||{{|z{{{{{{|||{||{z{zzzzz||{{|z{{{{{zzy{z{{{{{|{|zzzzzzyzz{|zz{{{zzz{z{z{{{{z{{{|{zyzzz{zzz{{|{{{z{zzz{{z{|z{z|{{z{{yzz{z{{z{z|{|{zzyz{zzz|{z{{{|{zzyz{zz{|z{z{{zzzzzzzzyz{y{{{{zz{zzzzzy{z{yz|{|zzzz{zzzzzzzy|zzz{zyy{zzz{{{{{{{zzzzyzzyy{zz{z{{{zyyz{zy{zzz{zz{z{zy{zzzz{{{zz{{zz{zzyz{zz{{z{{{zzz{yzzz{{{{{zzzz{{y{zz{z{{z{{{zzzz{{zz{{||{{{{{|z{z{{z{{|{y{{z{{zz{{zz{{{{z{{{|{{{z{z{{||{{||||{zzz|{z{{||{{z||{{{z{{{{{|{||{|||{zz{z|z{{{{{{{|{z{{{{{zz{z|{||}|{{|z{{z{|{|{||{{|{z{zz|z{{||}||{zz{{{zz{{{{{{{{{{{{{{{{||{{|||{{{{zz{{{{{{{{{|{zzzz{{{zz|{|{||{{{|zzz{z{{{|{|z{{{zzzzzzz{{z{{{{zzz{zzzzz{{{|zz{{{zz{zzz|z{{{{}{{yzz{zzz{{|{z{{|{zzzzzzz{{{{{{{{zz{{yzzz|{|{{{{{zz{{z{yz{{{{z{{{y{{{zzz{zz{|z{zzzz{{zzzz{|z{z{{zzzzz{{{zzz|z{z{{zzz{zy{zz{z{{{|{{zyz{zzzz{{z{{z{{zzzy{z{{{{z{{{|zz{{z{{y{z{{{||{zzzzzzzzzzzz{|{{zzyzzz{{|z{{z{{{{zzz{{zz{{{{{{{|{{{z{z{z|{{{}{{{{{zyzzyz{{{{{||{{{z{zzzz|||yz{|{{z{zz{zz{z|||{{|{{{z{z{{{|{{|{}{{{zzz{{{{||{{|||{zz{|z{{|||{||{{{z{{z{{{{{{{{|||{{{|{{z{{|||{|}{{{|{{{zz||}|{{||z{zzzz{{{|{{{||||{y{{{{{{{|{|{||{{{zz{y{{|{|||||z{zzz{z{z{|{{{{{{z{{zz{{|{|{||{{zzz|zyzzz{|zz{{{{{zz{zz{{z{{{{z|{{zy{{zy|z{{|zz{{zzzzzyy{{{{z|{{{{z{{z{z{{{zz{{{{zz{z{zzzzz{z{{{{zzzz{zzz{{zz|{{z{zzy{zz{{{z{z{{y{{z{zzzz{zzz{|{zzzzz{yzzz{z{z{{zzyzz{zyzz{{z{{{zzzzzyzzzzzz{{{{{yyyy{zy{|z{{{z|z{zzzzzz{{{{{z{|z{{yzzy{{z{{{{{{zzzzzzzzz{{|{|{|zzzyzzzz{{{{{z{{zz{z{zzz{|||{zz{zyzzz{zzz{|{{{|{{z{{z{zz{{{z||z{{z{{{z{{{{||}{|{{{{{z{{{zz{|{{|{|{{{{z{z{|{|{||{{{{{{{|{|{||||||{{{zz{{{{{|{|{||{{z{z{{z{{||{{|||z{z{{{{{|||z{||{{z{z{{z|{{|{{|{{{{z{{z|z|{|{{||{{{y{|z{{{{z|{{|{{{{{z{{{|||{||{zz{{{z|z{{|{{{|{z{z{{z{y{|{{{|{|{zzzzzzz{|{{z|}|{{zyyz{y{|{{{||{z{{{zz{{{{||{z{|{zzzzzzy{{{|z||{z{yyy{|zz|zz{|{z{y{zzzzz{|z{{|{{z{zzz{z{{zz{{{{{{zzzzzzy{{{z{{{zzzzzzzzzz{{{|{zzzzzzzzyz{{{z{z{z{zzy{yzzzzzyzzz{zzyzzyzzz{{zy{zz{zzz{{yyz{zz{{{{zzzz{zzy{zz{{zz{zzzzzzzzz{z{z||{{{{zzzzz{{{{z{|{{{{{zz{zz|{|{|||{z{{z{yzz{{{{||{{zz{{zz{{{{{{||{{{{{{z{y{|||||||{{z{{{|{{|{z{{||{zz{{z{z|||{|{|||{{{|{z{||{{|{{||{|{{{{{{|{|{{||{{|{|z{|{|{||{|{|{{{{{{z{|{{{{{{|z{{{{{z{{||||{||{{{{|z{}{{|}{{{}{{{{{zz{|{{{{||{{zzzzz{{{{{|z|{{{{{||{{{{{||{{{{zzzzz{zz{{{z{{{z{zz{yzzz{{{z{{{{y{zy{{zz{z{{|{{{y{zzzyz{{z|{{{{zzzzz{{zzz{{z{{{z{zz{z{yz{|{y|{zzz{zzzzz{{z{{{z{zz{z{{zz{{{{{{{zzzyzzzzzz{{{{z{{z{zyz{yzzz{{{{{z{{zzy{z{z{||{{|{{z{y{yzy{z{{zzzyzz{yzzzzzzz{zz{zzzz{zzzzz{|{z{{{{{z{{z{y{{|{y{{|zy{yzz{{z{{zz{{{{z{zyy{zz{{{{{{|z{|z{z{y{{{z{{{{|{|zz{{y{{|{{{{{{zz{z{z|z|{{|{{{z|z{zz{|{|{{{{{|{z{{z{{{{{{||{{|zzz{zzzz{{|{|{|{{zzzzz{{|{{{{{|}z||zz|{{|{|zz{|||{{{{|z{|{||{{|||{{{zzzz{{||{|{|{{{z{{z{{||{{|||||{|zz{z|{{|{|{|{z{z{z{{|{{|{{{{||z{z{|z{{{{{{{|{{zzzz{{z|{|{{||yzyzyzzz{{z{{{{|{{z{zzyz{{{z{|{z{{zzz{zzz{z{|{|{zyzzzzzz|{{{{{|{{{{yyz{z{{{{{{{|zzzyyz{z{{|{{{{{{{{zzzzz{{z{{{{{zzzyz{zzz{{{{z{{zzzzzy{zz{z{|{{zzyzzy{zyz{{{{{zz{y{zyzzz{z{{zz{{zzzzyyyyzzzzzzzzyyzzzz{yzzz{{{y{zzyz{zzz{{|zz{{zzz{{zz{{z{{{z{{{zz|yzy{z{|z{|{|{z{zzy{zzz{z||{{|zzzzz{z{{{{{{|{{{{{{zz{{z{{z{||z{zz{{zz{{{zz{|{{{zz{{zzz{{{{{||{{zz{{z{{{{{{{|{}{z||{{zz{||{|||z{{{z{z{y{{{||{{{{{{{{{zz{{{{|||{{z{{z{{{}|{{{{|}{z{{z{{{}{z{|{|||{{zz{zzz{{|{|{}{{{zzz{{{{{{{z|{{{{zzzz{{{{{z||||{{zz{{zz{{{{{{{{z{y{yzzz{||{{{zzzzzzzzz{|{z{{{{z{zzzz{z{zz{{{z{{z{zzzz{{z{{z|{{zz{z{zzz{{|{y{|{z{z{zy{{z{|{{{{{yzz{{{{yz|{z{{{zzzzzzyzzzzzzz{{{{zzzyyyz|{{{{{z{zy{zzyzzz{zzz{{{zz{zzzy{zz|{{z{{zyzyzzyyz{{|{||{zz{{yz{zz{|{{{z{{{zzzzzz{{zzz|{{{zyz{{zyzzz{|{||{y{zzz{z{{{|{{|{|zzzzzzzz{{{{{{|{{z{z{z{{{|||{|{{{{z{yz{{{{{{{{{{{y{{z{z}||{{{{{zzzz|{{z{|{{y{z{{zyz{||{{{||{{{z{z{z{|{|{{{|||{|z{z{zzzz|{{{|{|||{|{{z{z{||||{||z{|{{{|{{|{{|||{|{{zz{{z{}|{{|}{{z{{z{{{|{|{{{{}{{zz{|{{{|{{{||{|{z{{{z{{{{{{|{|{zzz|zzz||{{{z||{{{{zz|zz|{{{|{{zz|{z{z{|||}|z{{{{z{{zyyz{|||{{|{zzzzzzz{{|{{{|{{z{zzz{z{{{{|{|{{{z{zzyz{{{|z{{|{{zzyzzz{{{||||{|{zzz{zz{{{z|{{{{zz{{y{y{z{{z|{zzzzyzzz{z|{{z{{{zzzzzzzzz{|{{{{z{{{zzyz{{{{z|{{{zz{zy{zzz{{{y{||zyz{zz{yz{{zz{{zzzzz{zzzz{{z{z||yzzzz{{zzz{z{{|{z{{zzz{z{{|{|{{{{z|{{zzz{{{{{{{{{zz{{zzz{|{{{|{|{z{{zz{{{{{{{{{{z{{z{{{{{z||z|}|z{{z|{{{{||{|{{{{{zz{{{{{|{|{|{|{{z{{z{z|||{{{||z{{z{z|z{|||{{{|{{{{|{{z|||{{|}|{{{{z{{{{{|{{||{{{z{|{{z||{{||||{{{{z{z{{{||{{|{|{{{{z|z}{{{{{{{{{{zz{{z{|{||{{|{{{|{|z{{{||||||{{zz{|{z{{{{z{|{z{|{{{||{|||}|z{zz{yzz{z{{{{|z{{z{zzzzz{{{{{|{{{z{{zz{zz{{{{{|||{z{zy{y{{{{{z{{{z|zzz{zzz{{{|{{{{z{zzz{zz{{{{{{{z{zzz{zz{{{zz{z{{zzzzzzz{z{yz{{{zyzz{zzzz{z{{{{{zy{zzzzz{z{z{{z|zzzyzzz{z{{zzz{{zy{zzyzzy{z{zzz{zzzyzzzzz|yz{|{{zzz{zzzzzz{{zz{{{zzyzz{y{{{|z{{|{{zzzzz{{{|z{|{|zzyzzz{{{{{{z{|{{{|zzzzz{{{{{{{{z{{zzzzz{{{{{{{{{{z{{{z{{{||z}||{z{zz{z{{{||||{{y|z{|{{|{|{|{|||{zz{{zzzz||||{|||zz{z{{{|||{{|}|{{|{z{||zz{||{||{{zz{{z{{||}{||{|{{|{z{{||||{{{||z{{{z{|{|}{||{|{{{|{z{z{||{{{|{{|{z{{{{{{||{{|{|{zzzz{zz{z{z|{|{{{z{zz{||||}{|{{zzz{yz{{z{{{zz{{zzzzzyyz{{z{{{|{{{y{{z{z{zzzzz|z{zzzzzz{z{{z{|{{zzzzyzyz{{zz{z{z{zzzzzzyz{z{{|{zzzz{zyz{{{zz{zzzzzzzz{y{yz{{{{|zyzz{zyyzz|{z{{zzz{{zzzy{{{z{|z{z{zxzy{z{{zyz{|{z{zzzyzzy{{y{z{{zyzzzyzz{{zzz{{zz{zzzzyyzz{{z|{{{zz{zyy{zz{zzzz{zzz{zz{z{{{zz{z{{{z{zzzyzz{{{{}|{zzzzzz{z{z{{{{{{z{z|{zz{{{{{{|z{{z{|{{{{{{zz{{z{{{zzz{z|{|{|}{|{zzzzz{z{{{|{{{||{{zz{zz{|{||{|{|{{{{zz{{{|{{|||z{{z{z{{{}{{||{||z||z{{{{}|{{|||{{{|{{{{{{{{{{|{|z{{{z{{|z{{{|z|z{{z|{z{{|{|{{{{z{{z{zz{z{{z{|{z||{zyzzzz{||{|||{z{{{z{{{}||}|{{{{yzzzy{z}{{{{{{{z{{zz{z{{|{z{{{{zzzzy{{z{{{{{|{|yzz{zz{{{{{{{{|{zyzzzzz{{zz{{{|z{{zz{{z{z{zz}{{{z{{zzzzz{{{z{{zzzzzzzzz{z{{z{z{zzzzzyzz{|{{{|{z|yzzz{z{z|{{{{{{z{z{zzzzzz|{{{z{zzzz{z{zz{{z{{{{|yzzzzy{z{z{z{{{y{zzzzzz{z{{|{{|{{y{{{{z{|{|{{|{z{|{{z{{{{{{||{{zzzzyzzz|{|{{{{{{z{z{z{{{{{{{|||{z{zz{{{|{|{||{{{{{{{{{|{|{{{||{z{zz|z{|{{{{{|{{{||{{{{{||{{||{{{{|{z{{z|{|||||||{{|z{|z|||{{||{{{|{|{|{{|||||}{|{{{{{{{{||||{}{|{{{{{{{|{|{{{|||{zz{|{||{{{{{||{{{{{z{{{|{|}||}|{{z{{{z|{{{|}{|{{{zz{{y{|||{|||z{z{{z{z|}||~{{{z{{{{{zyz{|{{z{{zxzzzyyzz{{{{z{{{zzyzzz{zz{z{z{{{yz{zzz{zz{{zz{{yzzzz{zy{|zz|zz{zz{{zzzzz{{z{{z{zz{yzyzz{z|z{z{zzzzy{zzyz{{{zzz{y{zzzzzz{z{zz{{z{zzzyyzzz{y{{{{zyz{zzzzzz{{{{{{{{z{z{zzz{zzzz{|zzz{zyyzzz{zz{z{zzyzzzzzy{{zzzz{{{yyzzyzzz|zzz{{{{zzzzzzz{{{{{{{{yy{zz{zzz{{{{{|{z{zz{y{zz{{{{{{{zzz{{{{z{{|z{{|{|{y{z{z{{{{zz{{{|{z{{zz{{{{{||{{zzz|z{{{|{{{z{||{{z{z{zzz{|{|{|z{z{z{|z{|{{|{z{{|{{{{{|{{{z{|{{|z{{|{{{{{{|{|||{|{{{zzzz{{|{{{|{{z{{z{{z{|{{|{{||{zz{{z{{|{|{|||z{{z{|{{{{z|{z|{{z{z{zzyz{{|{|||{z{z{{z{|||~{{z{{z{{{zyy{{z{{{{zzzzzzz{{{{||{{{{zzyz{zz{zz{|{|{{zzzzzzzz{{zzz{z{zzyz{zyzz{{z{{|yzzzzzzy{{{{{{{{z|{z{z{{{{zzz{{zyzzyzzzz{z{{zzz|zzzzzz{zz{{z{|{{zzzyz{yyzzz{|z{{{zzzyzyyz{{{{{{{zyyzzzzzyyzz{z{zz{zzzyyzz{{{z{{zzzzyz{z{z{{zz{{{zyzzzzzz{{z{{{{|zz{zzyzz{|{{{{||{{yzzzzz{{{z{{{{{{{zz{{z{{{z{{z{{{{{z{zz{{{{{{|{z{z{{z{z{||z{{{{{zzzy{{zy{{||{{{z{z{z|z{||{|||{|{z{{{{z{{|||{{||{|z{{z{z|||{|||{|{|{{{|{{|{|{||}|{{z{{z{{||{|{|||{{{{z{{||{||{{{{{{{{z{|{|{|||{|{{z{{|zz{{|{|{{{|z{zz{zzz{{|}|||{{zy{zzz{|{|{{|{z{{{{z{{{}}||{{{{yyzzzyzz{{{{z{{yzzzzzyy{z{{{{{{zzzzzzzz{{zz{{{|zyzzzzzzz{z{zzzz{z{yzyzzzzzzzyzzzyzxzzzzz{zzy{{{zzzyzyzz{zzzz{{yyz{zzzzz{zzz{z{zyyzyzzyy{zzz{{{yzzzzzzyz{{{zz{{{xz{zyzyyz{{{z{{{{{yyzyzz{zzz{{{zzzzzyz{zz{y{z{z{zyzzzzzyz{z{z{{{{y{zzzyz{{{z{{z{zzzzzzz{{{zzz{{{zzzyyzyz{|{z{z{|zzzz{yzzz|{{{{z{{{{z{zzzzz{z{{|{{zzzzzzz{{{z{{{{zzz{{zzy{z{|{{{|zzzzz{|z{{{{{{{z{z{{{{yy{|z{{{|{{zz{{{{{{{{z{z{{{{zz{{zz{{{{{|{{|z{{zz{z{|{z||||{{|{yz{{{{{{|||z|{{{|{z{{{{{{{{|zz{z{{{{{{{|{{z{{{{zzz{{|{z{{{{{{{{zzzzy{|{{{|{{z{{zz{{z{z}|}{z{z{zy{yzzz{{{z|{zzy{y{zzzzz{{{{{|{{zyy{{z{{{z{{{|{{{{{z{z{{{{{{|z|yyyzz{z{{{{z{||zy{zyyzzyzz{{|{{{zzyzzzzz{|{{|{zzzyzyyz{{zzz{yzzyzyyzy{z{z{{{|{zzz{z{zz{yz{z{{z{yzyzz{zyz{zzzz{zzzzyyyyzyzz|z{{{zzzzz{z{y|{y{{|{zz{z{zzzz|{{{|{{zyzzzyzzz{{{{|{|{{z{yyzz{{{{{||{yy{yy{z{z{z{{z|{{zz|zzz{{z{|{{{{{zzz{zzz{{{{{{{{{{{z{zz{||{{{{{|{zz{z{zz|{{{{{{|{zzz{{{{{|z{|{{}{{{{{z{z|||{|||{{zz{{{zz{|||{|}|{z{|z{{|{|||z{{|{{{{z|{{{|{{{}|{{|{{zz{{{{|||||||{{{zz{{z{{{||{{{z{z{|z||{{|{{||{{zz{{z{{|{{{{{{{{zzzz{{zz|}{{|{z{{{{{z{{|||}{{{z{{{zy{{{{|{{|{{zzz{{z{z{{{{{|{{{z{{zzzz{{{}z{{{|{{{{zzz{|{|{{|}{{zzz{{z||z{z{z{zz{zz{{zz{|z{|||{zzz{{{zz{{{{{{{{zz{{zyzzzz|{||{z{zzyzzzz{{z{{{{{yzyzyz{{{{|{{{{zzzz{zzzz{{{{{||zz{zzyzyz{{z{{|{zyzzzzzyyz{z{{{zzzz{zzyz{z{|z{{|{y{zzzy{|{|{{|{|{{{zz{{z{zz{z|||zzz{zzz{{{{{{{|{|z{{{z{zz|z{|||{zzz{zz{y||{{{{|{{|z{{z{{{{z{{|z|z{{{zzz|{||{{{|{{{{z|z{{|{{|||}{z{z{{zzz{|{{|{||{{z{{{{||}|{{{|||{{zz{{{{{{|||||{z|{{z{{|{|||}|{{z{||zz{||{{{{|{|{{{{{{{|z{{|{{|{zz{{{z{{|{|{{{|{{zzzzz{{|z|||{|z|{{zzz{{|||{{|z{{{z{{{{{|||}{{zz{zz{{zz{{|||y{{{zy{zzz{|{{{{||{{zzzzzzz{{{{{||{{{zz|zz{z{z{z{z|{zzzy{{z{{{{{{{|{zzz{zzzz|zzz{|{{z{{zy{z{{{{z{{{{{{zz{zy{z{zz{{{{zzz{z{yzz{z{|{z{z{zyzzz{{{{{{z{zz{{zzzzzzzz{{|{{z{zzzzyy{zzz{{{z{yzz{zzy|zz{{{{zz{yzz{{zz{{{{{{{{yz|{zyz{|{z{|{zz{|z{zzzzz{z{{{{z{{zy{{z||{||z{{{{z{z{{{{||z|z|zzzzyzzy{{{{{{||{zz{{{z{{|||{|{{|zzz{zz|{||{{|{|{{|z{z{{|{z|{|{{{z{{{{{{||{||{{|{z|{{z|z|||||{|z{|zzz{|z{|{||{|||{{|{{{z{}||{|||{z|{{{z|||{|{{{|{z{|{{zz{}|{{||{|{z{{z{{{{{{||{}z{{{zz{z{{||{||||{{{zz{zz||||{|||{{{{z{{|{}}|z{{{{{z{z{z{{{{{z{{yzzzzzzzz{zz{{{z{{z{zzyz{{z{{{{|z{{zzz{zz{{zz{|zzzzzzz{z{z{{z{|{yzyzzzzzzz{z{{{z{zzzzzzz{{{z{{{{zyzzy{yzz{{zy{{zzzzzzzzyzzz{{z{{zzzzz{yz{{|{z{z{z{{zzzzzz{{{z|z{zzz{zyzyz{zzzzz{zzzzzzz{y{z{z{{yz{{z{zzyzzz{{z{{zzz{zzzyz|zz{{z{zyzzzzz{{{{{zz{{zz{zy{z{{y|{||{|{{zz{z{zz{|{|}|{{{|yz{zz{{{{{{{z{{z{{z{z||{{{|{{{{zz|{{{{{{|{{{|{{z{{z{{{{||||{|{z{{{{zz|||{|{{|{{{z{yzz{|}{{|}{{{{yz{{{{z{|{|{|{zz{{{z{{{{||{||{{{|{{{{|||z{|{{{yz{{zz{}{{|||||{{{{{zzyz|{{|{||{{{{z{{z{z|{z|{{|zzz{z{{{{}{{{||{y{z{|{{{||{|{{|{zzz{{zzz{{z{zz|zzzzyyyz{z{{{{|{zzz{{zzz{{zz{{{{{z{zz{yz{{z{{y{|z{yyzzzz{{{{|{{{{zzzzzzz{|{{z{z{{{yzzzzz{{{z{{{z{yzzy{zzzzzzy{{{{yzyzzzzz{zzzzz{yzzzyyz{zzzz{z{{zz{zy{zzzz{z{{{{z{yzzy{z{zyzy{z{{yzzzzz{zzz{{z{{zzzzzzz{zz{zz{{zzzzz{z{zy{{z{{{zzzzzzzzz{{{{{{{{{zz{zzz{{{{{{{{{{zz{yzzzz{{z{{{{{z{z{{zyz{{{{z}{{{{{{{{zz{{||{{{{zzz{{{{{{|{z{|{{z{z{{{z|{z{|{||{zz{z{zzz||{{{{{|{zz|z{{|||{|{||{z{zz|{|z|{{|{||{{{{z{{{{|{|}{{{z{{zz{{{z{|{||{|{{{zz{{{{{zz|{{|{zzzz{z{|{{||{||{zzzzz{z{{z{{{|{{zz{zz{zz|{||{{{{z{zzz|z{||}|{{z{zzz{zy{{{||{z{{|{zz{zzz{{{zzz{{{zzzzz{z{{{|{{{{{zz{zzzz{|||zz{{{y{zzz{yz{{{z|z{{z{{zz{zzzz|{{{{z{zzy{zz|{|zz{{{z{zyyzz{z{z|zz|{zzz{{zz{y{zzzz{z{zzzy{zzz{{{z{{{zz{{yzyyzzz}{z|zzzzzzz{yz{zzz{{{zzzyyzzzzzz{{|z{zz{zz{z{{{{{z{{{{z{zzyzz{z{{z{||{{{zyz{z{{{|{|{|z{{zzz{{{|{{||{{zzz{z{zzz{{{{|{{zzzyz{zz{|{|{|{{{{zzzzz{z{{{{z{{{{{z{zz{|{{||{{|{{{z{z|z{{z|{|{|{z{{z{zz||}||{|||{{z{z{y{{{{{{z||{{z{{{{|{{{|{{{{|{z{{{||||||{|{{{{{{{{z{||{{|{|{{z{{zz|y{{|||{|{{z{{{|z{|||{{||{{zzz{zz{{z{|||{{{zzy{zz{}z{z{|{{z{zzzzz|{{|{{z{z{z{zzzyz{|{{{{{{zzzzz{z{{|z{{{{{zzzzzyz{{{z{{{{zz{zzzyy|z{{{{|{z{{yy{zzz{|z{{z{zz{zzzzyz{{zyz{{zzzzzzyz{z{zz{z{zzzzzzzzzzz{z{z|z{zyyyzzz{z{{{{{{yzzzzzzyz{zz{{zzzz{yyyyyzz{z{{z{{zyzzzzzzzz{{{zzzzzzzyyz{z{{{zzzyzyzzzzz{{{z{{{{{zzzzzzzz{z{{{{{zzz{z{z{z{|{{{{{z{zyzzz{{||z{|zz{zzzz{y{zy{{z{}zz{z{zzzz{{{{|{{{z{z{zz{|{z{z|{{{{{{{zzz{{|||{{{z{|{{{|{{{z|z{{|{z{{{{z{z{||{{|||zzzz{zz|{{z|z}|{{{zz{{zz|{|{{|{{z{{{{{{{|{{||{|z{z|{||z|{|{{{{{{z{{{z{{{{{|||{{{{zz{zz{{z{|{|{|{{{{z{z{z{{{{||||{zzzzz{{{{{{{{{zzz{{zz{{|}||{z{zzz{{{yyzz|z|z|{zzyzzyz{{zz{{z{{{zzy{yzz{zzzz{|{{{zzzzzyz{{zzy|{zzzyyz{zzz{z|{{|zy|yzzzz{{{z{{{z{z{{zzzz{zzzzz{{zz{zxzzy{zzz{z{|zyzzzyzyy{zz{{|{{zyzzzyzzzz{{z{zzy{{yyzzzz{zz{{{z{zzzzzzz{|z{{{zzzzzzzyzy{y{{{z{zzzzz{yzzzzzzz{{zz{z{zzzz{{z{{z|z{{zzzzy{z|{{{{|{{zy{zzz{{zz{|{{zzz{{y|z{{{{{{{{zz{zz{zz{{{{z{{zz{zz{{zz{{{z{z{z{z{z{{{z{{{{{{|{{z|{z{z{{{{|{|||zz{{z{yz{|{{{{z{{zz|zzzz|{{{||{{{{|{z{{{{{{{{|{||z{|z{{z|||{|||{{|{{{{{z|{{|{{|{{zz{{{{{{{yy|{{{{{z{{z|{{{z|{|{|z{|{{{{{{{{{{|{|{{zz{{zz{{|{zz{z{z{z{zz{z{||{{{{|{{z{{zzz{||{{||{{{zz{{z{|{}{{{{|{zz{{|z{||{{{|{{|{{{{{zz|||z{{{{{{{z{z{|{||{|||z{{zz{zz|{{z{||z{{{{{|{z{{{{{z{|z{{{z{{{{zz|{|{|{{{z{z{{{{||{{{|z{{{z{zz{{|}{{||{{z{zzzz||{{{||{{{{{zz{z{{|{{{|{|z{{{z{z{zz{|}{{{{{{{zz{z{{||{|||{z|{{zz{{||{||{{{z{z{{{{{||{|{|{|{|{{z{|{{{}{}{|{|{{y{|{|{{{{z|{{{z{z{{|{|{|{|||{z{|{z{{{z{{{}||z{{||{{{|||||||{{{{{{{|{|{||}||||||{{{||{||{|||}{{{||{|{|}|{~}|{||{||{z}||||||}|{|{{z{{|}|||{}||{{||{||||{{||||{|||{{{|{||{|||||{|{{|{||||}|}||{{{{{{{{{|{|{|{}|{{{{|{{{|||||{||{{{{{{{||{|||||{{z{{{{{{{{{||{{{{|z{zzz{|{{{{|{{{{z{zzz{|{{||{|z{{y{{{zz{|{{{|{{{{z{{{z{{|{{|{|{{z{zz{zz{{z{|zz{z{|{z{z|{{z|{{{{{{yz{{z{{{{{{||{z{{{z{z|{{|{{{{{{{z{zz{|{{||{{{{z{{zzz{{{{{z||{{zy{z{z{{{|z{|||yz{{z{{z{{{|{|{|{z{zz{{z{{{{{{||{zzzz{{{|{|{|z{||{z{zz{zz{|{|{}|z{{{{{{{{{{{{|}|{{z{zz{{{||||||{{z|z{{zy||||z{}|{z{{{{{{{||{{}|{{{|z{{{{{{||{|{|{{z{|{|{{{{|{|||{{z{|{{z}{{{|}}|||{|||{{|||||||||{z{||{{|{{|||}||{|||{|{||||}|{||{||{|{{{|{||}}{{{{{{z{z{|||{|||{{z{{|{{{{{||}||{{{z{{z{{}{|||}}{{{{{z{z{{|||{||||{{{|{z{|||{|{|z{{{{|{z{|{{{{|{z{z{{z{z{{||z{||zz{zz{{z{{|{|||{{z|{{{yz{{{}{{{||{|z{{{z{{{{{{{z|{z{zy{{z|{z{{||{z{{z{zz{{{{{{{{|zz{zy{{{{z{{||{zz{{zzz{z{z|{{|{{z{{zzzz{{|z{{z{z{{zz{{y{{|{z{{|z{zz{{z{{zzzz|z{z|{{z{zz{|{{{{|{z{{z{{zz{{|z|{||{{{{{{{{{{|{{|{|{{|zzyz{{{{{||{{z{{z|z{{z{|{||||{{{{{z{{|||{|||{{z|{z{{{z}||||||||{{z{z||{|||||{{{z|{{{{|}|}||{|{{{z{{||{|||{|}{{z{|{{{{{|||||{|{{z{{z{{{}|||||}{|{{{}|{{|||||}}{{|{{{||{||}{|}||{|{{{|{{||||||}{{|}{{{|||}{|||}|||{|zz{|}||||||{{{{{{{{||{||||||{{|{|z{||||{{}}|{{{{{{{{{||||||||zz{{{{z{{{{z||{{{{{zzz{{{{|{{|{{{{{{z{{{{{{{{|{{{z{zzz{|{|{||{|{|z{|zy{{{{{{{}{|{z{{zz{|{|{{{{zzz{{{zz{{|z{{{{{zzzz{z{{{{{zz|{z{yz{z{zz{{{{|{{{{z{zyzz{||{{{z{zz{yzzzz||||z||{{{zyzyz{z{z{z{z|{yzz{zyyz{z|{|z{{yzz{z{z{{{{{|{|z{{{z{{{{{||{{|{{z{{|z{|{|{{{|||zz{{{zzz{{||{{{{{{{{zz{{z|||||||z{z{{{zz|{}|||||{{|{zzz{{{|{|{{{{{{{{{{{{|||||{|z{{{{{{{{|||||}|||z|{|{{{}}||{{||{{{||{{|{{{||||||{{|{|{{{||{{}|{{{|{{|}|}|||{}{{|{||{{{|{||{||||z{{{{{||||||||}||{z|{{|{{|||||{{{|z{{{{{||{||||{{z{{|{{||||||{||||{zy|z|}||{|{||{|z{z{y{{{{{|||{{z{{zzy{{{{{||{{zyz{{z{{{{{|{||{{{{zz{{zzz{{{|{zz{zzzzz{{{{z{{|zz{yz||{z{{{{z{{{z{zz{zz{{|z{|{{y{{{{{{zz|{{{{{{{z{{zy{{|{|{{{{{zzyzz{yz{|{{{{z{{{{zzzzzz{{{{z{{{z{zzzzzy{{z{{||{z{{zz{yz{z{z|{|{{{zz{z{{{{{||||{{{{{{{z{{||{{{{{{{{{{|z{{{{z||{{z{{z{{{{|z|{||{{z{{zz{z{{{{{{{|{z{{{{{{|{||{||}{{{{{z{z|{{|z|{{{{z{{{{|{|{}||||{|{z{|{|||{}{{{||{{{{{{{{{}|{||||{z||{{z{|||||}}|{|{|{||z}||||{||{||{{{{{|}}|||||{{|||z{|||||||||z{{{z{{{|{{|}|}{{|{||zz{||||||}{||{{|{z{{|{||}||{{{{{{{|||{{{}{{z|{{{{{|||||{{{{zz{{{{zz{|{{z|{{zz{|{{{||{{{|{|{zzzy{{z{|{|{{{|{{z{{zz{{z{{|{|{|{|{y{{z{{{{{{{|z{zzz{{zz{{{z{||{z{{|{{z|{{zz|{{zz{zzzz{{{{|zz{{{zzz{zz{{{{{zz{zzz{z{zzz{{||{|{{|zzzzzzz{|{{|{{|{{{zzz{yz{z{z|{{{{{zzzzzz{{|z|{{z{{zz{z{z{|z||{|{z{{{{zz{{{{{z{|z{z{{y{z|{{{{|z{{{{{z{{z||{{||||{{{{z{z{{}||{||z{{zz|{{{{|{||||{|{{{|{{{|||{{||{y{{{|{|z{|{||||{{{|{z|{z|||||z|}|{{{{{{z|{||||}}|z{{{||{||{{{||||{||{{{|{{{{}|}}}{|{z|{{{}}{{|{}|||{|||{{|{|||}|{z{{|{{{||||||}}|{{|z{{|||||||{}{{z||{{z||{|{|{|{{|{|z{{||{{{{|||z{|{|{{{z}{|{{{{zz{{{z{{{|{|{||z{z{{z|z{{{||{|||{zz{{{{{{{{{|||{{{{z{{zz{{{{{|||{zyzz{zz{{|z|z|z{{zz{{{{{{{{}|{{{{{{{y{|{|zz{||{{{zzzz|{{{{{|{{{z|{zzz{{{z||{{{{zz{z{zz{{{{|{{{zzzzzzzzz||z|{{{z{zzzzzzz|z|{|{{{{|zz{z{z{z{{{|{{{{{|{{{{{{{{|{|zzz{{zzz{{{|{|||{{{{|z{{|{}z|{|{{{{{{{{{|z{{|||}{z|{{{zy{|||{z}||{{{{{|{|||{|{}|{{{{z|{z{||{{|||}|{{|zz{z{||}|||z{|{z{||||{{{}|||{|{z{{{{|||||{}{{{{{{{|}|}||}|||{||{{{||{||||}||{{|||{{{|||}}||{}{{{|||}||||}}{|{{{{{{|||}}}|}|{{{|||{{}|{||}|||||{{{{{|||{}|||||{{{{{z|{||{|||{||z{z{{}{{|}{||z{{{{{{z{|||{{}|{{{{{z{{{{{{{|}|zzzz{{{{|{|{{z|}{{{z{zzz{{{{{|||}{z{z{{{z{{{||{|z{{{{{|z{{|zz||{{{{{z{{{|{z|{{|z{{{zz{z{|{{{z||{{{zz{{zz{|{{{{{{{{{zzzzz{{{{{{||{{z{yz{{{{{{|{||{{{z{zzz||{|z{{||{{z{{{zz{y{{|||{zz{{z{{{|z|{{|{{zz{{z{z{||{{{{||{{{{z{{{{|{|{||z{z|{{{z{|||{{{|{{|{{{zz{}{|{|{||{{{{z{||||{z||}|{{{z{|z{|{{|{||z{{|{{{{||||{}|||{{{{{|{{{|}||}}}{{{{{{z|}{|||||||{|{|z{|||{|{{|{|{{{||{{|{|{||||{{{||||||{||}|{||{|{{||}||||||{||{{{{{{{||||||}{|z|||{|}|{{}|}|{{{{z|{{|{{|||}|{{zz{{{{||{|}{}|{z|{{{{z{{|}}|||{{{{|{zz{||{{{}|{|zzzzzz{{z{||}{{zzzz{{y|||{|{{{{|{z{{z{|{{{{{}{zz{z{{{z{z{|{{|{{||{{{{{{{{{{|{|z{{z{zzz|{|{z{|zzzz{{{z{z{{{{|}}zzz{{{{{||{{{{|{{z{{zz{{{{|z|{{|{zzzzzz{{{z{z{{|{z{zzyzz{{y{{z{{{zy{zzz|y{z{{{{{{z{{z{zz|{}{|{|z{{z{{z|z{{|{{||{{{{{{{{{{{|{|{{|{{{|{{{{|{|||{{{{{{||z|z{{|z{{{{{{|{|{{{||||{|||||z{z{{{{||{{{||{{z{{{z{{|||}{|||||{{{|{{{{|{|||{{z|{{z{|||}{}||||{{{|{|{||{|}}|{||{z||||||||}}|{{{|{{{|||{}||}||{{{{{{{||{{|}|||{{|{{||}|{|{|||||{{{{z{||||}|}|{{{{{{{{||{|{{|||{|{z{zz{{{|{{|{z||z|{{z|{||{{{||zz|{{{zz{|{{{{{}{z{{z{zz|{{|}|{{{{{{{zz|z|{{|{{|z{z|{{z{{{{z{{{|{{z{zzz}z{{{{{|zz{{{z{zz{zz{{||{zzz{{zz|{{{{{{z{zzzz{z{{zz{|z|{{{zz{z{z{{{zz{z|{zzz{{z{{{|z|{|{zz|{z{{zzz{{{|{|{yz{zzzzz{|zz{|{{zzzzy{zz|{{z{{{{z{zz{{yzz|{{{||{{{{{{{{{{|{{|{{{{{zz{zz{{{{{|||{{{{z{{{|||{{{|||{z|{z{z{{|{{}|}|z|{{|{{{||||||{|{{{z|{{{{|{{}|{z{{|{{z{{|{|||||{|{{|z|{||{}}||}{|z{{|}{||}}||{}|z|{{z|{{|{{||{{|z|zz||||}|||||{|||{{||{{~||}||||z|{z{{{|z||||{|}{|||{z{{||||||||{{{|{|{|{|}|{|||{z{{{z||||{{|||{zzz{z{{{}{|{|{}|{}zzz{z{{|||z{{{{z{{{y{z||{{{{|{z{zz{z{{{|{z{{||z{{{y{zz{{|z{{|{{{{{y{z{z{|{|{|{z{zz{zz{{{{|{{|{z{zzz{z{{y{{|{{zz|{{zzzz{|z{|{{{z{{z{zz{{{zz{|{|zzz{zzzz{{zz{{{z{zzzzyz{{||{{{|{{zzz{{zz|{{{{{|zz{z{zz{{{zzz{{{zzzz{zzzz{{{{{{|zzzzzzz{z{{{{{|{{zzzzy{{{|{{{{{|{|{{z{{z{|{{{|{{zz|{{z{z{|{|{{||{{{{{{z{{|z|{||{{{y{z{{{{||||{{{|{|{z{{{{||{{||{{|{{|{{{{{|||{{{{z{|{{|{||{}||||{{||{{{z{||{}||||{{{{|{{||{{||||{z{{y{{|{|||{||||{{{z{{{{{||||||{z|{{z{|{|{}{}{{|{{{{{z|{}{{|}||||{{{{{{{{{|{||}{{{{{|{{{{|||}{}|z{zz{{{||{{|{||{z{{{{|{{||{||z{{{z{z{|z{{{{{||{|zzzz{{z{{|{{||{{{z{{|zz||{{{{||{z|{zzzy{||{||||{z|{zz{y{{{||z|||{{z{z{zz{z|||||{{zz{z{{{||{||{{{{{zz{z{{{z{{z{{{zzzzz{z|z{{{{|{zzz{{|zz{zzz|{{|{{{z{{|zzz{{{{|}|z{{zy{zz|{{{{{|{{zzzyzzz{{{{{{|{{z{z{zz{{|{{{||{{{{{z{{{|{{{|{||{{|z{|{z{||||||{|{|{z{{{{{{{{|{|z{{|z|z{{z|{{|||{{{{{z{{{}{||||{{{|z{{{{|{|||||}{{z|{{z|||||}{|{{{{{{|||||||}{}{{z|{{{z{|||}|}{{z||{||{}}|{}{}}|||{{|{{||||}||}}|||{|{||}|||~}|{|||{z{{||||||||{{{{|{{{{}||||{|{{z}{{{{{|{{||{|{{{zz{z||{{|{|}|{{{{{|{z||||{|||{{|{|{|{{{|{}|{{z{{{{z{z{}{{|{{|{{zzyz{|{{{{{z}{|z{{z{{z{{{|{{{{{{{{zzzzz{{{{{{|{{z{z{z{|{yzz{z{|z{{z|z{zz{|{|{{{z|{{zz|{{{{{{|{zz{{zzzz{z{zz{|{z{zzz{zz{{{{z|{{|zzzzzzz{{{z|z{{{zzzz{{z{{|{{{||{zz{{z{zz{{{{z{{{z{{{zyz{|{{{{{{{z{zz{zz|{z{|{|{z{|{{zzz{{|{{{||z{z{z{{{{{|{z{||{zzz{{{|{{{|z{|||{|{zz{z{|{|{||{{z|{{{{{|{|{{{{|{z{z{z{{|{{{z||}|{{{{z{{{{||{|{{z|||{{|{}|||{||||{{||{{{||{||||||{{{z{{{||{|||}{{{|{{|||||{|{|||}z{{{|||{||||{|{||{||{{z||||||{|||z{{{{z{{{{|}}|{{{{|{{|||}|||{||{{z||{z{|{|{||{|{{{{{{{{||}|{{}z{|z{{{z{||{||z|{{z{zz|zzz|{z{|||zyz{zy|z{{|z{{|zzz{{zzz|z{|{{{{{z{z{{{z||{|{{|{{{{{y{zz{{{z{{{{{{{zzy{zzz{{{{{{|z{{{{z{{z{z{{{{zyz{y{zzz{{zz{{|{zzy{zz{{{{z|{||zy{zz{z{{{{z{{|{{{{zz{zzz{|{{{|{{zyyzz{zz{{zy{z{{zzzzzz{{{{y{{{{z{zzz{yy{z{{z{|{{{zzzzz{{{||{{{|{z{z{zzz{{z{||{{{{{zz{{zz|{{||{{{z{{|{zz||{{{||{{{{|{zzzz||{||{{{|z{{{{zz||{{||z{y{|{z{{|{|{{|{{{{{{zz|{||||||{|{{{{|z{|{|{|z{{{|z|z{|{||}}|{|||z{{{|{|{|{|z||}||{{{{{{||||{|}|{|zz{|{{{{|{|{||||zz{{{{{{|{{|{||||z{zzz{{{{|||{{{||z{{{z||{{{|}|{{z{{{{z{}||{|{|{{{z|zz{{||||{|{{{z{zy{{{{|||{{||{{{{|{{z{{z||{|z{{zzz{{{|{{|{||zz|zz{{z{z||z{||{zzzzz|{{z|{{|z|{{zzzz{zzz{{{z{{|zzzzzzzz{{zz{|{{zz{yz{zz{{{{||{zzzzzzzzzzz{{{|{z{zz{{z{z{{{{{{zzz{{z{z{{{{{{{|{{{z{zzzzz{|{{{z{z{z{{zz{z{{{{{|{zzz{{{{zz{{{{{{{{{{{{z{{zz||z{{{{zzz{{{z|{{{||z|zz{yz{{z{{{z{{||{{zz{z|z{||{|||{|{|{zzz|{{|{|z}{{z{{{{z{|{|{{|z{{|{{z{{{|||}{|||{{z{z{{{||||||||{|zz{{{{{|{||||||z{{{{{{||{||{{|{{{{{|{z{||}|}|}}{{{z{{{{~|}|{|}|z{{z{|{}|{{||{}|{z{|{z{||||||}|{||{{{{|||||||||||{z{{zz{|{{||||{{{{z{{z|{{||{|{{{{z{{{{||{|||z{{z{{{z{z{{|{}{|{{z{{zz{z{|{{{{|||zz{{z{zz||{|{{{|zzz{z{z{{{{{{{{{{zzz{{z{zz{z|{|{z{zz{zz{{{{{{|{{yz{{zz{|{{{{{{z{{zzzzz{|{zz{{z{zz{yzzzyz|{z|{{{zz{{zzzz{{|z{{|z{z{zzyyz{{{|{{{{z{zzzyzzzz{{{{{{{{zzzzzzz{{z{|z{{{zz{{zz{{z{{{||z{zy{zzz{{{|{z|{|{{zzzzz{{z{{|{{{z{zzz{z{{{z|{|{zz{{z{{z{|{|{|{z{|{z{{{z{{|{|{|{|{z{{{z{{{|{|||{zz{||{{{{|||z|{|{{{{{{||{|{{||||{{{|{{{{||{{|||||z{{{z{z|||||||{{{|{{|{|{||||}|{{{z{|{|{{|||{}||{z{|{{{{|{||{||}|{||{{{{{{|{|{}{||{|}{{{|{{{||{|{|{zz{z{{|{{|}||{{z{z{{z{||{{{||{z{{{{{{|}||{|||z{z{{{zz{|{|{{{|{{zzzz{|{{{{||{|{z|zzzzz{|{{z||{|{{z{zz{{{{|z|||{{z{y{zz|{{{z|||{{{z{zz{{|{|{{|{{{{z{zzz{{{z{{{z{{{zz{z{{z{{z{|{{z{{zyz{z|z|{z{{{{zzyzz{z{{z{{{|z{z{{zzzz{{{|{|{{{yzzzzzz{z{{{{z{|{yzz{z{|z||{{|z{{{{{y{|{{{{||{{{zzzz{{{{z{{{{{{z{{{zzz{{{{{}z|{z{zz{zz||z{{|{{{{{{zzzzz{{{|||{{{|z{{|z||||{{||}{{{{z{{{{||{{|{{|z{{{|z{|{||||{{|{{z||{|||}|||}{{{{{z{z{{|{||}{|{zz{{|{}|||{||||{|{|{||||{{}||||||{|{{||||{||}||{{{{{||{|}||||{{{{{{{{{|{|{|}{||{{{{z{{||||||{{{|z{{{{{{{{||}{||{{zz{{z||||{{{|{z{||{z{z|{|{{{{zz{{zz{zy{|{|z{{|{{zy{{z{z{{{{{|{{{z{{zz{{z{{{||{zzzzzz{z{{{{z|}{z{z{{zz{{{{{{z{zz{zzzz{{{{{{|{zzz{{{zzz{{{{z|{|{z{{z{y{z{{|{{||yzzz{zz{{{{{{{{z{zzyz{z{zz{{z{{z{{zz{zz{zz{{{{{{{z{{{zzzz{z{{{|}{yyzzzz{{{{{z{{|zz{{{z{{z{{z{{||{{{{z{{||{|zz{{{{{{z{z{z{{|{||{{{{|zzzz{{|{z||{|{z{{{z{{{{{|||{||zzz{{{{{|{{{||{{z{{{z{{{|{||{{||{{{|{|z{|||{|||z|{{{{zz{{|{||{||z{|z|z{{{{{|{||{{{z{z{{}|||}||{|{{{{|{|{|{|||||{|{{{{{|{|}|||{||{{|{|{{||{||{|{{{{{{{{{{|||||}|{{{{{z{||{{|{{}|{z{z{z{{|{{|||||{{{{z{{{||||{||{|z{y{z{{||}{{{{{zzzz{{{z{{|z{{{|{{{{z{{{{||{|{|{{|{zz{z{||{{|{||{||{zzzz{z{|z{}|{{|zzzzz{|{{{{{|z{{zz{z{{{|{{{{{{z{zzz{{{{|{{{{{|{{zz{z{{{{{z|z|z{{yz{z{{z{{{{z{|zyz|zz{{z{{{||z{{{|z{zz{{||{{||zz{{zzzzz{{{{|{{z{{z{{{z{{{|{{||{zzz{zzz{{|{||{{{{|{{zzz{{{||{{|{z{{zz{{{{{{{|{{{{{{|{{||{|{{|z|{{|{zz{zz|||{||||{z{z{zz{{{|{|{|{zzz{{z{||{{{|{z{{{z|{{|{{{}||||{{{{|{|{||{||}|||{{{{z{{{|||}||{|z|{{|z|||||}{||{{|{{|}z|z{|||||}|||{{{{||}|}}|}{|||{{{{||{}|||{||{{{zz|||{}|||}}z{{{|{|||}||||}z{|z|z{z{|||z||{}{{{{{zz{{||||||{z{z{|z{|{{|{{{|{{{{{zzz{|{{|{{|zzzzzzzz{{|{|{|{{zzz{{{z{|{z|{{{{{z{zzz{{{{|{z|{{{{zz{zz{|{{{{||{{{{{z{{z{{{z{{zzz{y|{z{|{|{|{{{{{{{{zz{{z{{{{|{{z{z{yz{{z{{{|{{{z{zz{zz{|{|{{{{zz{{{{zzz{{|{{|{{z{z{zz{z{{{z{{{z{{{zzzzz{{{|{|{yz{zzzzy{z{{{z||{z{zzz{z{|{{|{{|{{{z{{|{{{|{{{|{z{{{{{{z{{|{|{{{{z{|zz{{z{{{|{{{|{{{z|{z{|z|z|~{{|{{{|z{{|{{}{{{|{|{|{{{|||{||||{{{{{{|z{{{}||{||{||{z{{|||}|{||{|{{|{{{{}|||}||{{{{|{||{|||||||{{{||{|{||||{|}{|{||{{|{{|{||}|||{{{|{{|||||{|}||{|{|{{{z|{|||||{|z{|{|{|{{||{|||||{z{{z{|{||||{{{{{{z|z{||{||{z{zzz{yyz{{{{{|{{{{{z|z|z{{{{|||||{z{{zz{{|{{{|{|{zz{z{yz{|{{{{|z{|{{{z{{|z{{{|{{|zz{z{|{{{{z{{{{zz|zz{{yz{}zz{{{zz{zyzz{{{{{{{{zzz{y{yz{z{{{z|{{zzyzzzzzz{{|{{{|{zz{zzzz{|z|{z{{{{zz{zzyzz{z{{z{z|{zzzzzzzz{{||{{z{zz{zy{{{|z{|{z{zz{z|y{||{|z||{z{zy{|{{{||||||{{{{{{z{{{{{{||{{{zz{z{z{|{}{|z{{z{{z{z{|{{{|||{|zz{{{z{{|{zz|{{z{{z{z{z||{|{}{|{{z|{{{{|||||}||{|{zz{{{|}{||{}|||{|||{z{{|||}|}{{|{{|{|||{|}|}|}{{|{{|{|}||}{||{||{{{{{|{|||||{|zz|{{|{{|||}|}||{|{{{|{{{||||||{{z{z{z|{|{|{||{{||{{{z{{{{|{{||{{{zzz{|{{||{{{{z{zz{{{z{{|{{{|{{|{z{zzz|{{{{{|{|{zz{z|zzz|{{{{{{{z{{zz{{{|{{{z{{{{zzz{{|zz{{{{|{zzyzz{z{|{{{{{{z{{z|z|zz{{{{{z{zzzz{zz{{{z{z{{|z{zzzyzz{||{{||{{z{z{zz{{{{{{|{{{z|zyyzz{{z{z{{|{{y{zyzz{{z{z|{|y{z{{zzzz|zz{{{zzz{zzzyz{{|{|{||{{{{{{z{z{{{{z|{{z{z{zz{{z|{z}{|{{{{z{{{{{{{||||{zz{{z{{{{{{z|{z{{{{{{z{{|||{|{{{z{{zz{{|{{{||{{{{{{{|z{{|||||||{{{|{z{{{{||{||||||z{z{{|}|{|{|{{{z{|{{{||||||||{{{{|{|{|{{|{|}|{|{{z{{{{|}{{|{||{{|{{|{{{|}{||{|{{z{z{{{{{|||{||{|{|zz{z|||}||}{z{z{{{{|{{|{||||{{{{{{{|z||||}{{z{z{y{z{|{||{{||z{z{|{{|{|{{{|{{{{{{z{z{|{|{|}|{{{z{z{{{{{{||{||{z{zzz|{{{{{z{}z{{{{zzz{z|}{{{}{z{{zz{z{{{z|||{|z{zz{zy{||z{|{z{z{z{{z{{{{{{z{{zzzz{z{{{{|{{||{z{{zz{y|{||{{z{{z{z{{{z{|{{|{||z{{z{zz{{{{||{{{|{zzz{z{{|||{z{{{zz{z{zzz{|{{|{||{|zz{{{{{{{|{|{|{z{|{{z{||{{{{{|{{|{{z{z{|{{}||{{z|{zz{{{{{|{}|{z{{{{{zz{|{|{z||{{{{{{{{{||||||{{z{z{{{{|{}||{||{{{{{||z{|{|{}}}{{{|{{{{||{{{|{||z{z{{{{||}|{|}}|{{{{{{|||{{{||||||{z|{{{}|}||||}{||{{{|}||{|}{|{{{{{{{z{|{{|}|||{{||{{||{{|||{|{{{{{{{{{{{||}}{|{z{{{{{{|{}{||{{z|z{{{z{|||{{z{zz{z|z{z{{|||{{|zz{zz{{zz{|{{|{|z{{zzz{z|{z{{{{|zz{{y{z{{{|zz{|{z{{zzz{{{{{{z{|{zzzzz{{zz{z{{{{{{z{{{{z{y{|zz|{z{zzzz{zz{{{{z{{{yzyzzzz{{{z{{z{z{zzzzzyzzz{{{{z{{zzzyzzzz{z{{{{{z{{zzz{zz{zz{{{{zzzz{zzy{{z{{|{zzzz{{{z{{{{{{{{|z{{{{z{{{{{{{{{|{z|yzzz{|z|zz{{{{zz{yz{{{{|z|{|{{{{{zz|{zz||{{z{z{{{z||z|{{{{|||{{zz{{z{||||||{}{{|z{{z{{|||{|{|{{{z{{z{|{|||{{|{{|{{{z|{|||||}{{{z||{{{{{{|{|||{{{{z{|{{|{||}|||{z|{{{z|||{}||}|{|{{{{{|}||{}|}{z{z|{{{{{{{|{|}|{{{{|{{|{|{||||{|{{{{{z||{{{{}|{{{{{{|zz{{}{{{{{zzz{{z{{{||{zz{z{yzzyzzzz{{|z|{{{zzzzzzzzz{{{{{{z{zzzzyz{{{z{|{{y{zz{zz{{|zzz||z{{zzzzz{z|{{|z{{{zzyz{z{{|{{{|{{{{zzz{y{{|{{{z{yzyzz{zz{|{|z{{{{zzz{yyzz{{{{|{{{y{zzzyzzz{{{{{{{zz{{yzzz{z{{{{{{zzzzz{zz{z{z{{|{z{zzz{zz{{{{|{|{z{z{{zz{{{{{{{||z{z{{zz{|{{{{z|{z{yzz{z{{{{||{|zzz{zz{|z{{{{|{{{z{{zz{{z|{|{|{|{{{{{z{z{{{{z{|{{{{{z{{{{|{|z||{{{{{{|{{{{||{|||{{{|{|{{{||||||{|{{{z{|z|{||{}{|{{|{zz{z{|{{{||||{{|z{{{{|||{|||{|{{z|{{|||||{}||{{|{{{{|||||{||{{{z{||{|{||{{|||{{{{||{||z||{|}{{|zzzzzz{{|{|||{{z{{z{z{{{{{||{y{|{{zzz{|{{{{z{|{zz{{zzz{|{{{{{{{zzzz{z{{{{{{{|z{|zzzzz{{{|}{||{zzz{z{zz{|{{{{|{{{z{{{z{|{{{{{{|{{zy{zz{{{z{{{{{{zzzzz{z{{z{{{{{zzz{{z{z{{{z{{{z{zzzz{z{z{z{{{{{z{{z{z{{z|zz{{|{{{zzz{yzz{{{z{{{zzzzzzz{|{{{{||{z{y{{y{z{{{{||{{z{zzzzz{{{|{{|{{zz|zz|z{z{zz|{|{{{{zz{{{{{{{{|||{zyz{zz{|}|{{|{|y{{{{{z|{{{||{{{{|z||{z||{{{|||{{z{{{{{|{|{{||||{{{{{z||{|}{||{||z{{{{|{|{{|||||z{{{{{{{||{{|}||z|{|{{{|}|{||}||{{{{||{{||{{{|||{{{z|{{z||{{|}|{{{|{{{}|{|{||||||{{{{{{{|||||}|{|{|{{{{|{|}||}|{z{{{|{z|{{{||{||{{{{{{{z|{{{||{{{{y{z{{||{|||z{{zzz{yzzz{|{{{|||z{y{z{{|{{{{{|{{||yz{zz{z||{{|{{z{{z{{{{z|{z|{|{z{z{z{z{{{{z|{{zz{z{{{zz}|{zz|{zz{{zzzz{|{{z{{{zz{yz{{{|zzz{zz{{{zz{zzz{{{{||{{{z{zz{zzz{{|{|{{{{zz{zz{{{{|{{{{z{z{{zz{z{{{{{{z{zzz{{{zz{{{{{{{z{{z|z{z{z{{{||{{zzz{y{{||{{{{{|{zzz{z{{|{{{||||{|{{{{z{|{||{{||{{z|{z{{{||{||{{{{z{z{{y|||||{||||{{{zz|{|{{{|||z{z{{{||z{{|{|||{{|{|{{z||{}||||{{z{|{{{{}{||{|||{{||{{{{|}|||{{|{{{{|{{{||{||{}||{zz|z|{||||||||{|{{{|z|{{|{|{||||{{{{{||{|{|}|{{z|z{{{}|}}||}||{{z{zzz{|}{{{|{{{{zz{{{{{|}{|{{{||{z{z{{|{z{|||{{{zz{zz{{z{{|{|{|zzzz{z}{{{{|||{{{zz{y{{|{|{z{|z{{z{zz{{{}|{|{{{{{z{{{y{{|{{|z{{{{zz{{{|{|{z{||zy{{zzz{{{|{{|{{{z{|zzzz{{z{z{{z{zyzzyzzz{z{{|{{{z{{zzzz{z{{z{{{{{zzzzzz|zz{z|{||zzz{{{zz{{z{{|{z{{z{z{{{|{{{|{{{z{z{z{{{{{{{|{|{{{{{z{z{|{{|{{|{z{{{{||{{{{{|{|zz{{z{{||{{{|||{|{{z|z{{{|{{|{{{{z{z{{{{||||{||{{{zz{z{{{{||{}{{|{{{|{||{||}|||}{{{{{||{||||{}|{|{{{{z{z{{||}{|{|{|{{z{{{||||||{|{{{{{|{|||{}}||{{{{{{||{}||||||||{||{{{|||||}|||{{{{{z{{{|||{|}|{{{{{{{|{|}{||}|{{{{{z{z{{{|||||{{{{z{{{|||{||{{z{z{{{z{|{|{|zz{{zzz{z{{{{{{z|{z{{zzy{z|{|{{}||{yzzzz{z{{{{{{|{{z{zzzzzz||z{z{|{{|zz{zz{|||z|{|{{zzz{{|{|{z{{|{zz{{{{z{z{{z{{{{{z{zz{zzz{{{||{|z{|zz{{{{{{{{||{{{z{{|y{z||z{{{{{{{zy{zz{|{||{{{{z{{zzzy{{|{{{{{||{z{zzzz{{{{|{{zz{{z{{zz||||{|{zz{{{zzz{|{{{{{|{|zz{yz{{{{{{z{|{{{z{{|{{{{|z}{|{{{z|{|z|{{|{|{|||{z{zz{{{{{||}{|z{{{{|zz|||{|{||{{{|{{z{|||{{||z{{{{z{||{|}|}|{{{{{z{z{{}|}{{~}|{{{{{{z{|||||{|{|z{{{||||{||||||{{||{{{|||||||||{{{{{{{}|||{}|||{z|{{{{{{||{||}{{{{||z{||{|||~|{{{{z{|{{|}{{|||||{{z{zz|{|{{z||{{{{zy|z||{|{{z|{zz{|yzz{{|{z{z{z{{{zzzz{{z{||||{zz{{{{z{{{{{{|z{z{z{zz{z{{z{{{{{{{z{zzy{{z{{{{|{zz{{zz{{{{z{||{z{{{zzyz|z{zy{{|{zzz{zzz{{{|{{|{{z{zzzz{{{zz{{{{{zz{{{yz{{{z{{{{z{{zy|zzz{|{|{||{{zzzzzyy{{|{z{|{zzzzy{zz{{{z|z{zz{y{{{{{{z{z{{{{{{z{z{z{{{z|{{|{{{{z{{{|{|{{|{|{z{z|{{{{{{{|{{{|{{{zz{{{{|{{|||{{{y{|z{{|}||{|{{z{{{{{{{{{||||}{|{z||z|{{{{|||}|{{{{{z{{{|}||}}|{|{{{{{|{|{|{|||z{||{{{||{{||}{{{{{{{{||{{{|||}|{{{{{{|||||||}|{{|{{z{|||||}}|||z{z||z|||{{{{}}||{{{|{{|{|||}||{{{{z{{{{|||||{||z{zz{|z|||{{{|{x{{{{z{{{{|z|zz{{{zzz{{{z{{{{{{{z{zyz{{z|z{||{|{{zzyzzz{{{zz{{|{zz{{{{z{{{{|{{{{{{zz{z{z{{{|{|{{|zzzz{z{z}|{{|{{zzzyzzzz{z{{{{{{{zzyzz{{z{z{{{{{{z{zzzz{{||z|z{z{z{|zzzz{||{{||z{{{{zzyz{{z{{zz{{{yzz{zzz{{zz{{{{{zzzzzzz{{|z|{{{zzz|{zzz{{{{{{z{{z{{{{{{{{z{{{{{{{z{z{{{{{{||{|y|zzzzz{{||{{{|}z{zz{z{z{|{||||||{z{{{{z{}|{z||{zz{{{zz{z}{{{{{|{|z{{{z|z|{|}|||{{{{{z{z{{|||||||z{{z{zz{|{||{|||z{z{z{{{}|{}|||{{{{||{|{||||||||z{z{|{{|}{|}|||{{|{{{|{||}}||}}||{|{z{||}||{||||{|||z{{{||{{|||{|{{{{zz{{{z|||||{{{{{{z{{||z{|{{z|z|{{{||{{{{{{{zyzz{{zz{|{{{|{z{z{{z{z{z{{{|{|{|z{zzzy{{{{z{{{{zz{{z{{{{{{z{|{zzzzzzzz{{|{{{{|z{{zz{{zz{|{z{|{{z{z{{zz{z{z{z{{zzzyzzz{z{zz{{{{zyzzzzz{{{{{{||{{{yz{{yz{z{z{{|z{{{{z{zz{|{{zz{{|yz{zyzzz{z{{{{|{{z{{{zzz{{{{{{{{zz{z{zz{z{{z{|{{zz{z{{z|{|{{{{{{z{{zyz{|{{{{{z{z{{{z{{z{{|z|{||||z{{{zzz|{|{{{{|y|z{{{{{{{|{||{{{{z{{{{|||{||{z|{|{z{{z{{||{{|{z{z|{{{|||||{{||{{{{{{{|{||{||}{|{{{{|{|||{|{||{|{|{z{|{{}||||{||zz{{|{|z}|||||}||{{{{{{|||||{|||{|{zz|z||||{{||||{{{{{{{z{|{|||{{{{zz{{{{{{||}{||{{{z{z{||{z{{z{z{y{z{{{{z|{||{{yzz{z{z|z|z{|{|zzz{{zz|{z|{||{{{{{zzz{{zz{{{|{{{zzz{zzzz{{{z{|{{{zyzzzz{z{{{{{{zzzzzz{z{z{{{z{{{{{zz{z{{{|z{{{{zz{{yzzy{z{zz{{{{zzzzyzyz{{{{z{zzzzzzzz{{{{zz{z{zzzyzzzz{{|zz{z{zzz{{z{zzz|z{{{{{{|zzzzzz|z{z{z{{z{z{zzz{z|z{{{{z{{zzzz|{{{{z{{|{z{{zx{{{|z|{{||{{{{zz{{{|{{|{|{{z{{{z{z{{{{{|{{{||z{{zz{{|}{{{|{zy{zz{z{{{z{{|{{z{{{{z|{{||{{|{{{{{|z{{||z||{{|{{{{{z|z{||||{|{|{{z{{{{|}|{z|{}|||{{{|{|{|||||}{{{{z{{|{|{{{|}{|{{{z{z||{|{||}||{{{{{z|{|{|}||{{|zz|{||{|{{{{}|{{zx{z{z{|||{|||{{{{z|zz{||{|{||{{{{{z{z||{{{{{{zzz{{yzzyz{zz|{|{zzy{{yzz{{{z|{z{{zzzzzz{{{{{{{{{z{{z{zz{{{{z{{{{z{zyzzz{{{|{|||{zz{z{zzz{{{z{|{{{|{{y{zz{{{z{{z{{zzzzzz{zz{{{{{z{z{zzzz{{|z{z{zzz{zy{{{zz|{{{{z{zz{yzzz|{{z{z{|{zzz{zzzz{{z{z{{{yz{zzzzy{{{z{{{zzzzz{{z{{{zz{{{{{{z{{{z{{{{z|{|{zz{{zzz|{z{{|{|{zzz{{{{{{|{|{{{|yz|{z{z{{|{{{|{{z{zzzzz{|{{|{}|{zz{{z{z|{|{|{|{{{{z{{{z|{{|z{|{{{|{|{{{{}{{{|}|{z{z{{{z{||||{|{{z{{{||{{}{||||}|{||z|{{{||||||||z{{{{{{{}||{||{|||{{{{{||{||||z{{z{z|{{{{}|{|{|{||{|{{z{|{{|{|{|{{zz|{z{{|{|{||{{zz{{{{{{{|{{{|{{z{zz{z{{{|{{|zyz{{{zzz{{|{|{{|{{z{{zzzzz{{{{|{zzzzzzy{||{{|{|{{{|zz{y{|z{|z{{{{{z{z{zy{{{{{{{|z{z{z{{z{{{{z{{{{{zz{zzz|{{{{{{{zz{y{{zz{z{zz|{|{zz{z{zz{{{z{zz{{yyzzyz{{{z|{{z{{z{z{{zy{{{{|{{|zzzz{{zzz{z{{z{{|yz{z{{{{|z{||zzzz{{{y{z{{{{{{|{z{{y{z{z{||{{{{||{{{{z|{{{|{{z|z{{{z{{{zz{z{|{{{z{{{{{z{{||{|{|{{{{{{{zz{{|{|||{{{z{z{{{|{{{{{{{|z{{z{{{z{|||{||{{{z|z{{||{|{|}||{|{{|z|||||{||||z{{{{{{|}}|||||z{{{{|{||||{||{{{zz||z{{{||{||||{{{||{|{{{{{{|||{z{{||z{{{|{||}|{{zz{{||{|||}|}|{{{{{z{{{|||{{|||{|{{{{|||{||{|{{|{|z{{z{||{{{{{{{y{zzzz{|{|z{{{{z|{zyz{{|{{{|||{{{{{z{{{{{z||{{z{{{zy{z{{{{{{{{|{{{{{zz{{{{{{{|zzzyzz|yz|{z{{{{{{z{{z{z{{{|z{|{{{{yzz{{{zz{{{z{zzz{z{yz{|{{|{|{{z{{zz{z{z{||{{{zz{zzyzzzzzz{{{|{|zzzzzzz{{{{{{zz{zzzzzzzz{z{||{{{{{z{zz{zz{{{|{z{zz{z{{|||{{z{|{{{z{{{{{{{{||{|{{{zzz{|{|{{|}|}{{{z{{{z{{{{{|||{{{{||{{z{{{{|{|{z{{|{z{{{||{|{{|{{z{z{{z|||||{{|||{{z|z|{{{|{|||{{{zz{z{||{{{|{}{{zz{{{||}}|{||{{{{|{||{||{|||||{|z|{|{{|||||}{{{|{{z{{|{|{|||||{|{{|{|{|{|{|}||{{|{{{{|{|||{|}|{{z{z{z||{|}|||{zz{|z{{||{{{{|{{{{{{{zz{{{{{{{{z{zzzz{z{{{|z{{{{{{zzz{z{{{{{z{{{zz{z{zz{{{{{{{{{{{z{z{z{{{{{{{{{zzzy{zz{{}||{|{{y{zzz{z{{{zzz|{{z{zzzzz{{z{z{|{z|{z{zzzz{{{{{{|{zzzy{zz{{{{{z|{zzzyz{y{z{{{{{|{z{{zzzzzz{{{zz|{zzzzzy{z{z{z{|z{zzzyzz{z{{{{{|{{{z{zz{zz{{{{{{|{{{zz{zzzz{{{{|{|zz{{zy{{|{{z||{{{{{zz{{{|||{{||{{z{{|z{|{|{{||{|{{{{{{zz{|{{{|}z{{z{z{{{||{{||{{|{{{z{{{{{{|{|{|{||{zz|{{|{|{{}|{||||{{{|}|{{{{||{|{{{|{|||{||}|z{{zzz{z{||{}{|{|{{{{{{{{}}|||}|{{{|zz{|{||||}|||{{{{{{{{||{{|||{{{z|{{{|{||}|||{z{zz{z{{}||{{|{||{{zz{{{|z{}{||{{{zz{z{{{|{{|z{zzzzzzzy{|{{{{|{{{zyzzzz{{{{z{|{{{z{{{{z{z{z|{{{{z{zzzz{z{||{{{z|z{zz{{{|{||{|||{zzzyz{{{{y{{{{{{yz{y{y{z{{z{z{{zzzy{{y{{{{{{{{{|{z{{z{z{{zzzz|{{zzz{{zz{{{z{{{{zz{zzzzz{z{{{{|{{zzz{zz{{{{{{z{{|z{zz{{z{|{{z{{{{zzzzz{zz{{{|z|{{{{z{z{z{{|{||{{{{zz{z{{{{{|z|{{{{|{z{z{{{|z|{{|{z{{{{{|{|||{||{z{{{zzz{{{||z{|{{z{{{z{{||{{||{|{{{{{z||{|||||{{{{|{{z|{|{{{{||{{z{|{z{{{|{||||||z{{z{{z||{{|||{{|{{{{||||{{||||{||{{|{{|}{}{{{}||{|{|{{{|||||{||{z{z{{{{{}|}|||{{z{{{{|{|{{|}}||{{{z{zz{{{{{|}|{{{{z{{z{{{|{{||z{|{{{zz|z{{|{{{{{z{{y{y{|{{zz{|{zz{zzy{{|{|z{{||z|zy{zz{z{{{{{{|{{z{{zzz{{|z{|{{zzy{{{z|{{{{{z{zz{z{zyz{||z{||z{{z{zz{y{z{{{{{{{y{zz{zz{{z{z{{{{{zzzz{z{{{{{z{zz{{{yzzz{z|{|{{{{zzzz{{zzzz{{{{|zzz{zyzzz{z{{{{|z{{{z{zzz{z{{{{zzzz{zz{z{{{{{|{|zzzz{zz{z{|||{|{{{{z{z{y|{zz{||{{{{{zz|z{|{|{||||{{{zz{{{{{|{{{{{z{{{zz{{||{|{|{z{z|z{{{{}{{{{z|{{{zz{{{|{{}||||z{{{|zz{|{{|{{|||{|z{{{{{||{|||{|{{{{z{z||{{|}|{|{z|{|z{|{{{}||{|{{{z|{{{}|}{}{||z{{{{{|||}||||||z{{{{{{|{|}{|||{{{|{{z|}|||{{||{{|z|z{{{||}|||{{{{{z{{z{|{|{{{{{{{{zyzz{{{z{{|{zz{{yz{y|{zz{{|z{zzz{zy{{{z{||{z{z{zyzz{z|{{|{|{{zzzz{zzz{{zz{||{zzzzzzz{z{{{{z{zzzz{{{y{{{{{|{{z{{zzyz{z|zzz|{{{zz{zyzzz{{{zz{zyzy{zz{z{{{z{{{|{zzzz{z{z{{|{{}z{|zyzzzy{{zzzz{{zzzz{yzzzz|z{{z{{{zzzz{y{zz{z{|{{z{zz{zz{z{{{|{{{zzz{z{{z{|{{|{|zz{z{yzz{{{|{|||{{{z{z{z{||{{{|{{{z{|z{z{|{{{{|{{zzz{{zz|||{z|{|{zz|z{z{{||{z||{|{{{{{|{{{|{{|{{z{z{{z{z{||}|{}||{{{z{z{|||}||{||z{|{{z|{}|{{||}{{||{{}{||{|||}||z{|z{{{{}{|||||{{{||{{|{|{{|||||{{{{{{}||{{{{{}{{{{{{{z|||||{}|{{{z{{{{{{{|z|{{|{{|zz{zz{|{{||{{zz{{zzy{{|{{{|{{{zz{{z{{|{{{|{|z{{zzz{{|}|{{|{{{{z{{z{{z{{{||||zzzz{{zz{z{{{{{{zzzzzz{z{{|{z|||{z{z{{{{z{zz{{|zzzz{z{{zz{{z{{{{{z{zzzzy{z{|z||{zzzz{zz{zz{z{{{{y{zzyzz{{{{||{{{{{{{z{zy{{{{{{{}zz{zzy{zzzz{{{{{{zzzzzzz{{{z{||{zz{zzzzzz|{|{|{{|{z{zzzz{{{{{{||{{z{zz{{{z{{||||z{zzyzzz{{|{{{||{{{z{{{zz|{|z{{{{{{|z{{zz||z||||{{{{{z{{|{|||||{z{{{{{{{|{||{|||{|z|zz{{{|{|||||{zz{{{{||||}|{||}z{{|{{{{{|{|{||{{{{||{||{||}}}}|z{{z{{{{||||||{|z|{{{|z|||||{||{{{{{{{z{|z|||||z{|{{zz}|{||{{{|{{{{{{{|z{{|{|}|{|{{{{z{{{{||{}{{z{z{zz{{z|z|{{{{zz{{z{zz|{{{z{{{{zzzzzz{{{{{{{|{z{zy{zz{{{{{{z{{zz{zzzzz{{{z{{{zzzzyzzy{{|{|||{{{zzzz|{zz{z{{{{{zz{{{zz{{{zz{{zzzzzzz{zz|z{z{{zzyzyzzzz{{{{{{||zzzzyyyzy{{z|{{{z{zzzyy{z{z{{{{zzy{yzz{zz|zz{|{{{zz{zzzzz{|{z{z|yz{zz{zz{z{z{|{{{{{z{zz{zz{|{|z|{{{|{z{z|{{zz|||zzzzz|{z{z{{{{{}{{{{z{z{||{|||{{{zzz{{z{|||{||||z|{{z{z{z||{z{{|{{{{{zz|{{z{{||{{{{z|{{{{{{{{{}|{z{|{{{z{{}{{{|||{{|z{{z|}|{{|||z{{{z{{{{{z{||{}|{|{{{{{{|{|{{{{|{|{{{{|||||{}{{|{z{{|yz{{{|{{{||{{{|{z||||}{|}||z{{{zz|{{{|{|||{z{{zz|z{|||{|}|{{{zzzz{z|{{||{|{{{zzyzyz{{{{{{zzzyzzyzz{{{z{{{z{z{zzzz{zzz}|{{{{zz{zzy{zz||{{{{z{{{z{zyzz{zz{{|zz{zz{yzz{|zz{{{{{z{zzyz{{{{{{{{z{zzz{zyz{{z{z{z{z{{{zzy{{z{zz{{zzzzyzz{{{{{{|{{{{zzzyzz{{z{z||zz{zz{zzyz{{{z{{{z{{zzzz{z{z{{{{{zzzzz{yy{{|{{{|||{zz{z{z{|zz{{{z{{{{z{{zz|{{z||{{y{{zzz{{zz{{{{|z{z{{zzz{|||{|{|{zzz{z{z{{{z{z{{z{z{{|zz{{{z{{{{{{zz|zzz{{{{|}{|z{{z{yz{{||||||{{{|z{zzz|{|{{||{}zz{z{{{||{|{|}{{z{{z||{{|{{|{||{|{z{{{{|}||}{|{zz{{{{{{|||{{|{||z{{{{{{z||{{|{|{|{||z{{{{{{{|||{{{{|{yz{{||{{{{{{z{{{{z||{|{{|{{{{{zzzz{{||{z|{{zzz{z{z|{{z{{{|zzyy{zzz{zzzz{{|zzzzz{zz{zz{{{{{|{{zz{z{{|{{z{|{{z{zyzzzz{{{z{{|{z{zzz{zz{{{{{{yzz{zzzz{{{{zz{z|zy{{z{zzzz{z{|{{zyzz{zzz{z{{{{}{{{{zyzzzz{{z{{z|zz{z{zzzz{{{z{{|zyzzz{zyzz{{{{|{{{zzzz{y{{zzz{{{z{{{{{{yz{{z{{|{zzzzzy{{{{|{{{{{z{zz{{{z{{|{{{{|z{{{zzz{{|{{{|||{{{{z{z{{|{{|{{{{z{zz{{z{||z{|||{y{{z{{{z|{{z|{z|{{z{{{zz{||{|{|{{{{{{{{|{{|{}{|{{{|{y{{|{{||{|||z{{{{{{{{||{||{{{{{z{|{||||||||{{{{z{{z|}|||}|||z|{|{{z||}|{|||{{z{{z{{{{{||||||zz{{zz|{}{||{|}{{{{{{{|{|{{||||{zy{{zzz{||{{z|{{||zzzz{{{{|{{{|{{{y{zz{z{||z{{|{z{zz{{{{||z{{{{z{{zzz{z{{{{{|{{{{z{zz{zz{{{z|{|{z{zz{zzz{{{{z{|zz{{{z{z{{zzz{{{{{{zzyzz{{{{y{{{{{zzzz{zz{{{z{{{{yzyzzzzzzz{{||{{zz{z{zzz{{z{{|{{{zzzzzzyz{|{{||zyzz{zzy|z{{z{{|{z{zz{{{z{z{{{{|zzzzz{{z|{{|{||{z{z{{z{zz{|{z{{|{{{{{z{{z|{z{||{z{{{z{z{{{{{{{||zz{{{z{{|||{{|{|{z{|{{{z||{{|{}{|{{{zz{z{{|{|||{z{{z|zz{{||||{|{|{z{{{|z|{{||z|{{z|{z{z{{{}{{}||{z{{{|zz||{|{{||{{||{{{{{|{{|}}|||z|{{{z{|{|{|||||{{{{{z|||{|{||{|{|{z{}{||{|{|}|z{{{{{zz||{{||{{{{zz{{|||||{|}|{{z{{{{zz|{||{{{{zz{zzy{z{{|{{{{{zz{zyzz{{zz{|{|{{{z{zz{{{{{|||{|zyzzz{{{{{{{{{{{zz{y{{zz{{{z{{|{zzzzz{z{||{{{{|{zzzzz{y{{{z{{zz{zzz{zz{{z{zz|{{z{zzz{zz{{{{{{{{zzzyz{z{z{{{{{|{zzzzz{zzz||z{|{{zz{zzz{zzz{|zz|zzzzz{{zz{{{zz{{|{zyzzz{z{zz{|||{yz|{{zzz{{{z{|||z{zzzz{{{z}{z{{||z{y{z{z{{{|{|||{|{z{z{z{{{{||{||{{{{{{z{}{{{{{||{{z{{zz{||{||{|{{{{zz{{{|{|{{|{{|{z|{{{{{|||}|{{{{{|{{{|{|{|||||{{{|{{z{{|||||{|z{|||{||}|||{||||{{||{{{|{}||{||{{{z{{{||{|{||}z{{{{{{{{||||||||z{{|{{{||||{}||{{z|{{z{{}{||{{|z{|z{{{{{|||{{{||{{{{{zz{{{|{|||{{{z{{{z{{|{|{{{{z{z{{zz{{{zz{{{{zzyz{{z{{zz|{||z{{{{}{z{|{{|{{{{z{zzzy{z{|{{{|{{zzyzz{z{{{{{|{|{z{z{{zz{{z{{{|{zz|{z{z{{{{z{z{{z{zzz{zz{{{{{|{|{zz{zz{y{{{{{{{{{z{zz|zz|{{|{z{|z{yzzz{{z{{{{{{|{zz{zzzy{{{zz{{|{{z{{z{|{|{z{|||zz{z{{zz{{{|{|{{{z{z|zz{{{{{{{|{{{{{{{{{||{z{{|{{{{z{{{z{|{{||{|{{{|{{{z{|||{{||{{{{{{{{{||||{{{{{{{zz{|||{||||||{{{z{z{|{{|{|||{z|{{zz{|{||{||}{{z|z|zz|||{||{|{zzz{{||{}||||||{{{{{|{{|||||||||{{{{|{{{|||||}}|{||z{||}||||}|||{{{{|||{||{{|}{||{{{{{{|}||{{z||{{z{z{{{|{{{{|||{{{{z{z{|{{{|{|{z|z{{|z{|{|{{z{z{{z{z{{{|z{{z|{|z{zzzzy|z{|{|z{{{{{{{zz{{{{{{|z{zz{{yzzz{{{z{||{z{z{zzz{{zz||{{{{{{{{yz{{{||{{|{{zzyzz{{||z{|{{z{{zzzzzz{{{|y{{{zzy{z{yy{{{|{{{{zz{zz{zz|{{|{{{{{{{zyzz|{|{{{|{{zy|zzzz{{{{z{{{{{zz{{z{{z{z{{{|z{z{zzzz{{{|{}{{{{zz{y{{|{{z{{{||{{zz{{{{{|{{||}{{zzz{z{|{{z|||{{z{{{{{{{}|{||{|zzz{z|zzz{|{{{|{|{z{|{{{{|{{{|{||{zz{z{|||~|||||{|{{{{|{|z||{}}}{{{{{|z{{{{{|||{|{{||{{{{|{|{||}|z|{z{|{{||{|}|{|{{{{||z|}||{|||{z{{{z{{{||{|}||{{{{||{{||{{|{}{|{|{{{{{}{{|}|}|{{{z{|{{{{z||}|{{{{zz|{{z|{{||||{y{z{{{z|{{|{{z{{{{{{yz{{{{{{|z|z{{z|z{zzz{|{{z|{{y{z{zz{{{{z{{|{z{zz{{z{{{|zz{z{{{{yz{z{{{{{z{|z{z{{|{zz|{{{{{|zzzzzzzyz{{zz|{{zzzzzyzzz{{zz{{{{zz{{zzz{{{z{||z{{z{{zy{{{{{{z{{{{{zyzzy{z{{z{{{{{z{zzzzz{|z|z{{{zzy|zz{{z{zz|{{zzz{{yzzzz{{z{|{zzzz{zz{zz|{z{{||{zzzz{z{{{{{{{|{{{zzz{{|{|{|{{{{z{{{z|{|{{{{{|{zz{|z|z{{{{{{{|{|{{{{{z{|z|{{{z|z{{{{{z{|{||{|{|{{{{{|{{{{z{|||||{{z{{z|z{{{|{}||z|{{{{{||{|||{}{{{z}{||{{{}|||||z{{{{{{{}|{|{|||{{{|{z{||{||||||{|{{{{{|{{{|{||{{z{{{z{{{{|||{}z{|zzz{z{{|{{{|||z{|{{{z{|{{|{|{|{{z{zy{{|{|{{{{z{{{{y{zz{{{{||{zz{z{{{{z||{|{||{{{zyz{{z|{z{}||{z{zzyz{{{{|z{{{z{zzz{{|{{{z{{{|{z{zz{zz{{{z{{|{{zzz{zy{{||{{|zzzz{zz{z{||{{{{z{y{{zzyzzz||y{z{{zzz{{{y{z{|{{{{|{zzzzzz{{z{{{{{zz{y{zz{z{{zzz{zzzzzzzzz{{{{zz|||{zz{z{{{{{{{{z{{z{{z{z{{{{|{z{{|zz{{{{{z|z{||{||{zzzzzzz{|{{{}||z{{{{{|z{{{{z||{{{{z{{|{z|{|{{{{{z{z{z|{|{|{|||{zzz|{z{{||{|||||{{{{|{|{||{|{|||z{{{{{{z|{|||{|||z{|{{||||||||||{||{z{{||{|{}||}|{||||{|{{{|{{||{{|{{z{{z|{{|||{{z{|{{|{z{|{||{||{|{z{z{||{{|{|}{{{{{{{{|{{{{||}{{{{zz|z||{{{z|{|z{zz{{z{{z|{{z{z{zz|{{zz{{zz{z{z{{{{zzzz{{{z{{|{yzzz{yy{{{{|{|z{y{z{zzzz{|{{{{|{zzzyyzz{z{z{{||zz{zzz{yz{{{z{{{{zzz{{zz{z{yz|zz{zzy{zz{zz{{zz{z{zyz{zzz{{zz{{{{{z{zzzyzz|{z{{{{z{y{yz{zz{{{{{{|z{{zzzzz{{z{z{z|{{{zz{zzy{z{z{{{|{z{{{zz{{{z{{{{{y{{{zzz{{{{{z{{z{{zzz{z{{|{{{{{{z{{zzz{|{{|{{{|z{{zzzz{{z{{{{|{zz{z{z{z|z||{{||{zz{z{{z{|{{z{{{{{zzz{zz{||{||z|{{{{{{{{|{{{|{|||||{{zzz||{||{|||z{{{|zz{|{||{}|{{{zz{{||||{||{||z{{{||{|}|z{{{{|{{{{{z{{|||{{|}|{z{zz{{{{{|{|{}{|z{{z{{z|||{|{{|{{zz{zz{|{|{{}{{{zyz{zz{|{{|{{{{z{{y{{{{zz||{{|z{z{{z{zzz{{{{{{zzzzz{{{{{|{z{{{{{yzzzz{|{z{{{|{|{{zzzyz{{|{{{{}{zy{{zzz|z{{z|||zzzzz{z{{zz|z|{z|zz{zzzz{|{z{{{zz{zzz{z{zyzzzzz|zzz{|zzz{zz{{{{{{{{zyzz{{{{{{{{{{{{zzzzz{{z|{z||{{z{zz{z{{{{z{{{{{zz|z{z{{{{z||z{{{|zzzzzz|{{{|{{{z{{z{z{z{z|{|{{zzz{z{{{{{{{{{{zz{zz{{{|z{{|{{|{{{{|zz{{|{|{||{|z{z{{{z{{{|{{|{{{z{zz{{|{|z||{{}{zz{{z{{{{|||{|{{|{{{{{{{{||||{{{{{|z|{z|{{|{{|{{{z|{{z{|}|{|||z||{|{||{|{|||||{|z{{||{{|{||{|||{z{{zz{||{|||||}{{|{{z|{{{|||}{|{{{{{{|{||}{|}|{z{{{{{{{|{{{||{||{zz|{z{||{|||z{{{z{z{{{z{|{{{{zz{z{zzy{|{{{z||{{zz{zzzzz{z{{{{{z{z{{zyzz{z|{{|{{{{{z{{z{{{{z|{{z|yz{|{{zz{z{{{z{zzyz{z{||z{{|{z{{zz{zyz{{z{{{{{zzzyzzz{{zzz|z{zy{zyzz{{z{{z{{zz{y{zzy{z{{{{|{{{{zyzyzyy{z{{y{{zyzzzzzzz{{z{zzy{zzz{z{zz|{{z{z{z{{{zzzzzzz||{{{{zz{zzz{zzz{z{|{z{{{{z{z{{z{z{|{z{zzzz{z{{||{|}{{{{{{z{{z{|{{{|z{{{{zzzz{}|{{|}|{{{{{zz{{{|{{{{{}z{{|{{{{{|{{{|{{{{|{{{{|{|{|{||{z{{{{zz{{||||||{z{{|{{{{|{{||{||{|z|||z{{|||{||||{{{{|zz|{|||}||||{z{{{|{{{{||{{z{{z|{{z|{z{{|{{{{{z{z{z||||{|{|z{{z{{{z|{|{|}|{{{z{{{{{z||{{||z{{zz{zzzz{{|z{{zzzyzyzy{{{{{|{{z{zz{{z{{{z{{||{{{zzzzzz{{{z{{{|{zz{{z{{{{||{{{{|z{zz{{yz{z{{|{{zzz{z{zyy{{{z|{{z{{z{{zz{{|zzz|{{yz{z{zz{z{{z{{zzzz{{zzzz{z{{{{zzyzyz{zzzzzz{{{{zz{{zyzz{|{}{{||zzz{{z{{{{{{{z{{{{zz{{{zz|{{z|||z{zzzzz{z{{{{{|{{z{y{yz|{|{z{{z|{{{{{z{z|{z|{{{|zz{z{zzz{{{{{{|{z{{z{zz{z{{{|{{{{{zz{z{z{|{{{{||{{z{z{{z{{|z{z{{{|{{{{{z{{{|||||{|{zzz{{{|{}{}|||{|z{{z{|||||||||{{|{{{{{|z|{{|{}{|z{{{|{|||}|{|{z{|{{|z|||||||{{{{{{z{{|{{|{||||{zz{{y{{{{||{{||{{{{{{{{|{{|}|{{||zz{{{{{|||||z|z{|{{yz{||{{|{{{z{zzzz{|}{{{{z{zzzz{zyzz{{{{z{{z{zyz{zy|{{{{||{z{z{z{y{{zz{|{|z{zzzzzzz{{{{{|{{{{zzzzzy{{{{z{{{zz{zzzzz|{{z{|{{{{{zzy{z{z{zz{{{{zzz{zzzz{{z{|{{{zzyzy|zzz{{{|{zz{zzzyz{{z{{z{|{z{{{zz{z{{{}{|{{zzzz{zz{{{{{{{{{{{zy{zzzz{{{{{{|zy{z{zz{{{{{|{|{{{zz{zzz|{|{{{{{z{|zz{{{{z|{|{{|zzz|z{{z{z{{||{{zz|{{z{{{|zz{{{{z{zz|zz{|||{{|{|{z|{{{{{{{{{|||{|{{{{{{z{|||||}||{zz{z|{{|{}{{||z{{{{{{{|{|{|{||{{{{{{{y{|{{|||||z{{|{{|z||{{}|}|{z{{|{z{|}||||{|{|{{z{z|{|{{}|||{{{|{{{{z{||||||{z|{{||||{}}||{{{{z{z{zz|{{{|||{{z{z{{{{|{{z{z{z{{zzz{zz{z{{{z|z{zzzz{zz||z{{{{{{{zzz{zz{{{{z{{{zzzzy{{z|zz{{|||{|zzzz{z{|{{{{{zz{zzz{z{{|{{{{{|zzzzzz{{{|{{{{{{{{{{z{y{{{zz||zyzz{zzzz{{{{{{{{zzzzyz{yz{||{{{zzzzzz{zz{|{{{|{{{z{zzz{{{|{{zz||{yzzzzzz{{{z{z{{z|zz{zz{{|z|z{{{{zzz{zzy{{{z{{{|{{z{z{zzz{|{{|{{{z{{{z{|{{{z{{{{{zzzyz{{{{{|{{{|{{z{{{{{{{{{|{|{{z|{zzz{|||{{{||{{{zz{z{||{{{{{{{{z{|zz{{|||}{||{|z{{||{||{||||||z{z{{|z||{||{|}{{{||z{{||}||||{{{{z{|{z{||||{|{|{||{{z{z||{|{}||{||{z{||}||||||}{{|zzz{{{||}{||||||{{z|||{||{||{||z{{{z{|||{||{{z{{{{{{{||z{||||{{z|z{z{{|{{{{{{zz{z{zz{{|{{{{|{z{zzz{{{{|{||{|{{{{z|zy{{|{{{{{|zz{zzz||{{{{{|||{zzz{zy{{{{{|z{zz{{{z{z|{y{{{{{{z{z{{{z{{|{{|{zz{{zzzz{{{zz{||{zz{yzy{{{z{{{{|{{zzyyzzz{||z{{{{{{{{yz{{{{{|{{{{{{{{zzzz{{z||{z|{{{{z{zz{{{|z|||z{{{z|{z{{{||{|{|{zz{{{{{{{|{||{{z{z{{{{z{{{{|||z{zz{{|{z||{||||{{{{{yz{{z{||}|{{{{{{{{{||||{{{|{zz|{|zz|||{{|{{|{{{{{{{|||||{{}z{{{{|{{||||||||||{{{{z{{|||||}||z{{{{{{|}|||}||{{||{{{|||{|||}}}z{{{|{|{|}|||||{{{{{z{|{|||{||||{{z|{{|||||||{}{{{{{|{{{|{{}|||{{{{|z{|||{{||}{|{z|{{{{{|{|{|||{z{{zz{{{{{|{{{{{zz{z{{z{{{{{|{||zzzzyzz{{{{{{{{|{zzzz{{{{z{{|{|{{z{z{zz{z{|z{||{{zzzzz{{z{{{{{|z{zzz{{z{{{{{|{|{{{y{{{{{{{zz{{{z{{yyzyz{|z{{{{{zzyzzz{z{z{{{{|zzzyzy{y{{{{z|{{{{{{zzzzz{{|z{{{{zz{{zzzzzz{{{{z|z{zz{{{{{{{{z{{{{{{zy|{zz{{{z{{|{zz{{z{z{{{zz|{{z{{{z{yz{|{{{|{{{z{{zz|{|{||{{{|{{z{|zy{{|||{{{|z{{|{{{z{{{{{|||{{{{{{yz{{{{|||}|||{{{{{|||||{{|{{{{zz{{{{{||{||{{z{{{z{||~{|{|||{{z{{|{{}|{||||{{{|||{|z|}||||{}{{z{{z{{}|{|}}|{{||z{{||||{|||||{{{{{{|{|{|{||}{{{{|{{{|||}{||}|{z|{{{z{{||z{|{|{{{{{{{{|{||{|{{{{y{{{z{|{|{{z{{zzz{{{zz{zz{{{{{zz{z{{y{z{{|{||{zzzzzyz{z{z{|zzzyz|yzzz{{{{z{{{{{{z{z{{{{{{{zz{{zz{z{zz{{{{{|{z{zzz{zyzz{z{z{|{{z{yzzz{{z|{{{{{zzzz{{zzzz|z{{{{{{yzzzzzzz{{|{|{{z|zz{yzz{{{{z{|{{zz{{zyzz{{{|z{|{{yzzzzy{{{{{{|{zzz{z{zz{{|z{{zz{z{|{zz|{{{{{{|{{{z{y{{{{{{{{||zz{{{zzz{z{|{{|{{{{{{z{z{||||{|zzz{{z{{z{{{{|{|{{{z{{z{z|{{{{|||{{{{{{|{||{{z|{|{{|{{|{{||{|||||{{z{{zzz||{|{{|{zz|{{{{{}{|z{|{|{{{{{||{|z{||||{|{|{z{z|||{||||{|{{||{{{||{|||{{{{zzz{{{{||{|{{{{{{||zz{||{|{|||z{{zz|{{{|{||{{||{{|{|z{{||{{|{|{y{zzz{{{{{{{{{{{zzzz{yy{{z|{z|{zzzz{{yzz{{{{{||{zzzzzzz{z{z{{}{{{{{zy{{z{{{{z{|{z{zz{zz{{|{{{{zzy{zz{z{{{{zz{z|{z{{{zyy{z{z{{{{zzzz{{{{zzzzz{{{zzyz{z{zz|{{{{{{{{{{{{z{{{{z{{{{{zzyzy{zz{|{||||{zzzzz{yz{z{z{{z{z{zzy{zz{{z{||{zz{zzzyz{||z{|||{zzzzzzzz|{{{z{{{z{zzz{{|{{{z{|{{zz{{zzzz{|{{{||{{{z{yzz|{}{{{{|{z{z{{{z|{{{{||||{z{{zzz{{{{{|{{|{{{{zz{|{|{{||{z{{{|{z||}{|||}{{{{{{{{y|{||{||{|{z{{{zz|||}||}}{{{|z{|||{{|||}||z|{|{{z||{||||||{|{{{{{|||{{|{|{{|zz|{z||}||}|}|{z||{{{}|||||{|{{zy{{{{{||}|||||zzz{{{z{|{{{{||{{{{z{zz{{|{{{zz{zzzz{zzz{{{||{{zzzzzzyy{{{{{{{|{{zy{zzz{zzzz||{zyzz{yyzz{{{z{{{zzzzzzzy{{{|{{z{{z{yy{{zz{{zz{{zzzzz{zzz{{|{zz{{yzzyzzzzyz{|z{{zzx{zzyzzzz{{z{|z{zzzzzzzyz{{z{{{z{yzzzyyz{z{zzz{yzyzyyzz{z{zzzzz{z{zzyzzz{{z{{}|zzyz{{zz{{{{{||{{zzz{z{y{|z{z{|{zzzzzzzz{z{{|{{{z{{zyzzz{{{z{z{|zzz{{z{{z{{{z{{{{zzzz{y{{{|zz{{{{z{|{z{{{||{{{{{{{{z{|zz{||{{{{{{{{z{|{{z|{|{|{|{{{{{{{{{|||{{|{{{{{{{z{{{|{}{||{{|{{{{zz||{|{|{{{z{{|zz{|{|}|{||{{{{{z{{{||{{{|{{{z|{z{{|z{|{{|{|{z|{z{{{{{{{{{{{{zz{{zz{{{{||||{zz{zz{{||{zz|z{zzzzz{z|{{zz{{zz{yzzzyz{{{{{z{{{zz{zy|yz{{{{|{|{zzz{{yz{zzz|{{{{z{zzzzzz{{|z{{{{{zzzz{yzz{{z{{{z{z{z{{zz{{zzz{{{zzyyzzz|z{{{{z|zz{{{zzz{zz{z{{zzzzzzzzzz{{{{{zzzzzzzz{zz{zzz{|{{zzzzyzyz{{{{|{{zzz{{zzyy{zy{|{{zz{z{{zz{{z{z{{|yzzyz{zyz{z{{{{|zzzzzz{zz{|{{z{|zz{z{{{z{{z{||||{{{zzz{{|z{{{|{{{{z{{z{{z{z{|||{{{{zzzz{|{{{{{{z{yz{{y{z{{{{z|{{{{{{z{{{{|}|{{{{z{{{z{|{|{||{|{}|{zz{{zz{|{|}{{z|{{z{{{{{{{{|{{{{{{{z{{{{||||||{|{{{{|z||||{||{|{{{|zy{{|{|}{||{{z{{zz{z{{{{{{}{|{{{{z{{|{{|||z{z{{z{{{{{{|{{{|{|{{{{{{z{||||{{{z{{z{z{zz|{{|{{zzzzzyz{yy|zz{z{{zzzzz{zz{{z{{{||z{zzzzzz{{{{{{{{zyz{zzz{|{z{z{{{{z{zz{zz|z|{z|z{zy{zzzzz{{{{{{{{zzz{z{zyz{{{z{{z{zyzzzzyzz{{{z{{zzzyzz{zzz{zzzzz{z{zyyz{z{{{{{{z{z{zyyzyz{z|{z|{zz{zzzzzzz{zz{{z{{{z{zzz{{zzz{{{zzzzzzzzz|{{{|{{z{{zzzzzz{z{{|{{{{zzzzzz{z|{|{z|zzz{zz{{{{z|{z||z{z{{zz|{{{{z|{|z{|zzz{y{{{{{{{{z{{{zz{z{}|{z||{{{z{{{{z|||}||{|{{{{{{{{|{z|{|||{{z{|{z{{|{|||}|{{{{|z{z{{|{{|{|{{z{z||{{{{|||||{z{|z{{{{{|{|}|{z{{{z{{{{{|}|{{|{z{z{|{||{|{{|{|{{{{|{z{{|{{{{|{{zzy{{{{{{||{{}|{zzz{z{{z{z{z||{{{{zzz{zz|{|{|{z{zzzzzzz{{|{{{{{{{yzzzzzz|{|z{{|zzzzz{zy|z{z{{{{{yz{{zzy{{{{{{{}{z{yzzzz{{{{|{{|zzzzzzzz{{{zz|{z{z{zzyzz{z{{{{{{zzzzz{z{yyzz{{{{yy|y{zy{{zz{z{{zyzz{z|zzzzz{z{{{zzzzzzzyz{{}{{{{z{z{{zz{zz{{{z{{zz{zzzzyz{{{z{{zyz{z{zzy{{{{{z{{{{yzzy{z{z{{z|{{{{z{{zz{{{||{|{{z{{z{z{z||{{{{z{|{z{{yzz{{{|z{{{{{{zz{zz{{|{|{{{{zz{zzz{{|{{{{{{{{{|{zz{{{|{|{|{z{{{z{{{}|{{}|||}z{{{|zz{{{{z|||{z{{{{{z{|{{|{|{{|{{{|||{{{||}{{||{{{z{{{}{{{{||{{{z{{{|{{|{|{|{{{{{{{z|{||{|{|||{{z|z{|{|}|||||{{{{z{zzz{|z{}{|{{{{z{zz{|{{|{{z{{zz{{{zz{|{z{{{zyzz{zzzz{{zz{{|z{zy{zzzz{{{{z||z{zzz|{zzz||{{{{{z{{yz{zz{|{{|{z{zzzyzzyz{{{z|{|zz{zyzz{z{|z{|{zz{{zzzzy{{{{{{z{zzz{yz{zzz{{{zz{yzzyyzzzz{{{{z{{zzyzzzz{{{{{|{z{{z{zyzzzz{{z{z{{|zzzzzzy{zzz{{z{{zzz{z{zz|zzz{{|{z{zzz{zzzzz{z|||z{{{zz{{{{|{{||{z{zzzy{{{z|z|z{{{|{{z{zz{{{||{{{z|{z{{z{z{{|||{{{z{zzyz{{|{z||{|{zz{{z{{|{{{}{{{z|{{z|{{|{||||{z|{zz{{|{||{|{||{||{z{z{{{|{{||{|z{{{z{z{{|{||{{|{{{{z{{{|{{{z|{{{|{||{{{||||}|{|||{z{{z{|}{{|||{z{|{{z{{||{|{{||z{{{{z||{{{{{||{{{z{{z{{|{||{}|{{{{z{zz{{{{{|{z{z{zzzzz|{|z{{z{{zz{zzzzy{z{{{||{zz{z{zzz{|z{|{|{{z{zzzz{{{{|z{|zzzzzz{z{{{{{{||{{zz{z{z{{{{z|{{zzzy{z{{{|{z{|{{{|{z{zzz{{{{z{{{zz{zyzzzz{{{{zz{zz{zzyz{{{z{z|{{{z{{yzz|{z{z{z{{{zzyyzz{{{zz{{}{z{{zz{zyzz{{{{z{z{zyzzzzz{z{{{z|{zzz{{|z{{|{{{|{{{zzzz{{{{{z|{{{zz{zzz{{{{{|{|{{{z{{zz{{|{{z{|{{{z{{zz{{z|{{|{{|{zzzz{z|{{|||{|{{{{{z{{{|{|{|{||{z{|z|||{||||{|{{{|z{{|{|||{{{|||{{{{{|z}{|||||{{z{{{{{{{||||||||{{z||{|||{||{||||{{{|{{{||~{{|||{{{|z{{{||{||{|{z{z{{|z{|{|{}|{}{{{}{{|||{|||{|{|{z{zz{{{z{{{}|{{{{zz{zz||{{{||{|{{{{|z|zz{{{|{{{zzzzzzz{{{{{z{{{zzzzzz{{{{{{||{{{{zz}z{{{{|{|{{zz{{yz{z{|{z{{z{zzyzz{z{{{{z{{|{{zzzzzzz{{{{{{z{z{{zzyz{y{{z|z{{z{yzzz{zz{|{zz{zzzzzz{zzz{{z{{zz{z{yzzz{{{{{|||{zz{z{zzz{||{{|{{zz{{zzzyz{{{{{|{zzyzzz{z|z{{|z{{zzzz{zz{{{zz{||z{{zzz{z|{|{{||{{z{{{zz{{z{z{|||{z{z{y{{{{{{{{{|{z{{|yzzz||{{||{{zz{{{zz||{{{{{{|z{zz{{{{|{z{||{{{z{|{{{{|{||}||{{{z{|{{{|{|{}}|{{|{{{z{{||{{{|||z|{{{{{}|||||}|||{{{{|z}|z{||{}|z{{{{{z{||}{{|||z{|z|{{||{|z|{{||{|{zz{{{{|||}{||{||{z||{z|{}|{{z{z{{{{z{{|{|{}{{|{z{{|{|||{{|||z{zzzz{{{{|{|{{z{z{zyzyz{{{z{|{{yzzyyz{{{{z{|{{zzzzz{zz{z{{z{|{{zzzzzzz{{z{z{z{zz{zyz{z{{{{z{{{zzzzz{{{z{{z{||z|{zzzzyy{{{z{|z{zzzy{zyyz{z{{|{zzzzzyzzz{{{z{|{{zzzzzzzzz{z{zz{{zzz{zzzyz{{{z{|{zzzz{yzz{{z{z|{{{zzyzzyyzzz{{|{zzzzyz{zyy{{|{z{{zzzzzzz{{z|{{{{|zyz{zzz{z{z{{{{{zz{zz{zz{{|{{|{{{z{{{zz{z{{{|{{{{{zzzzz{{{{||{|z|{{yz{z{{|{z{|{{zzzzz{yzz{z{{|{|zzzz{z||{{{{||||{y{{{{{z|z{{{|}|{z{z{{{z{|{{||{{{{{{{{{{{|{{{||||{{{{|{{{|{|{|{|{{{{|{{{|{||{|{zz{z{{{z{{{|{||{||{yz{zz|z|||{|{{z{{z{{zz{{{{{{|{{{{zzz{{z|{{{{{{z{zz{zzz{|zz{|{{{zzz{zzzz{{{{|{|yzyy{z{z{{{|{{||{{{y{z{{{{{{{{|{{z{z{{zz{{{{{{{||{zz{zzyz|{|z{|{zzzyzzzzy{z{{z{z|zzz{{zz{{z{z{{z{zzzyzz{{{z|{|{{{yzzzz{z{{|{z{zzzzz{zzz{z{{{||{{{z{zzyzy{{{{{z{{{{z{{zzzz|zzz{{|zz{zzzzyz{z{{|{{zyzzz{yz{|zz{{{|{z|zzzz{{zz{{{{|zzz{{z{{z{{{{{|}zz{z{{zz|{|{||{{{{z{{zz{{|{|{{|{{{{z{{{z|{{||{||{zzz{{z{|{|{{||z{|zz{{|{{|{|||||z{|z|{|{{|{|||||{{|{z{{z{|||{|{|{{z|{{{{}{|{|{}||{|{{{{|{|{|{||{{{{z{|{{||||||}|{{{|{|{{||{{|}||{z|{{|{|{||{|{|{{{{{{{z{{|{|{|{{z{z{z{{{{{{{{||{{zzzzzz{{{{{{{{{{{{y{z{{{{|{|{{zzzzyzzzz{{{{{{{|zzz{zzzzzz|{z{{|{z{z{{{z{{y{z{{{{z{z{zzzzzz|zz{{z{{yz{zz{z{{{z{|{z{z{zzyz{{zzz{zy{{z{zyzzzz{zy{z{z{zz{zz{{zz{{{{zz{z{yzy{{{z|{z{zz{zyz{{{z{{{{{{{zzzzzz{z{zzz{{{{zzzzzzy{zzz{z{{{z{zyz{zy{zzz{z{zzzz{{z{{{z{{z{{{{z{{z{zzz{{{{||{zzzzy{{|z{z{{{{|y|zzzzzz{|{{|{|{{{{{{zz{|z{||||{{{zz{z{{{{|{{|z{zz{{zz{||{{{|||{zz{|{{z{z||{{||z{{zz{{{||||||{|{{{{{{zz||{z||{||{z{|z{z||{|||}}{z{z{|{z{|{{||{||{{{{{z{{}{{|}|||{{{{{|{}|{||}||{z{{zz{{{{||||{|{z{{{{{{|{|{||{|{{||{{{{{{|{{{|||{z{{{{z||{|{|{{{z|{{z{{{{z|zz{|zzyz{zzy{{{{z{{{zzzzzzz{z{{{z|z{zz{zzz{z{z{zz{{{{y{zzyz{z{{{yz||yzzyzzyzzz{z{{{{{zzyz{zzz{yz{|{z|z{zzzz{zz|zyz{{{yz{yzzyz{zzy{{{zz{zyz{zz{|{{{{zyzzzy{z{z{{{{{{{zzzz{{zz{{y{zz{|{{zyz{zz{z{zz{z{zyzzzzzz{{{{z|{{zz{z{{zy{z{{{|{zzyzzzzzyz||z{z{{{z{zzz{{{{{{{{{{zzzz{z{zz{zz{||{{{{{{{{z{{{z{{{{{z{{z{zzz{|{{{{{{{zzyz{|{{{{{{}{{{{{{zzz{{{|{{||{zz{zz|zz|{{|{|||{{z{{{{||{{{{|{{zz{{{zz|z|{|{{|{|{zz{{{{|{||{|||{{zz{{{{}{||||{|z|{|{||{{{||||||{z{z{z||||{{|}|{{{{{z{{|{{{}||{z{{{{{{{{||{{|{||{{zzz{zz|{||z||{{{z{{zz{z{z{{z{zzzzzz{{z{{z{z{z|{zzzzzz{|{{{{{{{yzzy{zz{{{{|{{zzzzzzyzz{{{{z{{|{{zzzz{z|z{{{{z|z{zy{z{zyz{{{{{{{{zyzyzz{zz{{z{{zzzzzzy{{{|{z{{|zzzzzzzzzz{{z{||{zz{z{yzz{{z{{{{zz{yzz{zzzz{{{{{zzzzzzzzyz{zz{|z{z{zzyzyz{z{z{|{yyz{{z{z{z{{{|{{z{zzyz{{z{|{{{|{|z{yy{{z{|{z{||{{zzz{z{z{{|z{|z{zz||{z{{z{{z|{{{z{zzz{{z{{{{{{{{{zz|{z{{{{|{||{{zz{zz{{y{||{||{|z{{z{{{||{|{{|||{|z{zz{{z{{|{|}|{{{{{z{{{|{|{{}|{z||z{|{{|||{|||{z{{{{|{{|{||||{{z{|{z|{{}||{{|{{{{{{{z|{{|{|||}{{z|{{{{{|||||||{{{z|{zz{{{z{||{{z{|z{{|{{{{{{{{{zz{{zz{{z{{z{{zzzzyzyzzzz{{{z{zzyzyzyzzy{z{z{|{z{zzzzzzz{z{zz{|z{{zzyzzzzz{{z||zzzzz{zy{{{{z{{|{yyzzzzyz{{{z|z{zzzzzzzzzzzzz{{{zzzzyxyyzzzzz{z{yz{zzxzzy{z{{zzzzzzzzzyz{{{z{{z{zyzz{zzzzzzz{z||zzzzzzzzz{zzz{{{z{zyyzz{{{{zz{{{z{yz{zzyz{{{z{{{z{zzzy{zz{{{{z{{zyz{zy{{{zz{{z{zzzz{zzzy{z{|z{{{z{{{{zzz{z{{{{{|yzy{zzxz{z{||z||{zz{z{zz|{zz{{|zzz{{{zzz||||||{{{{zz{z|{||{|{|{||zzzzzz{{{|}{{{{|zz{z{|z||{|||||{{|{zz{{{{zz{z{}|{z{{{z{{||}||||{{{|{z{{{||{{{{{|z{zz{{z{{|{|||||{{z{{z{|{z{|{{||{{{zzzz{{{{{|||{{zzzz{zz{{{{||{{{zzzzyz{{{{{{{{yzzzzzzyz{{{z{{{zzyzzyzy{z|{zz{{|zzzyzzy{{z{{{{|zzyzzzyzzz|{z{{|{zzzzy{y{{|{{{z|zzzzz{{zz{z{{{{zzzzzyzyzz{{z{{{{zzzzz{zzzz{{z|{{zzyzzzzzz{zzz{|zzzyzyzyzzz{z{{{{y{zzzyzzz{z|{z{{yzzz{zyyz{{z{z{z{zzzzzzzzz{{z{zzzzzz{{zz{zzz{||{zyzzzyyz{{|{{||{zzzz{z{{{|zz{{|{zzz{{{{z{{{{{{{{{zyz{z{yz{{{|{{|zz{{|{{z{{{{{{|z{z{z{{{{{|{z{|||{{z{{yz{{|||{z||{{{{{{{{{z{{{}{}{zz{zzzz|||{|{|||{z{{zz{|||{{||}{z|zz||{{{{}{||}}{z{zzz{z|{||{||{{{{{{z{|{{|{||||{zz{{{{|{{{{{{{{|{{{{{{{{{{|||{{zzz{{z{{{||{{|{{{{{{y{z{{{{z|{{{z{z{z{y|{{{{|{{zzzzzzzyz{{y{{z{zzyzyy{zzz{{{{{|{zz{z{yzz{z|{z{{zyzzzzzzz{{{zzz{{z|zz{zy{{{z{{{|z{zzzzzzzz{zz}|y{z{z{zy{zz{{{{{{zzzz{zzz{{{{z{{|{zz{zzzzzz{{z{{{zzz{zzzy{{{{z{{{zz{zzzzzz{{z{{{{{zzzzz{y{{z{{zz{zzz|{{{zz{{{z{{{zz{zzzzzz|{{{{|{{{{{zzzz{{zzz||{{{|zyzyz{z{{z{|{|{z{{zz{z||{|{{|{{zz{z{z|z{{|{{{{z{z{zzz{{||z{|zzz{{z{zz{|{{{{{|{zz{{z{|{{{|||{{z{{{{z{z{|{|{{}{{{{{{{z{|||{{|{|}z{{|{{{{|{{{{|{{{{|{{|{|||{|{{|{{z{||{{||{|{{|}{z|{z{|{||{{|{|{{{{zz{{{|{{{{|||{{z{{{{|||{{{||{{{zz{|zz{{{{{z{|{|{zzz{z{{{{z{|{{{{zz|z{z{z{zz{{{z{zzzzzzz{z|{{{z{zzzzyz{{{|{|{|{zzzyzzz{z{{{{|{zzzzzzzz{{{{zz|{zzzzyzzz{y{{{z|zzz{yzz{y{{zz{{{{zzzzzz{{zz|z{{{{{zzzzzzzzzzz{{{{{zzzyzz{z{|{zz{{{zz{zyzy{{z{{{{{{z{zz{z{z{{{z{z{{z{|zyzyzz{z{{{{z|zyzy{zz{z{{{{{zz{zzzyzz{{y{{{{|z{{{z{z{z|{{{{{zz{{zz{z{{{|{|{|z{{{z{z{{z{{|{{zzz{|{zz{z||{{||z{z{{{z{z{{{{{{{{z{z{{{z{|z|{{{{{{|{{{{{{{|||}}||z{{{z{{z}|{|||{{{{z{|{{{{|{|{{{||{z||{{{||||{||}{z{zz{{{{|}|{||||{{z{|{{{|{{{|}{{z{|z{{{}{|||||{|zz{{{z|{{|{|||||z{|{{{{|{||{{||{{|zz|z{z{||{||{{{{{z{zzz{{|{|{{z{{zz{z{zz|{{{{|{zzz{{zzz{|z{{{{{|yzyyzy{{{z{{{{{z{zzzz{||{z{{||{zzzz{{zz{{{{{{|{z{zy{{zz{{|z{{{{{{zzzzzz|{zz{{{zyzyyzzzz{{zz{{zz{zzzzzyz{z{z{|zz{{zyzyzzz{zz{{{{{zzzzzzz{{z|{|{{{z{{y{zz{z|zz|z|{z{{yzzzz{z{{{{{{{zzzzzz{z|z{{{{z{zzzz{{{z||z||z{zz{{{z{{{|{z{{{{{{{z{z|{{|{|||{{zzz{{z{{{{{||{|{z{z{{z{||{{|{||z{zz{y{{||{|z||{{{{{z{{{|{{{{{{z{{{{{{{{{{||{{|{{{z|{{{|{{}{||}{{{|{zzz{|{|||}{|{{{zz{z|}|{{|{{z{z{{{{||{|||||||{{zz{{{{|{|||||{{{{{z{{{}||{||{{z{{zz{|{{{{{|||{z{{|z{{|z{{|||{z{|{z{{{z|{{||||{{{z||{z|z|{z|{||{{zzz|{z{{{|{z{{{zz{{zz{{zz{z{||zzzz{{z|z|z{{|{{zzyzzzz{{z|{{{{zyz{{z{yzz{{z{{{{zzzzyzz{|{zzz{{zzzyzz{zz{{zzz{z{zzzzyzz|zz|z{|zzyzzzyzzzz{z{{{z{zzzzzzz{|zzz{{z{zzzzzzzzzzz{{{{yzzzyzzzz{zz{{{z{zzzzyzzy{{zz{{{{y{zzz{z{{{zz{|{z{z{zyzz{{zzz{|{{zz{zyzyz{{z{z{|{{{yzy{{{{{{|||{zy|{zz{z{|{{z{||{|{{|z{y{z||{{||zzz{z{{z||{{z{{{zzz|{{z{{z{{{z{|{{{zz{{{{{{|{||{zz{{{{|{{||||}||{|{{{z{{|{|{|||{|z|z{{{{||{|{{||z{{yz{|{|{{{||{|zz{{z{{{{|{{{||||{{{{z{{{||{{{||{z{z{zz{{|{||||}{{|{{{{{{|||{||||{{z{{{{z{{|{{{{{{{{zz{{z|{{|{{{{zzzzzzz|{{z{z{{zzzzzyzzz{{{{{{{zzzzzzyzzz{z{|z|{{zzzz{z{zzz{{{z{{{{{zzzzz{|{{{{{{zyzzzzzz{{{{z|yzzzzz{zz{{{z{{z{z{zzzzyzzzz{{{{{{yzyzyzz{yz{{z{zzyzzz{z{{{{z{{{zzz{yyzzzz{z{{{{zy{z{{zz{{{{zz|{yzyzzzzzz{{zz{{{|z{zzzzzz{z{z|{zzyzzz{zz{z{{{{|||yz{zzzz{z{z{{||{{{z{zz{{{z{{{||y{zzzzy{{{{{{z||{z{{{zz|{|{{|}||{{z{zzzy{{|z{{|{{zzzzzz||||{{}{{{{{{zz{{|{{|{|{|{{{z{{{{||{||{||{z{{zy{z{{z{{{|||{z{{{{{{|{{{{{|{{|{{{{z{||z||||}{|{{{z{{}{|{|}z|z||z|z{{|{|{||||{{{{z{{{{|{{{{{{{|{{{z{||||{|{|{{{z|{{z{||z|{||{{{{z{z{{{{{{{||{z{yz{zz{{|z|{{{zzzzyyzz{{z{{{{{{zzzzzz{zz{{z|{|{z{yzz{{z|{yzzz{zzz{zzz{|{{zz{{|{zzzzz{y|y{{z{{{{zyyzyzz{{{zy{{{{{{zzzzz{z{zz{zzzzzyzzzyzz{{z{z{zyz{zy{zz{{z|{zzzzzzyzz{z{zz{z{{zz{z{zzz{{{zz{{{zyz{zzzzz{zz{|{{|zzy{zzyz{zzz|{{zy{zz{zz{{{{z{{{zzzzzyzz|{{{{||{yzzz{z{zzz{{z{{{{zzzz{zz{{|{{{{{zz{{z{|{z{z{z{{{z{{{z{{zz{{z}{{{|zz{{zz||||zz{z||{|{{{z|{{{|{}|{{{{z{{{z{|{|{|{|||{{{{z|{}||{{||{{{{{{{{{|{{{|{||{|z{||z{|{|}|{||{z{{|{{{|{||{}{{z{{|{{{|||{{|||{zz{{zz|{{{||}|||{{z{z{{|{{|{||{{z{zzz{z{{z|{||{|{{z{{{z{{|{z{{{{zyz{y{{{z{|{|zzz{zyyzzzzz{{{z{{{zz{yzyzz{{z{{{{{zzzzzzz{{{zzz{{zzzzzzzzzzz{zz{zz{zyzz{z{zzzz{z{zzzyzzzy{zzyz{{zzzzy{yyyzzzyy{{{{zyyzz{zz{yz{{z|zyzyyzyyyzzzz{|z{yzyyzyy{{{y{{{zzzzyyzzzz{{{z{{{zz{zyyzyyz{y{zzzzzzzz{zzzzz{z{{{{z{yyzzzz{{{{{{z{{z{yzyzz{{|{y{zz{zzzzzyz{{{{{{{zz{zzzz{{z{zz{{zzz{y{zzzz{{{{{{{y{z{{zzz|{|{z{{{{z{z{zzz{|z{z{{|{{|z{{z{z{|{{{{|{{z{{zz{{{{|{||||z{|{zy{{|{|{{{z{z|{{zzz||{{|{|}zz|{{{{{z|{|z||}|zzz{||{{}{|{{|{|{|{zzzz|{|{z|{{{z{z|y{{{|{{|{||{z|{{{zz{{{{{||{{{zz{{zzz{{{{{|{{{{{zzz{{{{{||{{{zzz{z{z|{z{|{z{zyzz{yzzzzzzzzz{zzz{zyzy{z{z{{y{zzzy{z{z|z{{{z|z{zzzzzyzz{{z{zzzzzzxyz{yzzzz{{{{zzzyzzzzz{{zzz{{{yzzzzyzzz{{z{zzyzyyyzz{y{{{zz|zzz{zzyyzzz{zz{z{yy{zzzyz{|zzzzzzzzzzzzzyz{{z{zz{zyyzzzzzzz{{z{{zzy{yzyy{zzz{{z{{{zzz{{yzzz|{{z{{{zzzzzzzz{{zz{{|zz{zzyz{zzz{{{{{zzzzz{{z{zz{{{z|z{{z{zz{z{{{z|yzzz{z{z{y|{{{{z|{zz{{zz{z{{{z{|{{{z{z{{z{|{{}{z|{{z{{z{{{{{z{{{{|{{yz|zz{||{{{{||{zz{{{{{|}{{|{|{{yy{z{{z{{z|{|{|{z{zzzz{{||||z|||zz{z{{{{{{{{{{{|{zzy|z{z{|{{{{{z{z{{zzz{{{{{|{{z{zz{zz{{{z{{|||zzzz{{{zz{z|zz{{{z{zzz{zz{{z{{z{zyzzyzzz{zzz{z{|{zzz{z{zzz{z{{z{{{zzzzzzzzz{{|{{zzzzyzyzzz{{z{{zzz{zzyzzz{{{z{{zzzzzzzzzzz{zz{z{zz{z{yxz{{{yzz{zzzyzzzzy{zz{z{{{zy{zz{yzz{{{zz{{zy{y{zyzz{{{{{{{{zz{yzzzz{{yz{{zzzzyzyzzz{{zz{{zyzzzz{zzzzzz{{{{z{zy{zzyz{z{|{{{|zzz{zzz{{{{{{{zzz{yy{zz{z{z{{{|{zzyyz{zz|{|z{{{{zz|yzzzzz{{z{{{{{{zz{{zz{|{{{{z{{{{z{z{|{|{{{||{{zzz{zz||{{|}{{zy|{{{{z{|{{{||}z{{|zz{{{{{|{|||{{{{{{z{{||{||||{|{z{{{|{{{{|{|{{{{{{{z{|{{|{{||{z{{{|zz{{{{|||||{{|z{{{{{|{|{|{{|{z{{z{||||}|||{|zy{{{z{|z{|{|||z{{{z{z|{||zz{|{{{{{zzz{{|{{{z{zzzzz{{zy{{z{{{{zzzzzzzzzz{z{{{|{zzyzz{zz{{{{z{z|{{z{{yz{{{{z{{{zzzzz{zyz{z{z{{{z{{yzz{zzz{zz{{{z{z{zzyz{{{{z{z{zzzzzyzzzz{zzz{zy{z{zzzy{{z{z|{{zyzzz{zz{z{{{zzzzz{yz{zz{{{|{{|{z{zz{zzz{z{z{{{{z{{y{z{{zz{{{|{{zz{z{zzy{z{{y{|z{{zzzzzz{{{zz{{{{z{z{z{zzzzz|{{zzz{zz{{z{{{{{{y|{{|{z{z{{{{|{{{|{z{zzz{z{{{|z|{|zzz{{zzz{{{zz{z{{z{{{{{{{{{{||{|z{{{z{z{{{||||}}{{z{{{{{z{{{|{|{{{|{||{{||||||{|{{{zz{|{{{{z||{{|{{{{|z{{|{|||||{z{z{{z{|||{||||{zz{z{z{{{z{||{}{{{{{{{|{||{||{|{{{z{zzz{|{{z|{|{{{{z{{yz{{|{{{|{{{z{zz{{{|{{{{|z{zzzyzz{z{{{z{|{{{zzzzy{z{{{{{{{{zzz{zy{{{{{{{{z{{{y{{z{{zz{{}{z{zzzzzz|z{{{{z|zyzz{{zz{{zz{{|z{{zzz{yzz{|{z{z{zzzzzz{zzyz{zz{{zzzz{z{z{{{y{z{{z{zzzzzyzz{zz{z{|zzzzyzyzz{z{{|{zzzzzyyyz{{zz{{{{{|yzzzzz{{zz{{{zzz{zz{z|{{{{||{{y{z{{z{{{{z{|{{{{{z{zzzzz{z{{{|{z{zzz{z{{{zz|{{zzzy{z{z{|{{|{{{z{{z{{yz|{{|{{{|z{zzzzz{{{}z{{z{{z{{|{zz|{||{{||{{{z{{{||{{|{|||{z|z{{|{|||{||}z{{{zzz{{||{|{}|}{zz|{{||||{{{||{{{{z{{z|{||{{|}}{{|{z{{{|{{|||||{z{z{zy{{|{{|{|}{|{{{{z{{|{{z|||{z{{{{{{{|zz|||||{zz{{{{z{{|{{|{{z{yzzz{|{{{|{{|z{{zzzzzzzz{{{{{zzyzzzz{{zz|zz{{zz{yzz{z{{zz{{zzzz{{z{{zz{{{{zz{{z{zyz{z{{{{{{{|zz{zz{zz{{|zz{zzzzzzy{xzzz{zz{{zzzzzz{z{{zz{z{z{zzzzzyzzzz{zz{{{{zyzz{zz{z|{{|{{{z{{zz{zz{{|{z{{zz{{{zzzz{z{{z{{{{zzzzyz{{{z{{{zzyzzzzzz{{yz{{{{{zz{|y{z{{zz{{{{{{{zzzzz{z{z{{{{{{{{zz{{{|{{{{|{z{z{zzzzz||{z{z{z{yz{{zz{||}|{{{|zz{{zzz||{|{|z{|{|{z{|z{{|||{||{{|{{{{{|{{}{{||{zz{zz{{{{{||||{|{z{{z{{{}|{{{|||{{{{{{|{{{|{{{{|{{{{{{{{}{{||||{{z{{z||{{{{|||||{zz{{z{|{{{|{{|{{{{{{{{{{{{{|{}{{zz{{zz{||{{|||{zz|{zz{{{|{|{z{z|zz{{zzz{|{{{z|z{{z{{yz{||{z{{{{{z{zzzz{z{{|{{z{{{z{yz{{{{z{z{{{{z{z{zz{{|}z{{{{{zzzzzzzz{z|{z{{{zz{y{zz|z{z{zz{z{zzyz{{zz{zzzzzzzyz{zz{zzzz{{{zzzzzyzz{{{{{{{zzzzzzzzz{z{z{{{z{z{zzzyz{z{z{{{{{{{{{yz{z{|zz{|{{zzzzz{zz{zz{|z{{{{zz|zz{{{||{|{{zz{{z{zz{z|{{{{z{{z{zzz{{{{{{|{{z{zzzz{{||{{{||{{zzz{zzz{z{{{z{|z|{{zz{|||{{{{z{{{{z{z{{{|{{|||{zz{zz{z|{}|||{{{|{z{{|z{{{||||{{z{{{z{{{|||}||{|z|{{{{z{{|{||}|{{{{{{{|{|{{{{{|{{{z{{{{{}|{|{|{|z{{{{|{|||||||{{z{z{|{{{{{|||||{z{{|{yz{z|z|{||{{|z{{z{{{{{{{{{{|z{zz{z{||{{{{{z{{{z{z{|{|{z|{zzzyzzzzz||{{|{{{{zzz{zz{{z{zz|{{z{{yz{zz{{{{{{{|zzz{yzzzz{{{{{{|zzzzzzzz{zzzz{{{{zzzzyz{z{{{z|{{{zzzy{zzz{{{{{{{zyyzzzzzzz{zz{{z{zzzyzzz{z|{{{{zz{zz{zzzz{{{{{z{zz{{yzz{z{{|{{||{{z{zzzxzz{{z{{{zz{yz{{z{{z{{{z{yz{zzz{y{z{{{{{{zzyzzzzzz{{{{{{{{zz{yzzy{{z{{|{{zyzz{{zz{{|{z{{{{z|z{{zz{{{{{z{{{z{{zzzzz{|{{{||z{z{zzz|{{|z{{{{{{zz{{{{{{|{|z|{{{{{{z{z||||{{|{{{{{{yzz|{|||{|||z{|{{{|{||{{}|||{{{|||{{|{{{||{|{{|{{{{||{{||{|{z|z{{zz||{{||||{z{|zz{{{|{{||||{{{{{{{|{||{{{|{|{zz{{{{{|{|{{||{{zz{zz|{|||{{{{|{zz{zzz{|{|{zz{{{z{yy{z{{{zz{{{{yzzzzzz{{z{{{z|zzzyzzzzz{z{{{|{zzyz{{{{{{{zy{{{{zzzzzzzzzz|{{{{{|zyz{z{z|{z{z{z{{{zzzzyzzzz|{z{{y{zy{yz{{z|y{z{zz{yyzzzzz{{{{{{zzz{zyzyz{{z{{z{yyyzzzzyzzz{|{{zzzz{zz{y|{zzzz{z{zzz{z{z{{z{{{{{{zyy{zyy{{{{{z||z{{zzz{z{z{zz{{{zz{z{zzzzzz{|{z{{{{{{zz|z{{z||{{z{{{zy{|{{{{{z{{zz{z{{z{{{|{{z{||zz{{y{{{|{|z{||{{{{z{z{{{|{|{{{{{{{{{|{z{{|{}||{{zz{z{z|||{{{{{|z{{{||{||{{|||{{z{{z{|{{||{||||{|{z{|{{{}{{z|{{|z{{|{z{{{z{|{{||yz{zz{z||||{|||{{{{{|{z|||{{{||{z{zz{|{{||{|{{|{{{|zzz{{||{z{{|{{zz{y{{{{{{{{zzzyyyyzzz{{{{{{z{{yzyyzzz{zzz{{{zzzzzz{zzzzz{z{{z{zzzz{yz{z{{zz{{zzzzzzzyz{{{{{{|zzzy{zzzyz{y{{zz{yy{{zyzz{{zzzy{{{zzyzyzz{zzz{{{zzzzzzzyz{zz{z{z{zzzz{z{zz{z|{zz{{|zy{{yz{z{{z{|{zzzzzyzz{{z{zz{zzz{yzzzzzzz{{{zzyzzzzzz{{{{z{|zzzzzzz{z{z{zz{{{zzzzzzzz|{{z{|{|zzz{zyyy{z{{{{||{zz{{yyzz{{{|{{{zz{zzzz{|{{{{z{{{zz{zz{zz{{|{{|{{{z{{z{z{{{|||{|{z|z{{{{{z||{|{{{z{{zz{{{|{{|}{z{zz{{z{z||{{||{{{z{z{{{{{{{{||{|{{z|{{{||{||{||{|{{{|zz{{{{|{{}||{z{z{z{{{|{|{|||z{{{|{zz{||{|{{zz{zzz{{{|{{|{|{z{zzz{{zzz||{z{|{{zzz{z{{z{z|{|{zzzz{zzzz{zzz{{{zzzzzzzzzz{z{|{{z|zzzzzy{{{z{z{{zz{zzzz{{{{y{{{{{{zyzyzzz{|{zz{zzzzz{z{{z{{zz}{zzzzzzzy{{{{{z{zzzzzyyzzzzzz{zz{{zxzzyyyzz{|{zz{zz{{yz{yzz{zz{zzzzzzz{z{yz{z{{{|{zzz{zzzyzzzzzz{|{z{zyzzzzz{|z{{{zzz{z{{{{{{zzz|{{zzzzzz{{{{z{z{{z{|z|z{z{{z{z{{{y{{zz{z{{z{{|{|{{zz{zz{{z{{{z{z{{{|{{{z{{{{{{z{|{{zzz{{{{|{|{{|{z{z{{{{z{{{|||{{z{{z{{{{{z{{|{{|{{|z|z{z{{|{{||z|{zy|z{z|{|{||{|z{{z{z{{{{|{{||{|{{{{{{{||{{|||{{{|{z{{{{|{|{||||zzz{|{z|{{{|{|{{zz||{{{|{{}{||{{{zz{{{{{||{{|||{zz{z{{{{z||z|{{|zyz{z{z|y|{z{{zz{z{zz{y{{|{zz||z{z{zzzz{|{z{zz|{{zzyzzy{{zz{{|{zy{zyzzzzz{{z{{{{z{yyzzzzz{{z{{zzyz{yzzzz{{{{{{z{{{yzyyzyz{zz{z{yyzyzzzzzyzzz{{{yzzzzy{zz{zyz{{{z{zzyzy{zz{z{{{{zz{yzzzyzzz{z{|zzy{zzzzzyyzzz{{{zzz{zzzzy{z{z{{{z{zyz{zzzz{{z{|{{{z{{zzzz{{{{{{{z|{{zz{{zz{{z{|{z{{zzzzzz{{{{z{|zz{{|{zz{|z{{{{z{zzz{{y{{|{{{{|zz{z{z{{z{|{|{||||y{z{{{z|{{{{|{{{{{zz{{{|{{|{{||z{{{z{z{{{{|z{{{{zz{{zz{|}}{{||||{|z{z{{{{{{{{}|{z{{zz{{z|{{|||||z{|{{{{{{|||||||yz{{{{{{{{|{{{{|zz{{z{{{|{{{{{||{{z{zzz{|{|{{z{|{{{z{zzz|{{z|{{{zzzzzzzz{{{{z{{{zzzz{zyz{{{{{{{z{yzz{{zz{{{{{{|zzzyzzzzzyy{{z{{z{zzzxzzz{{{{{{{{zzyyzzyz{zz{{z{zyzzzzzz{z{z{{{{{yzzzyzyzzzzz{{{yzzzzyyzzzzzz{zzzzyz{yzz{{{zzz{zzzyzzzzzzz{{zzzzzzzzzyzzzzz{{z{{yzzzzzyx{zz{zzz{{zz{yzzyyz{yz{{{zzzzyzzzzz{{{z{{{y{zyzzzzz{{zz{{{zzyzzz{{|z{z{|{z{{zz{zy{{{{{{{{{z{{zy{zzz{{{{{{{z{{zz{{{{{{z{{z{zzz{zz{{{{zy{{{z|{z{{{z{|{{z|}{{zzz{{{{||{{{|||{z{{{{zz{||{{|{|{zzz|zz{|{{|||||{z{{zz{z{{{{|{{|{{{zzz{{{|||{{||{{z{{z{{{{{|{||{|{zzzz{{z{{{{{|z|{{{|{z{{{{|{||{{{{{{{zz|{{|z|{{{zzzzz{{y{z|{{|zzz{z{zzz{{{|{{{{{z{z{zyz{z{{{z|{zzy{z{z{{{{{{{{{|zz{y{zzzzz{|{{|{{zzzzzzz{{zz{{z{{z{yzzz{{|{{{{|z{zzzyzyz{{zz|z{{{zzzzzz{z{{z{z{zz|zy{zyzyz{zz{zyz{zzz{xz{z{{{z{{zzzyzyzz{z{{z{zzzz{zzz{zzzz{{{{{{zz{zzzzz{z{zz{{{{yzyz{z{{{{{z{zzzzy{{zzzz|{{{{{zz{{zz{{{{z{{{|zz{zzz{zz{z{||{{zz{{{{zzz{z{{{{|zz{z{z{z{{zz{||{|zzz{{y{{{{{{{{|z{{{{zy{|{z{z{z{|z{z{{{z{|{|{}|{{{z{{{{||{|}||||{{{|z{z{||{{}{|{|{zz{{{z{||{||{|{{|{{{||{z{{{{|}{{|{{{|{|}|{|{|{|{{{z{|{z||}{|||{{{|{|{|||||||{}|{{{{z{||{||{|{{z{z{{{zz|{{{{{|{|{{|z{{zz{{{{{z|{z{z{z{{{{{{{{{z{{z{zyzy{{z{{{z|z{{z{zyz{{|{{{|{{{{zy{{{{zz|{z{{{{{z{zzz{{{z{{{{{zzyyzzz{{{{z{{{{z{{yzzzz{zzz{{{{{{zyy{zz{{yz{zzzzyzzzzzz|{zz{{{{{zyyyzzy{{z{{{{z{zzzzz{z{{z{{|{|z{yyzzyz{z{{z{{zzyzzzzyy{z{zzzz{zzyy{yyz{z{z{{{zz{y{{zy{{{z{{{|zz{{zz{z|{zz{{{{{zz{z{{z{{{z||{{z{zyzzzz{z{{{{{|{z{{zzzz{{z|{{{{{{zyz{{{{{{{{z|z|{y{{{|z{{|{z|{{}{zz|zzz|{|{{{{||z|z{{{||{|{||||{{z{|zzz|{{{|{|{|{{{{z|{|{{{{{||{z{{z||z||||||}|{{|{z{{{||||z}{{|z{{z{{{|{{{z||}|{z{{{|{||{{|{}||{{{|{{{{|{|||{{{{{z{{|{z|{|{||{{{|{zz{z{z{|||{|{{{yzz{z{z{|{y{{zzz{yzzyz{{z{z{zz{zzzy{z{{z{z{{zzzyxzzzzzzz{{{{{zzzyyzzzy{{{z{{z{zyzzzyz{zz{|zy{zzzyzzyzzzzzzy{z{zzzyzzzzzzzzzzzyzyxzzyyzzy{y{{{yyyyzyzz{{{z{{{z{yzyyzyz{{{z{{{{zzzzyyyyz{{zzz|{zzzz{yzzzzzz{{zzz{yyzzzyy{yz{{{zyz{yz{zyzz{{{{{{{zzzzy{zz{zzz{{{{y{zyzzyzz{{z{{{{zyzzyzzzz{{{{|{zyz{zzzzz|{{{{{zzz{zzz{{{{{{{z{{zzz{zzz|{{{z{{{{zzzzzz{{{|{|z{|{z|z{{z{z{zz{z|{|z{{{{z{z{||{|{|{zzzz{{zz{||{{{|||||zz{z{zzz{{|{|{{{z{{{{{|||{{|{|z{{z|zz|z{|{{{|{zz{z{{z{{{{|{||{z{zz{zz|z{{{{|{z{{zzz{zz{{{{|{|{{{z{zz{{{||{{{{z{{z{z{z{z{{{{yzz{zzzzyzzzz{z{zz{zzzyyzyzzzzz{{zzzzyzzzyzzzy{z{{zzzyyzyzzzzzyzz{{zzyy{zxzzzzz{{{zzzyyzyyzz{{z{zzzzzzzyyzzy{zy{z{zzzyyzyzyyzzyzz{yzzyzyyyzzzyzzzyzyzzzzzz{zzzz{z{zzzzzzyyz{{{yz{zzyzyzzzyzyzzzzz{yyzyyzxyyyz|yzy{zzzzyz|yy{z{{{{zzyyzyyzzz{z{zzz{zy{zyzzyzz{zz{{{zyzzzyzzy{z{z{{{zz{yzzzyz{{zzz{zzzzzzyzz|{{|z{{{{zzyzyyz{{z{z{{{zyzyzzzz{{{|{z{{zzzzz{y{{{{{{z|{{z{z{zzzz{{{{{|{|z{z{zzzzz{{{{||{z{zzz{{{{|{z{|{{z{{{{zz{||{|{{z{zy{{{{{||{{{|{z{z{{{z{{{{{zz{||{zzz{{z{{{{z{|{zz{{yyzzz{{z{z{{|z{zzyzyzz{{{z{z{zzzzzyzy{{{zz|yzzzyzyyyz{zzzz{z{zz{{zzyzzzzz{zz{zzzyyzzz{zzz{zzzzzyzyy{{zzzzyzz{yzzyyzzxzyz{zz{{xyyyzzzyyzyzz{{z{zzyyyzyzzzyzzzyzyzyyzyyzy{y{{{zyzyyzyzyy{{yz{yy{yyyzzyy{y{zz{{zyzzyyyzyz{z{{z{{{yzzyy{yzzzzz{zzyzzzy{{xz{{zz{{zzyzyzzzyzzzzzz{zyzzz{yzzz{{zzz{{z{zzzzyzz{zyzz{|zzzzyzzzzzz{zz{{zz{zzyyzy{{{|{|zzyzzzyzzz{{{{z{{{zyzzyyz{{z{zz{{zzzz{zz{{zz{|{|{{zzy{zzz{{{|{{{{z{z{{yzzz{|zz{{{{{{z{zzz{{{{{{{z{{z{zz{z{{z{{z{z|y{zz{zzy{{{||{{z{zzzz{{{{z{{{{{zyzz{z{|{{{{|{{{|zzz{xzzz{{{{{{{z{z{{zzz{{z|{{{|zzzz{zzzzz|{z{|z{zzyyzyz|{{{zzzzzzyyzzyyyyyz{y{zzzyyzzzzzz{zzzzzyzyzzzyy|zz|yzzyyzyzyzyzzyz{xzzzzzzyzyyyzzzzzzzz{zyzzzyyz{{zy{{{zzzzyxzzzz{{y{{yyzzzxzzyyyyyz{z{yzyxyyzyyzzzzzzzzzzzyzzzzz{z{zz{zzzyyyzyyzzyzz{zzyzyyyyzyzzy{z{yyyzzyyyyzzzzz{zzyz{yyzyzzz{yz{{|z{zzzyzyzzz{z{z{zzy{zx{yz|{zz|{zyzzzz{yz{{{zzz{{zy{yyyzzyz{{zzzzzz{zzzzzz{{{{{|z{yzzyz{z{z{z{{{zzzy{zzzz{zz{|{{|zyzzzzzy{zzz{{{{{z{z{{yy{z{{{{{{{zy{zyzy|{{z{{{{zz{zz{z{{{|z|{{z{{z{zz{y{{{{z{z{{z{{zzzzzz{{z|zz|zzz{{zz{{{{{zz{z{{{zz{{{{{{{|{{{zzzzz{yz{{z{{|{z{zz{{z{z{{{{{{zzzzz{zz{{z{{zzzzzyzzzyzzzz{zzz{{zyzz{yyzy{{z{{{{zyzzyzzy{{zz{z{{zyyzzyzyz|zzzzz{z{yyyzzyyz{zzzz{yyzyzyyzz{yzzz|{{yzyzyzzzyzz{z{{zyyyyzyy{zzz{{{zzzyz{yyz{z{{{{zzzz{zzyzyzz{z{zzzzyzzyyyzz{{{zz{zzyyyzzzyyy{z{zzzyzzyzzzyyzzy{{z|{yzzyzzyzz{zzz{zyzyyy{{zzzzzzzz{zzzyyzzyzzzzzzz{{zzzz{zzyz{z{|{{{yzzzzzy{{{z|{z{{zzzyzz{zz{{|{{zzzzz{zzzz{z||{|{zzzz{z{z{{{{{{|{{zz{|{{{{{{||||z{{z{{{{z{{{{|{|{|z{{|{{{|{||{{{|{zz{z{z{{{{|{{{{{zz{zz{z{{{{||{{z{z|z{zz|{{{z|{{zz{z{zyzz{z{z{|z{{zz|z{{|{z{{{||zzzzzzzzz|{{{{{{{zz{zzzz{{z{{{zzzyzyzzzzzz{zz{{zzyz{zyzzzz{z{{{z{zy{yzzyzy{z{{{|zzzzz{zz{z{{{|{{zzzyzzzyy{{{yz{{zzyyyz{yz{z{z{zz{yyzyzy{zyzzz|{{zzzyzyyzzyy{zzzzz{zyzzzzz{z{zzz{zzy{zzz{zz{zz|zzzzzzzyyzzzzz{{|zz{zzzzzyy{zzzz{{zzyyzyyzz{zzyz{zzyzzyzzz{{{{z{{z{z{{zzzz{z|z{{{{zzzzzz{yy{{{{zzzzzyz{xyz{{{zz{{{yzzzzzzzzz{|z{{|y{{zzyzz{{z{{{{{zy{zzzyzz{{y{{{zzzz{{zz{{{{zz{{{z{{zz{y{{|{{{|{|{z{z{{{zz|{{{|{{{{z{{{zz{z{|{|{{{zyzz{z{{|zz|||zz{{zz{z{{|z{|{|{{{{zz{{{{|z|{}|||{{z{{{{{z{||{{|{{{z{{z{zz{{{|{{{{{z{{z{||}{{{{{{{zzzzzz{{{{{{{|zzzz{{{{z{z|zz{{{yzzzy{zz{zzz|z{z{zzzzzzzzz{zz{{zz{zyz{y{z{z{{|zzy{zzzzz{yzzzz{z{yzzyzzyz{{{zzz{zzyzy{zy{z{zz{z{{zyzzzyy{{zzz{zz{yzzyyyyz{zzy{z{y{zzzzyzz{{zz{{zzyzyy{zyz{z{z{zzz{{zzyyyzz{yzz{|yzy{yzzzz{z{{{z{zz{zyyyy{z{{|zz{zzzyyy{yz{y{y{{{{y{zzyzzz{y{{{z{zzzz{zzy{|z~{z{{{y{zzzzz{yz{zz|{zzzy{{{zzz{{{z{{{zyz{zzz{z|{{z|zzy{z{{zzz{{z{{|{{zzzz{zz{{z{{z{{zz{zz{z{{{{|{{{{z{{{{z{{{{{||z{{zzzzzzyz|{z{{{{}z{{{{{z{{||{{||{{z{zz{z{{{z|{|{||{{zz{{z{|{{{|||{z{|{z{{{z{{{}z{zy{{zzzz{{z{{z||z{{{z{{z|{{z{|{{{zzy{zzzz{{{{{{|{{z{z{yz{{{{y{{{zzzyzzzzzzzz{{y{{zzyzzzy{z{zz{z{zzyzyzyzz{{{zz{zzzyyyzz{{{{z{z{{zzyyzyyzz{zzzz{{zyzyyyzyzzzzzzz{zzzzzyzyzyzz{{{{zzyyyyyz{{zzz{{zzzyyyyyzzzz{z{z{xyzzyyzyzzzzz{zzzzyzy{yzyzzyz{yzzzzyyyzy{{{zzz{|zyzzzyzyy{yzy{zzyzzzzyzzzzyzzzz{zyzyz{{yzz{{{{{zzzyyzyyyzzz{{{z{zz{zyyz{z{{z{zz{yzzzzzzz{|z{zz|{zzzzzy{{z{z{{{zzzz{yzzz{{z{{z{{{zzyzzzyz{{{z{{{zz{{{z{zz|{{{{{{|zzzzzz{{z{{{{{|{{{yzzzzz{{{{{|{{{zz{{zzz{{z|{||{{{zzz|z{z|{{zz{|{z{zz{{z{|{{{|||{{{{zz{z{{{{{z{{{zzz{{z{{{{z{|||{{{zzzzz|{z|{{{{zzzy{zyz{{z{z|||{{z{zz{zz{{zzz||zzyzzzzzzz{z{{{{zzxyyyyyzyzzzzz{z{zyzyyyyzyz{zz|zzzy{zyyzyzzzz{{yyzzzzyyyz{z{z{{{yxyxyzyz{z{z{{zzyzyzzyzzzyzyzzz{yzyyyyyzzyzzz{zzzyyyzyyzzyyyzy{yzyyxyyyy{zzyzzzyyyzyzzzy{zz{y{zzzzyyyzyzzzzzzzzyzyyyyyyy{z{zzzzyyzyxyzzyzz{z{{{zyyzz{zyz{zzzz{zzzzyzyz{z{zyz{{zzz{{yyyzzzzz{{{zzzyzyyyz{{zzzz{zyyzzzyzzz{zzz{z{zzzzzzzzz|{yzz{zzzzzyzy{z{yz{z{|zy{{z{z{z{{|zzzz{{yy{z{z{{{zz{{{{zzzzyzyy{z{{z{{{y{{z{zy{{{|{{{{{z{{{{zzz{z{z{|{{yz{z{z{{{{{z{{{{{zy{zz{z{{{{{{|{zz{{zzz{{z{{|{{|{zz{zz{{z{{{{{{zzzzyzzzy|z{z{||{{z{zzzyz{{zz{{{yzzyzy{yz{zz{{{zzzzy{yzyy{zzyz{zyzzzyyyyzz{zz{{{zzzzzzzyzzzz{{zzyzyzzyzzzzz{z{zz{zz{xyzyzz{z{zzzyzzyzzzyzzzzyz{zyzzyyzxyzzzzyz{{zyzzyzzzz{zzz{z{z{zzzyzzzzzzzzyzzyyyyyyyzzzzzz{z{yzzyyzy{{z{z{zz{{zzzyzyx|zz{{y|zyzyyzyyyzzzz{{{yy{zzy{z{z{zz{z{xyz{zzzzz{{{{zzzzz{{yzyzz{{{{z{|yyzzzzzz{{{zz{{zzzz{zyzyz{z{{{{zzzzyz{z{z{{{z{|{{zyzyzzz{z{z{{{zzz{y{yz{{z{{|{|{zz{z{z{{{|{z{{||zz{z{{yz{|{|{z{{zyzz{zyz{|{{|{|{{zzzz{{{z{z{{||{{zzzz{z{{|z{||{|z{{{{zzz|{{{{{{|{z|z{zzz|{z{z{{|zzzz{{zz{{{{z{|zz{z{{zz{z{{{{{{|{{zzyzzyz{{{zz{zzzzzzzzzz{{{z{{zzzzzzyyxzz{zzz{{zzyzyzzzzyzz{zz{yzzx{yzzy{zy{{z{zyzzzyzyzz{zz{z{{zzyzzzyzzzzyz{{zyzzyy{yzzzyy{{yyyzyzyyzzzz{zzzzyyzyyzyzzzyzz{{zyzzyzyzyyz{zyzzz{yyyzzxyz{zz{zzzxzyyyzyzzzzz{z{zyzyzyyyyyzz{z{zzzyzzyzzy{zzz{zzzyz{zzzyyyzy{{{{{zzzyzzyzz{{z{z{{zzzzzyzy{zz{zy{zzzzzyzzyzzzzz{{{zzyz{y{{{zz{{z{z{zzzz{yzz{{yz{|{{{zzzzzzz{|{z{zzzzzzzzzy{z{{z{z{zz{{{z{{{{{{|{{|zzzzzzz{{{{{zzz{|yz{zzz{z|{||z|{{{{yzz{{{|{{|{z{{z|z{z{z{|{{{|{{|z{{zyzz{{z{|{{{{yzzz{z{{z{|||{|{{zz{zy{{{{z|{{{zzz{yz{{z{{{z|{{{zz{yzzzzzzzzzz|{zzzyzzzz{{{{zyzyzyyzyzyy{{{{{{{z{yzyyyy{zzzz{{{yzyzyyyy{yzzz{z{zzzzyyyzzzzzzy{z{{yzyzzyzzzzzzzzzyzzzyzzzz{zz{{zzzzxyyyzzyzyzzy{{zyyyzzz{z{{zz{{z{zyzyzyzz{zzz{zzzy{zzyyz{zzzz{{zzzzyyyyzz{zzz{z{yyyyzzyy{{zz{zzzzyyyyzzzzzz{zzzzzzzz{yyz{z{z{{{zyyyyzyx{{zy{z{{zzzyz{{{{zzz{|zzyzzyzz{zzz{{z|{zzz{z{zzz{zzzzzzzz{yzzyzzz{{{yz|{{{z{y{zzzzz{{zz{{zzzzz{z{{z{{z{zzz{{z{{{{{z{{{|{{zzzzz{{{|z{{|{|zzzzzzzz{{|z{|||z{z{{|{z{{{{z{{||zzz{z{{{{|{{{{||z|{z{{{{{z|{{{z{zz{zzz{z}{{{{{{{zy{z{z{z{{{z|z}zz{zzyzyz{{z|{{|z{zzy{{z{{{{{z{{zzz{zz{z{zzz{{zzyyzzzyzyzzzzzz{{y{zxzyyzzzzzz{y{zzyyzzyyzyzz{zzzyz{yy{yyzzzzy{z{zzzyzzyzzzzzy{y{{xzzzy{yzzzyzzzz{z{zyzyzyzzyz{{zyyzzzzzyzyzzy{zzzzzyyyyxzzzzzz{y{zzzyyyzyzzyzz{zzzzyzzzzyz{{z{{{zyyzyzzzzzzzz{zy{zzyzyxzy{zzz{y{zx{yyzyyyyzzzz{y{zyzzyyzz{{yz{{|zzz{yzyzzz{z{{z{yzzyyzzzz{zz{||zyzzy{z{zz{z{{{{yzzyyzzyzz{{{{z{{zzz{z{yyzz|zz{|zzzzzzzyzz{{{{{{{z{{yzz{{{{z{z{||{{{z{z{zz|{z{{{{{zzzz{z{z|z{{|{z{{zy{|zzz|{z{{{{{zzzy{zz{{{|{|z{{zzz{z{z{{{{|{{{{zz{{z{z{z{{zz{{{{zz{zzzz{{|{||{z|zzzz{zz|z|z{}|zzz{zyz{z{z{z{z{{zzz{z{y{{|zz{z|yzyzyzyyyzzzzzz{yzz{zyyyzz{z{{{z{zzxzyyzzzz{{{{{zzyyyzzyzz{zzz{{z{yzyzyyzzzzz{{zzzzyzzzyz{zy{z{zzzzyyyzzzz{zz{zzzyyyyzzyzzyz{z{{yyyzzzyzzzzz{{zzzyyyyyzyyzzz{z{{zyzzyyyzz{zz{zz{yzz{yzyy{z{z{z{{yyyzyzxzyzz{z{zz{zzyyyyyz{zzz{z{zzzzzyyyzz|zz{zzzzz{zz{zzzz{z{zzzzzzyyzzz{zz{{{z{zzzzzy{zzz{z{z{zzzzz{zz{{{{{z{yzyzzz{zz{zzzz|{{z{zzzzzy{{z{{}|zzzzzzz{z{z{{{{{z{zzzz{y{z{|{|{{{zz|{|zzzz{|{z{{|{{{{z{zz{|{z|{||{z{z{zz{{{{{{{|||{{{zz|{{{{{||{|zz{y{zzz{zz{{{|{z{{z{{z{{zz{{|{|{z{zzzz{{zz{z{{z{{zz{z{zzzz{z{zy{zzyzyzzzz{z{{zz{yzzyyzyzz{yz{{|zzyyzyyyzz{zz{zzzzyxy{{zz{zzzz{{zzzyzyzz{{z{zz{{zzyyzzzzy{{zzzz{zyyyzyzy{{zzzzzzzyzyzzyyzzzyzzzyzzyzyyxzyzzzz{zzyyyzzyyyzy{zzz{yzzyyzyzzzzzzz{zz{zzzzzzyzz{z{z{zzyzzzzzyy{{yzz{zzzzyyyyzzz{zy{zzzyzzyyzxy{{|{{{zzzzyzzzzzzz{z{z{{zzyyy{z{zz{{{{{yyzzyzyzyz{z{{{{zzzyyyzy{{{{{{{{zzzyzzzzzz{{{z}zzz{zz{zyz{{{z{|z{zzzzzzzz{z{{{{{z{zz{zz{z{{||{{|z{z{zzzzz}{|{{|||{z{{z|zz{|z{{{{{z{z{{{z||z{{{{|{|z{zz{zz{{|{||||z{{zzyzz{{z{{|z{y{{{zzz{{|{{{{{|zz{{zz|{{{|{{{|z{yz{zy{zzz{{|{{z{z{zzzzz{{|{|{zzzzzzyzzzzzz{{{{zyyyzzyyz{{z{zz{{zzzzyyz{zyz{zz{{yzyzyyyzz{zz{{{{yyyyzy{zz{zyz|{zzyyyzyy|{{zzz{{zyzzzzyyzz{yz{{yzzzyzzyzyy{zyz{zzzzyyzzzzyz{zzzzyyzyzyzz{{zzzy{zzzyzyzzyzzz{{zz{zzzzzyyzz{yz{{{{zyyzzzyzzzzzzzzz{yzyzyyzz{zyz{{zzyyy{zzzzzzz{z{{zzzzzyzzz{{{z{|{{zzzzzzz{zz{{{z|zz{{yyzzz{{{z{{{{y{zzyyz{z{{|{{zzzzyzzzz{zzzz{{zzzz{zzzy{{|{z|{zz|{z{zzz{{|{{|{{{z{{{z{{z{{||{|{zzz{{zy{{{{|{{{{{zz{{{yz{||zz{{{{{zzz{{zz{{|{{||{z{zz{z{z||{{{z{{zzzz{zz}|{{{{|{{zz{zzzz{{z{{{{|z{z{z{zyz{{{{{{{z{zzzzz{|{{z|{{{z{zzz|zz{{|{{{|zzz{yyz{zzy|{{yz{zyzyzzyxz{{zzzzzzyzzyyyyzz{z{{z{zzyyyzzxyzzz{{z{zyzzyyyy{zz{zzz{zyzyyyyy{zzzy{z{zz{yyzzzzz{zyzzzzyzy{zyzyz{zzzzyzzx{yyzzyzyzz{zzzzzyyyyz{z{zzz{{zyyyxzyyyzzz{{{zyzzzzzzyz{{yzzz{zzzyyzzzzzzz{zz{yyzyzzyyzzyzz{zzzyzyzyyz{zzzz{zzzyzyyyzz{{zz{zz|zyzzyyzz{z{{zzzzyzzyyzzyzz{z{z{zzz{zzyzzz{z{{z{{zzyzzyyyzzzz{z|{z{yz{z{{{{{{z{zzzzz{zzzz{z{{{|{|zz{{zz{z{{{{z{{{zzz{zzz{{|{||{|{{z{{zzzz{{{z{{{|{zz{z{{{{{|zz{{||zz{z{{{{||{|{|{z{zzyz{z||{{{{|{z{{{zzz{z{z|z{{{{yzyzy{y|{z|{{|{z{zzyzzzz{{{z{{|{z{yz{{zz{{{{zz{{zzyzzzz{z{z{{zzyyzzyzyxz{{z{zzz{zzzyzyyzzzzyzz{{yyyzzyz{zzz{{z{yzzzzzzzzzz{zz{zzzyyyyzy{yzz{zz{zzzyyzzzzzyyyyzzzzyz{yyzzz{zz{{z{yzyyyxyyzzzz{zzzyyyzyzzyzz{zyzzyzzyyzyyzyz{zzz{yzzzyzzyxzzzyz|{{yzyzzzyyz{zz{z{yzzyzyzyyyzz{zz{yzzzyyzzzzz{zz{zzyzyzyzz{{zzz{z{zy{zzy{y{zz{{{{{zzz{yyyyzz{z{zz{zzzzzzzzz{z{{{{zzz{y{zy{z{{{z{{zzzzzyyyzz{zz{z{zzzyzzzz{z{{{{|z{zz{zz{zz{z{{{{{|zzzz{yzz{|z{{|zzzzzzyzzz{||{{{{{zzzzz|zzz|z{{{{|{zyzz{y{{||{{|{{z{{zz{zz{{{{{{{|{{{y{zzz{{{{{{{{{zz{{z{{z|{{{{{zz{z{zzzz{{{{{{z{zzzzzzzzzz{{{z{{zz{zzzzz{{{{{zzzz{yz{{zyz{zzzzz{zzzyyzyz{zy{{{zz{zyyzzzz{zz{z{{zzyzzzzzzzz|{yz{z{yzzzzzyzzzz{{zzzyyyzzzzzzzzz{z{zzyyzyyzzzzzzzz{{z{yxzyzyyy{zz|{yzyzyz{yz{{zzz{y{yzzyzzzzzzz{zz{zz{zyzyyyzzzzzz{zzzzzyzzzzzzz{{yzzzz{zyyzzz{z{{z{yzzz{zyzzzzz{{{zzz{zyzyy{{{z{z{zzzz{yzzz{|zz{{zzzzzzzzzzz{{z{z{{zyyzz{zzz{{{{zzzzzyyzzzz{{zz{z{{yzz{zzzz{{z{{|{{zzzzz{z|{{|{{{{zz{zz{{y{{z|{z|{{z{{zzzz{{z{{{z{{z{zzz{z{|{{z{{zz{zzz{zz{{{{{{{{|{z{zzzzz{{{z{{|{{{{z{{{|{{{{|}{{zzzzzyz{|}|{{||{zz{{{z{|{{{z{{{z{zyzzzzzz{z{{|{{zzzzzzyzz{|zzz{zzzy{zzzz{{z{z{{{zyxyyzyzzzzyzzzzzzzyzxzzz{zzzz{{yzyzzyyzzzyz{{yzzzzzyyzzzy{{zz{{zyyyyzy{yzzzz{{yyyzzyzy{{zyz{z{{yzzzyyzz{zzzzzz{{{zyzyyzyzzz{zzzyyyyzyzzzz|zzyy{zyyyyyyy{{|z{zzzyzyzzzx{{y{zz{{zyzzzyzyyyzzzzz{{zzzyyyzy{zzzzzzz{zyzzyyy{{|z{{{{yzzyzzzzz{z{z|{zzyzyyzzzyzz{y{{yzzzzzzzzzzzz{{{zzyz{zzz{{{{zzzzyzzz{zzz{z{{z{z{{zz{{z{zz{{z||z{zz{z{{{zz{{{zzz{zz{zzzzy{{z{{{{{zzzzz{zzz{{|z{{{|{zzzzzyz|{|{{|{zyzz{{{zz|zz{{|{{zzy{{zz{{{{{{|z{{{{{{zz{{|{|{|{zzzzzzzz{{{z{{{||{z{{zzz{{{{{z||zzzyz|z{{{{{|z|{zzz{zyz{z{{||z{zzzzzzzyz{z{zzzzzyyyyzyzzz{zzz{z{yzyzzyyzzzzzzzzzyzzyzyzyzzzyzz{zzzzzzyyzzz{{zyz{zyyzyzyy{z{zzzyyyyyx{zyzyzzy{zzy{zzyzyzzzyzzzyyzzzzyzzyyzyzzyz{{yzzyzyzzzzzz{z{zzzzxyzyzyzzz{{z{zyyyzzyyy{z{zzzzyzzyyyyyyzzzz{zzzyyyyzzyzzz{z{{{zy{yyzyxzyzz{zzzzyzyzyyyzz{z{y{zzzzyyyzzzz{z{z{{zzzzzyyzzz{z{zzyzzzzzyzy{z|{{{{{zyzzyz{y{{{zz{|{zzz{zzzyz{{{z{|{{zzzzzz}{{{{{|{{{zzzzy{{y{z{{{||{zzzz{zyz{z{{z|{|zyzz{zz|{{{{|{z|{{z{{zz{{z{{|z{{zy{z{z{{|{{{z{{{y{z{z{z{{{{{zz{|yy{z{zzz{|{z{z{{zz{zz{{{{{{{{||z{zz{yzzzz{{z{|{z{zy{yzz{|{{{{|{{zzyyzyzzz{y{zz{yzzzyzyzyyzzzzzzyyyz{yyyyzy{{zzzyzzyzyyz{z{zzzzyyyzyyyzyzz{{yzzz{zyxzyzxzzzz{zzyxzzyxzyy{z{zyzz{zyzzzzzyzzzzxz{zyyzyzxyyzyzyz{zzyzyzyzxyyzzzzzzzzyyyyzyyzz{yzz{zzyzyyyyyyyyzzzzyyzzyzyzyzzzzzzzyyzzyyzyyyzzzzzzzy{yzzzyyzyzzz{{{zzzz{yz{{z{{z{yzzyzyyyzzzz{zzzzzzzyyzzzzyzzz{{{zzy{zyzzzy|z{zz{{zzzzzzzzz{{zzz{{zyzzzzzzzz{{z|z{{zzz{{zz{|{z|{|{zyzz{zz{{{z{{{{|{z{zzzzzz{{{z{{{zyz{{z{y{|{z{{}{{zzzz{{zz{z{{{{|{{{zzyzyz|z{{|{{{zz{zyzy{{|{{{{{{zzzzzzz{z{{{y{|zzzz|{z{{z{{z{{{{zyzzz{zz{{{z|{{|zz{z{yzz{z|{z{yzy{zzzzzzz{z{z{yzyzyzzxzzzzy{zz{zyyzzyzzzzz{z{{{{yyyzyyzzzyzz{{z{yy{zyz{z{z|y{zzzzyyyyzy{z{yzzzzyzyyyyzyx{yzzz{y{yzzy{yxyz{zzyzzyyzzxyyzzzyzzzy{zzyy{yyzy{{{{zz{zyy{yyxyzzzzzyy{{zzzyyzyz{{zz{z{zyzzzyzyzzzzz{{{zyzyyyyyyzzzz{z{zyyzyyyyzzzzzz{z{yzyyyzz{{zyzz{zyyz{zzzyzyzzzzzzz{zyyy{z{{zy{{z{zyzzzyzyzzz{{z{|zyzzyyzzz{{z{{{z{{zzyzzy{{z{yz{|z{zzz{zz{{{{{{{zyz{zzz{z{z{{z{{{zz{{yzzz{{z{{{{zzzyz{z{y|{{{z{{{zzzzz{{{{zz{z{{{{zz{z|zz{||{|{|{z{{z{zzy{{{z||z{zzz{zzzz{z{|z|{|{zy{{zzz{z|{|{z{{zyzzzzzz{z{zz|{|zzzzyzyz{{{{z|zzz{yzyz{z{{{zz{|zyzyzyzy{{zzzz{zyzyyyzzyzz{z{{{zzzyzzzzy{zz{{{zzzz{zzzz{yz{zz{z{zyzyzyzyz{zzzzz{zzzzyzzyzzzz{{z{zzzzyyzzyz{yzzz{yzzyyzz{zzzzzz{zzy{zyyyzyzzy{{{{zzzzzzyzz{{zz{zzzyzzzyzzyzz{zzzzyyyyzy{xzzz{yzzzyyyzzzzzz{yz{{{zzzzyy|zz{z{{{z{zzyyzzzyy{z{z{z{zzz{zzyzzzzzzzzzz{zzyzzzyy{{{{{|{{zyzz{yzzzz{z|{z{zzzzzyzz{{zzzz{{zzzzzzz{{z{{{z|{zzzzz{{{{{{|{|{{{zzzz{z|{zzz||{{{zzy{{z{{{{{{{z{zz{zz{{z{{{|{{|zz{{zz{z{z{{{{{{|{zzz{{{{}{{|{|||{{{{z{z{|z|{{{{|y{|{zz{|{{{|{{}{zz{{zzz{{{{{{||{zzz{zzz{{z|{||{{zzzyzzz{|{{z{{|{y{zyzzy|zz{{{zyzyyxzzzyzzyzzz|zzzzyzyyyzzzzz{{{zyz{yzyx{{{zzzzz{yyzzzzzz{{zyz{{zzzyzzyyz{zzyzz}zzyxzzzzzz{{z{zyzyyyyzyyzzyyxzzyyzy{zzyyzyzzyzy{yzyyzzzzzzyzzz{{zzzzyyzzyzzyzzzzzyzyzzyyzzz{z{zzzyzyyyyzzz{zz{{zyzzyzzyzxzzyz{z{{yzzzzzyy{{{{{{{zzzzzyz{zz|{z{zzzyzzyyzz{z{zzz{|zyzy{zy{yzz{z{{{zz{z{y{z{{{z{z{{yz{zzyzyz{{{z{{{{zzz{{zzz{{zz{z{zzz{zzz{{z{{z{{{zz{{z{zz{{{{{{z{|zzz{yzz{{{||{{z|z{zz{{{{{{z{{{|z{zz{{{z|{|{||||{z{{zzz{z}|{{|{{{{{{{zzz{{z{||z{{zzzzz{{{{|z{{{{{{zz{zz{z{z{{|{{zzz{zzz{{{z|{{{{{{zzzz{z{{|{z{{zzzzzzzzy{{z|z{zz{zyzyyzzy{zzzzz{zzyzyyyzz{zyz{{zzzyyzyyyzzyzz{{z{z{yzzyyzzzzyy{{zzzzyzzy{{zz{{z{yyzyyyzyzzyzz{{zzzzzzyyyzzzzzzz{zzzyzzxzzzzyz{{{zyxyxyzyzz{zzz{zzzyyyyyzz{zzzzz{zyyyyyyzzz|{zzz{zzyyyyzzzzzzzzz{zzzyzyyyzz{z{zz{zyyyzzzy{zzzy{|z{zyz{yzzyzz{zzz{zzzyzzzz{zzz|{{|z{{zzzyz{z{zz{zzy{{zyzzzz{{{{{z{{yzy{yzy|{{{zz|{zzyzz{{z{{{zz{{zzzy{zyz{{z{{|{{zz{zz{z{zz|{zz{zzzzy{zzzy{{{{{{{{{zz|{zzz{{{{{{{|{zzzyz{{{{z{{{{{{y{zzzzzz{{{||{{z{{{{{z{{{{{{{{|{zzy{y{{{{{|{||{{{{z{z{z{z|{|{z{{{|z{zz{{{{{{{||{|z{zz{z{{{{{{{z{z{zzzzzzz{zzzz{yzyzzyyyzz{{z{{zy{z{zzyyzy{zz{z|{zzzyyyyzzzzzzzzzzzyzzzy{z{{z{z{zz{yyzyy{{|yz{{zzzzyyyzyyz{z{zzyzyyyyyyzzz{zz{{zyzzyzzzzyz{zzy{|xzyzyyyyzy{zz{{zzzzzyyzzzzz{{{zz{yzyyyyyz{{{z|{zzyzzyyzyyzzzy{|{yzzzzyzyzzy{z{{{yzzyzzyzy{{z{z{zz{zy{zzyzz{zy{{z{zzz{z{z{yz{zz{{{z{yxyzz{z{zyzz{z{{zyzyzzz{{|||z{zz{zzzz{{{zzz|z{z{zzzzz{{{z{{{{|{z{z{z{{{||{|{{{{{z{z|z{{z|{z{|{{zzyyz{zz{||{z{|zy{{zzz{|{{{{{|{{zzzzzz{{z{{{|{|z{{{{|{||{||{{{zzz{zz{{{{{{z{|||y{{zzzz{{{|||||{zzzzzy{{{|||{{{{{zzz{{{{{{{|{|{{|zzz{{z{{z{{{{zzzzzzzz{{{{{{z{zzzyyyyzyz{{zz{zzzzxzyyyzzyzzz|zzzzzxzyyzzyz{yz{{yyzyyyxyzzz{z{zzyzzxyyzyzzz{zz{{yzzy{yyyz|yzzz{zy{zyyyzxzzzyxy{zzzzyyzzyyyzz{zzzzxyyyzzyyzzzyz{z{zzxyyyzz{zyzzzzzyzzzyyyzzzy{zzzzxzzyzyxzyzzz{y{zyzyyyyzyzzyzyzzyzyzzzyyyzzz{zzzzyzyzyyzyz{{z{z{zyzyzyzy{zzz{z{{zyzyzzz{z{{{zz{z|z{zzzyzzzzz{{|z{zzz{zyyz{{z{{{{zzzzzyzz{{{zz{{{{zzzz{{z{|z|z{{{zzzyzzzzzzz{{z{{{zzz{zzz{|{{{{{{{zz{{yzz{zzz{z{{z{{yz{zzzz{z{z{|zzyzz{z{z||{{{{{{yzzyzz{{{{z|{}{zyzzzz{z{zz{{{|z|zyzy{zzzz{{{{{|zzzzy{zzz{{zz{z{{zy{z{zyz{zz{{{{zzzyzzzzzz{zz{zzzzyx{yzzyzzyyzz{zyyyyzyyy{zz{{{zyxzzyzzz{zzyzz{yzyzyyyzzzzzz{zz{{zyzyz{zzz{{zzz{{yzzzyyzyzzzz{zzzzzzyyyzzzzy{zzzyzzyyyyxzzzzzz{zzyyyzyyzzzyz{zzzyzzzzxyzyzzyzzzz{z{yyyzyzzzzzz{zzzzyzyzzz{zzz|z|{zzzzyzyyzz{zz{{zxyzzyzzz{{zz{z{zzy{yyyzz{zz{{{{zyzzzyzzzzz{{{z{{zzzzyyz{z|{{{{{zzzzzy{zzz{{zzz|zzzzyzzzz{{zyzzz{yyzzz{{z{{z{z{{zzzzzzzy{{{z{|{{zyz{zz{z{{{{{{}{yzz{yyzz{{{{z{|{{y{{|yzz{{z{{{{|{zzz{z{z|z{{{{z{{yz{yz{z{{{|{{{{|z{y|zz{z{{{z{{{|{{{z{{z{{{{{|{{{{{zzz{z{y{z{{{{{{zzzzz{z{{{{{{{{{{zzzzyy{{{{z{zzy{z{zzyzz{{z{yzyyyyyyxzz{zyyzzzzyzzyyzzzzzzz{{zzzzzzyzzzzzyzzzzzzzyyxx{zzzzyy{yzyzyxzyyzzzzzz{zyyyyyyyyzzyyzzzzzzzyyxzzzyzzzzzyyyyzyyxyzzyz{yzzzzyxzxzzxyzyz{{{yyzzyzzyz{zzz{zzzyzzyyyyz{zy{zzyyzyzzxyyx{yyz{zzzzyyyyzyyzzzyz{zyzzyzzzzzzzzyzz{yzzyzy{z{zzzzzz{zzzzyzyzzy{{zy{{yzzzzzyz{{z{|z{z{zzzyzzzz{{zz{{yzzzzyzzyz{zzzz{{z{yzzyy{{{z{zzz|zyzyz{zzzzz{{{{{zzzzy{{zzzzzz|z{zz{zzyzzz{{{{{z{{z{zzzyz{{|{{z{|zzz{yzzz{z{z{{{{{zz{zz{yz{{||{{z{{z{zzzz{{{zzz{{zzz{{z{zz{{{|{||{zz{zzzzz{z|{{zzzz{yyz{zz{z{|{|zzzz{zzzzzz|{z{{{zz{zzyzyy{{z{{yzzzy{zzzyyz{zzzz{yy|yyyzzz{z{{{{|z{zyzyzz{{zzzz{yzy{zyyzyy{{yzzz{zzzyy{zyz{{zz{z{zzzyyzyyzzzzzz|zzzzzzzzy{z{zz{zzzyyzzyyzzyz{zzz{yzzyzy{yzzzzz{{zyyzyzzyzyzzzz{{zzyz{yyxyz{{zy{{{zyyzzzzyzzz{y{zzzzyy{yzyzzzzzzz{yzzzyzyyzzzz{z{{zyzz{zyz{y{yzz{{zzzzyyzz{yzzzzzzyzzzzzzzz{{z{{{{{yyzzyzyzzzz{{{z{{yz{z{zz{{{z{{z{z{{y{yz{{zzz{{{zz{{zzzzzz{{{z{{z{{zzzy{{{{zz{{{zz{{{zyzz{{{{z|{zyz{zz{z{z{{{{||zz{z{z{{{{{{{{z}{zz{zzzz{|{z||{|{y{{{{z{{|y{z|{{{{{y{{zz{{{{{{{{|{z{{zz{{{{|{|{{{z{yzz{zzzy|z||{{z|y{zzzz{{|{z{zzzzzyz{zz{{zz{y{zyyyyzyzz{{zz{zz{zzyyzyyzzzzz|{z{{yzyzyy{zyzzzzz{yzxzyyyyzzzzz{{zzzyyzyzzy{{{{z{{zzyzzzy{zzzzzzzzzzzzzyzzz{zyz{{yzzzzzyyzzz{zyzzzyyyzzyyzzyzzy{zyxyzzzyzy{z{z{{{yyyyyzxyzz{yzzz{{yzy{yyxzzzy{{zzzzyzyyyyz{{zz{{zyzzzzzzyz{z{{z{{{yyzzyzzyz{{|{zzzzzzyyzyz{{y{z{{yyyzzz{zz{{{{|{zzzz{{yzzz{z{zzzz{zzzzzyzz{{{{zzzz{z{{{zz{{z{z{yz{z{zzzzz{{{|{{|{{zzz{{{z{{{|{{|{{{z{zzzzz{z{|z|{zzzzz{zz|{{{||{{{z{z{{{{{{{{{z{{{{y{y{z{z{||z{{|{{{{zzzy{{{z{{|{z{z{z{z{{z{{{{{{{z{{{z{{{|{{{{z{{{zzzzzzz{{|{{z|zzzzzz{yz{zz{{{{zz{zyzzzz{{z{zy{zzzyyyyyy{zzzz{yzyyzyyzyzzz{z{z{{yyyzzzzzzz{{z{zzy{zzyyyy{y{yz{zzyzyyyzyyzz{z{z|yz{yyzyyy{yzy{zzyyyyzzzyyzzyzyzzzzyxyyyyyzzzzyz|yzyzzxyzyyzzzy{zzyyzzxyxzzzzzz{zzzzyzyyyy|z{zz{zzzyyyzyxzzyyzz{z{zzyyzyyy{{zzzz{zzyyzyyy{zz{z{zzzzyyxyzyzzzzz{z{zz{zzzyyzz{z{{z{zzyyyzzyz{{{{{|{zzyzzzzy{{zz{{zzzz{zzzzyzzz{{z||zzzzzyyz{{z{z{zzz{zzzy{z{z{|zz{{zzyzz{z{{z{{zz|{{z{{zzzzz{{{{{{{zzz{{z{zz{|{{|||{zzzz{zzzz{{{|{{{zyyy{zzz|{z{zz{{zzzyzz{{{{{{{{zzzyzz{z{{{|{{{{{{{z{zzzz{{{{|{z{z{zy{z{z{zz{z{{|{zz{zzyzz{{z{zzzzz{{zyzzzy{|{zz{zzyyzyz{zzyzz{{{yzzyzxzzzz{zzzz{zzzzzzyzzzy{z{|{{xzzzzyzzzzzzz{zyzzyyyyyzzyzy{|{yyzzyyyzyzzyz|zyyzzzzyyzzz{yzzzzyyyzzyyyzzzzzzzzyzyyyzyz{zzyzz{yyy{zyzyyzzyzzzzzy{yyyz{yyzy{zz{{yyzzzxzzzzzyy{zz{{yyyzyyyzyxyz{zzzzzzzzzzzz{{{{{zyyyzzy{zzzzz{z{zy{yzzz{{{{z{{z{yyzzyzz{{zzz{{zzzyzzzyz{zzz|{{zz{z{yyz{zz{zz{{{zzzy{{{{z{{{{z{{{{{yyz{z{z{|{{{{{{{zzzzz{zzz|z{|{{yz{z{zz|zz|{|{z{zyzzz{z{{{|{{{{{zzzzz{{z{zz|{zz|{yzzzzzz|{{{{||{{{zz{zz|{|{{|{{|zzz{z{{{{{zz{{||{z{{zzz{{{{{{{|{zzyzzz{zz{{{{||z{{zzzzyz|{|z{{{zz{zzyyzzzzz{z{zy{xzzyzyzz{zzzyzzzyyyzyyzyzzyz{{{yxyzzzzyzy{{{z{zyzyzzzyzzzzyz{{yzyzzzzy{{{zyzy{zzyzyyyxz{zz{{yzyzyyzyyyzzzzzzzyzyyxzzyyzzz{zz{zzzyxzyxzzz{zzzzyzyyzyzyyzzzz{{{{zzzyyyyzyzyzyzzy{yyzyzzyyzzzy{yzzyzyyyyyyz{yzz{y{yzzzyyyzzz{zz{zzyzzyyyyzzzzzzz{zyyyzzyzyzz{yzy{zzyzyyy{zz{y{z{{zzzyzzyzz{{zzz{zzzzyzyzz{{{zzzz{yyyzyzzzzz{z{zz{z{zyzzy{{{{{||{{zzzzyz{z{{z{{{{{{zyzy{yzyz|z{{{|{yzzz{zzz{{{{{{{{z{zz{{{zzyz{|{zzyzzzzzz{{|{{{||zzzzzzzyz{yz{{|{zzz{{zz|{{{{{{}|{{zzzzy{{{{{{z{|zzzzzy{z{{zz{{{{zzzzz{zyyz{{{{{z{yzzzzzz{z{zz{{{zyxyzzyyzyzzyzz{zzzy{xyzzyyz{{{{y{yxzzyyzzzzzz{zzzzyyyyzzzzzzy{zz{zzzyyyzzyzz{zzzyzyyyyyy{yzzzzzzzzyyyyzyzzyzzzzzyzyzzyzyyzzzzy{yyyyzxyyy{zzyzzyyyyzyxzzzzzyz{{zzyyzxzzyz{zzzz{{zzzzyzzyzzzzy{{zzyzyyyyyxzyzz{{zzz{zy{zxzzz{z{zzzyzzzxzyzzzy{{z{zzzyyyzy|zzzz{{{yzyyyyzzy{{{zz{{{zz{zyyzzz{z{{{zyyzz{zzyzz{{z{{zzz{{zzzzz{{z{{{|zzz{zzyz{yz{{z|{z{zyy{{{zz{z|z{{{zyz{zyy{|{{{|{{{z{y{{{z{z{zz{{|yzy{yzyz{{{{{{{{{{yzzz{z{|{{|z|{{{{zzzz{{y|z{z{zz{{zzzzzz{{{|{z{{{{z{zzz{{{z{{z{yzzyz{z{zz{z{{{{{z{{yz{zz{{{z{|z{{yyzxzy{{{z{yzzzzzyzzyy{{zz{zzzzzzzzzyzyyzzy{{zzzyyyzzxzzzzzzzzyyzzzxzxzzz{z{{zzyzzyzyy{{zzz{y{zyzyyy{yz{zzy{zz{yzzxyzyzyzyzz{zzzyyzyyxyzzzzzzzyzyyzyyzyz{yy{{zzzzyyyxzzz{zzzzzyyyxxzyzyzzz{{{zzyzxzyyyzyzzzzzzy{zxzzzyz{yzyz{{zzzzzyzyz{zyzy{zzzzyzyyyz{zzz{zzzyyyzyyy{zzzzzzzzz{zyzzz{zzzz{{{zzyyzxyzyzz{z{z{zz{z{{zyy{zzzz{zzyzyzzzy{z{zzzzzzzz{zyyzy{{}{{{|zzzyzzzz{z{{{{|{zzyzzzzz{{{{{zz{{y{zzzzz{{{{{|{{zzzzzzz{zz{{{z{zzzz{z{zzz{{z{|{{{{zz{zzz{z{{z{z{{yz{{zzzzzy{{z|z{zzz{{zz{z{{{|z|zz{yzzyzz{z|z{{|{z{zzzyzz{{z{z{zzzzzyyyzzzzz|zz{yyyzyyzx{{z{zzz{zzxyyyxyyz{{{yy{zzyyyyzyzzz{{{{zyyyyyzyzyyz{yzzzzyzxyzyyzyzyz{{{zzyyxz{y{zzyzz{zyzyyzyyyz{|zy{z{zyyxyyyzzzzzyzz{yyzyyyyyyz{z{zzzzyyzyyyy{{zy{zz{zyzzyzyzzzzzzz{|{zy{zyzzy{zzz{{zzyyyzyyyzzzzzz{yzzy{zzyzyzzyz{z{yzyzzxzz{z{{zzy{yz{yzyzz{z{zzz{{zz{zyzyyy{{{zz{zy{zzzyyzy{{zz{z{yzzzzzyyz{{zzz{{zzyzzzyz{z{zz{{zzyzzzyyzz{{{z{z{{{zz{z{{z{{{{{{{zyzyzzyy{{{{{{{{z{yzzzzz{{{zz|||zzzzz{{zz|{{z{{{{zz{{z{{z||{{{{{{zzzzz{|{{{{z{z||zzzzzzz{{{{{z{{zzyz{zz{{{{{z{|{{{{yzzyz{{z{{z{{|zzzzzzz{{{{z{|{zzzyyyzz|y{{zzzzyzzyyzzyyzz{zyz{zz{yzyyyz{{{{zz{{zyyzzzyyzzz{{{{zyzyy{yzz{{z{zzzyzyyxzyz{z{{yy{{yyyyyzyzyzzzz{{{y{zyyyyyzzzzzzzzz{yzzyxzzy|{zzyzyzzyyyyyz{{{zz{zzyzyzyzyz{{z{zz|zzzzyzyy{zz{zz{{zzzxzyyyzzyyzz{zz{zzyzzyzzyzy{zzyzyyxz{zzzyz{zz{zzyyzy{zzzz{zz{{yzzyxyzzz{zzz{{{zzzzyyzz{{{z{zz{zyzz{yzyzz{z{{{y{{zyyyzyz{zzzz{zzzzzzxyzzz{z{{{{zzzz{yzzz{{{z{|{z{zzzz{z{{{z{{{{yzzz{zz{zz{{{|{{zzzy{{zz{{{z||{{z{yzyz{{{z{z{{{||{zz{z{yz|z{z{{{{yz{zz{z{zz{zz{|zyzz{z{{|z{z{{||{z{zzzyyz{z|{{{{{{zyzyy{{{yzz{{{zzz{zzzz{{{{zz{{zzzz{yyz|z{{z{zzzyyzyyxyzz{yzyzzzyyyyzzyzzzzz{z{zzyyzzzxyz{yzz{zzzyyzzzzz{zzzzyzzzzyzzzy{zzzz{{{zzzyyyyz{{yzy{zzyyzyyzyzzzzzz{zzyyzxyyxyzzzyzzzzyyyyyyzyzzzz{{{zzzyyyyxyyzzzzzz{zzyxyyzyyzyzy{zzzzzyyzyyzzzzz{yzzzzyyyzyzyyz{zyzyyyyyyzyzzz{{zz{yzyyzzyzz{{z{{{{{y{yyyzzzzz{{{zzzzz{yz{zyzzzz{{z{zzzzyzzyzzz{|{zzzyzzyzz{{z{{{{zzzzzyyyz{zzz{{{{yz{yzzzz{z{{z{{zzyzz{zzzzzzz{{z{{{y{zzyyz{{{{zz{zzzy{zzz||{{z{{{{zzzz{z{z{|{z{{{{zzzzzzzz{{{z{||{z{zyzyz{{{{{z{{zz{{z{zz{{z{{{{|zzz{{zz{{{z{{{{z{zzzyzzzzzy{z{{zzzzzzz{zz{{z{{|{zy{yzyzz{z{{zyzzyyzyyyxyyyyzy{z{zyyyzyzxzzzz{zz{{yzxyyzyyyzzyzz{zzzzyyyyyzz{zzzzzxyyxzyzz{zyyzz{yzyyzyzyxyzzyyyz{yyyyyxyzzzzzzzzzyzxyyzyyyyzzzzzzzzzxxyyyzzyzzzzyyyzyyyzyz{zzz{zyyyyyzyzyzy{{z{zzyyxzyzyyzzzyzzzxyyyzyyzyyzyz|zzyyzzzyyyyz{xzz{{zzzyzyyyzz{z{zy{zzzyzyzzzyyzz{{{zzzyyyyyyz{z{{zzzyzzyyyyyzzzz{zzyzzzzzzyzy{|zz{zzzzzzzyzzzzzz{zzzyzzzyyyzz{{zz{{y{zzyzzzzzz|{{{{zyzzxzyzzzzz{z|yzzyz{yzzz|{zz{{z{z{zz{zyzzzz{zz{|y{{zy{zy{zzz{{{{zzzyz{y{z{z|{{{z{zzz{zy{|{z|{{{zz{zz{yyz{z{z{{{{zzyzz{y{zz|z{{{zzz{yy{yzzyzzz{z{zyyyyzz{{zyzzyyzxyxyyyxzz{{zzz{zzzyzyyyyyzzzzzzxyxzyyyxzyzyz{{{yz{yyzzxy{{zyz{zyzyxyyzyyzzzzzzzzzzyzyyxzzy{yyzzzyzyxzxyzzzzyzzzzxyyyyzyzyyzxzzzyyy{yzxyyzzzz{zyyyyyxyzzzz{yzzzzzyzxyyxzyzzzyz|zzxzyyxzyyzzyyyyzyzyzyyyxyzzyz{zzyyyyzzxyzzyzzy{{zyzyyzzzzzzzzzy{zzzyzyzy{yzyzz{{zyzyyzyyyyzzzzyzzyzyzyzyzzzz{{zzzzzyzzyy|z{z{zzz{yzz{zz{zz{zzzz{zzzzzzzzzzz{{{y{{zzy{zz{z{z{z{{{zzzzzzzzzz{zz{{{{y{zzzz{{{zz{{{{{{zzzzzzy|yz{zz{{zyzzzzy{|z{z{{{zzzz{zzz{{{zz{{{{zzzzy{z{{zz|{z{{zzz{zzzzz{{{{{|zzzzz{yzzzzz|{{zz{zzzzzz{{z{{z{{yzzzzzzz{zz{{zy{zzzyzyzyzz{zz{z{yyzzyyyxyzzzzzz{{{zzzyzyzy{zz{{zzzzyzzyyzzz{zzzzzzyyyzzyzzyzzzz{zyyzyzyz{yzzz{z{zyzyz{yyzzzzyzyzyzzzzzzxzyyzzz{zyzyzyyzzzyzzzzy{zzzyyy{zzz{z{zz{{yzyyyyzyzzzy{zzzyyzzzzyzz{zzzz{zyyzyyyyzzzzz{zzzyzyy{yzz{{zz{{zzyyyzzzyzzyyzzz{zyzzzzzzzzz{{{yzzzyzyzzz{z{z{z{zzzyzzzzzz{z{{z|z{zzzzzzyzzz{zz{{zzzzzyzy{{{{zzzz{zzzz{zzzyz{{|{zzzzy{{zzz{|{z{|zyz{z{zyy|{z{{{|zzz{yz{{z{{{zzz{|z{zzz{{z{{{|{{{{zzzzz{{zz|{|{{{{{z{{zzzz|{|{z{{{z{{zzzyzz{{zz{{{{z{zz{yz{{{|{{{{z{yzzzzz{{|{z{{|zzzyzzzzz{{{{{z{yzzzzzyzzz{{{{{{zyzy{yyzyzzyzzzz{zyzyzyyzzzzz{{{zyyyzzyzzz{{z{z|zzzzzyzyzz{zzy{zzzyyzzyyzz{{yyz{yzzyzyzxzzzyz{zzyzyyzyyyzzzzz{zzyyzzyyzzzyzzyzz{yzyzyyyzzzyz{z{zyzyyyyxyzzzzzz{zzzzzyzzyy{zz{z{{zzyyzyzxyz{yyzzzzyzzzzy{zzzzz{zzyyzyzyyz{z{z{{{zzzzyzz{zzzz{zzz{zyyyzyzz{zz{z{z{zzzzzyzz{zyzzzz{yzyzzz{zyy{zzzzzzzzzyyyyz{{z{{{{|zyzyzzz{{zzzz{zzzzyzyzzz{{{{{{{z{{z{zzy{z{z{|{{yyzzzzzz|z|{z{|{zz{zz{zz||{z{{z{{zzzyz{zz|z{{{{||zz{z{z{z|||{z|{{zz{{y{{z||{{|{{zzy{z{zz{z{{{{}||zyzzzz{z{{|z{|{{{{zyzzyz{{{{zz{z{{z{zyzz{y{{{{{yzzz{yyz{z{{{{zyzyyzzzzzyzyzzzzzyzyzzyyz{yz{{{zz{yzzzzzyyz{{z{z{zyyyyyyyzzz{yzzzzyyxzzyyyz{{zz{zzzyyzyzyz{{zyzzzyyyyyyzyzz{yyzzz{zzyyzzz{zzy{z{zyzyyyyyyzzzz{zzzzzyzyyz{zz{zz{{zzzzzyzzyz{{{zzzyzzzyzyzyzzyyzzzzzyyzyzyzyy{{y{zzzyzyyzzz{zzzzzzzzzxzzxzzzzzzzz{zzzzzzyyzzzy{{yz|yzzzzyyzz{{zz{{zz{{zzyzyzzzzzz{{{zzyzzyz{{{z{z{y{yzzzz{z{{z{z|zzzyzzzzzzz{{{{z{zz{zy{{zz{{{{{{{z{{z{yzzzzzz{z{{{{yzzzzzz{|z{{{{{z{yzz{{{zzz{z|{{{{z{{{{z{{{||{{{z{zzzzz{z{{{{|{{zyzyz{y{{{{{z||{zzy{z{yz{|z{zz{{{zzzzy{zy{{z{{{{z{yz{zzyz{z|z{{{zyzzzy{yz{{{z{zzyzzyyyyyy{z{zzzzy{zyzyzyzzz{zz|zzyyxzyyyzzzy|{{yzzzyyyzy{zzyyzzzzzyyyyzyyz{{{{{zyyzyxzzyyzzyzzzyzyyyzyyz{z{yy{zzyyyyyzyzyyy{zzz{zyzyzzyyzzzzzy{zyzzyyzyzyzzz{{z{yyxxxzyxz{y{yyzzzyzyyyyxzzyzzzyzzyzyzyzyyz{zzz{zyyzzzyzz{zzzzzz{zyzzzxzyzzz{x{{zzyyyzz{y{{zzz{zzzyzzxyzzzyzz{zz{zzz{zzyzy{z{{{z{zzyyyyyz{{|zzyz{yyyy{zzz{zzzz|zzyzzz{{{z{{{zzz||zzzyzz{{{{z{{z{{zzzzyyzzzzz{{z{zzzzyy{zz{{{zzz|zyyyyzy{z{zz{{{{{{{zzz{{yzz{{{{{{{{zzzyz{{{z{z{{{{yz{y{zzyzz{z{{|{zzzyz{zz{z{{||{zzzzz{zzz{z{{{|z{yzzzz{zzz{zzz{{zyyzzzzzzzzzzzyyzyzyzyyyzzzyzzxzzzyzyyyzzyzyyz{z{zzzyzyyyyyyzzzzzzzyyyxyzz{zyz{zzzzyyzzxzyzzzz{{yyzy{yzzzzz{xz{yzyzyxyzyyzyzyz{zyyzxyyzzzzyzzzy{yyyyzyzzzzzz{z{zyzyyyyyyzyzy{{zzzyzzyyxzzzz{zy{zyyyyzxyyyz{yzzz{yzzyyyzyy|zz{{zy{zzzzzyyyyzzz{{zyzzzzzyyyzzzz{zzzyzzzzxz{zz{zzz{zy{zzyzyz{zzzz|{yzyzzzzyzz{{{{{zzy{zyyzy{zzzz{{|zzzzyyzyzzzzzzzzz{zzy{zy{z{{{{{{z{zzzzzz{{{{zz{{zy{zzyzyz{{{{z{{zz{zzzzz||{y{{{|zyzzzzzz{z{{{|z|zy{zz{zzz{z{{{z{{z{xzzzz{zz{zz{{{zyzzzzzz{{}zz{{zyz{{zzzzz{|{{{{{zzyz{yzzzz{z{|{{zzyzzzzz{z{{z{{zyzyyyzzzzzzzzzzyyyyyyxxzz{{zzz|yxyxzzyyzzzzzzz{zzyyyzyyyzzy{z{{yyzyzzzyzzzzzzzzzyzyyzyyzyzzzzzzyyzzyzyyzz{zzzzzyzzyzzyyzzzzzzzzyyyyyzy{yyyz{{zyyyyyzyy{yzzzyzyzzzyzyzyzzz{z{{zzyz{yyz{yxzzzzzz{zyyyyyyzzzzzyzzzyyzyzyyyz{yz{{yzzyzzyzyyzzzzzzzyzyzzzyzyzzzyzzz{yzzzyyzzz{yyzzzzzzzyzzzz{{{zz{{{zyzzzyzz{z{yz{zzzzzzyyzzzz{{{y{zzzzzzyyyz{{zz{{zzyyzzyzy{{||{z{{zzzzzyzz{{{{z|{|y{zzzzyy{{z|z{{{zyzzzzyz{{zyz{{zzzyz{{zzz{zz{|z{zzyz{zzz{{{zz{{{{z{zy{zz{{{{|{zzzz{z{zz{z{{{{zz{{zzzzzy{z{{{{{|{{zzyzzzz{zz{z{{{|zyzyzzyzzzzzz{zyz{zzzyz{zz{{zzzzyzyyyyzzz{yz|zzz{yyxyzyzzz{{{{zzzyzzyyzz{yzz{{zzyyyyyyyzz{{zz{zzyzyxyyyy{zzyyzzzxyyyyyyzz{zzzzzzyyyyzyyy{yzyzyzxzzzxyyzyzyzyz{yyzzzyyyyzzzzzy{zyzxyyyyyyyzy{{zzyyzyyzzxzzzzzzzzzzyyyyyyyzyyyzzyz{zyyxyyzzzyzz{{zy{yyzzyzzzzz{{zzzyyyzx{zzz{y{zzyzyyzz{zzzzzy{z{zz{yzyzy{z{zzzzzyzyzzyzzyz{{z{{{zzzzzzzzzyzz{yzyzyzzz{zz{{z{yz{zzzzzy{zyzz|{{{z{zzzz{zyzz{zz{{{{zyz{zyzzzz{{{z{zzzz{zzzy{{{{{{{{zyzzzzzzz|z{{|{|zyzzz{zz{{{{z{{z{z{{zz{zz{{|zz{{zyzzzyz{{y{zzz{{{z{z{zz{{{{{{{z{zz{yz{zzz{z{z{||zzyzz{y{z{{{|z{{y{zzzyzyzz{zz{zzzxyyyyyxyzyzzz{zzzyzzyzyzyzzz{zzyyyzzyzyzzz{z{zyzyyyzyyyzyzyyyzzzyyyyyyy{zzyz{y{yyyyzyyyzyyzzzzzyzzyy{xxyyzzzzzzyzz{xyyyzzyzz{zzyyyyzyyxzyzzyzzyzzzxyyyyzyyzzzzzzyzxyyyyz{zzzy{zyzxyyyyyzzzy{zzzyzzy{xzyzzzz{zz{xyzyy{yyzyzzyz{zzyyzzyyyzzzyyzz{zy{zzyyz{{zzz{z{zyzyyyyyzzy{zzz{zyzzyzzzz{y{z{zyzyzyyyyzz{zzzz|zyy{zyzzyyzzzzz{{zzzzzyzyzz{{{z{{yzzyzz{z{z{zz{|{zyy|zzyy{z{zzz{z{z{{zy{zz|{{{{{|z{{zz{{{z{zz{{|{zzzzz{zzz|{|{{{{|z{zzzzy{{z{z|{z{yzzzzzz{z{{zz{{zzzzzzz{zz{{{zz{zyz{{zy{{{zzz{{{zzyyzz{zyzz|zz{{yzzyzzyzz{z{|z|zyyzzyyzyy{zyzzyzzzyzyyzyzzyy{{z{{zzzyzzyzzzzyzzzzzzyzyzxyzzzy{{{zzxyyzzyzyzzz{{zzyyzyyzyzzzzyzzzzyyyzyyyyzzzyzzzzzyyyyyzzzy{zzz{yyzyyzyxyyyyzzzzzxyzyxyxzzzyzzzzzzxzyzzyz{zzzz{{zyyyyyyxy{yzzyzzyzzzzyyyyzzzzzz{zyzzz{zyz{{zzz{|zyyyzzzzyz{z{zzzzzzyzzyyzz{{{zz{zzyyyyzzzzz{zz{|yzyyyy{zzzy{zzz{zzzyzzyyz{{zz{{zzy{zzzzz{zyzzzz{{zz{z{{zz{{z{{{zz{{zz{zzz{z{{z{{zzz{zzzz{z{y{z{{{zzz{{zzz{{{{{{{zzzzzz{z{{{{||{{z{zzzzzy{{z|{|{{|y{zzz{z{zzz{{z{zzyz{{zz{z{{{{{|{zyzzzz|z{z{{|||zzzyz{zzzzzzzzz{z{zzzzzzz{{{{z|{zz{yzzyzz{zzzzz{zyyyyxyxyzzyzyzzyyxzyxyy{zzzzz{{zzyyyzyz{zy{zzzzzyyzzyyyzyzzyyz{yzyzzyyxz{zyzzzzzzyyzyyyzzzy{y{{zzyyyyzyyyzzyzzzyyzy{zyxxyxyyyzzzzyyyyyyyyyyzzzyzyzyyyyyyzzyzy{zzyyyyyyyzyz{zyzzyzyyyyzzzzzzzzzzzyyxyyyzyzzyzzzzzxzyyyxyzy{z{z{{zzzzyyzy{zzzzz{zzyzzxzyyzyy{zzz{zzzzyzyyyzz{{zz{zzzzzzyzz{{z{{zzzyzyyyzzy{zzz{{{zyyzyzyz{z{zzzzzzyyzyzzzz{zzz{zzzyyzzz{zzzz|zz{{zyzzzyyyz{|z{{{{|xz{zzzzzz|z{{z{{{{z{zz{yz|{{zz{zzzyy{yyz{{{{||z{{{zyzzz{z{{z{{zz{zzzzzzz{{{z{{|zz{zzzz{{{z{{z{{z{zzzyz{zz{{z{|{zzzyzzyyyz{{zzzzzzzzzyyyz{z{zzyzzyyyyyyxzzz{{y|{zzyyzyzzzy{yzz{zzyyyzzyzzzz{zzzyzzyyzzyyzzyyyy{zzyyzyyyy{zzzyzz{zzyzyyxyyzzyzzzzzyyyyxxzzzzyyzzzzyyyxyyyzzzzz{zzxyyyyyyyyyzzzzzyzzzxyzyzzyyy{{z{zz{yyyyyyy{zzz{zzyyyyyyxzzzzz{{zzyyyyyyxyzzyzz{{yyzyyzyyzzyzzz{{zyyyzzyyzzyzyyyzzzyyyyzzzzyyzz{{yyyzzyzy{{{zzzzz{zzyzyyzz{zzzzzzz{yzzyyzzzzzz{{yzzyzzyz{z|zzy{zzzyzzzzzyzz{|zzz|zz{z{yzyz{zz{z|{{zyzzyyyz{{zz{{z{zzzyzzz{{|z{z{{{zz{zyzzz{zy{{{{zzzzzzzz{{{{{{{{zy{zyzzz{{{z{{{{zzzzzzyzzzzzz||{zzz{zzzz{{{{zzz{{zzzz{zy{z{z{{{{zzzzzzyzy{zyzz|zyyyyyyzyzz{zzyzyyyyzyxyyzyyzzzzzyzyzyyyzyz{yy{yz{zyzzyyzzzzz{zzzzyyyzxyxzzzzyzz{zzzxyyyyz{{yy{xzyzzzyyzx{{zzzyzzzyzzyzyyzzzzzzzyzyzzxzyyyyzzzyzzzxzyyzzyy{zzyz{zzyzyzzyzzzzzz{z{yzyyxyzyz{{yzz{zyyzyzzyyzzzyyzzzyyxzzzzyzzzyyz{zyyyyyzzyzyz{zzzzzyyzzyzzzyzzz{zzzzzzzxzz{zzz{{zzzyzyyyz{y{zzzzzzz{zyzyyyz{z{z{zzzxzzzyzzyz{zzz|zzzzyyzzzzzz{z{z{zy{y{z{z{z{{{|z{zz{{y{zz{{z{{{{{zzyzzzzzzz{{zz{{zzyyzz{y{{{{z{z|{zyzzyzz{{zz{{{{{zzzyz{zy||{z{|{{{{{{zzzz{{z{z{{{zzzyzzz{zzz{{{{{zz{{zyz{z{|z{||zz{xzzzzzz{z{{{{{zzzyyzzz{{{zz{zzzzyzzzyzzz{{zzzzyyxyzyxy{{yzzzzyzyzyxzxzzzzz{z{zyzzyzxyzz{zzzzyzzyzzyzyyzzzzzz{z{yyyzyxyz{{zzzzyzzzzzyzyzzyyzz{zzzyyyzzzzzxy{zyzzzxyyyyzzyzzzz{yyyyzyzyz{yz{{zzyzyyzyyyyzz{z{yzzyzzyyyyzz{zyzz{yzyxyyzyz{zyyzyyzyzyzyyzyzzzzzzzzyzyxyyz{zyzzz{{zzzzzyyyz{zzzzz{zyz{yyyzz{zz{zz{zyzzyyzyz{zzz{z|zzzzzyzz{{zz{z|zyyzxyyyz{zz{zzz{yzyz{zzyy{{zy{z{zzzz{yz{{{z{zz{{zzyzzz{zz{z|z{z|{yzzzzyyz{{{zz{z{zyz{zzz{{|z{{{{zy{{yx{zzzz{zz{{{yzzzzzzz{{|{{{{{zyzz{zz|{z{y{{{{yz{z{zzzzz{|{zz{{{z|z{z{{z{z{{{z{yzyzzzzz{{z{{{{y{{yzz{z{{{{zzzzyz{yyyyyzz{y{zyxyyzyyzyyzyzzzzzzzzyzyyyz{{zzz{{zzzyzyxzyy{{{z{zzzzzyyzzy{zzzzz|zyzyyyyyz{{{yzyzzyyyyyzyzzyzzzzzyzzyyxyyzzzzyzzyyyzxyzyzzzyzyzzyzyyzyyyyzz{zzzzyzzzyyyyzzzzz{zzyzzyyyyzyzzzzyzz{zyzzzxyzyyyyxzzzzzyyyzyyzyzzy{z{yyzyzyyyxzzzzzy{zzyzyzyyzzzzz{z{zzyyzyzzz{{z{yy{yzyyyyyyzzyzz{zzz{yyzxyzzz{zz{zzyyyyyzyy{z{{zyzyzyzzyzyzz{{zzzzz{zzy{yzzzz||{{zzzyyyzzzzz{z|{{{{|zzzzzzzzz|z{z|{zyzy{z{yzz{zzz|z{yzzy{z{z{z{{|{{{{{zyzzzz{{{zz{{{y{{zzz{{z{{z{z{|yzzyz{{zz{{z{{|{zzzz{yz{{z{zzzzz{zzyzzyzz{{{{{{{{y{yzy{z{{{{z{{yyzyzzzzzzy{{{y{zzzyyyyyy{zzy{zzzyyxyzyyyyzz{zzyzzxyyzyyz{zz{zz{{zzy{yyzzz{zzy{zzzzyzyzyyzy{yyy{yzzyyyzyzzzzy{{zzzyyyyyzzy{yzz{zyzyzzzyzzzzz{z{{zyyyyyyyzzzzz{{xzzyywyxyzyzzzzzzyzyzyyzxzzy{zzz{zyyyyyzxyyzzzzz{zzzyyyyyzzyz{{z{zyyyzzyxz{zz{z|zzzzyzyzzyzzyzzzz{zzyyx{yzz{z{zz{zzzyyzyyzzzz{zzzzzyy{zzxzzzzz{{{zzzzzzyzz{zzyzzzyzzzzzyzzzz{z{{{{yyzzyzzz{{{{z{zzzyzzzzy{{z{z{|{z{z{zyzzz{{zz{{{{zz{zzzz{{z{z{|{{z{zzzzzzz{{{|{{z{zzzz{zz|||{{{{{zz|{yyz||{{{{{{{yzzzzzz{{z{{|{{{zzz{zzz{|{z{{{{{{zzzz|zz|{{{z|z{y{{yzzzz{zzz{yz{zzyzzzzzzzzz{zzzyyyxzzyyzzzyzz{zyzyyyyzzzzzz{{zzzzxyyzyzz{y{zz{zyzzyyxyzz{zzyz{z{yzyyyyzzzzyzzzyz{yyyyyyzyzzz{zzzyzyyyyzzyyy{zzyyyyzyyyzzzzzzzzzyzxyxyy{yyzzzzzyyzxzxyyyzzzzzy{zyyxzxyxyzz{{yz{yyyyzyyxyzyzz{zzzyyyyzzyzzzzz{y{yzzzyzyyz{zz{z{{zzyxyyyyzzz{{{{zyyzyyxzyzzzzyzzzzzzyyzyyzz{|zz{zzzzyyzzzyzzzy{{zzzzyzzzzzzz{{zzzzz{z{yyzzzzzzzzz{zyzyyzzz{z{{{{zz{yzyy{z{zz{zz{{zzzz{zyzzzz{zz{{{zzzzzyyz{{z{{{|{zzz{z|z{{{z|{{{|zyzz{z{z|y{{{{{{yz{zyzz{{zz{z{zyyzzyzzz{{{|{{|{{{zz{z{y{{{{z{|{z{zzz{{y{{z{z{{|{zzzzzyzy{{{{z{{yyyyyzyzz{zyz{zzyzzzyyzyzz{zz{zzzyzyzyzy{zxzz{z{zzxzyyyzz{{z{zzzzyyzxyzyzzy{zzzzzzxyzzzyzyzyzzzzzzyyyzyyzzzzzzzzzzzyyzyy{zzyyzzzyyyyzzyxzyzzzy{zyxzyyyyxyzzzyzzyzyzyzzyyyzzz{zzzxyyyyyyyzyz{zzzzzyyyyyzzzy{zzzz{yzyyzxzyyzzzyzz{zzyyyyyzyz{{zz|zzzyzyyyzz{{zyz{zzzzzyy{z{zz{zzz{zyzzyzyzzzzzz{zzyyzzzyxzzz{zzzyyzyzyzzyzzz{zzz{{zzzzyyzyzzz{yz{{{zzzzzzzz{{{z{{z{zzy{z{z{{z{zz{{yz{zzzyyzz{zz{|z{y{z{{{zz|z{{{{{{yzz{z{{z|zzz{{{{zzzzzzzz{|z{{|{zz{zyzzz{{z{{}{z|z{zyzz{{{zz|{z{zzzzzzzz{{{{z{zzzzzz{zz{zzz{{{|{{zzzzzzzzzz{zyzzzyzyzyyyzz|zyzzzyyzzyzyxyzzzzyzzzyyyyyzyz{zzzzzzyzzyyyzzzyzzyy{{yyyxyyyyyzzzzyzzzzzzyyyyzzz{zz{{zyzyyyzyyzzyy{zzyyzxyyyyzzzzz{zzyzzyyyyyzzzz{yzyyyyzzyyyzy{yzyyzyzzzyxyyzzzzzzzzzzzyyyyzz{yzy{{{zyzyyxyyzzzyzzzzyzyyyyyyyzzzyz{zyyyyzyzzyzzzz{z{|yzyyzzzyzzzyyz{zzyzzyyyy{zyzzzzyyzzyyzzzzzyzzzzzzzy{yzzyz{zzzzzzyyzyyzyzz{zz{{{z{zzyzzyz{yzz{{zzy{zzz{zzz{{yz{{zzzzzy{z{zzzzz{{z{z{yyzzz{zzzz{{zyzyzzzz{{{{z{{|{z{zzzzz{zzz{{{{zzyzzzzzy{{z{{{{{{z{zy{zzzz{{{{{{z{z{zz{y{z{z{{z{z{zyzzz{{z{y{z{zyz{zzz{z{{{zz|{{{zzzzzy{{zzzz{zzzyyyyyyz{zzz{zyyyyyzxxxyzzyzzzzzyxyzyyyzyzyzzzzyxzyxyxyzz{yyz{zzyzyzxyyyzyzyzzzzyzzyxyyyzzyzzzyyyzyxzzyyzzzzzzzyyyxyyyyyzyyy{{zzxzyyyyyzyzyxzyzzxyyyyyyzyyyy{zyzyzyzyyyy{zzzzzzyzyyxzyzz{zzyzyyzyzyyyyxyyzyzzzzzzzxzxyzyzyzzzzzyyyyxzzyyzzzz{{yzyyyzyzyzyzzz{{zzyyyyxyz{{zzzyzzzxyzyzyzyzzzyz{{zyzxzyyz{zz{z{z{yzyyxzyyzz{y{yz{zzyzzy{zy{yyzzyyzyzzzzzyyz{zzz{{zy{z{yzyz{yz{{z{{yzyzzzyz{z{{{{{zxyyzyzz{z{{{z{}z{zyzzzzzzz{{z{zzzy{zzzz|{{zz{zzzz{{zzzz{{{z{z{|{yzy{yzyzz{{z{z{{zyz{zyz{zzz{{z{zzzz{zyzz|z{{z{{{z{yyzyzzzzz{{{{zzzy{yzzzzzzy{yyzzyzyyyxzzyyzz{zzzyyyyyyyy{z{zz{zzzy{yzxzzzzz{{zzyyy{yyyyyzzzyzzzzzyyzzyzzzyzz{{yyyyyyzzyyzyzzzzzyzzzyyyzyzzyzzzzzzzxxyyyzzzzz{zyxyyzyyyzzyzzzzzyxxyzyyyyzzyzyzzzxyyxzyyxzzzzzzzyxyzyyzyy{zyyzzzzyyyyyxzy{yzzzz{zzyz{yyzzzzyzzzzzzzzyzxzz{yzzz{{zyzyyyyzz{yzz{zzzzzyy{yzzyzzzz{zyzzyzzyyzzzzz{zyzyzyzyzzy{zzz{{yzzyzzzyzz{zz|{{zyyzyzzzy{{{{z{{zzyzzzyzz{zy{zzz{zy{zzzz{zzzy{zz{{yzzz{zz{{{zz{{{zzzzz{{zz{{{{z{z{{zzzzyzyz{{{|{zzzzz{yzz{zz{{{{{|zyzzyyzz{z{{{{{{{zy{yzzz{{{{z{zz{zyzz{zz|{zz{{zzzzzyz{yz{zz{z{zz{zyzzzy{{yzz{yzzyyyzxyyyy{yzzz{zyyzzyyzzzyz{zz{{{yyzzyyz{zzz{{zzyyyyyzyzz{{z{{zyzzyxzyyyyz{yyzzyyyyyyyxyzyzz{zzzyzyxyyyz{zzzzzzzzyyxzyzzzyzz{zzzzzyzyyzz{zzzz{z{yzzyzyzyyzzzzzzzyzzyxzyzzz{zyz{zyy{yyxyzyzzyz{zyzyyzyzzyyzzz{y{yyyyyzyyz{{yzz{z{zzzzxy{z{{z{zz{yzyyyy{zzz{zzy{{yyzz{zzzz{zy{z||y{{{yzzyy{{z{{{{yzyzy{zzz{|{z{zyzzzyyzyy{{{{{{{zy{zzz{zz{{{{z|{|y{yyz{zz|{zz{{{{zy{zzyzy{{{{|{z{{z{{zz{zz{{{{z{{{{{zzz{{z|{{z{{{{zyzzzyzz|z{|{{{{z{zzzzzz{{{{|{{zz{{zzz{z{zzz{{zz{{zzzyz{{z{z{{zyz{y{zzzz{{{{{{{{z{zzzzz{z{{z{zzzxz{yyzzzz{{yzzzyzyyzyyxyzyzyzy{zyyyyxzy{zz{zz{{zyzyyxzyyyzz{zzzzyzyyzzxzz|{zyzxzzyyyzyyyzzzyzz{yzyyyzzxy{{zzzzzzyzyzzyyzzzz{z{zzzyzzyyxzzy{zzzyyzzyyzzzz{yzz{zzzyxzyyyzy{zzz{zz{xzyxzzyyzz{zzzzzyzyzzyyzzzyyz{zzyzyyzyyxy{z{zzzzyy{zzyzzz{{zz|zzzyyzzzzyzzzzyz{zyzzzyzyz{zzyzz{yz{yyyzz{{{zzzyzzzzyzzzzz{zzz{zzyzzyzz{z{z{zz{{zzzzz{zyzzzzz{zzzzyzyyzzz{{{z{z{{zzzz{{yz{zz{zz{|zzyzzzzz{{{{zz{z{zy{zzzz|{|{{{{{z{{zyzyzz{{{{{zz|zzzyzz{z{{||{|z{zz|yz{{{z{{{{{zzz{{yzz{yz{{zz{|{zz{zzzy{zz{z|z{{{zyzzyyz{{{{{{{{z{zz{zy{{z{{{{{zz{yyzzzz{{{zzyzzyzzzyyyy{zz{{zzxzyyyxzyyzzzzzy{zzzyyyzzz{zzzzz{zyyzyyxzz{zzzzzzzzyyzzyyzzz{zzzzz{yzyyzyyzzzzz{zzzzxzyyzyzzyzzzyzzzzyyzzy{zzzzzyzyyyzxxzzzzzz{yzzyyyzyzxz{yz{zzzzyyyyzzzzzzzz{z{zzzy{zyyyyzyzzzzzzyzyzyyzzzyz{{zyzzyyzyyzzz{z{{{{yyyzyzyyzzzz{z{yy{yzyzzzzzzzzzzyxyzyzz{{z{zz{zyzyyyyyzyzz{{y{{{zyyyzzzy{zz{z{{zzyz{yzzz{z{z{|{{zy{z{zzz{{{|z{{{yzz{{{zzz{z{{{{{zzzzyzzy{z{zz|{zzyyy{zzz{z{z{{{|zzzz{{z{z{z{{|{{zz{zzzy{{{{{z{|{{zz{zz{z{z|z{|{{{zzz{z{{z{z{{{{{zzzz{zzz{{z||{z{{{zz{zy{z{{{z{{{{zyzz{zzz{{z{{|{zzzzzzyy{z{z{zzzyyyyyyyyyzyz{{z{zyxyzyyzzzzzyzz{z{zzyzyyzzyz{zzzzyyyzyxyz{zzxz{zyzyyyyzyyy{zzzzyyyyyyyzyyzzyzzzzzyzyyyyxzzz{zzzyyyzyzyzzzzyzzzzzyyyyyyxyyyyzzy{zzyy{zyxxyzzyzzz{zyzyyyyxzyzzzzyzzyyxy{zyyyzyyzzz{zzyzyyyy{zzzzyzyzzyzyxyzxzzz{z{{yxyzxzzy{zzzzz{yxzyzyyzzzyyyzz{yyzzzyyyzzz{z{{zzzzyyyzzz{zz{z{y{zzzyzzy{{{{zz{zzzyzy{zzz{{zz{z{zzyzzzyzzzz|z{z{yyzzyyzz{z{|{{{{zyzzzxzzz{{yz{{z{yzyz{yzz{{z{{{{zyz{yzzz{{z{{{{zzzyzy{zzz|{z{z{|{zz|zyzz{z{{{z{z{yzyzzzz{{{{{zz{{z{{zzyzz{{zz{{{{zzzyyzzz{z{{{{{{{{zzyxzzz{{zzz{zyzzxyzzzz{z{zzzyzzyyyzyyz{zzzzzzyzyzxwyzzyzzzzzzzzxyyyyzzzyzzz{{xyyzyyyzz{zyzzzyyzyzyzxzzzzzzzzzzzyyzxyy{{yyzzz{yzzyzyyz{{zy{zyyzyyxyzyzzzzz{zzyzyyxyyyzy{{{yzzyyyyxzxyzzzz{zyzxyzyyzyyzzzzyz{yyxzyzyzyzzzyz{yz{{zyyyzyzzzzz{z{zzyzzzzyzz{zzz{{zzxzzyzzzzzzzzz{zzzzzz{z{{zzzzzzyzzyyyyyz{{zzz|zzyzzzzyzzzzzzz{{{yzyzzzxz{zz{z{{zzyyzzxz{zzzz{{zzzyyzzyzyzzzz{z{zzyzzzy{{zz{{{{|yzyzzyzz{{{{|{|{zyzzyz{{z{{z{{{{zz{zzzz{{{{y{{{|{z{zyz{zy{z{z||{{zzzzzzyzzz{{z{zzzz{z{zzzz{{{{z{{zzz{{zz{{{{{z{|zzyyy{zz{z{{zz{zzzzyyzyzzz{{{{{{zzzzzz{zzy{{{zzyyzyyxyyyy{zzzz{zzzzyyxxzzz{zz{{zyyyyyzxyzyyyzyz{zyzyyyyyzz{zz{zzzzyyxyzyyzzzyz{zzyyzzzzyyzzzz{{zzyzyyzxzzzzzyzzzyyzyyzzzyzyzzzzzyxyyyyyyzz{zz{zzyyyyxyyyzzzzzzzzyyyzxyyxyyzzz{zzzyzzxyyyyyzyzzzzyyzzyyyzz{zzzz{|yyzyzzzxyzzyzyzzzyzzyyzzzzz{zzz{zyzzzxzyzz{z{z{zzyzzyyyz{z{zzzzzyzzyzyzzz{yz{zzzyyzzyzyz{{{yzzzyyyzz{zyyzz{zzzz{{yzyzzyyy{{zz{z{yzy{z{zyz{zzzz|{zzzzzyyz{zz{zz{{zzyzzzzzzz{yz|{zzyzyzz{yz{zz{{z{{{zyzzyyy{z{z||{{yzzzzzzzz{yz{zzyyzzzzzz{{z{z{z{zzzz{zyzzzz{{|zzzzyyyzzzz{{{{{|zy{zzyzzyy{z{zz{{zyzzyyyy{yzz{{z{yzzyyzyyy{zz{z{yzyzyzyyzzy{zz{{zzzyyyyyy{zzz{zzzzzyzyyzyz{zzyzyzzyzyxyyzzzzzzzz{yyzzyyzyzzyz{zzyzyzyyzyzzyyyy{zzxyyyz{zzzzzzzzzzyzxyyyyyzzzyzz{zzzyzzzyyzzz{yzz{zyyyyzzyyy{{z{{zzyyyxzyyzy{zzzzzyyzyyyzzzzzzyz{zzzzzyzyyzz{zyzz{{yzyyzyyzz{{zzz{zyzzzyzy{{y{z{zzzzzzyyyz{zzzz{{{zz{zz{zzzzzzz{{zzyyzzyzzzz{zyz{zzzyzyyyzzz|zz{z{yzz{zzzz{{zzz{{{zz{zzzzz{z{|zz{{zzz{zzyzz{{{z{|{zzyzz{zy{zzz{{{{zzzzz{zzz{zz{z{{{{yzz|{z{{z{{{{{zz{z{zyzzz{{{{{zzzzyyzyz{z{{{|{{{zzz{zzz{z{zz{{{zzzzyz{z{zz{{|{{{zzz{zzyz{zzzzzzzyzzzzzyz{z{z{yzzzzyyzyzy{yyzzzzyyyyyxxyzzz{zzzz{yzxyzyyyzzz{z{zzyzyyyyyzzzyzyzzzyzxyzyyzz{zzzz{yzyzzyyxy{yzyzzyzyzyyyzyyyzzyzyyyyzxyyyyyxyz{zz{yyyyzzyyyyzzyyzzyzzyyyyyyyzzzyzzyyyyyyzzy{{zzzzyzyzyyyyyyzzzyyz|yyyyxyxzyzzzzzz{yzzyyzzxzyyz{{{zzzyxzyxzyzzyz{z{zyyzzzyz{zzzzyz{zyzzzyzz{zzzzy{zzzyzyyzyy{zz{{z{zzzzzzyyy{zzz{{zzy{zyzy{{zzzz{zzyyyz{zyzzzz{{{{zzzyyzzzz{zz{zz||zzyzzzzy{{zz{{{{zzyzzzyz{|z{z{|zzzzyzzzzzz{zz{|{{zzzy{zz{|z{{z{{{zzz{zz{zz{{{{{yzzzzyzzy{{zz{{{{{zzz{yy|{{{z{{{{zzzyz{zz{{y{{z{zzzzzzyzxyz{{{||{zyzyzzzyzy{yzzzzzyzyyyyy{zzzzzzzyyyyyxyyzyzy{zzzzyyyzzzyzzzyz{{zzyyzyyzyyzyzzz{zzyzyyzzyyyzzzzzzyzzyyzyyzzzyyzzyyyyyzzyzzzzzzzzyyyzyyyzzzzzzyzzz{xzyzxyzyzzz{zyzzzyzyzyyyzzzzzz{yyzyyxzzzzzzyzzzxyyyyzyyyzzyz{z{zyzzyyzyzyzzyyz{yyzzzzyxzz{{zzzz{zyyzyyy{y{zzzz{{yzzyzzy{zzzzzzzyzyzzyyyzz{y{zz{zzyz{yyzyzzzz{{{zyzzy{yy{zzzz{|zzzzzzzzyz{{{yz{zzzzzzzyzz{z{z|{{yyz{zz{zzzz{z{{{yyzyzyzz{z{z{{z{{yzzz{zy{{|{{{{|zy{zz{zzzzz{{zz{{y{{zzz{z{{z{|{{{{{zzyzz{{z{z{{{{z{{zz{zz{z{{{}{{zzzzzzz{{z|{{{zzzzyzzzz{{{z{{|zzzzzy{zyz{{{zz{{yzzzyzzyz{zz{{{yzzzzyyyyyyzz{y{zyzyyzzyyzzyyz{{{yyyyzzyyzzz{zzzz{zyyyxyzzzzzzzzzy{zxxyzyyz{zzz{zyzzzzzzyy{z{yzzzzyzzyyyy{zzyzyzzzyyxyzyxzy{zzzz{zyyxyyyyy{{{yzz{yyyzyzzzyzzzyyzzzzyyxyyyyzz{zz{z{yyyzzyyy{yyz{z{zyyyyzzz{{yzyzz{zzzzyzyzzzz{z{z{zzzxzyyzzzzzzzzzy{{yyyzz{zzz{z{zzzzzzyz{zy{zzyz{z{zzzyyyzz{zz|zzzyzyzzzyyz{{{{{yzzyzzzyy{{{yyzzzzzyz{zy{zzz{z{{zyzzzzz{y{{zz{{{{yzzzzzzy{z{zz{{{{zz{y{zzz|z{{{{{zyzzzzz{z|{zz{|{{z{zz{zzz|{{z{{{zyzzzyzyzz{{{{zz{yyzz{z{{{zz{z|{{{zzz{z{zy{zzz{zzz{z{{zz{z{yz{{||zzzyyz{yzzzz{{z{zzyxzzz{zzy{zzzyzyyyyyyyz{zyyzzzzyyyxyyzyzz{{{{zyyyyyzyzyzzzzzz{zyyyyxyzzzzz{zzzzyyyyyyzzzzyzzzyyzyzzzzyzyzzzzz{yyzzxyyyzzyz{yyzyyyzyy{yzzzzzzzyzyxyzyyz{zzyy{zzyyyxzzzz{y{zzzzyzy{yyzz{y{zzyz{zyyyyyzyyyy{zzz{{zyyyyyyzzzzzzyzzz{yyzyyyyzzzz{z{yyzzyyzzzzzz{zzz{zzyyyyzzzyz{z{zzzzzzz{zzzyzz{zzyzzyyzzyzzzz{z{{zyzyyzyzzzz{{{zyyxyzzyz{{zyz{{{{zzzz{zzzzzz{{{{zzzz{z{z{yz{z{|{zzzzzyyzz{{{|z|yzyzzyzzz{zz{z{||z{{z{{z{{z{{|{{{{z{zzzzz{|{z{{{{{{zzzzz{z{{zzzzz{yz{zyz{z{{{z{{{zzzzzzz{zz{{{{{{zzyzzzz{{{z{zz|{zyz{zyyxzz{{zzz{zyzzyyzzz{z{z{yyyzxyyyyyy{zyzz{zyxzzzyxyyy{{yzzyzzzyyyyyyyz{z|zzyyxyxyyzyzzzyz{zzzyyyyyxzzz{{zz{zyzyyzzzz{zzyz{zzyzyyyzy{xz{z{zzyzyyyyyyyz{zzyzzyyzyzyzyyyzyyz{zzzyyyyxxzz{zzz{{zxzzyzyyzzzyzz{zzyxyyyyzyzyyz{zyzyyzyyyyy{yzzz{zzzyyzzyxyzzzyz{zzyzyyyyyz{zzzz{z{y{yzyyzzzyzzzzzzzyzyzyyzz{zzzz{yyzzzyzyyz{{zz{zzzzyzyyy{zzzzzzyzzzz{yyzz{zzzz{zzzyyyzy{{{z{{z{zz{z{zzzyzzyzz{z{zzzzzzzy{{zz{z{zzzzzzzzzz|{|{{{{zz{z{z{zzz{zz{{z|zyzyzzz{zz{{z{{z{{zzzy{zz{{z{{{zyyz{zyzz|z{{z{|{zzzzzzy{zz|{{|{yzyyzzyyzzzzz{zz{zzy{y{yzzzz{z{{yyyy{zzzy{{zyz{yyzyzyzyyy{zzzyzzyzzyyyyyyzz{z{z{zzyyyzzyzz{z{z{zzyzyzyzzzz{zxz{zyyzyyyzzyzzzzzzzzzzxyzyyzyzyy{yzyzyyyyyy{zzyzzyyyyyzyzyyyzz{zzzzyyxyyyyyzyz{zzz{{yyyzyxyzzyzzzzzzyyxyyzx{zy{zzzzzyzyyyyyyzzyyzzzzzyyyxzyyzyzy{zzzxzxyzyyyzyzyzz{zyzzyzyyzzzzz{z{zzzzyyzzzzyz{zzzzyzyyyzy{zz{zzzzzyzzzzyzyzz{{{{{zzzz{yzy{zzzz{{{zzzyzyzzz{{z{zz{zyzzzyzz{{||{{y{yzzzzzzzzzz{z{{{zzzyzyzz{zzz{z{{zyzz{zzz{|z{{z{zz|{zz{{z{z{{{|{z{yzzz{{{{{{{{{|{{|{{zz{z{{z{z{{{zyzz{zz{{zz{{{{z{zyzzyzzzz{{{{{{{yzyz{zz{{{z{z{z{zyyzzzyzyz{{{{{zz{yyzyxzz{zzzyzzyxyyyzyyzzzyzz{yzyxxyyyyzyzz{zzzyyzyzyzzzzzyyzzzzyzyzyzzz{zzyzzzz{yyzxxyzyyyzyzyxzyyyyzzy{yyzzyzxyzyzyyzz{zzzzz{zzzyxyxyzzzzzzzyzyxzyyyzzzzzzzxzyyzyyyyyzyxy{{yzyzzxzyyzzy{zz{zzzzyyyxzyyzzyyzyyzyyzyyxzzyzzz{zzyyxzyzyzyyzzz{{zzyyzyyyz{zy{zz{zzzxyyzzzzz{z{zzzzyzyyyyzzzz{|zzyyzyzy{zzzz{zz{zzyzyzzyy{zzz{z{zyyyyzzzzzyzzzzzzzyzyzyyzzz{{z{{zzyzzzz{z{{{{z{{{zzzzzzyz{zz{{{{z{zzzzyzzzz{zz{{{yzz{y{zz{zz{z{z{{zzzzzyyz{{z{z{{zzz{zyzz{z{{z{{zz{yyzz{zz{z{{{{|{{yzzzzz{y{{{{{{zz{zyzzyy{z{{{{z{zzzzzzzy{zzzzz{zzzx{zyyzz{zzyzyzyzyyzyyyzzyzz{{yzyzyzyyyy{z{z{z{zzyyyzzzzzzzzzyzyzzyyyyzyzyyyz{zyxzyyyyzyzzzzy{zyyyxyyyyzyz{{{zzzyzzyzyzzyzzz{yzzzzzyyyzyyyzzyzzyzxyxyyzz{zyzzyyzzyyyyyzz{zzz{yyzyxyyyyzzz{zzzyyyyyyxzzyyyzzzzyzzxxyyzyzzzyz{z{zyzyzyzzzzz{zz{zzyzyzyzzy{{zzy{{yyzzyyzxyyzz{zz{zy{yyyyxyz{zzzzzz{zzzzyyyyz{z{{zzzyzyzzy{{{z{z{{zyzzyy{z{zz{{zzz{{y{zyzyz{z{{zzzz{zzzzzy{{y|zz{{zz{yzyyzz{{{z{z{{zz{z{zzz{{z|{{{zzzzz{{{z{zz{{{{{z{{zzz{z{{{z{{z{zz{zzyz{{{{{{z{zzzyz{zz{{z{{{{{zzzz{zyz{zzz{|{{{yzyzyzz{zz{{z{zz{{{z{zyzz{zz{{zyzyyzxzzzz{{zzyzyyxyyyyyzzzzzz{{zzyyyyyxyzzyzzzzzzyyzyyyzzyzzzzzzzyyyyyyzzzzzxyyzzyzzyyyyyz{z{yzyyzzyyyyzyyzz{z{yyzyyzxyzx{yyzzzyzyyyyyzzzzzzzzyyyyyyyyzzzzzzzzzzyxyyyyyyyzzzzzzyyyyyxyyyzzyz{zzzzyyzzyyyxyzy{z{zyzyzyyyzzzzyzzyyyyzyzzyyy{yz{zzzyzyzyyzyz{zzzzzzyzzyyzyzz{{zzzzyzzyyyyz{zzyzzz{yyzyzx{y{zy{y{yzzyyzyyzyzzzzzzz{zyzzyyzyzz{y{{{zzyyyzzzzz{{{z{z{yyyyy{zz{{z{z{{zzzzzzyyy{{{{|{{{{yyyzyzyz{{zz{zz{zz{yz{zz{yzzzz{{zzzz{{z{}{{{{{|z{{{z{zz{y{|z{{{{yz{zzz{{{z{{{{{zzz{zzy{{z{{{zz{{y{zzzzzz{z{zz{{yzzzzzzyz{zz{{{zyyzzyyzzzzzzyzyzyzxyyyyzyzzyzzzzyzzyyxyy{zzzzzz{yzyyyyyy{z{zy{zzyyzzyyyyyyzzzzzzyyzyyxzyyyz{zyzzzzyyzyyxzzyyxzyyzyyyyyyyyyzyzzzzxyyyzyzx{yzzy{zzyxzzyyxyyzzzy{yzzyyzyyyyzzzzzzz{zyyyyyyyz{z{zyzzzyyyzyywzyzzzzzzyzzyzyyyyyzzzyzyyyyyzyzyz{zzzz{{z{yyyzxyy{zyzzy{zyyyzyyyzyyyyyzzzzzzxzyyzyzzzz{zyyyyyyyyy{zz{zzzyxzyzxyzz{|{zy|zzzz{yxyzy{{zyzzzzzyyzyzyzzz{{zzyzzzzzzzzzzz{{{z{zzzyzyyyz|{{|zz{zz{yzyzyz{{zz{|zzzzzyzzz{zz{z{{{{zzzzzzy{{{{zzzz{z{{zzyz{z{zzz{z{yzy{zyz{zzzz{{z{{zz{zz{zz{{{{z{z{zyzy{|yzy{z{{{zzzyyzyzzz{z{z{zzzyyzyzz{zzzzz{zxzyyyyyzzzzzzzz{yyyyzxyyz{zz{zz{zyyxxyxyzyyzzzz{zyy{yyyyyzzzyzz{zzyzxyyxzzy{z{y{yyzzyyyyyzzzzzzzyyyyyzyyyzyzyyzzyzzyyyy{yzzyyzzzyyyyzyyzzy{zz{zzyzz{xyyzyyzyzy{zyyyyyyxzyzzz{{{{yzyzyyyyyyzyy{zzyzyyyyyxzzzzyzzzyyyxyxyyzyy{zzz{zyzyzyzyzz{zzzzzzzyzzxzxzzyzzzyzyzzyxzyyyzzyzzzzzyzyyyyyyz{zzzzzyzyzyyyyzzzyzzz{zyyzyyzyz{yy{zzzzzz{zzyzzzz{{{zzyyzzzz{yzz{zz{{z{yyyyyz{z{{{zz{{yzyzzyzz{|z{z{{{{zzzzzzz{zzz{{{{{zzzyyzzz{{{zz||{yzzzzyy{zzzzz{{zyyzzzzy{{z{{{{z{z{zzzzz{z{{{{{{z{z{zyzzz{{{{{{zz{yzzzzyzz{z{zzzzzyzyzyy{{{zzyzzyzyzyyyzyzzyzzyzyzyyyyyyzzzzzzzyzyzzxzxyzyzzyzzzzyyyyyxyyzzzyzyzyzyyyxywzzzzzz{zyyzxyxzyyyyyyzzyzyyyyzxyyyz{zyzzzyyzyyyyyzyz{zzzxyyxyxyyyzz{zzzzyyyyxzyyzzzyzyzyzyyyyyyxyzz{zzzzyxyzyyyyzzzzzzzzyxyzyyxxyzyzyzyyzyyyyxyzzyyzzzzzzzyyyyzy{z{zzz{zzyzyyxyzzzzzzzzzyyzyzzyzyz{zyzzyzzzzyyyxzzzz{zzzyzyzzzyyzy{zzzzyzzyyyzyz{zzzy{{zzzyyyyyyzz{z{z{zzzzyyzzzz{z{{z{z{zzyyyyyzyz{{{{zzyyyzzzzz|z{{{{{zzzzyzz{y{{zzz||{zzyz{zzz|zz{{{{zyz{yzzz{{zzz{|{zzyzyz{zyz{{z{{|{zz{zyzz|zz{z{{|zyzzzzyyzzzzz{zzzzzyzzyyzzzzyy{zyyyyy{zxz{zzzzyzyyyzyyyyyzyyzyzyyzy{yyyxzxyzzzzzzyyyyzyy{zyzz|{yyyzzzxyyyzzzyzzzzyxyzyzxyzzzzzz{yzzyzzxyzyzzyy{yyyyyzyxyyyyyyy{zyzyyxyyyzyzzzyzzzyyzyzyxzzzzzz{yzxyzyyxyyzzzzyzzzyzyyyxyzzyzzz{zzyzyyyyyyzyyzzzzxzyyyxyzzzyxzzzzxzzyzyxzzy{zz{{{zyzyyyyx{{zyzzz{yzzz{yyyzz{z{z{zzyzyyxxz{z{zz{zzzzzyzyzzzy{z{{zyzyzyyzyzz{{yzz{y{zyyyzzzzzz{{{{z{zzzyz{zzzz{{z{zyyzzz{zzz{yzzzz{zzyzzyyyzzzz{{{zzy{xzy{zz{{zz{{{y{zzyzzz{{z{|z{{|zy{yzzzz{zz{{{{{zzzzzzz{{{{{{{z{zz{yzzy{z{|z{{{{yzz{zzzz{z{zz|{yz{yzzzyzzzzzz{zzzzzyyyz{{zzyz{{z{zyzzzyzzzzz{zzzyyzzyyzyzzzzzzzzxzyyzzyz{zzzzzzyyyxxyyyyzyz{{zzyxzyyxyyyz{zyz{zzyyyxyzyzyzzyzzzyyzzzyyyzzzyz{zyzyzyyyzyyxzzzzzzzyyyxyyz{yzzyyzzyyzyyyyyzzyyzzzzzyyyyzyyzzzyzyyzyzzzyyxzyzyzzzzzzyyyyyyyy{yzy{y{yzyyyxyyyzzzyzzzyyzzyyyyyzzzzzyzyzzzyyyyz{zzyz{{yyyyyz{zyyzzzz{{y{zzyyzyzzzzzzz{zzzyzzzyzz{zz{zzyyyzxzyzyzzy{{zzyyzzyyzzzzzzzz{y{zzzz{zyyzz{z{{{y|zzzzzzzzzzz{zz{yz{yzyzz{{z{{{zzyzzzyzyzz{{zz{{{zyy{zyyz{y{{{{z{zzzz{zz{{z|{z|zz{{{zzy{{|zzzzzz{zzzzzzzzy{{{{{{zzzzzzzz{z{{z{{{{z{zzzzy{|{zzz{z{z{zzyzzz{zz{z{zyyzyzyzyzyyzzzzyxzyyzyyyyzzyzyz{yyzzzzyyyzzz{z{{{zyyzyyyzzzzzz{zzyz{yyyzy{zzyzzzzyyyyzyyzzzyzz{zyyzzyyzyyzyzzzzzzyyyyyyyzzzzzzyzzzyxyzyyzyzyz{zzyyyyxyzzzzzzyzzzzyzyzyxyyzzyz{zzyzyzyyyy{yzzz{z{xzyzzyyyyzzyzzyzyzyxyyzyzyzyyzzzyzzyyyyyzyyzyzzzzyyyyyzz{zzzzzz{zyzzyyyzzz{zz{{zzyyyyzyzzzzzzzzzyzzyyzzyy{|z{z|y{zzyzzzyzzz{{z{zzzyzzyyzz{zz{{zzzzyzzzyzy{z{{{{{zyzzzz{zzz{{z{{|zzzz{zyy{{{zzz{zzyz{{zzy{z|{z{|z{{{zzz{{z{{{zz|{{yzzzzzzz|{{z{{{z{{{zzzz{{{{zz{zyzyyzzzzzz{z|{{{zzz{{zz{z{{zz{{z{z{yzzzyz{z{{{{{{zzzyzyy{{{{z{zzzyzzzzzyzyzyzzyyzyyzyyxyzzzy{yz{zzyyxyyzzyzyy{|zyzyzzyyyz{zzyyz{{xzzyxyyyzyzyzyzyzyyyyzyyz{zzz|zzyzyxzzzy{yzzyz{zyyzyyzyzyzxy{zzzyyyyyyyyyy{zzz{zxyyzyyyyzyzy{yyyxzyyyyzzyyyzzyyyzyyxzzyzzyzzzzzyyyyyxxyzzzyyzzzyyxyyyzzzzyzzzzzyyyzy{yyz{y{{zzzyzyyyxzyzzzzzzz{yyyzyyzzzzzzyzz{yzzyyyyyzzzzz{zzzzzyyyyy{{zzzzzzzyzzyyxzzz{z{z{{zzzyyyzyz{zy{zzzzzyzyzzzz{z{zz||yyz{zzzyzzz{z{{{zyzzzzzzz{{z{{{zzyyyzzzz{{z{{z|{zzzzz{{zz{{z{{z{{zzzy{yzz|{zz{{z{yyzzzyy{zz{{{{{{yy{zyzyzzzz{{zz|zyzz{{{z{{{{{z{{{zyzzyyzzz{zz{{{zzyyyzyz{{zz{{zzyzzyzzzyz{zz{zyyzxyyyzxyyzzz{z{zyyyyyzy{{zzz{{{zyxyyyzzzzzzyzz{zyyyyyyxzzzzzzzz{yyyzyzyzx{z{yzzyzxxyyyxyz{yzyzzyxzzyzyxzyzzyzzzzyyyxyyy{yzzxyzzxyyyyyxxyyzzyz{yyyzxyyxzyyy{zyyyyyzyyyyzyyzz{zzzzzzyyyxyzzyzzzzzzyzyyyxxzzzzzzzyyz{yzzyxyzxzy{y{zyyyyyzyzzzyzzzzzzzzyyzyyzzzz{yzyzyyyzyxzzzz{{{yxyzzyyzyyz{z{{{{z{zyyzyzyz|zz{{zzyzyyzyzz{zzzz{zzzyzzzzzz{{zz|{{yyz{zyzzz{{|zz{zz{zyzz{y{zz{zzz{zzy{y{{z|{{zz{{z{z{{zzzz{{{{{{{{{xyzz{zzz{zzz{{{zyzzzzz{{zz{z{{{zzzzzzyzy{{z{z{{|yyzzzy{zzz{|{|{{{zyzzyzz{{z{z{{zzzzz{zz{{{{{{{zzyyyyyzyyzzzz{zzzxyzyyyyyzzz{zzzxyyyyyyxzzyzyzz{zzzyyxyyzzyz{z{z{zyzzyyxz{yzzy{zzyyyzyyxyzzzzzyzyyyyzyyxzzyzzzyyyzyzyyyyzzzyzxz{zyyyy{yzzzyzzzzzyyyyyzyyzyzzzzzzzyzyyxyyy{{zzzzyzyzyyxyzyyyy{zyzzyyzzzyzyzzzzyzzyyyyyyyyyzzy{z{zzyzyzzyyyz|zzz{zzyzyzyzyzyzzzz{zzxzyzyzzzzzyz{zzyyzyyyzyyz{zzz{zzzyzyyzzyzz{{{z{zyzyyzyyz{z{{zz{{zyzyzxzzz{yzz{{zyzyzzzyzzzz{z{zyz{yz{zyzyzz{{zzyzzyzzy{z{z{{{{{{y{z{y{zz|{z{zzz{{zyy{z{{{{z{{|{{zzzz{yzz{yz|{{z{zzzyzyz|{zz{z{{zzyz{zz{zzz{yz|{|{zzyzyzzzzz{z|{zzzyzzz{{z{z{z{{{yyyzzzzyzz|z{zzyzyyzyyzyz{z{{yzy{yxyzyxy{{yzy{zzyyyyyyzyzyy{{zz{yyyyzyyzzyyzz{{yzyzyyzyyzy{yzzzyyzyyxyyyyzzy{z{zzyyyzyxyzzyzz{yyzyyxyyyyzzyzzz{zyyzyyxzzyyzzzzzzxyzyyyyyzzyyzzyyzyzyyxyxyzzzyzzzyyzyyyyzzzzzzzzxyyyyxyyyzzyzzzyzyyyzyzyyyzzzzz{yyyzyzyzyzyyyy{yyzxyxyyzzyzzzz{{zzyyzz{{yzzzzzyzzzzyyyyy{zzzzzzyzyzzzyzy{z{{zzzzyzzyyzyyzzyzzz{{{yyyyzyyzz{z{zz{yzzyzyzzz{{{{{{zyzyyyyyyzzzzzz{{yyzzz{yyy{{zz{{{zyyzz{zz{|{zz{{{{yzyz{zxzy{z|{{zzzzzzzzzy{{{{{|{{zzzyzyz{{z{{{zz{zzzyzzy{zz{zz{z{zy{zzyy{zz{|{{{{zyzzzyzzzzz{{zz{yzzzzzzzzz{zzzzzz{yyyyz{zzzyzyzzxxyyyyyzzzzyzzzyyzyyyxyyzzzzz{yzyyyyzxxzzzzzzzzyzzyyzyzyzyyyzzzyyyxyzzyz{zzzyzzyyzyyyyyyyzyyyzyzyyyyxyzzyzy{zyzyyzxyyyyyy{zyzzyyyzyzyyyyzzzzz{yyyzyyyxyyyzyzzzzyyzzyyyyyzyzzzzzzyyyyyyyzyzzyzyyyyyyyyyyyyxyy{{zzzyyzzyy{zzzzzzyzyyyyzyzyzzyyzz|zyzyzxzyzzzyzzyz{yyzzyxy{yzzyzz{yyyzyzzyy{zxzzyyyzzzyzyyzzzzyzzzyyyyzzyyzzzzzzzzzzzzyyyzzzz{zz{{yzzzyyzz{yyzzz{zyyzxzzyyzz{{{zzz{{zzyzzz{{{{{zz{zzyzzzzzzzzzyz{z{z{zyy{yz{{zz{{{zy{{zzzyzzy{z{{zzzzz{zyz{zzzz{{{{zzyzzyyzz{{{z|{zzyyzzzzyz{zzz{z{zzzzyyyz{z|zz{yzyzzzyyyzyyzyz{yzyyyyzyxxyzy{zzyyyzyzyyyyyzzz{zzzzxzyzzyzzzz{yzzyyyzyzxyzzzzyyz{yzyyyyyxzyzzzyzzxyyyyyyyzzyyyz{zzyyyyyyzzyyzy{zzyyyyyzyyyzzzyyyzxyyyyxyyzzyxzzzyyyzyyyyxzzyyyzyzyzyyxyxyyzzyzz{zzyyxyyxxyzyyyyyyyyyxyyyyyzzzzzzzyyzyyyyxyzzzzzzzyyyzyxxywzyzyzz{zyzzyyxzzzzyz{{zyyyyyyyzzzzyyyz{zyzzzyyyz{zz{{yzzxyzzyzzzzzzyzzzyxzyyzyzyzzzzzzzzzzyyyz{{z{zz{{|zzzyzyzzz{{yzzz{zyxzzyyyy|z{{yzzzyzzzyzzz{z{{{{zzzzzzzzzz{{zz{z{{yzzzzyyy{{z{{z{zz{zyzzyz{z{zzzz{zyz{yz{{{zz{|{{{{yyzzyz{{z{zz|zzzyyzyzyzzyz{{|{zzyzyzzzz{zyzz{zzzyzzyz{yyyzzzzzyyxyxyyyzyzzzyz{zyyyyyyyyzzz{zzzyy{yzz{zzyz{z{zzyyzyzzxyzzzzzzzzzzyzyzyyyzzzzzy{yxzyyyzyyzzyyzzzyyyyy{yyyzzyyzyzyyyxyzxyzzyzyz{zzyzyzxyxzzzyzz{zyyyyyzwyyyzz{zzyyxzyyzzyxzzy{zzzzyyyzyyyyyzzzzzyyzyxyxyyyzyzzzz{yzyyyzxzzzz{zzzzzyyzyxzzzzz{zzzzyy{yyyyy{zyy{{z{yzzyyyyxzyy{{z{{yyzyzyyzz{zzz{{{zxyyyyxzzzzzzzzzzyzzxyzzzzzzz{zzzzyzyzyzz{z{{zzzyz{zzzyy{zz{zzz{zyzzyzyzz{{z{{z{zyzyzyzz{{z{zz{zzyzyzzyzzzzzzzz{{zz{zzzzy{z|{{{{zzzzzzzzzyy{y{zz{zzyzzyz{{z{z{{{{zzz{yzz{{{{{z{{zyyzzzyzz{{zzz{{y{zyxyyyz{{zzzz|zzyyyyyyzz{{zzyyyzyyyyyyyzzzyzzzzzyzyyyyz{yy{zyzyyyxyyxyzzyzzy{{zyxzyyyyzy{{yzz{yy{xzyxzzyzyzz{zzyyyzzzxyzzyzzzyyzzxyxyxxzzzzzzzzyyzzxyzyyzzyyzzyzyxyyzz{yzyzyzz{zyyzxy{yyzy{zzyzxyyxyyyyzyyz{zzzyyyyyyxyzyyzzyzzzzyzxyyyzzzyzyzyyzyzyyyyzzzzz{yzyyzyyyyzzyy{zz{zyxyyxyzzzz{z{yzyzyyxzzzzzzzz{zzzyzyzzzyzz{zzz{zzxyzz{yzzz|zzzzzzyyzzz{yz{{zy{{zyyyz{yyy{z{{z{zzzzyyzzzyzzz{{{z{zyzzyyzyzzzzzz{zzyz{zzzz{{{{{zz{{zzxzzz{z{zz{{{{{y{{zzzz{{{z{{{{{yz{zyzyz{z{z{{yzy{yyzzzzz{z{{{{{zyyzz{y{z{{zyz{{{zzzzyzz{{{{|{{{yyyyyyyz{{{zz{zyyzyzyyzzz{z{zzxzyyyyxyyyyzyzyyzyzzzyyyyzz{{zz{zyyzyzzyxzzyxzzy{zxyyyzyyyyzzyz{zyzyyyxzyyyzyzz{{yzyyzzxxy{zzzyzzzzyyxyyyyzzzzyzyzyyyyzxyyz{zzzzzzyyyyxyyyyzzy{{yzyyyyyxyx{{z|{{zyyyyyyyyyzyzzyzzyyyyyyzyyyyzyzyzyyzyyyxxz{yyyzzzyyyyzzyyzyzzy{zzzyyxzzyzyzyzyz{zzyzzyyyyzzzzzzz{zxyyyyzyz{yz{zzzyyzzyyyyz{z{zzyyzyzzyyzyzy{{{zzzzyzzyzzyzzzyzz{zyzzyzzzzz{zz{{{zz{yzyy{zzzz{zzz{{zzzyyzzyz{zz{{zzyy{zzzzz{{z{{{|{zzzyzzyzzz{z{{|{yyyzzzzz{z{{z{{zyyzyzzzz{z{z{zzzyzzzzzzz{zzz{{{zzzy{zzyy{z{{{z|z{zz{zzzzzzzzz{zzzzzyyyyyzzzzz{{zyzyzzzy{zzzyzzzyyzyzyzyyzzzyyyzyzyyzxxyzzz{zzzzzxyyyyzzyzyzzyzzzyzyyyyyzzzzzzzyzy{yxyyyzz{zzzz{zyyzxyzyzzzzyzzyzyyyzyxyzyzyy{z{yxyyyzxyyzzzzy{zyyyyyzyyzyxyzzzzzxyyyzyzyzzz{zz{{yzyxzxzxzzyyy{zyyzyyyzyxzzxzzzzzyzyzyzzyyyzyyyzyyxyyzyx{yzz{z{zzzyyzyyyyyzyzzz{yzyyzyyyzzzzzzzzyzzyxyyyzz{yz{{zzzyzyzzzy{zz{{z{yz{yzyzzz{zzz{{{zxzzyzzzz{zyzzzzzyzyyy{zy{{{z{{zzzzzzzzzz{z{zzz{zzyyyzyyz{zzz{zzzyz{zz{zzz{{{z{zzyzzzzyz{zzz{z{zzzzxz{zzy||{{{{{{yzzzzzzzyz{{{{zzyzzzzy{z{{{||z|zzy{zzzzz|z{{z{{zz{yz{yzyyzz{z|{zyyzyzzyz{zzyz{z{y{zxzyzzzzy{zzzyyxxyyxyyzzyzzzzzyzyzyxyyzzzyz{zzyzyyyzyzz{z{zzz{yyzyyzyzy{zzzzzxyyyyyyyzyzzzzz{yyyxyzxzyzzyzzzyzyzxyyyyzyyyyzyyzzzyzyyzxyyyzz{{yyyyzyxyzzzzzyzyyyxyyyyyzz{zzzzzyzzyyyxzzzzzzzy{yyyyzxyyyzzzzzz{yyxyzyzyyzyyyzzzyyzyyyyyyzzzyyzzzzyxzxyzzzzzz{zzyyzzzyzyzzzzz{z{zyzzzyyyzzzzz{zzyzyxzxzyz{{yzzzzzzzzyyyyz{{zzz{zzzyyzyyyzzyzzzz{yyyxzyzz{z{{{zz{z{yzzyzz{zzzz{|zzzyyzzzyzz{{{z{{zyzzzyyy{|{{z||{zz{yzzzz{z|{z{{z{zzzyzyyzzz|zz{zzyzzyyzy{|{zz{zz{yzzzzyyz{zzzz{{{{yz{{zzz{z{{zz{z{zzzzyy{{{z{{z{zzyzzyyyz{zzzz{{zzzxzyyyzz{zzy{zzxyxxyyxy{{zzzyzyyxyyyzzz{{zyzzyyzyyyyzyyyzzzzzzyyxyyzyzzzzzyyz{zyyzyyzyzzyyzzyzzyyxyyyyyyzyyzyzyyyyyzyyyzzzzyyyzyyyxyyyzzyyzyzzyyyyyyyyzyzyyzzzyyyyxzxxzyyzzzzzyyyyxyxxyzyzzzzzzyyyyyyyyyyyzzzzyyzyyyyyxzzyz{y{zyzyzyxyzyzzyzzzzyzyzxzxz{zyz{y{yyzzyyyyzzzzyyzzyyyyzyyzyz{zzzzyzzzzzy{yzzzzzz{zzzzyyyyyzz{zz{{zzxyzyyyz{zy{zzzzyzyzyzzzzz{y{z{{yzzyzy|zz|zz{z{zzzzzyzyyzz{z{z{z{zzzzzzy{{yz{{{{z{|y{{zyzyz{{z{{{yyzy{zz{|{{z{{zzy{{zyzz{z{{z{{zy{yy{zz|z{{{{{{z{zy|zzy{z{z{|zz{{z{xzyzzz{zzz|{zzzyyzzzzzzzzz{{{yz{yyy{zy{zyzyzzyyxyyyxyyzzzyzz{zyyzzxzyyyzz{zzzyxyxyyyyzzz{zz{{{yyzyyyzzyz{zz{{xz{yxyzzyzyzz{zzyyzyyyyyy{zzzyzyzyyzyyxyzzzyyyy{zyyzyyyyzyyzyyzzyyyzyzyyzyyzyy{yyzyzxxyyzyyy{yzzyxxyxzxyz{zyyzz{zyzyyyzyz{yyzzzzyyzyyyzxzzzzzyzzyzzzzyzxy{zzzzzzzzyyyyzyy{zyzzzzy{yyyyzyzzyzyyzzzyzyyzzyyzzzzzy{zzyy{yzzyyzzz{yzyz{xzyz{zz{{zz|zzyzzxyzzz{z{zzyzzyzzyzyzz{z{{zzzzzzzzzzz{zz{z{{{zyyzzzzzzzz{{z{yzyzyzz{{{{{{zzz{zzzzzzzz{{|{{{z{{{yyy{zzz{{z{{{zyyzzyzzz{z{{zz{{z{yzzzyzzzzz{{{{zyyzzzyzz{{{{{{{zzzzzzz{zzzzzz{|zzzzzzyyz{{z|zzz{yzyzyzy{zzzzzzzzzyyyyzxyzzzzz{zzxyyzyyzy{{yzzzzzzyyyyyyyz{z{zzzyzzyyyyyzzzzzz{zyyyyyyyxzzz{zzy{zyyyyyxzy{yyyzyzyyyzyyxxzzyyyyzz{zyyyzyyyzzzyzzzxyzyyyyzyzzzzzzyyyyzxyxzyzzyyzzzyzyzzyyyz{zy{y|{zyyyxxyyyzzyzzzzzyxxyyyyyzzyyz{zyyzyyyzxzzzzyzz{{xyyyzzxyzzzzzz{xyzyzyyyzzzy{{{{zzyxzzzzzzzzzzzzzzyyzyzz{y{zz|{zyzyyzyzyz{zzzz{y{zy{yyyzzzzzz{zz{yzzzy{y{zzzz{{zyyzzyzzz{{z{zz{{zyzzzzzyzz{{z{{z{zyyzyzy{{{{zz{zzy{yyzzyz{{z{{{zzzzzy{{yz{{{z{z{{zzzyxzzzz{z{{|z{yzzzzzy{{{{z|{{{zz{{z{{|{z{zz{|zzzzzzzzzzzz{z|{zyzzzyzzzzyz{{z{zzzyyyyyzz{zzzzzyzyyzzxxyzy{y{zzyxzxyyyyyyzz{zz{yyxyyzyyyzzzzz{zzzzzzx{yzzz{zzzzzzyyyyzyzy{{yzzzyyyyzyzyzzyyzy{z{zyyyyyyyyzzy{yzzyzyyzxzy{zyyzyzyyyyyxyxyyyyy{zzyyyyyyyzxyz{yzzzzzyxxyxzyyyzyy{zzyzyyxyyyyzzyzz{yyyxyxzyyzzyxzzzxyyyyzxxyyzyyz{zzzzxyyyyz{zz{z{{zx{yzzzxz{zyzzzzzyzyyyyyzzzzzz{yzzzzzyyzyzzz{zz{zyyyyyzzz{z{zz{{zyxzzyyyzzz{zzzzzyyzzzzz{{{zz{zzzyzyzzz{z{z{yzz|{z{zzzzyz{{zz{{zzyzz{yzz{{z{{{{zzz{yz{yzzz{{zz{{{zyyyz{zz{{{{{{{{z{zyyz{z{zzzz{zzzzyyyzzz{z{zz{{zyyz{{zz|{{z{{{{zzyzzy{z{{{{zzzz{xzzzzyzz{yz{{{zyzzyzyzzzz{zzzyzyyyyyxyyyzyyyyz{yzxyyyyyzzzzzzz{zyyyzxyyz{zyzzzzyyyyzxzyy{yzz{yzzzyyyyzxzzzzyzyzyzyyyyyyzzzzzzzyyyyyzyyzzyzzyzzzzz{yzxyzzy{yzz{zyyyyxyzxyzyzyzzyzyyyzzyyz{zyy{yzyyyyyyyyzzzzy{zzyyzxyyyyyx{yyzyzzyyxyzyyyzyz{zz{yy{yyyyyzzzzz{zzzzzyyzyyzzzyz{zzzzyyyzxyzzzzz{z{yyzyyyzyzyzzz{zzzyzyyyzyzzyzz{yyyyzyzzzy{zz{zzz{zxyzyzyy{zzzzzzzyyzzzzyzyzz{zzzzzzyx{yzzz{|{{{{|zzyzyzyz{{{{zzz{zzyz{yyy|{{{{zzyzzzyz{yzz{{{|{{{zyyzzzzzz|z{y{z{{y{yzzyzzzz{{zz{{yzyyzzzz{zzz{{zyyzz{zzz{zz{{{|{{{zzz{{yzz{{zz|{{{yyyyzzz{{zzy{zzzyzzxyyzyzx{zz{zyxyxyyyzzyzzzyzzxxyyzzyyz{zzzzzzyyyzyzyzzzzz{zzyzyyzzyzzzy{yzyzzyyyyyyxzzzzzzzzyyyyxzzyyzyyzz{zzzzyzxyyzzzzyzzzyzyzzzyzyyzzy{zzyyyyzzyyyzyyzzyzxyyzyyyxyzzzzyy{yyyzxxxxzyzzzzzzyyzyyzyyyzzyyzzyyyyxyyzyyzzzzyzzzyyyzyzyzzzzzzzzzyyyyxzyzz{yz{z{zzzyyyxyzyyzy{z{zyzzyzzzzzyyzy{zzz{yxzzyzzyzzzzzzyyzzzzz{z{zzz{zzzzzyzz{yz{yz{zzzyyyzzyzzz{zz{z{yyzzyzzz{zzz{|zzzyy{z{zyz{{zz{{{{yyzzzzz{{zzz{z{zz{xzzzzz{z{z{{z{yzyzyzzy{z{{{zz|zzzzzyzzzzz{{{{zzzzz{zyyzz{{z{{{{z{zy{{{zz{{{{zzzzyz{yzzzzyy{{{y{yyyzyyz{zz{{{{zzyyyzzy{zyz{zyzzzyzyzyxzzzzzzyyzxyxyyyyyzzy{z|{zyyxzzyzzzzyz{{{zyzyzzyyzzzzz{zzyzyxxyyy{zzzz{y{yyyxzyyyzzzzzzzzzzzyyyyyzzzzzz{zyzyyzyzzzyzzyzz{yzxyyzyxyzzyy{{zyzyyyyzyyzzzzzyyzyyyyyxyyzzzzx{y{yxyyyzyzzzzyzzzyyzzyyyyzzyzz{z{yyzyyyyxzzzyzzzyyzzzxyyzyz{|z{{{zy{zzzyzzzzzz{z{zzzzyzyzzzzyz{z{zyyyzyzyy{zzz{{yzzyyzyzzzz|zzz{zzyyzyyzy{yz{{zzzzzzyzzyzz{{zz{{{zyzzzy{yzy{{{z{{{yxzyyyz{z{zz{{{{zzzzzzyz|{{zz{{yz|zzzz{z{{{{{{z{zzyz{zy{|{{{{z|{{zzzzzz{{zzz{{{{y{zz{yyzz{{{z|{{yzzzyzz{{{{z{{{yz{yzyzzz{zzz{{zzzzyzyyz{|z{zz{zzzzzyyzzz{zz{zz{zzyyyzyxzzyyyzzzyyyyyxxzz{zzzzz{yzxyyyzzzzyzz{{zyy{yyzyzzzzzzzzzyzzyzyxyzy{yzzz{zyyxzyyyzyxyyyzzyxyyyzyzzzzyzzzzzzyxyyyyyzzy{yzzzyxxyzyxzyyyzzzyyyzyyyyyzzzy{zy{zxyyyyxxzzzzzzzzzzzyyxyyzzyzzzzyzyyyzyzzyyzy{{z{z{zzyzyyzzzyzzzzyyyyzzzyzzz{zz{z{yyzyyyy{zzzz{{zyzzyzzyzzzzyzz|zzzyyyyzzz{zzzz{zzz{yyzzyzz{zzy{zzzyz{yyzz{{zy{zzzyyzzzz{zzz{{z{{zzyzyzzzzz{{{{{zyzz{yzzyzzz{{zz{{z{yzyzyz{{z{z{{zzzzz{zyz{z{z{{{{zz{z{zzz{{z{z{{{yzzzyz{{{zzzzzyzz{zzyzz{zz{{z{{{zy{{{z{z{{{{|{{zzzyzyzzy{z{zzzzzzyzzzzyz{z{z{zz{zzyzyyyzzzzzzzzyzyyzyxyxzzyzzzzyyxyyyxyyzzzzzzzzxyzzzyzzyyzzzyyzyzyyyyyyzzzzyz{zyyxzyyyzzzz{zzzyyyyyyxyy|zzzzzyyyyyyzyyz{zzz{yyzzxzyzyyzzyyz{{zyxyzzyyyzzzzyzzzyyyzyyxyyzzy{zzzyyzyyzzzyz{zy{zz{xyzxyyyyzyxzzzyzyzyyyyy{zzyzzzzzxyzyxyyzzzzz{z{yzzyyyyzzyz{z{zzzzyyzyzyzz{{y{{{yzyyyyyzzzzzzz{zyyzyxyzyy{{zzzzzzyzzyzzyz{zzzz{zzzyyyzyy{zzzz{zzyzzzyzzzzzz{zzzzzzzyzzzyzzy|z{z{z{zyyyyzz{z{zz|{{y{zzzyz{{zz|y{{{zyzz{zz{{z{{{{{zzzzz{z{{{{{|z{{zz{{zyzz{{z{z{{z{yzy{zzzz{z{{{{{|zzzzyyzy{{{{{{zzy{zzzzyzzzz{zz{{zyzz{zyz{zz{z{zzzyz{zyyzzzzzzzyyyyyyyyyzyzzzz{xyyyzxyzy{y{yz{{{zyyyzzzxzzzzzzz{zzyyyyzyyzzzz{z{zyyyyzyyyzz{{zzzyyzzyyyy{zyzzzzzyyzzyyxyzzzzyzzyzyyyzzzzzzyzyzzzyyyxyyyxyzzzyzzzyyyyxzyyyzyzzzzzzyzyyyzyyz{yyzzzyyxzyzyyyyyyzyzzyzyyzxzzyyzzzzzyyyyzzy|xzzyzzyzzzyzyzzyyzzzy{zz{zzzyyxyy{zz{zzzzzyzyyyzzzzzzz{{zzzyzyyzzzzzz{{zzzzzyyyyzz|yz{z{zzyzyzyzz{zyyzyzzzzzyy{zzz{{{z{|{yzzzzy{z{{{zz{{{{z{yzy{zzzzzzz{zzzyzyzyyz|zz||{{zzzz{y{zz{{{{{{|zzzz{zyzy{z{zz{{{z{zzzyz{z{{z{{{zzzzz{zzzzzz{{|{{{zz{zzz{z{{{zz{zzzyyzyzzzzz{zz{{zzzz{zyzzz{{{{{zyzyyyyx{zyyyzyzyyxyzxyyyz{yzzz{zyzyxyyzzyyzzz{zyyzyyyzyzzzzz{{z{yyyyyyxzy{zyyzzzyzyzyyxzy{zzzz{yyyyyyzyzyyyzyzyzyzyyxxx{yzyxyzzxyzyxzyzyyyzyzzzzyyyyyyyyyzz{zzzzyxyyxxyz{zzzyzyzyyyxzyyyzy{yzzyzyzxyxyyyyyyzzzzzzyxyyyyxzy{z{zyyxyyzyzzzzzzzyzzzzyyzxzyzzzyyz{z{yyyyyzzzyzzzzz{yyzyyzyyyzyyzzzz{zyzzyzyzz{{{zzyzyyyyzyzyzz{z{zz{yzzxzyzzz{zyzzzzyzz{yzy{zz{zz{zyzzzzzyzzy{{{z{{yyzzyyzyyzzz{{{zzyzyzzzyz{z{{{{{zzzzyzzy{zz{{|z{{yzzyzz{zzzz{{|zzzzzzzzyz{z{{zz{zzyyzzzy{z{z{{{zzzzz{{yz{yzzz{z{zyzzzy{z{{zzzz{{{zyzzzyz{{{zzzz{z{zzyyzzzyzzzyyzyzzyyyzxzzzzyzyzyyyyyyyx{yzzzz{{{zyyzyzyyzzzzz{zzyyyyzyzzzyzyy{yzyzyyzzxyzzxzzyyzyzyzyyyyzzyyzzzyyyzyxyyz{yzyzyzzyzyyzyyzzzyyzzz{zyyyyxzxzzyzzzzyzyzxzyy{yyyzy{zyzyyxyzyyyyyyyzzyxyyzzyxyzzzyz{zyyyzxxzyzyyzzzzzyyzyzyyyzzzzyz{{zyyyzyyyyzzzz{zzzyyyyy{zzzzzzzzzzzzzzzyzzzz{zzzzzzzz{yyyzzzzz{zzyyzyyzywz{yzzz{yzz{zzzzy{zzz{zzzzzzzzzzyz{{{{z{zyyyzzzyz{z{zzz{zzzy{zyzxzz{y{{zzzzy{zzzz{{{z{{{{{zzyy{zz{{z{z{{{z|yzyzzzz{{z{{z|{yzzzzzzzyzzzy{z{zzyzyzyz{zzz{{|zzy{zzzyzz{z{zz{zzzyyyyzzzz{z{zzzyzzyyyzzzy{y{zzzzyyyyyzzz{zzzzzzyyzyxxyyzzzyzyzyyyyyxyxzzzyz{z{zzyyyyyyzy{zz{z{yzyyzyzy{{zzzyzzyzyxyyyxzyz{zzzzxzyyyyzyzzzyyzzzzzyyyzyyyzzzyzyyyxzx{zyxyyz{y{zzzyzyyyywyyzzyzyyyyzyyyyyyzzzzz{zzz{yyyyyyyzzzzzzyyzyyyyzyzzzy{zzzzyyyyzyyzyzyzzzyyzyzyyyzzzzzzzzzzyyyzzzz{zzzz{{zzyzyzyy{zzzz{z{yzzzzzyyyz{zzzzzyyz{zyzyy{zzzzzzzyzyzzyyyz|yzz{z{zyzz{zyz{{zzz{zyzyzzz{zzz{{zzz{zyzzyz{zzzz{zzz{zy{zzzzzz{z{|z{zzzzzzzzzz{z|zz{{{yzzz{zy{z{yz{{{zzyzyzzzy|{{|{{{{zzzzzzz{{|{{{{{{yzz{zzzz{{z{{|zzzzzzxzzzzz{{{{{zz{yzzyyz{zzy{{z{z{zzyyyz{zzzz{zyyzzzyzyzzzzz{zzzzxyzyyyyyyzzz{z{yxxzxyyzzzyy{{{zyyyyxzxzy{yzzzyyyzzzyyzzzz{yy|zyyyyx{yxzyz{yzy{zyyxyyxzyzzyyy{yyyyxzyyyyzyzzzzyyzyxy{yxyyyyyyzzzyyyxxxyyyyyzzyzzyyy{xzyzzzxzyyzzxyyxyyxyyyzzzz|zyyzyzyyzyyyxyzzyxyxzxxyyyyzzzzzzyzyzyzyyzyzyzzzyzyyzywxz{{zyzzzyyyzyzyzzyz{z{zzzzzyxyyx{z{zz{z{zyyzyyzyy|z{zzzyzyyyyyyyz{{yz{{yzyzyzxyzzzzzy{{{yzzyyyzyzzz{z{{{y{zzzyzyyzz{zz{{yzzzyzzyyz{zzzzyzzyzzzzy{{z{z{{|zzzyzzzzzz{z{z{{zzyzzyzzz{{{{{{zzyz{yyzyzzzz{{{z{yzzzz{zzzzz{|{{yyzzyz{z{zz{{z{{{{yy{yzxzzzzy{{{zzyyyzzyz{zzz{{yz{yyyyyyzzzy{zyzzyxzyyyyxzyyyyzzyyyyyyyyz{zzzz{zyyyyzyyyyyzz{zz{zyyzyyzxyzzzyyz{yyzzyyzxyzzzzzyzyyzxxyzxxzzzyzzzyyyyzyyyyzzzzzzyzzzxzyyyzzyyyyzyy{zyyxyyzyyzzzzyzyyyyyxzyyyxzzyzzyzxxyzwzyzyyzzzzzyyzxyxyy{yyzy{zyyxzyxyyzyyyzz{zyxyyyxyzzz{zzzzzyzyyyyyy{yz{zzzzzzzyyzyzzzzy{z{zzzyyzyz{zzyzzzzzyzyyyyzy{zyz{{{yzzyzzyyzzzzzy{zzyyzyyzzz{yzzzzz{zyzyyyzyz{{yz{{yzzyyyzy{zzz{{{{zzyzzzzzzz{zzz{yzzzzyzyy{{zz{zz{zzzzzz{z{{z{{zz{zyzzzzzzz{{{zz|{{yzzyyzz{{{{z{z{{yyzyzz{{zzy{|{|zz{z{zy{zzz{zzz{zzyzyzy{yzzz{|zz{zzzzzyyyz{zz{{zyzzyzzyzzzzzzzzyyzzyyyyyxz{yyzzzyyzyzxyyzzzzyzzzzzyyyzyxz{zzz{z{{yyzxzyzzy{zyzzyzzyyyyyyzyyzzxzzyzzxyyzyy{zyz{|zzxyyzyyyzyzyyzzyyzyyzyzyyyzzyzy{yyyyyyzyyzy{yzzyyxyxyzyyyy{yzzyzzyyxyyxyzyzyzzzzxzzyyxzyzzyzzzzzzyyyyzyyyzzyy{yzzyzyyyxyzzzzy{{zyzyyyxzyzzzzzzz{yyzzyy{yzyyyz{zzyzyzzyzzy{zzyz{{yyzyyyzy{yzz{z{zyzzyzzyyzzzzzz{z{zzyzyyyz|{z{{z{{zzzzzzyz{z{z{{zzzzzyzzyzzz{zz|{zzzyzzzz{{z{{{{{{{zy{zzzz{{y{{{{z{{zz{zzzy{z{|z{{yzzz{y{y|{{z{|{zzzzzyyz{{z{z{zz{zzy{zzz{{zy{{{||zz{{yy{{{{z{{{|zzzyyz{zz{zzzz{{z{zzzz{yz{y{{zzzzzzzyyzz{{{yzyzyyzyyzxyyx{zzyyzzzzyyzyyzzyz{zy{zyyyyyyzzzzyyz{zyyyzzxyyyzzzzzyyyyxzyyxyxz{zyyzz{zyzyyzyyzzyyzzzzyyyy{yyyzyzzyzzyyzyyyyxyzzzzyzzzyyyyyyyzzy{zzzzxyyyyyyyyyyzyyyzyyxyyyyyyyyzzyzzyyyyyzyyyzzzy{zzyyyyyzyyzyzyzzzzzyyzzy{yy{yzzzzzzyzzxyxzyzzyzzzz{zzyyxyzyzzzzz{zzyyyyxyyyyyzzzzzzzzzzyyyyyz{zzzzyzzyyzyzzz{{y|{{zyyzzz{yzz{zzzz{{xzzzzzyzy{{{zz{zzzzzzzxzzzz{zz{zzzzzzyyyzzzz{zzz{zzzyyyy{{{{{z{{yzzzzzy{z{{{{z{{zzyzzzzzz}z{{{{{{y{zzzz{zzz|{{{{zzyyyyzzzzz{zzzz{z{z{zyyzz{zz{z{z{zzzz{yzzz{{{{z{zyyzzzyz{zzzz{zyyzzzyyyzzzyzzz{zyyzyyxyy{yzyzz{zyyyzzyxzzzzz{{yzyyyyxyzzyyyyz{{zyzyyzzzyyz{z{yz{yzxyyyyyzz{zzz{yyzzzyyzy{yzzzzyzzzzzyyy{yzyyzyzzzzyzyyzyyzyzz{|zyzyzxzyz{zzyzzzyzyzyyyyy{zzzzzzzzzyyyyxyzyyyzzzxyyyzyyyyyyyzzzzzzzzyyxyyyyz{{y{zzzzyzyzzzzzzz{z{yyyzzzzzzzzz{{zyyyzyyzz{zzzzzz{yzyyyzyzzzyzzz{zz{zzyzzyzzz{zz{zzy{zyzzz{zyzz{{zyzxyzz{{zz{z{{zzzzyyz{zz{zzz{|z{yz{yzzzzyzzz{z{zzzzzzyyzz{{z{{{zzyyzyyzz|{z{|{{{yy{zz{{z{z{|{{{{{{zyzzzy{{{z{{{{{zyzzyzz{{|{z{{{{zy{z{zzzz{y{{{zz{z{z{z{z{z{{{{{zz{yzzzzz{y{{{z{zz{zyzzxzzz{yzzzyzzzzyzzzzzzzzyzyxyyyyyzyzyzyyzzzyzyzyxzzzzyyz{zzzxyyzxy{zzzyz{yzzyyzzyy{xzzz{zzzzyzyxyyzyy|zzz{yzyxyzyyyzyz{zz{yyyzyyyyzy{yzzzzzyzyyzyy{zyzzzzzyyyyyxyyyyzyzzzzyzyyxzyyzzzzy{{zzxy{yyyyyzzzzy{zzyyzyyyxzzzyyzzy{zyxzyzyyzy{yzzzyyzx{yyyyyzzzzzyyyyyyyyzyzz{yzz{zzzzzzzzzzy{zz{zzyzyzyyzzzzz{z{zy{yzzzyyzzzzz{{zzx{zyyyzzzzzz{z{yyyzzzyyzzyzzyz{zzzyy{zzzz{z{z{{yzzzzzyzzzzzyz{|zzyzzzy{z{zz|zz{{z{yzz{{zz{{zz{|zzzzyz{{zzz{{{{{{zzzy{z{{{z|{z{{zyzzzy{zz{zy{{{zzzy{zyzzzz{{z{{{{z{{{zzyz{{z{{zzzzyyyzyyyzz{z{{zzzzzyzzyzzz{zy{{yzzzzyyzzzzz{yyzyyxyxyyyzz{{zzy{xzzxyzzzyzzyy{yzzzyyyyyx{zzyzyzzzzzxyyyyzy{{yzzzzxyxxyyyzyyzyzyzyyyxyzyyzzzz{xzzzzzyyyyyyzyzy{zyyxyyzyzyyyyzyyzzyyyyzyyxzyyzzzzxyzzyyyxyzzzzyzzzyxzyyyyxyyzzzzz{zyyzzyyyyyzyzyz{yzyxyyyyyzyyzzzzzyzyzyyyyzzzyzzzzyzyzyzyzzzzz{z|yyzyyyzyzzzzzzz{zyyyyyyyzz{zzzzzzyzyyyzyy{zy{{zzyyyyzzyyzzzzyy{{zyy{yyzz{zzz{{z{yyzz{zyyzz{{z{{zyzxzzy{y{zyzz{{{yyzzyzyzzz{zyz{{zyzyyzyzzz{zz{|{zzzzyzzzzzzzy{zzzyzz{zz{zzz{{z{{{zzz{zzy{{{{{{{zzyy{zy{yzzz{zzz{zzzy{zzy{z{z{zz{{zyyzyyyy{zyyz{yyzzyzyzyz{{{zyzyzyyxzyyyzzyy{zyzyzyyxzzxy{zzzy{zzyyyzxxyzyzzzz{{zyyzyzzxyyzzyzzzzyzyyzyyyzz{yzzzzyzywyxyyyzzyyyzxyzzxyyzyzxyyz{zyyyyxyxyzzzzy{zzyyyyyyzyzzzyy{zyyyxyyyyyzzzzxy{yzyyxxyxxyzyyzyzzyyzzyyyyzzzzyzzzyyyyxyyyyyzzzyzzyzzxyyyyzzzyyzzzzxyyyyxyzyzyzz{{yyzyzyyyzzzzzzzzzyyzyzzzzyyz{z{zzzyzyxyzzzzzzzzzzyzzzxyyyzzz{zy{{yzyzzxxzzz{z{{{zyy{zyyyz{zyz{z{zz{yyyyzz{{{{{z{yzyzzyzzzzz{z|z{zz{zzyxyz{{{z{{zyzyzzyzxz|zz{|{{zyzzzz{yz{zzz|{y{yzz{yzzz{{{zz{z{yyzyyz{z{{{zz{zyyyzzzzyz{{zz{z{{zy{{{yzz{z{zz{zz{yyzyyyzzzzzz{zzzzyyyzyyzz{z{z{yyzyyyyyzzyyz{yzyzwyyyyy{yzz{zzzyyyyyxyyzzzzz{{zzyyxzyyzzzzzzz{yzzyzzzzzzy{zyzz{zzzyxzyyzyzzzzzzyyyyyyyxzzyzxy{zzyzxzyzzzyz{y{zzzyzyyzzyzzyzyzyzyyyyyyyyyzzyyzzzzyyyyyyyzzyyzzzyzyyzyzyyyzz{yz{zyxyxyyyyyyzzz{y{yyyyyxyzzzzzyz{zyzyyyyyyzzzzy{zzzyzzyyyzzzzzzyz{{yzzzyzyzzzzzy{{zyyzyyyyz{y{yyzyyzzyzzyyyzzzz{zzzyzz{zzyzz{zzzzzzyzzz{zz{zz{{zzzzyzyzyz{{{yzz{z{zzzzzz{zz{{{{{{{yzzyyz{zz{z{{{zzyzyzzyzz{{{zz{{zzz{zz{zz{z{{zz{|{yzzzzzyy{{zzz{{zzy{yz{zzzz{z{zzzyyzyzz{zzz{{z|zzyzz{zyzz{{{{{{{zzzzyyy{zzz{{{zz{zyzzzzzzz{yz{zzyyzyyzyyzzzz{zzzxyxxxxyyyzzyyyzzxyyzzyyxyzzzzzzzzyzxzyyyzyxyzzz{zyyzxyyzyzy{zyzzzyyzxxyxyyyzyzyzyyyyyyyyxyyxzz{zz{xyyyyyyzyzzyyzyyyxxyxyxzzzyzzzyyyyxyyzyyzyyyyzzyyyyyxyyyyzzyzzyxzyyxxyzyzyzyzzyzyxzzyyxzyzzyyzyyxxyzxyxzyyzyzzyzyyyzyzzzy{zz{zxyyxyxyxyzzyyyzzyzyzyyyzzyyzzzz{yzxyyyyyy{{zzzzzyyyyzyyyyz{zzzy{zyzyzyyyzy{yzyzzzyyyyzyzzzzzzzzz{zzyyzzyzz{{{{zzzzzzz{zzyz{zz{zzzzyzzyyy{zz{zzzzzzyyzyzzz{zzz{zyzzzyyzzzzzz{z{z{{yzyzyyzzzz{z{{zzzzzzyyz{{z{z|{{{zyz{y{yz{zzzzz{zzzzyzzy{z{z{zzzzzyy{yzyzzzzz{{{{yyyyyyyzzzzzyyyyyyyyxyxyz{{yzyyyyyyyxxxy{zxyyyzyyyyxzyxzz{yz{zzxyzyzyyzzzyz{z{zzyzzyyxyzzyyzyzzyyxxxyzyzyyzzyyzyyyyzxzwzzzzzzzyyyzzyxyxyzzyyzzzxyyzyyxyyyzzyzzzxzzxyyyyyz{yyzyyzyyyyxxyyzyzyyzzyyzzxywxzzzyzzzzyxyzyyzyyyzyyzzyzzyyzyyzzzyzyyy{yyyyzyyyzyyyzzzyyxyyzzxyzzzyzzzzzxzzyxyyzyyyz{{zzyyzyyzyz{yzzyzzyyzyzyyyzyzz{|{zzzyyyyzyzzzzyzzzzyyyzyyyz{{zzzz{zxyyzyyzzzz{z{zzyzzxzyzz{{yzy|{{zyyzyyyzyzz{zz{zzzzzzyy{{z{zz{z{zyzyyzzzzzyzz{{{zzz{zzzz{{z{{zzzzyzzzzzzzz{zzy{{zxyzzzz{zzzzy{{z{zzz{zyy{yz{{{z|zzyyyzzyz{z{zz{zzzyy{yzx{{z{zz{zzzzyyyyxyzzyzyyyyyzxyyyzyzyzyzzzyyyzyxyyzzzzzzzzyyyxzzyyzzzzyyzzzyzyyyyyyyyzzyzzyyyyxyyyzzz{zyzzzzyzyyzxy{yyzyzzzyyyyzzxzzzyyyyzzyyyyzxyzyyzx{zzyxywxzyyyyzzzzyyxyyyxyxyzzyy{zzzzyyxxzzxyzzzzzz{yyyxyyzyzzzyzyy{zyzwyyzyzzyzzzzzyyyzzyyzzyzzzzzzxyzyyyyzyyz{zzz{yyzyyyyxzzzzzz{yyzzyyyyzyzz{zz|zzyzyyyzzzy{z{{{zzyyyyyxzz{zzzy{{{yzyzzyzzzzzzyzz{zyyzzyzz{zz{{zzyzzyzyzyzz{zz{z{zzzyzyzzzzzzzzz{{{zyyyyx{zzz{z{z{yxyzzzzyzzz{zzzzzzzzzyzz|z{{{{{{yzyzzyzzz{zz{{z{zzz{yzzz{{{{{{{{yzzzyzy|{z{z{{{z{{zyyzyzz{zzzzz{{zyyyyzzzz{zyz{yzzyyyxyyyzzzzyyzyzyyyxyyyzyzyzzyyyyyyzyzzzzyzz{zxzyxyyyyzzyzzzzzyzyyyyyyyzzxyzzyyyyyyyxyyzzz{zyyyzzyyxxyzyyz{yzzyzyyyyyzyyyxzyyyzyyyyxyyyyxyzzzzyxzyyyyzyyyzzzzyyyyxxxyzzzyyzyyyyyyyyyxxzyzyzzzzyyxyyxyyzyyyzzzyxyyxyxyyzyyy{zzyyyyyyyyyyzyzz{yzzyyyzyzzzyyz{zzzxyzzyzyzyyyz{z{yyyyyyyzyzzyzzzyzxzzzzzyzzzzy{zzyyzzyxyy{z{{yyzz{yyzyyyyzyzzzzzzzyzzyzzyyz{zz{zzzzzzzy{z{zz{z{{{zzyyzzyzzzzzzzzzzzzzz{zzzzzz{{{zyzzyy{zyz|z{z{z{zyzzy{{yz{{{z{zz{zzyyyzz{yz{z{zzzzzzyyzzzzz{z{{{{zyyzzzz{zzyz{{{{yyyyzzyy{zzz{zyzzzzyzyy{zzzzzyzyxyyyzyyyzxzy{zzyzzyzxyyyzyyzzzzyyyyzyxzyzzyz{yzyyyyyzyx{zyzz{{zyyzzyxyzzyzzzzzzz{yxyyyyyzzzyzz{yyzyyzyzy{zyyzzzzxzxyyyyy{zyyyzyyzzzyzyyyyzzzxzzyzyyyzzyzzyzyzzyyyyyxyyyzzzzzzzzyyyyxyyxz{yyyzzxyyxyyyzyxzzyyzyzzyyyxyzyz{zzyzyzzyyyzzzxzzyzzyzzzyzyyzzz{zzzzyz{zyz{yzyzzz{zzzzzzzzzyyzyzzzzz|{{yzzzzyzzy{zzzz{{zzzyzzyy{z{zzyyyzz{zzzyzzzzyz{{z{zzzy{yyzz{{z{zzzyzzz{zzzzz{z{z{zzzzyyzzz{z|zzzz{yzzz{y{{|{|z{{{yzz{zz{zyyz{{{{{{z{zzzzzz{z{{{{zz{yzzzyzz{|{{{z{{yzzyzzyzzzzz{{zzzz{zzzz{{{zzz{|zyzzyyyyzzz{z{{zzz{zzzzyzz{zyzzzzyyyyzyy{zzzzyyzzyyxyyyyy{zzyzzyzyyyzxyyzzzzzzz{zzzyyyyyzzzzzz{yyyyyyyxyzz{zzzzzyzyyyyzy{yzzzyzzyyyyzyzyx{zyyzzzzxyzyyzyzzzyyz{yyyyyyxyxzzyzzyzzyyyxzyxxyzzzyzzyzyyyyyyyzzzzzyzzzzyxyzzyy{x{y{z{yyyyzzyyyyyyzyzzyzyxzxyyyyzzy{zzzxzyxyyyyyzzyy{z{yzyyxyz{{z{yzzyyyzzyxyyzz{{zyz{zzzyxyyzz{zyz{z{zzzyyyzxyzyz{zyzyzzyyzyzz{|zzz{zzy{yzxzy{z{zzzzzzyyzzyy{{{{zzz{{zyzzzyzyz{yzz{zzz{zyzzzyz{z{{z{z{z{z{zzz|z|zz{|zzzzzzyzzz{{{z{{z{yyyy{zy{{zz{{{z|yyzzyz{z{{zz{z{zzzzzyyzz{zzz{z{{yz{zzzzzz{z{z{{zz{xyy{{z{z{zzz{zyzyzzzy{zz{{{zz{zzzyyzyzz{{zzzyyyyxzyxxyzzyyyyzyyyyzxxyzzzzzzzzxyzyyyyxzzzzzzz{yxyyxyzyyzzzyyzyyyyxyxyxyy{yyzyyyyyxyyzxyyyxzyzyzxyyzyyy{zzzyzyyyyzyxyyxzyy{xzy{yxyxxxyyyyzzyyzzyxyyxzxyzyyz{zzzyyzyxyxyzzzzzzzzzzxyxxyxyzyyzzzyzyzxyxyxyzyyyzzzxyyyyyyxzzzz{zzzyyyyyyyyyyzzzyyzyxzyyyzyzzzy{zy{yyyyyyyzzz{zzzz{{yyyyyyyzzzzzz{zyyyyyyzzzz{yzzzzyxz{yzyyzzzzzz{zzzzyzyzy{yz{z{{zyzyzzyyyzzy|z{z{zzxzyzzzzzzzz{zzzyzzzzzzzzzzz{{zzzyyzzzzz{zzz{{{zzyzzzzzy{y{zz{{zzyzyzyzzzzzzzzzzzzyzzzyz{zzzz{{{zyzy{yz{zz{{{{{zzyyzyzyzyzyz{zzzzzzyzzyzz{zzzzzzxyzyyzyzzzzz{yyyyyyzyyyyyzzyyzzyyyyzyyzyzzyzzzzyyyyyzyxzyyzyzzzzyyyyxyyyyyyyzzzyzzyxyyxzyzzyzzzyyyyyyyyyzzyy{zyyyyxzyzyzzyyyz{zzyyyxxyzxyy{yyzzyxyxyyyyyzzyzzzyxyzzxxxyyyzzyz{yyxzyxyyyzyzzzzzzyzyyyxxyxyxyzzzzyxyyxyxyyyyyy{yyyyyyzyxxyy{zzzy{zxyy{xyyyzyyyzz{yyzyzxyxzzyzz{zyyyzyyxyyz{z{zz{{zzyzzxxyzzz{{zzzzzyzzzyyz{zyzy{{yyzyzyyzz{{zzzzyzyyzzzyyyz|zzzz{yzyzzyzyyzzz{{{|zxyzyyyyzzzz{zzzzzzyzzyyz{zyzzzzzz{zyyzzzzyz{zzzyzzzxzyzzzzzzzz{zzyzyz{yzzyyz|yz{z{zz{zzz|z{{z{{zyzz{yyzz{zzz{z{yzyyzzyzzz{{zzzzzyyyzyyyyzzzy{zy{zyxzyyzzyyzzzzzyyyyxyyyyyzzzyzzyzyyyxxyzyzzyyzyyzyxyyyyyyyyyzzyzyzyyyxyyz{yzyzzzyyxyyyxzzyzyzzzyyyyyyyyyzzyyy{zzzzzzyxyzzzyyyzzyyxyxyyyyyzyzzyzyzxzzyxyyyyyzz{yzyyyxyxyyzzzzzz{yyxxyyyxyzz{zyzzyyyyyyxwyyyyyzzzzyyxyzzzxzyyyzy{yyyyzzyyyzzzzzzzzyxyyyyzyzzzzzyzyzzzyyzyzzzz{zzzyyzyyyzz{zzzzyzyzyz{zyyzyyzyzyyzyyyyzxyxzzzz{z|yzyzzzzyyzzzyzy{zyzzzzzzzzzzzzz{zzzyzyzyy{zz{zzzzyzyyzzyzzzzzzy{zzzyyzzyyz{zz{{{zyzzzzzyyz{{zzzz{{{zyyzyzz|z{zzzzzzzzyy{zz{z{z{{zzzzyzzyzzzzzzzzzz{y{zzzzzz{zz{zzzzzyyzzyz{z{zz{zzzzzyzzyyzzzzz{{yzyzzyyyzzyy{zyzyyzwxyyyzzzyyyz{zzyyyyzzyzzy{zyzyyxxyyyx{xzyzzz{zxyzyyyyyy{yyyz{zzyyxyyyyzyyzzzzyxyyxyzxzzzyyyzy{yyxzyxyyzzzyyyyyzxyyyyyyyyzyzyzyyyxyyxyyzyyyzzyzxyzyyyyyzyzzyy{yyxzxyyyxzzzyyz{yxyyyzyyyzyyyyyzyzyzyxyyyyyyzzzzyyyyyyyxzyzzzzzzyyyyyyzyyzyyyz{zzxzyxzzyyyyzz{{{zyyyyyyzyyzzzy{yyxyyyyzyyz{zz{zyzyzyyxyyzyzzzz{{zzzzzyyyzzyzzzzzzzyzyzyzz{{zz{zzyzzzyyzyzz{{zzz{zzyyyyyyz{zz{{zyzyzyzyzz{{zzz||zzzzyzzzzz|{zzzyzzzyy{zyz{{z{y{{zzzy{yyzyyzzzz{{{{yyyzzzzz{z{z{z{zzzzz{y{{zzz{zz{yyzyyzzzyzzzz{{{yyyzzyyyyzyzz{{yzxyyzyyyzyzyxyzzyxxyyxyxyyzyzyzzyy{xxxyyyyzyzy{z{zxzyyyyyyzyzzzzyyyyyyyyzzzzyzz{zyyyxyyxyxzzyyzzxyyyxxzyyzzxzyyzzxyzxyxyyzzzyzyyxyxyyyxyyyyyy{zzxyxyyxyxzyyzzyzyyxzyyzxyyyyyzzyyzyyyxyzyyyyyyyzzyyyxyyxxzyyyy{zyyyyyxyxxyyxyyzzzyyyzyyyzyyzyzzzzyyyzzyyzzzzzz{{{{zyyzxyyzyz{z{zzyyyyyyzyz{zyyzzzzyyzyyyyzzzzzzzzyyyyyzyyzz{zyz{yzzxyyyzyzz{zz|{zzzzyyyzzz{z{yzzzyyzy{yzy{zz{zz{{zyyyzyyxzz{zz{yzzzyzyyyy{zzzzzzzyzzyzzy{yzzzz{zzzyz{yyyzyzzzzz{z{zzzzy{z{z{{z{|z{yy{zzz{z{{{z{{{{zyzzzyz{{zzz{{zyzzyyyzzyzyz{{{zyzyzyyyyz{z{z{zzzxzyyyyyz{zzzyyzyzyyyxyyzzzzzyyyxzxyyyyzyyyzzz{zzyxxyyxxzzzyzzzzyxzyyyyzyy{zyzz{zyyyxxyyyzzyyzyzyzzyyyyyzyzyy{zzyyyyxxyyyzzyzzyzxyzxxyyxyyzyzyyzxyxyyxyzxyyzyyzzyyxyyzxxy{yyyzzzxyyyxyyxzyzyzzzzyzyyyzzxyyyyzzyzyzyyzyyyyzxyyyz{yyyxyyyyyzzzzzzzyxyyzzyzzzyyzzyzzy{zyyyzzzy{zz{zyzyzyyzyzzz{zzzzyzzyyyyzyzz{zzzy{zyyyyyy{yz{zyzzzyyzyzxy{zzzz{z{yzyyyzzzzyyz{{{zzzzyzyzyzzz{zzzzzzyzyyzyzz{{z{{z{yzyyzzzzzz{z{z{|zyyyzzyz{zzz{zzzzy{zzzzy{zzzzz{zzz{zzzy{zz{{zzz{yyz{zy{zy{y{z|{{zzzyzzz{zzyz{{{zyzyzzzzzzzzz{z{zzzyyz{yy{y|yzzzyyyyyyzyy{zyzyyz{zzxxyyyzzyyyyzzzyyyyyyxzzzzzyzzyxxzyyzxzyzzzzzzyyyyyxyyzzy{xyxzyxzyyxyxyzzyy{zyyyzxyyyyyyyyzyyzzyyyyyxyyyyyyyyyxyyxyyxzxyyyz{zzyzxyzyyxzyyzzyzyyyyxyxxyzyzyyyyzzyzyxyyxyyzzzzzzyyyyyxxyyzxyyyzzyyzxyxxyyyyyyyyzzyyyyyyyzzzzzyzzyyxyzxzyyzz{zzy{xyyyyxyxzyyyzyz{yzzyxyzzzyzzzyzzyzzyzxzyzyzzyzyyyzyxyyyzzzzzyzzz{yyyyyxyzzyzz{yyzzyyzzzy{zzzzzzzyyyyyz{z{{zyzzzzyyzzzyyy{zzz{{{zzyzzzyyz{{zzzz{{z{yyy{zzzzz{z{{z{zzyyyy{z{z{z{{{zzz{zzzy{z{{zzz{zyyzzzzzzzz{{y{{{zyzyyzzz{zzzz{{zyyyzzzyyzzzyz{zzyyzyyyyz{zzz{zyzyyxzyyyyyz{yzyzxzzxyxyxyy{yyyzzzxxyxyzyyyyzy{{zzyyxxxzyy{zy{zyzyyzyyyyzyyyzyzzzyyxxzzyxyyyyxzzzyyzyzyxyzz{yzzzyxyxyyyyyzyzzzyzzxyzyyxwyxxzzzzz{yyxxyxxzyzyyzzzyzyyyyxxyzyzxyyz{yyyyyxxyzyzzzzyzywzyyxxyyyyyyzyzzzyyyxxyzyxyyzzzyxxyyxzxyyzzyzzzyyyyyyyyzzzyzyy{yy{yyyzyyyy{yzzzzzzyzyyzzzzzzyzzzzzyzyzyz{z{zzzzzzzyxzxyzz{yzyzyzzyyyyxyzz{zyzzyzzzyyyzyzz{zz{{zyzzyzy{yy{y{zzz{yzzyxyzzz{zz{{zzzzzzzyzzz|zz{z|z{zzyz{zzyyzz{{{{zyzzzyzz{{{zzz{zzzzzzyzzzzzz{{{zzzyzyzyzz{yzzz{{z{yyzzyzzzz{{z{{{zzxyzzyzz{zzz{{{xyyzzzyyzzzz{zyzyyyyzyyzyyzzzzyzyyyyyxyzyyyyyyzyyyyxyyyzyzzzz{zzyzyyyyzzyzyz{{zyyyzyyyyyzxyyzyyzyyyyyyyzyzy{zz{xxyxzzyzzzyzzzzzyxzyyyxyzyyyyyyyyxyyyyyyyyzzyyzzyzxxyxyxyzzzyzzzyyyxyyyxyzzzzyzyxyyxxxxxyyyy{zzyyyxzzyxxyzyyyyzzyyyxyzxzyyzyy{yzyyyxzyyyzz{zzy{yyyyzyxyyyzyzyzzyyzyyyxyzzzzzy{yyzyyyyyyyyz{zz{{zyyyzyxzyzzyzyz{zzyzyywyxyzzz{z{yzyyy{zyyz{{zzz{zzyzyzzyyzy{yz{zzyzzzyzzy{zyzzz{zzyzzzyyzz{yzzyzzzyyyzzyz{{zzz{|zzzyyyz{z{zz{{z{{{zyyyzzzz{{{{{{{{zzyyyzyzzzzz{zz{zzyzzzzzzzzzz{{{zzzzyzz{{zzz{zz{yzyzyz{zzy{zz{{zzyyzyzzzyz{z{zzzyzzzxzyzzzzzyzyyyxyxyxyzyzzzzzzyyyxyyyyzyzyz{zzyyzxyyyyyzyyyyzzyzyyyyxyzzzzyyzzyzyxyyyyyzzyyzzzyyyyxyyyzzzyyzzzyxyyxyyyy{{zzyyzyyzyyyzyyzzzyzyzxzyyxyyxyzzyyzzyyyyxyyxyzyyzyxyyyzyyxyyyyzzzyyz{yxyxzyxyxyyyzzyzyzxyyyyyyzyyxzyyxyyyxzxyyzyzz{zyyyyzyxzyzzyyzzzzzyyyyzyyyyzzzz{{yyzzyyyzy{zzzzzzzyyyyyzyzzzyzzzzyyzyyyyyyyz{zyzzzy{zyyxyzzzzy{z{yxyyzyyyyzzyzzzzyzzyzxyz{zzz{z{{zy{zyyzzz{z{z{{zzxzyyzzyzzzz|z|z{zzyyyzy{zzzzz{{{yyzzzzyy{zzzz{{|yzzz{yzz{z{zzz{zyyzzyyzzz{z|{z{{z{y{yzzzzzyz{zzzzzyzyxyz{z{z{zz{zzzyxyyy{zzzzyzyyyxxxyzzzzzzzyyzyyyxyyyyzzzzzzyzyyzyyxyz{yzzzzzyyyxyxzxzyyyzzzyyyx{xzxyyzzyzyz{yxyyyyyyyyyzyzy{yxzyyzyyzyzzzzzzyxyyyxyyxyzyyzzzzyyxyyxzyyyyxyzzyxxxyxyyyyyzzzzyyxzyyyyyyyzz{zyyyzyyyxyyxyzzyzyyyyyzyyyyzzyyyyyzyxyyzxyzzyyyyyyzyyyxyxxyyyzzz{{yzyyyyyyyzzyyzyzzzyzxyyzyzzyyzzy{zyzyzyyyz{zzzzzzywzyyyzyyyzyz{zzzzyzzyzyzz{zzzzzyzyzxyzzyzyzzzzzzxyzyzyz{z{yzzzzzzyyyyyzzzzzz{zzzzzyzzyzzyzz{zzz{yzz{zzy{zzz{z{{yz{yzzyz{{{z{zz{{zz{yzzzy{zz{{{zzzzzz{zz{{{{zzz{{yzzzyz{zz{zy{zzzzzz{zy{yzz{{zzzzzyyzzzzzzyz{z{zyzzzzyyyxzzzzzzzzzzxyyxyyzzyzzyyxxxyxxxxxyyzzyz{yyyzxyyyyyz{yzzzyyyxzyyyzyzyy{yzzzyzyxyyyyzzyzzzxyxyxxzxyyyyzzyzyyyyzyyyzzyyyz{zyxyxyxyxzyzyxyzzyyzxxzxyxyyzzz{zxyxyzyxyzyyzyyzyxyxyyyyyzyzxyzyzzyyxyxxyyyxyzyzzxyxyyxxyyyzzzyzzxzyyzxxyyzyzzzzzyxzyxyyyyyzyyzzzzyzxyyyyzyzy{yzzzxzzyyyzzzyzzyzzzyzyyxzyzyz{zzz{yxyyzyyyyzyzz{zzyyyyyyyyz{zyyzzyyzzyzyyyz{zzzzzzzzzyzyyyzzz{zzzzyyzyyyzz{yyzy{{{{yzyzyyzzzz{zz{zzyzzzzzy{{yy{z{{zzyzyyz{{zzzz{{{zzzzy{zz{z{z{{|{{zyzy{zzzzz{{zz{{zzyzzzzzzyzz{z{z{zyzzyzyzzz{{{zzzzzzyyz{zzz{z{z{zzzyzyyzzz{zz{zyzyyyyxyyzzyzzyyzzyzyxyxxzyyyyyyyyxyyyxyzzyzyzzyzzyyzyzyzyyzzzzyzyyzyxxzzy{yyzz{zyxyyyyyyzyzyzyzyxzxzyyxyzyyyyzyyyyyyxyxxyyyyyyzxyyxxyyyyyxzyzyzyyyxyyxzyzyyyzzyzzxxxyxyyyyyyyzzyyzxyyxyzzzyyzzzyyyxxwyyyzyyzyyzzyyxyzyxyzzyyzzzxwzyyzzxyyzzyzz{yyyyzyyyzzzzzzzzyyzyyyzzzzzzzyzzyzzyyzyyyzyzzy{yzyzyyyzyyzzzyz{zyz{yyyyyz{{zyzzzzzyyyyyzzzzzy{y{zzyyyyyzzzzzzzzzyzyyzyzyzz{{{z{{yyyzyyyzzzzzz{zzyzyyyzzyz{zz{{zz{zzzyyzz{zz{{zzzzzzyzzzzz{zzz{{zzzzzzzz{z{zz{{{{zyzzzzyzz{zzz{{{zzzy{zzzzz{zyz{{zyyyzyyyz{{zz{{yzzyzyy{yyzyzzz{zyzyyzyzyxz{zzzzyzxxxyxzxxzyyyyzyzzyyyxyyxzzzzzzzzxyyyyyyzzzyy{zyzxyyzxyyyzyyyyzzzyyyxyyxyyzzyzyyyyyyyxyyyzxyyyyyzzyxyyyyyzyyyyzzyyxyyyyyxzyzz{yzxxxxxxyyyzzyyyzzyyzyyxwyzxyxzyzyzyyyxyxyzyyyzyzzyyyyyzxxyyzyyzyyzxyyxyyxyzyyy{yzzxyyyyxyyzzzyzyzyyyyzyyyyzzyzzzzyyyyyyzyyxz{zzzzyyyxxxyyyyyyzzzyyxyzyyzxy{yzy{zzyyyyyzxyyzzzzzzzyyyyyyyyzy{{yz{{yzyzzzyy{{zzzzzzyyyzyyzzyzz{{z{{yyzyyyyyy{z{zzz{{zyyzyzyzz{zz{zyzzyyzzzzz{zz{{{|zyyzzzzzz{z{zz{{{zzyyzzxzzz{y{zz{yyzzyyyzz{zz{|{zyzzzzyz{{y{|{zzzyxxyyyzyzz{zzzzzyx{yyyyz{zzyzzzyyyyyyyyzz{yyyzzyzxyyyzyxzzyyzyzzxyxxyyxxyzzyyz{yyxyzzyxyzxyxyzyzyyyyyxyzzyzyzyzyyyxxyyxyxzzzzzyyzyxyz{yyyzyyzzzyyyyyxyyzzyyyyzyyyyyxxyyyyyyyyyzxwyxxxxxyzxyyzzyyxyxyxyyyyzyyzzzyyyyxyyxxyzzzyyzyxxxyxxwyyyyyzzyyxywxyxxyyyyyzyyzyyyyzyyzzyzzyzyyyyyyyyyyyyyyyyzyxzzxyyyyzyzyzzyyyyxyxyyzyyyzzzzyyzyyyzyyzzzzzzzyyzzyyxyzz{{zzzyzyyyyxyyzzzzy{zyxyzyzyzzzz{z{{zzyy{y{yzyzzy{zz{{zyyzyxyyyyzzz{zyzzyyzyyyzz{z{zz{zyzzzzzyy{y{{{zz{zzzyzzzz{zz{zzzyyzzyy{y{{zzzzzzzzzz{zyzzzzzzz{{zzzzyyyzxzy{{{yzzyyxyzyyyzzzzz{y{zyyyzyzz{y{zzyy{yyxyyyyyzzzzzzzyxyxyyxxxyzyyy{yyyyywyyxyyzyyyz{yyyxyxyxyyyzyyyyyyxyzxyxyyzzzyz{yyyxxxyyyxyxyzyyyyzyyxyxyyyyyyyyyyxxyyxyyyzyyyyyyyyxxxxwyyxyzyyzyxyxxxyxyxyyyzzyyyyxxyxyyzzyyyyyzyyxxxxxyzzyxzzyyywyyxyxxzyyzzyzyyyxxyzxyyxyzyyzxxxyxxyyyxyzzyzyyyxxyyxyyzyyyyz{zyzxxxyyzyzyzyyzyxyxxyyyzzyyyz{yyzzzzx{yyzyzyzx{yyyyxywxxz{{zz{yyzzyyxyx{zyyyyzzyzzxzyzyyzz{zzzzyzyxyzxyzzy{yzyzyyyyxxxxzyzzzyzyzyyzyzzx{zzzz{zzzzzyyzyyyyyzz{{zzyzyyzzyy{yzzz{zzyyzyz{x{{yzzz{zzyyzzxxyzzy{zzzzzyzyyxxyyyzzyzzzyzyyzzzyzzyzyzzyzzzzyyzxyzy{zzyzyyyyxxxyyyzyyyyyyxxyyyyxxyzzyyzyyyxyyxxxyyzyzzyyzzyxyyxxyzzyzzzyyyyxyzxyzzyzyyzzzxxxxyyxyyzyyzzyxxyyxxzxxzyyzxyzyyzxyxyxyyzzyyyyyyyyxyyyyxzyyzyyyyxyzxyxzyzzzzzyyzyxyxyxxxyyyyzzyyyyxxyxyzyzzyzzyxyyyxyxyzyxyzyzyyxxyyxyyzzyzyyyyyyyyyxwxzy{zy{zyxyxyyxxzzzzyzzzyyxyyzyzyyyyzzyzxxyyyyyyzzyyzzzzyzyyyxyyzzy{z{zzxzyyyyyxyzzyyyyyyyyyzyyyzzzzyzzzyxxyzyzyzyzzzz{zyzyyyyzyyzzyxzzzzyzyzyyyz{zzyzz{yzy{zzzz{{zzyz||zy{zyy{zzyzzz{zzzzyzyzy{z{zz{{{{zzzzyzyyyzzyzz{{zyzzyyzyyzzzzyzzzzzzyzzyzzzz{{{zzyyyyyzzz{zzzz{zzzyyyzzyyzyzzyz{yzyyzyyyzyzyxyzzyxyyxxyyy{yyyyz{yyyxyyyyyyzyzz{zxxyxyxyyyyyyyz{zzyzxyyyyzzzzyxz{yzzyxyzyyzzzyyyzxyyxxyyywzzyxz{yyzxyyyyyzzxyxzzyyyzyxxyyzzyyzyzzxxxyyxwyyzyyz{zzzyyxyyyxxyyyzzzyzyzyxyxxzyz{zyzzyzxyyxyxxyzyxyyzxzyxyyyxyyyyyzyyzwyyxzyyyzyyzzzzzyxxyyxyzzzyyzz{yyzyyxyyzzyyyz{{yyzyyyzyzzyzzzzzzzyzyzzyyzzzzzzyyyyyyxzxzzzzz{{zyyxyxyyyxzyzyzzzyyyyyzzz{z{{zzzyyzzzyyzz{yz{z{{zzzzzzyyyz{zzzyzyyyyzz{xy{{{y{{{{zzyzzyyzzzz{y{z{zzyzyzzy{|zzzz{{zyzzyyzz{zz{z{{zzzzzzyzzzzzzzz{zzzzzzzyzz{{{y{{zzzyzyyzzzzzzz{z{zzyyyyyxzzzyzz{zzyyxyyyxyyzzyyzzyzxxyyyyyzyyyzyzyyzyzyyyyzyyzzyzyyyyxyxxzzzyzzz{zyxzxyyyz{yzyyzzyyywyyyyyzzzz{z{yyyxyxxyyyzyzzzzzxyz{yyyyzzyzzyyyxyyyyxxyyyxyzzzyxyxyyyyyyyzyyyyyxyyxyxyyz{zz{zzzxyxyyyyyzzyzzzyyyyyzyyxyyyyyyyzzyyyyxyyyzzzyzz{yyzyxzyy{zyyyzzyyyxyzyyyzz{zyzzzyyyyyyyxzzyz{{yzzzyzyyyyyzzzyz{zyyyzyzyyyzzzzzy{zzzyyzyyyzzyzz{zzyzzyxyzzzzzzz{{zyyyyyyyzzzzzzzzyyyyzz{zyzy{y{{z{yyyzyzyyzzz{{zz{zzzyyzy{zyz{{zzyy{yz{zzzzzzzzz{{zzzyzyzx{zzz{{{{zyzyzzzz{{zz{|zzxz{yzzzyzy{{z{{zzyzzyyzz{z{{{zzzzzyyzyyzz{{zz{zzyzzyyzyyyzyz{{zzzyyzyyzyzzzyyxyyxxyyxyxyyzzyyzyyyzxxwyyxxyyyzzxzyyyyxxyzyyy{zzxzzzyyxyyxyyyyyyzyyyxyyyxyzyyyzyzyyyyyxyxyzzyxyyyzxywyyxyyxyyzxyyzyyzyxyxyyyzyyyyxxxxyyxyxzyyyz{yyxyyyyyxxyzzyyzzxzyxyyxxyyyyyyzzxxyyyxxyyyzzyzyzyzyxyyxyyyyyyzzzyyzyyyyyyyzyzzyzzyxyyxxyzzzyyyzzyyzyyyzzzyzyzzz{yzzyyxxyz{zzz{zyyyzzzyyyyyzzzzzzyyxzyyxyzzzzyzzzyyyyyyyyzzyzzzyzzzzyyyyyzz{{zz{zyzyyyyzxzzzz{{z{yyyyzyzyzz{z{{zz{yyzzyyyzz{z{{zzzz{zzzzy{{zzz{zzzzzzyyyyz{yzz{z|zzzzzzzzyzzzz{zz{yzzzyyzzzy{{z{{zyzyzyzzzzz{zz{z{zyyzyyz{yzzzz{{zzyzzzyyx{zzzzzzzxzxyyyy{yzyyyyyyxxyxxyyyyzyzzyzyxxzyxxxy{yzyyyyyxxyyyzyzyyzyyzzzwyyxyxyyyzzzzzzzyxxxyyxyzzyxyyzyyxxyzzxyzzyzyzzyyyxyxyyzyyxyyzyxyxyyxyxy{{yzyzzyzxxyxyyxyyzyyyzzwyyyywyyxzyzyzzyxyxxxyyzyyzyzzzyxzxyyxyyyyyyyxyzyxyyxxyy{yyyzzzyxyxyyxxzyyyyyz{zyyyyxyyyyzyyzz{yyzxyxyz{zzyz{z{yxyzyyyyzzzzyzzyzyyxzzxxx{zzyyzz{zzyyyyxzzzzyyzyyyyyyyyz{{zz{y{zzyzyzyzzzz{zzzzzzyzyyyzzzyzzzzzz{yzyyxyxz{yzz{zz{yyzzzyyz{{zzzzzzyzzzz{zzzyzz{yzzxzyyzyyz{zzy{zzzyzzxzzz{z{y{z{y{zzyzyzz{zzz{z{zzyyxyzyyz{z{zy{yzxyyyyyyzzzzz{{yzzyyyyzzyzzzxzzyzzyyyxyyyy{yyyz{xyzxxzxyyzzyyzzzyzyyzxyyxyzzzzzzzyyyyzxxzzzzzzyzzyyyyyyyzyz{yzzyyyyyyxyxyyyyyyyzyzyzyzyxyzzyyzyyyyyzzyyyzzzzyzzzyyzxyyyyyyyyy{zzyxzyyyzyyzyzzyzyyyzyyyyyyyzyzyzzyyzyxyyywzy{zz{zyyxyyzyyyzzyzzyzxzxyyyyyyzzy{{zzyxyxzyyyyyy{{y{zzyzzyxzyyzzzzyzzyzzyyyzyyyzzzzzzzyzzyyyyyzzzz{{yyzy{yyzzzyzzzzzzyxyyyzxyyzyzzz{zzyyzyxzy{zzzz{zzzzyyzzzyy{z{z{zyyxzyz{zzzyzzzzz{zyzzzyyxz{z{zz{yzzyzyzyy{z{z{z{z{zzzyzzyzzz{z{{z{yz{yzy{z{z{{z{{zz{zzyzzz{zzzz{z{zzzzz{yzz{zy{{zzzzzzyzzzzz{{{{zzyzyyzzzzzz{zz{{zzyzzzyyy{z{zyzyyyyyyyzyzy{yzyyzxyyyyxyyyzzzzy{zyxyxxxxxxzzzyyzzzyyxxyyyzzyzzzzzyyyyxyxyyzyyyzzzzyyyyyyyzzxzzzzzxyyyzyyxyzzzzzzyzyzxyyyyyyzzy{zzyxywyyyyyyyyxyzzxyxxzyyxzyyyzyzyyyyxyyyyyyyzzzzyyyyxxyxxyyzzyyyzzyyyyyyyxyzyyzxyzyxzyzyxyzzyy{zzyzzzzyyyyyzyyyzzzzyzzyzyzyzz{yzxyyxyyxxyyzzzyzyyyyzxzyyyzzyyzyz{yyyzyyyyyz{yyzzzyyyxyyyyzzzzzyzzyyzyyyzy{zzzzz{zzz{yzzzzzz{z{z{zyz{zzz{yy{z|zz{zyyyyyzyyzz{zz{zyyxzyyyyyz{z{{{{zzz{yzzzyzz{zz|z{{yyzzyzzy|z{{zzzzyzyyzzzzz{{{{zzzyy{yzyzy{zz{zzy{yzyzzyyzzzzzz{yzzzyzyzzzy{zzzzz{yzzzyzzyzzz{z{zyxzzzxxyzzz{zyyyyzzyyzzxxzyyyxzyyxxxyyyyzyzy{zzzyyxyyyxwyyyzzz{zyxxyzxyyyyzzyyyzyyyyxxxxyyzyyzzzyyxyzxyxyyzyyyzyyzyxxyxyyyyyyyyyxxxyxxyyzyzzzyzzzyyxxyyxyyyyyyzxxywxxyyxzyxyyyyyyxzxwxyxyzzzyzzzzyyzyyyxyzyzy{zzxzzxxxzxxyyyyzzzyyyyyyyyzzzyyzyzzyzyzyyyyzzyzzyzxzyyyy{yzzyyyzy{yyzyxzyyyyyyzyz{yyzyzyyyyzzyy{zzyyyxzxyyyzyzzyy{zyyyyyyyzyzzyzyzyyyyyyyzyzzzzzzzyyyyyzzxz{zyz{zzzzyyyxyy{zz{z{{yzyzxzyzyzyyy{{{{zyyzzzzyyzzy|zzzzzyzyyzzyyyzyz{z{zzzzyzzyzzzzzz{{yzzzzzy{zzzz{z{zzzzzzyzz{zzzz{zzzyxzzyzzzz{zzzy{xyxzzzxzzzyzzyyzzyyyxyzzz{yzyyyyxyxyxxxyyyzyyyzyxxxyxyyyyyyyyzzyyyxxxxxzzxyyzyzxxyyyyxxyyyzyyyyyyyyyyxxyzzzyyxzyyyxxxyxxzyxzzyxzyyyyxyxzyyyyyyyyyxyyxyyzyyyyyzyxxxyyxxyzyyzyz{yzxyzyyyyyyyyyx{yyxzyxyyxyzyzxzzywyxxxxxxwyyyxyyyyyyyyyxyyzyyyzyzyxyzyyyxyyyyzyzzyxyyyxxyyzzzzzzzzyxyyxyzyyxzyzxyyyyyyyxyzyyzzzzyzyxyyxyyzz{zyyxyzyyyzyxxyyzyyz{yyzyzyyyyzzzyyyyzzzzyzzyyyzzz{zyzyyzyyyyyyyzyz{zzyzyyyyyyyy{zyzzzyxzyyxyz{zzyzz{{zyyyzzzzyzyzz{{zzyyyyyzxy{z{zzz{zyyzyzyyzz{z{zz{zyyyyyyzzzzzzzzzzyzyzyyy{zyzyzz{zyzyzyxyyyz{zz{zzyyxyzzxyzyyyzyyzyyyyxyyyz{zxyyzyxyyxyyyyxyyyxyzyxyyxxywyzyyyzyzyyxwyyyxzzyyyyzzyyzyyyxyyzyzyyzzzyyxyxyxxzyyyyyzyzyyxxxxyzyyxzzyyyyyxxxyyzzyyzyyyxxyzzxyyxyyyyyyxyxyxxxxyzzxyyzyywyywyyxzyzyzzzyyxxwxyxyyzyzyzzzxyxyyxxxyyzyyzxxzyxxxyxxxzyzyzyzyyyyyxxxyyzyyzzzyyyxyyyyyzyyzyyzyyyyyyzxyyzyyzzzyyyxyyxyzyyzyzzyyyyzzxxxyyyzzzzzzyyyyxyyzyyyyzzyxzxyzyyxyzzyzzz{yyxyyyyyzzzzz{zyyyyxzzyyyz{zyzzzzzyyyxxyzzzzy{{zzxyyyyyzzzzzzzz{yz{zzzzyyzzzzz{z{zzyzyyzz{|zz{zz{yzzyyxyzzz{z{zyzyyzzyzyyzzyzy{zzzyzyzxzzzyzzy{zyzyxyyyzzzy{zzzzyzyyyyyyyzzzzyzzyyzyxyyyyzzzxzyyyxyyyyxwxyyyyyzxyyyxyxyxzzyyzyzzyyzwzxxyzzzyyzzzyxxxxyzyyyyyyzyyzyyyyxyyxyzzzzzzyxxxyxyxyyyyzzyzzxyyyyxyyyzyxxzyxyzyyzxyyyzyyzzyxxyxxwxwzyyzyyyyyyxyxyyyyyzxxzzzyyzxyyyyyyyyxyyzyyxyyxyxxyyyyzxzyxyyyyyyxyyyzzyzyyzyyyyxyzzzyzyyyyyyxxyyzyzxzzzyyyyzyyxyzzxyz{{zxyyxzyyzzzyyyz{zyyzyyyyxxyzzyzzzyxzxyxxyyzzzyyyyyxyyyzyzzzz{y{zzzzzxyyyyzzz{y{zzyyyzzzzzyyy{{z{zyyzzyzzyz{z{zyzxzyyzzzzyz{zz{z{zyzzyzyz{z{zzzzz{{yzzzzyzzzzzzzzy{y{zyzzz{zy{zz{{{yyzyyzzzyyzz{{zzzzyzzzyzzz{yzz{zyzyyzyzzzzy{zzzzyyzyyyyzzyyyyzzyyzzzwyyzzzzyyyxyyxxxxyyxzzxzyzzyzzyxxxzyyyzzzzzzyyyxxyyyyzyyz{yzyyxzxxyxz{zyyyzzyzyxxyyyxzyxzy{yxyxxyzyzyyxyyzyyyyyyxxxyyzyxyzyzyyyxyyzzyyyzyyyyzwyywxxyyxyyyzyyyyyxyxyyxzyzyyyzyxyyxyxzyyyyyzyyxzyzyxwyyyyzyyzzyzxywyxxyyyyyzyyyyyxyyxyzzyyyzyyxyxyxyyyzzzzyzzyyyyyyxyzyzzyzzzyzzyyzyyyzzyz{zzyxywyxxzyzzyyzzyzxzzzxyyyx{zyyyzyyyzzxyy{zzyyzzzyyzyyyyyzzz{zzyzyzyzzzyzzzy{z{zzyxyyyyyyz{zzzzz|zyzy{yyyz{{zy{zzz{yzyzzzz|zz{zz{zy{yyyzzzzz{{z{{zyyzyzzzz{{yzz{{{yzzyzyzyzzzzz{{zzyyzzzyy{y{{z{{yzyxyxyyy{y{zz{zyyxzyzyyyzzyyzzzyyzyxyzzzzzzyyyzyyyyyxyxyyzyzyzyyxyyyyyyyzyzzyzzzxyyyxyxy{yxyy{zzyyyyxxyzyyzyyzzzyyyxxxxyzzzzzy{zyzyxxyyzzzzyyyyzyyxxyyyyyzxzzyyyyyyxyyyyxyzyyzyxyyxyyxxyzyyzzyzyxxyyyxyyxyyy{yzyyyyxyyyyzyzyyzzzyxxxyyyxzzxxzyzzyyxyyyxyzyzz{zzyzyyxywxzzzzzz{zyzxxyxzyyzzzzyyyyyxyyxzyyyzzzyzzyxyyzxzyzzzz{zzyzyzyzyxxyy{zyyzzzxzyzyyyzzzzxyz{zxxyyyyzzzzzzzzyzy{yzyyyzzy{zzzzyzyyz{yyz{{zz{z{yzzzyyyy{zzzzy{zzzyyyyzzy{|z{z{zzyzz{zzzzzzzz{{z{zzzzzyz{z{{zz{z{zzzyyyz{{z{zzzzzzz{zy{yzzz{{{{{zzzzzyzzz{zzzz{zyzzy{yzzzzzz{zz{{zzyzyyyz{zzzzzzyyyzyyzyzzzzzyyxxyxxyxyyyyyxyxyxyxzxxyyzyyzyyzzzyyyyxyxyyzyz{zyzyyyyyyyyzzzyyyzzyzyyxyzyzyzzyzyyyzyxxyyyzzzyyzzyxyyyyyyyzyyyzyyzyyyxxyyyzxzzyyzzzxzyxxyxzzzyyyzyyyzyxyxxxzyz{zzzyyxzyyyyxzzzzy{zyxxyyyyxxyyxyzyyyyyyyxyxxxzyzyzyzyyxzyyyzyyzzzzzxxyzyyyyyzzzz{yzzxzzyyyyzzzyyzzzzyyyyyywzzzzzyzzzzyyzyxzyyzzzyzyyyzyyyyzyz{zyy{yyzyyzyyyz{zzz{zzyy{zzyyyzzzzzzzzyzzyzxzzzzz{{zzzzyyzzyzyy{zz{{z{zyzzyzzy|zzz{{z{zyzyzzzzzzzzz{{zzzyyzzzzz{zz{z{{{yzzyzzyyz{z{z{zzyzzzyzzyzz{zzzzzyzz{zyz{zz{z{z{zzzyzzyxzzzzzzzz{zzyxyzxzzzz{z{zzyzyyxyyzzzzzzyzxyxyxyyxxyzyyyzzyzyzyyxxzyyyzyzyyyzyyyxxzyyzzzzzxxyyzyxyyzzyyzz{zyyxxzxxzzzyyzyzyyyyyyyxyyyzzyyyyyyyyywyyyzyzzy{yyyyyyxxyyyyyyxyyxxzyxxxyyzyyzzyzxxyyyxxzzyyzyzyyyxywxyxyyyyyyzyyyyyyyyyyyyyyzzyyyzxzxyyyzxyxzyyzxyzyxxyzzzzzyzzyyxxyxyzyyxzyyzzyyyyyxyyzyzzyzyzxxxyyyyyyyyyyzzzyxyyyyxxzz{zyzyyzxyxyyyyyzzyzy{yzzzywyyyz{yzzzzzzyxyzxyzyzz{zz{zyyyzyyyzz{zzz{{zzxyyyxyyzzzz{zz{zyyzzzyy{z|{zzzzyzzyyyzyzzy{z{z{zzzzzyxzz{zzz{zzzzzyxyyzz{zyzzzzzzzyyzzzyzzz{zzzyzzyyxyyzzxz{zz{zzyyyyzzyyyzzz{y{yzyyzyyzzyzyzzyyyy{yzzyyzyzyzyyyyyxxxyyyzyyzyxyxyyyxyxyyxyzzyyyzxxyxyzyyyzyyzzyyyyyxyxyyyzyyyzyyxyzxxxyzzyzxzzzzyzxxxxyyzyyyy{yzyyxyyxxyzyyyyyyyyxyyyyzyyyyxzzyxyyyxxyyyxyyzyyyyyyxyxyyyyzxzyyzyzyyxywyyyyyyyzyzyyyywyyyxyyyzz{zyxxyyxyyyyyzyyzyxzyyzxxzzzyzyyzyzyyyyyzzzzzyz{yyyyxyyyyyzzyz{zzyzzyxyyyy{zyzyyzyyzyyyzyyyzyzzzyzzyyyyyxzzzzyyyzyyyzzzxyyzzzzzy{yzyyzxxyyzz{zzzzzyzyzyzyzzy{zyzzzyyzyyyyzzzz{yzzzxzyzxyzzyzzyz{{zzzzzzzzyz{{z{zz{zxyx{zyyz{zzz|{yyzzyyz{zzz{{zz{{yzzyyyzzzyzzy{{zyyyzyzz{zzzzzzzzyyyyy{yyyz{zyz{zyyxyyxyzzy{zz{zzzyyxxxyzzzzzyyyyyxxwyyxyxzyyxyzyyyyxyxyyyyyy{zzyyyxxyzyzzyyzyyzyxxxyxxyyyzyzzzyxxyxyxyyzzzzzzzzyyyxxyxxyyyyxzzyxyyyxxxxyy{xzzzzyzyxxyzyyyzyzzxyxxzxyyyyyyyyzx{yyyyxxyyyyxyyyyyyyxxwxyxyyyyxzyzyyxyxyxywxzzyyyzxzwxyyxyxyzzzzzzzyyyyyyyzyyyyzyzzyyyzyyzyzyzzyzyzzxzxyyyzyzyzyzyyyzzyyyyyyzzzzzzyyyzyyyzyxzzzz{yzyzyxyzyxzzzyzzzzyzy{yyzy{{yzy{zzzyzy{zyzyzzzz{{yzyyzyyzx{zyzzyzzyyzzyyyyzyz{zzzzzxyyz{yy{zzzz{{zyyzzz{zyzzyzzzyzzzzzyzyzzz{z{z{{zzyzyzzzzzz{y{z{zzyyyyxzyzzzz{z{yyyyzyxzy{zzzz{{yzyyxyzyzyzzzzzz{zyyxyxyzzzzyyyzzyyyyxyyy{zz{zzyzzyzxxyxyyyyzzzzyyyyxxyyyzzyzzzyxzyxyyxxx{yyz|zzzyyyyyyxzyy{yzyzzzzyxyzyxzzzyzzzyxyxyxyyyxyyzyzyyxyxyyyyxyzyyz{yzyyxzyxyyyxzyxzzxxxyyxyxzyyzyzyyyxxxyxxyyxzyzyzyyyyyxxyxyzzyyyyzyyxyxxxxyxzxx{zyyyyyzyyxyzzyyzyzyxzxxyyyyzzzyz{yyyyzyxyyyzzzyzz{zyyzyxyxyzzzzzzzyyyyyxyzyyzzyzzzyyzyxyzyzzzyzzzyyxyyyyxxzyzzzy{{yzyzxyyyzzzzyyz{yyyyyyyxyz{zyzz{zzzyzy{yyzz{y{z{xyyzzyyyzyzzz{|z{yzzyyzzzyzzzz{{zyzzy{zzz{zzzzz{zyyyyzyzz{{{zzzzzzzyzyy{zzzz{zzzzyyyy{yyzzz{{z{|zzzyyzyy{{yz{yzzzzxyzzyzyzzz{zzzzxyyyyyyyzy{zyzzyyyzyyyyzxzxzyzyzxyyzyxxyzyyzyzyzyyzzyyyzxzyy{yyyywxyxzyzyyxyzyyyyyxyyxxyyyyyyyzyzzxxyyyyyzzyzy{xyyxyyxyy{zyxyzzzyyxyxxyyzyxyyyzyyyxyxxyyzyyyzzyyyyyyyxxxyyyyzyyzzyyxyxxyyyyyzxyzzyyyxyyxzyyyyzyxyxyyyzyy{yyyyzyxyxxyxyxxzyzyzy{yzyyzzxxzyzyzzzzzxxxyyyyyxzyyzzzyyzxxxyyzyyzyyy{yyyyxzyyzyzzyzyzyyyyyxyyyzy{yyzyzxzyyyxyyyyyyyzzzyyyyyxyyzyxyz{yyyyzyyzyyz{zyzzyxzyzzz{yzyyzyz{zyzzyyyxxzz{z{{zyzyyyzzzzyzzzz{{zyyzyyyzyyzyzzzzzzzzyyzzzy|yyzz|{yyzzyxyyyzzyzz{z{yyyyzyzzzzzyy{{yzyxzyyyzzzzyzzzzzyy{yxyzzyyz{{{zzyxyyyxyzzzyzzzxyuyyxxzyyyyzzyxyyyyyyxxxyyyyx{yxxyxyyyxzzzyy{yzyyxxxyxyzyyzzyzzyxzxxyyyyyyyyyzzyzzyyyyxyyyyyyyyyxzyyyyyyzzzyzzyzyyxyxxxxxzyzyyyyyyxyyxxyyyzyzyzzyxxywyyyzzyzyzyzyyxywxyyyyyyzyyyyzyxyyxzzzyyyzzzxyzyyyxyyzxyyyyyyyyyxyyyyyzzzzzyyyyyxxyyyyzyzzzyyyxzyxxzzzzyz{zzxyxyzyyzy{zyzyzxyzyxxyxzyzz{zzyyyzyyyyxz{{yzzyzyyyyyxxyzyzzyzzyzyyyxyyzzzyzxzyzyzyyzyyyzz{z{zzzxyyzzyzyzzzzyyz{zyyzxxyzyzy{zzzyzyyyzyzyzzy{zzzzzyzyzyzyzzyyzzz{zxzzyzyyz{zyyz{{zyx{zzyzzzzzzz{zzyyxyzyyzzzzzy{zzzzyyzzyzzyy{zzzyzyyzyyyz{zzz{zzzzyyyzyxxzzzzzzyyyyyyyyyzyyyy{zyyyyxxzxyyyzzzy{zzxxyyxzyyyzyzzyzyzxxxyzyyyzyyzyzzxyyyxyxyzzyzzyzyzyyxyxxyyzxzzz{yxyyyxyxyzzyzz{yzyzyyyyxxzzyzzyzyyzxyyxyyxzyyzyzywyyyxxyyyyyyyzzxyyyyyxyyyyzzyyzyzyyyyyyyzzyyyzzyxxyyyyyyyyyyyyyxyyzyyyyyyzyzzzyyyyxyzzyyzzzzzzyyxxyxyzyyz{yyyzzyyyyxxzxzyyzyzzzyzzyzyyyyzyzyzzzxzyy{yzzz{zzy{yyyyyyxzyyzzzzzz{yzyyyyyyyzzzzzy{zyyyzzzyyz{zzy{zyyyzzyyzz{{{{{zz{zyzzyzzyzyz{{z{zzyzyyyzz{zz{z{{{zzyyzyzyz{zz{zzzzyyzzzzyzz{zz{z{zyzzyzzy{{z{{zz{zzzz{zzzzz{{zzz{zyyzzzzzzzz{zzyzzzyyyyyyzyzzzz{zzzzzyyyy{{{{z{zzyzyyyyyxzz{zzzyzxyxzyxwyxzyzyy{zyyxxzxxyyzyzz{z{yyyxyyyxyyzyyyzzyyyzyzyyyyyyzyzzyyyxyxxwyyxzzyyzzyzyxyxyyyyyyz{zyyyxxyyxzy{yxzyzyyxxyyzxzxyzy{yyyxyxyxyyxxzyxzzzzwy{yxwyxyzyyyzyzyxyyxxxxzzyyyyzyyyyyxyxxyxyyzyzyxyyyyyxzzyzzzzzyyzyyyxyzyzyy{yzyyyzyyxyyzyyyz{zyxzyyyzzzyyzzyyzyyzzyyyyzzzyyzzy{yyyyxywyzy{y{zyyzyyyyyyyzzzz{zzyyzyzzyyzzzz{{zzyzzyzzyyzzzyz{zzzyzxzzyyyzz{zz{{zzyzyzyxyyzzzz{zyyzzzzzzzzzz{{zzzzyzzzzyyyy{{zzz{yyzzzyzy{{zz{{zzzzyzyzxzz{z{{z{zyyyyyyzzzz{zz{{yz{yzyxyzzz{zz{z{yzyyyxyzzz{yzzzyyyz{yyyyzzzzyzzyzyyyyyzzzzzzzyyyxyxyyyzyzzyyzzzyyyyyywyyzyyzzyzzyyyyyxyzzyyyzyyyyxyxxyzzzyzzzzzxyyxxxxzyzzyyyzzyyyyxyyyyyyyyzyzyyyyyyyxyzzyyyyzyzyyxyyxyzyzyyyyyyzxyxyyyyyzzyzyzyyxyxyxyyyzzzyzxzyywyxyxyyzyzyyzxyyyyxxyyyzyzzyyzyyxxyyyyzyyzz{xyzxyyzxyxzzzzyzyyxyyx{yyyyzyzyzyyzxyyyyzzzyzzzzyyyyzyyzzzzzzzzyyyyyzxyyyyzzyzzzzzyzyyxyy{{{z{zzyyxyyyyy{zzzyz{zzyyyzzz{zzy{zzz{yyzzyyyyz{z{z{z|zzyzyy{zy{yz|{zzyyyyyzzzzzyzzz{yyyyyyz{yzzzz{{z{zzzzyzzz{{z{zz{z{yzzzzxzz{{zyzzzzzyzzyyzyy{zyz{{zzyzzzyyzyz{zzzzyzzyyzyzyyzz{|{zzzyzzyyyzzzzzy{yyzyyyyyx{zy{zzzxyyxxxxyxyzzyyyyzyxyyyyxxyyzy{yzzzzyxxyyyyyxzyzzyzyzzyyyyzzzzyyzyzzyxyyyyzzzzyxyzxxyxxyyxyzyyyz{zyyyxyyxyyz{yxyzywyyxxyxyyyzyy{zyyxyyxyyyyyzyyyyyyyyyxyxzyyyyyyyyyyzyyyzyyzzyyyyyyyyyyyzxyyyzxyyzyyyxxxxyyzyxzzzyyxzyyxyyyyyyyyyzyyyxzyyyyzzxzzz{yyyyyxxyyyzyyzyyzyyyxyxyzyzzzyyzyxyyxyzyyzyyyzzyzyyyyyzx{yyyyzzzyyxyxyxyyzzzyzyyyxzyzyyyzyz{zzzzyy{yzzyzzzy{z{z{zzyyyxxzz{{z{zzyzyyyzzzyz{zzzz{zzyyzzzzzzzzz{{{{{yxzy{zyz|zz{zzzzz{yzyzzzzzzy{zzzyyy{yyzzzzzy{yz{x{zy{xyyzzy{{z{zzyyyzyy{zy{y{zzzzzzyyyxzzzzzzyzzzyyzyzyz{zyyzzyyyyxxyxxyyyyyyzzzyzyyxwxyyzyyyzzyxyxyyxxyyyzyyzyyyxzyyyyyyyyyzzzzxyyyxxxyyy{zzyzxwxxyyyyxyzzyyzyyyxyyyyxyzyzyyyyyyyxxxyyzyyyyzyzyxyyxxyxzxzzzzzyyyxyxzxyyzzzz{yzzyyyyyxzyyyzyzzzzxzyywxxyzyxyyyyyxxyyxyxyzyxzzzzyyyyxyyxyyyyzzz{zyyxyxyyyzzyzzyzzzyyyxyyyyyzzzzzzyxyyyyyzzyyzzyzzyzxzyyyyzzzzzyzxyyyyxyxzyzyyzzzzyyyxyyzz{zzy{{zzzyyyxxyzz{{zz{zzzxxzzyyyzz{z{zzzzyzyyyxz{zz{{zyzzzzzzxyyzzzz{z{zzyyx{zzzz{{zzzz{zyxyzyzz{zz{zzyzyyzzx{y{y{zyz{zzyxyzzzyzz{zz{z{zyyzzzyyzzzz{zzzy{yyzyyxyz{zzzzzzzyyyyyxyzzyzzzyyyyyxxyxxyyyzyyyywyyywyyzzyxxxyzyxxyxxyxyyxzyzyzxxxyxyyxxyyxyzzyywxxyxxyyyzzxzzyzyxxyyyxyyxyyyzzzxyyxyyxyxyyxyyyyyyxyxxwxyyxyyyzxyyxxxxxyxxyyzzzyyxwyxwyxyxyyyyyyyyxxyxxyyyyyyzzyyyxxxyyyyyyyyyzyxwxyxzxxxyxyxyzyyzxzxxxyzxyyyz{xyyxxyyxyyzyyyzzyyyyxyyxyyzyzyzzyy{xxyyyzzzyyzyzzyyywyyxyzyyzzzyyyzyzyyxzzyzyzzzzxyyyyxyzzzyyy{{zzyyyzyyzzz{yzzzzyyxyyyzzyzzyzzz{yyzxyzzzyzzzzz{yyzyyyyyyzzzzzzyzxyyyzyz{{{zyzyzyzyzyyz{y{zzzzyyzzzyyyyzyz{{zzz{{yzxxyyyz{{|zz{zzyyxzyyyyzzzzzyzzyyyzzx{zzyyz{{{yyyyyzzyzyyyzzzzzyyyxyxyyyzzzz{{yyyyxyzyzzzyyyyywxyxyyxyyyzyxyyxxyxyyxxyzyyxzyzzyzyyxyxxzyyyzyzzxx{xyyyyyyzyyyzzyxxxxxxxyzyyyzzyywzyyxxxyyyxyzyzyyyyzxyyyyyzyyyzyyyyxyyxzxyyyyzzxyyxyxxxyxyyzyyyxxyzyxyxyyzyzzzyzyyyxxyxxyyxyyyzyyzxyxxxyyyxyyyzyxyxyxwyyzyxyyzyxyxyxxxxzzzzyzz{zyyxyxxyzzyyzzzyzxyxyyxyzzzzzzzzyyyyyyyzyyxy{zzzyzxyzyyyzzzzzyzyzx{xyyyzxzxzzyzyyyxyyxyyzyyzz{zzzzyyzzzyyzzz{{zzyyzzyyzzyzyzzyzzzyzzyyyyyzzzzzyyzyzzyyzyy{{zzz{zzyzyyyyzyzzy{{{{zyzyyzyyzzzzzz{zzxyzyyyyzzzzzyzzzyyzyzyzyzy{z{zzzyyyyzzyzzzzzzzz{zyyyzyzy{yzzzz{zxyyzzzxy{zzzy{yyyyxyxzxyyyzyyzyzyyyyxxyyyzxyyyzyyxxxyxyzyzyzzzyyxyyxxyxyxzyyx{{yyzxyyyzyyyzyzzyzzzyyxywyyzxyzyzxwxyxxxxyyxyyyyxyxwxxxyyzxzyzzyyyxyxyyxzyzyyzyyzxzyyyyyxyyzzzyxyxyyxxyxyxyzxyyyyyyyyxxxxyyxyyyzzyyyyxyxxyxyyyzyzyyyxxyyyxzxyxzzz{xzyyxyxzyzxyyyyyyxzyxyxyyzyyzzzzyyyxxyyyyzyzyzyyzzyyyxyyyzzzzy{yyzyyyyxx{yzzyzzyxzyzyyzyzzyxzzzzxyzyyyyzzzyzzyyzyyyzyyyzzy{zzzzyzyyyzzyzzy{zzz{zxyzyyzzzzzzzz{zzyyzzyzyxzzyzzzzzyyzyyyzyyzyzzyzzyzzyyyyzzzzzzz{{y{zxyyzzz{zz{z{zyzyy{yzz{yzzzzzy{zyzzyy{z{zzzy{zzyyzyyzzzzzzzzzzzyzzzyyyzyyzzzyyyyyyyyzyyzyzyzzxzyyywxxxyzyzyzyyxyzyxyyzyzyzzyzyyyyyyxyzyyzyzzzzxyxyxxxyyyyyzzzyyxxyyxxzyzyzyzzyxzyyxyxzzyzxyyyyxyyyyyyxyyxyzyxyxyxxxxwyyyzxzyyxxyyyyxwxzzyyyzyyyyyxyyyy{yzzyyyxyyxyyyyyzyyyy{yyyxyyxyxxyxyyzyyyyxxyxxxyyyzyzyyxyyxyyxxyzyzzy{yyyxxyxxyzyzxyzzzyyyyyyyyyyzzyzyyyyyzzyyyyyzyyzyzzyyyzyyyyyz{xyyzyxxyyxyyyz{xzyzyyyyyxyyyzyzzyzyzzzyyyzyy{yzzzzzyzzzzzyzzyyz{z{zzyyyyyyyxzzzzyzzy{yyzyzyzzyz{yz{{{yzzyyzyyzzyyzzzzyzzyzzzz{zyz{{z{yzyyyyzzzy{zz{zzyzzzzzzzzyzz{{z{yyzyzyzz{zyzzzzxyxzyyyyzyy{zz|yy{yywyxyzzzyzzzzyzyyyxyyyy{zyyxyyxyxyxxxxyzzyyxxxyxyxwyxyyyyzyyzxyxyxxzyyyyyzyyxyxyxxxxxyyzzyyyzzxxxxxyxyyyyzyzyzyyxyxywyzyyyxzyyxyxxxxxyxzxxzyyyxyxyyxxxyxyyyyyyxyyyxyxyyyxxyyzyyxyyyxxxzzyyyyzyxyxxxxxyyyxyyyyyyxxyxxxxzyxyyy{yyzxyyyxxyyyzyyzxyxyxywyzzyyyz{zzxyxzxyyyyyyzyyzyyyyxwxyxzxyyzyzyxyyzxxyzyyzyyyzyxzxzwyxy{yzzzyyyzyyzzxyyyzzyyzzzxyzxyxxzzxzzzyzzzyyyyzzzyz{zzzzyzzzxyyyzzyzyzz{yyyyyyyxyzzy{zzzyyyzyyzyz{zyz{zzyxzyyyyyzyzy{zz{zyyyzyyzzzyz{y{zzyzyzzzyzzz{zzzxyyzzzyxzzzyzzzzzyyxyyzyy{zzzzzzzzyyyyzzyzzyyzyzyzyyzyxyyyzyzz{yzyxy{xyzxyzyyyyyyyyxxyxxxyzyyzyzzyyxyyxxxzyyyzzyzxzyyxxyxzyyyyyyzyxzxxyyxyyyyyyzzyyyxxxyyzxyxzyzzyyyxyxyxyzyyyyzyzxyxyxxxyyzyxzyyxyzxyyxxzyyyyzzzxyxxyyxyyyyyyzyyyyxyxxxxyyzzyzzzyxyxxyxxxyyyyyzzxxyxxxxxxyyyyyyzyyyxyxxyxyyzyzyzxxxxyzyyxyzyyyzzyyyyyyyzyzyyzyzzyyyyxxzzzyyyzyyzyyxxyyyyyzzzzy{zyyyyyyyyz{zzyzyzzzyyyyxyyzzzyy{zzyyxyyyyyzyzyyyzyyyy{yy{yz{zyzyzyyyyzyyzzyzzyzzzyyyyyyzyzzy{z{zzzxzzzyyzyzzzz{{{yyyyyz{zxyxyz{zz{zyzy{zyy{y{zzzzyyzyyyzyzzzz{{{zzyzyyzzzy{yzzyzz{zyz{yxyzz{zzz{zzzyxyyz{z{yyyzzzzzzyyyxyzzyzyyzzyyzyyzyxyzyzyzzywxyxxyywyzzyzyyyyzyyyxxxyzyyzzyzxyyyyzxxyxzzzzzzxzxxyyyyyyzyxxyyyxxxyyyxyyzzzyz{zyyyyyyyyyyyzxyzyyyxxyyyyyzzyyyzzyxxyxxxxzyzyyyyyyyxyyyyxzyyzyzyyzyxyywyzzyyyzzyxyyyxyyxyyyyyyzzyxyxyxyxyyzxxyyyzyxyzyzzyyyyyzzzyyyyxyxyzyyzyzyxzyxy{yyxyyyyyzzzyyyyyyzyyyyyz{zzyzzxxxyyyzzyyz{zyyyxyxyyxzzzy{yzyyyyzyyyyyzxyyzyzyy{yxyzyz{zyzzyyyzyzyyyyzzyyzzzyyzyyyyzzzyzzzzzzzyyzyyyz{zzzz{yyyyyyyyzzzzz{z{zzzyzyzzzyzyzzz|zzzzzzyzzy{zyzzzzzzzzzzzyzyzzzzz{zyyzz{yzzzyzyz{zzzyyzzyzzyyzzzy{zzzyyzzyzzzzzy{{zyyzyyyxzyz{y{yyzyzxzyyzyzzzzzyyyyxyxywxyyyzyyyyzxyyxxyyzzyyzzyzyyyyyyyxzyyyyzzzyyxxyyxzzy{yzzzyyxyyxyzxyyzyzzzyyyyxyyzxyyzyyzyyxyxxyyxyzyyxz{yyyyzyyyyxyyzyyzxzxxyxyywyyyzyyzzzywxyyyyxyzyyzzyzyxzzxxyyyzyzzyzyyxyyyxxxyyzzyzyyyzyxyxxxyyzyyzyzyyyyzyzxzyyyxzzyzyyyzxyyyyyzyzzzyyzyxxyzxzzyy{zzyyzyyyyyzyzzyyz{yzzyzxyyzyzzz{zyyyyxyyyyzzzzyzz{yyyyyxyzzz{zzz{zyyzyyyyyzyz{z{{zyzyzyzzyyzzzyz{{yzzyyyzxxzz{{zz{yyyyyyzz{zzy{z{{zzzyzy{yzzzzz{{{{zy{yz{zyzzz{{z{zyyyyzyz{{zzzzzzzyyzzyzzzzzz{zzz{zyyzzyzzzz{z{zzyyxxyyyzzzzzz{zzyzzyyyzy{zzzzz{zyyyzxyyyzyzyyzyyyzyyyyyxzy{yzzzzyzyyyyyyyyy{yzzzzxxxyyyyzxzy{zzyyyzzxxyxzzyzzyzzyxyxxxyyzyxyy{zyyyxyyyyyzzxzyyyyzxxyyyxxzzyyyyyzyyxxxxxzyyyyxyyyxxwzyxxyyyyxzzzyyyyxyyxyyzzxyzyzyxyxyyyyzxzzyyyzyyxyzxyxzyyxyyyzyyxxyxyyxzyyy{yzzxyyy{yyxyzyyy|zzxyyyyyyyyyyyyzzzyyzxxyzzzzyzzyzyyyyxyyzzyzyzyy{zzyzyyyyyzzzzyzyyyyyyyyyy{{yzzzyzzzyyyyyzyzyzzz{zyyyzzyzzzz{zyzzyyyzzyzzyyy{z{zzyyyyyzxzzzzyyz{{zyyyzzzy{z{{zz{zyyzyzz{zzzzz{{z{zyyyyzyxzzzyz{{{yzyzzyzzy{zyzzzzyxzyyzyzzz{zzzyzz{yyzzyzzzzz{z{zzyzyyzzyzxy|yz{zzyyyyzxyyzzz{zzyyyzy{xyxyy{zzyyzyyywxwxxxyyxzyzzzyxyxxxxyzxyyzzzzzxxxxyxyyyyyzyyzyyxyxxxyyyzxyzyyyyyxwxyyyyyyyzyxxyxxyyxxyyyzyzyyyyyxxxzyyzxxxyyyyyxyxxxyyyyyzyzwyyyyxxzxyzyyyyzzyzyyyxyxyzzzzyyxyzzxyxxxyzzyzzzzyxyxxyyyzyxxzxyyyxwxxyxyyzyzzyyzyyxyyyyzyzyzzzyzxyyyyyxzzzyzyzzzxyyxyyyzyyzyzzyxyzyyxzyyyyzzxxzzyxyxyzzzzzzyzzyzyyyzyyxzzzyyyzyyyzzxyyyyzxyy{zy{yyyzyyzyz{zzzyzzzzyxzyyyzy{zzzzzyyzzyzy{yzzxyzzyxzzyzyyz{yzzzzzyzyxyzzx{{zz{zy{{yyz{zyyy|z{{zzzzyzzyyzy{zzyy{zzzyzyyzyyy{{yyzyz{zyzzyyyzyyzz{zzzyzyzyyyzzxyzz{zyyzyyzywyzyzzxzyyzzxx{zyy{yzzyyyzxxxyyyxxzzzyxzyyxxyxxyxyyyyzzyzzyyyyyxxyxyxyzzzxxzxyxxxyzyzyzxyyyyxxxyxzzzyzzyyxxyyyyxyyzyyyyyxyyyyyxxyyxyyxyzyxxxxyxxyxyxyyzzzxwxxyyyxxyxyyyzyyyxxxyxyyyy{zyzxxyyyxyxyyzyyyzzzyyywyyyxxyyyyzyxyyyyxxyxyyyxzyyyyxzyyyxyyyyyxz{{xyyxyyxyzyzyzyyyyyyxyxxyzyzzyyyzyxyxxxyyyyyzzyzzyxyyyyyyyzzzy{yyzzyyzyxyzzzzyyyyzyyyxzxyzzyzy{zyzyyyyxxyxzzyyzz{yzyxyyzyyzzzzzzzyzyyyyyzzzzy{{zzzyzyyyyyyzzzz{yyzyzzzzyzz{z{{zzzzyyyyxxzzyz{zzzzyyyzyyzyzyyzy{zyyyyzzyzyz{yyyzz{zzzzzzyxzzyz{zyzzzzyyzyyzzzyz{zzyyxzyyxzyzzzyzzyxxzyzwyyyzyzzzyyyyxyxyyxzzyxyyyzyzyxyyzyzzyyzyzzyxxyxyxyzyzzzyyzyyxyyyxyzzyzzzzzyxyyyyyyzyzxxyzzyxyyyyyxxyyyzyyyzyyxyzxxyyzyyyyyyyyyxywxyyyyyxyzxyzyyyxyyyyyzzyyyyxyyywxzzzyyyyyyyyxxyxyxyyzyzzzyyyzyyyyxyyxyzxyzyyyyyyyzyxyyyzzxxyyyyyyzxzzyy{zzyyyxyyyyzzyzzzzyyyyyyyyyyyyyzzyxyyyyyyyyyzzzyzyyyyyyxyyyzzyzyzzyyxxyyyxyzyzxy{y{yxyxyzyyzzzyzz{yyzyxyyyyzyzz{y{xzzzyzyy{zzzzzzzyyzyyzzyzz{|yzzyzyyyyzzz{{zzzz|{zzzyyzyzy{yz{{{z{zyyyzzyy|zzz{{zzyzzyzyyyzzzzzz{zyyyzzzzzzzzzy{zzyyzzzyz{{zzz{yzzyzyyzzzzzyyz{z{zyyzyyzyyzzzyyzyyyyyyyzzyy{zzyxyxxxxywxyxzyxzyyzyxyyxxyxzzzyzzzzyyyxxyyyyyxyy{{{zyzxyyyyyzzyxzyzxywxxxxyyyyyyyyzyxxyxyxxyyyyyzzyzyyyxzxxyyzzxxyyyywwyyxyyyyzzyxyxwyyxyxyyzzyyzyyzyyxwxxxyxxzzz{yzyzxyyxxyzyyzyzzyxzxzxyxyyyxxyyzyyxyyxyxyyyxyzyyxxyyyyyxxyzyzyzzyxyyyxyxyzzyyzzzyxyxyxyyyzyzyzzzzxzyyyyyzyyzzz{zyyyzyxyxyzzzzyzzyyxzyyyzyzyzzz{zzzyzxwyzzzyzyzyyzyyzyyyzyzzz{zzzyyyyyyzyzzyyzz{zyyyyzxyyzzzzzzzzzxyyyzzyzzzzzzzz{yzyy{zyzyzzz{{zzyyzyzyxz{zzzzzzyyzzyyyz{zyzzzzzyyz{zyxzzzzyz{z{yzyyyzyzzyyzzz{zyyzyzyyzy{z{zz{{yzzyyyyyyzyzyyyyzyyyxyxxyz{yy{yyxyxxxyxyyzyyxyzzyxyyxxyxyyyyzyyzyxxyyyxxywyyyyxxyxyyxxyyyyyzyxzyyxzyyyyxyyyyzzyzyyyyxxyxxyzyyzyzxyyxyxyxyxzxyzzxxxxxxxyxyzyyzzyyyyyxyxxxyyyyzzyyyzxyyxxyyzzyyyyxyyyyyyyxxyyzzyzyyxyxyyyxyyxyyyzzyyyyxxyyxzyyyy{yzyyzyyyxyzyyzyzzyyyyyyyxyzzyyyzyyyyyxyyyxyzzzzyyzyyyxyyyyyzyyzzzyxzyxxyyzzyyyz{yyxyyyyyyzyyzzy{zyyxyyyzyyzyzy{yzzyyyzyyzzzz{yyzzyyyxyzyyyzyz{zz{zyyzzyyy{zyz{yzyyyzyyyyyzzz{zz{zzzzzy{zzyzyzz|zzyxyzzzyyy{zz{yzzzyzzyzzyzyz{|zzz{yzzzyyyzyzzz{{|zyyz{yy{|zyzzzzzzzzxyxyz{{zzzzzzzzzyzyzyyzzzyyzyyyyyyxxyyzzy{yzyyyxxyyyxxyyzxz{yyyyyyxyyzyzzyyzzyyxyyxzxyzyyzzyxzyyzyyyxzyyyzy{zxyyxxyyxzyy{yy{yxyzyxyyxxyyxyyxyyxyzxwxyzzzzyyyyxyyyxxyxxxyyyyzyyyxzxxyyyzyzyyzyyxxxyxyzyyyxzzzyyxyyyyyxyzyyyyyyxzyzzxyxyyxyyzyzxyyzxxxyyyxyyyzyyyyyyyyyzxzyzzzzzxxyyxyyyzzzyyyzyyyyxxyyyzzyzz{zyyyyxyyyzzyyyzzyzyyyywyxyyzzyzzyxyxyyyyyyzz{zzzyxyyyzyyyzzzyzyzzyyxxzyyyyzzzzz{{yzzyyyyyyzyyyzzzzyyzzyyzzz{yzz{yzzzyzyyyzzzz{yz{{zzyyzzz{zzyzz{z{x{zyzzyzzzzzzz{zyzzzzyy{{z{zzzyzyy{yzyyzzyyyzzz{zzyyyyyzzzzzz{zyyyzyyyxz{yzzzyzzyyyyxzxzz{zyzzyyyyyyyyyx{zzzzyyxyyzyxxyyzzyyyzyyyxxxyxzxyyyzzyzyyxyxyyyyxyyyyzzzyzzyyyyyyyzyyzyzyzxyyyyyyyzxzyzyyzyxyywzzyzzzyyyxxxyxyyxyzxxzyyyyyxxzyxyyzyyyyyxyxxyxyyxyyyzzyyyyzyyyyyxyxyyyzyyyyyxxxxyxyyzzzyxyxyxxyyxyzxyyxyyxxxyyyzzzyxzzzyyxyxyyyzyzzyyzyzyxzxzxzxzyyxyzz{yyyyyxxxyyyzyyyzyyyyyxyzzzzyzzy{yxyyyxyyxyzzz{yzyyyyyyxyyyzyyyzyyyyzyyxzzzyyz{{yzyyyzzyyzzzzzzyzyyyx{zzyyzz{zzz{yzyzyyyyzzyzzzzyzyyxzzyzzzyzzzzyzzzyzzzyyzzzzzzzzzyyxyzzz|xy{zz|zyzyyyzxzzzyyzz{{zzzyzzzzzzz{zz{zzyxyz{yzzyzzzzz{yzyyyyzzy{zy{zzzzyyyyyyzzz{zyz{yyyyyzzzzzzzyyyyyyywyywyyyyxzxyyzyxyyyyyyyyzyy{zzyyxxxyyzxyyyyzyyxyyxyyyyzyyyzyyzzxxxyyxyyzyz{zyzxxxxyywxyzzyyzyyxyyyyyxxyyyyzyyxxxxxyyxzxxyyyzzxyyxxxxyyxyzxzzyyyyxyxxyyyzzzyyxzzzzyyyxzzyyyzyxzyyxyxyyyyzyyzyyyxxxxxyxxyyyyyzzyyyyyxwxyyyzyzzyzzyyyyyzyyzyyzzyyyyzxxyzzyzzyyyzzyzyyxxyzzzyz{zzzyyy{yzyyyyzzzxzzyxyxxzzz{zzzzzyzxyyyzyzzz{zzzyyzzyyzzyyzz{{zzzzyyzxzyyyzzzzzz{{zyyyzy{zyzzzy{zyzyyyzzzyz{{z{{{zyzzyzyzzyzzz{z{{{zyyyzzyy{zz{zzzzzzyyyyzy{zzzzzyzyzzyxzzz{z{{{z{{yyyyyzxzyz{zzy{zyzxyzzzzzzzyz{zzzyyyzyyz{zzzyyzyyxxxzyyzzyyzyyzxyyyyyyxyyzzzzyzyxxyyyxyzyyyyzzzzxyxyyxxyyzzyyyzyxyyyyxyxzyzyzyyyyyzyxyyyyzyyyyyyyzxyyyyyzywyyzzzyyxyxxxyyyyzzyzzyywyyyzyxyyyyzyyyyyyyyyyyyzyyzxxyyyxxxyyzzxyzyyxxyxxxyxxyzyyzzzzxyyyyyxzyyyyyzyyyyyyxzyyzzyyyzzyxxyyyyyyyzzyz{yyzyyyzyyyzyzzzzzyyxyyyxzyzyyzzz{yyxzxyyzzzzzyyzzzyzyyxzxyzzzz{zzyzzyxyxyzzzzyzzyzzxyyyyyzzyzzzzyzyyyzzyyzzyzzzzzyzyyxzyyzzzzyzzzyyyyzyyyzy{z{y{zzxyzyyzzzzzz{{{yzzyyyzzyzz{{{z{{zyyzyyzyx{z{zzzyzyzzzzzy{z{{zz{zzyyzyyyzzzyzzz{zzyzz{zyy{yzz{zzzzzyyzxzyy{zyz{yzzzyyyzyyyzzzzzzzyyzyxyyyzz{zzzyyxxyxxyyxxyxxyyyyyyyyyyyxyxyyyzzzzxxxxyxyxyzyzyzyzyyxyxxxzyzzxxyyyxxxxxxxyzyzyyzzyxyyyyyyyzzyyyyzyyyxxxxyyyyyyyyzywxxxxwyyyyyyzzxyyxyyxxyxyyyyyzxxxxyyxxyxyyxyyzyzxyyyxxyzyyyyyyyyxxxyxyxyyxyyxzyzxywxyyxyzzzzzyzyxxyyyyyzyxyyyzyyzyxxyxyy{yyzyyyzyyxyyyyyyyyyz{zyxxyyyyzyzzyyyzzzzzyyyxyyzzyzzyzzxzxzyxxzzzzyzzyzzy{yyzyyyyzyzzyzxyxyyyyzzzyy{zzyyzxyyyyyzzzzyzyzzyyyxyxzz{yzy{zzxzyyzzyzzzzz{zzzxyyyyzzzyzyzz{zzyzyyyyyy{z{z{{{zyyyyyxyzzyzzzyzzyyzzyyyzyyzzyy{zzyzzyyz{yzzz{zzyyyxyyyyzzz{zzzzyyzzyyyyy{zyzz{zzyzwxzyyzzyzzyxxyxxyxyxyyzyyyzyzyyxxyyyyyzyzyyzyyzyxyyyyyzyyzyzyyxyxyyxyyyzyxxzzzyyxyxyxzzyzyzyzyyyxyyyyyyyxyyyzyxzxyywxzyzxx{yyxyyyyyyxzyyzyyyyxzyxxzxwzyyyyzzyzyyyxxywyyyzyyzzywyxxxyxyyyzyzyzyxxyyyyyyyyyyzyyxyyxyxxyyyyyxzyyyxzyzyxwyyyzxyzzyyyyyxyyyzzzzzyzxyyyxyyy{zzyzzzxxyyyyyyyyzzyzzyzyyxxzxyxyzyyyzzzyyyyyyyyyyyyyz{zzyyyzzyyzyzyz{yz{yzyyzyyyy{zyz{{yxy{zyyyz{yzzzz{zzzyyyyy{zz{z{zz{yzyzzzyzz{zz{z{zyyyzyyyzyyzyzz{z{yzyzyyy{zzy{{{zz{zyyyyzz{zzz{yyzyyzzyyyy{zzzz{zyzyyzzzzzzz{zzzyyyyzyyyy{zzzz{zzyyzxyyyzyz{zy{zzzyxyxyxzyxyyyxywxyxxwxyzyyyyx{yyyxyyyyyzyzyyyzzyyyxyxzyzyyyzzyzyxyyxyxyyzzzyyyzxyyyxxxxyyyyzyxzyyzyxyyxyyyyzyzyyyzyxyxxyyyyyyyyyxxxxxyyzyxzyyyyyyxzxxxyxyyyxzzyyxxyyxxxyyyxyyzzyxxxwxxyyzyyyyzyzxyyxyxxyyyxyyyxyyyxyxyyx{zyxyyzyyzyyxyxyyzxzyzzyyyxxxxxyzyzzzzzxzzyxyyyzzyyyyzzxyxyzyyyyyzxzzzzyxyyyyyyyzyz{zyyzyyxzyyyzyzyzyzyyxzyzxyyyzyyyzzyzxzxzyyyzyzzyzzzxyyzyyyyzzyzzzy{zyyyzxzxyzzyyzzzzyxyxzyzy{zzzzzzzzyzyyxzzzyzz{zyzyyyyzyyzz{z{zzzzzyyzyyy{zzz{zz{zzzyzyyzzzzzzy{zzyzzzyyy{yzz{{yzxyzyyyxxyzzzzyzzzyyyyxxyzyzzxy{zzxyyyyyyzyz{zyzzxyxzyyyxyzzxyyyyyxxwyxxxyzyzzzyzzxxxxyxxyxzzzzzzxyxxyxyzzyxzyzyzyxyxxxyxzxyyzyyyyyxxyyzxxzyy{zyzyyyxyyxxyyzyyzyzxyyxyxxyxyyyyzyzxzzyyyxyyyyyyzzzzxxxyyxyzzzzzyzzyyyyxxxyyyyzyxzzyyyxyxzyyyyyxxyyxyxxyyxyxzyyyyzyyyyzyxyxxxyyzyzzzyyxzyyyxyyzyzz{yyyyyyzxx{yzyyyzyyyyyxyxyzzzzyyyzyyyzxxxy{yz{{y{yyywyyxyyzzzyyzyyyyyyyyyzyyzzzyzyyzzyzyyzyzzzyzzyzyzyyzyzyyzzzyzzyyyzyxyzzzzy{{yyyzzyyzyz{zyyyzzzzzyyzyzzzyz{{{zzzyyyzyzy{{zzzzzzzzzzyzyy{z{zz{zyxzzyyy{yzzzzzzzyyyyyyxy{yyzz{zzzyyyyzyyyzzzyzz{zzyyyxxyxyz{zzzxyyzyzzyzzzyyz{yyyxxxxxxxyyyyzzzzyxyyyxwxxyyyzyzzyyywxxxyyyxzxy{yyxxxyxyxyyyyyyyzyxxyxyywyzyxxyxzzxyyyxyxyyxyyzyxyyxxxxxxxyzyxzyxzxyyxyxyxyyyyxyyyxyyxxxxyyxxyzzyyyyyxxxxyyzzyyzxyxyyxxxyxyyzyyyyyyyxxxxwxxyzzyy{yyxxyxxxyyyyyzxzzxxyyyyyyyyyyzyzyyyxxxxyyzyyyyyzyyxxyxyyyyxzzxyzyxyyxxyyyyyzyzzyyxxyyyxyyzyzyzyyyyyyyxxxzyzzyzyzzxxzyyyxyyzzzyzyyzyyyyyxyzzyz{zyyyyxyyyyyzyzxzz{xxyzyyyyzzzzzyyzyyyyyyzyy{zyzzzzzyxyyzxyyzyz{zyyzyyyzyzyy{zzzzz{yyyzxzzyzzzzzzzzzyyxyzyyyzyzzyz{zyzyyzxyyyyzyzzzzxyyzzyxzzyzyzyyzyyyyxyyz{x{zz{yxyyxxyxyyyzyyzyyxzxxyyxxyyyxyyyzyxxyyxxxyyyyzyzyxyyyxxxyyzzz{{yyyxxyxxxxyyyyyyzyxywyxyxwxyxyyzyyyyxxxxyxxyzyyzxyzxyxxxyyyzzyxyyxyyzxxxyxyxxyyyxyxxwxxxyxyzyxxyyyxxyyyywyyyyxyyz{yxxyyyxxyzxyzyyzxxxywxyyxyzxyyyyzyyxxyyxyyyyyzyyyxyxxyxxyyyyyzzyzzxyyyywyzzzyyzyzxyyyxyyxyyyyzzzxyxxyxyxzyzyzyzyyyyxxxyyyzyzzzyzyyyzyxxxyxz{yz{yyyyzxyxyyzyzz{zzyyxzyyyyzzyyz{zzzyyyyyzyzzzyz{zzyyxyyxyyzzyyzyzzzyyzyzyxzzyyzyzyyyyzzyyzz{z{z{{zzyyzyyyzy{{{zz|zzyyyyyxzzzzzzz{z{yyzyyyyzzzzzzzzzyyxzzzyyzzyzz{zzzyyyyxyxyyyzzzxzxzzyyyxzyzyzzzzyyzxzyyzyyzzzzyzxyyyxxyyxyyyyyyyyxxxyxxyxyzyzyzyzzxxyyxxyyyxyyzzyyxxyxxxzyyzxyzyyyxxxyxxxzyyxyyzyyxxxxyxyy{yzzyyxyyxyxxxzyyxxyzyyxyxyxwxyyxyxyyyxxxxxxxyyyyyyzyyyxyyxxxxxyzyyzzxyyyxyyxxyyyzyyzzxxxyxxyxzzyyyzyyyyyxzyxyyyyyxzyzyxxyyyxx{yzzyyzzyywxyxxxzyzzzzzzyzyxyxyyyyxzyzyzyxyyxxzyzzzyzyzyyyyyyxyyxyyzyzzyyyzyyyzyyzzzzzyzyxxzyyyxyzzzyzzzyyyzyyyyyzzzz{z{yyzyzyyyyzyzz{yzzxyzyxxyyyzyzzzz{xyyzxyyzzzzyz{{yyyzzyzzyzzyzyzz{zyyzyyyy{zzzz{zzyxzyyyyzzzz{{zzyxyzyyyzzzz{zz{zzyzyzzyz{zz{zzx{zzzyyxyyz{yzyyzzzzyyzzyxyyyzzzzzyyzxzyxyyzzyyzzzxxyyyyxxyyyyzz|{zyyxxzxxyyyyzzzzyzxxzyyxyyyyyzzz{xyxxxxxyyyyyyzyyzxxwzyxyyzyyzy{yxyxyxyxyyyzyyzyyyyyxyyxyxzyyzzyxxxyyyyxyyyyzyyyxyxxyyywyyyzzzyzyyyyyxzxxyzyzzzyxyyxxzyyyyyyyzy{xyyzyyyxyzzxyzyyyyyyxyyyxzy{yyyzyxyyxzyxzyzzzyzyzyxxyyyzzzyyzzzzyzyyyxzyyy{zyyzzyyyxxyyyzyyzzyzzzyyzyxyyyzzyzzyyzyzyxyxyzzyzyz{yzyxyyyzz{zzyyzyzyyxzzyzyzzz{yzzzyyyzzyyyz{zzzzz{zzzzyxyyz{yzzz{{zxyyyyzyz{{yz{{zzzyzzzzzzyzz{zy{zzyzyyyyzzz{z{{zzyyzzyzz{zz{z{zzzxyyzzz{yzzzzz{z{yzyzyyzzzyzz{{{yzzyzzzyyz{yz{|zzxyyyzzyzyzz{zzzyzyxyyyzzzzzzzzyyyxxyyyyyyzyzyzyzyyxyxxxyyyyyxzzyyyxyyyxyyyzyzzzzyyyxyxyzzzyyyzyzzzzxyxyyxzyxzzzyzxxxxyyyyyyyzzzyyyyxyyyyyyyyxyyxxyxyyywyzyyyyzzyxyxyxxxyyyzzyzyxzyxyyxyyzzzyyyyyyyxxxyxyyzxyyzzyxxxxxyxyzzzyyzyyxyyyyyyyyxyzzyzyyyyzxyxyzzzzyz{yyyyyyyyyyyyzz{{yyzxzyyyzyyyyzyzyzzzyyxxyyyxy{yzyyzyyxyyyyyzyzyyzzxyyyxyzyy{zzzyyzzyxzyzyyzyzzz{zzxyyyyxzyz{zzzzyyzyyyzzz{z{y{z{yyyzyyyyzzzzzyzyzyyyzyyy{zz{zz{zyyyyy{{zy{zyy{|{zyyzyyy{zzz{{z|{zyzyzzyyzzz{{{{zyzyyyzyyzzzzzzzz{zyzzzyzz{{zzyzzyzzyyyyyyyz{y{{{zyyzyyzxzzyyzyzyyyzyyyyyzyzzyyyyzyxyxxxxzzyyyyyzyxyxxxxxyyyzzzxzywyxxyyxzyyzzzzyzxyzyxxxyyyyyyyzyyyxxyyyyyyyyzzyyyxxxyyxxzyxzzzzyxxxxyxxyyyyyzyyxxyxxxyyxxxyyyyzyxxxxxyyyyxyzyyyxxyyxyyyyyzyyyxyyxyyyyxxyyxyzy{yxxyxyxxwyyyxxzxzyyyxyxyxxzyyzyyzxyyyxyxxyyyyyyzyxyxxzxyyzzyzzzzzyyxyxyzyyzyzzzyzyyyxxyyyyyzxzzyzxyyyyxzxzzyyyzyyyyyyx{xzyzzzzzzzyyzyyyyyzyyyzzyzzyyyxyxyy{zzzzzyyzyyyyyy{zzzzyz{yyyyzyxwxy{yzyzzzyxyzzyy{{zzzy{zzyyyyyzzyzzzyz{yzyyzzzyzz{y{yzz{zyzzyyyxy{zzzz{{zzzzyyyyzzzzzzy{{yyyzyyzyyz{zyzzyzyzxyzyyzzyyzz{zzxyzxyyyyzzyy{yzyzxxxxyyzyy{zyyyyxxxyxyyyzy{zyzyyzzyxxyzyyzyzzzyyyyyzzxyyyyzyzyyxwyxyyxyyzyxzyyyxyxxyxyyyzzyyzzyzyyyzxxzyzyyzzyzyyyxyxxxyzyyzxyyyyyyxyyyxyyyzyzyxyyyxyyyyyyzyyyyyyxxxxyyz{yzzxyyxxyxxxxzzyyzy{zyxyyxxyxxyxyzyyyzyyyyxyyxyzzxzzzyyyyyyyxyxyzyzyzyzyyyyxzyzzyyyzyyyxyyyyxzyxzyyzyyyzyxzyyzzzzzzzyyyxxyxzyyyyzzzyzyzzyzyxxzzzzyzzyzyyzxyyyy{zyyzyz{xyxyyzyzyzzzzzyyzyzzzzyyz{zyzzzzyyzzxyyzzzzz{{{{zzyy{yyzzzz{yzzyyyyyzz{zzy{{zzzzzyyyzyyyzz{{y{z{yyzyyzz{y{zzzzzzyxzyyyzzxz{z{{{zyyzzxyz{yy{{zyzzzzyyyyyyzzyz{z{zyyyyxyzy{z{zyzzyyyxyyyzxyzxz